[jts] 01/01: New upstream version 1.15.0+ds
Bas Couwenberg
sebastic at debian.org
Sun Dec 10 22:55:00 UTC 2017
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch upstream
in repository jts.
commit fc7668c0c168830dd6675f3a484aff9e7a068cf0
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sun Dec 10 21:28:44 2017 +0100
New upstream version 1.15.0+ds
---
.gitignore | 8 +
.travis.yml | 8 +
CONTRIBUTING.md | 40 +
DEVELOPING.md | 88 +
FAQ-LICENSING.md | 62 +
LICENSES.md | 21 +
LICENSE_EDLv1.txt | 30 +
LICENSE_EPLv1.txt | 216 +
MIGRATION.md | 32 +
OSGEO_LICENSE.txt | 11 +
README.md | 59 +
RELEASING.md | 15 +
USING.md | 84 +
bin/test.bat | 48 +-
bin/test_robust.bat | 48 +-
bin/test_stmlf.bat | 25 -
bin/testbuilder.bat | 39 +-
bin/testrunner.bat | 30 +-
bin/testrunner.properties | 6 +-
doc/JTS_Version_History.html | 2425 +-
doc/LICENSE.txt | 504 -
doc/sample_java_header.txt | 12 +
jts_logo.png | Bin 0 -> 9042 bytes
jtsio/src/META-INF/MANIFEST.MF | 4 -
.../jts/io/geojson/GeoJsonConstants.java | 57 -
.../jts/io/geojson/GeoJsonReader.java | 494 -
.../jts/io/geojson/GeoJsonWriter.java | 325 -
.../com/vividsolutions/jts/io/oracle/OraGeom.java | 521 -
.../vividsolutions/jts/io/oracle/OraReader.java | 650 -
.../com/vividsolutions/jts/io/oracle/OraUtil.java | 161 -
.../vividsolutions/jts/io/oracle/OraWriter.java | 715 -
.../com/vividsolutions/jts/io/sde/SdeReader.java | 264 -
locationtech_mark.png | Bin 0 -> 7190 bytes
modules/app/pom.xml | 66 +
.../jtstest/TestCoordinateSequenceFactory.java | 32 +
.../jtstest/clean/CleanDuplicatePoints.java | 111 +
.../function/AffineTransformationFunctions.java | 158 +
.../jtstest/function/BoundaryFunctions.java | 38 +
.../jtstest/function/BufferByUnionFunctions.java | 84 +
.../jtstest/function/BufferFunctions.java | 193 +
.../jtstest/function/ConstructionFunctions.java | 41 +
.../jtstest/function/ConversionFunctions.java | 70 +
.../function/CreateFractalShapeFunctions.java | 36 +
.../function/CreateRandomShapeFunctions.java | 281 +
.../jtstest/function/CreateShapeFunctions.java | 220 +
.../jtstest/function/DissolveFunctions.java | 25 +
.../jtstest/function/DistanceFunctions.java | 66 +
.../jtstest/function/DoubleKeyMap.java | 59 +
.../jtstest/function/FunctionsUtil.java | 98 +
.../jtstest/function/GeometryFunctions.java | 116 +
.../jtstest/function/JTSFunctions.java | 139 +
.../jtstest/function/LineHandlingFunctions.java | 90 +
.../jtstest/function/LineSegmentFunctions.java | 71 +
.../function/LinearReferencingFunctions.java | 50 +
.../jtstest/function/NodingFunctions.java | 152 +
.../jtstest/function/OffsetCurveFunctions.java | 34 +
.../jtstest/function/OrientationFunctions.java | 41 +
.../OverlayCommonBitsRemovedFunctions.java | 26 +
.../OverlayEnhancedPrecisionFunctions.java | 24 +
.../jtstest/function/OverlayFunctions.java | 46 +
.../jtstest/function/OverlayNoSnapFunctions.java | 24 +
.../jtstest/function/PointLocationFunctions.java | 21 +
.../jtstest/function/PolygonOverlayFunctions.java | 54 +
.../jtstest/function/PolygonizeFunctions.java | 83 +
.../jtstest/function/PrecisionFunctions.java | 54 +
.../function/PreparedGeometryFunctions.java | 53 +
.../jtstest/function/SelectionFunctions.java | 166 +
.../jtstest/function/SimplificationFunctions.java | 30 +
.../jtstest/function/SnappingFunctions.java | 36 +
.../jtstest/function/SortingFunctions.java | 82 +
.../jtstest/function/SpatialIndexFunctions.java | 152 +
.../function/SpatialPredicateFunctions.java | 37 +
.../function/TestCaseGeometryFunctions.java | 60 +
.../jtstest/function/TriangleFunctions.java | 91 +
.../jtstest/function/TriangulationFunctions.java | 145 +
.../jtstest/function/ValidationFunctions.java | 66 +
.../jtstest/function/WriterFunctions.java | 73 +
.../jtstest/geomfunction/BaseGeometryFunction.java | 190 +
.../jtstest/geomfunction/GeometryFunction.java | 100 +
.../geomfunction/GeometryFunctionInvocation.java | 62 +
.../geomfunction/GeometryFunctionRegistry.java | 323 +
.../jtstest/geomfunction/GeometryFunctionUtil.java | 26 +
.../jtstest/geomfunction/Metadata.java | 22 +
.../jtstest/geomfunction/MetadataUtil.java | 40 +
.../geomfunction/RepeaterGeometryFunction.java | 105 +
.../geomfunction/StaticMethodGeometryFunction.java | 205 +
.../org/locationtech/jtstest/test/TestCase.java | 360 +
.../locationtech/jtstest/test/TestCaseList.java | 76 +
.../org/locationtech/jtstest/test/Testable.java | 50 +
.../jtstest/testbuilder/AppConstants.java | 74 +
.../jtstest/testbuilder/AppCursors.java | 37 +
.../jtstest/testbuilder/AppStrings.java | 70 +
.../jtstest/testbuilder/BusyDialog.java | 166 +
.../testbuilder/GeometryEditControlPanel.java | 313 +
.../jtstest/testbuilder/GeometryEditPanel.java | 681 +
.../testbuilder/GeometryFunctionListPanel.java | 145 +
.../testbuilder/GeometryFunctionTreePanel.java | 194 +
.../jtstest/testbuilder/GeometryInputDialog.java | 242 +
.../testbuilder/GeometryInspectorDialog.java | 61 +
.../jtstest/testbuilder/GeometryPopupMenu.java | 76 +
.../jtstest/testbuilder/GeometryTreeModel.java | 541 +
.../jtstest/testbuilder/GeometryTreePanel.java | 162 +
.../jtstest/testbuilder/IconLoader.java | 25 +
.../jtstest/testbuilder/InfoPanel.java | 97 +
.../jtstest/testbuilder/InspectorPanel.java | 167 +
.../jtstest/testbuilder/JTSTestBuilder.java | 180 +
.../jtstest/testbuilder/JTSTestBuilderFrame.java | 873 +
.../jtstest/testbuilder/JTSTestBuilderMenuBar.java | 326 +
.../jtstest/testbuilder/JTSTestBuilderToolBar.java | 540 +
.../testbuilder/JTSTestBuilder_AboutBox.java | 133 +
.../jtstest/testbuilder/LayerCheckBoxList.java | 74 +
.../jtstest/testbuilder/LayerControlList.java | 200 +
.../jtstest/testbuilder/LayerListPanel.java | 92 +
.../jtstest/testbuilder/LoadTestCasesDialog.java | 190 +
.../jtstest/testbuilder/PrecisionModelDialog.java | 77 +
.../jtstest/testbuilder/PrecisionModelPanel.java | 155 +
.../jtstest/testbuilder/RelatePanel.java | 564 +
.../jtstest/testbuilder/ResultValuePanel.java | 111 +
.../jtstest/testbuilder/ResultWKTPanel.java | 214 +
.../jtstest/testbuilder/ScalarFunctionPanel.java | 252 +
.../jtstest/testbuilder/SpatialFunctionPanel.java | 467 +
.../jtstest/testbuilder/StatsPanel.java | 96 +
.../jtstest/testbuilder/TestBuilderPanel.java | 40 +
.../jtstest/testbuilder/TestCasePanel.java | 316 +
.../jtstest/testbuilder/TestCaseTextDialog.java | 294 +
.../jtstest/testbuilder/TestListPanel.java | 160 +
.../jtstest/testbuilder/ValidPanel.java | 272 +
.../locationtech/jtstest/testbuilder/WKTPanel.java | 499 +
.../controller/JTSTestBuilderController.java | 176 +
.../testbuilder/controller/ResultController.java | 213 +
.../testbuilder/event/GeometryFunctionEvent.java | 28 +
.../event/GeometryFunctionListener.java | 22 +
.../event/SpatialFunctionPanelEvent.java | 42 +
.../event/SpatialFunctionPanelListener.java | 27 +
.../jtstest/testbuilder/event/ValidPanelEvent.java | 30 +
.../testbuilder/event/ValidPanelListener.java | 27 +
.../testbuilder/geom/AdjacentVertexFinder.java | 86 +
.../jtstest/testbuilder/geom/ComponentLocater.java | 85 +
.../jtstest/testbuilder/geom/EnvelopeUtil.java | 33 +
.../jtstest/testbuilder/geom/FacetLocater.java | 155 +
.../testbuilder/geom/GeometryBoxDeleter.java | 160 +
.../jtstest/testbuilder/geom/GeometryCombiner.java | 120 +
.../jtstest/testbuilder/geom/GeometryLocation.java | 169 +
.../testbuilder/geom/GeometryPointLocater.java | 183 +
.../jtstest/testbuilder/geom/GeometryUtil.java | 41 +
.../testbuilder/geom/GeometryVertexDeleter.java | 79 +
.../testbuilder/geom/GeometryVertexInserter.java | 60 +
.../testbuilder/geom/GeometryVertexMover.java | 56 +
.../testbuilder/geom/NearestPointFinder.java | 73 +
.../jtstest/testbuilder/geom/VertexLocater.java | 143 +
.../io/shapefile/EndianDataInputStream.java | 134 +
.../io/shapefile/InvalidShapefileException.java | 31 +
.../testbuilder/io/shapefile/MultiLineHandler.java | 296 +
.../io/shapefile/MultiPointHandler.java | 203 +
.../testbuilder/io/shapefile/PointHandler.java | 106 +
.../testbuilder/io/shapefile/PolygonHandler.java | 421 +
.../testbuilder/io/shapefile/ShapeHandler.java | 31 +
.../shapefile/ShapeTypeNotSupportedException.java | 24 +
.../testbuilder/io/shapefile/Shapefile.java | 334 +
.../io/shapefile/ShapefileException.java | 38 +
.../testbuilder/io/shapefile/ShapefileHeader.java | 121 +
.../testbuilder/model/DisplayParameters.java | 100 +
.../jtstest/testbuilder/model/DrawingGrid.java | 88 +
.../testbuilder/model/GeometryContainer.java | 19 +
.../testbuilder/model/GeometryDepiction.java | 74 +
.../testbuilder/model/GeometryEditModel.java | 318 +
.../jtstest/testbuilder/model/GeometryEvent.java | 29 +
.../testbuilder/model/GeometryListener.java | 24 +
.../testbuilder/model/GeometryStretcherView.java | 146 +
.../testbuilder/model/GeometryTransferable.java | 76 +
.../jtstest/testbuilder/model/GeometryType.java | 26 +
.../jtstest/testbuilder/model/HtmlWriter.java | 544 +
.../model/IndexedGeometryContainer.java | 35 +
.../jtstest/testbuilder/model/JavaTestWriter.java | 81 +
.../jtstest/testbuilder/model/Layer.java | 133 +
.../jtstest/testbuilder/model/LayerList.java | 108 +
.../jtstest/testbuilder/model/PNGWriter.java | 100 +
.../testbuilder/model/ResultGeometryContainer.java | 32 +
.../jtstest/testbuilder/model/SVGTestWriter.java | 80 +
.../testbuilder/model/StaticGeometryContainer.java | 30 +
.../testbuilder/model/TestBuilderModel.java | 552 +
.../jtstest/testbuilder/model/TestCaseEdit.java | 156 +
.../jtstest/testbuilder/model/TestModel.java | 23 +
.../model/TestRunnerTestCaseAdapter.java | 286 +
.../jtstest/testbuilder/model/TestWriter.java | 23 +
.../jtstest/testbuilder/model/XMLTestWriter.java | 209 +
.../topostretch/GeometryVerticesMover.java | 84 +
.../testbuilder/topostretch/StretchedVertex.java | 340 +
.../topostretch/StretchedVertexFinder.java | 181 +
.../testbuilder/topostretch/TopologyStretcher.java | 152 +
.../jtstest/testbuilder/ui/ClipImage.java | 51 +
.../jtstest/testbuilder/ui/ColorUtil.java | 63 +
.../testbuilder/ui/GeometryLocationsWriter.java | 243 +
.../jtstest/testbuilder/ui/GraphicsUtil.java | 24 +
.../jtstest/testbuilder/ui/ImageUtil.java | 60 +
.../jtstest/testbuilder/ui/SwingUtil.java | 240 +
.../jtstest/testbuilder/ui/SwingWorker.java | 144 +
.../jtstest/testbuilder/ui/Viewport.java | 391 +
.../jtstest/testbuilder/ui/dnd/FileDrop.java | 605 +
.../testbuilder/ui/render/GeometryPainter.java | 200 +
.../testbuilder/ui/render/GridRenderer.java | 436 +
.../testbuilder/ui/render/LayerRenderer.java | 156 +
.../ui/render/OperationMonitorManager.java | 68 +
.../testbuilder/ui/render/RenderManager.java | 156 +
.../jtstest/testbuilder/ui/render/Renderer.java | 42 +
.../jtstest/testbuilder/ui/style/AWTUtil.java | 37 +
.../testbuilder/ui/style/ArrowEndpointStyle.java | 89 +
.../testbuilder/ui/style/ArrowLineStyle.java | 121 +
.../jtstest/testbuilder/ui/style/BasicStyle.java | 50 +
.../testbuilder/ui/style/CircleEndpointStyle.java | 67 +
.../testbuilder/ui/style/ComponentStyle.java | 46 +
.../testbuilder/ui/style/DataLabelStyle.java | 58 +
.../jtstest/testbuilder/ui/style/LayerStyle.java | 42 +
.../ui/style/LineStringEndpointStyle.java | 53 +
.../testbuilder/ui/style/LineStringStyle.java | 84 +
.../testbuilder/ui/style/MidArrowLineStyle.java | 56 +
.../ui/style/PolygonStructureStyle.java | 69 +
.../testbuilder/ui/style/SegmentIndexStyle.java | 90 +
.../jtstest/testbuilder/ui/style/SegmentStyle.java | 57 +
.../jtstest/testbuilder/ui/style/Style.java | 24 +
.../jtstest/testbuilder/ui/style/StyleList.java | 120 +
.../jtstest/testbuilder/ui/style/VertexStyle.java | 62 +
.../testbuilder/ui/tools/AbstractDrawTool.java | 54 +
.../ui/tools/AbstractStreamDrawTool.java | 77 +
.../jtstest/testbuilder/ui/tools/BasicTool.java | 187 +
.../jtstest/testbuilder/ui/tools/BoxBandTool.java | 182 +
.../testbuilder/ui/tools/DeleteVertexTool.java | 45 +
.../testbuilder/ui/tools/EditVertexTool.java | 136 +
.../testbuilder/ui/tools/ExtractComponentTool.java | 39 +
.../testbuilder/ui/tools/IndicatorTool.java | 173 +
.../jtstest/testbuilder/ui/tools/InfoTool.java | 40 +
.../jtstest/testbuilder/ui/tools/LineBandTool.java | 233 +
.../testbuilder/ui/tools/LineStringTool.java | 38 +
.../jtstest/testbuilder/ui/tools/PanTool.java | 66 +
.../jtstest/testbuilder/ui/tools/PointTool.java | 40 +
.../jtstest/testbuilder/ui/tools/PolygonTool.java | 38 +
.../testbuilder/ui/tools/RectangleTool.java | 43 +
.../testbuilder/ui/tools/StreamPolygonTool.java | 39 +
.../jtstest/testbuilder/ui/tools/Tool.java | 34 +
.../jtstest/testbuilder/ui/tools/ZoomTool.java | 118 +
.../org/locationtech/jtstest/util/ClassUtil.java | 109 +
.../jtstest/util/ExceptionFormatter.java | 22 +
.../org/locationtech/jtstest/util/FileUtil.java | 133 +
.../jtstest/util/GeometryDataUtil.java | 26 +
.../jtstest/util/GeometryTextCleaner.java | 51 +
.../org/locationtech/jtstest/util/HSBPalette.java | 79 +
.../jtstest/util/io/GeoJsonMultiReader.java | 77 +
.../org/locationtech/jtstest/util/io/IOUtil.java | 161 +
.../jtstest/util/io/MultiFormatReader.java | 142 +
.../locationtech/jtstest/util/io/SVGWriter.java | 610 +
.../jtstest/testbuilder/BinaryGeomFunction.png | Bin 0 -> 916 bytes
.../testbuilder/BinaryGeomFunctionWithParam.png | Bin 0 -> 173 bytes
.../locationtech/jtstest/testbuilder/Circle.gif | Bin 0 -> 996 bytes
.../org/locationtech/jtstest/testbuilder/Copy.png | Bin 0 -> 858 bytes
.../locationtech/jtstest/testbuilder/CopyCase.png | Bin 0 -> 852 bytes
.../jtstest/testbuilder/CopyToTest.png | Bin 0 -> 184 bytes
.../org/locationtech/jtstest/testbuilder/Cut.gif | Bin 0 -> 868 bytes
.../locationtech/jtstest/testbuilder/Delete.png | Bin 0 -> 360 bytes
.../jtstest/testbuilder/DeleteVertex.png | Bin 0 -> 199 bytes
.../jtstest/testbuilder/Delete_small.png | Bin 0 -> 170 bytes
.../org/locationtech/jtstest/testbuilder/Down.png | Bin 0 -> 961 bytes
.../org/locationtech/jtstest/testbuilder/Draw.gif | Bin 0 -> 953 bytes
.../jtstest/testbuilder/DrawCursor.png | Bin 0 -> 988 bytes
.../jtstest/testbuilder/DrawLineString.png | Bin 0 -> 916 bytes
.../jtstest/testbuilder/DrawLineStringB.png | Bin 0 -> 170 bytes
.../jtstest/testbuilder/DrawLinearRing.png | Bin 0 -> 211 bytes
.../jtstest/testbuilder/DrawLinearRingB.png | Bin 0 -> 254 bytes
.../locationtech/jtstest/testbuilder/DrawPoint.gif | Bin 0 -> 907 bytes
.../locationtech/jtstest/testbuilder/DrawPoint.png | Bin 0 -> 909 bytes
.../jtstest/testbuilder/DrawPointB.png | Bin 0 -> 163 bytes
.../jtstest/testbuilder/DrawPolygon.png | Bin 0 -> 956 bytes
.../jtstest/testbuilder/DrawPolygonB.png | Bin 0 -> 213 bytes
.../jtstest/testbuilder/DrawRectangle.png | Bin 0 -> 917 bytes
.../jtstest/testbuilder/DrawRectangleB.png | Bin 0 -> 174 bytes
.../jtstest/testbuilder/ExchangeGeoms.png | Bin 0 -> 961 bytes
.../jtstest/testbuilder/ExecuteProject.gif | Bin 0 -> 249 bytes
.../jtstest/testbuilder/ExtractComponent.png | Bin 0 -> 960 bytes
.../locationtech/jtstest/testbuilder/FingerUp.gif | Bin 0 -> 745 bytes
.../org/locationtech/jtstest/testbuilder/Hand.gif | Bin 0 -> 923 bytes
.../org/locationtech/jtstest/testbuilder/Home.gif | Bin 0 -> 1003 bytes
.../locationtech/jtstest/testbuilder/Hourglass.gif | Bin 0 -> 987 bytes
.../jtstest/testbuilder/Icon_GeomCollection.png | Bin 0 -> 250 bytes
.../jtstest/testbuilder/Icon_GeomCollection_B.png | Bin 0 -> 272 bytes
.../jtstest/testbuilder/Icon_LineString.png | Bin 0 -> 226 bytes
.../jtstest/testbuilder/Icon_LineString_B.png | Bin 0 -> 233 bytes
.../jtstest/testbuilder/Icon_LinearRing.png | Bin 0 -> 182 bytes
.../jtstest/testbuilder/Icon_LinearRing_B.png | Bin 0 -> 191 bytes
.../jtstest/testbuilder/Icon_Point.png | Bin 0 -> 180 bytes
.../jtstest/testbuilder/Icon_Point_B.png | Bin 0 -> 181 bytes
.../jtstest/testbuilder/Icon_Polygon.png | Bin 0 -> 187 bytes
.../jtstest/testbuilder/Icon_Polygon_B.png | Bin 0 -> 193 bytes
.../org/locationtech/jtstest/testbuilder/Info.png | Bin 0 -> 222 bytes
.../jtstest/testbuilder/InspectGeometry.png | Bin 0 -> 965 bytes
.../org/locationtech/jtstest/testbuilder/Left.png | Bin 0 -> 972 bytes
.../jtstest/testbuilder/LoadWKTToTest.png | Bin 0 -> 953 bytes
.../jtstest/testbuilder/MagnifyCursor.gif | Bin 0 -> 927 bytes
.../jtstest/testbuilder/MagnifyMinus.gif | Bin 0 -> 994 bytes
.../jtstest/testbuilder/MagnifyPlus.gif | Bin 0 -> 990 bytes
.../jtstest/testbuilder/MoveVertex.png | Bin 0 -> 967 bytes
.../jtstest/testbuilder/MoveVertexCursor.gif | Bin 0 -> 923 bytes
.../org/locationtech/jtstest/testbuilder/Paste.png | Bin 0 -> 852 bytes
.../org/locationtech/jtstest/testbuilder/Plus.png | Bin 0 -> 899 bytes
.../org/locationtech/jtstest/testbuilder/Right.png | Bin 0 -> 965 bytes
.../locationtech/jtstest/testbuilder/Select.gif | Bin 0 -> 925 bytes
.../jtstest/testbuilder/UnaryGeomFunction.png | Bin 0 -> 905 bytes
.../org/locationtech/jtstest/testbuilder/Up.png | Bin 0 -> 958 bytes
.../jtstest/testbuilder/YellowCircle.gif | Bin 0 -> 987 bytes
.../locationtech/jtstest/testbuilder/ZoomAll.png | Bin 0 -> 939 bytes
.../locationtech/jtstest/testbuilder/ZoomInput.png | Bin 0 -> 923 bytes
.../jtstest/testbuilder/ZoomInputA.png | Bin 0 -> 910 bytes
.../jtstest/testbuilder/ZoomInputB.png | Bin 0 -> 910 bytes
.../jtstest/testbuilder/ZoomOneToOne.png | Bin 0 -> 938 bytes
.../jtstest/testbuilder/ZoomResult.png | Bin 0 -> 154 bytes
.../locationtech/jtstest/testbuilder/app-icon.gif | Bin 0 -> 949 bytes
.../jtstest/testbuilder/booleanGeomFunction.png | Bin 0 -> 930 bytes
.../org/locationtech/jtstest/testbuilder/clear.gif | Bin 0 -> 832 bytes
.../jtstest/testbuilder/crossShaded.gif | Bin 0 -> 878 bytes
.../locationtech/jtstest/testbuilder/logo64.png | Bin 0 -> 347 bytes
.../jtstest/testbuilder/numGeomFunction.png | Bin 0 -> 185 bytes
.../jtstest/testbuilder/tickShaded.gif | Bin 0 -> 876 bytes
.../org/locationtech/jtstest/TestBuilderTest.java | 48 +
.../jtstest/TestFileGeometryExtractor.java | 68 +
.../org/locationtech/jtstest/TestReaderTest.java | 284 +
modules/core/pom.xml | 54 +
.../main/java/org/locationtech/jts/JTSVersion.java | 98 +
.../java/org/locationtech/jts/algorithm/Angle.java | 289 +
.../java/org/locationtech/jts/algorithm/Area.java | 115 +
.../jts/algorithm/BoundaryNodeRule.java | 195 +
.../locationtech/jts/algorithm/CGAlgorithms.java | 575 +
.../locationtech/jts/algorithm/CGAlgorithms3D.java | 163 +
.../locationtech/jts/algorithm/CGAlgorithmsDD.java | 206 +
.../org/locationtech/jts/algorithm/Centroid.java | 256 +
.../org/locationtech/jts/algorithm/ConvexHull.java | 509 +
.../org/locationtech/jts/algorithm/Distance.java | 222 +
.../locationtech/jts/algorithm/HCoordinate.java | 167 +
.../jts/algorithm/InteriorPointArea.java | 246 +
.../jts/algorithm/InteriorPointLine.java | 109 +
.../jts/algorithm/InteriorPointPoint.java | 70 +
.../org/locationtech/jts/algorithm/Length.java | 60 +
.../jts/algorithm/LineIntersector.java | 418 +
.../jts/algorithm/MinimumBoundingCircle.java | 346 +
.../jts/algorithm/MinimumDiameter.java | 343 +
.../jts/algorithm/NotRepresentableException.java | 30 +
.../locationtech/jts/algorithm/Orientation.java | 189 +
.../locationtech/jts/algorithm/PointLocation.java | 117 +
.../locationtech/jts/algorithm/PointLocator.java | 206 +
.../jts/algorithm/RayCrossingCounter.java | 221 +
.../jts/algorithm/RectangleLineIntersector.java | 145 +
.../jts/algorithm/RobustDeterminant.java | 402 +
.../jts/algorithm/RobustLineIntersector.java | 459 +
.../distance/DiscreteHausdorffDistance.java | 209 +
.../jts/algorithm/distance/DistanceToPoint.java | 76 +
.../jts/algorithm/distance/PointPairDistance.java | 99 +
.../jts/algorithm/distance/package.html | 13 +
.../locate/IndexedPointInAreaLocator.java | 152 +
.../algorithm/locate/PointOnGeometryLocator.java | 33 +
.../algorithm/locate/SimplePointInAreaLocator.java | 143 +
.../locationtech/jts/algorithm/locate/package.html | 13 +
.../jts/algorithm/match/AreaSimilarityMeasure.java | 51 +
.../match/HausdorffSimilarityMeasure.java | 75 +
.../jts/algorithm/match/SimilarityMeasure.java | 34 +
.../algorithm/match/SimilarityMeasureCombiner.java | 28 +
.../locationtech/jts/algorithm/match/package.html | 13 +
.../org/locationtech/jts/algorithm/package.html | 50 +
.../org/locationtech/jts/awt/FontGlyphReader.java | 124 +
.../jts/awt/GeometryCollectionShape.java | 109 +
.../jts/awt/IdentityPointTransformation.java | 31 +
.../locationtech/jts/awt/PointShapeFactory.java | 376 +
.../locationtech/jts/awt/PointTransformation.java | 35 +
.../org/locationtech/jts/awt/PolygonShape.java | 143 +
.../jts/awt/ShapeCollectionPathIterator.java | 100 +
.../java/org/locationtech/jts/awt/ShapeReader.java | 177 +
.../java/org/locationtech/jts/awt/ShapeWriter.java | 310 +
.../java/org/locationtech/jts/awt/package.html | 13 +
.../org/locationtech/jts/densify/Densifier.java | 172 +
.../java/org/locationtech/jts/densify/package.html | 13 +
.../jts/dissolve/DissolveEdgeGraph.java | 34 +
.../jts/dissolve/DissolveHalfEdge.java | 52 +
.../locationtech/jts/dissolve/LineDissolver.java | 300 +
.../org/locationtech/jts/edgegraph/EdgeGraph.java | 157 +
.../jts/edgegraph/EdgeGraphBuilder.java | 90 +
.../org/locationtech/jts/edgegraph/HalfEdge.java | 363 +
.../locationtech/jts/edgegraph/MarkHalfEdge.java | 122 +
.../java/org/locationtech/jts/geom/Coordinate.java | 428 +
.../locationtech/jts/geom/CoordinateArrays.java | 472 +
.../locationtech/jts/geom/CoordinateFilter.java | 45 +
.../org/locationtech/jts/geom/CoordinateList.java | 229 +
.../locationtech/jts/geom/CoordinateSequence.java | 177 +
.../jts/geom/CoordinateSequenceComparator.java | 142 +
.../jts/geom/CoordinateSequenceFactory.java | 58 +
.../jts/geom/CoordinateSequenceFilter.java | 82 +
.../locationtech/jts/geom/CoordinateSequences.java | 223 +
.../jts/geom/DefaultCoordinateSequence.java | 206 +
.../jts/geom/DefaultCoordinateSequenceFactory.java | 72 +
.../java/org/locationtech/jts/geom/Dimension.java | 143 +
.../java/org/locationtech/jts/geom/Envelope.java | 781 +
.../java/org/locationtech/jts/geom/Geometry.java | 1907 +
.../locationtech/jts/geom/GeometryCollection.java | 297 +
.../jts/geom/GeometryCollectionIterator.java | 139 +
.../jts/geom/GeometryComponentFilter.java | 47 +
.../org/locationtech/jts/geom/GeometryFactory.java | 628 +
.../org/locationtech/jts/geom/GeometryFilter.java | 37 +
.../locationtech/jts/geom/IntersectionMatrix.java | 577 +
.../org/locationtech/jts/geom/LineSegment.java | 655 +
.../java/org/locationtech/jts/geom/LineString.java | 336 +
.../java/org/locationtech/jts/geom/Lineal.java | 24 +
.../java/org/locationtech/jts/geom/LinearRing.java | 142 +
.../java/org/locationtech/jts/geom/Location.java | 71 +
.../org/locationtech/jts/geom/MultiLineString.java | 135 +
.../java/org/locationtech/jts/geom/MultiPoint.java | 114 +
.../org/locationtech/jts/geom/MultiPolygon.java | 146 +
.../locationtech/jts/geom/OctagonalEnvelope.java | 362 +
.../main/java/org/locationtech/jts/geom/Point.java | 228 +
.../java/org/locationtech/jts/geom/Polygon.java | 446 +
.../java/org/locationtech/jts/geom/Polygonal.java | 26 +
.../org/locationtech/jts/geom/PrecisionModel.java | 469 +
.../java/org/locationtech/jts/geom/Puntal.java | 24 +
.../locationtech/jts/geom/TopologyException.java | 47 +
.../java/org/locationtech/jts/geom/Triangle.java | 559 +
.../jts/geom/impl/CoordinateArraySequence.java | 273 +
.../geom/impl/CoordinateArraySequenceFactory.java | 81 +
.../jts/geom/impl/PackedCoordinateSequence.java | 492 +
.../geom/impl/PackedCoordinateSequenceFactory.java | 154 +
.../org/locationtech/jts/geom/impl/package.html | 13 +
.../java/org/locationtech/jts/geom/package.html | 25 +
.../geom/prep/AbstractPreparedPolygonContains.java | 226 +
.../jts/geom/prep/BasicPreparedGeometry.java | 203 +
.../jts/geom/prep/PreparedGeometry.java | 172 +
.../jts/geom/prep/PreparedGeometryFactory.java | 67 +
.../jts/geom/prep/PreparedLineString.java | 60 +
.../geom/prep/PreparedLineStringIntersects.java | 125 +
.../locationtech/jts/geom/prep/PreparedPoint.java | 48 +
.../jts/geom/prep/PreparedPolygon.java | 123 +
.../jts/geom/prep/PreparedPolygonContains.java | 80 +
.../geom/prep/PreparedPolygonContainsProperly.java | 105 +
.../jts/geom/prep/PreparedPolygonCovers.java | 80 +
.../jts/geom/prep/PreparedPolygonIntersects.java | 106 +
.../jts/geom/prep/PreparedPolygonPredicate.java | 149 +
.../org/locationtech/jts/geom/prep/package.html | 13 +
.../jts/geom/util/AffineTransformation.java | 1097 +
.../jts/geom/util/AffineTransformationBuilder.java | 143 +
.../jts/geom/util/AffineTransformationFactory.java | 178 +
.../geom/util/ComponentCoordinateExtracter.java | 68 +
.../jts/geom/util/GeometryCollectionMapper.java | 56 +
.../jts/geom/util/GeometryCombiner.java | 175 +
.../locationtech/jts/geom/util/GeometryEditor.java | 357 +
.../jts/geom/util/GeometryExtracter.java | 88 +
.../locationtech/jts/geom/util/GeometryMapper.java | 83 +
.../jts/geom/util/GeometryTransformer.java | 297 +
.../jts/geom/util/LineStringExtracter.java | 93 +
.../jts/geom/util/LinearComponentExtracter.java | 209 +
.../util/NoninvertibleTransformationException.java | 32 +
.../locationtech/jts/geom/util/PointExtracter.java | 81 +
.../jts/geom/util/PolygonExtracter.java | 77 +
.../geom/util/ShortCircuitedGeometryVisitor.java | 49 +
.../jts/geom/util/SineStarFactory.java | 130 +
.../org/locationtech/jts/geom/util/package.html | 13 +
.../java/org/locationtech/jts/geomgraph/Depth.java | 137 +
.../locationtech/jts/geomgraph/DirectedEdge.java | 219 +
.../jts/geomgraph/DirectedEdgeStar.java | 389 +
.../java/org/locationtech/jts/geomgraph/Edge.java | 270 +
.../org/locationtech/jts/geomgraph/EdgeEnd.java | 129 +
.../locationtech/jts/geomgraph/EdgeEndStar.java | 338 +
.../jts/geomgraph/EdgeIntersection.java | 87 +
.../jts/geomgraph/EdgeIntersectionList.java | 151 +
.../org/locationtech/jts/geomgraph/EdgeList.java | 114 +
.../jts/geomgraph/EdgeNodingValidator.java | 81 +
.../org/locationtech/jts/geomgraph/EdgeRing.java | 231 +
.../locationtech/jts/geomgraph/GeometryGraph.java | 475 +
.../locationtech/jts/geomgraph/GraphComponent.java | 84 +
.../java/org/locationtech/jts/geomgraph/Label.java | 201 +
.../java/org/locationtech/jts/geomgraph/Node.java | 154 +
.../locationtech/jts/geomgraph/NodeFactory.java | 29 +
.../org/locationtech/jts/geomgraph/NodeMap.java | 120 +
.../locationtech/jts/geomgraph/PlanarGraph.java | 238 +
.../org/locationtech/jts/geomgraph/Position.java | 40 +
.../org/locationtech/jts/geomgraph/Quadrant.java | 139 +
.../jts/geomgraph/TopologyLocation.java | 185 +
.../jts/geomgraph/index/EdgeSetIntersector.java | 57 +
.../jts/geomgraph/index/MonotoneChain.java | 34 +
.../jts/geomgraph/index/MonotoneChainEdge.java | 142 +
.../jts/geomgraph/index/MonotoneChainIndexer.java | 99 +
.../jts/geomgraph/index/SegmentIntersector.java | 206 +
.../geomgraph/index/SimpleEdgeSetIntersector.java | 82 +
.../index/SimpleMCSweepLineIntersector.java | 151 +
.../index/SimpleSweepLineIntersector.java | 144 +
.../jts/geomgraph/index/SweepLineEvent.java | 91 +
.../jts/geomgraph/index/SweepLineSegment.java | 53 +
.../locationtech/jts/geomgraph/index/package.html | 13 +
.../org/locationtech/jts/geomgraph/package.html | 25 +
.../locationtech/jts/index/ArrayListVisitor.java | 35 +
.../org/locationtech/jts/index/ItemVisitor.java | 24 +
.../org/locationtech/jts/index/SpatialIndex.java | 67 +
.../locationtech/jts/index/bintree/Bintree.java | 190 +
.../locationtech/jts/index/bintree/Interval.java | 84 +
.../org/locationtech/jts/index/bintree/Key.java | 75 +
.../org/locationtech/jts/index/bintree/Node.java | 152 +
.../locationtech/jts/index/bintree/NodeBase.java | 173 +
.../org/locationtech/jts/index/bintree/Root.java | 100 +
.../locationtech/jts/index/bintree/package.html | 13 +
.../jts/index/chain/MonotoneChain.java | 242 +
.../jts/index/chain/MonotoneChainBuilder.java | 120 +
.../index/chain/MonotoneChainOverlapAction.java | 51 +
.../jts/index/chain/MonotoneChainSelectAction.java | 55 +
.../org/locationtech/jts/index/chain/package.html | 13 +
.../intervalrtree/IntervalRTreeBranchNode.java | 46 +
.../index/intervalrtree/IntervalRTreeLeafNode.java | 37 +
.../jts/index/intervalrtree/IntervalRTreeNode.java | 58 +
.../intervalrtree/SortedPackedIntervalRTree.java | 141 +
.../jts/index/intervalrtree/package.html | 13 +
.../org/locationtech/jts/index/kdtree/KdNode.java | 144 +
.../jts/index/kdtree/KdNodeVisitor.java | 29 +
.../org/locationtech/jts/index/kdtree/KdTree.java | 349 +
.../org/locationtech/jts/index/kdtree/package.html | 13 +
.../java/org/locationtech/jts/index/package.html | 13 +
.../jts/index/quadtree/DoubleBits.java | 153 +
.../jts/index/quadtree/IntervalSize.java | 52 +
.../org/locationtech/jts/index/quadtree/Key.java | 81 +
.../org/locationtech/jts/index/quadtree/Node.java | 179 +
.../locationtech/jts/index/quadtree/NodeBase.java | 236 +
.../locationtech/jts/index/quadtree/Quadtree.java | 242 +
.../org/locationtech/jts/index/quadtree/Root.java | 99 +
.../locationtech/jts/index/quadtree/package.html | 13 +
.../jts/index/strtree/AbstractNode.java | 125 +
.../jts/index/strtree/AbstractSTRtree.java | 450 +
.../locationtech/jts/index/strtree/Boundable.java | 30 +
.../jts/index/strtree/BoundablePair.java | 211 +
.../strtree/BoundablePairDistanceComparator.java | 65 +
.../jts/index/strtree/GeometryItemDistance.java | 43 +
.../locationtech/jts/index/strtree/Interval.java | 57 +
.../jts/index/strtree/ItemBoundable.java | 37 +
.../jts/index/strtree/ItemDistance.java | 37 +
.../locationtech/jts/index/strtree/SIRtree.java | 109 +
.../locationtech/jts/index/strtree/STRtree.java | 500 +
.../locationtech/jts/index/strtree/package.html | 8 +
.../jts/index/sweepline/SweepLineEvent.java | 66 +
.../jts/index/sweepline/SweepLineIndex.java | 95 +
.../jts/index/sweepline/SweepLineInterval.java | 40 +
.../index/sweepline/SweepLineOverlapAction.java | 25 +
.../locationtech/jts/index/sweepline/package.html | 13 +
.../org/locationtech/jts/io/ByteArrayInStream.java | 70 +
.../locationtech/jts/io/ByteOrderDataInStream.java | 87 +
.../org/locationtech/jts/io/ByteOrderValues.java | 118 +
.../java/org/locationtech/jts/io/InStream.java | 33 +
.../locationtech/jts/io/InputStreamInStream.java | 34 +
.../java/org/locationtech/jts/io/OutStream.java | 24 +
.../locationtech/jts/io/OutputStreamOutStream.java | 33 +
.../org/locationtech/jts/io/ParseException.java | 54 +
.../java/org/locationtech/jts/io/WKBConstants.java | 28 +
.../org/locationtech/jts/io/WKBHexFileReader.java | 171 +
.../java/org/locationtech/jts/io/WKBReader.java | 387 +
.../java/org/locationtech/jts/io/WKBWriter.java | 427 +
.../org/locationtech/jts/io/WKTFileReader.java | 168 +
.../java/org/locationtech/jts/io/WKTReader.java | 755 +
.../java/org/locationtech/jts/io/WKTWriter.java | 770 +
.../org/locationtech/jts/io/gml2/GMLConstants.java | 53 +
.../org/locationtech/jts/io/gml2/GMLHandler.java | 274 +
.../org/locationtech/jts/io/gml2/GMLReader.java | 120 +
.../org/locationtech/jts/io/gml2/GMLWriter.java | 477 +
.../jts/io/gml2/GeometryStrategies.java | 527 +
.../java/org/locationtech/jts/io/gml2/package.html | 6 +
.../org/locationtech/jts/io/kml/KMLWriter.java | 399 +
.../main/java/org/locationtech/jts/io/package.html | 25 +
.../jts/linearref/ExtractLineByLocation.java | 191 +
.../jts/linearref/LengthIndexOfPoint.java | 129 +
.../jts/linearref/LengthIndexedLine.java | 253 +
.../jts/linearref/LengthLocationMap.java | 204 +
.../jts/linearref/LinearGeometryBuilder.java | 138 +
.../locationtech/jts/linearref/LinearIterator.java | 192 +
.../locationtech/jts/linearref/LinearLocation.java | 477 +
.../jts/linearref/LocationIndexOfLine.java | 66 +
.../jts/linearref/LocationIndexOfPoint.java | 159 +
.../jts/linearref/LocationIndexedLine.java | 214 +
.../org/locationtech/jts/linearref/package.html | 37 +
.../main/java/org/locationtech/jts/math/DD.java | 1380 +
.../java/org/locationtech/jts/math/MathUtil.java | 125 +
.../java/org/locationtech/jts/math/Matrix.java | 99 +
.../java/org/locationtech/jts/math/Plane3D.java | 91 +
.../java/org/locationtech/jts/math/Vector2D.java | 339 +
.../java/org/locationtech/jts/math/Vector3D.java | 161 +
.../jts/noding/BasicSegmentString.java | 89 +
.../jts/noding/FastNodingValidator.java | 156 +
.../noding/FastSegmentSetIntersectionFinder.java | 79 +
.../jts/noding/InteriorIntersectionFinder.java | 259 +
.../noding/InteriorIntersectionFinderAdder.java | 93 +
.../locationtech/jts/noding/IntersectionAdder.java | 164 +
.../jts/noding/IntersectionFinderAdder.java | 94 +
.../org/locationtech/jts/noding/IteratedNoder.java | 122 +
.../org/locationtech/jts/noding/MCIndexNoder.java | 125 +
.../noding/MCIndexSegmentSetMutualIntersector.java | 142 +
.../jts/noding/NodableSegmentString.java | 33 +
.../jts/noding/NodedSegmentString.java | 195 +
.../java/org/locationtech/jts/noding/Noder.java | 46 +
.../locationtech/jts/noding/NodingValidator.java | 165 +
.../java/org/locationtech/jts/noding/Octant.java | 89 +
.../jts/noding/OrientedCoordinateArray.java | 110 +
.../org/locationtech/jts/noding/ScaledNoder.java | 129 +
.../jts/noding/SegmentIntersectionDetector.java | 216 +
.../jts/noding/SegmentIntersector.java | 46 +
.../org/locationtech/jts/noding/SegmentNode.java | 82 +
.../locationtech/jts/noding/SegmentNodeList.java | 369 +
.../jts/noding/SegmentPointComparator.java | 77 +
.../jts/noding/SegmentSetMutualIntersector.java | 49 +
.../org/locationtech/jts/noding/SegmentString.java | 44 +
.../jts/noding/SegmentStringDissolver.java | 156 +
.../locationtech/jts/noding/SegmentStringUtil.java | 100 +
.../org/locationtech/jts/noding/SimpleNoder.java | 65 +
.../noding/SimpleSegmentSetMutualIntersector.java | 83 +
.../locationtech/jts/noding/SinglePassNoder.java | 70 +
.../java/org/locationtech/jts/noding/package.html | 13 +
.../jts/noding/snapround/GeometryNoder.java | 133 +
.../jts/noding/snapround/HotPixel.java | 300 +
.../jts/noding/snapround/MCIndexPointSnapper.java | 113 +
.../jts/noding/snapround/MCIndexSnapRounder.java | 156 +
.../jts/noding/snapround/SimpleSnapRounder.java | 185 +
.../locationtech/jts/noding/snapround/package.html | 13 +
.../org/locationtech/jts/operation/BoundaryOp.java | 183 +
.../jts/operation/GeometryGraphOperation.java | 73 +
.../org/locationtech/jts/operation/IsSimpleOp.java | 345 +
.../jts/operation/buffer/BufferBuilder.java | 325 +
.../buffer/BufferInputLineSimplifier.java | 241 +
.../jts/operation/buffer/BufferOp.java | 371 +
.../jts/operation/buffer/BufferParameters.java | 345 +
.../jts/operation/buffer/BufferSubgraph.java | 318 +
.../jts/operation/buffer/OffsetCurveBuilder.java | 341 +
.../operation/buffer/OffsetCurveSetBuilder.java | 308 +
.../operation/buffer/OffsetSegmentGenerator.java | 656 +
.../jts/operation/buffer/OffsetSegmentString.java | 139 +
.../jts/operation/buffer/RightmostEdgeFinder.java | 171 +
.../jts/operation/buffer/SubgraphDepthLocater.java | 245 +
.../locationtech/jts/operation/buffer/package.html | 13 +
.../validate/BufferCurveMaximumDistanceFinder.java | 126 +
.../buffer/validate/BufferDistanceValidator.java | 239 +
.../buffer/validate/BufferResultValidator.java | 210 +
.../buffer/validate/DistanceToPointFinder.java | 74 +
.../buffer/validate/PointPairDistance.java | 92 +
.../jts/operation/buffer/validate/package.html | 13 +
.../distance/ConnectedElementLocationFilter.java | 65 +
.../distance/ConnectedElementPointFilter.java | 63 +
.../jts/operation/distance/DistanceOp.java | 418 +
.../jts/operation/distance/FacetSequence.java | 172 +
.../distance/FacetSequenceTreeBuilder.java | 85 +
.../jts/operation/distance/GeometryLocation.java | 92 +
.../operation/distance/IndexedFacetDistance.java | 167 +
.../jts/operation/distance/package.html | 13 +
.../distance3d/AxisPlaneCoordinateSequence.java | 142 +
.../jts/operation/distance3d/Distance3DOp.java | 566 +
.../jts/operation/distance3d/PlanarPolygon3D.java | 174 +
.../jts/operation/linemerge/EdgeString.java | 83 +
.../operation/linemerge/LineMergeDirectedEdge.java | 59 +
.../jts/operation/linemerge/LineMergeEdge.java | 38 +
.../jts/operation/linemerge/LineMergeGraph.java | 70 +
.../jts/operation/linemerge/LineMerger.java | 178 +
.../jts/operation/linemerge/LineSequencer.java | 471 +
.../jts/operation/linemerge/package.html | 13 +
.../overlay/ConsistentPolygonRingChecker.java | 144 +
.../jts/operation/overlay/EdgeSetNoder.java | 61 +
.../jts/operation/overlay/LineBuilder.java | 188 +
.../jts/operation/overlay/MaximalEdgeRing.java | 88 +
.../jts/operation/overlay/MinimalEdgeRing.java | 46 +
.../jts/operation/overlay/OverlayNodeFactory.java | 38 +
.../jts/operation/overlay/OverlayOp.java | 689 +
.../jts/operation/overlay/PointBuilder.java | 111 +
.../jts/operation/overlay/PolygonBuilder.java | 289 +
.../jts/operation/overlay/package.html | 41 +
.../operation/overlay/snap/GeometrySnapper.java | 263 +
.../operation/overlay/snap/LineStringSnapper.java | 218 +
.../overlay/snap/SnapIfNeededOverlayOp.java | 103 +
.../jts/operation/overlay/snap/SnapOverlayOp.java | 138 +
.../jts/operation/overlay/snap/package.html | 13 +
.../overlay/validate/FuzzyPointLocator.java | 141 +
.../overlay/validate/OffsetPointGenerator.java | 117 +
.../overlay/validate/OverlayResultValidator.java | 165 +
.../jts/operation/overlay/validate/package.html | 13 +
.../org/locationtech/jts/operation/package.html | 13 +
.../jts/operation/polygonize/EdgeRing.java | 467 +
.../polygonize/PolygonizeDirectedEdge.java | 93 +
.../jts/operation/polygonize/PolygonizeEdge.java | 35 +
.../jts/operation/polygonize/PolygonizeGraph.java | 437 +
.../jts/operation/polygonize/Polygonizer.java | 359 +
.../jts/operation/polygonize/package.html | 13 +
.../jts/operation/predicate/RectangleContains.java | 171 +
.../operation/predicate/RectangleIntersects.java | 341 +
.../jts/operation/predicate/package.html | 13 +
.../jts/operation/relate/EdgeEndBuilder.java | 150 +
.../jts/operation/relate/EdgeEndBundle.java | 192 +
.../jts/operation/relate/EdgeEndBundleStar.java | 69 +
.../jts/operation/relate/RelateComputer.java | 389 +
.../jts/operation/relate/RelateNode.java | 52 +
.../jts/operation/relate/RelateNodeFactory.java | 33 +
.../jts/operation/relate/RelateNodeGraph.java | 135 +
.../jts/operation/relate/RelateOp.java | 115 +
.../locationtech/jts/operation/relate/package.html | 52 +
.../jts/operation/union/CascadedPolygonUnion.java | 412 +
.../jts/operation/union/PointGeometryUnion.java | 86 +
.../jts/operation/union/UnaryUnionOp.java | 278 +
.../jts/operation/union/UnionInteracting.java | 133 +
.../locationtech/jts/operation/union/package.html | 13 +
.../operation/valid/ConnectedInteriorTester.java | 233 +
.../jts/operation/valid/ConsistentAreaTester.java | 149 +
.../operation/valid/IndexedNestedRingTester.java | 108 +
.../jts/operation/valid/IsValidOp.java | 618 +
.../jts/operation/valid/RepeatedPointTester.java | 81 +
.../operation/valid/TopologyValidationError.java | 173 +
.../locationtech/jts/operation/valid/package.html | 13 +
.../locationtech/jts/planargraph/DirectedEdge.java | 213 +
.../jts/planargraph/DirectedEdgeStar.java | 163 +
.../org/locationtech/jts/planargraph/Edge.java | 120 +
.../jts/planargraph/GraphComponent.java | 151 +
.../org/locationtech/jts/planargraph/Node.java | 128 +
.../org/locationtech/jts/planargraph/NodeMap.java | 81 +
.../locationtech/jts/planargraph/PlanarGraph.java | 220 +
.../org/locationtech/jts/planargraph/Subgraph.java | 107 +
.../algorithm/ConnectedSubgraphFinder.java | 96 +
.../jts/planargraph/algorithm/package.html | 13 +
.../org/locationtech/jts/planargraph/package.html | 13 +
.../org/locationtech/jts/precision/CommonBits.java | 139 +
.../locationtech/jts/precision/CommonBitsOp.java | 163 +
.../jts/precision/CommonBitsRemover.java | 158 +
.../CoordinatePrecisionReducerFilter.java | 68 +
.../jts/precision/EnhancedPrecisionOp.java | 204 +
.../jts/precision/GeometryPrecisionReducer.java | 217 +
.../jts/precision/MinimumClearance.java | 315 +
.../PrecisionReducerCoordinateOperation.java | 77 +
.../precision/SimpleGeometryPrecisionReducer.java | 153 +
.../jts/precision/SimpleMinimumClearance.java | 164 +
.../jts/precision/doc-files/minClearance.png | Bin 0 -> 6539 bytes
.../org/locationtech/jts/precision/package.html | 14 +
.../jts/shape/GeometricShapeBuilder.java | 94 +
.../jts/shape/fractal/KochSnowflakeBuilder.java | 103 +
.../jts/shape/fractal/SierpinskiCarpetBuilder.java | 100 +
.../jts/shape/random/RandomPointsBuilder.java | 107 +
.../shape/random/RandomPointsInGridBuilder.java | 151 +
.../jts/simplify/DouglasPeuckerLineSimplifier.java | 97 +
.../jts/simplify/DouglasPeuckerSimplifier.java | 210 +
.../jts/simplify/LineSegmentIndex.java | 95 +
.../jts/simplify/TaggedLineSegment.java | 42 +
.../jts/simplify/TaggedLineString.java | 102 +
.../jts/simplify/TaggedLineStringSimplifier.java | 238 +
.../jts/simplify/TaggedLinesSimplifier.java | 63 +
.../jts/simplify/TopologyPreservingSimplifier.java | 185 +
.../jts/simplify/VWLineSimplifier.java | 174 +
.../locationtech/jts/simplify/VWSimplifier.java | 213 +
.../org/locationtech/jts/simplify/package.html | 13 +
.../ConformingDelaunayTriangulationBuilder.java | 198 +
.../ConformingDelaunayTriangulator.java | 544 +
.../ConstraintEnforcementException.java | 64 +
.../triangulate/ConstraintSplitPointFinder.java | 38 +
.../jts/triangulate/ConstraintVertex.java | 88 +
.../jts/triangulate/ConstraintVertexFactory.java | 25 +
.../triangulate/DelaunayTriangulationBuilder.java | 190 +
.../IncrementalDelaunayTriangulator.java | 123 +
.../jts/triangulate/MidpointSplitPointFinder.java | 41 +
.../NonEncroachingSplitPointFinder.java | 73 +
.../org/locationtech/jts/triangulate/Segment.java | 201 +
.../locationtech/jts/triangulate/SplitSegment.java | 89 +
.../VertexTaggedGeometryDataMapper.java | 94 +
.../jts/triangulate/VoronoiDiagramBuilder.java | 179 +
.../org/locationtech/jts/triangulate/package.html | 13 +
.../quadedge/EdgeConnectedTriangleTraversal.java | 73 +
.../quadedge/LastFoundQuadEdgeLocator.java | 56 +
.../quadedge/LocateFailureException.java | 48 +
.../jts/triangulate/quadedge/QuadEdge.java | 414 +
.../jts/triangulate/quadedge/QuadEdgeLocator.java | 26 +
.../triangulate/quadedge/QuadEdgeSubdivision.java | 950 +
.../jts/triangulate/quadedge/QuadEdgeTriangle.java | 340 +
.../jts/triangulate/quadedge/QuadEdgeUtil.java | 47 +
.../jts/triangulate/quadedge/TraversalVisitor.java | 38 +
.../triangulate/quadedge/TrianglePredicate.java | 314 +
.../jts/triangulate/quadedge/TriangleVisitor.java | 28 +
.../jts/triangulate/quadedge/Vertex.java | 380 +
.../jts/triangulate/quadedge/package.html | 14 +
.../java/org/locationtech/jts/util/Assert.java | 103 +
.../jts/util/AssertionFailedException.java | 42 +
.../org/locationtech/jts/util/CollectionUtil.java | 82 +
.../jts/util/CoordinateArrayFilter.java | 53 +
.../jts/util/CoordinateCountFilter.java | 43 +
.../main/java/org/locationtech/jts/util/Debug.java | 328 +
.../jts/util/GeometricShapeFactory.java | 446 +
.../java/org/locationtech/jts/util/Memory.java | 87 +
.../java/org/locationtech/jts/util/NumberUtil.java | 23 +
.../org/locationtech/jts/util/ObjectCounter.java | 75 +
.../org/locationtech/jts/util/PriorityQueue.java | 133 +
.../java/org/locationtech/jts/util/Stopwatch.java | 87 +
.../java/org/locationtech/jts/util/StringUtil.java | 106 +
.../jts/util/UniqueCoordinateArrayFilter.java | 69 +
.../java/org/locationtech/jts/util/package.html | 8 +
modules/core/src/main/javadoc/overview.html | 12 +
.../jts/algorithm/AbstractPointInRingTest.java | 112 +
.../org/locationtech/jts/algorithm/AngleTest.java | 105 +
.../org/locationtech/jts/algorithm/AreaTest.java | 63 +
.../jts/algorithm/CGAlgorithmsDDTest.java | 23 +
.../locationtech/jts/algorithm/CentroidTest.java | 50 +
.../locationtech/jts/algorithm/ConvexHullTest.java | 146 +
.../locationtech/jts/algorithm/DistanceTest.java | 47 +
.../jts/algorithm/InteriorPointTest.java | 92 +
.../org/locationtech/jts/algorithm/IsCCWTest.java | 54 +
.../org/locationtech/jts/algorithm/LengthTest.java | 38 +
.../jts/algorithm/LocatePointInRingTest.java | 42 +
.../jts/algorithm/MinimumBoundingCircleTest.java | 117 +
.../jts/algorithm/MinimumDiameterTest.java | 69 +
.../jts/algorithm/NonRobustCGAlgorithms.java | 247 +
.../jts/algorithm/NonRobustLineIntersector.java | 297 +
.../algorithm/NonRobustLineIntersectorTest.java | 52 +
.../jts/algorithm/NonRobustRayCrossingCounter.java | 236 +
.../jts/algorithm/OrientationIndexFailureTest.java | 206 +
.../jts/algorithm/OrientationIndexTest.java | 101 +
.../jts/algorithm/PerturbedGridPolygonBuilder.java | 110 +
.../jts/algorithm/PointInRingTest.java | 49 +
.../jts/algorithm/PointLocationOnLineTest.java | 58 +
.../jts/algorithm/PointLocatorTest.java | 70 +
.../jts/algorithm/RayCrossingCounterTest.java | 42 +
.../algorithm/RectangleLineIntersectorTest.java | 163 +
.../jts/algorithm/RobustLineIntersectionTest.java | 368 +
.../jts/algorithm/RobustLineIntersectorTest.java | 161 +
.../jts/algorithm/ShewchuksDeterminant.java | 798 +
.../distance/DiscreteHausdorffDistanceTest.java | 81 +
.../locate/IndexedPointInAreaLocatorTest.java | 46 +
.../locate/SimplePointInAreaLocatorTest.java | 46 +
.../jts/dissolve/LineDissolverTest.java | 154 +
.../locationtech/jts/edgegraph/EdgeGraphTest.java | 71 +
.../jts/generator/GeometryGenerator.java | 150 +
.../locationtech/jts/generator/GridGenerator.java | 155 +
.../jts/generator/LineStringGenerator.java | 201 +
.../locationtech/jts/generator/MultiGenerator.java | 175 +
.../locationtech/jts/generator/PointGenerator.java | 44 +
.../jts/generator/PolygonGenerator.java | 310 +
.../org/locationtech/jts/geom/AreaLengthTest.java | 68 +
.../jts/geom/BidirectionalComparatorTest.java | 69 +
.../jts/geom/CoordinateArraysTest.java | 84 +
.../jts/geom/CoordinateSequencesTest.java | 70 +
.../org/locationtech/jts/geom/CoordinateTest.java | 168 +
.../org/locationtech/jts/geom/EnvelopeTest.java | 269 +
.../jts/geom/GeometryCollectionImplTest.java | 78 +
.../jts/geom/GeometryCollectionIteratorTest.java | 54 +
.../locationtech/jts/geom/GeometryFactoryTest.java | 110 +
.../locationtech/jts/geom/GeometryImplTest.java | 448 +
.../jts/geom/IntersectionMatrixTest.java | 118 +
.../org/locationtech/jts/geom/IsRectangleTest.java | 83 +
.../org/locationtech/jts/geom/LineSegmentTest.java | 137 +
.../locationtech/jts/geom/LineStringImplTest.java | 185 +
.../locationtech/jts/geom/MultiPointImplTest.java | 87 +
.../org/locationtech/jts/geom/NormalizeTest.java | 198 +
.../org/locationtech/jts/geom/PointImplTest.java | 104 +
.../locationtech/jts/geom/PrecisionModelTest.java | 68 +
.../jts/geom/PredicateShortCircuitTest.java | 84 +
.../jts/geom/RectanglePredicateSyntheticTest.java | 145 +
.../jts/geom/RectanglePredicateTest.java | 82 +
.../locationtech/jts/geom/SegmentDensifier.java | 66 +
.../org/locationtech/jts/geom/TriangleTest.java | 226 +
.../jts/geom/impl/BasicCoordinateSequenceTest.java | 53 +
.../jts/geom/impl/CoordinateArraySequenceTest.java | 40 +
.../jts/geom/impl/CoordinateSequenceTestBase.java | 185 +
.../geom/impl/PackedCoordinateSequenceTest.java | 40 +
.../prep/PreparedPolygonIntersectsStressTest.java | 143 +
.../prep/PreparedPolygonPredicateStressTest.java | 89 +
.../jts/geom/prep/StressTestHarness.java | 124 +
.../geom/util/AffineTransformationBuilderTest.java | 240 +
.../jts/geom/util/AffineTransformationTest.java | 260 +
.../locationtech/jts/index/SpatialIndexTester.java | 160 +
.../locationtech/jts/index/kdtree/KdTreeTest.java | 150 +
.../jts/index/quadtree/DoubleBitsTest.java | 36 +
.../jts/index/quadtree/IsEmptyTest.java | 33 +
.../jts/index/quadtree/QuadtreeTest.java | 70 +
.../index/strtree/GeometryDistanceComparator.java | 70 +
.../jts/index/strtree/IntervalTest.java | 68 +
.../jts/index/strtree/SIRtreeTest.java | 67 +
.../jts/index/strtree/STRtreeTest.java | 256 +
.../locationtech/jts/io/SerializabilityTest.java | 49 +
.../org/locationtech/jts/io/WKBReaderTest.java | 204 +
.../test/java/org/locationtech/jts/io/WKBTest.java | 245 +
.../org/locationtech/jts/io/WKBWriterTest.java | 66 +
.../org/locationtech/jts/io/WKTReaderExpTest.java | 91 +
.../jts/io/WKTReaderParseErrorTest.java | 86 +
.../org/locationtech/jts/io/WKTReaderTest.java | 149 +
.../org/locationtech/jts/io/WKTWriterTest.java | 166 +
.../jts/io/gml2/GMLReaderTestCase.java | 136 +
.../jts/io/gml2/StaticLineStringTest.java | 73 +
.../jts/io/gml2/StaticMultiLineStringTest.java | 78 +
.../jts/io/gml2/StaticMultiPointTest.java | 56 +
.../jts/io/gml2/StaticMultiPolygonTest.java | 151 +
.../locationtech/jts/io/gml2/StaticPointTest.java | 52 +
.../jts/io/gml2/StaticPolygonTest.java | 123 +
.../locationtech/jts/io/gml2/WritingTestCase.java | 86 +
.../java/org/locationtech/jts/io/gml2/geometry.xsd | 349 +
.../org/locationtech/jts/io/kml/KMLWriterTest.java | 166 +
.../jts/linearref/AbstractIndexedLineTest.java | 253 +
.../jts/linearref/LengthIndexedLineTest.java | 223 +
.../jts/linearref/LinearLocationTest.java | 165 +
.../jts/linearref/LocationIndexedLineTest.java | 105 +
.../org/locationtech/jts/math/DDBasicTest.java | 318 +
.../org/locationtech/jts/math/DDComputeTest.java | 132 +
.../java/org/locationtech/jts/math/DDIOTest.java | 243 +
.../java/org/locationtech/jts/math/DDTest.java | 49 +
.../org/locationtech/jts/math/Vector2DTest.java | 62 +
.../jts/noding/SegmentPointComparatorFullTest.java | 125 +
.../jts/noding/SegmentPointComparatorTest.java | 54 +
.../jts/noding/snapround/SnapRoundingTest.java | 176 +
.../locationtech/jts/operation/BoundaryTest.java | 139 +
.../locationtech/jts/operation/IsSimpleTest.java | 132 +
.../buffer/BufferResultValidatorTest.java | 59 +
.../jts/operation/buffer/BufferTest.java | 478 +
.../jts/operation/buffer/BufferValidator.java | 266 +
.../jts/operation/buffer/DepthSegmentTest.java | 62 +
.../jts/operation/distance/DistanceTest.java | 100 +
.../jts/operation/distance3d/Distance3DOpTest.java | 381 +
.../operation/distance3d/WithinDistance3DTest.java | 272 +
.../jts/operation/linemerge/LineMergerTest.java | 132 +
.../jts/operation/linemerge/LineSequencerTest.java | 250 +
.../overlay/FixedPrecisionSnappingTest.java | 45 +
.../jts/operation/polygonize/PolygonizeTest.java | 183 +
.../jts/operation/relate/ContainsTest.java | 70 +
.../relate/RelateBoundaryNodeRuleTest.java | 118 +
.../jts/operation/relate/RelateTest.java | 75 +
.../union/CascadedPolygonUnionFileTest.java | 74 +
.../operation/union/CascadedPolygonUnionTest.java | 103 +
.../union/CascadedPolygonUnionTester.java | 115 +
.../jts/operation/union/UnaryUnionTest.java | 74 +
.../jts/operation/valid/IsValidTest.java | 56 +
.../operation/valid/SimpleNestedRingTester.java | 80 +
.../jts/operation/valid/ValidClosedRingTest.java | 111 +
.../ValidSelfTouchingRingFormingHoleTest.java | 143 +
.../jts/precision/CommonBitsOpTest.java | 41 +
.../precision/GeometryPrecisionReducerTest.java | 146 +
.../jts/precision/MinimumClearanceTest.java | 58 +
.../SimpleGeometryPrecisionReducerTest.java | 110 +
.../jts/simplify/DouglasPeuckerSimplifierTest.java | 170 +
.../jts/simplify/GeometryOperationValidator.java | 106 +
.../jts/simplify/SameStructureTester.java | 79 +
.../simplify/TopologyPreservingSimplifierTest.java | 205 +
.../jts/simplify/VWSimplifierTest.java | 86 +
.../jts/triangulate/ConformingDelaunayTest.java | 76 +
.../locationtech/jts/triangulate/DelaunayTest.java | 112 +
.../locationtech/jts/triangulate/VoronoiTest.java | 71 +
.../locationtech/jts/util/PriorityQueueTest.java | 67 +
.../src/test/java/test/jts/GeometryTestCase.java | 93 +
.../core/src/test/java/test/jts/IsValidTester.java | 39 +
.../java/test/jts/LineIntersectorBenchmark.java | 125 +
modules/core/src/test/java/test/jts/TestFiles.java | 23 +
.../jts/geom/CoordinateSequenceExperiment2.java | 108 +
.../java/test/jts/geom/GeometryTestFactory.java | 176 +
.../test/java/test/jts/geom/TestSerializable.java | 153 +
.../java/test/jts/index/BinTreeCorrectTest.java | 136 +
.../src/test/java/test/jts/index/EnvelopeList.java | 50 +
.../core/src/test/java/test/jts/index/Index.java | 30 +
.../src/test/java/test/jts/index/IndexTester.java | 137 +
.../src/test/java/test/jts/index/IntervalList.java | 50 +
.../java/test/jts/index/QuadtreeCorrectTest.java | 161 +
.../src/test/java/test/jts/index/STRtreeDemo.java | 163 +
.../src/test/java/test/jts/index/TreeTimeTest.java | 127 +
.../core/src/test/java/test/jts/insert-header.rb | 100 +
.../test/java/test/jts/junit/GeometryUtils.java | 79 +
.../src/test/java/test/jts/junit/MasterTester.java | 132 +
.../java/test/jts/junit/MiscellaneousTest.java | 486 +
.../java/test/jts/junit/MiscellaneousTest2.java | 161 +
.../src/test/java/test/jts/junit/SimpleTest.java | 36 +
.../test/java/test/jts/perf/ExamplePerfTest.java | 65 +
.../java/test/jts/perf/PerformanceTestCase.java | 134 +
.../java/test/jts/perf/PerformanceTestRunner.java | 98 +
.../test/java/test/jts/perf/ThreadTestCase.java | 33 +
.../test/java/test/jts/perf/ThreadTestRunner.java | 38 +
.../jts/perf/algorithm/AreaPrecisionPerfTest.java | 94 +
.../algorithm/DDOrientationIndexAccuracyTest.java | 91 +
.../perf/algorithm/DistanceLineLineStressTest.java | 75 +
.../algorithm/IndexedPointInAreaStressTest.java | 63 +
.../algorithm/MCIndexedPointInAreaLocator.java | 146 +
.../algorithm/MinimumBoundingCircleStressTest.java | 81 +
.../jts/perf/algorithm/PointInAreaPerfTest.java | 63 +
.../jts/perf/algorithm/PointInAreaPerfTester.java | 98 +
.../perf/algorithm/PointInAreaStressTester.java | 138 +
.../perf/algorithm/PointInRingRobustnessTest.java | 196 +
.../RectangleLineIntersectorPerfTest.java | 168 +
.../algorithm/SimpleRayCrossingStressTest.java | 107 +
.../jts/perf/dissolve/LineDissolvePerfTest.java | 96 +
.../impl/PackedCoordinateSequenceMemoryTest.java | 65 +
.../geom/prep/PreparedGeometryThreadSafeTest.java | 83 +
.../geom/prep/PreparedLineIntersectsPerfTest.java | 161 +
.../prep/PreparedPolygonIntersectsPerfTest.java | 217 +
.../test/jts/perf/geom/prep/TestDataBuilder.java | 109 +
.../java/test/jts/perf/math/DDExpressionPerf.java | 166 +
.../test/java/test/jts/perf/math/InCirclePerf.java | 106 +
.../test/java/test/jts/perf/math/TriPredicate.java | 268 +
.../operation/buffer/BufferCorrectnessTest.java | 138 +
.../operation/buffer/DepthSegmentStressTest.java | 259 +
.../perf/operation/buffer/FileBufferPerfTest.java | 87 +
.../buffer/FileBufferResultValidatorTest.java | 104 +
.../operation/buffer/IteratedBufferStressTest.java | 80 +
.../buffer/OffsetCurveCorrectnessTest.java | 76 +
.../operation/buffer/PolygonBufferStressTest.java | 157 +
.../buffer/RandomLineBufferStressTest.java | 103 +
.../buffer/RandomOffsetLineStringGenerator.java | 137 +
.../perf/operation/distance/CachedBABDistance.java | 36 +
.../distance/TestPerfDistanceGeomPair.java | 156 +
.../distance/TestPerfDistanceGeomSet.java | 159 +
.../distance/TestPerfDistanceLinesPoints.java | 222 +
.../distance/TestPerfFastDistanceFile.java | 129 +
.../operation/overlay/OverlayNodingStressTest.java | 187 +
.../predicate/RectangleIntersectsPerfTest.java | 172 +
.../relate/RelateMonotoneLinesPerfTest.java | 105 +
.../perf/operation/union/FileUnionPerfTest.java | 70 +
.../perf/operation/union/PolygonUnionPerfTest.java | 153 +
.../jts/perf/operation/union/UnionPerfTester.java | 166 +
.../operation/valid/QuadtreeNestedRingTester.java | 100 +
.../operation/valid/SweeplineNestedRingTester.java | 115 +
.../jts/perf/operation/valid/ValidStressTest.java | 159 +
.../jts/perf/triangulate/DelaunayPerfTest.java | 96 +
.../jts/perf/triangulate/DelaunayRobustTest.java | 99 +
.../test/jts/perf/triangulate/VoronoiPerfTest.java | 72 +
.../core/src/test/java/test/jts/util/IOUtil.java | 31 +
.../test/java/test/jts/util/SerializationUtil.java | 40 +
.../core/src/test/resources/testdata/africa.wkt | 1681 +
.../core/src/test/resources/testdata/bc-250k.wkt | 177 +
.../core/src/test/resources/testdata/bc_20K.wkt | 84875 +++++++++++++++++++
.../core/src/test/resources/testdata/europe.wkt | 3323 +
modules/core/src/test/resources/testdata/papua.wkt | 630 +
modules/core/src/test/resources/testdata/plane.wkt | 260 +
.../core/src/test/resources/testdata/polygon.wkb | 1 +
.../core/src/test/resources/testdata/uk-arrows.wkt | 4 +
modules/core/src/test/resources/testdata/uk.wkt | 171 +
modules/core/src/test/resources/testdata/world.wkt | 40607 +++++++++
modules/example/pom.xml | 18 +
.../locationtech/jtsexample/geom/BasicExample.java | 45 +
.../jtsexample/geom/ConstructionExample.java | 52 +
.../jtsexample/geom/ExtendedCoordinate.java | 76 +
.../jtsexample/geom/ExtendedCoordinateExample.java | 68 +
.../geom/ExtendedCoordinateSequence.java | 201 +
.../geom/ExtendedCoordinateSequenceFactory.java | 62 +
.../jtsexample/geom/PrecisionModelExample.java | 109 +
.../jtsexample/geom/SimpleMethodsExample.java | 70 +
.../geom/prep/PreparedGeometryExample.java | 73 +
.../jtsexample/io/gml2/KMLReaderExample.java | 182 +
.../jtsexample/linearref/LinearRefExample.java | 66 +
.../operation/distance/ClosestPointExample.java | 87 +
.../operation/linemerge/LineMergeExample.java | 86 +
.../operation/polygonize/PolygonizeExample.java | 65 +
.../java/org/locationtech/jtsexample/package.html | 14 +
.../precision/EnhancedPrecisionOpExample.java | 66 +
.../technique/LineStringSelfIntersections.java | 78 +
.../technique/PolygonUnionUsingBuffer.java | 62 +
.../SearchUsingPreparedGeometryIndex.java | 224 +
modules/io/common/pom.xml | 25 +
.../jts/io/geojson/GeoJsonConstants.java | 36 +
.../locationtech/jts/io/geojson/GeoJsonReader.java | 473 +
.../locationtech/jts/io/geojson/GeoJsonWriter.java | 304 +
.../locationtech/jts/io/geojson/GeoJsonTest.java | 102 +
.../jts/io/geojson/GeoJsonWriterTest.java | 128 +
modules/io/ora/README.md | 11 +
modules/io/ora/pom.xml | 21 +
.../org/locationtech/jts/io/oracle/OraGeom.java | 501 +
.../org/locationtech/jts/io/oracle/OraReader.java | 623 +
.../org/locationtech/jts/io/oracle/OraUtil.java | 173 +
.../org/locationtech/jts/io/oracle/OraWriter.java | 688 +
.../org/locationtech/jts/io/oracle/package.html | 6 +
.../jts/io/oracle/BaseOraTestCase.java | 32 +
.../jts/io/oracle/ConnectedTestCase.java | 103 +
.../java/org/locationtech/jts/io/oracle/MDSYS.java | 52 +
.../jts/io/oracle/OraReaderCreateTest.java | 455 +
.../jts/io/oracle/OraWriterCreateTest.java | 308 +
.../jts/io/oracle/OraWriterSQLTest.java | 79 +
.../jts/io/oracle/StaticLineStringTest.java | 172 +
.../jts/io/oracle/StaticMultiLineStringTest.java | 189 +
.../jts/io/oracle/StaticMultiPointTest.java | 153 +
.../jts/io/oracle/StaticMultiPolygonTest.java | 376 +
.../jts/io/oracle/StaticPointTest.java | 141 +
.../jts/io/oracle/StaticPolygonTest.java | 332 +
.../jts/io/oracle/connection.properties | 5 +
modules/io/pom.xml | 45 +
modules/io/sde/README.md | 18 +
modules/io/sde/pom.xml | 37 +
.../org/locationtech/jts/io/sde/SdeReader.java | 244 +
.../java/org/locationtech/jts/io/sde/package.html | 6 +
modules/lab/README.md | 7 +
modules/lab/pom.xml | 32 +
.../org/locationtech/jts/hull/ConcaveHull.java | 53 +
.../jts/operation/buffer/VariableWidthBuffer.java | 171 +
.../org/locationtech/jtslab/RemoverFunctions.java | 24 +
.../locationtech/jtslab/SnapRoundFunctions.java | 57 +
.../jtslab/SnapRoundOverlayFunctions.java | 66 +
.../org/locationtech/jtslab/clean/HoleRemover.java | 105 +
.../jtslab/clean/InvalidHoleRemover.java | 119 +
.../jtslab/clean/SmallHoleRemover.java | 50 +
.../jtslab/geom/util/GeometryEditorEx.java | 428 +
.../snapround/GeometryCoordinateReplacer.java | 76 +
.../jtslab/snapround/GeometrySnapRounder.java | 211 +
.../jtslab/snapround/PolygonCleaner.java | 68 +
.../jts/geom/OctagonalEnvelopeTest.java | 41 +
.../org/locationtech/jts/hull/ConcaveHullTest.java | 45 +
.../jtslab/clean/InvalidHoleRemoverTest.java | 92 +
.../jtslab/clean/SmallHoleRemoverTest.java | 87 +
modules/pom.xml | 42 +
modules/tests/pom.xml | 60 +
.../jtstest/TestCoordinateSequenceFactory.java | 32 +
.../locationtech/jtstest/command/CommandLine.java | 148 +
.../org/locationtech/jtstest/command/Option.java | 40 +
.../locationtech/jtstest/command/OptionSpec.java | 129 +
.../jtstest/command/ParseException.java | 30 +
.../jtstest/geomop/ArgumentConverter.java | 83 +
.../jtstest/geomop/BaseGeometryFunction.java | 165 +
.../geomop/BufferValidatedGeometryOperation.java | 203 +
.../jtstest/geomop/GeometryFunction.java | 80 +
.../jtstest/geomop/GeometryFunctionOperation.java | 105 +
.../jtstest/geomop/GeometryFunctionRegistry.java | 169 +
.../jtstest/geomop/GeometryMatcher.java | 27 +
.../jtstest/geomop/GeometryMethodOperation.java | 219 +
.../jtstest/geomop/GeometryOperation.java | 51 +
.../jtstest/geomop/LoggingGeometryOperation.java | 59 +
.../jtstest/geomop/NormalizedGeometryMatcher.java | 43 +
.../geomop/OverlayValidatedGeometryOperation.java | 177 +
.../jtstest/geomop/PreparedGeometryOperation.java | 127 +
.../geomop/PreparedGeometryTeeOperation.java | 136 +
.../geomop/StaticMethodGeometryFunction.java | 136 +
.../jtstest/geomop/TeeGeometryOperation.java | 80 +
.../jtstest/geomop/TestCaseGeometryFunctions.java | 60 +
.../jtstest/testrunner/BooleanResult.java | 47 +
.../jtstest/testrunner/BufferResultMatcher.java | 114 +
.../jtstest/testrunner/DoubleResult.java | 49 +
.../jtstest/testrunner/EqualityResultMatcher.java | 40 +
.../testrunner/GeometryOperationLoader.java | 50 +
.../jtstest/testrunner/GeometryResult.java | 60 +
.../locationtech/jtstest/testrunner/GuiUtil.java | 160 +
.../jtstest/testrunner/IntegerResult.java | 49 +
.../testrunner/JTSTestReflectionException.java | 44 +
.../jtstest/testrunner/JTSTestRunnerCmd.java | 243 +
.../locationtech/jtstest/testrunner/Logger.java | 43 +
.../jtstest/testrunner/NullResultMatcher.java | 39 +
.../jtstest/testrunner/Parameters.java | 113 +
.../jtstest/testrunner/ReportWriter.java | 22 +
.../locationtech/jtstest/testrunner/Result.java | 29 +
.../jtstest/testrunner/ResultMatcher.java | 43 +
.../jtstest/testrunner/SimpleReportWriter.java | 177 +
.../org/locationtech/jtstest/testrunner/Test.java | 235 +
.../locationtech/jtstest/testrunner/TestCase.java | 167 +
.../jtstest/testrunner/TestEngine.java | 195 +
.../jtstest/testrunner/TestParseException.java | 23 +
.../jtstest/testrunner/TestReader.java | 596 +
.../locationtech/jtstest/testrunner/TestRun.java | 139 +
.../jtstest/testrunner/TopologyTestApp.java | 608 +
.../org/locationtech/jtstest/util/FilesUtil.java | 62 +
.../org/locationtech/jtstest/util/StringUtil.java | 511 +
.../jtstest/util/io/WKTOrWKBReader.java | 68 +
.../locationtech/jtstest/CoreGeometryXMLTest.java | 73 +
.../test/resources/testxml/external/GEOSBuffer.xml | 59 +
.../testxml/external/TestBufferExternal.xml | 58 +
.../testxml/external/TestBufferExternal2.xml | 508 +
.../testxml/external/TestBufferJagged.xml | 75 +
.../resources/testxml/external/TestOverlay.xml | 109 +
.../test/resources/testxml/external/TestValid.xml | 26 +
.../testxml}/external/geos-bug356-buffer.xml | 0
.../testxml/failure/TestBigNastyBuffer.xml | 27 +
.../testxml/failure/TestBufferFailure.xml | 91 +
.../testxml/failure/TestBufferInsideNonEmpty.xml | 22 +
.../testxml/failure/TestOverlayFailure.xml | 280 +
.../test/resources/testxml}/failure/bug368jts.xml | 0
.../testxml}/failure/geos-bug368-union.xml | 0
.../resources/testxml/general/TestBoundary.xml | 165 +
.../test/resources/testxml/general/TestBuffer.xml | 135 +
.../testxml/general/TestBufferMitredJoin.xml | 60 +
.../resources/testxml/general/TestCentroid.xml | 271 +
.../testxml/general/TestConvexHull-big.xml | 17 +
.../resources/testxml/general/TestConvexHull.xml | 186 +
.../test/resources/testxml/general/TestDensify.xml | 57 +
.../resources/testxml/general/TestDistance.xml | 60 +
.../resources/testxml/general/TestEqualsExact.xml | 157 +
.../resources/testxml/general/TestFunctionAA.xml | 633 +
.../testxml/general/TestFunctionAAPrec.xml | 828 +
.../resources/testxml/general/TestFunctionLA.xml | 522 +
.../testxml/general/TestFunctionLAPrec.xml | 59 +
.../resources/testxml/general/TestFunctionLL.xml | 375 +
.../testxml/general/TestFunctionLLPrec.xml | 28 +
.../resources/testxml/general/TestFunctionPA.xml | 155 +
.../resources/testxml/general/TestFunctionPL.xml | 286 +
.../testxml/general/TestFunctionPLPrec.xml | 19 +
.../resources/testxml/general/TestFunctionPP.xml | 269 +
.../testxml/general/TestInteriorPoint.xml | 128 +
.../testxml/general/TestMinimumClearance.xml | 89 +
.../resources/testxml/general/TestOverlayEmpty.xml | 1021 +
.../testxml/general/TestPreparedPointPredicate.xml | 34 +
.../general/TestPreparedPolygonPredicate.xml | 191 +
...estPreparedPredicatesWithGeometryCollection.xml | 81 +
.../testxml/general/TestRectanglePredicate.xml | 304 +
.../resources/testxml/general/TestRelateAA.xml | 235 +
.../resources/testxml/general/TestRelateAC.xml | 27 +
.../resources/testxml/general/TestRelateLA.xml | 190 +
.../resources/testxml/general/TestRelateLC.xml | 41 +
.../resources/testxml/general/TestRelateLL.xml | 311 +
.../resources/testxml/general/TestRelatePA.xml | 103 +
.../resources/testxml/general/TestRelatePL.xml | 124 +
.../resources/testxml/general/TestRelatePP.xml | 64 +
.../test/resources/testxml/general/TestSimple.xml | 357 +
.../resources/testxml/general/TestUnaryUnion.xml | 161 +
.../testxml/general/TestUnaryUnionFloating.xml | 20 +
.../test/resources/testxml/general/TestValid.xml | 746 +
.../resources/testxml/general/TestValid2-big.xml | 18 +
.../test/resources/testxml/general/TestValid2.xml | 5246 ++
.../testxml/general/TestWithinDistance.xml | 92 +
.../testxml/robust/ExternalRobustness.xml | 220 +
.../resources/testxml/robust/MagnifyTopology.xml | 86 +
.../testxml/robust/TestRobustOverlayError.xml | 19 +
.../testxml/robust/TestRobustOverlayFixed.xml | 18 +
.../testxml/robust/TestRobustOverlayFloat.xml | 104 +
.../resources/testxml/robust/TestRobustRelate.xml | 19 +
.../testxml/robust/TestRobustRelateFloat.xml | 40 +
.../testxml/validate/TestRelateAA-big.xml | 34 +
.../resources/testxml/validate/TestRelateAA.xml | 2833 +
.../resources/testxml/validate/TestRelateAC.xml | 36 +
.../resources/testxml/validate/TestRelateLA.xml | 1932 +
.../resources/testxml/validate/TestRelateLC.xml | 57 +
.../resources/testxml/validate/TestRelateLL.xml | 3388 +
.../resources/testxml/validate/TestRelatePA.xml | 1018 +
.../resources/testxml/validate/TestRelatePL.xml | 2286 +
.../resources/testxml/validate/TestRelatePP.xml | 303 +
pom.xml | 274 +
src/META-INF/MANIFEST.MF | 4 -
src/com/vividsolutions/jts/JTSVersion.java | 119 -
src/com/vividsolutions/jts/algorithm/Angle.java | 309 -
.../jts/algorithm/BoundaryNodeRule.java | 210 -
.../vividsolutions/jts/algorithm/CGAlgorithms.java | 595 -
.../jts/algorithm/CGAlgorithms3D.java | 182 -
.../jts/algorithm/CGAlgorithmsDD.java | 206 -
.../jts/algorithm/CentralEndpointIntersector.java | 153 -
src/com/vividsolutions/jts/algorithm/Centroid.java | 273 -
.../vividsolutions/jts/algorithm/CentroidArea.java | 202 -
.../vividsolutions/jts/algorithm/CentroidLine.java | 108 -
.../jts/algorithm/CentroidPoint.java | 92 -
.../vividsolutions/jts/algorithm/ConvexHull.java | 516 -
.../vividsolutions/jts/algorithm/HCoordinate.java | 188 -
.../jts/algorithm/InteriorPointArea.java | 260 -
.../jts/algorithm/InteriorPointLine.java | 127 -
.../jts/algorithm/InteriorPointPoint.java | 88 -
.../jts/algorithm/LineIntersector.java | 438 -
.../jts/algorithm/MCPointInRing.java | 164 -
.../jts/algorithm/MinimumBoundingCircle.java | 362 -
.../jts/algorithm/MinimumDiameter.java | 358 -
.../jts/algorithm/NonRobustCGAlgorithms.java | 282 -
.../jts/algorithm/NonRobustLineIntersector.java | 320 -
.../jts/algorithm/NotRepresentableException.java | 51 -
.../vividsolutions/jts/algorithm/PointInRing.java | 49 -
.../vividsolutions/jts/algorithm/PointLocator.java | 214 -
.../jts/algorithm/RayCrossingCounter.java | 250 -
.../jts/algorithm/RectangleLineIntersector.java | 165 -
.../jts/algorithm/RobustCGAlgorithms.java | 47 -
.../jts/algorithm/RobustDeterminant.java | 424 -
.../jts/algorithm/RobustLineIntersector.java | 482 -
.../jts/algorithm/SimplePointInRing.java | 59 -
.../distance/DiscreteHausdorffDistance.java | 226 -
.../jts/algorithm/distance/DistanceToPoint.java | 92 -
.../jts/algorithm/distance/PointPairDistance.java | 120 -
.../locate/IndexedPointInAreaLocator.java | 154 -
.../algorithm/locate/PointOnGeometryLocator.java | 52 -
.../algorithm/locate/SimplePointInAreaLocator.java | 129 -
.../jts/algorithm/match/AreaSimilarityMeasure.java | 73 -
.../match/HausdorffSimilarityMeasure.java | 95 -
.../jts/algorithm/match/SimilarityMeasure.java | 55 -
.../algorithm/match/SimilarityMeasureCombiner.java | 49 -
.../vividsolutions/jts/awt/FontGlyphReader.java | 137 -
.../jts/awt/GeometryCollectionShape.java | 128 -
.../jts/awt/IdentityPointTransformation.java | 51 -
.../vividsolutions/jts/awt/PointShapeFactory.java | 397 -
.../jts/awt/PointTransformation.java | 54 -
src/com/vividsolutions/jts/awt/PolygonShape.java | 163 -
.../jts/awt/ShapeCollectionPathIterator.java | 121 -
src/com/vividsolutions/jts/awt/ShapeReader.java | 193 -
src/com/vividsolutions/jts/awt/ShapeWriter.java | 325 -
src/com/vividsolutions/jts/densify/Densifier.java | 179 -
.../jts/dissolve/DissolveEdgeGraph.java | 22 -
.../jts/dissolve/DissolveHalfEdge.java | 40 -
.../vividsolutions/jts/dissolve/LineDissolver.java | 286 -
.../vividsolutions/jts/edgegraph/EdgeGraph.java | 144 -
.../jts/edgegraph/EdgeGraphBuilder.java | 77 -
src/com/vividsolutions/jts/edgegraph/HalfEdge.java | 351 -
.../vividsolutions/jts/edgegraph/MarkHalfEdge.java | 110 -
src/com/vividsolutions/jts/geom/Coordinate.java | 445 -
.../vividsolutions/jts/geom/CoordinateArrays.java | 489 -
.../vividsolutions/jts/geom/CoordinateFilter.java | 66 -
.../vividsolutions/jts/geom/CoordinateList.java | 246 -
.../jts/geom/CoordinateSequence.java | 187 -
.../jts/geom/CoordinateSequenceComparator.java | 163 -
.../jts/geom/CoordinateSequenceFactory.java | 79 -
.../jts/geom/CoordinateSequenceFilter.java | 101 -
.../jts/geom/CoordinateSequences.java | 244 -
.../jts/geom/DefaultCoordinateSequence.java | 218 -
.../jts/geom/DefaultCoordinateSequenceFactory.java | 93 -
src/com/vividsolutions/jts/geom/Dimension.java | 164 -
src/com/vividsolutions/jts/geom/Envelope.java | 779 -
src/com/vividsolutions/jts/geom/Geometry.java | 1889 -
.../jts/geom/GeometryCollection.java | 303 -
.../jts/geom/GeometryCollectionIterator.java | 160 -
.../jts/geom/GeometryComponentFilter.java | 68 -
.../vividsolutions/jts/geom/GeometryFactory.java | 601 -
.../vividsolutions/jts/geom/GeometryFilter.java | 58 -
.../jts/geom/IntersectionMatrix.java | 598 -
src/com/vividsolutions/jts/geom/LineSegment.java | 670 -
src/com/vividsolutions/jts/geom/LineString.java | 342 -
src/com/vividsolutions/jts/geom/Lineal.java | 45 -
src/com/vividsolutions/jts/geom/LinearRing.java | 155 -
src/com/vividsolutions/jts/geom/Location.java | 92 -
.../vividsolutions/jts/geom/MultiLineString.java | 145 -
src/com/vividsolutions/jts/geom/MultiPoint.java | 123 -
src/com/vividsolutions/jts/geom/MultiPolygon.java | 155 -
.../vividsolutions/jts/geom/OctagonalEnvelope.java | 377 -
src/com/vividsolutions/jts/geom/Point.java | 237 -
src/com/vividsolutions/jts/geom/Polygon.java | 450 -
src/com/vividsolutions/jts/geom/Polygonal.java | 47 -
.../vividsolutions/jts/geom/PrecisionModel.java | 488 -
src/com/vividsolutions/jts/geom/Puntal.java | 45 -
.../vividsolutions/jts/geom/TopologyException.java | 68 -
src/com/vividsolutions/jts/geom/Triangle.java | 578 -
.../jts/geom/impl/CoordinateArraySequence.java | 281 -
.../geom/impl/CoordinateArraySequenceFactory.java | 99 -
.../jts/geom/impl/PackedCoordinateSequence.java | 493 -
.../geom/impl/PackedCoordinateSequenceFactory.java | 169 -
.../geom/prep/AbstractPreparedPolygonContains.java | 245 -
.../jts/geom/prep/BasicPreparedGeometry.java | 223 -
.../jts/geom/prep/PreparedGeometry.java | 192 -
.../jts/geom/prep/PreparedGeometryFactory.java | 85 -
.../jts/geom/prep/PreparedLineString.java | 79 -
.../geom/prep/PreparedLineStringIntersects.java | 143 -
.../jts/geom/prep/PreparedPoint.java | 68 -
.../jts/geom/prep/PreparedPolygon.java | 138 -
.../jts/geom/prep/PreparedPolygonContains.java | 101 -
.../geom/prep/PreparedPolygonContainsProperly.java | 126 -
.../jts/geom/prep/PreparedPolygonCovers.java | 101 -
.../jts/geom/prep/PreparedPolygonIntersects.java | 126 -
.../jts/geom/prep/PreparedPolygonPredicate.java | 167 -
.../jts/geom/util/AffineTransformation.java | 1115 -
.../jts/geom/util/AffineTransformationBuilder.java | 165 -
.../jts/geom/util/AffineTransformationFactory.java | 199 -
.../geom/util/ComponentCoordinateExtracter.java | 83 -
.../jts/geom/util/GeometryCollectionMapper.java | 73 -
.../jts/geom/util/GeometryCombiner.java | 189 -
.../jts/geom/util/GeometryEditor.java | 365 -
.../jts/geom/util/GeometryExtracter.java | 105 -
.../jts/geom/util/GeometryMapper.java | 99 -
.../jts/geom/util/GeometryTransformer.java | 306 -
.../jts/geom/util/LineStringExtracter.java | 108 -
.../jts/geom/util/LinearComponentExtracter.java | 222 -
.../util/NoninvertibleTransformationException.java | 53 -
.../jts/geom/util/PointExtracter.java | 96 -
.../jts/geom/util/PolygonExtracter.java | 93 -
.../geom/util/ShortCircuitedGeometryVisitor.java | 69 -
.../jts/geom/util/SineStarFactory.java | 148 -
src/com/vividsolutions/jts/geomgraph/Depth.java | 159 -
.../vividsolutions/jts/geomgraph/DirectedEdge.java | 239 -
.../jts/geomgraph/DirectedEdgeStar.java | 406 -
src/com/vividsolutions/jts/geomgraph/Edge.java | 291 -
src/com/vividsolutions/jts/geomgraph/EdgeEnd.java | 150 -
.../vividsolutions/jts/geomgraph/EdgeEndStar.java | 352 -
.../jts/geomgraph/EdgeIntersection.java | 107 -
.../jts/geomgraph/EdgeIntersectionList.java | 168 -
src/com/vividsolutions/jts/geomgraph/EdgeList.java | 132 -
.../jts/geomgraph/EdgeNodingValidator.java | 97 -
src/com/vividsolutions/jts/geomgraph/EdgeRing.java | 246 -
.../jts/geomgraph/GeometryGraph.java | 459 -
.../jts/geomgraph/GraphComponent.java | 107 -
src/com/vividsolutions/jts/geomgraph/Label.java | 222 -
src/com/vividsolutions/jts/geomgraph/Node.java | 177 -
.../vividsolutions/jts/geomgraph/NodeFactory.java | 50 -
src/com/vividsolutions/jts/geomgraph/NodeMap.java | 137 -
.../vividsolutions/jts/geomgraph/PlanarGraph.java | 255 -
src/com/vividsolutions/jts/geomgraph/Position.java | 61 -
src/com/vividsolutions/jts/geomgraph/Quadrant.java | 160 -
.../jts/geomgraph/TopologyLocation.java | 207 -
.../jts/geomgraph/index/EdgeSetIntersector.java | 79 -
.../jts/geomgraph/index/MonotoneChain.java | 55 -
.../jts/geomgraph/index/MonotoneChainEdge.java | 154 -
.../jts/geomgraph/index/MonotoneChainIndexer.java | 118 -
.../jts/geomgraph/index/SegmentIntersector.java | 216 -
.../geomgraph/index/SimpleEdgeSetIntersector.java | 101 -
.../index/SimpleMCSweepLineIntersector.java | 165 -
.../index/SimpleSweepLineIntersector.java | 161 -
.../jts/geomgraph/index/SweepLineEvent.java | 112 -
.../jts/geomgraph/index/SweepLineSegment.java | 74 -
.../vividsolutions/jts/index/ArrayListVisitor.java | 57 -
src/com/vividsolutions/jts/index/ItemVisitor.java | 45 -
src/com/vividsolutions/jts/index/SpatialIndex.java | 87 -
.../vividsolutions/jts/index/bintree/Bintree.java | 212 -
.../vividsolutions/jts/index/bintree/Interval.java | 105 -
src/com/vividsolutions/jts/index/bintree/Key.java | 96 -
src/com/vividsolutions/jts/index/bintree/Node.java | 173 -
.../vividsolutions/jts/index/bintree/NodeBase.java | 195 -
src/com/vividsolutions/jts/index/bintree/Root.java | 121 -
.../jts/index/chain/MonotoneChain.java | 249 -
.../jts/index/chain/MonotoneChainBuilder.java | 139 -
.../index/chain/MonotoneChainOverlapAction.java | 76 -
.../jts/index/chain/MonotoneChainSelectAction.java | 75 -
.../intervalrtree/IntervalRTreeBranchNode.java | 67 -
.../index/intervalrtree/IntervalRTreeLeafNode.java | 58 -
.../jts/index/intervalrtree/IntervalRTreeNode.java | 78 -
.../intervalrtree/SortedPackedIntervalRTree.java | 159 -
.../vividsolutions/jts/index/kdtree/KdNode.java | 165 -
.../jts/index/kdtree/KdNodeVisitor.java | 50 -
.../vividsolutions/jts/index/kdtree/KdTree.java | 371 -
.../jts/index/quadtree/DoubleBits.java | 174 -
.../jts/index/quadtree/IntervalSize.java | 73 -
src/com/vividsolutions/jts/index/quadtree/Key.java | 102 -
.../vividsolutions/jts/index/quadtree/Node.java | 199 -
.../jts/index/quadtree/NodeBase.java | 252 -
.../jts/index/quadtree/Quadtree.java | 259 -
.../vividsolutions/jts/index/quadtree/Root.java | 120 -
.../jts/index/strtree/AbstractNode.java | 144 -
.../jts/index/strtree/AbstractSTRtree.java | 465 -
.../jts/index/strtree/Boundable.java | 51 -
.../jts/index/strtree/BoundablePair.java | 231 -
.../jts/index/strtree/GeometryItemDistance.java | 64 -
.../vividsolutions/jts/index/strtree/Interval.java | 78 -
.../jts/index/strtree/ItemBoundable.java | 58 -
.../jts/index/strtree/ItemDistance.java | 58 -
.../vividsolutions/jts/index/strtree/SIRtree.java | 130 -
.../vividsolutions/jts/index/strtree/STRtree.java | 393 -
.../jts/index/sweepline/SweepLineEvent.java | 87 -
.../jts/index/sweepline/SweepLineIndex.java | 114 -
.../jts/index/sweepline/SweepLineInterval.java | 61 -
.../index/sweepline/SweepLineOverlapAction.java | 46 -
.../vividsolutions/jts/io/ByteArrayInStream.java | 91 -
.../jts/io/ByteOrderDataInStream.java | 108 -
src/com/vividsolutions/jts/io/ByteOrderValues.java | 139 -
src/com/vividsolutions/jts/io/InStream.java | 54 -
.../vividsolutions/jts/io/InputStreamInStream.java | 54 -
src/com/vividsolutions/jts/io/OutStream.java | 45 -
.../jts/io/OutputStreamOutStream.java | 54 -
src/com/vividsolutions/jts/io/ParseException.java | 75 -
src/com/vividsolutions/jts/io/WKBConstants.java | 49 -
.../vividsolutions/jts/io/WKBHexFileReader.java | 185 -
src/com/vividsolutions/jts/io/WKBReader.java | 375 -
src/com/vividsolutions/jts/io/WKBWriter.java | 436 -
src/com/vividsolutions/jts/io/WKTFileReader.java | 182 -
src/com/vividsolutions/jts/io/WKTReader.java | 735 -
src/com/vividsolutions/jts/io/WKTWriter.java | 777 -
.../vividsolutions/jts/io/gml2/GMLConstants.java | 74 -
src/com/vividsolutions/jts/io/gml2/GMLHandler.java | 288 -
src/com/vividsolutions/jts/io/gml2/GMLReader.java | 132 -
src/com/vividsolutions/jts/io/gml2/GMLWriter.java | 486 -
.../jts/io/gml2/GeometryStrategies.java | 534 -
src/com/vividsolutions/jts/io/kml/KMLWriter.java | 386 -
.../jts/linearref/ExtractLineByLocation.java | 208 -
.../jts/linearref/LengthIndexOfPoint.java | 148 -
.../jts/linearref/LengthIndexedLine.java | 272 -
.../jts/linearref/LengthLocationMap.java | 224 -
.../jts/linearref/LinearGeometryBuilder.java | 152 -
.../jts/linearref/LinearIterator.java | 209 -
.../jts/linearref/LinearLocation.java | 484 -
.../jts/linearref/LocationIndexOfLine.java | 85 -
.../jts/linearref/LocationIndexOfPoint.java | 178 -
.../jts/linearref/LocationIndexedLine.java | 232 -
src/com/vividsolutions/jts/math/DD.java | 1401 -
src/com/vividsolutions/jts/math/MathUtil.java | 146 -
src/com/vividsolutions/jts/math/Matrix.java | 120 -
src/com/vividsolutions/jts/math/Plane3D.java | 112 -
src/com/vividsolutions/jts/math/Vector2D.java | 360 -
src/com/vividsolutions/jts/math/Vector3D.java | 182 -
.../jts/noding/BasicSegmentString.java | 112 -
.../jts/noding/FastNodingValidator.java | 174 -
.../noding/FastSegmentSetIntersectionFinder.java | 100 -
.../jts/noding/InteriorIntersectionFinder.java | 280 -
.../noding/InteriorIntersectionFinderAdder.java | 113 -
.../jts/noding/IntersectionAdder.java | 185 -
.../jts/noding/IntersectionFinderAdder.java | 114 -
.../vividsolutions/jts/noding/IteratedNoder.java | 140 -
.../vividsolutions/jts/noding/MCIndexNoder.java | 140 -
.../noding/MCIndexSegmentSetMutualIntersector.java | 159 -
.../jts/noding/NodableSegmentString.java | 54 -
.../jts/noding/NodedSegmentString.java | 212 -
src/com/vividsolutions/jts/noding/Noder.java | 67 -
.../vividsolutions/jts/noding/NodingValidator.java | 180 -
src/com/vividsolutions/jts/noding/Octant.java | 110 -
.../jts/noding/OrientedCoordinateArray.java | 131 -
src/com/vividsolutions/jts/noding/ScaledNoder.java | 156 -
.../jts/noding/SegmentIntersectionDetector.java | 237 -
.../jts/noding/SegmentIntersector.java | 72 -
src/com/vividsolutions/jts/noding/SegmentNode.java | 102 -
.../vividsolutions/jts/noding/SegmentNodeList.java | 383 -
.../jts/noding/SegmentPointComparator.java | 98 -
.../jts/noding/SegmentSetMutualIntersector.java | 70 -
.../vividsolutions/jts/noding/SegmentString.java | 65 -
.../jts/noding/SegmentStringDissolver.java | 173 -
.../jts/noding/SegmentStringUtil.java | 120 -
src/com/vividsolutions/jts/noding/SimpleNoder.java | 84 -
.../noding/SimpleSegmentSetMutualIntersector.java | 102 -
.../vividsolutions/jts/noding/SinglePassNoder.java | 91 -
.../jts/noding/snapround/GeometryNoder.java | 145 -
.../jts/noding/snapround/HotPixel.java | 321 -
.../jts/noding/snapround/MCIndexPointSnapper.java | 134 -
.../jts/noding/snapround/MCIndexSnapRounder.java | 167 -
.../jts/noding/snapround/SimpleSnapRounder.java | 195 -
.../vividsolutions/jts/operation/BoundaryOp.java | 191 -
.../jts/operation/GeometryGraphOperation.java | 91 -
.../vividsolutions/jts/operation/IsSimpleOp.java | 347 -
.../jts/operation/buffer/BufferBuilder.java | 328 -
.../buffer/BufferInputLineSimplifier.java | 260 -
.../jts/operation/buffer/BufferOp.java | 388 -
.../jts/operation/buffer/BufferParameters.java | 366 -
.../jts/operation/buffer/BufferSubgraph.java | 330 -
.../jts/operation/buffer/OffsetCurveBuilder.java | 362 -
.../operation/buffer/OffsetCurveSetBuilder.java | 311 -
.../operation/buffer/OffsetSegmentGenerator.java | 678 -
.../jts/operation/buffer/OffsetSegmentString.java | 156 -
.../jts/operation/buffer/RightmostEdgeFinder.java | 187 -
.../jts/operation/buffer/SubgraphDepthLocater.java | 258 -
.../validate/BufferCurveMaximumDistanceFinder.java | 143 -
.../buffer/validate/BufferDistanceValidator.java | 252 -
.../buffer/validate/BufferResultValidator.java | 227 -
.../buffer/validate/DistanceToPointFinder.java | 90 -
.../buffer/validate/PointPairDistance.java | 113 -
.../distance/ConnectedElementLocationFilter.java | 80 -
.../distance/ConnectedElementPointFilter.java | 78 -
.../jts/operation/distance/DistanceOp.java | 425 -
.../jts/operation/distance/FacetSequence.java | 190 -
.../distance/FacetSequenceTreeBuilder.java | 106 -
.../jts/operation/distance/GeometryLocation.java | 112 -
.../operation/distance/IndexedFacetDistance.java | 188 -
.../distance3d/AxisPlaneCoordinateSequence.java | 159 -
.../jts/operation/distance3d/Distance3DOp.java | 587 -
.../jts/operation/distance3d/PlanarPolygon3D.java | 195 -
.../jts/operation/linemerge/EdgeString.java | 103 -
.../operation/linemerge/LineMergeDirectedEdge.java | 80 -
.../jts/operation/linemerge/LineMergeEdge.java | 59 -
.../jts/operation/linemerge/LineMergeGraph.java | 91 -
.../jts/operation/linemerge/LineMerger.java | 198 -
.../jts/operation/linemerge/LineSequencer.java | 476 -
.../overlay/ConsistentPolygonRingChecker.java | 160 -
.../jts/operation/overlay/EdgeSetNoder.java | 78 -
.../jts/operation/overlay/LineBuilder.java | 201 -
.../jts/operation/overlay/MaximalEdgeRing.java | 105 -
.../jts/operation/overlay/MinimalEdgeRing.java | 66 -
.../jts/operation/overlay/OverlayNodeFactory.java | 56 -
.../jts/operation/overlay/OverlayOp.java | 695 -
.../jts/operation/overlay/PointBuilder.java | 126 -
.../jts/operation/overlay/PolygonBuilder.java | 299 -
.../operation/overlay/snap/GeometrySnapper.java | 276 -
.../operation/overlay/snap/LineStringSnapper.java | 236 -
.../overlay/snap/SnapIfNeededOverlayOp.java | 124 -
.../jts/operation/overlay/snap/SnapOverlayOp.java | 159 -
.../overlay/validate/FuzzyPointLocator.java | 151 -
.../overlay/validate/OffsetPointGenerator.java | 133 -
.../overlay/validate/OverlayResultValidator.java | 182 -
.../jts/operation/polygonize/EdgeRing.java | 476 -
.../polygonize/PolygonizeDirectedEdge.java | 114 -
.../jts/operation/polygonize/PolygonizeEdge.java | 56 -
.../jts/operation/polygonize/PolygonizeGraph.java | 444 -
.../jts/operation/polygonize/Polygonizer.java | 373 -
.../jts/operation/predicate/RectangleContains.java | 185 -
.../operation/predicate/RectangleIntersects.java | 353 -
.../jts/operation/relate/EdgeEndBuilder.java | 165 -
.../jts/operation/relate/EdgeEndBundle.java | 206 -
.../jts/operation/relate/EdgeEndBundleStar.java | 91 -
.../jts/operation/relate/RelateComputer.java | 396 -
.../jts/operation/relate/RelateNode.java | 81 -
.../jts/operation/relate/RelateNodeFactory.java | 52 -
.../jts/operation/relate/RelateNodeGraph.java | 150 -
.../jts/operation/relate/RelateOp.java | 141 -
.../jts/operation/union/CascadedPolygonUnion.java | 424 -
.../jts/operation/union/PointGeometryUnion.java | 99 -
.../jts/operation/union/UnaryUnionOp.java | 288 -
.../jts/operation/union/UnionInteracting.java | 152 -
.../operation/valid/ConnectedInteriorTester.java | 239 -
.../jts/operation/valid/ConsistentAreaTester.java | 162 -
.../operation/valid/IndexedNestedRingTester.java | 126 -
.../jts/operation/valid/IsValidOp.java | 618 -
.../operation/valid/QuadtreeNestedRingTester.java | 116 -
.../jts/operation/valid/RepeatedPointTester.java | 96 -
.../operation/valid/SimpleNestedRingTester.java | 98 -
.../operation/valid/SweeplineNestedRingTester.java | 129 -
.../operation/valid/TopologyValidationError.java | 193 -
.../jts/planargraph/DirectedEdge.java | 230 -
.../jts/planargraph/DirectedEdgeStar.java | 180 -
src/com/vividsolutions/jts/planargraph/Edge.java | 141 -
.../jts/planargraph/GraphComponent.java | 171 -
src/com/vividsolutions/jts/planargraph/Node.java | 145 -
.../vividsolutions/jts/planargraph/NodeMap.java | 101 -
.../jts/planargraph/PlanarGraph.java | 235 -
.../vividsolutions/jts/planargraph/Subgraph.java | 124 -
.../algorithm/ConnectedSubgraphFinder.java | 107 -
.../vividsolutions/jts/precision/CommonBits.java | 160 -
.../vividsolutions/jts/precision/CommonBitsOp.java | 184 -
.../jts/precision/CommonBitsRemover.java | 175 -
.../CoordinatePrecisionReducerFilter.java | 86 -
.../jts/precision/EnhancedPrecisionOp.java | 226 -
.../jts/precision/GeometryPrecisionReducer.java | 235 -
.../jts/precision/MinimumClearance.java | 334 -
.../PrecisionReducerCoordinateOperation.java | 98 -
.../precision/SimpleGeometryPrecisionReducer.java | 167 -
.../jts/precision/SimpleMinimumClearance.java | 181 -
.../jts/shape/GeometricShapeBuilder.java | 111 -
.../jts/shape/fractal/KochSnowflakeBuilder.java | 120 -
.../jts/shape/fractal/SierpinskiCarpetBuilder.java | 113 -
.../jts/shape/random/RandomPointsBuilder.java | 123 -
.../shape/random/RandomPointsInGridBuilder.java | 173 -
.../jts/simplify/DouglasPeuckerLineSimplifier.java | 116 -
.../jts/simplify/DouglasPeuckerSimplifier.java | 224 -
.../jts/simplify/LineSegmentIndex.java | 113 -
.../jts/simplify/TaggedLineSegment.java | 61 -
.../jts/simplify/TaggedLineString.java | 118 -
.../jts/simplify/TaggedLineStringSimplifier.java | 256 -
.../jts/simplify/TaggedLinesSimplifier.java | 84 -
.../jts/simplify/TopologyPreservingSimplifier.java | 187 -
.../jts/simplify/VWLineSimplifier.java | 162 -
.../vividsolutions/jts/simplify/VWSimplifier.java | 227 -
.../ConformingDelaunayTriangulationBuilder.java | 205 -
.../ConformingDelaunayTriangulator.java | 564 -
.../ConstraintEnforcementException.java | 85 -
.../triangulate/ConstraintSplitPointFinder.java | 59 -
.../jts/triangulate/ConstraintVertex.java | 109 -
.../jts/triangulate/ConstraintVertexFactory.java | 47 -
.../triangulate/DelaunayTriangulationBuilder.java | 197 -
.../IncrementalDelaunayTriangulator.java | 143 -
.../jts/triangulate/MidpointSplitPointFinder.java | 62 -
.../NonEncroachingSplitPointFinder.java | 94 -
.../vividsolutions/jts/triangulate/Segment.java | 222 -
.../jts/triangulate/SplitSegment.java | 110 -
.../VertexTaggedGeometryDataMapper.java | 108 -
.../jts/triangulate/VoronoiDiagramBuilder.java | 191 -
.../quadedge/EdgeConnectedTriangleTraversal.java | 94 -
.../quadedge/LastFoundQuadEdgeLocator.java | 77 -
.../quadedge/LocateFailureException.java | 69 -
.../jts/triangulate/quadedge/QuadEdge.java | 434 -
.../jts/triangulate/quadedge/QuadEdgeLocator.java | 47 -
.../triangulate/quadedge/QuadEdgeSubdivision.java | 954 -
.../jts/triangulate/quadedge/QuadEdgeTriangle.java | 359 -
.../jts/triangulate/quadedge/QuadEdgeUtil.java | 71 -
.../jts/triangulate/quadedge/TraversalVisitor.java | 59 -
.../triangulate/quadedge/TrianglePredicate.java | 335 -
.../jts/triangulate/quadedge/TriangleVisitor.java | 49 -
.../jts/triangulate/quadedge/Vertex.java | 403 -
src/com/vividsolutions/jts/util/Assert.java | 126 -
.../jts/util/AssertionFailedException.java | 63 -
.../vividsolutions/jts/util/CollectionUtil.java | 100 -
.../jts/util/CoordinateArrayFilter.java | 72 -
.../jts/util/CoordinateCountFilter.java | 63 -
src/com/vividsolutions/jts/util/Debug.java | 342 -
.../jts/util/GeometricShapeFactory.java | 460 -
src/com/vividsolutions/jts/util/Memory.java | 108 -
src/com/vividsolutions/jts/util/NumberUtil.java | 11 -
src/com/vividsolutions/jts/util/ObjectCounter.java | 95 -
src/com/vividsolutions/jts/util/PriorityQueue.java | 154 -
src/com/vividsolutions/jts/util/Stopwatch.java | 108 -
src/com/vividsolutions/jts/util/StringUtil.java | 94 -
.../jts/util/UniqueCoordinateArrayFilter.java | 89 -
testxml/external/GEOSBuffer.xml | 59 -
testxml/external/TestBufferExternal.xml | 58 -
testxml/external/TestBufferExternal2.xml | 508 -
testxml/external/TestBufferJagged.xml | 75 -
testxml/external/TestOverlay.xml | 109 -
testxml/external/TestValid.xml | 26 -
testxml/failure/TestBigNastyBuffer.xml | 27 -
testxml/failure/TestBufferFailure.xml | 91 -
testxml/failure/TestBufferInsideNonEmpty.xml | 22 -
testxml/failure/TestOverlayFailure.xml | 280 -
testxml/general/TestBoundary.xml | 165 -
testxml/general/TestBuffer.xml | 135 -
testxml/general/TestBufferMitredJoin.xml | 60 -
testxml/general/TestCentroid.xml | 247 -
testxml/general/TestConvexHull-big.xml | 17 -
testxml/general/TestConvexHull.xml | 186 -
testxml/general/TestDensify.xml | 57 -
testxml/general/TestDistance.xml | 60 -
testxml/general/TestEqualsExact.xml | 157 -
testxml/general/TestFunctionAA.xml | 633 -
testxml/general/TestFunctionAAPrec.xml | 828 -
testxml/general/TestFunctionLA.xml | 522 -
testxml/general/TestFunctionLAPrec.xml | 59 -
testxml/general/TestFunctionLL.xml | 375 -
testxml/general/TestFunctionLLPrec.xml | 28 -
testxml/general/TestFunctionPA.xml | 155 -
testxml/general/TestFunctionPL.xml | 286 -
testxml/general/TestFunctionPLPrec.xml | 19 -
testxml/general/TestFunctionPP.xml | 269 -
testxml/general/TestInteriorPoint.xml | 128 -
testxml/general/TestMinimumClearance.xml | 89 -
testxml/general/TestOverlayEmpty.xml | 1021 -
testxml/general/TestPreparedPointPredicate.xml | 34 -
testxml/general/TestPreparedPolygonPredicate.xml | 191 -
...estPreparedPredicatesWithGeometryCollection.xml | 81 -
testxml/general/TestRectanglePredicate.xml | 304 -
testxml/general/TestRelateAA.xml | 235 -
testxml/general/TestRelateAC.xml | 27 -
testxml/general/TestRelateLA.xml | 190 -
testxml/general/TestRelateLC.xml | 41 -
testxml/general/TestRelateLL.xml | 311 -
testxml/general/TestRelatePA.xml | 103 -
testxml/general/TestRelatePL.xml | 124 -
testxml/general/TestRelatePP.xml | 64 -
testxml/general/TestSimple.xml | 357 -
testxml/general/TestUnaryUnion.xml | 161 -
testxml/general/TestUnaryUnionFloating.xml | 20 -
testxml/general/TestValid.xml | 746 -
testxml/general/TestValid2-big.xml | 18 -
testxml/general/TestValid2.xml | 5246 --
testxml/general/TestWithinDistance.xml | 92 -
testxml/robust/ExternalRobustness.xml | 220 -
testxml/robust/MagnifyTopology.xml | 86 -
testxml/robust/TestRobustOverlayError.xml | 19 -
testxml/robust/TestRobustOverlayFixed.xml | 18 -
testxml/robust/TestRobustOverlayFloat.xml | 104 -
testxml/robust/TestRobustRelate.xml | 19 -
testxml/stmlf/stmlf-cases-20061018_int.xml | 44826 ----------
testxml/stmlf/stmlf-cases-20061020_int.xml | 337 -
testxml/validate/TestRelateAA-big.xml | 34 -
testxml/validate/TestRelateAA.xml | 2833 -
testxml/validate/TestRelateAC.xml | 36 -
testxml/validate/TestRelateLA.xml | 1932 -
testxml/validate/TestRelateLC.xml | 57 -
testxml/validate/TestRelateLL.xml | 3388 -
testxml/validate/TestRelatePA.xml | 1018 -
testxml/validate/TestRelatePL.xml | 2263 -
testxml/validate/TestRelatePP.xml | 303 -
1705 files changed, 312474 insertions(+), 161688 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..71554b4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+.idea
+*.iml
+target
+.classpath
+.project
+.settings
+.externalToolBuilders
+build
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..20e9a0b
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,8 @@
+language: java
+jdk:
+ - oraclejdk8
+sudo: false
+cache:
+ directories:
+ - $HOME/.m2
+install: mvn install -B -V
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..1f26198
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,40 @@
+# Contributing to JTS
+
+The project welcomes contributions. JTS is a mature, widely-used library, so contributions will be reviewed carefully to ensure they do not compromise the quality of the codebase.
+
+To start, it helps to announce what you are working on ahead of time to confirm that it is an acceptable contribution. To do this post to the [JTS Mailing List](https://locationtech.org/mailman/listinfo/jts-dev).
+
+The following sections outline workflows involved with contributions.
+
+## Become a Contributor
+
+In order to have code contributions accepted, the submitter must:
+
+1. Sign the [Eclipse Contributor Agreement](https://www.eclipse.org/legal/ECA.php) (ECA) with the Eclipse Foundation. Use the registered email with the Git commits associated to the GitHub pull request.
+
+## Develop a Contribution
+
+Code contributions must include a license header at the top of each file. A sample header for Java files is [here](doc/sample_java_header.txt).
+
+Code contributions should include the following:
+
+* Javadoc on classes and methods
+* Unit Tests to demonstrate code correctness and allow this to be maintained going forward. In the case of bug fixes the unit test should demonstrate the bug in the absence of the fix (if any). Unit Tests are usually JUnit classes, or in some cases may be JTS TestRunner test cases
+* License information on __all__ provided source files. An example license header can be found [here](doc/sample_java_header.txt).
+
+## Make a Pull Request
+
+The easiest and most visible way to make a contribution is to submit a Pull Request (PR) to the [GitHub repo](https://github.com/locationtech/jts).
+
+When preparing a PR please do the following:
+
+1. Acknowledge that the code contribution is IP clean by 'signing off' the commits in the pull request with the '-s' option to 'git commit'.
+
+2. Labeling the PR helps to track and prioritize the contribution. Use the following labels:
+ * The contribution type: enhancement, bug, api
+ * The module being contributed to: jts-core, jst-io, jts-app, jts-doc, jts-build
+
+3. When a PR is submitted Travis CI will run to check the commiter Eclipse status and the build correctness.
+ Please check the PR status, and fix any reported problems
+
+If you have questions about this, please ask on the jts-dev list.
diff --git a/DEVELOPING.md b/DEVELOPING.md
new file mode 100644
index 0000000..e2a5848
--- /dev/null
+++ b/DEVELOPING.md
@@ -0,0 +1,88 @@
+# JTS Developing Guide
+
+## Building
+
+The JTS build chain uses Maven. Build commands are executed at the project root directory (this one).
+
+* Build JTS, with tests:
+
+ mvn clean install
+
+* Build JTS, no tests:
+
+ mvn clean install -DskipTests
+
+* Build `jts-io-ora`:
+
+ mvn install -Poracle
+
+* Build `jts-io-sde`:
+
+ mvn install -Parcsde
+
+* Build everything:
+
+ mvn install -Pall
+
+## Javadoc
+
+* Build Javadoc for core modules
+
+ mvn javadoc:aggregate
+
+## Eclipse Configuration
+
+* Generate Eclipse configuration using `mvn eclipse:eclipse`
+* Import the generated projects into an Eclipse workspace
+
+### Run Configurations
+
+It is convenient to define the following Run Configurations:
+
+
+* **JTS TestRunner** - for executing XML tests:
+
+Field | Value
+------|------
+Type | Java Application
+Project | `jts-tests`
+Main class | `org.locationtech.jtstest.testrunner.JTSTestRunnerCmd`
+Program arguments | `-files validate general`
+Working directory | `${workspace_loc:jts-tests/src/test/resources/testxml}`
+
+* **JTS TestBuilder** - for viewing and processing geometry with JTS
+
+Field | Value
+------|------
+Type | Java Application
+Project | `jts-app`
+Main class | `org.locationtech.jtstest.testbuilder.JTSTestBuilder`
+Program arguments (optional) | `-geomfunc <classname> ...`
+VM args | `-Xmx1000M`
+VM args (optional, for Mac) | `-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel`
+Working directory | Default
+
+## Testing
+
+JTS aims for 100% code coverage for unit tests.
+
+There are two kinds of unit tests:
+
+### JUnit tests
+
+Used for verifying API code, internal data structures, and ancillary algorithms.
+
+### XML Tests
+
+JTS provides a code-independent, declarative XML-based format for expressing geometric functional tests.
+This format has the following advantages:
+
+* allows encoding large geometries
+* provides geometric test cases in a reusable way
+* easily consumed by external tools such as the JTS TestBuilder or other geometry libraries (e.g. GEOS)
+* allows geometric tests to be used with other operation implementations, for testing or comparison purposes
+
+This format should be used for tests which involve large geometries, or which
+express fundamental geometric semantics of the JTS library.
+
+
diff --git a/FAQ-LICENSING.md b/FAQ-LICENSING.md
new file mode 100644
index 0000000..63d970a
--- /dev/null
+++ b/FAQ-LICENSING.md
@@ -0,0 +1,62 @@
+# JTS Licensing FAQ
+
+JTS is dual-licensed under:
+
+* the [Eclipse Public License 1.0](https://www.eclipse.org/legal/epl-v10.html) ("EPL")
+* the [Eclipse Distribution License 1.0](http://www.eclipse.org/org/documents/edl-v10.php) (a Revised BSD-style license).
+
+More detail is provided in the [LICENSES](LICENSES.md) document.
+
+This FAQ clarifies the implications of the JTS software licensing.
+
+## Terminology
+
+* **Downstream projects** are codebases which link to JTS libraries
+ * e.g. GeoTools, GeoServer, etc.
+* **Derivative projects** are ports of JTS to other languages
+ * e.g. GEOS, JSTS, etc.
+
+
+## Licensing Frequently Asked Questions
+
+**A1. What is the difference between EDL and Revised BSD?**
+
+ Revised BSD is a license *family* (see [Wikipedia entry](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22BSD_License_2.0.22.2C_.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29)).
+ Revised BSD is also known as "Modified BSD", "BSD 2.0" or "3-clause BSD". It is a less restrictive version of the original BSD license.
+
+ EDL is the actual defined license.
+ It is called that because Eclipse is the distributing organization.
+
+**A2. JTS no longer uses LGPL. What does this mean for downstream projects?**
+
+ JTS is now released under a dual license: EDL **or** EPL.
+
+ Dual-licensing gives downstream projects their choice of either:
+
+* The **EDL** is a Revised BSD-style license. This license is **more** permissive than the LGPL, allowing a wider variety of uses.
+
+* The **EPL** provides a similar permissiveness to LGPL, with different wording around patents and requires a notice of where source code for JTS is available.
+
+The choice of which license to use is up to you.
+
+**A3. But I thought LGPL and EPL do not mix? How does this affect derivative projects like the LGPL GEOS project?**
+
+ An LGPL project (like GEOS or GeoTools) can use JTS as a dependency, under the terms of the EDL license.
+ The three clauses in the EDL (common to all BSD-style licenses) allow GEOS to
+ port the JTS work to C and distribute the resulting work under the LGPL.
+ Although the LGPL license contains additional restrictions
+ (notably a requirement to share modifications under the same license)
+ that exceed what is required by the EDL, these do not conflict with the EDL.
+
+ For further information about the compatibility of Revised BSD-style licenses
+ with the GPL see the [FSF License Comments](https://www.gnu.org/licenses/license-list.en.html).
+
+**A4. How can an LGPL-licensed project (such as GEOS) contribute code to JTS?**
+
+ From the JTS perspective this works in the same way as any other contribution.
+ The contributor must have an Eclipse *Contributor License Agreement* (CLA) in place.
+ For details see the [**Contributing Guide**](CONTRIBUTING.md).
+
+ Code contributed to JTS **must** be releasable under the EDL & EPL licenses.
+ Therefore the contributor must have permission from the contributing project (e.g. via OSGeo CLA or similar)
+ to relicense the work in question.
diff --git a/LICENSES.md b/LICENSES.md
new file mode 100644
index 0000000..9710953
--- /dev/null
+++ b/LICENSES.md
@@ -0,0 +1,21 @@
+# JTS Topology Suite Licensing
+
+May 30th, 2017
+
+## Project Licenses
+
+The Eclipse Foundation makes available all content in this project ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of either the [Eclipse Public License 1.0](https://www.eclipse.org/legal/epl-v10.html) ("EPL") or the [Eclipse Distribution License 1.0](http://www.eclipse.org/org/documents/edl-v10.php) (a BSD Style License). For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source [...]
+
+## Third Party Content
+
+The Content includes items that have been sourced from third parties as set out below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor's license for terms and conditions of use.
+
+### GeoTools
+
+JTS includes some code from the GeoTools project. This code has been licensed to the JTS project under the OSGeo BSD License [2] by the GeoTools PSC [3,4].
+
+[2] https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+[3] https://github.com/geotools/geotools/wiki/JTS-ORA-Contribution
+[4] https://github.com/geotools/geotools/wiki/JTS-Shapefile-Contribution
diff --git a/LICENSE_EDLv1.txt b/LICENSE_EDLv1.txt
new file mode 100644
index 0000000..52646c2
--- /dev/null
+++ b/LICENSE_EDLv1.txt
@@ -0,0 +1,30 @@
+Eclipse Distribution License - v 1.0
+
+Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
+
+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 the Eclipse Foundation, Inc. nor the names of its
+ 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 OWNER 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/LICENSE_EPLv1.txt b/LICENSE_EPLv1.txt
new file mode 100644
index 0000000..7d44921
--- /dev/null
+++ b/LICENSE_EPLv1.txt
@@ -0,0 +1,216 @@
+Eclipse Public License, Version 1.0 (EPL-1.0)
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+ documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+ i) changes to the Program, and
+ ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates'
+from a Contributor if it was added to the Program by such Contributor itself
+or anyone acting on such Contributor's behalf. Contributions do not include
+additions to the Program which: (i) are separate modules of software
+distributed in conjunction with the Program under their own license agreement,
+and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or
+when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with
+this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants
+ Recipient a non-exclusive, worldwide, royalty-free copyright license to
+ reproduce, prepare derivative works of, publicly display, publicly
+ perform, distribute and sublicense the Contribution of such
+ Contributor, if any, and such derivative works,
+ in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants
+ Recipient a non-exclusive, worldwide, royalty-free patent license under
+ Licensed Patents to make, use, sell, offer to sell, import and
+ otherwise transfer the Contribution of such Contributor, if any,
+ in source code and object code form. This patent license shall apply
+ to the combination of the Contribution and the Program if, at the time
+ the Contribution is added by the Contributor, such addition of the
+ Contribution causes such combination to be covered by the
+ Licensed Patents. The patent license shall not apply to any other
+ combinations which include the Contribution.
+ No hardware per se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity.
+ Each Contributor disclaims any liability to Recipient for claims
+ brought by any other entity based on infringement of intellectual
+ property rights or otherwise. As a condition to exercising the
+ rights and licenses granted hereunder, each Recipient hereby assumes
+ sole responsibility to secure any other intellectual property rights
+ needed, if any. For example, if a third party patent license is
+ required to allow Recipient to distribute the Program, it is
+ Recipient's responsibility to acquire that license
+ before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or
+ conditions of title and non-infringement, and implied warranties or
+ conditions of merchantability and fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability
+ for damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if any, in a manner that reasonably allows subsequent Recipients to
+identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore,
+if a Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor") against any
+losses, damages and costs (collectively "Losses") arising from claims,
+lawsuits and other legal actions brought by a third party against the
+Indemnified Contributor to the extent caused by the acts or omissions of
+such Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not apply
+to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must:
+a) promptly notify the Commercial Contributor in writing of such claim,
+and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such
+claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor.
+If that Commercial Contributor then makes performance claims, or offers
+warranties related to Product X, those performance claims and warranties
+are such Commercial Contributor's responsibility alone. Under this section,
+the Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+Each Recipient is solely responsible for determining the appropriateness of
+using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the
+risks and costs of program errors, compliance with applicable laws, damage to
+or loss of data, programs or equipment, and unavailability
+or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by
+the parties hereto, such provision shall be reformed to the minimum extent
+necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted
+under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and
+does not cure such failure in a reasonable period of time after becoming
+aware of such noncompliance. If all Recipient's rights under this
+Agreement terminate, Recipient agrees to cease use and distribution of the
+Program as soon as reasonably practicable. However, Recipient's obligations
+under this Agreement and any licenses granted by Recipient relating to the
+Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and may
+only be modified in the following manner. The Agreement Steward reserves
+the right to publish new versions (including revisions) of this Agreement
+from time to time. No one other than the Agreement Steward has the right to
+modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version
+of the Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly
+stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
+licenses to the intellectual property of any Contributor under this Agreement,
+whether expressly, by implication, estoppel or otherwise. All rights in the
+Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to
+this Agreement will bring a legal action under this Agreement more than one
+year after the cause of action arose. Each party waives its rights to a
+jury trial in any resulting litigation.
diff --git a/MIGRATION.md b/MIGRATION.md
new file mode 100644
index 0000000..9ead150
--- /dev/null
+++ b/MIGRATION.md
@@ -0,0 +1,32 @@
+JTS Upgrade Guide
+=================
+
+The JTS Topology Suite has a long history, and in 2016/2017, [Vivid Solutions](http://www.vividsolutions.com/) brought the project to the LocationTech working group of the Eclipse Foundation.
+
+During that transition, the Java package names and Maven GAVs have changed. For package names (typically used in imports), the change is reflected below:
+
+| | **JTS 1.14.0 and before** | **JTS 1.15.0 and later** |
+|---------------|:--------------------------|:----------------------------|
+| Maven GroupId | com.vividsolutions | org.locationtech.jts |
+| Package names | com.vividsolutions.jts.* | org.locationtech.jts.* |
+
+To upgrade a Maven project (or another build tool using Maven dependency management), one can do a find and replace on ```pom.xml``` files (or similiar build files). In the source code, one could do a find and replace on the package names. As a concrete example, one could use these two commands to handle most of the migration.
+
+```
+git grep -l com.vividsolutions | grep pom.xml | xargs sed -i "s/com.vividsolutions/org.locationtech.jts/g"
+git grep -l com.vividsolutions | xargs sed -i "s/com.vividsolutions/org.locationtech/g"
+```
+
+## Using JTS with Maven
+
+To include JTS in a Maven project, add a dependency block like the following:
+
+```xml
+<dependency>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-core</artifactId>
+ <version>${jts.version}</version>
+</dependency>
+```
+
+Where ${jts.version} is the released version of JTS one chooses to use. See the [releases](https://github.com/locationtech/jts/releases) page for options.
diff --git a/OSGEO_LICENSE.txt b/OSGEO_LICENSE.txt
new file mode 100644
index 0000000..0c81f79
--- /dev/null
+++ b/OSGEO_LICENSE.txt
@@ -0,0 +1,11 @@
+Copyright (c) 2003, Open Source Geospatial Foundation.
+
+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 the Open Source Geospatial Foundation, nor the names of its 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 OWNER 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 PROFI [...]
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..237429d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,59 @@
+JTS Topology Suite
+==================
+
+The JTS Topology Suite is a Java library for creating and manipulating vector geometry. It also provides a comprehensive set of geometry test cases, and the TestBuilder GUI application for working with and visualizing geometry and JTS functions.
+
+![JTS logo](jts_logo.png)
+
+[![Build Status](https://api.travis-ci.org/locationtech/jts.svg)](http://travis-ci.org/locationtech/jts) [![Join the chat at https://gitter.im/locationtech/jts](https://badges.gitter.im/locationtech/jts.svg)](https://gitter.im/locationtech/jts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+
+JTS is in incubation with the [LocationTech](http://www.locationtech.org) working group of the Eclipse Foundation.
+
+![LocationTech](locationtech_mark.png)
+
+## Locations
+
+* Git Repo: [github.com/locationtech/jts](https://github.com/locationtech/jts)
+* Mailing List: [locationtech.org/mailman/listinfo/jts-dev](https://locationtech.org/mailman/listinfo/jts-dev)
+* LocationTech Home: [locationtech.org/projects/technology.jts](https://locationtech.org/projects/technology.jts)
+* GitHub web pages: [locationtech.github.io/jts/](https://locationtech.github.io/jts/)
+* Gitter Channel: [gitter.im/locationtech/jts](https://gitter.im/locationtech/jts)
+
+## License
+
+JTS is open source software. It is dual-licensed under:
+
+* [Eclipse Public License 1.0](https://www.eclipse.org/legal/epl-v10.html)
+* [Eclipse Distribution License 1.0](http://www.eclipse.org/org/documents/edl-v10.php) (a BSD Style License)
+
+See also:
+
+* [License details](LICENSES.md)
+* Licensing [FAQ](FAQ-LICENSING.md)
+
+## Documentation
+
+* Javadoc: [https://locationtech.github.io/jts/javadoc](https://locationtech.github.io/jts/javadoc)
+* Installing and using JTS is described in the [**User Guide**](USING.md).
+* Building and developing with JTS is described in the [**Developing Guide**](DEVELOPING.md).
+
+## Contributing
+
+If you are interested in contributing to JTS please read the [**Contributing Guide**](CONTRIBUTING.md).
+
+## Downstream Projects
+
+### Derivative (ports to other languages)
+* [**GEOS**](https://trac.osgeo.org/geos) - C++
+* [**NetTopologySuite**](https://github.com/NetTopologySuite/NetTopologySuite) - .NET
+* [**JSTS**](https://github.com/bjornharrtell/jsts) - JavaScript
+
+### Via GEOS
+* [**Shapely**](https://github.com/Toblerity/Shapely) - Python wrapper of GEOS
+* [**R-GEOS**](https://cran.r-project.org/web/packages/rgeos/index.html) - R wrapper of GEOS
+* [**rgeo**](https://github.com/rgeo/rgeo) - Ruby wrapper of GEOS
+* [**GEOSwift**](https://github.com/GEOSwift/GEOSwift)- Swift library using GEOS
+
+
+
diff --git a/RELEASING.md b/RELEASING.md
new file mode 100644
index 0000000..3dc8653
--- /dev/null
+++ b/RELEASING.md
@@ -0,0 +1,15 @@
+# JTS Release Guide
+
+This guide is intended for JTS project maintainers,
+to assist them in preparing releases of the project.
+
+## Release Checklist
+
+* Set the version number in the following artifacts:
+ * Maven POMs
+ * Java class `JTSVersion`
+* Create a Release Milestone, and tag it to Issues and PRs wanted in the release
+* Confirm Maven build executes with no errors
+* Review scripts in `bin` to confirm correctness
+* Update the Version History, to record significant changes
+
diff --git a/USING.md b/USING.md
new file mode 100644
index 0000000..41270d0
--- /dev/null
+++ b/USING.md
@@ -0,0 +1,84 @@
+# JTS User Guide
+
+## Project Structure
+
+JTS consists of several Java modules.
+Each one corresponds to a separate JAR file.
+
+The core modules are:
+
+* `jts-core` - The JTS core: geometry model, operations, algorithms, and spatial data structures
+* `jts-io-common` - I/O classes for open spatial formats
+
+The following modules depend on proprietary libraries, and are not built by default:
+
+* `jts-io-ora` - Oracle reader and writer
+* `jts-io-sde` - SDE reader and writer
+
+The following modules are applications and data for testing and working with JTS
+
+* `jts-tests` - The JTS XML test suite and the Test Runner application
+* `jts-app` -The TestBuilder GUI, for working with JTS geometry interactively
+
+## Using JTS with Maven
+
+To include JTS in a Maven project, add a dependency block like the following:
+
+```xml
+<dependency>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-core</artifactId>
+ <version>${jts.version}</version>
+</dependency>
+```
+
+JTS snapshot artifacts are published to the LocationTech Maven repository. To include JTS in a project, add the following repositories to the pom.
+
+```xml
+<repositories>
+ <repository>
+ <id>locationtech-releases</id>
+ <url>https://repo.locationtech.org/content/groups/releases</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>jts-snapshots</id>
+ <url>https://repo.locationtech.org/content/repositories/jts-snapshots</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+</repositories>
+```
+## Using older versions of JTS with Maven
+
+Older versions of JTS are available on Maven Central.
+
+### 1.14
+
+```xml
+<dependency>
+ <groupId>com.vividsolutions</groupId>
+ <artifactId>jts-core</artifactId>
+ <version>1.14.0</version>
+</dependency>
+<dependency>
+ <groupId>com.vividsolutions</groupId>
+ <artifactId>jts-io</artifactId>
+ <version>1.14.0</version>
+</dependency>
+```
+### 1.13
+
+```xml
+<dependency>
+ <groupId>com.vividsolutions</groupId>
+ <artifactId>jts</artifactId>
+ <version>1.13</version>
+</dependency>
+```
diff --git a/bin/test.bat b/bin/test.bat
index 759f65e..4b868bb 100644
--- a/bin/test.bat
+++ b/bin/test.bat
@@ -1,25 +1,25 @@
- at echo off
-rem A batch file to run the XML test files written by Geographic Data BC.
-
-set CLASSPATH=
-for %%i in (..\lib\*.*) do (
- set jarfile=%%i
-
- rem If we append to a variable inside the for, only the last entry will
- rem be kept. So append to the variable outside the for.
- rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
- rem [Jon Aquino]
-
- call :setclass
-)
-
-java com.vividsolutions.jtstest.testrunner.TopologyTestApp -Files ..\testxml\validate ..\testxml\general
-pause
-
-goto :eof
-
-:setclass
-set CLASSPATH=%jarfile%;%CLASSPATH%
-set jarfile=
-
+ at echo off
+rem A batch file to run the XML test files written by Geographic Data BC.
+
+set CLASSPATH=
+for %%i in (..\lib\*.*) do (
+ set jarfile=%%i
+
+ rem If we append to a variable inside the for, only the last entry will
+ rem be kept. So append to the variable outside the for.
+ rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
+ rem [Jon Aquino]
+
+ call :setclass
+)
+
+java com.vividsolutions.jtstest.testrunner.TopologyTestApp -Files ..\testxml\validate ..\testxml\general
+pause
+
+goto :eof
+
+:setclass
+set CLASSPATH=%jarfile%;%CLASSPATH%
+set jarfile=
+
:eof
\ No newline at end of file
diff --git a/bin/test_robust.bat b/bin/test_robust.bat
index a206dca..1fa34ae 100644
--- a/bin/test_robust.bat
+++ b/bin/test_robust.bat
@@ -1,25 +1,25 @@
- at echo off
-rem A batch file to run a XML test files
-
-set CLASSPATH=
-for %%i in (..\lib\*.*) do (
- set jarfile=%%i
-
- rem If we append to a variable inside the for, only the last entry will
- rem be kept. So append to the variable outside the for.
- rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
- rem [Jon Aquino]
-
- call :setclass
-)
-
-java com.vividsolutions.jtstest.testrunner.TopologyTestApp -Files ..\testxml\robust
-pause
-
-goto :eof
-
-:setclass
-set CLASSPATH=%jarfile%;%CLASSPATH%
-set jarfile=
-
+ at echo off
+rem A batch file to run a XML test files
+
+set CLASSPATH=
+for %%i in (..\lib\*.*) do (
+ set jarfile=%%i
+
+ rem If we append to a variable inside the for, only the last entry will
+ rem be kept. So append to the variable outside the for.
+ rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
+ rem [Jon Aquino]
+
+ call :setclass
+)
+
+java com.vividsolutions.jtstest.testrunner.TopologyTestApp -Files ..\testxml\robust
+pause
+
+goto :eof
+
+:setclass
+set CLASSPATH=%jarfile%;%CLASSPATH%
+set jarfile=
+
:eof
\ No newline at end of file
diff --git a/bin/test_stmlf.bat b/bin/test_stmlf.bat
deleted file mode 100644
index 1335594..0000000
--- a/bin/test_stmlf.bat
+++ /dev/null
@@ -1,25 +0,0 @@
- at echo off
-rem A batch file to run a XML test files
-
-set CLASSPATH=
-for %%i in (..\lib\*.*) do (
- set jarfile=%%i
-
- rem If we append to a variable inside the for, only the last entry will
- rem be kept. So append to the variable outside the for.
- rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
- rem [Jon Aquino]
-
- call :setclass
-)
-
-java com.vividsolutions.jtstest.testrunner.TopologyTestApp -Files ..\testxml\stmlf -geomop com.vividsolutions.jtstest.geomop.OverlayValidatedGeometryOperation
-pause
-
-goto :eof
-
-:setclass
-set CLASSPATH=%jarfile%;%CLASSPATH%
-set jarfile=
-
-:eof
\ No newline at end of file
diff --git a/bin/testbuilder.bat b/bin/testbuilder.bat
index cf0a6ed..77084d6 100644
--- a/bin/testbuilder.bat
+++ b/bin/testbuilder.bat
@@ -1,26 +1,13 @@
- at echo off
-rem A batch file to run the JTS Test Builder
-
-set CLASSPATH=
-for %%i in (..\lib\*.*) do (
- set jarfile=%%i
-
- rem If we append to a variable inside the for, only the last entry will
- rem be kept. So append to the variable outside the for.
- rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
- rem [Jon Aquino]
-
- call :setclass
-)
-
-set MEMSIZE=256
-
-start javaw -Xmx%MEMSIZE%M com.vividsolutions.jtstest.testbuilder.JTSTestBuilder
-
-goto :eof
-
-:setclass
-set CLASSPATH=%jarfile%;%CLASSPATH%
-set jarfile=
-
-:eof
\ No newline at end of file
+ at echo off
+rem Windows batch file to run the JTS Test Builder from the Maven target directory
+
+set JAVA_OPTS=-Xms256M -Xmx1024M
+
+REM to change L&F if desired. Blank is default
+REM JAVA_LOOKANDFEEL="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"
+set JAVA_LOOKANDFEEL=
+
+REM Default app options can be added here
+set APP_OPTS=%*
+
+javaw %JAVA_OPTS% %JAVA_LOOKANDFEEL% -jar %~dp0\..\modules\app\target\JTSTestBuilder.jar %APP_OPTS%
diff --git a/bin/testrunner.bat b/bin/testrunner.bat
index fce19ee..835c5f3 100644
--- a/bin/testrunner.bat
+++ b/bin/testrunner.bat
@@ -1,24 +1,6 @@
- at echo off
-rem A batch file to run the JTS test runner.
-
-set CLASSPATH=
-for %%i in (..\lib\*.*) do (
- set jarfile=%%i
-
- rem If we append to a variable inside the for, only the last entry will
- rem be kept. So append to the variable outside the for.
- rem See http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20561701.html.
- rem [Jon Aquino]
-
- call :setclass
-)
-
-start javaw com.vividsolutions.jtstest.testrunner.TopologyTestApp -Properties testrunner.properties -GUI
-
-goto :eof
-
-:setclass
-set CLASSPATH=%jarfile%;%CLASSPATH%
-set jarfile=
-
-:eof
\ No newline at end of file
+ at echo off
+REM A batch file to run the JTS Test Runner.
+REM Requirements: Maven build must be run to create fat jar (mvn clean install)
+
+java -jar %~dp0\..\modules\tests\target\JTSTestRunner.jar %*
+
diff --git a/bin/testrunner.properties b/bin/testrunner.properties
index 9f4e8dc..4e93f23 100644
--- a/bin/testrunner.properties
+++ b/bin/testrunner.properties
@@ -1,3 +1,3 @@
-#Properties file for class com.vividsolutions.jtstest.testrunner.TopologyTestApp
-#Wed Dec 06 16:08:49 PST 2006
-TestFiles=\ Z\:\\proj\\jts\\robust\\tests\\unit\\cmp-5966094-2025063.xml
+#Properties file for class com.vividsolutions.jtstest.testrunner.TopologyTestApp
+#Wed Dec 06 16:08:49 PST 2006
+TestFiles=\ Z\:\\proj\\jts\\robust\\tests\\unit\\cmp-5966094-2025063.xml
diff --git a/doc/JTS_Version_History.html b/doc/JTS_Version_History.html
index f2f4538..0127274 100644
--- a/doc/JTS_Version_History.html
+++ b/doc/JTS_Version_History.html
@@ -1,1179 +1,1246 @@
-<html>
-
-<head>
-<title>JTS Version History</title>
-</head>
-
-<body bgcolor='#DFF0FF'>
-<h1 style='text-align:center; color:darkblue;'>
-JTS TOPOLOGY SUITE
-<br>
-<i>Version History</i>
-</h1>
-
-
-This document lists the change history of release versions of the
-<span style='color:darkblue;'><b>JTS Topology Suite</b></span>.
-<p>
-Further information on JTS can be found at <b>Tsusiat Software's
-<a href='http://tsusiatsoftware.net/jts/main.html'>JTS pages</a></b>.
-<p>
-The current and archived JTS distributions can be obtained at the
-<a href='http://sourceforge.net/projects/jts-topo-suite/'><b>SourceForge JTS site</b></a>.
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.14</h2>
-
-<i>Release Date: September 23, 2015</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <code>Envelope.compareTo</code> method
-<li>Fixed <code>SegmentSetMutualIntersector</code> classes to be thread-safe</li>
-<li>Fixed <code>PreparedGeometry</code> classes to be thread-safe</li>
-<li>Added <code>LineDissolver</code> class
-<li>Added <code>edgegraph</code> package
-<li>Added <code>CoordinateSequences.isEqual</code> method
-<li>Extended <code>CoordinateSequences.copy</code> and <code>CoordinateSequences.copy</code> to handle inputs of different dimension
-<li>Added <code>CoordinateArrays.envelope()</code> function
-<li>Added <code>CoordinateArrays.intersection()</code> function
-<li>Added <code>Polygonizer.setCheckValidRings()</code> method for optimizing performance in some situations
-<li>Added <code>KMLWriter</code> to convert Geometry to KML representation
-<li>Added <code>Coordinate</code> <code>equals3D</code>, <code>equals2D(Coordinate, tolerance)</code>, and <code>equalInZ</code> methods.
-<li>Added <code>VWSimplifier</code> to perform Visvalingam-Whyatt simplification
-<li>Enhanced <code>WKBReader</code> to handle Spatialite WKB format
-<li>Added <code>DD.setValue()</code> methods
-<li>Added <code>getGeometry()</code> methods to <code>LinearComponentExtracter</code> and <code>LineStringExtracter</code>
-<li>Added <code>BufferParameters</code> </code>simplifyFactor</code> setting
-<li>Added node counting and ability to not keep intersection points to <code>InteriorIntersectionFinder</code>
-<li>Added <code>Polygonizer</code> functionality to extract only polygons forming a valid polygonal geometry
-<li>Added <code>KdTree.toCoordinates</code>
-<li>Added <code>MinimumBoundingCircle.getFarthestPoints</code> method
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Performance & memory improvement in <tt>PreparedPolygonIntersects</tt> by short-circuiting point input case
-<li>Allow for memory usage optimization in <code>CascadedPolygonUnion</code>, by avoiding retaining input collection
-<li>Fix <code>Point.isEmpty()</code> to avoid allocating a coordinate
-<li>Fix <code>Geometry.equalsExact()</code> to short-circuit when the inputs are identical objects
-<li>Add short-circuit to <code>PointExtracter</code> to improve performance for Points
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed <code>RobustLineIntersector</code> heuristic for handling invalid intersection points
-(computed as outside envelope of input segments due to numeric precision issues)
-<li>Fixed <code>CGAlgorithmsDD.intersection</code> to compute intersection correctly
-<li>Fixed <tt>Geometry.interiorPoint()</tt> to compute a true interior point in certain cases
-<li>Fixed <code>Geometry.equals</code> to handle null argument
-<li>Fixed <code>DistanceToPoint</code> to be thread-safe
-<li>Fixed <code>Geometry.interiorPoint()</code> and <code>InteriorPointArea</code> to handle zero-area geometries
-<li>Fixed <code>STRtree</code> classes to be thread-safe (by synchronizing the <code>AbstractSTRtree.build()</code> method)
-<li>Fixed <code>STRtree.remove()</code> method to avoid a NPE
-<li>Fixed <code>DouglasPeuckerSimplifier</code> and <code>TopologyPreservingSimplifier</code> to handle empty geometry components in the input
-<li>Fixed <code>ConvexHull</code> to handle input of array of identical coordinates
-<li>Fixed <code>GeometryTransformer.transformLinearRing()</code> to handle null inputs
-<li>Fixed the <code>extractPoint(distance, offset)</code> methods in
- <code>LocationIndexedLine</code> and <code>LengthIndexedLine</code> to handle offsets from endpoints correctly.
-<li>Fixed <code>GeometryCollectionIterator</code> to correctly handle atomic geometries
-<li>Fixed <code>InteriorIntersectionFinder</code> to not short-circuit when finding all nodes
-<li>Fixed <code>SubgraphDepthLocator</code> to work with Java 7+ by avoiding sorting with an inconsistent ordering
-<li>Fixed <code>FontGlyphReader</code> to use correct Java font value of "SansSerif", and added new constant to match.
-<li>Fixed <code>KdTree</code> to correctly implement distance tolerance-based coordinate matching
-<li>Fixed <code>LineString.normalize()</code> to correctly handle CoordinateSequences
-<li>Fixed <code>CommonBitsRemover</code> to correctly handle CoordinateSequences
-<li>Fixed bug in <code>CoordinateArraySequence.clone()</code>
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Changed interface of <code>SegmentSetMutualIntersector</code> to support thread-safety by removing state
-<li>Provided <code>InteriorIntersectionFinderAdder</code> to replace the poorly named <code>IntersectionFinderAdder</code>
-<li>Changed some classes in <code>com.vividsolutions.jts.operation.buffer</code> to be package-private
-</ul>
-
-<h3>Testing Improvements</h3>
-<ul>
-<li>Added <code>GeometryTestCase</code> base class to simplify unit tests
-</ul>
-
-<!------- JTS-IO -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS I/O</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <code>GeoJsonReader</code> and <code>GeoJsonWriter</code> classes
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>In <code>OraWriter</code> the connection is now provided to the <code>write()</code> method, not the constructors
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed <code>OraReader</code> to handle reading <code>GeometryCollection</code> with <code>Point</code> as second element
-<li>Many improvements to Oracle API code and performance
-<li>Added <code>OraWriter.setOptimizePoint</code> and <code>OraWriter.setOptimizeRectangle</code> methods
-</ul>
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added ability to read multiple WKBHex geometries from a text file
-<li>Added AutoZoom to input
-<li>Added Oracle text output
-<li>Added more function sets
-<li>Removed dependency on Acme GIF encoder library
-<li>Improved zooming logic
-<li>Added mouse wheel zooming
-<li>Improved UI for editing A/B geometries
-<li>Added <b>Compute New</b> button to Geometry Functions panel
-<li>Added SpatialIndex functions
-<li>Added User Data labelling
-</ul>
-
-<h3>UI Changes</h3>
-<ul>
-<li>Moved Options menu items to View menu
-<li>Removed Tools menu items (they are available as functions)
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed to correctly handle changing Swing Look&Feel
-</ul>
-
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.13</h2>
-
-<i>Release Date: December 13, 2012</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Changed <tt>GeometryFactory.createGeometry()</tt> to make a deep copy of the argument Geometry,
-using the CoordinateSequenceFactory of the factory
-<li>Added ability to specify a dimension in <tt>CoordinateArraySequence</tt>
-<li>Changed <tt>Geometry.getEnvelopeInternal()</tt> to return a copy of the cached envelope, to prevent modification
-<li>Added <tt>GeometryEditor.CoordinateSequenceOperation</tt> to allow easy editing of constituent CoordinateSequences
-<li>Added <tt>GeometryFactory.createPolygon</tt> convenience methods which do not require holes to be specified
-<li><tt>Geometry</tt> overlay methods now return empty results as atomic types of appropriate dimension
-<li>Added <tt>RectangleLineIntersector</tt> to provide efficient rectangle-line intersection testing
-<li>Added <tt>getOrdinate</tt> and <tt>setOrdinate</tt> to <tt>Coordinate</tt>
-<li><tt>Quadtree</tt> is <tt>Serializable</tt>
-<li><tt>STRtree</tt> is <tt>Serializable</tt>
-<li>Added <tt>max</tt>, <tt>average</tt> and <tt>wrap</tt> functions to <tt>MathUtil</tt>
-<li>Improved <tt>WKTReader</tt> parse error reporting to report input line of error
-<li>Improved <code>WKBReader</code> to repair structurally-invalid input
-<li>Made <tt>TopologyPreservingSimplifier</tt> thread-safe
-<li>Added <tt>AbstractSTRtree.isEmpty()</tt> method
-<li>Added <tt>QuadTree.isEmpty()</tt> method
-<li>Added <tt>KdTree.isEmpty()</tt> method
-<li>Added decimation and duplicate point removal to </tt>ShapeWriter<tt>.
-<li><tt>ScaledNoder</tt> now preserves Z values of input
-<li>Added instance methods for all <t>Triangle</tt> static methods
-<li>Added <tt>CGAlgorithmsDD</tt> containing high-precision versions of some basic CG algorithms
-<li>Added <tt>IntersectionMatrix.isTrue()</tt> method for testing IM pattern matches
-<li>Added <code>getRawCoordinates</code> methods to <code>PackedCoordinateSequence</code> concrete classes
-<li>Modified <code>Geometry.isSimple()</code> to explicity check for simplicity for all types,
-and support <code>GeometryCollections</code>
-<li>Improved <code>MCIndexSnapRounder</code> to add nodes only where they are necessary
-<li>Added <code>CoordinateArrays.removeNull()</code> method
-<li>Enhanced <code>GeometryEditor</code> to handle null geometries returned from operation
-<li>Added <code>WKBHExFileReader</code>
-<li>Added <code>Distance3D</code> operation
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Simplified & improved performance of <tt>RectangleIntersects</tt> by using new <tt>RectangleLineIntersector</tt>
-<li>In <tt>RandomPointsInGridBuilder</tt> eliminated redundant <tt>ArrayList</tt> usage
-<li>In <tt>PreparedPolygonIntersects</tt> and <tt>PreparedLineStringIntersects</tt> added check
-to avoid creating segment index if all test inputs are points
-<li>In <tt>AbstractSTRtree</tt> switched to using indexed list access for better performance than using iterators
-<li>In <tt>AbstractSTRtree</tt> freed inserted item array after index is built
-<li>Improved performance of <tt>Polygonizer</tt> for cases with many potential holes
-<li>Improved performance for some <tt>DD</tt> methods by making them <tt>final</tt>
-<li>Added fast filter for <tt>CGAlgorithmsDD.orientationIndex</tt>, and switched to self-operations for DD determinant
-<li>Changed <code>STRtree.createNode()</code> to use a static class for nodes
-<li>Changed <code>QuadTree Node</code> to use scalar x and y variables rather than a <code>Coordinate</code> to reduce memory allocation
-<li>Fixed <code>PreparedGeometry</code> concrete classes to be thread-safe.
-<li>Fixed <code>SortedPackedIntervalRTree</code> so that it is thread-safe.
-</ul>
-
-<h3>Robustness Improvements</h3>
-<ul>
-<li>Switched to using DD extended-precision arithmetic to compute orientation predicate
-<li><code>CGAlgorithms.distanceLineLine()</code> improved to be more robust and performant
-<li>Fixed robustness issue causing <tt>Empty Stack</tt> failure
-in <tt>ConvexHull</tt> for some nearly collinear inputs
-<li><tt>CGAlgorithms.signedArea()</tt> uses a more accurate algorithm
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed <tt>Geometry.equalsExact()</tt> to avoid NPE when comparing empty and non-empty <tt>Point</tt>s
-<li>Fixed <tt>CascadedPolygonUnion</tt> to discard non-polygonal components created during unioning,
-to avoid failures and provide more desirable behaviour
-<li>Fixed <tt>CentralEndpointIntersector</tt> to initialize result correctly
-<li>Fixed <tt>DelaunayTriangulationBuilder.extractUniqueCoordinates(Geometry)</tt>
-to avoid mutating the vertex order of the input Geometry
-<li>Fixed <tt>ConformingDelaunayTriangulationBuilder</tt> to allow
-non-disjoint site and constraint vertex sets
-<li>Fixed <tt>RandomPointsInGridBuilder</tt> point generation to use circle constraint correctly
-<li>Fixed Linear Referencing API to handle MultiLineStrings consistently,
-by always using the lowest possible index value, and by trimming zero-length components from results
-<li>Fixed bug in <tt>LocationIndexedLine</tt> and <tt>LengthIndexLine</tt> which was
-causing an assertion failure when the indexOfAfter() method was called with a constraint location
-which is at the end of the line
-<li>Fixed bug in <tt>STRtree.query(Envelope, ItemVisitor)</tt> causing an NPE when tree is empty
-<li>Fixed issue with creating zero-length edges during buffer topology building under fixed precision, by:
-adding filter to remove zero-length edges;
-using a better estimate of scale factor for reducing to fixed precision after initial failure.
-<li>Fixed <tt>TopologyPreservingSimplifier</tt> to return a valid result
-for closed <tt>LineString</tt>s with large distance tolerances
-<li>Fixed <tt>TopologyPreservingSimplifier</tt> to return an empty result for an empty input
-<li>Fixed <tt>DouglasPeuckerSimplifier</tt> to return an empty result for an empty input
-<li>Fixed <tt>MinimumBoundingCircle</tt> to correctly compute circle for obtuse triangles.
-<li>Fixd <tt>GeometryPrecisionReducer</tt> to use input GeometryFactory when polygon topology is fixed
-<li>Fixed <tt>GeometryNoder</tt> bug that was failing to snap to end vertices of lines
-<li>Fixed <tt>Geometry.getCentroid()</tt> and <tt>Geometry.getInteriorPoint()</tt> to return <tt>POINT EMPTY</tt> for empty inputs
-<li>Fixed <tt>DelaunayTriangulationBuilder</tt> to correctly extract unique points
-<li>Fixed <tt>KdTree</tt> to correctly handle inserting duplicate points into an empty tree
-<li>Fixed <tt>LineSegment.projectionFactor()</tt> to handle zero-length lines (by returning Double.POSITIVE_INFINITY)
-<li>Fixed <tt>LocationIndexedLine</tt> to handle locations on zero-length lines
-<li>Fixed <code>LengthIndexedLine</code> and <code>LocationIndexedLine</code> to handle <code>indexOfAfter()</code> correctly
-<li>Fixed <code>WKBReader</code> to handle successive geometrys with different endianness
-<li>Fixed <code>GeometricShapeFactory</code> to correctly handle setting the centre point
-<li>Fixed <code>GeometryFactory.createMultiPoint(CoordinateSequence)</code> to handle sequences of dimension > 3
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Changed visibility of <tt>TaggedLineStringSimplifier</tt> back to <tt>public</tt> due to user demand
-</ul>
-
-<h3>Testing</h3>
-<ul>
-<li>Added Performance Testing framework (<tt>PerformanceTestRunner</tt>
-and <tt>PerformanceTestCase</tt>)
-<li>Added named predicate tests to all Relate test cases
-</ul>
-
-<h3>Contributors</h3>
-<ul>
-<li>Peter Hopfgartner - improved area computation
-<li>Michael Michaud - snap-rounding improvements
-</ul>
-
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added segment index visualization styling
-<li>Improved <b>Geometry Inspector</b>
-<li>Added stream digitizing for Polygon and LineString tools
-<li>Added output of Test Case XML with WKB
-<li>Added Extract Component tool
-<li>Added Delete Vertices Or Components tool
-<li>Added Geometry Edit Panel pop-up menu, with operations
-<li>Added Halton sequence functions
-<li>Added sorting functions
-<li>Added function for selection of first N components
-<li>Added CGAlgorithms functions
-<li>Added ability to paste and load multiple WKBHex geometries
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Using decimation substantially improves rendering time for large geometries.
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed bug in saving XML test files
-</ul>
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.12</h2>
-
-<i>Release Date: June 30, 2011</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added new names for methods for computing <tt>Geometry</tt> equality:
-<li><tt>equals(Object)</tt> is a synonym for <tt>equalsExact(Geometry)</tt>
-<li><tt>equalsNorm(Geometry)</tt> automatically normalizes the operands
-<li><tt>equalsTopo(Geometry)</tt> computes topological equality,
-and is a synonym for the original <tt>equals(Geometry)</tt>
-</ul>
-<li>Added <tt>Geometry.norm()</tt> to provide non-mutating normalization
-<li>Added <tt>Geometry.hashCode()</tt> to fulfill Java conventions
-<li>Added <tt>LineIntersector.getEndpoint()</tt> method
-<li>Added methods to <tt>CoordinateSequences</tt> to test for and create valid rings
-<li>Added <tt>minExtent</tt> and <tt>maxExtent</tt> to <tt>Envelope</tt>
-<li>Added ability to compute Single-Sided Buffers (invoked via <tt>BufferOp</tt> and <tt>BufferParameters</tt>)
-<li>Added <tt>GeometryPrecisionReducer</tt>
-<li>Added ExtendedWKB SRID support to <tt>WKBWriter</tt> (thanks to Justin Deoliviera)
-<li>Improved <tt>PolygonShape</tt> to support floating-point coordinates
-<li>Added <tt>GeometryShapeFactory.setRotation(double radians)</tt> method
-<li>Added <tt>GeometricShapeBuilder</tt> API to support shape builder development
-<li>Added <tt>RandomPointsBuilder</tt> to allow generating various random point sets
-<li>Added <tt>RandomPointsInGridBuilder</tt> to allow generating various random point sets constrained to a grid
-<li>Added <tt>KochSnowflakeBuilder</tt>
-<li>Added <tt>SierpinskiCarpetBuilder</tt>
-<li>Added <tt>MathUtil</tt> containing mathematics and numerical utility functions
-<li>Added <tt>Vector2D</tt> class providing vector operations
-<li>Added <tt>DirectedEdgeStar.getNextCWEdge()</tt> method to <tt>planargraph</tt> API
-<li><tt>AffineTransformation</tt> enhanced to avoid numeric precision issues in case of reflection in X=Y (coordinate flipping)
-<li>Added <tt>LineSequencer.sequence()</tt> static convenience method
-<li>Added error indicators to <tt>BufferDistanceValidator</tt> and <tt>BufferResultValidator</tt>
-<li>Added <tt>MinimumClearance</tt> class
-<li>Added <tt>nearestNeighbours</tt> methods to <tt>STRtree</tt>
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved memory performance of <tt>ShapeWriter</tt> conversions (by tuning coordinate and polygon conversion)
-<li>Improved performance of <tt>RectangleIntersects</tt> by refining <tt>SegmentIntersectionTester</tt>
-</ul>
-
-<h3>Robustness Improvements</h3>
-<ul>
-<li>Delaunay triangulation uses more robust formulation for the inCircle test
-<li>Voronoi computation now uses more robust formulation for the circumcentre computation
-<li>Force <code>RectangleIntersects</code> to always use segment-scanning to improve robustness
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Reduced visibility of internal classes in <tt>com.vividsolutions.jts.geom.prep</tt>
-<li>Reduced visibility of internal classes in <tt>com.vividsolutions.jts.simplify</tt>
-<li>Moved <tt>Matrix</tt> class into <tt>jts.math</tt> package
-<li>Refactored internal offset curve generation classes
-in <tt>com.vividsolutions.jts.operation.buffer</tt> package
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed <tt>CoordinateArraySequence</tt> and <tt>PackedCoordinateSequence</tt>
-to correctly handle Z ordinate in <tt>getCoordinate(int, Coordinate)</tt>
-<li>Fixed <tt>LinearRing</tt> to have <tt>isClosed()</tt> return <tt>true</tt> for empty rings
-<li>Fixed <tt>Geometry.union()</tt> to use more robust union algorithm.
- This provides behaviour consistent with <tt>union(Geometry)</tt>.
-<li>Fixed <tt>Point.isValid()</tt> to validate POINT EMPTY correctly
-<li>Fixed <tt>SnapIfNeededOverlayOp</tt> to throw the originating exception,which contains meaningful coordinates
-<li>Fixed <tt>GeometrySnapper</tt> to allow final vertices of LineStrings to snap correctly
-<li>Fixed buffer (<tt>OffsetCurveSetBuilder</tt>) to handle "flat" rings correctly
-<li>Fixed <tt>IsValidOp</tt> to handle reporting "Not Closed" errors on empty rings correctly
-<li>Fixed <tt>NestedRingTester</tt> (used by <tt>IsValidOp</tt>)
-to correctly handle the case where a hole touches all the vertices of another hole (which is invalid)
-<li>Fixed <tt>ConvexHull</tt> to handle large geometries with fewer than 3 unique points
-<li>Fixed <tt>GeometryGraph</tt> to ignore empty hole rings when building graph
-<li>Fixed <tt>LineMerger</tt> to skip lines with only a single unique coordinate
-<li>Fixed <tt>ByteArrayInStream</tt> to pad byte buffers with zeroes
-<li>Corrected spelling of <tt>SquarePointShapeFactory</tt>
-<li>Fixed tolerance check in <tt>KdTree</tt>
-<li>Updated <tt>MasterTester</tt> to include more unit tests
-</ul>
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <tt>[Zoom To Result]</tt> button
-<li>Improved mark display, with floating point label
-<li>Added more random geometry creation functions
-<li>Added fractal geometry creation functions
-<li>Improved threaded rendering handling to ensure only one frame drawn
-<li>Added Magnify Topology capability
-<li>Added Geometry Inspector dialog
-<li>Better startup script, with auto-home directory detection
-and JTS_LIB_DIR environment variable (thanks to strk)
-<li>Added logging Info window behaviour
-<li>Improved saving PNG to allow specifying file name
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed Stats panel to update when current test changes
-<li>Fixed deleting single test case
-</ul>
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.11</h2>
-
-<i>Release Date: March 1, 2010</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <tt>CoordinateArrays.isRing</tt>
-<li>Added <tt>CGAlgorithms.signedArea(CoordinateSequence)</tt>
-<li>Added <tt>CoordinateArrays.copyDeep(...)</tt> method to copy sections of arrays
-<li>Added <tt>CoordinateList.add(Coordinate[], boolean, int, int)</tt> method to add sections of arrays
-<li>Added <tt>LineSegment.toGeometry()</tt>, <tt>LineSegment.lineIntersection()()</tt>
-<li>Added <tt>LineSegment.hashCode()</tt>
-<li>Added geometric similarity classes (<tt>HausdorffSimilarityMeasure</tt>, <tt>AreaSimilarityMeasure</tt>)
-<li>Added <tt>MinimumDiameter.getMinimumRectangle()</tt>
-<li>Added <tt>MinimumBoundingCircle</tt> class
-<li>Added <tt>Densifier</tt> class
-<li>Added triangulation API, including <tt>QuadEdgeSubdivision</tt>, <tt>IncrementalDelaunayTriangulator</tt>,
- <tt>ConformingDelaunayTriangulator</tt> and supporting classes
-<li>Added <tt>VoronoiDiagramBuilder</tt> to perform Voronoi diagram generation
-<li>Added <tt>scaleInstance(scaleX, scaleY, x, y)</tt> to <tt>AffineTransformation</tt>
-<li>Added <tt>AffineTransformationFactory</tt> to allow generating transformations from various kinds of control inputs
-<li>Added <tt>BinTree.remove()</tt> method
-<li>Fixed <tt>BinTree.query()</tt> to allow null interval arguments
-<li>Added <tt>ShapeReader</tt> API to convert Java2D Shapes into JTS Geometry
-<li>Added <tt>ShapeWriter</tt> API to convert JTS geometry into Java2D Shapes
-<li>Added <tt>FontGlyphReader</tt> API to render Java2D text font glyphs into geometry
-<li>Added <tt>SdeReader</tt> to <b>jtsio</b> library
-<li>Added <tt>Debug</tt> break methods
-<li>Added <tt>Memory</tt> utility for reporting memory statistics
-<li>Added <tt>ObjectCounter</tt> utility for counting objects
-<li>Added <tt>createSquircle</tt> and <tt>createSuperCircle</tt> to <tt>GeometricShapeFactory</tt>
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved performance of <tt>Geometry.getArea()</tt> and <tt>Geometry.getLength()</tt> when used with custom <tt>CoordinateSequence</tt>s
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Deprecated <tt>WKBWriter.bytesToHex</tt> in favour of <tt>WKBWriter.toHex</tt> to regularize and simplify method name
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed Point.isValid() to check for invalid coordinates (ie with Nan ordinates)
-<li>Fixed <tt>Geometry.distance()</tt> and <tt>DistanceOp</tt> to return 0.0 for empty inputs
-<li>Fixed <tt>Buffer</tt> to handle degenerate polygons with too few distinct points correctly
-<li>Added illegal state check in <tt>LineSegment.pointAlongOffset()</tt>
-<li>Fixed exception strategy in <tt>BufferSubgraph</tt> to handle certain robustness failures correctly
-<li>Fixed robustness problem in <tt>OffsetCurveBuilder</tt> in computing mitred joins for nearly parallel segments
-<li>Fixed minor bug in <tt>BufferInputLineSimplifier</tt> which prevented simplification of some situations
-<li>Fixed bug in <tt>BufferInputLineSimplifier</tt> which caused over-simplification for large tolerances
-<li>Fixed bug in <tt>Angle.normalizePositive</tt> to handle values > 2PI correctly
-<li>Fixed <tt>WKTWriter</tt> to emit correct syntax for MULTIPOINTs
-<li>Fixed <tt>WKTReader</tt> to accept correct syntax for MULTIPOINTs
-<li><tt>CGAlgorithms.isCCW</tt> now checks for too few points in the ring and throws an <tt>IllegalArgumentException</tt>
-<li>Fixed bug in <tt>AffineTransformation#eqals</tt> (logic bug)
-<li>Fixed bug in <tt>CoordinateList#closeRing</tt> (cloning closing Coordinate)
-</ul>
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>WKT input is cleaned automatically when loaded (illegal chars are removed)
-<li>Added WKT-Formatted option to Test Case View dialog
-<li>Many new geometry functions added
-<li>Geometry functions are displayed in tree
-<li>Geometry functions can be implemented as Java static class methods.
-<li>Geometry function classes can be loaded dynamically from command-line
-<li>Improved handling of very large geometry inputs and results
-<li>Threaded rendering allows display of very large geometries without limiting usability
-<li>Added Draw Rectangle tool
-<li>Added Drag-n-drop loading of .SHP files
-<li>Added Info tool to provide persistent display of geometry point/segment information
-<li>Added display of memory usage
-</ul>
-
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.10</h2>
-
-<i>Release Date: December 31, 2008</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <tt>Geometry.reverse()</tt> method for all geometry types
-<li>Added <tt>setSrsName</tt>, <tt>setNamespace</tt>, <tt>setCustomRootElements</tt> methods to <tt>GMLWriter</tt>
-<li>Added <tt>Envelope.getArea</tt> method
-<li>Added <tt>copy</tt>, <tt>copyCoord</tt> methods to <tt>CoordinateSequences</tt>
-<li>Added <tt>area</tt> method to <tt>Envelope</tt>
-<li>Added <tt>extractPoint(pt, offset)</tt> methods to <tt>LengthIndexedLine</tt> and <tt>LocationIndexedLine</tt>
-<li>Added <tt>CoordinatePrecisionReducerFilter</tt>
-<li>Added <tt>UnaryUnionOp(Collection, GeometryFactory)</tt> constructor to handle empty inputs more automatically
-<li>Added <tt>DiscreteHausdorffDistance</tt> class
-<li>Made <tt>LineMerger</tt> able to be called incrementally
-<li>Added <tt>GeometricShapeFactory.createArcPolygon</tt> to create a polygonal arc
-<li>Enhanced <tt>Geometry.buffer()</tt> to preserve SRID
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved performance for <code>EdgeList</code> (by using a more efficient technique for detecting duplicate edges)
-<li>Improved performance for <code>ByteArrayInStream</code> (by avoiding use of <tt>java.io.ByteArrayInputStream</tt>)
-<li>Unrolled intersection computation in <tt>HCoordinate</tt> to avoid object allocation
-<li>Improved performance for buffering via better offset curve generation and simplification.
-<li>Improved performance for <tt>IsValidOp</tt> by switching to use <tt>STRtree</tt> for nested hole checking
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed <tt>Geometry.getClassSortIndex()</tt> to lazily initialize the sorted class list. This fixes a threading bug.
-<li>Fixed <tt>RectangleContains</tt> to return correct result for points on the boundary of the rectangle
-<li>Fixed error in <tt>com.vividsolutions.jts.simplify.LineSegmentIndex</tt> which caused polygons
-simplified using <tt>TopologyPreservingSimplifier</tt> to be invalid in certain situations
-<li>Fixed error in <tt>DouglasPeuckerSimplifier</tt> which caused empty polygons to be returned when they contained a very small hole
-<li>Fixed <tt>PackedCoordinateSequence</tt> to return <tt>NaN</tt> for null ordinate values
-<li>Fixed <tt>Geometry.centroid()</tt> (<tt>CentroidArea</tt>) so that it handles degenerate (zero-area) polygons
-<li>Fixed <tt>Geometry.buffer()</tt> (<tt>OffsetCurveBuilder</tt>) so that it handles JOIN_MITRE cases with nearly collinear lines correctly
-<li>Fixed <tt>GeometryFactory.toGeometry(Envelope)</tt> to return a CW polygon
-<li>Fixed <tt>UnaryUnionOp</tt> to correctly handle heterogeneous inputs with P/L/A components
-<li>Fixed <tt>UnaryUnionOp</tt> to accept <tt>LINEARRING</tt>s
-<li>Fixed <tt>CentroidArea</tt> to handle zero-area polygons correctly
-<li>Fixed <tt>WKBWriter</tt> to always output 3D when requested, and to handle 2D <tt>PackedCoordinateSequences</tt> correctly in this case
-<li>Fixed <tt>NodedSegmentString</tt> to handle zero-length line segments correctly (via <tt>safeOctant</tt>)
-<li>Cleaned up code to remove unneeded <tt>CGAlgorithms</tt> objects
-<li>Fixed <tt>GeometricShapeFactory.createArc</tt> to ensure arc has requested number of vertices
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Moved GML I/O classes into core JTS codebase
-<li>Changed <tt>GMLWriter</tt> to not write the <tt>srsName</tt> attribute by default
-<li>In <tt>DistanceOp</tt> switched to using <tt>nearestPoints</tt> method names
-<li>Exposed <tt>STRtree.getRoot()</tt> method
-</ul>
-
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>UI Improvements</h3>
-<ul>
-<li>Added ability to read GML from input panel
-<li>Added GML output to View dialog
-<li>Added file drag'n'drop to Geometry Input text areas
-<li>Add display of computation time
-<li>Added Stats panel
-<li>Added Scalar functions panel, with extensible function list
-<li>Added <b>Save as PNG...</b>
-<li>Added stream digitizing to Polygon and Line Draw tools
-</ul>
-
-<!------- TestRunner -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <tt>-testCaseIndex</tt> command-line option
-</ul>
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.9</h2>
-
-<i>Release Date: January 2, 2008</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <tt>Polygonal</tt>, <tt>Lineal</tt>, <tt>Puntal</tt> tag interfaces to better categorize geometry classes
-<li>Added <tt>Geometry.union()</tt> method, <tt>UnaryUnionOp</tt> class for efficient unioning of geometrys
-<li>Added <tt>Triangle.area3D</tt> method
-<li>Added <tt>LineSegment.pointAlongOffset</tt> method
-<li>Added <tt>LineSegment.orientationIndex(Coordinate)</tt> method
-<li>Added <tt>PreparedGeometry</tt> classes and methods to optimize some geometry functions in batch situations
-<li>Added <tt>Envelope.covers</tt> methods, for preciseness
-<li>Added <tt>OctagonalEnvelope</tt> class
-<li>Improved <tt>CGAlgorithms.isPointInRing</tt> method to handle case where point lies on the ring
-<li>Added <tt>CGAlgorithms.locatePointInRing</tt> method
-<li>Added <tt>PointInAreaLocator</tt> interface, enhanced <tt>SimplePointInAreaLocator</tt> to extend this
-<li>Added <tt>RayCrossingCounter</tt>, <tt>IndexedPointInAreaLocator</tt> classes for more efficient Point-In-Polygon testing
-<li>Added <tt>GeometryCombiner</tt> class
-<li>Enhanced <tt>BufferOp</tt> with join styles
-<li>Enhanced <tt>WKTReader</tt> to accept any case for <tt>NaN</tt> number symbols
-<li>Added <tt>WKTFileReader</tt> class
-<li>Improved performance of <tt>CoordinateList</tt> constructors
-<li>Added <tt>CascadedPolygonUnion</tt> class
-<li>Added <tt>LinearLocation.isOnSameSegment</tt> method
-<li>Added <tt>LinearLocation.getSegment</tt> method
-<li>Added <tt>LocationIndexedLine.indexOfAfter</tt> method
-<li>Added interpolation of Z value to linear referencing methods
-<li>Added methods to rotate around a given point to <tt>AffineTransformation</tt>
-<li>Allowed <tt>GeometricShapeFactory</tt> to be subclassed to add new shapes
-<li>Added <tt>SineStarFactory</tt> (primarily to support testing)
-<li>Added <tt>SortedPackedIntervalRTree</tt> class
-<li>Added <tt>SegmentSetMutualIntersector</tt> interface and implementations
-<li>Added <tt>Node.remove(DirectedEdge)</tt> method in <tt>planargraph</tt> package
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved performance for <code>SimplePointInAreaLocator</code> (by checking ring envelopes as a filter)
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li><tt>Geometry.buffer</tt> operation fixed to always return polygonal geometries
-<li>Fixed bug in <code>Geometry.buffer(distance, quadrantSegs)</code>
-causing failure for some cases with <tt>quadrantSegs = 1</tt>
-<li>Fixed bug in <tt>GeometryFactory.toGeometry(Envelope)</tt>
-which was returning invalid Polygons for "linear" envelopes
-<li>Fixed bug in <tt>MonotoneChainBuilder</tt> which caused failures in situations with segments of zero length
-<li>Fixed <tt>PointLocator</tt> to handle locating in Point geometries
-<li>Fixed <tt>GeometricShapeFactory</tt> to always use provided PrecisionModel
-<li>Fixed <tt>LinearLocation.clone</tt> method
-<li>Fixed <tt>LinearLocation.isValid</tt> method
-<li>Fixed <tt>Polygonizer</tt> to accept single-point linestrings (which are ignored)
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Deprecated <code>RobustCGAlgorithms</code>
-<li>Deprecated <code>BufferOp</code> cap style constants (these are now provided in </tt>BufferParameters</tt>)
-<li>Removed <code>SIRPointInRing</code>
-</ul>
-
-<!------- TestRunner -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
-
-<h3>New Features</h3>
-<ul>
-<li>Added ability to specify GeometryOperation in XML file
-<li>Added <tt>BufferValidatedGeometryOperation</tt>
-<li>Added ability to specify custom result matching via <tt>resultMatcher</tt> parameter
-in XML files
-<li>Added <tt>BufferResultMatcher</tt>
-</ul>
-
-
-<!------- TestBuilder -------------------->
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>UI Improvements</h3>
-<ul>
-<li>Improved rendering of geometries
-<li>Improved symbology for orientation
-<li>Simplified Geometry creation
-<li>Improved vertex move/add
-<li>Added tooltip for coordinate location
-<li>Added more geometry functions
-<li>Added Copy Result to Test button
-</ul>
-
-<h3>Code Improvements</h3>
-<ul>
-<li>Restructured code for more flexibility, better Swing functionality
-<li>Made it easier to add geometry functions
-</ul>
-
-
-<!-- ================================================================ -->
-<hr size='4' color='darkblue'>
-<h2>Version 1.8</h2>
-
-<i>Release Date: December 19, 2006</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Improved robustness for overlay operations, via using geometry snapping
-<li>Added <code>Angle</code> class
-<li>Added methods to <code>Triangle</code> class
-<li>Added <code>LineSegment.midPoint</code> method
-<li>Added ability to specify output of Z values to <code>WKTWriter</code>
-<li>Added <code>setFormatted</code>, <code>setTab</code>, <code>setMaxCoordinatesPerLine</code> methods to <code>WKTWriter</code>
-<li>Added <code>BoundaryNodeRule</code> classes, and ability to specify a Boundary Node Rule
-in <code>RelateOp</code>, <code>IsSimpleOp</code>, <code>BoundaryOp</code>
-<li>Added ability to get the failure location to <code>IsSimpleOp</code>
-<li>Added <code>BoundaryOp</code> with improved algorithm for lineal geometries. Changed lineal Geometry classes to use it.
-<li>Enhanced <code>Geometry</code> overlay methods to accept empty <code>GeometryCollections.</code>
-<li>Enhanced Error Handling for <tt>WKTReader</tt>
-<li>Added <code>CoordinateSequenceFilter</code>
-<li>Added <code>AffineTransformation</code> and <code>AffineTransformationBuilder</code>
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Changed API for <code>IsSimpleOp</code> (required to support returning failure location)
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed bug in <code>GeometryFactory.buildGeometry</code>
-causing failure if input contained all GeometryCollections of the same subclass
-<li>Changed AssertFailure to TopologyException in <code>PolygonBuilder</code>
-<li>Improved correctness of <tt>RobustLineIntersector</tt> in certain cases where segment endpoints intersect
-<li>Eliminated duplicate method execution in <code>TestRunner</code>
-</ul>
-
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
-
-<h3>New Features</h3>
-<ul>
-<li>Zoom tool can now draw zoom box as well as click
-<li>Cut, Copy and Paste buttons for Input WKT
-<li>added ability to specify custom Geometry Operations
-</ul>
-
-<hr size='0' color='darkblue'>
-<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
-
-<h3>New Features</h3>
-<ul>
-<li>added ability to specify custom Geometry Operations
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Eliminated duplicate method execution
-</ul>
-
-
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.7.2</h2>
-
-<i>Release Date: June 22, 2006</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added support for EWKB (SRIDs only) to <code>WKBReader</code>
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed bug in <code>CoordinateArrays.ptNotInList</code>.
-Changed <code>polygonize.EdgeRing</code> to used corrected code.
-<li>Fixed bug causing duplicate points in <code>ScaledNoder</code>
-<li>Fixed bug causing Null Pointer for empty geometries in <code>OraWriter</code>
-<li>Changed AssertFailure to TopologyException in <code>EdgeNode</code>
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.7.1</h2>
-
-<i>Release Date: March 20, 2006</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added Hex string conversion to <code>WKBReader</code> and <code>WKBWriter</code>
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed null point cloning bug in <code>TopologyValidationError</code> (<i>thanks to Markus Gebhard</i>)
-<li>Fixed bug in <code>PointLocator</code> fix for LinearRings
-<li>Fixed bug in <code>Geometry.isValid</code> and <code>IsValidOp</code> causing some valid polygons
-to be reported as having a Disconnected Interior (specifically, polygons containing
-holes touching at a single point, where the point is the highest point in the hole rings, and where the holes
-have a specific orientation)
-<li>Fixed bug in <code>Polygon.isRectangle</code>, which reported some valid rectangles as false
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved performance for <code>Geometry#withinDistance</code> (via short-circuiting)
-</ul>
-
-<h3>Contributors</h3>
-<ul>
-<li>Dave Blasby
-<li>Koen van Dijken
-</ul>
-
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.7</h2>
-
-<i>Release Date: December 7, 2005</i>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added <code>JTSVersion</code> class to provide access to the API version information
-<li>Added <code>covers</code> and <code>coveredBy</code> predicates to <code>Geometry</code>
-<li>Added <code>Geometry#buffer(distance, quadSegs, endCapStyle)</code> method to expose buffer end cap styles
-<li>Added <code>LineString#reverse</code> and <code>MultiLineString#reverse</code> methods
-<li>Added <code>centre</code>, <code>intersection</code>, <code>translate</code>,
-<code>expandBy(distance)</code>, <code>expandBy(dx, dy)</code>
-methods to <code>Envelope</code>
-<li>Added <code>CollectionUtil</code> class for performing operations over collections
-<li>Added <code>CoordinateArrays</code> comparators
-<li>Added <code>CoordinateSequence#getDimension</code>
-<li>Added convenience methods <code>toPoint</code> and <code>toLineString</code> to <code>WKTWriter</code>
-<li>Added WKB API (<code>WKBReader</code> and <code>WKBWriter</code> classes in <code>com.vividsolutions.jts.io</code>
-<li><code>WKTReader</code> has better handling of numeric parsing, including support for scientific notation
-<li>Added <code>IsValidOp#setSelfTouchingRingFormingHoleValid</code> to allow validating SDE-style polygons
-<li>Added check for non-closed rings in <code>IsValidOp</code>
-<li>Added Linear Referencing API (<code>com.vividsolutions.jts.linearref</code>
-<li>Added <code>LineSequencer</code> class to <code>com.vividsolutions.jts.operation.linemerge</code>
-<li>Added <code>Subgraph</code> class to <code>com.vividsolutions.jts.planargraph</code>
-<li>Added <code>isRemoved</code> method to <code>GraphComponent</code>
-<li>Added <code>ConnectedSubgraphFinder</code> class to <code>com.vividsolutions.jts.planargraph.algorithm</code>
-<li>Added <code>setVisited</code>, <code>getComponentWithVisitedState</code>,
-<code>setVisited</code>, <code>getComponentWithVisitedState</code>
-methods to <code>com.vividsolutions.jts.planargraph.GraphComponent</code>
-<li>Added classes to perform Snap Rounding (in <code>com.vividsolutions.jts.noding.snapround</code>>
-<li>Improved buffering speed and robustness by using Snap Rounding
-<li>Added buffer optimization for results with large numbers of polygons and/or holes
-<li>Added <code>STRtree#query(Envelope, ItemVisitor)</code> method
-<li>Added <code>Debug#toLine</code> methods
-<li>Added <code>ConvexHull(Coordinate[])</code> constructor
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed decimal formatting in <code>WKTWriter</code> to force a leading 0 in decimal numbers
-<li>Fixed bug in <code>CoordinateArraySequence#setOrdinate</code>
-<li>Fixed bug when checking validity of polygon with hole (<code>IsValidOp#checkHolesInShell</code>)
-<li>Improved correctness of computated intersections in <code>RobustLineIntersector</code>
-<li>Fixed bugs in <code>CoordinateList.clone</code> (thanks to Matthias Bobzien)
-<li>Fixed bug in <code>Envelope.equals</code> (thanks to John Cartwright)
-<li>Fixed <code>PointLocator</code> for LinearRings
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Improved performance for overlay operations (point inclusion, identical edge detection)
-<li>Improved Convex Hull performance
-</ul>
-
-<h3>API Changes</h3>
-<ul>
-<li>Added <code>SpatiaIndex#query(Envelope, ItemVisitor)</code> method signature
-<li>Added <code>CoordinateSequence#getDimension()</code> method signature
-<li>Marked <code>GeometryEditor.CoordinateOperation#edit(Geometry, GeometryFactory)</code> method
-as <code>final</code>, to prevent incorrect use
-</ul>
-
-<h3>Semantics Changes</h3>
-<ul>
-<li>CoordinateArraySequence#setOrdinate now checks that the ordinate index is in range
-</ul>
-
-
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.6</h2>
-
-Release Date: February 3, 2005
-
-<h3>API Changes</h3>
-<ul>
-<li>Changed to using <code>CoordinateArraySequence</code> instead of <code>DefaultCoordinateSequence</code>
-(to provide a more descriptive name).
-</ul>
-
-<h3>Semantics Changes</h3>
-<ul>
-<li>PrecisionModel#makePrecise changed to use Symmetric Arithmetic Rounding rather than Banker's Rounding
-</ul>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added ability to enable <code>Debug</code> methods by setting a system property
-<li>Added <code>getNumGeometries</code> and <code>getGeometryN</code> methods to Geometry class, to make API more uniform
-<li>Improved API for <code>CoordinateSequence</code> allows more options for improving memory usage and handling custom coordinate storage methods
-<li>Added <code>PackedCoordinateSequence</code> to provide reduced memory footprint for geometry objects if desired
-<li>Added optimized spatial predicates for rectangles
-<li>Added Debug#isDebugging method
-</ul>
-
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed bug in <code>Geometry#within()</code> short circuiting
-<li>Fixed bug causing <code>Geometry#isValid</code> to throw IllegalArgumentException for certain kinds of holes with invalid rings
-<li>Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing holes touching their shell.
-<li><code>Polygon#getBoundary</code> now returns a <code>LinearRing</code> if the polygon does not have holes
-</ul>
-
-<h3>Architecture Changes</h3>
-<ul>
-<li>Removed a proliferation of references to the default <code>CoordinateSequenceFactory</code>
-</ul>
-
-<h3>Contributors</h3>
-<ul>
-<li>Andrea Aime
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.5</h2>
-Release Date: September 22, 2004
-<p>
-This version is upwards compatible with Version 1.4
-
-<h3>API Changes</h3>
-<ul>
-<li>None
-</ul>
-
-<h3>Semantics Changes</h3>
-<ul>
-<li>None
-</ul>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li><code>CGAlgorithms#isCCW</code> now handles coordinate lists with repeated points. Also throws an IllegalArgumentException if the input ring does not have 3 distinct points
-<li><code>isValid</code> now checks for invalid coordinates (e.g. ones with Nan or infinite numbers)
-<li>added copyDeep() method to <code>CoordinateArrays</code>
-<li>added geometry simplification operations <code>DouglasPeuckerSimplifier</code> and <code>TopologyPreservingSimplifier</code>
-<li>added methods to <code>Quadtree</code> and <code>STRtree</code> to remove items and query using the Visitor pattern
-</ul>
-
-<h3>Performance Improvements</h3>
-<ul>
-<li>Added short-circuit tests in geometry named predicates based on envelope tests
-</ul>
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed bugs in <code>Geometry</code> serialization
-<li>Fixed bug in <code>ValidOp</code> which reported some MultiPolygons with shells nested inside a hole as invalid
-<li>Fixed bug in buffer which caused buffers of some polygons with small & large holes to not contain any holes
-<li>Fixed bug in <code>Polygonizer</code> which caused exception if no lines were supplied
-</ul>
-<h3>Architecture Changes</h3>
-<ul>
-<li>Basic CG algorithm methods made static in the <code>CGAlgorithms</code> class
-<li>Various utility methods made public in <code>CoordinateArrays</code> class
-</ul>
-<h3>Documentation</h3>
-<ul>
-<li>More examples provided in <code>com.vividsolutions.jtsexamples package</code>
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.4</h2>
-
-Release Date: November 4, 2003
-<h3>Semantics Changes</h3>
-<ul>
-<li>none
-</ul>
-<h3>Functionality Improvements</h3>
-<ul>
-<li>Added "LINEARRING" tag to WKT syntax
-<li>Added GeometryEditor class to allow easy copy/modify of Geometrys
-<li>Added GeometricShapeFactory class to easily create standard geometric shapes
-<li>Geometries can now carry arbitrary user-defined data objects (via Geometry#get/setUserData(Object) method)
-<li>Added CoordinateSequence and CoordinateSequenceFactory interfaces, and default implementations (BasicCoordinateSequence, BasicCoordinateSequenceFactory)
-<li>Added Geometry#getFactory
-<li>Added new PrecisionModel type of FLOATING_SINGLE, for rounding to single precision floating point
-<li>Added DistanceOp#getClosestPoints method, which returns the closest points between two Geometries
-<li>Added com.vividsolutions.jts.noding package containing classes to perform fast indexed noding of linestrings
-<li>Added com.vividsolutions.jts.operation.polygonize package containing classes to perform polygonization
-<li>Added com.vividsolutions.jts.operation.linemerge package containing classes to perform line merging
-<li>Added SimpleGeometryPrecisionReducer to allow reducing precision of coordinates of a Geometry
-<li>Added LineSegment#closestPoints method to compute the closest points between two line segments
-<li>Added MinimumDiameter class to compute minimum diameters of Geometries
-<li>Added geom.Triangle class to contain algorithms for Triangles
-<li>BufferOp now allows end cap styles to be specified. Three types are supported: round, butt and square.
-</ul>
-<h3>Performance Improvements</h3>
-<ul>
-<li>EdgeList now provides a findEqualEdge method which is substantially faster than findEdgeIndex, for large lists
-<li>Buffering is now faster and much more robust
-<li>Overlap operations are now more robust
-</ul>
-<h3>Bug Fixes</h3>
-<ul>
-<li>Envelope#init(Envelope) now handles null Envelopes correctly
-<li>CoordinateList#add() now correctly ignores the z-value of Coordinates in determining equality
-<li>Geometry#isValid now correctly handles checking validity of LinearRings
-<li>Fixed infinite loop bug causing Out Of Memory errors during polygon intersection
-<li>Geometry#clone now correctly clones the Geometry's Envelope
-<li>LineIntersector#computeEdgeDistance now correctly computes a non-zero edge distance in certain situations when a fixed precision model was being used and the line segment was a single unit in length
-<li>Fixed incorrect calculation of depths in DirectedEdgeStar#computeDepths
-<li>Fixed BufferSubgraph#addReachable to use explicit stack to avoid stack overflow problems
-<li>Fixed various bugs causing some kinds of buffers to be computed incorrectly
-</ul>
-<h3>API Changes</h3>
-<ul>
-<li>WKTReader/Writer: changed protected members to private
-<li>PrecisionModel type is now an object rather than an int
-<li>ConvexHull API changed to remove requirement to pass in CGAlgorithms object
-</ul>
-<h3>Code Architecture Changes</h3>
-<ul>
-<li>geom.util package added for utility classes which parse and modify geometries
-</ul>
-<h3>Documentation</h3>
-<ul>
-<li>More examples provided in com.vividsolutions.jtsexamples package
-<li>Added JTS Developers Guide
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.3</h2>
-Release Date: April 4, 2003
-<h3>Semantics Changes</h3>
-<ul>
-<li>all Geometry methods are now reentrant (thread-safe)
-<li>Fixed-precision coordinates are now stored in a rounded but non-scaled form. This makes them compatible with non-precise (Floating) coordinates, and simplifies working with precise coordinates directly. Mixed precision models are now supported in Geometry methods; method results are in the more precise of the input precision models.
-<li>Offsets are no longer supported in the Fixed precision model. This is necessary to allow storing fixed precision coordinates in a non-scaled form. This does not reduce the total precision available, since coordinates are stored in a floating-point format.
-<li>SRID and Precision Model are no longer checked for equality during Geometry operations. This removes a limitation which provided little semantic benefit.
-</ul>
-
-<h3>Functionality Improvements</h3>
-<ul>
-<li>added Geometry.isWithinDistance(Geometry g, double distance) method, to provide optimized proximity queries
-<li>added Geometry.buffer(double distance, int quadrantSegments) method, allowing control over accuracy of buffer approximation
-<li>added Geometry.getCentroid() method
-<li>added Geometry.getInteriorPoint() method, which uses heuristic methods to return a point in the interior of a Geometry
-<li>GeometryFactory.toGeometryArray now returns null if the argument is null
-</ul>
-<h3>Performance Improvements</h3>
-<ul>
-<li>Removed unnecessary string construction in EdgeEndStar.propagateSideLabels()
-<li>Eliminated unnecessary computation of self-intersections in rings during relate and spatial functions. This provides a large increase in speed when working with large rings and polygons. (Note that IsValid still checks for these self-intersections, which are illegal in LinearRings)
-<li>Add short-circuit code to RobustLineIntersector to detect non-intersections more efficiently
-</ul>
-<h3>Bug Fixes</h3>
-<ul>
-<li>Fixed ClassCastException occurring in GeometryCollection.getLength()
-<li>Fixed bug in Edge Intersection insertion (replaced Coordinate#equals with equals2D to ensure that intersection creation is not sensitive to Z-value).
-<li>Fixed handling LineStrings with too few points in GeometryGraph.addLineString
-<li>Fixed: was not checking that MultiPolygons don't contain components with too few points.
-<li>Fixed Envelope.distance() to return correct distance for all envelopes.
-<li>Fixed a few Geometry methods to make them re-entrant.
-<li>Fixed CoordinateList.closeRing() to ensure endpoints are not duplicated
-<li>Fixed CGAlgorithms.signedArea() to use a simpler algorithm which is more robust and faster.
-<li>Fixed bug preventing validating Rings containing an initial repeated point.
-</ul>
-<h3>API Changes</h3>
-<ul>
-<li>Added default constructor to WKTReader. It uses the default GeometryFactory
-<li>Add two static intersects() methods to Envelope, to allow computing intersections with envelopes defined by points only.
-<li>Dropped BinaryPower; its functionality is provided by DoubleBits in a more robust fashion.
-<li>Removed a couple of redundant private static methods from Geometry; they have been replaced by methods in CoordinateArrays
-<li>The Geometry class is now marked as Serializable
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.2</h2>
-
-Release Date: 7 October 2002
-<h3>Semantics Changes</h3>
-<ul>
-<li>JTS now allows Geometrys to have repeated points. All operations will continue to perform as before. This removes a significant incompatibility with the OGC spatial data model.
-<li>TopologyExceptions may now be thrown by spatial overlay methods. This helps to distinguish between code bugs and known robustness problems. It also provides a machine-readable coordinate for the error location.
-</ul>
-<h3>Functionality Improvements</h3>
-<ul>
-<li>RobustLineIntersector now uses "normalized" coordinates to maximize the accuracy of intersection computation.
-<li>Upgraded Quadtree with more robust implementation
-<li>Replaced IntervalTree with a more robust implementation of BinTree
-<li>Added STRTree 2-D spatial index, which exhibits better performance than QuadTrees in many situations.
-<li>Added EnhancePrecisionOp, which uses precisioning enhancing techniques to reduce the number of failure cases due to robustness problems.
-</ul>
-<h3>Bug Fixes</h3>
-<ul>
-<li>fixed ConvexHull to use TreeSet instead of HashSet for coordinates
-<li>Fixed isValid for GeometryCollections containing Polygons, which were sometimes erroneously returning a validity failure for correct Geometrys.
-<li>Fixed bug in LineSegment.distancePointLine() which would return the incorrect distance for a LineSegment with two identical points
-<li>Improved error handling in CGAlgorithms.isCCW()
-<li>IsValid now checks for too few points in a geometry component (e.g. due to repeated points in a ring)
-</ul>
-<h3>API Changes</h3>
-<ul>
-<li>added Stopwatch class
-<li>added Geometry.getArea() and Geometry.getLength() methods
-<li>added CGAlgorithms.signedArea() method
-<li>added methods to LineSegment - closestPoint(), getLength()
-<li>added CoordinateArrrays and CoordinateLists utility classes
-<li>Added TopologyValidationError.getErrorType() method
-<li>Added Envelope#intersects; deprecated Envelope#overlaps.
-<li>Added Geometry#geometryChanged() method to allow signaling when Geometry coordinates have been mutated by a client class
-<li>Added STRTree class implementing a Sort-Tile-Recursive spatial index (a variant of a packed R-tree)
-<li>Deleted IntervalTree 1-D spatial index (replaced by BinTree)
-<li>Add BinTree 1-D spatial index
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.1.1</h2>
-
-Release Date: 9 April 2002
-<h3>Bug Fixes</h3>
-<ul>
-<li>fixed decimal-point symbol localization bug in WKTWriter
-<li>fixed bug in Envelope.int(Envelope env)
-<li>fixed filename case of SFSMultiLineString.java and IntervalTree.java
-</ul>
-<h3>API Changes</h3>
-<ul>
-<li>deleted TopologyException class
-<li>renamed CGAlgorithms.isPointInPolygon to isPointInRing (a more accurate description of what the method computes)
-</ul>
-<h3>API Additions</h3>
-<ul>
-<li>added Geometry.getCoordinate() method
-<li>added Geometry.distance() method
-<li>added GeometryComponentFilter interface and Geometry.apply(GeometryComponentFilter) method
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.1</h2>
-
-Release Date: 28 March 2002
-<h3>New Features</h3>
-<ul>
-<li>added Geometry.isSimple() and Geometry.isValid() methods
-<li>improved design of topological data structures
-<li>added Geometry.setSRID() method
-<li>improved functionality of the Envelope class
-<li>added ability to write to an arbitrary java.io.Writer object to WKTWriter
-<li>added Validate and Mark Location functionality to TestBuilder
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 1.0</h2>
-Release Date: 1 February 2002
-<ul>
-<li>Removed some non-compatibilities with Java 1.1
-<li>Fixed bug in constructing buffer outline around inside of angles
-<li>In TestBuilder vertices are now displayed with fixed size in view units
-<li>Improved code for WKTWriter.writeFormatted()
-<li>Fixed bug in constructor for LinearRing
-<li>Improved implementation of sweepline intersection algorithm to avoid use of dynamic set.
-<li>Fixed bug in ConvexHull.cleanRing()
-<li>Refactored RobustLineIntersector and NonRobustLineIntersector
-</ul>
-
-<!----------------------------------------------------------------------->
-<hr size='4' color='darkblue'>
-<h2>Version 0.0</h2>
-Release Date: 30 May 2001
-
-<p>
-<i>Baseline version</i>
-
-</body>
-</html>
+<html>
+
+<head>
+<title>JTS Version History</title>
+</head>
+
+<body bgcolor='#DFF0FF'>
+<h1 style='text-align:center; color:darkblue;'>
+JTS TOPOLOGY SUITE
+<br>
+<i>Version History</i>
+</h1>
+
+This document lists the change history of release versions of the
+<span style='color:darkblue;'><b>JTS Topology Suite</b></span>.
+<ul>
+<li>Project site: <a href='http://locationtech.org/projects/technology.jts'><b>LocationTech JTS </b></a>
+<li>Code repo: <a href='https://github.com/locationtech/jts'><b>Github JTS</b></a>
+<li>Distribution: <a href='https://github.com/locationtech/jts/releases'><b>Github JTS Releases</b></a>
+</ul>
+<p>
+The JTS distributions for older versions can be obtained at the
+<a href='http://sourceforge.net/projects/jts-topo-suite/'><b>SourceForge JTS site</b></a>.
+</p>
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.15</h2>
+
+<i>Release Date: November 30, 2017</i>
+
+<h3>Project Changes</h3>
+<ul>
+<li>Changed licensing to dual-licensed EDL or EPL
+<li>Changed source hosting to GitHub
+<li>Changed distro hosting to GitHub
+<li>Changed build chain to use Maven
+<li>Changed code module structure
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Changed Java package root to <code>org.locationtech.jts</code>
+<li>Refactored <code>CGAlgorithms</code> into function-specific classes
+ <code>Orientation</code>, <code>PointLocation</code>, <code>Distance</code>, <code>Length</code>, <code>Area</code>
+<li>Deprecated <code>NonRobustCGAlgorithms</code>; use function-specific classes refactored from <code>CGAlgorithms</code>
+<li>Deprecated <code>RobustDeterminant</code>; use <code>CGAlgorithmsDD</code>
+<li>Deprecated <code>Geometry.clone</code>; use <code>Geometry.copy</code>
+<li>Deprecated <code>GeometryFactory.createX(null)</code> methods; Use no-argument <code>GeometryFactory.createX</code> methods
+<li>Deprecated overloaded <code>GeometryFactory.createMultiPoint</code>; use <code>GeometryFactory.createMultiPointFromCoords</code>
+</ul>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Improve <code>Quadtree</code> to handle queries with null envelopes
+<li>Add <code>STRtree</code> K-Nearest Neighbours query
+<li>Add <code>Serializable</code> to </code><code>PackedCoordinateSequence</code>
+<li>Add <code>Envelope.intersects</code>
+<li>Add <code>Geometry.intersects</code> for <code>GeometryCollection</code>
+<li>Improve <code>WKBReader</code> to handle the OGC 06-103r4 specification.
+<li>Improve <code>WKTReader</code> to handle <code>Z</code>, <code>M</code>, <code>ZM</code> modifiers.
+</ul>
+
+<h3>Performance & Robustness Improvements</h3>
+<ul>
+<li>Add optimization for <code>Geometry.contains</code> and <code>Geometry.covers</code>
+<li>Improve robustness of <code>RayCrossingCounter</code> and <code>Geometry.contains</code>
+<li>Improve robustness of <code>MultiPolygon</code> centroid computation
+<li>
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Eliminated <code>LineString.normalize</code> side-effects
+</ul>
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added function <code>Writer.writeGeoJSON</code>
+<li>Added tree view of scalar functions
+<li>Added ability to repeat functions
+<li>Added custom fill styling
+<li>Added <code>SelectionFunctions</code> for metrics (area, length)
+<li>Added function documentation driven by annotations
+<li>Some changes to layout of GUI elements (such as toolbar)
+</ul>
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.14</h2>
+
+<i>Release Date: September 23, 2015</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <code>Envelope.compareTo</code> method
+<li>Fixed <code>SegmentSetMutualIntersector</code> classes to be thread-safe</li>
+<li>Fixed <code>PreparedGeometry</code> classes to be thread-safe</li>
+<li>Added <code>LineDissolver</code> class
+<li>Added <code>edgegraph</code> package
+<li>Added <code>CoordinateSequences.isEqual</code> method
+<li>Extended <code>CoordinateSequences.copy</code> and <code>CoordinateSequences.copy</code> to handle inputs of different dimension
+<li>Added <code>CoordinateArrays.envelope()</code> function
+<li>Added <code>CoordinateArrays.intersection()</code> function
+<li>Added <code>Polygonizer.setCheckValidRings()</code> method for optimizing performance in some situations
+<li>Added <code>KMLWriter</code> to convert Geometry to KML representation
+<li>Added <code>Coordinate</code> <code>equals3D</code>, <code>equals2D(Coordinate, tolerance)</code>, and <code>equalInZ</code> methods.
+<li>Added <code>VWSimplifier</code> to perform Visvalingam-Whyatt simplification
+<li>Enhanced <code>WKBReader</code> to handle Spatialite WKB format
+<li>Added <code>DD.setValue()</code> methods
+<li>Added <code>getGeometry()</code> methods to <code>LinearComponentExtracter</code> and <code>LineStringExtracter</code>
+<li>Added <code>BufferParameters</code> </code>simplifyFactor</code> setting
+<li>Added node counting and ability to not keep intersection points to <code>InteriorIntersectionFinder</code>
+<li>Added <code>Polygonizer</code> functionality to extract only polygons forming a valid polygonal geometry
+<li>Added <code>KdTree.toCoordinates</code>
+<li>Added <code>MinimumBoundingCircle.getFarthestPoints</code> method
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Performance & memory improvement in <tt>PreparedPolygonIntersects</tt> by short-circuiting point input case
+<li>Allow for memory usage optimization in <code>CascadedPolygonUnion</code>, by avoiding retaining input collection
+<li>Fix <code>Point.isEmpty()</code> to avoid allocating a coordinate
+<li>Fix <code>Geometry.equalsExact()</code> to short-circuit when the inputs are identical objects
+<li>Add short-circuit to <code>PointExtracter</code> to improve performance for Points
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed <code>RobustLineIntersector</code> heuristic for handling invalid intersection points
+(computed as outside envelope of input segments due to numeric precision issues)
+<li>Fixed <code>CGAlgorithmsDD.intersection</code> to compute intersection correctly
+<li>Fixed <tt>Geometry.interiorPoint()</tt> to compute a true interior point in certain cases
+<li>Fixed <code>Geometry.equals</code> to handle null argument
+<li>Fixed <code>DistanceToPoint</code> to be thread-safe
+<li>Fixed <code>Geometry.interiorPoint()</code> and <code>InteriorPointArea</code> to handle zero-area geometries
+<li>Fixed <code>STRtree</code> classes to be thread-safe (by synchronizing the <code>AbstractSTRtree.build()</code> method)
+<li>Fixed <code>STRtree.remove()</code> method to avoid a NPE
+<li>Fixed <code>DouglasPeuckerSimplifier</code> and <code>TopologyPreservingSimplifier</code> to handle empty geometry components in the input
+<li>Fixed <code>ConvexHull</code> to handle input of array of identical coordinates
+<li>Fixed <code>GeometryTransformer.transformLinearRing()</code> to handle null inputs
+<li>Fixed the <code>extractPoint(distance, offset)</code> methods in
+ <code>LocationIndexedLine</code> and <code>LengthIndexedLine</code> to handle offsets from endpoints correctly.
+<li>Fixed <code>GeometryCollectionIterator</code> to correctly handle atomic geometries
+<li>Fixed <code>InteriorIntersectionFinder</code> to not short-circuit when finding all nodes
+<li>Fixed <code>SubgraphDepthLocator</code> to work with Java 7+ by avoiding sorting with an inconsistent ordering
+<li>Fixed <code>FontGlyphReader</code> to use correct Java font value of "SansSerif", and added new constant to match.
+<li>Fixed <code>KdTree</code> to correctly implement distance tolerance-based coordinate matching
+<li>Fixed <code>LineString.normalize()</code> to correctly handle CoordinateSequences
+<li>Fixed <code>CommonBitsRemover</code> to correctly handle CoordinateSequences
+<li>Fixed bug in <code>CoordinateArraySequence.clone()</code>
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Changed interface of <code>SegmentSetMutualIntersector</code> to support thread-safety by removing state
+<li>Provided <code>InteriorIntersectionFinderAdder</code> to replace the poorly named <code>IntersectionFinderAdder</code>
+<li>Changed some classes in <code>com.vividsolutions.jts.operation.buffer</code> to be package-private
+</ul>
+
+<h3>Testing Improvements</h3>
+<ul>
+<li>Added <code>GeometryTestCase</code> base class to simplify unit tests
+</ul>
+
+<!------- JTS-IO -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS I/O</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <code>GeoJsonReader</code> and <code>GeoJsonWriter</code> classes
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>In <code>OraWriter</code> the connection is now provided to the <code>write()</code> method, not the constructors
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed <code>OraReader</code> to handle reading <code>GeometryCollection</code> with <code>Point</code> as second element
+<li>Many improvements to Oracle API code and performance
+<li>Added <code>OraWriter.setOptimizePoint</code> and <code>OraWriter.setOptimizeRectangle</code> methods
+</ul>
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added ability to read multiple WKBHex geometries from a text file
+<li>Added AutoZoom to input
+<li>Added Oracle text output
+<li>Added more function sets
+<li>Removed dependency on Acme GIF encoder library
+<li>Improved zooming logic
+<li>Added mouse wheel zooming
+<li>Improved UI for editing A/B geometries
+<li>Added <b>Compute New</b> button to Geometry Functions panel
+<li>Added SpatialIndex functions
+<li>Added User Data labelling
+</ul>
+
+<h3>UI Changes</h3>
+<ul>
+<li>Moved Options menu items to View menu
+<li>Removed Tools menu items (they are available as functions)
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed to correctly handle changing Swing Look&Feel
+</ul>
+
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.13</h2>
+
+<i>Release Date: December 13, 2012</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Changed <tt>GeometryFactory.createGeometry()</tt> to make a deep copy of the argument Geometry,
+using the CoordinateSequenceFactory of the factory
+<li>Added ability to specify a dimension in <tt>CoordinateArraySequence</tt>
+<li>Changed <tt>Geometry.getEnvelopeInternal()</tt> to return a copy of the cached envelope, to prevent modification
+<li>Added <tt>GeometryEditor.CoordinateSequenceOperation</tt> to allow easy editing of constituent CoordinateSequences
+<li>Added <tt>GeometryFactory.createPolygon</tt> convenience methods which do not require holes to be specified
+<li><tt>Geometry</tt> overlay methods now return empty results as atomic types of appropriate dimension
+<li>Added <tt>RectangleLineIntersector</tt> to provide efficient rectangle-line intersection testing
+<li>Added <tt>getOrdinate</tt> and <tt>setOrdinate</tt> to <tt>Coordinate</tt>
+<li><tt>Quadtree</tt> is <tt>Serializable</tt>
+<li><tt>STRtree</tt> is <tt>Serializable</tt>
+<li>Added <tt>max</tt>, <tt>average</tt> and <tt>wrap</tt> functions to <tt>MathUtil</tt>
+<li>Improved <tt>WKTReader</tt> parse error reporting to report input line of error
+<li>Improved <code>WKBReader</code> to repair structurally-invalid input
+<li>Made <tt>TopologyPreservingSimplifier</tt> thread-safe
+<li>Added <tt>AbstractSTRtree.isEmpty()</tt> method
+<li>Added <tt>QuadTree.isEmpty()</tt> method
+<li>Added <tt>KdTree.isEmpty()</tt> method
+<li>Added decimation and duplicate point removal to </tt>ShapeWriter<tt>.
+<li><tt>ScaledNoder</tt> now preserves Z values of input
+<li>Added instance methods for all <t>Triangle</tt> static methods
+<li>Added <tt>CGAlgorithmsDD</tt> containing high-precision versions of some basic CG algorithms
+<li>Added <tt>IntersectionMatrix.isTrue()</tt> method for testing IM pattern matches
+<li>Added <code>getRawCoordinates</code> methods to <code>PackedCoordinateSequence</code> concrete classes
+<li>Modified <code>Geometry.isSimple()</code> to explicity check for simplicity for all types,
+and support <code>GeometryCollections</code>
+<li>Improved <code>MCIndexSnapRounder</code> to add nodes only where they are necessary
+<li>Added <code>CoordinateArrays.removeNull()</code> method
+<li>Enhanced <code>GeometryEditor</code> to handle null geometries returned from operation
+<li>Added <code>WKBHExFileReader</code>
+<li>Added <code>Distance3D</code> operation
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Simplified & improved performance of <tt>RectangleIntersects</tt> by using new <tt>RectangleLineIntersector</tt>
+<li>In <tt>RandomPointsInGridBuilder</tt> eliminated redundant <tt>ArrayList</tt> usage
+<li>In <tt>PreparedPolygonIntersects</tt> and <tt>PreparedLineStringIntersects</tt> added check
+to avoid creating segment index if all test inputs are points
+<li>In <tt>AbstractSTRtree</tt> switched to using indexed list access for better performance than using iterators
+<li>In <tt>AbstractSTRtree</tt> freed inserted item array after index is built
+<li>Improved performance of <tt>Polygonizer</tt> for cases with many potential holes
+<li>Improved performance for some <tt>DD</tt> methods by making them <tt>final</tt>
+<li>Added fast filter for <tt>CGAlgorithmsDD.orientationIndex</tt>, and switched to self-operations for DD determinant
+<li>Changed <code>STRtree.createNode()</code> to use a static class for nodes
+<li>Changed <code>QuadTree Node</code> to use scalar x and y variables rather than a <code>Coordinate</code> to reduce memory allocation
+<li>Fixed <code>PreparedGeometry</code> concrete classes to be thread-safe.
+<li>Fixed <code>SortedPackedIntervalRTree</code> so that it is thread-safe.
+</ul>
+
+<h3>Robustness Improvements</h3>
+<ul>
+<li>Switched to using DD extended-precision arithmetic to compute orientation predicate
+<li><code>CGAlgorithms.distanceLineLine()</code> improved to be more robust and performant
+<li>Fixed robustness issue causing <tt>Empty Stack</tt> failure
+in <tt>ConvexHull</tt> for some nearly collinear inputs
+<li><tt>CGAlgorithms.signedArea()</tt> uses a more accurate algorithm
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed <tt>Geometry.equalsExact()</tt> to avoid NPE when comparing empty and non-empty <tt>Point</tt>s
+<li>Fixed <tt>CascadedPolygonUnion</tt> to discard non-polygonal components created during unioning,
+to avoid failures and provide more desirable behaviour
+<li>Fixed <tt>CentralEndpointIntersector</tt> to initialize result correctly
+<li>Fixed <tt>DelaunayTriangulationBuilder.extractUniqueCoordinates(Geometry)</tt>
+to avoid mutating the vertex order of the input Geometry
+<li>Fixed <tt>ConformingDelaunayTriangulationBuilder</tt> to allow
+non-disjoint site and constraint vertex sets
+<li>Fixed <tt>RandomPointsInGridBuilder</tt> point generation to use circle constraint correctly
+<li>Fixed Linear Referencing API to handle MultiLineStrings consistently,
+by always using the lowest possible index value, and by trimming zero-length components from results
+<li>Fixed bug in <tt>LocationIndexedLine</tt> and <tt>LengthIndexLine</tt> which was
+causing an assertion failure when the indexOfAfter() method was called with a constraint location
+which is at the end of the line
+<li>Fixed bug in <tt>STRtree.query(Envelope, ItemVisitor)</tt> causing an NPE when tree is empty
+<li>Fixed issue with creating zero-length edges during buffer topology building under fixed precision, by:
+adding filter to remove zero-length edges;
+using a better estimate of scale factor for reducing to fixed precision after initial failure.
+<li>Fixed <tt>TopologyPreservingSimplifier</tt> to return a valid result
+for closed <tt>LineString</tt>s with large distance tolerances
+<li>Fixed <tt>TopologyPreservingSimplifier</tt> to return an empty result for an empty input
+<li>Fixed <tt>DouglasPeuckerSimplifier</tt> to return an empty result for an empty input
+<li>Fixed <tt>MinimumBoundingCircle</tt> to correctly compute circle for obtuse triangles.
+<li>Fixd <tt>GeometryPrecisionReducer</tt> to use input GeometryFactory when polygon topology is fixed
+<li>Fixed <tt>GeometryNoder</tt> bug that was failing to snap to end vertices of lines
+<li>Fixed <tt>Geometry.getCentroid()</tt> and <tt>Geometry.getInteriorPoint()</tt> to return <tt>POINT EMPTY</tt> for empty inputs
+<li>Fixed <tt>DelaunayTriangulationBuilder</tt> to correctly extract unique points
+<li>Fixed <tt>KdTree</tt> to correctly handle inserting duplicate points into an empty tree
+<li>Fixed <tt>LineSegment.projectionFactor()</tt> to handle zero-length lines (by returning Double.POSITIVE_INFINITY)
+<li>Fixed <tt>LocationIndexedLine</tt> to handle locations on zero-length lines
+<li>Fixed <code>LengthIndexedLine</code> and <code>LocationIndexedLine</code> to handle <code>indexOfAfter()</code> correctly
+<li>Fixed <code>WKBReader</code> to handle successive geometrys with different endianness
+<li>Fixed <code>GeometricShapeFactory</code> to correctly handle setting the centre point
+<li>Fixed <code>GeometryFactory.createMultiPoint(CoordinateSequence)</code> to handle sequences of dimension > 3
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Changed visibility of <tt>TaggedLineStringSimplifier</tt> back to <tt>public</tt> due to user demand
+</ul>
+
+<h3>Testing</h3>
+<ul>
+<li>Added Performance Testing framework (<tt>PerformanceTestRunner</tt>
+and <tt>PerformanceTestCase</tt>)
+<li>Added named predicate tests to all Relate test cases
+</ul>
+
+<h3>Contributors</h3>
+<ul>
+<li>Peter Hopfgartner - improved area computation
+<li>Michael Michaud - snap-rounding improvements
+</ul>
+
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added segment index visualization styling
+<li>Improved <b>Geometry Inspector</b>
+<li>Added stream digitizing for Polygon and LineString tools
+<li>Added output of Test Case XML with WKB
+<li>Added Extract Component tool
+<li>Added Delete Vertices Or Components tool
+<li>Added Geometry Edit Panel pop-up menu, with operations
+<li>Added Halton sequence functions
+<li>Added sorting functions
+<li>Added function for selection of first N components
+<li>Added CGAlgorithms functions
+<li>Added ability to paste and load multiple WKBHex geometries
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Using decimation substantially improves rendering time for large geometries.
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed bug in saving XML test files
+</ul>
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.12</h2>
+
+<i>Release Date: June 30, 2011</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added new names for methods for computing <tt>Geometry</tt> equality:
+<li><tt>equals(Object)</tt> is a synonym for <tt>equalsExact(Geometry)</tt>
+<li><tt>equalsNorm(Geometry)</tt> automatically normalizes the operands
+<li><tt>equalsTopo(Geometry)</tt> computes topological equality,
+and is a synonym for the original <tt>equals(Geometry)</tt>
+</ul>
+<li>Added <tt>Geometry.norm()</tt> to provide non-mutating normalization
+<li>Added <tt>Geometry.hashCode()</tt> to fulfill Java conventions
+<li>Added <tt>LineIntersector.getEndpoint()</tt> method
+<li>Added methods to <tt>CoordinateSequences</tt> to test for and create valid rings
+<li>Added <tt>minExtent</tt> and <tt>maxExtent</tt> to <tt>Envelope</tt>
+<li>Added ability to compute Single-Sided Buffers (invoked via <tt>BufferOp</tt> and <tt>BufferParameters</tt>)
+<li>Added <tt>GeometryPrecisionReducer</tt>
+<li>Added ExtendedWKB SRID support to <tt>WKBWriter</tt> (thanks to Justin Deoliviera)
+<li>Improved <tt>PolygonShape</tt> to support floating-point coordinates
+<li>Added <tt>GeometryShapeFactory.setRotation(double radians)</tt> method
+<li>Added <tt>GeometricShapeBuilder</tt> API to support shape builder development
+<li>Added <tt>RandomPointsBuilder</tt> to allow generating various random point sets
+<li>Added <tt>RandomPointsInGridBuilder</tt> to allow generating various random point sets constrained to a grid
+<li>Added <tt>KochSnowflakeBuilder</tt>
+<li>Added <tt>SierpinskiCarpetBuilder</tt>
+<li>Added <tt>MathUtil</tt> containing mathematics and numerical utility functions
+<li>Added <tt>Vector2D</tt> class providing vector operations
+<li>Added <tt>DirectedEdgeStar.getNextCWEdge()</tt> method to <tt>planargraph</tt> API
+<li><tt>AffineTransformation</tt> enhanced to avoid numeric precision issues in case of reflection in X=Y (coordinate flipping)
+<li>Added <tt>LineSequencer.sequence()</tt> static convenience method
+<li>Added error indicators to <tt>BufferDistanceValidator</tt> and <tt>BufferResultValidator</tt>
+<li>Added <tt>MinimumClearance</tt> class
+<li>Added <tt>nearestNeighbours</tt> methods to <tt>STRtree</tt>
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved memory performance of <tt>ShapeWriter</tt> conversions (by tuning coordinate and polygon conversion)
+<li>Improved performance of <tt>RectangleIntersects</tt> by refining <tt>SegmentIntersectionTester</tt>
+</ul>
+
+<h3>Robustness Improvements</h3>
+<ul>
+<li>Delaunay triangulation uses more robust formulation for the inCircle test
+<li>Voronoi computation now uses more robust formulation for the circumcentre computation
+<li>Force <code>RectangleIntersects</code> to always use segment-scanning to improve robustness
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Reduced visibility of internal classes in <tt>com.vividsolutions.jts.geom.prep</tt>
+<li>Reduced visibility of internal classes in <tt>com.vividsolutions.jts.simplify</tt>
+<li>Moved <tt>Matrix</tt> class into <tt>jts.math</tt> package
+<li>Refactored internal offset curve generation classes
+in <tt>com.vividsolutions.jts.operation.buffer</tt> package
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed <tt>CoordinateArraySequence</tt> and <tt>PackedCoordinateSequence</tt>
+to correctly handle Z ordinate in <tt>getCoordinate(int, Coordinate)</tt>
+<li>Fixed <tt>LinearRing</tt> to have <tt>isClosed()</tt> return <tt>true</tt> for empty rings
+<li>Fixed <tt>Geometry.union()</tt> to use more robust union algorithm.
+ This provides behaviour consistent with <tt>union(Geometry)</tt>.
+<li>Fixed <tt>Point.isValid()</tt> to validate POINT EMPTY correctly
+<li>Fixed <tt>SnapIfNeededOverlayOp</tt> to throw the originating exception,which contains meaningful coordinates
+<li>Fixed <tt>GeometrySnapper</tt> to allow final vertices of LineStrings to snap correctly
+<li>Fixed buffer (<tt>OffsetCurveSetBuilder</tt>) to handle "flat" rings correctly
+<li>Fixed <tt>IsValidOp</tt> to handle reporting "Not Closed" errors on empty rings correctly
+<li>Fixed <tt>NestedRingTester</tt> (used by <tt>IsValidOp</tt>)
+to correctly handle the case where a hole touches all the vertices of another hole (which is invalid)
+<li>Fixed <tt>ConvexHull</tt> to handle large geometries with fewer than 3 unique points
+<li>Fixed <tt>GeometryGraph</tt> to ignore empty hole rings when building graph
+<li>Fixed <tt>LineMerger</tt> to skip lines with only a single unique coordinate
+<li>Fixed <tt>ByteArrayInStream</tt> to pad byte buffers with zeroes
+<li>Corrected spelling of <tt>SquarePointShapeFactory</tt>
+<li>Fixed tolerance check in <tt>KdTree</tt>
+<li>Updated <tt>MasterTester</tt> to include more unit tests
+</ul>
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <tt>[Zoom To Result]</tt> button
+<li>Improved mark display, with floating point label
+<li>Added more random geometry creation functions
+<li>Added fractal geometry creation functions
+<li>Improved threaded rendering handling to ensure only one frame drawn
+<li>Added Magnify Topology capability
+<li>Added Geometry Inspector dialog
+<li>Better startup script, with auto-home directory detection
+and JTS_LIB_DIR environment variable (thanks to strk)
+<li>Added logging Info window behaviour
+<li>Improved saving PNG to allow specifying file name
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed Stats panel to update when current test changes
+<li>Fixed deleting single test case
+</ul>
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.11</h2>
+
+<i>Release Date: March 1, 2010</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <tt>CoordinateArrays.isRing</tt>
+<li>Added <tt>CGAlgorithms.signedArea(CoordinateSequence)</tt>
+<li>Added <tt>CoordinateArrays.copyDeep(...)</tt> method to copy sections of arrays
+<li>Added <tt>CoordinateList.add(Coordinate[], boolean, int, int)</tt> method to add sections of arrays
+<li>Added <tt>LineSegment.toGeometry()</tt>, <tt>LineSegment.lineIntersection()()</tt>
+<li>Added <tt>LineSegment.hashCode()</tt>
+<li>Added geometric similarity classes (<tt>HausdorffSimilarityMeasure</tt>, <tt>AreaSimilarityMeasure</tt>)
+<li>Added <tt>MinimumDiameter.getMinimumRectangle()</tt>
+<li>Added <tt>MinimumBoundingCircle</tt> class
+<li>Added <tt>Densifier</tt> class
+<li>Added triangulation API, including <tt>QuadEdgeSubdivision</tt>, <tt>IncrementalDelaunayTriangulator</tt>,
+ <tt>ConformingDelaunayTriangulator</tt> and supporting classes
+<li>Added <tt>VoronoiDiagramBuilder</tt> to perform Voronoi diagram generation
+<li>Added <tt>scaleInstance(scaleX, scaleY, x, y)</tt> to <tt>AffineTransformation</tt>
+<li>Added <tt>AffineTransformationFactory</tt> to allow generating transformations from various kinds of control inputs
+<li>Added <tt>BinTree.remove()</tt> method
+<li>Fixed <tt>BinTree.query()</tt> to allow null interval arguments
+<li>Added <tt>ShapeReader</tt> API to convert Java2D Shapes into JTS Geometry
+<li>Added <tt>ShapeWriter</tt> API to convert JTS geometry into Java2D Shapes
+<li>Added <tt>FontGlyphReader</tt> API to render Java2D text font glyphs into geometry
+<li>Added <tt>SdeReader</tt> to <b>jtsio</b> library
+<li>Added <tt>Debug</tt> break methods
+<li>Added <tt>Memory</tt> utility for reporting memory statistics
+<li>Added <tt>ObjectCounter</tt> utility for counting objects
+<li>Added <tt>createSquircle</tt> and <tt>createSuperCircle</tt> to <tt>GeometricShapeFactory</tt>
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved performance of <tt>Geometry.getArea()</tt> and <tt>Geometry.getLength()</tt> when used with custom <tt>CoordinateSequence</tt>s
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Deprecated <tt>WKBWriter.bytesToHex</tt> in favour of <tt>WKBWriter.toHex</tt> to regularize and simplify method name
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed Point.isValid() to check for invalid coordinates (ie with Nan ordinates)
+<li>Fixed <tt>Geometry.distance()</tt> and <tt>DistanceOp</tt> to return 0.0 for empty inputs
+<li>Fixed <tt>Buffer</tt> to handle degenerate polygons with too few distinct points correctly
+<li>Added illegal state check in <tt>LineSegment.pointAlongOffset()</tt>
+<li>Fixed exception strategy in <tt>BufferSubgraph</tt> to handle certain robustness failures correctly
+<li>Fixed robustness problem in <tt>OffsetCurveBuilder</tt> in computing mitred joins for nearly parallel segments
+<li>Fixed minor bug in <tt>BufferInputLineSimplifier</tt> which prevented simplification of some situations
+<li>Fixed bug in <tt>BufferInputLineSimplifier</tt> which caused over-simplification for large tolerances
+<li>Fixed bug in <tt>Angle.normalizePositive</tt> to handle values > 2PI correctly
+<li>Fixed <tt>WKTWriter</tt> to emit correct syntax for MULTIPOINTs
+<li>Fixed <tt>WKTReader</tt> to accept correct syntax for MULTIPOINTs
+<li><tt>CGAlgorithms.isCCW</tt> now checks for too few points in the ring and throws an <tt>IllegalArgumentException</tt>
+<li>Fixed bug in <tt>AffineTransformation#eqals</tt> (logic bug)
+<li>Fixed bug in <tt>CoordinateList#closeRing</tt> (cloning closing Coordinate)
+</ul>
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>WKT input is cleaned automatically when loaded (illegal chars are removed)
+<li>Added WKT-Formatted option to Test Case View dialog
+<li>Many new geometry functions added
+<li>Geometry functions are displayed in tree
+<li>Geometry functions can be implemented as Java static class methods.
+<li>Geometry function classes can be loaded dynamically from command-line
+<li>Improved handling of very large geometry inputs and results
+<li>Threaded rendering allows display of very large geometries without limiting usability
+<li>Added Draw Rectangle tool
+<li>Added Drag-n-drop loading of .SHP files
+<li>Added Info tool to provide persistent display of geometry point/segment information
+<li>Added display of memory usage
+</ul>
+
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.10</h2>
+
+<i>Release Date: December 31, 2008</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <tt>Geometry.reverse()</tt> method for all geometry types
+<li>Added <tt>setSrsName</tt>, <tt>setNamespace</tt>, <tt>setCustomRootElements</tt> methods to <tt>GMLWriter</tt>
+<li>Added <tt>Envelope.getArea</tt> method
+<li>Added <tt>copy</tt>, <tt>copyCoord</tt> methods to <tt>CoordinateSequences</tt>
+<li>Added <tt>area</tt> method to <tt>Envelope</tt>
+<li>Added <tt>extractPoint(pt, offset)</tt> methods to <tt>LengthIndexedLine</tt> and <tt>LocationIndexedLine</tt>
+<li>Added <tt>CoordinatePrecisionReducerFilter</tt>
+<li>Added <tt>UnaryUnionOp(Collection, GeometryFactory)</tt> constructor to handle empty inputs more automatically
+<li>Added <tt>DiscreteHausdorffDistance</tt> class
+<li>Made <tt>LineMerger</tt> able to be called incrementally
+<li>Added <tt>GeometricShapeFactory.createArcPolygon</tt> to create a polygonal arc
+<li>Enhanced <tt>Geometry.buffer()</tt> to preserve SRID
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved performance for <code>EdgeList</code> (by using a more efficient technique for detecting duplicate edges)
+<li>Improved performance for <code>ByteArrayInStream</code> (by avoiding use of <tt>java.io.ByteArrayInputStream</tt>)
+<li>Unrolled intersection computation in <tt>HCoordinate</tt> to avoid object allocation
+<li>Improved performance for buffering via better offset curve generation and simplification.
+<li>Improved performance for <tt>IsValidOp</tt> by switching to use <tt>STRtree</tt> for nested hole checking
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed <tt>Geometry.getClassSortIndex()</tt> to lazily initialize the sorted class list. This fixes a threading bug.
+<li>Fixed <tt>RectangleContains</tt> to return correct result for points on the boundary of the rectangle
+<li>Fixed error in <tt>com.vividsolutions.jts.simplify.LineSegmentIndex</tt> which caused polygons
+simplified using <tt>TopologyPreservingSimplifier</tt> to be invalid in certain situations
+<li>Fixed error in <tt>DouglasPeuckerSimplifier</tt> which caused empty polygons to be returned when they contained a very small hole
+<li>Fixed <tt>PackedCoordinateSequence</tt> to return <tt>NaN</tt> for null ordinate values
+<li>Fixed <tt>Geometry.centroid()</tt> (<tt>CentroidArea</tt>) so that it handles degenerate (zero-area) polygons
+<li>Fixed <tt>Geometry.buffer()</tt> (<tt>OffsetCurveBuilder</tt>) so that it handles JOIN_MITRE cases with nearly collinear lines correctly
+<li>Fixed <tt>GeometryFactory.toGeometry(Envelope)</tt> to return a CW polygon
+<li>Fixed <tt>UnaryUnionOp</tt> to correctly handle heterogeneous inputs with P/L/A components
+<li>Fixed <tt>UnaryUnionOp</tt> to accept <tt>LINEARRING</tt>s
+<li>Fixed <tt>CentroidArea</tt> to handle zero-area polygons correctly
+<li>Fixed <tt>WKBWriter</tt> to always output 3D when requested, and to handle 2D <tt>PackedCoordinateSequences</tt> correctly in this case
+<li>Fixed <tt>NodedSegmentString</tt> to handle zero-length line segments correctly (via <tt>safeOctant</tt>)
+<li>Cleaned up code to remove unneeded <tt>CGAlgorithms</tt> objects
+<li>Fixed <tt>GeometricShapeFactory.createArc</tt> to ensure arc has requested number of vertices
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Moved GML I/O classes into core JTS codebase
+<li>Changed <tt>GMLWriter</tt> to not write the <tt>srsName</tt> attribute by default
+<li>In <tt>DistanceOp</tt> switched to using <tt>nearestPoints</tt> method names
+<li>Exposed <tt>STRtree.getRoot()</tt> method
+</ul>
+
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>UI Improvements</h3>
+<ul>
+<li>Added ability to read GML from input panel
+<li>Added GML output to View dialog
+<li>Added file drag'n'drop to Geometry Input text areas
+<li>Add display of computation time
+<li>Added Stats panel
+<li>Added Scalar functions panel, with extensible function list
+<li>Added <b>Save as PNG...</b>
+<li>Added stream digitizing to Polygon and Line Draw tools
+</ul>
+
+<!------- TestRunner -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <tt>-testCaseIndex</tt> command-line option
+</ul>
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.9</h2>
+
+<i>Release Date: January 2, 2008</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <tt>Polygonal</tt>, <tt>Lineal</tt>, <tt>Puntal</tt> tag interfaces to better categorize geometry classes
+<li>Added <tt>Geometry.union()</tt> method, <tt>UnaryUnionOp</tt> class for efficient unioning of geometrys
+<li>Added <tt>Triangle.area3D</tt> method
+<li>Added <tt>LineSegment.pointAlongOffset</tt> method
+<li>Added <tt>LineSegment.orientationIndex(Coordinate)</tt> method
+<li>Added <tt>PreparedGeometry</tt> classes and methods to optimize some geometry functions in batch situations
+<li>Added <tt>Envelope.covers</tt> methods, for preciseness
+<li>Added <tt>OctagonalEnvelope</tt> class
+<li>Improved <tt>CGAlgorithms.isPointInRing</tt> method to handle case where point lies on the ring
+<li>Added <tt>CGAlgorithms.locatePointInRing</tt> method
+<li>Added <tt>PointInAreaLocator</tt> interface, enhanced <tt>SimplePointInAreaLocator</tt> to extend this
+<li>Added <tt>RayCrossingCounter</tt>, <tt>IndexedPointInAreaLocator</tt> classes for more efficient Point-In-Polygon testing
+<li>Added <tt>GeometryCombiner</tt> class
+<li>Enhanced <tt>BufferOp</tt> with join styles
+<li>Enhanced <tt>WKTReader</tt> to accept any case for <tt>NaN</tt> number symbols
+<li>Added <tt>WKTFileReader</tt> class
+<li>Improved performance of <tt>CoordinateList</tt> constructors
+<li>Added <tt>CascadedPolygonUnion</tt> class
+<li>Added <tt>LinearLocation.isOnSameSegment</tt> method
+<li>Added <tt>LinearLocation.getSegment</tt> method
+<li>Added <tt>LocationIndexedLine.indexOfAfter</tt> method
+<li>Added interpolation of Z value to linear referencing methods
+<li>Added methods to rotate around a given point to <tt>AffineTransformation</tt>
+<li>Allowed <tt>GeometricShapeFactory</tt> to be subclassed to add new shapes
+<li>Added <tt>SineStarFactory</tt> (primarily to support testing)
+<li>Added <tt>SortedPackedIntervalRTree</tt> class
+<li>Added <tt>SegmentSetMutualIntersector</tt> interface and implementations
+<li>Added <tt>Node.remove(DirectedEdge)</tt> method in <tt>planargraph</tt> package
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved performance for <code>SimplePointInAreaLocator</code> (by checking ring envelopes as a filter)
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li><tt>Geometry.buffer</tt> operation fixed to always return polygonal geometries
+<li>Fixed bug in <code>Geometry.buffer(distance, quadrantSegs)</code>
+causing failure for some cases with <tt>quadrantSegs = 1</tt>
+<li>Fixed bug in <tt>GeometryFactory.toGeometry(Envelope)</tt>
+which was returning invalid Polygons for "linear" envelopes
+<li>Fixed bug in <tt>MonotoneChainBuilder</tt> which caused failures in situations with segments of zero length
+<li>Fixed <tt>PointLocator</tt> to handle locating in Point geometries
+<li>Fixed <tt>GeometricShapeFactory</tt> to always use provided PrecisionModel
+<li>Fixed <tt>LinearLocation.clone</tt> method
+<li>Fixed <tt>LinearLocation.isValid</tt> method
+<li>Fixed <tt>Polygonizer</tt> to accept single-point linestrings (which are ignored)
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Deprecated <code>RobustCGAlgorithms</code>
+<li>Deprecated <code>BufferOp</code> cap style constants (these are now provided in </tt>BufferParameters</tt>)
+<li>Removed <code>SIRPointInRing</code>
+</ul>
+
+<!------- TestRunner -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
+
+<h3>New Features</h3>
+<ul>
+<li>Added ability to specify GeometryOperation in XML file
+<li>Added <tt>BufferValidatedGeometryOperation</tt>
+<li>Added ability to specify custom result matching via <tt>resultMatcher</tt> parameter
+in XML files
+<li>Added <tt>BufferResultMatcher</tt>
+</ul>
+
+
+<!------- TestBuilder -------------------->
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>UI Improvements</h3>
+<ul>
+<li>Improved rendering of geometries
+<li>Improved symbology for orientation
+<li>Simplified Geometry creation
+<li>Improved vertex move/add
+<li>Added tooltip for coordinate location
+<li>Added more geometry functions
+<li>Added Copy Result to Test button
+</ul>
+
+<h3>Code Improvements</h3>
+<ul>
+<li>Restructured code for more flexibility, better Swing functionality
+<li>Made it easier to add geometry functions
+</ul>
+
+
+<!-- ================================================================ -->
+<hr size='4' color='darkblue'>
+<h2>Version 1.8</h2>
+
+<i>Release Date: December 19, 2006</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Improved robustness for overlay operations, via using geometry snapping
+<li>Added <code>Angle</code> class
+<li>Added methods to <code>Triangle</code> class
+<li>Added <code>LineSegment.midPoint</code> method
+<li>Added ability to specify output of Z values to <code>WKTWriter</code>
+<li>Added <code>setFormatted</code>, <code>setTab</code>, <code>setMaxCoordinatesPerLine</code> methods to <code>WKTWriter</code>
+<li>Added <code>BoundaryNodeRule</code> classes, and ability to specify a Boundary Node Rule
+in <code>RelateOp</code>, <code>IsSimpleOp</code>, <code>BoundaryOp</code>
+<li>Added ability to get the failure location to <code>IsSimpleOp</code>
+<li>Added <code>BoundaryOp</code> with improved algorithm for lineal geometries. Changed lineal Geometry classes to use it.
+<li>Enhanced <code>Geometry</code> overlay methods to accept empty <code>GeometryCollections.</code>
+<li>Enhanced Error Handling for <tt>WKTReader</tt>
+<li>Added <code>CoordinateSequenceFilter</code>
+<li>Added <code>AffineTransformation</code> and <code>AffineTransformationBuilder</code>
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Changed API for <code>IsSimpleOp</code> (required to support returning failure location)
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed bug in <code>GeometryFactory.buildGeometry</code>
+causing failure if input contained all GeometryCollections of the same subclass
+<li>Changed AssertFailure to TopologyException in <code>PolygonBuilder</code>
+<li>Improved correctness of <tt>RobustLineIntersector</tt> in certain cases where segment endpoints intersect
+<li>Eliminated duplicate method execution in <code>TestRunner</code>
+</ul>
+
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestBuilder</h3>
+
+<h3>New Features</h3>
+<ul>
+<li>Zoom tool can now draw zoom box as well as click
+<li>Cut, Copy and Paste buttons for Input WKT
+<li>added ability to specify custom Geometry Operations
+</ul>
+
+<hr size='0' color='darkblue'>
+<h3 style='font-family:sans-serif; color:darkblue'>JTS TestRunner</h3>
+
+<h3>New Features</h3>
+<ul>
+<li>added ability to specify custom Geometry Operations
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Eliminated duplicate method execution
+</ul>
+
+
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.7.2</h2>
+
+<i>Release Date: June 22, 2006</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added support for EWKB (SRIDs only) to <code>WKBReader</code>
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed bug in <code>CoordinateArrays.ptNotInList</code>.
+Changed <code>polygonize.EdgeRing</code> to used corrected code.
+<li>Fixed bug causing duplicate points in <code>ScaledNoder</code>
+<li>Fixed bug causing Null Pointer for empty geometries in <code>OraWriter</code>
+<li>Changed AssertFailure to TopologyException in <code>EdgeNode</code>
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.7.1</h2>
+
+<i>Release Date: March 20, 2006</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added Hex string conversion to <code>WKBReader</code> and <code>WKBWriter</code>
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed null point cloning bug in <code>TopologyValidationError</code> (<i>thanks to Markus Gebhard</i>)
+<li>Fixed bug in <code>PointLocator</code> fix for LinearRings
+<li>Fixed bug in <code>Geometry.isValid</code> and <code>IsValidOp</code> causing some valid polygons
+to be reported as having a Disconnected Interior (specifically, polygons containing
+holes touching at a single point, where the point is the highest point in the hole rings, and where the holes
+have a specific orientation)
+<li>Fixed bug in <code>Polygon.isRectangle</code>, which reported some valid rectangles as false
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved performance for <code>Geometry#withinDistance</code> (via short-circuiting)
+</ul>
+
+<h3>Contributors</h3>
+<ul>
+<li>Dave Blasby
+<li>Koen van Dijken
+</ul>
+
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.7</h2>
+
+<i>Release Date: December 7, 2005</i>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added <code>JTSVersion</code> class to provide access to the API version information
+<li>Added <code>covers</code> and <code>coveredBy</code> predicates to <code>Geometry</code>
+<li>Added <code>Geometry#buffer(distance, quadSegs, endCapStyle)</code> method to expose buffer end cap styles
+<li>Added <code>LineString#reverse</code> and <code>MultiLineString#reverse</code> methods
+<li>Added <code>centre</code>, <code>intersection</code>, <code>translate</code>,
+<code>expandBy(distance)</code>, <code>expandBy(dx, dy)</code>
+methods to <code>Envelope</code>
+<li>Added <code>CollectionUtil</code> class for performing operations over collections
+<li>Added <code>CoordinateArrays</code> comparators
+<li>Added <code>CoordinateSequence#getDimension</code>
+<li>Added convenience methods <code>toPoint</code> and <code>toLineString</code> to <code>WKTWriter</code>
+<li>Added WKB API (<code>WKBReader</code> and <code>WKBWriter</code> classes in <code>com.vividsolutions.jts.io</code>
+<li><code>WKTReader</code> has better handling of numeric parsing, including support for scientific notation
+<li>Added <code>IsValidOp#setSelfTouchingRingFormingHoleValid</code> to allow validating SDE-style polygons
+<li>Added check for non-closed rings in <code>IsValidOp</code>
+<li>Added Linear Referencing API (<code>com.vividsolutions.jts.linearref</code>
+<li>Added <code>LineSequencer</code> class to <code>com.vividsolutions.jts.operation.linemerge</code>
+<li>Added <code>Subgraph</code> class to <code>com.vividsolutions.jts.planargraph</code>
+<li>Added <code>isRemoved</code> method to <code>GraphComponent</code>
+<li>Added <code>ConnectedSubgraphFinder</code> class to <code>com.vividsolutions.jts.planargraph.algorithm</code>
+<li>Added <code>setVisited</code>, <code>getComponentWithVisitedState</code>,
+<code>setVisited</code>, <code>getComponentWithVisitedState</code>
+methods to <code>com.vividsolutions.jts.planargraph.GraphComponent</code>
+<li>Added classes to perform Snap Rounding (in <code>com.vividsolutions.jts.noding.snapround</code>>
+<li>Improved buffering speed and robustness by using Snap Rounding
+<li>Added buffer optimization for results with large numbers of polygons and/or holes
+<li>Added <code>STRtree#query(Envelope, ItemVisitor)</code> method
+<li>Added <code>Debug#toLine</code> methods
+<li>Added <code>ConvexHull(Coordinate[])</code> constructor
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed decimal formatting in <code>WKTWriter</code> to force a leading 0 in decimal numbers
+<li>Fixed bug in <code>CoordinateArraySequence#setOrdinate</code>
+<li>Fixed bug when checking validity of polygon with hole (<code>IsValidOp#checkHolesInShell</code>)
+<li>Improved correctness of computated intersections in <code>RobustLineIntersector</code>
+<li>Fixed bugs in <code>CoordinateList.clone</code> (thanks to Matthias Bobzien)
+<li>Fixed bug in <code>Envelope.equals</code> (thanks to John Cartwright)
+<li>Fixed <code>PointLocator</code> for LinearRings
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Improved performance for overlay operations (point inclusion, identical edge detection)
+<li>Improved Convex Hull performance
+</ul>
+
+<h3>API Changes</h3>
+<ul>
+<li>Added <code>SpatiaIndex#query(Envelope, ItemVisitor)</code> method signature
+<li>Added <code>CoordinateSequence#getDimension()</code> method signature
+<li>Marked <code>GeometryEditor.CoordinateOperation#edit(Geometry, GeometryFactory)</code> method
+as <code>final</code>, to prevent incorrect use
+</ul>
+
+<h3>Semantics Changes</h3>
+<ul>
+<li>CoordinateArraySequence#setOrdinate now checks that the ordinate index is in range
+</ul>
+
+
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.6</h2>
+
+Release Date: February 3, 2005
+
+<h3>API Changes</h3>
+<ul>
+<li>Changed to using <code>CoordinateArraySequence</code> instead of <code>DefaultCoordinateSequence</code>
+(to provide a more descriptive name).
+</ul>
+
+<h3>Semantics Changes</h3>
+<ul>
+<li>PrecisionModel#makePrecise changed to use Symmetric Arithmetic Rounding rather than Banker's Rounding
+</ul>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added ability to enable <code>Debug</code> methods by setting a system property
+<li>Added <code>getNumGeometries</code> and <code>getGeometryN</code> methods to Geometry class, to make API more uniform
+<li>Improved API for <code>CoordinateSequence</code> allows more options for improving memory usage and handling custom coordinate storage methods
+<li>Added <code>PackedCoordinateSequence</code> to provide reduced memory footprint for geometry objects if desired
+<li>Added optimized spatial predicates for rectangles
+<li>Added Debug#isDebugging method
+</ul>
+
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed bug in <code>Geometry#within()</code> short circuiting
+<li>Fixed bug causing <code>Geometry#isValid</code> to throw IllegalArgumentException for certain kinds of holes with invalid rings
+<li>Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing holes touching their shell.
+<li><code>Polygon#getBoundary</code> now returns a <code>LinearRing</code> if the polygon does not have holes
+</ul>
+
+<h3>Architecture Changes</h3>
+<ul>
+<li>Removed a proliferation of references to the default <code>CoordinateSequenceFactory</code>
+</ul>
+
+<h3>Contributors</h3>
+<ul>
+<li>Andrea Aime
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.5</h2>
+Release Date: September 22, 2004
+<p>
+This version is upwards compatible with Version 1.4
+
+<h3>API Changes</h3>
+<ul>
+<li>None
+</ul>
+
+<h3>Semantics Changes</h3>
+<ul>
+<li>None
+</ul>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li><code>CGAlgorithms#isCCW</code> now handles coordinate lists with repeated points. Also throws an IllegalArgumentException if the input ring does not have 3 distinct points
+<li><code>isValid</code> now checks for invalid coordinates (e.g. ones with Nan or infinite numbers)
+<li>added copyDeep() method to <code>CoordinateArrays</code>
+<li>added geometry simplification operations <code>DouglasPeuckerSimplifier</code> and <code>TopologyPreservingSimplifier</code>
+<li>added methods to <code>Quadtree</code> and <code>STRtree</code> to remove items and query using the Visitor pattern
+</ul>
+
+<h3>Performance Improvements</h3>
+<ul>
+<li>Added short-circuit tests in geometry named predicates based on envelope tests
+</ul>
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed bugs in <code>Geometry</code> serialization
+<li>Fixed bug in <code>ValidOp</code> which reported some MultiPolygons with shells nested inside a hole as invalid
+<li>Fixed bug in buffer which caused buffers of some polygons with small & large holes to not contain any holes
+<li>Fixed bug in <code>Polygonizer</code> which caused exception if no lines were supplied
+</ul>
+<h3>Architecture Changes</h3>
+<ul>
+<li>Basic CG algorithm methods made static in the <code>CGAlgorithms</code> class
+<li>Various utility methods made public in <code>CoordinateArrays</code> class
+</ul>
+<h3>Documentation</h3>
+<ul>
+<li>More examples provided in <code>com.vividsolutions.jtsexamples package</code>
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.4</h2>
+
+Release Date: November 4, 2003
+<h3>Semantics Changes</h3>
+<ul>
+<li>none
+</ul>
+<h3>Functionality Improvements</h3>
+<ul>
+<li>Added "LINEARRING" tag to WKT syntax
+<li>Added GeometryEditor class to allow easy copy/modify of Geometrys
+<li>Added GeometricShapeFactory class to easily create standard geometric shapes
+<li>Geometries can now carry arbitrary user-defined data objects (via Geometry#get/setUserData(Object) method)
+<li>Added CoordinateSequence and CoordinateSequenceFactory interfaces, and default implementations (BasicCoordinateSequence, BasicCoordinateSequenceFactory)
+<li>Added Geometry#getFactory
+<li>Added new PrecisionModel type of FLOATING_SINGLE, for rounding to single precision floating point
+<li>Added DistanceOp#getClosestPoints method, which returns the closest points between two Geometries
+<li>Added com.vividsolutions.jts.noding package containing classes to perform fast indexed noding of linestrings
+<li>Added com.vividsolutions.jts.operation.polygonize package containing classes to perform polygonization
+<li>Added com.vividsolutions.jts.operation.linemerge package containing classes to perform line merging
+<li>Added SimpleGeometryPrecisionReducer to allow reducing precision of coordinates of a Geometry
+<li>Added LineSegment#closestPoints method to compute the closest points between two line segments
+<li>Added MinimumDiameter class to compute minimum diameters of Geometries
+<li>Added geom.Triangle class to contain algorithms for Triangles
+<li>BufferOp now allows end cap styles to be specified. Three types are supported: round, butt and square.
+</ul>
+<h3>Performance Improvements</h3>
+<ul>
+<li>EdgeList now provides a findEqualEdge method which is substantially faster than findEdgeIndex, for large lists
+<li>Buffering is now faster and much more robust
+<li>Overlap operations are now more robust
+</ul>
+<h3>Bug Fixes</h3>
+<ul>
+<li>Envelope#init(Envelope) now handles null Envelopes correctly
+<li>CoordinateList#add() now correctly ignores the z-value of Coordinates in determining equality
+<li>Geometry#isValid now correctly handles checking validity of LinearRings
+<li>Fixed infinite loop bug causing Out Of Memory errors during polygon intersection
+<li>Geometry#clone now correctly clones the Geometry's Envelope
+<li>LineIntersector#computeEdgeDistance now correctly computes a non-zero edge distance in certain situations when a fixed precision model was being used and the line segment was a single unit in length
+<li>Fixed incorrect calculation of depths in DirectedEdgeStar#computeDepths
+<li>Fixed BufferSubgraph#addReachable to use explicit stack to avoid stack overflow problems
+<li>Fixed various bugs causing some kinds of buffers to be computed incorrectly
+</ul>
+<h3>API Changes</h3>
+<ul>
+<li>WKTReader/Writer: changed protected members to private
+<li>PrecisionModel type is now an object rather than an int
+<li>ConvexHull API changed to remove requirement to pass in CGAlgorithms object
+</ul>
+<h3>Code Architecture Changes</h3>
+<ul>
+<li>geom.util package added for utility classes which parse and modify geometries
+</ul>
+<h3>Documentation</h3>
+<ul>
+<li>More examples provided in com.vividsolutions.jtsexamples package
+<li>Added JTS Developers Guide
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.3</h2>
+Release Date: April 4, 2003
+<h3>Semantics Changes</h3>
+<ul>
+<li>all Geometry methods are now reentrant (thread-safe)
+<li>Fixed-precision coordinates are now stored in a rounded but non-scaled form. This makes them compatible with non-precise (Floating) coordinates, and simplifies working with precise coordinates directly. Mixed precision models are now supported in Geometry methods; method results are in the more precise of the input precision models.
+<li>Offsets are no longer supported in the Fixed precision model. This is necessary to allow storing fixed precision coordinates in a non-scaled form. This does not reduce the total precision available, since coordinates are stored in a floating-point format.
+<li>SRID and Precision Model are no longer checked for equality during Geometry operations. This removes a limitation which provided little semantic benefit.
+</ul>
+
+<h3>Functionality Improvements</h3>
+<ul>
+<li>added Geometry.isWithinDistance(Geometry g, double distance) method, to provide optimized proximity queries
+<li>added Geometry.buffer(double distance, int quadrantSegments) method, allowing control over accuracy of buffer approximation
+<li>added Geometry.getCentroid() method
+<li>added Geometry.getInteriorPoint() method, which uses heuristic methods to return a point in the interior of a Geometry
+<li>GeometryFactory.toGeometryArray now returns null if the argument is null
+</ul>
+<h3>Performance Improvements</h3>
+<ul>
+<li>Removed unnecessary string construction in EdgeEndStar.propagateSideLabels()
+<li>Eliminated unnecessary computation of self-intersections in rings during relate and spatial functions. This provides a large increase in speed when working with large rings and polygons. (Note that IsValid still checks for these self-intersections, which are illegal in LinearRings)
+<li>Add short-circuit code to RobustLineIntersector to detect non-intersections more efficiently
+</ul>
+<h3>Bug Fixes</h3>
+<ul>
+<li>Fixed ClassCastException occurring in GeometryCollection.getLength()
+<li>Fixed bug in Edge Intersection insertion (replaced Coordinate#equals with equals2D to ensure that intersection creation is not sensitive to Z-value).
+<li>Fixed handling LineStrings with too few points in GeometryGraph.addLineString
+<li>Fixed: was not checking that MultiPolygons don't contain components with too few points.
+<li>Fixed Envelope.distance() to return correct distance for all envelopes.
+<li>Fixed a few Geometry methods to make them re-entrant.
+<li>Fixed CoordinateList.closeRing() to ensure endpoints are not duplicated
+<li>Fixed CGAlgorithms.signedArea() to use a simpler algorithm which is more robust and faster.
+<li>Fixed bug preventing validating Rings containing an initial repeated point.
+</ul>
+<h3>API Changes</h3>
+<ul>
+<li>Added default constructor to WKTReader. It uses the default GeometryFactory
+<li>Add two static intersects() methods to Envelope, to allow computing intersections with envelopes defined by points only.
+<li>Dropped BinaryPower; its functionality is provided by DoubleBits in a more robust fashion.
+<li>Removed a couple of redundant private static methods from Geometry; they have been replaced by methods in CoordinateArrays
+<li>The Geometry class is now marked as Serializable
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.2</h2>
+
+Release Date: 7 October 2002
+<h3>Semantics Changes</h3>
+<ul>
+<li>JTS now allows Geometrys to have repeated points. All operations will continue to perform as before. This removes a significant incompatibility with the OGC spatial data model.
+<li>TopologyExceptions may now be thrown by spatial overlay methods. This helps to distinguish between code bugs and known robustness problems. It also provides a machine-readable coordinate for the error location.
+</ul>
+<h3>Functionality Improvements</h3>
+<ul>
+<li>RobustLineIntersector now uses "normalized" coordinates to maximize the accuracy of intersection computation.
+<li>Upgraded Quadtree with more robust implementation
+<li>Replaced IntervalTree with a more robust implementation of BinTree
+<li>Added STRTree 2-D spatial index, which exhibits better performance than QuadTrees in many situations.
+<li>Added EnhancePrecisionOp, which uses precisioning enhancing techniques to reduce the number of failure cases due to robustness problems.
+</ul>
+<h3>Bug Fixes</h3>
+<ul>
+<li>fixed ConvexHull to use TreeSet instead of HashSet for coordinates
+<li>Fixed isValid for GeometryCollections containing Polygons, which were sometimes erroneously returning a validity failure for correct Geometrys.
+<li>Fixed bug in LineSegment.distancePointLine() which would return the incorrect distance for a LineSegment with two identical points
+<li>Improved error handling in CGAlgorithms.isCCW()
+<li>IsValid now checks for too few points in a geometry component (e.g. due to repeated points in a ring)
+</ul>
+<h3>API Changes</h3>
+<ul>
+<li>added Stopwatch class
+<li>added Geometry.getArea() and Geometry.getLength() methods
+<li>added CGAlgorithms.signedArea() method
+<li>added methods to LineSegment - closestPoint(), getLength()
+<li>added CoordinateArrrays and CoordinateLists utility classes
+<li>Added TopologyValidationError.getErrorType() method
+<li>Added Envelope#intersects; deprecated Envelope#overlaps.
+<li>Added Geometry#geometryChanged() method to allow signaling when Geometry coordinates have been mutated by a client class
+<li>Added STRTree class implementing a Sort-Tile-Recursive spatial index (a variant of a packed R-tree)
+<li>Deleted IntervalTree 1-D spatial index (replaced by BinTree)
+<li>Add BinTree 1-D spatial index
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.1.1</h2>
+
+Release Date: 9 April 2002
+<h3>Bug Fixes</h3>
+<ul>
+<li>fixed decimal-point symbol localization bug in WKTWriter
+<li>fixed bug in Envelope.int(Envelope env)
+<li>fixed filename case of SFSMultiLineString.java and IntervalTree.java
+</ul>
+<h3>API Changes</h3>
+<ul>
+<li>deleted TopologyException class
+<li>renamed CGAlgorithms.isPointInPolygon to isPointInRing (a more accurate description of what the method computes)
+</ul>
+<h3>API Additions</h3>
+<ul>
+<li>added Geometry.getCoordinate() method
+<li>added Geometry.distance() method
+<li>added GeometryComponentFilter interface and Geometry.apply(GeometryComponentFilter) method
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.1</h2>
+
+Release Date: 28 March 2002
+<h3>New Features</h3>
+<ul>
+<li>added Geometry.isSimple() and Geometry.isValid() methods
+<li>improved design of topological data structures
+<li>added Geometry.setSRID() method
+<li>improved functionality of the Envelope class
+<li>added ability to write to an arbitrary java.io.Writer object to WKTWriter
+<li>added Validate and Mark Location functionality to TestBuilder
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 1.0</h2>
+Release Date: 1 February 2002
+<ul>
+<li>Removed some non-compatibilities with Java 1.1
+<li>Fixed bug in constructing buffer outline around inside of angles
+<li>In TestBuilder vertices are now displayed with fixed size in view units
+<li>Improved code for WKTWriter.writeFormatted()
+<li>Fixed bug in constructor for LinearRing
+<li>Improved implementation of sweepline intersection algorithm to avoid use of dynamic set.
+<li>Fixed bug in ConvexHull.cleanRing()
+<li>Refactored RobustLineIntersector and NonRobustLineIntersector
+</ul>
+
+<!----------------------------------------------------------------------->
+<hr size='4' color='darkblue'>
+<h2>Version 0.0</h2>
+Release Date: 30 May 2001
+
+<p>
+<i>Baseline version</i>
+
+</body>
+</html>
diff --git a/doc/LICENSE.txt b/doc/LICENSE.txt
deleted file mode 100644
index cbee875..0000000
--- a/doc/LICENSE.txt
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/doc/sample_java_header.txt b/doc/sample_java_header.txt
new file mode 100644
index 0000000..c7d3774
--- /dev/null
+++ b/doc/sample_java_header.txt
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
diff --git a/jts_logo.png b/jts_logo.png
new file mode 100644
index 0000000..d3f19bc
Binary files /dev/null and b/jts_logo.png differ
diff --git a/jtsio/src/META-INF/MANIFEST.MF b/jtsio/src/META-INF/MANIFEST.MF
deleted file mode 100644
index 5045494..0000000
--- a/jtsio/src/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.9.4
-Created-By: 1.7.0_75-b13 (Oracle Corporation)
-
diff --git a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonConstants.java b/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonConstants.java
deleted file mode 100644
index d92bdd5..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonConstants.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-package com.vividsolutions.jts.io.geojson;
-
-
-/**
- * Constants for GeoJSON objects
- *
- * @author Martin Davis
- */
-public class GeoJsonConstants {
-
- public static final String NAME_GEOMETRIES = "geometries";
- public static final String NAME_CRS = "crs";
- public static final String NAME_PROPERTIES = "properties";
- public static final String NAME_NAME = "name";
- public static final String NAME_TYPE = "type";
- public static final String NAME_POINT = "Point";
- public static final String NAME_LINESTRING = "LineString";
- public static final String NAME_POLYGON = "Polygon";
- public static final String NAME_COORDINATES = "coordinates";
- public static final String NAME_GEOMETRYCOLLECTION = "GeometryCollection";
- public static final String NAME_MULTIPOLYGON = "MultiPolygon";
- public static final String NAME_MULTILINESTRING = "MultiLineString";
- public static final String NAME_MULTIPOINT = "MultiPoint";
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonReader.java b/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonReader.java
deleted file mode 100644
index ba99620..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonReader.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-package com.vividsolutions.jts.io.geojson;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.json.simple.parser.JSONParser;
-
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.geom.PrecisionModel;
-import com.vividsolutions.jts.geom.impl.CoordinateArraySequence;
-import com.vividsolutions.jts.io.ParseException;
-
-/**
- * Reads a GeoJson Geometry from a JSON fragment into a {@link Geometry}.
- * <p>
- * A specification of the GeoJson format can be found at the GeoJson web site:
- * <a href='http://geojson.org/geojson-spec.html'>http://geojson.org/geojson-spec.html</a>.
- * <p>
- * It is the caller's responsibility to ensure that the supplied
- * {@link PrecisionModel} matches the precision of the incoming data. If a lower
- * precision for the data is required, a subsequent process must be run on the
- * data to reduce its precision.
- *
- * @author Martin Davis
- * @author Paul Howells, Vivid Solutions.
- *
- */
-public class GeoJsonReader {
-
- private GeometryFactory gf;
-
- /**
- * The default constructor uses the SRID from the Geojson CRS and the
- * default <code>PrecisionModel</code> to create a
- * <code>GeometryFactory</code>. If there is no CRS specified then the default
- * CRS is a geographic coordinate reference system, using the WGS84 datum, and
- * with longitude and latitude units of decimal degrees (SRID = 4326)
- */
- public GeoJsonReader() {
- // do nothing
- }
-
- /**
- * This constructor accepts a <code>GeometryFactory</code> that is used
- * to create the output geometries and to override the GeoJson CRS.
- *
- * @param geometryFactory
- * a GeometryFactory
- */
- public GeoJsonReader(GeometryFactory geometryFactory) {
- this.gf = geometryFactory;
- }
-
- /**
- * Reads a GeoJson Geometry from a <tt>String</tt> into a single
- * {@link Geometry}.
- *
- *
- * @param json
- * The GeoJson String to parse
- * @return the resulting JTS Geometry
- *
- * @throws ParseException
- * throws a ParseException if the JSON string cannot be parsed
- */
- public Geometry read(String json) throws ParseException {
- Geometry result = read(new StringReader(json));
- return result;
- }
-
- /**
- * Reads a GeoJson Geometry from a {@link Reader} into a single
- * {@link Geometry}.
- *
- *
- * @param reader
- * The input source
- * @return The resulting JTS Geometry
- *
- * @throws ParseException
- * throws a ParseException if the JSON string cannot be parsed
- */
- public Geometry read(Reader reader) throws ParseException {
-
- Geometry result = null;
-
- JSONParser parser = new JSONParser();
- try {
- @SuppressWarnings("unchecked")
- Map<String, Object> geometryMap = (Map<String, Object>) parser
- .parse(reader);
-
- GeometryFactory geometryFactory = null;
- if (this.gf == null) {
- geometryFactory = this.getGeometryFactory(geometryMap);
- } else {
- geometryFactory = this.gf;
- }
-
- result = create(geometryMap, geometryFactory);
-
- } catch (org.json.simple.parser.ParseException e) {
- throw new ParseException(e);
- } catch (IOException e) {
- throw new ParseException(e);
- }
-
- return result;
- }
-
- private Geometry create(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- String type = (String) geometryMap.get(GeoJsonConstants.NAME_TYPE);
-
- if (type == null) {
- throw new ParseException(
- "Could not parse Geometry from Json string. No 'type' property found.");
- } else {
-
- if (GeoJsonConstants.NAME_POINT.equals(type)) {
- result = createPoint(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_LINESTRING.equals(type)) {
- result = createLineString(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_POLYGON.equals(type)) {
- result = createPolygon(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_MULTIPOINT.equals(type)) {
- result = createMultiPoint(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_MULTILINESTRING.equals(type)) {
- result = createMultiLineString(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_MULTIPOLYGON.equals(type)) {
- result = createMultiPolygon(geometryMap, geometryFactory);
-
- } else if (GeoJsonConstants.NAME_GEOMETRYCOLLECTION.equals(type)) {
- result = createGeometryCollection(geometryMap, geometryFactory);
-
- } else {
- throw new ParseException(
- "Could not parse Geometry from GeoJson string. Unsupported 'type':"
- + type);
- }
- }
-
- return result;
- }
-
- private Geometry createGeometryCollection(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> geometriesList = (List<Map<String, Object>>) geometryMap
- .get(GeoJsonConstants.NAME_GEOMETRIES);
-
- Geometry[] geometries = new Geometry[geometriesList.size()];
-
- int i = 0;
- for (Map<String, Object> map : geometriesList) {
-
- geometries[i] = this.create(map, geometryFactory);
-
- ++i;
- }
-
- result = geometryFactory.createGeometryCollection(geometries);
-
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse GeometryCollection from GeoJson string.", e);
- }
-
- return result;
- }
-
- private Geometry createMultiPolygon(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<List<List<List<Number>>>> polygonsList = (List<List<List<List<Number>>>>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- Polygon[] polygons = new Polygon[polygonsList.size()];
-
- int p = 0;
- for (List<List<List<Number>>> ringsList : polygonsList) {
-
- List<CoordinateSequence> rings = new ArrayList<CoordinateSequence>();
-
- for (List<List<Number>> coordinates : ringsList) {
-
- rings.add(createCoordinateSequence(coordinates));
- }
-
- if (rings.isEmpty()) {
- continue;
- }
-
- LinearRing outer = geometryFactory.createLinearRing(rings.get(0));
- LinearRing[] inner = null;
- if (rings.size() > 1) {
- inner = new LinearRing[rings.size() - 1];
- for (int i = 1; i < rings.size(); i++) {
- inner[i - 1] = geometryFactory.createLinearRing(rings.get(i));
- }
- }
-
- polygons[p] = geometryFactory.createPolygon(outer, inner);
-
- ++p;
- }
-
- result = geometryFactory.createMultiPolygon(polygons);
-
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse MultiPolygon from GeoJson string.", e);
- }
-
- return result;
- }
-
- private Geometry createMultiLineString(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<List<List<Number>>> linesList = (List<List<List<Number>>>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- LineString[] lineStrings = new LineString[linesList.size()];
-
- int i = 0;
- for (List<List<Number>> coordinates : linesList) {
-
- lineStrings[i] = geometryFactory
- .createLineString(createCoordinateSequence(coordinates));
-
- ++i;
- }
-
- result = geometryFactory.createMultiLineString(lineStrings);
-
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse MultiLineString from GeoJson string.", e);
- }
-
- return result;
- }
-
- private Geometry createMultiPoint(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<List<Number>> coordinatesList = (List<List<Number>>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- CoordinateSequence coordinates = this
- .createCoordinateSequence(coordinatesList);
-
- result = geometryFactory.createMultiPoint(coordinates);
-
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse MultiPoint from GeoJson string.", e);
- }
-
- return result;
- }
-
- private Geometry createPolygon(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<List<List<Number>>> ringsList = (List<List<List<Number>>>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- List<CoordinateSequence> rings = new ArrayList<CoordinateSequence>();
-
- for (List<List<Number>> coordinates : ringsList) {
-
- rings.add(createCoordinateSequence(coordinates));
- }
-
- if (rings.isEmpty()) {
- throw new IllegalArgumentException("Polygon specified with no rings.");
- }
-
- LinearRing outer = geometryFactory.createLinearRing(rings.get(0));
- LinearRing[] inner = null;
- if (rings.size() > 1) {
- inner = new LinearRing[rings.size() - 1];
- for (int i = 1; i < rings.size(); i++) {
- inner[i - 1] = geometryFactory.createLinearRing(rings.get(i));
- }
- }
-
- result = geometryFactory.createPolygon(outer, inner);
-
- } catch (RuntimeException e) {
- throw new ParseException("Could not parse Polygon from GeoJson string.",
- e);
- }
-
- return result;
- }
-
- private Geometry createLineString(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<List<Number>> coordinatesList = (List<List<Number>>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- CoordinateSequence coordinates = createCoordinateSequence(coordinatesList);
-
- result = geometryFactory.createLineString(coordinates);
-
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse LineString from GeoJson string.", e);
- }
-
- return result;
- }
-
- private Geometry createPoint(Map<String, Object> geometryMap,
- GeometryFactory geometryFactory) throws ParseException {
-
- Geometry result = null;
-
- try {
-
- @SuppressWarnings("unchecked")
- List<Number> coordinateList = (List<Number>) geometryMap
- .get(GeoJsonConstants.NAME_COORDINATES);
-
- CoordinateSequence coordinate = this.createCoordinate(coordinateList);
-
- result = geometryFactory.createPoint(coordinate);
-
- } catch (RuntimeException e) {
- throw new ParseException("Could not parse Point from GeoJson string.", e);
- }
-
- return result;
- }
-
- private GeometryFactory getGeometryFactory(Map<String, Object> geometryMap)
- throws ParseException {
-
- GeometryFactory result = null;
- @SuppressWarnings("unchecked")
- Map<String, Object> crsMap = (Map<String, Object>) geometryMap.get(GeoJsonConstants.NAME_CRS);
- Integer srid = null;
-
- if (crsMap != null) {
-
- try {
-
- @SuppressWarnings("unchecked")
- Map<String, Object> propertiesMap = (Map<String, Object>) crsMap
- .get(GeoJsonConstants.NAME_PROPERTIES);
- String name = (String) propertiesMap.get(GeoJsonConstants.NAME_NAME);
- String[] split = name.split(":");
- String epsg = split[1];
- srid = Integer.valueOf(epsg);
- } catch (RuntimeException e) {
- throw new ParseException(
- "Could not parse SRID from Geojson 'crs' object.", e);
- }
- }
-
- if (srid == null) {
- // The default CRS is a geographic coordinate reference
- // system, using the WGS84 datum, and with longitude and
- // latitude units of decimal degrees. SRID 4326
- srid = Integer.valueOf(4326);
- }
-
- result = new GeometryFactory(new PrecisionModel(), srid.intValue());
- return result;
- }
-
- private CoordinateSequence createCoordinateSequence(
- List<List<Number>> coordinates) {
- CoordinateSequence result = null;
-
- result = new CoordinateArraySequence(coordinates.size());
-
- for (int i = 0; i < coordinates.size(); ++i) {
- List<Number> ordinates = coordinates.get(i);
-
- if (ordinates.size() > 0) {
- result.setOrdinate(i, 0, ordinates.get(0).doubleValue());
- }
- if (ordinates.size() > 1) {
- result.setOrdinate(i, 1, ordinates.get(1).doubleValue());
- }
- if (ordinates.size() > 2) {
- result.setOrdinate(i, 2, ordinates.get(2).doubleValue());
- }
-
- }
-
- return result;
- }
-
- private CoordinateSequence createCoordinate(List<Number> ordinates) {
- CoordinateSequence result = new CoordinateArraySequence(1);
-
- if (ordinates.size() > 0) {
- result.setOrdinate(0, 0, ordinates.get(0).doubleValue());
- }
- if (ordinates.size() > 1) {
- result.setOrdinate(0, 1, ordinates.get(1).doubleValue());
- }
- if (ordinates.size() > 2) {
- result.setOrdinate(0, 2, ordinates.get(2).doubleValue());
- }
-
- return result;
- }
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonWriter.java b/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonWriter.java
deleted file mode 100644
index 54abf33..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/geojson/GeoJsonWriter.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-package com.vividsolutions.jts.io.geojson;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.json.simple.JSONAware;
-import org.json.simple.JSONObject;
-
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.util.Assert;
-
-/**
- * Writes {@link Geometry}s as JSON fragments in GeoJson format.
- *
- * @author Martin Davis
- * @author Paul Howells, Vivid Solutions
- */
-public class GeoJsonWriter {
-
- public static final String EPSG_PREFIX = "EPSG:";
-
- private double scale;
- private boolean isEncodeCRS = true;
-
- /**
- * Constructs a GeoJsonWriter instance.
- */
- public GeoJsonWriter() {
- this(8);
- }
-
- /**
- * Constructs a GeoJsonWriter instance specifying the number of decimals to
- * use when encoding floating point numbers.
- */
- public GeoJsonWriter(int decimals) {
- this.scale = Math.pow(10, decimals);
- }
-
- public void setEncodeCRS(boolean isEncodeCRS) {
- this.isEncodeCRS = isEncodeCRS;
- }
-
- /**
- * Writes a {@link Geometry} in GeoJson format to a String.
- *
- * @param geometry
- * @return String GeoJson Encoded Geometry
- */
- public String write(Geometry geometry) {
-
- StringWriter writer = new StringWriter();
- try {
- write(geometry, writer);
- } catch (IOException ex) {
- Assert.shouldNeverReachHere();
- }
-
- return writer.toString();
- }
-
- /**
- * Writes a {@link Geometry} in GeoJson format into a {@link Writer}.
- *
- * @param geometry
- * Geometry to encode
- * @param writer
- * Stream to encode to.
- * @throws IOException
- * throws an IOException when unable to write the JSON string
- */
- public void write(Geometry geometry, Writer writer) throws IOException {
- Map<String, Object> map = create(geometry, isEncodeCRS);
- JSONObject.writeJSONString(map, writer);
- writer.flush();
- }
-
- private Map<String, Object> create(Geometry geometry, boolean encodeCRS) {
-
- Map<String, Object> result = new LinkedHashMap<String, Object>();
- result.put(GeoJsonConstants.NAME_TYPE, geometry.getGeometryType());
-
- if (geometry instanceof Point) {
- Point point = (Point) geometry;
-
- final String jsonString = getJsonString(point.getCoordinateSequence());
-
- result.put(GeoJsonConstants.NAME_COORDINATES, new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
-
- } else if (geometry instanceof LineString) {
- LineString lineString = (LineString) geometry;
-
- final String jsonString = getJsonString(lineString
- .getCoordinateSequence());
-
- result.put(GeoJsonConstants.NAME_COORDINATES, new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
-
- } else if (geometry instanceof Polygon) {
- Polygon polygon = (Polygon) geometry;
-
- result.put(GeoJsonConstants.NAME_COORDINATES, makeJsonAware(polygon));
-
- } else if (geometry instanceof MultiPoint) {
- MultiPoint multiPoint = (MultiPoint) geometry;
-
- result.put(GeoJsonConstants.NAME_COORDINATES, makeJsonAware(multiPoint));
-
- } else if (geometry instanceof MultiLineString) {
- MultiLineString multiLineString = (MultiLineString) geometry;
-
- result.put(GeoJsonConstants.NAME_COORDINATES, makeJsonAware(multiLineString));
-
- } else if (geometry instanceof MultiPolygon) {
- MultiPolygon multiPolygon = (MultiPolygon) geometry;
-
- result.put(GeoJsonConstants.NAME_COORDINATES, makeJsonAware(multiPolygon));
-
- } else if (geometry instanceof GeometryCollection) {
- GeometryCollection geometryCollection = (GeometryCollection) geometry;
-
- ArrayList<Map<String, Object>> geometries = new ArrayList<Map<String, Object>>(
- geometryCollection.getNumGeometries());
-
- for (int i = 0; i < geometryCollection.getNumGeometries(); i++) {
- geometries.add(create(geometryCollection.getGeometryN(i), false));
- }
-
- result.put(GeoJsonConstants.NAME_GEOMETRIES, geometries);
-
- } else {
- throw new IllegalArgumentException("Unable to encode geometry " + geometry.getGeometryType() );
- }
-
- if (encodeCRS) {
- result.put(GeoJsonConstants.NAME_CRS, createCRS(geometry.getSRID()));
- }
-
- return result;
- }
-
- private Map<String, Object> createCRS(int srid) {
-
- Map<String, Object> result = new LinkedHashMap<String, Object>();
- result.put(GeoJsonConstants.NAME_TYPE, GeoJsonConstants.NAME_NAME);
-
- Map<String, Object> props = new LinkedHashMap<String, Object>();
- props.put(GeoJsonConstants.NAME_NAME, EPSG_PREFIX + srid);
-
- result.put(GeoJsonConstants.NAME_PROPERTIES, props);
-
- return result;
- }
-
- private List<JSONAware> makeJsonAware(Polygon poly) {
- ArrayList<JSONAware> result = new ArrayList<JSONAware>();
-
- {
- final String jsonString = getJsonString(poly.getExteriorRing()
- .getCoordinateSequence());
- result.add(new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
- }
- for (int i = 0; i < poly.getNumInteriorRing(); i++) {
- final String jsonString = getJsonString(poly.getInteriorRingN(i)
- .getCoordinateSequence());
- result.add(new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
- }
-
- return result;
- }
-
- private List<Object> makeJsonAware(GeometryCollection geometryCollection) {
-
- ArrayList<Object> list = new ArrayList<Object>(
- geometryCollection.getNumGeometries());
- for (int i = 0; i < geometryCollection.getNumGeometries(); i++) {
- Geometry geometry = geometryCollection.getGeometryN(i);
-
- if (geometry instanceof Polygon) {
- Polygon polygon = (Polygon) geometry;
- list.add(makeJsonAware(polygon));
- }
- else if (geometry instanceof LineString) {
- LineString lineString = (LineString) geometry;
- final String jsonString = getJsonString(lineString
- .getCoordinateSequence());
- list.add(new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
- }
- else if (geometry instanceof Point) {
- Point point = (Point) geometry;
- final String jsonString = getJsonString(point.getCoordinateSequence());
- list.add(new JSONAware() {
-
- public String toJSONString() {
- return jsonString;
- }
- });
- }
- }
-
- return list;
- }
-
- private String getJsonString(CoordinateSequence coordinateSequence) {
- StringBuffer result = new StringBuffer();
-
- if (coordinateSequence.size() > 1) {
- result.append("[");
- }
- for (int i = 0; i < coordinateSequence.size(); i++) {
- if (i > 0) {
- result.append(",");
- }
- result.append("[");
- result.append(formatOrdinate(coordinateSequence.getOrdinate(i, CoordinateSequence.X)));
- result.append(",");
- result.append(formatOrdinate(coordinateSequence.getOrdinate(i, CoordinateSequence.Y)));
-
- if (coordinateSequence.getDimension() > 2 ) {
- double z = coordinateSequence.getOrdinate(i, CoordinateSequence.Z);
- if (! Double.isNaN(z)) {
- result.append(",");
- result.append(formatOrdinate(z));
- }
- }
-
- result.append("]");
-
- }
-
- if (coordinateSequence.size() > 1) {
- result.append("]");
- }
-
- return result.toString();
- }
-
- private String formatOrdinate(double x) {
- String result = null;
-
- if (Math.abs(x) >= Math.pow(10, -3) && x < Math.pow(10, 7)) {
- x = Math.floor(x * scale + 0.5) / scale;
- long lx = (long) x;
- if (lx == x) {
- result = Long.toString(lx);
- } else {
- result = Double.toString(x);
- }
- } else {
- result = Double.toString(x);
- }
-
- return result;
- }
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/oracle/OraGeom.java b/jtsio/src/com/vividsolutions/jts/io/oracle/OraGeom.java
deleted file mode 100644
index 8a79d3c..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/oracle/OraGeom.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-package com.vividsolutions.jts.io.oracle;
-
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-
-/**
- * Represents the contents of an Oracle SDO_GEOMETRY structure.
- * Also provides code values and convenience methods for working
- * with SDO_GEOMETRY values.
- *
- * @author Martin Davis
- *
- */
-class OraGeom
-{
- public static final int NULL_DIMENSION = -1;
-
- private static NumberFormat fmt = new DecimalFormat("0.################");
-
- public static final String SQL_NULL = "NULL";
-
- int gType;
- int srid;
- double[] point = null;
- int[] elemInfo = null;
- double[] ordinates = null;
- private int geomType;
- private int ordDim;
- private int lrsDim;
-
- public OraGeom(int gType, int srid, double[] ptType, int[] elemInfo, double[] ordinates)
- {
- this.gType = gType;
- this.srid = srid;
- this.point = ptType;
- this.elemInfo = elemInfo;
- this.ordinates = ordinates;
- geomType = gTypeGeomType(gType);
- ordDim = gTypeDim(gType);
- lrsDim = gTypeMeasureDim(gType);
- }
-
- public OraGeom(int gType, int srid, int[] elemInfo, double[] ordinates)
- {
- this(gType, srid, null, elemInfo, ordinates);
- }
-
- public OraGeom(int gType, int srid, double[] ptType)
- {
- this(gType, srid, ptType, null, null);
- }
-
- public int geomType()
- {
- return geomType;
- }
-
- public int ordDim()
- {
- return ordDim;
- }
-
- public int lrsDim()
- {
- return lrsDim;
- }
-
- public boolean isCompactPoint()
- {
- return lrsDim == 0 && geomType == OraGeom.GEOM_TYPE.POINT && point != null && elemInfo == null;
- }
-
- public boolean isEqual(OraGeom og)
- {
- if (gType != og.gType) return false;
-// if (srid != og.srid) return false;
- if (! isEqual(point, og.point))
- return false;
- // assume is defined by elemInfo and ordinates
- if (! isEqual(elemInfo, og.elemInfo))
- return false;
- if (! isEqual(ordinates, og.ordinates))
- return false;
- return true;
- }
-
- private boolean isEqual(double[] a1, double[] a2)
- {
- if (a2 == null || a1 == null) {
- return a2 == a1;
- }
- if (a1.length != a2.length) return false;
- for (int i = 0; i < a1.length; i++) {
- // check NaN == NaN
- if (Double.isNaN(a1[i]) && Double.isNaN(a2[i]))
- continue;
- if (a1[i] != a2[i])
- return false;
- }
- return true;
- }
- private boolean isEqual(int[] a1, int[] a2)
- {
- if (a2 == null || a1 == null) {
- return a2 == a1;
- }
- if (a1.length != a2.length) return false;
- for (int i = 0; i < a1.length; i++) {
- if (a1[i] != a2[i]) return false;
- }
- return true;
- }
-
- public String toString()
- {
- return toSQLString();
- /*
- return "GTYPE=" + gType
- + " SRID=" + srid
- + " ELEM_INFO=" + toStringElemInfo(elemInfo)
- + " ORDS=" + toString(ordinates);
- */
- }
-
- public String toSQLString()
- {
- StringBuffer buf = new StringBuffer();
- buf.append("SDO_GEOMETRY(");
-
- buf.append(gType);
- buf.append(",");
-
- buf.append(srid >= 0 ? String.valueOf(srid) : SQL_NULL);
- buf.append(",");
-
- buf.append(toStringPointType());
- buf.append(",");
-
- buf.append(toStringElemInfo());
- buf.append(",");
-
- buf.append(toStringOrdinates());
- buf.append(")");
-
- return buf.toString();
- }
-
- private String toString(double[] ordinates)
- {
- if (ordinates == null) return SQL_NULL;
-
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < ordinates.length; i++) {
- if (i > 0) {
- buf.append(",");
- // spacer between triplets
- if (i % ordDim == 0)
- buf.append(" ");
- }
- buf.append(number(ordinates[i]));
- }
- return buf.toString();
- }
-
- private static String number(double d)
- {
- if (Double.isNaN(d)) return SQL_NULL;
- return fmt.format(d);
- }
-
- public static String toStringElemInfo(int[] elemInfo)
- {
- if (elemInfo == null) return "null";
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < elemInfo.length; i++) {
- if (i > 0) {
- buf.append(",");
- // spacer between triplets
- if (i % 3 == 0)
- buf.append(" ");
- }
- buf.append(elemInfo[i]);
- }
- return buf.toString();
- }
-
- private Object toStringOrdinates() {
- if (ordinates == null) {
- return SQL_NULL;
- }
- return "SDO_ORDINATE_ARRAY(" + toString(ordinates) + ")";
- }
-
- private Object toStringElemInfo() {
- if (elemInfo == null) {
- return SQL_NULL;
- }
- return "SDO_ELEM_INFO_ARRAY(" + toStringElemInfo(elemInfo) + ")";
- }
-
- private Object toStringPointType() {
- if (point == null) {
- return SQL_NULL;
- }
- return "SDO_POINT_TYPE("
- + number(point[0]) + ","
- + number(point[1]) + ","
- + number(point[2])
- + ")";
- }
-
-public int startingOffset(int elemIndex)
- {
- // if beyond actual elements, return "virtual" startingOffset
- if (((elemIndex * 3)) >= elemInfo.length) {
- return ordinates.length + 1;
- }
- return elemInfo[elemIndex * 3];
- }
-
- /**
- * Extracts the SDO_ELEM_INFO ETYPE value for a given triplet.
- *
- * @param elemIndex index of the triplet to read
- * @return ETYPE for indicated triplet, or -1 if the triplet index is out of range
- *
- * @see ETYPE
- */
- public int eType(int elemIndex)
- {
- if (((elemIndex * 3) + 1) >= elemInfo.length) {
- return -1;
- }
- return elemInfo[(elemIndex * 3) + 1];
- }
-
- /**
- * Extracts the SDO_ELEM_INFO interpretation value (SDO_INTERPRETATION) for a given triplet.
- * <p>
- * JTS valid interpretation values are: 1 for straight edges, 3 for rectangle
- * Other interpretation value include: 2 for arcs, 4 for circles
- *
- * @param elemIndex index of the triplet to read
- * @return interpretation value, or -1 if the triplet index is out of range
- */
- public int interpretation(int elemIndex)
- {
- if (((elemIndex * 3) + 2) >= elemInfo.length) {
- return -1;
- }
- return elemInfo[(elemIndex * 3) + 2];
- }
-
- public int ordinateLen()
- {
- if (ordinates != null)
- return ordinates.length;
- return 0;
- }
-
- public int numElements()
- {
- if (elemInfo == null) return 0;
- return elemInfo.length / 3;
- }
- /**
- * Computes the SDO_GTYPE code for the given D, L, and TT components.
- *
- * @param dim the coordinate dimension
- * @param lrsDim the measure dimension
- * @param geomType the geometry type code
- * @return the SDO_GTYPE code
- */
- public static int gType(int dim, int lrsDim, int geomType)
- {
- return dim * 1000 + lrsDim * 100 + geomType;
- }
-
- /**
- * Returns the GTYPE GEOM_TYPE code
- * corresponding to the geometry type.
- *
- * @see OraGeom.GEOM_TYPE
- *
- * @param geom the geometry to compute the GEOM_TYPE for
- * @return geom type code, if known, or UNKNOWN
- */
- static int geomType(Geometry geom) {
- if (geom == null) {
- return OraGeom.GEOM_TYPE.UNKNOWN_GEOMETRY;
- } else if (geom instanceof Point) {
- return OraGeom.GEOM_TYPE.POINT;
- } else if (geom instanceof LineString) {
- return OraGeom.GEOM_TYPE.LINE;
- } else if (geom instanceof Polygon) {
- return OraGeom.GEOM_TYPE.POLYGON;
- } else if (geom instanceof MultiPoint) {
- return OraGeom.GEOM_TYPE.MULTIPOINT;
- } else if (geom instanceof MultiLineString) {
- return OraGeom.GEOM_TYPE.MULTILINE;
- } else if (geom instanceof MultiPolygon) {
- return OraGeom.GEOM_TYPE.MULTIPOLYGON;
- } else if (geom instanceof GeometryCollection) {
- return OraGeom.GEOM_TYPE.COLLECTION;
- }
- return OraGeom.GEOM_TYPE.UNKNOWN_GEOMETRY;
- }
-
- /**
- * Extracts the coordinate dimension containing the Measure value from
- * an SDO_GTYPE code.
- * For a measured geometry this is 0, 3 or 4. 0 indicates that the last dimension is the measure dimension
- * For an non-measured geometry this is 0.
- *
- * @param gType an SDO_GTYPE code
- * @return the Measure dimension
- */
- static int gTypeMeasureDim(int gType) {
- return (gType % 1000) / 100;
- }
-
- /**
- * Extracts the coordinate dimension from an SDO_GTYPE code.
- *
- * @param gType an SDO_GTYPE code
- * @return the coordinate dimension
- */
- static int gTypeDim(int gType) {
- return gType / 1000;
- }
-
- /**
- * Extracts the GEOM_TYPE code from an SDO_GTYPE code.
- *
- * @param gType an SDO_GTYPE code
- * @return the GEOM_TYPE code
- */
- static int gTypeGeomType(int gType) {
- return gType % 100;
- }
-
- /**
- * Extracts the SDO_ELEM_INFO start index (SDO_STARTING_OFFSET) in the ordinate array for a given triplet.
- * Starting offsets are 1-based indexes.
- *
- * @param elemInfo the SDO_ELEM_INFO array
- * @param tripletIndex index of the triplet to read
- * @return Starting Offset, or -1 if the triplet index is too large
- */
- static int startingOffset(int[] elemInfo, int tripletIndex) {
- if (((tripletIndex * 3) + 0) >= elemInfo.length) {
- return -1;
- }
- return elemInfo[(tripletIndex * 3) + 0];
- }
-
- /**
- * Extracts the SDO_ELEM_INFO interpretation value (SDO_INTERPRETATION) for a given triplet.
- * <p>
- * JTS valid interpretation values are: 1 for straight edges, 3 for rectangle
- * Other interpretation value include: 2 for arcs, 4 for circles
- *
- * @param elemInfo the SDO_ELEM_INFO array
- * @param tripletIndex index of the triplet to read
- * @return interpretation value, or -1 if the triplet index is too large
- */
- static int interpretation(int[] elemInfo, int tripletIndex) {
- if (((tripletIndex * 3) + 2) >= elemInfo.length) {
- return -1;
- }
- return elemInfo[(tripletIndex * 3) + 2];
- }
-
- /**
- * Extracts the SDO_ELEM_INFO ETYPE value for a given triplet.
- * <p>
- * @see OraGeom.ETYPE for an indication of possible values
- *
- * @param elemInfo the SDO_ELEM_INFO array
- * @param tripletIndex index of the triplet to read
- * @return ETYPE for indicated triplet, or -1 if the triplet index is too large
- */
- static int eType(int[] elemInfo, int tripletIndex) {
- if (((tripletIndex * 3) + 1) >= elemInfo.length) {
- return -1;
- }
- return elemInfo[(tripletIndex * 3) + 1];
- }
-
- /**
- * Codes used in SDO_INTERPRETATION attribute.
- *
- * @author Martin Davis
- *
- */
- static final class INTERP {
-
- public static final int POINT = 1;
-
- public static final int LINESTRING = 1;
-
- public static final int POLYGON = 1;
-
- public static final int RECTANGLE = 3;
-
- }
-
- /**
- * Codes used to specify geometry type
- * These are used in the last two digits in a GTYPE value.
- */
- static final class GEOM_TYPE {
-
- /** <code>TT</code> code representing Unknown type */
- public static final int UNKNOWN_GEOMETRY = 00;
-
- /** <code>TT</code> code representing Point */
- public static final int POINT = 01;
-
- /** <code>TT</code> code representing Line (or Curve) */
- public static final int LINE = 02;
-
- /** <code>TT</code> code representing Polygon */
- public static final int POLYGON = 03;
-
- /** <code>TT</code> code representing Collection */
- public static final int COLLECTION = 04;
-
- /** <code>TT</code> code representing MultiPoint */
- public static final int MULTIPOINT = 05;
-
- /** <code>TT</code> code representing MultiLine (or MultiCurve) */
- public static final int MULTILINE = 06;
-
- /** <code>TT</code> code representing MULTIPOLYGON */
- public static final int MULTIPOLYGON = 07;
- }
-
- /**
- * Codes used in the SDO_ETYPE attribute.
- * The code indicates the type of element denoted by an SDO_ELEM_INFO triplet.
- */
- static final class ETYPE
- {
- /** <code>ETYPE</code> code representing Point */
- public static final int POINT = 1;
-
- /** <code>ETYPE</code> code representing Line */
- public static final int LINE = 2;
-
- /** <code>ETYPE</code> code representing Polygon ring
- * Shell or hole is determined by orientation (CCW or CW).
- * Now deprecated.
- */
- public static final int POLYGON = 3;
-
- /**
- * <code>ETYPE</code> code representing exterior counterclockwise polygon ring
- */
- public static final int POLYGON_EXTERIOR = 1003;
-
- /** <code>ETYPE</code> code representing interior clockwise polygon ring */
- public static final int POLYGON_INTERIOR = 2003;
- }
-
- /**
- * Oracle types used by SDO_GEOMETRY
- */
- public static final String TYPE_GEOMETRY = "MDSYS.SDO_GEOMETRY";
- public static final String TYPE_ELEM_INFO_ARRAY = "MDSYS.SDO_ELEM_INFO_ARRAY";
- public static final String TYPE_ORDINATE_ARRAY = "MDSYS.SDO_ORDINATE_ARRAY";
- public static final String TYPE_POINT_TYPE = "MDSYS.SDO_POINT_TYPE";
-
- /**
- * Value indicating a Null SRID.
- */
- public static final int SRID_NULL = -1;
-
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/oracle/OraReader.java b/jtsio/src/com/vividsolutions/jts/io/oracle/OraReader.java
deleted file mode 100644
index 70bc1c3..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/oracle/OraReader.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-/*
- * Geotools2 - OpenSource mapping toolkit
- * http://geotools.org
- * (C) 2003, Geotools Project Managment Committee (PMC)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- */
-package com.vividsolutions.jts.io.oracle;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import oracle.sql.ARRAY;
-import oracle.sql.Datum;
-import oracle.sql.STRUCT;
-
-import com.vividsolutions.jts.algorithm.CGAlgorithms;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.CoordinateSequenceFactory;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.geom.PrecisionModel;
-
-/**
- * Reads a {@link Geometry} from an Oracle <code>MDSYS.GEOMETRY</code> <code>STRUCT</code> object.
- * <p>
- * The following Oracle geometry types are supported:
- * <ul>
- * <li>POINT, MULTIPOINT
- * <li>LINE, MULTILINE
- * <li>POLYGON, MULTIPOLYGON
- * </ul>
- * The optimized representations of <code>SDO_POINT</code>
- * and <code>RECTANGLE</code> are supported in the following way:
- * <ul>
- * <li>If the <code>SDO_POINT</code> attribute is present
- * and <code>SDO_ELEM_INFO</code> and <code>SDO_ORDINATES</code> are not,
- * a {@link Point} geometry is read.
- * Otherwise, the geometry specified by the latter two attributes is read.
- * <li><code>RECTANGLE</code>s are converted to equivalent {@link Polygon}s
- * </ul>
- * <p>
- * A {@link GeometryFactory} may be provided, otherwise a default one will be used.
- * If a {@link PrecisionModel} other than {@link PrecisionModel#FLOATING}
- * is supplied it is the client's responsibility
- * to ensure that it matches the precision of the incoming data.
- * If a lower precision for the data is required, a subsequent
- * process must be run on the data to reduce its precision.
- * <p>
- * The coordinate dimension of the output is determined as follows:
- * <ul>
- * <li>by default, the coordinate dimension matches that of the input
- * <li>the coordinate dimension can be set explicitly by the {@link #setDimension(int)} method
- * <li>finally, the coordinate dimension is limited by the maximum dimension supported
- * by the provided {@link CoordinateSequenceFactory}.
- * </ul>
- * The Geometry SRID field is populated from the input Geometry.
- * <p>
- * To use this class a suitable Oracle JDBC JAR must be present in the classpath.
- *
- * <h3>LIMITATIONS</h3>
- * <ul>
- * <li>Geometries with Measures (XYM or XYZM) can be read, but the Measure values are not preserved
- * <li>Oracle geometries with a GTYPE of <code>43xx</code> (XYMZ) are not supported.
- * <li>Geometries containing arcs are not supported
- * <li>Surface and solid geometries are not supported
- * <li>There is currently no way to read ancillary SDO_POINT information
- * </ul>
- *
- * @author Martin Davis
- */
-public class OraReader
-{
- //TODO: add a strict mode, that checks for ordinate length & other errors?
-
- private GeometryFactory geometryFactory;
-
- private int outputDimension = OraGeom.NULL_DIMENSION;
-
- /**
- * Creates a new reader, with a default {@link GeometryFactory}.
- *
- * @see #OraReader(GeometryFactory)
- */
- public OraReader() {
- this(new GeometryFactory());
- }
-
- /**
- * Creates a new reader, with the supplied {@link GeometryFactory}.
- * It is assumed that the supplied {@link PrecisionModel}
- * matches the precision of the incoming data -
- * coordinates are <b>not</b> made precise when read.
- *
- * @param gf A non-null geometry factory for later use.
- *
- * @throws NullPointerException when the geometry factory is null.
- */
- public OraReader(GeometryFactory gf) {
- if (gf == null)
- throw new NullPointerException("Geometry Factory may not be Null");
- this.geometryFactory = gf;
- }
-
- /**
- * Gets the coordinate dimension which will be created.
- *
- * @return the coordinate dimension which will be created
- */
- public int getDimension() {
- return outputDimension;
- }
-
- /**
- * Sets the coordinate dimension to use for created geometries.
- *
- * @param outputDimension
- * the coordinate dimension to create
- */
- public void setDimension(int outputDimension) {
- if (outputDimension < 2)
- throw new IllegalArgumentException("Output dimension must be >= 2");
- this.outputDimension = outputDimension;
- }
-
- /**
- * Reads a {@link Geometry} representing the MDSYS.GEOMETRY
- * provided in the STRUCT. The type of geometry created
- * depends on the Geometry type specified within the STRUCT.
- * The SRID of the created geometry is set to be the same as the input SRID.
- *
- * @param struct The MDSYS.GEOMETRY Object to decode
- * @return the Geometry if one could be created, null otherwise
- *
- * @throws SQLException if a read error occurs while accessing the struct
- * @throws IllegalArgumentException if an unsupported geometry type or encoding error is found
- */
- public Geometry read(STRUCT struct) throws SQLException
- {
- // Return null for null input
- if (struct == null)
- return null;
-
- Datum data[] = struct.getOracleAttributes();
-
- int gType = OraUtil.toInteger(data[0], 0);
- int SRID = OraUtil.toInteger(data[1], OraGeom.SRID_NULL);
- double point[] = OraUtil.toDoubleArray((STRUCT) data[2], Double.NaN);
- int elemInfo[] = OraUtil.toIntArray((ARRAY) data[3], 0);
- double ordinates[] = OraUtil.toDoubleArray((ARRAY) data[4], Double.NaN);
- OraGeom oraGeom = new OraGeom(gType, SRID, point, elemInfo, ordinates);
- Geometry geom = read(oraGeom);
-
- // Set SRID of created Geometry to be the same as input (regardless of geomFactory SRID)
- if (geom != null)
- geom.setSRID(SRID);
- return geom;
- }
-
- /**
- * Reads a {@link Geometry} from SDO_GEOMETRY attributes.
- *
- * @param oraGeom the Oracle geometry to read
- * @return the Geometry read
- * @throws IllegalArgumentException when an encoding error or unsupported geometry type is found
- */
- Geometry read(OraGeom oraGeom) {
- int ordDim = oraGeom.ordDim();
- if (ordDim < 2) {
- throw new IllegalArgumentException("Dimension D = " + ordDim + " is not supported by JTS. " +
- "Either specify a valid dimension or use Oracle Locator Version 9i or later");
- }
- // read from SDO_POINT_TYPE, if that carries the primary geometry data
- if (oraGeom.isCompactPoint()) {
- CoordinateSequence ptCoord = extractCoords(oraGeom, oraGeom.point);
- return createPoint(ptCoord);
- }
-
- CoordinateSequence coords = null;
-
- switch (oraGeom.geomType()) {
- case OraGeom.GEOM_TYPE.POINT:
- return readPoint(oraGeom, 0);
- case OraGeom.GEOM_TYPE.LINE:
- return readLine(oraGeom, 0);
- case OraGeom.GEOM_TYPE.POLYGON:
- return readPolygon(oraGeom, 0);
- case OraGeom.GEOM_TYPE.MULTIPOINT:
- return readMultiPoint(oraGeom, 0);
- case OraGeom.GEOM_TYPE.MULTILINE:
- return readMultiLine(oraGeom);
- case OraGeom.GEOM_TYPE.MULTIPOLYGON:
- return readMultiPolygon(oraGeom);
- case OraGeom.GEOM_TYPE.COLLECTION:
- return readCollection(oraGeom);
- default:
- throw new IllegalArgumentException("GTYPE " + oraGeom.gType + " is not supported");
- }
- }
-
- /**
- * Create a {@link GeometryCollection} as specified by elemInfo. Note that in
- * Oracle, unlike the SFS and JTS, collections contain only atomic types or
- * (possibly) MultiPoints. This makes them simpler to parse.
- *
- * @param oraGeom
- * SDO_GEOMETRY attributes being read
- * @param coords
- * the coordinates of the entire geometry
- * @return GeometryCollection
- *
- * @throws IllegalArgumentException
- * when an encoding error or unsupported geometry type is found
- */
- private GeometryCollection readCollection(OraGeom oraGeom)
- {
- checkOrdinates(oraGeom, 0, "GeometryCollection");
-
- int nElem = oraGeom.numElements();
- List geomList = new ArrayList();
- boolean cont = true;
- for (int i = 0; cont && i < nElem; i++) {
- int etype = oraGeom.eType(i);
- int interpretation = oraGeom.interpretation(i);
- Geometry geom;
-
- switch (etype) {
- case -1:
- cont = false; // We are at the end of the list - get out of here
- continue;
-
- case OraGeom.ETYPE.POINT:
- if (interpretation == OraGeom.INTERP.POINT) {
- geom = readPoint(oraGeom, i);
- } else if (interpretation > 1) {
- geom = readMultiPoint(oraGeom, i);
- } else {
- throw new IllegalArgumentException("ETYPE.POINT requires INTERPRETATION >= 1");
- }
- break;
-
- case OraGeom.ETYPE.LINE:
- geom = readLine(oraGeom, i);
- break;
-
- case OraGeom.ETYPE.POLYGON:
- case OraGeom.ETYPE.POLYGON_EXTERIOR:
- geom = readPolygon(oraGeom, i);
- i += ((Polygon) geom).getNumInteriorRing();
- break;
-
- case OraGeom.ETYPE.POLYGON_INTERIOR:
- throw new IllegalArgumentException(
- "ETYPE 2003 (Polygon Interior) not expected in a Collection");
-
- default:
- throw new IllegalArgumentException("ETYPE " + etype
- + " not representable as a JTS Geometry."
- + "(Custom and Compound Straight and Curved Geometries not supported)");
- }
- geomList.add(geom);
- }
- GeometryCollection geoms = geometryFactory.createGeometryCollection(GeometryFactory.toGeometryArray(geomList));
- return geoms;
- }
-
- /**
- * Create MultiPolygon as encoded by elemInfo.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param coords the coordinates of the entire geometry
- * @return MultiPolygon
- */
- private MultiPolygon readMultiPolygon(OraGeom oraGeom)
- {
- int nElem = oraGeom.numElements();
- List geoms = new ArrayList();
- for (int i = 0; i < nElem; i++) {
- int etype = oraGeom.eType(i);
- if ((etype == OraGeom.ETYPE.POLYGON) || (etype == OraGeom.ETYPE.POLYGON_EXTERIOR)) {
- Polygon poly = readPolygon(oraGeom, i);
- i += poly.getNumInteriorRing(); // skip interior rings
- geoms.add(poly);
- }
- else { // not a Polygon - stop reading
- break;
- }
- }
- MultiPolygon polys = geometryFactory.createMultiPolygon(GeometryFactory.toPolygonArray(geoms));
- return polys;
- }
-
- /**
- * Create MultiLineString as encoded by elemInfo.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param coords the coordinates of the entire geometry
- * @return MultiLineString
- */
- private MultiLineString readMultiLine(OraGeom oraGeom)
- {
- int nElem = oraGeom.numElements();
- List geoms = new ArrayList();
- for (int i = 0; i < nElem; i++) {
- int etype = oraGeom.eType(i);
- // stop reading if not a line
- if (etype != OraGeom.ETYPE.LINE)
- break;
- geoms.add(readLine(oraGeom, i));
- }
- MultiLineString lines = geometryFactory.createMultiLineString(GeometryFactory.toLineStringArray(geoms));
- return lines;
- }
-
- /**
- * Create MultiPoint as encoded by elemInfo.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param elemIndex the element being read
- * @param coords the coordinates of the entire geometry
- * @return MultiPoint
- */
- private MultiPoint readMultiPoint(OraGeom oraGeom, int elemIndex)
- {
- CoordinateSequence seq;
- /**
- * Special handling when GTYPE is MULTIPOINT.
- * In this case all ordinates are read as a single MultiPoint, regardless of elemInfo contents.
- * This is because MultiPoints can be encoded as either a single MULTI elemInfo,
- * or as multiple POINT elemInfos
- */
- if (oraGeom.geomType() == OraGeom.GEOM_TYPE.MULTIPOINT) {
- seq = extractCoords(oraGeom, oraGeom.ordinates);
- }
- else {
- int etype = oraGeom.eType(elemIndex);
- int interpretation = oraGeom.interpretation(elemIndex);
-
- checkOrdinates(oraGeom, elemIndex, "MultiPoint");
- checkETYPE(etype, OraGeom.ETYPE.POINT, "MultiPoint");
- // MultiPoints have a unique interpretation code
- if (! (interpretation >= 1)){
- errorInterpretation(interpretation, "MultiPoint");
- }
- seq = extractCoords(oraGeom, elemIndex);
- }
- MultiPoint points = geometryFactory.createMultiPoint(seq);
- return points;
- }
-
- /**
- * Read {@link Polygon) from encoded geometry.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param elemIndex the element being read
- * @param coords the coordinates of the entire geometry
- * @return Polygon as encoded by elemInfo, or null when faced with and
- * encoding that can not be captured by JTS
- * @throws IllegalArgumentException When faced with an invalid SDO encoding
- */
- private Polygon readPolygon(OraGeom oraGeom, int elemIndex)
- {
- int etype = oraGeom.eType(elemIndex);
- int interpretation = oraGeom.interpretation(elemIndex);
-
- checkOrdinates(oraGeom, elemIndex, "Polygon");
- checkETYPE(etype,OraGeom.ETYPE.POLYGON, OraGeom.ETYPE.POLYGON_EXTERIOR, "Polygon");
- checkInterpretation(interpretation, OraGeom.INTERP.POLYGON, OraGeom.INTERP.RECTANGLE, "Polygon");
-
- int nElem = oraGeom.numElements();
- // ETYPE is either POLYGON or POLYGON_EXTERIOR
- LinearRing exteriorRing = readLinearRing(oraGeom, elemIndex);
-
- /**
- * Holes are read as long as ETYPE = POLYGON_INTERIOR
- * or ETYPE = POLYGON && orient = CW (Hole)
- */
- List holeRings = new ArrayList();
- for (int i = elemIndex + 1; i < nElem; i++) {
- etype = oraGeom.eType(i);
- if (etype == OraGeom.ETYPE.POLYGON_INTERIOR) {
- holeRings.add(readLinearRing(oraGeom, i));
- }
- else if (etype == OraGeom.ETYPE.POLYGON) {
- // test orientation of Ring to see if it is
- // an interior (hole) ring
- LinearRing ring = readLinearRing(oraGeom, i);
- // TODO: use the coordSeq directly (requires new CGAlgorithms method)
- boolean isHole = ! CGAlgorithms.isCCW(ring.getCoordinates());
- // if not a hole, exit
- if (! isHole)
- break;
- // it is an Interior Hole
- holeRings.add(ring);
- }
- else { // not a LinearRing - get out of here
- break;
- }
- }
- Polygon poly = geometryFactory.createPolygon(exteriorRing,
- GeometryFactory.toLinearRingArray(holeRings));
- return poly;
- }
-
- /**
- * Create LinearRing for exterior/interior polygon ELEM_INFO triplets.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param elemIndex the element being read
- * @param coords the coordinates of the entire geometry
- * @return LinearRing
- *
- * @throws IllegalArgumentException If circle, or curve is requested
- */
- private LinearRing readLinearRing(OraGeom oraGeom, int elemIndex)
- {
- int etype = oraGeom.eType(elemIndex);
- int interpretation = oraGeom.interpretation(elemIndex);
-
- checkOrdinates(oraGeom, elemIndex, "Polygon");
- checkETYPE(etype,OraGeom.ETYPE.POLYGON, OraGeom.ETYPE.POLYGON_EXTERIOR, OraGeom.ETYPE.POLYGON_INTERIOR, "Polygon");
- checkInterpretation(interpretation, OraGeom.INTERP.POLYGON, OraGeom.INTERP.RECTANGLE, "Polygon");
-
- CoordinateSequence seq = extractCoords(oraGeom, elemIndex);
- LinearRing ring;
- if (interpretation == OraGeom.INTERP.POLYGON) {
- ring = geometryFactory.createLinearRing(seq);
- }
- else {
- // interpretation == OraSDO.INTERP.RECTANGLE
- // rectangle does not maintain measures
- Coordinate min = seq.getCoordinate(0);
- Coordinate max = seq.getCoordinate(1);
- ring = geometryFactory.createLinearRing(new Coordinate[] {
- min, new Coordinate(max.x, min.y),
- max, new Coordinate(min.x, max.y),
- min
- });
- }
- return ring;
- }
-
- /**
- * Create LineString as encoded.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param elemIndex the element being read
- * @param coords the coordinates of the entire geometry
- * @return LineString
- *
- * @throws IllegalArgumentException If asked to create a curve
- */
- private LineString readLine(OraGeom oraGeom, int elemIndex)
- {
- int etype = oraGeom.eType(elemIndex);
- int interpretation = oraGeom.interpretation(elemIndex);
-
- checkOrdinates(oraGeom, elemIndex, "LineString");
- checkETYPE(etype, OraGeom.ETYPE.LINE, "LineString");
- checkInterpretation(interpretation, OraGeom.INTERP.LINESTRING, "LineString");
-
- LineString line = geometryFactory.createLineString(
- extractCoords(oraGeom, elemIndex));
- return line;
- }
-
- /**
- * Create Point as encoded.
- *
- * @param oraGeom SDO_GEOMETRY attributes being read
- * @param elemIndex the element being read
- * @param coords the coordinates of the entire geometry
- * @return Point
- */
- private Point readPoint(OraGeom oraGeom, int elemIndex) {
- int etype = oraGeom.eType(elemIndex);
- int interpretation = oraGeom.interpretation(elemIndex);
-
- checkOrdinates(oraGeom, elemIndex, "Point");
- checkETYPE(etype,OraGeom.ETYPE.POINT, "Point");
- checkInterpretation(interpretation, OraGeom.INTERP.POINT, "Point");
-
- CoordinateSequence seq = extractCoords(oraGeom, elemIndex);
- return createPoint(seq);
- }
-
- private Point createPoint(CoordinateSequence coords)
- {
- return geometryFactory.createPoint(coords);
- }
-
- /**
- * Constructs a coordinate sequence from the ordinates
- * for a given element
- * taking into account the input and output dimensions.
- *
- * The number of ordinates read per coordinate is given by outputDim.
- * The number of ordinates for each input point is given by ordDim.
- * The ordinate array length must be a multiple of this value.
- *
- * @param oraGeom the input geometry
- * @param elemIndex the element to read
- * @return a coordinate sequence representing the ordinates for the element
- *
- * @throws IllegalArgumentException if the ordinate array has an invalid length
- */
- private CoordinateSequence extractCoords(OraGeom oraGeom, int elemIndex)
- {
- int start = oraGeom.startingOffset(elemIndex);
- int end = oraGeom.startingOffset(elemIndex + 1);
- return extractCoords(oraGeom, oraGeom.ordinates, start, end);
- }
-
- private CoordinateSequence extractCoords(OraGeom oraGeom, double[] ordinates)
- {
- return extractCoords(oraGeom, ordinates, 1, ordinates.length + 1);
- }
-
- private CoordinateSequence extractCoords(OraGeom oraGeom, double[] ordinates, int start, int end)
- {
- CoordinateSequenceFactory csFactory = geometryFactory.getCoordinateSequenceFactory();
- // handle empty case
- if ((ordinates == null) || (ordinates.length == 0)) {
- return csFactory.create(new Coordinate[0]);
- }
- int ordDim = oraGeom.ordDim();
-
- /**
- * The dimension created matches the input dim, unless it is explicitly set,
- * and unless the CoordinateSequence impl limits the dimension.
- */
- int csDim = ordDim;
- if(outputDimension != OraGeom.NULL_DIMENSION){
- csDim = outputDimension;
- }
- int nCoord = (ordDim == 0 ? 0 : (end - start) / ordDim);
-
- CoordinateSequence cs = csFactory.create(nCoord, csDim);
- int actualCSDim = cs.getDimension();
- int readDim = Math.min(actualCSDim, ordDim);
-
- for (int iCoord = 0; iCoord < nCoord; iCoord++) {
- for (int iDim = 0; iDim < readDim; iDim++) {
- int ordIndex = start + iCoord * ordDim + iDim - 1;
- // TODO: be more lenient in handling invalid ordinates length
- cs.setOrdinate(iCoord, iDim, ordinates[ordIndex]);
- }
- }
- return cs;
- }
-
- private static void checkETYPE(int eType, int val1, String geomType)
- {
- checkETYPE(eType,val1, -1, -1, geomType);
- }
-
- private static void checkETYPE(int eType, int val1, int val2, String geomType)
- {
- checkETYPE(eType,val1, val2, -1, geomType);
- }
-
- private static void checkETYPE(int eType, int val1, int val2, int val3, String geomType)
- {
- if (eType == val1) return;
- if (val2 >= 0 && eType == val2) return;
- if (val3 >= 0 && eType == val3) return;
- throw new IllegalArgumentException("SDO_ETYPE "+ eType +" is not supported when reading a " + geomType);
- }
-
- private static void checkInterpretation(int interpretation, int val1, String geomType) {
- checkInterpretation(interpretation, val1, -1, geomType);
- }
-
- private static void checkInterpretation(int interpretation, int val1, int val2, String geomType) {
- if (interpretation == val1) return;
- if (val2 >= 0 && interpretation == val2) return;
- errorInterpretation(interpretation, geomType);
- }
-
- private static void errorInterpretation(int interpretation, String geomType) {
- throw new IllegalArgumentException("SDO_INTERPRETATION "+ interpretation +" is not supported when reading a " + geomType);
- }
-
- private static void checkOrdinates(OraGeom oraGeom, int elemIndex, String geomType)
- {
- int startOffset = oraGeom.startingOffset(elemIndex);
- int ordLen = oraGeom.ordinateLen();
- checkOrdinates(oraGeom.elemInfo, elemIndex, startOffset, ordLen, geomType);
- }
-
- private static void checkOrdinates(int[] elemInfo, int elemIndex, int startOffset, int ordLen, String geomType)
- {
- if (startOffset > ordLen)
- throw new IllegalArgumentException("STARTING_OFFSET " + startOffset + " inconsistent with ORDINATES length " + ordLen
- + " (Element " + elemIndex + " in SDO_ELEM_INFO " + OraGeom.toStringElemInfo(elemInfo) + ")");
- }
-
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/oracle/OraUtil.java b/jtsio/src/com/vividsolutions/jts/io/oracle/OraUtil.java
deleted file mode 100644
index 4f83c78..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/oracle/OraUtil.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package com.vividsolutions.jts.io.oracle;
-
-import java.sql.SQLException;
-
-import oracle.jdbc.OracleConnection;
-import oracle.sql.ARRAY;
-import oracle.sql.ArrayDescriptor;
-import oracle.sql.Datum;
-import oracle.sql.NUMBER;
-import oracle.sql.STRUCT;
-import oracle.sql.StructDescriptor;
-
-/**
- * Utility methods for working with Oracle structures.
- *
- * @author Martin Davis
- *
- */
-public class OraUtil
-{
- /**
- * Converts an Oracle <code>Datum</code> into an <code>int</code> value,
- * with a default value used if the datum is NULL.
- *
- * @param datum the Oracle Datum
- * @param defaultValue the value to use for NULLs
- * @return an integer value
- * @throws SQLException if an error occurs
- */
- public static int toInteger(Datum datum, final int defaultValue)
- throws SQLException
- {
- if (datum == null)
- return defaultValue;
- return ((NUMBER) datum).intValue();
- }
-
- /**
- * Converts an Oracle <code>ARRAY</code> into a <code>int</code> array,
- * with a default value used to represent NULL values.
- *
- * @param array an Oracle ARRAY of integer values
- * @param defaultValue the value to use for NULL values
- * @return an array of ints
- * @throws SQLException if an error was encountered
- */
- public static int[] toIntArray(ARRAY array, int defaultValue) throws SQLException
- {
- if (array == null)
- return null;
- if (defaultValue == 0)
- return array.getIntArray();
-
- return toIntArray(array.getOracleArray(), defaultValue);
- }
-
- /** Presents Datum[] as a int[] */
- public static int[] toIntArray(Datum data[], final int defaultValue)
- throws SQLException
- {
- if (data == null)
- return null;
- int array[] = new int[data.length];
- for (int i = 0; i < data.length; i++) {
- array[i] = toInteger(data[i], defaultValue);
- }
- return array;
- }
-
- /** Presents Datum[] as a double[] */
- public static double[] toDoubleArray(Datum[] data, final double defaultValue)
- {
- if (data == null)
- return null;
- double array[] = new double[data.length];
- for (int i = 0; i < data.length; i++) {
- array[i] = toDouble(data[i], defaultValue);
- }
- return array;
- }
-
- /** Presents array as a double[] */
- public static double[] toDoubleArray(ARRAY array, final double defaultValue)
- throws SQLException
- {
- if (array == null)
- return null;
- if (defaultValue == 0)
- return array.getDoubleArray();
-
- return toDoubleArray(array.getOracleArray(), defaultValue);
- }
-
- /** Presents struct as a double[] */
- public static double[] toDoubleArray(STRUCT struct, final double defaultValue)
- throws SQLException
- {
- if (struct == null)
- return null;
- return toDoubleArray(struct.getOracleAttributes(), defaultValue);
- }
-
- /** Presents datum as a double */
- public static double toDouble(Datum datum, final double defaultValue)
- {
- if (datum == null)
- return defaultValue;
- return ((NUMBER) datum).doubleValue();
- }
-
- /**
- * Convenience method for NUMBER construction.
- * <p>
- * Double.NaN is represented as <code>NULL</code> to agree with JTS use.
- * </p>
- */
- public static NUMBER toNUMBER(double number) throws SQLException
- {
- if (Double.isNaN(number)) {
- return null;
- }
- return new NUMBER(number);
- }
-
- /**
- * Convience method for ARRAY construction.
- * </p>
- */
- public static ARRAY toARRAY(double[] doubles, String dataType,
- OracleConnection connection) throws SQLException
- {
- ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor(dataType,
- connection);
- return new ARRAY(descriptor, connection, doubles);
- }
-
- /**
- * Convience method for ARRAY construction.
- */
- public static ARRAY toARRAY(int[] ints, String dataType,
- OracleConnection connection) throws SQLException
- {
- ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor(dataType,
- connection);
- return new ARRAY(descriptor, connection, ints);
- }
-
- /** Convenience method for STRUCT construction. */
- public static STRUCT toSTRUCT(Datum[] attributes, String dataType,
- OracleConnection connection) throws SQLException
- {
- //TODO: fix this to be more generic
- if (dataType.startsWith("*.")) {
- dataType = "DRA." + dataType.substring(2);
- }
- StructDescriptor descriptor = StructDescriptor.createDescriptor(dataType,
- connection);
- return new STRUCT(descriptor, connection, attributes);
- }
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/oracle/OraWriter.java b/jtsio/src/com/vividsolutions/jts/io/oracle/OraWriter.java
deleted file mode 100644
index 836939f..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/oracle/OraWriter.java
+++ /dev/null
@@ -1,715 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-/*
- * Geotools2 - OpenSource mapping toolkit
- * http://geotools.org
- * (C) 2003, Geotools Project Managment Committee (PMC)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- */
-package com.vividsolutions.jts.io.oracle;
-
-import java.sql.SQLException;
-import java.util.*;
-
-import com.vividsolutions.jts.algorithm.CGAlgorithms;
-import com.vividsolutions.jts.geom.*;
-import com.vividsolutions.jts.util.Assert;
-
-import oracle.jdbc.OracleConnection;
-import oracle.sql.*;
-
-/**
- * Translates a JTS Geometry into an Oracle STRUCT representing an <code>MDSYS.SDO_GEOMETRY</code> object.
- * Supports writing all JTS geometry types into an equivalent Oracle representation.
- * <p>
- * To write an Oracle <code>STRUCT</code> a connection to an Oracle instance with access to the definition of the <code>MDSYS.SDO_GEOMETRY</code>
- * type is required. Oracle <code>SDO_GEOMETRY</code> SQL strings may be written without a connection, however.
- * <p>
- * By default, a single {@link Point} is written using the optimized <code>SDO_POINT_TYPE</code> attribute.
- * This can be overridden to use the (less compact) <code>SDO_ELEM_INFO/SDOORDINATES</code> representation
- * by using {@link #setOptimizePoint(boolean)}.
- * <p>
- * By default, rectangular polygons are written as regular 5-point polygons.
- * This can be changed to use the optimized RECTANGLE points
- * by using {@link #setOptimizeRectangle(boolean)}.
- * Note that RECTANGLEs do not support LRS Measure ordinate values.
- * Also, this class only writes RECTANGLEs for polygons containing a single ring (i.e. the shell).
- * <p>
- * Oracle cannot represent {@link MultiPolygon}s or {@link MultiLineString}s directly as elements
- * of a {@link GeometryCollection}. Instead, their components are written individually.
- * {@link MultiPoint}s are represented directly, however.
- *
- * The dimension of the output <code>SDO_GEOMETRY</code> is determined as follows:
- * <ul>
- * <li>by default, the dimension matches that of the input
- * <li>currently the coordinate dimension of the input is determined by inspecting a sample coordinate.
- * If the Z value is <code>NaN</code>, the coordinate dimension is assumed to be 2.
- * (In the future this will be determined from the underlying {@link CoordinateSequence}s.
- * <li>the dimension can be set explicitly by the {@link #setDimension(int)} method.
- * This allows forcing Z output even if the Z values are <code>NaN</code>.
- * Conversely, if Z values are present this allows forcing 2D output.
- * </ul>
- *
- * <h3>LIMITATIONS</h3>
- * <ul>
- * <li>Since JTS does not support Measures, they cannot be written.
- * (A future release could allow forcing interpreting Z as M, or else providing a fixed M value).
- * </ul>
- *
- * @author Martin Davis
- * @author David Zwiers, Vivid Solutions.
- */
-public class OraWriter
-{
- /**
- * A connection providing access to the required type definitions
- */
- private OracleConnection connection;
- /**
- * The maximum output dimension to write
- */
- private int outputDimension = OraGeom.NULL_DIMENSION;
- /**
- * The default SRID to write
- */
- private int srid = OraGeom.SRID_NULL;
- private boolean isOptimizeRectangle = false;
- private boolean isOptimizePoint = true;
-
- /**
- * Creates a writer for Oracle geometry formats.
- *
- * The output dimension will be whatever the dimension of the input is.
- */
- public OraWriter()
- {
- }
-
- /**
- * Creates a writer for Oracle geometry formats,
- * specifying the maximum output dimension.
- *
- * @param outputDimension the coordinate dimension to use for the output
- */
- public OraWriter(int outputDimension)
- {
- this.outputDimension = outputDimension;
- }
-
- /**
- * Creates a writer using a valid Oracle connection.
- * <p>
- * To simplify connection resource handling, the connection should be
- * provided in the {@link #write(Geometry, OracleConnection)} method.
- * Accordingly, this constructor has been deprecated.
- * <p>
- * The connection should have sufficient privileges to view the description of the MDSYS.SDO_GEOMETRY type.
- * <p>
- * The output dimension will be whatever the dimension of the input is.
- *
- * @param con a valid Oracle connection
- * @deprecated use {@link #OraWriter()} instead
- */
- public OraWriter(OracleConnection con)
- {
- this.connection = con;
- }
-
- /**
- * Creates a writer using a valid Oracle connection,
- * and specifying the maximum output dimension.
- * <p>
- * To simplify connection resource handling, the connection should be
- * provided in the {@link #write(Geometry, OracleConnection)} method.
- * Accordingly, this constructor has been deprecated.
- * <p>
- * The connection should have sufficient privileges to view the description of the MDSYS.SDO_GEOMETRY type.
- *
- * @param con a valid Oracle connection
- * @param outputDimension the coordinate dimension to use for the output
- * @deprecated use {@link #OraWriter(int)} instead
- */
- public OraWriter(OracleConnection con, int outputDimension)
- {
- this.connection = con;
- this.outputDimension = outputDimension;
- }
-
- /**
- * Sets the coordinate dimension for the created Oracle geometries.
- *
- * @param outputDimension
- * the coordinate dimension to use for the output
- */
- public void setDimension(int outputDimension)
- {
- if (outputDimension < 2)
- throw new IllegalArgumentException("Output dimension must be >= 2");
- this.outputDimension = outputDimension;
- }
-
- /**
- * Forces geometries to be written using the specified SRID.
- * This is useful in two cases:
- * <ul>
- * <li>to avoid using the native geometry's SRID
- * <li>to ensure an entire table is written using a fixed SRID.
- * </ul>
- *
- * @param srid the srid to use
- */
- public void setSRID(int srid)
- {
- this.srid = srid;
- }
-
- /**
- * Sets whether rectangle polygons should be written using the
- * optimized 4-coordinate RECTANGLE format
- * (ETYPE=1003, INTERPRETATION=3).
- * If this option is false, rectangles are written as 5-coordinate polygons.
- * The default setting is <code>false</code>.
- *
- * @param isOptimizeRectangle whether to optimize rectangle writing
- */
- public void setOptimizeRectangle(boolean isOptimizeRectangle)
- {
- this.isOptimizeRectangle = isOptimizeRectangle;
- }
-
- /**
- * Sets whether points should be written using the
- * optimized SDO_POINT_TYPE format.
- * If this option is <code>false</code>, points are written using the SDO_ORDINATES attribute.
- * The default setting is <code>true</code>.
- *
- * @param isOptimizePoint whether to optimize point writing
- */
- public void setOptimizePoint(boolean isOptimizePoint)
- {
- this.isOptimizePoint = isOptimizePoint;
- }
-
- /**
- * Converts a {@link Geometry} into an Oracle MDSYS.SDO_GEOMETRY STRUCT.
- * <p>
- * Although invalid geometries may be encoded, and inserted into an Oracle DB,
- * this is not recommended. It is the responsibility of the user to ensure the
- * geometry is valid prior to calling this method.
- * <p>
- * The SRID of the created SDO_GEOMETRY is the SRID defined explicitly for the writer, if any;
- * otherwise it is the SRID contained in the input geometry.
- * The caller should ensure the the SRID is valid for the intended use,
- * since an incorrect SRID may cause indexing exceptions during an
- * INSERT or UPDATE.
- * <p>
- * When a null Geometry is passed in, a non-null, empty SDO_GEOMETRY STRUCT is returned.
- * Therefore, inserting the output of the writer into a
- * table will never result in NULL insertions.
- * To pass a NULL Geometry into an Oracle SDO_GEOMETRY-valued parameter using JDBC, use
- * <pre>
- * java.sql.CallableStatement.setNull(index, java.sql.Types.STRUCT, "MDSYS.SDO_GEOMETRY").
- * </pre>
- *
- * @param geom the geometry to encode
- * @return a Oracle MDSYS.SDO_GEOMETRY STRUCT representing the geometry
- * @throws SQLException if an encoding error was encountered
- * @deprecated
- */
- public STRUCT write(Geometry geom) throws SQLException
- {
- return write(geom, connection);
- }
-
- /**
- * Converts a {@link Geometry} into an Oracle MDSYS.SDO_GEOMETRY STRUCT.
- * <p>
- * Although invalid geometries may be encoded, and inserted into an Oracle DB,
- * this is not recommended. It is the responsibility of the user to ensure the
- * geometry is valid prior to calling this method.
- * <p>
- * The SRID of the created SDO_GEOMETRY is the SRID defined explicitly for the writer, if any;
- * otherwise it is the SRID contained in the input geometry.
- * The caller should ensure the the SRID is valid for the intended use,
- * since an incorrect SRID may cause indexing exceptions during an
- * INSERT or UPDATE.
- * <p>
- * When a null Geometry is passed in, a non-null, empty SDO_GEOMETRY STRUCT is returned.
- * Therefore, inserting the output of the writer into a
- * table will never result in NULL insertions.
- * To pass a NULL Geometry into an Oracle SDO_GEOMETRY-valued parameter using JDBC, use
- * <pre>
- * java.sql.CallableStatement.setNull(index, java.sql.Types.STRUCT, "MDSYS.SDO_GEOMETRY").
- * </pre>
- *
- * @param geom the geometry to encode
- * @return a Oracle MDSYS.SDO_GEOMETRY STRUCT representing the geometry
- * @throws SQLException if an encoding error was encountered
- */
- public STRUCT write(Geometry geom, OracleConnection connection) throws SQLException
- {
- // this line may be problematic ... for v9i and later need to revisit.
-
- // was this ... does not work for 9i
- // if( geom == null) return toSTRUCT( null, DATATYPE );
-
- if (geom == null || geom.isEmpty() || geom.getCoordinate() == null)
- return createEmptySDOGeometry(connection);
-
- OraGeom oraGeom = createOraGeom(geom);
-
- STRUCT SDO_POINT = null;
- ARRAY SDO_ELEM_INFO = null;
- ARRAY SDO_ORDINATES = null;
- if (oraGeom.point == null) {
- SDO_ELEM_INFO = OraUtil.toARRAY(oraGeom.elemInfo, OraGeom.TYPE_ELEM_INFO_ARRAY,
- connection);
- SDO_ORDINATES = OraUtil.toARRAY(oraGeom.ordinates, OraGeom.TYPE_ORDINATE_ARRAY,
- connection);
- }
- else { // Point Optimization
- Datum data[] = new Datum[] {
- OraUtil.toNUMBER(oraGeom.point[0]),
- OraUtil.toNUMBER(oraGeom.point[1]),
- OraUtil.toNUMBER(oraGeom.point[2]), };
- SDO_POINT = OraUtil.toSTRUCT(data, OraGeom.TYPE_POINT_TYPE, connection);
- }
-
- NUMBER SDO_GTYPE = new NUMBER(oraGeom.gType);
- NUMBER SDO_SRID = oraGeom.srid == OraGeom.SRID_NULL ? null : new NUMBER(oraGeom.srid);
-
- Datum sdoGeometryComponents[] = new Datum[] {
- SDO_GTYPE,
- SDO_SRID,
- SDO_POINT,
- SDO_ELEM_INFO,
- SDO_ORDINATES };
- return OraUtil.toSTRUCT(sdoGeometryComponents, OraGeom.TYPE_GEOMETRY, connection);
- }
-
- /**
- * Writes a Geometry in Oracle SDO_GEOMETRY SQL literal format.
- * <p>
- * Examples of output are:
- * <pre>
- * SDO_GEOMETRY(2001,NULL,NULL,SDO_ELEM_INFO_ARRAY(1,1,1),SDO_ORDINATE_ARRAY(50,50))
- * SDO_GEOMETRY(3001,NULL,SDO_POINT_TYPE(50,50,100,),NULL,NULL)
- * SDO_GEOMETRY(3006,8307,NULL,SDO_ELEM_INFO_ARRAY(1,2,1, 7,2,1),SDO_ORDINATE_ARRAY(0,0,2, 50,50,100, 10,10,12, 150,150,110))
- * </pre>
- *
- * @param geom the Geometry to write
- * @return a string representing the geometry as an SDO_GEOMETRY literal
- */
- public String writeSQL(Geometry geom)
- {
- if (geom == null) return OraGeom.SQL_NULL;
- OraGeom oraGeom = createOraGeom(geom);
- return oraGeom.toString();
- }
-
- private STRUCT createEmptySDOGeometry(OracleConnection connection) throws SQLException {
- return OraUtil.toSTRUCT(new Datum[5], OraGeom.TYPE_GEOMETRY, connection);
- }
-
- /**
- * Creates an {@link OraGeom} structure corresponding to the Oracle SDO_GEOMETRY
- * attributes representing the given Geometry.
- * This allows disconnected testing, since no Oracle types are accessed.
- *
- * @param geom the non-null, non-empty Geometry to write
- * @return an OraGeom structure
- */
- OraGeom createOraGeom(Geometry geom)
- {
- int gtype = gType(geom);
- int srid = this.srid == OraGeom.SRID_NULL ? geom.getSRID() : this.srid;
- double[] point = null;
- int elemInfo[] = null;
- double[] ordinates = null;
-
- // if geometry ordinate data should be represented by SDO_ORDINATES array
- if (isEncodeAsPointType(geom)) {
- point = pointOrdinates(geom);
- }
- else {
- int dim = dimension(geom);
- List elemTriplets = new ArrayList();
- List ordGeoms = new ArrayList();
- int lastOrdOffset = writeElement(geom, dim, 1, elemTriplets, ordGeoms);
- elemInfo = flattenTriplets(elemTriplets);
- ordinates = writeGeometryOrdinates(elemTriplets, ordGeoms, lastOrdOffset - 1, dim);
- }
-
- OraGeom oraGeom = new OraGeom(gtype, srid, point, elemInfo, ordinates);
- return oraGeom;
- }
-
- /**
- * Extracts ordinate data for SDO_POINT_TYPE for Point geometries.
- * <code>null</code> is returned
- * for all non-Point geometries, or for LRS points.
-
- * This cannot be used for LRS coordinates.
- * Subclasses may wish to repress this method and force Points to be
- * represented using SDO_ORDINATES.
- *
- * @param geom the geometry providing the ordinates
- * @return double[] the point ordinates
- */
- private double[] pointOrdinates(Geometry geom)
- {
- Point point = (Point) geom;
- Coordinate coord = point.getCoordinate();
- return new double[] { coord.x, coord.y, coord.z };
- }
-
- /**
- * Writes each geometry element which will appear in the output,
- * by recursing through the input geometry,
- * and identifying each element and how it will
- * appear in the output elemInfo array.
- * For each element the relevant geometry component
- * is recorded as well, to allow the ordinates
- * array to be written from them subsequently.
- * The total length of the ordinate array is summed
- * during this process as well (which also allows determining startingOffsets).
- *
- * @param geom
- * @param dim
- * @param offset
- * @param elemTriplets
- * @param ordGeoms
- * @return the final startingOffset
- */
- private int writeElement(Geometry geom, int dim, int offset, List elemTriplets, List ordGeoms)
- {
- int interp;
- int geomType = OraGeom.geomType(geom);
- switch (geomType) {
- case OraGeom.GEOM_TYPE.POINT:
- // full point encoding - optimized one has been done earlier if possible
- Point point = (Point) geom;
- elemTriplets.add(triplet(offset, OraGeom.ETYPE.POINT, OraGeom.INTERP.POINT));
- ordGeoms.add(point);
- return offset + dim;
-
- case OraGeom.GEOM_TYPE.MULTIPOINT:
- MultiPoint points = (MultiPoint) geom;
- int nPts = points.getNumGeometries();
- // this works for nPts >= 1 (0 has already been handled)
- elemTriplets.add(triplet(offset, OraGeom.ETYPE.POINT, nPts));
- ordGeoms.add(points);
- return offset + dim * nPts;
-
- case OraGeom.GEOM_TYPE.LINE:
- LineString line = (LineString) geom;
- elemTriplets.add(triplet(offset, OraGeom.ETYPE.LINE, OraGeom.INTERP.LINESTRING));
- ordGeoms.add(line);
- return offset + dim * line.getNumPoints();
-
- case OraGeom.GEOM_TYPE.MULTILINE:
- MultiLineString lines = (MultiLineString) geom;
- for (int i = 0; i < lines.getNumGeometries(); i++) {
- LineString lineElem = (LineString) lines.getGeometryN(i);
- offset = writeElement(lineElem, dim, offset, elemTriplets, ordGeoms);
- }
- return offset;
-
- case OraGeom.GEOM_TYPE.POLYGON:
- Polygon polygon = (Polygon) geom;
- // shell
- LineString ring = polygon.getExteriorRing();
- interp = isWriteAsRectangle(polygon) ? OraGeom.INTERP.RECTANGLE : OraGeom.INTERP.POLYGON;
- elemTriplets.add(triplet(offset, OraGeom.ETYPE.POLYGON_EXTERIOR, interp));
- ordGeoms.add(ring);
- if (interp == OraGeom.INTERP.RECTANGLE) {
- offset += 4;
- }
- else {
- offset += dim * ring.getNumPoints();
- }
-
- // holes
- int holes = polygon.getNumInteriorRing();
- for (int i = 0; i < holes; i++) {
- ring = polygon.getInteriorRingN(i);
- elemTriplets.add(triplet(offset, OraGeom.ETYPE.POLYGON_INTERIOR, OraGeom.INTERP.POLYGON));
- ordGeoms.add(ring);
- offset += dim * ring.getNumPoints();
- }
- return offset;
-
- case OraGeom.GEOM_TYPE.MULTIPOLYGON:
- MultiPolygon polys = (MultiPolygon) geom;
- Polygon poly;
- for (int i = 0; i < polys.getNumGeometries(); i++) {
- poly = (Polygon) polys.getGeometryN(i);
- offset = writeElement(poly, dim, offset, elemTriplets, ordGeoms);
- }
- return offset;
-
- case OraGeom.GEOM_TYPE.COLLECTION:
- GeometryCollection geoms = (GeometryCollection) geom;
- for (int i = 0; i < geoms.getNumGeometries(); i++) {
- geom = geoms.getGeometryN(i);
- offset = writeElement(geom, dim, offset, elemTriplets, ordGeoms);
- }
- return offset;
- }
-
- throw new IllegalArgumentException("Cannot encode JTS "
- + geom.getGeometryType() + " as SDO_ELEM_INFO "
- + "(Limited to Point, Line, Polygon, GeometryCollection, MultiPoint,"
- + " MultiLineString and MultiPolygon)");
- }
-
- private static int[] triplet(int sOffset, int etype, int interp)
- {
- return new int[] { sOffset, etype, interp };
- }
-
- private int[] flattenTriplets(List elemTriplets)
- {
- int[] elemInfo = new int[3 * elemTriplets.size()];
- int eiIndex = 0;
- for (int i = 0; i < elemTriplets.size(); i++) {
- int[] triplet = (int[]) elemTriplets.get(i);
- for (int ii = 0; ii < 3; ii++) {
- elemInfo[eiIndex++] = triplet[ii];
- }
- }
- return elemInfo;
- }
-
- /**
- * Writes the ordinate values extracted from each element Geometry
- * into a double array.
- * This optimizes memory usage by only allocating the single
- * double array required to pass the ordinates to the Oracle STRUCT.
- *
- * @param elemTriplets
- * @param ordGeoms
- * @param ordSize
- * @param dim
- * @return the final ordinate array
- */
- private double[] writeGeometryOrdinates(List elemTriplets, List ordGeoms, int ordSize, int dim)
- {
- double[] ords = new double[ordSize];
- int ordIndex = 0;
- for (int ielem = 0; ielem < elemTriplets.size(); ielem++) {
- int[] triplet = (int[]) elemTriplets.get(ielem);
-
- int startOffset = triplet[0];
- //verify startOffset is same as ordIndex
- Assert.isTrue(startOffset == ordIndex + 1,
- "ElemInfo computed startingOffset does not match actual ordinates position");
-
- int elemType = triplet[1];
- int interp = triplet[2];
- Geometry geom = (Geometry) ordGeoms.get(ielem);
- switch (elemType) {
- case OraGeom.ETYPE.POINT:
- if (interp == 1) {
- ordIndex = writeOrds(((Point) geom).getCoordinateSequence(), dim, ords, ordIndex);
- }
- else {
- // must be > 1 - write MultiPoint
- ordIndex = writeOrds((MultiPoint) geom, dim, ords, ordIndex);
- }
- break;
-
- case OraGeom.ETYPE.LINE:
- ordIndex = writeOrds(((LineString) geom).getCoordinateSequence(), dim, ords, ordIndex);
- break;
-
- case OraGeom.ETYPE.POLYGON_EXTERIOR:
- if (interp == OraGeom.INTERP.RECTANGLE) {
- ordIndex = writeRectangleOrds(geom, dim, ords, ordIndex);
- }
- else {
- ordIndex = writeOrdsOriented(((LineString) geom).getCoordinateSequence(), dim, ords, ordIndex, true);
- }
- break;
-
- case OraGeom.ETYPE.POLYGON_INTERIOR:
- ordIndex = writeOrdsOriented(((LineString) geom).getCoordinateSequence(), dim, ords, ordIndex, false);
- break;
- }
- }
- return ords;
- }
-
- /**
- * Writes ordinates in the orientation
- * specified by the isWriteCCW CCW flag.
- * Coordinates are reversed if necessary.
- *
- * @param seq the coordinates to write
- * @param dim the output dimension required
- * @param ordData the ordinates array
- * @param ordIndex the starting index in the ordinates array
- * @param isWriteCCW true if the ordinates should be written in CCW orientation, false if CW
- * @return the next index to write in the ordinates array
- */
- private int writeOrdsOriented(CoordinateSequence seq, int dim,
- double[] ordData, int ordIndex, boolean isWriteCCW)
- {
- Coordinate[] coords = seq.toCoordinateArray();
- //TODO: add method to CGAlgorithms to compute isCCW for CoordinateSequences
- boolean isCCW = CGAlgorithms.isCCW(coords);
- if (isCCW != isWriteCCW) {
- return writeOrdsReverse(seq, dim, ordData, ordIndex);
- }
- return writeOrds(seq, dim, ordData, ordIndex);
- }
-
- private int writeOrdsReverse(CoordinateSequence seq, int dim, double[] ordData, int ordIndex)
- {
- int nCoord = seq.size();
- for (int i = nCoord-1; i >= 0; i--) {
- for (int id = 0; id < dim; id++) {
- ordData[ordIndex++] = seq.getOrdinate(i, id);
- }
- }
- return ordIndex;
- }
-
- private int writeOrds(CoordinateSequence seq, int dim, double[] ordData, int ordIndex)
- {
- int nCoord = seq.size();
- for (int i = 0; i < nCoord; i++) {
- for (int id = 0; id < dim; id++) {
- ordData[ordIndex++] = seq.getOrdinate(i, id);
- }
- }
- return ordIndex;
- }
-
- private int writeOrds(MultiPoint geom, int dim, double[] ordData, int ordIndex)
- {
- int nGeom = geom.getNumGeometries();
- for (int i = 0; i < nGeom; i++) {
- CoordinateSequence seq = ((Point) geom.getGeometryN(i)).getCoordinateSequence();
- for (int id = 0; id < dim; id++) {
- ordData[ordIndex++] = seq.getOrdinate(0, id);
- }
- }
- return ordIndex;
- }
-
- private int writeRectangleOrds(Geometry ring, int dim, double[] ordData, int ordIndex)
- {
- Envelope e = ring.getEnvelopeInternal();
- ordData[ordIndex++] = e.getMinX();
- ordData[ordIndex++] = e.getMinY();
- ordData[ordIndex++] = e.getMaxX();
- ordData[ordIndex++] = e.getMaxY();
- return ordIndex;
- }
-
- /**
- * Tests if a <code>polygon</code> can be written aa a RECTANGLE.
- * Rectangles are only supported without a SRID!
- *
- * @param polygon
- * @return <code>true</code> if polygon is SRID==NULL and a rectangle
- */
- private boolean isWriteAsRectangle(Polygon polygon) {
- if (! isOptimizeRectangle) return false;
-
- if (lrsDim(polygon) != 0) {
- // cannot support LRS on a rectangle
- return false;
- }
- return polygon.isRectangle();
- }
-
- private boolean isEncodeAsPointType(Geometry geom)
- {
- if (! isOptimizePoint) return false;
- if (geom instanceof Point && (lrsDim(geom) == 0) && outputDimension <= 3)
- return true;
- // Geometry type is not appropriate for SDO_POINT_TYPE
- return false;
- }
-
- /**
- * Produce SDO_GTYPE code for input Geometry.
- *
- * @param geom
- * @return SDO_GTYPE code
- */
- private int gType(Geometry geom)
- {
- return OraGeom.gType(dimension(geom), lrsDim(geom), OraGeom.geomType(geom));
- }
-
- /**
- * Return dimension of output coordinates (either 2,3 or 4),
- * respecting the explicit output dimension (if any).
- *
- * @param geom
- * @return coordinate dimension number
- */
- private int dimension(Geometry geom) {
- if (outputDimension != OraGeom.NULL_DIMENSION)
- return outputDimension;
-
- //TODO: check dimension of a geometry CoordinateSequence to determine dimension
- int d = Double.isNaN(geom.getCoordinate().z) ? 2 : 3;
- return d;
- }
-
- /**
- * Return LRS dimension as defined by SDO_GTYPE (either 3,4 or 0).
- *
- * @param geom
- * @return LRS dimension
- */
- private int lrsDim(Geometry geom) {
- //TODO: implement measure support when available
- return 0;
- }
-
-}
diff --git a/jtsio/src/com/vividsolutions/jts/io/sde/SdeReader.java b/jtsio/src/com/vividsolutions/jts/io/sde/SdeReader.java
deleted file mode 100644
index ded8358..0000000
--- a/jtsio/src/com/vividsolutions/jts/io/sde/SdeReader.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * The JTS Topology Suite is a collection of Java classes that
- * implement the fundamental operations required to validate a given
- * geo-spatial data set to a known topological specification.
- *
- * Copyright (C) 2001 Vivid Solutions
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For more information, contact:
- *
- * Vivid Solutions
- * Suite #1A
- * 2328 Government Street
- * Victoria BC V8T 5G5
- * Canada
- *
- * (250)385-6040
- * www.vividsolutions.com
- */
-package com.vividsolutions.jts.io.sde;
-
-import com.vividsolutions.jts.geom.*;
-import com.esri.sde.sdk.client.*;
-
-/**
- * Reads a {@link Geometry} from an ESRI SDE Shape.
- * <p>
- * The SDE geometry model differs from the OGC model used by JTS.
- * In particular:
- * <ul>
- * <li>Simple lines are read as {@link LineString}s
- * <li>Inverted Polygons and Exverted Holes are read as is.
- * These create invalid JTS polygons, and must be
- * rectified if further operations are to be performed on them.
- * </ul>
- * <p>
- * This class allows specifying the maximum number of coordinate dimensions to read.
- * If dimensions higher than 2 are not required, it may be more efficient to not read them.
- * <p>
- * To use this class the ESRI SDE Java libraries must be present.
- * <p>
- * Currently reading measure (M) ordinates is not supported.
- *
- * @author Martin Davis
- *
- */
-public class SdeReader
-{
- private GeometryFactory geometryFactory;
- private PrecisionModel precisionModel;
- private CoordinateSequenceFactory coordSeqFact;
- private int maxDimensionToRead = 2;
-
- /**
- * Creates a reader that creates geometries using the default {@link GeometryFactory}.
- */
- public SdeReader() {
- this(new GeometryFactory());
- }
-
- /**
- * Creates a reader that creates geometries using the given {@link GeometryFactory}.
- * @param geometryFactory
- */
- public SdeReader(GeometryFactory geometryFactory) {
- this.geometryFactory = geometryFactory;
- precisionModel = geometryFactory.getPrecisionModel();
- coordSeqFact = geometryFactory.getCoordinateSequenceFactory();
- }
-
- /**
- * Gets the maximum number of coordinate dimensions which will be read.
- *
- * @return the dimension which will be read
- */
- public int getDimension() {
- return maxDimensionToRead;
- }
-
- /**
- * Sets the maximum number of coordinate dimensions to read.
- * If this is larger than the number of dimensions actually
- * present in the input geometry, the higher ordinates will not
- * be read, and NaN will be returned as their value.
- * <p>
- * The default is to read only the X and Y ordinates (dimension = 2).
- *
- * @param dimension the dimension to read
- */
- public void setDimension(int dimension) {
- this.maxDimensionToRead = dimension;
- }
-
- /**
- * Reads a {@link Geometry} from a given SDE shape.
- *
- * @param shape the shape to read
- * @return the geometry which represents the input shape
- *
- * @throws SeException
- */
- public Geometry read(SeShape shape)
- throws SeException
- {
- switch (shape.getType()) {
- case SeShape.TYPE_POINT:
- return readPoint(shape);
-
- case SeShape.TYPE_MULTI_POINT:
- return readMultiPoint(shape);
-
- case SeShape.TYPE_LINE:
- case SeShape.TYPE_SIMPLE_LINE:
- return readLine(shape);
-
- case SeShape.TYPE_MULTI_LINE:
- case SeShape.TYPE_MULTI_SIMPLE_LINE:
- return readMultiLine(shape);
-
- case SeShape.TYPE_POLYGON:
- return readPolygon(shape);
-
- case SeShape.TYPE_MULTI_POLYGON:
- return readMultiPolygon(shape);
-
- }
- throw new IllegalArgumentException("Shapes of type " + shape.getType() + " are not supported");
- }
-
- private Point readPoint(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, false); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- return geometryFactory.createPoint(toCoordinates(sePts, 0, 1));
- }
-
- private MultiPoint readMultiPoint(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, false); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- return geometryFactory.createMultiPoint(toCoordinates(sePts, 0, sePts.length));
- }
-
- private LineString readLine(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, false); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- return geometryFactory.createLineString(toCoordinates(sePts, 0, sePts.length));
- }
-
- private MultiLineString readMultiLine(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, false); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- int[] partOffset = (int[]) list.get(1);
-
- LineString[] lines = new LineString[partOffset.length];
- for (int i = 0; i < partOffset.length; i++) {
- int end = sePts.length;
- if (i < partOffset.length - 1)
- end = partOffset[i + 1];
- lines[i] = geometryFactory.createLineString(toCoordinates(sePts, partOffset[i], end));
- }
- return geometryFactory.createMultiLineString(lines);
- }
-
- private Polygon readPolygon(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, true); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- // a polygon has only one part
- int[] subPartOffset = (int[]) list.get(2);
-
- return readPolygon(sePts, subPartOffset, 0, subPartOffset.length);
- }
-
- private Polygon readPolygon(SDEPoint[] sePts, int[] subPartOffset, int subPartStart, int subPartEnd)
- throws SeException
- {
- int numSubParts = subPartEnd - subPartStart;
- int nHoles = numSubParts - 1;
- if (nHoles < 0)
- nHoles = 0;
- LinearRing shell = null;
- LinearRing[] holes = new LinearRing[nHoles];
- int holeIndex = 0;
-
- for (int i = subPartStart; i < subPartEnd; i++) {
- int end = sePts.length;
- if (i < subPartEnd - 1)
- end = subPartOffset[i + 1];
- LinearRing ring = geometryFactory.createLinearRing(toCoordinates(sePts, subPartOffset[i], end));
-
- if (shell == null) {
- shell = ring;
- }
- else {
- holes[holeIndex++] = ring;
- }
- }
- return geometryFactory.createPolygon(shell, holes);
- }
-
- private MultiPolygon readMultiPolygon(SeShape shape)
- throws SeException
- {
- java.util.List list = shape.getAllPoints(SeShape.TURN_RIGHT, true); // get points and offsets
- SDEPoint[] sePts = (SDEPoint[]) list.get(0);
- int[] partOffset = (int[]) list.get(1);
- int[] subPartOffset = (int[]) list.get(2);
-
- Polygon[] polys = new Polygon[partOffset.length];
- for (int i = 0; i < partOffset.length; i++) {
- int subPartEnd = subPartOffset.length;
- if (i + 1 < partOffset.length) {
- subPartEnd = partOffset[i + 1];
- }
- polys[i] = readPolygon(sePts, subPartOffset, partOffset[i], subPartEnd);
- }
- return geometryFactory.createMultiPolygon(polys);
- }
-
- private void readCoordinate(SDEPoint p, CoordinateSequence seq, int index)
- throws SeException
- {
- seq.setOrdinate(index, 0, precisionModel.makePrecise(p.getX()));
- seq.setOrdinate(index, 1, precisionModel.makePrecise(p.getY()));
- // only read the Z dim if requested and present
- if (maxDimensionToRead >= 3 && p.is3D()) {
- seq.setOrdinate(index, 2, p.getZ());
- }
- }
-
- private CoordinateSequence toCoordinates(SDEPoint[] sePts, int start, int end)
- throws SeException
- {
- int size = end - start;
- CoordinateSequence seq = coordSeqFact.create(size, maxDimensionToRead);
- int index = 0;
- for (int i = start; i < end; i++) {
- readCoordinate(sePts[i], seq, index);
- index++;
- }
- return seq;
- }
-}
diff --git a/locationtech_mark.png b/locationtech_mark.png
new file mode 100644
index 0000000..57c4f9b
Binary files /dev/null and b/locationtech_mark.png differ
diff --git a/modules/app/pom.xml b/modules/app/pom.xml
new file mode 100644
index 0000000..d1924c1
--- /dev/null
+++ b/modules/app/pom.xml
@@ -0,0 +1,66 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-modules</artifactId>
+ <version>1.15.0</version>
+ </parent>
+ <artifactId>jts-app</artifactId>
+ <name>${project.groupId}:${project.artifactId}</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-tests</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.locationtech.jts.io</groupId>
+ <artifactId>jts-io-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jdom</groupId>
+ <artifactId>jdom2</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <archive>
+ <manifest>
+ <mainClass>org.locationtech.jtstest.testbuilder.JTSTestBuilder</mainClass>
+ </manifest>
+ </archive>
+ <finalName>JTSTestBuilder</finalName>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/TestCoordinateSequenceFactory.java b/modules/app/src/main/java/org/locationtech/jtstest/TestCoordinateSequenceFactory.java
new file mode 100644
index 0000000..e6c9668
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/TestCoordinateSequenceFactory.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.impl.*;
+
+/**
+ * Create the CoordinateSequenceFactory to be used in tests
+ */
+public class TestCoordinateSequenceFactory {
+
+ public static CoordinateSequenceFactory instance()
+ {
+ return CoordinateArraySequenceFactory.instance();
+// return new PackedCoordinateSequenceFactory();
+// return new PackedCoordinateSequenceFactory(PackedCoordinateSequenceFactory.FLOAT, 2);
+ }
+
+ private TestCoordinateSequenceFactory() {
+ }
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/clean/CleanDuplicatePoints.java b/modules/app/src/main/java/org/locationtech/jtstest/clean/CleanDuplicatePoints.java
new file mode 100644
index 0000000..6047f8a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/clean/CleanDuplicatePoints.java
@@ -0,0 +1,111 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.clean;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ * @version 1.7
+ */
+public class CleanDuplicatePoints {
+
+ public static Coordinate[] removeDuplicatePoints(Coordinate[] coord)
+ {
+ List uniqueCoords = new ArrayList();
+ Coordinate lastPt = null;
+ for (int i = 0; i < coord.length; i++) {
+ if (lastPt == null || ! lastPt.equals(coord[i])) {
+ lastPt = coord[i];
+ uniqueCoords.add(new Coordinate(lastPt));
+ }
+ }
+ return (Coordinate[]) uniqueCoords.toArray(new Coordinate[0]);
+ }
+
+ private GeometryFactory fact;
+
+ public CleanDuplicatePoints() {
+ }
+
+ public Geometry clean(Geometry g)
+ {
+ fact = g.getFactory();
+ if (g.isEmpty()) return g;
+ if (g instanceof Point) return g;
+ else if (g instanceof MultiPoint) return g;
+ // LineString also handles LinearRings
+ else if (g instanceof LinearRing) return clean((LinearRing) g);
+ else if (g instanceof LineString) return clean((LineString) g);
+ else if (g instanceof Polygon) return clean((Polygon) g);
+ else if (g instanceof MultiLineString) return clean((MultiLineString) g);
+ else if (g instanceof MultiPolygon) return clean((MultiPolygon) g);
+ else if (g instanceof GeometryCollection) return clean((GeometryCollection) g);
+ else throw new UnsupportedOperationException(g.getClass().getName());
+ }
+
+ private LinearRing clean(LinearRing g)
+ {
+ Coordinate[] coords = removeDuplicatePoints(g.getCoordinates());
+ return fact.createLinearRing(coords);
+ }
+
+ private LineString clean(LineString g)
+ {
+ Coordinate[] coords = removeDuplicatePoints(g.getCoordinates());
+ return fact.createLineString(coords);
+ }
+
+ private Polygon clean(Polygon poly)
+ {
+ Coordinate[] shellCoords = removeDuplicatePoints(poly.getExteriorRing().getCoordinates());
+ LinearRing shell = fact.createLinearRing(shellCoords);
+ List holes = new ArrayList();
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ Coordinate[] holeCoords = removeDuplicatePoints(poly.getInteriorRingN(i).getCoordinates());
+ holes.add(fact.createLinearRing(holeCoords));
+ }
+ return fact.createPolygon(shell, GeometryFactory.toLinearRingArray(holes));
+ }
+
+ private MultiPolygon clean(MultiPolygon g)
+ {
+ List polys = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Polygon poly = (Polygon) g.getGeometryN(i);
+ polys.add(clean(poly));
+ }
+ return fact.createMultiPolygon(GeometryFactory.toPolygonArray(polys));
+ }
+ private MultiLineString clean(MultiLineString g)
+ {
+ List lines = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ LineString line = (LineString) g.getGeometryN(i);
+ lines.add(clean(line));
+ }
+ return fact.createMultiLineString(GeometryFactory.toLineStringArray(lines));
+ }
+ private GeometryCollection clean(GeometryCollection g)
+ {
+ List geoms = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Geometry geom = g.getGeometryN(i);
+ geoms.add(clean(geom));
+ }
+ return fact.createGeometryCollection(GeometryFactory.toGeometryArray(geoms));
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/AffineTransformationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/AffineTransformationFunctions.java
new file mode 100644
index 0000000..bfb089c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/AffineTransformationFunctions.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+public class AffineTransformationFunctions
+{
+ public static Geometry transformByVectors(Geometry g, Geometry control)
+ {
+ int nControl = control.getNumGeometries();
+ Coordinate src[] = new Coordinate[nControl];
+ Coordinate dest[] = new Coordinate[nControl];
+ for (int i = 0; i < nControl; i++) {
+ Geometry contComp = control.getGeometryN(i);
+ Coordinate[] pts = contComp.getCoordinates();
+ src[i] = pts[0];
+ dest[i] = pts[1];
+ }
+ AffineTransformation trans = AffineTransformationFactory.createFromControlVectors(src, dest);
+ System.out.println(trans);
+ return trans.transform(g);
+ }
+
+ public static Geometry transformByBaseline(Geometry g, Geometry destBaseline)
+ {
+ Envelope env = g.getEnvelopeInternal();
+ Coordinate src0 = new Coordinate(env.getMinX(), env.getMinY());
+ Coordinate src1 = new Coordinate(env.getMaxX(), env.getMinY());
+
+ Coordinate[] destPts = destBaseline.getCoordinates();
+ Coordinate dest0 = destPts[0];
+ Coordinate dest1 = destPts[1];
+ AffineTransformation trans = AffineTransformationFactory.createFromBaseLines(src0, src1, dest0, dest1);
+ return trans.transform(g);
+ }
+
+ private static Coordinate envelopeCentre(Geometry g)
+ {
+ return g.getEnvelopeInternal().centre();
+ }
+
+ private static Coordinate envelopeLowerLeft(Geometry g)
+ {
+ Envelope env = g.getEnvelopeInternal();
+ return new Coordinate(env.getMinX(), env.getMinY());
+ }
+
+ public static Geometry viewport(Geometry g, Geometry gViewport)
+ {
+ Envelope viewEnv = gViewport.getEnvelopeInternal();
+ Envelope env = g.getEnvelopeInternal();
+ AffineTransformation trans = viewportTrans(env, viewEnv);
+ return trans.transform(g);
+ }
+
+ private static AffineTransformation viewportTrans(Envelope srcEnv, Envelope viewEnv) {
+ // works even if W or H are zero, thanks to Java infinity value.
+ double scaleW = viewEnv.getWidth() / srcEnv.getWidth();
+ double scaleH = viewEnv.getHeight() / srcEnv.getHeight();
+ // choose minimum scale to ensure source fits viewport
+ double scale = Math.min(scaleW, scaleH);
+
+ Coordinate centre = srcEnv.centre();
+ Coordinate viewCentre = viewEnv.centre();
+
+ // isotropic scaling
+ AffineTransformation trans = AffineTransformation.scaleInstance(scale, scale, centre.x, centre.y);
+ // translate using envelope centres
+ trans.translate(viewCentre.x - centre.x, viewCentre.y - centre.y);
+ return trans;
+ }
+
+ public static Geometry scale(Geometry g, double scale)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.scaleInstance(scale, scale, centre.x, centre.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry reflectInX(Geometry g)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.scaleInstance(1, -1, centre.x, centre.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry reflectInY(Geometry g)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.scaleInstance(-1, 1, centre.x, centre.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry rotateByPiMultiple(Geometry g, double multipleOfPi)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.rotationInstance(multipleOfPi * Math.PI, centre.x, centre.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry rotateByPiMultipleAroundPoint(Geometry g, Geometry pt, double multipleOfPi)
+ {
+ Coordinate loc;
+ if (pt == null) {
+ loc = new Coordinate(0,0);
+ }
+ else {
+ loc = pt.getCoordinates()[0];
+ }
+ AffineTransformation trans = AffineTransformation.rotationInstance(multipleOfPi * Math.PI, loc.x, loc.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry rotate(Geometry g, double angle)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.rotationInstance(angle, centre.x, centre.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry rotateAroundPoint(Geometry g, Geometry pt, double angle)
+ {
+ Coordinate loc;
+ if (pt == null) {
+ loc = new Coordinate(0,0);
+ }
+ else {
+ loc = pt.getCoordinates()[0];
+ }
+ AffineTransformation trans = AffineTransformation.rotationInstance(angle, loc.x, loc.y);
+ return trans.transform(g);
+ }
+
+ public static Geometry translateCentreToOrigin(Geometry g)
+ {
+ Coordinate centre = envelopeCentre(g);
+ AffineTransformation trans = AffineTransformation.translationInstance(-centre.x, -centre.y);
+ return trans.transform(g);
+ }
+ public static Geometry translateToOrigin(Geometry g)
+ {
+ Coordinate lowerLeft = envelopeLowerLeft(g);
+ AffineTransformation trans = AffineTransformation.translationInstance(-lowerLeft.x, -lowerLeft.y);
+ return trans.transform(g);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/BoundaryFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/BoundaryFunctions.java
new file mode 100644
index 0000000..58f922f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/BoundaryFunctions.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.MinimumBoundingCircle;
+import org.locationtech.jts.algorithm.MinimumDiameter;
+import org.locationtech.jts.densify.Densifier;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.OctagonalEnvelope;
+import org.locationtech.jts.operation.BoundaryOp;
+
+public class BoundaryFunctions {
+ public static Geometry boundary(Geometry g) { return g.getBoundary(); }
+
+ public static Geometry boundaryMod2(Geometry g) {
+ return BoundaryOp.getBoundary(g, BoundaryNodeRule.MOD2_BOUNDARY_RULE);
+ }
+ public static Geometry boundaryEndpoint(Geometry g) {
+ return BoundaryOp.getBoundary(g, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE);
+ }
+ public static Geometry boundaryMonoValentEnd(Geometry g) {
+ return BoundaryOp.getBoundary(g, BoundaryNodeRule.MONOVALENT_ENDPOINT_BOUNDARY_RULE);
+ }
+ public static Geometry boundaryMultiValentEnd(Geometry g) {
+ return BoundaryOp.getBoundary(g, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/BufferByUnionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/BufferByUnionFunctions.java
new file mode 100644
index 0000000..e3cc52f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/BufferByUnionFunctions.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryCollectionIterator;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.noding.SegmentString;
+import org.locationtech.jts.operation.buffer.BufferInputLineSimplifier;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.operation.buffer.OffsetCurveSetBuilder;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+import org.locationtech.jtstest.geomfunction.Metadata;
+
+
+public class BufferByUnionFunctions {
+
+ public static Geometry componentBuffers(Geometry g, double distance)
+ {
+ List bufs = new ArrayList();
+ for (Iterator it = new GeometryCollectionIterator(g); it.hasNext(); ) {
+ Geometry comp = (Geometry) it.next();
+ if (comp instanceof GeometryCollection) continue;
+ bufs.add(comp.buffer(distance));
+ }
+ return FunctionsUtil.getFactoryOrDefault(g)
+ .createGeometryCollection(GeometryFactory.toGeometryArray(bufs));
+ }
+
+ public static Geometry bufferByComponents(Geometry g, double distance)
+ {
+ return componentBuffers(g, distance).union();
+ }
+
+ /**
+ * Buffer polygons by buffering the individual boundary segments and
+ * either unioning or differencing them.
+ *
+ * @param g
+ * @param distance
+ * @return the buffer geometry
+ */
+ public static Geometry bufferBySegments(Geometry g, double distance)
+ {
+ Geometry segs = LineHandlingFunctions.extractSegments(g);
+ double posDist = Math.abs(distance);
+ Geometry segBuf = bufferByComponents(segs, posDist);
+ if (distance < 0.0)
+ return g.difference(segBuf);
+ return g.union(segBuf);
+ }
+
+ public static Geometry bufferByChains(Geometry g, double distance,
+ @Metadata(title="Max Chain Size")
+ int maxChainSize)
+ {
+ if (maxChainSize <= 0)
+ throw new IllegalArgumentException("Maximum Chain Size must be specified as an input parameter");
+ Geometry segs = LineHandlingFunctions.extractChains(g, maxChainSize);
+ double posDist = Math.abs(distance);
+ Geometry segBuf = bufferByComponents(segs, posDist);
+ if (distance < 0.0)
+ return g.difference(segBuf);
+ return g.union(segBuf);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/BufferFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/BufferFunctions.java
new file mode 100644
index 0000000..3e36d34
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/BufferFunctions.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.util.GeometryMapper;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geom.util.GeometryMapper.MapOp;
+import org.locationtech.jts.noding.SegmentString;
+import org.locationtech.jts.operation.buffer.BufferInputLineSimplifier;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.operation.buffer.OffsetCurveBuilder;
+import org.locationtech.jts.operation.buffer.OffsetCurveSetBuilder;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+import org.locationtech.jtstest.geomfunction.Metadata;
+
+
+public class BufferFunctions {
+
+ public static String bufferDescription = "Buffers a geometry by a distance";
+
+ @Metadata(description="Buffer a geometry by a distance")
+ public static Geometry buffer(Geometry g, double distance) { return g.buffer(distance); }
+
+ public static Geometry bufferWithParams(Geometry g,
+ Double distance,
+ @Metadata(title="Quadrant Segs")
+ Integer quadrantSegments,
+ @Metadata(title="Cap style")
+ Integer capStyle,
+ @Metadata(title="Join style")
+ Integer joinStyle,
+ @Metadata(title="Mitre limit")
+ Double mitreLimit)
+ {
+ double dist = 0;
+ if (distance != null) dist = distance.doubleValue();
+
+ BufferParameters bufParams = new BufferParameters();
+ if (quadrantSegments != null) bufParams.setQuadrantSegments(quadrantSegments.intValue());
+ if (capStyle != null) bufParams.setEndCapStyle(capStyle.intValue());
+ if (joinStyle != null) bufParams.setJoinStyle(joinStyle.intValue());
+ if (mitreLimit != null) bufParams.setMitreLimit(mitreLimit.doubleValue());
+
+ return BufferOp.bufferOp(g, dist, bufParams);
+ }
+
+ public static Geometry bufferWithSimplify(Geometry g, Double distance,
+ @Metadata(title="Simplify factor")
+ Double simplifyFactor)
+ {
+ double dist = 0;
+ if (distance != null) dist = distance.doubleValue();
+
+ BufferParameters bufParams = new BufferParameters();
+ if (simplifyFactor != null) bufParams.setSimplifyFactor(simplifyFactor.doubleValue());
+
+ return BufferOp.bufferOp(g, dist, bufParams);
+ }
+
+ public static Geometry bufferCurve(Geometry g, double distance)
+ {
+ return buildCurveSet(g, distance, new BufferParameters());
+ }
+
+ public static Geometry bufferCurveWithParams(Geometry g,
+ Double distance,
+ @Metadata(title="Quadrant Segs")
+ Integer quadrantSegments,
+ @Metadata(title="Cap style")
+ Integer capStyle,
+ @Metadata(title="Join style")
+ Integer joinStyle,
+ @Metadata(title="Mitre limit")
+ Double mitreLimit)
+ {
+ double dist = 0;
+ if (distance != null) dist = distance.doubleValue();
+
+ BufferParameters bufParams = new BufferParameters();
+ if (quadrantSegments != null) bufParams.setQuadrantSegments(quadrantSegments.intValue());
+ if (capStyle != null) bufParams.setEndCapStyle(capStyle.intValue());
+ if (joinStyle != null) bufParams.setJoinStyle(joinStyle.intValue());
+ if (mitreLimit != null) bufParams.setMitreLimit(mitreLimit.doubleValue());
+
+ return buildCurveSet(g, dist, bufParams);
+ }
+
+ private static Geometry buildCurveSet(Geometry g, double dist, BufferParameters bufParams)
+ {
+ // --- now construct curve
+ OffsetCurveBuilder ocb = new OffsetCurveBuilder(
+ g.getFactory().getPrecisionModel(),
+ bufParams);
+ OffsetCurveSetBuilder ocsb = new OffsetCurveSetBuilder(g, dist, ocb);
+ List curves = ocsb.getCurves();
+
+ List lines = new ArrayList();
+ for (Iterator i = curves.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ Coordinate[] pts = ss.getCoordinates();
+ lines.add(g.getFactory().createLineString(pts));
+ }
+ Geometry curve = g.getFactory().buildGeometry(lines);
+ return curve;
+ }
+
+ public static Geometry bufferLineSimplifier(Geometry g, double distance)
+ {
+ return buildBufferLineSimplifiedSet(g, distance);
+ }
+
+ private static Geometry buildBufferLineSimplifiedSet(Geometry g, double distance)
+ {
+ List simpLines = new ArrayList();
+
+ List lines = new ArrayList();
+ LinearComponentExtracter.getLines(g, lines);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ Coordinate[] pts = line.getCoordinates();
+ simpLines.add(g.getFactory().createLineString(BufferInputLineSimplifier.simplify(pts, distance)));
+ }
+ Geometry simpGeom = g.getFactory().buildGeometry(simpLines);
+ return simpGeom;
+ }
+
+ public static Geometry bufferValidated(Geometry g, double distance)
+ {
+ Geometry buf = g.buffer(distance);
+ String errMsg = BufferResultValidator.isValidMsg(g, distance, buf);
+ if (errMsg != null)
+ throw new IllegalStateException("Buffer Validation error: " + errMsg);
+ return buf;
+ }
+
+ public static Geometry bufferValidatedGeom(Geometry g, double distance)
+ {
+ Geometry buf = g.buffer(distance);
+ BufferResultValidator validator = new BufferResultValidator(g, distance, buf);
+ boolean isValid = validator.isValid();
+ return validator.getErrorIndicator();
+ }
+
+ public static Geometry singleSidedBufferCurve(Geometry geom, double distance) {
+ BufferParameters bufParam = new BufferParameters();
+ bufParam.setSingleSided(true);
+ OffsetCurveBuilder ocb = new OffsetCurveBuilder(
+ geom.getFactory().getPrecisionModel(), bufParam
+ );
+ Coordinate[] pts = ocb.getLineCurve(geom.getCoordinates(), distance);
+ Geometry curve = geom.getFactory().createLineString(pts);
+ return curve;
+ }
+
+ public static Geometry singleSidedBuffer(Geometry geom, double distance) {
+ BufferParameters bufParams = new BufferParameters();
+ bufParams.setSingleSided(true);
+ return BufferOp.bufferOp(geom, distance, bufParams);
+ }
+
+ public static Geometry bufferEach(Geometry g, final double distance)
+ {
+ return GeometryMapper.map(g, new MapOp() {
+
+ public Geometry map(Geometry g)
+ {
+ return g.buffer(distance);
+ }
+
+ });
+ }
+
+ public static Geometry bufferAndInverse(Geometry g, double distance) {
+ return g.buffer(distance).buffer(-distance);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/ConstructionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/ConstructionFunctions.java
new file mode 100644
index 0000000..4d419ba
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/ConstructionFunctions.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.MinimumBoundingCircle;
+import org.locationtech.jts.algorithm.MinimumDiameter;
+import org.locationtech.jts.densify.Densifier;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.OctagonalEnvelope;
+
+public class ConstructionFunctions {
+ public static Geometry octagonalEnvelope(Geometry g) { return OctagonalEnvelope.octagonalEnvelope(g); }
+
+ public static Geometry minimumDiameter(Geometry g) { return (new MinimumDiameter(g)).getDiameter(); }
+ public static double minimumDiameterLength(Geometry g) { return (new MinimumDiameter(g)).getDiameter().getLength(); }
+
+ public static Geometry minimumRectangle(Geometry g) { return (new MinimumDiameter(g)).getMinimumRectangle(); }
+ public static Geometry minimumBoundingCircle(Geometry g) { return (new MinimumBoundingCircle(g)).getCircle(); }
+ public static Geometry maximumDiameter(Geometry g) { return
+ g.getFactory().createLineString((new MinimumBoundingCircle(g)).getExtremalPoints()); }
+ public static Geometry farthestPoints(Geometry g) {
+ return ((new MinimumBoundingCircle(g)).getFarthestPoints()); }
+ public static double maximumDiameterLength(Geometry g) { return 2 * (new MinimumBoundingCircle(g)).getRadius(); }
+
+ public static Geometry boundary(Geometry g) { return g.getBoundary(); }
+ public static Geometry convexHull(Geometry g) { return g.convexHull(); }
+ public static Geometry centroid(Geometry g) { return g.getCentroid(); }
+ public static Geometry interiorPoint(Geometry g) { return g.getInteriorPoint(); }
+
+ public static Geometry densify(Geometry g, double distance) { return Densifier.densify(g, distance); }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/ConversionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/ConversionFunctions.java
new file mode 100644
index 0000000..b7e445c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/ConversionFunctions.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geom.util.PolygonExtracter;
+
+public class ConversionFunctions
+{
+ public static Geometry toPoints(Geometry g1, Geometry g2)
+ {
+ Geometry geoms = FunctionsUtil.buildGeometry(g1, g2);
+ return FunctionsUtil.getFactoryOrDefault(g1, g2)
+ .createMultiPoint(geoms.getCoordinates());
+ }
+
+ public static Geometry toLines(Geometry g1, Geometry g2)
+ {
+ Geometry geoms = FunctionsUtil.buildGeometry(g1, g2);
+ return FunctionsUtil.getFactoryOrDefault(g1, g2)
+ .buildGeometry(LinearComponentExtracter.getLines(geoms));
+ }
+
+ public static Geometry toMultiPolygon(Geometry g1, Geometry g2)
+ {
+ Geometry geoms = FunctionsUtil.buildGeometry(g1, g2);
+ List polys = PolygonExtracter.getPolygons(g1);
+ PolygonExtracter.getPolygons(g2, polys);
+ return FunctionsUtil.getFactoryOrDefault(g1, g2)
+ .createMultiPolygon( GeometryFactory.toPolygonArray(polys));
+ }
+
+ public static Geometry toGeometryCollection(Geometry g, Geometry g2)
+ {
+ List atomicGeoms = new ArrayList();
+ if (g != null) addComponents(g, atomicGeoms);
+ if (g2 != null) addComponents(g2, atomicGeoms);
+ return g.getFactory().createGeometryCollection(
+ GeometryFactory.toGeometryArray(atomicGeoms));
+ }
+
+ private static void addComponents(Geometry g, List atomicGeoms)
+ {
+ if (! (g instanceof GeometryCollection)) {
+ atomicGeoms.add(g);
+ return;
+ }
+
+ GeometryCollectionIterator it = new GeometryCollectionIterator(g);
+ while (it.hasNext()) {
+ Geometry gi = (Geometry) it.next();
+ if (! (gi instanceof GeometryCollection))
+ atomicGeoms.add(gi);
+ }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/CreateFractalShapeFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateFractalShapeFunctions.java
new file mode 100644
index 0000000..022447a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateFractalShapeFunctions.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.shape.fractal.KochSnowflakeBuilder;
+import org.locationtech.jts.shape.fractal.SierpinskiCarpetBuilder;
+
+public class CreateFractalShapeFunctions
+{
+
+ public static Geometry kochSnowflake(Geometry g, int n)
+ {
+ KochSnowflakeBuilder builder = new KochSnowflakeBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ builder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ builder.setNumPoints(n);
+ return builder.getGeometry();
+ }
+ public static Geometry sierpinskiCarpet(Geometry g, int n)
+ {
+ SierpinskiCarpetBuilder builder = new SierpinskiCarpetBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ builder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ builder.setNumPoints(n);
+ return builder.getGeometry();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/CreateRandomShapeFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateRandomShapeFunctions.java
new file mode 100644
index 0000000..e19f9ab
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateRandomShapeFunctions.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.shape.random.RandomPointsBuilder;
+import org.locationtech.jts.shape.random.RandomPointsInGridBuilder;
+import org.locationtech.jtstest.geomfunction.Metadata;
+
+
+public class CreateRandomShapeFunctions {
+
+ public static Geometry randomPointsInGrid(Geometry g, int nPts) {
+ RandomPointsInGridBuilder shapeBuilder = new RandomPointsInGridBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ shapeBuilder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ shapeBuilder.setNumPoints(nPts);
+ return shapeBuilder.getGeometry();
+ }
+
+ public static Geometry randomPointsInGridCircles(Geometry g, int nPts) {
+ RandomPointsInGridBuilder shapeBuilder = new RandomPointsInGridBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ shapeBuilder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ shapeBuilder.setNumPoints(nPts);
+ shapeBuilder.setConstrainedToCircle(true);
+ return shapeBuilder.getGeometry();
+ }
+
+ public static Geometry randomPointsInGridWithGutter(Geometry g, int nPts,
+ @Metadata(title="Gutter fraction")
+ double gutterFraction) {
+ RandomPointsInGridBuilder shapeBuilder = new RandomPointsInGridBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ shapeBuilder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ shapeBuilder.setNumPoints(nPts);
+ shapeBuilder.setGutterFraction(gutterFraction);
+ return shapeBuilder.getGeometry();
+ }
+
+ public static Geometry randomPoints(Geometry g, int nPts) {
+ RandomPointsBuilder shapeBuilder = new RandomPointsBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ shapeBuilder.setExtent(FunctionsUtil.getEnvelopeOrDefault(g));
+ shapeBuilder.setNumPoints(nPts);
+ return shapeBuilder.getGeometry();
+ }
+
+ public static Geometry randomPointsInPolygon(Geometry g, int nPts) {
+ RandomPointsBuilder shapeBuilder = new RandomPointsBuilder(FunctionsUtil.getFactoryOrDefault(g));
+ shapeBuilder.setExtent(g);
+ shapeBuilder.setNumPoints(nPts);
+ return shapeBuilder.getGeometry();
+ }
+
+ public static Geometry randomPointsInTriangle(Geometry g, int nPts) {
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ Coordinate[] gpts = g.getCoordinates();
+ Coordinate tri0 = gpts[0];
+ Coordinate tri1 = gpts[1];
+ Coordinate tri2 = gpts[2];
+
+ List pts = new ArrayList();
+
+ for (int i = 0; i < nPts; i++) {
+ pts.add(geomFact.createPoint(randomPointInTriangle(tri0, tri1, tri2)));
+ }
+ return geomFact.buildGeometry(pts);
+ }
+
+ private static Coordinate randomPointInTriangle(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ double s = Math.random();
+ double t = Math.random();
+ if (s + t > 1) {
+ s = 1.0 - s;
+ t = 1.0 - t;
+ }
+ double a = 1 - (s + t);
+ double b = s;
+ double c = t;
+
+ double rpx = a * p0.x + b * p1.x + c * p2.x;
+ double rpy = a * p0.y + b * p1.y + c * p2.y;
+
+ return new Coordinate(rpx, rpy);
+ }
+
+ public static Geometry randomRadialPoints(Geometry g, int nPts) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ double xLen = env.getWidth();
+ double yLen = env.getHeight();
+ double rMax = Math.min(xLen, yLen) / 2.0;
+
+ double centreX = env.getMinX() + xLen/2;
+ double centreY = env.getMinY() + yLen/2;
+
+ List pts = new ArrayList();
+
+ for (int i = 0; i < nPts; i++) {
+ double rand = Math.random();
+ // use rand^2 to accentuate radial distribution
+ double r = rMax * rand * rand;
+ // produces even distribution
+ //double r = rMax * Math.sqrt(rand);
+ double ang = 2 * Math.PI * Math.random();
+ double x = centreX + r * Math.cos(ang);
+ double y = centreY + r * Math.sin(ang);
+ pts.add(geomFact.createPoint(new Coordinate(x, y)));
+ }
+ return geomFact.buildGeometry(pts);
+ }
+
+ public static Geometry haltonPoints(Geometry g, int nPts)
+ {
+ return haltonPointsWithBases(g, nPts, 2, 3);
+ }
+
+ public static Geometry haltonPoints57(Geometry g, int nPts)
+ {
+ return haltonPointsWithBases(g, nPts, 5, 7);
+ }
+
+ public static Geometry haltonPointsWithBases(Geometry g, int nPts,
+ @Metadata(title="Base 1")
+ int basei,
+ @Metadata(title="Base 2")
+ int basej)
+ {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ Coordinate[] pts = new Coordinate[nPts];
+ double baseX = env.getMinX();
+ double baseY = env.getMinY();
+
+ int i = 0;
+ while (i < nPts) {
+ double x = baseX + env.getWidth() * haltonOrdinate(i + 1, basei);
+ double y = baseY + env.getHeight() * haltonOrdinate(i + 1, basej);
+ Coordinate p = new Coordinate(x, y);
+ if (! env.contains(p))
+ continue;
+ pts[i++] = p;
+ }
+ return FunctionsUtil.getFactoryOrDefault(g).createMultiPoint(pts);
+ }
+
+ private static double haltonOrdinate(int index, int base)
+ {
+ double result = 0;
+ double f = 1.0 / base;
+ int i = index;
+ while (i > 0) {
+ result = result + f * (i % base);
+ i = (int) Math.floor(i / (double) base);
+ f = f / base;
+ }
+ return result;
+ }
+
+ public static Geometry randomSegments(Geometry g, int nPts) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ double xLen = env.getWidth();
+ double yLen = env.getHeight();
+
+ List lines = new ArrayList();
+
+ for (int i = 0; i < nPts; i++) {
+ double x0 = env.getMinX() + xLen * Math.random();
+ double y0 = env.getMinY() + yLen * Math.random();
+ double x1 = env.getMinX() + xLen * Math.random();
+ double y1 = env.getMinY() + yLen * Math.random();
+ lines.add(geomFact.createLineString(new Coordinate[] {
+ new Coordinate(x0, y0), new Coordinate(x1, y1) }));
+ }
+ return geomFact.buildGeometry(lines);
+ }
+
+ public static Geometry randomSegmentsInGrid(Geometry g, int nPts) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+
+ int nCell = (int) Math.sqrt(nPts) + 1;
+
+ double xLen = env.getWidth() / nCell;
+ double yLen = env.getHeight() / nCell;
+
+ List lines = new ArrayList();
+
+ for (int i = 0; i < nCell; i++) {
+ for (int j = 0; j < nCell; j++) {
+ double x0 = env.getMinX() + i * xLen + xLen * Math.random();
+ double y0 = env.getMinY() + j * yLen + yLen * Math.random();
+ double x1 = env.getMinX() + i * xLen + xLen * Math.random();
+ double y1 = env.getMinY() + j * yLen + yLen * Math.random();
+ lines.add(geomFact.createLineString(new Coordinate[] {
+ new Coordinate(x0, y0), new Coordinate(x1, y1) }));
+ }
+ }
+ return geomFact.buildGeometry(lines);
+ }
+
+ public static Geometry randomLineString(Geometry g, int nPts) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ double width = env.getWidth();
+ double hgt = env.getHeight();
+
+ Coordinate[] pts = new Coordinate[nPts];
+
+ for (int i = 0; i < nPts; i++) {
+ double xLen = width * Math.random();
+ double yLen = hgt * Math.random();
+ pts[i] = randomPtInRectangleAround(env.centre(), xLen, yLen);
+ }
+ return geomFact.createLineString(pts);
+ }
+
+ public static Geometry randomRectilinearWalk(Geometry g, int nPts) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ double xLen = env.getWidth();
+ double yLen = env.getHeight();
+
+ Coordinate[] pts = new Coordinate[nPts];
+
+ boolean xory = true;
+ for (int i = 0; i < nPts; i++) {
+ Coordinate pt = null;
+ if (i == 0) {
+ pt = randomPtInRectangleAround(env.centre(), xLen, yLen);
+ }
+ else {
+ double dist = xLen * (Math.random() - 0.5);
+ double x = pts[i-1].x;
+ double y = pts[i-1].y;
+ if (xory) {
+ x += dist;
+ }
+ else {
+ y += dist;
+ }
+ // switch orientation
+ xory = ! xory;
+ pt = new Coordinate(x, y);
+ }
+ pts[i] = pt;
+ }
+ return geomFact.createLineString(pts);
+ }
+
+ private static int randomQuadrant(int exclude)
+ {
+ while (true) {
+ int quad = (int) (Math.random() * 4);
+ if (quad > 3) quad = 3;
+ if (quad != exclude) return quad;
+ }
+ }
+
+ private static Coordinate randomPtInRectangleAround(Coordinate centre, double width, double height)
+ {
+ double x0 = centre.x + width * (Math.random() - 0.5);
+ double y0 = centre.y + height * (Math.random() - 0.5);
+ return new Coordinate(x0, y0);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/CreateShapeFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateShapeFunctions.java
new file mode 100644
index 0000000..151f471
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/CreateShapeFunctions.java
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.awt.Font;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.awt.*;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+import org.locationtech.jts.util.GeometricShapeFactory;
+import org.locationtech.jtstest.geomfunction.Metadata;
+
+public class CreateShapeFunctions {
+
+
+ private static final int DEFAULT_POINTSIZE = 100;
+
+ public static Geometry fontGlyphSerif(Geometry g, String text)
+ {
+ return fontGlyph(g, text, new Font(FontGlyphReader.FONT_SERIF, Font.PLAIN, DEFAULT_POINTSIZE));
+ }
+
+ public static Geometry fontGlyphSerifPointSize(Geometry g, String text,
+ @Metadata(title="Point size")
+ int pointSize)
+ {
+ return fontGlyph(g, text, new Font(FontGlyphReader.FONT_SERIF, Font.PLAIN, pointSize));
+ }
+
+ public static Geometry fontGlyph(Geometry g, String text,
+ @Metadata(title="Font name")
+ String fontName)
+ {
+ return fontGlyph(g, text, new Font(fontName, Font.PLAIN, DEFAULT_POINTSIZE));
+ }
+
+ public static Geometry fontGlyphSansSerif(Geometry g, String text)
+ {
+ return fontGlyph(g, text, new Font(FontGlyphReader.FONT_SANSSERIF, Font.PLAIN, DEFAULT_POINTSIZE));
+ }
+
+ public static Geometry fontGlyphMonospaced(Geometry g, String text)
+ {
+ return fontGlyph(g, text, new Font(FontGlyphReader.FONT_MONOSPACED, Font.PLAIN, DEFAULT_POINTSIZE));
+ }
+
+ private static Geometry fontGlyph(Geometry g, String text, Font font) {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+
+ Geometry textGeom = FontGlyphReader.read(text, font, geomFact);
+ Envelope envText = textGeom.getEnvelopeInternal();
+
+ if (g != null) {
+ // transform to baseline
+ Coordinate baseText0 = new Coordinate(envText.getMinX(), envText.getMinY());
+ Coordinate baseText1 = new Coordinate(envText.getMaxX(), envText.getMinY());
+ Coordinate baseGeom0 = new Coordinate(env.getMinX(), env.getMinY());
+ Coordinate baseGeom1 = new Coordinate(env.getMaxX(), env.getMinY());
+ AffineTransformation trans = AffineTransformationFactory.createFromBaseLines(baseText0, baseText1, baseGeom0, baseGeom1);
+ return trans.transform(textGeom);
+ }
+ return textGeom;
+ }
+
+ public static Geometry grid(Geometry g, int nCells)
+ {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+
+ int nCellsOnSideY = (int) Math.sqrt(nCells);
+ int nCellsOnSideX = nCells / nCellsOnSideY;
+
+ // alternate: make square cells, with varying grid width/height
+ //double extent = env.minExtent();
+ //double nCellsOnSide = Math.max(nCellsOnSideY, nCellsOnSideX);
+
+ double cellSizeX = env.getWidth() / nCellsOnSideX;
+ double cellSizeY = env.getHeight() / nCellsOnSideY;
+
+ List geoms = new ArrayList();
+
+ for (int i = 0; i < nCellsOnSideX; i++) {
+ for (int j = 0; j < nCellsOnSideY; j++) {
+ double x = env.getMinX() + i * cellSizeX;
+ double y = env.getMinY() + j * cellSizeY;
+ double x2 = env.getMinX() + (i + 1) * cellSizeX;
+ double y2 = env.getMinY() + (j + 1) * cellSizeY;
+
+ Envelope cellEnv = new Envelope(x, x2, y, y2);
+ geoms.add(geomFact.toGeometry(cellEnv));
+ }
+ }
+ return geomFact.buildGeometry(geoms);
+ }
+
+ public static Geometry supercircle3(Geometry g, int nPts)
+ {
+ return supercircle(g, nPts, 3);
+ }
+
+ public static Geometry squircle(Geometry g, int nPts)
+ {
+ return supercircle(g, nPts, 4);
+ }
+
+ public static Geometry supercircle5(Geometry g, int nPts)
+ {
+ return supercircle(g, nPts, 5);
+ }
+
+ public static Geometry supercirclePoint5(Geometry g, int nPts)
+ {
+ return supercircle(g, nPts, 0.5);
+ }
+
+
+ public static Geometry supercircle(Geometry g,
+ @Metadata(title="Point count")
+ int nPts,
+ @Metadata(title="Power")
+ double pow)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setNumPoints(nPts);
+ if (g != null)
+ gsf.setEnvelope(g.getEnvelopeInternal());
+ else
+ gsf.setEnvelope(new Envelope(0, 1, 0, 1));
+ return gsf.createSupercircle(pow);
+ }
+
+ public static Geometry ellipse(Geometry g, int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setNumPoints(nPts);
+ if (g != null)
+ gsf.setEnvelope(g.getEnvelopeInternal());
+ else
+ gsf.setEnvelope(new Envelope(0, 1, 0, 1));
+ return gsf.createCircle();
+ }
+ public static Geometry ellipseRotate(Geometry g, int nPts,
+ @Metadata(title="Angle")
+ double ang)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setNumPoints(nPts);
+ gsf.setRotation(ang);
+ if (g != null)
+ gsf.setEnvelope(g.getEnvelopeInternal());
+ else
+ gsf.setEnvelope(new Envelope(0, 1, 0, 1));
+ return gsf.createCircle();
+ }
+
+ public static Geometry sineStar(Geometry g,
+ @Metadata(title="Arm count")
+ int nArms,
+ @Metadata(title="Point count")
+ int nPts)
+ {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+
+ double size = Math.min(env.getHeight(), env.getWidth());
+ SineStarFactory shape = new SineStarFactory(geomFact);
+ shape.setCentre(env.centre());
+ shape.setSize(size);
+ shape.setNumPoints(nPts);
+ shape.setNumArms(nArms);
+ shape.setArmLengthRatio(0.5);
+ return shape.createSineStar();
+ }
+
+ public static Geometry comb(Geometry g, int nArms)
+ {
+ Envelope env = FunctionsUtil.getEnvelopeOrDefault(g);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+
+ int npts = 4 * (nArms - 1) + 2 + 2 + 1;
+ Coordinate[] pts = new Coordinate[npts];
+ double armWidth = env.getWidth() / (2 * nArms - 1);
+ double armLen = env.getHeight() - armWidth;
+
+ double xBase = env.getMinX();
+ double yBase = env.getMinY();
+
+ int ipts = 0;
+ for (int i = 0; i < nArms; i++) {
+ double x1 = xBase + i * 2 * armWidth;
+ double y1 = yBase + armLen + armWidth;
+ pts[ipts++] = new Coordinate(x1, y1);
+ pts[ipts++] = new Coordinate(x1 + armWidth, y1);
+ if (i < nArms - 1) {
+ pts[ipts++] = new Coordinate(x1 + armWidth, yBase + armWidth);
+ pts[ipts++] = new Coordinate(x1 + 2 * armWidth, yBase + armWidth);
+ }
+ }
+ pts[ipts++] = new Coordinate(env.getMaxX(), yBase);
+ pts[ipts++] = new Coordinate(xBase, yBase);
+ pts[ipts++] = new Coordinate(pts[0]);
+
+ return geomFact.createPolygon(pts);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/DissolveFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/DissolveFunctions.java
new file mode 100644
index 0000000..9f2e00f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/DissolveFunctions.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+
+import org.locationtech.jts.dissolve.LineDissolver;
+import org.locationtech.jts.geom.Geometry;
+
+public class DissolveFunctions {
+
+ public static Geometry dissolve(Geometry geom)
+ {
+ return LineDissolver.dissolve(geom);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/DistanceFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/DistanceFunctions.java
new file mode 100644
index 0000000..d5a4a18
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/DistanceFunctions.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.distance.*;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.operation.distance.*;
+
+public class DistanceFunctions {
+ public static double distance(Geometry a, Geometry b) {
+ return a.distance(b);
+ }
+
+ public static boolean isWithinDistance(Geometry a, Geometry b, double dist) {
+ return a.isWithinDistance(b, dist);
+ }
+
+ public static Geometry nearestPoints(Geometry a, Geometry b) {
+ Coordinate[] pts = DistanceOp.nearestPoints(a, b);
+ return a.getFactory().createLineString(pts);
+ }
+
+ public static Geometry discreteHausdorffDistanceLine(Geometry a, Geometry b)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(a, b);
+ dist.distance();
+ return a.getFactory().createLineString(dist.getCoordinates());
+ }
+
+ public static Geometry densifiedDiscreteHausdorffDistanceLine(Geometry a, Geometry b, double frac)
+ {
+ DiscreteHausdorffDistance hausDist = new DiscreteHausdorffDistance(a, b);
+ hausDist.setDensifyFraction(frac);
+ hausDist.distance();
+ return a.getFactory().createLineString(hausDist.getCoordinates());
+ }
+
+ public static Geometry discreteOrientedHausdorffDistanceLine(Geometry a, Geometry b)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(a, b);
+ dist.orientedDistance();
+ return a.getFactory().createLineString(dist.getCoordinates());
+ }
+
+ public static double discreteHausdorffDistance(Geometry a, Geometry b)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(a, b);
+ return dist.distance();
+ }
+
+ public static double discreteOrientedHausdorffDistance(Geometry a, Geometry b)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(a, b);
+ return dist.orientedDistance();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/DoubleKeyMap.java b/modules/app/src/main/java/org/locationtech/jtstest/function/DoubleKeyMap.java
new file mode 100644
index 0000000..ec90c91
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/DoubleKeyMap.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.*;
+
+public class DoubleKeyMap
+{
+ private Map topMap = new TreeMap();
+
+ public void put(Object key1, Object key2, Object value)
+ {
+ Map keyMap = (Map) topMap.get(key1);
+ if (keyMap == null)
+ keyMap = createKeyMap(key1);
+ keyMap.put(key2, value);
+ }
+
+ private Map createKeyMap(Object key1)
+ {
+ Map map = new TreeMap();
+ topMap.put(key1, map);
+ return map;
+ }
+
+ public Object get(Object key1, Object key2)
+ {
+ Map keyMap = (Map) topMap.get(key1);
+ if (keyMap == null) return null;
+ return keyMap.get(key2);
+ }
+
+ public Set keySet()
+ {
+ return topMap.keySet();
+ }
+ public Set keySet(Object key)
+ {
+ Map keyMap = (Map) topMap.get(key);
+ if (keyMap == null) return new TreeSet();
+ return keyMap.keySet();
+ }
+
+ public Collection values(Object key1)
+ {
+ Map keyMap = (Map) topMap.get(key1);
+ if (keyMap == null) return new ArrayList();
+ return keyMap.values();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/FunctionsUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/function/FunctionsUtil.java
new file mode 100644
index 0000000..a4cf5df
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/FunctionsUtil.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.awt.Graphics2D;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.ui.render.GeometryPainter;
+
+
+public class FunctionsUtil {
+
+ public static final Envelope DEFAULT_ENVELOPE = new Envelope(0, 100, 0, 100);
+
+ public static Envelope getEnvelopeOrDefault(Geometry g)
+ {
+ if (g == null) return DEFAULT_ENVELOPE;
+ return g.getEnvelopeInternal();
+ }
+
+ public static GeometryFactory getFactoryOrDefault(Geometry g)
+ {
+ if (g == null) return JTSTestBuilder.getGeometryFactory();
+ return g.getFactory();
+ }
+
+ public static GeometryFactory getFactoryOrDefault(Geometry g1, Geometry g2)
+ {
+ if (g1 != null) return g1.getFactory();
+ if (g2 != null) return g2.getFactory();
+ return JTSTestBuilder.getGeometryFactory();
+ }
+
+ public static void showIndicator(Geometry geom)
+ {
+ GeometryEditPanel panel = JTSTestBuilderFrame
+ .instance().getTestCasePanel()
+ .getGeometryEditPanel();
+ Graphics2D gr = (Graphics2D) panel.getGraphics();
+ GeometryPainter.paint(geom, panel.getViewport(), gr,
+ AppConstants.INDICATOR_LINE_CLR,
+ AppConstants.INDICATOR_FILL_CLR);
+ }
+
+ public static Geometry buildGeometry(List geoms, Geometry parentGeom)
+ {
+ if (geoms.size() <= 0)
+ return null;
+ if (geoms.size() == 1)
+ return (Geometry) geoms.get(0);
+ // if parent was a GC, ensure returning a GC
+ if (parentGeom != null && parentGeom.getGeometryType().equals("GeometryCollection"))
+ return parentGeom.getFactory().createGeometryCollection(GeometryFactory.toGeometryArray(geoms));
+ // otherwise return MultiGeom
+ return getFactoryOrDefault(parentGeom).buildGeometry(geoms);
+ }
+
+ public static Geometry buildGeometry(Geometry[] geoms)
+ {
+ GeometryFactory gf = JTSTestBuilder.getGeometryFactory();
+ if (geoms.length > 0) {
+ gf = getFactoryOrDefault(geoms[0]);
+ }
+ return gf.createGeometryCollection(geoms);
+ }
+
+ public static Geometry buildGeometry(Geometry a, Geometry b) {
+ Geometry[] geoms = toGeometryArray(a, b);
+ return getFactoryOrDefault(a, b).createGeometryCollection(geoms); }
+
+ public static Geometry[] toGeometryArray(Geometry a, Geometry b) {
+ int size = 0;
+ if (a != null) size++;
+ if (b != null) size++;
+ Geometry[] geoms = new Geometry[size];
+ size = 0;
+ if (a != null) geoms[size++] = a;
+ if (b != null) geoms[size] = b;
+ return geoms;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/GeometryFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/GeometryFunctions.java
new file mode 100644
index 0000000..e63ff80
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/GeometryFunctions.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.CGAlgorithms;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.operation.overlay.snap.*;
+
+
+/**
+ * Implementations for various geometry functions.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryFunctions
+{
+ public static String lengthDescription = "Computes the length of perimeter of a Geometry";
+ public static double length(Geometry g) { return g.getLength(); }
+ public static double area(Geometry g) { return g.getArea(); }
+
+ public static boolean isSimple(Geometry g) { return g.isSimple(); }
+ public static boolean isValid(Geometry g) { return g.isValid(); }
+ public static boolean isRectangle(Geometry g) { return g.isRectangle(); }
+ public static boolean isClosed(Geometry g) {
+ if (g instanceof LineString) return ((LineString) g).isClosed();
+ if (g instanceof MultiLineString) return ((MultiLineString) g).isClosed();
+ // other geometry types are defined to be closed
+ return true;
+ }
+
+ public static Geometry envelope(Geometry g) { return g.getEnvelope(); }
+ public static Geometry reverse(Geometry g) { return g.reverse(); }
+ public static Geometry normalize(Geometry g)
+ {
+ Geometry gNorm = (Geometry) g.clone();
+ gNorm.normalize();
+ return gNorm;
+ }
+
+ public static Geometry getGeometryN(Geometry g, int i)
+ {
+ return g.getGeometryN(i);
+ }
+
+ public static Geometry getPolygonShell(Geometry g)
+ {
+ if (g instanceof Polygon) {
+ LinearRing shell = (LinearRing) ((Polygon) g).getExteriorRing();
+ return g.getFactory().createPolygon(shell, null);
+ }
+ if (g instanceof MultiPolygon) {
+ Polygon[] poly = new Polygon[g.getNumGeometries()];
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ LinearRing shell = (LinearRing) ((Polygon) g.getGeometryN(i)).getExteriorRing();
+ poly[i] = g.getFactory().createPolygon(shell, null);
+ }
+ return g.getFactory().createMultiPolygon(poly);
+ }
+ return null;
+ }
+
+ public static Geometry getPolygonHoles(Geometry geom)
+ {
+ final List holePolys = new ArrayList();
+ geom.apply(new GeometryFilter() {
+
+ public void filter(Geometry geom) {
+ if (geom instanceof Polygon) {
+ Polygon poly = (Polygon) geom;
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ Polygon hole = geom.getFactory().createPolygon((LinearRing) poly.getInteriorRingN(i), null);
+ holePolys.add(hole);
+ }
+ }
+ }
+ });
+ return geom.getFactory().buildGeometry(holePolys);
+ }
+
+ public static Geometry getPolygonHoleN(Geometry g, int i)
+ {
+ if (g instanceof Polygon) {
+ LinearRing ring = (LinearRing) ((Polygon) g).getInteriorRingN(i);
+ return ring;
+ }
+ return null;
+ }
+
+ public static Geometry convertToPolygon(Geometry g)
+ {
+ if (g instanceof Polygonal) return g;
+ // TODO: ensure ring is valid
+ LinearRing ring = g.getFactory().createLinearRing(g.getCoordinates());
+ return g.getFactory().createPolygon(ring, null);
+ }
+
+ public static Geometry getCoordinates(Geometry g)
+ {
+ Coordinate[] pts = g.getCoordinates();
+ return g.getFactory().createMultiPoint(pts);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/JTSFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/JTSFunctions.java
new file mode 100644
index 0000000..a33ef8b
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/JTSFunctions.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.*;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.util.*;
+
+public class JTSFunctions
+{
+ public static String jtsVersion(Geometry g)
+ {
+ return JTSVersion.CURRENT_VERSION.toString();
+ }
+
+ private static final double HEIGHT = 70;
+ private static final double WIDTH = 150; //125;
+ private static final double J_WIDTH = 30;
+ private static final double J_RADIUS = J_WIDTH - 5;
+
+ private static final double S_RADIUS = HEIGHT / 4;
+
+ private static final double T_WIDTH = WIDTH - 2 * S_RADIUS - J_WIDTH;
+
+
+ public static Geometry logoLines(Geometry g)
+ {
+ return create_J(g)
+ .union(create_T(g))
+ .union(create_S(g));
+ }
+
+ public static Geometry logoBuffer(Geometry g, double distance)
+ {
+ Geometry lines = logoLines(g);
+ BufferParameters bufParams = new BufferParameters();
+ bufParams.setEndCapStyle(BufferParameters.CAP_SQUARE);
+ return BufferOp.bufferOp(lines, distance, bufParams);
+ }
+
+ private static Geometry create_J(Geometry g)
+ {
+ GeometryFactory gf = FunctionsUtil.getFactoryOrDefault(g);
+
+ Coordinate[] jTop = new Coordinate[] {
+ new Coordinate(0,HEIGHT),
+ new Coordinate(J_WIDTH,HEIGHT),
+ new Coordinate(J_WIDTH,J_RADIUS)
+ };
+ Coordinate[] jBottom = new Coordinate[] {
+ new Coordinate(J_WIDTH - J_RADIUS,0),
+ new Coordinate(0,0)
+ };
+
+ GeometricShapeFactory gsf = new GeometricShapeFactory(gf);
+ gsf.setBase(new Coordinate(J_WIDTH - 2 * J_RADIUS, 0));
+ gsf.setSize(2 * J_RADIUS);
+ gsf.setNumPoints(10);
+ LineString jArc = gsf.createArc(1.5 * Math.PI, 0.5 * Math.PI);
+
+ CoordinateList coordList = new CoordinateList();
+ coordList.add(jTop, false);
+ coordList.add(jArc.reverse().getCoordinates(), false, 1, jArc.getNumPoints() - 1);
+ coordList.add(jBottom, false);
+
+ return gf.createLineString(coordList.toCoordinateArray());
+ }
+
+ private static Geometry create_T(Geometry g)
+ {
+ GeometryFactory gf = FunctionsUtil.getFactoryOrDefault(g);
+
+ Coordinate[] tTop = new Coordinate[] {
+ new Coordinate(J_WIDTH,HEIGHT),
+ new Coordinate(WIDTH - S_RADIUS - 5, HEIGHT)
+ };
+ Coordinate[] tBottom = new Coordinate[] {
+ new Coordinate(J_WIDTH + 0.5 * T_WIDTH,HEIGHT),
+ new Coordinate(J_WIDTH + 0.5 * T_WIDTH,0)
+ };
+ LineString[] lines = new LineString[] {
+ gf.createLineString(tTop),
+ gf.createLineString(tBottom)
+ };
+ return gf.createMultiLineString(lines);
+ }
+
+ private static Geometry create_S(Geometry g)
+ {
+ GeometryFactory gf = FunctionsUtil.getFactoryOrDefault(g);
+
+ double centreX = WIDTH - S_RADIUS;
+
+ Coordinate[] top = new Coordinate[] {
+ new Coordinate(WIDTH, HEIGHT),
+ new Coordinate(centreX, HEIGHT)
+ };
+ Coordinate[] bottom = new Coordinate[] {
+ new Coordinate(centreX, 0),
+ new Coordinate(WIDTH - 2 * S_RADIUS, 0)
+ };
+
+ GeometricShapeFactory gsf = new GeometricShapeFactory(gf);
+ gsf.setCentre(new Coordinate(centreX, HEIGHT - S_RADIUS));
+ gsf.setSize(2 * S_RADIUS);
+ gsf.setNumPoints(10);
+ LineString arcTop = gsf.createArc(0.5 * Math.PI, Math.PI);
+
+ GeometricShapeFactory gsf2 = new GeometricShapeFactory(gf);
+ gsf2.setCentre(new Coordinate(centreX, S_RADIUS));
+ gsf2.setSize(2 * S_RADIUS);
+ gsf2.setNumPoints(10);
+ LineString arcBottom = (LineString) gsf2.createArc(1.5 * Math.PI, Math.PI).reverse();
+
+ CoordinateList coordList = new CoordinateList();
+ coordList.add(top, false);
+ coordList.add(arcTop.getCoordinates(), false, 1, arcTop.getNumPoints() - 1);
+ coordList.add(new Coordinate(centreX, HEIGHT/2));
+ coordList.add(arcBottom.getCoordinates(), false, 1, arcBottom.getNumPoints() - 1);
+ coordList.add(bottom, false);
+
+
+
+ return gf.createLineString(coordList.toCoordinateArray());
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/LineHandlingFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/LineHandlingFunctions.java
new file mode 100644
index 0000000..5ec4187
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/LineHandlingFunctions.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.*;
+
+import org.locationtech.jts.algorithm.*;
+import org.locationtech.jts.densify.*;
+import org.locationtech.jts.dissolve.LineDissolver;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+import org.locationtech.jts.operation.linemerge.*;
+import org.locationtech.jts.operation.polygonize.*;
+
+public class LineHandlingFunctions {
+
+ public static Geometry mergeLines(Geometry g)
+ {
+ LineMerger merger = new LineMerger();
+ merger.add(g);
+ Collection lines = merger.getMergedLineStrings();
+ return g.getFactory().buildGeometry(lines);
+ }
+
+ public static Geometry sequenceLines(Geometry g)
+ {
+ return LineSequencer.sequence(g);
+ }
+
+ public static Geometry extractLines(Geometry g)
+ {
+ List lines = LinearComponentExtracter.getLines(g);
+ return g.getFactory().buildGeometry(lines);
+ }
+ public static Geometry extractSegments(Geometry g)
+ {
+ List lines = LinearComponentExtracter.getLines(g);
+ List segments = new ArrayList();
+ for (Iterator it = lines.iterator(); it.hasNext(); ) {
+ LineString line = (LineString) it.next();
+ for (int i = 1; i < line.getNumPoints(); i++) {
+ LineString seg = g.getFactory().createLineString(
+ new Coordinate[] { line.getCoordinateN(i-1), line.getCoordinateN(i) }
+ );
+ segments.add(seg);
+ }
+ }
+ return g.getFactory().buildGeometry(segments);
+ }
+ public static Geometry extractChains(Geometry g, int maxChainSize)
+ {
+ List lines = LinearComponentExtracter.getLines(g);
+ List chains = new ArrayList();
+ for (Iterator it = lines.iterator(); it.hasNext(); ) {
+ LineString line = (LineString) it.next();
+ for (int i = 0; i < line.getNumPoints() - 1; i += maxChainSize) {
+ LineString chain = extractChain(line, i, maxChainSize);
+ chains.add(chain);
+ }
+ }
+ return g.getFactory().buildGeometry(chains);
+ }
+
+ private static LineString extractChain(LineString line, int index, int maxChainSize)
+ {
+ int size = maxChainSize + 1;
+ if (index + size > line.getNumPoints())
+ size = line.getNumPoints() - index;
+ Coordinate[] pts = new Coordinate[size];
+ for (int i = 0; i < size; i++) {
+ pts[i] = line.getCoordinateN(index + i);
+ }
+ return line.getFactory().createLineString(pts);
+ }
+
+ public static Geometry dissolve(Geometry geom)
+ {
+ return LineDissolver.dissolve(geom);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/LineSegmentFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/LineSegmentFunctions.java
new file mode 100644
index 0000000..59e390e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/LineSegmentFunctions.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.CGAlgorithmsDD;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+public class LineSegmentFunctions
+{
+ public static boolean segmentIntersects(Geometry g1, Geometry g2)
+ {
+ Coordinate[] pt1 = g1.getCoordinates();
+ Coordinate[] pt2 = g2.getCoordinates();
+ RobustLineIntersector ri = new RobustLineIntersector();
+ ri.computeIntersection(pt1[0], pt1[1], pt2[0], pt2[1]);
+ return ri.hasIntersection();
+ }
+
+ public static Geometry segmentIntersection(Geometry g1, Geometry g2)
+ {
+ Coordinate[] pt1 = g1.getCoordinates();
+ Coordinate[] pt2 = g2.getCoordinates();
+ RobustLineIntersector ri = new RobustLineIntersector();
+ ri.computeIntersection(pt1[0], pt1[1], pt2[0], pt2[1]);
+ switch (ri.getIntersectionNum()) {
+ case 0:
+ // no intersection => return empty point
+ return g1.getFactory().createPoint((Coordinate) null);
+ case 1:
+ // return point
+ return g1.getFactory().createPoint(ri.getIntersection(0));
+ case 2:
+ // return line
+ return g1.getFactory().createLineString(
+ new Coordinate[] {
+ ri.getIntersection(0),
+ ri.getIntersection(1)
+ });
+ }
+ return null;
+ }
+
+ public static Geometry segmentIntersectionDD(Geometry g1, Geometry g2)
+ {
+ Coordinate[] pt1 = g1.getCoordinates();
+ Coordinate[] pt2 = g2.getCoordinates();
+
+ // first check if there actually is an intersection
+ RobustLineIntersector ri = new RobustLineIntersector();
+ ri.computeIntersection(pt1[0], pt1[1], pt2[0], pt2[1]);
+ if (! ri.hasIntersection()) {
+ // no intersection => return empty point
+ return g1.getFactory().createPoint((Coordinate) null);
+ }
+
+ Coordinate intPt = CGAlgorithmsDD.intersection(pt1[0], pt1[1], pt2[0], pt2[1]);
+ return g1.getFactory().createPoint(intPt);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/LinearReferencingFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/LinearReferencingFunctions.java
new file mode 100644
index 0000000..07cbd1a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/LinearReferencingFunctions.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.linearref.LengthIndexedLine;
+import org.locationtech.jtstest.geomfunction.Metadata;
+
+public class LinearReferencingFunctions
+{
+ public static Geometry extractPoint(Geometry g, double index)
+ {
+ LengthIndexedLine ll = new LengthIndexedLine(g);
+ Coordinate p = ll.extractPoint(index);
+ return g.getFactory().createPoint(p);
+ }
+ public static Geometry extractLine(Geometry g,
+ @Metadata(title="Start length")
+ double start,
+ @Metadata(title="End length")
+ double end)
+ {
+ LengthIndexedLine ll = new LengthIndexedLine(g);
+ return ll.extractLine(start, end);
+ }
+ public static Geometry project(Geometry g, Geometry g2)
+ {
+ LengthIndexedLine ll = new LengthIndexedLine(g);
+ double index = ll.project(g2.getCoordinate());
+ Coordinate p = ll.extractPoint(index);
+ return g.getFactory().createPoint(p);
+ }
+ public static double projectIndex(Geometry g, Geometry g2)
+ {
+ LengthIndexedLine ll = new LengthIndexedLine(g);
+ return ll.project(g2.getCoordinate());
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/NodingFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/NodingFunctions.java
new file mode 100644
index 0000000..aea8a76
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/NodingFunctions.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.noding.BasicSegmentString;
+import org.locationtech.jts.noding.FastNodingValidator;
+import org.locationtech.jts.noding.InteriorIntersectionFinder;
+import org.locationtech.jts.noding.IntersectionAdder;
+import org.locationtech.jts.noding.MCIndexNoder;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.ScaledNoder;
+import org.locationtech.jts.noding.SegmentStringUtil;
+import org.locationtech.jts.noding.snapround.GeometryNoder;
+import org.locationtech.jts.noding.snapround.MCIndexSnapRounder;
+import org.locationtech.jts.precision.GeometryPrecisionReducer;
+
+
+public class NodingFunctions
+{
+
+ /**
+ * Reduces precision pointwise, then snap-rounds.
+ * Note that output set may not contain non-unique linework
+ * (and thus cannot be used as input to Polygonizer directly).
+ * UnaryUnion is one way to make the linework unique.
+ *
+ *
+ * @param geom a geometry containing linework to node
+ * @param scaleFactor the precision model scale factor to use
+ * @return the noded, snap-rounded linework
+ */
+ public static Geometry snapRoundWithPointwisePrecisionReduction(
+ Geometry geom, double scaleFactor) {
+ PrecisionModel pm = new PrecisionModel(scaleFactor);
+
+ Geometry roundedGeom = GeometryPrecisionReducer.reducePointwise(geom, pm);
+
+ List geomList = new ArrayList();
+ geomList.add(roundedGeom);
+
+ GeometryNoder noder = new GeometryNoder(pm);
+ List lines = noder.node(geomList);
+
+ return FunctionsUtil.getFactoryOrDefault(geom).buildGeometry(lines);
+ }
+
+ public static boolean isNodingValid(Geometry geom) {
+ FastNodingValidator nv = new FastNodingValidator(
+ SegmentStringUtil.extractNodedSegmentStrings(geom));
+ return nv.isValid();
+ }
+
+ public static Geometry findSingleNodePoint(Geometry geom) {
+ FastNodingValidator nv = new FastNodingValidator(
+ SegmentStringUtil.extractNodedSegmentStrings(geom));
+ nv.isValid();
+ List intPts = nv.getIntersections();
+ if (intPts.size() == 0) return null;
+ return FunctionsUtil.getFactoryOrDefault(geom).createPoint((Coordinate) intPts.get(0));
+ }
+
+ public static Geometry findNodePoints(Geometry geom)
+ {
+ List intPts = FastNodingValidator.computeIntersections(
+ SegmentStringUtil.extractNodedSegmentStrings(geom) );
+ return FunctionsUtil.getFactoryOrDefault(null)
+ .createMultiPoint(CoordinateArrays.toCoordinateArray(intPts));
+ }
+
+ public static int interiorIntersectionCount(Geometry geom)
+ {
+ InteriorIntersectionFinder intCounter = InteriorIntersectionFinder
+ .createIntersectionCounter( new RobustLineIntersector() );
+ Noder noder = new MCIndexNoder( intCounter );
+ noder.computeNodes( SegmentStringUtil.extractNodedSegmentStrings(geom) );
+ return intCounter.count();
+ }
+
+ public static Geometry MCIndexNodingWithPrecision(Geometry geom, double scaleFactor)
+ {
+ PrecisionModel fixedPM = new PrecisionModel(scaleFactor);
+
+ LineIntersector li = new RobustLineIntersector();
+ li.setPrecisionModel(fixedPM);
+
+ Noder noder = new MCIndexNoder(new IntersectionAdder(li));
+ noder.computeNodes( SegmentStringUtil.extractNodedSegmentStrings(geom) );
+ return SegmentStringUtil.toGeometry( noder.getNodedSubstrings(), FunctionsUtil.getFactoryOrDefault(geom) );
+ }
+
+ public static Geometry MCIndexNoding(Geometry geom)
+ {
+ Noder noder = new MCIndexNoder(new IntersectionAdder(new RobustLineIntersector()));
+ noder.computeNodes( SegmentStringUtil.extractNodedSegmentStrings(geom) );
+ return SegmentStringUtil.toGeometry(noder.getNodedSubstrings(), FunctionsUtil.getFactoryOrDefault(geom));
+ }
+
+ /**
+ * Runs a ScaledNoder on input.
+ * Input vertices should be rounded to precision model.
+ *
+ * @param geom
+ * @param scaleFactor
+ * @return the noded geometry
+ */
+ public static Geometry scaledNoding(Geometry geom, double scaleFactor)
+ {
+ List segs = createSegmentStrings(geom);
+ PrecisionModel fixedPM = new PrecisionModel(scaleFactor);
+ Noder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)),
+ fixedPM.getScale());
+ noder.computeNodes(segs);
+ Collection nodedSegStrings = noder.getNodedSubstrings();
+ return SegmentStringUtil.toGeometry(nodedSegStrings, FunctionsUtil.getFactoryOrDefault(geom));
+ }
+
+ private static List createSegmentStrings(Geometry geom)
+ {
+ List segs = new ArrayList();
+ List lines = LinearComponentExtracter.getLines(geom);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ segs.add(new BasicSegmentString(line.getCoordinates(), null));
+ }
+ return segs;
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OffsetCurveFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OffsetCurveFunctions.java
new file mode 100644
index 0000000..6e3fba8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OffsetCurveFunctions.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.operation.buffer.OffsetCurveBuilder;
+
+public class OffsetCurveFunctions {
+
+ public static Geometry offsetCurve(Geometry geom, double distance)
+ {
+ BufferParameters bufParams = new BufferParameters();
+ OffsetCurveBuilder ocb = new OffsetCurveBuilder(
+ geom.getFactory().getPrecisionModel(), bufParams
+ );
+ Coordinate[] pts = ocb.getOffsetCurve(geom.getCoordinates(), distance);
+ Geometry curve = geom.getFactory().createLineString(pts);
+ return curve;
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OrientationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OrientationFunctions.java
new file mode 100644
index 0000000..0068204
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OrientationFunctions.java
@@ -0,0 +1,41 @@
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+
+public class OrientationFunctions {
+
+ public static boolean isCCW(Geometry g)
+ {
+ Coordinate[] ptsRing = OrientationFunctions.getRing(g);
+ if (ptsRing == null) return false;
+ return Orientation.isCCW(ptsRing);
+ }
+
+ public static int orientationIndex(Geometry segment, Geometry ptGeom) {
+ if (segment.getNumPoints() != 2 || ptGeom.getNumPoints() != 1) {
+ throw new IllegalArgumentException("A must have two points and B must have one");
+ }
+ Coordinate[] segPt = segment.getCoordinates();
+
+ Coordinate p = ptGeom.getCoordinate();
+ int index = Orientation.index(segPt[0], segPt[1], p);
+ return index;
+ }
+
+ static Coordinate[] getRing(Geometry g) {
+ Coordinate[] pts = null;
+ if (g instanceof Polygon) {
+ pts = ((Polygon) g).getExteriorRing().getCoordinates();
+ }
+ else if (g instanceof LineString
+ && ((LineString) g).isClosed()) {
+ pts = g.getCoordinates();
+ }
+ return pts;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayCommonBitsRemovedFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayCommonBitsRemovedFunctions.java
new file mode 100644
index 0000000..53ee3e9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayCommonBitsRemovedFunctions.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.precision.CommonBitsOp;
+import org.locationtech.jts.precision.EnhancedPrecisionOp;
+
+public class OverlayCommonBitsRemovedFunctions {
+ public static Geometry intersection(Geometry a, Geometry b) { return op().intersection(a, b); }
+ public static Geometry union(Geometry a, Geometry b) { return op().union(a, b); }
+ public static Geometry symDifference(Geometry a, Geometry b) { return op().symDifference(a, b); }
+ public static Geometry difference(Geometry a, Geometry b) { return op().difference(a, b); }
+ public static Geometry differenceBA(Geometry a, Geometry b) { return op().difference(b, a); }
+
+ private static CommonBitsOp op() { return new CommonBitsOp(true); }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayEnhancedPrecisionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayEnhancedPrecisionFunctions.java
new file mode 100644
index 0000000..a617d69
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayEnhancedPrecisionFunctions.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.precision.EnhancedPrecisionOp;
+
+public class OverlayEnhancedPrecisionFunctions {
+ public static Geometry intersection(Geometry a, Geometry b) { return EnhancedPrecisionOp.intersection(a, b); }
+ public static Geometry union(Geometry a, Geometry b) { return EnhancedPrecisionOp.union(a, b); }
+ public static Geometry symDifference(Geometry a, Geometry b) { return EnhancedPrecisionOp.symDifference(a, b); }
+ public static Geometry difference(Geometry a, Geometry b) { return EnhancedPrecisionOp.difference(a, b); }
+ public static Geometry differenceBA(Geometry a, Geometry b) { return EnhancedPrecisionOp.difference(b, a); }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayFunctions.java
new file mode 100644
index 0000000..a5d7440
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayFunctions.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+
+
+public class OverlayFunctions {
+ public static Geometry intersection(Geometry a, Geometry b) { return a.intersection(b); }
+ public static Geometry union(Geometry a, Geometry b) { return a.union(b); }
+ public static Geometry symDifference(Geometry a, Geometry b) { return a.symDifference(b); }
+ public static Geometry difference(Geometry a, Geometry b) { return a.difference(b); }
+ public static Geometry differenceBA(Geometry a, Geometry b) { return b.difference(a); }
+ public static Geometry unaryUnion(Geometry a) { return a.union(); }
+
+ public static Geometry unionUsingGeometryCollection(Geometry a, Geometry b)
+ {
+ Geometry gc = a.getFactory().createGeometryCollection(
+ new Geometry[] { a, b});
+ return gc.union();
+ }
+
+ public static Geometry clip(Geometry a, Geometry mask)
+ {
+ List geoms = new ArrayList();
+ for (int i = 0; i < a.getNumGeometries(); i++) {
+ Geometry clip = a.getGeometryN(i).intersection(mask);
+ geoms.add(clip);
+ }
+ return FunctionsUtil.buildGeometry(geoms, a);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayNoSnapFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayNoSnapFunctions.java
new file mode 100644
index 0000000..ee4721d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/OverlayNoSnapFunctions.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+
+public class OverlayNoSnapFunctions {
+ public static Geometry intersection(Geometry a, Geometry b) { return OverlayOp.overlayOp(a, b, OverlayOp.INTERSECTION); }
+ public static Geometry union(Geometry a, Geometry b) { return OverlayOp.overlayOp(a, b, OverlayOp.UNION); }
+ public static Geometry symDifference(Geometry a, Geometry b) { return OverlayOp.overlayOp(a, b, OverlayOp.SYMDIFFERENCE); }
+ public static Geometry difference(Geometry a, Geometry b) { return OverlayOp.overlayOp(a, b, OverlayOp.DIFFERENCE); }
+ public static Geometry differenceBA(Geometry a, Geometry b) { return OverlayOp.overlayOp(b, a, OverlayOp.DIFFERENCE); }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/PointLocationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/PointLocationFunctions.java
new file mode 100644
index 0000000..f50df35
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/PointLocationFunctions.java
@@ -0,0 +1,21 @@
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+public class PointLocationFunctions {
+
+ public static boolean isPointInRing(Geometry g1, Geometry g2) {
+ Geometry ring = g1;
+ Geometry pt = g2;
+ if (g1.getNumPoints() == 1) {
+ ring = g2;
+ pt = g1;
+ }
+ Coordinate[] ptsRing = OrientationFunctions.getRing(ring);
+ if (ptsRing == null) return false;
+ return PointLocation.isInRing(pt.getCoordinate(), ptsRing);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonOverlayFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonOverlayFunctions.java
new file mode 100644
index 0000000..b9518d0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonOverlayFunctions.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.noding.snapround.GeometryNoder;
+import org.locationtech.jts.operation.polygonize.Polygonizer;
+
+
+public class PolygonOverlayFunctions
+{
+
+ public static Geometry overlaySnapRounded(Geometry g1, Geometry g2, double precisionTol)
+ {
+ PrecisionModel pm = new PrecisionModel(precisionTol);
+ GeometryFactory geomFact = g1.getFactory();
+
+ List lines = LinearComponentExtracter.getLines(g1);
+ // add second input's linework, if any
+ if (g2 != null)
+ LinearComponentExtracter.getLines(g2, lines);
+ List nodedLinework = new GeometryNoder(pm).node(lines);
+ // union the noded linework to remove duplicates
+ Geometry nodedDedupedLinework = geomFact.buildGeometry(nodedLinework).union();
+
+ // polygonize the result
+ Polygonizer polygonizer = new Polygonizer();
+ polygonizer.add(nodedDedupedLinework);
+ Collection polys = polygonizer.getPolygons();
+
+ // convert to collection for return
+ Polygon[] polyArray = GeometryFactory.toPolygonArray(polys);
+ return geomFact.createGeometryCollection(polyArray);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonizeFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonizeFunctions.java
new file mode 100644
index 0000000..bece38a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/PolygonizeFunctions.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.LineStringExtracter;
+import org.locationtech.jts.operation.polygonize.Polygonizer;
+
+
+public class PolygonizeFunctions {
+
+ private static Geometry polygonize(Geometry g, boolean extractOnlyPolygonal) {
+ List lines = LineStringExtracter.getLines(g);
+ Polygonizer polygonizer = new Polygonizer(extractOnlyPolygonal);
+ polygonizer.add(lines);
+ return polygonizer.getGeometry();
+ /*
+ Collection polys = polygonizer.getPolygons();
+ Polygon[] polyArray = GeometryFactory.toPolygonArray(polys);
+ return g.getFactory().createGeometryCollection(polyArray);
+ */
+ }
+ public static Geometry polygonize(Geometry g)
+ {
+ return polygonize(g, false);
+ }
+ public static Geometry polygonizePolygonal(Geometry g)
+ {
+ return polygonize(g, true);
+ }
+ public static Geometry polygonizeDangles(Geometry g)
+ {
+ List lines = LineStringExtracter.getLines(g);
+ Polygonizer polygonizer = new Polygonizer();
+ polygonizer.add(lines);
+ Collection geom = polygonizer.getDangles();
+ return g.getFactory().buildGeometry(geom);
+ }
+ public static Geometry polygonizeCutEdges(Geometry g)
+ {
+ List lines = LineStringExtracter.getLines(g);
+ Polygonizer polygonizer = new Polygonizer();
+ polygonizer.add(lines);
+ Collection geom = polygonizer.getCutEdges();
+ return g.getFactory().buildGeometry(geom);
+ }
+ public static Geometry polygonizeInvalidRingLines(Geometry g)
+ {
+ List lines = LineStringExtracter.getLines(g);
+ Polygonizer polygonizer = new Polygonizer();
+ polygonizer.add(lines);
+ Collection geom = polygonizer.getInvalidRingLines();
+ return g.getFactory().buildGeometry(geom);
+ }
+ public static Geometry polygonizeAllErrors(Geometry g)
+ {
+ List lines = LineStringExtracter.getLines(g);
+ Polygonizer polygonizer = new Polygonizer();
+ polygonizer.add(lines);
+ List errs = new ArrayList();
+ errs.addAll(polygonizer.getDangles());
+ errs.addAll(polygonizer.getCutEdges());
+ errs.addAll(polygonizer.getInvalidRingLines());
+ return g.getFactory().buildGeometry(errs);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/PrecisionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/PrecisionFunctions.java
new file mode 100644
index 0000000..7f7abae
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/PrecisionFunctions.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.precision.*;
+
+public class PrecisionFunctions
+{
+
+ public static Geometry reducePrecisionPointwise(Geometry geom, double scaleFactor)
+ {
+ PrecisionModel pm = new PrecisionModel(scaleFactor);
+ Geometry reducedGeom = GeometryPrecisionReducer.reducePointwise(geom, pm);
+ return reducedGeom;
+ }
+
+ public static Geometry reducePrecision(Geometry geom, double scaleFactor)
+ {
+ PrecisionModel pm = new PrecisionModel(scaleFactor);
+ Geometry reducedGeom = GeometryPrecisionReducer.reduce(geom, pm);
+ return reducedGeom;
+ }
+
+ public static Geometry minClearanceLine(Geometry g)
+ {
+ return MinimumClearance.getLine(g);
+ }
+
+ public static double minClearance(Geometry g)
+ {
+ return MinimumClearance.getDistance(g);
+ }
+
+ public static Geometry minClearanceSimpleLine(Geometry g)
+ {
+ return SimpleMinimumClearance.getLine(g);
+ }
+
+ public static double minClearanceSimple(Geometry g)
+ {
+ return SimpleMinimumClearance.getDistance(g);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/PreparedGeometryFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/PreparedGeometryFunctions.java
new file mode 100644
index 0000000..f1a985f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/PreparedGeometryFunctions.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.prep.PreparedGeometry;
+import org.locationtech.jts.geom.prep.PreparedGeometryFactory;
+
+/**
+ * Function to execute PreparedGeometry methods which have optimized behaviour.
+ * @author mdavis
+ *
+ */
+public class PreparedGeometryFunctions
+{
+ private static PreparedGeometry createPG(Geometry g)
+ {
+ return (new PreparedGeometryFactory()).create(g);
+ }
+
+ public static boolean preparedIntersects(Geometry g1, Geometry g2)
+ {
+ return createPG(g1).intersects(g2);
+ }
+
+ public static boolean preparedContains(Geometry g1, Geometry g2)
+ {
+ return createPG(g1).contains(g2);
+ }
+
+ public static boolean preparedContainsProperly(Geometry g1, Geometry g2)
+ {
+ return createPG(g1).containsProperly(g2);
+ }
+
+ public static boolean preparedCovers(Geometry g1, Geometry g2)
+ {
+ return createPG(g1).covers(g2);
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SelectionFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SelectionFunctions.java
new file mode 100644
index 0000000..30cdd0a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SelectionFunctions.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+
+
+public class SelectionFunctions
+{
+ public static Geometry intersects(Geometry a, final Geometry mask)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return mask.intersects(g);
+ }
+ });
+ }
+
+ public static Geometry covers(Geometry a, final Geometry mask)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.covers(mask);
+ }
+ });
+ }
+
+ public static Geometry coveredBy(Geometry a, final Geometry mask)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.coveredBy(mask);
+ }
+ });
+ }
+
+ public static Geometry disjoint(Geometry a, Geometry mask)
+ {
+ List selected = new ArrayList();
+ for (int i = 0; i < a.getNumGeometries(); i++ ) {
+ Geometry g = a.getGeometryN(i);
+ if (mask.disjoint(g)) {
+ selected.add(g);
+ }
+ }
+ return a.getFactory().buildGeometry(selected);
+ }
+ public static Geometry valid(Geometry a)
+ {
+ List selected = new ArrayList();
+ for (int i = 0; i < a.getNumGeometries(); i++ ) {
+ Geometry g = a.getGeometryN(i);
+ if (g.isValid()) {
+ selected.add(g);
+ }
+ }
+ return a.getFactory().buildGeometry(selected);
+ }
+ public static Geometry invalid(Geometry a)
+ {
+ List selected = new ArrayList();
+ for (int i = 0; i < a.getNumGeometries(); i++ ) {
+ Geometry g = a.getGeometryN(i);
+ if (! g.isValid()) {
+ selected.add(g);
+ }
+ }
+ return a.getFactory().buildGeometry(selected);
+ }
+ public static Geometry lengthGreaterThan(Geometry a, final double minLen)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getLength() > minLen;
+ }
+ });
+ }
+ public static Geometry lengthLessThan(Geometry a, final double maxLen)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getLength() < maxLen;
+ }
+ });
+ }
+ public static Geometry lengthZero(Geometry a)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getLength() == 0.0;
+ }
+ });
+ }
+ public static Geometry areaGreaterThan(Geometry a, final double minArea)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getArea() > minArea;
+ }
+ });
+ }
+ public static Geometry areaLessThan(Geometry a, final double maxArea)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getArea() < maxArea;
+ }
+ });
+ }
+ public static Geometry areaZero(Geometry a)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.getArea() == 0.0;
+ }
+ });
+ }
+ public static Geometry within(Geometry a, final Geometry mask)
+ {
+ return select(a, new GeometryPredicate() {
+ public boolean isTrue(Geometry g) {
+ return g.within(mask);
+ }
+ });
+ }
+
+ private static Geometry select(Geometry geom, GeometryPredicate pred)
+ {
+ List selected = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++ ) {
+ Geometry g = geom.getGeometryN(i);
+ if (pred.isTrue(g)) {
+ selected.add(g);
+ }
+ }
+ return geom.getFactory().buildGeometry(selected);
+
+ }
+
+ public static Geometry firstNComponents(Geometry g, int n)
+ {
+ List comp = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries() && i < n; i++) {
+ comp.add(g.getGeometryN(i));
+ }
+ return g.getFactory().buildGeometry(comp);
+ }
+}
+
+interface GeometryPredicate
+{
+ boolean isTrue(Geometry geom);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SimplificationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SimplificationFunctions.java
new file mode 100644
index 0000000..b0ac6e9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SimplificationFunctions.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.simplify.DouglasPeuckerSimplifier;
+import org.locationtech.jts.simplify.TopologyPreservingSimplifier;
+import org.locationtech.jts.simplify.VWSimplifier;
+
+public class SimplificationFunctions {
+ public static Geometry simplifyDP(Geometry g, double distance)
+ { return DouglasPeuckerSimplifier.simplify(g, distance); }
+
+ public static Geometry simplifyTP(Geometry g, double distance)
+ { return TopologyPreservingSimplifier.simplify(g, distance); }
+
+ public static Geometry simplifyVW(Geometry g, double distance)
+ { return VWSimplifier.simplify(g, distance); }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SnappingFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SnappingFunctions.java
new file mode 100644
index 0000000..611f872
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SnappingFunctions.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.operation.overlay.snap.*;
+
+/**
+ * Implementations for various geometry functions.
+ *
+ * @author Martin Davis
+ *
+ */
+public class SnappingFunctions
+{
+ public static Geometry snapAtoB(Geometry g, Geometry g2, double distance)
+ {
+ Geometry[] snapped = GeometrySnapper.snap(g, g2, distance);
+ return snapped[0];
+ }
+
+ public static Geometry snapToSelfAndClean(Geometry g, double distance)
+ {
+ return GeometrySnapper.snapToSelf(g, distance, true);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SortingFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SortingFunctions.java
new file mode 100644
index 0000000..c293987
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SortingFunctions.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.util.GeometryExtracter;
+
+
+public class SortingFunctions
+{
+ public static Geometry sortByLength(Geometry g)
+ {
+ List geoms = components(g);
+ Collections.sort(geoms, new GeometryLengthComparator());
+
+ // annotate geometries with area
+ for (Object o : geoms) {
+ Geometry geom = (Geometry) o;
+ geom.setUserData(geom.getLength());
+ }
+
+ return g.getFactory().buildGeometry(geoms);
+ }
+
+ private static class GeometryLengthComparator implements Comparator
+ {
+ public int compare(Object o1, Object o2)
+ {
+ Geometry g1 = (Geometry) o1;
+ Geometry g2 = (Geometry) o2;
+ return Double.compare(g1.getLength(), g2.getLength());
+ }
+ }
+
+ public static Geometry sortByArea(Geometry g)
+ {
+ List geoms = components(g);
+ Collections.sort(geoms, new GeometryAreaComparator());
+
+ // annotate geometries with area
+ for (Object o : geoms) {
+ Geometry geom = (Geometry) o;
+ geom.setUserData(geom.getArea());
+ }
+
+ return g.getFactory().buildGeometry(geoms);
+ }
+
+ private static class GeometryAreaComparator implements Comparator
+ {
+ public int compare(Object o1, Object o2)
+ {
+ Geometry g1 = (Geometry) o1;
+ Geometry g2 = (Geometry) o2;
+ return Double.compare(g1.getArea(), g2.getArea());
+ }
+ }
+
+ private static List components(Geometry g)
+ {
+ List comp = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ comp.add(g.getGeometryN(i));
+ }
+ return comp;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialIndexFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialIndexFunctions.java
new file mode 100644
index 0000000..cf555fd
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialIndexFunctions.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.index.kdtree.KdTree;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.AbstractNode;
+import org.locationtech.jts.index.strtree.Boundable;
+import org.locationtech.jts.index.strtree.GeometryItemDistance;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+public class SpatialIndexFunctions
+{
+ public static Geometry kdTreeQuery(Geometry pts, Geometry queryEnv, double tolerance)
+ {
+ KdTree index = buildKdTree(pts, tolerance);
+ // if no query env provided query everything inserted
+ if (queryEnv == null) queryEnv = pts;
+ List result = index.query(queryEnv.getEnvelopeInternal());
+ Coordinate[] resultCoords = KdTree.toCoordinates(result);
+ return pts.getFactory().createMultiPoint(resultCoords);
+ }
+
+ public static Geometry kdTreeQueryRepeated(Geometry pts, Geometry queryEnv, double tolerance)
+ {
+ KdTree index = buildKdTree(pts, tolerance);
+ // if no query env provided query everything inserted
+ if (queryEnv == null) queryEnv = pts;
+ List result = index.query(queryEnv.getEnvelopeInternal());
+ Coordinate[] resultCoords = KdTree.toCoordinates(result, true);
+ return pts.getFactory().createMultiPoint(resultCoords);
+ }
+
+ private static KdTree buildKdTree(Geometry geom, double tolerance) {
+ final KdTree index = new KdTree(tolerance);
+ Coordinate[] pt = geom.getCoordinates();
+ for (int i = 0; i < pt.length; i++) {
+ index.insert(pt[i]);
+ }
+ return index;
+ }
+
+ public static Geometry strTreeBounds(Geometry geoms)
+ {
+ STRtree index = buildSTRtree(geoms);
+ List bounds = new ArrayList();
+ addBounds(index.getRoot(), bounds, geoms.getFactory());
+ return geoms.getFactory().buildGeometry(bounds);
+ }
+
+ private static void addBounds(Boundable bnd, List bounds,
+ GeometryFactory factory) {
+ // don't include bounds of leaf nodes
+ if (! (bnd instanceof AbstractNode)) return;
+
+ Envelope env = (Envelope) bnd.getBounds();
+ bounds.add(factory.toGeometry(env));
+ if (bnd instanceof AbstractNode) {
+ AbstractNode node = (AbstractNode) bnd;
+ List children = node.getChildBoundables();
+ for (Iterator i = children.iterator(); i.hasNext(); ) {
+ Boundable child = (Boundable) i.next();
+ addBounds(child, bounds, factory);
+ }
+ }
+ }
+
+ public static Geometry strTreeQuery(Geometry geoms, Geometry queryEnv)
+ {
+ STRtree index = buildSTRtree(geoms);
+ // if no query env provided query everything inserted
+ if (queryEnv == null) queryEnv = geoms;
+ List result = index.query(queryEnv.getEnvelopeInternal());
+ return geoms.getFactory().buildGeometry(result);
+ }
+
+ private static STRtree buildSTRtree(Geometry geom) {
+ final STRtree index = new STRtree();
+ geom.apply(new GeometryFilter() {
+
+ public void filter(Geometry geom) {
+ // only insert atomic geometries
+ if (geom instanceof GeometryCollection) return;
+ index.insert(geom.getEnvelopeInternal(), geom);
+ }
+
+ });
+ return index;
+ }
+
+ public static Geometry strTreeNN(Geometry geoms, Geometry geom)
+ {
+ STRtree index = buildSTRtree(geoms);
+ Object result = index.nearestNeighbour(geom.getEnvelopeInternal(), geom, new GeometryItemDistance());
+ return (Geometry) result;
+ }
+
+ public static Geometry strTreeNNk(Geometry geoms, Geometry geom, int k)
+ {
+ STRtree index = buildSTRtree(geoms);
+ Object[] knnObjects = index.nearestNeighbour(geom.getEnvelopeInternal(), geom, new GeometryItemDistance(), k);
+ List knnGeoms = new ArrayList(Arrays.asList(knnObjects));
+ Geometry geometryCollection = geoms.getFactory().buildGeometry(knnGeoms);
+ return geometryCollection;
+ }
+
+ public static Geometry quadTreeQuery(Geometry geoms, Geometry queryEnv)
+ {
+ Quadtree index = buildQuadtree(geoms);
+ // if no query env provided query everything inserted
+ if (queryEnv == null) queryEnv = geoms;
+ List result = index.query(queryEnv.getEnvelopeInternal());
+ return geoms.getFactory().buildGeometry(result);
+ }
+
+ private static Quadtree buildQuadtree(Geometry geom) {
+ final Quadtree index = new Quadtree();
+ geom.apply(new GeometryFilter() {
+
+ public void filter(Geometry geom) {
+ // only insert atomic geometries
+ if (geom instanceof GeometryCollection) return;
+ index.insert(geom.getEnvelopeInternal(), geom);
+ }
+
+ });
+ return index;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialPredicateFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialPredicateFunctions.java
new file mode 100644
index 0000000..28aa66a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/SpatialPredicateFunctions.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Implementations for spatial predicate functions.
+ *
+ * @author Martin Davis
+ *
+ */
+public class SpatialPredicateFunctions {
+
+ public static String relate(Geometry a, Geometry b) {
+ return a.relate(b).toString();
+ }
+ public static boolean intersects(Geometry a, Geometry b) { return a.intersects(b); }
+ public static boolean crosses(Geometry a, Geometry b) { return a.crosses(b); }
+ public static boolean disjoint(Geometry a, Geometry b) { return a.disjoint(b); }
+ public static boolean equals(Geometry a, Geometry b) { return a.equals(b); }
+ public static boolean contains(Geometry a, Geometry b) { return a.contains(b); }
+ public static boolean covers(Geometry a, Geometry b) { return a.covers(b); }
+ public static boolean coveredBy(Geometry a, Geometry b) { return a.coveredBy(b); }
+ public static boolean within(Geometry a, Geometry b) { return a.within(b); }
+ public static boolean overlaps(Geometry a, Geometry b) { return a.overlaps(b); }
+ public static boolean touches(Geometry a, Geometry b) { return a.touches(b); }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/TestCaseGeometryFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/TestCaseGeometryFunctions.java
new file mode 100644
index 0000000..93c1a83
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/TestCaseGeometryFunctions.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.densify.*;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.precision.MinimumClearance;
+
+/**
+ * Geometry functions which
+ * augment the existing methods on {@link Geometry},
+ * for use in XML Test files.
+ * This is the default used in the TestRunner,
+ * and thus all the operations
+ * in this class should be named differently to the Geometry methods
+ * (otherwise they will shadow the real Geometry methods).
+ * <p>
+ * If replacing a Geometry method is desired, this
+ * can be done via the -geomfunc argument to the TestRunner.
+ *
+ * @author Martin Davis
+ *
+ */
+public class TestCaseGeometryFunctions
+{
+ public static Geometry bufferMitredJoin(Geometry g, double distance)
+ {
+ BufferParameters bufParams = new BufferParameters();
+ bufParams.setJoinStyle(BufferParameters.JOIN_MITRE);
+
+ return BufferOp.bufferOp(g, distance, bufParams);
+ }
+
+ public static Geometry densify(Geometry g, double distance)
+ {
+ return Densifier.densify(g, distance);
+ }
+
+ public static double minClearance(Geometry g)
+ {
+ return MinimumClearance.getDistance(g);
+ }
+
+ public static Geometry minClearanceLine(Geometry g)
+ {
+ return MinimumClearance.getLine(g);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/TriangleFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/TriangleFunctions.java
new file mode 100644
index 0000000..3dd1832
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/TriangleFunctions.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.GeometryMapper;
+
+
+public class TriangleFunctions {
+
+ public static Geometry centroid(Geometry g)
+ {
+ return GeometryMapper.map(g,
+ new GeometryMapper.MapOp() {
+ public Geometry map(Geometry g) {
+ Coordinate[] pts = trianglePts(g);
+ Coordinate cc = Triangle.centroid(pts[0], pts[1], pts[2]);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ return geomFact.createPoint(cc);
+ }});
+ }
+
+ public static Geometry circumcentre(Geometry g)
+ {
+ return GeometryMapper.map(g,
+ new GeometryMapper.MapOp() {
+ public Geometry map(Geometry g) {
+ Coordinate[] pts = trianglePts(g);
+ Coordinate cc = Triangle.circumcentre(pts[0], pts[1], pts[2]);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ return geomFact.createPoint(cc);
+ }});
+ }
+
+ public static Geometry perpendicularBisectors(Geometry g)
+ {
+ Coordinate[] pts = trianglePts(g);
+ Coordinate cc = Triangle.circumcentre(pts[0], pts[1], pts[2]);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ LineString[] line = new LineString[3];
+ Coordinate p0 = (new LineSegment(pts[1], pts[2])).closestPoint(cc);
+ line[0] = geomFact.createLineString(new Coordinate[] {p0, cc});
+ Coordinate p1 = (new LineSegment(pts[0], pts[2])).closestPoint(cc);
+ line[1] = geomFact.createLineString(new Coordinate[] {p1, cc});
+ Coordinate p2 = (new LineSegment(pts[0], pts[1])).closestPoint(cc);
+ line[2] = geomFact.createLineString(new Coordinate[] {p2, cc});
+ return geomFact.createMultiLineString(line);
+ }
+
+ public static Geometry incentre(Geometry g)
+ {
+ return GeometryMapper.map(g,
+ new GeometryMapper.MapOp() {
+ public Geometry map(Geometry g) {
+ Coordinate[] pts = trianglePts(g);
+ Coordinate cc = Triangle.inCentre(pts[0], pts[1], pts[2]);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ return geomFact.createPoint(cc);
+ }});
+ }
+
+ public static Geometry angleBisectors(Geometry g)
+ {
+ Coordinate[] pts = trianglePts(g);
+ Coordinate cc = Triangle.inCentre(pts[0], pts[1], pts[2]);
+ GeometryFactory geomFact = FunctionsUtil.getFactoryOrDefault(g);
+ LineString[] line = new LineString[3];
+ line[0] = geomFact.createLineString(new Coordinate[] {pts[0], cc});
+ line[1] = geomFact.createLineString(new Coordinate[] {pts[1], cc});
+ line[2] = geomFact.createLineString(new Coordinate[] {pts[2], cc});
+ return geomFact.createMultiLineString(line);
+ }
+
+
+ private static Coordinate[] trianglePts(Geometry g)
+ {
+ Coordinate[] pts = g.getCoordinates();
+ if (pts.length < 3)
+ throw new IllegalArgumentException("Input geometry must have at least 3 points");
+ return pts;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/TriangulationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/TriangulationFunctions.java
new file mode 100644
index 0000000..5c35cf2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/TriangulationFunctions.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.function;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.triangulate.*;
+import org.locationtech.jts.triangulate.quadedge.LocateFailureException;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+import org.locationtech.jtstest.util.*;
+
+
+public class TriangulationFunctions
+{
+ private static final double TRIANGULATION_TOLERANCE = 0.0;
+
+ public static Geometry delaunayEdges(Geometry geom)
+ {
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(geom);
+ builder.setTolerance(TRIANGULATION_TOLERANCE);
+ Geometry edges = builder.getEdges(geom.getFactory());
+ return edges;
+ }
+
+ public static Geometry delaunayTriangles(Geometry geom)
+ {
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(geom);
+ builder.setTolerance(TRIANGULATION_TOLERANCE);
+ Geometry tris = builder.getTriangles(geom.getFactory());
+ return tris;
+ }
+
+ public static Geometry delaunayEdgesWithTolerance(Geometry geom, double tolerance)
+ {
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(geom);
+ builder.setTolerance(tolerance);
+ Geometry edges = builder.getEdges(geom.getFactory());
+ return edges;
+ }
+
+
+ public static Geometry delaunayTrianglesWithTolerance(Geometry geom, double tolerance)
+ {
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(geom);
+ builder.setTolerance(tolerance);
+ Geometry tris = builder.getTriangles(geom.getFactory());
+ return tris;
+ }
+
+ public static Geometry delaunayTrianglesWithToleranceNoError(Geometry geom, double tolerance)
+ {
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(geom);
+ builder.setTolerance(tolerance);
+ try {
+ Geometry tris = builder.getTriangles(geom.getFactory());
+ return tris;
+ }
+ catch (LocateFailureException ex) {
+ System.out.println(ex);
+ // ignore this exception and drop thru
+ }
+ /**
+ * Get the triangles created up until the error
+ */
+ Geometry tris = builder.getSubdivision().getTriangles(geom.getFactory());
+ return tris;
+ }
+
+ public static Geometry voronoiDiagram(Geometry sitesGeom, Geometry clipGeom)
+ {
+ VoronoiDiagramBuilder builder = new VoronoiDiagramBuilder();
+ builder.setSites(sitesGeom);
+ if (clipGeom != null)
+ builder.setClipEnvelope(clipGeom.getEnvelopeInternal());
+ builder.setTolerance(TRIANGULATION_TOLERANCE);
+ Geometry diagram = builder.getDiagram(sitesGeom.getFactory());
+ return diagram;
+ }
+
+ public static Geometry voronoiDiagramWithData(Geometry sitesGeom, Geometry clipGeom)
+ {
+ GeometryDataUtil.setComponentDataToIndex(sitesGeom);
+
+ VertexTaggedGeometryDataMapper mapper = new VertexTaggedGeometryDataMapper();
+ mapper.loadSourceGeometries(sitesGeom);
+
+ VoronoiDiagramBuilder builder = new VoronoiDiagramBuilder();
+ builder.setSites(mapper.getCoordinates());
+ if (clipGeom != null)
+ builder.setClipEnvelope(clipGeom.getEnvelopeInternal());
+ builder.setTolerance(TRIANGULATION_TOLERANCE);
+ Geometry diagram = builder.getDiagram(sitesGeom.getFactory());
+ mapper.transferData(diagram);
+ return diagram;
+ }
+
+
+ public static Geometry conformingDelaunayEdges(Geometry sites, Geometry constraints)
+ {
+ return conformingDelaunayEdgesWithTolerance(sites, constraints, TRIANGULATION_TOLERANCE);
+ }
+
+ public static Geometry conformingDelaunayEdgesWithTolerance(Geometry sites, Geometry constraints, double tol)
+ {
+ ConformingDelaunayTriangulationBuilder builder = new ConformingDelaunayTriangulationBuilder();
+ builder.setSites(sites);
+ builder.setConstraints(constraints);
+ builder.setTolerance(tol);
+
+ GeometryFactory geomFact = sites != null ? sites.getFactory() : constraints.getFactory();
+ Geometry tris = builder.getEdges(geomFact);
+ return tris;
+ }
+
+ public static Geometry conformingDelaunayTriangles(Geometry sites, Geometry constraints)
+ {
+ return conformingDelaunayTrianglesWithTolerance(sites, constraints, TRIANGULATION_TOLERANCE);
+ }
+
+ public static Geometry conformingDelaunayTrianglesWithTolerance(Geometry sites, Geometry constraints, double tol)
+ {
+ ConformingDelaunayTriangulationBuilder builder = new ConformingDelaunayTriangulationBuilder();
+ builder.setSites(sites);
+ builder.setConstraints(constraints);
+ builder.setTolerance(tol);
+
+ GeometryFactory geomFact = sites != null ? sites.getFactory() : constraints.getFactory();
+ Geometry tris = builder.getTriangles(geomFact);
+ return tris;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/ValidationFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/ValidationFunctions.java
new file mode 100644
index 0000000..65d21cf
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/ValidationFunctions.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.operation.valid.TopologyValidationError;
+
+
+public class ValidationFunctions
+{
+ /**
+ * Validates all geometries in a collection independently.
+ * Errors are returned as points at the invalid location
+ *
+ * @param g
+ * @return the invalid locations, if any
+ */
+ public static Geometry invalidLocations(Geometry g)
+ {
+ List invalidLoc = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Geometry geom = g.getGeometryN(i);
+ IsValidOp ivop = new IsValidOp(geom);
+ TopologyValidationError err = ivop.getValidationError();
+ if (err != null) {
+ invalidLoc.add(g.getFactory().createPoint(err.getCoordinate()));
+ }
+ }
+ return g.getFactory().buildGeometry(invalidLoc);
+ }
+
+ public static Geometry invalidGeoms(Geometry g)
+ {
+ List invalidGeoms = new ArrayList();
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Geometry geom = g.getGeometryN(i);
+ IsValidOp ivop = new IsValidOp(geom);
+ TopologyValidationError err = ivop.getValidationError();
+ if (err != null) {
+ invalidGeoms.add(geom);
+ }
+ }
+ return g.getFactory().buildGeometry(invalidGeoms);
+ }
+
+ public static boolean isValidAllowSelfTouchingRingFormingHole(Geometry g) {
+ IsValidOp validOp = new IsValidOp(g);
+ validOp.setSelfTouchingRingFormingHoleValid(true);
+ return validOp.isValid();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/function/WriterFunctions.java b/modules/app/src/main/java/org/locationtech/jtstest/function/WriterFunctions.java
new file mode 100644
index 0000000..21c8758
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/function/WriterFunctions.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.function;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKBWriter;
+import org.locationtech.jts.io.geojson.GeoJsonWriter;
+import org.locationtech.jts.io.gml2.GMLWriter;
+import org.locationtech.jts.io.kml.KMLWriter;
+import org.locationtech.jtstest.geomfunction.Metadata;
+import org.locationtech.jtstest.util.ClassUtil;
+
+
+public class WriterFunctions
+{
+ public static String writeKML(Geometry geom)
+ {
+ if (geom == null) return "";
+ KMLWriter writer = new KMLWriter();
+ return writer.write(geom);
+ }
+
+ public static String writeGML(Geometry geom)
+ {
+ if (geom == null) return "";
+ return (new GMLWriter()).write(geom);
+ }
+
+ public static String writeOra(Geometry g) throws SecurityException, IllegalArgumentException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException
+ {
+ if (g == null) return "";
+ // call dynamically to avoid dependency on OraWriter
+ String sql = (String) ClassUtil.dynamicCall("com.vividsolutions.jts.io.oracle.OraWriter",
+ "writeSQL",
+ new Class[] { Geometry.class },
+ new Object[] { g });
+ return sql;
+ //return (new OraWriter(null)).writeSQL(g);
+ }
+
+ public static String writeWKB(Geometry g)
+ {
+ if (g == null) return "";
+ return WKBWriter.toHex((new WKBWriter().write(g)));
+ }
+
+ public static String writeGeoJSON(Geometry g)
+ {
+ if (g == null) return "";
+ return (new GeoJsonWriter().write(g));
+ }
+
+ public static String writeGeoJSONFixDecimal(Geometry g,
+ @Metadata(title="Num Decimals")
+ int numDecimals)
+ {
+ if (g == null) return "";
+ return (new GeoJsonWriter(numDecimals).write(g));
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/BaseGeometryFunction.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/BaseGeometryFunction.java
new file mode 100644
index 0000000..dfcf28e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/BaseGeometryFunction.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import java.lang.reflect.Method;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * A base for implementations of
+ * {@link GeometryFunction} which provides most
+ * of the required structure.
+ * Extenders must supply the behaviour for the
+ * actual function invocation.
+ *
+ * @author Martin Davis
+ *
+ */
+public abstract class BaseGeometryFunction
+implements GeometryFunction, Comparable
+{
+ public static boolean isBinaryGeomFunction(GeometryFunction func)
+ {
+ return func.getParameterTypes().length >= 1
+ && func.getParameterTypes()[0] == Geometry.class;
+ }
+ public static int firstScalarParamIndex(GeometryFunction func) {
+ Class<?>[] type = func.getParameterTypes();
+ for (int i = 0; i < type.length; i++) {
+ if (! ClassUtil.isGeometry(type[i])) {
+ return i;
+ }
+ }
+ return -1;
+ }
+ protected String category = null;
+ protected String name;
+ protected String description;
+ protected String[] parameterNames;
+ protected Class[] parameterTypes;
+ protected Class returnType;
+
+ public BaseGeometryFunction(
+ String category,
+ String name,
+ String[] parameterNames,
+ Class[] parameterTypes,
+ Class returnType)
+ {
+ this.category = category;
+ this.name = name;
+ this.parameterNames = parameterNames;
+ this.parameterTypes = parameterTypes;
+ this.returnType = returnType;
+ }
+
+ public BaseGeometryFunction(
+ String category,
+ String name,
+ String description,
+ String[] parameterNames,
+ Class[] parameterTypes,
+ Class returnType)
+ {
+ this.category = category;
+ this.name = name;
+ this.description = description;
+ this.parameterNames = parameterNames;
+ this.parameterTypes = parameterTypes;
+ this.returnType = returnType;
+ }
+
+ public String getCategory()
+ {
+ return category;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public String[] getParameterNames()
+ {
+ return parameterNames;
+ }
+
+ /**
+ * Gets the types of the other function arguments,
+ * if any.
+ *
+ * @return the types
+ */
+ public Class[] getParameterTypes()
+ {
+ return parameterTypes;
+ }
+
+ public Class getReturnType()
+ {
+ return returnType;
+ }
+
+ public boolean isBinary() {
+ return parameterTypes.length > 0 && parameterTypes[0] == Geometry.class;
+ }
+
+ public String getSignature()
+ {
+ StringBuffer paramTypes = new StringBuffer();
+ paramTypes.append("Geometry");
+ for (int i = 0 ; i < parameterTypes.length; i++) {
+ paramTypes.append(",");
+ paramTypes.append(ClassUtil.getClassname(parameterTypes[i]));
+ }
+ return name + "(" + paramTypes + ")"
+ + " -> "
+ + ClassUtil.getClassname(returnType);
+ }
+
+ protected static Double getDoubleOrNull(Object[] args, int index)
+ {
+ if (args.length <= index) return null;
+ if (args[index] == null) return null;
+ return (Double) args[index];
+ }
+
+ protected static Integer getIntegerOrNull(Object[] args, int index)
+ {
+ if (args.length <= index) return null;
+ if (args[index] == null) return null;
+ return (Integer) args[index];
+ }
+
+ public abstract Object invoke(Geometry geom, Object[] args);
+
+ /**
+ * Two functions are the same if they have the
+ * same signature (name, parameter types and return type).
+ *
+ * @param obj
+ * @return true if this object is the same as the <tt>obj</tt> argument
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof GeometryFunction)) return false;
+ GeometryFunction func = (GeometryFunction) obj;
+ if (! name.equals(func.getName())) return false;
+ if (! returnType.equals(func.getReturnType())) return false;
+
+ Class[] funcParamTypes = func.getParameterTypes();
+ if (parameterTypes.length != funcParamTypes.length) return false;
+ for (int i = 0; i < parameterTypes.length; i++) {
+ if (! parameterTypes[i].equals(funcParamTypes[i]))
+ return false;
+ }
+ return true;
+ }
+
+ public int compareTo(Object o)
+ {
+ GeometryFunction func = (GeometryFunction) o;
+ int cmp = name.compareTo(func.getName());
+ if (cmp != 0)
+ return cmp;
+ return compareTo(returnType, func.getReturnType());
+ //TODO: compare parameter lists as well
+ }
+
+ private static int compareTo(Class c1, Class c2)
+ {
+ return c1.getName().compareTo(c2.getName());
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunction.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunction.java
new file mode 100644
index 0000000..c634bde
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunction.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import org.locationtech.jts.geom.*;
+
+/**
+ * A reification of a function which can be executed on a
+ * {@link Geometry}, possibly with other arguments.
+ * The function may return a Geometry or a scalar value.
+ *
+ * @author Martin Davis
+ *
+ */
+public interface GeometryFunction
+{
+
+ /**
+ * Gets the category name of this function
+ *
+ * @return the category name of the function
+ */
+ String getCategory();
+
+ /**
+ * Gets the name of this function
+ *
+ * @return the name of the function
+ */
+ String getName();
+
+ /**
+ * Gets the description of this function
+ *
+ * @return the name of the function
+ */
+ String getDescription();
+
+ /**
+ * Gets the parameter names for this function
+ *
+ * @return the names of the function parameters
+ */
+ String[] getParameterNames();
+
+ /**
+ * Gets the types of the other function arguments,
+ * if any.
+ *
+ * @return the types
+ */
+ Class[] getParameterTypes();
+
+ /**
+ * Gets the return type of this function
+ *
+ * @return the type of the value returned by this function
+ */
+ Class getReturnType();
+
+ /**
+ * Gets a string representing the signature of this function.
+ *
+ * @return the string for the function signature
+ */
+ String getSignature();
+
+ /**
+ * Invokes this function.
+ * Note that any exceptions returned must be
+ * {@link RuntimeException}s.
+ *
+ * @param geom the target geometry
+ * @param args the other arguments to the function
+ * @return the value computed by the function
+ *
+ */
+ Object invoke(Geometry geom, Object[] args);
+
+ /**
+ * Two functions are the same if they have the
+ * same name, parameter types and return type.
+ *
+ * @param obj
+ * @return true if this object is the same as the <tt>obj</tt> argument
+ */
+ boolean equals(Object obj);
+
+ public abstract boolean isBinary();
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionInvocation.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionInvocation.java
new file mode 100644
index 0000000..8430987
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionInvocation.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.geomfunction;
+
+import org.locationtech.jts.geom.Geometry;
+
+public class GeometryFunctionInvocation {
+
+ private GeometryFunction function;
+ private Object[] args;
+
+ public GeometryFunctionInvocation(GeometryFunction function, Object[] args) {
+ this.function = function;
+ this.args = args;
+ }
+
+ public String getSignature() {
+ if (function == null)
+ return null;
+ return function.getCategory()
+ + "." + function.getName()
+ + "(" + toString(args) + ")";
+ }
+
+ public GeometryFunction getFunction() {
+ return function;
+ }
+
+ public Object[] getArgs() {
+ return args;
+ }
+
+ public static String toString(Object[] param)
+ {
+ if (param == null) return "";
+
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < param.length; i++) {
+ if (i > 0) buf.append(", ");
+ buf.append(toString(param[i]));
+ }
+ return buf.toString();
+ }
+
+ public static String toString(Object o)
+ {
+ if (o == null) return "null";
+ if (o instanceof Geometry)
+ return ((Geometry) o).getGeometryType();
+ return o.toString();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionRegistry.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionRegistry.java
new file mode 100644
index 0000000..4d03dfb
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionRegistry.java
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.function.AffineTransformationFunctions;
+import org.locationtech.jtstest.function.BoundaryFunctions;
+import org.locationtech.jtstest.function.BufferByUnionFunctions;
+import org.locationtech.jtstest.function.BufferFunctions;
+import org.locationtech.jtstest.function.LineSegmentFunctions;
+import org.locationtech.jtstest.function.ConstructionFunctions;
+import org.locationtech.jtstest.function.ConversionFunctions;
+import org.locationtech.jtstest.function.CreateFractalShapeFunctions;
+import org.locationtech.jtstest.function.CreateRandomShapeFunctions;
+import org.locationtech.jtstest.function.CreateShapeFunctions;
+import org.locationtech.jtstest.function.DissolveFunctions;
+import org.locationtech.jtstest.function.DistanceFunctions;
+import org.locationtech.jtstest.function.DoubleKeyMap;
+import org.locationtech.jtstest.function.GeometryFunctions;
+import org.locationtech.jtstest.function.JTSFunctions;
+import org.locationtech.jtstest.function.LineHandlingFunctions;
+import org.locationtech.jtstest.function.LinearReferencingFunctions;
+import org.locationtech.jtstest.function.NodingFunctions;
+import org.locationtech.jtstest.function.OffsetCurveFunctions;
+import org.locationtech.jtstest.function.OrientationFunctions;
+import org.locationtech.jtstest.function.OverlayFunctions;
+import org.locationtech.jtstest.function.OverlayNoSnapFunctions;
+import org.locationtech.jtstest.function.PointLocationFunctions;
+import org.locationtech.jtstest.function.PolygonOverlayFunctions;
+import org.locationtech.jtstest.function.PolygonizeFunctions;
+import org.locationtech.jtstest.function.PrecisionFunctions;
+import org.locationtech.jtstest.function.PreparedGeometryFunctions;
+import org.locationtech.jtstest.function.SelectionFunctions;
+import org.locationtech.jtstest.function.SimplificationFunctions;
+import org.locationtech.jtstest.function.SnappingFunctions;
+import org.locationtech.jtstest.function.SortingFunctions;
+import org.locationtech.jtstest.function.SpatialIndexFunctions;
+import org.locationtech.jtstest.function.SpatialPredicateFunctions;
+import org.locationtech.jtstest.function.TriangleFunctions;
+import org.locationtech.jtstest.function.TriangulationFunctions;
+import org.locationtech.jtstest.function.ValidationFunctions;
+import org.locationtech.jtstest.function.WriterFunctions;
+
+
+/**
+ * A registry to manage a collection of {@link GeometryFunction}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryFunctionRegistry
+{
+ public static GeometryFunctionRegistry createTestBuilderRegistry()
+ {
+ GeometryFunctionRegistry funcRegistry = new GeometryFunctionRegistry();
+
+ funcRegistry.add(GeometryFunctions.class);
+ funcRegistry.add(BoundaryFunctions.class);
+ funcRegistry.add(BufferFunctions.class);
+ funcRegistry.add(BufferByUnionFunctions.class);
+ funcRegistry.add(ConstructionFunctions.class);
+ funcRegistry.add(ConversionFunctions.class);
+ funcRegistry.add(LinearReferencingFunctions.class);
+ funcRegistry.add(LineHandlingFunctions.class);
+ funcRegistry.add(NodingFunctions.class);
+ funcRegistry.add(PolygonizeFunctions.class);
+ funcRegistry.add(PolygonOverlayFunctions.class);
+ funcRegistry.add(PrecisionFunctions.class);
+ funcRegistry.add(PreparedGeometryFunctions.class);
+ funcRegistry.add(SelectionFunctions.class);
+ funcRegistry.add(SimplificationFunctions.class);
+ funcRegistry.add(AffineTransformationFunctions.class);
+ funcRegistry.add(DissolveFunctions.class);
+ funcRegistry.add(DistanceFunctions.class);
+ funcRegistry.add(CreateShapeFunctions.class);
+ funcRegistry.add(CreateFractalShapeFunctions.class);
+ funcRegistry.add(CreateRandomShapeFunctions.class);
+ funcRegistry.add(SpatialIndexFunctions.class);
+ funcRegistry.add(SpatialPredicateFunctions.class);
+ funcRegistry.add(JTSFunctions.class);
+ //funcRegistry.add(MemoryFunctions.class);
+ funcRegistry.add(OffsetCurveFunctions.class);
+ funcRegistry.add(OrientationFunctions.class);
+ funcRegistry.add(LineSegmentFunctions.class);
+ funcRegistry.add(OverlayFunctions.class);
+ funcRegistry.add(OverlayNoSnapFunctions.class);
+ funcRegistry.add(PointLocationFunctions.class);
+ //funcRegistry.add(OverlayEnhancedPrecisionFunctions.class);
+ //funcRegistry.add(OverlayCommonBitsRemovedFunctions.class);
+ funcRegistry.add(SnappingFunctions.class);
+ funcRegistry.add(SortingFunctions.class);
+ funcRegistry.add(TriangulationFunctions.class);
+ funcRegistry.add(TriangleFunctions.class);
+ funcRegistry.add(ValidationFunctions.class);
+ funcRegistry.add(WriterFunctions.class);
+
+ return funcRegistry;
+ }
+ public static String functionDescriptionHTML(GeometryFunction func)
+ {
+ String txt = "<b>" + func.getSignature() + "</b>";
+ String desc = func.getDescription();
+ if (desc != null) {
+ txt += "<br><br>" + desc;
+ }
+ return "<html>" + txt + "</html>";
+ }
+
+ private List functions = new ArrayList();
+ private Map sortedFunctions = new TreeMap();
+ private DoubleKeyMap categorizedFunctions = new DoubleKeyMap();
+ private DoubleKeyMap categorizedGeometryFunctions = new DoubleKeyMap();
+ private DoubleKeyMap categorizedScalarFunctions = new DoubleKeyMap();
+
+ public GeometryFunctionRegistry()
+ {
+ }
+
+ public GeometryFunctionRegistry(Class clz)
+ {
+ add(clz);
+ }
+
+ public List getFunctions()
+ {
+ return functions;
+ }
+
+ public List getGeometryFunctions()
+ {
+ List funList = new ArrayList();
+ for (Iterator i = sortedFunctions.values().iterator(); i.hasNext(); )
+ {
+ GeometryFunction fun = (GeometryFunction) i.next();
+ if (hasGeometryResult(fun))
+ funList.add(fun);
+ }
+ return funList;
+ }
+
+ public static boolean hasGeometryResult(GeometryFunction func)
+ {
+ return Geometry.class.isAssignableFrom(func.getReturnType());
+ }
+
+ public List getScalarFunctions()
+ {
+ List scalarFun = new ArrayList();
+ for (Iterator i = sortedFunctions.values().iterator(); i.hasNext(); )
+ {
+ GeometryFunction fun = (GeometryFunction) i.next();
+ if (! hasGeometryResult(fun))
+ scalarFun.add(fun);
+ }
+ return scalarFun;
+ }
+
+ /**
+ * Adds functions for all the static methods in the given class.
+ *
+ * @param geomFuncClass
+ */
+ public void add(Class geomFuncClass)
+ {
+ List funcs = createFunctions(geomFuncClass);
+ // sort list of functions so they appear nicely in the UI list
+ Collections.sort(funcs);
+ add(funcs);
+ }
+
+ /**
+ * Adds functions for all the static methods in the given class.
+ *
+ * @param geomFuncClassname the name of the class to load and extract functions from
+ */
+ public void add(String geomFuncClassname)
+ throws ClassNotFoundException
+ {
+ Class geomFuncClass = null;
+ geomFuncClass = this.getClass().getClassLoader().loadClass(geomFuncClassname);
+ add(geomFuncClass);
+ }
+
+
+ public void add(Collection funcs)
+ {
+ for (Iterator i = funcs.iterator(); i.hasNext(); ) {
+ GeometryFunction f = (GeometryFunction) i.next();
+ add(f);
+ }
+ }
+
+ /**
+ * Create {@link GeometryFunction}s for all the static
+ * methods in the given class
+ *
+ * @param functionClass
+ * @return a list of the functions created
+ */
+ public List createFunctions(Class functionClass) {
+ List funcs = new ArrayList();
+ Method[] method = functionClass.getMethods();
+ for (int i = 0; i < method.length; i++) {
+ int mod = method[i].getModifiers();
+ if (Modifier.isStatic(mod) && Modifier.isPublic(mod)) {
+ funcs.add(StaticMethodGeometryFunction.createFunction(method[i]));
+ }
+ }
+ return funcs;
+ }
+
+
+ /**
+ * Adds a function if it does not currently
+ * exist in the registry, or replaces the existing one
+ * with the same signature.
+ *
+ * @param func a function
+ */
+ public void add(GeometryFunction func)
+ {
+ functions.add(func);
+ sortedFunctions.put(func.getName(), func);
+ categorizedFunctions.put(func.getCategory(), func.getName(), func);
+ if (hasGeometryResult(func)) {
+ categorizedGeometryFunctions.put(func.getCategory(), func.getName(), func);
+ }
+ else {
+ categorizedScalarFunctions.put(func.getCategory(), func.getName(), func);
+ }
+ }
+
+ public DoubleKeyMap getCategorizedGeometryFunctions()
+ {
+ return categorizedGeometryFunctions;
+ }
+
+ public DoubleKeyMap getCategorizedScalarFunctions()
+ {
+ return categorizedScalarFunctions;
+ }
+
+ public Collection getCategories()
+ {
+ return categorizedFunctions.keySet();
+ }
+
+ public Collection getFunctions(String category)
+ {
+ return categorizedFunctions.values(category);
+ }
+
+ /*
+ int index = functions.indexOf(func);
+ if (index == -1) {
+ sortedFunctions.put(func.getName(), func);
+ }
+ else {
+ functions.set(index, func);
+ }
+ }
+ */
+
+
+ /**
+ * Finds the first function which matches the given signature.
+ *
+ * @param name
+ * @param paramTypes
+ * @return a matching function, or null
+ */
+ public GeometryFunction find(String name, Class[] paramTypes)
+ {
+ return null;
+ }
+
+ /**
+ * Finds the first function which matches the given name and argument count.
+ *
+ * @param name
+ * @return a matching function, or null
+ */
+ public GeometryFunction find(String name, int argCount)
+ {
+ for (Iterator i = functions.iterator(); i.hasNext(); ) {
+ GeometryFunction func = (GeometryFunction) i.next();
+ String funcName = func.getName();
+ if (funcName.equalsIgnoreCase(name)
+ && func.getParameterTypes().length == argCount)
+ return func;
+ }
+ return null;
+ }
+ /**
+ * Finds the first function which matches the given name.
+ *
+ * @param name
+ * @return a matching function, or null
+ */
+ public GeometryFunction find(String name)
+ {
+ for (Iterator i = functions.iterator(); i.hasNext(); ) {
+ GeometryFunction func = (GeometryFunction) i.next();
+ String funcName = func.getName();
+ if (funcName.equalsIgnoreCase(name))
+ return func;
+ }
+ return null;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionUtil.java
new file mode 100644
index 0000000..2eeebd0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/GeometryFunctionUtil.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+public class GeometryFunctionUtil {
+
+ public static String toolTipText(GeometryFunction func) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("<html>");
+ sb.append(func.getSignature());
+ String desc = func.getDescription();
+ if (desc != null) sb.append("<br>" + desc);
+ sb.append("</html>");
+ return sb.toString();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/Metadata.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/Metadata.java
new file mode 100644
index 0000000..4411da5
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/Metadata.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import java.lang.annotation.*;
+
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface Metadata
+{
+ String name() default "";
+ String title() default "";
+ String description() default "";
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/MetadataUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/MetadataUtil.java
new file mode 100644
index 0000000..9cd26d2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/MetadataUtil.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import java.lang.annotation.Annotation;
+
+public class MetadataUtil {
+
+ public static String name(Annotation[] anno) {
+ for (int i = 0; i < anno.length; i++) {
+ if (anno[i] instanceof Metadata) {
+ Metadata doc = (Metadata) anno[i];
+ if (doc != null)
+ return doc.name();
+ }
+ }
+ return null;
+ }
+
+ public static String title(Annotation[] anno) {
+ for (int i = 0; i < anno.length; i++) {
+ if (anno[i] instanceof Metadata) {
+ Metadata doc = (Metadata) anno[i];
+ if (doc != null)
+ return doc.title();
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/RepeaterGeometryFunction.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/RepeaterGeometryFunction.java
new file mode 100644
index 0000000..56335b9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/RepeaterGeometryFunction.java
@@ -0,0 +1,105 @@
+package org.locationtech.jtstest.geomfunction;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.function.FunctionsUtil;
+import org.locationtech.jtstest.util.ClassUtil;
+
+public class RepeaterGeometryFunction implements GeometryFunction {
+
+ private GeometryFunction fun;
+ private int count;
+
+ public RepeaterGeometryFunction(GeometryFunction fun, int count) {
+ this.fun = fun;
+ this.count = count;
+ }
+
+ public String getCategory() {
+ return fun.getCategory();
+ }
+
+ public String getName() {
+ return fun.getName() + repeatAnnotation();
+ }
+
+ public String getDescription() {
+ return fun.getDescription();
+ }
+
+ public String[] getParameterNames() {
+ return fun.getParameterNames();
+ }
+
+ public Class[] getParameterTypes() {
+ return fun.getParameterTypes();
+ }
+
+ public Class getReturnType() {
+ return fun.getReturnType();
+ }
+
+ public String getSignature() {
+ return fun.getSignature();
+ }
+
+ private String repeatAnnotation() {
+ return "*" + count;
+ }
+
+ public boolean isBinary() {
+ return fun.isBinary();
+ }
+
+ public Object invoke(Geometry geom, Object[] args) {
+
+ if (! isRepeatable(fun)) {
+ throw new IllegalArgumentException("Cannot repeat function whose argumnent is not a double");
+ }
+
+ //TODO: handle repeating methods with integer arg
+ int repeatArgIndex = repeatableArgIndex(fun);
+ Double argStart = ClassUtil.toDouble(args[repeatArgIndex]);
+ return invokeRepeated(geom, args, argStart);
+ }
+
+ public static boolean isRepeatable(GeometryFunction fun) {
+ if (! (fun.getReturnType() == Geometry.class )) return false;
+
+ Class[] paramType = fun.getParameterTypes();
+ int repeatArgIndex = repeatableArgIndex(fun);
+ // abort if no repeatable parameter
+ if (paramType.length < repeatArgIndex + 1) return false;
+ Class type = paramType[repeatArgIndex];
+ if (! ClassUtil.isDouble(type)) return false;
+
+ /*
+ Double argBase = ClassUtil.toDouble(args[0]);
+ if (argBase == null) return false;
+ */
+
+ return true;
+ }
+
+ public static int repeatableArgIndex(GeometryFunction fun) {
+ if (fun.isBinary()) return 1;
+ return 0;
+ }
+ private Object invokeRepeated(Geometry geom, Object[] args, double argStart) {
+ Geometry[] results = new Geometry[count];
+ int repeatArgIndex = repeatableArgIndex(fun);
+ for (int i = 1; i <= count; i++) {
+ double val = argStart * i;
+ Geometry result = (Geometry) fun.invoke(geom, copyArgs(args, repeatArgIndex, val));
+ FunctionsUtil.showIndicator(result);
+ results[i-1] = result;
+ }
+ return geom.getFactory().createGeometryCollection(results);
+ }
+
+ private Object[] copyArgs(Object[] args, int replaceIndex, double val) {
+ Object[] newArgs = args.clone();
+ newArgs[replaceIndex] = val;
+ return newArgs;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/StaticMethodGeometryFunction.java b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/StaticMethodGeometryFunction.java
new file mode 100644
index 0000000..bfea750
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/geomfunction/StaticMethodGeometryFunction.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.geomfunction;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.*;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * A {@link GeometryFunction} which calls a static
+ * {@link Method}.
+ *
+ * @author Martin Davis
+ *
+ */
+public class StaticMethodGeometryFunction
+ extends BaseGeometryFunction
+{
+ private static final String PARAM_NAME_TEXT = "Text";
+ private static final String PARAM_NAME_COUNT = "Count";
+ private static final String PARAM_NAME_DISTANCE = "Distance";
+
+ private static final String FUNCTIONS_SUFFIX = "Functions";
+
+ public static StaticMethodGeometryFunction createFunction(Method method)
+ {
+ Assert.isTrue(Geometry.class.isAssignableFrom((method.getParameterTypes())[0]));
+
+ Class clz = method.getDeclaringClass();
+
+ String category = extractCategory(ClassUtil.getClassname(clz));
+ String funcName = method.getName();
+ String description = extractDescription(method);
+ String[] paramNames = extractParamNames(method);
+ Class[] paramTypes = extractParamTypes(method);
+ Class returnType = method.getReturnType();
+
+ return new StaticMethodGeometryFunction(category, funcName,
+ description,
+ paramNames, paramTypes,
+ returnType, method);
+ }
+
+ private static String extractCategory(String className)
+ {
+ String trim = StringUtil.removeFromEnd(className, FUNCTIONS_SUFFIX);
+ return trim;
+ }
+
+ /**
+ * Java doesn't permit accessing the original code parameter names, unfortunately.
+ *
+ * @param method
+ * @return
+ */
+ private static String[] extractParamNames(Method method)
+ {
+ // Synthesize default names
+ String[] name = defaultParamNames(method);
+ // override with metadata titles, if any
+ Annotation[][] anno = method.getParameterAnnotations();
+ // Skip first annotation - it is the target geometry
+ for (int i = 0; i < name.length; i++) {
+ String annoName = MetadataUtil.title(anno[i+1]);
+ if (annoName != null) {
+ name[i] = annoName;
+ }
+ }
+ return name;
+ }
+
+ private static String[] defaultParamNames(Method method) {
+ int firstScalarIndex = firstScalarParamIndex(method);
+ // Synthesize default names
+ Class<?>[] type = method.getParameterTypes();
+ String[] name = new String[type.length - 1];
+ for (int i = 0; i < name.length; i++) {
+ // for first scalar parameter choose default name based on type
+ name[i] = "Arg " + i;
+ if (i+1 == firstScalarIndex) {
+ name[i] = paramNamePrimary(type[firstScalarIndex]);
+ }
+ }
+ return name;
+ }
+ private static int firstScalarParamIndex(Method method) {
+ Class<?>[] type = method.getParameterTypes();
+ for (int i = 0; i < type.length; i++) {
+ if (! ClassUtil.isGeometry(type[i])) {
+ return i;
+ }
+ }
+ return -1;
+ }
+ private static String paramNamePrimary(Class<?> clz) {
+ if (clz == String.class) return PARAM_NAME_TEXT;
+ if (ClassUtil.isDouble(clz)) return PARAM_NAME_DISTANCE;
+ //if (ClassUtil.isInt(clz)) return PARAM_NAME_COUNT;
+ return PARAM_NAME_COUNT;
+ }
+
+ private static String extractDescription(Method method)
+ {
+ Metadata doc = method.getAnnotation(Metadata.class);
+ String desc = (doc == null) ? "" : doc.description();
+ return desc;
+ }
+
+ private static Class[] extractParamTypes(Method method)
+ {
+ Class[] methodParamTypes = method.getParameterTypes();
+ Class[] types = new Class[methodParamTypes.length - 1];
+ for (int i = 1; i < methodParamTypes.length; i++)
+ types[i-1] = methodParamTypes[i];
+ return types;
+ }
+
+ private Method method;
+
+ public StaticMethodGeometryFunction(
+ String category,
+ String name,
+ String description,
+ String[] parameterNames,
+ Class[] parameterTypes,
+ Class returnType,
+ Method method)
+ {
+ super(category, name, description, parameterNames, parameterTypes, returnType);
+ this.method = method;
+ }
+
+ public Object invoke(Geometry g, Object[] arg)
+ {
+ return invoke(method, null, createFullArgs(g, arg));
+ }
+
+ /**
+ * Creates an arg array which includes the target geometry as the first argument
+ *
+ * @param g
+ * @param arg
+ * @return
+ */
+ private static Object[] createFullArgs(Geometry g, Object[] arg)
+ {
+ int fullArgLen = 1;
+ if (arg != null)
+ fullArgLen = arg.length + 1;
+ Object[] fullArg = new Object[fullArgLen];
+ fullArg[0] = g;
+ for (int i = 1; i < fullArgLen; i++) {
+ fullArg[i] = arg[i-1];
+ }
+ return fullArg;
+ }
+
+ public static Object invoke(Method method, Object target, Object[] args)
+ {
+ Object result;
+ try {
+ result = method.invoke(target, args);
+ }
+ catch (InvocationTargetException ex) {
+ Throwable t = ex.getCause();
+ if (t instanceof RuntimeException)
+ throw (RuntimeException) t;
+ throw new RuntimeException(invocationErrMsg(ex));
+ }
+ catch (Exception ex) {
+ System.out.println(ex.getMessage());
+ throw new RuntimeException(ex.getMessage());
+ }
+ return result;
+ }
+
+ private static String invocationErrMsg(InvocationTargetException ex)
+ {
+ Throwable targetEx = ex.getTargetException();
+ String msg = getClassname(targetEx.getClass())
+ + ": " +
+ targetEx.getMessage();
+ return msg;
+ }
+
+ public static String getClassname(Class javaClass)
+ {
+ String jClassName = javaClass.getName();
+ int lastDotPos = jClassName.lastIndexOf(".");
+ return jClassName.substring(lastDotPos + 1, jClassName.length());
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/test/TestCase.java b/modules/app/src/main/java/org/locationtech/jtstest/test/TestCase.java
new file mode 100644
index 0000000..56f994a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/test/TestCase.java
@@ -0,0 +1,360 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.test;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.*;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * @version 1.7
+ */
+public class TestCase implements Testable {
+ private PrecisionModel pm = new PrecisionModel();
+ private WKTWriter wktWriter = new WKTWriter();
+ protected String name, description, expectedIM;
+ protected boolean isRun = false;
+ protected boolean failed = false;
+ //protected boolean passed = false;
+ protected String failedMsg = "";
+ private Geometry expectedConvexHull = null;
+ private Geometry expectedBoundary = null;
+ private Geometry expectedIntersection = null;
+ private Geometry expectedUnion = null;
+ private Geometry expectedDifference = null;
+ private Geometry expectedSymDifference = null;
+ private Geometry expectedCentroid = null;
+ private IntersectionMatrix im;
+ private Geometry[] geom = new Geometry[2];
+ private String wkta;
+ private String wktb;
+
+ public TestCase() {
+ this(null, null, null, null, null, null, null, null, null, null);
+ }
+
+ public TestCase(String name) {
+ this(name, null, null, null, null, null, null, null, null, null);
+ }
+
+ public TestCase(String name, String description, String wkta, String wktb,
+ String expectedIM) {
+ this(name, description, wkta, wktb, expectedIM, null, null, null, null,
+ null);
+ }
+
+ public TestCase(String name, String description, String wkta, String wktb,
+ String expectedIM, String expectedConvexHull, String expectedIntersection,
+ String expectedUnion, String expectedDifference, String expectedSymDifference) {
+ this(name, description, wkta, wktb, expectedIM, expectedConvexHull, expectedIntersection,
+ expectedUnion, expectedDifference, expectedSymDifference, null);
+ }
+
+ public TestCase(String name, String description, String wkta, String wktb,
+ String expectedIM, String expectedConvexHull, String expectedIntersection,
+ String expectedUnion, String expectedDifference, String expectedSymDifference,
+ String expectedBoundary) {
+ try {
+ init(name, description, wkta, wktb, expectedIM, toNullOrGeometry(expectedConvexHull),
+ toNullOrGeometry(expectedIntersection), toNullOrGeometry(expectedUnion),
+ toNullOrGeometry(expectedDifference), toNullOrGeometry(expectedSymDifference),
+ toNullOrGeometry(expectedBoundary));
+ }
+ catch (ParseException e) {
+ Assert.shouldNeverReachHere();
+ }
+ }
+
+ public TestCase(TestCase tc) {
+ init(tc.name, tc.description, tc.getWellKnownText(0), tc.getWellKnownText(1),
+ tc.expectedIM, tc.getExpectedConvexHull(), tc.getExpectedIntersection(),
+ tc.getExpectedUnion(), tc.getExpectedDifference(), tc.getExpectedSymDifference(),
+ tc.getExpectedBoundary());
+ }
+
+ public void setGeometry(int index, Geometry g) {
+ geom[index] = g;
+ }
+
+ public TestCase setPrecisionModel(PrecisionModel pm)
+ {
+ this.pm = pm;
+ return this;
+ }
+ public void setIntersectionMatrix(IntersectionMatrix im) {
+ this.im = im;
+ }
+
+ public void setExpectedIntersectionMatrix(String expectedIntersectionMatrix) {
+ expectedIM = expectedIntersectionMatrix;
+ }
+
+ public TestCase setExpectedRelateMatrix(String expectedIntersectionMatrix) {
+ expectedIM = expectedIntersectionMatrix;
+ return this;
+ }
+
+ public TestCase setTestName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void setExpectedConvexHull(Geometry expectedConvexHull) {
+ this.expectedConvexHull = expectedConvexHull;
+ }
+
+ public void setExpectedBoundary(Geometry expectedBoundary) {
+ this.expectedBoundary = expectedBoundary;
+ }
+
+ public void setExpectedIntersection(Geometry expectedIntersection) {
+ this.expectedIntersection = expectedIntersection;
+ }
+
+ public void setExpectedUnion(Geometry expectedUnion) {
+ this.expectedUnion = expectedUnion;
+ }
+
+ public void setExpectedDifference(Geometry expectedDifference) {
+ this.expectedDifference = expectedDifference;
+ }
+
+ public void setExpectedSymDifference(Geometry expectedSymDifference) {
+ this.expectedSymDifference = expectedSymDifference;
+ }
+
+ public void setExpectedCentroid(Geometry expectedCentroid) {
+ this.expectedCentroid = expectedCentroid;
+ }
+
+ public TestCase setExpectedIntersection(String wkt) {
+ try {
+ this.expectedIntersection = toNullOrGeometry(wkt);
+ }
+ catch (ParseException e) {
+ Assert.shouldNeverReachHere();
+ }
+ return this;
+ }
+
+ public TestCase setExpectedBoundary(String wkt) {
+ try {
+ this.expectedBoundary = toNullOrGeometry(wkt);
+ }
+ catch (ParseException e) {
+ Assert.shouldNeverReachHere();
+ }
+ return this;
+ }
+
+ public TestCase setA(String wkta) {
+ this.wkta = wkta;
+ return this;
+ }
+
+ public TestCase setB(String wktb) {
+ this.wktb = wktb;
+ return this;
+ }
+
+ public Geometry getGeometry(int index) {
+ return geom[index];
+ }
+
+ public IntersectionMatrix getIntersectionMatrix() {
+ return im;
+ }
+
+ public String getExpectedIntersectionMatrix() {
+ return expectedIM;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public boolean isFailed() {
+ return failed;
+ }
+
+ public String getFailedMsg() {
+ return failedMsg;
+ }
+
+ public boolean isPassed() {
+ return isRun && !failed;
+ }
+
+ public boolean isRun() {
+ return isRun;
+ }
+
+ public String getWellKnownText(int i) {
+ if (geom[i] == null) {
+ return null;
+ }
+ return wktWriter.write(geom[i]);
+ }
+
+ public Geometry getExpectedConvexHull() {
+ return expectedConvexHull;
+ }
+
+ public Geometry getExpectedBoundary() {
+ return expectedBoundary;
+ }
+
+ public Geometry getExpectedIntersection() {
+ return expectedIntersection;
+ }
+
+ public Geometry getExpectedUnion() {
+ return expectedUnion;
+ }
+
+ public Geometry getExpectedDifference() {
+ return expectedDifference;
+ }
+
+ public Geometry getExpectedSymDifference() {
+ return expectedSymDifference;
+ }
+
+ public Geometry[] getGeometries() {
+ return geom;
+ }
+
+ public void runTest() throws ParseException {
+ failed = false;
+ isRun = true;
+ initGeometry();
+ if (expectedIM != null) {
+ IntersectionMatrix im = null;
+ if (geom[0] != null && geom[1] != null) {
+ im = relate(geom[0], geom[1]);
+ }
+ if (im != null) {
+ String msg = " expected " + expectedIM + ", found " + im.toString();
+ assertTrue(im.matches(expectedIM), msg);
+ }
+ }
+ if (expectedBoundary != null) {
+ Geometry result = geom[0].getBoundary();
+ assertEqualsExact(expectedBoundary, result, " expected boundary "
+ + expectedBoundary.toText() + " , found " + result.toText());
+ }
+ if (expectedConvexHull != null) {
+ Geometry result = geom[0].convexHull();
+ assertEqualsExact(expectedConvexHull, result, " expected convex hull "
+ + expectedConvexHull.toText() + " , found " + result.toText());
+ }
+ if (expectedIntersection != null) {
+ Geometry result = geom[0].intersection(geom[1]);
+ assertEqualsExact(expectedIntersection, result, " expected intersection "
+ + expectedIntersection.toText() + " , found " + result.toText());
+ }
+ if (expectedUnion != null) {
+ Geometry result = geom[0].union(geom[1]);
+ assertEqualsExact(expectedUnion, result, " expected union "
+ + expectedUnion.toText() + " , found " + result.toText());
+ }
+ if (expectedDifference != null) {
+ Geometry result = geom[0].difference(geom[1]);
+ assertEqualsExact(expectedDifference, result, " expected difference "
+ + expectedDifference.toText() + " , found " + result.toText());
+ }
+ if (expectedSymDifference != null) {
+ Geometry result = geom[0].symDifference(geom[1]);
+ assertEqualsExact(expectedSymDifference, result, " expected sym difference "
+ + expectedSymDifference.toText() + " , found " + result.toText());
+ }
+ }
+
+ public void initGeometry() throws ParseException {
+ GeometryFactory fact = new GeometryFactory(pm, 0);
+ WKTReader wktRdr = new WKTReader(fact);
+ if (geom[0] != null) {
+ return;
+ }
+ if (wkta != null) {
+ geom[0] = wktRdr.read(wkta);
+ }
+ if (wktb != null) {
+ geom[1] = wktRdr.read(wktb);
+ }
+ }
+
+ void init(String name, String description, String wkta, String wktb, String expectedIM,
+ Geometry expectedConvexHull, Geometry expectedIntersection, Geometry expectedUnion,
+ Geometry expectedDifference, Geometry expectedSymDifference, Geometry expectedBoundary) {
+ this.name = name;
+ this.description = description;
+ this.wkta = wkta;
+ this.wktb = wktb;
+ this.expectedIM = expectedIM;
+ this.expectedConvexHull = expectedConvexHull;
+ this.expectedBoundary = expectedBoundary;
+ this.expectedIntersection = expectedIntersection;
+ this.expectedUnion = expectedUnion;
+ this.expectedDifference = expectedDifference;
+ this.expectedSymDifference = expectedSymDifference;
+ }
+
+ IntersectionMatrix relate(Geometry a, Geometry b) {
+ return a.relate(b);
+ }
+
+ void assertEquals(Object o1, Object o2, String msg) {
+ assertTrue(o1.equals(o2), msg);
+ }
+
+ void assertEqualsExact(Geometry g1, Geometry g2, String msg) {
+ Geometry g1Clone = (Geometry) g1.clone();
+ Geometry g2Clone = (Geometry) g2.clone();
+ g1Clone.normalize();
+ g2Clone.normalize();
+ assertTrue(g1Clone.equalsExact(g2Clone), msg);
+ }
+
+ void assertTrue(boolean val, String msg) {
+ if (!val) {
+ failed = true;
+ failedMsg = msg;
+ }
+ }
+
+ private Geometry toNullOrGeometry(String wellKnownText) throws ParseException {
+ if (wellKnownText == null) {
+ return null;
+ }
+ GeometryFactory fact = new GeometryFactory(pm, 0);
+ WKTReader wktRdr = new WKTReader(fact);
+ return wktRdr.read(wellKnownText);
+ }
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/test/TestCaseList.java b/modules/app/src/main/java/org/locationtech/jtstest/test/TestCaseList.java
new file mode 100644
index 0000000..81eb447
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/test/TestCaseList.java
@@ -0,0 +1,76 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.test;
+
+import java.util.*;
+
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+
+
+/**
+ * @version 1.7
+ */
+public class TestCaseList {
+ ArrayList tests = new ArrayList();
+
+ public TestCaseList() { }
+
+ public List getList() {
+ return tests;
+ }
+ public int size() {
+ return tests.size();
+ }
+ public Testable get(int i) {
+ return (Testable) tests.get(i);
+ }
+ public void add(Testable tc) {
+ tests.add(tc);
+ }
+ public void add(TestCaseEdit tc, int i) {
+ arrayAdd(tests, tc, i);
+ }
+ public void add(TestCaseList tcl) {
+ for (Iterator i = tcl.tests.iterator(); i.hasNext(); ) {
+ tests.add((Testable) i.next());
+ }
+ }
+ public void remove(int i) {
+ tests.remove(i);
+ }
+
+ /**
+ * A shim for ArrayList.add(Object, int)
+ *
+ * @param list ArrayList to add to
+ * @param o object to add
+ * @param index index to add at
+ */
+ private static void arrayAdd(ArrayList list, Object o, int index) {
+ list.add(o);
+ // adding at or after end of array?
+ if (index >= list.size()) {
+ return;
+ }
+
+ int n = list.size();
+ // move elements up to make room for new element
+ for (int i = n-1; i > index; i--) {
+ list.set(i, list.get(i - 1));
+ }
+ list.set(index, o);
+ }
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/test/Testable.java b/modules/app/src/main/java/org/locationtech/jtstest/test/Testable.java
new file mode 100644
index 0000000..425ac5c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/test/Testable.java
@@ -0,0 +1,50 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.test;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.io.ParseException;
+
+
+/**
+ * @version 1.7
+ */
+public interface Testable {
+
+
+ String getName();
+
+
+ Geometry getGeometry(int index);
+
+
+ void setGeometry(int index, Geometry g);
+
+
+ IntersectionMatrix getIntersectionMatrix();
+
+
+ void setIntersectionMatrix(IntersectionMatrix im);
+
+ void initGeometry() throws ParseException;
+
+ String getDescription();
+
+ String getWellKnownText(int i);
+
+ void setName(String name);
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppConstants.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppConstants.java
new file mode 100644
index 0000000..bc49326
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppConstants.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import javax.swing.ImageIcon;
+
+import org.locationtech.jts.awt.FontGlyphReader;
+import org.locationtech.jtstest.testbuilder.model.GeometryDepiction;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+
+
+public class AppConstants
+{
+ public static final int POINT_SIZE = 5;
+ public static final int VERTEX_SIZE = 4;
+ public static double HIGHLIGHT_SIZE = 50.0;
+ public static double VERTEX_SHADOW_SIZE = 100;
+
+ public static double TOPO_STRETCH_VIEW_DIST = 5;
+
+ public static double MASK_WIDTH_FRAC = 0.3333;
+ // a very light gray
+ public static final Color MASK_CLR = new Color(230, 230, 230);
+
+ public static final Color VERTEX_SHADOW_CLR = new Color(180,180,180);
+ public static final Color VERTEX_HIGHLIGHT_CLR = new Color(255, 255, 0);
+
+ public static final Color HIGHLIGHT_CLR = new Color(255, 192, 0, 150);
+ public static final Color HIGHLIGHT_FILL_CLR = new Color(255, 240, 192, 200);
+
+ public static final Color BAND_CLR = new Color(255, 0, 0, 255);
+ public static final Color INDICATOR_FILL_CLR = GeometryDepiction.GEOM_RESULT_FILL_CLR;
+ //public static final Color INDICATOR_LINE_COLOR = new Color(255, 0, 0, 255);
+ //public static final Color INDICATOR_FILL_COLOR = new Color(255, 200, 200, 200);
+ public static final Color INDICATOR_LINE_CLR = GeometryDepiction.GEOM_RESULT_LINE_CLR;
+
+ public static final int AXIS_WIDTH = 3;
+ public static final Color AXIS_CLR = Color.lightGray;
+
+ public static final Color GRID_CLR = Color.lightGray;
+
+ public static final Color GRID_MAJOR_CLR = ColorUtil.gray(240);
+ public static final Color GRID_MINOR_CLR = ColorUtil.gray(190);
+ public static int TOLERANCE_PIXELS = 5;
+
+ public final static ImageIcon ICON_COLLECTION = new ImageIcon(AppConstants.class.getResource("Icon_GeomCollection.png"));
+ public final static ImageIcon ICON_COLLECTION_B = new ImageIcon(AppConstants.class.getResource("Icon_GeomCollection_B.png"));
+ public final static ImageIcon ICON_POLYGON = new ImageIcon(AppConstants.class.getResource("Icon_Polygon.png"));
+ public final static ImageIcon ICON_POLYGON_B = new ImageIcon(AppConstants.class.getResource("Icon_Polygon_B.png"));
+ public final static ImageIcon ICON_LINEARRING = new ImageIcon(AppConstants.class.getResource("Icon_LinearRing.png"));
+ public final static ImageIcon ICON_LINEARRING_B = new ImageIcon(AppConstants.class.getResource("Icon_LinearRing_B.png"));
+ public final static ImageIcon ICON_LINESTRING = new ImageIcon(AppConstants.class.getResource("Icon_LineString.png"));
+ public final static ImageIcon ICON_LINESTRING_B = new ImageIcon(AppConstants.class.getResource("Icon_LineString_B.png"));
+ public final static ImageIcon ICON_POINT = new ImageIcon(AppConstants.class.getResource("Icon_Point.png"));
+ public final static ImageIcon ICON_POINT_B = new ImageIcon(AppConstants.class.getResource("Icon_Point_B.png"));
+
+
+ public final static Font FONT_LABEL = new Font(FontGlyphReader.FONT_SANSSERIF, Font.BOLD, 12);
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppCursors.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppCursors.java
new file mode 100644
index 0000000..ce395e4
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppCursors.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Cursor;
+import java.awt.Toolkit;
+
+import javax.swing.ImageIcon;
+
+public class AppCursors
+{
+ public static Cursor DRAW_GEOM = Toolkit.getDefaultToolkit().createCustomCursor(
+ IconLoader.icon("DrawCursor.png").getImage(), new java.awt.Point(4, 26),
+ "Draw");
+
+ public static Cursor EDIT_VERTEX = Toolkit.getDefaultToolkit().createCustomCursor(
+ IconLoader.icon("MoveVertexCursor.gif").getImage(),
+ new java.awt.Point(16, 16), "MoveVertex");
+
+ public static Cursor HAND = Toolkit.getDefaultToolkit().createCustomCursor(
+ IconLoader.icon("Hand.gif").getImage(), new java.awt.Point(7, 7), "Pan");
+
+ public static Cursor ZOOM = Toolkit.getDefaultToolkit().createCustomCursor(
+ IconLoader.icon("MagnifyCursor.gif").getImage(),
+ new java.awt.Point(16, 16), "Zoom In");
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppStrings.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppStrings.java
new file mode 100644
index 0000000..1175178
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/AppStrings.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+public class AppStrings {
+
+ public static final String LABEL_TEST_CASE = "Case";
+
+ public static final String GEOM_LABEL_A = "A";
+ public static final String GEOM_LABEL_B = "B";
+
+ public static final String TAB_LABEL_LOG = "Log";
+ public static final String TAB_LABEL_VALUE = "Value";
+ static final String TAB_LABEL_RESULT = "Result";
+ static final String TAB_LABEL_INSPECT = "Inspect";
+ static final String TAB_LABEL_INPUT = "Input";
+ static final String TAB_LABEL_LAYERS = "Layers";
+ static final String TAB_LABEL_STATS = "Stats";
+ static final String TAB_LABEL_CASES = "Cases";
+
+ public static final String TIP_TEXT_ENTRY = "Enter WKT, WKB GeoJSON, or GML, or drag-n-drop a WKT, WKB, GeoJSON, GML or SHP file";
+ public static final String TIP_WKT_PANEL_LOAD_GEOMETRY = "Load geometries";
+ public static final String TIP_INSPECT_GEOMETRY = "Inspect Geometry";
+
+ static final String TIP_EXTRACT_COMPONENTS = "Extract Components to Case";
+
+ static final String TIP_DELETE_VERTEX_COMPONENT = "Delete Vertices or Components";
+
+ static final String TIP_MOVE_VERTEX = "<html>Move/Add/Delete Vertex<br><br>Move = Left-Btn<br>Add = Right-Btn<br>Delete = Ctl-Right-Btn</html>";
+
+ static final String TIP_PAN = "Pan";
+ static final String TIP_ZOOM_TO_FULL_EXTENT = "Zoom To Full Extent";
+ static final String TIP_ZOOM_TO_RESULT = "Zoom To Result";
+ static final String TIP_ZOOM_TO_B = "Zoom To B";
+ static final String TIP_ZOOM_TO_A = "Zoom To A";
+ static final String TIP_ZOOM_1_1 = "Zoom 1:1";
+ static final String TIP_ZOOM = "<html>Zoom In/Out<br><br>In = Left-Btn<br>Out = Right-Btn<br>Extent = Shift-Drag<br>Pan = Ctl-Drag</html>";
+
+ static final String TIP_INFO = "Show Info on Geometry, Segment, or Point";
+
+ static final String TIP_DRAW_RECTANGLE = "Draw Rectangle";
+ static final String TIP_DRAW_POINT = "Draw Point";
+ static final String TIP_DRAW_LINE = "<html>Draw LineString<br><br>Add Pt = Left-Click<br>Stream = Left-Drag</html>";
+ static final String TIP_DRAW_POLY = "<html>Draw Polygon<br><br>Add Pt = Left-Click<br>Stream = Left-Drag</html>";
+
+
+ static final String TIP_EXCHANGE_A_B = "Exchange A & B";
+
+ static final String TIP_CASE_DELETE = "Delete Case";
+ static final String TIP_CASE_DUP = "Duplicate Case";
+ static final String TIP_CASE_ADD_NEW = "Add New Case";
+
+ static final String TIP_NEXT = "<html>Next Case<br><br>No Zoom = Ctl-Click</html>";
+ static final String TIP_PREV = "<html>Previous Case<br><br>No Zoom = Ctl-Click</html>";
+
+ static final String TIP_PASTE_DATA = "Paste from WKT, WKB, or GML";
+
+ static final String TIP_COPY_DATA = "Copy as WKT (Ctl-click for formatted)";
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/BusyDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/BusyDialog.java
new file mode 100644
index 0000000..a5b1ad8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/BusyDialog.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+
+import javax.swing.ImageIcon;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.SwingConstants;
+
+import org.locationtech.jtstest.testrunner.GuiUtil;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+/**
+ * An indicator that the app is performing a long operation. Use instead of
+ * an hourglass, as Java 1.3's #setCursor methods are buggy. Make sure
+ * "images/Hourglass.gif" is on the classpath.
+ *
+ * @version 1.7
+ */
+public class BusyDialog extends JDialog {
+ private static Frame owner = null;
+
+ /**
+ * Sets the Frame for which the BusyDialog is displayed.
+ */
+ public static void setOwner(Frame _owner) {
+ owner = _owner;
+ }
+
+ public interface Executable {
+
+ public void execute() throws Exception;
+ }
+ ////////////////////////////////////////////////////////////////////////////////
+ private Executable executable;
+ private Thread thread = null;
+ private String description;
+ private ImageIcon icon = new ImageIcon(this.getClass().getResource("Hourglass.gif"));
+ private Exception exception = null;
+ private String stackTrace = null;
+ private javax.swing.Timer timer = new javax.swing.Timer(250, new ActionListener() {
+
+ public void actionPerformed(ActionEvent evt) {
+ label.setText(description);
+ if (!thread.isAlive()) {
+ timer.stop();
+ setVisible(false);
+ }
+ }
+ });
+ JLabel label = new JLabel();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+
+ /**
+ * Creates a BusyDialog
+ */
+ public BusyDialog() {
+ super(owner, "Busy", true);
+ try {
+ jbInit();
+ pack();
+ } catch (Exception e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ private void jbInit() throws Exception {
+ label.setText("Please wait . . .");
+ label.setMaximumSize(new Dimension(400, 40));
+ label.setMinimumSize(new Dimension(400, 40));
+ label.setPreferredSize(new Dimension(400, 40));
+ label.setHorizontalAlignment(SwingConstants.CENTER);
+ label.setIcon(icon);
+ this.setResizable(false);
+ this.setModal(true);
+ this.getContentPane().setLayout(gridBagLayout1);
+ this.addWindowListener(new java.awt.event.WindowAdapter() {
+
+ public void windowOpened(WindowEvent e) {
+ this_windowOpened(e);
+ }
+ });
+ setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+ this.getContentPane().add(
+ label,
+ new GridBagConstraints(
+ 0,
+ 0,
+ 1,
+ 1,
+ 1.0,
+ 1.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(4, 4, 4, 4),
+ 0,
+ 0));
+ }
+
+ /**
+ * Runs the Executable and displays the BusyDialog.
+ */
+ public void execute(String description, Executable executable) throws Exception {
+ this.executable = executable;
+ this.description = description;
+ exception = null;
+ stackTrace = null;
+ if (owner == null)
+ GuiUtil.centerOnScreen(this);
+ else
+ GuiUtil.center(this, owner);
+ setVisible(true);
+ if (exception != null)
+ throw exception;
+ }
+
+ void this_windowOpened(WindowEvent e) {
+ label.setText(description);
+ Runnable runnable = new Runnable() {
+
+ public void run() {
+ try {
+ executable.execute();
+ } catch (Exception e) {
+ exception = e;
+ stackTrace = StringUtil.getStackTrace(e);
+ }
+ }
+ };
+ thread = new Thread(runnable);
+ thread.start();
+ timer.start();
+ }
+
+ /**
+ * Sets the String displayed in the BusyDialog. Can be safely called
+ * by the AWT event dispatching thread and threads other than the
+ * AWT event dispatching thread.
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getStackTrace() {
+ return stackTrace;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditControlPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditControlPanel.java
new file mode 100644
index 0000000..0b44223
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditControlPanel.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseEvent;
+
+import javax.swing.AbstractButton;
+import javax.swing.BorderFactory;
+import javax.swing.ButtonGroup;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JSpinner;
+import javax.swing.JTextField;
+import javax.swing.SpinnerNumberModel;
+import javax.swing.SwingConstants;
+import javax.swing.border.BevelBorder;
+import javax.swing.border.Border;
+import javax.swing.border.TitledBorder;
+
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryEditControlPanel extends JPanel
+{
+ private TestBuilderModel model;
+ private GeometryEditModel geomModel;
+
+
+ //---------------------------------------------
+ BorderLayout borderLayout1 = new BorderLayout();
+ ButtonGroup geometryType = new ButtonGroup();
+ JPanel jPanel3 = new JPanel();
+ JRadioButton rbNoEdit = new JRadioButton();
+ JRadioButton rbA = new JRadioButton();
+ JRadioButton rbB = new JRadioButton();
+ JPanel jPanel1 = new JPanel();
+ TitledBorder titledBorder2;
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ ButtonGroup editMode = new ButtonGroup();
+ JPanel jPanel4 = new JPanel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ Border border3;
+ GridBagLayout gridBagLayout4 = new GridBagLayout();
+ GridLayout gridLayout1 = new GridLayout();
+ JButton btnEraseGeom = new JButton();
+ JPanel jPanel7 = new JPanel();
+ GridLayout gridLayout2 = new GridLayout();
+ private GridBagLayout gridBagLayout5 = new GridBagLayout();
+ private JPanel jPanelPM = new JPanel();
+ JButton btnSetPrecisionModel = new JButton();
+ //LayerControlList layerList = new LayerControlList();
+
+ JPanel jPanel9 = new JPanel();
+ JCheckBox cbMagnifyTopo = new JCheckBox();
+
+ JPanel jPanelMagnify = new JPanel();
+ JSpinner stretchDist = new JSpinner(new SpinnerNumberModel(5, 0, 99999, 1));
+
+ public GeometryEditControlPanel() {
+ //enableEvents(AWTEvent.WINDOW_EVENT_MASK);
+ try {
+ uiInit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void setModel(TestBuilderModel model) {
+ this.model = model;
+ geomModel = model.getGeometryEditModel();
+ geomModel
+ .addGeometryListener(new org.locationtech.jtstest.testbuilder.model.GeometryListener() {
+ public void geometryChanged(GeometryEvent e) {
+ editPanel_geometryChanged(e);
+ }
+ });
+
+ }
+
+ /**Component initialization*/
+ private void uiInit() throws Exception {
+ titledBorder2 =
+ new TitledBorder(BorderFactory.createLineBorder(Color.gray, 1), "Edit Mode");
+ this.setLayout(borderLayout1);
+ //this.setSize(new Dimension(194, 300));
+ rbNoEdit.setMargin(new Insets(0, 0, 0, 0));
+ rbNoEdit.setPreferredSize(new Dimension(61, 16));
+ rbNoEdit.setText("No Edit");
+ rbNoEdit.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ rbNoEdit_actionPerformed(e);
+ }
+ });
+ rbNoEdit.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ rbNoEdit_actionPerformed(e);
+ }
+ });
+ rbB.setForeground(Color.red);
+ rbB.setMargin(new Insets(0, 0, 0, 0));
+ rbB.setPreferredSize(new Dimension(66, 16));
+ rbB.setText("Edit B");
+ rbB.setFont(new java.awt.Font("Dialog", 1, 14));
+ rbB.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ rbB_actionPerformed(e);
+ }
+ });
+ jPanel1.setLayout(gridBagLayout1);
+ rbA.setMargin(new Insets(0, 0, 0, 0));
+ rbA.setPreferredSize(new Dimension(66, 16));
+ rbA.setText("Edit A");
+ rbA.setForeground(Color.blue);
+ rbA.setFont(new java.awt.Font("Dialog", 1, 14));
+ rbA.setSelected(true);
+ rbA.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbA_actionPerformed(e);
+ }
+ });
+
+ //jPanel1.setBorder(titledBorder2);
+
+ btnEraseGeom.setPreferredSize(new Dimension(43, 20));
+ btnEraseGeom.setMargin(new Insets(2, 2, 2, 2));
+ btnEraseGeom.setText("Erase");
+ btnEraseGeom.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnEraseGeom_actionPerformed(e);
+ }
+ });
+ jPanel7.setLayout(gridLayout2);
+
+// btnSetPrecisionModel.setMaximumSize(new Dimension(30, 27));
+ btnSetPrecisionModel.setMinimumSize(new Dimension(120, 27));
+ btnSetPrecisionModel.setPreferredSize(new Dimension(120, 21));
+ btnSetPrecisionModel.setToolTipText("Set the Precision Model used by all Test Cases");
+ btnSetPrecisionModel.setMargin(new Insets(2, 2, 2, 2));
+ btnSetPrecisionModel.setMnemonic('0');
+ btnSetPrecisionModel.setText("Precision Model...");
+
+ // put box ahead of text
+ //cbMagnifyTopo.setHorizontalTextPosition(AbstractButton.LEADING);
+ cbMagnifyTopo.setText("Magnify Topology");
+ cbMagnifyTopo.setToolTipText("Stretches portions of geometries to reveal fine topological detail");
+ stretchDist.setToolTipText("Stretch Distance");
+
+ /*
+ jPanel1.add(
+ rbNoEdit,
+ new GridBagConstraints(
+ 0,
+ 0,
+ 1,
+ 1,
+ 1.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 5, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ rbA,
+ new GridBagConstraints(
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 5, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ rbB,
+ new GridBagConstraints(
+ 0,
+ 2,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 5, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ btnEraseGeom,
+ new GridBagConstraints(
+ 1,
+ 1,
+ 1,
+ 2,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.HORIZONTAL,
+ new Insets(0, 0, 0, 0),
+ 0,
+ 0));
+ */
+
+
+ jPanelPM.setLayout(new FlowLayout());
+ jPanelPM.add(btnSetPrecisionModel);
+
+ //jPanel9.setLayout(new FlowLayout());
+ // jPanel9.add(cbMagnifyTopo);
+
+ jPanelMagnify.setLayout(new FlowLayout());
+ jPanelMagnify.add(cbMagnifyTopo);
+ jPanelMagnify.add(stretchDist);
+ //jPanel10.add(new JLabel());
+ //jPanel10.add(new JLabel("Stretch Distance"));
+
+ //jPanel3.setLayout(gridBagLayout5);
+ jPanel3.setLayout(new GridLayout(2, 1, 10, 2));
+ jPanel3.add(jPanelPM);
+ //jPanel3.add(jPanelMagnify);
+
+
+ //this.add(jPanel1, BorderLayout.NORTH);
+ this.add(jPanel3, BorderLayout.SOUTH);
+ //this.add(layerList, BorderLayout.CENTER);
+
+ editMode.add(rbNoEdit);
+ editMode.add(rbA);
+ editMode.add(rbB);
+ }
+
+ void editPanel_geometryChanged(GeometryEvent e) {
+ updatePanel(false);
+ }
+
+ void rbA_actionPerformed(ActionEvent e) {
+ setEditMode(0);
+ }
+
+ void rbB_actionPerformed(ActionEvent e) {
+ setEditMode(1);
+ }
+
+ void setEditMode(int geomIndex) {
+ geomModel.setReadOnly(false);
+ geomModel.setEditGeomIndex(geomIndex);
+// setGeometryTypeState();
+ }
+
+ void rbNoEdit_actionPerformed(ActionEvent e) {
+ geomModel.setReadOnly(true);
+ }
+
+ void cbStretchTopo_actionPerformed(ActionEvent e) {
+
+ }
+
+ private void updatePanel(boolean partClosed)
+ {
+ }
+
+ void rbGeomLineString_actionPerformed(ActionEvent e) {
+ geomModel.setGeometryType(GeometryType.LINESTRING);
+ }
+
+ void rbGeomPolygon_actionPerformed(ActionEvent e) {
+ geomModel.setGeometryType(GeometryType.POLYGON);
+ }
+
+ void rbGeomPoint_actionPerformed(ActionEvent e) {
+ geomModel.setGeometryType(GeometryType.POINT);
+ }
+
+ void btnEraseGeom_actionPerformed(ActionEvent e) {
+ geomModel.clear();
+// setGeometryTypeState();
+ }
+
+ void setGridSizeButton_actionPerformed(ActionEvent e) {}
+
+ /*
+ public double getStretchSize()
+ {
+ Integer size = (Integer) stretchDist.getValue();
+ return size.intValue();
+ }
+ */
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditPanel.java
new file mode 100644
index 0000000..a4eb519
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryEditPanel.java
@@ -0,0 +1,681 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.text.NumberFormat;
+import java.util.List;
+
+import java.awt.*;
+import java.awt.event.ComponentEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import java.awt.geom.Area;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.BorderFactory;
+import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.testbuilder.model.*;
+import org.locationtech.jtstest.testbuilder.ui.*;
+import org.locationtech.jtstest.testbuilder.ui.render.*;
+import org.locationtech.jtstest.testbuilder.ui.style.AWTUtil;
+import org.locationtech.jtstest.testbuilder.ui.tools.*;
+
+
+/**
+ * Panel which displays rendered geometries.
+ *
+ * Zoom methods take arguments in model space.
+ *
+ * @version 1.7
+ */
+public class GeometryEditPanel extends JPanel
+{
+ /*
+ private static Color[] selectedPointColor = { new Color(0, 64, 128, 255),
+ new Color(170, 64, 0, 255) };
+*/
+
+ private TestBuilderModel tbModel;
+
+ private DrawingGrid grid = new DrawingGrid();
+ private GridRenderer gridRenderer;
+
+ boolean stateAddingPoints = false;
+
+ Coordinate markPoint;
+ Point2D lastPt = new Point2D.Double();
+
+ private Tool currentTool = null; //PolygonTool.getInstance();
+
+ private Viewport viewport = new Viewport(this);
+
+ private RenderManager renderMgr;
+ //private OperationMonitorManager opMonitor;
+
+ //----------------------------------------
+ BorderLayout borderLayout1 = new BorderLayout();
+
+ GeometryPopupMenu menu = new GeometryPopupMenu();
+
+ public GeometryEditPanel() {
+ gridRenderer = new GridRenderer(viewport, grid);
+ try {
+ initUI();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ renderMgr = new RenderManager(this);
+ //opMonitor = new OperationMonitorManager(this, viewport);
+ }
+
+ void initUI() throws Exception {
+ this.addComponentListener(new java.awt.event.ComponentAdapter() {
+
+ public void componentResized(ComponentEvent e) {
+ this_componentResized(e);
+ }
+ });
+ this.setBackground(Color.white);
+ this.setBorder(BorderFactory.createLoweredBevelBorder());
+ this.setLayout(borderLayout1);
+
+ setToolTipText("");
+ setBorder(BorderFactory.createEmptyBorder());
+
+ // deactivate for now, since it interferes with right-click zoom-out
+ //addMouseListener(new PopupClickListener());
+ }
+
+ class PopupClickListener extends MouseAdapter
+ {
+ public void mousePressed(MouseEvent e)
+ {
+ if (e.isPopupTrigger())
+ doPopUp(e);
+ }
+ public void mouseReleased(MouseEvent e)
+ {
+ if (e.isPopupTrigger())
+ doPopUp(e);
+ }
+ private void doPopUp(MouseEvent e)
+ {
+ menu.show(e.getComponent(), e.getX(), e.getY());
+ }
+ }
+
+
+ public void setModel(TestBuilderModel model) {
+ this.tbModel = model;
+ }
+
+ public TestBuilderModel getModel() {
+ return tbModel;
+ }
+ public GeometryEditModel getGeomModel()
+ {
+ return tbModel.getGeometryEditModel();
+ }
+
+ public void setGridEnabled(boolean isEnabled) {
+ gridRenderer.setEnabled(isEnabled);
+ }
+
+ public Viewport getViewport() { return viewport; }
+
+ public void updateView()
+ {
+// fireGeometryChanged(new GeometryEvent(this));
+ forceRepaint();
+ }
+
+ public void forceRepaint() {
+ renderMgr.setDirty(true);
+
+ Component source = SwingUtilities.windowForComponent(this);
+ if (source == null)
+ source = this;
+ source.repaint();
+ }
+
+ private LayerList getLayerList()
+ {
+ return tbModel.getLayers();
+ }
+
+ public void setShowingInput(boolean isEnabled)
+ {
+ if (tbModel == null) return;
+ getLayerList().getLayer(LayerList.LYR_A).setEnabled(isEnabled);
+ getLayerList().getLayer(LayerList.LYR_B).setEnabled(isEnabled);
+ forceRepaint();
+ }
+
+ public void setShowingGeometryA(boolean isEnabled) {
+ if (tbModel == null) return;
+ getLayerList().getLayer(LayerList.LYR_A).setEnabled(isEnabled);
+ forceRepaint();
+ }
+
+ public void setShowingGeometryB(boolean isEnabled) {
+ if (tbModel == null) return;
+ getLayerList().getLayer(LayerList.LYR_B).setEnabled(isEnabled);
+ forceRepaint();
+ }
+
+ public void setShowingResult(boolean isEnabled)
+ {
+ if (tbModel == null) return;
+ getLayerList().getLayer(LayerList.LYR_RESULT).setEnabled(isEnabled);
+ forceRepaint();
+ }
+
+ public void setGridSize(double gridSize) {
+ grid.setGridSize(gridSize);
+ forceRepaint();
+ }
+
+ public void setHighlightPoint(Coordinate pt) {
+ markPoint = pt;
+ }
+
+ public boolean isAddingPoints() {
+ return stateAddingPoints;
+ }
+
+ public void updateGeom()
+ {
+ renderMgr.setDirty(true);
+ getGeomModel().geomChanged();
+ }
+
+ public String getToolTipText(MouseEvent event) {
+// if (event.getPoint().x < 100) return null;
+ Coordinate pt = viewport.toModelCoordinate(event.getPoint());
+ double toleranceInModel = AppConstants.TOLERANCE_PIXELS / getViewport().getScale();
+ // avoid wierd scale issues
+ if (toleranceInModel <= 0.0) return null;
+ return GeometryLocationsWriter.writeLocation(getLayerList(), pt, toleranceInModel);
+// return viewport.toModel(event.getPoint()).toString();
+// return null;
+ }
+
+ public double getToleranceInModel()
+ {
+ return AppConstants.TOLERANCE_PIXELS / getViewport().getScale();
+ }
+
+ public String getInfo(Coordinate pt)
+ {
+ double toleranceInModel = AppConstants.TOLERANCE_PIXELS / getViewport().getScale();
+ GeometryLocationsWriter writer = new GeometryLocationsWriter();
+ writer.setHtml(false);
+ return writer.writeLocationString(getLayerList(), pt, toleranceInModel);
+ }
+
+ public double getGridSize() {
+ return grid.getGridSize();
+ }
+
+ public void paintComponent(Graphics g) {
+ super.paintComponent(g);
+ renderMgr.render();
+ renderMgr.copyImage(g);
+ }
+
+ /*
+ // MD - obsolete
+ public void render(Graphics g)
+ {
+ Graphics2D g2 = (Graphics2D) g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+
+ gridRenderer.paint(g2);
+ getLayerList().paint((Graphics2D) g2, viewport);
+ }
+ */
+
+ private static int VERTEX_SIZE = AppConstants.VERTEX_SIZE + 1;
+ private static double VERTEX_SIZE_OVER_2 = VERTEX_SIZE / 2;
+
+ private static int INNER_SIZE = VERTEX_SIZE - 2;
+ private static double INNER_SIZE_OVER_2 = INNER_SIZE / 2;
+
+ private void drawHighlightedVertices(Graphics2D g, List coords, Color clr) {
+ Rectangle2D rect = new Rectangle2D.Double();
+ for (int i = 0; i < coords.size(); i++) {
+ Coordinate pt = (Coordinate) coords.get(i);
+ Point2D p = viewport.toView(pt);
+ rect.setFrame(
+ p.getX() - VERTEX_SIZE_OVER_2,
+ p.getY() - VERTEX_SIZE_OVER_2,
+ VERTEX_SIZE,
+ VERTEX_SIZE);
+ g.setColor(clr);
+ g.fill(rect);
+ Rectangle2D rectInner = new Rectangle2D.Double(
+ p.getX() - INNER_SIZE_OVER_2,
+ p.getY() - INNER_SIZE_OVER_2,
+ INNER_SIZE,
+ INNER_SIZE);
+ g.setColor(AppConstants.VERTEX_HIGHLIGHT_CLR);
+ g.fill(rectInner);
+
+ }
+ }
+
+ private void drawHighlightedVertex(Graphics2D g, Coordinate pt, Color clr) {
+ Rectangle2D rect = new Rectangle2D.Double();
+ Point2D p = viewport.toView(pt);
+ rect.setFrame(
+ p.getX() - VERTEX_SIZE_OVER_2,
+ p.getY() - VERTEX_SIZE_OVER_2,
+ VERTEX_SIZE,
+ VERTEX_SIZE);
+ g.setColor(clr);
+ g.fill(rect);
+ Rectangle2D rectInner = new Rectangle2D.Double(
+ p.getX() - INNER_SIZE_OVER_2,
+ p.getY() - INNER_SIZE_OVER_2,
+ INNER_SIZE,
+ INNER_SIZE);
+ g.setColor(AppConstants.VERTEX_HIGHLIGHT_CLR);
+ g.fill(rectInner);
+ }
+
+ private static double VERTEX_SHADOW_SIZE_OVER_2 = AppConstants.VERTEX_SHADOW_SIZE / 2;
+
+ private void drawVertexShadow(Graphics2D g, Coordinate pt, Color clr) {
+ Ellipse2D rect = new Ellipse2D.Double();
+ Point2D p = viewport.toView(pt);
+ rect.setFrame(
+ p.getX() - VERTEX_SHADOW_SIZE_OVER_2,
+ p.getY() - VERTEX_SHADOW_SIZE_OVER_2,
+ AppConstants.VERTEX_SHADOW_SIZE,
+ AppConstants.VERTEX_SHADOW_SIZE);
+ g.setColor(clr);
+ g.fill(rect);
+ }
+
+ private void drawMark(Graphics2D g) {
+ if (markPoint == null)
+ return;
+
+ String markLabel = markPoint.x + ", " + markPoint.y;
+ int strWidth = g.getFontMetrics().stringWidth(markLabel);
+
+ double markSize = AppConstants.HIGHLIGHT_SIZE;
+ Point2D highlightPointView = viewport.toView(markPoint);
+ double markX = highlightPointView.getX();
+ double markY = highlightPointView.getY();
+ Ellipse2D.Double shape = new Ellipse2D.Double(
+ markX - markSize / 2,
+ markY - markSize / 2,
+ markSize, markSize);
+ AWTUtil.setStroke(g, 4);
+ g.setColor(AppConstants.HIGHLIGHT_CLR);
+ g.draw(shape);
+
+ // draw label box
+ Envelope viewEnv = viewport.getViewEnv();
+
+ int bottomOffset = 10;
+ int boxHgt = 20;
+ int boxPadX = 20;
+ int boxWidth = strWidth + 2 * boxPadX;
+ int arrowWidth = 10;
+ int arrowOffset = 2;
+ int labelOffsetY = 5;
+
+ int bottom = (int) viewEnv.getMaxY() - bottomOffset;
+ int centreX = (int) (viewEnv.getMinX() + viewEnv.getMaxX()) / 2;
+
+ int boxMinX = centreX - boxWidth/2;
+ int boxMaxX = centreX + boxWidth/2;
+ int boxMinY = bottom - boxHgt;
+ int boxMaxY = bottom;
+
+ int[] xpts = new int[] {
+ boxMinX, centreX - arrowWidth/2, (int) markX, centreX + arrowWidth/2,
+ boxMaxX, boxMaxX, boxMinX };
+ int[] ypts = new int[] {
+ boxMinY, boxMinY, (int) (markY + arrowOffset), boxMinY,
+ boxMinY, boxMaxY, boxMaxY };
+
+ Polygon poly = new Polygon(xpts, ypts, xpts.length);
+
+ g.setColor(AppConstants.HIGHLIGHT_FILL_CLR);
+ g.fill(poly);
+ AWTUtil.setStroke(g, 1);
+ g.setColor(ColorUtil.opaque(AppConstants.HIGHLIGHT_CLR));
+ g.draw(poly);
+
+ // draw mark point label
+ g.setColor(Color.BLACK);
+ g.drawString(markLabel, centreX - strWidth/2, boxMaxY - labelOffsetY);
+
+ }
+
+ /**
+ * Draws a mask surround to indicate that geometry is being visually altered
+ * @param g
+ */
+ private void drawMagnifyMask(Graphics2D g) {
+ double viewWidth = viewport.getWidthInView();
+ double viewHeight = viewport.getHeightInView();
+
+ float minExtent = (float) Math.min(viewWidth, viewHeight);
+ float maskWidth = (float) (minExtent * AppConstants.MASK_WIDTH_FRAC / 2);
+
+ Area mask = new Area(new Rectangle2D.Float(
+ (float) 0, (float) 0,
+ (float) viewWidth, (float) viewHeight));
+
+ Area maskHole = new Area(new Rectangle2D.Float(
+ (float) maskWidth,
+ (float) maskWidth,
+ ((float) viewWidth) - 2 * maskWidth,
+ ((float) viewHeight) - 2 * maskWidth));
+
+ mask.subtract(maskHole);
+ g.setColor(AppConstants.MASK_CLR);
+ g.fill(mask);
+ }
+
+ public void flash(Geometry g)
+ {
+ Graphics2D gr = (Graphics2D) getGraphics();
+ gr.setXORMode(Color.white);
+ Stroke stroke = new BasicStroke(5);
+
+ Geometry flashGeom = g;
+ if (g instanceof org.locationtech.jts.geom.Point)
+ flashGeom = flashPointGeom(g);
+
+ try {
+ GeometryPainter.paint(flashGeom, viewport, gr, Color.RED, null, stroke);
+ Thread.sleep(200);
+ GeometryPainter.paint(flashGeom, viewport, gr, Color.RED, null, stroke);
+ }
+ catch (Exception ex) {
+ // nothing we can do
+ }
+ gr.setPaintMode();
+ }
+
+ private Geometry flashPointGeom(Geometry g)
+ {
+ double ptRadius = viewport.toModel(4);
+ return g.buffer(ptRadius);
+ }
+
+
+ public Point2D snapToGrid(Point2D modelPoint) {
+ return grid.snapToGrid(modelPoint);
+ }
+
+ void this_componentResized(ComponentEvent e) {
+ renderMgr.componentResized();
+ viewport.update(this.getSize());
+ }
+
+ /**
+ *
+ * @param newTool tool to set, or null to clear tool
+ */
+ public void setCurrentTool(Tool newTool) {
+ if (currentTool != null) currentTool.deactivate();
+ currentTool = newTool;
+ if (currentTool != null) currentTool.activate(this);
+ }
+
+ public void zoomToGeometry(int i) {
+ Geometry g = getGeomModel().getGeometry(i);
+ if (g == null) return;
+ zoom(g.getEnvelopeInternal());
+ }
+
+ public void zoomToInput() {
+ zoom(getGeomModel().getEnvelope());
+ }
+
+ public void zoomToResult() {
+ zoom(getGeomModel().getEnvelopeResult());
+ }
+
+ public void zoomToFullExtent() {
+ zoom(getGeomModel().getEnvelopeAll());
+ }
+
+ public void zoom(Geometry geom)
+ {
+ if (geom == null) return;
+ zoom(geom.getEnvelopeInternal());
+ }
+
+ public void zoom(Point2D zoomBox1, Point2D zoomBox2)
+ {
+ Envelope zoomEnv = new Envelope();
+ zoomEnv.expandToInclude(zoomBox1.getX(), zoomBox1.getY());
+ zoomEnv.expandToInclude(zoomBox2.getX(), zoomBox2.getY());
+ zoom(zoomEnv);
+ }
+
+ public void zoom(Envelope zoomEnv) {
+ if (zoomEnv == null)
+ return;
+
+ if (zoomEnv.isNull()) {
+ viewport.zoomToInitialExtent();
+ return;
+ }
+ double averageExtent = (zoomEnv.getWidth() + zoomEnv.getHeight()) / 2d;
+ // fix to allow zooming to points
+ if (averageExtent == 0.0)
+ averageExtent = 1.0;
+ double buffer = averageExtent * 0.1;
+ zoomEnv.expandBy(buffer);
+ viewport.zoom(zoomEnv);
+ }
+
+ /**
+ * Zoom to a point, ensuring that the zoom point remains in the same screen location.
+ *
+ * @param zoomPt
+ * @param zoomFactor
+ */
+ public void zoom(Point2D zoomPt, double zoomFactor) {
+ double zoomScale = getViewport().getScale() * zoomFactor;
+ viewport.zoom(zoomPt, zoomScale);
+ }
+
+ public void zoomPan(double dx, double dy) {
+ getViewport().zoomPan(dx, dy);
+ }
+
+ public String cursorLocationString(Point2D pView)
+ {
+ Point2D p = getViewport().toModel(pView);
+ NumberFormat format = getViewport().getScaleFormat();
+ return format.format(p.getX())
+ + ", "
+ + format.format(p.getY());
+ }
+
+ public Renderer getRenderer()
+ {
+ return new GeometryEditPanelRenderer();
+ }
+
+ class GeometryEditPanelRenderer implements Renderer
+ {
+ private GeometryStretcherView stretchView = null;
+ private Renderer currentRenderer = null;
+ private boolean isMagnifyingTopology = false;
+ private boolean isRenderingStretchVertices = false;
+
+ public GeometryEditPanelRenderer()
+ {
+ if (DisplayParameters.isMagnifyingTopology()) {
+ stretchView = new GeometryStretcherView(getGeomModel());
+ stretchView.setStretchSize(viewport.toModel(DisplayParameters.getTopologyStretchSize()));
+ stretchView.setNearnessTolerance(viewport.toModel(GeometryStretcherView.NEARNESS_TOL_IN_VIEW));
+ stretchView.setEnvelope(viewport.getModelEnv());
+ isMagnifyingTopology = DisplayParameters.isMagnifyingTopology();
+ isRenderingStretchVertices = stretchView.isViewPerformant();
+ }
+ }
+
+ public void render(Graphics2D g)
+ {
+ Graphics2D g2 = g;
+ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+
+ if (isMagnifyingTopology) {
+ if (isRenderingStretchVertices) {
+ //renderMagnifiedVertexShadows(g2);
+ renderMagnifiedVertexMask(g2);
+ }
+ else {
+ // render indicator that shows stretched view is non-performant
+ renderMagnifyWarning(g2);
+ }
+ }
+
+ gridRenderer.paint(g2);
+
+ renderLayers(g2);
+
+ if (isMagnifyingTopology && isRenderingStretchVertices) {
+ renderMagnifiedVertices(g2);
+ }
+
+ drawMark(g2);
+
+ }
+
+ public void renderLayers(Graphics2D g)
+ {
+ LayerList layerList = getLayerList();
+ int n = layerList.size();
+ for (int i = 0; i < n; i++) {
+ if (isMagnifyingTopology && isRenderingStretchVertices
+ && stretchView != null && i < 2) {
+ //System.out.println("rendering stretch verts");
+ currentRenderer = new LayerRenderer(layerList.getLayer(i),
+ new StaticGeometryContainer(stretchView.getStretchedGeometry(i)),
+ viewport);
+ }
+ else {
+ currentRenderer = new LayerRenderer(layerList.getLayer(i), viewport);
+ }
+ currentRenderer.render(g);
+ }
+ currentRenderer = null;
+ }
+
+ public void renderMagnifiedVertices(Graphics2D g)
+ {
+ LayerList layerList = getLayerList();
+ for (int i = 0; i < 2; i++) {
+ // respect layer visibility
+ if (! layerList.getLayer(i).isEnabled()) continue;
+
+ List stretchedVerts = stretchView.getStretchedVertices(i);
+ if (stretchedVerts == null) continue;
+ for (int j = 0; j < stretchedVerts.size(); j++) {
+ Coordinate p = (Coordinate) stretchedVerts.get(j);
+ drawHighlightedVertex(g, p,
+ i == 0 ? GeometryDepiction.GEOM_A_HIGHLIGHT_CLR :
+ GeometryDepiction.GEOM_B_HIGHLIGHT_CLR);
+ }
+ }
+ }
+
+ public void renderMagnifiedVertexShadows(Graphics2D g)
+ {
+ if (stretchView == null) return;
+ for (int i = 0; i < 2; i++) {
+ List stretchedVerts = stretchView.getStretchedVertices(i);
+ if (stretchedVerts == null) continue;
+ for (int j = 0; j < stretchedVerts.size(); j++) {
+ Coordinate p = (Coordinate) stretchedVerts.get(j);
+ drawVertexShadow(g, p, AppConstants.VERTEX_SHADOW_CLR);
+ }
+ }
+ }
+
+ public void renderMagnifiedVertexMask(Graphics2D g)
+ {
+ if (stretchView == null) return;
+
+ // render lowlight background
+ Rectangle2D rect = new Rectangle2D.Float();
+ rect.setFrame(
+ 0,
+ 0,
+ viewport.getWidthInView(),
+ viewport.getHeightInView());
+ g.setColor(AppConstants.MASK_CLR);
+ g.fill(rect);
+
+ // highlight mag vertices
+ for (int i = 0; i < 2; i++) {
+ List stretchedVerts = stretchView.getStretchedVertices(i);
+ if (stretchedVerts == null) continue;
+ for (int j = 0; j < stretchedVerts.size(); j++) {
+ Coordinate p = (Coordinate) stretchedVerts.get(j);
+ drawVertexShadow(g, p, Color.WHITE);
+ }
+ }
+ }
+
+ public void renderMagnifyWarning(Graphics2D g)
+ {
+ if (stretchView == null) return;
+
+ float maxx = (float) viewport.getWidthInView();
+ float maxy = (float) viewport.getHeightInView();
+ GeneralPath path = new GeneralPath();
+ path.moveTo(0, 0);
+ path.lineTo(maxx, maxy);
+ path.moveTo(0, maxy);
+ path.lineTo(maxx, 0);
+ // render lowlight background
+ g.setColor(AppConstants.MASK_CLR);
+ g.setStroke(new BasicStroke(30));
+ g.draw(path);
+
+ }
+
+ public synchronized void cancel()
+ {
+ if (currentRenderer != null)
+ currentRenderer.cancel();
+ }
+
+ }
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionListPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionListPanel.java
new file mode 100644
index 0000000..1a2f2dc
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionListPanel.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.event.*;
+import java.util.*;
+
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.border.*;
+
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryFunctionListPanel extends JPanel {
+ BorderLayout borderLayout1 = new BorderLayout();
+
+ private DefaultListModel listModel = new DefaultListModel();
+
+ JScrollPane jScrollPane1 = new JScrollPane();
+
+ JList list = new JList(listModel){
+ public String getToolTipText(MouseEvent e) {
+ int index = locationToIndex(e.getPoint());
+ if (-1 < index) {
+ GeometryFunction func = (GeometryFunction) getModel().getElementAt(index);
+ return func.getSignature();
+ } else {
+ return null;
+ }
+ }
+ };
+
+ BorderLayout borderLayout2 = new BorderLayout();
+ Border border1;
+
+ private class GeometryFunctionCellRenderer extends JLabel implements
+ ListCellRenderer
+ {
+ Border spaceBorder = BorderFactory.createEmptyBorder(0, 4, 1, 0);
+
+ private final ImageIcon binaryIcon = new ImageIcon(this.getClass()
+ .getResource("BinaryGeomFunction.png"));
+
+ private final ImageIcon unaryIcon = new ImageIcon(this.getClass()
+ .getResource("UnaryGeomFunction.png"));
+
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+ GeometryFunction func = (GeometryFunction) value;
+ String name = StringUtil.capitalize(func.getName());
+ setBorder(spaceBorder);
+ setText(name);
+ setOpaque(true);
+ setIcon(func.isBinary() ? binaryIcon : unaryIcon);
+ if (isSelected) {
+ setBackground(list.getSelectionBackground());
+ setForeground(list.getSelectionForeground());
+ } else {
+ setBackground(list.getBackground());
+ setForeground(list.getForeground());
+ }
+ setEnabled(list.isEnabled());
+ setFont(list.getFont());
+ return this;
+ }
+
+ /*
+ public String getToolTipText(MouseEvent e)
+ {
+ return getText();
+ }
+ */
+ }
+
+ public GeometryFunctionListPanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ list.setCellRenderer(new GeometryFunctionCellRenderer());
+ }
+
+ private void jbInit() throws Exception {
+ setSize(200, 250);
+ border1 = BorderFactory.createEmptyBorder(4, 4, 4, 4);
+ setLayout(borderLayout2);
+ setBorder(border1);
+ list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ add(jScrollPane1, BorderLayout.CENTER);
+ jScrollPane1.getViewport().add(list, null);
+ }
+
+ /*
+ private void registerListSelectionListener() {
+ list.getSelectionModel().addListSelectionListener(
+ new ListSelectionListener() {
+
+ public void valueChanged(ListSelectionEvent e) {
+ if (list.getSelectedValue() == null)
+ return;
+ }
+ });
+ }
+*/
+
+ public void registerListSelectionListener(ListSelectionListener listener) {
+ list.getSelectionModel().addListSelectionListener(listener);
+ }
+
+ public void registerMouseListener(MouseListener listener) {
+ list.addMouseListener(listener);
+ }
+
+ public GeometryFunction getFunction() {
+ if (list.getSelectedValue() == null)
+ return null;
+ return (GeometryFunction) list.getSelectedValue();
+ }
+
+ public void populate(List funcs) {
+// listModel.clear();
+ for (Iterator i = funcs.iterator(); i.hasNext(); ) {
+ GeometryFunction func = (GeometryFunction) i.next();
+ listModel.addElement(func);
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionTreePanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionTreePanel.java
new file mode 100644
index 0000000..6ac5f69
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryFunctionTreePanel.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.event.*;
+import java.util.*;
+
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.border.*;
+import javax.swing.tree.*;
+
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+import org.locationtech.jtstest.geomfunction.GeometryFunctionUtil;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionEvent;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionListener;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryFunctionTreePanel extends JPanel {
+
+ JScrollPane jScrollPane = new JScrollPane();
+
+ JTree tree = new JTree();
+
+ BorderLayout borderLayout = new BorderLayout();
+
+ Border border1;
+
+ private static GeometryFunction getFunctionFromNode(Object value) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
+ if (node == null)
+ return null;
+ Object nodeValue = node.getUserObject();
+ if (nodeValue instanceof GeometryFunction)
+ return (GeometryFunction) nodeValue;
+ return null;
+ }
+
+ private class GeometryFunctionRenderer extends DefaultTreeCellRenderer {
+ private final ImageIcon binaryIcon = new ImageIcon(this.getClass()
+ .getResource("BinaryGeomFunction.png"));
+
+ private final ImageIcon unaryIcon = new ImageIcon(this.getClass()
+ .getResource("UnaryGeomFunction.png"));
+
+ public GeometryFunctionRenderer() {
+ }
+
+ public Component getTreeCellRendererComponent(JTree tree, Object value,
+ boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
+
+ super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row,
+ hasFocus);
+ if (leaf) {
+ GeometryFunction func = getFunctionFromNode(value);
+ setIcon(func.isBinary() ? binaryIcon : unaryIcon);
+ //String name = StringUtil.capitalize(func.getName());
+ String name = func.getName();
+ setText(name);
+ setToolTipText(GeometryFunctionUtil.toolTipText(func));
+ } else {
+ setToolTipText(null); // no tool tip
+ }
+ return this;
+ }
+
+ }
+
+ public GeometryFunctionTreePanel() {
+ try {
+ jbInit();
+ javax.swing.ToolTipManager.sharedInstance().registerComponent(tree);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private void jbInit() throws Exception {
+ setSize(200, 250);
+ border1 = BorderFactory.createEmptyBorder(4, 4, 4, 4);
+ setLayout(borderLayout);
+ setBorder(border1);
+ add(jScrollPane, BorderLayout.CENTER);
+ jScrollPane.getViewport().add(tree, null);
+
+ tree.setRootVisible(false);
+ tree.setShowsRootHandles(true);
+ tree.setCellRenderer(new GeometryFunctionRenderer());
+ tree.getSelectionModel().setSelectionMode(
+ TreeSelectionModel.SINGLE_TREE_SELECTION);
+
+ tree.addMouseListener(new MouseAdapter() {
+ public void mouseClicked(MouseEvent e) {
+ if (e.getClickCount() == 2) {
+ GeometryFunction fun = getFunction();
+ if (fun != null)
+ fireFunctionInvoked(new GeometryFunctionEvent(fun));
+ }
+
+ }
+ });
+ tree.addTreeSelectionListener(new TreeSelectionListener() {
+ public void valueChanged(TreeSelectionEvent e) {
+ GeometryFunction fun = getFunction();
+ if (fun != null)
+ fireFunctionSelected(new GeometryFunctionEvent(fun));
+ }
+ });
+ }
+
+ public GeometryFunction getFunction() {
+ return getFunctionFromNode(tree.getLastSelectedPathComponent());
+ }
+
+ public void populate(DoubleKeyMap funcs) {
+ tree.setModel(createModel(funcs));
+ }
+
+ private TreeModel createModel(DoubleKeyMap funcMap) {
+ DefaultMutableTreeNode top = new DefaultMutableTreeNode();
+
+ Collection categories = funcMap.keySet();
+ for (Iterator i = categories.iterator(); i.hasNext();) {
+ String category = (String) i.next();
+ DefaultMutableTreeNode catNode = new DefaultMutableTreeNode(category);
+ top.add(catNode);
+
+ Collection funcs = funcMap.values(category);
+ for (Iterator j = funcs.iterator(); j.hasNext();) {
+ Object func = j.next();
+ catNode.add(new DefaultMutableTreeNode(func));
+ }
+ }
+ return new DefaultTreeModel(top);
+ }
+
+ private transient Vector eventListeners;
+
+ public synchronized void removeGeometryFunctionListener(
+ GeometryFunctionListener l) {
+ if (eventListeners != null && eventListeners.contains(l)) {
+ Vector v = (Vector) eventListeners.clone();
+ v.removeElement(l);
+ eventListeners = v;
+ }
+ }
+
+ public synchronized void addGeometryFunctionListener(
+ GeometryFunctionListener l) {
+ Vector v = eventListeners == null ? new Vector(2) : (Vector) eventListeners
+ .clone();
+ if (!v.contains(l)) {
+ v.addElement(l);
+ eventListeners = v;
+ }
+ }
+
+ protected void fireFunctionSelected(GeometryFunctionEvent e) {
+ if (eventListeners != null) {
+ Vector listeners = eventListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((GeometryFunctionListener) listeners.elementAt(i)).functionSelected(e);
+ }
+ }
+ }
+
+ protected void fireFunctionInvoked(GeometryFunctionEvent e) {
+ if (eventListeners != null) {
+ Vector listeners = eventListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((GeometryFunctionListener) listeners.elementAt(i)).functionInvoked(e);
+ }
+ }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInputDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInputDialog.java
new file mode 100644
index 0000000..60450a9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInputDialog.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.border.Border;
+import javax.swing.text.JTextComponent;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.WKTReader;
+
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public class GeometryInputDialog extends JDialog {
+ Geometry[] geom = new Geometry[2];
+ boolean parseError;
+ //=================================================
+ JPanel panel1 = new JPanel();
+ JLabel jLabel1 = new JLabel();
+ JPanel jPanel1 = new JPanel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ BorderLayout borderLayout1 = new BorderLayout();
+ JPanel jPanel2 = new JPanel();
+ JButton btnLoad = new JButton();
+ JButton btnCancel = new JButton();
+ JLabel jLabel2 = new JLabel();
+ JLabel lblError = new JLabel();
+ JTextArea txtError = new JTextArea();
+ Border border1;
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtA = new JTextArea();
+ JScrollPane jScrollPane2 = new JScrollPane();
+ JTextArea txtB = new JTextArea();
+
+ public GeometryInputDialog(Frame frame, String title, boolean modal) {
+ super(frame, title, modal);
+ try {
+ jbInit();
+ pack();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public GeometryInputDialog() {
+ this(null, "", false);
+ }
+
+ void jbInit() throws Exception {
+ border1 = BorderFactory.createLineBorder(Color.gray, 2);
+ panel1.setLayout(borderLayout1);
+ jLabel1.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel1.setForeground(Color.blue);
+ jLabel1.setToolTipText("");
+ jLabel1.setText("A");
+ jPanel1.setLayout(gridBagLayout2);
+ btnLoad.setToolTipText("");
+ btnLoad.setText("Load");
+ btnLoad.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnLoad_actionPerformed(e);
+ }
+ });
+ btnCancel.setText("Cancel");
+ btnCancel.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnCancel_actionPerformed(e);
+ }
+ });
+ jLabel2.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel2.setForeground(Color.red);
+ jLabel2.setText("B");
+ lblError.setToolTipText("");
+ txtError.setLineWrap(true);
+ txtError.setBorder(BorderFactory.createEtchedBorder());
+ txtError.setToolTipText("");
+ txtError.setBackground(Color.lightGray);
+ panel1.setPreferredSize(new java.awt.Dimension(300, 300));
+ txtA.setLineWrap(true);
+ txtB.setLineWrap(true);
+ jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder());
+ jScrollPane2.setBorder(BorderFactory.createLoweredBevelBorder());
+ getContentPane().add(panel1);
+ panel1.add(jPanel1, BorderLayout.CENTER);
+ jPanel1.add(
+ jLabel1,
+ new GridBagConstraints(
+ 0,
+ 0,
+ 1,
+ 1,
+ 0.1,
+ 0.0,
+ GridBagConstraints.WEST,
+ GridBagConstraints.NONE,
+ new Insets(0, 5, 0, 5),
+ 0,
+ 0));
+ jPanel1.add(
+ jLabel2,
+ new GridBagConstraints(
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.NONE,
+ new Insets(0, 5, 0, 5),
+ 0,
+ 0));
+ jPanel1.add(
+ lblError,
+ new GridBagConstraints(
+ 1,
+ 2,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ txtError,
+ new GridBagConstraints(
+ 1,
+ 3,
+ 1,
+ 1,
+ 0.0,
+ 0.2,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ jScrollPane1,
+ new GridBagConstraints(
+ 1,
+ 0,
+ 1,
+ 1,
+ 1.0,
+ 0.3,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0,
+ 0));
+ jPanel1.add(
+ jScrollPane2,
+ new GridBagConstraints(
+ 1,
+ 1,
+ 1,
+ 1,
+ 1.0,
+ 0.3,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0,
+ 0));
+ jScrollPane2.getViewport().add(txtB, null);
+ jScrollPane1.getViewport().add(txtA, null);
+ panel1.add(jPanel2, BorderLayout.SOUTH);
+ jPanel2.add(btnLoad, null);
+ jPanel2.add(btnCancel, null);
+ }
+
+ void btnCancel_actionPerformed(ActionEvent e) {
+ setVisible(false);
+ }
+
+ void btnLoad_actionPerformed(ActionEvent e) {
+ parseError = false;
+ geom[0] = parseGeometry(txtA, Color.blue);
+ if (!parseError)
+ geom[1] = parseGeometry(txtB, Color.red);
+ if (!parseError)
+ setVisible(false);
+ }
+
+ Geometry parseGeometry(JTextComponent txt, Color clr) {
+ try {
+ WKTReader rdr =
+ new WKTReader(
+ new GeometryFactory(JTSTestBuilder.model().getPrecisionModel(), 0));
+ Geometry g = rdr.read(txt.getText());
+ txtError.setText("");
+ return g;
+ } catch (Exception ex) {
+ txtError.setText(ex.getMessage());
+ txtError.setForeground(clr);
+ parseError = true;
+ // TODO: display this exception
+ }
+ return null;
+ }
+
+ Geometry getGeometry(int index) {
+ return geom[index];
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInspectorDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInspectorDialog.java
new file mode 100644
index 0000000..0f776ab
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryInspectorDialog.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Frame;
+
+import javax.swing.JDialog;
+
+import org.locationtech.jts.geom.Geometry;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryInspectorDialog extends JDialog
+{
+
+ InspectorPanel inspectPanel;
+
+ public GeometryInspectorDialog(Frame frame, String title, boolean modal)
+ {
+ super(frame, title, modal);
+ try {
+ initUI();
+ pack();
+ setSize(500, 500);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public GeometryInspectorDialog()
+ {
+ this(null, "", false);
+ }
+
+ public GeometryInspectorDialog(Frame frame)
+ {
+ this(null, "Geometry Inspector", false);
+ }
+
+ void initUI() throws Exception
+ {
+ inspectPanel = new InspectorPanel(false);
+ getContentPane().add(inspectPanel);
+ }
+
+ public void setGeometry(String tag, Geometry geometry) {
+ inspectPanel.setGeometry(tag, geometry, 0);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryPopupMenu.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryPopupMenu.java
new file mode 100644
index 0000000..8805fb3
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryPopupMenu.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+
+
+public class GeometryPopupMenu extends JPopupMenu
+{
+ Coordinate clickCoord;
+
+ public GeometryPopupMenu(){
+ initUI();
+ }
+
+ private void initUI()
+ {
+ JMenuItem extractComponentItem = new JMenuItem("Extract Component");
+ extractComponentItem.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.extractComponentsToTestCase(clickCoord);
+ }
+ });
+ add(extractComponentItem);
+
+ JMenuItem copyComponentItem = new JMenuItem("Copy Component");
+ copyComponentItem.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.copyComponentToClipboard(clickCoord);
+ }
+ });
+ add(copyComponentItem);
+
+ JMenuItem infoItem = new JMenuItem("Info");
+ infoItem.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderFrame.instance().displayInfo(clickCoord);
+ }
+ });
+ add(infoItem);
+
+ }
+
+ /**
+ * Record model coordinate of click point for use in menu operations
+ */
+ public void show(Component invoker, int x, int y)
+ {
+ GeometryEditPanel editPanel = (GeometryEditPanel) invoker;
+ clickCoord = editPanel.getViewport().toModelCoordinate(new java.awt.Point(x, y));
+ super.show(invoker, x, y);
+ }
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreeModel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreeModel.java
new file mode 100644
index 0000000..5923f67
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreeModel.java
@@ -0,0 +1,541 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Vector;
+
+import javax.swing.ImageIcon;
+import javax.swing.event.TreeModelListener;
+import javax.swing.tree.TreeModel;
+import javax.swing.tree.TreePath;
+
+import org.locationtech.jts.algorithm.Area;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+public class GeometryTreeModel implements TreeModel
+{
+ private Vector<TreeModelListener> treeModelListeners = new Vector<TreeModelListener>();
+
+ private GeometricObjectNode rootGeom;
+
+ public GeometryTreeModel(Geometry geom, int source)
+ {
+ rootGeom = GeometryNode.create(geom, new GeometryContext(source));
+ }
+
+ // ////////////// TreeModel interface implementation ///////////////////////
+
+ /**
+ * Adds a listener for the TreeModelEvent posted after the tree changes.
+ */
+ public void addTreeModelListener(TreeModelListener l)
+ {
+ treeModelListeners.addElement(l);
+ }
+
+ /**
+ * Returns the child of parent at index index in the parent's child array.
+ */
+ public Object getChild(Object parent, int index)
+ {
+ GeometricObjectNode gn = (GeometricObjectNode) parent;
+ return gn.getChildAt(index);
+ }
+
+ /**
+ * Returns the number of children of parent.
+ */
+ public int getChildCount(Object parent)
+ {
+ GeometricObjectNode gn = (GeometricObjectNode) parent;
+ return gn.getChildCount();
+ }
+
+ /**
+ * Returns the index of child in parent.
+ */
+ public int getIndexOfChild(Object parent, Object child)
+ {
+ GeometricObjectNode gn = (GeometricObjectNode) parent;
+ return gn.getIndexOfChild((GeometricObjectNode) child);
+ }
+
+ /**
+ * Returns the root of the tree.
+ */
+ public Object getRoot()
+ {
+ return rootGeom;
+ }
+
+ /**
+ * Returns true if node is a leaf.
+ */
+ public boolean isLeaf(Object node)
+ {
+ GeometricObjectNode gn = (GeometricObjectNode) node;
+ return gn.isLeaf();
+ }
+
+ /**
+ * Removes a listener previously added with addTreeModelListener().
+ */
+ public void removeTreeModelListener(TreeModelListener l)
+ {
+ treeModelListeners.removeElement(l);
+ }
+
+ /**
+ * Messaged when the user has altered the value for the item identified by
+ * path to newValue. Not used by this model.
+ */
+ public void valueForPathChanged(TreePath path, Object newValue)
+ {
+ System.out
+ .println("*** valueForPathChanged : " + path + " --> " + newValue);
+ }
+}
+
+abstract class GeometricObjectNode
+{
+ protected static String indexString(int index)
+ {
+ return "[" + index + "]";
+ }
+
+ protected static String sizeString(int size)
+ {
+ return "(" + size + ")";
+ }
+
+ protected int index = -1;
+
+ protected String text = "";;
+
+ public GeometricObjectNode(String text)
+ {
+ this.text = text;
+ }
+
+ public void setIndex(int index)
+ {
+ this.index = index;
+ }
+
+ public String getText()
+ {
+ if (index >= 0) {
+ return indexString(index) + " : " + text;
+ }
+ return text;
+ }
+
+ public abstract ImageIcon getIcon();
+
+ public abstract Geometry getGeometry();
+
+ public abstract boolean isLeaf();
+
+ public abstract GeometricObjectNode getChildAt(int index);
+
+ public abstract int getChildCount();
+
+ public abstract int getIndexOfChild(GeometricObjectNode child);
+
+}
+
+class GeometryContext {
+ int source = 0;
+
+ GeometryContext(int source) {
+ this.source = source;
+ }
+}
+
+abstract class GeometryNode extends GeometricObjectNode
+{
+ public static GeometryNode create(Geometry geom, GeometryContext context)
+ {
+ if (geom instanceof GeometryCollection)
+ return new GeometryCollectionNode((GeometryCollection) geom, context);
+ if (geom instanceof Polygon)
+ return new PolygonNode((Polygon) geom, context);
+ if (geom instanceof LineString)
+ return new LineStringNode((LineString) geom, context);
+ if (geom instanceof LinearRing)
+ return new LinearRingNode((LinearRing) geom, context);
+ if (geom instanceof Point)
+ return new PointNode((Point) geom, context);
+ return null;
+ }
+
+ protected GeometryContext context;
+ private boolean isLeaf;
+ protected List<GeometricObjectNode> children = null;
+
+ public GeometryNode(Geometry geom, GeometryContext context)
+ {
+ this(geom, 0, null, context);
+ }
+
+ public GeometryNode(Geometry geom, int size, String tag, GeometryContext context)
+ {
+ super(geometryText(geom, size, tag));
+ this.context = context;
+ if (geom.isEmpty()) {
+ isLeaf = true;
+ }
+ }
+
+ private static String geometryText(Geometry geom, int size, String tag)
+ {
+ StringBuilder buf = new StringBuilder();
+ if (tag != null && tag.length() > 0) {
+ buf.append(tag + " : ");
+ }
+ buf.append(geom.getGeometryType());
+ if (geom.isEmpty()) {
+ buf.append(" EMPTY");
+ }
+ else {
+ if (size > 0) {
+ buf.append(" " + sizeString(size));
+ }
+ }
+
+ if (hasLength(geom)) {
+ buf.append(" -- Len: " + geom.getLength());
+ }
+ if (hasArea(geom)) {
+ buf.append(" Area: " + area(geom));
+ }
+
+ return buf.toString();
+ }
+
+ private static double area(Geometry geom) {
+ double area = 0;
+ if (geom.getDimension() >= 2) {
+ area = geom.getArea();
+ }
+ else if (geom instanceof LinearRing) {
+ area = Area.ofRing(geom.getCoordinates());
+ }
+ return area;
+ }
+
+ private static boolean hasArea(Geometry geom) {
+ if (geom.getDimension() >= 2) return true;
+ if (geom instanceof LinearRing) return true;
+ return false;
+ }
+
+ private static boolean hasLength(Geometry geom) {
+ if (geom.getDimension() >= 1) return true;
+ return false;
+ }
+
+ public boolean isLeaf()
+ {
+ return isLeaf;
+ }
+
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_POLYGON : AppConstants.ICON_POLYGON_B;
+ }
+
+ public GeometricObjectNode getChildAt(int index)
+ {
+ if (isLeaf)
+ return null;
+ populateChildren();
+ return children.get(index);
+ }
+
+ public int getChildCount()
+ {
+ if (isLeaf)
+ return 0;
+ populateChildren();
+ return children.size();
+ }
+
+ public int getIndexOfChild(GeometricObjectNode child)
+ {
+ if (isLeaf)
+ return -1;
+ populateChildren();
+ return children.indexOf(child);
+ }
+
+ /**
+ * Lazily creates child nodes
+ */
+ private void populateChildren()
+ {
+ // already initialized
+ if (children != null)
+ return;
+
+ children = new ArrayList<GeometricObjectNode>();
+ fillChildren();
+ }
+
+ protected abstract void fillChildren();
+}
+
+
+class PolygonNode extends GeometryNode
+{
+ Polygon poly;
+
+ PolygonNode(Polygon poly, GeometryContext context)
+ {
+ super(poly, poly.getNumPoints(), null, context);
+ this.poly = poly;
+ }
+
+ public Geometry getGeometry()
+ {
+ return poly;
+ }
+
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_POLYGON : AppConstants.ICON_POLYGON_B;
+ }
+
+ protected void fillChildren()
+ {
+ children.add(new LinearRingNode((LinearRing) poly.getExteriorRing(),
+ "Shell", context));
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ children.add(new LinearRingNode((LinearRing) poly.getInteriorRingN(i),
+ "Hole " + i, context));
+ }
+ }
+
+}
+
+class LineStringNode extends GeometryNode
+{
+ private LineString line;
+
+ public LineStringNode(LineString line, GeometryContext context)
+ {
+ super(line, line.getNumPoints(), null, context);
+ this.line = line;
+ }
+
+ public LineStringNode(LineString line, String tag, GeometryContext context)
+ {
+ super(line, line.getNumPoints(), tag, context);
+ this.line = line;
+ }
+
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_LINESTRING : AppConstants.ICON_LINESTRING_B;
+ }
+
+ public Geometry getGeometry()
+ {
+ return line;
+ }
+
+ protected void fillChildren()
+ {
+ populateChildren(line.getCoordinates());
+ }
+
+ private void populateChildren(Coordinate[] pt)
+ {
+ Envelope env = line.getEnvelopeInternal();
+
+
+ for (int i = 0; i < pt.length; i++) {
+ double dist = Double.NaN;
+ if (i < pt.length - 1) dist = pt[i].distance(pt[i + 1]);
+ GeometricObjectNode node = CoordinateNode.create(pt[i], i, dist);
+ children.add(node);
+ }
+ }
+}
+
+class LinearRingNode extends LineStringNode
+{
+ public LinearRingNode(LinearRing ring, GeometryContext context)
+ {
+ super(ring, context);
+ }
+ public LinearRingNode(LinearRing ring, String tag,
+ GeometryContext context) {
+ super(ring, tag, context);
+ }
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_LINEARRING : AppConstants.ICON_LINEARRING_B;
+ }
+}
+
+class PointNode extends GeometryNode
+{
+ Point pt;
+
+ public PointNode(Point p, GeometryContext context)
+ {
+ super(p, context);
+ pt = p;
+ }
+
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_POINT : AppConstants.ICON_POINT_B;
+ }
+
+ public Geometry getGeometry()
+ {
+ return pt;
+ }
+
+ protected void fillChildren()
+ {
+ children.add(CoordinateNode.create(pt.getCoordinate()));
+ }
+}
+
+class GeometryCollectionNode extends GeometryNode
+{
+ GeometryCollection coll;
+
+ GeometryCollectionNode(GeometryCollection coll, GeometryContext context)
+ {
+ super(coll, coll.getNumGeometries(), null, context);
+ this.coll = coll;
+ }
+
+ public Geometry getGeometry()
+ {
+ return coll;
+ }
+
+ protected void fillChildren()
+ {
+ for (int i = 0; i < coll.getNumGeometries(); i++) {
+ GeometryNode node = create(coll.getGeometryN(i), context);
+ node.setIndex(i);
+ children.add(node);
+ }
+ }
+
+ public ImageIcon getIcon()
+ {
+ return context.source == 0 ? AppConstants.ICON_COLLECTION : AppConstants.ICON_COLLECTION_B;
+ }
+
+
+}
+
+/**
+ * Coordinate is the only leaf node now, but could be
+ * refactored into a LeafNode class.
+ *
+ * @author Martin Davis
+ *
+ */
+class CoordinateNode extends GeometricObjectNode
+{
+ public static CoordinateNode create(Coordinate p)
+ {
+ return new CoordinateNode(p);
+ }
+
+ public static CoordinateNode create(Coordinate p, int i, double distPrev)
+ {
+ return new CoordinateNode(p, i, distPrev);
+ }
+
+ private static DecimalFormat fmt = new DecimalFormat("0.#################", new DecimalFormatSymbols());
+
+ private static String label(Coordinate coord, int i, double distPrev)
+ {
+ String lbl = fmt.format(coord.x) + " " + fmt.format(coord.y);
+ if (! Double.isNaN(distPrev)) {
+ lbl += " -- dist: " + distPrev;
+ }
+ return lbl;
+ }
+
+
+ Coordinate coord;
+
+ public CoordinateNode(Coordinate coord)
+ {
+ this(coord, 0, Double.NaN);
+ }
+
+ public CoordinateNode(Coordinate coord, int i, double distPrev)
+ {
+ super(label(coord, i, distPrev));
+ this.coord = coord;
+ this.index = i;
+ }
+ public ImageIcon getIcon()
+ {
+ return AppConstants.ICON_POINT;
+ }
+
+ public Geometry getGeometry()
+ {
+ GeometryFactory geomFact = new GeometryFactory();
+ return geomFact.createPoint(coord);
+ }
+
+ @Override
+ public boolean isLeaf()
+ {
+ return true;
+ }
+
+ @Override
+ public GeometricObjectNode getChildAt(int index)
+ {
+ throw new IllegalStateException("should not be here");
+ }
+
+ @Override
+ public int getChildCount()
+ {
+ return 0;
+ }
+
+ @Override
+ public int getIndexOfChild(GeometricObjectNode child)
+ {
+ throw new IllegalStateException("should not be here");
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreePanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreePanel.java
new file mode 100644
index 0000000..c9140a6
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/GeometryTreePanel.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.event.*;
+import java.util.*;
+
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.border.*;
+import javax.swing.tree.*;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryTreePanel extends JPanel implements TreeWillExpandListener
+{
+ JScrollPane jScrollPane = new JScrollPane();
+ JTree tree = new JTree();
+ BorderLayout borderLayout = new BorderLayout();
+ Border border1;
+
+ private class GeometryTreeCellRenderer extends DefaultTreeCellRenderer {
+ public GeometryTreeCellRenderer() {
+ }
+
+ public Component getTreeCellRendererComponent(JTree tree, Object value,
+ boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
+
+ super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row,
+ hasFocus);
+ if (! (value instanceof GeometricObjectNode))
+ return this;
+
+ GeometricObjectNode o = (GeometricObjectNode) value;
+ setText(o.getText());
+ setIcon(o.getIcon());
+ setToolTipText("geometry");
+ return this;
+ }
+ }
+
+ public GeometryTreePanel() {
+ // default empty model
+ tree.setModel(new DefaultTreeModel(new DefaultMutableTreeNode("No geometry shown")));
+ //((DefaultMutableTreeNode) (tree.getRoot())).removeAllChildren();
+ try {
+ initUI();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private void initUI() throws Exception {
+ setSize(200, 250);
+ border1 = BorderFactory.createEmptyBorder(4, 4, 4, 4);
+ setLayout(borderLayout);
+ setBorder(border1);
+ add(jScrollPane, BorderLayout.CENTER);
+ jScrollPane.getViewport().add(tree, null);
+
+ tree.setRootVisible(true);
+ tree.setShowsRootHandles(true);
+ tree.setCellRenderer(new GeometryTreeCellRenderer());
+ tree.getSelectionModel().setSelectionMode(
+ TreeSelectionModel.SINGLE_TREE_SELECTION);
+ // stop expansion with double-click
+ tree.setToggleClickCount(0);
+
+
+ tree.addMouseListener(new MouseAdapter() {
+ public void mouseClicked(MouseEvent e) {
+ Geometry geom = getSelectedGeometry();
+ if (geom == null) return;
+
+ if (e.getClickCount() == 2) {
+ JTSTestBuilderFrame.getGeometryEditPanel().zoom(geom.getEnvelopeInternal());
+ }
+ // would be nice to flash as well as zoom, but zooming drawing is too slow
+ if (e.getClickCount() == 1) {
+ JTSTestBuilderFrame.getGeometryEditPanel().flash(geom);
+ }
+ }
+ });
+ tree.addTreeSelectionListener(new TreeSelectionListener() {
+ public void valueChanged(TreeSelectionEvent e) {
+ //GeometryFunction fun = getFunction();
+ //if (fun != null)
+ //fireFunctionSelected(new GeometryFunctionEvent(fun));
+ }
+ });
+ }
+ public Geometry getSelectedGeometry() {
+ return getGeometryFromNode(tree.getLastSelectedPathComponent());
+ }
+ public void moveToNextNode(int direction) {
+ direction = (int) Math.signum(direction);
+ TreePath path = tree.getSelectionPath();
+
+ TreePath nextPath2 = nextPath(path, 2 * direction);
+ tree.scrollPathToVisible(nextPath2);
+
+ TreePath nextPath = nextPath(path, direction);
+ tree.setSelectionPath(nextPath);
+ }
+
+ private TreePath nextPath(TreePath path, int offset) {
+ GeometricObjectNode node = (GeometricObjectNode) path.getLastPathComponent();
+ TreePath parentPath = path.getParentPath();
+ GeometricObjectNode parent = (GeometricObjectNode) parentPath.getLastPathComponent();
+ int index = parent.getIndexOfChild(node);
+ int nextIndex = index + offset;
+ if (nextIndex < 0) {
+ nextIndex = 0;
+ }
+ else if (nextIndex >= parent.getChildCount() ) {
+ nextIndex = parent.getChildCount() - 1;
+ }
+ GeometricObjectNode nextNode = parent.getChildAt(nextIndex);
+ TreePath nextPath = parentPath.pathByAddingChild(nextNode);
+ return nextPath;
+ }
+
+ private static Geometry getGeometryFromNode(Object value) {
+ if (value == null)
+ return null;
+ return ((GeometricObjectNode) value).getGeometry();
+ }
+
+ public void populate(Geometry geom, int source) {
+ tree.setModel(new GeometryTreeModel(geom, source));
+ }
+
+ //Required by TreeWillExpandListener interface.
+ public void treeWillExpand(TreeExpansionEvent e)
+ throws ExpandVetoException {
+ TreePath path = e.getPath();
+ Object lastComp = path.getLastPathComponent();
+ }
+
+ //Required by TreeWillExpandListener interface.
+ public void treeWillCollapse(TreeExpansionEvent e) {
+ // take no action
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/IconLoader.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/IconLoader.java
new file mode 100644
index 0000000..445fe24
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/IconLoader.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import javax.swing.ImageIcon;
+
+
+/**
+ * Gets an icon from this class' package.
+ */
+public class IconLoader {
+ public static ImageIcon icon(String filename) {
+ return new ImageIcon(IconLoader.class.getResource(filename));
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InfoPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InfoPanel.java
new file mode 100644
index 0000000..ebea33f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InfoPanel.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.BorderFactory;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jtstest.testbuilder.geom.*;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class InfoPanel
+extends JPanel
+{
+ TestBuilderModel tbModel = null;
+
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtInfo = new JTextArea();
+ BorderLayout tabPanelLayout = new BorderLayout();
+
+ StringBuffer text = new StringBuffer();
+
+ public InfoPanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+
+ this.setLayout(tabPanelLayout);
+
+ txtInfo.setWrapStyleWord(true);
+ txtInfo.setLineWrap(true);
+ txtInfo.setBackground(SystemColor.control);
+
+ this.add(jScrollPane1, BorderLayout.CENTER);
+
+ jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder());
+ jScrollPane1.getViewport().add(txtInfo, null);
+ }
+
+ public void setModel(TestBuilderModel tbModel)
+ {
+ this.tbModel = tbModel;
+ }
+
+ public void OLDsetInfo(String s)
+ {
+ txtInfo.setText(s);
+ }
+
+ private static final String LOG_SEP = "-------------------------------------------------";
+
+ public void setInfo(String s)
+ {
+ if (s == null || s.length() == 0) s = "";
+ txtInfo.setText(s);
+ }
+
+ public void addInfo(String s)
+ {
+ if (s == null || s.length() == 0) return;
+
+ if (text.length() != 0) {
+ text.append("\n");
+ text.append(LOG_SEP);
+ text.append("\n");
+ }
+ text.append(s);
+ txtInfo.setText(text.toString());
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InspectorPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InspectorPanel.java
new file mode 100644
index 0000000..cb51d0c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/InspectorPanel.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+
+
+public class InspectorPanel extends TestBuilderPanel {
+
+ private static final int BOX_SPACER = 5;
+
+ private final ImageIcon downIcon = IconLoader.icon("Down.png");
+ private final ImageIcon upIcon = IconLoader.icon("Up.png");
+ private final ImageIcon zoomIcon = IconLoader.icon("MagnifyCursor.gif");
+ private final ImageIcon copyIcon = IconLoader.icon("Copy.png");
+
+ GeometryTreePanel geomTreePanel;
+
+ JButton btnZoom = new JButton();
+ JButton btnCopy = new JButton();
+ JButton btnNext = new JButton();
+ JButton btnPrev = new JButton();
+ JButton btnExpand = new JButton();
+
+ JLabel lblGeom = new JLabel();
+
+ private boolean showExpand = true;
+
+ public InspectorPanel() {
+ this(true);
+ }
+
+ public InspectorPanel(boolean showExpand) {
+ super();
+ this.showExpand = showExpand;
+ uiInit();
+ }
+
+ protected void uiInit() {
+ this.setLayout(new BorderLayout());
+ geomTreePanel = new GeometryTreePanel();
+
+ geomTreePanel.setPreferredSize(new Dimension(300, 500));
+ this.add(geomTreePanel, BorderLayout.CENTER);
+
+ btnZoom.setEnabled(true);
+ btnZoom.setMaximumSize(new Dimension(30, 26));
+ //btnZoom.setText("Zoom");
+ btnZoom.setIcon(zoomIcon);
+ btnZoom.setToolTipText("Zoom to component");
+ btnZoom.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnZoom_actionPerformed(e);
+ }
+ });
+ btnCopy.setEnabled(true);
+ btnCopy.setMaximumSize(new Dimension(30, 30));
+ //btnCopy.setText("Copy");
+ btnCopy.setIcon(copyIcon);
+ btnCopy.setToolTipText("Copy (Ctl-click to copy formatted");
+ btnCopy.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnCopy_actionPerformed(e);
+ }
+ });
+ btnNext.setEnabled(true);
+ btnNext.setMaximumSize(new Dimension(30, 30));
+ //btnNext.setText("Next");
+ btnNext.setIcon(downIcon);
+ btnNext.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnZoomNext_actionPerformed(e, 1);
+ }
+ });
+ btnPrev.setEnabled(true);
+ btnPrev.setMaximumSize(new Dimension(30, 30));
+ //btnPrev.setText("Prev");
+ btnPrev.setIcon(upIcon);
+ btnPrev.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnZoomNext_actionPerformed(e, -1);
+ }
+ });
+
+ lblGeom.setFont(new java.awt.Font("Dialog", 1, 16));
+ lblGeom.setText(" ");
+ lblGeom.setMaximumSize(new Dimension(30, 30));
+ lblGeom.setHorizontalAlignment(JLabel.CENTER);
+
+ JPanel btnPanel = new JPanel();
+ btnPanel.setLayout(new BoxLayout(btnPanel, BoxLayout.PAGE_AXIS));
+ btnPanel.add(lblGeom);
+ btnPanel.add(Box.createRigidArea(new Dimension(0, BOX_SPACER)));
+ btnPanel.add(btnZoom);
+ btnPanel.add(Box.createRigidArea(new Dimension(0, BOX_SPACER)));
+ btnPanel.add(btnPrev);
+ btnPanel.add(btnNext);
+ btnPanel.add(Box.createRigidArea(new Dimension(0, BOX_SPACER)));
+ btnPanel.add(btnCopy);
+ this.add(btnPanel, BorderLayout.WEST);
+
+ if (showExpand) {
+ btnExpand.setEnabled(true);
+ btnExpand.setMaximumSize(new Dimension(30, 30));
+ btnExpand.setText("...");
+ btnExpand.setToolTipText("Display in window");
+ btnExpand.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ btnExpand_actionPerformed();
+ }
+ });
+ JPanel btn2Panel = new JPanel();
+ btn2Panel.setLayout(new BoxLayout(btn2Panel, BoxLayout.PAGE_AXIS));
+ btn2Panel.add(btnExpand);
+ this.add(btn2Panel, BorderLayout.EAST);
+ }
+
+ }
+ private void btnExpand_actionPerformed() {
+ JTSTestBuilderController.inspectGeometryDialog();
+ }
+ private void btnZoom_actionPerformed(ActionEvent e) {
+ JTSTestBuilderFrame.getGeometryEditPanel().zoom(geomTreePanel.getSelectedGeometry());
+ }
+ private void btnZoomNext_actionPerformed(ActionEvent e, int direction) {
+ geomTreePanel.moveToNextNode(direction);
+ JTSTestBuilderFrame.getGeometryEditPanel().zoom(geomTreePanel.getSelectedGeometry());
+ }
+ private void btnCopy_actionPerformed(ActionEvent e) {
+ boolean isFormatted = 0 != (e.getModifiers() & ActionEvent.CTRL_MASK);
+ Geometry geom = geomTreePanel.getSelectedGeometry();
+ if (geom == null) return;
+ SwingUtil.copyToClipboard(geom, isFormatted);
+ }
+
+ public void setGeometry(String tag, Geometry a, int source)
+ {
+ lblGeom.setText(tag);
+ lblGeom.setForeground(source == 0 ? Color.BLUE : Color.RED);
+ geomTreePanel.populate(a, source);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder.java
new file mode 100644
index 0000000..687deef
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.lang.reflect.InvocationTargetException;
+
+import javax.swing.UIManager;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.command.*;
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.geomfunction.GeometryFunctionRegistry;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * A Swing application which supports
+ * creating geometries and running JTS operations.
+ * <p>
+ * <b>Command Line Options</b>
+ * <table border='1'>
+ * <tr>
+ * <td><tt>-geomfunc <i>{ <classname> }</i></tt> </td>
+ * <td>Specifies classes whose <tt>public static<tt> methods will be loaded as geometry functions</td>
+ * </tr>
+ * </table>
+ *
+ * @version 1.7
+ */
+public class JTSTestBuilder
+{
+ private static final String PROP_SWING_DEFAULTLAF = "swing.defaultlaf";
+
+ private static final String OPT_GEOMFUNC = "geomfunc";
+
+ public static JTSTestBuilder instance()
+ {
+ return app;
+ }
+
+ public static TestBuilderModel model() { return instance().tbModel; }
+
+ private static GeometryFunctionRegistry funcRegistry = GeometryFunctionRegistry.createTestBuilderRegistry();
+ private static CommandLine commandLine = createCmdLine();
+ public static JTSTestBuilder app;
+
+ private static CommandLine createCmdLine() {
+ commandLine = new CommandLine('-');
+ commandLine.addOptionSpec(new OptionSpec(OPT_GEOMFUNC, OptionSpec.NARGS_ONE_OR_MORE));
+ return commandLine;
+ }
+
+ public static GeometryFunctionRegistry getFunctionRegistry()
+ {
+ return funcRegistry;
+ }
+
+ public static PrecisionModel getPrecisionModel()
+ {
+ return model().getPrecisionModel();
+ }
+
+ public static GeometryFactory getGeometryFactory()
+ {
+ return model().getGeometryFactory();
+ }
+
+ private TestBuilderModel tbModel = new TestBuilderModel();
+
+ boolean packFrame = false;
+
+ /**Construct the application*/
+ public JTSTestBuilder() {
+ }
+
+ private void initFrame()
+ {
+ JTSTestBuilderFrame frame = new JTSTestBuilderFrame();
+ frame.setModel(model());
+
+ //Validate frames that have preset sizes
+ //Pack frames that have useful preferred size info, e.g. from their layout
+ if (packFrame) {
+ frame.pack();
+ } else {
+ frame.validate();
+ }
+ //Center the window
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+ Dimension frameSize = frame.getSize();
+ if (frameSize.height > screenSize.height) {
+ frameSize.height = screenSize.height;
+ }
+ if (frameSize.width > screenSize.width) {
+ frameSize.width = screenSize.width;
+ }
+ frame.setLocation(
+ (screenSize.width - frameSize.width) / 2,
+ (screenSize.height - frameSize.height) / 2);
+ frame.setVisible(true);
+ }
+
+
+ /**Main method*/
+ public static void main(String[] args)
+ {
+ try {
+ readArgs(args);
+ setLookAndFeel();
+ app = new JTSTestBuilder();
+ app.initFrame();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Sets the look and feel, using user-defined LAF if
+ * provided as a system property.
+ *
+ * e.g. Metal: -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
+ *
+ * @throws InterruptedException
+ * @throws InvocationTargetException
+ */
+ private static void setLookAndFeel() throws InterruptedException, InvocationTargetException
+ {
+ /**
+ * Invoke on Swing thread to pass Java security requirements
+ */
+ javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
+ public void run()
+ {
+ try {
+ String laf = System.getProperty(PROP_SWING_DEFAULTLAF);
+ if (laf == null) {
+ laf = UIManager.getSystemLookAndFeelClassName();
+ }
+ javax.swing.UIManager.setLookAndFeel(laf);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ private static void readArgs(String[] args) throws ParseException,
+ ClassNotFoundException {
+ commandLine.parse(args);
+
+ if (commandLine.hasOption(OPT_GEOMFUNC)) {
+ Option opt = commandLine.getOption(OPT_GEOMFUNC);
+ for (int i = 0; i < opt.getNumArgs(); i++) {
+ String geomFuncClassname = opt.getArg(i);
+ try {
+ funcRegistry.add(geomFuncClassname);
+ System.out.println("Added Geometry Functions from: "
+ + geomFuncClassname);
+ } catch (ClassNotFoundException ex) {
+ System.out.println("Unable to load function class: "
+ + geomFuncClassname);
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderFrame.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderFrame.java
new file mode 100644
index 0000000..ddea55f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderFrame.java
@@ -0,0 +1,873 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.AWTEvent;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.GridBagLayout;
+import java.awt.GridLayout;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.WindowEvent;
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JSplitPane;
+import javax.swing.JTabbedPane;
+import javax.swing.border.BevelBorder;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.util.LineStringExtracter;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.clean.CleanDuplicatePoints;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.controller.ResultController;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelEvent;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelListener;
+import org.locationtech.jtstest.testbuilder.model.DisplayParameters;
+import org.locationtech.jtstest.testbuilder.model.GeometryEvent;
+import org.locationtech.jtstest.testbuilder.model.HtmlWriter;
+import org.locationtech.jtstest.testbuilder.model.JavaTestWriter;
+import org.locationtech.jtstest.testbuilder.model.TestBuilderModel;
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+import org.locationtech.jtstest.testbuilder.model.XMLTestWriter;
+import org.locationtech.jtstest.testbuilder.ui.ImageUtil;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+import org.locationtech.jtstest.testbuilder.ui.dnd.FileDrop;
+import org.locationtech.jtstest.testbuilder.ui.tools.DeleteVertexTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.EditVertexTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.ExtractComponentTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.InfoTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.LineStringTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.PanTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.PointTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.RectangleTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.StreamPolygonTool;
+import org.locationtech.jtstest.testbuilder.ui.tools.ZoomTool;
+import org.locationtech.jtstest.testrunner.GuiUtil;
+import org.locationtech.jtstest.util.FileUtil;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+/**
+ * The main frame for the JTS Test Builder.
+ *
+ * @version 1.7
+ */
+public class JTSTestBuilderFrame extends JFrame
+{
+
+ private static JTSTestBuilderFrame singleton = null;
+ private ResultController resultController = new ResultController(this);
+ private JTSTestBuilderMenuBar tbMenuBar = new JTSTestBuilderMenuBar(this);
+ private JTSTestBuilderToolBar tbToolBar = new JTSTestBuilderToolBar(this);
+ //---------------------------------------------
+ JPanel contentPane;
+ BorderLayout borderLayout1 = new BorderLayout();
+ Border border4;
+ JSplitPane jSplitPane1 = new JSplitPane();
+ JPanel jPanel1 = new JPanel();
+ BorderLayout borderLayout2 = new BorderLayout();
+ TestCasePanel testCasePanel = new TestCasePanel();
+ JPanel jPanel2 = new JPanel();
+ JTabbedPane inputTabbedPane = new JTabbedPane();
+ BorderLayout borderLayout3 = new BorderLayout();
+ JPanel testPanel = new JPanel();
+ WKTPanel wktPanel = new WKTPanel(this);
+ InspectorPanel inspectPanel = new InspectorPanel();
+ TestListPanel testListPanel = new TestListPanel(this);
+ //LayerListPanel layerListPanel = new LayerListPanel();
+ LayerListPanel layerListPanel = new LayerListPanel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ GridLayout gridLayout1 = new GridLayout();
+ ResultWKTPanel resultWKTPanel = new ResultWKTPanel();
+ ResultValuePanel resultValuePanel = new ResultValuePanel();
+ StatsPanel statsPanel = new StatsPanel();
+ InfoPanel logPanel = new InfoPanel();
+ private ZoomTool zoomTool;
+ private final ImageIcon appIcon = new ImageIcon(this.getClass().getResource("app-icon.gif"));
+
+ private JFileChooser fileChooser = new JFileChooser();
+ private JFileChooser pngFileChooser;
+ private JFileChooser fileAndDirectoryChooser = new JFileChooser();
+ private JFileChooser directoryChooser = new JFileChooser();
+
+ TestBuilderModel tbModel;
+
+ private TestCaseTextDialog testCaseTextDlg = new TestCaseTextDialog(this,
+ "", true);
+ private GeometryInspectorDialog geomInspectorDlg = new GeometryInspectorDialog(this);
+ /*
+ private LoadTestCasesDialog loadTestCasesDlg = new LoadTestCasesDialog(this,
+ "Load Test Cases", true);
+*/
+
+
+ /**
+ * Construct the frame
+ */
+ public JTSTestBuilderFrame() {
+ try {
+ Assert.isTrue(singleton == null);
+ singleton = this;
+ enableEvents(AWTEvent.WINDOW_EVENT_MASK);
+ setIconImage(appIcon.getImage());
+ jbInit();
+ //#setRollover was introduced in Java 1.4 and is not present in 1.3.1. [Jon Aquino]
+ //jToolBar1.setRollover(true);
+ // initList(tcList);
+ //loadEditList(testpp);
+// testCasePanel.setModel(tbModel);
+ testCasePanel.spatialFunctionPanel.addSpatialFunctionPanelListener(
+ new SpatialFunctionPanelListener() {
+ public void functionExecuted(SpatialFunctionPanelEvent e) {
+ resultController.spatialFunctionPanel_functionExecuted(e);
+ }
+ });
+ testCasePanel.scalarFunctionPanel.addSpatialFunctionPanelListener(
+ new SpatialFunctionPanelListener() {
+ public void functionExecuted(SpatialFunctionPanelEvent e) {
+ resultController.scalarFunctionPanel_functionExecuted(e);
+ }
+ });
+ testCasePanel.editCtlPanel.btnSetPrecisionModel.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ precisionModelMenuItem_actionPerformed(e);
+ }
+ });
+ //testCasePanel.editCtlPanel.cbMagnifyTopo.addActionListener(
+ testCasePanel.cbMagnifyTopo.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ revealTopo_actionPerformed();
+ }
+ });
+ //testCasePanel.editCtlPanel.stretchDist
+ testCasePanel.spStretchDist
+ .addChangeListener(new javax.swing.event.ChangeListener() {
+ public void stateChanged(javax.swing.event.ChangeEvent e) {
+ revealTopo_actionPerformed();
+ }
+ });
+
+ zoomTool = new ZoomTool(2, AppCursors.ZOOM);
+ showGeomsTab();
+ initFileDrop(testCasePanel);
+ testCasePanel.getGeometryEditPanel().setCurrentTool(RectangleTool.getInstance());
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void initFileDrop(Component comp) {
+ new FileDrop(comp, new FileDrop.Listener() {
+ public void filesDropped(java.io.File[] files) {
+ try {
+ openXmlFilesAndDirectories(files);
+ } catch (Exception ex) {
+ SwingUtil.reportException(null, ex);
+ }
+ }
+ });
+ }
+ private void initFileChoosers() {
+ if (pngFileChooser == null) {
+ pngFileChooser = new JFileChooser();
+ pngFileChooser.addChoosableFileFilter(SwingUtil.PNG_FILE_FILTER);
+ pngFileChooser.setDialogTitle("Save PNG");
+ pngFileChooser.setSelectedFile(new File("geoms.png"));
+ }
+ }
+
+ public static JTSTestBuilderFrame instance() {
+ if (singleton == null) {
+ new JTSTestBuilderFrame();
+ }
+ return singleton;
+ }
+
+ public static GeometryEditPanel getGeometryEditPanel()
+ {
+ return instance().getTestCasePanel().getGeometryEditPanel();
+ }
+
+ public TestBuilderModel getModel()
+ {
+ return tbModel;
+ }
+
+ public void setModel(TestBuilderModel model)
+ {
+ tbModel = model;
+ testCasePanel.setModel(tbModel);
+ wktPanel.setModel(model);
+ inspectPanel.setModel(model);
+ resultWKTPanel.setModel(model);
+ resultValuePanel.setModel(model);
+ statsPanel.setModel(model);
+
+ model.getGeometryEditModel().addGeometryListener(
+ new org.locationtech.jtstest.testbuilder.model.GeometryListener() {
+ public void geometryChanged(GeometryEvent e) {
+ model_geometryChanged(e);
+ }
+ });
+
+ testListPanel.populateList();
+ //layerListPanel.init(getModel().getLayers());
+ layerListPanel.populateList();
+ updateTestCaseView();
+ updatePrecisionModelDescription();
+ }
+
+ public static void reportException(Exception e) {
+ SwingUtil.reportException(instance(), e);
+ }
+
+ public void setCurrentTestCase(TestCaseEdit testCase) {
+ tbModel.cases().setCurrent(testCase);
+ updateTestCaseView();
+ JTSTestBuilderController.zoomToInput();
+ }
+
+ public TestCasePanel getTestCasePanel() {
+ return testCasePanel;
+ }
+
+ public ResultWKTPanel getResultWKTPanel() {
+ return resultWKTPanel;
+ }
+
+ public ResultValuePanel getResultValuePanel() {
+ return resultValuePanel;
+ }
+
+ /**
+ * File | Exit action performed
+ */
+ public void jMenuFileExit_actionPerformed(ActionEvent e) {
+ System.exit(0);
+ }
+
+ /**
+ * Help | About action performed
+ */
+ public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
+ JTSTestBuilder_AboutBox dlg = new JTSTestBuilder_AboutBox(this);
+ java.awt.Dimension dlgSize = dlg.getPreferredSize();
+ java.awt.Dimension frmSize = getSize();
+ java.awt.Point loc = getLocation();
+ dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height
+ - dlgSize.height) / 2 + loc.y);
+ dlg.setModal(true);
+ dlg.setVisible(true);
+ }
+
+ public void showTab(String name)
+ {
+ inputTabbedPane.setSelectedIndex(inputTabbedPane.indexOfTab(name));
+ }
+
+ public void showGeomsTab()
+ {
+ showTab(AppStrings.TAB_LABEL_INPUT);
+ }
+
+ public void showResultWKTTab()
+ {
+ showTab(AppStrings.TAB_LABEL_RESULT);
+ }
+ public void showResultValueTab()
+ {
+ showTab(AppStrings.TAB_LABEL_VALUE);
+ }
+
+ public void showInfoTab()
+ {
+ showTab(AppStrings.TAB_LABEL_LOG);
+ }
+
+ public void openXmlFilesAndDirectories(File[] files) throws Exception {
+ if (files.length == 1) {
+ fileChooser.setSelectedFile(files[0]);
+ }
+ tbModel.openXmlFilesAndDirectories(files);
+ reportProblemsParsingXmlTestFile(tbModel.getParsingProblems());
+ updateTestCaseView();
+ testListPanel.populateList();
+ updatePrecisionModelDescription();
+ JTSTestBuilderController.zoomToInput();
+ }
+
+ /**
+ * Overridden so we can exit when window is closed
+ */
+ protected void processWindowEvent(WindowEvent e) {
+ super.processWindowEvent(e);
+ if (e.getID() == WindowEvent.WINDOW_CLOSING) {
+ jMenuFileExit_actionPerformed(null);
+ }
+ }
+
+ void model_geometryChanged(GeometryEvent e) {
+ //testCasePanel.relatePanel.clearResults();
+ JTSTestBuilderController.geometryViewChanged();
+ updateWktPanel();
+ }
+
+ void createNewCase() {
+ tbModel.cases().createNew();
+ showGeomsTab();
+ updateTestCases();
+ }
+
+ void moveToPrevCase(boolean isZoom) {
+ tbModel.cases().prevCase();
+ updateTestCaseView();
+ if (isZoom) JTSTestBuilderController.zoomToInput();
+ }
+
+ void moveToNextCase(boolean isZoom) {
+ tbModel.cases().nextCase();
+ updateTestCaseView();
+ if (isZoom) JTSTestBuilderController.zoomToInput();
+ }
+
+ void copyCase() {
+ tbModel.cases().copyCase();
+ updateTestCases();
+ }
+ TestCaseEdit currentCase() {
+ return tbModel.cases().getCurrentCase();
+ }
+ public void updateTestCases()
+ {
+ testListPanel.populateList();
+ updateTestCaseView();
+ }
+
+ public void copyResultToTest()
+ {
+ Object currResult = tbModel.getResult();
+ if (! (currResult instanceof Geometry))
+ return;
+ tbModel.addCase(new Geometry[] { (Geometry) currResult, null },
+ "Result of " + tbModel.getOpName());
+ updateTestCaseView();
+ testListPanel.populateList();
+ }
+
+ public void actionExchangeGeoms() {
+ currentCase().exchange();
+ testCasePanel.setTestCase(currentCase());
+ }
+
+ void btnDeleteCase_actionPerformed(ActionEvent e) {
+ tbModel.cases().deleteCase();
+ updateTestCaseView();
+ testListPanel.populateList();
+ }
+
+ /*
+ void menuLoadTestCases_actionPerformed(ActionEvent e) {
+ try {
+ loadTestCasesDlg.show();
+ TestCaseList tcl = loadTestCasesDlg.getList();
+ loadTestCaseList(tcl, new PrecisionModel());
+ refreshNavBar();
+ }
+ catch (Exception x) {
+ reportException(this, x);
+ }
+ }
+
+ void loadTestCaseList(TestCaseList tcl, PrecisionModel precisionModel) throws Exception {
+ tbModel.setPrecisionModel(precisionModel);
+ if (tcl != null) {
+ loadEditList(tcl);
+ }
+ testListPanel.populateList();
+ }
+*/
+
+ void menuExchangeGeom_actionPerformed(ActionEvent e) {
+ currentCase().exchange();
+ testCasePanel.setTestCase(currentCase());
+ }
+
+ void menuViewText_actionPerformed(ActionEvent e) {
+ testCaseTextDlg.setTestCase(currentCase());
+ testCaseTextDlg.setVisible(true);
+ }
+
+ public void actionInspectGeometry() {
+ int geomIndex = tbModel.getGeometryEditModel().getGeomIndex();
+ String tag = geomIndex == 0 ? AppStrings.GEOM_LABEL_A : AppStrings.GEOM_LABEL_B;
+ Geometry geometry = currentCase().getGeometry(geomIndex);
+ inspectPanel.setGeometry( tag, geometry, geomIndex);
+ showTab(AppStrings.TAB_LABEL_INSPECT);
+ /*
+ geomInspectorDlg.setGeometry(
+ geomIndex == 0 ? AppStrings.GEOM_LABEL_A : AppStrings.GEOM_LABEL_B,
+ tbModel.getCurrentTestCaseEdit().getGeometry(geomIndex));
+ */
+ //geomInspectorDlg.setVisible(true);
+ }
+
+ public void actionInspectGeometryDialog() {
+ int geomIndex = tbModel.getGeometryEditModel().getGeomIndex();
+ String tag = geomIndex == 0 ? AppStrings.GEOM_LABEL_A : AppStrings.GEOM_LABEL_B;
+ Geometry geometry = currentCase().getGeometry(geomIndex);
+ geomInspectorDlg.setGeometry(tag, geometry);
+ geomInspectorDlg.setVisible(true);
+ }
+
+ void menuLoadXmlTestFile_actionPerformed(ActionEvent e) {
+ try {
+ fileChooser.removeChoosableFileFilter(SwingUtil.JAVA_FILE_FILTER);
+ fileChooser.addChoosableFileFilter(SwingUtil.XML_FILE_FILTER);
+ fileChooser.setDialogTitle("Open XML Test File(s)");
+ fileChooser.setMultiSelectionEnabled(true);
+ if (JFileChooser.APPROVE_OPTION == fileChooser.showOpenDialog(this)) {
+ File[] files = fileChooser.getSelectedFiles();
+ if (files.length == 0) {
+ files = new File[]{fileChooser.getSelectedFile()};
+ }
+ openXmlFilesAndDirectories(files);
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void menuSaveAsXml_actionPerformed(ActionEvent e) {
+ try {
+ fileChooser.removeChoosableFileFilter(SwingUtil.JAVA_FILE_FILTER);
+ fileChooser.addChoosableFileFilter(SwingUtil.XML_FILE_FILTER);
+ fileChooser.setDialogTitle("Save XML Test File");
+ if (JFileChooser.APPROVE_OPTION == fileChooser.showSaveDialog(this)) {
+ File file = fileChooser.getSelectedFile();
+ if (! SwingUtil.confirmOverwrite(this, file)) return;
+ FileUtil.setContents(fileChooser.getSelectedFile().getPath(),
+ XMLTestWriter.getRunXml(tbModel.getTestCaseList(), tbModel.getPrecisionModel()) );
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ public String getRunXml()
+ {
+ return XMLTestWriter.getRunXml(tbModel.getTestCaseList(), tbModel.getPrecisionModel());
+ }
+
+ void menuSaveAsJava_actionPerformed(ActionEvent e) {
+ try {
+ fileChooser.removeChoosableFileFilter(SwingUtil.XML_FILE_FILTER);
+ fileChooser.addChoosableFileFilter(SwingUtil.JAVA_FILE_FILTER);
+ fileChooser.setDialogTitle("Save Java File");
+ if (JFileChooser.APPROVE_OPTION == fileChooser.showSaveDialog(this)) {
+ File file = fileChooser.getSelectedFile();
+ if (! SwingUtil.confirmOverwrite(this, file)) return;
+ String className = fileChooser.getSelectedFile().getName();
+ int extensionIndex = className.lastIndexOf(".");
+ if (extensionIndex > 0) {
+ className = className.substring(0, extensionIndex);
+ }
+ ;
+ FileUtil.setContents(fileChooser.getSelectedFile().getPath(), JavaTestWriter.getRunJava(className, tbModel));
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void menuSaveAsHtml_actionPerformed(ActionEvent e) {
+ try {
+ directoryChooser.setDialogTitle("Select Folder In Which To Save HTML and GIF Files");
+ if (JFileChooser.APPROVE_OPTION == directoryChooser.showSaveDialog(this)) {
+ int choice = JOptionPane.showConfirmDialog(this,
+ "Would you like the spatial function images "
+ + "to show the A and B geometries?", "Confirmation",
+ JOptionPane.YES_NO_CANCEL_OPTION);
+ final HtmlWriter writer = new HtmlWriter();
+ switch (choice) {
+ case JOptionPane.CANCEL_OPTION:
+ return;
+ case JOptionPane.YES_OPTION:
+ writer.setShowingABwithSpatialFunction(true);
+ break;
+ case JOptionPane.NO_OPTION:
+ writer.setShowingABwithSpatialFunction(false);
+ break;
+ }
+ final File directory = directoryChooser.getSelectedFile();
+ Assert.isTrue(directory.exists());
+ // BusyDialog.setOwner(this);
+ // BusyDialog busyDialog = new BusyDialog();
+ // writer.setBusyDialog(busyDialog);
+ // try {
+ // busyDialog.execute("Saving .html and .gif files", new BusyDialog.Executable() {
+ // public void execute() throws Exception {
+ writer.write(directory, tbModel.getTestCaseList(), tbModel.getPrecisionModel());
+ // }
+ // });
+ // }
+ // catch (Exception e2) {
+ // System.out.println(busyDialog.getStackTrace());
+ // throw e2;
+ // }
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void menuSaveAsPNG_actionPerformed(ActionEvent e) {
+ initFileChoosers();
+ try {
+ String fullFileName = SwingUtil.chooseFilenameWithConfirm(this, pngFileChooser);
+ if (fullFileName == null) return;
+ ImageUtil.writeImage(testCasePanel.getGeometryEditPanel(),
+ fullFileName,
+ ImageUtil.IMAGE_FORMAT_NAME_PNG);
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void menuSaveScreenToClipboard_actionPerformed(ActionEvent e) {
+ try {
+ ImageUtil.saveImageToClipboard(testCasePanel.getGeometryEditPanel(),
+ ImageUtil.IMAGE_FORMAT_NAME_PNG);
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void drawRectangleButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(RectangleTool.getInstance());
+ }
+
+ void drawPolygonButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(StreamPolygonTool.getInstance());
+ }
+
+ void drawLineStringButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(LineStringTool.getInstance());
+ }
+
+ void drawPointButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(PointTool.getInstance());
+ }
+
+ void infoButton_actionPerformed() {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(InfoTool.getInstance());
+ }
+
+ void actionExtractComponentButton() {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(ExtractComponentTool.getInstance());
+ }
+
+ void actionDeleteVertexButton() {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(DeleteVertexTool.getInstance());
+ }
+
+ void zoomInButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(zoomTool);
+ }
+
+ void oneToOneButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().getViewport().zoomToInitialExtent();
+ }
+
+ void zoomToFullExtentButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().zoomToFullExtent();
+ }
+
+ void zoomToResult_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().zoomToResult();
+ }
+
+ void zoomToInputButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().zoomToInput();
+ }
+
+ void zoomToInputA_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().zoomToGeometry(0);
+ }
+
+ void zoomToInputB_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().zoomToGeometry(1);
+ }
+
+ void panButton_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(PanTool.getInstance());
+ }
+
+ void deleteAllTestCasesMenuItem_actionPerformed(ActionEvent e) {
+ tbModel.cases().init();
+ updateTestCaseView();
+ testListPanel.populateList();
+ }
+
+ public void setShowingGrid(boolean showGrid) {
+ testCasePanel.editPanel.setGridEnabled(showGrid);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ void showVertexIndicesMenuItem_actionPerformed(ActionEvent e) {
+// testCasePanel.editPanel.setShowVertexIndices(showVertexIndicesMenuItem.isSelected());
+ }
+
+ void menuLoadXmlTestFolder_actionPerformed(ActionEvent e) {
+ try {
+ directoryChooser.removeChoosableFileFilter(SwingUtil.JAVA_FILE_FILTER);
+ directoryChooser.setDialogTitle("Open Folder(s) Containing XML Test Files");
+ directoryChooser.setMultiSelectionEnabled(true);
+ if (JFileChooser.APPROVE_OPTION == directoryChooser.showOpenDialog(this)) {
+ File[] files = directoryChooser.getSelectedFiles();
+ if (files.length == 0) {
+ files = new File[]{fileChooser.getSelectedFile()};
+ }
+ openXmlFilesAndDirectories(files);
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(this, x);
+ }
+ }
+
+ void precisionModelMenuItem_actionPerformed(ActionEvent e) {
+ try {
+ PrecisionModelDialog precisionModelDialog = new PrecisionModelDialog(
+ this, "Edit Precision Model", true);
+ GuiUtil.center(precisionModelDialog, this);
+ precisionModelDialog.setPrecisionModel(tbModel.getPrecisionModel());
+ precisionModelDialog.setVisible(true);
+ tbModel.changePrecisionModel(precisionModelDialog.getPrecisionModel());
+ updatePrecisionModelDescription();
+ updateGeometry();
+ }
+ catch (ParseException pe) {
+ SwingUtil.reportException(this, pe);
+ }
+ }
+ void revealTopo_actionPerformed() {
+ DisplayParameters.setMagnifyingTopology(testCasePanel.cbMagnifyTopo.isSelected());
+ DisplayParameters.setTopologyStretchSize(testCasePanel.getStretchSize());
+ //tbModel.setMagnifyingTopology(testCasePanel.editCtlPanel.cbMagnifyTopo.isSelected());
+ //tbModel.setTopologyStretchSize(testCasePanel.editCtlPanel.getStretchSize());
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+
+ /**
+ * Component initialization
+ */
+ private void jbInit() throws Exception {
+ fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
+ fileChooser.setMultiSelectionEnabled(false);
+ fileAndDirectoryChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+ fileAndDirectoryChooser.setMultiSelectionEnabled(true);
+ directoryChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ directoryChooser.setMultiSelectionEnabled(false);
+ //Center the window
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+
+ //---------------------------------------------------
+ contentPane = (JPanel) this.getContentPane();
+ border4 = BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.white,
+ Color.white, new Color(93, 93, 93), new Color(134, 134, 134));
+ contentPane.setLayout(borderLayout1);
+ this.setSize(new Dimension(800, 800));
+ this.setTitle("JTS TestBuilder");
+
+ /*
+ testCasePanel.editPanel.addGeometryListener(
+ new com.vividsolutions.jtstest.testbuilder.model.GeometryListener() {
+
+ public void geometryChanged(GeometryEvent e) {
+ editPanel_geometryChanged(e);
+ }
+ });
+*/
+
+ jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);
+ jSplitPane1.setPreferredSize(new Dimension(601, 690));
+ jPanel1.setLayout(borderLayout2);
+ jPanel1.setMinimumSize(new Dimension(431, 0));
+ contentPane.setPreferredSize(new Dimension(601, 690));
+ inputTabbedPane.setTabPlacement(JTabbedPane.LEFT);
+ jPanel2.setLayout(borderLayout3);
+ wktPanel.setMinimumSize(new Dimension(111, 0));
+ wktPanel.setPreferredSize(new Dimension(600, 100));
+ wktPanel.setToolTipText(AppStrings.TIP_TEXT_ENTRY);
+ testPanel.setLayout(gridBagLayout2);
+ gridLayout1.setRows(4);
+ gridLayout1.setColumns(1);
+
+ contentPane.add(jSplitPane1, BorderLayout.CENTER);
+ jSplitPane1.add(jPanel1, JSplitPane.TOP);
+ jPanel1.add(testCasePanel, BorderLayout.CENTER);
+ jSplitPane1.add(jPanel2, JSplitPane.BOTTOM);
+ jPanel2.add(tbToolBar.getToolBar(), BorderLayout.NORTH);
+ jPanel2.add(inputTabbedPane, BorderLayout.CENTER);
+ jSplitPane1.setBorder(new EmptyBorder(2,2,2,2));
+ jSplitPane1.setResizeWeight(0.5);
+ inputTabbedPane.add(testListPanel, AppStrings.TAB_LABEL_CASES);
+ inputTabbedPane.add(wktPanel, AppStrings.TAB_LABEL_INPUT);
+ inputTabbedPane.add(resultWKTPanel, AppStrings.TAB_LABEL_RESULT);
+ inputTabbedPane.add(resultValuePanel, AppStrings.TAB_LABEL_VALUE);
+ inputTabbedPane.add(inspectPanel, AppStrings.TAB_LABEL_INSPECT);
+ inputTabbedPane.add(statsPanel, AppStrings.TAB_LABEL_STATS);
+ inputTabbedPane.add(logPanel, AppStrings.TAB_LABEL_LOG);
+ inputTabbedPane.add(layerListPanel, AppStrings.TAB_LABEL_LAYERS);
+ inputTabbedPane.setSelectedIndex(1);
+ inputTabbedPane.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent e)
+ {
+ updateStatsPanelIfVisible();
+ }
+ });
+
+ jSplitPane1.setDividerLocation(500);
+ this.setJMenuBar(tbMenuBar.getMenuBar());
+ //contentPane.add(tbToolBar.getToolBar(), BorderLayout.NORTH);
+ }
+
+ public JTSTestBuilderToolBar getToolbar()
+ {
+ return tbToolBar;
+ }
+
+ private void updateStatsPanelIfVisible()
+ {
+ int index = inputTabbedPane.getSelectedIndex();
+ if (index < 0) return;
+ if (inputTabbedPane.getComponent(index) == statsPanel) {
+ statsPanel.refresh();
+ }
+ }
+
+ private void updateGeometry() {
+ testCasePanel.relatePanel.clearResults();
+ testCasePanel.setTestCase(currentCase());
+ updateWktPanel();
+ }
+
+ private void updateWktPanel() {
+ Geometry g0 = tbModel.getGeometryEditModel().getGeometry(0);
+ wktPanel.setText(g0, 0);
+ Geometry g1 = tbModel.getGeometryEditModel().getGeometry(1);
+ wktPanel.setText(g1, 1);
+ }
+
+ private void updatePrecisionModelDescription() {
+ testCasePanel.setPrecisionModelDescription(tbModel.getPrecisionModel().toString());
+ }
+
+ public void updateTestCaseView() {
+ testCasePanel.setTestCase(currentCase());
+ getTestCasePanel().setCurrentTestCaseIndex(tbModel.getCurrentCaseIndex() + 1);
+ getTestCasePanel().setMaxTestCaseIndex(tbModel.getCasesSize());
+ updateWktPanel();
+ updateStatsPanelIfVisible();
+ }
+
+ public void displayInfo(Coordinate modelPt)
+ {
+ displayInfo(
+ testCasePanel.getGeometryEditPanel().getInfo(modelPt)
+ );
+ }
+
+ public void displayInfo(String s)
+ {
+ displayInfo(s, true);
+ }
+
+ public void displayInfo(String s, boolean showTab)
+ {
+ logPanel.addInfo(s);
+ if (showTab) showInfoTab();
+ }
+
+ private void reportProblemsParsingXmlTestFile(List parsingProblems) {
+ if (parsingProblems.isEmpty()) {
+ return;
+ }
+ for (Iterator i = parsingProblems.iterator(); i.hasNext(); ) {
+ String problem = (String) i.next();
+ System.out.println(problem);
+ }
+ JOptionPane.showMessageDialog(this, StringUtil.wrap(parsingProblems.size()
+ + " problems occurred parsing the XML test file."
+ + " The first problem was: " + parsingProblems.get(0), 80),
+ "Error", JOptionPane.ERROR_MESSAGE);
+ }
+
+ void menuRemoveDuplicatePoints_actionPerformed(ActionEvent e) {
+ CleanDuplicatePoints clean = new CleanDuplicatePoints();
+ Geometry cleanGeom = clean.clean(tbModel.getGeometryEditModel().getGeometry(0));
+ currentCase().setGeometry(0, cleanGeom);
+ updateGeometry();
+ }
+
+ void menuChangeToLines_actionPerformed(ActionEvent e) {
+ Geometry cleanGeom = LinearComponentExtracter.getGeometry(tbModel.getGeometryEditModel().getGeometry(0));
+ currentCase().setGeometry(0, cleanGeom);
+ updateGeometry();
+ }
+
+ void btnEditVertex_actionPerformed(ActionEvent e) {
+ testCasePanel.getGeometryEditPanel().setCurrentTool(EditVertexTool.getInstance());
+ }
+
+ private Coordinate pickOffset(Geometry a, Geometry b) {
+ if (a != null && ! a.isEmpty()) {
+ return a.getCoordinates()[0];
+ }
+ if (b != null && ! b.isEmpty()) {
+ return b.getCoordinates()[0];
+ }
+ return null;
+ }
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderMenuBar.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderMenuBar.java
new file mode 100644
index 0000000..4856934
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderMenuBar.java
@@ -0,0 +1,326 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.*;
+
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.model.DisplayParameters;
+
+public class JTSTestBuilderMenuBar
+{
+ JMenuBar jMenuBar1 = new JMenuBar();
+ JMenu jMenuFile = new JMenu();
+ JMenu jMenuHelp = new JMenu();
+ JMenuItem jMenuAbout = new JMenuItem();
+ JMenu jMenuView = new JMenu();
+ JMenuItem jMenuFileExit = new JMenuItem();
+ JMenu jMenuEdit = new JMenu();
+ //JMenu jMenuTools = new JMenu();
+ //JMenu jMenuOptions = new JMenu();
+ JMenuItem menuExchangeGeom = new JMenuItem();
+ JMenuItem menuViewText = new JMenuItem();
+ JMenuItem menuViewGeometry = new JMenuItem();
+ JMenuItem menuLoadXmlTestFile = new JMenuItem();
+ JMenuItem saveAsXmlMenuItem = new JMenuItem();
+ JMenuItem saveAsHtmlMenuItem = new JMenuItem();
+ JMenuItem saveAsPNGMenuItem = new JMenuItem();
+ JMenuItem saveToClipboardMenuItem = new JMenuItem();
+ JMenuItem deleteAllTestCasesMenuItem = new JMenuItem();
+ JCheckBoxMenuItem showVerticesMenuItem = new JCheckBoxMenuItem();
+ JCheckBoxMenuItem showGridMenuItem = new JCheckBoxMenuItem();
+ JCheckBoxMenuItem showOrientationsMenuItem = new JCheckBoxMenuItem();
+ JCheckBoxMenuItem showStructureMenuItem = new JCheckBoxMenuItem();
+ JCheckBoxMenuItem showVertexIndicesMenuItem = new JCheckBoxMenuItem();
+ JMenuItem menuLoadXmlTestFolder = new JMenuItem();
+ JMenuItem precisionModelMenuItem = new JMenuItem();
+ JMenuItem removeDuplicatePoints = new JMenuItem();
+ JMenuItem changeToLines = new JMenuItem();
+ private JMenuItem generateExpectedValuesMenuItem = new JMenuItem();
+
+ JTSTestBuilderFrame tbFrame;
+
+ public JTSTestBuilderMenuBar(JTSTestBuilderFrame tbFrame)
+ {
+ this.tbFrame = tbFrame;
+ }
+
+ public JMenuBar getMenuBar()
+ {
+ jMenuAbout.setText("About");
+ jMenuAbout.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.jMenuHelpAbout_actionPerformed(e);
+ }
+ });
+
+ jMenuFileExit.setText("Exit");
+ jMenuFileExit.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.jMenuFileExit_actionPerformed(e);
+ }
+ });
+ menuExchangeGeom.setText("Exchange Geometries");
+ menuExchangeGeom.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuExchangeGeom_actionPerformed(e);
+ }
+ });
+ menuViewText.setText("Test Case Text...");
+ menuViewText.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuViewText_actionPerformed(e);
+ }
+ });
+ menuViewGeometry.setText("Geometry Inspector...");
+ menuViewGeometry.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.actionInspectGeometry();
+ }
+ });
+ menuLoadXmlTestFile.setText("Open XML File(s)...");
+ menuLoadXmlTestFile.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuLoadXmlTestFile_actionPerformed(e);
+ }
+ });
+ saveAsXmlMenuItem.setText("Save As XML...");
+ saveAsXmlMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuSaveAsXml_actionPerformed(e);
+ }
+ });
+ saveAsHtmlMenuItem.setText("Save As HTML...");
+ saveAsHtmlMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuSaveAsHtml_actionPerformed(e);
+ }
+ });
+ saveAsPNGMenuItem.setText("Save As PNG...");
+ saveAsPNGMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuSaveAsPNG_actionPerformed(e);
+ }
+ });
+ saveToClipboardMenuItem.setText("Save Screen To Clipboard");
+ saveToClipboardMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuSaveScreenToClipboard_actionPerformed(e);
+ }
+ });
+ deleteAllTestCasesMenuItem.setText("Delete All Test Cases");
+ deleteAllTestCasesMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.deleteAllTestCasesMenuItem_actionPerformed(e);
+ }
+ });
+ showVerticesMenuItem.setText("Vertices");
+ showVerticesMenuItem.setSelected(true);
+ showVerticesMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setShowingVertices(showVerticesMenuItem.isSelected());
+ }
+ });
+
+ final JMenuItem showLabelMenuItem = menuItemCheck("Labels", true,
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setShowingLabel(((JMenuItem)e.getSource()).isSelected());
+ }
+ });
+ final JMenuItem basicFillMenuItem = menuItemRadio("Basic Fill", true,
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setFillType(DisplayParameters.FILL_BASIC);
+ }
+ });
+ final JMenuItem varyFillMenuItem = menuItemRadio("Varying Fill", false,
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setFillType(DisplayParameters.FILL_VARY);
+ }
+ });
+ final JMenuItem rainbowFillMenuItem = menuItemRadio("Rainbow Fill", false,
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setFillType(DisplayParameters.FILL_RAINBOW);
+ }
+ });
+ final JMenuItem rainbowRandomFillMenuItem = menuItemRadio("Random Rainbow Fill", false,
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setFillType(DisplayParameters.FILL_RAINBOW_RANDOM);
+ }
+ });
+ showGridMenuItem.setText("Grid");
+ showGridMenuItem.setSelected(true);
+ showGridMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.setShowingGrid(showGridMenuItem.isSelected());
+ }
+ });
+ showStructureMenuItem.setText("Geometry Structure");
+ showStructureMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setShowingStructure(showStructureMenuItem.isSelected());
+ }
+ });
+ showOrientationsMenuItem.setText("Orientations");
+ showOrientationsMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setShowingOrientations(showOrientationsMenuItem.isSelected());
+ }
+ });
+ showVertexIndicesMenuItem.setText("Vertex Indices");
+ showVertexIndicesMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.setShowingVertices(showVerticesMenuItem.isSelected());
+ }
+ });
+ menuLoadXmlTestFolder.setText("Open XML Folder(s)...");
+ menuLoadXmlTestFolder.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuLoadXmlTestFolder_actionPerformed(e);
+ }
+ });
+ precisionModelMenuItem.setText("Precision Model...");
+ precisionModelMenuItem.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.precisionModelMenuItem_actionPerformed(e);
+ }
+ });
+ removeDuplicatePoints.setText("Remove Duplicate Points");
+ removeDuplicatePoints.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuRemoveDuplicatePoints_actionPerformed(e);
+ }
+ });
+ changeToLines.setText("Change to Lines");
+ changeToLines.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.menuChangeToLines_actionPerformed(e);
+ }
+ });
+ generateExpectedValuesMenuItem.setText("Generate Expected Values");
+ generateExpectedValuesMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ //generateExpectedValuesMenuItem_actionPerformed(e);
+ }
+ });
+ jMenuFile.setText("File");
+ //jMenuOptions.setText("Options");
+ //jMenuTools.setText("Tools");
+
+ ButtonGroup fillGroup = new ButtonGroup();
+ fillGroup.add(basicFillMenuItem);
+ fillGroup.add(varyFillMenuItem);
+ fillGroup.add(rainbowFillMenuItem);
+ fillGroup.add(rainbowRandomFillMenuItem);
+ basicFillMenuItem.setSelected(true);
+
+ jMenuFile.add(menuLoadXmlTestFile);
+ jMenuFile.add(menuLoadXmlTestFolder);
+ jMenuFile.add(saveAsPNGMenuItem);
+ jMenuFile.add(saveToClipboardMenuItem);
+ jMenuFile.add(saveAsXmlMenuItem);
+ //jMenuFile.add(saveAsHtmlMenuItem);
+ //jMenuFile.add(generateExpectedValuesMenuItem);
+ jMenuFile.addSeparator();
+ jMenuFile.add(jMenuFileExit);
+ //==========================
+
+ jMenuHelp.setText("Help");
+ jMenuHelp.add(jMenuAbout);
+ //==========================
+ jMenuView.setText("View");
+ jMenuView.add(showVerticesMenuItem);
+ //jMenuOptions.add(showVertexIndicesMenuItem);
+ jMenuView.add(showStructureMenuItem);
+ jMenuView.add(showOrientationsMenuItem);
+ jMenuView.add(showLabelMenuItem);
+
+ jMenuView.addSeparator();
+ jMenuView.add(basicFillMenuItem);
+ jMenuView.add(varyFillMenuItem);
+ jMenuView.add(rainbowFillMenuItem);
+ jMenuView.add(rainbowRandomFillMenuItem);
+
+ jMenuView.addSeparator();
+ jMenuView.add(showGridMenuItem);
+
+ jMenuView.addSeparator();
+ jMenuView.add(menuViewText);
+ jMenuView.add(menuViewGeometry);
+ //==========================
+ jMenuEdit.setText("Edit");
+ jMenuEdit.add(deleteAllTestCasesMenuItem);
+ jMenuEdit.add(menuExchangeGeom);
+ jMenuEdit.addSeparator();
+ jMenuEdit.add(precisionModelMenuItem);
+ jMenuEdit.addSeparator();
+ jMenuEdit.add(removeDuplicatePoints);
+ jMenuEdit.add(changeToLines);
+
+ jMenuBar1.add(jMenuFile);
+ jMenuBar1.add(jMenuView);
+ jMenuBar1.add(jMenuEdit);
+ //jMenuBar1.add(jMenuOptions);
+ //jMenuBar1.add(jMenuTools);
+ jMenuBar1.add(jMenuHelp);
+
+ return jMenuBar1;
+ }
+
+ JMenuItem menuItemCheck(String name, boolean init) {
+ return createMenuItemSelectable(new JCheckBoxMenuItem(), name, init, null);
+ }
+ JMenuItem menuItemCheck(String name, boolean init, ActionListener listener) {
+ return createMenuItemSelectable(new JCheckBoxMenuItem(), name, init, listener);
+ }
+ JMenuItem menuItemRadio(String name, boolean init) {
+ return createMenuItemSelectable(new JRadioButtonMenuItem(), name, init, null);
+ }
+ JMenuItem menuItemRadio(String name, boolean init, ActionListener listener) {
+ return createMenuItemSelectable(new JRadioButtonMenuItem(), name, init, listener);
+ }
+
+ JMenuItem createMenuItemSelectable(JMenuItem item, String name, boolean init, ActionListener listener) {
+ item.setText(name);
+ item.setSelected(init);
+ if (listener != null) {
+ item.addActionListener(listener);
+ }
+ return item;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderToolBar.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderToolBar.java
new file mode 100644
index 0000000..207e5dd
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilderToolBar.java
@@ -0,0 +1,540 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JToggleButton;
+import javax.swing.JToolBar;
+import javax.swing.SwingConstants;
+
+public class JTSTestBuilderToolBar {
+
+
+ JTSTestBuilderFrame tbFrame;
+
+ JToolBar jToolBar1 = new JToolBar();
+ JButton previousButton = new JButton();
+ JButton nextButton = new JButton();
+ JButton newButton = new JButton();
+ JButton copyButton = new JButton();
+ JButton deleteButton = new JButton();
+ JButton exchangeButton = new JButton();
+
+ JButton oneToOneButton = new JButton();
+ JButton zoomToFullExtentButton = new JButton();
+ JButton zoomToInputButton = new JButton();
+ JButton zoomToInputAButton = new JButton();
+ JButton zoomToInputBButton = new JButton();
+ JButton zoomToResultButton = new JButton();
+
+ JToggleButton drawRectangleButton = new JToggleButton();
+ JToggleButton drawPolygonButton = new JToggleButton();
+ JToggleButton drawLineStringButton = new JToggleButton();
+ JToggleButton drawPointButton = new JToggleButton();
+ JToggleButton zoomButton = new JToggleButton();
+ JToggleButton infoButton = new JToggleButton();
+ JToggleButton panButton = new JToggleButton();
+ JToggleButton btnEditVertex = new JToggleButton();
+ JToggleButton extractComponentButton;
+ ButtonGroup toolButtonGroup = new ButtonGroup();
+
+ private final ImageIcon leftIcon = new ImageIcon(this.getClass().getResource("Left.png"));
+ private final ImageIcon rightIcon = new ImageIcon(this.getClass().getResource("Right.png"));
+ private final ImageIcon plusIcon = new ImageIcon(this.getClass().getResource("Plus.png"));
+ private final ImageIcon copyCaseIcon = new ImageIcon(this.getClass().getResource("CopyCase.png"));
+ private final ImageIcon deleteIcon = new ImageIcon(this.getClass().getResource("Delete.png"));
+ private final ImageIcon zoomIcon = new ImageIcon(this.getClass().getResource("MagnifyCursor.gif"));
+ private final ImageIcon drawRectangleIcon = new ImageIcon(this.getClass().getResource("DrawRectangle.png"));
+ private final ImageIcon drawRectangleBIcon = new ImageIcon(this.getClass().getResource("DrawRectangleB.png"));
+ private final ImageIcon drawPolygonIcon = new ImageIcon(this.getClass().getResource("DrawPolygon.png"));
+ private final ImageIcon drawPolygonBIcon = new ImageIcon(this.getClass().getResource("DrawPolygonB.png"));
+ private final ImageIcon drawLineStringIcon = new ImageIcon(this.getClass().getResource("DrawLineString.png"));
+ private final ImageIcon drawLineStringBIcon = new ImageIcon(this.getClass().getResource("DrawLineStringB.png"));
+ private final ImageIcon drawPointIcon = new ImageIcon(this.getClass().getResource("DrawPoint.png"));
+ private final ImageIcon drawPointBIcon = new ImageIcon(this.getClass().getResource("DrawPointB.png"));
+ private final ImageIcon infoIcon = new ImageIcon(this.getClass().getResource("Info.png"));
+ private final ImageIcon zoomOneToOneIcon = new ImageIcon(this.getClass().getResource("ZoomOneToOne.png"));
+ private final ImageIcon zoomToInputIcon = new ImageIcon(this.getClass().getResource("ZoomInput.png"));
+ private final ImageIcon zoomToInputAIcon = new ImageIcon(this.getClass().getResource("ZoomInputA.png"));
+ private final ImageIcon zoomToInputBIcon = new ImageIcon(this.getClass().getResource("ZoomInputB.png"));
+ private final ImageIcon zoomToResultIcon = new ImageIcon(this.getClass().getResource("ZoomResult.png"));
+ private final ImageIcon zoomToFullExtentIcon = new ImageIcon(this.getClass().getResource("ZoomAll.png"));
+ private final ImageIcon selectIcon = new ImageIcon(this.getClass().getResource("Select.gif"));
+ private final ImageIcon moveVertexIcon = new ImageIcon(this.getClass().getResource("MoveVertex.png"));
+ private final ImageIcon panIcon = new ImageIcon(this.getClass().getResource("Hand.gif"));
+
+
+ public JTSTestBuilderToolBar(JTSTestBuilderFrame tbFrame)
+ {
+ this.tbFrame = tbFrame;
+ }
+
+ public void clearToolButtons()
+ {
+ // this only works in JSE 1.6
+ // In 1.5, need to add an invisible button and select it
+ //toolButtonGroup.clearSelection();
+ }
+
+ public void unselectExtractComponentButton()
+ {
+ extractComponentButton.setSelected(false);
+ toolButtonGroup.setSelected(extractComponentButton.getModel(), false);
+ }
+
+ public JToolBar getToolBar()
+ {
+ jToolBar1.setFloatable(false);
+
+ /**--------------------------------------------------
+ * Buttons
+ * --------------------------------------------------
+ */
+ previousButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ previousButton.setMaximumSize(new Dimension(30, 30));
+ previousButton.setMinimumSize(new Dimension(30, 30));
+ previousButton.setPreferredSize(new Dimension(30, 30));
+ previousButton.setToolTipText(AppStrings.TIP_PREV);
+ previousButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ previousButton.setIcon(leftIcon);
+ previousButton.setMargin(new Insets(0, 0, 0, 0));
+ previousButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ previousButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ boolean isZoom = 0 == (e.getModifiers() & ActionEvent.CTRL_MASK);
+ tbFrame.moveToPrevCase(isZoom);
+ }
+ });
+
+ nextButton.setMargin(new Insets(0, 0, 0, 0));
+ nextButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ nextButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ nextButton.setMaximumSize(new Dimension(30, 30));
+ nextButton.setMinimumSize(new Dimension(30, 30));
+ nextButton.setPreferredSize(new Dimension(30, 30));
+ nextButton.setToolTipText(AppStrings.TIP_NEXT);
+ nextButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ nextButton.setIcon(rightIcon);
+ nextButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ boolean isZoom = 0 == (e.getModifiers() & ActionEvent.CTRL_MASK);
+ tbFrame.moveToNextCase(isZoom);
+ }
+ });
+
+ newButton.setMargin(new Insets(0, 0, 0, 0));
+ newButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ newButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ newButton.setMaximumSize(new Dimension(30, 30));
+ newButton.setMinimumSize(new Dimension(30, 30));
+ newButton.setPreferredSize(new Dimension(30, 30));
+ newButton.setToolTipText(AppStrings.TIP_CASE_ADD_NEW);
+ newButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ newButton.setIcon(plusIcon);
+ newButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.createNewCase();
+ }
+ });
+
+ copyButton.setMargin(new Insets(0, 0, 0, 0));
+ copyButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ copyButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ copyButton.setMaximumSize(new Dimension(30, 30));
+ copyButton.setMinimumSize(new Dimension(30, 30));
+ copyButton.setPreferredSize(new Dimension(30, 30));
+ copyButton.setToolTipText(AppStrings.TIP_CASE_DUP);
+ copyButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ copyButton.setIcon(copyCaseIcon);
+ copyButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.copyCase();
+ }
+ });
+
+ deleteButton.setMargin(new Insets(0, 0, 0, 0));
+ deleteButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ deleteButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ deleteButton.setMaximumSize(new Dimension(30, 30));
+ deleteButton.setMinimumSize(new Dimension(30, 30));
+ deleteButton.setPreferredSize(new Dimension(30, 30));
+ deleteButton.setToolTipText(AppStrings.TIP_CASE_DELETE);
+ deleteButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ deleteButton.setIcon(deleteIcon);
+ deleteButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.btnDeleteCase_actionPerformed(e);
+ }
+ });
+
+ drawRectangleButton.setMargin(new Insets(0, 0, 0, 0));
+ drawRectangleButton.setPreferredSize(new Dimension(30, 30));
+ drawRectangleButton.setIcon(drawRectangleIcon);
+ drawRectangleButton.setMinimumSize(new Dimension(30, 30));
+ drawRectangleButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ drawRectangleButton.setSelected(true);
+ drawRectangleButton.setToolTipText(AppStrings.TIP_DRAW_RECTANGLE);
+ drawRectangleButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ drawRectangleButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ drawRectangleButton.setMaximumSize(new Dimension(30, 30));
+ drawRectangleButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.drawRectangleButton_actionPerformed(e);
+ }
+ });
+
+ drawPolygonButton.setMargin(new Insets(0, 0, 0, 0));
+ drawPolygonButton.setPreferredSize(new Dimension(30, 30));
+ drawPolygonButton.setIcon(drawPolygonIcon);
+ drawPolygonButton.setMinimumSize(new Dimension(30, 30));
+ drawPolygonButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ drawPolygonButton.setSelected(true);
+ drawPolygonButton.setToolTipText(AppStrings.TIP_DRAW_POLY);
+ drawPolygonButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ drawPolygonButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ drawPolygonButton.setMaximumSize(new Dimension(30, 30));
+ drawPolygonButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.drawPolygonButton_actionPerformed(e);
+ }
+ });
+
+ drawLineStringButton.setMargin(new Insets(0, 0, 0, 0));
+ drawLineStringButton.setPreferredSize(new Dimension(30, 30));
+ drawLineStringButton.setIcon(drawLineStringIcon);
+ drawLineStringButton.setMinimumSize(new Dimension(30, 30));
+ drawLineStringButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ drawLineStringButton.setSelected(true);
+ drawLineStringButton.setToolTipText(AppStrings.TIP_DRAW_LINE);
+ drawLineStringButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ drawLineStringButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ drawLineStringButton.setMaximumSize(new Dimension(30, 30));
+ drawLineStringButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.drawLineStringButton_actionPerformed(e);
+ }
+ });
+ drawPointButton.setMargin(new Insets(0, 0, 0, 0));
+ drawPointButton.setPreferredSize(new Dimension(30, 30));
+ drawPointButton.setIcon(drawPointIcon);
+ drawPointButton.setMinimumSize(new Dimension(30, 30));
+ drawPointButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ drawPointButton.setSelected(true);
+ drawPointButton.setToolTipText(AppStrings.TIP_DRAW_POINT);
+ drawPointButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ drawPointButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ drawPointButton.setMaximumSize(new Dimension(30, 30));
+ drawPointButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.drawPointButton_actionPerformed(e);
+ }
+ });
+ infoButton.setMargin(new Insets(0, 0, 0, 0));
+ infoButton.setPreferredSize(new Dimension(30, 30));
+ infoButton.setIcon(infoIcon);
+ infoButton.setMinimumSize(new Dimension(30, 30));
+ infoButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ infoButton.setSelected(false);
+ infoButton.setToolTipText(AppStrings.TIP_INFO);
+ infoButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ infoButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ infoButton.setMaximumSize(new Dimension(30, 30));
+ infoButton.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.infoButton_actionPerformed();
+ }
+ });
+ zoomButton.setMaximumSize(new Dimension(30, 30));
+ zoomButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomInButton_actionPerformed(e);
+ }
+ });
+ zoomButton.setToolTipText(AppStrings.TIP_ZOOM);
+ zoomButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomButton.setFont(new java.awt.Font("Serif", 0, 10));
+ zoomButton.setMinimumSize(new Dimension(30, 30));
+ zoomButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomButton.setPreferredSize(new Dimension(30, 30));
+ zoomButton.setIcon(zoomIcon);
+ zoomButton.setMargin(new Insets(0, 0, 0, 0));
+
+ oneToOneButton.setMargin(new Insets(0, 0, 0, 0));
+ oneToOneButton.setIcon(zoomOneToOneIcon);
+ oneToOneButton.setPreferredSize(new Dimension(30, 30));
+ oneToOneButton.setMinimumSize(new Dimension(30, 30));
+ oneToOneButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ oneToOneButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.oneToOneButton_actionPerformed(e);
+ }
+ });
+ oneToOneButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ oneToOneButton.setToolTipText(AppStrings.TIP_ZOOM_1_1);
+ oneToOneButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ oneToOneButton.setMaximumSize(new Dimension(30, 30));
+
+ zoomToInputButton.setMargin(new Insets(0, 0, 0, 0));
+ zoomToInputButton.setIcon(zoomToInputIcon);
+ zoomToInputButton.setPreferredSize(new Dimension(30, 30));
+ zoomToInputButton.setMaximumSize(new Dimension(30, 30));
+ zoomToInputButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomToInputButton.setMinimumSize(new Dimension(30, 30));
+ zoomToInputButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ zoomToInputButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomToInputButton.setToolTipText("Zoom To Input");
+ zoomToInputButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomToInputButton_actionPerformed(e);
+ }
+ });
+
+ zoomToInputAButton.setMargin(new Insets(0, 0, 0, 0));
+ zoomToInputAButton.setIcon(zoomToInputAIcon);
+ zoomToInputAButton.setPreferredSize(new Dimension(30, 30));
+ zoomToInputAButton.setMaximumSize(new Dimension(30, 30));
+ zoomToInputAButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomToInputAButton.setMinimumSize(new Dimension(30, 30));
+ zoomToInputAButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ zoomToInputAButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomToInputAButton.setToolTipText(AppStrings.TIP_ZOOM_TO_A);
+ zoomToInputAButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomToInputA_actionPerformed(e);
+ }
+ });
+
+ zoomToInputBButton.setMargin(new Insets(0, 0, 0, 0));
+ zoomToInputBButton.setIcon(zoomToInputBIcon);
+ zoomToInputBButton.setPreferredSize(new Dimension(30, 30));
+ zoomToInputBButton.setMaximumSize(new Dimension(30, 30));
+ zoomToInputBButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomToInputBButton.setMinimumSize(new Dimension(30, 30));
+ zoomToInputBButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ zoomToInputBButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomToInputBButton.setToolTipText(AppStrings.TIP_ZOOM_TO_B);
+ zoomToInputBButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomToInputB_actionPerformed(e);
+ }
+ });
+ zoomToInputButton.setMaximumSize(new Dimension(30, 30));
+
+ zoomToResultButton.setMargin(new Insets(0, 0, 0, 0));
+ zoomToResultButton.setIcon(zoomToResultIcon);
+ zoomToResultButton.setPreferredSize(new Dimension(30, 30));
+ zoomToResultButton.setMaximumSize(new Dimension(30, 30));
+ zoomToResultButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomToResultButton.setMinimumSize(new Dimension(30, 30));
+ zoomToResultButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ zoomToResultButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomToResultButton.setToolTipText(AppStrings.TIP_ZOOM_TO_RESULT);
+ zoomToResultButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomToResult_actionPerformed(e);
+ }
+ });
+ zoomToResultButton.setMaximumSize(new Dimension(30, 30));
+
+ zoomToFullExtentButton.setMargin(new Insets(0, 0, 0, 0));
+ zoomToFullExtentButton.setIcon(zoomToFullExtentIcon);
+ zoomToFullExtentButton.setPreferredSize(new Dimension(30, 30));
+ zoomToFullExtentButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ zoomToFullExtentButton.setMinimumSize(new Dimension(30, 30));
+ zoomToFullExtentButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ zoomToFullExtentButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ zoomToFullExtentButton.setToolTipText(AppStrings.TIP_ZOOM_TO_FULL_EXTENT);
+ zoomToFullExtentButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.zoomToFullExtentButton_actionPerformed(e);
+ }
+ });
+ zoomToFullExtentButton.setMaximumSize(new Dimension(30, 30));
+
+ panButton.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.panButton_actionPerformed(e);
+ }
+ });
+ panButton.setMaximumSize(new Dimension(30, 30));
+ panButton.setFont(new java.awt.Font("SansSerif", 0, 10));
+ panButton.setHorizontalTextPosition(SwingConstants.CENTER);
+ panButton.setToolTipText(AppStrings.TIP_PAN);
+ panButton.setVerticalTextPosition(SwingConstants.BOTTOM);
+ panButton.setMinimumSize(new Dimension(30, 30));
+ panButton.setIcon(panIcon);
+ panButton.setPreferredSize(new Dimension(30, 30));
+ panButton.setMargin(new Insets(0, 0, 0, 0));
+
+ btnEditVertex.setMaximumSize(new Dimension(30, 30));
+ btnEditVertex.setMinimumSize(new Dimension(30, 30));
+ btnEditVertex.setToolTipText(AppStrings.TIP_MOVE_VERTEX);
+ btnEditVertex.setIcon(moveVertexIcon);
+ btnEditVertex.setMargin(new Insets(0, 0, 0, 0));
+ btnEditVertex.setMnemonic('0');
+ btnEditVertex.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ tbFrame.btnEditVertex_actionPerformed(e);
+ }
+ });
+
+ extractComponentButton = createToggleButton(AppStrings.TIP_EXTRACT_COMPONENTS,
+ new ImageIcon(this.getClass().getResource("ExtractComponent.png")),
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ tbFrame.actionExtractComponentButton();
+ }
+ });
+
+ JToggleButton deleteVertexButton = createToggleButton(AppStrings.TIP_DELETE_VERTEX_COMPONENT,
+ new ImageIcon(this.getClass().getResource("DeleteVertex.png")),
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ tbFrame.actionDeleteVertexButton();
+ }
+ });
+
+ toolButtonGroup.add(drawRectangleButton);
+ toolButtonGroup.add(drawPolygonButton);
+ toolButtonGroup.add(drawLineStringButton);
+ toolButtonGroup.add(drawPointButton);
+ toolButtonGroup.add(panButton);
+ toolButtonGroup.add(zoomButton);
+ toolButtonGroup.add(btnEditVertex);
+ toolButtonGroup.add(deleteVertexButton);
+ toolButtonGroup.add(infoButton);
+ toolButtonGroup.add(extractComponentButton);
+
+
+ jToolBar1.add(newButton, null);
+ jToolBar1.add(copyButton, null);
+ jToolBar1.add(previousButton, null);
+ jToolBar1.add(nextButton, null);
+
+ jToolBar1.add(Box.createHorizontalStrut(8), null);
+ jToolBar1.add(deleteButton, null);
+
+ jToolBar1.add(Box.createHorizontalStrut(8), null);
+ jToolBar1.add(exchangeButton, null);
+
+ jToolBar1.add(Box.createHorizontalStrut(8), null);
+
+ jToolBar1.add(oneToOneButton, null);
+ jToolBar1.add(zoomToInputAButton, null);
+ jToolBar1.add(zoomToInputBButton, null);
+ jToolBar1.add(zoomToInputButton, null);
+ jToolBar1.add(zoomToResultButton, null);
+ jToolBar1.add(zoomToFullExtentButton, null);
+
+ jToolBar1.add(Box.createHorizontalStrut(28), null);
+
+ jToolBar1.add(zoomButton, null);
+ jToolBar1.add(panButton, null);
+ jToolBar1.add(infoButton, null);
+ jToolBar1.add(extractComponentButton, null);
+
+ jToolBar1.add(Box.createHorizontalStrut(28), null);
+
+ jToolBar1.add(drawRectangleButton, null);
+ jToolBar1.add(drawPolygonButton, null);
+ jToolBar1.add(drawLineStringButton, null);
+ jToolBar1.add(drawPointButton, null);
+ jToolBar1.add(btnEditVertex, null);
+ jToolBar1.add(deleteVertexButton, null);
+
+ return jToolBar1;
+ }
+
+ public void setFocusGeometry(int index)
+ {
+ drawRectangleButton.setIcon(index == 0 ? drawRectangleIcon : drawRectangleBIcon);
+ drawPolygonButton.setIcon(index == 0 ? drawPolygonIcon : drawPolygonBIcon);
+ drawLineStringButton.setIcon(index == 0 ? drawLineStringIcon : drawLineStringBIcon);
+ drawPointButton.setIcon(index == 0 ? drawPointIcon : drawPointBIcon);
+ }
+
+ private static JToggleButton createToggleButton(String toolTipText,
+ ImageIcon icon,
+ java.awt.event.ActionListener actionListener)
+ {
+ JToggleButton btn = new JToggleButton();
+ btn.setMargin(new Insets(0, 0, 0, 0));
+ btn.setPreferredSize(new Dimension(30, 30));
+ btn.setIcon(icon);
+ btn.setMinimumSize(new Dimension(30, 30));
+ btn.setVerticalTextPosition(SwingConstants.BOTTOM);
+ btn.setSelected(false);
+ btn.setToolTipText(toolTipText);
+ btn.setHorizontalTextPosition(SwingConstants.CENTER);
+ btn.setFont(new java.awt.Font("SansSerif", 0, 10));
+ btn.setMaximumSize(new Dimension(30, 30));
+ btn.addActionListener(actionListener);
+ return btn;
+ }
+
+ private static JButton createButton(String toolTipText,
+ ImageIcon icon,
+ java.awt.event.ActionListener actionListener)
+ {
+ JButton btn = new JButton();
+ btn.setMargin(new Insets(0, 0, 0, 0));
+ btn.setPreferredSize(new Dimension(30, 30));
+ btn.setIcon(icon);
+ btn.setMinimumSize(new Dimension(30, 30));
+ btn.setVerticalTextPosition(SwingConstants.BOTTOM);
+ btn.setSelected(false);
+ btn.setToolTipText(toolTipText);
+ btn.setHorizontalTextPosition(SwingConstants.CENTER);
+ btn.setFont(new java.awt.Font("SansSerif", 0, 10));
+ btn.setMaximumSize(new Dimension(30, 30));
+ btn.addActionListener(actionListener);
+ return btn;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder_AboutBox.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder_AboutBox.java
new file mode 100644
index 0000000..f12b454
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/JTSTestBuilder_AboutBox.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.AWTEvent;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Frame;
+import java.awt.GridLayout;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.locationtech.jts.*;
+
+
+/**
+ * @version 1.7
+ */
+public class JTSTestBuilder_AboutBox extends JDialog implements ActionListener {
+ JPanel panel1 = new JPanel();
+ JPanel panel2 = new JPanel();
+ JPanel insetsPanel1 = new JPanel();
+ JPanel insetsPanel2 = new JPanel();
+ JPanel insetsPanel3 = new JPanel();
+ JButton button1 = new JButton();
+ JLabel imageLabel = new JLabel();
+ JLabel label1 = new JLabel();
+ JLabel label2 = new JLabel();
+ JLabel label3 = new JLabel();
+ JLabel label4 = new JLabel();
+ JLabel labelJTS = new JLabel();
+ BorderLayout borderLayout1 = new BorderLayout();
+ BorderLayout borderLayout2 = new BorderLayout();
+ FlowLayout flowLayout1 = new FlowLayout();
+ GridLayout gridLayout1 = new GridLayout();
+ String product = "";
+ String version = "JTS Version " + JTSVersion.CURRENT_VERSION.toString();
+ String copyright = "";
+ String comments = "";
+
+ public JTSTestBuilder_AboutBox(Frame parent) {
+ super(parent);
+ enableEvents(AWTEvent.WINDOW_EVENT_MASK);
+ try {
+ jbInit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ pack();
+ }
+
+ /**Component initialization*/
+ private void jbInit() throws Exception {
+ //imageLabel.setIcon(new ImageIcon(JTSTestFrame_AboutBox.class.getResource("[Your Image]")));
+ this.setTitle("About");
+ setResizable(false);
+ panel1.setLayout(borderLayout1);
+ panel2.setLayout(borderLayout2);
+ insetsPanel1.setLayout(flowLayout1);
+ insetsPanel2.setLayout(flowLayout1);
+ insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
+ gridLayout1.setRows(5);
+ gridLayout1.setColumns(1);
+
+ labelJTS.setFont(new java.awt.Font("Dialog", 1, 16));
+ labelJTS.setForeground(Color.blue);
+ labelJTS.setText("JTS Topology Suite");
+
+ label1.setFont(new java.awt.Font("Dialog", 1, 20));
+ label1.setForeground(SystemColor.desktop);
+ label1.setText("Test Builder");
+
+ label2.setText(version);
+ label3.setText(copyright);
+ label4.setFont(new java.awt.Font("Dialog", 1, 12));
+ label4.setForeground(Color.blue);
+ label4.setText("");
+ insetsPanel3.setLayout(gridLayout1);
+ insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));
+ button1.setText("Ok");
+ button1.addActionListener(this);
+ insetsPanel2.add(imageLabel, null);
+ panel2.add(insetsPanel2, BorderLayout.WEST);
+ this.getContentPane().add(panel1, null);
+ insetsPanel3.add(labelJTS, null);
+ insetsPanel3.add(label1, null);
+ insetsPanel3.add(label2, null);
+ insetsPanel3.add(label3, null);
+ insetsPanel3.add(label4, null);
+ panel2.add(insetsPanel3, BorderLayout.CENTER);
+ insetsPanel1.add(button1, null);
+ panel1.add(insetsPanel1, BorderLayout.SOUTH);
+ panel1.add(panel2, BorderLayout.NORTH);
+ }
+
+ /**Overridden so we can exit when window is closed*/
+ protected void processWindowEvent(WindowEvent e) {
+ if (e.getID() == WindowEvent.WINDOW_CLOSING) {
+ cancel();
+ }
+ super.processWindowEvent(e);
+ }
+
+ /**Close the dialog*/
+ void cancel() {
+ dispose();
+ }
+
+ /**Close the dialog on a button event*/
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() == button1) {
+ cancel();
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerCheckBoxList.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerCheckBoxList.java
new file mode 100644
index 0000000..dfe087d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerCheckBoxList.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import javax.swing.*;
+import javax.swing.border.*;
+
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.model.Layer;
+
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class LayerCheckBoxList extends JList {
+ protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
+
+ public LayerCheckBoxList(ListModel listModel) {
+ this();
+ setModel(listModel);
+ }
+
+ public LayerCheckBoxList() {
+ setCellRenderer(new CellRenderer());
+
+ addMouseListener(new MouseAdapter() {
+ public void mousePressed(MouseEvent e) {
+ int index = locationToIndex(e.getPoint());
+
+ if (index != -1) {
+ Layer lyr = (Layer) getModel().getElementAt(index);
+ lyr.setEnabled(! lyr.isEnabled());
+ repaint();
+ JTSTestBuilderController.geometryViewChanged();
+ }
+ }
+ });
+
+ setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ }
+
+ protected class CellRenderer implements ListCellRenderer
+ {
+ JCheckBox checkbox = new JCheckBox();
+
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+ Layer lyr = (Layer) value;
+ checkbox.setBackground(isSelected ? getSelectionBackground()
+ : getBackground());
+ checkbox.setForeground(isSelected ? getSelectionForeground()
+ : getForeground());
+ checkbox.setSelected(lyr.isEnabled());
+ checkbox.setEnabled(isEnabled());
+ checkbox.setFont(getFont());
+ checkbox.setFocusPainted(false);
+ checkbox.setBorderPainted(true);
+ checkbox.setBorder(isSelected ? UIManager
+ .getBorder("List.focusCellHighlightBorder") : noFocusBorder);
+ checkbox.setText(lyr.getNameInfo());
+ return checkbox;
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerControlList.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerControlList.java
new file mode 100644
index 0000000..e966739
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerControlList.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.TableModelEvent;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.model.Layer;
+import org.locationtech.jtstest.testbuilder.model.LayerList;
+
+
+import java.awt.*;
+import java.awt.event.*;
+
+/**
+ * Experimental control panel for layers.
+ * Not currently used.
+ *
+ * @author Martin Davis
+ *
+ */
+public class LayerControlList extends JPanel
+{
+ protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
+
+ private JTable table;
+
+ class RadioButtonRenderer implements TableCellRenderer
+ {
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column)
+ {
+ if (value == null)
+ return null;
+ return (Component) value;
+ }
+ }
+
+ class CheckBoxRenderer implements TableCellRenderer
+ {
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column)
+ {
+ if (value == null)
+ return null;
+ return (Component) value;
+ }
+ }
+
+ class RadioButtonEditor extends DefaultCellEditor implements ItemListener
+ {
+ private JRadioButton button;
+
+ public RadioButtonEditor(JCheckBox checkBox)
+ {
+ super(checkBox);
+ }
+
+ public Component getTableCellEditorComponent(JTable table, Object value,
+ boolean isSelected, int row, int column)
+ {
+ if (value == null)
+ return null;
+ button = (JRadioButton) value;
+ button.addItemListener(this);
+ return (Component) value;
+ }
+
+ public Object getCellEditorValue()
+ {
+ button.removeItemListener(this);
+ return button;
+ }
+
+ public void itemStateChanged(ItemEvent e)
+ {
+ super.fireEditingStopped();
+ }
+ }
+
+ class CheckBoxEditor extends DefaultCellEditor implements ItemListener
+ {
+ private JCheckBox button;
+
+ public CheckBoxEditor(JCheckBox checkBox)
+ {
+ super(checkBox);
+ }
+
+ public Component getTableCellEditorComponent(JTable table, Object value,
+ boolean isSelected, int row, int column)
+ {
+ if (value == null)
+ return null;
+ button = (JCheckBox) value;
+ button.addItemListener(this);
+ return (Component) value;
+ }
+
+ public Object getCellEditorValue()
+ {
+ button.removeItemListener(this);
+ return button;
+ }
+
+ public void itemStateChanged(ItemEvent e)
+ {
+ super.fireEditingStopped();
+ }
+ }
+
+ public void addChangeListener(final JToggleButton cb, final int index)
+ {
+ cb.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent arg0)
+ {
+ enableUpdate(index, cb.isSelected());
+ }
+ });
+ }
+
+ public LayerControlList()
+ {
+ table = new JTable() {
+ public void tableChanged(TableModelEvent e)
+ {
+ super.tableChanged(e);
+ repaint();
+ }
+ };
+ Object[][] items = new Object[][] {
+ { new JRadioButton(), new JCheckBox(), "A" },
+ { new JRadioButton(), new JCheckBox(), "B" },
+ { new JRadioButton(), new JCheckBox(), "Result" } };
+ DefaultTableModel dm = new DefaultTableModel();
+ dm.setDataVector(items, new Object[] { "", "", "Layer" });
+
+ ButtonGroup group1 = new ButtonGroup();
+ group1.add((JRadioButton) dm.getValueAt(0, 0));
+ group1.add((JRadioButton) dm.getValueAt(1, 0));
+ group1.add((JRadioButton) dm.getValueAt(2, 0));
+
+ addChangeListener((JToggleButton) dm.getValueAt(0, 1), 0);
+ addChangeListener((JToggleButton) dm.getValueAt(1, 1), 1);
+ addChangeListener((JToggleButton) dm.getValueAt(2, 1), 2);
+
+ table.setModel(dm);
+ // table.setShowHorizontalLines(false);
+ // table.setShowVerticalLines(false);
+ table.setGridColor(SystemColor.control);
+ table.setBackground(SystemColor.control);
+
+ table.getColumnModel().getColumn(0)
+ .setCellRenderer(new RadioButtonRenderer());
+ table.getColumnModel().getColumn(0)
+ .setCellEditor(new RadioButtonEditor(new JCheckBox()));
+ table.getColumnModel().getColumn(1).setCellRenderer(new CheckBoxRenderer());
+ table.getColumnModel().getColumn(1)
+ .setCellEditor(new CheckBoxEditor(new JCheckBox()));
+
+ table.getColumnModel().getColumn(0).setMaxWidth(20);
+ table.getColumnModel().getColumn(1).setMaxWidth(20);
+ table.getColumnModel().getColumn(2).setMaxWidth(120);
+
+ // table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
+ // JScrollPane scroll = new JScrollPane(table);
+
+ setLayout(new BorderLayout());
+ add(table, BorderLayout.CENTER);
+ }
+
+ public void populateList()
+ {
+ }
+
+ private void enableUpdate(int i, boolean isEnabled)
+ {
+ LayerList lyrList = JTSTestBuilderFrame.instance().getModel().getLayers();
+ Layer lyr = lyrList.getLayer(i);
+ lyr.setEnabled(isEnabled);
+ repaint();
+ JTSTestBuilderController.geometryViewChanged();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerListPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerListPanel.java
new file mode 100644
index 0000000..d1d1bd0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerListPanel.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.util.Iterator;
+
+import javax.swing.AbstractListModel;
+import javax.swing.BorderFactory;
+import javax.swing.DefaultListModel;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.ListCellRenderer;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.model.Layer;
+import org.locationtech.jtstest.testbuilder.model.LayerList;
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+
+
+/**
+ * @version 1.7
+ */
+public class LayerListPanel extends JPanel {
+ BorderLayout borderLayout1 = new BorderLayout();
+ private DefaultListModel listModel = new DefaultListModel();
+ JScrollPane jScrollPane1 = new JScrollPane();
+ LayerCheckBoxList list = new LayerCheckBoxList(listModel);
+ BorderLayout borderLayout2 = new BorderLayout();
+
+ public LayerListPanel() {
+ try {
+ uiInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ registerListSelectionListener();
+ }
+
+ private void uiInit() throws Exception {
+ setSize(200, 250);
+ setLayout(borderLayout2);
+ list.setBackground(SystemColor.control);
+ list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ list.setSelectionBackground(Color.GRAY);
+ add(jScrollPane1, BorderLayout.CENTER);
+ jScrollPane1.getViewport().add(list, null);
+ }
+
+ private void registerListSelectionListener() {
+ list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ if (list.getSelectedValue() == null)
+ return;
+//TODO: implement event logic }
+ }});
+ }
+
+ public void populateList() {
+ listModel.clear();
+ LayerList lyrList = JTSTestBuilderFrame.instance().getModel().getLayers();
+
+ for (int i = 0; i < lyrList.size(); i++) {
+ Layer lyr = lyrList.getLayer(i);
+ listModel.addElement(lyr);
+ }
+ }
+
+
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LoadTestCasesDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LoadTestCasesDialog.java
new file mode 100644
index 0000000..ff9ba42
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LoadTestCasesDialog.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+import org.locationtech.jtstest.test.TestCaseList;
+
+
+/**
+ * MD - Probably obsolete
+ *
+ * @author
+ * @version 1.7
+ */
+public class LoadTestCasesDialog extends JDialog {
+ TestCaseList testCaseList; // if non-null, the instance created by this dialog
+ //==============================
+ JPanel panel1 = new JPanel();
+ BorderLayout borderLayout1 = new BorderLayout();
+ JPanel jPanel1 = new JPanel();
+ JButton btnCancel = new JButton();
+ JButton btnOk = new JButton();
+ JPanel jPanel2 = new JPanel();
+ JTextField txtClassname = new JTextField();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ JLabel jLabel1 = new JLabel();
+ JLabel jLabel2 = new JLabel();
+ JLabel jLabel3 = new JLabel();
+
+ public LoadTestCasesDialog(Frame frame, String title, boolean modal) {
+ super(frame, title, modal);
+ try {
+ jbInit();
+ pack();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public LoadTestCasesDialog() {
+ this(null, "", false);
+ }
+
+ void jbInit() throws Exception {
+ panel1.setLayout(borderLayout1);
+ btnCancel.setText("Cancel");
+ btnCancel.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnCancel_actionPerformed(e);
+ }
+ });
+ btnOk.setText("Ok");
+ btnOk.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnOk_actionPerformed(e);
+ }
+ });
+ jPanel2.setLayout(gridBagLayout1);
+ jLabel1.setToolTipText("");
+ jLabel1.setText("Class name");
+ jPanel2.setPreferredSize(new Dimension(300, 21));
+ panel1.setPreferredSize(new Dimension(300, 200));
+ jLabel2.setFont(new java.awt.Font("Dialog", 2, 10));
+ jLabel2.setToolTipText("");
+ jLabel2.setText(
+ "Enter the fully-qualified classname of a class that extends TestCaseList.");
+ jLabel3.setFont(new java.awt.Font("Dialog", 2, 10));
+ jLabel3.setText("(E.g. \"com.vividsolutions.jtstest.testsuite.TestRelateAA\")");
+ txtClassname.setText("com.vividsolutions.jtstest.testsuite.TestRelatePP");
+ getContentPane().add(panel1);
+ panel1.add(jPanel1, BorderLayout.SOUTH);
+ jPanel1.add(btnOk, null);
+ jPanel1.add(btnCancel, null);
+ panel1.add(jPanel2, BorderLayout.CENTER);
+ jPanel2.add(
+ txtClassname,
+ new GridBagConstraints(
+ 1,
+ 0,
+ 1,
+ 1,
+ 1.0,
+ 0.0,
+ GridBagConstraints.WEST,
+ GridBagConstraints.BOTH,
+ new Insets(5, 5, 5, 5),
+ 0,
+ 0));
+ jPanel2.add(
+ jLabel1,
+ new GridBagConstraints(
+ 0,
+ 0,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.NONE,
+ new Insets(0, 5, 0, 5),
+ 0,
+ 0));
+ jPanel2.add(
+ jLabel2,
+ new GridBagConstraints(
+ 1,
+ 1,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.WEST,
+ GridBagConstraints.NONE,
+ new Insets(0, 5, 0, 0),
+ 0,
+ 0));
+ jPanel2.add(
+ jLabel3,
+ new GridBagConstraints(
+ 1,
+ 2,
+ 1,
+ 1,
+ 0.0,
+ 0.0,
+ GridBagConstraints.WEST,
+ GridBagConstraints.NONE,
+ new Insets(0, 5, 0, 0),
+ 0,
+ 0));
+ }
+
+ void btnOk_actionPerformed(ActionEvent e) {
+ testCaseList = null;
+ String errMsg = null;
+ try {
+ Class cls = Class.forName(txtClassname.getText());
+ testCaseList = (TestCaseList) cls.newInstance();
+ } catch (ClassNotFoundException ex) {
+ errMsg = "This class cannot be found. Check that it is on your CLASSPATH";
+ // TODO: alert user to this error
+ } catch (IllegalAccessException ex) {
+ errMsg = "This class cannot be loaded. Check that it has public access";
+ } catch (Exception ex) {
+ errMsg = ex.getMessage();
+ }
+ if (errMsg != null) {
+ JOptionPane.showMessageDialog(
+ this,
+ errMsg,
+ "Class Load Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ // TODO: check that class is a subclass of TestClassList
+ setVisible(false);
+ }
+
+ public TestCaseList getList() {
+ return testCaseList;
+ }
+
+ void btnCancel_actionPerformed(ActionEvent e) {
+ setVisible(false);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelDialog.java
new file mode 100644
index 0000000..62caf24
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelDialog.java
@@ -0,0 +1,77 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+
+import org.locationtech.jts.geom.PrecisionModel;
+
+
+
+/**
+ * @version 1.7
+ */
+public class PrecisionModelDialog extends JDialog {
+ JPanel panel1 = new JPanel();
+ BorderLayout borderLayout1 = new BorderLayout();
+ PrecisionModelPanel precisionModelPanel = new PrecisionModelPanel();
+ JPanel jPanel1 = new JPanel();
+ JButton okButton = new JButton();
+
+ public PrecisionModelDialog(Frame frame, String title, boolean modal) {
+ super(frame, title, modal);
+ try {
+ jbInit();
+ pack();
+ }
+ catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public PrecisionModelDialog() {
+ this(null, "", false);
+ }
+ void jbInit() throws Exception {
+ panel1.setLayout(borderLayout1);
+ okButton.setText("OK");
+ okButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ okButton_actionPerformed(e);
+ }
+ });
+ getContentPane().add(panel1);
+ panel1.add(precisionModelPanel, BorderLayout.CENTER);
+ panel1.add(jPanel1, BorderLayout.SOUTH);
+ jPanel1.add(okButton, null);
+ }
+
+ void okButton_actionPerformed(ActionEvent e) {
+ setVisible(false);
+ }
+
+ public PrecisionModel getPrecisionModel() {
+ return precisionModelPanel.getPrecisionModel();
+ }
+
+ public void setPrecisionModel(PrecisionModel precisionModel) {
+ precisionModelPanel.setPrecisionModel(precisionModel);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelPanel.java
new file mode 100644
index 0000000..3582934
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/PrecisionModelPanel.java
@@ -0,0 +1,155 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.*;
+import javax.swing.*;
+
+import org.locationtech.jts.geom.PrecisionModel;
+
+import java.awt.event.*;
+
+
+/**
+ * @version 1.7
+ */
+public class PrecisionModelPanel extends JPanel {
+private PrecisionModel precisionModel;
+//============================================
+ JLabel jLabel1 = new JLabel();
+ JTextField txtScale = new JTextField();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ JLabel jLabel4 = new JLabel();
+ JRadioButton rbFixed = new JRadioButton();
+ JRadioButton rbFloating = new JRadioButton();
+ ButtonGroup btnGrpmodelType = new ButtonGroup();
+ private JRadioButton rbFloatingSingle = new JRadioButton();
+
+ public PrecisionModelPanel() {
+ try {
+ jbInit();
+ }
+ catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ void jbInit() throws Exception {
+ jLabel1.setToolTipText("");
+ jLabel1.setText("Scale");
+ this.setLayout(gridBagLayout1);
+ txtScale.setBackground(Color.white);
+ txtScale.setToolTipText("");
+ txtScale.setText("1.0");
+ txtScale.setHorizontalAlignment(SwingConstants.RIGHT);
+ this.setMinimumSize(new Dimension(300, 200));
+ this.setPreferredSize(new Dimension(300, 200));
+ this.setToolTipText("");
+ jLabel4.setForeground(SystemColor.desktop);
+ jLabel4.setToolTipText("");
+ jLabel4.setText("Set the Precision Model for all Test Cases");
+ rbFixed.setToolTipText(" * <li>FLOATING - represents full double precision floating point.\n" +
+ " * This is the default precision model used in JTS\n");
+ rbFixed.setText("Fixed");
+ rbFixed.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbFixed_actionPerformed(e);
+ }
+ });
+ rbFloating.setText("Floating (Double)");
+ rbFloating.setToolTipText("");
+ rbFloating.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbFloating_actionPerformed(e);
+ }
+ });
+ rbFloatingSingle.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbFloatingSingle_actionPerformed(e);
+ }
+ });
+ rbFloatingSingle.setToolTipText("");
+ rbFloatingSingle.setText("Floating (Single)");
+ this.add(jLabel1, new GridBagConstraints(0, 4, 1, 1, 0.2, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 2, 0, 2), 0, 0));
+ this.add(txtScale, new GridBagConstraints(1, 4, 1, 1, 1.0, 0.0
+ ,GridBagConstraints.SOUTHEAST, GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0));
+ this.add(jLabel4, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 10, 0), 0, 0));
+ this.add(rbFixed, new GridBagConstraints(0, 3, 2, 1, 0.2, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 4, 0, 0), 0, 0));
+ this.add(rbFloating, new GridBagConstraints(0, 1, 2, 1, 0.2, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 4, 0, 0), 0, 0));
+ this.add(rbFloatingSingle, new GridBagConstraints(0, 2, 1, 1, 0.2, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 4, 0, 0), 0, 0));
+ btnGrpmodelType.add(rbFloating);
+ btnGrpmodelType.add(rbFixed);
+ btnGrpmodelType.add(rbFloatingSingle);
+ }
+
+ public void setPrecisionModel(PrecisionModel precisionModel)
+ {
+ this.precisionModel = precisionModel;
+ Object modelType = precisionModel.getType();
+ rbFixed.setSelected(modelType == PrecisionModel.FIXED);
+ rbFloating.setSelected(modelType == PrecisionModel.FLOATING);
+ rbFloatingSingle.setSelected(modelType == PrecisionModel.FLOATING_SINGLE);
+ if (modelType == PrecisionModel.FIXED) {
+ txtScale.setText(Double.toString(precisionModel.getScale()));
+ }
+ updateDisplay();
+ }
+
+ public PrecisionModel getPrecisionModel()
+ {
+ if (rbFloating.isSelected()) {
+ return new PrecisionModel();
+ }
+ if (rbFloatingSingle.isSelected()) {
+ return new PrecisionModel(PrecisionModel.FLOATING_SINGLE);
+ }
+ double scale = Double.parseDouble(txtScale.getText());
+ return new PrecisionModel(scale);
+ }
+
+ void updateDisplay()
+ {
+ if (isFloatingSelected()) {
+ txtScale.setEnabled(false);
+ txtScale.setForeground(Color.lightGray);
+ txtScale.setBackground(Color.lightGray);
+ }
+ else {
+ txtScale.setEnabled(true);
+ txtScale.setForeground(Color.black);
+ txtScale.setBackground(Color.white);
+ }
+ }
+
+ boolean isFloatingSelected()
+ {
+ return rbFloating.isSelected() || rbFloatingSingle.isSelected();
+ }
+ void rbFloating_actionPerformed(ActionEvent e) {
+ updateDisplay();
+ }
+
+ void rbFixed_actionPerformed(ActionEvent e) {
+ updateDisplay();
+ }
+ void rbFloatingSingle_actionPerformed(ActionEvent e) {
+ updateDisplay();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/RelatePanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/RelatePanel.java
new file mode 100644
index 0000000..e99c0ee
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/RelatePanel.java
@@ -0,0 +1,564 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.border.Border;
+import javax.swing.border.TitledBorder;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+
+
+import java.awt.*;
+
+import javax.swing.*;
+
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+
+
+/**
+ * @version 1.7
+ */
+public class RelatePanel extends JPanel {
+ TestCaseEdit testCase;
+ StringBuffer buf = new StringBuffer("X");
+ // buffer to turn chars into strings
+ //-------------------------------------
+ Border border1;
+ Border border2;
+ JPanel jPanel2 = new JPanel();
+ JLabel jLabel17 = new JLabel();
+ JLabel equalsAB = new JLabel();
+ JLabel jLabel16 = new JLabel();
+ JLabel containsBA = new JLabel();
+ JLabel jLabel15 = new JLabel();
+ JLabel containsAB = new JLabel();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ JLabel equalsBA = new JLabel();
+ JLabel jLabel6 = new JLabel();
+ JLabel jLabel5 = new JLabel();
+ JPanel predicates = new JPanel();
+ JLabel jLabel3 = new JLabel();
+ JLabel jLabel2 = new JLabel();
+ JLabel jLabel19 = new JLabel();
+ JLabel jLabel1 = new JLabel();
+ JLabel jLabel18 = new JLabel();
+ JLabel disjointAB = new JLabel();
+ JLabel disjointBA = new JLabel();
+ JLabel intersectsAB = new JLabel();
+ JLabel intersectsBA = new JLabel();
+ JLabel touchesAB = new JLabel();
+ JLabel touchesBA = new JLabel();
+ JLabel crossesAB = new JLabel();
+ JLabel crossesBA = new JLabel();
+ JLabel withinAB = new JLabel();
+ JLabel withinBA = new JLabel();
+ JLabel overlapsAB = new JLabel();
+ JLabel overlapsBA = new JLabel();
+ GridBagLayout gridBagLayout3 = new GridBagLayout();
+ JPanel jPanel3 = new JPanel();
+ JLabel relateIE = new JLabel();
+ JLabel relateIB = new JLabel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ JPanel jPanel1 = new JPanel();
+ JLabel jLabel14 = new JLabel();
+ JLabel jLabel13 = new JLabel();
+ JLabel jLabel12 = new JLabel();
+ JLabel jLabel11 = new JLabel();
+ JLabel jLabel10 = new JLabel();
+ JTextField txtAB = new JTextField();
+ JLabel jLabel23 = new JLabel();
+ JLabel relateBI = new JLabel();
+ JLabel jLabel22 = new JLabel();
+ JLabel relateEI = new JLabel();
+ JLabel jLabel21 = new JLabel();
+ JLabel jLabel20 = new JLabel();
+ JLabel relateBE = new JLabel();
+ JLabel relateEE = new JLabel();
+ JTextField txtBA = new JTextField();
+ JLabel relateBB = new JLabel();
+ JLabel jLabel9 = new JLabel();
+ JLabel relateEB = new JLabel();
+ JLabel jLabel8 = new JLabel();
+ JLabel jLabel7 = new JLabel();
+ JLabel relateII = new JLabel();
+ TitledBorder titledBorder1;
+ JLabel tickCrossLabel = new JLabel();
+ GridBagLayout gridBagLayout4 = new GridBagLayout();
+ JPanel matrixPanel = new JPanel();
+ GridBagLayout gridBagLayout5 = new GridBagLayout();
+ Border border3;
+ private final ImageIcon tickIcon = new ImageIcon(this.getClass().getResource("tickShaded.gif"));
+ private final ImageIcon crossIcon = new ImageIcon(this.getClass().getResource("crossShaded.gif"));
+ private final ImageIcon clearIcon = new ImageIcon(this.getClass().getResource("clear.gif"));
+ private DocumentListener expectedImDocumentListener =
+ new DocumentListener() {
+
+ public void insertUpdate(DocumentEvent e) {
+ expectedIntersectionMatrixChanged();
+ }
+
+ public void removeUpdate(DocumentEvent e) {
+ expectedIntersectionMatrixChanged();
+ }
+
+ public void changedUpdate(DocumentEvent e) {
+ expectedIntersectionMatrixChanged();
+ }
+ };
+ private JLabel coversAB = new JLabel();
+ private JLabel coversBA = new JLabel();
+ private JLabel jLabel110 = new JLabel();
+ private JLabel jLabel111 = new JLabel();
+ private JLabel coveredByAB = new JLabel();
+ private JLabel coveredByBA = new JLabel();
+
+ public RelatePanel() {
+ try {
+ jbInit();
+ clearResults();
+ //expectedImTextField.getDocument().addDocumentListener(expectedImDocumentListener);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public void setTestCase(TestCaseEdit testCase) {
+ this.testCase = testCase;
+ clearResults();
+ //expectedImTextField.setText(testCase.getExpectedIntersectionMatrix());
+ }
+
+ public void clearResults() {
+ equalsAB.setText("-");
+ equalsBA.setText("-");
+ disjointAB.setText("-");
+ disjointBA.setText("-");
+ intersectsAB.setText("-");
+ intersectsBA.setText("-");
+ touchesAB.setText("-");
+ touchesBA.setText("-");
+ crossesAB.setText("-");
+ crossesBA.setText("-");
+ withinAB.setText("-");
+ withinBA.setText("-");
+ containsAB.setText("-");
+ containsBA.setText("-");
+ overlapsAB.setText("-");
+ overlapsBA.setText("-");
+ coversAB.setText("-");
+ coversBA.setText("-");
+ coveredByAB.setText("-");
+ coveredByBA.setText("-");
+ relateII.setText("-");
+ relateIB.setText("-");
+ relateIE.setText("-");
+ relateBI.setText("-");
+ relateBB.setText("-");
+ relateBE.setText("-");
+ relateEI.setText("-");
+ relateEB.setText("-");
+ relateEE.setText("-");
+ txtAB.setText("");
+ txtBA.setText("");
+ tickCrossLabel.setIcon(clearIcon);
+ }
+
+ public void runTests() {
+ if (testCase.getGeometry(0) != null && testCase.getGeometry(1) != null) {
+ IntersectionMatrix im = testCase.getIM();
+ IntersectionMatrix imBA = new IntersectionMatrix(im);
+ //IntersectionMatrix expectedIm = new IntersectionMatrix(expectedImTextField.getText());
+ imBA.transpose();
+ setRelateLabel(relateII, im.get(Location.INTERIOR, Location.INTERIOR));
+ setRelateLabel(relateIB, im.get(Location.INTERIOR, Location.BOUNDARY));
+ setRelateLabel(relateIE, im.get(Location.INTERIOR, Location.EXTERIOR));
+ setRelateLabel(relateBI, im.get(Location.BOUNDARY, Location.INTERIOR));
+ setRelateLabel(relateBB, im.get(Location.BOUNDARY, Location.BOUNDARY));
+ setRelateLabel(relateBE, im.get(Location.BOUNDARY, Location.EXTERIOR));
+ setRelateLabel(relateEI, im.get(Location.EXTERIOR, Location.INTERIOR));
+ setRelateLabel(relateEB, im.get(Location.EXTERIOR, Location.BOUNDARY));
+ setRelateLabel(relateEE, im.get(Location.EXTERIOR, Location.EXTERIOR));
+ //tickCrossLabel.setIcon(im.matches(expectedIm.toString()) ? tickIcon : crossIcon);
+ txtAB.setText(im.toString());
+ txtBA.setText(imBA.toString());
+
+ setPredicate(equalsAB, im.isEquals(testCase.getGeometry(0).getDimension(),
+ testCase.getGeometry(1).getDimension()));
+ setPredicate(disjointAB, im.isDisjoint());
+ setPredicate(intersectsAB, im.isIntersects());
+ setPredicate(touchesAB, im.isTouches(testCase.getGeometry(0).getDimension(),
+ testCase.getGeometry(1).getDimension()));
+ setPredicate(crossesAB, im.isCrosses(testCase.getGeometry(0).getDimension(),
+ testCase.getGeometry(1).getDimension()));
+ setPredicate(withinAB, im.isWithin());
+ setPredicate(containsAB, im.isContains());
+ setPredicate(overlapsAB, im.isOverlaps(testCase.getGeometry(0).getDimension(),
+ testCase.getGeometry(1).getDimension()));
+ setPredicate(coversAB, im.isCovers());
+ setPredicate(coveredByAB, im.isCoveredBy());
+
+
+ setPredicate(equalsBA, imBA.isEquals(testCase.getGeometry(1).getDimension(),
+ testCase.getGeometry(0).getDimension()));
+ setPredicate(disjointBA, imBA.isDisjoint());
+ setPredicate(intersectsBA, imBA.isIntersects());
+ setPredicate(touchesBA, imBA.isTouches(testCase.getGeometry(1).getDimension(),
+ testCase.getGeometry(0).getDimension()));
+ setPredicate(crossesBA, imBA.isCrosses(testCase.getGeometry(1).getDimension(),
+ testCase.getGeometry(0).getDimension()));
+ setPredicate(withinBA, imBA.isWithin());
+ setPredicate(containsBA, imBA.isContains());
+ setPredicate(overlapsBA, imBA.isOverlaps(testCase.getGeometry(1).getDimension(),
+ testCase.getGeometry(0).getDimension()));
+ setPredicate(coversBA, imBA.isCovers());
+ setPredicate(coveredByBA, imBA.isCoveredBy());
+ }
+ }
+
+ void setRelateLabel(JLabel lbl, int imValue) {
+ buf.setCharAt(0, org.locationtech.jts.geom.Dimension.toDimensionSymbol(imValue));
+ lbl.setText(buf.toString());
+ }
+
+ void setPredicate(JLabel lbl, boolean b) {
+ String val = b ? "T" : "F";
+ lbl.setText(val);
+ }
+
+ void jbInit() throws Exception {
+ border1 = new TitledBorder(BorderFactory.createLineBorder(Color.gray, 1),
+ "Binary Predicates");
+ border2 = new TitledBorder(BorderFactory.createLineBorder(Color.gray, 1),
+ "Intersection Matrix");
+ titledBorder1 = new TitledBorder(BorderFactory.createLineBorder(Color.gray,
+ 1), "Intersection Matrix");
+ border3 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createLineBorder(Color.gray,
+ 1), "Intersection Matrix"), BorderFactory.createEmptyBorder(0, 5, 0,
+ 5));
+ this.setLayout(gridBagLayout3);
+ this.setPreferredSize(new java.awt.Dimension(233, 100));
+ jLabel17.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel17.setForeground(Color.blue);
+ jLabel17.setText("Crosses");
+ equalsAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ equalsAB.setToolTipText("");
+ equalsAB.setText("-");
+ jLabel16.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel16.setForeground(Color.blue);
+ jLabel16.setToolTipText("");
+ jLabel16.setText("Within");
+ containsBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ containsBA.setText("-");
+ jLabel15.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel15.setForeground(Color.blue);
+ jLabel15.setToolTipText("");
+ jLabel15.setText("Touches");
+ containsAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ containsAB.setText("-");
+ equalsBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ equalsBA.setToolTipText("");
+ equalsBA.setText("-");
+ jLabel6.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel6.setText("BA");
+ jLabel5.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel5.setText("AB");
+ predicates.setLayout(gridBagLayout1);
+ predicates.setBorder(border1);
+ jLabel3.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel3.setForeground(Color.blue);
+ jLabel3.setToolTipText("");
+ jLabel3.setText("Intersects");
+ jLabel2.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel2.setForeground(Color.blue);
+ jLabel2.setToolTipText("");
+ jLabel2.setText("Disjoint");
+ jLabel19.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel19.setForeground(Color.blue);
+ jLabel19.setToolTipText("");
+ jLabel19.setText("Overlaps");
+ jLabel1.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel1.setForeground(Color.blue);
+ jLabel1.setText("Equals");
+ jLabel18.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel18.setForeground(Color.blue);
+ jLabel18.setToolTipText("");
+ jLabel18.setText("Contains");
+ disjointAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ disjointAB.setToolTipText("");
+ disjointAB.setText("-");
+ disjointBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ disjointBA.setText("-");
+ intersectsAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ intersectsAB.setText("-");
+ intersectsBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ intersectsBA.setText("-");
+ touchesAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ touchesAB.setText("-");
+ touchesBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ touchesBA.setText("-");
+ crossesAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ crossesAB.setText("-");
+ crossesBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ crossesBA.setText("-");
+ withinAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ withinAB.setText("-");
+ withinBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ withinBA.setText("-");
+ overlapsAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ overlapsAB.setText("-");
+ overlapsBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ overlapsBA.setText("-");
+ relateIE.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateIE.setText("F");
+ relateIB.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateIB.setText("F");
+ jPanel1.setLayout(gridBagLayout2);
+ jLabel14.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel14.setForeground(Color.blue);
+ jLabel14.setText("A");
+ jLabel13.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel13.setForeground(Color.blue);
+ jLabel13.setText("Ext");
+ jLabel12.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel12.setForeground(Color.blue);
+ jLabel12.setText("Bdy");
+ jLabel11.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel11.setForeground(Color.blue);
+ jLabel11.setToolTipText("");
+ jLabel11.setText("Int");
+ jLabel10.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel10.setForeground(Color.red);
+ jLabel10.setToolTipText("");
+ jLabel10.setText("Ext");
+ txtAB.setBackground(SystemColor.control);
+ txtAB.setFont(new java.awt.Font("Dialog", 0, 12));
+ txtAB.setMaximumSize(new java.awt.Dimension(100, 21));
+ txtAB.setMinimumSize(new java.awt.Dimension(100, 21));
+ txtAB.setPreferredSize(new java.awt.Dimension(100, 21));
+ txtAB.setToolTipText("");
+ txtAB.setEditable(false);
+ txtAB.setHorizontalAlignment(SwingConstants.LEFT);
+ jLabel23.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel23.setForeground(Color.red);
+ jLabel23.setText("B");
+ relateBI.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateBI.setText("F");
+ jLabel22.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel22.setForeground(Color.blue);
+ jLabel22.setToolTipText("");
+ jLabel22.setText("A");
+ relateEI.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateEI.setText("F");
+ jLabel21.setToolTipText("");
+ jLabel21.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel21.setForeground(Color.blue);
+ jLabel21.setToolTipText("");
+ jLabel21.setText("A");
+ jLabel20.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel20.setForeground(Color.red);
+ jLabel20.setToolTipText("");
+ jLabel20.setText("B");
+ relateBE.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateBE.setText("F");
+ relateEE.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateEE.setText("F");
+ txtBA.setBackground(SystemColor.control);
+ txtBA.setFont(new java.awt.Font("Dialog", 0, 12));
+ txtBA.setMaximumSize(new java.awt.Dimension(100, 21));
+ txtBA.setMinimumSize(new java.awt.Dimension(100, 21));
+ txtBA.setPreferredSize(new java.awt.Dimension(100, 21));
+ txtBA.setEditable(false);
+ txtBA.setHorizontalAlignment(SwingConstants.LEFT);
+ relateBB.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateBB.setText("F");
+ jLabel9.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel9.setForeground(Color.red);
+ jLabel9.setToolTipText("");
+ jLabel9.setText("Bdy");
+ relateEB.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateEB.setText("F");
+ jLabel8.setFont(new java.awt.Font("Dialog", 2, 12));
+ jLabel8.setForeground(Color.red);
+ jLabel8.setToolTipText("");
+ jLabel8.setText("Int");
+ jLabel7.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel7.setForeground(Color.red);
+ jLabel7.setText("B");
+ relateII.setBackground(Color.white);
+ relateII.setFont(new java.awt.Font("Dialog", 1, 12));
+ relateII.setText("F");
+ jPanel3.setLayout(gridBagLayout4);
+ jPanel3.setBorder(border3);
+ tickCrossLabel.setIcon(clearIcon);
+ matrixPanel.setLayout(gridBagLayout5);
+ coversAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ coversAB.setToolTipText("");
+ coversAB.setText("-");
+ coversBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ coversBA.setToolTipText("");
+ coversBA.setText("-");
+ jLabel110.setText("CoveredBy");
+ jLabel110.setToolTipText("");
+ jLabel110.setForeground(Color.blue);
+ jLabel110.setFont(new java.awt.Font("Dialog", 1, 12));
+ jLabel111.setText("Covers");
+ jLabel111.setToolTipText("");
+ jLabel111.setForeground(Color.blue);
+ jLabel111.setFont(new java.awt.Font("Dialog", 1, 12));
+ coveredByAB.setFont(new java.awt.Font("Dialog", 1, 12));
+ coveredByAB.setText("-");
+ coveredByBA.setFont(new java.awt.Font("Dialog", 1, 12));
+ coveredByBA.setText("-");
+ this.add(jPanel3, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
+ GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ jPanel3.add(jPanel1, new GridBagConstraints(100, 100, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
+ GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(jLabel8, new GridBagConstraints(4, 0, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
+ matrixPanel.add(jLabel9, new GridBagConstraints(5, 0, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
+ matrixPanel.add(jLabel10, new GridBagConstraints(6, 0, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
+ matrixPanel.add(jLabel11, new GridBagConstraints(2, 1, 2, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 0, 5), 0, 0));
+ matrixPanel.add(jLabel12, new GridBagConstraints(3, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 5), 0, 0));
+ matrixPanel.add(jLabel13, new GridBagConstraints(2, 3, 2, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 0, 5), 0, 0));
+ matrixPanel.add(jLabel14, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ matrixPanel.add(relateII, new GridBagConstraints(4, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateIB, new GridBagConstraints(5, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateIE, new GridBagConstraints(6, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateBI, new GridBagConstraints(4, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateBB, new GridBagConstraints(5, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateBE, new GridBagConstraints(6, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateEI, new GridBagConstraints(4, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateEB, new GridBagConstraints(5, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(relateEE, new GridBagConstraints(6, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ matrixPanel.add(jLabel7, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.SOUTHWEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
+ jPanel1.add(txtBA, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 0, 0));
+ jPanel1.add(jLabel22, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 5), 0, 0));
+ jPanel1.add(jLabel23, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ jPanel1.add(tickCrossLabel, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0,
+ GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0,
+ 0, 0), 0, 0));
+ jPanel1.add(jLabel20, new GridBagConstraints(1, 0, 1, 2, 0.0, 0.0
+ ,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 2, 0, 3), 0, 0));
+ jPanel1.add(jLabel21, new GridBagConstraints(0, 0, 1, 2, 0.0, 0.0
+ ,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ jPanel1.add(txtAB, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(2, 2, 2, 2), 0, 0));
+ jPanel3.add(matrixPanel, new GridBagConstraints(100, 110, 1, 1, 0.0, 0.0,
+ GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0,
+ 0, 0), 0, 0));
+ this.add(jPanel2, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.SOUTHWEST,
+ GridBagConstraints.BOTH, new Insets(0, -6, 0, 6), 0, 0));
+ jPanel2.add(predicates, null);
+ predicates.add(equalsAB, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(equalsBA, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(jLabel5, new GridBagConstraints(1, 0, 1, 1, 0.1, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 5, 0, 5), 0, 0));
+ predicates.add(jLabel6, new GridBagConstraints(2, 0, 1, 1, 0.1, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 5, 0, 5), 0, 0));
+ predicates.add(jLabel1, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel2, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel3, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 0, 10), 0, 0));
+ predicates.add(jLabel15, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel17, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel16, new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel18, new GridBagConstraints(0, 7, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(containsAB, new GridBagConstraints(1, 7, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(containsBA, new GridBagConstraints(2, 7, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(disjointAB, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(disjointBA, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(intersectsAB, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(intersectsBA, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(touchesAB, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(touchesBA, new GridBagConstraints(2, 4, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(crossesAB, new GridBagConstraints(1, 5, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(crossesBA, new GridBagConstraints(2, 5, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(withinAB, new GridBagConstraints(1, 6, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(withinBA, new GridBagConstraints(2, 6, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(overlapsAB, new GridBagConstraints(1, 8, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(overlapsBA, new GridBagConstraints(2, 8, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(coversAB, new GridBagConstraints(1, 9, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(coversBA, new GridBagConstraints(2, 9, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(jLabel19, new GridBagConstraints(0, 8, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.SOUTHEAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel110, new GridBagConstraints(0, 10, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.SOUTHEAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(jLabel111, new GridBagConstraints(0, 9, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.SOUTHEAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 10), 0, 0));
+ predicates.add(coveredByAB, new GridBagConstraints(1, 10, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ predicates.add(coveredByBA, new GridBagConstraints(2, 10, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ }
+
+
+ private void expectedIntersectionMatrixChanged() {
+ /*
+ if (expectedImTextField.getText().length() == 9) {
+ testCase.setExpectedIntersectionMatrix(expectedImTextField.getText());
+ }
+ */
+ }
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultValuePanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultValuePanel.java
new file mode 100644
index 0000000..b96c157
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultValuePanel.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.model.*;
+import org.locationtech.jtstest.util.ExceptionFormatter;
+
+
+/**
+ * @version 1.7
+ */
+public class ResultValuePanel
+extends JPanel
+{
+ TestBuilderModel tbModel = null;
+ Object currResult = null;
+
+
+ JPanel labelPanel = new JPanel();
+ JLabel resultLabel = new JLabel();
+ BorderLayout labelPanelLayout = new BorderLayout();
+
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtResult = new JTextArea();
+ BorderLayout tabPanelLayout = new BorderLayout();
+
+ public ResultValuePanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+
+ this.setLayout(tabPanelLayout);
+
+ txtResult.setWrapStyleWord(true);
+ txtResult.setLineWrap(true);
+ txtResult.setBackground(SystemColor.control);
+
+ labelPanel.setLayout(labelPanelLayout);
+ labelPanel.setBorder(BorderFactory.createEmptyBorder(0,4,2,2));
+ labelPanel.add(resultLabel);
+ resultLabel.setText("Value");
+
+ this.add(jScrollPane1, BorderLayout.CENTER);
+ this.add(labelPanel, BorderLayout.NORTH);
+
+ jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder());
+ jScrollPane1.getViewport().add(txtResult, null);
+ }
+
+ public void setModel(TestBuilderModel tbModel)
+ {
+ this.tbModel = tbModel;
+ }
+
+ public void setResult(String opName, String execTime, Object o)
+ {
+ currResult = o;
+ resultLabel.setText("Value of: " + opName
+ + " ( " + execTime + " )");
+
+ if (o == null) {
+ setString("");
+ }
+ else if (o instanceof Throwable) {
+ setError((Throwable) o);
+ }
+ else {
+ setString(o.toString());
+ }
+ }
+
+ public void setString(String s)
+ {
+ txtResult.setText(s);
+ txtResult.setBackground(SystemColor.control);
+ }
+
+ public void setError(Throwable ex)
+ {
+ String exStr = ExceptionFormatter.getFullString(ex);
+ txtResult.setText(exStr);
+ txtResult.setBackground(Color.pink);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultWKTPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultWKTPanel.java
new file mode 100644
index 0000000..0bcfe3f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ResultWKTPanel.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.util.*;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.model.*;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+import org.locationtech.jtstest.util.*;
+
+
+/**
+ * @version 1.7
+ */
+public class ResultWKTPanel
+extends JPanel
+{
+ TestBuilderModel tbModel = null;
+ String opName;
+
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtResult = new JTextArea();
+
+ JPanel labelPanel = new JPanel();
+ JLabel functionLabel = new JLabel();
+ JLabel timeLabel = new JLabel();
+ JLabel memoryLabel = new JLabel();
+ GridLayout labelPanelLayout = new GridLayout(1,3);
+
+ JPanel rPanel = new JPanel();
+ JButton copyButton = new JButton();
+ JButton copyToTestButton = new JButton();
+ JPanel rButtonPanel = new JPanel();
+// FlowLayout rButtonPanelLayout = new FlowLayout();
+ GridLayout rButtonPanelLayout = new GridLayout();
+ BorderLayout rPanelLayout = new BorderLayout();
+ BorderLayout tabPanelLayout = new BorderLayout();
+
+ private final ImageIcon copyIcon = new ImageIcon(this.getClass().getResource("Copy.png"));
+ private final ImageIcon copyToTestIcon = new ImageIcon(this.getClass().getResource("CopyToTest.png"));
+ private final ImageIcon clearIcon = new ImageIcon(this.getClass().getResource("Delete_small.png"));
+
+ public ResultWKTPanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+
+ this.setLayout(tabPanelLayout);
+
+ jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder());
+
+ JButton copyButton = SwingUtil.createButton(copyIcon, "Copy Result (Ctl-click for formatted)",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rCopyButton_actionPerformed(e);
+ }
+ });
+ JButton copyToTestButton = SwingUtil.createButton(copyToTestIcon, "Copy Result to new Test",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderFrame.instance().copyResultToTest();
+ }
+ });
+ JButton btnClearResult = SwingUtil.createButton(clearIcon, "Clear Result",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.clearResult();
+ }
+ });
+
+
+ rButtonPanelLayout = new GridLayout(3,1);
+ rButtonPanelLayout.setVgap(1);
+ rButtonPanelLayout.setHgap(1);
+ rButtonPanel.setLayout(rButtonPanelLayout);
+ rButtonPanel.add(copyButton);
+ rButtonPanel.add(copyToTestButton);
+ rButtonPanel.add(btnClearResult);
+
+ rPanel.setLayout(rPanelLayout);
+ rPanel.add(rButtonPanel, BorderLayout.NORTH);
+
+ txtResult.setWrapStyleWord(true);
+ txtResult.setLineWrap(true);
+ txtResult.setBackground(SystemColor.control);
+
+ labelPanel.setLayout(labelPanelLayout);
+ //labelPanel.setBorder(BorderFactory.createEmptyBorder(0,4,2,2));
+ labelPanel.add(functionLabel);
+ labelPanel.add(timeLabel);
+ labelPanel.add(memoryLabel);
+
+ functionLabel.setText(" ");
+ functionLabel.setHorizontalAlignment(SwingConstants.CENTER);
+// functionLabel.setBorder(BorderFactory.createLoweredBevelBorder());
+ functionLabel.setToolTipText("Result Info");
+
+ timeLabel.setFont(new Font("SanSerif", Font.BOLD, 16));
+ timeLabel.setText(" ");
+ timeLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ timeLabel.setBorder(BorderFactory.createLoweredBevelBorder());
+ timeLabel.setToolTipText("Execution Time");
+
+ memoryLabel.setText(" ");
+ memoryLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ memoryLabel.setBorder(BorderFactory.createLoweredBevelBorder());
+ memoryLabel.setToolTipText("JVM Memory Usage");
+
+ this.add(jScrollPane1, BorderLayout.CENTER);
+ this.add(labelPanel, BorderLayout.NORTH);
+ this.add(rPanel, BorderLayout.WEST);
+
+
+ jScrollPane1.getViewport().add(txtResult, null);
+
+ }
+
+ public void setModel(TestBuilderModel tbModel)
+ {
+ this.tbModel = tbModel;
+ }
+
+ public void setOpName(String opName)
+ {
+ this.opName = opName;
+ }
+
+ public void setRunningTime(String time)
+ {
+ setExecutedTime(time);
+ }
+
+ public void setExecutedTime(String time)
+ {
+ functionLabel.setText(opName);
+ timeLabel.setText(time);
+ memoryLabel.setText(Memory.usedTotalString());
+ }
+
+ public void updateResult()
+ {
+ Object o = tbModel.getResult();
+ if (o == null) {
+ setString("");
+ }
+ else if (o instanceof Geometry) {
+ setGeometry((Geometry) o);
+ }
+ else if (o instanceof Throwable) {
+ setError((Throwable) o);
+ }
+ else {
+ setString(o.toString());
+ }
+ }
+
+ public void clearResult()
+ {
+ functionLabel.setText("");
+ setString("");
+ }
+
+ private void setGeometry(Geometry g)
+ {
+ String str = tbModel.getResultDisplayString(g);
+ txtResult.setText(str);
+ txtResult.setBackground(SystemColor.control);
+ }
+
+ private void setString(String s)
+ {
+ txtResult.setText(s);
+ txtResult.setBackground(SystemColor.control);
+ }
+
+ private void setError(Throwable ex)
+ {
+ String exStr = ExceptionFormatter.getFullString(ex);
+ txtResult.setText(exStr);
+ txtResult.setBackground(Color.pink);
+ }
+
+ void rCopyButton_actionPerformed(ActionEvent e) {
+ boolean isFormatted = 0 != (e.getModifiers() & ActionEvent.CTRL_MASK);
+ tbModel.copyResult(isFormatted);
+ }
+
+ void copyToTestButton_actionPerformed(ActionEvent e) {
+ JTSTestBuilderFrame.instance().copyResultToTest();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ScalarFunctionPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ScalarFunctionPanel.java
new file mode 100644
index 0000000..776fe8e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ScalarFunctionPanel.java
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.Vector;
+
+import javax.swing.*;
+import javax.swing.event.*;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.util.Stopwatch;
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+import org.locationtech.jtstest.geomfunction.GeometryFunctionRegistry;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionEvent;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionListener;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelEvent;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelListener;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+
+
+
+/**
+ * @version 1.7
+ */
+public class ScalarFunctionPanel
+extends JPanel
+{
+ private static final String[] PARAM_DEFAULT = { "10" };
+
+ JPanel panelRB = new JPanel();
+ GeometryFunctionTreePanel funcListPanel = new GeometryFunctionTreePanel();
+ GridLayout gridLayout1 = new GridLayout();
+ GridLayout gridLayout2 = new GridLayout();
+
+ BorderLayout borderLayout1 = new BorderLayout();
+ BorderLayout borderLayout2 = new BorderLayout();
+
+ JPanel panelParam = new JPanel();
+ JPanel panelExec = new JPanel();
+ JPanel panelExecParam = new JPanel();
+ FlowLayout flowLayout = new FlowLayout();
+ FlowLayout flowLayout1 = new FlowLayout();
+
+ JButton execButton = new JButton();
+
+ private transient Vector spatialFunctionPanelListeners;
+
+ private JLabel lblDistance = new JLabel();
+ private JTextField txtDistance = new JTextField();
+
+ private JComponent[] paramComp = { txtDistance };
+ private JLabel[] paramLabel = { lblDistance };
+
+ private GeometryFunction currentFunc = null;
+ private Stopwatch timer;
+
+ public ScalarFunctionPanel() {
+ try {
+ jbInit();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+ funcListPanel.populate(JTSTestBuilder.getFunctionRegistry().getCategorizedScalarFunctions());
+
+ this.setLayout(borderLayout1);
+ panelParam.setLayout(gridLayout2);
+ panelExec.setLayout(flowLayout);
+ panelExecParam.setLayout(borderLayout2);
+ panelRB.setLayout(gridLayout1);
+ gridLayout2.setRows(1);
+ gridLayout2.setColumns(2);
+
+ lblDistance.setText("Distance");
+
+ txtDistance.setMaximumSize(new Dimension(25, 2147483647));
+ txtDistance.setMinimumSize(new Dimension(25, 21));
+ txtDistance.setPreferredSize(new Dimension(25, 17));
+ txtDistance.setText("10");
+ txtDistance.setHorizontalAlignment(SwingConstants.RIGHT);
+
+ panelParam.add(lblDistance);
+ panelParam.add(txtDistance);
+
+ execButton.setText("Compute");
+ execButton.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ execButton_actionPerformed(e);
+ }
+ });
+
+ panelExec.add(execButton);
+
+ panelExecParam.add(panelExec, BorderLayout.NORTH);
+ panelExecParam.add(panelParam, BorderLayout.CENTER);
+
+ this.add(funcListPanel, BorderLayout.CENTER);
+ this.add(panelExecParam, BorderLayout.SOUTH);
+
+ GeometryFunctionListener gfListener = new GeometryFunctionListener() {
+ public void functionSelected(GeometryFunctionEvent e) {
+ functionChanged(e.getFunction());
+ }
+ public void functionInvoked(GeometryFunctionEvent e) {
+ execFunction(e.getFunction(), false);
+ }
+ };
+ funcListPanel.addGeometryFunctionListener(gfListener);
+ }
+
+ void execButton_actionPerformed(ActionEvent e) {
+ execFunction(funcListPanel.getFunction(), false); }
+
+ public void execFunction(GeometryFunction func, boolean createNew) {
+ currentFunc = func;
+ if (currentFunc == null)
+ return;
+ fireFunctionExecuted(new SpatialFunctionPanelEvent(this));
+ }
+
+ private void functionChanged(GeometryFunction func)
+ {
+ currentFunc = func;
+ SpatialFunctionPanel.updateParameters(func, paramComp, paramLabel);
+ execButton.setToolTipText( GeometryFunctionRegistry.functionDescriptionHTML(func) );
+ }
+
+ public Object getResult() {
+ Object result = null;
+ if (currentFunc == null || JTSTestBuilderController.getGeometryA() == null)
+ return null;
+
+ try {
+ timer = new Stopwatch();
+ result = currentFunc.invoke(JTSTestBuilderController.getGeometryA(), getFunctionParams());
+ timer.stop();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace(System.out);
+ result = ex;
+ }
+ return result;
+ }
+
+ private Object[] OLDgetFunctionParams()
+ {
+ // TODO: this is somewhat cheesy
+ Class[] paramTypes = currentFunc.getParameterTypes();
+ if (paramTypes.length == 1
+ && paramTypes[0] == Geometry.class)
+ return new Object[] { JTSTestBuilderController.getGeometryB() };
+
+ if (paramTypes.length == 1
+ && (paramTypes[0] == Double.class || paramTypes[0] == double.class))
+ return new Object[] { SwingUtil.getDouble(txtDistance, null) };
+
+ if (paramTypes.length == 2
+ && paramTypes[0] == Geometry.class
+ && (paramTypes[1] == Double.class || paramTypes[1] == double.class))
+ return new Object[] { JTSTestBuilderController.getGeometryB(), SwingUtil.getDouble(txtDistance, null) };
+
+ if (paramTypes.length >= 2)
+ return new Object[] {
+ SwingUtil.getDouble(txtDistance, null)
+ };
+
+ return null;
+ }
+
+ private Object[] getFunctionParams()
+ {
+ if (currentFunc == null) return null;
+ Class[] paramTypes = currentFunc.getParameterTypes();
+ Object[] paramVal = new Object[paramTypes.length];
+
+ for (int i = 0; i < paramVal.length; i++) {
+ Object valRaw = getParamValue(i);
+ paramVal[i] = SwingUtil.coerce(valRaw, paramTypes[i]);
+ }
+ return paramVal;
+ }
+
+ private Object getParamValue(int index) {
+ if (currentFunc.isBinary() && index == 0)
+ return JTSTestBuilderController.getGeometryB();
+
+ int attrIndex = index - SpatialFunctionPanel.attributeParamOffset(currentFunc);
+
+ switch (attrIndex) {
+ case 0: return SpatialFunctionPanel.valOrDefault(SwingUtil.value(txtDistance), PARAM_DEFAULT[0]);
+ }
+ return null;
+ }
+
+ public String getOpName() {
+ if (currentFunc == null)
+ return "";
+ return currentFunc.getName();
+ }
+
+ public Stopwatch getTimer()
+ {
+ return timer;
+ }
+
+ public synchronized void removeSpatialFunctionPanelListener(SpatialFunctionPanelListener l) {
+ if (spatialFunctionPanelListeners != null && spatialFunctionPanelListeners.contains(l)) {
+ Vector v = (Vector) spatialFunctionPanelListeners.clone();
+ v.removeElement(l);
+ spatialFunctionPanelListeners = v;
+ }
+ }
+
+ public synchronized void addSpatialFunctionPanelListener(SpatialFunctionPanelListener l) {
+ Vector v = spatialFunctionPanelListeners == null ? new Vector(2) : (Vector) spatialFunctionPanelListeners.clone();
+ if (!v.contains(l)) {
+ v.addElement(l);
+ spatialFunctionPanelListeners = v;
+ }
+ }
+
+ protected void fireFunctionExecuted(SpatialFunctionPanelEvent e) {
+ if (spatialFunctionPanelListeners != null) {
+ Vector listeners = spatialFunctionPanelListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((SpatialFunctionPanelListener) listeners.elementAt(i)).functionExecuted(e);
+ }
+ }
+ }
+
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/SpatialFunctionPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/SpatialFunctionPanel.java
new file mode 100644
index 0000000..dd7f7b0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/SpatialFunctionPanel.java
@@ -0,0 +1,467 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.GridLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Vector;
+
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+import javax.swing.border.EmptyBorder;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.util.Stopwatch;
+import org.locationtech.jtstest.geomfunction.BaseGeometryFunction;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+import org.locationtech.jtstest.geomfunction.GeometryFunctionRegistry;
+import org.locationtech.jtstest.geomfunction.RepeaterGeometryFunction;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionEvent;
+import org.locationtech.jtstest.testbuilder.event.GeometryFunctionListener;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelEvent;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelListener;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+import org.locationtech.jtstest.util.ClassUtil;
+
+
+/**
+ * @version 1.7
+ */
+public class SpatialFunctionPanel
+extends JPanel
+{
+ private static final String[] PARAM_DEFAULT = { "10", "0", "0", "0", "0" };
+
+ private static String[] capStyleItems = new String[] { "Round", "Flat", "Square" };
+ private static Object[] capStyleValues = new Object[] {
+ new Integer(BufferParameters.CAP_ROUND),
+ new Integer(BufferParameters.CAP_FLAT),
+ new Integer(BufferParameters.CAP_SQUARE)
+ };
+ private static String[] joinStyleItems = new String[] { "Round", "Mitre", "Bevel" };
+ private static Object[] joinStyleValues = new Object[] {
+ new Integer(BufferParameters.JOIN_ROUND),
+ new Integer(BufferParameters.JOIN_MITRE),
+ new Integer(BufferParameters.JOIN_BEVEL)
+ };
+
+
+
+ JPanel panelRB = new JPanel();
+// GeometryFunctionListPanel geomFuncPanel = new GeometryFunctionListPanel();
+ GeometryFunctionTreePanel geomFuncPanel = new GeometryFunctionTreePanel();
+ GridLayout gridLayout1 = new GridLayout();
+ GridLayout gridLayout2 = new GridLayout();
+
+
+ BorderLayout borderLayout1 = new BorderLayout();
+ BorderLayout borderLayout2 = new BorderLayout();
+
+ JPanel panelParam = new JPanel();
+ JPanel panelExec = new JPanel();
+ JPanel panelExecParam = new JPanel();
+ FlowLayout flowLayout = new FlowLayout();
+ FlowLayout flowLayout1 = new FlowLayout();
+
+ JButton execButton = new JButton();
+ JButton execToNewButton = new JButton();
+
+ private final ImageIcon clearIcon = new ImageIcon(this.getClass().getResource("clear.gif"));
+
+ private transient Vector spatialFunctionPanelListeners;
+ private JPanel panelControl = new JPanel();
+ private JCheckBox displayAAndBCheckBox = new JCheckBox();
+ private JButton btnClearResult = new JButton();
+
+ private JLabel lblDistance = new JLabel();
+ private JTextField txtDistance = new JTextField();
+ private JLabel lblQuadSegs = new JLabel();
+ private JTextField txtQuadrantSegs = new JTextField();
+ private JLabel lblCapStyle = new JLabel();
+ private JComboBox cbCapStyle = new JComboBox();
+ private JLabel lblJoinStyle = new JLabel();
+ private JComboBox cbJoinStyle = new JComboBox();
+ private JLabel lblMitreLimit = new JLabel();
+ private JTextField txtMitreLimit = new JTextField();
+
+ private JComponent[] paramComp = { txtDistance, txtQuadrantSegs, cbCapStyle, cbJoinStyle, txtMitreLimit };
+ private JLabel[] paramLabel = { lblDistance, lblQuadSegs, lblCapStyle, lblJoinStyle, lblMitreLimit };
+
+ private GeometryFunction currentFunc = null;
+ private Stopwatch timer;
+
+ private JButton btnRepeat;
+
+ public SpatialFunctionPanel() {
+ try {
+ jbInit();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+// geomFuncPanel.populate(JTSTestBuilder.getFunctionRegistry().getGeometryFunctions());
+ geomFuncPanel.populate(JTSTestBuilder.getFunctionRegistry().getCategorizedGeometryFunctions());
+
+
+ this.setLayout(borderLayout1);
+ panelParam.setLayout(gridLayout2);
+ panelExec.setLayout(flowLayout);
+ panelExecParam.setLayout(borderLayout2);
+ panelRB.setLayout(gridLayout1);
+ gridLayout2.setRows(5);
+ gridLayout2.setColumns(2);
+
+
+ displayAAndBCheckBox.setSelected(true);
+ displayAAndBCheckBox.setToolTipText("");
+ displayAAndBCheckBox.setText("Display Input");
+ displayAAndBCheckBox.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ displayAAndBCheckBox_actionPerformed(e);
+ }
+ });
+
+ lblDistance.setText("Distance");
+
+ txtDistance.setMaximumSize(new Dimension(25, 2147483647));
+ txtDistance.setMinimumSize(new Dimension(25, 21));
+ txtDistance.setPreferredSize(new Dimension(25, 17));
+ txtDistance.setText(PARAM_DEFAULT[0]);
+ txtDistance.setHorizontalAlignment(SwingConstants.RIGHT);
+
+ lblQuadSegs.setText("Quadrant Segs");
+ txtQuadrantSegs.setHorizontalAlignment(SwingConstants.RIGHT);
+
+ lblCapStyle.setText("Cap Style");
+ ComboBoxModel modelCapStyle = new DefaultComboBoxModel(capStyleItems);
+ cbCapStyle.setModel(modelCapStyle);
+
+ lblJoinStyle.setText("Join Style");
+ ComboBoxModel modelJoinStyle = new DefaultComboBoxModel(joinStyleItems);
+ cbJoinStyle.setModel(modelJoinStyle);
+
+ lblMitreLimit.setText("Mitre Limit");
+ txtMitreLimit.setHorizontalAlignment(SwingConstants.RIGHT);
+
+ initLabels(paramLabel);
+
+ panelControl.setLayout(flowLayout1);
+
+
+ btnClearResult.setToolTipText("");
+ btnClearResult.setMargin(new Insets(0, 10, 0, 10));
+ btnClearResult.setSelected(true);
+ btnClearResult.setText("Clear Result");
+ btnClearResult.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ clearResultButton_actionPerformed(e);
+ }
+ });
+
+ panelParam.add(lblDistance);
+ panelParam.add(txtDistance);
+ panelParam.add(lblQuadSegs);
+ panelParam.add(txtQuadrantSegs);
+ panelParam.add(lblCapStyle);
+ panelParam.add(cbCapStyle);
+ panelParam.add(lblJoinStyle);
+ panelParam.add(cbJoinStyle);
+ panelParam.add(lblMitreLimit);
+ panelParam.add(txtMitreLimit);
+
+ panelControl.add(displayAAndBCheckBox, null);
+ //panelControl.add(btnClearResult, null);
+
+ final JTextField txtRepeatCount = new JTextField();
+ txtRepeatCount.setMaximumSize(new Dimension(25, 2147483647));
+ txtRepeatCount.setMinimumSize(new Dimension(30, 21));
+ txtRepeatCount.setPreferredSize(new Dimension(30, 21));
+ txtRepeatCount.setText("10");
+ txtRepeatCount.setHorizontalAlignment(SwingConstants.RIGHT);
+
+ execButton = SwingUtil.createButton("Compute", "Compute the result of the function",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ execButton_actionPerformed(e);
+ }
+ });
+ execButton.setEnabled(false);
+
+ execToNewButton = SwingUtil.createButton("Compute New", "Compute function result to a new case",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ execToNewButton_actionPerformed(e);
+ }
+ });
+ execToNewButton.setEnabled(false);
+
+ btnRepeat = SwingUtil.createButton("Repeat", "Repeat function a number of times, incrementing the first parameter",
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ int count = SwingUtil.getInteger(txtRepeatCount, 10);
+ execRepeatFunction(count);
+ }
+ });
+ // until we know what the function is
+ btnRepeat.setEnabled(false);
+
+
+ panelExec.add(execButton);
+ // disabled until behaviour is worked out
+ panelExec.add(execToNewButton);
+ panelExec.add(btnRepeat);
+ panelExec.add(txtRepeatCount);
+
+ panelExecParam.add(panelExec, BorderLayout.NORTH);
+ panelExecParam.add(panelParam, BorderLayout.CENTER);
+ panelExecParam.add(panelControl, BorderLayout.SOUTH);
+
+ this.add(geomFuncPanel, BorderLayout.CENTER);
+ this.add(panelExecParam, BorderLayout.SOUTH);
+
+ GeometryFunctionListener gfListener = new GeometryFunctionListener() {
+ public void functionSelected(GeometryFunctionEvent e) {
+ functionChanged(e.getFunction());
+ }
+ public void functionInvoked(GeometryFunctionEvent e) {
+ execFunction(e.getFunction(), false);
+ }
+ };
+ geomFuncPanel.addGeometryFunctionListener(gfListener);
+ }
+
+ static void initLabels(JLabel[] paramLabel)
+ {
+ for (int i = 0; i < paramLabel.length; i++) {
+ JLabel lbl = paramLabel[i];
+ lbl.setHorizontalAlignment(SwingConstants.RIGHT);
+ lbl.setBorder(new EmptyBorder(5,5,5,5));
+ }
+ }
+
+ public void enableExecuteControl(boolean isEnabled)
+ {
+ execButton.setEnabled(isEnabled);
+ execToNewButton.setEnabled(isEnabled);
+ btnRepeat.setEnabled(isEnabled);
+ }
+
+ void clearResultButton_actionPerformed(ActionEvent e) {
+ clearFunction();
+ }
+
+ void execButton_actionPerformed(ActionEvent e) {
+ execFunction(geomFuncPanel.getFunction(), false);
+ }
+
+ void execToNewButton_actionPerformed(ActionEvent e) {
+ execFunction(geomFuncPanel.getFunction(), true);
+ }
+
+ void execRepeatFunction(int count) {
+
+ GeometryFunction f = geomFuncPanel.getFunction();
+ RepeaterGeometryFunction fRepeat = new RepeaterGeometryFunction(f, count);
+ execFunction(fRepeat, false);
+ }
+
+ void displayAAndBCheckBox_actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.getGeometryEditPanel().setShowingInput(displayAAndBCheckBox.isSelected());
+ }
+
+ private void setCurrentFunction(GeometryFunction func) {
+ currentFunc = func;
+ // fire execution event even if null, to set UI appropriately
+ fireFunctionExecuted(new SpatialFunctionPanelEvent(this));
+ }
+
+ public void execFunction(GeometryFunction func, boolean createNew) {
+ currentFunc = func;
+ if (currentFunc == null)
+ return;
+ fireFunctionExecuted(new SpatialFunctionPanelEvent(this, createNew));
+ }
+
+ private void functionChanged(GeometryFunction func)
+ {
+ currentFunc = func;
+ updateParameters(func, paramComp, paramLabel);
+ execButton.setToolTipText( GeometryFunctionRegistry.functionDescriptionHTML(func) );
+ execButton.setEnabled(true);
+ execToNewButton.setEnabled(true);
+ btnRepeat.setEnabled(RepeaterGeometryFunction.isRepeatable(func));
+ }
+
+
+ static void OLDupdateParameters(GeometryFunction func, JComponent[] paramComp, JLabel[] paramLabel)
+ {
+ int numNonGeomParams = numNonGeomParams(func);
+ for (int i = 0; i < paramComp.length; i++) {
+ boolean isUsed = numNonGeomParams > i;
+ //SwingUtil.setEnabledWithBackground(paramComp[i], isUsed);
+ //*
+ if (isUsed) {
+ paramLabel[i].setText(func.getParameterNames()[i]);
+ }
+ //*/
+ paramComp[i].setVisible(isUsed);
+ paramLabel[i].setVisible(isUsed);
+ SpatialFunctionPanel.setToolTipText(paramComp[i], func, i + 1);
+ }
+ }
+
+ static void updateParameters(GeometryFunction func, JComponent[] paramComp, JLabel[] paramLabel)
+ {
+ int numNonGeomParams = numNonGeomParams(func);
+ int indexOffset = BaseGeometryFunction.firstScalarParamIndex(func);
+ for (int i = 0; i < paramComp.length; i++) {
+ boolean isUsed = numNonGeomParams > i;
+ if (isUsed) {
+ paramLabel[i].setText(func.getParameterNames()[i+indexOffset]);
+ }
+ paramComp[i].setVisible(isUsed);
+ paramLabel[i].setVisible(isUsed);
+ SpatialFunctionPanel.setToolTipText(paramComp[i], func, i + 1);
+ }
+ }
+
+ private static void setToolTipText(JComponent control, GeometryFunction func, int i) {
+ String txt = null;
+ if (func.getParameterTypes().length > i) {
+ txt = "Enter an " + func.getParameterTypes()[i].getSimpleName();
+ }
+ control.setToolTipText(txt);
+ }
+
+ private static int numNonGeomParams(GeometryFunction func)
+ {
+ int count = 0;
+ Class[] paramTypes = func.getParameterTypes();
+ for (int i = 0; i < paramTypes.length; i++) {
+ if (! ClassUtil.isGeometry(paramTypes[i]))
+ count++;
+ }
+ return count;
+ }
+
+ public static int attributeParamOffset(GeometryFunction func) {
+ return func.isBinary() ? 1 : 0;
+ }
+
+ public boolean shouldShowGeometryA() {
+ return displayAAndBCheckBox.isSelected();
+ }
+
+ public boolean shouldShowGeometryB() {
+ return displayAAndBCheckBox.isSelected();
+ }
+
+ public void clearFunction() {
+ setCurrentFunction(null);
+ }
+
+ public Object[] getFunctionParams()
+ {
+ if (currentFunc == null) return null;
+ Class[] paramTypes = currentFunc.getParameterTypes();
+ Object[] paramVal = new Object[paramTypes.length];
+
+ for (int i = 0; i < paramVal.length; i++) {
+ Object valRaw = getParamValue(i);
+ paramVal[i] = SwingUtil.coerce(valRaw, paramTypes[i]);
+ }
+ return paramVal;
+ }
+
+ private Object getParamValue(int index) {
+ if (currentFunc.isBinary() && index == 0)
+ return JTSTestBuilderController.getGeometryB();
+
+ int attrIndex = index - attributeParamOffset(currentFunc);
+
+ switch (attrIndex) {
+ case 0: return valOrDefault(SwingUtil.value(txtDistance), PARAM_DEFAULT[0]);
+ case 1: return valOrDefault(SwingUtil.value(txtQuadrantSegs), PARAM_DEFAULT[1]);
+ case 2: return SwingUtil.value(cbCapStyle, capStyleValues);
+ case 3: return SwingUtil.value(cbJoinStyle, joinStyleValues);
+ case 4: return valOrDefault(SwingUtil.value(txtMitreLimit), PARAM_DEFAULT[4]);
+ }
+ return null;
+ }
+
+ public static String valOrDefault(String s, String defaultVal) {
+ if (s.length() > 0) return s;
+ return defaultVal;
+ }
+
+ public boolean isFunctionSelected()
+ {
+ return currentFunc != null;
+ }
+
+ public GeometryFunction getFunction() {
+ return currentFunc;
+ }
+
+ //=================================================
+ // Events
+ //=================================================
+
+ public synchronized void removeSpatialFunctionPanelListener(SpatialFunctionPanelListener l) {
+ if (spatialFunctionPanelListeners != null && spatialFunctionPanelListeners.contains(l)) {
+ Vector v = (Vector) spatialFunctionPanelListeners.clone();
+ v.removeElement(l);
+ spatialFunctionPanelListeners = v;
+ }
+ }
+
+ public synchronized void addSpatialFunctionPanelListener(SpatialFunctionPanelListener l) {
+ Vector v = spatialFunctionPanelListeners == null ? new Vector(2) : (Vector) spatialFunctionPanelListeners.clone();
+ if (!v.contains(l)) {
+ v.addElement(l);
+ spatialFunctionPanelListeners = v;
+ }
+ }
+
+ protected void fireFunctionExecuted(SpatialFunctionPanelEvent e) {
+ if (spatialFunctionPanelListeners != null) {
+ Vector listeners = spatialFunctionPanelListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((SpatialFunctionPanelListener) listeners.elementAt(i)).functionExecuted(e);
+ }
+ }
+ }
+
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/StatsPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/StatsPanel.java
new file mode 100644
index 0000000..10eb807
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/StatsPanel.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.BorderFactory;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jtstest.testbuilder.geom.*;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class StatsPanel
+extends JPanel
+{
+ TestBuilderModel tbModel = null;
+
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtStats = new JTextArea();
+ BorderLayout tabPanelLayout = new BorderLayout();
+
+ public StatsPanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ void jbInit() throws Exception {
+
+ this.setLayout(tabPanelLayout);
+
+ txtStats.setWrapStyleWord(true);
+ txtStats.setLineWrap(true);
+ txtStats.setBackground(SystemColor.control);
+
+ this.add(jScrollPane1, BorderLayout.CENTER);
+
+ jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder());
+ jScrollPane1.getViewport().add(txtStats, null);
+ }
+
+ public void setModel(TestBuilderModel tbModel)
+ {
+ this.tbModel = tbModel;
+ }
+
+ public void refresh()
+ {
+ StringBuffer buf = new StringBuffer();
+
+ writeGeomStats("A", tbModel.getCurrentCase().getGeometry(0), buf);
+ writeGeomStats("B", tbModel.getCurrentCase().getGeometry(1), buf);
+ writeGeomStats("Result", tbModel.getCurrentCase().getResult(), buf);
+
+ setString(buf.toString());
+ }
+
+ private void writeGeomStats(String label,
+ Geometry g, StringBuffer buf)
+ {
+ if (g == null) return;
+ buf.append(label + " : ");
+ buf.append(GeometryUtil.structureSummary(g));
+ buf.append("\n");
+ buf.append(" Length = " + g.getLength() + " Area = " + g.getArea() + "\n");
+ buf.append("\n");
+ }
+
+ private void setString(String s)
+ {
+ txtStats.setText(s);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestBuilderPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestBuilderPanel.java
new file mode 100644
index 0000000..c22e838
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestBuilderPanel.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder;
+
+import javax.swing.JPanel;
+
+import org.locationtech.jtstest.testbuilder.model.TestBuilderModel;
+
+
+public abstract class TestBuilderPanel extends JPanel
+{
+ protected TestBuilderModel tbModel;
+ //protected JTSTestBuilderFrame tbFrame;
+
+ TestBuilderPanel() {
+ /*
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ */
+ }
+
+ protected abstract void uiInit();
+
+ public void setModel(TestBuilderModel tbModel) {
+ this.tbModel = tbModel;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCasePanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCasePanel.java
new file mode 100644
index 0000000..4c77e22
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCasePanel.java
@@ -0,0 +1,316 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.FocusEvent;
+import java.awt.event.MouseEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.ButtonGroup;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JSpinner;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+import javax.swing.SpinnerNumberModel;
+import javax.swing.SwingConstants;
+import javax.swing.border.BevelBorder;
+import javax.swing.border.Border;
+import javax.swing.event.ChangeEvent;
+
+import org.locationtech.jtstest.testbuilder.event.ValidPanelEvent;
+import org.locationtech.jtstest.testbuilder.event.ValidPanelListener;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestCasePanel extends JPanel {
+ TestCaseEdit testCase;
+ //---------------------------------------------
+ BorderLayout borderLayout1 = new BorderLayout();
+ BorderLayout editFrameLayout = new BorderLayout();
+ JPanel editFramePanel = new JPanel();
+ GeometryEditPanel editPanel = new GeometryEditPanel();
+ ButtonGroup geometryType = new ButtonGroup();
+ ButtonGroup editMode = new ButtonGroup();
+ ButtonGroup partType = new ButtonGroup();
+ Border border4;
+ JPanel editGroupPanel = new JPanel();
+ JTabbedPane jTabbedPane1 = new JTabbedPane();
+ JPanel btnPanel = new JPanel();
+ JPanel relateTabPanel = new JPanel();
+ JButton btnRunTests = new JButton();
+ RelatePanel relatePanel = new RelatePanel();
+ BorderLayout borderLayout2 = new BorderLayout();
+ GeometryEditControlPanel editCtlPanel = new GeometryEditControlPanel();
+ BorderLayout borderLayout3 = new BorderLayout();
+ JPanel jPanel1 = new JPanel();
+ JTextField txtDesc = new JTextField();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ SpatialFunctionPanel spatialFunctionPanel = new SpatialFunctionPanel();
+ private int currentTestCaseIndex = 0;
+ private int maxTestCaseIndex = 0;
+ private boolean initialized = false;
+ JPanel casePrecisionModelPanel = new JPanel();
+ JPanel namePanel = new JPanel();
+ JLabel testCaseIndexLabel = new JLabel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ GridBagLayout gridBagLayout3 = new GridBagLayout();
+ JLabel precisionModelLabel = new JLabel();
+ ValidPanel validPanel = new ValidPanel();
+ JPanel statusBarPanel = new JPanel();
+ JLabel lblMousePos = new JLabel();
+ JLabel lblPrecisionModel = new JLabel();
+ ScalarFunctionPanel scalarFunctionPanel = new ScalarFunctionPanel();
+
+ JPanel jPanelMagnify = new JPanel();
+ JSpinner spStretchDist = new JSpinner(new SpinnerNumberModel(5, 0, 99999, 1));
+ JCheckBox cbMagnifyTopo = new JCheckBox();
+
+ private TestBuilderModel tbModel;
+
+
+ /**
+ * Construct the frame
+ */
+ public TestCasePanel() {
+ try {
+ jbInit();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ initialized = true;
+ }
+
+ public void setModel(TestBuilderModel tbModel)
+ {
+ this.tbModel = tbModel;
+ editPanel.setModel(tbModel);
+ // hook up other beans
+ editCtlPanel.setModel(tbModel);
+
+ }
+
+ public void setCurrentTestCaseIndex(int currentTestCaseIndex) {
+ this.currentTestCaseIndex = currentTestCaseIndex;
+ updateTestCaseIndexLabel();
+ }
+
+ public void setMaxTestCaseIndex(int maxTestCaseIndex) {
+ this.maxTestCaseIndex = maxTestCaseIndex;
+ updateTestCaseIndexLabel();
+ }
+
+ public GeometryEditControlPanel getGeometryEditControlPanel() {
+ return editCtlPanel;
+ }
+
+ public GeometryEditPanel getGeometryEditPanel() {
+ return editPanel;
+ }
+
+ public SpatialFunctionPanel getSpatialFunctionPanel() {
+ return spatialFunctionPanel;
+ }
+
+ public ScalarFunctionPanel getScalarFunctionPanel() {
+ return scalarFunctionPanel;
+ }
+
+ void setTestCase(TestCaseEdit testCase) {
+ this.testCase = testCase;
+ tbModel.getGeometryEditModel().setTestCase(testCase);
+ relatePanel.setTestCase(testCase);
+// spatialFunctionPanel.setTestCase(testCase);
+ validPanel.setTestCase(testCase);
+// scalarFunctionPanel.setTestCase(testCase);
+ txtDesc.setText(testCase.getName());
+ }
+
+ void editPanel_mouseMoved(MouseEvent e) {
+ String cursorPos = editPanel.cursorLocationString(e.getPoint());
+ lblMousePos.setText(cursorPos);
+// System.out.println(cursorPos);
+ }
+
+ void btnRunTests_actionPerformed(ActionEvent e) {
+ relatePanel.runTests();
+ }
+
+ void editPanel_geometryChanged(GeometryEvent e) {
+ relatePanel.clearResults();
+// scalarFunctionPanel.clearResults();
+ }
+ void validPanel_setHighlightPerformed(ValidPanelEvent e) {
+ editPanel.setHighlightPoint(validPanel.getMarkPoint());
+ editPanel.forceRepaint();
+ }
+
+ void txtDesc_focusLost(FocusEvent e) {
+ testCase.setName(txtDesc.getText());
+ }
+
+ void jTabbedPane1_stateChanged(ChangeEvent e)
+ {
+ boolean isFunction = jTabbedPane1.getSelectedComponent() == spatialFunctionPanel;
+ boolean isEdit = jTabbedPane1.getSelectedComponent() == editCtlPanel;
+
+ editPanel.setShowingResult(isFunction);
+ editPanel.setShowingGeometryA(! isFunction
+ || spatialFunctionPanel.shouldShowGeometryA());
+ editPanel.setShowingGeometryB(! isFunction
+ || spatialFunctionPanel.shouldShowGeometryB());
+
+ editPanel.setHighlightPoint(null);
+ if (jTabbedPane1.getSelectedComponent() == validPanel
+ || jTabbedPane1.getSelectedComponent() == editCtlPanel) {
+ editPanel.setHighlightPoint(validPanel.getMarkPoint());
+ }
+ if (initialized) {
+ //avoid infinite loop
+ if (isEdit)
+ JTSTestBuilderFrame.instance().showGeomsTab();
+ if (isFunction)
+ JTSTestBuilderFrame.instance().showResultWKTTab();
+ }
+ }
+
+ public void setPrecisionModelDescription(String description) {
+ precisionModelLabel.setText(description);
+ lblPrecisionModel.setText(" PM: " + description);
+ }
+
+ /**
+ * Component initialization
+ */
+ private void jbInit() throws Exception {
+ //---------------------------------------------------
+ border4 = BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.white,
+ Color.white, new Color(93, 93, 93), new Color(134, 134, 134));
+ setLayout(borderLayout1);
+ editGroupPanel.setLayout(borderLayout3);
+ editPanel.addMouseMotionListener(
+ new java.awt.event.MouseMotionAdapter() {
+
+ public void mouseMoved(MouseEvent e) {
+ editPanel_mouseMoved(e);
+ }
+ public void mouseDragged(MouseEvent e) {
+ editPanel_mouseMoved(e);
+ }
+ });
+ relateTabPanel.setLayout(borderLayout2);
+ btnRunTests.setToolTipText("");
+ btnRunTests.setText("Run");
+ btnRunTests.addActionListener(
+ new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnRunTests_actionPerformed(e);
+ }
+ });
+ validPanel.addValidPanelListener(
+ new ValidPanelListener() {
+ public void setHighlightPerformed(ValidPanelEvent e) {
+ validPanel_setHighlightPerformed(e);
+ }
+ });
+ jPanel1.setLayout(gridBagLayout1);
+ txtDesc.addFocusListener(
+ new java.awt.event.FocusAdapter() {
+
+ public void focusLost(FocusEvent e) {
+ txtDesc_focusLost(e);
+ }
+ });
+ jTabbedPane1.addChangeListener(
+ new javax.swing.event.ChangeListener() {
+
+ public void stateChanged(ChangeEvent e) {
+ jTabbedPane1_stateChanged(e);
+ }
+ });
+ testCaseIndexLabel.setBorder(BorderFactory.createLoweredBevelBorder());
+ testCaseIndexLabel.setToolTipText("");
+ testCaseIndexLabel.setText("0 of 0");
+ casePrecisionModelPanel.setLayout(gridBagLayout2);
+ namePanel.setLayout(gridBagLayout3);
+ precisionModelLabel.setBorder(BorderFactory.createLoweredBevelBorder());
+ precisionModelLabel.setToolTipText("Precision Model");
+ precisionModelLabel.setText("");
+
+ txtDesc.setBackground(Color.white);
+ lblMousePos.setBackground(SystemColor.text);
+ lblMousePos.setBorder(BorderFactory.createLoweredBevelBorder());
+ lblMousePos.setPreferredSize(new Dimension(21, 21));
+ lblMousePos.setHorizontalAlignment(SwingConstants.RIGHT);
+ lblPrecisionModel.setBackground(SystemColor.text);
+ lblPrecisionModel.setBorder(BorderFactory.createLoweredBevelBorder());
+// txtSelectedPoint.setEditable(false);
+ lblPrecisionModel.setText("Sel Pt:");
+
+ editFramePanel.setLayout(editFrameLayout);
+ editFramePanel.add(editPanel, BorderLayout.CENTER);
+ editFramePanel.setBorder(BorderFactory.createBevelBorder(1));
+
+ add(editGroupPanel, BorderLayout.CENTER);
+ editGroupPanel.add(editFramePanel, BorderLayout.CENTER);
+ editGroupPanel.add(statusBarPanel, BorderLayout.SOUTH);
+
+ //cbMagnifyTopo.setText("Magnify");
+ cbMagnifyTopo.setToolTipText("Magnify Topology - Stretches geometries to reveal topological detail");
+ spStretchDist.setToolTipText("Stretch Distance (pixels)");
+ spStretchDist.setMaximumSize(new Dimension(20,20));
+ ((JSpinner.DefaultEditor) spStretchDist.getEditor()).getTextField().setColumns(2);
+ jPanelMagnify.setLayout(new BoxLayout(jPanelMagnify, BoxLayout.LINE_AXIS));
+ jPanelMagnify.add(Box.createHorizontalGlue());
+ jPanelMagnify.add(cbMagnifyTopo);
+ jPanelMagnify.add(spStretchDist);
+ jPanelMagnify.add(Box.createHorizontalGlue());
+ jPanelMagnify.setBorder(BorderFactory.createLoweredBevelBorder());
+
+ statusBarPanel.setLayout(new GridLayout(1,2));
+ statusBarPanel.add(testCaseIndexLabel);
+ statusBarPanel.add(jPanelMagnify);
+ statusBarPanel.add(lblPrecisionModel);
+ statusBarPanel.add(lblMousePos);
+
+ add(jTabbedPane1, BorderLayout.WEST);
+ //jTabbedPane1.add(editCtlPanel, "Edit");
+ jTabbedPane1.add(spatialFunctionPanel, "Geometry Functions");
+ jTabbedPane1.add(scalarFunctionPanel, "Scalar Functions");
+ jTabbedPane1.add(validPanel, "Valid / Mark");
+ jTabbedPane1.add(relateTabPanel, "Predicates");
+ relateTabPanel.add(relatePanel, BorderLayout.CENTER);
+ relateTabPanel.add(btnPanel, BorderLayout.NORTH);
+ btnPanel.add(btnRunTests, null);
+ }
+
+ private void updateTestCaseIndexLabel() {
+ testCaseIndexLabel.setText(AppStrings.LABEL_TEST_CASE + " " + currentTestCaseIndex + " of " + maxTestCaseIndex);
+ }
+
+ public double getStretchSize() {
+ return ((Integer) spStretchDist.getValue()).intValue();
+ }
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCaseTextDialog.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCaseTextDialog.java
new file mode 100644
index 0000000..6622e40
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestCaseTextDialog.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+
+import javax.swing.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.*;
+import org.locationtech.jts.io.gml2.*;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestCaseTextDialog extends JDialog {
+ private TestCaseEdit test;
+ //----------------------------------
+ JPanel dialogPanel = new JPanel();
+ BorderLayout borderLayout1 = new BorderLayout();
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JTextArea txtGeomView = new JTextArea();
+ JPanel jPanel1 = new JPanel();
+ JPanel cmdButtonPanel = new JPanel();
+ BorderLayout borderLayout2 = new BorderLayout();
+ BorderLayout borderLayout3 = new BorderLayout();
+ JButton btnCopy = new JButton();
+ JButton btnOk = new JButton();
+ JPanel textFormatPanel = new JPanel();
+ JPanel allOptionsPanel = new JPanel();
+ JPanel functionsPanel = new JPanel();
+ BoxLayout boxLayout1 = new BoxLayout(functionsPanel, BoxLayout.Y_AXIS);
+ ButtonGroup textFormatGroup = new ButtonGroup();
+
+ JRadioButton rbSVG = new JRadioButton();
+ JRadioButton rbXML = new JRadioButton();
+ JRadioButton rbXMLWKB = new JRadioButton();
+ JRadioButton rbTestCaseJava = new JRadioButton();
+ JRadioButton rbJTSJava = new JRadioButton();
+ JRadioButton rbWKB = new JRadioButton();
+ JRadioButton rbWKT = new JRadioButton();
+ JRadioButton rbWKTFormatted = new JRadioButton();
+ JRadioButton rbGML = new JRadioButton();
+
+ JCheckBox intersectsCB = new JCheckBox();
+
+ public TestCaseTextDialog(Frame frame, String title, boolean modal) {
+ super(frame, title, modal);
+ try {
+ jbInit();
+ pack();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public TestCaseTextDialog() {
+ this(null, "", false);
+ }
+
+ void jbInit() throws Exception {
+ dialogPanel.setLayout(borderLayout1);
+ jScrollPane1.setPreferredSize(new Dimension(500, 300));
+ txtGeomView.setLineWrap(true);
+ jPanel1.setLayout(borderLayout2);
+ btnCopy.setEnabled(true);
+ btnCopy.setText("Copy");
+ btnCopy.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnSelect_actionPerformed(e);
+ }
+ });
+ btnOk.setToolTipText("");
+ btnOk.setText("Close");
+ btnOk.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ btnOk_actionPerformed(e);
+ }
+ });
+ rbXML.setText("Test XML");
+ rbXML.setToolTipText("");
+ rbXML.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ rbXML_actionPerformed(e);
+ }
+ });
+ rbXMLWKB.setText("Test XML - WKB");
+ rbXMLWKB.setToolTipText("");
+ rbXMLWKB.addActionListener(new java.awt.event.ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ rbXMLWKB_actionPerformed(e);
+ }
+ });
+ rbSVG.setText("SVG");
+ rbSVG.setToolTipText("");
+ rbSVG.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbSVG_actionPerformed(e);
+ }
+ });
+
+ rbTestCaseJava.setText("TestCase Java");
+ rbTestCaseJava.setToolTipText("");
+ rbTestCaseJava.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbTestCaseJava_actionPerformed(e);
+ }
+ });
+ rbJTSJava.setEnabled(false);
+ rbJTSJava.setText("JTS Java ");
+
+ rbWKT.setText("WKT");
+ rbWKT.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbWKT_actionPerformed(e);
+ }
+ });
+
+ rbWKTFormatted.setText("WKT-Formatted");
+ rbWKTFormatted.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbWKTFormatted_actionPerformed(e);
+ }
+ });
+
+ rbWKB.setText("WKB");
+ rbWKB.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbWKB_actionPerformed(e);
+ }
+ });
+ rbGML.setText("GML");
+ rbGML.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ rbGML_actionPerformed(e);
+ }
+ });
+ getContentPane().add(dialogPanel);
+ dialogPanel.add(jScrollPane1, BorderLayout.CENTER);
+ dialogPanel.add(jPanel1, BorderLayout.SOUTH);
+ jPanel1.add(cmdButtonPanel, BorderLayout.SOUTH);
+ cmdButtonPanel.add(btnCopy, null);
+ cmdButtonPanel.add(btnOk, null);
+ textFormatPanel.add(rbWKT, null);
+ textFormatPanel.add(rbWKTFormatted, null);
+ textFormatPanel.add(rbWKB, null);
+ textFormatPanel.add(rbGML, null);
+ textFormatPanel.add(rbSVG, null);
+ textFormatPanel.add(rbTestCaseJava, null);
+ textFormatPanel.add(rbXML, null);
+ textFormatPanel.add(rbXMLWKB, null);
+ textFormatPanel.add(rbJTSJava, null);
+ jScrollPane1.getViewport().add(txtGeomView, null);
+
+ allOptionsPanel.setLayout(borderLayout3);
+ allOptionsPanel.add(textFormatPanel, BorderLayout.NORTH);
+ allOptionsPanel.add(functionsPanel, BorderLayout.CENTER);
+
+ jPanel1.add(allOptionsPanel, BorderLayout.CENTER);
+
+ textFormatGroup.add(rbJTSJava);
+ textFormatGroup.add(rbTestCaseJava);
+ textFormatGroup.add(rbXML);
+ textFormatGroup.add(rbXMLWKB);
+ textFormatGroup.add(rbWKT);
+ textFormatGroup.add(rbWKTFormatted);
+ textFormatGroup.add(rbWKB);
+ textFormatGroup.add(rbGML);
+ textFormatGroup.add(rbSVG);
+ }
+
+ public void setTestCase(TestCaseEdit test) {
+ this.test = test;
+ // choose default format
+ rbXML.setEnabled(true);
+ rbXML.doClick();
+ }
+
+ void btnOk_actionPerformed(ActionEvent e) {
+ setVisible(false);
+ }
+
+ void btnSelect_actionPerformed(ActionEvent e) {
+ txtGeomView.selectAll();
+ txtGeomView.copy();
+ }
+
+ void rbTestCaseJava_actionPerformed(ActionEvent e) {
+ txtGeomView.setText((new JavaTestWriter()).write(test));
+ }
+
+ void rbXML_actionPerformed(ActionEvent e) {
+ txtGeomView.setText((new XMLTestWriter()).getTestXML(test));
+ }
+
+ void rbXMLWKB_actionPerformed(ActionEvent e) {
+ txtGeomView.setText((new XMLTestWriter()).getTestXML(test, false));
+ }
+
+ void rbSVG_actionPerformed(ActionEvent e) {
+ txtGeomView.setText(SVGTestWriter.getTestSVG(test));
+ }
+
+ void rbWKB_actionPerformed(ActionEvent e) {
+ writeView(
+ convertToWKB(test.getGeometry(0)),
+ convertToWKB(test.getGeometry(1)),
+ convertToWKB(test.getResult())
+ );
+ }
+
+ void rbWKT_actionPerformed(ActionEvent e) {
+ writeView(
+ test.getGeometry(0) == null ? null : test.getGeometry(0).toString(),
+ test.getGeometry(1) == null ? null :test.getGeometry(1).toString(),
+ test.getResult() == null ? null :test.getResult().toString()
+ );
+ }
+
+ void rbWKTFormatted_actionPerformed(ActionEvent e) {
+ writeView(
+ convertToWKT(test.getGeometry(0), true),
+ convertToWKT(test.getGeometry(1), true),
+ convertToWKT(test.getResult(), true)
+ );
+ }
+
+ void rbGML_actionPerformed(ActionEvent e) {
+ writeView(
+ convertToGML(test.getGeometry(0)),
+ convertToGML(test.getGeometry(1)),
+ convertToGML(test.getResult())
+ );
+ }
+
+ private void writeView(String a, String b, String result)
+ {
+ txtGeomView.setText("");
+ writeViewGeometry("A", a);
+ writeViewGeometry("B", b);
+ writeViewGeometry("Result", result);
+ }
+
+ private void writeViewGeometry(String tag, String str)
+ {
+ if (str == null || str.length() <= 0) return;
+ txtGeomView.append(tag + ":\n\n");
+ txtGeomView.append(str);
+ txtGeomView.append("\n\n");
+ }
+
+ private String convertToWKT(Geometry g, boolean isFormatted)
+ {
+ if (g == null) return "";
+ if (! isFormatted)
+ return g.toString();
+ WKTWriter writer = new WKTWriter();
+ writer.setFormatted(isFormatted);
+ writer.setMaxCoordinatesPerLine(5);
+ return writer.write(g);
+ }
+
+ private String convertToWKB(Geometry g)
+ {
+ if (g == null) return "";
+ return WKBWriter.toHex((new WKBWriter().write(g)));
+ }
+
+ private String convertToGML(Geometry g)
+ {
+ if (g == null) return "";
+ return (new GMLWriter()).write(g);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestListPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestListPanel.java
new file mode 100644
index 0000000..add7b45
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/TestListPanel.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.util.Iterator;
+
+import javax.swing.BorderFactory;
+import javax.swing.DefaultListModel;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.ListCellRenderer;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestListPanel extends JPanel {
+ BorderLayout borderLayout1 = new BorderLayout();
+ private DefaultListModel listModel = new DefaultListModel();
+ JScrollPane jScrollPane1 = new JScrollPane();
+ JList list = new JList(listModel);
+ BorderLayout borderLayout2 = new BorderLayout();
+
+ private class TestListCellRenderer extends JLabel implements ListCellRenderer {
+ private final ImageIcon tickIcon =
+ new ImageIcon(this.getClass().getResource("tickShaded.gif"));
+ private final ImageIcon crossIcon =
+ new ImageIcon(this.getClass().getResource("crossShaded.gif"));
+ private final ImageIcon clearIcon = new ImageIcon(this.getClass().getResource("clear.gif"));
+
+ public Component getListCellRendererComponent(
+ JList list,
+ Object value,
+ int index,
+ boolean isSelected,
+ boolean cellHasFocus) {
+ Testable testCase = (Testable) value;
+ setText(testName(testCase));
+ setOpaque(true);
+ if (isSelected) {
+ setBackground(list.getSelectionBackground());
+ setForeground(list.getSelectionForeground());
+ } else {
+ setBackground(list.getBackground());
+ setForeground(list.getForeground());
+ }
+ setEnabled(list.isEnabled());
+ setFont(list.getFont());
+ return this;
+ }
+
+ private String testName(Testable testCase)
+ {
+ String name = testCase.getName();
+ if ((name == null || name.length() == 0) && testCase instanceof TestCaseEdit) {
+ name = ((TestCaseEdit) testCase).getDescription();
+ }
+ if (name == null || name.length() == 0) {
+ name = "";
+ }
+ int testSkey = 1 + JTSTestBuilderFrame.instance().getModel().getCases().indexOf(testCase);
+ String nameFinal = "# " + testSkey + " - " + testCaseSignatureHTML(testCase);
+ if (name != "")
+ nameFinal = nameFinal + " --- " + name;
+ return "<html>" + nameFinal + "<html>";
+ }
+
+ private String testCaseSignatureHTML(Testable testCase)
+ {
+ return "<font color='blue'>" + geometrySignature(testCase.getGeometry(0)) + "</font>"
+ + " :: "
+ + "<font color='red'>" + geometrySignature(testCase.getGeometry(1)) + "</font>";
+ }
+
+ private String geometrySignature(Geometry geom)
+ {
+ // visual indication of null geometry
+ if (geom == null)
+ return "_";
+
+ String sig = geom.getGeometryType();
+ if (geom instanceof GeometryCollection) {
+ sig += "[" + geom.getNumGeometries() + "]";
+ }
+ else {
+ sig += "(" + geom.getNumPoints() + ")";
+ }
+ return sig;
+ }
+ }
+
+ public TestListPanel(JTSTestBuilderFrame testBuilderFrame) {
+ this();
+ }
+
+ public TestListPanel() {
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ list.setCellRenderer(new TestListCellRenderer());
+ registerListSelectionListener();
+ }
+
+ private void jbInit() throws Exception {
+ setSize(200, 250);
+ setLayout(borderLayout2);
+ list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ list.setSelectionBackground(Color.GRAY);
+ add(jScrollPane1, BorderLayout.CENTER);
+ jScrollPane1.getViewport().add(list, null);
+ }
+
+ private void registerListSelectionListener() {
+ list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+
+ public void valueChanged(ListSelectionEvent e) {
+ if (list.getSelectedValue() == null)
+ return;
+ JTSTestBuilderFrame.instance().setCurrentTestCase(
+ (TestCaseEdit) list.getSelectedValue());
+ }
+ });
+ }
+
+ public void populateList() {
+ listModel.clear();
+ for (Iterator i = JTSTestBuilderFrame.instance().getModel().getCases().iterator();
+ i.hasNext();
+ ) {
+ Testable testCase = (Testable) i.next();
+ listModel.addElement(testCase);
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ValidPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ValidPanel.java
new file mode 100644
index 0000000..8a7d6ab
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ValidPanel.java
@@ -0,0 +1,272 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.GridLayout;
+import java.awt.Insets;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.util.Vector;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.io.*;
+import org.locationtech.jts.operation.*;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.operation.valid.TopologyValidationError;
+import org.locationtech.jtstest.testbuilder.event.ValidPanelEvent;
+import org.locationtech.jtstest.testbuilder.event.ValidPanelListener;
+import org.locationtech.jtstest.testbuilder.model.TestCaseEdit;
+
+
+
+/**
+ * @version 1.7
+ */
+public class ValidPanel extends JPanel {
+ TestCaseEdit testCase;
+ private Coordinate markPoint = null;
+//===========================================
+ JButton btnValidate = new JButton();
+ JButton btnSimple = new JButton();
+ JTextField txtIsValid = new JTextField();
+ JTextArea taInvalidMsg = new JTextArea();
+ JLabel lblValidSimple = new JLabel();
+ JPanel jPanel1 = new JPanel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ private transient Vector validPanelListeners;
+ GridLayout gridLayout1 = new GridLayout();
+ JPanel markPanel = new JPanel();
+ JPanel markSquishPanel = new JPanel();
+ JPanel panelValidSimple = new JPanel();
+ JPanel markBtnPanel = new JPanel();
+ JTextField txtMarkLocation = new JTextField();
+ JTextField txtMarkLabel = new JTextField();
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ JLabel lblMark = new JLabel();
+ JButton btnClearMark = new JButton();
+ JButton btnSetMark = new JButton();
+
+ public ValidPanel() {
+ try {
+ jbInit();
+ }
+ catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ void jbInit() throws Exception {
+ btnValidate.setText("Valid?");
+ btnValidate.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnValidate_actionPerformed(e);
+ }
+ });
+ btnSimple.setText("Simple?");
+ btnSimple.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnSimple_actionPerformed(e);
+ }
+ });
+ this.setLayout(gridLayout1);
+ gridLayout1.setRows(2);
+ txtIsValid.setBackground(SystemColor.control);
+ txtIsValid.setEditable(false);
+ txtIsValid.setText("Y");
+ txtIsValid.setHorizontalAlignment(SwingConstants.CENTER);
+ taInvalidMsg.setPreferredSize(new Dimension(70, 80));
+ taInvalidMsg.setLineWrap(true);
+ taInvalidMsg.setBorder(BorderFactory.createLoweredBevelBorder());
+ taInvalidMsg.setMinimumSize(new Dimension(70, 70));
+ taInvalidMsg.setToolTipText("");
+ taInvalidMsg.setBackground(SystemColor.control);
+ taInvalidMsg.setEditable(true);
+ taInvalidMsg.setFont(new java.awt.Font("SansSerif", 0, 12));
+ lblValidSimple.setToolTipText("");
+ lblValidSimple.setText("Valid / Simple ");
+ jPanel1.setLayout(gridBagLayout2);
+ lblMark.setToolTipText("");
+ lblMark.setText("Mark Point ( X Y ) ");
+ btnClearMark.setToolTipText("");
+ btnClearMark.setText("Clear Mark");
+ btnClearMark.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnClearMark_actionPerformed(e);
+ }
+ });
+ btnSetMark.setToolTipText("");
+ btnSetMark.setText("Set Mark");
+ btnSetMark.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ btnSetMark_actionPerformed(e);
+ }
+ });
+ panelValidSimple.add(btnValidate);
+ panelValidSimple.add(btnSimple);
+ jPanel1.add(panelValidSimple, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(10, 5, 10, 5), 0, 0));
+ jPanel1.add(txtIsValid, new GridBagConstraints(1, 3, 1, 1, 1.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 0, 4, 0), 10, 0));
+ jPanel1.add(taInvalidMsg, new GridBagConstraints(0, 4, 2, 1, 0.0, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 4, 0, 4), 0, 0));
+ jPanel1.add(lblValidSimple, new GridBagConstraints(0, 3, 1, 1, 1.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 4, 0, 4), 0, 0));
+ this.add(jPanel1, null);
+ markPanel.setLayout(new BorderLayout());
+ /*
+ markPanel.setLayout(gridBagLayout1);
+ markPanel.add(jLabel2, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0
+ ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+// jPanel2.add(jLabel3, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+// ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ markPanel.add(txtMark, new GridBagConstraints(1, 1, 2, 1, 0.5, 0.0
+ ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 20), 0, 0));
+// jPanel2.add(txtX, new GridBagConstraints(1, 0, 2, 1, 0.5, 0.0
+// ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 20), 0, 0));
+ */
+
+ markBtnPanel.add(btnSetMark);
+ markBtnPanel.add(btnClearMark);
+ markPanel.add(lblMark, BorderLayout.NORTH);
+ markPanel.add(txtMarkLocation, BorderLayout.CENTER);
+ //markPanel.add(txtMarkLabel, BorderLayout.CENTER);
+ markPanel.add(markBtnPanel, BorderLayout.SOUTH);
+
+ markSquishPanel.setLayout(new BorderLayout());
+ markSquishPanel.add(markPanel, BorderLayout.NORTH);
+ /*
+ markPanel.add(btnSetMark, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 0, 4, 10), 0, 0));
+ markPanel.add(btnClearMark, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0
+ ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 10, 4, 10), 0, 0));
+ */
+ this.add(markSquishPanel, null);
+ }
+
+ public void setTestCase(TestCaseEdit testCase) {
+ this.testCase = testCase;
+ }
+
+ public Coordinate getMarkPoint() { return markPoint; }
+
+ void btnValidate_actionPerformed(ActionEvent e)
+ {
+ TopologyValidationError err = null;
+ if (testCase.getGeometry(0) != null) {
+ IsValidOp validOp = new IsValidOp(testCase.getGeometry(0));
+ err = validOp.getValidationError();
+ }
+ String msg = "";
+ boolean isValid = true;
+ Coordinate invalidPoint = null;
+ if (err != null) {
+ isValid = false;
+ msg = err.toString();
+ invalidPoint = err.getCoordinate();
+ }
+ taInvalidMsg.setText(msg);
+ txtIsValid.setText(isValid ? "Y" : "N");
+ setMarkPoint(invalidPoint);
+ }
+ void btnSimple_actionPerformed(ActionEvent e)
+ {
+ boolean isSimple = true;
+ Coordinate nonSimpleLoc = null;
+ if (testCase.getGeometry(0) != null) {
+ IsSimpleOp simpleOp = new IsSimpleOp(testCase.getGeometry(0));
+ isSimple = simpleOp.isSimple();
+ nonSimpleLoc = simpleOp.getNonSimpleLocation();
+ }
+ String msg = isSimple ?
+ ""
+ : "Self-intersection at " + WKTWriter.toPoint(nonSimpleLoc);
+ taInvalidMsg.setText(msg);
+ txtIsValid.setText(isSimple ? "Y" : "N");
+ setMarkPoint(nonSimpleLoc);
+ }
+ private void setMarkPoint(Coordinate coord)
+ {
+ markPoint = coord;
+ String markText = "";
+ if (markPoint != null) {
+ markText = " " + coord.x + " " + coord.y + " ";
+ }
+ txtMarkLocation.setText(markText);
+ fireSetHighlightPerformed(new ValidPanelEvent(this));
+ }
+ public synchronized void removeValidPanelListener(ValidPanelListener l) {
+ if (validPanelListeners != null && validPanelListeners.contains(l)) {
+ Vector v = (Vector) validPanelListeners.clone();
+ v.removeElement(l);
+ validPanelListeners = v;
+ }
+ }
+ public synchronized void addValidPanelListener(ValidPanelListener l) {
+ Vector v = validPanelListeners == null ? new Vector(2) : (Vector) validPanelListeners.clone();
+ if (!v.contains(l)) {
+ v.addElement(l);
+ validPanelListeners = v;
+ }
+ }
+ protected void fireSetHighlightPerformed(ValidPanelEvent e) {
+ if (validPanelListeners != null) {
+ Vector listeners = validPanelListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((ValidPanelListener) listeners.elementAt(i)).setHighlightPerformed(e);
+ }
+ }
+ }
+
+ void btnSetMark_actionPerformed(ActionEvent e) {
+ String xyStr = txtMarkLocation.getText();
+ setMarkPoint(parseXY(xyStr));
+ }
+
+ void btnClearMark_actionPerformed(ActionEvent e) {
+ setMarkPoint(null);
+ }
+
+ Coordinate parseXY(String xyStr)
+ {
+ String[] xy = xyStr.trim().split("\\s+");
+ double x = parseNumber(xy, 0);
+ double y = parseNumber(xy, 1);
+ return new Coordinate(x, y);
+ }
+
+ double parseNumber(String[] xy, int index)
+ {
+ if (xy.length <= index) return 0.0;
+ String s = xy[index];
+ try {
+ return Double.parseDouble(s);
+ }
+ catch (NumberFormatException ex)
+ {
+ // just eat it - not much we can do
+ }
+ return 0.0;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/WKTPanel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/WKTPanel.java
new file mode 100644
index 0000000..003c941
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/WKTPanel.java
@@ -0,0 +1,499 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.SwingConstants;
+import javax.swing.border.Border;
+import javax.swing.border.TitledBorder;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+import org.locationtech.jtstest.testbuilder.model.DisplayParameters;
+import org.locationtech.jtstest.testbuilder.model.GeometryEditModel;
+import org.locationtech.jtstest.testbuilder.model.GeometryType;
+import org.locationtech.jtstest.testbuilder.model.TestBuilderModel;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+import org.locationtech.jtstest.testbuilder.ui.dnd.FileDrop;
+import org.locationtech.jtstest.util.GeometryTextCleaner;
+import org.locationtech.jtstest.util.io.MultiFormatReader;
+
+
+/**
+ * @version 1.7
+ */
+public class WKTPanel extends JPanel
+{
+ TestBuilderModel tbModel;
+
+ GridBagLayout gridBagLayout1 = new GridBagLayout();
+ Box panelButtons = Box.createVerticalBox();
+ JPanel panelAB = new JPanel();
+ JButton loadButton = new JButton();
+ JButton inspectButton = new JButton();
+ JButton exchangeButton = new JButton();
+ TitledBorder titledBorder1;
+ JLabel bLabel = new JLabel();
+ GridBagLayout gridBagLayout2 = new GridBagLayout();
+ JLabel aLabel = new JLabel();
+
+ JPanel aPanel = new JPanel();
+ JButton aCopyButton = new JButton();
+ JButton aPasteButton = new JButton();
+ JButton aCutButton = new JButton();
+// JPanel aButtonPanel = new JPanel();
+ Box aLabelPanel = Box.createVerticalBox();
+ Box aButtonPanel = Box.createVerticalBox();
+ FlowLayout aButtonPanelLayout = new FlowLayout();
+ BorderLayout aPanelLayout = new BorderLayout();
+ JRadioButton aRB = new JRadioButton();
+
+ JPanel bPanel = new JPanel();
+ JButton bCopyButton = new JButton();
+ JButton bPasteButton = new JButton();
+ JButton bCutButton = new JButton();
+// JPanel bButtonPanel = new JPanel();
+ Box bLabelPanel = Box.createVerticalBox();
+ Box bButtonPanel = Box.createVerticalBox();
+ FlowLayout bButtonPanelLayout = new FlowLayout();
+ BorderLayout bPanelLayout = new BorderLayout();
+ JRadioButton bRB = new JRadioButton();
+
+ JScrollPane aScrollPane = new JScrollPane();
+ JTextArea aTextArea = new JTextArea();
+ JScrollPane bScrollPane = new JScrollPane();
+ JTextArea bTextArea = new JTextArea();
+ ButtonGroup editMode = new ButtonGroup();
+
+ private final ImageIcon copyIcon = new ImageIcon(this.getClass().getResource("Copy.png"));
+ private final ImageIcon pasteIcon = new ImageIcon(this.getClass().getResource("Paste.png"));
+ private final ImageIcon cutIcon = new ImageIcon(this.getClass().getResource("Delete_small.png"));
+ private final ImageIcon loadIcon = new ImageIcon(this.getClass().getResource("LoadWKTToTest.png"));
+ private final ImageIcon inspectIcon = new ImageIcon(this.getClass().getResource("InspectGeometry.png"));
+ private final ImageIcon exchangeGeomsIcon = new ImageIcon(this.getClass().getResource("ExchangeGeoms.png"));
+
+ protected JTSTestBuilderFrame tbFrame;
+
+ public WKTPanel(JTSTestBuilderFrame tbFrame) {
+ this.tbFrame = tbFrame;
+ try {
+ jbInit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ initFileDrop(aTextArea, 0);
+ initFileDrop(bTextArea, 1);
+ }
+
+ public void setModel(TestBuilderModel tbModel) {
+ this.tbModel = tbModel;
+ setFocusGeometry(0);
+ }
+
+ void jbInit() throws Exception {
+ titledBorder1 = new TitledBorder("");
+ this.setLayout(gridBagLayout1);
+ this.setPreferredSize(new java.awt.Dimension(394, 176));
+
+ loadButton.setPreferredSize(new Dimension(38, 38));
+ loadButton.setMargin(new Insets(8, 8, 8, 8));
+// loadButton.setText("Load");
+ loadButton.setIcon(loadIcon);
+ loadButton.setToolTipText(AppStrings.TIP_WKT_PANEL_LOAD_GEOMETRY);
+
+ inspectButton.setPreferredSize(new Dimension(30, 38));
+ inspectButton.setToolTipText(AppStrings.TIP_INSPECT_GEOMETRY);
+ inspectButton.setIcon(inspectIcon);
+
+ exchangeButton.setPreferredSize(new Dimension(30, 38));
+ exchangeButton.setToolTipText(AppStrings.TIP_EXCHANGE_A_B);
+ exchangeButton.setIcon(exchangeGeomsIcon);
+
+ panelAB.setLayout(gridBagLayout2);
+
+ aLabel.setFont(new java.awt.Font("Dialog", 1, 16));
+ aLabel.setForeground(Color.blue);
+ aLabel.setText("A");
+ aLabel.setPreferredSize(new Dimension(20, 20));
+ aLabel.setHorizontalTextPosition(SwingConstants.LEFT);
+
+ bLabel.setFont(new java.awt.Font("Dialog", 1, 16));
+ bLabel.setForeground(Color.red);
+ bLabel.setText("B");
+ bLabel.setPreferredSize(new Dimension(20, 20));
+
+ aScrollPane.setBorder(BorderFactory.createLoweredBevelBorder());
+ aTextArea.setWrapStyleWord(true);
+ aTextArea.setLineWrap(true);
+ aTextArea.setBackground(Color.white);
+ aTextArea.setFont(new java.awt.Font("Monospaced", 0, 12));
+ aTextArea.setToolTipText(AppStrings.TIP_TEXT_ENTRY);
+ aTextArea.addMouseListener(new java.awt.event.MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ setFocusGeometry(0);
+ }
+ });
+
+ bScrollPane.setBorder(BorderFactory.createLoweredBevelBorder());
+ bTextArea.setWrapStyleWord(true);
+ bTextArea.setLineWrap(true);
+ bTextArea.setBackground(Color.white);
+ bTextArea.setFont(new java.awt.Font("Monospaced", 0, 12));
+ bTextArea.setToolTipText(AppStrings.TIP_TEXT_ENTRY);
+ bTextArea.addMouseListener(new java.awt.event.MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ setFocusGeometry(1);
+ }
+ });
+
+ aCopyButton.setToolTipText(AppStrings.TIP_COPY_DATA);
+ aCopyButton.setIcon(copyIcon);
+ aCopyButton.setMargin(new Insets(0, 0, 0, 0));
+
+ aPasteButton.setToolTipText(AppStrings.TIP_PASTE_DATA);
+ aPasteButton.setIcon(pasteIcon);
+ aPasteButton.setMargin(new Insets(0, 0, 0, 0));
+
+ aCutButton.setToolTipText("Clear");
+ aCutButton.setIcon(cutIcon);
+ aCutButton.setMargin(new Insets(0, 0, 0, 0));
+
+ aButtonPanelLayout.setVgap(1);
+ aButtonPanelLayout.setHgap(1);
+// aButtonPanel.setLayout(aButtonPanelLayout);
+ aButtonPanel.add(aPasteButton);
+ aButtonPanel.add(aCopyButton);
+ aButtonPanel.add(aCutButton);
+
+ aLabel.setAlignmentX(LEFT_ALIGNMENT);
+ aRB.setAlignmentX(LEFT_ALIGNMENT);
+ aRB.setSelected(true);
+ aRB.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ setFocusGeometry(0);
+ }
+ });
+ //aLabelPanel.add(aRB);
+ aLabelPanel.add(aLabel);
+ aLabelPanel.add(aButtonPanel);
+
+ aPanel.setLayout(aPanelLayout);
+ aPanel.add(aLabelPanel, BorderLayout.WEST);
+ aPanel.add(aScrollPane, BorderLayout.CENTER);
+ //aPanel.add(aButtonPanel, BorderLayout.EAST);
+
+ bCopyButton.setToolTipText(AppStrings.TIP_COPY_DATA);
+ bCopyButton.setIcon(copyIcon);
+ bCopyButton.setMargin(new Insets(0, 0, 0, 0));
+
+ bPasteButton.setToolTipText(AppStrings.TIP_PASTE_DATA);
+ bPasteButton.setIcon(pasteIcon);
+ bPasteButton.setMargin(new Insets(0, 0, 0, 0));
+
+ bCutButton.setToolTipText("Clear");
+ bCutButton.setIcon(cutIcon);
+ bCutButton.setMargin(new Insets(0, 0, 0, 0));
+
+ bButtonPanelLayout.setVgap(1);
+ bButtonPanelLayout.setHgap(1);
+// bButtonPanel.setLayout(bButtonPanelLayout);
+ bButtonPanel.add(bPasteButton);
+ bButtonPanel.add(bCopyButton);
+ bButtonPanel.add(bCutButton);
+
+ bLabel.setAlignmentX(LEFT_ALIGNMENT);
+ //bLabelPanel.add(bRB);
+ bRB.setAlignmentX(LEFT_ALIGNMENT);
+ bRB.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ setFocusGeometry(1);
+ }
+ });
+ bLabelPanel.add(bLabel);
+ bLabelPanel.add(bButtonPanel);
+
+ bPanel.setLayout(bPanelLayout);
+ bPanel.add(bLabelPanel, BorderLayout.WEST);
+ bPanel.add(bScrollPane, BorderLayout.CENTER);
+ //bPanel.add(bButtonPanel, BorderLayout.EAST);
+
+ this.add(
+ panelAB,
+ new GridBagConstraints(0, 1, 1, 2,
+ 1.0, 1.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0, 0));
+ panelAB.add(
+ aPanel,
+ new GridBagConstraints(1, 0, 1, 1,
+ 1.0, 1.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0, 0));
+ panelAB.add(
+ bPanel,
+ new GridBagConstraints(1, 1, 1, 1,
+ 1.0, 1.0,
+ GridBagConstraints.CENTER,
+ GridBagConstraints.BOTH,
+ new Insets(0, 0, 0, 0),
+ 0, 0));
+ bScrollPane.getViewport().add(bTextArea, null);
+ aScrollPane.getViewport().add(aTextArea, null);
+
+ panelButtons.add(loadButton);
+ panelButtons.add(Box.createVerticalStrut(20));
+ panelButtons.add(exchangeButton);
+ panelButtons.add(Box.createVerticalStrut(10));
+ panelButtons.add(inspectButton);
+
+ this.add(
+ panelButtons,
+ new GridBagConstraints( 1, 1, 1, 1,
+ 0.0, 0.0,
+ GridBagConstraints.NORTHWEST,
+ GridBagConstraints.NONE,
+ new Insets(2, 2, 0, 2),
+ 0, 0));
+
+ loadButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ loadButton_actionPerformed(e);
+ }
+ });
+ inspectButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.inspectGeometry();
+ }
+ });
+ exchangeButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ JTSTestBuilderController.exchangeGeometry();
+ }
+ });
+ aCopyButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ aCopyButton_actionPerformed(e);
+ }
+ });
+ aPasteButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ aPasteButton_actionPerformed(e);
+ }
+ });
+ aCutButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ aCutButton_actionPerformed(e);
+ }
+ });
+ bCopyButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ bCopyButton_actionPerformed(e);
+ }
+ });
+ bPasteButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ bPasteButton_actionPerformed(e);
+ }
+ });
+ bCutButton.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ bCutButton_actionPerformed(e);
+ }
+ });
+ editMode.add(aRB);
+ editMode.add(bRB);
+ }
+
+ public void setText(Geometry g, int geomIndex)
+ {
+ String txt = null;
+ if (g == null)
+ txt = "";
+ else if (g.getNumPoints() > DisplayParameters.MAX_DISPLAY_POINTS)
+ txt = GeometryEditModel.toStringVeryLarge(g);
+ else
+ txt = GeometryEditModel.getText(g, GeometryType.WELLKNOWNTEXT);
+
+ switch (geomIndex) {
+ case 0: aTextArea.setText(txt); break;
+ case 1: bTextArea.setText(txt); break;
+ }
+ }
+
+ public String getGeometryTextA() {
+ return aTextArea.getText();
+ }
+
+ public String getGeometryTextB() {
+ return bTextArea.getText();
+ }
+
+ public String getGeometryText(int geomIndex)
+ {
+ if (geomIndex == 0) return aTextArea.getText();
+ return bTextArea.getText();
+ }
+
+ public String getGeometryTextClean(int geomIndex)
+ {
+ String text = getGeometryText(geomIndex);
+ String textTrim = text.trim();
+ if (textTrim.length() == 0) return textTrim;
+ String textClean = textTrim;
+ switch (MultiFormatReader.format(textTrim))
+ {
+ case MultiFormatReader.FORMAT_WKT:
+ textClean = GeometryTextCleaner.cleanWKT(textTrim);
+ break;
+ }
+ return textClean;
+ }
+
+ void aTextArea_keyTyped(KeyEvent e) {
+ loadButton.setEnabled(true);
+ }
+
+ void bTextArea_keyTyped(KeyEvent e) {
+ loadButton.setEnabled(true);
+ }
+
+ void loadButton_actionPerformed(ActionEvent e) {
+ try {
+ tbModel.loadGeometryText(
+ getGeometryTextClean(0),
+ getGeometryTextClean(1));
+ JTSTestBuilderController.zoomToInput();
+ }
+ catch (Exception ex) {
+ SwingUtil.reportException(this, ex);
+ }
+ }
+
+ void aCopyButton_actionPerformed(ActionEvent e) {
+ copy(e, 0);
+ }
+
+ void bCopyButton_actionPerformed(ActionEvent e) {
+ copy(e, 1);
+ }
+
+ void copy(ActionEvent e, int geomIndex)
+ {
+ boolean isFormatted = 0 != (e.getModifiers() & ActionEvent.CTRL_MASK);
+ Geometry g = tbModel.getCurrentCase().getGeometry(geomIndex);
+ if (g != null)
+ SwingUtil.copyToClipboard(g, isFormatted);
+ }
+
+ void aPasteButton_actionPerformed(ActionEvent e)
+ {
+ paste(0);
+ }
+ void bPasteButton_actionPerformed(ActionEvent e) {
+ paste(1);
+ }
+
+ void paste(int geomIndex) {
+ try {
+ tbModel.pasteGeometry(geomIndex);
+ JTSTestBuilderController.zoomToInput();
+ }
+ catch (Exception ex) {
+ JTSTestBuilderFrame.reportException(ex);
+ }
+ }
+
+ void aCutButton_actionPerformed(ActionEvent e) {
+ aTextArea.setText("");
+ tbModel.getGeometryEditModel().clear(0);
+ }
+ void bCutButton_actionPerformed(ActionEvent e) {
+ bTextArea.setText("");
+ tbModel.getGeometryEditModel().clear(1);
+ }
+
+ private void initFileDrop(Component comp, int index)
+ {
+ final int geomIndex = index;
+
+ new FileDrop(comp, new FileDrop.Listener() {
+ public void filesDropped(java.io.File[] files) {
+ try {
+ tbModel.loadMultipleGeometriesFromFile(geomIndex, files[0].getCanonicalPath());
+ //(textArea).setText(FileUtil.readText(files[0]));
+ JTSTestBuilderController.zoomToInput();
+ } catch (Exception ex) {
+ SwingUtil.reportException(null, ex);
+ }
+ }
+ });
+ }
+
+ Border focusBorder = BorderFactory.createMatteBorder(0, 2, 0, 0, Color.green);
+ //Border otherBorder = BorderFactory.createEmptyBorder();
+ Border otherBorder = BorderFactory.createMatteBorder(0, 2, 0, 0, Color.white);
+
+ private static Color focusBackgroundColor = Color.white; //new Color(240,255,250);
+ private static Color otherBackgroundColor = SystemColor.control;
+
+ private void setFocusGeometry(int index) {
+ JTSTestBuilderController.setFocusGeometry(index);
+
+ JTextArea focusTA = index == 0 ? aTextArea : bTextArea;
+ JTextArea otherTA = index == 0 ? bTextArea : aTextArea;
+ //focusTA.setBorder(focusBorder);
+ //otherTA.setBorder(otherBorder);
+
+ focusTA.setBackground(focusBackgroundColor);
+ otherTA.setBackground(otherBackgroundColor);
+ repaint();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/JTSTestBuilderController.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/JTSTestBuilderController.java
new file mode 100644
index 0000000..732585c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/JTSTestBuilderController.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.controller;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderToolBar;
+import org.locationtech.jtstest.testbuilder.model.DisplayParameters;
+import org.locationtech.jtstest.testbuilder.model.LayerList;
+import org.locationtech.jtstest.testbuilder.model.TestBuilderModel;
+import org.locationtech.jtstest.testbuilder.ui.SwingUtil;
+
+
+public class JTSTestBuilderController
+{
+ /*
+ private static boolean autoZoomOnNextChange = false;
+
+
+ public static void requestAutoZoom()
+ {
+ autoZoomOnNextChange = true;
+ }
+ */
+
+
+ public static void setShowingStructure(boolean showStructure) {
+ DisplayParameters.setShowingStructure(showStructure);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public static void setShowingOrientations(boolean showingOrientations) {
+ DisplayParameters.setShowingOrientation(showingOrientations);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public void setShowVertexIndices(boolean showVertexIndices) {
+ DisplayParameters.setShowingOrientation(showVertexIndices);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public static void setShowingVertices(boolean showingVertices) {
+ DisplayParameters.setShowingVertices(showingVertices);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public static void setShowingLabel(boolean showLabel) {
+ DisplayParameters.setShowingLabel(showLabel);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public static void setFillType(int fillType) {
+ DisplayParameters.setFillType(fillType);
+ JTSTestBuilderController.geometryViewChanged();
+ }
+
+ public static void geometryViewChanged()
+ {
+ getGeometryEditPanel().updateView();
+ //TODO: provide autoZoom checkbox on Edit tab to control autozooming (default = on)
+ }
+
+ public static GeometryEditPanel getGeometryEditPanel()
+ {
+ return JTSTestBuilderFrame.getGeometryEditPanel();
+ }
+
+ public static Geometry getGeometryA() {
+ return JTSTestBuilder.model().getGeometryEditModel().getGeometry(0);
+ }
+
+ public static Geometry getGeometryB() {
+ return JTSTestBuilder.model().getGeometryEditModel().getGeometry(1);
+ }
+
+ public static void zoomToFullExtent()
+ {
+ getGeometryEditPanel().zoomToFullExtent();
+ }
+
+ public static void zoomToInput()
+ {
+ getGeometryEditPanel().zoomToInput();
+ }
+
+ public static void addTestCase(Geometry[] geom, String name)
+ {
+ model().addCase(geom, name);
+ JTSTestBuilderFrame.instance().updateTestCases();
+ }
+
+ public static void extractComponentsToTestCase(Coordinate pt)
+ {
+ double toleranceInModel = getGeometryEditPanel().getToleranceInModel();
+ LayerList lyrList = model().getLayers();
+ Geometry comp = lyrList.getComponent(pt, toleranceInModel);
+ if (comp == null)
+ return;
+ model().addCase(new Geometry[] { comp, null });
+ JTSTestBuilderFrame.instance().updateTestCases();
+ }
+
+ public static void extractComponentsToTestCase(Geometry aoi)
+ {
+ //double toleranceInModel = JTSTestBuilderFrame.getGeometryEditPanel().getToleranceInModel();
+ LayerList lyrList = model().getLayers();
+ Geometry[] comp = lyrList.getComponents(aoi);
+ if (comp == null)
+ return;
+ model().addCase(comp);
+ JTSTestBuilderFrame.instance().updateTestCases();
+ toolbar().clearToolButtons();
+ toolbar().unselectExtractComponentButton();
+ editPanel().setCurrentTool(null);
+ }
+
+ public static void copyComponentToClipboard(Coordinate pt)
+ {
+ double toleranceInModel = getGeometryEditPanel().getToleranceInModel();
+ LayerList lyrList = model().getLayers();
+ Geometry comp = lyrList.getComponent(pt, toleranceInModel);
+ if (comp == null)
+ return;
+ SwingUtil.copyToClipboard(comp, false);
+ }
+
+ public static void setFocusGeometry(int index) {
+ model().getGeometryEditModel().setEditGeomIndex(index);
+ toolbar().setFocusGeometry(index);
+ }
+
+ public static void inspectGeometry()
+ {
+ JTSTestBuilderFrame.instance().actionInspectGeometry();
+ }
+ public static void exchangeGeometry()
+ {
+ JTSTestBuilderFrame.instance().actionExchangeGeoms();
+ }
+ public static void inspectGeometryDialog()
+ {
+ JTSTestBuilderFrame.instance().actionInspectGeometryDialog();
+ }
+ public static void clearResult()
+ {
+ JTSTestBuilderFrame.instance().getResultWKTPanel().clearResult();
+ model().setResult(null);
+ editPanel().updateView();
+ }
+
+ private static TestBuilderModel model() {
+ return JTSTestBuilderFrame.instance().getModel();
+ }
+ private static GeometryEditPanel editPanel() {
+ return JTSTestBuilderFrame.instance().getGeometryEditPanel();
+ }
+
+ private static JTSTestBuilderToolBar toolbar() {
+ return JTSTestBuilderFrame.instance().getToolbar();
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/ResultController.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/ResultController.java
new file mode 100644
index 0000000..fcf7f21
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/controller/ResultController.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.controller;
+
+import java.awt.Cursor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.text.NumberFormat;
+
+import javax.swing.Timer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.util.Stopwatch;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+import org.locationtech.jtstest.geomfunction.GeometryFunctionInvocation;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.SpatialFunctionPanel;
+import org.locationtech.jtstest.testbuilder.event.SpatialFunctionPanelEvent;
+import org.locationtech.jtstest.testbuilder.model.TestBuilderModel;
+import org.locationtech.jtstest.testbuilder.ui.SwingWorker;
+
+
+public class ResultController
+{
+ private static NumberFormat timeFmt;
+ static {
+ timeFmt = NumberFormat.getNumberInstance();
+ timeFmt.setMinimumFractionDigits(3);
+ }
+
+ JTSTestBuilderFrame frame;
+ TestBuilderModel model = null;
+
+ public ResultController(JTSTestBuilderFrame frame)
+ {
+ this.frame = frame;
+ model = JTSTestBuilder.model();
+ }
+
+ public void spatialFunctionPanel_functionExecuted(SpatialFunctionPanelEvent e)
+ {
+ SpatialFunctionPanel spatialPanel = frame.getTestCasePanel().getSpatialFunctionPanel();
+ GeometryFunctionInvocation functionDesc = new GeometryFunctionInvocation(
+ spatialPanel.getFunction(),
+ spatialPanel.getFunctionParams());
+ model.setOpName(functionDesc.getSignature());
+ frame.getResultWKTPanel().setOpName(model.getOpName());
+ // initialize UI view
+ clearResult();
+ // don't run anything if function is null
+ if (! frame.getTestCasePanel().getSpatialFunctionPanel().isFunctionSelected()) {
+ return;
+ }
+
+ frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ frame.getTestCasePanel().getSpatialFunctionPanel().enableExecuteControl(false);
+ startFunctionMonitor();
+ runFunctionWorker(functionDesc, e.isCreateNew());
+ frame.showResultWKTTab();
+ }
+
+ private void clearResult()
+ {
+ frame.getResultWKTPanel().clearResult();
+ // for good measure do a GC
+ System.gc();
+ updateResult(null,null,null);
+ }
+
+ /**
+ * If result is null, clears result info.
+ *
+ * @param result
+ * @param object
+ * @param object
+ * @param timer
+ */
+ private void resetUI() {
+ frame.getTestCasePanel().getSpatialFunctionPanel()
+ .enableExecuteControl(true);
+ frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+ private void updateResult(GeometryFunctionInvocation functionDesc, Object result, Stopwatch timer) {
+ model.setResult(result);
+ String timeString = timer != null ? timer.getTimeString() : "";
+ frame.getResultWKTPanel().setExecutedTime(timeString);
+ frame.getResultWKTPanel().updateResult();
+ JTSTestBuilderController.geometryViewChanged();
+ // log it
+ if (result != null) {
+ JTSTestBuilderFrame.instance().displayInfo(
+ functionDesc.getSignature() + " : " + timeString, false);
+ }
+ }
+
+ private SwingWorker worker = null;
+
+ private void runFunctionWorker(final GeometryFunctionInvocation functionInvoc, final boolean createNew)
+ {
+ worker = new SwingWorker() {
+ Stopwatch timer;
+
+ public Object construct()
+ {
+ return computeResult();
+ }
+
+ private Object computeResult() {
+ Object result = null;
+ GeometryFunction currentFunc = functionInvoc.getFunction();
+ if (currentFunc == null)
+ return null;
+
+ try {
+ timer = new Stopwatch();
+ try {
+ result = currentFunc.invoke(model.getGeometryEditModel()
+ .getGeometry(0), functionInvoc.getArgs());
+ } finally {
+ timer.stop();
+ }
+ // result = currentState.getActualValue();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace(System.out);
+ result = ex;
+ }
+ return result;
+ }
+
+ public void finished() {
+ stopFunctionMonitor();
+ resetUI();
+ Object result = getValue();
+ if (createNew) {
+ String desc = "Result of " + functionInvoc.getSignature();
+ JTSTestBuilderController.addTestCase(new Geometry[] { (Geometry) result, null }, desc);
+ } else {
+ updateResult(functionInvoc, result, timer);
+ }
+ worker = null;
+ }
+ };
+ worker.start();
+ }
+
+ private void clearFunctionWorker()
+ {
+
+ }
+
+ private Timer funcTimer;
+ private long runMillis = 0;
+ private static final int TIMER_DELAY_IN_MILLIS = 10;
+
+ private void startFunctionMonitor()
+ {
+ runMillis = 0;
+ funcTimer = new Timer(TIMER_DELAY_IN_MILLIS, new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+// Stopwatch timer = testCasePanel.getSpatialFunctionPanel().getTimer();
+ runMillis += TIMER_DELAY_IN_MILLIS;
+ String timeStr = "";
+ if (runMillis < 10000) {
+ timeStr = runMillis + " ms";
+ }
+ else {
+ timeStr = timeFmt.format(runMillis/1000.0) + " s";
+ }
+ frame.getResultWKTPanel().setRunningTime(timeStr);
+ }
+ });
+ funcTimer.setInitialDelay(0);
+ funcTimer.start();
+ }
+
+ private void stopFunctionMonitor()
+ {
+ funcTimer.stop();
+ }
+
+ public void scalarFunctionPanel_functionExecuted(SpatialFunctionPanelEvent e)
+ {
+ /**
+ * For now scalar functions are executed on the calling thread.
+ * They are expected to be of short duration
+ */
+ String opName = frame.getTestCasePanel().getScalarFunctionPanel().getOpName();
+ // initialize UI view
+ frame.getResultValuePanel().setResult(opName, "", null);
+
+ frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ Object result = frame.getTestCasePanel().getScalarFunctionPanel().getResult();
+ Stopwatch timer = frame.getTestCasePanel().getScalarFunctionPanel().getTimer();
+ frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+
+ frame.getResultValuePanel().setResult(opName, timer.getTimeString(), result);
+ frame.showResultValueTab();
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionEvent.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionEvent.java
new file mode 100644
index 0000000..cc826c3
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionEvent.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventObject;
+
+import org.locationtech.jtstest.function.*;
+import org.locationtech.jtstest.geomfunction.GeometryFunction;
+
+/**
+ */
+public class GeometryFunctionEvent extends EventObject {
+
+ public GeometryFunctionEvent(GeometryFunction source) {
+ super(source);
+ }
+
+ public GeometryFunction getFunction() { return (GeometryFunction) getSource(); }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionListener.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionListener.java
new file mode 100644
index 0000000..7f534f4
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/GeometryFunctionListener.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventListener;
+
+/**
+ */
+public interface GeometryFunctionListener extends EventListener {
+
+ public void functionSelected(GeometryFunctionEvent e);
+ public void functionInvoked(GeometryFunctionEvent e);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelEvent.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelEvent.java
new file mode 100644
index 0000000..c896dc7
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelEvent.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventObject;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public class SpatialFunctionPanelEvent extends EventObject {
+
+ private boolean createNew = false;
+
+ public SpatialFunctionPanelEvent(Object source) {
+ super(source);
+ }
+
+ public SpatialFunctionPanelEvent(Object source,
+ boolean createNew) {
+ super(source);
+ this. createNew = createNew;
+ }
+
+ public boolean isCreateNew()
+ {
+ return createNew;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelListener.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelListener.java
new file mode 100644
index 0000000..a0794c5
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/SpatialFunctionPanelListener.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventListener;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public interface SpatialFunctionPanelListener extends EventListener {
+
+ public void functionExecuted(SpatialFunctionPanelEvent e);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelEvent.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelEvent.java
new file mode 100644
index 0000000..7e76309
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelEvent.java
@@ -0,0 +1,30 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventObject;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public class ValidPanelEvent extends EventObject {
+
+ public ValidPanelEvent(Object source) {
+ super(source);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelListener.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelListener.java
new file mode 100644
index 0000000..9ad0532
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/event/ValidPanelListener.java
@@ -0,0 +1,27 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.event;
+
+import java.util.EventListener;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public interface ValidPanelListener extends EventListener {
+ public void setHighlightPerformed(ValidPanelEvent e);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/AdjacentVertexFinder.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/AdjacentVertexFinder.java
new file mode 100644
index 0000000..0fc0b70
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/AdjacentVertexFinder.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ * Locates all vertices in a geometry which are adjacent
+ * to a given vertex.
+ *
+ * @author mbdavis
+ *
+ */
+public class AdjacentVertexFinder
+{
+ public static Coordinate[] findVertices(Geometry geom, Coordinate testPt)
+ {
+ AdjacentVertexFinder finder = new AdjacentVertexFinder(geom);
+ return finder.getVertices(testPt);
+ }
+
+ private Geometry geom;
+ private Coordinate vertexPt;
+ private int vertexIndex = -1;
+
+ public AdjacentVertexFinder(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public Coordinate[] getVertices(Coordinate testPt)
+ {
+ AdjacentVertexFilter filter = new AdjacentVertexFilter(testPt);
+ geom.apply(filter);
+ return filter.getVertices();
+ }
+
+ public int getIndex() { return vertexIndex; }
+
+ static class AdjacentVertexFilter implements CoordinateSequenceFilter
+ {
+ private Coordinate basePt;
+ private List adjVerts = new ArrayList();
+
+ public AdjacentVertexFilter(Coordinate basePt)
+ {
+ this.basePt = basePt;
+ }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ Coordinate p = seq.getCoordinate(i);
+ if (! p.equals2D(basePt))
+ return;
+
+ if (i > 0) {
+ adjVerts.add(seq.getCoordinate(i - 1));
+ }
+ if (i < seq.size() - 1) {
+ adjVerts.add(seq.getCoordinate(i + 1));
+ }
+ }
+
+ public Coordinate[] getVertices()
+ {
+ return CoordinateArrays.toCoordinateArray(adjVerts);
+ }
+
+ public boolean isDone() { return false; }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/ComponentLocater.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/ComponentLocater.java
new file mode 100644
index 0000000..7ba0fe8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/ComponentLocater.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ * Locates the components of a Geometry
+ * which lie in a target area.
+ *
+ * @author Martin Davis
+ * @see FacetLocater
+ */
+public class ComponentLocater {
+
+ private Geometry parentGeom;
+ private List components = new ArrayList();
+ private Geometry aoi;
+
+ public ComponentLocater(Geometry parentGeom) {
+ this.parentGeom = parentGeom;
+ }
+
+ /**
+ *
+ * @param queryPt
+ * @param tolerance
+ * @return a List of the component Geometrys
+ */
+ public List getComponents(Coordinate queryPt, double tolerance)
+ {
+ //Coordinate queryPt = queryPt;
+ //this.tolerance = tolerance;
+ aoi = createAOI(queryPt, tolerance);
+ return getComponents(aoi);
+ }
+
+ public List getComponents(Geometry aoi)
+ {
+ //Coordinate queryPt = queryPt;
+ //this.tolerance = tolerance;
+ this.aoi = aoi;
+ findComponents(new Stack(), parentGeom, components);
+ return components;
+ }
+
+ private Geometry createAOI(Coordinate queryPt, double tolerance)
+ {
+ Envelope env = new Envelope(queryPt);
+ env.expandBy(2 * tolerance);
+ return parentGeom.getFactory().toGeometry(env);
+ }
+
+ private void findComponents(Stack path, Geometry geom, List components)
+ {
+ if (geom instanceof GeometryCollection) {
+ for (int i = 0; i < geom.getNumGeometries(); i++ ) {
+ Geometry subGeom = geom.getGeometryN(i);
+ path.push(new Integer(i));
+ findComponents(path, subGeom, components);
+ path.pop();
+ }
+ return;
+ }
+ // TODO: make this robust - do not use Geometry.intersects()
+ // atomic component - check for match
+ if (aoi.intersects(geom))
+ components.add(new GeometryLocation(parentGeom, geom,
+ FacetLocater.toIntArray(path)));
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/EnvelopeUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/EnvelopeUtil.java
new file mode 100644
index 0000000..1b7bec0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/EnvelopeUtil.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.Envelope;
+
+public class EnvelopeUtil
+{
+ public static double minExtent(Envelope env)
+ {
+ double w = env.getWidth();
+ double h = env.getHeight();
+ if (w < h) return w;
+ return h;
+ }
+ public static double maxExtent(Envelope env)
+ {
+ double w = env.getWidth();
+ double h = env.getHeight();
+ if (w > h) return w;
+ return h;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/FacetLocater.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/FacetLocater.java
new file mode 100644
index 0000000..509d4ce
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/FacetLocater.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+/**
+ * Locates the paths to facets (vertices and segments) of
+ * a {@link Geometry} which are within a given tolerance
+ * of a query point.
+ *
+ *
+ * @author Martin Davis
+ *
+ */
+public class FacetLocater
+{
+ /**
+ * Creates a list containing all the vertex {@link GeometryLocation}s
+ * in the input collection.
+ *
+ * @param locations the source collection
+ * @return a list of the vertex locations, if any
+ */
+ public static List filterVertexLocations(Collection locations)
+ {
+ ArrayList vertexLocs = new ArrayList();
+ for (Iterator i = locations.iterator(); i.hasNext(); ) {
+ GeometryLocation loc = (GeometryLocation) i.next();
+ if (loc.isVertex()) vertexLocs.add(loc);
+ }
+ return vertexLocs;
+ }
+
+ private Geometry parentGeom;
+ private List locations = new ArrayList();
+ private Coordinate queryPt;
+ private double tolerance = 0.0;
+
+ public FacetLocater(Geometry parentGeom) {
+ this.parentGeom = parentGeom;
+ }
+
+ public List getLocations(Coordinate queryPt, double tolerance)
+ {
+ this.queryPt = queryPt;
+ this.tolerance = tolerance;
+ findLocations(parentGeom, locations);
+ return locations;
+ }
+
+ private void findLocations(Geometry geom, List locations)
+ {
+ findLocations(new Stack(), parentGeom, locations);
+ }
+
+ private void findLocations(Stack path, Geometry geom, List locations)
+ {
+ if (geom instanceof GeometryCollection) {
+ for (int i = 0; i < geom.getNumGeometries(); i++ ) {
+ Geometry subGeom = geom.getGeometryN(i);
+ path.push(new Integer(i));
+ findLocations(path, subGeom, locations);
+ path.pop();
+ }
+ }
+ else if (geom instanceof Polygon) {
+ findLocations(path, (Polygon) geom, locations);
+
+ }
+ else {
+ CoordinateSequence seq;
+
+ if (geom instanceof LineString) {
+ seq = ((LineString) geom).getCoordinateSequence();
+ }
+ else if (geom instanceof Point) {
+ seq = ((Point) geom).getCoordinateSequence();
+ }
+ else {
+ throw new IllegalStateException("Unknown geometry type: " + geom.getClass().getName());
+ }
+ findLocations(path, geom, seq, locations);
+ }
+ }
+
+ private void findLocations(Stack path, Polygon poly, List locations)
+ {
+ path.push(new Integer(0));
+ findLocations(path,
+ poly.getExteriorRing(),
+ poly.getExteriorRing().getCoordinateSequence(), locations);
+ path.pop();
+
+ for (int i = 0; i < poly.getNumInteriorRing(); i++ ) {
+ path.push(new Integer(i + 1));
+ findLocations(path,
+ poly.getInteriorRingN(i),
+ poly.getInteriorRingN(i).getCoordinateSequence(), locations);
+ path.pop();
+ }
+ }
+
+ private void findLocations(Stack path, Geometry compGeom, CoordinateSequence seq, List locations)
+ {
+ findVertexLocations(path, compGeom, seq, locations);
+ findSegmentLocations(path, compGeom, seq, locations);
+ }
+
+ private void findVertexLocations(Stack path, Geometry compGeom, CoordinateSequence seq, List locations)
+ {
+ for (int i = 0; i < seq.size(); i++) {
+ Coordinate p = seq.getCoordinate(i);
+ double dist = p.distance(queryPt);
+ if (dist <= tolerance)
+ locations.add(new GeometryLocation(parentGeom, compGeom, toIntArray(path), i, true, p));
+ }
+ }
+
+ private void findSegmentLocations(Stack path, Geometry compGeom, CoordinateSequence seq, List locations)
+ {
+ LineSegment seg = new LineSegment();
+ for (int i = 0; i < seq.size() - 1; i++) {
+ seg.p0 = seq.getCoordinate(i);
+ seg.p1 = seq.getCoordinate(i+1);
+ double dist = seg.distance(queryPt);
+ if (dist <= tolerance)
+ locations.add(new GeometryLocation(parentGeom, compGeom, toIntArray(path), i, false, seg.p0));
+ }
+ }
+
+ public static int[] toIntArray(Vector path)
+ {
+ int[] index = new int[path.size()];
+ int i = 0;
+ for (Iterator it = path.iterator(); it.hasNext(); ) {
+ Integer pathIndex = (Integer) it.next();
+ index[i++] = pathIndex.intValue();
+ }
+ return index;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryBoxDeleter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryBoxDeleter.java
new file mode 100644
index 0000000..ecd0c13
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryBoxDeleter.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.util.GeometryEditor;
+
+/**
+ * Deletes vertices or components from a geometry
+ * which lie inside a given box.
+ * If the box completely contains one or more components
+ * (including polygon holes), those components are deleted
+ * and the operation stops.
+ * Otherwise if the box contains a subset of vertices
+ * from a component, those vertices are deleted.
+ * When deleting vertices only <i>one</i> component of the geometry
+ * is modified (the first one found which has vertices in the box).
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryBoxDeleter
+{
+ public static Geometry delete(Geometry geom,
+ Envelope env)
+ {
+ Geometry gComp = deleteComponents(geom, env);
+ if (gComp != null) return gComp;
+
+ // otherwise, try and edit vertices
+ Geometry gVert = deleteVertices(geom, env);
+ if (gVert != null) return gVert;
+
+ // no edits - return original
+ return geom;
+ }
+
+ private static Geometry deleteComponents(Geometry geom, Envelope env)
+ {
+ GeometryEditor editor = new GeometryEditor();
+ BoxDeleteComponentOperation compOp = new BoxDeleteComponentOperation(env);
+ Geometry compEditGeom = editor.edit(geom, compOp);
+ if (compOp.isEdited()) return compEditGeom;
+ return null;
+ }
+
+ private static Geometry deleteVertices(Geometry geom, Envelope env)
+ {
+ GeometryEditor editor = new GeometryEditor();
+ BoxDeleteVertexOperation vertexOp = new BoxDeleteVertexOperation(env);
+ Geometry vertexEditGeom = editor.edit(geom, vertexOp);
+ if (vertexOp.isEdited()) return vertexEditGeom;
+ return null;
+ }
+
+ private static class BoxDeleteComponentOperation
+ implements GeometryEditor.GeometryEditorOperation
+ {
+ private Envelope env;
+ private boolean isEdited = false;
+
+ public BoxDeleteComponentOperation(Envelope env)
+ {
+ this.env = env;
+ }
+
+ public boolean isEdited() { return isEdited; }
+
+ public Geometry edit(Geometry geometry, GeometryFactory factory)
+ {
+ // Allow any number of components to be deleted
+ //if (isEdited) return geometry;
+ if (env.contains(geometry.getEnvelopeInternal())) {
+ isEdited = true;
+ return null;
+ }
+ return geometry;
+ }
+ }
+
+ private static class BoxDeleteVertexOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ private Envelope env;
+ private boolean isEdited = false;
+
+ public BoxDeleteVertexOperation(Envelope env)
+ {
+ this.env = env;
+ }
+
+ public boolean isEdited() { return isEdited; }
+
+ public Coordinate[] edit(Coordinate[] coords,
+ Geometry geometry)
+ {
+ if (isEdited) return coords;
+ if (! hasVertexInBox(coords))
+ return coords;
+ // only delete vertices of first component found
+
+ int minLen = 2;
+ if (geometry instanceof LinearRing) minLen = 4;
+
+ Coordinate[] newPts = new Coordinate[coords.length];
+ int newIndex = 0;
+ for (int i = 0; i < coords.length; i++) {
+ if (! env.contains(coords[i])) {
+ newPts[newIndex++] = coords[i];
+ }
+ }
+ Coordinate[] nonNullPts = CoordinateArrays.removeNull(newPts);
+ Coordinate[] finalPts = nonNullPts;
+
+ // close ring if required
+ if (geometry instanceof LinearRing) {
+ if (nonNullPts.length > 1 && ! nonNullPts[nonNullPts.length - 1].equals2D(nonNullPts[0])) {
+ Coordinate[] ringPts = new Coordinate[nonNullPts.length + 1];
+ CoordinateArrays.copyDeep(nonNullPts, 0, ringPts, 0, nonNullPts.length);
+ ringPts[ringPts.length-1] = new Coordinate(ringPts[0]);
+ finalPts = ringPts;
+ }
+ }
+
+ // don't change if would make geometry invalid
+ if (finalPts.length < minLen)
+ return coords;
+
+ isEdited = true;
+ return finalPts;
+ }
+
+ private boolean hasVertexInBox(Coordinate[] coords)
+ {
+ for (int i = 0; i < coords.length; i++) {
+ if (env.contains(coords[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryCombiner.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryCombiner.java
new file mode 100644
index 0000000..cedb9ae
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryCombiner.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.algorithm.*;
+import org.locationtech.jts.geom.*;
+
+public class GeometryCombiner
+{
+ private GeometryFactory geomFactory;
+
+ public GeometryCombiner(GeometryFactory geomFactory) {
+ this.geomFactory = geomFactory;
+ }
+
+ public Geometry addPolygonRing(Geometry orig, Coordinate[] pts)
+ {
+ LinearRing ring = geomFactory.createLinearRing(pts);
+
+ if (orig == null) {
+ return geomFactory.createPolygon(ring, null);
+ }
+ if (! (orig instanceof Polygonal)) {
+ return combine(orig,
+ geomFactory.createPolygon(ring, null));
+ }
+ // add the ring as either a hole or a shell
+ Polygon polyContaining = findPolygonContaining(orig, pts[0]);
+ if (polyContaining == null) {
+ return combine(orig, geomFactory.createPolygon(ring, null));
+ }
+
+ // add ring as hole
+ Polygon polyWithHole = addHole(polyContaining, ring);
+ return replace(orig, polyContaining, polyWithHole);
+ }
+
+ public Geometry addLineString(Geometry orig, Coordinate[] pts)
+ {
+ LineString line = geomFactory.createLineString(pts);
+ return combine(orig, line);
+ }
+
+ public Geometry addPoint(Geometry orig, Coordinate pt)
+ {
+ Point point = geomFactory.createPoint(pt);
+ return combine(orig, point);
+ }
+
+ private static Polygon findPolygonContaining(Geometry geom, Coordinate pt)
+ {
+ PointLocator locator = new PointLocator();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Polygon poly = (Polygon) geom.getGeometryN(i);
+ int loc = locator.locate(pt, poly);
+ if (loc == Location.INTERIOR)
+ return poly;
+ }
+ return null;
+ }
+
+ public Polygon addHole(Polygon poly, LinearRing hole)
+ {
+ int nOrigHoles = poly.getNumInteriorRing();
+ LinearRing[] newHoles = new LinearRing[nOrigHoles + 1];
+ for (int i = 0; i < nOrigHoles; i++) {
+ newHoles[i] = (LinearRing) poly.getInteriorRingN(i);
+ }
+ newHoles[nOrigHoles] = hole;
+ return geomFactory.createPolygon((LinearRing) poly.getExteriorRing(), newHoles);
+ }
+
+ public Geometry combine(Geometry orig, Geometry geom)
+ {
+ List origList = extractElements(orig, true);
+ List geomList = extractElements(geom, true);
+ origList.addAll(geomList);
+
+ if (origList.size() == 0) {
+ // return a clone of the orig geometry
+ return (Geometry) orig.clone();
+ }
+ // return the "simplest possible" geometry
+ return geomFactory.buildGeometry(origList);
+ }
+
+ public static List extractElements(Geometry geom, boolean skipEmpty)
+ {
+ List elem = new ArrayList();
+ if (geom == null)
+ return elem;
+
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry elemGeom = geom.getGeometryN(i);
+ if (skipEmpty && elemGeom.isEmpty())
+ continue;
+ elem.add(elemGeom);
+ }
+ return elem;
+ }
+
+ public static Geometry replace(Geometry parent, Geometry original, Geometry replacement)
+ {
+ List elem = extractElements(parent, false);
+ Collections.replaceAll(elem, original, replacement);
+ return parent.getFactory().buildGeometry(elem);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryLocation.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryLocation.java
new file mode 100644
index 0000000..0a45bba
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryLocation.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+
+/**
+ * Models the location of a point on a Geometry
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryLocation
+{
+ /**
+ * The top-level geometry containing the location
+ */
+ private Geometry parent;
+ /**
+ * The Geometry component containing the location
+ */
+ private Geometry component;
+
+ /**
+ * The path of indexes to the component containing the location
+ */
+ private int[] componentPath;
+
+ /**
+ * The index of the vertex or segment the location occurs on
+ */
+ private int index;
+
+ /**
+ * Indicates whether this location is a vertex of the geometry
+ */
+ private boolean isVertex = true;
+
+ /**
+ * The actual coordinate for the location
+ */
+ private Coordinate pt;
+
+ public GeometryLocation(Geometry parent, Geometry component, int[] componentPath)
+ {
+ this.parent = parent;
+ this.component = component;
+ this.componentPath = componentPath;
+ }
+
+ public GeometryLocation(Geometry parent, Geometry component, int index, Coordinate pt)
+ {
+ this.parent = parent;
+ this.component = component;
+ this.index = index;
+ this.pt = pt;
+ }
+
+ public GeometryLocation(Geometry parent, Geometry component, int segmentIndex, boolean isVertex,
+ Coordinate pt)
+ {
+ this.parent = parent;
+ this.component = component;
+ this.index = segmentIndex;
+ this.isVertex = isVertex;
+ this.pt = pt;
+ }
+
+ public GeometryLocation(Geometry parent, Geometry component, int[] componentPath, int segmentIndex, boolean isVertex,
+ Coordinate pt)
+ {
+ this.parent = parent;
+ this.component = component;
+ this.componentPath = componentPath;
+ this.index = segmentIndex;
+ this.isVertex = isVertex;
+ this.pt = pt;
+ }
+
+ public Geometry getComponent()
+ {
+ return component;
+ }
+
+ public Coordinate getCoordinate() { return pt; }
+
+ public boolean isVertex() { return isVertex; }
+
+ public Geometry insert()
+ {
+ return GeometryVertexInserter.insert(parent, (LineString) component, index, pt);
+ }
+
+ public Geometry delete()
+ {
+ return GeometryVertexDeleter.delete(parent, (LineString) component, index);
+ }
+
+ public double getLength()
+ {
+ if (isVertex()) return 0;
+ Coordinate p1 = component.getCoordinates()[index + 1];
+ return pt.distance(p1);
+ }
+ public String toString()
+ {
+ return pt.toString();
+ }
+
+ public String pathString()
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < componentPath.length; i++) {
+ if (i > 0) {
+ buf.append(":");
+ }
+ buf.append(componentPath[i]);
+ }
+ return buf.toString();
+ }
+
+ public String toFacetString()
+ {
+ StringBuffer buf = new StringBuffer();
+
+ // facet index
+ buf.append("[");
+ for (int i = 0; i < componentPath.length; i++) {
+ if (i > 0) {
+ buf.append(":");
+ }
+ buf.append(componentPath[i]);
+ }
+ buf.append(" ");
+ buf.append(index);
+ if (! isVertex()) {
+ buf.append("-" + (index + 1));
+ }
+ buf.append("] ");
+
+ // facet value
+ buf.append(isVertex() ? "POINT " : "LINESTRING ");
+
+ buf.append("( ");
+ buf.append(pt.x);
+ buf.append(" ");
+ buf.append(pt.y);
+ if (! isVertex()) {
+ Coordinate p1 = component.getCoordinates()[index + 1];
+ buf.append(", ");
+ buf.append(p1.x);
+ buf.append(" ");
+ buf.append(p1.y);
+ }
+ buf.append(" )");
+ return buf.toString();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryPointLocater.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryPointLocater.java
new file mode 100644
index 0000000..cf94eb5
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryPointLocater.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+
+/**
+ * Finds a vertex or a point on a segment of a Geometry
+ * which lies within a tolerance of a given point.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryPointLocater
+{
+ public static GeometryLocation locateNonVertexPoint(Geometry geom, Coordinate testPt, double tolerance)
+ {
+ GeometryPointLocater finder = new GeometryPointLocater(geom);
+ GeometryLocation geomLoc = finder.getLocation(testPt, false, tolerance);
+ if (geomLoc == null) return null;
+ if (geomLoc.isVertex()) return null;
+ return geomLoc;
+ }
+
+ public static GeometryLocation locateVertex(Geometry geom, Coordinate testPt, double tolerance)
+ {
+ GeometryPointLocater finder = new GeometryPointLocater(geom);
+ GeometryLocation geomLoc = finder.getLocation(testPt, true, tolerance);
+ if (geomLoc == null) return null;
+ if (geomLoc.isVertex()) return geomLoc;
+ return null;
+ }
+
+ private Geometry geom;
+ private Coordinate locationPt;
+ private int segIndex = -1;
+ private boolean isVertex = false;
+
+ public GeometryPointLocater(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public GeometryLocation getLocation(Coordinate testPt, boolean vertexOnly, double tolerance)
+ {
+ NearestSegmentLocationFilter filter = new NearestSegmentLocationFilter(testPt, vertexOnly, tolerance);
+ geom.apply(filter);
+
+ locationPt = filter.getCoordinate();
+ segIndex = filter.getIndex();
+ isVertex = filter.isVertex();
+
+ if (locationPt == null)
+ return null;
+
+ return new GeometryLocation(geom,
+ filter.getComponent(),
+ filter.getIndex(),
+ filter.isVertex(),
+ filter.getCoordinate());
+ }
+
+ public int getIndex() { return segIndex; }
+
+ public boolean isVertex() { return isVertex; }
+
+ static class NearestSegmentLocationFilter implements GeometryComponentFilter
+ {
+ private double tolerance = 0.0;
+ private Coordinate testPt;
+ private boolean vertexOnly = false;
+
+ private Geometry component = null;
+ private int segIndex = -1;
+ private Coordinate nearestPt = null;
+ private boolean isVertex = false;
+
+ private LineSegment seg = new LineSegment();
+
+ public NearestSegmentLocationFilter(Coordinate testPt, boolean vertexOnly, double tolerance)
+ {
+ this.testPt = testPt;
+ this.tolerance = tolerance;
+ this.vertexOnly = vertexOnly;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (! (geom instanceof LineString)) return;
+ if (nearestPt != null)
+ return;
+
+ LineString lineStr = (LineString) geom;
+ CoordinateSequence seq = lineStr.getCoordinateSequence();
+ for (int i = 0; i < seq.size(); i++) {
+ if (i != seq.size() - 1)
+ checkSegment(lineStr, seq, i);
+ else
+ checkVertex(lineStr, seq, i);
+
+ // check if done
+ if (nearestPt != null) {
+ // found matching location!
+ component = lineStr;
+ break;
+ }
+ }
+ }
+
+
+ private void checkSegment(LineString lineStr, CoordinateSequence seq, int i)
+ {
+ Coordinate p0 = seq.getCoordinate(i);
+ Coordinate p1 = seq.getCoordinate(i+1);
+
+ // if point matches endpoint ==> vertex match
+ double dist0 = p0.distance(testPt);
+ double dist1 = p1.distance(testPt);
+ if (dist0 < tolerance) {
+ nearestPt = p0;
+ segIndex = i;
+ isVertex = true;
+ return;
+ }
+ else if (dist1 < tolerance) {
+ nearestPt = p1;
+ segIndex = i + 1;
+ isVertex = true;
+ return;
+ }
+
+ // check closeness to segment (if allowing segments)
+ if (vertexOnly) return;
+
+ seg.p0 = p0;
+ seg.p1 = p1;
+ double segDist = seg.distance(testPt);
+ if (segDist < tolerance) {
+ nearestPt = seg.closestPoint(testPt);
+ segIndex = i;
+ isVertex = false;
+ }
+ }
+
+ private void checkVertex(LineString lineStr, CoordinateSequence seq, int i)
+ {
+ Coordinate p0 = seq.getCoordinate(i);
+
+ double dist0 = p0.distance(testPt);
+ if (dist0 < tolerance) {
+ nearestPt = p0;
+ segIndex = i;
+ isVertex = true;
+ }
+ }
+
+ public Geometry getComponent()
+ {
+ return component;
+ }
+ public Coordinate getCoordinate()
+ {
+ return nearestPt;
+ }
+ public int getIndex() { return segIndex; }
+
+ public boolean isVertex() { return isVertex; }
+
+ public boolean isDone() { return nearestPt != null; }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryUtil.java
new file mode 100644
index 0000000..ce9e46c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryUtil.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+
+public class GeometryUtil {
+
+ public static String structureSummary(Geometry g)
+ {
+ String structure = "";
+ if (g instanceof Polygon) {
+ structure = ((Polygon) g).getNumInteriorRing() + " holes" ;
+ }
+ else if (g instanceof GeometryCollection)
+ structure = g.getNumGeometries() + " elements";
+
+ return
+ g.getGeometryType().toUpperCase()
+ + " - " + structure
+ + (structure.length() > 0 ? ", " : "")
+ + g.getNumPoints() + " pts";
+ }
+
+ public static String metricsSummary(Geometry g)
+ {
+ String metrics = "Length = " + g.getLength() + " Area = " + g.getArea();
+ return metrics;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexDeleter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexDeleter.java
new file mode 100644
index 0000000..eb425a9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexDeleter.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+public class GeometryVertexDeleter
+{
+ public static Geometry delete(Geometry geom,
+ LineString line,
+ int vertexIndex)
+ {
+ GeometryEditor editor = new GeometryEditor();
+ editor.setCopyUserData(true);
+ return editor.edit(geom, new DeleteVertexOperation(line, vertexIndex));
+ }
+
+ private static class DeleteVertexOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ private LineString line;
+ private int vertexIndex;
+ private Coordinate newVertex;
+
+ public DeleteVertexOperation(LineString line, int vertexIndex)
+ {
+ this.line = line;
+ this.vertexIndex = vertexIndex;
+ }
+
+ public Coordinate[] edit(Coordinate[] coords,
+ Geometry geometry)
+ {
+ if (geometry != line) return coords;
+
+ int minLen = 2;
+ if (geometry instanceof LinearRing) minLen = 4;
+
+ // don't change if would make geometry invalid
+ if (coords.length <= minLen)
+ return coords;
+
+ int newLen = coords.length - 1;
+ Coordinate[] newPts = new Coordinate[newLen];
+ int newIndex = 0;
+ for (int i = 0; i < coords.length; i++) {
+ if (i != vertexIndex) {
+ newPts[newIndex] = coords[i];
+ newIndex++;
+ }
+ }
+
+ // close ring if required
+ if (geometry instanceof LinearRing) {
+ if (newPts[newLen - 1] == null
+ || ! newPts[newLen - 1].equals2D(newPts[0])) {
+ newPts[newLen - 1] = new Coordinate(newPts[0]);
+ }
+ }
+
+ return newPts;
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexInserter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexInserter.java
new file mode 100644
index 0000000..1ae419d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexInserter.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+public class GeometryVertexInserter
+{
+ public static Geometry insert(Geometry geom,
+ LineString line,
+ int segIndex,
+ Coordinate newVertex)
+ {
+ GeometryEditor editor = new GeometryEditor();
+ editor.setCopyUserData(true);
+ return editor.edit(geom, new InsertVertexOperation(line, segIndex, newVertex));
+ }
+
+ private static class InsertVertexOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ private LineString line;
+ private int segIndex;
+ private Coordinate newVertex;
+
+ public InsertVertexOperation(LineString line, int segIndex, Coordinate newVertex)
+ {
+ this.line = line;
+ this.segIndex = segIndex;
+ this.newVertex = newVertex;
+ }
+
+ public Coordinate[] edit(Coordinate[] coords,
+ Geometry geometry)
+ {
+ if (geometry != line) return coords;
+
+ Coordinate[] newPts = new Coordinate[coords.length + 1];
+ for (int i = 0; i < coords.length; i++) {
+ int actualIndex = i > segIndex ? i + 1 : i;
+ newPts[actualIndex] = (Coordinate) coords[i].clone();
+ }
+ newPts[segIndex + 1] = (Coordinate) newVertex.clone();
+ return newPts;
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexMover.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexMover.java
new file mode 100644
index 0000000..9edf2b8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/GeometryVertexMover.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+public class GeometryVertexMover
+{
+
+ public static Geometry move(Geometry geom, Coordinate fromLoc, Coordinate toLoc)
+ {
+ GeometryEditor editor = new GeometryEditor();
+ editor.setCopyUserData(true);
+ return editor.edit(geom, new MoveVertexOperation(fromLoc, toLoc));
+ }
+
+ private static class MoveVertexOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ private Coordinate fromLoc;
+ private Coordinate toLoc;
+
+ public MoveVertexOperation(Coordinate fromLoc, Coordinate toLoc)
+ {
+ this.fromLoc = fromLoc;
+ this.toLoc = toLoc;
+ }
+
+ public Coordinate[] edit(Coordinate[] coords,
+ Geometry geometry)
+ {
+ Coordinate[] newPts = new Coordinate[coords.length];
+ for (int i = 0; i < coords.length; i++) {
+ newPts[i] =
+ (coords[i].equals2D(fromLoc))
+ ? (Coordinate) toLoc.clone()
+ : (Coordinate) coords[i].clone();
+
+ }
+ return newPts;
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/NearestPointFinder.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/NearestPointFinder.java
new file mode 100644
index 0000000..e714b8f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/NearestPointFinder.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import org.locationtech.jts.geom.*;
+
+public class NearestPointFinder
+{
+ public static Coordinate findNearestPoint(Geometry geom, Coordinate pt, double tolerance)
+ {
+ NearestPointFinder finder = new NearestPointFinder(geom);
+ return finder.getNearestPoint(pt, tolerance);
+ }
+
+ private Geometry geom;
+
+ public NearestPointFinder(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public Coordinate getNearestPoint(Coordinate pt, double tolerance)
+ {
+ NearestPointFilter filter = new NearestPointFilter(pt, tolerance);
+ geom.apply(filter);
+ return filter.getNearestPoint();
+ }
+
+ static class NearestPointFilter implements CoordinateSequenceFilter
+ {
+ private double tolerance = 0.0;
+ private Coordinate basePt;
+ private Coordinate nearestPt = null;
+ private double dist = Double.MAX_VALUE;
+
+ public NearestPointFilter(Coordinate basePt, double tolerance)
+ {
+ this.basePt = basePt;
+ this.tolerance = tolerance;
+ }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ Coordinate p = seq.getCoordinate(i);
+ double dist = p.distance(basePt);
+ if (dist > tolerance) return;
+
+ if (nearestPt == null || basePt.distance(p) < dist) {
+ nearestPt = p;
+ dist = basePt.distance(nearestPt);
+ return;
+ }
+ }
+
+ public Coordinate getNearestPoint()
+ {
+ return nearestPt;
+ }
+ public boolean isDone() { return false; }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/VertexLocater.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/VertexLocater.java
new file mode 100644
index 0000000..43c3833
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/geom/VertexLocater.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.geom;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+
+public class VertexLocater
+{
+ public static Coordinate locateVertex(Geometry geom, Coordinate testPt, double tolerance)
+ {
+ VertexLocater finder = new VertexLocater(geom);
+ return finder.getVertex(testPt, tolerance);
+ }
+
+ private Geometry geom;
+ private Coordinate vertexPt;
+ private int vertexIndex = -1;
+
+ public VertexLocater(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public Coordinate getVertex(Coordinate testPt, double tolerance)
+ {
+ NearestVertexFilter filter = new NearestVertexFilter(testPt, tolerance);
+ geom.apply(filter);
+ vertexPt = filter.getVertex();
+ vertexIndex = filter.getIndex();
+ return vertexPt;
+ }
+
+ public int getIndex() { return vertexIndex; }
+
+ public List getLocations(Coordinate testPt, double tolerance)
+ {
+ NearVerticesFilter filter = new NearVerticesFilter(testPt, tolerance);
+ geom.apply(filter);
+ return filter.getLocations();
+ }
+
+
+ static class NearestVertexFilter implements CoordinateSequenceFilter
+ {
+ private double tolerance = 0.0;
+ private Coordinate basePt;
+ private Coordinate nearestPt = null;
+ private int vertexIndex = -1;
+
+ public NearestVertexFilter(Coordinate basePt, double tolerance)
+ {
+ this.basePt = basePt;
+ this.tolerance = tolerance;
+ }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ Coordinate p = seq.getCoordinate(i);
+ double dist = p.distance(basePt);
+ if (dist > tolerance) return;
+
+ nearestPt = p;
+ vertexIndex = i;
+
+ }
+
+ public Coordinate getVertex()
+ {
+ return nearestPt;
+ }
+ public int getIndex() { return vertexIndex; }
+
+ public boolean isDone() { return nearestPt != null; }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+ static class NearVerticesFilter implements CoordinateSequenceFilter
+ {
+ private double tolerance = 0.0;
+ private Coordinate queryPt;
+ private List locations = new ArrayList();
+
+ public NearVerticesFilter(Coordinate queryPt, double tolerance)
+ {
+ this.queryPt = queryPt;
+ this.tolerance = tolerance;
+ }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ Coordinate p = seq.getCoordinate(i);
+ double dist = p.distance(queryPt);
+ if (dist > tolerance) return;
+
+ locations.add(new Location(p, i));
+
+ }
+
+ public List getLocations()
+ {
+ return locations;
+ }
+
+ public boolean isDone()
+ {
+ // evaluate all points
+ return false;
+ }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+
+ public static class Location
+ {
+ private Coordinate pt;
+ private int[] index;
+
+ Location(Coordinate pt, int index)
+ {
+ this.pt = pt;
+ this.index = new int[1];
+ this.index[0] = index;
+ }
+
+ public Coordinate getCoordinate()
+ {
+ return pt;
+ }
+
+ public int[] getIndices() { return index; }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/EndianDataInputStream.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/EndianDataInputStream.java
new file mode 100644
index 0000000..8f2a29f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/EndianDataInputStream.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.BufferedInputStream;
+
+/**
+ * A class that gives most of the functionality of DataInputStream, but is endian aware.
+ * Uses a real java.io.DataInputStream to actually do the writing.
+ */
+public class EndianDataInputStream {
+ private java.io.DataInputStream inputStream;
+ private byte[] workSpace = new byte[8]; //chars are 16 bits, so we always quash the 1st 8 bits
+
+ /** Creates new EndianDataInputStream */
+ public EndianDataInputStream(java.io.InputStream in) {
+ inputStream = new DataInputStream(new BufferedInputStream(in));
+ }
+
+ /** close the stream**/
+ public void close() throws IOException {
+ inputStream.close();
+ }
+
+ /** read a byte in BigEndian - the same as LE because its only 1 byte*/
+ public byte readByteBE() throws IOException {
+ return inputStream.readByte();
+ }
+
+ /** read a byte in LittleEndian - the same as BE because its only 1 byte*/
+ public byte readByteLE() throws IOException {
+ return inputStream.readByte();
+ }
+
+ /** read a byte in LittleEndian - the same as BE because its only 1 byte*/
+ public void readByteLEnum(byte[] b) throws IOException {
+ inputStream.readFully(b);
+ }
+
+
+ /** read a byte in BigEndian - the same as LE because its only 1 byte. returns int as per java.io.DataStream*/
+ public int readUnsignedByteBE() throws IOException {
+ return inputStream.readUnsignedByte();
+ }
+
+ /** read a byte in LittleEndian - the same as BE because its only 1 byte. returns int as per java.io.DataStream*/
+ public int readUnsignedByteLE() throws IOException {
+ return inputStream.readUnsignedByte();
+ }
+
+ /** read a 16bit short in BE*/
+ public short readShortBE() throws IOException {
+ return inputStream.readShort();
+ }
+
+ /** read a 16bit short in LE*/
+ public short readShortLE() throws IOException {
+ inputStream.readFully(workSpace, 0, 2);
+
+ return (short) (((workSpace[1] & 0xff) << 8) | (workSpace[0] & 0xff));
+ }
+
+ /** read a 32bit int in BE*/
+ public int readIntBE() throws IOException {
+ return inputStream.readInt();
+ }
+
+ /** read a 32bit int in LE*/
+ public int readIntLE() throws IOException {
+ inputStream.readFully(workSpace, 0, 4);
+
+ return ((workSpace[3] & 0xff) << 24) | ((workSpace[2] & 0xff) << 16) |
+ ((workSpace[1] & 0xff) << 8) | (workSpace[0] & 0xff);
+ }
+
+ /** read a 64bit long in BE*/
+ public long readLongBE() throws IOException {
+ return inputStream.readLong();
+ }
+
+ /** read a 64bit long in LE*/
+ public long readLongLE() throws IOException {
+ inputStream.readFully(workSpace, 0, 8);
+
+ return ((long) (workSpace[7] & 0xff) << 56) |
+ ((long) (workSpace[6] & 0xff) << 48) |
+ ((long) (workSpace[5] & 0xff) << 40) |
+ ((long) (workSpace[4] & 0xff) << 32) |
+ ((long) (workSpace[3] & 0xff) << 24) |
+ ((long) (workSpace[2] & 0xff) << 16) |
+ ((long) (workSpace[1] & 0xff) << 8) | ((long) (workSpace[0] & 0xff));
+ }
+
+ /** read a 64bit double in BE*/
+ public double readDoubleBE() throws IOException {
+ return inputStream.readDouble();
+ }
+
+ /** read a 64bit double in LE*/
+ public double readDoubleLE() throws IOException {
+ long l;
+
+ inputStream.readFully(workSpace, 0, 8);
+ l = ((long) (workSpace[7] & 0xff) << 56) |
+ ((long) (workSpace[6] & 0xff) << 48) |
+ ((long) (workSpace[5] & 0xff) << 40) |
+ ((long) (workSpace[4] & 0xff) << 32) |
+ ((long) (workSpace[3] & 0xff) << 24) |
+ ((long) (workSpace[2] & 0xff) << 16) |
+ ((long) (workSpace[1] & 0xff) << 8) |
+ ((long) (workSpace[0] & 0xff));
+
+ return Double.longBitsToDouble(l);
+ }
+
+ /** skip ahead in the stream
+ * @param num number of bytes to read ahead
+ */
+ public int skipBytes(int num) throws IOException {
+ return inputStream.skipBytes(num);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/InvalidShapefileException.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/InvalidShapefileException.java
new file mode 100644
index 0000000..a262a05
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/InvalidShapefileException.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+/**
+ * Thrown when an attempt is made to load a shapefile
+ * which contains an error such as an invlaid shape
+ */
+public class InvalidShapefileException extends ShapefileException{
+ public InvalidShapefileException(String s){
+ super(s);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiLineHandler.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiLineHandler.java
new file mode 100644
index 0000000..7514eeb
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiLineHandler.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ * Wrapper for a Shapefile arc.
+ */
+public class MultiLineHandler implements ShapeHandler{
+
+ int myShapeType= -1;
+
+ public MultiLineHandler()
+ {
+ myShapeType = 3;
+ }
+
+ public MultiLineHandler(int type) throws InvalidShapefileException
+ {
+ if ( (type != 3) && (type != 13) && (type != 23) )
+ throw new InvalidShapefileException("MultiLineHandler constructor - expected type to be 3,13 or 23");
+
+ myShapeType = type;
+ }
+
+
+ public Geometry read( EndianDataInputStream file , GeometryFactory geometryFactory, int contentLength) throws IOException,InvalidShapefileException
+ {
+
+ double junk;
+ int actualReadWords = 0; //actual number of words read (word = 16bits)
+
+
+ //file.setLittleEndianMode(true);
+
+ int shapeType = file.readIntLE();
+ actualReadWords += 2;
+
+ if (shapeType ==0)
+ {
+ return new MultiLineString(null,new PrecisionModel(),0); //null shape
+ }
+
+ if (shapeType != myShapeType)
+ {
+ throw new InvalidShapefileException("MultilineHandler.read() - file says its type "+shapeType+" but i'm expecting type "+myShapeType);
+ }
+
+ //read bounding box (not needed)
+ junk = file.readDoubleLE();
+ junk =file.readDoubleLE();
+ junk =file.readDoubleLE();
+ junk =file.readDoubleLE();
+ actualReadWords += 4*4;
+
+
+ int numParts = file.readIntLE();
+ int numPoints = file.readIntLE();//total number of points
+ actualReadWords += 4;
+
+
+ int[] partOffsets = new int[numParts];
+
+ //points = new Coordinate[numPoints];
+
+ for ( int i = 0; i < numParts; i++ ){
+ partOffsets[i]=file.readIntLE();
+ actualReadWords += 2;
+ }
+
+ LineString lines[] = new LineString[numParts];
+ Coordinate[] coords = new Coordinate[numPoints];
+
+ for (int t =0;t<numPoints; t++)
+ {
+ coords[t] = new Coordinate(file.readDoubleLE(),file.readDoubleLE());
+ actualReadWords += 8;
+ }
+
+
+
+ if (myShapeType ==13)
+ {
+ junk =file.readDoubleLE(); //z min, max
+ junk =file.readDoubleLE();
+ actualReadWords += 8;
+
+ for (int t =0;t<numPoints; t++)
+ {
+ coords[t].z = file.readDoubleLE(); //z value
+ actualReadWords += 4;
+ }
+ }
+
+ if (myShapeType >=13)
+ {
+ // int fullLength = 22 + 2*numParts + (numPoints * 8) + 4+4+4*numPoints+ 4+4+4*numPoints;
+ int fullLength;
+ if (myShapeType == 13)
+ {
+ //polylineZ (with M)
+ fullLength = 22 + 2*numParts + (numPoints * 8) + 4+4+4*numPoints+ 4+4+4*numPoints;
+ }
+ else
+ {
+ // polylineM (with M)
+ fullLength = 22 + 2*numParts + (numPoints * 8) + 4+4+4*numPoints;
+ }
+ if (contentLength >= fullLength) //are ms actually there?
+ {
+ junk =file.readDoubleLE(); //m min, max
+ junk =file.readDoubleLE();
+ actualReadWords += 8;
+
+ for (int t =0;t<numPoints; t++)
+ {
+ junk =file.readDoubleLE(); //m value
+ actualReadWords += 4;
+ }
+ }
+ }
+
+ //verify that we have read everything we need
+ while (actualReadWords < contentLength)
+ {
+ int junk2 = file.readShortBE();
+ actualReadWords += 1;
+ }
+
+
+ int offset = 0;
+ int start,finish,length;
+ for(int part=0;part<numParts;part++){
+ start = partOffsets[part];
+ if(part == numParts-1)
+ {
+ finish = numPoints;
+ }
+ else {
+ finish=partOffsets[part+1];
+ }
+ length = finish-start;
+ Coordinate points[] = new Coordinate[length];
+ for(int i=0;i<length;i++){
+ points[i]=coords[offset];
+ offset++;
+ }
+ lines[part] = geometryFactory.createLineString(points);
+
+ }
+ if (numParts ==1)
+ return lines[0];
+ else
+ return geometryFactory.createMultiLineString(lines);
+ }
+
+
+ /**
+ * Get the type of shape stored (Shapefile.ARC)
+ */
+ public int getShapeType(){
+ return myShapeType;
+ }
+
+ public int getLength(Geometry geometry){
+ MultiLineString multi = (MultiLineString) geometry;
+
+ int numlines, numpoints;
+
+ numlines = multi.getNumGeometries();
+ numpoints = multi.getNumPoints();
+
+ if (myShapeType == 3)
+ {
+ return 22 + 2*numlines + (numpoints * 8);
+ }
+ if (myShapeType == 23)
+ {
+ return 22 + 2*numlines + (numpoints * 8) + 4+4+4*numpoints;
+ }
+
+
+ return 22 + 2*numlines + (numpoints * 8) + 4+4+4*numpoints+ 4+4+4*numpoints;
+
+
+ // return 22 + 2*numlines + (numpoints * 8);
+
+ //return (44+(4*((GeometryCollection)geometry).getNumGeometries()));
+ }
+
+
+ double[] zMinMax(Geometry g)
+ {
+ double zmin,zmax;
+ boolean validZFound = false;
+ Coordinate[] cs = g.getCoordinates();
+ double[] result = new double[2];
+
+ zmin = Double.NaN;
+ zmax = Double.NaN;
+ double z;
+
+ for (int t=0;t<cs.length; t++)
+ {
+ z= cs[t].z ;
+ if (!(Double.isNaN( z ) ))
+ {
+ if (validZFound)
+ {
+ if (z < zmin)
+ zmin = z;
+ if (z > zmax)
+ zmax = z;
+ }
+ else
+ {
+ validZFound = true;
+ zmin = z ;
+ zmax = z ;
+ }
+ }
+
+ }
+
+ result[0] = (zmin);
+ result[1] = (zmax);
+ return result;
+
+ }
+
+
+}
+
+/*
+ * $Log: MultiLineHandler.java,v $
+ * Revision 1.1 2009/10/14 04:21:21 mbdavis
+ * added drag-n-drop for reading shp files
+ *
+ * Revision 1.4 2003/07/25 18:49:15 dblasby
+ * Allow "extra" data after the content. Fixes the ICI shapefile bug.
+ *
+ * Revision 1.3 2003/02/04 02:10:37 jaquino
+ * Feature: EditWMSQuery dialog
+ *
+ * Revision 1.2 2003/01/22 18:31:05 jaquino
+ * Enh: Make About Box configurable
+ *
+ * Revision 1.3 2002/10/30 22:36:11 dblasby
+ * Line reader now returns LINESTRING(..) if there is only one part to the arc
+ * polyline.
+ *
+ * Revision 1.2 2002/09/09 20:46:22 dblasby
+ * Removed LEDatastream refs and replaced with EndianData[in/out]putstream
+ *
+ * Revision 1.1 2002/08/27 21:04:58 dblasby
+ * orginal
+ *
+ * Revision 1.2 2002/03/05 10:23:59 jmacgill
+ * made sure geometries were created using the factory methods
+ *
+ * Revision 1.1 2002/02/28 00:38:50 jmacgill
+ * Renamed files to more intuitve names
+ *
+ * Revision 1.3 2002/02/13 00:23:53 jmacgill
+ * First semi working JTS version of Shapefile code
+ *
+ * Revision 1.2 2002/02/11 18:42:45 jmacgill
+ * changed read and write statements so that they produce and take Geometry objects instead of specific MultiLine objects
+ * changed parts[] array name to partOffsets[] for clarity and consistency with ShapePolygon
+ *
+ * Revision 1.1 2002/02/11 16:54:43 jmacgill
+ * added shapefile code and directories
+ *
+ */
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiPointHandler.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiPointHandler.java
new file mode 100644
index 0000000..053bc61
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/MultiPointHandler.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+/*
+ * MultiPointHandler.java
+ *
+ * Created on July 17, 2002, 4:13 PM
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ *
+ * @author dblasby
+ */
+public class MultiPointHandler implements ShapeHandler {
+ int myShapeType= -1;
+
+ /** Creates new MultiPointHandler */
+ public MultiPointHandler() {
+ myShapeType = 8;
+ }
+
+ public MultiPointHandler(int type) throws InvalidShapefileException
+ {
+ if ( (type != 8) && (type != 18) && (type != 28) )
+ throw new InvalidShapefileException("Multipointhandler constructor - expected type to be 8, 18, or 28");
+
+ myShapeType = type;
+ }
+
+ public Geometry read(EndianDataInputStream file,GeometryFactory geometryFactory,int contentLength) throws IOException,InvalidShapefileException{
+ //file.setLittleEndianMode(true);
+
+ int actualReadWords = 0; //actual number of words read (word = 16bits)
+
+ int shapeType = file.readIntLE();
+ actualReadWords += 2;
+
+ if (shapeType ==0)
+ return new MultiPoint(null,new PrecisionModel(),0);
+ if (shapeType != myShapeType)
+ {
+ throw new InvalidShapefileException("Multipointhandler.read() - expected type code "+myShapeType+" but got "+shapeType);
+ }
+ //read bbox
+ file.readDoubleLE();
+ file.readDoubleLE();
+ file.readDoubleLE();
+ file.readDoubleLE();
+
+ actualReadWords += 4*4;
+
+ int numpoints = file.readIntLE();
+ actualReadWords += 2;
+
+ Coordinate[] coords = new Coordinate[numpoints];
+ for (int t=0;t<numpoints;t++)
+ {
+
+ double x = file.readDoubleLE();
+ double y = file.readDoubleLE();
+ actualReadWords += 8;
+ coords[t] = new Coordinate(x,y);
+ }
+ if (myShapeType == 18)
+ {
+ file.readDoubleLE(); //z min/max
+ file.readDoubleLE();
+ actualReadWords += 8;
+ for (int t=0;t<numpoints;t++)
+ {
+ double z = file.readDoubleLE();//z
+ actualReadWords += 4;
+ coords[t].z = z;
+ }
+ }
+
+
+ if (myShapeType >= 18)
+ {
+ // int fullLength = numpoints * 8 + 20 +8 +4*numpoints + 8 +4*numpoints;
+ int fullLength;
+ if (myShapeType == 18)
+ {
+ //multipoint Z (with m)
+ fullLength = 20 + (numpoints * 8) +8 +4*numpoints + 8 +4*numpoints;
+ }
+ else
+ {
+ //multipoint M (with M)
+ fullLength = 20 + (numpoints * 8) +8 +4*numpoints;
+ }
+
+ if (contentLength >= fullLength) //is the M portion actually there?
+ {
+ file.readDoubleLE(); //m min/max
+ file.readDoubleLE();
+ actualReadWords += 8;
+ for (int t=0;t<numpoints;t++)
+ {
+ file.readDoubleLE();//m
+ actualReadWords += 4;
+ }
+ }
+ }
+
+ //verify that we have read everything we need
+ while (actualReadWords < contentLength)
+ {
+ int junk2 = file.readShortBE();
+ actualReadWords += 1;
+ }
+
+ return geometryFactory.createMultiPoint(coords);
+ }
+
+ double[] zMinMax(Geometry g)
+ {
+ double zmin,zmax;
+ boolean validZFound = false;
+ Coordinate[] cs = g.getCoordinates();
+ double[] result = new double[2];
+
+ zmin = Double.NaN;
+ zmax = Double.NaN;
+ double z;
+
+ for (int t=0;t<cs.length; t++)
+ {
+ z= cs[t].z ;
+ if (!(Double.isNaN( z ) ))
+ {
+ if (validZFound)
+ {
+ if (z < zmin)
+ zmin = z;
+ if (z > zmax)
+ zmax = z;
+ }
+ else
+ {
+ validZFound = true;
+ zmin = z ;
+ zmax = z ;
+ }
+ }
+
+ }
+
+ result[0] = (zmin);
+ result[1] = (zmax);
+ return result;
+
+ }
+
+
+
+ /**
+ * Returns the shapefile shape type value for a point
+ * @return int Shapefile.POINT
+ */
+ public int getShapeType(){
+ return myShapeType;
+ }
+
+ /**
+ * Calcuates the record length of this object.
+ * @return int The length of the record that this shapepoint will take up in a shapefile
+ **/
+ public int getLength(Geometry geometry){
+ MultiPoint mp = (MultiPoint) geometry;
+
+ if (myShapeType == 8)
+ return mp.getNumGeometries() * 8 + 20;
+ if (myShapeType == 28)
+ return mp.getNumGeometries() * 8 + 20 +8 +4*mp.getNumGeometries();
+
+ return mp.getNumGeometries() * 8 + 20 +8 +4*mp.getNumGeometries() + 8 +4*mp.getNumGeometries() ;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PointHandler.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PointHandler.java
new file mode 100644
index 0000000..1c0974d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PointHandler.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.*;
+
+
+/**
+ * Wrapper for a Shapefile point.
+ */
+public class PointHandler implements ShapeHandler{
+
+ int Ncoords=2; //2 = x,y ; 3= x,y,m ; 4 = x,y,z,m
+ int myShapeType = -1;
+
+ public PointHandler(int type) throws InvalidShapefileException
+ {
+ if ( (type != 1) && (type != 11) && (type != 21))// 2d, 2d+m, 3d+m
+ throw new InvalidShapefileException("PointHandler constructor: expected a type of 1, 11 or 21");
+ myShapeType = type;
+ }
+
+ public PointHandler()
+ {
+ myShapeType = 1; //2d
+ }
+
+ public Geometry read(EndianDataInputStream file,GeometryFactory geometryFactory,int contentLength) throws IOException,InvalidShapefileException
+ {
+ // file.setLittleEndianMode(true);
+ int actualReadWords = 0; //actual number of words read (word = 16bits)
+
+ int shapeType = file.readIntLE();
+ actualReadWords += 2;
+
+ if (shapeType != myShapeType)
+ throw new InvalidShapefileException("pointhandler.read() - handler's shapetype doesnt match file's");
+
+ double x = file.readDoubleLE();
+ double y = file.readDoubleLE();
+ double m , z = Double.NaN;
+ actualReadWords += 8;
+
+ if ( shapeType ==11 )
+ {
+ z= file.readDoubleLE();
+ actualReadWords += 4;
+ }
+ if ( shapeType >=11 )
+ {
+ m = file.readDoubleLE();
+ actualReadWords += 4;
+ }
+
+ //verify that we have read everything we need
+ while (actualReadWords < contentLength)
+ {
+ int junk2 = file.readShortBE();
+ actualReadWords += 1;
+ }
+
+ return geometryFactory.createPoint(new Coordinate(x,y,z));
+ }
+
+
+ /**
+ * Returns the shapefile shape type value for a point
+ * @return int Shapefile.POINT
+ */
+ public int getShapeType(){
+ return myShapeType;
+ }
+
+ /**
+ * Calcuates the record length of this object.
+ * @return int The length of the record that this shapepoint will take up in a shapefile
+ **/
+ public int getLength(Geometry geometry){
+ if (myShapeType == Shapefile.POINT)
+ return 10;
+ if (myShapeType == Shapefile.POINTM)
+ return 14;
+
+ return 18;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PolygonHandler.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PolygonHandler.java
new file mode 100644
index 0000000..fc6b29c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/PolygonHandler.java
@@ -0,0 +1,421 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+
+
+/**
+ * Wrapper for a Shapefile polygon.
+ */
+public class PolygonHandler implements ShapeHandler{
+ int myShapeType;
+
+ public PolygonHandler()
+ {
+ myShapeType = 5;
+ }
+
+ public PolygonHandler(int type) throws InvalidShapefileException
+ {
+ if ( (type != 5) && (type != 15) && (type != 25) )
+ throw new InvalidShapefileException("PolygonHandler constructor - expected type to be 5, 15, or 25.");
+
+ myShapeType = type;
+ }
+
+ //returns true if testPoint is a point in the pointList list.
+ boolean pointInList(Coordinate testPoint, Coordinate[] pointList)
+ {
+ int t, numpoints;
+ Coordinate p;
+
+ numpoints = Array.getLength( pointList) ;
+ for (t=0;t<numpoints; t++)
+ {
+ p = pointList[t];
+ if ( (testPoint.x == p.x) && (testPoint.y == p.y) &&
+ ((testPoint.z == p.z) || (!(testPoint.z == testPoint.z)) ) //nan test; x!=x iff x is nan
+ )
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public Geometry read( EndianDataInputStream file , GeometryFactory geometryFactory, int contentLength)
+ throws IOException, InvalidShapefileException
+ {
+
+ int actualReadWords = 0; //actual number of words read (word = 16bits)
+
+ // file.setLittleEndianMode(true);
+ int shapeType = file.readIntLE();
+ actualReadWords += 2;
+
+ if (shapeType ==0)
+ {
+ return new MultiPolygon(null,new PrecisionModel(),0); //null shape
+ }
+
+ if ( shapeType != myShapeType ) {
+ throw new InvalidShapefileException
+ ("PolygonHandler.read() - got shape type "+shapeType+" but was expecting "+myShapeType);
+ }
+
+ //bounds
+ file.readDoubleLE();
+ file.readDoubleLE();
+ file.readDoubleLE();
+ file.readDoubleLE();
+
+ actualReadWords += 4*4;
+
+
+ int partOffsets[];
+
+ int numParts = file.readIntLE();
+ int numPoints = file.readIntLE();
+ actualReadWords += 4;
+
+ partOffsets = new int[numParts];
+
+ for(int i = 0;i<numParts;i++){
+ partOffsets[i]=file.readIntLE();
+ actualReadWords += 2;
+ }
+
+ //LinearRing[] rings = new LinearRing[numParts];
+ ArrayList shells = new ArrayList();
+ ArrayList holes = new ArrayList();
+ Coordinate[] coords = new Coordinate[numPoints];
+
+ for(int t=0;t<numPoints;t++)
+ {
+ coords[t]= new Coordinate(file.readDoubleLE(),file.readDoubleLE());
+ actualReadWords += 8;
+ }
+
+ if (myShapeType == 15)
+ {
+ //z
+ file.readDoubleLE(); //zmin
+ file.readDoubleLE(); //zmax
+ actualReadWords += 8;
+ for(int t=0;t<numPoints;t++)
+ {
+ coords[t].z = file.readDoubleLE();
+ actualReadWords += 4;
+ }
+ }
+
+ if (myShapeType >= 15)
+ {
+ // int fullLength = 22 + (2*numParts) + (8*numPoints) + 8 + (4*numPoints)+ 8 + (4*numPoints);
+ int fullLength;
+ if (myShapeType == 15)
+ {
+ //polyZ (with M)
+ fullLength = 22 + (2*numParts) + (8*numPoints) + 8 + (4*numPoints)+ 8 + (4*numPoints);
+ }
+ else
+ {
+ //polyM (with M)
+ fullLength = 22 + (2*numParts) + (8*numPoints) + 8+ (4*numPoints) ;
+ }
+ if (contentLength >= fullLength)
+ {
+ file.readDoubleLE(); //mmin
+ file.readDoubleLE(); //mmax
+ actualReadWords += 8;
+ for(int t=0;t<numPoints;t++)
+ {
+ file.readDoubleLE();
+ actualReadWords += 4;
+ }
+ }
+ }
+
+
+ //verify that we have read everything we need
+ while (actualReadWords < contentLength)
+ {
+ int junk = file.readShortBE();
+ actualReadWords += 1;
+ }
+
+
+ int offset = 0;
+ int start,finish,length;
+ for(int part=0;part<numParts;part++){
+ start = partOffsets[part];
+ if(part == numParts-1){finish = numPoints;}
+ else {
+ finish=partOffsets[part+1];
+ }
+ length = finish-start;
+ Coordinate points[] = new Coordinate[length];
+ for(int i=0;i<length;i++){
+ points[i]=coords[offset];
+ offset++;
+ }
+ LinearRing ring = geometryFactory.createLinearRing(points);
+ if(Orientation.isCCW(points)){
+ holes.add(ring);
+ }
+ else{
+ shells.add(ring);
+ }
+ }
+
+ ArrayList holesForShells = assignHolesToShells(shells, holes);
+
+ Polygon[] polygons = new Polygon[shells.size()];
+ for (int i = 0; i < shells.size(); i++) {
+ polygons[i] = geometryFactory.createPolygon((LinearRing) shells.get(i),
+ (LinearRing[]) ((ArrayList) holesForShells.get(i))
+ .toArray(new LinearRing[0]));
+ }
+
+ if (polygons.length == 1) {
+ return polygons[0];
+ }
+
+ holesForShells = null;
+ shells = null;
+ holes = null;
+ // its a multi part
+
+ Geometry result = geometryFactory.createMultiPolygon(polygons);
+ // if (!(result.isValid() ))
+ // System.out.println("geom isnt valid");
+ return result;
+ }
+
+ private ArrayList assignHolesToShells(ArrayList shells, ArrayList holes)
+ {
+ // now we have a list of all shells and all holes
+ ArrayList holesForShells = new ArrayList(shells.size());
+ for (int i = 0; i < shells.size(); i++) {
+ holesForShells.add(new ArrayList());
+ }
+
+ // find homes
+ for (int i = 0; i < holes.size(); i++) {
+ LinearRing testHole = (LinearRing) holes.get(i);
+ LinearRing minShell = null;
+ Envelope minEnv = null;
+ Envelope testHoleEnv = testHole.getEnvelopeInternal();
+ Coordinate testHolePt = testHole.getCoordinateN(0);
+ LinearRing tryShell;
+ int nShells = shells.size();
+ for (int j = 0; j < nShells; j++) {
+ tryShell = (LinearRing) shells.get(j);
+ Envelope tryShellEnv = tryShell.getEnvelopeInternal();
+ if (! tryShellEnv.contains(testHoleEnv)) continue;
+
+ boolean isContained = false;
+ Coordinate[] coordList = tryShell.getCoordinates();
+
+ if (nShells <= 1
+ || PointLocation.isInRing(testHolePt, coordList)
+ || pointInList(testHolePt, coordList))
+ isContained = true;
+
+ // check if new containing ring is smaller than the current minimum ring
+ if (minShell != null)
+ minEnv = minShell.getEnvelopeInternal();
+ if (isContained) {
+ if (minShell == null || minEnv.contains(tryShellEnv)) {
+ minShell = tryShell;
+ }
+ }
+ }
+
+ if (minShell == null) {
+ System.err.println("Found polygon with a hole not inside a shell");
+ }
+ else {
+ // ((ArrayList)holesForShells.get(shells.indexOf(minShell))).add(testRing);
+ ((ArrayList) holesForShells.get(findIndex(shells, minShell)))
+ .add(testHole);
+ }
+ }
+ return holesForShells;
+ }
+
+ /**
+ * Finds a object in a list. Should be much faster than indexof
+ *
+ * @param list
+ * @param o
+ * @return
+ */
+ private static int findIndex(ArrayList list, Object o)
+ {
+ int n = list.size();
+ for (int i = 0; i < n; i++) {
+ if (list.get(i) == o)
+ return i;
+ }
+ return -1;
+ }
+
+
+ public int getShapeType(){
+ return myShapeType;
+ }
+ public int getLength(Geometry geometry){
+
+ MultiPolygon multi;
+ if(geometry instanceof MultiPolygon){
+ multi = (MultiPolygon)geometry;
+ }
+ else{
+ multi = new MultiPolygon(new Polygon[]{(Polygon)geometry},geometry.getPrecisionModel(),geometry.getSRID());
+ }
+
+ int nrings=0;
+
+ for (int t=0;t<multi.getNumGeometries();t++)
+ {
+ Polygon p;
+ p = (Polygon) multi.getGeometryN(t);
+ nrings = nrings + 1 + p.getNumInteriorRing();
+ }
+
+ int npoints = multi.getNumPoints();
+
+ if (myShapeType == 15)
+ {
+ return 22+(2*nrings)+8*npoints + 4*npoints+8 +4*npoints+8;
+ }
+ if (myShapeType==25)
+ {
+ return 22+(2*nrings)+8*npoints + 4*npoints+8 ;
+ }
+
+
+ return 22+(2*nrings)+8*npoints;
+ }
+
+
+ double[] zMinMax(Geometry g)
+ {
+ double zmin,zmax;
+ boolean validZFound = false;
+ Coordinate[] cs = g.getCoordinates();
+ double[] result = new double[2];
+
+ zmin = Double.NaN;
+ zmax = Double.NaN;
+ double z;
+
+ for (int t=0;t<cs.length; t++)
+ {
+ z= cs[t].z ;
+ if (!(Double.isNaN( z ) ))
+ {
+ if (validZFound)
+ {
+ if (z < zmin)
+ zmin = z;
+ if (z > zmax)
+ zmax = z;
+ }
+ else
+ {
+ validZFound = true;
+ zmin = z ;
+ zmax = z ;
+ }
+ }
+
+ }
+
+ result[0] = (zmin);
+ result[1] = (zmax);
+ return result;
+
+ }
+
+
+}
+
+/*
+ * $Log: PolygonHandler.java,v $
+ * Revision 1.1 2009/10/14 04:21:22 mbdavis
+ * added drag-n-drop for reading shp files
+ *
+ * Revision 1.5 2003/09/23 17:15:26 dblasby
+ * *** empty log message ***
+ *
+ * Revision 1.4 2003/07/25 18:49:15 dblasby
+ * Allow "extra" data after the content. Fixes the ICI shapefile bug.
+ *
+ * Revision 1.3 2003/02/04 02:10:37 jaquino
+ * Feature: EditWMSQuery dialog
+ *
+ * Revision 1.2 2003/01/22 18:31:05 jaquino
+ * Enh: Make About Box configurable
+ *
+ * Revision 1.2 2002/09/09 20:46:22 dblasby
+ * Removed LEDatastream refs and replaced with EndianData[in/out]putstream
+ *
+ * Revision 1.1 2002/08/27 21:04:58 dblasby
+ * orginal
+ *
+ * Revision 1.3 2002/03/05 10:51:01 andyt
+ * removed use of factory from write method
+ *
+ * Revision 1.2 2002/03/05 10:23:59 jmacgill
+ * made sure geometries were created using the factory methods
+ *
+ * Revision 1.1 2002/02/28 00:38:50 jmacgill
+ * Renamed files to more intuitve names
+ *
+ * Revision 1.4 2002/02/13 00:23:53 jmacgill
+ * First semi working JTS version of Shapefile code
+ *
+ * Revision 1.3 2002/02/11 18:44:22 jmacgill
+ * replaced geometry constructions with calls to geometryFactory.createX methods
+ *
+ * Revision 1.2 2002/02/11 18:28:41 jmacgill
+ * rewrote to have static read and write methods
+ *
+ * Revision 1.1 2002/02/11 16:54:43 jmacgill
+ * added shapefile code and directories
+ *
+ */
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeHandler.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeHandler.java
new file mode 100644
index 0000000..1a94541
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeHandler.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+
+public interface ShapeHandler {
+ public int getShapeType();
+ public Geometry read(EndianDataInputStream file,GeometryFactory geometryFactory,int contentLength) throws java.io.IOException,InvalidShapefileException;
+ public int getLength(Geometry geometry); //length in 16bit words
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeTypeNotSupportedException.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeTypeNotSupportedException.java
new file mode 100644
index 0000000..df65831
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapeTypeNotSupportedException.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+/**
+ * Thrown when an attempt is made to load a shapefile
+ * which contains a shape type that is not supported
+ * by the loader
+ */
+public class ShapeTypeNotSupportedException extends ShapefileException{
+ public ShapeTypeNotSupportedException(String s){
+ super(s);
+ }
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/Shapefile.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/Shapefile.java
new file mode 100644
index 0000000..2f05c94
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/Shapefile.java
@@ -0,0 +1,334 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.*;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.*;
+
+
+
+
+
+public class Shapefile
+{
+
+
+ static final int SHAPEFILE_ID = 9994;
+ static final int VERSION = 1000;
+
+ public static final int NULL = 0;
+ public static final int POINT = 1;
+ public static final int POINTZ = 11;
+ public static final int POINTM = 21;
+ public static final int ARC = 3;
+ public static final int ARCM = 23;
+ public static final int ARCZ = 13;
+ public static final int POLYGON = 5;
+ public static final int POLYGONM = 25;
+ public static final int POLYGONZ = 15;
+ public static final int MULTIPOINT = 8;
+ public static final int MULTIPOINTM = 28;
+ public static final int MULTIPOINTZ = 18;
+ public static final int UNDEFINED = -1;
+ //Types 2,4,6,7 and 9 were undefined at time or writeing
+
+ public static final int XY = 2;
+ public static final int XYM = 3;
+ public static final int XYZM = 4;
+
+ private URL baseURL;
+ private InputStream myInputStream;
+ private GeometryFactory geomFactory;
+
+ /**
+ * Creates and initialises a shapefile from a url
+ * @param url The url of the shapefile
+ */
+ public Shapefile(URL url){
+ baseURL=url;
+ myInputStream= null;
+ try {
+ URLConnection uc = baseURL.openConnection();
+ myInputStream = new BufferedInputStream(uc.getInputStream());
+ }
+ catch (Exception e)
+ {
+ }
+ }
+
+ public Shapefile(InputStream IS){
+ myInputStream = IS;
+ }
+
+
+ private EndianDataInputStream getInputStream() throws IOException
+ {
+ if (myInputStream == null)
+ {
+ throw new IOException("Could not make a connection to the URL: " + baseURL);
+ }
+ EndianDataInputStream sfile = new EndianDataInputStream(myInputStream);
+ return sfile;
+ }
+
+
+ /**
+ * Initialises a shapefile from disk.
+ * Use Shapefile(String) if you don't want to use LEDataInputStream directly (recomened)
+ */
+ public GeometryCollection read(GeometryFactory geometryFactory) throws IOException,ShapefileException,Exception{
+ EndianDataInputStream file = getInputStream();
+ if(file==null) throw new IOException("Failed connection or no content for "+baseURL);
+ ShapefileHeader mainHeader = new ShapefileHeader(file);
+ if(mainHeader.getVersion() < VERSION){System.err.println("Sf-->Warning, Shapefile format ("+mainHeader.getVersion()+") older that supported ("+VERSION+"), attempting to read anyway");}
+ if(mainHeader.getVersion() > VERSION){System.err.println("Sf-->Warning, Shapefile format ("+mainHeader.getVersion()+") newer that supported ("+VERSION+"), attempting to read anyway");}
+
+ Geometry body;
+ ArrayList list = new ArrayList();
+ int type=mainHeader.getShapeType();
+ ShapeHandler handler = getShapeHandler(type);
+ if(handler==null)throw new ShapeTypeNotSupportedException("Unsuported shape type:"+type);
+
+ int recordNumber=0;
+ int contentLength=0;
+ try{
+ while(true){
+ // file.setLittleEndianMode(false);
+ recordNumber=file.readIntBE();
+ contentLength=file.readIntBE();
+ try{
+ body = handler.read(file,geometryFactory,contentLength);
+ list.add(body);
+ // System.out.println("Done record: " + recordNumber);
+ }catch(IllegalArgumentException r2d2){
+ //System.out.println("Record " +recordNumber+ " has is NULL Shape");
+ list.add(new GeometryCollection(null,null,-1));
+ }catch(Exception c3p0){
+ System.out.println("Error processing record (a):" +recordNumber);
+ System.out.println(c3p0.getMessage());
+ c3p0.printStackTrace();
+ list.add(new GeometryCollection(null,null,-1));
+ }
+ // System.out.println("processing:" +recordNumber);
+ }
+ }catch(EOFException e){
+
+ }
+ return geometryFactory.createGeometryCollection((Geometry[])list.toArray(new Geometry[]{}));
+ }
+
+ private EndianDataInputStream file;
+ private ShapefileHeader mainHeader;
+ private ShapeHandler handler;
+ private int recordNumber;
+
+ /**
+ * Initialises a shapefile from disk.
+ * Use Shapefile(String) if you don't want to use LEDataInputStream directly (recomened)
+ */
+ public void readStream(GeometryFactory geometryFactory)
+ throws IOException,ShapefileException,Exception
+ {
+ geomFactory = geometryFactory;
+ file = getInputStream();
+ if(file==null) throw new IOException("Failed connection or no content for "+baseURL);
+ mainHeader = new ShapefileHeader(file);
+ if(mainHeader.getVersion() < VERSION){System.err.println("Sf-->Warning, Shapefile format ("+mainHeader.getVersion()+") older that supported ("+VERSION+"), attempting to read anyway");}
+ if(mainHeader.getVersion() > VERSION){System.err.println("Sf-->Warning, Shapefile format ("+mainHeader.getVersion()+") newer that supported ("+VERSION+"), attempting to read anyway");}
+
+ //ArrayList list = new ArrayList();
+ int type=mainHeader.getShapeType();
+ handler = getShapeHandler(type);
+ if(handler==null)throw new ShapeTypeNotSupportedException("Unsuported shape type:"+type);
+
+ recordNumber=0;
+ }
+
+ /**
+ * Returns the next geometry in the shapefile stream
+ * @return null at EOF
+ * @throws IOException
+ */
+ public Geometry next()
+ throws IOException
+ {
+ Geometry geom = null;
+ try{
+ // file.setLittleEndianMode(false);
+ recordNumber=file.readIntBE();
+ int contentLength=file.readIntBE();
+ try{
+ geom = handler.read(file,geomFactory,contentLength);
+ // System.out.println("Done record: " + recordNumber);
+ }catch(IllegalArgumentException r2d2){
+ //System.out.println("Record " +recordNumber+ " has is NULL Shape");
+ geom = new GeometryCollection(null,null,-1);
+ }catch(Exception c3p0){
+ System.out.println("Error processing record (a):" +recordNumber);
+ System.out.println(c3p0.getMessage());
+ c3p0.printStackTrace();
+ geom = new GeometryCollection(null,null,-1);
+ }
+ // System.out.println("processing:" +recordNumber);
+ }
+ catch(EOFException e){
+ close();
+ }
+ return geom;
+ }
+
+ public void close()
+ throws IOException
+ {
+ file.close();
+ }
+
+ //ShapeFileDimentions => 2=x,y ; 3=x,y,m ; 4=x,y,z,m
+
+
+
+ /**
+ * Returns a string for the shape type of index.
+ * @param index An int coresponding to the shape type to be described
+ * @return A string descibing the shape type
+ */
+ public static String getShapeTypeDescription(int index){
+ switch(index){
+ case(NULL):return ("Null");
+ case(POINT):return ("Points");
+ case(POINTZ):return ("Points Z");
+ case(POINTM):return ("Points M");
+ case(ARC):return ("Arcs");
+ case(ARCM):return ("ArcsM");
+ case(ARCZ):return ("ArcsM");
+ case(POLYGON):return ("Polygon");
+ case(POLYGONM):return ("PolygonM");
+ case(POLYGONZ):return ("PolygonZ");
+ case(MULTIPOINT):return ("Multipoint");
+ case(MULTIPOINTM):return ("MultipointM");
+ case(MULTIPOINTZ):return ("MultipointZ");
+ default:return ("Undefined");
+ }
+ }
+
+ public static ShapeHandler getShapeHandler(Geometry geom, int ShapeFileDimentions ) throws Exception
+ {
+ return getShapeHandler(getShapeType(geom,ShapeFileDimentions));
+ }
+
+ public static ShapeHandler getShapeHandler(int type) throws Exception
+ {
+ switch(type){
+ case Shapefile.POINT: return new PointHandler();
+ case Shapefile.POINTZ: return new PointHandler(Shapefile.POINTZ);
+ case Shapefile.POINTM: return new PointHandler(Shapefile.POINTM);
+ case Shapefile.POLYGON: return new PolygonHandler();
+ case Shapefile.POLYGONM: return new PolygonHandler(Shapefile.POLYGONM);
+ case Shapefile.POLYGONZ: return new PolygonHandler(Shapefile.POLYGONZ);
+ case Shapefile.ARC: return new MultiLineHandler();
+ case Shapefile.ARCM: return new MultiLineHandler(Shapefile.ARCM);
+ case Shapefile.ARCZ: return new MultiLineHandler(Shapefile.ARCZ);
+ case Shapefile.MULTIPOINT: return new MultiPointHandler();
+ case Shapefile.MULTIPOINTM: return new MultiPointHandler(Shapefile.MULTIPOINTM);
+ case Shapefile.MULTIPOINTZ: return new MultiPointHandler(Shapefile.MULTIPOINTZ);
+ }
+ return null;
+ }
+
+ //ShapeFileDimentions => 2=x,y ; 3=x,y,m ; 4=x,y,z,m
+ public static int getShapeType(Geometry geom, int coordDimension ) throws ShapefileException
+ {
+
+ if ( (coordDimension !=2) && (coordDimension !=3) && (coordDimension !=4) )
+ {
+ throw new ShapefileException("invalid ShapeFileDimentions for getShapeType - expected 2,3,or 4 but got "+coordDimension+" (2=x,y ; 3=x,y,m ; 4=x,y,z,m)");
+ //ShapeFileDimentions = 2;
+ }
+
+
+ if(geom instanceof Point)
+ {
+ switch (coordDimension)
+ {
+ case 2: return Shapefile.POINT;
+ case 3: return Shapefile.POINTM;
+ case 4: return Shapefile.POINTZ;
+ }
+ }
+ if(geom instanceof MultiPoint)
+ {
+ switch (coordDimension)
+ {
+ case 2: return Shapefile.MULTIPOINT;
+ case 3: return Shapefile.MULTIPOINTM;
+ case 4: return Shapefile.MULTIPOINTZ;
+ }
+ }
+ if ( (geom instanceof Polygon) || (geom instanceof MultiPolygon) )
+ {
+ switch (coordDimension)
+ {
+ case 2: return Shapefile.POLYGON;
+ case 3: return Shapefile.POLYGONM;
+ case 4: return Shapefile.POLYGONZ;
+ }
+ }
+ if ( (geom instanceof LineString) || (geom instanceof MultiLineString) )
+ {
+ switch (coordDimension)
+ {
+ case 2: return Shapefile.ARC;
+ case 3: return Shapefile.ARCM;
+ case 4: return Shapefile.ARCZ;
+ }
+ }
+ return Shapefile.UNDEFINED;
+ }
+
+ public synchronized void readIndex(InputStream is) throws IOException {
+ EndianDataInputStream file = null;
+ try{
+ BufferedInputStream in = new BufferedInputStream(is);
+ file = new EndianDataInputStream(in);
+ }catch(Exception e){System.err.println(e);}
+ ShapefileHeader head = new ShapefileHeader(file);
+
+ int pos=0,len=0;
+ //file.setLittleEndianMode(false);
+ file.close();
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileException.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileException.java
new file mode 100644
index 0000000..f9a904d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileException.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+/**
+ * Thrown when an error relating to the shapefile
+ * occures
+ */
+public class ShapefileException extends Exception{
+ public ShapefileException(){
+ super();
+ }
+ public ShapefileException(String s){
+ super(s);
+ }
+}
+
+
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileHeader.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileHeader.java
new file mode 100644
index 0000000..4707e05
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/io/shapefile/ShapefileHeader.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2003 Open Source Geospatial Foundation, All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the terms
+ * of the OSGeo BSD License v1.0 available at:
+ *
+ * https://www.osgeo.org/sites/osgeo.org/files/Page/osgeo-bsd-license.txt
+ */
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+/*
+ * Header.java
+ *
+ * Created on February 12, 2002, 3:29 PM
+ */
+
+package org.locationtech.jtstest.testbuilder.io.shapefile;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryCollection;
+
+
+/**
+ *
+ * @author jamesm
+ */
+public class ShapefileHeader{
+ private final static boolean DEBUG=false;
+ private int fileCode = -1;
+ public int fileLength = -1;
+ private int indexLength = -1;
+ private int version = -1;
+ private int shapeType = -1;
+ //private double[] bounds = new double[4];
+ private Envelope bounds;
+
+ public ShapefileHeader(EndianDataInputStream file) throws IOException {
+ // file.setLittleEndianMode(false);
+ fileCode = file.readIntBE();
+ // if(DEBUG)System.out.println("Sfh->Filecode "+fileCode);
+ if ( fileCode != Shapefile.SHAPEFILE_ID )
+ System.err.println("Sfh->WARNING filecode "+fileCode+" not a match for documented shapefile code "+Shapefile.SHAPEFILE_ID);
+
+ for(int i=0;i<5;i++){
+ int tmp = file.readIntBE();
+ // if(DEBUG)System.out.println("Sfh->blank "+tmp);
+ }
+ fileLength = file.readIntBE();
+
+ // file.setLittleEndianMode(true);
+ version=file.readIntLE();
+ shapeType=file.readIntLE();
+
+ //read in and for now ignore the bounding box
+ for(int i = 0;i<4;i++){
+ file.readDoubleLE();
+ }
+
+ //skip remaining unused bytes
+ // file.setLittleEndianMode(false);//well they may not be unused forever...
+ file.skipBytes(32);
+ }
+
+ public ShapefileHeader(GeometryCollection geometries,int dims) throws Exception
+ {
+ ShapeHandler handle;
+ if (geometries.getNumGeometries() == 0)
+ {
+ handle = new PointHandler(); //default
+ }
+ else
+ {
+ handle = Shapefile.getShapeHandler(geometries.getGeometryN(0),dims);
+ }
+ int numShapes = geometries.getNumGeometries();
+ shapeType = handle.getShapeType();
+ version = Shapefile.VERSION;
+ fileCode = Shapefile.SHAPEFILE_ID;
+ bounds = geometries.getEnvelopeInternal();
+ fileLength = 0;
+ for(int i=0;i<numShapes;i++){
+ fileLength+=handle.getLength(geometries.getGeometryN(i));
+ fileLength+=4;//for each header
+ }
+ fileLength+=50;//space used by this, the main header
+ indexLength = 50+(4*numShapes);
+ }
+
+ public void setFileLength(int fileLength){
+ this.fileLength = fileLength;
+ }
+
+ public int getShapeType(){
+ return shapeType;
+ }
+
+ public int getVersion(){
+ return version;
+ }
+
+ public Envelope getBounds(){
+ return bounds;
+ }
+
+ public String toString() {
+ String res = new String("Sf-->type "+fileCode+" size "+fileLength+" version "+ version + " Shape Type "+shapeType);
+ return res;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DisplayParameters.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DisplayParameters.java
new file mode 100644
index 0000000..22b6d89
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DisplayParameters.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jtstest.testbuilder.AppConstants;
+
+public class DisplayParameters {
+
+ protected static boolean showingGrid = true;
+ protected static boolean showingStructure = false;
+ protected static boolean showingOrientation = false;
+ protected static boolean showingVertices = true;
+ protected static boolean showingLabel = true;
+ protected static boolean showingCoordinates = true;
+ protected static boolean isMagnifyingTopology = false;
+ protected static double topologyStretchSize = AppConstants.TOPO_STRETCH_VIEW_DIST;
+
+ public static boolean isShowingStructure() {
+ return showingStructure;
+ }
+
+ public static void setShowingStructure(boolean show) {
+ showingStructure = show;
+ }
+
+ public static boolean isShowingOrientation() {
+ return showingOrientation;
+ }
+
+ public static void setShowingOrientation(boolean show) {
+ showingOrientation = show;
+ }
+
+ public static boolean isShowingGrid() {
+ return showingGrid;
+ }
+
+ public static void setShowingGrid(boolean show) {
+ showingGrid = show;
+ }
+
+ public static boolean isShowingVertices() {
+ return showingVertices;
+ }
+
+ public static void setShowingVertices(boolean show) {
+ showingVertices = show;
+ }
+
+ public static void setShowingLabel(boolean show) {
+ showingLabel = show;
+ }
+
+ public static boolean isShowingLabel() {
+ return showingLabel;
+ }
+
+ public static boolean isMagnifyingTopology() {
+ return isMagnifyingTopology;
+ }
+
+ public static void setMagnifyingTopology(boolean show) {
+ isMagnifyingTopology = show;
+ }
+
+ public static void setTopologyStretchSize(double pixels) {
+ topologyStretchSize = pixels;
+ }
+
+ public static double getTopologyStretchSize() {
+ return topologyStretchSize;
+ }
+
+ public static int MAX_DISPLAY_POINTS = 2000;
+
+ public static final int FILL_BASIC = 1;
+ public static final int FILL_VARY = 2;
+ public static final int FILL_RAINBOW = 3;
+ public static final int FILL_RAINBOW_RANDOM = 4;
+
+ private static int fillType = FILL_BASIC;
+
+ public static int fillType() {
+ return fillType;
+ }
+
+ public static void setFillType(int type) {
+ fillType = type;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DrawingGrid.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DrawingGrid.java
new file mode 100644
index 0000000..8e626af
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/DrawingGrid.java
@@ -0,0 +1,88 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.geom.Point2D;
+
+
+/**
+ * @version 1.7
+ */
+public class DrawingGrid
+{
+ public static int DEFAULT_GRID_SIZE = 10;
+
+ public static final int GRID_MAJOR_FACTOR = 1;
+
+ private double gridSize = DEFAULT_GRID_SIZE;
+ private int numGridUnits;
+
+ public DrawingGrid(int gridSize)
+ {
+ setGridSize(gridSize);
+ }
+
+ public DrawingGrid()
+ {
+ this(DEFAULT_GRID_SIZE);
+ }
+
+ public Point2D snapToGrid(Point2D modelPoint)
+ {
+ return snapToGrid(modelPoint, 1);
+ }
+
+ public Point2D snapToMajorGrid(Point2D modelPoint)
+ {
+ return snapToGrid(modelPoint, GRID_MAJOR_FACTOR);
+ }
+
+ public Point2D snapToGrid(Point2D modelPoint, int factor)
+ {
+ double rx, ry;
+ int numUnits = factor * numGridUnits;
+
+ if (isFractional()) {
+ rx = Math.floor(modelPoint.getX() * numUnits + .5) / numUnits;
+ ry = Math.floor(modelPoint.getY() * numUnits + .5) / numUnits;
+ }
+ else {
+ rx = Math.floor(modelPoint.getX()/numUnits + .5) * numUnits;
+ ry = Math.floor(modelPoint.getY()/numUnits + .5) * numUnits;
+ }
+ return new Point2D.Double(rx, ry);
+ }
+
+ public void setGridSize(double gridSize)
+ {
+ this.gridSize = gridSize;
+ numGridUnits = (int) Math.floor(gridSize);
+ if (isFractional()) {
+ numGridUnits = (int) Math.floor(1.0 / gridSize);
+ }
+ }
+
+ public boolean isFractional()
+ {
+ return gridSize < 1.0;
+ }
+
+ public double getGridSize () {
+ return gridSize;
+ }
+
+ public boolean isResolvable(Point2D p1, Point2D p2)
+ {
+ return p2.getX() - p1.getX() < getGridSize();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryContainer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryContainer.java
new file mode 100644
index 0000000..657bea2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryContainer.java
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.*;
+
+public interface GeometryContainer {
+ Geometry getGeometry();
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryDepiction.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryDepiction.java
new file mode 100644
index 0000000..1b0196a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryDepiction.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.Color;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryDepiction
+{
+
+ public static final Color GEOM_A_HIGHLIGHT_CLR = new Color(0, 0, 255);
+ public static final Color GEOM_A_LINE_CLR = new Color(0, 0, 255, 150);
+ public static final Color GEOM_A_FILL_CLR = new Color(200, 200, 255, 150);
+
+ public static final Color GEOM_B_HIGHLIGHT_CLR = new Color(255, 0, 0);
+ public static final Color GEOM_B_LINE_CLR = new Color(150, 0, 0, 150);
+ public static final Color GEOM_B_FILL_CLR = new Color(255, 200, 200, 150);
+
+ // YellowGreen
+ public static final Color GEOM_RESULT_LINE_CLR = new Color(120, 180, 0, 200);
+ // Yellow
+ public static final Color GEOM_RESULT_FILL_CLR = new Color(255, 255, 100, 100);
+
+ public static final GeometryDepiction RESULT = new GeometryDepiction(
+ new Color(154, 205, 0, 150),
+ new Color(255, 255, 100, 100),
+ // Yellow
+ null);
+
+ public static final GeometryDepiction GEOM_A = new GeometryDepiction(
+ new Color(0, 0, 255, 150),
+ new Color(200, 200, 255, 150),
+ Color.cyan);
+
+ public static final GeometryDepiction GEOM_B = new GeometryDepiction(
+ new Color(255, 0, 0, 150),
+ new Color(255, 200, 200, 150),
+ Color.pink);
+
+
+ private Color color;
+ private Color fillColor;
+ private Color bandColor;
+
+ public Color getColor() {
+ return color;
+ }
+
+ public Color getFillColor() {
+ return fillColor;
+ }
+
+ public Color getBandColor() {
+ return bandColor;
+ }
+
+ public GeometryDepiction(Color color, Color fillColor, Color bandColor) {
+ this.color = color;
+ this.fillColor = fillColor;
+ this.bandColor = bandColor;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEditModel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEditModel.java
new file mode 100644
index 0000000..a1a9309
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEditModel.java
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.geom.*;
+
+
+/**
+ * Holds the current {@link TestCaseEdit}.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryEditModel
+{
+ private static WKTWriter wktWriter = new WKTWriter();
+
+ private boolean readOnly = true;
+
+ private int editGeomIndex = 0; // the index of the currently selected geometry
+
+ private int geomType = GeometryType.POLYGON; // from GeometryType
+
+ private TestCaseEdit testCase;
+
+ private transient Vector geometryListeners;
+
+ public GeometryEditModel()
+ {
+
+ }
+
+ public Envelope getEnvelope()
+ {
+ Envelope env = new Envelope();
+
+ if (getGeometry(0) != null) {
+ env.expandToInclude(getGeometry(0).getEnvelopeInternal());
+ }
+ if (getGeometry(1) != null) {
+ env.expandToInclude(getGeometry(1).getEnvelopeInternal());
+ }
+ return env;
+ }
+
+ public Envelope getEnvelopeAll()
+ {
+ Envelope env = new Envelope();
+
+ if (getGeometry(0) != null) {
+ env.expandToInclude(getGeometry(0).getEnvelopeInternal());
+ }
+ if (getGeometry(1) != null) {
+ env.expandToInclude(getGeometry(1).getEnvelopeInternal());
+ }
+ if (getResult() != null) {
+ env.expandToInclude(getResult().getEnvelopeInternal());
+ }
+ return env;
+ }
+
+ public Envelope getEnvelopeResult()
+ {
+ Envelope env = new Envelope();
+
+ if (getResult() != null) {
+ env.expandToInclude(getResult().getEnvelopeInternal());
+ }
+ return env;
+ }
+
+ public int getGeomIndex() {
+ return editGeomIndex;
+ }
+
+ public void setEditGeomIndex(int index) {
+ editGeomIndex = index;
+ }
+
+ public boolean isReadOnly() {
+ return readOnly;
+ }
+
+ public void clear()
+ {
+ setGeometry(null);
+ geomChanged();
+ }
+
+ public int getGeometryType() {
+ return geomType;
+ }
+
+ public void setGeometryType(int geomType) { this.geomType = geomType; }
+
+ public void setReadOnly(boolean readOnly) {
+ this.readOnly = readOnly;
+ }
+
+ public String getText(int textType) {
+ String str = "";
+ if (getGeometry(0) != null) {
+ str += getText(getGeometry(0), textType);
+ str += "\n\n";
+ }
+ if (getGeometry(1) != null) {
+ str += getText(getGeometry(1), textType);
+ str += "\n\n";
+ }
+ return str;
+ }
+
+ public static String getText(Geometry geom, int textType) {
+ switch (textType) {
+ case GeometryType.WELLKNOWNTEXT:
+ String wkt = wktWriter.writeFormatted(geom);
+ return wkt;
+ }
+ Assert.shouldNeverReachHere();
+ return "";
+ }
+
+ public static String toStringVeryLarge(Geometry g)
+ {
+ return "[[ " + GeometryUtil.structureSummary(g) + " ]]";
+ }
+
+
+ //====================================
+
+ public Geometry getResult() {
+// return result;
+ return testCase.getResult();
+ }
+
+ public Geometry getGeometry()
+ {
+ return getGeometry(editGeomIndex);
+ }
+
+ public Geometry getGeometry(int i)
+ {
+ return testCase.getGeometry(i);
+ }
+
+ public void setTestCase(TestCaseEdit testCase)
+ {
+ this.testCase = testCase;
+ geomChanged();
+ }
+
+ public void setGeometry(Geometry g)
+ {
+ setGeometry(editGeomIndex, g);
+ geomChanged();
+ }
+
+ public void setGeometry(int i, Geometry g)
+ {
+ testCase.setGeometry(i, g);
+ geomChanged();
+ }
+
+ public void clear(int i)
+ {
+ setGeometry(i, null);
+ geomChanged();
+ }
+
+ /**
+ * Adds a geometry component of the currently selected type,
+ * to the currently selected geometry.
+ *
+ * @param coordList
+ */
+ public void addComponent(List coordList)
+ {
+ GeometryCombiner creator = new GeometryCombiner(JTSTestBuilder.getGeometryFactory());
+
+ Geometry newGeom = null;
+ switch(getGeometryType()) {
+ case GeometryType.POLYGON:
+ newGeom = creator.addPolygonRing(getGeometry(), getRing(coordList));
+ break;
+ case GeometryType.LINESTRING:
+ Coordinate[] pts = CoordinateArrays.toCoordinateArray(coordList);
+ newGeom = creator.addLineString(getGeometry(), pts);
+ break;
+ case GeometryType.POINT:
+ newGeom = creator.addPoint(getGeometry(), (Coordinate) coordList.get(0));
+ break;
+ }
+ setGeometry(newGeom);
+ }
+
+ private static Coordinate[] getRing(List coordList)
+ {
+ List closedPts = coordList;
+ Coordinate p0 = (Coordinate) coordList.get(0);
+ Coordinate pn = (Coordinate) coordList.get(coordList.size() - 1);
+ if (! p0.equals2D(pn)) {
+ closedPts = new ArrayList(coordList);
+ closedPts.add(p0.clone());
+ }
+ Coordinate[] pts = CoordinateArrays.toCoordinateArray(closedPts);
+ return pts;
+ }
+
+ public Coordinate[] findAdjacentVertices(Coordinate vertex)
+ {
+ Geometry geom = getGeometry();
+ if (geom == null) return null;
+ return AdjacentVertexFinder.findVertices(getGeometry(), vertex);
+ }
+
+ /**
+ * Locates a non-vertex point on a line segment of the current geometry
+ * within the given tolerance, if any.
+ *
+ * Returns the closest point on the segment.
+ *
+ * @param testPt
+ * @param tolerance
+ * @return the location found, or
+ * null if no non-vertex point was within tolerance
+ */
+ public GeometryLocation locateNonVertexPoint(Coordinate testPt, double tolerance)
+ {
+ Geometry geom = getGeometry();
+ if (geom == null) return null;
+ return GeometryPointLocater.locateNonVertexPoint(getGeometry(), testPt, tolerance);
+ }
+
+ /**
+ * Locates a vertex of the current geometry
+ * within the given tolerance, if any.
+ * Returns the closest point on the segment.
+ *
+ * @param testPt
+ * @param tolerance
+ * @return the location of the vertex found, or
+ * null if no vertex was within tolerance
+ */
+ public GeometryLocation locateVertex(Coordinate testPt, double tolerance)
+ {
+ Geometry geom = getGeometry();
+ if (geom == null) return null;
+ return GeometryPointLocater.locateVertex(getGeometry(), testPt, tolerance);
+ }
+
+ public Coordinate locateVertexPt(Coordinate testPt, double tolerance)
+ {
+ Geometry geom = getGeometry();
+ if (geom == null) return null;
+ GeometryLocation loc = locateVertex(testPt, tolerance);
+ if (loc == null) return null;
+ return loc.getCoordinate();
+ }
+
+ public void moveVertex(Coordinate fromLoc, Coordinate toLoc)
+ {
+ Geometry modGeom = GeometryVertexMover.move(getGeometry(), fromLoc, toLoc);
+ setGeometry(modGeom);
+ }
+
+ public void geomChanged()
+ {
+ fireGeometryChanged(new GeometryEvent(this));
+ }
+
+ //============================================
+
+ public synchronized void removeGeometryListener(GeometryListener l) {
+ if (geometryListeners != null && geometryListeners.contains(l)) {
+ Vector v = (Vector) geometryListeners.clone();
+ v.removeElement(l);
+ geometryListeners = v;
+ }
+ }
+
+ public synchronized void addGeometryListener(GeometryListener l) {
+ Vector v = geometryListeners == null ? new Vector(2)
+ : (Vector) geometryListeners.clone();
+ if (!v.contains(l)) {
+ v.addElement(l);
+ geometryListeners = v;
+ }
+ }
+
+ public void fireGeometryChanged(GeometryEvent e) {
+ if (geometryListeners != null) {
+ Vector listeners = geometryListeners;
+ int count = listeners.size();
+ for (int i = 0; i < count; i++) {
+ ((GeometryListener) listeners.elementAt(i)).geometryChanged(e);
+ }
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEvent.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEvent.java
new file mode 100644
index 0000000..06e8238
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryEvent.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.EventObject;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @author
+ * @version 1.7
+ */
+public class GeometryEvent extends EventObject {
+
+ public GeometryEvent(Object source) {
+ super(source);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryListener.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryListener.java
new file mode 100644
index 0000000..02d15cd
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryListener.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.EventListener;
+
+
+
+/**
+ * @version 1.7
+ */
+public interface GeometryListener extends EventListener {
+
+ public void geometryChanged(GeometryEvent e);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryStretcherView.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryStretcherView.java
new file mode 100644
index 0000000..6020553
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryStretcherView.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.topostretch.TopologyStretcher;
+
+
+public class GeometryStretcherView
+{
+ /**
+ * The maximum number of vertices which can be shown.
+ * This is chosen to ensure reasonable performance for rendering.
+ */
+ private static final int MAX_VERTICES_IN_MASK = 500;
+
+ /**
+ * The nearness tolerance in view pixels.
+ * This is chosen to be as large as possible
+ * (which minimizes change to geometries)
+ * but small enough that points which appear
+ * to be coincident on the screen at a given zoom level
+ * will be magnified.
+ *
+ */
+ public static final double NEARNESS_TOL_IN_VIEW = 1;
+
+ private GeometryEditModel geomModel;
+ private Geometry[] stretchGeom = new Geometry[2];
+ private List[] stretchCoords;
+ private boolean isViewPerformant = true;
+ private Envelope maskEnv = null;
+ private double stretchSize = 5.0;
+ private double nearnessTol = 0.5;
+
+ public GeometryStretcherView(GeometryEditModel geomEditModel)
+ {
+ this.geomModel = geomEditModel;
+ }
+
+ public GeometryContainer getContainer(int i)
+ {
+ return new StretchedGeometryContainer(i);
+ }
+
+ /**
+ * Sets the amount by which vertices will be stretched
+ * (in geometry units).
+ *
+ * @param stretchSize
+ */
+ public void setStretchSize(double stretchSize)
+ {
+ this.stretchSize = stretchSize;
+ }
+
+ public void setNearnessTolerance(double nearnessTol)
+ {
+ this.nearnessTol = nearnessTol;
+ }
+ public void setEnvelope(Envelope maskEnv)
+ {
+ this.maskEnv = maskEnv;
+ // clear cache
+ stretchGeom = null;
+ }
+
+ public boolean isViewPerformant()
+ {
+ updateCache();
+ return isViewPerformant;
+
+ }
+ public Geometry getStretchedGeometry(int index)
+ {
+ updateCache();
+ return stretchGeom[index];
+ }
+
+ public List getStretchedVertices(int index)
+ {
+ updateCache();
+ return stretchCoords[index];
+ }
+
+ private synchronized void updateCache()
+ {
+ if (! isCacheValid()) {
+ Geometry g0 = geomModel.getGeometry(0);
+ Geometry g1 = geomModel.getGeometry(1);
+
+ TopologyStretcher stretcher = new TopologyStretcher(g0, g1);
+
+ // check if view is valid (performant enough) to render
+ if (maskEnv != null) {
+ isViewPerformant = stretcher.numVerticesInMask(maskEnv) < MAX_VERTICES_IN_MASK;
+ }
+ if (! isViewPerformant)
+ return;
+
+ stretchGeom = stretcher.stretch(nearnessTol, stretchSize, maskEnv);
+ stretchCoords = stretcher.getModifiedCoordinates();
+ }
+ }
+
+ private boolean isCacheValid()
+ {
+ if (stretchGeom == null) {
+ stretchGeom = new Geometry[2];
+ return false;
+ }
+ // don't bother checking this any more, since stretchView is always created new
+ //if (geomModel.getGeometry(0) != stretchGeom[0]) return false;
+ //if (geomModel.getGeometry(1) != stretchGeom[1]) return false;
+ return true;
+ }
+
+ private class StretchedGeometryContainer implements GeometryContainer
+ {
+ private int index;
+
+ public StretchedGeometryContainer(int index)
+ {
+ this.index = index;
+ }
+
+ public Geometry getGeometry()
+ {
+ return getStretchedGeometry(index);
+ }
+
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryTransferable.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryTransferable.java
new file mode 100644
index 0000000..d4f26f5
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryTransferable.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.*;
+
+public class GeometryTransferable implements Transferable
+{
+ public static final DataFlavor GEOMETRY_FLAVOR =
+ new DataFlavor(Geometry.class, "Geometry");
+
+ private Geometry geom;
+ private boolean isFormatted;
+
+ private static final DataFlavor[] flavors = {
+ DataFlavor.stringFlavor,
+ GEOMETRY_FLAVOR };
+
+ public GeometryTransferable(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public GeometryTransferable(Geometry geom, boolean isFormatted) {
+ this.geom = geom;
+ this.isFormatted = isFormatted;
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return flavors;
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
+ for (int i = 0; i < flavors.length; i++) {
+ if (flavor.equals(flavors[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public Object getTransferData(DataFlavor flavor)
+ throws UnsupportedFlavorException, IOException
+ {
+ if (flavor.equals(GEOMETRY_FLAVOR)) {
+ return geom;
+ }
+ if (flavor.equals(DataFlavor.stringFlavor)) {
+ if (isFormatted) {
+ WKTWriter writer = new WKTWriter();
+ writer.setFormatted(true);
+ writer.setMaxCoordinatesPerLine(5);
+ String wkt = writer.writeFormatted(geom);
+ return wkt;
+ }
+ return geom.toString();
+ }
+ throw new UnsupportedFlavorException(flavor);
+
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryType.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryType.java
new file mode 100644
index 0000000..d42b8df
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/GeometryType.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+public interface GeometryType {
+ public final static int WELLKNOWNTEXT = 1;
+
+ public final static int GEOMETRYCOLLECTION = 1;
+ public final static int MULTIPOLYGON = 2;
+ public final static int MULTILINESTRING = 3;
+ public final static int MULTIPOINT = 4;
+ public final static int POLYGON = 5;
+ public final static int LINESTRING = 6;
+ public final static int POINT = 7;
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/HtmlWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/HtmlWriter.java
new file mode 100644
index 0000000..531c283
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/HtmlWriter.java
@@ -0,0 +1,544 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.swing.BorderFactory;
+import javax.swing.JFrame;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.AppStrings;
+import org.locationtech.jtstest.testbuilder.BusyDialog;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testrunner.BooleanResult;
+import org.locationtech.jtstest.testrunner.Test;
+import org.locationtech.jtstest.util.FileUtil;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+/**
+ * An object that creates an .html file describing the test cases. .gif files
+ * are also created.
+ *
+ * @version 1.7
+ */
+public class HtmlWriter {
+ private final static int IMAGE_WIDTH = 200;
+ private final static int IMAGE_HEIGHT = 200;
+ private final static int STACK_TRACE_DEPTH = 1;
+
+ private boolean showingABwithSpatialFunction = true;
+ private GeometryEditPanel geometryEditPanel = new GeometryEditPanel();
+ private JFrame frame = new JFrame();
+ private File outputDirectory;
+ private BusyDialog busyDialog = null;
+
+ public HtmlWriter() {
+ geometryEditPanel.setSize(IMAGE_WIDTH, IMAGE_HEIGHT);
+ geometryEditPanel.setGridEnabled(false);
+ geometryEditPanel.setBorder(BorderFactory.createEmptyBorder());
+ frame.getContentPane().add(geometryEditPanel);
+ }
+
+ public void setShowingABwithSpatialFunction(boolean showingABwithSpatialFunction) {
+ this.showingABwithSpatialFunction = showingABwithSpatialFunction;
+ }
+
+ public void setBusyDialog(BusyDialog busyDialog) {
+ this.busyDialog = busyDialog;
+ }
+
+ private static class MapAndList {
+ public Map map;
+ public List list;
+ }
+
+ public void write(File outputDirectory, TestCaseList testCaseList, PrecisionModel precisionModel) throws IOException {
+ if (busyDialog != null) {
+ busyDialog.setDescription("Saving .html and .gif files");
+ }
+ Assert.isTrue(outputDirectory.isDirectory());
+ this.outputDirectory = outputDirectory;
+ MapAndList runMapAndRuns = runMapAndRuns(testCaseList);
+ Map runMap = runMapAndRuns.map;
+ List runs = runMapAndRuns.list;
+ createHtmlFile("contents-frame.html", indexHtml(runs, runMap, precisionModel));
+ createHtmlFile("index.html", testTopHtml());
+ int runSkey = 0;
+ for (Iterator i = runs.iterator(); i.hasNext(); ) {
+ String runDescription = (String) i.next();
+ runSkey++;
+ List testables = (List) runMap.get(runDescription);
+ int caseSkey = 0;
+ for (Iterator m = testables.iterator(); m.hasNext(); ) {
+ Testable testable = (Testable) m.next();
+ caseSkey++;
+ if (busyDialog != null) {
+ busyDialog.setDescription("Saving .html and .gif files: " + caseSkey
+ + " of " + testCaseList.getList().size() + " tests");
+ }
+ createHtmlFile("Run" + runSkey + AppStrings.LABEL_TEST_CASE + caseSkey + ".html", html(testable, runSkey, caseSkey));
+ }
+ }
+ }
+
+ private String html(Testable testable, int runSkey, int caseSkey) throws IOException {
+ TestCaseEdit testCaseEdit = (TestCaseEdit) testable;
+ String html =
+ "<HTML>" + StringUtil.newLine
+ + "<HEAD>" + StringUtil.newLine
+ + "<TITLE>" + StringUtil.escapeHTML(testName(testCaseEdit, caseSkey)) + "</TITLE>" + StringUtil.newLine
+ + "<link REL='STYLESHEET' HREF='../jts.css' TYPE='Text/css'>" + StringUtil.newLine
+ + "</HEAD>" + StringUtil.newLine
+ + "<BODY>" + StringUtil.newLine
+ + "<div class='testTitle'>" + StringUtil.escapeHTML(testName(testCaseEdit, caseSkey)) + "</div>" + StringUtil.newLine
+ + "<P>" + StringUtil.newLine;
+ html += htmlForAB(testCaseEdit, runSkey, caseSkey);
+ html += htmlForTests(testCaseEdit, runSkey, caseSkey);
+ html += "</BODY>" + StringUtil.newLine + "</HTML>";
+ return html;
+ }
+
+ private String deleteLastTag(String html) {
+ if (html.lastIndexOf("<") == -1) {
+ return html;
+ }
+ return html.substring(0, html.lastIndexOf("<"));
+ }
+
+ private String deleteFirstTag(String html) {
+ if (html.lastIndexOf(">") == -1) {
+ return html;
+ }
+ return html.substring(html.indexOf(">") + 1);
+ }
+
+ private String htmlForTests(TestCaseEdit testCaseEdit, int runSkey, int caseSkey) throws IOException {
+ String html = htmlForBinaryPredicates(testCaseEdit, caseSkey);
+ return html;
+ }
+
+ private String htmlForSpatialFunctionTest(TestCaseEdit testCaseEdit, int runSkey, int caseSkey,
+ String geometryOpName, String first, String second) {
+ String actualResultString = " ";
+ try {
+ Geometry actualResult = (Geometry) actualResult(testCaseEdit, geometryOpName,
+ first, second);
+ String filenameNoPath = "Run" + runSkey + AppStrings.LABEL_TEST_CASE + caseSkey + geometryOpName + "Actual";
+ if (first != null) {
+ filenameNoPath += first;
+ }
+ if (second != null) {
+ filenameNoPath += second;
+ }
+ filenameNoPath += ".gif";
+ actualResultString = htmlImageHtmlTextTable(filenameNoPath, "<SPAN class=wktR>" + actualResult.toText() + "</SPAN>",
+ 0);
+ createGifFile(filenameNoPath, testCaseEdit.getGeometry(0),
+ testCaseEdit.getGeometry(1), actualResult,
+ showingABwithSpatialFunction, IMAGE_WIDTH, IMAGE_HEIGHT);
+ }
+ catch (Exception e) {
+ actualResultString = "<TD>" + StringUtil.replace(StringUtil.getStackTrace(e, STACK_TRACE_DEPTH),
+ "\n", "<BR>", true) + "</TD>";
+ e.printStackTrace(System.out);
+ }
+ String html
+ = " <TR>" + StringUtil.newLine
+ + " <TD class=methodTitle>" + geometryOpName + "</TD>" + StringUtil.newLine
+ + actualResultString + StringUtil.newLine
+ + " </TR>" + StringUtil.newLine;
+ return html;
+ }
+
+ private String htmlForRelateTest(TestCaseEdit testCaseEdit, int caseSkey) {
+ String actualValue;
+ try {
+ actualValue = insertParagraphs(testCaseEdit.getGeometry(0).relate(testCaseEdit.getGeometry(1)).toString());
+ }
+ catch (Exception e) {
+ actualValue = StringUtil.replace(StringUtil.getStackTrace(e, STACK_TRACE_DEPTH),
+ "\n", "<BR>", true);
+ e.printStackTrace(System.out);
+ }
+ String html
+ = " <TR>" + StringUtil.newLine
+ + " <TD class=methodTitle rowspan=9>relate</TD>" + StringUtil.newLine
+ + " <TD rowspan=9>" + actualValue + "</TD>" + StringUtil.newLine
+ + " </TR>" + StringUtil.newLine;
+ return html;
+ }
+
+ private String insertParagraphs(String intersectionMatrix) {
+ StringBuffer buffer = new StringBuffer(intersectionMatrix);
+ buffer.insert(6, "<BR>");
+ buffer.insert(3, "<BR>");
+ return buffer.toString();
+ }
+
+ private String htmlForPredicateTest(TestCaseEdit testCaseEdit, int caseSkey,
+ String opName, String first, String second) {
+ String actualResultString;
+ try {
+ actualResultString = actualResult(testCaseEdit, opName, first, second).toString();
+ }
+ catch (Exception e) {
+ actualResultString = StringUtil.replace(StringUtil.getStackTrace(e, STACK_TRACE_DEPTH),
+ "\n", "<BR>", true);
+ e.printStackTrace(System.out);
+ }
+ String html
+ = " <TR>" + StringUtil.newLine
+ + " <TD class=methodTitle>" + opName + "</TD>" + StringUtil.newLine
+ + " <TD class=resultFalse>" + actualResultString + "</TD>" + StringUtil.newLine
+ + " </TR>" + StringUtil.newLine;
+ return html;
+ }
+
+ private Object actualResult(TestCaseEdit testCaseEdit, String opName, String first,
+ String second) throws Exception {
+ try {
+ Assert.isTrue((first.equalsIgnoreCase("A")) || (first.equalsIgnoreCase("B")));
+ Class geometryClass = Class.forName("com.vividsolutions.jts.geom.Geometry");
+ Geometry source = testCaseEdit.getGeometry(first.equalsIgnoreCase("A") ? 0 : 1);
+ Object[] target;
+ Class[] targetClasses;
+ if (second == null) {
+ target = new Object[]{};
+ targetClasses = new Class[]{};
+ }
+ else {
+ target = new Object[]{
+ testCaseEdit.getGeometry(second.equalsIgnoreCase("A") ? 0 : 1)
+ };
+ targetClasses = new Class[]{
+ geometryClass
+ };
+ }
+ Method op = geometryClass.getMethod(opName, targetClasses);
+ return op.invoke(source, target);
+ }
+ catch (InvocationTargetException e) {
+ throw (Exception) e.getTargetException();
+ }
+ }
+
+ private BooleanResult expectedPredicateResult(TestCaseEdit testCaseEdit,
+ String opName, String first, String second) {
+ if (!(testCaseEdit.getTestable() instanceof TestRunnerTestCaseAdapter)) {
+ return null;
+ }
+ TestRunnerTestCaseAdapter adapter = (TestRunnerTestCaseAdapter) testCaseEdit.getTestable();
+ org.locationtech.jtstest.testrunner.TestCase trTestCase = adapter.getTestRunnerTestCase();
+ for (Iterator i = trTestCase.getTests().iterator(); i.hasNext(); ) {
+ Test test = (Test) i.next();
+ if (test.getOperation().equalsIgnoreCase(opName)
+ && test.getGeometryIndex().equalsIgnoreCase(first)
+ && (test.getArgumentCount() == 0
+ || ((test.getArgument(0) != null && test.getArgument(0).equalsIgnoreCase(second))
+ || (test.getArgument(0) == null && second.equalsIgnoreCase("null"))))) {
+ return (BooleanResult) test.getExpectedResult();
+ }
+ }
+ return null;
+ }
+
+ private String htmlForAB(TestCaseEdit testCaseEdit, int runSkey, int caseSkey) throws IOException {
+ String wktHtml
+ = "<span class=wktA>"
+ + (testCaseEdit.getGeometry(0) == null ? " " : testCaseEdit.getGeometry(0).toText())
+ + "</span>"
+ + "<P>"
+ + "<span class=wktB>"
+ + (testCaseEdit.getGeometry(1) == null ? " " : testCaseEdit.getGeometry(1).toText())
+ + "</span>";
+ String html = StringUtil.newLine
+ + "<TABLE BORDER=0>" + StringUtil.newLine
+ + " <TR>" + StringUtil.newLine
+ + htmlImageHtmlTextTable("Run" + runSkey + AppStrings.LABEL_TEST_CASE + caseSkey + ".gif", wktHtml, 0)
+ + " </TR>" + StringUtil.newLine
+ + "</TABLE>" + StringUtil.newLine;
+ createGifFile("Run" + runSkey + AppStrings.LABEL_TEST_CASE + caseSkey + ".gif", testCaseEdit.getGeometry(0),
+ testCaseEdit.getGeometry(1), null, true, IMAGE_WIDTH, IMAGE_HEIGHT, true);
+ return html;
+ }
+
+ private String htmlImageTextTable(String imageFilename, String text, int border) {
+ return htmlImageHtmlTextTable(imageFilename, StringUtil.escapeHTML(text), border);
+ }
+
+ private String htmlImageHtmlTextTable(String imageFilename, String html, int border) {
+ return
+ " <TD>" + StringUtil.newLine
+ + " <IMG BORDER=\"1\" SRC=\"" + imageFilename + "\" WIDTH=" + IMAGE_WIDTH + " HEIGHT=" + IMAGE_HEIGHT + ">" + StringUtil.newLine
+ + " </TD>" + StringUtil.newLine
+ + " <TD>" + StringUtil.newLine
+ + html + StringUtil.newLine
+ + " </TD>" + StringUtil.newLine;
+ }
+
+ private String testName(Testable testable, int caseSkey) {
+ String name = testable.getName();
+ if ((name == null || name.length() == 0) && testable instanceof TestCaseEdit) {
+ name = ((TestCaseEdit) testable).getDescription();
+ }
+ String testTag = AppStrings.LABEL_TEST_CASE + " ";
+ if (name == null || name.length() == 0) {
+ name = testTag + caseSkey;
+ }
+ else {
+ name = testTag + caseSkey + ": " + name;
+ }
+ return name;
+ }
+
+ private String runName(String runDescription, int runSkey) {
+ return "Run " + runSkey + ": " + runDescription;
+ }
+
+ private String htmlTitle(PrecisionModel precisionModel) {
+ String html = "Precision Model: scale=" + precisionModel.getScale()
+ + StringUtil.newLine;
+ html = "<div class='precisionModel'>" + html + "</div>";
+ return html;
+ }
+
+ private void createGifFile(String filenameNoPath, Geometry a, Geometry b,
+ Geometry spatialFunction, boolean showingAB,
+ int imageWidth, int imageHeight) throws FileNotFoundException, IOException {
+ createGifFile(filenameNoPath, a, b, spatialFunction, showingAB, imageWidth, imageHeight, false);
+ }
+
+ /*
+ private void createGifFile(String filenameNoPath, Geometry a, Geometry b,
+ Geometry spatialFunction, boolean showingAB,
+ int imageWidth, int imageHeight, boolean zoomToFullExtent) throws FileNotFoundException,
+ IOException {
+ GeometryBuilder builderA = a != null ? GeometryBuilder.create(a) : null;
+ GeometryBuilder builderB = b != null ? GeometryBuilder.create(b) : null;
+ GeometryBuilder builderSpatialFunction = spatialFunction != null ? GeometryBuilder.create(spatialFunction) : null;
+ createGifFile(filenameNoPath, builderA, builderB, builderSpatialFunction,
+ showingAB, imageWidth, imageHeight, zoomToFullExtent);
+ }
+*/
+
+ private void createGifFile(String filenameNoPath, Geometry a,
+ Geometry b,
+ Geometry result,
+ boolean showingAB,
+ int imageWidth, int imageHeight, boolean zoomToFullExtent) throws FileNotFoundException,
+ IOException {
+ TestBuilderModel tbModel = new TestBuilderModel();
+ TestCaseEdit tc = new TestCaseEdit(new Geometry[]{ a, b });
+ tc.setResult(result);
+ tbModel.getGeometryEditModel().setTestCase(tc);
+ geometryEditPanel.setModel(tbModel);
+ if (zoomToFullExtent) {
+ geometryEditPanel.zoomToFullExtent();
+ }
+ geometryEditPanel.setShowingResult(result != null);
+ geometryEditPanel.setShowingGeometryA(a != null && showingAB);
+ geometryEditPanel.setShowingGeometryB(b != null && showingAB);
+ String filenameWithPath = outputDirectory.getPath() + "\\" + filenameNoPath;
+ Image image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_4BYTE_ABGR);
+ geometryEditPanel.paint(image.getGraphics());
+ /*
+ // disabled - should be replaced with PNG output
+ FileOutputStream outputStream = new FileOutputStream(filenameWithPath,
+ false);
+ GifEncoder gifEncoder = new GifEncoder(image, outputStream);
+ gifEncoder.setDimensions(imageWidth, imageHeight);
+ gifEncoder.encode();
+ outputStream.flush();
+ outputStream.close();
+ */
+ }
+
+ private void createHtmlFile(String filename, String html) throws IOException {
+ String pathname = outputDirectory.getPath() + "\\" + filename;
+ FileUtil.setContents(pathname, html);
+ }
+
+ private MapAndList runMapAndRuns(TestCaseList testCaseList) {
+ Map runMap = new TreeMap();
+ List runs = new ArrayList();
+ for (Iterator i = testCaseList.getList().iterator(); i.hasNext(); ) {
+ TestCaseEdit testCaseEdit = (TestCaseEdit) i.next();
+ Testable testable = testCaseEdit.getTestable();
+ if (testable instanceof TestRunnerTestCaseAdapter) {
+ org.locationtech.jtstest.testrunner.TestCase testRunnerTestCase = ((TestRunnerTestCaseAdapter) testable).getTestRunnerTestCase();
+ String runDescription = testRunnerTestCase.getTestRun().getTestFile().getName();
+ runDescription = runDescription.indexOf(".") > -1 ? runDescription.substring(0, runDescription.indexOf(".")) : runDescription;
+ addToListMapAndList(runDescription, testCaseEdit, runMap, runs);
+ }
+ else {
+ addToListMapAndList("Other", testCaseEdit, runMap, runs);
+ }
+ }
+ MapAndList runMapAndRuns = new MapAndList();
+ runMapAndRuns.map = runMap;
+ runMapAndRuns.list = runs;
+ return runMapAndRuns;
+ }
+
+ private void addToListMapAndList(String key, Object valueItem, Map stringToList, List keyList) {
+ if (stringToList.containsKey(key)) {
+ List value = (List) stringToList.get(key);
+ value.add(valueItem);
+ }
+ else {
+ List value = new ArrayList();
+ value.add(valueItem);
+ stringToList.put(key, value);
+ keyList.add(key);
+ }
+ }
+
+ private String indexHtml(List runs, Map runMap, PrecisionModel precisionModel) {
+ String html
+ = "<HTML>" + StringUtil.newLine
+ + "<HEAD>" + StringUtil.newLine
+ + "<TITLE>JTS Test Suite Index</TITLE>" + StringUtil.newLine
+ + "<link REL='STYLESHEET' HREF='../jts.css' TYPE='Text/css'>" + StringUtil.newLine
+ + "<script LANGUAGE=\"JavaScript\">" + StringUtil.newLine
+ + " function LoadDetailFrame() {" + StringUtil.newLine
+ + " testNumber = document.main_form.test_combo.selectedIndex;" + StringUtil.newLine
+ + " testHtmlFile = document.main_form.test_combo.options[testNumber].value;" + StringUtil.newLine
+ + " parent.detail.location.href=testHtmlFile;" + StringUtil.newLine
+ + " document.main_form.test_combo.blur();" + StringUtil.newLine
+ + " }" + StringUtil.newLine
+ + " function onRunChange() {" + StringUtil.newLine
+ + " selectedIndex = document.main_form.run_combo.selectedIndex;" + StringUtil.newLine
+ + " selectedCode = document.main_form.run_combo.options[selectedIndex].value;" + StringUtil.newLine;
+ int runSkey = 0;
+ for (Iterator i = runs.iterator(); i.hasNext(); ) {
+ String runDescription = (String) i.next();
+ runSkey++;
+ html += " if (selectedCode == 'Run" + runSkey + "') {" + StringUtil.newLine;
+ List testables = (List) runMap.get(runDescription);
+ int caseSkey = 0;
+ for (Iterator m = testables.iterator(); m.hasNext(); ) {
+ Testable testable = (Testable) m.next();
+ caseSkey++;
+ html += " document.main_form.test_combo.length = " + caseSkey + ";" + StringUtil.newLine;
+ html += " document.main_form.test_combo.options[" + (caseSkey - 1) + "].text = \"" + StringUtil.escapeHTML(testName(testable, caseSkey)) + "\";" + StringUtil.newLine;
+ html += " document.main_form.test_combo.options[" + (caseSkey - 1) + "].value = 'Run" + runSkey + "Case" + caseSkey + ".html';" + StringUtil.newLine;
+ }
+ html += " LoadDetailFrame();";
+ html += " }";
+ }
+ html += " }" + StringUtil.newLine
+ + "</script>" + StringUtil.newLine
+ + "</HEAD>" + StringUtil.newLine
+ + "<BODY>" + StringUtil.newLine
+ + "<h1>JTS Validation Suite</h1>" + StringUtil.newLine
+ + htmlTitle(precisionModel)
+ + "<p>" + StringUtil.newLine
+ + "<FORM id=\"main_form\" name=\"main_form\">" + StringUtil.newLine;
+
+ html += "<select id=run_combo name=run_combo size='1' style='width:30%' onChange='onRunChange()'>" + StringUtil.newLine;
+ runSkey = 0;
+ for (Iterator j = runs.iterator(); j.hasNext(); ) {
+ String runDescription = (String) j.next();
+ runSkey++;
+ html += "<OPTION VALUE='Run" + runSkey + "'>"
+ + StringUtil.escapeHTML(runName(runDescription, runSkey))
+ + "</OPTION>" + StringUtil.newLine;
+ }
+ html += "</select>" + StringUtil.newLine;
+
+ html += "<select id=test_combo name=test_combo size='1' style='width:60%' onChange='LoadDetailFrame()'>" + StringUtil.newLine;
+ String runDescription = (String) runs.iterator().next();
+ List testables = (List) runMap.get(runDescription);
+ int caseSkey = 0;
+ for (Iterator m = testables.iterator(); m.hasNext(); ) {
+ Testable testable = (Testable) m.next();
+ caseSkey++;
+ html += "<OPTION VALUE='Run1Case" + caseSkey + ".html'>"
+ + StringUtil.escapeHTML(testName(testable, caseSkey))
+ + "</OPTION>" + StringUtil.newLine;
+ }
+ html += "</select>" + StringUtil.newLine;
+
+ html += "</FORM>" + StringUtil.newLine
+ + "</BODY>" + StringUtil.newLine
+ + "</HTML>" + StringUtil.newLine
+ + "" + StringUtil.newLine;
+ return html;
+ }
+
+ private String testTopHtml() {
+ return
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Frameset//EN\"\"http://www.w3.org/TR/REC-html40/frameset.dtd\">" + StringUtil.newLine
+ + "<HTML>" + StringUtil.newLine
+ + "<HEAD>" + StringUtil.newLine
+ + "<TITLE>" + StringUtil.newLine
+ + "JTS Validation Suite" + StringUtil.newLine
+ + "</TITLE>" + StringUtil.newLine
+ + "</HEAD>" + StringUtil.newLine
+ + "<FRAMESET rows=\"120px,*\" framespacing=0 frameborder=0>" + StringUtil.newLine
+ + "<FRAME id=contents name=\"contents\" FRAMEBORDER=0 src=\"contents-frame.html\" scrolling=no>" + StringUtil.newLine
+ + "<FRAME id=detail name=\"detail\" FRAMEBORDER=0 src=\"Run1Case1.html\" >" + StringUtil.newLine
+ + "</FRAMESET>" + StringUtil.newLine
+ + "<NOFRAMES>" + StringUtil.newLine
+ + "<H2>" + StringUtil.newLine
+ + "Frame Alert</H2>" + StringUtil.newLine
+ + "" + StringUtil.newLine
+ + "<P>" + StringUtil.newLine
+ + "This site is designed to be viewed using frames. " + StringUtil.newLine
+ + "If you see this message, you are using a non-frame-capable web client." + StringUtil.newLine
+ + "</HTML>" + StringUtil.newLine;
+ }
+
+ private String htmlForBinaryPredicates(TestCaseEdit testCaseEdit, int caseSkey) {
+ String html = "";
+ if (testCaseEdit.getGeometry(1) != null) {
+ html += htmlForRelateTest(testCaseEdit, caseSkey);
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "equals", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "disjoint", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "intersects", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "touches", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "crosses", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "within", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "contains", "A", "B");
+ html += htmlForPredicateTest(testCaseEdit, caseSkey, "overlaps", "A", "B");
+
+ html = "<h2>Binary Predicates</h2>" + StringUtil.newLine
+ + "<TABLE WIDTH=50% BORDER=1>" + StringUtil.newLine
+ + html
+ + "</TABLE>" + StringUtil.newLine;
+ }
+ return html;
+ }
+
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/IndexedGeometryContainer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/IndexedGeometryContainer.java
new file mode 100644
index 0000000..e9de3eb
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/IndexedGeometryContainer.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.geom.*;
+
+
+public class IndexedGeometryContainer
+implements GeometryContainer
+{
+ private GeometryEditModel geomModel;
+ private int index;
+
+ public IndexedGeometryContainer(GeometryEditModel geomModel, int index) {
+ this.geomModel = geomModel;
+ this.index = index;
+ }
+
+ public Geometry getGeometry()
+ {
+ return geomModel.getGeometry(index);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/JavaTestWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/JavaTestWriter.java
new file mode 100644
index 0000000..4e61ed6
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/JavaTestWriter.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+
+/**
+ * @version 1.7
+ */
+public class JavaTestWriter {
+ public static String getRunJava(String className, TestBuilderModel tbModel) {
+ return
+ "package com.vividsolutions.jtstest.testsuite;" + StringUtil.newLine
+ + "" + StringUtil.newLine
+ + "import com.vividsolutions.jtstest.test.*;" + StringUtil.newLine
+ + "" + StringUtil.newLine
+ + "public class " + className + " extends TestCaseList {" + StringUtil.newLine
+ + " public static void main(String[] args) {" + StringUtil.newLine
+ + " " + className + " test = new " + className + "();" + StringUtil.newLine
+ + " test.run();" + StringUtil.newLine
+ + " }" + StringUtil.newLine
+ + "" + StringUtil.newLine
+ + " public " + className + "() {" + StringUtil.newLine
+ + getTestJava(tbModel.getCases())
+ + " }" + StringUtil.newLine
+ + "}";
+ }
+
+ public static String getTestJava(List testCases) {
+ StringBuffer java = new StringBuffer();
+ for (int i = 0; i < testCases.size(); i++) {
+ java.append((new JavaTestWriter()).write((Testable) testCases.get(i)));
+ }
+ return java.toString();
+ }
+
+
+ private WKTWriter writer = new WKTWriter();
+
+ public JavaTestWriter() {}
+
+ public String write(Testable testable) {
+ StringBuffer text = new StringBuffer();
+ text.append(" add(new TestCase(\n");
+ String name = testable.getName() == null ? "" : testable.getName();
+ String description = testable.getDescription() == null ? "" : testable.getDescription();
+ String a = testable.getGeometry(0) == null ? null : writer.write(testable.getGeometry(0));
+ String b = testable.getGeometry(1) == null ? null : writer.write(testable.getGeometry(1));
+
+ text.append(" \"" + name + "\",\n");
+ text.append(" \"" + description + "\",\n");
+ text.append(" " + (a == null ? "null" : "\"" + a + "\"") + ",\n");
+ text.append(" " + (b == null ? "null" : "\"" + b + "\"") + ",\n");
+
+ return text.toString();
+ }
+
+ private String write(Geometry geometry) {
+ if (geometry == null) {
+ return "null";
+ }
+ return "\"" + writer.write(geometry) + "\"";
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/Layer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/Layer.java
new file mode 100644
index 0000000..4eeb181
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/Layer.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.render.*;
+import org.locationtech.jtstest.testbuilder.ui.style.*;
+
+
+
+public class Layer
+{
+ private String name = "";
+ private GeometryContainer geomCont;
+ private boolean isEnabled = true;
+
+ private BasicStyle geomStyle = new BasicStyle();
+
+ private StyleList.StyleFilter vertexFilter = new StyleList.StyleFilter() {
+ public boolean isFiltered(Style style) {
+ return ! DisplayParameters.isShowingVertices();
+ }
+ };
+
+ private StyleList.StyleFilter decorationFilter = new StyleList.StyleFilter() {
+ public boolean isFiltered(Style style) {
+ return ! DisplayParameters.isShowingOrientation();
+ }
+ };
+
+ private StyleList.StyleFilter structureFilter = new StyleList.StyleFilter() {
+ public boolean isFiltered(Style style) {
+ return ! DisplayParameters.isShowingStructure();
+ }
+ };
+
+ private StyleList.StyleFilter labelFilter = new StyleList.StyleFilter() {
+ public boolean isFiltered(Style style) {
+ return ! DisplayParameters.isShowingLabel();
+ }
+ };
+ private LayerStyle layerStyle;
+
+ public Layer(String name) {
+ this.name = name;
+ }
+
+ public String getName() { return name; }
+
+ public String getNameInfo() {
+ if (geomCont.getGeometry() == null) return getName();
+ return getName()
+ + " " + GeometryUtil.structureSummary(geomCont.getGeometry())
+ + " -- " + GeometryUtil.metricsSummary(geomCont.getGeometry());
+ }
+
+ public void setEnabled(boolean isEnabled)
+ {
+ this.isEnabled = isEnabled;
+ }
+
+ public void setSource(GeometryContainer geomCont)
+ {
+ this.geomCont = geomCont;
+ }
+
+ public GeometryContainer getSource()
+ {
+ return geomCont;
+ }
+
+ public boolean isEnabled()
+ {
+ return isEnabled;
+ }
+ public LayerStyle getLayerStyle()
+ {
+ return layerStyle;
+ }
+ public BasicStyle getGeometryStyle()
+ {
+ return geomStyle;
+ }
+ public void setGeometryStyle(BasicStyle style)
+ {
+ this.geomStyle = style;
+ VertexStyle vertexStyle = new VertexStyle(style.getLineColor());
+ ArrowLineStyle segArrowStyle = new ArrowLineStyle(ColorUtil.lighter(style.getLineColor(), 0.8));
+ ArrowEndpointStyle lineArrowStyle = new ArrowEndpointStyle(ColorUtil.lighter(style.getLineColor(),0.5), false, true);
+ CircleEndpointStyle lineCircleStyle = new CircleEndpointStyle(style.getLineColor(), 6, true, true);
+ PolygonStructureStyle polyStyle = new PolygonStructureStyle(ColorUtil.opaque(style.getLineColor()));
+ SegmentIndexStyle indexStyle = new SegmentIndexStyle(ColorUtil.opaque(style.getLineColor().darker()));
+ DataLabelStyle dataLabelStyle = new DataLabelStyle(ColorUtil.opaque(style.getLineColor().darker()));
+
+ // order is important here
+ StyleList styleList = new StyleList();
+ styleList.add(vertexStyle, vertexFilter);
+ styleList.add(segArrowStyle, decorationFilter);
+ styleList.add(lineArrowStyle, decorationFilter);
+ styleList.add(lineCircleStyle, decorationFilter);
+ //styleList.add(style);
+ styleList.add(polyStyle, structureFilter);
+ styleList.add(indexStyle, structureFilter);
+ styleList.add(dataLabelStyle, labelFilter);
+
+ layerStyle = new LayerStyle(style, styleList);
+ }
+
+ public Geometry getGeometry()
+ {
+ if (geomCont == null) return null;
+ return geomCont.getGeometry();
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/LayerList.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/LayerList.java
new file mode 100644
index 0000000..b507d86
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/LayerList.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jtstest.testbuilder.geom.ComponentLocater;
+import org.locationtech.jtstest.testbuilder.geom.GeometryLocation;
+
+
+public class LayerList
+{
+ public static final int LYR_A = 0;
+ public static final int LYR_B = 1;
+ public static final int LYR_RESULT = 2;
+
+ private Layer[] layer = new Layer[3];
+
+ public LayerList()
+ {
+ layer[0] = new Layer("A");
+ layer[1] = new Layer("B");
+ layer[2] = new Layer("Result");
+ }
+
+ public int size() { return layer.length; }
+
+ public Layer getLayer(int i)
+ {
+ return layer[i];
+ }
+
+ /**
+ *
+ * @param pt
+ * @param tolerance
+ * @return component found, or null
+ */
+ public Geometry getComponent(Coordinate pt, double tolerance)
+ {
+ for (int i = 0; i < size(); i++) {
+
+ Layer lyr = getLayer(i);
+ Geometry geom = lyr.getGeometry();
+ if (geom == null) continue;
+ ComponentLocater locater = new ComponentLocater(geom);
+ List locs = locater.getComponents(pt, tolerance);
+ if (locs.size() > 0) {
+ GeometryLocation loc = (GeometryLocation) locs.get(0);
+ return loc.getComponent();
+ }
+ }
+ return null;
+ }
+
+ public Geometry[] getComponents(Geometry aoi)
+ {
+ Geometry comp[] = new Geometry[2];
+ for (int i = 0; i < 2; i++) {
+ Layer lyr = getLayer(i);
+ Geometry geom = lyr.getGeometry();
+ if (geom == null) continue;
+ comp[i] = extractComponents(geom, aoi);
+ }
+ return comp;
+ }
+
+ private Geometry extractComponents(Geometry parentGeom, Geometry aoi)
+ {
+ ComponentLocater locater = new ComponentLocater(parentGeom);
+ List locs = locater.getComponents(aoi);
+ List geoms = extractLocationGeometry(locs);
+ if (geoms.size() <= 0)
+ return null;
+ if (geoms.size() == 1)
+ return (Geometry) geoms.get(0);
+ // if parent was a GC, ensure returning a GC
+ if (parentGeom.getGeometryType().equals("GeometryCollection"))
+ return parentGeom.getFactory().createGeometryCollection(GeometryFactory.toGeometryArray(geoms));
+ // otherwise return MultiGeom
+ return parentGeom.getFactory().buildGeometry(geoms);
+ }
+
+ private List extractLocationGeometry(List locs)
+ {
+ List geoms = new ArrayList();
+ for (Iterator i = locs.iterator(); i.hasNext();) {
+ GeometryLocation loc = (GeometryLocation) i.next();
+ geoms.add(loc.getComponent());
+ }
+ return geoms;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/PNGWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/PNGWriter.java
new file mode 100644
index 0000000..147d4d2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/PNGWriter.java
@@ -0,0 +1,100 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.awt.Image;
+import java.awt.image.*;
+import javax.imageio.ImageIO;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.swing.BorderFactory;
+import javax.swing.JFrame;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.BusyDialog;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testrunner.BooleanResult;
+import org.locationtech.jtstest.testrunner.Test;
+import org.locationtech.jtstest.util.FileUtil;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+/**
+ * Creates an .PNG file for a test case.
+ *
+ * @version 1.7
+ */
+public class PNGWriter {
+ private final static int IMAGE_WIDTH = 200;
+ private final static int IMAGE_HEIGHT = 200;
+ private final static int STACK_TRACE_DEPTH = 1;
+
+ private GeometryEditPanel geometryEditPanel = new GeometryEditPanel();
+ private JFrame frame = new JFrame();
+ private File outputDirectory;
+
+ public PNGWriter() {
+ geometryEditPanel.setSize(IMAGE_WIDTH, IMAGE_HEIGHT);
+ geometryEditPanel.setGridEnabled(false);
+ geometryEditPanel.setBorder(BorderFactory.createEmptyBorder());
+ frame.getContentPane().add(geometryEditPanel);
+ }
+
+ public void write(File outputDirectory, TestCaseEdit testCase, PrecisionModel precisionModel) throws IOException {
+ Assert.isTrue(outputDirectory.isDirectory());
+ this.outputDirectory = outputDirectory;
+ createPNGFile("geoms", testCase.getGeometry(0),
+ testCase.getGeometry(1), testCase.getResult(),
+ IMAGE_WIDTH, IMAGE_HEIGHT);
+ }
+
+ private void createPNGFile(String filenameNoPath, Geometry a,
+ Geometry b,
+ Geometry result,
+ int imageWidth, int imageHeight) throws FileNotFoundException,
+ IOException {
+ TestBuilderModel tbModel = new TestBuilderModel();
+ TestCaseEdit tc = new TestCaseEdit(new Geometry[]{ a, b });
+ tc.setResult(result);
+ tbModel.getGeometryEditModel().setTestCase(tc);
+ geometryEditPanel.setModel(tbModel);
+ geometryEditPanel.zoomToFullExtent();
+ geometryEditPanel.setShowingResult(result != null);
+ geometryEditPanel.setShowingGeometryA(a != null);
+ geometryEditPanel.setShowingGeometryB(b != null);
+ String filenameWithPath = outputDirectory.getPath() + "\\" + filenameNoPath;
+ Image image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_4BYTE_ABGR);
+ geometryEditPanel.paint(image.getGraphics());
+
+ ImageIO.write((RenderedImage) image, "png",
+ new File(filenameWithPath + ".png"));
+ }
+
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/ResultGeometryContainer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/ResultGeometryContainer.java
new file mode 100644
index 0000000..e1ad072
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/ResultGeometryContainer.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.geom.*;
+
+
+public class ResultGeometryContainer
+implements GeometryContainer
+{
+ private GeometryEditModel geomModel;
+
+ public ResultGeometryContainer(GeometryEditModel geomModel) {
+ this.geomModel = geomModel;
+ }
+
+ public Geometry getGeometry()
+ {
+ return geomModel.getResult();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/SVGTestWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/SVGTestWriter.java
new file mode 100644
index 0000000..f3a175a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/SVGTestWriter.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.util.StringUtil;
+import org.locationtech.jtstest.util.io.SVGWriter;
+
+
+
+/**
+ * @version 1.7
+ */
+public class SVGTestWriter {
+
+ public static String getTestSVG(Testable test) {
+ SVGTestWriter writer = new SVGTestWriter();
+ return writer.write(test);
+ }
+
+
+ private SVGWriter writer = new SVGWriter();
+
+ public SVGTestWriter() {}
+
+ public String write(Testable testable) {
+ StringBuffer text = new StringBuffer();
+
+ Geometry ga = testable.getGeometry(0);
+ Geometry gb = testable.getGeometry(1);
+
+ Envelope env = new Envelope();
+ if (ga != null) env.expandToInclude(ga.getEnvelopeInternal());
+ if (gb != null) env.expandToInclude(gb.getEnvelopeInternal());
+
+ String viewBox = env.getMinX() + " " + env.getMinY() + " " + env.getMaxX() + " " + env.getMaxY();
+
+ text.append("<?xml version='1.0' standalone='no'?>\n");
+ text.append("<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>\n");
+ text.append("<svg width='400' height='400' viewBox='" + viewBox + "' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\n");
+ String name = testable.getName() == null ? "" : testable.getName();
+ String description = testable.getDescription() == null ? "" : testable.getDescription();
+ //text.append(" \"" + name + "\",\n");
+ text.append(" <desc>" + description + "</desc>\n");
+
+ String a = writeGeometryStyled(ga, "#bbbbff", "#0000ff");
+ String b = writeGeometryStyled(gb, "#ffbbbb", "#ff0000");
+ text.append(a + "\n");
+ text.append("\n");
+ text.append(b + "\n");
+ text.append("</svg>\n");
+ return text.toString();
+ }
+
+ private String writeGeometryStyled(Geometry g, String fillClr, String strokeClr ) {
+ String s = "<g fill='" + fillClr + "' stroke='" + strokeClr + "' >\n";
+ s += write(g);
+ s += "</g>";
+ return s;
+ }
+ private String write(Geometry geometry) {
+ if (geometry == null) {
+ return "";
+ }
+ return writer.write(geometry);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/StaticGeometryContainer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/StaticGeometryContainer.java
new file mode 100644
index 0000000..5ae3356
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/StaticGeometryContainer.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.Geometry;
+
+public class StaticGeometryContainer implements GeometryContainer {
+
+ private Geometry geometry;
+
+ public StaticGeometryContainer(Geometry geometry)
+ {
+ this.geometry = geometry;
+ }
+
+ public Geometry getGeometry() {
+ return geometry;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestBuilderModel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestBuilderModel.java
new file mode 100644
index 0000000..f842216
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestBuilderModel.java
@@ -0,0 +1,552 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.io.*;
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.*;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.ui.*;
+import org.locationtech.jtstest.testbuilder.ui.style.BasicStyle;
+import org.locationtech.jtstest.testrunner.TestReader;
+import org.locationtech.jtstest.testrunner.TestRun;
+import org.locationtech.jtstest.util.*;
+import org.locationtech.jtstest.util.io.IOUtil;
+import org.locationtech.jtstest.util.io.MultiFormatReader;
+
+
+public class TestBuilderModel
+{
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = null;
+ private GeometryEditModel geomEditModel;
+ private LayerList layerList = new LayerList();
+ private WKTWriter writer = new WKTWriter();
+ private Object currResult = null;
+ private String opName = "";
+
+ public TestBuilderModel()
+ {
+ geomEditModel = new GeometryEditModel();
+ initLayers();
+ caseList.init();
+ }
+
+ public GeometryEditModel getGeometryEditModel() { return geomEditModel; }
+
+ public PrecisionModel getPrecisionModel() { return precisionModel; }
+
+ public void setPrecisionModel(PrecisionModel precisionModel)
+ {
+ this.precisionModel = precisionModel;
+ geometryFactory = null;
+ }
+
+ public GeometryFactory getGeometryFactory()
+ {
+ if (geometryFactory == null)
+ geometryFactory = new GeometryFactory(getPrecisionModel());
+ return geometryFactory;
+ }
+
+
+ public String getResultDisplayString(Geometry g)
+ {
+ if (g == null)
+ return "";
+ if (g.getNumPoints() > DisplayParameters.MAX_DISPLAY_POINTS)
+ return GeometryEditModel.toStringVeryLarge(g);
+ return writer.writeFormatted(g);
+ }
+
+ public LayerList getLayers() { return layerList; }
+
+ private void initLayers()
+ {
+ GeometryContainer geomCont0 = new IndexedGeometryContainer(geomEditModel, 0);
+ GeometryContainer geomCont1 = new IndexedGeometryContainer(geomEditModel, 1);
+
+ layerList.getLayer(LayerList.LYR_A).setSource(geomCont0);
+ layerList.getLayer(LayerList.LYR_B).setSource(geomCont1);
+
+ if (geomEditModel != null)
+ layerList.getLayer(LayerList.LYR_RESULT).setSource(
+ new ResultGeometryContainer(geomEditModel));
+
+ Layer lyrA = layerList.getLayer(LayerList.LYR_A);
+ lyrA.setGeometryStyle(new BasicStyle(GeometryDepiction.GEOM_A_LINE_CLR,
+ GeometryDepiction.GEOM_A_FILL_CLR));
+
+ Layer lyrB = layerList.getLayer(LayerList.LYR_B);
+ lyrB.setGeometryStyle(new BasicStyle(GeometryDepiction.GEOM_B_LINE_CLR,
+ GeometryDepiction.GEOM_B_FILL_CLR));
+
+ Layer lyrR = layerList.getLayer(LayerList.LYR_RESULT);
+ lyrR.setGeometryStyle(new BasicStyle(GeometryDepiction.GEOM_RESULT_LINE_CLR,
+ GeometryDepiction.GEOM_RESULT_FILL_CLR));
+ }
+
+ public void pasteGeometry(int geomIndex)
+ throws Exception
+ {
+ Object obj = SwingUtil.getFromClipboard();
+ Geometry g = null;
+ if (obj instanceof String) {
+ g = readGeometryText((String) obj);
+ }
+ else
+ g = (Geometry) obj;
+
+ TestCaseEdit testCaseEdit = getCurrentCase();
+ testCaseEdit.setGeometry(geomIndex, g);
+ getGeometryEditModel().setTestCase(testCaseEdit);
+ }
+
+ private Geometry readGeometryText(String geomStr)
+ throws Exception
+ {
+ Geometry g = null;
+ if (geomStr.length() > 0) {
+ try {
+ MultiFormatReader reader = new MultiFormatReader(getGeometryFactory());
+ g = reader.read(geomStr);
+ } catch (ParseException ex) {
+ String msg = "Unable to parse data: '" + condense(geomStr) + "'";
+ throw new IllegalArgumentException(msg);
+ }
+ }
+ return g;
+ }
+
+ private String condense(String str) {
+ final int N_START = 10;
+ final int N_END = 10;
+ int len = str.length();
+ if (len <= N_START + N_END + 10) return str;
+ return str.substring(0, N_START)
+ + "..."
+ + str.substring(len - N_START, len);
+ }
+
+ public void loadMultipleGeometriesFromFile(int geomIndex, String filename)
+ throws Exception
+ {
+ Geometry g = IOUtil.readFile(filename, getGeometryFactory());
+ TestCaseEdit testCaseEdit = getCurrentCase();
+ testCaseEdit.setGeometry(geomIndex, g);
+ testCaseEdit.setName(filename);
+ getGeometryEditModel().setTestCase(testCaseEdit);
+ }
+
+ public void loadGeometryText(String wktA, String wktB) throws ParseException, IOException {
+ MultiFormatReader reader = new MultiFormatReader(new GeometryFactory(getPrecisionModel(),0));
+
+ // read geom A
+ Geometry g0 = null;
+ if (wktA.length() > 0) {
+ g0 = reader.read(wktA);
+ }
+
+ // read geom B
+ Geometry g1 = null;
+ if (wktB.length() > 0) {
+ g1 = reader.read(wktB);
+ }
+
+ TestCaseEdit testCaseEdit = getCurrentCase();
+ testCaseEdit.setGeometry(0, g0);
+ testCaseEdit.setGeometry(1, g1);
+ getGeometryEditModel().setTestCase(testCaseEdit);
+ }
+
+
+
+ /*
+ public Geometry readMultipleGeometriesFromFile(String filename)
+ throws Exception, IOException
+ {
+ String ext = FileUtil.extension(filename);
+ if (ext.equalsIgnoreCase("shp"))
+ return readMultipleGeometriesFromShapefile(filename);
+ return readMultipleGeometryFromWKT(filename);
+ }
+
+ private Geometry readMultipleGeometriesFromShapefile(String filename)
+ throws Exception
+ {
+ Shapefile shpfile = new Shapefile(new FileInputStream(filename));
+ GeometryFactory geomFact = getGeometryFactory();
+ shpfile.readStream(geomFact);
+ List geomList = new ArrayList();
+ do {
+ Geometry geom = shpfile.next();
+ if (geom == null)
+ break;
+ geomList.add(geom);
+ } while (true);
+
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(geomList));
+ }
+
+ private Geometry readMultipleGeometryFromWKT(String filename)
+ throws ParseException, IOException
+ {
+ return readMultipleGeometryFromWKTString(FileUtil.readText(filename));
+ }
+
+ private Geometry readMultipleGeometryFromWKTString(String geoms)
+ throws ParseException, IOException
+ {
+ GeometryFactory geomFact = getGeometryFactory();
+ WKTReader reader = new WKTReader(geomFact);
+ WKTFileReader fileReader = new WKTFileReader(new StringReader(geoms), reader);
+ List geomList = fileReader.read();
+
+ if (geomList.size() == 1)
+ return (Geometry) geomList.get(0);
+
+ // TODO: turn polygons into a GC
+ return geomFact.buildGeometry(geomList);
+ }
+
+ */
+
+ //=============================================================
+
+ private CaseList caseList = new CaseList(new CaseList.CaseFactory() {
+ public TestCaseEdit create() {
+ return new TestCaseEdit(precisionModel);
+ }
+ });
+
+ public CaseList cases() {
+ return caseList;
+ }
+ public TestCaseEdit getCurrentCase() {
+ return caseList.getCurrentCase();
+ }
+ public int getCurrentCaseIndex() {
+ return caseList.getCurrentTestIndex();
+ }
+ public int getCasesSize() {
+ return caseList.getSize();
+ }
+ public List getCases() {
+ return caseList.getCases();
+ }
+ public TestCaseList getTestCaseList() {
+ return caseList.tcList;
+ }
+ public void addCase(Geometry[] geoms) {
+ addCase(geoms, null);
+ }
+
+ public void addCase(Geometry[] geoms, String name) {
+ TestCaseEdit tc = new TestCaseEdit(geoms, name);
+ caseList.addCase(tc);
+ }
+
+ //=================================================================
+
+ public void openXmlFilesAndDirectories(File[] files) throws Exception {
+ TestCaseList testCaseList = createTestCaseList(files);
+ PrecisionModel precisionModel = new PrecisionModel();
+ if (!testCaseList.getList().isEmpty()) {
+ TestRunnerTestCaseAdapter a = (TestRunnerTestCaseAdapter) testCaseList.getList().get(0);
+ precisionModel = a.getTestRunnerTestCase().getTestRun().getPrecisionModel();
+ }
+ if (getCases().size() == 1
+ && ((Testable) getCases().get(0)).getGeometry(0) == null
+ && ((Testable) getCases().get(0)).getGeometry(1) == null) {
+ loadTestCaseList(testCaseList, precisionModel);
+ }
+ else {
+ TestCaseList newList = new TestCaseList();
+ newList.add(getTestCaseList());
+ int firstIndex = newList.size();
+ newList.add(testCaseList);
+ loadTestCaseList(newList, precisionModel);
+ caseList.setCurrentTestIndex(firstIndex);
+ }
+ }
+
+ void loadTestCaseList(TestCaseList tcl, PrecisionModel precisionModel) throws Exception {
+ setPrecisionModel(precisionModel);
+ if (tcl != null) {
+ loadEditList(tcl);
+ }
+ }
+
+ public void loadEditList(TestCaseList tcl) throws ParseException {
+ TestCaseList newTcl = new TestCaseList();
+ for (Iterator i = tcl.getList().iterator(); i.hasNext();) {
+ Testable tc = (Testable) i.next();
+
+ if (tc instanceof TestCaseEdit) {
+ newTcl.add((TestCaseEdit) tc);
+ } else {
+ newTcl.add(new TestCaseEdit(tc));
+ }
+ }
+ caseList.init(newTcl);
+ }
+
+ private TestCaseList createTestCaseList(File[] filesAndDirectories) {
+ TestCaseList testCaseList = new TestCaseList();
+ for (int i = 0; i < filesAndDirectories.length; i++) {
+ File fileOrDirectory = filesAndDirectories[i];
+ if (fileOrDirectory.isFile()) {
+ testCaseList.add(createTestCaseList(fileOrDirectory));
+ }
+ else if (fileOrDirectory.isDirectory()) {
+ testCaseList.add(createTestCaseListFromDirectory(fileOrDirectory));
+ }
+ }
+ return testCaseList;
+ }
+
+ private TestCaseList createTestCaseListFromDirectory(File directory) {
+ Assert.isTrue(directory.isDirectory());
+ TestCaseList testCaseList = new TestCaseList();
+ List files = Arrays.asList(directory.listFiles());
+ for (Iterator i = files.iterator(); i.hasNext(); ) {
+ File file = (File) i.next();
+ testCaseList.add(createTestCaseList(file));
+ }
+ return testCaseList;
+ }
+
+ private TestCaseList createTestCaseList(File xmlTestFile)
+ {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(xmlTestFile, 1);
+ parseErrors = testReader.getParsingProblems();
+
+ TestCaseList tcl = new TestCaseList();
+ if (hasParseErrors()) {
+ return tcl;
+ }
+ for (Iterator i = testRun.getTestCases().iterator(); i.hasNext(); ) {
+ org.locationtech.jtstest.testrunner.TestCase testCase = (org.locationtech.jtstest.testrunner.TestCase) i.next();
+ tcl.add(new TestRunnerTestCaseAdapter(testCase));
+ }
+ return tcl;
+ }
+
+ private List parseErrors = null;
+
+ /**
+ *
+ * @return empy list if no errors
+ */
+ public List getParsingProblems()
+ {
+ return parseErrors;
+ }
+
+ public boolean hasParseErrors()
+ {
+ if (parseErrors == null) return false;
+ return parseErrors.size() > 0;
+ }
+
+ public void setResult(Object result)
+ {
+ currResult = result;
+ if (result == null || result instanceof Geometry) {
+ getCurrentCase().setResult((Geometry) result);
+ }
+ }
+
+ public Object getResult()
+ {
+ return currResult;
+ }
+ public void setOpName(String opName)
+ {
+ if (opName == null) {
+ this.opName = "";
+ }
+ else {
+ this.opName = StringUtil.capitalize(opName);
+ }
+ }
+
+ public String getOpName()
+ {
+ return opName;
+ }
+
+ public void copyResult(boolean isFormatted)
+ {
+ SwingUtil.copyToClipboard(currResult, isFormatted);
+ }
+
+ private ArrayList wktABeforePMChange = new ArrayList();
+ private ArrayList wktBBeforePMChange = new ArrayList();
+
+ public void changePrecisionModel(PrecisionModel precisionModel)
+ throws ParseException
+ {
+ saveWKTBeforePMChange();
+ setPrecisionModel(precisionModel);
+ loadWKTAfterPMChange();
+ }
+
+ private void saveWKTBeforePMChange() {
+ wktABeforePMChange.clear();
+ wktBBeforePMChange.clear();
+ for (Iterator i = getCases().iterator(); i.hasNext(); ) {
+ Testable testable = (Testable) i.next();
+ Geometry a = testable.getGeometry(0);
+ Geometry b = testable.getGeometry(1);
+ wktABeforePMChange.add(a != null ? a.toText() : null);
+ wktBBeforePMChange.add(b != null ? b.toText() : null);
+ }
+ }
+
+ private void loadWKTAfterPMChange() throws ParseException {
+ WKTReader reader = new WKTReader(new GeometryFactory(getPrecisionModel(), 0));
+ for (int i = 0; i < getCases().size(); i++) {
+ Testable testable = (Testable) getCases().get(i);
+ String wktA = (String) wktABeforePMChange.get(i);
+ String wktB = (String) wktBBeforePMChange.get(i);
+ testable.setGeometry(0, wktA != null ? reader.read(wktA) : null);
+ testable.setGeometry(1, wktB != null ? reader.read(wktB) : null);
+ }
+ }
+
+ /**
+ * Encapsulates test case cursor logic.
+ * @author Martin Davis
+ *
+ */
+ public static class CaseList {
+
+ public static interface CaseFactory {
+ TestCaseEdit create();
+ }
+
+ private TestCaseList tcList = new TestCaseList();
+ private int tcIndex = -1;
+ private CaseFactory caseFactory;
+
+ public CaseList(CaseFactory caseFactory) {
+ this.caseFactory = caseFactory;
+ }
+ public void init()
+ {
+ tcList = new TestCaseList();
+ // ensure that there is always a valid TestCase in the list
+ createNew();
+ }
+
+ public void init(TestCaseList tcl) {
+ tcList = tcl;
+ if (tcList.size() > 0) {
+ tcIndex = 0;
+ }
+ else {
+ createNew();
+ }
+ }
+
+ public List getCases() {
+ return Collections.unmodifiableList(tcList.getList());
+ }
+
+ public void setCurrent(TestCaseEdit testCase) {
+ for (int i = 0; i < tcList.size(); i++) {
+ if (tcList.get(i) == testCase) {
+ tcIndex = i;
+ return;
+ }
+ }
+ }
+
+ public TestCaseEdit getCurrentCase()
+ {
+ return (TestCaseEdit) getCurrentTestable();
+ }
+
+ public Testable getCurrentTestable() {
+ return (TestCaseEdit) tcList.get(tcIndex);
+ }
+
+ public int getCurrentTestIndex()
+ {
+ return tcIndex;
+ }
+ public void setCurrentTestIndex(int i) {
+ tcIndex = MathUtil.clamp(i, 0, getSize() -1 );
+ }
+ public TestCaseList getTestList()
+ {
+ return tcList;
+ }
+
+ public int getSize()
+ {
+ return tcList.getList().size();
+ }
+ public void prevCase() {
+ if (tcIndex > 0)
+ tcIndex--;
+ }
+
+ public void nextCase() {
+ if (tcIndex < tcList.size() - 1)
+ tcIndex++;
+ }
+
+ public void copyCase() {
+ TestCaseEdit copy = null;
+ copy = new TestCaseEdit(getCurrentCase());
+ addCase(copy);
+ }
+
+ public void createNew() {
+ addCase( caseFactory.create());
+ }
+
+ private void addCase(TestCaseEdit testcase) {
+ if (tcIndex < 0) {
+ tcList.add(testcase);
+ }
+ else {
+ tcList.add(testcase, tcIndex+1);
+ }
+ tcIndex++;
+ }
+
+ public void deleteCase() {
+ tcList.remove(tcIndex);
+ if (tcList.size() == 0) {
+ createNew();
+ }
+ if (tcIndex >= tcList.size())
+ tcIndex = tcList.size() - 1;
+ }
+
+ }
+
+
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestCaseEdit.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestCaseEdit.java
new file mode 100644
index 0000000..969d7c4
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestCaseEdit.java
@@ -0,0 +1,156 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jtstest.test.TestCase;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestCaseEdit implements Testable {
+ private Geometry[] geom = new Geometry[2];
+ private Testable testable;
+
+ private String opName = "";
+ private Geometry resultGeom = null;
+
+
+ public TestCaseEdit(PrecisionModel pm) {
+ TestCase testCase = new TestCase();
+ testCase.setPrecisionModel(pm);
+ testable = testCase;
+ }
+
+ public TestCaseEdit(Testable tc) throws ParseException {
+ this.testable = tc;
+ testable.initGeometry();
+ setGeometry(0, testable.getGeometry(0));
+ setGeometry(1, testable.getGeometry(1));
+ }
+
+ public TestCaseEdit(TestCaseEdit tce) {
+ this.testable = new TestCase();
+ setGeometry(0, tce.getGeometry(0));
+ setGeometry(1, tce.getGeometry(1));
+ }
+
+ public TestCaseEdit(Geometry[] geom) {
+ this.testable = new TestCase();
+ setGeometry(0, geom[0]);
+ setGeometry(1, geom[1]);
+ }
+
+ public TestCaseEdit(Geometry[] geom, String name) {
+ this.testable = new TestCase();
+ setGeometry(0, geom[0]);
+ setGeometry(1, geom[1]);
+ testable.setName(name);
+ }
+
+ private static Geometry cloneGeometry(Geometry geom)
+ {
+ if (geom == null) return null;
+ return (Geometry) geom.clone();
+ }
+
+ public void setGeometry(int i, Geometry geom) {
+ testable.setGeometry(i, geom);
+ }
+
+ public void setName(String name) {
+ testable.setName(name);
+ }
+
+ public Geometry getResult()
+ {
+ return resultGeom;
+ }
+
+ public void setResult(Geometry geom)
+ {
+ resultGeom = geom;
+ }
+
+ public String getOpName() { return opName; }
+
+ public void setOpName(String name) { opName = name; }
+
+ public Geometry getGeometry(int i) {
+// return geom[i];
+ return testable.getGeometry(i);
+ }
+
+
+ public Testable getTestable() {
+ return testable;
+ }
+
+
+ public String getName() {
+ return testable.getName();
+ }
+
+ public IntersectionMatrix getIntersectionMatrix() {
+ return testable.getIntersectionMatrix();
+ }
+
+ public void setIntersectionMatrix(IntersectionMatrix im) {
+ testable.setIntersectionMatrix(im);
+ }
+ public String getDescription() {
+ return testable.getDescription();
+ }
+
+ public String getWellKnownText(int i) {
+ return testable.getWellKnownText(i);
+ }
+
+ public void exchange()
+ {
+ Geometry temp = testable.getGeometry(0);
+ testable.setGeometry(0, testable.getGeometry(1));
+ testable.setGeometry(1, temp);
+ }
+
+ public void initGeometry() throws ParseException {
+ testable.initGeometry();
+ }
+
+ public Geometry[] getGeometries() {
+ return new Geometry[] {
+ testable.getGeometry(0), testable.getGeometry(1)
+ };
+ }
+
+ public IntersectionMatrix getIM() {
+ runRelate();
+ return testable.getIntersectionMatrix();
+ }
+
+ void runRelate() {
+ Geometry[] geom = getGeometries();
+ if (geom[0] == null || geom[1] == null) {
+ return;
+ }
+ testable.setIntersectionMatrix(geom[0].relate(geom[1]));
+ }
+}
+
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestModel.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestModel.java
new file mode 100644
index 0000000..86ea5cd
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestModel.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+/**
+ * Contains the Geometry objects which the JTS Test Builder
+ * operates on
+ *
+ * @version 1.7
+ */
+public class TestModel {
+
+ public TestModel() {}
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestRunnerTestCaseAdapter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestRunnerTestCaseAdapter.java
new file mode 100644
index 0000000..837d565
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestRunnerTestCaseAdapter.java
@@ -0,0 +1,286 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+import java.util.Arrays;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.geomop.*;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.testrunner.BooleanResult;
+import org.locationtech.jtstest.testrunner.GeometryResult;
+import org.locationtech.jtstest.testrunner.Result;
+import org.locationtech.jtstest.testrunner.SimpleReportWriter;
+import org.locationtech.jtstest.testrunner.Test;
+import org.locationtech.jtstest.testrunner.TestCase;
+
+
+/**
+ * @version 1.7
+ */
+public class TestRunnerTestCaseAdapter
+ implements Testable {
+ private TestCase testCase;
+ private boolean ranAtLeastOnce = false;
+ private WKTWriter wktWriter = new WKTWriter();
+
+ public TestRunnerTestCaseAdapter(org.locationtech.jtstest.testrunner.TestCase testCase) {
+ this.testCase = testCase;
+ }
+
+ public void setGeometry(int index, Geometry g) {
+ if (index == 0) {
+ testCase.setGeometryA(g);
+ }
+ else if (index == 1) {
+ testCase.setGeometryB(g);
+ }
+ else {
+ Assert.shouldNeverReachHere();
+ }
+ }
+
+ public void setIntersectionMatrix(IntersectionMatrix im) { }
+
+ public void setName(String name) {
+ testCase.setDescription(name);
+ }
+
+ public void setExpectedIntersectionMatrix(String expectedIntersectionMatrix) {
+ getOrCreateABTest("relate").setArgument(1, expectedIntersectionMatrix);
+ }
+
+ public void setExpectedConvexHull(Geometry expectedConvexHull) {
+ setExpectedSpatialFunction("convexhull", expectedConvexHull);
+ }
+
+ public void setExpectedBoundary(Geometry expectedBoundary) {
+ setExpectedSpatialFunction("getboundary", expectedBoundary);
+ }
+
+ public void setExpectedIntersection(Geometry expectedIntersection) {
+ setExpectedSpatialFunction("intersection", expectedIntersection);
+ }
+
+ public void setExpectedUnion(Geometry expectedUnion) {
+ setExpectedSpatialFunction("union", expectedUnion);
+ }
+
+ public void setExpectedDifference(Geometry expectedDifference) {
+ setExpectedSpatialFunction("difference", expectedDifference);
+ }
+
+ public void setExpectedSymDifference(Geometry expectedSymDifference) {
+ setExpectedSpatialFunction("symdifference", expectedSymDifference);
+ }
+
+ public void setExpectedCentroid(Geometry expected) {
+ setExpectedSpatialFunction("centroid", expected);
+ }
+
+ public boolean isFailed() {
+ if (!ranAtLeastOnce) {
+ return false;
+ }
+ for (Iterator i = testCase.getTests().iterator(); i.hasNext(); ) {
+ org.locationtech.jtstest.testrunner.Test test = (org.locationtech.jtstest.testrunner.Test) i.next();
+ if (!test.isPassed()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public String getFailedMsg() {
+ if (!ranAtLeastOnce) {
+ return "";
+ }
+ for (Iterator i = testCase.getTests().iterator(); i.hasNext(); ) {
+ org.locationtech.jtstest.testrunner.Test test = (org.locationtech.jtstest.testrunner.Test) i.next();
+ if (!test.isPassed()) {
+ SimpleReportWriter reportWriter = new SimpleReportWriter(false);
+ return reportWriter.write(test);
+ }
+ }
+ return "";
+ }
+
+ public String getName() {
+ return testCase.getDescription();
+ }
+
+ public Geometry getGeometry(int index) {
+ if (index == 0) {
+ return testCase.getGeometryA();
+ }
+ else if (index == 1) {
+ return testCase.getGeometryB();
+ }
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+
+ public IntersectionMatrix getIntersectionMatrix() {
+ return testCase.getGeometryA().relate(testCase.getGeometryB());
+ }
+
+ public String getDescription() {
+ return testCase.getDescription();
+ }
+
+ public boolean isPassed() {
+ if (!ranAtLeastOnce) {
+ return false;
+ }
+ for (Iterator i = testCase.getTests().iterator(); i.hasNext(); ) {
+ org.locationtech.jtstest.testrunner.Test test = (org.locationtech.jtstest.testrunner.Test) i.next();
+ if (!test.isPassed()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public String getWellKnownText(int index) {
+ if (index == 0) {
+ if (testCase.getGeometryA() == null) {
+ return null;
+ }
+ return wktWriter.write(testCase.getGeometryA());
+ }
+ else if (index == 1) {
+ if (testCase.getGeometryB() == null) {
+ return null;
+ }
+ return wktWriter.write(testCase.getGeometryB());
+ }
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+
+ public TestCase getTestRunnerTestCase() {
+ return testCase;
+ }
+
+ public String getExpectedIntersectionMatrix() {
+ Test test = getABTest("relate");
+ if (test == null) {
+ return null;
+ }
+ return test.getArgument(1);
+ }
+
+ public Geometry getExpectedConvexHull() {
+ return toGeometry(getABTest("convexhull"));
+ }
+
+ public Geometry getExpectedBoundary() {
+ return toGeometry(getABTest("getboundary"));
+ }
+
+ public Geometry getExpectedIntersection() {
+ return toGeometry(getABTest("intersection"));
+ }
+
+ public Geometry getExpectedUnion() {
+ return toGeometry(getABTest("union"));
+ }
+
+ public Geometry getExpectedDifference() {
+ return toGeometry(getABTest("difference"));
+ }
+
+ public Geometry getExpectedSymDifference() {
+ return toGeometry(getABTest("symdifference"));
+ }
+
+ public void runTest() throws ParseException {
+ ranAtLeastOnce = true;
+ testCase.run();
+ }
+
+ public void initGeometry() throws ParseException { }
+
+ public Geometry toGeometry(Test test) {
+ if (test == null) {
+ return null;
+ }
+ Assert.isTrue(test.getExpectedResult() instanceof GeometryResult);
+ return ((GeometryResult) test.getExpectedResult()).getGeometry();
+ }
+
+ private void setExpectedSpatialFunction(String opName, Geometry expectedGeometry) {
+ if (expectedGeometry == null) {
+ getOrCreateABTest(opName).getTestCase().remove(getOrCreateABTest(opName));
+ return;
+ }
+ getOrCreateABTest(opName).setResult(new GeometryResult(expectedGeometry));
+ }
+
+ private Test getOrCreateABTest(String opName) {
+ Test testToReturn = getABTest(opName);
+ if (testToReturn == null) {
+ testToReturn = new Test(testCase, maxTestIndex(testCase) + 1, null, opName, "A",
+ Arrays.asList(new String[]{"B"}),
+ getDefaultResult(opName),
+ 0);
+ testCase.add(testToReturn);
+ }
+ return testToReturn;
+ }
+
+ private Result getDefaultResult(String opName) {
+ if (GeometryMethodOperation.isBooleanFunction(opName)) {
+ return new BooleanResult(true);
+ }
+ if (GeometryMethodOperation.isGeometryFunction(opName)) {
+ return new GeometryResult(
+ new GeometryFactory(testCase.getTestRun().getPrecisionModel(),
+ 0).createGeometryCollection(null));
+ }
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+
+ private Test getABTest(String opName) {
+ Assert.isTrue(GeometryMethodOperation.isBooleanFunction(opName)
+ || GeometryMethodOperation.isGeometryFunction(opName));
+ for (Iterator i = testCase.getTests().iterator(); i.hasNext(); ) {
+ Test test = (Test) i.next();
+ if (test.getOperation().equalsIgnoreCase(opName)
+ && ((!opName.equalsIgnoreCase("relate"))
+ || test.getExpectedResult().equals(new BooleanResult(true)))
+ && (test.getGeometryIndex().equalsIgnoreCase("A"))
+ && ((test.getArgumentCount() == 0) || (
+ test.getArgument(0) != null
+ && (test.getArgument(0).equalsIgnoreCase("B"))))) {
+ return test;
+ }
+ }
+ return null;
+ }
+
+ private int maxTestIndex(TestCase testCase) {
+ int maxTestIndex = -1;
+ for (Iterator i = testCase.getTests().iterator(); i.hasNext(); ) {
+ Test test = (Test) i.next();
+ maxTestIndex = Math.max(maxTestIndex, test.getTestIndex());
+ }
+ return maxTestIndex;
+ }
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestWriter.java
new file mode 100644
index 0000000..0f2b08f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/TestWriter.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import org.locationtech.jtstest.test.Testable;
+
+
+/**
+ * @version 1.7
+ */
+public interface TestWriter {
+
+ String write(Testable testable);
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/XMLTestWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/XMLTestWriter.java
new file mode 100644
index 0000000..2ad42b2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/model/XMLTestWriter.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.model;
+
+import java.io.File;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.WKBWriter;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.test.TestCase;
+import org.locationtech.jtstest.test.TestCaseList;
+import org.locationtech.jtstest.test.Testable;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+
+/**
+ * @version 1.7
+ */
+public class XMLTestWriter
+{
+ public static String toXML(PrecisionModel precisionModel) {
+ if (precisionModel.isFloating()) {
+ return "<precisionModel type=\"FLOATING\"/>";
+ }
+ return "<precisionModel type=\"FIXED\" scale=\""
+ + precisionModel.getScale() + "\"/>";
+ }
+
+ private WKTWriter wktWriter = new WKTWriter();
+ private WKBWriter wkbWriter = new WKBWriter();
+
+ public XMLTestWriter() {
+ }
+
+ public String getTestXML(Geometry geometry, String opName, String[] arguments, boolean useWKT) {
+ String xml = " <test>\n";
+ xml += " <op name=\"" + opName + "\" arg1=\"A\"";
+ int j = 2;
+ for (int i = 0; i < arguments.length; i++) {
+ String argument = arguments[i];
+ Assert.isTrue(argument != null);
+ xml += " arg" + j + "=\"" + argument + "\"";
+ j++;
+ }
+ xml += ">\n";
+ xml += getWKTorWKB(geometry, useWKT) + "\n";
+ xml += " </op>\n";
+ xml += " </test>\n";
+ return xml;
+ }
+
+ private boolean isGdbcTestCase(TestCase testCase) {
+ if (testCase.getName() == null || testCase.getDescription() == null) {
+ return false;
+ }
+ if (testCase.getName().equalsIgnoreCase(testCase.getDescription())) {
+ return false;
+ }
+ int nameColonIndex = testCase.getName().indexOf(":");
+ int descriptionColonIndex = testCase.getDescription().indexOf(":");
+ if (nameColonIndex == -1 || descriptionColonIndex == -1) {
+ return false;
+ }
+ if (nameColonIndex != descriptionColonIndex) {
+ return false;
+ }
+ return true;
+ }
+
+ public String getDescriptionForXmlFromGdbcTestCase(TestCase testCase) {
+ int descriptionColonIndex = testCase.getDescription().indexOf(":");
+ return "<desc>" + StringUtil.escapeHTML(testCase.getName() + " ["
+ + testCase.getDescription().substring(1+descriptionColonIndex).trim()
+ + "]") + "</desc>\n";
+ }
+
+ public String getDescriptionForXml(Testable testCase) {
+ /*
+ if (isGdbcTestCase(testCase)) {
+ return getDescriptionForXmlFromGdbcTestCase(testCase);
+ }
+ */
+ if (testCase.getDescription() != null && testCase.getDescription().length() > 0) {
+ return "<desc>" + StringUtil.escapeHTML(testCase.getDescription()) + "</desc>\n";
+ }
+ if (testCase.getName() != null && testCase.getName().length() > 0) {
+ return "<desc>" + StringUtil.escapeHTML(testCase.getName()) + "</desc>\n";
+ }
+ return "<desc> "
+ + getGeometryArgPairCode(testCase.getGeometry(0), testCase.getGeometry(1) )
+ + " </desc>\n";
+ }
+
+ private static String getGeometryArgPairCode(Geometry geom0, Geometry geom1)
+ {
+ return getGeometryCode(geom0) + "/" + getGeometryCode(geom1);
+ }
+
+ private static String getGeometryCode(Geometry geom)
+ {
+ String dimCode = "";
+ if (geom instanceof Puntal) dimCode = "P";
+ if (geom instanceof Lineal) dimCode = "L";
+ if (geom instanceof Polygonal) dimCode = "L";
+
+ if (geom instanceof GeometryCollection) return "m" + dimCode;
+
+ return dimCode;
+ }
+
+ public String getTestXML(TestRunnerTestCaseAdapter adapter) {
+ return adapter.getTestRunnerTestCase().toXml();
+ }
+
+ public String getTestXML(Testable testCase)
+ {
+ return getTestXML(testCase, true);
+ }
+
+ public String getTestXML(Testable testCase, boolean useWKT) {
+ Geometry geom0 = testCase.getGeometry(0);
+ Geometry geom1 = testCase.getGeometry(1);
+ StringBuffer xml = new StringBuffer();
+ xml.append("<case>\n");
+ xml.append(getDescriptionForXml(testCase));
+ if (geom0 != null) {
+ String wkt0 = getWKTorWKB(geom0, useWKT);
+ xml.append(" <a>\n" + wkt0 + "\n </a>\n");
+ }
+ if (geom1 != null) {
+ String wkt1 = getWKTorWKB(geom1, useWKT);
+ xml.append(" <b>\n" + wkt1 + "\n </b>\n");
+ }
+ xml.append("</case>\n");
+ return xml.toString();
+ }
+
+ private String getWKTorWKB(Geometry g, boolean useWKT)
+ {
+ if (useWKT)
+ return wktWriter.writeFormatted(g);
+ return WKBWriter.toHex(wkbWriter.write(g));
+ }
+
+ public String getTestXML(TestCaseList tcList) {
+ StringBuffer xml = new StringBuffer();
+ for (int i = 0; i < tcList.getList().size(); i++) {
+ xml.append("\n");
+ xml.append(getTestXML((Testable) tcList.getList().get(i)));
+ }
+ xml.append("\n");
+ return xml.toString();
+ }
+
+ public static String getRunXml(TestCaseList tcList, PrecisionModel precModel) {
+ String runXML = "<run>" + StringUtil.newLine;
+ runXML += getRunDescription(tcList);
+ runXML += getRunWorkspace(tcList);
+ runXML += toXML(precModel) + StringUtil.newLine;
+ runXML += (new XMLTestWriter()).getTestXML(tcList) + "</run>";
+ return runXML;
+ }
+
+ public static String getRunDescription(TestCaseList l) {
+ for (Iterator i = l.getList().iterator(); i.hasNext(); ) {
+ TestCaseEdit tce = (TestCaseEdit) i.next();
+ if (tce.getTestable() instanceof TestRunnerTestCaseAdapter) {
+ TestRunnerTestCaseAdapter a = (TestRunnerTestCaseAdapter) tce.getTestable();
+ String description = a.getTestRunnerTestCase().getTestRun().getDescription();
+ if (description != null && description.length() > 0) {
+ return " <desc>" + StringUtil.escapeHTML(description)
+ + "</desc>" + StringUtil.newLine;
+ }
+ return "";
+ }
+ }
+ return "";
+ }
+
+ public static String getRunWorkspace(TestCaseList l) {
+ for (Iterator i = l.getList().iterator(); i.hasNext(); ) {
+ TestCaseEdit tce = (TestCaseEdit) i.next();
+ if (tce.getTestable() instanceof TestRunnerTestCaseAdapter) {
+ TestRunnerTestCaseAdapter a = (TestRunnerTestCaseAdapter) tce.getTestable();
+ File workspace = a.getTestRunnerTestCase().getTestRun().getWorkspace();
+ if (workspace != null) {
+ return " <workspace file=\"" + StringUtil.escapeHTML(workspace.toString())
+ + "\"/>" + StringUtil.newLine;
+ }
+ return "";
+ }
+ }
+ return "";
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/GeometryVerticesMover.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/GeometryVerticesMover.java
new file mode 100644
index 0000000..62d53a5
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/GeometryVerticesMover.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.topostretch;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+public class GeometryVerticesMover
+{
+ public static Geometry move(Geometry geom, Map moves)
+ {
+ GeometryVerticesMover mover = new GeometryVerticesMover(geom, moves);
+ return mover.move();
+ }
+
+ private Geometry geom;
+ private Map moves;
+ private List modifiedCoords = new ArrayList();
+
+ public GeometryVerticesMover(Geometry geom, Map moves)
+ {
+ this.geom = geom;
+ this.moves = moves;
+ }
+
+ public Geometry move()
+ {
+ GeometryEditor editor = new GeometryEditor();
+ MoveVerticesOperation op = new MoveVerticesOperation(moves);
+ Geometry movedGeom = editor.edit(geom, new MoveVerticesOperation(moves));
+ return movedGeom;
+ }
+
+ public List getModifiedCoordinates()
+ {
+ return modifiedCoords;
+ }
+
+ private class MoveVerticesOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ private Map moves;
+
+ public MoveVerticesOperation(Map moves)
+ {
+ this.moves = moves;
+ }
+
+
+ public Coordinate[] edit(Coordinate[] coords,
+ Geometry geometry)
+ {
+ Coordinate[] newPts = new Coordinate[coords.length];
+ for (int i = 0; i < coords.length; i++) {
+ newPts[i] = movedPt(coords[i]);
+ }
+ return newPts;
+ }
+
+ private Coordinate movedPt(Coordinate orig)
+ {
+ Coordinate newLoc = (Coordinate) moves.get(orig);
+ if (newLoc == null)
+ return orig;
+ Coordinate mod = (Coordinate) newLoc.clone();
+ modifiedCoords.add(mod);
+ return mod;
+ }
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertex.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertex.java
new file mode 100644
index 0000000..438b5af
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertex.java
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.topostretch;
+
+import org.locationtech.jts.algorithm.*;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jts.math.Vector2D;
+
+/**
+ * Models a vertex of a Geometry which will be stretched
+ * due to being too near other segments and vertices.
+ * <p>
+ * Currently for simplicity a vertex is assumed to
+ * be near only one segment or other vertex.
+ * This is sufficient for most cases.
+ *
+ * @author Martin Davis
+ *
+ */
+public class StretchedVertex
+{
+ // TODO: also provide information about the segments around the facet the vertex is near to, to allow smarter adjustment
+
+ private Coordinate vertexPt;
+ private Coordinate[] parentLine;
+ private int parentIndex;
+ private Coordinate nearPt = null;
+ private Coordinate[] nearPts = null;
+ private int nearIndex = -1;
+ private LineSegment nearSeg = null;
+ private Coordinate stretchedPt = null;
+
+ /**
+ * Creates a vertex which lies near a vertex
+ */
+ public StretchedVertex(Coordinate vertexPt, Coordinate[] parentLine, int parentIndex,
+ Coordinate nearPt, Coordinate[] nearPts, int nearIndex)
+ {
+ this.vertexPt = vertexPt;
+ this.parentLine = parentLine;
+ this.parentIndex = parentIndex;
+ this.nearPt = nearPt;
+ this.nearPts = nearPts;
+ this.nearIndex = nearIndex;
+ }
+
+ /**
+ * Creates a vertex for a point which lies near a line segment
+ * @param vertexPt
+ * @param parentLine
+ * @param parentIndex
+ * @param nearSeg
+ */
+ public StretchedVertex(Coordinate vertexPt, Coordinate[] parentLine, int parentIndex,
+ LineSegment nearSeg)
+ {
+ this.vertexPt = vertexPt;
+ this.parentLine = parentLine;
+ this.parentIndex = parentIndex;
+ this.nearSeg = nearSeg;
+ }
+
+ public Coordinate getVertexCoordinate()
+ {
+ return vertexPt;
+ }
+
+ /**
+ * Gets the point which this near vertex will be stretched to
+ * (by a given distance)
+ *
+ * @param dist the distance to adjust the point by
+ * @return the stretched coordinate
+ */
+ public Coordinate getStretchedVertex(double dist)
+ {
+ if (stretchedPt != null)
+ return stretchedPt;
+
+ if (nearPt != null) {
+ stretchedPt = displaceFromVertex(nearPt, dist);
+// stretchedPt = displaceFromPoint(nearPt, dist);
+ // displace in direction of segment this pt lies on
+ }
+ else {
+ stretchedPt = displaceFromSeg(nearSeg, dist);
+ }
+ return stretchedPt;
+ }
+
+ private boolean isNearRing()
+ {
+ return CoordinateArrays.isRing(nearPts);
+ }
+
+ private Coordinate getNearRingPoint(int i)
+ {
+ int index = i;
+ if (i < 0)
+ index = i + nearPts.length -1;
+ else if (i >= nearPts.length - 1)
+ index = i - (nearPts.length - 1);
+ return nearPts[index];
+ }
+
+ private Coordinate displaceFromPoint(Coordinate nearPt, double dist)
+ {
+ LineSegment seg = new LineSegment(nearPt, vertexPt);
+
+ // compute an adjustment which displaces in the direction of the nearPt-vertexPt vector
+ // TODO: make this robust!
+ double len = seg.getLength();
+ double frac = (dist + len) / len;
+ Coordinate strPt = seg.pointAlong(frac);
+ return strPt;
+ }
+
+ private Coordinate displaceFromSeg(LineSegment nearSeg, double dist)
+ {
+ double frac = nearSeg.projectionFactor(vertexPt);
+
+ // displace away from the segment on the same side as the original point
+ int side = nearSeg.orientationIndex(vertexPt);
+ if (side == Orientation.RIGHT)
+ dist = -dist;
+
+ return nearSeg.pointAlongOffset(frac, dist);
+ }
+
+ private Coordinate displaceFromVertex(Coordinate nearPt, double dist)
+ {
+ // handle linestring endpoints - do simple displacement
+ if (! isNearRing()
+ && nearIndex == 0 || nearIndex >= nearPts.length -1) {
+ return displaceFromPoint(nearPt, dist);
+ }
+
+ // analyze corner to see how to displace the vertex
+ // find corner points
+ Coordinate p1 = getNearRingPoint(nearIndex - 1);
+ Coordinate p2 = getNearRingPoint(nearIndex + 1);
+
+ // if vertexPt is identical to an arm of the corner, just displace the point
+ if (p1.equals2D(vertexPt) || p2.equals2D(vertexPt))
+ return displaceFromPoint(nearPt, dist);
+
+ return displaceFromCornerAwayFromArms(nearPt, p1, p2, dist);
+ }
+
+ private Coordinate displaceFromCornerOriginal(Coordinate nearPt, Coordinate p1, Coordinate p2, double dist)
+ {
+ // if corner is nearly flat, just displace point
+ // TODO: displace from vertex on appropriate side of flat line, with suitable angle
+ if (isFlat(nearPt, p1, p2))
+ return displaceFromFlatCorner(nearPt, p1, p2, dist);
+
+ Coordinate[] corner = orientCorner(nearPt, p1, p2);
+
+ // find quadrant of corner that vertex pt lies in
+ int quadrant = quadrant(vertexPt, nearPt, corner);
+
+ Vector2D normOffset = normalizedOffset(nearPt, p1, p2);
+ Vector2D baseOffset = normOffset.multiply(dist);
+ Vector2D rotatedOffset = baseOffset.rotateByQuarterCircle(quadrant);
+
+ return rotatedOffset.translate(vertexPt);
+ //return null;
+ }
+
+ private Coordinate displaceFromCorner(Coordinate nearPt, Coordinate p1, Coordinate p2, double dist)
+ {
+ Coordinate[] corner = orientCorner(nearPt, p1, p2);
+ // compute perpendicular bisector of p1-p2
+ Vector2D u1 = Vector2D.create(nearPt, corner[0]).normalize();
+ Vector2D u2 = Vector2D.create(nearPt, corner[1]).normalize();
+ double ang = u1.angle(u2);
+ Vector2D innerBisec = u2.rotate(ang / 2);
+ Vector2D offset = innerBisec.multiply(dist);
+ if (! isInsideCorner(vertexPt, nearPt, corner[0], corner[1])) {
+ offset = offset.multiply(-1);
+ }
+ return offset.translate(vertexPt);
+ }
+
+ private static final double MAX_ARM_NEARNESS_ANG = 20.0 / 180.0 * Math.PI;
+
+ private static double maxAngleToBisector(double ang)
+ {
+ double relAng = ang / 2 - MAX_ARM_NEARNESS_ANG;
+ if (relAng < 0) return 0;
+ return relAng;
+ }
+
+ /**
+ * Displaces a vertex from a corner,
+ * with angle limiting
+ * used to ensure that the displacement is not close to the arms of the corner.
+ *
+ * @param nearPt
+ * @param p1
+ * @param p2
+ * @param dist
+ * @return
+ */
+ private Coordinate displaceFromCornerAwayFromArms(Coordinate nearPt, Coordinate p1, Coordinate p2, double dist)
+ {
+ Coordinate[] corner = orientCorner(nearPt, p1, p2);
+ boolean isInsideCorner = isInsideCorner(vertexPt, nearPt, corner[0], corner[1]);
+
+ Vector2D u1 = Vector2D.create(nearPt, corner[0]).normalize();
+ Vector2D u2 = Vector2D.create(nearPt, corner[1]).normalize();
+ double cornerAng = u1.angle(u2);
+
+ double maxAngToBisec = maxAngleToBisector(cornerAng);
+
+ Vector2D bisec = u2.rotate(cornerAng / 2);
+ if (! isInsideCorner) {
+ bisec = bisec.multiply(-1);
+ double outerAng = 2 * Math.PI - cornerAng;
+ maxAngToBisec = maxAngleToBisector(outerAng);
+ }
+
+ Vector2D pointwiseDisplacement = Vector2D.create(nearPt, vertexPt).normalize();
+ double stretchAng = pointwiseDisplacement.angleTo(bisec);
+ double stretchAngClamp = MathUtil.clamp(stretchAng, -maxAngToBisec, maxAngToBisec);
+ Vector2D cornerDisplacement = bisec.rotate(-stretchAngClamp).multiply(dist);
+
+ return cornerDisplacement.translate(vertexPt);
+ }
+
+ private boolean isInsideCorner(Coordinate queryPt, Coordinate base, Coordinate p1, Coordinate p2)
+ {
+ return Orientation.index(base, p1, queryPt) == Orientation.CLOCKWISE
+ && Orientation.index(base, p2, queryPt) == Orientation.COUNTERCLOCKWISE;
+ }
+
+ private static final double POINT_LINE_FLATNESS_RATIO = 0.01;
+
+ private static boolean isFlat(Coordinate p, Coordinate p1, Coordinate p2)
+ {
+ double dist = Distance.pointToSegment(p, p1, p2);
+ double len = p1.distance(p2);
+ if (dist/len < POINT_LINE_FLATNESS_RATIO)
+ return true;
+ return false;
+ }
+
+ /**
+ *
+ * @param pt
+ * @param cornerBase the two vertices defining the
+ * @param corner the two vertices defining the arms of the corner, oriented CW
+ * @return the quadrant the pt lies in
+ */
+ private static int quadrant(Coordinate pt, Coordinate cornerBase, Coordinate[] corner)
+ {
+ if (Orientation.index(cornerBase, corner[0], pt) == Orientation.CLOCKWISE) {
+ if (Orientation.index(cornerBase, corner[1], pt) == Orientation.COUNTERCLOCKWISE) {
+ return 0;
+ }
+ else
+ return 3;
+ }
+ else {
+ if (Orientation.index(cornerBase, corner[1], pt) == Orientation.COUNTERCLOCKWISE) {
+ return 1;
+ }
+ else
+ return 2;
+ }
+ }
+
+ private static Coordinate rotateToQuadrant(Coordinate v, int quadrant)
+ {
+ switch (quadrant) {
+ case 0: return v;
+ case 1: return new Coordinate(-v.y, v.x);
+ case 2: return new Coordinate(-v.x, -v.y);
+ case 3: return new Coordinate(v.y, -v.x);
+ }
+ return null;
+ }
+
+ /**
+ * Returns an array of pts such that p0 - p[0] - [p1] is CW.
+ *
+ * @param p0
+ * @param p1
+ * @param p2
+ * @return
+ */
+ private static Coordinate[] orientCorner(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ Coordinate[] orient;
+ // TODO: not sure if determining orientation is necessary?
+ if (Orientation.CLOCKWISE == Orientation.index(p0, p1, p2)) {
+ orient = new Coordinate[] {p1, p2 };
+ }
+ else {
+ orient = new Coordinate[] { p2, p1 };
+ }
+
+ return orient;
+ }
+
+ /**
+ * Returns an array of pts such that p0 - p[0] - [p1] is CW.
+ *
+ * @param p0
+ * @param p1
+ * @param p2
+ * @return
+ */
+ private static Vector2D normalizedOffset(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ Vector2D u1 = Vector2D.create(p0, p1).normalize();
+ Vector2D u2 = Vector2D.create(p0, p2).normalize();
+ Vector2D offset = u1.add(u2).normalize();
+ return offset;
+ }
+
+ private Coordinate displaceFromFlatCorner(Coordinate nearPt, Coordinate p1, Coordinate p2, double dist)
+ {
+ // compute perpendicular bisector of p1-p2
+ Vector2D bisecVec = Vector2D.create(p2, p1).rotateByQuarterCircle(1);
+ Vector2D offset = bisecVec.normalize().multiply(dist);
+ return offset.translate(vertexPt);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertexFinder.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertexFinder.java
new file mode 100644
index 0000000..71d6845
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/StretchedVertexFinder.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.topostretch;
+
+import java.util.*;
+
+import org.locationtech.jts.algorithm.*;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+class StretchedVertexFinder
+{
+ public static List findNear(Collection linestrings, double tolerance, Envelope mask)
+ {
+ StretchedVertexFinder finder = new StretchedVertexFinder(linestrings, tolerance, mask);
+ return finder.getNearVertices();
+ }
+
+ private Collection linestrings;
+ private double tolerance = 0.0;
+ private Envelope limitEnv = null;
+ private List nearVerts = new ArrayList();
+
+ public StretchedVertexFinder(Collection linestrings, double tolerance)
+ {
+ this.linestrings = linestrings;
+ this.tolerance = tolerance;
+ }
+
+ public StretchedVertexFinder(Collection linestrings, double tolerance, Envelope limitEnv)
+ {
+ this(linestrings, tolerance);
+ this.limitEnv = limitEnv;
+ }
+
+ public List getNearVertices()
+ {
+ findNearVertices();
+ return nearVerts;
+ }
+
+ private void findNearVertices()
+ {
+ for (Iterator i = linestrings.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ findNearVertices(line);
+ }
+
+ }
+
+ private static int geomPointsLen(Coordinate[] pts)
+ {
+ int n = pts.length;
+ // don't process the last point of a ring twice
+ if (CoordinateArrays.isRing(pts))
+ n = pts.length - 1;
+ return n;
+ }
+
+ private void findNearVertices(LineString targetLine)
+ {
+ Coordinate[] pts = targetLine.getCoordinates();
+ // don't process the last point of a ring twice
+ int n = geomPointsLen(pts);
+ for (int i = 0; i < n; i++) {
+ if (limitEnv.intersects(pts[i]))
+ findNearVertex(pts, i);
+ }
+ }
+
+ private void findNearVertex(Coordinate[] linePts, int index)
+ {
+ for (Iterator i = linestrings.iterator(); i.hasNext(); ) {
+ LineString testLine = (LineString) i.next();
+ findNearVertex(linePts, index, testLine);
+ }
+ }
+
+ /**
+ * Finds a single near vertex.
+ * This is simply the first one found, not necessarily
+ * the nearest.
+ * This choice may sub-optimal, resulting
+ * in odd result geometry.
+ * It's not clear that this can be done better, however.
+ * If there are several near points, the stretched
+ * geometry is likely to be distorted anyway.
+ *
+ * @param targetPts
+ * @param index
+ * @param testLine
+ */
+ private void findNearVertex(Coordinate[] targetPts, int index, LineString testLine)
+ {
+ Coordinate targetPt = targetPts[index];
+ Coordinate[] testPts = testLine.getCoordinates();
+ // don't process the last point of a ring twice
+ int n = geomPointsLen(testPts);
+ for (int i = 0; i < n; i++) {
+ Coordinate testPt = testPts[i];
+
+ StretchedVertex stretchVert = null;
+
+ // is near to vertex?
+ double dist = testPt.distance(targetPt);
+ if (dist <= tolerance && dist != 0.0) {
+ stretchVert = new StretchedVertex(targetPt, targetPts, index, testPt, testPts, i);
+ }
+ // is near segment?
+ else if (i < testPts.length - 1) {
+ Coordinate segEndPt = testPts[i + 1];
+
+ /**
+ * Check whether pt is near or equal to other segment endpoint.
+ * If near, it will be handled by the near vertex case code.
+ * If equal, don't record it at all
+ */
+ double distToOther = segEndPt.distance(targetPt);
+ if (distToOther <= tolerance)
+ // will be handled as a point-vertex case
+ continue;
+
+ // Here we know point is not near the segment endpoints.
+ // Check if it is near the segment at all.
+ if (isPointNearButNotOnSeg(targetPt, testPt, segEndPt, tolerance)) {
+ stretchVert = new StretchedVertex(targetPt, targetPts, i, new LineSegment(testPt, testPts[i + 1]));
+ }
+ }
+ if (stretchVert != null)
+ nearVerts.add(stretchVert);
+ }
+ }
+
+ private static boolean contains(Envelope env, Coordinate p0, Coordinate p1)
+ {
+ if (! env.contains(p0)) return false;
+ if (! env.contains(p1)) return false;
+ return true;
+ }
+
+ private static boolean isPointNearButNotOnSeg(Coordinate p, Coordinate p0, Coordinate p1, double distTol)
+ {
+ // don't rely on segment distance algorithm to correctly compute zero distance
+ // on segment
+ if (Orientation.index(p0, p1, p) == Orientation.COLLINEAR)
+ return false;
+
+ // compute actual distance
+ distSeg.p0 = p0;
+ distSeg.p1 = p1;
+ double segDist = distSeg.distance(p);
+ if (segDist > distTol)
+ return false;
+ return true;
+ }
+
+ private static LineSegment distSeg = new LineSegment();
+
+ private static double distanceToSeg(Coordinate p, Coordinate p0, Coordinate p1)
+ {
+ distSeg.p0 = p0;
+ distSeg.p1 = p1;
+ double segDist = distSeg.distance(p);
+
+ // robust calculation of zero distance
+ if (Orientation.index(p0, p1, p) == Orientation.COLLINEAR)
+ segDist = 0.0;
+
+ return segDist;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/TopologyStretcher.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/TopologyStretcher.java
new file mode 100644
index 0000000..7d3863d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/topostretch/TopologyStretcher.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.topostretch;
+
+import java.util.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.geom.util.*;
+
+/**
+ * Stretches the vertices and segments of a @link Geometry}
+ * to make the topology more visible.
+ *
+ * @author Martin Davis
+ *
+ */
+public class TopologyStretcher
+{
+ private double stretchDistance = 0.1;
+
+ private Geometry[] inputGeoms;
+ private List linestrings;
+ private List[] modifiedCoords;
+
+ public TopologyStretcher(Geometry g)
+ {
+ inputGeoms = new Geometry[1];
+ inputGeoms[0] = g;
+ }
+
+ public TopologyStretcher(Geometry g1, Geometry g2)
+ {
+ inputGeoms = new Geometry[2];
+ inputGeoms[0] = g1;
+ inputGeoms[1] = g2;
+ }
+
+ public int numVerticesInMask(Envelope mask)
+ {
+ VertexInMaskCountCoordinateFilter filter = new VertexInMaskCountCoordinateFilter(mask);
+ if (inputGeoms[0] != null) inputGeoms[0].apply(filter);
+ if (inputGeoms[1] != null) inputGeoms[1].apply(filter);
+ return filter.getCount();
+ }
+
+ public Geometry[] stretch(double nearnessTol, double stretchDistance)
+ {
+ return stretch(nearnessTol, stretchDistance, null);
+ }
+
+ public Geometry[] stretch(double nearnessTol, double stretchDistance, Envelope mask)
+ {
+ this.stretchDistance = stretchDistance;
+ linestrings = extractLineStrings(inputGeoms, mask);
+
+ List nearVerts = StretchedVertexFinder.findNear(linestrings, nearnessTol, mask);
+
+ Map coordinateMoves = getCoordinateMoves(nearVerts);
+
+ Geometry[] strGeoms = new Geometry[inputGeoms.length];
+ modifiedCoords = new List[inputGeoms.length];
+
+ for (int i = 0; i < inputGeoms.length; i++) {
+ Geometry geom = (Geometry) inputGeoms[i];
+ if (geom != null) {
+ GeometryVerticesMover mover = new GeometryVerticesMover(geom, coordinateMoves);
+ Geometry stretchedGeom = mover.move();
+ strGeoms[i] = stretchedGeom;
+ modifiedCoords[i] = mover.getModifiedCoordinates();
+ }
+ }
+ return strGeoms;
+ }
+
+ /**
+ * Gets the {@link Coordinate}s in each stretched geometry which were modified (if any).
+ *
+ * @return lists of Coordinates, one for each input geometry
+ */
+ public List[] getModifiedCoordinates()
+ {
+ return modifiedCoords;
+ }
+
+ private List extractLineStrings(Geometry[] geom, Envelope mask)
+ {
+ List lines = new ArrayList();
+ LinearComponentExtracter lineExtracter = new LinearComponentExtracter(lines);
+ for (int i = 0; i < geom.length; i++ ) {
+ if (geom[i] == null) continue;
+
+ if (mask != null && ! mask.intersects(geom[i].getEnvelopeInternal()))
+ continue;
+
+ geom[i].apply(lineExtracter);
+ }
+ if (mask != null) {
+ List masked = new ArrayList();
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ if (mask.intersects(line.getEnvelopeInternal()))
+ masked.add(line);
+ }
+ return masked;
+ }
+ return lines;
+ }
+
+ private Map getCoordinateMoves(List nearVerts)
+ {
+ Map moves = new TreeMap();
+ for (Iterator i = nearVerts.iterator(); i.hasNext(); ) {
+ StretchedVertex nv = (StretchedVertex) i.next();
+ // TODO: check if move would invalidate topology. If yes, don't move
+ Coordinate src = nv.getVertexCoordinate();
+ Coordinate moved = nv.getStretchedVertex(stretchDistance);
+ if (! moved.equals2D(src))
+ moves.put(src, moved);
+ }
+ return moves;
+ }
+
+ private static class VertexInMaskCountCoordinateFilter
+ implements CoordinateFilter
+ {
+ private Envelope mask;
+ private int count = 0;
+
+ public VertexInMaskCountCoordinateFilter(Envelope mask)
+ {
+ this.mask = mask;
+ }
+
+ public void filter(Coordinate coord)
+ {
+ if (mask.contains(coord))
+ count++;
+ }
+
+ public int getCount() { return count; }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ClipImage.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ClipImage.java
new file mode 100644
index 0000000..c9df7a9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ClipImage.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+
+public class ClipImage implements Transferable, ClipboardOwner {
+
+ private byte[] image;
+
+ public ClipImage(byte[] im)
+ {
+ image = im;
+ }
+
+ public DataFlavor[] getTransferDataFlavors()
+ {
+ return new DataFlavor[] { DataFlavor.imageFlavor };
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor flavor)
+ {
+ return DataFlavor.imageFlavor.equals(flavor);
+ }
+
+ public Object getTransferData(DataFlavor flavor) throws
+ UnsupportedFlavorException
+ {
+ if (!isDataFlavorSupported(flavor))
+ throw new UnsupportedFlavorException(flavor);
+ return Toolkit.getDefaultToolkit().createImage(image);
+ }
+
+ public void lostOwnership(java.awt.datatransfer.Clipboard clip,
+ java.awt.datatransfer.Transferable tr)
+
+ {
+ return;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ColorUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ColorUtil.java
new file mode 100644
index 0000000..e7c6449
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ColorUtil.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.Color;
+
+import org.locationtech.jts.math.MathUtil;
+
+
+public class ColorUtil {
+
+ public static Color gray(int grayVal)
+ {
+ return new Color(grayVal, grayVal, grayVal);
+ }
+
+ public static Color opaque(Color clr)
+ {
+ return new Color(clr.getRed(), clr.getGreen(), clr.getBlue());
+ }
+
+ public static Color lighter(Color clr)
+ {
+ return lighter(clr, 0.4);
+ }
+
+ public static Color lighter(Color clr, double saturationFraction)
+ {
+ float[] hsb = new float[3];
+ Color.RGBtoHSB(clr.getRed(), clr.getGreen(), clr.getBlue(), hsb);
+ hsb[1] = (float) MathUtil.clamp(hsb[1] * saturationFraction, 0, 1);
+ Color chsb = Color.getHSBColor(hsb[0], hsb[1], hsb[2]);
+ return new Color(chsb.getRed(), chsb.getGreen(), chsb.getBlue(), clr.getAlpha());
+ }
+
+ public static Color saturate(Color clr, double saturation)
+ {
+ float[] hsb = new float[3];
+ Color.RGBtoHSB(clr.getRed(), clr.getGreen(), clr.getBlue(), hsb);
+ hsb[1] = (float) MathUtil.clamp(saturation, 0, 1);;
+ return Color.getHSBColor(hsb[0], hsb[1], hsb[2]);
+ }
+
+ public static float getHue(Color clr) {
+ float[] hsb = Color.RGBtoHSB(clr.getRed(), clr.getGreen(), clr.getBlue(), null);
+ return hsb[0];
+ }
+
+ public static Color setAlpha(Color clr, int alpha) {
+ return new Color(clr.getRed(), clr.getGreen(), clr.getBlue(), alpha);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GeometryLocationsWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GeometryLocationsWriter.java
new file mode 100644
index 0000000..115df9a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GeometryLocationsWriter.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.geom.*;
+import java.util.*;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.geom.*;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+public class GeometryLocationsWriter
+{
+ public static String writeLocation(LayerList layers,
+ Coordinate pt, double tolerance)
+ {
+ GeometryLocationsWriter writer = new GeometryLocationsWriter();
+ return writer.writeLocationString(layers, pt, tolerance);
+ }
+
+ private static final int MAX_ITEMS_TO_DISPLAY = 10;
+
+ private boolean isHtmlFormatted = true;
+ private String eol = null;
+ private String highlightStart = null;
+ private String highlightEnd = null;
+ private String documentStart = null;
+ private String documentEnd = null;
+
+ public GeometryLocationsWriter() {
+ setHtml(true);
+ }
+
+ public void setHtml(boolean isHtmlFormatted)
+ {
+ this.isHtmlFormatted = isHtmlFormatted;
+ if (isHtmlFormatted) {
+ eol = "<br>";
+ highlightStart = "<b>";
+ highlightEnd = "</b>";
+ documentStart = "<html>";
+ documentEnd = "</html>";
+ }
+ else {
+ eol = "\n";
+ highlightStart = "";
+ highlightEnd = "";
+ documentStart = "";
+ documentEnd = "";
+ }
+ }
+
+ public String writeLocationString(LayerList layers,
+ Coordinate pt, double tolerance)
+ {
+ StringBuffer text = new StringBuffer();
+ for (int i = 0; i < layers.size(); i++) {
+
+ Layer lyr = layers.getLayer(i);
+ String locStr = writeLocation(lyr, pt, tolerance);
+ if (locStr == null) continue;
+
+ if (i > 0 && text.length() > 0) {
+ text.append(eol);
+ text.append(eol);
+ }
+
+ text.append(highlightStart + lyr.getName() + highlightEnd + eol);
+ text.append(locStr);
+ }
+
+ if (text.length() > 0) {
+ return documentStart + text.toString() +documentEnd;
+ }
+ return null;
+ }
+
+ public String writeSingleLocation(Layer lyr, Coordinate p, double tolerance)
+ {
+ Geometry geom = lyr.getGeometry();
+ if (geom == null) return null;
+
+ VertexLocater locater = new VertexLocater(geom);
+ Coordinate coord = locater.getVertex(p, tolerance);
+ int index = locater.getIndex();
+
+ if (coord == null) return null;
+ return "[" + index + "]: "
+ + coord.x + ", " + coord.y;
+ }
+
+ public String writeLocation(Layer lyr, Coordinate p, double tolerance)
+ {
+ Geometry geom = lyr.getGeometry();
+ if (geom == null) return null;
+
+ String locStr = writeComponentLocation(geom, p, tolerance);
+ String facetStr = writeFacetLocation(geom, p, tolerance);
+ if (facetStr == null)
+ return locStr;
+ return locStr + facetStr;
+ }
+
+
+ public String writeComponentLocation(Geometry geom, Coordinate p, double tolerance)
+ {
+ ComponentLocater locater = new ComponentLocater(geom);
+ List locs = locater.getComponents(p, tolerance);
+
+ StringBuffer buf = new StringBuffer();
+ int count = 0;
+ for (Iterator i = locs.iterator(); i.hasNext(); ) {
+
+ GeometryLocation loc = (GeometryLocation) i.next();
+ Geometry comp = loc.getComponent();
+
+ String path = loc.pathString();
+ path = path.length() == 0 ? "" : path;
+ buf.append("[" + path + "] ");
+
+ buf.append(comp.getGeometryType().toUpperCase());
+ if (comp instanceof GeometryCollection) {
+ buf.append("[" + comp.getNumGeometries() + "]");
+ }
+ else {
+ buf.append("(" + comp.getNumPoints() + ")");
+ }
+ if (comp.getUserData() != null) {
+ buf.append(" Data: ");
+ buf.append(comp.getUserData().toString());
+ }
+ buf.append(eol);
+
+ if (count++ > MAX_ITEMS_TO_DISPLAY) {
+ buf.append(" & more..." + eol);
+ break;
+ }
+ }
+ String locStr = buf.toString();
+ if (locStr.length() == 0)
+ return null;
+ return locStr;
+ }
+
+ public String writeFacetLocation(Geometry geom, Coordinate p, double tolerance)
+ {
+ FacetLocater locater = new FacetLocater(geom);
+ List locs = locater.getLocations(p, tolerance);
+ List vertexLocs = FacetLocater.filterVertexLocations(locs);
+
+ // only show vertices if some are present, to avoid confusing with segments
+ if (! vertexLocs.isEmpty())
+ return writeFacetLocations(vertexLocs);
+
+ // write 'em all
+ return writeFacetLocations(locs);
+ }
+
+ private String writeFacetLocations(List locs)
+ {
+ if (locs.size() <= 0) return null;
+
+ StringBuffer buf = new StringBuffer();
+ boolean isFirst = true;
+ int count = 0;
+ for (Iterator i = locs.iterator(); i.hasNext(); ) {
+ GeometryLocation loc = (GeometryLocation) i.next();
+
+ if (! isFirst) {
+ buf.append(eol);
+ }
+
+ isFirst = false;
+
+ buf.append(componentType(loc));
+ buf.append(loc.isVertex() ? "Vert" : "Seg");
+ buf.append(loc.toFacetString());
+ if (! loc.isVertex()) {
+ buf.append(" Len: " + loc.getLength());
+ }
+ if (count++ > MAX_ITEMS_TO_DISPLAY) {
+ buf.append(eol + " & more..." + eol);
+ break;
+ }
+ }
+ return buf.toString();
+ }
+
+ private String componentType(GeometryLocation loc) {
+ String compType = "";
+ if (loc.getComponent() instanceof LinearRing) {
+ boolean isCCW = Orientation.isCCW(loc.getComponent().getCoordinates());
+ compType = "Ring"
+ + (isCCW ? "-CCW" : "-CW ")
+ + " ";
+ }
+ else if (loc.getComponent() instanceof LineString) {
+ compType = "Line ";
+ }
+ else if (loc.getComponent() instanceof Point) {
+ compType = "Point ";
+ }
+ return compType;
+ }
+
+ public String OLDwriteLocation(Geometry geom, Coordinate p, double tolerance)
+ {
+ VertexLocater locater = new VertexLocater(geom);
+ List locs = locater.getLocations(p, tolerance);
+
+ if (locs.size() <= 0) return null;
+
+ StringBuffer buf = new StringBuffer();
+ boolean isFirst = true;
+ for (Iterator i = locs.iterator(); i.hasNext(); ) {
+ VertexLocater.Location vertLoc = (VertexLocater.Location) i.next();
+ int index = vertLoc.getIndices()[0];
+ Coordinate pt = vertLoc.getCoordinate();
+ if (! isFirst) {
+ buf.append(eol + "--");
+ }
+ isFirst = false;
+ String locStr = "[" + index + "]: "
+ + pt.x + ", " + pt.y;
+ buf.append(locStr);
+ }
+
+ return buf.toString();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GraphicsUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GraphicsUtil.java
new file mode 100644
index 0000000..8b767ad
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/GraphicsUtil.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.Graphics2D;
+
+public class GraphicsUtil {
+
+ public static void drawStringAlignCenter(Graphics2D g2d, String s, int x, int y) {
+ int stringLen = (int) g2d.getFontMetrics().getStringBounds(s, g2d).getWidth();
+ g2d.drawString(s, x - stringLen /2, y);
+
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ImageUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ImageUtil.java
new file mode 100644
index 0000000..8902b02
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/ImageUtil.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.*;
+import java.awt.datatransfer.Clipboard;
+import java.awt.image.BufferedImage;
+import java.awt.image.RenderedImage;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+
+public class ImageUtil
+{
+ public static String IMAGE_FORMAT_NAME_PNG = "png";
+
+ public static void saveImageToClipboard(Component comp, String formatName)
+ throws IOException
+ {
+ Image image = new BufferedImage(
+ comp.getSize().width,
+ comp.getSize().height,
+ BufferedImage.TYPE_4BYTE_ABGR);
+ comp.paint(image.getGraphics());
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ImageIO.write((RenderedImage) image, formatName, bos);
+
+ Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+ ClipImage ci = new ClipImage(bos.toByteArray());
+ clipboard.setContents(ci, null);
+ }
+
+
+ public static void writeImage(Component comp, String filename, String formatName)
+ throws IOException
+ {
+ Image image = new BufferedImage(
+ comp.getSize().width,
+ comp.getSize().height,
+ BufferedImage.TYPE_4BYTE_ABGR);
+ comp.paint(image.getGraphics());
+
+ ImageIO.write((RenderedImage) image, formatName,
+ new File(filename));
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingUtil.java
new file mode 100644
index 0000000..6dbbccc
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingUtil.java
@@ -0,0 +1,240 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.Component;
+import java.awt.Insets;
+import java.awt.SystemColor;
+import java.awt.Toolkit;
+import java.util.Collection;
+import java.awt.datatransfer.*;
+import java.awt.event.ActionListener;
+import java.io.File;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+import javax.swing.filechooser.FileFilter;
+import javax.swing.text.JTextComponent;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.model.GeometryTransferable;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+public class SwingUtil {
+
+ public static FileFilter XML_FILE_FILTER = createFileFilter("JTS Test XML File (*.xml)", ".xml");
+ public static FileFilter JAVA_FILE_FILTER = createFileFilter("Java File (*.java)", ".java");
+ public static FileFilter PNG_FILE_FILTER = createFileFilter("PNG File (*.png)", ".png");
+
+ /**
+ *
+ * Example usage:
+ * <pre>
+ * SwingUtil.createFileFilter("JEQL script (*.jql)", "jql")
+ * </pre>
+ * @param description
+ * @param extension
+ * @return the file filter
+ */
+ public static FileFilter createFileFilter(final String description, String extension)
+ {
+ final String dotExt = extension.startsWith(".") ? extension : "." + extension;
+ FileFilter ff = new FileFilter() {
+ public String getDescription() {
+ return description;
+ }
+ public boolean accept(File f) {
+ return f.isDirectory() || f.toString().toLowerCase().endsWith(dotExt);
+ }
+ };
+ return ff;
+ }
+
+ /**
+ *
+ * @param comp
+ * @param fileChooser
+ * @return filename chosen, or
+ * null if choose was cancelled for some reason
+ */
+ public static String chooseFilenameWithConfirm(Component comp, JFileChooser fileChooser) {
+ try {
+ if (JFileChooser.APPROVE_OPTION == fileChooser.showSaveDialog(comp)) {
+ File file = fileChooser.getSelectedFile();
+ if (! SwingUtil.confirmOverwrite(comp, file)) return null;
+ String fullFileName = fileChooser.getSelectedFile().toString();
+ return fullFileName;
+ }
+ }
+ catch (Exception x) {
+ SwingUtil.reportException(comp, x);
+ }
+ return null;
+ }
+
+
+ public static boolean confirmOverwrite(Component comp, File file)
+ {
+ if (file.exists()) {
+ int decision = JOptionPane.showConfirmDialog(comp, file.getName()
+ + " exists. Overwrite?", "Confirmation", JOptionPane.YES_NO_OPTION,
+ JOptionPane.WARNING_MESSAGE);
+ if (decision == JOptionPane.NO_OPTION) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public static void setEnabledWithBackground(Component comp, boolean isEnabled)
+ {
+ comp.setEnabled(isEnabled);
+ if (isEnabled)
+ comp.setBackground(SystemColor.text);
+ else
+ comp.setBackground(SystemColor.control);
+ }
+
+ public static Object coerce(Object val, Class clz) {
+ if (val == null) return val;
+ if (val.getClass() == clz) return val;
+ if (val instanceof String && (clz == Double.class || clz == double.class))
+ return convertDouble((String) val);
+ if (val instanceof String && (clz == Integer.class || clz == int.class))
+ return convertInteger((String) val);
+ return val;
+ }
+
+ public static Integer convertInteger(String str) {
+ int val = 0;
+ try {
+ val = Integer.parseInt(str);
+ } catch (NumberFormatException ex) {
+ }
+ return new Integer(val);
+ }
+
+ public static Double convertDouble(String str) {
+ double val = 0;
+ try {
+ val = Double.parseDouble(str);
+ } catch (NumberFormatException ex) {
+ }
+ return new Double(val);
+ }
+
+ public static Integer getInteger(JTextField txt, Integer defaultVal) {
+ String str = txt.getText();
+ if (str.trim().length() <= 0)
+ return defaultVal;
+
+ int val = 0;
+ try {
+ val = Integer.parseInt(str);
+ } catch (NumberFormatException ex) {
+ }
+ return new Integer(val);
+ }
+
+ public static Double getDouble(JTextField txt, Double defaultVal) {
+ String str = txt.getText();
+ if (str.trim().length() <= 0)
+ return defaultVal;
+
+ double val = 0;
+ try {
+ val = Double.parseDouble(str);
+ } catch (NumberFormatException ex) {
+ }
+ return new Double(val);
+ }
+
+ public static String value(JTextComponent txt) {
+ return txt.getText();
+ }
+
+ public static Object value(JComboBox cb, Object[] val)
+ {
+ int selIndex = cb.getSelectedIndex();
+ if (selIndex == -1)
+ return null;
+ return val[selIndex];
+ }
+
+ public static void copyToClipboard(Object o, boolean isFormatted)
+ {
+ if (o instanceof Geometry) {
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
+ new GeometryTransferable((Geometry) o, isFormatted), null);
+ }
+ else
+ // transfer as string
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
+ new StringSelection(o.toString()), null);
+ }
+
+ public static Object getFromClipboard() {
+ Transferable transferable = getContents(Toolkit.getDefaultToolkit()
+ .getSystemClipboard());
+
+ try {
+ if (transferable.isDataFlavorSupported(GeometryTransferable.GEOMETRY_FLAVOR)) {
+ return transferable.getTransferData(GeometryTransferable.GEOMETRY_FLAVOR);
+ }
+ // attempt to read as string
+ return transferable.getTransferData(DataFlavor.stringFlavor);
+ }
+ catch (Exception ex) {
+ // eat exception, since there isn't anything we can do
+ }
+ return null;
+ }
+
+ public static Transferable getContents(Clipboard clipboard) {
+ try {
+ return clipboard.getContents(null);
+ } catch (Throwable t) {
+ return null;
+ }
+ }
+
+ public static void reportException(Component c, Exception e) {
+ JOptionPane.showMessageDialog(c, StringUtil.wrap(e.toString(), 80), "Exception",
+ JOptionPane.ERROR_MESSAGE);
+ e.printStackTrace(System.out);
+ }
+
+ public static JButton createButton(ImageIcon icon, String tip, ActionListener action ) {
+ JButton btn = new JButton();
+ btn.setToolTipText(tip);
+ btn.setIcon(icon);
+ btn.setMargin(new Insets(0, 0, 0, 0));
+ if (action != null) btn.addActionListener(action);
+ return btn;
+ }
+
+ public static JButton createButton(String title, String tip, ActionListener action ) {
+ JButton btn = new JButton();
+ btn.setText(title);
+ if (tip != null) btn.setToolTipText(tip);
+ //btn.setMargin(new Insets(0, 0, 0, 0));
+ if (action != null) btn.addActionListener(action);
+ return btn;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingWorker.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingWorker.java
new file mode 100644
index 0000000..409bfbd
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/SwingWorker.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import javax.swing.SwingUtilities;
+
+/**
+ * This is the 3rd version of SwingWorker (also known as
+ * SwingWorker 3), an abstract class that you subclass to
+ * perform GUI-related work in a dedicated thread. For
+ * instructions on using this class, see:
+ *
+ * http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
+ *
+ * Note that the API changed slightly in the 3rd version:
+ * You must now invoke start() on the SwingWorker after
+ * creating it.
+ */
+public abstract class SwingWorker {
+ private Object value; // see getValue(), setValue()
+
+ /**
+ * Class to maintain reference to current worker thread
+ * under separate synchronization control.
+ */
+ private static class ThreadVar {
+ private Thread thread;
+ ThreadVar(Thread t) { thread = t; }
+ synchronized Thread get() { return thread; }
+ synchronized void clear() { thread = null; }
+ }
+
+ private ThreadVar threadVar;
+
+ /**
+ * Get the value produced by the worker thread, or null if it
+ * hasn't been constructed yet.
+ */
+ protected synchronized Object getValue() {
+ return value;
+ }
+
+ /**
+ * Set the value produced by worker thread
+ */
+ private synchronized void setValue(Object x) {
+ value = x;
+ }
+
+ /**
+ * Compute the value to be returned by the <code>get</code> method.
+ */
+ public abstract Object construct();
+
+ /**
+ * Called on the event dispatching thread (not on the worker thread)
+ * after the <code>construct</code> method has returned.
+ */
+ public void finished() {
+ }
+
+ /**
+ * A new method that interrupts the worker thread. Call this method
+ * to force the worker to stop what it's doing.
+ */
+ public void interrupt() {
+ Thread t = threadVar.get();
+ if (t != null) {
+ System.out.println("Interrupted!");
+ t.interrupt();
+ }
+ threadVar.clear();
+ }
+
+ /**
+ * Return the value created by the <code>construct</code> method.
+ * Returns null if either the constructing thread or the current
+ * thread was interrupted before a value was produced.
+ *
+ * @return the value created by the <code>construct</code> method
+ */
+ public Object get() {
+ while (true) {
+ Thread t = threadVar.get();
+ if (t == null) {
+ return getValue();
+ }
+ try {
+ t.join();
+ }
+ catch (InterruptedException e) {
+ Thread.currentThread().interrupt(); // propagate
+ return null;
+ }
+ }
+ }
+
+
+ /**
+ * Start a thread that will call the <code>construct</code> method
+ * and then exit.
+ */
+ public SwingWorker() {
+ final Runnable doFinished = new Runnable() {
+ public void run() { finished(); }
+ };
+
+ Runnable doConstruct = new Runnable() {
+ public void run() {
+ try {
+ setValue(construct());
+ }
+ finally {
+ threadVar.clear();
+ }
+
+ SwingUtilities.invokeLater(doFinished);
+ }
+ };
+
+ Thread t = new Thread(doConstruct);
+ threadVar = new ThreadVar(t);
+ }
+
+ /**
+ * Start the worker thread.
+ */
+ public void start() {
+ Thread t = threadVar.get();
+ if (t != null) {
+ t.start();
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/Viewport.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/Viewport.java
new file mode 100644
index 0000000..e1c1b84
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/Viewport.java
@@ -0,0 +1,391 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui;
+
+import java.awt.*;
+import java.awt.geom.*;
+import java.text.NumberFormat;
+
+import org.locationtech.jts.awt.PointTransformation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+
+
+/**
+ * Maintains the information associated with mapping
+ * the model view to the screen
+ *
+ * @author Martin Davis
+ *
+ */
+public class Viewport implements PointTransformation
+{
+ private static double INITIAL_SCALE = 1.0;
+ private static int INITIAL_ORIGIN_X = -10;
+ private static int INITIAL_ORIGIN_Y = -10;
+
+ private GeometryEditPanel panel;
+
+ /**
+ * Origin of view in model space
+ */
+ private Point2D originInModel =
+ new Point2D.Double(INITIAL_ORIGIN_X, INITIAL_ORIGIN_Y);
+
+ /**
+ * The scale is the factor which model distance
+ * is multiplied by to get view distance
+ */
+ private double scale = 1;
+ private PrecisionModel scalePM = new PrecisionModel(scale);
+ private NumberFormat scaleFormat;
+
+ private Envelope viewEnvInModel;
+ private AffineTransform modelToViewTransform;
+ private java.awt.geom.Point2D.Double srcPt = new java.awt.geom.Point2D.Double(0, 0);
+ private java.awt.geom.Point2D.Double destPt = new java.awt.geom.Point2D.Double(0, 0);
+
+ private Dimension viewSize;
+
+ public Viewport(GeometryEditPanel panel) {
+ this.panel = panel;
+ setScaleNoUpdate(1.0);
+ }
+
+ private void viewUpdated()
+ {
+ panel.forceRepaint();
+ }
+
+ public Envelope getModelEnv()
+ {
+ return viewEnvInModel;
+ }
+
+ public Envelope getViewEnv() {
+ return new Envelope(
+ 0,
+ getWidthInView(),
+ 0,
+ getHeightInView());
+ }
+
+ public double getScale() {
+ return scale;
+ }
+
+ private void setScaleNoUpdate(double scale) {
+ this.scale = snapScale(scale);
+ scalePM = new PrecisionModel(this.scale);
+
+ scaleFormat = NumberFormat.getInstance();
+ int fracDigits = (int) (MathUtil.log10(this.scale));
+ if (fracDigits < 0) fracDigits = 0;
+ //System.out.println("scale = " + this.scale);
+ //System.out.println("fracdigits = " + fracDigits);
+ scaleFormat.setMaximumFractionDigits(fracDigits);
+ // don't show commas
+ scaleFormat.setGroupingUsed(false);
+ }
+
+ private void setScale(double scale) {
+ setScaleNoUpdate(scale);
+ update();
+ }
+
+ private void setOrigin(double viewOriginX, double viewOriginY) {
+ this.originInModel = new Point2D.Double(viewOriginX, viewOriginY);
+ update();
+ }
+
+ public NumberFormat getScaleFormat()
+ {
+ return scaleFormat;
+ }
+
+ private static final double ROUND_ERROR_REMOVAL = 0.00000001;
+
+ /**
+ * Snaps scale to nearest multiple of 2, 5 or 10.
+ * This ensures that model coordinates entered
+ * via the geometry view
+ * don't carry more precision than the zoom level warrants.
+ *
+ * @param scaleRaw
+ * @return
+ */
+ private static double snapScale(double scaleRaw)
+ {
+ double scale = snapScaleToSingleDigitPrecision(scaleRaw);
+ return scale;
+ }
+
+ private static double snapScaleToSingleDigitPrecision(double scaleRaw)
+ {
+ // if the rounding error is not nudged, snapping can "stick" at some values
+ double pow10 = Math.floor(MathUtil.log10(scaleRaw) + ROUND_ERROR_REMOVAL);
+ double nearestLowerPow10 = Math.pow(10, pow10);
+
+ int scaleDigit = (int) (scaleRaw / nearestLowerPow10);
+ double scale = scaleDigit * nearestLowerPow10;
+
+ //System.out.println("requested scale = " + scaleRaw + " scale = " + scale + " Pow10 = " + pow10);
+ return scale;
+ }
+
+ /**
+ * Not used - scaling to multiples of 10,5,2 is too coarse.
+ *
+ *
+ * @param scaleRaw
+ * @return
+ */
+ private static double snapScaleTo_10_2_5(double scaleRaw)
+ {
+ // if the rounding error is not nudged, snapping can "stick" at some values
+ double pow10 = Math.floor(MathUtil.log10(scaleRaw) + ROUND_ERROR_REMOVAL);
+ double scaleRoundedToPow10 = Math.pow(10, pow10);
+
+ double scale = scaleRoundedToPow10;
+ // rounding to a power of 10 is too coarse, so allow some finer gradations
+ //*
+ if (3.5 * scaleRoundedToPow10 <= scaleRaw)
+ scale = 5 * scaleRoundedToPow10;
+ else if (2 * scaleRoundedToPow10 <= scaleRaw)
+ scale = 2 * scaleRoundedToPow10;
+ //*/
+
+ //System.out.println("requested scale = " + scaleRaw + " scale = " + scale + " Pow10 = " + pow10);
+ return scale;
+ }
+
+ public boolean intersectsInModel(Envelope env)
+ {
+ return viewEnvInModel.intersects(env);
+ }
+
+ public Point2D toModel(Point2D viewPt) {
+ srcPt.x = viewPt.getX();
+ srcPt.y = viewPt.getY();
+ try {
+ getModelToViewTransform().inverseTransform(srcPt, destPt);
+ } catch (NoninvertibleTransformException ex) {
+ return new Point2D.Double(0, 0);
+ //Assert.shouldNeverReachHere();
+ }
+
+ // snap to scale grid
+ double x = scalePM.makePrecise(destPt.x);
+ double y = scalePM.makePrecise(destPt.y);
+
+ return new Point2D.Double(x, y);
+ }
+
+ public Coordinate toModelCoordinate(Point2D viewPt) {
+ Point2D p = toModel(viewPt);
+ return new Coordinate(p.getX(), p.getY());
+ }
+
+ public void transform(Coordinate modelCoordinate, Point2D point)
+ {
+ point.setLocation(modelCoordinate.x, modelCoordinate.y);
+ getModelToViewTransform().transform(point, point);
+ }
+
+ public Point2D toView(Coordinate modelCoordinate)
+ {
+ Point2D.Double pt = new Point2D.Double();
+ transform(modelCoordinate, pt);
+ return pt;
+ }
+
+ public Point2D toView(Point2D modelPt)
+ {
+ return toView(modelPt, new Point2D.Double());
+ }
+
+ public Point2D toView(Point2D modelPt, Point2D viewPt)
+ {
+ return getModelToViewTransform().transform(modelPt, viewPt);
+ }
+
+ /**
+ * Converts a distance in the view to a distance in the model.
+ *
+ * @param viewDist
+ * @return the model distance
+ */
+ public double toModel(double viewDist)
+ {
+ return viewDist / scale;
+ }
+
+ /**
+ * Converts a distance in the model to a distance in the view.
+ *
+ * @param modelDist
+ * @return the view distance
+ */
+ public double toView(double modelDist)
+ {
+ return modelDist * scale;
+ }
+
+ public void update(Dimension viewSize)
+ {
+ this.viewSize = viewSize;
+ update();
+ }
+
+ private void update()
+ {
+ updateModelToViewTransform();
+ viewEnvInModel = computeEnvelopeInModel();
+ viewUpdated();
+ }
+
+ private void updateModelToViewTransform() {
+ modelToViewTransform = new AffineTransform();
+ modelToViewTransform.translate(0, viewSize.height);
+ modelToViewTransform.scale(1, -1);
+ modelToViewTransform.scale(scale, scale);
+ modelToViewTransform.translate(-originInModel.getX(), -originInModel.getY());
+ }
+
+ public AffineTransform getModelToViewTransform() {
+ if (modelToViewTransform == null) {
+ updateModelToViewTransform();
+ }
+ return modelToViewTransform;
+ }
+
+ public void zoomToInitialExtent() {
+ setScale(INITIAL_SCALE);
+ setOrigin(INITIAL_ORIGIN_X, INITIAL_ORIGIN_Y);
+ }
+
+ public void zoom(Envelope zoomEnv) {
+ double xScale = getWidthInView() / zoomEnv.getWidth();
+ double yScale = getHeightInView() / zoomEnv.getHeight();
+ double zoomScale = Math.min(xScale, yScale);
+ setScale(zoomScale);
+ double xCentering = (getWidthInModel() - zoomEnv.getWidth()) / 2d;
+ double yCentering = (getHeightInModel() - zoomEnv.getHeight()) / 2d;
+ setOrigin(zoomEnv.getMinX() - xCentering, zoomEnv.getMinY() - yCentering);
+ }
+
+ public void zoomPan(double dx, double dy) {
+ setOrigin(originInModel.getX() - dx,
+ originInModel.getY() - dy);
+ }
+
+ /**
+ * Zoom to a point, ensuring that the zoom point remains in the same screen location.
+ *
+ * @param zoomPt
+ * @param zoomFactor
+ */
+ public void zoom(Point2D zoomPt, double zoomScale) {
+ double originOffsetX = zoomPt.getX() - originInModel.getX();
+ double originOffsetY = zoomPt.getY() - originInModel.getY();
+
+ // set scale first, because it may be snapped
+ double scalePrev = getScale();
+ setScale(zoomScale);
+
+ double actualZoomFactor = getScale() / scalePrev;
+ double zoomOriginX = zoomPt.getX() - originOffsetX / actualZoomFactor;
+ double zoomOriginY = zoomPt.getY() - originOffsetY / actualZoomFactor;
+ setOrigin(zoomOriginX, zoomOriginY);
+ }
+
+ private double getWidthInModel() {
+ return toModel(viewSize.width);
+ }
+
+ private double getHeightInModel() {
+ return toModel(viewSize.height);
+ }
+
+ public Point2D getLowerLeftCornerInModel() {
+ return toModel(new Point(0, viewSize.height));
+ }
+
+ public double getHeightInView() {
+ return viewSize.height;
+ }
+
+ public double getWidthInView() {
+ return viewSize.width;
+ }
+
+ private Envelope computeEnvelopeInModel() {
+ return new Envelope(
+ originInModel.getX(),
+ originInModel.getX() + getWidthInModel(),
+ originInModel.getY(),
+ originInModel.getY() + getHeightInModel());
+ }
+
+ public boolean containsInModel(Coordinate p)
+ {
+ return viewEnvInModel.contains(p);
+ }
+
+ private static final int MIN_GRID_RESOLUTION_PIXELS = 2;
+
+ /**
+ * Gets the magnitude (power of 10)
+ * for the basic grid size.
+ *
+ * @return the magnitude
+ */
+ public int gridMagnitudeModel()
+ {
+ double pixelSizeModel = toModel(1);
+ double pixelSizeModelLog = MathUtil.log10(pixelSizeModel);
+ int gridMag = (int) Math.ceil(pixelSizeModelLog);
+
+ /**
+ * Check if grid size is too small and if so increase it one magnitude
+ */
+ double gridSizeModel = Math.pow(10, gridMag);
+ double gridSizeView = toView(gridSizeModel);
+// System.out.println("\ncand gridSizeView= " + gridSizeView);
+ if (gridSizeView <= MIN_GRID_RESOLUTION_PIXELS )
+ gridMag += 1;
+
+// System.out.println("pixelSize= " + pixelSize + " pixelLog10= " + pixelSizeLog);
+ return gridMag;
+ }
+
+ /**
+ * Gets a PrecisionModel corresponding to the grid size.
+ *
+ * @return the precision model
+ */
+ public PrecisionModel getGridPrecisionModel()
+ {
+ double gridSizeModel = getGridSizeModel();
+ return new PrecisionModel(1.0/gridSizeModel);
+ }
+
+ public double getGridSizeModel()
+ {
+ return Math.pow(10, gridMagnitudeModel());
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/dnd/FileDrop.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/dnd/FileDrop.java
new file mode 100644
index 0000000..8232f45
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/dnd/FileDrop.java
@@ -0,0 +1,605 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.dnd;
+
+/**
+ * This class makes it easy to drag and drop files from the operating
+ * system to a Java program. Any <tt>java.awt.Component</tt> can be
+ * dropped onto, but only <tt>javax.swing.JComponent</tt>s will indicate
+ * the drop event with a changed border.
+ * <p/>
+ * To use this class, construct a new <tt>FileDrop</tt> by passing
+ * it the target component and a <tt>Listener</tt> to receive notification
+ * when file(s) have been dropped. Here is an example:
+ * <p/>
+ * <code><pre>
+ * JPanel myPanel = new JPanel();
+ * new FileDrop( myPanel, new FileDrop.Listener()
+ * { public void filesDropped( java.io.File[] files )
+ * {
+ * // handle file drop
+ * ...
+ * } // end filesDropped
+ * }); // end FileDrop.Listener
+ * </pre></code>
+ * <p/>
+ * You can specify the border that will appear when files are being dragged by
+ * calling the constructor with a <tt>javax.swing.border.Border</tt>. Only
+ * <tt>JComponent</tt>s will show any indication with a border.
+ * <p/>
+ * You can turn on some debugging features by passing a <tt>PrintStream</tt>
+ * object (such as <tt>System.out</tt>) into the full constructor. A <tt>null</tt>
+ * value will result in no extra debugging information being output.
+ * <p/>
+ *
+ * <p>I'm releasing this code into the Public Domain. Enjoy.
+ * </p>
+ * <p><em>Original author: Robert Harder, rharder at usa.net</em></p>
+ *
+ * @author Robert Harder
+ * @author rharder at usa.net
+ * @version 1.0
+ */
+public class FileDrop
+{
+ private transient javax.swing.border.Border normalBorder;
+ private transient java.awt.dnd.DropTargetListener dropListener;
+
+
+ /** Discover if the running JVM is modern enough to have drag and drop. */
+ private static Boolean supportsDnD;
+
+ // Default border color
+ private static java.awt.Color defaultBorderColor = new java.awt.Color( 0f, 0f, 1f, 0.25f );
+
+ /**
+ * Constructs a {@link FileDrop} with a default light-blue border
+ * and, if <var>c</var> is a {@link java.awt.Container}, recursively
+ * sets all elements contained within as drop targets, though only
+ * the top level container will change borders.
+ *
+ * @param c Component on which files will be dropped.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.awt.Component c,
+ final Listener listener )
+ { this( null, // Logging stream
+ c, // Drop target
+ javax.swing.BorderFactory.createMatteBorder( 2, 2, 2, 2, defaultBorderColor ), // Drag border
+ true, // Recursive
+ listener );
+ } // end constructor
+
+
+
+
+ /**
+ * Constructor with a default border and the option to recursively set drop targets.
+ * If your component is a <tt>java.awt.Container</tt>, then each of its children
+ * components will also listen for drops, though only the parent will change borders.
+ *
+ * @param c Component on which files will be dropped.
+ * @param recursive Recursively set children as drop targets.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.awt.Component c,
+ final boolean recursive,
+ final Listener listener )
+ { this( null, // Logging stream
+ c, // Drop target
+ javax.swing.BorderFactory.createMatteBorder( 2, 2, 2, 2, defaultBorderColor ), // Drag border
+ recursive, // Recursive
+ listener );
+ } // end constructor
+
+
+ /**
+ * Constructor with a default border and debugging optionally turned on.
+ * With Debugging turned on, more status messages will be displayed to
+ * <tt>out</tt>. A common way to use this constructor is with
+ * <tt>System.out</tt> or <tt>System.err</tt>. A <tt>null</tt> value for
+ * the parameter <tt>out</tt> will result in no debugging output.
+ *
+ * @param out PrintStream to record debugging info or null for no debugging.
+ * @param c Component on which files will be dropped.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.io.PrintStream out,
+ final java.awt.Component c,
+ final Listener listener )
+ { this( out, // Logging stream
+ c, // Drop target
+ javax.swing.BorderFactory.createMatteBorder( 2, 2, 2, 2, defaultBorderColor ),
+ false, // Recursive
+ listener );
+ } // end constructor
+
+
+
+ /**
+ * Constructor with a default border, debugging optionally turned on
+ * and the option to recursively set drop targets.
+ * If your component is a <tt>java.awt.Container</tt>, then each of its children
+ * components will also listen for drops, though only the parent will change borders.
+ * With Debugging turned on, more status messages will be displayed to
+ * <tt>out</tt>. A common way to use this constructor is with
+ * <tt>System.out</tt> or <tt>System.err</tt>. A <tt>null</tt> value for
+ * the parameter <tt>out</tt> will result in no debugging output.
+ *
+ * @param out PrintStream to record debugging info or null for no debugging.
+ * @param c Component on which files will be dropped.
+ * @param recursive Recursively set children as drop targets.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.io.PrintStream out,
+ final java.awt.Component c,
+ final boolean recursive,
+ final Listener listener)
+ { this( out, // Logging stream
+ c, // Drop target
+ javax.swing.BorderFactory.createMatteBorder( 2, 2, 2, 2, defaultBorderColor ), // Drag border
+ recursive, // Recursive
+ listener );
+ } // end constructor
+
+
+
+
+ /**
+ * Constructor with a specified border
+ *
+ * @param c Component on which files will be dropped.
+ * @param dragBorder Border to use on <tt>JComponent</tt> when dragging occurs.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.awt.Component c,
+ final javax.swing.border.Border dragBorder,
+ final Listener listener)
+ { this(
+ null, // Logging stream
+ c, // Drop target
+ dragBorder, // Drag border
+ false, // Recursive
+ listener );
+ } // end constructor
+
+
+
+
+ /**
+ * Constructor with a specified border and the option to recursively set drop targets.
+ * If your component is a <tt>java.awt.Container</tt>, then each of its children
+ * components will also listen for drops, though only the parent will change borders.
+ *
+ * @param c Component on which files will be dropped.
+ * @param dragBorder Border to use on <tt>JComponent</tt> when dragging occurs.
+ * @param recursive Recursively set children as drop targets.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.awt.Component c,
+ final javax.swing.border.Border dragBorder,
+ final boolean recursive,
+ final Listener listener)
+ { this(
+ null,
+ c,
+ dragBorder,
+ recursive,
+ listener );
+ } // end constructor
+
+
+
+ /**
+ * Constructor with a specified border and debugging optionally turned on.
+ * With Debugging turned on, more status messages will be displayed to
+ * <tt>out</tt>. A common way to use this constructor is with
+ * <tt>System.out</tt> or <tt>System.err</tt>. A <tt>null</tt> value for
+ * the parameter <tt>out</tt> will result in no debugging output.
+ *
+ * @param out PrintStream to record debugging info or null for no debugging.
+ * @param c Component on which files will be dropped.
+ * @param dragBorder Border to use on <tt>JComponent</tt> when dragging occurs.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.io.PrintStream out,
+ final java.awt.Component c,
+ final javax.swing.border.Border dragBorder,
+ final Listener listener)
+ { this(
+ out, // Logging stream
+ c, // Drop target
+ dragBorder, // Drag border
+ false, // Recursive
+ listener );
+ } // end constructor
+
+
+
+
+
+ /**
+ * Full constructor with a specified border and debugging optionally turned on.
+ * With Debugging turned on, more status messages will be displayed to
+ * <tt>out</tt>. A common way to use this constructor is with
+ * <tt>System.out</tt> or <tt>System.err</tt>. A <tt>null</tt> value for
+ * the parameter <tt>out</tt> will result in no debugging output.
+ *
+ * @param out PrintStream to record debugging info or null for no debugging.
+ * @param c Component on which files will be dropped.
+ * @param dragBorder Border to use on <tt>JComponent</tt> when dragging occurs.
+ * @param recursive Recursively set children as drop targets.
+ * @param listener Listens for <tt>filesDropped</tt>.
+ * @since 1.0
+ */
+ public FileDrop(
+ final java.io.PrintStream out,
+ final java.awt.Component c,
+ final javax.swing.border.Border dragBorder,
+ final boolean recursive,
+ final Listener listener)
+ {
+
+ if( supportsDnD() )
+ { // Make a drop listener
+ dropListener = new java.awt.dnd.DropTargetListener()
+ { public void dragEnter( java.awt.dnd.DropTargetDragEvent evt )
+ { log( out, "FileDrop: dragEnter event." );
+
+ // Is this an acceptable drag event?
+ if( isDragOk( out, evt ) )
+ {
+ // If it's a Swing component, set its border
+ if( c instanceof javax.swing.JComponent )
+ { javax.swing.JComponent jc = (javax.swing.JComponent) c;
+ normalBorder = jc.getBorder();
+ log( out, "FileDrop: normal border saved." );
+ jc.setBorder( dragBorder );
+ log( out, "FileDrop: drag border set." );
+ } // end if: JComponent
+
+ // Acknowledge that it's okay to enter
+ //evt.acceptDrag( java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE );
+ evt.acceptDrag( java.awt.dnd.DnDConstants.ACTION_COPY );
+ log( out, "FileDrop: event accepted." );
+ } // end if: drag ok
+ else
+ { // Reject the drag event
+ evt.rejectDrag();
+ log( out, "FileDrop: event rejected." );
+ } // end else: drag not ok
+ } // end dragEnter
+
+ public void dragOver( java.awt.dnd.DropTargetDragEvent evt )
+ { // This is called continually as long as the mouse is
+ // over the drag target.
+ } // end dragOver
+
+ public void drop( java.awt.dnd.DropTargetDropEvent evt )
+ { log( out, "FileDrop: drop event." );
+ try
+ { // Get whatever was dropped
+ java.awt.datatransfer.Transferable tr = evt.getTransferable();
+
+ // Is it a file list?
+ if (tr.isDataFlavorSupported (java.awt.datatransfer.DataFlavor.javaFileListFlavor))
+ {
+ // Say we'll take it.
+ //evt.acceptDrop ( java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE );
+ evt.acceptDrop ( java.awt.dnd.DnDConstants.ACTION_COPY );
+ log( out, "FileDrop: file list accepted." );
+
+ // Get a useful list
+ java.util.List fileList = (java.util.List)
+ tr.getTransferData(java.awt.datatransfer.DataFlavor.javaFileListFlavor);
+ java.util.Iterator iterator = fileList.iterator();
+
+ // Convert list to array
+ java.io.File[] filesTemp = new java.io.File[ fileList.size() ];
+ fileList.toArray( filesTemp );
+ final java.io.File[] files = filesTemp;
+
+ // Alert listener to drop.
+ if( listener != null )
+ listener.filesDropped( files );
+
+ // Mark that drop is completed.
+ evt.getDropTargetContext().dropComplete(true);
+ log( out, "FileDrop: drop complete." );
+ } // end if: file list
+ else
+ { log( out, "FileDrop: not a file list - abort." );
+ evt.rejectDrop();
+ } // end else: not a file list
+ } // end try
+ catch ( java.io.IOException io)
+ { log( out, "FileDrop: IOException - abort:" );
+ io.printStackTrace( out );
+ evt.rejectDrop();
+ } // end catch IOException
+ catch (java.awt.datatransfer.UnsupportedFlavorException ufe)
+ { log( out, "FileDrop: UnsupportedFlavorException - abort:" );
+ ufe.printStackTrace( out );
+ evt.rejectDrop();
+ } // end catch: UnsupportedFlavorException
+ finally
+ {
+ // If it's a Swing component, reset its border
+ if( c instanceof javax.swing.JComponent )
+ { javax.swing.JComponent jc = (javax.swing.JComponent) c;
+ jc.setBorder( normalBorder );
+ log( out, "FileDrop: normal border restored." );
+ } // end if: JComponent
+ } // end finally
+ } // end drop
+
+ public void dragExit( java.awt.dnd.DropTargetEvent evt )
+ { log( out, "FileDrop: dragExit event." );
+ // If it's a Swing component, reset its border
+ if( c instanceof javax.swing.JComponent )
+ { javax.swing.JComponent jc = (javax.swing.JComponent) c;
+ jc.setBorder( normalBorder );
+ log( out, "FileDrop: normal border restored." );
+ } // end if: JComponent
+ } // end dragExit
+
+ public void dropActionChanged( java.awt.dnd.DropTargetDragEvent evt )
+ { log( out, "FileDrop: dropActionChanged event." );
+ // Is this an acceptable drag event?
+ if( isDragOk( out, evt ) )
+ { //evt.acceptDrag( java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE );
+ evt.acceptDrag( java.awt.dnd.DnDConstants.ACTION_COPY );
+ log( out, "FileDrop: event accepted." );
+ } // end if: drag ok
+ else
+ { evt.rejectDrag();
+ log( out, "FileDrop: event rejected." );
+ } // end else: drag not ok
+ } // end dropActionChanged
+ }; // end DropTargetListener
+
+ // Make the component (and possibly children) drop targets
+ makeDropTarget( out, c, recursive );
+ } // end if: supports dnd
+ else
+ { log( out, "FileDrop: Drag and drop is not supported with this JVM" );
+ } // end else: does not support DnD
+ } // end constructor
+
+
+ private static boolean supportsDnD()
+ { // Static Boolean
+ if( supportsDnD == null )
+ {
+ boolean support = false;
+ try
+ { Class arbitraryDndClass = Class.forName( "java.awt.dnd.DnDConstants" );
+ support = true;
+ } // end try
+ catch( Exception e )
+ { support = false;
+ } // end catch
+ supportsDnD = new Boolean( support );
+ } // end if: first time through
+ return supportsDnD.booleanValue();
+ } // end supportsDnD
+
+
+
+
+
+ private void makeDropTarget( final java.io.PrintStream out, final java.awt.Component c, boolean recursive )
+ {
+ // Make drop target
+ final java.awt.dnd.DropTarget dt = new java.awt.dnd.DropTarget();
+ try
+ { dt.addDropTargetListener( dropListener );
+ } // end try
+ catch( java.util.TooManyListenersException e )
+ { e.printStackTrace();
+ log(out, "FileDrop: Drop will not work due to previous error. Do you have another listener attached?" );
+ } // end catch
+
+ // Listen for hierarchy changes and remove the drop target when the parent gets cleared out.
+ c.addHierarchyListener( new java.awt.event.HierarchyListener()
+ { public void hierarchyChanged( java.awt.event.HierarchyEvent evt )
+ { log( out, "FileDrop: Hierarchy changed." );
+ java.awt.Component parent = c.getParent();
+ if( parent == null )
+ { c.setDropTarget( null );
+ log( out, "FileDrop: Drop target cleared from component." );
+ } // end if: null parent
+ else
+ { new java.awt.dnd.DropTarget(c, dropListener);
+ log( out, "FileDrop: Drop target added to component." );
+ } // end else: parent not null
+ } // end hierarchyChanged
+ }); // end hierarchy listener
+ if( c.getParent() != null )
+ new java.awt.dnd.DropTarget(c, dropListener);
+
+ if( recursive && (c instanceof java.awt.Container ) )
+ {
+ // Get the container
+ java.awt.Container cont = (java.awt.Container) c;
+
+ // Get it's components
+ java.awt.Component[] comps = cont.getComponents();
+
+ // Set it's components as listeners also
+ for( int i = 0; i < comps.length; i++ )
+ makeDropTarget( out, comps[i], recursive );
+ } // end if: recursively set components as listener
+ } // end dropListener
+
+
+
+ /** Determine if the dragged data is a file list. */
+ private boolean isDragOk( final java.io.PrintStream out, final java.awt.dnd.DropTargetDragEvent evt )
+ { boolean ok = false;
+
+ // Get data flavors being dragged
+ java.awt.datatransfer.DataFlavor[] flavors = evt.getCurrentDataFlavors();
+
+ // See if any of the flavors are a file list
+ int i = 0;
+ while( !ok && i < flavors.length )
+ { // Is the flavor a file list?
+ if( flavors[i].equals( java.awt.datatransfer.DataFlavor.javaFileListFlavor ) )
+ ok = true;
+ i++;
+ } // end while: through flavors
+
+ // If logging is enabled, show data flavors
+ if( out != null )
+ { if( flavors.length == 0 )
+ log( out, "FileDrop: no data flavors." );
+ for( i = 0; i < flavors.length; i++ )
+ log( out, flavors[i].toString() );
+ } // end if: logging enabled
+
+ return ok;
+ } // end isDragOk
+
+
+ /** Outputs <tt>message</tt> to <tt>out</tt> if it's not null. */
+ private static void log( java.io.PrintStream out, String message )
+ { // Log message if requested
+ if( out != null )
+ out.println( message );
+ } // end log
+
+
+
+
+ /**
+ * Removes the drag-and-drop hooks from the component and optionally
+ * from the all children. You should call this if you add and remove
+ * components after you've set up the drag-and-drop.
+ * This will recursively unregister all components contained within
+ * <var>c</var> if <var>c</var> is a {@link java.awt.Container}.
+ *
+ * @param c The component to unregister as a drop target
+ * @since 1.0
+ */
+ public static boolean remove( java.awt.Component c)
+ { return remove( null, c, true );
+ } // end remove
+
+
+
+ /**
+ * Removes the drag-and-drop hooks from the component and optionally
+ * from the all children. You should call this if you add and remove
+ * components after you've set up the drag-and-drop.
+ *
+ * @param out Optional {@link java.io.PrintStream} for logging drag and drop messages
+ * @param c The component to unregister
+ * @param recursive Recursively unregister components within a container
+ * @since 1.0
+ */
+ public static boolean remove( java.io.PrintStream out, java.awt.Component c, boolean recursive )
+ { // Make sure we support dnd.
+ if( supportsDnD() )
+ { log( out, "FileDrop: Removing drag-and-drop hooks." );
+ c.setDropTarget( null );
+ if( recursive && ( c instanceof java.awt.Container ) )
+ { java.awt.Component[] comps = ((java.awt.Container)c).getComponents();
+ for( int i = 0; i < comps.length; i++ )
+ remove( out, comps[i], recursive );
+ return true;
+ } // end if: recursive
+ else return false;
+ } // end if: supports DnD
+ else return false;
+ } // end remove
+
+
+
+
+
+
+ /** Runs a sample program that shows dropped files */
+ public static void main( String[] args )
+ {
+ javax.swing.JFrame frame = new javax.swing.JFrame( "FileDrop" );
+ //javax.swing.border.TitledBorder dragBorder = new javax.swing.border.TitledBorder( "Drop 'em" );
+ final javax.swing.JTextArea text = new javax.swing.JTextArea();
+ frame.getContentPane().add(
+ new javax.swing.JScrollPane( text ),
+ java.awt.BorderLayout.CENTER );
+
+ new FileDrop( System.out, text, /*dragBorder,*/ new FileDrop.Listener()
+ { public void filesDropped( java.io.File[] files )
+ { for( int i = 0; i < files.length; i++ )
+ { try
+ { text.append( files[i].getCanonicalPath() + "\n" );
+ } // end try
+ catch( java.io.IOException e ) {}
+ } // end for: through each dropped file
+ } // end filesDropped
+ }); // end FileDrop.Listener
+
+ frame.setBounds( 100, 100, 300, 400 );
+ frame.setDefaultCloseOperation( frame.EXIT_ON_CLOSE );
+ frame.show();
+ } // end main
+
+
+
+
+
+/* ******** I N N E R I N T E R F A C E L I S T E N E R ******** */
+
+
+ /**
+ * Implement this inner interface to listen for when files are dropped. For example
+ * your class declaration may begin like this:
+ * <code><pre>
+ * public class MyClass implements FileDrop.Listener
+ * ...
+ * public void filesDropped( java.io.File[] files )
+ * {
+ * ...
+ * } // end filesDropped
+ * ...
+ * </pre></code>
+ *
+ * @since 1.0
+ */
+ public interface Listener
+ {
+ /**
+ * This method is called when files have been successfully dropped.
+ *
+ * @param files An array of <tt>File</tt>s that were dropped.
+ * @since 1.0
+ */
+ public abstract void filesDropped( java.io.File[] files );
+ } // end inner-interface Listener
+
+} // end class FileDrop
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GeometryPainter.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GeometryPainter.java
new file mode 100644
index 0000000..1e21ecc
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GeometryPainter.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+//import java.awt.*;
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.Stroke;
+import java.awt.geom.GeneralPath;
+
+import org.locationtech.jts.awt.PointShapeFactory;
+import org.locationtech.jts.awt.ShapeWriter;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.style.Style;
+
+
+
+public class GeometryPainter
+{
+ private static Stroke GEOMETRY_STROKE = new BasicStroke();
+ private static Stroke POINT_STROKE = new BasicStroke(AppConstants.POINT_SIZE);
+
+ public static void paint(Graphics2D g, Viewport viewport, Geometry geometry, Style style)
+ throws Exception
+ {
+ if (geometry == null)
+ return;
+
+ // cull non-visible geometries
+ if (! viewport.intersectsInModel(geometry.getEnvelopeInternal()))
+ return;
+
+ if (geometry instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geometry;
+ /**
+ * Render each element separately.
+ * Otherwise it is not possible to render both filled and non-filled
+ * (1D) elements correctly
+ */
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ paint(g, viewport, gc.getGeometryN(i), style);
+ }
+ return;
+ }
+
+ style.paint(geometry, viewport, g);
+ }
+
+ private static void paintGeometryCollection(Graphics2D g, Viewport viewport,
+ GeometryCollection gc,
+ Style style
+ )
+ throws Exception
+ {
+ }
+
+ static Viewport viewportCache;
+ static ShapeWriter converterCache;
+
+ // TODO: does not work, has a race condition
+ public static ShapeWriter BADgetConverter(Viewport viewport)
+ {
+ if (viewportCache != viewport) {
+ viewportCache = viewport;
+ converterCache = new ShapeWriter(viewport, new PointShapeFactory.Point());
+ }
+ return converterCache;
+ }
+
+ /**
+ * Choose a fairly conservative decimation distance to avoid visual artifacts
+ */
+ private static final double DECIMATION_DISTANCE = 1.3;
+
+ // TODO: is this a performance problem?
+ // probably not - only called once for each geom painted
+ public static ShapeWriter getConverter(Viewport viewport)
+ {
+ ShapeWriter sw = new ShapeWriter(viewport, new PointShapeFactory.Point());
+ //sw.setRemoveDuplicatePoints(true);
+ sw.setDecimation(viewport.toModel(DECIMATION_DISTANCE));
+ return sw;
+ }
+
+ /**
+ * Paints a geometry onto a graphics context,
+ * using a given Viewport.
+ *
+ * @param geometry shape to paint
+ * @param viewport
+ * @param g the graphics context
+ * @param lineColor line color (null if none)
+ * @param fillColor fill color (null if none)
+ */
+ public static void paint(Geometry geometry, Viewport viewport,
+ Graphics2D g,
+ Color lineColor, Color fillColor)
+ {
+ paint(geometry, viewport, g, lineColor, fillColor, null);
+ }
+
+ public static void paint(Geometry geometry, Viewport viewport,
+ Graphics2D g,
+ Color lineColor, Color fillColor, Stroke stroke)
+ {
+ ShapeWriter converter = getConverter(viewport);
+ //ShapeWriter converter = new ShapeWriter(viewport);
+ paint(geometry, converter, g, lineColor, fillColor, stroke);
+ }
+
+ private static void paint(Geometry geometry, ShapeWriter converter, Graphics2D g,
+ Color lineColor, Color fillColor)
+ {
+ paint(geometry, converter, g, lineColor, fillColor, null);
+ }
+
+ private static void paint(Geometry geometry, ShapeWriter converter, Graphics2D g,
+ Color lineColor, Color fillColor, Stroke stroke)
+ {
+ if (geometry == null)
+ return;
+
+ if (geometry instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geometry;
+ /**
+ * Render each element separately.
+ * Otherwise it is not possible to render both filled and non-filled
+ * (1D) elements correctly
+ */
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ paint(gc.getGeometryN(i), converter, g, lineColor, fillColor, stroke);
+ }
+ return;
+ }
+
+ Shape shape = converter.toShape(geometry);
+
+ // handle points in a special way for appearance and speed
+ if (geometry instanceof Point) {
+ g.setStroke(POINT_STROKE);
+ g.setColor(lineColor);
+ g.draw(shape);
+ return;
+ }
+
+ if (stroke == null)
+ g.setStroke(GEOMETRY_STROKE);
+ else
+ g.setStroke(stroke);
+
+ // Test for a polygonal shape and fill it if required
+ if (geometry instanceof Polygon && fillColor != null) {
+ // if (!(shape instanceof GeneralPath) && fillColor != null) {
+ g.setPaint(fillColor);
+ g.fill(shape);
+ }
+
+ if (lineColor != null) {
+ g.setColor(lineColor);
+ try {
+ g.draw(shape);
+
+ // draw polygon boundaries twice, to discriminate them
+ // MD - this isn't very obvious. Perhaps a dashed line instead?
+ /*
+ if (geometry instanceof Polygon) {
+ Shape polyShell = converter.toShape( ((Polygon)geometry).getExteriorRing());
+ g.setStroke(new BasicStroke(2));
+ g.draw(polyShell);
+ }
+*/
+ }
+ catch (Throwable ex) {
+ System.out.println(ex);
+ // eat it!
+ }
+ }
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GridRenderer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GridRenderer.java
new file mode 100644
index 0000000..ff3d9b2
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/GridRenderer.java
@@ -0,0 +1,436 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Point;
+import java.awt.Stroke;
+import java.awt.geom.*;
+import java.text.NumberFormat;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.model.DrawingGrid;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class GridRenderer {
+ private static final int MIN_VIEW_GRID_SIZE = 5;
+
+
+ private Viewport viewport;
+
+ private DrawingGrid grid;
+
+ private boolean isEnabled = true;
+
+ private NumberFormat gridSizeFormat;
+
+
+ public GridRenderer(Viewport viewport, DrawingGrid grid) {
+ this.viewport = viewport;
+ this.grid = grid;
+ gridSizeFormat = NumberFormat.getInstance();
+ gridSizeFormat.setGroupingUsed(false);
+ }
+
+ public void setEnabled(boolean isEnabled) {
+ this.isEnabled = isEnabled;
+ }
+
+ public void paint(Graphics2D g) {
+ if (! isEnabled)
+ return;
+ try {
+ drawAxes(g);
+ drawLinedGrid(g);
+// drawDottedGrid(g);
+ drawGridSizeLabel(g, viewport.gridMagnitudeModel());
+ }
+ // guards against crazy data causing problems
+ catch (ArithmeticException ex) {
+ return;
+ }
+ }
+
+ private boolean isResolvable() {
+ Point2D p1 = viewport.toModel(new Point(0, 0));
+ Point2D p2 = viewport.toModel(new Point(MIN_VIEW_GRID_SIZE, 0));
+ return grid.isResolvable(p1, p2);
+ }
+
+ private static final Coordinate MODEL_ORIGIN = new Coordinate(0, 0);
+
+ private void drawAxes(Graphics2D g) {
+ // draw XY axes
+ g.setColor(AppConstants.AXIS_CLR);
+ g.setStroke(new BasicStroke(AppConstants.AXIS_WIDTH));
+
+ Point2D viewOrigin = viewport.toView(MODEL_ORIGIN);
+ double vOriginX = viewOrigin.getX();
+ double vOriginY = viewOrigin.getY();
+
+ if (vOriginX >= 0.0 && vOriginX <= viewport.getWidthInView()) {
+ g.draw(new Line2D.Double(vOriginX, 0, vOriginX, viewport
+ .getHeightInView()));
+ }
+
+ if (vOriginY >= 0.0 && vOriginY <= viewport.getHeightInView()) {
+ g.draw(new Line2D.Double(0, vOriginY, viewport.getWidthInView(), vOriginY));
+ }
+ }
+
+ private int maxVisibleMagnitude()
+ {
+ double visibleExtentModel = viewport.getModelEnv().maxExtent();
+ // if input is bogus then just return something reasonable
+ if (visibleExtentModel <= 0.0)
+ return 1;
+ double log10 = MathUtil.log10(visibleExtentModel);
+ return (int) log10;
+ }
+
+ /*
+ private static final int MIN_GRID_PIXELS = 2;
+
+ private int gridMagnitudeModel()
+ {
+ double pixelSizeModel = viewport.toModel(1);
+ double pixelSizeModelLog = Math.log10(pixelSizeModel);
+ int gridMag = (int) Math.ceil(pixelSizeModelLog);
+
+ // Check if grid size is too small and if so increase it one magnitude
+ double gridSizeModel = Math.pow(10, gridMag);
+ double gridSizeView = viewport.toView(gridSizeModel);
+// System.out.println("\ncand gridSizeView= " + gridSizeView);
+ if (gridSizeView <= MIN_GRID_PIXELS )
+ gridMag += 1;
+
+// System.out.println("pixelSize= " + pixelSize + " pixelLog10= " + pixelSizeLog);
+ return gridMag;
+ }
+ */
+
+ private static final int GRID_MAJOR_LINE_CLR = 220;
+ private static final int GRID_MINOR_LINE_CLR = 240;
+
+ private void drawLinedGrid(Graphics2D g)
+ {
+ int gridMagModel = viewport.gridMagnitudeModel();
+ double gridSizeModel = Math.pow(10, gridMagModel);
+ double gridSizeView = viewport.toView(gridSizeModel);
+ Envelope modelEnv = viewport.getModelEnv();
+
+ //System.out.println("gridSizeView= " + gridSizeView);
+
+ /**
+ * Major Grid (10x)
+ */
+ double gridSize10Model = 10 * gridSizeModel;
+ PrecisionModel pmGrid10 = new PrecisionModel(1.0/gridSize10Model);
+ double basex10Model = pmGrid10.makePrecise(modelEnv.getMinX());
+ double basey10Model = pmGrid10.makePrecise(modelEnv.getMinY());
+ Point2D basePt10View = viewport.toView(new Coordinate(basex10Model, basey10Model));
+ double gridSize10View = viewport.toView(gridSize10Model);
+
+ /**
+ * Major-Major Grid (100x)
+ */
+ double gridSize100Model = 100 * gridSizeModel;
+ PrecisionModel pmGrid100 = new PrecisionModel(1.0/gridSize100Model);
+ double basex100Model = pmGrid100.makePrecise(modelEnv.getMinX());
+ double basey100Model = pmGrid100.makePrecise(modelEnv.getMinY());
+ Point2D basePt100View = viewport.toView(new Coordinate(basex100Model, basey100Model));
+ double gridSize100View = viewport.toView(gridSize100Model);
+
+ /**
+ * Minor Grid
+ * Only display if dots are sparse enough
+ */
+ if (gridSizeView >= 4) {
+ PrecisionModel pmGrid = new PrecisionModel(1.0/gridSizeModel);
+ double basexModel = pmGrid.makePrecise(modelEnv.getMinX());
+ double baseyModel = pmGrid.makePrecise(modelEnv.getMinY());
+ Point2D basePtView = viewport.toView(new Coordinate(basexModel, baseyModel));
+
+ g.setStroke(new BasicStroke());
+ g.setColor(ColorUtil.gray(GRID_MINOR_LINE_CLR));
+ drawGridLines(g, basePtView.getX(), basePtView.getY(), gridSizeView);
+ }
+
+ g.setStroke(new BasicStroke());
+ g.setColor(ColorUtil.gray(GRID_MAJOR_LINE_CLR));
+ drawGridLines(g, basePt10View.getX(), basePt10View.getY(), gridSize10View);
+
+ /**
+ * Major-Major Grid (100x)
+ */
+ Stroke strokeMajor2 = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {4, 6}, // Dash pattern
+ 0); // Dash phase
+ g.setStroke(strokeMajor2);
+ g.setColor(ColorUtil.gray(100));
+ drawGridLines(g, basePt100View.getX(), basePt100View.getY(), gridSize100View);
+
+ /**
+ * Semi-Major dots (10x + 5)
+ */
+ float dash10Offset = ((int) basePt10View.getY()) % (int) gridSize10View;
+ dash10Offset = (float) (gridSize10View - dash10Offset + gridSize10View/2);
+
+ g.setColor(Color.BLACK);
+ Stroke strokeMid = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {0, (float) gridSize10View/2}, // Dash pattern
+ dash10Offset); // Dash phase
+ g.setStroke(strokeMid);
+
+ drawGridLines(g,
+ basePt10View.getX() - gridSize10View/2,
+ 0,
+ gridSize10View/2);
+ }
+
+ private void drawDottedGrid(Graphics2D g)
+ {
+ int gridMagModel = viewport.gridMagnitudeModel();
+ double gridSizeModel = Math.pow(10, gridMagModel);
+ double gridSizeView = viewport.toView(gridSizeModel);
+
+ //System.out.println("gridSizeView= " + gridSizeView);
+
+ /**
+ * Major Grid (10x)
+ */
+ double gridSize10Model = 10 * gridSizeModel;
+ PrecisionModel pmGrid10 = new PrecisionModel(1.0/gridSize10Model);
+ Envelope modelEnv = viewport.getModelEnv();
+ double basex10Model = pmGrid10.makePrecise(modelEnv.getMinX());
+ double basey10Model = pmGrid10.makePrecise(modelEnv.getMinY());
+ Point2D basePt10View = viewport.toView(new Coordinate(basex10Model, basey10Model));
+ double gridSize10View = viewport.toView(gridSize10Model);
+
+ g.setStroke(new BasicStroke());
+ g.setColor(AppConstants.GRID_MAJOR_CLR);
+ drawGridLines(g, basePt10View.getX(), basePt10View.getY(), gridSize10View);
+
+ /**
+ * Major-Major Grid (100x)
+ */
+ double gridSize100Model = 100 * gridSizeModel;
+ PrecisionModel pmGrid100 = new PrecisionModel(1.0/gridSize100Model);
+ double basex100Model = pmGrid100.makePrecise(modelEnv.getMinX());
+ double basey100Model = pmGrid100.makePrecise(modelEnv.getMinY());
+ Point2D basePt100View = viewport.toView(new Coordinate(basex100Model, basey100Model));
+ double gridSize100View = viewport.toView(gridSize100Model);
+
+ Stroke strokeMajor2 = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {4, 6}, // Dash pattern
+ 0); // Dash phase
+ g.setStroke(strokeMajor2);
+
+ g.setColor(AppConstants.GRID_MINOR_CLR);
+ drawGridLines(g, basePt100View.getX(), basePt100View.getY(), gridSize100View);
+
+ /**
+ * Semi-Major grid (10x + 5)
+ */
+ /*
+ // disabled for now - a bit too many lines
+ g.setColor(AppConstants.GRID_MAJOR_CLR);
+ Stroke strokeMid = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {4, 6}, // Dash pattern
+ 0); // Dash phase
+ g.setStroke(strokeMid);
+
+ drawGridLines(g,
+ basePt10View.getX() - gridSize10View/2,
+ basePt10View.getY() + gridSize10View/2,
+ gridSize10View);
+*/
+ float dash10Offset = ((int) basePt10View.getY()) % (int) gridSize10View;
+ dash10Offset = (float) (gridSize10View - dash10Offset + gridSize10View/2);
+
+
+ /**
+ * Minor Grid
+ * Only display if dots are sparse enough
+ */
+ if (gridSizeView >= 4) {
+ PrecisionModel pmGrid = new PrecisionModel(1.0/gridSizeModel);
+ double basexModel = pmGrid.makePrecise(modelEnv.getMinX());
+ double baseyModel = pmGrid.makePrecise(modelEnv.getMinY());
+ Point2D basePtView = viewport.toView(new Coordinate(basexModel, baseyModel));
+ float dashOffset = ((int) basePtView.getY()) % (int) gridSizeView;
+ dashOffset = (float) gridSizeView - dashOffset;
+
+ //System.out.println("dashOffset= " + dashOffset);
+
+ Stroke strokeMinor = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {0, (float) gridSizeView }, // Dash pattern
+ dashOffset); // Dash phase
+ g.setStroke(strokeMinor);
+ g.setColor(AppConstants.GRID_MINOR_CLR);
+ drawGridLines(g, basePtView.getX(), 0, gridSizeView);
+ }
+
+ /**
+ * Semi-Major dots (10x + 5)
+ */
+ g.setColor(Color.BLACK);
+ Stroke strokeMid = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {0, (float) gridSize10View/2}, // Dash pattern
+ dash10Offset); // Dash phase
+ g.setStroke(strokeMid);
+
+ drawGridLines(g,
+ basePt10View.getX() - gridSize10View/2,
+ 0,
+ gridSize10View/2);
+ }
+
+ private void drawGridSizeLabel(Graphics2D g, int gridMagModel)
+ {
+ /**
+ * Draw grid size text
+ */
+ g.setColor(Color.BLUE);
+
+ int viewHeight = (int) viewport.getHeightInView();
+ int viewWidth = (int) viewport.getWidthInView();
+
+ if (Math.abs(gridMagModel) <= 3) {
+ // display as number
+ double gridSize = Math.pow(10, gridMagModel);
+ g.drawString(gridSizeFormat.format(gridSize), 2, viewHeight - 1);
+ }
+ else {
+ // display as exponent
+ g.drawString("10", 2, viewHeight - 1);
+ g.drawString(gridMagModel + "", 20, viewHeight - 8);
+ }
+ }
+
+ private void drawFixedGrid(Graphics2D g) {
+ // draw grid major lines
+
+ double gridSize = grid.getGridSize();
+ double gridSizeInView = gridSize * viewport.getScale();
+ //System.out.println(gridSizeInView);
+
+ Point2D ptLL = viewport.getLowerLeftCornerInModel();
+
+ double minx = grid.snapToMajorGrid(ptLL).getX();
+ double miny = grid.snapToMajorGrid(ptLL).getY();
+
+ Point2D minPtView = viewport.toView(new Coordinate(minx, miny));
+
+ g.setColor(AppConstants.GRID_MAJOR_CLR);
+ drawGridLines(g, minPtView.getX(), minPtView.getY(), gridSizeInView);
+ }
+
+ private void drawGridLines(Graphics2D g, double minx, double maxy, double gridSizeInView)
+ {
+ double viewWidth = viewport.getWidthInView();
+ double viewHeight = viewport.getHeightInView();
+
+ //Point2D minPtView = viewport.toView(new Coordinate(minx, miny));
+
+
+ /**
+ * Can't draw right to edges of panel, because
+ * Swing inset border occupies that space.
+ */
+ // draw vertical grid lines
+ for (double x = minx; x < viewWidth; x += gridSizeInView) {
+ // don't draw grid line right next to panel border
+ if (x < 2) continue;
+ g.draw(new Line2D.Double(x, 0, x, viewHeight - 0));
+ }
+ // skip drawing horizontal grid lines if maxy is invalid
+ if (maxy <= 0) return;
+ for (double y = maxy; y > 0; y -= gridSizeInView) {
+ // don't draw grid line right next to panel border
+ if (y < 2) continue;
+ g.draw(new Line2D.Double(0, y, viewWidth - 0, y));
+ }
+ }
+
+ private static final int TICK_LEN = 5;
+ private static final int SCALE_TEXT_OFFSET_X = 40;
+ private static final int SCALE_TEXT_OFFSET_Y = 2;
+
+ /**
+ * Not very pleasing
+ *
+ * @param g
+ */
+ private void drawScaleMarks(Graphics2D g)
+ {
+ Envelope viewEnv = viewport.getViewEnv();
+
+ int viewMag = maxVisibleMagnitude();
+ double gridIncModel = Math.pow(10.0, viewMag);
+ double gridIncView = viewport.toView(gridIncModel);
+
+ // ensure at least 3 ticks are shown
+ if (3 * gridIncView > viewEnv.maxExtent()) {
+ gridIncView /= 10.0;
+ viewMag -= 1;
+ }
+
+ g.setColor(Color.BLACK);
+
+ // draw X axis ticks
+ double tickX = viewport.getWidthInView() - gridIncView;
+ int viewHeight = (int) viewport.getHeightInView();
+ while (tickX > 0) {
+ g.draw(new Line2D.Double(tickX, viewHeight + 1, tickX, viewHeight - TICK_LEN));
+ tickX -= gridIncView;
+ }
+
+ // draw Y axis ticks
+ double tickY = viewport.getHeightInView() - gridIncView;
+ int viewWidth = (int) viewport.getWidthInView();
+ while (tickY > 0) {
+ g.draw(new Line2D.Double(viewWidth + 1, tickY, viewWidth - TICK_LEN, tickY));
+ tickY -= gridIncView;
+ }
+
+ // draw Scale magnitude
+ g.drawString("10", viewWidth - 35, viewHeight - 1);
+ g.drawString(viewMag+"", viewWidth - 20, viewHeight - 8);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/LayerRenderer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/LayerRenderer.java
new file mode 100644
index 0000000..18a4116
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/LayerRenderer.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jtstest.testbuilder.model.DisplayParameters;
+import org.locationtech.jtstest.testbuilder.model.GeometryContainer;
+import org.locationtech.jtstest.testbuilder.model.Layer;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.style.BasicStyle;
+import org.locationtech.jtstest.testbuilder.ui.style.LayerStyle;
+import org.locationtech.jtstest.testbuilder.ui.style.Style;
+import org.locationtech.jtstest.util.HSBPalette;
+
+
+public class LayerRenderer implements Renderer
+{
+ private Layer layer;
+ private GeometryContainer geomCont;
+ private Viewport viewport;
+ private boolean isCancelled = false;
+
+ public LayerRenderer(Layer layer, Viewport viewport)
+ {
+ this(layer, layer.getSource(), viewport);
+ }
+
+ public LayerRenderer(Layer layer, GeometryContainer geomCont, Viewport viewport)
+ {
+ this.layer = layer;
+ this.geomCont = geomCont;
+ this.viewport = viewport;
+ }
+
+ public void render(Graphics2D g)
+ {
+ if (! layer.isEnabled()) return;
+
+ try {
+ Geometry geom = getGeometry();
+ if (geom == null) return;
+
+ render(g, viewport, geom, layer);
+
+ } catch (Exception ex) {
+ System.out.println(ex);
+ // not much we can do about it - just carry on
+ }
+ }
+
+ private Geometry getGeometry()
+ {
+ if (geomCont == null) {
+ return null;
+ }
+ Geometry geom = geomCont.getGeometry();
+ return geom;
+ }
+
+ private void render(Graphics2D g, Viewport viewport, Geometry geometry, Layer layer)
+ throws Exception
+ {
+ // cull non-visible geometries
+ // for maximum rendering speed this needs to be checked for each component
+ if (! viewport.intersectsInModel(geometry.getEnvelopeInternal()))
+ return;
+ if (DisplayParameters.FILL_BASIC == DisplayParameters.fillType()) {
+ renderGeom(g, viewport, geometry, layer.getLayerStyle());
+ }
+ else {
+ renderCustomFill(g, viewport, geometry, layer);
+ }
+ }
+
+ private void renderCustomFill(Graphics2D g, Viewport viewport,
+ Geometry gc, Layer layer ) throws Exception
+ {
+ int numGeom = gc.getNumGeometries();
+ HSBPalette pal = customPalette(layer.getGeometryStyle().getFillColor(), numGeom);
+ /**
+ * Render each element separately.
+ * Otherwise it is not possible to render both filled and non-filled
+ * (1D) elements correctly.
+ * This also allows varying styling and cancellation.
+ */
+ for (int i = 0; i < numGeom; i++) {
+ if (isCancelled) return;
+ Style customFill = paletteFill(i, pal, layer.getGeometryStyle());
+ Style st = new LayerStyle(customFill, layer.getLayerStyle().getDecoratorStyle());
+ renderGeom(g, viewport, gc.getGeometryN(i), st);
+ }
+ }
+
+ private void renderGeom(Graphics2D g, Viewport viewport, Geometry geometry, Style style)
+ throws Exception
+ {
+ if (! viewport.intersectsInModel(geometry.getEnvelopeInternal()))
+ return;
+ if (! (geometry instanceof GeometryCollection)) {
+ style.paint(geometry, viewport, g);
+ return;
+ }
+ for (int i = 0; i < geometry.getNumGeometries(); i++) {
+ if (isCancelled) return;
+ renderGeom(g, viewport, geometry.getGeometryN(i), style);
+ }
+ }
+
+ private static final HSBPalette PAL_RAINBOW_INCREMENTAL = HSBPalette.createRainbowIncremental(0.396f, 0.4f, 1);
+
+ private static HSBPalette customPalette(Color clrBase, int numHues) {
+ HSBPalette pal = null;
+ if (DisplayParameters.FILL_VARY == DisplayParameters.fillType()) {
+ float hue = ColorUtil.getHue(clrBase);
+ pal = new HSBPalette(5, hue, 0.1f,
+ 3, 0.3f, 0.7f,
+ 3, 0.8f, 0.9f
+ );
+ }
+ else if (DisplayParameters.FILL_RAINBOW == DisplayParameters.fillType()) {
+ return HSBPalette.createRainbowSequential(numHues, 0.4f, 1);
+ }
+ else if (DisplayParameters.FILL_RAINBOW_RANDOM == DisplayParameters.fillType()) {
+ return PAL_RAINBOW_INCREMENTAL;
+ }
+ return pal;
+ }
+
+ private static Style paletteFill(int i, HSBPalette pal, BasicStyle style) {
+ Color clrBase = style.getFillColor();
+ int alpha = clrBase.getAlpha();
+ Color clr = pal.color(i, alpha);
+ BasicStyle st = new BasicStyle(style.getLineColor(), clr);
+ return st;
+ }
+
+ public void cancel()
+ {
+ isCancelled = true;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/OperationMonitorManager.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/OperationMonitorManager.java
new file mode 100644
index 0000000..48a7c41
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/OperationMonitorManager.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JPanel;
+import javax.swing.Timer;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class OperationMonitorManager
+{
+ public static Geometry indicator = null;
+
+ // testing only
+ static {
+ GeometryFactory geomFact = new GeometryFactory();
+ indicator = geomFact.createLineString(new Coordinate[]{
+ new Coordinate(0,0), new Coordinate(100, 10)
+ });
+ }
+
+ private JPanel panel;
+ private Viewport viewport;
+
+ private Timer repaintTimer = new Timer(50, new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e) {
+ if (indicator != null) {
+ paint();
+ return;
+ }
+ }
+ });
+
+ public OperationMonitorManager(JPanel panel, Viewport viewport)
+ {
+ this.panel = panel;
+ this.viewport = viewport;
+ // start with a short time cycle to give better appearance
+ repaintTimer.setInitialDelay(1000);
+ repaintTimer.start();
+ }
+
+ private void paint()
+ {
+ Graphics2D g = (Graphics2D) panel.getGraphics();
+ if (g == null) return;
+ GeometryPainter.paint(indicator, viewport, g, Color.RED, null);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/RenderManager.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/RenderManager.java
new file mode 100644
index 0000000..6f0251a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/RenderManager.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.*;
+import javax.swing.JPanel;
+import javax.swing.Timer;
+
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.ui.*;
+
+
+public class RenderManager
+{
+ private GeometryEditPanel panel;
+ private RendererSwingWorker worker = null;
+ private Image image = null;
+ private boolean isDirty = true;
+
+ private Timer repaintTimer = new Timer(100, new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e) {
+ if (worker.isRendering()) {
+ paintPanel();
+ return;
+ }
+ repaintTimer.stop();
+ paintPanel();
+ }
+ });
+
+ public RenderManager(GeometryEditPanel panel)
+ {
+ this.panel = panel;
+ // start with a short time cycle to give better appearance
+ repaintTimer.setInitialDelay(100);
+ }
+
+ public void setDirty(boolean isDirty)
+ {
+ this.isDirty = isDirty;
+ }
+
+ public void componentResized()
+ {
+ image = null;
+ isDirty = true;
+ }
+
+ public void render()
+ {
+ if (image != null && ! isDirty) return;
+
+ /*
+ * Clear dirty flag at start of rendering, so that subsequent paints will newly rendered image.
+ * Another way to think of this is that once rendering has been initiated,
+ * from the perspective of the client panel the image is up-to-date
+ * (although possibly not yet fully rendered)
+ */
+ isDirty = false;
+
+ repaintTimer.stop();
+
+ if (worker != null)
+ worker.cancel();
+ initImage();
+ worker = new RendererSwingWorker(panel.getRenderer(), image);
+ worker.start();
+ repaintTimer.start();
+ }
+
+ private void initImage()
+ {
+ if (image != null) {
+ erase(image);
+ return;
+ }
+ image = createPanelImage(panel);
+ }
+
+ private Image createPanelImage(JPanel panel) {
+ return new BufferedImage(panel.getWidth(), panel.getHeight(),
+ BufferedImage.TYPE_INT_ARGB);
+ }
+
+ public void erase(Image image) {
+ int width = image.getWidth(null);
+ int height = image.getHeight(null);
+
+ Graphics2D g = (Graphics2D) image.getGraphics();
+ g.setColor(Color.white);
+
+ Rectangle2D.Double r = new Rectangle2D.Double(0, 0, width, height);
+ g.fill(r);
+ }
+
+ public void copyImage(Graphics g)
+ {
+ if (image == null) {
+ return;
+ }
+ g.drawImage(image, 0, 0, null);
+ }
+
+ private void paintPanel()
+ {
+ copyImage(panel.getGraphics());
+ }
+}
+
+class RendererSwingWorker extends SwingWorker
+{
+ private Image image = null;
+
+ private Renderer renderer;
+ private boolean isRendering = true;
+
+ public RendererSwingWorker(Renderer renderable, Image image)
+ {
+ this.renderer = renderable;
+ this.image = image;
+ }
+
+ public Object construct()
+ {
+ isRendering = true;
+ Graphics2D gr = (Graphics2D) image.getGraphics();
+ renderer.render(gr);
+ isRendering = false;
+ return new Boolean(true);
+ }
+
+ public boolean isRendering()
+ {
+ return isRendering;
+ }
+
+ public void cancel()
+ {
+ renderer.cancel();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/Renderer.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/Renderer.java
new file mode 100644
index 0000000..63a727c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/render/Renderer.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.render;
+
+import java.awt.Graphics2D;
+
+/**
+ * A process object which renders a scene to a graphics context
+ * and allows cancellation.
+ * A Renderer can be cancelled, which may allow it to
+ * stop or short-circuit processing, thus saving cycles.
+ * A cancelled rendering will not be displayed.
+ *
+ * @author mbdavis
+ *
+ */
+public interface Renderer
+{
+ /**
+ * Renders the scene to the graphics context.
+ *
+ * @param g the graphics context to render to
+ */
+ void render(Graphics2D g);
+
+ /**
+ * Informs this process that it can stop rendering,
+ * because the rendered context will not be displayed.
+ *
+ */
+ void cancel();
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/AWTUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/AWTUtil.java
new file mode 100644
index 0000000..29a5abf
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/AWTUtil.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+public class AWTUtil
+{
+
+ public static Point2D subtract(Point2D a, Point2D b) {
+ return new Point2D.Double(a.getX() - b.getX(), a.getY() - b.getY());
+ }
+
+ public static Point2D add(Point2D a, Point2D b) {
+ return new Point2D.Double(a.getX() + b.getX(), a.getY() + b.getY());
+ }
+
+ public static Point2D multiply(Point2D v, double x) {
+ return new Point2D.Double(v.getX() * x, v.getY() * x);
+ }
+
+ public static void setStroke(Graphics2D g, double width) {
+ Stroke newStroke = new BasicStroke((float) width);
+ g.setStroke(newStroke);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowEndpointStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowEndpointStyle.java
new file mode 100644
index 0000000..7777fbb
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowEndpointStyle.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class ArrowEndpointStyle
+ extends LineStringEndpointStyle {
+
+ private static final int ARROW_ALPHA = 150;
+ private final static double ANGLE = 18;
+ private final static double LENGTH = 15;
+ private boolean filled = true;
+
+ // default in case colour is not set
+ private Color color = Color.RED;
+
+ public ArrowEndpointStyle(Color color, boolean start, boolean filled) {
+ super(start);
+ this.color = ColorUtil.setAlpha(color, ARROW_ALPHA);
+ this.filled = filled;
+ }
+
+ protected void paint(Point2D terminal, Point2D next, Viewport viewport,
+ Graphics2D g) throws NoninvertibleTransformException
+ {
+ // can't compute valid arrow for zero-length segments
+ if (terminal.equals(next)) {
+ return;
+ }
+
+ g.setPaint(color);
+ GeneralPath arrowhead = arrowheadPath(next, terminal, terminal, LENGTH,
+ ANGLE);
+ if (filled) {
+ arrowhead.closePath();
+ g.fill(arrowhead);
+ }
+ // draw to get effect of stroke
+ g.draw(arrowhead);
+ }
+
+ /**
+ * @param finLength
+ * required distance from the tip to each fin's tip
+ */
+ public static GeneralPath arrowheadPath(Point2D p0, Point2D p1,
+ Point2D tipPt,
+ double finLength, double finAngle) {
+ GeneralPath arrowhead = new GeneralPath();
+ Point2D finTip1 = fin(tipPt, p0, finLength, finAngle);
+ Point2D finTip2 = fin(tipPt, p0, finLength, -finAngle);
+ arrowhead.moveTo((float) finTip1.getX(), (float) finTip1.getY());
+ arrowhead.lineTo((float) tipPt.getX(), (float) tipPt.getY());
+ arrowhead.lineTo((float) finTip2.getX(), (float) finTip2.getY());
+
+ return arrowhead;
+ }
+
+ public static Point2D fin(Point2D shaftTip, Point2D shaftTail, double length,
+ double angle) {
+ double shaftLength = shaftTip.distance(shaftTail);
+ Point2D finTail = shaftTip;
+ Point2D finTip = AWTUtil.add(AWTUtil.multiply(AWTUtil.subtract(shaftTail,
+ shaftTip), length / shaftLength), finTail);
+ AffineTransform affineTransform = new AffineTransform();
+ affineTransform.rotate((angle * Math.PI) / 180, finTail.getX(), finTail
+ .getY());
+
+ return affineTransform.transform(finTip, null);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowLineStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowLineStyle.java
new file mode 100644
index 0000000..1f7c92f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ArrowLineStyle.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class ArrowLineStyle
+ extends SegmentStyle
+{
+ private final static double HEAD_ANGLE = 30;
+ private final static double HEAD_LENGTH = 8;
+
+ private Color color = Color.RED;
+
+ private static Stroke dashStroke = new BasicStroke(1, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {2, 2}, // Dash pattern
+ 0); // Dash phase
+ private static Stroke MID_ARROW_STROKE = new BasicStroke(1);
+
+ public ArrowLineStyle(Color color) {
+ this.color = color;
+ }
+
+ protected void paint(int index, Point2D p0, Point2D p1, int lineType, Viewport vp, Graphics2D gr)
+ throws Exception
+ {
+ if (lineType == LINE)
+ paintMidpointArrow(p0, p1, vp, gr);
+ else
+ paintOffsetArrow(p0, p1, vp, gr);
+ }
+
+ protected void paintMidpointArrow(Point2D p0, Point2D p1, Viewport viewport,
+ Graphics2D graphics) throws NoninvertibleTransformException
+ {
+ if (isTooSmallToRender(p0, p1)) return;
+ graphics.setColor(color);
+ graphics.setStroke(MID_ARROW_STROKE);
+ Point2D mid = new Point2D.Float((float) ((p0.getX() + p1.getX()) / 2),
+ (float) ((p0.getY() + p1.getY()) / 2));
+ GeneralPath arrowhead = ArrowEndpointStyle.arrowheadPath(p0, p1, mid,
+ HEAD_LENGTH, HEAD_ANGLE);
+ graphics.draw(arrowhead);
+ }
+
+ private static final double LINE_OFFSET = 4;
+ private static final double ENDPOINT_OFFSET = 15;
+
+ private static final double HEAD_ANGLE_RAD = (HEAD_ANGLE - 180 ) /180.0 * Math.PI;
+ private static final double HEAD_COS = Math.cos(HEAD_ANGLE_RAD);
+ private static final double HEAD_SIN = Math.sin(HEAD_ANGLE_RAD);
+
+ public static final double MIN_VISIBLE_LEN = 2 * ENDPOINT_OFFSET + 4;
+
+ protected void paintOffsetArrow(Point2D p0, Point2D p1, Viewport viewport,
+ Graphics2D graphics) throws NoninvertibleTransformException
+ {
+ if (isTooSmallToRender(p0, p1)) return;
+
+ graphics.setColor(color);
+ // graphics.setStroke(1.0);
+ graphics.setStroke(dashStroke);
+
+
+ double dx = p1.getX() - p0.getX();
+ double dy = p1.getY() - p0.getY();
+
+ double len = Math.sqrt(dx * dx + dy * dy);
+
+ double vy = dy / len;
+ double vx = dx / len;
+
+ double off0x = p0.getX() + ENDPOINT_OFFSET * vx + LINE_OFFSET * vy;
+ double off0y = p0.getY() + ENDPOINT_OFFSET * vy + LINE_OFFSET * -vx;
+
+ double off1x = p1.getX() - ENDPOINT_OFFSET * vx + LINE_OFFSET * vy;
+ double off1y = p1.getY() - ENDPOINT_OFFSET * vy + LINE_OFFSET * -vx;
+
+ double headx = off1x + HEAD_LENGTH * (HEAD_COS * vx - HEAD_SIN * vy);
+ double heady = off1y + HEAD_LENGTH * (HEAD_SIN * vx + HEAD_COS * vy);
+
+ GeneralPath arrowhead = new GeneralPath();
+ arrowhead.moveTo((float) off0x, (float) off0y);
+ arrowhead.lineTo((float) off1x, (float) off1y);
+ arrowhead.lineTo((float) headx, (float) heady);
+
+ graphics.draw(arrowhead);
+ }
+
+ private boolean isTooSmallToRender(Point2D p0, Point2D p1)
+ {
+ if (p0.equals(p1)) {
+ return true;
+ }
+ double dx = p1.getX() - p0.getX();
+ double dy = p1.getY() - p0.getY();
+
+ double len = Math.sqrt(dx * dx + dy * dy);
+
+ return len < MIN_VISIBLE_LEN;
+
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/BasicStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/BasicStyle.java
new file mode 100644
index 0000000..b136897
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/BasicStyle.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.render.GeometryPainter;
+
+
+public class BasicStyle implements Style
+{
+ private Color lineColor;
+ private Color fillColor;
+
+ public BasicStyle(Color lineColor, Color fillColor) {
+ this.lineColor = lineColor;
+ this.fillColor = fillColor;
+ }
+
+ public BasicStyle() {
+ }
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ {
+ GeometryPainter.paint(geom, viewport, g, lineColor, fillColor);
+ }
+
+ public Color getLineColor() {
+ return lineColor;
+ }
+
+ public Color getFillColor() {
+ return fillColor;
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/CircleEndpointStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/CircleEndpointStyle.java
new file mode 100644
index 0000000..6f67340
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/CircleEndpointStyle.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class CircleEndpointStyle
+ extends LineStringEndpointStyle
+{
+
+ private final static double DIAMETER = 10;
+ private boolean filled = true;
+
+ // default in case colour is not set
+ private Color color = Color.RED;
+ private double diameter = DIAMETER;
+
+ public CircleEndpointStyle(Color color, boolean start, boolean filled) {
+ super(start);
+ this.color = color;
+ this.filled = filled;
+}
+
+ public CircleEndpointStyle(Color color, double diameter, boolean start, boolean filled) {
+ super(start);
+ this.color = color;
+ this.diameter = diameter;
+ this.filled = filled;
+}
+
+ protected void paint(Point2D terminal, Point2D next, Viewport viewport,
+ Graphics2D g)
+ {
+
+ g.setPaint(color);
+
+ Shape circle = toCircle(terminal);
+
+ if (filled) {
+ g.fill(circle);
+ }
+ else {
+ g.draw(circle);
+ }
+ }
+
+ private Shape toCircle(Point2D viewPoint) {
+ return new Ellipse2D.Double(viewPoint.getX() - (diameter / 2d),
+ viewPoint.getY() - (diameter / 2d), diameter, diameter);
+}
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ComponentStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ComponentStyle.java
new file mode 100644
index 0000000..61e71ae
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/ComponentStyle.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public abstract class ComponentStyle
+ implements Style
+{
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ throws Exception
+ {
+ // cull non-visible geometries
+ if (! viewport.intersectsInModel(geom.getEnvelopeInternal()))
+ return;
+
+ if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ paint(gc.getGeometryN(i), viewport, g);
+ }
+ return;
+ }
+ paintComponent(geom, viewport, g);
+ }
+
+ protected abstract void paintComponent(Geometry geom,
+ Viewport viewport, Graphics2D graphics)
+ throws Exception;
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/DataLabelStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/DataLabelStyle.java
new file mode 100644
index 0000000..fc99806
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/DataLabelStyle.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.ui.GraphicsUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.render.GeometryPainter;
+
+
+public class DataLabelStyle implements Style
+{
+ private Color color;
+
+ public DataLabelStyle(Color color) {
+ this.color = color;
+ }
+
+ public DataLabelStyle() {
+ }
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g2d)
+ {
+ if (geom.getUserData() == null) return;
+
+ Coordinate p = geom.getCentroid().getCoordinate();
+ Point2D vp = viewport.toView(new Point2D.Double(p.x, p.y));
+
+ g2d.setColor(color);
+ g2d.setFont(AppConstants.FONT_LABEL);
+
+ String label = geom.getUserData().toString();
+ //int stringLen = (int) g2d.getFontMetrics().getStringBounds(label, g2d).getWidth();
+ GraphicsUtil.drawStringAlignCenter(g2d, label, (int) vp.getX(), (int) vp.getY());
+ }
+
+ public Color getColor() {
+ return color;
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LayerStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LayerStyle.java
new file mode 100644
index 0000000..f2cbfce
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LayerStyle.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+public class LayerStyle implements Style {
+
+ private Style geomStyle;
+ private Style decoratorStyle;
+
+ public LayerStyle(Style geomStyle, Style decoratorStyle) {
+ this.geomStyle = geomStyle;
+ this.decoratorStyle = decoratorStyle;
+ }
+
+ public Style getGeomStyle() {
+ return geomStyle;
+ }
+
+ public Style getDecoratorStyle() {
+ return decoratorStyle;
+ }
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g) throws Exception {
+ geomStyle.paint(geom, viewport, g);
+ decoratorStyle.paint(geom, viewport, g);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringEndpointStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringEndpointStyle.java
new file mode 100644
index 0000000..e775414
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringEndpointStyle.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public abstract class LineStringEndpointStyle extends LineStringStyle {
+ private boolean start;
+
+ public LineStringEndpointStyle(boolean start) {
+ this.start = start;
+ }
+
+ protected void paintLineString(LineString lineString, int lineType, Viewport viewport, Graphics2D graphics
+ ) throws Exception {
+ if (lineString.isEmpty()) {
+ return;
+ }
+
+ paint(start ? lineString.getCoordinateN(0)
+ : lineString.getCoordinateN(lineString.getNumPoints() - 1),
+ start ? lineString.getCoordinateN(1)
+ : lineString.getCoordinateN(lineString.getNumPoints() - 2),
+ viewport, graphics);
+ }
+
+ private void paint(Coordinate terminal, Coordinate next, Viewport viewport,
+ Graphics2D graphics) throws Exception {
+ paint(viewport.toView(new Point2D.Double(terminal.x, terminal.y)),
+ viewport.toView(new Point2D.Double(next.x, next.y)), viewport,
+ graphics);
+ }
+
+ protected abstract void paint(Point2D terminal, Point2D next,
+ Viewport viewport, Graphics2D graphics) throws Exception;
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringStyle.java
new file mode 100644
index 0000000..d777518
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/LineStringStyle.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public abstract class LineStringStyle
+ implements Style
+{
+ public static final int LINE = 1;
+ public static final int POLY_SHELL = 2;
+ public static final int POLY_HOLE = 3;
+
+ public LineStringStyle() {
+ }
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ throws Exception
+ {
+ // cull non-visible geometries
+ if (! viewport.intersectsInModel(geom.getEnvelopeInternal()))
+ return;
+
+ if (geom instanceof LineString) {
+ LineString lineString = (LineString) geom;
+ if (lineString.getNumPoints() < 2) {
+ return;
+ }
+ paintLineString(lineString, LINE, viewport, g);
+ }
+
+ if (geom instanceof Point)
+ return;
+ if (geom instanceof MultiPoint)
+ return;
+
+ if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ paint(gc.getGeometryN(i), viewport, g);
+ }
+ return;
+ }
+ if (geom instanceof Polygon) {
+ Polygon polygon = (Polygon) geom;
+ paint(polygon.getExteriorRing(), POLY_SHELL, viewport, g);
+ for (int i = 0; i < polygon.getNumInteriorRing(); i++) {
+ paint(polygon.getInteriorRingN(i), POLY_HOLE, viewport, g);
+ }
+ return;
+ }
+ }
+
+ public void paint(LineString line, int lineType, Viewport viewport, Graphics2D g)
+ throws Exception
+ {
+ // cull non-visible geometries
+ if (! viewport.intersectsInModel(line.getEnvelopeInternal()))
+ return;
+
+ paintLineString(line, lineType, viewport, g);
+ }
+
+ protected abstract void paintLineString(LineString lineString,
+ int lineType,
+ Viewport viewport, Graphics2D graphics)
+ throws Exception;
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/MidArrowLineStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/MidArrowLineStyle.java
new file mode 100644
index 0000000..4faf20e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/MidArrowLineStyle.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class MidArrowLineStyle
+ extends SegmentStyle
+{
+ private final static double HEAD_ANGLE = 30;
+ private final static double HEAD_LENGTH = 10;
+
+ private Color color = Color.RED;
+
+ public MidArrowLineStyle(Color color) {
+ this.color = color;
+ }
+
+ protected void paint(int index, Point2D p0, Point2D p1, int lineType, Viewport vp, Graphics2D gr)
+ throws Exception
+ {
+ paintMidpointArrow(p0, p1, vp, gr);
+ }
+
+ protected void paintMidpointArrow(Point2D p0, Point2D p1, Viewport viewport,
+ Graphics2D graphics) throws NoninvertibleTransformException
+ {
+ // can't compute valid arrow for zero-length segments
+ if (p0.equals(p1)) {
+ return;
+ }
+ graphics.setColor(color);
+ // graphics.setStroke(1.0);
+ Point2D mid = new Point2D.Float((float) ((p0.getX() + p1.getX()) / 2),
+ (float) ((p0.getY() + p1.getY()) / 2));
+ GeneralPath arrowhead = ArrowEndpointStyle.arrowheadPath(p0, p1, mid,
+ HEAD_LENGTH, HEAD_ANGLE);
+ graphics.draw(arrowhead);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/PolygonStructureStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/PolygonStructureStyle.java
new file mode 100644
index 0000000..732f5d3
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/PolygonStructureStyle.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.render.GeometryPainter;
+
+
+/**
+ * Shows polygon structure (shells versus holes)
+ * by symbolizing the rings differently.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PolygonStructureStyle
+extends LineStringStyle
+{
+ private Color color = Color.BLACK;
+
+ public PolygonStructureStyle(Color color) {
+ this.color = color;
+ }
+
+ protected void paintLineString(LineString lineString,
+ int lineType,
+ Viewport viewport, Graphics2D gr)
+ throws Exception
+ {
+ Color dashClr = color.darker().darker(); //new Color(0, 0, 0);
+ Graphics2D gr2 = (Graphics2D) gr.create();
+ gr2.setColor(dashClr);
+
+ Stroke dashStroke = new BasicStroke((float) 1.2, // Width of stroke
+ BasicStroke.CAP_SQUARE, // End cap style
+ BasicStroke.JOIN_MITER, // Join style
+ 10, // Miter limit
+ new float[] {3, 6}, // Dash pattern
+ 0); // Dash phase
+ gr2.setStroke(dashStroke);
+
+ if (lineType == POLY_HOLE) {
+ Shape ringShape = GeometryPainter.getConverter(viewport).toShape(lineString);
+ gr2.draw(ringShape);
+ }
+ //Color shellClr = ColorUtil.saturate(color, 0.9);
+ //gr2.setColor(shellClr);
+ //paintRing(polygon.getExteriorRing(), true, viewport, gr2);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentIndexStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentIndexStyle.java
new file mode 100644
index 0000000..11cd9f8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentIndexStyle.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.awt.FontGlyphReader;
+import org.locationtech.jts.geomgraph.Quadrant;
+import org.locationtech.jts.noding.Octant;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class SegmentIndexStyle
+ extends SegmentStyle
+{
+ private final static double MIN_LEN = 10;
+ private final static int CHAR_WIDTH_APPROX = 6;
+ private final static int CHAR_HEIGHT_APPROX = 6;
+ private final static int VERTEX_OFFSET = 15;
+ private final static int BOX_PAD = 1;
+ private final static Font FONT = new Font(FontGlyphReader.FONT_SANSSERIF, Font.PLAIN, 10);
+
+ private Color color = Color.RED;
+
+ public SegmentIndexStyle(Color color) {
+ this.color = color;
+ }
+
+ protected void paint(int index, Point2D p0, Point2D p1, int lineType, Viewport vp, Graphics2D gr)
+ throws Exception
+ {
+ double len = p0.distance(p1);
+ // can't compute label location for zero-length segments
+ if (len < MIN_LEN) {
+ return;
+ }
+
+ double vertexOffset = len / 4;
+ if (vertexOffset > VERTEX_OFFSET)
+ vertexOffset = VERTEX_OFFSET;
+
+ String indexStr = Integer.toString(index);
+
+ double dx = p1.getX() - p0.getX();
+ double dy = p1.getY() - p0.getY();
+
+ int quadrant = Quadrant.quadrant(dx, -dy);
+
+ double boxMaxX = /*2 * BOX_PAD +*/ indexStr.length() * CHAR_WIDTH_APPROX;
+ double boxMaxY = 2 * BOX_PAD + CHAR_HEIGHT_APPROX;
+
+ double strOffsetX = BOX_PAD;
+ double strOffsetY = -BOX_PAD;
+ switch (quadrant) {
+ case 0:
+ strOffsetX = -boxMaxX;
+ break;
+ case 1:
+ break;
+ case 2:
+ strOffsetY = boxMaxY;
+ break;
+ case 3:
+ strOffsetX = -boxMaxX;
+ strOffsetY = boxMaxY;
+ break;
+ }
+
+ double x = p0.getX() + dx/len*vertexOffset + strOffsetX;
+ double y = p0.getY() + dy/len*vertexOffset + strOffsetY;
+
+ gr.setColor(color);
+ gr.setFont(FONT);
+ gr.drawString(indexStr, (int) x, (int) y);
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentStyle.java
new file mode 100644
index 0000000..2aa239d
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/SegmentStyle.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public abstract class SegmentStyle
+extends LineStringStyle
+{
+
+ public SegmentStyle() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ protected void paintLineString(LineString lineString, int lineType, Viewport viewport, Graphics2D graphics) throws Exception {
+ for (int i = 0; i < lineString.getNumPoints() - 1; i++) {
+ paint(i,
+ lineString.getCoordinateN(i),
+ lineString.getCoordinateN(i + 1),
+ lineType, viewport, graphics);
+ }
+ }
+
+ protected void paint(int index, Coordinate p0, Coordinate p1, int lineType, Viewport viewport, Graphics2D g
+ ) throws Exception {
+ paint(index, viewport.toView(new Point2D.Double(p0.x, p0.y)),
+ viewport.toView(new Point2D.Double(p1.x, p1.y)), lineType, viewport, g);
+ }
+
+ /**
+ *
+ * @param p0 the origin of the line segment, in view space
+ * @param p1 the termination of the line segment, in view space
+ * @param viewport
+ * @param graphics
+ * @throws Exception
+ */
+ protected abstract void paint(int index, Point2D p0, Point2D p1,
+ int lineType, Viewport viewport, Graphics2D graphics) throws Exception;
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/Style.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/Style.java
new file mode 100644
index 0000000..60a8a9a
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/Style.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public interface Style {
+ void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ throws Exception;
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/StyleList.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/StyleList.java
new file mode 100644
index 0000000..676ea7c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/StyleList.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.util.*;
+import java.awt.Graphics2D;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+import org.locationtech.jtstest.testbuilder.ui.render.*;
+
+
+/**
+ * Contains a list of styles and allows Geometrys
+ * to be rendered using those styles.
+ *
+ * @author mbdavis
+ *
+ */
+public class StyleList implements Style
+{
+ private List styleList = new ArrayList();
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ throws Exception
+ {
+ for (Iterator i = styleList.iterator(); i.hasNext(); ) {
+ StyleEntry styleEntry = (StyleEntry) i.next();
+ if (styleEntry.isFullyEnabled())
+ styleEntry.getStyle().paint(geom, viewport, g);
+ }
+ }
+
+ public void add(Style style)
+ {
+ add(style, null);
+ }
+
+ public void add(Style style, StyleFilter filter)
+ {
+ styleList.add(new StyleEntry(style, filter));
+ }
+
+ public void setEnabled(Style style, boolean isEnabled)
+ {
+ StyleEntry entry = getEntry(style);
+ if (entry == null)
+ return;
+ entry.setEnabled(isEnabled);
+ }
+
+ private StyleEntry getEntry(Style style)
+ {
+ int index = getEntryIndex(style);
+ if (index < 0) return null;
+ return (StyleEntry) styleList.get(index);
+ }
+
+ private int getEntryIndex(Style style)
+ {
+ for (int i = 0; i < styleList.size(); i++) {
+ StyleEntry entry = (StyleEntry) styleList.get(i);
+ if (entry.getStyle() == style)
+ return i;
+ }
+ return -1;
+ }
+
+ public interface StyleFilter {
+ boolean isFiltered(Style style);
+ }
+}
+
+class StyleEntry
+{
+ private Style style;
+ private boolean isEnabled = true;
+ private StyleList.StyleFilter filter = null;
+
+ public StyleEntry(Style style)
+ {
+ this.style = style;
+ }
+
+ public StyleEntry(Style style, StyleList.StyleFilter filter)
+ {
+ this.style = style;
+ this.filter = filter;
+ }
+
+ public void setEnabled(boolean isEnabled)
+ {
+ this.isEnabled = isEnabled;
+ }
+
+ public boolean isEnabled() { return isEnabled; }
+
+ public boolean isFiltered() {
+ if (filter == null)
+ return false;
+ return filter.isFiltered(style);
+ }
+
+ public boolean isFullyEnabled()
+ {
+ return isEnabled() && ! isFiltered();
+ }
+
+ public Style getStyle() { return style; }
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/VertexStyle.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/VertexStyle.java
new file mode 100644
index 0000000..936f198
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/style/VertexStyle.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.style;
+
+import java.awt.*;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public class VertexStyle implements Style
+{
+ private double sizeOver2 = AppConstants.VERTEX_SIZE / 2d;
+
+ protected Rectangle shape;
+ private Color color;
+
+ // reuse point objects to avoid creation overhead
+ private Point2D pM = new Point2D.Double();
+ private Point2D pV = new Point2D.Double();
+
+ public VertexStyle(Color color) {
+ this.color = color;
+ // create basic rectangle shape
+ shape = new Rectangle(0,
+ 0,
+ AppConstants.VERTEX_SIZE,
+ AppConstants.VERTEX_SIZE);
+ }
+
+
+ public void paint(Geometry geom, Viewport viewport, Graphics2D g)
+ {
+ g.setPaint(color);
+ Coordinate[] coordinates = geom.getCoordinates();
+
+ for (int i = 0; i < coordinates.length; i++) {
+ if (! viewport.containsInModel(coordinates[i])) {
+ //Otherwise get "sun.dc.pr.PRException: endPath: bad path" exception
+ continue;
+ }
+ pM.setLocation(coordinates[i].x, coordinates[i].y);
+ viewport.toView(pM, pV);
+ shape.setLocation((int) (pV.getX() - sizeOver2), (int) (pV.getY() - sizeOver2));
+ g.fill(shape);
+ }
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractDrawTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractDrawTool.java
new file mode 100644
index 0000000..a531246
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractDrawTool.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.event.MouseEvent;
+
+import org.locationtech.jtstest.testbuilder.AppCursors;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+//import com.vividsolutions.jtstest.testbuilder.IconLoader;
+
+/**
+ * @version 1.7
+ */
+public abstract class AbstractDrawTool extends LineBandTool {
+
+ protected AbstractDrawTool() {
+ super(AppCursors.DRAW_GEOM);
+ }
+
+ protected abstract int getGeometryType();
+
+ public void mouseClicked(MouseEvent e) {
+ setBandType();
+ super.mouseClicked(e);
+ }
+
+ protected void bandFinished() throws Exception {
+ setType();
+ geomModel().addComponent(getCoordinates());
+ panel().updateGeom();
+ }
+
+ private void setType() {
+ if (panel().getModel() == null)
+ return;
+ panel().getGeomModel().setGeometryType(getGeometryType());
+ }
+
+ private void setBandType() {
+ int geomType = getGeometryType();
+ setCloseRing(geomType == GeometryType.POLYGON);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractStreamDrawTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractStreamDrawTool.java
new file mode 100644
index 0000000..9a26abe
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/AbstractStreamDrawTool.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.event.InputEvent;
+import java.awt.event.MouseEvent;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jtstest.testbuilder.AppCursors;
+import org.locationtech.jtstest.testbuilder.model.GeometryType;
+
+
+/**
+ * @version 1.7
+ */
+public abstract class AbstractStreamDrawTool extends LineBandTool {
+
+ protected AbstractStreamDrawTool() {
+ super(AppCursors.DRAW_GEOM);
+ }
+
+ protected abstract int getGeometryType();
+
+ protected void mouseLocationChanged(MouseEvent e) {
+ try {
+ if ((e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK)
+ == InputEvent.BUTTON1_DOWN_MASK) {
+ Coordinate newCoord = toModelCoordinate(e.getPoint());
+ if (newCoord.distance(lastCoordinate()) < gridSize())
+ return;
+ //add(toModelSnapped(e.getPoint()));
+ add(newCoord);
+ }
+
+ tentativeCoordinate = toModelSnapped(e.getPoint());
+ redrawIndicator();
+ } catch (Throwable t) {
+ }
+ }
+
+ public void mousePressed(MouseEvent e) {
+ setBandType();
+ super.mousePressed(e);
+ }
+
+
+ public void mouseClicked(MouseEvent e) {
+ setBandType();
+ super.mouseClicked(e);
+ }
+
+ protected void bandFinished() throws Exception {
+ setType();
+ geomModel().addComponent(getCoordinates());
+ panel().updateGeom();
+ }
+
+ private void setType() {
+ if (panel().getModel() == null)
+ return;
+ panel().getGeomModel().setGeometryType(getGeometryType());
+ }
+
+ private void setBandType() {
+ int geomType = getGeometryType();
+ setCloseRing(geomType == GeometryType.POLYGON);
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BasicTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BasicTool.java
new file mode 100644
index 0000000..7a7ad7f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BasicTool.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.awt.event.MouseWheelEvent;
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.awt.FontGlyphReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.model.*;
+import org.locationtech.jtstest.testbuilder.ui.Viewport;
+
+
+public abstract class BasicTool implements Tool
+{
+ protected Cursor cursor = Cursor.getDefaultCursor();
+
+ private PrecisionModel gridPM;
+
+ private GeometryEditPanel panel;
+
+ public BasicTool() {
+ super();
+ }
+
+ public BasicTool(Cursor cursor) {
+ super();
+ this.cursor = cursor;
+ }
+
+ protected Graphics2D getGraphics2D() {
+ Graphics2D g = (Graphics2D) panel().getGraphics();
+ if (g != null) {
+ // guard against g == null
+ g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+ }
+ return g;
+ }
+
+ public void mouseClicked(MouseEvent e) {}
+ public void mousePressed(MouseEvent e) {}
+ public void mouseReleased(MouseEvent e) {}
+ public void mouseEntered(MouseEvent e) {}
+ public void mouseExited(MouseEvent e) {}
+ public void mouseDragged(MouseEvent e) { }
+ public void keyPressed(KeyEvent e) { }
+ public void keyReleased(KeyEvent e) { }
+ public void keyTyped(KeyEvent e) { }
+ public void mouseMoved(MouseEvent e) { }
+ public void mouseWheelMoved(MouseWheelEvent e) { }
+
+ public Cursor getCursor()
+ {
+ return cursor;
+ }
+
+ /**
+ * Called when tool is activated.
+ *
+ * If subclasses override this method they must call <tt>super.activate()</tt>.
+ */
+ public void activate(GeometryEditPanel panel)
+ {
+ this.panel = panel;
+ gridPM = getViewport().getGridPrecisionModel();
+ this.panel.setCursor(getCursor());
+ this.panel.addMouseListener(this);
+ this.panel.addMouseMotionListener(this);
+ this.panel.addMouseWheelListener(this);
+ }
+
+ public void deactivate()
+ {
+ this.panel.removeMouseListener(this);
+ this.panel.removeMouseMotionListener(this);
+ this.panel.removeMouseWheelListener(this);
+ }
+
+ protected GeometryEditPanel panel()
+ {
+ // this should probably be passed in during setup
+ //return JTSTestBuilderFrame.instance().getTestCasePanel().getGeometryEditPanel();
+ return panel;
+ }
+
+ protected GeometryEditModel geomModel()
+ {
+ // this should probably be passed in during setup
+ return JTSTestBuilder.model().getGeometryEditModel();
+ }
+
+ private Viewport getViewport()
+ {
+ return panel().getViewport();
+ }
+
+ Point2D toView(Coordinate modePt)
+ {
+ return getViewport().toView(modePt);
+ }
+
+ double toView(double distance)
+ {
+ return getViewport().toView(distance);
+ }
+
+ Point2D toModel(java.awt.Point viewPt)
+ {
+ return getViewport().toModel(viewPt);
+ }
+
+ Coordinate toModelCoordinate(java.awt.Point viewPt)
+ {
+ return getViewport().toModelCoordinate(viewPt);
+ }
+
+ double toModel(double viewDist)
+ {
+ return viewDist / getViewport().getScale();
+ }
+
+ double getModelSnapTolerance()
+ {
+ return toModel(AppConstants.TOLERANCE_PIXELS);
+ }
+
+ protected Coordinate toModelSnapped(Point2D p)
+ {
+ return toModelSnappedIfCloseToViewGrid(p);
+ }
+
+ protected Coordinate toModelSnappedToViewGrid(Point2D p)
+ {
+ // snap to view grid
+ Coordinate pModel = getViewport().toModelCoordinate(p);
+ gridPM.makePrecise(pModel);
+ return pModel;
+ }
+
+ protected Coordinate toModelSnappedIfCloseToViewGrid(Point2D p)
+ {
+ // snap to view grid if close to view grid point
+ Coordinate pModel = getViewport().toModelCoordinate(p);
+ Coordinate pSnappedModel = new Coordinate(pModel);
+ gridPM.makePrecise(pSnappedModel);
+
+ double tol = getModelSnapTolerance();
+ if (pModel.distance(pSnappedModel) <= tol)
+ return pSnappedModel;
+ return pModel;
+ }
+
+ protected double gridSize()
+ {
+ return getViewport().getGridSizeModel();
+ }
+
+ /*
+ protected Coordinate toModelSnappedToDrawingGrid(Point2D p)
+ {
+ Point2D pt = panel().snapToGrid(getViewport().toModel(p));
+ return new Coordinate(pt.getX(), pt.getY());
+ }
+ */
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BoxBandTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BoxBandTool.java
new file mode 100644
index 0000000..da6d999
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/BoxBandTool.java
@@ -0,0 +1,182 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.event.MouseEvent;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.SwingUtilities;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilder;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+
+
+
+/**
+ * @version 1.7
+ */
+public abstract class BoxBandTool extends IndicatorTool
+{
+
+ private Point zoomBoxStart = null;
+ private Point zoomBoxEnd = null;
+
+ public BoxBandTool() { }
+
+ public BoxBandTool(Cursor cursor) {
+ super(cursor);
+ }
+
+ public void mousePressed(MouseEvent e)
+ {
+ zoomBoxStart = e.getPoint();
+ zoomBoxEnd = null;
+ }
+
+ public void mouseReleased(MouseEvent e)
+ {
+ clearIndicator();
+ // don't process this event if the mouse was clicked or dragged a very short distance
+ if (! isSignificantMouseMove())
+ return;
+
+ gestureFinished();
+ }
+
+ public void mouseDragged(MouseEvent e)
+ {
+ super.mouseDragged(e);
+ zoomBoxEnd = e.getPoint();
+ redrawIndicator();
+ }
+
+ protected Shape getShape()
+ {
+ if (zoomBoxEnd == null) return null;
+
+ Envelope envModel = getEnvelope();
+
+ Point2D base = toView(new Coordinate(envModel.getMinX(), envModel.getMaxY()));
+ double width = toView(envModel.getWidth());
+ double height = toView(envModel.getHeight());
+ return new Rectangle2D.Double(base.getX(), base.getY(), width, height);
+ }
+
+ private static final int MIN_MOVEMENT = 3;
+
+ private boolean isSignificantMouseMove()
+ {
+ if (zoomBoxEnd == null) return false;
+
+ if (Math.abs(zoomBoxStart.x - zoomBoxEnd.x) < MIN_MOVEMENT)
+ return false;
+ if (Math.abs(zoomBoxStart.y - zoomBoxEnd.y) < MIN_MOVEMENT)
+ return false;
+ return true;
+ }
+
+ /**
+ * Gets the envelope of the indicated rectangle,
+ * in model coordinates.
+ *
+ * @return
+ */
+ protected Envelope getEnvelope() {
+ Coordinate start = toModelSnapped(zoomBoxStart);
+ Coordinate end = toModelSnapped(zoomBoxEnd);
+ return new Envelope(start, end);
+ }
+
+ protected Geometry getBox()
+ {
+ return JTSTestBuilder.getGeometryFactory().toGeometry(getEnvelope());
+ }
+
+ /**
+ * Getes the coordinates for the rectangle
+ * starting with the lower left point.
+ * The coordinates are oriented CW.
+ *
+ * @return the coordinates for the rectangle
+ */
+ protected List getCoordinatesOfEnvelope()
+ {
+ Envelope env = getEnvelope();
+
+ List coords = new ArrayList();
+ coords.add(new Coordinate(env.getMinX(), env.getMinY()));
+ coords.add(new Coordinate(env.getMinX(), env.getMaxY()));
+ coords.add(new Coordinate(env.getMaxX(), env.getMaxY()));
+ coords.add(new Coordinate(env.getMaxX(), env.getMinY()));
+ coords.add(new Coordinate(env.getMinX(), env.getMinY()));
+ return coords;
+ }
+
+ /**
+ * Gets the coordinates for the rectangle
+ * starting at the first point clicked.
+ * The coordinates are oriented CW.
+ *
+ * @return the coordinates for the rectangle
+ */
+ protected List getCoordinates()
+ {
+ Coordinate start = toModelSnapped(zoomBoxStart);
+ Coordinate end = toModelSnapped(zoomBoxEnd);
+
+ boolean isCW = (start.x < end.x && start.y < end.y)
+ || (start.x > end.x && start.y > end.y);
+
+ Coordinate mid1 = new Coordinate(start.x, end.y);
+ Coordinate mid2 = new Coordinate(end.x, start.y);
+
+ /**
+ * Form rectangle starting at start point,
+ * and oriented CW.
+ */
+ List coords = new ArrayList();
+ coords.add(new Coordinate(start));
+ if (isCW)
+ coords.add(mid1);
+ else
+ coords.add(mid2);
+
+ coords.add(new Coordinate(end));
+
+ if (isCW)
+ coords.add(mid2);
+ else
+ coords.add(mid1);
+
+ coords.add(new Coordinate(start));
+ return coords;
+ }
+
+
+ protected void gestureFinished()
+ {
+ // basic tool does nothing.
+ // Subclasses should override
+ }
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/DeleteVertexTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/DeleteVertexTool.java
new file mode 100644
index 0000000..3acf9c3
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/DeleteVertexTool.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testbuilder.geom.GeometryBoxDeleter;
+
+
+/**
+ * Deletes vertices within a selection box from a geometry component
+ * @version 1.7
+ */
+public class DeleteVertexTool extends BoxBandTool {
+ private static DeleteVertexTool singleton = null;
+
+ public static DeleteVertexTool getInstance() {
+ if (singleton == null)
+ singleton = new DeleteVertexTool();
+ return singleton;
+ }
+
+ private DeleteVertexTool() {
+ super();
+ }
+
+ protected void gestureFinished()
+ {
+ Envelope env = getBox().getEnvelopeInternal();
+ Geometry g = geomModel().getGeometry();
+ Geometry edit = GeometryBoxDeleter.delete(g, env);
+ geomModel().setGeometry(edit);
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/EditVertexTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/EditVertexTool.java
new file mode 100644
index 0000000..5ba52e9
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/EditVertexTool.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.geom.*;
+import java.awt.event.MouseEvent;
+
+import javax.swing.SwingUtilities;
+
+import org.locationtech.jts.awt.GeometryCollectionShape;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jtstest.testbuilder.AppCursors;
+import org.locationtech.jtstest.testbuilder.IconLoader;
+import org.locationtech.jtstest.testbuilder.geom.*;
+
+
+/**
+ * @version 1.7
+ */
+public class EditVertexTool
+extends IndicatorTool
+{
+ private static EditVertexTool instance = null;
+
+ //Point2D currentIndicatorLoc = null;
+ Coordinate currentVertexLoc = null;
+
+ private Coordinate selectedVertexLocation = null;
+ private Coordinate[] adjVertices = null;
+
+ public static EditVertexTool getInstance() {
+ if (instance == null)
+ instance = new EditVertexTool();
+ return instance;
+ }
+
+ private EditVertexTool() {
+ super(AppCursors.EDIT_VERTEX);
+ }
+
+ public void mousePressed(MouseEvent e) {
+ currentVertexLoc = null;
+ if (SwingUtilities.isRightMouseButton(e))
+ return;
+
+ // initiate moving a vertex
+ Coordinate mousePtModel = toModelCoordinate(e.getPoint());
+ double tolModel = getModelSnapTolerance();
+
+ selectedVertexLocation = geomModel().locateVertexPt(mousePtModel, tolModel);
+ if (selectedVertexLocation != null) {
+ adjVertices = geomModel().findAdjacentVertices(selectedVertexLocation);
+ currentVertexLoc = selectedVertexLocation;
+ redrawIndicator();
+ }
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ if (SwingUtilities.isRightMouseButton(e))
+ return;
+
+ clearIndicator();
+ // finish the move of the vertex
+ if (selectedVertexLocation != null) {
+ Coordinate newLoc = toModelSnapped(e.getPoint());
+ geomModel().moveVertex(selectedVertexLocation, newLoc);
+ }
+ }
+
+ public void mouseDragged(MouseEvent e) {
+ currentVertexLoc = toModelSnapped(e.getPoint());
+ if (selectedVertexLocation != null)
+ redrawIndicator();
+ }
+
+ public void mouseClicked(MouseEvent e) {
+ if (! SwingUtilities.isRightMouseButton(e))
+ return;
+
+ Coordinate mousePtModel = toModelCoordinate(e.getPoint());
+ double tolModel = getModelSnapTolerance();
+
+ boolean isMove = ! e.isControlDown();
+ if (isMove) {
+ GeometryLocation geomLoc = geomModel().locateNonVertexPoint(mousePtModel, tolModel);
+ //System.out.println("Testing: insert vertex at " + geomLoc);
+ if (geomLoc != null) {
+ geomModel().setGeometry(geomLoc.insert());
+ }
+ }
+ else { // is a delete
+ GeometryLocation geomLoc = geomModel().locateVertex(mousePtModel, tolModel);
+ //System.out.println("Testing: delete vertex at " + geomLoc);
+ if (geomLoc != null) {
+ geomModel().setGeometry(geomLoc.delete());
+ }
+ }
+ }
+
+ protected Shape getShape()
+ {
+ GeometryCollectionShape ind = new GeometryCollectionShape();
+ Point2D currentIndicatorLoc = toView(currentVertexLoc);
+ ind.add(getIndicatorCircle(currentIndicatorLoc));
+ if (adjVertices != null) {
+ for (int i = 0; i < adjVertices.length; i++) {
+ GeneralPath line = new GeneralPath();
+ line.moveTo((float) currentIndicatorLoc.getX(), (float) currentIndicatorLoc.getY());
+ Point2D pt = toView(adjVertices[i]);
+ line.lineTo((float) pt.getX(), (float) pt.getY());
+ ind.add(line);
+ }
+ }
+ return ind;
+
+// return getIndicatorCircle(currentIndicatorLoc);
+ }
+
+ private static final double IND_CIRCLE_RADIUS = 10.0;
+
+ protected Shape getIndicatorCircle(Point2D p) {
+ return new Ellipse2D.Double(p.getX() - (IND_CIRCLE_RADIUS / 2), p.getY()
+ - (IND_CIRCLE_RADIUS / 2), IND_CIRCLE_RADIUS, IND_CIRCLE_RADIUS);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ExtractComponentTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ExtractComponentTool.java
new file mode 100644
index 0000000..662ba73
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ExtractComponentTool.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jtstest.testbuilder.controller.JTSTestBuilderController;
+
+/**
+ * Extracts a component of a geometry to a new Test Case
+ * @version 1.7
+ */
+public class ExtractComponentTool extends BoxBandTool {
+ private static ExtractComponentTool singleton = null;
+
+ public static ExtractComponentTool getInstance() {
+ if (singleton == null)
+ singleton = new ExtractComponentTool();
+ return singleton;
+ }
+
+ private ExtractComponentTool() {
+ super();
+ }
+
+ protected void gestureFinished()
+ {
+ JTSTestBuilderController.extractComponentsToTestCase(getBox());
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/IndicatorTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/IndicatorTool.java
new file mode 100644
index 0000000..ba19d24
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/IndicatorTool.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.awt.FontGlyphReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+public abstract class IndicatorTool extends BasicTool
+{
+ private Color bandColor = AppConstants.BAND_CLR;
+
+ private Point mousePoint;
+ private Shape lastShapeDrawn;
+ private String lastLabelDrawn = null;
+ private Point lastLabelLoc = null;
+
+ private boolean isIndicatorVisible = false;
+ private Color originalColor;
+ private Stroke originalStroke;
+ private Font originalFont;
+
+ public IndicatorTool() {
+ super();
+ }
+
+ public IndicatorTool(Cursor cursor) {
+ super(cursor);
+ }
+
+ /**
+ * Gets the shape for displaying the current state of the action.
+ * Subclasses should override.
+ *
+ * @return null if nothing should be drawn
+ */
+ protected Shape getShape()
+ {
+ return null;
+ }
+
+ /**
+ * Important for XOR drawing. Even if #getShape returns null, this method
+ * will return true between calls of #redrawShape and #clearShape.
+ */
+ public boolean isIndicatorVisible() {
+ return isIndicatorVisible;
+ }
+
+ private void setIndicatorVisible(boolean isIndicatorVisible) {
+ this.isIndicatorVisible = isIndicatorVisible;
+ }
+
+ protected void clearIndicator() {
+ clearShape(getGraphics2D());
+ }
+
+ protected void redrawIndicator()
+ {
+ try {
+ redrawShape(getGraphics2D());
+ }
+ catch (Exception ex) {
+ // no other way to handle exception
+ ex.printStackTrace();
+ }
+ }
+
+ private void clearShape(Graphics2D graphics) {
+ if (!isIndicatorVisible) {
+ return;
+ }
+ drawShapeXOR(graphics, lastShapeDrawn, lastLabelDrawn, lastLabelLoc);
+ setIndicatorVisible(false);
+ }
+
+ private void redrawShape(Graphics2D graphics) throws Exception {
+ clearShape(graphics);
+ drawShapeXOR(graphics);
+ setIndicatorVisible(true);
+ }
+
+ private void drawShapeXOR(Graphics2D g) throws Exception {
+ Shape newShape = getShape();
+ String label = getLabel();
+ drawShapeXOR(g, newShape, label, mousePoint);
+ lastShapeDrawn = newShape;
+ lastLabelDrawn = label;
+ lastLabelLoc = mousePoint;
+ }
+
+ private void drawShapeXOR(Graphics2D graphics, Shape shape, String label, Point labelLoc) {
+ setup(graphics);
+ try {
+ if (shape != null) {
+ graphics.draw(shape);
+ }
+ /*
+ // TODO: make this work
+ if (label != null)
+ graphics.drawString(label, labelLoc.x, labelLoc.y);
+*/
+ }
+ finally {
+ teardown(graphics);
+ }
+ }
+
+ private void setup(Graphics2D graphics) {
+ originalColor = graphics.getColor();
+ originalStroke = graphics.getStroke();
+ originalFont = graphics.getFont();
+ graphics.setFont(new Font(FontGlyphReader.FONT_SANSSERIF, Font.PLAIN, 14));
+ graphics.setColor(bandColor);
+ graphics.setXORMode(Color.white);
+ }
+
+ private void teardown(Graphics2D graphics) {
+ graphics.setPaintMode();
+ graphics.setColor(originalColor);
+ graphics.setStroke(originalStroke);
+ graphics.setFont(originalFont);
+ }
+
+ /*
+ protected void setStroke(Stroke stroke) {
+ this.stroke = stroke;
+ }
+*/
+
+ private void recordLabel(Point p)
+ {
+ mousePoint = new Point(p.x + 5, p.y);
+ }
+
+ private String getLabel()
+ {
+ if (mousePoint == null) return null;
+ return mousePoint.x + "," + mousePoint.y;
+ }
+
+// protected void gestureFinished() throws Exception;
+
+ public void mouseDragged(MouseEvent e)
+ {
+ recordLabel(e.getPoint());
+ }
+
+ public void mouseMoved(MouseEvent e) {
+ recordLabel(e.getPoint());
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/InfoTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/InfoTool.java
new file mode 100644
index 0000000..28d53a0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/InfoTool.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.event.MouseEvent;
+
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+
+
+/**
+ * @version 1.7
+ */
+public class InfoTool extends BasicTool {
+ private static InfoTool singleton = null;
+
+ public static InfoTool getInstance() {
+ if (singleton == null)
+ singleton = new InfoTool();
+ return singleton;
+ }
+
+ private InfoTool() {
+ }
+
+ public void mousePressed(MouseEvent e)
+ {
+ JTSTestBuilderFrame.instance().displayInfo(toModelCoordinate(e.getPoint()));
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineBandTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineBandTool.java
new file mode 100644
index 0000000..5a9ccc3
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineBandTool.java
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Collections;
+
+import java.awt.*;
+import java.awt.event.MouseEvent;
+import java.awt.geom.*;
+
+import org.locationtech.jts.geom.*;
+
+public abstract class LineBandTool extends IndicatorTool
+{
+ private List coordinates = new ArrayList(); // in model space
+ protected Coordinate tentativeCoordinate;
+
+ // set this to true if band should be closed
+ private boolean closeRing = false;
+ private int clickCountToFinish = 2;
+ private boolean drawBandLines = true;
+
+ public LineBandTool() {
+ super();
+ }
+
+ public LineBandTool(Cursor cursor) {
+ super(cursor);
+ }
+
+ protected void setCloseRing(boolean closeRing) {
+ this.closeRing = closeRing;
+ }
+
+ protected void setClickCountToFinishGesture(int clickCountToFinish)
+ {
+ this.clickCountToFinish = clickCountToFinish;
+ }
+
+ protected void setDrawBandLines(boolean drawBandLines)
+ {
+ this.drawBandLines = drawBandLines;
+ }
+
+ /**
+ * Returns an empty List once the shape is cleared.
+ *
+ * @see LineBandTool#clearShape
+ */
+ public List getCoordinates() {
+ return Collections.unmodifiableList(coordinates);
+ }
+
+ public Coordinate lastCoordinate()
+ {
+ if (coordinates.size() <= 0) return null;
+ return (Coordinate) coordinates.get(coordinates.size()-1);
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ try {
+ // Can't assert that coordinates is not empty at this point
+ // because
+ // of the following situation: NClickTool, n=1, user
+ // double-clicks.
+ // Two events are generated: clickCount=1 and clickCount=2.
+ // When #mouseReleased is called with the clickCount=1 event,
+ // coordinates is not empty. But then #finishGesture is called and
+ // the
+ // coordinates are cleared. When #mouseReleased is then called
+ // with
+ // the clickCount=2 event, coordinates is empty!
+
+ // Even though drawing is done in #mouseLocationChanged, call it
+ // here
+ // also so that #isGestureInProgress returns true on a mouse
+ // click.
+ // This is mainly for the benefit of OrCompositeTool, which
+ // calls #isGestureInProgress.
+ // Can't do this in #mouseClicked because #finishGesture may be
+ // called
+ // by #mouseReleased (below), which happens before #mouseClicked,
+ // resulting in an IndexOutOfBoundsException in #redrawShape.
+ if (e.getClickCount() == 1) {
+ // A double-click will generate two events: one with
+ // click-count = 1 and
+ // another with click-count = 2. Handle the click-count = 1
+ // event and
+ // ignore the rest. Otherwise, the following problem can
+ // occur:
+ // -- A click-count = 1 event is generated; #redrawShape is
+ // called
+ // -- #isFinishingClick returns true; #finishGesture is called
+ // -- #finishGesture clears the points
+ // -- A click-count = 2 event is generated; #redrawShape is
+ // called.
+ // An IndexOutOfBoundsException is thrown because points is
+ // empty.
+ tentativeCoordinate = toModelSnapped(e.getPoint());
+ redrawIndicator();
+ }
+
+ super.mouseReleased(e);
+
+ // Check for finish at #mouseReleased rather than #mouseClicked.
+ // #mouseReleased is a more general condition, as it applies to
+ // both
+ // drags and clicks.
+ if (isFinishingRelease(e)) {
+ finishGesture();
+ }
+ } catch (Throwable t) {
+ }
+ }
+
+ protected void mouseLocationChanged(MouseEvent e) {
+ try {
+ tentativeCoordinate = toModelSnapped(e.getPoint());
+ redrawIndicator();
+ } catch (Throwable t) {
+ }
+ }
+
+ public void mouseMoved(MouseEvent e) {
+ super.mouseMoved(e);
+ mouseLocationChanged(e);
+ }
+
+ public void mouseDragged(MouseEvent e) {
+ super.mouseDragged(e);
+ mouseLocationChanged(e);
+ }
+
+ protected void add(Coordinate c) {
+ // don't add repeated coords
+ if (coordinates.size() > 0 && c.equals2D((Coordinate) coordinates.get(coordinates.size()-1)))
+ return;
+ coordinates.add(c);
+ }
+
+ public void mousePressed(MouseEvent e) {
+ try {
+ super.mousePressed(e);
+
+ // Don't add more than one point for double-clicks. A double-click
+ // will
+ // generate two events: one with click-count = 1 and another with
+ // click-count = 2. Handle the click-count = 1 event and ignore
+ // the rest.
+ if (e.getClickCount() != 1) {
+ return;
+ }
+
+ add(toModelSnapped(e.getPoint()));
+ } catch (Throwable t) {
+ // getPanel().getContext().handleThrowable(t);
+ }
+ }
+
+ protected Shape getShape() {
+ if (coordinates.isEmpty()) {
+ return null;
+ }
+ Point2D firstPoint = toView(
+ (Coordinate) coordinates.get(0));
+ GeneralPath path = new GeneralPath();
+ path.moveTo((float) firstPoint.getX(), (float) firstPoint.getY());
+ if (! drawBandLines)
+ return path;
+
+ for (int i = 1; i < coordinates.size(); i++) {
+ Coordinate nextCoordinate = (Coordinate) coordinates.get(i);
+ Point2D nextPoint = toView(nextCoordinate);
+ path.lineTo((int) nextPoint.getX(), (int) nextPoint.getY());
+ }
+ Point2D tentativePoint = toView(tentativeCoordinate);
+ path.lineTo((int) tentativePoint.getX(), (int) tentativePoint.getY());
+ // close path (for rings only)
+ if (closeRing)
+ path.lineTo((int) firstPoint.getX(), (int) firstPoint.getY());
+
+ drawVertices(path);
+
+ return path;
+ }
+
+ private void drawVertices(GeneralPath path)
+ {
+ for (int i = 0; i < coordinates.size(); i++) {
+ Coordinate coord = (Coordinate) coordinates.get(i);
+ Point2D p = toView(coord);
+ path.moveTo((int) p.getX()-2, (int) p.getY()-2);
+ path.lineTo((int) p.getX()+2, (int) p.getY()-2);
+ path.lineTo((int) p.getX()+2, (int) p.getY()+2);
+ path.lineTo((int) p.getX()-2, (int) p.getY()+2);
+ path.lineTo((int) p.getX()-2, (int) p.getY()-2);
+ }
+
+ }
+
+ protected boolean isFinishingRelease(MouseEvent e) {
+ return e.getClickCount() == clickCountToFinish;
+ }
+
+ protected Coordinate[] toArray(List coordinates) {
+ return (Coordinate[]) coordinates.toArray(new Coordinate[] {});
+ }
+
+ protected void finishGesture() throws Exception {
+ clearIndicator();
+ try {
+ bandFinished();
+ }
+ finally {
+ coordinates.clear();
+ }
+ }
+
+ protected abstract void bandFinished() throws Exception;
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineStringTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineStringTool.java
new file mode 100644
index 0000000..743b2a8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/LineStringTool.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class LineStringTool extends AbstractStreamDrawTool
+{
+ private static LineStringTool singleton = null;
+
+ public static LineStringTool getInstance() {
+ if (singleton == null)
+ singleton = new LineStringTool();
+ return singleton;
+ }
+
+ private LineStringTool()
+ {
+ }
+
+ protected int getGeometryType()
+ {
+ return GeometryType.LINESTRING;
+ }
+ }
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PanTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PanTool.java
new file mode 100644
index 0000000..4381825
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PanTool.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.Cursor;
+import java.awt.Toolkit;
+import java.awt.event.MouseEvent;
+import java.awt.geom.Point2D;
+
+import org.locationtech.jtstest.*;
+import org.locationtech.jtstest.testbuilder.AppCursors;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+
+
+/**
+ * @version 1.7
+ */
+public class PanTool extends BasicTool {
+ private static PanTool singleton = null;
+
+ public static PanTool getInstance() {
+ if (singleton == null)
+ singleton = new PanTool();
+ return singleton;
+ }
+
+ private Point2D source;
+
+ private PanTool() {
+ }
+
+ public Cursor getCursor() {
+ return AppCursors.HAND;
+ }
+
+ public void activate() {
+ source = null;
+ }
+
+ public void mousePressed(MouseEvent e) {
+ source = toModel(e.getPoint());
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ if (source == null)
+ return;
+ Point2D destination = toModel(e.getPoint());
+ pan(panel(), source, destination);
+ }
+
+ public static void pan(GeometryEditPanel panel, Point2D source, Point2D destination ) {
+ double xDisplacement = destination.getX() - source.getX();
+ double yDisplacement = destination.getY() - source.getY();
+ panel.zoomPan(xDisplacement, yDisplacement);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PointTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PointTool.java
new file mode 100644
index 0000000..3ec41e7
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PointTool.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class PointTool extends AbstractDrawTool
+{
+ private static PointTool singleton = null;
+
+ public static PointTool getInstance() {
+ if (singleton == null)
+ singleton = new PointTool();
+ return singleton;
+ }
+
+ private PointTool()
+ {
+ setClickCountToFinishGesture(1);
+ setDrawBandLines(false);
+ }
+
+ protected int getGeometryType()
+ {
+ return GeometryType.POINT;
+ }
+ }
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PolygonTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PolygonTool.java
new file mode 100644
index 0000000..df04676
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/PolygonTool.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class PolygonTool extends AbstractDrawTool
+{
+ private static PolygonTool singleton = null;
+
+ public static PolygonTool getInstance() {
+ if (singleton == null)
+ singleton = new PolygonTool();
+ return singleton;
+ }
+
+ private PolygonTool()
+ {
+ }
+
+ protected int getGeometryType()
+ {
+ return GeometryType.POLYGON;
+ }
+ }
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/RectangleTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/RectangleTool.java
new file mode 100644
index 0000000..d85292c
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/RectangleTool.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.Cursor;
+
+import org.locationtech.jtstest.testbuilder.model.GeometryType;
+
+
+public class RectangleTool
+extends BoxBandTool
+{
+ private static RectangleTool singleton = null;
+
+ public static RectangleTool getInstance() {
+ if (singleton == null)
+ singleton = new RectangleTool();
+ return singleton;
+ }
+
+ public RectangleTool() {
+ super(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
+ }
+
+ protected void gestureFinished()
+ {
+ geomModel().setGeometryType(GeometryType.POLYGON);
+ geomModel().addComponent(getCoordinates());
+ panel().updateGeom();
+ }
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/StreamPolygonTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/StreamPolygonTool.java
new file mode 100644
index 0000000..ab305d0
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/StreamPolygonTool.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import org.locationtech.jtstest.testbuilder.model.*;
+
+
+/**
+ * @version 1.7
+ */
+public class StreamPolygonTool extends AbstractStreamDrawTool
+{
+ private static StreamPolygonTool singleton = null;
+
+ public static StreamPolygonTool getInstance() {
+ if (singleton == null)
+ singleton = new StreamPolygonTool();
+ return singleton;
+ }
+
+ private StreamPolygonTool()
+ {
+ super();
+ }
+
+ protected int getGeometryType()
+ {
+ return GeometryType.POLYGON;
+ }
+ }
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/Tool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/Tool.java
new file mode 100644
index 0000000..2501b7b
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/Tool.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.Cursor;
+import java.awt.event.KeyListener;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.awt.event.MouseWheelListener;
+
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+
+
+
+/**
+ * @version 1.7
+ */
+public interface Tool extends MouseListener, MouseMotionListener, MouseWheelListener, KeyListener {
+
+ Cursor getCursor();
+
+ void activate(GeometryEditPanel panel);
+
+ void deactivate();
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ZoomTool.java b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ZoomTool.java
new file mode 100644
index 0000000..566a0bb
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/testbuilder/ui/tools/ZoomTool.java
@@ -0,0 +1,118 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.testbuilder.ui.tools;
+
+import java.awt.*;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
+import java.awt.geom.Point2D;
+
+import javax.swing.SwingUtilities;
+
+import org.locationtech.jtstest.testbuilder.AppConstants;
+import org.locationtech.jtstest.testbuilder.GeometryEditPanel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+
+
+
+/**
+ * @version 1.7
+ */
+public class ZoomTool extends BasicTool
+{
+ private double zoomFactor = 2;
+ private Point zoomBoxStart = null;
+ private Point zoomBoxEnd = null;
+
+ public ZoomTool(double zoomFactor, Cursor cursor) {
+ super(cursor);
+ this.zoomFactor = zoomFactor;
+ }
+
+ public void mouseClicked(MouseEvent mouseEvent)
+ {
+ // determine if zoom in (left) or zoom out (right)
+ double realZoomFactor = SwingUtilities.isRightMouseButton(mouseEvent)
+ ? (1d / zoomFactor) : zoomFactor;
+ panel().zoom(toModel(mouseEvent.getPoint()), realZoomFactor);
+ }
+
+ public void mousePressed(MouseEvent e)
+ {
+ zoomBoxStart = e.getPoint();
+ zoomBoxEnd= e.getPoint();
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ // don't process event if the mouse was clicked or dragged a very short
+ // distance
+ if (! isSignificantMouseMove(e.getPoint()))
+ return;
+
+ // do Pan
+ if (e.isControlDown()) {
+ Point2D destination = toModel(e.getPoint());
+ PanTool.pan(panel(), toModel(zoomBoxStart), destination);
+ return;
+ }
+ // no key -> do Zoom
+ panel().zoom(toModel(zoomBoxStart), toModel(zoomBoxEnd));
+ }
+
+ public void mouseDragged(MouseEvent e)
+ {
+ // if panning don't draw zoom box
+ if (e.isControlDown()) return;
+
+ Point currPoint = e.getPoint();
+ Graphics g = panel().getGraphics();
+ g.setColor(AppConstants.BAND_CLR);
+ g.setXORMode(Color.white);
+ // erase old rectangle
+ drawRect(g, zoomBoxStart, zoomBoxEnd);
+
+ // draw new zoom box
+ zoomBoxEnd = currPoint;
+ drawRect(g, zoomBoxStart, zoomBoxEnd);
+ }
+
+ public void mouseWheelMoved(MouseWheelEvent e) {
+ double notches = e.getPreciseWheelRotation();
+ double zoomFactor = Math.abs(notches) * 2;
+ if (notches > 0 && zoomFactor > 0) zoomFactor = 1.0 / zoomFactor;
+ panel().zoom(toModel(e.getPoint()), zoomFactor);
+ }
+
+ private static final int MIN_MOVEMENT = 3;
+
+ private boolean isSignificantMouseMove(Point p)
+ {
+ if (Math.abs(zoomBoxStart.x - p.x) < MIN_MOVEMENT)
+ return false;
+ if (Math.abs(zoomBoxStart.y - p.y) < MIN_MOVEMENT)
+ return false;
+ return true;
+ }
+
+ public void drawRect(Graphics g, Point p0, Point p1)
+ {
+ Point base = new Point(Math.min(p0.x, p1.x),
+ Math.min(p0.y, p1.y));
+ int width = Math.abs(p1.x - p0.x);
+ int height = Math.abs(p1.y - p0.y);
+ g.drawRect(base.x, base.y, width, height);
+ }
+
+}
+
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/ClassUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/util/ClassUtil.java
new file mode 100644
index 0000000..624c26e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/ClassUtil.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.locationtech.jts.geom.Geometry;
+
+public class ClassUtil
+{
+ public static String getClassname(Class clz)
+ {
+ String jClassName = clz.getName();
+ int lastDotPos = jClassName.lastIndexOf(".");
+ return jClassName.substring(lastDotPos + 1, jClassName.length());
+ }
+
+ public static String[] getStringArrayClassField(Class clz, String name)
+ {
+ try {
+ Field field = clz.getField(name);
+ String[] str = (String[]) field.get(null);
+ return str;
+ }
+ catch (NoSuchFieldException ex) { }
+ catch (IllegalAccessException ex) { }
+ return null;
+ }
+
+ public static String getStringClassField(Class clz, String name)
+ {
+ try {
+ Field[] f = clz.getDeclaredFields();
+ Field field = clz.getField(name);
+ String str = (String) field.get(null);
+ return str;
+ }
+ catch (NoSuchFieldException ex) { }
+ catch (IllegalAccessException ex) { }
+ return null;
+ }
+
+ public static Object dynamicCall(String clzName, String methodName, Class[] methodParamTypes, Object[] methodArgs)
+ throws ClassNotFoundException, SecurityException, NoSuchMethodException,
+ IllegalArgumentException, InstantiationException, IllegalAccessException,
+ InvocationTargetException
+ {
+ Class clz = Class.forName(clzName);
+
+ Class[] constParTypes = new Class[] { String.class, String.class };
+ Constructor constr = clz.getConstructor(new Class[0]);
+ Object dummyto = constr.newInstance(new Object[0]);
+
+ Method meth = clz.getMethod(methodName, methodParamTypes);
+ Object result = meth.invoke(dummyto, methodArgs);
+ return result;
+ }
+
+ public static boolean isNumber(Class clz) {
+ if (clz == Double.class) return true;
+ if (clz == double.class) return true;
+ if (clz == Integer.class) return true;
+ if (clz == int.class) return true;
+ return false;
+ }
+
+ /**
+ * Converts a number-like object to a Double.
+ * If the object cannot be converted null is returned.
+ *
+ * @param o a number-like object
+ * @return the value of the number, or null
+ */
+ public static Double toDouble(Object o) {
+ double d = 0;
+ try {
+ // get Java to figure out the conversion to double
+ d = (Double) o;
+ // d = ((Number) o).doubleValue();
+ } catch (ClassCastException e) {
+ return null;
+ }
+ return new Double(d);
+ }
+
+ public static boolean isDouble(Class clz) {
+ if (clz == Double.class) return true;
+ if (clz == double.class) return true;
+ return false;
+ }
+
+ public static boolean isGeometry(Class<?> clz) {
+ return Geometry.class.isAssignableFrom(clz);
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/ExceptionFormatter.java b/modules/app/src/main/java/org/locationtech/jtstest/util/ExceptionFormatter.java
new file mode 100644
index 0000000..9773648
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/ExceptionFormatter.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util;
+
+public class ExceptionFormatter {
+
+ public static String getFullString(Throwable ex)
+ {
+ return ex.getClass().getName() + " : " + ex.toString();
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/FileUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/util/FileUtil.java
new file mode 100644
index 0000000..2e76ae8
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/FileUtil.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.util;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * Useful file utilities.
+ *
+ * @version 1.7
+ */
+public class FileUtil
+{
+ public static final String EXTENSION_SEPARATOR = ".";
+
+ public static String name(String path)
+ {
+ File file = new File(path);
+ return file.getName();
+ }
+
+ public static String extension(String path)
+ {
+ String name = name(path);
+ int extIndex = name.lastIndexOf(EXTENSION_SEPARATOR.charAt(0));
+ if (extIndex < 0) return "";
+ return name.substring(extIndex, name.length());
+ }
+
+ /**
+ * Deletes the files in the directory, but does not remove the directory.
+ */
+ public static void deleteFiles(String directoryName) {
+ File dir = new File(directoryName);
+ File[] files = dir.listFiles();
+ for (int i = 0; i < files.length; i++) {
+ files[i].delete();
+ }
+ }
+
+ /**
+ * Returns true if the given directory exists.
+ */
+ public static boolean directoryExists(String directoryName) {
+ File directory = new File(directoryName);
+ return directory.exists();
+ }
+
+ /**
+ * Returns a List of the String's in the text file, one per line.
+ */
+ public static List getContents(String textFileName) throws FileNotFoundException, IOException {
+ List contents = new Vector();
+ FileReader fileReader = new FileReader(textFileName);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+ String line = bufferedReader.readLine();
+ while (line != null) {
+ contents.add(line);
+ line = bufferedReader.readLine();
+ }
+ return contents;
+ }
+
+ public static String readText(String filename)
+ throws IOException
+ {
+ return readText(new File(filename));
+ }
+
+ /**
+ * Gets the contents of a text file as a single String
+ * @param file
+ * @return text file contents
+ * @throws IOException
+ */
+ public static String readText(File file)
+ throws IOException
+ {
+ String thisLine;
+ StringBuffer strb = new StringBuffer("");
+
+ FileInputStream fin = new FileInputStream(file);
+ BufferedReader br = new BufferedReader(new InputStreamReader(fin));
+ while ((thisLine = br.readLine()) != null) {
+ strb.append(thisLine + "\r\n");
+ }
+ String result = strb.toString();
+ return result;
+ }
+
+ /**
+ * Saves the String with the given filename
+ */
+ public static void setContents(String textFileName, String contents) throws IOException {
+ FileWriter fileWriter = new FileWriter(textFileName, false);
+ BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
+ bufferedWriter.write(contents);
+ bufferedWriter.flush();
+ bufferedWriter.close();
+ fileWriter.close();
+ }
+
+ /**
+ * Copies the source file to the destination filename.
+ * Posted by Mark Thornton <mthorn at cix.compulink.co.uk> on Usenet.
+ */
+ public static void copyFile(File source, File destination) throws IOException {
+ RandomAccessFile out = new RandomAccessFile(destination, "rw");
+ //Tell the OS in advance how big the file will be. This may reduce fragmentation
+ out.setLength(source.length());
+ //copy the content
+ FileInputStream in = new FileInputStream(source);
+ byte[] buffer = new byte[16384];
+ while (true) {
+ int n = in.read(buffer);
+ if (n == -1)
+ break;
+ out.write(buffer, 0, n);
+ }
+ in.close();
+ out.close();
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryDataUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryDataUtil.java
new file mode 100644
index 0000000..31cd89f
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryDataUtil.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util;
+
+import org.locationtech.jts.geom.Geometry;
+
+public class GeometryDataUtil
+{
+ public static void setComponentDataToIndex(Geometry geom)
+ {
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry comp = geom.getGeometryN(i);
+ comp.setUserData("Component # " + i);
+ }
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryTextCleaner.java b/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryTextCleaner.java
new file mode 100644
index 0000000..54f9a6b
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/GeometryTextCleaner.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util;
+
+/**
+ * Cleans text strings which are supposed
+ * to contain valid text for Geometries
+ * (either WKB, WKB, or GML)
+ *
+ * @author mbdavis
+ *
+ */
+public class GeometryTextCleaner
+{
+ public static final String WKT_SYMBOLS = "(),.-";
+
+ public static String cleanWKT(String input)
+ {
+ return clean(input, WKT_SYMBOLS);
+ }
+
+ private static String clean(String input, String allowedSymbols)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < input.length(); i++) {
+ char c = input.charAt(i);
+ if (isAllowed(c, allowedSymbols))
+ buf.append(c);
+ }
+ return buf.toString();
+ }
+
+ private static boolean isAllowed(char c, String allowedSymbols)
+ {
+ if (Character.isWhitespace(c)) return true;
+ if (Character.isLetterOrDigit(c)) return true;
+ if (allowedSymbols.indexOf(c) >= 0) return true;
+ return false;
+ }
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/HSBPalette.java b/modules/app/src/main/java/org/locationtech/jtstest/util/HSBPalette.java
new file mode 100644
index 0000000..9c77786
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/HSBPalette.java
@@ -0,0 +1,79 @@
+package org.locationtech.jtstest.util;
+
+import java.awt.Color;
+
+import org.locationtech.jtstest.testbuilder.ui.ColorUtil;
+
+public class HSBPalette {
+
+ public static HSBPalette createRainbowSequential(int numHue, float s, float b) {
+ return new HSBPalette(numHue, 0, 1,
+ 1, s, s,
+ 1, b, b
+ );
+ }
+
+ public static HSBPalette createRainbowIncremental(float hInc, float s, float b) {
+ HSBPalette pal = new HSBPalette(50, 0, 1,
+ 1, s, s,
+ 1, b, b
+ );
+ pal.setHueInc(hInc);
+ return pal;
+ }
+
+ private void setHueInc(float hInc) {
+ this.hInc = hInc;
+ }
+
+ int numH = 5;
+ int numS = 3;
+ int numB = 3;
+
+ float hInc = 0.03f;
+ float sInc = 0.1f;
+ float bInc = 0.1f;
+
+ private int numEntries;
+ private float sLo;
+ private float bLo;
+ private float hBase;
+ private float hRange;
+
+ private float h1;
+
+ public HSBPalette(
+ int numH, float hBase, float hRange,
+ int numS, float sLo, float sHi,
+ int numB, float bLo, float bHi)
+ {
+ this.numH = numH;
+ this.numS = numS;
+ this.numB = numB;
+ this.hBase = hBase;
+ this.hRange = hRange;
+ this.h1 = hBase - hRange / 2;
+ this.sLo = sLo;
+ this.bLo = bLo;
+ // TODO: make this mod 1
+ this.hInc = (numH < 2) ? 0 : (hRange) / (numH - 1);
+ this.sInc = (numS < 2) ? 0 : (sHi - sLo) / (numS - 1);
+ this.bInc = (numB < 2) ? 0 : (bHi - bLo) / (numB - 1);
+ numEntries = numH * numS * numB;
+ }
+ public int numEntries() { return numEntries; }
+
+ public Color color(int index, int alpha) {
+ int i = index % numEntries;
+ int iH = i / (numS * numB);
+ int iSB = i - iH * (numS * numB);
+ int iS = iSB / numB;
+ int iB = iSB - iS * numB;
+ float h = (h1 + iH * hInc) % 1.0f;
+ float s = sLo + iS * sInc;
+ float b = bLo + iB * bInc;
+ Color chsb = Color.getHSBColor(h, s, b);
+ return ColorUtil.setAlpha(chsb, alpha);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/io/GeoJsonMultiReader.java b/modules/app/src/main/java/org/locationtech/jtstest/util/io/GeoJsonMultiReader.java
new file mode 100644
index 0000000..0c06f3e
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/io/GeoJsonMultiReader.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util.io;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.geojson.GeoJsonReader;
+
+
+public class GeoJsonMultiReader {
+ private static final String GEOJSON_FEATURECOLLECTION = "FeatureCollection";
+ private static final String GEOJSON_COORDINATES = "coordinates";
+ private GeometryFactory geomFact;
+ private GeoJsonReader rdr;
+
+ public GeoJsonMultiReader(GeometryFactory geomFact) {
+ this.geomFact = geomFact;
+ rdr = new GeoJsonReader(geomFact);
+ }
+
+ public Geometry read(String s) throws ParseException {
+ if (isFeatureCollection(s)) {
+ return readFeatureCollection(s);
+ }
+ return readGeometry(s);
+ }
+
+ private Geometry readGeometry(String s) throws ParseException {
+ // TODO: trim string to include only Geometry object
+ return rdr.read(s);
+ }
+
+ /**
+ * Extracts all Geometry object substrings and reads them
+ * @param s
+ * @throws ParseException
+ */
+ private Geometry readFeatureCollection(String s) throws ParseException {
+ Pattern p = Pattern.compile("\\{[^\\{\\}]+?\\}");
+ Matcher m = p.matcher(s);
+ List geoms = new ArrayList();
+ while (true) {
+ boolean isFound = m.find();
+ if (! isFound) break;
+ String substr = m.group();
+ if (isGeometry(substr)) {
+ geoms.add(readGeometry(substr));
+ }
+ //System.out.println(sgeom);
+ }
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(geoms));
+ }
+
+ private boolean isGeometry(String s) {
+ return s.indexOf(GEOJSON_COORDINATES) >= 0;
+ }
+
+ private static boolean isFeatureCollection(String s) {
+ return s.indexOf(GEOJSON_FEATURECOLLECTION) >= 0;
+ }
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/io/IOUtil.java b/modules/app/src/main/java/org/locationtech/jtstest/util/io/IOUtil.java
new file mode 100644
index 0000000..ebc9113
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/io/IOUtil.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util.io;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKBHexFileReader;
+import org.locationtech.jts.io.WKBReader;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.gml2.GMLReader;
+import org.locationtech.jtstest.testbuilder.io.shapefile.Shapefile;
+import org.locationtech.jtstest.util.FileUtil;
+import org.xml.sax.SAXException;
+
+
+public class IOUtil
+{
+ public static Geometry readFile(String filename, GeometryFactory geomFact)
+ throws Exception, IOException
+ {
+ String ext = FileUtil.extension(filename);
+ if (ext.equalsIgnoreCase(".shp"))
+ return readShapefile(filename, geomFact);
+ if (ext.equalsIgnoreCase(".wkb"))
+ return readWKBHexFile(filename, geomFact);
+ if (ext.equalsIgnoreCase(".gml"))
+ return readGMLFile(filename, geomFact);
+ if (ext.equalsIgnoreCase(".geojson"))
+ return readGeoJSONFile(filename, geomFact);
+ return readWKTFile(filename, geomFact);
+ }
+
+ private static Geometry readShapefile(String filename, GeometryFactory geomFact)
+ throws Exception
+ {
+ Shapefile shpfile = new Shapefile(new FileInputStream(filename));
+ shpfile.readStream(geomFact);
+ List geomList = new ArrayList();
+ do {
+ Geometry geom = shpfile.next();
+ if (geom == null)
+ break;
+ geomList.add(geom);
+ } while (true);
+
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(geomList));
+ }
+
+ private static Geometry readGMLFile(String filename, GeometryFactory geomFact)
+ throws ParseException, IOException, SAXException, ParserConfigurationException
+ {
+ return readGMLString(FileUtil.readText(filename), geomFact);
+ }
+
+ private static Geometry readWKBHexFile(String filename, GeometryFactory geomFact)
+ throws ParseException, IOException
+ {
+ return readWKBHexString(FileUtil.readText(filename), geomFact);
+ }
+
+ /*
+ private static Geometry readWKBHexString(String wkbHexFile, GeometryFactory geomFact)
+ throws ParseException, IOException
+ {
+ WKBReader reader = new WKBReader(geomFact);
+ String wkbHex = cleanHex(wkbHexFile);
+ return reader.read(WKBReader.hexToBytes(wkbHex));
+ }
+ */
+
+ private static String cleanHex(String hexStuff)
+ {
+ return hexStuff.replaceAll("[^0123456789ABCDEFabcdef]", "");
+ }
+
+ private static Geometry readWKTFile(String filename, GeometryFactory geomFact)
+ throws ParseException, IOException
+ {
+ return readWKTString(FileUtil.readText(filename), geomFact);
+ }
+
+ /**
+ * Reads one or more WKT geometries from a string.
+ *
+ * @param wkt
+ * @param geomFact
+ * @return the geometry read
+ * @throws ParseException
+ * @throws IOException
+ */
+ public static Geometry readWKTString(String wkt, GeometryFactory geomFact)
+ throws ParseException, IOException
+ {
+ WKTReader reader = new WKTReader(geomFact);
+ WKTFileReader fileReader = new WKTFileReader(new StringReader(wkt), reader);
+ List geomList = fileReader.read();
+
+ if (geomList.size() == 1)
+ return (Geometry) geomList.get(0);
+
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(geomList));
+ }
+
+ public static Geometry readWKBHexString(String wkb, GeometryFactory geomFact)
+ throws ParseException, IOException
+ {
+ WKBReader reader = new WKBReader(geomFact);
+ WKBHexFileReader fileReader = new WKBHexFileReader(new StringReader(wkb), reader);
+ List geomList = fileReader.read();
+
+ if (geomList.size() == 1)
+ return (Geometry) geomList.get(0);
+
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(geomList));
+ }
+
+ public static Geometry readGMLString(String gml, GeometryFactory geomFact)
+ throws ParseException, IOException, SAXException, ParserConfigurationException
+ {
+ GMLReader reader = new GMLReader();
+ Geometry geom = reader.read(gml, geomFact);
+ return geom;
+ }
+
+ private static Geometry readGeoJSONFile(String filename, GeometryFactory geomFact)
+ throws ParseException, IOException, SAXException, ParserConfigurationException
+ {
+ return readGeoJSONString(FileUtil.readText(filename), geomFact);
+ }
+
+ public static Geometry readGeoJSONString(String s, GeometryFactory geomFact)
+ throws ParseException
+ {
+ GeoJsonMultiReader reader = new GeoJsonMultiReader(geomFact);
+ Geometry geom = reader.read(s);
+ return geom;
+ }
+
+
+
+}
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/io/MultiFormatReader.java b/modules/app/src/main/java/org/locationtech/jtstest/util/io/MultiFormatReader.java
new file mode 100644
index 0000000..f6516d6
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/io/MultiFormatReader.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest.util.io;
+
+import java.io.IOException;
+
+import javax.xml.parsers.*;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.io.*;
+import org.locationtech.jts.io.geojson.GeoJsonReader;
+import org.locationtech.jts.io.gml2.*;
+
+
+/**
+ * Reads a {@link Geometry} from a string which is in either WKT, WKBHex
+ * or GML format
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class MultiFormatReader
+{
+ public static final int FORMAT_UNKNOWN = 0;
+ public static final int FORMAT_WKT = 1;
+ public static final int FORMAT_WKB = 2;
+ public static final int FORMAT_GML = 3;
+ private static final int FORMAT_GEOJSON = 4;
+
+ public static boolean isWKT(String s) {
+ return !isWKB(s) && !isGML(s);
+ }
+
+ public static boolean isWKB(String str) {
+ return isHex(str, MAX_CHARS_TO_CHECK);
+ }
+
+ public static boolean isGML(String str) {
+ return str.indexOf("<") >= 0;
+ }
+
+ public static boolean isGeoJSON(String str) {
+ return str.indexOf("{") >= 0;
+ }
+
+ public static int format(String s) {
+ if (isWKB(s))
+ return FORMAT_WKB;
+ if (isGML(s))
+ return FORMAT_GML;
+ if (isGeoJSON(s))
+ return FORMAT_GEOJSON;
+ if (isWKT(s))
+ return FORMAT_WKT;
+ return FORMAT_UNKNOWN;
+ }
+
+ private static boolean isHex(String str, int maxCharsToTest)
+ {
+ for (int i = 0; i < maxCharsToTest && i < str.length(); i++) {
+ char ch = str.charAt(i);
+ if (! isHexDigit(ch))
+ return false;
+ }
+ return true;
+ }
+
+ private static boolean isHexDigit(char ch)
+ {
+ if (Character.isDigit(ch)) return true;
+ char chLow = Character.toLowerCase(ch);
+ if (chLow >= 'a' && chLow <= 'f') return true;
+ return false;
+ }
+
+ private static final int MAX_CHARS_TO_CHECK = 6;
+
+ private GeometryFactory geomFactory;
+ private WKTReader wktReader;
+ private WKBReader wkbReader;
+
+ public MultiFormatReader()
+ {
+ this(new GeometryFactory());
+ }
+
+ public MultiFormatReader(GeometryFactory geomFactory)
+ {
+ this.geomFactory = geomFactory;
+ wktReader = new WKTReader(geomFactory);
+ wkbReader = new WKBReader(geomFactory);
+ }
+
+ public Geometry read(String geomStr)
+ throws ParseException, IOException
+ {
+ String trimStr = geomStr.trim();
+ if (isWKB(trimStr)) {
+ return IOUtil.readWKBHexString(trimStr, geomFactory);
+ }
+ if (isGML(trimStr))
+ return readGML(trimStr);
+
+ if (isGeoJSON(trimStr))
+ return readGeoJSON(trimStr);
+
+ return IOUtil.readWKTString(trimStr, geomFactory);
+ }
+
+ private Geometry readGeoJSON(String str)
+ throws ParseException
+{
+ try {
+ return (new GeoJsonMultiReader(geomFactory)).read(str);
+ }
+ catch (Exception ex) {
+ throw new ParseException(ex.getMessage());
+// ex.printStackTrace();
+ }
+ }
+
+ private Geometry readGML(String str)
+ throws ParseException
+ {
+ try {
+ return (new GMLReader()).read(str, geomFactory);
+ }
+ catch (Exception ex) {
+ throw new ParseException(ex.getMessage());
+// ex.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/app/src/main/java/org/locationtech/jtstest/util/io/SVGWriter.java b/modules/app/src/main/java/org/locationtech/jtstest/util/io/SVGWriter.java
new file mode 100644
index 0000000..6706b85
--- /dev/null
+++ b/modules/app/src/main/java/org/locationtech/jtstest/util/io/SVGWriter.java
@@ -0,0 +1,610 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest.util.io;
+
+
+import java.io.*;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.util.*;
+
+/**
+ * Writes the Well-Known Text representation of a {@link Geometry}.
+ * The Well-Known Text format is defined in the
+ * OGC <A HREF="http://www.opengis.org/techno/specs.htm">
+ * <i>Simple Features Specification for SQL</i></A>.
+ * See {@link WKTReader} for a formal specification of the format syntax.
+ * <p>
+ * The <code>WKTWriter</code> outputs coordinates rounded to the precision
+ * model. Only the maximum number of decimal places
+ * necessary to represent the ordinates to the required precision will be
+ * output.
+ * <p>
+ * The SFS WKT spec does not define a special tag for {@link LinearRing}s.
+ * Under the spec, rings are output as <code>LINESTRING</code>s.
+ * In order to allow precisely specifying constructed geometries,
+ * JTS also supports a non-standard <code>LINEARRING</code> tag which is used
+ * to output LinearRings.
+ *
+ * @version 1.7
+ * @see WKTReader
+ */
+public class SVGWriter
+{
+
+ private static final int INDENT = 2;
+
+ /**
+ * Creates the <code>DecimalFormat</code> used to write <code>double</code>s
+ * with a sufficient number of decimal places.
+ *
+ *@param precisionModel the <code>PrecisionModel</code> used to determine
+ * the number of decimal places to write.
+ *@return a <code>DecimalFormat</code> that write <code>double</code>
+ * s without scientific notation.
+ */
+ private static DecimalFormat createFormatter(PrecisionModel precisionModel) {
+ // the default number of decimal places is 16, which is sufficient
+ // to accomodate the maximum precision of a double.
+ int decimalPlaces = precisionModel.getMaximumSignificantDigits();
+ // specify decimal separator explicitly to avoid problems in other locales
+ DecimalFormatSymbols symbols = new DecimalFormatSymbols();
+ symbols.setDecimalSeparator('.');
+ String fmtString = "0" + (decimalPlaces > 0 ? "." : "")
+ + stringOfChar('#', decimalPlaces);
+ return new DecimalFormat(fmtString, symbols);
+ }
+
+ /**
+ * Returns a <code>String</code> of repeated characters.
+ *
+ *@param ch the character to repeat
+ *@param count the number of times to repeat the character
+ *@return a <code>String</code> of characters
+ */
+ public static String stringOfChar(char ch, int count) {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < count; i++) {
+ buf.append(ch);
+ }
+ return buf.toString();
+ }
+
+ private int outputDimension = 2;
+ private DecimalFormat formatter;
+ private boolean isFormatted = false;
+ private boolean useFormatting = false;
+ private int level = 0;
+ private int coordsPerLine = -1;
+ private String indentTabStr = " ";
+
+ /**
+ * Creates a new SVGWriter with default settings
+ */
+ public SVGWriter()
+ {
+ }
+
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ *@return a <Geometry Tagged Text> string (see the OpenGIS Simple
+ * Features Specification)
+ */
+ public String write(Geometry geometry)
+ {
+ Writer sw = new StringWriter();
+ try {
+ writeFormatted(geometry, isFormatted, sw);
+ }
+ catch (IOException ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return sw.toString();
+ }
+
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ public void write(Geometry geometry, Writer writer)
+ throws IOException
+ {
+ writeFormatted(geometry, false, writer);
+ }
+
+ /**
+ * Same as <code>write</code>, but with newlines and spaces to make the
+ * well-known text more readable.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ *@return a <Geometry Tagged Text> string (see the OpenGIS Simple
+ * Features Specification), with newlines and spaces
+ */
+ public String writeFormatted(Geometry geometry)
+ {
+ Writer sw = new StringWriter();
+ try {
+ writeFormatted(geometry, true, sw);
+ }
+ catch (IOException ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return sw.toString();
+ }
+ /**
+ * Same as <code>write</code>, but with newlines and spaces to make the
+ * well-known text more readable.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ public void writeFormatted(Geometry geometry, Writer writer)
+ throws IOException
+ {
+ writeFormatted(geometry, true, writer);
+ }
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ private void writeFormatted(Geometry geometry, boolean useFormatting, Writer writer)
+ throws IOException
+ {
+ this.useFormatting = useFormatting;
+ formatter = createFormatter(geometry.getPrecisionModel());
+ //writer.write("<g>\n");
+ appendGeometryTaggedText(geometry, 0, writer);
+ //writer.write("</g>\n");
+ }
+
+
+ /**
+ * Converts a <code>Geometry</code> to <Geometry Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param geometry the <code>Geometry</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryTaggedText(Geometry geometry, int level, Writer writer)
+ throws IOException
+ {
+ indent(level, writer);
+
+ if (geometry instanceof Point) {
+ Point point = (Point) geometry;
+ appendPointTaggedText(point.getCoordinate(), level, writer, point.getPrecisionModel());
+ }
+ else if (geometry instanceof LinearRing) {
+ appendLinearRingTaggedText((LinearRing) geometry, level, writer);
+ }
+ else if (geometry instanceof LineString) {
+ appendLineStringTaggedText((LineString) geometry, level, writer);
+ }
+ else if (geometry instanceof Polygon) {
+ appendPolygon((Polygon) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiPoint) {
+ appendMultiPointTaggedText((MultiPoint) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiLineString) {
+ appendMultiLineStringTaggedText((MultiLineString) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiPolygon) {
+ appendMultiPolygonTaggedText((MultiPolygon) geometry, level, writer);
+ }
+ else if (geometry instanceof GeometryCollection) {
+ appendGeometryCollectionTaggedText((GeometryCollection) geometry, level, writer);
+ }
+ else {
+ Assert.shouldNeverReachHere("Unsupported Geometry implementation:"
+ + geometry.getClass());
+ }
+
+
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <Point Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ *@param precisionModel the <code>PrecisionModel</code> to use to convert
+ * from a precise coordinate to an external coordinate
+ */
+ private void appendPointTaggedText(Coordinate coordinate, int level, Writer writer,
+ PrecisionModel precisionModel)
+ throws IOException
+ {
+ appendPoint(coordinate, level, writer, precisionModel);
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLineStringTaggedText(LineString lineString, int level, Writer writer)
+ throws IOException
+ {
+ appendLineString(lineString, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>LinearRing</code> to <LinearRing Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param linearRing the <code>LinearRing</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLinearRingTaggedText(LinearRing linearRing, int level, Writer writer)
+ throws IOException
+ {
+ appendLineString(linearRing, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>Polygon</code> to <Polygon Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param polygon the <code>Polygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendPolygon(Polygon polygon, int level, Writer writer)
+ throws IOException
+ {
+ if (polygon.getNumInteriorRing() == 0) {
+ appendPolygonPolygon(polygon, level, false, writer);
+ }
+ else {
+ appendPolygonPath(polygon, level, false, writer);
+ }
+ }
+
+ /**
+ * Converts a <code>MultiPoint</code> to <MultiPoint Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param multipoint the <code>MultiPoint</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPointTaggedText(MultiPoint multipoint, int level, Writer writer)
+ throws IOException
+ {
+ appendMultiPointText(multipoint, level, writer);
+ }
+
+ /**
+ * Converts a <code>MultiLineString</code> to <MultiLineString Tagged
+ * Text> format, then appends it to the writer.
+ *
+ *@param multiLineString the <code>MultiLineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiLineStringTaggedText(MultiLineString multiLineString, int level,
+ Writer writer)
+ throws IOException
+ {
+ appendMultiLineStringText(multiLineString, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>MultiPolygon</code> to <MultiPolygon Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param multiPolygon the <code>MultiPolygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPolygonTaggedText(MultiPolygon multiPolygon, int level, Writer writer)
+ throws IOException
+ {
+ appendMultiPolygonText(multiPolygon, level, writer);
+ }
+
+ /**
+ * Converts a <code>GeometryCollection</code> to <GeometryCollection
+ * Tagged Text> format, then appends it to the writer.
+ *
+ *@param geometryCollection the <code>GeometryCollection</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryCollectionTaggedText(GeometryCollection geometryCollection, int level,
+ Writer writer)
+ throws IOException
+ {
+ appendGeometryCollectionText(geometryCollection, level, writer);
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <Point Text> format, then
+ * appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ *@param precisionModel the <code>PrecisionModel</code> to use to convert
+ * from a precise coordinate to an external coordinate
+ */
+ private void appendPoint(Coordinate coordinate, int level, Writer writer,
+ PrecisionModel precisionModel)
+ throws IOException
+ {
+ writer.write("(");
+ appendCoordinate(coordinate, writer);
+ writer.write(")");
+ }
+
+ /**
+ * Appends the i'th coordinate from the sequence to the writer
+ *
+ * @param seq the <code>CoordinateSequence</code> to process
+ * @param i the index of the coordinate to write
+ * @param writer the output writer to append to
+ */
+ private void appendCoordinate(CoordinateSequence seq, int i, Writer writer)
+ throws IOException
+ {
+ writer.write(writeNumber(seq.getX(i)) + "," + writeNumber(seq.getY(i)));
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <code><Point></code> format,
+ * then appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendCoordinate(Coordinate coordinate, Writer writer)
+ throws IOException
+ {
+ writer.write(writeNumber(coordinate.x) + " " + writeNumber(coordinate.y));
+ if (outputDimension >= 3 && ! Double.isNaN(coordinate.z)) {
+ writer.write(" ");
+ writer.write(writeNumber(coordinate.z));
+ }
+ }
+
+ /**
+ * Converts a <code>double</code> to a <code>String</code>, not in scientific
+ * notation.
+ *
+ *@param d the <code>double</code> to convert
+ *@return the <code>double</code> as a <code>String</code>, not in
+ * scientific notation
+ */
+ private String writeNumber(double d) {
+ return formatter.format(d);
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Text> format, then
+ * appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendSequencePath(CoordinateSequence seq, int level, boolean doIndent, Writer writer)
+ throws IOException
+ {
+ if (seq.size() == 0) {
+ //writer.write("EMPTY");
+ }
+ else {
+ if (doIndent) indent(level, writer);
+ for (int i = 0; i < seq.size(); i++) {
+ writer.write(" " + ((i == 0) ? "M" : "L"));
+ if (i > 0) {
+ if (coordsPerLine > 0
+ && i % coordsPerLine == 0) {
+ indent(level + 1, writer);
+ }
+ }
+ appendCoordinate(seq, i, writer);
+ }
+ }
+ }
+ private void appendSequencePoints(CoordinateSequence seq, int level, boolean doIndent, Writer writer)
+ throws IOException
+ {
+ if (seq.size() == 0) {
+ //writer.write("EMPTY");
+ }
+ else {
+ if (doIndent) indent(level, writer);
+ for (int i = 0; i < seq.size(); i++) {
+ writer.write(" ");
+ if (i > 0) {
+ if (coordsPerLine > 0
+ && i % coordsPerLine == 0) {
+ indent(level + 1, writer);
+ }
+ }
+ appendCoordinate(seq, i, writer);
+ }
+ }
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Text> format, then
+ * appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLineString(LineString lineString, int level, boolean doIndent, Writer writer)
+ throws IOException
+ {
+ if (doIndent) indent(level, writer);
+ writer.write("<polyline fill='none' points='");
+ appendSequencePoints(lineString.getCoordinateSequence(), level, doIndent, writer);
+ writer.write("'/>\n");
+ }
+
+ /**
+ * Converts a <code>Polygon</code> to <Polygon Text> format, then
+ * appends it to the writer.
+ *
+ *@param polygon the <code>Polygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendPolygonPolygon(Polygon polygon, int level, boolean indentFirst, Writer writer)
+ throws IOException
+ {
+ if (indentFirst) indent(level, writer);
+ writer.write("<polygon points='");
+ appendSequencePoints(polygon.getExteriorRing().getCoordinateSequence(), level, false, writer);
+ writer.write("' />\n");
+ }
+
+ private void appendPolygonPath(Polygon polygon, int level, boolean indentFirst, Writer writer)
+ throws IOException
+ {
+ if (indentFirst) indent(level, writer);
+ writer.write("<path fill-rule='evenodd' d='");
+ appendSequencePath(polygon.getExteriorRing().getCoordinateSequence(), level, false, writer);
+ for (int i = 0; i < polygon.getNumInteriorRing(); i++) {
+ writer.write(" ");
+ appendSequencePath(polygon.getInteriorRingN(i).getCoordinateSequence(), level + 1, true, writer);
+ }
+ writer.write("' />\n");
+ }
+
+ private void appendPathStart(boolean useFillRule, Writer writer) throws IOException {
+ String fillRule = useFillRule ? "fill-rule='evenodd' " : "";
+ writer.write("<path " + fillRule + "d='");
+ }
+ private void appendPathEnd(Writer writer) throws IOException {
+ writer.write("' />\n");
+ }
+
+
+ /**
+ * Converts a <code>MultiPoint</code> to <MultiPoint Text> format, then
+ * appends it to the writer.
+ *
+ *@param multiPoint the <code>MultiPoint</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPointText(MultiPoint multiPoint, int level, Writer writer)
+ throws IOException
+ {
+ if (multiPoint.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ writer.write("(");
+ for (int i = 0; i < multiPoint.getNumGeometries(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ indentCoords(i, level + 1, writer);
+ }
+ writer.write("(");
+ appendCoordinate(((Point) multiPoint.getGeometryN(i)).getCoordinate(), writer);
+ writer.write(")");
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>MultiLineString</code> to <MultiLineString Text>
+ * format, then appends it to the writer.
+ *
+ *@param multiLineString the <code>MultiLineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiLineStringText(MultiLineString multiLineString, int level, boolean indentFirst,
+ Writer writer)
+ throws IOException
+ {
+ int level2 = level;
+ boolean doIndent = indentFirst;
+ for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
+ if (i > 0) {
+ level2 = level + 1;
+ doIndent = true;
+ }
+ appendLineString((LineString) multiLineString.getGeometryN(i), level2, doIndent, writer);
+ }
+ }
+
+ /**
+ * Converts a <code>MultiPolygon</code> to <MultiPolygon Text> format,
+ * then appends it to the writer.
+ *
+ *@param multiPolygon the <code>MultiPolygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPolygonText(MultiPolygon multiPolygon, int level, Writer writer)
+ throws IOException
+ {
+ int level2 = level;
+ boolean doIndent = false;
+ for (int i = 0; i < multiPolygon.getNumGeometries(); i++) {
+ if (i > 0) {
+ level2 = level + 1;
+ doIndent = true;
+ }
+ appendPolygon((Polygon) multiPolygon.getGeometryN(i), level2, writer);
+ }
+ }
+
+ /**
+ * Converts a <code>GeometryCollection</code> to <GeometryCollectionText>
+ * format, then appends it to the writer.
+ *
+ *@param geometryCollection the <code>GeometryCollection</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryCollectionText(GeometryCollection geometryCollection, int level,
+ Writer writer)
+ throws IOException
+ {
+ int level2 = level;
+ for (int i = 0; i < geometryCollection.getNumGeometries(); i++) {
+ if (i > 0) {
+ level2 = level + 1;
+ }
+ appendGeometryTaggedText(geometryCollection.getGeometryN(i), level2, writer);
+ }
+ }
+
+ private void indentCoords(int coordIndex, int level, Writer writer)
+ throws IOException
+ {
+ if (coordsPerLine <= 0
+ || coordIndex % coordsPerLine != 0)
+ return;
+ indent(level, writer);
+ }
+
+ private void indent(int level, Writer writer)
+ throws IOException
+ {
+ if (! useFormatting || level <= 0)
+ return;
+ writer.write("\n");
+ for (int i = 0; i < level; i++) {
+ writer.write(indentTabStr);
+ }
+ }
+
+
+}
+
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunction.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunction.png
new file mode 100644
index 0000000..fddc9fe
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunction.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunctionWithParam.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunctionWithParam.png
new file mode 100644
index 0000000..28ba1e7
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/BinaryGeomFunctionWithParam.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Circle.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Circle.gif
new file mode 100644
index 0000000..7bc913e
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Circle.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Copy.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Copy.png
new file mode 100644
index 0000000..fb9d13d
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Copy.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyCase.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyCase.png
new file mode 100644
index 0000000..7cde688
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyCase.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyToTest.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyToTest.png
new file mode 100644
index 0000000..e6111c1
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/CopyToTest.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Cut.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Cut.gif
new file mode 100644
index 0000000..50ca3a2
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Cut.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete.png
new file mode 100644
index 0000000..6387f3d
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DeleteVertex.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DeleteVertex.png
new file mode 100644
index 0000000..fecd610
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DeleteVertex.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete_small.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete_small.png
new file mode 100644
index 0000000..5244965
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Delete_small.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Down.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Down.png
new file mode 100644
index 0000000..c58a80e
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Down.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Draw.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Draw.gif
new file mode 100644
index 0000000..8c1b37a
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Draw.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawCursor.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawCursor.png
new file mode 100644
index 0000000..110de4b
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawCursor.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineString.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineString.png
new file mode 100644
index 0000000..ba15b2e
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineString.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineStringB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineStringB.png
new file mode 100644
index 0000000..5e51e1d
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLineStringB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRing.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRing.png
new file mode 100644
index 0000000..224cf98
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRing.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRingB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRingB.png
new file mode 100644
index 0000000..8eda372
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawLinearRingB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.gif
new file mode 100644
index 0000000..22c654f
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.png
new file mode 100644
index 0000000..f04f968
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPoint.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPointB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPointB.png
new file mode 100644
index 0000000..801d8be
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPointB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygon.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygon.png
new file mode 100644
index 0000000..66b65da
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygon.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygonB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygonB.png
new file mode 100644
index 0000000..c14e69a
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawPolygonB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangle.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangle.png
new file mode 100644
index 0000000..adddefe
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangle.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangleB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangleB.png
new file mode 100644
index 0000000..3ebb47f
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/DrawRectangleB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExchangeGeoms.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExchangeGeoms.png
new file mode 100644
index 0000000..e61ea9c
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExchangeGeoms.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExecuteProject.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExecuteProject.gif
new file mode 100644
index 0000000..db9c41b
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExecuteProject.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExtractComponent.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExtractComponent.png
new file mode 100644
index 0000000..aa74f9b
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ExtractComponent.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/FingerUp.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/FingerUp.gif
new file mode 100644
index 0000000..7e1e70b
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/FingerUp.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hand.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hand.gif
new file mode 100644
index 0000000..811da88
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hand.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Home.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Home.gif
new file mode 100644
index 0000000..dca0f29
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Home.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hourglass.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hourglass.gif
new file mode 100644
index 0000000..3bd9a1a
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Hourglass.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection.png
new file mode 100644
index 0000000..4f597cd
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection_B.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection_B.png
new file mode 100644
index 0000000..d8f9704
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_GeomCollection_B.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString.png
new file mode 100644
index 0000000..92c2384
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString_B.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString_B.png
new file mode 100644
index 0000000..438d5e8
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LineString_B.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing.png
new file mode 100644
index 0000000..67006c5
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing_B.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing_B.png
new file mode 100644
index 0000000..cf9915e
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_LinearRing_B.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point.png
new file mode 100644
index 0000000..0b0f898
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point_B.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point_B.png
new file mode 100644
index 0000000..f554798
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Point_B.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon.png
new file mode 100644
index 0000000..8e08754
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon_B.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon_B.png
new file mode 100644
index 0000000..4c85246
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Icon_Polygon_B.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Info.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Info.png
new file mode 100644
index 0000000..0651ca5
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Info.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/InspectGeometry.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/InspectGeometry.png
new file mode 100644
index 0000000..2e8275c
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/InspectGeometry.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Left.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Left.png
new file mode 100644
index 0000000..6583d8c
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Left.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/LoadWKTToTest.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/LoadWKTToTest.png
new file mode 100644
index 0000000..8dd5060
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/LoadWKTToTest.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyCursor.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyCursor.gif
new file mode 100644
index 0000000..2c8ec57
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyCursor.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyMinus.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyMinus.gif
new file mode 100644
index 0000000..4a81126
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyMinus.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyPlus.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyPlus.gif
new file mode 100644
index 0000000..91510f7
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MagnifyPlus.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertex.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertex.png
new file mode 100644
index 0000000..3fd76f7
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertex.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertexCursor.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertexCursor.gif
new file mode 100644
index 0000000..7374da3
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/MoveVertexCursor.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Paste.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Paste.png
new file mode 100644
index 0000000..20e66a9
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Paste.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Plus.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Plus.png
new file mode 100644
index 0000000..d728062
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Plus.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Right.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Right.png
new file mode 100644
index 0000000..508c09b
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Right.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Select.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Select.gif
new file mode 100644
index 0000000..c5bd8ea
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Select.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/UnaryGeomFunction.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/UnaryGeomFunction.png
new file mode 100644
index 0000000..f41270f
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/UnaryGeomFunction.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Up.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Up.png
new file mode 100644
index 0000000..e2bfeb3
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/Up.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/YellowCircle.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/YellowCircle.gif
new file mode 100644
index 0000000..46261fc
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/YellowCircle.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomAll.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomAll.png
new file mode 100644
index 0000000..f6b1f34
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomAll.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInput.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInput.png
new file mode 100644
index 0000000..6b60b13
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInput.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputA.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputA.png
new file mode 100644
index 0000000..97eba19
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputA.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputB.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputB.png
new file mode 100644
index 0000000..82bea06
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomInputB.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomOneToOne.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomOneToOne.png
new file mode 100644
index 0000000..29d53f7
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomOneToOne.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomResult.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomResult.png
new file mode 100644
index 0000000..7012bcc
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/ZoomResult.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/app-icon.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/app-icon.gif
new file mode 100644
index 0000000..b88500f
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/app-icon.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/booleanGeomFunction.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/booleanGeomFunction.png
new file mode 100644
index 0000000..494748c
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/booleanGeomFunction.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/clear.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/clear.gif
new file mode 100644
index 0000000..a81d6c8
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/clear.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/crossShaded.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/crossShaded.gif
new file mode 100644
index 0000000..5df8cf3
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/crossShaded.gif differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/logo64.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/logo64.png
new file mode 100644
index 0000000..d02b1a3
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/logo64.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/numGeomFunction.png b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/numGeomFunction.png
new file mode 100644
index 0000000..1263edd
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/numGeomFunction.png differ
diff --git a/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/tickShaded.gif b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/tickShaded.gif
new file mode 100644
index 0000000..30844e8
Binary files /dev/null and b/modules/app/src/main/resources/org/locationtech/jtstest/testbuilder/tickShaded.gif differ
diff --git a/modules/app/src/test/java/org/locationtech/jtstest/TestBuilderTest.java b/modules/app/src/test/java/org/locationtech/jtstest/TestBuilderTest.java
new file mode 100644
index 0000000..a645fb3
--- /dev/null
+++ b/modules/app/src/test/java/org/locationtech/jtstest/TestBuilderTest.java
@@ -0,0 +1,48 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest;
+
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.model.*;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestBuilderTest extends TestCase {
+
+ public TestBuilderTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {TestBuilderTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testPrecisionModelXml1() {
+ PrecisionModel precisionModel = new PrecisionModel();
+ assertEquals("<precisionModel type=\"FLOATING\"/>", XMLTestWriter.toXML(precisionModel));
+ }
+
+ public void testPrecisionModelXml2() {
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ assertEquals("<precisionModel type=\"FIXED\" scale=\"1.0\"/>", XMLTestWriter.toXML(precisionModel));
+ }
+
+}
diff --git a/modules/app/src/test/java/org/locationtech/jtstest/TestFileGeometryExtractor.java b/modules/app/src/test/java/org/locationtech/jtstest/TestFileGeometryExtractor.java
new file mode 100644
index 0000000..9285b51
--- /dev/null
+++ b/modules/app/src/test/java/org/locationtech/jtstest/TestFileGeometryExtractor.java
@@ -0,0 +1,68 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jtstest;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jtstest.testrunner.TestCase;
+import org.locationtech.jtstest.testrunner.TestReader;
+import org.locationtech.jtstest.testrunner.TestRun;
+import org.locationtech.jtstest.util.FileUtil;
+import org.locationtech.jtstest.util.StringUtil;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestFileGeometryExtractor {
+
+ public TestFileGeometryExtractor() {
+ }
+ public static void main(String[] args) throws Exception {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File("c:\\blah\\isvalid.xml"), 0);
+ ArrayList geometries = new ArrayList();
+ for (Iterator i = testRun.getTestCases().iterator(); i.hasNext(); ) {
+ TestCase testCase = (TestCase) i.next();
+ add(testCase.getGeometryA(), geometries);
+ add(testCase.getGeometryB(), geometries);
+ }
+ String run = "";
+ int j = 0;
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ j++;
+ run += "<case>" + StringUtil.newLine;
+ run += " <desc>Test " + j + "</desc>" + StringUtil.newLine;
+ run += " <a>" + StringUtil.newLine;
+ run += " " + geometry + StringUtil.newLine;
+ run += " </a>" + StringUtil.newLine;
+ run += " <test> <op name=\"isValid\" arg1=\"A\"> true </op> </test>" + StringUtil.newLine;
+ run += "</case>" + StringUtil.newLine;
+ }
+ FileUtil.setContents("c:\\blah\\isvalid2.xml", run);
+ }
+
+ private static void add(Geometry geometry, ArrayList geometries) {
+ if (geometry == null) { return; }
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry existingGeometry = (Geometry) i.next();
+ if (geometry.equalsExact(existingGeometry)) { return; }
+ }
+ geometries.add(geometry);
+ }
+}
diff --git a/modules/app/src/test/java/org/locationtech/jtstest/TestReaderTest.java b/modules/app/src/test/java/org/locationtech/jtstest/TestReaderTest.java
new file mode 100644
index 0000000..b995164
--- /dev/null
+++ b/modules/app/src/test/java/org/locationtech/jtstest/TestReaderTest.java
@@ -0,0 +1,284 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jtstest;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.StringTokenizer;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jtstest.testbuilder.JTSTestBuilderFrame;
+import org.locationtech.jtstest.testbuilder.model.TestRunnerTestCaseAdapter;
+import org.locationtech.jtstest.testbuilder.model.XMLTestWriter;
+import org.locationtech.jtstest.testrunner.TestReader;
+import org.locationtech.jtstest.testrunner.TestRun;
+import org.locationtech.jtstest.util.StringUtil;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+// MD - all tests disabled for now, since input data is missing
+public class TestReaderTest extends TestCase {
+
+ public TestReaderTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {TestReaderTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testDummy()
+ {
+
+ }
+
+ public void XtestWktFile() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\testreader_wktfile.xml"), 0);
+ printParsingProblems(testReader);
+ assertNull(testRun.getWorkspace());
+ assertEquals(1, testRun.getTestCases().size());
+ org.locationtech.jtstest.testrunner.TestCase testCase = (org.locationtech.jtstest.testrunner.TestCase) testRun.getTestCases().get(0);
+ assertTrue(testCase.getGeometryA().equals(new GeometryFactory().createPoint(new Coordinate(10, 20))));
+ assertTrue(testCase.getGeometryB().equals(new GeometryFactory().createPoint(new Coordinate(30, 40))));
+
+ XMLTestWriter xmlTestWriter = new XMLTestWriter();
+
+ String expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a file=\"\\\\pluto\\data\\jts\\testing\\testreader_wktfile_point.xml\"/>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (30 40)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+
+ testCase.setGeometryA(new GeometryFactory().createPoint(new Coordinate(2, 3)));
+ expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a>" + StringUtil.newLine +
+ " POINT (2 3)" + StringUtil.newLine +
+ " </a>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (30 40)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+ }
+
+ public void XtestWktFileWorkspace() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\testReader_wktFileWorkspace.xml"), 0);
+ printParsingProblems(testReader);
+ assertEquals("\\\\pluto\\data\\jts\\testing\\x", testRun.getWorkspace().toString());
+ assertEquals(1, testRun.getTestCases().size());
+ org.locationtech.jtstest.testrunner.TestCase testCase = (org.locationtech.jtstest.testrunner.TestCase) testRun.getTestCases().get(0);
+ assertTrue(testCase.getGeometryA().equals(new GeometryFactory().createPoint(new Coordinate(5, 6))));
+ assertTrue(testCase.getGeometryB().equals(new GeometryFactory().createPoint(new Coordinate(7, 8))));
+
+ XMLTestWriter xmlTestWriter = new XMLTestWriter();
+
+ String expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a file=\"testReader_wktFileWorkspace_point.xml\"/>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (7 8)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+
+ testCase.setGeometryA(new GeometryFactory().createPoint(new Coordinate(9, 10)));
+ expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a>" + StringUtil.newLine +
+ " POINT (9 10)" + StringUtil.newLine +
+ " </a>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (7 8)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+ }
+
+ public void XtestWktFileWorkspace2() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\testReader_wktFileWorkspace2.xml"), 0);
+ printParsingProblems(testReader);
+ assertNull(testRun.getWorkspace());
+ assertEquals(1, testRun.getTestCases().size());
+ org.locationtech.jtstest.testrunner.TestCase testCase = (org.locationtech.jtstest.testrunner.TestCase) testRun.getTestCases().get(0);
+ assertTrue(testCase.getGeometryA().equals(new GeometryFactory().createPoint(new Coordinate(3, 4))));
+ assertTrue(testCase.getGeometryB().equals(new GeometryFactory().createPoint(new Coordinate(1, 2))));
+
+ XMLTestWriter xmlTestWriter = new XMLTestWriter();
+
+ String expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a file=\"testReader_wktFileWorkspace2_point.xml\"/>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (1 2)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+
+ testCase.setGeometryA(new GeometryFactory().createPoint(new Coordinate(11, 12)));
+ expectedXML =
+ "<case>" + StringUtil.newLine +
+ " <desc>same point</desc>" + StringUtil.newLine +
+ " <a>" + StringUtil.newLine +
+ " POINT (11 12)" + StringUtil.newLine +
+ " </a>" + StringUtil.newLine +
+ " <b>" + StringUtil.newLine +
+ " POINT (1 2)" + StringUtil.newLine +
+ " </b>" + StringUtil.newLine +
+ "<test>" + StringUtil.newLine +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" + StringUtil.newLine +
+ " true" + StringUtil.newLine +
+ " </op>" + StringUtil.newLine +
+ "</test>" + StringUtil.newLine +
+ "</case>" + StringUtil.newLine;
+ assertEquals(normalize(expectedXML), normalize(xmlTestWriter.getTestXML(new TestRunnerTestCaseAdapter(testCase))));
+ }
+
+ public void XtestGetWorkspaceXML() throws Exception {
+ JTSTestBuilderFrame.instance().openXmlFilesAndDirectories(new File[] {new File(
+ "\\\\pluto\\data\\jts\\testing\\testReader_getWorkspaceXML.xml")});
+ String expectedXML =
+ "<run>" +
+ " <desc>ABCDEF</desc>" +
+ " <workspace file=\"\\\\pluto\\data\\jts\\testing\"/>" +
+ " <precisionModel type=\"FLOATING\"/>" +
+ " <case>" +
+ " <a>POINT (5 6)</a>" +
+ " <b>POINT (7 8)</b>" +
+ " <test>" +
+ " <op name=\"relate\" arg1=\"A\" arg2=\"B\" arg3=\"0FFFFFFF2\">" +
+ " true" +
+ " </op>" +
+ " </test>" +
+ " </case>" +
+ "</run>";
+ assertEquals(normalize(expectedXML), normalize(JTSTestBuilderFrame.instance().getRunXml()));
+ }
+
+ public void XtestPrecisionModel_noType_scale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_noType_scale.xml"), 0);
+ assertNotNull(testRun);
+ assertTrue(! testRun.getPrecisionModel().isFloating());
+ assertEquals(1, testRun.getPrecisionModel().getScale(), 1E-15);
+ }
+
+ public void XtestPrecisionModel_noType_noScale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_noType_noScale.xml"), 0);
+ assertNull(testRun);
+ assertTrue(testReader.getParsingProblems().get(0).toString().indexOf("Missing type attribute in <precisionModel>") > -1);
+ }
+
+ public void XtestPrecisionModel_fixed_scale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_fixed_scale.xml"), 0);
+ assertNotNull(testRun);
+ assertTrue(! testRun.getPrecisionModel().isFloating());
+ assertEquals(1, testRun.getPrecisionModel().getScale(), 1E-15);
+ }
+
+ public void XtestPrecisionModel_fixed_noScale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_fixed_noScale.xml"), 0);
+ assertNull(testRun);
+ assertTrue(testReader.getParsingProblems().get(0).toString().indexOf("Missing scale attribute in <precisionModel>") > -1);
+ }
+
+ public void XtestPrecisionModel_floating_scale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_floating_scale.xml"), 0);
+ assertNull(testRun);
+ assertTrue(testReader.getParsingProblems().get(0).toString().indexOf("scale attribute not allowed in floating <precisionModel>") > -1);
+ }
+
+ public void XtestPrecisionModel_floating_noScale() {
+ TestReader testReader = new TestReader();
+ TestRun testRun = testReader.createTestRun(new File(
+ "\\\\pluto\\data\\jts\\testing\\precisionModel_floating_noScale.xml"), 0);
+ assertNotNull(testRun);
+ assertTrue(testRun.getPrecisionModel().isFloating());
+ assertEquals(0, testRun.getPrecisionModel().getScale(), 1E-15);
+ }
+
+ private void printParsingProblems(TestReader testReader) {
+ for (Iterator i = testReader.getParsingProblems().iterator(); i.hasNext(); ) {
+ String problem = (String) i.next();
+ System.out.println(problem);
+ }
+ }
+
+ private String normalize(String xml) {
+ String normalizedXML = "";
+ StringTokenizer tokenizer = new StringTokenizer(xml.toUpperCase());
+ while (tokenizer.hasMoreTokens()) {
+ normalizedXML += tokenizer.nextToken();
+ }
+ return normalizedXML;
+ }
+
+}
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
new file mode 100644
index 0000000..412f9da
--- /dev/null
+++ b/modules/core/pom.xml
@@ -0,0 +1,54 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-modules</artifactId>
+ <version>1.15.0</version>
+ </parent>
+ <artifactId>jts-core</artifactId>
+ <name>${project.groupId}:${project.artifactId}</name>
+ <packaging>bundle</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ <!--configuration>
+ <archive>
+ <manifestSections>
+ <manifestSection>
+ <name>org.locationtech.jts</name>
+ <manifestEntries>
+ <Sealed>true</Sealed>
+ </manifestEntries>
+ </manifestSection>
+ </manifestSections>
+ </archive>
+ </configuration-->
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.3.7</version>
+ <extensions>true</extensions>
+ <configuration>
+ <unpackBundle>true</unpackBundle>
+ <instructions>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+ <Bundle-Name>${project.artifactId}</Bundle-Name>
+ <Bundle-Version>${project.version}</Bundle-Version>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/JTSVersion.java b/modules/core/src/main/java/org/locationtech/jts/JTSVersion.java
new file mode 100644
index 0000000..53d357a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/JTSVersion.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts;
+
+/**
+ * JTS API version information.
+ * <p>
+ * Versions consist of a 3-part version number: <code>major.minor.patch</code>
+ * An optional release status string may be present in the string version of
+ * the version.
+ *
+ * @version 1.7
+ */
+public class JTSVersion {
+
+ /**
+ * The current version number of the JTS API.
+ */
+ public static final JTSVersion CURRENT_VERSION = new JTSVersion();
+
+ /**
+ * The major version number.
+ */
+ public static final int MAJOR = 1;
+
+ /**
+ * The minor version number.
+ */
+ public static final int MINOR = 15;
+
+ /**
+ * The patch version number.
+ */
+ public static final int PATCH = 0;
+
+ /**
+ * An optional string providing further release info (such as "alpha 1");
+ */
+ private static final String releaseInfo = "";
+
+ /**
+ * Prints the current JTS version to stdout.
+ *
+ * @param args the command-line arguments (none are required).
+ */
+ public static void main(String[] args)
+ {
+ System.out.println(CURRENT_VERSION);
+ }
+
+ private JTSVersion() {
+ }
+
+ /**
+ * Gets the major number of the release version.
+ *
+ * @return the major number of the release version.
+ */
+ public int getMajor() { return MAJOR; }
+
+ /**
+ * Gets the minor number of the release version.
+ *
+ * @return the minor number of the release version.
+ */
+ public int getMinor() { return MINOR; }
+
+ /**
+ * Gets the patch number of the release version.
+ *
+ * @return the patch number of the release version.
+ */
+ public int getPatch() { return PATCH; }
+
+ /**
+ * Gets the full version number, suitable for display.
+ *
+ * @return the full version number, suitable for display.
+ */
+ public String toString()
+ {
+ String ver = MAJOR + "." + MINOR + "." + PATCH;
+ if (releaseInfo != null && releaseInfo.length() > 0)
+ return ver + " " + releaseInfo;
+ return ver;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Angle.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Angle.java
new file mode 100644
index 0000000..1ef9690
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Angle.java
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Utility functions for working with angles.
+ * Unless otherwise noted, methods in this class express angles in radians.
+ */
+public class Angle
+{
+ public static final double PI_TIMES_2 = 2.0 * Math.PI;
+ public static final double PI_OVER_2 = Math.PI / 2.0;
+ public static final double PI_OVER_4 = Math.PI / 4.0;
+
+ /** Constant representing counterclockwise orientation */
+ public static final int COUNTERCLOCKWISE = Orientation.COUNTERCLOCKWISE;
+
+ /** Constant representing clockwise orientation */
+ public static final int CLOCKWISE = Orientation.CLOCKWISE;
+
+ /** Constant representing no orientation */
+ public static final int NONE = Orientation.COLLINEAR;
+
+ private Angle() {}
+
+ /**
+ * Converts from radians to degrees.
+ * @param radians an angle in radians
+ * @return the angle in degrees
+ */
+ public static double toDegrees(double radians) {
+ return (radians * 180) / (Math.PI);
+ }
+
+ /**
+ * Converts from degrees to radians.
+ *
+ * @param angleDegrees an angle in degrees
+ * @return the angle in radians
+ */
+ public static double toRadians(double angleDegrees) {
+ return (angleDegrees * Math.PI) / 180.0;
+ }
+
+
+ /**
+ * Returns the angle of the vector from p0 to p1,
+ * relative to the positive X-axis.
+ * The angle is normalized to be in the range [ -Pi, Pi ].
+ *
+ * @return the normalized angle (in radians) that p0-p1 makes with the positive x-axis.
+ */
+ public static double angle(Coordinate p0, Coordinate p1) {
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ return Math.atan2(dy, dx);
+ }
+
+ /**
+ * Returns the angle that the vector from (0,0) to p,
+ * relative to the positive X-axis.
+ * The angle is normalized to be in the range ( -Pi, Pi ].
+ *
+ * @return the normalized angle (in radians) that p makes with the positive x-axis.
+ */
+ public static double angle(Coordinate p) {
+ return Math.atan2(p.y, p.x);
+ }
+
+
+ /**
+ * Tests whether the angle between p0-p1-p2 is acute.
+ * An angle is acute if it is less than 90 degrees.
+ * <p>
+ * Note: this implementation is not precise (deterministic) for angles very close to 90 degrees.
+ *
+ * @param p0 an endpoint of the angle
+ * @param p1 the base of the angle
+ * @param p2 the other endpoint of the angle
+ */
+ public static boolean isAcute(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ // relies on fact that A dot B is positive iff A ang B is acute
+ double dx0 = p0.x - p1.x;
+ double dy0 = p0.y - p1.y;
+ double dx1 = p2.x - p1.x;
+ double dy1 = p2.y - p1.y;
+ double dotprod = dx0 * dx1 + dy0 * dy1;
+ return dotprod > 0;
+ }
+
+ /**
+ * Tests whether the angle between p0-p1-p2 is obtuse.
+ * An angle is obtuse if it is greater than 90 degrees.
+ * <p>
+ * Note: this implementation is not precise (deterministic) for angles very close to 90 degrees.
+ *
+ * @param p0 an endpoint of the angle
+ * @param p1 the base of the angle
+ * @param p2 the other endpoint of the angle
+ */
+ public static boolean isObtuse(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ // relies on fact that A dot B is negative iff A ang B is obtuse
+ double dx0 = p0.x - p1.x;
+ double dy0 = p0.y - p1.y;
+ double dx1 = p2.x - p1.x;
+ double dy1 = p2.y - p1.y;
+ double dotprod = dx0 * dx1 + dy0 * dy1;
+ return dotprod < 0;
+ }
+
+ /**
+ * Returns the unoriented smallest angle between two vectors.
+ * The computed angle will be in the range [0, Pi).
+ *
+ * @param tip1 the tip of one vector
+ * @param tail the tail of each vector
+ * @param tip2 the tip of the other vector
+ * @return the angle between tail-tip1 and tail-tip2
+ */
+ public static double angleBetween(Coordinate tip1, Coordinate tail,
+ Coordinate tip2) {
+ double a1 = angle(tail, tip1);
+ double a2 = angle(tail, tip2);
+
+ return diff(a1, a2);
+ }
+
+ /**
+ * Returns the oriented smallest angle between two vectors.
+ * The computed angle will be in the range (-Pi, Pi].
+ * A positive result corresponds to a counterclockwise
+ * (CCW) rotation
+ * from v1 to v2;
+ * a negative result corresponds to a clockwise (CW) rotation;
+ * a zero result corresponds to no rotation.
+ *
+ * @param tip1 the tip of v1
+ * @param tail the tail of each vector
+ * @param tip2 the tip of v2
+ * @return the angle between v1 and v2, relative to v1
+ */
+ public static double angleBetweenOriented(Coordinate tip1, Coordinate tail,
+ Coordinate tip2)
+ {
+ double a1 = angle(tail, tip1);
+ double a2 = angle(tail, tip2);
+ double angDel = a2 - a1;
+
+ // normalize, maintaining orientation
+ if (angDel <= -Math.PI)
+ return angDel + PI_TIMES_2;
+ if (angDel > Math.PI)
+ return angDel - PI_TIMES_2;
+ return angDel;
+ }
+
+ /**
+ * Computes the interior angle between two segments of a ring. The ring is
+ * assumed to be oriented in a clockwise direction. The computed angle will be
+ * in the range [0, 2Pi]
+ *
+ * @param p0
+ * a point of the ring
+ * @param p1
+ * the next point of the ring
+ * @param p2
+ * the next point of the ring
+ * @return the interior angle based at <code>p1</code>
+ */
+ public static double interiorAngle(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ double anglePrev = Angle.angle(p1, p0);
+ double angleNext = Angle.angle(p1, p2);
+ return Math.abs(angleNext - anglePrev);
+ }
+
+ /**
+ * Returns whether an angle must turn clockwise or counterclockwise
+ * to overlap another angle.
+ *
+ * @param ang1 an angle (in radians)
+ * @param ang2 an angle (in radians)
+ * @return whether a1 must turn CLOCKWISE, COUNTERCLOCKWISE or NONE to
+ * overlap a2.
+ */
+ public static int getTurn(double ang1, double ang2) {
+ double crossproduct = Math.sin(ang2 - ang1);
+
+ if (crossproduct > 0) {
+ return COUNTERCLOCKWISE;
+ }
+ if (crossproduct < 0) {
+ return CLOCKWISE;
+ }
+ return NONE;
+ }
+
+ /**
+ * Computes the normalized value of an angle, which is the
+ * equivalent angle in the range ( -Pi, Pi ].
+ *
+ * @param angle the angle to normalize
+ * @return an equivalent angle in the range (-Pi, Pi]
+ */
+ public static double normalize(double angle)
+ {
+ while (angle > Math.PI)
+ angle -= PI_TIMES_2;
+ while (angle <= -Math.PI)
+ angle += PI_TIMES_2;
+ return angle;
+ }
+
+ /**
+ * Computes the normalized positive value of an angle, which is the
+ * equivalent angle in the range [ 0, 2*Pi ).
+ * E.g.:
+ * <ul>
+ * <li>normalizePositive(0.0) = 0.0
+ * <li>normalizePositive(-PI) = PI
+ * <li>normalizePositive(-2PI) = 0.0
+ * <li>normalizePositive(-3PI) = PI
+ * <li>normalizePositive(-4PI) = 0
+ * <li>normalizePositive(PI) = PI
+ * <li>normalizePositive(2PI) = 0.0
+ * <li>normalizePositive(3PI) = PI
+ * <li>normalizePositive(4PI) = 0.0
+ * </ul>
+ *
+ * @param angle the angle to normalize, in radians
+ * @return an equivalent positive angle
+ */
+ public static double normalizePositive(double angle)
+ {
+ if (angle < 0.0) {
+ while (angle < 0.0)
+ angle += PI_TIMES_2;
+ // in case round-off error bumps the value over
+ if (angle >= PI_TIMES_2)
+ angle = 0.0;
+ }
+ else {
+ while (angle >= PI_TIMES_2)
+ angle -= PI_TIMES_2;
+ // in case round-off error bumps the value under
+ if (angle < 0.0)
+ angle = 0.0;
+ }
+ return angle;
+ }
+
+ /**
+ * Computes the unoriented smallest difference between two angles.
+ * The angles are assumed to be normalized to the range [-Pi, Pi].
+ * The result will be in the range [0, Pi].
+ *
+ * @param ang1 the angle of one vector (in [-Pi, Pi] )
+ * @param ang2 the angle of the other vector (in range [-Pi, Pi] )
+ * @return the angle (in radians) between the two vectors (in range [0, Pi] )
+ */
+ public static double diff(double ang1, double ang2) {
+ double delAngle;
+
+ if (ang1 < ang2) {
+ delAngle = ang2 - ang1;
+ } else {
+ delAngle = ang1 - ang2;
+ }
+
+ if (delAngle > Math.PI) {
+ delAngle = (2 * Math.PI) - delAngle;
+ }
+
+ return delAngle;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Area.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Area.java
new file mode 100644
index 0000000..7ff12f7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Area.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+
+/**
+ * Functions for computing area.
+ *
+ * @author Martin Davis
+ *
+ */
+public class Area {
+
+ /**
+ * Computes the area for a ring.
+ *
+ * @param ring the coordinates forming the ring
+ * @return the area of the ring
+ */
+ public static double ofRing(Coordinate[] ring)
+ {
+ return Math.abs(ofRingSigned(ring));
+ }
+
+ /**
+ * Computes the area for a ring.
+ *
+ * @param ring the coordinates forming the ring
+ * @return the area of the ring
+ */
+ public static double ofRing(CoordinateSequence ring)
+ {
+ return Math.abs(ofRingSigned(ring));
+ }
+
+ /**
+ * Computes the signed area for a ring. The signed area is positive if the
+ * ring is oriented CW, negative if the ring is oriented CCW, and zero if the
+ * ring is degenerate or flat.
+ *
+ * @param ring
+ * the coordinates forming the ring
+ * @return the signed area of the ring
+ */
+ public static double ofRingSigned(Coordinate[] ring)
+ {
+ if (ring.length < 3)
+ return 0.0;
+ double sum = 0.0;
+ /**
+ * Based on the Shoelace formula.
+ * http://en.wikipedia.org/wiki/Shoelace_formula
+ */
+ double x0 = ring[0].x;
+ for (int i = 1; i < ring.length - 1; i++) {
+ double x = ring[i].x - x0;
+ double y1 = ring[i + 1].y;
+ double y2 = ring[i - 1].y;
+ sum += x * (y2 - y1);
+ }
+ return sum / 2.0;
+ }
+
+ /**
+ * Computes the signed area for a ring. The signed area is:
+ * <ul>
+ * <li>positive if the ring is oriented CW
+ * <li>negative if the ring is oriented CCW
+ * <li>zero if the ring is degenerate or flat
+ * </ul>
+ *
+ * @param ring
+ * the coordinates forming the ring
+ * @return the signed area of the ring
+ */
+ public static double ofRingSigned(CoordinateSequence ring)
+ {
+ int n = ring.size();
+ if (n < 3)
+ return 0.0;
+ /**
+ * Based on the Shoelace formula.
+ * http://en.wikipedia.org/wiki/Shoelace_formula
+ */
+ Coordinate p0 = new Coordinate();
+ Coordinate p1 = new Coordinate();
+ Coordinate p2 = new Coordinate();
+ ring.getCoordinate(0, p1);
+ ring.getCoordinate(1, p2);
+ double x0 = p1.x;
+ p2.x -= x0;
+ double sum = 0.0;
+ for (int i = 1; i < n - 1; i++) {
+ p0.y = p1.y;
+ p1.x = p2.x;
+ p1.y = p2.y;
+ ring.getCoordinate(i + 1, p2);
+ p2.x -= x0;
+ sum += p1.x * (p0.y - p2.y);
+ }
+ return sum / 2.0;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/BoundaryNodeRule.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/BoundaryNodeRule.java
new file mode 100644
index 0000000..b669596
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/BoundaryNodeRule.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.operation.BoundaryOp;
+import org.locationtech.jts.operation.IsSimpleOp;
+import org.locationtech.jts.operation.relate.RelateOp;
+
+/**
+ * An interface for rules which determine whether node points
+ * which are in boundaries of {@link Lineal} geometry components
+ * are in the boundary of the parent geometry collection.
+ * The SFS specifies a single kind of boundary node rule,
+ * the {@link Mod2BoundaryNodeRule} rule.
+ * However, other kinds of Boundary Node Rules are appropriate
+ * in specific situations (for instance, linear network topology
+ * usually follows the {@link EndPointBoundaryNodeRule}.)
+ * Some JTS operations
+ * (such as {@link RelateOp}, {@link BoundaryOp} and {@link IsSimpleOp})
+ * allow the BoundaryNodeRule to be specified,
+ * and respect the supplied rule when computing the results of the operation.
+ * <p>
+ * An example use case for a non-SFS-standard Boundary Node Rule is
+ * that of checking that a set of {@link LineString}s have
+ * valid linear network topology, when turn-arounds are represented
+ * as closed rings. In this situation, the entry road to the
+ * turn-around is only valid when it touches the turn-around ring
+ * at the single (common) endpoint. This is equivalent
+ * to requiring the set of <tt>LineString</tt>s to be
+ * <b>simple</b> under the {@link EndPointBoundaryNodeRule}.
+ * The SFS-standard {@link Mod2BoundaryNodeRule} is not
+ * sufficient to perform this test, since it
+ * states that closed rings have <b>no</b> boundary points.
+ * <p>
+ * This interface and its subclasses follow the <tt>Strategy</tt> design pattern.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ *
+ * @see RelateOp
+ * @see BoundaryOp
+ * @see IsSimpleOp
+ * @see PointLocator
+ */
+public interface BoundaryNodeRule
+{
+
+ /**
+ * Tests whether a point that lies in <tt>boundaryCount</tt>
+ * geometry component boundaries is considered to form part of the boundary
+ * of the parent geometry.
+ *
+ * @param boundaryCount the number of component boundaries that this point occurs in
+ * @return true if points in this number of boundaries lie in the parent boundary
+ */
+ boolean isInBoundary(int boundaryCount);
+
+ /**
+ * The Mod-2 Boundary Node Rule (which is the rule specified in the OGC SFS).
+ * @see Mod2BoundaryNodeRule
+ */
+ public static final BoundaryNodeRule MOD2_BOUNDARY_RULE = new Mod2BoundaryNodeRule();
+
+ /**
+ * The Endpoint Boundary Node Rule.
+ * @see EndPointBoundaryNodeRule
+ */
+ public static final BoundaryNodeRule ENDPOINT_BOUNDARY_RULE = new EndPointBoundaryNodeRule();
+
+ /**
+ * The MultiValent Endpoint Boundary Node Rule.
+ * @see MultiValentEndPointBoundaryNodeRule
+ */
+ public static final BoundaryNodeRule MULTIVALENT_ENDPOINT_BOUNDARY_RULE = new MultiValentEndPointBoundaryNodeRule();
+
+ /**
+ * The Monovalent Endpoint Boundary Node Rule.
+ * @see MonoValentEndPointBoundaryNodeRule
+ */
+ public static final BoundaryNodeRule MONOVALENT_ENDPOINT_BOUNDARY_RULE = new MonoValentEndPointBoundaryNodeRule();
+
+ /**
+ * The Boundary Node Rule specified by the OGC Simple Features Specification,
+ * which is the same as the Mod-2 rule.
+ * @see Mod2BoundaryNodeRule
+ */
+ public static final BoundaryNodeRule OGC_SFS_BOUNDARY_RULE = MOD2_BOUNDARY_RULE;
+
+ /**
+ * A {@link BoundaryNodeRule} specifies that points are in the
+ * boundary of a lineal geometry iff
+ * the point lies on the boundary of an odd number
+ * of components.
+ * Under this rule {@link LinearRing}s and closed
+ * {@link LineString}s have an empty boundary.
+ * <p>
+ * This is the rule specified by the <i>OGC SFS</i>,
+ * and is the default rule used in JTS.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+ public static class Mod2BoundaryNodeRule
+ implements BoundaryNodeRule
+ {
+ public boolean isInBoundary(int boundaryCount)
+ {
+ // the "Mod-2 Rule"
+ return boundaryCount % 2 == 1;
+ }
+ }
+
+ /**
+ * A {@link BoundaryNodeRule} which specifies that any points which are endpoints
+ * of lineal components are in the boundary of the
+ * parent geometry.
+ * This corresponds to the "intuitive" topological definition
+ * of boundary.
+ * Under this rule {@link LinearRing}s have a non-empty boundary
+ * (the common endpoint of the underlying LineString).
+ * <p>
+ * This rule is useful when dealing with linear networks.
+ * For example, it can be used to check
+ * whether linear networks are correctly noded.
+ * The usual network topology constraint is that linear segments may touch only at endpoints.
+ * In the case of a segment touching a closed segment (ring) at one point,
+ * the Mod2 rule cannot distinguish between the permitted case of touching at the
+ * node point and the invalid case of touching at some other interior (non-node) point.
+ * The EndPoint rule does distinguish between these cases,
+ * so is more appropriate for use.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+ public static class EndPointBoundaryNodeRule
+ implements BoundaryNodeRule
+ {
+ public boolean isInBoundary(int boundaryCount)
+ {
+ return boundaryCount > 0;
+ }
+ }
+
+ /**
+ * A {@link BoundaryNodeRule} which determines that only
+ * endpoints with valency greater than 1 are on the boundary.
+ * This corresponds to the boundary of a {@link MultiLineString}
+ * being all the "attached" endpoints, but not
+ * the "unattached" ones.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+ public static class MultiValentEndPointBoundaryNodeRule
+ implements BoundaryNodeRule
+ {
+ public boolean isInBoundary(int boundaryCount)
+ {
+ return boundaryCount > 1;
+ }
+ }
+
+ /**
+ * A {@link BoundaryNodeRule} which determines that only
+ * endpoints with valency of exactly 1 are on the boundary.
+ * This corresponds to the boundary of a {@link MultiLineString}
+ * being all the "unattached" endpoints.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+ public static class MonoValentEndPointBoundaryNodeRule
+ implements BoundaryNodeRule
+ {
+ public boolean isInBoundary(int boundaryCount)
+ {
+ return boundaryCount == 1;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms.java
new file mode 100644
index 0000000..16fe739
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms.java
@@ -0,0 +1,575 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.math.MathUtil;
+
+/**
+ * Specifies and implements various fundamental Computational Geometric
+ * algorithms. The algorithms supplied in this class are robust for
+ * double-precision floating point.
+ *
+ * @version 1.7
+ * @deprecated See Length, Area, Distance, Orientation, PointLocation
+ */
+public class CGAlgorithms
+{
+
+ /**
+ * A value that indicates an orientation of clockwise, or a right turn.
+ */
+ public static final int CLOCKWISE = -1;
+
+ /**
+ * A value that indicates an orientation of clockwise, or a right turn.
+ */
+ public static final int RIGHT = CLOCKWISE;
+
+ /**
+ * A value that indicates an orientation of counterclockwise, or a left turn.
+ */
+ public static final int COUNTERCLOCKWISE = 1;
+
+ /**
+ * A value that indicates an orientation of counterclockwise, or a left turn.
+ */
+ public static final int LEFT = COUNTERCLOCKWISE;
+
+ /**
+ * A value that indicates an orientation of collinear, or no turn (straight).
+ */
+ public static final int COLLINEAR = 0;
+
+ /**
+ * A value that indicates an orientation of collinear, or no turn (straight).
+ */
+ public static final int STRAIGHT = COLLINEAR;
+
+ /**
+ * Returns the index of the direction of the point <code>q</code> relative to
+ * a vector specified by <code>p1-p2</code>.
+ *
+ * @param p1 the origin point of the vector
+ * @param p2 the final point of the vector
+ * @param q the point to compute the direction to
+ *
+ * @return 1 if q is counter-clockwise (left) from p1-p2
+ * @return -1 if q is clockwise (right) from p1-p2
+ * @return 0 if q is collinear with p1-p2
+ */
+ public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ /**
+ * MD - 9 Aug 2010 It seems that the basic algorithm is slightly orientation
+ * dependent, when computing the orientation of a point very close to a
+ * line. This is possibly due to the arithmetic in the translation to the
+ * origin.
+ *
+ * For instance, the following situation produces identical results in spite
+ * of the inverse orientation of the line segment:
+ *
+ * Coordinate p0 = new Coordinate(219.3649559090992, 140.84159161824724);
+ * Coordinate p1 = new Coordinate(168.9018919682399, -5.713787599646864);
+ *
+ * Coordinate p = new Coordinate(186.80814046338352, 46.28973405831556); int
+ * orient = orientationIndex(p0, p1, p); int orientInv =
+ * orientationIndex(p1, p0, p);
+ *
+ * A way to force consistent results is to normalize the orientation of the
+ * vector using the following code. However, this may make the results of
+ * orientationIndex inconsistent through the triangle of points, so it's not
+ * clear this is an appropriate patch.
+ *
+ */
+ return CGAlgorithmsDD.orientationIndex(p1, p2, q);
+ // testing only
+ //return ShewchuksDeterminant.orientationIndex(p1, p2, q);
+ // previous implementation - not quite fully robust
+ //return RobustDeterminant.orientationIndex(p1, p2, q);
+
+ }
+
+ public CGAlgorithms()
+ {
+ }
+
+ /**
+ * Tests whether a point lies inside or on a ring. The ring may be oriented in
+ * either direction. A point lying exactly on the ring boundary is considered
+ * to be inside the ring.
+ * <p>
+ * This method does <i>not</i> first check the point against the envelope of
+ * the ring.
+ *
+ * @param p
+ * point to check for ring inclusion
+ * @param ring
+ * an array of coordinates representing the ring (which must have
+ * first point identical to last point)
+ * @return true if p is inside ring
+ *
+ * @see locatePointInRing
+ */
+ public static boolean isPointInRing(Coordinate p, Coordinate[] ring)
+ {
+ return locatePointInRing(p, ring) != Location.EXTERIOR;
+ }
+
+ /**
+ * Determines whether a point lies in the interior, on the boundary, or in the
+ * exterior of a ring. The ring may be oriented in either direction.
+ * <p>
+ * This method does <i>not</i> first check the point against the envelope of
+ * the ring.
+ *
+ * @param p
+ * point to check for ring inclusion
+ * @param ring
+ * an array of coordinates representing the ring (which must have
+ * first point identical to last point)
+ * @return the {@link Location} of p relative to the ring
+ */
+ public static int locatePointInRing(Coordinate p, Coordinate[] ring)
+ {
+ return RayCrossingCounter.locatePointInRing(p, ring);
+ }
+
+ /**
+ * Tests whether a point lies on the line segments defined by a list of
+ * coordinates.
+ *
+ * @return true if the point is a vertex of the line or lies in the interior
+ * of a line segment in the linestring
+ */
+ public static boolean isOnLine(Coordinate p, Coordinate[] pt)
+ {
+ LineIntersector lineIntersector = new RobustLineIntersector();
+ for (int i = 1; i < pt.length; i++) {
+ Coordinate p0 = pt[i - 1];
+ Coordinate p1 = pt[i];
+ lineIntersector.computeIntersection(p, p0, p1);
+ if (lineIntersector.hasIntersection()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Computes whether a ring defined by an array of {@link Coordinate}s is
+ * oriented counter-clockwise.
+ * <ul>
+ * <li>The list of points is assumed to have the first and last points equal.
+ * <li>This will handle coordinate lists which contain repeated points.
+ * </ul>
+ * This algorithm is <b>only</b> guaranteed to work with valid rings. If the
+ * ring is invalid (e.g. self-crosses or touches), the computed result may not
+ * be correct.
+ *
+ * @param ring
+ * an array of Coordinates forming a ring
+ * @return true if the ring is oriented counter-clockwise.
+ * @throws IllegalArgumentException
+ * if there are too few points to determine orientation (< 4)
+ */
+ public static boolean isCCW(Coordinate[] ring)
+ {
+ // # of points without closing endpoint
+ int nPts = ring.length - 1;
+ // sanity check
+ if (nPts < 3)
+ throw new IllegalArgumentException(
+ "Ring has fewer than 4 points, so orientation cannot be determined");
+
+ // find highest point
+ Coordinate hiPt = ring[0];
+ int hiIndex = 0;
+ for (int i = 1; i <= nPts; i++) {
+ Coordinate p = ring[i];
+ if (p.y > hiPt.y) {
+ hiPt = p;
+ hiIndex = i;
+ }
+ }
+
+ // find distinct point before highest point
+ int iPrev = hiIndex;
+ do {
+ iPrev = iPrev - 1;
+ if (iPrev < 0)
+ iPrev = nPts;
+ } while (ring[iPrev].equals2D(hiPt) && iPrev != hiIndex);
+
+ // find distinct point after highest point
+ int iNext = hiIndex;
+ do {
+ iNext = (iNext + 1) % nPts;
+ } while (ring[iNext].equals2D(hiPt) && iNext != hiIndex);
+
+ Coordinate prev = ring[iPrev];
+ Coordinate next = ring[iNext];
+
+ /**
+ * This check catches cases where the ring contains an A-B-A configuration
+ * of points. This can happen if the ring does not contain 3 distinct points
+ * (including the case where the input array has fewer than 4 elements), or
+ * it contains coincident line segments.
+ */
+ if (prev.equals2D(hiPt) || next.equals2D(hiPt) || prev.equals2D(next))
+ return false;
+
+ int disc = computeOrientation(prev, hiPt, next);
+
+ /**
+ * If disc is exactly 0, lines are collinear. There are two possible cases:
+ * (1) the lines lie along the x axis in opposite directions (2) the lines
+ * lie on top of one another
+ *
+ * (1) is handled by checking if next is left of prev ==> CCW (2) will never
+ * happen if the ring is valid, so don't check for it (Might want to assert
+ * this)
+ */
+ boolean isCCW;
+ if (disc == 0) {
+ // poly is CCW if prev x is right of next x
+ isCCW = (prev.x > next.x);
+ }
+ else {
+ // if area is positive, points are ordered CCW
+ isCCW = (disc > 0);
+ }
+ return isCCW;
+ }
+
+ /**
+ * Computes the orientation of a point q to the directed line segment p1-p2.
+ * The orientation of a point relative to a directed line segment indicates
+ * which way you turn to get to q after travelling from p1 to p2.
+ *
+ * @param p1 the first vertex of the line segment
+ * @param p2 the second vertex of the line segment
+ * @param q the point to compute the relative orientation of
+ * @return 1 if q is counter-clockwise from p1-p2,
+ * or -1 if q is clockwise from p1-p2,
+ * or 0 if q is collinear with p1-p2
+ */
+ public static int computeOrientation(Coordinate p1, Coordinate p2,
+ Coordinate q)
+ {
+ return orientationIndex(p1, p2, q);
+ }
+
+ /**
+ * Computes the distance from a point p to a line segment AB
+ *
+ * Note: NON-ROBUST!
+ *
+ * @param p
+ * the point to compute the distance for
+ * @param A
+ * one point of the line
+ * @param B
+ * another point of the line (must be different to A)
+ * @return the distance from p to line segment AB
+ */
+ public static double distancePointLine(Coordinate p, Coordinate A,
+ Coordinate B)
+ {
+ // if start = end, then just compute distance to one of the endpoints
+ if (A.x == B.x && A.y == B.y)
+ return p.distance(A);
+
+ // otherwise use comp.graphics.algorithms Frequently Asked Questions method
+ /*
+ * (1) r = AC dot AB
+ * ---------
+ * ||AB||^2
+ *
+ * r has the following meaning:
+ * r=0 P = A
+ * r=1 P = B
+ * r<0 P is on the backward extension of AB
+ * r>1 P is on the forward extension of AB
+ * 0<r<1 P is interior to AB
+ */
+
+ double len2 = (B.x - A.x) * (B.x - A.x) + (B.y - A.y) * (B.y - A.y);
+ double r = ((p.x - A.x) * (B.x - A.x) + (p.y - A.y) * (B.y - A.y))
+ / len2;
+
+ if (r <= 0.0)
+ return p.distance(A);
+ if (r >= 1.0)
+ return p.distance(B);
+
+ /*
+ * (2) s = (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * -----------------------------
+ * L^2
+ *
+ * Then the distance from C to P = |s|*L.
+ *
+ * This is the same calculation as {@link #distancePointLinePerpendicular}.
+ * Unrolled here for performance.
+ */
+ double s = ((A.y - p.y) * (B.x - A.x) - (A.x - p.x) * (B.y - A.y))
+ / len2;
+ return Math.abs(s) * Math.sqrt(len2);
+ }
+
+ /**
+ * Computes the perpendicular distance from a point p to the (infinite) line
+ * containing the points AB
+ *
+ * @param p
+ * the point to compute the distance for
+ * @param A
+ * one point of the line
+ * @param B
+ * another point of the line (must be different to A)
+ * @return the distance from p to line AB
+ */
+ public static double distancePointLinePerpendicular(Coordinate p,
+ Coordinate A, Coordinate B)
+ {
+ // use comp.graphics.algorithms Frequently Asked Questions method
+ /*
+ * (2) s = (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * -----------------------------
+ * L^2
+ *
+ * Then the distance from C to P = |s|*L.
+ */
+ double len2 = (B.x - A.x) * (B.x - A.x) + (B.y - A.y) * (B.y - A.y);
+ double s = ((A.y - p.y) * (B.x - A.x) - (A.x - p.x) * (B.y - A.y))
+ / len2;
+
+ return Math.abs(s) * Math.sqrt(len2);
+ }
+
+ /**
+ * Computes the distance from a point to a sequence of line segments.
+ *
+ * @param p
+ * a point
+ * @param line
+ * a sequence of contiguous line segments defined by their vertices
+ * @return the minimum distance between the point and the line segments
+ */
+ public static double distancePointLine(Coordinate p, Coordinate[] line)
+ {
+ if (line.length == 0)
+ throw new IllegalArgumentException(
+ "Line array must contain at least one vertex");
+ // this handles the case of length = 1
+ double minDistance = p.distance(line[0]);
+ for (int i = 0; i < line.length - 1; i++) {
+ double dist = distancePointLine(p, line[i], line[i + 1]);
+ if (dist < minDistance) {
+ minDistance = dist;
+ }
+ }
+ return minDistance;
+ }
+
+ /**
+ * Computes the distance from a line segment AB to a line segment CD
+ *
+ * Note: NON-ROBUST!
+ *
+ * @param A
+ * a point of one line
+ * @param B
+ * the second point of (must be different to A)
+ * @param C
+ * one point of the line
+ * @param D
+ * another point of the line (must be different to A)
+ */
+ public static double distanceLineLine(Coordinate A, Coordinate B,
+ Coordinate C, Coordinate D)
+ {
+ // check for zero-length segments
+ if (A.equals(B))
+ return distancePointLine(A, C, D);
+ if (C.equals(D))
+ return distancePointLine(D, A, B);
+
+ // AB and CD are line segments
+ /*
+ * from comp.graphics.algo
+ *
+ * Solving the above for r and s yields
+ *
+ * (Ay-Cy)(Dx-Cx)-(Ax-Cx)(Dy-Cy)
+ * r = ----------------------------- (eqn 1)
+ * (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx)
+ *
+ * (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * s = ----------------------------- (eqn 2)
+ * (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx)
+ *
+ * Let P be the position vector of the
+ * intersection point, then
+ * P=A+r(B-A) or
+ * Px=Ax+r(Bx-Ax)
+ * Py=Ay+r(By-Ay)
+ * By examining the values of r & s, you can also determine some other limiting
+ * conditions:
+ * If 0<=r<=1 & 0<=s<=1, intersection exists
+ * r<0 or r>1 or s<0 or s>1 line segments do not intersect
+ * If the denominator in eqn 1 is zero, AB & CD are parallel
+ * If the numerator in eqn 1 is also zero, AB & CD are collinear.
+ */
+
+ boolean noIntersection = false;
+ if (! Envelope.intersects(A, B, C, D)) {
+ noIntersection = true;
+ }
+ else {
+ double denom = (B.x - A.x) * (D.y - C.y) - (B.y - A.y) * (D.x - C.x);
+
+ if (denom == 0) {
+ noIntersection = true;
+ }
+ else {
+ double r_num = (A.y - C.y) * (D.x - C.x) - (A.x - C.x) * (D.y - C.y);
+ double s_num = (A.y - C.y) * (B.x - A.x) - (A.x - C.x) * (B.y - A.y);
+
+ double s = s_num / denom;
+ double r = r_num / denom;
+
+ if ((r < 0) || (r > 1) || (s < 0) || (s > 1)) {
+ noIntersection = true;
+ }
+ }
+ }
+ if (noIntersection) {
+ return MathUtil.min(
+ distancePointLine(A, C, D),
+ distancePointLine(B, C, D),
+ distancePointLine(C, A, B),
+ distancePointLine(D, A, B));
+ }
+ // segments intersect
+ return 0.0;
+ }
+
+ /**
+ * Computes the signed area for a ring. The signed area is positive if the
+ * ring is oriented CW, negative if the ring is oriented CCW, and zero if the
+ * ring is degenerate or flat.
+ *
+ * @param ring
+ * the coordinates forming the ring
+ * @return the signed area of the ring
+ */
+ public static double signedArea(Coordinate[] ring)
+ {
+ if (ring.length < 3)
+ return 0.0;
+ double sum = 0.0;
+ /**
+ * Based on the Shoelace formula.
+ * http://en.wikipedia.org/wiki/Shoelace_formula
+ */
+ double x0 = ring[0].x;
+ for (int i = 1; i < ring.length - 1; i++) {
+ double x = ring[i].x - x0;
+ double y1 = ring[i + 1].y;
+ double y2 = ring[i - 1].y;
+ sum += x * (y2 - y1);
+ }
+ return sum / 2.0;
+ }
+
+ /**
+ * Computes the signed area for a ring. The signed area is:
+ * <ul>
+ * <li>positive if the ring is oriented CW
+ * <li>negative if the ring is oriented CCW
+ * <li>zero if the ring is degenerate or flat
+ * </ul>
+ *
+ * @param ring
+ * the coordinates forming the ring
+ * @return the signed area of the ring
+ */
+ public static double signedArea(CoordinateSequence ring)
+ {
+ int n = ring.size();
+ if (n < 3)
+ return 0.0;
+ /**
+ * Based on the Shoelace formula.
+ * http://en.wikipedia.org/wiki/Shoelace_formula
+ */
+ Coordinate p0 = new Coordinate();
+ Coordinate p1 = new Coordinate();
+ Coordinate p2 = new Coordinate();
+ ring.getCoordinate(0, p1);
+ ring.getCoordinate(1, p2);
+ double x0 = p1.x;
+ p2.x -= x0;
+ double sum = 0.0;
+ for (int i = 1; i < n - 1; i++) {
+ p0.y = p1.y;
+ p1.x = p2.x;
+ p1.y = p2.y;
+ ring.getCoordinate(i + 1, p2);
+ p2.x -= x0;
+ sum += p1.x * (p0.y - p2.y);
+ }
+ return sum / 2.0;
+ }
+
+ /**
+ * Computes the length of a linestring specified by a sequence of points.
+ *
+ * @param pts
+ * the points specifying the linestring
+ * @return the length of the linestring
+ */
+ public static double length(CoordinateSequence pts)
+ {
+ // optimized for processing CoordinateSequences
+ int n = pts.size();
+ if (n <= 1)
+ return 0.0;
+
+ double len = 0.0;
+
+ Coordinate p = new Coordinate();
+ pts.getCoordinate(0, p);
+ double x0 = p.x;
+ double y0 = p.y;
+
+ for (int i = 1; i < n; i++) {
+ pts.getCoordinate(i, p);
+ double x1 = p.x;
+ double y1 = p.y;
+ double dx = x1 - x0;
+ double dy = y1 - y0;
+
+ len += Math.sqrt(dx * dx + dy * dy);
+
+ x0 = x1;
+ y0 = y1;
+ }
+ return len;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms3D.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms3D.java
new file mode 100644
index 0000000..898709c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithms3D.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.math.Vector3D;
+
+/**
+ * Basic computational geometry algorithms
+ * for geometry and coordinates defined in 3-dimensional Cartesian space.
+ *
+ * @author mdavis
+ *
+ */
+public class CGAlgorithms3D
+{
+ private CGAlgorithms3D() {}
+
+ public static double distance(Coordinate p0, Coordinate p1)
+ {
+ // default to 2D distance if either Z is not set
+ if (Double.isNaN(p0.z) || Double.isNaN(p1.z))
+ return p0.distance(p1);
+
+ double dx = p0.x - p1.x;
+ double dy = p0.y - p1.y;
+ double dz = p0.z - p1.z;
+ return Math.sqrt(dx * dx + dy * dy + dz * dz);
+ }
+
+ public static double distancePointSegment(Coordinate p,
+ Coordinate A, Coordinate B) {
+ // if start = end, then just compute distance to one of the endpoints
+ if (A.equals3D(B))
+ return distance(p, A);
+
+ // otherwise use comp.graphics.algorithms Frequently Asked Questions method
+ /*
+ * (1) r = AC dot AB
+ * ---------
+ * ||AB||^2
+ *
+ * r has the following meaning:
+ * r=0 P = A
+ * r=1 P = B
+ * r<0 P is on the backward extension of AB
+ * r>1 P is on the forward extension of AB
+ * 0<r<1 P is interior to AB
+ */
+
+ double len2 = (B.x - A.x) * (B.x - A.x) + (B.y - A.y) * (B.y - A.y) + (B.z - A.z) * (B.z - A.z);
+ if (Double.isNaN(len2))
+ throw new IllegalArgumentException("Ordinates must not be NaN");
+ double r = ((p.x - A.x) * (B.x - A.x) + (p.y - A.y) * (B.y - A.y) + (p.z - A.z) * (B.z - A.z))
+ / len2;
+
+ if (r <= 0.0)
+ return distance(p, A);
+ if (r >= 1.0)
+ return distance(p, B);
+
+ // compute closest point q on line segment
+ double qx = A.x + r * (B.x - A.x);
+ double qy = A.y + r * (B.y - A.y);
+ double qz = A.z + r * (B.z - A.z);
+ // result is distance from p to q
+ double dx = p.x - qx;
+ double dy = p.y - qy;
+ double dz = p.z - qz;
+ return Math.sqrt(dx*dx + dy*dy + dz*dz);
+ }
+
+
+ /**
+ * Computes the distance between two 3D segments.
+ *
+ * @param A the start point of the first segment
+ * @param B the end point of the first segment
+ * @param C the start point of the second segment
+ * @param D the end point of the second segment
+ * @return the distance between the segments
+ */
+ public static double distanceSegmentSegment(
+ Coordinate A, Coordinate B, Coordinate C, Coordinate D)
+ {
+ /**
+ * This calculation is susceptible to roundoff errors when
+ * passed large ordinate values.
+ * It may be possible to improve this by using {@link DD} arithmetic.
+ */
+ if (A.equals3D(B))
+ return distancePointSegment(A, C, D);
+ if (C.equals3D(B))
+ return distancePointSegment(C, A, B);
+
+ /**
+ * Algorithm derived from http://softsurfer.com/Archive/algorithm_0106/algorithm_0106.htm
+ */
+ double a = Vector3D.dot(A, B, A, B);
+ double b = Vector3D.dot(A, B, C, D);
+ double c = Vector3D.dot(C, D, C, D);
+ double d = Vector3D.dot(A, B, C, A);
+ double e = Vector3D.dot(C, D, C, A);
+
+ double denom = a*c - b*b;
+ if (Double.isNaN(denom))
+ throw new IllegalArgumentException("Ordinates must not be NaN");
+
+ double s;
+ double t;
+ if (denom <= 0.0) {
+ /**
+ * The lines are parallel.
+ * In this case solve for the parameters s and t by assuming s is 0.
+ */
+ s = 0;
+ // choose largest denominator for optimal numeric conditioning
+ if (b > c)
+ t = d/b;
+ else
+ t = e/c;
+ }
+ else {
+ s = (b*e - c*d) / denom;
+ t = (a*e - b*d) / denom;
+ }
+ if (s < 0)
+ return distancePointSegment(A, C, D);
+ else if (s > 1)
+ return distancePointSegment(B, C, D);
+ else if (t < 0)
+ return distancePointSegment(C, A, B);
+ else if(t > 1) {
+ return distancePointSegment(D, A, B);
+ }
+ /**
+ * The closest points are in interiors of segments,
+ * so compute them directly
+ */
+ double x1 = A.x + s * (B.x - A.x);
+ double y1 = A.y + s * (B.y - A.y);
+ double z1 = A.z + s * (B.z - A.z);
+
+ double x2 = C.x + t * (D.x - C.x);
+ double y2 = C.y + t * (D.y - C.y);
+ double z2 = C.z + t * (D.z - C.z);
+
+ // length (p1-p2)
+ return distance(new Coordinate(x1, y1, z1), new Coordinate(x2, y2, z2));
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithmsDD.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithmsDD.java
new file mode 100644
index 0000000..a71357f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/CGAlgorithmsDD.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.math.DD;
+
+/**
+ * Implements basic computational geometry algorithms using {@link DD} arithmetic.
+ *
+ * @author Martin Davis
+ *
+ */
+public class CGAlgorithmsDD
+{
+ private CGAlgorithmsDD() {}
+
+ /**
+ * Returns the index of the direction of the point <code>q</code> relative to
+ * a vector specified by <code>p1-p2</code>.
+ *
+ * @param p1 the origin point of the vector
+ * @param p2 the final point of the vector
+ * @param q the point to compute the direction to
+ *
+ * @return 1 if q is counter-clockwise (left) from p1-p2
+ * @return -1 if q is clockwise (right) from p1-p2
+ * @return 0 if q is collinear with p1-p2
+ */
+ public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ // fast filter for orientation index
+ // avoids use of slow extended-precision arithmetic in many cases
+ int index = orientationIndexFilter(p1, p2, q);
+ if (index <= 1) return index;
+
+ // normalize coordinates
+ DD dx1 = DD.valueOf(p2.x).selfAdd(-p1.x);
+ DD dy1 = DD.valueOf(p2.y).selfAdd(-p1.y);
+ DD dx2 = DD.valueOf(q.x).selfAdd(-p2.x);
+ DD dy2 = DD.valueOf(q.y).selfAdd(-p2.y);
+
+ // sign of determinant - unrolled for performance
+ return dx1.selfMultiply(dy2).selfSubtract(dy1.selfMultiply(dx2)).signum();
+ }
+
+ /**
+ * Computes the sign of the determinant of the 2x2 matrix
+ * with the given entries.
+ *
+ * @return -1 if the determinant is negative,
+ * @return 1 if the determinant is positive,
+ * @return 0 if the determinant is 0.
+ */
+ public static int signOfDet2x2(DD x1, DD y1, DD x2, DD y2)
+ {
+ DD det = x1.multiply(y2).selfSubtract(y1.multiply(x2));
+ return det.signum();
+ }
+
+ /**
+ * Computes the sign of the determinant of the 2x2 matrix
+ * with the given entries.
+ *
+ * @return -1 if the determinant is negative,
+ * @return 1 if the determinant is positive,
+ * @return 0 if the determinant is 0.
+ */
+ public static int signOfDet2x2(double dx1, double dy1, double dx2, double dy2)
+ {
+ DD x1 = DD.valueOf(dx1);
+ DD y1 = DD.valueOf(dy1);
+ DD x2 = DD.valueOf(dx2);
+ DD y2 = DD.valueOf(dy2);
+
+ DD det = x1.multiply(y2).selfSubtract(y1.multiply(x2));
+ return det.signum();
+ }
+
+ /**
+ * A value which is safely greater than the
+ * relative round-off error in double-precision numbers
+ */
+ private static final double DP_SAFE_EPSILON = 1e-15;
+
+ /**
+ * A filter for computing the orientation index of three coordinates.
+ * <p>
+ * If the orientation can be computed safely using standard DP
+ * arithmetic, this routine returns the orientation index.
+ * Otherwise, a value i > 1 is returned.
+ * In this case the orientation index must
+ * be computed using some other more robust method.
+ * The filter is fast to compute, so can be used to
+ * avoid the use of slower robust methods except when they are really needed,
+ * thus providing better average performance.
+ * <p>
+ * Uses an approach due to Jonathan Shewchuk, which is in the public domain.
+ *
+ * @param pa a coordinate
+ * @param pb a coordinate
+ * @param pc a coordinate
+ * @return the orientation index if it can be computed safely
+ * @return i > 1 if the orientation index cannot be computed safely
+ */
+ private static int orientationIndexFilter(Coordinate pa, Coordinate pb, Coordinate pc)
+ {
+ double detsum;
+
+ double detleft = (pa.x - pc.x) * (pb.y - pc.y);
+ double detright = (pa.y - pc.y) * (pb.x - pc.x);
+ double det = detleft - detright;
+
+ if (detleft > 0.0) {
+ if (detright <= 0.0) {
+ return signum(det);
+ }
+ else {
+ detsum = detleft + detright;
+ }
+ }
+ else if (detleft < 0.0) {
+ if (detright >= 0.0) {
+ return signum(det);
+ }
+ else {
+ detsum = -detleft - detright;
+ }
+ }
+ else {
+ return signum(det);
+ }
+
+ double errbound = DP_SAFE_EPSILON * detsum;
+ if ((det >= errbound) || (-det >= errbound)) {
+ return signum(det);
+ }
+
+ return 2;
+ }
+
+ private static int signum(double x)
+ {
+ if (x > 0) return 1;
+ if (x < 0) return -1;
+ return 0;
+ }
+
+ /**
+ * Computes an intersection point between two lines
+ * using DD arithmetic.
+ * Currently does not handle case of parallel lines.
+ *
+ * @param p1
+ * @param p2
+ * @param q1
+ * @param q2
+ * @return
+ */
+ public static Coordinate intersection(
+ Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2)
+ {
+ DD denom1 = DD.valueOf(q2.y).selfSubtract(q1.y)
+ .selfMultiply(DD.valueOf(p2.x).selfSubtract(p1.x));
+ DD denom2 = DD.valueOf(q2.x).selfSubtract(q1.x)
+ .selfMultiply(DD.valueOf(p2.y).selfSubtract(p1.y));
+ DD denom = denom1.subtract(denom2);
+
+ /**
+ * Cases:
+ * - denom is 0 if lines are parallel
+ * - intersection point lies within line segment p if fracP is between 0 and 1
+ * - intersection point lies within line segment q if fracQ is between 0 and 1
+ */
+
+ DD numx1 = DD.valueOf(q2.x).selfSubtract(q1.x)
+ .selfMultiply(DD.valueOf(p1.y).selfSubtract(q1.y));
+ DD numx2 = DD.valueOf(q2.y).selfSubtract(q1.y)
+ .selfMultiply(DD.valueOf(p1.x).selfSubtract(q1.x));
+ DD numx = numx1.subtract(numx2);
+ double fracP = numx.selfDivide(denom).doubleValue();
+
+ double x = DD.valueOf(p1.x).selfAdd(DD.valueOf(p2.x).selfSubtract(p1.x).selfMultiply(fracP)).doubleValue();
+
+ DD numy1 = DD.valueOf(p2.x).selfSubtract(p1.x)
+ .selfMultiply(DD.valueOf(p1.y).selfSubtract(q1.y));
+ DD numy2 = DD.valueOf(p2.y).selfSubtract(p1.y)
+ .selfMultiply(DD.valueOf(p1.x).selfSubtract(q1.x));
+ DD numy = numy1.subtract(numy2);
+ double fracQ = numy.selfDivide(denom).doubleValue();
+
+ double y = DD.valueOf(q1.y).selfAdd(DD.valueOf(q2.y).selfSubtract(q1.y).selfMultiply(fracQ)).doubleValue();
+
+ return new Coordinate(x,y);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Centroid.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Centroid.java
new file mode 100644
index 0000000..d8aa855
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Centroid.java
@@ -0,0 +1,256 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes the centroid of a {@link Geometry} of any dimension.
+ * If the geometry is nominally of higher dimension,
+ * but has lower <i>effective</i> dimension
+ * (i.e. contains only components
+ * having zero length or area),
+ * the centroid will be computed as for the equivalent lower-dimension geometry.
+ * If the input geometry is empty, a
+ * <code>null</code> Coordinate is returned.
+ *
+ * <h2>Algorithm</h2>
+ * <ul>
+ * <li><b>Dimension 2</b> - the centroid is computed
+ * as the weighted sum of the centroids
+ * of a decomposition of the area into (possibly overlapping) triangles.
+ * Holes and multipolygons are handled correctly.
+ * See <code>http://www.faqs.org/faqs/graphics/algorithms-faq/</code>
+ * for further details of the basic approach.
+ *
+ * <li><b>Dimension 1</b> - Computes the average of the midpoints
+ * of all line segments weighted by the segment length.
+ * Zero-length lines are treated as points.
+ *
+ * <li><b>Dimension 0</b> - Compute the average coordinate for all points.
+ * Repeated points are all included in the average.
+ * </ul>
+ *
+ * @version 1.7
+ */
+public class Centroid
+{
+ /**
+ * Computes the centroid point of a geometry.
+ *
+ * @param geom the geometry to use
+ * @return the centroid point, or null if the geometry is empty
+ */
+ public static Coordinate getCentroid(Geometry geom)
+ {
+ Centroid cent = new Centroid(geom);
+ return cent.getCentroid();
+ }
+
+ private Coordinate areaBasePt = null;// the point all triangles are based at
+ private Coordinate triangleCent3 = new Coordinate();// temporary variable to hold centroid of triangle
+ private double areasum2 = 0; /* Partial area sum */
+ private Coordinate cg3 = new Coordinate(); // partial centroid sum
+
+ // data for linear centroid computation, if needed
+ private Coordinate lineCentSum = new Coordinate();
+ private double totalLength = 0.0;
+
+ private int ptCount = 0;
+ private Coordinate ptCentSum = new Coordinate();
+
+ /**
+ * Creates a new instance for computing the centroid of a geometry
+ */
+ public Centroid(Geometry geom)
+ {
+ areaBasePt = null;
+ add(geom);
+ }
+
+ /**
+ * Adds a Geometry to the centroid total.
+ *
+ * @param geom the geometry to add
+ */
+ private void add(Geometry geom)
+ {
+ if (geom.isEmpty())
+ return;
+ if (geom instanceof Point) {
+ addPoint(geom.getCoordinate());
+ }
+ else if (geom instanceof LineString) {
+ addLineSegments(geom.getCoordinates());
+ }
+ else if (geom instanceof Polygon) {
+ Polygon poly = (Polygon) geom;
+ add(poly);
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ add(gc.getGeometryN(i));
+ }
+ }
+ }
+
+ /**
+ * Gets the computed centroid.
+ *
+ * @return the computed centroid, or null if the input is empty
+ */
+ public Coordinate getCentroid()
+ {
+ /**
+ * The centroid is computed from the highest dimension components present in the input.
+ * I.e. areas dominate lineal geometry, which dominates points.
+ * Degenerate geometry are computed using their effective dimension
+ * (e.g. areas may degenerate to lines or points)
+ */
+ Coordinate cent = new Coordinate();
+ if (Math.abs(areasum2) > 0.0) {
+ /**
+ * Input contains areal geometry
+ */
+ cent.x = cg3.x / 3 / areasum2;
+ cent.y = cg3.y / 3 / areasum2;
+ }
+ else if (totalLength > 0.0) {
+ /**
+ * Input contains lineal geometry
+ */
+ cent.x = lineCentSum.x / totalLength;
+ cent.y = lineCentSum.y / totalLength;
+ }
+ else if (ptCount > 0){
+ /**
+ * Input contains puntal geometry only
+ */
+ cent.x = ptCentSum.x / ptCount;
+ cent.y = ptCentSum.y / ptCount;
+ }
+ else {
+ return null;
+ }
+ return cent;
+ }
+
+ private void setAreaBasePoint(Coordinate basePt)
+ {
+ this.areaBasePt = basePt;
+ }
+
+ private void add(Polygon poly)
+ {
+ addShell(poly.getExteriorRing().getCoordinates());
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ addHole(poly.getInteriorRingN(i).getCoordinates());
+ }
+ }
+
+ private void addShell(Coordinate[] pts)
+ {
+ if (pts.length > 0)
+ setAreaBasePoint(pts[0]);
+ boolean isPositiveArea = ! Orientation.isCCW(pts);
+ for (int i = 0; i < pts.length - 1; i++) {
+ addTriangle(areaBasePt, pts[i], pts[i+1], isPositiveArea);
+ }
+ addLineSegments(pts);
+ }
+
+ private void addHole(Coordinate[] pts)
+ {
+ boolean isPositiveArea = Orientation.isCCW(pts);
+ for (int i = 0; i < pts.length - 1; i++) {
+ addTriangle(areaBasePt, pts[i], pts[i+1], isPositiveArea);
+ }
+ addLineSegments(pts);
+ }
+ private void addTriangle(Coordinate p0, Coordinate p1, Coordinate p2, boolean isPositiveArea)
+ {
+ double sign = (isPositiveArea) ? 1.0 : -1.0;
+ centroid3( p0, p1, p2, triangleCent3 );
+ double area2 = area2( p0, p1, p2 );
+ cg3.x += sign * area2 * triangleCent3.x;
+ cg3.y += sign * area2 * triangleCent3.y;
+ areasum2 += sign * area2;
+ }
+ /**
+ * Computes three times the centroid of the triangle p1-p2-p3.
+ * The factor of 3 is
+ * left in to permit division to be avoided until later.
+ */
+ private static void centroid3( Coordinate p1, Coordinate p2, Coordinate p3, Coordinate c )
+ {
+ c.x = p1.x + p2.x + p3.x;
+ c.y = p1.y + p2.y + p3.y;
+ return;
+ }
+
+ /**
+ * Returns twice the signed area of the triangle p1-p2-p3.
+ * The area is positive if the triangle is oriented CCW, and negative if CW.
+ */
+ private static double area2( Coordinate p1, Coordinate p2, Coordinate p3 )
+ {
+ return
+ (p2.x - p1.x) * (p3.y - p1.y) -
+ (p3.x - p1.x) * (p2.y - p1.y);
+ }
+
+ /**
+ * Adds the line segments defined by an array of coordinates
+ * to the linear centroid accumulators.
+ *
+ * @param pts an array of {@link Coordinate}s
+ */
+ private void addLineSegments(Coordinate[] pts)
+ {
+ double lineLen = 0.0;
+ for (int i = 0; i < pts.length - 1; i++) {
+ double segmentLen = pts[i].distance(pts[i + 1]);
+ if (segmentLen == 0.0)
+ continue;
+
+ lineLen += segmentLen;
+
+ double midx = (pts[i].x + pts[i + 1].x) / 2;
+ lineCentSum.x += segmentLen * midx;
+ double midy = (pts[i].y + pts[i + 1].y) / 2;
+ lineCentSum.y += segmentLen * midy;
+ }
+ totalLength += lineLen;
+ if (lineLen == 0.0 && pts.length > 0)
+ addPoint(pts[0]);
+ }
+
+ /**
+ * Adds a point to the point centroid accumulator.
+ * @param pt a {@link Coordinate}
+ */
+ private void addPoint(Coordinate pt)
+ {
+ ptCount += 1;
+ ptCentSum.x += pt.x;
+ ptCentSum.y += pt.y;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/ConvexHull.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/ConvexHull.java
new file mode 100644
index 0000000..5a17155
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/ConvexHull.java
@@ -0,0 +1,509 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Stack;
+import java.util.TreeSet;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jts.util.UniqueCoordinateArrayFilter;
+
+/**
+ * Computes the convex hull of a {@link Geometry}.
+ * The convex hull is the smallest convex Geometry that contains all the
+ * points in the input Geometry.
+ * <p>
+ * Uses the Graham Scan algorithm.
+ *
+ *@version 1.7
+ */
+public class ConvexHull
+{
+ private GeometryFactory geomFactory;
+ private Coordinate[] inputPts;
+
+ /**
+ * Create a new convex hull construction for the input {@link Geometry}.
+ */
+ public ConvexHull(Geometry geometry)
+ {
+ this(extractCoordinates(geometry), geometry.getFactory());
+ }
+ /**
+ * Create a new convex hull construction for the input {@link Coordinate} array.
+ */
+ public ConvexHull(Coordinate[] pts, GeometryFactory geomFactory)
+ {
+ inputPts = UniqueCoordinateArrayFilter.filterCoordinates(pts);
+ //inputPts = pts;
+ this.geomFactory = geomFactory;
+ }
+
+ private static Coordinate[] extractCoordinates(Geometry geom)
+ {
+ UniqueCoordinateArrayFilter filter = new UniqueCoordinateArrayFilter();
+ geom.apply(filter);
+ return filter.getCoordinates();
+ }
+
+ /**
+ * Returns a {@link Geometry} that represents the convex hull of the input
+ * geometry.
+ * The returned geometry contains the minimal number of points needed to
+ * represent the convex hull. In particular, no more than two consecutive
+ * points will be collinear.
+ *
+ * @return if the convex hull contains 3 or more points, a {@link Polygon};
+ * 2 points, a {@link LineString};
+ * 1 point, a {@link Point};
+ * 0 points, an empty {@link GeometryCollection}.
+ */
+ public Geometry getConvexHull() {
+
+ if (inputPts.length == 0) {
+ return geomFactory.createGeometryCollection();
+ }
+ if (inputPts.length == 1) {
+ return geomFactory.createPoint(inputPts[0]);
+ }
+ if (inputPts.length == 2) {
+ return geomFactory.createLineString(inputPts);
+ }
+
+ Coordinate[] reducedPts = inputPts;
+ // use heuristic to reduce points, if large
+ if (inputPts.length > 50) {
+ reducedPts = reduce(inputPts);
+ }
+ // sort points for Graham scan.
+ Coordinate[] sortedPts = preSort(reducedPts);
+
+ // Use Graham scan to find convex hull.
+ Stack cHS = grahamScan(sortedPts);
+
+ // Convert stack to an array.
+ Coordinate[] cH = toCoordinateArray(cHS);
+
+ // Convert array to appropriate output geometry.
+ return lineOrPolygon(cH);
+ }
+
+ /**
+ * An alternative to Stack.toArray, which is not present in earlier versions
+ * of Java.
+ */
+ protected Coordinate[] toCoordinateArray(Stack stack) {
+ Coordinate[] coordinates = new Coordinate[stack.size()];
+ for (int i = 0; i < stack.size(); i++) {
+ Coordinate coordinate = (Coordinate) stack.get(i);
+ coordinates[i] = coordinate;
+ }
+ return coordinates;
+ }
+
+ /**
+ * Uses a heuristic to reduce the number of points scanned
+ * to compute the hull.
+ * The heuristic is to find a polygon guaranteed to
+ * be in (or on) the hull, and eliminate all points inside it.
+ * A quadrilateral defined by the extremal points
+ * in the four orthogonal directions
+ * can be used, but even more inclusive is
+ * to use an octilateral defined by the points in the 8 cardinal directions.
+ * <p>
+ * Note that even if the method used to determine the polygon vertices
+ * is not 100% robust, this does not affect the robustness of the convex hull.
+ * <p>
+ * To satisfy the requirements of the Graham Scan algorithm,
+ * the returned array has at least 3 entries.
+ *
+ * @param pts the points to reduce
+ * @return the reduced list of points (at least 3)
+ */
+ private Coordinate[] reduce(Coordinate[] inputPts)
+ {
+ //Coordinate[] polyPts = computeQuad(inputPts);
+ Coordinate[] polyPts = computeOctRing(inputPts);
+ //Coordinate[] polyPts = null;
+
+ // unable to compute interior polygon for some reason
+ if (polyPts == null)
+ return inputPts;
+
+// LinearRing ring = geomFactory.createLinearRing(polyPts);
+// System.out.println(ring);
+
+ // add points defining polygon
+ TreeSet reducedSet = new TreeSet();
+ for (int i = 0; i < polyPts.length; i++) {
+ reducedSet.add(polyPts[i]);
+ }
+ /**
+ * Add all unique points not in the interior poly.
+ * CGAlgorithms.isPointInRing is not defined for points actually on the ring,
+ * but this doesn't matter since the points of the interior polygon
+ * are forced to be in the reduced set.
+ */
+ for (int i = 0; i < inputPts.length; i++) {
+ if (! PointLocation.isInRing(inputPts[i], polyPts)) {
+ reducedSet.add(inputPts[i]);
+ }
+ }
+ Coordinate[] reducedPts = CoordinateArrays.toCoordinateArray(reducedSet);
+
+ // ensure that computed array has at least 3 points (not necessarily unique)
+ if (reducedPts.length < 3)
+ return padArray3(reducedPts);
+ return reducedPts;
+ }
+
+ private Coordinate[] padArray3(Coordinate[] pts)
+ {
+ Coordinate[] pad = new Coordinate[3];
+ for (int i = 0; i < pad.length; i++) {
+ if (i < pts.length) {
+ pad[i] = pts[i];
+ }
+ else
+ pad[i] = pts[0];
+ }
+ return pad;
+ }
+
+ private Coordinate[] preSort(Coordinate[] pts) {
+ Coordinate t;
+
+ // find the lowest point in the set. If two or more points have
+ // the same minimum y coordinate choose the one with the minimu x.
+ // This focal point is put in array location pts[0].
+ for (int i = 1; i < pts.length; i++) {
+ if ((pts[i].y < pts[0].y) || ((pts[i].y == pts[0].y) && (pts[i].x < pts[0].x))) {
+ t = pts[0];
+ pts[0] = pts[i];
+ pts[i] = t;
+ }
+ }
+
+ // sort the points radially around the focal point.
+ Arrays.sort(pts, 1, pts.length, new RadialComparator(pts[0]));
+
+ //radialSort(pts);
+ return pts;
+ }
+
+ /**
+ * Uses the Graham Scan algorithm to compute the convex hull vertices.
+ *
+ * @param c a list of points, with at least 3 entries
+ * @return a Stack containing the ordered points of the convex hull ring
+ */
+ private Stack grahamScan(Coordinate[] c) {
+ Coordinate p;
+ Stack ps = new Stack();
+ ps.push(c[0]);
+ ps.push(c[1]);
+ ps.push(c[2]);
+ for (int i = 3; i < c.length; i++) {
+ p = (Coordinate) ps.pop();
+ // check for empty stack to guard against robustness problems
+ while (
+ ! ps.empty() &&
+ Orientation.index((Coordinate) ps.peek(), p, c[i]) > 0) {
+ p = (Coordinate) ps.pop();
+ }
+ ps.push(p);
+ ps.push(c[i]);
+ }
+ ps.push(c[0]);
+ return ps;
+ }
+
+ /**
+ *@return whether the three coordinates are collinear and c2 lies between
+ * c1 and c3 inclusive
+ */
+ private boolean isBetween(Coordinate c1, Coordinate c2, Coordinate c3) {
+ if (Orientation.index(c1, c2, c3) != 0) {
+ return false;
+ }
+ if (c1.x != c3.x) {
+ if (c1.x <= c2.x && c2.x <= c3.x) {
+ return true;
+ }
+ if (c3.x <= c2.x && c2.x <= c1.x) {
+ return true;
+ }
+ }
+ if (c1.y != c3.y) {
+ if (c1.y <= c2.y && c2.y <= c3.y) {
+ return true;
+ }
+ if (c3.y <= c2.y && c2.y <= c1.y) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private Coordinate[] computeOctRing(Coordinate[] inputPts) {
+ Coordinate[] octPts = computeOctPts(inputPts);
+ CoordinateList coordList = new CoordinateList();
+ coordList.add(octPts, false);
+
+ // points must all lie in a line
+ if (coordList.size() < 3) {
+ return null;
+ }
+ coordList.closeRing();
+ return coordList.toCoordinateArray();
+ }
+
+ private Coordinate[] computeOctPts(Coordinate[] inputPts)
+ {
+ Coordinate[] pts = new Coordinate[8];
+ for (int j = 0; j < pts.length; j++) {
+ pts[j] = inputPts[0];
+ }
+ for (int i = 1; i < inputPts.length; i++) {
+ if (inputPts[i].x < pts[0].x) {
+ pts[0] = inputPts[i];
+ }
+ if (inputPts[i].x - inputPts[i].y < pts[1].x - pts[1].y) {
+ pts[1] = inputPts[i];
+ }
+ if (inputPts[i].y > pts[2].y) {
+ pts[2] = inputPts[i];
+ }
+ if (inputPts[i].x + inputPts[i].y > pts[3].x + pts[3].y) {
+ pts[3] = inputPts[i];
+ }
+ if (inputPts[i].x > pts[4].x) {
+ pts[4] = inputPts[i];
+ }
+ if (inputPts[i].x - inputPts[i].y > pts[5].x - pts[5].y) {
+ pts[5] = inputPts[i];
+ }
+ if (inputPts[i].y < pts[6].y) {
+ pts[6] = inputPts[i];
+ }
+ if (inputPts[i].x + inputPts[i].y < pts[7].x + pts[7].y) {
+ pts[7] = inputPts[i];
+ }
+ }
+ return pts;
+
+ }
+
+/*
+ // MD - no longer used, but keep for reference purposes
+ private Coordinate[] computeQuad(Coordinate[] inputPts) {
+ BigQuad bigQuad = bigQuad(inputPts);
+
+ // Build a linear ring defining a big poly.
+ ArrayList bigPoly = new ArrayList();
+ bigPoly.add(bigQuad.westmost);
+ if (! bigPoly.contains(bigQuad.northmost)) {
+ bigPoly.add(bigQuad.northmost);
+ }
+ if (! bigPoly.contains(bigQuad.eastmost)) {
+ bigPoly.add(bigQuad.eastmost);
+ }
+ if (! bigPoly.contains(bigQuad.southmost)) {
+ bigPoly.add(bigQuad.southmost);
+ }
+ // points must all lie in a line
+ if (bigPoly.size() < 3) {
+ return null;
+ }
+ // closing point
+ bigPoly.add(bigQuad.westmost);
+
+ Coordinate[] bigPolyArray = CoordinateArrays.toCoordinateArray(bigPoly);
+
+ return bigPolyArray;
+ }
+
+ private BigQuad bigQuad(Coordinate[] pts) {
+ BigQuad bigQuad = new BigQuad();
+ bigQuad.northmost = pts[0];
+ bigQuad.southmost = pts[0];
+ bigQuad.westmost = pts[0];
+ bigQuad.eastmost = pts[0];
+ for (int i = 1; i < pts.length; i++) {
+ if (pts[i].x < bigQuad.westmost.x) {
+ bigQuad.westmost = pts[i];
+ }
+ if (pts[i].x > bigQuad.eastmost.x) {
+ bigQuad.eastmost = pts[i];
+ }
+ if (pts[i].y < bigQuad.southmost.y) {
+ bigQuad.southmost = pts[i];
+ }
+ if (pts[i].y > bigQuad.northmost.y) {
+ bigQuad.northmost = pts[i];
+ }
+ }
+ return bigQuad;
+ }
+
+ private static class BigQuad {
+ public Coordinate northmost;
+ public Coordinate southmost;
+ public Coordinate westmost;
+ public Coordinate eastmost;
+ }
+ */
+
+ /**
+ *@param vertices the vertices of a linear ring, which may or may not be
+ * flattened (i.e. vertices collinear)
+ *@return a 2-vertex <code>LineString</code> if the vertices are
+ * collinear; otherwise, a <code>Polygon</code> with unnecessary
+ * (collinear) vertices removed
+ */
+ private Geometry lineOrPolygon(Coordinate[] coordinates) {
+
+ coordinates = cleanRing(coordinates);
+ if (coordinates.length == 3) {
+ return geomFactory.createLineString(new Coordinate[]{coordinates[0], coordinates[1]});
+// return new LineString(new Coordinate[]{coordinates[0], coordinates[1]},
+// geometry.getPrecisionModel(), geometry.getSRID());
+ }
+ LinearRing linearRing = geomFactory.createLinearRing(coordinates);
+ return geomFactory.createPolygon(linearRing);
+ }
+
+ /**
+ *@param vertices the vertices of a linear ring, which may or may not be
+ * flattened (i.e. vertices collinear)
+ *@return the coordinates with unnecessary (collinear) vertices
+ * removed
+ */
+ private Coordinate[] cleanRing(Coordinate[] original) {
+ Assert.equals(original[0], original[original.length - 1]);
+ ArrayList cleanedRing = new ArrayList();
+ Coordinate previousDistinctCoordinate = null;
+ for (int i = 0; i <= original.length - 2; i++) {
+ Coordinate currentCoordinate = original[i];
+ Coordinate nextCoordinate = original[i+1];
+ if (currentCoordinate.equals(nextCoordinate)) {
+ continue;
+ }
+ if (previousDistinctCoordinate != null
+ && isBetween(previousDistinctCoordinate, currentCoordinate, nextCoordinate)) {
+ continue;
+ }
+ cleanedRing.add(currentCoordinate);
+ previousDistinctCoordinate = currentCoordinate;
+ }
+ cleanedRing.add(original[original.length - 1]);
+ Coordinate[] cleanedRingCoordinates = new Coordinate[cleanedRing.size()];
+ return (Coordinate[]) cleanedRing.toArray(cleanedRingCoordinates);
+ }
+
+
+ /**
+ * Compares {@link Coordinate}s for their angle and distance
+ * relative to an origin.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+ private static class RadialComparator
+ implements Comparator
+ {
+ private Coordinate origin;
+
+ public RadialComparator(Coordinate origin)
+ {
+ this.origin = origin;
+ }
+ public int compare(Object o1, Object o2)
+ {
+ Coordinate p1 = (Coordinate) o1;
+ Coordinate p2 = (Coordinate) o2;
+ return polarCompare(origin, p1, p2);
+ }
+
+ /**
+ * Given two points p and q compare them with respect to their radial
+ * ordering about point o. First checks radial ordering.
+ * If points are collinear, the comparison is based
+ * on their distance to the origin.
+ * <p>
+ * p < q iff
+ * <ul>
+ * <li>ang(o-p) < ang(o-q) (e.g. o-p-q is CCW)
+ * <li>or ang(o-p) == ang(o-q) && dist(o,p) < dist(o,q)
+ * </ul>
+ *
+ * @param o the origin
+ * @param p a point
+ * @param q another point
+ * @return -1, 0 or 1 depending on whether p is less than,
+ * equal to or greater than q
+ */
+ private static int polarCompare(Coordinate o, Coordinate p, Coordinate q)
+ {
+ double dxp = p.x - o.x;
+ double dyp = p.y - o.y;
+ double dxq = q.x - o.x;
+ double dyq = q.y - o.y;
+
+/*
+ // MD - non-robust
+ int result = 0;
+ double alph = Math.atan2(dxp, dyp);
+ double beta = Math.atan2(dxq, dyq);
+ if (alph < beta) {
+ result = -1;
+ }
+ if (alph > beta) {
+ result = 1;
+ }
+ if (result != 0) return result;
+ //*/
+
+ int orient = Orientation.index(o, p, q);
+
+ if (orient == Orientation.COUNTERCLOCKWISE) return 1;
+ if (orient == Orientation.CLOCKWISE) return -1;
+
+ // points are collinear - check distance
+ double op = dxp * dxp + dyp * dyp;
+ double oq = dxq * dxq + dyq * dyq;
+ if (op < oq) {
+ return -1;
+ }
+ if (op > oq) {
+ return 1;
+ }
+ return 0;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Distance.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Distance.java
new file mode 100644
index 0000000..bdc7709
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Distance.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.math.MathUtil;
+
+/**
+ * Functions to compute distance between basic geometric structures.
+ *
+ * @author Martin Davis
+ *
+ */
+public class Distance {
+
+ /**
+ * Computes the distance from a line segment AB to a line segment CD
+ *
+ * Note: NON-ROBUST!
+ *
+ * @param A
+ * a point of one line
+ * @param B
+ * the second point of (must be different to A)
+ * @param C
+ * one point of the line
+ * @param D
+ * another point of the line (must be different to A)
+ */
+ public static double segmentToSegment(Coordinate A, Coordinate B,
+ Coordinate C, Coordinate D)
+ {
+ // check for zero-length segments
+ if (A.equals(B))
+ return Distance.pointToSegment(A, C, D);
+ if (C.equals(D))
+ return Distance.pointToSegment(D, A, B);
+
+ // AB and CD are line segments
+ /*
+ * from comp.graphics.algo
+ *
+ * Solving the above for r and s yields
+ *
+ * (Ay-Cy)(Dx-Cx)-(Ax-Cx)(Dy-Cy)
+ * r = ----------------------------- (eqn 1)
+ * (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx)
+ *
+ * (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * s = ----------------------------- (eqn 2)
+ * (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx)
+ *
+ * Let P be the position vector of the
+ * intersection point, then
+ * P=A+r(B-A) or
+ * Px=Ax+r(Bx-Ax)
+ * Py=Ay+r(By-Ay)
+ * By examining the values of r & s, you can also determine some other limiting
+ * conditions:
+ * If 0<=r<=1 & 0<=s<=1, intersection exists
+ * r<0 or r>1 or s<0 or s>1 line segments do not intersect
+ * If the denominator in eqn 1 is zero, AB & CD are parallel
+ * If the numerator in eqn 1 is also zero, AB & CD are collinear.
+ */
+
+ boolean noIntersection = false;
+ if (! Envelope.intersects(A, B, C, D)) {
+ noIntersection = true;
+ }
+ else {
+ double denom = (B.x - A.x) * (D.y - C.y) - (B.y - A.y) * (D.x - C.x);
+
+ if (denom == 0) {
+ noIntersection = true;
+ }
+ else {
+ double r_num = (A.y - C.y) * (D.x - C.x) - (A.x - C.x) * (D.y - C.y);
+ double s_num = (A.y - C.y) * (B.x - A.x) - (A.x - C.x) * (B.y - A.y);
+
+ double s = s_num / denom;
+ double r = r_num / denom;
+
+ if ((r < 0) || (r > 1) || (s < 0) || (s > 1)) {
+ noIntersection = true;
+ }
+ }
+ }
+ if (noIntersection) {
+ return MathUtil.min(
+ Distance.pointToSegment(A, C, D),
+ Distance.pointToSegment(B, C, D),
+ Distance.pointToSegment(C, A, B),
+ Distance.pointToSegment(D, A, B));
+ }
+ // segments intersect
+ return 0.0;
+ }
+
+ /**
+ * Computes the distance from a point to a sequence of line segments.
+ *
+ * @param p
+ * a point
+ * @param line
+ * a sequence of contiguous line segments defined by their vertices
+ * @return the minimum distance between the point and the line segments
+ */
+ public static double pointToSegmentString(Coordinate p, Coordinate[] line)
+ {
+ if (line.length == 0)
+ throw new IllegalArgumentException(
+ "Line array must contain at least one vertex");
+ // this handles the case of length = 1
+ double minDistance = p.distance(line[0]);
+ for (int i = 0; i < line.length - 1; i++) {
+ double dist = Distance.pointToSegment(p, line[i], line[i + 1]);
+ if (dist < minDistance) {
+ minDistance = dist;
+ }
+ }
+ return minDistance;
+ }
+
+ /**
+ * Computes the distance from a point p to a line segment AB
+ *
+ * Note: NON-ROBUST!
+ *
+ * @param p
+ * the point to compute the distance for
+ * @param A
+ * one point of the line
+ * @param B
+ * another point of the line (must be different to A)
+ * @return the distance from p to line segment AB
+ */
+ public static double pointToSegment(Coordinate p, Coordinate A,
+ Coordinate B)
+ {
+ // if start = end, then just compute distance to one of the endpoints
+ if (A.x == B.x && A.y == B.y)
+ return p.distance(A);
+
+ // otherwise use comp.graphics.algorithms Frequently Asked Questions method
+ /*
+ * (1) r = AC dot AB
+ * ---------
+ * ||AB||^2
+ *
+ * r has the following meaning:
+ * r=0 P = A
+ * r=1 P = B
+ * r<0 P is on the backward extension of AB
+ * r>1 P is on the forward extension of AB
+ * 0<r<1 P is interior to AB
+ */
+
+ double len2 = (B.x - A.x) * (B.x - A.x) + (B.y - A.y) * (B.y - A.y);
+ double r = ((p.x - A.x) * (B.x - A.x) + (p.y - A.y) * (B.y - A.y))
+ / len2;
+
+ if (r <= 0.0)
+ return p.distance(A);
+ if (r >= 1.0)
+ return p.distance(B);
+
+ /*
+ * (2) s = (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * -----------------------------
+ * L^2
+ *
+ * Then the distance from C to P = |s|*L.
+ *
+ * This is the same calculation as {@link #distancePointLinePerpendicular}.
+ * Unrolled here for performance.
+ */
+ double s = ((A.y - p.y) * (B.x - A.x) - (A.x - p.x) * (B.y - A.y))
+ / len2;
+ return Math.abs(s) * Math.sqrt(len2);
+ }
+
+ /**
+ * Computes the perpendicular distance from a point p to the (infinite) line
+ * containing the points AB
+ *
+ * @param p
+ * the point to compute the distance for
+ * @param A
+ * one point of the line
+ * @param B
+ * another point of the line (must be different to A)
+ * @return the distance from p to line AB
+ */
+ public static double pointToLinePerpendicular(Coordinate p,
+ Coordinate A, Coordinate B)
+ {
+ // use comp.graphics.algorithms Frequently Asked Questions method
+ /*
+ * (2) s = (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay)
+ * -----------------------------
+ * L^2
+ *
+ * Then the distance from C to P = |s|*L.
+ */
+ double len2 = (B.x - A.x) * (B.x - A.x) + (B.y - A.y) * (B.y - A.y);
+ double s = ((A.y - p.y) * (B.x - A.x) - (A.x - p.x) * (B.y - A.y))
+ / len2;
+
+ return Math.abs(s) * Math.sqrt(len2);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/HCoordinate.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/HCoordinate.java
new file mode 100644
index 0000000..eb0df67
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/HCoordinate.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Represents a homogeneous coordinate in a 2-D coordinate space.
+ * In JTS {@link HCoordinate}s are used as a clean way
+ * of computing intersections between line segments.
+ *
+ * @author David Skea
+ * @version 1.7
+ */
+public class HCoordinate
+{
+
+ /**
+ * Computes the (approximate) intersection point between two line segments
+ * using homogeneous coordinates.
+ * <p>
+ * Note that this algorithm is
+ * not numerically stable; i.e. it can produce intersection points which
+ * lie outside the envelope of the line segments themselves. In order
+ * to increase the precision of the calculation input points should be normalized
+ * before passing them to this routine.
+ */
+ public static Coordinate intersection(
+ Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2)
+ throws NotRepresentableException
+ {
+ // unrolled computation
+ double px = p1.y - p2.y;
+ double py = p2.x - p1.x;
+ double pw = p1.x * p2.y - p2.x * p1.y;
+
+ double qx = q1.y - q2.y;
+ double qy = q2.x - q1.x;
+ double qw = q1.x * q2.y - q2.x * q1.y;
+
+ double x = py * qw - qy * pw;
+ double y = qx * pw - px * qw;
+ double w = px * qy - qx * py;
+
+ double xInt = x/w;
+ double yInt = y/w;
+
+ if ((Double.isNaN(xInt)) || (Double.isInfinite(xInt)
+ || Double.isNaN(yInt)) || (Double.isInfinite(yInt))) {
+ throw new NotRepresentableException();
+ }
+
+ return new Coordinate(xInt, yInt);
+ }
+
+ /*
+ public static Coordinate OLDintersection(
+ Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2)
+ throws NotRepresentableException
+ {
+ HCoordinate l1 = new HCoordinate(p1, p2);
+ HCoordinate l2 = new HCoordinate(q1, q2);
+ HCoordinate intHCoord = new HCoordinate(l1, l2);
+ Coordinate intPt = intHCoord.getCoordinate();
+ return intPt;
+ }
+ */
+
+ public double x,y,w;
+
+ public HCoordinate() {
+ x = 0.0;
+ y = 0.0;
+ w = 1.0;
+ }
+
+ public HCoordinate(double _x, double _y, double _w) {
+ x = _x;
+ y = _y;
+ w = _w;
+ }
+
+ public HCoordinate(double _x, double _y) {
+ x = _x;
+ y = _y;
+ w = 1.0;
+ }
+
+ public HCoordinate(Coordinate p) {
+ x = p.x;
+ y = p.y;
+ w = 1.0;
+ }
+
+ public HCoordinate(HCoordinate p1, HCoordinate p2)
+ {
+ x = p1.y * p2.w - p2.y * p1.w;
+ y = p2.x * p1.w - p1.x * p2.w;
+ w = p1.x * p2.y - p2.x * p1.y;
+ }
+
+ /**
+ * Constructs a homogeneous coordinate which is the intersection of the lines
+ * define by the homogenous coordinates represented by two
+ * {@link Coordinate}s.
+ *
+ * @param p1
+ * @param p2
+ */
+ public HCoordinate(Coordinate p1, Coordinate p2)
+ {
+ // optimization when it is known that w = 1
+ x = p1.y - p2.y;
+ y = p2.x - p1.x;
+ w = p1.x * p2.y - p2.x * p1.y;
+ }
+
+ public HCoordinate(Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2)
+ {
+ // unrolled computation
+ double px = p1.y - p2.y;
+ double py = p2.x - p1.x;
+ double pw = p1.x * p2.y - p2.x * p1.y;
+
+ double qx = q1.y - q2.y;
+ double qy = q2.x - q1.x;
+ double qw = q1.x * q2.y - q2.x * q1.y;
+
+ x = py * qw - qy * pw;
+ y = qx * pw - px * qw;
+ w = px * qy - qx * py;
+ }
+
+ public double getX() throws NotRepresentableException {
+ double a = x/w;
+ if ((Double.isNaN(a)) || (Double.isInfinite(a))) {
+ throw new NotRepresentableException();
+ }
+ return a;
+ }
+
+ public double getY() throws NotRepresentableException {
+ double a = y/w;
+ if ((Double.isNaN(a)) || (Double.isInfinite(a))) {
+ throw new NotRepresentableException();
+ }
+ return a;
+ }
+
+ public Coordinate getCoordinate() throws NotRepresentableException {
+ Coordinate p = new Coordinate();
+ p.x = getX();
+ p.y = getY();
+ return p;
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointArea.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointArea.java
new file mode 100644
index 0000000..72f813a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointArea.java
@@ -0,0 +1,246 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes a point in the interior of an areal geometry.
+ *
+ * <h2>Algorithm</h2>
+ * <ul>
+ * <li>Find a Y value which is close to the centre of
+ * the geometry's vertical extent but is different
+ * to any of it's Y ordinates.
+ * <li>Create a horizontal bisector line using the Y value
+ * and the geometry's horizontal extent
+ * <li>Find the intersection between the geometry
+ * and the horizontal bisector line.
+ * The intersection is a collection of lines and points.
+ * <li>Pick the midpoint of the largest intersection geometry
+ * </ul>
+ *
+ * <h3>KNOWN BUGS</h3>
+ * <ul>
+ * <li>If a fixed precision model is used,
+ * in some cases this method may return a point
+ * which does not lie in the interior.
+ * </ul>
+ *
+ * @version 1.7
+ */
+public class InteriorPointArea {
+
+ private static double avg(double a, double b)
+ {
+ return (a + b) / 2.0;
+ }
+
+ private GeometryFactory factory;
+ private Coordinate interiorPoint = null;
+ private double maxWidth = 0.0;
+
+ /**
+ * Creates a new interior point finder
+ * for an areal geometry.
+ *
+ * @param g an areal geometry
+ */
+ public InteriorPointArea(Geometry g)
+ {
+ factory = g.getFactory();
+ add(g);
+ }
+
+ /**
+ * Gets the computed interior point.
+ *
+ * @return the coordinate of an interior point
+ */
+ public Coordinate getInteriorPoint()
+ {
+ return interiorPoint;
+ }
+
+ /**
+ * Tests the interior vertices (if any)
+ * defined by an areal Geometry for the best inside point.
+ * If a component Geometry is not of dimension 2 it is not tested.
+ *
+ * @param geom the geometry to add
+ */
+ private void add(Geometry geom)
+ {
+ if (geom instanceof Polygon) {
+ addPolygon(geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ add(gc.getGeometryN(i));
+ }
+ }
+ }
+
+ /**
+ * Finds an interior point of a Polygon.
+ * @param geometry the geometry to analyze
+ */
+ private void addPolygon(Geometry geometry) {
+ if (geometry.isEmpty())
+ return;
+
+ Coordinate intPt;
+ double width;
+
+ LineString bisector = horizontalBisector(geometry);
+ if (bisector.getLength() == 0.0) {
+ width = 0;
+ intPt = bisector.getCoordinate();
+ }
+ else {
+ Geometry intersections = bisector.intersection(geometry);
+ Geometry widestIntersection = widestGeometry(intersections);
+ width = widestIntersection.getEnvelopeInternal().getWidth();
+ intPt = centre(widestIntersection.getEnvelopeInternal());
+ }
+ if (interiorPoint == null || width > maxWidth) {
+ interiorPoint = intPt;
+ maxWidth = width;
+ }
+ }
+
+ //@return if geometry is a collection, the widest sub-geometry; otherwise,
+ //the geometry itself
+ private Geometry widestGeometry(Geometry geometry) {
+ if (!(geometry instanceof GeometryCollection)) {
+ return geometry;
+ }
+ return widestGeometry((GeometryCollection) geometry);
+ }
+
+ private Geometry widestGeometry(GeometryCollection gc) {
+ if (gc.isEmpty()) {
+ return gc;
+ }
+
+ Geometry widestGeometry = gc.getGeometryN(0);
+ // scan remaining geom components to see if any are wider
+ for (int i = 1; i < gc.getNumGeometries(); i++) {
+ if (gc.getGeometryN(i).getEnvelopeInternal().getWidth() >
+ widestGeometry.getEnvelopeInternal().getWidth()) {
+ widestGeometry = gc.getGeometryN(i);
+ }
+ }
+ return widestGeometry;
+ }
+
+ protected LineString horizontalBisector(Geometry geometry) {
+ Envelope envelope = geometry.getEnvelopeInternal();
+
+ /**
+ * Original algorithm. Fails when geometry contains a horizontal
+ * segment at the Y midpoint.
+ */
+ // Assert: for areas, minx <> maxx
+ //double avgY = avg(envelope.getMinY(), envelope.getMaxY());
+
+ double bisectY = SafeBisectorFinder.getBisectorY((Polygon) geometry);
+ return factory.createLineString(new Coordinate[] {
+ new Coordinate(envelope.getMinX(), bisectY),
+ new Coordinate(envelope.getMaxX(), bisectY)
+ });
+ }
+
+ /**
+ * Returns the centre point of the envelope.
+ * @param envelope the envelope to analyze
+ * @return the centre of the envelope
+ */
+ public static Coordinate centre(Envelope envelope) {
+ return new Coordinate(avg(envelope.getMinX(),
+ envelope.getMaxX()),
+ avg(envelope.getMinY(), envelope.getMaxY()));
+ }
+
+ /**
+ * Finds a safe bisector Y ordinate
+ * by projecting to the Y axis
+ * and finding the Y-ordinate interval
+ * which contains the centre of the Y extent.
+ * The centre of this interval is returned as the bisector Y-ordinate.
+ *
+ * @author mdavis
+ *
+ */
+ private static class SafeBisectorFinder
+ {
+ public static double getBisectorY(Polygon poly)
+ {
+ SafeBisectorFinder finder = new SafeBisectorFinder(poly);
+ return finder.getBisectorY();
+ }
+
+ private Polygon poly;
+
+ private double centreY;
+ private double hiY = Double.MAX_VALUE;
+ private double loY = -Double.MAX_VALUE;
+
+ public SafeBisectorFinder(Polygon poly) {
+ this.poly = poly;
+
+ // initialize using extremal values
+ hiY = poly.getEnvelopeInternal().getMaxY();
+ loY = poly.getEnvelopeInternal().getMinY();
+ centreY = avg(loY, hiY);
+ }
+
+ public double getBisectorY()
+ {
+ process(poly.getExteriorRing());
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ process(poly.getInteriorRingN(i));
+ }
+ double bisectY = avg(hiY, loY);
+ return bisectY;
+ }
+
+ private void process(LineString line) {
+ CoordinateSequence seq = line.getCoordinateSequence();
+ for (int i = 0; i < seq.size(); i++) {
+ double y = seq.getY(i);
+ updateInterval(y);
+ }
+ }
+
+ private void updateInterval(double y) {
+ if (y <= centreY) {
+ if (y > loY)
+ loY = y;
+ }
+ else if (y > centreY) {
+ if (y < hiY) {
+ hiY = y;
+ }
+ }
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointLine.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointLine.java
new file mode 100644
index 0000000..1971d5d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointLine.java
@@ -0,0 +1,109 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Computes a point in the interior of an linear geometry.
+ * <h2>Algorithm</h2>
+ * <ul>
+ * <li>Find an interior vertex which is closest to
+ * the centroid of the linestring.
+ * <li>If there is no interior vertex, find the endpoint which is
+ * closest to the centroid.
+ * </ul>
+ *
+ * @version 1.7
+ */
+public class InteriorPointLine {
+
+ private Coordinate centroid;
+ private double minDistance = Double.MAX_VALUE;
+
+ private Coordinate interiorPoint = null;
+
+ public InteriorPointLine(Geometry g)
+ {
+ centroid = g.getCentroid().getCoordinate();
+ addInterior(g);
+ if (interiorPoint == null)
+ addEndpoints(g);
+ }
+
+ public Coordinate getInteriorPoint()
+ {
+ return interiorPoint;
+ }
+
+ /**
+ * Tests the interior vertices (if any)
+ * defined by a linear Geometry for the best inside point.
+ * If a Geometry is not of dimension 1 it is not tested.
+ * @param geom the geometry to add
+ */
+ private void addInterior(Geometry geom)
+ {
+ if (geom instanceof LineString) {
+ addInterior(geom.getCoordinates());
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ addInterior(gc.getGeometryN(i));
+ }
+ }
+ }
+ private void addInterior(Coordinate[] pts)
+ {
+ for (int i = 1; i < pts.length - 1; i++) {
+ add(pts[i]);
+ }
+ }
+ /**
+ * Tests the endpoint vertices
+ * defined by a linear Geometry for the best inside point.
+ * If a Geometry is not of dimension 1 it is not tested.
+ * @param geom the geometry to add
+ */
+ private void addEndpoints(Geometry geom)
+ {
+ if (geom instanceof LineString) {
+ addEndpoints(geom.getCoordinates());
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ addEndpoints(gc.getGeometryN(i));
+ }
+ }
+ }
+ private void addEndpoints(Coordinate[] pts)
+ {
+ add(pts[0]);
+ add(pts[pts.length - 1]);
+ }
+
+ private void add(Coordinate point)
+ {
+ double dist = point.distance(centroid);
+ if (dist < minDistance) {
+ interiorPoint = new Coordinate(point);
+ minDistance = dist;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointPoint.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointPoint.java
new file mode 100644
index 0000000..71e14ce
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/InteriorPointPoint.java
@@ -0,0 +1,70 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.Point;
+
+/**
+ * Computes a point in the interior of an point geometry.
+ * <h2>Algorithm</h2>
+ * Find a point which is closest to the centroid of the geometry.
+ *
+ * @version 1.7
+ */
+public class InteriorPointPoint {
+
+ private Coordinate centroid;
+ private double minDistance = Double.MAX_VALUE;
+
+ private Coordinate interiorPoint = null;
+
+ public InteriorPointPoint(Geometry g)
+ {
+ centroid = g.getCentroid().getCoordinate();
+ add(g);
+ }
+
+ /**
+ * Tests the point(s) defined by a Geometry for the best inside point.
+ * If a Geometry is not of dimension 0 it is not tested.
+ * @param geom the geometry to add
+ */
+ private void add(Geometry geom)
+ {
+ if (geom instanceof Point) {
+ add(geom.getCoordinate());
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ add(gc.getGeometryN(i));
+ }
+ }
+ }
+ private void add(Coordinate point)
+ {
+ double dist = point.distance(centroid);
+ if (dist < minDistance) {
+ interiorPoint = new Coordinate(point);
+ minDistance = dist;
+ }
+ }
+
+ public Coordinate getInteriorPoint()
+ {
+ return interiorPoint;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Length.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Length.java
new file mode 100644
index 0000000..9857bd7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Length.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+
+/**
+ * Functions for computing length.
+ *
+ * @author Martin Davis
+ *
+ */
+public class Length {
+
+ /**
+ * Computes the length of a linestring specified by a sequence of points.
+ *
+ * @param pts the points specifying the linestring
+ * @return the length of the linestring
+ */
+ public static double ofLine(CoordinateSequence pts)
+ {
+ // optimized for processing CoordinateSequences
+ int n = pts.size();
+ if (n <= 1)
+ return 0.0;
+
+ double len = 0.0;
+
+ Coordinate p = new Coordinate();
+ pts.getCoordinate(0, p);
+ double x0 = p.x;
+ double y0 = p.y;
+
+ for (int i = 1; i < n; i++) {
+ pts.getCoordinate(i, p);
+ double x1 = p.x;
+ double y1 = p.y;
+ double dx = x1 - x0;
+ double dy = y1 - y0;
+
+ len += Math.sqrt(dx * dx + dy * dy);
+
+ x0 = x1;
+ y0 = y1;
+ }
+ return len;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/LineIntersector.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/LineIntersector.java
new file mode 100644
index 0000000..64c038b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/LineIntersector.java
@@ -0,0 +1,418 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+/**
+ * @version 1.7
+ */
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A <code>LineIntersector</code> is an algorithm that can both test whether
+ * two line segments intersect and compute the intersection point(s)
+ * if they do.
+ * <p>
+ * There are three possible outcomes when determining whether two line segments intersect:
+ * <ul>
+ * <li>{@link #NO_INTERSECTION} - the segments do not intersect
+ * <li>{@link #POINT_INTERSECTION} - the segments intersect in a single point
+ * <li>{@link #COLLINEAR_INTERSECTION} - the segments are collinear and they intersect in a line segment
+ * </ul>
+ * For segments which intersect in a single point, the point may be either an endpoint
+ * or in the interior of each segment.
+ * If the point lies in the interior of both segments,
+ * this is termed a <i>proper intersection</i>.
+ * The method {@link #isProper()} test for this situation.
+ * <p>
+ * The intersection point(s) may be computed in a precise or non-precise manner.
+ * Computing an intersection point precisely involves rounding it
+ * via a supplied {@link PrecisionModel}.
+ * <p>
+ * LineIntersectors do not perform an initial envelope intersection test
+ * to determine if the segments are disjoint.
+ * This is because this class is likely to be used in a context where
+ * envelope overlap is already known to occur (or be likely).
+ *
+ * @version 1.7
+ */
+public abstract class LineIntersector
+{
+/**
+ * These are deprecated, due to ambiguous naming
+ */
+ public final static int DONT_INTERSECT = 0;
+ public final static int DO_INTERSECT = 1;
+ public final static int COLLINEAR = 2;
+
+ /**
+ * Indicates that line segments do not intersect
+ */
+ public final static int NO_INTERSECTION = 0;
+
+ /**
+ * Indicates that line segments intersect in a single point
+ */
+ public final static int POINT_INTERSECTION = 1;
+
+ /**
+ * Indicates that line segments intersect in a line segment
+ */
+ public final static int COLLINEAR_INTERSECTION = 2;
+
+ /**
+ * Computes the "edge distance" of an intersection point p along a segment.
+ * The edge distance is a metric of the point along the edge.
+ * The metric used is a robust and easy to compute metric function.
+ * It is <b>not</b> equivalent to the usual Euclidean metric.
+ * It relies on the fact that either the x or the y ordinates of the
+ * points in the edge are unique, depending on whether the edge is longer in
+ * the horizontal or vertical direction.
+ * <p>
+ * NOTE: This function may produce incorrect distances
+ * for inputs where p is not precisely on p1-p2
+ * (E.g. p = (139,9) p1 = (139,10), p2 = (280,1) produces distance 0.0, which is incorrect.
+ * <p>
+ * My hypothesis is that the function is safe to use for points which are the
+ * result of <b>rounding</b> points which lie on the line,
+ * but not safe to use for <b>truncated</b> points.
+ */
+ public static double computeEdgeDistance(
+ Coordinate p,
+ Coordinate p0,
+ Coordinate p1)
+ {
+ double dx = Math.abs(p1.x - p0.x);
+ double dy = Math.abs(p1.y - p0.y);
+
+ double dist = -1.0; // sentinel value
+ if (p.equals(p0)) {
+ dist = 0.0;
+ }
+ else if (p.equals(p1)) {
+ if (dx > dy)
+ dist = dx;
+ else
+ dist = dy;
+ }
+ else {
+ double pdx = Math.abs(p.x - p0.x);
+ double pdy = Math.abs(p.y - p0.y);
+ if (dx > dy)
+ dist = pdx;
+ else
+ dist = pdy;
+ // <FIX>
+ // hack to ensure that non-endpoints always have a non-zero distance
+ if (dist == 0.0 && ! p.equals(p0))
+ {
+ dist = Math.max(pdx, pdy);
+ }
+ }
+ Assert.isTrue(! (dist == 0.0 && ! p.equals(p0)), "Bad distance calculation");
+ return dist;
+ }
+
+ /**
+ * This function is non-robust, since it may compute the square of large numbers.
+ * Currently not sure how to improve this.
+ */
+ public static double nonRobustComputeEdgeDistance(
+ Coordinate p,
+ Coordinate p1,
+ Coordinate p2)
+ {
+ double dx = p.x - p1.x;
+ double dy = p.y - p1.y;
+ double dist = Math.sqrt(dx * dx + dy * dy); // dummy value
+ Assert.isTrue(! (dist == 0.0 && ! p.equals(p1)), "Invalid distance calculation");
+ return dist;
+ }
+
+ protected int result;
+ protected Coordinate[][] inputLines = new Coordinate[2][2];
+ protected Coordinate[] intPt = new Coordinate[2];
+ /**
+ * The indexes of the endpoints of the intersection lines, in order along
+ * the corresponding line
+ */
+ protected int[][] intLineIndex;
+ protected boolean isProper;
+ protected Coordinate pa;
+ protected Coordinate pb;
+ /**
+ * If makePrecise is true, computed intersection coordinates will be made precise
+ * using Coordinate#makePrecise
+ */
+ protected PrecisionModel precisionModel = null;
+//public int numIntersects = 0;
+
+ public LineIntersector() {
+ intPt[0] = new Coordinate();
+ intPt[1] = new Coordinate();
+ // alias the intersection points for ease of reference
+ pa = intPt[0];
+ pb = intPt[1];
+ result = 0;
+ }
+
+ /**
+ * Force computed intersection to be rounded to a given precision model
+ * @param precisionModel
+ * @deprecated use <code>setPrecisionModel</code> instead
+ */
+ public void setMakePrecise(PrecisionModel precisionModel)
+ {
+ this.precisionModel = precisionModel;
+ }
+
+ /**
+ * Force computed intersection to be rounded to a given precision model.
+ * No getter is provided, because the precision model is not required to be specified.
+ * @param precisionModel
+ */
+ public void setPrecisionModel(PrecisionModel precisionModel)
+ {
+ this.precisionModel = precisionModel;
+ }
+
+ /**
+ * Gets an endpoint of an input segment.
+ *
+ * @param segmentIndex the index of the input segment (0 or 1)
+ * @param ptIndex the index of the endpoint (0 or 1)
+ * @return the specified endpoint
+ */
+ public Coordinate getEndpoint(int segmentIndex, int ptIndex)
+ {
+ return inputLines[segmentIndex][ptIndex];
+ }
+
+ /**
+ * Compute the intersection of a point p and the line p1-p2.
+ * This function computes the boolean value of the hasIntersection test.
+ * The actual value of the intersection (if there is one)
+ * is equal to the value of <code>p</code>.
+ */
+ public abstract void computeIntersection(
+ Coordinate p,
+ Coordinate p1, Coordinate p2);
+
+ protected boolean isCollinear() {
+ return result == COLLINEAR_INTERSECTION;
+ }
+
+ /**
+ * Computes the intersection of the lines p1-p2 and p3-p4.
+ * This function computes both the boolean value of the hasIntersection test
+ * and the (approximate) value of the intersection point itself (if there is one).
+ */
+ public void computeIntersection(
+ Coordinate p1, Coordinate p2,
+ Coordinate p3, Coordinate p4) {
+ inputLines[0][0] = p1;
+ inputLines[0][1] = p2;
+ inputLines[1][0] = p3;
+ inputLines[1][1] = p4;
+ result = computeIntersect(p1, p2, p3, p4);
+//numIntersects++;
+ }
+
+ protected abstract int computeIntersect(
+ Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2);
+
+/*
+ public String toString() {
+ String str = inputLines[0][0] + "-"
+ + inputLines[0][1] + " "
+ + inputLines[1][0] + "-"
+ + inputLines[1][1] + " : "
+ + getTopologySummary();
+ return str;
+ }
+*/
+
+ public String toString() {
+ return WKTWriter.toLineString(inputLines[0][0], inputLines[0][1]) + " - "
+ + WKTWriter.toLineString(inputLines[1][0], inputLines[1][1])
+ + getTopologySummary();
+ }
+
+ private String getTopologySummary()
+ {
+ StringBuilder catBuilder = new StringBuilder();
+ if (isEndPoint()) catBuilder.append(" endpoint");
+ if (isProper) catBuilder.append(" proper");
+ if (isCollinear()) catBuilder.append(" collinear");
+ return catBuilder.toString();
+ }
+
+ protected boolean isEndPoint() {
+ return hasIntersection() && !isProper;
+ }
+
+ /**
+ * Tests whether the input geometries intersect.
+ *
+ * @return true if the input geometries intersect
+ */
+ public boolean hasIntersection() {
+ return result != NO_INTERSECTION;
+ }
+
+ /**
+ * Returns the number of intersection points found. This will be either 0, 1 or 2.
+ *
+ * @return the number of intersection points found (0, 1, or 2)
+ */
+ public int getIntersectionNum() { return result; }
+
+ /**
+ * Returns the intIndex'th intersection point
+ *
+ * @param intIndex is 0 or 1
+ *
+ * @return the intIndex'th intersection point
+ */
+ public Coordinate getIntersection(int intIndex) { return intPt[intIndex]; }
+
+ protected void computeIntLineIndex() {
+ if (intLineIndex == null) {
+ intLineIndex = new int[2][2];
+ computeIntLineIndex(0);
+ computeIntLineIndex(1);
+ }
+ }
+
+ /**
+ * Test whether a point is a intersection point of two line segments.
+ * Note that if the intersection is a line segment, this method only tests for
+ * equality with the endpoints of the intersection segment.
+ * It does <b>not</b> return true if
+ * the input point is internal to the intersection segment.
+ *
+ * @return true if the input point is one of the intersection points.
+ */
+ public boolean isIntersection(Coordinate pt) {
+ for (int i = 0; i < result; i++) {
+ if (intPt[i].equals2D(pt)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether either intersection point is an interior point of one of the input segments.
+ *
+ * @return <code>true</code> if either intersection point is in the interior of one of the input segments
+ */
+ public boolean isInteriorIntersection()
+ {
+ if (isInteriorIntersection(0)) return true;
+ if (isInteriorIntersection(1)) return true;
+ return false;
+ }
+
+ /**
+ * Tests whether either intersection point is an interior point of the specified input segment.
+ *
+ * @return <code>true</code> if either intersection point is in the interior of the input segment
+ */
+ public boolean isInteriorIntersection(int inputLineIndex)
+ {
+ for (int i = 0; i < result; i++) {
+ if (! ( intPt[i].equals2D(inputLines[inputLineIndex][0])
+ || intPt[i].equals2D(inputLines[inputLineIndex][1]) )) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether an intersection is proper.
+ * <br>
+ * The intersection between two line segments is considered proper if
+ * they intersect in a single point in the interior of both segments
+ * (e.g. the intersection is a single point and is not equal to any of the
+ * endpoints).
+ * <p>
+ * The intersection between a point and a line segment is considered proper
+ * if the point lies in the interior of the segment (e.g. is not equal to
+ * either of the endpoints).
+ *
+ * @return true if the intersection is proper
+ */
+ public boolean isProper() {
+ return hasIntersection() && isProper;
+ }
+
+ /**
+ * Computes the intIndex'th intersection point in the direction of
+ * a specified input line segment
+ *
+ * @param segmentIndex is 0 or 1
+ * @param intIndex is 0 or 1
+ *
+ * @return the intIndex'th intersection point in the direction of the specified input line segment
+ */
+ public Coordinate getIntersectionAlongSegment(int segmentIndex, int intIndex) {
+ // lazily compute int line array
+ computeIntLineIndex();
+ return intPt[intLineIndex[segmentIndex][intIndex]];
+ }
+
+ /**
+ * Computes the index (order) of the intIndex'th intersection point in the direction of
+ * a specified input line segment
+ *
+ * @param segmentIndex is 0 or 1
+ * @param intIndex is 0 or 1
+ *
+ * @return the index of the intersection point along the input segment (0 or 1)
+ */
+ public int getIndexAlongSegment(int segmentIndex, int intIndex) {
+ computeIntLineIndex();
+ return intLineIndex[segmentIndex][intIndex];
+ }
+
+ protected void computeIntLineIndex(int segmentIndex) {
+ double dist0 = getEdgeDistance(segmentIndex, 0);
+ double dist1 = getEdgeDistance(segmentIndex, 1);
+ if (dist0 > dist1) {
+ intLineIndex[segmentIndex][0] = 0;
+ intLineIndex[segmentIndex][1] = 1;
+ }
+ else {
+ intLineIndex[segmentIndex][0] = 1;
+ intLineIndex[segmentIndex][1] = 0;
+ }
+ }
+
+ /**
+ * Computes the "edge distance" of an intersection point along the specified input line segment.
+ *
+ * @param segmentIndex is 0 or 1
+ * @param intIndex is 0 or 1
+ *
+ * @return the edge distance of the intersection point
+ */
+ public double getEdgeDistance(int segmentIndex, int intIndex) {
+ double dist = computeEdgeDistance(intPt[intIndex], inputLines[segmentIndex][0],
+ inputLines[segmentIndex][1]);
+ return dist;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumBoundingCircle.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumBoundingCircle.java
new file mode 100644
index 0000000..74c7582
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumBoundingCircle.java
@@ -0,0 +1,346 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Triangle;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Computes the <b>Minimum Bounding Circle</b> (MBC)
+ * for the points in a {@link Geometry}.
+ * The MBC is the smallest circle which <tt>cover</tt>s
+ * all the input points
+ * (this is also known as the <b>Smallest Enclosing Circle</b>).
+ * This is equivalent to computing the Maximum Diameter
+ * of the input point set.
+ * <p>
+ * The computed circle can be specified in two equivalent ways,
+ * both of which are provide as output by this class:
+ * <ul>
+ * <li>As a centre point and a radius
+ * <li>By the set of points defining the circle.
+ * Depending on the number of points in the input
+ * and their relative positions, this
+ * will be specified by anywhere from 0 to 3 points.
+ * <ul>
+ * <li>0 or 1 points indicate an empty or trivial input point arrangement.
+ * <li>2 or 3 points define a circle which contains
+ * all the input points.
+ * </ul>
+ * </ul>
+ * The class can also output a {@link Geometry} which approximates the
+ * shape of the MBC (although as an approximation
+ * it is <b>not</b> guaranteed to <tt>cover</tt> all the input points.)
+ *
+ * @author Martin Davis
+ *
+ * @see MinimumDiameter
+ *
+ */
+public class MinimumBoundingCircle
+{
+ /*
+ * The algorithm used is based on the one by Jon Rokne in
+ * the article "An Easy Bounding Circle" in <i>Graphic Gems II</i>.
+ */
+
+ private Geometry input;
+ private Coordinate[] extremalPts = null;
+ private Coordinate centre = null;
+ private double radius = 0.0;
+
+ /**
+ * Creates a new object for computing the minimum bounding circle for the
+ * point set defined by the vertices of the given geometry.
+ *
+ * @param geom the geometry to use to obtain the point set
+ */
+ public MinimumBoundingCircle(Geometry geom)
+ {
+ this.input = geom;
+ }
+
+ /**
+ * Gets a geometry which represents the Minimum Bounding Circle.
+ * If the input is degenerate (empty or a single unique point),
+ * this method will return an empty geometry or a single Point geometry.
+ * Otherwise, a Polygon will be returned which approximates the
+ * Minimum Bounding Circle.
+ * (Note that because the computed polygon is only an approximation,
+ * it may not precisely contain all the input points.)
+ *
+ * @return a Geometry representing the Minimum Bounding Circle.
+ */
+ public Geometry getCircle()
+ {
+ //TODO: ensure the output circle contains the extermal points.
+ //TODO: or maybe even ensure that the returned geometry contains ALL the input points?
+
+ compute();
+ if (centre == null)
+ return input.getFactory().createPolygon();
+ Point centrePoint = input.getFactory().createPoint(centre);
+ if (radius == 0.0)
+ return centrePoint;
+ return centrePoint.buffer(radius);
+ }
+
+ /**
+ * Gets a geometry representing a line between the two farthest points
+ * in the input.
+ * These points will be two of the extremal points of the Minimum Bounding Circle.
+ * They also lie on the convex hull of the input.
+ *
+ * @return a LineString between the two farthest points of the input
+ * @return a empty LineString if the input is empty
+ * @return a Point if the input is a point
+ */
+ public Geometry getFarthestPoints() {
+ compute();
+ switch (extremalPts.length) {
+ case 0:
+ return input.getFactory().createLineString();
+ case 1:
+ return input.getFactory().createPoint(centre);
+ }
+ Coordinate p0 = extremalPts[0];
+ Coordinate p1 = extremalPts[extremalPts.length - 1];
+ return input.getFactory().createLineString(new Coordinate[] { p0, p1 });
+ }
+
+ /**
+ * Gets a geometry representing the diameter of the computed Minimum Bounding
+ * Circle.
+ *
+ * @return the diameter LineString of the Minimum Bounding Circle
+ * @return a empty LineString if the input is empty
+ * @return a Point if the input is a point
+ */
+ public Geometry getDiameter() {
+ compute();
+ switch (extremalPts.length) {
+ case 0:
+ return input.getFactory().createLineString();
+ case 1:
+ return input.getFactory().createPoint(centre);
+ }
+ // TODO: handle case of 3 extremal points, by computing a line from one of
+ // them through the centre point with len = 2*radius
+ Coordinate p0 = extremalPts[0];
+ Coordinate p1 = extremalPts[1];
+ return input.getFactory().createLineString(new Coordinate[] { p0, p1 });
+ }
+
+ /**
+ * Gets the extremal points which define the computed Minimum Bounding Circle.
+ * There may be zero, one, two or three of these points,
+ * depending on the number of points in the input
+ * and the geometry of those points.
+ *
+ * @return the points defining the Minimum Bounding Circle
+ */
+ public Coordinate[] getExtremalPoints()
+ {
+ compute();
+ return extremalPts;
+ }
+
+ /**
+ * Gets the centre point of the computed Minimum Bounding Circle.
+ *
+ * @return the centre point of the Minimum Bounding Circle
+ * @return null if the input is empty
+ */
+ public Coordinate getCentre()
+ {
+ compute();
+ return centre;
+ }
+
+ /**
+ * Gets the radius of the computed Minimum Bounding Circle.
+ *
+ * @return the radius of the Minimum Bounding Circle
+ */
+ public double getRadius()
+ {
+ compute();
+ return radius;
+ }
+
+ private void computeCentre()
+ {
+ switch (extremalPts.length) {
+ case 0:
+ centre = null;
+ break;
+ case 1:
+ centre = extremalPts[0];
+ break;
+ case 2:
+ centre = new Coordinate(
+ (extremalPts[0].x + extremalPts[1].x) / 2.0,
+ (extremalPts[0].y + extremalPts[1].y) / 2.0
+ );
+ break;
+ case 3:
+ centre = Triangle.circumcentre(extremalPts[0], extremalPts[1], extremalPts[2]);
+ break;
+ }
+ }
+
+ private void compute()
+ {
+ if (extremalPts != null) return;
+
+ computeCirclePoints();
+ computeCentre();
+ if (centre != null)
+ radius = centre.distance(extremalPts[0]);
+ }
+
+ private void computeCirclePoints()
+ {
+ // handle degenerate or trivial cases
+ if (input.isEmpty()) {
+ extremalPts = new Coordinate[0];
+ return;
+ }
+ if (input.getNumPoints() == 1) {
+ Coordinate[] pts = input.getCoordinates();
+ extremalPts = new Coordinate[] { new Coordinate(pts[0]) };
+ return;
+ }
+
+ /**
+ * The problem is simplified by reducing to the convex hull.
+ * Computing the convex hull also has the useful effect of eliminating duplicate points
+ */
+ Geometry convexHull = input.convexHull();
+
+ Coordinate[] hullPts = convexHull.getCoordinates();
+
+ // strip duplicate final point, if any
+ Coordinate[] pts = hullPts;
+ if (hullPts[0].equals2D(hullPts[hullPts.length - 1])) {
+ pts = new Coordinate[hullPts.length - 1];
+ CoordinateArrays.copyDeep(hullPts, 0, pts, 0, hullPts.length - 1);
+ }
+
+ /**
+ * Optimization for the trivial case where the CH has fewer than 3 points
+ */
+ if (pts.length <= 2) {
+ extremalPts = CoordinateArrays.copyDeep(pts);
+ return;
+ }
+
+ // find a point P with minimum Y ordinate
+ Coordinate P = lowestPoint(pts);
+
+ // find a point Q such that the angle that PQ makes with the x-axis is minimal
+ Coordinate Q = pointWitMinAngleWithX(pts, P);
+
+ /**
+ * Iterate over the remaining points to find
+ * a pair or triplet of points which determine the minimal circle.
+ * By the design of the algorithm,
+ * at most <tt>pts.length</tt> iterations are required to terminate
+ * with a correct result.
+ */
+ for (int i = 0; i < pts.length; i++) {
+ Coordinate R = pointWithMinAngleWithSegment(pts, P, Q);
+
+ // if PRQ is obtuse, then MBC is determined by P and Q
+ if (Angle.isObtuse(P, R, Q)) {
+ extremalPts = new Coordinate[] { new Coordinate(P), new Coordinate(Q) };
+ return;
+ }
+ // if RPQ is obtuse, update baseline and iterate
+ if (Angle.isObtuse(R, P, Q)) {
+ P = R;
+ continue;
+ }
+ // if RQP is obtuse, update baseline and iterate
+ if (Angle.isObtuse(R, Q, P)) {
+ Q = R;
+ continue;
+ }
+ // otherwise all angles are acute, and the MBC is determined by the triangle PQR
+ extremalPts = new Coordinate[] { new Coordinate(P), new Coordinate(Q), new Coordinate(R) };
+ return;
+ }
+ Assert.shouldNeverReachHere("Logic failure in Minimum Bounding Circle algorithm!");
+ }
+
+ private static Coordinate lowestPoint(Coordinate[] pts)
+ {
+ Coordinate min = pts[0];
+ for (int i = 1; i < pts.length; i++) {
+ if (pts[i].y < min.y)
+ min = pts[i];
+ }
+ return min;
+ }
+
+ private static Coordinate pointWitMinAngleWithX(Coordinate[] pts, Coordinate P)
+ {
+ double minSin = Double.MAX_VALUE;
+ Coordinate minAngPt = null;
+ for (int i = 0; i < pts.length; i++) {
+
+ Coordinate p = pts[i];
+ if (p == P) continue;
+
+ /**
+ * The sin of the angle is a simpler proxy for the angle itself
+ */
+ double dx = p.x - P.x;
+ double dy = p.y - P.y;
+ if (dy < 0) dy = -dy;
+ double len = Math.sqrt(dx * dx + dy * dy);
+ double sin = dy / len;
+
+ if (sin < minSin) {
+ minSin = sin;
+ minAngPt = p;
+ }
+ }
+ return minAngPt;
+ }
+
+ private static Coordinate pointWithMinAngleWithSegment(Coordinate[] pts, Coordinate P, Coordinate Q)
+ {
+ double minAng = Double.MAX_VALUE;
+ Coordinate minAngPt = null;
+ for (int i = 0; i < pts.length; i++) {
+
+ Coordinate p = pts[i];
+ if (p == P) continue;
+ if (p == Q) continue;
+
+ double ang = Angle.angleBetween(P, p, Q);
+ if (ang < minAng) {
+ minAng = ang;
+ minAngPt = p;
+ }
+ }
+ return minAngPt;
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumDiameter.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumDiameter.java
new file mode 100644
index 0000000..4c9db90
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/MinimumDiameter.java
@@ -0,0 +1,343 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes the minimum diameter of a {@link Geometry}.
+ * The minimum diameter is defined to be the
+ * width of the smallest band that
+ * contains the geometry,
+ * where a band is a strip of the plane defined
+ * by two parallel lines.
+ * This can be thought of as the smallest hole that the geometry can be
+ * moved through, with a single rotation.
+ * <p>
+ * The first step in the algorithm is computing the convex hull of the Geometry.
+ * If the input Geometry is known to be convex, a hint can be supplied to
+ * avoid this computation.
+ * <p>
+ * This class can also be used to compute a line segment representing
+ * the minimum diameter, the supporting line segment of the minimum diameter,
+ * and a minimum rectangle enclosing the input geometry.
+ * This rectangle will
+ * have width equal to the minimum diameter, and have one side
+ * parallel to the supporting segment.
+ *
+ * @see ConvexHull
+ *
+ * @version 1.7
+ */
+public class MinimumDiameter
+{
+ /**
+ * Gets the minimum rectangle enclosing a geometry.
+ *
+ * @param geom the geometry
+ * @return the minimum rectangle enclosing the geometry
+ */
+ public static Geometry getMinimumRectangle(Geometry geom) {
+ return (new MinimumDiameter(geom)).getMinimumRectangle();
+ }
+
+ /**
+ * Gets the length of the minimum diameter enclosing a geometry
+ * @param geom the geometry
+ * @return the length of the minimum diameter of the geometry
+ */
+ public static Geometry getMinimumDiameter(Geometry geom) {
+ return (new MinimumDiameter(geom)).getDiameter();
+ }
+
+ private final Geometry inputGeom;
+ private final boolean isConvex;
+
+ private Coordinate[] convexHullPts = null;
+ private LineSegment minBaseSeg = new LineSegment();
+ private Coordinate minWidthPt = null;
+ private int minPtIndex;
+ private double minWidth = 0.0;
+
+ /**
+ * Compute a minimum diameter for a given {@link Geometry}.
+ *
+ * @param inputGeom a Geometry
+ */
+ public MinimumDiameter(Geometry inputGeom)
+ {
+ this(inputGeom, false);
+ }
+
+ /**
+ * Compute a minimum diameter for a giver {@link Geometry},
+ * with a hint if
+ * the Geometry is convex
+ * (e.g. a convex Polygon or LinearRing,
+ * or a two-point LineString, or a Point).
+ *
+ * @param inputGeom a Geometry which is convex
+ * @param isConvex <code>true</code> if the input geometry is convex
+ */
+ public MinimumDiameter(Geometry inputGeom, boolean isConvex)
+ {
+ this.inputGeom = inputGeom;
+ this.isConvex = isConvex;
+ }
+
+ /**
+ * Gets the length of the minimum diameter of the input Geometry
+ *
+ * @return the length of the minimum diameter
+ */
+ public double getLength()
+ {
+ computeMinimumDiameter();
+ return minWidth;
+ }
+
+ /**
+ * Gets the {@link Coordinate} forming one end of the minimum diameter
+ *
+ * @return a coordinate forming one end of the minimum diameter
+ */
+ public Coordinate getWidthCoordinate()
+ {
+ computeMinimumDiameter();
+ return minWidthPt;
+ }
+
+ /**
+ * Gets the segment forming the base of the minimum diameter
+ *
+ * @return the segment forming the base of the minimum diameter
+ */
+ public LineString getSupportingSegment()
+ {
+ computeMinimumDiameter();
+ return inputGeom.getFactory().createLineString(new Coordinate[] { minBaseSeg.p0, minBaseSeg.p1 } );
+ }
+
+ /**
+ * Gets a {@link LineString} which is a minimum diameter
+ *
+ * @return a {@link LineString} which is a minimum diameter
+ */
+ public LineString getDiameter()
+ {
+ computeMinimumDiameter();
+
+ // return empty linestring if no minimum width calculated
+ if (minWidthPt == null)
+ return inputGeom.getFactory().createLineString();
+
+ Coordinate basePt = minBaseSeg.project(minWidthPt);
+ return inputGeom.getFactory().createLineString(new Coordinate[] { basePt, minWidthPt } );
+ }
+
+ private void computeMinimumDiameter()
+ {
+ // check if computation is cached
+ if (minWidthPt != null)
+ return;
+
+ if (isConvex)
+ computeWidthConvex(inputGeom);
+ else {
+ Geometry convexGeom = (new ConvexHull(inputGeom)).getConvexHull();
+ computeWidthConvex(convexGeom);
+ }
+ }
+
+ private void computeWidthConvex(Geometry convexGeom)
+ {
+//System.out.println("Input = " + geom);
+ if (convexGeom instanceof Polygon)
+ convexHullPts = ((Polygon) convexGeom).getExteriorRing().getCoordinates();
+ else
+ convexHullPts = convexGeom.getCoordinates();
+
+ // special cases for lines or points or degenerate rings
+ if (convexHullPts.length == 0) {
+ minWidth = 0.0;
+ minWidthPt = null;
+ minBaseSeg = null;
+ }
+ else if (convexHullPts.length == 1) {
+ minWidth = 0.0;
+ minWidthPt = convexHullPts[0];
+ minBaseSeg.p0 = convexHullPts[0];
+ minBaseSeg.p1 = convexHullPts[0];
+ }
+ else if (convexHullPts.length == 2 || convexHullPts.length == 3) {
+ minWidth = 0.0;
+ minWidthPt = convexHullPts[0];
+ minBaseSeg.p0 = convexHullPts[0];
+ minBaseSeg.p1 = convexHullPts[1];
+ }
+ else
+ computeConvexRingMinDiameter(convexHullPts);
+ }
+
+ /**
+ * Compute the width information for a ring of {@link Coordinate}s.
+ * Leaves the width information in the instance variables.
+ *
+ * @param pts
+ */
+ private void computeConvexRingMinDiameter(Coordinate[] pts)
+ {
+ // for each segment in the ring
+ minWidth = Double.MAX_VALUE;
+ int currMaxIndex = 1;
+
+ LineSegment seg = new LineSegment();
+ // compute the max distance for all segments in the ring, and pick the minimum
+ for (int i = 0; i < pts.length - 1; i++) {
+ seg.p0 = pts[i];
+ seg.p1 = pts[i + 1];
+ currMaxIndex = findMaxPerpDistance(pts, seg, currMaxIndex);
+ }
+ }
+
+ private int findMaxPerpDistance(Coordinate[] pts, LineSegment seg, int startIndex)
+ {
+ double maxPerpDistance = seg.distancePerpendicular(pts[startIndex]);
+ double nextPerpDistance = maxPerpDistance;
+ int maxIndex = startIndex;
+ int nextIndex = maxIndex;
+ while (nextPerpDistance >= maxPerpDistance) {
+ maxPerpDistance = nextPerpDistance;
+ maxIndex = nextIndex;
+
+ nextIndex = nextIndex(pts, maxIndex);
+ nextPerpDistance = seg.distancePerpendicular(pts[nextIndex]);
+ }
+ // found maximum width for this segment - update global min dist if appropriate
+ if (maxPerpDistance < minWidth) {
+ minPtIndex = maxIndex;
+ minWidth = maxPerpDistance;
+ minWidthPt = pts[minPtIndex];
+ minBaseSeg = new LineSegment(seg);
+// System.out.println(minBaseSeg);
+// System.out.println(minWidth);
+ }
+ return maxIndex;
+ }
+
+ private static int nextIndex(Coordinate[] pts, int index)
+ {
+ index++;
+ if (index >= pts.length) index = 0;
+ return index;
+ }
+
+ /**
+ * Gets the minimum rectangular {@link Polygon} which encloses the input geometry.
+ * The rectangle has width equal to the minimum diameter,
+ * and a longer length.
+ * If the convex hull of the input is degenerate (a line or point)
+ * a {@link LineString} or {@link Point} is returned.
+ * <p>
+ * The minimum rectangle can be used as an extremely generalized representation
+ * for the given geometry.
+ *
+ * @return the minimum rectangle enclosing the input (or a line or point if degenerate)
+ */
+ public Geometry getMinimumRectangle()
+ {
+ computeMinimumDiameter();
+
+ // check if minimum rectangle is degenerate (a point or line segment)
+ if (minWidth == 0.0) {
+ if (minBaseSeg.p0.equals2D(minBaseSeg.p1)) {
+ return inputGeom.getFactory().createPoint(minBaseSeg.p0);
+ }
+ return minBaseSeg.toGeometry(inputGeom.getFactory());
+ }
+
+ // deltas for the base segment of the minimum diameter
+ double dx = minBaseSeg.p1.x - minBaseSeg.p0.x;
+ double dy = minBaseSeg.p1.y - minBaseSeg.p0.y;
+
+ /*
+ double c0 = computeC(dx, dy, minBaseSeg.p0);
+ double c1 = computeC(dx, dy, minBaseSeg.p1);
+ */
+
+ double minPara = Double.MAX_VALUE;
+ double maxPara = -Double.MAX_VALUE;
+ double minPerp = Double.MAX_VALUE;
+ double maxPerp = -Double.MAX_VALUE;
+
+ // compute maxima and minima of lines parallel and perpendicular to base segment
+ for (int i = 0; i < convexHullPts.length; i++) {
+
+ double paraC = computeC(dx, dy, convexHullPts[i]);
+ if (paraC > maxPara) maxPara = paraC;
+ if (paraC < minPara) minPara = paraC;
+
+ double perpC = computeC(-dy, dx, convexHullPts[i]);
+ if (perpC > maxPerp) maxPerp = perpC;
+ if (perpC < minPerp) minPerp = perpC;
+ }
+
+ // compute lines along edges of minimum rectangle
+ LineSegment maxPerpLine = computeSegmentForLine(-dx, -dy, maxPerp);
+ LineSegment minPerpLine = computeSegmentForLine(-dx, -dy, minPerp);
+ LineSegment maxParaLine = computeSegmentForLine(-dy, dx, maxPara);
+ LineSegment minParaLine = computeSegmentForLine(-dy, dx, minPara);
+
+ // compute vertices of rectangle (where the para/perp max & min lines intersect)
+ Coordinate p0 = maxParaLine.lineIntersection(maxPerpLine);
+ Coordinate p1 = minParaLine.lineIntersection(maxPerpLine);
+ Coordinate p2 = minParaLine.lineIntersection(minPerpLine);
+ Coordinate p3 = maxParaLine.lineIntersection(minPerpLine);
+
+ LinearRing shell = inputGeom.getFactory().createLinearRing(
+ new Coordinate[] { p0, p1, p2, p3, p0 });
+ return inputGeom.getFactory().createPolygon(shell);
+
+ }
+
+ private static double computeC(double a, double b, Coordinate p)
+ {
+ return a * p.y - b * p.x;
+ }
+
+ private static LineSegment computeSegmentForLine(double a, double b, double c)
+ {
+ Coordinate p0;
+ Coordinate p1;
+ /*
+ * Line eqn is ax + by = c
+ * Slope is a/b.
+ * If slope is steep, use y values as the inputs
+ */
+ if (Math.abs(b) > Math.abs(a)) {
+ p0 = new Coordinate(0.0, c/b);
+ p1 = new Coordinate(1.0, c/b - a/b);
+ }
+ else {
+ p0 = new Coordinate(c/a, 0.0);
+ p1 = new Coordinate(c/a - b/a, 1.0);
+ }
+ return new LineSegment(p0, p1);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/NotRepresentableException.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/NotRepresentableException.java
new file mode 100644
index 0000000..63b6408
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/NotRepresentableException.java
@@ -0,0 +1,30 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+/**
+ * Indicates that a {@link HCoordinate} has been computed which is
+ * not representable on the Cartesian plane.
+ *
+ * @version 1.7
+ * @see HCoordinate
+ */
+public class NotRepresentableException extends Exception {
+
+ public NotRepresentableException() {
+ super("Projective point not representable on the Cartesian plane.");
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/Orientation.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/Orientation.java
new file mode 100644
index 0000000..90b7f0c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/Orientation.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Functions to compute the orientation of basic geometric structures
+ * including point triplets (triangles) and rings.
+ * Orientation is a fundamental property of planar geometries
+ * (and more generally geometry on two-dimensional manifolds).
+ * <p>
+ * Orientation is notoriously subject to numerical precision errors
+ * in the case of collinear or nearly collinear points.
+ * JTS uses extended-precision arithmetic to increase
+ * the robustness of the computation.
+ *
+ * @author Martin Davis
+ *
+ */
+public class Orientation {
+ /**
+ * A value that indicates an orientation of clockwise, or a right turn.
+ */
+ public static final int CLOCKWISE = -1;
+ /**
+ * A value that indicates an orientation of clockwise, or a right turn.
+ */
+ public static final int RIGHT = CLOCKWISE;
+ /**
+ * A value that indicates an orientation of counterclockwise, or a left turn.
+ */
+ public static final int COUNTERCLOCKWISE = 1;
+ /**
+ * A value that indicates an orientation of counterclockwise, or a left turn.
+ */
+ public static final int LEFT = COUNTERCLOCKWISE;
+ /**
+ * A value that indicates an orientation of collinear, or no turn (straight).
+ */
+ public static final int COLLINEAR = 0;
+ /**
+ * A value that indicates an orientation of collinear, or no turn (straight).
+ */
+ public static final int STRAIGHT = COLLINEAR;
+
+ /**
+ * Returns the orientation index of the direction of the point <code>q</code> relative to
+ * a directed infinite line specified by <code>p1-p2</code>.
+ * The index indicates whether the point lies to the {@link LEFT} or {@link #RIGHT}
+ * of the line, or lies on it {@link #COLLINEAR}.
+ * The index also indicates the orientation of the triangle formed by the three points
+ * ( {@link #COUNTERCLOCKWISE}, {@link #CLOCKWISE}, or {@link #STRAIGHT} )
+ *
+ * @param p1 the origin point of the line vector
+ * @param p2 the final point of the line vector
+ * @param q the point to compute the direction to
+ *
+ * @return -1 ( {@link #CLOCKWISE} or {@link #RIGHT} ) if q is clockwise (right) from p1-p2;
+ * 1 ( {@link #COUNTERCLOCKWISE} or {@link LEFT} ) if q is counter-clockwise (left) from p1-p2;
+ * 0 ( {@link #COLLINEAR} or {@link #STRAIGHT} ) if q is collinear with p1-p2
+ */
+ public static int index(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ /**
+ * MD - 9 Aug 2010 It seems that the basic algorithm is slightly orientation
+ * dependent, when computing the orientation of a point very close to a
+ * line. This is possibly due to the arithmetic in the translation to the
+ * origin.
+ *
+ * For instance, the following situation produces identical results in spite
+ * of the inverse orientation of the line segment:
+ *
+ * Coordinate p0 = new Coordinate(219.3649559090992, 140.84159161824724);
+ * Coordinate p1 = new Coordinate(168.9018919682399, -5.713787599646864);
+ *
+ * Coordinate p = new Coordinate(186.80814046338352, 46.28973405831556); int
+ * orient = orientationIndex(p0, p1, p); int orientInv =
+ * orientationIndex(p1, p0, p);
+ *
+ * A way to force consistent results is to normalize the orientation of the
+ * vector using the following code. However, this may make the results of
+ * orientationIndex inconsistent through the triangle of points, so it's not
+ * clear this is an appropriate patch.
+ *
+ */
+ return CGAlgorithmsDD.orientationIndex(p1, p2, q);
+ // testing only
+ //return ShewchuksDeterminant.orientationIndex(p1, p2, q);
+ // previous implementation - not quite fully robust
+ //return RobustDeterminant.orientationIndex(p1, p2, q);
+ }
+
+ /**
+ * Computes whether a ring defined by an array of {@link Coordinate}s is
+ * oriented counter-clockwise.
+ * <ul>
+ * <li>The list of points is assumed to have the first and last points equal.
+ * <li>This will handle coordinate lists which contain repeated points.
+ * </ul>
+ * This algorithm is <b>only</b> guaranteed to work with valid rings. If the
+ * ring is invalid (e.g. self-crosses or touches), the computed result may not
+ * be correct.
+ *
+ * @param ring
+ * an array of Coordinates forming a ring
+ * @return true if the ring is oriented counter-clockwise.
+ * @throws IllegalArgumentException
+ * if there are too few points to determine orientation (< 4)
+ */
+ public static boolean isCCW(Coordinate[] ring)
+ {
+ // # of points without closing endpoint
+ int nPts = ring.length - 1;
+ // sanity check
+ if (nPts < 3)
+ throw new IllegalArgumentException(
+ "Ring has fewer than 4 points, so orientation cannot be determined");
+
+ // find highest point
+ Coordinate hiPt = ring[0];
+ int hiIndex = 0;
+ for (int i = 1; i <= nPts; i++) {
+ Coordinate p = ring[i];
+ if (p.y > hiPt.y) {
+ hiPt = p;
+ hiIndex = i;
+ }
+ }
+
+ // find distinct point before highest point
+ int iPrev = hiIndex;
+ do {
+ iPrev = iPrev - 1;
+ if (iPrev < 0)
+ iPrev = nPts;
+ } while (ring[iPrev].equals2D(hiPt) && iPrev != hiIndex);
+
+ // find distinct point after highest point
+ int iNext = hiIndex;
+ do {
+ iNext = (iNext + 1) % nPts;
+ } while (ring[iNext].equals2D(hiPt) && iNext != hiIndex);
+
+ Coordinate prev = ring[iPrev];
+ Coordinate next = ring[iNext];
+
+ /**
+ * This check catches cases where the ring contains an A-B-A configuration
+ * of points. This can happen if the ring does not contain 3 distinct points
+ * (including the case where the input array has fewer than 4 elements), or
+ * it contains coincident line segments.
+ */
+ if (prev.equals2D(hiPt) || next.equals2D(hiPt) || prev.equals2D(next))
+ return false;
+
+ int disc = Orientation.index(prev, hiPt, next);
+
+ /**
+ * If disc is exactly 0, lines are collinear. There are two possible cases:
+ * (1) the lines lie along the x axis in opposite directions (2) the lines
+ * lie on top of one another
+ *
+ * (1) is handled by checking if next is left of prev ==> CCW (2) will never
+ * happen if the ring is valid, so don't check for it (Might want to assert
+ * this)
+ */
+ boolean isCCW;
+ if (disc == 0) {
+ // poly is CCW if prev x is right of next x
+ isCCW = (prev.x > next.x);
+ }
+ else {
+ // if area is positive, points are ordered CCW
+ isCCW = (disc > 0);
+ }
+ return isCCW;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocation.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocation.java
new file mode 100644
index 0000000..3b2bc14
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocation.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Location;
+
+/**
+ * Functions for locating points within basic geometric
+ * structures such as lines and rings.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PointLocation {
+
+ /**
+ * Tests whether a point lies on the line defined by a list of
+ * coordinates.
+ *
+ * @param p the point to test
+ * @param line the line coordinates
+ * @return true if the point is a vertex of the line or lies in the interior
+ * of a line segment in the line
+ */
+ public static boolean isOnLine(Coordinate p, Coordinate[] line)
+ {
+ LineIntersector lineIntersector = new RobustLineIntersector();
+ for (int i = 1; i < line.length; i++) {
+ Coordinate p0 = line[i - 1];
+ Coordinate p1 = line[i];
+ lineIntersector.computeIntersection(p, p0, p1);
+ if (lineIntersector.hasIntersection()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether a point lies on the line defined by a
+ * {@link CoordinateSequence}.
+ *
+ * @param p the point to test
+ * @param line the line coordinates
+ * @return true if the point is a vertex of the line or lies in the interior
+ * of a line segment in the line
+ */
+ public static boolean isOnLine(Coordinate p, CoordinateSequence line)
+ {
+ LineIntersector lineIntersector = new RobustLineIntersector();
+ Coordinate p0 = new Coordinate();
+ Coordinate p1 = new Coordinate();
+ int n = line.size();
+ for (int i = 1; i < n; i++) {
+ line.getCoordinate(i-1, p0);
+ line.getCoordinate(i, p1);
+ lineIntersector.computeIntersection(p, p0, p1);
+ if (lineIntersector.hasIntersection()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether a point lies inside or on a ring. The ring may be oriented in
+ * either direction. A point lying exactly on the ring boundary is considered
+ * to be inside the ring.
+ * <p>
+ * This method does <i>not</i> first check the point against the envelope of
+ * the ring.
+ *
+ * @param p
+ * point to check for ring inclusion
+ * @param ring
+ * an array of coordinates representing the ring (which must have
+ * first point identical to last point)
+ * @return true if p is inside ring
+ *
+ * @see locatePointInRing
+ */
+ public static boolean isInRing(Coordinate p, Coordinate[] ring)
+ {
+ return PointLocation.locateInRing(p, ring) != Location.EXTERIOR;
+ }
+
+ /**
+ * Determines whether a point lies in the interior, on the boundary, or in the
+ * exterior of a ring. The ring may be oriented in either direction.
+ * <p>
+ * This method does <i>not</i> first check the point against the envelope of
+ * the ring.
+ *
+ * @param p
+ * point to check for ring inclusion
+ * @param ring
+ * an array of coordinates representing the ring (which must have
+ * first point identical to last point)
+ * @return the {@link Location} of p relative to the ring
+ */
+ public static int locateInRing(Coordinate p, Coordinate[] ring)
+ {
+ return RayCrossingCounter.locatePointInRing(p, ring);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocator.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocator.java
new file mode 100644
index 0000000..27b3a6e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/PointLocator.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryCollectionIterator;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes the topological ({@link Location})
+ * of a single point to a {@link Geometry}.
+ * A {@link BoundaryNodeRule} may be specified
+ * to control the evaluation of whether the point lies on the boundary or not
+ * The default rule is to use the the <i>SFS Boundary Determination Rule</i>
+ * <p>
+ * Notes:
+ * <ul>
+ * <li>{@link LinearRing}s do not enclose any area - points inside the ring are still in the EXTERIOR of the ring.
+ * </ul>
+ * Instances of this class are not reentrant.
+ *
+ * @version 1.7
+ */
+public class PointLocator
+{
+ // default is to use OGC SFS rule
+ private BoundaryNodeRule boundaryRule =
+ //BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE;
+ BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE;
+
+ private boolean isIn; // true if the point lies in or on any Geometry element
+ private int numBoundaries; // the number of sub-elements whose boundaries the point lies in
+
+ public PointLocator() {
+ }
+
+ public PointLocator(BoundaryNodeRule boundaryRule)
+ {
+ if (boundaryRule == null)
+ throw new IllegalArgumentException("Rule must be non-null");
+ this.boundaryRule = boundaryRule;
+ }
+
+ /**
+ * Convenience method to test a point for intersection with
+ * a Geometry
+ * @param p the coordinate to test
+ * @param geom the Geometry to test
+ * @return <code>true</code> if the point is in the interior or boundary of the Geometry
+ */
+ public boolean intersects(Coordinate p, Geometry geom)
+ {
+ return locate(p, geom) != Location.EXTERIOR;
+ }
+
+ /**
+ * Computes the topological relationship ({@link Location}) of a single point
+ * to a Geometry.
+ * It handles both single-element
+ * and multi-element Geometries.
+ * The algorithm for multi-part Geometries
+ * takes into account the SFS Boundary Determination Rule.
+ *
+ * @return the {@link Location} of the point relative to the input Geometry
+ */
+ public int locate(Coordinate p, Geometry geom)
+ {
+ if (geom.isEmpty()) return Location.EXTERIOR;
+
+ if (geom instanceof LineString) {
+ return locateOnLineString(p, (LineString) geom);
+ }
+ else if (geom instanceof Polygon) {
+ return locateInPolygon(p, (Polygon) geom);
+ }
+
+ isIn = false;
+ numBoundaries = 0;
+ computeLocation(p, geom);
+ if (boundaryRule.isInBoundary(numBoundaries))
+ return Location.BOUNDARY;
+ if (numBoundaries > 0 || isIn)
+ return Location.INTERIOR;
+
+ return Location.EXTERIOR;
+ }
+
+ private void computeLocation(Coordinate p, Geometry geom)
+ {
+ if (geom instanceof Point) {
+ updateLocationInfo(locateOnPoint(p, (Point) geom));
+ }
+ if (geom instanceof LineString) {
+ updateLocationInfo(locateOnLineString(p, (LineString) geom));
+ }
+ else if (geom instanceof Polygon) {
+ updateLocationInfo(locateInPolygon(p, (Polygon) geom));
+ }
+ else if (geom instanceof MultiLineString) {
+ MultiLineString ml = (MultiLineString) geom;
+ for (int i = 0; i < ml.getNumGeometries(); i++) {
+ LineString l = (LineString) ml.getGeometryN(i);
+ updateLocationInfo(locateOnLineString(p, l));
+ }
+ }
+ else if (geom instanceof MultiPolygon) {
+ MultiPolygon mpoly = (MultiPolygon) geom;
+ for (int i = 0; i < mpoly.getNumGeometries(); i++) {
+ Polygon poly = (Polygon) mpoly.getGeometryN(i);
+ updateLocationInfo(locateInPolygon(p, poly));
+ }
+ }
+ else if (geom instanceof GeometryCollection) {
+ Iterator geomi = new GeometryCollectionIterator((GeometryCollection) geom);
+ while (geomi.hasNext()) {
+ Geometry g2 = (Geometry) geomi.next();
+ if (g2 != geom)
+ computeLocation(p, g2);
+ }
+ }
+ }
+
+ private void updateLocationInfo(int loc)
+ {
+ if (loc == Location.INTERIOR) isIn = true;
+ if (loc == Location.BOUNDARY) numBoundaries++;
+ }
+
+ private int locateOnPoint(Coordinate p, Point pt)
+ {
+ // no point in doing envelope test, since equality test is just as fast
+
+ Coordinate ptCoord = pt.getCoordinate();
+ if (ptCoord.equals2D(p))
+ return Location.INTERIOR;
+ return Location.EXTERIOR;
+ }
+
+ private int locateOnLineString(Coordinate p, LineString l)
+ {
+ // bounding-box check
+ if (! l.getEnvelopeInternal().intersects(p)) return Location.EXTERIOR;
+
+ CoordinateSequence seq = l.getCoordinateSequence();
+ if (! l.isClosed()) {
+ if (p.equals(seq.getCoordinate(0))
+ || p.equals(seq.getCoordinate(seq.size() - 1)) ) {
+ return Location.BOUNDARY;
+ }
+ }
+ if (PointLocation.isOnLine(p, seq)) {
+ return Location.INTERIOR;
+ }
+ return Location.EXTERIOR;
+ }
+
+ private int locateInPolygonRing(Coordinate p, LinearRing ring)
+ {
+ // bounding-box check
+ if (! ring.getEnvelopeInternal().intersects(p)) return Location.EXTERIOR;
+
+ return PointLocation.locateInRing(p, ring.getCoordinates());
+ }
+
+ private int locateInPolygon(Coordinate p, Polygon poly)
+ {
+ if (poly.isEmpty()) return Location.EXTERIOR;
+
+ LinearRing shell = (LinearRing) poly.getExteriorRing();
+
+ int shellLoc = locateInPolygonRing(p, shell);
+ if (shellLoc == Location.EXTERIOR) return Location.EXTERIOR;
+ if (shellLoc == Location.BOUNDARY) return Location.BOUNDARY;
+ // now test if the point lies in or on the holes
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ LinearRing hole = (LinearRing) poly.getInteriorRingN(i);
+ int holeLoc = locateInPolygonRing(p, hole);
+ if (holeLoc == Location.INTERIOR) return Location.EXTERIOR;
+ if (holeLoc == Location.BOUNDARY) return Location.BOUNDARY;
+ }
+ return Location.INTERIOR;
+ }
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/RayCrossingCounter.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/RayCrossingCounter.java
new file mode 100644
index 0000000..69cda2a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/RayCrossingCounter.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygonal;
+
+/**
+ * Counts the number of segments crossed by a horizontal ray extending to the right
+ * from a given point, in an incremental fashion.
+ * This can be used to determine whether a point lies in a {@link Polygonal} geometry.
+ * The class determines the situation where the point lies exactly on a segment.
+ * When being used for Point-In-Polygon determination, this case allows short-circuiting
+ * the evaluation.
+ * <p>
+ * This class handles polygonal geometries with any number of shells and holes.
+ * The orientation of the shell and hole rings is unimportant.
+ * In order to compute a correct location for a given polygonal geometry,
+ * it is essential that <b>all</b> segments are counted which
+ * <ul>
+ * <li>touch the ray
+ * <li>lie in in any ring which may contain the point
+ * </ul>
+ * The only exception is when the point-on-segment situation is detected, in which
+ * case no further processing is required.
+ * The implication of the above rule is that segments
+ * which can be a priori determined to <i>not</i> touch the ray
+ * (i.e. by a test of their bounding box or Y-extent)
+ * do not need to be counted. This allows for optimization by indexing.
+ * <p>
+ * This implementation uses the extended-precision orientation test,
+ * to provide maximum robustness and consistency within
+ * other algorithms.
+ *
+ * @author Martin Davis
+ *
+ */
+public class RayCrossingCounter
+{
+ /**
+ * Determines the {@link Location} of a point in a ring.
+ * This method is an exemplar of how to use this class.
+ *
+ * @param p the point to test
+ * @param ring an array of Coordinates forming a ring
+ * @return the location of the point in the ring
+ */
+ public static int locatePointInRing(Coordinate p, Coordinate[] ring)
+ {
+ RayCrossingCounter counter = new RayCrossingCounter(p);
+
+ for (int i = 1; i < ring.length; i++) {
+ Coordinate p1 = ring[i];
+ Coordinate p2 = ring[i-1];
+ counter.countSegment(p1, p2);
+ if (counter.isOnSegment())
+ return counter.getLocation();
+ }
+ return counter.getLocation();
+ }
+
+ /**
+ * Determines the {@link Location} of a point in a ring.
+ *
+ * @param p
+ * the point to test
+ * @param ring
+ * a coordinate sequence forming a ring
+ * @return the location of the point in the ring
+ */
+ public static int locatePointInRing(Coordinate p, CoordinateSequence ring) {
+ RayCrossingCounter counter = new RayCrossingCounter(p);
+
+ Coordinate p1 = new Coordinate();
+ Coordinate p2 = new Coordinate();
+ for (int i = 1; i < ring.size(); i++) {
+ ring.getCoordinate(i, p1);
+ ring.getCoordinate(i - 1, p2);
+ counter.countSegment(p1, p2);
+ if (counter.isOnSegment())
+ return counter.getLocation();
+ }
+ return counter.getLocation();
+ }
+
+ private Coordinate p;
+ private int crossingCount = 0;
+ // true if the test point lies on an input segment
+ private boolean isPointOnSegment = false;
+
+ public RayCrossingCounter(Coordinate p)
+ {
+ this.p = p;
+ }
+
+ /**
+ * Counts a segment
+ *
+ * @param p1 an endpoint of the segment
+ * @param p2 another endpoint of the segment
+ */
+ public void countSegment(Coordinate p1, Coordinate p2) {
+ /**
+ * For each segment, check if it crosses
+ * a horizontal ray running from the test point in the positive x direction.
+ */
+
+ // check if the segment is strictly to the left of the test point
+ if (p1.x < p.x && p2.x < p.x)
+ return;
+
+ // check if the point is equal to the current ring vertex
+ if (p.x == p2.x && p.y == p2.y) {
+ isPointOnSegment = true;
+ return;
+ }
+ /**
+ * For horizontal segments, check if the point is on the segment.
+ * Otherwise, horizontal segments are not counted.
+ */
+ if (p1.y == p.y && p2.y == p.y) {
+ double minx = p1.x;
+ double maxx = p2.x;
+ if (minx > maxx) {
+ minx = p2.x;
+ maxx = p1.x;
+ }
+ if (p.x >= minx && p.x <= maxx) {
+ isPointOnSegment = true;
+ }
+ return;
+ }
+ /**
+ * Evaluate all non-horizontal segments which cross a horizontal ray to the
+ * right of the test pt. To avoid double-counting shared vertices, we use the
+ * convention that
+ * <ul>
+ * <li>an upward edge includes its starting endpoint, and excludes its
+ * final endpoint
+ * <li>a downward edge excludes its starting endpoint, and includes its
+ * final endpoint
+ * </ul>
+ */
+ if (((p1.y > p.y) && (p2.y <= p.y))
+ || ((p2.y > p.y) && (p1.y <= p.y))) {
+ int orient = Orientation.index(p1, p2, p);
+ if (orient == Orientation.COLLINEAR) {
+ isPointOnSegment = true;
+ return;
+ }
+ // Re-orient the result if needed to ensure effective segment direction is upwards
+ if (p2.y < p1.y) {
+ orient = -orient;
+ }
+ // The upward segment crosses the ray if the test point lies to the left (CCW) of the segment.
+ if (orient == Orientation.LEFT) {
+ crossingCount++;
+ }
+ }
+ }
+
+/**
+ * Reports whether the point lies exactly on one of the supplied segments.
+ * This method may be called at any time as segments are processed.
+ * If the result of this method is <tt>true</tt>,
+ * no further segments need be supplied, since the result
+ * will never change again.
+ *
+ * @return true if the point lies exactly on a segment
+ */
+ public boolean isOnSegment() { return isPointOnSegment; }
+
+ /**
+ * Gets the {@link Location} of the point relative to
+ * the ring, polygon
+ * or multipolygon from which the processed segments were provided.
+ * <p>
+ * This method only determines the correct location
+ * if <b>all</b> relevant segments must have been processed.
+ *
+ * @return the Location of the point
+ */
+ public int getLocation()
+ {
+ if (isPointOnSegment)
+ return Location.BOUNDARY;
+
+ // The point is in the interior of the ring if the number of X-crossings is
+ // odd.
+ if ((crossingCount % 2) == 1) {
+ return Location.INTERIOR;
+ }
+ return Location.EXTERIOR;
+ }
+
+ /**
+ * Tests whether the point lies in or on
+ * the ring, polygon
+ * or multipolygon from which the processed segments were provided.
+ * <p>
+ * This method only determines the correct location
+ * if <b>all</b> relevant segments must have been processed.
+ *
+ * @return true if the point lies in or on the supplied polygon
+ */
+ public boolean isPointInPolygon()
+ {
+ return getLocation() != Location.EXTERIOR;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/RectangleLineIntersector.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/RectangleLineIntersector.java
new file mode 100644
index 0000000..9024070
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/RectangleLineIntersector.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * Computes whether a rectangle intersects line segments.
+ * <p>
+ * Rectangles contain a large amount of inherent symmetry
+ * (or to put it another way, although they contain four
+ * coordinates they only actually contain 4 ordinates
+ * worth of information).
+ * The algorithm used takes advantage of the symmetry of
+ * the geometric situation
+ * to optimize performance by minimizing the number
+ * of line intersection tests.
+ *
+ * @author Martin Davis
+ *
+ */
+public class RectangleLineIntersector
+{
+ // for intersection testing, don't need to set precision model
+ private LineIntersector li = new RobustLineIntersector();
+
+ private Envelope rectEnv;
+
+ private Coordinate diagUp0;
+ private Coordinate diagUp1;
+ private Coordinate diagDown0;
+ private Coordinate diagDown1;
+
+ /**
+ * Creates a new intersector for the given query rectangle,
+ * specified as an {@link Envelope}.
+ *
+ *
+ * @param rectEnv the query rectangle, specified as an Envelope
+ */
+ public RectangleLineIntersector(Envelope rectEnv)
+ {
+ this.rectEnv = rectEnv;
+
+ /**
+ * Up and Down are the diagonal orientations
+ * relative to the Left side of the rectangle.
+ * Index 0 is the left side, 1 is the right side.
+ */
+ diagUp0 = new Coordinate(rectEnv.getMinX(), rectEnv.getMinY());
+ diagUp1 = new Coordinate(rectEnv.getMaxX(), rectEnv.getMaxY());
+ diagDown0 = new Coordinate(rectEnv.getMinX(), rectEnv.getMaxY());
+ diagDown1 = new Coordinate(rectEnv.getMaxX(), rectEnv.getMinY());
+ }
+
+ /**
+ * Tests whether the query rectangle intersects a
+ * given line segment.
+ *
+ * @param p0 the first endpoint of the segment
+ * @param p1 the second endpoint of the segment
+ * @return true if the rectangle intersects the segment
+ */
+ public boolean intersects(Coordinate p0, Coordinate p1)
+ {
+ // TODO: confirm that checking envelopes first is faster
+
+ /**
+ * If the segment envelope is disjoint from the
+ * rectangle envelope, there is no intersection
+ */
+ Envelope segEnv = new Envelope(p0, p1);
+ if (! rectEnv.intersects(segEnv))
+ return false;
+
+ /**
+ * If either segment endpoint lies in the rectangle,
+ * there is an intersection.
+ */
+ if (rectEnv.intersects(p0)) return true;
+ if (rectEnv.intersects(p1)) return true;
+
+ /**
+ * Normalize segment.
+ * This makes p0 less than p1,
+ * so that the segment runs to the right,
+ * or vertically upwards.
+ */
+ if (p0.compareTo(p1) > 0) {
+ Coordinate tmp = p0;
+ p0 = p1;
+ p1 = tmp;
+ }
+ /**
+ * Compute angle of segment.
+ * Since the segment is normalized to run left to right,
+ * it is sufficient to simply test the Y ordinate.
+ * "Upwards" means relative to the left end of the segment.
+ */
+ boolean isSegUpwards = false;
+ if (p1.y > p0.y)
+ isSegUpwards = true;
+
+ /**
+ * Since we now know that neither segment endpoint
+ * lies in the rectangle, there are two possible
+ * situations:
+ * 1) the segment is disjoint to the rectangle
+ * 2) the segment crosses the rectangle completely.
+ *
+ * In the case of a crossing, the segment must intersect
+ * a diagonal of the rectangle.
+ *
+ * To distinguish these two cases, it is sufficient
+ * to test intersection with
+ * a single diagonal of the rectangle,
+ * namely the one with slope "opposite" to the slope
+ * of the segment.
+ * (Note that if the segment is axis-parallel,
+ * it must intersect both diagonals, so this is
+ * still sufficient.)
+ */
+ if (isSegUpwards) {
+ li.computeIntersection(p0, p1, diagDown0, diagDown1);
+ }
+ else {
+ li.computeIntersection(p0, p1, diagUp0, diagUp1);
+ }
+ if (li.hasIntersection())
+ return true;
+ return false;
+
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustDeterminant.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustDeterminant.java
new file mode 100644
index 0000000..d382e82
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustDeterminant.java
@@ -0,0 +1,402 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * @version 1.7
+ */
+
+/**
+ * Implements an algorithm to compute the
+ * sign of a 2x2 determinant for double precision values robustly.
+ * It is a direct translation of code developed by Olivier Devillers.
+ * <p>
+ * The original code carries the following copyright notice:
+ *
+ * <pre>
+ *************************************************************************
+ * Author : Olivier Devillers
+ * Olivier.Devillers at sophia.inria.fr
+ * http:/www.inria.fr:/prisme/personnel/devillers/anglais/determinant.html
+ *
+ * Relicensed under EDL and EPL with Permission from Olivier Devillers
+ *
+ **************************************************************************
+ *
+ **************************************************************************
+ * Copyright (c) 1995 by INRIA Prisme Project
+ * BP 93 06902 Sophia Antipolis Cedex, France.
+ * All rights reserved
+ **************************************************************************
+ * </pre>
+ *
+ * @version 1.7
+ */
+public class RobustDeterminant {
+
+ //public static int callCount = 0; // debugging only
+
+ /*
+ // test point to allow injecting test code
+ public static int signOfDet2x2(double x1, double y1, double x2, double y2)
+ {
+ int d1 = originalSignOfDet2x2(x1, y1, x2, y2);
+ int d2 = -originalSignOfDet2x2(y1, x1, x2, y2);
+ assert d1 == -d2;
+ return d1;
+ }
+ */
+
+ /*
+ * Test code to force a standard ordering of input ordinates.
+ * A possible fix for a rare problem where evaluation is order-dependent.
+ */
+ /*
+ public static int signOfDet2x2(double x1, double y1, double x2, double y2)
+ {
+ if (x1 > x2) {
+ return -signOfDet2x2ordX(x2, y2, x1, y1);
+ }
+ return signOfDet2x2ordX(x1, y1, x2, y2);
+ }
+
+ private static int signOfDet2x2ordX(double x1, double y1, double x2, double y2)
+ {
+ if (y1 > y2) {
+ return -originalSignOfDet2x2(y1, x1, y2, x2);
+ }
+ return originalSignOfDet2x2(x1, y1, x2, y2);
+ }
+ // */
+
+ /**
+ * Computes the sign of the determinant of the 2x2 matrix
+ * with the given entries, in a robust way.
+ *
+ * @return -1 if the determinant is negative,
+ * @return 1 if the determinant is positive,
+ * @return 0 if the determinant is 0.
+ */
+ //private static int originalSignOfDet2x2(double x1, double y1, double x2, double y2) {
+ public static int signOfDet2x2(double x1, double y1, double x2, double y2) {
+ // returns -1 if the determinant is negative,
+ // returns 1 if the determinant is positive,
+ // returns 0 if the determinant is null.
+ int sign;
+ double swap;
+ double k;
+ long count = 0;
+
+ //callCount++; // debugging only
+
+ sign = 1;
+
+ /*
+ * testing null entries
+ */
+ if ((x1 == 0.0) || (y2 == 0.0)) {
+ if ((y1 == 0.0) || (x2 == 0.0)) {
+ return 0;
+ }
+ else if (y1 > 0) {
+ if (x2 > 0) {
+ return -sign;
+ }
+ else {
+ return sign;
+ }
+ }
+ else {
+ if (x2 > 0) {
+ return sign;
+ }
+ else {
+ return -sign;
+ }
+ }
+ }
+ if ((y1 == 0.0) || (x2 == 0.0)) {
+ if (y2 > 0) {
+ if (x1 > 0) {
+ return sign;
+ }
+ else {
+ return -sign;
+ }
+ }
+ else {
+ if (x1 > 0) {
+ return -sign;
+ }
+ else {
+ return sign;
+ }
+ }
+ }
+
+ /*
+ * making y coordinates positive and permuting the entries
+ */
+ /*
+ * so that y2 is the biggest one
+ */
+ if (0.0 < y1) {
+ if (0.0 < y2) {
+ if (y1 <= y2) {
+ ;
+ }
+ else {
+ sign = -sign;
+ swap = x1;
+ x1 = x2;
+ x2 = swap;
+ swap = y1;
+ y1 = y2;
+ y2 = swap;
+ }
+ }
+ else {
+ if (y1 <= -y2) {
+ sign = -sign;
+ x2 = -x2;
+ y2 = -y2;
+ }
+ else {
+ swap = x1;
+ x1 = -x2;
+ x2 = swap;
+ swap = y1;
+ y1 = -y2;
+ y2 = swap;
+ }
+ }
+ }
+ else {
+ if (0.0 < y2) {
+ if (-y1 <= y2) {
+ sign = -sign;
+ x1 = -x1;
+ y1 = -y1;
+ }
+ else {
+ swap = -x1;
+ x1 = x2;
+ x2 = swap;
+ swap = -y1;
+ y1 = y2;
+ y2 = swap;
+ }
+ }
+ else {
+ if (y1 >= y2) {
+ x1 = -x1;
+ y1 = -y1;
+ x2 = -x2;
+ y2 = -y2;
+ ;
+ }
+ else {
+ sign = -sign;
+ swap = -x1;
+ x1 = -x2;
+ x2 = swap;
+ swap = -y1;
+ y1 = -y2;
+ y2 = swap;
+ }
+ }
+ }
+
+ /*
+ * making x coordinates positive
+ */
+ /*
+ * if |x2| < |x1| one can conclude
+ */
+ if (0.0 < x1) {
+ if (0.0 < x2) {
+ if (x1 <= x2) {
+ ;
+ }
+ else {
+ return sign;
+ }
+ }
+ else {
+ return sign;
+ }
+ }
+ else {
+ if (0.0 < x2) {
+ return -sign;
+ }
+ else {
+ if (x1 >= x2) {
+ sign = -sign;
+ x1 = -x1;
+ x2 = -x2;
+ ;
+ }
+ else {
+ return -sign;
+ }
+ }
+ }
+
+ /*
+ * all entries strictly positive x1 <= x2 and y1 <= y2
+ */
+ while (true) {
+ count = count + 1;
+ // MD - UNSAFE HACK for testing only!
+// k = (int) (x2 / x1);
+ k = Math.floor(x2 / x1);
+ x2 = x2 - k * x1;
+ y2 = y2 - k * y1;
+
+ /*
+ * testing if R (new U2) is in U1 rectangle
+ */
+ if (y2 < 0.0) {
+ return -sign;
+ }
+ if (y2 > y1) {
+ return sign;
+ }
+
+ /*
+ * finding R'
+ */
+ if (x1 > x2 + x2) {
+ if (y1 < y2 + y2) {
+ return sign;
+ }
+ }
+ else {
+ if (y1 > y2 + y2) {
+ return -sign;
+ }
+ else {
+ x2 = x1 - x2;
+ y2 = y1 - y2;
+ sign = -sign;
+ }
+ }
+ if (y2 == 0.0) {
+ if (x2 == 0.0) {
+ return 0;
+ }
+ else {
+ return -sign;
+ }
+ }
+ if (x2 == 0.0) {
+ return sign;
+ }
+
+ /*
+ * exchange 1 and 2 role.
+ */
+ // MD - UNSAFE HACK for testing only!
+// k = (int) (x1 / x2);
+ k = Math.floor(x1 / x2);
+ x1 = x1 - k * x2;
+ y1 = y1 - k * y2;
+
+ /*
+ * testing if R (new U1) is in U2 rectangle
+ */
+ if (y1 < 0.0) {
+ return sign;
+ }
+ if (y1 > y2) {
+ return -sign;
+ }
+
+ /*
+ * finding R'
+ */
+ if (x2 > x1 + x1) {
+ if (y2 < y1 + y1) {
+ return -sign;
+ }
+ }
+ else {
+ if (y2 > y1 + y1) {
+ return sign;
+ }
+ else {
+ x1 = x2 - x1;
+ y1 = y2 - y1;
+ sign = -sign;
+ }
+ }
+ if (y1 == 0.0) {
+ if (x1 == 0.0) {
+ return 0;
+ }
+ else {
+ return sign;
+ }
+ }
+ if (x1 == 0.0) {
+ return -sign;
+ }
+ }
+
+ }
+
+ /**
+ * Returns the index of the direction of the point <code>q</code> relative to
+ * a vector specified by <code>p1-p2</code>.
+ *
+ * @param p1 the origin point of the vector
+ * @param p2 the final point of the vector
+ * @param q the point to compute the direction to
+ *
+ * @return 1 if q is counter-clockwise (left) from p1-p2
+ * @return -1 if q is clockwise (right) from p1-p2
+ * @return 0 if q is collinear with p1-p2
+ */
+ public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ /**
+ * MD - 9 Aug 2010 It seems that the basic algorithm is slightly orientation
+ * dependent, when computing the orientation of a point very close to a
+ * line. This is possibly due to the arithmetic in the translation to the
+ * origin.
+ *
+ * For instance, the following situation produces identical results in spite
+ * of the inverse orientation of the line segment:
+ *
+ * Coordinate p0 = new Coordinate(219.3649559090992, 140.84159161824724);
+ * Coordinate p1 = new Coordinate(168.9018919682399, -5.713787599646864);
+ *
+ * Coordinate p = new Coordinate(186.80814046338352, 46.28973405831556); int
+ * orient = orientationIndex(p0, p1, p); int orientInv =
+ * orientationIndex(p1, p0, p);
+ *
+ *
+ */
+
+ double dx1 = p2.x - p1.x;
+ double dy1 = p2.y - p1.y;
+ double dx2 = q.x - p2.x;
+ double dy2 = q.y - p2.y;
+ return signOfDet2x2(dx1, dy1, dx2, dy2);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustLineIntersector.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustLineIntersector.java
new file mode 100644
index 0000000..b54e475
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/RobustLineIntersector.java
@@ -0,0 +1,459 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+/**
+ *@version 1.7
+ */
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * A robust version of {@link LineIntersector}.
+ *
+ * @version 1.7
+ */
+public class RobustLineIntersector
+ extends LineIntersector
+{
+
+ public RobustLineIntersector() {
+ }
+
+ public void computeIntersection(Coordinate p, Coordinate p1, Coordinate p2) {
+ isProper = false;
+ // do between check first, since it is faster than the orientation test
+ if (Envelope.intersects(p1, p2, p)) {
+ if ((Orientation.index(p1, p2, p) == 0)
+ && (Orientation.index(p2, p1, p) == 0)) {
+ isProper = true;
+ if (p.equals(p1) || p.equals(p2)) {
+ isProper = false;
+ }
+ result = POINT_INTERSECTION;
+ return;
+ }
+ }
+ result = NO_INTERSECTION;
+ }
+
+ protected int computeIntersect(
+ Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2 ) {
+ isProper = false;
+
+ // first try a fast test to see if the envelopes of the lines intersect
+ if (! Envelope.intersects(p1, p2, q1, q2))
+ return NO_INTERSECTION;
+
+ // for each endpoint, compute which side of the other segment it lies
+ // if both endpoints lie on the same side of the other segment,
+ // the segments do not intersect
+ int Pq1 = Orientation.index(p1, p2, q1);
+ int Pq2 = Orientation.index(p1, p2, q2);
+
+ if ((Pq1>0 && Pq2>0) || (Pq1<0 && Pq2<0)) {
+ return NO_INTERSECTION;
+ }
+
+ int Qp1 = Orientation.index(q1, q2, p1);
+ int Qp2 = Orientation.index(q1, q2, p2);
+
+ if ((Qp1>0 && Qp2>0) || (Qp1<0 && Qp2<0)) {
+ return NO_INTERSECTION;
+ }
+
+ boolean collinear = Pq1 == 0
+ && Pq2 == 0
+ && Qp1 == 0
+ && Qp2 == 0;
+ if (collinear) {
+ return computeCollinearIntersection(p1, p2, q1, q2);
+ }
+
+ /**
+ * At this point we know that there is a single intersection point
+ * (since the lines are not collinear).
+ */
+
+ /**
+ * Check if the intersection is an endpoint. If it is, copy the endpoint as
+ * the intersection point. Copying the point rather than computing it
+ * ensures the point has the exact value, which is important for
+ * robustness. It is sufficient to simply check for an endpoint which is on
+ * the other line, since at this point we know that the inputLines must
+ * intersect.
+ */
+ if (Pq1 == 0 || Pq2 == 0 || Qp1 == 0 || Qp2 == 0) {
+ isProper = false;
+
+ /**
+ * Check for two equal endpoints.
+ * This is done explicitly rather than by the orientation tests
+ * below in order to improve robustness.
+ *
+ * [An example where the orientation tests fail to be consistent is
+ * the following (where the true intersection is at the shared endpoint
+ * POINT (19.850257749638203 46.29709338043669)
+ *
+ * LINESTRING ( 19.850257749638203 46.29709338043669, 20.31970698357233 46.76654261437082 )
+ * and
+ * LINESTRING ( -48.51001596420236 -22.063180333403878, 19.850257749638203 46.29709338043669 )
+ *
+ * which used to produce the INCORRECT result: (20.31970698357233, 46.76654261437082, NaN)
+ *
+ */
+ if (p1.equals2D(q1)
+ || p1.equals2D(q2)) {
+ intPt[0] = p1;
+ }
+ else if (p2.equals2D(q1)
+ || p2.equals2D(q2)) {
+ intPt[0] = p2;
+ }
+
+ /**
+ * Now check to see if any endpoint lies on the interior of the other segment.
+ */
+ else if (Pq1 == 0) {
+ intPt[0] = new Coordinate(q1);
+ }
+ else if (Pq2 == 0) {
+ intPt[0] = new Coordinate(q2);
+ }
+ else if (Qp1 == 0) {
+ intPt[0] = new Coordinate(p1);
+ }
+ else if (Qp2 == 0) {
+ intPt[0] = new Coordinate(p2);
+ }
+ }
+ else {
+ isProper = true;
+ intPt[0] = intersection(p1, p2, q1, q2);
+ }
+ return POINT_INTERSECTION;
+ }
+
+ private int computeCollinearIntersection(Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2) {
+ boolean p1q1p2 = Envelope.intersects(p1, p2, q1);
+ boolean p1q2p2 = Envelope.intersects(p1, p2, q2);
+ boolean q1p1q2 = Envelope.intersects(q1, q2, p1);
+ boolean q1p2q2 = Envelope.intersects(q1, q2, p2);
+
+ if (p1q1p2 && p1q2p2) {
+ intPt[0] = q1;
+ intPt[1] = q2;
+ return COLLINEAR_INTERSECTION;
+ }
+ if (q1p1q2 && q1p2q2) {
+ intPt[0] = p1;
+ intPt[1] = p2;
+ return COLLINEAR_INTERSECTION;
+ }
+ if (p1q1p2 && q1p1q2) {
+ intPt[0] = q1;
+ intPt[1] = p1;
+ return q1.equals(p1) && !p1q2p2 && !q1p2q2 ? POINT_INTERSECTION : COLLINEAR_INTERSECTION;
+ }
+ if (p1q1p2 && q1p2q2) {
+ intPt[0] = q1;
+ intPt[1] = p2;
+ return q1.equals(p2) && !p1q2p2 && !q1p1q2 ? POINT_INTERSECTION : COLLINEAR_INTERSECTION;
+ }
+ if (p1q2p2 && q1p1q2) {
+ intPt[0] = q2;
+ intPt[1] = p1;
+ return q2.equals(p1) && !p1q1p2 && !q1p2q2 ? POINT_INTERSECTION : COLLINEAR_INTERSECTION;
+ }
+ if (p1q2p2 && q1p2q2) {
+ intPt[0] = q2;
+ intPt[1] = p2;
+ return q2.equals(p2) && !p1q1p2 && !q1p1q2 ? POINT_INTERSECTION : COLLINEAR_INTERSECTION;
+ }
+ return NO_INTERSECTION;
+ }
+
+ /**
+ * This method computes the actual value of the intersection point.
+ * To obtain the maximum precision from the intersection calculation,
+ * the coordinates are normalized by subtracting the minimum
+ * ordinate values (in absolute value). This has the effect of
+ * removing common significant digits from the calculation to
+ * maintain more bits of precision.
+ */
+ private Coordinate intersection(
+ Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2)
+ {
+ Coordinate intPt = intersectionWithNormalization(p1, p2, q1, q2);
+
+ /*
+ // TESTING ONLY
+ Coordinate intPtDD = CGAlgorithmsDD.intersection(p1, p2, q1, q2);
+ double dist = intPt.distance(intPtDD);
+ System.out.println(intPt + " - " + intPtDD + " dist = " + dist);
+ //intPt = intPtDD;
+ */
+
+ /**
+ * Due to rounding it can happen that the computed intersection is
+ * outside the envelopes of the input segments. Clearly this
+ * is inconsistent.
+ * This code checks this condition and forces a more reasonable answer
+ *
+ * MD - May 4 2005 - This is still a problem. Here is a failure case:
+ *
+ * LINESTRING (2089426.5233462777 1180182.3877339689, 2085646.6891757075 1195618.7333999649)
+ * LINESTRING (1889281.8148903656 1997547.0560044837, 2259977.3672235999 483675.17050843034)
+ * int point = (2097408.2633752143,1144595.8008114607)
+ *
+ * MD - Dec 14 2006 - This does not seem to be a failure case any longer
+ */
+ if (! isInSegmentEnvelopes(intPt)) {
+// System.out.println("Intersection outside segment envelopes: " + intPt);
+
+ // compute a safer result
+ // copy the coordinate, since it may be rounded later
+ intPt = new Coordinate(nearestEndpoint(p1, p2, q1, q2));
+// intPt = CentralEndpointIntersector.getIntersection(p1, p2, q1, q2);
+
+// System.out.println("Segments: " + this);
+// System.out.println("Snapped to " + intPt);
+// checkDD(p1, p2, q1, q2, intPt);
+ }
+ if (precisionModel != null) {
+ precisionModel.makePrecise(intPt);
+ }
+ return intPt;
+ }
+
+ private void checkDD(Coordinate p1, Coordinate p2, Coordinate q1,
+ Coordinate q2, Coordinate intPt)
+ {
+ Coordinate intPtDD = CGAlgorithmsDD.intersection(p1, p2, q1, q2);
+ boolean isIn = isInSegmentEnvelopes(intPtDD);
+ System.out.println( "DD in env = " + isIn + " --------------------- " + intPtDD);
+ if (intPt.distance(intPtDD) > 0.0001) {
+ System.out.println("Distance = " + intPt.distance(intPtDD));
+ }
+ }
+
+ private Coordinate intersectionWithNormalization(
+ Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2)
+ {
+ Coordinate n1 = new Coordinate(p1);
+ Coordinate n2 = new Coordinate(p2);
+ Coordinate n3 = new Coordinate(q1);
+ Coordinate n4 = new Coordinate(q2);
+ Coordinate normPt = new Coordinate();
+ normalizeToEnvCentre(n1, n2, n3, n4, normPt);
+
+ Coordinate intPt = safeHCoordinateIntersection(n1, n2, n3, n4);
+
+ intPt.x += normPt.x;
+ intPt.y += normPt.y;
+
+ return intPt;
+ }
+
+ /**
+ * Computes a segment intersection using homogeneous coordinates.
+ * Round-off error can cause the raw computation to fail,
+ * (usually due to the segments being approximately parallel).
+ * If this happens, a reasonable approximation is computed instead.
+ *
+ * @param p1 a segment endpoint
+ * @param p2 a segment endpoint
+ * @param q1 a segment endpoint
+ * @param q2 a segment endpoint
+ * @return the computed intersection point
+ */
+ private Coordinate safeHCoordinateIntersection(Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2)
+ {
+ Coordinate intPt = null;
+ try {
+ intPt = HCoordinate.intersection(p1, p2, q1, q2);
+ }
+ catch (NotRepresentableException e) {
+// System.out.println("Not calculable: " + this);
+ // compute an approximate result
+// intPt = CentralEndpointIntersector.getIntersection(p1, p2, q1, q2);
+ intPt = nearestEndpoint(p1, p2, q1, q2);
+ // System.out.println("Snapped to " + intPt);
+ }
+ return intPt;
+ }
+
+ /**
+ * Normalize the supplied coordinates so that
+ * their minimum ordinate values lie at the origin.
+ * NOTE: this normalization technique appears to cause
+ * large errors in the position of the intersection point for some cases.
+ *
+ * @param n1
+ * @param n2
+ * @param n3
+ * @param n4
+ * @param normPt
+ */
+ private void normalizeToMinimum(
+ Coordinate n1,
+ Coordinate n2,
+ Coordinate n3,
+ Coordinate n4,
+ Coordinate normPt)
+ {
+ normPt.x = smallestInAbsValue(n1.x, n2.x, n3.x, n4.x);
+ normPt.y = smallestInAbsValue(n1.y, n2.y, n3.y, n4.y);
+ n1.x -= normPt.x; n1.y -= normPt.y;
+ n2.x -= normPt.x; n2.y -= normPt.y;
+ n3.x -= normPt.x; n3.y -= normPt.y;
+ n4.x -= normPt.x; n4.y -= normPt.y;
+ }
+
+ /**
+ * Normalize the supplied coordinates to
+ * so that the midpoint of their intersection envelope
+ * lies at the origin.
+ *
+ * @param n00
+ * @param n01
+ * @param n10
+ * @param n11
+ * @param normPt
+ */
+ private void normalizeToEnvCentre(
+ Coordinate n00,
+ Coordinate n01,
+ Coordinate n10,
+ Coordinate n11,
+ Coordinate normPt)
+ {
+ double minX0 = n00.x < n01.x ? n00.x : n01.x;
+ double minY0 = n00.y < n01.y ? n00.y : n01.y;
+ double maxX0 = n00.x > n01.x ? n00.x : n01.x;
+ double maxY0 = n00.y > n01.y ? n00.y : n01.y;
+
+ double minX1 = n10.x < n11.x ? n10.x : n11.x;
+ double minY1 = n10.y < n11.y ? n10.y : n11.y;
+ double maxX1 = n10.x > n11.x ? n10.x : n11.x;
+ double maxY1 = n10.y > n11.y ? n10.y : n11.y;
+
+ double intMinX = minX0 > minX1 ? minX0 : minX1;
+ double intMaxX = maxX0 < maxX1 ? maxX0 : maxX1;
+ double intMinY = minY0 > minY1 ? minY0 : minY1;
+ double intMaxY = maxY0 < maxY1 ? maxY0 : maxY1;
+
+ double intMidX = (intMinX + intMaxX) / 2.0;
+ double intMidY = (intMinY + intMaxY) / 2.0;
+ normPt.x = intMidX;
+ normPt.y = intMidY;
+
+ /*
+ // equilavalent code using more modular but slower method
+ Envelope env0 = new Envelope(n00, n01);
+ Envelope env1 = new Envelope(n10, n11);
+ Envelope intEnv = env0.intersection(env1);
+ Coordinate intMidPt = intEnv.centre();
+
+ normPt.x = intMidPt.x;
+ normPt.y = intMidPt.y;
+ */
+
+ n00.x -= normPt.x; n00.y -= normPt.y;
+ n01.x -= normPt.x; n01.y -= normPt.y;
+ n10.x -= normPt.x; n10.y -= normPt.y;
+ n11.x -= normPt.x; n11.y -= normPt.y;
+ }
+
+ private double smallestInAbsValue(double x1, double x2, double x3, double x4)
+ {
+ double x = x1;
+ double xabs = Math.abs(x);
+ if (Math.abs(x2) < xabs) {
+ x = x2;
+ xabs = Math.abs(x2);
+ }
+ if (Math.abs(x3) < xabs) {
+ x = x3;
+ xabs = Math.abs(x3);
+ }
+ if (Math.abs(x4) < xabs) {
+ x = x4;
+ }
+ return x;
+ }
+
+ /**
+ * Tests whether a point lies in the envelopes of both input segments.
+ * A correctly computed intersection point should return <code>true</code>
+ * for this test.
+ * Since this test is for debugging purposes only, no attempt is
+ * made to optimize the envelope test.
+ *
+ * @return <code>true</code> if the input point lies within both input segment envelopes
+ */
+ private boolean isInSegmentEnvelopes(Coordinate intPt)
+ {
+ Envelope env0 = new Envelope(inputLines[0][0], inputLines[0][1]);
+ Envelope env1 = new Envelope(inputLines[1][0], inputLines[1][1]);
+ return env0.contains(intPt) && env1.contains(intPt);
+ }
+
+ /**
+ * Finds the endpoint of the segments P and Q which
+ * is closest to the other segment.
+ * This is a reasonable surrogate for the true
+ * intersection points in ill-conditioned cases
+ * (e.g. where two segments are nearly coincident,
+ * or where the endpoint of one segment lies almost on the other segment).
+ * <p>
+ * This replaces the older CentralEndpoint heuristic,
+ * which chose the wrong endpoint in some cases
+ * where the segments had very distinct slopes
+ * and one endpoint lay almost on the other segment.
+ *
+ * @param p1 an endpoint of segment P
+ * @param p2 an endpoint of segment P
+ * @param q1 an endpoint of segment Q
+ * @param q2 an endpoint of segment Q
+ * @return the nearest endpoint to the other segment
+ */
+ private static Coordinate nearestEndpoint(Coordinate p1, Coordinate p2,
+ Coordinate q1, Coordinate q2)
+ {
+ Coordinate nearestPt = p1;
+ double minDist = Distance.pointToSegment(p1, q1, q2);
+
+ double dist = Distance.pointToSegment(p2, q1, q2);
+ if (dist < minDist) {
+ minDist = dist;
+ nearestPt = p2;
+ }
+ dist = Distance.pointToSegment(q1, p1, p2);
+ if (dist < minDist) {
+ minDist = dist;
+ nearestPt = q1;
+ }
+ dist = Distance.pointToSegment(q2, p1, p2);
+ if (dist < minDist) {
+ minDist = dist;
+ nearestPt = q2;
+ }
+ return nearestPt;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.java
new file mode 100644
index 0000000..774802b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * An algorithm for computing a distance metric
+ * which is an approximation to the Hausdorff Distance
+ * based on a discretization of the input {@link Geometry}.
+ * The algorithm computes the Hausdorff distance restricted to discrete points
+ * for one of the geometries.
+ * The points can be either the vertices of the geometries (the default),
+ * or the geometries with line segments densified by a given fraction.
+ * Also determines two points of the Geometries which are separated by the computed distance.
+* <p>
+ * This algorithm is an approximation to the standard Hausdorff distance.
+ * Specifically,
+ * <pre>
+ * for all geometries a, b: DHD(a, b) <= HD(a, b)
+ * </pre>
+ * The approximation can be made as close as needed by densifying the input geometries.
+ * In the limit, this value will approach the true Hausdorff distance:
+ * <pre>
+ * DHD(A, B, densifyFactor) -> HD(A, B) as densifyFactor -> 0.0
+ * </pre>
+ * The default approximation is exact or close enough for a large subset of useful cases.
+ * Examples of these are:
+ * <ul>
+ * <li>computing distance between Linestrings that are roughly parallel to each other,
+ * and roughly equal in length. This occurs in matching linear networks.
+ * <li>Testing similarity of geometries.
+ * </ul>
+ * An example where the default approximation is not close is:
+ * <pre>
+ * A = LINESTRING (0 0, 100 0, 10 100, 10 100)
+ * B = LINESTRING (0 100, 0 10, 80 10)
+ *
+ * DHD(A, B) = 22.360679774997898
+ * HD(A, B) ~= 47.8
+ * </pre>
+ */
+public class DiscreteHausdorffDistance
+{
+ public static double distance(Geometry g0, Geometry g1)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(g0, g1);
+ return dist.distance();
+ }
+
+ public static double distance(Geometry g0, Geometry g1, double densifyFrac)
+ {
+ DiscreteHausdorffDistance dist = new DiscreteHausdorffDistance(g0, g1);
+ dist.setDensifyFraction(densifyFrac);
+ return dist.distance();
+ }
+
+ private Geometry g0;
+ private Geometry g1;
+ private PointPairDistance ptDist = new PointPairDistance();
+
+ /**
+ * Value of 0.0 indicates that no densification should take place
+ */
+ private double densifyFrac = 0.0;
+
+ public DiscreteHausdorffDistance(Geometry g0, Geometry g1)
+ {
+ this.g0 = g0;
+ this.g1 = g1;
+ }
+
+ /**
+ * Sets the fraction by which to densify each segment.
+ * Each segment will be (virtually) split into a number of equal-length
+ * subsegments, whose fraction of the total length is closest
+ * to the given fraction.
+ *
+ * @param densifyFrac
+ */
+ public void setDensifyFraction(double densifyFrac)
+ {
+ if (densifyFrac > 1.0
+ || densifyFrac <= 0.0)
+ throw new IllegalArgumentException("Fraction is not in range (0.0 - 1.0]");
+
+ this.densifyFrac = densifyFrac;
+ }
+
+ public double distance()
+ {
+ compute(g0, g1);
+ return ptDist.getDistance();
+ }
+
+ public double orientedDistance()
+ {
+ computeOrientedDistance(g0, g1, ptDist);
+ return ptDist.getDistance();
+ }
+
+ public Coordinate[] getCoordinates() { return ptDist.getCoordinates(); }
+
+ private void compute(Geometry g0, Geometry g1)
+ {
+ computeOrientedDistance(g0, g1, ptDist);
+ computeOrientedDistance(g1, g0, ptDist);
+ }
+
+ private void computeOrientedDistance(Geometry discreteGeom, Geometry geom, PointPairDistance ptDist)
+ {
+ MaxPointDistanceFilter distFilter = new MaxPointDistanceFilter(geom);
+ discreteGeom.apply(distFilter);
+ ptDist.setMaximum(distFilter.getMaxPointDistance());
+
+ if (densifyFrac > 0) {
+ MaxDensifiedByFractionDistanceFilter fracFilter = new MaxDensifiedByFractionDistanceFilter(geom, densifyFrac);
+ discreteGeom.apply(fracFilter);
+ ptDist.setMaximum(fracFilter.getMaxPointDistance());
+
+ }
+ }
+
+ public static class MaxPointDistanceFilter
+ implements CoordinateFilter
+ {
+ private PointPairDistance maxPtDist = new PointPairDistance();
+ private PointPairDistance minPtDist = new PointPairDistance();
+ private DistanceToPoint euclideanDist = new DistanceToPoint();
+ private Geometry geom;
+
+ public MaxPointDistanceFilter(Geometry geom)
+ {
+ this.geom = geom;
+ }
+
+ public void filter(Coordinate pt)
+ {
+ minPtDist.initialize();
+ DistanceToPoint.computeDistance(geom, pt, minPtDist);
+ maxPtDist.setMaximum(minPtDist);
+ }
+
+ public PointPairDistance getMaxPointDistance() { return maxPtDist; }
+ }
+
+ public static class MaxDensifiedByFractionDistanceFilter
+ implements CoordinateSequenceFilter
+ {
+ private PointPairDistance maxPtDist = new PointPairDistance();
+ private PointPairDistance minPtDist = new PointPairDistance();
+ private Geometry geom;
+ private int numSubSegs = 0;
+
+ public MaxDensifiedByFractionDistanceFilter(Geometry geom, double fraction) {
+ this.geom = geom;
+ numSubSegs = (int) Math.rint(1.0/fraction);
+ }
+
+ public void filter(CoordinateSequence seq, int index)
+ {
+ /**
+ * This logic also handles skipping Point geometries
+ */
+ if (index == 0)
+ return;
+
+ Coordinate p0 = seq.getCoordinate(index - 1);
+ Coordinate p1 = seq.getCoordinate(index);
+
+ double delx = (p1.x - p0.x)/numSubSegs;
+ double dely = (p1.y - p0.y)/numSubSegs;
+
+ for (int i = 0; i < numSubSegs; i++) {
+ double x = p0.x + i*delx;
+ double y = p0.y + i*dely;
+ Coordinate pt = new Coordinate(x, y);
+ minPtDist.initialize();
+ DistanceToPoint.computeDistance(geom, pt, minPtDist);
+ maxPtDist.setMaximum(minPtDist);
+ }
+
+
+ }
+
+ public boolean isGeometryChanged() { return false; }
+
+ public boolean isDone() { return false; }
+
+ public PointPairDistance getMaxPointDistance() {
+ return maxPtDist;
+ }
+}
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DistanceToPoint.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DistanceToPoint.java
new file mode 100644
index 0000000..b76ee05
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/DistanceToPoint.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes the Euclidean distance (L2 metric) from a {@link Coordinate} to a {@link Geometry}.
+ * Also computes two points on the geometry which are separated by the distance found.
+ */
+public class DistanceToPoint
+{
+
+ public DistanceToPoint() {
+ }
+
+ public static void computeDistance(Geometry geom, Coordinate pt, PointPairDistance ptDist)
+ {
+ if (geom instanceof LineString) {
+ computeDistance((LineString) geom, pt, ptDist);
+ }
+ else if (geom instanceof Polygon) {
+ computeDistance((Polygon) geom, pt, ptDist);
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ computeDistance(g, pt, ptDist);
+ }
+ }
+ else { // assume geom is Point
+ ptDist.setMinimum(geom.getCoordinate(), pt);
+ }
+ }
+
+ public static void computeDistance(LineString line, Coordinate pt, PointPairDistance ptDist)
+ {
+ LineSegment tempSegment = new LineSegment();
+ Coordinate[] coords = line.getCoordinates();
+ for (int i = 0; i < coords.length - 1; i++) {
+ tempSegment.setCoordinates(coords[i], coords[i + 1]);
+ // this is somewhat inefficient - could do better
+ Coordinate closestPt = tempSegment.closestPoint(pt);
+ ptDist.setMinimum(closestPt, pt);
+ }
+ }
+
+ public static void computeDistance(LineSegment segment, Coordinate pt, PointPairDistance ptDist)
+ {
+ Coordinate closestPt = segment.closestPoint(pt);
+ ptDist.setMinimum(closestPt, pt);
+ }
+
+ public static void computeDistance(Polygon poly, Coordinate pt, PointPairDistance ptDist)
+ {
+ computeDistance(poly.getExteriorRing(), pt, ptDist);
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ computeDistance(poly.getInteriorRingN(i), pt, ptDist);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/PointPairDistance.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/PointPairDistance.java
new file mode 100644
index 0000000..4728274
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/PointPairDistance.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * Contains a pair of points and the distance between them.
+ * Provides methods to update with a new point pair with
+ * either maximum or minimum distance.
+ */
+public class PointPairDistance {
+
+ private Coordinate[] pt = { new Coordinate(), new Coordinate() };
+ private double distance = Double.NaN;
+ private boolean isNull = true;
+
+ public PointPairDistance()
+ {
+ }
+
+ public void initialize() { isNull = true; }
+
+ public void initialize(Coordinate p0, Coordinate p1)
+ {
+ pt[0].setCoordinate(p0);
+ pt[1].setCoordinate(p1);
+ distance = p0.distance(p1);
+ isNull = false;
+ }
+
+ /**
+ * Initializes the points, avoiding recomputing the distance.
+ * @param p0
+ * @param p1
+ * @param distance the distance between p0 and p1
+ */
+ private void initialize(Coordinate p0, Coordinate p1, double distance)
+ {
+ pt[0].setCoordinate(p0);
+ pt[1].setCoordinate(p1);
+ this.distance = distance;
+ isNull = false;
+ }
+
+ public double getDistance() { return distance; }
+
+ public Coordinate[] getCoordinates() { return pt; }
+
+ public Coordinate getCoordinate(int i) { return pt[i]; }
+
+ public void setMaximum(PointPairDistance ptDist)
+ {
+ setMaximum(ptDist.pt[0], ptDist.pt[1]);
+ }
+
+ public void setMaximum(Coordinate p0, Coordinate p1)
+ {
+ if (isNull) {
+ initialize(p0, p1);
+ return;
+ }
+ double dist = p0.distance(p1);
+ if (dist > distance)
+ initialize(p0, p1, dist);
+ }
+
+ public void setMinimum(PointPairDistance ptDist)
+ {
+ setMinimum(ptDist.pt[0], ptDist.pt[1]);
+ }
+
+ public void setMinimum(Coordinate p0, Coordinate p1)
+ {
+ if (isNull) {
+ initialize(p0, p1);
+ return;
+ }
+ double dist = p0.distance(p1);
+ if (dist < distance)
+ initialize(p0, p1, dist);
+ }
+
+ public String toString()
+ {
+ return WKTWriter.toLineString(pt[0], pt[1]);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/package.html b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/package.html
new file mode 100644
index 0000000..b1caa99
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/distance/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to compute distance metrics between geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocator.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocator.java
new file mode 100644
index 0000000..c75d1a5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocator.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.locate;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.RayCrossingCounter;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.index.ArrayListVisitor;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.intervalrtree.SortedPackedIntervalRTree;
+
+
+/**
+ * Determines the {@link Location} of {@link Coordinate}s relative to
+ * an areal geometry, using indexing for efficiency.
+ * This algorithm is suitable for use in cases where
+ * many points will be tested against a given area.
+ * <p>
+ * The Location is computed precisely, in that points
+ * located on the geometry boundary or segments will
+ * return {@link Location.BOUNDARY}.
+ * <p>
+ * {@link Polygonal} and {@link LinearRing} geometries
+ * are supported.
+ *
+ * Thread-safe and immutable.
+ *
+ * @author Martin Davis
+ *
+ */
+public class IndexedPointInAreaLocator
+ implements PointOnGeometryLocator
+{
+ private final IntervalIndexedGeometry index;
+
+ /**
+ * Creates a new locator for a given {@link Geometry}.
+ * {@link Polygonal} and {@link LinearRing} geometries
+ * are supported.
+ *
+ * @param g the Geometry to locate in
+ */
+ public IndexedPointInAreaLocator(Geometry g)
+ {
+ if (! (g instanceof Polygonal || g instanceof LinearRing))
+ throw new IllegalArgumentException("Argument must be Polygonal or LinearRing");
+ index = new IntervalIndexedGeometry(g);
+ }
+
+ /**
+ * Determines the {@link Location} of a point in an areal {@link Geometry}.
+ *
+ * @param p the point to test
+ * @return the location of the point in the geometry
+ */
+ public int locate(Coordinate p)
+ {
+ RayCrossingCounter rcc = new RayCrossingCounter(p);
+
+ SegmentVisitor visitor = new SegmentVisitor(rcc);
+ index.query(p.y, p.y, visitor);
+
+ /*
+ // MD - slightly slower alternative
+ List segs = index.query(p.y, p.y);
+ countSegs(rcc, segs);
+ */
+
+ return rcc.getLocation();
+ }
+
+ private static class SegmentVisitor
+ implements ItemVisitor
+ {
+ private RayCrossingCounter counter;
+
+ public SegmentVisitor(RayCrossingCounter counter)
+ {
+ this.counter = counter;
+ }
+
+ public void visitItem(Object item)
+ {
+ LineSegment seg = (LineSegment) item;
+ counter.countSegment(seg.getCoordinate(0), seg.getCoordinate(1));
+ }
+ }
+
+ private static class IntervalIndexedGeometry
+ {
+ private final SortedPackedIntervalRTree index= new SortedPackedIntervalRTree();
+
+ public IntervalIndexedGeometry(Geometry geom)
+ {
+ init(geom);
+ }
+
+ private void init(Geometry geom)
+ {
+ List lines = LinearComponentExtracter.getLines(geom);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ Coordinate[] pts = line.getCoordinates();
+ addLine(pts);
+ }
+ }
+
+ private void addLine(Coordinate[] pts)
+ {
+ for (int i = 1; i < pts.length; i++) {
+ LineSegment seg = new LineSegment(pts[i-1], pts[i]);
+ double min = Math.min(seg.p0.y, seg.p1.y);
+ double max = Math.max(seg.p0.y, seg.p1.y);
+ index.insert(min, max, seg);
+ }
+ }
+
+ public List query(double min, double max)
+ {
+ ArrayListVisitor visitor = new ArrayListVisitor();
+ index.query(min, max, visitor);
+ return visitor.getItems();
+ }
+
+ public void query(double min, double max, ItemVisitor visitor)
+ {
+ index.query(min, max, visitor);
+ }
+ }
+
+}
+
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/PointOnGeometryLocator.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/PointOnGeometryLocator.java
new file mode 100644
index 0000000..3eefc6d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/PointOnGeometryLocator.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.locate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+
+/**
+ * An interface for classes which determine the {@link Location} of
+ * points in a {@link Geometry}.
+ *
+ * @author Martin Davis
+ */
+public interface PointOnGeometryLocator
+{
+ /**
+ * Determines the {@link Location} of a point in the {@link Geometry}.
+ *
+ * @param p the point to test
+ * @return the location of the point in the geometry
+ */
+ int locate(Coordinate p);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocator.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocator.java
new file mode 100644
index 0000000..b5cd518
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocator.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.locate;
+
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryCollectionIterator;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygonal;
+
+
+/**
+ * Computes the location of points
+ * relative to a {@link Polygonal} {@link Geometry},
+ * using a simple O(n) algorithm.
+ * This algorithm is suitable for use in cases where
+ * only one or a few points will be tested against a given area.
+ * <p>
+ * The algorithm used is only guaranteed to return correct results
+ * for points which are <b>not</b> on the boundary of the Geometry.
+ *
+ * @version 1.7
+ */
+public class SimplePointInAreaLocator
+ implements PointOnGeometryLocator
+{
+
+ /**
+ * Determines the {@link Location} of a point in an areal {@link Geometry}.
+ * Computes {@link Location.BOUNDARY} if the point lies exactly
+ * on a geometry line segment.
+ *
+ * @param p the point to test
+ * @param geom the areal geometry to test
+ * @return the Location of the point in the geometry
+ */
+ public static int locate(Coordinate p, Geometry geom)
+ {
+ if (geom.isEmpty()) return Location.EXTERIOR;
+ return locateInGeometry(p, geom);
+ }
+
+ private static int locateInGeometry(Coordinate p, Geometry geom)
+ {
+ if (geom instanceof Polygon) {
+ return locatePointInPolygon(p, (Polygon) geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ Iterator geomi = new GeometryCollectionIterator((GeometryCollection) geom);
+ while (geomi.hasNext()) {
+ Geometry g2 = (Geometry) geomi.next();
+ if (g2 != geom) {
+ int loc = locateInGeometry(p, g2);
+ if (loc != Location.EXTERIOR) return loc;
+ }
+ }
+ }
+ return Location.EXTERIOR;
+ }
+
+ /**
+ * Determines the {@link Location} of a point in a {@link Polygon}.
+ * Computes {@link Location.BOUNDARY} if the point lies exactly
+ * on the polygon boundary.
+ *
+ * @param p the point to test
+ * @param poly the geometry to test
+ * @return the Location of the point in the polygon
+ */
+ public static int locatePointInPolygon(Coordinate p, Polygon poly)
+ {
+ if (poly.isEmpty()) return Location.EXTERIOR;
+ LinearRing shell = (LinearRing) poly.getExteriorRing();
+ int shellLoc = locatePointInRing(p, shell);
+ if (shellLoc != Location.INTERIOR) return shellLoc;
+
+ // now test if the point lies in or on the holes
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ LinearRing hole = (LinearRing) poly.getInteriorRingN(i);
+ int holeLoc = locatePointInRing(p, hole);
+ if (holeLoc == Location.BOUNDARY) return Location.BOUNDARY;
+ if (holeLoc == Location.INTERIOR) return Location.EXTERIOR;
+ // if in EXTERIOR of this hole keep checking the other ones
+ }
+ // If not in any hole must be inside polygon
+ return Location.INTERIOR;
+ }
+
+ /**
+ * Determines whether a point lies in a {@link Polygon}.
+ * If the point lies on the polygon boundary it is
+ * considered to be inside.
+ *
+ * @param p the point to test
+ * @param poly the geometry to test
+ * @return true if the point lies in or on the polygon
+ */
+ public static boolean containsPointInPolygon(Coordinate p, Polygon poly) {
+ return Location.EXTERIOR != locatePointInPolygon(p, poly);
+ }
+
+ /**
+ * Determines whether a point lies in a LinearRing,
+ * using the ring envelope to short-circuit if possible.
+ *
+ * @param p the point to test
+ * @param ring a linear ring
+ * @return true if the point lies inside the ring
+ */
+ private static int locatePointInRing(Coordinate p, LinearRing ring)
+ {
+ // short-circuit if point is not in ring envelope
+ if (! ring.getEnvelopeInternal().intersects(p))
+ return Location.EXTERIOR;
+ return PointLocation.locateInRing(p, ring.getCoordinates());
+ }
+
+ private Geometry geom;
+
+ public SimplePointInAreaLocator(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public int locate(Coordinate p) {
+ return SimplePointInAreaLocator.locate(p, geom);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/package.html b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/package.html
new file mode 100644
index 0000000..9826ba6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/locate/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to determine the topological location of points in geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.java
new file mode 100644
index 0000000..8f3841c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.match;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Measures the degree of similarity between two {@link Geometry}s
+ * using the area of intersection between the geometries.
+ * The measure is normalized to lie in the range [0, 1].
+ * Higher measures indicate a great degree of similarity.
+ * <p>
+ * NOTE: Currently experimental and incomplete.
+ *
+ * @author mbdavis
+ *
+ */
+public class AreaSimilarityMeasure
+ implements SimilarityMeasure
+{
+ /*
+ public static double measure(Geometry a, Geometry b)
+ {
+ AreaSimilarityMeasure gv = new AreaSimilarityMeasure(a, b);
+ return gv.measure();
+ }
+ */
+
+ public AreaSimilarityMeasure()
+ {
+ }
+
+ public double measure(Geometry g1, Geometry g2)
+ {
+ double areaInt = g1.intersection(g2).getArea();
+ double areaUnion = g1.union(g2).getArea();
+ return areaInt / areaUnion;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.java
new file mode 100644
index 0000000..31ffaed
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.match;
+
+import org.locationtech.jts.algorithm.distance.DiscreteHausdorffDistance;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Measures the degree of similarity between two {@link Geometry}s
+ * using the Hausdorff distance metric.
+ * The measure is normalized to lie in the range [0, 1].
+ * Higher measures indicate a great degree of similarity.
+ * <p>
+ * The measure is computed by computing the Hausdorff distance
+ * between the input geometries, and then normalizing
+ * this by dividing it by the diagonal distance across
+ * the envelope of the combined geometries.
+ *
+ * @author mbdavis
+ *
+ */
+public class HausdorffSimilarityMeasure
+ implements SimilarityMeasure
+{
+ /*
+ public static double measure(Geometry a, Geometry b)
+ {
+ HausdorffSimilarityMeasure gv = new HausdorffSimilarityMeasure(a, b);
+ return gv.measure();
+ }
+ */
+
+ public HausdorffSimilarityMeasure()
+ {
+ }
+
+ /*
+ * Densify a small amount to increase accuracy of Hausdorff distance
+ */
+ private static final double DENSIFY_FRACTION = 0.25;
+
+ public double measure(Geometry g1, Geometry g2)
+ {
+ double distance = DiscreteHausdorffDistance.distance(g1, g2, DENSIFY_FRACTION);
+
+ Envelope env = new Envelope(g1.getEnvelopeInternal());
+ env.expandToInclude(g2.getEnvelopeInternal());
+ double envSize = diagonalSize(env);
+ // normalize so that more similarity produces a measure closer to 1
+ double measure = 1 - distance / envSize;
+
+ //System.out.println("Hausdorff distance = " + distance + ", measure = " + measure);
+ return measure;
+ }
+
+ public static double diagonalSize(Envelope env)
+ {
+ if (env.isNull()) return 0.0;
+
+ double width = env.getWidth();
+ double hgt = env.getHeight();
+ return Math.sqrt(width * width + hgt * hgt);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasure.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasure.java
new file mode 100644
index 0000000..d7886cf
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasure.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.match;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * An interface for classes which measures the degree of similarity between two {@link Geometry}s.
+ * The computed measure lies in the range [0, 1].
+ * Higher measures indicate a great degree of similarity.
+ * A measure of 1.0 indicates that the input geometries are identical
+ * A measure of 0.0 indicates that the geometries
+ * have essentially no similarity.
+ * The precise definition of "identical" and "no similarity" may depend on the
+ * exact algorithm being used.
+ *
+ * @author mbdavis
+ *
+ */
+public interface SimilarityMeasure
+{
+
+ double measure(Geometry g1, Geometry g2);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasureCombiner.java b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasureCombiner.java
new file mode 100644
index 0000000..f6d34b8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/SimilarityMeasureCombiner.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.match;
+
+/**
+ * Provides methods to mathematically combine {@link SimilarityMeasure} values.
+ *
+ * @author Martin Davis
+ *
+ */
+public class SimilarityMeasureCombiner
+{
+ public static double combine(double measure1, double measure2)
+ {
+ return Math.min(measure1, measure2);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/match/package.html b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/package.html
new file mode 100644
index 0000000..f4f0fb0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/match/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to compute matching metrics between geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/algorithm/package.html b/modules/core/src/main/java/org/locationtech/jts/algorithm/package.html
new file mode 100644
index 0000000..db0faac
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/algorithm/package.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes and interfaces implementing fundamental computational geometry algorithms.
+
+<H3>Robustness</H3>
+
+Geometrical algorithms involve a combination of combinatorial and numerical computation. As with
+all numerical computation using finite-precision numbers, the algorithms chosen are susceptible to
+problems of robustness. A robustness problem occurs when a numerical calculation produces an
+incorrect answer for some inputs due to round-off errors. Robustness problems are especially
+serious in geometric computation, since they can result in errors during topology building.
+<P>
+There are many approaches to dealing with the problem of robustness in geometrical computation.
+Not surprisingly, most robust algorithms are substantially more complex and less performant than
+the non-robust versions. Fortunately, JTS is sensitive to robustness problems in only a few key
+functions (such as line intersection and the point-in-polygon test). There are efficient robust
+algorithms available for these functions, and these algorithms are implemented in JTS.
+
+<H3>Computational Performance</H3>
+
+Runtime performance is an important consideration for a production-quality implementation of
+geometric algorithms. The most computationally intensive algorithm used in JTS is intersection
+detection. JTS methods need to determine both all intersection between the line segments in a
+single Geometry (self-intersection) and all intersections between the line segments of two different
+Geometries.
+<P>
+The obvious naive algorithm for intersection detection (comparing every segment with every other)
+has unacceptably slow performance. There is a large literature of faster algorithms for intersection
+detection. Unfortunately, many of them involve substantial code complexity. JTS tries to balance code
+simplicity with performance gains. It uses some simple techniques to produce substantial performance
+gains for common types of input data.
+
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/FontGlyphReader.java b/modules/core/src/main/java/org/locationtech/jts/awt/FontGlyphReader.java
new file mode 100644
index 0000000..4cdadc5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/FontGlyphReader.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.awt;
+
+import java.awt.Font;
+import java.awt.font.FontRenderContext;
+import java.awt.font.GlyphVector;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.util.AffineTransformation;
+
+/**
+ * Provides methods to read {@link Font} glyphs for strings
+ * into {@link Polygonal} geometry.
+ * <p>
+ * It is suggested to use larger point sizes to render fonts glyphs,
+ * to reduce the effects of scale-dependent hints.
+ * The result geometry is in the base coordinate system of the font.
+ * The geometry can be further transformed as necessary using
+ * {@link AffineTransformation}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class FontGlyphReader
+{
+ /**
+ * The font name of the Java logical font Serif.
+ */
+ public static final String FONT_SERIF = "Serif";
+
+ /**
+ * The font name of the Java logical font SansSerif.
+ * <p>
+ * DEPRECATED - use FONT_SANSSERIF
+ */
+ public static final String FONT_SANSERIF = "SansSerif";
+
+
+ /**
+ * The font name of the Java logical font SansSerif.
+ */
+ public static final String FONT_SANSSERIF = "SansSerif";
+
+ /**
+ * The font name of the Java logical font Monospaced.
+ */
+
+ public static final String FONT_MONOSPACED = "Monospaced";
+
+ // a flatness factor empirically determined to provide good results
+ private static final double FLATNESS_FACTOR = 400;
+
+ private FontGlyphReader() {}
+
+ /**
+ * Converts text rendered in the given font and pointsize to a {@link Geometry}
+ * using a standard flatness factor.
+ *
+ * @param text the text to render
+ * @param fontName the name of the font
+ * @param pointSize the pointSize to render at
+ * @param geomFact the geometryFactory to use to create the result
+ * @return a polygonal geometry representing the rendered text
+ */
+ public static Geometry read(String text, String fontName, int pointSize, GeometryFactory geomFact)
+ {
+ return read(text, new Font(fontName, Font.PLAIN, pointSize), geomFact);
+ }
+
+ /**
+ * Converts text rendered in the given {@link Font} to a {@link Geometry}
+ * using a standard flatness factor.
+ *
+ * @param text the text to render
+ * @param font the font to render with
+ * @param geomFact the geometryFactory to use to create the result
+ * @return a polygonal geometry representing the rendered text
+ */
+ public static Geometry read(String text, Font font, GeometryFactory geomFact)
+ {
+ double flatness = font.getSize() / FLATNESS_FACTOR;
+ return read(text, font, flatness, geomFact);
+ }
+
+ /**
+ * Converts text rendered in the given {@link Font} to a {@link Geometry}
+ *
+ * @param text the text to render
+ * @param font the font to render with
+ * @param flatness the flatness factor to use
+ * @param geomFact the geometryFactory to use to create the result
+ * @return a polygonal geometry representing the rendered text
+ */
+ public static Geometry read(String text, Font font, double flatness, GeometryFactory geomFact)
+ {
+ char[] chs = text.toCharArray();
+ FontRenderContext fontContext = new FontRenderContext(null, false, true);
+ GlyphVector gv = font.createGlyphVector(fontContext, chs);
+ List polys = new ArrayList();
+ for (int i = 0; i < gv.getNumGlyphs(); i++) {
+ Geometry geom = ShapeReader.read(gv.getGlyphOutline(i), flatness, geomFact);
+ for (int j = 0; j < geom.getNumGeometries(); j++) {
+ polys.add(geom.getGeometryN(j));
+ }
+ }
+ return geomFact.buildGeometry(polys);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/GeometryCollectionShape.java b/modules/core/src/main/java/org/locationtech/jts/awt/GeometryCollectionShape.java
new file mode 100644
index 0000000..d0a331b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/GeometryCollectionShape.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.awt;
+
+import java.awt.Rectangle;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.PathIterator;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * A {@link Shape} which contains a heterogeneous collection of other shapes
+ * representing JTS {@link Geometry}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryCollectionShape implements Shape {
+ private ArrayList shapes = new ArrayList();
+
+ public GeometryCollectionShape() {
+ }
+
+ public void add(Shape shape) {
+ shapes.add(shape);
+ }
+
+ public Rectangle getBounds() {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method getBounds() not yet implemented.");
+ }
+
+ public Rectangle2D getBounds2D() {
+ Rectangle2D rectangle = null;
+
+ for (Iterator i = shapes.iterator(); i.hasNext();) {
+ Shape shape = (Shape) i.next();
+
+ if (rectangle == null) {
+ rectangle = shape.getBounds2D();
+ } else {
+ rectangle.add(shape.getBounds2D());
+ }
+ }
+
+ return rectangle;
+ }
+
+ public boolean contains(double x, double y) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method contains() not yet implemented.");
+ }
+
+ public boolean contains(Point2D p) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method contains() not yet implemented.");
+ }
+
+ public boolean intersects(double x, double y, double w, double h) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method intersects() not yet implemented.");
+ }
+
+ public boolean intersects(Rectangle2D r) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method intersects() not yet implemented.");
+ }
+
+ public boolean contains(double x, double y, double w, double h) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method contains() not yet implemented.");
+ }
+
+ public boolean contains(Rectangle2D r) {
+ /**@todo Implement this java.awt.Shape method*/
+ throw new java.lang.UnsupportedOperationException(
+ "Method contains() not yet implemented.");
+ }
+
+ public PathIterator getPathIterator(AffineTransform at) {
+ return new ShapeCollectionPathIterator(shapes, at);
+ }
+
+ public PathIterator getPathIterator(AffineTransform at, double flatness) {
+ // since Geometry is linear, can simply delegate to the simple method
+ return getPathIterator(at);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/IdentityPointTransformation.java b/modules/core/src/main/java/org/locationtech/jts/awt/IdentityPointTransformation.java
new file mode 100644
index 0000000..18fc12f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/IdentityPointTransformation.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Copies point ordinates with no transformation.
+ *
+ * @author Martin Davis
+ *
+ */
+public class IdentityPointTransformation
+implements PointTransformation
+{
+ public void transform(Coordinate model, Point2D view)
+ {
+ view.setLocation(model.x, model.y);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/PointShapeFactory.java b/modules/core/src/main/java/org/locationtech/jts/awt/PointShapeFactory.java
new file mode 100644
index 0000000..54a1746
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/PointShapeFactory.java
@@ -0,0 +1,376 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.Shape;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Line2D;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+/**
+ * An interface for classes which create {@link Shape}s to represent
+ * {@link Point}
+ * geometries. Java2D does not provide an actual point shape, so some other
+ * shape must be used to render points (e.g. such as a Rectangle or Ellipse).
+ *
+ * @author Martin Davis
+ *
+ */
+public interface PointShapeFactory {
+ /**
+ * Creates a shape representing a {@link Point}.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ Shape createPoint(Point2D point);
+
+ public static abstract class BasePointShapeFactory implements
+ PointShapeFactory {
+ /**
+ * The default size of the shape
+ */
+ public static final double DEFAULT_SIZE = 3.0;
+
+ protected double size = DEFAULT_SIZE;
+
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public BasePointShapeFactory() {
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public BasePointShapeFactory(double size) {
+ this.size = size;
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public abstract Shape createPoint(Point2D point);
+ }
+
+ public static class Point extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public Point() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Point(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+ Line2D.Double pointMarker =
+ new Line2D.Double(
+ point.getX(),
+ point.getY(),
+ point.getX(),
+ point.getY());
+ return pointMarker;
+ }
+ }
+
+ public static class Square extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for squares with default size.
+ *
+ */
+ public Square() {
+ super();
+ }
+
+ /**
+ * Creates a factory for squares of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Square(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+ Rectangle2D.Double pointMarker =
+ new Rectangle2D.Double(
+ 0.0,
+ 0.0,
+ size,
+ size);
+ pointMarker.x = (point.getX() - (size / 2));
+ pointMarker.y = (point.getY() - (size / 2));
+
+ return pointMarker;
+ }
+ }
+
+ public static class Star extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public Star() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Star(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+ GeneralPath path = new GeneralPath();
+ path.moveTo((float) point.getX(), (float) (point.getY() - size/2));
+ path.lineTo((float) (point.getX() + size * 1/8), (float) (point.getY() - size * 1/8));
+ path.lineTo((float) (point.getX() + size/2), (float) (point.getY() - size * 1/8));
+ path.lineTo((float) (point.getX() + size * 2/8), (float) (point.getY() + size * 1/8));
+ path.lineTo((float) (point.getX() + size * 3/8), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX()), (float) (point.getY() + size * 2/8));
+ path.lineTo((float) (point.getX() - size * 3/8), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX() - size * 2/8), (float) (point.getY() + size * 1/8));
+ path.lineTo((float) (point.getX() - size/2), (float) (point.getY() - size * 1/8));
+ path.lineTo((float) (point.getX() - size * 1/8), (float) (point.getY() - size * 1/8));
+ path.closePath();
+ return path;
+ }
+ }
+
+ public static class Triangle extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public Triangle() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Triangle(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+
+ GeneralPath path = new GeneralPath();
+ path.moveTo((float) (point.getX()), (float) (point.getY() - size / 2));
+ path.lineTo((float) (point.getX() + size / 2), (float) (point.getY() + size / 2));
+ path.lineTo((float) (point.getX() - size / 2), (float) (point.getY() + size / 2));
+ path.lineTo((float) (point.getX()), (float) (point.getY() - size / 2));
+
+ return path;
+ }
+
+ }
+ public static class Circle extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public Circle() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Circle(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+ Ellipse2D.Double pointMarker =
+ new Ellipse2D.Double(
+ 0.0,
+ 0.0,
+ size,
+ size);
+ pointMarker.x = (point.getX() - (size / 2));
+ pointMarker.y = (point.getY() - (size / 2));
+
+ return pointMarker;
+ }
+
+ }
+ public static class Cross extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public Cross() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public Cross(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+
+ float x1 = (float) (point.getX() - size/2f);
+ float x2 = (float) (point.getX() - size/4f);
+ float x3 = (float) (point.getX() + size/4f);
+ float x4 = (float) (point.getX() + size/2f);
+
+ float y1 = (float) (point.getY() - size/2f);
+ float y2 = (float) (point.getY() - size/4f);
+ float y3 = (float) (point.getY() + size/4f);
+ float y4 = (float) (point.getY() + size/2f);
+
+ GeneralPath path = new GeneralPath();
+ path.moveTo(x2, y1);
+ path.lineTo(x3, y1);
+ path.lineTo(x3, y2);
+ path.lineTo(x4, y2);
+ path.lineTo(x4, y3);
+ path.lineTo(x3, y3);
+ path.lineTo(x3, y4);
+ path.lineTo(x2, y4);
+ path.lineTo(x2, y3);
+ path.lineTo(x1, y3);
+ path.lineTo(x1, y2);
+ path.lineTo(x2, y2);
+ path.lineTo(x2, y1);
+
+ return path;
+ }
+
+ }
+ public static class X extends BasePointShapeFactory {
+ /**
+ * Creates a new factory for points with default size.
+ *
+ */
+ public X() {
+ super();
+ }
+
+ /**
+ * Creates a factory for points of given size.
+ *
+ * @param size
+ * the size of the points
+ */
+ public X(double size) {
+ super(size);
+ }
+
+ /**
+ * Creates a shape representing a point.
+ *
+ * @param point
+ * the location of the point
+ * @return a shape
+ */
+ public Shape createPoint(Point2D point) {
+ GeneralPath path = new GeneralPath();
+ path.moveTo((float) (point.getX()), (float) (point.getY() - size * 1/8));
+ path.lineTo((float) (point.getX() + size * 2/8), (float) (point.getY() - size/2));
+ path.lineTo((float) (point.getX() + size/2), (float) (point.getY() - size/2));
+ path.lineTo((float) (point.getX() + size * 1/8), (float) (point.getY()));
+ path.lineTo((float) (point.getX() + size/2), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX() + size * 2/8), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX()), (float) (point.getY() + size * 1/8));
+ path.lineTo((float) (point.getX() - size * 2/8), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX() - size/2), (float) (point.getY() + size/2));
+ path.lineTo((float) (point.getX() - size * 1/8), (float) (point.getY()));
+ path.lineTo((float) (point.getX() - size/2), (float) (point.getY() - size/2));
+ path.lineTo((float) (point.getX() - size * 2/8), (float) (point.getY() - size/2));
+ path.closePath();
+ return path;
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/PointTransformation.java b/modules/core/src/main/java/org/locationtech/jts/awt/PointTransformation.java
new file mode 100644
index 0000000..c439fc8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/PointTransformation.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Point;
+
+/**
+ * Transforms a geometry {@link Coordinate} into a Java2D {@link Point},
+ * possibly with a mathematical transformation of the ordinate values.
+ * Transformation from a model coordinate system to a view coordinate system
+ * can be efficiently performed by supplying an appropriate transformation.
+ *
+ * @author Martin Davis
+ */
+public interface PointTransformation {
+ /**
+ * Transforms a {@link Coordinate} into a Java2D {@link Point}.
+ *
+ * @param src the source Coordinate
+ * @param dest the destination Point
+ */
+ public void transform(Coordinate src, Point2D dest);
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/PolygonShape.java b/modules/core/src/main/java/org/locationtech/jts/awt/PolygonShape.java
new file mode 100644
index 0000000..3bb9d43
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/PolygonShape.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.Rectangle;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.PathIterator;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * A {@link Shape} which represents a polygon which may contain holes.
+ * Provided because the standard AWT Polygon class does not support holes.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PolygonShape implements Shape
+{
+ // use a GeneralPath with a winding rule, since it supports floating point coordinates
+ private GeneralPath polygonPath;
+ private GeneralPath ringPath;
+
+ /**
+ * Creates a new polygon {@link Shape}.
+ *
+ * @param shellVertices the vertices of the shell
+ * @param holeVerticesCollection a collection of Coordinate[] for each hole
+ */
+ public PolygonShape(Coordinate[] shellVertices,
+ Collection holeVerticesCollection)
+ {
+ polygonPath = toPath(shellVertices);
+
+ for (Iterator i = holeVerticesCollection.iterator(); i.hasNext();) {
+ Coordinate[] holeVertices = (Coordinate[]) i.next();
+ polygonPath.append(toPath(holeVertices), false);
+ }
+ }
+
+ public PolygonShape()
+ {
+ }
+
+ void addToRing(Point2D p)
+ {
+ if (ringPath == null) {
+ ringPath = new GeneralPath(GeneralPath.WIND_EVEN_ODD);
+ ringPath.moveTo((float) p.getX(), (float) p.getY());
+ }
+ else {
+ ringPath.lineTo((float) p.getX(), (float) p.getY());
+ }
+ }
+
+ void endRing()
+ {
+ ringPath.closePath();
+ if (polygonPath == null) {
+ polygonPath = ringPath;
+ }
+ else {
+ polygonPath.append(ringPath, false);
+ }
+ ringPath = null;
+ }
+
+ /**
+ * Creates a GeneralPath representing a polygon ring
+ * having the given coordinate sequence.
+ * Uses the GeneralPath.WIND_EVEN_ODD winding rule.
+ *
+ * @param coordinates a coordinate sequence
+ * @return the path for the coordinate sequence
+ */
+ private GeneralPath toPath(Coordinate[] coordinates) {
+ GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD, coordinates.length);
+
+ if (coordinates.length > 0) {
+ path.moveTo((float) coordinates[0].x, (float) coordinates[0].y);
+ for (int i = 0; i < coordinates.length; i++) {
+ path.lineTo((float) coordinates[i].x, (float) coordinates[i].y);
+ }
+ }
+ return path;
+ }
+
+ public Rectangle getBounds() {
+ return polygonPath.getBounds();
+ }
+
+ public Rectangle2D getBounds2D() {
+ return polygonPath.getBounds2D();
+ }
+
+ public boolean contains(double x, double y) {
+ return polygonPath.contains(x, y);
+ }
+
+ public boolean contains(Point2D p) {
+ return polygonPath.contains(p);
+ }
+
+ public boolean intersects(double x, double y, double w, double h) {
+ return polygonPath.intersects(x, y, w, h);
+ }
+
+ public boolean intersects(Rectangle2D r) {
+ return polygonPath.intersects(r);
+ }
+
+ public boolean contains(double x, double y, double w, double h) {
+ return polygonPath.contains(x, y, w, h);
+ }
+
+ public boolean contains(Rectangle2D r) {
+ return polygonPath.contains(r);
+ }
+
+ public PathIterator getPathIterator(AffineTransform at) {
+ return polygonPath.getPathIterator(at);
+ }
+
+ public PathIterator getPathIterator(AffineTransform at, double flatness) {
+ return getPathIterator(at, flatness);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/ShapeCollectionPathIterator.java b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeCollectionPathIterator.java
new file mode 100644
index 0000000..0627fae
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeCollectionPathIterator.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.PathIterator;
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * A {@link PathIterator} which provides paths for a collection of {@link Shape}s.
+ *
+ * @author Martin Davis
+ */
+public class ShapeCollectionPathIterator implements PathIterator {
+ private Iterator shapeIterator;
+
+ // initialize with a no-op iterator
+ private PathIterator currentPathIterator = new PathIterator() {
+ public int getWindingRule() {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean isDone() {
+ return true;
+ }
+
+ public void next() {
+ }
+
+ public int currentSegment(float[] coords) {
+ throw new UnsupportedOperationException();
+ }
+
+ public int currentSegment(double[] coords) {
+ throw new UnsupportedOperationException();
+ }
+ };
+
+ private AffineTransform affineTransform;
+ private boolean done = false;
+
+ /**
+ * Creates a new path iterator for a collection of {@link Shape}s.
+ *
+ * @param shapes the Shapes in the collection
+ * @param affineTransform a optional transformation to be applied to the coordinates in the path (may be null)
+ */
+ public ShapeCollectionPathIterator(Collection shapes,
+ AffineTransform affineTransform) {
+ shapeIterator = shapes.iterator();
+ this.affineTransform = affineTransform;
+ next();
+ }
+
+ public int getWindingRule() {
+ /**
+ * WIND_NON_ZERO is more accurate than WIND_EVEN_ODD, and can be comparable
+ * in speed. (See http://www.geometryalgorithms.com/Archive/algorithm_0103/algorithm_0103.htm#Winding%20Number)
+ * However, WIND_NON_ZERO requires that the
+ * shell and holes be oriented in a certain way.
+ * So use WIND_EVEN_ODD.
+ */
+ return PathIterator.WIND_EVEN_ODD;
+ }
+
+ public boolean isDone() {
+ return done;
+ }
+
+ public void next() {
+ currentPathIterator.next();
+
+ if (currentPathIterator.isDone() && !shapeIterator.hasNext()) {
+ done = true;
+ return;
+ }
+ if (currentPathIterator.isDone()) {
+ currentPathIterator = ((Shape) shapeIterator.next()).getPathIterator(affineTransform);
+ }
+ }
+
+ public int currentSegment(float[] coords) {
+ return currentPathIterator.currentSegment(coords);
+ }
+
+ public int currentSegment(double[] coords) {
+ return currentPathIterator.currentSegment(coords);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/ShapeReader.java b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeReader.java
new file mode 100644
index 0000000..006d4c9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeReader.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.awt;
+
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.PathIterator;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+
+
+/**
+ * Converts a Java2D {@link Shape}
+ * or the more general {@link PathIterator} into a {@link Geometry}.
+ * <p>
+ * The coordinate system for Java2D is typically screen coordinates,
+ * which has the Y axis inverted
+ * relative to the usual JTS coordinate system.
+ * This is rectified during conversion.
+ * <p>
+ * PathIterators to be converted are expected to be linear or flat.
+ * That is, they should contain only <tt>SEG_MOVETO</tt>, <tt>SEG_LINETO</tt>, and <tt>SEG_CLOSE</tt> segment types.
+ * Any other segment types will cause an exception.
+ *
+ * @author Martin Davis
+ *
+ */
+public class ShapeReader
+{
+ private static final AffineTransform INVERT_Y = AffineTransform.getScaleInstance(1, -1);
+
+ /**
+ * Converts a flat path to a {@link Geometry}.
+ *
+ * @param pathIt the path to convert
+ * @param geomFact the GeometryFactory to use
+ * @return a Geometry representing the path
+ */
+ public static Geometry read(PathIterator pathIt, GeometryFactory geomFact)
+ {
+ ShapeReader pc = new ShapeReader(geomFact);
+ return pc.read(pathIt);
+ }
+
+ /**
+ * Converts a Shape to a Geometry, flattening it first.
+ *
+ * @param shp the Java2D shape
+ * @param flatness the flatness parameter to use
+ * @param geomFact the GeometryFactory to use
+ * @return a Geometry representing the shape
+ */
+ public static Geometry read(Shape shp, double flatness, GeometryFactory geomFact)
+ {
+ PathIterator pathIt = shp.getPathIterator(INVERT_Y, flatness);
+ return ShapeReader.read(pathIt, geomFact);
+ }
+
+ private GeometryFactory geometryFactory;
+
+ public ShapeReader(GeometryFactory geometryFactory) {
+ this.geometryFactory = geometryFactory;
+ }
+
+ /**
+ * Converts a flat path to a {@link Geometry}.
+ *
+ * @param pathIt the path to convert
+ * @return a Geometry representing the path
+ */
+ public Geometry read(PathIterator pathIt)
+ {
+ List pathPtSeq = toCoordinates(pathIt);
+
+ List polys = new ArrayList();
+ int seqIndex = 0;
+ while (seqIndex < pathPtSeq.size()) {
+ // assume next seq is shell
+ // TODO: test this
+ Coordinate[] pts = (Coordinate[]) pathPtSeq.get(seqIndex);
+ LinearRing shell = geometryFactory.createLinearRing(pts);
+ seqIndex++;
+
+ List holes = new ArrayList();
+ // add holes as long as rings are CCW
+ while (seqIndex < pathPtSeq.size() && isHole((Coordinate[]) pathPtSeq.get(seqIndex))) {
+ Coordinate[] holePts = (Coordinate[]) pathPtSeq.get(seqIndex);
+ LinearRing hole = geometryFactory.createLinearRing(holePts);
+ holes.add(hole);
+ seqIndex++;
+ }
+ LinearRing[] holeArray = GeometryFactory.toLinearRingArray(holes);
+ polys.add(geometryFactory.createPolygon(shell, holeArray));
+ }
+ return geometryFactory.buildGeometry(polys);
+ }
+
+ private boolean isHole(Coordinate[] pts)
+ {
+ return Orientation.isCCW(pts);
+ }
+
+ /**
+ * Extracts the points of the paths in a flat {@link PathIterator} into
+ * a list of Coordinate arrays.
+ *
+ * @param pathIt a path iterator
+ * @return a List of Coordinate arrays
+ * @throws IllegalArgumentException if a non-linear segment type is encountered
+ */
+ public static List toCoordinates(PathIterator pathIt)
+ {
+ List coordArrays = new ArrayList();
+ while (! pathIt.isDone()) {
+ Coordinate[] pts = nextCoordinateArray(pathIt);
+ if (pts == null)
+ break;
+ coordArrays.add(pts);
+ }
+ return coordArrays;
+ }
+
+ private static Coordinate[] nextCoordinateArray(PathIterator pathIt)
+ {
+ double[] pathPt = new double[6];
+ CoordinateList coordList = null;
+ boolean isDone = false;
+ while (! pathIt.isDone()) {
+ int segType = pathIt.currentSegment(pathPt);
+ switch (segType) {
+ case PathIterator.SEG_MOVETO:
+ if (coordList != null) {
+ // don't advance pathIt, to retain start of next path if any
+ isDone = true;
+ }
+ else {
+ coordList = new CoordinateList();
+ coordList.add(new Coordinate(pathPt[0], pathPt[1]));
+ pathIt.next();
+ }
+ break;
+ case PathIterator.SEG_LINETO:
+ coordList.add(new Coordinate(pathPt[0], pathPt[1]));
+ pathIt.next();
+ break;
+ case PathIterator.SEG_CLOSE:
+ coordList.closeRing();
+ pathIt.next();
+ isDone = true;
+ break;
+ default:
+ throw new IllegalArgumentException("unhandled (non-linear) segment type encountered");
+ }
+ if (isDone)
+ break;
+ }
+ return coordList.toCoordinateArray();
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/ShapeWriter.java b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeWriter.java
new file mode 100644
index 0000000..e415f08
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/ShapeWriter.java
@@ -0,0 +1,310 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.awt;
+
+import java.awt.Shape;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Point2D;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Writes {@link Geometry}s into Java2D {@link Shape} objects
+ * of the appropriate type.
+ * This supports rendering geometries using Java2D.
+ * The ShapeWriter allows supplying a {@link PointTransformation}
+ * class, to transform coordinates from model space into view space.
+ * This is useful if a client is providing its own transformation
+ * logic, rather than relying on Java2D <tt>AffineTransform</tt>s.
+ * <p>
+ * The writer supports removing duplicate consecutive points
+ * (via the {@link #setRemoveDuplicatePoints(boolean)} method)
+ * as well as true <b>decimation</b>
+ * (via the {@link #setDecimation(double)} method.
+ * Enabling one of these strategies can substantially improve
+ * rendering speed for large geometries.
+ * It is only necessary to enable one strategy.
+ * Using decimation is preferred, but this requires
+ * determining a distance below which input geometry vertices
+ * can be considered unique (which may not always be feasible).
+ * If neither strategy is enabled, all vertices
+ * of the input <tt>Geometry</tt>
+ * will be represented in the output <tt>Shape</tt>.
+ * <p>
+ *
+ */
+public class ShapeWriter
+{
+ /**
+ * The point transformation used by default.
+ */
+ public static final PointTransformation DEFAULT_POINT_TRANSFORMATION = new IdentityPointTransformation();
+
+ /**
+ * The point shape factory used by default.
+ */
+ public static final PointShapeFactory DEFAULT_POINT_FACTORY = new PointShapeFactory.Square(3.0);
+
+ private PointTransformation pointTransformer = DEFAULT_POINT_TRANSFORMATION;
+ private PointShapeFactory pointFactory = DEFAULT_POINT_FACTORY;
+
+ /**
+ * Cache a Point2D object to use to transfer coordinates into shape
+ */
+ private Point2D transPoint = new Point2D.Double();
+
+ /**
+ * If true, decimation will be used to reduce the number of vertices
+ * by removing consecutive duplicates.
+ *
+ */
+ private boolean doRemoveDuplicatePoints = false;
+
+ private double decimationDistance = 0;
+
+ /**
+ * Creates a new ShapeWriter with a specified point transformation
+ * and point shape factory.
+ *
+ * @param pointTransformer a transformation from model to view space to use
+ * @param pointFactory the PointShapeFactory to use
+ */
+ public ShapeWriter(PointTransformation pointTransformer, PointShapeFactory pointFactory)
+ {
+ if (pointTransformer != null)
+ this.pointTransformer = pointTransformer;
+ if (pointFactory != null)
+ this.pointFactory = pointFactory;
+ }
+
+ /**
+ * Creates a new ShapeWriter with a specified point transformation
+ * and the default point shape factory.
+ *
+ * @param pointTransformer a transformation from model to view space to use
+ */
+ public ShapeWriter(PointTransformation pointTransformer)
+ {
+ this(pointTransformer, null);
+ }
+
+ /**
+ * Creates a new ShapeWriter with the default (identity) point transformation.
+ *
+ */
+ public ShapeWriter() {
+ }
+
+ /**
+ * Sets whether duplicate consecutive points should be eliminated.
+ * This can reduce the size of the generated Shapes
+ * and improve rendering speed, especially in situations
+ * where a transform reduces the extent of the geometry.
+ * <p>
+ * The default is <tt>false</tt>.
+ *
+ * @param doDecimation whether decimation is to be used
+ */
+ public void setRemoveDuplicatePoints(boolean doRemoveDuplicatePoints)
+ {
+ this.doRemoveDuplicatePoints = doRemoveDuplicatePoints;
+ }
+
+ /**
+ * Sets the decimation distance used to determine
+ * whether vertices of the input geometry are
+ * considered to be duplicate and thus removed.
+ * The distance is axis distance, not Euclidean distance.
+ * The distance is specified in the input geometry coordinate system
+ * (NOT the transformed output coordinate system).
+ * <p>
+ * When rendering to a screen image, a suitably small distance should be used
+ * to avoid obvious rendering defects.
+ * A distance equivalent to the equivalent of 1.5 pixels or less is recommended
+ * (and perhaps even smaller to avoid any chance of visible artifacts).
+ * <p>
+ * The default distance is 0.0, which disables decimation.
+ *
+ * @param decimationDistance the distance below which vertices are considered to be duplicates
+ */
+ public void setDecimation(double decimationDistance)
+ {
+ this.decimationDistance = decimationDistance;
+ }
+
+ /**
+ * Creates a {@link Shape} representing a {@link Geometry},
+ * according to the specified PointTransformation
+ * and PointShapeFactory (if relevant).
+ * <p>
+ * Note that Shapes do not
+ * preserve information about which elements in heterogeneous collections
+ * are 1D and which are 2D.
+ * For example, a GeometryCollection containing a ring and a
+ * disk will render as two disks if Graphics.fill is used,
+ * or as two rings if Graphics.draw is used.
+ * To avoid this issue use separate shapes for the components.
+ *
+ * @param geometry the geometry to convert
+ * @return a Shape representing the geometry
+ */
+ public Shape toShape(Geometry geometry)
+ {
+ if (geometry.isEmpty()) return new GeneralPath();
+ if (geometry instanceof Polygon) return toShape((Polygon) geometry);
+ if (geometry instanceof LineString) return toShape((LineString) geometry);
+ if (geometry instanceof MultiLineString) return toShape((MultiLineString) geometry);
+ if (geometry instanceof Point) return toShape((Point) geometry);
+ if (geometry instanceof GeometryCollection) return toShape((GeometryCollection) geometry);
+
+ throw new IllegalArgumentException(
+ "Unrecognized Geometry class: " + geometry.getClass());
+ }
+
+ private Shape toShape(Polygon p)
+ {
+ PolygonShape poly = new PolygonShape();
+
+ appendRing(poly, p.getExteriorRing().getCoordinates());
+ for (int j = 0; j < p.getNumInteriorRing(); j++) {
+ appendRing(poly, p.getInteriorRingN(j).getCoordinates());
+ }
+
+ return poly;
+ }
+
+ private void appendRing(PolygonShape poly, Coordinate[] coords)
+ {
+ double prevx = Double.NaN;
+ double prevy = Double.NaN;
+ Coordinate prev = null;
+
+ int n = coords.length - 1;
+ /**
+ * Don't include closing point.
+ * Ring path will be closed explicitly, which provides a
+ * more accurate path representation.
+ */
+ for (int i = 0; i < n; i++) {
+
+ if (decimationDistance > 0.0) {
+ boolean isDecimated = prev != null
+ && Math.abs(coords[i].x - prev.x) < decimationDistance
+ && Math.abs(coords[i].y - prev.y) < decimationDistance;
+ if (i < n && isDecimated)
+ continue;
+ prev = coords[i];
+ }
+
+ transformPoint(coords[i], transPoint);
+
+ if (doRemoveDuplicatePoints) {
+ // skip duplicate points (except the last point)
+ boolean isDup = transPoint.getX() == prevx && transPoint.getY() == prevy;
+ if (i < n && isDup)
+ continue;
+ prevx = transPoint.getX();
+ prevy = transPoint.getY();
+ }
+ poly.addToRing(transPoint);
+ }
+ // handle closing point
+ poly.endRing();
+ }
+
+ private Shape toShape(GeometryCollection gc)
+ {
+ GeometryCollectionShape shape = new GeometryCollectionShape();
+ // add components to GC shape
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = (Geometry) gc.getGeometryN(i);
+ shape.add(toShape(g));
+ }
+ return shape;
+ }
+
+ private GeneralPath toShape(MultiLineString mls)
+ {
+ GeneralPath path = new GeneralPath();
+
+ for (int i = 0; i < mls.getNumGeometries(); i++) {
+ LineString lineString = (LineString) mls.getGeometryN(i);
+ path.append(toShape(lineString), false);
+ }
+ return path;
+ }
+
+ private GeneralPath toShape(LineString lineString)
+ {
+ GeneralPath shape = new GeneralPath();
+
+ Coordinate prev = lineString.getCoordinateN(0);
+ transformPoint(prev, transPoint);
+ shape.moveTo((float) transPoint.getX(), (float) transPoint.getY());
+
+ double prevx = transPoint.getX();
+ double prevy = transPoint.getY();
+
+ int n = lineString.getNumPoints() - 1;
+ //int count = 0;
+ for (int i = 1; i <= n; i++) {
+ Coordinate currentCoord = lineString.getCoordinateN(i);
+ if (decimationDistance > 0.0) {
+ boolean isDecimated = prev != null
+ && Math.abs(currentCoord.x - prev.x) < decimationDistance
+ && Math.abs(currentCoord.y - prev.y) < decimationDistance;
+ if (i < n && isDecimated) {
+ continue;
+ }
+ prev = currentCoord;
+ }
+
+ transformPoint(currentCoord, transPoint);
+
+ if (doRemoveDuplicatePoints) {
+ // skip duplicate points (except the last point)
+ boolean isDup = transPoint.getX() == prevx && transPoint.getY() == prevy;
+ if (i < n && isDup)
+ continue;
+ prevx = transPoint.getX();
+ prevy = transPoint.getY();
+ //count++;
+ }
+ shape.lineTo((float) transPoint.getX(), (float) transPoint.getY());
+ }
+ //System.out.println(count);
+ return shape;
+ }
+
+ private Shape toShape(Point point)
+ {
+ Point2D viewPoint = transformPoint(point.getCoordinate());
+ return pointFactory.createPoint(viewPoint);
+ }
+
+ private Point2D transformPoint(Coordinate model) {
+ return transformPoint(model, new Point2D.Double());
+ }
+
+ private Point2D transformPoint(Coordinate model, Point2D view) {
+ pointTransformer.transform(model, view);
+ return view;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/awt/package.html b/modules/core/src/main/java/org/locationtech/jts/awt/package.html
new file mode 100644
index 0000000..d3b657a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/awt/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform conversions from Java2D shape objects.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/densify/Densifier.java b/modules/core/src/main/java/org/locationtech/jts/densify/Densifier.java
new file mode 100644
index 0000000..24beb29
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/densify/Densifier.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.densify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * Densifies a {@link Geometry} by inserting extra vertices along the line segments
+ * contained in the geometry.
+ * All segments in the created densified geometry will be no longer than
+ * than the given distance tolerance.
+ * Densified polygonal geometries are guaranteed to be topologically correct.
+ * The coordinates created during densification respect the input geometry's
+ * {@link PrecisionModel}.
+ * <p>
+ * <b>Note:</b> At some future point this class will
+ * offer a variety of densification strategies.
+ *
+ * @author Martin Davis
+ */
+public class Densifier {
+ /**
+ * Densifies a geometry using a given distance tolerance,
+ * and respecting the input geometry's {@link PrecisionModel}.
+ *
+ * @param geom the geometry to densify
+ * @param distanceTolerance the distance tolerance to densify
+ * @return the densified geometry
+ */
+ public static Geometry densify(Geometry geom, double distanceTolerance) {
+ Densifier densifier = new Densifier(geom);
+ densifier.setDistanceTolerance(distanceTolerance);
+ return densifier.getResultGeometry();
+ }
+
+ /**
+ * Densifies a coordinate sequence.
+ *
+ * @param pts
+ * @param distanceTolerance
+ * @return the densified coordinate sequence
+ */
+ private static Coordinate[] densifyPoints(Coordinate[] pts,
+ double distanceTolerance, PrecisionModel precModel) {
+ LineSegment seg = new LineSegment();
+ CoordinateList coordList = new CoordinateList();
+ for (int i = 0; i < pts.length - 1; i++) {
+ seg.p0 = pts[i];
+ seg.p1 = pts[i + 1];
+ coordList.add(seg.p0, false);
+ double len = seg.getLength();
+ int densifiedSegCount = (int) (len / distanceTolerance) + 1;
+ if (densifiedSegCount > 1) {
+ double densifiedSegLen = len / densifiedSegCount;
+ for (int j = 1; j < densifiedSegCount; j++) {
+ double segFract = (j * densifiedSegLen) / len;
+ Coordinate p = seg.pointAlong(segFract);
+ precModel.makePrecise(p);
+ coordList.add(p, false);
+ }
+ }
+ }
+ coordList.add(pts[pts.length - 1], false);
+ return coordList.toCoordinateArray();
+ }
+
+ private Geometry inputGeom;
+
+ private double distanceTolerance;
+
+ /**
+ * Creates a new densifier instance.
+ *
+ * @param inputGeom
+ */
+ public Densifier(Geometry inputGeom) {
+ this.inputGeom = inputGeom;
+ }
+
+ /**
+ * Sets the distance tolerance for the densification. All line segments
+ * in the densified geometry will be no longer than the distance tolerance.
+ * simplified geometry will be within this distance of the original geometry.
+ * The distance tolerance must be positive.
+ *
+ * @param distanceTolerance
+ * the densification tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ if (distanceTolerance <= 0.0)
+ throw new IllegalArgumentException("Tolerance must be positive");
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ /**
+ * Gets the densified geometry.
+ *
+ * @return the densified geometry
+ */
+ public Geometry getResultGeometry() {
+ return (new DensifyTransformer(distanceTolerance)).transform(inputGeom);
+ }
+
+ static class DensifyTransformer extends GeometryTransformer {
+ double distanceTolerance;
+
+ DensifyTransformer(double distanceTolerance) {
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ protected CoordinateSequence transformCoordinates(
+ CoordinateSequence coords, Geometry parent) {
+ Coordinate[] inputPts = coords.toCoordinateArray();
+ Coordinate[] newPts = Densifier
+ .densifyPoints(inputPts, distanceTolerance, parent.getPrecisionModel());
+ // prevent creation of invalid linestrings
+ if (parent instanceof LineString && newPts.length == 1) {
+ newPts = new Coordinate[0];
+ }
+ return factory.getCoordinateSequenceFactory().create(newPts);
+ }
+
+ protected Geometry transformPolygon(Polygon geom, Geometry parent) {
+ Geometry roughGeom = super.transformPolygon(geom, parent);
+ // don't try and correct if the parent is going to do this
+ if (parent instanceof MultiPolygon) {
+ return roughGeom;
+ }
+ return createValidArea(roughGeom);
+ }
+
+ protected Geometry transformMultiPolygon(MultiPolygon geom, Geometry parent) {
+ Geometry roughGeom = super.transformMultiPolygon(geom, parent);
+ return createValidArea(roughGeom);
+ }
+
+ /**
+ * Creates a valid area geometry from one that possibly has bad topology
+ * (i.e. self-intersections). Since buffer can handle invalid topology, but
+ * always returns valid geometry, constructing a 0-width buffer "corrects"
+ * the topology. Note this only works for area geometries, since buffer
+ * always returns areas. This also may return empty geometries, if the input
+ * has no actual area.
+ *
+ * @param roughAreaGeom
+ * an area geometry possibly containing self-intersections
+ * @return a valid area geometry
+ */
+ private Geometry createValidArea(Geometry roughAreaGeom) {
+ return roughAreaGeom.buffer(0.0);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/densify/package.html b/modules/core/src/main/java/org/locationtech/jts/densify/package.html
new file mode 100644
index 0000000..348dbc0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/densify/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform densification on geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveEdgeGraph.java b/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveEdgeGraph.java
new file mode 100644
index 0000000..bf9f9ea
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveEdgeGraph.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.dissolve;
+
+import org.locationtech.jts.edgegraph.EdgeGraph;
+import org.locationtech.jts.edgegraph.HalfEdge;
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * A graph containing {@link DissolveHalfEdge}s.
+ *
+ * @author Martin Davis
+ *
+ */
+class DissolveEdgeGraph extends EdgeGraph
+{
+ protected HalfEdge createEdge(Coordinate p0)
+ {
+ return new DissolveHalfEdge(p0);
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveHalfEdge.java b/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveHalfEdge.java
new file mode 100644
index 0000000..86d9e12
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/dissolve/DissolveHalfEdge.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.dissolve;
+
+import org.locationtech.jts.edgegraph.MarkHalfEdge;
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * A HalfEdge which carries information
+ * required to support {@link LineDissolver}.
+ *
+ * @author Martin Davis
+ *
+ */
+class DissolveHalfEdge extends MarkHalfEdge
+{
+ private boolean isStart = false;
+
+ public DissolveHalfEdge(Coordinate orig) {
+ super(orig);
+ }
+
+ /**
+ * Tests whether this edge is the starting segment
+ * in a LineString being dissolved.
+ *
+ * @return true if this edge is a start segment
+ */
+ public boolean isStart()
+ {
+ return isStart;
+ }
+
+ /**
+ * Sets this edge to be the start segment of an input LineString.
+ */
+ public void setStart()
+ {
+ isStart = true;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/dissolve/LineDissolver.java b/modules/core/src/main/java/org/locationtech/jts/dissolve/LineDissolver.java
new file mode 100644
index 0000000..e52112f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/dissolve/LineDissolver.java
@@ -0,0 +1,300 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.dissolve;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Stack;
+
+import org.locationtech.jts.edgegraph.HalfEdge;
+import org.locationtech.jts.edgegraph.MarkHalfEdge;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+
+
+
+/**
+ * Dissolves the linear components
+ * from a collection of {@link Geometry}s
+ * into a set of maximal-length {@link Linestring}s
+ * in which every unique segment appears once only.
+ * The output linestrings run between node vertices
+ * of the input, which are vertices which have
+ * either degree 1, or degree 3 or greater.
+ * <p>
+ * Use cases for dissolving linear components
+ * include generalization
+ * (in particular, simplifying polygonal coverages),
+ * and visualization
+ * (in particular, avoiding symbology conflicts when
+ * depicting shared polygon boundaries).
+ * <p>
+ * This class does <b>not</b> node the input lines.
+ * If there are line segments crossing in the input,
+ * they will still cross in the output.
+ *
+ * @author Martin Davis
+ *
+ */
+public class LineDissolver
+{
+ /**
+ * Dissolves the linear components in a geometry.
+ *
+ * @param g the geometry to dissolve
+ * @return the dissolved lines
+ */
+ public static Geometry dissolve(Geometry g)
+ {
+ LineDissolver d = new LineDissolver();
+ d.add(g);
+ return d.getResult();
+ }
+
+ private Geometry result;
+ private GeometryFactory factory;
+ private DissolveEdgeGraph graph;
+ private List lines = new ArrayList();
+
+ public LineDissolver()
+ {
+ graph = new DissolveEdgeGraph();
+ }
+
+ /**
+ * Adds a {@link Geometry} to be dissolved.
+ * Any number of geometries may be added by calling this method multiple times.
+ * Any type of Geometry may be added. The constituent linework will be
+ * extracted to be dissolved.
+ *
+ * @param geometry geometry to be line-merged
+ */
+ public void add(Geometry geometry) {
+ geometry.apply(new GeometryComponentFilter() {
+ public void filter(Geometry component) {
+ if (component instanceof LineString) {
+ add((LineString)component);
+ }
+ }
+ });
+ }
+ /**
+ * Adds a collection of Geometries to be processed. May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent linework will be
+ * extracted.
+ *
+ * @param geometries the geometries to be line-merged
+ */
+ public void add(Collection geometries)
+ {
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ add(geometry);
+ }
+ }
+
+ private void add(LineString lineString) {
+ if (factory == null) {
+ this.factory = lineString.getFactory();
+ }
+ CoordinateSequence seq = lineString.getCoordinateSequence();
+ boolean doneStart = false;
+ for (int i = 1; i < seq.size(); i++) {
+ DissolveHalfEdge e = (DissolveHalfEdge) graph.addEdge(seq.getCoordinate(i-1), seq.getCoordinate(i));
+ // skip zero-length edges
+ if (e == null) continue;
+ /**
+ * Record source initial segments, so that they can be reflected in output when needed
+ * (i.e. during formation of isolated rings)
+ */
+ if (! doneStart) {
+ e.setStart();
+ doneStart = true;
+ }
+ }
+ }
+
+ /**
+ * Gets the dissolved result as a MultiLineString.
+ *
+ * @return the dissolved lines
+ */
+ public Geometry getResult()
+ {
+ if (result == null)
+ computeResult();
+ return result;
+ }
+
+ private void computeResult() {
+ Collection edges = graph.getVertexEdges();
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ HalfEdge e = (HalfEdge) i.next();
+ if (MarkHalfEdge.isMarked(e)) continue;
+ process(e);
+ }
+ result = factory.buildGeometry(lines);
+ }
+
+ private Stack nodeEdgeStack = new Stack();
+
+ private void process(HalfEdge e) {
+ HalfEdge eNode = e.prevNode();
+ // if edge is in a ring, just process this edge
+ if (eNode == null)
+ eNode = e;
+ stackEdges(eNode);
+ // extract lines from node edges in stack
+ buildLines();
+ }
+
+ /**
+ * For each edge in stack
+ * (which must originate at a node)
+ * extracts the line it initiates.
+ */
+ private void buildLines() {
+ while (! nodeEdgeStack.empty()) {
+ HalfEdge e = (HalfEdge) nodeEdgeStack.pop();
+ if (MarkHalfEdge.isMarked(e))
+ continue;
+ buildLine(e);
+ }
+ }
+
+ private DissolveHalfEdge ringStartEdge;
+
+ /**
+ * Updates the tracked ringStartEdge
+ * if the given edge has a lower origin
+ * (using the standard {@link Coordinate} ordering).
+ *
+ * Identifying the lowest starting node meets two goals:
+ * <ul>
+ * <li>It ensures that isolated input rings are created using the original node and orientation
+ * <li>For isolated rings formed from multiple input linestrings,
+ * it provides a canonical node and orientation for the output
+ * (rather than essentially random, and thus hard to test).
+ * </ul>
+ *
+ * @param e
+ */
+ private void updateRingStartEdge(DissolveHalfEdge e)
+ {
+ if (! e.isStart()) {
+ e = (DissolveHalfEdge) e.sym();
+ if (! e.isStart()) return;
+ }
+ // here e is known to be a start edge
+ if (ringStartEdge == null) {
+ ringStartEdge = e;
+ return;
+ }
+ if (e.orig().compareTo(ringStartEdge.orig()) < 0) {
+ ringStartEdge = e;
+ }
+ }
+
+ /**
+ * Builds a line starting from the given edge.
+ * The start edge origin is a node (valence = 1 or >= 3),
+ * unless it is part of a pure ring.
+ * A pure ring has no other incident lines.
+ * In this case the start edge may occur anywhere on the ring.
+ *
+ * The line is built up to the next node encountered,
+ * or until the start edge is re-encountered
+ * (which happens if the edges form a ring).
+ *
+ * @param eStart
+ */
+ private void buildLine(HalfEdge eStart) {
+ CoordinateList line = new CoordinateList();
+ DissolveHalfEdge e = (DissolveHalfEdge) eStart;
+ ringStartEdge = null;
+
+ MarkHalfEdge.markBoth(e);
+ line.add(e.orig().copy(), false);
+ // scan along the path until a node is found (if one exists)
+ while (e.sym().degree() == 2) {
+ updateRingStartEdge(e);
+ DissolveHalfEdge eNext = (DissolveHalfEdge) e.next();
+ // check if edges form a ring - if so, we're done
+ if (eNext == eStart) {
+ buildRing(ringStartEdge);
+ return;
+ }
+ // add point to line, and move to next edge
+ line.add(eNext.orig().copy(), false);
+ e = eNext;
+ MarkHalfEdge.markBoth(e);
+ }
+ // add final node
+ line.add(e.dest().clone(), false);
+
+ // queue up the final node edges
+ stackEdges(e.sym());
+ // store the scanned line
+ addLine(line);
+ }
+
+ private void buildRing(HalfEdge eStartRing) {
+ CoordinateList line = new CoordinateList();
+ HalfEdge e = eStartRing;
+
+ line.add(e.orig().copy(), false);
+ // scan along the path until a node is found (if one exists)
+ while (e.sym().degree() == 2) {
+ HalfEdge eNext = e.next();
+ // check if edges form a ring - if so, we're done
+ if (eNext == eStartRing)
+ break;
+
+ // add point to line, and move to next edge
+ line.add(eNext.orig().copy(), false);
+ e = eNext;
+ }
+ // add final node
+ line.add(e.dest().copy(), false);
+
+ // store the scanned line
+ addLine(line);
+ }
+
+ private void addLine(CoordinateList line) {
+ lines.add(factory.createLineString(line.toCoordinateArray()));
+ }
+
+ /**
+ * Adds edges around this node to the stack.
+ *
+ * @param node
+ */
+ private void stackEdges(HalfEdge node) {
+ HalfEdge e = node;
+ do {
+ if (! MarkHalfEdge.isMarked(e))
+ nodeEdgeStack.add(e);
+ e = e.oNext();
+ } while (e != node);
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraph.java b/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraph.java
new file mode 100644
index 0000000..abc2cb5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraph.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.edgegraph;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * A graph comprised of {@link HalfEdge}s.
+ * It supports tracking the vertices in the graph
+ * via edges incident on them,
+ * to allow efficient lookup of edges and vertices.
+ * <p>
+ * This class may be subclassed to use a
+ * different subclass of HalfEdge,
+ * by overriding {@link #createEdge(Coordinate)}.
+ * If additional logic is required to initialize
+ * edges then {@link EdgeGraph#addEdge(Coordinate, Coordinate)}
+ * can be overridden as well.
+ *
+ * @author Martin Davis
+ *
+ */
+public class EdgeGraph
+{
+ private Map vertexMap = new HashMap();
+
+ public EdgeGraph() {
+ }
+
+ /**
+ * Creates a single HalfEdge.
+ * Override to use a different HalfEdge subclass.
+ *
+ * @param orig the origin location
+ * @return a new HalfEdge with the given origin
+ */
+ protected HalfEdge createEdge(Coordinate orig)
+ {
+ return new HalfEdge(orig);
+ }
+
+ private HalfEdge create(Coordinate p0, Coordinate p1)
+ {
+ HalfEdge e0 = createEdge(p0);
+ HalfEdge e1 = createEdge(p1);
+ HalfEdge.init(e0, e1);
+ return e0;
+ }
+
+ /**
+ * Adds an edge between the coordinates orig and dest
+ * to this graph.
+ * Only valid edges can be added (in particular, zero-length segments cannot be added)
+ *
+ * @param orig the edge origin location
+ * @param dest the edge destination location.
+ * @return the created edge
+ * @return null if the edge was invalid and not added
+ *
+ * @see #isValidEdge(Coordinate, Coordinate)
+ */
+ public HalfEdge addEdge(Coordinate orig, Coordinate dest) {
+ if (! isValidEdge(orig, dest)) return null;
+
+ /**
+ * Attempt to find the edge already in the graph.
+ * Return it if found.
+ * Otherwise, use a found edge with same origin (if any) to construct new edge.
+ */
+ HalfEdge eAdj = (HalfEdge) vertexMap.get(orig);
+ HalfEdge eSame = null;
+ if (eAdj != null) {
+ eSame = eAdj.find(dest);
+ }
+ if (eSame != null) {
+ return eSame;
+ }
+
+ HalfEdge e = insert(orig, dest, eAdj);
+ return e;
+ }
+
+ /**
+ * Tests if the given coordinates form a valid edge (with non-zero length).
+ *
+ * @param orig the start coordinate
+ * @param dest the end coordinate
+ * @return true if the edge formed is valid
+ */
+ public static boolean isValidEdge(Coordinate orig, Coordinate dest) {
+ int cmp = dest.compareTo(orig);
+ return cmp != 0;
+ }
+
+ /**
+ * Inserts an edge not already present into the graph.
+ *
+ * @param orig the edge origin location
+ * @param dest the edge destination location
+ * @param eAdj an existing edge with same orig (if any)
+ * @return the created edge
+ */
+ private HalfEdge insert(Coordinate orig, Coordinate dest, HalfEdge eAdj) {
+ // edge does not exist, so create it and insert in graph
+ HalfEdge e = create(orig, dest);
+ if (eAdj != null) {
+ eAdj.insert(e);
+ }
+ else {
+ // add halfedges to to map
+ vertexMap.put(orig, e);
+ }
+
+ HalfEdge eAdjDest = (HalfEdge) vertexMap.get(dest);
+ if (eAdjDest != null) {
+ eAdjDest.insert(e.sym());
+ }
+ else {
+ vertexMap.put(dest, e.sym());
+ }
+ return e;
+ }
+
+ public Collection getVertexEdges()
+ {
+ return vertexMap.values();
+ }
+
+ /**
+ * Finds an edge in this graph with the given origin
+ * and destination, if one exists.
+ *
+ * @param orig the origin location
+ * @param dest the destination location.
+ * @return an edge with the given orig and dest, or null if none exists
+ */
+ public HalfEdge findEdge(Coordinate orig, Coordinate dest) {
+ HalfEdge e = (HalfEdge) vertexMap.get(orig);
+ if (e == null) return null;
+ return e.find(dest);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraphBuilder.java b/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraphBuilder.java
new file mode 100644
index 0000000..9558504
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/edgegraph/EdgeGraphBuilder.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.edgegraph;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.LineString;
+
+
+/**
+ * Builds an edge graph from geometries containing edges.
+ *
+ * @author mdavis
+ *
+ */
+public class EdgeGraphBuilder
+{
+ public static EdgeGraph build(Collection geoms) {
+ EdgeGraphBuilder builder = new EdgeGraphBuilder();
+ builder.add(geoms);
+ return builder.getGraph();
+ }
+
+ private EdgeGraph graph = new EdgeGraph();
+
+ public EdgeGraphBuilder()
+ {
+
+ }
+
+ public EdgeGraph getGraph()
+ {
+ return graph;
+ }
+
+ /**
+ * Adds the edges of a Geometry to the graph.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent edges are
+ * extracted.
+ *
+ * @param geometry geometry to be added
+ */
+ public void add(Geometry geometry) {
+ geometry.apply(new GeometryComponentFilter() {
+ public void filter(Geometry component) {
+ if (component instanceof LineString) {
+ add((LineString)component);
+ }
+ }
+ });
+ }
+ /**
+ * Adds the edges in a collection of {@link Geometry}s to the graph.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added.
+ *
+ * @param geometries the geometries to be added
+ */
+ public void add(Collection geometries)
+ {
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ add(geometry);
+ }
+ }
+
+ private void add(LineString lineString) {
+ CoordinateSequence seq = lineString.getCoordinateSequence();
+ for (int i = 1; i < seq.size(); i++) {
+ graph.addEdge(seq.getCoordinate(i-1), seq.getCoordinate(i));
+ }
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/edgegraph/HalfEdge.java b/modules/core/src/main/java/org/locationtech/jts/edgegraph/HalfEdge.java
new file mode 100644
index 0000000..1c5d425
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/edgegraph/HalfEdge.java
@@ -0,0 +1,363 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.edgegraph;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Quadrant;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Represents a directed component of an edge in an {@link EdgeGraph}.
+ * HalfEdges link vertices whose locations are defined by {@link Coordinate}s.
+ * HalfEdges start at an <b>origin</b> vertex,
+ * and terminate at a <b>destination</b> vertex.
+ * HalfEdges always occur in symmetric pairs, with the {@link #sym()} method
+ * giving access to the oppositely-oriented component.
+ * HalfEdges and the methods on them form an edge algebra,
+ * which can be used to traverse and query the topology
+ * of the graph formed by the edges.
+ * <p>
+ * By design HalfEdges carry minimal information
+ * about the actual usage of the graph they represent.
+ * They can be subclassed to carry more information if required.
+ * <p>
+ * HalfEdges form a complete and consistent data structure by themselves,
+ * but an {@link EdgeGraph} is useful to allow retrieving edges
+ * by vertex and edge location, as well as ensuring
+ * edges are created and linked appropriately.
+ *
+ * @author Martin Davis
+ *
+ */
+public class HalfEdge {
+
+ /**
+ * Creates a HalfEdge pair representing an edge
+ * between two vertices located at coordinates p0 and p1.
+ *
+ * @param p0 a vertex coordinate
+ * @param p1 a vertex coordinate
+ * @return the HalfEdge with origin at p0
+ */
+ public static HalfEdge create(Coordinate p0, Coordinate p1) {
+ HalfEdge e0 = new HalfEdge(p0);
+ HalfEdge e1 = new HalfEdge(p1);
+ e0.init(e1);
+ return e0;
+ }
+
+ /**
+ * Initialize a symmetric pair of halfedges.
+ * Intended for use by {@link EdgeGraph} subclasses.
+ * The edges are initialized to have each other
+ * as the {@link sym} edge, and to have {@link next} pointers
+ * which point to edge other.
+ * This effectively creates a graph containing a single edge.
+ *
+ * @param e0 a halfedge
+ * @param e1 a symmetric halfedge
+ * @return the initialized edge e0
+ */
+ public static HalfEdge init(HalfEdge e0, HalfEdge e1)
+ {
+ // ensure only newly created edges can be initialized, to prevent information loss
+ if (e0.sym != null || e1.sym != null
+ || e0.next != null || e1.next != null)
+ throw new IllegalStateException("Edges are already initialized");
+ e0.init(e1);
+ return e0;
+ }
+
+ private Coordinate orig;
+ private HalfEdge sym;
+ private HalfEdge next;
+
+ /**
+ * Creates an edge originating from a given coordinate.
+ *
+ * @param orig the origin coordinate
+ */
+ public HalfEdge(Coordinate orig) {
+ this.orig = orig;
+ }
+
+ protected void init(HalfEdge e)
+ {
+ setSym(e);
+ e.setSym(this);
+ // set next ptrs for a single segment
+ setNext(e);
+ e.setNext(this);
+ }
+
+ /**
+ * Gets the origin coordinate of this edge.
+ *
+ * @return the origin coordinate
+ */
+ public Coordinate orig() { return orig; }
+
+ /**
+ * Gets the destination coordinate of this edge.
+ *
+ * @return the destination coordinate
+ */
+ public Coordinate dest() { return sym.orig; }
+
+ /**
+ * Gets the symmetric pair edge of this edge.
+ *
+ * @return the symmetric pair edge
+ */
+ public HalfEdge sym()
+ {
+ return sym;
+ }
+
+ /**
+ * Sets the sym edge.
+ *
+ * @param e the sym edge to set
+ */
+ private void setSym(HalfEdge e) {
+ sym = e;
+ }
+
+ /**
+ * Gets the next edge CCW around the
+ * destination vertex of this edge.
+ * If the vertex has degree 1 then this is the <b>sym</b> edge.
+ *
+ * @return the next edge
+ */
+ public HalfEdge next()
+ {
+ return next;
+ }
+
+ /**
+ * Returns the edge previous to this one
+ * (with dest being the same as this orig).
+ *
+ * @return the previous edge to this one
+ */
+ public HalfEdge prev() {
+ return sym.next().sym;
+ }
+
+ public void setNext(HalfEdge e)
+ {
+ next = e;
+ }
+
+ public HalfEdge oNext() {
+ return sym.next;
+ }
+
+ /**
+ * Finds the edge starting at the origin of this edge
+ * with the given dest vertex,
+ * if any.
+ *
+ * @param dest the dest vertex to search for
+ * @return the edge with the required dest vertex, if it exists,
+ * or null
+ */
+ public HalfEdge find(Coordinate dest) {
+ HalfEdge oNext = this;
+ do {
+ if (oNext == null) return null;
+ if (oNext.dest().equals2D(dest))
+ return oNext;
+ oNext = oNext.oNext();
+ } while (oNext != this);
+ return null;
+ }
+
+ /**
+ * Tests whether this edge has the given orig and dest vertices.
+ *
+ * @param p0 the origin vertex to test
+ * @param p1 the destination vertex to test
+ * @return true if the vertices are equal to the ones of this edge
+ */
+ public boolean equals(Coordinate p0, Coordinate p1) {
+ return orig.equals2D(p0) && sym.orig.equals(p1);
+ }
+
+ /**
+ * Inserts an edge
+ * into the ring of edges around the origin vertex of this edge.
+ * The inserted edge must have the same origin as this edge.
+ *
+ * @param e the edge to insert
+ */
+ public void insert(HalfEdge e) {
+ // if no other edge around origin
+ if (oNext() == this) {
+ // set linkage so ring is correct
+ insertAfter(e);
+ return;
+ }
+
+ // otherwise, find edge to insert after
+ int ecmp = compareTo(e);
+ HalfEdge ePrev = this;
+ do {
+ HalfEdge oNext = ePrev.oNext();
+ int cmp = oNext.compareTo(e);
+ if (cmp != ecmp || oNext == this) {
+ ePrev.insertAfter(e);
+ return;
+ }
+ ePrev = oNext;
+ } while (ePrev != this);
+ Assert.shouldNeverReachHere();
+ }
+
+ /**
+ * Insert an edge with the same origin after this one.
+ * Assumes that the inserted edge is in the correct
+ * position around the ring.
+ *
+ * @param e the edge to insert (with same origin)
+ */
+ private void insertAfter(HalfEdge e) {
+ Assert.equals(orig, e.orig());
+ HalfEdge save = oNext();
+ sym.setNext(e);
+ e.sym().setNext(save);
+ }
+
+ /**
+ * Compares edges which originate at the same vertex
+ * based on the angle they make at their origin vertex with the positive X-axis.
+ * This allows sorting edges around their origin vertex in CCW order.
+ */
+ public int compareTo(Object obj)
+ {
+ HalfEdge e = (HalfEdge) obj;
+ int comp = compareAngularDirection(e);
+ return comp;
+ }
+
+ /**
+ * Implements the total order relation:
+ * <p>
+ * The angle of edge a is greater than the angle of edge b,
+ * where the angle of an edge is the angle made by
+ * the first segment of the edge with the positive x-axis
+ * <p>
+ * When applied to a list of edges originating at the same point,
+ * this produces a CCW ordering of the edges around the point.
+ * <p>
+ * Using the obvious algorithm of computing the angle is not robust,
+ * since the angle calculation is susceptible to roundoff error.
+ * A robust algorithm is:
+ * <ul>
+ * <li>First, compare the quadrants the edge vectors lie in.
+ * If the quadrants are different,
+ * it is trivial to determine which edge has a greater angle.
+ *
+ * <li>if the vectors lie in the same quadrant, the
+ * {@link Orientation#computeOrientation(Coordinate, Coordinate, Coordinate)} function
+ * can be used to determine the relative orientation of the vectors.
+ * </ul>
+ */
+ public int compareAngularDirection(HalfEdge e)
+ {
+ double dx = deltaX();
+ double dy = deltaY();
+ double dx2 = e.deltaX();
+ double dy2 = e.deltaY();
+
+ // same vector
+ if (dx == dx2 && dy == dy2)
+ return 0;
+
+ double quadrant = Quadrant.quadrant(dx, dy);
+ double quadrant2 = Quadrant.quadrant(dx2, dy2);
+
+ // if the vectors are in different quadrants, determining the ordering is trivial
+ if (quadrant > quadrant2) return 1;
+ if (quadrant < quadrant2) return -1;
+ // vectors are in the same quadrant
+ // Check relative orientation of direction vectors
+ // this is > e if it is CCW of e
+ return Orientation.index(e.orig, e.dest(), dest());
+ }
+
+ /**
+ * The X component of the distance between the orig and dest vertices.
+ *
+ * @return the X component of the edge length
+ */
+ public double deltaX() { return sym.orig.x - orig.x; }
+
+ /**
+ * The Y component of the distance between the orig and dest vertices.
+ *
+ * @return the Y component of the edge length
+ */
+ public double deltaY() { return sym.orig.y - orig.y; }
+
+ /**
+ * Computes a string representation of a HalfEdge.
+ *
+ * @return a string representation
+ */
+ public String toString()
+ {
+ return "HE("+orig.x + " " + orig.y
+ + ", "
+ + sym.orig.x + " " + sym.orig.y
+ + ")";
+ }
+
+ /**
+ * Computes the degree of the origin vertex.
+ * The degree is the number of edges
+ * originating from the vertex.
+ *
+ * @return the degree of the origin vertex
+ */
+ public int degree() {
+ int degree = 0;
+ HalfEdge e = this;
+ do {
+ degree++;
+ e = e.oNext();
+ } while (e != this);
+ return degree;
+ }
+
+ /**
+ * Finds the first node previous to this edge, if any.
+ * If no such node exists (i.e. the edge is part of a ring)
+ * then null is returned.
+ *
+ * @return an edge originating at the node prior to this edge, if any,
+ * or null if no node exists
+ */
+ public HalfEdge prevNode() {
+ HalfEdge e = this;
+ while (e.degree() == 2) {
+ e = e.prev();
+ if (e == this)
+ return null;
+ }
+ return e;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/edgegraph/MarkHalfEdge.java b/modules/core/src/main/java/org/locationtech/jts/edgegraph/MarkHalfEdge.java
new file mode 100644
index 0000000..2a7e57d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/edgegraph/MarkHalfEdge.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.edgegraph;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A {@link HalfEdge} which supports
+ * marking edges with a boolean flag.
+ * Useful for algorithms which perform graph traversals.
+ *
+ * @author Martin Davis
+ *
+ */
+public class MarkHalfEdge extends HalfEdge
+{
+ /**
+ * Tests whether the given edge is marked.
+ *
+ * @param e the edge to test
+ * @return true if the edge is marked
+ */
+ public static boolean isMarked(HalfEdge e)
+ {
+ return ((MarkHalfEdge) e).isMarked();
+ }
+
+ /**
+ * Marks the given edge.
+ *
+ * @param e the edge to mark
+ */
+ public static void mark(HalfEdge e)
+ {
+ ((MarkHalfEdge) e).mark();
+ }
+
+ /**
+ * Sets the mark for the given edge to a boolean value.
+ *
+ * @param e the edge to set
+ * @param isMarked the mark value
+ */
+ public static void setMark(HalfEdge e, boolean isMarked)
+ {
+ ((MarkHalfEdge) e).setMark(isMarked);
+ }
+
+ /**
+ * Sets the mark for the given edge pair to a boolean value.
+ *
+ * @param e an edge of the pair to update
+ * @param isMarked the mark value to set
+ */
+ public static void setMarkBoth(HalfEdge e, boolean isMarked)
+ {
+ ((MarkHalfEdge) e).setMark(isMarked);
+ ((MarkHalfEdge) e.sym()).setMark(isMarked);
+ }
+
+ /**
+ * Marks the edges in a pair.
+ *
+ * @param e an edge of the pair to mark
+ */
+ public static void markBoth(HalfEdge e) {
+ ((MarkHalfEdge) e).mark();
+ ((MarkHalfEdge) e.sym()).mark();
+ }
+
+ private boolean isMarked = false;
+
+ /**
+ * Creates a new marked edge.
+ *
+ * @param orig the coordinate of the edge origin
+ */
+ public MarkHalfEdge(Coordinate orig) {
+ super(orig);
+ }
+
+ /**
+ * Tests whether this edge is marked.
+ *
+ * @return true if this edge is marked
+ */
+ public boolean isMarked()
+ {
+ return isMarked ;
+ }
+
+ /**
+ * Marks this edge.
+ *
+ */
+ public void mark()
+ {
+ isMarked = true;
+ }
+
+ /**
+ * Sets the value of the mark on this edge.
+ *
+ * @param isMarked the mark value to set
+ */
+ public void setMark(boolean isMarked)
+ {
+ this.isMarked = isMarked;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Coordinate.java b/modules/core/src/main/java/org/locationtech/jts/geom/Coordinate.java
new file mode 100644
index 0000000..892fe52
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Coordinate.java
@@ -0,0 +1,428 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jts.util.NumberUtil;
+
+
+/**
+ * A lightweight class used to store coordinates
+ * on the 2-dimensional Cartesian plane.
+ * It is distinct from {@link Point}, which is a subclass of {@link Geometry}.
+ * Unlike objects of type {@link Point} (which contain additional
+ * information such as an envelope, a precision model, and spatial reference
+ * system information), a <code>Coordinate</code> only contains ordinate values
+ * and accessor methods. <P>
+ *
+ * <code>Coordinate</code>s are two-dimensional points, with an additional Z-ordinate.
+ * If an Z-ordinate value is not specified or not defined,
+ * constructed coordinates have a Z-ordinate of <code>NaN</code>
+ * (which is also the value of <code>NULL_ORDINATE</code>).
+ * The standard comparison functions ignore the Z-ordinate.
+ * Apart from the basic accessor functions, JTS supports
+ * only specific operations involving the Z-ordinate.
+ *
+ *@version 1.7
+ */
+public class Coordinate implements Comparable, Cloneable, Serializable {
+ private static final long serialVersionUID = 6683108902428366910L;
+
+ /**
+ * The value used to indicate a null or missing ordinate value.
+ * In particular, used for the value of ordinates for dimensions
+ * greater than the defined dimension of a coordinate.
+ */
+ public static final double NULL_ORDINATE = Double.NaN;
+
+ /**
+ * Standard ordinate index values
+ */
+ public static final int X = 0;
+ public static final int Y = 1;
+ public static final int Z = 2;
+
+ /**
+ * The x-coordinate.
+ */
+ public double x;
+ /**
+ * The y-coordinate.
+ */
+ public double y;
+ /**
+ * The z-coordinate.
+ */
+ public double z;
+
+ /**
+ * Constructs a <code>Coordinate</code> at (x,y,z).
+ *
+ *@param x the x-value
+ *@param y the y-value
+ *@param z the z-value
+ */
+ public Coordinate(double x, double y, double z) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
+
+ /**
+ * Constructs a <code>Coordinate</code> at (0,0,NaN).
+ */
+ public Coordinate() {
+ this(0.0, 0.0);
+ }
+
+ /**
+ * Constructs a <code>Coordinate</code> having the same (x,y,z) values as
+ * <code>other</code>.
+ *
+ *@param c the <code>Coordinate</code> to copy.
+ */
+ public Coordinate(Coordinate c) {
+ this(c.x, c.y, c.z);
+ }
+
+ /**
+ * Constructs a <code>Coordinate</code> at (x,y,NaN).
+ *
+ *@param x the x-value
+ *@param y the y-value
+ */
+ public Coordinate(double x, double y) {
+ this(x, y, NULL_ORDINATE);
+ }
+
+ /**
+ * Sets this <code>Coordinate</code>s (x,y,z) values to that of <code>other</code>.
+ *
+ *@param other the <code>Coordinate</code> to copy
+ */
+ public void setCoordinate(Coordinate other) {
+ x = other.x;
+ y = other.y;
+ z = other.z;
+ }
+
+ /**
+ * Gets the ordinate value for the given index.
+ * The supported values for the index are
+ * {@link X}, {@link Y}, and {@link Z}.
+ *
+ * @param ordinateIndex the ordinate index
+ * @return the value of the ordinate
+ * @throws IllegalArgumentException if the index is not valid
+ */
+ public double getOrdinate(int ordinateIndex)
+ {
+ switch (ordinateIndex) {
+ case X: return x;
+ case Y: return y;
+ case Z: return z;
+ }
+ throw new IllegalArgumentException("Invalid ordinate index: " + ordinateIndex);
+ }
+
+ /**
+ * Sets the ordinate for the given index
+ * to a given value.
+ * The supported values for the index are
+ * {@link X}, {@link Y}, and {@link Z}.
+ *
+ * @param ordinateIndex the ordinate index
+ * @param value the value to set
+ * @throws IllegalArgumentException if the index is not valid
+ */
+ public void setOrdinate(int ordinateIndex, double value)
+ {
+ switch (ordinateIndex) {
+ case X:
+ x = value;
+ break;
+ case Y:
+ y = value;
+ break;
+ case Z:
+ z = value;
+ break;
+ default:
+ throw new IllegalArgumentException("Invalid ordinate index: " + ordinateIndex);
+ }
+ }
+
+ /**
+ * Returns whether the planar projections of the two <code>Coordinate</code>s
+ * are equal.
+ *
+ *@param other a <code>Coordinate</code> with which to do the 2D comparison.
+ *@return <code>true</code> if the x- and y-coordinates are equal; the
+ * z-coordinates do not have to be equal.
+ */
+ public boolean equals2D(Coordinate other) {
+ if (x != other.x) {
+ return false;
+ }
+ if (y != other.y) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests if another coordinate has the same values for the X and Y ordinates.
+ * The Z ordinate is ignored.
+ *
+ *@param c a <code>Coordinate</code> with which to do the 2D comparison.
+ *@return true if <code>other</code> is a <code>Coordinate</code>
+ * with the same values for X and Y.
+ */
+ public boolean equals2D(Coordinate c, double tolerance){
+ if (! NumberUtil.equalsWithTolerance(this.x, c.x, tolerance)) {
+ return false;
+ }
+ if (! NumberUtil.equalsWithTolerance(this.y, c.y, tolerance)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests if another coordinate has the same values for the X, Y and Z ordinates.
+ *
+ *@param other a <code>Coordinate</code> with which to do the 3D comparison.
+ *@return true if <code>other</code> is a <code>Coordinate</code>
+ * with the same values for X, Y and Z.
+ */
+ public boolean equals3D(Coordinate other) {
+ return (x == other.x) && (y == other.y) &&
+ ((z == other.z) ||
+ (Double.isNaN(z) && Double.isNaN(other.z)));
+ }
+
+ /**
+ * Tests if another coordinate has the same value for Z, within a tolerance.
+ *
+ * @param c a coordinate
+ * @param tolerance the tolerance value
+ * @return true if the Z ordinates are within the given tolerance
+ */
+ public boolean equalInZ(Coordinate c, double tolerance){
+ return NumberUtil.equalsWithTolerance(this.z, c.z, tolerance);
+ }
+
+ /**
+ * Returns <code>true</code> if <code>other</code> has the same values for
+ * the x and y ordinates.
+ * Since Coordinates are 2.5D, this routine ignores the z value when making the comparison.
+ *
+ *@param other a <code>Coordinate</code> with which to do the comparison.
+ *@return <code>true</code> if <code>other</code> is a <code>Coordinate</code>
+ * with the same values for the x and y ordinates.
+ */
+ public boolean equals(Object other) {
+ if (!(other instanceof Coordinate)) {
+ return false;
+ }
+ return equals2D((Coordinate) other);
+ }
+
+ /**
+ * Compares this {@link Coordinate} with the specified {@link Coordinate} for order.
+ * This method ignores the z value when making the comparison.
+ * Returns:
+ * <UL>
+ * <LI> -1 : this.x < other.x || ((this.x == other.x) && (this.y < other.y))
+ * <LI> 0 : this.x == other.x && this.y = other.y
+ * <LI> 1 : this.x > other.x || ((this.x == other.x) && (this.y > other.y))
+ *
+ * </UL>
+ * Note: This method assumes that ordinate values
+ * are valid numbers. NaN values are not handled correctly.
+ *
+ *@param o the <code>Coordinate</code> with which this <code>Coordinate</code>
+ * is being compared
+ *@return -1, zero, or 1 as this <code>Coordinate</code>
+ * is less than, equal to, or greater than the specified <code>Coordinate</code>
+ */
+ public int compareTo(Object o) {
+ Coordinate other = (Coordinate) o;
+
+ if (x < other.x) return -1;
+ if (x > other.x) return 1;
+ if (y < other.y) return -1;
+ if (y > other.y) return 1;
+ return 0;
+ }
+
+ /**
+ * Returns a <code>String</code> of the form <I>(x,y,z)</I> .
+ *
+ *@return a <code>String</code> of the form <I>(x,y,z)</I>
+ */
+ public String toString() {
+ return "(" + x + ", " + y + ", " + z + ")";
+ }
+
+ public Object clone() {
+ try {
+ Coordinate coord = (Coordinate) super.clone();
+
+ return coord; // return the clone
+ } catch (CloneNotSupportedException e) {
+ Assert.shouldNeverReachHere(
+ "this shouldn't happen because this class is Cloneable");
+
+ return null;
+ }
+ }
+
+ public Coordinate copy() {
+ return new Coordinate(this);
+ }
+
+ /**
+ * Computes the 2-dimensional Euclidean distance to another location.
+ * The Z-ordinate is ignored.
+ *
+ * @param c a point
+ * @return the 2-dimensional Euclidean distance between the locations
+ */
+ public double distance(Coordinate c) {
+ double dx = x - c.x;
+ double dy = y - c.y;
+ return Math.sqrt(dx * dx + dy * dy);
+ }
+
+ /**
+ * Computes the 3-dimensional Euclidean distance to another location.
+ *
+ * @param c a coordinate
+ * @return the 3-dimensional Euclidean distance between the locations
+ */
+ public double distance3D(Coordinate c) {
+ double dx = x - c.x;
+ double dy = y - c.y;
+ double dz = z - c.z;
+ return Math.sqrt(dx * dx + dy * dy + dz * dz);
+ }
+
+ /**
+ * Gets a hashcode for this coordinate.
+ *
+ * @return a hashcode for this coordinate
+ */
+ public int hashCode() {
+ //Algorithm from Effective Java by Joshua Bloch [Jon Aquino]
+ int result = 17;
+ result = 37 * result + hashCode(x);
+ result = 37 * result + hashCode(y);
+ return result;
+ }
+
+ /**
+ * Computes a hash code for a double value, using the algorithm from
+ * Joshua Bloch's book <i>Effective Java"</i>
+ *
+ * @return a hashcode for the double value
+ */
+ public static int hashCode(double x) {
+ long f = Double.doubleToLongBits(x);
+ return (int)(f^(f>>>32));
+ }
+
+
+ /**
+ * Compares two {@link Coordinate}s, allowing for either a 2-dimensional
+ * or 3-dimensional comparison, and handling NaN values correctly.
+ */
+ public static class DimensionalComparator
+ implements Comparator
+ {
+ /**
+ * Compare two <code>double</code>s, allowing for NaN values.
+ * NaN is treated as being less than any valid number.
+ *
+ * @param a a <code>double</code>
+ * @param b a <code>double</code>
+ * @return -1, 0, or 1 depending on whether a is less than, equal to or greater than b
+ */
+ public static int compare(double a, double b)
+ {
+ if (a < b) return -1;
+ if (a > b) return 1;
+
+ if (Double.isNaN(a)) {
+ if (Double.isNaN(b)) return 0;
+ return -1;
+ }
+
+ if (Double.isNaN(b)) return 1;
+ return 0;
+ }
+
+ private int dimensionsToTest = 2;
+
+ /**
+ * Creates a comparator for 2 dimensional coordinates.
+ */
+ public DimensionalComparator()
+ {
+ this(2);
+ }
+
+ /**
+ * Creates a comparator for 2 or 3 dimensional coordinates, depending
+ * on the value provided.
+ *
+ * @param dimensionsToTest the number of dimensions to test
+ */
+ public DimensionalComparator(int dimensionsToTest)
+ {
+ if (dimensionsToTest != 2 && dimensionsToTest != 3)
+ throw new IllegalArgumentException("only 2 or 3 dimensions may be specified");
+ this.dimensionsToTest = dimensionsToTest;
+ }
+
+ /**
+ * Compares two {@link Coordinate}s along to the number of
+ * dimensions specified.
+ *
+ * @param o1 a {@link Coordinate}
+ * @param o2 a {link Coordinate}
+ * @return -1, 0, or 1 depending on whether o1 is less than,
+ * equal to, or greater than 02
+ *
+ */
+ public int compare(Object o1, Object o2)
+ {
+ Coordinate c1 = (Coordinate) o1;
+ Coordinate c2 = (Coordinate) o2;
+
+ int compX = compare(c1.x, c2.x);
+ if (compX != 0) return compX;
+
+ int compY = compare(c1.y, c2.y);
+ if (compY != 0) return compY;
+
+ if (dimensionsToTest <= 2) return 0;
+
+ int compZ = compare(c1.z, c2.z);
+ return compZ;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateArrays.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateArrays.java
new file mode 100644
index 0000000..ec8c2be
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateArrays.java
@@ -0,0 +1,472 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.Collection;
+import java.util.Comparator;
+
+import org.locationtech.jts.math.MathUtil;
+
+
+/**
+ * Useful utility functions for handling Coordinate arrays
+ *
+ * @version 1.7
+ */
+public class CoordinateArrays {
+
+ private final static Coordinate[] coordArrayType = new Coordinate[0];
+
+ private CoordinateArrays() {}
+
+ /**
+ * Tests whether an array of {@link Coordinate}s forms a ring,
+ * by checking length and closure.
+ * Self-intersection is not checked.
+ *
+ * @param pts an array of Coordinates
+ * @return true if the coordinate form a ring.
+ */
+ public static boolean isRing(Coordinate[] pts)
+ {
+ if (pts.length < 4) return false;
+ if (! pts[0].equals2D(pts[pts.length -1])) return false;
+ return true;
+ }
+
+ /**
+ * Finds a point in a list of points which is not contained in another list of points
+ * @param testPts the {@link Coordinate}s to test
+ * @param pts an array of {@link Coordinate}s to test the input points against
+ * @return a {@link Coordinate} from <code>testPts</code> which is not in <code>pts</code>, '
+ * or <code>null</code>
+ */
+ public static Coordinate ptNotInList(Coordinate[] testPts, Coordinate[] pts)
+ {
+ for (int i = 0; i < testPts.length; i++) {
+ Coordinate testPt = testPts[i];
+ if (CoordinateArrays.indexOf(testPt, pts) < 0)
+ return testPt;
+ }
+ return null;
+ }
+
+ /**
+ * Compares two {@link Coordinate} arrays
+ * in the forward direction of their coordinates,
+ * using lexicographic ordering.
+ *
+ * @param pts1
+ * @param pts2
+ * @return an integer indicating the order
+ */
+ public static int compare(Coordinate[] pts1, Coordinate[] pts2) {
+ int i = 0;
+ while (i < pts1.length && i < pts2.length) {
+ int compare = pts1[i].compareTo(pts2[i]);
+ if (compare != 0)
+ return compare;
+ i++;
+ }
+ // handle situation when arrays are of different length
+ if (i < pts2.length) return -1;
+ if (i < pts1.length) return 1;
+
+ return 0;
+ }
+
+ /**
+ * A {@link Comparator} for {@link Coordinate} arrays
+ * in the forward direction of their coordinates,
+ * using lexicographic ordering.
+ */
+ public static class ForwardComparator
+ implements Comparator
+ {
+ public int compare(Object o1, Object o2) {
+ Coordinate[] pts1 = (Coordinate[]) o1;
+ Coordinate[] pts2 = (Coordinate[]) o2;
+
+ return CoordinateArrays.compare(pts1, pts2);
+ }
+ }
+
+
+ /**
+ * Determines which orientation of the {@link Coordinate} array
+ * is (overall) increasing.
+ * In other words, determines which end of the array is "smaller"
+ * (using the standard ordering on {@link Coordinate}).
+ * Returns an integer indicating the increasing direction.
+ * If the sequence is a palindrome, it is defined to be
+ * oriented in a positive direction.
+ *
+ * @param pts the array of Coordinates to test
+ * @return <code>1</code> if the array is smaller at the start
+ * or is a palindrome,
+ * <code>-1</code> if smaller at the end
+ */
+ public static int increasingDirection(Coordinate[] pts) {
+ for (int i = 0; i < pts.length / 2; i++) {
+ int j = pts.length - 1 - i;
+ // skip equal points on both ends
+ int comp = pts[i].compareTo(pts[j]);
+ if (comp != 0)
+ return comp;
+ }
+ // array must be a palindrome - defined to be in positive direction
+ return 1;
+ }
+
+ /**
+ * Determines whether two {@link Coordinate} arrays of equal length
+ * are equal in opposite directions.
+ *
+ * @param pts1
+ * @param pts2
+ * @return <code>true</code> if the two arrays are equal in opposite directions.
+ */
+ private static boolean isEqualReversed(Coordinate[] pts1, Coordinate[] pts2)
+ {
+ for (int i = 0; i < pts1.length; i++) {
+ Coordinate p1 = pts1[i];
+ Coordinate p2 = pts2[pts1.length - i - 1];
+ if (p1.compareTo(p2) != 0)
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * A {@link Comparator} for {@link Coordinate} arrays
+ * modulo their directionality.
+ * E.g. if two coordinate arrays are identical but reversed
+ * they will compare as equal under this ordering.
+ * If the arrays are not equal, the ordering returned
+ * is the ordering in the forward direction.
+ *
+ */
+ public static class BidirectionalComparator
+ implements Comparator
+ {
+ public int compare(Object o1, Object o2) {
+ Coordinate[] pts1 = (Coordinate[]) o1;
+ Coordinate[] pts2 = (Coordinate[]) o2;
+
+ if (pts1.length < pts2.length) return -1;
+ if (pts1.length > pts2.length) return 1;
+
+ if (pts1.length == 0) return 0;
+
+ int forwardComp = CoordinateArrays.compare(pts1, pts2);
+ boolean isEqualRev = isEqualReversed(pts1, pts2);
+ if (isEqualRev)
+ return 0;
+ return forwardComp;
+ }
+
+ public int OLDcompare(Object o1, Object o2) {
+ Coordinate[] pts1 = (Coordinate[]) o1;
+ Coordinate[] pts2 = (Coordinate[]) o2;
+
+ if (pts1.length < pts2.length) return -1;
+ if (pts1.length > pts2.length) return 1;
+
+ if (pts1.length == 0) return 0;
+
+ int dir1 = increasingDirection(pts1);
+ int dir2 = increasingDirection(pts2);
+
+ int i1 = dir1 > 0 ? 0 : pts1.length - 1;
+ int i2 = dir2 > 0 ? 0 : pts1.length - 1;
+
+ for (int i = 0; i < pts1.length; i++) {
+ int comparePt = pts1[i1].compareTo(pts2[i2]);
+ if (comparePt != 0)
+ return comparePt;
+ i1 += dir1;
+ i2 += dir2;
+ }
+ return 0;
+ }
+
+ }
+
+ /**
+ * Creates a deep copy of the argument {@link Coordinate} array.
+ *
+ * @param coordinates an array of Coordinates
+ * @return a deep copy of the input
+ */
+ public static Coordinate[] copyDeep(Coordinate[] coordinates) {
+ Coordinate[] copy = new Coordinate[coordinates.length];
+ for (int i = 0; i < coordinates.length; i++) {
+ copy[i] = new Coordinate(coordinates[i]);
+ }
+ return copy;
+ }
+
+ /**
+ * Creates a deep copy of a given section of a source {@link Coordinate} array
+ * into a destination Coordinate array.
+ * The destination array must be an appropriate size to receive
+ * the copied coordinates.
+ *
+ * @param src an array of Coordinates
+ * @param srcStart the index to start copying from
+ * @param dest the
+ * @param destStart the destination index to start copying to
+ * @param length the number of items to copy
+ */
+ public static void copyDeep(Coordinate[] src, int srcStart, Coordinate[] dest, int destStart, int length) {
+ for (int i = 0; i < length; i++) {
+ dest[destStart + i] = new Coordinate(src[srcStart + i]);
+ }
+ }
+
+ /**
+ * Converts the given Collection of Coordinates into a Coordinate array.
+ */
+ public static Coordinate[] toCoordinateArray(Collection coordList)
+ {
+ return (Coordinate[]) coordList.toArray(coordArrayType);
+ }
+
+ /**
+ * Returns whether #equals returns true for any two consecutive Coordinates
+ * in the given array.
+ */
+ public static boolean hasRepeatedPoints(Coordinate[] coord)
+ {
+ for (int i = 1; i < coord.length; i++) {
+ if (coord[i - 1].equals(coord[i]) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns either the given coordinate array if its length is greater than the
+ * given amount, or an empty coordinate array.
+ */
+ public static Coordinate[] atLeastNCoordinatesOrNothing(int n, Coordinate[] c) {
+ return c.length >= n ? c : new Coordinate[] { };
+ }
+
+ /**
+ * If the coordinate array argument has repeated points,
+ * constructs a new array containing no repeated points.
+ * Otherwise, returns the argument.
+ * @see #hasRepeatedPoints(Coordinate[])
+ */
+ public static Coordinate[] removeRepeatedPoints(Coordinate[] coord)
+ {
+ if (! hasRepeatedPoints(coord)) return coord;
+ CoordinateList coordList = new CoordinateList(coord, false);
+ return coordList.toCoordinateArray();
+ }
+
+ /**
+ * Collapses a coordinate array to remove all null elements.
+ *
+ * @param coord the coordinate array to collapse
+ * @return an array containing only non-null elements
+ */
+ public static Coordinate[] removeNull(Coordinate[] coord)
+ {
+ int nonNull = 0;
+ for (int i = 0; i < coord.length; i++) {
+ if (coord[i] != null) nonNull++;
+ }
+ Coordinate[] newCoord = new Coordinate[nonNull];
+ // empty case
+ if (nonNull == 0) return newCoord;
+
+ int j = 0;
+ for (int i = 0; i < coord.length; i++) {
+ if (coord[i] != null) newCoord[j++] = coord[i];
+ }
+ return newCoord;
+ }
+
+ /**
+ * Reverses the coordinates in an array in-place.
+ */
+ public static void reverse(Coordinate[] coord)
+ {
+ int last = coord.length - 1;
+ int mid = last / 2;
+ for (int i = 0; i <= mid; i++) {
+ Coordinate tmp = coord[i];
+ coord[i] = coord[last - i];
+ coord[last - i] = tmp;
+ }
+ }
+
+ /**
+ * Returns true if the two arrays are identical, both null, or pointwise
+ * equal (as compared using Coordinate#equals)
+ * @see Coordinate#equals(Object)
+ */
+ public static boolean equals(
+ Coordinate[] coord1,
+ Coordinate[] coord2)
+ {
+ if (coord1 == coord2) return true;
+ if (coord1 == null || coord2 == null) return false;
+ if (coord1.length != coord2.length) return false;
+ for (int i = 0; i < coord1.length; i++) {
+ if (! coord1[i].equals(coord2[i])) return false;
+ }
+ return true;
+ }
+
+ /**
+ * Returns true if the two arrays are identical, both null, or pointwise
+ * equal, using a user-defined {@link Comparator} for {@link Coordinate} s
+ *
+ * @param coord1 an array of Coordinates
+ * @param coord2 an array of Coordinates
+ * @param coordinateComparator a Comparator for Coordinates
+ */
+ public static boolean equals(
+ Coordinate[] coord1,
+ Coordinate[] coord2,
+ Comparator coordinateComparator)
+ {
+ if (coord1 == coord2) return true;
+ if (coord1 == null || coord2 == null) return false;
+ if (coord1.length != coord2.length) return false;
+ for (int i = 0; i < coord1.length; i++) {
+ if (coordinateComparator.compare(coord1[i], coord2[i]) != 0)
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Returns the minimum coordinate, using the usual lexicographic comparison.
+ *
+ *@param coordinates the array to search
+ *@return the minimum coordinate in the array, found using <code>compareTo</code>
+ *@see Coordinate#compareTo(Object)
+ */
+ public static Coordinate minCoordinate(Coordinate[] coordinates)
+ {
+ Coordinate minCoord = null;
+ for (int i = 0; i < coordinates.length; i++) {
+ if (minCoord == null || minCoord.compareTo(coordinates[i]) > 0) {
+ minCoord = coordinates[i];
+ }
+ }
+ return minCoord;
+ }
+ /**
+ * Shifts the positions of the coordinates until <code>firstCoordinate</code>
+ * is first.
+ *
+ *@param coordinates the array to rearrange
+ *@param firstCoordinate the coordinate to make first
+ */
+ public static void scroll(Coordinate[] coordinates, Coordinate firstCoordinate) {
+ int i = indexOf(firstCoordinate, coordinates);
+ if (i < 0) return;
+ Coordinate[] newCoordinates = new Coordinate[coordinates.length];
+ System.arraycopy(coordinates, i, newCoordinates, 0, coordinates.length - i);
+ System.arraycopy(coordinates, 0, newCoordinates, coordinates.length - i, i);
+ System.arraycopy(newCoordinates, 0, coordinates, 0, coordinates.length);
+ }
+
+ /**
+ * Returns the index of <code>coordinate</code> in <code>coordinates</code>.
+ * The first position is 0; the second, 1; etc.
+ *
+ *@param coordinate the <code>Coordinate</code> to search for
+ *@param coordinates the array to search
+ *@return the position of <code>coordinate</code>, or -1 if it is
+ * not found
+ */
+ public static int indexOf(Coordinate coordinate, Coordinate[] coordinates) {
+ for (int i = 0; i < coordinates.length; i++) {
+ if (coordinate.equals(coordinates[i])) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Extracts a subsequence of the input {@link Coordinate} array
+ * from indices <code>start</code> to
+ * <code>end</code> (inclusive).
+ * The input indices are clamped to the array size;
+ * If the end index is less than the start index,
+ * the extracted array will be empty.
+ *
+ * @param pts the input array
+ * @param start the index of the start of the subsequence to extract
+ * @param end the index of the end of the subsequence to extract
+ * @return a subsequence of the input array
+ */
+ public static Coordinate[] extract(Coordinate[] pts, int start, int end)
+ {
+ start = MathUtil.clamp(start, 0, pts.length);
+ end = MathUtil.clamp(end, -1, pts.length);
+
+ int npts = end - start + 1;
+ if (end < 0) npts = 0;
+ if (start >= pts.length) npts = 0;
+ if (end < start) npts = 0;
+
+ Coordinate[] extractPts = new Coordinate[npts];
+ if (npts == 0) return extractPts;
+
+ int iPts = 0;
+ for (int i = start; i <= end; i++) {
+ extractPts[iPts++] = pts[i];
+ }
+ return extractPts;
+ }
+
+ /**
+ * Computes the envelope of the coordinates.
+ *
+ * @param coordinates the coordinates to scan
+ * @return the envelope of the coordinates
+ */
+ public static Envelope envelope(Coordinate[] coordinates) {
+ Envelope env = new Envelope();
+ for (int i = 0; i < coordinates.length; i++) {
+ env.expandToInclude(coordinates[i]);
+ }
+ return env;
+ }
+
+ /**
+ * Extracts the coordinates which intersect an {@link Envelope}.
+ *
+ * @param coordinates the coordinates to scan
+ * @param env the envelope to intersect with
+ * @return an array of the coordinates which intersect the envelope
+ */
+ public static Coordinate[] intersection(Coordinate[] coordinates, Envelope env) {
+ CoordinateList coordList = new CoordinateList();
+ for (int i = 0; i < coordinates.length; i++) {
+ if (env.intersects(coordinates[i]))
+ coordList.add(coordinates[i], true);
+ }
+ return coordList.toCoordinateArray();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateFilter.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateFilter.java
new file mode 100644
index 0000000..f76a14a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateFilter.java
@@ -0,0 +1,45 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+
+/**
+ * An interface for classes which use the values of the coordinates in a {@link Geometry}.
+ * Coordinate filters can be used to implement centroid and
+ * envelope computation, and many other functions.
+ * <p>
+ * <code>CoordinateFilter</code> is
+ * an example of the Gang-of-Four Visitor pattern.
+ * <p>
+ * <b>Note</b>: it is not recommended to use these filters to mutate the coordinates.
+ * There is no guarantee that the coordinate is the actual object stored in the geometry.
+ * In particular, modified values may not be preserved if the target Geometry uses a non-default {@link CoordinateSequence}.
+ * If in-place mutation is required, use {@link CoordinateSequenceFilter}.
+ *
+ * @see Geometry#apply(CoordinateFilter)
+ * @see CoordinateSequenceFilter
+ *
+ *@version 1.7
+ */
+public interface CoordinateFilter {
+
+ /**
+ * Performs an operation with the <code>coord</code>.
+ * There is no guarantee that the coordinate is the actual object stored in the target geometry.
+ *
+ *@param coord a <code>Coordinate</code> to which the filter is applied.
+ */
+ void filter(Coordinate coord);
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateList.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateList.java
new file mode 100644
index 0000000..61b572b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateList.java
@@ -0,0 +1,229 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * A list of {@link Coordinate}s, which may
+ * be set to prevent repeated coordinates from occurring in the list.
+ *
+ *
+ * @version 1.7
+ */
+public class CoordinateList
+ extends ArrayList
+{
+ //With contributions from Markus Schaber [schabios at logi-track.com]
+ //[Jon Aquino 2004-03-25]
+ private final static Coordinate[] coordArrayType = new Coordinate[0];
+
+ /**
+ * Constructs a new list without any coordinates
+ */
+ public CoordinateList()
+ {
+ }
+
+ /**
+ * Constructs a new list from an array of Coordinates, allowing repeated points.
+ * (I.e. this constructor produces a {@link CoordinateList} with exactly the same set of points
+ * as the input array.)
+ *
+ * @param coord the initial coordinates
+ */
+ public CoordinateList(Coordinate[] coord)
+ {
+ ensureCapacity(coord.length);
+ add(coord, true);
+ }
+
+ /**
+ * Constructs a new list from an array of Coordinates,
+ * allowing caller to specify if repeated points are to be removed.
+ *
+ * @param coord the array of coordinates to load into the list
+ * @param allowRepeated if <code>false</code>, repeated points are removed
+ */
+ public CoordinateList(Coordinate[] coord, boolean allowRepeated)
+ {
+ ensureCapacity(coord.length);
+ add(coord, allowRepeated);
+ }
+
+ public void add(Coordinate coord) {
+ super.add(coord);
+ }
+
+ public Coordinate getCoordinate(int i) { return (Coordinate) get(i); }
+
+
+ /**
+ * Adds a section of an array of coordinates to the list.
+ * @param coord The coordinates
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ * @param start the index to start from
+ * @param end the index to add up to but not including
+ * @return true (as by general collection contract)
+ */
+ public boolean add(Coordinate[] coord, boolean allowRepeated, int start, int end)
+ {
+ int inc = 1;
+ if (start > end) inc = -1;
+
+ for (int i = start; i != end; i += inc) {
+ add(coord[i], allowRepeated);
+ }
+ return true;
+ }
+
+ /**
+ * Adds an array of coordinates to the list.
+ * @param coord The coordinates
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ * @param direction if false, the array is added in reverse order
+ * @return true (as by general collection contract)
+ */
+ public boolean add(Coordinate[] coord, boolean allowRepeated, boolean direction)
+ {
+ if (direction) {
+ for (int i = 0; i < coord.length; i++) {
+ add(coord[i], allowRepeated);
+ }
+ }
+ else {
+ for (int i = coord.length - 1; i >= 0; i--) {
+ add(coord[i], allowRepeated);
+ }
+ }
+ return true;
+ }
+
+
+ /**
+ * Adds an array of coordinates to the list.
+ * @param coord The coordinates
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ * @return true (as by general collection contract)
+ */
+ public boolean add(Coordinate[] coord, boolean allowRepeated)
+ {
+ add(coord, allowRepeated, true);
+ return true;
+ }
+
+ /**
+ * Adds a coordinate to the list.
+ * @param obj The coordinate to add
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ * @return true (as by general collection contract)
+ */
+ public boolean add(Object obj, boolean allowRepeated)
+ {
+ add((Coordinate) obj, allowRepeated);
+ return true;
+ }
+
+ /**
+ * Adds a coordinate to the end of the list.
+ *
+ * @param coord The coordinates
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ */
+ public void add(Coordinate coord, boolean allowRepeated)
+ {
+ // don't add duplicate coordinates
+ if (! allowRepeated) {
+ if (size() >= 1) {
+ Coordinate last = (Coordinate) get(size() - 1);
+ if (last.equals2D(coord)) return;
+ }
+ }
+ super.add(coord);
+ }
+
+ /**
+ * Inserts the specified coordinate at the specified position in this list.
+ *
+ * @param i the position at which to insert
+ * @param coord the coordinate to insert
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ */
+ public void add(int i, Coordinate coord, boolean allowRepeated)
+ {
+ // don't add duplicate coordinates
+ if (! allowRepeated) {
+ int size = size();
+ if (size > 0) {
+ if (i > 0) {
+ Coordinate prev = (Coordinate) get(i - 1);
+ if (prev.equals2D(coord)) return;
+ }
+ if (i < size) {
+ Coordinate next = (Coordinate) get(i);
+ if (next.equals2D(coord)) return;
+ }
+ }
+ }
+ super.add(i, coord);
+ }
+
+ /** Add an array of coordinates
+ * @param coll The coordinates
+ * @param allowRepeated if set to false, repeated coordinates are collapsed
+ * @return true (as by general collection contract)
+ */
+ public boolean addAll(Collection coll, boolean allowRepeated)
+ {
+ boolean isChanged = false;
+ for (Iterator i = coll.iterator(); i.hasNext(); ) {
+ add((Coordinate) i.next(), allowRepeated);
+ isChanged = true;
+ }
+ return isChanged;
+ }
+
+ /**
+ * Ensure this coordList is a ring, by adding the start point if necessary
+ */
+ public void closeRing()
+ {
+ if (size() > 0)
+ add(new Coordinate((Coordinate) get(0)), false);
+ }
+
+ /** Returns the Coordinates in this collection.
+ *
+ * @return the coordinates
+ */
+ public Coordinate[] toCoordinateArray()
+ {
+ return (Coordinate[]) toArray(coordArrayType);
+ }
+
+ /**
+ * Returns a deep copy of this <tt>CoordinateList</tt> instance.
+ *
+ * @return a clone of this <tt>CoordinateList</tt> instance
+ */
+ public Object clone() {
+ CoordinateList clone = (CoordinateList) super.clone();
+ for (int i = 0; i < this.size(); i++) {
+ clone.add(i, ((Coordinate) this.get(i)).clone());
+ }
+ return clone;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequence.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequence.java
new file mode 100644
index 0000000..f7d625e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequence.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.geom.impl.CoordinateArraySequenceFactory;
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+
+/**
+ * The internal representation of a list of coordinates inside a Geometry.
+ * <p>
+ * This allows Geometries to store their
+ * points using something other than the JTS {@link Coordinate} class.
+ * For example, a storage-efficient implementation
+ * might store coordinate sequences as an array of x's
+ * and an array of y's.
+ * Or a custom coordinate class might support extra attributes like M-values.
+ * <p>
+ * Implementing a custom coordinate storage structure
+ * requires implementing the {@link CoordinateSequence} and
+ * {@link CoordinateSequenceFactory} interfaces.
+ * To use the custom CoordinateSequence, create a
+ * new {@link GeometryFactory} parameterized by the CoordinateSequenceFactory
+ * The {@link GeometryFactory} can then be used to create new {@link Geometry}s.
+ * The new Geometries
+ * will use the custom CoordinateSequence implementation.
+ * <p>
+ * For an example, see the code for
+ * {@link ExtendedCoordinateExample}.
+ *
+ * @see CoordinateArraySequenceFactory
+ * @see PackedCoordinateSequenceFactory
+ * @see ExtendedCoordinateExample
+ *
+ * @version 1.7
+ */
+public interface CoordinateSequence
+ extends Cloneable
+{
+ /**
+ * Standard ordinate index values
+ */
+ int X = 0;
+ int Y = 1;
+ int Z = 2;
+ int M = 3;
+
+ /**
+ * Returns the dimension (number of ordinates in each coordinate)
+ * for this sequence.
+ *
+ * @return the dimension of the sequence.
+ */
+ int getDimension();
+
+ /**
+ * Returns (possibly a copy of) the i'th coordinate in this sequence.
+ * Whether or not the Coordinate returned is the actual underlying
+ * Coordinate or merely a copy depends on the implementation.
+ * <p>
+ * Note that in the future the semantics of this method may change
+ * to guarantee that the Coordinate returned is always a copy.
+ * Callers should not to assume that they can modify a CoordinateSequence by
+ * modifying the object returned by this method.
+ *
+ * @param i the index of the coordinate to retrieve
+ * @return the i'th coordinate in the sequence
+ */
+ Coordinate getCoordinate(int i);
+
+ /**
+ * Returns a copy of the i'th coordinate in this sequence.
+ * This method optimizes the situation where the caller is
+ * going to make a copy anyway - if the implementation
+ * has already created a new Coordinate object, no further copy is needed.
+ *
+ * @param i the index of the coordinate to retrieve
+ * @return a copy of the i'th coordinate in the sequence
+ */
+ Coordinate getCoordinateCopy(int i);
+
+ /**
+ * Copies the i'th coordinate in the sequence to the supplied
+ * {@link Coordinate}. Only the first two dimensions are copied.
+ *
+ * @param index the index of the coordinate to copy
+ * @param coord a {@link Coordinate} to receive the value
+ */
+ void getCoordinate(int index, Coordinate coord);
+
+ /**
+ * Returns ordinate X (0) of the specified coordinate.
+ *
+ * @param index
+ * @return the value of the X ordinate in the index'th coordinate
+ */
+ double getX(int index);
+
+ /**
+ * Returns ordinate Y (1) of the specified coordinate.
+ *
+ * @param index
+ * @return the value of the Y ordinate in the index'th coordinate
+ */
+ double getY(int index);
+
+ /**
+ * Returns the ordinate of a coordinate in this sequence.
+ * Ordinate indices 0 and 1 are assumed to be X and Y.
+ * Ordinates indices greater than 1 have user-defined semantics
+ * (for instance, they may contain other dimensions or measure values).
+ *
+ * @param index the coordinate index in the sequence
+ * @param ordinateIndex the ordinate index in the coordinate (in range [0, dimension-1])
+ */
+ double getOrdinate(int index, int ordinateIndex);
+
+ /**
+ * Returns the number of coordinates in this sequence.
+ * @return the size of the sequence
+ */
+ int size();
+
+ /**
+ * Sets the value for a given ordinate of a coordinate in this sequence.
+ *
+ * @param index the coordinate index in the sequence
+ * @param ordinateIndex the ordinate index in the coordinate (in range [0, dimension-1])
+ * @param value the new ordinate value
+ */
+ void setOrdinate(int index, int ordinateIndex, double value);
+
+ /**
+ * Returns (possibly copies of) the Coordinates in this collection.
+ * Whether or not the Coordinates returned are the actual underlying
+ * Coordinates or merely copies depends on the implementation. Note that
+ * if this implementation does not store its data as an array of Coordinates,
+ * this method will incur a performance penalty because the array needs to
+ * be built from scratch.
+ *
+ * @return a array of coordinates containing the point values in this sequence
+ */
+ Coordinate[] toCoordinateArray();
+
+ /**
+ * Expands the given {@link Envelope} to include the coordinates in the sequence.
+ * Allows implementing classes to optimize access to coordinate values.
+ *
+ * @param env the envelope to expand
+ * @return a ref to the expanded envelope
+ */
+ Envelope expandEnvelope(Envelope env);
+
+ /**
+ * Returns a deep copy of this collection.
+ * Called by Geometry#clone.
+ *
+ * @return a copy of the coordinate sequence containing copies of all points
+ * @deprecated
+ */
+ Object clone();
+
+ /**
+ * Returns a deep copy of this collection.
+ *
+ * @return a copy of the coordinate sequence containing copies of all points
+ */
+ CoordinateSequence copy();
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceComparator.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceComparator.java
new file mode 100644
index 0000000..523e9eb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceComparator.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import java.util.Comparator;
+
+/**
+ * Compares two {@link CoordinateSequence}s.
+ * For sequences of the same dimension, the ordering is lexicographic.
+ * Otherwise, lower dimensions are sorted before higher.
+ * The dimensions compared can be limited; if this is done
+ * ordinate dimensions above the limit will not be compared.
+ * <p>
+ * If different behaviour is required for comparing size, dimension, or
+ * coordinate values, any or all methods can be overridden.
+ *
+ */
+public class CoordinateSequenceComparator
+ implements Comparator
+{
+ /**
+ * Compare two <code>double</code>s, allowing for NaN values.
+ * NaN is treated as being less than any valid number.
+ *
+ * @param a a <code>double</code>
+ * @param b a <code>double</code>
+ * @return -1, 0, or 1 depending on whether a is less than, equal to or greater than b
+ */
+ public static int compare(double a, double b)
+ {
+ if (a < b) return -1;
+ if (a > b) return 1;
+
+ if (Double.isNaN(a)) {
+ if (Double.isNaN(b)) return 0;
+ return -1;
+ }
+
+ if (Double.isNaN(b)) return 1;
+ return 0;
+ }
+
+ /**
+ * The number of dimensions to test
+ */
+ protected int dimensionLimit;
+
+ /**
+ * Creates a comparator which will test all dimensions.
+ */
+ public CoordinateSequenceComparator()
+ {
+ dimensionLimit = Integer.MAX_VALUE;
+ }
+
+ /**
+ * Creates a comparator which will test only the specified number of dimensions.
+ *
+ * @param dimensionLimit the number of dimensions to test
+ */
+ public CoordinateSequenceComparator(int dimensionLimit)
+ {
+ this.dimensionLimit = dimensionLimit;
+ }
+
+ /**
+ * Compares two {@link CoordinateSequence}s for relative order.
+ *
+ * @param o1 a {@link CoordinateSequence}
+ * @param o2 a {@link CoordinateSequence}
+ * @return -1, 0, or 1 depending on whether o1 is less than, equal to, or greater than o2
+ */
+ public int compare(Object o1, Object o2)
+ {
+ CoordinateSequence s1 = (CoordinateSequence) o1;
+ CoordinateSequence s2 = (CoordinateSequence) o2;
+
+ int size1 = s1.size();
+ int size2 = s2.size();
+
+ int dim1 = s1.getDimension();
+ int dim2 = s2.getDimension();
+
+ int minDim = dim1;
+ if (dim2 < minDim)
+ minDim = dim2;
+ boolean dimLimited = false;
+ if (dimensionLimit <= minDim) {
+ minDim = dimensionLimit;
+ dimLimited = true;
+ }
+
+ // lower dimension is less than higher
+ if (! dimLimited) {
+ if (dim1 < dim2) return -1;
+ if (dim1 > dim2) return 1;
+ }
+
+ // lexicographic ordering of point sequences
+ int i = 0;
+ while (i < size1 && i < size2) {
+ int ptComp = compareCoordinate(s1, s2, i, minDim);
+ if (ptComp != 0) return ptComp;
+ i++;
+ }
+ if (i < size1) return 1;
+ if (i < size2) return -1;
+
+ return 0;
+ }
+
+ /**
+ * Compares the same coordinate of two {@link CoordinateSequence}s
+ * along the given number of dimensions.
+ *
+ * @param s1 a {@link CoordinateSequence}
+ * @param s2 a {@link CoordinateSequence}
+ * @param i the index of the coordinate to test
+ * @param dimension the number of dimensions to test
+ * @return -1, 0, or 1 depending on whether s1[i] is less than, equal to, or greater than s2[i]
+ */
+ protected int compareCoordinate(CoordinateSequence s1, CoordinateSequence s2, int i, int dimension)
+ {
+ for (int d = 0; d < dimension; d++) {
+ double ord1 = s1.getOrdinate(i, d);
+ double ord2 = s2.getOrdinate(i, d);
+ int comp = compare(ord1, ord2);
+ if (comp != 0) return comp;
+ }
+ return 0;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFactory.java
new file mode 100644
index 0000000..98fbc94
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFactory.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * A factory to create concrete instances of {@link CoordinateSequence}s.
+ * Used to configure {@link GeometryFactory}s
+ * to provide specific kinds of CoordinateSequences.
+ *
+ * @version 1.7
+ */
+public interface CoordinateSequenceFactory
+{
+
+ /**
+ * Returns a {@link CoordinateSequence} based on the given array.
+ * Whether the array is copied or simply referenced
+ * is implementation-dependent.
+ * This method must handle null arguments by creating an empty sequence.
+ *
+ * @param coordinates the coordinates
+ */
+ CoordinateSequence create(Coordinate[] coordinates);
+
+ /**
+ * Creates a {@link CoordinateSequence} which is a copy
+ * of the given {@link CoordinateSequence}.
+ * This method must handle null arguments by creating an empty sequence.
+ *
+ * @param coordSeq the coordinate sequence to copy
+ */
+ CoordinateSequence create(CoordinateSequence coordSeq);
+
+ /**
+ * Creates a {@link CoordinateSequence} of the specified size and dimension.
+ * For this to be useful, the {@link CoordinateSequence} implementation must
+ * be mutable.
+ * <p>
+ * If the requested dimension is larger than the CoordinateSequence implementation
+ * can provide, then a sequence of maximum possible dimension should be created.
+ * An error should not be thrown.
+ *
+ * @param size the number of coordinates in the sequence
+ * @param dimension the dimension of the coordinates in the sequence (if user-specifiable,
+ * otherwise ignored)
+ */
+ CoordinateSequence create(int size, int dimension);
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFilter.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFilter.java
new file mode 100644
index 0000000..8c60d15
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequenceFilter.java
@@ -0,0 +1,82 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.geom.util.GeometryEditor;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * An interface for classes which process the coordinates in a {@link CoordinateSequence}.
+ * A filter can either record information about each coordinate,
+ * or change the value of the coordinate.
+ * Filters can be
+ * used to implement operations such as coordinate transformations, centroid and
+ * envelope computation, and many other functions.
+ * {@link Geometry} classes support the concept of applying a
+ * <code>CoordinateSequenceFilter</code> to each
+ * {@link CoordinateSequence}s they contain.
+ * <p>
+ * For maximum efficiency, the execution of filters can be short-circuited by using the {@link #isDone} method.
+ * <p>
+ * <code>CoordinateSequenceFilter</code> is
+ * an example of the Gang-of-Four Visitor pattern.
+ * <p>
+ * <b>Note</b>: In general, it is preferable to treat Geometrys as immutable.
+ * Mutation should be performed by creating a new Geometry object (see {@link GeometryEditor}
+ * and {@link GeometryTransformer} for convenient ways to do this).
+ * An exception to this rule is when a new Geometry has been created via {@link Geometry#copy()}.
+ * In this case mutating the Geometry will not cause aliasing issues,
+ * and a filter is a convenient way to implement coordinate transformation.
+ *
+ * @see Geometry#apply(CoordinateFilter)
+ * @see GeometryTransformer
+ * @see GeometryEditor
+ *
+ *@see Geometry#apply(CoordinateSequenceFilter)
+ *@author Martin Davis
+ *@version 1.7
+ */
+public interface CoordinateSequenceFilter
+{
+ /**
+ * Performs an operation on a coordinate in a {@link CoordinateSequence}.
+ *
+ *@param seq the <code>CoordinateSequence</code> to which the filter is applied
+ *@param i the index of the coordinate to apply the filter to
+ */
+ void filter(CoordinateSequence seq, int i);
+
+ /**
+ * Reports whether the application of this filter can be terminated.
+ * Once this method returns <tt>false</tt>, it should
+ * continue to return <tt>false</tt> on every subsequent call.
+ *
+ * @return true if the application of this filter can be terminated.
+ */
+ boolean isDone();
+
+ /**
+ * Reports whether the execution of this filter
+ * has modified the coordinates of the geometry.
+ * If so, {@link Geometry#geometryChanged} will be executed
+ * after this filter has finished being executed.
+ * <p>
+ * Most filters can simply return a constant value reflecting
+ * whether they are able to change the coordinates.
+ *
+ * @return true if this filter has changed the coordinates of the geometry
+ */
+ boolean isGeometryChanged();
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequences.java b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequences.java
new file mode 100644
index 0000000..d6bc1e0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/CoordinateSequences.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.util.StringUtil;
+
+
+/**
+ * Utility functions for manipulating {@link CoordinateSequence}s
+ *
+ * @version 1.7
+ */
+public class CoordinateSequences {
+
+ /**
+ * Reverses the coordinates in a sequence in-place.
+ */
+ public static void reverse(CoordinateSequence seq)
+ {
+ int last = seq.size() - 1;
+ int mid = last / 2;
+ for (int i = 0; i <= mid; i++) {
+ swap(seq, i, last - i);
+ }
+ }
+
+ /**
+ * Swaps two coordinates in a sequence.
+ *
+ * @param seq the sequence to modify
+ * @param i the index of a coordinate to swap
+ * @param j the index of a coordinate to swap
+ */
+ public static void swap(CoordinateSequence seq, int i, int j)
+ {
+ if (i == j) return;
+ for (int dim = 0; dim < seq.getDimension(); dim++) {
+ double tmp = seq.getOrdinate(i, dim);
+ seq.setOrdinate(i, dim, seq.getOrdinate(j, dim));
+ seq.setOrdinate(j, dim, tmp);
+ }
+ }
+
+ /**
+ * Copies a section of a {@link CoordinateSequence} to another {@link CoordinateSequence}.
+ * The sequences may have different dimensions;
+ * in this case only the common dimensions are copied.
+ *
+ * @param src the sequence to copy from
+ * @param srcPos the position in the source sequence to start copying at
+ * @param dest the sequence to copy to
+ * @param destPos the position in the destination sequence to copy to
+ * @param length the number of coordinates to copy
+ */
+ public static void copy(CoordinateSequence src, int srcPos, CoordinateSequence dest, int destPos, int length)
+ {
+ for (int i = 0; i < length; i++) {
+ copyCoord(src, srcPos + i, dest, destPos + i);
+ }
+ }
+
+ /**
+ * Copies a coordinate of a {@link CoordinateSequence} to another {@link CoordinateSequence}.
+ * The sequences may have different dimensions;
+ * in this case only the common dimensions are copied.
+ *
+ * @param src the sequence to copy from
+ * @param srcPos the source coordinate to copy
+ * @param dest the sequence to copy to
+ * @param destPos the destination coordinate to copy to
+ */
+ public static void copyCoord(CoordinateSequence src, int srcPos, CoordinateSequence dest, int destPos)
+ {
+ int minDim = Math.min(src.getDimension(), dest.getDimension());
+ for (int dim = 0; dim < minDim; dim++) {
+ dest.setOrdinate(destPos, dim, src.getOrdinate(srcPos, dim));
+ }
+ }
+
+ /**
+ * Tests whether a {@link CoordinateSequence} forms a valid {@link LinearRing},
+ * by checking the sequence length and closure
+ * (whether the first and last points are identical in 2D).
+ * Self-intersection is not checked.
+ *
+ * @param seq the sequence to test
+ * @return true if the sequence is a ring
+ * @see LinearRing
+ */
+ public static boolean isRing(CoordinateSequence seq)
+ {
+ int n = seq.size();
+ if (n == 0) return true;
+ // too few points
+ if (n <= 3)
+ return false;
+ // test if closed
+ return seq.getOrdinate(0, CoordinateSequence.X) == seq.getOrdinate(n-1, CoordinateSequence.X)
+ && seq.getOrdinate(0, CoordinateSequence.Y) == seq.getOrdinate(n-1, CoordinateSequence.Y);
+ }
+
+ /**
+ * Ensures that a CoordinateSequence forms a valid ring,
+ * returning a new closed sequence of the correct length if required.
+ * If the input sequence is already a valid ring, it is returned
+ * without modification.
+ * If the input sequence is too short or is not closed,
+ * it is extended with one or more copies of the start point.
+ *
+ * @param fact the CoordinateSequenceFactory to use to create the new sequence
+ * @param seq the sequence to test
+ * @return the original sequence, if it was a valid ring, or a new sequence which is valid.
+ */
+ public static CoordinateSequence ensureValidRing(CoordinateSequenceFactory fact, CoordinateSequence seq)
+ {
+ int n = seq.size();
+ // empty sequence is valid
+ if (n == 0) return seq;
+ // too short - make a new one
+ if (n <= 3)
+ return createClosedRing(fact, seq, 4);
+
+ boolean isClosed = seq.getOrdinate(0, CoordinateSequence.X) == seq.getOrdinate(n-1, CoordinateSequence.X)
+ && seq.getOrdinate(0, CoordinateSequence.Y) == seq.getOrdinate(n-1, CoordinateSequence.Y);
+ if (isClosed) return seq;
+ // make a new closed ring
+ return createClosedRing(fact, seq, n+1);
+ }
+
+ private static CoordinateSequence createClosedRing(CoordinateSequenceFactory fact, CoordinateSequence seq, int size)
+ {
+ CoordinateSequence newseq = fact.create(size, seq.getDimension());
+ int n = seq.size();
+ copy(seq, 0, newseq, 0, n);
+ // fill remaining coordinates with start point
+ for (int i = n; i < size; i++)
+ copy(seq, 0, newseq, i, 1);
+ return newseq;
+ }
+
+ public static CoordinateSequence extend(CoordinateSequenceFactory fact, CoordinateSequence seq, int size)
+ {
+ CoordinateSequence newseq = fact.create(size, seq.getDimension());
+ int n = seq.size();
+ copy(seq, 0, newseq, 0, n);
+ // fill remaining coordinates with end point, if it exists
+ if (n > 0) {
+ for (int i = n; i < size; i++)
+ copy(seq, n-1, newseq, i, 1);
+ }
+ return newseq;
+ }
+
+ /**
+ * Tests whether two {@link CoordinateSequence}s are equal.
+ * To be equal, the sequences must be the same length.
+ * They do not need to be of the same dimension,
+ * but the ordinate values for the smallest dimension of the two
+ * must be equal.
+ * Two <code>NaN</code> ordinates values are considered to be equal.
+ *
+ * @param cs1 a CoordinateSequence
+ * @param cs2 a CoordinateSequence
+ * @return true if the sequences are equal in the common dimensions
+ */
+ public static boolean isEqual(CoordinateSequence cs1, CoordinateSequence cs2) {
+ int cs1Size = cs1.size();
+ int cs2Size = cs2.size();
+ if (cs1Size != cs2Size) return false;
+ int dim = Math.min(cs1.getDimension(), cs2.getDimension());
+ for (int i = 0; i < cs1Size; i++) {
+ for (int d = 0; d < dim; d++) {
+ double v1 = cs1.getOrdinate(i, d);
+ double v2 = cs2.getOrdinate(i, d);
+ if (cs1.getOrdinate(i, d) == cs2.getOrdinate(i, d))
+ continue;
+ // special check for NaNs
+ if (Double.isNaN(v1) && Double.isNaN(v2))
+ continue;
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Creates a string representation of a {@link CoordinateSequence}.
+ * The format is:
+ * <pre>
+ * ( ord0,ord1.. ord0,ord1,... ... )
+ * </pre>
+ *
+ * @param cs the sequence to output
+ * @return the string representation of the sequence
+ */
+ public static String toString(CoordinateSequence cs)
+ {
+ int size = cs.size();
+ if (size == 0)
+ return "()";
+ int dim = cs.getDimension();
+ StringBuilder builder = new StringBuilder();
+ builder.append('(');
+ for (int i = 0; i < size; i++) {
+ if (i > 0) builder.append(" ");
+ for (int d = 0; d < dim; d++) {
+ if (d > 0) builder.append(",");
+ builder.append(StringUtil.toString(cs.getOrdinate(i, d)));
+ }
+ }
+ builder.append(')');
+ return builder.toString();
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequence.java b/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequence.java
new file mode 100644
index 0000000..9c8b2a8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequence.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+import java.io.Serializable;
+
+/**
+ * The CoordinateSequence implementation that Geometries use by default. In
+ * this implementation, Coordinates returned by #toArray and #get are live --
+ * parties that change them are actually changing the
+ * DefaultCoordinateSequence's underlying data.
+ *
+ * @version 1.7
+ *
+ * @deprecated no longer used
+ */
+class DefaultCoordinateSequence
+ implements CoordinateSequence, Serializable
+{
+ //With contributions from Markus Schaber [schabios at logi-track.com] 2004-03-26
+ private static final long serialVersionUID = -915438501601840650L;
+ private Coordinate[] coordinates;
+
+ /**
+ * Constructs a DefaultCoordinateSequence based on the given array (the
+ * array is not copied).
+ *
+ * @param coordinates the coordinate array that will be referenced.
+ */
+ public DefaultCoordinateSequence(Coordinate[] coordinates) {
+ if (Geometry.hasNullElements(coordinates)) {
+ throw new IllegalArgumentException("Null coordinate");
+ }
+ this.coordinates = coordinates;
+ }
+
+ /**
+ * Creates a new sequence based on a deep copy of the given {@link CoordinateSequence}.
+ *
+ * @param coordSeq the coordinate sequence that will be copied.
+ */
+ public DefaultCoordinateSequence(CoordinateSequence coordSeq) {
+ coordinates = new Coordinate[coordSeq.size()];
+ for (int i = 0; i < coordinates.length; i++) {
+ coordinates[i] = coordSeq.getCoordinateCopy(i);
+ }
+ }
+
+ /**
+ * Constructs a sequence of a given size, populated
+ * with new {@link Coordinate}s.
+ *
+ * @param size the size of the sequence to create
+ */
+ public DefaultCoordinateSequence(int size) {
+ coordinates = new Coordinate[size];
+ for (int i = 0; i < size; i++) {
+ coordinates[i] = new Coordinate();
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getDimension()
+ */
+ public int getDimension() { return 3; }
+
+ /**
+ * Get the Coordinate with index i.
+ *
+ * @param i
+ * the index of the coordinate
+ * @return the requested Coordinate instance
+ */
+ public Coordinate getCoordinate(int i) {
+ return coordinates[i];
+ }
+ /**
+ * Get a copy of the Coordinate with index i.
+ *
+ * @param i the index of the coordinate
+ * @return a copy of the requested Coordinate
+ */
+ public Coordinate getCoordinateCopy(int i) {
+ return new Coordinate(coordinates[i]);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getX(int)
+ */
+ public void getCoordinate(int index, Coordinate coord) {
+ coord.x = coordinates[index].x;
+ coord.y = coordinates[index].y;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getX(int)
+ */
+ public double getX(int index) {
+ return coordinates[index].x;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getY(int)
+ */
+ public double getY(int index) {
+ return coordinates[index].y;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getOrdinate(int, int)
+ */
+ public double getOrdinate(int index, int ordinateIndex)
+ {
+ switch (ordinateIndex) {
+ case CoordinateSequence.X: return coordinates[index].x;
+ case CoordinateSequence.Y: return coordinates[index].y;
+ case CoordinateSequence.Z: return coordinates[index].z;
+ }
+ return Double.NaN;
+ }
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#setOrdinate(int, int, double)
+ */
+ public void setOrdinate(int index, int ordinateIndex, double value)
+ {
+ switch (ordinateIndex) {
+ case CoordinateSequence.X: coordinates[index].x = value; break;
+ case CoordinateSequence.Y: coordinates[index].y = value; break;
+ case CoordinateSequence.Z: coordinates[index].z = value; break;
+ }
+ }
+ /**
+ * Creates a deep copy of the Object
+ *
+ * @return The deep copy
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+ /**
+ * Creates a deep copy of the DefaultCoordinateSequence
+ *
+ * @return The deep copy
+ */
+ public DefaultCoordinateSequence copy() {
+ Coordinate[] cloneCoordinates = new Coordinate[size()];
+ for (int i = 0; i < coordinates.length; i++) {
+ cloneCoordinates[i] = (Coordinate) coordinates[i].clone();
+ }
+ return new DefaultCoordinateSequence(cloneCoordinates);
+ }
+ /**
+ * Returns the size of the coordinate sequence
+ *
+ * @return the number of coordinates
+ */
+ public int size() {
+ return coordinates.length;
+ }
+ /**
+ * This method exposes the internal Array of Coordinate Objects
+ *
+ * @return the Coordinate[] array.
+ */
+ public Coordinate[] toCoordinateArray() {
+ return coordinates;
+ }
+
+ public Envelope expandEnvelope(Envelope env)
+ {
+ for (int i = 0; i < coordinates.length; i++ ) {
+ env.expandToInclude(coordinates[i]);
+ }
+ return env;
+ }
+
+ /**
+ * Returns the string Representation of the coordinate array
+ *
+ * @return The string
+ */
+ public String toString() {
+ if (coordinates.length > 0) {
+ StringBuilder strBuilder = new StringBuilder(17 * coordinates.length);
+ strBuilder.append('(');
+ strBuilder.append(coordinates[0]);
+ for (int i = 1; i < coordinates.length; i++) {
+ strBuilder.append(", ");
+ strBuilder.append(coordinates[i]);
+ }
+ strBuilder.append(')');
+ return strBuilder.toString();
+ } else {
+ return "()";
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequenceFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequenceFactory.java
new file mode 100644
index 0000000..25c60f6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/DefaultCoordinateSequenceFactory.java
@@ -0,0 +1,72 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+
+/**
+ * Creates CoordinateSequences represented as an array of {@link Coordinate}s.
+ *
+ * @version 1.7
+ *
+ * @deprecated no longer used
+ */
+public class DefaultCoordinateSequenceFactory
+ implements CoordinateSequenceFactory, Serializable
+{
+ private static final long serialVersionUID = -4099577099607551657L;
+ private static final DefaultCoordinateSequenceFactory instanceObject = new DefaultCoordinateSequenceFactory();
+
+ public DefaultCoordinateSequenceFactory() {
+ }
+
+ private Object readResolve() {
+ // see http://www.javaworld.com/javaworld/javatips/jw-javatip122.html
+ return DefaultCoordinateSequenceFactory.instance();
+ }
+
+ /**
+ * Returns the singleton instance of DefaultCoordinateSequenceFactory
+ */
+ public static DefaultCoordinateSequenceFactory instance() {
+ return instanceObject;
+ }
+
+
+
+ /**
+ * Returns a DefaultCoordinateSequence based on the given array (the array is
+ * not copied).
+ *
+ * @param coordinates
+ * the coordinates, which may not be null nor contain null
+ * elements
+ */
+ public CoordinateSequence create(Coordinate[] coordinates) {
+ return new DefaultCoordinateSequence(coordinates);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(org.locationtech.jts.geom.CoordinateSequence)
+ */
+ public CoordinateSequence create(CoordinateSequence coordSeq) {
+ return new DefaultCoordinateSequence(coordSeq);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(int, int)
+ */
+ public CoordinateSequence create(int size, int dimension) {
+ return new DefaultCoordinateSequence(size);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Dimension.java b/modules/core/src/main/java/org/locationtech/jts/geom/Dimension.java
new file mode 100644
index 0000000..54b2f42
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Dimension.java
@@ -0,0 +1,143 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Provides constants representing the dimensions of a point, a curve and a surface.
+ * Also provides constants representing the dimensions of the empty geometry and
+ * non-empty geometries, and the wildcard constant {@link #DONTCARE} meaning "any dimension".
+ * These constants are used as the entries in {@link IntersectionMatrix}s.
+ *
+ * @version 1.7
+ */
+public class Dimension {
+
+ /**
+ * Dimension value of a point (0).
+ */
+ public final static int P = 0;
+
+ /**
+ * Dimension value of a curve (1).
+ */
+ public final static int L = 1;
+
+ /**
+ * Dimension value of a surface (2).
+ */
+ public final static int A = 2;
+
+ /**
+ * Dimension value of the empty geometry (-1).
+ */
+ public final static int FALSE = -1;
+
+ /**
+ * Dimension value of non-empty geometries (= {P, L, A}).
+ */
+ public final static int TRUE = -2;
+
+ /**
+ * Dimension value for any dimension (= {FALSE, TRUE}).
+ */
+ public final static int DONTCARE = -3;
+
+ /**
+ * Symbol for the FALSE pattern matrix entry
+ */
+ public final static char SYM_FALSE = 'F';
+
+ /**
+ * Symbol for the TRUE pattern matrix entry
+ */
+ public final static char SYM_TRUE = 'T';
+
+ /**
+ * Symbol for the DONTCARE pattern matrix entry
+ */
+ public final static char SYM_DONTCARE = '*';
+
+ /**
+ * Symbol for the P (dimension 0) pattern matrix entry
+ */
+ public final static char SYM_P = '0';
+
+ /**
+ * Symbol for the L (dimension 1) pattern matrix entry
+ */
+ public final static char SYM_L = '1';
+
+ /**
+ * Symbol for the A (dimension 2) pattern matrix entry
+ */
+ public final static char SYM_A = '2';
+
+ /**
+ * Converts the dimension value to a dimension symbol, for example, <code>TRUE => 'T'</code>
+ * .
+ *
+ *@param dimensionValue a number that can be stored in the <code>IntersectionMatrix</code>
+ * . Possible values are <code>{TRUE, FALSE, DONTCARE, 0, 1, 2}</code>.
+ *@return a character for use in the string representation of
+ * an <code>IntersectionMatrix</code>. Possible values are <code>{T, F, * , 0, 1, 2}</code>
+ * .
+ */
+ public static char toDimensionSymbol(int dimensionValue) {
+ switch (dimensionValue) {
+ case FALSE:
+ return SYM_FALSE;
+ case TRUE:
+ return SYM_TRUE;
+ case DONTCARE:
+ return SYM_DONTCARE;
+ case P:
+ return SYM_P;
+ case L:
+ return SYM_L;
+ case A:
+ return SYM_A;
+ }
+ throw new IllegalArgumentException("Unknown dimension value: " + dimensionValue);
+ }
+
+ /**
+ * Converts the dimension symbol to a dimension value, for example, <code>'*' => DONTCARE</code>
+ * .
+ *
+ *@param dimensionSymbol a character for use in the string representation of
+ * an <code>IntersectionMatrix</code>. Possible values are <code>{T, F, * , 0, 1, 2}</code>
+ * .
+ *@return a number that can be stored in the <code>IntersectionMatrix</code>
+ * . Possible values are <code>{TRUE, FALSE, DONTCARE, 0, 1, 2}</code>.
+ */
+ public static int toDimensionValue(char dimensionSymbol) {
+ switch (Character.toUpperCase(dimensionSymbol)) {
+ case SYM_FALSE:
+ return FALSE;
+ case SYM_TRUE:
+ return TRUE;
+ case SYM_DONTCARE:
+ return DONTCARE;
+ case SYM_P:
+ return P;
+ case SYM_L:
+ return L;
+ case SYM_A:
+ return A;
+ }
+ throw new IllegalArgumentException("Unknown dimension symbol: " + dimensionSymbol);
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Envelope.java b/modules/core/src/main/java/org/locationtech/jts/geom/Envelope.java
new file mode 100644
index 0000000..d6d86d9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Envelope.java
@@ -0,0 +1,781 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+
+/**
+ * Defines a rectangular region of the 2D coordinate plane.
+ * It is often used to represent the bounding box of a {@link Geometry},
+ * e.g. the minimum and maximum x and y values of the {@link Coordinate}s.
+ * <p>
+ * Envelopes support infinite or half-infinite regions, by using the values of
+ * <code>Double.POSITIVE_INFINITY</code> and <code>Double.NEGATIVE_INFINITY</code>.
+ * Envelope objects may have a null value.
+ * <p>
+ * When Envelope objects are created or initialized,
+ * the supplies extent values are automatically sorted into the correct order.
+ *
+ *@version 1.7
+ */
+public class Envelope
+ implements Comparable, Serializable
+{
+ private static final long serialVersionUID = 5873921885273102420L;
+
+ public int hashCode() {
+ //Algorithm from Effective Java by Joshua Bloch [Jon Aquino]
+ int result = 17;
+ result = 37 * result + Coordinate.hashCode(minx);
+ result = 37 * result + Coordinate.hashCode(maxx);
+ result = 37 * result + Coordinate.hashCode(miny);
+ result = 37 * result + Coordinate.hashCode(maxy);
+ return result;
+ }
+
+ /**
+ * Test the point q to see whether it intersects the Envelope defined by p1-p2
+ * @param p1 one extremal point of the envelope
+ * @param p2 another extremal point of the envelope
+ * @param q the point to test for intersection
+ * @return <code>true</code> if q intersects the envelope p1-p2
+ */
+ public static boolean intersects(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ //OptimizeIt shows that Math#min and Math#max here are a bottleneck.
+ //Replace with direct comparisons. [Jon Aquino]
+ if (((q.x >= (p1.x < p2.x ? p1.x : p2.x)) && (q.x <= (p1.x > p2.x ? p1.x : p2.x))) &&
+ ((q.y >= (p1.y < p2.y ? p1.y : p2.y)) && (q.y <= (p1.y > p2.y ? p1.y : p2.y)))) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether the envelope defined by p1-p2
+ * and the envelope defined by q1-q2
+ * intersect.
+ *
+ * @param p1 one extremal point of the envelope P
+ * @param p2 another extremal point of the envelope P
+ * @param q1 one extremal point of the envelope Q
+ * @param q2 another extremal point of the envelope Q
+ * @return <code>true</code> if Q intersects P
+ */
+ public static boolean intersects(Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2)
+ {
+ double minq = Math.min(q1.x, q2.x);
+ double maxq = Math.max(q1.x, q2.x);
+ double minp = Math.min(p1.x, p2.x);
+ double maxp = Math.max(p1.x, p2.x);
+
+ if( minp > maxq )
+ return false;
+ if( maxp < minq )
+ return false;
+
+ minq = Math.min(q1.y, q2.y);
+ maxq = Math.max(q1.y, q2.y);
+ minp = Math.min(p1.y, p2.y);
+ maxp = Math.max(p1.y, p2.y);
+
+ if( minp > maxq )
+ return false;
+ if( maxp < minq )
+ return false;
+ return true;
+ }
+
+ /**
+ * the minimum x-coordinate
+ */
+ private double minx;
+
+ /**
+ * the maximum x-coordinate
+ */
+ private double maxx;
+
+ /**
+ * the minimum y-coordinate
+ */
+ private double miny;
+
+ /**
+ * the maximum y-coordinate
+ */
+ private double maxy;
+
+ /**
+ * Creates a null <code>Envelope</code>.
+ */
+ public Envelope() {
+ init();
+ }
+
+ /**
+ * Creates an <code>Envelope</code> for a region defined by maximum and minimum values.
+ *
+ *@param x1 the first x-value
+ *@param x2 the second x-value
+ *@param y1 the first y-value
+ *@param y2 the second y-value
+ */
+ public Envelope(double x1, double x2, double y1, double y2)
+ {
+ init(x1, x2, y1, y2);
+ }
+
+ /**
+ * Creates an <code>Envelope</code> for a region defined by two Coordinates.
+ *
+ *@param p1 the first Coordinate
+ *@param p2 the second Coordinate
+ */
+ public Envelope(Coordinate p1, Coordinate p2)
+ {
+ init(p1.x, p2.x, p1.y, p2.y);
+ }
+
+ /**
+ * Creates an <code>Envelope</code> for a region defined by a single Coordinate.
+ *
+ *@param p the Coordinate
+ */
+ public Envelope(Coordinate p)
+ {
+ init(p.x, p.x, p.y, p.y);
+ }
+
+ /**
+ * Create an <code>Envelope</code> from an existing Envelope.
+ *
+ *@param env the Envelope to initialize from
+ */
+ public Envelope(Envelope env)
+ {
+ init(env);
+ }
+
+ /**
+ * Initialize to a null <code>Envelope</code>.
+ */
+ public void init()
+ {
+ setToNull();
+ }
+
+ /**
+ * Initialize an <code>Envelope</code> for a region defined by maximum and minimum values.
+ *
+ *@param x1 the first x-value
+ *@param x2 the second x-value
+ *@param y1 the first y-value
+ *@param y2 the second y-value
+ */
+ public void init(double x1, double x2, double y1, double y2)
+ {
+ if (x1 < x2) {
+ minx = x1;
+ maxx = x2;
+ }
+ else {
+ minx = x2;
+ maxx = x1;
+ }
+ if (y1 < y2) {
+ miny = y1;
+ maxy = y2;
+ }
+ else {
+ miny = y2;
+ maxy = y1;
+ }
+ }
+
+ /**
+ * Initialize an <code>Envelope</code> to a region defined by two Coordinates.
+ *
+ *@param p1 the first Coordinate
+ *@param p2 the second Coordinate
+ */
+ public void init(Coordinate p1, Coordinate p2)
+ {
+ init(p1.x, p2.x, p1.y, p2.y);
+ }
+
+ /**
+ * Initialize an <code>Envelope</code> to a region defined by a single Coordinate.
+ *
+ *@param p the coordinate
+ */
+ public void init(Coordinate p)
+ {
+ init(p.x, p.x, p.y, p.y);
+ }
+
+ /**
+ * Initialize an <code>Envelope</code> from an existing Envelope.
+ *
+ *@param env the Envelope to initialize from
+ */
+ public void init(Envelope env)
+ {
+ this.minx = env.minx;
+ this.maxx = env.maxx;
+ this.miny = env.miny;
+ this.maxy = env.maxy;
+ }
+
+
+ /**
+ * Makes this <code>Envelope</code> a "null" envelope, that is, the envelope
+ * of the empty geometry.
+ */
+ public void setToNull() {
+ minx = 0;
+ maxx = -1;
+ miny = 0;
+ maxy = -1;
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>Envelope</code> is a "null"
+ * envelope.
+ *
+ *@return <code>true</code> if this <code>Envelope</code> is uninitialized
+ * or is the envelope of the empty geometry.
+ */
+ public boolean isNull() {
+ return maxx < minx;
+ }
+
+ /**
+ * Returns the difference between the maximum and minimum x values.
+ *
+ *@return max x - min x, or 0 if this is a null <code>Envelope</code>
+ */
+ public double getWidth() {
+ if (isNull()) {
+ return 0;
+ }
+ return maxx - minx;
+ }
+
+ /**
+ * Returns the difference between the maximum and minimum y values.
+ *
+ *@return max y - min y, or 0 if this is a null <code>Envelope</code>
+ */
+ public double getHeight() {
+ if (isNull()) {
+ return 0;
+ }
+ return maxy - miny;
+ }
+
+ /**
+ * Returns the <code>Envelope</code>s minimum x-value. min x > max x
+ * indicates that this is a null <code>Envelope</code>.
+ *
+ *@return the minimum x-coordinate
+ */
+ public double getMinX() {
+ return minx;
+ }
+
+ /**
+ * Returns the <code>Envelope</code>s maximum x-value. min x > max x
+ * indicates that this is a null <code>Envelope</code>.
+ *
+ *@return the maximum x-coordinate
+ */
+ public double getMaxX() {
+ return maxx;
+ }
+
+ /**
+ * Returns the <code>Envelope</code>s minimum y-value. min y > max y
+ * indicates that this is a null <code>Envelope</code>.
+ *
+ *@return the minimum y-coordinate
+ */
+ public double getMinY() {
+ return miny;
+ }
+
+ /**
+ * Returns the <code>Envelope</code>s maximum y-value. min y > max y
+ * indicates that this is a null <code>Envelope</code>.
+ *
+ *@return the maximum y-coordinate
+ */
+ public double getMaxY() {
+ return maxy;
+ }
+
+ /**
+ * Gets the area of this envelope.
+ *
+ * @return the area of the envelope
+ * @return 0.0 if the envelope is null
+ */
+ public double getArea()
+ {
+ return getWidth() * getHeight();
+ }
+
+ /**
+ * Gets the minimum extent of this envelope across both dimensions.
+ *
+ * @return the minimum extent of this envelope
+ */
+ public double minExtent()
+ {
+ if (isNull()) return 0.0;
+ double w = getWidth();
+ double h = getHeight();
+ if (w < h) return w;
+ return h;
+ }
+
+ /**
+ * Gets the maximum extent of this envelope across both dimensions.
+ *
+ * @return the maximum extent of this envelope
+ */
+ public double maxExtent()
+ {
+ if (isNull()) return 0.0;
+ double w = getWidth();
+ double h = getHeight();
+ if (w > h) return w;
+ return h;
+ }
+
+ /**
+ * Enlarges this <code>Envelope</code> so that it contains
+ * the given {@link Coordinate}.
+ * Has no effect if the point is already on or within the envelope.
+ *
+ *@param p the Coordinate to expand to include
+ */
+ public void expandToInclude(Coordinate p)
+ {
+ expandToInclude(p.x, p.y);
+ }
+
+ /**
+ * Expands this envelope by a given distance in all directions.
+ * Both positive and negative distances are supported.
+ *
+ * @param distance the distance to expand the envelope
+ */
+ public void expandBy(double distance)
+ {
+ expandBy(distance, distance);
+ }
+
+ /**
+ * Expands this envelope by a given distance in all directions.
+ * Both positive and negative distances are supported.
+ *
+ * @param deltaX the distance to expand the envelope along the the X axis
+ * @param deltaY the distance to expand the envelope along the the Y axis
+ */
+ public void expandBy(double deltaX, double deltaY)
+ {
+ if (isNull()) return;
+
+ minx -= deltaX;
+ maxx += deltaX;
+ miny -= deltaY;
+ maxy += deltaY;
+
+ // check for envelope disappearing
+ if (minx > maxx || miny > maxy)
+ setToNull();
+ }
+
+ /**
+ * Enlarges this <code>Envelope</code> so that it contains
+ * the given point.
+ * Has no effect if the point is already on or within the envelope.
+ *
+ *@param x the value to lower the minimum x to or to raise the maximum x to
+ *@param y the value to lower the minimum y to or to raise the maximum y to
+ */
+ public void expandToInclude(double x, double y) {
+ if (isNull()) {
+ minx = x;
+ maxx = x;
+ miny = y;
+ maxy = y;
+ }
+ else {
+ if (x < minx) {
+ minx = x;
+ }
+ if (x > maxx) {
+ maxx = x;
+ }
+ if (y < miny) {
+ miny = y;
+ }
+ if (y > maxy) {
+ maxy = y;
+ }
+ }
+ }
+
+ /**
+ * Enlarges this <code>Envelope</code> so that it contains
+ * the <code>other</code> Envelope.
+ * Has no effect if <code>other</code> is wholly on or
+ * within the envelope.
+ *
+ *@param other the <code>Envelope</code> to expand to include
+ */
+ public void expandToInclude(Envelope other) {
+ if (other.isNull()) {
+ return;
+ }
+ if (isNull()) {
+ minx = other.getMinX();
+ maxx = other.getMaxX();
+ miny = other.getMinY();
+ maxy = other.getMaxY();
+ }
+ else {
+ if (other.minx < minx) {
+ minx = other.minx;
+ }
+ if (other.maxx > maxx) {
+ maxx = other.maxx;
+ }
+ if (other.miny < miny) {
+ miny = other.miny;
+ }
+ if (other.maxy > maxy) {
+ maxy = other.maxy;
+ }
+ }
+ }
+
+ /**
+ * Translates this envelope by given amounts in the X and Y direction.
+ *
+ * @param transX the amount to translate along the X axis
+ * @param transY the amount to translate along the Y axis
+ */
+ public void translate(double transX, double transY) {
+ if (isNull()) {
+ return;
+ }
+ init(getMinX() + transX, getMaxX() + transX,
+ getMinY() + transY, getMaxY() + transY);
+ }
+
+ /**
+ * Computes the coordinate of the centre of this envelope (as long as it is non-null
+ *
+ * @return the centre coordinate of this envelope
+ * <code>null</code> if the envelope is null
+ */
+ public Coordinate centre() {
+ if (isNull()) return null;
+ return new Coordinate(
+ (getMinX() + getMaxX()) / 2.0,
+ (getMinY() + getMaxY()) / 2.0);
+ }
+
+ /**
+ * Computes the intersection of two {@link Envelope}s.
+ *
+ * @param env the envelope to intersect with
+ * @return a new Envelope representing the intersection of the envelopes (this will be
+ * the null envelope if either argument is null, or they do not intersect
+ */
+ public Envelope intersection(Envelope env)
+ {
+ if (isNull() || env.isNull() || ! intersects(env)) return new Envelope();
+
+ double intMinX = minx > env.minx ? minx : env.minx;
+ double intMinY = miny > env.miny ? miny : env.miny;
+ double intMaxX = maxx < env.maxx ? maxx : env.maxx;
+ double intMaxY = maxy < env.maxy ? maxy : env.maxy;
+ return new Envelope(intMinX, intMaxX, intMinY, intMaxY);
+ }
+
+ /**
+ * Check if the region defined by <code>other</code>
+ * intersects the region of this <code>Envelope</code>.
+ *
+ *@param other the <code>Envelope</code> which this <code>Envelope</code> is
+ * being checked for intersecting
+ *@return <code>true</code> if the <code>Envelope</code>s intersect
+ */
+ public boolean intersects(Envelope other) {
+ if (isNull() || other.isNull()) { return false; }
+ return !(other.minx > maxx ||
+ other.maxx < minx ||
+ other.miny > maxy ||
+ other.maxy < miny);
+ }
+ /**
+ * Check if the extent defined by two extremal points
+ * intersects the extent of this <code>Envelope</code>.
+ *
+ *@param a a point
+ *@param b another point
+ *@return <code>true</code> if the extents intersect
+ */
+ public boolean intersects(Coordinate a, Coordinate b) {
+ if (isNull()) { return false; }
+
+ double envminx = (a.x < b.x) ? a.x : b.x;
+ if (envminx > maxx) return false;
+
+ double envmaxx = (a.x > b.x) ? a.x : b.x;
+ if (envmaxx < minx) return false;
+
+ double envminy = (a.y < b.y) ? a.y : b.y;
+ if (envminy > maxy) return false;
+
+ double envmaxy = (a.y > b.y) ? a.y : b.y;
+ if (envmaxy < miny) return false;
+
+ return true;
+ }
+ /**
+ * @deprecated Use #intersects instead. In the future, #overlaps may be
+ * changed to be a true overlap check; that is, whether the intersection is
+ * two-dimensional.
+ */
+ public boolean overlaps(Envelope other) {
+ return intersects(other);
+ }
+
+ /**
+ * Check if the point <code>p</code>
+ * intersects (lies inside) the region of this <code>Envelope</code>.
+ *
+ *@param p the <code>Coordinate</code> to be tested
+ *@return <code>true</code> if the point intersects this <code>Envelope</code>
+ */
+ public boolean intersects(Coordinate p) {
+ return intersects(p.x, p.y);
+ }
+ /**
+ * @deprecated Use #intersects instead.
+ */
+ public boolean overlaps(Coordinate p) {
+ return intersects(p);
+ }
+ /**
+ * Check if the point <code>(x, y)</code>
+ * intersects (lies inside) the region of this <code>Envelope</code>.
+ *
+ *@param x the x-ordinate of the point
+ *@param y the y-ordinate of the point
+ *@return <code>true</code> if the point overlaps this <code>Envelope</code>
+ */
+ public boolean intersects(double x, double y) {
+ if (isNull()) return false;
+ return ! (x > maxx ||
+ x < minx ||
+ y > maxy ||
+ y < miny);
+ }
+ /**
+ * @deprecated Use #intersects instead.
+ */
+ public boolean overlaps(double x, double y) {
+ return intersects(x, y);
+ }
+
+ /**
+ * Tests if the <code>Envelope other</code>
+ * lies wholely inside this <code>Envelope</code> (inclusive of the boundary).
+ * <p>
+ * Note that this is <b>not</b> the same definition as the SFS <tt>contains</tt>,
+ * which would exclude the envelope boundary.
+ *
+ *@param other the <code>Envelope</code> to check
+ *@return true if <code>other</code> is contained in this <code>Envelope</code>
+ *
+ *@see #covers(Envelope)
+ */
+ public boolean contains(Envelope other) {
+ return covers(other);
+ }
+
+ /**
+ * Tests if the given point lies in or on the envelope.
+ * <p>
+ * Note that this is <b>not</b> the same definition as the SFS <tt>contains</tt>,
+ * which would exclude the envelope boundary.
+ *
+ *@param p the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@return <code>true</code> if the point lies in the interior or
+ * on the boundary of this <code>Envelope</code>.
+ *
+ *@see #covers(Coordinate)
+ */
+ public boolean contains(Coordinate p) {
+ return covers(p);
+ }
+
+ /**
+ * Tests if the given point lies in or on the envelope.
+ * <p>
+ * Note that this is <b>not</b> the same definition as the SFS <tt>contains</tt>,
+ * which would exclude the envelope boundary.
+ *
+ *@param x the x-coordinate of the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@param y the y-coordinate of the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@return <code>true</code> if <code>(x, y)</code> lies in the interior or
+ * on the boundary of this <code>Envelope</code>.
+ *
+ *@see #covers(double, double)
+ */
+ public boolean contains(double x, double y) {
+ return covers(x, y);
+ }
+
+ /**
+ * Tests if the given point lies in or on the envelope.
+ *
+ *@param x the x-coordinate of the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@param y the y-coordinate of the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@return <code>true</code> if <code>(x, y)</code> lies in the interior or
+ * on the boundary of this <code>Envelope</code>.
+ */
+ public boolean covers(double x, double y) {
+ if (isNull()) return false;
+ return x >= minx &&
+ x <= maxx &&
+ y >= miny &&
+ y <= maxy;
+ }
+
+ /**
+ * Tests if the given point lies in or on the envelope.
+ *
+ *@param p the point which this <code>Envelope</code> is
+ * being checked for containing
+ *@return <code>true</code> if the point lies in the interior or
+ * on the boundary of this <code>Envelope</code>.
+ */
+ public boolean covers(Coordinate p) {
+ return covers(p.x, p.y);
+ }
+
+ /**
+ * Tests if the <code>Envelope other</code>
+ * lies wholely inside this <code>Envelope</code> (inclusive of the boundary).
+ *
+ *@param other the <code>Envelope</code> to check
+ *@return true if this <code>Envelope</code> covers the <code>other</code>
+ */
+ public boolean covers(Envelope other) {
+ if (isNull() || other.isNull()) { return false; }
+ return other.getMinX() >= minx &&
+ other.getMaxX() <= maxx &&
+ other.getMinY() >= miny &&
+ other.getMaxY() <= maxy;
+ }
+
+ /**
+ * Computes the distance between this and another
+ * <code>Envelope</code>.
+ * The distance between overlapping Envelopes is 0. Otherwise, the
+ * distance is the Euclidean distance between the closest points.
+ */
+ public double distance(Envelope env)
+ {
+ if (intersects(env)) return 0;
+
+ double dx = 0.0;
+ if (maxx < env.minx)
+ dx = env.minx - maxx;
+ else if (minx > env.maxx)
+ dx = minx - env.maxx;
+
+ double dy = 0.0;
+ if (maxy < env.miny)
+ dy = env.miny - maxy;
+ else if (miny > env.maxy) dy = miny - env.maxy;
+
+ // if either is zero, the envelopes overlap either vertically or horizontally
+ if (dx == 0.0) return dy;
+ if (dy == 0.0) return dx;
+ return Math.sqrt(dx * dx + dy * dy);
+ }
+
+ public boolean equals(Object other) {
+ if (!(other instanceof Envelope)) {
+ return false;
+ }
+ Envelope otherEnvelope = (Envelope) other;
+ if (isNull()) {
+ return otherEnvelope.isNull();
+ }
+ return maxx == otherEnvelope.getMaxX() &&
+ maxy == otherEnvelope.getMaxY() &&
+ minx == otherEnvelope.getMinX() &&
+ miny == otherEnvelope.getMinY();
+ }
+
+ public String toString()
+ {
+ return "Env[" + minx + " : " + maxx + ", " + miny + " : " + maxy + "]";
+ }
+
+ /**
+ * Compares two envelopes using lexicographic ordering.
+ * The ordering comparison is based on the usual numerical
+ * comparison between the sequence of ordinates.
+ * Null envelopes are less than all non-null envelopes.
+ *
+ * @param o an Envelope object
+ */
+ public int compareTo(Object o) {
+ Envelope env = (Envelope) o;
+ // compare nulls if present
+ if (isNull()) {
+ if (env.isNull()) return 0;
+ return -1;
+ }
+ else {
+ if (env.isNull()) return 1;
+ }
+ // compare based on numerical ordering of ordinates
+ if (minx < env.minx) return -1;
+ if (minx > env.minx) return 1;
+ if (miny < env.miny) return -1;
+ if (miny > env.miny) return 1;
+ if (maxx < env.maxx) return -1;
+ if (maxx > env.maxx) return 1;
+ if (maxy < env.maxy) return -1;
+ if (maxy > env.maxy) return 1;
+ return 0;
+
+
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Geometry.java b/modules/core/src/main/java/org/locationtech/jts/geom/Geometry.java
new file mode 100644
index 0000000..62e43db
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Geometry.java
@@ -0,0 +1,1907 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.Centroid;
+import org.locationtech.jts.algorithm.ConvexHull;
+import org.locationtech.jts.algorithm.InteriorPointArea;
+import org.locationtech.jts.algorithm.InteriorPointLine;
+import org.locationtech.jts.algorithm.InteriorPointPoint;
+import org.locationtech.jts.geom.util.GeometryCollectionMapper;
+import org.locationtech.jts.geom.util.GeometryMapper;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.operation.IsSimpleOp;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.distance.DistanceOp;
+import org.locationtech.jts.operation.linemerge.LineMerger;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+import org.locationtech.jts.operation.overlay.snap.SnapIfNeededOverlayOp;
+import org.locationtech.jts.operation.predicate.RectangleContains;
+import org.locationtech.jts.operation.predicate.RectangleIntersects;
+import org.locationtech.jts.operation.relate.RelateOp;
+import org.locationtech.jts.operation.union.UnaryUnionOp;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * A representation of a planar, linear vector geometry.
+ * <P>
+ *
+ * <H3>Binary Predicates</H3>
+ * Because it is not clear at this time
+ * what semantics for spatial
+ * analysis methods involving <code>GeometryCollection</code>s would be useful,
+ * <code>GeometryCollection</code>s are not supported as arguments to binary
+ * predicates or the <code>relate</code>
+ * method.
+ *
+ * <H3>Overlay Methods</H3>
+ *
+ * The overlay methods
+ * return the most specific class possible to represent the result. If the
+ * result is homogeneous, a <code>Point</code>, <code>LineString</code>, or
+ * <code>Polygon</code> will be returned if the result contains a single
+ * element; otherwise, a <code>MultiPoint</code>, <code>MultiLineString</code>,
+ * or <code>MultiPolygon</code> will be returned. If the result is
+ * heterogeneous a <code>GeometryCollection</code> will be returned. <P>
+ *
+ * Because it is not clear at this time what semantics for set-theoretic
+ * methods involving <code>GeometryCollection</code>s would be useful,
+ * <code>GeometryCollections</code>
+ * are not supported as arguments to the set-theoretic methods.
+ *
+ * <H4>Representation of Computed Geometries </H4>
+ *
+ * The SFS states that the result
+ * of a set-theoretic method is the "point-set" result of the usual
+ * set-theoretic definition of the operation (SFS 3.2.21.1). However, there are
+ * sometimes many ways of representing a point set as a <code>Geometry</code>.
+ * <P>
+ *
+ * The SFS does not specify an unambiguous representation of a given point set
+ * returned from a spatial analysis method. One goal of JTS is to make this
+ * specification precise and unambiguous. JTS uses a canonical form for
+ * <code>Geometry</code>s returned from overlay methods. The canonical
+ * form is a <code>Geometry</code> which is simple and noded:
+ * <UL>
+ * <LI> Simple means that the Geometry returned will be simple according to
+ * the JTS definition of <code>isSimple</code>.
+ * <LI> Noded applies only to overlays involving <code>LineString</code>s. It
+ * means that all intersection points on <code>LineString</code>s will be
+ * present as endpoints of <code>LineString</code>s in the result.
+ * </UL>
+ * This definition implies that non-simple geometries which are arguments to
+ * spatial analysis methods must be subjected to a line-dissolve process to
+ * ensure that the results are simple.
+ *
+ * <H4> Constructed Points And The Precision Model </H4>
+ *
+ * The results computed by the set-theoretic methods may
+ * contain constructed points which are not present in the input <code>Geometry</code>
+ * s. These new points arise from intersections between line segments in the
+ * edges of the input <code>Geometry</code>s. In the general case it is not
+ * possible to represent constructed points exactly. This is due to the fact
+ * that the coordinates of an intersection point may contain twice as many bits
+ * of precision as the coordinates of the input line segments. In order to
+ * represent these constructed points explicitly, JTS must truncate them to fit
+ * the <code>PrecisionModel</code>. <P>
+ *
+ * Unfortunately, truncating coordinates moves them slightly. Line segments
+ * which would not be coincident in the exact result may become coincident in
+ * the truncated representation. This in turn leads to "topology collapses" --
+ * situations where a computed element has a lower dimension than it would in
+ * the exact result. <P>
+ *
+ * When JTS detects topology collapses during the computation of spatial
+ * analysis methods, it will throw an exception. If possible the exception will
+ * report the location of the collapse. <P>
+ *
+ * <h3>Geometry Equality</h3>
+ *
+ * There are two ways of comparing geometries for equality:
+ * <b>structural equality</b> and <b>topological equality</b>.
+ *
+ * <h4>Structural Equality</h4>
+ *
+ * Structural Equality is provided by the
+ * {@link #equalsExact(Geometry)} method.
+ * This implements a comparison based on exact, structural pointwise
+ * equality.
+ * The {@link #equals(Object)} is a synonym for this method,
+ * to provide structural equality semantics for
+ * use in Java collections.
+ * It is important to note that structural pointwise equality
+ * is easily affected by things like
+ * ring order and component order. In many situations
+ * it will be desirable to normalize geometries before
+ * comparing them (using the {@link #norm()}
+ * or {@link #normalize()} methods).
+ * {@link #equalsNorm(Geometry)} is provided
+ * as a convenience method to compute equality over
+ * normalized geometries, but it is expensive to use.
+ * Finally, {@link #equalsExact(Geometry, double)}
+ * allows using a tolerance value for point comparison.
+ *
+ *
+ * <h4>Topological Equality</h4>
+ *
+ * Topological Equality is provided by the
+ * {@link #equalsTopo(Geometry)} method.
+ * It implements the SFS definition of point-set equality
+ * defined in terms of the DE-9IM matrix.
+ * To support the SFS naming convention, the method
+ * {@link #equals(Geometry)} is also provided as a synonym.
+ * However, due to the potential for confusion with {@link #equals(Object)}
+ * its use is discouraged.
+ * <p>
+ * Since {@link #equals(Object)} and {@link #hashCode()} are overridden,
+ * Geometries can be used effectively in Java collections.
+ *
+ *@version 1.7
+ */
+public abstract class Geometry
+ implements Cloneable, Comparable, Serializable
+{
+ private static final long serialVersionUID = 8763622679187376702L;
+
+ static final int SORTINDEX_POINT = 0;
+ static final int SORTINDEX_MULTIPOINT = 1;
+ static final int SORTINDEX_LINESTRING = 2;
+ static final int SORTINDEX_LINEARRING = 3;
+ static final int SORTINDEX_MULTILINESTRING = 4;
+ static final int SORTINDEX_POLYGON = 5;
+ static final int SORTINDEX_MULTIPOLYGON = 6;
+ static final int SORTINDEX_GEOMETRYCOLLECTION = 7;
+
+ private final static GeometryComponentFilter geometryChangedFilter = new GeometryComponentFilter() {
+ public void filter(Geometry geom) {
+ geom.geometryChangedAction();
+ }
+ };
+
+ /**
+ * The bounding box of this <code>Geometry</code>.
+ */
+ protected Envelope envelope;
+
+ /**
+ * The {@link GeometryFactory} used to create this Geometry
+ */
+ protected final GeometryFactory factory;
+
+ /**
+ * The ID of the Spatial Reference System used by this <code>Geometry</code>
+ */
+ protected int SRID;
+
+ /**
+ * An object reference which can be used to carry ancillary data defined
+ * by the client.
+ */
+ private Object userData = null;
+
+ /**
+ * Creates a new <code>Geometry</code> via the specified GeometryFactory.
+ *
+ * @param factory
+ */
+ public Geometry(GeometryFactory factory) {
+ this.factory = factory;
+ this.SRID = factory.getSRID();
+ }
+
+ /**
+ * Returns the name of this Geometry's actual class.
+ *
+ *@return the name of this <code>Geometry</code>s actual class
+ */
+ public abstract String getGeometryType();
+
+ /**
+ * Returns true if the array contains any non-empty <code>Geometry</code>s.
+ *
+ *@param geometries an array of <code>Geometry</code>s; no elements may be
+ * <code>null</code>
+ *@return <code>true</code> if any of the <code>Geometry</code>s
+ * <code>isEmpty</code> methods return <code>false</code>
+ */
+ protected static boolean hasNonEmptyElements(Geometry[] geometries) {
+ for (int i = 0; i < geometries.length; i++) {
+ if (!geometries[i].isEmpty()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if the array contains any <code>null</code> elements.
+ *
+ *@param array an array to validate
+ *@return <code>true</code> if any of <code>array</code>s elements are
+ * <code>null</code>
+ */
+ protected static boolean hasNullElements(Object[] array) {
+ for (int i = 0; i < array.length; i++) {
+ if (array[i] == null) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns the ID of the Spatial Reference System used by the <code>Geometry</code>.
+ * <P>
+ *
+ * JTS supports Spatial Reference System information in the simple way
+ * defined in the SFS. A Spatial Reference System ID (SRID) is present in
+ * each <code>Geometry</code> object. <code>Geometry</code> provides basic
+ * accessor operations for this field, but no others. The SRID is represented
+ * as an integer.
+ *
+ *@return the ID of the coordinate space in which the <code>Geometry</code>
+ * is defined.
+ *
+ */
+ public int getSRID() {
+ return SRID;
+ }
+ /**
+ * Sets the ID of the Spatial Reference System used by the <code>Geometry</code>.
+ * <p>
+ * <b>NOTE:</b> This method should only be used for exceptional circumstances or
+ * for backwards compatibility. Normally the SRID should be set on the
+ * {@link GeometryFactory} used to create the geometry.
+ * SRIDs set using this method will <i>not</i> be propagated to
+ * geometries returned by constructive methods.
+ *
+ * @see GeometryFactory
+ */
+ public void setSRID(int SRID) {
+ this.SRID = SRID;
+ }
+
+ /**
+ * Gets the factory which contains the context in which this geometry was created.
+ *
+ * @return the factory for this geometry
+ */
+ public GeometryFactory getFactory() {
+ return factory;
+ }
+
+ /**
+ * Gets the user data object for this geometry, if any.
+ *
+ * @return the user data object, or <code>null</code> if none set
+ */
+ public Object getUserData() {
+ return userData;
+ }
+
+ /**
+ * Returns the number of {@link Geometry}s in a {@link GeometryCollection}
+ * (or 1, if the geometry is not a collection).
+ *
+ * @return the number of geometries contained in this geometry
+ */
+ public int getNumGeometries() {
+ return 1;
+ }
+
+ /**
+ * Returns an element {@link Geometry} from a {@link GeometryCollection}
+ * (or <code>this</code>, if the geometry is not a collection).
+ *
+ * @param n the index of the geometry element
+ * @return the n'th geometry contained in this geometry
+ */
+ public Geometry getGeometryN(int n) {
+ return this;
+ }
+
+
+ /**
+ * A simple scheme for applications to add their own custom data to a Geometry.
+ * An example use might be to add an object representing a Coordinate Reference System.
+ * <p>
+ * Note that user data objects are not present in geometries created by
+ * construction methods.
+ *
+ * @param userData an object, the semantics for which are defined by the
+ * application using this Geometry
+ */
+ public void setUserData(Object userData) {
+ this.userData = userData;
+ }
+
+
+ /**
+ * Returns the <code>PrecisionModel</code> used by the <code>Geometry</code>.
+ *
+ *@return the specification of the grid of allowable points, for this
+ * <code>Geometry</code> and all other <code>Geometry</code>s
+ */
+ public PrecisionModel getPrecisionModel() {
+ return factory.getPrecisionModel();
+ }
+
+ /**
+ * Returns a vertex of this <code>Geometry</code>
+ * (usually, but not necessarily, the first one).
+ * The returned coordinate should not be assumed
+ * to be an actual Coordinate object used in
+ * the internal representation.
+ *
+ *@return a {@link Coordinate} which is a vertex of this <code>Geometry</code>.
+ *@return null if this Geometry is empty
+ */
+ public abstract Coordinate getCoordinate();
+
+ /**
+ * Returns an array containing the values of all the vertices for
+ * this geometry.
+ * If the geometry is a composite, the array will contain all the vertices
+ * for the components, in the order in which the components occur in the geometry.
+ * <p>
+ * In general, the array cannot be assumed to be the actual internal
+ * storage for the vertices. Thus modifying the array
+ * may not modify the geometry itself.
+ * Use the {@link CoordinateSequence#setOrdinate} method
+ * (possibly on the components) to modify the underlying data.
+ * If the coordinates are modified,
+ * {@link #geometryChanged} must be called afterwards.
+ *
+ *@return the vertices of this <code>Geometry</code>
+ *@see #geometryChanged
+ *@see CoordinateSequence#setOrdinate
+ */
+ public abstract Coordinate[] getCoordinates();
+
+ /**
+ * Returns the count of this <code>Geometry</code>s vertices. The <code>Geometry</code>
+ * s contained by composite <code>Geometry</code>s must be
+ * Geometry's; that is, they must implement <code>getNumPoints</code>
+ *
+ *@return the number of vertices in this <code>Geometry</code>
+ */
+ public abstract int getNumPoints();
+
+ /**
+ * Tests whether this {@link Geometry} is simple.
+ * The SFS definition of simplicity
+ * follows the general rule that a Geometry is simple if it has no points of
+ * self-tangency, self-intersection or other anomalous points.
+ * <p>
+ * Simplicity is defined for each {@link Geometry} subclass as follows:
+ * <ul>
+ * <li>Valid polygonal geometries are simple, since their rings
+ * must not self-intersect. <code>isSimple</code>
+ * tests for this condition and reports <code>false</code> if it is not met.
+ * (This is a looser test than checking for validity).
+ * <li>Linear rings have the same semantics.
+ * <li>Linear geometries are simple iff they do not self-intersect at points
+ * other than boundary points.
+ * <li>Zero-dimensional geometries (points) are simple iff they have no
+ * repeated points.
+ * <li>Empty <code>Geometry</code>s are always simple.
+ * </ul>
+ *
+ * @return <code>true</code> if this <code>Geometry</code> is simple
+ * @see #isValid
+ */
+ public boolean isSimple()
+ {
+ IsSimpleOp op = new IsSimpleOp(this);
+ return op.isSimple();
+ }
+
+ /**
+ * Tests whether this <code>Geometry</code>
+ * is topologically valid, according to the OGC SFS specification.
+ * <p>
+ * For validity rules see the Javadoc for the specific Geometry subclass.
+ *
+ *@return <code>true</code> if this <code>Geometry</code> is valid
+ *
+ * @see IsValidOp
+ */
+ public boolean isValid()
+ {
+ return IsValidOp.isValid(this);
+ }
+
+ /**
+ * Tests whether the set of points covered by this <code>Geometry</code> is
+ * empty.
+ *
+ *@return <code>true</code> if this <code>Geometry</code> does not cover any points
+ */
+ public abstract boolean isEmpty();
+
+ /**
+ * Returns the minimum distance between this <code>Geometry</code>
+ * and another <code>Geometry</code>.
+ *
+ * @param g the <code>Geometry</code> from which to compute the distance
+ * @return the distance between the geometries
+ * @return 0 if either input geometry is empty
+ * @throws IllegalArgumentException if g is null
+ */
+ public double distance(Geometry g)
+ {
+ return DistanceOp.distance(this, g);
+ }
+
+ /**
+ * Tests whether the distance from this <code>Geometry</code>
+ * to another is less than or equal to a specified value.
+ *
+ * @param geom the Geometry to check the distance to
+ * @param distance the distance value to compare
+ * @return <code>true</code> if the geometries are less than <code>distance</code> apart.
+ */
+ public boolean isWithinDistance(Geometry geom, double distance)
+ {
+ double envDist = getEnvelopeInternal().distance(geom.getEnvelopeInternal());
+ if (envDist > distance)
+ return false;
+ return DistanceOp.isWithinDistance(this, geom, distance);
+ /*
+ double geomDist = this.distance(geom);
+ if (geomDist > distance)
+ return false;
+ return true;
+ */
+ }
+
+ public boolean isRectangle()
+ {
+ // Polygon overrides to check for actual rectangle
+ return false;
+ }
+
+ /**
+ * Returns the area of this <code>Geometry</code>.
+ * Areal Geometries have a non-zero area.
+ * They override this function to compute the area.
+ * Others return 0.0
+ *
+ *@return the area of the Geometry
+ */
+ public double getArea()
+ {
+ return 0.0;
+ }
+
+ /**
+ * Returns the length of this <code>Geometry</code>.
+ * Linear geometries return their length.
+ * Areal geometries return their perimeter.
+ * They override this function to compute the area.
+ * Others return 0.0
+ *
+ *@return the length of the Geometry
+ */
+ public double getLength()
+ {
+ return 0.0;
+ }
+
+ /**
+ * Computes the centroid of this <code>Geometry</code>.
+ * The centroid
+ * is equal to the centroid of the set of component Geometries of highest
+ * dimension (since the lower-dimension geometries contribute zero
+ * "weight" to the centroid).
+ * <p>
+ * The centroid of an empty geometry is <code>POINT EMPTY</code>.
+ *
+ * @return a {@link Point} which is the centroid of this Geometry
+ */
+ public Point getCentroid()
+ {
+ if (isEmpty())
+ return factory.createPoint();
+ Coordinate centPt = Centroid.getCentroid(this);
+ return createPointFromInternalCoord(centPt, this);
+ }
+
+ /**
+ * Computes an interior point of this <code>Geometry</code>.
+ * An interior point is guaranteed to lie in the interior of the Geometry,
+ * if it possible to calculate such a point exactly. Otherwise,
+ * the point may lie on the boundary of the geometry.
+ * <p>
+ * The interior point of an empty geometry is <code>POINT EMPTY</code>.
+ *
+ * @return a {@link Point} which is in the interior of this Geometry
+ */
+ public Point getInteriorPoint()
+ {
+ if (isEmpty())
+ return factory.createPoint();
+ Coordinate interiorPt = null;
+ int dim = getDimension();
+ if (dim == 0) {
+ InteriorPointPoint intPt = new InteriorPointPoint(this);
+ interiorPt = intPt.getInteriorPoint();
+ }
+ else if (dim == 1) {
+ InteriorPointLine intPt = new InteriorPointLine(this);
+ interiorPt = intPt.getInteriorPoint();
+ }
+ else {
+ InteriorPointArea intPt = new InteriorPointArea(this);
+ interiorPt = intPt.getInteriorPoint();
+ }
+ return createPointFromInternalCoord(interiorPt, this);
+ }
+
+ /**
+ * Returns the dimension of this geometry.
+ * The dimension of a geometry is is the topological
+ * dimension of its embedding in the 2-D Euclidean plane.
+ * In the JTS spatial model, dimension values are in the set {0,1,2}.
+ * <p>
+ * Note that this is a different concept to the dimension of
+ * the vertex {@link Coordinate}s.
+ * The geometry dimension can never be greater than the coordinate dimension.
+ * For example, a 0-dimensional geometry (e.g. a Point)
+ * may have a coordinate dimension of 3 (X,Y,Z).
+ *
+ *@return the topological dimension of this geometry.
+ */
+ public abstract int getDimension();
+
+ /**
+ * Returns the boundary, or an empty geometry of appropriate dimension
+ * if this <code>Geometry</code> is empty.
+ * (In the case of zero-dimensional geometries, '
+ * an empty GeometryCollection is returned.)
+ * For a discussion of this function, see the OpenGIS Simple
+ * Features Specification. As stated in SFS Section 2.1.13.1, "the boundary
+ * of a Geometry is a set of Geometries of the next lower dimension."
+ *
+ *@return the closure of the combinatorial boundary of this <code>Geometry</code>
+ */
+ public abstract Geometry getBoundary();
+
+ /**
+ * Returns the dimension of this <code>Geometry</code>s inherent boundary.
+ *
+ *@return the dimension of the boundary of the class implementing this
+ * interface, whether or not this object is the empty geometry. Returns
+ * <code>Dimension.FALSE</code> if the boundary is the empty geometry.
+ */
+ public abstract int getBoundaryDimension();
+
+ /**
+ * Gets a Geometry representing the envelope (bounding box) of
+ * this <code>Geometry</code>.
+ * <p>
+ * If this <code>Geometry</code> is:
+ * <ul>
+ * <li>empty, returns an empty <code>Point</code>.
+ * <li>a point, returns a <code>Point</code>.
+ * <li>a line parallel to an axis, a two-vertex <code>LineString</code>
+ * <li>otherwise, returns a
+ * <code>Polygon</code> whose vertices are (minx miny, maxx miny,
+ * maxx maxy, minx maxy, minx miny).
+ * </ul>
+ *
+ *@return a Geometry representing the envelope of this Geometry
+ *
+ * @see GeometryFactory#toGeometry(Envelope)
+ */
+ public Geometry getEnvelope() {
+ return getFactory().toGeometry(getEnvelopeInternal());
+ }
+
+ /**
+ * Gets an {@link Envelope} containing
+ * the minimum and maximum x and y values in this <code>Geometry</code>.
+ * If the geometry is empty, an empty <code>Envelope</code>
+ * is returned.
+ * <p>
+ * The returned object is a copy of the one maintained internally,
+ * to avoid aliasing issues.
+ * For best performance, clients which access this
+ * envelope frequently should cache the return value.
+ *
+ *@return the envelope of this <code>Geometry</code>.
+ *@return an empty Envelope if this Geometry is empty
+ */
+ public Envelope getEnvelopeInternal() {
+ if (envelope == null) {
+ envelope = computeEnvelopeInternal();
+ }
+ return new Envelope(envelope);
+ }
+
+ /**
+ * Notifies this geometry that its coordinates have been changed by an external
+ * party (for example, via a {@link CoordinateFilter}).
+ * When this method is called the geometry will flush
+ * and/or update any derived information it has cached (such as its {@link Envelope} ).
+ * The operation is applied to all component Geometries.
+ */
+ public void geometryChanged() {
+ apply(geometryChangedFilter);
+ }
+
+ /**
+ * Notifies this Geometry that its Coordinates have been changed by an external
+ * party. When #geometryChanged is called, this method will be called for
+ * this Geometry and its component Geometries.
+ *
+ * @see #apply(GeometryComponentFilter)
+ */
+ protected void geometryChangedAction() {
+ envelope = null;
+ }
+
+ /**
+ * Tests whether this geometry is disjoint from the argument geometry.
+ * <p>
+ * The <code>disjoint</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The two geometries have no point in common
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * <code>[FF*FF****]</code>
+ * <li><code>! g.intersects(this) = true</code>
+ * <br>(<code>disjoint</code> is the inverse of <code>intersects</code>)
+ * </ul>
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s are
+ * disjoint
+ *
+ * @see Geometry#intersects
+ */
+ public boolean disjoint(Geometry g) {
+ return ! intersects(g);
+ }
+
+ /**
+ * Tests whether this geometry touches the
+ * argument geometry.
+ * <p>
+ * The <code>touches</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The geometries have at least one point in common,
+ * but their interiors do not intersect.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * at least one of the following patterns
+ * <ul>
+ * <li><code>[FT*******]</code>
+ * <li><code>[F**T*****]</code>
+ * <li><code>[F***T****]</code>
+ * </ul>
+ * </ul>
+ * If both geometries have dimension 0, the predicate returns <code>false</code>,
+ * since points have only interiors.
+ * This predicate is symmetric.
+ *
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s touch;
+ * Returns <code>false</code> if both <code>Geometry</code>s are points
+ */
+ public boolean touches(Geometry g) {
+ // short-circuit test
+ if (! getEnvelopeInternal().intersects(g.getEnvelopeInternal()))
+ return false;
+ return relate(g).isTouches(getDimension(), g.getDimension());
+ }
+
+ /**
+ * Tests whether this geometry intersects the argument geometry.
+ * <p>
+ * The <code>intersects</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The two geometries have at least one point in common
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * at least one of the patterns
+ * <ul>
+ * <li><code>[T********]</code>
+ * <li><code>[*T*******]</code>
+ * <li><code>[***T*****]</code>
+ * <li><code>[****T****]</code>
+ * </ul>
+ * <li><code>! g.disjoint(this) = true</code>
+ * <br>(<code>intersects</code> is the inverse of <code>disjoint</code>)
+ * </ul>
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s intersect
+ *
+ * @see Geometry#disjoint
+ */
+ public boolean intersects(Geometry g) {
+
+ // short-circuit envelope test
+ if (! getEnvelopeInternal().intersects(g.getEnvelopeInternal()))
+ return false;
+
+ /**
+ * TODO: (MD) Add optimizations:
+ *
+ * - for P-A case:
+ * If P is in env(A), test for point-in-poly
+ *
+ * - for A-A case:
+ * If env(A1).overlaps(env(A2))
+ * test for overlaps via point-in-poly first (both ways)
+ * Possibly optimize selection of point to test by finding point of A1
+ * closest to centre of env(A2).
+ * (Is there a test where we shouldn't bother - e.g. if env A
+ * is much smaller than env B, maybe there's no point in testing
+ * pt(B) in env(A)?
+ */
+
+ // optimization for rectangle arguments
+ if (isRectangle()) {
+ return RectangleIntersects.intersects((Polygon) this, g);
+ }
+ if (g.isRectangle()) {
+ return RectangleIntersects.intersects((Polygon) g, this);
+ }
+ if (isGeometryCollection() || g.isGeometryCollection()) {
+ boolean r = false;
+ for (int i = 0 ; i < getNumGeometries() ; i++) {
+ for (int j = 0 ; j < g.getNumGeometries() ; j++) {
+ if (getGeometryN(i).intersects(g.getGeometryN(j))) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ // general case
+ return relate(g).isIntersects();
+ }
+
+ /**
+ * Tests whether this geometry crosses the
+ * argument geometry.
+ * <p>
+ * The <code>crosses</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The geometries have some but not all interior points in common.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * one of the following patterns:
+ * <ul>
+ * <li><code>[T*T******]</code> (for P/L, P/A, and L/A situations)
+ * <li><code>[T*****T**]</code> (for L/P, A/P, and A/L situations)
+ * <li><code>[0********]</code> (for L/L situations)
+ * </ul>
+ * </ul>
+ * For any other combination of dimensions this predicate returns <code>false</code>.
+ * <p>
+ * The SFS defined this predicate only for P/L, P/A, L/L, and L/A situations.
+ * In order to make the relation symmetric,
+ * JTS extends the definition to apply to L/P, A/P and A/L situations as well.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s cross.
+ */
+ public boolean crosses(Geometry g) {
+ // short-circuit test
+ if (! getEnvelopeInternal().intersects(g.getEnvelopeInternal()))
+ return false;
+ return relate(g).isCrosses(getDimension(), g.getDimension());
+ }
+
+ /**
+ * Tests whether this geometry is within the
+ * specified geometry.
+ * <p>
+ * The <code>within</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>Every point of this geometry is a point of the other geometry,
+ * and the interiors of the two geometries have at least one point in common.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * <code>[T*F**F***]</code>
+ * <li><code>g.contains(this) = true</code>
+ * <br>(<code>within</code> is the converse of {@link #contains})
+ * </ul>
+ * An implication of the definition is that
+ * "The boundary of a Geometry is not within the Geometry".
+ * In other words, if a geometry A is a subset of
+ * the points in the boundary of a geometry B, <code>A.within(B) = false</code>
+ * (As a concrete example, take A to be a LineString which lies in the boundary of a Polygon B.)
+ * For a predicate with similar behaviour but avoiding
+ * this subtle limitation, see {@link #coveredBy}.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if this <code>Geometry</code> is within
+ * <code>g</code>
+ *
+ * @see Geometry#contains
+ * @see Geometry#coveredBy
+ */
+ public boolean within(Geometry g) {
+ return g.contains(this);
+ }
+
+ /**
+ * Tests whether this geometry contains the
+ * argument geometry.
+ * <p>
+ * The <code>contains</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>Every point of the other geometry is a point of this geometry,
+ * and the interiors of the two geometries have at least one point in common.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * the pattern
+ * <code>[T*****FF*]</code>
+ * <li><code>g.within(this) = true</code>
+ * <br>(<code>contains</code> is the converse of {@link #within} )
+ * </ul>
+ * An implication of the definition is that "Geometries do not
+ * contain their boundary". In other words, if a geometry A is a subset of
+ * the points in the boundary of a geometry B, <code>B.contains(A) = false</code>.
+ * (As a concrete example, take A to be a LineString which lies in the boundary of a Polygon B.)
+ * For a predicate with similar behaviour but avoiding
+ * this subtle limitation, see {@link #covers}.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if this <code>Geometry</code> contains <code>g</code>
+ *
+ * @see Geometry#within
+ * @see Geometry#covers
+ */
+ public boolean contains(Geometry g) {
+ // optimization - lower dimension cannot contain areas
+ if (g.getDimension() == 2 && getDimension() < 2) {
+ return false;
+ }
+ // optimization - P cannot contain a non-zero-length L
+ // Note that a point can contain a zero-length lineal geometry,
+ // since the line has no boundary due to Mod-2 Boundary Rule
+ if (g.getDimension() == 1 && getDimension() < 1 && g.getLength() > 0.0) {
+ return false;
+ }
+ // optimization - envelope test
+ if (! getEnvelopeInternal().contains(g.getEnvelopeInternal()))
+ return false;
+ // optimization for rectangle arguments
+ if (isRectangle()) {
+ return RectangleContains.contains((Polygon) this, g);
+ }
+ // general case
+ return relate(g).isContains();
+ }
+
+ /**
+ * Tests whether this geometry overlaps the
+ * specified geometry.
+ * <p>
+ * The <code>overlaps</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The geometries have at least one point each not shared by the other
+ * (or equivalently neither covers the other),
+ * they have the same dimension,
+ * and the intersection of the interiors of the two geometries has
+ * the same dimension as the geometries themselves.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * <code>[T*T***T**]</code> (for two points or two surfaces)
+ * or <code>[1*T***T**]</code> (for two curves)
+ * </ul>
+ * If the geometries are of different dimension this predicate returns <code>false</code>.
+ * This predicate is symmetric.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s overlap.
+ */
+ public boolean overlaps(Geometry g) {
+ // short-circuit test
+ if (! getEnvelopeInternal().intersects(g.getEnvelopeInternal()))
+ return false;
+ return relate(g).isOverlaps(getDimension(), g.getDimension());
+ }
+
+ /**
+ * Tests whether this geometry covers the
+ * argument geometry.
+ * <p>
+ * The <code>covers</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>Every point of the other geometry is a point of this geometry.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * at least one of the following patterns:
+ * <ul>
+ * <li><code>[T*****FF*]</code>
+ * <li><code>[*T****FF*]</code>
+ * <li><code>[***T**FF*]</code>
+ * <li><code>[****T*FF*]</code>
+ * </ul>
+ * <li><code>g.coveredBy(this) = true</code>
+ * <br>(<code>covers</code> is the converse of {@link #coveredBy})
+ * </ul>
+ * If either geometry is empty, the value of this predicate is <code>false</code>.
+ * <p>
+ * This predicate is similar to {@link #contains},
+ * but is more inclusive (i.e. returns <code>true</code> for more cases).
+ * In particular, unlike <code>contains</code> it does not distinguish between
+ * points in the boundary and in the interior of geometries.
+ * For most situations, <code>covers</code> should be used in preference to <code>contains</code>.
+ * As an added benefit, <code>covers</code> is more amenable to optimization,
+ * and hence should be more performant.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if this <code>Geometry</code> covers <code>g</code>
+ *
+ * @see Geometry#contains
+ * @see Geometry#coveredBy
+ */
+ public boolean covers(Geometry g) {
+ // optimization - lower dimension cannot cover areas
+ if (g.getDimension() == 2 && getDimension() < 2) {
+ return false;
+ }
+ // optimization - P cannot cover a non-zero-length L
+ // Note that a point can cover a zero-length lineal geometry
+ if (g.getDimension() == 1 && getDimension() < 1 && g.getLength() > 0.0) {
+ return false;
+ }
+ // optimization - envelope test
+ if (! getEnvelopeInternal().covers(g.getEnvelopeInternal()))
+ return false;
+ // optimization for rectangle arguments
+ if (isRectangle()) {
+ // since we have already tested that the test envelope is covered
+ return true;
+ }
+ return relate(g).isCovers();
+ }
+
+ /**
+ * Tests whether this geometry is covered by the
+ * argument geometry.
+ * <p>
+ * The <code>coveredBy</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>Every point of this geometry is a point of the other geometry.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * at least one of the following patterns:
+ * <ul>
+ * <li><code>[T*F**F***]</code>
+ * <li><code>[*TF**F***]</code>
+ * <li><code>[**FT*F***]</code>
+ * <li><code>[**F*TF***]</code>
+ * </ul>
+ * <li><code>g.covers(this) = true</code>
+ * <br>(<code>coveredBy</code> is the converse of {@link #covers})
+ * </ul>
+ * If either geometry is empty, the value of this predicate is <code>false</code>.
+ * <p>
+ * This predicate is similar to {@link #within},
+ * but is more inclusive (i.e. returns <code>true</code> for more cases).
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if this <code>Geometry</code> is covered by <code>g</code>
+ *
+ * @see Geometry#within
+ * @see Geometry#covers
+ */
+ public boolean coveredBy(Geometry g) {
+ return g.covers(this);
+ }
+
+ /**
+ * Tests whether the elements in the DE-9IM
+ * {@link IntersectionMatrix} for the two <code>Geometry</code>s match the elements in <code>intersectionPattern</code>.
+ * The pattern is a 9-character string, with symbols drawn from the following set:
+ * <UL>
+ * <LI> 0 (dimension 0)
+ * <LI> 1 (dimension 1)
+ * <LI> 2 (dimension 2)
+ * <LI> T ( matches 0, 1 or 2)
+ * <LI> F ( matches FALSE)
+ * <LI> * ( matches any value)
+ * </UL>
+ * For more information on the DE-9IM, see the <i>OpenGIS Simple Features
+ * Specification</i>.
+ *
+ *@param g the <code>Geometry</code> with which to compare
+ * this <code>Geometry</code>
+ *@param intersectionPattern the pattern against which to check the
+ * intersection matrix for the two <code>Geometry</code>s
+ *@return <code>true</code> if the DE-9IM intersection
+ * matrix for the two <code>Geometry</code>s match <code>intersectionPattern</code>
+ * @see IntersectionMatrix
+ */
+ public boolean relate(Geometry g, String intersectionPattern) {
+ return relate(g).matches(intersectionPattern);
+ }
+
+ /**
+ * Returns the DE-9IM {@link IntersectionMatrix} for the two <code>Geometry</code>s.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return an {@link IntersectionMatrix} describing the intersections of the interiors,
+ * boundaries and exteriors of the two <code>Geometry</code>s
+ */
+ public IntersectionMatrix relate(Geometry g) {
+ checkNotGeometryCollection(this);
+ checkNotGeometryCollection(g);
+ return RelateOp.relate(this, g);
+ }
+
+ /**
+ * Tests whether this geometry is
+ * topologically equal to the argument geometry.
+ * <p>
+ * This method is included for backward compatibility reasons.
+ * It has been superseded by the {@link #equalsTopo(Geometry)} method,
+ * which has been named to clearly denote its functionality.
+ * <p>
+ * This method should NOT be confused with the method
+ * {@link #equals(Object)}, which implements
+ * an exact equality comparison.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return true if the two <code>Geometry</code>s are topologically equal
+ *
+ *@see #equalsTopo(Geometry)
+ */
+ public boolean equals(Geometry g) {
+ if (g == null) return false;
+ return equalsTopo(g);
+ }
+
+ /**
+ * Tests whether this geometry is topologically equal to the argument geometry
+ * as defined by the SFS <code>equals</code> predicate.
+ * <p>
+ * The SFS <code>equals</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The two geometries have at least one point in common,
+ * and no point of either geometry lies in the exterior of the other geometry.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * the pattern <code>T*F**FFF*</code>
+ * <pre>
+ * T*F
+ * **F
+ * FF*
+ * </pre>
+ * </ul>
+ * <b>Note</b> that this method computes <b>topologically equality</b>.
+ * For structural equality, see {@link #equalsExact(Geometry)}.
+ *
+ *@param g the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s are topologically equal
+ *
+ *@see #equalsExact(Geometry)
+ */
+ public boolean equalsTopo(Geometry g)
+ {
+ // short-circuit test
+ if (! getEnvelopeInternal().equals(g.getEnvelopeInternal()))
+ return false;
+ return relate(g).isEquals(getDimension(), g.getDimension());
+ }
+
+ /**
+ * Tests whether this geometry is structurally and numerically equal
+ * to a given <code>Object</code>.
+ * If the argument <code>Object</code> is not a <code>Geometry</code>,
+ * the result is <code>false</code>.
+ * Otherwise, the result is computed using
+ * {@link #equalsExact(Geometry)}.
+ * <p>
+ * This method is provided to fulfill the Java contract
+ * for value-based object equality.
+ * In conjunction with {@link #hashCode()}
+ * it provides semantics which are most useful
+ * for using
+ * <code>Geometry</code>s as keys and values in Java collections.
+ * <p>
+ * Note that to produce the expected result the input geometries
+ * should be in normal form. It is the caller's
+ * responsibility to perform this where required
+ * (using {@link Geometry#norm()}
+ * or {@link #normalize()} as appropriate).
+ *
+ * @param o the Object to compare
+ * @return true if this geometry is exactly equal to the argument
+ *
+ * @see #equalsExact(Geometry)
+ * @see #hashCode()
+ * @see #norm()
+ * @see #normalize()
+ */
+ public boolean equals(Object o)
+ {
+ if (! (o instanceof Geometry)) return false;
+ Geometry g = (Geometry) o;
+ return equalsExact(g);
+ }
+
+ /**
+ * Gets a hash code for the Geometry.
+ *
+ * @return an integer value suitable for use as a hashcode
+ */
+ public int hashCode()
+ {
+ return getEnvelopeInternal().hashCode();
+ }
+
+ public String toString() {
+ return toText();
+ }
+
+ /**
+ * Returns the Well-known Text representation of this <code>Geometry</code>.
+ * For a definition of the Well-known Text format, see the OpenGIS Simple
+ * Features Specification.
+ *
+ *@return the Well-known Text representation of this <code>Geometry</code>
+ */
+ public String toText() {
+ WKTWriter writer = new WKTWriter();
+ return writer.write(this);
+ }
+
+ /**
+ * Computes a buffer area around this geometry having the given width. The
+ * buffer of a Geometry is the Minkowski sum or difference of the geometry
+ * with a disc of radius <code>abs(distance)</code>.
+ * <p>
+ * Mathematically-exact buffer area boundaries can contain circular arcs.
+ * To represent these arcs using linear geometry they must be approximated with line segments.
+ * The buffer geometry is constructed using 8 segments per quadrant to approximate
+ * the circular arcs.
+ * The end cap style is <code>CAP_ROUND</code>.
+ * <p>
+ * The buffer operation always returns a polygonal result. The negative or
+ * zero-distance buffer of lines and points is always an empty {@link Polygon}.
+ * This is also the result for the buffers of degenerate (zero-area) polygons.
+ *
+ * @param distance
+ * the width of the buffer (may be positive, negative or 0)
+ * @return a polygonal geometry representing the buffer region (which may be
+ * empty)
+ *
+ * @throws TopologyException
+ * if a robustness error occurs
+ *
+ * @see #buffer(double, int)
+ * @see #buffer(double, int, int)
+ */
+ public Geometry buffer(double distance) {
+ return BufferOp.bufferOp(this, distance);
+ }
+
+ /**
+ * Computes a buffer area around this geometry having the given width and with
+ * a specified accuracy of approximation for circular arcs.
+ * <p>
+ * Mathematically-exact buffer area boundaries can contain circular arcs.
+ * To represent these arcs
+ * using linear geometry they must be approximated with line segments. The
+ * <code>quadrantSegments</code> argument allows controlling the accuracy of
+ * the approximation by specifying the number of line segments used to
+ * represent a quadrant of a circle
+ * <p>
+ * The buffer operation always returns a polygonal result. The negative or
+ * zero-distance buffer of lines and points is always an empty {@link Polygon}.
+ * This is also the result for the buffers of degenerate (zero-area) polygons.
+ *
+ * @param distance
+ * the width of the buffer (may be positive, negative or 0)
+ * @param quadrantSegments
+ * the number of line segments used to represent a quadrant of a
+ * circle
+ * @return a polygonal geometry representing the buffer region (which may be
+ * empty)
+ *
+ * @throws TopologyException
+ * if a robustness error occurs
+ *
+ * @see #buffer(double)
+ * @see #buffer(double, int, int)
+ */
+ public Geometry buffer(double distance, int quadrantSegments) {
+ return BufferOp.bufferOp(this, distance, quadrantSegments);
+ }
+
+ /**
+ * Computes a buffer area around this geometry having the given
+ * width and with a specified accuracy of approximation for circular arcs,
+ * and using a specified end cap style.
+ * <p>
+ * Mathematically-exact buffer area boundaries can contain circular arcs.
+ * To represent these arcs using linear geometry they must be approximated with line segments.
+ * The <code>quadrantSegments</code> argument allows controlling the
+ * accuracy of the approximation
+ * by specifying the number of line segments used to represent a quadrant of a circle
+ * <p>
+ * The end cap style specifies the buffer geometry that will be
+ * created at the ends of linestrings. The styles provided are:
+ * <ul>
+ * <li><code>BufferOp.CAP_ROUND</code> - (default) a semi-circle
+ * <li><code>BufferOp.CAP_BUTT</code> - a straight line perpendicular to the end segment
+ * <li><code>BufferOp.CAP_SQUARE</code> - a half-square
+ * </ul>
+ * <p>
+ * The buffer operation always returns a polygonal result. The negative or
+ * zero-distance buffer of lines and points is always an empty {@link Polygon}.
+ * This is also the result for the buffers of degenerate (zero-area) polygons.
+ *
+ *@param distance the width of the buffer (may be positive, negative or 0)
+ *@param quadrantSegments the number of line segments used to represent a quadrant of a circle
+ *@param endCapStyle the end cap style to use
+ *@return a polygonal geometry representing the buffer region (which may be empty)
+ *
+ * @throws TopologyException if a robustness error occurs
+ *
+ * @see #buffer(double)
+ * @see #buffer(double, int)
+ * @see BufferOp
+ */
+ public Geometry buffer(double distance, int quadrantSegments, int endCapStyle) {
+ return BufferOp.bufferOp(this, distance, quadrantSegments, endCapStyle);
+ }
+
+ /**
+ * Computes the smallest convex <code>Polygon</code> that contains all the
+ * points in the <code>Geometry</code>. This obviously applies only to <code>Geometry</code>
+ * s which contain 3 or more points; the results for degenerate cases are
+ * specified as follows:
+ * <TABLE>
+ * <TR>
+ * <TH> Number of <code>Point</code>s in argument <code>Geometry</code> </TH>
+ * <TH> <code>Geometry</code> class of result </TH>
+ * </TR>
+ * <TR>
+ * <TD> 0 </TD>
+ * <TD> empty <code>GeometryCollection</code> </TD>
+ * </TR>
+ * <TR> <TD> 1 </TD>
+ * <TD> <code>Point</code> </TD>
+ * </TR>
+ * <TR>
+ * <TD> 2 </TD>
+ * <TD> <code>LineString</code> </TD>
+ * </TR>
+ * <TR>
+ * <TD> 3 or more </TD>
+ * <TD> <code>Polygon</code> </TD>
+ * </TR>
+ * </TABLE>
+ *
+ *@return the minimum-area convex polygon containing this <code>Geometry</code>'
+ * s points
+ */
+ public Geometry convexHull() {
+ return (new ConvexHull(this)).getConvexHull();
+ }
+
+ /**
+ * Computes a new geometry which has all component coordinate sequences
+ * in reverse order (opposite orientation) to this one.
+ *
+ * @return a reversed geometry
+ */
+ public abstract Geometry reverse();
+
+ /**
+ * Computes a <code>Geometry</code> representing the point-set which is
+ * common to both this <code>Geometry</code> and the <code>other</code> Geometry.
+ * <p>
+ * The intersection of two geometries of different dimension produces a result
+ * geometry of dimension less than or equal to the minimum dimension of the input
+ * geometries.
+ * The result geometry may be a heterogeneous {@link GeometryCollection}.
+ * If the result is empty, it is an atomic geometry
+ * with the dimension of the lowest input dimension.
+ * <p>
+ * Intersection of {@link GeometryCollection}s is supported
+ * only for homogeneous collection types.
+ * <p>
+ * Non-empty heterogeneous {@link GeometryCollection} arguments are not supported.
+ *
+ * @param other the <code>Geometry</code> with which to compute the intersection
+ * @return a Geometry representing the point-set common to the two <code>Geometry</code>s
+ * @throws TopologyException if a robustness error occurs
+ * @throws IllegalArgumentException if the argument is a non-empty heterogeneous <code>GeometryCollection</code>
+ */
+ public Geometry intersection(Geometry other)
+ {
+ /**
+ * TODO: MD - add optimization for P-A case using Point-In-Polygon
+ */
+ // special case: if one input is empty ==> empty
+ if (this.isEmpty() || other.isEmpty())
+ return OverlayOp.createEmptyResult(OverlayOp.INTERSECTION, this, other, factory);
+
+ // compute for GCs
+ if (this.isGeometryCollection()) {
+ final Geometry g2 = other;
+ return GeometryCollectionMapper.map(
+ (GeometryCollection) this,
+ new GeometryMapper.MapOp() {
+ public Geometry map(Geometry g) {
+ return g.intersection(g2);
+ }
+ });
+ }
+// if (isGeometryCollection(other))
+// return other.intersection(this);
+
+ checkNotGeometryCollection(this);
+ checkNotGeometryCollection(other);
+ return SnapIfNeededOverlayOp.overlayOp(this, other, OverlayOp.INTERSECTION);
+ }
+
+ /**
+ * Computes a <code>Geometry</code> representing the point-set
+ * which is contained in both this
+ * <code>Geometry</code> and the <code>other</code> Geometry.
+ * <p>
+ * The union of two geometries of different dimension produces a result
+ * geometry of dimension equal to the maximum dimension of the input
+ * geometries.
+ * The result geometry may be a heterogeneous
+ * {@link GeometryCollection}.
+ * If the result is empty, it is an atomic geometry
+ * with the dimension of the highest input dimension.
+ * <p>
+ * Unioning {@link LineString}s has the effect of
+ * <b>noding</b> and <b>dissolving</b> the input linework. In this context
+ * "noding" means that there will be a node or endpoint in the result for
+ * every endpoint or line segment crossing in the input. "Dissolving" means
+ * that any duplicate (i.e. coincident) line segments or portions of line
+ * segments will be reduced to a single line segment in the result.
+ * If <b>merged</b> linework is required, the {@link LineMerger}
+ * class can be used.
+ * <p>
+ * Non-empty {@link GeometryCollection} arguments are not supported.
+ *
+ * @param other
+ * the <code>Geometry</code> with which to compute the union
+ * @return a point-set combining the points of this <code>Geometry</code> and the
+ * points of <code>other</code>
+ * @throws TopologyException
+ * if a robustness error occurs
+ * @throws IllegalArgumentException
+ * if either input is a non-empty GeometryCollection
+ * @see LineMerger
+ */
+ public Geometry union(Geometry other)
+ {
+ // handle empty geometry cases
+ if (this.isEmpty() || other.isEmpty()) {
+ if (this.isEmpty() && other.isEmpty())
+ return OverlayOp.createEmptyResult(OverlayOp.UNION, this, other, factory);
+
+ // special case: if either input is empty ==> other input
+ if (this.isEmpty()) return other.copy();
+ if (other.isEmpty()) return copy();
+ }
+
+ // TODO: optimize if envelopes of geometries do not intersect
+
+ checkNotGeometryCollection(this);
+ checkNotGeometryCollection(other);
+ return SnapIfNeededOverlayOp.overlayOp(this, other, OverlayOp.UNION);
+ }
+
+ /**
+ * Computes a <code>Geometry</code> representing the closure of the point-set
+ * of the points contained in this <code>Geometry</code> that are not contained in
+ * the <code>other</code> Geometry.
+ * <p>
+ * If the result is empty, it is an atomic geometry
+ * with the dimension of the left-hand input.
+ * <p>
+ * Non-empty {@link GeometryCollection} arguments are not supported.
+ *
+ *@param other the <code>Geometry</code> with which to compute the
+ * difference
+ *@return a Geometry representing the point-set difference of this <code>Geometry</code> with
+ * <code>other</code>
+ * @throws TopologyException if a robustness error occurs
+ * @throws IllegalArgumentException if either input is a non-empty GeometryCollection
+ */
+ public Geometry difference(Geometry other)
+ {
+ // special case: if A.isEmpty ==> empty; if B.isEmpty ==> A
+ if (this.isEmpty()) return OverlayOp.createEmptyResult(OverlayOp.DIFFERENCE, this, other, factory);
+ if (other.isEmpty()) return copy();
+
+ checkNotGeometryCollection(this);
+ checkNotGeometryCollection(other);
+ return SnapIfNeededOverlayOp.overlayOp(this, other, OverlayOp.DIFFERENCE);
+ }
+
+ /**
+ * Computes a <code>Geometry </code> representing the closure of the point-set
+ * which is the union of the points in this <code>Geometry</code> which are not
+ * contained in the <code>other</code> Geometry,
+ * with the points in the <code>other</code> Geometry not contained in this
+ * <code>Geometry</code>.
+ * If the result is empty, it is an atomic geometry
+ * with the dimension of the highest input dimension.
+ * <p>
+ * Non-empty {@link GeometryCollection} arguments are not supported.
+ *
+ *@param other the <code>Geometry</code> with which to compute the symmetric
+ * difference
+ *@return a Geometry representing the point-set symmetric difference of this <code>Geometry</code>
+ * with <code>other</code>
+ * @throws TopologyException if a robustness error occurs
+ * @throws IllegalArgumentException if either input is a non-empty GeometryCollection
+ */
+ public Geometry symDifference(Geometry other)
+ {
+ // handle empty geometry cases
+ if (this.isEmpty() || other.isEmpty()) {
+ // both empty - check dimensions
+ if (this.isEmpty() && other.isEmpty())
+ return OverlayOp.createEmptyResult(OverlayOp.SYMDIFFERENCE, this, other, factory);
+
+ // special case: if either input is empty ==> result = other arg
+ if (this.isEmpty()) return other.copy();
+ if (other.isEmpty()) return copy();
+ }
+
+ checkNotGeometryCollection(this);
+ checkNotGeometryCollection(other);
+ return SnapIfNeededOverlayOp.overlayOp(this, other, OverlayOp.SYMDIFFERENCE);
+ }
+
+ /**
+ * Computes the union of all the elements of this geometry.
+ * <p>
+ * This method supports
+ * {@link GeometryCollection}s
+ * (which the other overlay operations currently do not).
+ * <p>
+ * The result obeys the following contract:
+ * <ul>
+ * <li>Unioning a set of {@link LineString}s has the effect of fully noding
+ * and dissolving the linework.
+ * <li>Unioning a set of {@link Polygon}s always
+ * returns a {@link Polygonal} geometry (unlike {@link #union(Geometry)},
+ * which may return geometries of lower dimension if a topology collapse occurred).
+ * </ul>
+ *
+ * @return the union geometry
+ * @throws TopologyException if a robustness error occurs
+ *
+ * @see UnaryUnionOp
+ */
+ public Geometry union() {
+ return UnaryUnionOp.union(this);
+ }
+
+ /**
+ * Returns true if the two <code>Geometry</code>s are exactly equal,
+ * up to a specified distance tolerance.
+ * Two Geometries are exactly equal within a distance tolerance
+ * if and only if:
+ * <ul>
+ * <li>they have the same structure
+ * <li>they have the same values for their vertices,
+ * within the given tolerance distance, in exactly the same order.
+ * </ul>
+ * This method does <i>not</i>
+ * test the values of the <code>GeometryFactory</code>, the <code>SRID</code>,
+ * or the <code>userData</code> fields.
+ * <p>
+ * To properly test equality between different geometries,
+ * it is usually necessary to {@link #normalize()} them first.
+ *
+ * @param other the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ * @param tolerance distance at or below which two <code>Coordinate</code>s
+ * are considered equal
+ * @return <code>true</code> if this and the other <code>Geometry</code>
+ * have identical structure and point values, up to the distance tolerance.
+ *
+ * @see #equalsExact(Geometry)
+ * @see #normalize()
+ * @see #norm()
+ */
+ public abstract boolean equalsExact(Geometry other, double tolerance);
+
+ /**
+ * Returns true if the two <code>Geometry</code>s are exactly equal.
+ * Two Geometries are exactly equal iff:
+ * <ul>
+ * <li>they have the same structure
+ * <li>they have the same values for their vertices,
+ * in exactly the same order.
+ * </ul>
+ * This provides a stricter test of equality than
+ * {@link #equalsTopo(Geometry)}, which is more useful
+ * in certain situations
+ * (such as using geometries as keys in collections).
+ * <p>
+ * This method does <i>not</i>
+ * test the values of the <code>GeometryFactory</code>, the <code>SRID</code>,
+ * or the <code>userData</code> fields.
+ * <p>
+ * To properly test equality between different geometries,
+ * it is usually necessary to {@link #normalize()} them first.
+ *
+ *@param other the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return <code>true</code> if this and the other <code>Geometry</code>
+ * have identical structure and point values.
+ *
+ * @see #equalsExact(Geometry, double)
+ * @see #normalize()
+ * @see #norm()
+ */
+ public boolean equalsExact(Geometry other)
+ {
+ return this == other || equalsExact(other, 0);
+ }
+
+ /**
+ * Tests whether two geometries are exactly equal
+ * in their normalized forms.
+ * This is a convenience method which creates normalized
+ * versions of both geometries before computing
+ * {@link #equalsExact(Geometry)}.
+ * <p>
+ * This method is relatively expensive to compute.
+ * For maximum performance, the client
+ * should instead perform normalization on the individual geometries
+ * at an appropriate point during processing.
+ *
+ * @param g a Geometry
+ * @return true if the input geometries are exactly equal in their normalized form
+ */
+ public boolean equalsNorm(Geometry g)
+ {
+ if (g == null) return false;
+ return norm().equalsExact(g.norm());
+ }
+
+
+ /**
+ * Performs an operation with or on this <code>Geometry</code>'s
+ * coordinates.
+ * If this method modifies any coordinate values,
+ * {@link #geometryChanged} must be called to update the geometry state.
+ * Note that you cannot use this method to
+ * modify this Geometry if its underlying CoordinateSequence's #get method
+ * returns a copy of the Coordinate, rather than the actual Coordinate stored
+ * (if it even stores Coordinate objects at all).
+ *
+ *@param filter the filter to apply to this <code>Geometry</code>'s
+ * coordinates
+ */
+ public abstract void apply(CoordinateFilter filter);
+
+ /**
+ * Performs an operation on the coordinates in this <code>Geometry</code>'s
+ * {@link CoordinateSequence}s.
+ * If the filter reports that a coordinate value has been changed,
+ * {@link #geometryChanged} will be called automatically.
+ *
+ *@param filter the filter to apply
+ */
+ public abstract void apply(CoordinateSequenceFilter filter);
+
+ /**
+ * Performs an operation with or on this <code>Geometry</code> and its
+ * subelement <code>Geometry</code>s (if any).
+ * Only GeometryCollections and subclasses
+ * have subelement Geometry's.
+ *
+ *@param filter the filter to apply to this <code>Geometry</code> (and
+ * its children, if it is a <code>GeometryCollection</code>).
+ */
+ public abstract void apply(GeometryFilter filter);
+
+ /**
+ * Performs an operation with or on this Geometry and its
+ * component Geometry's. Only GeometryCollections and
+ * Polygons have component Geometry's; for Polygons they are the LinearRings
+ * of the shell and holes.
+ *
+ *@param filter the filter to apply to this <code>Geometry</code>.
+ */
+ public abstract void apply(GeometryComponentFilter filter);
+
+ /**
+ * Creates and returns a full copy of this {@link Geometry} object
+ * (including all coordinates contained by it).
+ * Subclasses are responsible for overriding this method and copying
+ * their internal data. Overrides should call this method first.
+ *
+ * @return a clone of this instance
+ * @deprecated
+ */
+ public Object clone() {
+ try {
+ Geometry clone = (Geometry) super.clone();
+ if (clone.envelope != null) { clone.envelope = new Envelope(clone.envelope); }
+ return clone;
+ }
+ catch (CloneNotSupportedException e) {
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link Geometry} object
+ * (including all coordinates contained by it).
+ * Subclasses are responsible for implementing this method and copying
+ * their internal data.
+ *
+ * @return a clone of this instance
+ */
+ abstract public Geometry copy();
+
+ /**
+ * Converts this <code>Geometry</code> to <b>normal form</b> (or <b>
+ * canonical form</b> ). Normal form is a unique representation for <code>Geometry</code>
+ * s. It can be used to test whether two <code>Geometry</code>s are equal
+ * in a way that is independent of the ordering of the coordinates within
+ * them. Normal form equality is a stronger condition than topological
+ * equality, but weaker than pointwise equality. The definitions for normal
+ * form use the standard lexicographical ordering for coordinates. "Sorted in
+ * order of coordinates" means the obvious extension of this ordering to
+ * sequences of coordinates.
+ * <p>
+ * NOTE that this method mutates the value of this geometry in-place.
+ * If this is not safe and/or wanted, the geometry should be
+ * cloned prior to normalization.
+ */
+ public abstract void normalize();
+
+ /**
+ * Creates a new Geometry which is a normalized
+ * copy of this Geometry.
+ *
+ * @return a normalized copy of this geometry.
+ * @see #normalize()
+ */
+ public Geometry norm()
+ {
+ Geometry copy = copy();
+ copy.normalize();
+ return copy;
+ }
+
+ /**
+ * Returns whether this <code>Geometry</code> is greater than, equal to,
+ * or less than another <code>Geometry</code>. <P>
+ *
+ * If their classes are different, they are compared using the following
+ * ordering:
+ * <UL>
+ * <LI> Point (lowest)
+ * <LI> MultiPoint
+ * <LI> LineString
+ * <LI> LinearRing
+ * <LI> MultiLineString
+ * <LI> Polygon
+ * <LI> MultiPolygon
+ * <LI> GeometryCollection (highest)
+ * </UL>
+ * If the two <code>Geometry</code>s have the same class, their first
+ * elements are compared. If those are the same, the second elements are
+ * compared, etc.
+ *
+ *@param o a <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@return a positive number, 0, or a negative number, depending on whether
+ * this object is greater than, equal to, or less than <code>o</code>, as
+ * defined in "Normal Form For Geometry" in the JTS Technical
+ * Specifications
+ */
+ public int compareTo(Object o) {
+ Geometry other = (Geometry) o;
+ if (getSortIndex() != other.getSortIndex()) {
+ return getSortIndex() - other.getSortIndex();
+ }
+ if (isEmpty() && other.isEmpty()) {
+ return 0;
+ }
+ if (isEmpty()) {
+ return -1;
+ }
+ if (other.isEmpty()) {
+ return 1;
+ }
+ return compareToSameClass(o);
+ }
+
+ /**
+ * Returns whether this <code>Geometry</code> is greater than, equal to,
+ * or less than another <code>Geometry</code>,
+ * using the given {@link CoordinateSequenceComparator}.
+ * <P>
+ *
+ * If their classes are different, they are compared using the following
+ * ordering:
+ * <UL>
+ * <LI> Point (lowest)
+ * <LI> MultiPoint
+ * <LI> LineString
+ * <LI> LinearRing
+ * <LI> MultiLineString
+ * <LI> Polygon
+ * <LI> MultiPolygon
+ * <LI> GeometryCollection (highest)
+ * </UL>
+ * If the two <code>Geometry</code>s have the same class, their first
+ * elements are compared. If those are the same, the second elements are
+ * compared, etc.
+ *
+ *@param o a <code>Geometry</code> with which to compare this <code>Geometry</code>
+ *@param comp a <code>CoordinateSequenceComparator</code>
+ *
+ *@return a positive number, 0, or a negative number, depending on whether
+ * this object is greater than, equal to, or less than <code>o</code>, as
+ * defined in "Normal Form For Geometry" in the JTS Technical
+ * Specifications
+ */
+ public int compareTo(Object o, CoordinateSequenceComparator comp) {
+ Geometry other = (Geometry) o;
+ if (getSortIndex() != other.getSortIndex()) {
+ return getSortIndex() - other.getSortIndex();
+ }
+ if (isEmpty() && other.isEmpty()) {
+ return 0;
+ }
+ if (isEmpty()) {
+ return -1;
+ }
+ if (other.isEmpty()) {
+ return 1;
+ }
+ return compareToSameClass(o, comp);
+ }
+
+ /**
+ * Returns whether the two <code>Geometry</code>s are equal, from the point
+ * of view of the <code>equalsExact</code> method. Called by <code>equalsExact</code>
+ * . In general, two <code>Geometry</code> classes are considered to be
+ * "equivalent" only if they are the same class. An exception is <code>LineString</code>
+ * , which is considered to be equivalent to its subclasses.
+ *
+ *@param other the <code>Geometry</code> with which to compare this <code>Geometry</code>
+ * for equality
+ *@return <code>true</code> if the classes of the two <code>Geometry</code>
+ * s are considered to be equal by the <code>equalsExact</code> method.
+ */
+ protected boolean isEquivalentClass(Geometry other) {
+ return this.getClass().getName().equals(other.getClass().getName());
+ }
+
+ /**
+ * Throws an exception if <code>g</code>'s class is <code>GeometryCollection</code>
+ * . (Its subclasses do not trigger an exception).
+ *
+ *@param g the <code>Geometry</code> to check
+ *@throws IllegalArgumentException if <code>g</code> is a <code>GeometryCollection</code>
+ * but not one of its subclasses
+ */
+ protected void checkNotGeometryCollection(Geometry g) {
+ if (isGeometryCollection()) {
+ throw new IllegalArgumentException("This method does not support GeometryCollection arguments");
+ }
+ }
+
+ /**
+ * Tests whether this is an instance of a general {@link GeometryCollection},
+ * rather than a homogeneous subclass.
+ *
+ * @return true if this is a heterogeneous GeometryCollection
+ */
+ protected boolean isGeometryCollection()
+ {
+ return getSortIndex() == SORTINDEX_GEOMETRYCOLLECTION;
+ }
+
+ /**
+ * Returns the minimum and maximum x and y values in this <code>Geometry</code>
+ * , or a null <code>Envelope</code> if this <code>Geometry</code> is empty.
+ * Unlike <code>getEnvelopeInternal</code>, this method calculates the <code>Envelope</code>
+ * each time it is called; <code>getEnvelopeInternal</code> caches the result
+ * of this method.
+ *
+ *@return this <code>Geometry</code>s bounding box; if the <code>Geometry</code>
+ * is empty, <code>Envelope#isNull</code> will return <code>true</code>
+ */
+ protected abstract Envelope computeEnvelopeInternal();
+
+ /**
+ * Returns whether this <code>Geometry</code> is greater than, equal to,
+ * or less than another <code>Geometry</code> having the same class.
+ *
+ *@param o a <code>Geometry</code> having the same class as this <code>Geometry</code>
+ *@return a positive number, 0, or a negative number, depending on whether
+ * this object is greater than, equal to, or less than <code>o</code>, as
+ * defined in "Normal Form For Geometry" in the JTS Technical
+ * Specifications
+ */
+ protected abstract int compareToSameClass(Object o);
+
+ /**
+ * Returns whether this <code>Geometry</code> is greater than, equal to,
+ * or less than another <code>Geometry</code> of the same class.
+ * using the given {@link CoordinateSequenceComparator}.
+ *
+ *@param o a <code>Geometry</code> having the same class as this <code>Geometry</code>
+ *@param comp a <code>CoordinateSequenceComparator</code>
+ *@return a positive number, 0, or a negative number, depending on whether
+ * this object is greater than, equal to, or less than <code>o</code>, as
+ * defined in "Normal Form For Geometry" in the JTS Technical
+ * Specifications
+ */
+ protected abstract int compareToSameClass(Object o, CoordinateSequenceComparator comp);
+
+ /**
+ * Returns the first non-zero result of <code>compareTo</code> encountered as
+ * the two <code>Collection</code>s are iterated over. If, by the time one of
+ * the iterations is complete, no non-zero result has been encountered,
+ * returns 0 if the other iteration is also complete. If <code>b</code>
+ * completes before <code>a</code>, a positive number is returned; if a
+ * before b, a negative number.
+ *
+ *@param a a <code>Collection</code> of <code>Comparable</code>s
+ *@param b a <code>Collection</code> of <code>Comparable</code>s
+ *@return the first non-zero <code>compareTo</code> result, if any;
+ * otherwise, zero
+ */
+ protected int compare(Collection a, Collection b) {
+ Iterator i = a.iterator();
+ Iterator j = b.iterator();
+ while (i.hasNext() && j.hasNext()) {
+ Comparable aElement = (Comparable) i.next();
+ Comparable bElement = (Comparable) j.next();
+ int comparison = aElement.compareTo(bElement);
+ if (comparison != 0) {
+ return comparison;
+ }
+ }
+ if (i.hasNext()) {
+ return 1;
+ }
+ if (j.hasNext()) {
+ return -1;
+ }
+ return 0;
+ }
+
+ protected boolean equal(Coordinate a, Coordinate b, double tolerance) {
+ if (tolerance == 0) { return a.equals(b); }
+ return a.distance(b) <= tolerance;
+ }
+
+ abstract protected int getSortIndex();
+
+ private Point createPointFromInternalCoord(Coordinate coord, Geometry exemplar)
+ {
+ exemplar.getPrecisionModel().makePrecise(coord);
+ return exemplar.getFactory().createPoint(coord);
+ }
+
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollection.java b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollection.java
new file mode 100644
index 0000000..d42eef2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollection.java
@@ -0,0 +1,297 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.Arrays;
+import java.util.TreeSet;
+
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * Models a collection of {@link Geometry}s of
+ * arbitrary type and dimension.
+ *
+ *
+ *@version 1.7
+ */
+public class GeometryCollection extends Geometry {
+// With contributions from Markus Schaber [schabios at logi-track.com] 2004-03-26
+ private static final long serialVersionUID = -5694727726395021467L;
+ /**
+ * Internal representation of this <code>GeometryCollection</code>.
+ */
+ protected Geometry[] geometries;
+
+ /** @deprecated Use GeometryFactory instead */
+ public GeometryCollection(Geometry[] geometries, PrecisionModel precisionModel, int SRID) {
+ this(geometries, new GeometryFactory(precisionModel, SRID));
+ }
+
+
+ /**
+ * @param geometries
+ * the <code>Geometry</code>s for this <code>GeometryCollection</code>,
+ * or <code>null</code> or an empty array to create the empty
+ * geometry. Elements may be empty <code>Geometry</code>s,
+ * but not <code>null</code>s.
+ */
+ public GeometryCollection(Geometry[] geometries, GeometryFactory factory) {
+ super(factory);
+ if (geometries == null) {
+ geometries = new Geometry[]{};
+ }
+ if (hasNullElements(geometries)) {
+ throw new IllegalArgumentException("geometries must not contain null elements");
+ }
+ this.geometries = geometries;
+ }
+
+ public Coordinate getCoordinate() {
+ if (isEmpty()) return null;
+ return geometries[0].getCoordinate();
+ }
+
+ /**
+ * Collects all coordinates of all subgeometries into an Array.
+ *
+ * Note that while changes to the coordinate objects themselves
+ * may modify the Geometries in place, the returned Array as such
+ * is only a temporary container which is not synchronized back.
+ *
+ * @return the collected coordinates
+ * */
+ public Coordinate[] getCoordinates() {
+ Coordinate[] coordinates = new Coordinate[getNumPoints()];
+ int k = -1;
+ for (int i = 0; i < geometries.length; i++) {
+ Coordinate[] childCoordinates = geometries[i].getCoordinates();
+ for (int j = 0; j < childCoordinates.length; j++) {
+ k++;
+ coordinates[k] = childCoordinates[j];
+ }
+ }
+ return coordinates;
+ }
+
+ public boolean isEmpty() {
+ for (int i = 0; i < geometries.length; i++) {
+ if (!geometries[i].isEmpty()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public int getDimension() {
+ int dimension = Dimension.FALSE;
+ for (int i = 0; i < geometries.length; i++) {
+ dimension = Math.max(dimension, geometries[i].getDimension());
+ }
+ return dimension;
+ }
+
+ public int getBoundaryDimension() {
+ int dimension = Dimension.FALSE;
+ for (int i = 0; i < geometries.length; i++) {
+ dimension = Math.max(dimension, ((Geometry) geometries[i]).getBoundaryDimension());
+ }
+ return dimension;
+ }
+
+ public int getNumGeometries() {
+ return geometries.length;
+ }
+
+ public Geometry getGeometryN(int n) {
+ return geometries[n];
+ }
+
+ public int getNumPoints() {
+ int numPoints = 0;
+ for (int i = 0; i < geometries.length; i++) {
+ numPoints += ((Geometry) geometries[i]).getNumPoints();
+ }
+ return numPoints;
+ }
+
+ public String getGeometryType() {
+ return "GeometryCollection";
+ }
+
+ public Geometry getBoundary() {
+ checkNotGeometryCollection(this);
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+
+ /**
+ * Returns the area of this <code>GeometryCollection</code>
+ *
+ * @return the area of the polygon
+ */
+ public double getArea()
+ {
+ double area = 0.0;
+ for (int i = 0; i < geometries.length; i++) {
+ area += geometries[i].getArea();
+ }
+ return area;
+ }
+
+ public double getLength()
+ {
+ double sum = 0.0;
+ for (int i = 0; i < geometries.length; i++) {
+ sum += (geometries[i]).getLength();
+ }
+ return sum;
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ GeometryCollection otherCollection = (GeometryCollection) other;
+ if (geometries.length != otherCollection.geometries.length) {
+ return false;
+ }
+ for (int i = 0; i < geometries.length; i++) {
+ if (!((Geometry) geometries[i]).equalsExact(otherCollection.geometries[i], tolerance)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public void apply(CoordinateFilter filter) {
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i].apply(filter);
+ }
+ }
+
+ public void apply(CoordinateSequenceFilter filter) {
+ if (geometries.length == 0)
+ return;
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i].apply(filter);
+ if (filter.isDone()) {
+ break;
+ }
+ }
+ if (filter.isGeometryChanged())
+ geometryChanged();
+ }
+
+ public void apply(GeometryFilter filter) {
+ filter.filter(this);
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i].apply(filter);
+ }
+ }
+
+ public void apply(GeometryComponentFilter filter) {
+ filter.filter(this);
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i].apply(filter);
+ }
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link GeometryCollection} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a clone of this instance
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link GeometryCollection} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a copy of this instance
+ */
+ public GeometryCollection copy() {
+ Geometry[] geometries = new Geometry[this.geometries.length];
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i] = this.geometries[i].copy();
+ }
+ return new GeometryCollection(geometries, factory);
+ }
+
+ public void normalize() {
+ for (int i = 0; i < geometries.length; i++) {
+ geometries[i].normalize();
+ }
+ Arrays.sort(geometries);
+ }
+
+ protected Envelope computeEnvelopeInternal() {
+ Envelope envelope = new Envelope();
+ for (int i = 0; i < geometries.length; i++) {
+ envelope.expandToInclude(geometries[i].getEnvelopeInternal());
+ }
+ return envelope;
+ }
+
+ protected int compareToSameClass(Object o) {
+ TreeSet theseElements = new TreeSet(Arrays.asList(geometries));
+ TreeSet otherElements = new TreeSet(Arrays.asList(((GeometryCollection) o).geometries));
+ return compare(theseElements, otherElements);
+ }
+
+ protected int compareToSameClass(Object o, CoordinateSequenceComparator comp) {
+ GeometryCollection gc = (GeometryCollection) o;
+
+ int n1 = getNumGeometries();
+ int n2 = gc.getNumGeometries();
+ int i = 0;
+ while (i < n1 && i < n2) {
+ Geometry thisGeom = getGeometryN(i);
+ Geometry otherGeom = gc.getGeometryN(i);
+ int holeComp = thisGeom.compareToSameClass(otherGeom, comp);
+ if (holeComp != 0) return holeComp;
+ i++;
+ }
+ if (i < n1) return 1;
+ if (i < n2) return -1;
+ return 0;
+
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_GEOMETRYCOLLECTION;
+ }
+
+ /**
+ * Creates a {@link GeometryCollection} with
+ * every component reversed.
+ * The order of the components in the collection are not reversed.
+ *
+ * @return a {@link GeometryCollection} in the reverse order
+ */
+ public Geometry reverse()
+ {
+ int n = geometries.length;
+ Geometry[] revGeoms = new Geometry[n];
+ for (int i = 0; i < geometries.length; i++) {
+ revGeoms[i] = geometries[i].reverse();
+ }
+ return getFactory().createGeometryCollection(revGeoms);
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollectionIterator.java b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollectionIterator.java
new file mode 100644
index 0000000..b96e894
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryCollectionIterator.java
@@ -0,0 +1,139 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * Iterates over all {@link Geometry}s in a {@link Geometry},
+ * (which may be either a collection or an atomic geometry).
+ * The iteration sequence follows a pre-order, depth-first traversal of the
+ * structure of the <code>GeometryCollection</code>
+ * (which may be nested). The original <code>Geometry</code> object is
+ * returned as well (as the first object), as are all sub-collections and atomic elements.
+ * It is simple to ignore the intermediate <code>GeometryCollection</code> objects if they are not
+ * needed.
+ *
+ *@version 1.7
+ */
+public class GeometryCollectionIterator implements Iterator {
+
+ /**
+ * The <code>Geometry</code> being iterated over.
+ */
+ private Geometry parent;
+ /**
+ * Indicates whether or not the first element
+ * (the root <code>GeometryCollection</code>) has been returned.
+ */
+ private boolean atStart;
+ /**
+ * The number of <code>Geometry</code>s in the the <code>GeometryCollection</code>.
+ */
+ private int max;
+ /**
+ * The index of the <code>Geometry</code> that will be returned when <code>next</code>
+ * is called.
+ */
+ private int index;
+ /**
+ * The iterator over a nested <code>Geometry</code>, or <code>null</code>
+ * if this <code>GeometryCollectionIterator</code> is not currently iterating
+ * over a nested <code>GeometryCollection</code>.
+ */
+ private GeometryCollectionIterator subcollectionIterator;
+
+ /**
+ * Constructs an iterator over the given <code>Geometry</code>.
+ *
+ *@param parent the geometry over which to iterate; also, the first
+ * element returned by the iterator.
+ */
+ public GeometryCollectionIterator(Geometry parent) {
+ this.parent = parent;
+ atStart = true;
+ index = 0;
+ max = parent.getNumGeometries();
+ }
+
+ /**
+ * Tests whether any geometry elements remain to be returned.
+ *
+ * @return true if more geometry elements remain
+ */
+ public boolean hasNext() {
+ if (atStart) {
+ return true;
+ }
+ if (subcollectionIterator != null) {
+ if (subcollectionIterator.hasNext()) {
+ return true;
+ }
+ subcollectionIterator = null;
+ }
+ if (index >= max) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Gets the next geometry in the iteration sequence.
+ *
+ * @return the next geometry in the iteration
+ */
+ public Object next() {
+ // the parent GeometryCollection is the first object returned
+ if (atStart) {
+ atStart = false;
+ if (isAtomic(parent))
+ index++;
+ return parent;
+ }
+ if (subcollectionIterator != null) {
+ if (subcollectionIterator.hasNext()) {
+ return subcollectionIterator.next();
+ }
+ else {
+ subcollectionIterator = null;
+ }
+ }
+ if (index >= max) {
+ throw new NoSuchElementException();
+ }
+ Geometry obj = parent.getGeometryN(index++);
+ if (obj instanceof GeometryCollection) {
+ subcollectionIterator = new GeometryCollectionIterator((GeometryCollection) obj);
+ // there will always be at least one element in the sub-collection
+ return subcollectionIterator.next();
+ }
+ return obj;
+ }
+
+ private static boolean isAtomic(Geometry geom)
+ {
+ return ! (geom instanceof GeometryCollection);
+ }
+
+ /**
+ * Removal is not supported.
+ *
+ * @throws UnsupportedOperationException This method is not implemented.
+ */
+ public void remove() {
+ throw new UnsupportedOperationException(getClass().getName());
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/GeometryComponentFilter.java b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryComponentFilter.java
new file mode 100644
index 0000000..fb6779b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryComponentFilter.java
@@ -0,0 +1,47 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+
+/**
+ * <code>Geometry</code> classes support the concept of applying
+ * a <code>GeometryComponentFilter</code>
+ * filter to the <code>Geometry</code>.
+ * The filter is applied to every component of the <code>Geometry</code>
+ * which is itself a <code>Geometry</code>
+ * and which does not itself contain any components.
+ * (For instance, all the {@link LinearRing}s in {@link Polygon}s are visited,
+ * but in a {@link MultiPolygon} the {@link Polygon}s themselves are not visited.)
+ * Thus the only classes of Geometry which must be
+ * handled as arguments to {@link #filter}
+ * are {@link LineString}s, {@link LinearRing}s and {@link Point}s.
+ * <p>
+ * A <code>GeometryComponentFilter</code> filter can either
+ * record information about the <code>Geometry</code>
+ * or change the <code>Geometry</code> in some way.
+ * <code>GeometryComponentFilter</code>
+ * is an example of the Gang-of-Four Visitor pattern.
+ *
+ *@version 1.7
+ */
+public interface GeometryComponentFilter {
+
+ /**
+ * Performs an operation with or on <code>geom</code>.
+ *
+ *@param geom a <code>Geometry</code> to which the filter is applied.
+ */
+ void filter(Geometry geom);
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFactory.java
new file mode 100644
index 0000000..ff6337c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFactory.java
@@ -0,0 +1,628 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.impl.CoordinateArraySequenceFactory;
+import org.locationtech.jts.geom.util.GeometryEditor;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Supplies a set of utility methods for building Geometry objects from lists
+ * of Coordinates.
+ * <p>
+ * Note that the factory constructor methods do <b>not</b> change the input coordinates in any way.
+ * In particular, they are not rounded to the supplied <tt>PrecisionModel</tt>.
+ * It is assumed that input Coordinates meet the given precision.
+ *
+ *
+ * @version 1.7
+ */
+public class GeometryFactory
+ implements Serializable
+{
+ private static final long serialVersionUID = -6820524753094095635L;
+ private PrecisionModel precisionModel;
+
+ private CoordinateSequenceFactory coordinateSequenceFactory;
+
+
+ public static Point createPointFromInternalCoord(Coordinate coord, Geometry exemplar)
+ {
+ exemplar.getPrecisionModel().makePrecise(coord);
+ return exemplar.getFactory().createPoint(coord);
+ }
+
+ /**
+ * Constructs a GeometryFactory that generates Geometries having the given
+ * PrecisionModel, spatial-reference ID, and CoordinateSequence implementation.
+ */
+ public GeometryFactory(PrecisionModel precisionModel, int SRID,
+ CoordinateSequenceFactory coordinateSequenceFactory) {
+ this.precisionModel = precisionModel;
+ this.coordinateSequenceFactory = coordinateSequenceFactory;
+ this.SRID = SRID;
+ }
+
+ /**
+ * Constructs a GeometryFactory that generates Geometries having the given
+ * CoordinateSequence implementation, a double-precision floating PrecisionModel and a
+ * spatial-reference ID of 0.
+ */
+ public GeometryFactory(CoordinateSequenceFactory coordinateSequenceFactory) {
+ this(new PrecisionModel(), 0, coordinateSequenceFactory);
+ }
+
+ /**
+ * Constructs a GeometryFactory that generates Geometries having the given
+ * {@link PrecisionModel} and the default CoordinateSequence
+ * implementation.
+ *
+ * @param precisionModel the PrecisionModel to use
+ */
+ public GeometryFactory(PrecisionModel precisionModel) {
+ this(precisionModel, 0, getDefaultCoordinateSequenceFactory());
+ }
+
+ /**
+ * Constructs a GeometryFactory that generates Geometries having the given
+ * {@link PrecisionModel} and spatial-reference ID, and the default CoordinateSequence
+ * implementation.
+ *
+ * @param precisionModel the PrecisionModel to use
+ * @param SRID the SRID to use
+ */
+ public GeometryFactory(PrecisionModel precisionModel, int SRID) {
+ this(precisionModel, SRID, getDefaultCoordinateSequenceFactory());
+ }
+
+ /**
+ * Constructs a GeometryFactory that generates Geometries having a floating
+ * PrecisionModel and a spatial-reference ID of 0.
+ */
+ public GeometryFactory() {
+ this(new PrecisionModel(), 0);
+ }
+
+ private static CoordinateSequenceFactory getDefaultCoordinateSequenceFactory()
+ {
+ return CoordinateArraySequenceFactory.instance();
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param points the <code>List</code> of Points to convert
+ *@return the <code>List</code> in array format
+ */
+ public static Point[] toPointArray(Collection points) {
+ Point[] pointArray = new Point[points.size()];
+ return (Point[]) points.toArray(pointArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param geometries the list of <code>Geometry's</code> to convert
+ *@return the <code>List</code> in array format
+ */
+ public static Geometry[] toGeometryArray(Collection geometries) {
+ if (geometries == null) return null;
+ Geometry[] geometryArray = new Geometry[geometries.size()];
+ return (Geometry[]) geometries.toArray(geometryArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param linearRings the <code>List</code> of LinearRings to convert
+ *@return the <code>List</code> in array format
+ */
+ public static LinearRing[] toLinearRingArray(Collection linearRings) {
+ LinearRing[] linearRingArray = new LinearRing[linearRings.size()];
+ return (LinearRing[]) linearRings.toArray(linearRingArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param lineStrings the <code>List</code> of LineStrings to convert
+ *@return the <code>List</code> in array format
+ */
+ public static LineString[] toLineStringArray(Collection lineStrings) {
+ LineString[] lineStringArray = new LineString[lineStrings.size()];
+ return (LineString[]) lineStrings.toArray(lineStringArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param polygons the <code>List</code> of Polygons to convert
+ *@return the <code>List</code> in array format
+ */
+ public static Polygon[] toPolygonArray(Collection polygons) {
+ Polygon[] polygonArray = new Polygon[polygons.size()];
+ return (Polygon[]) polygons.toArray(polygonArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param multiPolygons the <code>List</code> of MultiPolygons to convert
+ *@return the <code>List</code> in array format
+ */
+ public static MultiPolygon[] toMultiPolygonArray(Collection multiPolygons) {
+ MultiPolygon[] multiPolygonArray = new MultiPolygon[multiPolygons.size()];
+ return (MultiPolygon[]) multiPolygons.toArray(multiPolygonArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param multiLineStrings the <code>List</code> of MultiLineStrings to convert
+ *@return the <code>List</code> in array format
+ */
+ public static MultiLineString[] toMultiLineStringArray(Collection multiLineStrings) {
+ MultiLineString[] multiLineStringArray = new MultiLineString[multiLineStrings.size()];
+ return (MultiLineString[]) multiLineStrings.toArray(multiLineStringArray);
+ }
+
+ /**
+ * Converts the <code>List</code> to an array.
+ *
+ *@param multiPoints the <code>List</code> of MultiPoints to convert
+ *@return the <code>List</code> in array format
+ */
+ public static MultiPoint[] toMultiPointArray(Collection multiPoints) {
+ MultiPoint[] multiPointArray = new MultiPoint[multiPoints.size()];
+ return (MultiPoint[]) multiPoints.toArray(multiPointArray);
+ }
+
+ /**
+ * Creates a {@link Geometry} with the same extent as the given envelope.
+ * The Geometry returned is guaranteed to be valid.
+ * To provide this behaviour, the following cases occur:
+ * <p>
+ * If the <code>Envelope</code> is:
+ * <ul>
+ * <li>null : returns an empty {@link Point}
+ * <li>a point : returns a non-empty {@link Point}
+ * <li>a line : returns a two-point {@link LineString}
+ * <li>a rectangle : returns a {@link Polygon} whose points are (minx, miny),
+ * (minx, maxy), (maxx, maxy), (maxx, miny), (minx, miny).
+ * </ul>
+ *
+ *@param envelope the <code>Envelope</code> to convert
+ *@return an empty <code>Point</code> (for null <code>Envelope</code>s),
+ * a <code>Point</code> (when min x = max x and min y = max y) or a
+ * <code>Polygon</code> (in all other cases)
+ */
+ public Geometry toGeometry(Envelope envelope)
+ {
+ // null envelope - return empty point geometry
+ if (envelope.isNull()) {
+ return createPoint();
+ }
+
+ // point?
+ if (envelope.getMinX() == envelope.getMaxX() && envelope.getMinY() == envelope.getMaxY()) {
+ return createPoint(new Coordinate(envelope.getMinX(), envelope.getMinY()));
+ }
+
+ // vertical or horizontal line?
+ if (envelope.getMinX() == envelope.getMaxX()
+ || envelope.getMinY() == envelope.getMaxY()) {
+ return createLineString(new Coordinate[]{
+ new Coordinate(envelope.getMinX(), envelope.getMinY()),
+ new Coordinate(envelope.getMaxX(), envelope.getMaxY())
+ });
+ }
+
+ // create a CW ring for the polygon
+ return createPolygon(createLinearRing(new Coordinate[]{
+ new Coordinate(envelope.getMinX(), envelope.getMinY()),
+ new Coordinate(envelope.getMinX(), envelope.getMaxY()),
+ new Coordinate(envelope.getMaxX(), envelope.getMaxY()),
+ new Coordinate(envelope.getMaxX(), envelope.getMinY()),
+ new Coordinate(envelope.getMinX(), envelope.getMinY())
+ }), null);
+ }
+
+ /**
+ * Returns the PrecisionModel that Geometries created by this factory
+ * will be associated with.
+ *
+ * @return the PrecisionModel for this factory
+ */
+ public PrecisionModel getPrecisionModel() {
+ return precisionModel;
+ }
+
+ public Point createPoint() {
+ return createPoint(getCoordinateSequenceFactory().create(new Coordinate[]{}));
+ }
+
+ /**
+ * Creates a Point using the given Coordinate.
+ * A null Coordinate creates an empty Geometry.
+ *
+ * @param coordinate a Coordinate, or null
+ * @return the created Point
+ */
+ public Point createPoint(Coordinate coordinate) {
+ return createPoint(coordinate != null ? getCoordinateSequenceFactory().create(new Coordinate[]{coordinate}) : null);
+ }
+
+ /**
+ * Creates a Point using the given CoordinateSequence; a null or empty
+ * CoordinateSequence will create an empty Point.
+ *
+ * @param coordinates a CoordinateSequence (possibly empty), or null
+ * @return the created Point
+ */
+ public Point createPoint(CoordinateSequence coordinates) {
+ return new Point(coordinates, this);
+ }
+
+ public MultiLineString createMultiLineString() {
+ return new MultiLineString(null, this);
+ }
+
+ /**
+ * Creates a MultiLineString using the given LineStrings; a null or empty
+ * array will create an empty MultiLineString.
+ *
+ * @param lineStrings LineStrings, each of which may be empty but not null
+ * @return the created MultiLineString
+ */
+ public MultiLineString createMultiLineString(LineString[] lineStrings) {
+ return new MultiLineString(lineStrings, this);
+ }
+
+ public GeometryCollection createGeometryCollection() {
+ return new GeometryCollection(null, this);
+ }
+
+ /**
+ * Creates a GeometryCollection using the given Geometries; a null or empty
+ * array will create an empty GeometryCollection.
+ *
+ * @param geometries an array of Geometries, each of which may be empty but not null, or null
+ * @return the created GeometryCollection
+ */
+ public GeometryCollection createGeometryCollection(Geometry[] geometries) {
+ return new GeometryCollection(geometries, this);
+ }
+
+ public MultiPolygon createMultiPolygon() {
+ return new MultiPolygon(null, this);
+ }
+
+ /**
+ * Creates a MultiPolygon using the given Polygons; a null or empty array
+ * will create an empty Polygon. The polygons must conform to the
+ * assertions specified in the <A
+ * HREF="http://www.opengis.org/techno/specs.htm">OpenGIS Simple Features
+ * Specification for SQL</A>.
+ *
+ * @param polygons
+ * Polygons, each of which may be empty but not null
+ * @return the created MultiPolygon
+ */
+ public MultiPolygon createMultiPolygon(Polygon[] polygons) {
+ return new MultiPolygon(polygons, this);
+ }
+
+ public LinearRing createLinearRing() {
+ return createLinearRing(getCoordinateSequenceFactory().create(new Coordinate[]{}));
+ }
+
+ /**
+ * Creates a {@link LinearRing} using the given {@link Coordinate}s.
+ * A null or empty array creates an empty LinearRing.
+ * The points must form a closed and simple linestring.
+ * @param coordinates an array without null elements, or an empty array, or null
+ * @return the created LinearRing
+ * @throws IllegalArgumentException if the ring is not closed, or has too few points
+ */
+ public LinearRing createLinearRing(Coordinate[] coordinates) {
+ return createLinearRing(coordinates != null ? getCoordinateSequenceFactory().create(coordinates) : null);
+ }
+
+ /**
+ * Creates a {@link LinearRing} using the given {@link CoordinateSequence}.
+ * A null or empty array creates an empty LinearRing.
+ * The points must form a closed and simple linestring.
+ *
+ * @param coordinates a CoordinateSequence (possibly empty), or null
+ * @return the created LinearRing
+ * @throws IllegalArgumentException if the ring is not closed, or has too few points
+ */
+ public LinearRing createLinearRing(CoordinateSequence coordinates) {
+ return new LinearRing(coordinates, this);
+ }
+
+ public MultiPoint createMultiPoint() {
+ return new MultiPoint(null, this);
+ }
+
+ /**
+ * Creates a {@link MultiPoint} using the given {@link Point}s.
+ * A null or empty array will create an empty MultiPoint.
+ *
+ * @param point an array of Points (without null elements), or an empty array, or <code>null</code>
+ * @return a MultiPoint object
+ */
+ public MultiPoint createMultiPoint(Point[] point) {
+ return new MultiPoint(point, this);
+ }
+
+ /**
+ * Creates a {@link MultiPoint} using the given {@link Coordinate}s.
+ * A null or empty array will create an empty MultiPoint.
+ *
+ * @param coordinates an array (without null elements), or an empty array, or <code>null</code>
+ * @return a MultiPoint object
+ * @deprecated Use {@link GeometryFactory#createMultiPointFromCoords} instead
+ */
+ public MultiPoint createMultiPoint(Coordinate[] coordinates) {
+ return createMultiPoint(coordinates != null
+ ? getCoordinateSequenceFactory().create(coordinates)
+ : null);
+ }
+
+ /**
+ * Creates a {@link MultiPoint} using the given {@link Coordinate}s.
+ * A null or empty array will create an empty MultiPoint.
+ *
+ * @param coordinates an array (without null elements), or an empty array, or <code>null</code>
+ * @return a MultiPoint object
+ */
+ public MultiPoint createMultiPointFromCoords(Coordinate[] coordinates) {
+ return createMultiPoint(coordinates != null
+ ? getCoordinateSequenceFactory().create(coordinates)
+ : null);
+ }
+
+ /**
+ * Creates a {@link MultiPoint} using the
+ * points in the given {@link CoordinateSequence}.
+ * A <code>null</code> or empty CoordinateSequence creates an empty MultiPoint.
+ *
+ * @param coordinates a CoordinateSequence (possibly empty), or <code>null</code>
+ * @return a MultiPoint geometry
+ */
+ public MultiPoint createMultiPoint(CoordinateSequence coordinates) {
+ if (coordinates == null) {
+ return createMultiPoint(new Point[0]);
+ }
+ Point[] points = new Point[coordinates.size()];
+ for (int i = 0; i < coordinates.size(); i++) {
+ CoordinateSequence ptSeq = getCoordinateSequenceFactory()
+ .create(1, coordinates.getDimension());
+ CoordinateSequences.copy(coordinates, i, ptSeq, 0, 1);
+ points[i] = createPoint(ptSeq);
+ }
+ return createMultiPoint(points);
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary and
+ * interior boundaries.
+ *
+ * @param shell
+ * the outer boundary of the new <code>Polygon</code>, or
+ * <code>null</code> or an empty <code>LinearRing</code> if
+ * the empty geometry is to be created.
+ * @param holes
+ * the inner boundaries of the new <code>Polygon</code>, or
+ * <code>null</code> or empty <code>LinearRing</code> s if
+ * the empty geometry is to be created.
+ * @throws IllegalArgumentException if a ring is invalid
+ */
+ public Polygon createPolygon(LinearRing shell, LinearRing[] holes) {
+ return new Polygon(shell, holes, this);
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary.
+ *
+ * @param shell
+ * the outer boundary of the new <code>Polygon</code>, or
+ * <code>null</code> or an empty <code>LinearRing</code> if
+ * the empty geometry is to be created.
+ * @throws IllegalArgumentException if the boundary ring is invalid
+ */
+ public Polygon createPolygon(CoordinateSequence shell) {
+ return createPolygon(createLinearRing(shell));
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary.
+ *
+ * @param shell
+ * the outer boundary of the new <code>Polygon</code>, or
+ * <code>null</code> or an empty <code>LinearRing</code> if
+ * the empty geometry is to be created.
+ * @throws IllegalArgumentException if the boundary ring is invalid
+ */
+ public Polygon createPolygon(Coordinate[] shell) {
+ return createPolygon(createLinearRing(shell));
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary.
+ *
+ * @param shell
+ * the outer boundary of the new <code>Polygon</code>, or
+ * <code>null</code> or an empty <code>LinearRing</code> if
+ * the empty geometry is to be created.
+ * @throws IllegalArgumentException if the boundary ring is invalid
+ */
+ public Polygon createPolygon(LinearRing shell) {
+ return createPolygon(shell, null);
+ }
+
+ public Polygon createPolygon() {
+ return createPolygon(null, null);
+ }
+
+ /**
+ * Build an appropriate <code>Geometry</code>, <code>MultiGeometry</code>, or
+ * <code>GeometryCollection</code> to contain the <code>Geometry</code>s in
+ * it.
+ * For example:<br>
+ *
+ * <ul>
+ * <li> If <code>geomList</code> contains a single <code>Polygon</code>,
+ * the <code>Polygon</code> is returned.
+ * <li> If <code>geomList</code> contains several <code>Polygon</code>s, a
+ * <code>MultiPolygon</code> is returned.
+ * <li> If <code>geomList</code> contains some <code>Polygon</code>s and
+ * some <code>LineString</code>s, a <code>GeometryCollection</code> is
+ * returned.
+ * <li> If <code>geomList</code> is empty, an empty <code>GeometryCollection</code>
+ * is returned
+ * </ul>
+ *
+ * Note that this method does not "flatten" Geometries in the input, and hence if
+ * any MultiGeometries are contained in the input a GeometryCollection containing
+ * them will be returned.
+ *
+ *@param geomList the <code>Geometry</code>s to combine
+ *@return a <code>Geometry</code> of the "smallest", "most
+ * type-specific" class that can contain the elements of <code>geomList</code>
+ * .
+ */
+ public Geometry buildGeometry(Collection geomList) {
+
+ /**
+ * Determine some facts about the geometries in the list
+ */
+ Class geomClass = null;
+ boolean isHeterogeneous = false;
+ boolean hasGeometryCollection = false;
+ for (Iterator i = geomList.iterator(); i.hasNext(); ) {
+ Geometry geom = (Geometry) i.next();
+ Class partClass = geom.getClass();
+ if (geomClass == null) {
+ geomClass = partClass;
+ }
+ if (partClass != geomClass) {
+ isHeterogeneous = true;
+ }
+ if (geom instanceof GeometryCollection)
+ hasGeometryCollection = true;
+ }
+
+ /**
+ * Now construct an appropriate geometry to return
+ */
+ // for the empty geometry, return an empty GeometryCollection
+ if (geomClass == null) {
+ return createGeometryCollection();
+ }
+ if (isHeterogeneous || hasGeometryCollection) {
+ return createGeometryCollection(toGeometryArray(geomList));
+ }
+ // at this point we know the collection is hetereogenous.
+ // Determine the type of the result from the first Geometry in the list
+ // this should always return a geometry, since otherwise an empty collection would have already been returned
+ Geometry geom0 = (Geometry) geomList.iterator().next();
+ boolean isCollection = geomList.size() > 1;
+ if (isCollection) {
+ if (geom0 instanceof Polygon) {
+ return createMultiPolygon(toPolygonArray(geomList));
+ }
+ else if (geom0 instanceof LineString) {
+ return createMultiLineString(toLineStringArray(geomList));
+ }
+ else if (geom0 instanceof Point) {
+ return createMultiPoint(toPointArray(geomList));
+ }
+ Assert.shouldNeverReachHere("Unhandled class: " + geom0.getClass().getName());
+ }
+ return geom0;
+ }
+
+ public LineString createLineString() {
+ return createLineString(getCoordinateSequenceFactory().create(new Coordinate[]{}));
+ }
+
+ /**
+ * Creates a LineString using the given Coordinates.
+ * A null or empty array creates an empty LineString.
+ *
+ * @param coordinates an array without null elements, or an empty array, or null
+ */
+ public LineString createLineString(Coordinate[] coordinates) {
+ return createLineString(coordinates != null ? getCoordinateSequenceFactory().create(coordinates) : null);
+ }
+ /**
+ * Creates a LineString using the given CoordinateSequence.
+ * A null or empty CoordinateSequence creates an empty LineString.
+ *
+ * @param coordinates a CoordinateSequence (possibly empty), or null
+ */
+ public LineString createLineString(CoordinateSequence coordinates) {
+ return new LineString(coordinates, this);
+ }
+
+ /**
+ * Creates a deep copy of the input {@link Geometry}.
+ * The {@link CoordinateSequenceFactory} defined for this factory
+ * is used to copy the {@link CoordinateSequence}s
+ * of the input geometry.
+ * <p>
+ * This is a convenient way to change the <tt>CoordinateSequence</tt>
+ * used to represent a geometry, or to change the
+ * factory used for a geometry.
+ * <p>
+ * {@link Geometry#copy()} can also be used to make a deep copy,
+ * but it does not allow changing the CoordinateSequence type.
+ *
+ * @return a deep copy of the input geometry, using the CoordinateSequence type of this factory
+ *
+ * @see Geometry#copy()
+ */
+ public Geometry createGeometry(Geometry g)
+ {
+ GeometryEditor editor = new GeometryEditor(this);
+ return editor.edit(g, new GeometryEditor.CoordinateSequenceOperation() {
+ public CoordinateSequence edit(CoordinateSequence coordSeq, Geometry geometry) {
+ return coordinateSequenceFactory.create(coordSeq);
+ }
+ });
+ }
+
+ /**
+ * Gets the SRID value defined for this factory.
+ *
+ * @return the factory SRID value
+ */
+ public int getSRID() {
+ return SRID;
+ }
+
+ private int SRID;
+
+ public CoordinateSequenceFactory getCoordinateSequenceFactory() {
+ return coordinateSequenceFactory;
+ }
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFilter.java b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFilter.java
new file mode 100644
index 0000000..57689ca
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/GeometryFilter.java
@@ -0,0 +1,37 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+
+/**
+ * <code>GeometryCollection</code> classes support the concept of
+ * applying a <code>GeometryFilter</code> to the <code>Geometry</code>.
+ * The filter is applied to every element <code>Geometry</code>.
+ * A <code>GeometryFilter</code> can either record information about the <code>Geometry</code>
+ * or change the <code>Geometry</code> in some way.
+ * <code>GeometryFilter</code>
+ * is an example of the Gang-of-Four Visitor pattern.
+ *
+ *@version 1.7
+ */
+public interface GeometryFilter {
+
+ /**
+ * Performs an operation with or on <code>geom</code>.
+ *
+ *@param geom a <code>Geometry</code> to which the filter is applied.
+ */
+ void filter(Geometry geom);
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/IntersectionMatrix.java b/modules/core/src/main/java/org/locationtech/jts/geom/IntersectionMatrix.java
new file mode 100644
index 0000000..9182b78
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/IntersectionMatrix.java
@@ -0,0 +1,577 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Models a <b>Dimensionally Extended Nine-Intersection Model (DE-9IM)</b> matrix.
+ * DE-9IM matrices (such as "212FF1FF2")
+ * specify the topological relationship between two {@link Geometry}s.
+ * This class can also represent matrix patterns (such as "T*T******")
+ * which are used for matching instances of DE-9IM matrices.
+ *
+ * Methods are provided to:
+ * <UL>
+ * <LI> set and query the elements of the matrix in a convenient fashion
+ * <LI> convert to and from the standard string representation (specified in
+ * SFS Section 2.1.13.2).
+ * <LI> test to see if a matrix matches a given pattern string.
+ * </UL>
+ * <P>
+ *
+ * For a description of the DE-9IM and the spatial predicates derived from it,
+ * see the <i><A
+ * HREF="http://www.opengis.org/techno/specs.htm">OGC 99-049 OpenGIS Simple Features
+ * Specification for SQL</A></i>, as well as
+ * <i>OGC 06-103r4 OpenGIS
+ * Implementation Standard for Geographic information -
+ * Simple feature access - Part 1: Common architecture</i>
+ * (which provides some further details on certain predicate specifications).
+ * <p>
+ * The entries of the matrix are defined by the constants in the {@link Dimension} class.
+ * The indices of the matrix represent the topological locations
+ * that occur in a geometry (Interior, Boundary, Exterior).
+ * These are provided as constants in the {@link Location} class.
+ *
+ *
+ *@version 1.7
+ */
+public class IntersectionMatrix implements Cloneable {
+ /**
+ * Internal representation of this <code>IntersectionMatrix</code>.
+ */
+ private int[][] matrix;
+
+ /**
+ * Creates an <code>IntersectionMatrix</code> with <code>FALSE</code>
+ * dimension values.
+ */
+ public IntersectionMatrix() {
+ matrix = new int[3][3];
+ setAll(Dimension.FALSE);
+ }
+
+ /**
+ * Creates an <code>IntersectionMatrix</code> with the given dimension
+ * symbols.
+ *
+ *@param elements a String of nine dimension symbols in row major order
+ */
+ public IntersectionMatrix(String elements) {
+ this();
+ set(elements);
+ }
+
+ /**
+ * Creates an <code>IntersectionMatrix</code> with the same elements as
+ * <code>other</code>.
+ *
+ *@param other an <code>IntersectionMatrix</code> to copy
+ */
+ public IntersectionMatrix(IntersectionMatrix other) {
+ this();
+ matrix[Location.INTERIOR][Location.INTERIOR] = other.matrix[Location.INTERIOR][Location.INTERIOR];
+ matrix[Location.INTERIOR][Location.BOUNDARY] = other.matrix[Location.INTERIOR][Location.BOUNDARY];
+ matrix[Location.INTERIOR][Location.EXTERIOR] = other.matrix[Location.INTERIOR][Location.EXTERIOR];
+ matrix[Location.BOUNDARY][Location.INTERIOR] = other.matrix[Location.BOUNDARY][Location.INTERIOR];
+ matrix[Location.BOUNDARY][Location.BOUNDARY] = other.matrix[Location.BOUNDARY][Location.BOUNDARY];
+ matrix[Location.BOUNDARY][Location.EXTERIOR] = other.matrix[Location.BOUNDARY][Location.EXTERIOR];
+ matrix[Location.EXTERIOR][Location.INTERIOR] = other.matrix[Location.EXTERIOR][Location.INTERIOR];
+ matrix[Location.EXTERIOR][Location.BOUNDARY] = other.matrix[Location.EXTERIOR][Location.BOUNDARY];
+ matrix[Location.EXTERIOR][Location.EXTERIOR] = other.matrix[Location.EXTERIOR][Location.EXTERIOR];
+ }
+
+ /**
+ * Adds one matrix to another.
+ * Addition is defined by taking the maximum dimension value of each position
+ * in the summand matrices.
+ *
+ * @param im the matrix to add
+ */
+ public void add(IntersectionMatrix im)
+ {
+ for (int i = 0; i < 3; i++) {
+ for (int j = 0; j < 3; j++) {
+ setAtLeast(i, j, im.get(i, j));
+ }
+ }
+ }
+
+ /**
+ * Tests if the dimension value matches <tt>TRUE</tt>
+ * (i.e. has value 0, 1, 2 or TRUE).
+ *
+ *@param actualDimensionValue a number that can be stored in the <code>IntersectionMatrix</code>
+ * . Possible values are <code>{TRUE, FALSE, DONTCARE, 0, 1, 2}</code>.
+ *@return true if the dimension value matches TRUE
+ */
+ public static boolean isTrue(int actualDimensionValue) {
+ if (actualDimensionValue >= 0 || actualDimensionValue == Dimension.TRUE) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests if the dimension value satisfies the dimension symbol.
+ *
+ *@param actualDimensionValue a number that can be stored in the <code>IntersectionMatrix</code>
+ * . Possible values are <code>{TRUE, FALSE, DONTCARE, 0, 1, 2}</code>.
+ *@param requiredDimensionSymbol a character used in the string
+ * representation of an <code>IntersectionMatrix</code>. Possible values
+ * are <code>{T, F, * , 0, 1, 2}</code>.
+ *@return true if the dimension symbol matches
+ * the dimension value
+ */
+ public static boolean matches(int actualDimensionValue, char requiredDimensionSymbol) {
+ if (requiredDimensionSymbol == Dimension.SYM_DONTCARE) {
+ return true;
+ }
+ if (requiredDimensionSymbol == Dimension.SYM_TRUE && (actualDimensionValue >= 0 || actualDimensionValue
+ == Dimension.TRUE)) {
+ return true;
+ }
+ if (requiredDimensionSymbol == Dimension.SYM_FALSE && actualDimensionValue == Dimension.FALSE) {
+ return true;
+ }
+ if (requiredDimensionSymbol == Dimension.SYM_P && actualDimensionValue == Dimension.P) {
+ return true;
+ }
+ if (requiredDimensionSymbol == Dimension.SYM_L && actualDimensionValue == Dimension.L) {
+ return true;
+ }
+ if (requiredDimensionSymbol == Dimension.SYM_A && actualDimensionValue == Dimension.A) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests if each of the actual dimension symbols in a matrix string satisfies the
+ * corresponding required dimension symbol in a pattern string.
+ *
+ *@param actualDimensionSymbols nine dimension symbols to validate.
+ * Possible values are <code>{T, F, * , 0, 1, 2}</code>.
+ *@param requiredDimensionSymbols nine dimension symbols to validate
+ * against. Possible values are <code>{T, F, * , 0, 1, 2}</code>.
+ *@return true if each of the required dimension
+ * symbols encompass the corresponding actual dimension symbol
+ */
+ public static boolean matches(String actualDimensionSymbols, String requiredDimensionSymbols) {
+ IntersectionMatrix m = new IntersectionMatrix(actualDimensionSymbols);
+ return m.matches(requiredDimensionSymbols);
+ }
+
+ /**
+ * Changes the value of one of this <code>IntersectionMatrix</code>s
+ * elements.
+ *
+ *@param row the row of this <code>IntersectionMatrix</code>,
+ * indicating the interior, boundary or exterior of the first <code>Geometry</code>
+ *@param column the column of this <code>IntersectionMatrix</code>,
+ * indicating the interior, boundary or exterior of the second <code>Geometry</code>
+ *@param dimensionValue the new value of the element
+ */
+ public void set(int row, int column, int dimensionValue) {
+ matrix[row][column] = dimensionValue;
+ }
+
+ /**
+ * Changes the elements of this <code>IntersectionMatrix</code> to the
+ * dimension symbols in <code>dimensionSymbols</code>.
+ *
+ *@param dimensionSymbols nine dimension symbols to which to set this <code>IntersectionMatrix</code>
+ * s elements. Possible values are <code>{T, F, * , 0, 1, 2}</code>
+ */
+ public void set(String dimensionSymbols) {
+ for (int i = 0; i < dimensionSymbols.length(); i++) {
+ int row = i / 3;
+ int col = i % 3;
+ matrix[row][col] = Dimension.toDimensionValue(dimensionSymbols.charAt(i));
+ }
+ }
+
+ /**
+ * Changes the specified element to <code>minimumDimensionValue</code> if the
+ * element is less.
+ *
+ *@param row the row of this <code>IntersectionMatrix</code>
+ * , indicating the interior, boundary or exterior of the first <code>Geometry</code>
+ *@param column the column of this <code>IntersectionMatrix</code>
+ * , indicating the interior, boundary or exterior of the second <code>Geometry</code>
+ *@param minimumDimensionValue the dimension value with which to compare the
+ * element. The order of dimension values from least to greatest is
+ * <code>{DONTCARE, TRUE, FALSE, 0, 1, 2}</code>.
+ */
+ public void setAtLeast(int row, int column, int minimumDimensionValue) {
+ if (matrix[row][column] < minimumDimensionValue) {
+ matrix[row][column] = minimumDimensionValue;
+ }
+ }
+
+ /**
+ * If row >= 0 and column >= 0, changes the specified element to <code>minimumDimensionValue</code>
+ * if the element is less. Does nothing if row <0 or column < 0.
+ *
+ *@param row the row of this <code>IntersectionMatrix</code>
+ * , indicating the interior, boundary or exterior of the first <code>Geometry</code>
+ *@param column the column of this <code>IntersectionMatrix</code>
+ * , indicating the interior, boundary or exterior of the second <code>Geometry</code>
+ *@param minimumDimensionValue the dimension value with which to compare the
+ * element. The order of dimension values from least to greatest is
+ * <code>{DONTCARE, TRUE, FALSE, 0, 1, 2}</code>.
+ */
+ public void setAtLeastIfValid(int row, int column, int minimumDimensionValue) {
+ if (row >= 0 && column >= 0) {
+ setAtLeast(row, column, minimumDimensionValue);
+ }
+ }
+
+ /**
+ * For each element in this <code>IntersectionMatrix</code>, changes the
+ * element to the corresponding minimum dimension symbol if the element is
+ * less.
+ *
+ *@param minimumDimensionSymbols nine dimension symbols with which to
+ * compare the elements of this <code>IntersectionMatrix</code>. The
+ * order of dimension values from least to greatest is <code>{DONTCARE, TRUE, FALSE, 0, 1, 2}</code>
+ * .
+ */
+ public void setAtLeast(String minimumDimensionSymbols) {
+ for (int i = 0; i < minimumDimensionSymbols.length(); i++) {
+ int row = i / 3;
+ int col = i % 3;
+ setAtLeast(row, col, Dimension.toDimensionValue(minimumDimensionSymbols.charAt(i)));
+ }
+ }
+
+ /**
+ * Changes the elements of this <code>IntersectionMatrix</code> to <code>dimensionValue</code>
+ * .
+ *
+ *@param dimensionValue the dimension value to which to set this <code>IntersectionMatrix</code>
+ * s elements. Possible values <code>{TRUE, FALSE, DONTCARE, 0, 1, 2}</code>
+ * .
+ */
+ public void setAll(int dimensionValue) {
+ for (int ai = 0; ai < 3; ai++) {
+ for (int bi = 0; bi < 3; bi++) {
+ matrix[ai][bi] = dimensionValue;
+ }
+ }
+ }
+
+ /**
+ * Returns the value of one of this matrix
+ * entries.
+ * The value of the provided index is one of the
+ * values from the {@link Location} class.
+ * The value returned is a constant
+ * from the {@link Dimension} class.
+ *
+ *@param row the row of this <code>IntersectionMatrix</code>, indicating
+ * the interior, boundary or exterior of the first <code>Geometry</code>
+ *@param column the column of this <code>IntersectionMatrix</code>,
+ * indicating the interior, boundary or exterior of the second <code>Geometry</code>
+ *@return the dimension value at the given matrix position.
+ */
+ public int get(int row, int column) {
+ return matrix[row][column];
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>IntersectionMatrix</code> is
+ * FF*FF****.
+ *
+ *@return <code>true</code> if the two <code>Geometry</code>s related by
+ * this <code>IntersectionMatrix</code> are disjoint
+ */
+ public boolean isDisjoint() {
+ return
+ matrix[Location.INTERIOR][Location.INTERIOR] == Dimension.FALSE &&
+ matrix[Location.INTERIOR][Location.BOUNDARY] == Dimension.FALSE &&
+ matrix[Location.BOUNDARY][Location.INTERIOR] == Dimension.FALSE &&
+ matrix[Location.BOUNDARY][Location.BOUNDARY] == Dimension.FALSE;
+ }
+
+ /**
+ * Returns <code>true</code> if <code>isDisjoint</code> returns false.
+ *
+ *@return <code>true</code> if the two <code>Geometry</code>s related by
+ * this <code>IntersectionMatrix</code> intersect
+ */
+ public boolean isIntersects() {
+ return ! isDisjoint();
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>IntersectionMatrix</code> is
+ * FT*******, F**T***** or F***T****.
+ *
+ *@param dimensionOfGeometryA the dimension of the first <code>Geometry</code>
+ *@param dimensionOfGeometryB the dimension of the second <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>
+ * s related by this <code>IntersectionMatrix</code> touch; Returns false
+ * if both <code>Geometry</code>s are points.
+ */
+ public boolean isTouches(int dimensionOfGeometryA, int dimensionOfGeometryB) {
+ if (dimensionOfGeometryA > dimensionOfGeometryB) {
+ //no need to get transpose because pattern matrix is symmetrical
+ return isTouches(dimensionOfGeometryB, dimensionOfGeometryA);
+ }
+ if ((dimensionOfGeometryA == Dimension.A && dimensionOfGeometryB == Dimension.A) ||
+ (dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.L) ||
+ (dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.A) ||
+ (dimensionOfGeometryA == Dimension.P && dimensionOfGeometryB == Dimension.A) ||
+ (dimensionOfGeometryA == Dimension.P && dimensionOfGeometryB == Dimension.L)) {
+ return matrix[Location.INTERIOR][Location.INTERIOR] == Dimension.FALSE &&
+ (isTrue(matrix[Location.INTERIOR][Location.BOUNDARY])
+ || isTrue(matrix[Location.BOUNDARY][Location.INTERIOR])
+ || isTrue(matrix[Location.BOUNDARY][Location.BOUNDARY]));
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether this geometry crosses the
+ * specified geometry.
+ * <p>
+ * The <code>crosses</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>The geometries have some but not all interior points in common.
+ * <li>The DE-9IM Intersection Matrix for the two geometries is
+ * <ul>
+ * <li>T*T****** (for P/L, P/A, and L/A situations)
+ * <li>T*****T** (for L/P, L/A, and A/L situations)
+ * <li>0******** (for L/L situations)
+ * </ul>
+ * </ul>
+ * For any other combination of dimensions this predicate returns <code>false</code>.
+ * <p>
+ * The SFS defined this predicate only for P/L, P/A, L/L, and L/A situations.
+ * JTS extends the definition to apply to L/P, A/P and A/L situations as well.
+ * This makes the relation symmetric.
+ *
+ *@param dimensionOfGeometryA the dimension of the first <code>Geometry</code>
+ *@param dimensionOfGeometryB the dimension of the second <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s
+ * related by this <code>IntersectionMatrix</code> cross.
+ */
+ public boolean isCrosses(int dimensionOfGeometryA, int dimensionOfGeometryB) {
+ if ((dimensionOfGeometryA == Dimension.P && dimensionOfGeometryB == Dimension.L) ||
+ (dimensionOfGeometryA == Dimension.P && dimensionOfGeometryB == Dimension.A) ||
+ (dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.A)) {
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR]) &&
+ isTrue(matrix[Location.INTERIOR][Location.EXTERIOR]);
+ }
+ if ((dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.P) ||
+ (dimensionOfGeometryA == Dimension.A && dimensionOfGeometryB == Dimension.P) ||
+ (dimensionOfGeometryA == Dimension.A && dimensionOfGeometryB == Dimension.L)) {
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR]) &&
+ isTrue(matrix[Location.EXTERIOR][Location.INTERIOR]);
+ }
+ if (dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.L) {
+ return matrix[Location.INTERIOR][Location.INTERIOR] == 0;
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether this <code>IntersectionMatrix</code> is
+ * T*F**F***.
+ *
+ *@return <code>true</code> if the first <code>Geometry</code> is within
+ * the second
+ */
+ public boolean isWithin() {
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR]) &&
+ matrix[Location.INTERIOR][Location.EXTERIOR] == Dimension.FALSE &&
+ matrix[Location.BOUNDARY][Location.EXTERIOR] == Dimension.FALSE;
+ }
+
+ /**
+ * Tests whether this <code>IntersectionMatrix</code> is
+ * T*****FF*.
+ *
+ *@return <code>true</code> if the first <code>Geometry</code> contains the
+ * second
+ */
+ public boolean isContains() {
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR]) &&
+ matrix[Location.EXTERIOR][Location.INTERIOR] == Dimension.FALSE &&
+ matrix[Location.EXTERIOR][Location.BOUNDARY] == Dimension.FALSE;
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>IntersectionMatrix</code> is
+ * <code>T*****FF*</code>
+ * or <code>*T****FF*</code>
+ * or <code>***T**FF*</code>
+ * or <code>****T*FF*</code>
+ *
+ *@return <code>true</code> if the first <code>Geometry</code> covers the
+ * second
+ */
+ public boolean isCovers() {
+ boolean hasPointInCommon =
+ isTrue(matrix[Location.INTERIOR][Location.INTERIOR])
+ || isTrue(matrix[Location.INTERIOR][Location.BOUNDARY])
+ || isTrue(matrix[Location.BOUNDARY][Location.INTERIOR])
+ || isTrue(matrix[Location.BOUNDARY][Location.BOUNDARY]);
+
+ return hasPointInCommon &&
+ matrix[Location.EXTERIOR][Location.INTERIOR] == Dimension.FALSE &&
+ matrix[Location.EXTERIOR][Location.BOUNDARY] == Dimension.FALSE;
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>IntersectionMatrix</code> is
+ * <code>T*F**F***</code>
+ * or <code>*TF**F***</code>
+ * or <code>**FT*F***</code>
+ * or <code>**F*TF***</code>
+ *
+ *@return <code>true</code> if the first <code>Geometry</code>
+ * is covered by the second
+ */
+ public boolean isCoveredBy() {
+ boolean hasPointInCommon =
+ isTrue(matrix[Location.INTERIOR][Location.INTERIOR])
+ || isTrue(matrix[Location.INTERIOR][Location.BOUNDARY])
+ || isTrue(matrix[Location.BOUNDARY][Location.INTERIOR])
+ || isTrue(matrix[Location.BOUNDARY][Location.BOUNDARY]);
+
+ return hasPointInCommon &&
+ matrix[Location.INTERIOR][Location.EXTERIOR] == Dimension.FALSE &&
+ matrix[Location.BOUNDARY][Location.EXTERIOR] == Dimension.FALSE;
+ }
+
+ /**
+ * Tests whether the argument dimensions are equal and
+ * this <code>IntersectionMatrix</code> matches
+ * the pattern <tt>T*F**FFF*</tt>.
+ * <p>
+ * <b>Note:</b> This pattern differs from the one stated in
+ * <i>Simple feature access - Part 1: Common architecture</i>.
+ * That document states the pattern as <tt>TFFFTFFFT</tt>. This would
+ * specify that
+ * two identical <tt>POINT</tt>s are not equal, which is not desirable behaviour.
+ * The pattern used here has been corrected to compute equality in this situation.
+ *
+ *@param dimensionOfGeometryA the dimension of the first <code>Geometry</code>
+ *@param dimensionOfGeometryB the dimension of the second <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s
+ * related by this <code>IntersectionMatrix</code> are equal; the
+ * <code>Geometry</code>s must have the same dimension to be equal
+ */
+ public boolean isEquals(int dimensionOfGeometryA, int dimensionOfGeometryB) {
+ if (dimensionOfGeometryA != dimensionOfGeometryB) {
+ return false;
+ }
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR]) &&
+ matrix[Location.INTERIOR][Location.EXTERIOR] == Dimension.FALSE &&
+ matrix[Location.BOUNDARY][Location.EXTERIOR] == Dimension.FALSE &&
+ matrix[Location.EXTERIOR][Location.INTERIOR] == Dimension.FALSE &&
+ matrix[Location.EXTERIOR][Location.BOUNDARY] == Dimension.FALSE;
+ }
+
+ /**
+ * Returns <code>true</code> if this <code>IntersectionMatrix</code> is
+ * <UL>
+ * <LI> T*T***T** (for two points or two surfaces)
+ * <LI> 1*T***T** (for two curves)
+ * </UL>.
+ *
+ *@param dimensionOfGeometryA the dimension of the first <code>Geometry</code>
+ *@param dimensionOfGeometryB the dimension of the second <code>Geometry</code>
+ *@return <code>true</code> if the two <code>Geometry</code>s
+ * related by this <code>IntersectionMatrix</code> overlap. For this
+ * function to return <code>true</code>, the <code>Geometry</code>s must
+ * be two points, two curves or two surfaces.
+ */
+ public boolean isOverlaps(int dimensionOfGeometryA, int dimensionOfGeometryB) {
+ if ((dimensionOfGeometryA == Dimension.P && dimensionOfGeometryB == Dimension.P) ||
+ (dimensionOfGeometryA == Dimension.A && dimensionOfGeometryB == Dimension.A)) {
+ return isTrue(matrix[Location.INTERIOR][Location.INTERIOR])
+ && isTrue(matrix[Location.INTERIOR][Location.EXTERIOR])
+ && isTrue(matrix[Location.EXTERIOR][Location.INTERIOR]);
+ }
+ if (dimensionOfGeometryA == Dimension.L && dimensionOfGeometryB == Dimension.L) {
+ return matrix[Location.INTERIOR][Location.INTERIOR] == 1
+ && isTrue(matrix[Location.INTERIOR][Location.EXTERIOR])
+ && isTrue(matrix[Location.EXTERIOR][Location.INTERIOR]);
+ }
+ return false;
+ }
+
+ /**
+ * Returns whether the elements of this <code>IntersectionMatrix</code>
+ * satisfies the required dimension symbols.
+ *
+ *@param requiredDimensionSymbols nine dimension symbols with which to
+ * compare the elements of this <code>IntersectionMatrix</code>. Possible
+ * values are <code>{T, F, * , 0, 1, 2}</code>.
+ *@return <code>true</code> if this <code>IntersectionMatrix</code>
+ * matches the required dimension symbols
+ */
+ public boolean matches(String requiredDimensionSymbols) {
+ if (requiredDimensionSymbols.length() != 9) {
+ throw new IllegalArgumentException("Should be length 9: " + requiredDimensionSymbols);
+ }
+ for (int ai = 0; ai < 3; ai++) {
+ for (int bi = 0; bi < 3; bi++) {
+ if (!matches(matrix[ai][bi], requiredDimensionSymbols.charAt(3 * ai +
+ bi))) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Transposes this IntersectionMatrix.
+ *
+ *@return this <code>IntersectionMatrix</code> as a convenience
+ */
+ public IntersectionMatrix transpose() {
+ int temp = matrix[1][0];
+ matrix[1][0] = matrix[0][1];
+ matrix[0][1] = temp;
+ temp = matrix[2][0];
+ matrix[2][0] = matrix[0][2];
+ matrix[0][2] = temp;
+ temp = matrix[2][1];
+ matrix[2][1] = matrix[1][2];
+ matrix[1][2] = temp;
+ return this;
+ }
+
+ /**
+ * Returns a nine-character <code>String</code> representation of this <code>IntersectionMatrix</code>
+ * .
+ *
+ *@return the nine dimension symbols of this <code>IntersectionMatrix</code>
+ * in row-major order.
+ */
+ public String toString() {
+ StringBuilder builder = new StringBuilder("123456789");
+ for (int ai = 0; ai < 3; ai++) {
+ for (int bi = 0; bi < 3; bi++) {
+ builder.setCharAt(3 * ai + bi, Dimension.toDimensionSymbol(matrix[ai][bi]));
+ }
+ }
+ return builder.toString();
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/LineSegment.java b/modules/core/src/main/java/org/locationtech/jts/geom/LineSegment.java
new file mode 100644
index 0000000..7f8a301
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/LineSegment.java
@@ -0,0 +1,655 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.algorithm.HCoordinate;
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.NotRepresentableException;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+
+
+/**
+ * Represents a line segment defined by two {@link Coordinate}s.
+ * Provides methods to compute various geometric properties
+ * and relationships of line segments.
+ * <p>
+ * This class is designed to be easily mutable (to the extent of
+ * having its contained points public).
+ * This supports a common pattern of reusing a single LineSegment
+ * object as a way of computing segment properties on the
+ * segments defined by arrays or lists of {@link Coordinate}s.
+ *
+ *@version 1.7
+ */
+public class LineSegment
+ implements Comparable, Serializable
+{
+ private static final long serialVersionUID = 3252005833466256227L;
+
+ public Coordinate p0, p1;
+
+ public LineSegment(Coordinate p0, Coordinate p1) {
+ this.p0 = p0;
+ this.p1 = p1;
+ }
+
+ public LineSegment(double x0, double y0, double x1, double y1) {
+ this(new Coordinate(x0, y0), new Coordinate(x1, y1));
+ }
+
+ public LineSegment(LineSegment ls) {
+ this(ls.p0, ls.p1);
+ }
+
+ public LineSegment() {
+ this(new Coordinate(), new Coordinate());
+ }
+
+ public Coordinate getCoordinate(int i)
+ {
+ if (i == 0) return p0;
+ return p1;
+ }
+
+ public void setCoordinates(LineSegment ls)
+ {
+ setCoordinates(ls.p0, ls.p1);
+ }
+
+ public void setCoordinates(Coordinate p0, Coordinate p1)
+ {
+ this.p0.x = p0.x;
+ this.p0.y = p0.y;
+ this.p1.x = p1.x;
+ this.p1.y = p1.y;
+ }
+
+ /**
+ * Gets the minimum X ordinate.
+ * @return the minimum X ordinate
+ */
+ public double minX() {
+ return Math.min(p0.x, p1.x);
+ }
+
+ /**
+ * Gets the maximum X ordinate.
+ * @return the maximum X ordinate
+ */
+ public double maxX() {
+ return Math.max(p0.x, p1.x);
+ }
+
+ /**
+ * Gets the minimum Y ordinate.
+ * @return the minimum Y ordinate
+ */
+ public double minY() {
+ return Math.min(p0.y, p1.y);
+ }
+
+ /**
+ * Gets the maximum Y ordinate.
+ * @return the maximum Y ordinate
+ */
+ public double maxY() {
+ return Math.max(p0.y, p1.y);
+ }
+
+ /**
+ * Computes the length of the line segment.
+ * @return the length of the line segment
+ */
+ public double getLength()
+ {
+ return p0.distance(p1);
+ }
+
+ /**
+ * Tests whether the segment is horizontal.
+ *
+ * @return <code>true</code> if the segment is horizontal
+ */
+ public boolean isHorizontal() { return p0.y == p1.y; }
+
+ /**
+ * Tests whether the segment is vertical.
+ *
+ * @return <code>true</code> if the segment is vertical
+ */
+ public boolean isVertical() { return p0.x == p1.x; }
+
+ /**
+ * Determines the orientation of a LineSegment relative to this segment.
+ * The concept of orientation is specified as follows:
+ * Given two line segments A and L,
+ * <ul>
+ * <li>A is to the left of a segment L if A lies wholly in the
+ * closed half-plane lying to the left of L
+ * <li>A is to the right of a segment L if A lies wholly in the
+ * closed half-plane lying to the right of L
+ * <li>otherwise, A has indeterminate orientation relative to L. This
+ * happens if A is collinear with L or if A crosses the line determined by L.
+ * </ul>
+ *
+ * @param seg the LineSegment to compare
+ *
+ * @return 1 if <code>seg</code> is to the left of this segment
+ * @return -1 if <code>seg</code> is to the right of this segment
+ * @return 0 if <code>seg</code> is collinear to or crosses this segment
+ */
+ public int orientationIndex(LineSegment seg)
+ {
+ int orient0 = Orientation.index(p0, p1, seg.p0);
+ int orient1 = Orientation.index(p0, p1, seg.p1);
+ // this handles the case where the points are L or collinear
+ if (orient0 >= 0 && orient1 >= 0)
+ return Math.max(orient0, orient1);
+ // this handles the case where the points are R or collinear
+ if (orient0 <= 0 && orient1 <= 0)
+ return Math.max(orient0, orient1);
+ // points lie on opposite sides ==> indeterminate orientation
+ return 0;
+ }
+
+ /**
+ * Determines the orientation index of a {@link Coordinate} relative to this segment.
+ * The orientation index is as defined in {@link Orientation#computeOrientation}.
+ *
+ * @param p the coordinate to compare
+ *
+ * @return 1 (LEFT) if <code>p</code> is to the left of this segment
+ * @return -1 (RIGHT) if <code>p</code> is to the right of this segment
+ * @return 0 (COLLINEAR) if <code>p</code> is collinear with this segment
+ *
+ * @see Orientation#computeOrientation(Coordinate, Coordinate, Coordinate)
+ */
+ public int orientationIndex(Coordinate p)
+ {
+ return Orientation.index(p0, p1, p);
+ }
+
+ /**
+ * Reverses the direction of the line segment.
+ */
+ public void reverse()
+ {
+ Coordinate temp = p0;
+ p0 = p1;
+ p1 = temp;
+ }
+
+ /**
+ * Puts the line segment into a normalized form.
+ * This is useful for using line segments in maps and indexes when
+ * topological equality rather than exact equality is desired.
+ * A segment in normalized form has the first point smaller
+ * than the second (according to the standard ordering on {@link Coordinate}).
+ */
+ public void normalize()
+ {
+ if (p1.compareTo(p0) < 0) reverse();
+ }
+
+ /**
+ * Computes the angle that the vector defined by this segment
+ * makes with the X-axis.
+ * The angle will be in the range [ -PI, PI ] radians.
+ *
+ * @return the angle this segment makes with the X-axis (in radians)
+ */
+ public double angle()
+ {
+ return Math.atan2(p1.y - p0.y, p1.x - p0.x);
+ }
+
+ /**
+ * Computes the midpoint of the segment
+ *
+ * @return the midpoint of the segment
+ */
+ public Coordinate midPoint()
+ {
+ return midPoint(p0, p1);
+ }
+
+ /**
+ * Computes the midpoint of a segment
+ *
+ * @return the midpoint of the segment
+ */
+ public static Coordinate midPoint(Coordinate p0, Coordinate p1)
+ {
+ return new Coordinate( (p0.x + p1.x) / 2,
+ (p0.y + p1.y) / 2);
+ }
+
+ /**
+ * Computes the distance between this line segment and another segment.
+ *
+ * @return the distance to the other segment
+ */
+ public double distance(LineSegment ls)
+ {
+ return Distance.segmentToSegment(p0, p1, ls.p0, ls.p1);
+ }
+
+ /**
+ * Computes the distance between this line segment and a given point.
+ *
+ * @return the distance from this segment to the given point
+ */
+ public double distance(Coordinate p)
+ {
+ return Distance.pointToSegment(p, p0, p1);
+ }
+
+ /**
+ * Computes the perpendicular distance between the (infinite) line defined
+ * by this line segment and a point.
+ *
+ * @return the perpendicular distance between the defined line and the given point
+ */
+ public double distancePerpendicular(Coordinate p)
+ {
+ return Distance.pointToLinePerpendicular(p, p0, p1);
+ }
+
+ /**
+ * Computes the {@link Coordinate} that lies a given
+ * fraction along the line defined by this segment.
+ * A fraction of <code>0.0</code> returns the start point of the segment;
+ * a fraction of <code>1.0</code> returns the end point of the segment.
+ * If the fraction is < 0.0 or > 1.0 the point returned
+ * will lie before the start or beyond the end of the segment.
+ *
+ * @param segmentLengthFraction the fraction of the segment length along the line
+ * @return the point at that distance
+ */
+ public Coordinate pointAlong(double segmentLengthFraction)
+ {
+ Coordinate coord = new Coordinate();
+ coord.x = p0.x + segmentLengthFraction * (p1.x - p0.x);
+ coord.y = p0.y + segmentLengthFraction * (p1.y - p0.y);
+ return coord;
+ }
+
+ /**
+ * Computes the {@link Coordinate} that lies a given
+ * fraction along the line defined by this segment and offset from
+ * the segment by a given distance.
+ * A fraction of <code>0.0</code> offsets from the start point of the segment;
+ * a fraction of <code>1.0</code> offsets from the end point of the segment.
+ * The computed point is offset to the left of the line if the offset distance is
+ * positive, to the right if negative.
+ *
+ * @param segmentLengthFraction the fraction of the segment length along the line
+ * @param offsetDistance the distance the point is offset from the segment
+ * (positive is to the left, negative is to the right)
+ * @return the point at that distance and offset
+ *
+ * @throws IllegalStateException if the segment has zero length
+ */
+ public Coordinate pointAlongOffset(double segmentLengthFraction, double offsetDistance)
+ {
+ // the point on the segment line
+ double segx = p0.x + segmentLengthFraction * (p1.x - p0.x);
+ double segy = p0.y + segmentLengthFraction * (p1.y - p0.y);
+
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ double len = Math.sqrt(dx * dx + dy * dy);
+ double ux = 0.0;
+ double uy = 0.0;
+ if (offsetDistance != 0.0) {
+ if (len <= 0.0)
+ throw new IllegalStateException("Cannot compute offset from zero-length line segment");
+
+ // u is the vector that is the length of the offset, in the direction of the segment
+ ux = offsetDistance * dx / len;
+ uy = offsetDistance * dy / len;
+ }
+
+ // the offset point is the seg point plus the offset vector rotated 90 degrees CCW
+ double offsetx = segx - uy;
+ double offsety = segy + ux;
+
+ Coordinate coord = new Coordinate(offsetx, offsety);
+ return coord;
+ }
+
+ /**
+ * Computes the Projection Factor for the projection of the point p
+ * onto this LineSegment. The Projection Factor is the constant r
+ * by which the vector for this segment must be multiplied to
+ * equal the vector for the projection of <tt>p</tt> on the line
+ * defined by this segment.
+ * <p>
+ * The projection factor will lie in the range <tt>(-inf, +inf)</tt>,
+ * or be <code>NaN</code> if the line segment has zero length..
+ *
+ * @param p the point to compute the factor for
+ * @return the projection factor for the point
+ */
+ public double projectionFactor(Coordinate p)
+ {
+ if (p.equals(p0)) return 0.0;
+ if (p.equals(p1)) return 1.0;
+ // Otherwise, use comp.graphics.algorithms Frequently Asked Questions method
+ /* AC dot AB
+ r = ---------
+ ||AB||^2
+ r has the following meaning:
+ r=0 P = A
+ r=1 P = B
+ r<0 P is on the backward extension of AB
+ r>1 P is on the forward extension of AB
+ 0<r<1 P is interior to AB
+ */
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ double len = dx * dx + dy * dy;
+
+ // handle zero-length segments
+ if (len <= 0.0) return Double.NaN;
+
+ double r = ( (p.x - p0.x) * dx + (p.y - p0.y) * dy )
+ / len;
+ return r;
+ }
+
+ /**
+ * Computes the fraction of distance (in <tt>[0.0, 1.0]</tt>)
+ * that the projection of a point occurs along this line segment.
+ * If the point is beyond either ends of the line segment,
+ * the closest fractional value (<tt>0.0</tt> or <tt>1.0</tt>) is returned.
+ * <p>
+ * Essentially, this is the {@link #projectionFactor} clamped to
+ * the range <tt>[0.0, 1.0]</tt>.
+ * If the segment has zero length, 1.0 is returned.
+ *
+ * @param inputPt the point
+ * @return the fraction along the line segment the projection of the point occurs
+ */
+ public double segmentFraction(
+ Coordinate inputPt)
+ {
+ double segFrac = projectionFactor(inputPt);
+ if (segFrac < 0.0)
+ segFrac = 0.0;
+ else if (segFrac > 1.0 || Double.isNaN(segFrac))
+ segFrac = 1.0;
+ return segFrac;
+ }
+
+ /**
+ * Compute the projection of a point onto the line determined
+ * by this line segment.
+ * <p>
+ * Note that the projected point
+ * may lie outside the line segment. If this is the case,
+ * the projection factor will lie outside the range [0.0, 1.0].
+ */
+ public Coordinate project(Coordinate p)
+ {
+ if (p.equals(p0) || p.equals(p1)) return new Coordinate(p);
+
+ double r = projectionFactor(p);
+ Coordinate coord = new Coordinate();
+ coord.x = p0.x + r * (p1.x - p0.x);
+ coord.y = p0.y + r * (p1.y - p0.y);
+ return coord;
+ }
+ /**
+ * Project a line segment onto this line segment and return the resulting
+ * line segment. The returned line segment will be a subset of
+ * the target line line segment. This subset may be null, if
+ * the segments are oriented in such a way that there is no projection.
+ * <p>
+ * Note that the returned line may have zero length (i.e. the same endpoints).
+ * This can happen for instance if the lines are perpendicular to one another.
+ *
+ * @param seg the line segment to project
+ * @return the projected line segment, or <code>null</code> if there is no overlap
+ */
+ public LineSegment project(LineSegment seg)
+ {
+ double pf0 = projectionFactor(seg.p0);
+ double pf1 = projectionFactor(seg.p1);
+ // check if segment projects at all
+ if (pf0 >= 1.0 && pf1 >= 1.0) return null;
+ if (pf0 <= 0.0 && pf1 <= 0.0) return null;
+
+ Coordinate newp0 = project(seg.p0);
+ if (pf0 < 0.0) newp0 = p0;
+ if (pf0 > 1.0) newp0 = p1;
+
+ Coordinate newp1 = project(seg.p1);
+ if (pf1 < 0.0) newp1 = p0;
+ if (pf1 > 1.0) newp1 = p1;
+
+ return new LineSegment(newp0, newp1);
+ }
+ /**
+ * Computes the closest point on this line segment to another point.
+ * @param p the point to find the closest point to
+ * @return a Coordinate which is the closest point on the line segment to the point p
+ */
+ public Coordinate closestPoint(Coordinate p)
+ {
+ double factor = projectionFactor(p);
+ if (factor > 0 && factor < 1) {
+ return project(p);
+ }
+ double dist0 = p0.distance(p);
+ double dist1 = p1.distance(p);
+ if (dist0 < dist1)
+ return p0;
+ return p1;
+ }
+ /**
+ * Computes the closest points on two line segments.
+ *
+ * @param line the segment to find the closest point to
+ * @return a pair of Coordinates which are the closest points on the line segments
+ */
+ public Coordinate[] closestPoints(LineSegment line)
+ {
+ // test for intersection
+ Coordinate intPt = intersection(line);
+ if (intPt != null) {
+ return new Coordinate[] { intPt, intPt };
+ }
+
+ /**
+ * if no intersection closest pair contains at least one endpoint.
+ * Test each endpoint in turn.
+ */
+ Coordinate[] closestPt = new Coordinate[2];
+ double minDistance = Double.MAX_VALUE;
+ double dist;
+
+ Coordinate close00 = closestPoint(line.p0);
+ minDistance = close00.distance(line.p0);
+ closestPt[0] = close00;
+ closestPt[1] = line.p0;
+
+ Coordinate close01 = closestPoint(line.p1);
+ dist = close01.distance(line.p1);
+ if (dist < minDistance) {
+ minDistance = dist;
+ closestPt[0] = close01;
+ closestPt[1] = line.p1;
+ }
+
+ Coordinate close10 = line.closestPoint(p0);
+ dist = close10.distance(p0);
+ if (dist < minDistance) {
+ minDistance = dist;
+ closestPt[0] = p0;
+ closestPt[1] = close10;
+ }
+
+ Coordinate close11 = line.closestPoint(p1);
+ dist = close11.distance(p1);
+ if (dist < minDistance) {
+ minDistance = dist;
+ closestPt[0] = p1;
+ closestPt[1] = close11;
+ }
+
+ return closestPt;
+ }
+
+ /**
+ * Computes an intersection point between two line segments, if there is one.
+ * There may be 0, 1 or many intersection points between two segments.
+ * If there are 0, null is returned. If there is 1 or more,
+ * exactly one of them is returned
+ * (chosen at the discretion of the algorithm).
+ * If more information is required about the details of the intersection,
+ * the {@link RobustLineIntersector} class should be used.
+ *
+ * @param line a line segment
+ * @return an intersection point, or <code>null</code> if there is none
+ *
+ * @see RobustLineIntersector
+ */
+ public Coordinate intersection(LineSegment line)
+ {
+ LineIntersector li = new RobustLineIntersector();
+ li.computeIntersection(p0, p1, line.p0, line.p1);
+ if (li.hasIntersection())
+ return li.getIntersection(0);
+ return null;
+ }
+
+ /**
+ * Computes the intersection point of the lines of infinite extent defined
+ * by two line segments (if there is one).
+ * There may be 0, 1 or an infinite number of intersection points
+ * between two lines.
+ * If there is a unique intersection point, it is returned.
+ * Otherwise, <tt>null</tt> is returned.
+ * If more information is required about the details of the intersection,
+ * the {@link RobustLineIntersector} class should be used.
+ *
+ * @param line a line segment defining an straight line with infinite extent
+ * @return an intersection point,
+ * or <code>null</code> if there is no point of intersection
+ * or an infinite number of intersection points
+ *
+ * @see RobustLineIntersector
+ */
+ public Coordinate lineIntersection(LineSegment line)
+ {
+ try {
+ Coordinate intPt = HCoordinate.intersection(p0, p1, line.p0, line.p1);
+ return intPt;
+ }
+ catch (NotRepresentableException ex) {
+ // eat this exception, and return null;
+ }
+ return null;
+ }
+
+ /**
+ * Creates a LineString with the same coordinates as this segment
+ *
+ * @param geomFactory the geometry factory to use
+ * @return a LineString with the same geometry as this segment
+ */
+ public LineString toGeometry(GeometryFactory geomFactory)
+ {
+ return geomFactory.createLineString(new Coordinate[] { p0, p1 });
+ }
+
+ /**
+ * Returns <code>true</code> if <code>other</code> has the same values for
+ * its points.
+ *
+ *@param o a <code>LineSegment</code> with which to do the comparison.
+ *@return <code>true</code> if <code>other</code> is a <code>LineSegment</code>
+ * with the same values for the x and y ordinates.
+ */
+ public boolean equals(Object o) {
+ if (!(o instanceof LineSegment)) {
+ return false;
+ }
+ LineSegment other = (LineSegment) o;
+ return p0.equals(other.p0) && p1.equals(other.p1);
+ }
+
+ /**
+ * Gets a hashcode for this object.
+ *
+ * @return a hashcode for this object
+ */
+ public int hashCode() {
+ long bits0 = java.lang.Double.doubleToLongBits(p0.x);
+ bits0 ^= java.lang.Double.doubleToLongBits(p0.y) * 31;
+ int hash0 = (((int) bits0) ^ ((int) (bits0 >> 32)));
+
+ long bits1 = java.lang.Double.doubleToLongBits(p1.x);
+ bits1 ^= java.lang.Double.doubleToLongBits(p1.y) * 31;
+ int hash1 = (((int) bits1) ^ ((int) (bits1 >> 32)));
+
+ // XOR is supposed to be a good way to combine hashcodes
+ return hash0 ^ hash1;
+ }
+
+ /**
+ * Compares this object with the specified object for order.
+ * Uses the standard lexicographic ordering for the points in the LineSegment.
+ *
+ *@param o the <code>LineSegment</code> with which this <code>LineSegment</code>
+ * is being compared
+ *@return a negative integer, zero, or a positive integer as this <code>LineSegment</code>
+ * is less than, equal to, or greater than the specified <code>LineSegment</code>
+ */
+ public int compareTo(Object o) {
+ LineSegment other = (LineSegment) o;
+ int comp0 = p0.compareTo(other.p0);
+ if (comp0 != 0) return comp0;
+ return p1.compareTo(other.p1);
+ }
+
+ /**
+ * Returns <code>true</code> if <code>other</code> is
+ * topologically equal to this LineSegment (e.g. irrespective
+ * of orientation).
+ *
+ *@param other a <code>LineSegment</code> with which to do the comparison.
+ *@return <code>true</code> if <code>other</code> is a <code>LineSegment</code>
+ * with the same values for the x and y ordinates.
+ */
+ public boolean equalsTopo(LineSegment other)
+ {
+ return
+ p0.equals(other.p0) && p1.equals(other.p1)
+ || p0.equals(other.p1) && p1.equals(other.p0);
+ }
+
+ public String toString()
+ {
+ return "LINESTRING( " +
+ p0.x + " " + p0.y
+ + ", " +
+ p1.x + " " + p1.y + ")";
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/LineString.java b/modules/core/src/main/java/org/locationtech/jts/geom/LineString.java
new file mode 100644
index 0000000..67f8bf2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/LineString.java
@@ -0,0 +1,336 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.algorithm.Length;
+import org.locationtech.jts.operation.BoundaryOp;
+
+/**
+ * Models an OGC-style <code>LineString</code>.
+ * A LineString consists of a sequence of two or more vertices,
+ * along with all points along the linearly-interpolated curves
+ * (line segments) between each
+ * pair of consecutive vertices.
+ * Consecutive vertices may be equal.
+ * The line segments in the line may intersect each other (in other words,
+ * the linestring may "curl back" in itself and self-intersect.
+ * Linestrings with exactly two identical points are invalid.
+ * <p>
+ * A linestring must have either 0 or 2 or more points.
+ * If these conditions are not met, the constructors throw
+ * an {@link IllegalArgumentException}
+ *
+ *@version 1.7
+ */
+public class LineString
+ extends Geometry
+ implements Lineal
+{
+ private static final long serialVersionUID = 3110669828065365560L;
+ /**
+ * The points of this <code>LineString</code>.
+ */
+ protected CoordinateSequence points;
+
+ /**
+ * Constructs a <code>LineString</code> with the given points.
+ *
+ *@param points the points of the linestring, or <code>null</code>
+ * to create the empty geometry. This array must not contain <code>null</code>
+ * elements. Consecutive points may be equal.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>LineString</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>LineString</code>
+ * @throws IllegalArgumentException if too few points are provided
+ */
+ /** @deprecated Use GeometryFactory instead */
+ public LineString(Coordinate points[], PrecisionModel precisionModel, int SRID)
+ {
+ super(new GeometryFactory(precisionModel, SRID));
+ init(getFactory().getCoordinateSequenceFactory().create(points));
+ }
+
+ /**
+ * Constructs a <code>LineString</code> with the given points.
+ *
+ *@param points the points of the linestring, or <code>null</code>
+ * to create the empty geometry.
+ * @throws IllegalArgumentException if too few points are provided
+ */
+ public LineString(CoordinateSequence points, GeometryFactory factory) {
+ super(factory);
+ init(points);
+ }
+
+ private void init(CoordinateSequence points)
+ {
+ if (points == null) {
+ points = getFactory().getCoordinateSequenceFactory().create(new Coordinate[]{});
+ }
+ if (points.size() == 1) {
+ throw new IllegalArgumentException("Invalid number of points in LineString (found "
+ + points.size() + " - must be 0 or >= 2)");
+ }
+ this.points = points;
+ }
+ public Coordinate[] getCoordinates() {
+ return points.toCoordinateArray();
+ }
+
+ public CoordinateSequence getCoordinateSequence() {
+ return points;
+ }
+
+ public Coordinate getCoordinateN(int n) {
+ return points.getCoordinate(n);
+ }
+
+ public Coordinate getCoordinate()
+ {
+ if (isEmpty()) return null;
+ return points.getCoordinate(0);
+ }
+
+ public int getDimension() {
+ return 1;
+ }
+
+ public int getBoundaryDimension() {
+ if (isClosed()) {
+ return Dimension.FALSE;
+ }
+ return 0;
+ }
+
+ public boolean isEmpty() {
+ return points.size() == 0;
+ }
+
+ public int getNumPoints() {
+ return points.size();
+ }
+
+ public Point getPointN(int n) {
+ return getFactory().createPoint(points.getCoordinate(n));
+ }
+
+ public Point getStartPoint() {
+ if (isEmpty()) {
+ return null;
+ }
+ return getPointN(0);
+ }
+
+ public Point getEndPoint() {
+ if (isEmpty()) {
+ return null;
+ }
+ return getPointN(getNumPoints() - 1);
+ }
+
+ public boolean isClosed() {
+ if (isEmpty()) {
+ return false;
+ }
+ return getCoordinateN(0).equals2D(getCoordinateN(getNumPoints() - 1));
+ }
+
+ public boolean isRing() {
+ return isClosed() && isSimple();
+ }
+
+ public String getGeometryType() {
+ return "LineString";
+ }
+
+ /**
+ * Returns the length of this <code>LineString</code>
+ *
+ *@return the length of the linestring
+ */
+ public double getLength()
+ {
+ return Length.ofLine(points);
+ }
+
+ /**
+ * Gets the boundary of this geometry.
+ * The boundary of a lineal geometry is always a zero-dimensional geometry (which may be empty).
+ *
+ * @return the boundary geometry
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary() {
+ return (new BoundaryOp(this)).getBoundary();
+ }
+
+ /**
+ * Creates a {@link LineString} whose coordinates are in the reverse
+ * order of this objects
+ *
+ * @return a {@link LineString} with coordinates in the reverse order
+ */
+ public Geometry reverse()
+ {
+ CoordinateSequence seq = points.copy();
+ CoordinateSequences.reverse(seq);
+ LineString revLine = getFactory().createLineString(seq);
+ return revLine;
+ }
+
+ /**
+ * Returns true if the given point is a vertex of this <code>LineString</code>.
+ *
+ *@param pt the <code>Coordinate</code> to check
+ *@return <code>true</code> if <code>pt</code> is one of this <code>LineString</code>
+ * 's vertices
+ */
+ public boolean isCoordinate(Coordinate pt) {
+ for (int i = 0; i < points.size(); i++) {
+ if (points.getCoordinate(i).equals(pt)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected Envelope computeEnvelopeInternal() {
+ if (isEmpty()) {
+ return new Envelope();
+ }
+ return points.expandEnvelope(new Envelope());
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ LineString otherLineString = (LineString) other;
+ if (points.size() != otherLineString.points.size()) {
+ return false;
+ }
+ for (int i = 0; i < points.size(); i++) {
+ if (!equal(points.getCoordinate(i), otherLineString.points.getCoordinate(i), tolerance)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public void apply(CoordinateFilter filter) {
+ for (int i = 0; i < points.size(); i++) {
+ filter.filter(points.getCoordinate(i));
+ }
+ }
+
+ public void apply(CoordinateSequenceFilter filter)
+ {
+ if (points.size() == 0)
+ return;
+ for (int i = 0; i < points.size(); i++) {
+ filter.filter(points, i);
+ if (filter.isDone())
+ break;
+ }
+ if (filter.isGeometryChanged())
+ geometryChanged();
+ }
+
+ public void apply(GeometryFilter filter) {
+ filter.filter(this);
+ }
+
+ public void apply(GeometryComponentFilter filter) {
+ filter.filter(this);
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link LineString} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a clone of this instance
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link LineString} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a copy of this instance
+ */
+ public LineString copy() {
+ return new LineString(points.copy(), factory);
+ }
+
+ /**
+ * Normalizes a LineString. A normalized linestring
+ * has the first point which is not equal to it's reflected point
+ * less than the reflected point.
+ */
+ public void normalize()
+ {
+ for (int i = 0; i < points.size() / 2; i++) {
+ int j = points.size() - 1 - i;
+ // skip equal points on both ends
+ if (!points.getCoordinate(i).equals(points.getCoordinate(j))) {
+ if (points.getCoordinate(i).compareTo(points.getCoordinate(j)) > 0) {
+ CoordinateSequence copy = points.copy();
+ CoordinateSequences.reverse(copy);
+ points = copy;
+ }
+ return;
+ }
+ }
+ }
+
+ protected boolean isEquivalentClass(Geometry other) {
+ return other instanceof LineString;
+ }
+
+ protected int compareToSameClass(Object o)
+ {
+ LineString line = (LineString) o;
+ // MD - optimized implementation
+ int i = 0;
+ int j = 0;
+ while (i < points.size() && j < line.points.size()) {
+ int comparison = points.getCoordinate(i).compareTo(line.points.getCoordinate(j));
+ if (comparison != 0) {
+ return comparison;
+ }
+ i++;
+ j++;
+ }
+ if (i < points.size()) {
+ return 1;
+ }
+ if (j < line.points.size()) {
+ return -1;
+ }
+ return 0;
+ }
+
+ protected int compareToSameClass(Object o, CoordinateSequenceComparator comp)
+ {
+ LineString line = (LineString) o;
+ return comp.compare(this.points, line.points);
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_LINESTRING;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Lineal.java b/modules/core/src/main/java/org/locationtech/jts/geom/Lineal.java
new file mode 100644
index 0000000..0ea89d6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Lineal.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+/**
+ * Identifies {@link Geometry} subclasses which
+ * are 1-dimensional and have components which are {@link LineString}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public interface Lineal {
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/LinearRing.java b/modules/core/src/main/java/org/locationtech/jts/geom/LinearRing.java
new file mode 100644
index 0000000..b5f4f1a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/LinearRing.java
@@ -0,0 +1,142 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Models an OGC SFS <code>LinearRing</code>.
+ * A <code>LinearRing</code> is a {@link LineString} which is both closed and simple.
+ * In other words,
+ * the first and last coordinate in the ring must be equal,
+ * and the interior of the ring must not self-intersect.
+ * Either orientation of the ring is allowed.
+ * <p>
+ * A ring must have either 0 or 4 or more points.
+ * The first and last points must be equal (in 2D).
+ * If these conditions are not met, the constructors throw
+ * an {@link IllegalArgumentException}
+ *
+ * @version 1.7
+ */
+public class LinearRing extends LineString
+{
+ /**
+ * The minimum number of vertices allowed in a valid non-empty ring (= 4).
+ * Empty rings with 0 vertices are also valid.
+ */
+ public static final int MINIMUM_VALID_SIZE = 4;
+
+ private static final long serialVersionUID = -4261142084085851829L;
+
+ /**
+ * Constructs a <code>LinearRing</code> with the given points.
+ *
+ *@param points points forming a closed and simple linestring, or
+ * <code>null</code> or an empty array to create the empty geometry.
+ * This array must not contain <code>null</code> elements.
+ *
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>LinearRing</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>LinearRing</code>
+ * @throws IllegalArgumentException if the ring is not closed, or has too few points
+ *
+ * @deprecated Use GeometryFactory instead
+ */
+ public LinearRing(Coordinate points[], PrecisionModel precisionModel,
+ int SRID) {
+ this(points, new GeometryFactory(precisionModel, SRID));
+ validateConstruction();
+ }
+
+ /**
+ * This method is ONLY used to avoid deprecation warnings.
+ * @param points
+ * @param factory
+ * @throws IllegalArgumentException if the ring is not closed, or has too few points
+ */
+ private LinearRing(Coordinate points[], GeometryFactory factory) {
+ this(factory.getCoordinateSequenceFactory().create(points), factory);
+ }
+
+
+ /**
+ * Constructs a <code>LinearRing</code> with the vertices
+ * specified by the given {@link CoordinateSequence}.
+ *
+ *@param points a sequence points forming a closed and simple linestring, or
+ * <code>null</code> to create the empty geometry.
+ *
+ * @throws IllegalArgumentException if the ring is not closed, or has too few points
+ *
+ */
+ public LinearRing(CoordinateSequence points, GeometryFactory factory) {
+ super(points, factory);
+ validateConstruction();
+ }
+
+ private void validateConstruction() {
+ if (!isEmpty() && ! super.isClosed()) {
+ throw new IllegalArgumentException("Points of LinearRing do not form a closed linestring");
+ }
+ if (getCoordinateSequence().size() >= 1 && getCoordinateSequence().size() < MINIMUM_VALID_SIZE) {
+ throw new IllegalArgumentException("Invalid number of points in LinearRing (found "
+ + getCoordinateSequence().size() + " - must be 0 or >= 4)");
+ }
+ }
+
+ /**
+ * Returns <code>Dimension.FALSE</code>, since by definition LinearRings do
+ * not have a boundary.
+ *
+ * @return Dimension.FALSE
+ */
+ public int getBoundaryDimension() {
+ return Dimension.FALSE;
+ }
+
+ /**
+ * Tests whether this ring is closed.
+ * Empty rings are closed by definition.
+ *
+ * @return true if this ring is closed
+ */
+ public boolean isClosed() {
+ if (isEmpty()) {
+ // empty LinearRings are closed by definition
+ return true;
+ }
+ return super.isClosed();
+ }
+
+
+ public String getGeometryType() {
+ return "LinearRing";
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_LINEARRING;
+ }
+
+ public LinearRing copy() {
+ return new LinearRing(points.copy(), factory);
+ }
+
+ public Geometry reverse()
+ {
+ CoordinateSequence seq = points.copy();
+ CoordinateSequences.reverse(seq);
+ LinearRing rev = getFactory().createLinearRing(seq);
+ return rev;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Location.java b/modules/core/src/main/java/org/locationtech/jts/geom/Location.java
new file mode 100644
index 0000000..6bc37f5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Location.java
@@ -0,0 +1,71 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Constants representing the different topological locations
+ * which can occur in a {@link Geometry}.
+ * The constants are also used as the row and column indices
+ * of DE-9IM {@link IntersectionMatrix}es.
+ *
+ *@version 1.7
+ */
+public class Location {
+ /**
+ * The location value for the interior of a geometry.
+ * Also, DE-9IM row index of the interior of the first geometry and column index of
+ * the interior of the second geometry.
+ */
+ public final static int INTERIOR = 0;
+ /**
+ * The location value for the boundary of a geometry.
+ * Also, DE-9IM row index of the boundary of the first geometry and column index of
+ * the boundary of the second geometry.
+ */
+ public final static int BOUNDARY = 1;
+ /**
+ * The location value for the exterior of a geometry.
+ * Also, DE-9IM row index of the exterior of the first geometry and column index of
+ * the exterior of the second geometry.
+ */
+ public final static int EXTERIOR = 2;
+
+ /**
+ * Used for uninitialized location values.
+ */
+ public final static int NONE = -1;
+
+ /**
+ * Converts the location value to a location symbol, for example, <code>EXTERIOR => 'e'</code>
+ * .
+ *
+ *@param locationValue either EXTERIOR, BOUNDARY, INTERIOR or NONE
+ *@return either 'e', 'b', 'i' or '-'
+ */
+ public static char toLocationSymbol(int locationValue) {
+ switch (locationValue) {
+ case EXTERIOR:
+ return 'e';
+ case BOUNDARY:
+ return 'b';
+ case INTERIOR:
+ return 'i';
+ case NONE:
+ return '-';
+ }
+ throw new IllegalArgumentException("Unknown location value: " + locationValue);
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/MultiLineString.java b/modules/core/src/main/java/org/locationtech/jts/geom/MultiLineString.java
new file mode 100644
index 0000000..8a93177
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/MultiLineString.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.operation.BoundaryOp;
+
+/**
+ * Models a collection of {@link LineString}s.
+ * <p>
+ * Any collection of LineStrings is a valid MultiLineString.
+ *
+ *@version 1.7
+ */
+public class MultiLineString
+ extends GeometryCollection
+ implements Lineal
+ {
+ private static final long serialVersionUID = 8166665132445433741L;
+ /**
+ * Constructs a <code>MultiLineString</code>.
+ *
+ *@param lineStrings the <code>LineString</code>s for this <code>MultiLineString</code>
+ * , or <code>null</code> or an empty array to create the empty geometry.
+ * Elements may be empty <code>LineString</code>s, but not <code>null</code>
+ * s.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>MultiLineString</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>MultiLineString</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public MultiLineString(LineString[] lineStrings, PrecisionModel precisionModel, int SRID) {
+ super(lineStrings, new GeometryFactory(precisionModel, SRID));
+ }
+
+
+
+ /**
+ * @param lineStrings
+ * the <code>LineString</code>s for this <code>MultiLineString</code>,
+ * or <code>null</code> or an empty array to create the empty
+ * geometry. Elements may be empty <code>LineString</code>s,
+ * but not <code>null</code>s.
+ */
+ public MultiLineString(LineString[] lineStrings, GeometryFactory factory) {
+ super(lineStrings, factory);
+ }
+
+ public int getDimension() {
+ return 1;
+ }
+
+ public int getBoundaryDimension() {
+ if (isClosed()) {
+ return Dimension.FALSE;
+ }
+ return 0;
+ }
+
+ public String getGeometryType() {
+ return "MultiLineString";
+ }
+
+ public boolean isClosed() {
+ if (isEmpty()) {
+ return false;
+ }
+ for (int i = 0; i < geometries.length; i++) {
+ if (!((LineString) geometries[i]).isClosed()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Gets the boundary of this geometry.
+ * The boundary of a lineal geometry is always a zero-dimensional geometry (which may be empty).
+ *
+ * @return the boundary geometry
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary()
+ {
+ return (new BoundaryOp(this)).getBoundary();
+ }
+
+ /**
+ * Creates a {@link MultiLineString} in the reverse
+ * order to this object.
+ * Both the order of the component LineStrings
+ * and the order of their coordinate sequences
+ * are reversed.
+ *
+ * @return a {@link MultiLineString} in the reverse order
+ */
+ public Geometry reverse()
+ {
+ int nLines = geometries.length;
+ LineString[] revLines = new LineString[nLines];
+ for (int i = 0; i < geometries.length; i++) {
+ revLines[nLines - 1 - i] = (LineString)geometries[i].reverse();
+ }
+ return getFactory().createMultiLineString(revLines);
+ }
+
+ public MultiLineString copy() {
+ LineString[] lineStrings = new LineString[this.geometries.length];
+ for (int i = 0; i < lineStrings.length; i++) {
+ lineStrings[i] = (LineString) this.geometries[i].copy();
+ }
+ return new MultiLineString(lineStrings, factory);
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ return super.equalsExact(other, tolerance);
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_MULTILINESTRING;
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/MultiPoint.java b/modules/core/src/main/java/org/locationtech/jts/geom/MultiPoint.java
new file mode 100644
index 0000000..fc5f0e5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/MultiPoint.java
@@ -0,0 +1,114 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Models a collection of {@link Point}s.
+ * <p>
+ * Any collection of Points is a valid MultiPoint.
+ *
+ *@version 1.7
+ */
+public class MultiPoint
+ extends GeometryCollection
+ implements Puntal
+{
+
+ private static final long serialVersionUID = -8048474874175355449L;
+
+ /**
+ * Constructs a <code>MultiPoint</code>.
+ *
+ *@param points the <code>Point</code>s for this <code>MultiPoint</code>
+ * , or <code>null</code> or an empty array to create the empty geometry.
+ * Elements may be empty <code>Point</code>s, but not <code>null</code>s.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>MultiPoint</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>MultiPoint</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public MultiPoint(Point[] points, PrecisionModel precisionModel, int SRID) {
+ super(points, new GeometryFactory(precisionModel, SRID));
+ }
+
+ /**
+ *@param points the <code>Point</code>s for this <code>MultiPoint</code>
+ * , or <code>null</code> or an empty array to create the empty geometry.
+ * Elements may be empty <code>Point</code>s, but not <code>null</code>s.
+ */
+ public MultiPoint(Point[] points, GeometryFactory factory) {
+ super(points, factory);
+ }
+
+ public int getDimension() {
+ return 0;
+ }
+
+ public int getBoundaryDimension() {
+ return Dimension.FALSE;
+ }
+
+ public String getGeometryType() {
+ return "MultiPoint";
+ }
+
+ /**
+ * Gets the boundary of this geometry.
+ * Zero-dimensional geometries have no boundary by definition,
+ * so an empty GeometryCollection is returned.
+ *
+ * @return an empty GeometryCollection
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary() {
+ return getFactory().createGeometryCollection();
+ }
+
+ public boolean isValid() {
+ return true;
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ return super.equalsExact(other, tolerance);
+ }
+
+ /**
+ * Returns the <code>Coordinate</code> at the given position.
+ *
+ *@param n the index of the <code>Coordinate</code> to retrieve, beginning
+ * at 0
+ *@return the <code>n</code>th <code>Coordinate</code>
+ */
+ protected Coordinate getCoordinate(int n) {
+ return ((Point) geometries[n]).getCoordinate();
+ }
+
+ public MultiPoint copy() {
+ Point[] points = new Point[this.geometries.length];
+ for (int i = 0; i < points.length; i++) {
+ points[i] = (Point) this.geometries[i].copy();
+ }
+ return new MultiPoint(points, factory);
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_MULTIPOINT;
+ }
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/MultiPolygon.java b/modules/core/src/main/java/org/locationtech/jts/geom/MultiPolygon.java
new file mode 100644
index 0000000..e96231c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/MultiPolygon.java
@@ -0,0 +1,146 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.ArrayList;
+
+/**
+ * Models a collection of {@link Polygon}s.
+ * <p>
+ * As per the OGC SFS specification,
+ * the Polygons in a MultiPolygon may not overlap,
+ * and may only touch at single points.
+ * This allows the topological point-set semantics
+ * to be well-defined.
+ *
+ *
+ *@version 1.7
+ */
+public class MultiPolygon
+ extends GeometryCollection
+ implements Polygonal
+{
+ private static final long serialVersionUID = -551033529766975875L;
+ /**
+ * Constructs a <code>MultiPolygon</code>.
+ *
+ *@param polygons the <code>Polygon</code>s for this <code>MultiPolygon</code>
+ * , or <code>null</code> or an empty array to create the empty geometry.
+ * Elements may be empty <code>Polygon</code>s, but not <code>null</code>
+ * s. The polygons must conform to the assertions specified in the <A
+ * HREF="http://www.opengis.org/techno/specs.htm">OpenGIS Simple Features
+ * Specification for SQL</A> .
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>MultiPolygon</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>MultiPolygon</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public MultiPolygon(Polygon[] polygons, PrecisionModel precisionModel, int SRID) {
+ this(polygons, new GeometryFactory(precisionModel, SRID));
+ }
+
+
+ /**
+ * @param polygons
+ * the <code>Polygon</code>s for this <code>MultiPolygon</code>,
+ * or <code>null</code> or an empty array to create the empty
+ * geometry. Elements may be empty <code>Polygon</code>s, but
+ * not <code>null</code>s. The polygons must conform to the
+ * assertions specified in the <A
+ * HREF="http://www.opengis.org/techno/specs.htm">OpenGIS Simple
+ * Features Specification for SQL</A>.
+ */
+ public MultiPolygon(Polygon[] polygons, GeometryFactory factory) {
+ super(polygons, factory);
+ }
+
+ public int getDimension() {
+ return 2;
+ }
+
+ public int getBoundaryDimension() {
+ return 1;
+ }
+
+ public String getGeometryType() {
+ return "MultiPolygon";
+ }
+
+ /*
+ public boolean isSimple() {
+ return true;
+ }
+*/
+
+ /**
+ * Computes the boundary of this geometry
+ *
+ * @return a lineal geometry (which may be empty)
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary() {
+ if (isEmpty()) {
+ return getFactory().createMultiLineString();
+ }
+ ArrayList allRings = new ArrayList();
+ for (int i = 0; i < geometries.length; i++) {
+ Polygon polygon = (Polygon) geometries[i];
+ Geometry rings = polygon.getBoundary();
+ for (int j = 0; j < rings.getNumGeometries(); j++) {
+ allRings.add(rings.getGeometryN(j));
+ }
+ }
+ LineString[] allRingsArray = new LineString[allRings.size()];
+ return getFactory().createMultiLineString((LineString[]) allRings.toArray(allRingsArray));
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ return super.equalsExact(other, tolerance);
+ }
+
+ /**
+ * Creates a {@link MultiPolygon} with
+ * every component reversed.
+ * The order of the components in the collection are not reversed.
+ *
+ * @return a MultiPolygon in the reverse order
+ */
+ public Geometry reverse()
+ {
+ int n = geometries.length;
+ Polygon[] revGeoms = new Polygon[n];
+ for (int i = 0; i < geometries.length; i++) {
+ revGeoms[i] = (Polygon) geometries[i].reverse();
+ }
+ return getFactory().createMultiPolygon(revGeoms);
+ }
+
+ public MultiPolygon copy() {
+ Polygon[] polygons = new Polygon[this.geometries.length];
+ for (int i = 0; i < polygons.length; i++) {
+ polygons[i] = (Polygon) this.geometries[i].copy();
+ }
+ return new MultiPolygon(polygons, factory);
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_MULTIPOLYGON;
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/OctagonalEnvelope.java b/modules/core/src/main/java/org/locationtech/jts/geom/OctagonalEnvelope.java
new file mode 100644
index 0000000..5c4ce9d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/OctagonalEnvelope.java
@@ -0,0 +1,362 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * A bounding container for a {@link Geometry} which is in the shape of a general octagon.
+ * The OctagonalEnvelope of a geometric object
+ * is a geometry which is a tight bound
+ * along the (up to) four extremal rectilinear parallels
+ * and along the (up to) four extremal diagonal parallels.
+ * Depending on the shape of the contained
+ * geometry, the octagon may be degenerate to any extreme
+ * (e.g. it may be a rectangle, a line, or a point).
+ */
+public class OctagonalEnvelope
+{
+ /**
+ * Gets the octagonal envelope of a geometry
+ * @param geom the geometry
+ * @return the octagonal envelope of the geometry
+ */
+ public static Geometry octagonalEnvelope(Geometry geom) {
+ return (new OctagonalEnvelope(geom)).toGeometry(geom.getFactory());
+ }
+
+ private static double computeA(double x, double y)
+ {
+ return x + y;
+ }
+
+ private static double computeB(double x, double y)
+ {
+ return x - y;
+ }
+
+ private static double SQRT2 = Math.sqrt(2.0);
+
+ // initialize in the null state
+ private double minX = Double.NaN;
+ private double maxX;
+ private double minY;
+ private double maxY;
+ private double minA;
+ private double maxA;
+ private double minB;
+ private double maxB;
+
+ /**
+ * Creates a new null bounding octagon
+ */
+ public OctagonalEnvelope()
+ {
+ }
+
+ /**
+ * Creates a new null bounding octagon bounding a {@link Coordinate}
+ *
+ * @param p the coordinate to bound
+ */
+ public OctagonalEnvelope(Coordinate p)
+ {
+ expandToInclude(p);
+ }
+
+ /**
+ * Creates a new null bounding octagon bounding a pair of {@link Coordinate}s
+ *
+ * @param p0 a coordinate to bound
+ * @param p1 a coordinate to bound
+ */
+ public OctagonalEnvelope(Coordinate p0, Coordinate p1)
+ {
+ expandToInclude(p0);
+ expandToInclude(p1);
+ }
+
+ /**
+ * Creates a new null bounding octagon bounding an {@link Envelope}
+ */
+ public OctagonalEnvelope(Envelope env)
+ {
+ expandToInclude(env);
+ }
+
+ /**
+ * Creates a new null bounding octagon bounding an {@link OctagonalEnvelope}
+ * (the copy constructor).
+ */
+ public OctagonalEnvelope(OctagonalEnvelope oct)
+ {
+ expandToInclude(oct);
+ }
+
+ /**
+ * Creates a new null bounding octagon bounding a {@link Geometry}
+ */
+ public OctagonalEnvelope(Geometry geom)
+ {
+ expandToInclude(geom);
+ }
+
+
+ public double getMinX() { return minX; }
+ public double getMaxX() { return maxX; }
+ public double getMinY() { return minY; }
+ public double getMaxY() { return maxY; }
+ public double getMinA() { return minA; }
+ public double getMaxA() { return maxA; }
+ public double getMinB() { return minB; }
+ public double getMaxB() { return maxB; }
+
+ public boolean isNull() { return Double.isNaN(minX); }
+
+ /**
+ * Sets the value of this object to the null value
+ */
+ public void setToNull() {
+ minX = Double.NaN;
+ }
+
+ public void expandToInclude(Geometry g)
+ {
+ g.apply(new BoundingOctagonComponentFilter(this));
+ }
+
+ public OctagonalEnvelope expandToInclude(CoordinateSequence seq)
+ {
+ for (int i = 0; i < seq.size(); i++) {
+ double x = seq.getX(i);
+ double y = seq.getY(i);
+ expandToInclude(x, y);
+ }
+ return this;
+ }
+
+ public OctagonalEnvelope expandToInclude(OctagonalEnvelope oct)
+ {
+ if (oct.isNull()) return this;
+
+ if (isNull()) {
+ minX = oct.minX;
+ maxX = oct.maxX;
+ minY = oct.minY;
+ maxY = oct.maxY;
+ minA = oct.minA;
+ maxA = oct.maxA;
+ minB = oct.minB;
+ maxB = oct.maxB;
+ return this;
+ }
+ if (oct.minX < minX) minX = oct.minX;
+ if (oct.maxX > maxX) maxX = oct.maxX;
+ if (oct.minY < minY) minY = oct.minY;
+ if (oct.maxY > maxY) maxY = oct.maxY;
+ if (oct.minA < minA) minA = oct.minA;
+ if (oct.maxA > maxA) maxA = oct.maxA;
+ if (oct.minB < minB) minB = oct.minB;
+ if (oct.maxB > maxB) maxB = oct.maxB;
+ return this;
+ }
+
+ public OctagonalEnvelope expandToInclude(Coordinate p)
+ {
+ expandToInclude(p.x, p.y);
+ return this;
+ }
+
+ public OctagonalEnvelope expandToInclude(Envelope env)
+ {
+ expandToInclude(env.getMinX(), env.getMinY());
+ expandToInclude(env.getMinX(), env.getMaxY());
+ expandToInclude(env.getMaxX(), env.getMinY());
+ expandToInclude(env.getMaxX(), env.getMaxY());
+ return this;
+ }
+
+ public OctagonalEnvelope expandToInclude(double x, double y)
+ {
+ double A = computeA(x, y);
+ double B = computeB(x, y);
+
+ if (isNull()) {
+ minX = x;
+ maxX = x;
+ minY = y;
+ maxY = y;
+ minA = A;
+ maxA = A;
+ minB = B;
+ maxB = B;
+ }
+ else {
+ if (x < minX) minX = x;
+ if (x > maxX) maxX = x;
+ if (y < minY) minY = y;
+ if (y > maxY) maxY = y;
+ if (A < minA) minA = A;
+ if (A > maxA) maxA = A;
+ if (B < minB) minB = B;
+ if (B > maxB) maxB = B;
+ }
+ return this;
+ }
+
+ public void expandBy(double distance)
+ {
+ if (isNull()) return;
+
+ double diagonalDistance = SQRT2 * distance;
+
+ minX -= distance;
+ maxX += distance;
+ minY -= distance;
+ maxY += distance;
+ minA -= diagonalDistance;
+ maxA += diagonalDistance;
+ minB -= diagonalDistance;
+ maxB += diagonalDistance;
+
+ if (! isValid())
+ setToNull();
+ }
+
+ /**
+ * Tests if the extremal values for this octagon are valid.
+ *
+ * @return <code>true</code> if this object has valid values
+ */
+ private boolean isValid()
+ {
+ if (isNull()) return true;
+ return minX <= maxX
+ && minY <= maxY
+ && minA <= maxA
+ && minB <= maxB;
+ }
+
+ public boolean intersects(OctagonalEnvelope other)
+ {
+ if (isNull() || other.isNull()) { return false; }
+
+ if (minX > other.maxX) return false;
+ if (maxX < other.minX) return false;
+ if (minY > other.maxY) return false;
+ if (maxY < other.minY) return false;
+ if (minA > other.maxA) return false;
+ if (maxA < other.minA) return false;
+ if (minB > other.maxB) return false;
+ if (maxB < other.minB) return false;
+ return true;
+ }
+
+ public boolean intersects(Coordinate p)
+ {
+ if (minX > p.x) return false;
+ if (maxX < p.x) return false;
+ if (minY > p.y) return false;
+ if (maxY < p.y) return false;
+
+ double A = computeA(p.x, p.y);
+ double B = computeB(p.x, p.y);
+ if (minA > A) return false;
+ if (maxA < A) return false;
+ if (minB > B) return false;
+ if (maxB < B) return false;
+ return true;
+ }
+
+ public boolean contains(OctagonalEnvelope other)
+ {
+ if (isNull() || other.isNull()) { return false; }
+
+ return other.minX >= minX
+ && other.maxX <= maxX
+ && other.minY >= minY
+ && other.maxY <= maxY
+ && other.minA >= minA
+ && other.maxA <= maxA
+ && other.minB >= minB
+ && other.maxB <= maxB;
+ }
+
+ public Geometry toGeometry(GeometryFactory geomFactory)
+ {
+ if (isNull()) {
+ return geomFactory.createPoint();
+ }
+
+ Coordinate px00 = new Coordinate(minX, minA - minX);
+ Coordinate px01 = new Coordinate(minX, minX - minB);
+
+ Coordinate px10 = new Coordinate(maxX, maxX - maxB);
+ Coordinate px11 = new Coordinate(maxX, maxA - maxX);
+
+ Coordinate py00 = new Coordinate(minA - minY, minY);
+ Coordinate py01 = new Coordinate(minY + maxB, minY);
+
+ Coordinate py10 = new Coordinate(maxY + minB, maxY);
+ Coordinate py11 = new Coordinate(maxA - maxY, maxY);
+
+ PrecisionModel pm = geomFactory.getPrecisionModel();
+ pm.makePrecise(px00);
+ pm.makePrecise(px01);
+ pm.makePrecise(px10);
+ pm.makePrecise(px11);
+ pm.makePrecise(py00);
+ pm.makePrecise(py01);
+ pm.makePrecise(py10);
+ pm.makePrecise(py11);
+
+ CoordinateList coordList = new CoordinateList();
+ coordList.add(px00, false);
+ coordList.add(px01, false);
+ coordList.add(py10, false);
+ coordList.add(py11, false);
+ coordList.add(px11, false);
+ coordList.add(px10, false);
+ coordList.add(py01, false);
+ coordList.add(py00, false);
+
+ if (coordList.size() == 1) {
+ return geomFactory.createPoint(px00);
+ }
+ if (coordList.size() == 2) {
+ Coordinate[] pts = coordList.toCoordinateArray();
+ return geomFactory.createLineString(pts);
+ }
+ // must be a polygon, so add closing point
+ coordList.add(px00, false);
+ Coordinate[] pts = coordList.toCoordinateArray();
+ return geomFactory.createPolygon(geomFactory.createLinearRing(pts));
+ }
+
+ private static class BoundingOctagonComponentFilter
+ implements GeometryComponentFilter
+ {
+ OctagonalEnvelope oe;
+
+ BoundingOctagonComponentFilter(OctagonalEnvelope oe) {
+ this.oe = oe;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof LineString) {
+ oe.expandToInclude( ((LineString) geom).getCoordinateSequence());
+ }
+ else if (geom instanceof Point) {
+ oe.expandToInclude( ((Point) geom).getCoordinateSequence());
+ }
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Point.java b/modules/core/src/main/java/org/locationtech/jts/geom/Point.java
new file mode 100644
index 0000000..c910e1e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Point.java
@@ -0,0 +1,228 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Represents a single point.
+ *
+ * A <code>Point</code> is topologically valid if and only if:
+ * <ul>
+ * <li>the coordinate which defines it (if any) is a valid coordinate
+ * (i.e. does not have an <code>NaN</code> X or Y ordinate)
+ * </ul>
+ *
+ *@version 1.7
+ */
+public class Point
+ extends Geometry
+ implements Puntal
+{
+ private static final long serialVersionUID = 4902022702746614570L;
+ /**
+ * The <code>Coordinate</code> wrapped by this <code>Point</code>.
+ */
+ private CoordinateSequence coordinates;
+
+ /**
+ * Constructs a <code>Point</code> with the given coordinate.
+ *
+ *@param coordinate the coordinate on which to base this <code>Point</code>
+ * , or <code>null</code> to create the empty geometry.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>Point</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>Point</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public Point(Coordinate coordinate, PrecisionModel precisionModel, int SRID) {
+ super(new GeometryFactory(precisionModel, SRID));
+ init(getFactory().getCoordinateSequenceFactory().create(
+ coordinate != null ? new Coordinate[]{coordinate} : new Coordinate[]{}));
+ }
+
+ /**
+ *@param coordinates contains the single coordinate on which to base this <code>Point</code>
+ * , or <code>null</code> to create the empty geometry.
+ */
+ public Point(CoordinateSequence coordinates, GeometryFactory factory) {
+ super(factory);
+ init(coordinates);
+ }
+
+ private void init(CoordinateSequence coordinates)
+ {
+ if (coordinates == null) {
+ coordinates = getFactory().getCoordinateSequenceFactory().create(new Coordinate[]{});
+ }
+ Assert.isTrue(coordinates.size() <= 1);
+ this.coordinates = coordinates;
+ }
+
+ public Coordinate[] getCoordinates() {
+ return isEmpty() ? new Coordinate[]{} : new Coordinate[]{
+ getCoordinate()
+ };
+ }
+
+ public int getNumPoints() {
+ return isEmpty() ? 0 : 1;
+ }
+
+ public boolean isEmpty() {
+ return coordinates.size() == 0;
+ }
+
+ public boolean isSimple() {
+ return true;
+ }
+
+ public int getDimension() {
+ return 0;
+ }
+
+ public int getBoundaryDimension() {
+ return Dimension.FALSE;
+ }
+
+ public double getX() {
+ if (getCoordinate() == null) {
+ throw new IllegalStateException("getX called on empty Point");
+ }
+ return getCoordinate().x;
+ }
+
+ public double getY() {
+ if (getCoordinate() == null) {
+ throw new IllegalStateException("getY called on empty Point");
+ }
+ return getCoordinate().y;
+ }
+
+ public Coordinate getCoordinate() {
+ return coordinates.size() != 0 ? coordinates.getCoordinate(0): null;
+ }
+
+ public String getGeometryType() {
+ return "Point";
+ }
+
+ /**
+ * Gets the boundary of this geometry.
+ * Zero-dimensional geometries have no boundary by definition,
+ * so an empty GeometryCollection is returned.
+ *
+ * @return an empty GeometryCollection
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary() {
+ return getFactory().createGeometryCollection();
+ }
+
+ protected Envelope computeEnvelopeInternal() {
+ if (isEmpty()) {
+ return new Envelope();
+ }
+ Envelope env = new Envelope();
+ env.expandToInclude(coordinates.getX(0), coordinates.getY(0));
+ return env;
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ if (isEmpty() && other.isEmpty()) {
+ return true;
+ }
+ if (isEmpty() != other.isEmpty()) {
+ return false;
+ }
+ return equal(((Point) other).getCoordinate(), this.getCoordinate(), tolerance);
+ }
+
+ public void apply(CoordinateFilter filter) {
+ if (isEmpty()) { return; }
+ filter.filter(getCoordinate());
+ }
+
+ public void apply(CoordinateSequenceFilter filter)
+ {
+ if (isEmpty())
+ return;
+ filter.filter(coordinates, 0);
+ if (filter.isGeometryChanged())
+ geometryChanged();
+ }
+
+ public void apply(GeometryFilter filter) {
+ filter.filter(this);
+ }
+
+ public void apply(GeometryComponentFilter filter) {
+ filter.filter(this);
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link Point} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a clone of this instance
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link Point} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a copy of this instance
+ */
+ public Point copy() {
+ return new Point(coordinates.copy(), factory);
+ }
+
+ public Geometry reverse()
+ {
+ return copy();
+ }
+
+ public void normalize()
+ {
+ // a Point is always in normalized form
+ }
+
+ protected int compareToSameClass(Object other) {
+ Point point = (Point) other;
+ return getCoordinate().compareTo(point.getCoordinate());
+ }
+
+ protected int compareToSameClass(Object other, CoordinateSequenceComparator comp)
+ {
+ Point point = (Point) other;
+ return comp.compare(this.coordinates, point.coordinates);
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_POINT;
+ }
+
+ public CoordinateSequence getCoordinateSequence() {
+ return coordinates;
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Polygon.java b/modules/core/src/main/java/org/locationtech/jts/geom/Polygon.java
new file mode 100644
index 0000000..add9665
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Polygon.java
@@ -0,0 +1,446 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.Arrays;
+
+import org.locationtech.jts.algorithm.Area;
+import org.locationtech.jts.algorithm.Orientation;
+
+
+/**
+ * Represents a polygon with linear edges, which may include holes.
+ * The outer boundary (shell)
+ * and inner boundaries (holes) of the polygon are represented by {@link LinearRing}s.
+ * The boundary rings of the polygon may have any orientation.
+ * Polygons are closed, simple geometries by definition.
+ * <p>
+ * The polygon model conforms to the assertions specified in the
+ * <A HREF="http://www.opengis.org/techno/specs.htm">OpenGIS Simple Features
+ * Specification for SQL</A>.
+ * <p>
+ * A <code>Polygon</code> is topologically valid if and only if:
+ * <ul>
+ * <li>the coordinates which define it are valid coordinates
+ * <li>the linear rings for the shell and holes are valid
+ * (i.e. are closed and do not self-intersect)
+ * <li>holes touch the shell or another hole at at most one point
+ * (which implies that the rings of the shell and holes must not cross)
+ * <li>the interior of the polygon is connected,
+ * or equivalently no sequence of touching holes
+ * makes the interior of the polygon disconnected
+ * (i.e. effectively split the polygon into two pieces).
+ * </ul>
+ *
+ *@version 1.7
+ */
+public class Polygon
+ extends Geometry
+ implements Polygonal
+{
+ private static final long serialVersionUID = -3494792200821764533L;
+
+ /**
+ * The exterior boundary,
+ * or <code>null</code> if this <code>Polygon</code>
+ * is empty.
+ */
+ protected LinearRing shell = null;
+
+ /**
+ * The interior boundaries, if any.
+ * This instance var is never null.
+ * If there are no holes, the array is of zero length.
+ */
+ protected LinearRing[] holes;
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary.
+ *
+ *@param shell the outer boundary of the new <code>Polygon</code>,
+ * or <code>null</code> or an empty <code>LinearRing</code> if the empty
+ * geometry is to be created.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>Polygon</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>Polygon</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public Polygon(LinearRing shell, PrecisionModel precisionModel, int SRID) {
+ this(shell, new LinearRing[]{}, new GeometryFactory(precisionModel, SRID));
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary and
+ * interior boundaries.
+ *
+ *@param shell the outer boundary of the new <code>Polygon</code>,
+ * or <code>null</code> or an empty <code>LinearRing</code> if the empty
+ * geometry is to be created.
+ *@param holes the inner boundaries of the new <code>Polygon</code>
+ * , or <code>null</code> or empty <code>LinearRing</code>s if the empty
+ * geometry is to be created.
+ *@param precisionModel the specification of the grid of allowable points
+ * for this <code>Polygon</code>
+ *@param SRID the ID of the Spatial Reference System used by this
+ * <code>Polygon</code>
+ * @deprecated Use GeometryFactory instead
+ */
+ public Polygon(LinearRing shell, LinearRing[] holes, PrecisionModel precisionModel, int SRID) {
+ this(shell, holes, new GeometryFactory(precisionModel, SRID));
+ }
+
+ /**
+ * Constructs a <code>Polygon</code> with the given exterior boundary and
+ * interior boundaries.
+ *
+ *@param shell the outer boundary of the new <code>Polygon</code>,
+ * or <code>null</code> or an empty <code>LinearRing</code> if the empty
+ * geometry is to be created.
+ *@param holes the inner boundaries of the new <code>Polygon</code>
+ * , or <code>null</code> or empty <code>LinearRing</code>s if the empty
+ * geometry is to be created.
+ */
+ public Polygon(LinearRing shell, LinearRing[] holes, GeometryFactory factory) {
+ super(factory);
+ if (shell == null) {
+ shell = getFactory().createLinearRing();
+ }
+ if (holes == null) {
+ holes = new LinearRing[]{};
+ }
+ if (hasNullElements(holes)) {
+ throw new IllegalArgumentException("holes must not contain null elements");
+ }
+ if (shell.isEmpty() && hasNonEmptyElements(holes)) {
+ throw new IllegalArgumentException("shell is empty but holes are not");
+ }
+ this.shell = shell;
+ this.holes = holes;
+ }
+
+ public Coordinate getCoordinate() {
+ return shell.getCoordinate();
+ }
+
+ public Coordinate[] getCoordinates() {
+ if (isEmpty()) {
+ return new Coordinate[]{};
+ }
+ Coordinate[] coordinates = new Coordinate[getNumPoints()];
+ int k = -1;
+ Coordinate[] shellCoordinates = shell.getCoordinates();
+ for (int x = 0; x < shellCoordinates.length; x++) {
+ k++;
+ coordinates[k] = shellCoordinates[x];
+ }
+ for (int i = 0; i < holes.length; i++) {
+ Coordinate[] childCoordinates = holes[i].getCoordinates();
+ for (int j = 0; j < childCoordinates.length; j++) {
+ k++;
+ coordinates[k] = childCoordinates[j];
+ }
+ }
+ return coordinates;
+ }
+
+ public int getNumPoints() {
+ int numPoints = shell.getNumPoints();
+ for (int i = 0; i < holes.length; i++) {
+ numPoints += holes[i].getNumPoints();
+ }
+ return numPoints;
+ }
+
+ public int getDimension() {
+ return 2;
+ }
+
+ public int getBoundaryDimension() {
+ return 1;
+ }
+
+ public boolean isEmpty() {
+ return shell.isEmpty();
+ }
+
+ /**
+ * Tests if a valid polygon is simple.
+ * This method always returns true, since a valid polygon is always simple
+ *
+ * @return <code>true</code>
+ */
+ /*
+ public boolean isSimple() {
+ return true;
+ }
+*/
+
+ public boolean isRectangle()
+ {
+ if (getNumInteriorRing() != 0) return false;
+ if (shell == null) return false;
+ if (shell.getNumPoints() != 5) return false;
+
+ CoordinateSequence seq = shell.getCoordinateSequence();
+
+ // check vertices have correct values
+ Envelope env = getEnvelopeInternal();
+ for (int i = 0; i < 5; i++) {
+ double x = seq.getX(i);
+ if (! (x == env.getMinX() || x == env.getMaxX())) return false;
+ double y = seq.getY(i);
+ if (! (y == env.getMinY() || y == env.getMaxY())) return false;
+ }
+
+ // check vertices are in right order
+ double prevX = seq.getX(0);
+ double prevY = seq.getY(0);
+ for (int i = 1; i <= 4; i++) {
+ double x = seq.getX(i);
+ double y = seq.getY(i);
+ boolean xChanged = x != prevX;
+ boolean yChanged = y != prevY;
+ if (xChanged == yChanged)
+ return false;
+ prevX = x;
+ prevY = y;
+ }
+ return true;
+ }
+
+ public LineString getExteriorRing() {
+ return shell;
+ }
+
+ public int getNumInteriorRing() {
+ return holes.length;
+ }
+
+ public LineString getInteriorRingN(int n) {
+ return holes[n];
+ }
+
+ public String getGeometryType() {
+ return "Polygon";
+ }
+
+ /**
+ * Returns the area of this <code>Polygon</code>
+ *
+ *@return the area of the polygon
+ */
+ public double getArea()
+ {
+ double area = 0.0;
+ area += Area.ofRing(shell.getCoordinateSequence());
+ for (int i = 0; i < holes.length; i++) {
+ area -= Area.ofRing(holes[i].getCoordinateSequence());
+ }
+ return area;
+ }
+
+ /**
+ * Returns the perimeter of this <code>Polygon</code>
+ *
+ *@return the perimeter of the polygon
+ */
+ public double getLength()
+ {
+ double len = 0.0;
+ len += shell.getLength();
+ for (int i = 0; i < holes.length; i++) {
+ len += holes[i].getLength();
+ }
+ return len;
+ }
+
+ /**
+ * Computes the boundary of this geometry
+ *
+ * @return a lineal geometry (which may be empty)
+ * @see Geometry#getBoundary
+ */
+ public Geometry getBoundary() {
+ if (isEmpty()) {
+ return getFactory().createMultiLineString();
+ }
+ LinearRing[] rings = new LinearRing[holes.length + 1];
+ rings[0] = shell;
+ for (int i = 0; i < holes.length; i++) {
+ rings[i + 1] = holes[i];
+ }
+ // create LineString or MultiLineString as appropriate
+ if (rings.length <= 1)
+ return getFactory().createLinearRing(rings[0].getCoordinateSequence());
+ return getFactory().createMultiLineString(rings);
+ }
+
+ protected Envelope computeEnvelopeInternal() {
+ return shell.getEnvelopeInternal();
+ }
+
+ public boolean equalsExact(Geometry other, double tolerance) {
+ if (!isEquivalentClass(other)) {
+ return false;
+ }
+ Polygon otherPolygon = (Polygon) other;
+ Geometry thisShell = shell;
+ Geometry otherPolygonShell = otherPolygon.shell;
+ if (!thisShell.equalsExact(otherPolygonShell, tolerance)) {
+ return false;
+ }
+ if (holes.length != otherPolygon.holes.length) {
+ return false;
+ }
+ for (int i = 0; i < holes.length; i++) {
+ if (!((Geometry) holes[i]).equalsExact(otherPolygon.holes[i], tolerance)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public void apply(CoordinateFilter filter) {
+ shell.apply(filter);
+ for (int i = 0; i < holes.length; i++) {
+ holes[i].apply(filter);
+ }
+ }
+
+ public void apply(CoordinateSequenceFilter filter)
+ {
+ shell.apply(filter);
+ if (! filter.isDone()) {
+ for (int i = 0; i < holes.length; i++) {
+ holes[i].apply(filter);
+ if (filter.isDone())
+ break;
+ }
+ }
+ if (filter.isGeometryChanged())
+ geometryChanged();
+ }
+
+ public void apply(GeometryFilter filter) {
+ filter.filter(this);
+ }
+
+ public void apply(GeometryComponentFilter filter) {
+ filter.filter(this);
+ shell.apply(filter);
+ for (int i = 0; i < holes.length; i++) {
+ holes[i].apply(filter);
+ }
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link Polygon} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a clone of this instance
+ * @deprecated
+ */
+ public Object clone() {
+
+ return copy();
+ }
+
+ /**
+ * Creates and returns a full copy of this {@link Polygon} object.
+ * (including all coordinates contained by it).
+ *
+ * @return a copy of this instance
+ */
+ public Polygon copy() {
+ LinearRing shellCopy = shell.copy();
+ LinearRing[] holeCopies = new LinearRing[this.holes.length];
+ for (int i = 0; i < holes.length; i++) {
+ holeCopies[i] = holes[i].copy();
+ }
+ return new Polygon(shellCopy, holeCopies, factory);
+ }
+
+ public Geometry convexHull() {
+ return getExteriorRing().convexHull();
+ }
+
+ public void normalize() {
+ normalize(shell, true);
+ for (int i = 0; i < holes.length; i++) {
+ normalize(holes[i], false);
+ }
+ Arrays.sort(holes);
+ }
+
+ protected int compareToSameClass(Object o) {
+ LinearRing thisShell = shell;
+ LinearRing otherShell = ((Polygon) o).shell;
+ return thisShell.compareToSameClass(otherShell);
+ }
+
+ protected int compareToSameClass(Object o, CoordinateSequenceComparator comp) {
+ Polygon poly = (Polygon) o;
+
+ LinearRing thisShell = shell;
+ LinearRing otherShell = poly.shell;
+ int shellComp = thisShell.compareToSameClass(otherShell, comp);
+ if (shellComp != 0) return shellComp;
+
+ int nHole1 = getNumInteriorRing();
+ int nHole2 = poly.getNumInteriorRing();
+ int i = 0;
+ while (i < nHole1 && i < nHole2) {
+ LinearRing thisHole = (LinearRing) getInteriorRingN(i);
+ LinearRing otherHole = (LinearRing) poly.getInteriorRingN(i);
+ int holeComp = thisHole.compareToSameClass(otherHole, comp);
+ if (holeComp != 0) return holeComp;
+ i++;
+ }
+ if (i < nHole1) return 1;
+ if (i < nHole2) return -1;
+ return 0;
+ }
+
+ protected int getSortIndex() {
+ return Geometry.SORTINDEX_POLYGON;
+ }
+
+ private void normalize(LinearRing ring, boolean clockwise) {
+ if (ring.isEmpty()) {
+ return;
+ }
+ Coordinate[] uniqueCoordinates = new Coordinate[ring.getCoordinates().length - 1];
+ System.arraycopy(ring.getCoordinates(), 0, uniqueCoordinates, 0, uniqueCoordinates.length);
+ Coordinate minCoordinate = CoordinateArrays.minCoordinate(ring.getCoordinates());
+ CoordinateArrays.scroll(uniqueCoordinates, minCoordinate);
+ System.arraycopy(uniqueCoordinates, 0, ring.getCoordinates(), 0, uniqueCoordinates.length);
+ ring.getCoordinates()[uniqueCoordinates.length] = uniqueCoordinates[0];
+ if (Orientation.isCCW(ring.getCoordinates()) == clockwise) {
+ CoordinateArrays.reverse(ring.getCoordinates());
+ }
+ }
+
+ public Geometry reverse()
+ {
+ Polygon poly = copy();
+ poly.shell = (LinearRing) shell.copy().reverse();
+ poly.holes = new LinearRing[holes.length];
+ for (int i = 0; i < holes.length; i++) {
+ poly.holes[i] = (LinearRing) holes[i].copy().reverse();
+ }
+ return poly;// return the clone
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Polygonal.java b/modules/core/src/main/java/org/locationtech/jts/geom/Polygonal.java
new file mode 100644
index 0000000..1abee48
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Polygonal.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+/**
+ * Identifies {@link Geometry} subclasses which
+ * are 2-dimensional
+ * and have components which have {@link Lineal} boundaries.
+ *
+ * @author Martin Davis
+ *
+ */
+public interface Polygonal
+{
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/PrecisionModel.java b/modules/core/src/main/java/org/locationtech/jts/geom/PrecisionModel.java
new file mode 100644
index 0000000..cd73a7e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/PrecisionModel.java
@@ -0,0 +1,469 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * Specifies the precision model of the {@link Coordinate}s in a {@link Geometry}.
+ * In other words, specifies the grid of allowable
+ * points for all <code>Geometry</code>s.
+ * <p>
+ * The {@link #makePrecise(Coordinate)} method allows rounding a coordinate to
+ * a "precise" value; that is, one whose
+ * precision is known exactly.
+ *<p>
+ * Coordinates are assumed to be precise in geometries.
+ * That is, the coordinates are assumed to be rounded to the
+ * precision model given for the geometry.
+ * JTS input routines automatically round coordinates to the precision model
+ * before creating Geometries.
+ * All internal operations
+ * assume that coordinates are rounded to the precision model.
+ * Constructive methods (such as boolean operations) always round computed
+ * coordinates to the appropriate precision model.
+ * <p>
+ * Currently three types of precision model are supported:
+ * <ul>
+ * <li>FLOATING - represents full double precision floating point.
+ * This is the default precision model used in JTS
+ * <li>FLOATING_SINGLE - represents single precision floating point.
+ * <li>FIXED - represents a model with a fixed number of decimal places.
+ * A Fixed Precision Model is specified by a scale factor.
+ * The scale factor specifies the size of the grid which numbers are rounded to.
+ * Input coordinates are mapped to fixed coordinates according to the following
+ * equations:
+ * <UL>
+ * <LI> jtsPt.x = round( (inputPt.x * scale ) / scale
+ * <LI> jtsPt.y = round( (inputPt.y * scale ) / scale
+ * </UL>
+ * </ul>
+ * For example, to specify 3 decimal places of precision, use a scale factor
+ * of 1000. To specify -3 decimal places of precision (i.e. rounding to
+ * the nearest 1000), use a scale factor of 0.001.
+ * <p>
+ * Coordinates are represented internally as Java double-precision values.
+ * Since Java uses the IEEE-394 floating point standard, this
+ * provides 53 bits of precision. (Thus the maximum precisely representable
+ * <i>integer</i> is 9,007,199,254,740,992 - or almost 16 decimal digits of precision).
+ * <p>
+ * JTS binary methods currently do not handle inputs which have different precision models.
+ * The precision model of any constructed geometric value is undefined.
+ *
+ *@version 1.7
+ */
+public class PrecisionModel implements Serializable, Comparable
+{
+ /**
+ * Determines which of two {@link PrecisionModel}s is the most precise
+ * (allows the greatest number of significant digits).
+ *
+ * @param pm1 a PrecisionModel
+ * @param pm2 a PrecisionModel
+ * @return the PrecisionModel which is most precise
+ */
+ public static PrecisionModel mostPrecise(PrecisionModel pm1, PrecisionModel pm2)
+ {
+ if (pm1.compareTo(pm2) >= 0)
+ return pm1;
+ return pm2;
+ }
+
+ private static final long serialVersionUID = 7777263578777803835L;
+
+ /**
+ * The types of Precision Model which JTS supports.
+ */
+ public static class Type
+ implements Serializable
+ {
+ private static final long serialVersionUID = -5528602631731589822L;
+ private static Map nameToTypeMap = new HashMap();
+ public Type(String name) {
+ this.name = name;
+ nameToTypeMap.put(name, this);
+ }
+ private String name;
+ public String toString() { return name; }
+
+
+ /*
+ * Ssee http://www.javaworld.com/javaworld/javatips/jw-javatip122.html
+ */
+ private Object readResolve() {
+ return nameToTypeMap.get(name);
+ }
+ }
+
+ /**
+ * Fixed Precision indicates that coordinates have a fixed number of decimal places.
+ * The number of decimal places is determined by the log10 of the scale factor.
+ */
+ public static final Type FIXED = new Type("FIXED");
+ /**
+ * Floating precision corresponds to the standard Java
+ * double-precision floating-point representation, which is
+ * based on the IEEE-754 standard
+ */
+ public static final Type FLOATING = new Type("FLOATING");
+ /**
+ * Floating single precision corresponds to the standard Java
+ * single-precision floating-point representation, which is
+ * based on the IEEE-754 standard
+ */
+ public static final Type FLOATING_SINGLE = new Type("FLOATING SINGLE");
+
+
+ /**
+ * The maximum precise value representable in a double. Since IEE754
+ * double-precision numbers allow 53 bits of mantissa, the value is equal to
+ * 2^53 - 1. This provides <i>almost</i> 16 decimal digits of precision.
+ */
+ public final static double maximumPreciseValue = 9007199254740992.0;
+
+ /**
+ * The type of PrecisionModel this represents.
+ */
+ private Type modelType;
+ /**
+ * The scale factor which determines the number of decimal places in fixed precision.
+ */
+ private double scale;
+
+ /**
+ * Creates a <code>PrecisionModel</code> with a default precision
+ * of FLOATING.
+ */
+ public PrecisionModel() {
+ // default is floating precision
+ modelType = FLOATING;
+ }
+
+ /**
+ * Creates a <code>PrecisionModel</code> that specifies
+ * an explicit precision model type.
+ * If the model type is FIXED the scale factor will default to 1.
+ *
+ * @param modelType the type of the precision model
+ */
+ public PrecisionModel(Type modelType)
+ {
+ this.modelType = modelType;
+ if (modelType == FIXED)
+ {
+ setScale(1.0);
+ }
+ }
+ /**
+ * Creates a <code>PrecisionModel</code> that specifies Fixed precision.
+ * Fixed-precision coordinates are represented as precise internal coordinates,
+ * which are rounded to the grid defined by the scale factor.
+ *
+ *@param scale amount by which to multiply a coordinate after subtracting
+ * the offset, to obtain a precise coordinate
+ *@param offsetX not used.
+ *@param offsetY not used.
+ *
+ * @deprecated offsets are no longer supported, since internal representation is rounded floating point
+ */
+ public PrecisionModel(double scale, double offsetX, double offsetY) {
+ modelType = FIXED;
+ setScale(scale);
+ }
+ /**
+ * Creates a <code>PrecisionModel</code> that specifies Fixed precision.
+ * Fixed-precision coordinates are represented as precise internal coordinates,
+ * which are rounded to the grid defined by the scale factor.
+ *
+ *@param scale amount by which to multiply a coordinate after subtracting
+ * the offset, to obtain a precise coordinate
+ */
+ public PrecisionModel(double scale) {
+ modelType = FIXED;
+ setScale(scale);
+ }
+ /**
+ * Copy constructor to create a new <code>PrecisionModel</code>
+ * from an existing one.
+ */
+ public PrecisionModel(PrecisionModel pm) {
+ modelType = pm.modelType;
+ scale = pm.scale;
+ }
+
+
+ /**
+ * Tests whether the precision model supports floating point
+ * @return <code>true</code> if the precision model supports floating point
+ */
+ public boolean isFloating()
+ {
+ return modelType == FLOATING || modelType == FLOATING_SINGLE;
+ }
+
+ /**
+ * Returns the maximum number of significant digits provided by this
+ * precision model.
+ * Intended for use by routines which need to print out
+ * decimal representations of precise values (such as {@link WKTWriter}).
+ * <p>
+ * This method would be more correctly called
+ * <tt>getMinimumDecimalPlaces</tt>,
+ * since it actually computes the number of decimal places
+ * that is required to correctly display the full
+ * precision of an ordinate value.
+ * <p>
+ * Since it is difficult to compute the required number of
+ * decimal places for scale factors which are not powers of 10,
+ * the algorithm uses a very rough approximation in this case.
+ * This has the side effect that for scale factors which are
+ * powers of 10 the value returned is 1 greater than the true value.
+ *
+ *
+ * @return the maximum number of decimal places provided by this precision model
+ */
+ public int getMaximumSignificantDigits() {
+ int maxSigDigits = 16;
+ if (modelType == FLOATING) {
+ maxSigDigits = 16;
+ } else if (modelType == FLOATING_SINGLE) {
+ maxSigDigits = 6;
+ } else if (modelType == FIXED) {
+ maxSigDigits = 1 + (int) Math.ceil(Math.log(getScale()) / Math.log(10));
+ }
+ return maxSigDigits;
+ }
+
+ /**
+ * Returns the scale factor used to specify a fixed precision model.
+ * The number of decimal places of precision is
+ * equal to the base-10 logarithm of the scale factor.
+ * Non-integral and negative scale factors are supported.
+ * Negative scale factors indicate that the places
+ * of precision is to the left of the decimal point.
+ *
+ *@return the scale factor for the fixed precision model
+ */
+ public double getScale() {
+ return scale;
+ }
+
+ /**
+ * Gets the type of this precision model
+ * @return the type of this precision model
+ * @see Type
+ */
+ public Type getType()
+ {
+ return modelType;
+ }
+ /**
+ * Sets the multiplying factor used to obtain a precise coordinate.
+ * This method is private because PrecisionModel is an immutable (value) type.
+ */
+ private void setScale(double scale)
+ {
+ this.scale = Math.abs(scale);
+ }
+
+ /**
+ * Returns the x-offset used to obtain a precise coordinate.
+ *
+ * @return the amount by which to subtract the x-coordinate before
+ * multiplying by the scale
+ * @deprecated Offsets are no longer used
+ */
+ public double getOffsetX() {
+ //We actually don't use offsetX and offsetY anymore ... [Jon Aquino]
+ return 0;
+ }
+
+
+
+ /**
+ * Returns the y-offset used to obtain a precise coordinate.
+ *
+ * @return the amount by which to subtract the y-coordinate before
+ * multiplying by the scale
+ * @deprecated Offsets are no longer used
+ */
+ public double getOffsetY() {
+ return 0;
+ }
+
+ /**
+ * Sets <code>internal</code> to the precise representation of <code>external</code>.
+ *
+ * @param external the original coordinate
+ * @param internal the coordinate whose values will be changed to the
+ * precise representation of <code>external</code>
+ * @deprecated use makePrecise instead
+ */
+ public void toInternal (Coordinate external, Coordinate internal) {
+ if (isFloating()) {
+ internal.x = external.x;
+ internal.y = external.y;
+ }
+ else {
+ internal.x = makePrecise(external.x);
+ internal.y = makePrecise(external.y);
+ }
+ internal.z = external.z;
+ }
+
+ /**
+ * Returns the precise representation of <code>external</code>.
+ *
+ *@param external the original coordinate
+ *@return the coordinate whose values will be changed to the precise
+ * representation of <code>external</code>
+ * @deprecated use makePrecise instead
+ */
+ public Coordinate toInternal(Coordinate external) {
+ Coordinate internal = new Coordinate(external);
+ makePrecise(internal);
+ return internal;
+ }
+
+ /**
+ * Returns the external representation of <code>internal</code>.
+ *
+ *@param internal the original coordinate
+ *@return the coordinate whose values will be changed to the
+ * external representation of <code>internal</code>
+ * @deprecated no longer needed, since internal representation is same as external representation
+ */
+ public Coordinate toExternal(Coordinate internal) {
+ Coordinate external = new Coordinate(internal);
+ return external;
+ }
+
+ /**
+ * Sets <code>external</code> to the external representation of <code>internal</code>.
+ *
+ *@param internal the original coordinate
+ *@param external the coordinate whose values will be changed to the
+ * external representation of <code>internal</code>
+ * @deprecated no longer needed, since internal representation is same as external representation
+ */
+ public void toExternal(Coordinate internal, Coordinate external) {
+ external.x = internal.x;
+ external.y = internal.y;
+ }
+
+ /**
+ * Rounds a numeric value to the PrecisionModel grid.
+ * Asymmetric Arithmetic Rounding is used, to provide
+ * uniform rounding behaviour no matter where the number is
+ * on the number line.
+ * <p>
+ * This method has no effect on NaN values.
+ * <p>
+ * <b>Note:</b> Java's <code>Math#rint</code> uses the "Banker's Rounding" algorithm,
+ * which is not suitable for precision operations elsewhere in JTS.
+ */
+ public double makePrecise(double val)
+ {
+ // don't change NaN values
+ if (Double.isNaN(val)) return val;
+
+ if (modelType == FLOATING_SINGLE) {
+ float floatSingleVal = (float) val;
+ return (double) floatSingleVal;
+ }
+ if (modelType == FIXED) {
+ return Math.round(val * scale) / scale;
+// return Math.rint(val * scale) / scale;
+ }
+ // modelType == FLOATING - no rounding necessary
+ return val;
+ }
+
+ /**
+ * Rounds a Coordinate to the PrecisionModel grid.
+ */
+ public void makePrecise(Coordinate coord)
+ {
+ // optimization for full precision
+ if (modelType == FLOATING) return;
+
+ coord.x = makePrecise(coord.x);
+ coord.y = makePrecise(coord.y);
+ //MD says it's OK that we're not makePrecise'ing the z [Jon Aquino]
+ }
+
+
+ public String toString() {
+ String description = "UNKNOWN";
+ if (modelType == FLOATING) {
+ description = "Floating";
+ } else if (modelType == FLOATING_SINGLE) {
+ description = "Floating-Single";
+ } else if (modelType == FIXED) {
+ description = "Fixed (Scale=" + getScale() + ")";
+ }
+ return description;
+ }
+
+ public boolean equals(Object other) {
+ if (! (other instanceof PrecisionModel)) {
+ return false;
+ }
+ PrecisionModel otherPrecisionModel = (PrecisionModel) other;
+ return modelType == otherPrecisionModel.modelType
+ && scale == otherPrecisionModel.scale;
+ }
+ /**
+ * Compares this {@link PrecisionModel} object with the specified object for order.
+ * A PrecisionModel is greater than another if it provides greater precision.
+ * The comparison is based on the value returned by the
+ * {@link #getMaximumSignificantDigits} method.
+ * This comparison is not strictly accurate when comparing floating precision models
+ * to fixed models; however, it is correct when both models are either floating or fixed.
+ *
+ *@param o the <code>PrecisionModel</code> with which this <code>PrecisionModel</code>
+ * is being compared
+ *@return a negative integer, zero, or a positive integer as this <code>PrecisionModel</code>
+ * is less than, equal to, or greater than the specified <code>PrecisionModel</code>
+ */
+ public int compareTo(Object o) {
+ PrecisionModel other = (PrecisionModel) o;
+
+ int sigDigits = getMaximumSignificantDigits();
+ int otherSigDigits = other.getMaximumSignificantDigits();
+ return (new Integer(sigDigits)).compareTo(new Integer(otherSigDigits));
+// if (sigDigits > otherSigDigits)
+// return 1;
+// else if
+// if (modelType == FLOATING && other.modelType == FLOATING) return 0;
+// if (modelType == FLOATING && other.modelType != FLOATING) return 1;
+// if (modelType != FLOATING && other.modelType == FLOATING) return -1;
+// if (modelType == FIXED && other.modelType == FIXED) {
+// if (scale > other.scale)
+// return 1;
+// else if (scale < other.scale)
+// return -1;
+// else
+// return 0;
+// }
+// Assert.shouldNeverReachHere("Unknown Precision Model type encountered");
+// return 0;
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Puntal.java b/modules/core/src/main/java/org/locationtech/jts/geom/Puntal.java
new file mode 100644
index 0000000..13ee22b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Puntal.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+/**
+ * Identifies {@link Geometry} subclasses which
+ * are 0-dimensional and with components which are {@link Point}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public interface Puntal {
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/TopologyException.java b/modules/core/src/main/java/org/locationtech/jts/geom/TopologyException.java
new file mode 100644
index 0000000..6a986ba
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/TopologyException.java
@@ -0,0 +1,47 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+/**
+ * Indicates an invalid or inconsistent topological situation encountered during processing
+ *
+ * @version 1.7
+ */
+public class TopologyException
+ extends RuntimeException
+{
+ private static String msgWithCoord(String msg, Coordinate pt)
+ {
+ if (pt != null)
+ return msg + " [ " + pt + " ]";
+ return msg;
+ }
+
+ private Coordinate pt = null;
+
+ public TopologyException(String msg)
+ {
+ super(msg);
+ }
+
+ public TopologyException(String msg, Coordinate pt)
+ {
+ super(msgWithCoord(msg, pt));
+ this.pt = new Coordinate(pt);
+ }
+
+ public Coordinate getCoordinate() { return pt; }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/Triangle.java b/modules/core/src/main/java/org/locationtech/jts/geom/Triangle.java
new file mode 100644
index 0000000..edd4deb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/Triangle.java
@@ -0,0 +1,559 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.algorithm.Angle;
+import org.locationtech.jts.algorithm.HCoordinate;
+import org.locationtech.jts.algorithm.Orientation;
+
+/**
+ * Represents a planar triangle, and provides methods for calculating various
+ * properties of triangles.
+ *
+ * @version 1.7
+ */
+public class Triangle
+{
+
+ /**
+ * Tests whether a triangle is acute. A triangle is acute iff all interior
+ * angles are acute. This is a strict test - right triangles will return
+ * <tt>false</tt> A triangle which is not acute is either right or obtuse.
+ * <p>
+ * Note: this implementation is not robust for angles very close to 90
+ * degrees.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return true if the triangle is acute
+ */
+ public static boolean isAcute(Coordinate a, Coordinate b, Coordinate c)
+ {
+ if (!Angle.isAcute(a, b, c))
+ return false;
+ if (!Angle.isAcute(b, c, a))
+ return false;
+ if (!Angle.isAcute(c, a, b))
+ return false;
+ return true;
+ }
+
+ /**
+ * Computes the line which is the perpendicular bisector of the line segment
+ * a-b.
+ *
+ * @param a
+ * a point
+ * @param b
+ * another point
+ * @return the perpendicular bisector, as an HCoordinate
+ */
+ public static HCoordinate perpendicularBisector(Coordinate a, Coordinate b)
+ {
+ // returns the perpendicular bisector of the line segment ab
+ double dx = b.x - a.x;
+ double dy = b.y - a.y;
+ HCoordinate l1 = new HCoordinate(a.x + dx / 2.0, a.y + dy / 2.0, 1.0);
+ HCoordinate l2 = new HCoordinate(a.x - dy + dx / 2.0, a.y + dx + dy / 2.0,
+ 1.0);
+ return new HCoordinate(l1, l2);
+ }
+
+ /**
+ * Computes the circumcentre of a triangle. The circumcentre is the centre of
+ * the circumcircle, the smallest circle which encloses the triangle. It is
+ * also the common intersection point of the perpendicular bisectors of the
+ * sides of the triangle, and is the only point which has equal distance to
+ * all three vertices of the triangle.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the circumcentre of the triangle
+ */
+ /*
+ * // original non-robust algorithm public static Coordinate
+ * circumcentre(Coordinate a, Coordinate b, Coordinate c) { // compute the
+ * perpendicular bisector of chord ab HCoordinate cab =
+ * perpendicularBisector(a, b); // compute the perpendicular bisector of chord
+ * bc HCoordinate cbc = perpendicularBisector(b, c); // compute the
+ * intersection of the bisectors (circle radii) HCoordinate hcc = new
+ * HCoordinate(cab, cbc); Coordinate cc = null; try { cc = new
+ * Coordinate(hcc.getX(), hcc.getY()); } catch (NotRepresentableException ex)
+ * { // MD - not sure what we can do to prevent this (robustness problem) //
+ * Idea - can we condition which edges we choose? throw new
+ * IllegalStateException(ex.getMessage()); }
+ *
+ * //System.out.println("Acc = " + a.distance(cc) + ", Bcc = " +
+ * b.distance(cc) + ", Ccc = " + c.distance(cc) );
+ *
+ * return cc; }
+ */
+
+ /**
+ * Computes the circumcentre of a triangle. The circumcentre is the centre of
+ * the circumcircle, the smallest circle which encloses the triangle. It is
+ * also the common intersection point of the perpendicular bisectors of the
+ * sides of the triangle, and is the only point which has equal distance to
+ * all three vertices of the triangle.
+ * <p>
+ * The circumcentre does not necessarily lie within the triangle. For example,
+ * the circumcentre of an obtuse isosceles triangle lies outside the triangle.
+ * <p>
+ * This method uses an algorithm due to J.R.Shewchuk which uses normalization
+ * to the origin to improve the accuracy of computation. (See <i>Lecture Notes
+ * on Geometric Robustness</i>, Jonathan Richard Shewchuk, 1999).
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the circumcentre of the triangle
+ */
+ public static Coordinate circumcentre(Coordinate a, Coordinate b, Coordinate c)
+ {
+ double cx = c.x;
+ double cy = c.y;
+ double ax = a.x - cx;
+ double ay = a.y - cy;
+ double bx = b.x - cx;
+ double by = b.y - cy;
+
+ double denom = 2 * det(ax, ay, bx, by);
+ double numx = det(ay, ax * ax + ay * ay, by, bx * bx + by * by);
+ double numy = det(ax, ax * ax + ay * ay, bx, bx * bx + by * by);
+
+ double ccx = cx - numx / denom;
+ double ccy = cy + numy / denom;
+
+ return new Coordinate(ccx, ccy);
+ }
+
+ /**
+ * Computes the determinant of a 2x2 matrix. Uses standard double-precision
+ * arithmetic, so is susceptible to round-off error.
+ *
+ * @param m00
+ * the [0,0] entry of the matrix
+ * @param m01
+ * the [0,1] entry of the matrix
+ * @param m10
+ * the [1,0] entry of the matrix
+ * @param m11
+ * the [1,1] entry of the matrix
+ * @return the determinant
+ */
+ private static double det(double m00, double m01, double m10, double m11)
+ {
+ return m00 * m11 - m01 * m10;
+ }
+
+ /**
+ * Computes the incentre of a triangle. The <i>inCentre</i> of a triangle is
+ * the point which is equidistant from the sides of the triangle. It is also
+ * the point at which the bisectors of the triangle's angles meet. It is the
+ * centre of the triangle's <i>incircle</i>, which is the unique circle that
+ * is tangent to each of the triangle's three sides.
+ * <p>
+ * The incentre always lies within the triangle.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the point which is the incentre of the triangle
+ */
+ public static Coordinate inCentre(Coordinate a, Coordinate b, Coordinate c)
+ {
+ // the lengths of the sides, labelled by their opposite vertex
+ double len0 = b.distance(c);
+ double len1 = a.distance(c);
+ double len2 = a.distance(b);
+ double circum = len0 + len1 + len2;
+
+ double inCentreX = (len0 * a.x + len1 * b.x + len2 * c.x) / circum;
+ double inCentreY = (len0 * a.y + len1 * b.y + len2 * c.y) / circum;
+ return new Coordinate(inCentreX, inCentreY);
+ }
+
+ /**
+ * Computes the centroid (centre of mass) of a triangle. This is also the
+ * point at which the triangle's three medians intersect (a triangle median is
+ * the segment from a vertex of the triangle to the midpoint of the opposite
+ * side). The centroid divides each median in a ratio of 2:1.
+ * <p>
+ * The centroid always lies within the triangle.
+ *
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the centroid of the triangle
+ */
+ public static Coordinate centroid(Coordinate a, Coordinate b, Coordinate c)
+ {
+ double x = (a.x + b.x + c.x) / 3;
+ double y = (a.y + b.y + c.y) / 3;
+ return new Coordinate(x, y);
+ }
+
+ /**
+ * Computes the length of the longest side of a triangle
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the length of the longest side of the triangle
+ */
+ public static double longestSideLength(Coordinate a, Coordinate b,
+ Coordinate c)
+ {
+ double lenAB = a.distance(b);
+ double lenBC = b.distance(c);
+ double lenCA = c.distance(a);
+ double maxLen = lenAB;
+ if (lenBC > maxLen)
+ maxLen = lenBC;
+ if (lenCA > maxLen)
+ maxLen = lenCA;
+ return maxLen;
+ }
+
+ /**
+ * Computes the point at which the bisector of the angle ABC cuts the segment
+ * AC.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the angle bisector cut point
+ */
+ public static Coordinate angleBisector(Coordinate a, Coordinate b,
+ Coordinate c)
+ {
+ /**
+ * Uses the fact that the lengths of the parts of the split segment are
+ * proportional to the lengths of the adjacent triangle sides
+ */
+ double len0 = b.distance(a);
+ double len2 = b.distance(c);
+ double frac = len0 / (len0 + len2);
+ double dx = c.x - a.x;
+ double dy = c.y - a.y;
+
+ Coordinate splitPt = new Coordinate(a.x + frac * dx, a.y + frac * dy);
+ return splitPt;
+ }
+
+ /**
+ * Computes the 2D area of a triangle. The area value is always non-negative.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the area of the triangle
+ *
+ * @see #signedArea(Coordinate, Coordinate, Coordinate)
+ */
+ public static double area(Coordinate a, Coordinate b, Coordinate c)
+ {
+ return Math
+ .abs(((c.x - a.x) * (b.y - a.y) - (b.x - a.x) * (c.y - a.y)) / 2);
+ }
+
+ /**
+ * Computes the signed 2D area of a triangle. The area value is positive if
+ * the triangle is oriented CW, and negative if it is oriented CCW.
+ * <p>
+ * The signed area value can be used to determine point orientation, but the
+ * implementation in this method is susceptible to round-off errors. Use
+ * {@link Orientation#index(Coordinate, Coordinate, Coordinate)}
+ * for robust orientation calculation.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the signed 2D area of the triangle
+ *
+ * @see Orientation#index(Coordinate, Coordinate, Coordinate)
+ */
+ public static double signedArea(Coordinate a, Coordinate b, Coordinate c)
+ {
+ /**
+ * Uses the formula 1/2 * | u x v | where u,v are the side vectors of the
+ * triangle x is the vector cross-product For 2D vectors, this formula
+ * simplifies to the expression below
+ */
+ return ((c.x - a.x) * (b.y - a.y) - (b.x - a.x) * (c.y - a.y)) / 2;
+ }
+
+ /**
+ * Computes the 3D area of a triangle. The value computed is always
+ * non-negative.
+ *
+ * @param a
+ * a vertex of the triangle
+ * @param b
+ * a vertex of the triangle
+ * @param c
+ * a vertex of the triangle
+ * @return the 3D area of the triangle
+ */
+ public static double area3D(Coordinate a, Coordinate b, Coordinate c)
+ {
+ /**
+ * Uses the formula 1/2 * | u x v | where u,v are the side vectors of the
+ * triangle x is the vector cross-product
+ */
+ // side vectors u and v
+ double ux = b.x - a.x;
+ double uy = b.y - a.y;
+ double uz = b.z - a.z;
+
+ double vx = c.x - a.x;
+ double vy = c.y - a.y;
+ double vz = c.z - a.z;
+
+ // cross-product = u x v
+ double crossx = uy * vz - uz * vy;
+ double crossy = uz * vx - ux * vz;
+ double crossz = ux * vy - uy * vx;
+
+ // tri area = 1/2 * | u x v |
+ double absSq = crossx * crossx + crossy * crossy + crossz * crossz;
+ double area3D = Math.sqrt(absSq) / 2;
+
+ return area3D;
+ }
+
+ /**
+ * Computes the Z-value (elevation) of an XY point on a three-dimensional
+ * plane defined by a triangle whose vertices have Z-values. The defining
+ * triangle must not be degenerate (in other words, the triangle must enclose
+ * a non-zero area), and must not be parallel to the Z-axis.
+ * <p>
+ * This method can be used to interpolate the Z-value of a point inside a
+ * triangle (for example, of a TIN facet with elevations on the vertices).
+ *
+ * @param p
+ * the point to compute the Z-value of
+ * @param v0
+ * a vertex of a triangle, with a Z ordinate
+ * @param v1
+ * a vertex of a triangle, with a Z ordinate
+ * @param v2
+ * a vertex of a triangle, with a Z ordinate
+ * @return the computed Z-value (elevation) of the point
+ */
+ public static double interpolateZ(Coordinate p, Coordinate v0, Coordinate v1,
+ Coordinate v2)
+ {
+ double x0 = v0.x;
+ double y0 = v0.y;
+ double a = v1.x - x0;
+ double b = v2.x - x0;
+ double c = v1.y - y0;
+ double d = v2.y - y0;
+ double det = a * d - b * c;
+ double dx = p.x - x0;
+ double dy = p.y - y0;
+ double t = (d * dx - b * dy) / det;
+ double u = (-c * dx + a * dy) / det;
+ double z = v0.z + t * (v1.z - v0.z) + u * (v2.z - v0.z);
+ return z;
+ }
+
+ /**
+ * The coordinates of the vertices of the triangle
+ */
+ public Coordinate p0, p1, p2;
+
+ /**
+ * Creates a new triangle with the given vertices.
+ *
+ * @param p0
+ * a vertex
+ * @param p1
+ * a vertex
+ * @param p2
+ * a vertex
+ */
+ public Triangle(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ this.p0 = p0;
+ this.p1 = p1;
+ this.p2 = p2;
+ }
+
+ /**
+ * Computes the incentre of this triangle. The <i>incentre</i> of a triangle
+ * is the point which is equidistant from the sides of the triangle. It is
+ * also the point at which the bisectors of the triangle's angles meet. It is
+ * the centre of the triangle's <i>incircle</i>, which is the unique circle
+ * that is tangent to each of the triangle's three sides.
+ *
+ * @return the point which is the inCentre of this triangle
+ */
+ public Coordinate inCentre()
+ {
+ return inCentre(p0, p1, p2);
+ }
+
+ /**
+ * Tests whether this triangle is acute. A triangle is acute iff all interior
+ * angles are acute. This is a strict test - right triangles will return
+ * <tt>false</tt> A triangle which is not acute is either right or obtuse.
+ * <p>
+ * Note: this implementation is not robust for angles very close to 90
+ * degrees.
+ *
+ * @return true if this triangle is acute
+ */
+ public boolean isAcute()
+ {
+ return isAcute(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the circumcentre of this triangle. The circumcentre is the centre
+ * of the circumcircle, the smallest circle which encloses the triangle. It is
+ * also the common intersection point of the perpendicular bisectors of the
+ * sides of the triangle, and is the only point which has equal distance to
+ * all three vertices of the triangle.
+ * <p>
+ * The circumcentre does not necessarily lie within the triangle.
+ * <p>
+ * This method uses an algorithm due to J.R.Shewchuk which uses normalization
+ * to the origin to improve the accuracy of computation. (See <i>Lecture Notes
+ * on Geometric Robustness</i>, Jonathan Richard Shewchuk, 1999).
+ *
+ * @return the circumcentre of this triangle
+ */
+ public Coordinate circumcentre()
+ {
+ return circumcentre(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the centroid (centre of mass) of this triangle. This is also the
+ * point at which the triangle's three medians intersect (a triangle median is
+ * the segment from a vertex of the triangle to the midpoint of the opposite
+ * side). The centroid divides each median in a ratio of 2:1.
+ * <p>
+ * The centroid always lies within the triangle.
+ *
+ * @return the centroid of this triangle
+ */
+ public Coordinate centroid()
+ {
+ return centroid(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the length of the longest side of this triangle
+ *
+ * @return the length of the longest side of this triangle
+ */
+ public double longestSideLength()
+ {
+ return longestSideLength(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the 2D area of this triangle. The area value is always
+ * non-negative.
+ *
+ * @return the area of this triangle
+ *
+ * @see #signedArea()
+ */
+ public double area()
+ {
+ return area(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the signed 2D area of this triangle. The area value is positive if
+ * the triangle is oriented CW, and negative if it is oriented CCW.
+ * <p>
+ * The signed area value can be used to determine point orientation, but the
+ * implementation in this method is susceptible to round-off errors. Use
+ * {@link Orientation#index(Coordinate, Coordinate, Coordinate)}
+ * for robust orientation calculation.
+ *
+ * @return the signed 2D area of this triangle
+ *
+ * @see Orientation#index(Coordinate, Coordinate, Coordinate)
+ */
+ public double signedArea()
+ {
+ return signedArea(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the 3D area of this triangle. The value computed is always
+ * non-negative.
+ *
+ * @return the 3D area of this triangle
+ */
+ public double area3D()
+ {
+ return area3D(this.p0, this.p1, this.p2);
+ }
+
+ /**
+ * Computes the Z-value (elevation) of an XY point on a three-dimensional
+ * plane defined by this triangle (whose vertices must have Z-values). This
+ * triangle must not be degenerate (in other words, the triangle must enclose
+ * a non-zero area), and must not be parallel to the Z-axis.
+ * <p>
+ * This method can be used to interpolate the Z-value of a point inside this
+ * triangle (for example, of a TIN facet with elevations on the vertices).
+ *
+ * @param p
+ * the point to compute the Z-value of
+ * @return the computed Z-value (elevation) of the point
+ */
+ public double interpolateZ(Coordinate p)
+ {
+ if (p == null)
+ throw new IllegalArgumentException("Supplied point is null.");
+ return interpolateZ(p, this.p0, this.p1, this.p2);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequence.java b/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequence.java
new file mode 100644
index 0000000..83cf252
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequence.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.impl;
+
+import java.io.Serializable;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * A {@link CoordinateSequence} backed by an array of {@link Coordinate}s.
+ * This is the implementation that {@link Geometry}s use by default.
+ * Coordinates returned by #toArray and #getCoordinate are live --
+ * modifications to them are actually changing the
+ * CoordinateSequence's underlying data.
+ * A dimension may be specified for the coordinates in the sequence,
+ * which may be 2 or 3.
+ * The actual coordinates will always have 3 ordinates,
+ * but the dimension is useful as metadata in some situations.
+ *
+ * @version 1.7
+ */
+public class CoordinateArraySequence
+ implements CoordinateSequence, Serializable
+{
+ //With contributions from Markus Schaber [schabios at logi-track.com] 2004-03-26
+ private static final long serialVersionUID = -915438501601840650L;
+
+ /**
+ * The actual dimension of the coordinates in the sequence.
+ * Allowable values are 2 or 3.
+ */
+ private int dimension = 3;
+
+ private Coordinate[] coordinates;
+
+ /**
+ * Constructs a sequence based on the given array
+ * of {@link Coordinate}s (the
+ * array is not copied).
+ * The coordinate dimension defaults to 3.
+ *
+ * @param coordinates the coordinate array that will be referenced.
+ */
+ public CoordinateArraySequence(Coordinate[] coordinates) {
+ this(coordinates, 3);
+ }
+
+ /**
+ * Constructs a sequence based on the given array
+ * of {@link Coordinate}s (the
+ * array is not copied).
+ *
+ * @param coordinates the coordinate array that will be referenced.
+ * @param dimension the dimension of the coordinates
+ */
+ public CoordinateArraySequence(Coordinate[] coordinates, int dimension) {
+ this.coordinates = coordinates;
+ this.dimension = dimension;
+ if (coordinates == null)
+ this.coordinates = new Coordinate[0];
+ }
+
+ /**
+ * Constructs a sequence of a given size, populated
+ * with new {@link Coordinate}s.
+ *
+ * @param size the size of the sequence to create
+ */
+ public CoordinateArraySequence(int size) {
+ coordinates = new Coordinate[size];
+ for (int i = 0; i < size; i++) {
+ coordinates[i] = new Coordinate();
+ }
+ }
+
+ /**
+ * Constructs a sequence of a given size, populated
+ * with new {@link Coordinate}s.
+ *
+ * @param size the size of the sequence to create
+ * @param dimension the dimension of the coordinates
+ */
+ public CoordinateArraySequence(int size, int dimension) {
+ coordinates = new Coordinate[size];
+ this.dimension = dimension;
+ for (int i = 0; i < size; i++) {
+ coordinates[i] = new Coordinate();
+ }
+ }
+
+ /**
+ * Creates a new sequence based on a deep copy of the given {@link CoordinateSequence}.
+ * The coordinate dimension is set to equal the dimension of the input.
+ *
+ * @param coordSeq the coordinate sequence that will be copied.
+ */
+ public CoordinateArraySequence(CoordinateSequence coordSeq)
+ {
+ // NOTE: this will make a sequence of the default dimension
+ if (coordSeq == null) {
+ coordinates = new Coordinate[0];
+ return;
+ }
+ dimension = coordSeq.getDimension();
+ coordinates = new Coordinate[coordSeq.size()];
+
+ for (int i = 0; i < coordinates.length; i++) {
+ coordinates[i] = coordSeq.getCoordinateCopy(i);
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getDimension()
+ */
+ public int getDimension() { return dimension; }
+
+ /**
+ * Get the Coordinate with index i.
+ *
+ * @param i
+ * the index of the coordinate
+ * @return the requested Coordinate instance
+ */
+ public Coordinate getCoordinate(int i) {
+ return coordinates[i];
+ }
+
+ /**
+ * Get a copy of the Coordinate with index i.
+ *
+ * @param i the index of the coordinate
+ * @return a copy of the requested Coordinate
+ */
+ public Coordinate getCoordinateCopy(int i) {
+ return new Coordinate(coordinates[i]);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getX(int)
+ */
+ public void getCoordinate(int index, Coordinate coord) {
+ coord.x = coordinates[index].x;
+ coord.y = coordinates[index].y;
+ coord.z = coordinates[index].z;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getX(int)
+ */
+ public double getX(int index) {
+ return coordinates[index].x;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getY(int)
+ */
+ public double getY(int index) {
+ return coordinates[index].y;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getOrdinate(int, int)
+ */
+ public double getOrdinate(int index, int ordinateIndex)
+ {
+ switch (ordinateIndex) {
+ case CoordinateSequence.X: return coordinates[index].x;
+ case CoordinateSequence.Y: return coordinates[index].y;
+ case CoordinateSequence.Z: return coordinates[index].z;
+ }
+ return Double.NaN;
+ }
+
+ /**
+ * Creates a deep copy of the Object
+ *
+ * @return The deep copy
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+ /**
+ * Creates a deep copy of the CoordinateArraySequence
+ *
+ * @return The deep copy
+ */
+ public CoordinateArraySequence copy() {
+ Coordinate[] cloneCoordinates = new Coordinate[size()];
+ for (int i = 0; i < coordinates.length; i++) {
+ cloneCoordinates[i] = coordinates[i].copy();
+ }
+ return new CoordinateArraySequence(cloneCoordinates, dimension);
+ }
+ /**
+ * Returns the size of the coordinate sequence
+ *
+ * @return the number of coordinates
+ */
+ public int size() {
+ return coordinates.length;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#setOrdinate(int, int, double)
+ */
+ public void setOrdinate(int index, int ordinateIndex, double value)
+ {
+ switch (ordinateIndex) {
+ case CoordinateSequence.X:
+ coordinates[index].x = value;
+ break;
+ case CoordinateSequence.Y:
+ coordinates[index].y = value;
+ break;
+ case CoordinateSequence.Z:
+ coordinates[index].z = value;
+ break;
+ default:
+ throw new IllegalArgumentException("invalid ordinateIndex");
+ }
+ }
+
+ /**
+ * This method exposes the internal Array of Coordinate Objects
+ *
+ * @return the Coordinate[] array.
+ */
+ public Coordinate[] toCoordinateArray() {
+ return coordinates;
+ }
+
+ public Envelope expandEnvelope(Envelope env)
+ {
+ for (int i = 0; i < coordinates.length; i++ ) {
+ env.expandToInclude(coordinates[i]);
+ }
+ return env;
+ }
+
+ /**
+ * Returns the string Representation of the coordinate array
+ *
+ * @return The string
+ */
+ public String toString() {
+ if (coordinates.length > 0) {
+ StringBuilder strBuilder = new StringBuilder(17 * coordinates.length);
+ strBuilder.append('(');
+ strBuilder.append(coordinates[0]);
+ for (int i = 1; i < coordinates.length; i++) {
+ strBuilder.append(", ");
+ strBuilder.append(coordinates[i]);
+ }
+ strBuilder.append(')');
+ return strBuilder.toString();
+ } else {
+ return "()";
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceFactory.java
new file mode 100644
index 0000000..bf97600
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceFactory.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.impl;
+
+import java.io.Serializable;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+
+/**
+ * Creates {@link CoordinateSequence}s represented as an array of {@link Coordinate}s.
+ *
+ * @version 1.7
+ */
+public final class CoordinateArraySequenceFactory
+ implements CoordinateSequenceFactory, Serializable
+{
+ private static final long serialVersionUID = -4099577099607551657L;
+ private static final CoordinateArraySequenceFactory instanceObject = new CoordinateArraySequenceFactory();
+
+ private CoordinateArraySequenceFactory() {
+ }
+
+ private Object readResolve() {
+ // http://www.javaworld.com/javaworld/javatips/jw-javatip122.html
+ return CoordinateArraySequenceFactory.instance();
+ }
+
+ /**
+ * Returns the singleton instance of {@link CoordinateArraySequenceFactory}
+ */
+ public static CoordinateArraySequenceFactory instance() {
+ return instanceObject;
+ }
+
+ /**
+ * Returns a {@link CoordinateArraySequence} based on the given array (the array is
+ * not copied).
+ *
+ * @param coordinates
+ * the coordinates, which may not be null nor contain null
+ * elements
+ */
+ public CoordinateSequence create(Coordinate[] coordinates) {
+ return new CoordinateArraySequence(coordinates);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(org.locationtech.jts.geom.CoordinateSequence)
+ */
+ public CoordinateSequence create(CoordinateSequence coordSeq) {
+ return new CoordinateArraySequence(coordSeq);
+ }
+
+ /**
+ * The created sequence dimension is clamped to be <= 3.
+ *
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(int, int)
+ *
+ */
+ public CoordinateSequence create(int size, int dimension) {
+ if (dimension > 3)
+ dimension = 3;
+ //throw new IllegalArgumentException("dimension must be <= 3");
+ // handle bogus dimension
+ if (dimension < 2)
+ // TODO: change to dimension = 2 ???
+ return new CoordinateArraySequence(size);
+ return new CoordinateArraySequence(size, dimension);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequence.java b/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequence.java
new file mode 100644
index 0000000..1c425c3
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequence.java
@@ -0,0 +1,492 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.impl;
+
+
+import java.io.ObjectStreamException;
+import java.io.Serializable;
+import java.lang.ref.SoftReference;
+import java.util.Arrays;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequences;
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * A {@link CoordinateSequence} implementation based on a packed arrays.
+ * In this implementation, {@link Coordinate}s returned by #toArray and #get are copies
+ * of the internal values.
+ * To change the actual values, use the provided setters.
+ * <p>
+ * For efficiency, created Coordinate arrays
+ * are cached using a soft reference.
+ * The cache is cleared each time the coordinate sequence contents are
+ * modified through a setter method.
+ *
+ * @version 1.7
+ */
+public abstract class PackedCoordinateSequence
+ implements CoordinateSequence, Serializable
+{
+ private static final long serialVersionUID = -3151899011275603L;
+ /**
+ * The dimensions of the coordinates hold in the packed array
+ */
+ protected int dimension;
+
+ /**
+ * A soft reference to the Coordinate[] representation of this sequence.
+ * Makes repeated coordinate array accesses more efficient.
+ */
+ protected transient SoftReference coordRef;
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getDimension()
+ */
+ public int getDimension() {
+ return this.dimension;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getCoordinate(int)
+ */
+ public Coordinate getCoordinate(int i) {
+ Coordinate[] coords = getCachedCoords();
+ if(coords != null)
+ return coords[i];
+ else
+ return getCoordinateInternal(i);
+ }
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getCoordinate(int)
+ */
+ public Coordinate getCoordinateCopy(int i) {
+ return getCoordinateInternal(i);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getCoordinate(int)
+ */
+ public void getCoordinate(int i, Coordinate coord) {
+ coord.x = getOrdinate(i, 0);
+ coord.y = getOrdinate(i, 1);
+ if (dimension > 2) coord.z = getOrdinate(i, 2);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#toCoordinateArray()
+ */
+ public Coordinate[] toCoordinateArray() {
+ Coordinate[] coords = getCachedCoords();
+// testing - never cache
+ if (coords != null)
+ return coords;
+
+ coords = new Coordinate[size()];
+ for (int i = 0; i < coords.length; i++) {
+ coords[i] = getCoordinateInternal(i);
+ }
+ coordRef = new SoftReference(coords);
+
+ return coords;
+ }
+
+ /**
+ * @return
+ */
+ private Coordinate[] getCachedCoords() {
+ if (coordRef != null) {
+ Coordinate[] coords = (Coordinate[]) coordRef.get();
+ if (coords != null) {
+ return coords;
+ } else {
+ // System.out.print("-");
+ coordRef = null;
+ return null;
+ }
+ } else {
+ // System.out.print("-");
+ return null;
+ }
+
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getX(int)
+ */
+ public double getX(int index) {
+ return getOrdinate(index, 0);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getY(int)
+ */
+ public double getY(int index) {
+ return getOrdinate(index, 1);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getOrdinate(int, int)
+ */
+ public abstract double getOrdinate(int index, int ordinateIndex);
+
+ /**
+ * Sets the first ordinate of a coordinate in this sequence.
+ *
+ * @param index the coordinate index
+ * @param value the new ordinate value
+ */
+ public void setX(int index, double value) {
+ coordRef = null;
+ setOrdinate(index, 0, value);
+ }
+
+ /**
+ * Sets the second ordinate of a coordinate in this sequence.
+ *
+ * @param index the coordinate index
+ * @param value the new ordinate value
+ */
+ public void setY(int index, double value) {
+ coordRef = null;
+ setOrdinate(index, 1, value);
+ }
+
+ public String toString()
+ {
+ return CoordinateSequences.toString(this);
+ }
+
+ protected Object readResolve() throws ObjectStreamException {
+ coordRef = null;
+ return this;
+ }
+
+ /**
+ * Returns a Coordinate representation of the specified coordinate, by always
+ * building a new Coordinate object
+ *
+ * @param index
+ * @return
+ */
+ protected abstract Coordinate getCoordinateInternal(int index);
+
+ /**
+ * @see java.lang.Object#clone()
+ * @deprecated
+ */
+ public abstract Object clone();
+
+ public abstract PackedCoordinateSequence copy();
+
+ /**
+ * Sets the ordinate of a coordinate in this sequence.
+ * <br>
+ * Warning: for performance reasons the ordinate index is not checked
+ * - if it is over dimensions you may not get an exception but a meaningless value.
+ *
+ * @param index
+ * the coordinate index
+ * @param ordinate
+ * the ordinate index in the coordinate, 0 based, smaller than the
+ * number of dimensions
+ * @param value
+ * the new ordinate value
+ */
+ public abstract void setOrdinate(int index, int ordinate, double value);
+
+ /**
+ * Packed coordinate sequence implementation based on doubles
+ */
+ public static class Double extends PackedCoordinateSequence {
+
+ /**
+ * The packed coordinate array
+ */
+ double[] coords;
+
+ /**
+ * Builds a new packed coordinate sequence
+ *
+ * @param coords
+ * @param dimensions
+ */
+ public Double(double[] coords, int dimensions) {
+ if (dimensions < 2) {
+ throw new IllegalArgumentException("Must have at least 2 dimensions");
+ }
+ if (coords.length % dimensions != 0) {
+ throw new IllegalArgumentException("Packed array does not contain "
+ + "an integral number of coordinates");
+ }
+ this.dimension = dimensions;
+ this.coords = coords;
+ }
+
+ /**
+ * Builds a new packed coordinate sequence out of a float coordinate array
+ *
+ * @param coordinates
+ */
+ public Double(float[] coordinates, int dimensions) {
+ this.coords = new double[coordinates.length];
+ this.dimension = dimensions;
+ for (int i = 0; i < coordinates.length; i++) {
+ this.coords[i] = coordinates[i];
+ }
+ }
+
+ /**
+ * Builds a new packed coordinate sequence out of a coordinate array
+ *
+ * @param coordinates
+ */
+ public Double(Coordinate[] coordinates, int dimension) {
+ if (coordinates == null)
+ coordinates = new Coordinate[0];
+ this.dimension = dimension;
+
+ coords = new double[coordinates.length * this.dimension];
+ for (int i = 0; i < coordinates.length; i++) {
+ coords[i * this.dimension] = coordinates[i].x;
+ if (this.dimension >= 2)
+ coords[i * this.dimension + 1] = coordinates[i].y;
+ if (this.dimension >= 3)
+ coords[i * this.dimension + 2] = coordinates[i].z;
+ }
+ }
+ /**
+ * Builds a new packed coordinate sequence out of a coordinate array
+ *
+ * @param coordinates
+ */
+ public Double(Coordinate[] coordinates) {
+ this(coordinates, 3);
+ }
+
+ /**
+ * Builds a new empty packed coordinate sequence of a given size and dimension
+ */
+ public Double(int size, int dimension) {
+ this.dimension = dimension;
+ coords = new double[size * this.dimension];
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getCoordinate(int)
+ */
+ public Coordinate getCoordinateInternal(int i) {
+ double x = coords[i * dimension];
+ double y = coords[i * dimension + 1];
+ double z = dimension == 2 ? Coordinate.NULL_ORDINATE : coords[i * dimension + 2];
+ return new Coordinate(x, y, z);
+ }
+
+ /**
+ * Gets the underlying array containing the coordinate values.
+ *
+ * @return the array of coordinate values
+ */
+ public double[] getRawCoordinates()
+ {
+ return coords;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#size()
+ */
+ public int size() {
+ return coords.length / dimension;
+ }
+
+ /**
+ * @see java.lang.Object#clone()
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+
+ public Double copy() {
+ double[] clone = Arrays.copyOf(coords, coords.length);
+ return new Double(clone, dimension);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getOrdinate(int, int)
+ * Beware, for performance reasons the ordinate index is not checked, if
+ * it's over dimensions you may not get an exception but a meaningless
+ * value.
+ */
+ public double getOrdinate(int index, int ordinate) {
+ return coords[index * dimension + ordinate];
+ }
+
+ /**
+ * @see com.vividsolutions.jts.geom.PackedCoordinateSequence#setOrdinate(int,
+ * int, double)
+ */
+ public void setOrdinate(int index, int ordinate, double value) {
+ coordRef = null;
+ coords[index * dimension + ordinate] = value;
+ }
+
+ public Envelope expandEnvelope(Envelope env)
+ {
+ for (int i = 0; i < coords.length; i += dimension ) {
+ env.expandToInclude(coords[i], coords[i + 1]);
+ }
+ return env;
+ }
+ }
+
+ /**
+ * Packed coordinate sequence implementation based on floats
+ */
+ public static class Float extends PackedCoordinateSequence {
+
+ /**
+ * The packed coordinate array
+ */
+ float[] coords;
+
+ /**
+ * Constructs a packed coordinate sequence from an array of <code>float</code>s
+ *
+ * @param coords
+ * @param dimensions
+ */
+ public Float(float[] coords, int dimensions) {
+ if (dimensions < 2) {
+ throw new IllegalArgumentException("Must have at least 2 dimensions");
+ }
+ if (coords.length % dimensions != 0) {
+ throw new IllegalArgumentException("Packed array does not contain "
+ + "an integral number of coordinates");
+ }
+ this.dimension = dimensions;
+ this.coords = coords;
+ }
+
+ /**
+ * Constructs a packed coordinate sequence from an array of <code>double</code>s
+ *
+ * @param coordinates
+ * @param dimension
+ */
+ public Float(double[] coordinates, int dimension) {
+ this.coords = new float[coordinates.length];
+ this.dimension = dimension;
+ for (int i = 0; i < coordinates.length; i++) {
+ this.coords[i] = (float) coordinates[i];
+ }
+ }
+
+ /**
+ * Constructs a packed coordinate sequence out of a coordinate array
+ *
+ * @param coordinates
+ */
+ public Float(Coordinate[] coordinates, int dimension) {
+ if (coordinates == null)
+ coordinates = new Coordinate[0];
+ this.dimension = dimension;
+
+ coords = new float[coordinates.length * this.dimension];
+ for (int i = 0; i < coordinates.length; i++) {
+ coords[i * this.dimension] = (float) coordinates[i].x;
+ if (this.dimension >= 2)
+ coords[i * this.dimension + 1] = (float) coordinates[i].y;
+ if (this.dimension >= 3)
+ coords[i * this.dimension + 2] = (float) coordinates[i].z;
+ }
+ }
+
+ /**
+ * Constructs an empty packed coordinate sequence of a given size and dimension
+ */
+ public Float(int size, int dimension) {
+ this.dimension = dimension;
+ coords = new float[size * this.dimension];
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getCoordinate(int)
+ */
+ public Coordinate getCoordinateInternal(int i) {
+ double x = coords[i * dimension];
+ double y = coords[i * dimension + 1];
+ double z = dimension == 2 ? Coordinate.NULL_ORDINATE : coords[i * dimension + 2];
+ return new Coordinate(x, y, z);
+ }
+
+ /**
+ * Gets the underlying array containing the coordinate values.
+ *
+ * @return the array of coordinate values
+ */
+ public float[] getRawCoordinates()
+ {
+ return coords;
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#size()
+ */
+ public int size() {
+ return coords.length / dimension;
+ }
+
+ /**
+ * @see java.lang.Object#clone()
+ * @deprecated
+ */
+ public Object clone() {
+ return copy();
+ }
+
+ public Float copy() {
+ float[] clone = Arrays.copyOf(coords, coords.length);
+ return new Float(clone, dimension);
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequence#getOrdinate(int, int)
+ * For performance reasons the ordinate index is not checked.
+ * If it is larger than the dimension a meaningless
+ * value may be returned.
+ */
+ public double getOrdinate(int index, int ordinate) {
+ return coords[index * dimension + ordinate];
+ }
+
+ /**
+ * @see com.vividsolutions.jts.geom.PackedCoordinateSequence#setOrdinate(int,
+ * int, double)
+ */
+ public void setOrdinate(int index, int ordinate, double value) {
+ coordRef = null;
+ coords[index * dimension + ordinate] = (float) value;
+ }
+
+ public Envelope expandEnvelope(Envelope env)
+ {
+ for (int i = 0; i < coords.length; i += dimension ) {
+ env.expandToInclude(coords[i], coords[i + 1]);
+ }
+ return env;
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceFactory.java
new file mode 100644
index 0000000..dac9063
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceFactory.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.impl;
+
+import java.io.Serializable;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+
+/**
+ * Builds packed array coordinate sequences. The array data type can be either
+ * double or float, and defaults to float.
+ */
+public class PackedCoordinateSequenceFactory implements
+ CoordinateSequenceFactory, Serializable
+{
+ private static final long serialVersionUID = -3558264771905224525L;
+
+ public static final int DOUBLE = 0;
+ public static final int FLOAT = 1;
+
+ public static final PackedCoordinateSequenceFactory DOUBLE_FACTORY =
+ new PackedCoordinateSequenceFactory(DOUBLE);
+ public static final PackedCoordinateSequenceFactory FLOAT_FACTORY =
+ new PackedCoordinateSequenceFactory(FLOAT);
+
+ private int type = DOUBLE;
+ private int dimension = 3;
+
+ /**
+ * Creates a new PackedCoordinateSequenceFactory
+ * of type DOUBLE.
+ */
+ public PackedCoordinateSequenceFactory()
+ {
+ this(DOUBLE);
+ }
+
+ /**
+ * Creates a new PackedCoordinateSequenceFactory
+ * of the given type.
+ * Acceptable type values are
+ * {@linkplain PackedCoordinateSequenceFactory#Float}or
+ * {@linkplain PackedCoordinateSequenceFactory#Double}
+ */
+ public PackedCoordinateSequenceFactory(int type)
+ {
+ this(type, 3);
+ }
+ /**
+ * Creates a new PackedCoordinateSequenceFactory
+ * of the given type.
+ * Acceptable type values are
+ * {@linkplain PackedCoordinateSequenceFactory#FLOAT}or
+ * {@linkplain PackedCoordinateSequenceFactory#DOUBLE}
+ */
+ public PackedCoordinateSequenceFactory(int type, int dimension)
+ {
+ setType(type);
+ setDimension(dimension);
+ }
+
+ /**
+ * Returns the type of packed coordinate sequences this factory builds, either
+ * {@linkplain PackedCoordinateSequenceFactory#Float} or
+ * {@linkplain PackedCoordinateSequenceFactory#Double}
+ */
+ public int getType() {
+ return type;
+ }
+
+ /**
+ * Sets the type of packed coordinate sequences this factory builds,
+ * acceptable values are {@linkplain PackedCoordinateSequenceFactory#Float}or
+ * {@linkplain PackedCoordinateSequenceFactory#Double}
+ */
+ public void setType(int type) {
+ if (type != DOUBLE && type != FLOAT)
+ throw new IllegalArgumentException("Unknown type " + type);
+ this.type = type;
+ }
+
+
+ public int getDimension() { return dimension; }
+
+ public void setDimension(int dimension) { this.dimension = dimension; }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(org.locationtech.jts.geom.Coordinate[])
+ */
+ public CoordinateSequence create(Coordinate[] coordinates) {
+ if (type == DOUBLE) {
+ return new PackedCoordinateSequence.Double(coordinates, dimension);
+ } else {
+ return new PackedCoordinateSequence.Float(coordinates, dimension);
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(org.locationtech.jts.geom.CoordinateSequence)
+ */
+ public CoordinateSequence create(CoordinateSequence coordSeq) {
+ if (type == DOUBLE) {
+ return new PackedCoordinateSequence.Double(coordSeq.toCoordinateArray(), dimension);
+ } else {
+ return new PackedCoordinateSequence.Float(coordSeq.toCoordinateArray(), dimension);
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(double[],
+ * int)
+ */
+ public CoordinateSequence create(double[] packedCoordinates, int dimension) {
+ if (type == DOUBLE) {
+ return new PackedCoordinateSequence.Double(packedCoordinates, dimension);
+ } else {
+ return new PackedCoordinateSequence.Float(packedCoordinates, dimension);
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(float[],
+ * int)
+ */
+ public CoordinateSequence create(float[] packedCoordinates, int dimension) {
+ if (type == DOUBLE) {
+ return new PackedCoordinateSequence.Double(packedCoordinates, dimension);
+ } else {
+ return new PackedCoordinateSequence.Float(packedCoordinates, dimension);
+ }
+ }
+
+ /**
+ * @see org.locationtech.jts.geom.CoordinateSequenceFactory#create(int, int)
+ */
+ public CoordinateSequence create(int size, int dimension) {
+ if (type == DOUBLE) {
+ return new PackedCoordinateSequence.Double(size, dimension);
+ } else {
+ return new PackedCoordinateSequence.Float(size, dimension);
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/impl/package.html b/modules/core/src/main/java/org/locationtech/jts/geom/impl/package.html
new file mode 100644
index 0000000..3c5e4db
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/impl/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Implementations of interfaces for geometric structures.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/package.html b/modules/core/src/main/java/org/locationtech/jts/geom/package.html
new file mode 100644
index 0000000..54500b0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/package.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains the <CODE>Geometry</CODE> interface hierarchy and supporting classes.
+<P>
+The Java Topology Suite (JTS) is a Java API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. JTS is intended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.
+<P>
+JTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case JTS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/AbstractPreparedPolygonContains.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/AbstractPreparedPolygonContains.java
new file mode 100644
index 0000000..23cd30f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/AbstractPreparedPolygonContains.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.noding.SegmentIntersectionDetector;
+import org.locationtech.jts.noding.SegmentStringUtil;
+
+
+
+/**
+ * A base class containing the logic for computes the <tt>contains</tt>
+ * and <tt>covers</tt> spatial relationship predicates
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ * Uses short-circuit tests and indexing to improve performance.
+ * <p>
+ * Contains and covers are very similar, and differ only in how certain
+ * cases along the boundary are handled. These cases require
+ * full topological evaluation to handle, so all the code in
+ * this class is common to both predicates.
+ * <p>
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where line segments of the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ * (However, if the test geometry consists of only points, this
+ * <i>can</i> be evaluated in an optimized fashion.
+ *
+ * @author Martin Davis
+ *
+ */
+abstract class AbstractPreparedPolygonContains
+ extends PreparedPolygonPredicate
+{
+ /**
+ * This flag controls a difference between contains and covers.
+ *
+ * For contains the value is true.
+ * For covers the value is false.
+ */
+ protected boolean requireSomePointInInterior = true;
+
+ // information about geometric situation
+ private boolean hasSegmentIntersection = false;
+ private boolean hasProperIntersection = false;
+ private boolean hasNonProperIntersection = false;
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the PreparedPolygon to evaluate
+ */
+ public AbstractPreparedPolygonContains(PreparedPolygon prepPoly)
+ {
+ super(prepPoly);
+ }
+
+ /**
+ * Evaluate the <tt>contains</tt> or <tt>covers</tt> relationship
+ * for the given geometry.
+ *
+ * @param geom the test geometry
+ * @return true if the test geometry is contained
+ */
+ protected boolean eval(Geometry geom)
+ {
+ /**
+ * Do point-in-poly tests first, since they are cheaper and may result
+ * in a quick negative result.
+ *
+ * If a point of any test components does not lie in target, result is false
+ */
+ boolean isAllInTargetArea = isAllTestComponentsInTarget(geom);
+ if (! isAllInTargetArea) return false;
+
+ /**
+ * If the test geometry consists of only Points,
+ * then it is now sufficient to test if any of those
+ * points lie in the interior of the target geometry.
+ * If so, the test is contained.
+ * If not, all points are on the boundary of the area,
+ * which implies not contained.
+ */
+ if (requireSomePointInInterior
+ && geom.getDimension() == 0) {
+ boolean isAnyInTargetInterior = isAnyTestComponentInTargetInterior(geom);
+ return isAnyInTargetInterior;
+ }
+
+ /**
+ * Check if there is any intersection between the line segments
+ * in target and test.
+ * In some important cases, finding a proper intersection implies that the
+ * test geometry is NOT contained.
+ * These cases are:
+ * <ul>
+ * <li>If the test geometry is polygonal
+ * <li>If the target geometry is a single polygon with no holes
+ * <ul>
+ * In both of these cases, a proper intersection implies that there
+ * is some portion of the interior of the test geometry lying outside
+ * the target, which means that the test is not contained.
+ */
+ boolean properIntersectionImpliesNotContained = isProperIntersectionImpliesNotContainedSituation(geom);
+ // MD - testing only
+// properIntersectionImpliesNotContained = true;
+
+ // find all intersection types which exist
+ findAndClassifyIntersections(geom);
+
+ if (properIntersectionImpliesNotContained && hasProperIntersection)
+ return false;
+
+ /**
+ * If all intersections are proper
+ * (i.e. no non-proper intersections occur)
+ * we can conclude that the test geometry is not contained in the target area,
+ * by the Epsilon-Neighbourhood Exterior Intersection condition.
+ * In real-world data this is likely to be by far the most common situation,
+ * since natural data is unlikely to have many exact vertex segment intersections.
+ * Thus this check is very worthwhile, since it avoid having to perform
+ * a full topological check.
+ *
+ * (If non-proper (vertex) intersections ARE found, this may indicate
+ * a situation where two shells touch at a single vertex, which admits
+ * the case where a line could cross between the shells and still be wholely contained in them.
+ */
+ if (hasSegmentIntersection && ! hasNonProperIntersection)
+ return false;
+
+ /**
+ * If there is a segment intersection and the situation is not one
+ * of the ones above, the only choice is to compute the full topological
+ * relationship. This is because contains/covers is very sensitive
+ * to the situation along the boundary of the target.
+ */
+ if (hasSegmentIntersection) {
+ return fullTopologicalPredicate(geom);
+// System.out.println(geom);
+ }
+
+ /**
+ * This tests for the case where a ring of the target lies inside
+ * a test polygon - which implies the exterior of the Target
+ * intersects the interior of the Test, and hence the result is false
+ */
+ if (geom instanceof Polygonal) {
+ // TODO: generalize this to handle GeometryCollections
+ boolean isTargetInTestArea = isAnyTargetComponentInAreaTest(geom, prepPoly.getRepresentativePoints());
+ if (isTargetInTestArea) return false;
+ }
+ return true;
+ }
+
+ private boolean isProperIntersectionImpliesNotContainedSituation(Geometry testGeom)
+ {
+ /**
+ * If the test geometry is polygonal we have the A/A situation.
+ * In this case, a proper intersection indicates that
+ * the Epsilon-Neighbourhood Exterior Intersection condition exists.
+ * This condition means that in some small
+ * area around the intersection point, there must exist a situation
+ * where the interior of the test intersects the exterior of the target.
+ * This implies the test is NOT contained in the target.
+ */
+ if (testGeom instanceof Polygonal) return true;
+ /**
+ * A single shell with no holes allows concluding that
+ * a proper intersection implies not contained
+ * (due to the Epsilon-Neighbourhood Exterior Intersection condition)
+ */
+ if (isSingleShell(prepPoly.getGeometry())) return true;
+ return false;
+ }
+
+ /**
+ * Tests whether a geometry consists of a single polygon with no holes.
+ *
+ * @return true if the geometry is a single polygon with no holes
+ */
+ private boolean isSingleShell(Geometry geom)
+ {
+ // handles single-element MultiPolygons, as well as Polygons
+ if (geom.getNumGeometries() != 1) return false;
+
+ Polygon poly = (Polygon) geom.getGeometryN(0);
+ int numHoles = poly.getNumInteriorRing();
+ if (numHoles == 0) return true;
+ return false;
+ }
+
+ private void findAndClassifyIntersections(Geometry geom)
+ {
+ List lineSegStr = SegmentStringUtil.extractSegmentStrings(geom);
+
+ SegmentIntersectionDetector intDetector = new SegmentIntersectionDetector();
+ intDetector.setFindAllIntersectionTypes(true);
+ prepPoly.getIntersectionFinder().intersects(lineSegStr, intDetector);
+
+ hasSegmentIntersection = intDetector.hasIntersection();
+ hasProperIntersection = intDetector.hasProperIntersection();
+ hasNonProperIntersection = intDetector.hasNonProperIntersection();
+ }
+
+ /**
+ * Computes the full topological predicate.
+ * Used when short-circuit tests are not conclusive.
+ *
+ * @param geom the test geometry
+ * @return true if this prepared polygon has the relationship with the test geometry
+ */
+ protected abstract boolean fullTopologicalPredicate(Geometry geom);
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/BasicPreparedGeometry.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/BasicPreparedGeometry.java
new file mode 100644
index 0000000..b0350f7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/BasicPreparedGeometry.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.util.ComponentCoordinateExtracter;
+
+
+/**
+ * A base class for {@link PreparedGeometry} subclasses.
+ * Contains default implementations for methods, which simply delegate
+ * to the equivalent {@link Geometry} methods.
+ * This class may be used as a "no-op" class for Geometry types
+ * which do not have a corresponding {@link PreparedGeometry} implementation.
+ *
+ * @author Martin Davis
+ *
+ */
+class BasicPreparedGeometry
+ implements PreparedGeometry
+{
+ private final Geometry baseGeom;
+ private final List representativePts; // List<Coordinate>
+
+ public BasicPreparedGeometry(Geometry geom)
+ {
+ baseGeom = geom;
+ representativePts = ComponentCoordinateExtracter.getCoordinates(geom);
+ }
+
+ public Geometry getGeometry() { return baseGeom; }
+
+ /**
+ * Gets the list of representative points for this geometry.
+ * One vertex is included for every component of the geometry
+ * (i.e. including one for every ring of polygonal geometries).
+ *
+ * Do not modify the returned list!
+ *
+ * @return a List of Coordinate
+ */
+ public List getRepresentativePoints()
+ {
+ //TODO wrap in unmodifiable?
+ return representativePts;
+ }
+
+ /**
+ * Tests whether any representative of the target geometry
+ * intersects the test geometry.
+ * This is useful in A/A, A/L, A/P, L/P, and P/P cases.
+ *
+ * @param testGeom the test geometry
+ * @return true if any component intersects the areal test geometry
+ */
+ public boolean isAnyTargetComponentInTest(Geometry testGeom)
+ {
+ PointLocator locator = new PointLocator();
+ for (Iterator i = representativePts.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ if (locator.intersects(p, testGeom))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Determines whether a Geometry g interacts with
+ * this geometry by testing the geometry envelopes.
+ *
+ * @param g a Geometry
+ * @return true if the envelopes intersect
+ */
+ protected boolean envelopesIntersect(Geometry g)
+ {
+ if (! baseGeom.getEnvelopeInternal().intersects(g.getEnvelopeInternal()))
+ return false;
+ return true;
+ }
+
+ /**
+ * Determines whether the envelope of
+ * this geometry covers the Geometry g.
+ *
+ *
+ * @param g a Geometry
+ * @return true if g is contained in this envelope
+ */
+ protected boolean envelopeCovers(Geometry g)
+ {
+ if (! baseGeom.getEnvelopeInternal().covers(g.getEnvelopeInternal()))
+ return false;
+ return true;
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean contains(Geometry g)
+ {
+ return baseGeom.contains(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean containsProperly(Geometry g)
+ {
+ // since raw relate is used, provide some optimizations
+
+ // short-circuit test
+ if (! baseGeom.getEnvelopeInternal().contains(g.getEnvelopeInternal()))
+ return false;
+
+ // otherwise, compute using relate mask
+ return baseGeom.relate(g, "T**FF*FF*");
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean coveredBy(Geometry g)
+ {
+ return baseGeom.coveredBy(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean covers(Geometry g)
+ {
+ return baseGeom.covers(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean crosses(Geometry g)
+ {
+ return baseGeom.crosses(g);
+ }
+
+ /**
+ * Standard implementation for all geometries.
+ * Supports {@link GeometryCollection}s as input.
+ */
+ public boolean disjoint(Geometry g)
+ {
+ return ! intersects(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean intersects(Geometry g)
+ {
+ return baseGeom.intersects(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean overlaps(Geometry g)
+ {
+ return baseGeom.overlaps(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean touches(Geometry g)
+ {
+ return baseGeom.touches(g);
+ }
+
+ /**
+ * Default implementation.
+ */
+ public boolean within(Geometry g)
+ {
+ return baseGeom.within(g);
+ }
+
+ public String toString()
+ {
+ return baseGeom.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometry.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometry.java
new file mode 100644
index 0000000..849b9be
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometry.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+
+/**
+ * An interface for classes which prepare {@link Geometry}s
+ * in order to optimize the performance
+ * of repeated calls to specific geometric operations.
+ * <p>
+ * A given implementation may provide optimized implementations
+ * for only some of the specified methods,
+ * and delegate the remaining methods to the original {@link Geometry} operations.
+ * An implementation may also only optimize certain situations,
+ * and delegate others.
+ * See the implementing classes for documentation about which methods and situations
+ * they optimize.
+ * <p>
+ * Subclasses are intended to be thread-safe, to allow <code>PreparedGeometry</code>
+ * to be used in a multi-threaded context
+ * (which allows extracting maximum benefit from the prepared state).
+ *
+ * @author Martin Davis
+ *
+ */
+public interface PreparedGeometry
+{
+
+ /**
+ * Gets the original {@link Geometry} which has been prepared.
+ *
+ * @return the base geometry
+ */
+ Geometry getGeometry();
+
+ /**
+ * Tests whether the base {@link Geometry} contains a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry contains the given Geometry
+ *
+ * @see Geometry#contains(Geometry)
+ */
+ boolean contains(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} properly contains a given geometry.
+ * <p>
+ * The <code>containsProperly</code> predicate has the following equivalent definitions:
+ * <ul>
+ * <li>Every point of the other geometry is a point of this geometry's interior.
+ * <li>The DE-9IM Intersection Matrix for the two geometries matches
+ * <code>[T**FF*FF*]</code>
+ * </ul>
+ * In other words, if the test geometry has any interaction with the boundary of the target
+ * geometry the result of <tt>containsProperly</tt> is <tt>false</tt>.
+ * This is different semantics to the {@link Geometry#contains} predicate,
+ * in which test geometries can intersect the target's boundary and still be contained.
+ * <p>
+ * The advantage of using this predicate is that it can be computed
+ * efficiently, since it avoids the need to compute the full topological relationship
+ * of the input boundaries in cases where they intersect.
+ * <p>
+ * An example use case is computing the intersections
+ * of a set of geometries with a large polygonal geometry.
+ * Since <tt>intersection</tt> is a fairly slow operation, it can be more efficient
+ * to use <tt>containsProperly</tt> to filter out test geometries which lie
+ * wholly inside the area. In these cases the intersection is
+ * known <i>a priori</i> to be exactly the original test geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry properly contains the given Geometry
+ *
+ * @see Geometry#contains
+ *
+ */
+ boolean containsProperly(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} is covered by a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry is covered by the given Geometry
+ *
+ * @see Geometry#coveredBy(Geometry)
+ */
+ boolean coveredBy(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} covers a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry covers the given Geometry
+ *
+ * @see Geometry#covers(Geometry)
+ */
+ boolean covers(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} crosses a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry crosses the given Geometry
+ *
+ * @see Geometry#crosses(Geometry)
+ */
+ boolean crosses(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} is disjoint from a given geometry.
+ * This method supports {@link GeometryCollection}s as input
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry is disjoint from the given Geometry
+ *
+ * @see Geometry#disjoint(Geometry)
+ */
+ boolean disjoint(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} intersects a given geometry.
+ * This method supports {@link GeometryCollection}s as input
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry intersects the given Geometry
+ *
+ * @see Geometry#intersects(Geometry)
+ */
+ boolean intersects(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} overlaps a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry overlaps the given Geometry
+ *
+ * @see Geometry#overlaps(Geometry)
+ */
+ boolean overlaps(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} touches a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry touches the given Geometry
+ *
+ * @see Geometry#touches(Geometry)
+ */
+ boolean touches(Geometry geom);
+
+ /**
+ * Tests whether the base {@link Geometry} is within a given geometry.
+ *
+ * @param geom the Geometry to test
+ * @return true if this Geometry is within the given Geometry
+ *
+ * @see Geometry#within(Geometry)
+ */
+ boolean within(Geometry geom);
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometryFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometryFactory.java
new file mode 100644
index 0000000..d9c9975
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedGeometryFactory.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.Puntal;
+
+/**
+ * A factory for creating {@link PreparedGeometry}s.
+ * It chooses an appropriate implementation of PreparedGeometry
+ * based on the geometric type of the input geometry.
+ * <p>
+ * In the future, the factory may accept hints that indicate
+ * special optimizations which can be performed.
+ *
+ *
+ * @author Martin Davis
+ *
+ */
+public class PreparedGeometryFactory
+{
+ /**
+ * Creates a new {@link PreparedGeometry} appropriate for the argument {@link Geometry}.
+ *
+ * @param geom the geometry to prepare
+ * @return the prepared geometry
+ */
+ public static PreparedGeometry prepare(Geometry geom)
+ {
+ return (new PreparedGeometryFactory()).create(geom);
+ }
+
+ public PreparedGeometryFactory() {
+ }
+
+ /**
+ * Creates a new {@link PreparedGeometry} appropriate for the argument {@link Geometry}.
+ *
+ * @param geom the geometry to prepare
+ * @return the prepared geometry
+ */
+ public PreparedGeometry create(Geometry geom)
+ {
+ if (geom instanceof Polygonal)
+ return new PreparedPolygon((Polygonal) geom);
+ if (geom instanceof Lineal)
+ return new PreparedLineString((Lineal) geom);
+ if (geom instanceof Puntal)
+ return new PreparedPoint((Puntal) geom);
+
+ /**
+ * Default representation.
+ */
+ return new BasicPreparedGeometry(geom);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineString.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineString.java
new file mode 100644
index 0000000..09ff995
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineString.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.noding.FastSegmentSetIntersectionFinder;
+import org.locationtech.jts.noding.SegmentStringUtil;
+
+/**
+ * A prepared version for {@link Lineal} geometries.
+ * <p>
+ * Instances of this class are thread-safe.
+ *
+ * @author mbdavis
+ *
+ */
+public class PreparedLineString
+ extends BasicPreparedGeometry
+{
+ private FastSegmentSetIntersectionFinder segIntFinder = null;
+
+ public PreparedLineString(Lineal line) {
+ super((Geometry) line);
+ }
+
+ public synchronized FastSegmentSetIntersectionFinder getIntersectionFinder()
+ {
+ /**
+ * MD - Another option would be to use a simple scan for
+ * segment testing for small geometries.
+ * However, testing indicates that there is no particular advantage
+ * to this approach.
+ */
+ if (segIntFinder == null)
+ segIntFinder = new FastSegmentSetIntersectionFinder(SegmentStringUtil.extractSegmentStrings(getGeometry()));
+ return segIntFinder;
+ }
+
+ public boolean intersects(Geometry g)
+ {
+ if (! envelopesIntersect(g)) return false;
+ return PreparedLineStringIntersects.intersects(this, g);
+ }
+
+ /**
+ * There's not much point in trying to optimize contains, since
+ * contains for linear targets requires the entire test geometry
+ * to exactly match the target linework.
+ */
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineStringIntersects.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineStringIntersects.java
new file mode 100644
index 0000000..9a8f68b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedLineStringIntersects.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.util.ComponentCoordinateExtracter;
+import org.locationtech.jts.noding.SegmentStringUtil;
+
+
+
+/**
+ * Computes the <tt>intersects</tt> spatial relationship predicate
+ * for a target {@link PreparedLineString} relative to other {@link Geometry} classes.
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * @author Martin Davis
+ *
+ */
+class PreparedLineStringIntersects
+{
+ /**
+ * Computes the intersects predicate between a {@link PreparedLineString}
+ * and a {@link Geometry}.
+ *
+ * @param prep the prepared linestring
+ * @param geom a test geometry
+ * @return true if the linestring intersects the geometry
+ */
+ public static boolean intersects(PreparedLineString prep, Geometry geom)
+ {
+ PreparedLineStringIntersects op = new PreparedLineStringIntersects(prep);
+ return op.intersects(geom);
+ }
+
+ protected PreparedLineString prepLine;
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the target PreparedLineString
+ */
+ public PreparedLineStringIntersects(PreparedLineString prepLine)
+ {
+ this.prepLine = prepLine;
+ }
+
+ /**
+ * Tests whether this geometry intersects a given geometry.
+ *
+ * @param geom the test geometry
+ * @return true if the test geometry intersects
+ */
+ public boolean intersects(Geometry geom)
+ {
+ /**
+ * If any segments intersect, obviously intersects = true
+ */
+ List lineSegStr = SegmentStringUtil.extractSegmentStrings(geom);
+ // only request intersection finder if there are segments (ie NOT for point inputs)
+ if (lineSegStr.size() > 0) {
+ boolean segsIntersect = prepLine.getIntersectionFinder().intersects(lineSegStr);
+ // MD - performance testing
+ // boolean segsIntersect = false;
+ if (segsIntersect)
+ return true;
+ }
+ /**
+ * For L/L case we are done
+ */
+ if (geom.getDimension() == 1) return false;
+
+ /**
+ * For L/A case, need to check for proper inclusion of the target in the test
+ */
+ if (geom.getDimension() == 2
+ && prepLine.isAnyTargetComponentInTest(geom)) return true;
+
+ /**
+ * For L/P case, need to check if any points lie on line(s)
+ */
+ if (geom.getDimension() == 0)
+ return isAnyTestPointInTarget(geom);
+
+ return false;
+ }
+
+ /**
+ * Tests whether any representative point of the test Geometry intersects
+ * the target geometry.
+ * Only handles test geometries which are Puntal (dimension 0)
+ *
+ * @param geom a Puntal geometry to test
+ * @return true if any point of the argument intersects the prepared geometry
+ */
+ protected boolean isAnyTestPointInTarget(Geometry testGeom)
+ {
+ /**
+ * This could be optimized by using the segment index on the lineal target.
+ * However, it seems like the L/P case would be pretty rare in practice.
+ */
+ PointLocator locator = new PointLocator();
+ List coords = ComponentCoordinateExtracter.getCoordinates(testGeom);
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ if (locator.intersects(p, prepLine.getGeometry()))
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPoint.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPoint.java
new file mode 100644
index 0000000..1a49630
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPoint.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Puntal;
+
+
+/**
+ * A prepared version for {@link Puntal} geometries.
+ * <p>
+ * Instances of this class are thread-safe.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PreparedPoint
+ extends BasicPreparedGeometry
+{
+ public PreparedPoint(Puntal point) {
+ super((Geometry) point);
+ }
+
+ /**
+ * Tests whether this point intersects a {@link Geometry}.
+ * <p>
+ * The optimization here is that computing topology for the test geometry
+ * is avoided. This can be significant for large geometries.
+ */
+ public boolean intersects(Geometry g)
+ {
+ if (! envelopesIntersect(g)) return false;
+
+ /**
+ * This avoids computing topology for the test geometry
+ */
+ return isAnyTargetComponentInTest(g);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygon.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygon.java
new file mode 100644
index 0000000..59d9982
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygon.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+
+import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.noding.FastSegmentSetIntersectionFinder;
+import org.locationtech.jts.noding.SegmentStringUtil;
+import org.locationtech.jts.operation.predicate.RectangleContains;
+import org.locationtech.jts.operation.predicate.RectangleIntersects;
+
+/**
+ * A prepared version for {@link Polygonal} geometries.
+ * This class supports both {@link Polygon}s and {@link MultiPolygon}s.
+ * <p>
+ * This class does <b>not</b> support MultiPolygons which are non-valid
+ * (e.g. with overlapping elements).
+ * <p>
+ * Instances of this class are thread-safe and immutable.
+ *
+ * @author mbdavis
+ *
+ */
+public class PreparedPolygon
+ extends BasicPreparedGeometry
+{
+ private final boolean isRectangle;
+ // create these lazily, since they are expensive
+ private FastSegmentSetIntersectionFinder segIntFinder = null;
+ private PointOnGeometryLocator pia = null;
+
+ public PreparedPolygon(Polygonal poly) {
+ super((Geometry) poly);
+ isRectangle = getGeometry().isRectangle();
+ }
+
+ /**
+ * Gets the indexed intersection finder for this geometry.
+ *
+ * @return the intersection finder
+ */
+ public synchronized FastSegmentSetIntersectionFinder getIntersectionFinder()
+ {
+ /**
+ * MD - Another option would be to use a simple scan for
+ * segment testing for small geometries.
+ * However, testing indicates that there is no particular advantage
+ * to this approach.
+ */
+ if (segIntFinder == null)
+ segIntFinder = new FastSegmentSetIntersectionFinder(SegmentStringUtil.extractSegmentStrings(getGeometry()));
+ return segIntFinder;
+ }
+
+ public synchronized PointOnGeometryLocator getPointLocator()
+ {
+ if (pia == null)
+ pia = new IndexedPointInAreaLocator(getGeometry());
+
+ return pia;
+ }
+
+ public boolean intersects(Geometry g)
+ {
+ // envelope test
+ if (! envelopesIntersect(g)) return false;
+
+ // optimization for rectangles
+ if (isRectangle) {
+ return RectangleIntersects.intersects((Polygon) getGeometry(), g);
+ }
+
+ return PreparedPolygonIntersects.intersects(this, g);
+ }
+
+ public boolean contains(Geometry g)
+ {
+ // short-circuit test
+ if (! envelopeCovers(g))
+ return false;
+
+ // optimization for rectangles
+ if (isRectangle) {
+ return RectangleContains.contains((Polygon) getGeometry(), g);
+ }
+
+ return PreparedPolygonContains.contains(this, g);
+ }
+
+ public boolean containsProperly(Geometry g)
+ {
+ // short-circuit test
+ if (! envelopeCovers(g))
+ return false;
+ return PreparedPolygonContainsProperly.containsProperly(this, g);
+ }
+
+ public boolean covers(Geometry g)
+ {
+ // short-circuit test
+ if (! envelopeCovers(g))
+ return false;
+ // optimization for rectangle arguments
+ if (isRectangle) {
+ return true;
+ }
+ return PreparedPolygonCovers.covers(this, g);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContains.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContains.java
new file mode 100644
index 0000000..9c04c27
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContains.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Computes the <tt>contains</tt> spatial relationship predicate
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ * Uses short-circuit tests and indexing to improve performance.
+ * <p>
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ *
+ * @author Martin Davis
+ *
+ */
+class PreparedPolygonContains
+ extends AbstractPreparedPolygonContains
+{
+ /**
+ * Computes the </tt>contains</tt> predicate between a {@link PreparedPolygon}
+ * and a {@link Geometry}.
+ *
+ * @param prep the prepared polygon
+ * @param geom a test geometry
+ * @return true if the polygon contains the geometry
+ */
+ public static boolean contains(PreparedPolygon prep, Geometry geom)
+ {
+ PreparedPolygonContains polyInt = new PreparedPolygonContains(prep);
+ return polyInt.contains(geom);
+ }
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the PreparedPolygon to evaluate
+ */
+ public PreparedPolygonContains(PreparedPolygon prepPoly)
+ {
+ super(prepPoly);
+ }
+
+ /**
+ * Tests whether this PreparedPolygon <tt>contains</tt> a given geometry.
+ *
+ * @param geom the test geometry
+ * @return true if the test geometry is contained
+ */
+ public boolean contains(Geometry geom)
+ {
+ return eval(geom);
+ }
+
+ /**
+ * Computes the full topological <tt>contains</tt> predicate.
+ * Used when short-circuit tests are not conclusive.
+ *
+ * @param geom the test geometry
+ * @return true if this prepared polygon contains the test geometry
+ */
+ protected boolean fullTopologicalPredicate(Geometry geom)
+ {
+ boolean isContained = prepPoly.getGeometry().contains(geom);
+ return isContained;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContainsProperly.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContainsProperly.java
new file mode 100644
index 0000000..d899d79
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonContainsProperly.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.noding.SegmentStringUtil;
+
+
+
+/**
+ * Computes the <tt>containsProperly</tt> spatial relationship predicate
+ * for {@link PreparedPolygon}s relative to all other {@link Geometry} classes.
+ * Uses short-circuit tests and indexing to improve performance.
+ * <p>
+ * A Geometry A <tt>containsProperly</tt> another Geometry B iff
+ * all points of B are contained in the Interior of A.
+ * Equivalently, B is contained in A AND B does not intersect
+ * the Boundary of A.
+ * <p>
+ * The advantage to using this predicate is that it can be computed
+ * efficiently, with no need to compute topology at individual points.
+ * In a situation with many geometries intersecting the boundary
+ * of the target geometry, this can make a performance difference.
+ *
+ * @author Martin Davis
+ */
+class PreparedPolygonContainsProperly
+ extends PreparedPolygonPredicate
+{
+ /**
+ * Computes the </tt>containsProperly</tt> predicate between a {@link PreparedPolygon}
+ * and a {@link Geometry}.
+ *
+ * @param prep the prepared polygon
+ * @param geom a test geometry
+ * @return true if the polygon properly contains the geometry
+ */
+ public static boolean containsProperly(PreparedPolygon prep, Geometry geom)
+ {
+ PreparedPolygonContainsProperly polyInt = new PreparedPolygonContainsProperly(prep);
+ return polyInt.containsProperly(geom);
+ }
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the PreparedPolygon to evaluate
+ */
+ public PreparedPolygonContainsProperly(PreparedPolygon prepPoly)
+ {
+ super(prepPoly);
+ }
+
+ /**
+ * Tests whether this PreparedPolygon containsProperly a given geometry.
+ *
+ * @param geom the test geometry
+ * @return true if the test geometry is contained properly
+ */
+ public boolean containsProperly(Geometry geom)
+ {
+ /**
+ * Do point-in-poly tests first, since they are cheaper and may result
+ * in a quick negative result.
+ *
+ * If a point of any test components does not lie in the target interior, result is false
+ */
+ boolean isAllInPrepGeomAreaInterior = isAllTestComponentsInTargetInterior(geom);
+ if (! isAllInPrepGeomAreaInterior) return false;
+
+ /**
+ * If any segments intersect, result is false.
+ */
+ List lineSegStr = SegmentStringUtil.extractSegmentStrings(geom);
+ boolean segsIntersect = prepPoly.getIntersectionFinder().intersects(lineSegStr);
+ if (segsIntersect)
+ return false;
+
+ /**
+ * Given that no segments intersect, if any vertex of the target
+ * is contained in some test component.
+ * the test is NOT properly contained.
+ */
+ if (geom instanceof Polygonal) {
+ // TODO: generalize this to handle GeometryCollections
+ boolean isTargetGeomInTestArea = isAnyTargetComponentInAreaTest(geom, prepPoly.getRepresentativePoints());
+ if (isTargetGeomInTestArea) return false;
+ }
+
+ return true;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonCovers.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonCovers.java
new file mode 100644
index 0000000..ebf60d1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonCovers.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Computes the <tt>covers</tt> spatial relationship predicate
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ * Uses short-circuit tests and indexing to improve performance.
+ * <p>
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ *
+ * @author Martin Davis
+ *
+ */
+class PreparedPolygonCovers
+ extends AbstractPreparedPolygonContains
+{
+ /**
+ * Computes the </tt>covers</tt> predicate between a {@link PreparedPolygon}
+ * and a {@link Geometry}.
+ *
+ * @param prep the prepared polygon
+ * @param geom a test geometry
+ * @return true if the polygon covers the geometry
+ */
+ public static boolean covers(PreparedPolygon prep, Geometry geom)
+ {
+ PreparedPolygonCovers polyInt = new PreparedPolygonCovers(prep);
+ return polyInt.covers(geom);
+ }
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the PreparedPolygon to evaluate
+ */
+ public PreparedPolygonCovers(PreparedPolygon prepPoly)
+ {
+ super(prepPoly);
+ requireSomePointInInterior = false;
+ }
+
+ /**
+ * Tests whether this PreparedPolygon <tt>covers</tt> a given geometry.
+ *
+ * @param geom the test geometry
+ * @return true if the test geometry is covered
+ */
+ public boolean covers(Geometry geom)
+ {
+ return eval(geom);
+ }
+
+ /**
+ * Computes the full topological <tt>covers</tt> predicate.
+ * Used when short-circuit tests are not conclusive.
+ *
+ * @param geom the test geometry
+ * @return true if this prepared polygon covers the test geometry
+ */
+ protected boolean fullTopologicalPredicate(Geometry geom)
+ {
+ boolean result = prepPoly.getGeometry().covers(geom);
+ return result;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersects.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersects.java
new file mode 100644
index 0000000..134730e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersects.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.noding.SegmentStringUtil;
+
+
+/**
+ * Computes the <tt>intersects</tt> spatial relationship predicate for
+ * {@link PreparedPolygon}s relative to all other {@link Geometry} classes. Uses
+ * short-circuit tests and indexing to improve performance.
+ *
+ * @author Martin Davis
+ *
+ */
+class PreparedPolygonIntersects extends PreparedPolygonPredicate {
+ /**
+ * Computes the intersects predicate between a {@link PreparedPolygon} and a
+ * {@link Geometry}.
+ *
+ * @param prep
+ * the prepared polygon
+ * @param geom
+ * a test geometry
+ * @return true if the polygon intersects the geometry
+ */
+ public static boolean intersects(PreparedPolygon prep, Geometry geom) {
+ PreparedPolygonIntersects polyInt = new PreparedPolygonIntersects(prep);
+ return polyInt.intersects(geom);
+ }
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly
+ * the PreparedPolygon to evaluate
+ */
+ public PreparedPolygonIntersects(PreparedPolygon prepPoly) {
+ super(prepPoly);
+ }
+
+ /**
+ * Tests whether this PreparedPolygon intersects a given geometry.
+ *
+ * @param geom
+ * the test geometry
+ * @return true if the test geometry intersects
+ */
+ public boolean intersects(Geometry geom) {
+ /**
+ * Do point-in-poly tests first, since they are cheaper and may result in a
+ * quick positive result.
+ *
+ * If a point of any test components lie in target, result is true
+ */
+ boolean isInPrepGeomArea = isAnyTestComponentInTarget(geom);
+ if (isInPrepGeomArea)
+ return true;
+ /**
+ * If input contains only points, then at
+ * this point it is known that none of them are contained in the target
+ */
+ if (geom.getDimension() == 0)
+ return false;
+ /**
+ * If any segments intersect, result is true
+ */
+ List lineSegStr = SegmentStringUtil.extractSegmentStrings(geom);
+ // only request intersection finder if there are segments
+ // (i.e. NOT for point inputs)
+ if (lineSegStr.size() > 0) {
+ boolean segsIntersect = prepPoly.getIntersectionFinder().intersects(
+ lineSegStr);
+ if (segsIntersect)
+ return true;
+ }
+
+ /**
+ * If the test has dimension = 2 as well, it is necessary to test for proper
+ * inclusion of the target. Since no segments intersect, it is sufficient to
+ * test representative points.
+ */
+ if (geom.getDimension() == 2) {
+ // TODO: generalize this to handle GeometryCollections
+ boolean isPrepGeomInArea = isAnyTargetComponentInAreaTest(geom,
+ prepPoly.getRepresentativePoints());
+ if (isPrepGeomInArea)
+ return true;
+ }
+
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicate.java b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicate.java
new file mode 100644
index 0000000..5f5fbb0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicate.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.prep;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.util.ComponentCoordinateExtracter;
+
+
+/**
+ * A base class for predicate operations on {@link PreparedPolygon}s.
+ *
+ * @author mbdavis
+ *
+ */
+abstract class PreparedPolygonPredicate
+{
+ protected PreparedPolygon prepPoly;
+ private PointOnGeometryLocator targetPointLocator;
+
+ /**
+ * Creates an instance of this operation.
+ *
+ * @param prepPoly the PreparedPolygon to evaluate
+ */
+ public PreparedPolygonPredicate(PreparedPolygon prepPoly)
+ {
+ this.prepPoly = prepPoly;
+ targetPointLocator = prepPoly.getPointLocator();
+ }
+
+ /**
+ * Tests whether all components of the test Geometry
+ * are contained in the target geometry.
+ * Handles both linear and point components.
+ *
+ * @param geom a geometry to test
+ * @return true if all components of the argument are contained in the target geometry
+ */
+ protected boolean isAllTestComponentsInTarget(Geometry testGeom)
+ {
+ List coords = ComponentCoordinateExtracter.getCoordinates(testGeom);
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ int loc = targetPointLocator.locate(p);
+ if (loc == Location.EXTERIOR)
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests whether all components of the test Geometry
+ * are contained in the interior of the target geometry.
+ * Handles both linear and point components.
+ *
+ * @param geom a geometry to test
+ * @return true if all components of the argument are contained in the target geometry interior
+ */
+ protected boolean isAllTestComponentsInTargetInterior(Geometry testGeom)
+ {
+ List coords = ComponentCoordinateExtracter.getCoordinates(testGeom);
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ int loc = targetPointLocator.locate(p);
+ if (loc != Location.INTERIOR)
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests whether any component of the test Geometry intersects
+ * the area of the target geometry.
+ * Handles test geometries with both linear and point components.
+ *
+ * @param geom a geometry to test
+ * @return true if any component of the argument intersects the prepared area geometry
+ */
+ protected boolean isAnyTestComponentInTarget(Geometry testGeom)
+ {
+ List coords = ComponentCoordinateExtracter.getCoordinates(testGeom);
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ int loc = targetPointLocator.locate(p);
+ if (loc != Location.EXTERIOR)
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether any component of the test Geometry intersects
+ * the interior of the target geometry.
+ * Handles test geometries with both linear and point components.
+ *
+ * @param geom a geometry to test
+ * @return true if any component of the argument intersects the prepared area geometry interior
+ */
+ protected boolean isAnyTestComponentInTargetInterior(Geometry testGeom)
+ {
+ List coords = ComponentCoordinateExtracter.getCoordinates(testGeom);
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ int loc = targetPointLocator.locate(p);
+ if (loc == Location.INTERIOR)
+ return true;
+ }
+ return false;
+ }
+
+
+ /**
+ * Tests whether any component of the target geometry
+ * intersects the test geometry (which must be an areal geometry)
+ *
+ * @param geom the test geometry
+ * @param repPts the representative points of the target geometry
+ * @return true if any component intersects the areal test geometry
+ */
+ protected boolean isAnyTargetComponentInAreaTest(Geometry testGeom, List targetRepPts)
+ {
+ PointOnGeometryLocator piaLoc = new SimplePointInAreaLocator(testGeom);
+ for (Iterator i = targetRepPts.iterator(); i.hasNext(); ) {
+ Coordinate p = (Coordinate) i.next();
+ int loc = piaLoc.locate(p);
+ if (loc != Location.EXTERIOR)
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/prep/package.html b/modules/core/src/main/java/org/locationtech/jts/geom/prep/package.html
new file mode 100644
index 0000000..ba5ef77
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/prep/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform optimized geometric operations on suitably prepared geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformation.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformation.java
new file mode 100644
index 0000000..7e7f281
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformation.java
@@ -0,0 +1,1097 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.util.Assert;
+/**
+ * Represents an affine transformation on the 2D Cartesian plane.
+ * It can be used to transform a {@link Coordinate} or {@link Geometry}.
+ * An affine transformation is a mapping of the 2D plane into itself
+ * via a series of transformations of the following basic types:
+ * <ul>
+ * <li>reflection (through a line)
+ * <li>rotation (around the origin)
+ * <li>scaling (relative to the origin)
+ * <li>shearing (in both the X and Y directions)
+ * <li>translation
+ * </ul>
+ * In general, affine transformations preserve straightness and parallel lines,
+ * but do not preserve distance or shape.
+ * <p>
+ * An affine transformation can be represented by a 3x3
+ * matrix in the following form:
+ * <blockquote><pre>
+ * T = | m00 m01 m02 |
+ * | m10 m11 m12 |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ * A coordinate P = (x, y) can be transformed to a new coordinate P' = (x', y')
+ * by representing it as a 3x1 matrix and using matrix multiplication to compute:
+ * <blockquote><pre>
+ * | x' | = T x | x |
+ * | y' | | y |
+ * | 1 | | 1 |
+ * </pre></blockquote>
+ * <h3>Transformation Composition</h3>
+ * Affine transformations can be composed using the {@link #compose} method.
+ * Composition is computed via multiplication of the
+ * transformation matrices, and is defined as:
+ * <blockquote><pre>
+ * A.compose(B) = T<sub>B</sub> x T<sub>A</sub>
+ * </pre></blockquote>
+ * This produces a transformation whose effect is that of A followed by B.
+ * The methods {@link #reflect}, {@link #rotate},
+ * {@link #scale}, {@link #shear}, and {@link #translate}
+ * have the effect of composing a transformation of that type with
+ * the transformation they are invoked on.
+ * <p>
+ * The composition of transformations is in general <i>not</i> commutative.
+ *
+ * <h3>Transformation Inversion</h3>
+ * Affine transformations may be invertible or non-invertible.
+ * If a transformation is invertible, then there exists
+ * an inverse transformation which when composed produces
+ * the identity transformation.
+ * The {@link #getInverse} method
+ * computes the inverse of a transformation, if one exists.
+ *
+ * @author Martin Davis
+ *
+ */
+public class AffineTransformation
+ implements Cloneable, CoordinateSequenceFilter
+{
+
+ /**
+ * Creates a transformation for a reflection about the
+ * line (x0,y0) - (x1,y1).
+ *
+ * @param x0 the x-ordinate of a point on the reflection line
+ * @param y0 the y-ordinate of a point on the reflection line
+ * @param x1 the x-ordinate of a another point on the reflection line
+ * @param y1 the y-ordinate of a another point on the reflection line
+ * @return a transformation for the reflection
+ */
+ public static AffineTransformation reflectionInstance(double x0, double y0, double x1, double y1)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToReflection(x0, y0, x1, y1);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a reflection about the
+ * line (0,0) - (x,y).
+ *
+ * @param x the x-ordinate of a point on the reflection line
+ * @param y the y-ordinate of a point on the reflection line
+ * @return a transformation for the reflection
+ */
+ public static AffineTransformation reflectionInstance(double x, double y)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToReflection(x, y);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a rotation
+ * about the origin
+ * by an angle <i>theta</i>.
+ * Positive angles correspond to a rotation
+ * in the counter-clockwise direction.
+ *
+ * @param theta the rotation angle, in radians
+ * @return a transformation for the rotation
+ */
+ public static AffineTransformation rotationInstance(double theta)
+ {
+ return rotationInstance(Math.sin(theta), Math.cos(theta));
+ }
+
+ /**
+ * Creates a transformation for a rotation
+ * by an angle <i>theta</i>,
+ * specified by the sine and cosine of the angle.
+ * This allows providing exact values for sin(theta) and cos(theta)
+ * for the common case of rotations of multiples of quarter-circles.
+ *
+ * @param sinTheta the sine of the rotation angle
+ * @param cosTheta the cosine of the rotation angle
+ * @return a transformation for the rotation
+ */
+ public static AffineTransformation rotationInstance(double sinTheta, double cosTheta)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToRotation(sinTheta, cosTheta);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a rotation
+ * about the point (x,y) by an angle <i>theta</i>.
+ * Positive angles correspond to a rotation
+ * in the counter-clockwise direction.
+ *
+ * @param theta the rotation angle, in radians
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return a transformation for the rotation
+ */
+ public static AffineTransformation rotationInstance(double theta, double x, double y)
+ {
+ return rotationInstance(Math.sin(theta), Math.cos(theta), x, y);
+ }
+
+ /**
+ * Creates a transformation for a rotation
+ * about the point (x,y) by an angle <i>theta</i>,
+ * specified by the sine and cosine of the angle.
+ * This allows providing exact values for sin(theta) and cos(theta)
+ * for the common case of rotations of multiples of quarter-circles.
+ *
+ * @param sinTheta the sine of the rotation angle
+ * @param cosTheta the cosine of the rotation angle
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return a transformation for the rotation
+ */
+ public static AffineTransformation rotationInstance(double sinTheta, double cosTheta, double x, double y)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToRotation(sinTheta, cosTheta, x, y);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a scaling relative to the origin.
+ *
+ * @param xScale the value to scale by in the x direction
+ * @param yScale the value to scale by in the y direction
+ * @return a transformation for the scaling
+ */
+ public static AffineTransformation scaleInstance(double xScale, double yScale)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToScale(xScale, yScale);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a scaling relative to the point (x,y).
+ *
+ * @param xScale the value to scale by in the x direction
+ * @param yScale the value to scale by in the y direction
+ * @param x the x-ordinate of the point to scale around
+ * @param y the y-ordinate of the point to scale around
+ * @return a transformation for the scaling
+ */
+ public static AffineTransformation scaleInstance(double xScale, double yScale, double x, double y)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.translate(-x, -y);
+ trans.scale(xScale, yScale);
+ trans.translate(x, y);
+ return trans;
+ }
+
+
+ /**
+ * Creates a transformation for a shear.
+ *
+ * @param xShear the value to shear by in the x direction
+ * @param yShear the value to shear by in the y direction
+ * @return a transformation for the shear
+ */
+ public static AffineTransformation shearInstance(double xShear, double yShear)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToShear(xShear, yShear);
+ return trans;
+ }
+
+ /**
+ * Creates a transformation for a translation.
+ *
+ * @param x the value to translate by in the x direction
+ * @param y the value to translate by in the y direction
+ * @return a transformation for the translation
+ */
+ public static AffineTransformation translationInstance(double x, double y)
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.setToTranslation(x, y);
+ return trans;
+ }
+
+ // affine matrix entries
+ // (bottom row is always [ 0 0 1 ])
+ private double m00;
+ private double m01;
+ private double m02;
+ private double m10;
+ private double m11;
+ private double m12;
+
+ /**
+ * Constructs a new identity transformation
+ */
+ public AffineTransformation()
+ {
+ setToIdentity();
+ }
+
+ /**
+ * Constructs a new transformation whose
+ * matrix has the specified values.
+ *
+ * @param matrix an array containing the 6 values { m00, m01, m02, m10, m11, m12 }
+ * @throws NullPointerException if matrix is null
+ * @throws ArrayIndexOutOfBoundsException if matrix is too small
+ */
+ public AffineTransformation(double[] matrix)
+ {
+ m00 = matrix[0];
+ m01 = matrix[1];
+ m02 = matrix[2];
+ m10 = matrix[3];
+ m11 = matrix[4];
+ m12 = matrix[5];
+ }
+
+ /**
+ * Constructs a new transformation whose
+ * matrix has the specified values.
+ *
+ * @param m00 the entry for the [0, 0] element in the transformation matrix
+ * @param m01 the entry for the [0, 1] element in the transformation matrix
+ * @param m02 the entry for the [0, 2] element in the transformation matrix
+ * @param m10 the entry for the [1, 0] element in the transformation matrix
+ * @param m11 the entry for the [1, 1] element in the transformation matrix
+ * @param m12 the entry for the [1, 2] element in the transformation matrix
+ */
+ public AffineTransformation(double m00,
+ double m01,
+ double m02,
+ double m10,
+ double m11,
+ double m12)
+ {
+ setTransformation(m00, m01, m02, m10, m11, m12);
+ }
+
+ /**
+ * Constructs a transformation which is
+ * a copy of the given one.
+ *
+ * @param trans the transformation to copy
+ */
+ public AffineTransformation(AffineTransformation trans)
+ {
+ setTransformation(trans);
+ }
+
+ /**
+ * Constructs a transformation
+ * which maps the given source
+ * points into the given destination points.
+ *
+ * @param src0 source point 0
+ * @param src1 source point 1
+ * @param src2 source point 2
+ * @param dest0 the mapped point for source point 0
+ * @param dest1 the mapped point for source point 1
+ * @param dest2 the mapped point for source point 2
+ *
+ */
+ public AffineTransformation(Coordinate src0,
+ Coordinate src1,
+ Coordinate src2,
+ Coordinate dest0,
+ Coordinate dest1,
+ Coordinate dest2)
+ {
+ }
+
+ /**
+ * Sets this transformation to be the identity transformation.
+ * The identity transformation has the matrix:
+ * <blockquote><pre>
+ * | 1 0 0 |
+ * | 0 1 0 |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToIdentity()
+ {
+ m00 = 1.0; m01 = 0.0; m02 = 0.0;
+ m10 = 0.0; m11 = 1.0; m12 = 0.0;
+ return this;
+ }
+
+ /**
+ * Sets this transformation's matrix to have the given values.
+ *
+ * @param m00 the entry for the [0, 0] element in the transformation matrix
+ * @param m01 the entry for the [0, 1] element in the transformation matrix
+ * @param m02 the entry for the [0, 2] element in the transformation matrix
+ * @param m10 the entry for the [1, 0] element in the transformation matrix
+ * @param m11 the entry for the [1, 1] element in the transformation matrix
+ * @param m12 the entry for the [1, 2] element in the transformation matrix
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setTransformation(double m00,
+ double m01,
+ double m02,
+ double m10,
+ double m11,
+ double m12)
+ {
+ this.m00 = m00;
+ this.m01 = m01;
+ this.m02 = m02;
+ this.m10 = m10;
+ this.m11 = m11;
+ this.m12 = m12;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a copy of the given one
+ *
+ * @param trans a transformation to copy
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setTransformation(AffineTransformation trans)
+ {
+ m00 = trans.m00; m01 = trans.m01; m02 = trans.m02;
+ m10 = trans.m10; m11 = trans.m11; m12 = trans.m12;
+ return this;
+ }
+
+ /**
+ * Gets an array containing the entries
+ * of the transformation matrix.
+ * Only the 6 non-trivial entries are returned,
+ * in the sequence:
+ * <pre>
+ * m00, m01, m02, m10, m11, m12
+ * </pre>
+ *
+ * @return an array of length 6
+ */
+ public double[] getMatrixEntries()
+ {
+ return new double[] { m00, m01, m02, m10, m11, m12 };
+ }
+
+ /**
+ * Computes the determinant of the transformation matrix.
+ * The determinant is computed as:
+ * <blockquote><pre>
+ * | m00 m01 m02 |
+ * | m10 m11 m12 | = m00 * m11 - m01 * m10
+ * | 0 0 1 |
+ * </pre></blockquote>
+ * If the determinant is zero,
+ * the transform is singular (not invertible),
+ * and operations which attempt to compute
+ * an inverse will throw a <tt>NoninvertibleTransformException</tt>.
+
+ * @return the determinant of the transformation
+ * @see #getInverse()
+ */
+ public double getDeterminant()
+ {
+ return m00 * m11 - m01 * m10;
+ }
+
+ /**
+ * Computes the inverse of this transformation, if one
+ * exists.
+ * The inverse is the transformation which when
+ * composed with this one produces the identity
+ * transformation.
+ * A transformation has an inverse if and only if it
+ * is not singular (i.e. its
+ * determinant is non-zero).
+ * Geometrically, an transformation is non-invertible
+ * if it maps the plane to a line or a point.
+ * If no inverse exists this method
+ * will throw a <tt>NoninvertibleTransformationException</tt>.
+ * <p>
+ * The matrix of the inverse is equal to the
+ * inverse of the matrix for the transformation.
+ * It is computed as follows:
+ * <blockquote><pre>
+ * 1
+ * inverse(A) = --- x adjoint(A)
+ * det
+ *
+ *
+ * = 1 | m11 -m01 m01*m12-m02*m11 |
+ * --- x | -m10 m00 -m00*m12+m10*m02 |
+ * det | 0 0 m00*m11-m10*m01 |
+ *
+ *
+ *
+ * = | m11/det -m01/det m01*m12-m02*m11/det |
+ * | -m10/det m00/det -m00*m12+m10*m02/det |
+ * | 0 0 1 |
+ *
+ * </pre></blockquote>
+ *
+ * @return a new inverse transformation
+ * @throws NoninvertibleTransformationException
+ * @see #getDeterminant()
+ */
+ public AffineTransformation getInverse()
+ throws NoninvertibleTransformationException
+ {
+ double det = getDeterminant();
+ if (det == 0)
+ throw new NoninvertibleTransformationException("Transformation is non-invertible");
+
+ double im00 = m11 / det;
+ double im10 = -m10 / det;
+ double im01 = -m01 / det;
+ double im11 = m00 / det;
+ double im02 = (m01 * m12 - m02 * m11) / det;
+ double im12 = (-m00 * m12 + m10 * m02) / det;
+
+ return new AffineTransformation(im00, im01, im02, im10, im11, im12);
+ }
+
+ /**
+ * Explicitly computes the math for a reflection. May not work.
+ * @param x0 the X ordinate of one point on the reflection line
+ * @param y0 the Y ordinate of one point on the reflection line
+ * @param x1 the X ordinate of another point on the reflection line
+ * @param y1 the Y ordinate of another point on the reflection line
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToReflectionBasic(double x0, double y0, double x1, double y1)
+ {
+ if (x0 == x1 && y0 == y1) {
+ throw new IllegalArgumentException("Reflection line points must be distinct");
+ }
+ double dx = x1 - x0;
+ double dy = y1 - y0;
+ double d = Math.sqrt(dx * dx + dy * dy);
+ double sin = dy / d;
+ double cos = dx / d;
+ double cs2 = 2 * sin * cos;
+ double c2s2 = cos * cos - sin * sin;
+ m00 = c2s2; m01 = cs2; m02 = 0.0;
+ m10 = cs2; m11 = -c2s2; m12 = 0.0;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a reflection
+ * about the line defined by a line <tt>(x0,y0) - (x1,y1)</tt>.
+ *
+ * @param x0 the X ordinate of one point on the reflection line
+ * @param y0 the Y ordinate of one point on the reflection line
+ * @param x1 the X ordinate of another point on the reflection line
+ * @param y1 the Y ordinate of another point on the reflection line
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToReflection(double x0, double y0, double x1, double y1)
+ {
+ if (x0 == x1 && y0 == y1) {
+ throw new IllegalArgumentException("Reflection line points must be distinct");
+ }
+ // translate line vector to origin
+ setToTranslation(-x0, -y0);
+
+ // rotate vector to positive x axis direction
+ double dx = x1 - x0;
+ double dy = y1 - y0;
+ double d = Math.sqrt(dx * dx + dy * dy);
+ double sin = dy / d;
+ double cos = dx / d;
+ rotate(-sin, cos);
+ // reflect about the x axis
+ scale(1, -1);
+ // rotate back
+ rotate(sin, cos);
+ // translate back
+ translate(x0, y0);
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a reflection
+ * about the line defined by vector (x,y).
+ * The transformation for a reflection
+ * is computed by:
+ * <blockquote><pre>
+ * d = sqrt(x<sup>2</sup> + y<sup>2</sup>)
+ * sin = y / d;
+ * cos = x / d;
+ *
+ * T<sub>ref</sub> = T<sub>rot(sin, cos)</sub> x T<sub>scale(1, -1)</sub> x T<sub>rot(-sin, cos)</sub>
+ * </pre></blockquote>
+ *
+ * @param x the x-component of the reflection line vector
+ * @param y the y-component of the reflection line vector
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToReflection(double x, double y)
+ {
+ if (x == 0.0 && y == 0.0) {
+ throw new IllegalArgumentException("Reflection vector must be non-zero");
+ }
+
+ /**
+ * Handle special case - x = y.
+ * This case is specified explicitly to avoid roundoff error.
+ */
+ if (x == y) {
+ m00 = 0.0;
+ m01 = 1.0;
+ m02 = 0.0;
+ m10 = 1.0;
+ m11 = 0.0;
+ m12 = 0.0;
+ return this;
+ }
+
+ // rotate vector to positive x axis direction
+ double d = Math.sqrt(x * x + y * y);
+ double sin = y / d;
+ double cos = x / d;
+ rotate(-sin, cos);
+ // reflect about the x-axis
+ scale(1, -1);
+ // rotate back
+ rotate(sin, cos);
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a rotation around the origin.
+ * A positive rotation angle corresponds
+ * to a counter-clockwise rotation.
+ * The transformation matrix for a rotation
+ * by an angle <tt>theta</tt>
+ * has the value:
+ * <blockquote><pre>
+ * | cos(theta) -sin(theta) 0 |
+ * | sin(theta) cos(theta) 0 |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ *
+ * @param theta the rotation angle, in radians
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToRotation(double theta)
+ {
+ setToRotation(Math.sin(theta), Math.cos(theta));
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a rotation around the origin
+ * by specifying the sin and cos of the rotation angle directly.
+ * The transformation matrix for the rotation
+ * has the value:
+ * <blockquote><pre>
+ * | cosTheta -sinTheta 0 |
+ * | sinTheta cosTheta 0 |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ *
+ * @param sinTheta the sine of the rotation angle
+ * @param cosTheta the cosine of the rotation angle
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToRotation(double sinTheta, double cosTheta)
+ {
+ m00 = cosTheta; m01 = -sinTheta; m02 = 0.0;
+ m10 = sinTheta; m11 = cosTheta; m12 = 0.0;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a rotation
+ * around a given point (x,y).
+ * A positive rotation angle corresponds
+ * to a counter-clockwise rotation.
+ * The transformation matrix for a rotation
+ * by an angle <tt>theta</tt>
+ * has the value:
+ * <blockquote><pre>
+ * | cosTheta -sinTheta x-x*cos+y*sin |
+ * | sinTheta cosTheta y-x*sin-y*cos |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ *
+ * @param theta the rotation angle, in radians
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToRotation(double theta, double x, double y)
+ {
+ setToRotation(Math.sin(theta), Math.cos(theta), x, y);
+ return this;
+ }
+
+
+ /**
+ * Sets this transformation to be a rotation
+ * around a given point (x,y)
+ * by specifying the sin and cos of the rotation angle directly.
+ * The transformation matrix for the rotation
+ * has the value:
+ * <blockquote><pre>
+ * | cosTheta -sinTheta x-x*cos+y*sin |
+ * | sinTheta cosTheta y-x*sin-y*cos |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ *
+ * @param sinTheta the sine of the rotation angle
+ * @param cosTheta the cosine of the rotation angle
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToRotation(double sinTheta, double cosTheta, double x, double y)
+ {
+ m00 = cosTheta; m01 = -sinTheta; m02 = x - x * cosTheta + y * sinTheta;
+ m10 = sinTheta; m11 = cosTheta; m12 = y - x * sinTheta - y * cosTheta;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a scaling.
+ * The transformation matrix for a scale
+ * has the value:
+ * <blockquote><pre>
+ * | xScale 0 dx |
+ * | 1 yScale dy |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ *
+ * @param xScale the amount to scale x-ordinates by
+ * @param yScale the amount to scale y-ordinates by
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToScale(double xScale, double yScale)
+ {
+ m00 = xScale; m01 = 0.0; m02 = 0.0;
+ m10 = 0.0; m11 = yScale; m12 = 0.0;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a shear.
+ * The transformation matrix for a shear
+ * has the value:
+ * <blockquote><pre>
+ * | 1 xShear 0 |
+ * | yShear 1 0 |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ * Note that a shear of (1, 1) is <i>not</i>
+ * equal to shear(1, 0) composed with shear(0, 1).
+ * Instead, shear(1, 1) corresponds to a mapping onto the
+ * line x = y.
+ *
+ * @param xShear the x component to shear by
+ * @param yShear the y component to shear by
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToShear(double xShear, double yShear)
+ {
+ m00 = 1.0; m01 = xShear; m02 = 0.0;
+ m10 = yShear; m11 = 1.0; m12 = 0.0;
+ return this;
+ }
+
+ /**
+ * Sets this transformation to be a translation.
+ * For a translation by the vector (x, y)
+ * the transformation matrix has the value:
+ * <blockquote><pre>
+ * | 1 0 dx |
+ * | 1 0 dy |
+ * | 0 0 1 |
+ * </pre></blockquote>
+ * @param dx the x component to translate by
+ * @param dy the y component to translate by
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation setToTranslation(double dx, double dy)
+ {
+ m00 = 1.0; m01 = 0.0; m02 = dx;
+ m10 = 0.0; m11 = 1.0; m12 = dy;
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a reflection transformation composed
+ * with the current value.
+ *
+ * @param x0 the x-ordinate of a point on the line to reflect around
+ * @param y0 the y-ordinate of a point on the line to reflect around
+ * @param x1 the x-ordinate of a point on the line to reflect around
+ * @param y1 the y-ordinate of a point on the line to reflect around
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation reflect(double x0, double y0, double x1, double y1)
+ {
+ compose(reflectionInstance(x0, y0, x1, y1));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a reflection transformation composed
+ * with the current value.
+ *
+ * @param x the x-ordinate of the line to reflect around
+ * @param y the y-ordinate of the line to reflect around
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation reflect(double x, double y)
+ {
+ compose(reflectionInstance(x, y));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a rotation transformation composed
+ * with the current value.
+ * Positive angles correspond to a rotation
+ * in the counter-clockwise direction.
+ *
+ * @param theta the angle to rotate by, in radians
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation rotate(double theta)
+ {
+ compose(rotationInstance(theta));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a rotation around the origin composed
+ * with the current value,
+ * with the sin and cos of the rotation angle specified directly.
+ *
+ * @param sinTheta the sine of the angle to rotate by
+ * @param cosTheta the cosine of the angle to rotate by
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation rotate(double sinTheta, double cosTheta)
+ {
+ compose(rotationInstance(sinTheta, cosTheta));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a rotation around a given point composed
+ * with the current value.
+ * Positive angles correspond to a rotation
+ * in the counter-clockwise direction.
+ *
+ * @param theta the angle to rotate by, in radians
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation rotate(double theta, double x, double y)
+ {
+ compose(rotationInstance(theta, x, y));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a rotation around a given point composed
+ * with the current value,
+ * with the sin and cos of the rotation angle specified directly.
+ *
+ * @param sinTheta the sine of the angle to rotate by
+ * @param cosTheta the cosine of the angle to rotate by
+ * @param x the x-ordinate of the rotation point
+ * @param y the y-ordinate of the rotation point
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation rotate(double sinTheta, double cosTheta, double x, double y)
+ {
+ compose(rotationInstance(sinTheta, cosTheta));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a scale transformation composed
+ * with the current value.
+ *
+ * @param xScale the value to scale by in the x direction
+ * @param yScale the value to scale by in the y direction
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation scale(double xScale, double yScale)
+ {
+ compose(scaleInstance(xScale, yScale));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a shear transformation composed
+ * with the current value.
+ *
+ * @param xShear the value to shear by in the x direction
+ * @param yShear the value to shear by in the y direction
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation shear(double xShear, double yShear)
+ {
+ compose(shearInstance(xShear, yShear));
+ return this;
+ }
+
+ /**
+ * Updates the value of this transformation
+ * to that of a translation transformation composed
+ * with the current value.
+ *
+ * @param x the value to translate by in the x direction
+ * @param y the value to translate by in the y direction
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation translate(double x, double y)
+ {
+ compose(translationInstance(x, y));
+ return this;
+ }
+
+
+ /**
+ * Updates this transformation to be
+ * the composition of this transformation with the given {@link AffineTransformation}.
+ * This produces a transformation whose effect
+ * is equal to applying this transformation
+ * followed by the argument transformation.
+ * Mathematically,
+ * <blockquote><pre>
+ * A.compose(B) = T<sub>B</sub> x T<sub>A</sub>
+ * </pre></blockquote>
+ *
+ * @param trans an affine transformation
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation compose(AffineTransformation trans)
+ {
+ double mp00 = trans.m00 * m00 + trans.m01 * m10;
+ double mp01 = trans.m00 * m01 + trans.m01 * m11;
+ double mp02 = trans.m00 * m02 + trans.m01 * m12 + trans.m02;
+ double mp10 = trans.m10 * m00 + trans.m11 * m10;
+ double mp11 = trans.m10 * m01 + trans.m11 * m11;
+ double mp12 = trans.m10 * m02 + trans.m11 * m12 + trans.m12;
+ m00 = mp00;
+ m01 = mp01;
+ m02 = mp02;
+ m10 = mp10;
+ m11 = mp11;
+ m12 = mp12;
+ return this;
+ }
+
+ /**
+ * Updates this transformation to be the composition
+ * of a given {@link AffineTransformation} with this transformation.
+ * This produces a transformation whose effect
+ * is equal to applying the argument transformation
+ * followed by this transformation.
+ * Mathematically,
+ * <blockquote><pre>
+ * A.composeBefore(B) = T<sub>A</sub> x T<sub>B</sub>
+ * </pre></blockquote>
+ *
+ * @param trans an affine transformation
+ * @return this transformation, with an updated matrix
+ */
+ public AffineTransformation composeBefore(AffineTransformation trans)
+ {
+ double mp00 = m00 * trans.m00 + m01 * trans.m10;
+ double mp01 = m00 * trans.m01 + m01 * trans.m11;
+ double mp02 = m00 * trans.m02 + m01 * trans.m12 + m02;
+ double mp10 = m10 * trans.m00 + m11 * trans.m10;
+ double mp11 = m10 * trans.m01 + m11 * trans.m11;
+ double mp12 = m10 * trans.m02 + m11 * trans.m12 + m12;
+ m00 = mp00;
+ m01 = mp01;
+ m02 = mp02;
+ m10 = mp10;
+ m11 = mp11;
+ m12 = mp12;
+ return this;
+ }
+
+ /**
+ * Applies this transformation to the <tt>src</tt> coordinate
+ * and places the results in the <tt>dest</tt> coordinate
+ * (which may be the same as the source).
+ *
+ * @param src the coordinate to transform
+ * @param dest the coordinate to accept the results
+ * @return the <tt>dest</tt> coordinate
+ */
+ public Coordinate transform(Coordinate src, Coordinate dest)
+ {
+ double xp = m00 * src.x + m01 * src.y + m02;
+ double yp = m10 * src.x + m11 * src.y + m12;
+ dest.x = xp;
+ dest.y = yp;
+ return dest;
+ }
+
+ /**
+ * Creates a new {@link Geometry} which is the result
+ * of this transformation applied to the input Geometry.
+ *
+ *@param g a <code>Geometry</code>
+ *@return a transformed Geometry
+ */
+ public Geometry transform(Geometry g)
+ {
+ Geometry g2 = g.copy();
+ g2.apply(this);
+ return g2;
+ }
+
+ /**
+ * Applies this transformation to the i'th coordinate
+ * in the given CoordinateSequence.
+ *
+ *@param seq a <code>CoordinateSequence</code>
+ *@param i the index of the coordinate to transform
+ */
+ public void transform(CoordinateSequence seq, int i)
+ {
+ double xp = m00 * seq.getOrdinate(i, 0) + m01 * seq.getOrdinate(i, 1) + m02;
+ double yp = m10 * seq.getOrdinate(i, 0) + m11 * seq.getOrdinate(i, 1) + m12;
+ seq.setOrdinate(i, 0, xp);
+ seq.setOrdinate(i, 1, yp);
+ }
+
+ /**
+ * Transforms the i'th coordinate in the input sequence
+ *
+ *@param seq a <code>CoordinateSequence</code>
+ *@param i the index of the coordinate to transform
+ */
+ public void filter(CoordinateSequence seq, int i)
+ {
+ transform(seq, i);
+ }
+
+ public boolean isGeometryChanged()
+ {
+ return true;
+ }
+
+ /**
+ * Reports that this filter should continue to be executed until
+ * all coordinates have been transformed.
+ *
+ * @return false
+ */
+ public boolean isDone()
+ {
+ return false;
+ }
+
+ /**
+ * Tests if this transformation is the identity transformation.
+ *
+ * @return true if this is the identity transformation
+ */
+ public boolean isIdentity()
+ {
+ return (m00 == 1 && m01 == 0 && m02 == 0
+ && m10 == 0 && m11 == 1 && m12 == 0);
+ }
+
+ /**
+ * Tests if an object is an
+ * <tt>AffineTransformation</tt>
+ * and has the same matrix as
+ * this transformation.
+ *
+ * @param obj an object to test
+ * @return true if the given object is equal to this object
+ */
+ public boolean equals(Object obj)
+ {
+ if (obj == null) return false;
+ if (! (obj instanceof AffineTransformation))
+ return false;
+
+ AffineTransformation trans = (AffineTransformation) obj;
+ return m00 == trans.m00
+ && m01 == trans.m01
+ && m02 == trans.m02
+ && m10 == trans.m10
+ && m11 == trans.m11
+ && m12 == trans.m12;
+ }
+
+ /**
+ * Gets a text representation of this transformation.
+ * The string is of the form:
+ * <pre>
+ * AffineTransformation[[m00, m01, m02], [m10, m11, m12]]
+ * </pre>
+ *
+ * @return a string representing this transformation
+ *
+ */
+ public String toString()
+ {
+ return "AffineTransformation[[" + m00 + ", " + m01 + ", " + m02
+ + "], ["
+ + m10 + ", " + m11 + ", " + m12 + "]]";
+ }
+
+ /**
+ * Clones this transformation
+ *
+ * @return a copy of this transformation
+ */
+ public Object clone()
+ {
+ try {
+ return super.clone();
+ } catch(Exception ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return null;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationBuilder.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationBuilder.java
new file mode 100644
index 0000000..64cf8a0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationBuilder.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.math.Matrix;
+
+/**
+ * Builds an {@link AffineTransformation} defined by a set of control vectors.
+ * A control vector consists of a source point and a destination point,
+ * which is the image of the source point under the desired transformation.
+ * <p>
+ * A transformation is well-defined
+ * by a set of three control vectors
+ * if and only if the source points are not collinear.
+ * (In particular, the degenerate situation
+ * where two or more source points are identical will not produce a well-defined transformation).
+ * A well-defined transformation exists and is unique.
+ * If the control vectors are not well-defined, the system of equations
+ * defining the transformation matrix entries is not solvable,
+ * and no transformation can be determined.
+ * <p>
+ * No such restriction applies to the destination points.
+ * However, if the destination points are collinear or non-unique,
+ * a non-invertible transformations will be generated.
+ * <p>
+ * This technique of recovering a transformation
+ * from its effect on known points is used in the Bilinear Interpolated Triangulation
+ * algorithm for warping planar surfaces.
+ *
+ * @author Martin Davis
+ */
+public class AffineTransformationBuilder
+{
+ private Coordinate src0;
+ private Coordinate src1;
+ private Coordinate src2;
+ private Coordinate dest0;
+ private Coordinate dest1;
+ private Coordinate dest2;
+
+ // the matrix entries for the transformation
+ private double m00, m01, m02, m10, m11, m12;
+
+
+ /**
+ * Constructs a new builder for
+ * the transformation defined by the given
+ * set of control point mappings.
+ *
+ * @param src0 a control point
+ * @param src1 a control point
+ * @param src2 a control point
+ * @param dest0 the image of control point 0 under the required transformation
+ * @param dest1 the image of control point 1 under the required transformation
+ * @param dest2 the image of control point 2 under the required transformation
+ */
+ public AffineTransformationBuilder(Coordinate src0,
+ Coordinate src1,
+ Coordinate src2,
+ Coordinate dest0,
+ Coordinate dest1,
+ Coordinate dest2)
+ {
+ this.src0 = src0;
+ this.src1 = src1;
+ this.src2 = src2;
+ this.dest0 = dest0;
+ this.dest1 = dest1;
+ this.dest2 = dest2;
+ }
+
+ /**
+ * Computes the {@link AffineTransformation}
+ * determined by the control point mappings,
+ * or <code>null</code> if the control vectors do not determine a well-defined transformation.
+ *
+ * @return an affine transformation
+ * @return null if the control vectors do not determine a well-defined transformation
+ */
+ public AffineTransformation getTransformation()
+ {
+ // compute full 3-point transformation
+ boolean isSolvable = compute();
+ if (isSolvable)
+ return new AffineTransformation(m00, m01, m02, m10, m11, m12);
+ return null;
+ }
+
+ /**
+ * Computes the transformation matrix by
+ * solving the two systems of linear equations
+ * defined by the control point mappings,
+ * if this is possible.
+ *
+ * @return true if the transformation matrix is solvable
+ */
+ private boolean compute()
+ {
+ double[] bx = new double[] { dest0.x, dest1.x, dest2.x };
+ double[] row0 = solve(bx);
+ if (row0 == null) return false;
+ m00 = row0[0];
+ m01 = row0[1];
+ m02 = row0[2];
+
+ double[] by = new double[] { dest0.y, dest1.y, dest2.y };
+ double[] row1 = solve(by);
+ if (row1 == null) return false;
+ m10 = row1[0];
+ m11 = row1[1];
+ m12 = row1[2];
+ return true;
+ }
+
+ /**
+ * Solves the transformation matrix system of linear equations
+ * for the given right-hand side vector.
+ *
+ * @param b the vector for the right-hand side of the system
+ * @return the solution vector
+ * @return null if no solution could be determined
+ */
+ private double[] solve(double[] b)
+ {
+ double[][] a = new double[][] {
+ { src0.x, src0.y, 1 },
+ { src1.x, src1.y, 1},
+ { src2.x, src2.y, 1}
+ };
+ return Matrix.solve(a, b);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationFactory.java
new file mode 100644
index 0000000..8f7148b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/AffineTransformationFactory.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.algorithm.Angle;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Supports creating {@link AffineTransformation}s defined by various kinds of
+ * inputs and transformation mapping rules.
+ *
+ * @author Martin Davis
+ *
+ */
+public class AffineTransformationFactory {
+ /**
+ * Creates a transformation from a set of three control vectors. A control
+ * vector consists of a source point and a destination point, which is the
+ * image of the source point under the desired transformation. Three control
+ * vectors allows defining a fully general affine transformation.
+ *
+ * @param src0
+ * @param src1
+ * @param src2
+ * @param dest0
+ * @param dest1
+ * @param dest2
+ * @return the computed transformation
+ */
+ public static AffineTransformation createFromControlVectors(Coordinate src0,
+ Coordinate src1, Coordinate src2, Coordinate dest0, Coordinate dest1,
+ Coordinate dest2) {
+ AffineTransformationBuilder builder = new AffineTransformationBuilder(src0,
+ src1, src2, dest0, dest1, dest2);
+ return builder.getTransformation();
+ }
+
+ /**
+ * Creates an AffineTransformation defined by a pair of control vectors. A
+ * control vector consists of a source point and a destination point, which is
+ * the image of the source point under the desired transformation. The
+ * computed transformation is a combination of one or more of a uniform scale,
+ * a rotation, and a translation (i.e. there is no shear component and no
+ * reflection)
+ *
+ * @param src0
+ * @param src1
+ * @param dest0
+ * @param dest1
+ * @return the computed transformation
+ * @return null if the control vectors do not determine a well-defined transformation
+ */
+ public static AffineTransformation createFromControlVectors(Coordinate src0,
+ Coordinate src1, Coordinate dest0, Coordinate dest1) {
+ Coordinate rotPt = new Coordinate(dest1.x - dest0.x, dest1.y - dest0.y);
+
+ double ang = Angle.angleBetweenOriented(src1, src0, rotPt);
+
+ double srcDist = src1.distance(src0);
+ double destDist = dest1.distance(dest0);
+
+ if (srcDist == 0.0)
+ return null;
+
+ double scale = destDist / srcDist;
+
+ AffineTransformation trans = AffineTransformation.translationInstance(
+ -src0.x, -src0.y);
+ trans.rotate(ang);
+ trans.scale(scale, scale);
+ trans.translate(dest0.x, dest0.y);
+ return trans;
+ }
+
+ /**
+ * Creates an AffineTransformation defined by a single control vector. A
+ * control vector consists of a source point and a destination point, which is
+ * the image of the source point under the desired transformation. This
+ * produces a translation.
+ *
+ * @param src0
+ * the start point of the control vector
+ * @param dest0
+ * the end point of the control vector
+ * @return the computed transformation
+ */
+ public static AffineTransformation createFromControlVectors(Coordinate src0,
+ Coordinate dest0) {
+ double dx = dest0.x - src0.x;
+ double dy = dest0.y - src0.y;
+ return AffineTransformation.translationInstance(dx, dy);
+ }
+
+ /**
+ * Creates an AffineTransformation defined by a set of control vectors.
+ * Between one and three vectors must be supplied.
+ *
+ * @param src
+ * the source points of the vectors
+ * @param dest
+ * the destination points of the vectors
+ * @return the computed transformation
+ * @throws IllegalArgumentException
+ * if the control vector arrays are too short, long or of different
+ * lengths
+ */
+ public static AffineTransformation createFromControlVectors(Coordinate[] src,
+ Coordinate[] dest) {
+ if (src.length != dest.length)
+ throw new IllegalArgumentException(
+ "Src and Dest arrays are not the same length");
+ if (src.length <= 0)
+ throw new IllegalArgumentException("Too few control points");
+ if (src.length > 3)
+ throw new IllegalArgumentException("Too many control points");
+
+ if (src.length == 1)
+ return createFromControlVectors(src[0], dest[0]);
+ if (src.length == 2)
+ return createFromControlVectors(src[0], src[1], dest[0], dest[1]);
+
+ return createFromControlVectors(src[0], src[1], src[2], dest[0], dest[1],
+ dest[2]);
+ }
+
+ /**
+ * Creates an AffineTransformation defined by a mapping between two baselines.
+ * The computed transformation consists of:
+ * <ul>
+ * <li>a translation
+ * from the start point of the source baseline to the start point of the destination baseline,
+ * <li>a rotation through the angle between the baselines about the destination start point,
+ * <li>and a scaling equal to the ratio of the baseline lengths.
+ * </ul>
+ * If the source baseline has zero length, an identity transformation is returned.
+ *
+ * @param src0 the start point of the source baseline
+ * @param src1 the end point of the source baseline
+ * @param dest0 the start point of the destination baseline
+ * @param dest1 the end point of the destination baseline
+ * @return the computed transformation
+ */
+ public static AffineTransformation createFromBaseLines(
+ Coordinate src0, Coordinate src1,
+ Coordinate dest0, Coordinate dest1)
+ {
+ Coordinate rotPt = new Coordinate(src0.x + dest1.x - dest0.x, src0.y + dest1.y - dest0.y);
+
+ double ang = Angle.angleBetweenOriented(src1, src0, rotPt);
+
+ double srcDist = src1.distance(src0);
+ double destDist = dest1.distance(dest0);
+
+ // return identity if transformation would be degenerate
+ if (srcDist == 0.0)
+ return new AffineTransformation();
+
+ double scale = destDist / srcDist;
+
+ AffineTransformation trans = AffineTransformation.translationInstance(
+ -src0.x, -src0.y);
+ trans.rotate(ang);
+ trans.scale(scale, scale);
+ trans.translate(dest0.x, dest0.y);
+ return trans;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.java
new file mode 100644
index 0000000..43030d0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.java
@@ -0,0 +1,68 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+
+/**
+ * Extracts a single representative {@link Coordinate}
+ * from each connected component of a {@link Geometry}.
+ *
+ * @version 1.9
+ */
+public class ComponentCoordinateExtracter
+ implements GeometryComponentFilter
+{
+
+ /**
+ * Extracts the linear components from a single geometry.
+ * If more than one geometry is to be processed, it is more
+ * efficient to create a single {@link ComponentCoordinateExtracter} instance
+ * and pass it to multiple geometries.
+ *
+ * @param geom the Geometry from which to extract
+ * @return a list of Coordinates
+ */
+ public static List getCoordinates(Geometry geom)
+ {
+ List coords = new ArrayList();
+ geom.apply(new ComponentCoordinateExtracter(coords));
+ return coords;
+ }
+
+ private List coords;
+
+ /**
+ * Constructs a LineExtracterFilter with a list in which to store LineStrings found.
+ */
+ public ComponentCoordinateExtracter(List coords)
+ {
+ this.coords = coords;
+ }
+
+ public void filter(Geometry geom)
+ {
+ // add coordinates from connected components
+ if (geom instanceof LineString
+ || geom instanceof Point)
+ coords.add(geom.getCoordinate());
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCollectionMapper.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCollectionMapper.java
new file mode 100644
index 0000000..6ed6cf1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCollectionMapper.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.util.GeometryMapper.MapOp;
+
+/**
+ * Maps the members of a {@link GeometryCollection}
+ * into another <tt>GeometryCollection</tt> via a defined
+ * mapping function.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryCollectionMapper
+{
+ public static GeometryCollection map(GeometryCollection gc, MapOp op)
+ {
+ GeometryCollectionMapper mapper = new GeometryCollectionMapper(op);
+ return mapper.map(gc);
+ }
+
+ private MapOp mapOp = null;
+
+ public GeometryCollectionMapper(MapOp mapOp) {
+ this.mapOp = mapOp;
+ }
+
+ public GeometryCollection map(GeometryCollection gc)
+ {
+ List mapped = new ArrayList();
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = mapOp.map(gc.getGeometryN(i));
+ if (!g.isEmpty())
+ mapped.add(g);
+ }
+ return gc.getFactory().createGeometryCollection(
+ GeometryFactory.toGeometryArray(mapped));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCombiner.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCombiner.java
new file mode 100644
index 0000000..e1704ac
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryCombiner.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygonal;
+
+
+/**
+ * Combines {@link Geometry}s
+ * to produce a {@link GeometryCollection} of the most appropriate type.
+ * Input geometries which are already collections
+ * will have their elements extracted first.
+ * No validation of the result geometry is performed.
+ * (The only case where invalidity is possible is where {@link Polygonal} geometries
+ * are combined and result in a self-intersection).
+ *
+ * @author mbdavis
+ * @see GeometryFactory#buildGeometry
+ */
+public class GeometryCombiner
+{
+ /**
+ * Combines a collection of geometries.
+ *
+ * @param geoms the geometries to combine
+ * @return the combined geometry
+ */
+ public static Geometry combine(Collection geoms)
+ {
+ GeometryCombiner combiner = new GeometryCombiner(geoms);
+ return combiner.combine();
+ }
+
+ /**
+ * Combines two geometries.
+ *
+ * @param g0 a geometry to combine
+ * @param g1 a geometry to combine
+ * @return the combined geometry
+ */
+ public static Geometry combine(Geometry g0, Geometry g1)
+ {
+ GeometryCombiner combiner = new GeometryCombiner(createList(g0, g1));
+ return combiner.combine();
+ }
+
+ /**
+ * Combines three geometries.
+ *
+ * @param g0 a geometry to combine
+ * @param g1 a geometry to combine
+ * @param g2 a geometry to combine
+ * @return the combined geometry
+ */
+ public static Geometry combine(Geometry g0, Geometry g1, Geometry g2)
+ {
+ GeometryCombiner combiner = new GeometryCombiner(createList(g0, g1, g2));
+ return combiner.combine();
+ }
+
+ /**
+ * Creates a list from two items
+ *
+ * @param obj0
+ * @param obj1
+ * @return a List containing the two items
+ */
+ private static List createList(Object obj0, Object obj1)
+ {
+ List list = new ArrayList();
+ list.add(obj0);
+ list.add(obj1);
+ return list;
+ }
+
+ /**
+ * Creates a list from two items
+ *
+ * @param obj0
+ * @param obj1
+ * @return a List containing the two items
+ */
+ private static List createList(Object obj0, Object obj1, Object obj2)
+ {
+ List list = new ArrayList();
+ list.add(obj0);
+ list.add(obj1);
+ list.add(obj2);
+ return list;
+ }
+
+ private GeometryFactory geomFactory;
+ private boolean skipEmpty = false;
+ private Collection inputGeoms;
+
+ /**
+ * Creates a new combiner for a collection of geometries
+ *
+ * @param geoms the geometries to combine
+ */
+ public GeometryCombiner(Collection geoms)
+ {
+ geomFactory = extractFactory(geoms);
+ this.inputGeoms = geoms;
+ }
+
+ /**
+ * Extracts the GeometryFactory used by the geometries in a collection
+ *
+ * @param geoms
+ * @return a GeometryFactory
+ */
+ public static GeometryFactory extractFactory(Collection geoms) {
+ if (geoms.isEmpty())
+ return null;
+ return ((Geometry) geoms.iterator().next()).getFactory();
+ }
+
+ /**
+ * Computes the combination of the input geometries
+ * to produce the most appropriate {@link Geometry} or {@link GeometryCollection}
+ *
+ * @return a Geometry which is the combination of the inputs
+ */
+ public Geometry combine()
+ {
+ List elems = new ArrayList();
+ for (Iterator i = inputGeoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ extractElements(g, elems);
+ }
+
+ if (elems.size() == 0) {
+ if (geomFactory != null) {
+ // return an empty GC
+ return geomFactory.createGeometryCollection();
+ }
+ return null;
+ }
+ // return the "simplest possible" geometry
+ return geomFactory.buildGeometry(elems);
+ }
+
+ private void extractElements(Geometry geom, List elems)
+ {
+ if (geom == null)
+ return;
+
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry elemGeom = geom.getGeometryN(i);
+ if (skipEmpty && elemGeom.isEmpty())
+ continue;
+ elems.add(elemGeom);
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryEditor.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryEditor.java
new file mode 100644
index 0000000..29d562e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryEditor.java
@@ -0,0 +1,357 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * A class which supports creating new {@link Geometry}s
+ * which are modifications of existing ones,
+ * maintaining the same type structure.
+ * Geometry objects are intended to be treated as immutable.
+ * This class "modifies" Geometrys
+ * by traversing them, applying a user-defined
+ * {@link GeometryEditorOperation}, {@link CoordinateSequenceOperation} or {@link CoordinateOperation}
+ * and creating new Geometrys with the same structure but
+ * (possibly) modified components.
+ * <p>
+ * Examples of the kinds of modifications which can be made are:
+ * <ul>
+ * <li>the values of the coordinates may be changed.
+ * The editor does not check whether changing coordinate values makes the result Geometry invalid
+ * <li>the coordinate lists may be changed
+ * (e.g. by adding, deleting or modifying coordinates).
+ * The modified coordinate lists must be consistent with their original parent component
+ * (e.g. a <tt>LinearRing</tt> must always have at least 4 coordinates, and the first and last
+ * coordinate must be equal)
+ * <li>components of the original geometry may be deleted
+ * (e.g. holes may be removed from a Polygon, or LineStrings removed from a MultiLineString).
+ * Deletions will be propagated up the component tree appropriately.
+ * </ul>
+ * All changes must be consistent with the original Geometry's structure
+ * (e.g. a <tt>Polygon</tt> cannot be collapsed into a <tt>LineString</tt>).
+ * If changing the structure is required, use a {@link GeometryTransformer}.
+ * <p>
+ * This class supports creating an edited Geometry
+ * using a different <code>GeometryFactory</code> via the {@link #GeometryEditor(GeometryFactory)}
+ * constructor.
+ * Examples of situations where this is required is if the geometry is
+ * transformed to a new SRID and/or a new PrecisionModel.
+ * <p>
+ * <b>Usage Notes</b>
+ * <ul>
+ * <li>The resulting Geometry is not checked for validity.
+ * If validity needs to be enforced, the new Geometry's
+ * {@link Geometry#isValid} method should be called.
+ * <li>By default the UserData of the input geometry is not copied to the result.
+ * </ul>
+ *
+ * @see GeometryTransformer
+ * @see Geometry#isValid
+ *
+ * @version 1.7
+ */
+public class GeometryEditor
+{
+ /**
+ * The factory used to create the modified Geometry.
+ * If <tt>null</tt> the GeometryFactory of the input is used.
+ */
+ private GeometryFactory factory = null;
+ private boolean isUserDataCopied = false;
+
+ /**
+ * Creates a new GeometryEditor object which will create
+ * edited {@link Geometry}s with the same {@link GeometryFactory} as the input Geometry.
+ */
+ public GeometryEditor()
+ {
+ }
+
+ /**
+ * Creates a new GeometryEditor object which will create
+ * edited {@link Geometry}s with the given {@link GeometryFactory}.
+ *
+ * @param factory the GeometryFactory to create edited Geometrys with
+ */
+ public GeometryEditor(GeometryFactory factory)
+ {
+ this.factory = factory;
+ }
+
+ /**
+ * Sets whether the User Data is copied to the edit result.
+ * Only the object reference is copied.
+ *
+ * @param isUserDataCopied true if the input user data should be copied.
+ */
+ public void setCopyUserData(boolean isUserDataCopied)
+ {
+ this.isUserDataCopied = isUserDataCopied;
+ }
+
+ /**
+ * Edit the input {@link Geometry} with the given edit operation.
+ * Clients can create subclasses of {@link GeometryEditorOperation} or
+ * {@link CoordinateOperation} to perform required modifications.
+ *
+ * @param geometry the Geometry to edit
+ * @param operation the edit operation to carry out
+ * @return a new {@link Geometry} which is the result of the editing (which may be empty)
+ */
+ public Geometry edit(Geometry geometry, GeometryEditorOperation operation)
+ {
+ // nothing to do
+ if (geometry == null) return null;
+
+ Geometry result = editInternal(geometry, operation);
+ if (isUserDataCopied) {
+ result.setUserData(geometry.getUserData());
+ }
+ return result;
+ }
+
+ private Geometry editInternal(Geometry geometry, GeometryEditorOperation operation)
+ {
+ // if client did not supply a GeometryFactory, use the one from the input Geometry
+ if (factory == null)
+ factory = geometry.getFactory();
+
+ if (geometry instanceof GeometryCollection) {
+ return editGeometryCollection((GeometryCollection) geometry,
+ operation);
+ }
+
+ if (geometry instanceof Polygon) {
+ return editPolygon((Polygon) geometry, operation);
+ }
+
+ if (geometry instanceof Point) {
+ return operation.edit(geometry, factory);
+ }
+
+ if (geometry instanceof LineString) {
+ return operation.edit(geometry, factory);
+ }
+
+ Assert.shouldNeverReachHere("Unsupported Geometry class: " + geometry.getClass().getName());
+ return null;
+ }
+
+ private Polygon editPolygon(Polygon polygon,
+ GeometryEditorOperation operation) {
+ Polygon newPolygon = (Polygon) operation.edit(polygon, factory);
+ // create one if needed
+ if (newPolygon == null)
+ newPolygon = factory.createPolygon();
+ if (newPolygon.isEmpty()) {
+ //RemoveSelectedPlugIn relies on this behaviour. [Jon Aquino]
+ return newPolygon;
+ }
+
+ LinearRing shell = (LinearRing) edit(newPolygon.getExteriorRing(), operation);
+ if (shell == null || shell.isEmpty()) {
+ //RemoveSelectedPlugIn relies on this behaviour. [Jon Aquino]
+ return factory.createPolygon();
+ }
+
+ ArrayList holes = new ArrayList();
+ for (int i = 0; i < newPolygon.getNumInteriorRing(); i++) {
+ LinearRing hole = (LinearRing) edit(newPolygon.getInteriorRingN(i), operation);
+ if (hole == null || hole.isEmpty()) {
+ continue;
+ }
+ holes.add(hole);
+ }
+
+ return factory.createPolygon(shell,
+ (LinearRing[]) holes.toArray(new LinearRing[] { }));
+ }
+
+ private GeometryCollection editGeometryCollection(
+ GeometryCollection collection, GeometryEditorOperation operation) {
+ // first edit the entire collection
+ // MD - not sure why this is done - could just check original collection?
+ GeometryCollection collectionForType = (GeometryCollection) operation.edit(collection,
+ factory);
+
+ // edit the component geometries
+ ArrayList geometries = new ArrayList();
+ for (int i = 0; i < collectionForType.getNumGeometries(); i++) {
+ Geometry geometry = edit(collectionForType.getGeometryN(i), operation);
+ if (geometry == null || geometry.isEmpty()) {
+ continue;
+ }
+ geometries.add(geometry);
+ }
+
+ if (collectionForType.getClass() == MultiPoint.class) {
+ return factory.createMultiPoint((Point[]) geometries.toArray(
+ new Point[] { }));
+ }
+ if (collectionForType.getClass() == MultiLineString.class) {
+ return factory.createMultiLineString((LineString[]) geometries.toArray(
+ new LineString[] { }));
+ }
+ if (collectionForType.getClass() == MultiPolygon.class) {
+ return factory.createMultiPolygon((Polygon[]) geometries.toArray(
+ new Polygon[] { }));
+ }
+ return factory.createGeometryCollection((Geometry[]) geometries.toArray(
+ new Geometry[] { }));
+ }
+
+ /**
+ * A interface which specifies an edit operation for Geometries.
+ *
+ * @version 1.7
+ */
+ public interface GeometryEditorOperation
+ {
+ /**
+ * Edits a Geometry by returning a new Geometry with a modification.
+ * The returned geometry may be:
+ * <ul>
+ * <li>the input geometry itself.
+ * The returned Geometry might be the same as the Geometry passed in.
+ * <li><code>null</code> if the geometry is to be deleted.
+ * </ul>
+ *
+ * @param geometry the Geometry to modify
+ * @param factory the factory with which to construct the modified Geometry
+ * (may be different to the factory of the input geometry)
+ * @return a new Geometry which is a modification of the input Geometry
+ * @return null if the Geometry is to be deleted completely
+ */
+ Geometry edit(Geometry geometry, GeometryFactory factory);
+ }
+
+ /**
+ * A GeometryEditorOperation which does not modify
+ * the input geometry.
+ * This can be used for simple changes of
+ * GeometryFactory (including PrecisionModel and SRID).
+ *
+ * @author mbdavis
+ *
+ */
+ public static class NoOpGeometryOperation
+ implements GeometryEditorOperation
+ {
+ public Geometry edit(Geometry geometry, GeometryFactory factory)
+ {
+ return geometry;
+ }
+ }
+
+ /**
+ * A {@link GeometryEditorOperation} which edits the coordinate list of a {@link Geometry}.
+ * Operates on Geometry subclasses which contains a single coordinate list.
+ */
+ public abstract static class CoordinateOperation
+ implements GeometryEditorOperation
+ {
+ public final Geometry edit(Geometry geometry, GeometryFactory factory) {
+ if (geometry instanceof LinearRing) {
+ return factory.createLinearRing(edit(geometry.getCoordinates(),
+ geometry));
+ }
+
+ if (geometry instanceof LineString) {
+ return factory.createLineString(edit(geometry.getCoordinates(),
+ geometry));
+ }
+
+ if (geometry instanceof Point) {
+ Coordinate[] newCoordinates = edit(geometry.getCoordinates(),
+ geometry);
+
+ return factory.createPoint((newCoordinates.length > 0)
+ ? newCoordinates[0] : null);
+ }
+
+ return geometry;
+ }
+
+ /**
+ * Edits the array of {@link Coordinate}s from a {@link Geometry}.
+ * <p>
+ * If it is desired to preserve the immutability of Geometrys,
+ * if the coordinates are changed a new array should be created
+ * and returned.
+ *
+ * @param coordinates the coordinate array to operate on
+ * @param geometry the geometry containing the coordinate list
+ * @return an edited coordinate array (which may be the same as the input)
+ */
+ public abstract Coordinate[] edit(Coordinate[] coordinates,
+ Geometry geometry);
+ }
+
+ /**
+ * A {@link GeometryEditorOperation} which edits the {@link CoordinateSequence}
+ * of a {@link Geometry}.
+ * Operates on Geometry subclasses which contains a single coordinate list.
+ */
+ public abstract static class CoordinateSequenceOperation
+ implements GeometryEditorOperation
+ {
+ public final Geometry edit(Geometry geometry, GeometryFactory factory) {
+ if (geometry instanceof LinearRing) {
+ return factory.createLinearRing(edit(
+ ((LinearRing)geometry).getCoordinateSequence(),
+ geometry));
+ }
+
+ if (geometry instanceof LineString) {
+ return factory.createLineString(edit(
+ ((LineString)geometry).getCoordinateSequence(),
+ geometry));
+ }
+
+ if (geometry instanceof Point) {
+ return factory.createPoint(edit(
+ ((Point)geometry).getCoordinateSequence(),
+ geometry));
+ }
+
+ return geometry;
+ }
+
+ /**
+ * Edits a {@link CoordinateSequence} from a {@link Geometry}.
+ *
+ * @param coordSeq the coordinate array to operate on
+ * @param geometry the geometry containing the coordinate list
+ * @return an edited coordinate sequence (which may be the same as the input)
+ */
+ public abstract CoordinateSequence edit(CoordinateSequence coordSeq,
+ Geometry geometry);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryExtracter.java
new file mode 100644
index 0000000..a1d1e80
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryExtracter.java
@@ -0,0 +1,88 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFilter;
+
+/**
+ * Extracts the components of a given type from a {@link Geometry}.
+ *
+ * @version 1.7
+ */
+public class GeometryExtracter
+ implements GeometryFilter
+{
+
+ protected static boolean isOfClass(Object o, Class clz)
+ {
+ return clz.isAssignableFrom(o.getClass());
+// return o.getClass() == clz;
+ }
+
+ /**
+ * Extracts the components of type <tt>clz</tt> from a {@link Geometry}
+ * and adds them to the provided {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ * @param list the list to add the extracted elements to
+ */
+ public static List extract(Geometry geom, Class clz, List list)
+ {
+ if (isOfClass(geom, clz)) {
+ list.add(geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ geom.apply(new GeometryExtracter(clz, list));
+ }
+ // skip non-LineString elemental geometries
+
+ return list;
+ }
+
+ /**
+ * Extracts the components of type <tt>clz</tt> from a {@link Geometry}
+ * and returns them in a {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ */
+ public static List extract(Geometry geom, Class clz)
+ {
+ return extract(geom, clz, new ArrayList());
+ }
+
+ private Class clz;
+ private List comps;
+
+ /**
+ * Constructs a filter with a list in which to store the elements found.
+ *
+ * @param clz the class of the components to extract (null means all types)
+ * @param comps the list to extract into
+ */
+ public GeometryExtracter(Class clz, List comps)
+ {
+ this.clz = clz;
+ this.comps = comps;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (clz == null || isOfClass(geom, clz)) comps.add(geom);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryMapper.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryMapper.java
new file mode 100644
index 0000000..bb741e4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryMapper.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+
+/**
+ * Methods to map various collections
+ * of {@link Geometry}s
+ * via defined mapping functions.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryMapper
+{
+ /**
+ * Maps the members of a {@link Geometry}
+ * (which may be atomic or composite)
+ * into another <tt>Geometry</tt> of most specific type.
+ * <tt>null</tt> results are skipped.
+ * In the case of hierarchical {@link GeometryCollection}s,
+ * only the first level of members are mapped.
+ *
+ * @param geom the input atomic or composite geometry
+ * @param op the mapping operation
+ * @return a result collection or geometry of most specific type
+ */
+ public static Geometry map(Geometry geom, MapOp op)
+ {
+ List mapped = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry g = op.map(geom.getGeometryN(i));
+ if (g != null)
+ mapped.add(g);
+ }
+ return geom.getFactory().buildGeometry(mapped);
+ }
+
+ public static Collection map(Collection geoms, MapOp op)
+ {
+ List mapped = new ArrayList();
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ Geometry gr = op.map(g);
+ if (gr != null)
+ mapped.add(gr);
+ }
+ return mapped;
+ }
+
+ /**
+ * An interface for geometry functions used for mapping.
+ *
+ * @author Martin Davis
+ *
+ */
+ public interface MapOp
+ {
+ /**
+ * Computes a new geometry value.
+ *
+ * @param g the input geometry
+ * @return a result geometry
+ */
+ Geometry map(Geometry g);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryTransformer.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryTransformer.java
new file mode 100644
index 0000000..23cfe85
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/GeometryTransformer.java
@@ -0,0 +1,297 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * A framework for processes which transform an input {@link Geometry} into
+ * an output {@link Geometry}, possibly changing its structure and type(s).
+ * This class is a framework for implementing subclasses
+ * which perform transformations on
+ * various different Geometry subclasses.
+ * It provides an easy way of applying specific transformations
+ * to given geometry types, while allowing unhandled types to be simply copied.
+ * Also, the framework ensures that if subcomponents change type
+ * the parent geometries types change appropriately to maintain valid structure.
+ * Subclasses will override whichever <code>transformX</code> methods
+ * they need to to handle particular Geometry types.
+ * <p>
+ * A typically usage would be a transformation class that transforms <tt>Polygons</tt> into
+ * <tt>Polygons</tt>, <tt>LineStrings</tt> or <tt>Points</tt>, depending on the geometry of the input
+ * (For instance, a simplification operation).
+ * This class would likely need to override the {@link #transformMultiPolygon(MultiPolygon, Geometry)}
+ * method to ensure that if input Polygons change type the result is a <tt>GeometryCollection</tt>,
+ * not a <tt>MultiPolygon</tt>.
+ * <p>
+ * The default behaviour of this class is simply to recursively transform
+ * each Geometry component into an identical object by deep copying down
+ * to the level of, but not including, coordinates.
+ * <p>
+ * All <code>transformX</code> methods may return <code>null</code>,
+ * to avoid creating empty or invalid geometry objects. This will be handled correctly
+ * by the transformer. <code>transform<i>XXX</i></code> methods should always return valid
+ * geometry - if they cannot do this they should return <code>null</code>
+ * (for instance, it may not be possible for a transformLineString implementation
+ * to return at least two points - in this case, it should return <code>null</code>).
+ * The {@link #transform(Geometry)} method itself will always
+ * return a non-null Geometry object (but this may be empty).
+ *
+ * @version 1.7
+ *
+ * @see GeometryEditor
+ */
+public class GeometryTransformer
+{
+
+ /**
+ * Possible extensions:
+ * getParent() method to return immediate parent e.g. of LinearRings in Polygons
+ */
+
+ private Geometry inputGeom;
+
+ protected GeometryFactory factory = null;
+
+ // these could eventually be exposed to clients
+ /**
+ * <code>true</code> if empty geometries should not be included in the result
+ */
+ private boolean pruneEmptyGeometry = true;
+
+ /**
+ * <code>true</code> if a homogenous collection result
+ * from a {@link GeometryCollection} should still
+ * be a general GeometryCollection
+ */
+ private boolean preserveGeometryCollectionType = true;
+
+ /**
+ * <code>true</code> if the output from a collection argument should still be a collection
+ */
+ private boolean preserveCollections = false;
+
+ /**
+ * <code>true</code> if the type of the input should be preserved
+ */
+ private boolean preserveType = false;
+
+ public GeometryTransformer() {
+ }
+
+ /**
+ * Utility function to make input geometry available
+ *
+ * @return the input geometry
+ */
+ public Geometry getInputGeometry() { return inputGeom; }
+
+ public final Geometry transform(Geometry inputGeom)
+ {
+ this.inputGeom = inputGeom;
+ this.factory = inputGeom.getFactory();
+
+ if (inputGeom instanceof Point)
+ return transformPoint((Point) inputGeom, null);
+ if (inputGeom instanceof MultiPoint)
+ return transformMultiPoint((MultiPoint) inputGeom, null);
+ if (inputGeom instanceof LinearRing)
+ return transformLinearRing((LinearRing) inputGeom, null);
+ if (inputGeom instanceof LineString)
+ return transformLineString((LineString) inputGeom, null);
+ if (inputGeom instanceof MultiLineString)
+ return transformMultiLineString((MultiLineString) inputGeom, null);
+ if (inputGeom instanceof Polygon)
+ return transformPolygon((Polygon) inputGeom, null);
+ if (inputGeom instanceof MultiPolygon)
+ return transformMultiPolygon((MultiPolygon) inputGeom, null);
+ if (inputGeom instanceof GeometryCollection)
+ return transformGeometryCollection((GeometryCollection) inputGeom, null);
+
+ throw new IllegalArgumentException("Unknown Geometry subtype: " + inputGeom.getClass().getName());
+ }
+
+ /**
+ * Convenience method which provides standard way of
+ * creating a {@link CoordinateSequence}
+ *
+ * @param coords the coordinate array to copy
+ * @return a coordinate sequence for the array
+ */
+ protected final CoordinateSequence createCoordinateSequence(Coordinate[] coords)
+ {
+ return factory.getCoordinateSequenceFactory().create(coords);
+ }
+
+ /**
+ * Convenience method which provides a standard way of copying {@link CoordinateSequence}s
+ * @param seq the sequence to copy
+ * @return a deep copy of the sequence
+ */
+ protected final CoordinateSequence copy(CoordinateSequence seq)
+ {
+ return seq.copy();
+ }
+
+ /**
+ * Transforms a {@link CoordinateSequence}.
+ * This method should always return a valid coordinate list for
+ * the desired result type. (E.g. a coordinate list for a LineString
+ * must have 0 or at least 2 points).
+ * If this is not possible, return an empty sequence -
+ * this will be pruned out.
+ *
+ * @param coords the coordinates to transform
+ * @param parent the parent geometry
+ * @return the transformed coordinates
+ */
+ protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
+ {
+ return copy(coords);
+ }
+
+ protected Geometry transformPoint(Point geom, Geometry parent) {
+ return factory.createPoint(
+ transformCoordinates(geom.getCoordinateSequence(), geom));
+ }
+
+ protected Geometry transformMultiPoint(MultiPoint geom, Geometry parent) {
+ List transGeomList = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry transformGeom = transformPoint((Point) geom.getGeometryN(i), geom);
+ if (transformGeom == null) continue;
+ if (transformGeom.isEmpty()) continue;
+ transGeomList.add(transformGeom);
+ }
+ return factory.buildGeometry(transGeomList);
+ }
+
+ /**
+ * Transforms a LinearRing.
+ * The transformation of a LinearRing may result in a coordinate sequence
+ * which does not form a structurally valid ring (i.e. a degenerate ring of 3 or fewer points).
+ * In this case a LineString is returned.
+ * Subclasses may wish to override this method and check for this situation
+ * (e.g. a subclass may choose to eliminate degenerate linear rings)
+ *
+ * @param geom the ring to simplify
+ * @param parent the parent geometry
+ * @return a LinearRing if the transformation resulted in a structurally valid ring
+ * @return a LineString if the transformation caused the LinearRing to collapse to 3 or fewer points
+ */
+ protected Geometry transformLinearRing(LinearRing geom, Geometry parent) {
+ CoordinateSequence seq = transformCoordinates(geom.getCoordinateSequence(), geom);
+ if (seq == null)
+ return factory.createLinearRing((CoordinateSequence) null);
+ int seqSize = seq.size();
+ // ensure a valid LinearRing
+ if (seqSize > 0 && seqSize < 4 && ! preserveType)
+ return factory.createLineString(seq);
+ return factory.createLinearRing(seq);
+ }
+
+ /**
+ * Transforms a {@link LineString} geometry.
+ *
+ * @param geom
+ * @param parent
+ * @return
+ */
+ protected Geometry transformLineString(LineString geom, Geometry parent) {
+ // should check for 1-point sequences and downgrade them to points
+ return factory.createLineString(
+ transformCoordinates(geom.getCoordinateSequence(), geom));
+ }
+
+ protected Geometry transformMultiLineString(MultiLineString geom, Geometry parent) {
+ List transGeomList = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry transformGeom = transformLineString((LineString) geom.getGeometryN(i), geom);
+ if (transformGeom == null) continue;
+ if (transformGeom.isEmpty()) continue;
+ transGeomList.add(transformGeom);
+ }
+ return factory.buildGeometry(transGeomList);
+ }
+
+ protected Geometry transformPolygon(Polygon geom, Geometry parent) {
+ boolean isAllValidLinearRings = true;
+ Geometry shell = transformLinearRing((LinearRing) geom.getExteriorRing(), geom);
+
+ if (shell == null
+ || ! (shell instanceof LinearRing)
+ || shell.isEmpty() )
+ isAllValidLinearRings = false;
+
+ ArrayList holes = new ArrayList();
+ for (int i = 0; i < geom.getNumInteriorRing(); i++) {
+ Geometry hole = transformLinearRing((LinearRing) geom.getInteriorRingN(i), geom);
+ if (hole == null || hole.isEmpty()) {
+ continue;
+ }
+ if (! (hole instanceof LinearRing))
+ isAllValidLinearRings = false;
+
+ holes.add(hole);
+ }
+
+ if (isAllValidLinearRings)
+ return factory.createPolygon((LinearRing) shell,
+ (LinearRing[]) holes.toArray(new LinearRing[] { }));
+ else {
+ List components = new ArrayList();
+ if (shell != null) components.add(shell);
+ components.addAll(holes);
+ return factory.buildGeometry(components);
+ }
+ }
+
+ protected Geometry transformMultiPolygon(MultiPolygon geom, Geometry parent) {
+ List transGeomList = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry transformGeom = transformPolygon((Polygon) geom.getGeometryN(i), geom);
+ if (transformGeom == null) continue;
+ if (transformGeom.isEmpty()) continue;
+ transGeomList.add(transformGeom);
+ }
+ return factory.buildGeometry(transGeomList);
+ }
+
+ protected Geometry transformGeometryCollection(GeometryCollection geom, Geometry parent) {
+ List transGeomList = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry transformGeom = transform(geom.getGeometryN(i));
+ if (transformGeom == null) continue;
+ if (pruneEmptyGeometry && transformGeom.isEmpty()) continue;
+ transGeomList.add(transformGeom);
+ }
+ if (preserveGeometryCollectionType)
+ return factory.createGeometryCollection(GeometryFactory.toGeometryArray(transGeomList));
+ return factory.buildGeometry(transGeomList);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/LineStringExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/LineStringExtracter.java
new file mode 100644
index 0000000..090f415
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/LineStringExtracter.java
@@ -0,0 +1,93 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+
+/**
+ * Extracts all the {@link LineString} elements from a {@link Geometry}.
+ *
+ * @version 1.7
+ * @see GeometryExtracter
+ */
+public class LineStringExtracter
+ implements GeometryFilter
+{
+ /**
+ * Extracts the {@link LineString} elements from a single {@link Geometry}
+ * and adds them to the provided {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ * @param lines the list to add the extracted LineStrings to
+ * @return the list argument
+ */
+ public static List getLines(Geometry geom, List lines)
+ {
+ if (geom instanceof LineString) {
+ lines.add(geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ geom.apply(new LineStringExtracter(lines));
+ }
+ // skip non-LineString elemental geometries
+
+ return lines;
+ }
+
+ /**
+ * Extracts the {@link LineString} elements from a single {@link Geometry}
+ * and returns them in a {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ * @return a list containing the linear elements
+ */
+ public static List getLines(Geometry geom)
+ {
+ return getLines(geom, new ArrayList());
+ }
+
+ /**
+ * Extracts the {@link LineString} elements from a single {@link Geometry}
+ * and returns them as either a {@link LineString} or {@link MultiLineString}.
+ *
+ * @param geom the geometry from which to extract
+ * @return a linear geometry
+ */
+ public static Geometry getGeometry(Geometry geom)
+ {
+ return geom.getFactory().buildGeometry(getLines(geom));
+ }
+
+ private List comps;
+
+ /**
+ * Constructs a filter with a list in which to store the elements found.
+ */
+ public LineStringExtracter(List comps)
+ {
+ this.comps = comps;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof LineString) comps.add(geom);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/LinearComponentExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/LinearComponentExtracter.java
new file mode 100644
index 0000000..66eb2fb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/LinearComponentExtracter.java
@@ -0,0 +1,209 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+
+
+/**
+ * Extracts all the 1-dimensional ({@link LineString}) components from a {@link Geometry}.
+ * For polygonal geometries, this will extract all the component {@link LinearRing}s.
+ * If desired, <code>LinearRing</code>s can be forced to be returned as <code>LineString</code>s.
+ *
+ * @version 1.7
+ */
+public class LinearComponentExtracter
+ implements GeometryComponentFilter
+{
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and adds them to the provided {@link Collection}.
+ *
+ * @param geoms the collection of geometries from which to extract linear components
+ * @param lines the collection to add the extracted linear components to
+ * @return the collection of linear components (LineStrings or LinearRings)
+ */
+ public static Collection getLines(Collection geoms, Collection lines)
+ {
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ getLines(g, lines);
+ }
+ return lines;
+ }
+
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and adds them to the provided {@link Collection}.
+ *
+ * @param geoms the Collection of geometries from which to extract linear components
+ * @param lines the collection to add the extracted linear components to
+ * @param forceToLineString true if LinearRings should be converted to LineStrings
+ * @return the collection of linear components (LineStrings or LinearRings)
+ */
+ public static Collection getLines(Collection geoms, Collection lines, boolean forceToLineString)
+ {
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ getLines(g, lines, forceToLineString);
+ }
+ return lines;
+ }
+
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and adds them to the provided {@link Collection}.
+ *
+ * @param geom the geometry from which to extract linear components
+ * @param lines the Collection to add the extracted linear components to
+ * @return the Collection of linear components (LineStrings or LinearRings)
+ */
+ public static Collection getLines(Geometry geom, Collection lines)
+ {
+ if (geom instanceof LineString) {
+ lines.add(geom);
+ }
+ else {
+ geom.apply(new LinearComponentExtracter(lines));
+ }
+ return lines;
+ }
+
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and adds them to the provided {@link Collection}.
+ *
+ * @param geom the geometry from which to extract linear components
+ * @param lines the Collection to add the extracted linear components to
+ * @param forceToLineString true if LinearRings should be converted to LineStrings
+ * @return the Collection of linear components (LineStrings or LinearRings)
+ */
+ public static Collection getLines(Geometry geom, Collection lines, boolean forceToLineString)
+ {
+ geom.apply(new LinearComponentExtracter(lines, forceToLineString));
+ return lines;
+ }
+
+ /**
+ * Extracts the linear components from a single geometry.
+ * If more than one geometry is to be processed, it is more
+ * efficient to create a single {@link LinearComponentExtracter} instance
+ * and pass it to multiple geometries.
+ *
+ * @param geom the geometry from which to extract linear components
+ * @return the list of linear components
+ */
+ public static List getLines(Geometry geom)
+ {
+ return getLines(geom, false);
+ }
+
+ /**
+ * Extracts the linear components from a single geometry.
+ * If more than one geometry is to be processed, it is more
+ * efficient to create a single {@link LinearComponentExtracter} instance
+ * and pass it to multiple geometries.
+ *
+ * @param geom the geometry from which to extract linear components
+ * @param forceToLineString true if LinearRings should be converted to LineStrings
+ * @return the list of linear components
+ */
+ public static List getLines(Geometry geom, boolean forceToLineString)
+ {
+ List lines = new ArrayList();
+ geom.apply(new LinearComponentExtracter(lines, forceToLineString));
+ return lines;
+ }
+
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and returns them as either a {@link LineString} or {@link MultiLineString}.
+ *
+ * @param geom the geometry from which to extract
+ * @return a linear geometry
+ */
+ public static Geometry getGeometry(Geometry geom)
+ {
+ return geom.getFactory().buildGeometry(getLines(geom));
+ }
+
+
+ /**
+ * Extracts the linear components from a single {@link Geometry}
+ * and returns them as either a {@link LineString} or {@link MultiLineString}.
+ *
+ * @param geom the geometry from which to extract
+ * @param forceToLineString true if LinearRings should be converted to LineStrings
+ * @return a linear geometry
+ */
+ public static Geometry getGeometry(Geometry geom, boolean forceToLineString)
+ {
+ return geom.getFactory().buildGeometry(getLines(geom, forceToLineString));
+ }
+
+
+ private Collection lines;
+ private boolean isForcedToLineString = false;
+
+ /**
+ * Constructs a LineExtracterFilter with a list in which to store LineStrings found.
+ */
+ public LinearComponentExtracter(Collection lines)
+ {
+ this.lines = lines;
+ }
+
+ /**
+ * Constructs a LineExtracterFilter with a list in which to store LineStrings found.
+ */
+ public LinearComponentExtracter(Collection lines, boolean isForcedToLineString)
+ {
+ this.lines = lines;
+ this.isForcedToLineString = isForcedToLineString;
+ }
+
+ /**
+ * Indicates that LinearRing components should be
+ * converted to pure LineStrings.
+ *
+ * @param isForcedToLineString true if LinearRings should be converted to LineStrings
+ */
+ public void setForceToLineString(boolean isForcedToLineString)
+ {
+ this.isForcedToLineString = isForcedToLineString;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (isForcedToLineString && geom instanceof LinearRing) {
+ LineString line = geom.getFactory().createLineString( ((LinearRing) geom).getCoordinateSequence());
+ lines.add(line);
+ return;
+ }
+ // if not being forced, and this is a linear component
+ if (geom instanceof LineString)
+ lines.add(geom);
+
+ // else this is not a linear component, so skip it
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/NoninvertibleTransformationException.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/NoninvertibleTransformationException.java
new file mode 100644
index 0000000..f00f734
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/NoninvertibleTransformationException.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+/**
+ * Indicates that an {@link AffineTransformation}
+ * is non-invertible.
+ *
+ * @author Martin Davis
+ */
+public class NoninvertibleTransformationException
+ extends Exception
+{
+ public NoninvertibleTransformationException()
+ {
+ super();
+ }
+ public NoninvertibleTransformationException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/PointExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/PointExtracter.java
new file mode 100644
index 0000000..0bc6157
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/PointExtracter.java
@@ -0,0 +1,81 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.Point;
+
+
+/**
+ * Extracts all the 0-dimensional ({@link Point}) components from a {@link Geometry}.
+ *
+ * @version 1.7
+ * @see GeometryExtracter
+ */
+public class PointExtracter
+ implements GeometryFilter
+{
+ /**
+ * Extracts the {@link Point} elements from a single {@link Geometry}
+ * and adds them to the provided {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ * @param list the list to add the extracted elements to
+ */
+ public static List getPoints(Geometry geom, List list)
+ {
+ if (geom instanceof Point) {
+ list.add(geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ geom.apply(new PointExtracter(list));
+ }
+ // skip non-Polygonal elemental geometries
+
+ return list;
+ }
+
+ /**
+ * Extracts the {@link Point} elements from a single {@link Geometry}
+ * and returns them in a {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ */
+ public static List getPoints(Geometry geom) {
+ if (geom instanceof Point) {
+ return Collections.singletonList(geom);
+ }
+ return getPoints(geom, new ArrayList());
+ }
+
+ private List pts;
+ /**
+ * Constructs a PointExtracterFilter with a list in which to store Points found.
+ */
+ public PointExtracter(List pts)
+ {
+ this.pts = pts;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof Point) pts.add(geom);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/PolygonExtracter.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/PolygonExtracter.java
new file mode 100644
index 0000000..7e1830d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/PolygonExtracter.java
@@ -0,0 +1,77 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Extracts all the {@link Polygon} elements from a {@link Geometry}.
+ *
+ * @version 1.7
+ * @see GeometryExtracter
+ */
+public class PolygonExtracter
+ implements GeometryFilter
+{
+ /**
+ * Extracts the {@link Polygon} elements from a single {@link Geometry}
+ * and adds them to the provided {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ * @param list the list to add the extracted elements to
+ */
+ public static List getPolygons(Geometry geom, List list)
+ {
+ if (geom instanceof Polygon) {
+ list.add(geom);
+ }
+ else if (geom instanceof GeometryCollection) {
+ geom.apply(new PolygonExtracter(list));
+ }
+ // skip non-Polygonal elemental geometries
+
+ return list;
+ }
+
+ /**
+ * Extracts the {@link Polygon} elements from a single {@link Geometry}
+ * and returns them in a {@link List}.
+ *
+ * @param geom the geometry from which to extract
+ */
+ public static List getPolygons(Geometry geom)
+ {
+ return getPolygons(geom, new ArrayList());
+ }
+
+ private List comps;
+ /**
+ * Constructs a PolygonExtracterFilter with a list in which to store Polygons found.
+ */
+ public PolygonExtracter(List comps)
+ {
+ this.comps = comps;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof Polygon) comps.add(geom);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/ShortCircuitedGeometryVisitor.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/ShortCircuitedGeometryVisitor.java
new file mode 100644
index 0000000..2b8ad54
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/ShortCircuitedGeometryVisitor.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+
+/**
+ * A visitor to {@link Geometry} components, which
+ * allows short-circuiting when a defined condition holds.
+ *
+ * @version 1.7
+ */
+public abstract class ShortCircuitedGeometryVisitor
+{
+ private boolean isDone = false;
+
+ public ShortCircuitedGeometryVisitor() {
+ }
+
+ public void applyTo(Geometry geom) {
+ for (int i = 0; i < geom.getNumGeometries() && ! isDone; i++) {
+ Geometry element = geom.getGeometryN(i);
+ if (! (element instanceof GeometryCollection)) {
+ visit(element);
+ if (isDone()) {
+ isDone = true;
+ return;
+ }
+ }
+ else
+ applyTo(element);
+ }
+ }
+
+ protected abstract void visit(Geometry element);
+
+ protected abstract boolean isDone();
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/SineStarFactory.java b/modules/core/src/main/java/org/locationtech/jts/geom/util/SineStarFactory.java
new file mode 100644
index 0000000..b514ee6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/SineStarFactory.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+/**
+ * Creates geometries which are shaped like multi-armed stars
+ * with each arm shaped like a sine wave.
+ * These kinds of geometries are useful as a more complex
+ * geometry for testing algorithms.
+ *
+ * @author Martin Davis
+ *
+ */
+public class SineStarFactory
+ extends GeometricShapeFactory
+{
+ protected int numArms = 8;
+ protected double armLengthRatio = 0.5;
+
+ /**
+ * Creates a factory which will create sine stars using the default
+ * {@link GeometryFactory}.
+ */
+ public SineStarFactory()
+ {
+ super();
+ }
+
+ /**
+ * Creates a factory which will create sine stars using the given
+ * {@link GeometryFactory}.
+ *
+ * @param geomFact the factory to use
+ */
+ public SineStarFactory(GeometryFactory geomFact)
+ {
+ super(geomFact);
+ }
+
+ /**
+ * Sets the number of arms in the star
+ *
+ * @param numArms the number of arms to generate
+ */
+ public void setNumArms(int numArms)
+ {
+ this.numArms = numArms;
+ }
+
+ /**
+ * Sets the ration of the length of each arm to the distance from the tip
+ * of the arm to the centre of the star.
+ * Value should be between 0.0 and 1.0
+ *
+ * @param armLengthRatio
+ */
+ public void setArmLengthRatio(double armLengthRatio)
+ {
+ this.armLengthRatio = armLengthRatio;
+ }
+
+ /**
+ * Generates the geometry for the sine star
+ *
+ * @return the geometry representing the sine star
+ */
+ public Geometry createSineStar()
+ {
+ Envelope env = dim.getEnvelope();
+ double radius = env.getWidth() / 2.0;
+
+ double armRatio = armLengthRatio;
+ if (armRatio < 0.0)
+ armRatio = 0.0;
+ if (armRatio > 1.0)
+ armRatio = 1.0;
+
+ double armMaxLen = armRatio * radius;
+ double insideRadius = (1 - armRatio) * radius;
+
+ double centreX = env.getMinX() + radius;
+ double centreY = env.getMinY() + radius;
+
+ Coordinate[] pts = new Coordinate[nPts + 1];
+ int iPt = 0;
+ for (int i = 0; i < nPts; i++) {
+ // the fraction of the way thru the current arm - in [0,1]
+ double ptArcFrac = (i / (double) nPts) * numArms;
+ double armAngFrac = ptArcFrac - Math.floor(ptArcFrac);
+
+ // the angle for the current arm - in [0,2Pi]
+ // (each arm is a complete sine wave cycle)
+ double armAng = 2 * Math.PI * armAngFrac;
+ // the current length of the arm
+ double armLenFrac = (Math.cos(armAng) + 1.0) / 2.0;
+
+ // the current radius of the curve (core + arm)
+ double curveRadius = insideRadius + armMaxLen * armLenFrac;
+
+ // the current angle of the curve
+ double ang = i * (2 * Math.PI / nPts);
+ double x = curveRadius * Math.cos(ang) + centreX;
+ double y = curveRadius * Math.sin(ang) + centreY;
+ pts[iPt++] = coord(x, y);
+ }
+ pts[iPt] = new Coordinate(pts[0]);
+
+ LinearRing ring = geomFact.createLinearRing(pts);
+ Polygon poly = geomFact.createPolygon(ring);
+ return poly;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geom/util/package.html b/modules/core/src/main/java/org/locationtech/jts/geom/util/package.html
new file mode 100644
index 0000000..ce18f25
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geom/util/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes that parse and modify Geometry objects.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Depth.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Depth.java
new file mode 100644
index 0000000..fd39a91
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Depth.java
@@ -0,0 +1,137 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import org.locationtech.jts.geom.Location;
+
+/**
+ * A Depth object records the topological depth of the sides
+ * of an Edge for up to two Geometries.
+ * @version 1.7
+ */
+public class Depth {
+
+ private final static int NULL_VALUE = -1;
+
+ public static int depthAtLocation(int location)
+ {
+ if (location == Location.EXTERIOR) return 0;
+ if (location == Location.INTERIOR) return 1;
+ return NULL_VALUE;
+ }
+
+ private int[][] depth = new int[2][3];
+
+ public Depth() {
+ // initialize depth array to a sentinel value
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < 3; j++) {
+ depth[i][j] = NULL_VALUE;
+ }
+ }
+ }
+
+ public int getDepth(int geomIndex, int posIndex)
+ {
+ return depth[geomIndex][posIndex];
+ }
+ public void setDepth(int geomIndex, int posIndex, int depthValue)
+ {
+ depth[geomIndex][posIndex] = depthValue;
+ }
+ public int getLocation(int geomIndex, int posIndex)
+ {
+ if (depth[geomIndex][posIndex] <= 0) return Location.EXTERIOR;
+ return Location.INTERIOR;
+ }
+ public void add(int geomIndex, int posIndex, int location)
+ {
+ if (location == Location.INTERIOR)
+ depth[geomIndex][posIndex]++;
+ }
+ /**
+ * A Depth object is null (has never been initialized) if all depths are null.
+ */
+ public boolean isNull()
+ {
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < 3; j++) {
+ if (depth[i][j] != NULL_VALUE)
+ return false;
+ }
+ }
+ return true;
+ }
+ public boolean isNull(int geomIndex)
+ {
+ return depth[geomIndex][1] == NULL_VALUE;
+ }
+ public boolean isNull(int geomIndex, int posIndex)
+ {
+ return depth[geomIndex][posIndex] == NULL_VALUE;
+ }
+ public void add(Label lbl)
+ {
+ for (int i = 0; i < 2; i++) {
+ for (int j = 1; j < 3; j++) {
+ int loc = lbl.getLocation(i, j);
+ if (loc == Location.EXTERIOR || loc == Location.INTERIOR) {
+ // initialize depth if it is null, otherwise add this location value
+ if (isNull(i, j)) {
+ depth[i][j] = depthAtLocation(loc);
+ }
+ else
+ depth[i][j] += depthAtLocation(loc);
+ }
+ }
+ }
+ }
+ public int getDelta(int geomIndex)
+ {
+ return depth[geomIndex][Position.RIGHT] - depth[geomIndex][Position.LEFT];
+ }
+ /**
+ * Normalize the depths for each geometry, if they are non-null.
+ * A normalized depth
+ * has depth values in the set { 0, 1 }.
+ * Normalizing the depths
+ * involves reducing the depths by the same amount so that at least
+ * one of them is 0. If the remaining value is > 0, it is set to 1.
+ */
+ public void normalize()
+ {
+ for (int i = 0; i < 2; i++) {
+ if (! isNull(i)) {
+ int minDepth = depth[i][1];
+ if (depth[i][2] < minDepth)
+ minDepth = depth[i][2];
+
+ if (minDepth < 0) minDepth = 0;
+ for (int j = 1; j < 3; j++) {
+ int newValue = 0;
+ if (depth[i][j] > minDepth)
+ newValue = 1;
+ depth[i][j] = newValue;
+ }
+ }
+ }
+ }
+
+ public String toString()
+ {
+ return
+ "A: " + depth[0][1] + "," + depth[0][2]
+ + " B: " + depth[1][1] + "," + depth[1][2];
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdge.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdge.java
new file mode 100644
index 0000000..3be7f21
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdge.java
@@ -0,0 +1,219 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.TopologyException;
+
+
+/**
+ * @version 1.7
+ */
+public class DirectedEdge
+ extends EdgeEnd
+{
+
+ /**
+ * Computes the factor for the change in depth when moving from one location to another.
+ * E.g. if crossing from the INTERIOR to the EXTERIOR the depth decreases, so the factor is -1
+ */
+ public static int depthFactor(int currLocation, int nextLocation)
+ {
+ if (currLocation == Location.EXTERIOR && nextLocation == Location.INTERIOR)
+ return 1;
+ else if (currLocation == Location.INTERIOR && nextLocation == Location.EXTERIOR)
+ return -1;
+ return 0;
+ }
+
+ protected boolean isForward;
+ private boolean isInResult = false;
+ private boolean isVisited = false;
+
+ private DirectedEdge sym; // the symmetric edge
+ private DirectedEdge next; // the next edge in the edge ring for the polygon containing this edge
+ private DirectedEdge nextMin; // the next edge in the MinimalEdgeRing that contains this edge
+ private EdgeRing edgeRing; // the EdgeRing that this edge is part of
+ private EdgeRing minEdgeRing; // the MinimalEdgeRing that this edge is part of
+ /**
+ * The depth of each side (position) of this edge.
+ * The 0 element of the array is never used.
+ */
+ private int[] depth = { 0, -999, -999 };
+
+ public DirectedEdge(Edge edge, boolean isForward)
+ {
+ super(edge);
+ this.isForward = isForward;
+ if (isForward) {
+ init(edge.getCoordinate(0), edge.getCoordinate(1));
+ }
+ else {
+ int n = edge.getNumPoints() - 1;
+ init(edge.getCoordinate(n), edge.getCoordinate(n-1));
+ }
+ computeDirectedLabel();
+ }
+ public Edge getEdge() { return edge; }
+ public void setInResult(boolean isInResult) { this.isInResult = isInResult; }
+ public boolean isInResult() { return isInResult; }
+ public boolean isVisited() { return isVisited; }
+ public void setVisited(boolean isVisited) { this.isVisited = isVisited; }
+ public void setEdgeRing(EdgeRing edgeRing) { this.edgeRing = edgeRing; }
+ public EdgeRing getEdgeRing() { return edgeRing; }
+ public void setMinEdgeRing(EdgeRing minEdgeRing) { this.minEdgeRing = minEdgeRing; }
+ public EdgeRing getMinEdgeRing() { return minEdgeRing; }
+ public int getDepth(int position) { return depth[position]; }
+
+ public void setDepth(int position, int depthVal)
+ {
+ if (depth[position] != -999) {
+// if (depth[position] != depthVal) {
+// Debug.print(this);
+// }
+ if (depth[position] != depthVal)
+ throw new TopologyException("assigned depths do not match", getCoordinate());
+ //Assert.isTrue(depth[position] == depthVal, "assigned depths do not match at " + getCoordinate());
+ }
+ depth[position] = depthVal;
+ }
+
+ public int getDepthDelta()
+ {
+ int depthDelta = edge.getDepthDelta();
+ if (! isForward) depthDelta = -depthDelta;
+ return depthDelta;
+ }
+
+ /**
+ * setVisitedEdge marks both DirectedEdges attached to a given Edge.
+ * This is used for edges corresponding to lines, which will only
+ * appear oriented in a single direction in the result.
+ */
+ public void setVisitedEdge(boolean isVisited)
+ {
+ setVisited(isVisited);
+ sym.setVisited(isVisited);
+ }
+ /**
+ * Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite
+ * directions.
+ * @return the DirectedEdge for the same Edge but in the opposite direction
+ */
+ public DirectedEdge getSym() { return sym; }
+ public boolean isForward() { return isForward; }
+ public void setSym(DirectedEdge de)
+ {
+ sym = de;
+ }
+ public DirectedEdge getNext() { return next; }
+ public void setNext(DirectedEdge next) { this.next = next; }
+ public DirectedEdge getNextMin() { return nextMin; }
+ public void setNextMin(DirectedEdge nextMin) { this.nextMin = nextMin; }
+
+ /**
+ * This edge is a line edge if
+ * <ul>
+ * <li> at least one of the labels is a line label
+ * <li> any labels which are not line labels have all Locations = EXTERIOR
+ * </ul>
+ */
+ public boolean isLineEdge()
+ {
+ boolean isLine = label.isLine(0) || label.isLine(1);
+ boolean isExteriorIfArea0 =
+ ! label.isArea(0) || label.allPositionsEqual(0, Location.EXTERIOR);
+ boolean isExteriorIfArea1 =
+ ! label.isArea(1) || label.allPositionsEqual(1, Location.EXTERIOR);
+
+ return isLine && isExteriorIfArea0 && isExteriorIfArea1;
+ }
+ /**
+ * This is an interior Area edge if
+ * <ul>
+ * <li> its label is an Area label for both Geometries
+ * <li> and for each Geometry both sides are in the interior.
+ * </ul>
+ *
+ * @return true if this is an interior Area edge
+ */
+ public boolean isInteriorAreaEdge()
+ {
+ boolean isInteriorAreaEdge = true;
+ for (int i = 0; i < 2; i++) {
+ if (! ( label.isArea(i)
+ && label.getLocation(i, Position.LEFT ) == Location.INTERIOR
+ && label.getLocation(i, Position.RIGHT) == Location.INTERIOR) ) {
+ isInteriorAreaEdge = false;
+ }
+ }
+ return isInteriorAreaEdge;
+ }
+
+ /**
+ * Compute the label in the appropriate orientation for this DirEdge
+ */
+ private void computeDirectedLabel()
+ {
+ label = new Label(edge.getLabel());
+ if (! isForward)
+ label.flip();
+ }
+
+ /**
+ * Set both edge depths. One depth for a given side is provided. The other is
+ * computed depending on the Location transition and the depthDelta of the edge.
+ */
+ public void setEdgeDepths(int position, int depth)
+ {
+ // get the depth transition delta from R to L for this directed Edge
+ int depthDelta = getEdge().getDepthDelta();
+ if (! isForward) depthDelta = -depthDelta;
+
+ // if moving from L to R instead of R to L must change sign of delta
+ int directionFactor = 1;
+ if (position == Position.LEFT)
+ directionFactor = -1;
+
+ int oppositePos = Position.opposite(position);
+ int delta = depthDelta * directionFactor;
+ //TESTINGint delta = depthDelta * DirectedEdge.depthFactor(loc, oppositeLoc);
+ int oppositeDepth = depth + delta;
+ setDepth(position, depth);
+ setDepth(oppositePos, oppositeDepth);
+ }
+
+ public void print(PrintStream out)
+ {
+ super.print(out);
+ out.print(" " + depth[Position.LEFT] + "/" + depth[Position.RIGHT]);
+ out.print(" (" + getDepthDelta() + ")");
+ //out.print(" " + this.hashCode());
+ //if (next != null) out.print(" next:" + next.hashCode());
+ if (isInResult) out.print(" inResult");
+ }
+ public void printEdge(PrintStream out)
+ {
+ print(out);
+ out.print(" ");
+ if (isForward)
+ edge.print(out);
+ else
+ edge.printReverse(out);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdgeStar.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdgeStar.java
new file mode 100644
index 0000000..6154115
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/DirectedEdgeStar.java
@@ -0,0 +1,389 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A DirectedEdgeStar is an ordered list of <b>outgoing</b> DirectedEdges around a node.
+ * It supports labelling the edges as well as linking the edges to form both
+ * MaximalEdgeRings and MinimalEdgeRings.
+ *
+ * @version 1.7
+ */
+public class DirectedEdgeStar
+ extends EdgeEndStar
+{
+
+ /**
+ * A list of all outgoing edges in the result, in CCW order
+ */
+ private List resultAreaEdgeList;
+ private Label label;
+
+ public DirectedEdgeStar() {
+ }
+ /**
+ * Insert a directed edge in the list
+ */
+ public void insert(EdgeEnd ee)
+ {
+ DirectedEdge de = (DirectedEdge) ee;
+ insertEdgeEnd(de, de);
+ }
+
+ public Label getLabel() { return label; }
+
+ public int getOutgoingDegree()
+ {
+ int degree = 0;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.isInResult()) degree++;
+ }
+ return degree;
+ }
+ public int getOutgoingDegree(EdgeRing er)
+ {
+ int degree = 0;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.getEdgeRing() == er) degree++;
+ }
+ return degree;
+ }
+
+ public DirectedEdge getRightmostEdge()
+ {
+ List edges = getEdges();
+ int size = edges.size();
+ if (size < 1) return null;
+ DirectedEdge de0 = (DirectedEdge) edges.get(0);
+ if (size == 1) return de0;
+ DirectedEdge deLast = (DirectedEdge) edges.get(size - 1);
+
+ int quad0 = de0.getQuadrant();
+ int quad1 = deLast.getQuadrant();
+ if (Quadrant.isNorthern(quad0) && Quadrant.isNorthern(quad1))
+ return de0;
+ else if (! Quadrant.isNorthern(quad0) && ! Quadrant.isNorthern(quad1))
+ return deLast;
+ else {
+ // edges are in different hemispheres - make sure we return one that is non-horizontal
+ //Assert.isTrue(de0.getDy() != 0, "should never return horizontal edge!");
+ DirectedEdge nonHorizontalEdge = null;
+ if (de0.getDy() != 0)
+ return de0;
+ else if (deLast.getDy() != 0)
+ return deLast;
+ }
+ Assert.shouldNeverReachHere("found two horizontal edges incident on node");
+ return null;
+
+ }
+ /**
+ * Compute the labelling for all dirEdges in this star, as well
+ * as the overall labelling
+ */
+ public void computeLabelling(GeometryGraph[] geom)
+ {
+//Debug.print(this);
+ super.computeLabelling(geom);
+
+ // determine the overall labelling for this DirectedEdgeStar
+ // (i.e. for the node it is based at)
+ label = new Label(Location.NONE);
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd ee = (EdgeEnd) it.next();
+ Edge e = ee.getEdge();
+ Label eLabel = e.getLabel();
+ for (int i = 0; i < 2; i++) {
+ int eLoc = eLabel.getLocation(i);
+ if (eLoc == Location.INTERIOR || eLoc == Location.BOUNDARY)
+ label.setLocation(i, Location.INTERIOR);
+ }
+ }
+//Debug.print(this);
+ }
+
+ /**
+ * For each dirEdge in the star,
+ * merge the label from the sym dirEdge into the label
+ */
+ public void mergeSymLabels()
+ {
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ Label label = de.getLabel();
+ label.merge(de.getSym().getLabel());
+ }
+ }
+
+ /**
+ * Update incomplete dirEdge labels from the labelling for the node
+ */
+ public void updateLabelling(Label nodeLabel)
+ {
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ Label label = de.getLabel();
+ label.setAllLocationsIfNull(0, nodeLabel.getLocation(0));
+ label.setAllLocationsIfNull(1, nodeLabel.getLocation(1));
+ }
+ }
+
+ private List getResultAreaEdges()
+ {
+//print(System.out);
+ if (resultAreaEdgeList != null) return resultAreaEdgeList;
+ resultAreaEdgeList = new ArrayList();
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.isInResult() || de.getSym().isInResult() )
+ resultAreaEdgeList.add(de);
+ }
+ return resultAreaEdgeList;
+ }
+
+ private final int SCANNING_FOR_INCOMING = 1;
+ private final int LINKING_TO_OUTGOING = 2;
+ /**
+ * Traverse the star of DirectedEdges, linking the included edges together.
+ * To link two dirEdges, the <code>next</code> pointer for an incoming dirEdge
+ * is set to the next outgoing edge.
+ * <p>
+ * DirEdges are only linked if:
+ * <ul>
+ * <li>they belong to an area (i.e. they have sides)
+ * <li>they are marked as being in the result
+ * </ul>
+ * <p>
+ * Edges are linked in CCW order (the order they are stored).
+ * This means that rings have their face on the Right
+ * (in other words,
+ * the topological location of the face is given by the RHS label of the DirectedEdge)
+ * <p>
+ * PRECONDITION: No pair of dirEdges are both marked as being in the result
+ */
+ public void linkResultDirectedEdges()
+ {
+ // make sure edges are copied to resultAreaEdges list
+ getResultAreaEdges();
+ // find first area edge (if any) to start linking at
+ DirectedEdge firstOut = null;
+ DirectedEdge incoming = null;
+ int state = SCANNING_FOR_INCOMING;
+ // link edges in CCW order
+ for (int i = 0; i < resultAreaEdgeList.size(); i++) {
+ DirectedEdge nextOut = (DirectedEdge) resultAreaEdgeList.get(i);
+ DirectedEdge nextIn = nextOut.getSym();
+
+ // skip de's that we're not interested in
+ if (! nextOut.getLabel().isArea()) continue;
+
+ // record first outgoing edge, in order to link the last incoming edge
+ if (firstOut == null && nextOut.isInResult()) firstOut = nextOut;
+ // assert: sym.isInResult() == false, since pairs of dirEdges should have been removed already
+
+ switch (state) {
+ case SCANNING_FOR_INCOMING:
+ if (! nextIn.isInResult()) continue;
+ incoming = nextIn;
+ state = LINKING_TO_OUTGOING;
+ break;
+ case LINKING_TO_OUTGOING:
+ if (! nextOut.isInResult()) continue;
+ incoming.setNext(nextOut);
+ state = SCANNING_FOR_INCOMING;
+ break;
+ }
+ }
+//Debug.print(this);
+ if (state == LINKING_TO_OUTGOING) {
+//Debug.print(firstOut == null, this);
+ if (firstOut == null)
+ throw new TopologyException("no outgoing dirEdge found", getCoordinate());
+ //Assert.isTrue(firstOut != null, "no outgoing dirEdge found (at " + getCoordinate() );
+ Assert.isTrue(firstOut.isInResult(), "unable to link last incoming dirEdge");
+ incoming.setNext(firstOut);
+ }
+ }
+ public void linkMinimalDirectedEdges(EdgeRing er)
+ {
+ // find first area edge (if any) to start linking at
+ DirectedEdge firstOut = null;
+ DirectedEdge incoming = null;
+ int state = SCANNING_FOR_INCOMING;
+ // link edges in CW order
+ for (int i = resultAreaEdgeList.size() - 1; i >= 0; i--) {
+ DirectedEdge nextOut = (DirectedEdge) resultAreaEdgeList.get(i);
+ DirectedEdge nextIn = nextOut.getSym();
+
+ // record first outgoing edge, in order to link the last incoming edge
+ if (firstOut == null && nextOut.getEdgeRing() == er) firstOut = nextOut;
+
+ switch (state) {
+ case SCANNING_FOR_INCOMING:
+ if (nextIn.getEdgeRing() != er) continue;
+ incoming = nextIn;
+ state = LINKING_TO_OUTGOING;
+ break;
+ case LINKING_TO_OUTGOING:
+ if (nextOut.getEdgeRing() != er) continue;
+ incoming.setNextMin(nextOut);
+ state = SCANNING_FOR_INCOMING;
+ break;
+ }
+ }
+//print(System.out);
+ if (state == LINKING_TO_OUTGOING) {
+ Assert.isTrue(firstOut != null, "found null for first outgoing dirEdge");
+ Assert.isTrue(firstOut.getEdgeRing() == er, "unable to link last incoming dirEdge");
+ incoming.setNextMin(firstOut);
+ }
+ }
+ public void linkAllDirectedEdges()
+ {
+ getEdges();
+ // find first area edge (if any) to start linking at
+ DirectedEdge prevOut = null;
+ DirectedEdge firstIn = null;
+ // link edges in CW order
+ for (int i = edgeList.size() - 1; i >= 0; i--) {
+ DirectedEdge nextOut = (DirectedEdge) edgeList.get(i);
+ DirectedEdge nextIn = nextOut.getSym();
+ if (firstIn == null) firstIn = nextIn;
+ if (prevOut != null) nextIn.setNext(prevOut);
+ // record outgoing edge, in order to link the last incoming edge
+ prevOut = nextOut;
+ }
+ firstIn.setNext(prevOut);
+//Debug.print(this);
+ }
+
+ /**
+ * Traverse the star of edges, maintaining the current location in the result
+ * area at this node (if any).
+ * If any L edges are found in the interior of the result, mark them as covered.
+ */
+ public void findCoveredLineEdges()
+ {
+//Debug.print("findCoveredLineEdges");
+//Debug.print(this);
+ // Since edges are stored in CCW order around the node,
+ // as we move around the ring we move from the right to the left side of the edge
+
+ /**
+ * Find first DirectedEdge of result area (if any).
+ * The interior of the result is on the RHS of the edge,
+ * so the start location will be:
+ * - INTERIOR if the edge is outgoing
+ * - EXTERIOR if the edge is incoming
+ */
+ int startLoc = Location.NONE ;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge nextOut = (DirectedEdge) it.next();
+ DirectedEdge nextIn = nextOut.getSym();
+ if (! nextOut.isLineEdge()) {
+ if (nextOut.isInResult()) {
+ startLoc = Location.INTERIOR;
+ break;
+ }
+ if (nextIn.isInResult()) {
+ startLoc = Location.EXTERIOR;
+ break;
+ }
+ }
+ }
+ // no A edges found, so can't determine if L edges are covered or not
+ if (startLoc == Location.NONE) return;
+
+ /**
+ * move around ring, keeping track of the current location
+ * (Interior or Exterior) for the result area.
+ * If L edges are found, mark them as covered if they are in the interior
+ */
+ int currLoc = startLoc;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge nextOut = (DirectedEdge) it.next();
+ DirectedEdge nextIn = nextOut.getSym();
+ if (nextOut.isLineEdge()) {
+ nextOut.getEdge().setCovered(currLoc == Location.INTERIOR);
+//Debug.println(nextOut);
+ }
+ else { // edge is an Area edge
+ if (nextOut.isInResult())
+ currLoc = Location.EXTERIOR;
+ if (nextIn.isInResult())
+ currLoc = Location.INTERIOR;
+ }
+ }
+ }
+
+ public void computeDepths(DirectedEdge de)
+ {
+ int edgeIndex = findIndex(de);
+ Label label = de.getLabel();
+ int startDepth = de.getDepth(Position.LEFT);
+ int targetLastDepth = de.getDepth(Position.RIGHT);
+ // compute the depths from this edge up to the end of the edge array
+ int nextDepth = computeDepths(edgeIndex + 1, edgeList.size(), startDepth);
+ // compute the depths for the initial part of the array
+ int lastDepth = computeDepths(0, edgeIndex, nextDepth);
+//Debug.print(lastDepth != targetLastDepth, this);
+//Debug.print(lastDepth != targetLastDepth, "mismatch: " + lastDepth + " / " + targetLastDepth);
+ if (lastDepth != targetLastDepth)
+ throw new TopologyException("depth mismatch at " + de.getCoordinate());
+ //Assert.isTrue(lastDepth == targetLastDepth, "depth mismatch at " + de.getCoordinate());
+ }
+
+ /**
+ * Compute the DirectedEdge depths for a subsequence of the edge array.
+ *
+ * @return the last depth assigned (from the R side of the last edge visited)
+ */
+ private int computeDepths(int startIndex, int endIndex, int startDepth)
+ {
+ int currDepth = startDepth;
+ for (int i = startIndex; i < endIndex ; i++) {
+ DirectedEdge nextDe = (DirectedEdge) edgeList.get(i);
+ Label label = nextDe.getLabel();
+ nextDe.setEdgeDepths(Position.RIGHT, currDepth);
+ currDepth = nextDe.getDepth(Position.LEFT);
+ }
+ return currDepth;
+ }
+
+ public void print(PrintStream out)
+ {
+ System.out.println("DirectedEdgeStar: " + getCoordinate());
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ out.print("out ");
+ de.print(out);
+ out.println();
+ out.print("in ");
+ de.getSym().print(out);
+ out.println();
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Edge.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Edge.java
new file mode 100644
index 0000000..7dc0b8b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Edge.java
@@ -0,0 +1,270 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geomgraph.index.MonotoneChainEdge;
+
+
+/**
+ * @version 1.7
+ */
+public class Edge
+ extends GraphComponent
+{
+
+ /**
+ * Updates an IM from the label for an edge.
+ * Handles edges from both L and A geometries.
+ */
+ public static void updateIM(Label label, IntersectionMatrix im)
+ {
+ im.setAtLeastIfValid(label.getLocation(0, Position.ON), label.getLocation(1, Position.ON), 1);
+ if (label.isArea()) {
+ im.setAtLeastIfValid(label.getLocation(0, Position.LEFT), label.getLocation(1, Position.LEFT), 2);
+ im.setAtLeastIfValid(label.getLocation(0, Position.RIGHT), label.getLocation(1, Position.RIGHT), 2);
+ }
+ }
+
+ Coordinate[] pts;
+ private Envelope env;
+ EdgeIntersectionList eiList = new EdgeIntersectionList(this);
+ private String name;
+ private MonotoneChainEdge mce;
+ private boolean isIsolated = true;
+ private Depth depth = new Depth();
+ private int depthDelta = 0; // the change in area depth from the R to L side of this edge
+
+ public Edge(Coordinate[] pts, Label label)
+ {
+ this.pts = pts;
+ this.label = label;
+ }
+ public Edge(Coordinate[] pts)
+ {
+ this(pts, null);
+ }
+
+ public int getNumPoints() { return pts.length; }
+ public void setName(String name) { this.name = name; }
+ public Coordinate[] getCoordinates() { return pts; }
+ public Coordinate getCoordinate(int i)
+ {
+ return pts[i];
+ }
+ public Coordinate getCoordinate()
+ {
+ if (pts.length > 0) return pts[0];
+ return null;
+ }
+ public Envelope getEnvelope()
+ {
+ // compute envelope lazily
+ if (env == null) {
+ env = new Envelope();
+ for (int i = 0; i < pts.length; i++) {
+ env.expandToInclude(pts[i]);
+ }
+ }
+ return env;
+ }
+
+ public Depth getDepth() { return depth; }
+
+ /**
+ * The depthDelta is the change in depth as an edge is crossed from R to L
+ * @return the change in depth as the edge is crossed from R to L
+ */
+ public int getDepthDelta() { return depthDelta; }
+ public void setDepthDelta(int depthDelta) { this.depthDelta = depthDelta; }
+
+ public int getMaximumSegmentIndex()
+ {
+ return pts.length - 1;
+ }
+ public EdgeIntersectionList getEdgeIntersectionList() { return eiList; }
+
+ public MonotoneChainEdge getMonotoneChainEdge()
+ {
+ if (mce == null) mce = new MonotoneChainEdge(this);
+ return mce;
+ }
+
+ public boolean isClosed()
+ {
+ return pts[0].equals(pts[pts.length - 1]);
+ }
+ /**
+ * An Edge is collapsed if it is an Area edge and it consists of
+ * two segments which are equal and opposite (eg a zero-width V).
+ */
+ public boolean isCollapsed()
+ {
+ if (! label.isArea()) return false;
+ if (pts.length != 3) return false;
+ if (pts[0].equals(pts[2]) ) return true;
+ return false;
+ }
+ public Edge getCollapsedEdge()
+ {
+ Coordinate newPts[] = new Coordinate[2];
+ newPts[0] = pts[0];
+ newPts[1] = pts[1];
+ Edge newe = new Edge(newPts, Label.toLineLabel(label));
+ return newe;
+ }
+
+ public void setIsolated(boolean isIsolated)
+ {
+ this.isIsolated = isIsolated;
+ }
+ public boolean isIsolated()
+ {
+ return isIsolated;
+ }
+
+ /**
+ * Adds EdgeIntersections for one or both
+ * intersections found for a segment of an edge to the edge intersection list.
+ */
+ public void addIntersections(LineIntersector li, int segmentIndex, int geomIndex)
+ {
+ for (int i = 0; i < li.getIntersectionNum(); i++) {
+ addIntersection(li, segmentIndex, geomIndex, i);
+ }
+ }
+ /**
+ * Add an EdgeIntersection for intersection intIndex.
+ * An intersection that falls exactly on a vertex of the edge is normalized
+ * to use the higher of the two possible segmentIndexes
+ */
+ public void addIntersection(LineIntersector li, int segmentIndex, int geomIndex, int intIndex)
+ {
+ Coordinate intPt = new Coordinate(li.getIntersection(intIndex));
+ int normalizedSegmentIndex = segmentIndex;
+ double dist = li.getEdgeDistance(geomIndex, intIndex);
+//Debug.println("edge intpt: " + intPt + " dist: " + dist);
+ // normalize the intersection point location
+ int nextSegIndex = normalizedSegmentIndex + 1;
+ if (nextSegIndex < pts.length) {
+ Coordinate nextPt = pts[nextSegIndex];
+//Debug.println("next pt: " + nextPt);
+
+ // Normalize segment index if intPt falls on vertex
+ // The check for point equality is 2D only - Z values are ignored
+ if (intPt.equals2D(nextPt)) {
+//Debug.println("normalized distance");
+ normalizedSegmentIndex = nextSegIndex;
+ dist = 0.0;
+ }
+ }
+ /**
+ * Add the intersection point to edge intersection list.
+ */
+ EdgeIntersection ei = eiList.add(intPt, normalizedSegmentIndex, dist);
+//ei.print(System.out);
+
+ }
+
+ /**
+ * Update the IM with the contribution for this component.
+ * A component only contributes if it has a labelling for both parent geometries
+ */
+ public void computeIM(IntersectionMatrix im)
+ {
+ updateIM(label, im);
+ }
+
+ /**
+ * equals is defined to be:
+ * <p>
+ * e1 equals e2
+ * <b>iff</b>
+ * the coordinates of e1 are the same or the reverse of the coordinates in e2
+ */
+ public boolean equals(Object o)
+ {
+ if (! (o instanceof Edge)) return false;
+ Edge e = (Edge) o;
+
+ if (pts.length != e.pts.length) return false;
+
+ boolean isEqualForward = true;
+ boolean isEqualReverse = true;
+ int iRev = pts.length;
+ for (int i = 0; i < pts.length; i++) {
+ if (! pts[i].equals2D(e.pts[i])) {
+ isEqualForward = false;
+ }
+ if (! pts[i].equals2D(e.pts[--iRev])) {
+ isEqualReverse = false;
+ }
+ if (! isEqualForward && ! isEqualReverse) return false;
+ }
+ return true;
+ }
+
+ /**
+ * @return true if the coordinate sequences of the Edges are identical
+ */
+ public boolean isPointwiseEqual(Edge e)
+ {
+ if (pts.length != e.pts.length) return false;
+
+ for (int i = 0; i < pts.length; i++) {
+ if (! pts[i].equals2D(e.pts[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append("edge " + name + ": ");
+ builder.append("LINESTRING (");
+ for (int i = 0; i < pts.length; i++) {
+ if (i > 0) builder.append(",");
+ builder.append(pts[i].x + " " + pts[i].y);
+ }
+ builder.append(") " + label + " " + depthDelta);
+ return builder.toString();
+ }
+ public void print(PrintStream out)
+ {
+ out.print("edge " + name + ": ");
+ out.print("LINESTRING (");
+ for (int i = 0; i < pts.length; i++) {
+ if (i > 0) out.print(",");
+ out.print(pts[i].x + " " + pts[i].y);
+ }
+ out.print(") " + label + " " + depthDelta);
+ }
+ public void printReverse(PrintStream out)
+ {
+ out.print("edge " + name + ": ");
+ for (int i = pts.length - 1; i >= 0; i--) {
+ out.print(pts[i] + " ");
+ }
+ out.println("");
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEnd.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEnd.java
new file mode 100644
index 0000000..b669755
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEnd.java
@@ -0,0 +1,129 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Models the end of an edge incident on a node.
+ * EdgeEnds have a direction
+ * determined by the direction of the ray from the initial
+ * point to the next point.
+ * EdgeEnds are comparable under the ordering
+ * "a has a greater angle with the x-axis than b".
+ * This ordering is used to sort EdgeEnds around a node.
+ * @version 1.7
+ */
+public class EdgeEnd
+ implements Comparable
+{
+ protected Edge edge; // the parent edge of this edge end
+ protected Label label;
+
+ private Node node; // the node this edge end originates at
+ private Coordinate p0, p1; // points of initial line segment
+ private double dx, dy; // the direction vector for this edge from its starting point
+ private int quadrant;
+
+ protected EdgeEnd(Edge edge)
+ {
+ this.edge = edge;
+ }
+ public EdgeEnd(Edge edge, Coordinate p0, Coordinate p1) {
+ this(edge, p0, p1, null);
+ }
+ public EdgeEnd(Edge edge, Coordinate p0, Coordinate p1, Label label) {
+ this(edge);
+ init(p0, p1);
+ this.label = label;
+ }
+
+ protected void init(Coordinate p0, Coordinate p1)
+ {
+ this.p0 = p0;
+ this.p1 = p1;
+ dx = p1.x - p0.x;
+ dy = p1.y - p0.y;
+ quadrant = Quadrant.quadrant(dx, dy);
+ Assert.isTrue(! (dx == 0 && dy == 0), "EdgeEnd with identical endpoints found");
+ }
+
+ public Edge getEdge() { return edge; }
+ public Label getLabel() { return label; }
+ public Coordinate getCoordinate() { return p0; }
+ public Coordinate getDirectedCoordinate() { return p1; }
+ public int getQuadrant() { return quadrant; }
+ public double getDx() { return dx; }
+ public double getDy() { return dy; }
+
+ public void setNode(Node node) { this.node = node; }
+ public Node getNode() { return node; }
+
+ public int compareTo(Object obj)
+ {
+ EdgeEnd e = (EdgeEnd) obj;
+ return compareDirection(e);
+ }
+ /**
+ * Implements the total order relation:
+ * <p>
+ * a has a greater angle with the positive x-axis than b
+ * <p>
+ * Using the obvious algorithm of simply computing the angle is not robust,
+ * since the angle calculation is obviously susceptible to roundoff.
+ * A robust algorithm is:
+ * - first compare the quadrant. If the quadrants
+ * are different, it it trivial to determine which vector is "greater".
+ * - if the vectors lie in the same quadrant, the computeOrientation function
+ * can be used to decide the relative orientation of the vectors.
+ */
+ public int compareDirection(EdgeEnd e)
+ {
+ if (dx == e.dx && dy == e.dy)
+ return 0;
+ // if the rays are in different quadrants, determining the ordering is trivial
+ if (quadrant > e.quadrant) return 1;
+ if (quadrant < e.quadrant) return -1;
+ // vectors are in the same quadrant - check relative orientation of direction vectors
+ // this is > e if it is CCW of e
+ return Orientation.index(e.p0, e.p1, p1);
+ }
+
+ public void computeLabel(BoundaryNodeRule boundaryNodeRule)
+ {
+ // subclasses should override this if they are using labels
+ }
+ public void print(PrintStream out)
+ {
+ double angle = Math.atan2(dy, dx);
+ String className = getClass().getName();
+ int lastDotPos = className.lastIndexOf('.');
+ String name = className.substring(lastDotPos + 1);
+ out.print(" " + name + ": " + p0 + " - " + p1 + " " + quadrant + ":" + angle + " " + label);
+ }
+ public String toString()
+ {
+ double angle = Math.atan2(dy, dx);
+ String className = getClass().getName();
+ int lastDotPos = className.lastIndexOf('.');
+ String name = className.substring(lastDotPos + 1);
+ return " " + name + ": " + p0 + " - " + p1 + " " + quadrant + ":" + angle + " " + label;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEndStar.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEndStar.java
new file mode 100644
index 0000000..445dead
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeEndStar.java
@@ -0,0 +1,338 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A EdgeEndStar is an ordered list of EdgeEnds around a node.
+ * They are maintained in CCW order (starting with the positive x-axis) around the node
+ * for efficient lookup and topology building.
+ *
+ * @version 1.7
+ */
+abstract public class EdgeEndStar
+{
+
+ /**
+ * A map which maintains the edges in sorted order around the node
+ */
+ protected Map edgeMap = new TreeMap();
+ /**
+ * A list of all outgoing edges in the result, in CCW order
+ */
+ protected List edgeList;
+ /**
+ * The location of the point for this star in Geometry i Areas
+ */
+ private int[] ptInAreaLocation = { Location.NONE, Location.NONE };
+
+ public EdgeEndStar()
+ {
+
+ }
+
+ /**
+ * Insert a EdgeEnd into this EdgeEndStar
+ */
+ abstract public void insert(EdgeEnd e);
+
+ /**
+ * Insert an EdgeEnd into the map, and clear the edgeList cache,
+ * since the list of edges has now changed
+ */
+ protected void insertEdgeEnd(EdgeEnd e, Object obj)
+ {
+ edgeMap.put(e, obj);
+ edgeList = null; // edge list has changed - clear the cache
+ }
+
+ /**
+ * @return the coordinate for the node this star is based at
+ */
+ public Coordinate getCoordinate()
+ {
+ Iterator it = iterator();
+ if (! it.hasNext()) return null;
+ EdgeEnd e = (EdgeEnd) it.next();
+ return e.getCoordinate();
+ }
+ public int getDegree()
+ {
+ return edgeMap.size();
+ }
+
+ /**
+ * Iterator access to the ordered list of edges is optimized by
+ * copying the map collection to a list. (This assumes that
+ * once an iterator is requested, it is likely that insertion into
+ * the map is complete).
+ */
+ public Iterator iterator()
+ {
+ return getEdges().iterator();
+ }
+ public List getEdges()
+ {
+ if (edgeList == null) {
+ edgeList = new ArrayList(edgeMap.values());
+ }
+ return edgeList;
+ }
+ public EdgeEnd getNextCW(EdgeEnd ee)
+ {
+ getEdges();
+ int i = edgeList.indexOf(ee);
+ int iNextCW = i - 1;
+ if (i == 0)
+ iNextCW = edgeList.size() - 1;
+ return (EdgeEnd) edgeList.get(iNextCW);
+ }
+
+ public void computeLabelling(GeometryGraph[] geomGraph)
+ {
+ computeEdgeEndLabels(geomGraph[0].getBoundaryNodeRule());
+ // Propagate side labels around the edges in the star
+ // for each parent Geometry
+//Debug.print(this);
+ propagateSideLabels(0);
+//Debug.print(this);
+//Debug.printIfWatch(this);
+ propagateSideLabels(1);
+//Debug.print(this);
+//Debug.printIfWatch(this);
+
+ /**
+ * If there are edges that still have null labels for a geometry
+ * this must be because there are no area edges for that geometry incident on this node.
+ * In this case, to label the edge for that geometry we must test whether the
+ * edge is in the interior of the geometry.
+ * To do this it suffices to determine whether the node for the edge is in the interior of an area.
+ * If so, the edge has location INTERIOR for the geometry.
+ * In all other cases (e.g. the node is on a line, on a point, or not on the geometry at all) the edge
+ * has the location EXTERIOR for the geometry.
+ * <p>
+ * Note that the edge cannot be on the BOUNDARY of the geometry, since then
+ * there would have been a parallel edge from the Geometry at this node also labelled BOUNDARY
+ * and this edge would have been labelled in the previous step.
+ * <p>
+ * This code causes a problem when dimensional collapses are present, since it may try and
+ * determine the location of a node where a dimensional collapse has occurred.
+ * The point should be considered to be on the EXTERIOR
+ * of the polygon, but locate() will return INTERIOR, since it is passed
+ * the original Geometry, not the collapsed version.
+ *
+ * If there are incident edges which are Line edges labelled BOUNDARY,
+ * then they must be edges resulting from dimensional collapses.
+ * In this case the other edges can be labelled EXTERIOR for this Geometry.
+ *
+ * MD 8/11/01 - NOT TRUE! The collapsed edges may in fact be in the interior of the Geometry,
+ * which means the other edges should be labelled INTERIOR for this Geometry.
+ * Not sure how solve this... Possibly labelling needs to be split into several phases:
+ * area label propagation, symLabel merging, then finally null label resolution.
+ */
+ boolean[] hasDimensionalCollapseEdge = { false, false };
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ Label label = e.getLabel();
+ for (int geomi = 0; geomi < 2; geomi++) {
+ if (label.isLine(geomi) && label.getLocation(geomi) == Location.BOUNDARY)
+ hasDimensionalCollapseEdge[geomi] = true;
+ }
+ }
+//Debug.print(this);
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ Label label = e.getLabel();
+//Debug.println(e);
+ for (int geomi = 0; geomi < 2; geomi++) {
+ if (label.isAnyNull(geomi)) {
+ int loc = Location.NONE;
+ if (hasDimensionalCollapseEdge[geomi]) {
+ loc = Location.EXTERIOR;
+ }
+ else {
+ Coordinate p = e.getCoordinate();
+ loc = getLocation(geomi, p, geomGraph);
+ }
+ label.setAllLocationsIfNull(geomi, loc);
+ }
+ }
+//Debug.println(e);
+ }
+//Debug.print(this);
+//Debug.printIfWatch(this);
+ }
+
+ private void computeEdgeEndLabels(BoundaryNodeRule boundaryNodeRule)
+ {
+ // Compute edge label for each EdgeEnd
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd ee = (EdgeEnd) it.next();
+ ee.computeLabel(boundaryNodeRule);
+ }
+ }
+
+ private int getLocation(int geomIndex, Coordinate p, GeometryGraph[] geom)
+ {
+ // compute location only on demand
+ if (ptInAreaLocation[geomIndex] == Location.NONE) {
+ ptInAreaLocation[geomIndex] = SimplePointInAreaLocator.locate(p, geom[geomIndex].getGeometry());
+ }
+ return ptInAreaLocation[geomIndex];
+ }
+
+ public boolean isAreaLabelsConsistent(GeometryGraph geomGraph)
+ {
+ computeEdgeEndLabels(geomGraph.getBoundaryNodeRule());
+ return checkAreaLabelsConsistent(0);
+ }
+
+ private boolean checkAreaLabelsConsistent(int geomIndex)
+ {
+ // Since edges are stored in CCW order around the node,
+ // As we move around the ring we move from the right to the left side of the edge
+ List edges = getEdges();
+ // if no edges, trivially consistent
+ if (edges.size() <= 0)
+ return true;
+ // initialize startLoc to location of last L side (if any)
+ int lastEdgeIndex = edges.size() - 1;
+ Label startLabel = ((EdgeEnd) edges.get(lastEdgeIndex)).getLabel();
+ int startLoc = startLabel.getLocation(geomIndex, Position.LEFT);
+ Assert.isTrue(startLoc != Location.NONE, "Found unlabelled area edge");
+
+ int currLoc = startLoc;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ Label label = e.getLabel();
+ // we assume that we are only checking a area
+ Assert.isTrue(label.isArea(geomIndex), "Found non-area edge");
+ int leftLoc = label.getLocation(geomIndex, Position.LEFT);
+ int rightLoc = label.getLocation(geomIndex, Position.RIGHT);
+//System.out.println(leftLoc + " " + rightLoc);
+//Debug.print(this);
+ // check that edge is really a boundary between inside and outside!
+ if (leftLoc == rightLoc) {
+ return false;
+ }
+ // check side location conflict
+ //Assert.isTrue(rightLoc == currLoc, "side location conflict " + locStr);
+ if (rightLoc != currLoc) {
+//Debug.print(this);
+ return false;
+ }
+ currLoc = leftLoc;
+ }
+ return true;
+ }
+ void propagateSideLabels(int geomIndex)
+ {
+ // Since edges are stored in CCW order around the node,
+ // As we move around the ring we move from the right to the left side of the edge
+ int startLoc = Location.NONE ;
+
+ // initialize loc to location of last L side (if any)
+//System.out.println("finding start location");
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ Label label = e.getLabel();
+ if (label.isArea(geomIndex) && label.getLocation(geomIndex, Position.LEFT) != Location.NONE)
+ startLoc = label.getLocation(geomIndex, Position.LEFT);
+ }
+
+ // no labelled sides found, so no labels to propagate
+ if (startLoc == Location.NONE) return;
+
+ int currLoc = startLoc;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ Label label = e.getLabel();
+ // set null ON values to be in current location
+ if (label.getLocation(geomIndex, Position.ON) == Location.NONE)
+ label.setLocation(geomIndex, Position.ON, currLoc);
+ // set side labels (if any)
+ if (label.isArea(geomIndex)) {
+ int leftLoc = label.getLocation(geomIndex, Position.LEFT);
+ int rightLoc = label.getLocation(geomIndex, Position.RIGHT);
+ // if there is a right location, that is the next location to propagate
+ if (rightLoc != Location.NONE) {
+//Debug.print(rightLoc != currLoc, this);
+ if (rightLoc != currLoc)
+ throw new TopologyException("side location conflict", e.getCoordinate());
+ if (leftLoc == Location.NONE) {
+ Assert.shouldNeverReachHere("found single null side (at " + e.getCoordinate() + ")");
+ }
+ currLoc = leftLoc;
+ }
+ else {
+ /** RHS is null - LHS must be null too.
+ * This must be an edge from the other geometry, which has no location
+ * labelling for this geometry. This edge must lie wholly inside or outside
+ * the other geometry (which is determined by the current location).
+ * Assign both sides to be the current location.
+ */
+ Assert.isTrue(label.getLocation(geomIndex, Position.LEFT) == Location.NONE, "found single null side");
+ label.setLocation(geomIndex, Position.RIGHT, currLoc);
+ label.setLocation(geomIndex, Position.LEFT, currLoc);
+ }
+ }
+ }
+ }
+
+ public int findIndex(EdgeEnd eSearch)
+ {
+ iterator(); // force edgelist to be computed
+ for (int i = 0; i < edgeList.size(); i++ ) {
+ EdgeEnd e = (EdgeEnd) edgeList.get(i);
+ if (e == eSearch) return i;
+ }
+ return -1;
+ }
+
+ public void print(PrintStream out)
+ {
+ System.out.println("EdgeEndStar: " + getCoordinate());
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ e.print(out);
+ }
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("EdgeEndStar: " + getCoordinate());
+ buf.append("\n");
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ buf.append(e);
+ buf.append("\n");
+ }
+ return buf.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersection.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersection.java
new file mode 100644
index 0000000..e47af9b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersection.java
@@ -0,0 +1,87 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Represents a point on an
+ * edge which intersects with another edge.
+ * <p>
+ * The intersection may either be a single point, or a line segment
+ * (in which case this point is the start of the line segment)
+ * The intersection point must be precise.
+ *
+ * @version 1.7
+ */
+public class EdgeIntersection
+ implements Comparable
+{
+
+ public Coordinate coord; // the point of intersection
+ public int segmentIndex; // the index of the containing line segment in the parent edge
+ public double dist; // the edge distance of this point along the containing line segment
+
+ public EdgeIntersection(Coordinate coord, int segmentIndex, double dist) {
+ this.coord = new Coordinate(coord);
+ this.segmentIndex = segmentIndex;
+ this.dist = dist;
+ }
+
+ public Coordinate getCoordinate() { return coord; }
+
+ public int getSegmentIndex() { return segmentIndex; }
+
+ public double getDistance() { return dist; }
+
+ public int compareTo(Object obj)
+ {
+ EdgeIntersection other = (EdgeIntersection) obj;
+ return compare(other.segmentIndex, other.dist);
+ }
+ /**
+ * @return -1 this EdgeIntersection is located before the argument location
+ * @return 0 this EdgeIntersection is at the argument location
+ * @return 1 this EdgeIntersection is located after the argument location
+ */
+ public int compare(int segmentIndex, double dist)
+ {
+ if (this.segmentIndex < segmentIndex) return -1;
+ if (this.segmentIndex > segmentIndex) return 1;
+ if (this.dist < dist) return -1;
+ if (this.dist > dist) return 1;
+ return 0;
+ }
+
+ public boolean isEndPoint(int maxSegmentIndex)
+ {
+ if (segmentIndex == 0 && dist == 0.0) return true;
+ if (segmentIndex == maxSegmentIndex) return true;
+ return false;
+ }
+
+ public void print(PrintStream out)
+ {
+ out.print(coord);
+ out.print(" seg # = " + segmentIndex);
+ out.println(" dist = " + dist);
+ }
+ public String toString()
+ {
+ return coord + " seg # = " + segmentIndex + " dist = " + dist;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersectionList.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersectionList.java
new file mode 100644
index 0000000..8cd0870
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeIntersectionList.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A list of edge intersections along an {@link Edge}.
+ * Implements splitting an edge with intersections
+ * into multiple resultant edges.
+ *
+ * @version 1.7
+ */
+public class EdgeIntersectionList
+{
+ // a Map <EdgeIntersection, EdgeIntersection>
+ private Map nodeMap = new TreeMap();
+ Edge edge; // the parent edge
+
+ public EdgeIntersectionList(Edge edge)
+ {
+ this.edge = edge;
+ }
+
+ /**
+ * Adds an intersection into the list, if it isn't already there.
+ * The input segmentIndex and dist are expected to be normalized.
+ * @return the EdgeIntersection found or added
+ */
+ public EdgeIntersection add(Coordinate intPt, int segmentIndex, double dist)
+ {
+ EdgeIntersection eiNew = new EdgeIntersection(intPt, segmentIndex, dist);
+ EdgeIntersection ei = (EdgeIntersection) nodeMap.get(eiNew);
+ if (ei != null) {
+ return ei;
+ }
+ nodeMap.put(eiNew, eiNew);
+ return eiNew;
+ }
+
+ /**
+ * Returns an iterator of {@link EdgeIntersection}s
+ *
+ * @return an Iterator of EdgeIntersections
+ */
+ public Iterator iterator() { return nodeMap.values().iterator(); }
+
+ /**
+ * Tests if the given point is an edge intersection
+ *
+ * @param pt the point to test
+ * @return true if the point is an intersection
+ */
+ public boolean isIntersection(Coordinate pt)
+ {
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) it.next();
+ if (ei.coord.equals(pt))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Adds entries for the first and last points of the edge to the list
+ */
+ public void addEndpoints()
+ {
+ int maxSegIndex = edge.pts.length - 1;
+ add(edge.pts[0], 0, 0.0);
+ add(edge.pts[maxSegIndex], maxSegIndex, 0.0);
+ }
+
+ /**
+ * Creates new edges for all the edges that the intersections in this
+ * list split the parent edge into.
+ * Adds the edges to the input list (this is so a single list
+ * can be used to accumulate all split edges for a Geometry).
+ *
+ * @param edgeList a list of EdgeIntersections
+ */
+ public void addSplitEdges(List edgeList)
+ {
+ // ensure that the list has entries for the first and last point of the edge
+ addEndpoints();
+
+ Iterator it = iterator();
+ // there should always be at least two entries in the list
+ EdgeIntersection eiPrev = (EdgeIntersection) it.next();
+ while (it.hasNext()) {
+ EdgeIntersection ei = (EdgeIntersection) it.next();
+ Edge newEdge = createSplitEdge(eiPrev, ei);
+ edgeList.add(newEdge);
+
+ eiPrev = ei;
+ }
+ }
+ /**
+ * Create a new "split edge" with the section of points between
+ * (and including) the two intersections.
+ * The label for the new edge is the same as the label for the parent edge.
+ */
+ Edge createSplitEdge(EdgeIntersection ei0, EdgeIntersection ei1)
+ {
+//Debug.print("\ncreateSplitEdge"); Debug.print(ei0); Debug.print(ei1);
+ int npts = ei1.segmentIndex - ei0.segmentIndex + 2;
+
+ Coordinate lastSegStartPt = edge.pts[ei1.segmentIndex];
+ // if the last intersection point is not equal to the its segment start pt,
+ // add it to the points list as well.
+ // (This check is needed because the distance metric is not totally reliable!)
+ // The check for point equality is 2D only - Z values are ignored
+ boolean useIntPt1 = ei1.dist > 0.0 || ! ei1.coord.equals2D(lastSegStartPt);
+ if (! useIntPt1) {
+ npts--;
+ }
+
+ Coordinate[] pts = new Coordinate[npts];
+ int ipt = 0;
+ pts[ipt++] = new Coordinate(ei0.coord);
+ for (int i = ei0.segmentIndex + 1; i <= ei1.segmentIndex; i++) {
+ pts[ipt++] = edge.pts[i];
+ }
+ if (useIntPt1) pts[ipt] = ei1.coord;
+ return new Edge(pts, new Label(edge.label));
+ }
+
+ public void print(PrintStream out)
+ {
+ out.println("Intersections:");
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) it.next();
+ ei.print(out);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeList.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeList.java
new file mode 100644
index 0000000..eb0299a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeList.java
@@ -0,0 +1,114 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.noding.OrientedCoordinateArray;
+
+
+/**
+ * A EdgeList is a list of Edges. It supports locating edges
+ * that are pointwise equals to a target edge.
+ * @version 1.7
+ */
+public class EdgeList
+{
+ private List edges = new ArrayList();
+ /**
+ * An index of the edges, for fast lookup.
+ *
+ */
+ private Map ocaMap = new TreeMap();
+
+ public EdgeList() {
+ }
+
+ /**
+ * Insert an edge unless it is already in the list
+ */
+ public void add(Edge e)
+ {
+ edges.add(e);
+ OrientedCoordinateArray oca = new OrientedCoordinateArray(e.getCoordinates());
+ ocaMap.put(oca, e);
+ }
+
+ public void addAll(Collection edgeColl)
+ {
+ for (Iterator i = edgeColl.iterator(); i.hasNext(); ) {
+ add((Edge) i.next());
+ }
+ }
+
+ public List getEdges() { return edges; }
+
+ /**
+ * If there is an edge equal to e already in the list, return it.
+ * Otherwise return null.
+ * @return equal edge, if there is one already in the list
+ * null otherwise
+ */
+ public Edge findEqualEdge(Edge e)
+ {
+ OrientedCoordinateArray oca = new OrientedCoordinateArray(e.getCoordinates());
+ // will return null if no edge matches
+ Edge matchEdge = (Edge) ocaMap.get(oca);
+ return matchEdge;
+ }
+
+ public Iterator iterator() { return edges.iterator(); }
+
+ public Edge get(int i) { return (Edge) edges.get(i); }
+
+ /**
+ * If the edge e is already in the list, return its index.
+ * @return index, if e is already in the list
+ * -1 otherwise
+ */
+ public int findEdgeIndex(Edge e)
+ {
+ for (int i = 0; i < edges.size(); i++) {
+ if ( ((Edge) edges.get(i)).equals(e) ) return i;
+ }
+ return -1;
+ }
+
+ public void print(PrintStream out)
+ {
+ out.print("MULTILINESTRING ( ");
+ for (int j = 0; j < edges.size(); j++) {
+ Edge e = (Edge) edges.get(j);
+ if (j > 0) out.print(",");
+ out.print("(");
+ Coordinate[] pts = e.getCoordinates();
+ for (int i = 0; i < pts.length; i++) {
+ if (i > 0) out.print(",");
+ out.print(pts[i].x + " " + pts[i].y);
+ }
+ out.println(")");
+ }
+ out.print(") ");
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeNodingValidator.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeNodingValidator.java
new file mode 100644
index 0000000..719325e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeNodingValidator.java
@@ -0,0 +1,81 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.noding.BasicSegmentString;
+import org.locationtech.jts.noding.FastNodingValidator;
+
+/**
+ * Validates that a collection of {@link Edge}s is correctly noded.
+ * Throws an appropriate exception if an noding error is found.
+ *
+ * @version 1.7
+ */
+public class EdgeNodingValidator
+{
+ /**
+ * Checks whether the supplied {@link Edge}s
+ * are correctly noded.
+ * Throws a {@link TopologyException} if they are not.
+ *
+ * @param edges a collection of Edges.
+ * @throws TopologyException if the SegmentStrings are not correctly noded
+ *
+ */
+ public static void checkValid(Collection edges)
+ {
+ EdgeNodingValidator validator = new EdgeNodingValidator(edges);
+ validator.checkValid();
+ }
+
+ public static Collection toSegmentStrings(Collection edges)
+ {
+ // convert Edges to SegmentStrings
+ Collection segStrings = new ArrayList();
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ segStrings.add(new BasicSegmentString(e.getCoordinates(), e));
+ }
+ return segStrings;
+ }
+
+ private FastNodingValidator nv;
+
+ /**
+ * Creates a new validator for the given collection of {@link Edge}s.
+ *
+ * @param edges a collection of Edges.
+ */
+ public EdgeNodingValidator(Collection edges)
+ {
+ nv = new FastNodingValidator(toSegmentStrings(edges));
+ }
+
+ /**
+ * Checks whether the supplied edges
+ * are correctly noded. Throws an exception if they are not.
+ *
+ * @throws TopologyException if the SegmentStrings are not correctly noded
+ *
+ */
+ public void checkValid()
+ {
+ nv.checkValid();
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeRing.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeRing.java
new file mode 100644
index 0000000..2cc73b0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/EdgeRing.java
@@ -0,0 +1,231 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.util.Assert;
+
+
+
+/**
+ * @version 1.7
+ */
+public abstract class EdgeRing {
+
+ protected DirectedEdge startDe; // the directed edge which starts the list of edges for this EdgeRing
+ private int maxNodeDegree = -1;
+ private List edges = new ArrayList(); // the DirectedEdges making up this EdgeRing
+ private List pts = new ArrayList();
+ private Label label = new Label(Location.NONE); // label stores the locations of each geometry on the face surrounded by this ring
+ private LinearRing ring; // the ring created for this EdgeRing
+ private boolean isHole;
+ private EdgeRing shell; // if non-null, the ring is a hole and this EdgeRing is its containing shell
+ private ArrayList holes = new ArrayList(); // a list of EdgeRings which are holes in this EdgeRing
+
+ protected GeometryFactory geometryFactory;
+
+ public EdgeRing(DirectedEdge start, GeometryFactory geometryFactory) {
+ this.geometryFactory = geometryFactory;
+ computePoints(start);
+ computeRing();
+ }
+
+ public boolean isIsolated()
+ {
+ return (label.getGeometryCount() == 1);
+ }
+ public boolean isHole()
+ {
+ //computePoints();
+ return isHole;
+ }
+
+ public Coordinate getCoordinate(int i) { return (Coordinate) pts.get(i); }
+ public LinearRing getLinearRing() { return ring; }
+ public Label getLabel() { return label; }
+ public boolean isShell() { return shell == null; }
+ public EdgeRing getShell() { return shell; }
+ public void setShell(EdgeRing shell)
+ {
+ this.shell = shell;
+ if (shell != null) shell.addHole(this);
+ }
+ public void addHole(EdgeRing ring) { holes.add(ring); }
+
+ public Polygon toPolygon(GeometryFactory geometryFactory)
+ {
+ LinearRing[] holeLR = new LinearRing[holes.size()];
+ for (int i = 0; i < holes.size(); i++) {
+ holeLR[i] = ((EdgeRing) holes.get(i)).getLinearRing();
+ }
+ Polygon poly = geometryFactory.createPolygon(getLinearRing(), holeLR);
+ return poly;
+ }
+ /**
+ * Compute a LinearRing from the point list previously collected.
+ * Test if the ring is a hole (i.e. if it is CCW) and set the hole flag
+ * accordingly.
+ */
+ public void computeRing()
+ {
+ if (ring != null) return; // don't compute more than once
+ Coordinate[] coord = new Coordinate[pts.size()];
+ for (int i = 0; i < pts.size(); i++) {
+ coord[i] = (Coordinate) pts.get(i);
+ }
+ ring = geometryFactory.createLinearRing(coord);
+ isHole = Orientation.isCCW(ring.getCoordinates());
+//Debug.println( (isHole ? "hole - " : "shell - ") + WKTWriter.toLineString(new CoordinateArraySequence(ring.getCoordinates())));
+ }
+ abstract public DirectedEdge getNext(DirectedEdge de);
+ abstract public void setEdgeRing(DirectedEdge de, EdgeRing er);
+
+ /**
+ * Returns the list of DirectedEdges that make up this EdgeRing
+ */
+ public List getEdges() { return edges; }
+
+ /**
+ * Collect all the points from the DirectedEdges of this ring into a contiguous list
+ */
+ protected void computePoints(DirectedEdge start)
+ {
+//System.out.println("buildRing");
+ startDe = start;
+ DirectedEdge de = start;
+ boolean isFirstEdge = true;
+ do {
+// Assert.isTrue(de != null, "found null Directed Edge");
+ if (de == null)
+ throw new TopologyException("Found null DirectedEdge");
+ if (de.getEdgeRing() == this)
+ throw new TopologyException("Directed Edge visited twice during ring-building at " + de.getCoordinate());
+
+ edges.add(de);
+//Debug.println(de);
+//Debug.println(de.getEdge());
+ Label label = de.getLabel();
+ Assert.isTrue(label.isArea());
+ mergeLabel(label);
+ addPoints(de.getEdge(), de.isForward(), isFirstEdge);
+ isFirstEdge = false;
+ setEdgeRing(de, this);
+ de = getNext(de);
+ } while (de != startDe);
+ }
+
+ public int getMaxNodeDegree()
+ {
+ if (maxNodeDegree < 0) computeMaxNodeDegree();
+ return maxNodeDegree;
+ }
+
+ private void computeMaxNodeDegree()
+ {
+ maxNodeDegree = 0;
+ DirectedEdge de = startDe;
+ do {
+ Node node = de.getNode();
+ int degree = ((DirectedEdgeStar) node.getEdges()).getOutgoingDegree(this);
+ if (degree > maxNodeDegree) maxNodeDegree = degree;
+ de = getNext(de);
+ } while (de != startDe);
+ maxNodeDegree *= 2;
+ }
+
+
+ public void setInResult()
+ {
+ DirectedEdge de = startDe;
+ do {
+ de.getEdge().setInResult(true);
+ de = de.getNext();
+ } while (de != startDe);
+ }
+
+ protected void mergeLabel(Label deLabel)
+ {
+ mergeLabel(deLabel, 0);
+ mergeLabel(deLabel, 1);
+ }
+ /**
+ * Merge the RHS label from a DirectedEdge into the label for this EdgeRing.
+ * The DirectedEdge label may be null. This is acceptable - it results
+ * from a node which is NOT an intersection node between the Geometries
+ * (e.g. the end node of a LinearRing). In this case the DirectedEdge label
+ * does not contribute any information to the overall labelling, and is simply skipped.
+ */
+ protected void mergeLabel(Label deLabel, int geomIndex)
+ {
+ int loc = deLabel.getLocation(geomIndex, Position.RIGHT);
+ // no information to be had from this label
+ if (loc == Location.NONE) return;
+ // if there is no current RHS value, set it
+ if (label.getLocation(geomIndex) == Location.NONE) {
+ label.setLocation(geomIndex, loc);
+ return;
+ }
+ }
+ protected void addPoints(Edge edge, boolean isForward, boolean isFirstEdge)
+ {
+ Coordinate[] edgePts = edge.getCoordinates();
+ if (isForward) {
+ int startIndex = 1;
+ if (isFirstEdge) startIndex = 0;
+ for (int i = startIndex; i < edgePts.length; i++) {
+ pts.add(edgePts[i]);
+ }
+ }
+ else { // is backward
+ int startIndex = edgePts.length - 2;
+ if (isFirstEdge) startIndex = edgePts.length - 1;
+ for (int i = startIndex; i >= 0; i--) {
+ pts.add(edgePts[i]);
+ }
+ }
+ }
+
+ /**
+ * This method will cause the ring to be computed.
+ * It will also check any holes, if they have been assigned.
+ */
+ public boolean containsPoint(Coordinate p)
+ {
+ LinearRing shell = getLinearRing();
+ Envelope env = shell.getEnvelopeInternal();
+ if (! env.contains(p)) return false;
+ if (! PointLocation.isInRing(p, shell.getCoordinates()) ) return false;
+
+ for (Iterator i = holes.iterator(); i.hasNext(); ) {
+ EdgeRing hole = (EdgeRing) i.next();
+ if (hole.containsPoint(p) )
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java
new file mode 100644
index 0000000..caa8e83
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java
@@ -0,0 +1,475 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geomgraph.index.EdgeSetIntersector;
+import org.locationtech.jts.geomgraph.index.SegmentIntersector;
+import org.locationtech.jts.geomgraph.index.SimpleMCSweepLineIntersector;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A GeometryGraph is a graph that models a given Geometry
+ * @version 1.7
+ */
+public class GeometryGraph
+ extends PlanarGraph
+{
+/**
+ * This method implements the Boundary Determination Rule
+ * for determining whether
+ * a component (node or edge) that appears multiple times in elements
+ * of a MultiGeometry is in the boundary or the interior of the Geometry
+ * <br>
+ * The SFS uses the "Mod-2 Rule", which this function implements
+ * <br>
+ * An alternative (and possibly more intuitive) rule would be
+ * the "At Most One Rule":
+ * isInBoundary = (componentCount == 1)
+ */
+/*
+ public static boolean isInBoundary(int boundaryCount)
+ {
+ // the "Mod-2 Rule"
+ return boundaryCount % 2 == 1;
+ }
+ public static int determineBoundary(int boundaryCount)
+ {
+ return isInBoundary(boundaryCount) ? Location.BOUNDARY : Location.INTERIOR;
+ }
+*/
+
+ public static int determineBoundary(BoundaryNodeRule boundaryNodeRule, int boundaryCount)
+ {
+ return boundaryNodeRule.isInBoundary(boundaryCount)
+ ? Location.BOUNDARY : Location.INTERIOR;
+ }
+
+ private Geometry parentGeom;
+
+ /**
+ * The lineEdgeMap is a map of the linestring components of the
+ * parentGeometry to the edges which are derived from them.
+ * This is used to efficiently perform findEdge queries
+ */
+ private Map lineEdgeMap = new HashMap();
+
+ private BoundaryNodeRule boundaryNodeRule = null;
+
+ /**
+ * If this flag is true, the Boundary Determination Rule will used when deciding
+ * whether nodes are in the boundary or not
+ */
+ private boolean useBoundaryDeterminationRule = true;
+ private int argIndex; // the index of this geometry as an argument to a spatial function (used for labelling)
+ private Collection boundaryNodes;
+ private boolean hasTooFewPoints = false;
+ private Coordinate invalidPoint = null;
+
+ private PointOnGeometryLocator areaPtLocator = null;
+ // for use if geometry is not Polygonal
+ private final PointLocator ptLocator = new PointLocator();
+
+ private EdgeSetIntersector createEdgeSetIntersector()
+ {
+ // various options for computing intersections, from slowest to fastest
+
+ //private EdgeSetIntersector esi = new SimpleEdgeSetIntersector();
+ //private EdgeSetIntersector esi = new MonotoneChainIntersector();
+ //private EdgeSetIntersector esi = new NonReversingChainIntersector();
+ //private EdgeSetIntersector esi = new SimpleSweepLineIntersector();
+ //private EdgeSetIntersector esi = new MCSweepLineIntersector();
+
+ //return new SimpleEdgeSetIntersector();
+ return new SimpleMCSweepLineIntersector();
+ }
+
+ public GeometryGraph(int argIndex, Geometry parentGeom)
+ {
+ this(argIndex, parentGeom,
+ BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE
+ );
+ }
+
+ public GeometryGraph(int argIndex, Geometry parentGeom, BoundaryNodeRule boundaryNodeRule) {
+ this.argIndex = argIndex;
+ this.parentGeom = parentGeom;
+ this.boundaryNodeRule = boundaryNodeRule;
+ if (parentGeom != null) {
+// precisionModel = parentGeom.getPrecisionModel();
+// SRID = parentGeom.getSRID();
+ add(parentGeom);
+ }
+ }
+
+ /**
+ * This constructor is used by clients that wish to add Edges explicitly,
+ * rather than adding a Geometry. (An example is BufferOp).
+ */
+ // no longer used
+// public GeometryGraph(int argIndex, PrecisionModel precisionModel, int SRID) {
+// this(argIndex, null);
+// this.precisionModel = precisionModel;
+// this.SRID = SRID;
+// }
+// public PrecisionModel getPrecisionModel()
+// {
+// return precisionModel;
+// }
+// public int getSRID() { return SRID; }
+
+ public boolean hasTooFewPoints() { return hasTooFewPoints; }
+
+ public Coordinate getInvalidPoint() { return invalidPoint; }
+
+ public Geometry getGeometry() { return parentGeom; }
+
+ public BoundaryNodeRule getBoundaryNodeRule() { return boundaryNodeRule; }
+
+ public Collection getBoundaryNodes()
+ {
+ if (boundaryNodes == null)
+ boundaryNodes = nodes.getBoundaryNodes(argIndex);
+ return boundaryNodes;
+ }
+
+ public Coordinate[] getBoundaryPoints()
+ {
+ Collection coll = getBoundaryNodes();
+ Coordinate[] pts = new Coordinate[coll.size()];
+ int i = 0;
+ for (Iterator it = coll.iterator(); it.hasNext(); ) {
+ Node node = (Node) it.next();
+ pts[i++] = node.getCoordinate().copy();
+ }
+ return pts;
+ }
+
+ public Edge findEdge(LineString line)
+ {
+ return (Edge) lineEdgeMap.get(line);
+ }
+
+ public void computeSplitEdges(List edgelist)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ e.eiList.addSplitEdges(edgelist);
+ }
+ }
+ private void add(Geometry g)
+ {
+ if (g.isEmpty()) return;
+
+ // check if this Geometry should obey the Boundary Determination Rule
+ // all collections except MultiPolygons obey the rule
+ if (g instanceof MultiPolygon)
+ useBoundaryDeterminationRule = false;
+
+ if (g instanceof Polygon) addPolygon((Polygon) g);
+ // LineString also handles LinearRings
+ else if (g instanceof LineString) addLineString((LineString) g);
+ else if (g instanceof Point) addPoint((Point) g);
+ else if (g instanceof MultiPoint) addCollection((MultiPoint) g);
+ else if (g instanceof MultiLineString) addCollection((MultiLineString) g);
+ else if (g instanceof MultiPolygon) addCollection((MultiPolygon) g);
+ else if (g instanceof GeometryCollection) addCollection((GeometryCollection) g);
+ else throw new UnsupportedOperationException(g.getClass().getName());
+ }
+
+ private void addCollection(GeometryCollection gc)
+ {
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ add(g);
+ }
+ }
+ /**
+ * Add a Point to the graph.
+ */
+ private void addPoint(Point p)
+ {
+ Coordinate coord = p.getCoordinate();
+ insertPoint(argIndex, coord, Location.INTERIOR);
+ }
+
+ /**
+ * Adds a polygon ring to the graph.
+ * Empty rings are ignored.
+ *
+ * The left and right topological location arguments assume that the ring is oriented CW.
+ * If the ring is in the opposite orientation,
+ * the left and right locations must be interchanged.
+ */
+ private void addPolygonRing(LinearRing lr, int cwLeft, int cwRight)
+ {
+ // don't bother adding empty holes
+ if (lr.isEmpty()) return;
+
+ Coordinate[] coord = CoordinateArrays.removeRepeatedPoints(lr.getCoordinates());
+
+ if (coord.length < 4) {
+ hasTooFewPoints = true;
+ invalidPoint = coord[0];
+ return;
+ }
+
+ int left = cwLeft;
+ int right = cwRight;
+ if (Orientation.isCCW(coord)) {
+ left = cwRight;
+ right = cwLeft;
+ }
+ Edge e = new Edge(coord,
+ new Label(argIndex, Location.BOUNDARY, left, right));
+ lineEdgeMap.put(lr, e);
+
+ insertEdge(e);
+ // insert the endpoint as a node, to mark that it is on the boundary
+ insertPoint(argIndex, coord[0], Location.BOUNDARY);
+ }
+
+ private void addPolygon(Polygon p)
+ {
+ addPolygonRing(
+ (LinearRing) p.getExteriorRing(),
+ Location.EXTERIOR,
+ Location.INTERIOR);
+
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+ LinearRing hole = (LinearRing) p.getInteriorRingN(i);
+
+ // Holes are topologically labelled opposite to the shell, since
+ // the interior of the polygon lies on their opposite side
+ // (on the left, if the hole is oriented CW)
+ addPolygonRing(
+ hole,
+ Location.INTERIOR,
+ Location.EXTERIOR);
+ }
+ }
+
+ private void addLineString(LineString line)
+ {
+ Coordinate[] coord = CoordinateArrays.removeRepeatedPoints(line.getCoordinates());
+
+ if (coord.length < 2) {
+ hasTooFewPoints = true;
+ invalidPoint = coord[0];
+ return;
+ }
+
+ // add the edge for the LineString
+ // line edges do not have locations for their left and right sides
+ Edge e = new Edge(coord, new Label(argIndex, Location.INTERIOR));
+ lineEdgeMap.put(line, e);
+ insertEdge(e);
+ /**
+ * Add the boundary points of the LineString, if any.
+ * Even if the LineString is closed, add both points as if they were endpoints.
+ * This allows for the case that the node already exists and is a boundary point.
+ */
+ Assert.isTrue(coord.length >= 2, "found LineString with single point");
+ insertBoundaryPoint(argIndex, coord[0]);
+ insertBoundaryPoint(argIndex, coord[coord.length - 1]);
+
+ }
+
+ /**
+ * Add an Edge computed externally. The label on the Edge is assumed
+ * to be correct.
+ */
+ public void addEdge(Edge e)
+ {
+ insertEdge(e);
+ Coordinate[] coord = e.getCoordinates();
+ // insert the endpoint as a node, to mark that it is on the boundary
+ insertPoint(argIndex, coord[0], Location.BOUNDARY);
+ insertPoint(argIndex, coord[coord.length - 1], Location.BOUNDARY);
+ }
+
+ /**
+ * Add a point computed externally. The point is assumed to be a
+ * Point Geometry part, which has a location of INTERIOR.
+ */
+ public void addPoint(Coordinate pt)
+ {
+ insertPoint(argIndex, pt, Location.INTERIOR);
+ }
+
+ /**
+ * Compute self-nodes, taking advantage of the Geometry type to
+ * minimize the number of intersection tests. (E.g. rings are
+ * not tested for self-intersection, since they are assumed to be valid).
+ *
+ * @param li the LineIntersector to use
+ * @param computeRingSelfNodes if <code>false</code>, intersection checks are optimized to not test rings for self-intersection
+ * @return the computed SegmentIntersector containing information about the intersections found
+ */
+ public SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes)
+ {
+ return computeSelfNodes(li, computeRingSelfNodes, false);
+ }
+
+ /**
+ * Compute self-nodes, taking advantage of the Geometry type to
+ * minimize the number of intersection tests. (E.g. rings are
+ * not tested for self-intersection, since they are assumed to be valid).
+ *
+ * @param li the LineIntersector to use
+ * @param computeRingSelfNodes if <code>false</code>, intersection checks are optimized to not test rings for self-intersection
+ * @param isDoneIfProperInt short-circuit the intersection computation if a proper intersection is found
+ * @return the computed SegmentIntersector containing information about the intersections found
+ */
+ public SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes, boolean isDoneIfProperInt)
+ {
+ SegmentIntersector si = new SegmentIntersector(li, true, false);
+ si.setIsDoneIfProperInt(isDoneIfProperInt);
+ EdgeSetIntersector esi = createEdgeSetIntersector();
+ // optimize intersection search for valid Polygons and LinearRings
+ boolean isRings = parentGeom instanceof LinearRing
+ || parentGeom instanceof Polygon
+ || parentGeom instanceof MultiPolygon;
+ boolean computeAllSegments = computeRingSelfNodes || ! isRings;
+ esi.computeIntersections(edges, si, computeAllSegments);
+
+ //System.out.println("SegmentIntersector # tests = " + si.numTests);
+ addSelfIntersectionNodes(argIndex);
+ return si;
+ }
+
+ public SegmentIntersector computeEdgeIntersections(
+ GeometryGraph g,
+ LineIntersector li,
+ boolean includeProper)
+ {
+ SegmentIntersector si = new SegmentIntersector(li, includeProper, true);
+ si.setBoundaryNodes(this.getBoundaryNodes(), g.getBoundaryNodes());
+
+ EdgeSetIntersector esi = createEdgeSetIntersector();
+ esi.computeIntersections(edges, g.edges, si);
+/*
+for (Iterator i = g.edges.iterator(); i.hasNext();) {
+Edge e = (Edge) i.next();
+Debug.print(e.getEdgeIntersectionList());
+}
+*/
+ return si;
+ }
+
+ private void insertPoint(int argIndex, Coordinate coord, int onLocation)
+ {
+ Node n = nodes.addNode(coord);
+ Label lbl = n.getLabel();
+ if (lbl == null) {
+ n.label = new Label(argIndex, onLocation);
+ }
+ else
+ lbl.setLocation(argIndex, onLocation);
+ }
+
+ /**
+ * Adds candidate boundary points using the current {@link BoundaryNodeRule}.
+ * This is used to add the boundary
+ * points of dim-1 geometries (Curves/MultiCurves).
+ */
+ private void insertBoundaryPoint(int argIndex, Coordinate coord)
+ {
+ Node n = nodes.addNode(coord);
+ // nodes always have labels
+ Label lbl = n.getLabel();
+ // the new point to insert is on a boundary
+ int boundaryCount = 1;
+ // determine the current location for the point (if any)
+ int loc = Location.NONE;
+ loc = lbl.getLocation(argIndex, Position.ON);
+ if (loc == Location.BOUNDARY) boundaryCount++;
+
+ // determine the boundary status of the point according to the Boundary Determination Rule
+ int newLoc = determineBoundary(boundaryNodeRule, boundaryCount);
+ lbl.setLocation(argIndex, newLoc);
+ }
+
+ private void addSelfIntersectionNodes(int argIndex)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ int eLoc = e.getLabel().getLocation(argIndex);
+ for (Iterator eiIt = e.eiList.iterator(); eiIt.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) eiIt.next();
+ addSelfIntersectionNode(argIndex, ei.coord, eLoc);
+ }
+ }
+ }
+ /**
+ * Add a node for a self-intersection.
+ * If the node is a potential boundary node (e.g. came from an edge which
+ * is a boundary) then insert it as a potential boundary node.
+ * Otherwise, just add it as a regular node.
+ */
+ private void addSelfIntersectionNode(int argIndex, Coordinate coord, int loc)
+ {
+ // if this node is already a boundary node, don't change it
+ if (isBoundaryNode(argIndex, coord)) return;
+ if (loc == Location.BOUNDARY && useBoundaryDeterminationRule)
+ insertBoundaryPoint(argIndex, coord);
+ else
+ insertPoint(argIndex, coord, loc);
+ }
+
+ // MD - experimental for now
+ /**
+ * Determines the {@link Location} of the given {@link Coordinate}
+ * in this geometry.
+ *
+ * @param pt the point to test
+ * @return the location of the point in the geometry
+ */
+ public int locate(Coordinate pt)
+ {
+ if (parentGeom instanceof Polygonal && parentGeom.getNumGeometries() > 50) {
+ // lazily init point locator
+ if (areaPtLocator == null) {
+ areaPtLocator = new IndexedPointInAreaLocator(parentGeom);
+ }
+ return areaPtLocator.locate(pt);
+ }
+ return ptLocator.locate(pt, parentGeom);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GraphComponent.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GraphComponent.java
new file mode 100644
index 0000000..1bb621a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GraphComponent.java
@@ -0,0 +1,84 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A GraphComponent is the parent class for the objects'
+ * that form a graph. Each GraphComponent can carry a
+ * Label.
+ * @version 1.7
+ */
+abstract public class GraphComponent {
+
+ protected Label label;
+ /**
+ * isInResult indicates if this component has already been included in the result
+ */
+ private boolean isInResult = false;
+ private boolean isCovered = false;
+ private boolean isCoveredSet = false;
+ private boolean isVisited = false;
+
+ public GraphComponent() {
+ }
+
+ public GraphComponent(Label label) {
+ this.label = label;
+ }
+
+ public Label getLabel() { return label; }
+ public void setLabel(Label label) { this.label = label; }
+ public void setInResult(boolean isInResult) { this.isInResult = isInResult; }
+ public boolean isInResult() { return isInResult; }
+ public void setCovered(boolean isCovered)
+ {
+ this.isCovered = isCovered;
+ this.isCoveredSet = true;
+ }
+ public boolean isCovered() { return isCovered; }
+ public boolean isCoveredSet() { return isCoveredSet; }
+ public boolean isVisited() { return isVisited; }
+ public void setVisited(boolean isVisited) { this.isVisited = isVisited; }
+ /**
+ * @return a coordinate in this component (or null, if there are none)
+ */
+ abstract public Coordinate getCoordinate();
+ /**
+ * compute the contribution to an IM for this component
+ */
+ abstract protected void computeIM(IntersectionMatrix im);
+ /**
+ * An isolated component is one that does not intersect or touch any other
+ * component. This is the case if the label has valid locations for
+ * only a single Geometry.
+ *
+ * @return true if this component is isolated
+ */
+ abstract public boolean isIsolated();
+ /**
+ * Update the IM with the contribution for this component.
+ * A component only contributes if it has a labelling for both parent geometries
+ */
+ public void updateIM(IntersectionMatrix im)
+ {
+ Assert.isTrue(label.getGeometryCount() >= 2, "found partial label");
+ computeIM(im);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Label.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Label.java
new file mode 100644
index 0000000..058da15
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Label.java
@@ -0,0 +1,201 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import org.locationtech.jts.geom.Location;
+
+ /**
+ * A <code>Label</code> indicates the topological relationship of a component
+ * of a topology graph to a given <code>Geometry</code>.
+ * This class supports labels for relationships to two <code>Geometry</code>s,
+ * which is sufficient for algorithms for binary operations.
+ * <P>
+ * Topology graphs support the concept of labeling nodes and edges in the graph.
+ * The label of a node or edge specifies its topological relationship to one or
+ * more geometries. (In fact, since JTS operations have only two arguments labels
+ * are required for only two geometries). A label for a node or edge has one or
+ * two elements, depending on whether the node or edge occurs in one or both of the
+ * input <code>Geometry</code>s. Elements contain attributes which categorize the
+ * topological location of the node or edge relative to the parent
+ * <code>Geometry</code>; that is, whether the node or edge is in the interior,
+ * boundary or exterior of the <code>Geometry</code>. Attributes have a value
+ * from the set <code>{Interior, Boundary, Exterior}</code>. In a node each
+ * element has a single attribute <code><On></code>. For an edge each element has a
+ * triplet of attributes <code><Left, On, Right></code>.
+ * <P>
+ * It is up to the client code to associate the 0 and 1 <code>TopologyLocation</code>s
+ * with specific geometries.
+ * @version 1.7
+ *
+ */
+public class Label {
+
+ // converts a Label to a Line label (that is, one with no side Locations)
+ public static Label toLineLabel(Label label)
+ {
+ Label lineLabel = new Label(Location.NONE);
+ for (int i = 0; i < 2; i++) {
+ lineLabel.setLocation(i, label.getLocation(i));
+ }
+ return lineLabel;
+ }
+
+ TopologyLocation elt[] = new TopologyLocation[2];
+
+ /**
+ * Construct a Label with a single location for both Geometries.
+ * Initialize the locations to Null
+ */
+ public Label(int onLoc)
+ {
+ elt[0] = new TopologyLocation(onLoc);
+ elt[1] = new TopologyLocation(onLoc);
+ }
+ /**
+ * Construct a Label with a single location for both Geometries.
+ * Initialize the location for the Geometry index.
+ */
+ public Label(int geomIndex, int onLoc)
+ {
+ elt[0] = new TopologyLocation(Location.NONE);
+ elt[1] = new TopologyLocation(Location.NONE);
+ elt[geomIndex].setLocation(onLoc);
+ }
+ /**
+ * Construct a Label with On, Left and Right locations for both Geometries.
+ * Initialize the locations for both Geometries to the given values.
+ */
+ public Label(int onLoc, int leftLoc, int rightLoc)
+ {
+ elt[0] = new TopologyLocation(onLoc, leftLoc, rightLoc);
+ elt[1] = new TopologyLocation(onLoc, leftLoc, rightLoc);
+ }
+ /**
+ * Construct a Label with On, Left and Right locations for both Geometries.
+ * Initialize the locations for the given Geometry index.
+ */
+ public Label(int geomIndex, int onLoc, int leftLoc, int rightLoc)
+ {
+ elt[0] = new TopologyLocation(Location.NONE, Location.NONE, Location.NONE);
+ elt[1] = new TopologyLocation(Location.NONE, Location.NONE, Location.NONE);
+ elt[geomIndex].setLocations(onLoc, leftLoc, rightLoc);
+ }
+ /**
+ * Construct a Label with the same values as the argument Label.
+ */
+ public Label(Label lbl)
+ {
+ elt[0] = new TopologyLocation(lbl.elt[0]);
+ elt[1] = new TopologyLocation(lbl.elt[1]);
+ }
+
+ public void flip()
+ {
+ elt[0].flip();
+ elt[1].flip();
+ }
+
+ public int getLocation(int geomIndex, int posIndex) { return elt[geomIndex].get(posIndex); }
+ public int getLocation(int geomIndex) { return elt[geomIndex].get(Position.ON); }
+ public void setLocation(int geomIndex, int posIndex, int location)
+ {
+ elt[geomIndex].setLocation(posIndex, location);
+ }
+ public void setLocation(int geomIndex, int location)
+ {
+ elt[geomIndex].setLocation(Position.ON, location);
+ }
+ public void setAllLocations(int geomIndex, int location)
+ {
+ elt[geomIndex].setAllLocations(location);
+ }
+ public void setAllLocationsIfNull(int geomIndex, int location)
+ {
+ elt[geomIndex].setAllLocationsIfNull(location);
+ }
+ public void setAllLocationsIfNull(int location)
+ {
+ setAllLocationsIfNull(0, location);
+ setAllLocationsIfNull(1, location);
+ }
+ /**
+ * Merge this label with another one.
+ * Merging updates any null attributes of this label with the attributes from lbl
+ */
+ public void merge(Label lbl)
+ {
+ for (int i = 0; i < 2; i++) {
+ if (elt[i] == null && lbl.elt[i] != null) {
+ elt[i] = new TopologyLocation(lbl.elt[i]);
+ }
+ else {
+ elt[i].merge(lbl.elt[i]);
+ }
+ }
+ }
+ public int getGeometryCount()
+ {
+ int count = 0;
+ if (! elt[0].isNull()) count++;
+ if (! elt[1].isNull()) count++;
+ return count;
+ }
+ public boolean isNull(int geomIndex) { return elt[geomIndex].isNull(); }
+ public boolean isAnyNull(int geomIndex) { return elt[geomIndex].isAnyNull(); }
+
+ public boolean isArea() { return elt[0].isArea() || elt[1].isArea(); }
+ public boolean isArea(int geomIndex)
+ {
+ /* Testing
+ if (elt[0].getLocations().length != elt[1].getLocations().length) {
+ System.out.println(this);
+ }
+ */
+ return elt[geomIndex].isArea();
+ }
+ public boolean isLine(int geomIndex) { return elt[geomIndex].isLine(); }
+
+ public boolean isEqualOnSide(Label lbl, int side)
+ {
+ return
+ this.elt[0].isEqualOnSide(lbl.elt[0], side)
+ && this.elt[1].isEqualOnSide(lbl.elt[1], side);
+ }
+ public boolean allPositionsEqual(int geomIndex, int loc)
+ {
+ return elt[geomIndex].allPositionsEqual(loc);
+ }
+ /**
+ * Converts one GeometryLocation to a Line location
+ */
+ public void toLine(int geomIndex)
+ {
+ if (elt[geomIndex].isArea())
+ elt[geomIndex] = new TopologyLocation(elt[geomIndex].location[0]);
+ }
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ if (elt[0] != null) {
+ buf.append("A:");
+ buf.append(elt[0].toString());
+ }
+ if (elt[1] != null) {
+ buf.append(" B:");
+ buf.append(elt[1].toString());
+ }
+ return buf.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Node.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Node.java
new file mode 100644
index 0000000..463b307
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Node.java
@@ -0,0 +1,154 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import java.io.PrintStream;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geom.Location;
+
+
+/**
+ * @version 1.7
+ */
+public class Node
+ extends GraphComponent
+{
+ protected Coordinate coord; // only non-null if this node is precise
+ protected EdgeEndStar edges;
+
+ public Node(Coordinate coord, EdgeEndStar edges)
+ {
+ this.coord = coord;
+ this.edges = edges;
+ label = new Label(0, Location.NONE);
+ }
+
+ public Coordinate getCoordinate() { return coord; }
+ public EdgeEndStar getEdges() { return edges; }
+
+ /**
+ * Tests whether any incident edge is flagged as
+ * being in the result.
+ * This test can be used to determine if the node is in the result,
+ * since if any incident edge is in the result, the node must be in the result as well.
+ *
+ * @return <code>true</code> if any incident edge in the in the result
+ */
+ public boolean isIncidentEdgeInResult()
+ {
+ for (Iterator it = getEdges().getEdges().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.getEdge().isInResult())
+ return true;
+ }
+ return false;
+ }
+
+ public boolean isIsolated()
+ {
+ return (label.getGeometryCount() == 1);
+ }
+ /**
+ * Basic nodes do not compute IMs
+ */
+ protected void computeIM(IntersectionMatrix im) {}
+ /**
+ * Add the edge to the list of edges at this node
+ */
+ public void add(EdgeEnd e)
+ {
+ // Assert: start pt of e is equal to node point
+ edges.insert(e);
+ e.setNode(this);
+ }
+
+ public void mergeLabel(Node n)
+ {
+ mergeLabel(n.label);
+ }
+
+ /**
+ * To merge labels for two nodes,
+ * the merged location for each LabelElement is computed.
+ * The location for the corresponding node LabelElement is set to the result,
+ * as long as the location is non-null.
+ */
+
+ public void mergeLabel(Label label2)
+ {
+ for (int i = 0; i < 2; i++) {
+ int loc = computeMergedLocation(label2, i);
+ int thisLoc = label.getLocation(i);
+ if (thisLoc == Location.NONE) label.setLocation(i, loc);
+ }
+ }
+
+ public void setLabel(int argIndex, int onLocation)
+ {
+ if (label == null) {
+ label = new Label(argIndex, onLocation);
+ }
+ else
+ label.setLocation(argIndex, onLocation);
+ }
+
+ /**
+ * Updates the label of a node to BOUNDARY,
+ * obeying the mod-2 boundaryDetermination rule.
+ */
+ public void setLabelBoundary(int argIndex)
+ {
+ if (label == null) return;
+
+ // determine the current location for the point (if any)
+ int loc = Location.NONE;
+ if (label != null)
+ loc = label.getLocation(argIndex);
+ // flip the loc
+ int newLoc;
+ switch (loc) {
+ case Location.BOUNDARY: newLoc = Location.INTERIOR; break;
+ case Location.INTERIOR: newLoc = Location.BOUNDARY; break;
+ default: newLoc = Location.BOUNDARY; break;
+ }
+ label.setLocation(argIndex, newLoc);
+ }
+
+ /**
+ * The location for a given eltIndex for a node will be one
+ * of { null, INTERIOR, BOUNDARY }.
+ * A node may be on both the boundary and the interior of a geometry;
+ * in this case, the rule is that the node is considered to be in the boundary.
+ * The merged location is the maximum of the two input values.
+ */
+ int computeMergedLocation(Label label2, int eltIndex)
+ {
+ int loc = Location.NONE;
+ loc = label.getLocation(eltIndex);
+ if (! label2.isNull(eltIndex)) {
+ int nLoc = label2.getLocation(eltIndex);
+ if (loc != Location.BOUNDARY) loc = nLoc;
+ }
+ return loc;
+ }
+
+ public void print(PrintStream out)
+ {
+ out.println("node " + coord + " lbl: " + label);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeFactory.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeFactory.java
new file mode 100644
index 0000000..78e2ecf
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeFactory.java
@@ -0,0 +1,29 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * @version 1.7
+ */
+public class NodeFactory {
+/**
+ * The basic node constructor does not allow for incident edges
+ */
+ public Node createNode(Coordinate coord)
+ {
+ return new Node(coord, null);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeMap.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeMap.java
new file mode 100644
index 0000000..80ca2ff
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/NodeMap.java
@@ -0,0 +1,120 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Location;
+
+/**
+ * A map of nodes, indexed by the coordinate of the node
+ * @version 1.7
+ */
+public class NodeMap
+
+{
+ //Map nodeMap = new HashMap();
+ Map nodeMap = new TreeMap();
+ NodeFactory nodeFact;
+
+ public NodeMap(NodeFactory nodeFact) {
+ this.nodeFact = nodeFact;
+ }
+
+ /**
+ * Factory function - subclasses can override to create their own types of nodes
+ */
+ /*
+ protected Node createNode(Coordinate coord)
+ {
+ return new Node(coord);
+ }
+ */
+ /**
+ * This method expects that a node has a coordinate value.
+ */
+ public Node addNode(Coordinate coord)
+ {
+ Node node = (Node) nodeMap.get(coord);
+ if (node == null) {
+ node = nodeFact.createNode(coord);
+ nodeMap.put(coord, node);
+ }
+ return node;
+ }
+
+ public Node addNode(Node n)
+ {
+ Node node = (Node) nodeMap.get(n.getCoordinate());
+ if (node == null) {
+ nodeMap.put(n.getCoordinate(), n);
+ return n;
+ }
+ node.mergeLabel(n);
+ return node;
+ }
+
+ /**
+ * Adds a node for the start point of this EdgeEnd
+ * (if one does not already exist in this map).
+ * Adds the EdgeEnd to the (possibly new) node.
+ */
+ public void add(EdgeEnd e)
+ {
+ Coordinate p = e.getCoordinate();
+ Node n = addNode(p);
+ n.add(e);
+ }
+ /**
+ * @return the node if found; null otherwise
+ */
+ public Node find(Coordinate coord) { return (Node) nodeMap.get(coord); }
+
+ public Iterator iterator()
+ {
+ return nodeMap.values().iterator();
+ }
+ public Collection values()
+ {
+ return nodeMap.values();
+ }
+
+ public Collection getBoundaryNodes(int geomIndex)
+ {
+ Collection bdyNodes = new ArrayList();
+ for (Iterator i = iterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (node.getLabel().getLocation(geomIndex) == Location.BOUNDARY)
+ bdyNodes.add(node);
+ }
+ return bdyNodes;
+ }
+
+ public void print(PrintStream out)
+ {
+ for (Iterator it = iterator(); it.hasNext(); )
+ {
+ Node n = (Node) it.next();
+ n.print(out);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/PlanarGraph.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/PlanarGraph.java
new file mode 100644
index 0000000..dab2b01
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/PlanarGraph.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+/**
+ * @version 1.7
+ */
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Location;
+
+/**
+ * The computation of the <code>IntersectionMatrix</code> relies on the use of a structure
+ * called a "topology graph". The topology graph contains nodes and edges
+ * corresponding to the nodes and line segments of a <code>Geometry</code>. Each
+ * node and edge in the graph is labeled with its topological location relative to
+ * the source geometry.
+ * <P>
+ * Note that there is no requirement that points of self-intersection be a vertex.
+ * Thus to obtain a correct topology graph, <code>Geometry</code>s must be
+ * self-noded before constructing their graphs.
+ * <P>
+ * Two fundamental operations are supported by topology graphs:
+ * <UL>
+ * <LI>Computing the intersections between all the edges and nodes of a single graph
+ * <LI>Computing the intersections between the edges and nodes of two different graphs
+ * </UL>
+ *
+ * @version 1.7
+ */
+public class PlanarGraph
+{
+ /**
+ * For nodes in the Collection, link the DirectedEdges at the node that are in the result.
+ * This allows clients to link only a subset of nodes in the graph, for
+ * efficiency (because they know that only a subset is of interest).
+ */
+ public static void linkResultDirectedEdges(Collection nodes)
+ {
+ for (Iterator nodeit = nodes.iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ ((DirectedEdgeStar) node.getEdges()).linkResultDirectedEdges();
+ }
+ }
+
+ protected List edges = new ArrayList();
+ protected NodeMap nodes;
+ protected List edgeEndList = new ArrayList();
+
+ public PlanarGraph(NodeFactory nodeFact) {
+ nodes = new NodeMap(nodeFact);
+ }
+
+ public PlanarGraph() {
+ nodes = new NodeMap(new NodeFactory());
+ }
+
+ public Iterator getEdgeIterator() { return edges.iterator(); }
+ public Collection getEdgeEnds() { return edgeEndList; }
+
+ public boolean isBoundaryNode(int geomIndex, Coordinate coord)
+ {
+ Node node = nodes.find(coord);
+ if (node == null) return false;
+ Label label = node.getLabel();
+ if (label != null && label.getLocation(geomIndex) == Location.BOUNDARY) return true;
+ return false;
+ }
+ protected void insertEdge(Edge e)
+ {
+ edges.add(e);
+ }
+ public void add(EdgeEnd e)
+ {
+ nodes.add(e);
+ edgeEndList.add(e);
+ }
+
+ public Iterator getNodeIterator() { return nodes.iterator(); }
+ public Collection getNodes() { return nodes.values(); }
+ public Node addNode(Node node) { return nodes.addNode(node); }
+ public Node addNode(Coordinate coord) { return nodes.addNode(coord); }
+ /**
+ * @return the node if found; null otherwise
+ */
+ public Node find(Coordinate coord) { return nodes.find(coord); }
+
+ /**
+ * Add a set of edges to the graph. For each edge two DirectedEdges
+ * will be created. DirectedEdges are NOT linked by this method.
+ */
+ public void addEdges(List edgesToAdd)
+ {
+ // create all the nodes for the edges
+ for (Iterator it = edgesToAdd.iterator(); it.hasNext(); ) {
+ Edge e = (Edge) it.next();
+ edges.add(e);
+
+ DirectedEdge de1 = new DirectedEdge(e, true);
+ DirectedEdge de2 = new DirectedEdge(e, false);
+ de1.setSym(de2);
+ de2.setSym(de1);
+
+ add(de1);
+ add(de2);
+ }
+ }
+
+ /**
+ * Link the DirectedEdges at the nodes of the graph.
+ * This allows clients to link only a subset of nodes in the graph, for
+ * efficiency (because they know that only a subset is of interest).
+ */
+ public void linkResultDirectedEdges()
+ {
+ for (Iterator nodeit = nodes.iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ ((DirectedEdgeStar) node.getEdges()).linkResultDirectedEdges();
+ }
+ }
+ /**
+ * Link the DirectedEdges at the nodes of the graph.
+ * This allows clients to link only a subset of nodes in the graph, for
+ * efficiency (because they know that only a subset is of interest).
+ */
+ public void linkAllDirectedEdges()
+ {
+ for (Iterator nodeit = nodes.iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ ((DirectedEdgeStar) node.getEdges()).linkAllDirectedEdges();
+ }
+ }
+ /**
+ * Returns the EdgeEnd which has edge e as its base edge
+ * (MD 18 Feb 2002 - this should return a pair of edges)
+ *
+ * @return the edge, if found
+ * <code>null</code> if the edge was not found
+ */
+ public EdgeEnd findEdgeEnd(Edge e)
+ {
+ for (Iterator i = getEdgeEnds().iterator(); i.hasNext(); ) {
+ EdgeEnd ee = (EdgeEnd) i.next();
+ if (ee.getEdge() == e)
+ return ee;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the edge whose first two coordinates are p0 and p1
+ *
+ * @return the edge, if found
+ * <code>null</code> if the edge was not found
+ */
+ public Edge findEdge(Coordinate p0, Coordinate p1)
+ {
+ for (int i = 0; i < edges.size(); i++) {
+ Edge e = (Edge) edges.get(i);
+ Coordinate[] eCoord = e.getCoordinates();
+ if (p0.equals(eCoord[0]) && p1.equals(eCoord[1]) )
+ return e;
+ }
+ return null;
+ }
+ /**
+ * Returns the edge which starts at p0 and whose first segment is
+ * parallel to p1
+ *
+ * @return the edge, if found
+ * <code>null</code> if the edge was not found
+ */
+ public Edge findEdgeInSameDirection(Coordinate p0, Coordinate p1)
+ {
+ for (int i = 0; i < edges.size(); i++) {
+ Edge e = (Edge) edges.get(i);
+
+ Coordinate[] eCoord = e.getCoordinates();
+ if (matchInSameDirection(p0, p1, eCoord[0], eCoord[1]) )
+ return e;
+
+ if (matchInSameDirection(p0, p1, eCoord[eCoord.length - 1], eCoord[eCoord.length - 2]) )
+ return e;
+ }
+ return null;
+ }
+
+ /**
+ * The coordinate pairs match if they define line segments lying in the same direction.
+ * E.g. the segments are parallel and in the same quadrant
+ * (as opposed to parallel and opposite!).
+ */
+ private boolean matchInSameDirection(Coordinate p0, Coordinate p1, Coordinate ep0, Coordinate ep1)
+ {
+ if (! p0.equals(ep0))
+ return false;
+
+ if (Orientation.index(p0, p1, ep1) == Orientation.COLLINEAR
+ && Quadrant.quadrant(p0, p1) == Quadrant.quadrant(ep0, ep1) )
+ return true;
+ return false;
+ }
+
+ public void printEdges(PrintStream out)
+ {
+ out.println("Edges:");
+ for (int i = 0; i < edges.size(); i++) {
+ out.println("edge " + i + ":");
+ Edge e = (Edge) edges.get(i);
+ e.print(out);
+ e.eiList.print(out);
+ }
+ }
+ void debugPrint(Object o)
+ {
+ System.out.print(o);
+ }
+ void debugPrintln(Object o)
+ {
+ System.out.println(o);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Position.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Position.java
new file mode 100644
index 0000000..5d169e9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Position.java
@@ -0,0 +1,40 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+/**
+ * A Position indicates the position of a Location relative to a graph component
+ * (Node, Edge, or Area).
+ * @version 1.7
+ */
+public class Position {
+
+ /** An indicator that a Location is <i>on</i> a GraphComponent */
+ public static final int ON = 0;
+ /** An indicator that a Location is to the <i>left</i> of a GraphComponent */
+ public static final int LEFT = 1;
+ /** An indicator that a Location is to the <i>right</i> of a GraphComponent */
+ public static final int RIGHT = 2;
+ /**
+ * Returns LEFT if the position is RIGHT, RIGHT if the position is LEFT, or the position
+ * otherwise.
+ */
+ public static final int opposite(int position)
+ {
+ if (position == LEFT) return RIGHT;
+ if (position == RIGHT) return LEFT;
+ return position;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/Quadrant.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Quadrant.java
new file mode 100644
index 0000000..c151a1e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/Quadrant.java
@@ -0,0 +1,139 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+/**
+ * @version 1.7
+ */
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Utility functions for working with quadrants, which are numbered as follows:
+ * <pre>
+ * 1 | 0
+ * --+--
+ * 2 | 3
+ * </pre>
+ *
+ * @version 1.7
+ */
+public class Quadrant
+{
+ public static final int NE = 0;
+ public static final int NW = 1;
+ public static final int SW = 2;
+ public static final int SE = 3;
+
+ /**
+ * Returns the quadrant of a directed line segment (specified as x and y
+ * displacements, which cannot both be 0).
+ *
+ * @throws IllegalArgumentException if the displacements are both 0
+ */
+ public static int quadrant(double dx, double dy)
+ {
+ if (dx == 0.0 && dy == 0.0)
+ throw new IllegalArgumentException("Cannot compute the quadrant for point ( "+ dx + ", " + dy + " )" );
+ if (dx >= 0.0) {
+ if (dy >= 0.0)
+ return NE;
+ else
+ return SE;
+ }
+ else {
+ if (dy >= 0.0)
+ return NW;
+ else
+ return SW;
+ }
+ }
+
+ /**
+ * Returns the quadrant of a directed line segment from p0 to p1.
+ *
+ * @throws IllegalArgumentException if the points are equal
+ */
+ public static int quadrant(Coordinate p0, Coordinate p1)
+ {
+ if (p1.x == p0.x && p1.y == p0.y)
+ throw new IllegalArgumentException("Cannot compute the quadrant for two identical points " + p0);
+
+ if (p1.x >= p0.x) {
+ if (p1.y >= p0.y)
+ return NE;
+ else
+ return SE;
+ }
+ else {
+ if (p1.y >= p0.y)
+ return NW;
+ else
+ return SW;
+ }
+ }
+
+ /**
+ * Returns true if the quadrants are 1 and 3, or 2 and 4
+ */
+ public static boolean isOpposite(int quad1, int quad2)
+ {
+ if (quad1 == quad2) return false;
+ int diff = (quad1 - quad2 + 4) % 4;
+ // if quadrants are not adjacent, they are opposite
+ if (diff == 2) return true;
+ return false;
+ }
+
+ /**
+ * Returns the right-hand quadrant of the halfplane defined by the two quadrants,
+ * or -1 if the quadrants are opposite, or the quadrant if they are identical.
+ */
+ public static int commonHalfPlane(int quad1, int quad2)
+ {
+ // if quadrants are the same they do not determine a unique common halfplane.
+ // Simply return one of the two possibilities
+ if (quad1 == quad2) return quad1;
+ int diff = (quad1 - quad2 + 4) % 4;
+ // if quadrants are not adjacent, they do not share a common halfplane
+ if (diff == 2) return -1;
+ //
+ int min = (quad1 < quad2) ? quad1 : quad2;
+ int max = (quad1 > quad2) ? quad1 : quad2;
+ // for this one case, the righthand plane is NOT the minimum index;
+ if (min == 0 && max == 3) return 3;
+ // in general, the halfplane index is the minimum of the two adjacent quadrants
+ return min;
+ }
+
+ /**
+ * Returns whether the given quadrant lies within the given halfplane (specified
+ * by its right-hand quadrant).
+ */
+ public static boolean isInHalfPlane(int quad, int halfPlane)
+ {
+ if (halfPlane == SE) {
+ return quad == SE || quad == SW;
+ }
+ return quad == halfPlane || quad == halfPlane + 1;
+ }
+
+ /**
+ * Returns true if the given quadrant is 0 or 1.
+ */
+ public static boolean isNorthern(int quad)
+ {
+ return quad == NE || quad == NW;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/TopologyLocation.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/TopologyLocation.java
new file mode 100644
index 0000000..176e003
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/TopologyLocation.java
@@ -0,0 +1,185 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph;
+
+
+
+import org.locationtech.jts.geom.Location;
+
+/**
+ * A TopologyLocation is the labelling of a
+ * GraphComponent's topological relationship to a single Geometry.
+ * <p>
+ * If the parent component is an area edge, each side and the edge itself
+ * have a topological location. These locations are named
+ * <ul>
+ * <li> ON: on the edge
+ * <li> LEFT: left-hand side of the edge
+ * <li> RIGHT: right-hand side
+ * </ul>
+ * If the parent component is a line edge or node, there is a single
+ * topological relationship attribute, ON.
+ * <p>
+ * The possible values of a topological location are
+ * {Location.NONE, Location.EXTERIOR, Location.BOUNDARY, Location.INTERIOR}
+ * <p>
+ * The labelling is stored in an array location[j] where
+ * where j has the values ON, LEFT, RIGHT
+ * @version 1.7
+ */
+public class TopologyLocation {
+
+ int location[];
+
+ public TopologyLocation(int[] location)
+ {
+ init(location.length);
+ }
+ /**
+ * Constructs a TopologyLocation specifying how points on, to the left of, and to the
+ * right of some GraphComponent relate to some Geometry. Possible values for the
+ * parameters are Location.NULL, Location.EXTERIOR, Location.BOUNDARY,
+ * and Location.INTERIOR.
+ * @see Location
+ */
+ public TopologyLocation(int on, int left, int right) {
+ init(3);
+ location[Position.ON] = on;
+ location[Position.LEFT] = left;
+ location[Position.RIGHT] = right;
+ }
+
+ public TopologyLocation(int on) {
+ init(1);
+ location[Position.ON] = on;
+ }
+ public TopologyLocation(TopologyLocation gl) {
+ init(gl.location.length);
+ if (gl != null) {
+ for (int i = 0; i < location.length; i++) {
+ location[i] = gl.location[i];
+ }
+ }
+ }
+ private void init(int size)
+ {
+ location = new int[size];
+ setAllLocations(Location.NONE);
+ }
+ public int get(int posIndex)
+ {
+ if (posIndex < location.length) return location[posIndex];
+ return Location.NONE;
+ }
+ /**
+ * @return true if all locations are NULL
+ */
+ public boolean isNull()
+ {
+ for (int i = 0; i < location.length; i++) {
+ if (location[i] != Location.NONE) return false;
+ }
+ return true;
+ }
+ /**
+ * @return true if any locations are NULL
+ */
+ public boolean isAnyNull()
+ {
+ for (int i = 0; i < location.length; i++) {
+ if (location[i] == Location.NONE) return true;
+ }
+ return false;
+ }
+ public boolean isEqualOnSide(TopologyLocation le, int locIndex)
+ {
+ return location[locIndex] == le.location[locIndex];
+ }
+ public boolean isArea() { return location.length > 1; }
+ public boolean isLine() { return location.length == 1; }
+
+ public void flip()
+ {
+ if (location.length <= 1) return;
+ int temp = location[Position.LEFT];
+ location[Position.LEFT] = location[Position.RIGHT];
+ location[Position.RIGHT] = temp;
+ }
+
+
+ public void setAllLocations(int locValue)
+ {
+ for (int i = 0; i < location.length; i++) {
+ location[i] = locValue;
+ }
+ }
+ public void setAllLocationsIfNull(int locValue)
+ {
+ for (int i = 0; i < location.length; i++) {
+ if (location[i] == Location.NONE) location[i] = locValue;
+ }
+ }
+
+ public void setLocation(int locIndex, int locValue)
+ {
+ location[locIndex] = locValue;
+ }
+ public void setLocation(int locValue)
+ {
+ setLocation(Position.ON, locValue);
+ }
+ public int[] getLocations() { return location; }
+ public void setLocations(int on, int left, int right) {
+ location[Position.ON] = on;
+ location[Position.LEFT] = left;
+ location[Position.RIGHT] = right;
+ }
+ public boolean allPositionsEqual(int loc)
+ {
+ for (int i = 0; i < location.length; i++) {
+ if (location[i] != loc) return false;
+ }
+ return true;
+ }
+
+ /**
+ * merge updates only the NULL attributes of this object
+ * with the attributes of another.
+ */
+ public void merge(TopologyLocation gl)
+ {
+ // if the src is an Area label & and the dest is not, increase the dest to be an Area
+ if (gl.location.length > location.length) {
+ int [] newLoc = new int[3];
+ newLoc[Position.ON] = location[Position.ON];
+ newLoc[Position.LEFT] = Location.NONE;
+ newLoc[Position.RIGHT] = Location.NONE;
+ location = newLoc;
+ }
+ for (int i = 0; i < location.length; i++) {
+ if (location[i] == Location.NONE && i < gl.location.length)
+ location[i] = gl.location[i];
+ }
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ if (location.length > 1) buf.append(Location.toLocationSymbol(location[Position.LEFT]));
+ buf.append(Location.toLocationSymbol(location[Position.ON]));
+ if (location.length > 1) buf.append(Location.toLocationSymbol(location[Position.RIGHT]));
+ return buf.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/EdgeSetIntersector.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/EdgeSetIntersector.java
new file mode 100644
index 0000000..a3059f1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/EdgeSetIntersector.java
@@ -0,0 +1,57 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+/**
+ * @version 1.7
+ */
+import java.util.List;
+
+/**
+ * An EdgeSetIntersector computes all the intersections between the
+ * edges in the set. It adds the computed intersections to each edge
+ * they are found on. It may be used in two scenarios:
+ * <ul>
+ * <li>determining the internal intersections between a single set of edges
+ * <li>determining the mutual intersections between two different sets of edges
+ * </ul>
+ * It uses a {@link SegmentIntersector} to compute the intersections between
+ * segments and to record statistics about what kinds of intersections were found.
+ *
+ * @version 1.7
+ */
+public abstract class EdgeSetIntersector
+{
+ public EdgeSetIntersector() {
+ }
+
+ /**
+ * Computes all self-intersections between edges in a set of edges,
+ * allowing client to choose whether self-intersections are computed.
+ *
+ * @param edges a list of edges to test for intersections
+ * @param si the SegmentIntersector to use
+ * @param testAllSegments true if self-intersections are to be tested as well
+ */
+ abstract public void computeIntersections(List edges, SegmentIntersector si, boolean testAllSegments);
+
+ /**
+ * Computes all mutual intersections between two sets of edges.
+ */
+ abstract public void computeIntersections(List edges0, List edges1, SegmentIntersector si);
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChain.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChain.java
new file mode 100644
index 0000000..5671e55
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChain.java
@@ -0,0 +1,34 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+/**
+ * @version 1.7
+ */
+public class MonotoneChain {
+
+ MonotoneChainEdge mce;
+ int chainIndex;
+
+ public MonotoneChain(MonotoneChainEdge mce, int chainIndex) {
+ this.mce = mce;
+ this.chainIndex = chainIndex;
+ }
+
+ public void computeIntersections(MonotoneChain mc, SegmentIntersector si)
+ {
+ this.mce.computeIntersectsForChain(chainIndex, mc.mce, mc.chainIndex, si);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainEdge.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainEdge.java
new file mode 100644
index 0000000..583a05b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainEdge.java
@@ -0,0 +1,142 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geomgraph.Edge;
+
+
+/**
+ * MonotoneChains are a way of partitioning the segments of an edge to
+ * allow for fast searching of intersections.
+ * They have the following properties:
+ * <ol>
+ * <li>the segments within a monotone chain will never intersect each other
+ * <li>the envelope of any contiguous subset of the segments in a monotone chain
+ * is simply the envelope of the endpoints of the subset.
+ * </ol>
+ * Property 1 means that there is no need to test pairs of segments from within
+ * the same monotone chain for intersection.
+ * Property 2 allows
+ * binary search to be used to find the intersection points of two monotone chains.
+ * For many types of real-world data, these properties eliminate a large number of
+ * segment comparisons, producing substantial speed gains.
+ * @version 1.7
+ */
+public class MonotoneChainEdge {
+
+ Edge e;
+ Coordinate[] pts; // cache a reference to the coord array, for efficiency
+ // the lists of start/end indexes of the monotone chains.
+ // Includes the end point of the edge as a sentinel
+ int[] startIndex;
+
+ public MonotoneChainEdge(Edge e) {
+ this.e = e;
+ pts = e.getCoordinates();
+ MonotoneChainIndexer mcb = new MonotoneChainIndexer();
+ startIndex = mcb.getChainStartIndices(pts);
+ }
+
+ public Coordinate[] getCoordinates() { return pts; }
+ public int[] getStartIndexes() { return startIndex; }
+
+ public double getMinX(int chainIndex)
+ {
+ double x1 = pts[startIndex[chainIndex]].x;
+ double x2 = pts[startIndex[chainIndex + 1]].x;
+ return x1 < x2 ? x1 : x2;
+ }
+ public double getMaxX(int chainIndex)
+ {
+ double x1 = pts[startIndex[chainIndex]].x;
+ double x2 = pts[startIndex[chainIndex + 1]].x;
+ return x1 > x2 ? x1 : x2;
+ }
+
+ public void computeIntersects(MonotoneChainEdge mce, SegmentIntersector si)
+ {
+ for (int i = 0; i < startIndex.length - 1; i++) {
+ for (int j = 0; j < mce.startIndex.length - 1; j++) {
+ computeIntersectsForChain( i,
+ mce, j,
+ si );
+ }
+ }
+ }
+ public void computeIntersectsForChain(
+ int chainIndex0,
+ MonotoneChainEdge mce,
+ int chainIndex1,
+ SegmentIntersector si)
+ {
+ computeIntersectsForChain(startIndex[chainIndex0], startIndex[chainIndex0 + 1],
+ mce,
+ mce.startIndex[chainIndex1], mce.startIndex[chainIndex1 + 1],
+ si );
+ }
+
+ private void computeIntersectsForChain(
+ int start0, int end0,
+ MonotoneChainEdge mce,
+ int start1, int end1,
+ SegmentIntersector ei)
+ {
+//Debug.println("computeIntersectsForChain:" + p00 + p01 + p10 + p11);
+
+ // terminating condition for the recursion
+ if (end0 - start0 == 1 && end1 - start1 == 1) {
+ ei.addIntersections(e, start0, mce.e, start1);
+ return;
+ }
+ // nothing to do if the envelopes of these chains don't overlap
+ if (! overlaps(start0, end0, mce, start1, end1)) return;
+
+ // the chains overlap, so split each in half and iterate (binary search)
+ int mid0 = (start0 + end0) / 2;
+ int mid1 = (start1 + end1) / 2;
+
+ // Assert: mid != start or end (since we checked above for end - start <= 1)
+ // check terminating conditions before recursing
+ if (start0 < mid0) {
+ if (start1 < mid1) computeIntersectsForChain(start0, mid0, mce, start1, mid1, ei);
+ if (mid1 < end1) computeIntersectsForChain(start0, mid0, mce, mid1, end1, ei);
+ }
+ if (mid0 < end0) {
+ if (start1 < mid1) computeIntersectsForChain(mid0, end0, mce, start1, mid1, ei);
+ if (mid1 < end1) computeIntersectsForChain(mid0, end0, mce, mid1, end1, ei);
+ }
+ }
+
+ /**
+ * Tests whether the envelopes of two chain sections overlap (intersect).
+ *
+ * @param start0
+ * @param end0
+ * @param mce
+ * @param start1
+ * @param end1
+ * @return true if the section envelopes overlap
+ */
+ private boolean overlaps(
+ int start0, int end0,
+ MonotoneChainEdge mce,
+ int start1, int end1)
+ {
+ return Envelope.intersects(pts[start0], pts[end0], mce.pts[start1], mce.pts[end1]);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainIndexer.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainIndexer.java
new file mode 100644
index 0000000..f6a0aea
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/MonotoneChainIndexer.java
@@ -0,0 +1,99 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Quadrant;
+
+
+/**
+ * MonotoneChains are a way of partitioning the segments of an edge to
+ * allow for fast searching of intersections.
+ * Specifically, a sequence of contiguous line segments
+ * is a monotone chain iff all the vectors defined by the oriented segments
+ * lies in the same quadrant.
+ * <p>
+ * Monotone Chains have the following useful properties:
+ * <ol>
+ * <li>the segments within a monotone chain will never intersect each other
+ * <li>the envelope of any contiguous subset of the segments in a monotone chain
+ * is simply the envelope of the endpoints of the subset.
+ * </ol>
+ * Property 1 means that there is no need to test pairs of segments from within
+ * the same monotone chain for intersection.
+ * Property 2 allows
+ * binary search to be used to find the intersection points of two monotone chains.
+ * For many types of real-world data, these properties eliminate a large number of
+ * segment comparisons, producing substantial speed gains.
+ * <p>
+ * Note that due to the efficient intersection test, there is no need to limit the size
+ * of chains to obtain fast performance.
+ *
+ * @version 1.7
+ */
+public class MonotoneChainIndexer {
+
+ public static int[] toIntArray(List list)
+ {
+ int[] array = new int[list.size()];
+ for (int i = 0; i < array.length; i++) {
+ array[i] = ((Integer) list.get(i)).intValue();
+ }
+ return array;
+ }
+
+ public MonotoneChainIndexer() {
+ }
+
+ public int[] getChainStartIndices(Coordinate[] pts)
+ {
+ // find the startpoint (and endpoints) of all monotone chains in this edge
+ int start = 0;
+ List startIndexList = new ArrayList();
+ startIndexList.add(new Integer(start));
+ do {
+ int last = findChainEnd(pts, start);
+ startIndexList.add(new Integer(last));
+ start = last;
+ } while (start < pts.length - 1);
+ // copy list to an array of ints, for efficiency
+ int[] startIndex = toIntArray(startIndexList);
+ return startIndex;
+ }
+
+ /**
+ * @return the index of the last point in the monotone chain
+ */
+ private int findChainEnd(Coordinate[] pts, int start)
+ {
+ // determine quadrant for chain
+ int chainQuad = Quadrant.quadrant(pts[start], pts[start + 1]);
+ int last = start + 1;
+ while (last < pts.length ) {
+ //if (last - start > 100) break;
+ // compute quadrant for next possible segment in chain
+ int quad = Quadrant.quadrant(pts[last - 1], pts[last]);
+ if (quad != chainQuad) break;
+ last++;
+ }
+ return last - 1;
+ }
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SegmentIntersector.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SegmentIntersector.java
new file mode 100644
index 0000000..e2ad5d9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SegmentIntersector.java
@@ -0,0 +1,206 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.Node;
+
+
+/**
+ * Computes the intersection of line segments,
+ * and adds the intersection to the edges containing the segments.
+ *
+ * @version 1.7
+ */
+public class SegmentIntersector
+{
+
+ public static boolean isAdjacentSegments(int i1, int i2)
+ {
+ return Math.abs(i1 - i2) == 1;
+ }
+
+ /**
+ * These variables keep track of what types of intersections were
+ * found during ALL edges that have been intersected.
+ */
+ private boolean hasIntersection = false;
+ private boolean hasProper = false;
+ private boolean hasProperInterior = false;
+ // the proper intersection point found
+ private Coordinate properIntersectionPoint = null;
+
+ private LineIntersector li;
+ private boolean includeProper;
+ private boolean recordIsolated;
+ private boolean isSelfIntersection;
+ //private boolean intersectionFound;
+ private int numIntersections = 0;
+
+ // testing only
+ public int numTests = 0;
+
+ private Collection[] bdyNodes;
+ private boolean isDone = false;
+ private boolean isDoneWhenProperInt = false;
+
+
+ public SegmentIntersector(LineIntersector li, boolean includeProper, boolean recordIsolated)
+ {
+ this.li = li;
+ this.includeProper = includeProper;
+ this.recordIsolated = recordIsolated;
+ }
+
+ public void setBoundaryNodes( Collection bdyNodes0,
+ Collection bdyNodes1)
+ {
+ bdyNodes = new Collection[2];
+ bdyNodes[0] = bdyNodes0;
+ bdyNodes[1] = bdyNodes1;
+ }
+
+ public void setIsDoneIfProperInt(boolean isDoneWhenProperInt) {
+ this.isDoneWhenProperInt = isDoneWhenProperInt;
+ }
+
+ public boolean isDone() {
+ return isDone;
+ }
+ /**
+ * @return the proper intersection point, or <code>null</code> if none was found
+ */
+ public Coordinate getProperIntersectionPoint() { return properIntersectionPoint; }
+
+ public boolean hasIntersection() { return hasIntersection; }
+ /**
+ * A proper intersection is an intersection which is interior to at least two
+ * line segments. Note that a proper intersection is not necessarily
+ * in the interior of the entire Geometry, since another edge may have
+ * an endpoint equal to the intersection, which according to SFS semantics
+ * can result in the point being on the Boundary of the Geometry.
+ */
+ public boolean hasProperIntersection() { return hasProper; }
+ /**
+ * A proper interior intersection is a proper intersection which is <b>not</b>
+ * contained in the set of boundary nodes set for this SegmentIntersector.
+ */
+ public boolean hasProperInteriorIntersection() { return hasProperInterior; }
+
+
+ /**
+ * A trivial intersection is an apparent self-intersection which in fact
+ * is simply the point shared by adjacent line segments.
+ * Note that closed edges require a special check for the point shared by the beginning
+ * and end segments.
+ */
+ private boolean isTrivialIntersection(Edge e0, int segIndex0, Edge e1, int segIndex1)
+ {
+ if (e0 == e1) {
+ if (li.getIntersectionNum() == 1) {
+ if (isAdjacentSegments(segIndex0, segIndex1))
+ return true;
+ if (e0.isClosed()) {
+ int maxSegIndex = e0.getNumPoints() - 1;
+ if ( (segIndex0 == 0 && segIndex1 == maxSegIndex)
+ || (segIndex1 == 0 && segIndex0 == maxSegIndex) ) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * This method is called by clients of the EdgeIntersector class to test for and add
+ * intersections for two segments of the edges being intersected.
+ * Note that clients (such as MonotoneChainEdges) may choose not to intersect
+ * certain pairs of segments for efficiency reasons.
+ */
+ public void addIntersections(
+ Edge e0, int segIndex0,
+ Edge e1, int segIndex1
+ )
+ {
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+numTests++;
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+//if (li.hasIntersection() && li.isProper()) Debug.println(li);
+ /**
+ * Always record any non-proper intersections.
+ * If includeProper is true, record any proper intersections as well.
+ */
+ if (li.hasIntersection()) {
+ if (recordIsolated) {
+ e0.setIsolated(false);
+ e1.setIsolated(false);
+ }
+ //intersectionFound = true;
+ numIntersections++;
+ // if the segments are adjacent they have at least one trivial intersection,
+ // the shared endpoint. Don't bother adding it if it is the
+ // only intersection.
+ if (! isTrivialIntersection(e0, segIndex0, e1, segIndex1)) {
+ hasIntersection = true;
+ if (includeProper || ! li.isProper() ) {
+//Debug.println(li);
+ e0.addIntersections(li, segIndex0, 0);
+ e1.addIntersections(li, segIndex1, 1);
+ }
+ if (li.isProper()) {
+ properIntersectionPoint = li.getIntersection(0).copy();
+ hasProper = true;
+ if (isDoneWhenProperInt) {
+ isDone = true;
+ }
+ if (! isBoundaryPoint(li, bdyNodes))
+ hasProperInterior = true;
+ }
+ //if (li.isCollinear())
+ //hasCollinear = true;
+ }
+ }
+ }
+
+ private boolean isBoundaryPoint(LineIntersector li, Collection[] bdyNodes)
+ {
+ if (bdyNodes == null) return false;
+ if (isBoundaryPointInternal(li, bdyNodes[0])) return true;
+ if (isBoundaryPointInternal(li, bdyNodes[1])) return true;
+ return false;
+ }
+
+ private boolean isBoundaryPointInternal(LineIntersector li, Collection bdyNodes)
+ {
+ for (Iterator i = bdyNodes.iterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ Coordinate pt = node.getCoordinate();
+ if (li.isIntersection(pt)) return true;
+ }
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleEdgeSetIntersector.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleEdgeSetIntersector.java
new file mode 100644
index 0000000..281b73e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleEdgeSetIntersector.java
@@ -0,0 +1,82 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Edge;
+
+/**
+ * Finds all intersections in one or two sets of edges,
+ * using the straightforward method of
+ * comparing all segments.
+ * This algorithm is too slow for production use, but is useful for testing purposes.
+ * @version 1.7
+ */
+public class SimpleEdgeSetIntersector
+ extends EdgeSetIntersector
+{
+ // statistics information
+ int nOverlaps;
+
+ public SimpleEdgeSetIntersector() {
+ }
+
+ public void computeIntersections(List edges, SegmentIntersector si, boolean testAllSegments)
+ {
+ nOverlaps = 0;
+
+ for (Iterator i0 = edges.iterator(); i0.hasNext(); ) {
+ Edge edge0 = (Edge) i0.next();
+ for (Iterator i1 = edges.iterator(); i1.hasNext(); ) {
+ Edge edge1 = (Edge) i1.next();
+ if (testAllSegments || edge0 != edge1)
+ computeIntersects(edge0, edge1, si);
+ }
+ }
+ }
+
+
+ public void computeIntersections(List edges0, List edges1, SegmentIntersector si)
+ {
+ nOverlaps = 0;
+
+ for (Iterator i0 = edges0.iterator(); i0.hasNext(); ) {
+ Edge edge0 = (Edge) i0.next();
+ for (Iterator i1 = edges1.iterator(); i1.hasNext(); ) {
+ Edge edge1 = (Edge) i1.next();
+ computeIntersects(edge0, edge1, si);
+ }
+ }
+ }
+
+ /**
+ * Performs a brute-force comparison of every segment in each Edge.
+ * This has n^2 performance, and is about 100 times slower than using
+ * monotone chains.
+ */
+ private void computeIntersects(Edge e0, Edge e1, SegmentIntersector si)
+ {
+ Coordinate[] pts0 = e0.getCoordinates();
+ Coordinate[] pts1 = e1.getCoordinates();
+ for (int i0 = 0; i0 < pts0.length - 1; i0++) {
+ for (int i1 = 0; i1 < pts1.length - 1; i1++) {
+ si.addIntersections(e0, i0, e1, i1);
+ }
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleMCSweepLineIntersector.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleMCSweepLineIntersector.java
new file mode 100644
index 0000000..f7db0a8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleMCSweepLineIntersector.java
@@ -0,0 +1,151 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geomgraph.Edge;
+
+/**
+ * Finds all intersections in one or two sets of edges,
+ * using an x-axis sweepline algorithm in conjunction with Monotone Chains.
+ * While still O(n^2) in the worst case, this algorithm
+ * drastically improves the average-case time.
+ * The use of MonotoneChains as the items in the index
+ * seems to offer an improvement in performance over a sweep-line alone.
+ *
+ * @version 1.7
+ */
+public class SimpleMCSweepLineIntersector
+ extends EdgeSetIntersector
+{
+
+ List events = new ArrayList();
+ // statistics information
+ int nOverlaps;
+
+ /**
+ * A SimpleMCSweepLineIntersector creates monotone chains from the edges
+ * and compares them using a simple sweep-line along the x-axis.
+ */
+ public SimpleMCSweepLineIntersector() {
+ }
+
+ public void computeIntersections(List edges, SegmentIntersector si, boolean testAllSegments)
+ {
+ if (testAllSegments)
+ addEdges(edges, null);
+ else
+ addEdges(edges);
+ computeIntersections(si);
+ }
+
+ public void computeIntersections(List edges0, List edges1, SegmentIntersector si)
+ {
+ addEdges(edges0, edges0);
+ addEdges(edges1, edges1);
+ computeIntersections(si);
+ }
+
+ private void addEdges(List edges)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge edge = (Edge) i.next();
+ // edge is its own group
+ addEdge(edge, edge);
+ }
+ }
+ private void addEdges(List edges, Object edgeSet)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge edge = (Edge) i.next();
+ addEdge(edge, edgeSet);
+ }
+ }
+
+ private void addEdge(Edge edge, Object edgeSet)
+ {
+ MonotoneChainEdge mce = edge.getMonotoneChainEdge();
+ int[] startIndex = mce.getStartIndexes();
+ for (int i = 0; i < startIndex.length - 1; i++) {
+ MonotoneChain mc = new MonotoneChain(mce, i);
+ SweepLineEvent insertEvent = new SweepLineEvent(edgeSet, mce.getMinX(i), mc);
+ events.add(insertEvent);
+ events.add(new SweepLineEvent(mce.getMaxX(i), insertEvent));
+ }
+ }
+
+ /**
+ * Because Delete Events have a link to their corresponding Insert event,
+ * it is possible to compute exactly the range of events which must be
+ * compared to a given Insert event object.
+ */
+ private void prepareEvents()
+ {
+ Collections.sort(events);
+ // set DELETE event indexes
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isDelete()) {
+ ev.getInsertEvent().setDeleteEventIndex(i);
+ }
+ }
+ }
+
+ private void computeIntersections(SegmentIntersector si)
+ {
+ nOverlaps = 0;
+ prepareEvents();
+
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isInsert()) {
+ processOverlaps(i, ev.getDeleteEventIndex(), ev, si);
+ }
+ if (si.isDone()) {
+ break;
+ }
+ }
+ }
+
+ private void processOverlaps(int start, int end, SweepLineEvent ev0, SegmentIntersector si)
+ {
+ MonotoneChain mc0 = (MonotoneChain) ev0.getObject();
+ /**
+ * Since we might need to test for self-intersections,
+ * include current INSERT event object in list of event objects to test.
+ * Last index can be skipped, because it must be a Delete event.
+ */
+ for (int i = start; i < end; i++ ) {
+ SweepLineEvent ev1 = (SweepLineEvent) events.get(i);
+ if (ev1.isInsert()) {
+ MonotoneChain mc1 = (MonotoneChain) ev1.getObject();
+ // don't compare edges in same group, if labels are present
+ if (! ev0.isSameLabel(ev1)) {
+ mc0.computeIntersections(mc1, si);
+ nOverlaps++;
+ }
+ }
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleSweepLineIntersector.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleSweepLineIntersector.java
new file mode 100644
index 0000000..a8d1c71
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SimpleSweepLineIntersector.java
@@ -0,0 +1,144 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Edge;
+
+/**
+ * Finds all intersections in one or two sets of edges,
+ * using a simple x-axis sweepline algorithm.
+ * While still O(n^2) in the worst case, this algorithm
+ * drastically improves the average-case time.
+ *
+ * @version 1.7
+ */
+public class SimpleSweepLineIntersector
+ extends EdgeSetIntersector
+{
+
+ List events = new ArrayList();
+ // statistics information
+ int nOverlaps;
+
+ public SimpleSweepLineIntersector() {
+ }
+
+ public void computeIntersections(List edges, SegmentIntersector si, boolean testAllSegments)
+ {
+ if (testAllSegments)
+ add(edges, null);
+ else
+ add(edges);
+ computeIntersections(si);
+ }
+
+ public void computeIntersections(List edges0, List edges1, SegmentIntersector si)
+ {
+ add(edges0, edges0);
+ add(edges1, edges1);
+ computeIntersections(si);
+ }
+
+ private void add(List edges)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge edge = (Edge) i.next();
+ // edge is its own group
+ add(edge, edge);
+ }
+ }
+ private void add(List edges, Object edgeSet)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge edge = (Edge) i.next();
+ add(edge, edgeSet);
+ }
+ }
+
+
+ private void add(Edge edge, Object edgeSet)
+ {
+ Coordinate[] pts = edge.getCoordinates();
+ for (int i = 0; i < pts.length - 1; i++) {
+ SweepLineSegment ss = new SweepLineSegment(edge, i);
+ SweepLineEvent insertEvent = new SweepLineEvent(edgeSet, ss.getMinX(), null);
+ events.add(insertEvent);
+ events.add(new SweepLineEvent(ss.getMaxX(), insertEvent));
+ }
+ }
+
+ /**
+ * Because DELETE events have a link to their corresponding INSERT event,
+ * it is possible to compute exactly the range of events which must be
+ * compared to a given INSERT event object.
+ */
+ private void prepareEvents()
+ {
+ Collections.sort(events);
+ // set DELETE event indexes
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isDelete()) {
+ ev.getInsertEvent().setDeleteEventIndex(i);
+ }
+ }
+ }
+
+ private void computeIntersections(SegmentIntersector si)
+ {
+ nOverlaps = 0;
+ prepareEvents();
+
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isInsert()) {
+ processOverlaps(i, ev.getDeleteEventIndex(), ev, si);
+ }
+ }
+ }
+
+ private void processOverlaps(int start, int end, SweepLineEvent ev0, SegmentIntersector si)
+ {
+ SweepLineSegment ss0 = (SweepLineSegment) ev0.getObject();
+ /**
+ * Since we might need to test for self-intersections,
+ * include current INSERT event object in list of event objects to test.
+ * Last index can be skipped, because it must be a Delete event.
+ */
+ for (int i = start; i < end; i++ ) {
+ SweepLineEvent ev1 = (SweepLineEvent) events.get(i);
+ if (ev1.isInsert()) {
+ SweepLineSegment ss1 = (SweepLineSegment) ev1.getObject();
+ // don't compare edges in same group, if labels are present
+ if (! ev0.isSameLabel(ev1)) {
+ ss0.computeIntersections(ss1, si);
+ nOverlaps++;
+ }
+ }
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineEvent.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineEvent.java
new file mode 100644
index 0000000..1304475
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineEvent.java
@@ -0,0 +1,91 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+/**
+ * @version 1.7
+ */
+public class SweepLineEvent
+ implements Comparable
+{
+ private static final int INSERT = 1;
+ private static final int DELETE = 2;
+
+ private Object label; // used for red-blue intersection detection
+ private double xValue;
+ private int eventType;
+ private SweepLineEvent insertEvent = null; // null if this is an INSERT event
+ private int deleteEventIndex;
+ private Object obj;
+
+ /**
+ * Creates an INSERT event.
+ *
+ * @param label the edge set label for this object
+ * @param x the event location
+ * @param obj the object being inserted
+ */
+ public SweepLineEvent(Object label, double x, Object obj)
+ {
+ this.eventType = INSERT;
+ this.label = label;
+ xValue = x;
+ this.obj = obj;
+ }
+
+ /**
+ * Creates a DELETE event.
+ *
+ * @param x the event location
+ * @param insertEvent the corresponding INSERT event
+ */
+ public SweepLineEvent(double x, SweepLineEvent insertEvent)
+ {
+ eventType = DELETE;
+ xValue = x;
+ this.insertEvent = insertEvent;
+ }
+
+ public boolean isInsert() { return eventType == INSERT; }
+ public boolean isDelete() { return eventType == DELETE; }
+ public SweepLineEvent getInsertEvent() { return insertEvent; }
+ public int getDeleteEventIndex() { return deleteEventIndex; }
+ public void setDeleteEventIndex(int deleteEventIndex) { this.deleteEventIndex = deleteEventIndex; }
+
+ public Object getObject() { return obj; }
+
+ public boolean isSameLabel(SweepLineEvent ev)
+ {
+ // no label set indicates single group
+ if (label == null) return false;
+ return label == ev.label;
+ }
+ /**
+ * Events are ordered first by their x-value, and then by their eventType.
+ * Insert events are sorted before Delete events, so that
+ * items whose Insert and Delete events occur at the same x-value will be
+ * correctly handled.
+ */
+ public int compareTo(Object o) {
+ SweepLineEvent pe = (SweepLineEvent) o;
+ if (xValue < pe.xValue) return -1;
+ if (xValue > pe.xValue) return 1;
+ if (eventType < pe.eventType) return -1;
+ if (eventType > pe.eventType) return 1;
+ return 0;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineSegment.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineSegment.java
new file mode 100644
index 0000000..395ae06
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/SweepLineSegment.java
@@ -0,0 +1,53 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geomgraph.index;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Edge;
+
+
+/**
+ * @version 1.7
+ */
+public class SweepLineSegment {
+
+ Edge edge;
+ Coordinate[] pts;
+ int ptIndex;
+
+ public SweepLineSegment(Edge edge, int ptIndex) {
+ this.edge = edge;
+ this.ptIndex = ptIndex;
+ pts = edge.getCoordinates();
+ }
+
+ public double getMinX()
+ {
+ double x1 = pts[ptIndex].x;
+ double x2 = pts[ptIndex + 1].x;
+ return x1 < x2 ? x1 : x2;
+ }
+ public double getMaxX()
+ {
+ double x1 = pts[ptIndex].x;
+ double x2 = pts[ptIndex + 1].x;
+ return x1 > x2 ? x1 : x2;
+ }
+ public void computeIntersections(SweepLineSegment ss, SegmentIntersector si)
+ {
+ si.addIntersections(edge, ptIndex, ss.edge, ss.ptIndex);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/package.html b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/package.html
new file mode 100644
index 0000000..d6c2cbe
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/index/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that implement indexes for performing noding on geometry graph edges.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/package.html b/modules/core/src/main/java/org/locationtech/jts/geomgraph/package.html
new file mode 100644
index 0000000..1be97f6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/package.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that implement topology graphs.
+<P>
+The Java Topology Suite (JTS) is a Java API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. JTS is intended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.
+<P>
+JTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case JTS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/ArrayListVisitor.java b/modules/core/src/main/java/org/locationtech/jts/index/ArrayListVisitor.java
new file mode 100644
index 0000000..6e2145c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/ArrayListVisitor.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index;
+
+import java.util.ArrayList;
+
+/**
+ * @version 1.7
+ */
+public class ArrayListVisitor
+ implements ItemVisitor
+{
+
+ private ArrayList items = new ArrayList();
+ public ArrayListVisitor() {
+ }
+
+ public void visitItem(Object item)
+ {
+ items.add(item);
+ }
+
+ public ArrayList getItems() { return items; }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/ItemVisitor.java b/modules/core/src/main/java/org/locationtech/jts/index/ItemVisitor.java
new file mode 100644
index 0000000..e33dd9d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/ItemVisitor.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index;
+
+/**
+ * A visitor for items in an index.
+ *
+ * @version 1.7
+ */
+
+public interface ItemVisitor
+{
+ void visitItem(Object item);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/SpatialIndex.java b/modules/core/src/main/java/org/locationtech/jts/index/SpatialIndex.java
new file mode 100644
index 0000000..d503c58
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/SpatialIndex.java
@@ -0,0 +1,67 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * The basic operations supported by classes
+ * implementing spatial index algorithms.
+ * <p>
+ * A spatial index typically provides a primary filter for range rectangle queries.
+ * A secondary filter is required to test for exact intersection.
+ * The secondary filter may consist of other kinds of tests,
+ * such as testing other spatial relationships.
+ *
+ * @version 1.7
+ */
+public interface SpatialIndex
+{
+ /**
+ * Adds a spatial item with an extent specified by the given {@link Envelope} to the index
+ */
+ void insert(Envelope itemEnv, Object item);
+
+ /**
+ * Queries the index for all items whose extents intersect the given search {@link Envelope}
+ * Note that some kinds of indexes may also return objects which do not in fact
+ * intersect the query envelope.
+ *
+ * @param searchEnv the envelope to query for
+ * @return a list of the items found by the query
+ */
+ List query(Envelope searchEnv);
+
+ /**
+ * Queries the index for all items whose extents intersect the given search {@link Envelope},
+ * and applies an {@link ItemVisitor} to them.
+ * Note that some kinds of indexes may also return objects which do not in fact
+ * intersect the query envelope.
+ *
+ * @param searchEnv the envelope to query for
+ * @param visitor a visitor object to apply to the items found
+ */
+ void query(Envelope searchEnv, ItemVisitor visitor);
+
+ /**
+ * Removes a single item from the tree.
+ *
+ * @param itemEnv the Envelope of the item to remove
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found
+ */
+ boolean remove(Envelope itemEnv, Object item);
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/Bintree.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Bintree.java
new file mode 100644
index 0000000..1d82259
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Bintree.java
@@ -0,0 +1,190 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+
+/**
+ * An <code>BinTree</code> (or "Binary Interval Tree")
+ * is a 1-dimensional version of a quadtree.
+ * It indexes 1-dimensional intervals (which may
+ * be the projection of 2-D objects on an axis).
+ * It supports range searching
+ * (where the range may be a single point).
+ * This structure is dynamic -
+ * new items can be added at any time,
+ * and it will support deletion of items
+ * (although this is not currently implemented).
+ * <p>
+ * This implementation does not require specifying the extent of the inserted
+ * items beforehand. It will automatically expand to accommodate any extent
+ * of dataset.
+ * <p>
+ * The bintree structure is used to provide a primary filter
+ * for interval queries. The query() method returns a list of
+ * all objects which <i>may</i> intersect the query interval.
+ * Note that it may return objects which do not in fact intersect.
+ * A secondary filter is required to test for exact intersection.
+ * Of course, this secondary filter may consist of other tests besides
+ * intersection, such as testing other kinds of spatial relationships.
+ * <p>
+ * This index is different to the Interval Tree of Edelsbrunner
+ * or the Segment Tree of Bentley.
+ *
+ * @version 1.7
+ */
+public class Bintree
+{
+ /**
+ * Ensure that the Interval for the inserted item has non-zero extents.
+ * Use the current minExtent to pad it, if necessary
+ */
+ public static Interval ensureExtent(Interval itemInterval, double minExtent)
+ {
+ double min = itemInterval.getMin();
+ double max = itemInterval.getMax();
+ // has a non-zero extent
+ if (min != max) return itemInterval;
+
+ // pad extent
+ if (min == max) {
+ min = min - minExtent / 2.0;
+ max = min + minExtent / 2.0;
+ }
+ return new Interval(min, max);
+ }
+
+ private Root root;
+ /**
+ * Statistics
+ *
+ * minExtent is the minimum extent of all items
+ * inserted into the tree so far. It is used as a heuristic value
+ * to construct non-zero extents for features with zero extent.
+ * Start with a non-zero extent, in case the first feature inserted has
+ * a zero extent in both directions. This value may be non-optimal, but
+ * only one feature will be inserted with this value.
+ **/
+ private double minExtent = 1.0;
+
+ public Bintree()
+ {
+ root = new Root();
+ }
+
+ public int depth()
+ {
+ if (root != null) return root.depth();
+ return 0;
+ }
+ public int size()
+ {
+ if (root != null) return root.size();
+ return 0;
+ }
+ /**
+ * Compute the total number of nodes in the tree
+ *
+ * @return the number of nodes in the tree
+ */
+ public int nodeSize()
+ {
+ if (root != null) return root.nodeSize();
+ return 0;
+ }
+
+ public void insert(Interval itemInterval, Object item)
+ {
+ collectStats(itemInterval);
+ Interval insertInterval = ensureExtent(itemInterval, minExtent);
+//int oldSize = size();
+ root.insert(insertInterval, item);
+ /* DEBUG
+int newSize = size();
+System.out.println("BinTree: size = " + newSize + " node size = " + nodeSize());
+if (newSize <= oldSize) {
+ System.out.println("Lost item!");
+ root.insert(insertInterval, item);
+ System.out.println("reinsertion size = " + size());
+}
+ */
+ }
+
+ /**
+ * Removes a single item from the tree.
+ *
+ * @param itemEnv the Envelope of the item to be removed
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found (and thus removed)
+ */
+ public boolean remove(Interval itemInterval, Object item)
+ {
+ Interval insertInterval = ensureExtent(itemInterval, minExtent);
+ return root.remove(insertInterval, item);
+ }
+
+ public Iterator iterator()
+ {
+ List foundItems = new ArrayList();
+ root.addAllItems(foundItems);
+ return foundItems.iterator();
+ }
+
+ public List query(double x)
+ {
+ return query(new Interval(x, x));
+ }
+
+ /**
+ * Queries the tree to find all candidate items which
+ * may overlap the query interval.
+ * If the query interval is <tt>null</tt>, all items in the tree are found.
+ *
+ * min and max may be the same value
+ */
+ public List query(Interval interval)
+ {
+ /**
+ * the items that are matched are all items in intervals
+ * which overlap the query interval
+ */
+ List foundItems = new ArrayList();
+ query(interval, foundItems);
+ return foundItems;
+ }
+
+ /**
+ * Adds items in the tree which potentially overlap the query interval
+ * to the given collection.
+ * If the query interval is <tt>null</tt>, add all items in the tree.
+ *
+ * @param interval a query interval, or null
+ * @param resultItems the candidate items found
+ */
+ public void query(Interval interval, Collection foundItems)
+ {
+ root.addAllItemsFromOverlapping(interval, foundItems);
+ }
+
+ private void collectStats(Interval interval)
+ {
+ double del = interval.getWidth();
+ if (del < minExtent && del > 0.0)
+ minExtent = del;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/Interval.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Interval.java
new file mode 100644
index 0000000..e67184d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Interval.java
@@ -0,0 +1,84 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+/**
+ * Represents an (1-dimensional) closed interval on the Real number line.
+ *
+ * @version 1.7
+ */
+public class Interval {
+
+ public double min, max;
+
+ public Interval()
+ {
+ min = 0.0;
+ max = 0.0;
+ }
+
+ public Interval(double min, double max)
+ {
+ init(min, max);
+ }
+ public Interval(Interval interval)
+ {
+ init(interval.min, interval.max);
+ }
+ public void init(double min, double max)
+ {
+ this.min = min;
+ this.max = max;
+ if (min > max) {
+ this.min = max;
+ this.max = min;
+ }
+ }
+ public double getMin() { return min; }
+ public double getMax() { return max; }
+ public double getWidth() { return max - min; }
+
+ public void expandToInclude(Interval interval)
+ {
+ if (interval.max > max) max = interval.max;
+ if (interval.min < min) min = interval.min;
+ }
+ public boolean overlaps(Interval interval)
+ {
+ return overlaps(interval.min, interval.max);
+ }
+
+ public boolean overlaps(double min, double max)
+ {
+ if (this.min > max || this.max < min) return false;
+ return true;
+ }
+
+ public boolean contains(Interval interval)
+ {
+ return contains(interval.min, interval.max);
+ }
+ public boolean contains(double min, double max)
+ {
+ return (min >= this.min && max <= this.max);
+ }
+ public boolean contains(double p)
+ {
+ return (p >= this.min && p <= this.max);
+ }
+
+ public String toString()
+ {
+ return "[" + min + ", " + max + "]";
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/Key.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Key.java
new file mode 100644
index 0000000..ecf19d9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Key.java
@@ -0,0 +1,75 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+
+
+import org.locationtech.jts.index.quadtree.DoubleBits;
+
+/**
+ * A Key is a unique identifier for a node in a tree.
+ * It contains a lower-left point and a level number. The level number
+ * is the power of two for the size of the node envelope
+ *
+ * @version 1.7
+ */
+public class Key {
+
+ public static int computeLevel(Interval interval)
+ {
+ double dx = interval.getWidth();
+ //int level = BinaryPower.exponent(dx) + 1;
+ int level = DoubleBits.exponent(dx) + 1;
+ return level;
+ }
+
+
+ // the fields which make up the key
+ private double pt = 0.0;
+ private int level = 0;
+ // auxiliary data which is derived from the key for use in computation
+ private Interval interval;
+
+ public Key(Interval interval)
+ {
+ computeKey(interval);
+ }
+
+ public double getPoint() { return pt; }
+ public int getLevel() { return level; }
+ public Interval getInterval() { return interval; }
+
+ /**
+ * return a square envelope containing the argument envelope,
+ * whose extent is a power of two and which is based at a power of 2
+ */
+ public void computeKey(Interval itemInterval)
+ {
+ level = computeLevel(itemInterval);
+ interval = new Interval();
+ computeInterval(level, itemInterval);
+ // MD - would be nice to have a non-iterative form of this algorithm
+ while (! interval.contains(itemInterval)) {
+ level += 1;
+ computeInterval(level, itemInterval);
+ }
+ }
+
+ private void computeInterval(int level, Interval itemInterval)
+ {
+ double size = DoubleBits.powerOf2(level);
+ //double size = pow2.power(level);
+ pt = Math.floor(itemInterval.getMin() / size) * size;
+ interval.init(pt, pt + size);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/Node.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Node.java
new file mode 100644
index 0000000..f9cd9c4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Node.java
@@ -0,0 +1,152 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A node of a {@link Bintree}.
+ *
+ * @version 1.7
+ */
+public class Node
+ extends NodeBase
+{
+ public static Node createNode(Interval itemInterval)
+ {
+ Key key = new Key(itemInterval);
+
+//System.out.println("input: " + env + " binaryEnv: " + key.getEnvelope());
+ Node node = new Node(key.getInterval(), key.getLevel());
+ return node;
+ }
+
+ public static Node createExpanded(Node node, Interval addInterval)
+ {
+ Interval expandInt = new Interval(addInterval);
+ if (node != null) expandInt.expandToInclude(node.interval);
+
+ Node largerNode = createNode(expandInt);
+ if (node != null) largerNode.insert(node);
+ return largerNode;
+ }
+
+ private Interval interval;
+ private double centre;
+ private int level;
+
+ public Node(Interval interval, int level)
+ {
+ this.interval = interval;
+ this.level = level;
+ centre = (interval.getMin() + interval.getMax()) / 2;
+ }
+
+ public Interval getInterval() { return interval; }
+
+ protected boolean isSearchMatch(Interval itemInterval)
+ {
+// System.out.println(itemInterval + " overlaps " + interval + " : "
+// + itemInterval.overlaps(interval));
+ return itemInterval.overlaps(interval);
+ }
+
+ /**
+ * Returns the subnode containing the envelope.
+ * Creates the node if
+ * it does not already exist.
+ */
+ public Node getNode(Interval searchInterval)
+ {
+ int subnodeIndex = getSubnodeIndex(searchInterval, centre);
+ // if index is -1 searchEnv is not contained in a subnode
+ if (subnodeIndex != -1) {
+ // create the node if it does not exist
+ Node node = getSubnode(subnodeIndex);
+ // recursively search the found/created node
+ return node.getNode(searchInterval);
+ }
+ else {
+ return this;
+ }
+ }
+
+ /**
+ * Returns the smallest <i>existing</i>
+ * node containing the envelope.
+ */
+ public NodeBase find(Interval searchInterval)
+ {
+ int subnodeIndex = getSubnodeIndex(searchInterval, centre);
+ if (subnodeIndex == -1)
+ return this;
+ if (subnode[subnodeIndex] != null) {
+ // query lies in subnode, so search it
+ Node node = subnode[subnodeIndex];
+ return node.find(searchInterval);
+ }
+ // no existing subnode, so return this one anyway
+ return this;
+ }
+
+ void insert(Node node)
+ {
+ Assert.isTrue(interval == null || interval.contains(node.interval));
+ int index = getSubnodeIndex(node.interval, centre);
+ if (node.level == level - 1) {
+ subnode[index] = node;
+ }
+ else {
+ // the node is not a direct child, so make a new child node to contain it
+ // and recursively insert the node
+ Node childNode = createSubnode(index);
+ childNode.insert(node);
+ subnode[index] = childNode;
+ }
+ }
+
+ /**
+ * get the subnode for the index.
+ * If it doesn't exist, create it
+ */
+ private Node getSubnode(int index)
+ {
+ if (subnode[index] == null) {
+ subnode[index] = createSubnode(index);
+ }
+ return subnode[index];
+ }
+
+ private Node createSubnode(int index)
+ {
+ // create a new subnode in the appropriate interval
+
+ double min = 0.0;
+ double max = 0.0;
+
+ switch (index) {
+ case 0:
+ min = interval.getMin();
+ max = centre;
+ break;
+ case 1:
+ min = centre;
+ max = interval.getMax();
+ break;
+ }
+ Interval subInt = new Interval(min, max);
+ Node node = new Node(subInt, level - 1);
+ return node;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/NodeBase.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/NodeBase.java
new file mode 100644
index 0000000..0618b67
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/NodeBase.java
@@ -0,0 +1,173 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+
+
+/**
+ * The base class for nodes in a {@link Bintree}.
+ *
+ * @version 1.7
+ */
+public abstract class NodeBase {
+
+ /**
+ * Returns the index of the subnode that wholely contains the given interval.
+ * If none does, returns -1.
+ */
+ public static int getSubnodeIndex(Interval interval, double centre)
+ {
+ int subnodeIndex = -1;
+ if (interval.min >= centre) subnodeIndex = 1;
+ if (interval.max <= centre) subnodeIndex = 0;
+ return subnodeIndex;
+ }
+
+ protected List items = new ArrayList();
+
+ /**
+ * subnodes are numbered as follows:
+ *
+ * 0 | 1
+ */
+ protected Node[] subnode = new Node[2];
+
+ public NodeBase() {
+ }
+
+ public List getItems() { return items; }
+
+ public void add(Object item)
+ {
+ items.add(item);
+ }
+ public List addAllItems(List items)
+ {
+ items.addAll(this.items);
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null) {
+ subnode[i].addAllItems(items);
+ }
+ }
+ return items;
+ }
+ protected abstract boolean isSearchMatch(Interval interval);
+
+ /**
+ * Adds items in the tree which potentially overlap the query interval
+ * to the given collection.
+ * If the query interval is <tt>null</tt>, add all items in the tree.
+ *
+ * @param interval a query interval, or null
+ * @param resultItems the candidate items found
+ */
+ public void addAllItemsFromOverlapping(Interval interval, Collection resultItems)
+ {
+ if (interval != null && ! isSearchMatch(interval))
+ return;
+
+ // some of these may not actually overlap - this is allowed by the bintree contract
+ resultItems.addAll(items);
+
+ if (subnode[0] != null) subnode[0].addAllItemsFromOverlapping(interval, resultItems);
+ if (subnode[1] != null) subnode[1].addAllItemsFromOverlapping(interval, resultItems);
+ }
+
+ /**
+ * Removes a single item from this subtree.
+ *
+ * @param itemInterval the envelope containing the item
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found and removed
+ */
+ public boolean remove(Interval itemInterval, Object item)
+ {
+ // use interval to restrict nodes scanned
+ if (! isSearchMatch(itemInterval))
+ return false;
+
+ boolean found = false;
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null) {
+ found = subnode[i].remove(itemInterval, item);
+ if (found) {
+ // trim subtree if empty
+ if (subnode[i].isPrunable())
+ subnode[i] = null;
+ break;
+ }
+ }
+ }
+ // if item was found lower down, don't need to search for it here
+ if (found) return found;
+ // otherwise, try and remove the item from the list of items in this node
+ found = items.remove(item);
+ return found;
+ }
+
+ public boolean isPrunable()
+ {
+ return ! (hasChildren() || hasItems());
+ }
+
+ public boolean hasChildren()
+ {
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null)
+ return true;
+ }
+ return false;
+ }
+
+ public boolean hasItems() { return ! items.isEmpty(); }
+
+ int depth()
+ {
+ int maxSubDepth = 0;
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null) {
+ int sqd = subnode[i].depth();
+ if (sqd > maxSubDepth)
+ maxSubDepth = sqd;
+ }
+ }
+ return maxSubDepth + 1;
+ }
+
+ int size()
+ {
+ int subSize = 0;
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null) {
+ subSize += subnode[i].size();
+ }
+ }
+ return subSize + items.size();
+ }
+
+ int nodeSize()
+ {
+ int subSize = 0;
+ for (int i = 0; i < 2; i++) {
+ if (subnode[i] != null) {
+ subSize += subnode[i].nodeSize();
+ }
+ }
+ return subSize + 1;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/Root.java b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Root.java
new file mode 100644
index 0000000..b0be0d8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/Root.java
@@ -0,0 +1,100 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.bintree;
+
+import org.locationtech.jts.index.quadtree.IntervalSize;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * The root node of a single {@link Bintree}.
+ * It is centred at the origin,
+ * and does not have a defined extent.
+ *
+ * @version 1.7
+ */
+public class Root
+ extends NodeBase
+{
+
+ // the singleton root node is centred at the origin.
+ private static final double origin = 0.0;
+
+ public Root()
+ {
+ }
+
+ /**
+ * Insert an item into the tree this is the root of.
+ */
+ public void insert(Interval itemInterval, Object item)
+ {
+ int index = getSubnodeIndex(itemInterval, origin);
+ // if index is -1, itemEnv must contain the origin.
+ if (index == -1) {
+ add(item);
+ return;
+ }
+ /**
+ * the item must be contained in one interval, so insert it into the
+ * tree for that interval (which may not yet exist)
+ */
+ Node node = subnode[index];
+ /**
+ * If the subnode doesn't exist or this item is not contained in it,
+ * have to expand the tree upward to contain the item.
+ */
+
+ if (node == null || ! node.getInterval().contains(itemInterval)) {
+ Node largerNode = Node.createExpanded(node, itemInterval);
+ subnode[index] = largerNode;
+ }
+ /**
+ * At this point we have a subnode which exists and must contain
+ * contains the env for the item. Insert the item into the tree.
+ */
+ insertContained(subnode[index], itemInterval, item);
+//System.out.println("depth = " + root.depth() + " size = " + root.size());
+ }
+
+ /**
+ * insert an item which is known to be contained in the tree rooted at
+ * the given Node. Lower levels of the tree will be created
+ * if necessary to hold the item.
+ */
+ private void insertContained(Node tree, Interval itemInterval, Object item)
+ {
+ Assert.isTrue(tree.getInterval().contains(itemInterval));
+ /**
+ * Do NOT create a new node for zero-area intervals - this would lead
+ * to infinite recursion. Instead, use a heuristic of simply returning
+ * the smallest existing node containing the query
+ */
+ boolean isZeroArea = IntervalSize.isZeroWidth(itemInterval.getMin(), itemInterval.getMax());
+ NodeBase node;
+ if (isZeroArea)
+ node = tree.find(itemInterval);
+ else
+ node = tree.getNode(itemInterval);
+ node.add(item);
+ }
+
+ /**
+ * The root node matches all searches
+ */
+ protected boolean isSearchMatch(Interval interval)
+ {
+ return true;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/bintree/package.html b/modules/core/src/main/java/org/locationtech/jts/index/bintree/package.html
new file mode 100644
index 0000000..9d4dc5d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/bintree/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that implement a Binary Interval Tree index
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChain.java b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChain.java
new file mode 100644
index 0000000..5a3594a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChain.java
@@ -0,0 +1,242 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.chain;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geomgraph.index.MonotoneChainEdge;
+
+
+/**
+ * Monotone Chains are a way of partitioning the segments of a linestring to
+ * allow for fast searching of intersections.
+ * They have the following properties:
+ * <ol>
+ * <li>the segments within a monotone chain never intersect each other
+ * <li>the envelope of any contiguous subset of the segments in a monotone chain
+ * is equal to the envelope of the endpoints of the subset.
+ * </ol>
+ * Property 1 means that there is no need to test pairs of segments from within
+ * the same monotone chain for intersection.
+ * <p>
+ * Property 2 allows
+ * an efficient binary search to be used to find the intersection points of two monotone chains.
+ * For many types of real-world data, these properties eliminate a large number of
+ * segment comparisons, producing substantial speed gains.
+ * <p>
+ * One of the goals of this implementation of MonotoneChains is to be
+ * as space and time efficient as possible. One design choice that aids this
+ * is that a MonotoneChain is based on a subarray of a list of points.
+ * This means that new arrays of points (potentially very large) do not
+ * have to be allocated.
+ * <p>
+ *
+ * MonotoneChains support the following kinds of queries:
+ * <ul>
+ * <li>Envelope select: determine all the segments in the chain which
+ * intersect a given envelope
+ * <li>Overlap: determine all the pairs of segments in two chains whose
+ * envelopes overlap
+ * </ul>
+ *
+ * This implementation of MonotoneChains uses the concept of internal iterators
+ * ({@link MonotoneChainSelectAction} and {@link MonotoneChainOverlapAction})
+ * to return the results for queries.
+ * This has time and space advantages, since it
+ * is not necessary to build lists of instantiated objects to represent the segments
+ * returned by the query.
+ * Queries made in this manner are thread-safe.
+ *
+ * @version 1.7
+ */
+public class MonotoneChain {
+
+ private Coordinate[] pts;
+ private int start, end;
+ private Envelope env = null;
+ private Object context = null;// user-defined information
+ private int id;// useful for optimizing chain comparisons
+
+ public MonotoneChain(Coordinate[] pts, int start, int end, Object context)
+ {
+ this.pts = pts;
+ this.start = start;
+ this.end = end;
+ this.context = context;
+ }
+
+ public void setId(int id) { this.id = id; }
+ public int getId() { return id; }
+
+ public Object getContext() { return context; }
+
+ public Envelope getEnvelope()
+ {
+ if (env == null) {
+ Coordinate p0 = pts[start];
+ Coordinate p1 = pts[end];
+ env = new Envelope(p0, p1);
+ }
+ return env;
+ }
+
+ public int getStartIndex() { return start; }
+ public int getEndIndex() { return end; }
+
+ /**
+ * Gets the line segment starting at <code>index</code>
+ *
+ * @param index index of segment
+ * @param ls line segment to extract into
+ */
+ public void getLineSegment(int index, LineSegment ls)
+ {
+ ls.p0 = pts[index];
+ ls.p1 = pts[index + 1];
+ }
+ /**
+ * Return the subsequence of coordinates forming this chain.
+ * Allocates a new array to hold the Coordinates
+ */
+ public Coordinate[] getCoordinates()
+ {
+ Coordinate coord[] = new Coordinate[end - start + 1];
+ int index = 0;
+ for (int i = start; i <= end; i++) {
+ coord[index++] = pts[i];
+ }
+ return coord;
+ }
+
+ /**
+ * Determine all the line segments in the chain whose envelopes overlap
+ * the searchEnvelope, and process them.
+ * <p>
+ * The monotone chain search algorithm attempts to optimize
+ * performance by not calling the select action on chain segments
+ * which it can determine are not in the search envelope.
+ * However, it *may* call the select action on segments
+ * which do not intersect the search envelope.
+ * This saves on the overhead of checking envelope intersection
+ * each time, since clients may be able to do this more efficiently.
+ *
+ * @param searchEnv the search envelope
+ * @param mcs the select action to execute on selected segments
+ */
+ public void select(Envelope searchEnv, MonotoneChainSelectAction mcs)
+ {
+ computeSelect(searchEnv, start, end, mcs);
+ }
+
+ private void computeSelect(
+ Envelope searchEnv,
+ int start0, int end0,
+ MonotoneChainSelectAction mcs )
+ {
+ Coordinate p0 = pts[start0];
+ Coordinate p1 = pts[end0];
+
+//Debug.println("trying:" + p0 + p1 + " [ " + start0 + ", " + end0 + " ]");
+ // terminating condition for the recursion
+ if (end0 - start0 == 1) {
+ //Debug.println("computeSelect:" + p0 + p1);
+ mcs.select(this, start0);
+ return;
+ }
+ // nothing to do if the envelopes don't overlap
+ if (! searchEnv.intersects(p0, p1))
+ return;
+
+ // the chains overlap, so split each in half and iterate (binary search)
+ int mid = (start0 + end0) / 2;
+
+ // Assert: mid != start or end (since we checked above for end - start <= 1)
+ // check terminating conditions before recursing
+ if (start0 < mid) {
+ computeSelect(searchEnv, start0, mid, mcs);
+ }
+ if (mid < end0) {
+ computeSelect(searchEnv, mid, end0, mcs);
+ }
+ }
+
+ /**
+ * Determine all the line segments in two chains which may overlap, and process them.
+ * <p>
+ * The monotone chain search algorithm attempts to optimize
+ * performance by not calling the overlap action on chain segments
+ * which it can determine do not overlap.
+ * However, it *may* call the overlap action on segments
+ * which do not actually interact.
+ * This saves on the overhead of checking intersection
+ * each time, since clients may be able to do this more efficiently.
+ *
+ * @param searchEnv the search envelope
+ * @param mco the overlap action to execute on selected segments
+ */
+ public void computeOverlaps(MonotoneChain mc, MonotoneChainOverlapAction mco)
+ {
+ computeOverlaps(start, end, mc, mc.start, mc.end, mco);
+ }
+
+ private void computeOverlaps(
+ int start0, int end0,
+ MonotoneChain mc,
+ int start1, int end1,
+ MonotoneChainOverlapAction mco)
+ {
+//Debug.println("computeIntersectsForChain:" + p00 + p01 + p10 + p11);
+ // terminating condition for the recursion
+ if (end0 - start0 == 1 && end1 - start1 == 1) {
+ mco.overlap(this, start0, mc, start1);
+ return;
+ }
+ // nothing to do if the envelopes of these subchains don't overlap
+ if (! overlaps(start0, end0, mc, start1, end1)) return;
+
+ // the chains overlap, so split each in half and iterate (binary search)
+ int mid0 = (start0 + end0) / 2;
+ int mid1 = (start1 + end1) / 2;
+
+ // Assert: mid != start or end (since we checked above for end - start <= 1)
+ // check terminating conditions before recursing
+ if (start0 < mid0) {
+ if (start1 < mid1) computeOverlaps(start0, mid0, mc, start1, mid1, mco);
+ if (mid1 < end1) computeOverlaps(start0, mid0, mc, mid1, end1, mco);
+ }
+ if (mid0 < end0) {
+ if (start1 < mid1) computeOverlaps(mid0, end0, mc, start1, mid1, mco);
+ if (mid1 < end1) computeOverlaps(mid0, end0, mc, mid1, end1, mco);
+ }
+ }
+ /**
+ * Tests whether the envelopes of two chain sections overlap (intersect).
+ *
+ * @param start0
+ * @param end0
+ * @param mc
+ * @param start1
+ * @param end1
+ * @return true if the section envelopes overlap
+ */
+ private boolean overlaps(
+ int start0, int end0,
+ MonotoneChain mc,
+ int start1, int end1)
+ {
+ return Envelope.intersects(pts[start0], pts[end0], mc.pts[start1], mc.pts[end1]);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainBuilder.java b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainBuilder.java
new file mode 100644
index 0000000..c976343
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainBuilder.java
@@ -0,0 +1,120 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.chain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Quadrant;
+
+/**
+ * Constructs {@link MonotoneChain}s
+ * for sequences of {@link Coordinate}s.
+ *
+ * @version 1.7
+ */
+public class MonotoneChainBuilder {
+
+ public static int[] toIntArray(List list)
+ {
+ int[] array = new int[list.size()];
+ for (int i = 0; i < array.length; i++) {
+ array[i] = ((Integer) list.get(i)).intValue();
+ }
+ return array;
+ }
+
+ public static List getChains(Coordinate[] pts)
+ {
+ return getChains(pts, null);
+ }
+
+ /**
+ * Return a list of the {@link MonotoneChain}s
+ * for the given list of coordinates.
+ */
+ public static List getChains(Coordinate[] pts, Object context)
+ {
+ List mcList = new ArrayList();
+ int[] startIndex = getChainStartIndices(pts);
+ for (int i = 0; i < startIndex.length - 1; i++) {
+ MonotoneChain mc = new MonotoneChain(pts, startIndex[i], startIndex[i + 1], context);
+ mcList.add(mc);
+ }
+ return mcList;
+ }
+
+ /**
+ * Return an array containing lists of start/end indexes of the monotone chains
+ * for the given list of coordinates.
+ * The last entry in the array points to the end point of the point array,
+ * for use as a sentinel.
+ */
+ public static int[] getChainStartIndices(Coordinate[] pts)
+ {
+ // find the startpoint (and endpoints) of all monotone chains in this edge
+ int start = 0;
+ List startIndexList = new ArrayList();
+ startIndexList.add(new Integer(start));
+ do {
+ int last = findChainEnd(pts, start);
+ startIndexList.add(new Integer(last));
+ start = last;
+ } while (start < pts.length - 1);
+ // copy list to an array of ints, for efficiency
+ int[] startIndex = toIntArray(startIndexList);
+ return startIndex;
+ }
+
+ /**
+ * Finds the index of the last point in a monotone chain
+ * starting at a given point.
+ * Any repeated points (0-length segments) will be included
+ * in the monotone chain returned.
+ *
+ * @return the index of the last point in the monotone chain
+ * starting at <code>start</code>.
+ */
+ private static int findChainEnd(Coordinate[] pts, int start)
+ {
+ int safeStart = start;
+ // skip any zero-length segments at the start of the sequence
+ // (since they cannot be used to establish a quadrant)
+ while (safeStart < pts.length - 1 && pts[safeStart].equals2D(pts[safeStart + 1])) {
+ safeStart++;
+ }
+ // check if there are NO non-zero-length segments
+ if (safeStart >= pts.length - 1) {
+ return pts.length - 1;
+ }
+ // determine overall quadrant for chain (which is the starting quadrant)
+ int chainQuad = Quadrant.quadrant(pts[safeStart], pts[safeStart + 1]);
+ int last = start + 1;
+ while (last < pts.length) {
+ // skip zero-length segments, but include them in the chain
+ if (! pts[last - 1].equals2D(pts[last])) {
+ // compute quadrant for next possible segment in chain
+ int quad = Quadrant.quadrant(pts[last - 1], pts[last]);
+ if (quad != chainQuad) break;
+ }
+ last++;
+ }
+ return last - 1;
+ }
+
+
+ public MonotoneChainBuilder() {
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainOverlapAction.java b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainOverlapAction.java
new file mode 100644
index 0000000..df5b4a2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainOverlapAction.java
@@ -0,0 +1,51 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.chain;
+
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * The action for the internal iterator for performing
+ * overlap queries on a MonotoneChain
+ *
+ * @version 1.7
+ */
+public class MonotoneChainOverlapAction
+{
+ protected LineSegment overlapSeg1 = new LineSegment();
+ protected LineSegment overlapSeg2 = new LineSegment();
+
+ /**
+ * This function can be overridden if the original chains are needed
+ *
+ * @param start1 the index of the start of the overlapping segment from mc1
+ * @param start2 the index of the start of the overlapping segment from mc2
+ */
+ public void overlap(MonotoneChain mc1, int start1, MonotoneChain mc2, int start2)
+ {
+ mc1.getLineSegment(start1, overlapSeg1);
+ mc2.getLineSegment(start2, overlapSeg2);
+ overlap(overlapSeg1, overlapSeg2);
+ }
+
+ /**
+ * This is a convenience function which can be overridden to obtain the actual
+ * line segments which overlap
+ * @param seg1
+ * @param seg2
+ */
+ public void overlap(LineSegment seg1, LineSegment seg2)
+ {
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainSelectAction.java b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainSelectAction.java
new file mode 100644
index 0000000..ac61a10
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/chain/MonotoneChainSelectAction.java
@@ -0,0 +1,55 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.chain;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineSegment;
+/**
+ * The action for the internal iterator for performing
+ * envelope select queries on a MonotoneChain
+ *
+ * @version 1.7
+ */
+public class MonotoneChainSelectAction
+{
+ // these envelopes are used during the MonotoneChain search process
+ //Envelope tempEnv1 = new Envelope();
+
+ LineSegment selectedSegment = new LineSegment();
+
+ /**
+ * This method is overridden
+ * to process a segment
+ * in the context of the parent chain.
+ *
+ * @param mc the parent chain
+ * @param startIndex the index of the start vertex of the segment being processed
+ */
+ public void select(MonotoneChain mc, int startIndex)
+ {
+ mc.getLineSegment(startIndex, selectedSegment);
+ // call this routine in case select(segmenet) was overridden
+ select(selectedSegment);
+ }
+
+ /**
+ * This is a convenience method which can be overridden to obtain the actual
+ * line segment which is selected.
+ *
+ * @param seg
+ */
+ public void select(LineSegment seg)
+ {
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/chain/package.html b/modules/core/src/main/java/org/locationtech/jts/index/chain/package.html
new file mode 100644
index 0000000..7becd69
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/chain/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that implement Monotone Chains
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeBranchNode.java b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeBranchNode.java
new file mode 100644
index 0000000..17d6618
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeBranchNode.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.intervalrtree;
+
+import org.locationtech.jts.index.ItemVisitor;
+
+public class IntervalRTreeBranchNode
+extends IntervalRTreeNode
+{
+ private IntervalRTreeNode node1;
+ private IntervalRTreeNode node2;
+
+ public IntervalRTreeBranchNode(IntervalRTreeNode n1, IntervalRTreeNode n2)
+ {
+ node1 = n1;
+ node2 = n2;
+ buildExtent(node1, node2);
+ }
+
+ private void buildExtent(IntervalRTreeNode n1, IntervalRTreeNode n2)
+ {
+ min = Math.min(n1.min, n2.min);
+ max = Math.max(n1.max, n2.max);
+ }
+
+ public void query(double queryMin, double queryMax, ItemVisitor visitor)
+ {
+ if (! intersects(queryMin, queryMax)) {
+// System.out.println("Does NOT Overlap branch: " + this);
+ return;
+ }
+// System.out.println("Overlaps branch: " + this);
+ if (node1 != null) node1.query(queryMin, queryMax, visitor);
+ if (node2 != null) node2.query(queryMin, queryMax, visitor);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeLeafNode.java b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeLeafNode.java
new file mode 100644
index 0000000..7dfdd0a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeLeafNode.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.intervalrtree;
+
+import org.locationtech.jts.index.ItemVisitor;
+
+public class IntervalRTreeLeafNode
+extends IntervalRTreeNode
+{
+ private Object item;
+
+ public IntervalRTreeLeafNode(double min, double max, Object item)
+ {
+ this.min = min;
+ this.max = max;
+ this.item = item;
+ }
+
+ public void query(double queryMin, double queryMax, ItemVisitor visitor)
+ {
+ if (! intersects(queryMin, queryMax))
+ return;
+
+ visitor.visitItem(item);
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeNode.java b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeNode.java
new file mode 100644
index 0000000..c7f2c35
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/IntervalRTreeNode.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.intervalrtree;
+
+import java.util.Comparator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.io.WKTWriter;
+
+
+public abstract class IntervalRTreeNode
+{
+ protected double min = Double.POSITIVE_INFINITY;
+ protected double max = Double.NEGATIVE_INFINITY;
+
+ public double getMin() { return min; }
+ public double getMax() { return max; }
+
+ public abstract void query(double queryMin, double queryMax, ItemVisitor visitor);
+
+ protected boolean intersects(double queryMin, double queryMax)
+ {
+ if (min > queryMax
+ || max < queryMin)
+ return false;
+ return true;
+ }
+
+ public String toString()
+ {
+ return WKTWriter.toLineString(new Coordinate(min, 0), new Coordinate(max, 0));
+ }
+
+ public static class NodeComparator implements Comparator
+ {
+ public int compare(Object o1, Object o2)
+ {
+ IntervalRTreeNode n1 = (IntervalRTreeNode) o1;
+ IntervalRTreeNode n2 = (IntervalRTreeNode) o2;
+ double mid1 = (n1.min + n1.max) / 2;
+ double mid2 = (n2.min + n2.max) / 2;
+ if (mid1 < mid2) return -1;
+ if (mid1 > mid2) return 1;
+ return 0;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/SortedPackedIntervalRTree.java b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/SortedPackedIntervalRTree.java
new file mode 100644
index 0000000..db858c5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/SortedPackedIntervalRTree.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.intervalrtree;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.io.WKTWriter;
+
+
+/**
+ * A static index on a set of 1-dimensional intervals,
+ * using an R-Tree packed based on the order of the interval midpoints.
+ * It supports range searching,
+ * where the range is an interval of the real line (which may be a single point).
+ * A common use is to index 1-dimensional intervals which
+ * are the projection of 2-D objects onto an axis of the coordinate system.
+ * <p>
+ * This index structure is <i>static</i>
+ * - items cannot be added or removed once the first query has been made.
+ * The advantage of this characteristic is that the index performance
+ * can be optimized based on a fixed set of items.
+ *
+ * @author Martin Davis
+ */
+public class SortedPackedIntervalRTree
+{
+ private List leaves = new ArrayList();
+ private IntervalRTreeNode root = null;
+
+ public SortedPackedIntervalRTree()
+ {
+
+ }
+
+ /**
+ * Adds an item to the index which is associated with the given interval
+ *
+ * @param min the lower bound of the item interval
+ * @param max the upper bound of the item interval
+ * @param item the item to insert
+ *
+ * @throws IllegalStateException if the index has already been queried
+ */
+ public void insert(double min, double max, Object item)
+ {
+ if (root != null)
+ throw new IllegalStateException("Index cannot be added to once it has been queried");
+ leaves.add(new IntervalRTreeLeafNode(min, max, item));
+ }
+
+ private void init()
+ {
+ if (root != null) return;
+ buildRoot();
+ }
+
+ private synchronized void buildRoot()
+ {
+ if (root != null) return;
+ root = buildTree();
+ }
+
+ private IntervalRTreeNode buildTree()
+ {
+
+ // sort the leaf nodes
+ Collections.sort(leaves, new IntervalRTreeNode.NodeComparator());
+
+ // now group nodes into blocks of two and build tree up recursively
+ List src = leaves;
+ List temp = null;
+ List dest = new ArrayList();
+
+ while (true) {
+ buildLevel(src, dest);
+ if (dest.size() == 1)
+ return (IntervalRTreeNode) dest.get(0);
+
+ temp = src;
+ src = dest;
+ dest = temp;
+ }
+ }
+
+ private int level = 0;
+
+ private void buildLevel(List src, List dest)
+ {
+ level++;
+ dest.clear();
+ for (int i = 0; i < src.size(); i += 2) {
+ IntervalRTreeNode n1 = (IntervalRTreeNode) src.get(i);
+ IntervalRTreeNode n2 = (i + 1 < src.size())
+ ? (IntervalRTreeNode) src.get(i) : null;
+ if (n2 == null) {
+ dest.add(n1);
+ } else {
+ IntervalRTreeNode node = new IntervalRTreeBranchNode(
+ (IntervalRTreeNode) src.get(i),
+ (IntervalRTreeNode) src.get(i + 1));
+// printNode(node);
+// System.out.println(node);
+ dest.add(node);
+ }
+ }
+ }
+
+ private void printNode(IntervalRTreeNode node)
+ {
+ System.out.println(WKTWriter.toLineString(new Coordinate(node.min, level), new Coordinate(node.max, level)));
+ }
+
+ /**
+ * Search for intervals in the index which intersect the given closed interval
+ * and apply the visitor to them.
+ *
+ * @param min the lower bound of the query interval
+ * @param max the upper bound of the query interval
+ * @param visitor the visitor to pass any matched items to
+ */
+ public void query(double min, double max, ItemVisitor visitor)
+ {
+ init();
+
+ root.query(min, max, visitor);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/package.html b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/package.html
new file mode 100644
index 0000000..07e85cd
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/intervalrtree/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes to implement an R-tree index for one-dimensional intervals.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNode.java b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNode.java
new file mode 100644
index 0000000..d7775f2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNode.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.kdtree;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A node of a {@link KdTree}, which represents one or more points in the same location.
+ *
+ * @author dskea
+ */
+public class KdNode {
+
+ private Coordinate p = null;
+ private Object data;
+ private KdNode left;
+ private KdNode right;
+ private int count;
+
+ /**
+ * Creates a new KdNode.
+ *
+ * @param _x coordinate of point
+ * @param _y coordinate of point
+ * @param data a data objects to associate with this node
+ */
+ public KdNode(double _x, double _y, Object data) {
+ p = new Coordinate(_x, _y);
+ left = null;
+ right = null;
+ count = 1;
+ this.data = data;
+ }
+
+ /**
+ * Creates a new KdNode.
+ *
+ * @param p point location of new node
+ * @param data a data objects to associate with this node
+ */
+ public KdNode(Coordinate p, Object data) {
+ this.p = new Coordinate(p);
+ left = null;
+ right = null;
+ count = 1;
+ this.data = data;
+ }
+
+ /**
+ * Returns the X coordinate of the node
+ *
+ * @return X coordinate of the node
+ */
+ public double getX() {
+ return p.x;
+ }
+
+ /**
+ * Returns the Y coordinate of the node
+ *
+ * @return Y coordinate of the node
+ */
+ public double getY() {
+ return p.y;
+ }
+
+ /**
+ * Returns the location of this node
+ *
+ * @return p location of this node
+ */
+ public Coordinate getCoordinate() {
+ return p;
+ }
+
+ /**
+ * Gets the user data object associated with this node.
+ * @return
+ */
+ public Object getData() {
+ return data;
+ }
+
+ /**
+ * Returns the left node of the tree
+ *
+ * @return left node
+ */
+ public KdNode getLeft() {
+ return left;
+ }
+
+ /**
+ * Returns the right node of the tree
+ *
+ * @return right node
+ */
+ public KdNode getRight() {
+ return right;
+ }
+
+ // Increments counts of points at this location
+ void increment() {
+ count = count + 1;
+ }
+
+ /**
+ * Returns the number of inserted points that are coincident at this location.
+ *
+ * @return number of inserted points that this node represents
+ */
+ public int getCount() {
+ return count;
+ }
+
+ /**
+ * Tests whether more than one point with this value have been inserted (up to the tolerance)
+ *
+ * @return true if more than one point have been inserted with this value
+ */
+ public boolean isRepeated() {
+ return count > 1;
+ }
+
+ // Sets left node value
+ void setLeft(KdNode _left) {
+ left = _left;
+ }
+
+ // Sets right node value
+ void setRight(KdNode _right) {
+ right = _right;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNodeVisitor.java b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNodeVisitor.java
new file mode 100644
index 0000000..0fa0b44
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdNodeVisitor.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.kdtree;
+
+/**
+ * A visitor for {@link KdNode}s in a {@link KdTree} index.
+ *
+ * @version 1.7
+ */
+
+public interface KdNodeVisitor
+{
+ /**
+ * Visits a node.
+ *
+ * @param node the node to visit
+ */
+ void visit(KdNode node);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdTree.java b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdTree.java
new file mode 100644
index 0000000..3997887
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/KdTree.java
@@ -0,0 +1,349 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.kdtree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Envelope;
+
+
+/**
+ * An implementation of a 2-D KD-Tree. KD-trees provide fast range searching on
+ * point data.
+ * <p>
+ * This implementation supports detecting and snapping points which are closer
+ * than a given distance tolerance.
+ * If the same point (up to tolerance) is inserted
+ * more than once, it is snapped to the existing node.
+ * In other words, if a point is inserted which lies within the tolerance of a node already in the index,
+ * it is snapped to that node.
+ * When a point is snapped to a node then a new node is not created but the count of the existing node
+ * is incremented.
+ * If more than one node in the tree is within tolerance of an inserted point,
+ * the closest and then lowest node is snapped to.
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class KdTree {
+
+ /**
+ * Converts a collection of {@link KdNode}s to an array of {@link Coordinate}s.
+ *
+ * @param kdnodes
+ * a collection of nodes
+ * @return an array of the coordinates represented by the nodes
+ */
+ public static Coordinate[] toCoordinates(Collection kdnodes) {
+ return toCoordinates(kdnodes, false);
+ }
+
+ /**
+ * Converts a collection of {@link KdNode}s
+ * to an array of {@link Coordinate}s,
+ * specifying whether repeated nodes should be represented
+ * by multiple coordinates.
+ *
+ * @param kdnodes a collection of nodes
+ * @param includeRepeated true if repeated nodes should
+ * be included multiple times
+ * @return an array of the coordinates represented by the nodes
+ */
+ public static Coordinate[] toCoordinates(Collection kdnodes, boolean includeRepeated) {
+ CoordinateList coord = new CoordinateList();
+ for (Iterator it = kdnodes.iterator(); it.hasNext();) {
+ KdNode node = (KdNode) it.next();
+ int count = includeRepeated ? node.getCount() : 1;
+ for (int i = 0; i < count; i++) {
+ coord.add(node.getCoordinate(), true);
+ }
+ }
+ return coord.toCoordinateArray();
+ }
+
+ private KdNode root = null;
+ private long numberOfNodes;
+ private double tolerance;
+
+ /**
+ * Creates a new instance of a KdTree with a snapping tolerance of 0.0. (I.e.
+ * distinct points will <i>not</i> be snapped)
+ */
+ public KdTree() {
+ this(0.0);
+ }
+
+ /**
+ * Creates a new instance of a KdTree, specifying a snapping distance
+ * tolerance. Points which lie closer than the tolerance to a point already in
+ * the tree will be treated as identical to the existing point.
+ *
+ * @param tolerance
+ * the tolerance distance for considering two points equal
+ */
+ public KdTree(double tolerance) {
+ this.tolerance = tolerance;
+ }
+
+ /**
+ * Tests whether the index contains any items.
+ *
+ * @return true if the index does not contain any items
+ */
+ public boolean isEmpty() {
+ if (root == null)
+ return true;
+ return false;
+ }
+
+ /**
+ * Inserts a new point in the kd-tree, with no data.
+ *
+ * @param p
+ * the point to insert
+ * @return the kdnode containing the point
+ */
+ public KdNode insert(Coordinate p) {
+ return insert(p, null);
+ }
+
+ /**
+ * Inserts a new point into the kd-tree.
+ *
+ * @param p
+ * the point to insert
+ * @param data
+ * a data item for the point
+ * @return returns a new KdNode if a new point is inserted, else an existing
+ * node is returned with its counter incremented. This can be checked
+ * by testing returnedNode.getCount() > 1.
+ */
+ public KdNode insert(Coordinate p, Object data) {
+ if (root == null) {
+ root = new KdNode(p, data);
+ return root;
+ }
+
+ /**
+ * Check if the point is already in the tree, up to tolerance.
+ * If tolerance is zero, this phase of the insertion can be skipped.
+ */
+ if ( tolerance > 0 ) {
+ KdNode matchNode = findBestMatchNode(p);
+ if (matchNode != null) {
+ // point already in index - increment counter
+ matchNode.increment();
+ return matchNode;
+ }
+ }
+
+ return insertExact(p, data);
+ }
+
+ /**
+ * Finds the node in the tree which is the best match for a point
+ * being inserted.
+ * The match is made deterministic by returning the lowest of any nodes which
+ * lie the same distance from the point.
+ * There may be no match if the point is not within the distance tolerance of any
+ * existing node.
+ *
+ * @param p the point being inserted
+ * @return the best matching node
+ * @return null if no match was found
+ */
+ private KdNode findBestMatchNode(Coordinate p) {
+ BestMatchVisitor visitor = new BestMatchVisitor(p, tolerance);
+ query(visitor.queryEnvelope(), visitor);
+ return visitor.getNode();
+ }
+
+ static private class BestMatchVisitor implements KdNodeVisitor {
+
+ private double tolerance;
+ private KdNode matchNode = null;
+ private double matchDist = 0.0;
+ private Coordinate p;
+
+ public BestMatchVisitor(Coordinate p, double tolerance) {
+ this.p = p;
+ this.tolerance = tolerance;
+ }
+
+ public Envelope queryEnvelope() {
+ Envelope queryEnv = new Envelope(p);
+ queryEnv.expandBy(tolerance);
+ return queryEnv;
+ }
+
+ public KdNode getNode() {
+ return matchNode;
+ }
+
+ public void visit(KdNode node) {
+ double dist = p.distance(node.getCoordinate());
+ boolean isInTolerance = dist <= tolerance;
+ if (! isInTolerance) return;
+ boolean update = false;
+ if (matchNode == null
+ || dist < matchDist
+ // if distances are the same, record the lesser coordinate
+ || (matchNode != null && dist == matchDist
+ && node.getCoordinate().compareTo(matchNode.getCoordinate()) < 1))
+ update = true;
+
+ if (update) {
+ matchNode = node;
+ matchDist = dist;
+ }
+ }
+ }
+
+ /**
+ * Inserts a point known to be beyond the distance tolerance of any existing node.
+ * The point is inserted at the bottom of the exact splitting path,
+ * so that tree shape is deterministic.
+ *
+ * @param p the point to insert
+ * @param data the data for the point
+ * @return the created node
+ */
+ private KdNode insertExact(Coordinate p, Object data) {
+ KdNode currentNode = root;
+ KdNode leafNode = root;
+ boolean isOddLevel = true;
+ boolean isLessThan = true;
+
+ /**
+ * Traverse the tree, first cutting the plane left-right (by X ordinate)
+ * then top-bottom (by Y ordinate)
+ */
+ while (currentNode != null) {
+ // test if point is already a node (not strictly necessary)
+ if (currentNode != null) {
+ boolean isInTolerance = p.distance(currentNode.getCoordinate()) <= tolerance;
+
+ // check if point is already in tree (up to tolerance) and if so simply
+ // return existing node
+ if (isInTolerance) {
+ currentNode.increment();
+ return currentNode;
+ }
+ }
+
+ if (isOddLevel) {
+ isLessThan = p.x < currentNode.getX();
+ } else {
+ isLessThan = p.y < currentNode.getY();
+ }
+ leafNode = currentNode;
+ if (isLessThan) {
+ currentNode = currentNode.getLeft();
+ } else {
+ currentNode = currentNode.getRight();
+ }
+
+ isOddLevel = ! isOddLevel;
+ }
+
+ // no node found, add new leaf node to tree
+ numberOfNodes = numberOfNodes + 1;
+ KdNode node = new KdNode(p, data);
+ if (isLessThan) {
+ leafNode.setLeft(node);
+ } else {
+ leafNode.setRight(node);
+ }
+ return node;
+ }
+
+ private void queryNode(KdNode currentNode,
+ Envelope queryEnv, boolean odd, KdNodeVisitor visitor) {
+ if (currentNode == null)
+ return;
+
+ double min;
+ double max;
+ double discriminant;
+ if (odd) {
+ min = queryEnv.getMinX();
+ max = queryEnv.getMaxX();
+ discriminant = currentNode.getX();
+ } else {
+ min = queryEnv.getMinY();
+ max = queryEnv.getMaxY();
+ discriminant = currentNode.getY();
+ }
+ boolean searchLeft = min < discriminant;
+ boolean searchRight = discriminant <= max;
+
+ // search is computed via in-order traversal
+ if (searchLeft) {
+ queryNode(currentNode.getLeft(), queryEnv, !odd, visitor);
+ }
+ if (queryEnv.contains(currentNode.getCoordinate())) {
+ visitor.visit(currentNode);
+ }
+ if (searchRight) {
+ queryNode(currentNode.getRight(), queryEnv, !odd, visitor);
+ }
+
+ }
+
+ /**
+ * Performs a range search of the points in the index and visits all nodes found.
+ *
+ * @param queryEnv
+ * the range rectangle to query
+ * @param visitor a visitor to visit all nodes found by the search
+ */
+ public void query(Envelope queryEnv, KdNodeVisitor visitor) {
+ queryNode(root, queryEnv, true, visitor);
+ }
+
+ /**
+ * Performs a range search of the points in the index.
+ *
+ * @param queryEnv
+ * the range rectangle to query
+ * @return a list of the KdNodes found
+ */
+ public List query(Envelope queryEnv) {
+ final List result = new ArrayList();
+ query(queryEnv, result);
+ return result;
+ }
+
+ /**
+ * Performs a range search of the points in the index.
+ *
+ * @param queryEnv
+ * the range rectangle to query
+ * @param result
+ * a list to accumulate the result nodes into
+ */
+ public void query(Envelope queryEnv, final List result) {
+ queryNode(root, queryEnv, true, new KdNodeVisitor() {
+
+ public void visit(KdNode node) {
+ result.add(node);
+ }
+
+ });
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/kdtree/package.html b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/package.html
new file mode 100644
index 0000000..66462bf
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/kdtree/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes which implement a k-D tree index over 2-D point data.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/package.html b/modules/core/src/main/java/org/locationtech/jts/index/package.html
new file mode 100644
index 0000000..6fa83a8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for various kinds of spatial indexes.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/DoubleBits.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/DoubleBits.java
new file mode 100644
index 0000000..098ebe0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/DoubleBits.java
@@ -0,0 +1,153 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+/**
+ * DoubleBits manipulates Double numbers
+ * by using bit manipulation and bit-field extraction.
+ * For some operations (such as determining the exponent)
+ * this is more accurate than using mathematical operations
+ * (which suffer from round-off error).
+ * <p>
+ * The algorithms and constants in this class
+ * apply only to IEEE-754 double-precision floating point format.
+ *
+ * @version 1.7
+ */
+public class DoubleBits {
+
+ public static final int EXPONENT_BIAS = 1023;
+
+ public static double powerOf2(int exp)
+ {
+ if (exp > 1023 || exp < -1022)
+ throw new IllegalArgumentException("Exponent out of bounds");
+ long expBias = exp + EXPONENT_BIAS;
+ long bits = expBias << 52;
+ return Double.longBitsToDouble(bits);
+ }
+
+ public static int exponent(double d)
+ {
+ DoubleBits db = new DoubleBits(d);
+ return db.getExponent();
+ }
+
+ public static double truncateToPowerOfTwo(double d)
+ {
+ DoubleBits db = new DoubleBits(d);
+ db.zeroLowerBits(52);
+ return db.getDouble();
+ }
+
+ public static String toBinaryString(double d)
+ {
+ DoubleBits db = new DoubleBits(d);
+ return db.toString();
+ }
+
+ public static double maximumCommonMantissa(double d1, double d2)
+ {
+ if (d1 == 0.0 || d2 == 0.0) return 0.0;
+
+ DoubleBits db1 = new DoubleBits(d1);
+ DoubleBits db2 = new DoubleBits(d2);
+
+ if (db1.getExponent() != db2.getExponent()) return 0.0;
+
+ int maxCommon = db1.numCommonMantissaBits(db2);
+ db1.zeroLowerBits(64 - (12 + maxCommon));
+ return db1.getDouble();
+ }
+
+ private double x;
+ private long xBits;
+
+ public DoubleBits(double x)
+ {
+ this.x = x;
+ xBits = Double.doubleToLongBits(x);
+ }
+
+ public double getDouble()
+ {
+ return Double.longBitsToDouble(xBits);
+ }
+
+ /**
+ * Determines the exponent for the number
+ */
+ public int biasedExponent()
+ {
+ int signExp = (int) (xBits >> 52);
+ int exp = signExp & 0x07ff;
+ return exp;
+ }
+
+ /**
+ * Determines the exponent for the number
+ */
+ public int getExponent()
+ {
+ return biasedExponent() - EXPONENT_BIAS;
+ }
+
+ public void zeroLowerBits(int nBits)
+ {
+ long invMask = (1L << nBits) - 1L;
+ long mask = ~ invMask;
+ xBits &= mask;
+ }
+
+ public int getBit(int i)
+ {
+ long mask = (1L << i);
+ return (xBits & mask) != 0 ? 1 : 0;
+ }
+
+ /**
+ * This computes the number of common most-significant bits in the mantissa.
+ * It does not count the hidden bit, which is always 1.
+ * It does not determine whether the numbers have the same exponent - if they do
+ * not, the value computed by this function is meaningless.
+ * @param db
+ * @return the number of common most-significant mantissa bits
+ */
+ public int numCommonMantissaBits(DoubleBits db)
+ {
+ for (int i = 0; i < 52; i++)
+ {
+ int bitIndex = i + 12;
+ if (getBit(i) != db.getBit(i))
+ return i;
+ }
+ return 52;
+ }
+
+ /**
+ * A representation of the Double bits formatted for easy readability
+ */
+ public String toString()
+ {
+ String numStr = Long.toBinaryString(xBits);
+ // 64 zeroes!
+ String zero64 = "0000000000000000000000000000000000000000000000000000000000000000";
+ String padStr = zero64 + numStr;
+ String bitStr = padStr.substring(padStr.length() - 64);
+ String str = bitStr.substring(0, 1) + " "
+ + bitStr.substring(1, 12) + "(" + getExponent() + ") "
+ + bitStr.substring(12)
+ + " [ " + x + " ]";
+ return str;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/IntervalSize.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/IntervalSize.java
new file mode 100644
index 0000000..3f9cc8f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/IntervalSize.java
@@ -0,0 +1,52 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+/**
+ * Provides a test for whether an interval is
+ * so small it should be considered as zero for the purposes of
+ * inserting it into a binary tree.
+ * The reason this check is necessary is that round-off error can
+ * cause the algorithm used to subdivide an interval to fail, by
+ * computing a midpoint value which does not lie strictly between the
+ * endpoints.
+ *
+ * @version 1.7
+ */
+public class IntervalSize {
+
+ /**
+ * This value is chosen to be a few powers of 2 less than the
+ * number of bits available in the double representation (i.e. 53).
+ * This should allow enough extra precision for simple computations to be correct,
+ * at least for comparison purposes.
+ */
+ public static final int MIN_BINARY_EXPONENT = -50;
+
+ /**
+ * Computes whether the interval [min, max] is effectively zero width.
+ * I.e. the width of the interval is so much less than the
+ * location of the interval that the midpoint of the interval cannot be
+ * represented precisely.
+ */
+ public static boolean isZeroWidth(double min, double max)
+ {
+ double width = max - min;
+ if (width == 0.0) return true;
+
+ double maxAbs = Math.max(Math.abs(min), Math.abs(max));
+ double scaledInterval = width / maxAbs;
+ int level = DoubleBits.exponent(scaledInterval);
+ return level <= MIN_BINARY_EXPONENT;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Key.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Key.java
new file mode 100644
index 0000000..112b0e8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Key.java
@@ -0,0 +1,81 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * A Key is a unique identifier for a node in a quadtree.
+ * It contains a lower-left point and a level number. The level number
+ * is the power of two for the size of the node envelope
+ *
+ * @version 1.7
+ */
+public class Key {
+
+ public static int computeQuadLevel(Envelope env)
+ {
+ double dx = env.getWidth();
+ double dy = env.getHeight();
+ double dMax = dx > dy ? dx : dy;
+ int level = DoubleBits.exponent(dMax) + 1;
+ return level;
+ }
+
+ // the fields which make up the key
+ private Coordinate pt = new Coordinate();
+ private int level = 0;
+ // auxiliary data which is derived from the key for use in computation
+ private Envelope env = null;
+
+ public Key(Envelope itemEnv)
+ {
+ computeKey(itemEnv);
+ }
+
+ public Coordinate getPoint() { return pt; }
+ public int getLevel() { return level; }
+ public Envelope getEnvelope() { return env; }
+
+ public Coordinate getCentre()
+ {
+ return new Coordinate(
+ (env.getMinX() + env.getMaxX()) / 2,
+ (env.getMinY() + env.getMaxY()) / 2
+ );
+ }
+ /**
+ * return a square envelope containing the argument envelope,
+ * whose extent is a power of two and which is based at a power of 2
+ */
+ public void computeKey(Envelope itemEnv)
+ {
+ level = computeQuadLevel(itemEnv);
+ env = new Envelope();
+ computeKey(level, itemEnv);
+ // MD - would be nice to have a non-iterative form of this algorithm
+ while (! env.contains(itemEnv)) {
+ level += 1;
+ computeKey(level, itemEnv);
+ }
+ }
+
+ private void computeKey(int level, Envelope itemEnv)
+ {
+ double quadSize = DoubleBits.powerOf2(level);
+ pt.x = Math.floor(itemEnv.getMinX() / quadSize) * quadSize;
+ pt.y = Math.floor(itemEnv.getMinY() / quadSize) * quadSize;
+ env.init(pt.x, pt.x + quadSize, pt.y, pt.y + quadSize);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Node.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Node.java
new file mode 100644
index 0000000..10c8717
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Node.java
@@ -0,0 +1,179 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Represents a node of a {@link Quadtree}. Nodes contain
+ * items which have a spatial extent corresponding to the node's position
+ * in the quadtree.
+ *
+ * @version 1.7
+ */
+public class Node
+ extends NodeBase
+{
+ public static Node createNode(Envelope env)
+ {
+ Key key = new Key(env);
+ Node node = new Node(key.getEnvelope(), key.getLevel());
+ return node;
+ }
+
+ public static Node createExpanded(Node node, Envelope addEnv)
+ {
+ Envelope expandEnv = new Envelope(addEnv);
+ if (node != null) expandEnv.expandToInclude(node.env);
+
+ Node largerNode = createNode(expandEnv);
+ if (node != null) largerNode.insertNode(node);
+ return largerNode;
+ }
+
+ private Envelope env;
+ private double centrex;
+ private double centrey;
+ private int level;
+
+ public Node(Envelope env, int level)
+ {
+ //this.parent = parent;
+ this.env = env;
+ this.level = level;
+ centrex = (env.getMinX() + env.getMaxX()) / 2;
+ centrey = (env.getMinY() + env.getMaxY()) / 2;
+ }
+
+ public Envelope getEnvelope() { return env; }
+
+ protected boolean isSearchMatch(Envelope searchEnv)
+ {
+ if (searchEnv == null) return false;
+ return env.intersects(searchEnv);
+ }
+
+ /**
+ * Returns the subquad containing the envelope <tt>searchEnv</tt>.
+ * Creates the subquad if
+ * it does not already exist.
+ *
+ * @return the subquad containing the search envelope
+ */
+ public Node getNode(Envelope searchEnv)
+ {
+ int subnodeIndex = getSubnodeIndex(searchEnv, centrex, centrey);
+ // if subquadIndex is -1 searchEnv is not contained in a subquad
+ if (subnodeIndex != -1) {
+ // create the quad if it does not exist
+ Node node = getSubnode(subnodeIndex);
+ // recursively search the found/created quad
+ return node.getNode(searchEnv);
+ }
+ else {
+ return this;
+ }
+ }
+
+ /**
+ * Returns the smallest <i>existing</i>
+ * node containing the envelope.
+ */
+ public NodeBase find(Envelope searchEnv)
+ {
+ int subnodeIndex = getSubnodeIndex(searchEnv, centrex, centrey);
+ if (subnodeIndex == -1)
+ return this;
+ if (subnode[subnodeIndex] != null) {
+ // query lies in subquad, so search it
+ Node node = subnode[subnodeIndex];
+ return node.find(searchEnv);
+ }
+ // no existing subquad, so return this one anyway
+ return this;
+ }
+
+ void insertNode(Node node)
+ {
+ Assert.isTrue(env == null || env.contains(node.env));
+//System.out.println(env);
+//System.out.println(quad.env);
+ int index = getSubnodeIndex(node.env, centrex, centrey);
+//System.out.println(index);
+ if (node.level == level - 1) {
+ subnode[index] = node;
+//System.out.println("inserted");
+ }
+ else {
+ // the quad is not a direct child, so make a new child quad to contain it
+ // and recursively insert the quad
+ Node childNode = createSubnode(index);
+ childNode.insertNode(node);
+ subnode[index] = childNode;
+ }
+ }
+
+ /**
+ * get the subquad for the index.
+ * If it doesn't exist, create it
+ */
+ private Node getSubnode(int index)
+ {
+ if (subnode[index] == null) {
+ subnode[index] = createSubnode(index);
+ }
+ return subnode[index];
+ }
+
+ private Node createSubnode(int index)
+ {
+ // create a new subquad in the appropriate quadrant
+
+ double minx = 0.0;
+ double maxx = 0.0;
+ double miny = 0.0;
+ double maxy = 0.0;
+
+ switch (index) {
+ case 0:
+ minx = env.getMinX();
+ maxx = centrex;
+ miny = env.getMinY();
+ maxy = centrey;
+ break;
+ case 1:
+ minx = centrex;
+ maxx = env.getMaxX();
+ miny = env.getMinY();
+ maxy = centrey;
+ break;
+ case 2:
+ minx = env.getMinX();
+ maxx = centrex;
+ miny = centrey;
+ maxy = env.getMaxY();
+ break;
+ case 3:
+ minx = centrex;
+ maxx = env.getMaxX();
+ miny = centrey;
+ maxy = env.getMaxY();
+ break;
+ }
+ Envelope sqEnv = new Envelope(minx, maxx, miny, maxy);
+ Node node = new Node(sqEnv, level - 1);
+ return node;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/NodeBase.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/NodeBase.java
new file mode 100644
index 0000000..89e92f0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/NodeBase.java
@@ -0,0 +1,236 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.ItemVisitor;
+
+
+/**
+ * The base class for nodes in a {@link Quadtree}.
+ *
+ * @version 1.7
+ */
+public abstract class NodeBase implements Serializable {
+
+//DEBUG private static int itemCount = 0; // debugging
+
+ /**
+ * Gets the index of the subquad that wholly contains the given envelope.
+ * If none does, returns -1.
+ *
+ * @return the index of the subquad that wholly contains the given envelope
+ * or -1 if no subquad wholly contains the envelope
+ */
+ public static int getSubnodeIndex(Envelope env, double centrex, double centrey)
+ {
+ int subnodeIndex = -1;
+ if (env.getMinX() >= centrex) {
+ if (env.getMinY() >= centrey) subnodeIndex = 3;
+ if (env.getMaxY() <= centrey) subnodeIndex = 1;
+ }
+ if (env.getMaxX() <= centrex) {
+ if (env.getMinY() >= centrey) subnodeIndex = 2;
+ if (env.getMaxY() <= centrey) subnodeIndex = 0;
+ }
+ return subnodeIndex;
+ }
+
+ protected List items = new ArrayList();
+
+ /**
+ * subquads are numbered as follows:
+ * <pre>
+ * 2 | 3
+ * --+--
+ * 0 | 1
+ * </pre>
+ */
+ protected Node[] subnode = new Node[4];
+
+ public NodeBase() {
+ }
+
+ public List getItems() { return items; }
+
+ public boolean hasItems() { return ! items.isEmpty(); }
+
+ public void add(Object item)
+ {
+ items.add(item);
+//DEBUG itemCount++;
+//DEBUG System.out.print(itemCount);
+ }
+
+ /**
+ * Removes a single item from this subtree.
+ *
+ * @param itemEnv the envelope containing the item
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found and removed
+ */
+ public boolean remove(Envelope itemEnv, Object item)
+ {
+ // use envelope to restrict nodes scanned
+ if (! isSearchMatch(itemEnv))
+ return false;
+
+ boolean found = false;
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ found = subnode[i].remove(itemEnv, item);
+ if (found) {
+ // trim subtree if empty
+ if (subnode[i].isPrunable())
+ subnode[i] = null;
+ break;
+ }
+ }
+ }
+ // if item was found lower down, don't need to search for it here
+ if (found) return found;
+ // otherwise, try and remove the item from the list of items in this node
+ found = items.remove(item);
+ return found;
+ }
+
+ public boolean isPrunable()
+ {
+ return ! (hasChildren() || hasItems());
+ }
+
+ public boolean hasChildren()
+ {
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null)
+ return true;
+ }
+ return false;
+ }
+
+ public boolean isEmpty()
+ {
+ boolean isEmpty = true;
+ if (! items.isEmpty()) isEmpty = false;
+ else {
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ if (!subnode[i].isEmpty()) {
+ isEmpty = false;
+ break;
+ }
+ }
+ }
+ }
+ return isEmpty;
+ }
+
+ //<<TODO:RENAME?>> Sounds like this method adds resultItems to items
+ //(like List#addAll). Perhaps it should be renamed to "addAllItemsTo" [Jon Aquino]
+ public List addAllItems(List resultItems)
+ {
+ // this node may have items as well as subnodes (since items may not
+ // be wholely contained in any single subnode
+ resultItems.addAll(this.items);
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ subnode[i].addAllItems(resultItems);
+ }
+ }
+ return resultItems;
+ }
+ protected abstract boolean isSearchMatch(Envelope searchEnv);
+
+ public void addAllItemsFromOverlapping(Envelope searchEnv, List resultItems)
+ {
+ if (! isSearchMatch(searchEnv))
+ return;
+
+ // this node may have items as well as subnodes (since items may not
+ // be wholely contained in any single subnode
+ resultItems.addAll(items);
+
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ subnode[i].addAllItemsFromOverlapping(searchEnv, resultItems);
+ }
+ }
+ }
+
+ public void visit(Envelope searchEnv, ItemVisitor visitor)
+ {
+ if (! isSearchMatch(searchEnv))
+ return;
+
+ // this node may have items as well as subnodes (since items may not
+ // be wholely contained in any single subnode
+ visitItems(searchEnv, visitor);
+
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ subnode[i].visit(searchEnv, visitor);
+ }
+ }
+ }
+
+ private void visitItems(Envelope searchEnv, ItemVisitor visitor)
+ {
+ // would be nice to filter items based on search envelope, but can't until they contain an envelope
+ for (Iterator i = items.iterator(); i.hasNext(); ) {
+ visitor.visitItem(i.next());
+ }
+ }
+
+//<<TODO:RENAME?>> In Samet's terminology, I think what we're returning here is
+//actually level+1 rather than depth. (See p. 4 of his book) [Jon Aquino]
+ int depth()
+ {
+ int maxSubDepth = 0;
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ int sqd = subnode[i].depth();
+ if (sqd > maxSubDepth)
+ maxSubDepth = sqd;
+ }
+ }
+ return maxSubDepth + 1;
+ }
+
+ int size()
+ {
+ int subSize = 0;
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ subSize += subnode[i].size();
+ }
+ }
+ return subSize + items.size();
+ }
+
+ int getNodeCount()
+ {
+ int subSize = 0;
+ for (int i = 0; i < 4; i++) {
+ if (subnode[i] != null) {
+ subSize += subnode[i].size();
+ }
+ }
+ return subSize + 1;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Quadtree.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Quadtree.java
new file mode 100644
index 0000000..2284498
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Quadtree.java
@@ -0,0 +1,242 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.ArrayListVisitor;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.SpatialIndex;
+/**
+ * A Quadtree is a spatial index structure for efficient range querying
+ * of items bounded by 2D rectangles.
+ * {@link Geometry}s can be indexed by using their
+ * {@link Envelope}s.
+ * Any type of Object can also be indexed as
+ * long as it has an extent that can be represented by an {@link Envelope}.
+ * <p>
+ * This Quadtree index provides a <b>primary filter</b>
+ * for range rectangle queries. The various query methods return a list of
+ * all items which <i>may</i> intersect the query rectangle. Note that
+ * it may thus return items which do <b>not</b> in fact intersect the query rectangle.
+ * A secondary filter is required to test for actual intersection
+ * between the query rectangle and the envelope of each candidate item.
+ * The secondary filter may be performed explicitly,
+ * or it may be provided implicitly by subsequent operations executed on the items
+ * (for instance, if the index query is followed by computing a spatial predicate
+ * between the query geometry and tree items,
+ * the envelope intersection check is performed automatically.
+ * <p>
+ * This implementation does not require specifying the extent of the inserted
+ * items beforehand. It will automatically expand to accommodate any extent
+ * of dataset.
+ * <p>
+ * This data structure is also known as an <i>MX-CIF quadtree</i>
+ * following the terminology of Samet and others.
+ *
+ * @version 1.7
+ */
+public class Quadtree
+ implements SpatialIndex, Serializable
+{
+ private static final long serialVersionUID = -7461163625812743604L;
+
+ /**
+ * Ensure that the envelope for the inserted item has non-zero extents.
+ * Use the current minExtent to pad the envelope, if necessary
+ */
+ public static Envelope ensureExtent(Envelope itemEnv, double minExtent)
+ {
+ //The names "ensureExtent" and "minExtent" are misleading -- sounds like
+ //this method ensures that the extents are greater than minExtent.
+ //Perhaps we should rename them to "ensurePositiveExtent" and "defaultExtent".
+ //[Jon Aquino]
+ double minx = itemEnv.getMinX();
+ double maxx = itemEnv.getMaxX();
+ double miny = itemEnv.getMinY();
+ double maxy = itemEnv.getMaxY();
+ // has a non-zero extent
+ if (minx != maxx && miny != maxy) return itemEnv;
+
+ // pad one or both extents
+ if (minx == maxx) {
+ minx = minx - minExtent / 2.0;
+ maxx = minx + minExtent / 2.0;
+ }
+ if (miny == maxy) {
+ miny = miny - minExtent / 2.0;
+ maxy = miny + minExtent / 2.0;
+ }
+ return new Envelope(minx, maxx, miny, maxy);
+ }
+
+ private Root root;
+ /**
+
+ * minExtent is the minimum envelope extent of all items
+ * inserted into the tree so far. It is used as a heuristic value
+ * to construct non-zero envelopes for features with zero X and/or Y extent.
+ * Start with a non-zero extent, in case the first feature inserted has
+ * a zero extent in both directions. This value may be non-optimal, but
+ * only one feature will be inserted with this value.
+ **/
+ private double minExtent = 1.0;
+
+ /**
+ * Constructs a Quadtree with zero items.
+ */
+ public Quadtree()
+ {
+ root = new Root();
+ }
+
+ /**
+ * Returns the number of levels in the tree.
+ */
+ public int depth()
+ {
+ //I don't think it's possible for root to be null. Perhaps we should
+ //remove the check. [Jon Aquino]
+ //Or make an assertion [Jon Aquino 10/29/2003]
+ if (root != null) return root.depth();
+ return 0;
+ }
+
+ /**
+ * Tests whether the index contains any items.
+ *
+ * @return true if the index does not contain any items
+ */
+ public boolean isEmpty()
+ {
+ if (root == null) return true;
+ return root.isEmpty();
+ }
+
+ /**
+ * Returns the number of items in the tree.
+ *
+ * @return the number of items in the tree
+ */
+ public int size()
+ {
+ if (root != null) return root.size();
+ return 0;
+ }
+
+ public void insert(Envelope itemEnv, Object item)
+ {
+ collectStats(itemEnv);
+ Envelope insertEnv = ensureExtent(itemEnv, minExtent);
+ root.insert(insertEnv, item);
+ }
+
+ /**
+ * Removes a single item from the tree.
+ *
+ * @param itemEnv the Envelope of the item to be removed
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found (and thus removed)
+ */
+ public boolean remove(Envelope itemEnv, Object item)
+ {
+ Envelope posEnv = ensureExtent(itemEnv, minExtent);
+ return root.remove(posEnv, item);
+ }
+
+/*
+ public List OLDquery(Envelope searchEnv)
+ {
+ /**
+ * the items that are matched are the items in quads which
+ * overlap the search envelope
+ */
+ /*
+ List foundItems = new ArrayList();
+ root.addAllItemsFromOverlapping(searchEnv, foundItems);
+ return foundItems;
+ }
+*/
+
+ /**
+ * Queries the tree and returns items which may lie in the given search envelope.
+ * Precisely, the items that are returned are all items in the tree
+ * whose envelope <b>may</b> intersect the search Envelope.
+ * Note that some items with non-intersecting envelopes may be returned as well;
+ * the client is responsible for filtering these out.
+ * In most situations there will be many items in the tree which do not
+ * intersect the search envelope and which are not returned - thus
+ * providing improved performance over a simple linear scan.
+ *
+ * @param searchEnv the envelope of the desired query area.
+ * @return a List of items which may intersect the search envelope
+ */
+ public List query(Envelope searchEnv)
+ {
+ /**
+ * the items that are matched are the items in quads which
+ * overlap the search envelope
+ */
+ ArrayListVisitor visitor = new ArrayListVisitor();
+ query(searchEnv, visitor);
+ return visitor.getItems();
+ }
+
+ /**
+ * Queries the tree and visits items which may lie in the given search envelope.
+ * Precisely, the items that are visited are all items in the tree
+ * whose envelope <b>may</b> intersect the search Envelope.
+ * Note that some items with non-intersecting envelopes may be visited as well;
+ * the client is responsible for filtering these out.
+ * In most situations there will be many items in the tree which do not
+ * intersect the search envelope and which are not visited - thus
+ * providing improved performance over a simple linear scan.
+ *
+ * @param searchEnv the envelope of the desired query area.
+ * @param visitor a visitor object which is passed the visited items
+ */
+ public void query(Envelope searchEnv, ItemVisitor visitor)
+ {
+ /**
+ * the items that are matched are the items in quads which
+ * overlap the search envelope
+ */
+ root.visit(searchEnv, visitor);
+ }
+
+ /**
+ * Return a list of all items in the Quadtree
+ */
+ public List queryAll()
+ {
+ List foundItems = new ArrayList();
+ root.addAllItems(foundItems);
+ return foundItems;
+ }
+
+ private void collectStats(Envelope itemEnv)
+ {
+ double delX = itemEnv.getWidth();
+ if (delX < minExtent && delX > 0.0)
+ minExtent = delX;
+
+ double delY = itemEnv.getHeight();
+ if (delY < minExtent && delY > 0.0)
+ minExtent = delY;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Root.java b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Root.java
new file mode 100644
index 0000000..44b0d02
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/Root.java
@@ -0,0 +1,99 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * QuadRoot is the root of a single Quadtree. It is centred at the origin,
+ * and does not have a defined extent.
+ *
+ * @version 1.7
+ */
+public class Root
+ extends NodeBase
+{
+
+ // the singleton root quad is centred at the origin.
+ private static final Coordinate origin = new Coordinate(0.0, 0.0);
+
+ public Root()
+ {
+ }
+
+ /**
+ * Insert an item into the quadtree this is the root of.
+ */
+ public void insert(Envelope itemEnv, Object item)
+ {
+ int index = getSubnodeIndex(itemEnv, origin.x, origin.y);
+ // if index is -1, itemEnv must cross the X or Y axis.
+ if (index == -1) {
+ add(item);
+ return;
+ }
+ /**
+ * the item must be contained in one quadrant, so insert it into the
+ * tree for that quadrant (which may not yet exist)
+ */
+ Node node = subnode[index];
+ /**
+ * If the subquad doesn't exist or this item is not contained in it,
+ * have to expand the tree upward to contain the item.
+ */
+
+ if (node == null || ! node.getEnvelope().contains(itemEnv)) {
+ Node largerNode = Node.createExpanded(node, itemEnv);
+ subnode[index] = largerNode;
+ }
+ /**
+ * At this point we have a subquad which exists and must contain
+ * contains the env for the item. Insert the item into the tree.
+ */
+ insertContained(subnode[index], itemEnv, item);
+ //System.out.println("depth = " + root.depth() + " size = " + root.size());
+ //System.out.println(" size = " + size());
+ }
+
+ /**
+ * insert an item which is known to be contained in the tree rooted at
+ * the given QuadNode root. Lower levels of the tree will be created
+ * if necessary to hold the item.
+ */
+ private void insertContained(Node tree, Envelope itemEnv, Object item)
+ {
+ Assert.isTrue(tree.getEnvelope().contains(itemEnv));
+ /**
+ * Do NOT create a new quad for zero-area envelopes - this would lead
+ * to infinite recursion. Instead, use a heuristic of simply returning
+ * the smallest existing quad containing the query
+ */
+ boolean isZeroX = IntervalSize.isZeroWidth(itemEnv.getMinX(), itemEnv.getMaxX());
+ boolean isZeroY = IntervalSize.isZeroWidth(itemEnv.getMinY(), itemEnv.getMaxY());
+ NodeBase node;
+ if (isZeroX || isZeroY)
+ node = tree.find(itemEnv);
+ else
+ node = tree.getNode(itemEnv);
+ node.add(item);
+ }
+
+ protected boolean isSearchMatch(Envelope searchEnv)
+ {
+ return true;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/quadtree/package.html b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/package.html
new file mode 100644
index 0000000..2e84919
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/quadtree/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that implement a Quadtree spatial index
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractNode.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractNode.java
new file mode 100644
index 0000000..2995fc4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractNode.java
@@ -0,0 +1,125 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A node of an {@link AbstractSTRtree}. A node is one of:
+ * <ul>
+ * <li>empty
+ * <li>an <i>interior node</i> containing child {@link AbstractNode}s
+ * <li>a <i>leaf node</i> containing data items ({@link ItemBoundable}s).
+ * </ul>
+ * A node stores the bounds of its children, and its level within the index tree.
+ *
+ * @version 1.7
+ */
+public abstract class AbstractNode implements Boundable, Serializable {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 6493722185909573708L;
+
+ private ArrayList childBoundables = new ArrayList();
+ private Object bounds = null;
+ private int level;
+
+ /**
+ * Default constructor required for serialization.
+ */
+ public AbstractNode() {
+ }
+
+ /**
+ * Constructs an AbstractNode at the given level in the tree
+ * @param level 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the
+ * root node will have the highest level
+ */
+ public AbstractNode(int level) {
+ this.level = level;
+ }
+
+ /**
+ * Returns either child {@link AbstractNode}s, or if this is a leaf node, real data (wrapped
+ * in {@link ItemBoundable}s).
+ */
+ public List getChildBoundables() {
+ return childBoundables;
+ }
+
+ /**
+ * Returns a representation of space that encloses this Boundable,
+ * preferably not much bigger than this Boundable's boundary yet fast to
+ * test for intersection with the bounds of other Boundables. The class of
+ * object returned depends on the subclass of AbstractSTRtree.
+ *
+ * @return an Envelope (for STRtrees), an Interval (for SIRtrees), or other
+ * object (for other subclasses of AbstractSTRtree)
+ * @see AbstractSTRtree.IntersectsOp
+ */
+ protected abstract Object computeBounds();
+
+ /**
+ * Gets the bounds of this node
+ *
+ * @return the object representing bounds in this index
+ */
+ public Object getBounds() {
+ if (bounds == null) {
+ bounds = computeBounds();
+ }
+ return bounds;
+ }
+
+ /**
+ * Returns 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the
+ * root node will have the highest level
+ */
+ public int getLevel() {
+ return level;
+ }
+
+ /**
+ * Gets the count of the {@link Boundable}s at this node.
+ *
+ * @return the count of boundables at this node
+ */
+ public int size()
+ {
+ return childBoundables.size();
+ }
+
+ /**
+ * Tests whether there are any {@link Boundable}s at this node.
+ *
+ * @return true if there are boundables at this node
+ */
+ public boolean isEmpty()
+ {
+ return childBoundables.isEmpty();
+ }
+
+ /**
+ * Adds either an AbstractNode, or if this is a leaf node, a data object
+ * (wrapped in an ItemBoundable)
+ */
+ public void addChildBoundable(Boundable childBoundable) {
+ Assert.isTrue(bounds == null);
+ childBoundables.add(childBoundable);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractSTRtree.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractSTRtree.java
new file mode 100644
index 0000000..b65203f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/AbstractSTRtree.java
@@ -0,0 +1,450 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Base class for STRtree and SIRtree. STR-packed R-trees are described in:
+ * P. Rigaux, Michel Scholl and Agnes Voisard. <i>Spatial Databases With
+ * Application To GIS.</i> Morgan Kaufmann, San Francisco, 2002.
+ * <p>
+ * This implementation is based on {@link Boundable}s rather than {@link AbstractNode}s,
+ * because the STR algorithm operates on both nodes and
+ * data, both of which are treated as Boundables.
+ * <p>
+ * This class is thread-safe. Building the tree is synchronized,
+ * and querying is stateless.
+ *
+ * @see STRtree
+ * @see SIRtree
+ *
+ * @version 1.7
+ */
+public abstract class AbstractSTRtree implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3886435814360241337L;
+
+ /**
+ * A test for intersection between two bounds, necessary because subclasses
+ * of AbstractSTRtree have different implementations of bounds.
+ */
+ protected static interface IntersectsOp {
+ /**
+ * For STRtrees, the bounds will be Envelopes; for SIRtrees, Intervals;
+ * for other subclasses of AbstractSTRtree, some other class.
+ * @param aBounds the bounds of one spatial object
+ * @param bBounds the bounds of another spatial object
+ * @return whether the two bounds intersect
+ */
+ boolean intersects(Object aBounds, Object bBounds);
+ }
+
+ protected AbstractNode root;
+
+ private boolean built = false;
+ /**
+ * Set to <tt>null</tt> when index is built, to avoid retaining memory.
+ */
+ private ArrayList itemBoundables = new ArrayList();
+
+ private int nodeCapacity;
+
+ private static final int DEFAULT_NODE_CAPACITY = 10;
+
+ /**
+ * Constructs an AbstractSTRtree with the
+ * default node capacity.
+ */
+ public AbstractSTRtree() {
+ this(DEFAULT_NODE_CAPACITY);
+ }
+
+ /**
+ * Constructs an AbstractSTRtree with the specified maximum number of child
+ * nodes that a node may have
+ *
+ * @param nodeCapacity the maximum number of child nodes in a node
+ */
+ public AbstractSTRtree(int nodeCapacity) {
+ Assert.isTrue(nodeCapacity > 1, "Node capacity must be greater than 1");
+ this.nodeCapacity = nodeCapacity;
+ }
+
+ /**
+ * Creates parent nodes, grandparent nodes, and so forth up to the root
+ * node, for the data that has been inserted into the tree. Can only be
+ * called once, and thus can be called only after all of the data has been
+ * inserted into the tree.
+ */
+ public synchronized void build() {
+ if (built) return;
+ root = itemBoundables.isEmpty()
+ ? createNode(0)
+ : createHigherLevels(itemBoundables, -1);
+ // the item list is no longer needed
+ itemBoundables = null;
+ built = true;
+ }
+
+ protected abstract AbstractNode createNode(int level);
+
+ /**
+ * Sorts the childBoundables then divides them into groups of size M, where
+ * M is the node capacity.
+ */
+ protected List createParentBoundables(List childBoundables, int newLevel) {
+ Assert.isTrue(!childBoundables.isEmpty());
+ ArrayList parentBoundables = new ArrayList();
+ parentBoundables.add(createNode(newLevel));
+ ArrayList sortedChildBoundables = new ArrayList(childBoundables);
+ Collections.sort(sortedChildBoundables, getComparator());
+ for (Iterator i = sortedChildBoundables.iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (lastNode(parentBoundables).getChildBoundables().size() == getNodeCapacity()) {
+ parentBoundables.add(createNode(newLevel));
+ }
+ lastNode(parentBoundables).addChildBoundable(childBoundable);
+ }
+ return parentBoundables;
+ }
+
+ protected AbstractNode lastNode(List nodes) {
+ return (AbstractNode) nodes.get(nodes.size() - 1);
+ }
+
+ protected static int compareDoubles(double a, double b) {
+ return a > b ? 1
+ : a < b ? -1
+ : 0;
+ }
+
+ /**
+ * Creates the levels higher than the given level
+ *
+ * @param boundablesOfALevel
+ * the level to build on
+ * @param level
+ * the level of the Boundables, or -1 if the boundables are item
+ * boundables (that is, below level 0)
+ * @return the root, which may be a ParentNode or a LeafNode
+ */
+ private AbstractNode createHigherLevels(List boundablesOfALevel, int level) {
+ Assert.isTrue(!boundablesOfALevel.isEmpty());
+ List parentBoundables = createParentBoundables(boundablesOfALevel, level + 1);
+ if (parentBoundables.size() == 1) {
+ return (AbstractNode) parentBoundables.get(0);
+ }
+ return createHigherLevels(parentBoundables, level + 1);
+ }
+
+ public AbstractNode getRoot()
+ {
+ build();
+ return root;
+ }
+
+ /**
+ * Returns the maximum number of child nodes that a node may have
+ */
+ public int getNodeCapacity() { return nodeCapacity; }
+
+ /**
+ * Tests whether the index contains any items.
+ * This method does not build the index,
+ * so items can still be inserted after it has been called.
+ *
+ * @return true if the index does not contain any items
+ */
+ public boolean isEmpty()
+ {
+ if (! built) return itemBoundables.isEmpty();
+ return root.isEmpty();
+ }
+
+ protected int size() {
+ if (isEmpty()) {
+ return 0;
+ }
+ build();
+ return size(root);
+ }
+
+ protected int size(AbstractNode node)
+ {
+ int size = 0;
+ for (Iterator i = node.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (childBoundable instanceof AbstractNode) {
+ size += size((AbstractNode) childBoundable);
+ }
+ else if (childBoundable instanceof ItemBoundable) {
+ size += 1;
+ }
+ }
+ return size;
+ }
+
+ protected int depth() {
+ if (isEmpty()) {
+ return 0;
+ }
+ build();
+ return depth(root);
+ }
+
+ protected int depth(AbstractNode node)
+ {
+ int maxChildDepth = 0;
+ for (Iterator i = node.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (childBoundable instanceof AbstractNode) {
+ int childDepth = depth((AbstractNode) childBoundable);
+ if (childDepth > maxChildDepth)
+ maxChildDepth = childDepth;
+ }
+ }
+ return maxChildDepth + 1;
+ }
+
+
+ protected void insert(Object bounds, Object item) {
+ Assert.isTrue(!built, "Cannot insert items into an STR packed R-tree after it has been built.");
+ itemBoundables.add(new ItemBoundable(bounds, item));
+ }
+
+ /**
+ * Also builds the tree, if necessary.
+ */
+ protected List query(Object searchBounds) {
+ build();
+ ArrayList matches = new ArrayList();
+ if (isEmpty()) {
+ //Assert.isTrue(root.getBounds() == null);
+ return matches;
+ }
+ if (getIntersectsOp().intersects(root.getBounds(), searchBounds)) {
+ queryInternal(searchBounds, root, matches);
+ }
+ return matches;
+ }
+
+ /**
+ * Also builds the tree, if necessary.
+ */
+ protected void query(Object searchBounds, ItemVisitor visitor) {
+ build();
+ if (isEmpty()) {
+ // nothing in tree, so return
+ //Assert.isTrue(root.getBounds() == null);
+ return;
+ }
+ if (getIntersectsOp().intersects(root.getBounds(), searchBounds)) {
+ queryInternal(searchBounds, root, visitor);
+ }
+ }
+
+ /**
+ * @return a test for intersection between two bounds, necessary because subclasses
+ * of AbstractSTRtree have different implementations of bounds.
+ * @see IntersectsOp
+ */
+ protected abstract IntersectsOp getIntersectsOp();
+
+ private void queryInternal(Object searchBounds, AbstractNode node, List matches) {
+ List childBoundables = node.getChildBoundables();
+ for (int i = 0; i < childBoundables.size(); i++) {
+ Boundable childBoundable = (Boundable) childBoundables.get(i);
+ if (! getIntersectsOp().intersects(childBoundable.getBounds(), searchBounds)) {
+ continue;
+ }
+ if (childBoundable instanceof AbstractNode) {
+ queryInternal(searchBounds, (AbstractNode) childBoundable, matches);
+ }
+ else if (childBoundable instanceof ItemBoundable) {
+ matches.add(((ItemBoundable)childBoundable).getItem());
+ }
+ else {
+ Assert.shouldNeverReachHere();
+ }
+ }
+ }
+
+ private void queryInternal(Object searchBounds, AbstractNode node, ItemVisitor visitor) {
+ List childBoundables = node.getChildBoundables();
+ for (int i = 0; i < childBoundables.size(); i++) {
+ Boundable childBoundable = (Boundable) childBoundables.get(i);
+ if (! getIntersectsOp().intersects(childBoundable.getBounds(), searchBounds)) {
+ continue;
+ }
+ if (childBoundable instanceof AbstractNode) {
+ queryInternal(searchBounds, (AbstractNode) childBoundable, visitor);
+ }
+ else if (childBoundable instanceof ItemBoundable) {
+ visitor.visitItem(((ItemBoundable)childBoundable).getItem());
+ }
+ else {
+ Assert.shouldNeverReachHere();
+ }
+ }
+ }
+
+ /**
+ * Gets a tree structure (as a nested list)
+ * corresponding to the structure of the items and nodes in this tree.
+ * <p>
+ * The returned {@link List}s contain either {@link Object} items,
+ * or Lists which correspond to subtrees of the tree
+ * Subtrees which do not contain any items are not included.
+ * <p>
+ * Builds the tree if necessary.
+ *
+ * @return a List of items and/or Lists
+ */
+ public List itemsTree()
+ {
+ build();
+
+ List valuesTree = itemsTree(root);
+ if (valuesTree == null)
+ return new ArrayList();
+ return valuesTree;
+ }
+
+ private List itemsTree(AbstractNode node)
+ {
+ List valuesTreeForNode = new ArrayList();
+ for (Iterator i = node.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (childBoundable instanceof AbstractNode) {
+ List valuesTreeForChild = itemsTree((AbstractNode) childBoundable);
+ // only add if not null (which indicates an item somewhere in this tree
+ if (valuesTreeForChild != null)
+ valuesTreeForNode.add(valuesTreeForChild);
+ }
+ else if (childBoundable instanceof ItemBoundable) {
+ valuesTreeForNode.add(((ItemBoundable)childBoundable).getItem());
+ }
+ else {
+ Assert.shouldNeverReachHere();
+ }
+ }
+ if (valuesTreeForNode.size() <= 0)
+ return null;
+ return valuesTreeForNode;
+ }
+
+ /**
+ * Removes an item from the tree.
+ * (Builds the tree, if necessary.)
+ */
+ protected boolean remove(Object searchBounds, Object item) {
+ build();
+ if (getIntersectsOp().intersects(root.getBounds(), searchBounds)) {
+ return remove(searchBounds, root, item);
+ }
+ return false;
+ }
+
+ private boolean removeItem(AbstractNode node, Object item)
+ {
+ Boundable childToRemove = null;
+ for (Iterator i = node.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (childBoundable instanceof ItemBoundable) {
+ if ( ((ItemBoundable) childBoundable).getItem() == item)
+ childToRemove = childBoundable;
+ }
+ }
+ if (childToRemove != null) {
+ node.getChildBoundables().remove(childToRemove);
+ return true;
+ }
+ return false;
+ }
+
+ private boolean remove(Object searchBounds, AbstractNode node, Object item) {
+ // first try removing item from this node
+ boolean found = removeItem(node, item);
+ if (found)
+ return true;
+
+ AbstractNode childToPrune = null;
+ // next try removing item from lower nodes
+ for (Iterator i = node.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (!getIntersectsOp().intersects(childBoundable.getBounds(), searchBounds)) {
+ continue;
+ }
+ if (childBoundable instanceof AbstractNode) {
+ found = remove(searchBounds, (AbstractNode) childBoundable, item);
+ // if found, record child for pruning and exit
+ if (found) {
+ childToPrune = (AbstractNode) childBoundable;
+ break;
+ }
+ }
+ }
+ // prune child if possible
+ if (childToPrune != null) {
+ if (childToPrune.getChildBoundables().isEmpty()) {
+ node.getChildBoundables().remove(childToPrune);
+ }
+ }
+ return found;
+ }
+
+ protected List boundablesAtLevel(int level) {
+ ArrayList boundables = new ArrayList();
+ boundablesAtLevel(level, root, boundables);
+ return boundables;
+ }
+
+ /**
+ * @param level -1 to get items
+ */
+ private void boundablesAtLevel(int level, AbstractNode top, Collection boundables) {
+ Assert.isTrue(level > -2);
+ if (top.getLevel() == level) {
+ boundables.add(top);
+ return;
+ }
+ for (Iterator i = top.getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable boundable = (Boundable) i.next();
+ if (boundable instanceof AbstractNode) {
+ boundablesAtLevel(level, (AbstractNode)boundable, boundables);
+ }
+ else {
+ Assert.isTrue(boundable instanceof ItemBoundable);
+ if (level == -1) { boundables.add(boundable); }
+ }
+ }
+ return;
+ }
+
+ protected abstract Comparator getComparator();
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/Boundable.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/Boundable.java
new file mode 100644
index 0000000..e85728a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/Boundable.java
@@ -0,0 +1,30 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+/**
+ * A spatial object in an AbstractSTRtree.
+ *
+ * @version 1.7
+ */
+public interface Boundable {
+ /**
+ * Returns a representation of space that encloses this Boundable, preferably
+ * not much bigger than this Boundable's boundary yet fast to test for intersection
+ * with the bounds of other Boundables. The class of object returned depends
+ * on the subclass of AbstractSTRtree.
+ * @return an Envelope (for STRtrees), an Interval (for SIRtrees), or other object
+ * (for other subclasses of AbstractSTRtree)
+ */
+ Object getBounds();
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePair.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePair.java
new file mode 100644
index 0000000..599e856
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePair.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.util.PriorityQueue;
+
+
+/**
+ * A pair of {@link Boundable}s, whose leaf items
+ * support a distance metric between them.
+ * Used to compute the distance between the members,
+ * and to expand a member relative to the other
+ * in order to produce new branches of the
+ * Branch-and-Bound evaluation tree.
+ * Provides an ordering based on the distance between the members,
+ * which allows building a priority queue by minimum distance.
+ *
+ * @author Martin Davis
+ *
+ */
+class BoundablePair
+ implements Comparable
+{
+ private Boundable boundable1;
+ private Boundable boundable2;
+ private double distance;
+ private ItemDistance itemDistance;
+ //private double maxDistance = -1.0;
+
+ public BoundablePair(Boundable boundable1, Boundable boundable2, ItemDistance itemDistance)
+ {
+ this.boundable1 = boundable1;
+ this.boundable2 = boundable2;
+ this.itemDistance = itemDistance;
+ distance = distance();
+ }
+
+ /**
+ * Gets one of the member {@link Boundable}s in the pair
+ * (indexed by [0, 1]).
+ *
+ * @param i the index of the member to return (0 or 1)
+ * @return the chosen member
+ */
+ public Boundable getBoundable(int i)
+ {
+ if (i == 0) return boundable1;
+ return boundable2;
+ }
+
+ /**
+ * Computes the distance between the {@link Boundable}s in this pair.
+ * The boundables are either composites or leaves.
+ * If either is composite, the distance is computed as the minimum distance
+ * between the bounds.
+ * If both are leaves, the distance is computed by {@link #itemDistance(ItemBoundable, ItemBoundable)}.
+ *
+ * @return
+ */
+ private double distance()
+ {
+ // if items, compute exact distance
+ if (isLeaves()) {
+ return itemDistance.distance((ItemBoundable) boundable1,
+ (ItemBoundable) boundable2);
+ }
+ // otherwise compute distance between bounds of boundables
+ return ((Envelope) boundable1.getBounds()).distance(
+ ((Envelope) boundable2.getBounds()));
+ }
+
+
+ /*
+ public double getMaximumDistance()
+ {
+ if (maxDistance < 0.0)
+ maxDistance = maxDistance();
+ return maxDistance;
+ }
+ */
+
+ /*
+ private double maxDistance()
+ {
+ return maximumDistance(
+ (Envelope) boundable1.getBounds(),
+ (Envelope) boundable2.getBounds());
+ }
+
+ private static double maximumDistance(Envelope env1, Envelope env2)
+ {
+ double minx = Math.min(env1.getMinX(), env2.getMinX());
+ double miny = Math.min(env1.getMinY(), env2.getMinY());
+ double maxx = Math.max(env1.getMaxX(), env2.getMaxX());
+ double maxy = Math.max(env1.getMaxY(), env2.getMaxY());
+ Coordinate min = new Coordinate(minx, miny);
+ Coordinate max = new Coordinate(maxx, maxy);
+ return min.distance(max);
+ }
+ */
+
+ /**
+ * Gets the minimum possible distance between the Boundables in
+ * this pair.
+ * If the members are both items, this will be the
+ * exact distance between them.
+ * Otherwise, this distance will be a lower bound on
+ * the distances between the items in the members.
+ *
+ * @return the exact or lower bound distance for this pair
+ */
+ public double getDistance() { return distance; }
+
+ /**
+ * Compares two pairs based on their minimum distances
+ */
+ public int compareTo(Object o)
+ {
+ BoundablePair nd = (BoundablePair) o;
+ if (distance < nd.distance) return -1;
+ if (distance > nd.distance) return 1;
+ return 0;
+ }
+
+ /**
+ * Tests if both elements of the pair are leaf nodes
+ *
+ * @return true if both pair elements are leaf nodes
+ */
+ public boolean isLeaves()
+ {
+ return ! (isComposite(boundable1) || isComposite(boundable2));
+ }
+
+ public static boolean isComposite(Object item)
+ {
+ return (item instanceof AbstractNode);
+ }
+
+ private static double area(Boundable b)
+ {
+ return ((Envelope) b.getBounds()).getArea();
+ }
+
+ /**
+ * For a pair which is not a leaf
+ * (i.e. has at least one composite boundable)
+ * computes a list of new pairs
+ * from the expansion of the larger boundable.
+ *
+ */
+ public void expandToQueue(PriorityQueue priQ, double minDistance)
+ {
+ boolean isComp1 = isComposite(boundable1);
+ boolean isComp2 = isComposite(boundable2);
+
+ /**
+ * HEURISTIC: If both boundable are composite,
+ * choose the one with largest area to expand.
+ * Otherwise, simply expand whichever is composite.
+ */
+ if (isComp1 && isComp2) {
+ if (area(boundable1) > area(boundable2)) {
+ expand(boundable1, boundable2, priQ, minDistance);
+ return;
+ }
+ else {
+ expand(boundable2, boundable1, priQ, minDistance);
+ return;
+ }
+ }
+ else if (isComp1) {
+ expand(boundable1, boundable2, priQ, minDistance);
+ return;
+ }
+ else if (isComp2) {
+ expand(boundable2, boundable1, priQ, minDistance);
+ return;
+ }
+
+ throw new IllegalArgumentException("neither boundable is composite");
+ }
+
+ private void expand(Boundable bndComposite, Boundable bndOther,
+ PriorityQueue priQ, double minDistance)
+ {
+ List children = ((AbstractNode) bndComposite).getChildBoundables();
+ for (Iterator i = children.iterator(); i.hasNext(); ) {
+ Boundable child = (Boundable) i.next();
+ BoundablePair bp = new BoundablePair(child, bndOther, itemDistance);
+ // only add to queue if this pair might contain the closest points
+ // MD - it's actually faster to construct the object rather than called distance(child, bndOther)!
+ if (bp.getDistance() < minDistance) {
+ priQ.add(bp);
+ }
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePairDistanceComparator.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePairDistanceComparator.java
new file mode 100644
index 0000000..634f917
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/BoundablePairDistanceComparator.java
@@ -0,0 +1,65 @@
+
+/*
+ * Copyright (c) 2017 Jia Yu.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+
+/**
+ * The Class BoundablePairDistanceComparator. It implements Java comparator and is used
+ * as a parameter to sort the BoundablePair list.
+ */
+public class BoundablePairDistanceComparator implements Comparator<BoundablePair>, Serializable{
+
+ /** The normal order. */
+ boolean normalOrder;
+
+ /**
+ * Instantiates a new boundable pair distance comparator.
+ *
+ * @param normalOrder The true means puts the least record at the head of this queue.
+ * This is the natural order. PriorityQueue peek() will get the least element. Vice versa.
+ */
+ public BoundablePairDistanceComparator(boolean normalOrder)
+ {
+ this.normalOrder = normalOrder;
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(BoundablePair p1, BoundablePair p2) {
+ double distance1 = p1.getDistance();
+ double distance2 = p2.getDistance();
+ if(this.normalOrder)
+ {
+ if (distance1 > distance2) {
+ return 1;
+ } else if (distance1 == distance2) {
+ return 0;
+ }
+ return -1;
+ }
+ else
+ {
+ if (distance1 > distance2) {
+ return -1;
+ } else if (distance1 == distance2) {
+ return 0;
+ }
+ return 1;
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/GeometryItemDistance.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/GeometryItemDistance.java
new file mode 100644
index 0000000..90a3d65
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/GeometryItemDistance.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.strtree;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * An ItemDistance function for
+ * items which are {@link Geometry}s,
+ * using the {@link Geometry#distance(Geometry)} method.
+ *
+ * @author Martin Davis
+ *
+ */
+public class GeometryItemDistance
+implements ItemDistance
+{
+ /**
+ * Computes the distance between two {@link Geometry} items,
+ * using the {@link Geometry#distance(Geometry)} method.
+ *
+ * @param item1 an item which is a Geometry
+ * @param item2 an item which is a Geometry
+ * @return the distance between the geometries
+ * @throws ClassCastException if either item is not a Geometry
+ */
+ public double distance(ItemBoundable item1, ItemBoundable item2) {
+ Geometry g1 = (Geometry) item1.getItem();
+ Geometry g2 = (Geometry) item2.getItem();
+ return g1.distance(g2);
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/Interval.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/Interval.java
new file mode 100644
index 0000000..a81fedb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/Interval.java
@@ -0,0 +1,57 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A contiguous portion of 1D-space. Used internally by SIRtree.
+ * @see SIRtree
+ *
+ * @version 1.7
+ */
+public class Interval {
+
+ public Interval(Interval other) {
+ this(other.min, other.max);
+ }
+
+ public Interval(double min, double max) {
+ Assert.isTrue(min <= max);
+ this.min = min;
+ this.max = max;
+ }
+
+ private double min;
+ private double max;
+
+ public double getCentre() { return (min+max)/2; }
+
+ /**
+ * @return this
+ */
+ public Interval expandToInclude(Interval other) {
+ max = Math.max(max, other.max);
+ min = Math.min(min, other.min);
+ return this;
+ }
+
+ public boolean intersects(Interval other) {
+ return !(other.min > max || other.max < min);
+ }
+ public boolean equals(Object o) {
+ if (! (o instanceof Interval)) { return false; }
+ Interval other = (Interval) o;
+ return min == other.min && max == other.max;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemBoundable.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemBoundable.java
new file mode 100644
index 0000000..f853bfa
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemBoundable.java
@@ -0,0 +1,37 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.io.Serializable;
+
+/**
+ * Boundable wrapper for a non-Boundable spatial object. Used internally by
+ * AbstractSTRtree.
+ *
+ * @version 1.7
+ */
+public class ItemBoundable implements Boundable, Serializable {
+ private Object bounds;
+ private Object item;
+
+ public ItemBoundable(Object bounds, Object item) {
+ this.bounds = bounds;
+ this.item = item;
+ }
+
+ public Object getBounds() {
+ return bounds;
+ }
+
+ public Object getItem() { return item; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemDistance.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemDistance.java
new file mode 100644
index 0000000..1969255
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/ItemDistance.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.strtree;
+
+
+/**
+ * A function method which computes the distance
+ * between two {@link ItemBoundable}s in an {@link STRtree}.
+ * Used for Nearest Neighbour searches.
+ *
+ * @author Martin Davis
+ *
+ */
+public interface ItemDistance
+{
+ /**
+ * Computes the distance between two items.
+ *
+ * @param item1
+ * @param item2
+ * @return the distance between the items
+ *
+ * @throws IllegalArgumentException if the metric is not applicable to the arguments
+ */
+ double distance(ItemBoundable item1, ItemBoundable item2);
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/SIRtree.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/SIRtree.java
new file mode 100644
index 0000000..3bcd076
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/SIRtree.java
@@ -0,0 +1,109 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * One-dimensional version of an STR-packed R-tree. SIR stands for
+ * "Sort-Interval-Recursive". STR-packed R-trees are described in:
+ * P. Rigaux, Michel Scholl and Agnes Voisard. Spatial Databases With
+ * Application To GIS. Morgan Kaufmann, San Francisco, 2002.
+ * <p>
+ * This class is thread-safe. Building the tree is synchronized,
+ * and querying is stateless.
+ *
+ * @see STRtree
+ *
+ * @version 1.7
+ */
+public class SIRtree extends AbstractSTRtree {
+
+ private Comparator comparator = new Comparator() {
+ public int compare(Object o1, Object o2) {
+ return compareDoubles(
+ ((Interval)((Boundable)o1).getBounds()).getCentre(),
+ ((Interval)((Boundable)o2).getBounds()).getCentre());
+ }
+ };
+
+ private IntersectsOp intersectsOp = new IntersectsOp() {
+ public boolean intersects(Object aBounds, Object bBounds) {
+ return ((Interval)aBounds).intersects((Interval)bBounds);
+ }
+ };
+
+ /**
+ * Constructs an SIRtree with the default node capacity.
+ */
+ public SIRtree() { this(10); }
+
+ /**
+ * Constructs an SIRtree with the given maximum number of child nodes that
+ * a node may have
+ */
+ public SIRtree(int nodeCapacity) {
+ super(nodeCapacity);
+ }
+
+ protected AbstractNode createNode(int level) {
+ return new AbstractNode(level) {
+ protected Object computeBounds() {
+ Interval bounds = null;
+ for (Iterator i = getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (bounds == null) {
+ bounds = new Interval((Interval)childBoundable.getBounds());
+ }
+ else {
+ bounds.expandToInclude((Interval)childBoundable.getBounds());
+ }
+ }
+ return bounds;
+ }
+ };
+ }
+
+ /**
+ * Inserts an item having the given bounds into the tree.
+ */
+ public void insert(double x1, double x2, Object item) {
+ super.insert(new Interval(Math.min(x1, x2), Math.max(x1, x2)), item);
+ }
+
+ /**
+ * Returns items whose bounds intersect the given value.
+ */
+ public List query(double x) {
+ return query(x, x);
+ }
+
+ /**
+ * Returns items whose bounds intersect the given bounds.
+ * @param x1 possibly equal to x2
+ */
+ public List query(double x1, double x2) {
+ return super.query(new Interval(Math.min(x1, x2), Math.max(x1, x2)));
+ }
+
+ protected IntersectsOp getIntersectsOp() {
+ return intersectsOp;
+ }
+
+ protected Comparator getComparator() {
+ return comparator;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/STRtree.java b/modules/core/src/main/java/org/locationtech/jts/index/strtree/STRtree.java
new file mode 100644
index 0000000..fd12580
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/STRtree.java
@@ -0,0 +1,500 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jts.util.PriorityQueue;
+
+/**
+ * A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm.
+ * For two-dimensional spatial data.
+ * <P>
+ * The STR packed R-tree is simple to implement and maximizes space
+ * utilization; that is, as many leaves as possible are filled to capacity.
+ * Overlap between nodes is far less than in a basic R-tree. However, once the
+ * tree has been built (explicitly or on the first call to #query), items may
+ * not be added or removed.
+ * <P>
+ * Described in: P. Rigaux, Michel Scholl and Agnes Voisard.
+ * <i>Spatial Databases With Application To GIS</i>.
+ * Morgan Kaufmann, San Francisco, 2002.
+ * <p>
+ * This class is thread-safe. Building the tree is synchronized,
+ * and querying is stateless.
+ *
+ * @version 1.7
+ */
+public class STRtree extends AbstractSTRtree
+implements SpatialIndex, Serializable
+{
+
+ private static final class STRtreeNode extends AbstractNode
+ {
+ private STRtreeNode(int level)
+ {
+ super(level);
+ }
+
+ protected Object computeBounds() {
+ Envelope bounds = null;
+ for (Iterator i = getChildBoundables().iterator(); i.hasNext(); ) {
+ Boundable childBoundable = (Boundable) i.next();
+ if (bounds == null) {
+ bounds = new Envelope((Envelope)childBoundable.getBounds());
+ }
+ else {
+ bounds.expandToInclude((Envelope)childBoundable.getBounds());
+ }
+ }
+ return bounds;
+ }
+ }
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 259274702368956900L;
+
+ private static Comparator xComparator =
+ new Comparator() {
+ public int compare(Object o1, Object o2) {
+ return compareDoubles(
+ centreX((Envelope)((Boundable)o1).getBounds()),
+ centreX((Envelope)((Boundable)o2).getBounds()));
+ }
+ };
+ private static Comparator yComparator =
+ new Comparator() {
+ public int compare(Object o1, Object o2) {
+ return compareDoubles(
+ centreY((Envelope)((Boundable)o1).getBounds()),
+ centreY((Envelope)((Boundable)o2).getBounds()));
+ }
+ };
+
+ private static double centreX(Envelope e) {
+ return avg(e.getMinX(), e.getMaxX());
+ }
+
+ private static double centreY(Envelope e) {
+ return avg(e.getMinY(), e.getMaxY());
+ }
+
+ private static double avg(double a, double b) { return (a + b) / 2d; }
+
+ private static IntersectsOp intersectsOp = new IntersectsOp() {
+ public boolean intersects(Object aBounds, Object bBounds) {
+ return ((Envelope)aBounds).intersects((Envelope)bBounds);
+ }
+ };
+
+ /**
+ * Creates the parent level for the given child level. First, orders the items
+ * by the x-values of the midpoints, and groups them into vertical slices.
+ * For each slice, orders the items by the y-values of the midpoints, and
+ * group them into runs of size M (the node capacity). For each run, creates
+ * a new (parent) node.
+ */
+ protected List createParentBoundables(List childBoundables, int newLevel) {
+ Assert.isTrue(!childBoundables.isEmpty());
+ int minLeafCount = (int) Math.ceil((childBoundables.size() / (double) getNodeCapacity()));
+ ArrayList sortedChildBoundables = new ArrayList(childBoundables);
+ Collections.sort(sortedChildBoundables, xComparator);
+ List[] verticalSlices = verticalSlices(sortedChildBoundables,
+ (int) Math.ceil(Math.sqrt(minLeafCount)));
+ return createParentBoundablesFromVerticalSlices(verticalSlices, newLevel);
+ }
+
+ private List createParentBoundablesFromVerticalSlices(List[] verticalSlices, int newLevel) {
+ Assert.isTrue(verticalSlices.length > 0);
+ List parentBoundables = new ArrayList();
+ for (int i = 0; i < verticalSlices.length; i++) {
+ parentBoundables.addAll(
+ createParentBoundablesFromVerticalSlice(verticalSlices[i], newLevel));
+ }
+ return parentBoundables;
+ }
+
+ protected List createParentBoundablesFromVerticalSlice(List childBoundables, int newLevel) {
+ return super.createParentBoundables(childBoundables, newLevel);
+ }
+
+ /**
+ * @param childBoundables Must be sorted by the x-value of the envelope midpoints
+ */
+ protected List[] verticalSlices(List childBoundables, int sliceCount) {
+ int sliceCapacity = (int) Math.ceil(childBoundables.size() / (double) sliceCount);
+ List[] slices = new List[sliceCount];
+ Iterator i = childBoundables.iterator();
+ for (int j = 0; j < sliceCount; j++) {
+ slices[j] = new ArrayList();
+ int boundablesAddedToSlice = 0;
+ while (i.hasNext() && boundablesAddedToSlice < sliceCapacity) {
+ Boundable childBoundable = (Boundable) i.next();
+ slices[j].add(childBoundable);
+ boundablesAddedToSlice++;
+ }
+ }
+ return slices;
+ }
+
+ private static final int DEFAULT_NODE_CAPACITY = 10;
+
+ /**
+ * Constructs an STRtree with the default node capacity.
+ */
+ public STRtree()
+ {
+ this(DEFAULT_NODE_CAPACITY);
+ }
+
+ /**
+ * Constructs an STRtree with the given maximum number of child nodes that
+ * a node may have.
+ * <p>
+ * The minimum recommended capacity setting is 4.
+ *
+ */
+ public STRtree(int nodeCapacity) {
+ super(nodeCapacity);
+ }
+
+ protected AbstractNode createNode(int level) {
+ return new STRtreeNode(level);
+ }
+
+ protected IntersectsOp getIntersectsOp() {
+ return intersectsOp;
+ }
+
+ /**
+ * Inserts an item having the given bounds into the tree.
+ */
+ public void insert(Envelope itemEnv, Object item) {
+ if (itemEnv.isNull()) { return; }
+ super.insert(itemEnv, item);
+ }
+
+ /**
+ * Returns items whose bounds intersect the given envelope.
+ */
+ public List query(Envelope searchEnv) {
+ //Yes this method does something. It specifies that the bounds is an
+ //Envelope. super.query takes an Object, not an Envelope. [Jon Aquino 10/24/2003]
+ return super.query(searchEnv);
+ }
+
+ /**
+ * Returns items whose bounds intersect the given envelope.
+ */
+ public void query(Envelope searchEnv, ItemVisitor visitor) {
+ //Yes this method does something. It specifies that the bounds is an
+ //Envelope. super.query takes an Object, not an Envelope. [Jon Aquino 10/24/2003]
+ super.query(searchEnv, visitor);
+ }
+
+ /**
+ * Removes a single item from the tree.
+ *
+ * @param itemEnv the Envelope of the item to remove
+ * @param item the item to remove
+ * @return <code>true</code> if the item was found
+ */
+ public boolean remove(Envelope itemEnv, Object item) {
+ return super.remove(itemEnv, item);
+ }
+
+ /**
+ * Returns the number of items in the tree.
+ *
+ * @return the number of items in the tree
+ */
+ public int size()
+ {
+ return super.size();
+ }
+
+ /**
+ * Returns the number of items in the tree.
+ *
+ * @return the number of items in the tree
+ */
+ public int depth()
+ {
+ return super.depth();
+ }
+
+ protected Comparator getComparator() {
+ return yComparator;
+ }
+
+ /**
+ * Finds the two nearest items in the tree,
+ * using {@link ItemDistance} as the distance metric.
+ * A Branch-and-Bound tree traversal algorithm is used
+ * to provide an efficient search.
+ *
+ * @param itemDist a distance metric applicable to the items in this tree
+ * @return the pair of the nearest items
+ */
+ public Object[] nearestNeighbour(ItemDistance itemDist)
+ {
+ BoundablePair bp = new BoundablePair(this.getRoot(), this.getRoot(), itemDist);
+ return nearestNeighbour(bp);
+ }
+ /**
+ * Finds k items in this tree which are the top k nearest neighbors to the given {@code item},
+ * using {@code itemDist} as the distance metric.
+ * A Branch-and-Bound tree traversal algorithm is used
+ * to provide an efficient search.
+ * This method implements the KNN algorithm described in the following paper:
+ * <p>
+ * Roussopoulos, Nick, Stephen Kelley, and Frédéric Vincent. "Nearest neighbor queries."
+ * ACM sigmod record. Vol. 24. No. 2. ACM, 1995.
+ * <p>
+ * The query {@code item} does <b>not</b> have to be
+ * contained in the tree, but it does
+ * have to be compatible with the {@code itemDist}
+ * distance metric.
+ *
+ * @param env the envelope of the query item
+ * @param item the item to find the nearest neighbour of
+ * @param itemDist a distance metric applicable to the items in this tree and the query item
+ * @param k the K nearest items in kNearestNeighbour
+ * @return the K nearest items in this tree
+ */
+ public Object[] nearestNeighbour(Envelope env, Object item, ItemDistance itemDist,int k)
+ {
+ Boundable bnd = new ItemBoundable(env, item);
+ BoundablePair bp = new BoundablePair(this.getRoot(), bnd, itemDist);
+ return nearestNeighbour(bp,k);
+ }
+ /**
+ * Finds the item in this tree which is nearest to the given {@link Object},
+ * using {@link ItemDistance} as the distance metric.
+ * A Branch-and-Bound tree traversal algorithm is used
+ * to provide an efficient search.
+ * <p>
+ * The query <tt>object</tt> does <b>not</b> have to be
+ * contained in the tree, but it does
+ * have to be compatible with the <tt>itemDist</tt>
+ * distance metric.
+ *
+ * @param env the envelope of the query item
+ * @param item the item to find the nearest neighbour of
+ * @param itemDist a distance metric applicable to the items in this tree and the query item
+ * @return the nearest item in this tree
+ */
+ public Object nearestNeighbour(Envelope env, Object item, ItemDistance itemDist)
+ {
+ Boundable bnd = new ItemBoundable(env, item);
+ BoundablePair bp = new BoundablePair(this.getRoot(), bnd, itemDist);
+ return nearestNeighbour(bp)[0];
+ }
+
+ /**
+ * Finds the two nearest items from this tree
+ * and another tree,
+ * using {@link ItemDistance} as the distance metric.
+ * A Branch-and-Bound tree traversal algorithm is used
+ * to provide an efficient search.
+ * The result value is a pair of items,
+ * the first from this tree and the second
+ * from the argument tree.
+ *
+ * @param tree another tree
+ * @param itemDist a distance metric applicable to the items in the trees
+ * @return the pair of the nearest items, one from each tree
+ */
+ public Object[] nearestNeighbour(STRtree tree, ItemDistance itemDist)
+ {
+ BoundablePair bp = new BoundablePair(this.getRoot(), tree.getRoot(), itemDist);
+ return nearestNeighbour(bp);
+ }
+
+ private Object[] nearestNeighbour(BoundablePair initBndPair)
+ {
+ return nearestNeighbour(initBndPair, Double.POSITIVE_INFINITY);
+ }
+ private Object[] nearestNeighbour(BoundablePair initBndPair, int k)
+ {
+ return nearestNeighbour(initBndPair, Double.POSITIVE_INFINITY,k);
+ }
+ private Object[] nearestNeighbour(BoundablePair initBndPair, double maxDistance)
+ {
+ double distanceLowerBound = maxDistance;
+ BoundablePair minPair = null;
+
+ // initialize internal structures
+ PriorityQueue priQ = new PriorityQueue();
+
+ // initialize queue
+ priQ.add(initBndPair);
+
+ while (! priQ.isEmpty() && distanceLowerBound > 0.0) {
+ // pop head of queue and expand one side of pair
+ BoundablePair bndPair = (BoundablePair) priQ.poll();
+ double currentDistance = bndPair.getDistance();
+
+ /**
+ * If the distance for the first node in the queue
+ * is >= the current minimum distance, all other nodes
+ * in the queue must also have a greater distance.
+ * So the current minDistance must be the true minimum,
+ * and we are done.
+ */
+ if (currentDistance >= distanceLowerBound)
+ break;
+
+ /**
+ * If the pair members are leaves
+ * then their distance is the exact lower bound.
+ * Update the distanceLowerBound to reflect this
+ * (which must be smaller, due to the test
+ * immediately prior to this).
+ */
+ if (bndPair.isLeaves()) {
+ // assert: currentDistance < minimumDistanceFound
+ distanceLowerBound = currentDistance;
+ minPair = bndPair;
+ }
+ else {
+ // testing - does allowing a tolerance improve speed?
+ // Ans: by only about 10% - not enough to matter
+ /*
+ double maxDist = bndPair.getMaximumDistance();
+ if (maxDist * .99 < lastComputedDistance)
+ return;
+ //*/
+
+ /**
+ * Otherwise, expand one side of the pair,
+ * (the choice of which side to expand is heuristically determined)
+ * and insert the new expanded pairs into the queue
+ */
+ bndPair.expandToQueue(priQ, distanceLowerBound);
+ }
+ }
+ // done - return items with min distance
+ return new Object[] {
+ ((ItemBoundable) minPair.getBoundable(0)).getItem(),
+ ((ItemBoundable) minPair.getBoundable(1)).getItem()
+ };
+ }
+ private Object[] nearestNeighbour(BoundablePair initBndPair, double maxDistance, int k)
+ {
+ double distanceLowerBound = maxDistance;
+
+ // initialize internal structures
+ PriorityQueue priQ = new PriorityQueue();
+
+ // initialize queue
+ priQ.add(initBndPair);
+
+ java.util.PriorityQueue<BoundablePair> kNearestNeighbors = new java.util.PriorityQueue<BoundablePair>(k, new BoundablePairDistanceComparator(false));
+
+ while (! priQ.isEmpty() && distanceLowerBound >= 0.0) {
+ // pop head of queue and expand one side of pair
+ BoundablePair bndPair = (BoundablePair) priQ.poll();
+ double currentDistance = bndPair.getDistance();
+
+
+ /**
+ * If the distance for the first node in the queue
+ * is >= the current maximum distance in the k queue , all other nodes
+ * in the queue must also have a greater distance.
+ * So the current minDistance must be the true minimum,
+ * and we are done.
+ */
+
+
+ if (currentDistance >= distanceLowerBound){
+ break;
+ }
+ /**
+ * If the pair members are leaves
+ * then their distance is the exact lower bound.
+ * Update the distanceLowerBound to reflect this
+ * (which must be smaller, due to the test
+ * immediately prior to this).
+ */
+ if (bndPair.isLeaves()) {
+ // assert: currentDistance < minimumDistanceFound
+
+ if(kNearestNeighbors.size()<k){
+ kNearestNeighbors.add(bndPair);
+ }
+ else
+ {
+
+ if(kNearestNeighbors.peek().getDistance()>currentDistance)
+ {
+ kNearestNeighbors.poll();
+ kNearestNeighbors.add(bndPair);
+ }
+ /*
+ * minDistance should be the farthest point in the K nearest neighbor queue.
+ */
+ distanceLowerBound = kNearestNeighbors.peek().getDistance();
+
+ }
+ }
+ else {
+ // testing - does allowing a tolerance improve speed?
+ // Ans: by only about 10% - not enough to matter
+ /*
+ double maxDist = bndPair.getMaximumDistance();
+ if (maxDist * .99 < lastComputedDistance)
+ return;
+ //*/
+
+ /**
+ * Otherwise, expand one side of the pair,
+ * (the choice of which side to expand is heuristically determined)
+ * and insert the new expanded pairs into the queue
+ */
+ bndPair.expandToQueue(priQ, distanceLowerBound);
+ }
+ }
+ // done - return items with min distance
+
+ return getItems(kNearestNeighbors);
+ }
+ private static Object[] getItems(java.util.PriorityQueue<BoundablePair> kNearestNeighbors)
+ {
+ /**
+ * Iterate the K Nearest Neighbour Queue and retrieve the item from each BoundablePair
+ * in this queue
+ */
+ Object[] items = new Object[kNearestNeighbors.size()];
+ Iterator<BoundablePair> resultIterator = kNearestNeighbors.iterator();
+ int count=0;
+ while(resultIterator.hasNext())
+ {
+ items[count]=((ItemBoundable)resultIterator.next().getBoundable(0)).getItem();
+ count++;
+ }
+ return items;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/strtree/package.html b/modules/core/src/main/java/org/locationtech/jts/index/strtree/package.html
new file mode 100644
index 0000000..16a836e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/strtree/package.html
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+</head>
+<body bgcolor="white">
+Contains 2-D and 1-D versions of the Sort-Tile-Recursive (STR) tree, a query-only R-tree.
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineEvent.java b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineEvent.java
new file mode 100644
index 0000000..6b44bb7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineEvent.java
@@ -0,0 +1,66 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.sweepline;
+
+/**
+ * @version 1.7
+ */
+public class SweepLineEvent
+ implements Comparable
+{
+ public static final int INSERT = 1;
+ public static final int DELETE = 2;
+
+ private double xValue;
+ private int eventType;
+ private SweepLineEvent insertEvent; // null if this is an INSERT event
+ private int deleteEventIndex;
+
+ SweepLineInterval sweepInt;
+ public SweepLineEvent(double x, SweepLineEvent insertEvent, SweepLineInterval sweepInt)
+ {
+ xValue = x;
+ this.insertEvent = insertEvent;
+ this.eventType = INSERT;
+ if (insertEvent != null)
+ eventType = DELETE;
+ this.sweepInt = sweepInt;
+ }
+
+ public boolean isInsert() { return insertEvent == null; }
+ public boolean isDelete() { return insertEvent != null; }
+ public SweepLineEvent getInsertEvent() { return insertEvent; }
+ public int getDeleteEventIndex() { return deleteEventIndex; }
+ public void setDeleteEventIndex(int deleteEventIndex) { this.deleteEventIndex = deleteEventIndex; }
+
+ SweepLineInterval getInterval() { return sweepInt; }
+
+ /**
+ * ProjectionEvents are ordered first by their x-value, and then by their eventType.
+ * It is important that Insert events are sorted before Delete events, so that
+ * items whose Insert and Delete events occur at the same x-value will be
+ * correctly handled.
+ */
+ public int compareTo(Object o) {
+ SweepLineEvent pe = (SweepLineEvent) o;
+ if (xValue < pe.xValue) return -1;
+ if (xValue > pe.xValue) return 1;
+ if (eventType < pe.eventType) return -1;
+ if (eventType > pe.eventType) return 1;
+ return 0;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineIndex.java b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineIndex.java
new file mode 100644
index 0000000..b26d225
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineIndex.java
@@ -0,0 +1,95 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.sweepline;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A sweepline implements a sorted index on a set of intervals.
+ * It is used to compute all overlaps between the interval in the index.
+ *
+ * @version 1.7
+ */
+public class SweepLineIndex {
+
+ List events = new ArrayList();
+ private boolean indexBuilt;
+ // statistics information
+ private int nOverlaps;
+
+ public SweepLineIndex() {
+ }
+
+ public void add(SweepLineInterval sweepInt)
+ {
+ SweepLineEvent insertEvent = new SweepLineEvent(sweepInt.getMin(), null, sweepInt);
+ events.add(insertEvent);
+ events.add(new SweepLineEvent(sweepInt.getMax(), insertEvent, sweepInt));
+ }
+
+ /**
+ * Because Delete Events have a link to their corresponding Insert event,
+ * it is possible to compute exactly the range of events which must be
+ * compared to a given Insert event object.
+ */
+ private void buildIndex()
+ {
+ if (indexBuilt) return;
+ Collections.sort(events);
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isDelete()) {
+ ev.getInsertEvent().setDeleteEventIndex(i);
+ }
+ }
+ indexBuilt = true;
+ }
+
+ public void computeOverlaps(SweepLineOverlapAction action)
+ {
+ nOverlaps = 0;
+ buildIndex();
+
+ for (int i = 0; i < events.size(); i++ )
+ {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isInsert()) {
+ processOverlaps(i, ev.getDeleteEventIndex(), ev.getInterval(), action);
+ }
+ }
+ }
+
+ private void processOverlaps(int start, int end, SweepLineInterval s0, SweepLineOverlapAction action)
+ {
+ /**
+ * Since we might need to test for self-intersections,
+ * include current insert event object in list of event objects to test.
+ * Last index can be skipped, because it must be a Delete event.
+ */
+ for (int i = start; i < end; i++ ) {
+ SweepLineEvent ev = (SweepLineEvent) events.get(i);
+ if (ev.isInsert()) {
+ SweepLineInterval s1 = ev.getInterval();
+ action.overlap(s0, s1);
+ nOverlaps++;
+ }
+ }
+
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineInterval.java b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineInterval.java
new file mode 100644
index 0000000..bb1215b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineInterval.java
@@ -0,0 +1,40 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.sweepline;
+
+/**
+ * @version 1.7
+ */
+public class SweepLineInterval {
+
+ private double min, max;
+ private Object item;
+
+ public SweepLineInterval(double min, double max)
+ {
+ this(min, max, null);
+ }
+
+ public SweepLineInterval(double min, double max, Object item)
+ {
+ this.min = min < max ? min : max;
+ this.max = max > min ? max : min;
+ this.item = item;
+ }
+
+ public double getMin() { return min; }
+ public double getMax() { return max; }
+ public Object getItem() { return item; }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineOverlapAction.java b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineOverlapAction.java
new file mode 100644
index 0000000..85621bd
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/SweepLineOverlapAction.java
@@ -0,0 +1,25 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.sweepline;
+
+/**
+ * An action taken when a {@link SweepLineIndex} detects that two
+ * {@link SweepLineInterval}s overlap
+ *
+ * @version 1.7
+ */
+public interface SweepLineOverlapAction {
+
+ void overlap(SweepLineInterval s0, SweepLineInterval s1);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/index/sweepline/package.html b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/package.html
new file mode 100644
index 0000000..381c0f5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/index/sweepline/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes which implement a sweepline algorithm for scanning geometric data structures.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/ByteArrayInStream.java b/modules/core/src/main/java/org/locationtech/jts/io/ByteArrayInStream.java
new file mode 100644
index 0000000..a5dda2e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/ByteArrayInStream.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+/**
+ * Allows an array of bytes to be used as an {@link InStream}.
+ * To optimize memory usage, instances can be reused
+ * with different byte arrays.
+ */
+public class ByteArrayInStream
+ implements InStream
+{
+ /*
+ * Implementation improvement suggested by Andrea Aime - Dec 15 2007
+ */
+
+ private byte[] buffer;
+ private int position;
+
+ /**
+ * Creates a new stream based on the given buffer.
+ *
+ * @param buffer the bytes to read
+ */
+ public ByteArrayInStream(final byte[] buffer) {
+ setBytes(buffer);
+ }
+
+ /**
+ * Sets this stream to read from the given buffer
+ *
+ * @param buffer the bytes to read
+ */
+ public void setBytes(final byte[] buffer) {
+ this.buffer = buffer;
+ this.position = 0;
+ }
+
+ /**
+ * Reads up to <tt>buf.length</tt> bytes from the stream
+ * into the given byte buffer.
+ *
+ * @param buf the buffer to place the read bytes into
+ */
+ public void read(final byte[] buf) {
+ int numToRead = buf.length;
+ // don't try and copy past the end of the input
+ if ((position + numToRead) > buffer.length) {
+ numToRead = buffer.length - position;
+ System.arraycopy(buffer, position, buf, 0, numToRead);
+ // zero out the unread bytes
+ for (int i = numToRead; i < buf.length; i++) {
+ buf[i] = 0;
+ }
+ }
+ else {
+ System.arraycopy(buffer, position, buf, 0, numToRead);
+ }
+ position += numToRead;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderDataInStream.java b/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderDataInStream.java
new file mode 100644
index 0000000..32d4393
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderDataInStream.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+/**
+ * Allows reading a stream of Java primitive datatypes from an underlying
+ * {@link InStream},
+ * with the representation being in either common byte ordering.
+ */
+public class ByteOrderDataInStream
+{
+ private int byteOrder = ByteOrderValues.BIG_ENDIAN;
+ private InStream stream;
+ // buffers to hold primitive datatypes
+ private byte[] buf1 = new byte[1];
+ private byte[] buf4 = new byte[4];
+ private byte[] buf8 = new byte[8];
+
+ public ByteOrderDataInStream()
+ {
+ this.stream = null;
+ }
+
+ public ByteOrderDataInStream(InStream stream)
+ {
+ this.stream = stream;
+ }
+
+ /**
+ * Allows a single ByteOrderDataInStream to be reused
+ * on multiple InStreams.
+ *
+ * @param stream
+ */
+ public void setInStream(InStream stream)
+ {
+ this.stream = stream;
+ }
+ public void setOrder(int byteOrder)
+ {
+ this.byteOrder = byteOrder;
+ }
+
+ /**
+ * Reads a byte value
+ *
+ * @return the byte read
+ */
+ public byte readByte()
+ throws IOException
+ {
+ stream.read(buf1);
+ return buf1[0];
+ }
+
+ public int readInt()
+ throws IOException
+ {
+ stream.read(buf4);
+ return ByteOrderValues.getInt(buf4, byteOrder);
+ }
+ public long readLong()
+ throws IOException
+ {
+ stream.read(buf8);
+ return ByteOrderValues.getLong(buf8, byteOrder);
+ }
+
+ public double readDouble()
+ throws IOException
+ {
+ stream.read(buf8);
+ return ByteOrderValues.getDouble(buf8, byteOrder);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderValues.java b/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderValues.java
new file mode 100644
index 0000000..9e786e8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/ByteOrderValues.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+/**
+ * Methods to read and write primitive Java datatypes from/to byte
+ * sequences, allowing the byte order to be specified
+ * <p>
+ * Similar to the standard Java <code>ByteBuffer</code> class.
+ */
+public class ByteOrderValues
+{
+ public static final int BIG_ENDIAN = 1;
+ public static final int LITTLE_ENDIAN = 2;
+
+ public static int getInt(byte[] buf, int byteOrder)
+ {
+ if (byteOrder == BIG_ENDIAN) {
+ return ( (buf[0] & 0xff) << 24)
+ | ( (buf[1] & 0xff) << 16)
+ | ( (buf[2] & 0xff) << 8)
+ | ( (buf[3] & 0xff) );
+ }
+ else {// LITTLE_ENDIAN
+ return ( (buf[3] & 0xff) << 24)
+ | ( (buf[2] & 0xff) << 16)
+ | ( (buf[1] & 0xff) << 8)
+ | ( (buf[0] & 0xff) );
+ }
+ }
+
+ public static void putInt(int intValue, byte[] buf, int byteOrder)
+ {
+ if (byteOrder == BIG_ENDIAN) {
+ buf[0] = (byte)(intValue >> 24);
+ buf[1] = (byte)(intValue >> 16);
+ buf[2] = (byte)(intValue >> 8);
+ buf[3] = (byte) intValue;
+ }
+ else {// LITTLE_ENDIAN
+ buf[0] = (byte) intValue;
+ buf[1] = (byte)(intValue >> 8);
+ buf[2] = (byte)(intValue >> 16);
+ buf[3] = (byte)(intValue >> 24);
+ }
+ }
+ public static long getLong(byte[] buf, int byteOrder)
+ {
+ if (byteOrder == BIG_ENDIAN) {
+ return
+ (long) (buf[0] & 0xff) << 56
+ | (long) (buf[1] & 0xff) << 48
+ | (long) (buf[2] & 0xff) << 40
+ | (long) (buf[3] & 0xff) << 32
+ | (long) (buf[4] & 0xff) << 24
+ | (long) (buf[5] & 0xff) << 16
+ | (long) (buf[6] & 0xff) << 8
+ | (long) (buf[7] & 0xff);
+ }
+ else {// LITTLE_ENDIAN
+ return
+ (long) (buf[7] & 0xff) << 56
+ | (long) (buf[6] & 0xff) << 48
+ | (long) (buf[5] & 0xff) << 40
+ | (long) (buf[4] & 0xff) << 32
+ | (long) (buf[3] & 0xff) << 24
+ | (long) (buf[2] & 0xff) << 16
+ | (long) (buf[1] & 0xff) << 8
+ | (long) (buf[0] & 0xff);
+ }
+ }
+
+ public static void putLong(long longValue, byte[] buf, int byteOrder)
+ {
+ if (byteOrder == BIG_ENDIAN) {
+ buf[0] = (byte)(longValue >> 56);
+ buf[1] = (byte)(longValue >> 48);
+ buf[2] = (byte)(longValue >> 40);
+ buf[3] = (byte)(longValue >> 32);
+ buf[4] = (byte)(longValue >> 24);
+ buf[5] = (byte)(longValue >> 16);
+ buf[6] = (byte)(longValue >> 8);
+ buf[7] = (byte) longValue;
+ }
+ else { // LITTLE_ENDIAN
+ buf[0] = (byte) longValue;
+ buf[1] = (byte)(longValue >> 8);
+ buf[2] = (byte)(longValue >> 16);
+ buf[3] = (byte)(longValue >> 24);
+ buf[4] = (byte)(longValue >> 32);
+ buf[5] = (byte)(longValue >> 40);
+ buf[6] = (byte)(longValue >> 48);
+ buf[7] = (byte)(longValue >> 56);
+ }
+ }
+
+ public static double getDouble(byte[] buf, int byteOrder)
+ {
+ long longVal = getLong(buf, byteOrder);
+ return Double.longBitsToDouble(longVal);
+ }
+
+ public static void putDouble(double doubleValue, byte[] buf, int byteOrder)
+ {
+ long longVal = Double.doubleToLongBits(doubleValue);
+ putLong(longVal, buf, byteOrder);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/InStream.java b/modules/core/src/main/java/org/locationtech/jts/io/InStream.java
new file mode 100644
index 0000000..7119cf4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/InStream.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+/**
+ * A interface for classes providing an input stream of bytes.
+ * This interface is similar to the Java <code>InputStream</code>,
+ * but with a narrower interface to make it easier to implement.
+ *
+ */
+public interface InStream
+{
+ /**
+ * Reads <code>buf.length</code> bytes from the input stream
+ * and stores them in the supplied buffer.
+ *
+ * @param buf the buffer to receive the bytes
+ *
+ * @throws IOException if an I/O error occurs
+ */
+ void read(byte[] buf) throws IOException;
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/InputStreamInStream.java b/modules/core/src/main/java/org/locationtech/jts/io/InputStreamInStream.java
new file mode 100644
index 0000000..f968a89
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/InputStreamInStream.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * An adapter to allow an {@link InputStream} to be used as an {@link InStream}
+ */
+public class InputStreamInStream
+ implements InStream
+{
+ private InputStream is;
+
+ public InputStreamInStream(InputStream is)
+ {
+ this.is = is;
+ }
+
+ public void read(byte[] buf) throws IOException
+ {
+ is.read(buf);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/OutStream.java b/modules/core/src/main/java/org/locationtech/jts/io/OutStream.java
new file mode 100644
index 0000000..1b8f902
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/OutStream.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+/**
+ * A interface for classes providing an output stream of bytes.
+ * This interface is similar to the Java <code>OutputStream</code>,
+ * but with a narrower interface to make it easier to implement.
+ */
+public interface OutStream
+{
+ void write(byte[] buf, int len) throws IOException;
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/OutputStreamOutStream.java b/modules/core/src/main/java/org/locationtech/jts/io/OutputStreamOutStream.java
new file mode 100644
index 0000000..0babfbc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/OutputStreamOutStream.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * An adapter to allow an {@link OutputStream} to be used as an {@link OutStream}
+ */
+public class OutputStreamOutStream
+ implements OutStream
+{
+ private OutputStream os;
+
+ public OutputStreamOutStream(OutputStream os)
+ {
+ this.os = os;
+ }
+ public void write(byte[] buf, int len) throws IOException
+ {
+ os.write(buf, 0, len);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/ParseException.java b/modules/core/src/main/java/org/locationtech/jts/io/ParseException.java
new file mode 100644
index 0000000..b01998e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/ParseException.java
@@ -0,0 +1,54 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+/**
+ * Thrown by a <code>WKTReader</code> when a parsing problem occurs.
+ *
+ *@version 1.7
+ */
+public class ParseException extends Exception {
+
+ /**
+ * Creates a <code>ParseException</code> with the given detail message.
+ *
+ *@param message a description of this <code>ParseException</code>
+ */
+ public ParseException(String message) {
+ super(message);
+ }
+
+ /**
+ * Creates a <code>ParseException</code> with <code>e</code>s detail message.
+ *
+ *@param e an exception that occurred while a <code>WKTReader</code> was
+ * parsing a Well-known Text string
+ */
+ public ParseException(Exception e) {
+ this(e.toString(), e);
+ }
+
+ /**
+ * Creates a <code>ParseException</code> with <code>e</code>s detail message.
+ *
+ *@param message a description of this <code>ParseException</code>
+ *@param e a throwable that occurred while a com.vividsolutions.jts.io reader was
+ * parsing a string representation
+ */
+ public ParseException(String message, Throwable e) {
+ super(message, e);
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKBConstants.java b/modules/core/src/main/java/org/locationtech/jts/io/WKBConstants.java
new file mode 100644
index 0000000..e1489cb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKBConstants.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+/**
+ * Constant values used by the WKB format
+ */
+public interface WKBConstants {
+ int wkbXDR = 0;
+ int wkbNDR = 1;
+
+ int wkbPoint = 1;
+ int wkbLineString = 2;
+ int wkbPolygon = 3;
+ int wkbMultiPoint = 4;
+ int wkbMultiLineString = 5;
+ int wkbMultiPolygon = 6;
+ int wkbGeometryCollection = 7;
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKBHexFileReader.java b/modules/core/src/main/java/org/locationtech/jts/io/WKBHexFileReader.java
new file mode 100644
index 0000000..dd9a328
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKBHexFileReader.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StreamTokenizer;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Reads a sequence of {@link Geometry}s in WKBHex format
+ * from a text file.
+ * Each WKBHex geometry must be on a single line
+ * The geometries in the file may be separated by any amount
+ * of whitespace and newlines.
+ *
+ * @author Martin Davis
+ *
+ */
+public class WKBHexFileReader
+{
+ private File file = null;
+ private Reader reader;
+ private WKBReader wkbReader;
+ private int count = 0;
+ private int limit = -1;
+ private int offset = 0;
+
+ /**
+ * Creates a new <tt>WKBHexFileReader</tt> given the <tt>File</tt> to read from
+ * and a <tt>WKTReader</tt> to use to parse the geometries.
+ *
+ * @param file the <tt>File</tt> to read from
+ * @param wkbReader the geometry reader to use
+ */
+ public WKBHexFileReader(File file, WKBReader wkbReader)
+ {
+ this.file = file;
+ this.wkbReader = wkbReader;
+ }
+
+ /**
+ * Creates a new <tt>WKBHexFileReader</tt>, given the name of the file to read from.
+ *
+ * @param filename the name of the file to read from
+ * @param wkbReader the geometry reader to use
+ */
+ public WKBHexFileReader(String filename, WKBReader wkbReader)
+ {
+ this(new File(filename), wkbReader);
+ }
+
+ /**
+ * Creates a new <tt>WKBHexFileReader</tt>, given a {@link Reader} to read from.
+ *
+ * @param reader the reader to read from
+ * @param wkbReader the geometry reader to use
+ */
+ public WKBHexFileReader(Reader reader, WKBReader wkbReader)
+ {
+ this.reader = reader;
+ this.wkbReader = wkbReader;
+ }
+
+ /**
+ * Sets the maximum number of geometries to read.
+ *
+ * @param limit the maximum number of geometries to read
+ */
+ public void setLimit(int limit)
+ {
+ this.limit = limit;
+ }
+
+ /**
+ * Sets the number of geometries to skip before storing.
+ *
+ * @param offset the number of geometries to skip
+ */
+ public void setOffset(int offset)
+ {
+ this.offset = offset;
+ }
+
+ /**
+ * Reads a sequence of geometries.
+ * If an offset is specified, geometries read up to the offset count are skipped.
+ * If a limit is specified, no more than <tt>limit</tt> geometries are read.
+ *
+ * @return the list of geometries read
+ * @throws IOException if an I/O exception was encountered
+ * @throws ParseException if an error occurred reading a geometry
+ */
+ public List read()
+ throws IOException, ParseException
+ {
+ // do this here so that constructors don't throw exceptions
+ if (file != null)
+ reader = new FileReader(file);
+
+ count = 0;
+ try {
+ BufferedReader bufferedReader = new BufferedReader(reader);
+ try {
+ return read(bufferedReader);
+ } finally {
+ bufferedReader.close();
+ }
+ } finally {
+ reader.close();
+ }
+ }
+
+ private List read(BufferedReader bufferedReader) throws IOException,
+ ParseException {
+ List geoms = new ArrayList();
+ while (! isAtEndOfFile(bufferedReader) && ! isAtLimit(geoms)) {
+ String line = bufferedReader.readLine().trim();
+ if (line.length() == 0)
+ continue;
+ Geometry g = wkbReader.read(WKBReader.hexToBytes(line));
+ if (count >= offset)
+ geoms.add(g);
+ count++;
+ }
+ return geoms;
+ }
+
+ private boolean isAtLimit(List geoms)
+ {
+ if (limit < 0) return false;
+ if (geoms.size() < limit) return false;
+ return true;
+ }
+
+ private static final int MAX_LOOKAHEAD = 1000;
+
+ /**
+ * Tests if reader is at EOF.
+ */
+ private boolean isAtEndOfFile(BufferedReader bufferedReader)
+ throws IOException
+ {
+ bufferedReader.mark(MAX_LOOKAHEAD);
+
+ StreamTokenizer tokenizer = new StreamTokenizer(bufferedReader);
+ int type = tokenizer.nextToken();
+
+ if (type == StreamTokenizer.TT_EOF) {
+ return true;
+ }
+ bufferedReader.reset();
+ return false;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKBReader.java b/modules/core/src/main/java/org/locationtech/jts/io/WKBReader.java
new file mode 100644
index 0000000..32708c2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKBReader.java
@@ -0,0 +1,387 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+import org.locationtech.jts.geom.CoordinateSequences;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+
+/**
+ * Reads a {@link Geometry}from a byte stream in Well-Known Binary format.
+ * Supports use of an {@link InStream}, which allows easy use
+ * with arbitrary byte stream sources.
+ * <p>
+ * This class reads the format describe in {@link WKBWriter}.
+ * It also partially handles
+ * the <b>Extended WKB</b> format used by PostGIS,
+ * by parsing and storing SRID values.
+ * The reader repairs structurally-invalid input
+ * (specifically, LineStrings and LinearRings which contain
+ * too few points have vertices added,
+ * and non-closed rings are closed).
+ * <p>
+ * This class is designed to support reuse of a single instance to read multiple
+ * geometries. This class is not thread-safe; each thread should create its own
+ * instance.
+ * <p>
+ * As of version 1.15, the reader can read geometries following OGC 06-103r4
+ * speification used by Spatialite/Geopackage.
+ * <p>
+ * The difference between PostGIS EWKB format and the new OGC specification is
+ * that Z and M coordinates are detected with a bit mask on the higher byte in
+ * the former case (0x80 for Z and 0x40 for M) while new OGC specification use
+ * specif int ranges for 2D gemetries, Z geometries (2D code+1000), M geometries
+ * (2D code+2000) and ZM geometries (2D code+3000).
+ * <p>
+ * Note that the {@link WKBWriter} is not changed and still write PostGIS WKB
+ * geometries
+ * @see WKBWriter for a formal format specification
+ */
+public class WKBReader
+{
+ /**
+ * Converts a hexadecimal string to a byte array.
+ * The hexadecimal digit symbols are case-insensitive.
+ *
+ * @param hex a string containing hex digits
+ * @return an array of bytes with the value of the hex string
+ */
+ public static byte[] hexToBytes(String hex)
+ {
+ int byteLen = hex.length() / 2;
+ byte[] bytes = new byte[byteLen];
+
+ for (int i = 0; i < hex.length() / 2; i++) {
+ int i2 = 2 * i;
+ if (i2 + 1 > hex.length())
+ throw new IllegalArgumentException("Hex string has odd length");
+
+ int nib1 = hexToInt(hex.charAt(i2));
+ int nib0 = hexToInt(hex.charAt(i2 + 1));
+ byte b = (byte) ((nib1 << 4) + (byte) nib0);
+ bytes[i] = b;
+ }
+ return bytes;
+ }
+
+ private static int hexToInt(char hex)
+ {
+ int nib = Character.digit(hex, 16);
+ if (nib < 0)
+ throw new IllegalArgumentException("Invalid hex digit: '" + hex + "'");
+ return nib;
+ }
+
+ private static final String INVALID_GEOM_TYPE_MSG
+ = "Invalid geometry type encountered in ";
+
+ private GeometryFactory factory;
+ private CoordinateSequenceFactory csFactory;
+ private PrecisionModel precisionModel;
+ // default dimension - will be set on read
+ private int inputDimension = 2;
+ private boolean hasSRID = false;
+ private int SRID = 0;
+ /**
+ * true if structurally invalid input should be reported rather than repaired.
+ * At some point this could be made client-controllable.
+ */
+ private boolean isStrict = false;
+ private ByteOrderDataInStream dis = new ByteOrderDataInStream();
+ private double[] ordValues;
+
+ public WKBReader() {
+ this(new GeometryFactory());
+ }
+
+ public WKBReader(GeometryFactory geometryFactory) {
+ this.factory = geometryFactory;
+ precisionModel = factory.getPrecisionModel();
+ csFactory = factory.getCoordinateSequenceFactory();
+ }
+
+ /**
+ * Reads a single {@link Geometry} in WKB format from a byte array.
+ *
+ * @param bytes the byte array to read from
+ * @return the geometry read
+ * @throws ParseException if the WKB is ill-formed
+ */
+ public Geometry read(byte[] bytes) throws ParseException
+ {
+ // possibly reuse the ByteArrayInStream?
+ // don't throw IOExceptions, since we are not doing any I/O
+ try {
+ return read(new ByteArrayInStream(bytes));
+ }
+ catch (IOException ex) {
+ throw new RuntimeException("Unexpected IOException caught: " + ex.getMessage());
+ }
+ }
+
+ /**
+ * Reads a {@link Geometry} in binary WKB format from an {@link InStream}.
+ *
+ * @param is the stream to read from
+ * @return the Geometry read
+ * @throws IOException if the underlying stream creates an error
+ * @throws ParseException if the WKB is ill-formed
+ */
+ public Geometry read(InStream is)
+ throws IOException, ParseException
+ {
+ dis.setInStream(is);
+ Geometry g = readGeometry();
+ return g;
+ }
+
+ private Geometry readGeometry()
+ throws IOException, ParseException
+ {
+
+ // determine byte order
+ byte byteOrderWKB = dis.readByte();
+
+ // always set byte order, since it may change from geometry to geometry
+ if(byteOrderWKB == WKBConstants.wkbNDR)
+ {
+ dis.setOrder(ByteOrderValues.LITTLE_ENDIAN);
+ }
+ else if(byteOrderWKB == WKBConstants.wkbXDR)
+ {
+ dis.setOrder(ByteOrderValues.BIG_ENDIAN);
+ }
+ else if(isStrict)
+ {
+ throw new ParseException("Unknown geometry byte order (not NDR or XDR): " + byteOrderWKB);
+ }
+ //if not strict and not XDR or NDR, then we just use the dis default set at the
+ //start of the geometry (if a multi-geometry). This allows WBKReader to work
+ //with Spatialite native BLOB WKB, as well as other WKB variants that might just
+ //specify endian-ness at the start of the multigeometry.
+
+
+ int typeInt = dis.readInt();
+ // Adds %1000 to make it compatible with OGC 06-103r4
+ int geometryType = (typeInt & 0xffff)%1000;
+
+ // handle 3D and 4D WKB geometries
+ // geometries with Z coordinates have the 0x80 flag (postgis EWKB)
+ // or are in the 1000 range (Z) or in the 3000 range (ZM) of geometry type (OGC 06-103r4)
+ boolean hasZ = ((typeInt & 0x80000000) != 0 || (typeInt & 0xffff)/1000 == 1 || (typeInt & 0xffff)/1000 == 3);
+ // geometries with M coordinates have the 0x40 flag (postgis EWKB)
+ // or are in the 1000 range (M) or in the 3000 range (ZM) of geometry type (OGC 06-103r4)
+ boolean hasM = ((typeInt & 0x40000000) != 0 || (typeInt & 0xffff)/1000 == 2 || (typeInt & 0xffff)/1000 == 3);
+ //System.out.println(typeInt + " - " + geometryType + " - hasZ:" + hasZ);
+ inputDimension = 2 + (hasZ?1:0) + (hasM?1:0);
+
+ // determine if SRIDs are present
+ hasSRID = (typeInt & 0x20000000) != 0;
+ int SRID = 0;
+ if (hasSRID) {
+ SRID = dis.readInt();
+ }
+
+ // only allocate ordValues buffer if necessary
+ if (ordValues == null || ordValues.length < inputDimension)
+ ordValues = new double[inputDimension];
+
+ Geometry geom = null;
+ switch (geometryType) {
+ case WKBConstants.wkbPoint :
+ geom = readPoint();
+ break;
+ case WKBConstants.wkbLineString :
+ geom = readLineString();
+ break;
+ case WKBConstants.wkbPolygon :
+ geom = readPolygon();
+ break;
+ case WKBConstants.wkbMultiPoint :
+ geom = readMultiPoint();
+ break;
+ case WKBConstants.wkbMultiLineString :
+ geom = readMultiLineString();
+ break;
+ case WKBConstants.wkbMultiPolygon :
+ geom = readMultiPolygon();
+ break;
+ case WKBConstants.wkbGeometryCollection :
+ geom = readGeometryCollection();
+ break;
+ default:
+ throw new ParseException("Unknown WKB type " + geometryType);
+ }
+ setSRID(geom, SRID);
+ return geom;
+ }
+
+ /**
+ * Sets the SRID, if it was specified in the WKB
+ *
+ * @param g the geometry to update
+ * @return the geometry with an updated SRID value, if required
+ */
+ private Geometry setSRID(Geometry g, int SRID)
+ {
+ if (SRID != 0)
+ g.setSRID(SRID);
+ return g;
+ }
+
+ private Point readPoint() throws IOException
+ {
+ CoordinateSequence pts = readCoordinateSequence(1);
+ return factory.createPoint(pts);
+ }
+
+ private LineString readLineString() throws IOException
+ {
+ int size = dis.readInt();
+ CoordinateSequence pts = readCoordinateSequenceLineString(size);
+ return factory.createLineString(pts);
+ }
+
+ private LinearRing readLinearRing() throws IOException
+ {
+ int size = dis.readInt();
+ CoordinateSequence pts = readCoordinateSequenceRing(size);
+ return factory.createLinearRing(pts);
+ }
+
+ private Polygon readPolygon() throws IOException
+ {
+ int numRings = dis.readInt();
+ LinearRing[] holes = null;
+ if (numRings > 1)
+ holes = new LinearRing[numRings - 1];
+
+ LinearRing shell = readLinearRing();
+ for (int i = 0; i < numRings - 1; i++) {
+ holes[i] = readLinearRing();
+ }
+ return factory.createPolygon(shell, holes);
+ }
+
+ private MultiPoint readMultiPoint() throws IOException, ParseException
+ {
+ int numGeom = dis.readInt();
+ Point[] geoms = new Point[numGeom];
+ for (int i = 0; i < numGeom; i++) {
+ Geometry g = readGeometry();
+ if (! (g instanceof Point))
+ throw new ParseException(INVALID_GEOM_TYPE_MSG + "MultiPoint");
+ geoms[i] = (Point) g;
+ }
+ return factory.createMultiPoint(geoms);
+ }
+
+ private MultiLineString readMultiLineString() throws IOException, ParseException
+ {
+ int numGeom = dis.readInt();
+ LineString[] geoms = new LineString[numGeom];
+ for (int i = 0; i < numGeom; i++) {
+ Geometry g = readGeometry();
+ if (! (g instanceof LineString))
+ throw new ParseException(INVALID_GEOM_TYPE_MSG + "MultiLineString");
+ geoms[i] = (LineString) g;
+ }
+ return factory.createMultiLineString(geoms);
+ }
+
+ private MultiPolygon readMultiPolygon() throws IOException, ParseException
+ {
+ int numGeom = dis.readInt();
+ Polygon[] geoms = new Polygon[numGeom];
+
+ for (int i = 0; i < numGeom; i++) {
+ Geometry g = readGeometry();
+ if (! (g instanceof Polygon))
+ throw new ParseException(INVALID_GEOM_TYPE_MSG + "MultiPolygon");
+ geoms[i] = (Polygon) g;
+ }
+ return factory.createMultiPolygon(geoms);
+ }
+
+ private GeometryCollection readGeometryCollection() throws IOException, ParseException
+ {
+ int numGeom = dis.readInt();
+ Geometry[] geoms = new Geometry[numGeom];
+ for (int i = 0; i < numGeom; i++) {
+ geoms[i] = readGeometry();
+ }
+ return factory.createGeometryCollection(geoms);
+ }
+
+ private CoordinateSequence readCoordinateSequence(int size) throws IOException
+ {
+ CoordinateSequence seq = csFactory.create(size, inputDimension);
+ int targetDim = seq.getDimension();
+ if (targetDim > inputDimension)
+ targetDim = inputDimension;
+ for (int i = 0; i < size; i++) {
+ readCoordinate();
+ for (int j = 0; j < targetDim; j++) {
+ seq.setOrdinate(i, j, ordValues[j]);
+ }
+ }
+ return seq;
+ }
+
+ private CoordinateSequence readCoordinateSequenceLineString(int size) throws IOException
+ {
+ CoordinateSequence seq = readCoordinateSequence(size);
+ if (isStrict) return seq;
+ if (seq.size() == 0 || seq.size() >= 2) return seq;
+ return CoordinateSequences.extend(csFactory, seq, 2);
+ }
+
+ private CoordinateSequence readCoordinateSequenceRing(int size) throws IOException
+ {
+ CoordinateSequence seq = readCoordinateSequence(size);
+ if (isStrict) return seq;
+ if (CoordinateSequences.isRing(seq)) return seq;
+ return CoordinateSequences.ensureValidRing(csFactory, seq);
+ }
+
+ /**
+ * Reads a coordinate value with the specified dimensionality.
+ * Makes the X and Y ordinates precise according to the precision model
+ * in use.
+ */
+ private void readCoordinate() throws IOException
+ {
+ for (int i = 0; i < inputDimension; i++) {
+ if (i <= 1) {
+ ordValues[i] = precisionModel.makePrecise(dis.readDouble());
+ }
+ else {
+ ordValues[i] = dis.readDouble();
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKBWriter.java b/modules/core/src/main/java/org/locationtech/jts/io/WKBWriter.java
new file mode 100644
index 0000000..4d16ca8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKBWriter.java
@@ -0,0 +1,427 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Writes a {@link Geometry} into Well-Known Binary format.
+ * Supports use of an {@link OutStream}, which allows easy use
+ * with arbitrary byte stream sinks.
+ * <p>
+ * The WKB format is specified in the
+ * OGC <A HREF="http://www.opengis.org/techno/specs.htm"><i>Simple Features for SQL</i></a>
+ * specification.
+ * This implementation also supports the <b>Extended WKB</b>
+ * standard. Extended WKB allows writing 3-dimensional coordinates
+ * and including the geometry SRID value.
+ * The presence of 3D coordinates is signified
+ * by setting the high bit of the <tt>wkbType</tt> word.
+ * The presence of an SRID is signified
+ * by setting the third bit of the <tt>wkbType</tt> word.
+ * EWKB format is upward compatible with the original SFS WKB format.
+ * <p>
+ * Empty Points cannot be represented in WKB; an
+ * {@link IllegalArgumentException} will be thrown if one is
+ * written.
+ * <p>
+ * The WKB specification does not support representing {@link LinearRing}s;
+ * they will be written as {@link LineString}s.
+ * <p>
+ * This class is designed to support reuse of a single instance to read multiple
+ * geometries. This class is not thread-safe; each thread should create its own
+ * instance.
+ *
+ * <h3>Syntax</h3>
+ * The following syntax specification describes the version of Well-Known Binary
+ * supported by JTS.
+ * <p>
+ * <i>The specification uses a syntax language similar to that used in
+ * the C language. Bitfields are specified from hi-order to lo-order bits.</i>
+ * <p>
+ * <blockquote><pre>
+ *
+ * <b>byte</b> = 1 byte
+ * <b>uint32</b> = 32 bit unsigned integer (4 bytes)
+ * <b>double</b> = double precision number (8 bytes)
+ *
+ * abstract Point { }
+ *
+ * Point2D extends Point {
+ * <b>double</b> x;
+ * <b>double</b> y;
+ * }
+ *
+ * Point3D extends Point {
+ * <b>double</b> x;
+ * <b>double</b> y;
+ * <b>double</b> z;
+ * }
+ *
+ * LinearRing {
+ * <b>uint32</b> numPoints;
+ * Point points[numPoints];
+ * }
+ *
+ * enum wkbGeometryType {
+ * wkbPoint = 1,
+ * wkbLineString = 2,
+ * wkbPolygon = 3,
+ * wkbMultiPoint = 4,
+ * wkbMultiLineString = 5,
+ * wkbMultiPolygon = 6,
+ * wkbGeometryCollection = 7
+ * }
+ *
+ * enum byteOrder {
+ * wkbXDR = 0, // Big Endian
+ * wkbNDR = 1 // Little Endian
+ * }
+ *
+ * WKBType {
+ * <b>uint32</b> wkbGeometryType : 8; // values from enum wkbGeometryType
+ * }
+ *
+ * EWKBType {
+ * <b>uint32</b> is3D : 1; // 0 = 2D, 1 = 3D
+ * <b>uint32</b> noData1 : 1;
+ * <b>uint32</b> hasSRID : 1; // 0, no, 1 = yes
+ * <b>uint32</b> noData2 : 21;
+ * <b>uint32</b> wkbGeometryType : 8; // values from enum wkbGeometryType
+ * }
+ *
+ * abstract WKBGeometry {
+ * <b>byte</b> byteOrder; // values from enum byteOrder
+ * EWKBType wkbType
+ * [ <b>uint32</b> srid; ] // only if hasSRID = yes
+ * }
+ *
+ * WKBPoint extends WKBGeometry {
+ * Point point;
+ * }
+ *
+ * WKBLineString extends WKBGeometry {
+ * <b>uint32</b> numCoords;
+ * Point points[numCoords];
+ * }
+ *
+ * WKBPolygon extends WKBGeometry {
+ * <b>uint32</b> numRings;
+ * LinearRing rings[numRings];
+ * }
+ *
+ * WKBMultiPoint extends WKBGeometry {
+ * <b>uint32</b> numElems;
+ * WKBPoint elems[numElems];
+ * }
+ *
+ * WKBMultiLineString extends WKBGeometry {
+ * <b>uint32</b> numElems;
+ * WKBLineString elems[numElems];
+ * }
+ *
+ * wkbMultiPolygon extends WKBGeometry {
+ * <b>uint32</b> numElems;
+ * WKBPolygon elems[numElems];
+ * }
+ *
+ * WKBGeometryCollection extends WKBGeometry {
+ * <b>uint32</b> numElems;
+ * WKBGeometry elems[numElems];
+ * }
+ *
+ * </pre></blockquote>
+ * @see WKBReader
+ */
+public class WKBWriter
+{
+ /**
+ * Converts a byte array to a hexadecimal string.
+ *
+ * @param bytes
+ * @return a string of hexadecimal digits
+ *
+ * @deprecated
+ */
+ public static String bytesToHex(byte[] bytes)
+ {
+ return toHex(bytes);
+ }
+
+ /**
+ * Converts a byte array to a hexadecimal string.
+ *
+ * @param bytes a byte array
+ * @return a string of hexadecimal digits
+ */
+ public static String toHex(byte[] bytes)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < bytes.length; i++) {
+ byte b = bytes[i];
+ buf.append(toHexDigit((b >> 4) & 0x0F));
+ buf.append(toHexDigit(b & 0x0F));
+ }
+ return buf.toString();
+ }
+
+ private static char toHexDigit(int n)
+ {
+ if (n < 0 || n > 15)
+ throw new IllegalArgumentException("Nibble value out of range: " + n);
+ if (n <= 9)
+ return (char) ('0' + n);
+ return (char) ('A' + (n - 10));
+ }
+
+ private int outputDimension = 2;
+ private int byteOrder;
+ private boolean includeSRID = false;
+ private ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
+ private OutStream byteArrayOutStream = new OutputStreamOutStream(byteArrayOS);
+ // holds output data values
+ private byte[] buf = new byte[8];
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * output dimension = 2 and BIG_ENDIAN byte order
+ */
+ public WKBWriter() {
+ this(2, ByteOrderValues.BIG_ENDIAN);
+ }
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * the given dimension (2 or 3) for output coordinates
+ * and {@link ByteOrderValues#BIG_ENDIAN} byte order.
+ * If the input geometry has a small coordinate dimension,
+ * coordinates will be padded with {@link Coordinate#NULL_ORDINATE}.
+ *
+ * @param outputDimension the coordinate dimension to output (2 or 3)
+ */
+ public WKBWriter(int outputDimension) {
+ this(outputDimension, ByteOrderValues.BIG_ENDIAN);
+ }
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * the given dimension (2 or 3) for output coordinates
+ * and {@link ByteOrderValues#BIG_ENDIAN} byte order. This constructor also
+ * takes a flag to control whether srid information will be
+ * written.
+ * If the input geometry has a smaller coordinate dimension,
+ * coordinates will be padded with {@link Coordinate#NULL_ORDINATE}.
+ *
+ * @param outputDimension the coordinate dimension to output (2 or 3)
+ * @param includeSRID indicates whether SRID should be written
+ */
+ public WKBWriter(int outputDimension, boolean includeSRID) {
+ this(outputDimension, ByteOrderValues.BIG_ENDIAN, includeSRID);
+ }
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * the given dimension (2 or 3) for output coordinates
+ * and byte order
+ * If the input geometry has a small coordinate dimension,
+ * coordinates will be padded with {@link Coordinate#NULL_ORDINATE}.
+ *
+ * @param outputDimension the coordinate dimension to output (2 or 3)
+ * @param byteOrder the byte ordering to use
+ */
+ public WKBWriter(int outputDimension, int byteOrder) {
+ this(outputDimension, byteOrder, false);
+ }
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * the given dimension (2 or 3) for output coordinates
+ * and byte order. This constructor also takes a flag to
+ * control whether srid information will be written.
+ * If the input geometry has a small coordinate dimension,
+ * coordinates will be padded with {@link Coordinate#NULL_ORDINATE}.
+ *
+ * @param outputDimension the coordinate dimension to output (2 or 3)
+ * @param byteOrder the byte ordering to use
+ * @param includeSRID indicates whether SRID should be written
+ */
+ public WKBWriter(int outputDimension, int byteOrder, boolean includeSRID) {
+ this.outputDimension = outputDimension;
+ this.byteOrder = byteOrder;
+ this.includeSRID = includeSRID;
+
+ if (outputDimension < 2 || outputDimension > 3)
+ throw new IllegalArgumentException("Output dimension must be 2 or 3");
+ }
+
+ /**
+ * Writes a {@link Geometry} into a byte array.
+ *
+ * @param geom the geometry to write
+ * @return the byte array containing the WKB
+ */
+ public byte[] write(Geometry geom)
+ {
+ try {
+ byteArrayOS.reset();
+ write(geom, byteArrayOutStream);
+ }
+ catch (IOException ex) {
+ throw new RuntimeException("Unexpected IO exception: " + ex.getMessage());
+ }
+ return byteArrayOS.toByteArray();
+ }
+
+ /**
+ * Writes a {@link Geometry} to an {@link OutStream}.
+ *
+ * @param geom the geometry to write
+ * @param os the out stream to write to
+ * @throws IOException if an I/O error occurs
+ */
+ public void write(Geometry geom, OutStream os) throws IOException
+ {
+ if (geom instanceof Point)
+ writePoint((Point) geom, os);
+ // LinearRings will be written as LineStrings
+ else if (geom instanceof LineString)
+ writeLineString((LineString) geom, os);
+ else if (geom instanceof Polygon)
+ writePolygon((Polygon) geom, os);
+ else if (geom instanceof MultiPoint)
+ writeGeometryCollection(WKBConstants.wkbMultiPoint,
+ (MultiPoint) geom, os);
+ else if (geom instanceof MultiLineString)
+ writeGeometryCollection(WKBConstants.wkbMultiLineString,
+ (MultiLineString) geom, os);
+ else if (geom instanceof MultiPolygon)
+ writeGeometryCollection(WKBConstants.wkbMultiPolygon,
+ (MultiPolygon) geom, os);
+ else if (geom instanceof GeometryCollection)
+ writeGeometryCollection(WKBConstants.wkbGeometryCollection,
+ (GeometryCollection) geom, os);
+ else {
+ Assert.shouldNeverReachHere("Unknown Geometry type");
+ }
+ }
+
+ private void writePoint(Point pt, OutStream os) throws IOException
+ {
+ if (pt.getCoordinateSequence().size() == 0)
+ throw new IllegalArgumentException("Empty Points cannot be represented in WKB");
+ writeByteOrder(os);
+ writeGeometryType(WKBConstants.wkbPoint, pt, os);
+ writeCoordinateSequence(pt.getCoordinateSequence(), false, os);
+ }
+
+ private void writeLineString(LineString line, OutStream os)
+ throws IOException
+ {
+ writeByteOrder(os);
+ writeGeometryType(WKBConstants.wkbLineString, line, os);
+ writeCoordinateSequence(line.getCoordinateSequence(), true, os);
+ }
+
+ private void writePolygon(Polygon poly, OutStream os) throws IOException
+ {
+ writeByteOrder(os);
+ writeGeometryType(WKBConstants.wkbPolygon, poly, os);
+ writeInt(poly.getNumInteriorRing() + 1, os);
+ writeCoordinateSequence(poly.getExteriorRing().getCoordinateSequence(), true, os);
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ writeCoordinateSequence(poly.getInteriorRingN(i).getCoordinateSequence(), true,
+ os);
+ }
+ }
+
+ private void writeGeometryCollection(int geometryType, GeometryCollection gc,
+ OutStream os) throws IOException
+ {
+ writeByteOrder(os);
+ writeGeometryType(geometryType, gc, os);
+ writeInt(gc.getNumGeometries(), os);
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ write(gc.getGeometryN(i), os);
+ }
+ }
+
+ private void writeByteOrder(OutStream os) throws IOException
+ {
+ if (byteOrder == ByteOrderValues.LITTLE_ENDIAN)
+ buf[0] = WKBConstants.wkbNDR;
+ else
+ buf[0] = WKBConstants.wkbXDR;
+ os.write(buf, 1);
+ }
+
+ private void writeGeometryType(int geometryType, Geometry g, OutStream os)
+ throws IOException
+ {
+ int flag3D = (outputDimension == 3) ? 0x80000000 : 0;
+ int typeInt = geometryType | flag3D;
+ typeInt |= includeSRID ? 0x20000000 : 0;
+ writeInt(typeInt, os);
+ if (includeSRID) {
+ writeInt(g.getSRID(), os);
+ }
+ }
+
+ private void writeInt(int intValue, OutStream os) throws IOException
+ {
+ ByteOrderValues.putInt(intValue, buf, byteOrder);
+ os.write(buf, 4);
+ }
+
+ private void writeCoordinateSequence(CoordinateSequence seq, boolean writeSize, OutStream os)
+ throws IOException
+ {
+ if (writeSize)
+ writeInt(seq.size(), os);
+
+ for (int i = 0; i < seq.size(); i++) {
+ writeCoordinate(seq, i, os);
+ }
+ }
+
+ private void writeCoordinate(CoordinateSequence seq, int index, OutStream os)
+ throws IOException
+ {
+ ByteOrderValues.putDouble(seq.getX(index), buf, byteOrder);
+ os.write(buf, 8);
+ ByteOrderValues.putDouble(seq.getY(index), buf, byteOrder);
+ os.write(buf, 8);
+
+ // only write 3rd dim if caller has requested it for this writer
+ if (outputDimension >= 3) {
+ // if 3rd dim is requested, only write it if the CoordinateSequence provides it
+ double ordVal = Coordinate.NULL_ORDINATE;
+ if (seq.getDimension() >= 3)
+ ordVal = seq.getOrdinate(index, 2);
+ ByteOrderValues.putDouble(ordVal, buf, byteOrder);
+ os.write(buf, 8);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKTFileReader.java b/modules/core/src/main/java/org/locationtech/jts/io/WKTFileReader.java
new file mode 100644
index 0000000..b595f47
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKTFileReader.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StreamTokenizer;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Reads a sequence of {@link Geometry}s in WKT format
+ * from a text file.
+ * The geometries in the file may be separated by any amount
+ * of whitespace and newlines.
+ *
+ * @author Martin Davis
+ *
+ */
+public class WKTFileReader
+{
+ private File file = null;
+ private Reader reader;
+// private Reader fileReader = new FileReader(file);
+ private WKTReader wktReader;
+ private int count = 0;
+ private int limit = -1;
+ private int offset = 0;
+
+ /**
+ * Creates a new <tt>WKTFileReader</tt> given the <tt>File</tt> to read from
+ * and a <tt>WKTReader</tt> to use to parse the geometries.
+ *
+ * @param file the <tt>File</tt> to read from
+ * @param wktReader the geometry reader to use
+ */
+ public WKTFileReader(File file, WKTReader wktReader)
+ {
+ this.file = file;
+ this.wktReader = wktReader;
+ }
+
+ /**
+ * Creates a new <tt>WKTFileReader</tt>, given the name of the file to read from.
+ *
+ * @param filename the name of the file to read from
+ * @param wktReader the geometry reader to use
+ */
+ public WKTFileReader(String filename, WKTReader wktReader)
+ {
+ this(new File(filename), wktReader);
+ }
+
+ /**
+ * Creates a new <tt>WKTFileReader</tt>, given a {@link Reader} to read from.
+ *
+ * @param reader the reader to read from
+ * @param wktReader the geometry reader to use
+ */
+ public WKTFileReader(Reader reader, WKTReader wktReader)
+ {
+ this.reader = reader;
+ this.wktReader = wktReader;
+ }
+
+ /**
+ * Sets the maximum number of geometries to read.
+ *
+ * @param limit the maximum number of geometries to read
+ */
+ public void setLimit(int limit)
+ {
+ this.limit = limit;
+ }
+
+ /**
+ * Sets the number of geometries to skip before storing.
+ *
+ * @param offset the number of geometries to skip
+ */
+ public void setOffset(int offset)
+ {
+ this.offset = offset;
+ }
+
+ /**
+ * Reads a sequence of geometries.
+ * If an offset is specified, geometries read up to the offset count are skipped.
+ * If a limit is specified, no more than <tt>limit</tt> geometries are read.
+ *
+ * @return the list of geometries read
+ * @throws IOException if an I/O exception was encountered
+ * @throws ParseException if an error occurred reading a geometry
+ */
+ public List read()
+ throws IOException, ParseException
+ {
+ // do this here so that constructors don't throw exceptions
+ if (file != null)
+ reader = new FileReader(file);
+
+ count = 0;
+ try {
+ BufferedReader bufferedReader = new BufferedReader(reader);
+ try {
+ return read(bufferedReader);
+ } finally {
+ bufferedReader.close();
+ }
+ } finally {
+ reader.close();
+ }
+ }
+
+ private List read(BufferedReader bufferedReader) throws IOException,
+ ParseException {
+ List geoms = new ArrayList();
+ while (! isAtEndOfFile(bufferedReader) && ! isAtLimit(geoms)) {
+ Geometry g = wktReader.read(bufferedReader);
+ if (count >= offset)
+ geoms.add(g);
+ count++;
+ }
+ return geoms;
+ }
+
+ private boolean isAtLimit(List geoms)
+ {
+ if (limit < 0) return false;
+ if (geoms.size() < limit) return false;
+ return true;
+ }
+
+ private static final int MAX_LOOKAHEAD = 1000;
+
+ /**
+ * Tests if reader is at EOF.
+ */
+ private boolean isAtEndOfFile(BufferedReader bufferedReader)
+ throws IOException
+ {
+ bufferedReader.mark(MAX_LOOKAHEAD);
+
+ StreamTokenizer tokenizer = new StreamTokenizer(bufferedReader);
+ int type = tokenizer.nextToken();
+
+ if (type == StreamTokenizer.TT_EOF) {
+ return true;
+ }
+ bufferedReader.reset();
+ return false;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKTReader.java b/modules/core/src/main/java/org/locationtech/jts/io/WKTReader.java
new file mode 100644
index 0000000..8d71442
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKTReader.java
@@ -0,0 +1,755 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StreamTokenizer;
+import java.io.StringReader;
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jts.util.AssertionFailedException;
+
+/**
+ * Converts a geometry in Well-Known Text format to a {@link Geometry}.
+ * <p>
+ * <code>WKTReader</code> supports
+ * extracting <code>Geometry</code> objects from either {@link Reader}s or
+ * {@link String}s. This allows it to function as a parser to read <code>Geometry</code>
+ * objects from text blocks embedded in other data formats (e.g. XML). <P>
+ * <p>
+ * A <code>WKTReader</code> is parameterized by a <code>GeometryFactory</code>,
+ * to allow it to create <code>Geometry</code> objects of the appropriate
+ * implementation. In particular, the <code>GeometryFactory</code>
+ * determines the <code>PrecisionModel</code> and <code>SRID</code> that is
+ * used. <P>
+ *
+ * The <code>WKTReader</code> converts all input numbers to the precise
+ * internal representation.
+ *
+ * <h3>Notes:</h3>
+ * <ul>
+ * <li>Keywords are case-insensitive.
+ * <li>The reader supports non-standard "LINEARRING" tags.
+ * <li>The reader uses <tt>Double.parseDouble</tt> to perform the conversion of ASCII
+ * numbers to floating point. This means it supports the Java
+ * syntax for floating point literals (including scientific notation).
+ * </ul>
+ *
+ * <h3>Syntax</h3>
+ * The following syntax specification describes the version of Well-Known Text
+ * supported by JTS.
+ * (The specification uses a syntax language similar to that used in
+ * the C and Java language specifications.)
+ * <p>
+ * As of version 1.15, JTS can read (but not write) WKT Strings including Z, M or ZM
+ * in the name of the geometry type (ex. POINT Z, LINESTRINGZM).
+ * Note that it only makes the reader more flexible, but JTS could already read
+ * 3D coordinates from WKT String and still can't read 4D coordinates.
+ *
+ * <blockquote><pre>
+ * <i>WKTGeometry:</i> one of<i>
+ *
+ * WKTPoint WKTLineString WKTLinearRing WKTPolygon
+ * WKTMultiPoint WKTMultiLineString WKTMultiPolygon
+ * WKTGeometryCollection</i>
+ *
+ * <i>WKTPoint:</i> <b>POINT</b><i>[Dimension]</i> <b>( </b><i>Coordinate</i> <b>)</b>
+ *
+ * <i>WKTLineString:</i> <b>LINESTRING</b><i>[Dimension]</i> <i>CoordinateSequence</i>
+ *
+ * <i>WKTLinearRing:</i> <b>LINEARRING</b><i>[Dimension]</i> <i>CoordinateSequence</i>
+ *
+ * <i>WKTPolygon:</i> <b>POLYGON</b><i>[Dimension]</i> <i>CoordinateSequenceList</i>
+ *
+ * <i>WKTMultiPoint:</i> <b>MULTIPOINT</b><i>[Dimension]</i> <i>CoordinateSingletonList</i>
+ *
+ * <i>WKTMultiLineString:</i> <b>MULTILINESTRING</b><i>[Dimension]</i> <i>CoordinateSequenceList</i>
+ *
+ * <i>WKTMultiPolygon:</i>
+ * <b>MULTIPOLYGON</b><i>[Dimension]</i> <b>(</b> <i>CoordinateSequenceList {</i> , <i>CoordinateSequenceList }</i> <b>)</b>
+ *
+ * <i>WKTGeometryCollection: </i>
+ * <b>GEOMETRYCOLLECTION</b><i>[Dimension]</i> <b> (</b> <i>WKTGeometry {</i> , <i>WKTGeometry }</i> <b>)</b>
+ *
+ * <i>CoordinateSingletonList:</i>
+ * <b>(</b> <i>CoordinateSingleton {</i> <b>,</b> <i>CoordinateSingleton }</i> <b>)</b>
+ * | <b>EMPTY</b>
+ *
+ * <i>CoordinateSingleton:</i>
+ * <b>(</b> <i>Coordinate</i> <b>)</b>
+ * | <b>EMPTY</b>
+ *
+ * <i>CoordinateSequenceList:</i>
+ * <b>(</b> <i>CoordinateSequence {</i> <b>,</b> <i>CoordinateSequence }</i> <b>)</b>
+ * | <b>EMPTY</b>
+ *
+ * <i>CoordinateSequence:</i>
+ * <b>(</b> <i>Coordinate {</i> , <i>Coordinate }</i> <b>)</b>
+ * | <b>EMPTY</b>
+ *
+ * <i>Coordinate:
+ * Number Number Number<sub>opt</sub></i>
+ *
+ * <i>Number:</i> A Java-style floating-point number (including <tt>NaN</tt>, with arbitrary case)
+ *
+ * <i>Dimension:</i>
+ * <b>Z</b>|<b> Z</b>|<b>M</b>|<b> M</b>|<b>ZM</b>|<b> ZM</b>
+ *
+ * </pre></blockquote>
+ *
+ *
+ *@version 1.7
+ * @see WKTWriter
+ */
+public class WKTReader
+{
+ private static final String EMPTY = "EMPTY";
+ private static final String COMMA = ",";
+ private static final String L_PAREN = "(";
+ private static final String R_PAREN = ")";
+ private static final String NAN_SYMBOL = "NaN";
+
+ private GeometryFactory geometryFactory;
+ private PrecisionModel precisionModel;
+ private StreamTokenizer tokenizer;
+ // Not yet used (useful if we want to read Z, M and ZM WKT)
+ private boolean z;
+ private boolean m;
+
+ /**
+ * Creates a reader that creates objects using the default {@link GeometryFactory}.
+ */
+ public WKTReader() {
+ this(new GeometryFactory());
+ }
+
+ /**
+ * Creates a reader that creates objects using the given
+ * {@link GeometryFactory}.
+ *
+ *@param geometryFactory the factory used to create <code>Geometry</code>s.
+ */
+ public WKTReader(GeometryFactory geometryFactory) {
+ this.geometryFactory = geometryFactory;
+ precisionModel = geometryFactory.getPrecisionModel();
+ }
+
+ /**
+ * Reads a Well-Known Text representation of a {@link Geometry}
+ * from a {@link String}.
+ *
+ * @param wellKnownText
+ * one or more <Geometry Tagged Text> strings (see the OpenGIS
+ * Simple Features Specification) separated by whitespace
+ * @return a <code>Geometry</code> specified by <code>wellKnownText</code>
+ * @throws ParseException
+ * if a parsing problem occurs
+ */
+ public Geometry read(String wellKnownText) throws ParseException {
+ StringReader reader = new StringReader(wellKnownText);
+ try {
+ return read(reader);
+ }
+ finally {
+ reader.close();
+ }
+ }
+
+ /**
+ * Reads a Well-Known Text representation of a {@link Geometry}
+ * from a {@link Reader}.
+ *
+ *@param reader a Reader which will return a <Geometry Tagged Text>
+ * string (see the OpenGIS Simple Features Specification)
+ *@return a <code>Geometry</code> read from <code>reader</code>
+ *@throws ParseException if a parsing problem occurs
+ */
+ public Geometry read(Reader reader) throws ParseException {
+ tokenizer = new StreamTokenizer(reader);
+ // set tokenizer to NOT parse numbers
+ tokenizer.resetSyntax();
+ tokenizer.wordChars('a', 'z');
+ tokenizer.wordChars('A', 'Z');
+ tokenizer.wordChars(128 + 32, 255);
+ tokenizer.wordChars('0', '9');
+ tokenizer.wordChars('-', '-');
+ tokenizer.wordChars('+', '+');
+ tokenizer.wordChars('.', '.');
+ tokenizer.whitespaceChars(0, ' ');
+ tokenizer.commentChar('#');
+ z = false;
+ m = false;
+
+ try {
+ return readGeometryTaggedText();
+ }
+ catch (IOException e) {
+ throw new ParseException(e.toString());
+ }
+ }
+
+ /**
+ * Returns the next array of <code>Coordinate</code>s in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next element returned by the stream should be L_PAREN (the
+ * beginning of "(x1 y1, x2 y2, ..., xn yn)") or EMPTY.
+ *@return the next array of <code>Coordinate</code>s in the
+ * stream, or an empty array if EMPTY is the next element returned by
+ * the stream.
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private Coordinate[] getCoordinates() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return new Coordinate[] {};
+ }
+ ArrayList coordinates = new ArrayList();
+ coordinates.add(getPreciseCoordinate());
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ coordinates.add(getPreciseCoordinate());
+ nextToken = getNextCloserOrComma();
+ }
+ Coordinate[] array = new Coordinate[coordinates.size()];
+ return (Coordinate[]) coordinates.toArray(array);
+ }
+
+ private Coordinate[] getCoordinatesNoLeftParen() throws IOException, ParseException {
+ String nextToken = null;
+ ArrayList coordinates = new ArrayList();
+ coordinates.add(getPreciseCoordinate());
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ coordinates.add(getPreciseCoordinate());
+ nextToken = getNextCloserOrComma();
+ }
+ Coordinate[] array = new Coordinate[coordinates.size()];
+ return (Coordinate[]) coordinates.toArray(array);
+ }
+
+ private Coordinate getPreciseCoordinate()
+ throws IOException, ParseException
+ {
+ Coordinate coord = new Coordinate();
+ coord.x = getNextNumber();
+ coord.y = getNextNumber();
+ if (isNumberNext()) {
+ coord.z = getNextNumber();
+ }
+ if (isNumberNext()) {
+ getNextNumber(); // ignore M value
+ }
+ precisionModel.makePrecise(coord);
+ return coord;
+ }
+
+ private boolean isNumberNext() throws IOException {
+ int type = tokenizer.nextToken();
+ tokenizer.pushBack();
+ return type == StreamTokenizer.TT_WORD;
+ }
+
+ /**
+ * Parses the next number in the stream.
+ * Numbers with exponents are handled.
+ * <tt>NaN</tt> values are handled correctly, and
+ * the case of the "NaN" symbol is not significant.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be a number.
+ *@return the next number in the stream
+ *@throws ParseException if the next token is not a valid number
+ *@throws IOException if an I/O error occurs
+ */
+ private double getNextNumber() throws IOException,
+ ParseException {
+ int type = tokenizer.nextToken();
+ switch (type) {
+ case StreamTokenizer.TT_WORD:
+ {
+ if (tokenizer.sval.equalsIgnoreCase(NAN_SYMBOL)) {
+ return Double.NaN;
+ }
+ else {
+ try {
+ return Double.parseDouble(tokenizer.sval);
+ }
+ catch (NumberFormatException ex) {
+ parseErrorWithLine("Invalid number: " + tokenizer.sval);
+ }
+ }
+ }
+ }
+ parseErrorExpected("number");
+ return 0.0;
+ }
+ /**
+ * Returns the next EMPTY or L_PAREN in the stream as uppercase text.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be EMPTY or L_PAREN.
+ *@return the next EMPTY or L_PAREN in the stream as uppercase
+ * text.
+ *@throws ParseException if the next token is not EMPTY or L_PAREN
+ *@throws IOException if an I/O error occurs
+ */
+ private String getNextEmptyOrOpener() throws IOException, ParseException {
+ String nextWord = getNextWord();
+ if (nextWord.equalsIgnoreCase("Z")) {
+ z = true;
+ nextWord = getNextWord();
+ }
+ else if (nextWord.equalsIgnoreCase("M")) {
+ m = true;
+ nextWord = getNextWord();
+ }
+ else if (nextWord.equalsIgnoreCase("ZM")) {
+ z = true;
+ m = true;
+ nextWord = getNextWord();
+ }
+ if (nextWord.equals(EMPTY) || nextWord.equals(L_PAREN)) {
+ return nextWord;
+ }
+ parseErrorExpected(EMPTY + " or " + L_PAREN);
+ return null;
+ }
+
+ /**
+ * Returns the next R_PAREN or COMMA in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be R_PAREN or COMMA.
+ *@return the next R_PAREN or COMMA in the stream
+ *@throws ParseException if the next token is not R_PAREN or COMMA
+ *@throws IOException if an I/O error occurs
+ */
+ private String getNextCloserOrComma() throws IOException, ParseException {
+ String nextWord = getNextWord();
+ if (nextWord.equals(COMMA) || nextWord.equals(R_PAREN)) {
+ return nextWord;
+ }
+ parseErrorExpected(COMMA + " or " + R_PAREN);
+ return null;
+ }
+
+ /**
+ * Returns the next R_PAREN in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be R_PAREN.
+ *@return the next R_PAREN in the stream
+ *@throws ParseException if the next token is not R_PAREN
+ *@throws IOException if an I/O error occurs
+ */
+ private String getNextCloser() throws IOException, ParseException {
+ String nextWord = getNextWord();
+ if (nextWord.equals(R_PAREN)) {
+ return nextWord;
+ }
+ parseErrorExpected(R_PAREN);
+ return null;
+ }
+
+ /**
+ * Returns the next word in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be a word.
+ *@return the next word in the stream as uppercase text
+ *@throws ParseException if the next token is not a word
+ *@throws IOException if an I/O error occurs
+ */
+ private String getNextWord() throws IOException, ParseException {
+ int type = tokenizer.nextToken();
+ switch (type) {
+ case StreamTokenizer.TT_WORD:
+
+ String word = tokenizer.sval;
+ if (word.equalsIgnoreCase(EMPTY))
+ return EMPTY;
+ return word;
+
+ case '(': return L_PAREN;
+ case ')': return R_PAREN;
+ case ',': return COMMA;
+ }
+ parseErrorExpected("word");
+ return null;
+ }
+
+ /**
+ * Returns the next word in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next token must be a word.
+ *@return the next word in the stream as uppercase text
+ *@throws ParseException if the next token is not a word
+ *@throws IOException if an I/O error occurs
+ */
+ private String lookaheadWord() throws IOException, ParseException {
+ String nextWord = getNextWord();
+ tokenizer.pushBack();
+ return nextWord;
+ }
+
+ /**
+ * Throws a formatted ParseException reporting that the current token
+ * was unexpected.
+ *
+ * @param expected a description of what was expected
+ * @throws ParseException
+ * @throws AssertionFailedException if an invalid token is encountered
+ */
+ private void parseErrorExpected(String expected)
+ throws ParseException
+ {
+ // throws Asserts for tokens that should never be seen
+ if (tokenizer.ttype == StreamTokenizer.TT_NUMBER)
+ Assert.shouldNeverReachHere("Unexpected NUMBER token");
+ if (tokenizer.ttype == StreamTokenizer.TT_EOL)
+ Assert.shouldNeverReachHere("Unexpected EOL token");
+
+ String tokenStr = tokenString();
+ parseErrorWithLine("Expected " + expected + " but found " + tokenStr);
+ }
+
+ private void parseErrorWithLine(String msg)
+ throws ParseException
+ {
+ throw new ParseException(msg + " (line " + tokenizer.lineno() + ")");
+ }
+
+ /**
+ * Gets a description of the current token
+ *
+ * @return a description of the current token
+ */
+ private String tokenString()
+ {
+ switch (tokenizer.ttype) {
+ case StreamTokenizer.TT_NUMBER:
+ return "<NUMBER>";
+ case StreamTokenizer.TT_EOL:
+ return "End-of-Line";
+ case StreamTokenizer.TT_EOF: return "End-of-Stream";
+ case StreamTokenizer.TT_WORD: return "'" + tokenizer.sval + "'";
+ }
+ return "'" + (char) tokenizer.ttype + "'";
+ }
+
+ /**
+ * Creates a <code>Geometry</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <Geometry Tagged Text>.
+ *@return a <code>Geometry</code> specified by the next token
+ * in the stream
+ *@throws ParseException if the coordinates used to create a <code>Polygon</code>
+ * shell and holes do not form closed linestrings, or if an unexpected
+ * token was encountered
+ *@throws IOException if an I/O error occurs
+ */
+ private Geometry readGeometryTaggedText() throws IOException, ParseException {
+ String type;
+
+ try{
+ type = getNextWord().toUpperCase();
+ if (type.endsWith("Z")) z = true;
+ if (type.endsWith("M")) m = true;
+ }catch(IOException e){
+ return null;
+ }catch(ParseException e){
+ return null;
+ }
+
+ if (type.startsWith("POINT")) {
+ return readPointText();
+ }
+ else if (type.startsWith("LINESTRING")) {
+ return readLineStringText();
+ }
+ else if (type.startsWith("LINEARRING")) {
+ return readLinearRingText();
+ }
+ else if (type.startsWith("POLYGON")) {
+ return readPolygonText();
+ }
+ else if (type.startsWith("MULTIPOINT")) {
+ return readMultiPointText();
+ }
+ else if (type.startsWith("MULTILINESTRING")) {
+ return readMultiLineStringText();
+ }
+ else if (type.startsWith("MULTIPOLYGON")) {
+ return readMultiPolygonText();
+ }
+ else if (type.startsWith("GEOMETRYCOLLECTION")) {
+ return readGeometryCollectionText();
+ }
+ parseErrorWithLine("Unknown geometry type: " + type);
+ // should never reach here
+ return null;
+ }
+
+ /**
+ * Creates a <code>Point</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <Point Text>.
+ *@return a <code>Point</code> specified by the next token in
+ * the stream
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private Point readPointText() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createPoint();
+ }
+ Point point = geometryFactory.createPoint(getPreciseCoordinate());
+ getNextCloser();
+ return point;
+ }
+
+ /**
+ * Creates a <code>LineString</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <LineString Text>.
+ *@return a <code>LineString</code> specified by the next
+ * token in the stream
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private LineString readLineStringText() throws IOException, ParseException {
+ return geometryFactory.createLineString(getCoordinates());
+ }
+
+ /**
+ * Creates a <code>LinearRing</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <LineString Text>.
+ *@return a <code>LinearRing</code> specified by the next
+ * token in the stream
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if the coordinates used to create the <code>LinearRing</code>
+ * do not form a closed linestring, or if an unexpected token was
+ * encountered
+ */
+ private LinearRing readLinearRingText()
+ throws IOException, ParseException
+ {
+ return geometryFactory.createLinearRing(getCoordinates());
+ }
+
+ /*
+ private MultiPoint OLDreadMultiPointText() throws IOException, ParseException {
+ return geometryFactory.createMultiPoint(toPoints(getCoordinates()));
+ }
+ */
+
+ private static final boolean ALLOW_OLD_JTS_MULTIPOINT_SYNTAX = true;
+
+ /**
+ * Creates a <code>MultiPoint</code> using the next tokens in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <MultiPoint Text>.
+ *@return a <code>MultiPoint</code> specified by the next
+ * token in the stream
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private MultiPoint readMultiPointText() throws IOException, ParseException
+ {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createMultiPoint(new Point[0]);
+ }
+
+ // check for old-style JTS syntax and parse it if present
+ // MD 2009-02-21 - this is only provided for backwards compatibility for a few versions
+ if (ALLOW_OLD_JTS_MULTIPOINT_SYNTAX) {
+ String nextWord = lookaheadWord();
+ if (nextWord != L_PAREN) {
+ return geometryFactory.createMultiPoint(toPoints(getCoordinatesNoLeftParen()));
+ }
+ }
+
+ ArrayList points = new ArrayList();
+ Point point = readPointText();
+ points.add(point);
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ point = readPointText();
+ points.add(point);
+ nextToken = getNextCloserOrComma();
+ }
+ Point[] array = new Point[points.size()];
+ return geometryFactory.createMultiPoint((Point[]) points.toArray(array));
+ }
+
+ /**
+ * Creates an array of <code>Point</code>s having the given <code>Coordinate</code>
+ * s.
+ *
+ *@param coordinates the <code>Coordinate</code>s with which to create the
+ * <code>Point</code>s
+ *@return <code>Point</code>s created using this <code>WKTReader</code>
+ * s <code>GeometryFactory</code>
+ */
+ private Point[] toPoints(Coordinate[] coordinates) {
+ ArrayList points = new ArrayList();
+ for (int i = 0; i < coordinates.length; i++) {
+ points.add(geometryFactory.createPoint(coordinates[i]));
+ }
+ return (Point[]) points.toArray(new Point[]{});
+ }
+
+ /**
+ * Creates a <code>Polygon</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <Polygon Text>.
+ *@return a <code>Polygon</code> specified by the next token
+ * in the stream
+ *@throws ParseException if the coordinates used to create the <code>Polygon</code>
+ * shell and holes do not form closed linestrings, or if an unexpected
+ * token was encountered.
+ *@throws IOException if an I/O error occurs
+ */
+ private Polygon readPolygonText() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createPolygon(geometryFactory.createLinearRing(
+ new Coordinate[]{}), new LinearRing[]{});
+ }
+ ArrayList holes = new ArrayList();
+ LinearRing shell = readLinearRingText();
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ LinearRing hole = readLinearRingText();
+ holes.add(hole);
+ nextToken = getNextCloserOrComma();
+ }
+ LinearRing[] array = new LinearRing[holes.size()];
+ return geometryFactory.createPolygon(shell, (LinearRing[]) holes.toArray(array));
+ }
+
+ /**
+ * Creates a <code>MultiLineString</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <MultiLineString Text>.
+ *@return a <code>MultiLineString</code> specified by the
+ * next token in the stream
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private org.locationtech.jts.geom.MultiLineString readMultiLineStringText() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createMultiLineString(new LineString[]{});
+ }
+ ArrayList lineStrings = new ArrayList();
+ LineString lineString = readLineStringText();
+ lineStrings.add(lineString);
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ lineString = readLineStringText();
+ lineStrings.add(lineString);
+ nextToken = getNextCloserOrComma();
+ }
+ LineString[] array = new LineString[lineStrings.size()];
+ return geometryFactory.createMultiLineString((LineString[]) lineStrings.toArray(array));
+ }
+
+ /**
+ * Creates a <code>MultiPolygon</code> using the next token in the stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <MultiPolygon Text>.
+ *@return a <code>MultiPolygon</code> specified by the next
+ * token in the stream, or if if the coordinates used to create the
+ * <code>Polygon</code> shells and holes do not form closed linestrings.
+ *@throws IOException if an I/O error occurs
+ *@throws ParseException if an unexpected token was encountered
+ */
+ private MultiPolygon readMultiPolygonText() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createMultiPolygon();
+ }
+ ArrayList polygons = new ArrayList();
+ Polygon polygon = readPolygonText();
+ polygons.add(polygon);
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ polygon = readPolygonText();
+ polygons.add(polygon);
+ nextToken = getNextCloserOrComma();
+ }
+ Polygon[] array = new Polygon[polygons.size()];
+ return geometryFactory.createMultiPolygon((Polygon[]) polygons.toArray(array));
+ }
+
+ /**
+ * Creates a <code>GeometryCollection</code> using the next token in the
+ * stream.
+ *
+ *@param tokenizer tokenizer over a stream of text in Well-known Text
+ * format. The next tokens must form a <GeometryCollection Text>.
+ *@return a <code>GeometryCollection</code> specified by the
+ * next token in the stream
+ *@throws ParseException if the coordinates used to create a <code>Polygon</code>
+ * shell and holes do not form closed linestrings, or if an unexpected
+ * token was encountered
+ *@throws IOException if an I/O error occurs
+ */
+ private GeometryCollection readGeometryCollectionText() throws IOException, ParseException {
+ String nextToken = getNextEmptyOrOpener();
+ if (nextToken.equals(EMPTY)) {
+ return geometryFactory.createGeometryCollection(new Geometry[]{});
+ }
+ ArrayList geometries = new ArrayList();
+ Geometry geometry = readGeometryTaggedText();
+ geometries.add(geometry);
+ nextToken = getNextCloserOrComma();
+ while (nextToken.equals(COMMA)) {
+ geometry = readGeometryTaggedText();
+ geometries.add(geometry);
+ nextToken = getNextCloserOrComma();
+ }
+ Geometry[] array = new Geometry[geometries.size()];
+ return geometryFactory.createGeometryCollection((Geometry[]) geometries.toArray(array));
+ }
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/WKTWriter.java b/modules/core/src/main/java/org/locationtech/jts/io/WKTWriter.java
new file mode 100644
index 0000000..2cff844
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/WKTWriter.java
@@ -0,0 +1,770 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Writes the Well-Known Text representation of a {@link Geometry}.
+ * The Well-Known Text format is defined in the
+ * OGC <A HREF="http://www.opengis.org/techno/specs.htm">
+ * <i>Simple Features Specification for SQL</i></A>.
+ * See {@link WKTReader} for a formal specification of the format syntax.
+ * <p>
+ * The <code>WKTWriter</code> outputs coordinates rounded to the precision
+ * model. Only the maximum number of decimal places
+ * necessary to represent the ordinates to the required precision will be
+ * output.
+ * <p>
+ * The SFS WKT spec does not define a special tag for {@link LinearRing}s.
+ * Under the spec, rings are output as <code>LINESTRING</code>s.
+ * In order to allow precisely specifying constructed geometries,
+ * JTS also supports a non-standard <code>LINEARRING</code> tag which is used
+ * to output LinearRings.
+ *
+ * @version 1.7
+ * @see WKTReader
+ */
+public class WKTWriter
+{
+ /**
+ * Generates the WKT for a <tt>POINT</tt>
+ * specified by a {@link Coordinate}.
+ *
+ * @param p0 the point coordinate
+ *
+ * @return the WKT
+ */
+ public static String toPoint(Coordinate p0)
+ {
+ return "POINT ( " + p0.x + " " + p0.y + " )";
+ }
+
+ /**
+ * Generates the WKT for a <tt>LINESTRING</tt>
+ * specified by a {@link CoordinateSequence}.
+ *
+ * @param seq the sequence to write
+ *
+ * @return the WKT string
+ */
+ public static String toLineString(CoordinateSequence seq)
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("LINESTRING ");
+ if (seq.size() == 0)
+ buf.append(" EMPTY");
+ else {
+ buf.append("(");
+ for (int i = 0; i < seq.size(); i++) {
+ if (i > 0)
+ buf.append(", ");
+ buf.append(seq.getX(i) + " " + seq.getY(i));
+ }
+ buf.append(")");
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Generates the WKT for a <tt>LINESTRING</tt>
+ * specified by a {@link CoordinateSequence}.
+ *
+ * @param coord the sequence to write
+ *
+ * @return the WKT string
+ */
+ public static String toLineString(Coordinate[] coord)
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("LINESTRING ");
+ if (coord.length == 0)
+ buf.append(" EMPTY");
+ else {
+ buf.append("(");
+ for (int i = 0; i < coord.length; i++) {
+ if (i > 0)
+ buf.append(", ");
+ buf.append(coord[i].x + " " + coord[i].y );
+ }
+ buf.append(")");
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Generates the WKT for a <tt>LINESTRING</tt>
+ * specified by two {@link Coordinate}s.
+ *
+ * @param p0 the first coordinate
+ * @param p1 the second coordinate
+ *
+ * @return the WKT
+ */
+ public static String toLineString(Coordinate p0, Coordinate p1)
+ {
+ return "LINESTRING ( " + p0.x + " " + p0.y + ", " + p1.x + " " + p1.y + " )";
+ }
+
+ private static final int INDENT = 2;
+
+ /**
+ * Creates the <code>DecimalFormat</code> used to write <code>double</code>s
+ * with a sufficient number of decimal places.
+ *
+ *@param precisionModel the <code>PrecisionModel</code> used to determine
+ * the number of decimal places to write.
+ *@return a <code>DecimalFormat</code> that write <code>double</code>
+ * s without scientific notation.
+ */
+ private static DecimalFormat createFormatter(PrecisionModel precisionModel) {
+ // the default number of decimal places is 16, which is sufficient
+ // to accommodate the maximum precision of a double.
+ int decimalPlaces = precisionModel.getMaximumSignificantDigits();
+ // specify decimal separator explicitly to avoid problems in other locales
+ DecimalFormatSymbols symbols = new DecimalFormatSymbols();
+ symbols.setDecimalSeparator('.');
+ String fmtString = "0" + (decimalPlaces > 0 ? "." : "")
+ + stringOfChar('#', decimalPlaces);
+ return new DecimalFormat(fmtString, symbols);
+ }
+
+ /**
+ * Returns a <code>String</code> of repeated characters.
+ *
+ *@param ch the character to repeat
+ *@param count the number of times to repeat the character
+ *@return a <code>String</code> of characters
+ */
+ public static String stringOfChar(char ch, int count) {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < count; i++) {
+ buf.append(ch);
+ }
+ return buf.toString();
+ }
+
+ private int outputDimension = 2;
+ private DecimalFormat formatter;
+ private boolean isFormatted = false;
+ private boolean useFormatting = false;
+ private int level = 0;
+ private int coordsPerLine = -1;
+ private String indentTabStr = " ";
+
+ /**
+ * Creates a new WKTWriter with default settings
+ */
+ public WKTWriter()
+ {
+ }
+
+ /**
+ * Creates a writer that writes {@link Geometry}s with
+ * the given output dimension (2 or 3).
+ * If the specified output dimension is 3, the Z value
+ * of coordinates will be written if it is present
+ * (i.e. if it is not <code>Double.NaN</code>).
+ *
+ * @param outputDimension the coordinate dimension to output (2 or 3)
+ */
+ public WKTWriter(int outputDimension) {
+ this.outputDimension = outputDimension;
+
+ if (outputDimension < 2 || outputDimension > 3)
+ throw new IllegalArgumentException("Invalid output dimension (must be 2 or 3)");
+ }
+
+ /**
+ * Sets whether the output will be formatted.
+ *
+ * @param isFormatted true if the output is to be formatted
+ */
+ public void setFormatted(boolean isFormatted)
+ {
+ this.isFormatted = isFormatted;
+ }
+
+ /**
+ * Sets the maximum number of coordinates per line
+ * written in formatted output.
+ * If the provided coordinate number is <= 0,
+ * coordinates will be written all on one line.
+ *
+ * @param coordsPerLine the number of coordinates per line to output.
+ */
+ public void setMaxCoordinatesPerLine(int coordsPerLine)
+ {
+ this.coordsPerLine = coordsPerLine;
+ }
+
+ /**
+ * Sets the tab size to use for indenting.
+ *
+ * @param size the number of spaces to use as the tab string
+ * @throws IllegalArgumentException if the size is non-positive
+ */
+ public void setTab(int size)
+ {
+ if(size <= 0)
+ throw new IllegalArgumentException("Tab count must be positive");
+ this.indentTabStr = stringOfChar(' ', size);
+ }
+
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ *@return a <Geometry Tagged Text> string (see the OpenGIS Simple
+ * Features Specification)
+ */
+ public String write(Geometry geometry)
+ {
+ Writer sw = new StringWriter();
+ try {
+ writeFormatted(geometry, isFormatted, sw);
+ }
+ catch (IOException ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return sw.toString();
+ }
+
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ public void write(Geometry geometry, Writer writer)
+ throws IOException
+ {
+ writeFormatted(geometry, false, writer);
+ }
+
+ /**
+ * Same as <code>write</code>, but with newlines and spaces to make the
+ * well-known text more readable.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ *@return a <Geometry Tagged Text> string (see the OpenGIS Simple
+ * Features Specification), with newlines and spaces
+ */
+ public String writeFormatted(Geometry geometry)
+ {
+ Writer sw = new StringWriter();
+ try {
+ writeFormatted(geometry, true, sw);
+ }
+ catch (IOException ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return sw.toString();
+ }
+ /**
+ * Same as <code>write</code>, but with newlines and spaces to make the
+ * well-known text more readable.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ public void writeFormatted(Geometry geometry, Writer writer)
+ throws IOException
+ {
+ writeFormatted(geometry, true, writer);
+ }
+ /**
+ * Converts a <code>Geometry</code> to its Well-known Text representation.
+ *
+ *@param geometry a <code>Geometry</code> to process
+ */
+ private void writeFormatted(Geometry geometry, boolean useFormatting, Writer writer)
+ throws IOException
+ {
+ this.useFormatting = useFormatting;
+ formatter = createFormatter(geometry.getPrecisionModel());
+ appendGeometryTaggedText(geometry, 0, writer);
+ }
+
+
+ /**
+ * Converts a <code>Geometry</code> to <Geometry Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param geometry the <code>Geometry</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryTaggedText(Geometry geometry, int level, Writer writer)
+ throws IOException
+ {
+ indent(level, writer);
+
+ if (geometry instanceof Point) {
+ Point point = (Point) geometry;
+ appendPointTaggedText(point.getCoordinate(), level, writer, point.getPrecisionModel());
+ }
+ else if (geometry instanceof LinearRing) {
+ appendLinearRingTaggedText((LinearRing) geometry, level, writer);
+ }
+ else if (geometry instanceof LineString) {
+ appendLineStringTaggedText((LineString) geometry, level, writer);
+ }
+ else if (geometry instanceof Polygon) {
+ appendPolygonTaggedText((Polygon) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiPoint) {
+ appendMultiPointTaggedText((MultiPoint) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiLineString) {
+ appendMultiLineStringTaggedText((MultiLineString) geometry, level, writer);
+ }
+ else if (geometry instanceof MultiPolygon) {
+ appendMultiPolygonTaggedText((MultiPolygon) geometry, level, writer);
+ }
+ else if (geometry instanceof GeometryCollection) {
+ appendGeometryCollectionTaggedText((GeometryCollection) geometry, level, writer);
+ }
+ else {
+ Assert.shouldNeverReachHere("Unsupported Geometry implementation:"
+ + geometry.getClass());
+ }
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <Point Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ *@param precisionModel the <code>PrecisionModel</code> to use to convert
+ * from a precise coordinate to an external coordinate
+ */
+ private void appendPointTaggedText(Coordinate coordinate, int level, Writer writer,
+ PrecisionModel precisionModel)
+ throws IOException
+ {
+ writer.write("POINT ");
+ appendPointText(coordinate, level, writer, precisionModel);
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLineStringTaggedText(LineString lineString, int level, Writer writer)
+ throws IOException
+ {
+ writer.write("LINESTRING ");
+ appendLineStringText(lineString, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>LinearRing</code> to <LinearRing Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param linearRing the <code>LinearRing</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLinearRingTaggedText(LinearRing linearRing, int level, Writer writer)
+ throws IOException
+ {
+ writer.write("LINEARRING ");
+ appendLineStringText(linearRing, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>Polygon</code> to <Polygon Tagged Text> format,
+ * then appends it to the writer.
+ *
+ *@param polygon the <code>Polygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendPolygonTaggedText(Polygon polygon, int level, Writer writer)
+ throws IOException
+ {
+ writer.write("POLYGON ");
+ appendPolygonText(polygon, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>MultiPoint</code> to <MultiPoint Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param multipoint the <code>MultiPoint</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPointTaggedText(MultiPoint multipoint, int level, Writer writer)
+ throws IOException
+ {
+ writer.write("MULTIPOINT ");
+ appendMultiPointText(multipoint, level, writer);
+ }
+
+ /**
+ * Converts a <code>MultiLineString</code> to <MultiLineString Tagged
+ * Text> format, then appends it to the writer.
+ *
+ *@param multiLineString the <code>MultiLineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiLineStringTaggedText(MultiLineString multiLineString, int level,
+ Writer writer)
+ throws IOException
+ {
+ writer.write("MULTILINESTRING ");
+ appendMultiLineStringText(multiLineString, level, false, writer);
+ }
+
+ /**
+ * Converts a <code>MultiPolygon</code> to <MultiPolygon Tagged Text>
+ * format, then appends it to the writer.
+ *
+ *@param multiPolygon the <code>MultiPolygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPolygonTaggedText(MultiPolygon multiPolygon, int level, Writer writer)
+ throws IOException
+ {
+ writer.write("MULTIPOLYGON ");
+ appendMultiPolygonText(multiPolygon, level, writer);
+ }
+
+ /**
+ * Converts a <code>GeometryCollection</code> to <GeometryCollection
+ * Tagged Text> format, then appends it to the writer.
+ *
+ *@param geometryCollection the <code>GeometryCollection</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryCollectionTaggedText(GeometryCollection geometryCollection, int level,
+ Writer writer)
+ throws IOException
+ {
+ writer.write("GEOMETRYCOLLECTION ");
+ appendGeometryCollectionText(geometryCollection, level, writer);
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <Point Text> format, then
+ * appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ *@param precisionModel the <code>PrecisionModel</code> to use to convert
+ * from a precise coordinate to an external coordinate
+ */
+ private void appendPointText(Coordinate coordinate, int level, Writer writer,
+ PrecisionModel precisionModel)
+ throws IOException
+ {
+ if (coordinate == null) {
+ writer.write("EMPTY");
+ }
+ else {
+ writer.write("(");
+ appendCoordinate(coordinate, writer);
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Appends the i'th coordinate from the sequence to the writer
+ *
+ * @param seq the <code>CoordinateSequence</code> to process
+ * @param i the index of the coordinate to write
+ * @param writer the output writer to append to
+ */
+ private void appendCoordinate(CoordinateSequence seq, int i, Writer writer)
+ throws IOException
+ {
+ writer.write(writeNumber(seq.getX(i)) + " " + writeNumber(seq.getY(i)));
+ if (outputDimension >= 3 && seq.getDimension() >= 3) {
+ double z = seq.getOrdinate(i, 3);
+ if (! Double.isNaN(z)) {
+ writer.write(" ");
+ writer.write(writeNumber(z));
+ }
+ }
+ }
+
+ /**
+ * Converts a <code>Coordinate</code> to <code><Point></code> format,
+ * then appends it to the writer.
+ *
+ *@param coordinate the <code>Coordinate</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendCoordinate(Coordinate coordinate, Writer writer)
+ throws IOException
+ {
+ writer.write(writeNumber(coordinate.x) + " " + writeNumber(coordinate.y));
+ if (outputDimension >= 3 && ! Double.isNaN(coordinate.z)) {
+ writer.write(" ");
+ writer.write(writeNumber(coordinate.z));
+ }
+ }
+
+ /**
+ * Converts a <code>double</code> to a <code>String</code>, not in scientific
+ * notation.
+ *
+ *@param d the <code>double</code> to convert
+ *@return the <code>double</code> as a <code>String</code>, not in
+ * scientific notation
+ */
+ private String writeNumber(double d) {
+ return formatter.format(d);
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Text> format, then
+ * appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendSequenceText(CoordinateSequence seq, int level, boolean doIndent, Writer writer)
+ throws IOException
+ {
+ if (seq.size() == 0) {
+ writer.write("EMPTY");
+ }
+ else {
+ if (doIndent) indent(level, writer);
+ writer.write("(");
+ for (int i = 0; i < seq.size(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ if (coordsPerLine > 0
+ && i % coordsPerLine == 0) {
+ indent(level + 1, writer);
+ }
+ }
+ appendCoordinate(seq, i, writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>LineString</code> to <LineString Text> format, then
+ * appends it to the writer.
+ *
+ *@param lineString the <code>LineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendLineStringText(LineString lineString, int level, boolean doIndent, Writer writer)
+ throws IOException
+ {
+ if (lineString.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ if (doIndent) indent(level, writer);
+ writer.write("(");
+ for (int i = 0; i < lineString.getNumPoints(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ if (coordsPerLine > 0
+ && i % coordsPerLine == 0) {
+ indent(level + 1, writer);
+ }
+ }
+ appendCoordinate(lineString.getCoordinateN(i), writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>Polygon</code> to <Polygon Text> format, then
+ * appends it to the writer.
+ *
+ *@param polygon the <code>Polygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendPolygonText(Polygon polygon, int level, boolean indentFirst, Writer writer)
+ throws IOException
+ {
+ if (polygon.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ if (indentFirst) indent(level, writer);
+ writer.write("(");
+ appendLineStringText(polygon.getExteriorRing(), level, false, writer);
+ for (int i = 0; i < polygon.getNumInteriorRing(); i++) {
+ writer.write(", ");
+ appendLineStringText(polygon.getInteriorRingN(i), level + 1, true, writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>MultiPoint</code> to <MultiPoint Text> format, then
+ * appends it to the writer.
+ *
+ *@param multiPoint the <code>MultiPoint</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPointText(MultiPoint multiPoint, int level, Writer writer)
+ throws IOException
+ {
+ if (multiPoint.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ writer.write("(");
+ for (int i = 0; i < multiPoint.getNumGeometries(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ indentCoords(i, level + 1, writer);
+ }
+ writer.write("(");
+ appendCoordinate(((Point) multiPoint.getGeometryN(i)).getCoordinate(), writer);
+ writer.write(")");
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>MultiLineString</code> to <MultiLineString Text>
+ * format, then appends it to the writer.
+ *
+ *@param multiLineString the <code>MultiLineString</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiLineStringText(MultiLineString multiLineString, int level, boolean indentFirst,
+ Writer writer)
+ throws IOException
+ {
+ if (multiLineString.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ int level2 = level;
+ boolean doIndent = indentFirst;
+ writer.write("(");
+ for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ level2 = level + 1;
+ doIndent = true;
+ }
+ appendLineStringText((LineString) multiLineString.getGeometryN(i), level2, doIndent, writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>MultiPolygon</code> to <MultiPolygon Text> format,
+ * then appends it to the writer.
+ *
+ *@param multiPolygon the <code>MultiPolygon</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendMultiPolygonText(MultiPolygon multiPolygon, int level, Writer writer)
+ throws IOException
+ {
+ if (multiPolygon.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ int level2 = level;
+ boolean doIndent = false;
+ writer.write("(");
+ for (int i = 0; i < multiPolygon.getNumGeometries(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ level2 = level + 1;
+ doIndent = true;
+ }
+ appendPolygonText((Polygon) multiPolygon.getGeometryN(i), level2, doIndent, writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ /**
+ * Converts a <code>GeometryCollection</code> to <GeometryCollectionText>
+ * format, then appends it to the writer.
+ *
+ *@param geometryCollection the <code>GeometryCollection</code> to process
+ *@param writer the output writer to append to
+ */
+ private void appendGeometryCollectionText(GeometryCollection geometryCollection, int level,
+ Writer writer)
+ throws IOException
+ {
+ if (geometryCollection.isEmpty()) {
+ writer.write("EMPTY");
+ }
+ else {
+ int level2 = level;
+ writer.write("(");
+ for (int i = 0; i < geometryCollection.getNumGeometries(); i++) {
+ if (i > 0) {
+ writer.write(", ");
+ level2 = level + 1;
+ }
+ appendGeometryTaggedText(geometryCollection.getGeometryN(i), level2, writer);
+ }
+ writer.write(")");
+ }
+ }
+
+ private void indentCoords(int coordIndex, int level, Writer writer)
+ throws IOException
+ {
+ if (coordsPerLine <= 0
+ || coordIndex % coordsPerLine != 0)
+ return;
+ indent(level, writer);
+ }
+
+ private void indent(int level, Writer writer)
+ throws IOException
+ {
+ if (! useFormatting || level <= 0)
+ return;
+ writer.write("\n");
+ for (int i = 0; i < level; i++) {
+ writer.write(indentTabStr);
+ }
+ }
+
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLConstants.java b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLConstants.java
new file mode 100644
index 0000000..7ef26ad
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLConstants.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+/**
+ * Various constant strings associated with GML format.
+ */
+final public class GMLConstants{
+
+ // Namespace constants
+ public static final String GML_NAMESPACE = "http://www.opengis.net/gml";
+ public static final String GML_PREFIX = "gml";
+
+ // Source Coordinate System
+ public static final String GML_ATTR_SRSNAME = "srsName";
+
+ // GML associative types
+ public static final String GML_GEOMETRY_MEMBER = "geometryMember";
+ public static final String GML_POINT_MEMBER = "pointMember";
+ public static final String GML_POLYGON_MEMBER = "polygonMember";
+ public static final String GML_LINESTRING_MEMBER = "lineStringMember";
+ public static final String GML_OUTER_BOUNDARY_IS = "outerBoundaryIs";
+ public static final String GML_INNER_BOUNDARY_IS = "innerBoundaryIs";
+
+ // Primitive Geometries
+ public static final String GML_POINT = "Point";
+ public static final String GML_LINESTRING = "LineString";
+ public static final String GML_LINEARRING = "LinearRing";
+ public static final String GML_POLYGON = "Polygon";
+ public static final String GML_BOX = "Box";
+
+ // Aggregate Geometries
+ public static final String GML_MULTI_GEOMETRY = "MultiGeometry";
+ public static final String GML_MULTI_POINT = "MultiPoint";
+ public static final String GML_MULTI_LINESTRING = "MultiLineString";
+ public static final String GML_MULTI_POLYGON = "MultiPolygon";
+
+ // Coordinates
+ public static final String GML_COORDINATES = "coordinates";
+ public static final String GML_COORD = "coord";
+ public static final String GML_COORD_X = "X";
+ public static final String GML_COORD_Y = "Y";
+ public static final String GML_COORD_Z = "Z";
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLHandler.java b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLHandler.java
new file mode 100644
index 0000000..1c73179
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLHandler.java
@@ -0,0 +1,274 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Stack;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.gml2.GeometryStrategies.ParseStrategy;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+/**
+ * A SAX {@link DefaultHandler} which builds {@link Geometry}s
+ * from GML2-formatted geometries.
+ * An XML parser can delegate SAX events to this handler
+ * to parse and building Geometrys.
+ * <p>
+ * This handler currently ignores both namespaces and prefixes.
+ *
+ * Hints:
+ * <ul>
+ * <li>If your parent handler is a DefaultHandler register the parent handler to receive the errors and locator calls.
+ * <li>Use {@link GeometryStrategies#findStrategy(String, String)} to help check for applicability
+ * </ul>
+ *
+ * @see DefaultHandler
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class GMLHandler extends DefaultHandler {
+
+ /**
+ * This class is intended to log the SAX activity within a given element until its termination.
+ * At this time, a new object of value is created and passed to the parent.
+ * An object of value is typically either java.lang.* or a JTS Geometry
+ * This class is not intended for use outside this distribution,
+ * and may change in subsequent versions.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+ static class Handler {
+ protected Attributes attrs = null;
+
+ protected ParseStrategy strategy;
+
+ /**
+ * @param strategy
+ * @param attributes Nullable
+ */
+ public Handler(ParseStrategy strategy, Attributes attributes) {
+ if (attributes != null)
+ this.attrs = new AttributesImpl(attributes);
+ this.strategy = strategy;
+ }
+
+ protected StringBuffer text = null;
+
+ /**
+ * Caches text for the future
+ * @param str
+ */
+ public void addText(String str) {
+ if (text == null)
+ text = new StringBuffer();
+ text.append(str);
+ }
+
+ protected List children = null;
+
+ /**
+ * Store param for the future
+ *
+ * @param obj
+ */
+ public void keep(Object obj) {
+ if (children == null)
+ children = new LinkedList();
+ children.add(obj);
+
+ }
+
+ /**
+ * @param gf GeometryFactory
+ * @return Parsed Object
+ * @throws SAXException
+ */
+ public Object create(GeometryFactory gf) throws SAXException {
+ return strategy.parse(this, gf);
+ }
+ }
+
+ private Stack stack = new Stack();
+
+ private ErrorHandler delegate = null;
+
+ private GeometryFactory gf = null;
+
+ /**
+ * Creates a new handler.
+ * Allows the user to specify a delegate object for error / warning messages.
+ * If the delegate also implements ContentHandler then the document Locator will be passed on.
+ *
+ * @param gf Geometry Factory
+ * @param delegate Nullable
+ *
+ * @see ErrorHandler
+ * @see ContentHandler
+ * @see ContentHandler#setDocumentLocator(org.xml.sax.Locator)
+ * @see org.xml.sax.Locator
+ *
+ */
+ public GMLHandler(GeometryFactory gf, ErrorHandler delegate) {
+ this.delegate = delegate;
+ this.gf = gf;
+ stack.push(new Handler(null, null));
+ }
+
+ /**
+ * Tests whether this handler has completed parsing
+ * a geometry.
+ * If this is the case, {@link #getGeometry()} can be called
+ * to get the value of the parsed geometry.
+ *
+ * @return if the parsing of the geometry is complete
+ */
+ public boolean isGeometryComplete()
+ {
+ if (stack.size() > 1)
+ return false;
+ // top level node on stack needs to have at least one child
+ Handler h = (Handler) stack.peek();
+ if (h.children.size() < 1)
+ return false;
+ return true;
+
+ }
+
+ /**
+ * Gets the geometry parsed by this handler.
+ * This method should only be called AFTER the parser has completed execution
+ *
+ * @return the parsed Geometry, or a GeometryCollection if more than one geometry was parsed
+ * @throws IllegalStateException if called before the parse is complete
+ */
+ public Geometry getGeometry() {
+ if (stack.size() == 1) {
+ Handler h = (Handler) stack.peek();
+ if (h.children.size() == 1)
+ return (Geometry) h.children.get(0);
+ return gf.createGeometryCollection(
+ (Geometry[]) h.children.toArray(new Geometry[stack.size()]));
+ }
+ throw new IllegalStateException(
+ "Parse did not complete as expected, there are " + stack.size()
+ + " elements on the Stack");
+ }
+
+ //////////////////////////////////////////////
+ // Parsing Methods
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
+ */
+ public void characters(char[] ch, int start, int length) throws SAXException {
+ if (!stack.isEmpty())
+ ((Handler) stack.peek()).addText(new String(ch, start, length));
+ }
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#ignorableWhitespace(char[], int, int)
+ */
+ public void ignorableWhitespace(char[] ch, int start, int length)
+ throws SAXException {
+ if (!stack.isEmpty())
+ ((Handler) stack.peek()).addText(" ");
+ }
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+ */
+ public void endElement(String uri, String localName, String qName)
+ throws SAXException {
+ Handler thisAction = (Handler) stack.pop();
+ ((Handler) stack.peek()).keep(thisAction.create(gf));
+ }
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
+ */
+ public void startElement(String uri, String localName, String qName,
+ Attributes attributes) throws SAXException {
+ // create a handler
+ ParseStrategy ps = GeometryStrategies.findStrategy(uri, localName);
+ if (ps == null) {
+ String qn = qName.substring(qName.indexOf(':') + 1, qName.length());
+ ps = GeometryStrategies.findStrategy(null, qn);
+ }
+ Handler h = new Handler(ps, attributes);
+ // and add it to the stack
+ stack.push(h);
+ }
+
+ //////////////////////////////////////////////
+ // Logging Methods
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#setDocumentLocator(org.xml.sax.Locator)
+ */
+ public void setDocumentLocator(Locator locator) {
+ this.locator = locator;
+ if (delegate != null && delegate instanceof ContentHandler)
+ ((ContentHandler) delegate).setDocumentLocator(locator);
+
+ }
+
+ private Locator locator = null;
+
+ protected Locator getDocumentLocator() {
+ return locator;
+ }
+
+ //////////////////////////////////////////////
+ // ERROR Methods
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#fatalError(org.xml.sax.SAXParseException)
+ */
+ public void fatalError(SAXParseException e) throws SAXException {
+ if (delegate != null)
+ delegate.fatalError(e);
+ else
+ super.fatalError(e);
+ }
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#error(org.xml.sax.SAXParseException)
+ */
+ public void error(SAXParseException e) throws SAXException {
+ if (delegate != null)
+ delegate.error(e);
+ else
+ super.error(e);
+ }
+
+ /**
+ * @see org.xml.sax.helpers.DefaultHandler#warning(org.xml.sax.SAXParseException)
+ */
+ public void warning(SAXParseException e) throws SAXException {
+ if (delegate != null)
+ delegate.warning(e);
+ else
+ super.warning(e);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLReader.java b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLReader.java
new file mode 100644
index 0000000..5a99bb8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLReader.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+/**
+ * Reads a GML2 geometry from an XML fragment into a {@link Geometry}.
+ * <p>
+ * An example of the GML2 format handled is:
+ * <pre>
+ * <LineString>
+ * <coordinates>
+ * 24824.045318333192,38536.15071012041
+ * 26157.378651666528,37567.42733944659 26666.666,36000.0
+ * 26157.378651666528,34432.57266055341
+ * 24824.045318333192,33463.84928987959
+ * 23175.954681666804,33463.84928987959
+ * 21842.621348333472,34432.57266055341 21333.333,36000.0
+ * 21842.621348333472,37567.42733944659
+ * 23175.954681666808,38536.15071012041
+ * </coordinates>
+ * </LineString>
+ * </pre>
+ *
+ * The reader ignores namespace prefixes,
+ * and disables both the validation and namespace options on the <tt>SAXParser</tt>.
+ * This class requires the presence of a SAX Parser available via the
+ * {@link javax.xml.parsers.SAXParserFactory#newInstance()}
+ * method.
+ * <p>
+ * A specification of the GML XML format
+ * can be found at the OGC web site: <a href='http://www.opengeospatial.org/'>http://www.opengeospatial.org/</a>.
+ * <p>
+ * It is the caller's responsibility to ensure that the supplied {@link PrecisionModel}
+ * matches the precision of the incoming data.
+ * If a lower precision for the data is required, a subsequent
+ * process must be run on the data to reduce its precision.
+ * <p>
+ * To parse and build geometry directly from a SAX stream, see {@link GMLHandler}.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ *
+ * @see GMLHandler
+ */
+public class GMLReader
+{
+
+ /**
+ * Reads a GML2 Geometry from a <tt>String</tt> into a single {@link Geometry}
+ *
+ * If a collection of geometries is found, a {@link GeometryCollection} is returned.
+ *
+ * @param gml The GML String to parse
+ * @param geometryFactory When null, a default will be used.
+ * @return the resulting JTS Geometry
+ *
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ *
+ * @see #read(Reader, GeometryFactory)
+ */
+ public Geometry read(String gml, GeometryFactory geometryFactory) throws SAXException, IOException, ParserConfigurationException{
+ return read(new StringReader(gml),geometryFactory);
+ }
+
+ /**
+ * Reads a GML2 Geometry from a {@link Reader} into a single {@link Geometry}
+ *
+ * If a collection of Geometries is found, a {@link GeometryCollection} is returned.
+ *
+ * @param reader The input source
+ * @param geometryFactory When null, a default will be used.
+ * @return The resulting JTS Geometry
+ * @throws SAXException
+ * @throws IOException
+ */
+ public Geometry read(Reader reader, GeometryFactory geometryFactory) throws SAXException, IOException, ParserConfigurationException{
+ SAXParserFactory fact = SAXParserFactory.newInstance();
+
+ fact.setNamespaceAware(false);
+ fact.setValidating(false);
+
+ SAXParser parser = fact.newSAXParser();
+
+ if(geometryFactory == null)
+ geometryFactory = new GeometryFactory();
+
+ GMLHandler gh = new GMLHandler(geometryFactory,null);
+ parser.parse(new InputSource(reader), (DefaultHandler)gh);
+
+ return gh.getGeometry();
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLWriter.java b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLWriter.java
new file mode 100644
index 0000000..be41101
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GMLWriter.java
@@ -0,0 +1,477 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * Writes {@link Geometry}s as XML fragments in GML2 format.
+ * Allows specifying the XML prefix, namespace and srsName
+ * of the emitted GML.
+ * Also allows adding custom root elements
+ * to support GML extensions such as KML.
+ * With appropriate settings for prefix (none) and custom root elements
+ * this class can be used to write out geometry in KML format.
+ * <p>
+ * An example of the output that can be generated is:
+ *
+ * <pre>
+ * <gml:LineString xmlns:gml='http://www.opengis.net/gml' srsName='foo'>
+ * <gml:coordinates>
+ * 6.03,8.17 7.697,6.959 8.333,5.0 7.697,3.041 6.03,1.83 3.97,1.83 2.303,3.041 1.667,5.0 2.303,6.959 3.97,8.17
+ * </gml:coordinates>
+ * </gml:LineString>
+ * </pre>
+ *
+ * <p>
+ * This class does not rely on any external XML libraries.
+ *
+ * @author David Zwiers, Vivid Solutions
+ * @author Martin Davis
+ */
+public class GMLWriter {
+ private final String INDENT = " ";
+
+ private int startingIndentIndex = 0;
+
+ private int maxCoordinatesPerLine = 10;
+
+ private boolean emitNamespace = false;
+
+ private boolean isRootTag = false;
+
+ private String prefix = GMLConstants.GML_PREFIX;
+ private String namespace = GMLConstants.GML_NAMESPACE;
+ private String srsName = null;
+
+ private String[] customElements = null;
+
+ /**
+ * Creates a writer which outputs GML with default settings.
+ * The defaults are:
+ * <ul>
+ * <li>the namespace prefix is <tt>gml:</tt>
+ * <li>no namespace prefix declaration is written
+ * <li>no <tt>srsName</tt> attribute is written
+ * </ul>
+ */
+ public GMLWriter() {
+ }
+
+ /**
+ * Creates a writer which may emit the GML namespace prefix
+ * declaration in the geometry root element.
+ *
+ * @param emitNamespace true if the GML namespace prefix declaration should be written
+ * in the geometry root element
+ */
+ public GMLWriter(boolean emitNamespace) {
+ this.setNamespace(emitNamespace);
+ }
+
+ /**
+ * Specifies the namespace prefix to write on each GML tag.
+ * A null or blank prefix may be used to indicate no prefix.
+ * <p>
+ * The default is to write <tt>gml:</tt> as the namespace prefix.
+ *
+ * @param prefix the namespace prefix to use (<tt>null</tt> or blank if none)
+ */
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ /**
+ * Sets the value of the <tt>srsName</tt> attribute
+ * to be written into the root geometry tag.
+ * If the value is <tt>null</tt> or blank no srsName attribute will be written.
+ * The provided value must be a valid XML attribute value
+ * - it will not be XML-escaped.
+ * <p>
+ * The default is not to write the <tt>srsName</tt> attribute.
+ *
+ * @param srsName the srsName attribute value
+ */
+ public void setSrsName(String srsName) {
+ this.srsName = srsName;
+ }
+
+ /**
+ * Determines whether a GML namespace declaration will be written in the
+ * opening tag of geometries. Useful in XML-aware environments which
+ * parse the geometries before use, such as XSLT.
+ *
+ * @param emitNamespace true if the GML namespace prefix declaration
+ * should be written in the root geometry element
+ */
+ public void setNamespace(boolean emitNamespace) {
+ this.emitNamespace = emitNamespace;
+ }
+
+ /**
+ * Specifies a list of custom elements
+ * which are written after the opening tag
+ * of the root element.
+ * The text contained in the string sequence should form valid XML markup.
+ * The specified strings are written one per line immediately after
+ * the root geometry tag line.
+ * <p>
+ * For instance, this is useful for adding KML-specific geometry parameters
+ * such as <tt><extrude></tt>
+ *
+ * @param customElements a list of the custom element strings, or null if none
+ */
+ public void setCustomElements(String[] customElements) {
+ this.customElements = customElements;
+ }
+
+ /**
+ * Sets the starting column index for pretty printing
+ *
+ * @param indent
+ */
+ public void setStartingIndentIndex(int indent) {
+ if (indent < 0)
+ indent = 0;
+ startingIndentIndex = indent;
+ }
+
+ /**
+ * Sets the number of coordinates printed per line.
+ *
+ * @param num
+ */
+ public void setMaxCoordinatesPerLine(int num) {
+ if (num < 1)
+ throw new IndexOutOfBoundsException(
+ "Invalid coordinate count per line, must be > 0");
+ maxCoordinatesPerLine = num;
+ }
+
+ /**
+ * Writes a {@link Geometry} in GML2 format to a String.
+ *
+ * @param geom
+ * @return String GML2 Encoded Geometry
+ */
+ public String write(Geometry geom)
+ {
+ StringWriter writer = new StringWriter();
+ try {
+ write(geom, writer);
+ }
+ catch (IOException ex) {
+ Assert.shouldNeverReachHere();
+ }
+ return writer.toString();
+ }
+
+ /**
+ * Writes a {@link Geometry} in GML2 format into a {@link Writer}.
+ *
+ * @param geom Geometry to encode
+ * @param writer Stream to encode to.
+ * @throws IOException
+ */
+ public void write(Geometry geom, Writer writer) throws IOException {
+ write(geom, writer, startingIndentIndex);
+ }
+
+ private void write(Geometry geom, Writer writer, int level)
+ throws IOException
+ {
+ isRootTag = true;
+ if (geom instanceof Point) {
+ writePoint((Point) geom, writer, level);
+ } else if (geom instanceof LineString) {
+ writeLineString((LineString) geom, writer, level);
+ } else if (geom instanceof Polygon) {
+ writePolygon((Polygon) geom, writer, level);
+ } else if (geom instanceof MultiPoint) {
+ writeMultiPoint((MultiPoint) geom, writer, level);
+ } else if (geom instanceof MultiLineString) {
+ writeMultiLineString((MultiLineString) geom, writer, level);
+ } else if (geom instanceof MultiPolygon) {
+ writeMultiPolygon((MultiPolygon) geom, writer, level);
+ } else if (geom instanceof GeometryCollection) {
+ writeGeometryCollection((GeometryCollection) geom, writer,
+ startingIndentIndex);
+ } else {
+ throw new IllegalArgumentException("Unhandled geometry type: "
+ + geom.getGeometryType());
+ }
+ writer.flush();
+ }
+
+ // <gml:Point><gml:coordinates>1195156.78946687,382069.533723461</gml:coordinates></gml:Point>
+ private void writePoint(Point p, Writer writer, int level) throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_POINT, p, writer);
+
+ write(new Coordinate[] { p.getCoordinate() }, writer, level + 1);
+
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_POINT, writer);
+ }
+
+ //<gml:LineString><gml:coordinates>1195123.37289257,381985.763974674 1195120.22369473,381964.660533343 1195118.14929823,381942.597718511</gml:coordinates></gml:LineString>
+ private void writeLineString(LineString ls, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_LINESTRING, ls, writer);
+
+ write(ls.getCoordinates(), writer, level + 1);
+
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_LINESTRING, writer);
+ }
+
+ //<gml:LinearRing><gml:coordinates>1226890.26761027,1466433.47430292 1226880.59239079,1466427.03208053...></coordinates></gml:LinearRing>
+ private void writeLinearRing(LinearRing lr, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_LINEARRING, lr, writer);
+
+ write(lr.getCoordinates(), writer, level + 1);
+
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_LINEARRING, writer);
+ }
+
+ private void writePolygon(Polygon p, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_POLYGON, p, writer);
+
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_OUTER_BOUNDARY_IS, null, writer);
+
+ writeLinearRing((LinearRing) p.getExteriorRing(), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_OUTER_BOUNDARY_IS, writer);
+
+ for (int t = 0; t < p.getNumInteriorRing(); t++) {
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_INNER_BOUNDARY_IS, null, writer);
+
+ writeLinearRing((LinearRing) p.getInteriorRingN(t), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_INNER_BOUNDARY_IS, writer);
+ }
+
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_POLYGON, writer);
+ }
+
+ private void writeMultiPoint(MultiPoint mp, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_MULTI_POINT, mp, writer);
+
+ for (int t = 0; t < mp.getNumGeometries(); t++) {
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_POINT_MEMBER, null, writer);
+
+ writePoint((Point) mp.getGeometryN(t), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_POINT_MEMBER, writer);
+ }
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_MULTI_POINT, writer);
+ }
+
+ private void writeMultiLineString(MultiLineString mls, Writer writer,
+ int level) throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_MULTI_LINESTRING, mls, writer);
+
+ for (int t = 0; t < mls.getNumGeometries(); t++) {
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_LINESTRING_MEMBER, null, writer);
+
+ writeLineString((LineString) mls.getGeometryN(t), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_LINESTRING_MEMBER, writer);
+ }
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_MULTI_LINESTRING, writer);
+ }
+
+ private void writeMultiPolygon(MultiPolygon mp, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_MULTI_POLYGON, mp, writer);
+
+ for (int t = 0; t < mp.getNumGeometries(); t++) {
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_POLYGON_MEMBER, null, writer);
+
+ writePolygon((Polygon) mp.getGeometryN(t), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_POLYGON_MEMBER, writer);
+ }
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_MULTI_POLYGON, writer);
+ }
+
+ private void writeGeometryCollection(GeometryCollection gc, Writer writer,
+ int level) throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_MULTI_GEOMETRY, gc, writer);
+
+ for (int t = 0; t < gc.getNumGeometries(); t++) {
+ startLine(level + 1, writer);
+ startGeomTag(GMLConstants.GML_GEOMETRY_MEMBER, null, writer);
+
+ write(gc.getGeometryN(t), writer, level + 2);
+
+ startLine(level + 1, writer);
+ endGeomTag(GMLConstants.GML_GEOMETRY_MEMBER, writer);
+ }
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_MULTI_GEOMETRY, writer);
+ }
+
+ private static final String coordinateSeparator = ",";
+
+ private static final String tupleSeparator = " ";
+
+ /**
+ * Takes a list of coordinates and converts it to GML.<br>
+ * 2d and 3d aware.
+ *
+ * @param coords array of coordinates
+ * @throws IOException
+ */
+ private void write(Coordinate[] coords, Writer writer, int level)
+ throws IOException {
+ startLine(level, writer);
+ startGeomTag(GMLConstants.GML_COORDINATES, null, writer);
+
+ int dim = 2;
+
+ if (coords.length > 0) {
+ if (!(Double.isNaN(coords[0].z)))
+ dim = 3;
+ }
+
+ boolean isNewLine = true;
+ for (int i = 0; i < coords.length; i++) {
+ if (isNewLine) {
+ startLine(level + 1, writer);
+ isNewLine = false;
+ }
+ if (dim == 2) {
+ writer.write("" + coords[i].x);
+ writer.write(coordinateSeparator);
+ writer.write("" + coords[i].y);
+ } else if (dim == 3) {
+ writer.write("" + coords[i].x);
+ writer.write(coordinateSeparator);
+ writer.write("" + coords[i].y);
+ writer.write(coordinateSeparator);
+ writer.write("" + coords[i].z);
+ }
+ writer.write(tupleSeparator);
+
+ // break output lines to prevent them from getting too long
+ if ((i + 1) % maxCoordinatesPerLine == 0 && i < coords.length - 1) {
+ writer.write("\n");
+ isNewLine = true;
+ }
+ }
+ if (!isNewLine)
+ writer.write("\n");
+
+ startLine(level, writer);
+ endGeomTag(GMLConstants.GML_COORDINATES, writer);
+ }
+
+ private void startLine(int level, Writer writer) throws IOException {
+ for (int i = 0; i < level; i++)
+ writer.write(INDENT);
+ }
+
+ private void startGeomTag(String geometryName, Geometry g, Writer writer)
+ throws IOException {
+ writer.write("<"
+ + ((prefix == null || "".equals(prefix)) ? "" : prefix + ":"));
+ writer.write(geometryName);
+ writeAttributes(g, writer);
+ writer.write(">\n");
+ writeCustomElements(g, writer);
+ isRootTag = false;
+ }
+
+ private void writeAttributes(Geometry geom, Writer writer) throws IOException {
+ if (geom == null)
+ return;
+ if (! isRootTag)
+ return;
+
+ if (emitNamespace) {
+ writer.write(" xmlns"
+ + ((prefix == null || "".equals(prefix)) ? "" : ":"+prefix )
+ + "='" + namespace + "'");
+ }
+ if (srsName != null && srsName.length() > 0) {
+ writer.write(" " + GMLConstants.GML_ATTR_SRSNAME + "='" + srsName + "'");
+ // MD - obsoleted
+// writer.write(geom.getSRID() + "");
+ }
+ }
+
+ private void writeCustomElements(Geometry geom, Writer writer) throws IOException {
+ if (geom == null) return;
+ if (! isRootTag) return;
+ if (customElements == null) return;
+
+ for (int i = 0; i < customElements.length; i++) {
+ writer.write(customElements[i]);
+ writer.write("\n");
+ }
+ }
+
+ private void endGeomTag(String geometryName, Writer writer)
+ throws IOException {
+ writer.write("</" + prefix());
+ writer.write(geometryName);
+ writer.write(">\n");
+ }
+
+ private String prefix()
+ {
+ if (prefix == null || prefix.length() == 0)
+ return "";
+ return prefix + ":";
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/GeometryStrategies.java b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GeometryStrategies.java
new file mode 100644
index 0000000..d54977b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/GeometryStrategies.java
@@ -0,0 +1,527 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.WeakHashMap;
+import java.util.regex.Pattern;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.io.gml2.GMLHandler.Handler;
+import org.locationtech.jts.util.StringUtil;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Container for GML2 Geometry parsing strategies which can be represented in JTS.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class GeometryStrategies{
+
+ /**
+ * This set of strategies is not expected to be used directly outside of this distribution.
+ *
+ * The implementation of this class are intended to be used as static function points in C. These strategies should be associated with an element when the element begins. The strategy is utilized at the end of the element to create an object of value to the user.
+ *
+ * In this case all the objects are either java.lang.* or JTS Geometry objects
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+ static interface ParseStrategy{
+ /**
+ * @param arg Value to interpret
+ * @param gf GeometryFactory
+ * @return The interpreted value
+ * @throws SAXException
+ */
+ Object parse(Handler arg, GeometryFactory gf) throws SAXException;
+ }
+
+ private static HashMap strategies = loadStrategies();
+ private static HashMap loadStrategies(){
+ HashMap strats = new HashMap();
+
+ // point
+ strats.put(GMLConstants.GML_POINT.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()!=1)
+ throw new SAXException("Cannot create a point without exactly one coordinate");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ Object c = arg.children.get(0);
+ Point p = null;
+ if(c instanceof Coordinate){
+ p = gf.createPoint((Coordinate)c);
+ }else{
+ p = gf.createPoint((CoordinateSequence)c);
+ }
+ if(p.getSRID()!=srid)
+ p.setSRID(srid);
+
+ return p;
+ }
+ });
+
+ // linestring
+ strats.put(GMLConstants.GML_LINESTRING.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a linestring without atleast two coordinates or one coordinate sequence");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ LineString ls = null;
+ if(arg.children.size() == 1){
+ // coord set
+ try{
+ CoordinateSequence cs = (CoordinateSequence) arg.children.get(0);
+ ls = gf.createLineString(cs);
+ }catch(ClassCastException e){
+ throw new SAXException("Cannot create a linestring without atleast two coordinates or one coordinate sequence",e);
+ }
+ }else{
+ try{
+ Coordinate[] coords = (Coordinate[]) arg.children.toArray(new Coordinate[arg.children.size()]);
+ ls = gf.createLineString(coords);
+ }catch(ClassCastException e){
+ throw new SAXException("Cannot create a linestring without atleast two coordinates or one coordinate sequence",e);
+ }
+ }
+
+ if(ls.getSRID()!=srid)
+ ls.setSRID(srid);
+
+ return ls;
+ }
+ });
+
+ // linearring
+ strats.put(GMLConstants.GML_LINEARRING.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()!=1 && arg.children.size()<4)
+ throw new SAXException("Cannot create a linear ring without atleast four coordinates or one coordinate sequence");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ LinearRing ls = null;
+ if(arg.children.size() == 1){
+ // coord set
+ try{
+ CoordinateSequence cs = (CoordinateSequence) arg.children.get(0);
+ ls = gf.createLinearRing(cs);
+ }catch(ClassCastException e){
+ throw new SAXException("Cannot create a linear ring without atleast four coordinates or one coordinate sequence",e);
+ }
+ }else{
+ try{
+ Coordinate[] coords = (Coordinate[]) arg.children.toArray(new Coordinate[arg.children.size()]);
+ ls = gf.createLinearRing(coords);
+ }catch(ClassCastException e){
+ throw new SAXException("Cannot create a linear ring without atleast four coordinates or one coordinate sequence",e);
+ }
+ }
+
+ if(ls.getSRID()!=srid)
+ ls.setSRID(srid);
+
+ return ls;
+ }
+ });
+
+ // polygon
+ strats.put(GMLConstants.GML_POLYGON.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a polygon without atleast one linear ring");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ LinearRing outer = (LinearRing) arg.children.get(0); // will be the first
+ List t = arg.children.size()>1?arg.children.subList(1,arg.children.size()):null;
+ LinearRing[] inner = t==null?null:(LinearRing[]) t.toArray(new LinearRing[t.size()]);
+
+ Polygon p = gf.createPolygon(outer,inner);
+
+ if(p.getSRID()!=srid)
+ p.setSRID(srid);
+
+ return p;
+ }
+ });
+
+ // box
+ strats.put(GMLConstants.GML_BOX.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1 || arg.children.size()>2)
+ throw new SAXException("Cannot create a box without either two coords or one coordinate sequence");
+
+// int srid = getSrid(arg.attrs,gf.getSRID());
+
+ Envelope box = null;
+ if(arg.children.size() == 1){
+ CoordinateSequence cs = (CoordinateSequence) arg.children.get(0);
+ box = cs.expandEnvelope(new Envelope());
+ }else{
+ box = new Envelope((Coordinate)arg.children.get(0),(Coordinate)arg.children.get(1));
+ }
+
+ return box;
+ }
+ });
+
+ // multi-point
+ strats.put(GMLConstants.GML_MULTI_POINT.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a multi-point without atleast one point");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ Point[] pts = (Point[]) arg.children.toArray(new Point[arg.children.size()]);
+
+ MultiPoint mp = gf.createMultiPoint(pts);
+
+ if(mp.getSRID()!=srid)
+ mp.setSRID(srid);
+
+ return mp;
+ }
+ });
+
+ // multi-linestring
+ strats.put(GMLConstants.GML_MULTI_LINESTRING.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a multi-linestring without atleast one linestring");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ LineString[] lns = (LineString[]) arg.children.toArray(new LineString[arg.children.size()]);
+
+ MultiLineString mp = gf.createMultiLineString(lns);
+
+ if(mp.getSRID()!=srid)
+ mp.setSRID(srid);
+
+ return mp;
+ }
+ });
+
+ // multi-poly
+ strats.put(GMLConstants.GML_MULTI_POLYGON.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a multi-polygon without atleast one polygon");
+
+ int srid = getSrid(arg.attrs,gf.getSRID());
+
+ Polygon[] plys = (Polygon[]) arg.children.toArray(new Polygon[arg.children.size()]);
+
+ MultiPolygon mp = gf.createMultiPolygon(plys);
+
+ if(mp.getSRID()!=srid)
+ mp.setSRID(srid);
+
+ return mp;
+ }
+ });
+
+ // multi-geom
+ strats.put(GMLConstants.GML_MULTI_GEOMETRY.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a multi-polygon without atleast one geometry");
+
+ Geometry[] geoms = (Geometry[]) arg.children.toArray(new Geometry[arg.children.size()]);
+
+ GeometryCollection gc = gf.createGeometryCollection(geoms);
+
+ return gc;
+ }
+ });
+
+ // coordinates
+ strats.put(GMLConstants.GML_COORDINATES.toLowerCase(),new ParseStrategy(){
+
+ private WeakHashMap patterns = new WeakHashMap();
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.text == null || "".equals(arg.text))
+ throw new SAXException("Cannot create a coordinate sequence without text to parse");
+
+ String decimal = ".";
+ String coordSeperator = ",";
+ String toupleSeperator = " ";
+
+ // get overides from coordinates
+ if(arg.attrs.getIndex("decimal")>=0)
+ decimal = arg.attrs.getValue("decimal");
+ else if(arg.attrs.getIndex(GMLConstants.GML_NAMESPACE,"decimal")>=0)
+ decimal = arg.attrs.getValue(GMLConstants.GML_NAMESPACE,"decimal");
+
+ if(arg.attrs.getIndex("cs")>=0)
+ coordSeperator = arg.attrs.getValue("cs");
+ else if(arg.attrs.getIndex(GMLConstants.GML_NAMESPACE,"cs")>=0)
+ coordSeperator = arg.attrs.getValue(GMLConstants.GML_NAMESPACE,"cs");
+
+ if(arg.attrs.getIndex("ts")>=0)
+ toupleSeperator = arg.attrs.getValue("ts");
+ else if(arg.attrs.getIndex(GMLConstants.GML_NAMESPACE,"ts")>=0)
+ toupleSeperator = arg.attrs.getValue(GMLConstants.GML_NAMESPACE,"ts");
+
+ // now to start parse
+ String t = arg.text.toString();
+ t = t.replaceAll("\\s"," ");
+
+ Pattern ptn = (Pattern) patterns.get(toupleSeperator);
+ if(ptn == null){
+ String ts = new String(toupleSeperator);
+ if(ts.indexOf('\\')>-1){
+ // need to escape it
+ ts = ts.replaceAll("\\","\\\\");
+ }
+ if(ts.indexOf('.')>-1){
+ // need to escape it
+ ts = ts.replaceAll("\\.","\\\\.");
+ }
+ ptn = Pattern.compile(ts);
+ patterns.put(toupleSeperator,ptn);
+ }
+ String[] touples = ptn.split(t.trim());// t.trim().split(toupleSeperator);
+
+ if(touples.length == 0)
+ throw new SAXException("Cannot create a coordinate sequence without a touple to parse");
+
+ // we may have null touples, so calculate the num first
+ int numNonNullTouples = 0;
+ for(int i=0;i<touples.length;i++){
+ if(touples[i] !=null && !"".equals(touples[i].trim())){
+ if(i!=numNonNullTouples){
+ touples[numNonNullTouples] = touples[i]; // always shift left
+ }
+ numNonNullTouples++;
+ }
+ }
+ for(int i=numNonNullTouples;i<touples.length;i++)
+ touples[i] = null;
+
+ // null touples now at end of array
+ if(numNonNullTouples == 0)
+ throw new SAXException("Cannot create a coordinate sequence without a non-null touple to parse");
+
+ int dim = StringUtil.split(touples[0], coordSeperator).length;
+ CoordinateSequence cs = gf.getCoordinateSequenceFactory().create(numNonNullTouples,dim);
+ dim = cs.getDimension(); // max dim
+
+ boolean replaceDec = !".".equals(decimal);
+
+ for(int i=0;i<numNonNullTouples;i++){
+ // for each touple, split, parse, add
+
+ ptn = (Pattern) patterns.get(coordSeperator);
+ if(ptn == null){
+ String ts = new String(coordSeperator);
+ if(ts.indexOf('\\')>-1){
+ // need to escape it
+ ts = ts.replaceAll("\\","\\\\");
+ }
+ if(ts.indexOf('.')>-1){
+ // need to escape it
+ ts = ts.replaceAll("\\.","\\\\.");
+ }
+ ptn = Pattern.compile(ts);
+ patterns.put(coordSeperator,ptn);
+ }
+ String[] coords = ptn.split(touples[i]);// touples[i].split(coordSeperator);
+
+ int dimIndex = 0;
+ for(int j=0;j<coords.length && j<dim;j++){
+ if(coords[j] != null && !"".equals(coords[j].trim())){
+ double ordinate = Double.parseDouble(replaceDec?coords[j].replaceAll(decimal,"."):coords[j]);
+ cs.setOrdinate(i,dimIndex++,ordinate);
+ }
+ }
+ // fill remaining dim
+ for(;dimIndex<dim;)cs.setOrdinate(i,dimIndex++,Double.NaN);
+ }
+
+ return cs;
+ }
+ });
+
+ // coord
+ strats.put(GMLConstants.GML_COORD.toLowerCase(),new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ // one child, either a coord
+ // or a coordinate sequence
+
+ if(arg.children.size()<1)
+ throw new SAXException("Cannot create a coordinate without atleast one axis");
+ if(arg.children.size()>3)
+ throw new SAXException("Cannot create a coordinate with more than 3 axis");
+
+ Double[] axis = (Double[]) arg.children.toArray(new Double[arg.children.size()]);
+ Coordinate c = new Coordinate();
+ c.x = axis[0].doubleValue();
+ if(axis.length>1)
+ c.y = axis[1].doubleValue();
+ if(axis.length>2)
+ c.z = axis[2].doubleValue();
+
+ return c;
+ }
+ });
+
+ ParseStrategy coord_child = new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ if(arg.text == null)
+ return null;
+ return new Double((arg.text.toString()));
+ }
+ };
+
+ // coord-x
+ strats.put(GMLConstants.GML_COORD_X.toLowerCase(),coord_child);
+
+ // coord-y
+ strats.put(GMLConstants.GML_COORD_Y.toLowerCase(),coord_child);
+
+ // coord-z
+ strats.put(GMLConstants.GML_COORD_Z.toLowerCase(),coord_child);
+
+ ParseStrategy member = new ParseStrategy(){
+
+ public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
+ if(arg.children.size()!=1)
+ throw new SAXException("Geometry Members may only contain one geometry.");
+
+ // type checking will occur in the parent geom collection.
+ // may wish to add this in the future
+
+ return arg.children.get(0);
+ }
+ };
+ // outerBoundary - linear ring member
+ strats.put(GMLConstants.GML_OUTER_BOUNDARY_IS.toLowerCase(),member);
+
+ // innerBoundary - linear ring member
+ strats.put(GMLConstants.GML_INNER_BOUNDARY_IS.toLowerCase(),member);
+
+ // point member
+ strats.put(GMLConstants.GML_POINT_MEMBER.toLowerCase(),member);
+
+ // line string member
+ strats.put(GMLConstants.GML_LINESTRING_MEMBER.toLowerCase(),member);
+
+ // polygon member
+ strats.put(GMLConstants.GML_POLYGON_MEMBER.toLowerCase(),member);
+
+ return strats;
+ }
+
+ static int getSrid(Attributes attrs, int defaultValue){
+ String srs = null;
+ if(attrs.getIndex(GMLConstants.GML_ATTR_SRSNAME)>=0)
+ srs = attrs.getValue(GMLConstants.GML_ATTR_SRSNAME);
+ else if(attrs.getIndex(GMLConstants.GML_NAMESPACE,GMLConstants.GML_ATTR_SRSNAME)>=0)
+ srs = attrs.getValue(GMLConstants.GML_NAMESPACE,GMLConstants.GML_ATTR_SRSNAME);
+
+ if(srs != null){
+ srs = srs.trim();
+ if(srs != null && !"".equals(srs)){
+ try{
+ return Integer.parseInt(srs);
+ }catch(NumberFormatException e){
+ // rip out the end, uri's are used here sometimes
+ int index = srs.lastIndexOf('#');
+ if(index > -1)
+ srs = srs.substring(index);
+ try{
+ return Integer.parseInt(srs);
+ }catch(NumberFormatException e2){
+ // ignore
+ }
+ }
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * @param uri Not currently used, included for future work
+ * @param localName Used to look up an appropriate parse strategy
+ * @return The ParseStrategy which should be employed
+ *
+ * @see ParseStrategy
+ */
+ public static ParseStrategy findStrategy(String uri,String localName){
+ return localName == null?null:(ParseStrategy) strategies.get(localName.toLowerCase());
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/gml2/package.html b/modules/core/src/main/java/org/locationtech/jts/io/gml2/package.html
new file mode 100644
index 0000000..5b271fe
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/gml2/package.html
@@ -0,0 +1,6 @@
+<html>
+ <head><title>JTS IO: Java Topology Suite IO Library</title></head>
+ <body>
+ Classes to read and write the GML2 geometry format.
+ </body>
+</html>
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/kml/KMLWriter.java b/modules/core/src/main/java/org/locationtech/jts/io/kml/KMLWriter.java
new file mode 100644
index 0000000..4f9c15b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/kml/KMLWriter.java
@@ -0,0 +1,399 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io.kml;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.StringUtil;
+
+
+/**
+ * Writes a formatted string containing the KML representation of a JTS
+ * {@link Geometry}.
+ * The output is KML fragments which
+ * can be substituted wherever the KML <i>Geometry</i> abstract element can be used.
+ * <p>
+ * Output elements are indented to provide a
+ * nicely-formatted representation.
+ * An output line prefix and maximum
+ * number of coordinates per line can be specified.
+ * <p>
+ * The Z ordinate value output can be forced to be a specific value.
+ * The <code>extrude</code> and <code>altitudeMode</code> modes can be set.
+ * If set, the corresponding sub-elements will be output.
+ */
+public class KMLWriter
+{
+ /**
+ * The KML standard value <code>clampToGround</code> for use in {@link #setAltitudeMode(String)}.
+ */
+ public static String ALTITUDE_MODE_CLAMPTOGROUND = "clampToGround ";
+ /**
+ * The KML standard value <code>relativeToGround</code> for use in {@link #setAltitudeMode(String)}.
+ */
+ public static String ALTITUDE_MODE_RELATIVETOGROUND = "relativeToGround ";
+ /**
+ * The KML standard value <code>absolute</code> for use in {@link #setAltitudeMode(String)}.
+ */
+ public static String ALTITUDE_MODE_ABSOLUTE = "absolute";
+
+ /**
+ * Writes a Geometry as KML to a string, using
+ * a specified Z value.
+ *
+ * @param geometry the geometry to write
+ * @param z the Z value to use
+ * @return a string containing the KML geometry representation
+ */
+ public static String writeGeometry(Geometry geometry, double z) {
+ KMLWriter writer = new KMLWriter();
+ writer.setZ(z);
+ return writer.write(geometry);
+ }
+
+ /**
+ * Writes a Geometry as KML to a string, using
+ * a specified Z value, precision, extrude flag,
+ * and altitude mode code.
+ *
+ * @param geometry the geometry to write
+ * @param z the Z value to use
+ * @param precision the maximum number of decimal places to write
+ * @param extrude the extrude flag to write
+ * @param altitudeMode the altitude model code to write
+ * @return a string containing the KML geometry representation
+ */
+ public static String writeGeometry(Geometry geometry, double z, int precision,
+ boolean extrude, String altitudeMode) {
+ KMLWriter writer = new KMLWriter();
+ writer.setZ(z);
+ writer.setPrecision(precision);
+ writer.setExtrude(extrude);
+ writer.setAltitudeMode(altitudeMode);
+ return writer.write(geometry);
+ }
+
+ private final int INDENT_SIZE = 2;
+ private static final String COORDINATE_SEPARATOR = ",";
+ private static final String TUPLE_SEPARATOR = " ";
+
+ private String linePrefix = null;
+ private int maxCoordinatesPerLine = 5;
+ private double zVal = Double.NaN;
+ private boolean extrude = false;
+ private boolean tesselate;
+ private String altitudeMode = null;
+ private DecimalFormat numberFormatter = null;
+
+ /**
+ * Creates a new writer.
+ */
+ public KMLWriter() {
+ }
+
+ /**
+ * Sets a tag string which is prefixed to every emitted text line.
+ * This can be used to indent the geometry text in a containing document.
+ *
+ * @param linePrefix the tag string
+ */
+ public void setLinePrefix(String linePrefix) {
+ this.linePrefix = linePrefix;
+ }
+
+ /**
+ * Sets the maximum number of coordinates to output per line.
+ *
+ * @param maxCoordinatesPerLine the maximum number of coordinates to output
+ */
+ public void setMaximumCoordinatesPerLine(int maxCoordinatesPerLine) {
+ if (maxCoordinatesPerLine <= 0) {
+ maxCoordinatesPerLine = 1;
+ return;
+ }
+ this.maxCoordinatesPerLine = maxCoordinatesPerLine;
+ }
+
+ /**
+ * Sets the Z value to be output for all coordinates.
+ * This overrides any Z value present in the Geometry coordinates.
+ *
+ * @param zVal the Z value to output
+ */
+ public void setZ(double zVal) {
+ this.zVal = zVal;
+ }
+
+ /**
+ * Sets the flag to be output in the <code>extrude</code> element.
+ *
+ * @param extrude the extrude flag to output
+ */
+ public void setExtrude(boolean extrude) {
+ this.extrude = extrude;
+ }
+
+ /**
+ * Sets the flag to be output in the <code>tesselate</code> element.
+ *
+ * @param tesselate the tesselate flag to output
+ */
+ public void setTesselate(boolean tesselate) {
+ this.tesselate = tesselate;
+ }
+
+ /**
+ * Sets the value output in the <code>altitudeMode</code> element.
+ *
+ * @param altitudeMode string representing the altitude mode
+ */
+ public void setAltitudeMode(String altitudeMode) {
+ this.altitudeMode = altitudeMode;
+ }
+
+ /**
+ * Sets the maximum number of decimal places to output in ordinate values.
+ * Useful for limiting output size.
+ *
+ * @param precision the number of decimal places to output
+ */
+ public void setPrecision(int precision) {
+ //this.precision = precision;
+ if (precision >= 0)
+ numberFormatter = createFormatter(precision);
+ }
+
+ /**
+ * Writes a {@link Geometry} in KML format as a string.
+ *
+ * @param geom the geometry to write
+ * @return a string containing the KML geometry representation
+ */
+ public String write(Geometry geom) {
+ StringBuffer buf = new StringBuffer();
+ write(geom, buf);
+ return buf.toString();
+ }
+
+ /**
+ * Writes the KML representation of a {@link Geometry} to a {@link Writer}.
+ *
+ * @param geometry the geometry to write
+ * @param writer the Writer to write to
+ * @throws IOException if an I/O error occurred
+ */
+ public void write(Geometry geometry, Writer writer) throws IOException {
+ writer.write(write(geometry));
+ }
+
+ /**
+ * Appends the KML representation of a {@link Geometry} to a {@link StringBuffer}.
+ *
+ * @param geometry the geometry to write
+ * @param buf the buffer to write into
+ */
+ public void write(Geometry geometry, StringBuffer buf) {
+ writeGeometry(geometry, 0, buf);
+ }
+
+ private void writeGeometry(Geometry g, int level, StringBuffer buf) {
+ String attributes = "";
+ if (g instanceof Point) {
+ writePoint((Point) g, attributes, level, buf);
+ } else if (g instanceof LinearRing) {
+ writeLinearRing((LinearRing) g, attributes, true, level, buf);
+ } else if (g instanceof LineString) {
+ writeLineString((LineString) g, attributes, level, buf);
+ } else if (g instanceof Polygon) {
+ writePolygon((Polygon) g, attributes, level, buf);
+ } else if (g instanceof GeometryCollection) {
+ writeGeometryCollection((GeometryCollection) g, attributes, level, buf);
+ }
+ else
+ throw new IllegalArgumentException("Geometry type not supported: " + g.getGeometryType());
+ }
+
+ private void startLine(String text, int level, StringBuffer buf) {
+ if (linePrefix != null)
+ buf.append(linePrefix);
+ buf.append(StringUtil.spaces(INDENT_SIZE * level));
+ buf.append(text);
+ }
+
+ private String geometryTag(String geometryName, String attributes) {
+ StringBuffer buf = new StringBuffer();
+ buf.append("<");
+ buf.append(geometryName);
+ if (attributes != null && attributes.length() > 0) {
+ buf.append(" ");
+ buf.append(attributes);
+ }
+ buf.append(">");
+ return buf.toString();
+ }
+
+ private void writeModifiers(int level, StringBuffer buf)
+ {
+ if (extrude) {
+ startLine("<extrude>1</extrude>\n", level, buf);
+ }
+ if (tesselate) {
+ startLine("<tesselate>1</tesselate>\n", level, buf);
+ }
+ if (altitudeMode != null) {
+ startLine("<altitudeMode>" + altitudeMode + "</altitudeMode>\n", level, buf);
+ }
+ }
+
+ private void writePoint(Point p, String attributes, int level,
+ StringBuffer buf) {
+ // <Point><coordinates>...</coordinates></Point>
+ startLine(geometryTag("Point", attributes) + "\n", level, buf);
+ writeModifiers(level, buf);
+ write(new Coordinate[] { p.getCoordinate() }, level + 1, buf);
+ startLine("</Point>\n", level, buf);
+ }
+
+ private void writeLineString(LineString ls, String attributes, int level,
+ StringBuffer buf) {
+ // <LineString><coordinates>...</coordinates></LineString>
+ startLine(geometryTag("LineString", attributes) + "\n", level, buf);
+ writeModifiers(level, buf);
+ write(ls.getCoordinates(), level + 1, buf);
+ startLine("</LineString>\n", level, buf);
+ }
+
+ private void writeLinearRing(LinearRing lr, String attributes,
+ boolean writeModifiers, int level,
+ StringBuffer buf) {
+ // <LinearRing><coordinates>...</coordinates></LinearRing>
+ startLine(geometryTag("LinearRing", attributes) + "\n", level, buf);
+ if (writeModifiers) writeModifiers(level, buf);
+ write(lr.getCoordinates(), level + 1, buf);
+ startLine("</LinearRing>\n", level, buf);
+ }
+
+ private void writePolygon(Polygon p, String attributes, int level,
+ StringBuffer buf) {
+ startLine(geometryTag("Polygon", attributes) + "\n", level, buf);
+ writeModifiers(level, buf);
+
+ startLine(" <outerBoundaryIs>\n", level, buf);
+ writeLinearRing((LinearRing) p.getExteriorRing(), null, false, level + 1, buf);
+ startLine(" </outerBoundaryIs>\n", level, buf);
+
+ for (int t = 0; t < p.getNumInteriorRing(); t++) {
+ startLine(" <innerBoundaryIs>\n", level, buf);
+ writeLinearRing((LinearRing) p.getInteriorRingN(t), null, false, level + 1, buf);
+ startLine(" </innerBoundaryIs>\n", level, buf);
+ }
+
+ startLine("</Polygon>\n", level, buf);
+ }
+
+ private void writeGeometryCollection(GeometryCollection gc,
+ String attributes, int level, StringBuffer buf) {
+ startLine("<MultiGeometry>\n", level, buf);
+ for (int t = 0; t < gc.getNumGeometries(); t++) {
+ writeGeometry(gc.getGeometryN(t), level + 1, buf);
+ }
+ startLine("</MultiGeometry>\n", level, buf);
+ }
+
+ /**
+ * Takes a list of coordinates and converts it to KML.<br>
+ * 2d and 3d aware. Terminates the coordinate output with a newline.
+ *
+ * @param cs array of coordinates
+ */
+ private void write(Coordinate[] coords, int level, StringBuffer buf) {
+ startLine("<coordinates>", level, buf);
+
+ boolean isNewLine = false;
+ for (int i = 0; i < coords.length; i++) {
+ if (i > 0) {
+ buf.append(TUPLE_SEPARATOR);
+ }
+
+ if (isNewLine) {
+ startLine(" ", level, buf);
+ isNewLine = false;
+ }
+
+ write(coords[i], buf);
+
+ // break output lines to prevent them from getting too long
+ if ((i + 1) % maxCoordinatesPerLine == 0 && i < coords.length - 1) {
+ buf.append("\n");
+ isNewLine = true;
+ }
+ }
+ buf.append("</coordinates>\n");
+ }
+
+ private void write(Coordinate p, StringBuffer buf) {
+ write(p.x, buf);
+ buf.append(COORDINATE_SEPARATOR);
+ write(p.y, buf);
+
+ double z = p.z;
+ // if altitude was specified directly, use it
+ if (!Double.isNaN(zVal))
+ z = zVal;
+
+ // only write if Z present
+ // MD - is this right? Or should it always be written?
+ if (!Double.isNaN(z)) {
+ buf.append(COORDINATE_SEPARATOR);
+ write(z, buf);
+ }
+ }
+
+ private void write(double num, StringBuffer buf) {
+ if (numberFormatter != null)
+ buf.append(numberFormatter.format(num));
+ else
+ buf.append(num);
+ }
+
+ /**
+ * Creates the <code>DecimalFormat</code> used to write <code>double</code>s
+ * with a sufficient number of decimal places.
+ *
+ * @param precisionModel
+ * the <code>PrecisionModel</code> used to determine the number of
+ * decimal places to write.
+ * @return a <code>DecimalFormat</code> that write <code>double</code> s
+ * without scientific notation.
+ */
+ private static DecimalFormat createFormatter(int precision) {
+ // specify decimal separator explicitly to avoid problems in other locales
+ DecimalFormatSymbols symbols = new DecimalFormatSymbols();
+ symbols.setDecimalSeparator('.');
+ DecimalFormat format = new DecimalFormat("0."
+ + StringUtil.chars('#', precision), symbols);
+ format.setDecimalSeparatorAlwaysShown(false);
+ return format;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/io/package.html b/modules/core/src/main/java/org/locationtech/jts/io/package.html
new file mode 100644
index 0000000..4df9404
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/io/package.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains the interfaces for converting JTS objects to and from other formats.
+<P>
+The Java Topology Suite (JTS) is a Java API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. JTS is intended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.
+<P>
+JTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case JTS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/ExtractLineByLocation.java b/modules/core/src/main/java/org/locationtech/jts/linearref/ExtractLineByLocation.java
new file mode 100644
index 0000000..7abfd0c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/ExtractLineByLocation.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Extracts the subline of a linear {@link Geometry} between
+ * two {@link LinearLocation}s on the line.
+ */
+class ExtractLineByLocation
+{
+ /**
+ * Computes the subline of a {@link LineString} between
+ * two {@link LinearLocation}s on the line.
+ * If the start location is after the end location,
+ * the computed linear geometry has reverse orientation to the input line.
+ *
+ * @param line the line to use as the baseline
+ * @param start the start location
+ * @param end the end location
+ * @return the extracted subline
+ */
+ public static Geometry extract(Geometry line, LinearLocation start, LinearLocation end)
+ {
+ ExtractLineByLocation ls = new ExtractLineByLocation(line);
+ return ls.extract(start, end);
+ }
+
+ private Geometry line;
+
+ public ExtractLineByLocation(Geometry line) {
+ this.line = line;
+ }
+
+ /**
+ * Extracts a subline of the input.
+ * If <code>end < start</code> the linear geometry computed will be reversed.
+ *
+ * @param start the start location
+ * @param end the end location
+ * @return a linear geometry
+ */
+ public Geometry extract(LinearLocation start, LinearLocation end)
+ {
+ if (end.compareTo(start) < 0) {
+ return reverse(computeLinear(end, start));
+ }
+ return computeLinear(start, end);
+ }
+
+ private Geometry reverse(Geometry linear)
+ {
+ if (linear instanceof LineString)
+ return ((LineString) linear).reverse();
+ if (linear instanceof MultiLineString)
+ return ((MultiLineString) linear).reverse();
+ Assert.shouldNeverReachHere("non-linear geometry encountered");
+ return null;
+ }
+ /**
+ * Assumes input is valid (e.g. start <= end)
+ *
+ * @param start
+ * @param end
+ * @return a linear geometry
+ */
+ private LineString computeLine(LinearLocation start, LinearLocation end)
+ {
+ Coordinate[] coordinates = line.getCoordinates();
+ CoordinateList newCoordinates = new CoordinateList();
+
+ int startSegmentIndex = start.getSegmentIndex();
+ if (start.getSegmentFraction() > 0.0)
+ startSegmentIndex += 1;
+ int lastSegmentIndex = end.getSegmentIndex();
+ if (end.getSegmentFraction() == 1.0)
+ lastSegmentIndex += 1;
+ if (lastSegmentIndex >= coordinates.length)
+ lastSegmentIndex = coordinates.length - 1;
+ // not needed - LinearLocation values should always be correct
+ //Assert.isTrue(end.getSegmentFraction() <= 1.0, "invalid segment fraction value");
+
+ if (! start.isVertex())
+ newCoordinates.add(start.getCoordinate(line));
+ for (int i = startSegmentIndex; i <= lastSegmentIndex; i++) {
+ newCoordinates.add(coordinates[i]);
+ }
+ if (! end.isVertex())
+ newCoordinates.add(end.getCoordinate(line));
+
+ // ensure there is at least one coordinate in the result
+ if (newCoordinates.size() <= 0)
+ newCoordinates.add(start.getCoordinate(line));
+
+ Coordinate[] newCoordinateArray = newCoordinates.toCoordinateArray();
+ /**
+ * Ensure there is enough coordinates to build a valid line.
+ * Make a 2-point line with duplicate coordinates, if necessary.
+ * There will always be at least one coordinate in the coordList.
+ */
+ if (newCoordinateArray.length <= 1) {
+ newCoordinateArray = new Coordinate[] { newCoordinateArray[0], newCoordinateArray[0]};
+ }
+ return line.getFactory().createLineString(newCoordinateArray);
+ }
+
+ /**
+ * Assumes input is valid (e.g. start <= end)
+ *
+ * @param start
+ * @param end
+ * @return a linear geometry
+ */
+ private Geometry computeLinear(LinearLocation start, LinearLocation end)
+ {
+ LinearGeometryBuilder builder = new LinearGeometryBuilder(line.getFactory());
+ builder.setFixInvalidLines(true);
+
+ if (! start.isVertex())
+ builder.add(start.getCoordinate(line));
+
+ for (LinearIterator it = new LinearIterator(line, start); it.hasNext(); it.next()) {
+ if (end.compareLocationValues(it.getComponentIndex(), it.getVertexIndex(), 0.0)
+ < 0)
+ break;
+
+ Coordinate pt = it.getSegmentStart();
+ builder.add(pt);
+ if (it.isEndOfLine())
+ builder.endLine();
+ }
+ if (! end.isVertex())
+ builder.add(end.getCoordinate(line));
+
+ return builder.getGeometry();
+ }
+
+ /**
+ * Computes a valid and normalized location
+ * compatible with the values in a LinearIterator.
+ * (I.e. segmentFractions of 1.0 are converted to the next highest coordinate index)
+ */
+ /*
+ private LinearLocation normalize(LinearLocation loc)
+ {
+ int componentIndex = loc.getComponentIndex();
+ int segmentIndex = loc.getSegmentIndex();
+ double segmentFraction = loc.getSegmentFraction();
+
+ if (segmentFraction < 0.0) {
+ segmentFraction = 0.0;
+ }
+ if (segmentFraction > 1.0) {
+ segmentFraction = 1.0;
+ }
+
+ if (componentIndex < 0) {
+ componentIndex = 0;
+ segmentIndex = 0;
+ segmentFraction = 0.0;
+ }
+ if (segmentIndex < 0) {
+ segmentIndex = 0;
+ segmentFraction = 0.0;
+ }
+
+ if (segmentFraction == 1.0) {
+ segmentFraction = 0.0;
+ segmentIndex += 1;
+ }
+
+ return new LinearLocation(componentIndex, segmentIndex, segmentFraction);
+ }
+ */
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexOfPoint.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexOfPoint.java
new file mode 100644
index 0000000..7f8cb63
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexOfPoint.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Computes the length index of the point
+ * on a linear {@link Geometry} nearest a given {@link Coordinate}.
+ * The nearest point is not necessarily unique; this class
+ * always computes the nearest point closest to
+ * the start of the geometry.
+ */
+class LengthIndexOfPoint
+{
+ public static double indexOf(Geometry linearGeom, Coordinate inputPt)
+ {
+ LengthIndexOfPoint locater = new LengthIndexOfPoint(linearGeom);
+ return locater.indexOf(inputPt);
+ }
+
+ public static double indexOfAfter(Geometry linearGeom, Coordinate inputPt, double minIndex)
+ {
+ LengthIndexOfPoint locater = new LengthIndexOfPoint(linearGeom);
+ return locater.indexOfAfter(inputPt, minIndex);
+ }
+
+ private Geometry linearGeom;
+
+ public LengthIndexOfPoint(Geometry linearGeom) {
+ this.linearGeom = linearGeom;
+ }
+
+ /**
+ * Find the nearest location along a linear {@link Geometry} to a given point.
+ *
+ * @param inputPt the coordinate to locate
+ * @return the location of the nearest point
+ */
+ public double indexOf(Coordinate inputPt)
+ {
+ return indexOfFromStart(inputPt, -1.0);
+ }
+
+ /**
+ * Finds the nearest index along the linear {@link Geometry}
+ * to a given {@link Coordinate}
+ * after the specified minimum index.
+ * If possible the location returned will be strictly greater than the
+ * <code>minLocation</code>.
+ * If this is not possible, the
+ * value returned will equal <code>minLocation</code>.
+ * (An example where this is not possible is when
+ * minLocation = [end of line] ).
+ *
+ * @param inputPt the coordinate to locate
+ * @param minIndex the minimum location for the point location
+ * @return the location of the nearest point
+ */
+ public double indexOfAfter(Coordinate inputPt, double minIndex)
+ {
+ if (minIndex < 0.0) return indexOf(inputPt);
+
+ // sanity check for minIndex at or past end of line
+ double endIndex = linearGeom.getLength();
+ if (endIndex < minIndex)
+ return endIndex;
+
+ double closestAfter = indexOfFromStart(inputPt, minIndex);
+ /**
+ * Return the minDistanceLocation found.
+ */
+ Assert.isTrue(closestAfter >= minIndex,
+ "computed index is before specified minimum index");
+ return closestAfter;
+ }
+
+ private double indexOfFromStart(Coordinate inputPt, double minIndex)
+ {
+ double minDistance = Double.MAX_VALUE;
+
+ double ptMeasure = minIndex;
+ double segmentStartMeasure = 0.0;
+ LineSegment seg = new LineSegment();
+ LinearIterator it = new LinearIterator(linearGeom);
+ while (it.hasNext()) {
+ if (! it.isEndOfLine()) {
+ seg.p0 = it.getSegmentStart();
+ seg.p1 = it.getSegmentEnd();
+ double segDistance = seg.distance(inputPt);
+ double segMeasureToPt = segmentNearestMeasure(seg, inputPt, segmentStartMeasure);
+ if (segDistance < minDistance
+ && segMeasureToPt > minIndex) {
+ ptMeasure = segMeasureToPt;
+ minDistance = segDistance;
+ }
+ segmentStartMeasure += seg.getLength();
+ }
+ it.next();
+ }
+ return ptMeasure;
+ }
+
+ private double segmentNearestMeasure(LineSegment seg, Coordinate inputPt,
+ double segmentStartMeasure)
+ {
+ // found new minimum, so compute location distance of point
+ double projFactor = seg.projectionFactor(inputPt);
+ if (projFactor <= 0.0)
+ return segmentStartMeasure;
+ if (projFactor <= 1.0)
+ return segmentStartMeasure + projFactor * seg.getLength();
+ // projFactor > 1.0
+ return segmentStartMeasure + seg.getLength();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexedLine.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexedLine.java
new file mode 100644
index 0000000..90b307f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthIndexedLine.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Supports linear referencing along a linear {@link Geometry}
+ * using the length along the line as the index.
+ * Negative length values are taken as measured in the reverse direction
+ * from the end of the geometry.
+ * Out-of-range index values are handled by clamping
+ * them to the valid range of values.
+ * Non-simple lines (i.e. which loop back to cross or touch
+ * themselves) are supported.
+ */
+public class LengthIndexedLine
+{
+ private Geometry linearGeom;
+
+ /**
+ * Constructs an object which allows a linear {@link Geometry}
+ * to be linearly referenced using length as an index.
+ *
+ * @param linearGeom the linear geometry to reference along
+ */
+ public LengthIndexedLine(Geometry linearGeom) {
+ this.linearGeom = linearGeom;
+ }
+
+ /**
+ * Computes the {@link Coordinate} for the point
+ * on the line at the given index.
+ * If the index is out of range the first or last point on the
+ * line will be returned.
+ * The Z-ordinate of the computed point will be interpolated from
+ * the Z-ordinates of the line segment containing it, if they exist.
+ *
+ * @param index the index of the desired point
+ * @return the Coordinate at the given index
+ */
+ public Coordinate extractPoint(double index)
+ {
+ LinearLocation loc = LengthLocationMap.getLocation(linearGeom, index);
+ return loc.getCoordinate(linearGeom);
+ }
+
+ /**
+ * Computes the {@link Coordinate} for the point
+ * on the line at the given index, offset by the given distance.
+ * If the index is out of range the first or last point on the
+ * line will be returned.
+ * The computed point is offset to the left of the line if the offset distance is
+ * positive, to the right if negative.
+ *
+ * The Z-ordinate of the computed point will be interpolated from
+ * the Z-ordinates of the line segment containing it, if they exist.
+ *
+ * @param index the index of the desired point
+ * @param offsetDistance the distance the point is offset from the segment
+ * (positive is to the left, negative is to the right)
+ * @return the Coordinate at the given index
+ */
+ public Coordinate extractPoint(double index, double offsetDistance)
+ {
+ LinearLocation loc = LengthLocationMap.getLocation(linearGeom, index);
+ LinearLocation locLow = loc.toLowest(linearGeom);
+ return locLow.getSegment(linearGeom).pointAlongOffset(locLow.getSegmentFraction(), offsetDistance);
+ }
+
+ /**
+ * Computes the {@link LineString} for the interval
+ * on the line between the given indices.
+ * If the endIndex lies before the startIndex,
+ * the computed geometry is reversed.
+ *
+ * @param startIndex the index of the start of the interval
+ * @param endIndex the index of the end of the interval
+ * @return the linear interval between the indices
+ */
+ public Geometry extractLine(double startIndex, double endIndex)
+ {
+ LocationIndexedLine lil = new LocationIndexedLine(linearGeom);
+ double startIndex2 = clampIndex(startIndex);
+ double endIndex2 = clampIndex(endIndex);
+ // if extracted line is zero-length, resolve start lower as well to ensure they are equal
+ boolean resolveStartLower = startIndex2 == endIndex2;
+ LinearLocation startLoc = locationOf(startIndex2, resolveStartLower);
+// LinearLocation endLoc = locationOf(endIndex2, true);
+// LinearLocation startLoc = locationOf(startIndex2);
+ LinearLocation endLoc = locationOf(endIndex2);
+ return ExtractLineByLocation.extract(linearGeom, startLoc, endLoc);
+ }
+
+ private LinearLocation locationOf(double index)
+ {
+ return LengthLocationMap.getLocation(linearGeom, index);
+ }
+
+ private LinearLocation locationOf(double index, boolean resolveLower)
+ {
+ return LengthLocationMap.getLocation(linearGeom, index, resolveLower);
+ }
+
+ /**
+ * Computes the minimum index for a point on the line.
+ * If the line is not simple (i.e. loops back on itself)
+ * a single point may have more than one possible index.
+ * In this case, the smallest index is returned.
+ *
+ * The supplied point does not <i>necessarily</i> have to lie precisely
+ * on the line, but if it is far from the line the accuracy and
+ * performance of this function is not guaranteed.
+ * Use {@link #project} to compute a guaranteed result for points
+ * which may be far from the line.
+ *
+ * @param pt a point on the line
+ * @return the minimum index of the point
+ *
+ * @see #project(Coordinate)
+ */
+ public double indexOf(Coordinate pt)
+ {
+ return LengthIndexOfPoint.indexOf(linearGeom, pt);
+ }
+
+ /**
+ * Finds the index for a point on the line
+ * which is greater than the given index.
+ * If no such index exists, returns <tt>minIndex</tt>.
+ * This method can be used to determine all indexes for
+ * a point which occurs more than once on a non-simple line.
+ * It can also be used to disambiguate cases where the given point lies
+ * slightly off the line and is equidistant from two different
+ * points on the line.
+ *
+ * The supplied point does not <i>necessarily</i> have to lie precisely
+ * on the line, but if it is far from the line the accuracy and
+ * performance of this function is not guaranteed.
+ * Use {@link #project} to compute a guaranteed result for points
+ * which may be far from the line.
+ *
+ * @param pt a point on the line
+ * @param minIndex the value the returned index must be greater than
+ * @return the index of the point greater than the given minimum index
+ *
+ * @see #project(Coordinate)
+ */
+ public double indexOfAfter(Coordinate pt, double minIndex)
+ {
+ return LengthIndexOfPoint.indexOfAfter(linearGeom, pt, minIndex);
+ }
+
+ /**
+ * Computes the indices for a subline of the line.
+ * (The subline must <b>conform</b> to the line; that is,
+ * all vertices in the subline (except possibly the first and last)
+ * must be vertices of the line and occur in the same order).
+ *
+ * @param subLine a subLine of the line
+ * @return a pair of indices for the start and end of the subline.
+ */
+ public double[] indicesOf(Geometry subLine)
+ {
+ LinearLocation[] locIndex = LocationIndexOfLine.indicesOf(linearGeom, subLine);
+ double[] index = new double[] {
+ LengthLocationMap.getLength(linearGeom, locIndex[0]),
+ LengthLocationMap.getLength(linearGeom, locIndex[1])
+ };
+ return index;
+ }
+
+
+ /**
+ * Computes the index for the closest point on the line to the given point.
+ * If more than one point has the closest distance the first one along the line
+ * is returned.
+ * (The point does not necessarily have to lie precisely on the line.)
+ *
+ * @param pt a point on the line
+ * @return the index of the point
+ */
+ public double project(Coordinate pt)
+ {
+ return LengthIndexOfPoint.indexOf(linearGeom, pt);
+ }
+
+ /**
+ * Returns the index of the start of the line
+ * @return the start index
+ */
+ public double getStartIndex()
+ {
+ return 0.0;
+ }
+
+ /**
+ * Returns the index of the end of the line
+ * @return the end index
+ */
+ public double getEndIndex()
+ {
+ return linearGeom.getLength();
+ }
+
+ /**
+ * Tests whether an index is in the valid index range for the line.
+ *
+ * @param index the index to test
+ * @return <code>true</code> if the index is in the valid range
+ */
+ public boolean isValidIndex(double index)
+ {
+ return (index >= getStartIndex()
+ && index <= getEndIndex());
+ }
+
+ /**
+ * Computes a valid index for this line
+ * by clamping the given index to the valid range of index values
+ *
+ * @return a valid index value
+ */
+ public double clampIndex(double index)
+ {
+ double posIndex = positiveIndex(index);
+ double startIndex = getStartIndex();
+ if (posIndex < startIndex) return startIndex;
+
+ double endIndex = getEndIndex();
+ if (posIndex > endIndex) return endIndex;
+
+ return posIndex;
+ }
+
+ private double positiveIndex(double index)
+ {
+ if (index >= 0.0) return index;
+ return linearGeom.getLength() + index;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LengthLocationMap.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthLocationMap.java
new file mode 100644
index 0000000..c44e715
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LengthLocationMap.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Computes the {@link LinearLocation} for a given length
+ * along a linear {@link Geometry}.
+ * Negative lengths are measured in reverse from end of the linear geometry.
+ * Out-of-range values are clamped.
+ */
+public class LengthLocationMap
+{
+ // TODO: cache computed cumulative length for each vertex
+ // TODO: support user-defined measures
+ // TODO: support measure index for fast mapping to a location
+
+ /**
+ * Computes the {@link LinearLocation} for a
+ * given length along a linear {@link Geometry}.
+ *
+ * @param linearGeom the linear geometry to use
+ * @param length the length index of the location
+ * @return the {@link LinearLocation} for the length
+ */
+ public static LinearLocation getLocation(Geometry linearGeom, double length)
+ {
+ LengthLocationMap locater = new LengthLocationMap(linearGeom);
+ return locater.getLocation(length);
+ }
+
+ /**
+ * Computes the {@link LinearLocation} for a
+ * given length along a linear {@link Geometry},
+ * with control over how the location
+ * is resolved at component endpoints.
+ *
+ * @param linearGeom the linear geometry to use
+ * @param length the length index of the location
+ * @param resolveLower if true lengths are resolved to the lowest possible index
+ * @return the {@link LinearLocation} for the length
+ */
+ public static LinearLocation getLocation(Geometry linearGeom, double length, boolean resolveLower)
+ {
+ LengthLocationMap locater = new LengthLocationMap(linearGeom);
+ return locater.getLocation(length, resolveLower);
+ }
+
+ /**
+ * Computes the length for a given {@link LinearLocation}
+ * on a linear {@link Geometry}.
+ *
+ * @param linearGeom the linear geometry to use
+ * @param loc the {@link LinearLocation} index of the location
+ * @return the length for the {@link LinearLocation}
+ */
+ public static double getLength(Geometry linearGeom, LinearLocation loc)
+ {
+ LengthLocationMap locater = new LengthLocationMap(linearGeom);
+ return locater.getLength(loc);
+ }
+
+ private Geometry linearGeom;
+
+ public LengthLocationMap(Geometry linearGeom)
+ {
+ this.linearGeom = linearGeom;
+ }
+
+ /**
+ * Compute the {@link LinearLocation} corresponding to a length.
+ * Negative lengths are measured in reverse from end of the linear geometry.
+ * Out-of-range values are clamped.
+ * Ambiguous indexes are resolved to the lowest possible location value.
+ *
+ * @param length the length index
+ * @return the corresponding LinearLocation
+ */
+ public LinearLocation getLocation(double length)
+ {
+ return getLocation(length, true);
+ }
+
+ /**
+ * Compute the {@link LinearLocation} corresponding to a length.
+ * Negative lengths are measured in reverse from end of the linear geometry.
+ * Out-of-range values are clamped.
+ * Ambiguous indexes are resolved to the lowest or highest possible location value,
+ * depending on the value of <tt>resolveLower</tt>
+ *
+ * @param length the length index
+ * @return the corresponding LinearLocation
+ */
+ public LinearLocation getLocation(double length, boolean resolveLower)
+ {
+ double forwardLength = length;
+
+ // negative values are measured from end of geometry
+ if (length < 0.0) {
+ double lineLen = linearGeom.getLength();
+ forwardLength = lineLen + length;
+ }
+ LinearLocation loc = getLocationForward(forwardLength);
+ if (resolveLower) {
+ return loc;
+ }
+ return resolveHigher(loc);
+ }
+
+ private LinearLocation getLocationForward(double length)
+ {
+ if (length <= 0.0)
+ return new LinearLocation();
+
+ double totalLength = 0.0;
+
+ LinearIterator it = new LinearIterator(linearGeom);
+ while (it.hasNext()) {
+
+ /**
+ * Special handling is required for the situation when the
+ * length references exactly to a component endpoint.
+ * In this case, the endpoint location of the current component
+ * is returned,
+ * rather than the startpoint location of the next component.
+ * This produces consistent behaviour with the project method.
+ */
+ if (it.isEndOfLine()) {
+ if (totalLength == length) {
+ int compIndex = it.getComponentIndex();
+ int segIndex = it.getVertexIndex();
+ return new LinearLocation(compIndex, segIndex, 0.0);
+ }
+ }
+ else {
+ Coordinate p0 = it.getSegmentStart();
+ Coordinate p1 = it.getSegmentEnd();
+ double segLen = p1.distance(p0);
+ // length falls in this segment
+ if (totalLength + segLen > length) {
+ double frac = (length - totalLength) / segLen;
+ int compIndex = it.getComponentIndex();
+ int segIndex = it.getVertexIndex();
+ return new LinearLocation(compIndex, segIndex, frac);
+ }
+ totalLength += segLen;
+ }
+
+ it.next();
+ }
+ // length is longer than line - return end location
+ return LinearLocation.getEndLocation(linearGeom);
+ }
+
+ private LinearLocation resolveHigher(LinearLocation loc)
+ {
+ if (! loc.isEndpoint(linearGeom))
+ return loc;
+ int compIndex = loc.getComponentIndex();
+ // if last component can't resolve any higher
+ if (compIndex >= linearGeom.getNumGeometries() - 1) return loc;
+
+ do {
+ compIndex++;
+ } while (compIndex < linearGeom.getNumGeometries() - 1
+ && linearGeom.getGeometryN(compIndex).getLength() == 0);
+ // resolve to next higher location
+ return new LinearLocation(compIndex, 0, 0.0);
+ }
+
+ public double getLength(LinearLocation loc)
+ {
+ double totalLength = 0.0;
+
+ LinearIterator it = new LinearIterator(linearGeom);
+ while (it.hasNext()) {
+ if (! it.isEndOfLine()) {
+ Coordinate p0 = it.getSegmentStart();
+ Coordinate p1 = it.getSegmentEnd();
+ double segLen = p1.distance(p0);
+ // length falls in this segment
+ if (loc.getComponentIndex() == it.getComponentIndex()
+ && loc.getSegmentIndex() == it.getVertexIndex()) {
+ return totalLength + segLen * loc.getSegmentFraction();
+ }
+ totalLength += segLen;
+ }
+ it.next();
+ }
+ return totalLength;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LinearGeometryBuilder.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearGeometryBuilder.java
new file mode 100644
index 0000000..e4407e2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearGeometryBuilder.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+
+/**
+ * Builds a linear geometry ({@link LineString} or {@link MultiLineString})
+ * incrementally (point-by-point).
+ *
+ * @version 1.7
+ */
+public class LinearGeometryBuilder
+{
+ private GeometryFactory geomFact;
+ private List lines = new ArrayList();
+ private CoordinateList coordList = null;
+
+ private boolean ignoreInvalidLines = false;
+ private boolean fixInvalidLines = false;
+
+ private Coordinate lastPt = null;
+
+ public LinearGeometryBuilder(GeometryFactory geomFact) {
+ this.geomFact = geomFact;
+ }
+
+ /**
+ * Allows invalid lines to be ignored rather than causing Exceptions.
+ * An invalid line is one which has only one unique point.
+ *
+ * @param ignoreInvalidLines <code>true</code> if short lines are to be ignored
+ */
+ public void setIgnoreInvalidLines(boolean ignoreInvalidLines)
+ {
+ this.ignoreInvalidLines = ignoreInvalidLines;
+ }
+
+ /**
+ * Allows invalid lines to be ignored rather than causing Exceptions.
+ * An invalid line is one which has only one unique point.
+ *
+ * @param fixInvalidLines <code>true</code> if short lines are to be ignored
+ */
+ public void setFixInvalidLines(boolean fixInvalidLines)
+ {
+ this.fixInvalidLines = fixInvalidLines;
+ }
+
+ /**
+ * Adds a point to the current line.
+ *
+ * @param pt the Coordinate to add
+ */
+ public void add(Coordinate pt)
+ {
+ add(pt, true);
+ }
+
+ /**
+ * Adds a point to the current line.
+ *
+ * @param pt the Coordinate to add
+ */
+ public void add(Coordinate pt, boolean allowRepeatedPoints)
+ {
+ if (coordList == null)
+ coordList = new CoordinateList();
+ coordList.add(pt, allowRepeatedPoints);
+ lastPt = pt;
+ }
+
+ public Coordinate getLastCoordinate() { return lastPt; }
+
+ /**
+ * Terminate the current LineString.
+ */
+ public void endLine()
+ {
+ if (coordList == null) {
+ return;
+ }
+ if (ignoreInvalidLines && coordList.size() < 2) {
+ coordList = null;
+ return;
+ }
+ Coordinate[] rawPts = coordList.toCoordinateArray();
+ Coordinate[] pts = rawPts;
+ if (fixInvalidLines)
+ pts = validCoordinateSequence(rawPts);
+
+ coordList = null;
+ LineString line = null;
+ try {
+ line = geomFact.createLineString(pts);
+ }
+ catch (IllegalArgumentException ex) {
+ // exception is due to too few points in line.
+ // only propagate if not ignoring short lines
+ if (! ignoreInvalidLines)
+ throw ex;
+ }
+
+ if (line != null) lines.add(line);
+ }
+
+ private Coordinate[] validCoordinateSequence(Coordinate[] pts)
+ {
+ if (pts.length >= 2) return pts;
+ Coordinate[] validPts = new Coordinate[] { pts[0], pts[0]};
+ return validPts;
+ }
+
+ public Geometry getGeometry()
+ {
+ // end last line in case it was not done by user
+ endLine();
+ return geomFact.buildGeometry(lines);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LinearIterator.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearIterator.java
new file mode 100644
index 0000000..60c8c2e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearIterator.java
@@ -0,0 +1,192 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.MultiLineString;
+
+/**
+ * An iterator over the components and coordinates of a linear geometry
+ * ({@link LineString}s and {@link MultiLineString}s.
+ *
+ * The standard usage pattern for a {@link LinearIterator} is:
+ *
+ * <pre>
+ * for (LinearIterator it = new LinearIterator(...); it.hasNext(); it.next()) {
+ * ...
+ * int ci = it.getComponentIndex(); // for example
+ * int vi = it.getVertexIndex(); // for example
+ * ...
+ * }
+ * </pre>
+ *
+ * @version 1.7
+ */
+public class LinearIterator
+{
+ private static int segmentEndVertexIndex(LinearLocation loc)
+ {
+ if (loc.getSegmentFraction() > 0.0)
+ return loc.getSegmentIndex() + 1;
+ return loc.getSegmentIndex();
+ }
+
+ private Geometry linearGeom;
+ private final int numLines;
+
+ /**
+ * Invariant: currentLine <> null if the iterator is pointing at a valid coordinate
+ */
+ private LineString currentLine;
+ private int componentIndex = 0;
+ private int vertexIndex = 0;
+
+ /**
+ * Creates an iterator initialized to the start of a linear {@link Geometry}
+ *
+ * @param linear the linear geometry to iterate over
+ * @throws IllegalArgumentException if linearGeom is not lineal
+ */
+ public LinearIterator(Geometry linear) {
+ this(linear, 0, 0);
+ }
+
+ /**
+ * Creates an iterator starting at
+ * a {@link LinearLocation} on a linear {@link Geometry}
+ *
+ * @param linear the linear geometry to iterate over
+ * @param start the location to start at
+ * @throws IllegalArgumentException if linearGeom is not lineal
+ */
+ public LinearIterator(Geometry linear, LinearLocation start) {
+ this(linear, start.getComponentIndex(), segmentEndVertexIndex(start));
+ }
+
+ /**
+ * Creates an iterator starting at
+ * a specified component and vertex in a linear {@link Geometry}
+ *
+ * @param linearGeom the linear geometry to iterate over
+ * @param componentIndex the component to start at
+ * @param vertexIndex the vertex to start at
+ * @throws IllegalArgumentException if linearGeom is not lineal
+ */
+ public LinearIterator(Geometry linearGeom, int componentIndex, int vertexIndex)
+ {
+ if (! (linearGeom instanceof Lineal))
+ throw new IllegalArgumentException("Lineal geometry is required");
+ this.linearGeom = linearGeom;
+ numLines = linearGeom.getNumGeometries();
+ this.componentIndex = componentIndex;
+ this.vertexIndex = vertexIndex;
+ loadCurrentLine();
+ }
+
+ private void loadCurrentLine()
+ {
+ if (componentIndex >= numLines) {
+ currentLine = null;
+ return;
+ }
+ currentLine = (LineString) linearGeom.getGeometryN(componentIndex);
+ }
+
+ /**
+ * Tests whether there are any vertices left to iterator over.
+ * Specifically, hasNext() return <tt>true</tt> if the
+ * current state of the iterator represents a valid location
+ * on the linear geometry.
+ *
+ * @return <code>true</code> if there are more vertices to scan
+ */
+ public boolean hasNext()
+ {
+ if (componentIndex >= numLines) return false;
+ if (componentIndex == numLines - 1
+ && vertexIndex >= currentLine.getNumPoints())
+ return false;
+ return true;
+ }
+
+ /**
+ * Moves the iterator ahead to the next vertex and (possibly) linear component.
+ */
+ public void next()
+ {
+ if (! hasNext()) return;
+
+ vertexIndex++;
+ if (vertexIndex >= currentLine.getNumPoints()) {
+ componentIndex++;
+ loadCurrentLine();
+ vertexIndex = 0;
+ }
+ }
+
+ /**
+ * Checks whether the iterator cursor is pointing to the
+ * endpoint of a component {@link LineString}.
+ *
+ * @return <code>true</code> if the iterator is at an endpoint
+ */
+ public boolean isEndOfLine() {
+ if (componentIndex >= numLines) return false;
+ //LineString currentLine = (LineString) linear.getGeometryN(componentIndex);
+ if (vertexIndex < currentLine.getNumPoints() - 1)
+ return false;
+ return true;
+ }
+
+ /**
+ * The component index of the vertex the iterator is currently at.
+ * @return the current component index
+ */
+ public int getComponentIndex() { return componentIndex; }
+
+ /**
+ * The vertex index of the vertex the iterator is currently at.
+ * @return the current vertex index
+ */
+ public int getVertexIndex() { return vertexIndex; }
+
+ /**
+ * Gets the {@link LineString} component the iterator is current at.
+ * @return a linestring
+ */
+ public LineString getLine() { return currentLine; }
+
+ /**
+ * Gets the first {@link Coordinate} of the current segment.
+ * (the coordinate of the current vertex).
+ * @return a {@link Coordinate}
+ */
+ public Coordinate getSegmentStart() { return currentLine.getCoordinateN(vertexIndex); }
+
+ /**
+ * Gets the second {@link Coordinate} of the current segment.
+ * (the coordinate of the next vertex).
+ * If the iterator is at the end of a line, <code>null</code> is returned.
+ *
+ * @return a {@link Coordinate} or <code>null</code>
+ */
+ public Coordinate getSegmentEnd()
+ {
+ if (vertexIndex < getLine().getNumPoints() - 1)
+ return currentLine.getCoordinateN(vertexIndex + 1);
+ return null;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LinearLocation.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearLocation.java
new file mode 100644
index 0000000..66bd60f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LinearLocation.java
@@ -0,0 +1,477 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+
+/**
+ * Represents a location along a {@link LineString} or {@link MultiLineString}.
+ * The referenced geometry is not maintained within
+ * this location, but must be provided for operations which require it.
+ * Various methods are provided to manipulate the location value
+ * and query the geometry it references.
+ */
+public class LinearLocation
+ implements Comparable
+{
+ /**
+ * Gets a location which refers to the end of a linear {@link Geometry}.
+ * @param linear the linear geometry
+ * @return a new <tt>LinearLocation</tt>
+ */
+ public static LinearLocation getEndLocation(Geometry linear)
+ {
+ // assert: linear is LineString or MultiLineString
+ LinearLocation loc = new LinearLocation();
+ loc.setToEnd(linear);
+ return loc;
+ }
+
+ /**
+ * Computes the {@link Coordinate} of a point a given fraction
+ * along the line segment <tt>(p0, p1)</tt>.
+ * If the fraction is greater than 1.0 the last
+ * point of the segment is returned.
+ * If the fraction is less than or equal to 0.0 the first point
+ * of the segment is returned.
+ * The Z ordinate is interpolated from the Z-ordinates of the given points,
+ * if they are specified.
+ *
+ * @param p0 the first point of the line segment
+ * @param p1 the last point of the line segment
+ * @param frac the length to the desired point
+ * @return the <tt>Coordinate</tt> of the desired point
+ */
+ public static Coordinate pointAlongSegmentByFraction(Coordinate p0, Coordinate p1, double frac)
+ {
+ if (frac <= 0.0) return p0;
+ if (frac >= 1.0) return p1;
+
+ double x = (p1.x - p0.x) * frac + p0.x;
+ double y = (p1.y - p0.y) * frac + p0.y;
+ // interpolate Z value. If either input Z is NaN, result z will be NaN as well.
+ double z = (p1.z - p0.z) * frac + p0.z;
+ return new Coordinate(x, y, z);
+ }
+
+ private int componentIndex = 0;
+ private int segmentIndex = 0;
+ private double segmentFraction = 0.0;
+
+ /**
+ * Creates a location referring to the start of a linear geometry
+ */
+ public LinearLocation()
+ {
+ }
+
+ public LinearLocation(int segmentIndex, double segmentFraction) {
+ this(0, segmentIndex, segmentFraction);
+ }
+
+ public LinearLocation(int componentIndex, int segmentIndex, double segmentFraction)
+ {
+ this.componentIndex = componentIndex;
+ this.segmentIndex = segmentIndex;
+ this.segmentFraction = segmentFraction;
+ normalize();
+ }
+
+ private LinearLocation(int componentIndex, int segmentIndex, double segmentFraction, boolean doNormalize)
+ {
+ this.componentIndex = componentIndex;
+ this.segmentIndex = segmentIndex;
+ this.segmentFraction = segmentFraction;
+ if (doNormalize)
+ normalize();
+ }
+
+ /**
+ * Creates a new location equal to a given one.
+ *
+ * @param loc a LinearLocation
+ */
+ public LinearLocation(LinearLocation loc)
+ {
+ this.componentIndex = loc.componentIndex;
+ this.segmentIndex = loc.segmentIndex;
+ this.segmentFraction = loc.segmentFraction;
+ }
+
+ /**
+ * Ensures the individual values are locally valid.
+ * Does <b>not</b> ensure that the indexes are valid for
+ * a particular linear geometry.
+ *
+ * @see clamp
+ */
+ private void normalize()
+ {
+ if (segmentFraction < 0.0) {
+ segmentFraction = 0.0;
+ }
+ if (segmentFraction > 1.0) {
+ segmentFraction = 1.0;
+ }
+
+ if (componentIndex < 0) {
+ componentIndex = 0;
+ segmentIndex = 0;
+ segmentFraction = 0.0;
+ }
+ if (segmentIndex < 0) {
+ segmentIndex = 0;
+ segmentFraction = 0.0;
+ }
+ if (segmentFraction == 1.0) {
+ segmentFraction = 0.0;
+ segmentIndex += 1;
+ }
+ }
+
+
+ /**
+ * Ensures the indexes are valid for a given linear {@link Geometry}.
+ *
+ * @param linear a linear geometry
+ */
+ public void clamp(Geometry linear)
+ {
+ if (componentIndex >= linear.getNumGeometries()) {
+ setToEnd(linear);
+ return;
+ }
+ if (segmentIndex >= linear.getNumPoints()) {
+ LineString line = (LineString) linear.getGeometryN(componentIndex);
+ segmentIndex = line.getNumPoints() - 1;
+ segmentFraction = 1.0;
+ }
+ }
+ /**
+ * Snaps the value of this location to
+ * the nearest vertex on the given linear {@link Geometry},
+ * if the vertex is closer than <tt>minDistance</tt>.
+ *
+ * @param linearGeom a linear geometry
+ * @param minDistance the minimum allowable distance to a vertex
+ */
+ public void snapToVertex(Geometry linearGeom, double minDistance)
+ {
+ if (segmentFraction <= 0.0 || segmentFraction >= 1.0)
+ return;
+ double segLen = getSegmentLength(linearGeom);
+ double lenToStart = segmentFraction * segLen;
+ double lenToEnd = segLen - lenToStart;
+ if (lenToStart <= lenToEnd && lenToStart < minDistance) {
+ segmentFraction = 0.0;
+ }
+ else if (lenToEnd <= lenToStart && lenToEnd < minDistance) {
+ segmentFraction = 1.0;
+ }
+ }
+
+ /**
+ * Gets the length of the segment in the given
+ * Geometry containing this location.
+ *
+ * @param linearGeom a linear geometry
+ * @return the length of the segment
+ */
+ public double getSegmentLength(Geometry linearGeom)
+ {
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+
+ // ensure segment index is valid
+ int segIndex = segmentIndex;
+ if (segmentIndex >= lineComp.getNumPoints() - 1)
+ segIndex = lineComp.getNumPoints() - 2;
+
+ Coordinate p0 = lineComp.getCoordinateN(segIndex);
+ Coordinate p1 = lineComp.getCoordinateN(segIndex + 1);
+ return p0.distance(p1);
+ }
+
+ /**
+ * Sets the value of this location to
+ * refer to the end of a linear geometry.
+ *
+ * @param linear the linear geometry to use to set the end
+ */
+ public void setToEnd(Geometry linear)
+ {
+ componentIndex = linear.getNumGeometries() - 1;
+ LineString lastLine = (LineString) linear.getGeometryN(componentIndex);
+ segmentIndex = lastLine.getNumPoints() - 1;
+ segmentFraction = 1.0;
+ }
+
+ /**
+ * Gets the component index for this location.
+ *
+ * @return the component index
+ */
+ public int getComponentIndex() { return componentIndex; }
+
+ /**
+ * Gets the segment index for this location
+ *
+ * @return the segment index
+ */
+ public int getSegmentIndex() { return segmentIndex; }
+
+ /**
+ * Gets the segment fraction for this location
+ *
+ * @return the segment fraction
+ */
+ public double getSegmentFraction() { return segmentFraction; }
+
+ /**
+ * Tests whether this location refers to a vertex
+ *
+ * @return true if the location is a vertex
+ */
+ public boolean isVertex()
+ {
+ return segmentFraction <= 0.0 || segmentFraction >= 1.0;
+ }
+
+ /**
+ * Gets the {@link Coordinate} along the
+ * given linear {@link Geometry} which is
+ * referenced by this location.
+ *
+ * @param linearGeom the linear geometry referenced by this location
+ * @return the <tt>Coordinate</tt> at the location
+ */
+ public Coordinate getCoordinate(Geometry linearGeom)
+ {
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+ Coordinate p0 = lineComp.getCoordinateN(segmentIndex);
+ if (segmentIndex >= lineComp.getNumPoints() - 1)
+ return p0;
+ Coordinate p1 = lineComp.getCoordinateN(segmentIndex + 1);
+ return pointAlongSegmentByFraction(p0, p1, segmentFraction);
+ }
+
+ /**
+ * Gets a {@link LineSegment} representing the segment of the
+ * given linear {@link Geometry} which contains this location.
+ *
+ * @param linearGeom a linear geometry
+ * @return the <tt>LineSegment</tt> containing the location
+ */
+ public LineSegment getSegment(Geometry linearGeom)
+ {
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+ Coordinate p0 = lineComp.getCoordinateN(segmentIndex);
+ // check for endpoint - return last segment of the line if so
+ if (segmentIndex >= lineComp.getNumPoints() - 1) {
+ Coordinate prev = lineComp.getCoordinateN(lineComp.getNumPoints() - 2);
+ return new LineSegment(prev, p0);
+ }
+ Coordinate p1 = lineComp.getCoordinateN(segmentIndex + 1);
+ return new LineSegment(p0, p1);
+ }
+
+ /**
+ * Tests whether this location refers to a valid
+ * location on the given linear {@link Geometry}.
+ *
+ * @param linearGeom a linear geometry
+ * @return true if this location is valid
+ */
+ public boolean isValid(Geometry linearGeom)
+ {
+ if (componentIndex < 0 || componentIndex >= linearGeom.getNumGeometries())
+ return false;
+
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+ if (segmentIndex < 0 || segmentIndex > lineComp.getNumPoints())
+ return false;
+ if (segmentIndex == lineComp.getNumPoints() && segmentFraction != 0.0)
+ return false;
+
+ if (segmentFraction < 0.0 || segmentFraction > 1.0)
+ return false;
+ return true;
+ }
+
+ /**
+ * Compares this object with the specified object for order.
+ *
+ *@param o the <code>LineStringLocation</code> with which this <code>Coordinate</code>
+ * is being compared
+ *@return a negative integer, zero, or a positive integer as this <code>LineStringLocation</code>
+ * is less than, equal to, or greater than the specified <code>LineStringLocation</code>
+ */
+ public int compareTo(Object o) {
+ LinearLocation other = (LinearLocation) o;
+ // compare component indices
+ if (componentIndex < other.componentIndex) return -1;
+ if (componentIndex > other.componentIndex) return 1;
+ // compare segments
+ if (segmentIndex < other.segmentIndex) return -1;
+ if (segmentIndex > other.segmentIndex) return 1;
+ // same segment, so compare segment fraction
+ if (segmentFraction < other.segmentFraction) return -1;
+ if (segmentFraction > other.segmentFraction) return 1;
+ // same location
+ return 0;
+ }
+
+ /**
+ * Compares this object with the specified index values for order.
+ *
+ * @param componentIndex1 a component index
+ * @param segmentIndex1 a segment index
+ * @param segmentFraction1 a segment fraction
+ * @return a negative integer, zero, or a positive integer as this <code>LineStringLocation</code>
+ * is less than, equal to, or greater than the specified locationValues
+ */
+ public int compareLocationValues(int componentIndex1, int segmentIndex1, double segmentFraction1) {
+ // compare component indices
+ if (componentIndex < componentIndex1) return -1;
+ if (componentIndex > componentIndex1) return 1;
+ // compare segments
+ if (segmentIndex < segmentIndex1) return -1;
+ if (segmentIndex > segmentIndex1) return 1;
+ // same segment, so compare segment fraction
+ if (segmentFraction < segmentFraction1) return -1;
+ if (segmentFraction > segmentFraction1) return 1;
+ // same location
+ return 0;
+ }
+
+ /**
+ * Compares two sets of location values for order.
+ *
+ * @param componentIndex0 a component index
+ * @param segmentIndex0 a segment index
+ * @param segmentFraction0 a segment fraction
+ * @param componentIndex1 another component index
+ * @param segmentIndex1 another segment index
+ * @param segmentFraction1 another segment fraction
+ *@return a negative integer, zero, or a positive integer
+ * as the first set of location values
+ * is less than, equal to, or greater than the second set of locationValues
+ */
+ public static int compareLocationValues(
+ int componentIndex0, int segmentIndex0, double segmentFraction0,
+ int componentIndex1, int segmentIndex1, double segmentFraction1)
+ {
+ // compare component indices
+ if (componentIndex0 < componentIndex1) return -1;
+ if (componentIndex0 > componentIndex1) return 1;
+ // compare segments
+ if (segmentIndex0 < segmentIndex1) return -1;
+ if (segmentIndex0 > segmentIndex1) return 1;
+ // same segment, so compare segment fraction
+ if (segmentFraction0 < segmentFraction1) return -1;
+ if (segmentFraction0 > segmentFraction1) return 1;
+ // same location
+ return 0;
+ }
+
+ /**
+ * Tests whether two locations
+ * are on the same segment in the parent {@link Geometry}.
+ *
+ * @param loc a location on the same geometry
+ * @return true if the locations are on the same segment of the parent geometry
+ */
+ public boolean isOnSameSegment(LinearLocation loc)
+ {
+ if (componentIndex != loc.componentIndex) return false;
+ if (segmentIndex == loc.segmentIndex) return true;
+ if (loc.segmentIndex - segmentIndex == 1
+ && loc.segmentFraction == 0.0)
+ return true;
+ if (segmentIndex - loc.segmentIndex == 1
+ && segmentFraction == 0.0)
+ return true;
+ return false;
+ }
+
+ /**
+ * Tests whether this location is an endpoint of
+ * the linear component it refers to.
+ *
+ * @param linearGeom the linear geometry referenced by this location
+ * @return true if the location is a component endpoint
+ */
+ public boolean isEndpoint(Geometry linearGeom)
+ {
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+ // check for endpoint
+ int nseg = lineComp.getNumPoints() - 1;
+ return segmentIndex >= nseg
+ || (segmentIndex == nseg && segmentFraction >= 1.0);
+ }
+
+ /**
+ * Converts a linear location to the lowest equivalent location index.
+ * The lowest index has the lowest possible component and segment indices.
+ * <p>
+ * Specifically:
+ * <ul>
+ * <li>if the location point is an endpoint, a location value is returned as (nseg-1, 1.0)
+ * <li>if the location point is ambiguous (i.e. an endpoint and a startpoint), the lowest endpoint location is returned
+ * </ul>
+ * If the location index is already the lowest possible value, the original location is returned.
+ *
+ * @param linearGeom the linear geometry referenced by this location
+ * @return the lowest equivalent location
+ */
+ public LinearLocation toLowest(Geometry linearGeom)
+ {
+ // TODO: compute lowest component index
+ LineString lineComp = (LineString) linearGeom.getGeometryN(componentIndex);
+ int nseg = lineComp.getNumPoints() - 1;
+ // if not an endpoint can be returned directly
+ if (segmentIndex < nseg) return this;
+ return new LinearLocation(componentIndex, nseg, 1.0, false);
+ }
+
+ /**
+ * Copies this location
+ *
+ * @return a copy of this location
+ * @deprecated
+ */
+ public Object clone()
+ {
+ return copy();
+ }
+
+ /**
+ * Copies this location
+ *
+ * @return a copy of this location
+ */
+ public LinearLocation copy() {
+ return new LinearLocation(componentIndex, segmentIndex, segmentFraction);
+ }
+
+ public String toString()
+ {
+ return "LinearLoc["
+ + componentIndex + ", "
+ + segmentIndex + ", "
+ + segmentFraction + "]";
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfLine.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfLine.java
new file mode 100644
index 0000000..bbc6b66
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfLine.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Determines the location of a subline along a linear {@link Geometry}.
+ * The location is reported as a pair of {@link LinearLocation}s.
+ * <p>
+ * <b>Note:</b> Currently this algorithm is not guaranteed to
+ * return the correct substring in some situations where
+ * an endpoint of the test line occurs more than once in the input line.
+ * (However, the common case of a ring is always handled correctly).
+ */
+class LocationIndexOfLine
+{
+ /**
+ * MD - this algorithm has been extracted into a class
+ * because it is intended to validate that the subline truly is a subline,
+ * and also to use the internal vertex information to unambiguously locate the subline.
+ */
+ public static LinearLocation[] indicesOf(Geometry linearGeom, Geometry subLine)
+ {
+ LocationIndexOfLine locater = new LocationIndexOfLine(linearGeom);
+ return locater.indicesOf(subLine);
+ }
+
+ private Geometry linearGeom;
+
+ public LocationIndexOfLine(Geometry linearGeom) {
+ this.linearGeom = linearGeom;
+ }
+
+ public LinearLocation[] indicesOf(Geometry subLine)
+ {
+ Coordinate startPt = ((LineString) subLine.getGeometryN(0)).getCoordinateN(0);
+ LineString lastLine = (LineString) subLine.getGeometryN(subLine.getNumGeometries() - 1);
+ Coordinate endPt = lastLine.getCoordinateN(lastLine.getNumPoints() - 1);
+
+ LocationIndexOfPoint locPt = new LocationIndexOfPoint(linearGeom);
+ LinearLocation[] subLineLoc = new LinearLocation[2];
+ subLineLoc[0] = locPt.indexOf(startPt);
+
+ // check for case where subline is zero length
+ if (subLine.getLength() == 0.0) {
+ subLineLoc[1] = subLineLoc[0].copy();
+ }
+ else {
+ subLineLoc[1] = locPt.indexOfAfter(endPt, subLineLoc[0]);
+ }
+ return subLineLoc;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfPoint.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfPoint.java
new file mode 100644
index 0000000..b3a6fb0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexOfPoint.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Computes the {@link LinearLocation} of the point
+ * on a linear {@link Geometry} nearest a given {@link Coordinate}.
+ * The nearest point is not necessarily unique; this class
+ * always computes the nearest point closest to
+ * the start of the geometry.
+ */
+class LocationIndexOfPoint
+{
+ public static LinearLocation indexOf(Geometry linearGeom, Coordinate inputPt)
+ {
+ LocationIndexOfPoint locater = new LocationIndexOfPoint(linearGeom);
+ return locater.indexOf(inputPt);
+ }
+
+ public static LinearLocation indexOfAfter(Geometry linearGeom, Coordinate inputPt, LinearLocation minIndex)
+ {
+ LocationIndexOfPoint locater = new LocationIndexOfPoint(linearGeom);
+ return locater.indexOfAfter(inputPt, minIndex);
+ }
+
+ private Geometry linearGeom;
+
+ public LocationIndexOfPoint(Geometry linearGeom) {
+ this.linearGeom = linearGeom;
+ }
+
+ /**
+ * Find the nearest location along a linear {@link Geometry} to a given point.
+ *
+ * @param inputPt the coordinate to locate
+ * @return the location of the nearest point
+ */
+ public LinearLocation indexOf(Coordinate inputPt)
+ {
+ return indexOfFromStart(inputPt, null);
+ }
+
+ /**
+ * Find the nearest {@link LinearLocation} along the linear {@link Geometry}
+ * to a given {@link Coordinate}
+ * after the specified minimum {@link LinearLocation}.
+ * If possible the location returned will be strictly greater than the
+ * <code>minLocation</code>.
+ * If this is not possible, the
+ * value returned will equal <code>minLocation</code>.
+ * (An example where this is not possible is when
+ * minLocation = [end of line] ).
+ *
+ * @param inputPt the coordinate to locate
+ * @param minIndex the minimum location for the point location
+ * @return the location of the nearest point
+ */
+ public LinearLocation indexOfAfter(Coordinate inputPt, LinearLocation minIndex)
+ {
+ if (minIndex == null) return indexOf(inputPt);
+
+ // sanity check for minLocation at or past end of line
+ LinearLocation endLoc = LinearLocation.getEndLocation(linearGeom);
+ if (endLoc.compareTo(minIndex) <= 0)
+ return endLoc;
+
+ LinearLocation closestAfter = indexOfFromStart(inputPt, minIndex);
+ /**
+ * Return the minDistanceLocation found.
+ * This will not be null, since it was initialized to minLocation
+ */
+ Assert.isTrue(closestAfter.compareTo(minIndex) >= 0,
+ "computed location is before specified minimum location");
+ return closestAfter;
+ }
+
+ private LinearLocation indexOfFromStart(Coordinate inputPt, LinearLocation minIndex)
+ {
+ double minDistance = Double.MAX_VALUE;
+ int minComponentIndex = 0;
+ int minSegmentIndex = 0;
+ double minFrac = -1.0;
+
+ LineSegment seg = new LineSegment();
+ for (LinearIterator it = new LinearIterator(linearGeom);
+ it.hasNext(); it.next()) {
+ if (! it.isEndOfLine()) {
+ seg.p0 = it.getSegmentStart();
+ seg.p1 = it.getSegmentEnd();
+ double segDistance = seg.distance(inputPt);
+ double segFrac = seg.segmentFraction(inputPt);
+
+ int candidateComponentIndex = it.getComponentIndex();
+ int candidateSegmentIndex = it.getVertexIndex();
+ if (segDistance < minDistance) {
+ // ensure after minLocation, if any
+ if (minIndex == null ||
+ minIndex.compareLocationValues(
+ candidateComponentIndex, candidateSegmentIndex, segFrac)
+ < 0
+ ) {
+ // otherwise, save this as new minimum
+ minComponentIndex = candidateComponentIndex;
+ minSegmentIndex = candidateSegmentIndex;
+ minFrac = segFrac;
+ minDistance = segDistance;
+ }
+ }
+ }
+ }
+ if (minDistance == Double.MAX_VALUE) {
+ // no minimum was found past minLocation, so return it
+ return new LinearLocation(minIndex);
+ }
+ // otherwise, return computed location
+ LinearLocation loc = new LinearLocation(minComponentIndex, minSegmentIndex, minFrac);
+ return loc;
+ }
+
+ /**
+ * Computes the fraction of distance (in <tt>[0.0, 1.0]</tt>)
+ * that a point occurs along a line segment.
+ * If the point is beyond either ends of the line segment,
+ * the closest fractional value (<tt>0.0</tt> or <tt>1.0</tt>) is returned.
+ *
+ * @param seg the line segment to use
+ * @param inputPt the point
+ * @return the fraction along the line segment the point occurs
+ */
+ /*
+ // MD - no longer needed
+ private static double segmentFraction(
+ LineSegment seg,
+ Coordinate inputPt)
+ {
+ double segFrac = seg.projectionFactor(inputPt);
+ if (segFrac < 0.0)
+ segFrac = 0.0;
+ else if (segFrac > 1.0)
+ segFrac = 1.0;
+ return segFrac;
+ }
+ */
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexedLine.java b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexedLine.java
new file mode 100644
index 0000000..2b25110
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/LocationIndexedLine.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+
+/**
+ * Supports linear referencing
+ * along a linear {@link Geometry}
+ * using {@link LinearLocation}s as the index.
+ */
+public class LocationIndexedLine
+{
+ private Geometry linearGeom;
+
+ /**
+ * Constructs an object which allows linear referencing along
+ * a given linear {@link Geometry}.
+ *
+ * @param linearGeom the linear geometry to reference along
+ */
+ public LocationIndexedLine(Geometry linearGeom)
+ {
+ this.linearGeom = linearGeom;
+ checkGeometryType();
+ }
+
+ private void checkGeometryType()
+ {
+ if (! (linearGeom instanceof LineString || linearGeom instanceof MultiLineString))
+ throw new IllegalArgumentException("Input geometry must be linear");
+ }
+ /**
+ * Computes the {@link Coordinate} for the point
+ * on the line at the given index.
+ * If the index is out of range the first or last point on the
+ * line will be returned.
+ * The Z-ordinate of the computed point will be interpolated from
+ * the Z-ordinates of the line segment containing it, if they exist.
+ *
+ * @param index the index of the desired point
+ * @return the Coordinate at the given index
+ */
+ public Coordinate extractPoint(LinearLocation index)
+ {
+ return index.getCoordinate(linearGeom);
+ }
+
+ /**
+ * Computes the {@link Coordinate} for the point
+ * on the line at the given index, offset by the given distance.
+ * If the index is out of range the first or last point on the
+ * line will be returned.
+ * The computed point is offset to the left of the line if the offset distance is
+ * positive, to the right if negative.
+ *
+ * The Z-ordinate of the computed point will be interpolated from
+ * the Z-ordinates of the line segment containing it, if they exist.
+ *
+ * @param index the index of the desired point
+ * @param offsetDistance the distance the point is offset from the segment
+ * (positive is to the left, negative is to the right)
+ * @return the Coordinate at the given index
+ */
+ public Coordinate extractPoint(LinearLocation index, double offsetDistance)
+ {
+ LinearLocation indexLow = index.toLowest(linearGeom);
+ return indexLow.getSegment(linearGeom).pointAlongOffset(indexLow.getSegmentFraction(), offsetDistance);
+ }
+
+ /**
+ * Computes the {@link LineString} for the interval
+ * on the line between the given indices.
+ * If the start location is after the end location,
+ * the computed linear geometry has reverse orientation to the input line.
+ *
+ * @param startIndex the index of the start of the interval
+ * @param endIndex the index of the end of the interval
+ * @return the linear geometry between the indices
+ */
+ public Geometry extractLine(LinearLocation startIndex, LinearLocation endIndex)
+ {
+ return ExtractLineByLocation.extract(linearGeom, startIndex, endIndex);
+ }
+
+ /**
+ * Computes the index for a given point on the line.
+ * <p>
+ * The supplied point does not <i>necessarily</i> have to lie precisely
+ * on the line, but if it is far from the line the accuracy and
+ * performance of this function is not guaranteed.
+ * Use {@link #project} to compute a guaranteed result for points
+ * which may be far from the line.
+ *
+ * @param pt a point on the line
+ * @return the index of the point
+ * @see #project(Coordinate)
+ */
+ public LinearLocation indexOf(Coordinate pt)
+ {
+ return LocationIndexOfPoint.indexOf(linearGeom, pt);
+ }
+
+ /**
+ * Finds the index for a point on the line
+ * which is greater than the given index.
+ * If no such index exists, returns <tt>minIndex</tt>.
+ * This method can be used to determine all indexes for
+ * a point which occurs more than once on a non-simple line.
+ * It can also be used to disambiguate cases where the given point lies
+ * slightly off the line and is equidistant from two different
+ * points on the line.
+ *
+ * The supplied point does not <i>necessarily</i> have to lie precisely
+ * on the line, but if it is far from the line the accuracy and
+ * performance of this function is not guaranteed.
+ * Use {@link #project} to compute a guaranteed result for points
+ * which may be far from the line.
+ *
+ * @param pt a point on the line
+ * @param minIndex the value the returned index must be greater than
+ * @return the index of the point greater than the given minimum index
+ *
+ * @see #project(Coordinate)
+ */
+ public LinearLocation indexOfAfter(Coordinate pt, LinearLocation minIndex)
+ {
+ return LocationIndexOfPoint.indexOfAfter(linearGeom, pt, minIndex);
+ }
+
+
+ /**
+ * Computes the indices for a subline of the line.
+ * (The subline must <i>conform</i> to the line; that is,
+ * all vertices in the subline (except possibly the first and last)
+ * must be vertices of the line and occur in the same order).
+ *
+ * @param subLine a subLine of the line
+ * @return a pair of indices for the start and end of the subline.
+ */
+ public LinearLocation[] indicesOf(Geometry subLine)
+ {
+ return LocationIndexOfLine.indicesOf(linearGeom, subLine);
+ }
+
+ /**
+ * Computes the index for the closest point on the line to the given point.
+ * If more than one point has the closest distance the first one along the line
+ * is returned.
+ * (The point does not necessarily have to lie precisely on the line.)
+ *
+ * @param pt a point on the line
+ * @return the index of the point
+ */
+ public LinearLocation project(Coordinate pt)
+ {
+ return LocationIndexOfPoint.indexOf(linearGeom, pt);
+ }
+
+ /**
+ * Returns the index of the start of the line
+ * @return the location index
+ */
+ public LinearLocation getStartIndex()
+ {
+ return new LinearLocation();
+ }
+
+ /**
+ * Returns the index of the end of the line
+ * @return the location index
+ */
+ public LinearLocation getEndIndex()
+ {
+ return LinearLocation.getEndLocation(linearGeom);
+ }
+
+ /**
+ * Tests whether an index is in the valid index range for the line.
+ *
+ * @param index the index to test
+ * @return <code>true</code> if the index is in the valid range
+ */
+ public boolean isValidIndex(LinearLocation index)
+ {
+ return index.isValid(linearGeom);
+ }
+
+ /**
+ * Computes a valid index for this line
+ * by clamping the given index to the valid range of index values
+ *
+ * @return a valid index value
+ */
+ public LinearLocation clampIndex(LinearLocation index)
+ {
+ LinearLocation loc = index.copy();
+ loc.clamp(linearGeom);
+ return loc;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/linearref/package.html b/modules/core/src/main/java/org/locationtech/jts/linearref/package.html
new file mode 100644
index 0000000..303986d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/linearref/package.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes and interfaces implementing linear referencing on linear geometries
+
+<H3>Linear Referencing</H3>
+
+Linear Referencing is a way of defining positions along linear geometries
+(<code>LineStrings</code> and <code>MultiLineStrings</code>).
+It is used extensively in linear network systems.
+There are numerous possible <b>Linear Referencing Methods</b> which
+can be used to define positions along linear geometry.
+This package supports two:
+<ul>
+<li><b>Linear Location</b> - a linear location is a triple
+<code>(component index, segment index, segment fraction)</code>
+which precisely specifies a point on a linear geometry.
+It allows for efficient mapping of the index value to actual coordinate values.
+<li><b>Length</b> - the natural concept of using the length along
+the geometry to specify a position.
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/DD.java b/modules/core/src/main/java/org/locationtech/jts/math/DD.java
new file mode 100644
index 0000000..7f7e252
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/DD.java
@@ -0,0 +1,1380 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.math;
+
+import java.io.Serializable;
+
+/**
+ * Implements extended-precision floating-point numbers
+ * which maintain 106 bits (approximately 30 decimal digits) of precision.
+ * <p>
+ * A DoubleDouble uses a representation containing two double-precision values.
+ * A number x is represented as a pair of doubles, x.hi and x.lo,
+ * such that the number represented by x is x.hi + x.lo, where
+ * <pre>
+ * |x.lo| <= 0.5*ulp(x.hi)
+ * </pre>
+ * and ulp(y) means "unit in the last place of y".
+ * The basic arithmetic operations are implemented using
+ * convenient properties of IEEE-754 floating-point arithmetic.
+ * <p>
+ * The range of values which can be represented is the same as in IEEE-754.
+ * The precision of the representable numbers
+ * is twice as great as IEEE-754 double precision.
+ * <p>
+ * The correctness of the arithmetic algorithms relies on operations
+ * being performed with standard IEEE-754 double precision and rounding.
+ * This is the Java standard arithmetic model, but for performance reasons
+ * Java implementations are not
+ * constrained to using this standard by default.
+ * Some processors (notably the Intel Pentium architecture) perform
+ * floating point operations in (non-IEEE-754-standard) extended-precision.
+ * A JVM implementation may choose to use the non-standard extended-precision
+ * as its default arithmetic mode.
+ * To prevent this from happening, this code uses the
+ * Java <tt>strictfp</tt> modifier,
+ * which forces all operations to take place in the standard IEEE-754 rounding model.
+ * <p>
+ * The API provides both a set of value-oriented operations
+ * and a set of mutating operations.
+ * Value-oriented operations treat DoubleDouble values as
+ * immutable; operations on them return new objects carrying the result
+ * of the operation. This provides a simple and safe semantics for
+ * writing DoubleDouble expressions. However, there is a performance
+ * penalty for the object allocations required.
+ * The mutable interface updates object values in-place.
+ * It provides optimum memory performance, but requires
+ * care to ensure that aliasing errors are not created
+ * and constant values are not changed.
+ * <p>
+ * For example, the following code example constructs three DD instances:
+ * two to hold the input values and one to hold the result of the addition.
+ * <pre>
+ * DD a = new DD(2.0);
+ * DD b = new DD(3.0);
+ * DD c = a.add(b);
+ * </pre>
+ * In contrast, the following approach uses only one object:
+ * <pre>
+ * DD a = new DD(2.0);
+ * a.selfAdd(3.0);
+ * </pre>
+ * <p>
+ * This implementation uses algorithms originally designed variously by
+ * Knuth, Kahan, Dekker, and Linnainmaa.
+ * Douglas Priest developed the first C implementation of these techniques.
+ * Other more recent C++ implementation are due to Keith M. Briggs and David Bailey et al.
+ *
+ * <h3>References</h3>
+ * <ul>
+ * <li>Priest, D., <i>Algorithms for Arbitrary Precision Floating Point Arithmetic</i>,
+ * in P. Kornerup and D. Matula, Eds., Proc. 10th Symposium on Computer Arithmetic,
+ * IEEE Computer Society Press, Los Alamitos, Calif., 1991.
+ * <li>Yozo Hida, Xiaoye S. Li and David H. Bailey,
+ * <i>Quad-Double Arithmetic: Algorithms, Implementation, and Application</i>,
+ * manuscript, Oct 2000; Lawrence Berkeley National Laboratory Report BNL-46996.
+ * <li>David Bailey, <i>High Precision Software Directory</i>;
+ * <tt>http://crd.lbl.gov/~dhbailey/mpdist/index.html</tt>
+ * </ul>
+ *
+ *
+ * @author Martin Davis
+ *
+ */
+public strictfp final class DD
+ implements Serializable, Comparable, Cloneable
+{
+ /**
+ * The value nearest to the constant Pi.
+ */
+ public static final DD PI = new DD(
+ 3.141592653589793116e+00,
+ 1.224646799147353207e-16);
+
+ /**
+ * The value nearest to the constant 2 * Pi.
+ */
+ public static final DD TWO_PI = new DD(
+ 6.283185307179586232e+00,
+ 2.449293598294706414e-16);
+
+ /**
+ * The value nearest to the constant Pi / 2.
+ */
+ public static final DD PI_2 = new DD(
+ 1.570796326794896558e+00,
+ 6.123233995736766036e-17);
+
+ /**
+ * The value nearest to the constant e (the natural logarithm base).
+ */
+ public static final DD E = new DD(
+ 2.718281828459045091e+00,
+ 1.445646891729250158e-16);
+
+ /**
+ * A value representing the result of an operation which does not return a valid number.
+ */
+ public static final DD NaN = new DD(Double.NaN, Double.NaN);
+
+ /**
+ * The smallest representable relative difference between two {link @ DoubleDouble} values
+ */
+ public static final double EPS = 1.23259516440783e-32; /* = 2^-106 */
+
+ private static DD createNaN()
+ {
+ return new DD(Double.NaN, Double.NaN);
+ }
+
+ /**
+ * Converts the string argument to a DoubleDouble number.
+ *
+ * @param str a string containing a representation of a numeric value
+ * @return the extended precision version of the value
+ * @throws NumberFormatException if <tt>s</tt> is not a valid representation of a number
+ */
+ public static DD valueOf(String str)
+ throws NumberFormatException
+ {
+ return parse(str);
+ }
+
+ /**
+ * Converts the <tt>double</tt> argument to a DoubleDouble number.
+ *
+ * @param x a numeric value
+ * @return the extended precision version of the value
+ */
+ public static DD valueOf(double x) { return new DD(x); }
+
+ /**
+ * The value to split a double-precision value on during multiplication
+ */
+ private static final double SPLIT = 134217729.0D; // 2^27+1, for IEEE double
+
+ /**
+ * The high-order component of the double-double precision value.
+ */
+ private double hi = 0.0;
+
+ /**
+ * The low-order component of the double-double precision value.
+ */
+ private double lo = 0.0;
+
+ /**
+ * Creates a new DoubleDouble with value 0.0.
+ */
+ public DD()
+ {
+ init(0.0);
+ }
+
+ /**
+ * Creates a new DoubleDouble with value x.
+ *
+ * @param x the value to initialize
+ */
+ public DD(double x)
+ {
+ init(x);
+ }
+
+ /**
+ * Creates a new DoubleDouble with value (hi, lo).
+ *
+ * @param hi the high-order component
+ * @param lo the high-order component
+ */
+ public DD(double hi, double lo)
+ {
+ init(hi, lo);
+ }
+
+ /**
+ * Creates a new DoubleDouble with value equal to the argument.
+ *
+ * @param dd the value to initialize
+ */
+ public DD(DD dd)
+ {
+ init(dd);
+ }
+
+ /**
+ * Creates a new DoubleDouble with value equal to the argument.
+ *
+ * @param str the value to initialize by
+ * @throws NumberFormatException if <tt>str</tt> is not a valid representation of a number
+ */
+ public DD(String str)
+ throws NumberFormatException
+ {
+ this(parse(str));
+ }
+
+ /**
+ * Creates a new DoubleDouble with the value of the argument.
+ *
+ * @param dd the DoubleDouble value to copy
+ * @return a copy of the input value
+ */
+ public static DD copy(DD dd)
+ {
+ return new DD(dd);
+ }
+
+ /**
+ * Creates and returns a copy of this value.
+ *
+ * @return a copy of this value
+ */
+ public Object clone()
+ {
+ try {
+ return super.clone();
+ }
+ catch (CloneNotSupportedException ex) {
+ // should never reach here
+ return null;
+ }
+ }
+
+ private final void init(double x)
+ {
+ this.hi = x;
+ this.lo = 0.0;
+ }
+
+ private final void init(double hi, double lo)
+ {
+ this.hi = hi;
+ this.lo = lo;
+ }
+
+ private final void init(DD dd)
+ {
+ hi = dd.hi;
+ lo = dd.lo;
+ }
+
+ /*
+ double getHighComponent() { return hi; }
+
+ double getLowComponent() { return lo; }
+ */
+
+ // Testing only - should not be public
+ /*
+ public void RENORM()
+ {
+ double s = hi + lo;
+ double err = lo - (s - hi);
+ hi = s;
+ lo = err;
+ }
+ */
+
+ /**
+ * Set the value for the DD object. This method supports the mutating
+ * operations concept described in the class documentation (see above).
+ * @param value a DD instance supplying an extended-precision value.
+ * @return a self-reference to the DD instance.
+ */
+ public DD setValue(DD value) {
+ init(value);
+ return this;
+ }
+
+ /**
+ * Set the value for the DD object. This method supports the mutating
+ * operations concept described in the class documentation (see above).
+ * @param value a floating point value to be stored in the instance.
+ * @return a self-reference to the DD instance.
+ */
+ public DD setValue(double value) {
+ init(value);
+ return this;
+ }
+
+
+ /**
+ * Returns a new DoubleDouble whose value is <tt>(this + y)</tt>.
+ *
+ * @param y the addend
+ * @return <tt>(this + y)</tt>
+ */
+ public final DD add(DD y)
+ {
+ return copy(this).selfAdd(y);
+ }
+
+ /**
+ * Returns a new DoubleDouble whose value is <tt>(this + y)</tt>.
+ *
+ * @param y the addend
+ * @return <tt>(this + y)</tt>
+ */
+ public final DD add(double y)
+ {
+ return copy(this).selfAdd(y);
+ }
+
+ /**
+ * Adds the argument to the value of <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the addend
+ * @return this object, increased by y
+ */
+ public final DD selfAdd(DD y)
+ {
+ return selfAdd(y.hi, y.lo);
+ }
+
+ /**
+ * Adds the argument to the value of <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the addend
+ * @return this object, increased by y
+ */
+ public final DD selfAdd(double y)
+ {
+ double H, h, S, s, e, f;
+ S = hi + y;
+ e = S - hi;
+ s = S - e;
+ s = (y - e) + (hi - s);
+ f = s + lo;
+ H = S + f;
+ h = f + (S - H);
+ hi = H + h;
+ lo = h + (H - hi);
+ return this;
+ // return selfAdd(y, 0.0);
+ }
+
+ private final DD selfAdd(double yhi, double ylo)
+ {
+ double H, h, T, t, S, s, e, f;
+ S = hi + yhi;
+ T = lo + ylo;
+ e = S - hi;
+ f = T - lo;
+ s = S-e;
+ t = T-f;
+ s = (yhi-e)+(hi-s);
+ t = (ylo-f)+(lo-t);
+ e = s+T; H = S+e; h = e+(S-H); e = t+h;
+
+ double zhi = H + e;
+ double zlo = e + (H - zhi);
+ hi = zhi;
+ lo = zlo;
+ return this;
+ }
+
+ /**
+ * Computes a new DoubleDouble object whose value is <tt>(this - y)</tt>.
+ *
+ * @param y the subtrahend
+ * @return <tt>(this - y)</tt>
+ */
+ public final DD subtract(DD y)
+ {
+ return add(y.negate());
+ }
+
+ /**
+ * Computes a new DoubleDouble object whose value is <tt>(this - y)</tt>.
+ *
+ * @param y the subtrahend
+ * @return <tt>(this - y)</tt>
+ */
+ public final DD subtract(double y)
+ {
+ return add(-y);
+ }
+
+
+ /**
+ * Subtracts the argument from the value of <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the addend
+ * @return this object, decreased by y
+ */
+ public final DD selfSubtract(DD y)
+ {
+ if (isNaN()) return this;
+ return selfAdd(-y.hi, -y.lo);
+ }
+
+ /**
+ * Subtracts the argument from the value of <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the addend
+ * @return this object, decreased by y
+ */
+ public final DD selfSubtract(double y)
+ {
+ if (isNaN()) return this;
+ return selfAdd(-y, 0.0);
+ }
+
+ /**
+ * Returns a new DoubleDouble whose value is <tt>-this</tt>.
+ *
+ * @return <tt>-this</tt>
+ */
+ public final DD negate()
+ {
+ if (isNaN()) return this;
+ return new DD(-hi, -lo);
+ }
+
+ /**
+ * Returns a new DoubleDouble whose value is <tt>(this * y)</tt>.
+ *
+ * @param y the multiplicand
+ * @return <tt>(this * y)</tt>
+ */
+ public final DD multiply(DD y)
+ {
+ if (y.isNaN()) return createNaN();
+ return copy(this).selfMultiply(y);
+ }
+
+ /**
+ * Returns a new DoubleDouble whose value is <tt>(this * y)</tt>.
+ *
+ * @param y the multiplicand
+ * @return <tt>(this * y)</tt>
+ */
+ public final DD multiply(double y)
+ {
+ if (Double.isNaN(y)) return createNaN();
+ return copy(this).selfMultiply(y, 0.0);
+ }
+
+ /**
+ * Multiplies this object by the argument, returning <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the value to multiply by
+ * @return this object, multiplied by y
+ */
+ public final DD selfMultiply(DD y)
+ {
+ return selfMultiply(y.hi, y.lo);
+ }
+
+ /**
+ * Multiplies this object by the argument, returning <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the value to multiply by
+ * @return this object, multiplied by y
+ */
+ public final DD selfMultiply(double y)
+ {
+ return selfMultiply(y, 0.0);
+ }
+
+ private final DD selfMultiply(double yhi, double ylo)
+ {
+ double hx, tx, hy, ty, C, c;
+ C = SPLIT * hi; hx = C-hi; c = SPLIT * yhi;
+ hx = C-hx; tx = hi-hx; hy = c-yhi;
+ C = hi*yhi; hy = c-hy; ty = yhi-hy;
+ c = ((((hx*hy-C)+hx*ty)+tx*hy)+tx*ty)+(hi*ylo+lo*yhi);
+ double zhi = C+c; hx = C-zhi;
+ double zlo = c+hx;
+ hi = zhi;
+ lo = zlo;
+ return this;
+ }
+
+ /**
+ * Computes a new DoubleDouble whose value is <tt>(this / y)</tt>.
+ *
+ * @param y the divisor
+ * @return a new object with the value <tt>(this / y)</tt>
+ */
+ public final DD divide(DD y)
+ {
+ double hc, tc, hy, ty, C, c, U, u;
+ C = hi/y.hi; c = SPLIT*C; hc =c-C; u = SPLIT*y.hi; hc = c-hc;
+ tc = C-hc; hy = u-y.hi; U = C * y.hi; hy = u-hy; ty = y.hi-hy;
+ u = (((hc*hy-U)+hc*ty)+tc*hy)+tc*ty;
+ c = ((((hi-U)-u)+lo)-C*y.lo)/y.hi;
+ u = C+c;
+
+ double zhi = u;
+ double zlo = (C-u)+c;
+ return new DD(zhi, zlo);
+ }
+
+ /**
+ * Computes a new DoubleDouble whose value is <tt>(this / y)</tt>.
+ *
+ * @param y the divisor
+ * @return a new object with the value <tt>(this / y)</tt>
+ */
+ public final DD divide(double y)
+ {
+ if (Double.isNaN(y)) return createNaN();
+ return copy(this).selfDivide(y, 0.0);
+ }
+
+ /**
+ * Divides this object by the argument, returning <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the value to divide by
+ * @return this object, divided by y
+ */
+ public final DD selfDivide(DD y)
+ {
+ return selfDivide(y.hi, y.lo);
+ }
+
+ /**
+ * Divides this object by the argument, returning <tt>this</tt>.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @param y the value to divide by
+ * @return this object, divided by y
+ */
+ public final DD selfDivide(double y)
+ {
+ return selfDivide(y, 0.0);
+ }
+
+ private final DD selfDivide(double yhi, double ylo)
+ {
+ double hc, tc, hy, ty, C, c, U, u;
+ C = hi/yhi; c = SPLIT*C; hc =c-C; u = SPLIT*yhi; hc = c-hc;
+ tc = C-hc; hy = u-yhi; U = C * yhi; hy = u-hy; ty = yhi-hy;
+ u = (((hc*hy-U)+hc*ty)+tc*hy)+tc*ty;
+ c = ((((hi-U)-u)+lo)-C*ylo)/yhi;
+ u = C+c;
+
+ hi = u;
+ lo = (C-u)+c;
+ return this;
+ }
+
+ /**
+ * Returns a DoubleDouble whose value is <tt>1 / this</tt>.
+ *
+ * @return the reciprocal of this value
+ */
+ public final DD reciprocal()
+ {
+ double hc, tc, hy, ty, C, c, U, u;
+ C = 1.0/hi;
+ c = SPLIT*C;
+ hc =c-C;
+ u = SPLIT*hi;
+ hc = c-hc; tc = C-hc; hy = u-hi; U = C*hi; hy = u-hy; ty = hi-hy;
+ u = (((hc*hy-U)+hc*ty)+tc*hy)+tc*ty;
+ c = ((((1.0-U)-u))-C*lo)/hi;
+
+ double zhi = C+c;
+ double zlo = (C-zhi)+c;
+ return new DD(zhi, zlo);
+ }
+
+ /**
+ * Returns the largest (closest to positive infinity)
+ * value that is not greater than the argument
+ * and is equal to a mathematical integer.
+ * Special cases:
+ * <ul>
+ * <li>If this value is NaN, returns NaN.
+ * </ul>
+ *
+ * @return the largest (closest to positive infinity)
+ * value that is not greater than the argument
+ * and is equal to a mathematical integer.
+ */
+ public DD floor()
+ {
+ if (isNaN()) return NaN;
+ double fhi=Math.floor(hi);
+ double flo = 0.0;
+ // Hi is already integral. Floor the low word
+ if (fhi == hi) {
+ flo = Math.floor(lo);
+ }
+ // do we need to renormalize here?
+ return new DD(fhi, flo);
+ }
+
+ /**
+ * Returns the smallest (closest to negative infinity) value
+ * that is not less than the argument and is equal to a mathematical integer.
+ * Special cases:
+ * <ul>
+ * <li>If this value is NaN, returns NaN.
+ * </ul>
+ *
+ * @return the smallest (closest to negative infinity) value
+ * that is not less than the argument and is equal to a mathematical integer.
+ */
+ public DD ceil()
+ {
+ if (isNaN()) return NaN;
+ double fhi=Math.ceil(hi);
+ double flo = 0.0;
+ // Hi is already integral. Ceil the low word
+ if (fhi == hi) {
+ flo = Math.ceil(lo);
+ // do we need to renormalize here?
+ }
+ return new DD(fhi, flo);
+ }
+
+ /**
+ * Returns an integer indicating the sign of this value.
+ * <ul>
+ * <li>if this value is > 0, returns 1
+ * <li>if this value is < 0, returns -1
+ * <li>if this value is = 0, returns 0
+ * <li>if this value is NaN, returns 0
+ * </ul>
+ *
+ * @return an integer indicating the sign of this value
+ */
+ public int signum()
+ {
+ if (hi > 0) return 1;
+ if (hi < 0) return -1;
+ if (lo > 0) return 1;
+ if (lo < 0) return -1;
+ return 0;
+ }
+
+ /**
+ * Rounds this value to the nearest integer.
+ * The value is rounded to an integer by adding 1/2 and taking the floor of the result.
+ * Special cases:
+ * <ul>
+ * <li>If this value is NaN, returns NaN.
+ * </ul>
+ *
+ * @return this value rounded to the nearest integer
+ */
+ public DD rint()
+ {
+ if (isNaN()) return this;
+ // may not be 100% correct
+ DD plus5 = this.add(0.5);
+ return plus5.floor();
+ }
+
+ /**
+ * Returns the integer which is largest in absolute value and not further
+ * from zero than this value.
+ * Special cases:
+ * <ul>
+ * <li>If this value is NaN, returns NaN.
+ * </ul>
+ *
+ * @return the integer which is largest in absolute value and not further from zero than this value
+ */
+ public DD trunc()
+ {
+ if (isNaN()) return NaN;
+ if (isPositive())
+ return floor();
+ else
+ return ceil();
+ }
+
+ /**
+ * Returns the absolute value of this value.
+ * Special cases:
+ * <ul>
+ * <li>If this value is NaN, it is returned.
+ * </ul>
+ *
+ * @return the absolute value of this value
+ */
+ public DD abs()
+ {
+ if (isNaN()) return NaN;
+ if (isNegative())
+ return negate();
+ return new DD(this);
+ }
+
+ /**
+ * Computes the square of this value.
+ *
+ * @return the square of this value.
+ */
+ public DD sqr()
+ {
+ return this.multiply(this);
+ }
+
+ /**
+ * Squares this object.
+ * To prevent altering constants,
+ * this method <b>must only</b> be used on values known to
+ * be newly created.
+ *
+ * @return the square of this value.
+ */
+ public DD selfSqr()
+ {
+ return this.selfMultiply(this);
+ }
+
+ /**
+ * Computes the square of this value.
+ *
+ * @return the square of this value.
+ */
+ public static DD sqr(double x)
+ {
+ return valueOf(x).selfMultiply(x);
+ }
+
+ /**
+ * Computes the positive square root of this value.
+ * If the number is NaN or negative, NaN is returned.
+ *
+ * @return the positive square root of this number.
+ * If the argument is NaN or less than zero, the result is NaN.
+ */
+ public DD sqrt()
+ {
+ /* Strategy: Use Karp's trick: if x is an approximation
+ to sqrt(a), then
+
+ sqrt(a) = a*x + [a - (a*x)^2] * x / 2 (approx)
+
+ The approximation is accurate to twice the accuracy of x.
+ Also, the multiplication (a*x) and [-]*x can be done with
+ only half the precision.
+ */
+
+ if (isZero())
+ return valueOf(0.0);
+
+ if (isNegative()) {
+ return NaN;
+ }
+
+ double x = 1.0 / Math.sqrt(hi);
+ double ax = hi * x;
+
+ DD axdd = valueOf(ax);
+ DD diffSq = this.subtract(axdd.sqr());
+ double d2 = diffSq.hi * (x * 0.5);
+
+ return axdd.add(d2);
+ }
+
+ public static DD sqrt(double x)
+ {
+ return valueOf(x).sqrt();
+ }
+
+ /**
+ * Computes the value of this number raised to an integral power.
+ * Follows semantics of Java Math.pow as closely as possible.
+ *
+ * @param exp the integer exponent
+ * @return x raised to the integral power exp
+ */
+ public DD pow(int exp)
+ {
+ if (exp == 0.0)
+ return valueOf(1.0);
+
+ DD r = new DD(this);
+ DD s = valueOf(1.0);
+ int n = Math.abs(exp);
+
+ if (n > 1) {
+ /* Use binary exponentiation */
+ while (n > 0) {
+ if (n % 2 == 1) {
+ s.selfMultiply(r);
+ }
+ n /= 2;
+ if (n > 0)
+ r = r.sqr();
+ }
+ } else {
+ s = r;
+ }
+
+ /* Compute the reciprocal if n is negative. */
+ if (exp < 0)
+ return s.reciprocal();
+ return s;
+ }
+
+
+ /*------------------------------------------------------------
+ * Ordering Functions
+ *------------------------------------------------------------
+ */
+
+ /**
+ * Computes the minimum of this and another DD number.
+ *
+ * @param x a DD number
+ * @return the minimum of the two numbers
+ */
+ public DD min(DD x) {
+ if (this.le(x)) {
+ return this;
+ }
+ else {
+ return x;
+ }
+ }
+
+ /**
+ * Computes the maximum of this and another DD number.
+ *
+ * @param x a DD number
+ * @return the maximum of the two numbers
+ */
+ public DD max(DD x) {
+ if (this.ge(x)) {
+ return this;
+ }
+ else {
+ return x;
+ }
+ }
+
+ /*------------------------------------------------------------
+ * Conversion Functions
+ *------------------------------------------------------------
+ */
+
+ /**
+ * Converts this value to the nearest double-precision number.
+ *
+ * @return the nearest double-precision number to this value
+ */
+ public double doubleValue()
+ {
+ return hi + lo;
+ }
+
+ /**
+ * Converts this value to the nearest integer.
+ *
+ * @return the nearest integer to this value
+ */
+ public int intValue()
+ {
+ return (int) hi;
+ }
+
+ /*------------------------------------------------------------
+ * Predicates
+ *------------------------------------------------------------
+ */
+
+ /**
+ * Tests whether this value is equal to 0.
+ *
+ * @return true if this value is equal to 0
+ */
+ public boolean isZero()
+ {
+ return hi == 0.0 && lo == 0.0;
+ }
+
+ /**
+ * Tests whether this value is less than 0.
+ *
+ * @return true if this value is less than 0
+ */
+ public boolean isNegative()
+ {
+ return hi < 0.0 || (hi == 0.0 && lo < 0.0);
+ }
+
+ /**
+ * Tests whether this value is greater than 0.
+ *
+ * @return true if this value is greater than 0
+ */
+ public boolean isPositive()
+ {
+ return hi > 0.0 || (hi == 0.0 && lo > 0.0);
+ }
+
+ /**
+ * Tests whether this value is NaN.
+ *
+ * @return true if this value is NaN
+ */
+ public boolean isNaN() { return Double.isNaN(hi); }
+
+ /**
+ * Tests whether this value is equal to another <tt>DoubleDouble</tt> value.
+ *
+ * @param y a DoubleDouble value
+ * @return true if this value = y
+ */
+ public boolean equals(DD y)
+ {
+ return hi == y.hi && lo == y.lo;
+ }
+
+ /**
+ * Tests whether this value is greater than another <tt>DoubleDouble</tt> value.
+ * @param y a DoubleDouble value
+ * @return true if this value > y
+ */
+ public boolean gt(DD y)
+ {
+ return (hi > y.hi) || (hi == y.hi && lo > y.lo);
+ }
+ /**
+ * Tests whether this value is greater than or equals to another <tt>DoubleDouble</tt> value.
+ * @param y a DoubleDouble value
+ * @return true if this value >= y
+ */
+ public boolean ge(DD y)
+ {
+ return (hi > y.hi) || (hi == y.hi && lo >= y.lo);
+ }
+ /**
+ * Tests whether this value is less than another <tt>DoubleDouble</tt> value.
+ * @param y a DoubleDouble value
+ * @return true if this value < y
+ */
+ public boolean lt(DD y)
+ {
+ return (hi < y.hi) || (hi == y.hi && lo < y.lo);
+ }
+ /**
+ * Tests whether this value is less than or equal to another <tt>DoubleDouble</tt> value.
+ * @param y a DoubleDouble value
+ * @return true if this value <= y
+ */
+ public boolean le(DD y)
+ {
+ return (hi < y.hi) || (hi == y.hi && lo <= y.lo);
+ }
+
+ /**
+ * Compares two DoubleDouble objects numerically.
+ *
+ * @return -1,0 or 1 depending on whether this value is less than, equal to
+ * or greater than the value of <tt>o</tt>
+ */
+ public int compareTo(Object o)
+ {
+ DD other = (DD) o;
+
+ if (hi < other.hi) return -1;
+ if (hi > other.hi) return 1;
+ if (lo < other.lo) return -1;
+ if (lo > other.lo) return 1;
+ return 0;
+ }
+
+
+ /*------------------------------------------------------------
+ * Output
+ *------------------------------------------------------------
+ */
+
+ private static final int MAX_PRINT_DIGITS = 32;
+ private static final DD TEN = DD.valueOf(10.0);
+ private static final DD ONE = DD.valueOf(1.0);
+ private static final String SCI_NOT_EXPONENT_CHAR = "E";
+ private static final String SCI_NOT_ZERO = "0.0E0";
+
+ /**
+ * Dumps the components of this number to a string.
+ *
+ * @return a string showing the components of the number
+ */
+ public String dump()
+ {
+ return "DD<" + hi + ", " + lo + ">";
+ }
+
+ /**
+ * Returns a string representation of this number, in either standard or scientific notation.
+ * If the magnitude of the number is in the range [ 10<sup>-3</sup>, 10<sup>8</sup> ]
+ * standard notation will be used. Otherwise, scientific notation will be used.
+ *
+ * @return a string representation of this number
+ */
+ public String toString()
+ {
+ int mag = magnitude(hi);
+ if (mag >= -3 && mag <= 20)
+ return toStandardNotation();
+ return toSciNotation();
+ }
+
+ /**
+ * Returns the string representation of this value in standard notation.
+ *
+ * @return the string representation in standard notation
+ */
+ public String toStandardNotation()
+ {
+ String specialStr = getSpecialNumberString();
+ if (specialStr != null)
+ return specialStr;
+
+ int[] magnitude = new int[1];
+ String sigDigits = extractSignificantDigits(true, magnitude);
+ int decimalPointPos = magnitude[0] + 1;
+
+ String num = sigDigits;
+ // add a leading 0 if the decimal point is the first char
+ if (sigDigits.charAt(0) == '.') {
+ num = "0" + sigDigits;
+ }
+ else if (decimalPointPos < 0) {
+ num = "0." + stringOfChar('0', -decimalPointPos) + sigDigits;
+ }
+ else if (sigDigits.indexOf('.') == -1) {
+ // no point inserted - sig digits must be smaller than magnitude of number
+ // add zeroes to end to make number the correct size
+ int numZeroes = decimalPointPos - sigDigits.length();
+ String zeroes = stringOfChar('0', numZeroes);
+ num = sigDigits + zeroes + ".0";
+ }
+
+ if (this.isNegative())
+ return "-" + num;
+ return num;
+ }
+
+ /**
+ * Returns the string representation of this value in scientific notation.
+ *
+ * @return the string representation in scientific notation
+ */
+ public String toSciNotation()
+ {
+ // special case zero, to allow as
+ if (isZero())
+ return SCI_NOT_ZERO;
+
+ String specialStr = getSpecialNumberString();
+ if (specialStr != null)
+ return specialStr;
+
+ int[] magnitude = new int[1];
+ String digits = extractSignificantDigits(false, magnitude);
+ String expStr = SCI_NOT_EXPONENT_CHAR + magnitude[0];
+
+ // should never have leading zeroes
+ // MD - is this correct? Or should we simply strip them if they are present?
+ if (digits.charAt(0) == '0') {
+ throw new IllegalStateException("Found leading zero: " + digits);
+ }
+
+ // add decimal point
+ String trailingDigits = "";
+ if (digits.length() > 1)
+ trailingDigits = digits.substring(1);
+ String digitsWithDecimal = digits.charAt(0) + "." + trailingDigits;
+
+ if (this.isNegative())
+ return "-" + digitsWithDecimal + expStr;
+ return digitsWithDecimal + expStr;
+ }
+
+
+ /**
+ * Extracts the significant digits in the decimal representation of the argument.
+ * A decimal point may be optionally inserted in the string of digits
+ * (as long as its position lies within the extracted digits
+ * - if not, the caller must prepend or append the appropriate zeroes and decimal point).
+ *
+ * @param y the number to extract ( >= 0)
+ * @param decimalPointPos the position in which to insert a decimal point
+ * @return the string containing the significant digits and possibly a decimal point
+ */
+ private String extractSignificantDigits(boolean insertDecimalPoint, int[] magnitude)
+ {
+ DD y = this.abs();
+ // compute *correct* magnitude of y
+ int mag = magnitude(y.hi);
+ DD scale = TEN.pow(mag);
+ y = y.divide(scale);
+
+ // fix magnitude if off by one
+ if (y.gt(TEN)) {
+ y = y.divide(TEN);
+ mag += 1;
+ }
+ else if (y.lt(ONE)) {
+ y = y.multiply(TEN);
+ mag -= 1;
+ }
+
+ int decimalPointPos = mag + 1;
+ StringBuffer buf = new StringBuffer();
+ int numDigits = MAX_PRINT_DIGITS - 1;
+ for (int i = 0; i <= numDigits; i++) {
+ if (insertDecimalPoint && i == decimalPointPos) {
+ buf.append('.');
+ }
+ int digit = (int) y.hi;
+// System.out.println("printDump: [" + i + "] digit: " + digit + " y: " + y.dump() + " buf: " + buf);
+
+ /**
+ * This should never happen, due to heuristic checks on remainder below
+ */
+ if (digit < 0 || digit > 9) {
+// System.out.println("digit > 10 : " + digit);
+// throw new IllegalStateException("Internal errror: found digit = " + digit);
+ }
+ /**
+ * If a negative remainder is encountered, simply terminate the extraction.
+ * This is robust, but maybe slightly inaccurate.
+ * My current hypothesis is that negative remainders only occur for very small lo components,
+ * so the inaccuracy is tolerable
+ */
+ if (digit < 0) {
+ break;
+ // throw new IllegalStateException("Internal errror: found digit = " + digit);
+ }
+ boolean rebiasBy10 = false;
+ char digitChar = 0;
+ if (digit > 9) {
+ // set flag to re-bias after next 10-shift
+ rebiasBy10 = true;
+ // output digit will end up being '9'
+ digitChar = '9';
+ }
+ else {
+ digitChar = (char) ('0' + digit);
+ }
+ buf.append(digitChar);
+ y = (y.subtract(DD.valueOf(digit))
+ .multiply(TEN));
+ if (rebiasBy10)
+ y.selfAdd(TEN);
+
+ boolean continueExtractingDigits = true;
+ /**
+ * Heuristic check: if the remaining portion of
+ * y is non-positive, assume that output is complete
+ */
+// if (y.hi <= 0.0)
+// if (y.hi < 0.0)
+// continueExtractingDigits = false;
+ /**
+ * Check if remaining digits will be 0, and if so don't output them.
+ * Do this by comparing the magnitude of the remainder with the expected precision.
+ */
+ int remMag = magnitude(y.hi);
+ if (remMag < 0 && Math.abs(remMag) >= (numDigits - i))
+ continueExtractingDigits = false;
+ if (! continueExtractingDigits)
+ break;
+ }
+ magnitude[0] = mag;
+ return buf.toString();
+ }
+
+
+ /**
+ * Creates a string of a given length containing the given character
+ *
+ * @param ch the character to be repeated
+ * @param len the len of the desired string
+ * @return the string
+ */
+ private static String stringOfChar(char ch, int len)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < len; i++) {
+ buf.append(ch);
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Returns the string for this value if it has a known representation.
+ * (E.g. NaN or 0.0)
+ *
+ * @return the string for this special number
+ * or null if the number is not a special number
+ */
+ private String getSpecialNumberString()
+ {
+ if (isZero()) return "0.0";
+ if (isNaN()) return "NaN ";
+ return null;
+ }
+
+
+
+ /**
+ * Determines the decimal magnitude of a number.
+ * The magnitude is the exponent of the greatest power of 10 which is less than
+ * or equal to the number.
+ *
+ * @param x the number to find the magnitude of
+ * @return the decimal magnitude of x
+ */
+ private static int magnitude(double x)
+ {
+ double xAbs = Math.abs(x);
+ double xLog10 = Math.log(xAbs) / Math.log(10);
+ int xMag = (int) Math.floor(xLog10);
+ /**
+ * Since log computation is inexact, there may be an off-by-one error
+ * in the computed magnitude.
+ * Following tests that magnitude is correct, and adjusts it if not
+ */
+ double xApprox = Math.pow(10, xMag);
+ if (xApprox * 10 <= xAbs)
+ xMag += 1;
+
+ return xMag;
+ }
+
+
+ /*------------------------------------------------------------
+ * Input
+ *------------------------------------------------------------
+ */
+
+ /**
+ * Converts a string representation of a real number into a DoubleDouble value.
+ * The format accepted is similar to the standard Java real number syntax.
+ * It is defined by the following regular expression:
+ * <pre>
+ * [<tt>+</tt>|<tt>-</tt>] {<i>digit</i>} [ <tt>.</tt> {<i>digit</i>} ] [ ( <tt>e</tt> | <tt>E</tt> ) [<tt>+</tt>|<tt>-</tt>] {<i>digit</i>}+
+ * </pre>
+ *
+ * @param str the string to parse
+ * @return the value of the parsed number
+ * @throws NumberFormatException if <tt>str</tt> is not a valid representation of a number
+ */
+ public static DD parse(String str)
+ throws NumberFormatException
+ {
+ int i = 0;
+ int strlen = str.length();
+
+ // skip leading whitespace
+ while (Character.isWhitespace(str.charAt(i)))
+ i++;
+
+ // check for sign
+ boolean isNegative = false;
+ if (i < strlen) {
+ char signCh = str.charAt(i);
+ if (signCh == '-' || signCh == '+') {
+ i++;
+ if (signCh == '-') isNegative = true;
+ }
+ }
+
+ // scan all digits and accumulate into an integral value
+ // Keep track of the location of the decimal point (if any) to allow scaling later
+ DD val = new DD();
+
+ int numDigits = 0;
+ int numBeforeDec = 0;
+ int exp = 0;
+ while (true) {
+ if (i >= strlen)
+ break;
+ char ch = str.charAt(i);
+ i++;
+ if (Character.isDigit(ch)) {
+ double d = ch - '0';
+ val.selfMultiply(TEN);
+ // MD: need to optimize this
+ val.selfAdd(d);
+ numDigits++;
+ continue;
+ }
+ if (ch == '.') {
+ numBeforeDec = numDigits;
+ continue;
+ }
+ if (ch == 'e' || ch == 'E') {
+ String expStr = str.substring(i);
+ // this should catch any format problems with the exponent
+ try {
+ exp = Integer.parseInt(expStr);
+ }
+ catch (NumberFormatException ex) {
+ throw new NumberFormatException("Invalid exponent " + expStr + " in string " + str);
+ }
+ break;
+ }
+ throw new NumberFormatException("Unexpected character '" + ch
+ + "' at position " + i
+ + " in string " + str);
+ }
+ DD val2 = val;
+
+ // scale the number correctly
+ int numDecPlaces = numDigits - numBeforeDec - exp;
+ if (numDecPlaces == 0) {
+ val2 = val;
+ }
+ else if (numDecPlaces > 0) {
+ DD scale = TEN.pow(numDecPlaces);
+ val2 = val.divide(scale);
+ }
+ else if (numDecPlaces < 0) {
+ DD scale = TEN.pow(-numDecPlaces);
+ val2 = val.multiply(scale);
+ }
+ // apply leading sign, if any
+ if (isNegative) {
+ return val2.negate();
+ }
+ return val2;
+
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/MathUtil.java b/modules/core/src/main/java/org/locationtech/jts/math/MathUtil.java
new file mode 100644
index 0000000..2347af6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/MathUtil.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.math;
+
+/**
+ * Various utility functions for mathematical and numerical operations.
+ *
+ * @author mbdavis
+ *
+ */
+public class MathUtil
+{
+ /**
+ * Clamps a <tt>double</tt> value to a given range.
+ * @param x the value to clamp
+ * @param min the minimum value of the range
+ * @param max the maximum value of the range
+ * @return the clamped value
+ */
+ public static double clamp(double x, double min, double max)
+ {
+ if (x < min) return min;
+ if (x > max) return max;
+ return x;
+ }
+
+ /**
+ * Clamps an <tt>int</tt> value to a given range.
+ * @param x the value to clamp
+ * @param min the minimum value of the range
+ * @param max the maximum value of the range
+ * @return the clamped value
+ */
+ public static int clamp(int x, int min, int max)
+ {
+ if (x < min) return min;
+ if (x > max) return max;
+ return x;
+ }
+
+ private static final double LOG_10 = Math.log(10);
+
+ /**
+ * Computes the base-10 logarithm of a <tt>double</tt> value.
+ * <ul>
+ * <li>If the argument is NaN or less than zero, then the result is NaN.
+ * <li>If the argument is positive infinity, then the result is positive infinity.
+ * <li>If the argument is positive zero or negative zero, then the result is negative infinity.
+ * </ul>
+ *
+ * @param x a positive number
+ * @return the value log a, the base-10 logarithm of the input value
+ */
+ public static double log10(double x)
+ {
+ double ln = Math.log(x);
+ if (Double.isInfinite(ln)) return ln;
+ if (Double.isNaN(ln)) return ln;
+ return ln / LOG_10;
+ }
+
+ /**
+ * Computes an index which wraps around a given maximum value.
+ * For values >= 0, this is equals to <tt>val % max</tt>.
+ * For values < 0, this is equal to <tt>max - (-val) % max</tt>
+ *
+ * @param index the value to wrap
+ * @param max the maximum value (or modulus)
+ * @return the wrapped index
+ */
+ public static int wrap(int index, int max)
+ {
+ if (index < 0) {
+ return max - ((-index) % max);
+ }
+ return index % max;
+ }
+
+ /**
+ * Computes the average of two numbers.
+ *
+ * @param x1 a number
+ * @param x2 a number
+ * @return the average of the inputs
+ */
+ public static double average(double x1, double x2)
+ {
+ return (x1 + x2) / 2.0;
+ }
+
+ public static double max(double v1, double v2, double v3)
+ {
+ double max = v1;
+ if (v2 > max) max = v2;
+ if (v3 > max) max = v3;
+ return max;
+ }
+
+ public static double max(double v1, double v2, double v3, double v4)
+ {
+ double max = v1;
+ if (v2 > max) max = v2;
+ if (v3 > max) max = v3;
+ if (v4 > max) max = v4;
+ return max;
+ }
+
+ public static double min(double v1, double v2, double v3, double v4)
+ {
+ double min = v1;
+ if (v2 < min) min = v2;
+ if (v3 < min) min = v3;
+ if (v4 < min) min = v4;
+ return min;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/Matrix.java b/modules/core/src/main/java/org/locationtech/jts/math/Matrix.java
new file mode 100644
index 0000000..ececc22
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/Matrix.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.math;
+
+/**
+ * Implements some 2D matrix operations
+ * (in particular, solving systems of linear equations).
+ *
+ * @author Martin Davis
+ *
+ */
+public class Matrix
+{
+ private static void swapRows(double[][] m, int i, int j)
+ {
+ if (i == j) return;
+ for (int col = 0; col < m[0].length; col++) {
+ double temp = m[i][col];
+ m[i][col] = m[j][col];
+ m[j][col] = temp;
+ }
+ }
+
+ private static void swapRows(double[] m, int i, int j)
+ {
+ if (i == j) return;
+ double temp = m[i];
+ m[i] = m[j];
+ m[j] = temp;
+ }
+
+ /**
+ * Solves a system of equations using Gaussian Elimination.
+ * In order to avoid overhead the algorithm runs in-place
+ * on A - if A should not be modified the client must supply a copy.
+ *
+ * @param a an nxn matrix in row/column order )modified by this method)
+ * @param b a vector of length n
+ *
+ * @return a vector containing the solution (if any)
+ * or null if the system has no or no unique solution
+ *
+ * @throws IllegalArgumentException if the matrix is the wrong size
+ */
+ public static double[] solve( double[][] a, double[] b )
+ {
+ int n = b.length;
+ if ( a.length != n || a[0].length != n )
+ throw new IllegalArgumentException("Matrix A is incorrectly sized");
+
+ // Use Gaussian Elimination with partial pivoting.
+ // Iterate over each row
+ for (int i = 0; i < n; i++ ) {
+ // Find the largest pivot in the rows below the current one.
+ int maxElementRow = i;
+ for (int j = i + 1; j < n; j++ )
+ if ( Math.abs( a[j][i] ) > Math.abs( a[maxElementRow][i] ) )
+ maxElementRow = j;
+
+ if ( a[maxElementRow][i] == 0.0 )
+ return null;
+
+ // Exchange current row and maxElementRow in A and b.
+ swapRows(a, i, maxElementRow );
+ swapRows(b, i, maxElementRow );
+
+ // Eliminate using row i
+ for (int j = i + 1; j < n; j++ ) {
+ double rowFactor = a[j][i] / a[i][i];
+ for (int k = n - 1; k >= i; k-- )
+ a[j][k] -= a[i][k] * rowFactor;
+ b[j] -= b[i] * rowFactor;
+ }
+ }
+
+ /**
+ * A is now (virtually) in upper-triangular form.
+ * The solution vector is determined by back-substitution.
+ */
+ double[] solution = new double[n];
+ for (int j = n - 1; j >= 0; j-- ) {
+ double t = 0.0;
+ for (int k = j + 1; k < n; k++ )
+ t += a[j][k] * solution[k];
+ solution[j] = ( b[j] - t ) / a[j][j];
+ }
+ return solution;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/Plane3D.java b/modules/core/src/main/java/org/locationtech/jts/math/Plane3D.java
new file mode 100644
index 0000000..a0383da
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/Plane3D.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Models a plane in 3-dimensional Cartesian space.
+ *
+ * @author mdavis
+ *
+ */
+public class Plane3D {
+
+ /**
+ * Enums for the 3 coordinate planes
+ */
+ public static final int XY_PLANE = 1;
+ public static final int YZ_PLANE = 2;
+ public static final int XZ_PLANE = 3;
+
+ private Vector3D normal;
+ private Coordinate basePt;
+
+ public Plane3D(Vector3D normal, Coordinate basePt)
+ {
+ this.normal = normal;
+ this.basePt = basePt;
+ }
+
+ /**
+ * Computes the oriented distance from a point to the plane.
+ * The distance is:
+ * <ul>
+ * <li><b>positive</b> if the point lies above the plane (relative to the plane normal)
+ * <li><b>zero</b> if the point is on the plane
+ * <li><b>negative</b> if the point lies below the plane (relative to the plane normal)
+ * </ul>
+ *
+ * @param p the point to compute the distance for
+ * @return the oriented distance to the plane
+ */
+ public double orientedDistance(Coordinate p) {
+ Vector3D pb = new Vector3D(p, basePt);
+ double pbdDotNormal = pb.dot(normal);
+ if (Double.isNaN(pbdDotNormal))
+ throw new IllegalArgumentException("3D Coordinate has NaN ordinate");
+ double d = pbdDotNormal / normal.length();
+ return d;
+ }
+
+ /**
+ * Computes the axis plane that this plane lies closest to.
+ * <p>
+ * Geometries lying in this plane undergo least distortion
+ * (and have maximum area)
+ * when projected to the closest axis plane.
+ * This provides optimal conditioning for
+ * computing a Point-in-Polygon test.
+ *
+ * @return the index of the closest axis plane.
+ */
+ public int closestAxisPlane() {
+ double xmag = Math.abs(normal.getX());
+ double ymag = Math.abs(normal.getY());
+ double zmag = Math.abs(normal.getZ());
+ if (xmag > ymag) {
+ if (xmag > zmag)
+ return YZ_PLANE;
+ else
+ return XY_PLANE;
+ }
+ // y >= x
+ else if (zmag > ymag) {
+ return XY_PLANE;
+ }
+ // y >= z
+ return XZ_PLANE;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/Vector2D.java b/modules/core/src/main/java/org/locationtech/jts/math/Vector2D.java
new file mode 100644
index 0000000..0e3128c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/Vector2D.java
@@ -0,0 +1,339 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.math;
+
+import org.locationtech.jts.algorithm.Angle;
+import org.locationtech.jts.algorithm.CGAlgorithmsDD;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A 2-dimensional mathematical vector represented by double-precision X and Y components.
+ *
+ * @author mbdavis
+ *
+ */
+public class Vector2D {
+ /**
+ * Creates a new vector with given X and Y components.
+ *
+ * @param x the x component
+ * @param y the y component
+ * @return a new vector
+ */
+ public static Vector2D create(double x, double y) {
+ return new Vector2D(x, y);
+ }
+
+ /**
+ * Creates a new vector from an existing one.
+ *
+ * @param v the vector to copy
+ * @return a new vector
+ */
+ public static Vector2D create(Vector2D v) {
+ return new Vector2D(v);
+ }
+
+ /**
+ * Creates a vector from a {@link Coordinate}.
+ *
+ * @param coord the Coordinate to copy
+ * @return a new vector
+ */
+ public static Vector2D create(Coordinate coord) {
+ return new Vector2D(coord);
+ }
+
+ /**
+ * Creates a vector with the direction and magnitude
+ * of the difference between the
+ * <tt>to</tt> and <tt>from</tt> {@link Coordinate}s.
+ *
+ * @param from the origin Coordinate
+ * @param to the destination Coordinate
+ * @return a new vector
+ */
+ public static Vector2D create(Coordinate from, Coordinate to) {
+ return new Vector2D(from, to);
+ }
+
+ /**
+ * The X component of this vector.
+ */
+ private double x;
+
+ /**
+ * The Y component of this vector.
+ */
+ private double y;
+
+ public Vector2D() {
+ this(0.0, 0.0);
+ }
+
+ public Vector2D(double x, double y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ public Vector2D(Vector2D v) {
+ x = v.x;
+ y = v.y;
+ }
+
+ public Vector2D(Coordinate from, Coordinate to) {
+ x = to.x - from.x;
+ y = to.y - from.y;
+ }
+
+ public Vector2D(Coordinate v) {
+ x = v.x;
+ y = v.y;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ public double getComponent(int index) {
+ if (index == 0)
+ return x;
+ return y;
+ }
+
+ public Vector2D add(Vector2D v) {
+ return create(x + v.x, y + v.y);
+ }
+
+ public Vector2D subtract(Vector2D v) {
+ return create(x - v.x, y - v.y);
+ }
+
+ /**
+ * Multiplies the vector by a scalar value.
+ *
+ * @param d the value to multiply by
+ * @return a new vector with the value v * d
+ */
+ public Vector2D multiply(double d) {
+ return create(x * d, y * d);
+ }
+
+ /**
+ * Divides the vector by a scalar value.
+ *
+ * @param d the value to divide by
+ * @return a new vector with the value v / d
+ */
+ public Vector2D divide(double d) {
+ return create(x / d, y / d);
+ }
+
+ public Vector2D negate() {
+ return create(-x , -y);
+ }
+
+ public double length() {
+ return Math.sqrt(x * x + y * y);
+ }
+
+ public double lengthSquared() {
+ return x * x + y * y;
+ }
+
+ public Vector2D normalize() {
+ double length = length();
+ if (length > 0.0)
+ return divide(length);
+ return create(0.0, 0.0);
+ }
+
+ public Vector2D average(Vector2D v) {
+ return weightedSum(v, 0.5);
+ }
+
+ /**
+ * Computes the weighted sum of this vector
+ * with another vector,
+ * with this vector contributing a fraction
+ * of <tt>frac</tt> to the total.
+ * <p>
+ * In other words,
+ * <pre>
+ * sum = frac * this + (1 - frac) * v
+ * </pre>
+ *
+ * @param v the vector to sum
+ * @param frac the fraction of the total contributed by this vector
+ * @return the weighted sum of the two vectors
+ */
+ public Vector2D weightedSum(Vector2D v, double frac) {
+ return create(
+ frac * x + (1.0 - frac) * v.x,
+ frac * y + (1.0 - frac) * v.y);
+ }
+
+ /**
+ * Computes the distance between this vector and another one.
+ * @param v a vector
+ * @return the distance between the vectors
+ */
+ public double distance(Vector2D v)
+ {
+ double delx = v.x - x;
+ double dely = v.y - y;
+ return Math.sqrt(delx * delx + dely * dely);
+ }
+
+ /**
+ * Computes the dot-product of two vectors
+ *
+ * @param v a vector
+ * @return the dot product of the vectors
+ */
+ public double dot(Vector2D v) {
+ return x * v.x + y * v.y;
+ }
+
+ public double angle()
+ {
+ return Math.atan2(y, x);
+ }
+
+ public double angle(Vector2D v)
+ {
+ return Angle.diff(v.angle(), angle());
+ }
+
+ public double angleTo(Vector2D v)
+ {
+ double a1 = angle();
+ double a2 = v.angle();
+ double angDel = a2 - a1;
+
+ // normalize, maintaining orientation
+ if (angDel <= -Math.PI)
+ return angDel + Angle.PI_TIMES_2;
+ if (angDel > Math.PI)
+ return angDel - Angle.PI_TIMES_2;
+ return angDel;
+ }
+
+ public Vector2D rotate(double angle)
+ {
+ double cos = Math.cos(angle);
+ double sin = Math.sin(angle);
+ return create(
+ x * cos - y * sin,
+ x * sin + y * cos
+ );
+ }
+
+ /**
+ * Rotates a vector by a given number of quarter-circles (i.e. multiples of 90
+ * degrees or Pi/2 radians). A positive number rotates counter-clockwise, a
+ * negative number rotates clockwise. Under this operation the magnitude of
+ * the vector and the absolute values of the ordinates do not change, only
+ * their sign and ordinate index.
+ *
+ * @param numQuarters
+ * the number of quarter-circles to rotate by
+ * @return the rotated vector.
+ */
+ public Vector2D rotateByQuarterCircle(int numQuarters) {
+ int nQuad = numQuarters % 4;
+ if (numQuarters < 0 && nQuad != 0) {
+ nQuad = nQuad + 4;
+ }
+ switch (nQuad) {
+ case 0:
+ return create(x, y);
+ case 1:
+ return create(-y, x);
+ case 2:
+ return create(-x, -y);
+ case 3:
+ return create(y, -x);
+ }
+ Assert.shouldNeverReachHere();
+ return null;
+ }
+
+ public boolean isParallel(Vector2D v)
+ {
+ return 0.0 == CGAlgorithmsDD.signOfDet2x2(x, y, v.x, v.y);
+ }
+
+ public Coordinate translate(Coordinate coord) {
+ return new Coordinate(x + coord.x, y + coord.y);
+ }
+
+ public Coordinate toCoordinate() {
+ return new Coordinate(x, y);
+ }
+
+ /**
+ * Creates a copy of this vector
+ *
+ * @return a copy of this vector
+ */
+ public Object clone()
+ {
+ return new Vector2D(this);
+ }
+
+ /**
+ * Gets a string representation of this vector
+ *
+ * @return a string representing this vector
+ */
+ public String toString() {
+ return "[" + x + ", " + y + "]";
+ }
+
+ /**
+ * Tests if a vector <tt>o</tt> has the same values for the x and y
+ * components.
+ *
+ * @param o
+ * a <tt>Vector2D</tt> with which to do the comparison.
+ * @return true if <tt>other</tt> is a <tt>Vector2D</tt> with the same
+ * values for the x and y components.
+ */
+ public boolean equals(Object o) {
+ if (!(o instanceof Vector2D)) {
+ return false;
+ }
+ Vector2D v = (Vector2D) o;
+ return x == v.x && y == v.y;
+ }
+
+ /**
+ * Gets a hashcode for this vector.
+ *
+ * @return a hashcode for this vector
+ */
+ public int hashCode() {
+ // Algorithm from Effective Java by Joshua Bloch
+ int result = 17;
+ result = 37 * result + Coordinate.hashCode(x);
+ result = 37 * result + Coordinate.hashCode(y);
+ return result;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/math/Vector3D.java b/modules/core/src/main/java/org/locationtech/jts/math/Vector3D.java
new file mode 100644
index 0000000..bd0755e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/math/Vector3D.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Represents a vector in 3-dimensional Cartesian space.
+ *
+ * @author mdavis
+ *
+ */
+public class Vector3D {
+
+ /**
+ * Computes the dot product of the 3D vectors AB and CD.
+ *
+ * @param A
+ * @param B
+ * @param C
+ * @param D
+ * @return the dot product
+ */
+ public static double dot(Coordinate A, Coordinate B, Coordinate C, Coordinate D)
+ {
+ double ABx = B.x - A.x;
+ double ABy = B.y - A.y;
+ double ABz = B.z - A.z;
+ double CDx = D.x - C.x;
+ double CDy = D.y - C.y;
+ double CDz = D.z - C.z;
+ return ABx*CDx + ABy*CDy + ABz*CDz;
+ }
+
+ /**
+ * Creates a new vector with given X and Y components.
+ *
+ * @param x
+ * the x component
+ * @param y
+ * the y component
+ * @param z
+ * the z component
+ * @return a new vector
+ */
+ public static Vector3D create(double x, double y, double z) {
+ return new Vector3D(x, y, z);
+ }
+
+ /**
+ * Creates a vector from a {@link Coordinate}.
+ *
+ * @param coord
+ * the Coordinate to copy
+ * @return a new vector
+ */
+ public static Vector3D create(Coordinate coord) {
+ return new Vector3D(coord);
+ }
+
+ public Vector3D(Coordinate v) {
+ x = v.x;
+ y = v.y;
+ z = v.z;
+ }
+
+ /**
+ * Computes the 3D dot-product of two {@link Coordinate}s.
+ *
+ * @param v1 the first vector
+ * @param v2 the second vector
+ * @return the dot product of the vectors
+ */
+ public static double dot(Coordinate v1, Coordinate v2) {
+ return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
+ }
+
+ private double x;
+ private double y;
+ private double z;
+
+ public Vector3D(Coordinate from, Coordinate to) {
+ x = to.x - from.x;
+ y = to.y - from.y;
+ z = to.z - from.z;
+ }
+
+ public Vector3D(double x, double y, double z) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ public double getZ() {
+ return z;
+ }
+
+
+ /**
+ * Computes the dot-product of two vectors
+ *
+ * @param v
+ * a vector
+ * @return the dot product of the vectors
+ */
+ public double dot(Vector3D v) {
+ return x * v.x + y * v.y + z * v.z;
+ }
+
+ public double length() {
+ return Math.sqrt(x * x + y * y + z * z);
+ }
+
+ public static double length(Coordinate v) {
+ return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
+ }
+
+ public Vector3D normalize() {
+ double length = length();
+ if (length > 0.0)
+ return divide(length());
+ return create(0.0, 0.0, 0.0);
+ }
+
+ private Vector3D divide(double d) {
+ return create(x / d, y / d, z / d);
+ }
+
+ public static Coordinate normalize(Coordinate v) {
+ double len = length(v);
+ return new Coordinate(v.x / len, v.y / len, v.z / len);
+ }
+ /**
+ * Gets a string representation of this vector
+ *
+ * @return a string representing this vector
+ */
+ public String toString() {
+ return "[" + x + ", " + y + ", " + z + "]";
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/BasicSegmentString.java b/modules/core/src/main/java/org/locationtech/jts/noding/BasicSegmentString.java
new file mode 100644
index 0000000..e1dfccd
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/BasicSegmentString.java
@@ -0,0 +1,89 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.impl.CoordinateArraySequence;
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * Represents a list of contiguous line segments,
+ * and supports noding the segments.
+ * The line segments are represented by an array of {@link Coordinate}s.
+ * Intended to optimize the noding of contiguous segments by
+ * reducing the number of allocated objects.
+ * SegmentStrings can carry a context object, which is useful
+ * for preserving topological or parentage information.
+ * All noded substrings are initialized with the same context object.
+ *
+ * @version 1.7
+ */
+public class BasicSegmentString
+ implements SegmentString
+{
+ private Coordinate[] pts;
+ private Object data;
+
+ /**
+ * Creates a new segment string from a list of vertices.
+ *
+ * @param pts the vertices of the segment string
+ * @param data the user-defined data of this segment string (may be null)
+ */
+ public BasicSegmentString(Coordinate[] pts, Object data)
+ {
+ this.pts = pts;
+ this.data = data;
+ }
+
+ /**
+ * Gets the user-defined data for this segment string.
+ *
+ * @return the user-defined data
+ */
+ public Object getData() { return data; }
+
+ /**
+ * Sets the user-defined data for this segment string.
+ *
+ * @param data an Object containing user-defined data
+ */
+ public void setData(Object data) { this.data = data; }
+
+ public int size() { return pts.length; }
+ public Coordinate getCoordinate(int i) { return pts[i]; }
+ public Coordinate[] getCoordinates() { return pts; }
+
+ public boolean isClosed()
+ {
+ return pts[0].equals(pts[pts.length - 1]);
+ }
+
+ /**
+ * Gets the octant of the segment starting at vertex <code>index</code>.
+ *
+ * @param index the index of the vertex starting the segment. Must not be
+ * the last index in the vertex list
+ * @return the octant of the segment at the vertex
+ */
+ public int getSegmentOctant(int index)
+ {
+ if (index == pts.length - 1) return -1;
+ return Octant.octant(getCoordinate(index), getCoordinate(index + 1));
+ }
+
+ public String toString()
+ {
+ return WKTWriter.toLineString(new CoordinateArraySequence(pts));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/FastNodingValidator.java b/modules/core/src/main/java/org/locationtech/jts/noding/FastNodingValidator.java
new file mode 100644
index 0000000..3f37f71
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/FastNodingValidator.java
@@ -0,0 +1,156 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.io.WKTWriter;
+
+
+/**
+ * Validates that a collection of {@link SegmentString}s is correctly noded.
+ * Indexing is used to improve performance.
+ * In the most common use case, validation stops after a single
+ * non-noded intersection is detected,
+ * but the class can be requested to detect all intersections
+ * by using the {@link #setFindAllIntersections(boolean)} method.
+ * <p>
+ * The validator does not check for a-b-a topology collapse situations.
+ * <p>
+ * The validator does not check for endpoint-interior vertex intersections.
+ * This should not be a problem, since the JTS noders should be
+ * able to compute intersections between vertices correctly.
+ * <p>
+ * The client may either test the {@link #isValid()} condition,
+ * or request that a suitable {@link TopologyException} be thrown.
+ *
+ * @version 1.7
+ */
+public class FastNodingValidator
+{
+ public static List computeIntersections(Collection segStrings)
+ {
+ FastNodingValidator nv = new FastNodingValidator(segStrings);
+ nv.setFindAllIntersections(true);
+ nv.isValid();
+ return nv.getIntersections();
+ }
+
+ private LineIntersector li = new RobustLineIntersector();
+
+ private Collection segStrings;
+ private boolean findAllIntersections = false;
+ private InteriorIntersectionFinder segInt = null;
+ private boolean isValid = true;
+
+ /**
+ * Creates a new noding validator for a given set of linework.
+ *
+ * @param segStrings a collection of {@link SegmentString}s
+ */
+ public FastNodingValidator(Collection segStrings)
+ {
+ this.segStrings = segStrings;
+ }
+
+ public void setFindAllIntersections(boolean findAllIntersections)
+ {
+ this.findAllIntersections = findAllIntersections;
+ }
+
+ /**
+ * Gets a list of all intersections found.
+ * Intersections are represented as {@link Coordinate}s.
+ * List is empty if none were found.
+ *
+ * @return a list of Coordinate
+ */
+ public List getIntersections()
+ {
+ return segInt.getIntersections();
+ }
+
+ /**
+ * Checks for an intersection and
+ * reports if one is found.
+ *
+ * @return true if the arrangement contains an interior intersection
+ */
+ public boolean isValid()
+ {
+ execute();
+ return isValid;
+ }
+
+ /**
+ * Returns an error message indicating the segments containing
+ * the intersection.
+ *
+ * @return an error message documenting the intersection location
+ */
+ public String getErrorMessage()
+ {
+ if (isValid) return "no intersections found";
+
+ Coordinate[] intSegs = segInt.getIntersectionSegments();
+ return "found non-noded intersection between "
+ + WKTWriter.toLineString(intSegs[0], intSegs[1])
+ + " and "
+ + WKTWriter.toLineString(intSegs[2], intSegs[3]);
+ }
+
+ /**
+ * Checks for an intersection and throws
+ * a TopologyException if one is found.
+ *
+ * @throws TopologyException if an intersection is found
+ */
+ public void checkValid()
+ {
+ execute();
+ if (! isValid)
+ throw new TopologyException(getErrorMessage(), segInt.getInteriorIntersection());
+ }
+
+ private void execute()
+ {
+ if (segInt != null)
+ return;
+ checkInteriorIntersections();
+ }
+
+ private void checkInteriorIntersections()
+ {
+ /**
+ * MD - It may even be reliable to simply check whether
+ * end segments (of SegmentStrings) have an interior intersection,
+ * since noding should have split any true interior intersections already.
+ */
+ isValid = true;
+ segInt = new InteriorIntersectionFinder(li);
+ segInt.setFindAllIntersections(findAllIntersections);
+ MCIndexNoder noder = new MCIndexNoder();
+ noder.setSegmentIntersector(segInt);
+ noder.computeNodes(segStrings);
+ if (segInt.hasIntersection()) {
+ isValid = false;
+ return;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/FastSegmentSetIntersectionFinder.java b/modules/core/src/main/java/org/locationtech/jts/noding/FastSegmentSetIntersectionFinder.java
new file mode 100644
index 0000000..c234d17
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/FastSegmentSetIntersectionFinder.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+
+/**
+ * Finds if two sets of {@link SegmentString}s intersect.
+ * Uses indexing for fast performance and to optimize repeated tests
+ * against a target set of lines.
+ * Short-circuited to return as soon an intersection is found.
+ *
+ * Immutable and thread-safe.
+ *
+ * @version 1.7
+ */
+public class FastSegmentSetIntersectionFinder
+{
+ private final SegmentSetMutualIntersector segSetMutInt;
+ // for testing purposes
+ // private SimpleSegmentSetMutualIntersector mci;
+
+ /**
+ * Creates an intersection finder against a given set of segment strings.
+ *
+ * @param baseSegStrings the segment strings to search for intersections
+ */
+ public FastSegmentSetIntersectionFinder(Collection baseSegStrings)
+ {
+ segSetMutInt = new MCIndexSegmentSetMutualIntersector(baseSegStrings);
+ }
+
+ /**
+ * Gets the segment set intersector used by this class.
+ * This allows other uses of the same underlying indexed structure.
+ *
+ * @return the segment set intersector used
+ */
+ public SegmentSetMutualIntersector getSegmentSetIntersector()
+ {
+ return segSetMutInt;
+ }
+
+ /**
+ * Tests for intersections with a given set of target {@link SegmentString}s.
+ *
+ * @param segStrings the SegmentStrings to test
+ * @return true if an intersection is found
+ */
+ public boolean intersects(Collection segStrings)
+ {
+ SegmentIntersectionDetector intFinder = new SegmentIntersectionDetector();
+ return intersects(segStrings, intFinder);
+ }
+
+ /**
+ * Tests for intersections with a given set of target {@link SegmentString}s.
+ * using a given SegmentIntersectionDetector.
+ *
+ * @param segStrings the SegmentStrings to test
+ * @param intDetector the intersection detector to use
+ * @return true if the detector reports intersections
+ */
+ public boolean intersects(Collection segStrings, SegmentIntersectionDetector intDetector)
+ {
+ segSetMutInt.process(segStrings, intDetector);
+ return intDetector.hasIntersection();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinder.java b/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinder.java
new file mode 100644
index 0000000..127f60e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinder.java
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * Finds an interior intersection in a set of {@link SegmentString}s,
+ * if one exists. Only the first intersection found is reported.
+ *
+ * @version 1.7
+ */
+public class InteriorIntersectionFinder
+ implements SegmentIntersector
+{
+ /**
+ * Creates an intersection finder which tests if there is at least one interior intersection.
+ * Uses short-circuiting for efficient performance.
+ * The intersection found is recorded.
+ *
+ * @param li a line intersector
+ * @return a intersection finder which tests if there is at least one interior intersection.
+ */
+ public static InteriorIntersectionFinder createAnyIntersectionFinder(LineIntersector li)
+ {
+ return new InteriorIntersectionFinder(li);
+ }
+
+ /**
+ * Creates an intersection finder which finds all interior intersections.
+ * The intersections are recorded for later inspection.
+ *
+ * @param li a line intersector
+ * @return a intersection finder which finds all interior intersections.
+ */
+ public static InteriorIntersectionFinder createAllIntersectionsFinder(LineIntersector li)
+ {
+ InteriorIntersectionFinder finder = new InteriorIntersectionFinder(li);
+ finder.setFindAllIntersections(true);
+ return finder;
+ }
+
+ /**
+ * Creates an intersection finder which counts all interior intersections.
+ * The intersections are note recorded to reduce memory usage.
+ *
+ * @param li a line intersector
+ * @return a intersection finder which counts all interior intersections.
+ */
+ public static InteriorIntersectionFinder createIntersectionCounter(LineIntersector li)
+ {
+ InteriorIntersectionFinder finder = new InteriorIntersectionFinder(li);
+ finder.setFindAllIntersections(true);
+ finder.setKeepIntersections(false);
+ return finder;
+ }
+
+ private boolean findAllIntersections = false;
+ private boolean isCheckEndSegmentsOnly = false;
+ private LineIntersector li;
+ private Coordinate interiorIntersection = null;
+ private Coordinate[] intSegments = null;
+ private List intersections = new ArrayList();
+ private int intersectionCount = 0;
+ private boolean keepIntersections = true;
+
+ /**
+ * Creates an intersection finder which finds an interior intersection
+ * if one exists
+ *
+ * @param li the LineIntersector to use
+ */
+ public InteriorIntersectionFinder(LineIntersector li)
+ {
+ this.li = li;
+ interiorIntersection = null;
+ }
+
+ /**
+ * Sets whether all intersections should be computed.
+ * When this is <code>false</code> (the default value)
+ * the value of {@link #isDone()} is <code>true</code> after the first intersection is found.
+ * <p>
+ * Default is <code>false</code>.
+ *
+ * @param findAllIntersections whether all intersections should be computed
+ */
+ public void setFindAllIntersections(boolean findAllIntersections)
+ {
+ this.findAllIntersections = findAllIntersections;
+ }
+
+ /**
+ * Sets whether intersection points are recorded.
+ * If the only need is to count intersection points, this can be set to <code>false</code>.
+ * <p>
+ * Default is <code>true</code>.
+ *
+ * @param keepIntersections indicates whether intersections should be recorded
+ */
+ public void setKeepIntersections(boolean keepIntersections)
+ {
+ this.keepIntersections = keepIntersections;
+ }
+
+ /**
+ * Gets the intersections found.
+ *
+ * @return a List of {@link Coordinate}
+ */
+ public List getIntersections()
+ {
+ return intersections;
+ }
+
+ /**
+ * Gets the count of intersections found.
+ *
+ * @return the intersection count
+ */
+ public int count()
+ {
+ return intersectionCount;
+ }
+
+ /**
+ * Sets whether only end segments should be tested for interior intersection.
+ * This is a performance optimization that may be used if
+ * the segments have been previously noded by an appropriate algorithm.
+ * It may be known that any potential noding failures will occur only in
+ * end segments.
+ *
+ * @param isCheckEndSegmentsOnly whether to test only end segments
+ */
+ public void setCheckEndSegmentsOnly(boolean isCheckEndSegmentsOnly)
+ {
+ this.isCheckEndSegmentsOnly = isCheckEndSegmentsOnly;
+ }
+
+ /**
+ * Tests whether an intersection was found.
+ *
+ * @return true if an intersection was found
+ */
+ public boolean hasIntersection()
+ {
+ return interiorIntersection != null;
+ }
+
+ /**
+ * Gets the computed location of the intersection.
+ * Due to round-off, the location may not be exact.
+ *
+ * @return the coordinate for the intersection location
+ */
+ public Coordinate getInteriorIntersection()
+ {
+ return interiorIntersection;
+ }
+
+ /**
+ * Gets the endpoints of the intersecting segments.
+ *
+ * @return an array of the segment endpoints (p00, p01, p10, p11)
+ */
+ public Coordinate[] getIntersectionSegments()
+ {
+ return intSegments;
+ }
+
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} class to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ * Note that some clients (such as <code>MonotoneChain</code>s) may optimize away
+ * this call for segment pairs which they have determined do not intersect
+ * (e.g. by an disjoint envelope test).
+ */
+ public void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ )
+ {
+ // short-circuit if intersection already found
+ if (! findAllIntersections && hasIntersection())
+ return;
+
+ // don't bother intersecting a segment with itself
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+
+ /**
+ * If enabled, only test end segments (on either segString).
+ *
+ */
+ if (isCheckEndSegmentsOnly) {
+ boolean isEndSegPresent = isEndSegment(e0, segIndex0) || isEndSegment(e1, segIndex1);
+ if (! isEndSegPresent)
+ return;
+ }
+
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+//if (li.hasIntersection() && li.isProper()) Debug.println(li);
+
+ if (li.hasIntersection()) {
+ if (li.isInteriorIntersection()) {
+ intSegments = new Coordinate[4];
+ intSegments[0] = p00;
+ intSegments[1] = p01;
+ intSegments[2] = p10;
+ intSegments[3] = p11;
+
+ interiorIntersection = li.getIntersection(0);
+ if (keepIntersections) intersections.add(interiorIntersection);
+ intersectionCount++;
+ }
+ }
+ }
+
+ /**
+ * Tests whether a segment in a {@link SegmentString} is an end segment.
+ * (either the first or last).
+ *
+ * @param segStr a segment string
+ * @param index the index of a segment in the segment string
+ * @return true if the segment is an end segment
+ */
+ private boolean isEndSegment(SegmentString segStr, int index)
+ {
+ if (index == 0) return true;
+ if (index >= segStr.size() - 2) return true;
+ return false;
+ }
+
+ public boolean isDone()
+ {
+ if (findAllIntersections) return false;
+ return interiorIntersection != null;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinderAdder.java b/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinderAdder.java
new file mode 100644
index 0000000..b302787
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/InteriorIntersectionFinderAdder.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Finds <b>interior</b> intersections between line segments in {@link NodedSegmentString}s,
+ * and adds them as nodes
+ * using {@link NodedSegmentString#addIntersection(LineIntersector, int, int, int)}.
+ * <p>
+ * This class is used primarily for Snap-Rounding.
+ * For general-purpose noding, use {@link IntersectionAdder}.
+ *
+ * @version 1.7
+ * @see IntersectionAdder
+ */
+public class InteriorIntersectionFinderAdder
+ implements SegmentIntersector
+{
+ private LineIntersector li;
+ private final List interiorIntersections;
+
+
+ /**
+ * Creates an intersection finder which finds all proper intersections
+ *
+ * @param li the LineIntersector to use
+ */
+ public InteriorIntersectionFinderAdder(LineIntersector li)
+ {
+ this.li = li;
+ interiorIntersections = new ArrayList();
+ }
+
+ public List getInteriorIntersections() { return interiorIntersections; }
+
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} class to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ * Note that some clients (such as <code>MonotoneChain</code>s) may optimize away
+ * this call for segment pairs which they have determined do not intersect
+ * (e.g. by an disjoint envelope test).
+ */
+ public void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ )
+ {
+ // don't bother intersecting a segment with itself
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+//if (li.hasIntersection() && li.isProper()) Debug.println(li);
+
+ if (li.hasIntersection()) {
+ if (li.isInteriorIntersection()) {
+ for (int intIndex = 0; intIndex < li.getIntersectionNum(); intIndex++) {
+ interiorIntersections.add(li.getIntersection(intIndex));
+ }
+ ((NodedSegmentString) e0).addIntersections(li, segIndex0, 0);
+ ((NodedSegmentString) e1).addIntersections(li, segIndex1, 1);
+ }
+ }
+ }
+
+ /**
+ * Always process all intersections
+ *
+ * @return false always
+ */
+ public boolean isDone() { return false; }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionAdder.java b/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionAdder.java
new file mode 100644
index 0000000..2a2f686
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionAdder.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Computes the possible intersections between two line segments in {@link NodedSegmentString}s
+ * and adds them to each string
+ * using {@link NodedSegmentString#addIntersection(LineIntersector, int, int, int)}.
+ *
+ * @version 1.7
+ */
+public class IntersectionAdder
+ implements SegmentIntersector
+{
+ public static boolean isAdjacentSegments(int i1, int i2)
+ {
+ return Math.abs(i1 - i2) == 1;
+ }
+
+ /**
+ * These variables keep track of what types of intersections were
+ * found during ALL edges that have been intersected.
+ */
+ private boolean hasIntersection = false;
+ private boolean hasProper = false;
+ private boolean hasProperInterior = false;
+ private boolean hasInterior = false;
+
+ // the proper intersection point found
+ private Coordinate properIntersectionPoint = null;
+
+ private LineIntersector li;
+ private boolean isSelfIntersection;
+ //private boolean intersectionFound;
+ public int numIntersections = 0;
+ public int numInteriorIntersections = 0;
+ public int numProperIntersections = 0;
+
+ // testing only
+ public int numTests = 0;
+
+ public IntersectionAdder(LineIntersector li)
+ {
+ this.li = li;
+ }
+
+ public LineIntersector getLineIntersector() { return li; }
+
+ /**
+ * @return the proper intersection point, or <code>null</code> if none was found
+ */
+ public Coordinate getProperIntersectionPoint() { return properIntersectionPoint; }
+
+ public boolean hasIntersection() { return hasIntersection; }
+ /**
+ * A proper intersection is an intersection which is interior to at least two
+ * line segments. Note that a proper intersection is not necessarily
+ * in the interior of the entire Geometry, since another edge may have
+ * an endpoint equal to the intersection, which according to SFS semantics
+ * can result in the point being on the Boundary of the Geometry.
+ */
+ public boolean hasProperIntersection() { return hasProper; }
+ /**
+ * A proper interior intersection is a proper intersection which is <b>not</b>
+ * contained in the set of boundary nodes set for this SegmentIntersector.
+ */
+ public boolean hasProperInteriorIntersection() { return hasProperInterior; }
+ /**
+ * An interior intersection is an intersection which is
+ * in the interior of some segment.
+ */
+ public boolean hasInteriorIntersection() { return hasInterior; }
+
+ /**
+ * A trivial intersection is an apparent self-intersection which in fact
+ * is simply the point shared by adjacent line segments.
+ * Note that closed edges require a special check for the point shared by the beginning
+ * and end segments.
+ */
+ private boolean isTrivialIntersection(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
+ {
+ if (e0 == e1) {
+ if (li.getIntersectionNum() == 1) {
+ if (isAdjacentSegments(segIndex0, segIndex1))
+ return true;
+ if (e0.isClosed()) {
+ int maxSegIndex = e0.size() - 1;
+ if ( (segIndex0 == 0 && segIndex1 == maxSegIndex)
+ || (segIndex1 == 0 && segIndex0 == maxSegIndex) ) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} class to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ * Note that some clients (such as <code>MonotoneChain</code>s) may optimize away
+ * this call for segment pairs which they have determined do not intersect
+ * (e.g. by an disjoint envelope test).
+ */
+ public void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ )
+ {
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+numTests++;
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+//if (li.hasIntersection() && li.isProper()) Debug.println(li);
+ if (li.hasIntersection()) {
+ //intersectionFound = true;
+ numIntersections++;
+ if (li.isInteriorIntersection()) {
+ numInteriorIntersections++;
+ hasInterior = true;
+//System.out.println(li);
+ }
+ // if the segments are adjacent they have at least one trivial intersection,
+ // the shared endpoint. Don't bother adding it if it is the
+ // only intersection.
+ if (! isTrivialIntersection(e0, segIndex0, e1, segIndex1)) {
+ hasIntersection = true;
+ ((NodedSegmentString) e0).addIntersections(li, segIndex0, 0);
+ ((NodedSegmentString) e1).addIntersections(li, segIndex1, 1);
+ if (li.isProper()) {
+ numProperIntersections++;
+//Debug.println(li.toString()); Debug.println(li.getIntersection(0));
+ //properIntersectionPoint = (Coordinate) li.getIntersection(0).clone();
+ hasProper = true;
+ hasProperInterior = true;
+ }
+ }
+ }
+ }
+
+ /**
+ * Always process all intersections
+ *
+ * @return false always
+ */
+ public boolean isDone() { return false; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionFinderAdder.java b/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionFinderAdder.java
new file mode 100644
index 0000000..9f29354
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/IntersectionFinderAdder.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Finds <b>interior</b> intersections between line segments in {@link NodedSegmentString}s,
+ * and adds them as nodes
+ * using {@link NodedSegmentString#addIntersection(LineIntersector, int, int, int)}.
+ * <p>
+ * This class is used primarily for Snap-Rounding.
+ * For general-purpose noding, use {@link IntersectionAdder}.
+ *
+ * @version 1.7
+ * @see IntersectionAdder
+ * @deprecated see InteriorIntersectionFinderAdder
+ */
+public class IntersectionFinderAdder
+ implements SegmentIntersector
+{
+ private LineIntersector li;
+ private final List interiorIntersections;
+
+
+ /**
+ * Creates an intersection finder which finds all proper intersections
+ *
+ * @param li the LineIntersector to use
+ */
+ public IntersectionFinderAdder(LineIntersector li)
+ {
+ this.li = li;
+ interiorIntersections = new ArrayList();
+ }
+
+ public List getInteriorIntersections() { return interiorIntersections; }
+
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} class to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ * Note that some clients (such as <code>MonotoneChain</code>s) may optimize away
+ * this call for segment pairs which they have determined do not intersect
+ * (e.g. by an disjoint envelope test).
+ */
+ public void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ )
+ {
+ // don't bother intersecting a segment with itself
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+//if (li.hasIntersection() && li.isProper()) Debug.println(li);
+
+ if (li.hasIntersection()) {
+ if (li.isInteriorIntersection()) {
+ for (int intIndex = 0; intIndex < li.getIntersectionNum(); intIndex++) {
+ interiorIntersections.add(li.getIntersection(intIndex));
+ }
+ ((NodedSegmentString) e0).addIntersections(li, segIndex0, 0);
+ ((NodedSegmentString) e1).addIntersections(li, segIndex1, 1);
+ }
+ }
+ }
+
+ /**
+ * Always process all intersections
+ *
+ * @return false always
+ */
+ public boolean isDone() { return false; }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/IteratedNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/IteratedNoder.java
new file mode 100644
index 0000000..8823446
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/IteratedNoder.java
@@ -0,0 +1,122 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.TopologyException;
+
+/**
+ * Nodes a set of {@link NodedSegmentString}s completely.
+ * The set of segment strings is fully noded;
+ * i.e. noding is repeated until no further
+ * intersections are detected.
+ * <p>
+ * Iterated noding using a FLOATING precision model is not guaranteed to converge,
+ * due to roundoff error.
+ * This problem is detected and an exception is thrown.
+ * Clients can choose to rerun the noding using a lower precision model.
+ *
+ * @version 1.7
+ */
+public class IteratedNoder
+ implements Noder
+{
+ public static final int MAX_ITER = 5;
+
+ private PrecisionModel pm;
+ private LineIntersector li;
+ private Collection nodedSegStrings;
+ private int maxIter = MAX_ITER;
+
+ public IteratedNoder(PrecisionModel pm)
+ {
+ li = new RobustLineIntersector();
+ this.pm = pm;
+ li.setPrecisionModel(pm);
+ }
+
+ /**
+ * Sets the maximum number of noding iterations performed before
+ * the noding is aborted.
+ * Experience suggests that this should rarely need to be changed
+ * from the default.
+ * The default is MAX_ITER.
+ *
+ * @param maxIter the maximum number of iterations to perform
+ */
+ public void setMaximumIterations(int maxIter)
+ {
+ this.maxIter = maxIter;
+ }
+
+ public Collection getNodedSubstrings() { return nodedSegStrings; }
+
+ /**
+ * Fully nodes a list of {@link SegmentString}s, i.e. performs noding iteratively
+ * until no intersections are found between segments.
+ * Maintains labelling of edges correctly through
+ * the noding.
+ *
+ * @param segStrings a collection of SegmentStrings to be noded
+ * @throws TopologyException if the iterated noding fails to converge.
+ */
+ public void computeNodes(Collection segStrings)
+ throws TopologyException
+ {
+ int[] numInteriorIntersections = new int[1];
+ nodedSegStrings = segStrings;
+ int nodingIterationCount = 0;
+ int lastNodesCreated = -1;
+ do {
+ node(nodedSegStrings, numInteriorIntersections);
+ nodingIterationCount++;
+ int nodesCreated = numInteriorIntersections[0];
+
+ /**
+ * Fail if the number of nodes created is not declining.
+ * However, allow a few iterations at least before doing this
+ */
+//System.out.println("# nodes created: " + nodesCreated);
+ if (lastNodesCreated > 0
+ && nodesCreated >= lastNodesCreated
+ && nodingIterationCount > maxIter) {
+ throw new TopologyException("Iterated noding failed to converge after "
+ + nodingIterationCount + " iterations");
+ }
+ lastNodesCreated = nodesCreated;
+
+ } while (lastNodesCreated > 0);
+//System.out.println("# nodings = " + nodingIterationCount);
+ }
+
+
+/**
+ * Node the input segment strings once
+ * and create the split edges between the nodes
+ */
+ private void node(Collection segStrings, int[] numInteriorIntersections)
+ {
+ IntersectionAdder si = new IntersectionAdder(li);
+ MCIndexNoder noder = new MCIndexNoder();
+ noder.setSegmentIntersector(si);
+ noder.computeNodes(segStrings);
+ nodedSegStrings = noder.getNodedSubstrings();
+ numInteriorIntersections[0] = si.numInteriorIntersections;
+//System.out.println("# intersection tests: " + si.numTests);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexNoder.java
new file mode 100644
index 0000000..8dc0952
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexNoder.java
@@ -0,0 +1,125 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.chain.MonotoneChain;
+import org.locationtech.jts.index.chain.MonotoneChainBuilder;
+import org.locationtech.jts.index.chain.MonotoneChainOverlapAction;
+import org.locationtech.jts.index.strtree.STRtree;
+
+/**
+ * Nodes a set of {@link SegmentString}s using a index based
+ * on {@link MonotoneChain}s and a {@link SpatialIndex}.
+ * The {@link SpatialIndex} used should be something that supports
+ * envelope (range) queries efficiently (such as a <code>Quadtree</code>}
+ * or {@link STRtree} (which is the default index provided).
+ *
+ * @version 1.7
+ */
+public class MCIndexNoder
+ extends SinglePassNoder
+{
+ private List monoChains = new ArrayList();
+ private SpatialIndex index= new STRtree();
+ private int idCounter = 0;
+ private Collection nodedSegStrings;
+ // statistics
+ private int nOverlaps = 0;
+
+ public MCIndexNoder()
+ {
+ }
+ public MCIndexNoder(SegmentIntersector si)
+ {
+ super(si);
+ }
+
+ public List getMonotoneChains() { return monoChains; }
+
+ public SpatialIndex getIndex() { return index; }
+
+ public Collection getNodedSubstrings()
+ {
+ return NodedSegmentString.getNodedSubstrings(nodedSegStrings);
+ }
+
+ public void computeNodes(Collection inputSegStrings)
+ {
+ this.nodedSegStrings = inputSegStrings;
+ for (Iterator i = inputSegStrings.iterator(); i.hasNext(); ) {
+ add((SegmentString) i.next());
+ }
+ intersectChains();
+//System.out.println("MCIndexNoder: # chain overlaps = " + nOverlaps);
+ }
+
+ private void intersectChains()
+ {
+ MonotoneChainOverlapAction overlapAction = new SegmentOverlapAction(segInt);
+
+ for (Iterator i = monoChains.iterator(); i.hasNext(); ) {
+ MonotoneChain queryChain = (MonotoneChain) i.next();
+ List overlapChains = index.query(queryChain.getEnvelope());
+ for (Iterator j = overlapChains.iterator(); j.hasNext(); ) {
+ MonotoneChain testChain = (MonotoneChain) j.next();
+ /**
+ * following test makes sure we only compare each pair of chains once
+ * and that we don't compare a chain to itself
+ */
+ if (testChain.getId() > queryChain.getId()) {
+ queryChain.computeOverlaps(testChain, overlapAction);
+ nOverlaps++;
+ }
+ // short-circuit if possible
+ if (segInt.isDone())
+ return;
+ }
+ }
+ }
+
+ private void add(SegmentString segStr)
+ {
+ List segChains = MonotoneChainBuilder.getChains(segStr.getCoordinates(), segStr);
+ for (Iterator i = segChains.iterator(); i.hasNext(); ) {
+ MonotoneChain mc = (MonotoneChain) i.next();
+ mc.setId(idCounter++);
+ index.insert(mc.getEnvelope(), mc);
+ monoChains.add(mc);
+ }
+ }
+
+ public static class SegmentOverlapAction
+ extends MonotoneChainOverlapAction
+ {
+ private SegmentIntersector si = null;
+
+ public SegmentOverlapAction(SegmentIntersector si)
+ {
+ this.si = si;
+ }
+
+ public void overlap(MonotoneChain mc1, int start1, MonotoneChain mc2, int start2)
+ {
+ SegmentString ss1 = (SegmentString) mc1.getContext();
+ SegmentString ss2 = (SegmentString) mc2.getContext();
+ si.processIntersections(ss1, start1, ss2, start2);
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexSegmentSetMutualIntersector.java b/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexSegmentSetMutualIntersector.java
new file mode 100644
index 0000000..ca996dd
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/MCIndexSegmentSetMutualIntersector.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.chain.MonotoneChain;
+import org.locationtech.jts.index.chain.MonotoneChainBuilder;
+import org.locationtech.jts.index.chain.MonotoneChainOverlapAction;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+/**
+ * Intersects two sets of {@link SegmentString}s using a index based
+ * on {@link MonotoneChain}s and a {@link SpatialIndex}.
+ *
+ * Thread-safe and immutable.
+ *
+ * @version 1.7
+ */
+public class MCIndexSegmentSetMutualIntersector implements SegmentSetMutualIntersector
+{
+ /**
+ * The {@link SpatialIndex} used should be something that supports
+ * envelope (range) queries efficiently (such as a
+ * {@link org.locationtech.jts.index.quadtree.Quadtree}
+ * or {@link STRtree}.
+ */
+ private STRtree index = new STRtree();
+
+ /**
+ * Constructs a new intersector for a given set of {@link SegmentString}s.
+ *
+ * @param baseSegStrings the base segment strings to intersect
+ */
+ public MCIndexSegmentSetMutualIntersector(Collection baseSegStrings)
+ {
+ initBaseSegments(baseSegStrings);
+ }
+
+ /**
+ * Gets the index constructed over the base segment strings.
+ *
+ * NOTE: To retain thread-safety, treat returned value as immutable!
+ *
+ * @return the constructed index
+ */
+ public SpatialIndex getIndex() { return index; }
+
+ private void initBaseSegments(Collection segStrings)
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ addToIndex((SegmentString) i.next());
+ }
+ // build index to ensure thread-safety
+ index.build();
+ }
+
+ private void addToIndex(SegmentString segStr)
+ {
+ List segChains = MonotoneChainBuilder.getChains(segStr.getCoordinates(), segStr);
+ for (Iterator i = segChains.iterator(); i.hasNext(); ) {
+ MonotoneChain mc = (MonotoneChain) i.next();
+ index.insert(mc.getEnvelope(), mc);
+ }
+ }
+
+ /**
+ * Calls {@link SegmentIntersector#processIntersections(SegmentString, int, SegmentString, int)}
+ * for all <i>candidate</i> intersections between
+ * the given collection of SegmentStrings and the set of indexed segments.
+ *
+ * @param a set of segments to intersect
+ * @param the segment intersector to use
+ */
+ public void process(Collection segStrings, SegmentIntersector segInt)
+ {
+ List monoChains = new ArrayList();
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ addToMonoChains((SegmentString) i.next(), monoChains);
+ }
+ intersectChains(monoChains, segInt);
+// System.out.println("MCIndexBichromaticIntersector: # chain overlaps = " + nOverlaps);
+// System.out.println("MCIndexBichromaticIntersector: # oct chain overlaps = " + nOctOverlaps);
+ }
+
+ private void addToMonoChains(SegmentString segStr, List monoChains)
+ {
+ List segChains = MonotoneChainBuilder.getChains(segStr.getCoordinates(), segStr);
+ for (Iterator i = segChains.iterator(); i.hasNext(); ) {
+ MonotoneChain mc = (MonotoneChain) i.next();
+ monoChains.add(mc);
+ }
+ }
+
+ private void intersectChains(List monoChains, SegmentIntersector segInt)
+ {
+ MonotoneChainOverlapAction overlapAction = new SegmentOverlapAction(segInt);
+
+ for (Iterator i = monoChains.iterator(); i.hasNext(); ) {
+ MonotoneChain queryChain = (MonotoneChain) i.next();
+ List overlapChains = index.query(queryChain.getEnvelope());
+ for (Iterator j = overlapChains.iterator(); j.hasNext(); ) {
+ MonotoneChain testChain = (MonotoneChain) j.next();
+ queryChain.computeOverlaps(testChain, overlapAction);
+ if (segInt.isDone()) return;
+ }
+ }
+ }
+
+ public static class SegmentOverlapAction
+ extends MonotoneChainOverlapAction
+ {
+ private SegmentIntersector si = null;
+
+ public SegmentOverlapAction(SegmentIntersector si)
+ {
+ this.si = si;
+ }
+
+ public void overlap(MonotoneChain mc1, int start1, MonotoneChain mc2, int start2)
+ {
+ SegmentString ss1 = (SegmentString) mc1.getContext();
+ SegmentString ss2 = (SegmentString) mc2.getContext();
+ si.processIntersections(ss1, start1, ss2, start2);
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/NodableSegmentString.java b/modules/core/src/main/java/org/locationtech/jts/noding/NodableSegmentString.java
new file mode 100644
index 0000000..326ce83
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/NodableSegmentString.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * An interface for classes which support adding nodes to
+ * a segment string.
+ *
+ * @author Martin Davis
+ */
+public interface NodableSegmentString
+ extends SegmentString
+{
+ /**
+ * Adds an intersection node for a given point and segment to this segment string.
+ *
+ * @param intPt the location of the intersection
+ * @param segmentIndex the index of the segment containing the intersection
+ */
+ public void addIntersection(Coordinate intPt, int segmentIndex);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/NodedSegmentString.java b/modules/core/src/main/java/org/locationtech/jts/noding/NodedSegmentString.java
new file mode 100644
index 0000000..a8a1cf4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/NodedSegmentString.java
@@ -0,0 +1,195 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.impl.CoordinateArraySequence;
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * Represents a list of contiguous line segments,
+ * and supports noding the segments.
+ * The line segments are represented by an array of {@link Coordinate}s.
+ * Intended to optimize the noding of contiguous segments by
+ * reducing the number of allocated objects.
+ * SegmentStrings can carry a context object, which is useful
+ * for preserving topological or parentage information.
+ * All noded substrings are initialized with the same context object.
+ *
+ * @version 1.7
+ */
+public class NodedSegmentString
+ implements NodableSegmentString
+{
+ /**
+ * Gets the {@link SegmentString}s which result from splitting this string at node points.
+ *
+ * @param segStrings a Collection of NodedSegmentStrings
+ * @return a Collection of NodedSegmentStrings representing the substrings
+ */
+ public static List getNodedSubstrings(Collection segStrings)
+ {
+ List resultEdgelist = new ArrayList();
+ getNodedSubstrings(segStrings, resultEdgelist);
+ return resultEdgelist;
+ }
+
+ /**
+ * Adds the noded {@link SegmentString}s which result from splitting this string at node points.
+ *
+ * @param segStrings a Collection of NodedSegmentStrings
+ * @param resultEdgelist a List which will collect the NodedSegmentStrings representing the substrings
+ */
+ public static void getNodedSubstrings(Collection segStrings, Collection resultEdgelist)
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ NodedSegmentString ss = (NodedSegmentString) i.next();
+ ss.getNodeList().addSplitEdges(resultEdgelist);
+ }
+ }
+
+ private SegmentNodeList nodeList = new SegmentNodeList(this);
+ private Coordinate[] pts;
+ private Object data;
+
+ /**
+ * Creates a new segment string from a list of vertices.
+ *
+ * @param pts the vertices of the segment string
+ * @param data the user-defined data of this segment string (may be null)
+ */
+ public NodedSegmentString(Coordinate[] pts, Object data)
+ {
+ this.pts = pts;
+ this.data = data;
+ }
+
+ /**
+ * Gets the user-defined data for this segment string.
+ *
+ * @return the user-defined data
+ */
+ public Object getData() { return data; }
+
+ /**
+ * Sets the user-defined data for this segment string.
+ *
+ * @param data an Object containing user-defined data
+ */
+ public void setData(Object data) { this.data = data; }
+
+ public SegmentNodeList getNodeList() { return nodeList; }
+ public int size() { return pts.length; }
+ public Coordinate getCoordinate(int i) { return pts[i]; }
+ public Coordinate[] getCoordinates() { return pts; }
+
+ public boolean isClosed()
+ {
+ return pts[0].equals(pts[pts.length - 1]);
+ }
+
+ /**
+ * Gets the octant of the segment starting at vertex <code>index</code>.
+ *
+ * @param index the index of the vertex starting the segment. Must not be
+ * the last index in the vertex list
+ * @return the octant of the segment at the vertex
+ */
+ public int getSegmentOctant(int index)
+ {
+ if (index == pts.length - 1) return -1;
+ return safeOctant(getCoordinate(index), getCoordinate(index + 1));
+// return Octant.octant(getCoordinate(index), getCoordinate(index + 1));
+ }
+
+ private int safeOctant(Coordinate p0, Coordinate p1)
+ {
+ if (p0.equals2D(p1)) return 0;
+ return Octant.octant(p0, p1);
+ }
+
+ /**
+ * Adds EdgeIntersections for one or both
+ * intersections found for a segment of an edge to the edge intersection list.
+ */
+ public void addIntersections(LineIntersector li, int segmentIndex, int geomIndex)
+ {
+ for (int i = 0; i < li.getIntersectionNum(); i++) {
+ addIntersection(li, segmentIndex, geomIndex, i);
+ }
+ }
+ /**
+ * Add an SegmentNode for intersection intIndex.
+ * An intersection that falls exactly on a vertex
+ * of the SegmentString is normalized
+ * to use the higher of the two possible segmentIndexes
+ */
+ public void addIntersection(LineIntersector li, int segmentIndex, int geomIndex, int intIndex)
+ {
+ Coordinate intPt = new Coordinate(li.getIntersection(intIndex));
+ addIntersection(intPt, segmentIndex);
+ }
+
+ /**
+ * Adds an intersection node for a given point and segment to this segment string.
+ *
+ * @param intPt the location of the intersection
+ * @param segmentIndex the index of the segment containing the intersection
+ */
+ public void addIntersection(Coordinate intPt, int segmentIndex) {
+ addIntersectionNode(intPt, segmentIndex);
+ }
+
+ /**
+ * Adds an intersection node for a given point and segment to this segment string.
+ * If an intersection already exists for this exact location, the existing
+ * node will be returned.
+ *
+ * @param intPt the location of the intersection
+ * @param segmentIndex the index of the segment containing the intersection
+ * @return the intersection node for the point
+ */
+ public SegmentNode addIntersectionNode(Coordinate intPt, int segmentIndex) {
+ int normalizedSegmentIndex = segmentIndex;
+ //Debug.println("edge intpt: " + intPt + " dist: " + dist);
+ // normalize the intersection point location
+ int nextSegIndex = normalizedSegmentIndex + 1;
+ if (nextSegIndex < pts.length) {
+ Coordinate nextPt = pts[nextSegIndex];
+ //Debug.println("next pt: " + nextPt);
+
+ // Normalize segment index if intPt falls on vertex
+ // The check for point equality is 2D only - Z values are ignored
+ if (intPt.equals2D(nextPt)) {
+ //Debug.println("normalized distance");
+ normalizedSegmentIndex = nextSegIndex;
+ }
+ }
+ /**
+ * Add the intersection point to edge intersection list.
+ */
+ SegmentNode ei = nodeList.add(intPt, normalizedSegmentIndex);
+ return ei;
+ }
+
+ public String toString()
+ {
+ return WKTWriter.toLineString(new CoordinateArraySequence(pts));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/Noder.java b/modules/core/src/main/java/org/locationtech/jts/noding/Noder.java
new file mode 100644
index 0000000..c552ffa
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/Noder.java
@@ -0,0 +1,46 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+
+/**
+ * Computes all intersections between segments in a set of {@link SegmentString}s.
+ * Intersections found are represented as {@link SegmentNode}s and added to the
+ * {@link SegmentString}s in which they occur.
+ * As a final step in the noding a new set of segment strings split
+ * at the nodes may be returned.
+ *
+ * @version 1.7
+ */
+public interface Noder
+{
+
+ /**
+ * Computes the noding for a collection of {@link SegmentString}s.
+ * Some Noders may add all these nodes to the input SegmentStrings;
+ * others may only add some or none at all.
+ *
+ * @param segStrings a collection of {@link SegmentString}s to node
+ */
+ void computeNodes(Collection segStrings);
+
+ /**
+ * Returns a {@link Collection} of fully noded {@link SegmentString}s.
+ * The SegmentStrings have the same context as their parent.
+ *
+ * @return a Collection of SegmentStrings
+ */
+ Collection getNodedSubstrings();
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/NodingValidator.java b/modules/core/src/main/java/org/locationtech/jts/noding/NodingValidator.java
new file mode 100644
index 0000000..5c2a2fa
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/NodingValidator.java
@@ -0,0 +1,165 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.util.Debug;
+
+/**
+ * Validates that a collection of {@link SegmentString}s is correctly noded.
+ * Throws an appropriate exception if an noding error is found.
+ *
+ * @version 1.7
+ */
+public class NodingValidator {
+
+ private LineIntersector li = new RobustLineIntersector();
+
+ private Collection segStrings;
+
+ private static final GeometryFactory fact = new GeometryFactory();
+
+ public NodingValidator(Collection segStrings)
+ {
+ this.segStrings = segStrings;
+ }
+
+ public void checkValid()
+ {
+ // MD - is this call required? Or could it be done in the Interior Intersection code?
+ checkEndPtVertexIntersections();
+ checkInteriorIntersections();
+ checkCollapses();
+ }
+
+ /**
+ * Checks if a segment string contains a segment pattern a-b-a (which implies a self-intersection)
+ */
+ private void checkCollapses()
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ checkCollapses(ss);
+ }
+ }
+
+ private void checkCollapses(SegmentString ss)
+ {
+ Coordinate[] pts = ss.getCoordinates();
+ for (int i = 0; i < pts.length - 2; i++) {
+ checkCollapse(pts[i], pts[i + 1], pts[i + 2]);
+ }
+ }
+
+ private void checkCollapse(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ if (p0.equals(p2))
+ throw new RuntimeException("found non-noded collapse at "
+ + fact.createLineString(new Coordinate[] { p0, p1, p2}));
+ }
+
+ /**
+ * Checks all pairs of segments for intersections at an interior point of a segment
+ */
+ private void checkInteriorIntersections()
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss0 = (SegmentString) i.next();
+ for (Iterator j = segStrings.iterator(); j.hasNext(); ) {
+ SegmentString ss1 = (SegmentString) j.next();
+
+ checkInteriorIntersections(ss0, ss1);
+ }
+ }
+ }
+
+ private void checkInteriorIntersections(SegmentString ss0, SegmentString ss1)
+ {
+ Coordinate[] pts0 = ss0.getCoordinates();
+ Coordinate[] pts1 = ss1.getCoordinates();
+ for (int i0 = 0; i0 < pts0.length - 1; i0++) {
+ for (int i1 = 0; i1 < pts1.length - 1; i1++) {
+ checkInteriorIntersections(ss0, i0, ss1, i1);
+ }
+ }
+ }
+
+ private void checkInteriorIntersections(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
+ {
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+//numTests++;
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+ if (li.hasIntersection()) {
+
+ if (li.isProper()
+ || hasInteriorIntersection(li, p00, p01)
+ || hasInteriorIntersection(li, p10, p11)) {
+ throw new RuntimeException("found non-noded intersection at "
+ + p00 + "-" + p01
+ + " and "
+ + p10 + "-" + p11);
+ }
+ }
+ }
+ /**
+ *@return true if there is an intersection point which is not an endpoint of the segment p0-p1
+ */
+ private boolean hasInteriorIntersection(LineIntersector li, Coordinate p0, Coordinate p1)
+ {
+ for (int i = 0; i < li.getIntersectionNum(); i++) {
+ Coordinate intPt = li.getIntersection(i);
+ if (! (intPt.equals(p0) || intPt.equals(p1)))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks for intersections between an endpoint of a segment string
+ * and an interior vertex of another segment string
+ */
+ private void checkEndPtVertexIntersections()
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ Coordinate[] pts = ss.getCoordinates();
+ checkEndPtVertexIntersections(pts[0], segStrings);
+ checkEndPtVertexIntersections(pts[pts.length - 1], segStrings);
+ }
+ }
+
+ private void checkEndPtVertexIntersections(Coordinate testPt, Collection segStrings)
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ Coordinate[] pts = ss.getCoordinates();
+ for (int j = 1; j < pts.length - 1; j++) {
+ if (pts[j].equals(testPt))
+ throw new RuntimeException("found endpt/interior pt intersection at index " + j + " :pt " + testPt);
+ }
+ }
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/Octant.java b/modules/core/src/main/java/org/locationtech/jts/noding/Octant.java
new file mode 100644
index 0000000..304b917
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/Octant.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+/**
+ * Methods for computing and working with octants of the Cartesian plane
+ * Octants are numbered as follows:
+ * <pre>
+ * \2|1/
+ * 3 \|/ 0
+ * ---+--
+ * 4 /|\ 7
+ * /5|6\
+ * </pre>
+ * If line segments lie along a coordinate axis, the octant is the lower of the two
+ * possible values.
+ *
+ * @version 1.7
+ */
+public class Octant {
+
+ /**
+ * Returns the octant of a directed line segment (specified as x and y
+ * displacements, which cannot both be 0).
+ */
+ public static int octant(double dx, double dy)
+ {
+ if (dx == 0.0 && dy == 0.0)
+ throw new IllegalArgumentException("Cannot compute the octant for point ( "+ dx + ", " + dy + " )" );
+
+ double adx = Math.abs(dx);
+ double ady = Math.abs(dy);
+
+ if (dx >= 0) {
+ if (dy >= 0) {
+ if (adx >= ady)
+ return 0;
+ else
+ return 1;
+ }
+ else { // dy < 0
+ if (adx >= ady)
+ return 7;
+ else
+ return 6;
+ }
+ }
+ else { // dx < 0
+ if (dy >= 0) {
+ if (adx >= ady)
+ return 3;
+ else
+ return 2;
+ }
+ else { // dy < 0
+ if (adx >= ady)
+ return 4;
+ else
+ return 5;
+ }
+ }
+ }
+
+ /**
+ * Returns the octant of a directed line segment from p0 to p1.
+ */
+ public static int octant(Coordinate p0, Coordinate p1)
+ {
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ if (dx == 0.0 && dy == 0.0)
+ throw new IllegalArgumentException("Cannot compute the octant for two identical points " + p0);
+ return octant(dx, dy);
+ }
+
+ private Octant() {
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/OrientedCoordinateArray.java b/modules/core/src/main/java/org/locationtech/jts/noding/OrientedCoordinateArray.java
new file mode 100644
index 0000000..1a7761a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/OrientedCoordinateArray.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+
+/**
+ * Allows comparing {@link Coordinate} arrays
+ * in an orientation-independent way.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class OrientedCoordinateArray
+ implements Comparable
+{
+ private Coordinate[] pts;
+ private boolean orientation;
+
+ /**
+ * Creates a new {@link OrientedCoordinateArray}
+ * for the given {@link Coordinate} array.
+ *
+ * @param pts the coordinates to orient
+ */
+ public OrientedCoordinateArray(Coordinate[] pts)
+ {
+ this.pts = pts;
+ orientation = orientation(pts);
+ }
+
+ /**
+ * Computes the canonical orientation for a coordinate array.
+ *
+ * @param pts the array to test
+ * @return <code>true</code> if the points are oriented forwards
+ * or <code>false</code if the points are oriented in reverse
+ */
+ private static boolean orientation(Coordinate[] pts)
+ {
+ return CoordinateArrays.increasingDirection(pts) == 1;
+ }
+
+ /**
+ * Compares two {@link OrientedCoordinateArray}s for their relative order
+ *
+ * @return -1 this one is smaller;
+ * 0 the two objects are equal;
+ * 1 this one is greater
+ */
+
+ public int compareTo(Object o1) {
+ OrientedCoordinateArray oca = (OrientedCoordinateArray) o1;
+ int comp = compareOriented(pts, orientation,
+ oca.pts, oca.orientation);
+/*
+ // MD - testing only
+ int oldComp = SegmentStringDissolver.ptsComp.compare(pts, oca.pts);
+ if ((oldComp == 0 || comp == 0) && oldComp != comp) {
+ System.out.println("bidir mismatch");
+
+ boolean orient1 = orientation(pts);
+ boolean orient2 = orientation(oca.pts);
+ int comp2 = compareOriented(pts, orientation,
+ oca.pts, oca.orientation);
+ int oldComp2 = SegmentStringDissolver.ptsComp.compare(pts, oca.pts);
+ }
+ */
+ return comp;
+ }
+
+ private static int compareOriented(Coordinate[] pts1,
+ boolean orientation1,
+ Coordinate[] pts2,
+ boolean orientation2)
+ {
+ int dir1 = orientation1 ? 1 : -1;
+ int dir2 = orientation2 ? 1 : -1;
+ int limit1 = orientation1 ? pts1.length : -1;
+ int limit2 = orientation2 ? pts2.length : -1;
+
+ int i1 = orientation1 ? 0 : pts1.length - 1;
+ int i2 = orientation2 ? 0 : pts2.length - 1;
+ int comp = 0;
+ while (true) {
+ int compPt = pts1[i1].compareTo(pts2[i2]);
+ if (compPt != 0)
+ return compPt;
+ i1 += dir1;
+ i2 += dir2;
+ boolean done1 = i1 == limit1;
+ boolean done2 = i2 == limit2;
+ if (done1 && ! done2) return -1;
+ if (! done1 && done2) return 1;
+ if (done1 && done2) return 0;
+ }
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/ScaledNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/ScaledNoder.java
new file mode 100644
index 0000000..7bf973a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/ScaledNoder.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+
+/**
+ * Wraps a {@link Noder} and transforms its input
+ * into the integer domain.
+ * This is intended for use with Snap-Rounding noders,
+ * which typically are only intended to work in the integer domain.
+ * Offsets can be provided to increase the number of digits of available precision.
+ * <p>
+ * Clients should be aware that rescaling can involve loss of precision,
+ * which can cause zero-length line segments to be created.
+ * These in turn can cause problems when used to build a planar graph.
+ * This situation should be checked for and collapsed segments removed if necessary.
+ *
+ * @version 1.7
+ */
+public class ScaledNoder
+ implements Noder
+{
+ private Noder noder;
+ private double scaleFactor;
+ private double offsetX;
+ private double offsetY;
+ private boolean isScaled = false;
+
+ public ScaledNoder(Noder noder, double scaleFactor) {
+ this(noder, scaleFactor, 0, 0);
+ }
+
+ public ScaledNoder(Noder noder, double scaleFactor, double offsetX, double offsetY) {
+ this.noder = noder;
+ this.scaleFactor = scaleFactor;
+ // no need to scale if input precision is already integral
+ isScaled = ! isIntegerPrecision();
+ }
+
+ public boolean isIntegerPrecision() { return scaleFactor == 1.0; }
+
+ public Collection getNodedSubstrings()
+ {
+ Collection splitSS = noder.getNodedSubstrings();
+ if (isScaled) rescale(splitSS);
+ return splitSS;
+ }
+
+ public void computeNodes(Collection inputSegStrings)
+ {
+ Collection intSegStrings = inputSegStrings;
+ if (isScaled)
+ intSegStrings = scale(inputSegStrings);
+ noder.computeNodes(intSegStrings);
+ }
+
+ private Collection scale(Collection segStrings)
+ {
+ List nodedSegmentStrings = new ArrayList(segStrings.size());
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ nodedSegmentStrings.add(new NodedSegmentString(scale(ss.getCoordinates()), ss.getData()));
+ }
+ return nodedSegmentStrings;
+ }
+
+ private Coordinate[] scale(Coordinate[] pts)
+ {
+ Coordinate[] roundPts = new Coordinate[pts.length];
+ for (int i = 0; i < pts.length; i++) {
+ roundPts[i] = new Coordinate(
+ Math.round((pts[i].x - offsetX) * scaleFactor),
+ Math.round((pts[i].y - offsetY) * scaleFactor),
+ pts[i].z
+ );
+ }
+ Coordinate[] roundPtsNoDup = CoordinateArrays.removeRepeatedPoints(roundPts);
+ return roundPtsNoDup;
+ }
+
+ //private double scale(double val) { return (double) Math.round(val * scaleFactor); }
+
+ private void rescale(Collection segStrings)
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ rescale(ss.getCoordinates());
+ }
+ }
+
+ private void rescale(Coordinate[] pts)
+ {
+ Coordinate p0 = null;
+ Coordinate p1 = null;
+
+ if (pts.length == 2) {
+ p0 = new Coordinate(pts[0]);
+ p1 = new Coordinate(pts[1]);
+ }
+
+ for (int i = 0; i < pts.length; i++) {
+ pts[i].x = pts[i].x / scaleFactor + offsetX;
+ pts[i].y = pts[i].y / scaleFactor + offsetY;
+ }
+
+ if (pts.length == 2 && pts[0].equals2D(pts[1])) {
+ System.out.println(pts);
+ }
+ }
+
+ //private double rescale(double val) { return val / scaleFactor; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersectionDetector.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersectionDetector.java
new file mode 100644
index 0000000..d8ea973
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersectionDetector.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Detects and records an intersection between two {@link SegmentString}s,
+ * if one exists. Only a single intersection is recorded.
+ * This strategy can be configured to search for <b>proper intersections</b>.
+ * In this case, the presence of <i>any</i> kind of intersection will still be recorded,
+ * but searching will continue until either a proper intersection has been found
+ * or no intersections are detected.
+ *
+ * @version 1.7
+ */
+public class SegmentIntersectionDetector
+ implements SegmentIntersector
+{
+ private LineIntersector li;
+ private boolean findProper = false;
+ private boolean findAllTypes = false;
+
+ private boolean hasIntersection = false;
+ private boolean hasProperIntersection = false;
+ private boolean hasNonProperIntersection = false;
+
+ private Coordinate intPt = null;
+ private Coordinate[] intSegments = null;
+
+ /**
+ * Creates an intersection finder using a {@link RobustLineIntersector}.
+ */
+ public SegmentIntersectionDetector()
+ {
+ this(new RobustLineIntersector());
+ }
+
+ /**
+ * Creates an intersection finder using a given LineIntersector.
+ *
+ * @param li the LineIntersector to use
+ */
+ public SegmentIntersectionDetector(LineIntersector li)
+ {
+ this.li = li;
+ }
+
+ /**
+ * Sets whether processing must continue until a proper intersection is found.
+ *
+ * @param findProper true if processing should continue until a proper intersection is found
+ */
+ public void setFindProper(boolean findProper)
+ {
+ this.findProper = findProper;
+ }
+
+ /**
+ * Sets whether processing can terminate once any intersection is found.
+ *
+ * @param findAllTypes true if processing can terminate once any intersection is found.
+ */
+ public void setFindAllIntersectionTypes(boolean findAllTypes)
+ {
+ this.findAllTypes = findAllTypes;
+ }
+
+ /**
+ * Tests whether an intersection was found.
+ *
+ * @return true if an intersection was found
+ */
+ public boolean hasIntersection()
+ {
+ return hasIntersection;
+ }
+
+ /**
+ * Tests whether a proper intersection was found.
+ *
+ * @return true if a proper intersection was found
+ */
+ public boolean hasProperIntersection()
+ {
+ return hasProperIntersection;
+ }
+
+ /**
+ * Tests whether a non-proper intersection was found.
+ *
+ * @return true if a non-proper intersection was found
+ */
+ public boolean hasNonProperIntersection()
+ {
+ return hasNonProperIntersection;
+ }
+
+ /**
+ * Gets the computed location of the intersection.
+ * Due to round-off, the location may not be exact.
+ *
+ * @return the coordinate for the intersection location
+ */
+ public Coordinate getIntersection()
+ {
+ return intPt;
+ }
+
+
+ /**
+ * Gets the endpoints of the intersecting segments.
+ *
+ * @return an array of the segment endpoints (p00, p01, p10, p11)
+ */
+ public Coordinate[] getIntersectionSegments()
+ {
+ return intSegments;
+ }
+
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} class to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ * Note that some clients (such as <code>MonotoneChain</code>s) may optimize away
+ * this call for segment pairs which they have determined do not intersect
+ * (e.g. by an disjoint envelope test).
+ */
+ public void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ )
+ {
+ // don't bother intersecting a segment with itself
+ if (e0 == e1 && segIndex0 == segIndex1) return;
+
+ Coordinate p00 = e0.getCoordinates()[segIndex0];
+ Coordinate p01 = e0.getCoordinates()[segIndex0 + 1];
+ Coordinate p10 = e1.getCoordinates()[segIndex1];
+ Coordinate p11 = e1.getCoordinates()[segIndex1 + 1];
+
+ li.computeIntersection(p00, p01, p10, p11);
+// if (li.hasIntersection() && li.isProper()) Debug.println(li);
+
+ if (li.hasIntersection()) {
+ // System.out.println(li);
+
+ // record intersection info
+ hasIntersection = true;
+
+ boolean isProper = li.isProper();
+ if (isProper)
+ hasProperIntersection = true;
+ if (! isProper)
+ hasNonProperIntersection = true;
+
+ /**
+ * If this is the kind of intersection we are searching for
+ * OR no location has yet been recorded
+ * save the location data
+ */
+ boolean saveLocation = true;
+ if (findProper && ! isProper) saveLocation = false;
+
+ if (intPt == null || saveLocation) {
+
+ // record intersection location (approximate)
+ intPt = li.getIntersection(0);
+
+ // record intersecting segments
+ intSegments = new Coordinate[4];
+ intSegments[0] = p00;
+ intSegments[1] = p01;
+ intSegments[2] = p10;
+ intSegments[3] = p11;
+ }
+ }
+ }
+
+ /**
+ * Tests whether processing can terminate,
+ * because all required information has been obtained
+ * (e.g. an intersection of the desired type has been detected).
+ *
+ * @return true if processing can terminate
+ */
+ public boolean isDone()
+ {
+ /**
+ * If finding all types, we can stop
+ * when both possible types have been found.
+ */
+ if (findAllTypes) {
+ return hasProperIntersection && hasNonProperIntersection;
+ }
+
+ /**
+ * If searching for a proper intersection, only stop if one is found
+ */
+ if (findProper) {
+ return hasProperIntersection;
+ }
+ return hasIntersection;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersector.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersector.java
new file mode 100644
index 0000000..7b8b3ba
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentIntersector.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+/**
+ * Processes possible intersections detected by a {@link Noder}.
+ * The {@link SegmentIntersector} is passed to a {@link Noder}.
+ * The {@link SegmentIntersector#processIntersections(SegmentString, int, SegmentString, int)} method is called whenever the {@link Noder}
+ * detects that two SegmentStrings <i>might</i> intersect.
+ * This class may be used either to find all intersections, or
+ * to detect the presence of an intersection. In the latter case,
+ * Noders may choose to short-circuit their computation by calling the
+ * {@link #isDone()} method.
+ * This class is an example of the <i>Strategy</i> pattern.
+ *
+ * @version 1.7
+ */
+public interface SegmentIntersector
+{
+ /**
+ * This method is called by clients
+ * of the {@link SegmentIntersector} interface to process
+ * intersections for two segments of the {@link SegmentString}s being intersected.
+ */
+ void processIntersections(
+ SegmentString e0, int segIndex0,
+ SegmentString e1, int segIndex1
+ );
+
+ /**
+ * Reports whether the client of this class
+ * needs to continue testing all intersections in an arrangement.
+ *
+ * @return true if there is no need to continue testing segments
+ */
+ boolean isDone();
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNode.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNode.java
new file mode 100644
index 0000000..41204e4
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNode.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Represents an intersection point between two {@link SegmentString}s.
+ *
+ * @version 1.7
+ */
+public class SegmentNode
+ implements Comparable
+{
+ private final NodedSegmentString segString;
+ public final Coordinate coord; // the point of intersection
+ public final int segmentIndex; // the index of the containing line segment in the parent edge
+ private final int segmentOctant;
+ private final boolean isInterior;
+
+ public SegmentNode(NodedSegmentString segString, Coordinate coord, int segmentIndex, int segmentOctant) {
+ this.segString = segString;
+ this.coord = new Coordinate(coord);
+ this.segmentIndex = segmentIndex;
+ this.segmentOctant = segmentOctant;
+ isInterior = ! coord.equals2D(segString.getCoordinate(segmentIndex));
+ }
+
+ /**
+ * Gets the {@link Coordinate} giving the location of this node.
+ *
+ * @return the coordinate of the node
+ */
+ public Coordinate getCoordinate()
+ {
+ return coord;
+ }
+
+ public boolean isInterior() { return isInterior; }
+
+ public boolean isEndPoint(int maxSegmentIndex)
+ {
+ if (segmentIndex == 0 && ! isInterior) return true;
+ if (segmentIndex == maxSegmentIndex) return true;
+ return false;
+ }
+
+ /**
+ * @return -1 this SegmentNode is located before the argument location;
+ * 0 this SegmentNode is at the argument location;
+ * 1 this SegmentNode is located after the argument location
+ */
+ public int compareTo(Object obj)
+ {
+ SegmentNode other = (SegmentNode) obj;
+
+ if (segmentIndex < other.segmentIndex) return -1;
+ if (segmentIndex > other.segmentIndex) return 1;
+
+ if (coord.equals2D(other.coord)) return 0;
+
+ return SegmentPointComparator.compare(segmentOctant, coord, other.coord);
+ //return segment.compareNodePosition(this, other);
+ }
+
+ public void print(PrintStream out)
+ {
+ out.print(coord);
+ out.print(" seg # = " + segmentIndex);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNodeList.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNodeList.java
new file mode 100644
index 0000000..6900b7e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentNodeList.java
@@ -0,0 +1,369 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * A list of the {@link SegmentNode}s present along a noded {@link SegmentString}.
+ *
+ * @version 1.7
+ */
+public class SegmentNodeList
+{
+ private Map nodeMap = new TreeMap();
+ private NodedSegmentString edge; // the parent edge
+
+ public SegmentNodeList(NodedSegmentString edge)
+ {
+ this.edge = edge;
+ }
+
+ public NodedSegmentString getEdge() { return edge; }
+
+ /**
+ * Adds an intersection into the list, if it isn't already there.
+ * The input segmentIndex and dist are expected to be normalized.
+ *
+ * @return the SegmentIntersection found or added
+ */
+ public SegmentNode add(Coordinate intPt, int segmentIndex)
+ {
+ SegmentNode eiNew = new SegmentNode(edge, intPt, segmentIndex, edge.getSegmentOctant(segmentIndex));
+ SegmentNode ei = (SegmentNode) nodeMap.get(eiNew);
+ if (ei != null) {
+ // debugging sanity check
+ Assert.isTrue(ei.coord.equals2D(intPt), "Found equal nodes with different coordinates");
+// if (! ei.coord.equals2D(intPt))
+// Debug.println("Found equal nodes with different coordinates");
+
+ return ei;
+ }
+ // node does not exist, so create it
+ nodeMap.put(eiNew, eiNew);
+ return eiNew;
+ }
+
+ /**
+ * returns an iterator of SegmentNodes
+ */
+ public Iterator iterator() { return nodeMap.values().iterator(); }
+
+ /**
+ * Adds nodes for the first and last points of the edge
+ */
+ private void addEndpoints()
+ {
+ int maxSegIndex = edge.size() - 1;
+ add(edge.getCoordinate(0), 0);
+ add(edge.getCoordinate(maxSegIndex), maxSegIndex);
+ }
+
+ /**
+ * Adds nodes for any collapsed edge pairs.
+ * Collapsed edge pairs can be caused by inserted nodes, or they can be
+ * pre-existing in the edge vertex list.
+ * In order to provide the correct fully noded semantics,
+ * the vertex at the base of a collapsed pair must also be added as a node.
+ */
+ private void addCollapsedNodes()
+ {
+ List collapsedVertexIndexes = new ArrayList();
+
+ findCollapsesFromInsertedNodes(collapsedVertexIndexes);
+ findCollapsesFromExistingVertices(collapsedVertexIndexes);
+
+ // node the collapses
+ for (Iterator it = collapsedVertexIndexes.iterator(); it.hasNext(); ) {
+ int vertexIndex = ((Integer) it.next()).intValue();
+ add(edge.getCoordinate(vertexIndex), vertexIndex);
+ }
+ }
+
+ /**
+ * Adds nodes for any collapsed edge pairs
+ * which are pre-existing in the vertex list.
+ */
+ private void findCollapsesFromExistingVertices(List collapsedVertexIndexes)
+ {
+ for (int i = 0; i < edge.size() - 2; i++) {
+ Coordinate p0 = edge.getCoordinate(i);
+ Coordinate p1 = edge.getCoordinate(i + 1);
+ Coordinate p2 = edge.getCoordinate(i + 2);
+ if (p0.equals2D(p2)) {
+ // add base of collapse as node
+ collapsedVertexIndexes.add(new Integer(i + 1));
+ }
+ }
+ }
+
+ /**
+ * Adds nodes for any collapsed edge pairs caused by inserted nodes
+ * Collapsed edge pairs occur when the same coordinate is inserted as a node
+ * both before and after an existing edge vertex.
+ * To provide the correct fully noded semantics,
+ * the vertex must be added as a node as well.
+ */
+ private void findCollapsesFromInsertedNodes(List collapsedVertexIndexes)
+ {
+ int[] collapsedVertexIndex = new int[1];
+ Iterator it = iterator();
+ // there should always be at least two entries in the list, since the endpoints are nodes
+ SegmentNode eiPrev = (SegmentNode) it.next();
+ while (it.hasNext()) {
+ SegmentNode ei = (SegmentNode) it.next();
+ boolean isCollapsed = findCollapseIndex(eiPrev, ei, collapsedVertexIndex);
+ if (isCollapsed)
+ collapsedVertexIndexes.add(new Integer(collapsedVertexIndex[0]));
+
+ eiPrev = ei;
+ }
+ }
+
+ private boolean findCollapseIndex(SegmentNode ei0, SegmentNode ei1, int[] collapsedVertexIndex)
+ {
+ // only looking for equal nodes
+ if (! ei0.coord.equals2D(ei1.coord)) return false;
+
+ int numVerticesBetween = ei1.segmentIndex - ei0.segmentIndex;
+ if (! ei1.isInterior()) {
+ numVerticesBetween--;
+ }
+
+ // if there is a single vertex between the two equal nodes, this is a collapse
+ if (numVerticesBetween == 1) {
+ collapsedVertexIndex[0] = ei0.segmentIndex + 1;
+ return true;
+ }
+ return false;
+ }
+
+
+ /**
+ * Creates new edges for all the edges that the intersections in this
+ * list split the parent edge into.
+ * Adds the edges to the provided argument list
+ * (this is so a single list can be used to accumulate all split edges
+ * for a set of {@link SegmentString}s).
+ */
+ public void addSplitEdges(Collection edgeList)
+ {
+ // ensure that the list has entries for the first and last point of the edge
+ addEndpoints();
+ addCollapsedNodes();
+
+ Iterator it = iterator();
+ // there should always be at least two entries in the list, since the endpoints are nodes
+ SegmentNode eiPrev = (SegmentNode) it.next();
+ while (it.hasNext()) {
+ SegmentNode ei = (SegmentNode) it.next();
+ SegmentString newEdge = createSplitEdge(eiPrev, ei);
+ /*
+ if (newEdge.size() < 2)
+ throw new RuntimeException("created single point edge: " + newEdge.toString());
+ */
+ edgeList.add(newEdge);
+ eiPrev = ei;
+ }
+ //checkSplitEdgesCorrectness(testingSplitEdges);
+ }
+
+ /**
+ * Checks the correctness of the set of split edges corresponding to this edge.
+ *
+ * @param splitEdges the split edges for this edge (in order)
+ */
+ private void checkSplitEdgesCorrectness(List splitEdges)
+ {
+ Coordinate[] edgePts = edge.getCoordinates();
+
+ // check that first and last points of split edges are same as endpoints of edge
+ SegmentString split0 = (SegmentString) splitEdges.get(0);
+ Coordinate pt0 = split0.getCoordinate(0);
+ if (! pt0.equals2D(edgePts[0]))
+ throw new RuntimeException("bad split edge start point at " + pt0);
+
+ SegmentString splitn = (SegmentString) splitEdges.get(splitEdges.size() - 1);
+ Coordinate[] splitnPts = splitn.getCoordinates();
+ Coordinate ptn = splitnPts[splitnPts.length - 1];
+ if (! ptn.equals2D(edgePts[edgePts.length - 1]))
+ throw new RuntimeException("bad split edge end point at " + ptn);
+
+ }
+
+ /**
+ * Create a new "split edge" with the section of points between
+ * (and including) the two intersections.
+ * The label for the new edge is the same as the label for the parent edge.
+ */
+ SegmentString createSplitEdge(SegmentNode ei0, SegmentNode ei1)
+ {
+//Debug.println("\ncreateSplitEdge"); Debug.print(ei0); Debug.print(ei1);
+ int npts = ei1.segmentIndex - ei0.segmentIndex + 2;
+
+ Coordinate lastSegStartPt = edge.getCoordinate(ei1.segmentIndex);
+ // if the last intersection point is not equal to the its segment start pt,
+ // add it to the points list as well.
+ // (This check is needed because the distance metric is not totally reliable!)
+ // The check for point equality is 2D only - Z values are ignored
+ boolean useIntPt1 = ei1.isInterior() || ! ei1.coord.equals2D(lastSegStartPt);
+ if (! useIntPt1) {
+ npts--;
+ }
+
+ Coordinate[] pts = new Coordinate[npts];
+ int ipt = 0;
+ pts[ipt++] = new Coordinate(ei0.coord);
+ for (int i = ei0.segmentIndex + 1; i <= ei1.segmentIndex; i++) {
+ pts[ipt++] = edge.getCoordinate(i);
+ }
+ if (useIntPt1) pts[ipt] = new Coordinate(ei1.coord);
+
+ return new NodedSegmentString(pts, edge.getData());
+ }
+
+ /**
+ * Gets the list of coordinates for the fully noded segment string,
+ * including all original segment string vertices and vertices
+ * introduced by nodes in this list.
+ * Repeated coordinates are collapsed.
+ *
+ * @return an array of Coordinates
+ *
+ */
+ public Coordinate[] getSplitCoordinates()
+ {
+ CoordinateList coordList = new CoordinateList();
+ // ensure that the list has entries for the first and last point of the edge
+ addEndpoints();
+
+ Iterator it = iterator();
+ // there should always be at least two entries in the list, since the endpoints are nodes
+ SegmentNode eiPrev = (SegmentNode) it.next();
+ while (it.hasNext()) {
+ SegmentNode ei = (SegmentNode) it.next();
+ addEdgeCoordinates(eiPrev, ei, coordList);
+ eiPrev = ei;
+ }
+ return coordList.toCoordinateArray();
+ }
+
+ private void addEdgeCoordinates(SegmentNode ei0, SegmentNode ei1,
+ CoordinateList coordList) {
+ int npts = ei1.segmentIndex - ei0.segmentIndex + 2;
+
+ Coordinate lastSegStartPt = edge.getCoordinate(ei1.segmentIndex);
+ // if the last intersection point is not equal to the its segment start pt,
+ // add it to the points list as well.
+ // (This check is needed because the distance metric is not totally reliable!)
+ // The check for point equality is 2D only - Z values are ignored
+ boolean useIntPt1 = ei1.isInterior() || ! ei1.coord.equals2D(lastSegStartPt);
+ if (! useIntPt1) {
+ npts--;
+ }
+
+ int ipt = 0;
+ coordList.add(new Coordinate(ei0.coord), false);
+ for (int i = ei0.segmentIndex + 1; i <= ei1.segmentIndex; i++) {
+ coordList.add(edge.getCoordinate(i));
+ }
+ if (useIntPt1) {
+ coordList.add(new Coordinate(ei1.coord));
+ }
+ }
+
+ public void print(PrintStream out)
+ {
+ out.println("Intersections:");
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ SegmentNode ei = (SegmentNode) it.next();
+ ei.print(out);
+ }
+ }
+}
+
+// INCOMPLETE!
+class NodeVertexIterator
+ implements Iterator
+{
+ private SegmentNodeList nodeList;
+ private NodedSegmentString edge;
+ private Iterator nodeIt;
+ private SegmentNode currNode = null;
+ private SegmentNode nextNode = null;
+ private int currSegIndex = 0;
+
+ NodeVertexIterator(SegmentNodeList nodeList)
+ {
+ this.nodeList = nodeList;
+ edge = nodeList.getEdge();
+ nodeIt = nodeList.iterator();
+ readNextNode();
+ }
+
+ public boolean hasNext() {
+ if (nextNode == null) return false;
+ return true;
+ }
+
+ public Object next()
+ {
+ if (currNode == null) {
+ currNode = nextNode;
+ currSegIndex = currNode.segmentIndex;
+ readNextNode();
+ return currNode;
+ }
+ // check for trying to read too far
+ if (nextNode == null) return null;
+
+ if (nextNode.segmentIndex == currNode.segmentIndex) {
+ currNode = nextNode;
+ currSegIndex = currNode.segmentIndex;
+ readNextNode();
+ return currNode;
+ }
+
+ if (nextNode.segmentIndex > currNode.segmentIndex) {
+
+ }
+ return null;
+ }
+
+ private void readNextNode()
+ {
+ if (nodeIt.hasNext())
+ nextNode = (SegmentNode) nodeIt.next();
+ else
+ nextNode = null;
+ }
+ /**
+ * Not implemented.
+ *
+ *@throws UnsupportedOperationException This method is not implemented.
+ */
+ public void remove() {
+ throw new UnsupportedOperationException(getClass().getName());
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentPointComparator.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentPointComparator.java
new file mode 100644
index 0000000..a459b19
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentPointComparator.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Implements a robust method of comparing the relative position of two
+ * points along the same segment.
+ * The coordinates are assumed to lie "near" the segment.
+ * This means that this algorithm will only return correct results
+ * if the input coordinates
+ * have the same precision and correspond to rounded values
+ * of exact coordinates lying on the segment.
+ *
+ * @version 1.7
+ */
+public class SegmentPointComparator {
+
+ /**
+ * Compares two {@link Coordinate}s for their relative position along a segment
+ * lying in the specified {@link Octant}.
+ *
+ * @return -1 node0 occurs first;
+ * 0 the two nodes are equal;
+ * 1 node1 occurs first
+ */
+ public static int compare(int octant, Coordinate p0, Coordinate p1)
+ {
+ // nodes can only be equal if their coordinates are equal
+ if (p0.equals2D(p1)) return 0;
+
+ int xSign = relativeSign(p0.x, p1.x);
+ int ySign = relativeSign(p0.y, p1.y);
+
+ switch (octant) {
+ case 0: return compareValue(xSign, ySign);
+ case 1: return compareValue(ySign, xSign);
+ case 2: return compareValue(ySign, -xSign);
+ case 3: return compareValue(-xSign, ySign);
+ case 4: return compareValue(-xSign, -ySign);
+ case 5: return compareValue(-ySign, -xSign);
+ case 6: return compareValue(-ySign, xSign);
+ case 7: return compareValue(xSign, -ySign);
+ }
+ Assert.shouldNeverReachHere("invalid octant value");
+ return 0;
+ }
+
+ public static int relativeSign(double x0, double x1)
+ {
+ if (x0 < x1) return -1;
+ if (x0 > x1) return 1;
+ return 0;
+ }
+
+ private static int compareValue(int compareSign0, int compareSign1)
+ {
+ if (compareSign0 < 0) return -1;
+ if (compareSign0 > 0) return 1;
+ if (compareSign1 < 0) return -1;
+ if (compareSign1 > 0) return 1;
+ return 0;
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentSetMutualIntersector.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentSetMutualIntersector.java
new file mode 100644
index 0000000..caeee6f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentSetMutualIntersector.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+
+/**
+ * An intersector for the red-blue intersection problem.
+ * In this class of line arrangement problem,
+ * two disjoint sets of linestrings are intersected.
+ * <p>
+ * Implementing classes must provide a way
+ * of supplying the base set of segment strings to
+ * test against (e.g. in the constructor,
+ * for straightforward thread-safety).
+ * <p>
+ * In order to allow optimizing processing,
+ * the following condition is assumed to hold for each set:
+ * <ul>
+ * <li>the only intersection between any two linestrings occurs at their endpoints.
+ * </ul>
+ * Implementations can take advantage of this fact to optimize processing
+ * (i.e. by avoiding testing for intersections between linestrings
+ * belonging to the same set).
+ *
+ * @author Martin Davis
+ * @version 1.10
+ */
+public interface SegmentSetMutualIntersector
+{
+ /**
+ * Computes the intersections with a given set of {@link SegmentString}s,
+ * using the supplied {@link SegmentIntersector}.
+ *
+ * @param segStrings a collection of {@link SegmentString}s to node
+ * @param segInt the intersection detector to either record intersection occurrences
+ * or add intersection nodes to the input segment strings.
+ */
+ void process(Collection segStrings, SegmentIntersector segInt);
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentString.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentString.java
new file mode 100644
index 0000000..443a96a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentString.java
@@ -0,0 +1,44 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * An interface for classes which represent a sequence of contiguous line segments.
+ * SegmentStrings can carry a context object, which is useful
+ * for preserving topological or parentage information.
+ *
+ * @version 1.7
+ */
+public interface SegmentString
+{
+ /**
+ * Gets the user-defined data for this segment string.
+ *
+ * @return the user-defined data
+ */
+ public Object getData();
+
+ /**
+ * Sets the user-defined data for this segment string.
+ *
+ * @param data an Object containing user-defined data
+ */
+ public void setData(Object data);
+
+ public int size();
+ public Coordinate getCoordinate(int i);
+ public Coordinate[] getCoordinates();
+ public boolean isClosed();
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringDissolver.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringDissolver.java
new file mode 100644
index 0000000..990005c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringDissolver.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.CoordinateArrays;
+
+/**
+ * Dissolves a noded collection of {@link SegmentString}s to produce
+ * a set of merged linework with unique segments.
+ * A custom {@link SegmentStringMerger} merging strategy
+ * can be supplied.
+ * This strategy will be called when two identical (up to orientation)
+ * strings are dissolved together.
+ * The default merging strategy is simply to discard one of the merged strings.
+ * <p>
+ * A common use for this class is to merge noded edges
+ * while preserving topological labelling.
+ * This requires a custom merging strategy to be supplied
+ * to merge the topology labels appropriately.
+ *
+ * @version 1.7
+ * @see SegmentStringMerger
+ */
+public class SegmentStringDissolver
+{
+ /**
+ * A merging strategy which can be used to update the context data of {@link SegmentString}s
+ * which are merged during the dissolve process.
+ *
+ * @author mbdavis
+ *
+ */
+ public interface SegmentStringMerger
+ {
+ /**
+ * Updates the context data of a SegmentString
+ * when an identical (up to orientation) one is found during dissolving.
+ *
+ * @param mergeTarget the segment string to update
+ * @param ssToMerge the segment string being dissolved
+ * @param isSameOrientation <code>true</code> if the strings are in the same direction,
+ * <code>false</code> if they are opposite
+ */
+ void merge(SegmentString mergeTarget, SegmentString ssToMerge, boolean isSameOrientation);
+ }
+
+ private SegmentStringMerger merger;
+ private Map ocaMap = new TreeMap();
+
+ // testing only
+ //private List testAddedSS = new ArrayList();
+
+ /**
+ * Creates a dissolver with a user-defined merge strategy.
+ *
+ * @param merger the merging strategy to use
+ */
+ public SegmentStringDissolver(SegmentStringMerger merger) {
+ this.merger = merger;
+ }
+
+ /**
+ * Creates a dissolver with the default merging strategy.
+ */
+ public SegmentStringDissolver() {
+ this(null);
+ }
+
+ /**
+ * Dissolve all {@link SegmentString}s in the input {@link Collection}
+ * @param segStrings
+ */
+ public void dissolve(Collection segStrings)
+ {
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ dissolve((SegmentString) i.next());
+ }
+ }
+
+ private void add(OrientedCoordinateArray oca, SegmentString segString)
+ {
+ ocaMap.put(oca, segString);
+ //testAddedSS.add(oca);
+ }
+
+ /**
+ * Dissolve the given {@link SegmentString}.
+ *
+ * @param segString the string to dissolve
+ */
+ public void dissolve(SegmentString segString)
+ {
+ OrientedCoordinateArray oca = new OrientedCoordinateArray(segString.getCoordinates());
+ SegmentString existing = findMatching(oca, segString);
+ if (existing == null) {
+ add(oca, segString);
+ }
+ else {
+ if (merger != null) {
+ boolean isSameOrientation
+ = CoordinateArrays.equals(existing.getCoordinates(), segString.getCoordinates());
+ merger.merge(existing, segString, isSameOrientation);
+ }
+ }
+ }
+
+ private SegmentString findMatching(OrientedCoordinateArray oca,
+ SegmentString segString)
+ {
+ SegmentString matchSS = (SegmentString) ocaMap.get(oca);
+ /*
+ boolean hasBeenAdded = checkAdded(oca);
+ if (matchSS == null && hasBeenAdded) {
+ System.out.println("added!");
+ }
+ */
+ return matchSS;
+ }
+
+/*
+
+ private boolean checkAdded(OrientedCoordinateArray oca)
+ {
+ for (Iterator i = testAddedSS.iterator(); i.hasNext(); ) {
+ OrientedCoordinateArray addedOCA = (OrientedCoordinateArray) i.next();
+ if (oca.compareTo(addedOCA) == 0)
+ return true;
+ }
+ return false;
+ }
+*/
+
+ /**
+ * Gets the collection of dissolved (i.e. unique) {@link SegmentString}s
+ *
+ * @return the unique {@link SegmentString}s
+ */
+ public Collection getDissolved() { return ocaMap.values(); }
+}
+
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringUtil.java b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringUtil.java
new file mode 100644
index 0000000..eddd4be
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SegmentStringUtil.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+
+
+/**
+ * Utility methods for processing {@link SegmentString}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class SegmentStringUtil
+{
+ /**
+ * Extracts all linear components from a given {@link Geometry}
+ * to {@link SegmentString}s.
+ * The SegmentString data item is set to be the source Geometry.
+ *
+ * @param geom the geometry to extract from
+ * @return a List of SegmentStrings
+ */
+ public static List extractSegmentStrings(Geometry geom)
+ {
+ return extractNodedSegmentStrings(geom);
+ }
+
+ /**
+ * Extracts all linear components from a given {@link Geometry}
+ * to {@link SegmentString}s.
+ * The SegmentString data item is set to be the source Geometry.
+ *
+ * @param geom the geometry to extract from
+ * @return a List of SegmentStrings
+ */
+ public static List extractNodedSegmentStrings(Geometry geom)
+ {
+ List segStr = new ArrayList();
+ List lines = LinearComponentExtracter.getLines(geom);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ Coordinate[] pts = line.getCoordinates();
+ segStr.add(new NodedSegmentString(pts, geom));
+ }
+ return segStr;
+ }
+
+ /**
+ * Converts a collection of {@link SegmentString}s into a {@link Geometry}.
+ * The geometry will be either a {@link LineString} or a {@link MultiLineString} (possibly empty).
+ *
+ * @param segStrings a collection of SegmentStrings
+ * @return a LineString or MultiLineString
+ */
+ public static Geometry toGeometry(Collection segStrings, GeometryFactory geomFact)
+ {
+ LineString[] lines = new LineString[segStrings.size()];
+ int index = 0;
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString ss = (SegmentString) i.next();
+ LineString line = geomFact.createLineString(ss.getCoordinates());
+ lines[index++] = line;
+ }
+ if (lines.length == 1) return lines[0];
+ return geomFact.createMultiLineString(lines);
+ }
+
+ public static String toString(List segStrings)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (Iterator i = segStrings.iterator(); i.hasNext(); ) {
+ SegmentString segStr = (SegmentString) i.next();
+ buf.append(segStr.toString());
+ buf.append("\n");
+
+ }
+ return buf.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SimpleNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/SimpleNoder.java
new file mode 100644
index 0000000..a274087
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SimpleNoder.java
@@ -0,0 +1,65 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Nodes a set of {@link SegmentString}s by
+ * performing a brute-force comparison of every segment to every other one.
+ * This has n^2 performance, so is too slow for use on large numbers
+ * of segments.
+ *
+ * @version 1.7
+ */
+public class SimpleNoder
+ extends SinglePassNoder
+{
+
+ private Collection nodedSegStrings;
+
+ public SimpleNoder() {
+ }
+
+ public Collection getNodedSubstrings()
+ {
+ return NodedSegmentString.getNodedSubstrings(nodedSegStrings);
+ }
+
+ public void computeNodes(Collection inputSegStrings)
+ {
+ this.nodedSegStrings = inputSegStrings;
+ for (Iterator i0 = inputSegStrings.iterator(); i0.hasNext(); ) {
+ SegmentString edge0 = (SegmentString) i0.next();
+ for (Iterator i1 = inputSegStrings.iterator(); i1.hasNext(); ) {
+ SegmentString edge1 = (SegmentString) i1.next();
+ computeIntersects(edge0, edge1);
+ }
+ }
+ }
+
+ private void computeIntersects(SegmentString e0, SegmentString e1)
+ {
+ Coordinate[] pts0 = e0.getCoordinates();
+ Coordinate[] pts1 = e1.getCoordinates();
+ for (int i0 = 0; i0 < pts0.length - 1; i0++) {
+ for (int i1 = 0; i1 < pts1.length - 1; i1++) {
+ segInt.processIntersections(e0, i0, e1, i1);
+ }
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SimpleSegmentSetMutualIntersector.java b/modules/core/src/main/java/org/locationtech/jts/noding/SimpleSegmentSetMutualIntersector.java
new file mode 100644
index 0000000..342b775
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SimpleSegmentSetMutualIntersector.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+
+
+
+/**
+ * Intersects two sets of {@link SegmentString}s using
+ * brute-force comparison.
+ *
+ * @version 1.7
+ */
+public class SimpleSegmentSetMutualIntersector implements SegmentSetMutualIntersector
+{
+ private final Collection baseSegStrings;
+
+ /**
+ * Constructs a new intersector for a given set of {@link SegmentString}s.
+ *
+ * @param segStrings the base segment strings to intersect
+ */
+ public SimpleSegmentSetMutualIntersector(Collection segStrings)
+ {
+ this.baseSegStrings = segStrings;
+ }
+
+ /**
+ * Calls {@link SegmentIntersector#processIntersections(SegmentString, int, SegmentString, int)}
+ * for all <i>candidate</i> intersections between
+ * the given collection of SegmentStrings and the set of base segments.
+ *
+ * @param a set of segments to intersect
+ * @param the segment intersector to use
+ */
+ public void process(Collection segStrings, SegmentIntersector segInt) {
+ for (Iterator i = baseSegStrings.iterator(); i.hasNext(); ) {
+ SegmentString baseSS = (SegmentString) i.next();
+ for (Iterator j = segStrings.iterator(); j.hasNext(); ) {
+ SegmentString ss = (SegmentString) j.next();
+ intersect(baseSS, ss, segInt);
+ if (segInt.isDone())
+ return;
+ }
+ }
+ }
+
+ /**
+ * Processes all of the segment pairs in the given segment strings
+ * using the given SegmentIntersector.
+ *
+ * @param ss0 a Segment string
+ * @param ss1 a segment string
+ * @param segInt the segment intersector to use
+ */
+ private void intersect(SegmentString ss0, SegmentString ss1, SegmentIntersector segInt)
+ {
+ Coordinate[] pts0 = ss0.getCoordinates();
+ Coordinate[] pts1 = ss1.getCoordinates();
+ for (int i0 = 0; i0 < pts0.length - 1; i0++) {
+ for (int i1 = 0; i1 < pts1.length - 1; i1++) {
+ segInt.processIntersections(ss0, i0, ss1, i1);
+ if (segInt.isDone())
+ return;
+ }
+ }
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/SinglePassNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/SinglePassNoder.java
new file mode 100644
index 0000000..e101749
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/SinglePassNoder.java
@@ -0,0 +1,70 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding;
+
+import java.util.Collection;
+
+/**
+ * Base class for {@link Noder}s which make a single
+ * pass to find intersections.
+ * This allows using a custom {@link SegmentIntersector}
+ * (which for instance may simply identify intersections, rather than
+ * insert them).
+ *
+ * @version 1.7
+ */
+public abstract class SinglePassNoder
+ implements Noder
+{
+
+ protected SegmentIntersector segInt;
+
+ public SinglePassNoder() {
+ }
+
+ public SinglePassNoder(SegmentIntersector segInt) {
+ setSegmentIntersector(segInt);
+ }
+
+ /**
+ * Sets the SegmentIntersector to use with this noder.
+ * A SegmentIntersector will normally add intersection nodes
+ * to the input segment strings, but it may not - it may
+ * simply record the presence of intersections.
+ * However, some Noders may require that intersections be added.
+ *
+ * @param segInt
+ */
+ public void setSegmentIntersector(SegmentIntersector segInt)
+ {
+ this.segInt = segInt;
+ }
+
+ /**
+ * Computes the noding for a collection of {@link SegmentString}s.
+ * Some Noders may add all these nodes to the input SegmentStrings;
+ * others may only add some or none at all.
+ *
+ * @param segStrings a collection of {@link SegmentString}s to node
+ */
+ public abstract void computeNodes(Collection segStrings);
+
+ /**
+ * Returns a {@link Collection} of fully noded {@link SegmentString}s.
+ * The SegmentStrings have the same context as their parent.
+ *
+ * @return a Collection of SegmentStrings
+ */
+ public abstract Collection getNodedSubstrings();
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/package.html b/modules/core/src/main/java/org/locationtech/jts/noding/package.html
new file mode 100644
index 0000000..be69c89
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to compute nodings for arrangements of line segments and line segment sequences.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/GeometryNoder.java b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/GeometryNoder.java
new file mode 100644
index 0000000..9d5469d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/GeometryNoder.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding.snapround;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.NodingValidator;
+import org.locationtech.jts.noding.SegmentString;
+
+/**
+ * Nodes the linework in a list of {@link Geometry}s using Snap-Rounding
+ * to a given {@link PrecisionModel}.
+ * <p>
+ * The input coordinates are expected to be rounded
+ * to the given precision model.
+ * This class does not perform that function.
+ * <code>GeometryPrecisionReducer</code> may be used to do this.
+ * <p>
+ * This class does <b>not</b> dissolve the output linework,
+ * so there may be duplicate linestrings in the output.
+ * Subsequent processing (e.g. polygonization) may require
+ * the linework to be unique. Using <code>UnaryUnion</code> is one way
+ * to do this (although this is an inefficient approach).
+ *
+ *
+ */
+public class GeometryNoder
+{
+ private GeometryFactory geomFact;
+ private PrecisionModel pm;
+ private boolean isValidityChecked = false;
+
+ /**
+ * Creates a new noder which snap-rounds to a grid specified
+ * by the given {@link PrecisionModel}.
+ *
+ * @param pm the precision model for the grid to snap-round to
+ */
+ public GeometryNoder(PrecisionModel pm) {
+ this.pm = pm;
+ }
+
+ /**
+ * Sets whether noding validity is checked after noding is performed.
+ *
+ * @param isValidityChecked
+ */
+ public void setValidate(boolean isValidityChecked)
+ {
+ this.isValidityChecked = isValidityChecked;
+ }
+
+ /**
+ * Nodes the linework of a set of Geometrys using SnapRounding.
+ *
+ * @param geoms a Collection of Geometrys of any type
+ * @return a List of LineStrings representing the noded linework of the input
+ */
+ public List node(Collection geoms)
+ {
+ // get geometry factory
+ Geometry geom0 = (Geometry) geoms.iterator().next();
+ geomFact = geom0.getFactory();
+
+ List segStrings = toSegmentStrings(extractLines(geoms));
+ //Noder sr = new SimpleSnapRounder(pm);
+ Noder sr = new MCIndexSnapRounder(pm);
+ sr.computeNodes(segStrings);
+ Collection nodedLines = sr.getNodedSubstrings();
+
+ //TODO: improve this to check for full snap-rounded correctness
+ if (isValidityChecked) {
+ NodingValidator nv = new NodingValidator(nodedLines);
+ nv.checkValid();
+ }
+
+ return toLineStrings(nodedLines);
+ }
+
+ private List toLineStrings(Collection segStrings)
+ {
+ List lines = new ArrayList();
+ for (Iterator it = segStrings.iterator(); it.hasNext(); ) {
+ SegmentString ss = (SegmentString) it.next();
+ // skip collapsed lines
+ if (ss.size() < 2)
+ continue;
+ lines.add(geomFact.createLineString(ss.getCoordinates()));
+ }
+ return lines;
+ }
+
+ private List extractLines(Collection geoms)
+ {
+ List lines = new ArrayList();
+ LinearComponentExtracter lce = new LinearComponentExtracter(lines);
+ for (Iterator it = geoms.iterator(); it.hasNext(); ) {
+ Geometry geom = (Geometry) it.next();
+ geom.apply(lce);
+ }
+ return lines;
+ }
+
+ private List toSegmentStrings(Collection lines)
+ {
+ List segStrings = new ArrayList();
+ for (Iterator it = lines.iterator(); it.hasNext(); ) {
+ LineString line = (LineString) it.next();
+ segStrings.add(new NodedSegmentString(line.getCoordinates(), null));
+ }
+ return segStrings;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/HotPixel.java b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/HotPixel.java
new file mode 100644
index 0000000..dcdb3c5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/HotPixel.java
@@ -0,0 +1,300 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding.snapround;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Implements a "hot pixel" as used in the Snap Rounding algorithm.
+ * A hot pixel contains the interior of the tolerance square and
+ * the boundary
+ * <b>minus</b> the top and right segments.
+ * <p>
+ * The hot pixel operations are all computed in the integer domain
+ * to avoid rounding problems.
+ *
+ * @version 1.7
+ */
+public class HotPixel
+{
+ // testing only
+// public static int nTests = 0;
+
+ private LineIntersector li;
+
+ private Coordinate pt;
+ private Coordinate originalPt;
+ private Coordinate ptScaled;
+
+ private Coordinate p0Scaled;
+ private Coordinate p1Scaled;
+
+ private double scaleFactor;
+
+ private double minx;
+ private double maxx;
+ private double miny;
+ private double maxy;
+
+ /**
+ * The corners of the hot pixel, in the order:
+ * 10
+ * 23
+ */
+ private Coordinate[] corner = new Coordinate[4];
+
+ private Envelope safeEnv = null;
+
+ /**
+ * Creates a new hot pixel, using a given scale factor.
+ * The scale factor must be strictly positive (non-zero).
+ *
+ * @param pt the coordinate at the centre of the pixel
+ * @param scaleFactor the scaleFactor determining the pixel size. Must be > 0
+ * @param li the intersector to use for testing intersection with line segments
+ *
+ */
+ public HotPixel(Coordinate pt, double scaleFactor, LineIntersector li) {
+ originalPt = pt;
+ this.pt = pt;
+ this.scaleFactor = scaleFactor;
+ this.li = li;
+ //tolerance = 0.5;
+ if (scaleFactor <= 0)
+ throw new IllegalArgumentException("Scale factor must be non-zero");
+ if (scaleFactor != 1.0) {
+ this.pt = new Coordinate(scale(pt.x), scale(pt.y));
+ p0Scaled = new Coordinate();
+ p1Scaled = new Coordinate();
+ }
+ initCorners(this.pt);
+ }
+
+ /**
+ * Gets the coordinate this hot pixel is based at.
+ *
+ * @return the coordinate of the pixel
+ */
+ public Coordinate getCoordinate() { return originalPt; }
+
+ private static final double SAFE_ENV_EXPANSION_FACTOR = 0.75;
+
+ /**
+ * Returns a "safe" envelope that is guaranteed to contain the hot pixel.
+ * The envelope returned will be larger than the exact envelope of the
+ * pixel.
+ *
+ * @return an envelope which contains the hot pixel
+ */
+ public Envelope getSafeEnvelope()
+ {
+ if (safeEnv == null) {
+ double safeTolerance = SAFE_ENV_EXPANSION_FACTOR / scaleFactor;
+ safeEnv = new Envelope(originalPt.x - safeTolerance,
+ originalPt.x + safeTolerance,
+ originalPt.y - safeTolerance,
+ originalPt.y + safeTolerance
+ );
+ }
+ return safeEnv;
+ }
+
+ private void initCorners(Coordinate pt)
+ {
+ double tolerance = 0.5;
+ minx = pt.x - tolerance;
+ maxx = pt.x + tolerance;
+ miny = pt.y - tolerance;
+ maxy = pt.y + tolerance;
+
+ corner[0] = new Coordinate(maxx, maxy);
+ corner[1] = new Coordinate(minx, maxy);
+ corner[2] = new Coordinate(minx, miny);
+ corner[3] = new Coordinate(maxx, miny);
+ }
+
+ private double scale(double val)
+ {
+ return (double) Math.round(val * scaleFactor);
+ }
+
+ /**
+ * Tests whether the line segment (p0-p1)
+ * intersects this hot pixel.
+ *
+ * @param p0 the first coordinate of the line segment to test
+ * @param p1 the second coordinate of the line segment to test
+ * @return true if the line segment intersects this hot pixel
+ */
+ public boolean intersects(Coordinate p0, Coordinate p1)
+ {
+ if (scaleFactor == 1.0)
+ return intersectsScaled(p0, p1);
+
+ copyScaled(p0, p0Scaled);
+ copyScaled(p1, p1Scaled);
+ return intersectsScaled(p0Scaled, p1Scaled);
+ }
+
+ private void copyScaled(Coordinate p, Coordinate pScaled)
+ {
+ pScaled.x = scale(p.x);
+ pScaled.y = scale(p.y);
+ }
+
+ private boolean intersectsScaled(Coordinate p0, Coordinate p1)
+ {
+ double segMinx = Math.min(p0.x, p1.x);
+ double segMaxx = Math.max(p0.x, p1.x);
+ double segMiny = Math.min(p0.y, p1.y);
+ double segMaxy = Math.max(p0.y, p1.y);
+
+ boolean isOutsidePixelEnv = maxx < segMinx
+ || minx > segMaxx
+ || maxy < segMiny
+ || miny > segMaxy;
+ if (isOutsidePixelEnv)
+ return false;
+ boolean intersects = intersectsToleranceSquare(p0, p1);
+// boolean intersectsPixelClosure = intersectsPixelClosure(p0, p1);
+
+// if (intersectsPixel != intersects) {
+// Debug.println("Found hot pixel intersection mismatch at " + pt);
+// Debug.println("Test segment: " + p0 + " " + p1);
+// }
+
+/*
+ if (scaleFactor != 1.0) {
+ boolean intersectsScaled = intersectsScaledTest(p0, p1);
+ if (intersectsScaled != intersects) {
+ intersectsScaledTest(p0, p1);
+// Debug.println("Found hot pixel scaled intersection mismatch at " + pt);
+// Debug.println("Test segment: " + p0 + " " + p1);
+ }
+ return intersectsScaled;
+ }
+*/
+
+ Assert.isTrue(! (isOutsidePixelEnv && intersects), "Found bad envelope test");
+// if (isOutsideEnv && intersects) {
+// Debug.println("Found bad envelope test");
+// }
+
+ return intersects;
+ //return intersectsPixelClosure;
+ }
+
+ /**
+ * Tests whether the segment p0-p1 intersects the hot pixel tolerance square.
+ * Because the tolerance square point set is partially open (along the
+ * top and right) the test needs to be more sophisticated than
+ * simply checking for any intersection.
+ * However, it can take advantage of the fact that the hot pixel edges
+ * do not lie on the coordinate grid.
+ * It is sufficient to check if any of the following occur:
+ * <ul>
+ * <li>a proper intersection between the segment and any hot pixel edge
+ * <li>an intersection between the segment and <b>both</b> the left and bottom hot pixel edges
+ * (which detects the case where the segment intersects the bottom left hot pixel corner)
+ * <li>an intersection between a segment endpoint and the hot pixel coordinate
+ * </ul>
+ *
+ * @param p0
+ * @param p1
+ * @return
+ */
+ private boolean intersectsToleranceSquare(Coordinate p0, Coordinate p1)
+ {
+ boolean intersectsLeft = false;
+ boolean intersectsBottom = false;
+ //System.out.println("Hot Pixel: " + WKTWriter.toLineString(corner));
+ //System.out.println("Line: " + WKTWriter.toLineString(p0, p1));
+
+ li.computeIntersection(p0, p1, corner[0], corner[1]);
+ if (li.isProper()) return true;
+
+ li.computeIntersection(p0, p1, corner[1], corner[2]);
+ if (li.isProper()) return true;
+ if (li.hasIntersection()) intersectsLeft = true;
+
+ li.computeIntersection(p0, p1, corner[2], corner[3]);
+ if (li.isProper()) return true;
+ if (li.hasIntersection()) intersectsBottom = true;
+
+ li.computeIntersection(p0, p1, corner[3], corner[0]);
+ if (li.isProper()) return true;
+
+ if (intersectsLeft && intersectsBottom) return true;
+
+ if (p0.equals(pt)) return true;
+ if (p1.equals(pt)) return true;
+
+ return false;
+ }
+ /**
+ * Test whether the given segment intersects
+ * the closure of this hot pixel.
+ * This is NOT the test used in the standard snap-rounding
+ * algorithm, which uses the partially closed tolerance square
+ * instead.
+ * This routine is provided for testing purposes only.
+ *
+ * @param p0 the start point of a line segment
+ * @param p1 the end point of a line segment
+ * @return <code>true</code> if the segment intersects the closure of the pixel's tolerance square
+ */
+ private boolean intersectsPixelClosure(Coordinate p0, Coordinate p1)
+ {
+ li.computeIntersection(p0, p1, corner[0], corner[1]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[1], corner[2]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[2], corner[3]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[3], corner[0]);
+ if (li.hasIntersection()) return true;
+
+ return false;
+ }
+
+ /**
+ * Adds a new node (equal to the snap pt) to the specified segment
+ * if the segment passes through the hot pixel
+ *
+ * @param segStr
+ * @param segIndex
+ * @return true if a node was added to the segment
+ */
+ public boolean addSnappedNode(
+ NodedSegmentString segStr,
+ int segIndex
+ )
+ {
+ Coordinate p0 = segStr.getCoordinate(segIndex);
+ Coordinate p1 = segStr.getCoordinate(segIndex + 1);
+
+ if (intersects(p0, p1)) {
+ //System.out.println("snapped: " + snapPt);
+ //System.out.println("POINT (" + snapPt.x + " " + snapPt.y + ")");
+ segStr.addIntersection(getCoordinate(), segIndex);
+
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexPointSnapper.java b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexPointSnapper.java
new file mode 100644
index 0000000..86b2ae8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexPointSnapper.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding.snapround;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.chain.MonotoneChain;
+import org.locationtech.jts.index.chain.MonotoneChainSelectAction;
+import org.locationtech.jts.index.strtree.STRtree;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.noding.SegmentString;
+
+/**
+ * "Snaps" all {@link SegmentString}s in a {@link SpatialIndex} containing
+ * {@link MonotoneChain}s to a given {@link HotPixel}.
+ *
+ * @version 1.7
+ */
+public class MCIndexPointSnapper
+{
+ //public static final int nSnaps = 0;
+
+ private STRtree index;
+
+ public MCIndexPointSnapper(SpatialIndex index) {
+ this.index = (STRtree) index;
+ }
+
+ /**
+ * Snaps (nodes) all interacting segments to this hot pixel.
+ * The hot pixel may represent a vertex of an edge,
+ * in which case this routine uses the optimization
+ * of not noding the vertex itself
+ *
+ * @param hotPixel the hot pixel to snap to
+ * @param parentEdge the edge containing the vertex, if applicable, or <code>null</code>
+ * @param hotPixelVertexIndex the index of the hotPixel vertex, if applicable, or -1
+ * @return <code>true</code> if a node was added for this pixel
+ */
+ public boolean snap(HotPixel hotPixel, SegmentString parentEdge, int hotPixelVertexIndex)
+ {
+ final Envelope pixelEnv = hotPixel.getSafeEnvelope();
+ final HotPixelSnapAction hotPixelSnapAction = new HotPixelSnapAction(hotPixel, parentEdge, hotPixelVertexIndex);
+
+ index.query(pixelEnv, new ItemVisitor() {
+ public void visitItem(Object item) {
+ MonotoneChain testChain = (MonotoneChain) item;
+ testChain.select(pixelEnv, hotPixelSnapAction);
+ }
+ }
+ );
+ return hotPixelSnapAction.isNodeAdded();
+ }
+
+ public boolean snap(HotPixel hotPixel)
+ {
+ return snap(hotPixel, null, -1);
+ }
+
+ public static class HotPixelSnapAction
+ extends MonotoneChainSelectAction
+ {
+ private HotPixel hotPixel;
+ private SegmentString parentEdge;
+ // is -1 if hotPixel is not a vertex
+ private int hotPixelVertexIndex;
+ private boolean isNodeAdded = false;
+
+ public HotPixelSnapAction(HotPixel hotPixel, SegmentString parentEdge, int hotPixelVertexIndex)
+ {
+ this.hotPixel = hotPixel;
+ this.parentEdge = parentEdge;
+ this.hotPixelVertexIndex = hotPixelVertexIndex;
+ }
+
+ public boolean isNodeAdded() { return isNodeAdded; }
+
+ public void select(MonotoneChain mc, int startIndex)
+ {
+ NodedSegmentString ss = (NodedSegmentString) mc.getContext();
+ /**
+ * Check to avoid snapping a hotPixel vertex to the same vertex.
+ * This method is called for segments which intersects the
+ * hot pixel,
+ * so need to check if either end of the segment is equal to the hot pixel
+ * and if so, do not snap.
+ *
+ * Sep 22 2012 - MD - currently do need to snap to every vertex,
+ * since otherwise the testCollapse1 test in SnapRoundingTest fails.
+ */
+ if (parentEdge != null) {
+ if (ss == parentEdge &&
+ (startIndex == hotPixelVertexIndex
+ ))
+ return;
+ }
+ isNodeAdded = hotPixel.addSnappedNode(ss, startIndex);
+ }
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexSnapRounder.java b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexSnapRounder.java
new file mode 100644
index 0000000..d91cdf3
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/MCIndexSnapRounder.java
@@ -0,0 +1,156 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding.snapround;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.noding.InteriorIntersectionFinderAdder;
+import org.locationtech.jts.noding.MCIndexNoder;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.NodingValidator;
+import org.locationtech.jts.noding.SegmentString;
+
+/**
+ * Uses Snap Rounding to compute a rounded,
+ * fully noded arrangement from a set of {@link SegmentString}s.
+ * Implements the Snap Rounding technique described in
+ * papers by Hobby, Guibas & Marimont, and Goodrich et al.
+ * Snap Rounding assumes that all vertices lie on a uniform grid;
+ * hence the precision model of the input must be fixed precision,
+ * and all the input vertices must be rounded to that precision.
+ * <p>
+ * This implementation uses a monotone chains and a spatial index to
+ * speed up the intersection tests.
+ * <p>
+ * This implementation appears to be fully robust using an integer precision model.
+ * It will function with non-integer precision models, but the
+ * results are not 100% guaranteed to be correctly noded.
+ *
+ * @version 1.7
+ */
+public class MCIndexSnapRounder
+ implements Noder
+{
+ private final PrecisionModel pm;
+ private LineIntersector li;
+ private final double scaleFactor;
+ private MCIndexNoder noder;
+ private MCIndexPointSnapper pointSnapper;
+ private Collection nodedSegStrings;
+
+ public MCIndexSnapRounder(PrecisionModel pm) {
+ this.pm = pm;
+ li = new RobustLineIntersector();
+ li.setPrecisionModel(pm);
+ scaleFactor = pm.getScale();
+ }
+
+ public Collection getNodedSubstrings()
+ {
+ return NodedSegmentString.getNodedSubstrings(nodedSegStrings);
+ }
+
+ public void computeNodes(Collection inputSegmentStrings)
+ {
+ this.nodedSegStrings = inputSegmentStrings;
+ noder = new MCIndexNoder();
+ pointSnapper = new MCIndexPointSnapper(noder.getIndex());
+ snapRound(inputSegmentStrings, li);
+
+ // testing purposes only - remove in final version
+ //checkCorrectness(inputSegmentStrings);
+ }
+
+ private void checkCorrectness(Collection inputSegmentStrings)
+ {
+ Collection resultSegStrings = NodedSegmentString.getNodedSubstrings(inputSegmentStrings);
+ NodingValidator nv = new NodingValidator(resultSegStrings);
+ try {
+ nv.checkValid();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private void snapRound(Collection segStrings, LineIntersector li)
+ {
+ List intersections = findInteriorIntersections(segStrings, li);
+ computeIntersectionSnaps(intersections);
+ computeVertexSnaps(segStrings);
+ }
+
+ /**
+ * Computes all interior intersections in the collection of {@link SegmentString}s,
+ * and returns their {@link Coordinate}s.
+ *
+ * Does NOT node the segStrings.
+ *
+ * @return a list of Coordinates for the intersections
+ */
+ private List findInteriorIntersections(Collection segStrings, LineIntersector li)
+ {
+ InteriorIntersectionFinderAdder intFinderAdder = new InteriorIntersectionFinderAdder(li);
+ noder.setSegmentIntersector(intFinderAdder);
+ noder.computeNodes(segStrings);
+ return intFinderAdder.getInteriorIntersections();
+ }
+
+ /**
+ * Snaps segments to nodes created by segment intersections.
+ */
+ private void computeIntersectionSnaps(Collection snapPts)
+ {
+ for (Iterator it = snapPts.iterator(); it.hasNext(); ) {
+ Coordinate snapPt = (Coordinate) it.next();
+ HotPixel hotPixel = new HotPixel(snapPt, scaleFactor, li);
+ pointSnapper.snap(hotPixel);
+ }
+ }
+
+ /**
+ * Snaps segments to all vertices.
+ *
+ * @param edges the list of segment strings to snap together
+ */
+ public void computeVertexSnaps(Collection edges)
+ {
+ for (Iterator i0 = edges.iterator(); i0.hasNext(); ) {
+ NodedSegmentString edge0 = (NodedSegmentString) i0.next();
+ computeVertexSnaps(edge0);
+ }
+ }
+
+ /**
+ * Snaps segments to the vertices of a Segment String.
+ */
+ private void computeVertexSnaps(NodedSegmentString e)
+ {
+ Coordinate[] pts0 = e.getCoordinates();
+ for (int i = 0; i < pts0.length ; i++) {
+ HotPixel hotPixel = new HotPixel(pts0[i], scaleFactor, li);
+ boolean isNodeAdded = pointSnapper.snap(hotPixel, e, i);
+ // if a node is created for a vertex, that vertex must be noded too
+ if (isNodeAdded) {
+ e.addIntersection(pts0[i], i);
+ }
+ }
+}
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/SimpleSnapRounder.java b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/SimpleSnapRounder.java
new file mode 100644
index 0000000..7fea869
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/SimpleSnapRounder.java
@@ -0,0 +1,185 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.noding.snapround;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.noding.InteriorIntersectionFinderAdder;
+import org.locationtech.jts.noding.MCIndexNoder;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.NodingValidator;
+import org.locationtech.jts.noding.SegmentString;
+import org.locationtech.jts.noding.SinglePassNoder;
+
+/**
+ * Uses Snap Rounding to compute a rounded,
+ * fully noded arrangement from a set of {@link SegmentString}s.
+ * Implements the Snap Rounding technique described in
+ * the papers by Hobby, Guibas & Marimont, and Goodrich et al.
+ * Snap Rounding assumes that all vertices lie on a uniform grid;
+ * hence the precision model of the input must be fixed precision,
+ * and all the input vertices must be rounded to that precision.
+ * <p>
+ * This implementation uses simple iteration over the line segments.
+ * This is not the most efficient approach for large sets of segments.
+ * <p>
+ * This implementation appears to be fully robust using an integer precision model.
+ * It will function with non-integer precision models, but the
+ * results are not 100% guaranteed to be correctly noded.
+ *
+ * @version 1.7
+ */
+public class SimpleSnapRounder
+ implements Noder
+{
+ private final PrecisionModel pm;
+ private LineIntersector li;
+ private final double scaleFactor;
+ private Collection nodedSegStrings;
+
+ public SimpleSnapRounder(PrecisionModel pm) {
+ this.pm = pm;
+ li = new RobustLineIntersector();
+ li.setPrecisionModel(pm);
+ scaleFactor = pm.getScale();
+ }
+
+ /**
+ * @return a Collection of NodedSegmentStrings representing the substrings
+ *
+ */
+ public Collection getNodedSubstrings()
+ {
+ return NodedSegmentString.getNodedSubstrings(nodedSegStrings);
+ }
+
+ /**
+ * @param inputSegmentStrings a Collection of NodedSegmentStrings
+ */
+ public void computeNodes(Collection inputSegmentStrings)
+ {
+ this.nodedSegStrings = inputSegmentStrings;
+ snapRound(inputSegmentStrings, li);
+
+ // testing purposes only - remove in final version
+ //checkCorrectness(inputSegmentStrings);
+ }
+
+ private void checkCorrectness(Collection inputSegmentStrings)
+ {
+ Collection resultSegStrings = NodedSegmentString.getNodedSubstrings(inputSegmentStrings);
+ NodingValidator nv = new NodingValidator(resultSegStrings);
+ try {
+ nv.checkValid();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ private void snapRound(Collection segStrings, LineIntersector li)
+ {
+ List intersections = findInteriorIntersections(segStrings, li);
+ computeSnaps(segStrings, intersections);
+ computeVertexSnaps(segStrings);
+ }
+
+ /**
+ * Computes all interior intersections in the collection of {@link SegmentString}s,
+ * and returns their {@link Coordinate}s.
+ *
+ * Does NOT node the segStrings.
+ *
+ * @return a list of Coordinates for the intersections
+ */
+ private List findInteriorIntersections(Collection segStrings, LineIntersector li)
+ {
+ InteriorIntersectionFinderAdder intFinderAdder = new InteriorIntersectionFinderAdder(li);
+ SinglePassNoder noder = new MCIndexNoder();
+ noder.setSegmentIntersector(intFinderAdder);
+ noder.computeNodes(segStrings);
+ return intFinderAdder.getInteriorIntersections();
+ }
+
+
+ /**
+ * Computes nodes introduced as a result of snapping segments to snap points (hot pixels)
+ * @param li
+ */
+ private void computeSnaps(Collection segStrings, Collection snapPts)
+ {
+ for (Iterator i0 = segStrings.iterator(); i0.hasNext(); ) {
+ NodedSegmentString ss = (NodedSegmentString) i0.next();
+ computeSnaps(ss, snapPts);
+ }
+ }
+
+ private void computeSnaps(NodedSegmentString ss, Collection snapPts)
+ {
+ for (Iterator it = snapPts.iterator(); it.hasNext(); ) {
+ Coordinate snapPt = (Coordinate) it.next();
+ HotPixel hotPixel = new HotPixel(snapPt, scaleFactor, li);
+ for (int i = 0; i < ss.size() - 1; i++) {
+ hotPixel.addSnappedNode(ss, i);
+ }
+ }
+ }
+
+ /**
+ * Computes nodes introduced as a result of
+ * snapping segments to vertices of other segments
+ *
+ * @param edges the list of segment strings to snap together
+ */
+ public void computeVertexSnaps(Collection edges)
+ {
+ for (Iterator i0 = edges.iterator(); i0.hasNext(); ) {
+ NodedSegmentString edge0 = (NodedSegmentString) i0.next();
+ for (Iterator i1 = edges.iterator(); i1.hasNext(); ) {
+ NodedSegmentString edge1 = (NodedSegmentString) i1.next();
+ computeVertexSnaps(edge0, edge1);
+ }
+ }
+ }
+
+ /**
+ * Performs a brute-force comparison of every segment in each {@link SegmentString}.
+ * This has n^2 performance.
+ */
+ private void computeVertexSnaps(NodedSegmentString e0, NodedSegmentString e1)
+ {
+ Coordinate[] pts0 = e0.getCoordinates();
+ Coordinate[] pts1 = e1.getCoordinates();
+ for (int i0 = 0; i0 < pts0.length - 1; i0++) {
+ HotPixel hotPixel = new HotPixel(pts0[i0], scaleFactor, li);
+ for (int i1 = 0; i1 < pts1.length - 1; i1++) {
+ // don't snap a vertex to itself
+ if (e0 == e1) {
+ if (i0 == i1) continue;
+ }
+ //System.out.println("trying " + pts0[i0] + " against " + pts1[i1] + pts1[i1 + 1]);
+ boolean isNodeAdded = hotPixel.addSnappedNode(e1, i1);
+ // if a node is created for a vertex, that vertex must be noded too
+ if (isNodeAdded) {
+ e0.addIntersection(pts0[i0], i0);
+ }
+ }
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/noding/snapround/package.html b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/package.html
new file mode 100644
index 0000000..a25101d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/noding/snapround/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes to implement the Snap Rounding algorithm for noding linestrings.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/BoundaryOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/BoundaryOp.java
new file mode 100644
index 0000000..29a1409
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/BoundaryOp.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.Point;
+
+/**
+ * Computes the boundary of a {@link Geometry}.
+ * Allows specifying the {@link BoundaryNodeRule} to be used.
+ * This operation will always return a {@link Geometry} of the appropriate
+ * dimension for the boundary (even if the input geometry is empty).
+ * The boundary of zero-dimensional geometries (Points) is
+ * always the empty {@link GeometryCollection}.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+
+public class BoundaryOp
+{
+ public static Geometry getBoundary(Geometry g)
+ {
+ BoundaryOp bop = new BoundaryOp(g);
+ return bop.getBoundary();
+ }
+
+ public static Geometry getBoundary(Geometry g, BoundaryNodeRule bnRule)
+ {
+ BoundaryOp bop = new BoundaryOp(g, bnRule);
+ return bop.getBoundary();
+ }
+
+ private Geometry geom;
+ private GeometryFactory geomFact;
+ private BoundaryNodeRule bnRule;
+
+ public BoundaryOp(Geometry geom)
+ {
+ this(geom, BoundaryNodeRule.MOD2_BOUNDARY_RULE);
+ }
+
+ public BoundaryOp(Geometry geom, BoundaryNodeRule bnRule)
+ {
+ this.geom = geom;
+ geomFact = geom.getFactory();
+ this.bnRule = bnRule;
+ }
+
+ public Geometry getBoundary()
+ {
+ if (geom instanceof LineString) return boundaryLineString((LineString) geom);
+ if (geom instanceof MultiLineString) return boundaryMultiLineString((MultiLineString) geom);
+ return geom.getBoundary();
+ }
+
+ private MultiPoint getEmptyMultiPoint()
+ {
+ return geomFact.createMultiPoint();
+ }
+
+ private Geometry boundaryMultiLineString(MultiLineString mLine)
+ {
+ if (geom.isEmpty()) {
+ return getEmptyMultiPoint();
+ }
+
+ Coordinate[] bdyPts = computeBoundaryCoordinates(mLine);
+
+ // return Point or MultiPoint
+ if (bdyPts.length == 1) {
+ return geomFact.createPoint(bdyPts[0]);
+ }
+ // this handles 0 points case as well
+ return geomFact.createMultiPointFromCoords(bdyPts);
+ }
+
+/*
+// MD - superseded
+ private Coordinate[] computeBoundaryFromGeometryGraph(MultiLineString mLine)
+ {
+ GeometryGraph g = new GeometryGraph(0, mLine, bnRule);
+ Coordinate[] bdyPts = g.getBoundaryPoints();
+ return bdyPts;
+ }
+*/
+
+ private Map endpointMap;
+
+ private Coordinate[] computeBoundaryCoordinates(MultiLineString mLine)
+ {
+ List bdyPts = new ArrayList();
+ endpointMap = new TreeMap();
+ for (int i = 0; i < mLine.getNumGeometries(); i++) {
+ LineString line = (LineString) mLine.getGeometryN(i);
+ if (line.getNumPoints() == 0)
+ continue;
+ addEndpoint(line.getCoordinateN(0));
+ addEndpoint(line.getCoordinateN(line.getNumPoints() - 1));
+ }
+
+ for (Iterator it = endpointMap.entrySet().iterator(); it.hasNext(); ) {
+ Map.Entry entry = (Map.Entry) it.next();
+ Counter counter = (Counter) entry.getValue();
+ int valence = counter.count;
+ if (bnRule.isInBoundary(valence)) {
+ bdyPts.add(entry.getKey());
+ }
+ }
+
+ return CoordinateArrays.toCoordinateArray(bdyPts);
+ }
+
+ private void addEndpoint(Coordinate pt)
+ {
+ Counter counter = (Counter) endpointMap.get(pt);
+ if (counter == null) {
+ counter = new Counter();
+ endpointMap.put(pt, counter);
+ }
+ counter.count++;
+ }
+
+ private Geometry boundaryLineString(LineString line)
+ {
+ if (geom.isEmpty()) {
+ return getEmptyMultiPoint();
+ }
+
+ if (line.isClosed()) {
+ // check whether endpoints of valence 2 are on the boundary or not
+ boolean closedEndpointOnBoundary = bnRule.isInBoundary(2);
+ if (closedEndpointOnBoundary) {
+ return line.getStartPoint();
+ }
+ else {
+ return geomFact.createMultiPoint();
+ }
+ }
+ return geomFact.createMultiPoint(new Point[]{
+ line.getStartPoint(),
+ line.getEndPoint()
+ });
+ }
+}
+
+/**
+ * Stores an integer count, for use as a Map entry.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+class Counter
+{
+ /**
+ * The value of the count
+ */
+ int count;
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/GeometryGraphOperation.java b/modules/core/src/main/java/org/locationtech/jts/operation/GeometryGraphOperation.java
new file mode 100644
index 0000000..3f1a028
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/GeometryGraphOperation.java
@@ -0,0 +1,73 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+
+/**
+ * The base class for operations that require {@link GeometryGraph}s.
+ *
+ * @version 1.7
+ */
+public class GeometryGraphOperation
+{
+ protected final LineIntersector li = new RobustLineIntersector();
+ protected PrecisionModel resultPrecisionModel;
+
+ /**
+ * The operation args into an array so they can be accessed by index
+ */
+ protected GeometryGraph[] arg; // the arg(s) of the operation
+
+ public GeometryGraphOperation(Geometry g0, Geometry g1)
+ {
+ this(g0, g1,
+ BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE
+// BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE
+ );
+ }
+
+ public GeometryGraphOperation(Geometry g0, Geometry g1, BoundaryNodeRule boundaryNodeRule)
+ {
+ // use the most precise model for the result
+ if (g0.getPrecisionModel().compareTo(g1.getPrecisionModel()) >= 0)
+ setComputationPrecision(g0.getPrecisionModel());
+ else
+ setComputationPrecision(g1.getPrecisionModel());
+
+ arg = new GeometryGraph[2];
+ arg[0] = new GeometryGraph(0, g0, boundaryNodeRule);
+ arg[1] = new GeometryGraph(1, g1, boundaryNodeRule);
+ }
+
+ public GeometryGraphOperation(Geometry g0) {
+ setComputationPrecision(g0.getPrecisionModel());
+
+ arg = new GeometryGraph[1];
+ arg[0] = new GeometryGraph(0, g0);;
+ }
+
+ public Geometry getArgGeometry(int i) { return arg[i].getGeometry(); }
+
+ protected void setComputationPrecision(PrecisionModel pm)
+ {
+ resultPrecisionModel = pm;
+ li.setPrecisionModel(resultPrecisionModel);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/IsSimpleOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/IsSimpleOp.java
new file mode 100644
index 0000000..7be4b02
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/IsSimpleOp.java
@@ -0,0 +1,345 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeIntersection;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.index.SegmentIntersector;
+
+/**
+ * Tests whether a <code>Geometry</code> is simple.
+ * In general, the SFS specification of simplicity
+ * follows the rule:
+ * <ul>
+ * <li> A Geometry is simple if and only if the only self-intersections are at
+ * boundary points.
+ * </ul>
+ * <p>
+ * Simplicity is defined for each {@link Geometry} type as follows:
+ * <ul>
+ * <li><b>Polygonal</b> geometries are simple by definition, so
+ * <code>isSimple</code> trivially returns true.
+ * (Note: this means that <tt>isSimple</tt> cannot be used to test
+ * for (invalid) self-intersections in <tt>Polygon</tt>s.
+ * In order to check if a <tt>Polygonal</tt> geometry has self-intersections,
+ * use {@link Geometry#isValid()}).
+ * <li><b>Linear</b> geometries are simple iff they do <i>not</i> self-intersect at interior points
+ * (i.e. points other than boundary points).
+ * This is equivalent to saying that no two linear components satisfy the SFS {@link Geometry#touches(Geometry)}
+ * predicate.
+ * <li><b>Zero-dimensional (point)</b> geometries are simple if and only if they have no
+ * repeated points.
+ * <li><b>Empty</b> geometries are <i>always</i> simple, by definition
+ * </ul>
+ * For {@link Lineal} geometries the evaluation of simplicity
+ * can be customized by supplying a {@link BoundaryNodeRule}
+ * to define how boundary points are determined.
+ * The default is the SFS-standard {@link BoundaryNodeRule#MOD2_BOUNDARY_RULE}.
+ * Note that under the <tt>Mod-2</tt> rule, closed <tt>LineString</tt>s (rings)
+ * will never satisfy the <tt>touches</tt> predicate at their endpoints, since these are
+ * interior points, not boundary points.
+ * If it is required to test whether a set of <code>LineString</code>s touch
+ * only at their endpoints, use <code>IsSimpleOp</code> with {@link BoundaryNodeRule#ENDPOINT_BOUNDARY_RULE}.
+ * For example, this can be used to validate that a set of lines form a topologically valid
+ * linear network.
+ *
+ * @see BoundaryNodeRule
+ *
+ * @version 1.7
+ */
+public class IsSimpleOp
+{
+ private Geometry inputGeom;
+ private boolean isClosedEndpointsInInterior = true;
+ private Coordinate nonSimpleLocation = null;
+
+ /**
+ * Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule
+ *
+ * @deprecated use IsSimpleOp(Geometry)
+ */
+ public IsSimpleOp() {
+ }
+
+ /**
+ * Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule
+ *
+ * @param geom the geometry to test
+ */
+ public IsSimpleOp(Geometry geom) {
+ this.inputGeom = geom;
+ }
+
+ /**
+ * Creates a simplicity checker using a given {@link BoundaryNodeRule}
+ *
+ * @param geom the geometry to test
+ * @param boundaryNodeRule the rule to use.
+ */
+ public IsSimpleOp(Geometry geom, BoundaryNodeRule boundaryNodeRule)
+ {
+ this.inputGeom = geom;
+ isClosedEndpointsInInterior = ! boundaryNodeRule.isInBoundary(2);
+ }
+
+ /**
+ * Tests whether the geometry is simple.
+ *
+ * @return true if the geometry is simple
+ */
+ public boolean isSimple()
+ {
+ nonSimpleLocation = null;
+ return computeSimple(inputGeom);
+ }
+
+ private boolean computeSimple(Geometry geom)
+ {
+ nonSimpleLocation = null;
+ if (geom.isEmpty()) return true;
+ if (geom instanceof LineString) return isSimpleLinearGeometry(geom);
+ if (geom instanceof MultiLineString) return isSimpleLinearGeometry(geom);
+ if (geom instanceof MultiPoint) return isSimpleMultiPoint((MultiPoint) geom);
+ if (geom instanceof Polygonal) return isSimplePolygonal(geom);
+ if (geom instanceof GeometryCollection) return isSimpleGeometryCollection(geom);
+ // all other geometry types are simple by definition
+ return true;
+ }
+
+ /**
+ * Gets a coordinate for the location where the geometry
+ * fails to be simple.
+ * (i.e. where it has a non-boundary self-intersection).
+ * {@link #isSimple} must be called before this method is called.
+ *
+ * @return a coordinate for the location of the non-boundary self-intersection
+ * or null if the geometry is simple
+ */
+ public Coordinate getNonSimpleLocation()
+ {
+ return nonSimpleLocation;
+ }
+
+ /**
+ * Reports whether a {@link LineString} is simple.
+ *
+ * @param geom the lineal geometry to test
+ * @return true if the geometry is simple
+ * @deprecated use isSimple()
+ */
+ public boolean isSimple(LineString geom)
+ {
+ return isSimpleLinearGeometry(geom);
+ }
+
+ /**
+ * Reports whether a {@link MultiLineString} geometry is simple.
+ *
+ * @param geom the lineal geometry to test
+ * @return true if the geometry is simple
+ * @deprecated use isSimple()
+ */
+ public boolean isSimple(MultiLineString geom)
+ {
+ return isSimpleLinearGeometry(geom);
+ }
+
+ /**
+ * A MultiPoint is simple iff it has no repeated points
+ * @deprecated use isSimple()
+ */
+ public boolean isSimple(MultiPoint mp)
+ {
+ return isSimpleMultiPoint(mp);
+ }
+
+ private boolean isSimpleMultiPoint(MultiPoint mp)
+ {
+ if (mp.isEmpty()) return true;
+ Set points = new TreeSet();
+ for (int i = 0; i < mp.getNumGeometries(); i++) {
+ Point pt = (Point) mp.getGeometryN(i);
+ Coordinate p = pt.getCoordinate();
+ if (points.contains(p)) {
+ nonSimpleLocation = p;
+ return false;
+ }
+ points.add(p);
+ }
+ return true;
+ }
+
+ /**
+ * Computes simplicity for polygonal geometries.
+ * Polygonal geometries are simple if and only if
+ * all of their component rings are simple.
+ *
+ * @param geom a Polygonal geometry
+ * @return true if the geometry is simple
+ */
+ private boolean isSimplePolygonal(Geometry geom)
+ {
+ List rings = LinearComponentExtracter.getLines(geom);
+ for (Iterator i = rings.iterator(); i.hasNext(); ) {
+ LinearRing ring = (LinearRing) i.next();
+ if (! isSimpleLinearGeometry(ring))
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Semantics for GeometryCollection is
+ * simple iff all components are simple.
+ *
+ * @param geom
+ * @return true if the geometry is simple
+ */
+ private boolean isSimpleGeometryCollection(Geometry geom)
+ {
+ for (int i = 0; i < geom.getNumGeometries(); i++ ) {
+ Geometry comp = geom.getGeometryN(i);
+ if (! computeSimple(comp))
+ return false;
+ }
+ return true;
+ }
+
+ private boolean isSimpleLinearGeometry(Geometry geom)
+ {
+ if (geom.isEmpty()) return true;
+ GeometryGraph graph = new GeometryGraph(0, geom);
+ LineIntersector li = new RobustLineIntersector();
+ SegmentIntersector si = graph.computeSelfNodes(li, true);
+ // if no self-intersection, must be simple
+ if (! si.hasIntersection()) return true;
+ if (si.hasProperIntersection()) {
+ nonSimpleLocation = si.getProperIntersectionPoint();
+ return false;
+ }
+ if (hasNonEndpointIntersection(graph)) return false;
+ if (isClosedEndpointsInInterior) {
+ if (hasClosedEndpointIntersection(graph)) return false;
+ }
+ return true;
+ }
+
+ /**
+ * For all edges, check if there are any intersections which are NOT at an endpoint.
+ * The Geometry is not simple if there are intersections not at endpoints.
+ */
+ private boolean hasNonEndpointIntersection(GeometryGraph graph)
+ {
+ for (Iterator i = graph.getEdgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ int maxSegmentIndex = e.getMaximumSegmentIndex();
+ for (Iterator eiIt = e.getEdgeIntersectionList().iterator(); eiIt.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) eiIt.next();
+ if (! ei.isEndPoint(maxSegmentIndex)) {
+ nonSimpleLocation = ei.getCoordinate();
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static class EndpointInfo {
+ Coordinate pt;
+ boolean isClosed;
+ int degree;
+
+ public EndpointInfo(Coordinate pt)
+ {
+ this.pt = pt;
+ isClosed = false;
+ degree = 0;
+ }
+
+ public Coordinate getCoordinate() { return pt; }
+
+ public void addEndpoint(boolean isClosed)
+ {
+ degree++;
+ this.isClosed |= isClosed;
+ }
+ }
+
+ /**
+ * Tests that no edge intersection is the endpoint of a closed line.
+ * This ensures that closed lines are not touched at their endpoint,
+ * which is an interior point according to the Mod-2 rule
+ * To check this we compute the degree of each endpoint.
+ * The degree of endpoints of closed lines
+ * must be exactly 2.
+ */
+ private boolean hasClosedEndpointIntersection(GeometryGraph graph)
+ {
+ Map endPoints = new TreeMap();
+ for (Iterator i = graph.getEdgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ int maxSegmentIndex = e.getMaximumSegmentIndex();
+ boolean isClosed = e.isClosed();
+ Coordinate p0 = e.getCoordinate(0);
+ addEndpoint(endPoints, p0, isClosed);
+ Coordinate p1 = e.getCoordinate(e.getNumPoints() - 1);
+ addEndpoint(endPoints, p1, isClosed);
+ }
+
+ for (Iterator i = endPoints.values().iterator(); i.hasNext(); ) {
+ EndpointInfo eiInfo = (EndpointInfo) i.next();
+ if (eiInfo.isClosed && eiInfo.degree != 2) {
+ nonSimpleLocation = eiInfo.getCoordinate();
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Add an endpoint to the map, creating an entry for it if none exists
+ */
+ private void addEndpoint(Map endPoints, Coordinate p, boolean isClosed)
+ {
+ EndpointInfo eiInfo = (EndpointInfo) endPoints.get(p);
+ if (eiInfo == null) {
+ eiInfo = new EndpointInfo(p);
+ endPoints.put(p, eiInfo);
+ }
+ eiInfo.addEndpoint(isClosed);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferBuilder.java
new file mode 100644
index 0000000..52c29b2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferBuilder.java
@@ -0,0 +1,325 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeList;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+import org.locationtech.jts.geomgraph.Position;
+import org.locationtech.jts.noding.IntersectionAdder;
+import org.locationtech.jts.noding.MCIndexNoder;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.SegmentString;
+import org.locationtech.jts.operation.overlay.OverlayNodeFactory;
+import org.locationtech.jts.operation.overlay.PolygonBuilder;
+
+
+
+/**
+ * Builds the buffer geometry for a given input geometry and precision model.
+ * Allows setting the level of approximation for circular arcs,
+ * and the precision model in which to carry out the computation.
+ * <p>
+ * When computing buffers in floating point double-precision
+ * it can happen that the process of iterated noding can fail to converge (terminate).
+ * In this case a {@link TopologyException} will be thrown.
+ * Retrying the computation in a fixed precision
+ * can produce more robust results.
+ *
+ * @version 1.7
+ */
+class BufferBuilder
+{
+ /**
+ * Compute the change in depth as an edge is crossed from R to L
+ */
+ private static int depthDelta(Label label)
+ {
+ int lLoc = label.getLocation(0, Position.LEFT);
+ int rLoc = label.getLocation(0, Position.RIGHT);
+ if (lLoc == Location.INTERIOR && rLoc == Location.EXTERIOR)
+ return 1;
+ else if (lLoc == Location.EXTERIOR && rLoc == Location.INTERIOR)
+ return -1;
+ return 0;
+ }
+
+ private BufferParameters bufParams;
+
+ private PrecisionModel workingPrecisionModel;
+ private Noder workingNoder;
+ private GeometryFactory geomFact;
+ private PlanarGraph graph;
+ private EdgeList edgeList = new EdgeList();
+
+ /**
+ * Creates a new BufferBuilder
+ */
+ public BufferBuilder(BufferParameters bufParams)
+ {
+ this.bufParams = bufParams;
+ }
+
+ /**
+ * Sets the precision model to use during the curve computation and noding,
+ * if it is different to the precision model of the Geometry.
+ * If the precision model is less than the precision of the Geometry precision model,
+ * the Geometry must have previously been rounded to that precision.
+ *
+ * @param pm the precision model to use
+ */
+ public void setWorkingPrecisionModel(PrecisionModel pm)
+ {
+ workingPrecisionModel = pm;
+ }
+
+ /**
+ * Sets the {@link Noder} to use during noding.
+ * This allows choosing fast but non-robust noding, or slower
+ * but robust noding.
+ *
+ * @param noder the noder to use
+ */
+ public void setNoder(Noder noder) { workingNoder = noder; }
+
+
+ public Geometry buffer(Geometry g, double distance)
+ {
+ PrecisionModel precisionModel = workingPrecisionModel;
+ if (precisionModel == null)
+ precisionModel = g.getPrecisionModel();
+
+ // factory must be the same as the one used by the input
+ geomFact = g.getFactory();
+
+ OffsetCurveBuilder curveBuilder = new OffsetCurveBuilder(precisionModel, bufParams);
+
+ OffsetCurveSetBuilder curveSetBuilder = new OffsetCurveSetBuilder(g, distance, curveBuilder);
+
+ List bufferSegStrList = curveSetBuilder.getCurves();
+
+ // short-circuit test
+ if (bufferSegStrList.size() <= 0) {
+ return createEmptyResultGeometry();
+ }
+
+//BufferDebug.runCount++;
+//String filename = "run" + BufferDebug.runCount + "_curves";
+//System.out.println("saving " + filename);
+//BufferDebug.saveEdges(bufferEdgeList, filename);
+// DEBUGGING ONLY
+//WKTWriter wktWriter = new WKTWriter();
+//Debug.println("Rings: " + wktWriter.write(convertSegStrings(bufferSegStrList.iterator())));
+//wktWriter.setMaxCoordinatesPerLine(10);
+//System.out.println(wktWriter.writeFormatted(convertSegStrings(bufferSegStrList.iterator())));
+
+ computeNodedEdges(bufferSegStrList, precisionModel);
+ graph = new PlanarGraph(new OverlayNodeFactory());
+ graph.addEdges(edgeList.getEdges());
+
+ List subgraphList = createSubgraphs(graph);
+ PolygonBuilder polyBuilder = new PolygonBuilder(geomFact);
+ buildSubgraphs(subgraphList, polyBuilder);
+ List resultPolyList = polyBuilder.getPolygons();
+
+ // just in case...
+ if (resultPolyList.size() <= 0) {
+ return createEmptyResultGeometry();
+ }
+
+ Geometry resultGeom = geomFact.buildGeometry(resultPolyList);
+ return resultGeom;
+ }
+
+ private Noder getNoder(PrecisionModel precisionModel)
+ {
+ if (workingNoder != null) return workingNoder;
+
+ // otherwise use a fast (but non-robust) noder
+ MCIndexNoder noder = new MCIndexNoder();
+ LineIntersector li = new RobustLineIntersector();
+ li.setPrecisionModel(precisionModel);
+ noder.setSegmentIntersector(new IntersectionAdder(li));
+// Noder noder = new IteratedNoder(precisionModel);
+ return noder;
+// Noder noder = new SimpleSnapRounder(precisionModel);
+// Noder noder = new MCIndexSnapRounder(precisionModel);
+// Noder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)),
+// precisionModel.getScale());
+ }
+
+ private void computeNodedEdges(List bufferSegStrList, PrecisionModel precisionModel)
+ {
+ Noder noder = getNoder(precisionModel);
+ noder.computeNodes(bufferSegStrList);
+ Collection nodedSegStrings = noder.getNodedSubstrings();
+// DEBUGGING ONLY
+//BufferDebug.saveEdges(nodedEdges, "run" + BufferDebug.runCount + "_nodedEdges");
+
+ for (Iterator i = nodedSegStrings.iterator(); i.hasNext(); ) {
+ SegmentString segStr = (SegmentString) i.next();
+
+ /**
+ * Discard edges which have zero length,
+ * since they carry no information and cause problems with topology building
+ */
+ Coordinate[] pts = segStr.getCoordinates();
+ if (pts.length == 2 && pts[0].equals2D(pts[1]))
+ continue;
+
+ Label oldLabel = (Label) segStr.getData();
+ Edge edge = new Edge(segStr.getCoordinates(), new Label(oldLabel));
+ insertUniqueEdge(edge);
+ }
+ //saveEdges(edgeList.getEdges(), "run" + runCount + "_collapsedEdges");
+ }
+
+
+ /**
+ * Inserted edges are checked to see if an identical edge already exists.
+ * If so, the edge is not inserted, but its label is merged
+ * with the existing edge.
+ */
+ protected void insertUniqueEdge(Edge e)
+ {
+//<FIX> MD 8 Oct 03 speed up identical edge lookup
+ // fast lookup
+ Edge existingEdge = edgeList.findEqualEdge(e);
+
+ // If an identical edge already exists, simply update its label
+ if (existingEdge != null) {
+ Label existingLabel = existingEdge.getLabel();
+
+ Label labelToMerge = e.getLabel();
+ // check if new edge is in reverse direction to existing edge
+ // if so, must flip the label before merging it
+ if (! existingEdge.isPointwiseEqual(e)) {
+ labelToMerge = new Label(e.getLabel());
+ labelToMerge.flip();
+ }
+ existingLabel.merge(labelToMerge);
+
+ // compute new depth delta of sum of edges
+ int mergeDelta = depthDelta(labelToMerge);
+ int existingDelta = existingEdge.getDepthDelta();
+ int newDelta = existingDelta + mergeDelta;
+ existingEdge.setDepthDelta(newDelta);
+ }
+ else { // no matching existing edge was found
+ // add this new edge to the list of edges in this graph
+ //e.setName(name + edges.size());
+ edgeList.add(e);
+ e.setDepthDelta(depthDelta(e.getLabel()));
+ }
+ }
+
+ private List createSubgraphs(PlanarGraph graph)
+ {
+ List subgraphList = new ArrayList();
+ for (Iterator i = graph.getNodes().iterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (! node.isVisited()) {
+ BufferSubgraph subgraph = new BufferSubgraph();
+ subgraph.create(node);
+ subgraphList.add(subgraph);
+ }
+ }
+ /**
+ * Sort the subgraphs in descending order of their rightmost coordinate.
+ * This ensures that when the Polygons for the subgraphs are built,
+ * subgraphs for shells will have been built before the subgraphs for
+ * any holes they contain.
+ */
+ Collections.sort(subgraphList, Collections.reverseOrder());
+ return subgraphList;
+ }
+
+ /**
+ * Completes the building of the input subgraphs by depth-labelling them,
+ * and adds them to the PolygonBuilder.
+ * The subgraph list must be sorted in rightmost-coordinate order.
+ *
+ * @param subgraphList the subgraphs to build
+ * @param polyBuilder the PolygonBuilder which will build the final polygons
+ */
+ private void buildSubgraphs(List subgraphList, PolygonBuilder polyBuilder)
+ {
+ List processedGraphs = new ArrayList();
+ for (Iterator i = subgraphList.iterator(); i.hasNext(); ) {
+ BufferSubgraph subgraph = (BufferSubgraph) i.next();
+ Coordinate p = subgraph.getRightmostCoordinate();
+// int outsideDepth = 0;
+// if (polyBuilder.containsPoint(p))
+// outsideDepth = 1;
+ SubgraphDepthLocater locater = new SubgraphDepthLocater(processedGraphs);
+ int outsideDepth = locater.getDepth(p);
+// try {
+ subgraph.computeDepth(outsideDepth);
+// }
+// catch (RuntimeException ex) {
+// // debugging only
+// //subgraph.saveDirEdges();
+// throw ex;
+// }
+ subgraph.findResultEdges();
+ processedGraphs.add(subgraph);
+ polyBuilder.add(subgraph.getDirectedEdges(), subgraph.getNodes());
+ }
+ }
+
+ private static Geometry convertSegStrings(Iterator it)
+ {
+ GeometryFactory fact = new GeometryFactory();
+ List lines = new ArrayList();
+ while (it.hasNext()) {
+ SegmentString ss = (SegmentString) it.next();
+ LineString line = fact.createLineString(ss.getCoordinates());
+ lines.add(line);
+ }
+ return fact.buildGeometry(lines);
+ }
+
+ /**
+ * Gets the standard result for an empty buffer.
+ * Since buffer always returns a polygonal result,
+ * this is chosen to be an empty polygon.
+ *
+ * @return the empty result geometry
+ */
+ private Geometry createEmptyResultGeometry()
+ {
+ Geometry emptyGeom = geomFact.createPolygon();
+ return emptyGeom;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferInputLineSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferInputLineSimplifier.java
new file mode 100644
index 0000000..02392ef
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferInputLineSimplifier.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+
+/**
+ * Simplifies a buffer input line to
+ * remove concavities with shallow depth.
+ * <p>
+ * The most important benefit of doing this
+ * is to reduce the number of points and the complexity of
+ * shape which will be buffered.
+ * It also reduces the risk of gores created by
+ * the quantized fillet arcs (although this issue
+ * should be eliminated in any case by the
+ * offset curve generation logic).
+ * <p>
+ * A key aspect of the simplification is that it
+ * affects inside (concave or inward) corners only.
+ * Convex (outward) corners are preserved, since they
+ * are required to ensure that the generated buffer curve
+ * lies at the correct distance from the input geometry.
+ * <p>
+ * Another important heuristic used is that the end segments
+ * of the input are never simplified. This ensures that
+ * the client buffer code is able to generate end caps faithfully.
+ * <p>
+ * No attempt is made to avoid self-intersections in the output.
+ * This is acceptable for use for generating a buffer offset curve,
+ * since the buffer algorithm is insensitive to invalid polygonal
+ * geometry. However,
+ * this means that this algorithm
+ * cannot be used as a general-purpose polygon simplification technique.
+ *
+ * @author Martin Davis
+ *
+ */
+public class BufferInputLineSimplifier
+{
+ /**
+ * Simplify the input coordinate list.
+ * If the distance tolerance is positive,
+ * concavities on the LEFT side of the line are simplified.
+ * If the supplied distance tolerance is negative,
+ * concavities on the RIGHT side of the line are simplified.
+ *
+ * @param inputLine the coordinate list to simplify
+ * @param distanceTol simplification distance tolerance to use
+ * @return the simplified coordinate list
+ */
+ public static Coordinate[] simplify(Coordinate[] inputLine, double distanceTol)
+ {
+ BufferInputLineSimplifier simp = new BufferInputLineSimplifier(inputLine);
+ return simp.simplify(distanceTol);
+ }
+
+ private static final int INIT = 0;
+ private static final int DELETE = 1;
+ private static final int KEEP = 1;
+
+
+ private Coordinate[] inputLine;
+ private double distanceTol;
+ private byte[] isDeleted;
+ private int angleOrientation = Orientation.COUNTERCLOCKWISE;
+
+ public BufferInputLineSimplifier(Coordinate[] inputLine) {
+ this.inputLine = inputLine;
+ }
+
+ /**
+ * Simplify the input coordinate list.
+ * If the distance tolerance is positive,
+ * concavities on the LEFT side of the line are simplified.
+ * If the supplied distance tolerance is negative,
+ * concavities on the RIGHT side of the line are simplified.
+ *
+ * @param distanceTol simplification distance tolerance to use
+ * @return the simplified coordinate list
+ */
+ public Coordinate[] simplify(double distanceTol)
+ {
+ this.distanceTol = Math.abs(distanceTol);
+ if (distanceTol < 0)
+ angleOrientation = Orientation.CLOCKWISE;
+
+ // rely on fact that boolean array is filled with false value
+ isDeleted = new byte[inputLine.length];
+
+ boolean isChanged = false;
+ do {
+ isChanged = deleteShallowConcavities();
+ } while (isChanged);
+
+ return collapseLine();
+ }
+
+ /**
+ * Uses a sliding window containing 3 vertices to detect shallow angles
+ * in which the middle vertex can be deleted, since it does not
+ * affect the shape of the resulting buffer in a significant way.
+ * @return
+ */
+ private boolean deleteShallowConcavities()
+ {
+ /**
+ * Do not simplify end line segments of the line string.
+ * This ensures that end caps are generated consistently.
+ */
+ int index = 1;
+ int maxIndex = inputLine.length - 1;
+
+ int midIndex = findNextNonDeletedIndex(index);
+ int lastIndex = findNextNonDeletedIndex(midIndex);
+
+ boolean isChanged = false;
+ while (lastIndex < inputLine.length) {
+ // test triple for shallow concavity
+ boolean isMiddleVertexDeleted = false;
+ if (isDeletable(index, midIndex, lastIndex,
+ distanceTol)) {
+ isDeleted[midIndex] = DELETE;
+ isMiddleVertexDeleted = true;
+ isChanged = true;
+ }
+ // move simplification window forward
+ if (isMiddleVertexDeleted)
+ index = lastIndex;
+ else
+ index = midIndex;
+
+ midIndex = findNextNonDeletedIndex(index);
+ lastIndex = findNextNonDeletedIndex(midIndex);
+ }
+ return isChanged;
+ }
+
+ /**
+ * Finds the next non-deleted index, or the end of the point array if none
+ * @param index
+ * @return the next non-deleted index, if any
+ * or inputLine.length if there are no more non-deleted indices
+ */
+ private int findNextNonDeletedIndex(int index)
+ {
+ int next = index + 1;
+ while (next < inputLine.length && isDeleted[next] == DELETE)
+ next++;
+ return next;
+ }
+
+ private Coordinate[] collapseLine()
+ {
+ CoordinateList coordList = new CoordinateList();
+ for (int i = 0; i < inputLine.length; i++) {
+ if (isDeleted[i] != DELETE)
+ coordList.add(inputLine[i]);
+ }
+// if (coordList.size() < inputLine.length) System.out.println("Simplified " + (inputLine.length - coordList.size()) + " pts");
+ return coordList.toCoordinateArray();
+ }
+
+ private boolean isDeletable(int i0, int i1, int i2, double distanceTol)
+ {
+ Coordinate p0 = inputLine[i0];
+ Coordinate p1 = inputLine[i1];
+ Coordinate p2 = inputLine[i2];
+
+ if (! isConcave(p0, p1, p2)) return false;
+ if (! isShallow(p0, p1, p2, distanceTol)) return false;
+
+ // MD - don't use this heuristic - it's too restricting
+// if (p0.distance(p2) > distanceTol) return false;
+
+ return isShallowSampled(p0, p1, i0, i2, distanceTol);
+ }
+
+ private boolean isShallowConcavity(Coordinate p0, Coordinate p1, Coordinate p2, double distanceTol)
+ {
+ int orientation = Orientation.index(p0, p1, p2);
+ boolean isAngleToSimplify = (orientation == angleOrientation);
+ if (! isAngleToSimplify)
+ return false;
+
+ double dist = Distance.pointToSegment(p1, p0, p2);
+ return dist < distanceTol;
+ }
+
+ private static final int NUM_PTS_TO_CHECK = 10;
+
+ /**
+ * Checks for shallowness over a sample of points in the given section.
+ * This helps prevents the simplification from incrementally
+ * "skipping" over points which are in fact non-shallow.
+ *
+ * @param p0 start coordinate of section
+ * @param p2 end coordinate of section
+ * @param i0 start index of section
+ * @param i2 end index of section
+ * @param distanceTol distance tolerance
+ * @return
+ */
+ private boolean isShallowSampled(Coordinate p0, Coordinate p2, int i0, int i2, double distanceTol)
+ {
+ // check every n'th point to see if it is within tolerance
+ int inc = (i2 - i0) / NUM_PTS_TO_CHECK;
+ if (inc <= 0) inc = 1;
+
+ for (int i = i0; i < i2; i += inc) {
+ if (! isShallow(p0, p2, inputLine[i], distanceTol)) return false;
+ }
+ return true;
+ }
+
+ private boolean isShallow(Coordinate p0, Coordinate p1, Coordinate p2, double distanceTol)
+ {
+ double dist = Distance.pointToSegment(p1, p0, p2);
+ return dist < distanceTol;
+ }
+
+
+ private boolean isConcave(Coordinate p0, Coordinate p1, Coordinate p2)
+ {
+ int orientation = Orientation.index(p0, p1, p2);
+ boolean isConcave = (orientation == angleOrientation);
+ return isConcave;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferOp.java
new file mode 100644
index 0000000..8effa6a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferOp.java
@@ -0,0 +1,371 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * @version 1.7
+ */
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jts.noding.Noder;
+import org.locationtech.jts.noding.ScaledNoder;
+import org.locationtech.jts.noding.snapround.MCIndexSnapRounder;
+
+//import debug.*;
+
+/**
+ * Computes the buffer of a geometry, for both positive and negative buffer distances.
+ * <p>
+ * In GIS, the positive (or negative) buffer of a geometry is defined as
+ * the Minkowski sum (or difference) of the geometry
+ * with a circle of radius equal to the absolute value of the buffer distance.
+ * In the CAD/CAM world buffers are known as <i>offset curves</i>.
+ * In morphological analysis the
+ * operation of positive and negative buffering
+ * is referred to as <i>erosion</i> and <i>dilation</i>
+ * <p>
+ * The buffer operation always returns a polygonal result.
+ * The negative or zero-distance buffer of lines and points is always an empty {@link Polygon}.
+ * <p>
+ * Since true buffer curves may contain circular arcs,
+ * computed buffer polygons are only approximations to the true geometry.
+ * The user can control the accuracy of the approximation by specifying
+ * the number of linear segments used to approximate arcs.
+ * This is specified via {@link BufferParameters#setQuadrantSegments(int)} or {@link #setQuadrantSegments(int)}.
+ * <p>
+ * The <b>end cap style</b> of a linear buffer may be {@link BufferParameters#setEndCapStyle(int) specified}. The
+ * following end cap styles are supported:
+ * <ul>
+ * <li>{@link BufferParameters#CAP_ROUND} - the usual round end caps
+ * <li>{@link BufferParameters#CAP_FLAT} - end caps are truncated flat at the line ends
+ * <li>{@link BufferParameters#CAP_SQUARE} - end caps are squared off at the buffer distance beyond the line ends
+ * </ul>
+ * <p>
+ * The <b>join style</b> of the corners in a buffer may be {@link BufferParameters#setJoinStyle(int) specified}. The
+ * following join styles are supported:
+ * <ul>
+ * <li>{@link BufferParameters#JOIN_ROUND} - the usual round join
+ * <li>{@link BufferParameters#JOIN_MITRE} - corners are "sharp" (up to a {@link BufferParameters#getMitreLimit() distance limit})
+ * <li>{@link BufferParameters#JOIN_BEVEL} - corners are beveled (clipped off).
+ * </ul>
+ * <p>
+ * The buffer algorithm can perform simplification on the input to increase performance.
+ * The simplification is performed a way that always increases the buffer area
+ * (so that the simplified input covers the original input).
+ * The degree of simplification can be {@link BufferParameters#setSimplifyFactor(double) specified},
+ * with a {@link BufferParameters#DEFAULT_SIMPLIFY_FACTOR default} used otherwise.
+ * Note that if the buffer distance is zero then so is the computed simplify tolerance,
+ * no matter what the simplify factor.
+ *
+ * @version 1.7
+ */
+public class BufferOp
+{
+ /**
+ * Specifies a round line buffer end cap style.
+ * @deprecated use BufferParameters
+ */
+ public static final int CAP_ROUND = BufferParameters.CAP_ROUND;
+ /**
+ * Specifies a butt (or flat) line buffer end cap style.
+ * @deprecated use BufferParameters
+ */
+ public static final int CAP_BUTT = BufferParameters.CAP_FLAT;
+
+ /**
+ * Specifies a butt (or flat) line buffer end cap style.
+ * @deprecated use BufferParameters
+ */
+ public static final int CAP_FLAT = BufferParameters.CAP_FLAT;
+ /**
+ * Specifies a square line buffer end cap style.
+ * @deprecated use BufferParameters
+ */
+ public static final int CAP_SQUARE = BufferParameters.CAP_SQUARE;
+
+ /**
+ * A number of digits of precision which leaves some computational "headroom"
+ * for floating point operations.
+ *
+ * This value should be less than the decimal precision of double-precision values (16).
+ */
+ private static int MAX_PRECISION_DIGITS = 12;
+
+ /**
+ * Compute a scale factor to limit the precision of
+ * a given combination of Geometry and buffer distance.
+ * The scale factor is determined by
+ * the number of digits of precision in the (geometry + buffer distance),
+ * limited by the supplied <code>maxPrecisionDigits</code> value.
+ * <p>
+ * The scale factor is based on the absolute magnitude of the (geometry + buffer distance).
+ * since this determines the number of digits of precision which must be handled.
+ *
+ * @param g the Geometry being buffered
+ * @param distance the buffer distance
+ * @param maxPrecisionDigits the max # of digits that should be allowed by
+ * the precision determined by the computed scale factor
+ *
+ * @return a scale factor for the buffer computation
+ */
+ private static double precisionScaleFactor(Geometry g,
+ double distance,
+ int maxPrecisionDigits)
+ {
+ Envelope env = g.getEnvelopeInternal();
+ double envMax = MathUtil.max(
+ Math.abs(env.getMaxX()),
+ Math.abs(env.getMaxY()),
+ Math.abs(env.getMinX()),
+ Math.abs(env.getMinY())
+ );
+
+ double expandByDistance = distance > 0.0 ? distance : 0.0;
+ double bufEnvMax = envMax + 2 * expandByDistance;
+
+ // the smallest power of 10 greater than the buffer envelope
+ int bufEnvPrecisionDigits = (int) (Math.log(bufEnvMax) / Math.log(10) + 1.0);
+ int minUnitLog10 = maxPrecisionDigits - bufEnvPrecisionDigits;
+
+ double scaleFactor = Math.pow(10.0, minUnitLog10);
+ return scaleFactor;
+ }
+
+ /*
+ private static double OLDprecisionScaleFactor(Geometry g,
+ double distance,
+ int maxPrecisionDigits)
+ {
+ Envelope env = g.getEnvelopeInternal();
+ double envSize = Math.max(env.getHeight(), env.getWidth());
+ double expandByDistance = distance > 0.0 ? distance : 0.0;
+ double bufEnvSize = envSize + 2 * expandByDistance;
+
+ // the smallest power of 10 greater than the buffer envelope
+ int bufEnvLog10 = (int) (Math.log(bufEnvSize) / Math.log(10) + 1.0);
+ int minUnitLog10 = bufEnvLog10 - maxPrecisionDigits;
+ // scale factor is inverse of min Unit size, so flip sign of exponent
+ double scaleFactor = Math.pow(10.0, -minUnitLog10);
+ return scaleFactor;
+ }
+ */
+
+ /**
+ * Computes the buffer of a geometry for a given buffer distance.
+ *
+ * @param g the geometry to buffer
+ * @param distance the buffer distance
+ * @return the buffer of the input geometry
+ */
+ public static Geometry bufferOp(Geometry g, double distance)
+ {
+ BufferOp gBuf = new BufferOp(g);
+ Geometry geomBuf = gBuf.getResultGeometry(distance);
+//BufferDebug.saveBuffer(geomBuf);
+ //BufferDebug.runCount++;
+ return geomBuf;
+ }
+
+ /**
+ * Computes the buffer for a geometry for a given buffer distance
+ * and accuracy of approximation.
+ *
+ * @param g the geometry to buffer
+ * @param distance the buffer distance
+ * @param params the buffer parameters to use
+ * @return the buffer of the input geometry
+ *
+ */
+ public static Geometry bufferOp(Geometry g, double distance, BufferParameters params)
+ {
+ BufferOp bufOp = new BufferOp(g, params);
+ Geometry geomBuf = bufOp.getResultGeometry(distance);
+ return geomBuf;
+ }
+
+ /**
+ * Computes the buffer for a geometry for a given buffer distance
+ * and accuracy of approximation.
+ *
+ * @param g the geometry to buffer
+ * @param distance the buffer distance
+ * @param quadrantSegments the number of segments used to approximate a quarter circle
+ * @return the buffer of the input geometry
+ *
+ */
+ public static Geometry bufferOp(Geometry g, double distance, int quadrantSegments)
+ {
+ BufferOp bufOp = new BufferOp(g);
+ bufOp.setQuadrantSegments(quadrantSegments);
+ Geometry geomBuf = bufOp.getResultGeometry(distance);
+ return geomBuf;
+ }
+
+ /**
+ * Computes the buffer for a geometry for a given buffer distance
+ * and accuracy of approximation.
+ *
+ * @param g the geometry to buffer
+ * @param distance the buffer distance
+ * @param quadrantSegments the number of segments used to approximate a quarter circle
+ * @param endCapStyle the end cap style to use
+ * @return the buffer of the input geometry
+ *
+ */
+ public static Geometry bufferOp(Geometry g,
+ double distance,
+ int quadrantSegments,
+ int endCapStyle)
+ {
+ BufferOp bufOp = new BufferOp(g);
+ bufOp.setQuadrantSegments(quadrantSegments);
+ bufOp.setEndCapStyle(endCapStyle);
+ Geometry geomBuf = bufOp.getResultGeometry(distance);
+ return geomBuf;
+ }
+
+ private Geometry argGeom;
+ private double distance;
+
+ private BufferParameters bufParams = new BufferParameters();
+
+ private Geometry resultGeometry = null;
+ private RuntimeException saveException; // debugging only
+
+ /**
+ * Initializes a buffer computation for the given geometry
+ *
+ * @param g the geometry to buffer
+ */
+ public BufferOp(Geometry g) {
+ argGeom = g;
+ }
+
+ /**
+ * Initializes a buffer computation for the given geometry
+ * with the given set of parameters
+ *
+ * @param g the geometry to buffer
+ * @param bufParams the buffer parameters to use
+ */
+ public BufferOp(Geometry g, BufferParameters bufParams) {
+ argGeom = g;
+ this.bufParams = bufParams;
+ }
+
+ /**
+ * Specifies the end cap style of the generated buffer.
+ * The styles supported are {@link BufferParameters#CAP_ROUND}, {@link BufferParameters#CAP_FLAT}, and {@link BufferParameters#CAP_SQUARE}.
+ * The default is CAP_ROUND.
+ *
+ * @param endCapStyle the end cap style to specify
+ */
+ public void setEndCapStyle(int endCapStyle)
+ {
+ bufParams.setEndCapStyle(endCapStyle);
+ }
+
+ /**
+ * Sets the number of segments used to approximate a angle fillet
+ *
+ * @param quadrantSegments the number of segments in a fillet for a quadrant
+ */
+ public void setQuadrantSegments(int quadrantSegments)
+ {
+ bufParams.setQuadrantSegments(quadrantSegments);
+ }
+
+ /**
+ * Returns the buffer computed for a geometry for a given buffer distance.
+ *
+ * @param distance the buffer distance
+ * @return the buffer of the input geometry
+ */
+ public Geometry getResultGeometry(double distance)
+ {
+ this.distance = distance;
+ computeGeometry();
+ return resultGeometry;
+ }
+
+ private void computeGeometry()
+ {
+ bufferOriginalPrecision();
+ if (resultGeometry != null) return;
+
+ PrecisionModel argPM = argGeom.getFactory().getPrecisionModel();
+ if (argPM.getType() == PrecisionModel.FIXED)
+ bufferFixedPrecision(argPM);
+ else
+ bufferReducedPrecision();
+ }
+
+ private void bufferReducedPrecision()
+ {
+ // try and compute with decreasing precision
+ for (int precDigits = MAX_PRECISION_DIGITS; precDigits >= 0; precDigits--) {
+ try {
+ bufferReducedPrecision(precDigits);
+ }
+ catch (TopologyException ex) {
+ // update the saved exception to reflect the new input geometry
+ saveException = ex;
+ // don't propagate the exception - it will be detected by fact that resultGeometry is null
+ }
+ if (resultGeometry != null) return;
+ }
+
+ // tried everything - have to bail
+ throw saveException;
+ }
+
+ private void bufferOriginalPrecision()
+ {
+ try {
+ // use fast noding by default
+ BufferBuilder bufBuilder = new BufferBuilder(bufParams);
+ resultGeometry = bufBuilder.buffer(argGeom, distance);
+ }
+ catch (RuntimeException ex) {
+ saveException = ex;
+ // don't propagate the exception - it will be detected by fact that resultGeometry is null
+
+ // testing ONLY - propagate exception
+ //throw ex;
+ }
+ }
+
+ private void bufferReducedPrecision(int precisionDigits)
+ {
+ double sizeBasedScaleFactor = precisionScaleFactor(argGeom, distance, precisionDigits);
+// System.out.println("recomputing with precision scale factor = " + sizeBasedScaleFactor);
+
+ PrecisionModel fixedPM = new PrecisionModel(sizeBasedScaleFactor);
+ bufferFixedPrecision(fixedPM);
+ }
+
+ private void bufferFixedPrecision(PrecisionModel fixedPM)
+ {
+ Noder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)),
+ fixedPM.getScale());
+
+ BufferBuilder bufBuilder = new BufferBuilder(bufParams);
+ bufBuilder.setWorkingPrecisionModel(fixedPM);
+ bufBuilder.setNoder(noder);
+ // this may throw an exception, if robustness errors are encountered
+ resultGeometry = bufBuilder.buffer(argGeom, distance);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferParameters.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferParameters.java
new file mode 100644
index 0000000..050ed3e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferParameters.java
@@ -0,0 +1,345 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * A value class containing the parameters which
+ * specify how a buffer should be constructed.
+ * <p>
+ * The parameters allow control over:
+ * <ul>
+ * <li>Quadrant segments (accuracy of approximation for circular arcs)
+ * <li>End Cap style
+ * <li>Join style
+ * <li>Mitre limit
+ * <li>whether the buffer is single-sided
+ * </ul>
+ *
+ * @author Martin Davis
+ *
+ */
+public class BufferParameters
+{
+ /**
+ * Specifies a round line buffer end cap style.
+ */
+ public static final int CAP_ROUND = 1;
+ /**
+ * Specifies a flat line buffer end cap style.
+ */
+ public static final int CAP_FLAT = 2;
+ /**
+ * Specifies a square line buffer end cap style.
+ */
+ public static final int CAP_SQUARE = 3;
+
+ /**
+ * Specifies a round join style.
+ */
+ public static final int JOIN_ROUND = 1;
+ /**
+ * Specifies a mitre join style.
+ */
+ public static final int JOIN_MITRE = 2;
+ /**
+ * Specifies a bevel join style.
+ */
+ public static final int JOIN_BEVEL = 3;
+
+ /**
+ * The default number of facets into which to divide a fillet of 90 degrees.
+ * A value of 8 gives less than 2% max error in the buffer distance.
+ * For a max error of < 1%, use QS = 12.
+ * For a max error of < 0.1%, use QS = 18.
+ */
+ public static final int DEFAULT_QUADRANT_SEGMENTS = 8;
+
+ /**
+ * The default mitre limit
+ * Allows fairly pointy mitres.
+ */
+ public static final double DEFAULT_MITRE_LIMIT = 5.0;
+
+ /**
+ * The default simplify factor
+ * Provides an accuracy of about 1%, which matches the accuracy of the default Quadrant Segments parameter.
+ */
+ public static final double DEFAULT_SIMPLIFY_FACTOR = 0.01;
+
+
+ private int quadrantSegments = DEFAULT_QUADRANT_SEGMENTS;
+ private int endCapStyle = CAP_ROUND;
+ private int joinStyle = JOIN_ROUND;
+ private double mitreLimit = DEFAULT_MITRE_LIMIT;
+ private boolean isSingleSided = false;
+ private double simplifyFactor = DEFAULT_SIMPLIFY_FACTOR;
+
+ /**
+ * Creates a default set of parameters
+ *
+ */
+ public BufferParameters() {
+ }
+
+ /**
+ * Creates a set of parameters with the
+ * given quadrantSegments value.
+ *
+ * @param quadrantSegments the number of quadrant segments to use
+ */
+ public BufferParameters(int quadrantSegments)
+ {
+ setQuadrantSegments(quadrantSegments);
+ }
+
+ /**
+ * Creates a set of parameters with the
+ * given quadrantSegments and endCapStyle values.
+ *
+ * @param quadrantSegments the number of quadrant segments to use
+ * @param endCapStyle the end cap style to use
+ */
+ public BufferParameters(int quadrantSegments,
+ int endCapStyle)
+ {
+ setQuadrantSegments(quadrantSegments);
+ setEndCapStyle(endCapStyle);
+ }
+
+ /**
+ * Creates a set of parameters with the
+ * given parameter values.
+ *
+ * @param quadrantSegments the number of quadrant segments to use
+ * @param endCapStyle the end cap style to use
+ * @param joinStyle the join style to use
+ * @param mitreLimit the mitre limit to use
+ */
+ public BufferParameters(int quadrantSegments,
+ int endCapStyle,
+ int joinStyle,
+ double mitreLimit)
+ {
+ setQuadrantSegments(quadrantSegments);
+ setEndCapStyle(endCapStyle);
+ setJoinStyle(joinStyle);
+ setMitreLimit(mitreLimit);
+ }
+
+ /**
+ * Gets the number of quadrant segments which will be used
+ *
+ * @return the number of quadrant segments
+ */
+ public int getQuadrantSegments()
+ {
+ return quadrantSegments;
+ }
+
+ /**
+ * Sets the number of line segments used to approximate an angle fillet.
+ * <ul>
+ * <li>If <tt>quadSegs</tt> >= 1, joins are round, and <tt>quadSegs</tt> indicates the number of
+ * segments to use to approximate a quarter-circle.
+ * <li>If <tt>quadSegs</tt> = 0, joins are bevelled (flat)
+ * <li>If <tt>quadSegs</tt> < 0, joins are mitred, and the value of qs
+ * indicates the mitre ration limit as
+ * <pre>
+ * mitreLimit = |<tt>quadSegs</tt>|
+ * </pre>
+ * </ul>
+ * For round joins, <tt>quadSegs</tt> determines the maximum
+ * error in the approximation to the true buffer curve.
+ * The default value of 8 gives less than 2% max error in the buffer distance.
+ * For a max error of < 1%, use QS = 12.
+ * For a max error of < 0.1%, use QS = 18.
+ * The error is always less than the buffer distance
+ * (in other words, the computed buffer curve is always inside the true
+ * curve).
+ *
+ * @param quadSegs the number of segments in a fillet for a quadrant
+ */
+ public void setQuadrantSegments(int quadSegs)
+ {
+ quadrantSegments = quadSegs;
+
+ /**
+ * Indicates how to construct fillets.
+ * If qs >= 1, fillet is round, and qs indicates number of
+ * segments to use to approximate a quarter-circle.
+ * If qs = 0, fillet is bevelled flat (i.e. no filleting is performed)
+ * If qs < 0, fillet is mitred, and absolute value of qs
+ * indicates maximum length of mitre according to
+ *
+ * mitreLimit = |qs|
+ */
+ if (quadrantSegments == 0)
+ joinStyle = JOIN_BEVEL;
+ if (quadrantSegments < 0) {
+ joinStyle = JOIN_MITRE;
+ mitreLimit = Math.abs(quadrantSegments);
+ }
+
+ if (quadSegs <= 0) {
+ quadrantSegments = 1;
+ }
+
+ /**
+ * If join style was set by the quadSegs value,
+ * use the default for the actual quadrantSegments value.
+ */
+ if (joinStyle != JOIN_ROUND) {
+ quadrantSegments = DEFAULT_QUADRANT_SEGMENTS;
+ }
+ }
+
+ /**
+ * Computes the maximum distance error due to a given level
+ * of approximation to a true arc.
+ *
+ * @param quadSegs the number of segments used to approximate a quarter-circle
+ * @return the error of approximation
+ */
+ public static double bufferDistanceError(int quadSegs)
+ {
+ double alpha = Math.PI / 2.0 / quadSegs;
+ return 1 - Math.cos(alpha / 2.0);
+ }
+
+ /**
+ * Gets the end cap style.
+ *
+ * @return the end cap style
+ */
+ public int getEndCapStyle()
+ {
+ return endCapStyle;
+ }
+
+ /**
+ * Specifies the end cap style of the generated buffer.
+ * The styles supported are {@link #CAP_ROUND}, {@link #CAP_FLAT}, and {@link #CAP_SQUARE}.
+ * The default is CAP_ROUND.
+ *
+ * @param endCapStyle the end cap style to specify
+ */
+ public void setEndCapStyle(int endCapStyle)
+ {
+ this.endCapStyle = endCapStyle;
+ }
+
+ /**
+ * Gets the join style
+ *
+ * @return the join style code
+ */
+ public int getJoinStyle()
+ {
+ return joinStyle;
+ }
+
+ /**
+ * Sets the join style for outside (reflex) corners between line segments.
+ * Allowable values are {@link #JOIN_ROUND} (which is the default),
+ * {@link #JOIN_MITRE} and {link JOIN_BEVEL}.
+ *
+ * @param joinStyle the code for the join style
+ */
+ public void setJoinStyle(int joinStyle)
+ {
+ this.joinStyle = joinStyle;
+ }
+
+ /**
+ * Gets the mitre ratio limit.
+ *
+ * @return the limit value
+ */
+ public double getMitreLimit()
+ {
+ return mitreLimit;
+ }
+
+ /**
+ * Sets the limit on the mitre ratio used for very sharp corners.
+ * The mitre ratio is the ratio of the distance from the corner
+ * to the end of the mitred offset corner.
+ * When two line segments meet at a sharp angle,
+ * a miter join will extend far beyond the original geometry.
+ * (and in the extreme case will be infinitely far.)
+ * To prevent unreasonable geometry, the mitre limit
+ * allows controlling the maximum length of the join corner.
+ * Corners with a ratio which exceed the limit will be beveled.
+ *
+ * @param mitreLimit the mitre ratio limit
+ */
+ public void setMitreLimit(double mitreLimit)
+ {
+ this.mitreLimit = mitreLimit;
+ }
+
+ /**
+ * Sets whether the computed buffer should be single-sided.
+ * A single-sided buffer is constructed on only one side of each input line.
+ * <p>
+ * The side used is determined by the sign of the buffer distance:
+ * <ul>
+ * <li>a positive distance indicates the left-hand side
+ * <li>a negative distance indicates the right-hand side
+ * </ul>
+ * The single-sided buffer of point geometries is
+ * the same as the regular buffer.
+ * <p>
+ * The End Cap Style for single-sided buffers is
+ * always ignored,
+ * and forced to the equivalent of <tt>CAP_FLAT</tt>.
+ *
+ * @param isSingleSided true if a single-sided buffer should be constructed
+ */
+ public void setSingleSided(boolean isSingleSided)
+ {
+ this.isSingleSided = isSingleSided;
+ }
+
+ /**
+ * Tests whether the buffer is to be generated on a single side only.
+ *
+ * @return true if the generated buffer is to be single-sided
+ */
+ public boolean isSingleSided() {
+ return isSingleSided;
+ }
+
+ /**
+ * Gets the simplify factor.
+ *
+ * @return the simplify factor
+ */
+ public double getSimplifyFactor() {
+ return simplifyFactor;
+ }
+
+ /**
+ * Sets the factor used to determine the simplify distance tolerance
+ * for input simplification.
+ * Simplifying can increase the performance of computing buffers.
+ * Generally the simplify factor should be greater than 0.
+ * Values between 0.01 and .1 produce relatively good accuracy for the generate buffer.
+ * Larger values sacrifice accuracy in return for performance.
+ *
+ * @param simplifyFactor a value greater than or equal to zero.
+ */
+ public void setSimplifyFactor(double simplifyFactor)
+ {
+ this.simplifyFactor = simplifyFactor < 0 ? 0 : simplifyFactor;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferSubgraph.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferSubgraph.java
new file mode 100644
index 0000000..af543fb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/BufferSubgraph.java
@@ -0,0 +1,318 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.Stack;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * A connected subset of the graph of
+ * {@link DirectedEdge}s and {@link Node}s.
+ * Its edges will generate either
+ * <ul>
+ * <li> a single polygon in the complete buffer, with zero or more holes, or
+ * <li> one or more connected holes
+ * </ul>
+ *
+ *
+ * @version 1.7
+ */
+class BufferSubgraph
+ implements Comparable
+{
+ private RightmostEdgeFinder finder;
+ private List dirEdgeList = new ArrayList();
+ private List nodes = new ArrayList();
+ private Coordinate rightMostCoord = null;
+ private Envelope env = null;
+
+ public BufferSubgraph()
+ {
+ finder = new RightmostEdgeFinder();
+ }
+
+ public List getDirectedEdges() { return dirEdgeList; }
+ public List getNodes() { return nodes; }
+
+ /**
+ * Computes the envelope of the edges in the subgraph.
+ * The envelope is cached after being computed.
+ *
+ * @return the envelope of the graph.
+ */
+ public Envelope getEnvelope()
+ {
+ if (env == null) {
+ Envelope edgeEnv = new Envelope();
+ for (Iterator it = dirEdgeList.iterator(); it.hasNext(); ) {
+ DirectedEdge dirEdge = (DirectedEdge) it.next();
+ Coordinate[] pts = dirEdge.getEdge().getCoordinates();
+ for (int i = 0; i < pts.length - 1; i++) {
+ edgeEnv.expandToInclude(pts[i]);
+ }
+ }
+ env = edgeEnv;
+ }
+ return env;
+ }
+
+ /**
+ * Gets the rightmost coordinate in the edges of the subgraph
+ */
+ public Coordinate getRightmostCoordinate()
+ {
+ return rightMostCoord;
+ }
+
+ /**
+ * Creates the subgraph consisting of all edges reachable from this node.
+ * Finds the edges in the graph and the rightmost coordinate.
+ *
+ * @param node a node to start the graph traversal from
+ */
+ public void create(Node node)
+ {
+ addReachable(node);
+ finder.findEdge(dirEdgeList);
+ rightMostCoord = finder.getCoordinate();
+ }
+
+ /**
+ * Adds all nodes and edges reachable from this node to the subgraph.
+ * Uses an explicit stack to avoid a large depth of recursion.
+ *
+ * @param node a node known to be in the subgraph
+ */
+ private void addReachable(Node startNode)
+ {
+ Stack nodeStack = new Stack();
+ nodeStack.add(startNode);
+ while (! nodeStack.empty()) {
+ Node node = (Node) nodeStack.pop();
+ add(node, nodeStack);
+ }
+ }
+
+ /**
+ * Adds the argument node and all its out edges to the subgraph
+ * @param node the node to add
+ * @param nodeStack the current set of nodes being traversed
+ */
+ private void add(Node node, Stack nodeStack)
+ {
+ node.setVisited(true);
+ nodes.add(node);
+ for (Iterator i = ((DirectedEdgeStar) node.getEdges()).iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ dirEdgeList.add(de);
+ DirectedEdge sym = de.getSym();
+ Node symNode = sym.getNode();
+ /**
+ * NOTE: this is a depth-first traversal of the graph.
+ * This will cause a large depth of recursion.
+ * It might be better to do a breadth-first traversal.
+ */
+ if (! symNode.isVisited()) nodeStack.push(symNode);
+ }
+ }
+
+ private void clearVisitedEdges()
+ {
+ for (Iterator it = dirEdgeList.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ de.setVisited(false);
+ }
+ }
+
+ public void computeDepth(int outsideDepth)
+ {
+ clearVisitedEdges();
+ // find an outside edge to assign depth to
+ DirectedEdge de = finder.getEdge();
+ Node n = de.getNode();
+ Label label = de.getLabel();
+ // right side of line returned by finder is on the outside
+ de.setEdgeDepths(Position.RIGHT, outsideDepth);
+ copySymDepths(de);
+
+ //computeNodeDepth(n, de);
+ computeDepths(de);
+ }
+
+ /**
+ * Compute depths for all dirEdges via breadth-first traversal of nodes in graph
+ * @param startEdge edge to start processing with
+ */
+ // <FIX> MD - use iteration & queue rather than recursion, for speed and robustness
+ private void computeDepths(DirectedEdge startEdge)
+ {
+ Set nodesVisited = new HashSet();
+ LinkedList nodeQueue = new LinkedList();
+
+ Node startNode = startEdge.getNode();
+ nodeQueue.addLast(startNode);
+ nodesVisited.add(startNode);
+ startEdge.setVisited(true);
+
+ while (! nodeQueue.isEmpty()) {
+//System.out.println(nodes.size() + " queue: " + nodeQueue.size());
+ Node n = (Node) nodeQueue.removeFirst();
+ nodesVisited.add(n);
+ // compute depths around node, starting at this edge since it has depths assigned
+ computeNodeDepth(n);
+
+ // add all adjacent nodes to process queue,
+ // unless the node has been visited already
+ for (Iterator i = ((DirectedEdgeStar) n.getEdges()).iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ DirectedEdge sym = de.getSym();
+ if (sym.isVisited()) continue;
+ Node adjNode = sym.getNode();
+ if (! (nodesVisited.contains(adjNode)) ) {
+ nodeQueue.addLast(adjNode);
+ nodesVisited.add(adjNode);
+ }
+ }
+ }
+ }
+
+ private void computeNodeDepth(Node n)
+ {
+ // find a visited dirEdge to start at
+ DirectedEdge startEdge = null;
+ for (Iterator i = ((DirectedEdgeStar) n.getEdges()).iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ if (de.isVisited() || de.getSym().isVisited()) {
+ startEdge = de;
+ break;
+ }
+ }
+ // MD - testing Result: breaks algorithm
+ //if (startEdge == null) return;
+
+ // only compute string append if assertion would fail
+ if (startEdge == null)
+ throw new TopologyException("unable to find edge to compute depths at " + n.getCoordinate());
+
+ ((DirectedEdgeStar) n.getEdges()).computeDepths(startEdge);
+
+ // copy depths to sym edges
+ for (Iterator i = ((DirectedEdgeStar) n.getEdges()).iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ de.setVisited(true);
+ copySymDepths(de);
+ }
+ }
+
+ private void copySymDepths(DirectedEdge de)
+ {
+ DirectedEdge sym = de.getSym();
+ sym.setDepth(Position.LEFT, de.getDepth(Position.RIGHT));
+ sym.setDepth(Position.RIGHT, de.getDepth(Position.LEFT));
+ }
+
+ /**
+ * Find all edges whose depths indicates that they are in the result area(s).
+ * Since we want polygon shells to be
+ * oriented CW, choose dirEdges with the interior of the result on the RHS.
+ * Mark them as being in the result.
+ * Interior Area edges are the result of dimensional collapses.
+ * They do not form part of the result area boundary.
+ */
+ public void findResultEdges()
+ {
+ for (Iterator it = dirEdgeList.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ /**
+ * Select edges which have an interior depth on the RHS
+ * and an exterior depth on the LHS.
+ * Note that because of weird rounding effects there may be
+ * edges which have negative depths! Negative depths
+ * count as "outside".
+ */
+ // <FIX> - handle negative depths
+ if ( de.getDepth(Position.RIGHT) >= 1
+ && de.getDepth(Position.LEFT) <= 0
+ && ! de.isInteriorAreaEdge()) {
+ de.setInResult(true);
+//Debug.print("in result "); Debug.println(de);
+ }
+ }
+ }
+
+ /**
+ * BufferSubgraphs are compared on the x-value of their rightmost Coordinate.
+ * This defines a partial ordering on the graphs such that:
+ * <p>
+ * g1 >= g2 <==> Ring(g2) does not contain Ring(g1)
+ * <p>
+ * where Polygon(g) is the buffer polygon that is built from g.
+ * <p>
+ * This relationship is used to sort the BufferSubgraphs so that shells are guaranteed to
+ * be built before holes.
+ */
+ public int compareTo(Object o) {
+ BufferSubgraph graph = (BufferSubgraph) o;
+ if (this.rightMostCoord.x < graph.rightMostCoord.x) {
+ return -1;
+ }
+ if (this.rightMostCoord.x > graph.rightMostCoord.x) {
+ return 1;
+ }
+ return 0;
+ }
+
+/*
+// DEBUGGING only - comment out
+ private static final String SAVE_DIREDGES = "saveDirEdges";
+ private static int saveCount = 0;
+ public void saveDirEdges()
+ {
+ GeometryFactory fact = new GeometryFactory();
+ for (Iterator it = dirEdgeList.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ double dx = de.getDx();
+ double dy = de.getDy();
+ Coordinate p0 = de.getCoordinate();
+ double ang = Math.atan2(dy, dx);
+ Coordinate p1 = new Coordinate(
+ p0.x + .4 * Math.cos(ang),
+ p0.y + .4 * Math.sin(ang));
+// DebugFeature.add(SAVE_DIREDGES,
+// fact.createLineString(new Coordinate[] { p0, p1 } ),
+// de.getDepth(Position.LEFT) + "/" + de.getDepth(Position.RIGHT)
+// );
+ }
+ String filepath = "x:\\jts\\testBuffer\\dirEdges" + saveCount++ + ".jml";
+ DebugFeature.saveFeatures(SAVE_DIREDGES, filepath);
+ }
+ */
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveBuilder.java
new file mode 100644
index 0000000..77253e0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveBuilder.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * Computes the raw offset curve for a
+ * single {@link Geometry} component (ring, line or point).
+ * A raw offset curve line is not noded -
+ * it may contain self-intersections (and usually will).
+ * The final buffer polygon is computed by forming a topological graph
+ * of all the noded raw curves and tracing outside contours.
+ * The points in the raw curve are rounded
+ * to a given {@link PrecisionModel}.
+ *
+ * @version 1.7
+ */
+public class OffsetCurveBuilder
+{
+ private double distance = 0.0;
+ private PrecisionModel precisionModel;
+ private BufferParameters bufParams;
+
+ public OffsetCurveBuilder(
+ PrecisionModel precisionModel,
+ BufferParameters bufParams
+ )
+ {
+ this.precisionModel = precisionModel;
+ this.bufParams = bufParams;
+ }
+
+ /**
+ * Gets the buffer parameters being used to generate the curve.
+ *
+ * @return the buffer parameters being used
+ */
+ public BufferParameters getBufferParameters()
+ {
+ return bufParams;
+ }
+
+ /**
+ * This method handles single points as well as LineStrings.
+ * LineStrings are assumed <b>not</b> to be closed (the function will not
+ * fail for closed lines, but will generate superfluous line caps).
+ *
+ * @param inputPts the vertices of the line to offset
+ * @param distance the offset distance
+ *
+ * @return a Coordinate array representing the curve
+ * or null if the curve is empty
+ */
+ public Coordinate[] getLineCurve(Coordinate[] inputPts, double distance)
+ {
+ this.distance = distance;
+
+ // a zero or negative width buffer of a line/point is empty
+ if (distance < 0.0 && ! bufParams.isSingleSided()) return null;
+ if (distance == 0.0) return null;
+
+ double posDistance = Math.abs(distance);
+ OffsetSegmentGenerator segGen = getSegGen(posDistance);
+ if (inputPts.length <= 1) {
+ computePointCurve(inputPts[0], segGen);
+ }
+ else {
+ if (bufParams.isSingleSided()) {
+ boolean isRightSide = distance < 0.0;
+ computeSingleSidedBufferCurve(inputPts, isRightSide, segGen);
+ }
+ else
+ computeLineBufferCurve(inputPts, segGen);
+ }
+
+ Coordinate[] lineCoord = segGen.getCoordinates();
+ return lineCoord;
+ }
+
+ /**
+ * This method handles the degenerate cases of single points and lines,
+ * as well as rings.
+ *
+ * @return a Coordinate array representing the curve
+ * or null if the curve is empty
+ */
+ public Coordinate[] getRingCurve(Coordinate[] inputPts, int side, double distance)
+ {
+ this.distance = distance;
+ if (inputPts.length <= 2)
+ return getLineCurve(inputPts, distance);
+
+ // optimize creating ring for for zero distance
+ if (distance == 0.0) {
+ return copyCoordinates(inputPts);
+ }
+ OffsetSegmentGenerator segGen = getSegGen(distance);
+ computeRingBufferCurve(inputPts, side, segGen);
+ return segGen.getCoordinates();
+ }
+
+ public Coordinate[] getOffsetCurve(Coordinate[] inputPts, double distance)
+ {
+ this.distance = distance;
+
+ // a zero width offset curve is empty
+ if (distance == 0.0) return null;
+
+ boolean isRightSide = distance < 0.0;
+ double posDistance = Math.abs(distance);
+ OffsetSegmentGenerator segGen = getSegGen(posDistance);
+ if (inputPts.length <= 1) {
+ computePointCurve(inputPts[0], segGen);
+ }
+ else {
+ computeOffsetCurve(inputPts, isRightSide, segGen);
+ }
+ Coordinate[] curvePts = segGen.getCoordinates();
+ // for right side line is traversed in reverse direction, so have to reverse generated line
+ if (isRightSide)
+ CoordinateArrays.reverse(curvePts);
+ return curvePts;
+ }
+
+ private static Coordinate[] copyCoordinates(Coordinate[] pts)
+ {
+ Coordinate[] copy = new Coordinate[pts.length];
+ for (int i = 0; i < copy.length; i++) {
+ copy[i] = new Coordinate(pts[i]);
+ }
+ return copy;
+ }
+
+ private OffsetSegmentGenerator getSegGen(double distance)
+ {
+ return new OffsetSegmentGenerator(precisionModel, bufParams, distance);
+ }
+
+ /**
+ * Computes the distance tolerance to use during input
+ * line simplification.
+ *
+ * @param distance the buffer distance
+ * @return the simplification tolerance
+ */
+ private double simplifyTolerance(double bufDistance)
+ {
+ return bufDistance * bufParams.getSimplifyFactor();
+ }
+
+ private void computePointCurve(Coordinate pt, OffsetSegmentGenerator segGen) {
+ switch (bufParams.getEndCapStyle()) {
+ case BufferParameters.CAP_ROUND:
+ segGen.createCircle(pt);
+ break;
+ case BufferParameters.CAP_SQUARE:
+ segGen.createSquare(pt);
+ break;
+ // otherwise curve is empty (e.g. for a butt cap);
+ }
+ }
+
+ private void computeLineBufferCurve(Coordinate[] inputPts, OffsetSegmentGenerator segGen)
+ {
+ double distTol = simplifyTolerance(distance);
+
+ //--------- compute points for left side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp1 = BufferInputLineSimplifier.simplify(inputPts, distTol);
+ // MD - used for testing only (to eliminate simplification)
+// Coordinate[] simp1 = inputPts;
+
+ int n1 = simp1.length - 1;
+ segGen.initSideSegments(simp1[0], simp1[1], Position.LEFT);
+ for (int i = 2; i <= n1; i++) {
+ segGen.addNextSegment(simp1[i], true);
+ }
+ segGen.addLastSegment();
+ // add line cap for end of line
+ segGen.addLineEndCap(simp1[n1 - 1], simp1[n1]);
+
+ //---------- compute points for right side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp2 = BufferInputLineSimplifier.simplify(inputPts, -distTol);
+ // MD - used for testing only (to eliminate simplification)
+// Coordinate[] simp2 = inputPts;
+ int n2 = simp2.length - 1;
+
+ // since we are traversing line in opposite order, offset position is still LEFT
+ segGen.initSideSegments(simp2[n2], simp2[n2 - 1], Position.LEFT);
+ for (int i = n2 - 2; i >= 0; i--) {
+ segGen.addNextSegment(simp2[i], true);
+ }
+ segGen.addLastSegment();
+ // add line cap for start of line
+ segGen.addLineEndCap(simp2[1], simp2[0]);
+
+ segGen.closeRing();
+ }
+
+ /*
+ private void OLDcomputeLineBufferCurve(Coordinate[] inputPts)
+ {
+ int n = inputPts.length - 1;
+
+ // compute points for left side of line
+ initSideSegments(inputPts[0], inputPts[1], Position.LEFT);
+ for (int i = 2; i <= n; i++) {
+ addNextSegment(inputPts[i], true);
+ }
+ addLastSegment();
+ // add line cap for end of line
+ addLineEndCap(inputPts[n - 1], inputPts[n]);
+
+ // compute points for right side of line
+ initSideSegments(inputPts[n], inputPts[n - 1], Position.LEFT);
+ for (int i = n - 2; i >= 0; i--) {
+ addNextSegment(inputPts[i], true);
+ }
+ addLastSegment();
+ // add line cap for start of line
+ addLineEndCap(inputPts[1], inputPts[0]);
+
+ vertexList.closeRing();
+ }
+ */
+
+ private void computeSingleSidedBufferCurve(Coordinate[] inputPts, boolean isRightSide, OffsetSegmentGenerator segGen)
+ {
+ double distTol = simplifyTolerance(distance);
+
+ if (isRightSide) {
+ // add original line
+ segGen.addSegments(inputPts, true);
+
+ //---------- compute points for right side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp2 = BufferInputLineSimplifier.simplify(inputPts, -distTol);
+ // MD - used for testing only (to eliminate simplification)
+ // Coordinate[] simp2 = inputPts;
+ int n2 = simp2.length - 1;
+
+ // since we are traversing line in opposite order, offset position is still LEFT
+ segGen.initSideSegments(simp2[n2], simp2[n2 - 1], Position.LEFT);
+ segGen.addFirstSegment();
+ for (int i = n2 - 2; i >= 0; i--) {
+ segGen.addNextSegment(simp2[i], true);
+ }
+ }
+ else {
+ // add original line
+ segGen.addSegments(inputPts, false);
+
+ //--------- compute points for left side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp1 = BufferInputLineSimplifier.simplify(inputPts, distTol);
+ // MD - used for testing only (to eliminate simplification)
+// Coordinate[] simp1 = inputPts;
+
+ int n1 = simp1.length - 1;
+ segGen.initSideSegments(simp1[0], simp1[1], Position.LEFT);
+ segGen.addFirstSegment();
+ for (int i = 2; i <= n1; i++) {
+ segGen.addNextSegment(simp1[i], true);
+ }
+ }
+ segGen.addLastSegment();
+ segGen.closeRing();
+ }
+
+ private void computeOffsetCurve(Coordinate[] inputPts, boolean isRightSide, OffsetSegmentGenerator segGen)
+ {
+ double distTol = simplifyTolerance(distance);
+
+ if (isRightSide) {
+ //---------- compute points for right side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp2 = BufferInputLineSimplifier.simplify(inputPts, -distTol);
+ // MD - used for testing only (to eliminate simplification)
+ // Coordinate[] simp2 = inputPts;
+ int n2 = simp2.length - 1;
+
+ // since we are traversing line in opposite order, offset position is still LEFT
+ segGen.initSideSegments(simp2[n2], simp2[n2 - 1], Position.LEFT);
+ segGen.addFirstSegment();
+ for (int i = n2 - 2; i >= 0; i--) {
+ segGen.addNextSegment(simp2[i], true);
+ }
+ }
+ else {
+ //--------- compute points for left side of line
+ // Simplify the appropriate side of the line before generating
+ Coordinate[] simp1 = BufferInputLineSimplifier.simplify(inputPts, distTol);
+ // MD - used for testing only (to eliminate simplification)
+// Coordinate[] simp1 = inputPts;
+
+ int n1 = simp1.length - 1;
+ segGen.initSideSegments(simp1[0], simp1[1], Position.LEFT);
+ segGen.addFirstSegment();
+ for (int i = 2; i <= n1; i++) {
+ segGen.addNextSegment(simp1[i], true);
+ }
+ }
+ segGen.addLastSegment();
+ }
+
+ private void computeRingBufferCurve(Coordinate[] inputPts, int side, OffsetSegmentGenerator segGen)
+ {
+ // simplify input line to improve performance
+ double distTol = simplifyTolerance(distance);
+ // ensure that correct side is simplified
+ if (side == Position.RIGHT)
+ distTol = -distTol;
+ Coordinate[] simp = BufferInputLineSimplifier.simplify(inputPts, distTol);
+// Coordinate[] simp = inputPts;
+
+ int n = simp.length - 1;
+ segGen.initSideSegments(simp[n - 1], simp[0], side);
+ for (int i = 1; i <= n; i++) {
+ boolean addStartPoint = i != 1;
+ segGen.addNextSegment(simp[i], addStartPoint);
+ }
+ segGen.closeRing();
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveSetBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveSetBuilder.java
new file mode 100644
index 0000000..938f481
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetCurveSetBuilder.java
@@ -0,0 +1,308 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Triangle;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Position;
+import org.locationtech.jts.noding.NodedSegmentString;
+import org.locationtech.jts.noding.SegmentString;
+
+/**
+ * Creates all the raw offset curves for a buffer of a {@link Geometry}.
+ * Raw curves need to be noded together and polygonized to form the final buffer area.
+ *
+ * @version 1.7
+ */
+public class OffsetCurveSetBuilder {
+
+
+ private Geometry inputGeom;
+ private double distance;
+ private OffsetCurveBuilder curveBuilder;
+
+ private List curveList = new ArrayList();
+
+ public OffsetCurveSetBuilder(
+ Geometry inputGeom,
+ double distance,
+ OffsetCurveBuilder curveBuilder)
+ {
+ this.inputGeom = inputGeom;
+ this.distance = distance;
+ this.curveBuilder = curveBuilder;
+ }
+
+ /**
+ * Computes the set of raw offset curves for the buffer.
+ * Each offset curve has an attached {@link Label} indicating
+ * its left and right location.
+ *
+ * @return a Collection of SegmentStrings representing the raw buffer curves
+ */
+ public List getCurves()
+ {
+ add(inputGeom);
+ return curveList;
+ }
+
+ /**
+ * Creates a {@link SegmentString} for a coordinate list which is a raw offset curve,
+ * and adds it to the list of buffer curves.
+ * The SegmentString is tagged with a Label giving the topology of the curve.
+ * The curve may be oriented in either direction.
+ * If the curve is oriented CW, the locations will be:
+ * <br>Left: Location.EXTERIOR
+ * <br>Right: Location.INTERIOR
+ */
+ private void addCurve(Coordinate[] coord, int leftLoc, int rightLoc)
+ {
+ // don't add null or trivial curves
+ if (coord == null || coord.length < 2) return;
+ // add the edge for a coordinate list which is a raw offset curve
+ SegmentString e = new NodedSegmentString(coord,
+ new Label(0, Location.BOUNDARY, leftLoc, rightLoc));
+ curveList.add(e);
+ }
+
+
+ private void add(Geometry g)
+ {
+ if (g.isEmpty()) return;
+
+ if (g instanceof Polygon) addPolygon((Polygon) g);
+ // LineString also handles LinearRings
+ else if (g instanceof LineString) addLineString((LineString) g);
+ else if (g instanceof Point) addPoint((Point) g);
+ else if (g instanceof MultiPoint) addCollection((MultiPoint) g);
+ else if (g instanceof MultiLineString) addCollection((MultiLineString) g);
+ else if (g instanceof MultiPolygon) addCollection((MultiPolygon) g);
+ else if (g instanceof GeometryCollection) addCollection((GeometryCollection) g);
+ else throw new UnsupportedOperationException(g.getClass().getName());
+ }
+ private void addCollection(GeometryCollection gc)
+ {
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ add(g);
+ }
+ }
+ /**
+ * Add a Point to the graph.
+ */
+ private void addPoint(Point p)
+ {
+ // a zero or negative width buffer of a line/point is empty
+ if (distance <= 0.0)
+ return;
+ Coordinate[] coord = p.getCoordinates();
+ Coordinate[] curve = curveBuilder.getLineCurve(coord, distance);
+ addCurve(curve, Location.EXTERIOR, Location.INTERIOR);
+ }
+
+ private void addLineString(LineString line)
+ {
+ // a zero or negative width buffer of a line/point is empty
+ if (distance <= 0.0 && ! curveBuilder.getBufferParameters().isSingleSided())
+ return;
+ Coordinate[] coord = CoordinateArrays.removeRepeatedPoints(line.getCoordinates());
+ Coordinate[] curve = curveBuilder.getLineCurve(coord, distance);
+ addCurve(curve, Location.EXTERIOR, Location.INTERIOR);
+
+ // TESTING
+ //Coordinate[] curveTrim = BufferCurveLoopPruner.prune(curve);
+ //addCurve(curveTrim, Location.EXTERIOR, Location.INTERIOR);
+ }
+
+ private void addPolygon(Polygon p)
+ {
+ double offsetDistance = distance;
+ int offsetSide = Position.LEFT;
+ if (distance < 0.0) {
+ offsetDistance = -distance;
+ offsetSide = Position.RIGHT;
+ }
+
+ LinearRing shell = (LinearRing) p.getExteriorRing();
+ Coordinate[] shellCoord = CoordinateArrays.removeRepeatedPoints(shell.getCoordinates());
+ // optimization - don't bother computing buffer
+ // if the polygon would be completely eroded
+ if (distance < 0.0 && isErodedCompletely(shell, distance))
+ return;
+ // don't attemtp to buffer a polygon with too few distinct vertices
+ if (distance <= 0.0 && shellCoord.length < 3)
+ return;
+
+ addPolygonRing(
+ shellCoord,
+ offsetDistance,
+ offsetSide,
+ Location.EXTERIOR,
+ Location.INTERIOR);
+
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+
+ LinearRing hole = (LinearRing) p.getInteriorRingN(i);
+ Coordinate[] holeCoord = CoordinateArrays.removeRepeatedPoints(hole.getCoordinates());
+
+ // optimization - don't bother computing buffer for this hole
+ // if the hole would be completely covered
+ if (distance > 0.0 && isErodedCompletely(hole, -distance))
+ continue;
+
+ // Holes are topologically labelled opposite to the shell, since
+ // the interior of the polygon lies on their opposite side
+ // (on the left, if the hole is oriented CCW)
+ addPolygonRing(
+ holeCoord,
+ offsetDistance,
+ Position.opposite(offsetSide),
+ Location.INTERIOR,
+ Location.EXTERIOR);
+ }
+ }
+
+ /**
+ * Adds an offset curve for a polygon ring.
+ * The side and left and right topological location arguments
+ * assume that the ring is oriented CW.
+ * If the ring is in the opposite orientation,
+ * the left and right locations must be interchanged and the side flipped.
+ *
+ * @param coord the coordinates of the ring (must not contain repeated points)
+ * @param offsetDistance the distance at which to create the buffer
+ * @param side the side of the ring on which to construct the buffer line
+ * @param cwLeftLoc the location on the L side of the ring (if it is CW)
+ * @param cwRightLoc the location on the R side of the ring (if it is CW)
+ */
+ private void addPolygonRing(Coordinate[] coord, double offsetDistance, int side, int cwLeftLoc, int cwRightLoc)
+ {
+ // don't bother adding ring if it is "flat" and will disappear in the output
+ if (offsetDistance == 0.0 && coord.length < LinearRing.MINIMUM_VALID_SIZE)
+ return;
+
+ int leftLoc = cwLeftLoc;
+ int rightLoc = cwRightLoc;
+ if (coord.length >= LinearRing.MINIMUM_VALID_SIZE
+ && Orientation.isCCW(coord)) {
+ leftLoc = cwRightLoc;
+ rightLoc = cwLeftLoc;
+ side = Position.opposite(side);
+ }
+ Coordinate[] curve = curveBuilder.getRingCurve(coord, side, offsetDistance);
+ addCurve(curve, leftLoc, rightLoc);
+ }
+
+ /**
+ * The ringCoord is assumed to contain no repeated points.
+ * It may be degenerate (i.e. contain only 1, 2, or 3 points).
+ * In this case it has no area, and hence has a minimum diameter of 0.
+ *
+ * @param ringCoord
+ * @param offsetDistance
+ * @return
+ */
+ private boolean isErodedCompletely(LinearRing ring, double bufferDistance)
+ {
+ Coordinate[] ringCoord = ring.getCoordinates();
+ double minDiam = 0.0;
+ // degenerate ring has no area
+ if (ringCoord.length < 4)
+ return bufferDistance < 0;
+
+ // important test to eliminate inverted triangle bug
+ // also optimizes erosion test for triangles
+ if (ringCoord.length == 4)
+ return isTriangleErodedCompletely(ringCoord, bufferDistance);
+
+ // if envelope is narrower than twice the buffer distance, ring is eroded
+ Envelope env = ring.getEnvelopeInternal();
+ double envMinDimension = Math.min(env.getHeight(), env.getWidth());
+ if (bufferDistance < 0.0
+ && 2 * Math.abs(bufferDistance) > envMinDimension)
+ return true;
+
+ return false;
+ /**
+ * The following is a heuristic test to determine whether an
+ * inside buffer will be eroded completely.
+ * It is based on the fact that the minimum diameter of the ring pointset
+ * provides an upper bound on the buffer distance which would erode the
+ * ring.
+ * If the buffer distance is less than the minimum diameter, the ring
+ * may still be eroded, but this will be determined by
+ * a full topological computation.
+ *
+ */
+//System.out.println(ring);
+/* MD 7 Feb 2005 - there's an unknown bug in the MD code, so disable this for now
+ MinimumDiameter md = new MinimumDiameter(ring);
+ minDiam = md.getLength();
+ //System.out.println(md.getDiameter());
+ return minDiam < 2 * Math.abs(bufferDistance);
+ */
+ }
+
+ /**
+ * Tests whether a triangular ring would be eroded completely by the given
+ * buffer distance.
+ * This is a precise test. It uses the fact that the inner buffer of a
+ * triangle converges on the inCentre of the triangle (the point
+ * equidistant from all sides). If the buffer distance is greater than the
+ * distance of the inCentre from a side, the triangle will be eroded completely.
+ *
+ * This test is important, since it removes a problematic case where
+ * the buffer distance is slightly larger than the inCentre distance.
+ * In this case the triangle buffer curve "inverts" with incorrect topology,
+ * producing an incorrect hole in the buffer.
+ *
+ * @param triangleCoord
+ * @param bufferDistance
+ * @return
+ */
+ private boolean isTriangleErodedCompletely(
+ Coordinate[] triangleCoord,
+ double bufferDistance)
+ {
+ Triangle tri = new Triangle(triangleCoord[0], triangleCoord[1], triangleCoord[2]);
+ Coordinate inCentre = tri.inCentre();
+ double distToCentre = Distance.pointToSegment(inCentre, tri.p0, tri.p1);
+ return distToCentre < Math.abs(bufferDistance);
+ }
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentGenerator.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentGenerator.java
new file mode 100644
index 0000000..c157864
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentGenerator.java
@@ -0,0 +1,656 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.algorithm.Angle;
+import org.locationtech.jts.algorithm.HCoordinate;
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.NotRepresentableException;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * Generates segments which form an offset curve.
+ * Supports all end cap and join options
+ * provided for buffering.
+ * This algorithm implements various heuristics to
+ * produce smoother, simpler curves which are
+ * still within a reasonable tolerance of the
+ * true curve.
+ *
+ * @author Martin Davis
+ *
+ */
+class OffsetSegmentGenerator
+{
+
+ /**
+ * Factor which controls how close offset segments can be to
+ * skip adding a filler or mitre.
+ */
+ private static final double OFFSET_SEGMENT_SEPARATION_FACTOR = 1.0E-3;
+
+ /**
+ * Factor which controls how close curve vertices on inside turns can be to be snapped
+ */
+ private static final double INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR = 1.0E-3;
+
+ /**
+ * Factor which controls how close curve vertices can be to be snapped
+ */
+ private static final double CURVE_VERTEX_SNAP_DISTANCE_FACTOR = 1.0E-6;
+
+ /**
+ * Factor which determines how short closing segs can be for round buffers
+ */
+ private static final int MAX_CLOSING_SEG_LEN_FACTOR = 80;
+
+ /**
+ * the max error of approximation (distance) between a quad segment and the true fillet curve
+ */
+ private double maxCurveSegmentError = 0.0;
+
+ /**
+ * The angle quantum with which to approximate a fillet curve
+ * (based on the input # of quadrant segments)
+ */
+ private double filletAngleQuantum;
+
+ /**
+ * The Closing Segment Length Factor controls how long
+ * "closing segments" are. Closing segments are added
+ * at the middle of inside corners to ensure a smoother
+ * boundary for the buffer offset curve.
+ * In some cases (particularly for round joins with default-or-better
+ * quantization) the closing segments can be made quite short.
+ * This substantially improves performance (due to fewer intersections being created).
+ *
+ * A closingSegFactor of 0 results in lines to the corner vertex
+ * A closingSegFactor of 1 results in lines halfway to the corner vertex
+ * A closingSegFactor of 80 results in lines 1/81 of the way to the corner vertex
+ * (this option is reasonable for the very common default situation of round joins
+ * and quadrantSegs >= 8)
+ */
+ private int closingSegLengthFactor = 1;
+
+ private OffsetSegmentString segList;
+ private double distance = 0.0;
+ private PrecisionModel precisionModel;
+ private BufferParameters bufParams;
+ private LineIntersector li;
+
+ private Coordinate s0, s1, s2;
+ private LineSegment seg0 = new LineSegment();
+ private LineSegment seg1 = new LineSegment();
+ private LineSegment offset0 = new LineSegment();
+ private LineSegment offset1 = new LineSegment();
+ private int side = 0;
+ private boolean hasNarrowConcaveAngle = false;
+
+ public OffsetSegmentGenerator(PrecisionModel precisionModel,
+ BufferParameters bufParams, double distance) {
+ this.precisionModel = precisionModel;
+ this.bufParams = bufParams;
+
+ // compute intersections in full precision, to provide accuracy
+ // the points are rounded as they are inserted into the curve line
+ li = new RobustLineIntersector();
+ filletAngleQuantum = Math.PI / 2.0 / bufParams.getQuadrantSegments();
+
+ /**
+ * Non-round joins cause issues with short closing segments, so don't use
+ * them. In any case, non-round joins only really make sense for relatively
+ * small buffer distances.
+ */
+ if (bufParams.getQuadrantSegments() >= 8
+ && bufParams.getJoinStyle() == BufferParameters.JOIN_ROUND)
+ closingSegLengthFactor = MAX_CLOSING_SEG_LEN_FACTOR;
+ init(distance);
+ }
+
+ /**
+ * Tests whether the input has a narrow concave angle
+ * (relative to the offset distance).
+ * In this case the generated offset curve will contain self-intersections
+ * and heuristic closing segments.
+ * This is expected behaviour in the case of Buffer curves.
+ * For pure Offset Curves,
+ * the output needs to be further treated
+ * before it can be used.
+ *
+ * @return true if the input has a narrow concave angle
+ */
+ public boolean hasNarrowConcaveAngle()
+ {
+ return hasNarrowConcaveAngle;
+ }
+
+ private void init(double distance)
+ {
+ this.distance = distance;
+ maxCurveSegmentError = distance * (1 - Math.cos(filletAngleQuantum / 2.0));
+ segList = new OffsetSegmentString();
+ segList.setPrecisionModel(precisionModel);
+ /**
+ * Choose the min vertex separation as a small fraction of the offset distance.
+ */
+ segList.setMinimumVertexDistance(distance * CURVE_VERTEX_SNAP_DISTANCE_FACTOR);
+ }
+
+
+ public void initSideSegments(Coordinate s1, Coordinate s2, int side)
+ {
+ this.s1 = s1;
+ this.s2 = s2;
+ this.side = side;
+ seg1.setCoordinates(s1, s2);
+ computeOffsetSegment(seg1, side, distance, offset1);
+ }
+
+ public Coordinate[] getCoordinates()
+ {
+ Coordinate[] pts = segList.getCoordinates();
+ return pts;
+ }
+
+ public void closeRing()
+ {
+ segList.closeRing();
+ }
+
+ public void addSegments(Coordinate[] pt, boolean isForward)
+ {
+ segList.addPts(pt, isForward);
+ }
+
+ public void addFirstSegment()
+ {
+ segList.addPt(offset1.p0);
+ }
+
+ /**
+ * Add last offset point
+ */
+ public void addLastSegment()
+ {
+ segList.addPt(offset1.p1);
+ }
+
+ //private static double MAX_CLOSING_SEG_LEN = 3.0;
+
+ public void addNextSegment(Coordinate p, boolean addStartPoint)
+ {
+ // s0-s1-s2 are the coordinates of the previous segment and the current one
+ s0 = s1;
+ s1 = s2;
+ s2 = p;
+ seg0.setCoordinates(s0, s1);
+ computeOffsetSegment(seg0, side, distance, offset0);
+ seg1.setCoordinates(s1, s2);
+ computeOffsetSegment(seg1, side, distance, offset1);
+
+ // do nothing if points are equal
+ if (s1.equals(s2)) return;
+
+ int orientation = Orientation.index(s0, s1, s2);
+ boolean outsideTurn =
+ (orientation == Orientation.CLOCKWISE && side == Position.LEFT)
+ || (orientation == Orientation.COUNTERCLOCKWISE && side == Position.RIGHT);
+
+ if (orientation == 0) { // lines are collinear
+ addCollinear(addStartPoint);
+ }
+ else if (outsideTurn)
+ {
+ addOutsideTurn(orientation, addStartPoint);
+ }
+ else { // inside turn
+ addInsideTurn(orientation, addStartPoint);
+ }
+ }
+
+ private void addCollinear(boolean addStartPoint)
+ {
+ /**
+ * This test could probably be done more efficiently,
+ * but the situation of exact collinearity should be fairly rare.
+ */
+ li.computeIntersection(s0, s1, s1, s2);
+ int numInt = li.getIntersectionNum();
+ /**
+ * if numInt is < 2, the lines are parallel and in the same direction. In
+ * this case the point can be ignored, since the offset lines will also be
+ * parallel.
+ */
+ if (numInt >= 2) {
+ /**
+ * segments are collinear but reversing.
+ * Add an "end-cap" fillet
+ * all the way around to other direction This case should ONLY happen
+ * for LineStrings, so the orientation is always CW. (Polygons can never
+ * have two consecutive segments which are parallel but reversed,
+ * because that would be a self intersection.
+ *
+ */
+ if (bufParams.getJoinStyle() == BufferParameters.JOIN_BEVEL
+ || bufParams.getJoinStyle() == BufferParameters.JOIN_MITRE) {
+ if (addStartPoint) segList.addPt(offset0.p1);
+ segList.addPt(offset1.p0);
+ }
+ else {
+ addCornerFillet(s1, offset0.p1, offset1.p0, Orientation.CLOCKWISE, distance);
+ }
+ }
+ }
+
+ /**
+ * Adds the offset points for an outside (convex) turn
+ *
+ * @param orientation
+ * @param addStartPoint
+ */
+ private void addOutsideTurn(int orientation, boolean addStartPoint)
+ {
+ /**
+ * Heuristic: If offset endpoints are very close together,
+ * just use one of them as the corner vertex.
+ * This avoids problems with computing mitre corners in the case
+ * where the two segments are almost parallel
+ * (which is hard to compute a robust intersection for).
+ */
+ if (offset0.p1.distance(offset1.p0) < distance * OFFSET_SEGMENT_SEPARATION_FACTOR) {
+ segList.addPt(offset0.p1);
+ return;
+ }
+
+ if (bufParams.getJoinStyle() == BufferParameters.JOIN_MITRE) {
+ addMitreJoin(s1, offset0, offset1, distance);
+ }
+ else if (bufParams.getJoinStyle() == BufferParameters.JOIN_BEVEL){
+ addBevelJoin(offset0, offset1);
+ }
+ else {
+ // add a circular fillet connecting the endpoints of the offset segments
+ if (addStartPoint) segList.addPt(offset0.p1);
+ // TESTING - comment out to produce beveled joins
+ addCornerFillet(s1, offset0.p1, offset1.p0, orientation, distance);
+ segList.addPt(offset1.p0);
+ }
+ }
+
+ /**
+ * Adds the offset points for an inside (concave) turn.
+ *
+ * @param orientation
+ * @param addStartPoint
+ */
+ private void addInsideTurn(int orientation, boolean addStartPoint) {
+ /**
+ * add intersection point of offset segments (if any)
+ */
+ li.computeIntersection(offset0.p0, offset0.p1, offset1.p0, offset1.p1);
+ if (li.hasIntersection()) {
+ segList.addPt(li.getIntersection(0));
+ }
+ else {
+ /**
+ * If no intersection is detected,
+ * it means the angle is so small and/or the offset so
+ * large that the offsets segments don't intersect.
+ * In this case we must
+ * add a "closing segment" to make sure the buffer curve is continuous,
+ * fairly smooth (e.g. no sharp reversals in direction)
+ * and tracks the buffer correctly around the corner. The curve connects
+ * the endpoints of the segment offsets to points
+ * which lie toward the centre point of the corner.
+ * The joining curve will not appear in the final buffer outline, since it
+ * is completely internal to the buffer polygon.
+ *
+ * In complex buffer cases the closing segment may cut across many other
+ * segments in the generated offset curve. In order to improve the
+ * performance of the noding, the closing segment should be kept as short as possible.
+ * (But not too short, since that would defeat its purpose).
+ * This is the purpose of the closingSegFactor heuristic value.
+ */
+
+ /**
+ * The intersection test above is vulnerable to robustness errors; i.e. it
+ * may be that the offsets should intersect very close to their endpoints,
+ * but aren't reported as such due to rounding. To handle this situation
+ * appropriately, we use the following test: If the offset points are very
+ * close, don't add closing segments but simply use one of the offset
+ * points
+ */
+ hasNarrowConcaveAngle = true;
+ //System.out.println("NARROW ANGLE - distance = " + distance);
+ if (offset0.p1.distance(offset1.p0) < distance
+ * INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR) {
+ segList.addPt(offset0.p1);
+ } else {
+ // add endpoint of this segment offset
+ segList.addPt(offset0.p1);
+
+ /**
+ * Add "closing segment" of required length.
+ */
+ if (closingSegLengthFactor > 0) {
+ Coordinate mid0 = new Coordinate((closingSegLengthFactor * offset0.p1.x + s1.x)/(closingSegLengthFactor + 1),
+ (closingSegLengthFactor*offset0.p1.y + s1.y)/(closingSegLengthFactor + 1));
+ segList.addPt(mid0);
+ Coordinate mid1 = new Coordinate((closingSegLengthFactor*offset1.p0.x + s1.x)/(closingSegLengthFactor + 1),
+ (closingSegLengthFactor*offset1.p0.y + s1.y)/(closingSegLengthFactor + 1));
+ segList.addPt(mid1);
+ }
+ else {
+ /**
+ * This branch is not expected to be used except for testing purposes.
+ * It is equivalent to the JTS 1.9 logic for closing segments
+ * (which results in very poor performance for large buffer distances)
+ */
+ segList.addPt(s1);
+ }
+
+ //*/
+ // add start point of next segment offset
+ segList.addPt(offset1.p0);
+ }
+ }
+ }
+
+
+ /**
+ * Compute an offset segment for an input segment on a given side and at a given distance.
+ * The offset points are computed in full double precision, for accuracy.
+ *
+ * @param seg the segment to offset
+ * @param side the side of the segment ({@link Position}) the offset lies on
+ * @param distance the offset distance
+ * @param offset the points computed for the offset segment
+ */
+ private void computeOffsetSegment(LineSegment seg, int side, double distance, LineSegment offset)
+ {
+ int sideSign = side == Position.LEFT ? 1 : -1;
+ double dx = seg.p1.x - seg.p0.x;
+ double dy = seg.p1.y - seg.p0.y;
+ double len = Math.sqrt(dx * dx + dy * dy);
+ // u is the vector that is the length of the offset, in the direction of the segment
+ double ux = sideSign * distance * dx / len;
+ double uy = sideSign * distance * dy / len;
+ offset.p0.x = seg.p0.x - uy;
+ offset.p0.y = seg.p0.y + ux;
+ offset.p1.x = seg.p1.x - uy;
+ offset.p1.y = seg.p1.y + ux;
+ }
+
+ /**
+ * Add an end cap around point p1, terminating a line segment coming from p0
+ */
+ public void addLineEndCap(Coordinate p0, Coordinate p1)
+ {
+ LineSegment seg = new LineSegment(p0, p1);
+
+ LineSegment offsetL = new LineSegment();
+ computeOffsetSegment(seg, Position.LEFT, distance, offsetL);
+ LineSegment offsetR = new LineSegment();
+ computeOffsetSegment(seg, Position.RIGHT, distance, offsetR);
+
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ double angle = Math.atan2(dy, dx);
+
+ switch (bufParams.getEndCapStyle()) {
+ case BufferParameters.CAP_ROUND:
+ // add offset seg points with a fillet between them
+ segList.addPt(offsetL.p1);
+ addDirectedFillet(p1, angle + Math.PI / 2, angle - Math.PI / 2, Orientation.CLOCKWISE, distance);
+ segList.addPt(offsetR.p1);
+ break;
+ case BufferParameters.CAP_FLAT:
+ // only offset segment points are added
+ segList.addPt(offsetL.p1);
+ segList.addPt(offsetR.p1);
+ break;
+ case BufferParameters.CAP_SQUARE:
+ // add a square defined by extensions of the offset segment endpoints
+ Coordinate squareCapSideOffset = new Coordinate();
+ squareCapSideOffset.x = Math.abs(distance) * Math.cos(angle);
+ squareCapSideOffset.y = Math.abs(distance) * Math.sin(angle);
+
+ Coordinate squareCapLOffset = new Coordinate(
+ offsetL.p1.x + squareCapSideOffset.x,
+ offsetL.p1.y + squareCapSideOffset.y);
+ Coordinate squareCapROffset = new Coordinate(
+ offsetR.p1.x + squareCapSideOffset.x,
+ offsetR.p1.y + squareCapSideOffset.y);
+ segList.addPt(squareCapLOffset);
+ segList.addPt(squareCapROffset);
+ break;
+
+ }
+ }
+ /**
+ * Adds a mitre join connecting the two reflex offset segments.
+ * The mitre will be beveled if it exceeds the mitre ratio limit.
+ *
+ * @param offset0 the first offset segment
+ * @param offset1 the second offset segment
+ * @param distance the offset distance
+ */
+ private void addMitreJoin(Coordinate p,
+ LineSegment offset0,
+ LineSegment offset1,
+ double distance)
+ {
+ boolean isMitreWithinLimit = true;
+ Coordinate intPt = null;
+
+ /**
+ * This computation is unstable if the offset segments are nearly collinear.
+ * However, this situation should have been eliminated earlier by the check for
+ * whether the offset segment endpoints are almost coincident
+ */
+ try {
+ intPt = HCoordinate.intersection(offset0.p0,
+ offset0.p1, offset1.p0, offset1.p1);
+
+ double mitreRatio = distance <= 0.0 ? 1.0
+ : intPt.distance(p) / Math.abs(distance);
+
+ if (mitreRatio > bufParams.getMitreLimit())
+ isMitreWithinLimit = false;
+ }
+ catch (NotRepresentableException ex) {
+ intPt = new Coordinate(0,0);
+ isMitreWithinLimit = false;
+ }
+
+ if (isMitreWithinLimit) {
+ segList.addPt(intPt);
+ }
+ else {
+ addLimitedMitreJoin(offset0, offset1, distance, bufParams.getMitreLimit());
+// addBevelJoin(offset0, offset1);
+ }
+ }
+
+
+ /**
+ * Adds a limited mitre join connecting the two reflex offset segments.
+ * A limited mitre is a mitre which is beveled at the distance
+ * determined by the mitre ratio limit.
+ *
+ * @param offset0 the first offset segment
+ * @param offset1 the second offset segment
+ * @param distance the offset distance
+ * @param mitreLimit the mitre limit ratio
+ */
+ private void addLimitedMitreJoin(
+ LineSegment offset0,
+ LineSegment offset1,
+ double distance,
+ double mitreLimit)
+ {
+ Coordinate basePt = seg0.p1;
+
+ double ang0 = Angle.angle(basePt, seg0.p0);
+ double ang1 = Angle.angle(basePt, seg1.p1);
+
+ // oriented angle between segments
+ double angDiff = Angle.angleBetweenOriented(seg0.p0, basePt, seg1.p1);
+ // half of the interior angle
+ double angDiffHalf = angDiff / 2;
+
+ // angle for bisector of the interior angle between the segments
+ double midAng = Angle.normalize(ang0 + angDiffHalf);
+ // rotating this by PI gives the bisector of the reflex angle
+ double mitreMidAng = Angle.normalize(midAng + Math.PI);
+
+ // the miterLimit determines the distance to the mitre bevel
+ double mitreDist = mitreLimit * distance;
+ // the bevel delta is the difference between the buffer distance
+ // and half of the length of the bevel segment
+ double bevelDelta = mitreDist * Math.abs(Math.sin(angDiffHalf));
+ double bevelHalfLen = distance - bevelDelta;
+
+ // compute the midpoint of the bevel segment
+ double bevelMidX = basePt.x + mitreDist * Math.cos(mitreMidAng);
+ double bevelMidY = basePt.y + mitreDist * Math.sin(mitreMidAng);
+ Coordinate bevelMidPt = new Coordinate(bevelMidX, bevelMidY);
+
+ // compute the mitre midline segment from the corner point to the bevel segment midpoint
+ LineSegment mitreMidLine = new LineSegment(basePt, bevelMidPt);
+
+ // finally the bevel segment endpoints are computed as offsets from
+ // the mitre midline
+ Coordinate bevelEndLeft = mitreMidLine.pointAlongOffset(1.0, bevelHalfLen);
+ Coordinate bevelEndRight = mitreMidLine.pointAlongOffset(1.0, -bevelHalfLen);
+
+ if (side == Position.LEFT) {
+ segList.addPt(bevelEndLeft);
+ segList.addPt(bevelEndRight);
+ }
+ else {
+ segList.addPt(bevelEndRight);
+ segList.addPt(bevelEndLeft);
+ }
+ }
+
+ /**
+ * Adds a bevel join connecting the two offset segments
+ * around a reflex corner.
+ *
+ * @param offset0 the first offset segment
+ * @param offset1 the second offset segment
+ */
+ private void addBevelJoin(
+ LineSegment offset0,
+ LineSegment offset1)
+ {
+ segList.addPt(offset0.p1);
+ segList.addPt(offset1.p0);
+ }
+
+
+ /**
+ * Add points for a circular fillet around a reflex corner.
+ * Adds the start and end points
+ *
+ * @param p base point of curve
+ * @param p0 start point of fillet curve
+ * @param p1 endpoint of fillet curve
+ * @param direction the orientation of the fillet
+ * @param radius the radius of the fillet
+ */
+ private void addCornerFillet(Coordinate p, Coordinate p0, Coordinate p1, int direction, double radius)
+ {
+ double dx0 = p0.x - p.x;
+ double dy0 = p0.y - p.y;
+ double startAngle = Math.atan2(dy0, dx0);
+ double dx1 = p1.x - p.x;
+ double dy1 = p1.y - p.y;
+ double endAngle = Math.atan2(dy1, dx1);
+
+ if (direction == Orientation.CLOCKWISE) {
+ if (startAngle <= endAngle) startAngle += 2.0 * Math.PI;
+ }
+ else { // direction == COUNTERCLOCKWISE
+ if (startAngle >= endAngle) startAngle -= 2.0 * Math.PI;
+ }
+ segList.addPt(p0);
+ addDirectedFillet(p, startAngle, endAngle, direction, radius);
+ segList.addPt(p1);
+ }
+
+ /**
+ * Adds points for a circular fillet arc
+ * between two specified angles.
+ * The start and end point for the fillet are not added -
+ * the caller must add them if required.
+ *
+ * @param direction is -1 for a CW angle, 1 for a CCW angle
+ * @param radius the radius of the fillet
+ */
+ private void addDirectedFillet(Coordinate p, double startAngle, double endAngle, int direction, double radius)
+ {
+ int directionFactor = direction == Orientation.CLOCKWISE ? -1 : 1;
+
+ double totalAngle = Math.abs(startAngle - endAngle);
+ int nSegs = (int) (totalAngle / filletAngleQuantum + 0.5);
+
+ if (nSegs < 1) return; // no segments because angle is less than increment - nothing to do!
+
+ double initAngle, currAngleInc;
+
+ // choose angle increment so that each segment has equal length
+ initAngle = 0.0;
+ currAngleInc = totalAngle / nSegs;
+
+ double currAngle = initAngle;
+ Coordinate pt = new Coordinate();
+ while (currAngle < totalAngle) {
+ double angle = startAngle + directionFactor * currAngle;
+ pt.x = p.x + radius * Math.cos(angle);
+ pt.y = p.y + radius * Math.sin(angle);
+ segList.addPt(pt);
+ currAngle += currAngleInc;
+ }
+ }
+
+
+ /**
+ * Creates a CW circle around a point
+ */
+ public void createCircle(Coordinate p)
+ {
+ // add start point
+ Coordinate pt = new Coordinate(p.x + distance, p.y);
+ segList.addPt(pt);
+ addDirectedFillet(p, 0.0, 2.0 * Math.PI, -1, distance);
+ segList.closeRing();
+ }
+
+ /**
+ * Creates a CW square around a point
+ */
+ public void createSquare(Coordinate p)
+ {
+ segList.addPt(new Coordinate(p.x + distance, p.y + distance));
+ segList.addPt(new Coordinate(p.x + distance, p.y - distance));
+ segList.addPt(new Coordinate(p.x - distance, p.y - distance));
+ segList.addPt(new Coordinate(p.x - distance, p.y + distance));
+ segList.closeRing();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentString.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentString.java
new file mode 100644
index 0000000..a15ca31
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/OffsetSegmentString.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+
+/**
+ * A dynamic list of the vertices in a constructed offset curve.
+ * Automatically removes adjacent vertices
+ * which are closer than a given tolerance.
+ *
+ * @author Martin Davis
+ *
+ */
+class OffsetSegmentString
+{
+ private static final Coordinate[] COORDINATE_ARRAY_TYPE = new Coordinate[0];
+
+ private ArrayList ptList;
+ private PrecisionModel precisionModel = null;
+
+ /**
+ * The distance below which two adjacent points on the curve
+ * are considered to be coincident.
+ * This is chosen to be a small fraction of the offset distance.
+ */
+ private double minimimVertexDistance = 0.0;
+
+ public OffsetSegmentString()
+ {
+ ptList = new ArrayList();
+ }
+
+ public void setPrecisionModel(PrecisionModel precisionModel)
+ {
+ this.precisionModel = precisionModel;
+ }
+
+ public void setMinimumVertexDistance(double minimimVertexDistance)
+ {
+ this.minimimVertexDistance = minimimVertexDistance;
+ }
+
+ public void addPt(Coordinate pt)
+ {
+ Coordinate bufPt = new Coordinate(pt);
+ precisionModel.makePrecise(bufPt);
+ // don't add duplicate (or near-duplicate) points
+ if (isRedundant(bufPt))
+ return;
+ ptList.add(bufPt);
+//System.out.println(bufPt);
+ }
+
+ public void addPts(Coordinate[] pt, boolean isForward)
+ {
+ if (isForward) {
+ for (int i = 0; i < pt.length; i++) {
+ addPt(pt[i]);
+ }
+ }
+ else {
+ for (int i = pt.length - 1; i >= 0; i--) {
+ addPt(pt[i]);
+ }
+ }
+ }
+
+ /**
+ * Tests whether the given point is redundant
+ * relative to the previous
+ * point in the list (up to tolerance).
+ *
+ * @param pt
+ * @return true if the point is redundant
+ */
+ private boolean isRedundant(Coordinate pt)
+ {
+ if (ptList.size() < 1)
+ return false;
+ Coordinate lastPt = (Coordinate) ptList.get(ptList.size() - 1);
+ double ptDist = pt.distance(lastPt);
+ if (ptDist < minimimVertexDistance)
+ return true;
+ return false;
+ }
+
+ public void closeRing()
+ {
+ if (ptList.size() < 1) return;
+ Coordinate startPt = new Coordinate((Coordinate) ptList.get(0));
+ Coordinate lastPt = (Coordinate) ptList.get(ptList.size() - 1);
+ Coordinate last2Pt = null;
+ if (ptList.size() >= 2)
+ last2Pt = (Coordinate) ptList.get(ptList.size() - 2);
+ if (startPt.equals(lastPt)) return;
+ ptList.add(startPt);
+ }
+
+ public void reverse()
+ {
+
+ }
+
+ public Coordinate[] getCoordinates()
+ {
+ /*
+ // check that points are a ring - add the startpoint again if they are not
+ if (ptList.size() > 1) {
+ Coordinate start = (Coordinate) ptList.get(0);
+ Coordinate end = (Coordinate) ptList.get(ptList.size() - 1);
+ if (! start.equals(end) ) addPt(start);
+ }
+ */
+ Coordinate[] coord = (Coordinate[]) ptList.toArray(COORDINATE_ARRAY_TYPE);
+ return coord;
+ }
+
+ public String toString()
+ {
+ GeometryFactory fact = new GeometryFactory();
+ LineString line = fact.createLineString(getCoordinates());
+ return line.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/RightmostEdgeFinder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/RightmostEdgeFinder.java
new file mode 100644
index 0000000..bc078d7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/RightmostEdgeFinder.java
@@ -0,0 +1,171 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+/**
+ * @version 1.7
+ */
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.Position;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A RightmostEdgeFinder find the DirectedEdge in a list which has the highest coordinate,
+ * and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.)
+ *
+ * @version 1.7
+ */
+class RightmostEdgeFinder {
+
+ //private Coordinate extremeCoord;
+ private int minIndex = -1;
+ private Coordinate minCoord = null;
+ private DirectedEdge minDe = null;
+ private DirectedEdge orientedDe = null;
+ /**
+ * A RightmostEdgeFinder finds the DirectedEdge with the rightmost coordinate.
+ * The DirectedEdge returned is guaranteed to have the R of the world on its RHS.
+ */
+ public RightmostEdgeFinder()
+ {
+ }
+
+ public DirectedEdge getEdge() { return orientedDe; }
+ public Coordinate getCoordinate() { return minCoord; }
+
+ public void findEdge(List dirEdgeList)
+ {
+ /**
+ * Check all forward DirectedEdges only. This is still general,
+ * because each edge has a forward DirectedEdge.
+ */
+ for (Iterator i = dirEdgeList.iterator(); i.hasNext();) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ if (! de.isForward())
+ continue;
+ checkForRightmostCoordinate(de);
+ }
+
+ /**
+ * If the rightmost point is a node, we need to identify which of
+ * the incident edges is rightmost.
+ */
+ Assert.isTrue(minIndex != 0 || minCoord.equals(minDe.getCoordinate()) , "inconsistency in rightmost processing");
+ if (minIndex == 0 ) {
+ findRightmostEdgeAtNode();
+ }
+ else {
+ findRightmostEdgeAtVertex();
+ }
+ /**
+ * now check that the extreme side is the R side.
+ * If not, use the sym instead.
+ */
+ orientedDe = minDe;
+ int rightmostSide = getRightmostSide(minDe, minIndex);
+ if (rightmostSide == Position.LEFT) {
+ orientedDe = minDe.getSym();
+ }
+ }
+ private void findRightmostEdgeAtNode()
+ {
+ Node node = minDe.getNode();
+ DirectedEdgeStar star = (DirectedEdgeStar) node.getEdges();
+ minDe = star.getRightmostEdge();
+ // the DirectedEdge returned by the previous call is not
+ // necessarily in the forward direction. Use the sym edge if it isn't.
+ if (! minDe.isForward()) {
+ minDe = minDe.getSym();
+ minIndex = minDe.getEdge().getCoordinates().length - 1;
+ }
+ }
+ private void findRightmostEdgeAtVertex()
+ {
+ /**
+ * The rightmost point is an interior vertex, so it has a segment on either side of it.
+ * If these segments are both above or below the rightmost point, we need to
+ * determine their relative orientation to decide which is rightmost.
+ */
+ Coordinate[] pts = minDe.getEdge().getCoordinates();
+ Assert.isTrue(minIndex > 0 && minIndex < pts.length, "rightmost point expected to be interior vertex of edge");
+ Coordinate pPrev = pts[minIndex - 1];
+ Coordinate pNext = pts[minIndex + 1];
+ int orientation = Orientation.index(minCoord, pNext, pPrev);
+ boolean usePrev = false;
+ // both segments are below min point
+ if (pPrev.y < minCoord.y && pNext.y < minCoord.y
+ && orientation == Orientation.COUNTERCLOCKWISE) {
+ usePrev = true;
+ }
+ else if (pPrev.y > minCoord.y && pNext.y > minCoord.y
+ && orientation == Orientation.CLOCKWISE) {
+ usePrev = true;
+ }
+ // if both segments are on the same side, do nothing - either is safe
+ // to select as a rightmost segment
+ if (usePrev) {
+ minIndex = minIndex - 1;
+ }
+ }
+ private void checkForRightmostCoordinate(DirectedEdge de)
+ {
+ Coordinate[] coord = de.getEdge().getCoordinates();
+ for (int i = 0; i < coord.length - 1; i++) {
+ // only check vertices which are the start or end point of a non-horizontal segment
+ // <FIX> MD 19 Sep 03 - NO! we can test all vertices, since the rightmost must have a non-horiz segment adjacent to it
+ if (minCoord == null || coord[i].x > minCoord.x ) {
+ minDe = de;
+ minIndex = i;
+ minCoord = coord[i];
+ }
+ //}
+ }
+ }
+
+ private int getRightmostSide(DirectedEdge de, int index)
+ {
+ int side = getRightmostSideOfSegment(de, index);
+ if (side < 0)
+ side = getRightmostSideOfSegment(de, index - 1);
+ if (side < 0) {
+ // reaching here can indicate that segment is horizontal
+ //Assert.shouldNeverReachHere("problem with finding rightmost side of segment at " + de.getCoordinate());
+ // testing only
+ minCoord = null;
+ checkForRightmostCoordinate(de);
+ }
+ return side;
+ }
+
+ private int getRightmostSideOfSegment(DirectedEdge de, int i)
+ {
+ Edge e = de.getEdge();
+ Coordinate coord[] = e.getCoordinates();
+
+ if (i < 0 || i + 1 >= coord.length) return -1;
+ if (coord[i].y == coord[i + 1].y) return -1; // indicates edge is parallel to x-axis
+
+ int pos = Position.LEFT;
+ if (coord[i].y < coord[i + 1].y) pos = Position.RIGHT;
+ return pos;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/SubgraphDepthLocater.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/SubgraphDepthLocater.java
new file mode 100644
index 0000000..5bf3124
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/SubgraphDepthLocater.java
@@ -0,0 +1,245 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * Locates a subgraph inside a set of subgraphs,
+ * in order to determine the outside depth of the subgraph.
+ * The input subgraphs are assumed to have had depths
+ * already calculated for their edges.
+ *
+ * @version 1.7
+ */
+class SubgraphDepthLocater
+{
+ private Collection subgraphs;
+ private LineSegment seg = new LineSegment();
+
+ public SubgraphDepthLocater(List subgraphs)
+ {
+ this.subgraphs = subgraphs;
+ }
+
+ public int getDepth(Coordinate p)
+ {
+ List stabbedSegments = findStabbedSegments(p);
+ // if no segments on stabbing line subgraph must be outside all others.
+ if (stabbedSegments.size() == 0)
+ return 0;
+ DepthSegment ds = (DepthSegment) Collections.min(stabbedSegments);
+ return ds.leftDepth;
+ }
+
+ /**
+ * Finds all non-horizontal segments intersecting the stabbing line.
+ * The stabbing line is the ray to the right of stabbingRayLeftPt.
+ *
+ * @param stabbingRayLeftPt the left-hand origin of the stabbing line
+ * @return a List of {@link DepthSegments} intersecting the stabbing line
+ */
+ private List findStabbedSegments(Coordinate stabbingRayLeftPt)
+ {
+ List stabbedSegments = new ArrayList();
+ for (Iterator i = subgraphs.iterator(); i.hasNext(); ) {
+ BufferSubgraph bsg = (BufferSubgraph) i.next();
+
+ // optimization - don't bother checking subgraphs which the ray does not intersect
+ Envelope env = bsg.getEnvelope();
+ if (stabbingRayLeftPt.y < env.getMinY()
+ || stabbingRayLeftPt.y > env.getMaxY())
+ continue;
+
+ findStabbedSegments(stabbingRayLeftPt, bsg.getDirectedEdges(), stabbedSegments);
+ }
+ return stabbedSegments;
+ }
+
+ /**
+ * Finds all non-horizontal segments intersecting the stabbing line
+ * in the list of dirEdges.
+ * The stabbing line is the ray to the right of stabbingRayLeftPt.
+ *
+ * @param stabbingRayLeftPt the left-hand origin of the stabbing line
+ * @param stabbedSegments the current list of {@link DepthSegments} intersecting the stabbing line
+ */
+ private void findStabbedSegments(Coordinate stabbingRayLeftPt,
+ List dirEdges,
+ List stabbedSegments)
+ {
+ /**
+ * Check all forward DirectedEdges only. This is still general,
+ * because each Edge has a forward DirectedEdge.
+ */
+ for (Iterator i = dirEdges.iterator(); i.hasNext();) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ if (! de.isForward())
+ continue;
+ findStabbedSegments(stabbingRayLeftPt, de, stabbedSegments);
+ }
+ }
+
+ /**
+ * Finds all non-horizontal segments intersecting the stabbing line
+ * in the input dirEdge.
+ * The stabbing line is the ray to the right of stabbingRayLeftPt.
+ *
+ * @param stabbingRayLeftPt the left-hand origin of the stabbing line
+ * @param stabbedSegments the current list of {@link DepthSegments} intersecting the stabbing line
+ */
+ private void findStabbedSegments(Coordinate stabbingRayLeftPt,
+ DirectedEdge dirEdge,
+ List stabbedSegments)
+ {
+ Coordinate[] pts = dirEdge.getEdge().getCoordinates();
+ for (int i = 0; i < pts.length - 1; i++) {
+ seg.p0 = pts[i];
+ seg.p1 = pts[i + 1];
+ // ensure segment always points upwards
+ if (seg.p0.y > seg.p1.y)
+ seg.reverse();
+
+ // skip segment if it is left of the stabbing line
+ double maxx = Math.max(seg.p0.x, seg.p1.x);
+ if (maxx < stabbingRayLeftPt.x)
+ continue;
+
+ // skip horizontal segments (there will be a non-horizontal one carrying the same depth info
+ if (seg.isHorizontal())
+ continue;
+
+ // skip if segment is above or below stabbing line
+ if (stabbingRayLeftPt.y < seg.p0.y || stabbingRayLeftPt.y > seg.p1.y)
+ continue;
+
+ // skip if stabbing ray is right of the segment
+ if (Orientation.index(seg.p0, seg.p1, stabbingRayLeftPt)
+ == Orientation.RIGHT)
+ continue;
+
+ // stabbing line cuts this segment, so record it
+ int depth = dirEdge.getDepth(Position.LEFT);
+ // if segment direction was flipped, use RHS depth instead
+ if (! seg.p0.equals(pts[i]))
+ depth = dirEdge.getDepth(Position.RIGHT);
+ DepthSegment ds = new DepthSegment(seg, depth);
+ stabbedSegments.add(ds);
+ }
+ }
+
+
+ /**
+ * A segment from a directed edge which has been assigned a depth value
+ * for its sides.
+ */
+ static class DepthSegment
+ implements Comparable
+ {
+ private LineSegment upwardSeg;
+ private int leftDepth;
+
+ public DepthSegment(LineSegment seg, int depth)
+ {
+ // input seg is assumed to be normalized
+ upwardSeg = new LineSegment(seg);
+ //upwardSeg.normalize();
+ this.leftDepth = depth;
+ }
+ /**
+ * Defines a comparison operation on DepthSegments
+ * which orders them left to right.
+ * Assumes the segments are normalized.
+ * <p>
+ * The definition of the ordering is:
+ * <ul>
+ * <li>-1 : if DS1.seg is left of or below DS2.seg (DS1 < DS2)
+ * <li>1 : if DS1.seg is right of or above DS2.seg (DS1 > DS2)
+ * <li>0 : if the segments are identical
+ * </ul>
+ *
+ * KNOWN BUGS:
+ * <ul>
+ * <li>The logic does not obey the {@link Comparator.compareTo} contract.
+ * This is acceptable for the intended usage, but may cause problems if used with some
+ * utilities in the Java standard library (e.g. {@link Collections.sort()}.
+ * </ul>
+ *
+ * @param obj a DepthSegment
+ * @return the comparison value
+ */
+ public int compareTo(Object obj)
+ {
+ DepthSegment other = (DepthSegment) obj;
+
+ // fast check if segments are trivially ordered along X
+ if (upwardSeg.minX() >= other.upwardSeg.maxX()) return 1;
+ if (upwardSeg.maxX() <= other.upwardSeg.minX()) return -1;
+
+ /**
+ * try and compute a determinate orientation for the segments.
+ * Test returns 1 if other is left of this (i.e. this > other)
+ */
+ int orientIndex = upwardSeg.orientationIndex(other.upwardSeg);
+ if (orientIndex != 0) return orientIndex;
+
+ /**
+ * If comparison between this and other is indeterminate,
+ * try the opposite call order.
+ * The sign of the result needs to be flipped.
+ */
+ orientIndex = -1 * other.upwardSeg.orientationIndex(upwardSeg);
+ if (orientIndex != 0) return orientIndex;
+
+ // otherwise, use standard lexocographic segment ordering
+ return upwardSeg.compareTo(other.upwardSeg);
+ }
+
+ /**
+ * Compare two collinear segments for left-most ordering.
+ * If segs are vertical, use vertical ordering for comparison.
+ * If segs are equal, return 0.
+ * Segments are assumed to be directed so that the second coordinate is >= to the first
+ * (e.g. up and to the right).
+ *
+ * @param seg0 a segment to compare
+ * @param seg1 a segment to compare
+ * @return
+ */
+ private int compareX(LineSegment seg0, LineSegment seg1)
+ {
+ int compare0 = seg0.p0.compareTo(seg1.p0);
+ if (compare0 != 0)
+ return compare0;
+ return seg0.p1.compareTo(seg1.p1);
+
+ }
+
+ public String toString()
+ {
+ return upwardSeg.toString();
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/package.html
new file mode 100644
index 0000000..1dec4cc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for computing buffers of geometries
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferCurveMaximumDistanceFinder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferCurveMaximumDistanceFinder.java
new file mode 100644
index 0000000..ff6dc3c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferCurveMaximumDistanceFinder.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer.validate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Finds the approximate maximum distance from a buffer curve to
+ * the originating geometry.
+ * This is similar to the Discrete Oriented Hausdorff distance
+ * from the buffer curve to the input.
+ * <p>
+ * The approximate maximum distance is determined by testing
+ * all vertices in the buffer curve, as well
+ * as midpoints of the curve segments.
+ * Due to the way buffer curves are constructed, this
+ * should be a very close approximation.
+ *
+ * @author mbdavis
+ *
+ */
+public class BufferCurveMaximumDistanceFinder
+{
+ private Geometry inputGeom;
+ private PointPairDistance maxPtDist = new PointPairDistance();
+
+ public BufferCurveMaximumDistanceFinder(Geometry inputGeom)
+ {
+ this.inputGeom = inputGeom;
+ }
+
+ public double findDistance(Geometry bufferCurve)
+ {
+ computeMaxVertexDistance(bufferCurve);
+ computeMaxMidpointDistance(bufferCurve);
+ return maxPtDist.getDistance();
+ }
+
+ public PointPairDistance getDistancePoints()
+ {
+ return maxPtDist;
+ }
+ private void computeMaxVertexDistance(Geometry curve)
+ {
+ MaxPointDistanceFilter distFilter = new MaxPointDistanceFilter(inputGeom);
+ curve.apply(distFilter);
+ maxPtDist.setMaximum(distFilter.getMaxPointDistance());
+ }
+
+ private void computeMaxMidpointDistance(Geometry curve)
+ {
+ MaxMidpointDistanceFilter distFilter = new MaxMidpointDistanceFilter(inputGeom);
+ curve.apply(distFilter);
+ maxPtDist.setMaximum(distFilter.getMaxPointDistance());
+ }
+
+ public static class MaxPointDistanceFilter implements CoordinateFilter {
+ private PointPairDistance maxPtDist = new PointPairDistance();
+ private PointPairDistance minPtDist = new PointPairDistance();
+ private Geometry geom;
+
+ public MaxPointDistanceFilter(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public void filter(Coordinate pt) {
+ minPtDist.initialize();
+ DistanceToPointFinder.computeDistance(geom, pt, minPtDist);
+ maxPtDist.setMaximum(minPtDist);
+ }
+
+ public PointPairDistance getMaxPointDistance() {
+ return maxPtDist;
+ }
+ }
+
+ public static class MaxMidpointDistanceFilter
+ implements CoordinateSequenceFilter
+ {
+ private PointPairDistance maxPtDist = new PointPairDistance();
+ private PointPairDistance minPtDist = new PointPairDistance();
+ private Geometry geom;
+
+ public MaxMidpointDistanceFilter(Geometry geom) {
+ this.geom = geom;
+ }
+
+ public void filter(CoordinateSequence seq, int index)
+ {
+ if (index == 0)
+ return;
+
+ Coordinate p0 = seq.getCoordinate(index - 1);
+ Coordinate p1 = seq.getCoordinate(index);
+ Coordinate midPt = new Coordinate(
+ (p0.x + p1.x)/2,
+ (p0.y + p1.y)/2);
+
+ minPtDist.initialize();
+ DistanceToPointFinder.computeDistance(geom, midPt, minPtDist);
+ maxPtDist.setMaximum(minPtDist);
+ }
+
+ public boolean isGeometryChanged() { return false; }
+
+ public boolean isDone() { return false; }
+
+ public PointPairDistance getMaxPointDistance() {
+ return maxPtDist;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferDistanceValidator.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferDistanceValidator.java
new file mode 100644
index 0000000..59a3450
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferDistanceValidator.java
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer.validate;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.distance.DiscreteHausdorffDistance;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geom.util.PolygonExtracter;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.operation.distance.DistanceOp;
+
+/**
+ * Validates that a given buffer curve lies an appropriate distance
+ * from the input generating it.
+ * Useful only for round buffers (cap and join).
+ * Can be used for either positive or negative distances.
+ * <p>
+ * This is a heuristic test, and may return false positive results
+ * (I.e. it may fail to detect an invalid result.)
+ * It should never return a false negative result, however
+ * (I.e. it should never report a valid result as invalid.)
+ *
+ * @author mbdavis
+ *
+ */
+public class BufferDistanceValidator
+{
+ private static boolean VERBOSE = false;
+ /**
+ * Maximum allowable fraction of buffer distance the
+ * actual distance can differ by.
+ * 1% sometimes causes an error - 1.2% should be safe.
+ */
+ private static final double MAX_DISTANCE_DIFF_FRAC = .012;
+
+ private Geometry input;
+ private double bufDistance;
+ private Geometry result;
+
+ private double minValidDistance;
+ private double maxValidDistance;
+
+ private double minDistanceFound;
+ private double maxDistanceFound;
+
+ private boolean isValid = true;
+ private String errMsg = null;
+ private Coordinate errorLocation = null;
+ private Geometry errorIndicator = null;
+
+ public BufferDistanceValidator(Geometry input, double bufDistance, Geometry result)
+ {
+ this.input = input;
+ this.bufDistance = bufDistance;
+ this.result = result;
+ }
+
+ public boolean isValid()
+ {
+ double posDistance = Math.abs(bufDistance);
+ double distDelta = MAX_DISTANCE_DIFF_FRAC * posDistance;
+ minValidDistance = posDistance - distDelta;
+ maxValidDistance = posDistance + distDelta;
+
+ // can't use this test if either is empty
+ if (input.isEmpty() || result.isEmpty())
+ return true;
+
+ if (bufDistance > 0.0) {
+ checkPositiveValid();
+ }
+ else {
+ checkNegativeValid();
+ }
+ if (VERBOSE) {
+ System.out.println("Min Dist= " + minDistanceFound + " err= "
+ + (1.0 - minDistanceFound / bufDistance)
+ + " Max Dist= " + maxDistanceFound + " err= "
+ + (maxDistanceFound / bufDistance - 1.0)
+ );
+ }
+ return isValid;
+ }
+
+ public String getErrorMessage()
+ {
+ return errMsg;
+ }
+
+ public Coordinate getErrorLocation()
+ {
+ return errorLocation;
+ }
+
+ /**
+ * Gets a geometry which indicates the location and nature of a validation failure.
+ * <p>
+ * The indicator is a line segment showing the location and size
+ * of the distance discrepancy.
+ *
+ * @return a geometric error indicator
+ * or null if no error was found
+ */
+ public Geometry getErrorIndicator()
+ {
+ return errorIndicator;
+ }
+
+ private void checkPositiveValid()
+ {
+ Geometry bufCurve = result.getBoundary();
+ checkMinimumDistance(input, bufCurve, minValidDistance);
+ if (! isValid) return;
+
+ checkMaximumDistance(input, bufCurve, maxValidDistance);
+ }
+
+ private void checkNegativeValid()
+ {
+ // Assert: only polygonal inputs can be checked for negative buffers
+
+ // MD - could generalize this to handle GCs too
+ if (! (input instanceof Polygon
+ || input instanceof MultiPolygon
+ || input instanceof GeometryCollection
+ )) {
+ return;
+ }
+ Geometry inputCurve = getPolygonLines(input);
+ checkMinimumDistance(inputCurve, result, minValidDistance);
+ if (! isValid) return;
+
+ checkMaximumDistance(inputCurve, result, maxValidDistance);
+ }
+
+ private Geometry getPolygonLines(Geometry g)
+ {
+ List lines = new ArrayList();
+ LinearComponentExtracter lineExtracter = new LinearComponentExtracter(lines);
+ List polys = PolygonExtracter.getPolygons(g);
+ for (Iterator i = polys.iterator(); i.hasNext(); ) {
+ Polygon poly = (Polygon) i.next();
+ poly.apply(lineExtracter);
+ }
+ return g.getFactory().buildGeometry(lines);
+ }
+
+ /**
+ * Checks that two geometries are at least a minimum distance apart.
+ *
+ * @param g1 a geometry
+ * @param g2 a geometry
+ * @param minDist the minimum distance the geometries should be separated by
+ */
+ private void checkMinimumDistance(Geometry g1, Geometry g2, double minDist)
+ {
+ DistanceOp distOp = new DistanceOp(g1, g2, minDist);
+ minDistanceFound = distOp.distance();
+
+
+ if (minDistanceFound < minDist) {
+ isValid = false;
+ Coordinate[] pts = distOp.nearestPoints();
+ errorLocation = distOp.nearestPoints()[1];
+ errorIndicator = g1.getFactory().createLineString(pts);
+ errMsg = "Distance between buffer curve and input is too small "
+ + "(" + minDistanceFound
+ + " at " + WKTWriter.toLineString(pts[0], pts[1]) +" )";
+ }
+ }
+
+ /**
+ * Checks that the furthest distance from the buffer curve to the input
+ * is less than the given maximum distance.
+ * This uses the Oriented Hausdorff distance metric.
+ * It corresponds to finding
+ * the point on the buffer curve which is furthest from <i>some</i> point on the input.
+ *
+ * @param input a geometry
+ * @param bufCurve a geometry
+ * @param maxDist the maximum distance that a buffer result can be from the input
+ */
+ private void checkMaximumDistance(Geometry input, Geometry bufCurve, double maxDist)
+ {
+// BufferCurveMaximumDistanceFinder maxDistFinder = new BufferCurveMaximumDistanceFinder(input);
+// maxDistanceFound = maxDistFinder.findDistance(bufCurve);
+
+ DiscreteHausdorffDistance haus = new DiscreteHausdorffDistance(bufCurve, input);
+ haus.setDensifyFraction(0.25);
+ maxDistanceFound = haus.orientedDistance();
+
+ if (maxDistanceFound > maxDist) {
+ isValid = false;
+ Coordinate[] pts = haus.getCoordinates();
+ errorLocation = pts[1];
+ errorIndicator = input.getFactory().createLineString(pts);
+ errMsg = "Distance between buffer curve and input is too large "
+ + "(" + maxDistanceFound
+ + " at " + WKTWriter.toLineString(pts[0], pts[1]) +")";
+ }
+ }
+
+ /*
+ private void OLDcheckMaximumDistance(Geometry input, Geometry bufCurve, double maxDist)
+ {
+ BufferCurveMaximumDistanceFinder maxDistFinder = new BufferCurveMaximumDistanceFinder(input);
+ maxDistanceFound = maxDistFinder.findDistance(bufCurve);
+
+
+ if (maxDistanceFound > maxDist) {
+ isValid = false;
+ PointPairDistance ptPairDist = maxDistFinder.getDistancePoints();
+ errorLocation = ptPairDist.getCoordinate(1);
+ errMsg = "Distance between buffer curve and input is too large "
+ + "(" + ptPairDist.getDistance()
+ + " at " + ptPairDist.toString() +")";
+ }
+ }
+ */
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferResultValidator.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferResultValidator.java
new file mode 100644
index 0000000..860877e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/BufferResultValidator.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer.validate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Validates that the result of a buffer operation
+ * is geometrically correct, within a computed tolerance.
+ * <p>
+ * This is a heuristic test, and may return false positive results
+ * (I.e. it may fail to detect an invalid result.)
+ * It should never return a false negative result, however
+ * (I.e. it should never report a valid result as invalid.)
+ * <p>
+ * This test may be (much) more expensive than the original
+ * buffer computation.
+ *
+ * @author Martin Davis
+ */
+public class BufferResultValidator
+{
+ private static boolean VERBOSE = false;
+
+ /**
+ * Maximum allowable fraction of buffer distance the
+ * actual distance can differ by.
+ * 1% sometimes causes an error - 1.2% should be safe.
+ */
+ private static final double MAX_ENV_DIFF_FRAC = .012;
+
+ public static boolean isValid(Geometry g, double distance, Geometry result)
+ {
+ BufferResultValidator validator = new BufferResultValidator(g, distance, result);
+ if (validator.isValid())
+ return true;
+ return false;
+ }
+
+ /**
+ * Checks whether the geometry buffer is valid,
+ * and returns an error message if not.
+ *
+ * @param g
+ * @param distance
+ * @param result
+ * @return an appropriate error message
+ * or null if the buffer is valid
+ */
+ public static String isValidMsg(Geometry g, double distance, Geometry result)
+ {
+ BufferResultValidator validator = new BufferResultValidator(g, distance, result);
+ if (! validator.isValid())
+ return validator.getErrorMessage();
+ return null;
+ }
+
+ private Geometry input;
+ private double distance;
+ private Geometry result;
+ private boolean isValid = true;
+ private String errorMsg = null;
+ private Coordinate errorLocation = null;
+ private Geometry errorIndicator = null;
+
+ public BufferResultValidator(Geometry input, double distance, Geometry result)
+ {
+ this.input = input;
+ this.distance = distance;
+ this.result = result;
+ }
+
+ public boolean isValid()
+ {
+ checkPolygonal();
+ if (! isValid) return isValid;
+ checkExpectedEmpty();
+ if (! isValid) return isValid;
+ checkEnvelope();
+ if (! isValid) return isValid;
+ checkArea();
+ if (! isValid) return isValid;
+ checkDistance();
+ return isValid;
+ }
+
+ public String getErrorMessage()
+ {
+ return errorMsg;
+ }
+
+ public Coordinate getErrorLocation()
+ {
+ return errorLocation;
+ }
+
+ /**
+ * Gets a geometry which indicates the location and nature of a validation failure.
+ * <p>
+ * If the failure is due to the buffer curve being too far or too close
+ * to the input, the indicator is a line segment showing the location and size
+ * of the discrepancy.
+ *
+ * @return a geometric error indicator
+ * or null if no error was found
+ */
+ public Geometry getErrorIndicator()
+ {
+ return errorIndicator;
+ }
+
+ private void report(String checkName)
+ {
+ if (! VERBOSE) return;
+ System.out.println("Check " + checkName + ": "
+ + (isValid ? "passed" : "FAILED"));
+ }
+
+ private void checkPolygonal()
+ {
+ if (! (result instanceof Polygon
+ || result instanceof MultiPolygon))
+ isValid = false;
+ errorMsg = "Result is not polygonal";
+ errorIndicator = result;
+ report("Polygonal");
+ }
+
+ private void checkExpectedEmpty()
+ {
+ // can't check areal features
+ if (input.getDimension() >= 2) return;
+ // can't check positive distances
+ if (distance > 0.0) return;
+
+ // at this point can expect an empty result
+ if (! result.isEmpty()) {
+ isValid = false;
+ errorMsg = "Result is non-empty";
+ errorIndicator = result;
+ }
+ report("ExpectedEmpty");
+ }
+
+ private void checkEnvelope()
+ {
+ if (distance < 0.0) return;
+
+ double padding = distance * MAX_ENV_DIFF_FRAC;
+ if (padding == 0.0) padding = 0.001;
+
+ Envelope expectedEnv = new Envelope(input.getEnvelopeInternal());
+ expectedEnv.expandBy(distance);
+
+ Envelope bufEnv = new Envelope(result.getEnvelopeInternal());
+ bufEnv.expandBy(padding);
+
+ if (! bufEnv.contains(expectedEnv)) {
+ isValid = false;
+ errorMsg = "Buffer envelope is incorrect";
+ errorIndicator = input.getFactory().toGeometry(bufEnv);
+ }
+ report("Envelope");
+ }
+
+ private void checkArea()
+ {
+ double inputArea = input.getArea();
+ double resultArea = result.getArea();
+
+ if (distance > 0.0
+ && inputArea > resultArea) {
+ isValid = false;
+ errorMsg = "Area of positive buffer is smaller than input";
+ errorIndicator = result;
+ }
+ if (distance < 0.0
+ && inputArea < resultArea) {
+ isValid = false;
+ errorMsg = "Area of negative buffer is larger than input";
+ errorIndicator = result;
+ }
+ report("Area");
+ }
+
+ private void checkDistance()
+ {
+ BufferDistanceValidator distValid = new BufferDistanceValidator(input, distance, result);
+ if (! distValid.isValid()) {
+ isValid = false;
+ errorMsg = distValid.getErrorMessage();
+ errorLocation = distValid.getErrorLocation();
+ errorIndicator = distValid.getErrorIndicator();
+ }
+ report("Distance");
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/DistanceToPointFinder.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/DistanceToPointFinder.java
new file mode 100644
index 0000000..5a4c486
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/DistanceToPointFinder.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer.validate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Computes the Euclidean distance (L2 metric) from a Point to a Geometry.
+ * Also computes two points which are separated by the distance.
+ */
+public class DistanceToPointFinder {
+
+ public DistanceToPointFinder() {
+ }
+
+ public static void computeDistance(Geometry geom, Coordinate pt, PointPairDistance ptDist)
+ {
+ if (geom instanceof LineString) {
+ computeDistance((LineString) geom, pt, ptDist);
+ }
+ else if (geom instanceof Polygon) {
+ computeDistance((Polygon) geom, pt, ptDist);
+ }
+ else if (geom instanceof GeometryCollection) {
+ GeometryCollection gc = (GeometryCollection) geom;
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ computeDistance(g, pt, ptDist);
+ }
+ }
+ else { // assume geom is Point
+ ptDist.setMinimum(geom.getCoordinate(), pt);
+ }
+ }
+ public static void computeDistance(LineString line, Coordinate pt, PointPairDistance ptDist)
+ {
+ Coordinate[] coords = line.getCoordinates();
+ LineSegment tempSegment = new LineSegment();
+ for (int i = 0; i < coords.length - 1; i++) {
+ tempSegment.setCoordinates(coords[i], coords[i + 1]);
+ // this is somewhat inefficient - could do better
+ Coordinate closestPt = tempSegment.closestPoint(pt);
+ ptDist.setMinimum(closestPt, pt);
+ }
+ }
+
+ public static void computeDistance(LineSegment segment, Coordinate pt, PointPairDistance ptDist)
+ {
+ Coordinate closestPt = segment.closestPoint(pt);
+ ptDist.setMinimum(closestPt, pt);
+ }
+
+ public static void computeDistance(Polygon poly, Coordinate pt, PointPairDistance ptDist)
+ {
+ computeDistance(poly.getExteriorRing(), pt, ptDist);
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ computeDistance(poly.getInteriorRingN(i), pt, ptDist);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/PointPairDistance.java b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/PointPairDistance.java
new file mode 100644
index 0000000..af0d480
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/PointPairDistance.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer.validate;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Contains a pair of points and the distance between them.
+ * Provides methods to update with a new point pair with
+ * either maximum or minimum distance.
+ */
+public class PointPairDistance {
+
+ private Coordinate[] pt = { new Coordinate(), new Coordinate() };
+ private double distance = Double.NaN;
+ private boolean isNull = true;
+
+ public PointPairDistance()
+ {
+ }
+
+ public void initialize() { isNull = true; }
+
+ public void initialize(Coordinate p0, Coordinate p1)
+ {
+ pt[0].setCoordinate(p0);
+ pt[1].setCoordinate(p1);
+ distance = p0.distance(p1);
+ isNull = false;
+ }
+
+ /**
+ * Initializes the points, avoiding recomputing the distance.
+ * @param p0
+ * @param p1
+ * @param distance the distance between p0 and p1
+ */
+ private void initialize(Coordinate p0, Coordinate p1, double distance)
+ {
+ pt[0].setCoordinate(p0);
+ pt[1].setCoordinate(p1);
+ this.distance = distance;
+ isNull = false;
+ }
+
+ public double getDistance() { return distance; }
+
+ public Coordinate[] getCoordinates() { return pt; }
+
+ public Coordinate getCoordinate(int i) { return pt[i]; }
+
+ public void setMaximum(PointPairDistance ptDist)
+ {
+ setMaximum(ptDist.pt[0], ptDist.pt[1]);
+ }
+
+ public void setMaximum(Coordinate p0, Coordinate p1)
+ {
+ if (isNull) {
+ initialize(p0, p1);
+ return;
+ }
+ double dist = p0.distance(p1);
+ if (dist > distance)
+ initialize(p0, p1, dist);
+ }
+
+ public void setMinimum(PointPairDistance ptDist)
+ {
+ setMinimum(ptDist.pt[0], ptDist.pt[1]);
+ }
+
+ public void setMinimum(Coordinate p0, Coordinate p1)
+ {
+ if (isNull) {
+ initialize(p0, p1);
+ return;
+ }
+ double dist = p0.distance(p1);
+ if (dist < distance)
+ initialize(p0, p1, dist);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/package.html
new file mode 100644
index 0000000..ffca7a0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/buffer/validate/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform validation of the results of buffer operations.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementLocationFilter.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementLocationFilter.java
new file mode 100644
index 0000000..967c357
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementLocationFilter.java
@@ -0,0 +1,65 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * A ConnectedElementPointFilter extracts a single point
+ * from each connected element in a Geometry
+ * (e.g. a polygon, linestring or point)
+ * and returns them in a list. The elements of the list are
+ * {@link org.locationtech.jts.operation.distance.GeometryLocation}s.
+ *
+ * @version 1.7
+ */
+public class ConnectedElementLocationFilter
+ implements GeometryFilter
+{
+
+ /**
+ * Returns a list containing a point from each Polygon, LineString, and Point
+ * found inside the specified geometry. Thus, if the specified geometry is
+ * not a GeometryCollection, an empty list will be returned. The elements of the list
+ * are {@link org.locationtech.jts.operation.distance.GeometryLocation}s.
+ */
+ public static List getLocations(Geometry geom)
+ {
+ List locations = new ArrayList();
+ geom.apply(new ConnectedElementLocationFilter(locations));
+ return locations;
+ }
+
+ private List locations;
+
+ ConnectedElementLocationFilter(List locations)
+ {
+ this.locations = locations;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof Point
+ || geom instanceof LineString
+ || geom instanceof Polygon )
+ locations.add(new GeometryLocation(geom, 0, geom.getCoordinate()));
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementPointFilter.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementPointFilter.java
new file mode 100644
index 0000000..011409e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/ConnectedElementPointFilter.java
@@ -0,0 +1,63 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Extracts a single point
+ * from each connected element in a Geometry
+ * (e.g. a polygon, linestring or point)
+ * and returns them in a list
+ *
+ * @version 1.7
+ */
+public class ConnectedElementPointFilter
+ implements GeometryFilter
+{
+
+ /**
+ * Returns a list containing a Coordinate from each Polygon, LineString, and Point
+ * found inside the specified geometry. Thus, if the specified geometry is
+ * not a GeometryCollection, an empty list will be returned.
+ */
+ public static List getCoordinates(Geometry geom)
+ {
+ List pts = new ArrayList();
+ geom.apply(new ConnectedElementPointFilter(pts));
+ return pts;
+ }
+
+ private List pts;
+
+ ConnectedElementPointFilter(List pts)
+ {
+ this.pts = pts;
+ }
+
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof Point
+ || geom instanceof LineString
+ || geom instanceof Polygon )
+ pts.add(geom.getCoordinate());
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/DistanceOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/DistanceOp.java
new file mode 100644
index 0000000..e09c966
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/DistanceOp.java
@@ -0,0 +1,418 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance;
+
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geom.util.PointExtracter;
+import org.locationtech.jts.geom.util.PolygonExtracter;
+
+/**
+ * Find two points on two {@link Geometry}s which lie
+ * within a given distance, or else are the nearest points
+ * on the geometries (in which case this also
+ * provides the distance between the geometries).
+ * <p>
+ * The distance computation also finds a pair of points in the input geometries
+ * which have the minimum distance between them.
+ * If a point lies in the interior of a line segment,
+ * the coordinate computed is a close
+ * approximation to the exact point.
+ * <p>
+ * The algorithms used are straightforward O(n^2)
+ * comparisons. This worst-case performance could be improved on
+ * by using Voronoi techniques or spatial indexes.
+ *
+ * @version 1.7
+ */
+public class DistanceOp
+{
+ /**
+ * Compute the distance between the nearest points of two geometries.
+ * @param g0 a {@link Geometry}
+ * @param g1 another {@link Geometry}
+ * @return the distance between the geometries
+ */
+ public static double distance(Geometry g0, Geometry g1)
+ {
+ DistanceOp distOp = new DistanceOp(g0, g1);
+ return distOp.distance();
+ }
+
+ /**
+ * Test whether two geometries lie within a given distance of each other.
+ * @param g0 a {@link Geometry}
+ * @param g1 another {@link Geometry}
+ * @param distance the distance to test
+ * @return true if g0.distance(g1) <= distance
+ */
+ public static boolean isWithinDistance(Geometry g0, Geometry g1, double distance)
+ {
+ DistanceOp distOp = new DistanceOp(g0, g1, distance);
+ return distOp.distance() <= distance;
+ }
+
+ /**
+ * Compute the the nearest points of two geometries.
+ * The points are presented in the same order as the input Geometries.
+ *
+ * @param g0 a {@link Geometry}
+ * @param g1 another {@link Geometry}
+ * @return the nearest points in the geometries
+ */
+ public static Coordinate[] nearestPoints(Geometry g0, Geometry g1)
+ {
+ DistanceOp distOp = new DistanceOp(g0, g1);
+ return distOp.nearestPoints();
+ }
+
+ /**
+ * Compute the the closest points of two geometries.
+ * The points are presented in the same order as the input Geometries.
+ *
+ * @param g0 a {@link Geometry}
+ * @param g1 another {@link Geometry}
+ * @return the closest points in the geometries
+ * @deprecated renamed to nearestPoints
+ */
+ public static Coordinate[] closestPoints(Geometry g0, Geometry g1)
+ {
+ DistanceOp distOp = new DistanceOp(g0, g1);
+ return distOp.nearestPoints();
+ }
+
+ // input
+ private Geometry[] geom;
+ private double terminateDistance = 0.0;
+ // working
+ private PointLocator ptLocator = new PointLocator();
+ private GeometryLocation[] minDistanceLocation;
+ private double minDistance = Double.MAX_VALUE;
+
+ /**
+ * Constructs a DistanceOp that computes the distance and nearest points between
+ * the two specified geometries.
+ * @param g0 a Geometry
+ * @param g1 a Geometry
+ */
+ public DistanceOp(Geometry g0, Geometry g1)
+ {
+ this(g0, g1, 0.0);
+ }
+
+ /**
+ * Constructs a DistanceOp that computes the distance and nearest points between
+ * the two specified geometries.
+ * @param g0 a Geometry
+ * @param g1 a Geometry
+ * @param terminateDistance the distance on which to terminate the search
+ */
+ public DistanceOp(Geometry g0, Geometry g1, double terminateDistance)
+ {
+ this.geom = new Geometry[2];
+ geom[0] = g0;
+ geom[1] = g1;
+ this.terminateDistance = terminateDistance;
+ }
+
+ /**
+ * Report the distance between the nearest points on the input geometries.
+ *
+ * @return the distance between the geometries
+ * or 0 if either input geometry is empty
+ * @throws IllegalArgumentException if either input geometry is null
+ */
+ public double distance()
+ {
+ if (geom[0] == null || geom[1] == null)
+ throw new IllegalArgumentException("null geometries are not supported");
+ if (geom[0].isEmpty() || geom[1].isEmpty())
+ return 0.0;
+
+ computeMinDistance();
+ return minDistance;
+ }
+
+ /**
+ * Report the coordinates of the nearest points in the input geometries.
+ * The points are presented in the same order as the input Geometries.
+ *
+ * @return a pair of {@link Coordinate}s of the nearest points
+ */
+ public Coordinate[] nearestPoints()
+ {
+ computeMinDistance();
+ Coordinate[] nearestPts
+ = new Coordinate[] {
+ minDistanceLocation[0].getCoordinate(),
+ minDistanceLocation[1].getCoordinate() };
+ return nearestPts;
+ }
+
+ /**
+ *
+ * @return a pair of {@link Coordinate}s of the nearest points
+ * @deprecated renamed to nearestPoints
+ */
+ public Coordinate[] closestPoints()
+ {
+ return nearestPoints();
+ }
+
+ /**
+ * Report the locations of the nearest points in the input geometries.
+ * The locations are presented in the same order as the input Geometries.
+ *
+ * @return a pair of {@link GeometryLocation}s for the nearest points
+ */
+ public GeometryLocation[] nearestLocations()
+ {
+ computeMinDistance();
+ return minDistanceLocation;
+ }
+
+ /**
+ *
+ * @return a pair of {@link GeometryLocation}s for the nearest points
+ * @deprecated renamed to nearestLocations
+ */
+ public GeometryLocation[] closestLocations()
+ {
+ return nearestLocations();
+ }
+
+ private void updateMinDistance(GeometryLocation[] locGeom, boolean flip)
+ {
+ // if not set then don't update
+ if (locGeom[0] == null) return;
+
+ if (flip) {
+ minDistanceLocation[0] = locGeom[1];
+ minDistanceLocation[1] = locGeom[0];
+ }
+ else {
+ minDistanceLocation[0] = locGeom[0];
+ minDistanceLocation[1] = locGeom[1];
+ }
+ }
+
+ private void computeMinDistance()
+ {
+ // only compute once!
+ if (minDistanceLocation != null) return;
+
+ minDistanceLocation = new GeometryLocation[2];
+ computeContainmentDistance();
+ if (minDistance <= terminateDistance) return;
+ computeFacetDistance();
+ }
+
+ private void computeContainmentDistance()
+ {
+ GeometryLocation[] locPtPoly = new GeometryLocation[2];
+ // test if either geometry has a vertex inside the other
+ computeContainmentDistance(0, locPtPoly);
+ if (minDistance <= terminateDistance) return;
+ computeContainmentDistance(1, locPtPoly);
+ }
+
+ private void computeContainmentDistance(int polyGeomIndex, GeometryLocation[] locPtPoly)
+ {
+ Geometry polyGeom = geom[polyGeomIndex];
+ // if no polygon then nothing to do
+ if (polyGeom.getDimension() < 2) return;
+
+ int locationsIndex = 1 - polyGeomIndex;
+ List polys = PolygonExtracter.getPolygons(polyGeom);
+ if (polys.size() > 0) {
+ List insideLocs = ConnectedElementLocationFilter.getLocations(geom[locationsIndex]);
+ computeContainmentDistance(insideLocs, polys, locPtPoly);
+ if (minDistance <= terminateDistance) {
+ // this assigment is determined by the order of the args in the computeInside call above
+ minDistanceLocation[locationsIndex] = locPtPoly[0];
+ minDistanceLocation[polyGeomIndex] = locPtPoly[1];
+ return;
+ }
+ }
+ }
+
+ private void computeContainmentDistance(List locs, List polys, GeometryLocation[] locPtPoly)
+ {
+ for (int i = 0; i < locs.size(); i++) {
+ GeometryLocation loc = (GeometryLocation) locs.get(i);
+ for (int j = 0; j < polys.size(); j++) {
+ computeContainmentDistance(loc, (Polygon) polys.get(j), locPtPoly);
+ if (minDistance <= terminateDistance) return;
+ }
+ }
+ }
+
+ private void computeContainmentDistance(GeometryLocation ptLoc,
+ Polygon poly,
+ GeometryLocation[] locPtPoly)
+ {
+ Coordinate pt = ptLoc.getCoordinate();
+ // if pt is not in exterior, distance to geom is 0
+ if (Location.EXTERIOR != ptLocator.locate(pt, poly)) {
+ minDistance = 0.0;
+ locPtPoly[0] = ptLoc;
+ locPtPoly[1] = new GeometryLocation(poly, pt);;
+ return;
+ }
+ }
+
+ /**
+ * Computes distance between facets (lines and points)
+ * of input geometries.
+ *
+ */
+ private void computeFacetDistance()
+ {
+ GeometryLocation[] locGeom = new GeometryLocation[2];
+
+ /**
+ * Geometries are not wholely inside, so compute distance from lines and points
+ * of one to lines and points of the other
+ */
+ List lines0 = LinearComponentExtracter.getLines(geom[0]);
+ List lines1 = LinearComponentExtracter.getLines(geom[1]);
+
+ List pts0 = PointExtracter.getPoints(geom[0]);
+ List pts1 = PointExtracter.getPoints(geom[1]);
+
+ // exit whenever minDistance goes LE than terminateDistance
+ computeMinDistanceLines(lines0, lines1, locGeom);
+ updateMinDistance(locGeom, false);
+ if (minDistance <= terminateDistance) return;
+
+ locGeom[0] = null;
+ locGeom[1] = null;
+ computeMinDistanceLinesPoints(lines0, pts1, locGeom);
+ updateMinDistance(locGeom, false);
+ if (minDistance <= terminateDistance) return;
+
+ locGeom[0] = null;
+ locGeom[1] = null;
+ computeMinDistanceLinesPoints(lines1, pts0, locGeom);
+ updateMinDistance(locGeom, true);
+ if (minDistance <= terminateDistance) return;
+
+ locGeom[0] = null;
+ locGeom[1] = null;
+ computeMinDistancePoints(pts0, pts1, locGeom);
+ updateMinDistance(locGeom, false);
+ }
+
+ private void computeMinDistanceLines(List lines0, List lines1, GeometryLocation[] locGeom)
+ {
+ for (int i = 0; i < lines0.size(); i++) {
+ LineString line0 = (LineString) lines0.get(i);
+ for (int j = 0; j < lines1.size(); j++) {
+ LineString line1 = (LineString) lines1.get(j);
+ computeMinDistance(line0, line1, locGeom);
+ if (minDistance <= terminateDistance) return;
+ }
+ }
+ }
+
+ private void computeMinDistancePoints(List points0, List points1, GeometryLocation[] locGeom)
+ {
+ for (int i = 0; i < points0.size(); i++) {
+ Point pt0 = (Point) points0.get(i);
+ for (int j = 0; j < points1.size(); j++) {
+ Point pt1 = (Point) points1.get(j);
+ double dist = pt0.getCoordinate().distance(pt1.getCoordinate());
+ if (dist < minDistance) {
+ minDistance = dist;
+ locGeom[0] = new GeometryLocation(pt0, 0, pt0.getCoordinate());
+ locGeom[1] = new GeometryLocation(pt1, 0, pt1.getCoordinate());
+ }
+ if (minDistance <= terminateDistance) return;
+ }
+ }
+ }
+
+ private void computeMinDistanceLinesPoints(List lines, List points,
+ GeometryLocation[] locGeom)
+ {
+ for (int i = 0; i < lines.size(); i++) {
+ LineString line = (LineString) lines.get(i);
+ for (int j = 0; j < points.size(); j++) {
+ Point pt = (Point) points.get(j);
+ computeMinDistance(line, pt, locGeom);
+ if (minDistance <= terminateDistance) return;
+ }
+ }
+ }
+
+ private void computeMinDistance(LineString line0, LineString line1,
+ GeometryLocation[] locGeom)
+ {
+ if (line0.getEnvelopeInternal().distance(line1.getEnvelopeInternal())
+ > minDistance)
+ return;
+ Coordinate[] coord0 = line0.getCoordinates();
+ Coordinate[] coord1 = line1.getCoordinates();
+ // brute force approach!
+ for (int i = 0; i < coord0.length - 1; i++) {
+ for (int j = 0; j < coord1.length - 1; j++) {
+ double dist = Distance.segmentToSegment(
+ coord0[i], coord0[i + 1],
+ coord1[j], coord1[j + 1] );
+ if (dist < minDistance) {
+ minDistance = dist;
+ LineSegment seg0 = new LineSegment(coord0[i], coord0[i + 1]);
+ LineSegment seg1 = new LineSegment(coord1[j], coord1[j + 1]);
+ Coordinate[] closestPt = seg0.closestPoints(seg1);
+ locGeom[0] = new GeometryLocation(line0, i, closestPt[0]);
+ locGeom[1] = new GeometryLocation(line1, j, closestPt[1]);
+ }
+ if (minDistance <= terminateDistance) return;
+ }
+ }
+ }
+
+ private void computeMinDistance(LineString line, Point pt,
+ GeometryLocation[] locGeom)
+ {
+ if (line.getEnvelopeInternal().distance(pt.getEnvelopeInternal())
+ > minDistance)
+ return;
+ Coordinate[] coord0 = line.getCoordinates();
+ Coordinate coord = pt.getCoordinate();
+ // brute force approach!
+ for (int i = 0; i < coord0.length - 1; i++) {
+ double dist = Distance.pointToSegment(
+ coord, coord0[i], coord0[i + 1] );
+ if (dist < minDistance) {
+ minDistance = dist;
+ LineSegment seg = new LineSegment(coord0[i], coord0[i + 1]);
+ Coordinate segClosestPoint = seg.closestPoint(coord);
+ locGeom[0] = new GeometryLocation(line, i, segClosestPoint);
+ locGeom[1] = new GeometryLocation(pt, 0, coord);
+ }
+ if (minDistance <= terminateDistance) return;
+
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequence.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequence.java
new file mode 100644
index 0000000..f699d18
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequence.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Represents a sequence of facets (points or line segments)
+ * of a {@link Geometry}
+ * specified by a subsequence of a {@link CoordinateSequence}.
+ *
+ * @author Martin Davis
+ *
+ */
+public class FacetSequence
+{
+ private CoordinateSequence pts;
+ private int start;
+ private int end;
+
+ // temporary Coordinates to materialize points from the CoordinateSequence
+ private Coordinate pt = new Coordinate();
+ private Coordinate seqPt = new Coordinate();
+
+ /**
+ * Creates a new section based on a CoordinateSequence.
+ *
+ * @param pts the sequence holding the points in the section
+ * @param start the index of the start point
+ * @param end the index of the end point + 1
+ */
+ public FacetSequence(CoordinateSequence pts, int start, int end)
+ {
+ this.pts = pts;
+ this.start = start;
+ this.end = end;
+ }
+
+ /**
+ * Creates a new sequence for a single point from a CoordinateSequence.
+ *
+ * @param pts the sequence holding the points in the facet sequence
+ * @param start the index of the point
+ */
+ public FacetSequence(CoordinateSequence pts, int start)
+ {
+ this.pts = pts;
+ this.start = start;
+ this.end = start + 1;
+ }
+
+ public Envelope getEnvelope()
+ {
+ Envelope env = new Envelope();
+ for (int i = start; i < end; i++) {
+ env.expandToInclude(pts.getX(i), pts.getY(i));
+ }
+ return env;
+ }
+
+ public int size()
+ {
+ return end - start;
+ }
+
+ public Coordinate getCoordinate(int index)
+ {
+ return pts.getCoordinate(start + index);
+ }
+
+ public boolean isPoint()
+ {
+ return end - start == 1;
+ }
+
+
+ public double distance(FacetSequence facetSeq)
+ {
+ boolean isPoint = isPoint();
+ boolean isPointOther = facetSeq.isPoint();
+
+ if (isPoint && isPointOther) {
+ pts.getCoordinate(start, pt);
+ facetSeq.pts.getCoordinate(facetSeq.start, seqPt);
+ return pt.distance(seqPt);
+ }
+ else if (isPoint) {
+ pts.getCoordinate(start, pt);
+ return computePointLineDistance(pt, facetSeq);
+ }
+ else if (isPointOther) {
+ facetSeq.pts.getCoordinate(facetSeq.start, seqPt);
+ return computePointLineDistance(seqPt, this);
+ }
+ return computeLineLineDistance(facetSeq);
+
+ }
+
+ // temporary Coordinates to materialize points from the CoordinateSequence
+ private Coordinate p0 = new Coordinate();
+ private Coordinate p1 = new Coordinate();
+ private Coordinate q0 = new Coordinate();
+ private Coordinate q1 = new Coordinate();
+
+ private double computeLineLineDistance(FacetSequence facetSeq)
+ {
+ // both linear - compute minimum segment-segment distance
+ double minDistance = Double.MAX_VALUE;
+
+ for (int i = start; i < end - 1; i++) {
+ for (int j = facetSeq.start; j < facetSeq.end - 1; j++) {
+ pts.getCoordinate(i, p0);
+ pts.getCoordinate(i + 1, p1);
+ facetSeq.pts.getCoordinate(j, q0);
+ facetSeq.pts.getCoordinate(j + 1, q1);
+
+ double dist = Distance.segmentToSegment(p0, p1, q0, q1);
+ if (dist == 0.0)
+ return 0.0;
+ if (dist < minDistance) {
+ minDistance = dist;
+ }
+ }
+ }
+ return minDistance;
+ }
+
+ private double computePointLineDistance(Coordinate pt, FacetSequence facetSeq)
+ {
+ double minDistance = Double.MAX_VALUE;
+
+ for (int i = facetSeq.start; i < facetSeq.end - 1; i++) {
+ facetSeq.pts.getCoordinate(i, q0);
+ facetSeq.pts.getCoordinate(i + 1, q1);
+ double dist = Distance.pointToSegment(pt, q0, q1);
+ if (dist == 0.0) return 0.0;
+ if (dist < minDistance) {
+ minDistance = dist;
+ }
+ }
+ return minDistance;
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("LINESTRING ( ");
+ Coordinate p = new Coordinate();
+ for (int i = start; i < end; i++) {
+ if (i > start)
+ buf.append(", ");
+ pts.getCoordinate(i, p);
+ buf.append(p.x + " " + p.y);
+ }
+ buf.append(" )");
+ return buf.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequenceTreeBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequenceTreeBuilder.java
new file mode 100644
index 0000000..a1e9009
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/FacetSequenceTreeBuilder.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+public class FacetSequenceTreeBuilder {
+ // 6 seems to be a good facet sequence size
+ private static final int FACET_SEQUENCE_SIZE = 6;
+
+ // Seems to be better to use a minimum node capacity
+ private static final int STR_TREE_NODE_CAPACITY = 4;
+
+ public static STRtree build(Geometry g) {
+ STRtree tree = new STRtree(STR_TREE_NODE_CAPACITY);
+ List sections = computeFacetSequences(g);
+ for (Iterator i = sections.iterator(); i.hasNext();) {
+ FacetSequence section = (FacetSequence) i.next();
+ tree.insert(section.getEnvelope(), section);
+ }
+ tree.build();
+ return tree;
+ }
+
+ /**
+ * Creates facet sequences
+ *
+ * @param g
+ * @return List<GeometryFacetSequence>
+ */
+ private static List computeFacetSequences(Geometry g) {
+ final List sections = new ArrayList();
+
+ g.apply(new GeometryComponentFilter() {
+
+ public void filter(Geometry geom) {
+ CoordinateSequence seq = null;
+ if (geom instanceof LineString) {
+ seq = ((LineString) geom).getCoordinateSequence();
+ addFacetSequences(seq, sections);
+ }
+ else if (geom instanceof Point) {
+ seq = ((Point) geom).getCoordinateSequence();
+ addFacetSequences(seq, sections);
+ }
+ }
+ });
+ return sections;
+ }
+
+ private static void addFacetSequences(CoordinateSequence pts, List sections) {
+ int i = 0;
+ int size = pts.size();
+ while (i <= size - 1) {
+ int end = i + FACET_SEQUENCE_SIZE + 1;
+ // if only one point remains after this section, include it in this
+ // section
+ if (end >= size - 1)
+ end = size;
+ FacetSequence sect = new FacetSequence(pts, i, end);
+ sections.add(sect);
+ i = i + FACET_SEQUENCE_SIZE;
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/GeometryLocation.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/GeometryLocation.java
new file mode 100644
index 0000000..c77343f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/GeometryLocation.java
@@ -0,0 +1,92 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Represents the location of a point on a Geometry.
+ * Maintains both the actual point location
+ * (which may not be exact, if the point is not a vertex)
+ * as well as information about the component
+ * and segment index where the point occurs.
+ * Locations inside area Geometrys will not have an associated segment index,
+ * so in this case the segment index will have the sentinel value of
+ * {@link #INSIDE_AREA}.
+ *
+ * @version 1.7
+ */
+public class GeometryLocation
+{
+ /**
+ * A special value of segmentIndex used for locations inside area geometries.
+ * These locations are not located on a segment,
+ * and thus do not have an associated segment index.
+ */
+ public static final int INSIDE_AREA = -1;
+
+ private Geometry component = null;
+ private int segIndex;
+ private Coordinate pt = null;
+
+ /**
+ * Constructs a GeometryLocation specifying a point on a geometry, as well as the
+ * segment that the point is on
+ * (or {@link #INSIDE_AREA} if the point is not on a segment).
+ *
+ * @param component the component of the geometry containing the point
+ * @param segIndex the segment index of the location, or INSIDE_AREA
+ * @param pt the coordinate of the location
+ */
+ public GeometryLocation(Geometry component, int segIndex, Coordinate pt)
+ {
+ this.component = component;
+ this.segIndex = segIndex;
+ this.pt = pt;
+ }
+
+ /**
+ * Constructs a GeometryLocation specifying a point inside an area geometry.
+ *
+ * @param component the component of the geometry containing the point
+ * @param pt the coordinate of the location
+ */
+ public GeometryLocation(Geometry component,Coordinate pt)
+ {
+ this(component, INSIDE_AREA, pt);
+ }
+
+ /**
+ * Returns the geometry component on (or in) which this location occurs.
+ */
+ public Geometry getGeometryComponent() { return component; }
+
+ /**
+ * Returns the segment index for this location. If the location is inside an
+ * area, the index will have the value {@link #INSIDE_AREA};
+ *
+ * @return the segment index for the location, or INSIDE_AREA
+ */
+ public int getSegmentIndex() { return segIndex; }
+
+ /**
+ * Returns the {@link Coordinate} of this location.
+ */
+ public Coordinate getCoordinate() { return pt; }
+
+ /**
+ * Tests whether this location represents a point inside an area geometry.
+ */
+ public boolean isInsideArea() { return segIndex == INSIDE_AREA; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/IndexedFacetDistance.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance/IndexedFacetDistance.java
new file mode 100644
index 0000000..6b62134
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/IndexedFacetDistance.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.Puntal;
+import org.locationtech.jts.index.strtree.ItemBoundable;
+import org.locationtech.jts.index.strtree.ItemDistance;
+import org.locationtech.jts.index.strtree.STRtree;
+
+/**
+ * Computes the distance between the facets (segments and vertices)
+ * of two {@link Geometry}s
+ * using a Branch-and-Bound algorithm.
+ * The Branch-and-Bound algorithm operates over a
+ * traversal of R-trees built
+ * on the target and possibly also the query geometries.
+ * <p>
+ * This approach provides the following benefits:
+ * <ul>
+ * <li>Performance is improved due to the effects of the
+ * R-tree index
+ * and the pruning due to the Branch-and-Bound approach
+ * <li>The spatial index on the target geometry can be cached
+ * to allow reuse in an incremental query situation.
+ * </ul>
+ * Using this technique can be much more performant
+ * than using {@link #getDistance(Geometry)}
+ * when one or both
+ * input geometries are large,
+ * or when evaluating many distance computations against
+ * a single geometry.
+ * <p>
+ * This class is not thread-safe.
+ *
+ * @author Martin Davis
+ *
+ */
+public class IndexedFacetDistance
+{
+ /**
+ * Computes the distance between two geometries using
+ * the indexed approach.
+ * <p>
+ * For geometries with many segments or points,
+ * this can be faster than using a simple distance
+ * algorithm.
+ *
+ * @param g1 a geometry
+ * @param g2 a geometry
+ * @return the distance between the two geometries
+ */
+ public static double distance(Geometry g1, Geometry g2)
+ {
+ IndexedFacetDistance dist = new IndexedFacetDistance(g1);
+ return dist.getDistance(g2);
+ }
+
+ private STRtree cachedTree;
+
+ /**
+ * Creates a new distance-finding instance for a given target {@link Geometry}.
+ * <p>
+ * Distances will be computed to all facets of the input geometry.
+ * The facets of the geometry are the discrete segments and points
+ * contained in its components.
+ * In the case of {@link Lineal} and {@link Puntal} inputs,
+ * this is equivalent to computing the conventional distance.
+ * In the case of {@link Polygonal} inputs, this is equivalent
+ * to computing the distance to the polygons boundaries.
+ *
+ * @param g1 a Geometry, which may be of any type.
+ */
+ public IndexedFacetDistance(Geometry g1) {
+ cachedTree = FacetSequenceTreeBuilder.build(g1);
+ }
+
+ /**
+ * Computes the distance from the base geometry to
+ * the given geometry.
+ *
+ * @param g the geometry to compute the distance to
+ *
+ * @return the computed distance
+ */
+ public double getDistance(Geometry g)
+ {
+ STRtree tree2 = FacetSequenceTreeBuilder.build(g);
+ Object[] obj = cachedTree.nearestNeighbour(tree2,
+ new FacetSequenceDistance());
+ return facetDistance(obj);
+ }
+
+ private static double facetDistance(Object[] obj)
+ {
+ Object o1 = obj[0];
+ Object o2 = obj[1];
+ return ((FacetSequence) o1).distance((FacetSequence) o2);
+ }
+
+ /**
+ * Computes the distance from the base geometry to
+ * the given geometry, up to and including a given
+ * maximum distance.
+ *
+ * @param g the geometry to compute the distance to
+ * @param maximumDistance the maximum distance to compute.
+ *
+ * @return the computed distance,
+ * or <tt>maximumDistance</tt> if the true distance is determined to be greater
+ */
+ // TODO: implement this
+ /*
+ public double getDistanceWithin(Geometry g, double maximumDistance)
+ {
+ STRtree tree2 = FacetSequenceTreeBuilder.build(g);
+ Object[] obj = cachedTree.nearestNeighbours(tree2,
+ new FacetSequenceDistance());
+ return facetDistance(obj);
+ }
+ */
+
+
+ /**
+ * Tests whether the base geometry lies within
+ * a specified distance of the given geometry.
+ *
+// * @param g the geometry to test
+// * @param maximumDistance the maximum distance to test
+// * @return true if the geometry lies with the specified distance
+ */
+ // TODO: implement this
+ /*
+ public boolean isWithinDistance(Geometry g, double maximumDistance)
+ {
+ STRtree tree2 = FacetSequenceTreeBuilder.build(g);
+ double dist = findMinDistance(cachedTree.getRoot(), tree2.getRoot(), maximumDistance);
+ if (dist <= maximumDistance)
+ return false;
+ return true;
+ }
+ */
+
+ private static class FacetSequenceDistance
+ implements ItemDistance
+ {
+ public double distance(ItemBoundable item1, ItemBoundable item2) {
+ FacetSequence fs1 = (FacetSequence) item1.getItem();
+ FacetSequence fs2 = (FacetSequence) item2.getItem();
+ return fs1.distance(fs2);
+ }
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/distance/package.html
new file mode 100644
index 0000000..891a13b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for computing the distance between geometries
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/AxisPlaneCoordinateSequence.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/AxisPlaneCoordinateSequence.java
new file mode 100644
index 0000000..2adb666
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/AxisPlaneCoordinateSequence.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance3d;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * A CoordinateSequence wrapper which
+ * projects 3D coordinates into one of the
+ * three Cartesian axis planes,
+ * using the standard orthonormal projection
+ * (i.e. simply selecting the appropriate ordinates into the XY ordinates).
+ * The projected data is represented as 2D coordinates.
+ *
+ * @author mdavis
+ *
+ */
+public class AxisPlaneCoordinateSequence implements CoordinateSequence {
+
+ /**
+ * Creates a wrapper projecting to the XY plane.
+ *
+ * @param seq the sequence to be projected
+ * @return a sequence which projects coordinates
+ */
+ public static CoordinateSequence projectToXY(CoordinateSequence seq)
+ {
+ /**
+ * This is just a no-op, but return a wrapper
+ * to allow better testing
+ */
+ return new AxisPlaneCoordinateSequence(seq, XY_INDEX);
+ }
+
+ /**
+ * Creates a wrapper projecting to the XZ plane.
+ *
+ * @param seq the sequence to be projected
+ * @return a sequence which projects coordinates
+ */
+ public static CoordinateSequence projectToXZ(CoordinateSequence seq)
+ {
+ return new AxisPlaneCoordinateSequence(seq, XZ_INDEX);
+ }
+
+ /**
+ * Creates a wrapper projecting to the YZ plane.
+ *
+ * @param seq the sequence to be projected
+ * @return a sequence which projects coordinates
+ */
+ public static CoordinateSequence projectToYZ(CoordinateSequence seq)
+ {
+ return new AxisPlaneCoordinateSequence(seq, YZ_INDEX);
+ }
+
+ private static final int[] XY_INDEX = new int[] { 0,1 };
+ private static final int[] XZ_INDEX = new int[] { 0,2 };
+ private static final int[] YZ_INDEX = new int[] { 1,2 };
+
+ private CoordinateSequence seq;
+ private int[] indexMap;
+
+ private AxisPlaneCoordinateSequence(CoordinateSequence seq, int[] indexMap) {
+ this.seq = seq;
+ this.indexMap = indexMap;
+ }
+
+ public int getDimension() {
+ return 2;
+ }
+
+ public Coordinate getCoordinate(int i) {
+ return getCoordinateCopy(i);
+ }
+
+ public Coordinate getCoordinateCopy(int i) {
+ return new Coordinate(getX(i), getY(i), getZ(i));
+ }
+
+ public void getCoordinate(int index, Coordinate coord) {
+ coord.x = getOrdinate(index, X);
+ coord.y = getOrdinate(index, Y);
+ coord.z = getOrdinate(index, Z);
+ }
+
+ public double getX(int index) {
+ return getOrdinate(index, X);
+ }
+
+ public double getY(int index) {
+ return getOrdinate(index, Y);
+ }
+
+ public double getZ(int index) {
+ return getOrdinate(index, Z);
+ }
+
+ public double getOrdinate(int index, int ordinateIndex) {
+ // Z ord is always 0
+ if (ordinateIndex > 1) return 0;
+ return seq.getOrdinate(index, indexMap[ordinateIndex]);
+ }
+
+ public int size() {
+ return seq.size();
+ }
+
+ public void setOrdinate(int index, int ordinateIndex, double value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Coordinate[] toCoordinateArray() {
+ throw new UnsupportedOperationException();
+ }
+
+ public Envelope expandEnvelope(Envelope env) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object clone()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public AxisPlaneCoordinateSequence copy()
+ {
+ throw new UnsupportedOperationException();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/Distance3DOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/Distance3DOp.java
new file mode 100644
index 0000000..db9d198
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/Distance3DOp.java
@@ -0,0 +1,566 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance3d;
+
+import org.locationtech.jts.algorithm.CGAlgorithms3D;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.operation.distance.GeometryLocation;
+
+/**
+ * Find two points on two 3D {@link Geometry}s which lie within a given distance,
+ * or else are the nearest points on the geometries (in which case this also
+ * provides the distance between the geometries).
+ * <p>
+ * 3D geometries have vertex Z ordinates defined.
+ * 3D {@link Polygon}s are assumed to lie in a single plane (which is enforced if not actually the case).
+ * 3D {@link LineString}s and {@link Point}s may have any configuration.
+ * <p>
+ * The distance computation also finds a pair of points in the input geometries
+ * which have the minimum distance between them. If a point lies in the interior
+ * of a line segment, the coordinate computed is a close approximation to the
+ * exact point.
+ * <p>
+ * The algorithms used are straightforward O(n^2) comparisons. This worst-case
+ * performance could be improved on by using Voronoi techniques or spatial
+ * indexes.
+ *
+ * @version 1.7
+ */
+public class Distance3DOp {
+ /**
+ * Compute the distance between the nearest points of two geometries.
+ *
+ * @param g0
+ * a {@link Geometry}
+ * @param g1
+ * another {@link Geometry}
+ * @return the distance between the geometries
+ */
+ public static double distance(Geometry g0, Geometry g1) {
+ Distance3DOp distOp = new Distance3DOp(g0, g1);
+ return distOp.distance();
+ }
+
+ /**
+ * Test whether two geometries lie within a given distance of each other.
+ *
+ * @param g0
+ * a {@link Geometry}
+ * @param g1
+ * another {@link Geometry}
+ * @param distance
+ * the distance to test
+ * @return true if g0.distance(g1) <= distance
+ */
+ public static boolean isWithinDistance(Geometry g0, Geometry g1,
+ double distance) {
+ Distance3DOp distOp = new Distance3DOp(g0, g1, distance);
+ return distOp.distance() <= distance;
+ }
+
+ /**
+ * Compute the the nearest points of two geometries. The points are
+ * presented in the same order as the input Geometries.
+ *
+ * @param g0
+ * a {@link Geometry}
+ * @param g1
+ * another {@link Geometry}
+ * @return the nearest points in the geometries
+ */
+ public static Coordinate[] nearestPoints(Geometry g0, Geometry g1) {
+ Distance3DOp distOp = new Distance3DOp(g0, g1);
+ return distOp.nearestPoints();
+ }
+
+ // input
+ private Geometry[] geom;
+ private double terminateDistance = 0.0;
+ // working
+ private GeometryLocation[] minDistanceLocation;
+ private double minDistance = Double.MAX_VALUE;
+ private boolean isDone = false;
+
+ /**
+ * Constructs a DistanceOp that computes the distance and nearest points
+ * between the two specified geometries.
+ *
+ * @param g0
+ * a Geometry
+ * @param g1
+ * a Geometry
+ */
+ public Distance3DOp(Geometry g0, Geometry g1) {
+ this(g0, g1, 0.0);
+ }
+
+ /**
+ * Constructs a DistanceOp that computes the distance and nearest points
+ * between the two specified geometries.
+ *
+ * @param g0
+ * a Geometry
+ * @param g1
+ * a Geometry
+ * @param terminateDistance
+ * the distance on which to terminate the search
+ */
+ public Distance3DOp(Geometry g0, Geometry g1, double terminateDistance) {
+ this.geom = new Geometry[2];
+ geom[0] = g0;
+ geom[1] = g1;
+ this.terminateDistance = terminateDistance;
+ }
+
+ /**
+ * Report the distance between the nearest points on the input geometries.
+ *
+ * @return the distance between the geometries, or 0 if either input geometry is empty
+ * @throws IllegalArgumentException
+ * if either input geometry is null
+ */
+ public double distance() {
+ if (geom[0] == null || geom[1] == null)
+ throw new IllegalArgumentException(
+ "null geometries are not supported");
+ if (geom[0].isEmpty() || geom[1].isEmpty())
+ return 0.0;
+
+ computeMinDistance();
+ return minDistance;
+ }
+
+ /**
+ * Report the coordinates of the nearest points in the input geometries. The
+ * points are presented in the same order as the input Geometries.
+ *
+ * @return a pair of {@link Coordinate}s of the nearest points
+ */
+ public Coordinate[] nearestPoints() {
+ computeMinDistance();
+ Coordinate[] nearestPts = new Coordinate[] {
+ minDistanceLocation[0].getCoordinate(),
+ minDistanceLocation[1].getCoordinate() };
+ return nearestPts;
+ }
+
+ /**
+ * Report the locations of the nearest points in the input geometries. The
+ * locations are presented in the same order as the input Geometries.
+ *
+ * @return a pair of {@link GeometryLocation}s for the nearest points
+ */
+ public GeometryLocation[] nearestLocations() {
+ computeMinDistance();
+ return minDistanceLocation;
+ }
+
+ private void updateDistance(double dist,
+ GeometryLocation loc0, GeometryLocation loc1,
+ boolean flip) {
+ this.minDistance = dist;
+ int index = flip ? 1 : 0;
+ minDistanceLocation[index] = loc0;
+ minDistanceLocation[1-index] = loc1;
+ if (minDistance < terminateDistance)
+ isDone = true;
+ }
+
+ private void computeMinDistance() {
+ // only compute once
+ if (minDistanceLocation != null)
+ return;
+ minDistanceLocation = new GeometryLocation[2];
+
+ int geomIndex = mostPolygonalIndex();
+ boolean flip = geomIndex == 0;
+ computeMinDistanceMultiMulti(geom[geomIndex], geom[1-geomIndex], flip);
+ }
+
+ /**
+ * Finds the index of the "most polygonal" input geometry.
+ * This optimizes the computation of the best-fit plane,
+ * since it is cached only for the left-hand geometry.
+ *
+ * @return the index of the most polygonal geometry
+ */
+ private int mostPolygonalIndex() {
+ int dim0 = geom[0].getDimension();
+ int dim1 = geom[1].getDimension();
+ if (dim0 >= 2 && dim1 >= 2) {
+ if (geom[0].getNumPoints() > geom[1].getNumPoints())
+ return 0;
+ return 1;
+ }
+ // no more than one is dim 2
+ if (dim0 >= 2) return 0;
+ if (dim1 >= 2) return 1;
+ // both dim <= 1 - don't flip
+ return 0;
+ }
+
+ private void computeMinDistanceMultiMulti(Geometry g0, Geometry g1, boolean flip) {
+ if (g0 instanceof GeometryCollection) {
+ int n = g0.getNumGeometries();
+ for (int i = 0; i < n; i++) {
+ Geometry g = g0.getGeometryN(i);
+ computeMinDistanceMultiMulti(g, g1, flip);
+ if (isDone) return;
+ }
+ }
+ else {
+ // handle case of multigeom component being empty
+ if (g0.isEmpty())
+ return;
+
+ // compute planar polygon only once for efficiency
+ if (g0 instanceof Polygon) {
+ computeMinDistanceOneMulti(polyPlane(g0), g1, flip);
+ }
+ else
+ computeMinDistanceOneMulti(g0, g1, flip);
+ }
+ }
+
+ private void computeMinDistanceOneMulti(Geometry g0, Geometry g1, boolean flip) {
+ if (g1 instanceof GeometryCollection) {
+ int n = g1.getNumGeometries();
+ for (int i = 0; i < n; i++) {
+ Geometry g = g1.getGeometryN(i);
+ computeMinDistanceOneMulti(g0, g, flip);
+ if (isDone) return;
+ }
+ }
+ else {
+ computeMinDistance(g0, g1, flip);
+ }
+ }
+
+ private void computeMinDistanceOneMulti(PlanarPolygon3D poly, Geometry geom, boolean flip) {
+ if (geom instanceof GeometryCollection) {
+ int n = geom.getNumGeometries();
+ for (int i = 0; i < n; i++) {
+ Geometry g = geom.getGeometryN(i);
+ computeMinDistanceOneMulti(poly, g, flip);
+ if (isDone) return;
+ }
+ }
+ else {
+ if (geom instanceof Point) {
+ computeMinDistancePolygonPoint(poly, (Point) geom, flip);
+ return;
+ }
+ if (geom instanceof LineString) {
+ computeMinDistancePolygonLine(poly, (LineString) geom, flip);
+ return;
+ }
+ if (geom instanceof Polygon) {
+ computeMinDistancePolygonPolygon(poly, (Polygon) geom, flip);
+ return;
+ }
+ }
+ }
+
+ /**
+ * Convenience method to create a Plane3DPolygon
+ * @param poly
+ * @return
+ */
+ private static PlanarPolygon3D polyPlane(Geometry poly)
+ {
+ return new PlanarPolygon3D((Polygon) poly);
+ }
+
+ private void computeMinDistance(Geometry g0, Geometry g1, boolean flip) {
+ if (g0 instanceof Point) {
+ if (g1 instanceof Point) {
+ computeMinDistancePointPoint((Point) g0, (Point) g1, flip);
+ return;
+ }
+ if (g1 instanceof LineString) {
+ computeMinDistanceLinePoint((LineString) g1, (Point) g0, ! flip);
+ return;
+ }
+ if (g1 instanceof Polygon) {
+ computeMinDistancePolygonPoint(polyPlane(g1), (Point) g0, ! flip);
+ return;
+ }
+ }
+ if (g0 instanceof LineString) {
+ if (g1 instanceof Point) {
+ computeMinDistanceLinePoint((LineString) g0, (Point) g1, flip);
+ return;
+ }
+ if (g1 instanceof LineString) {
+ computeMinDistanceLineLine((LineString) g0, (LineString) g1, flip);
+ return;
+ }
+ if (g1 instanceof Polygon) {
+ computeMinDistancePolygonLine(polyPlane(g1), (LineString) g0, ! flip);
+ return;
+ }
+ }
+ if (g0 instanceof Polygon) {
+ if (g1 instanceof Point) {
+ computeMinDistancePolygonPoint(polyPlane(g0), (Point) g1, flip);
+ return;
+ }
+ if (g1 instanceof LineString) {
+ computeMinDistancePolygonLine(polyPlane(g0), (LineString) g1, flip);
+ return;
+ }
+ if (g1 instanceof Polygon) {
+ computeMinDistancePolygonPolygon(polyPlane(g0), (Polygon) g1, flip);
+ return;
+ }
+ }
+ }
+
+ /**
+ * Computes distance between two polygons.
+ *
+ * To compute the distance, compute the distance
+ * between the rings of one polygon and the other polygon,
+ * and vice-versa.
+ * If the polygons intersect, then at least one ring must
+ * intersect the other polygon.
+ * Note that it is NOT sufficient to test only the shell rings.
+ * A counter-example is a "figure-8" polygon A
+ * and a simple polygon B at right angles to A, with the ring of B
+ * passing through the holes of A.
+ * The polygons intersect,
+ * but A's shell does not intersect B, and B's shell does not intersect A.
+ *
+ * @param poly0
+ * @param poly1
+ * @param geomIndex
+ */
+ private void computeMinDistancePolygonPolygon(PlanarPolygon3D poly0, Polygon poly1,
+ boolean flip) {
+ computeMinDistancePolygonRings(poly0, poly1, flip);
+ if (isDone) return;
+ PlanarPolygon3D polyPlane1 = new PlanarPolygon3D(poly1);
+ computeMinDistancePolygonRings(polyPlane1, poly0.getPolygon(), flip);
+ }
+
+ /**
+ * Compute distance between a polygon and the rings of another.
+ *
+ * @param poly
+ * @param ringPoly
+ * @param geomIndex
+ */
+ private void computeMinDistancePolygonRings(PlanarPolygon3D poly, Polygon ringPoly,
+ boolean flip) {
+ // compute shell ring
+ computeMinDistancePolygonLine(poly, ringPoly.getExteriorRing(), flip);
+ if (isDone) return;
+ // compute hole rings
+ int nHole = ringPoly.getNumInteriorRing();
+ for (int i = 0; i < nHole; i++) {
+ computeMinDistancePolygonLine(poly, ringPoly.getInteriorRingN(i), flip);
+ if (isDone) return;
+ }
+ }
+
+ private void computeMinDistancePolygonLine(PlanarPolygon3D poly,LineString line,
+ boolean flip) {
+
+ // first test if line intersects polygon
+ Coordinate intPt = intersection(poly, line);
+ if (intPt != null) {
+ updateDistance(0,
+ new GeometryLocation(poly.getPolygon(), 0, intPt),
+ new GeometryLocation(line, 0, intPt),
+ flip
+ );
+ return;
+ }
+
+ // if no intersection, then compute line distance to polygon rings
+ computeMinDistanceLineLine(poly.getPolygon().getExteriorRing(), line, flip);
+ if (isDone) return;
+ int nHole = poly.getPolygon().getNumInteriorRing();
+ for (int i = 0; i < nHole; i++) {
+ computeMinDistanceLineLine(poly.getPolygon().getInteriorRingN(i), line, flip);
+ if (isDone) return;
+ }
+ }
+
+ private Coordinate intersection(PlanarPolygon3D poly,LineString line) {
+ CoordinateSequence seq = line.getCoordinateSequence();
+ if (seq.size() == 0)
+ return null;
+
+ // start point of line
+ Coordinate p0 = new Coordinate();
+ seq.getCoordinate(0, p0);
+ double d0 = poly.getPlane().orientedDistance(p0);
+
+ // for each segment in the line
+ Coordinate p1 = new Coordinate();
+ for (int i = 0; i < seq.size() - 1; i++) {
+ seq.getCoordinate(i, p0);
+ seq.getCoordinate(i + 1, p1);
+ double d1 = poly.getPlane().orientedDistance(p1);
+
+ /**
+ * If the oriented distances of the segment endpoints have the same sign,
+ * the segment does not cross the plane, and is skipped.
+ */
+ if (d0 * d1 > 0)
+ continue;
+
+ /**
+ * Compute segment-plane intersection point
+ * which is then used for a point-in-polygon test.
+ * The endpoint distances to the plane d0 and d1
+ * give the proportional distance of the intersection point
+ * along the segment.
+ */
+ Coordinate intPt = segmentPoint(p0, p1, d0, d1);
+ // Coordinate intPt = polyPlane.intersection(p0, p1, s0, s1);
+ if (poly.intersects(intPt)) {
+ return intPt;
+ }
+
+ // shift to next segment
+ d0 = d1;
+ }
+ return null;
+ }
+
+ private void computeMinDistancePolygonPoint(PlanarPolygon3D polyPlane, Point point,
+ boolean flip) {
+ Coordinate pt = point.getCoordinate();
+
+ LineString shell = polyPlane.getPolygon().getExteriorRing();
+ if (polyPlane.intersects(pt, shell)) {
+ // point is either inside or in a hole
+
+ int nHole = polyPlane.getPolygon().getNumInteriorRing();
+ for (int i = 0; i < nHole; i++) {
+ LineString hole = polyPlane.getPolygon().getInteriorRingN(i);
+ if (polyPlane.intersects(pt, hole)) {
+ computeMinDistanceLinePoint(hole, point, flip);
+ return;
+ }
+ }
+ // point is in interior of polygon
+ // distance is distance to polygon plane
+ double dist = Math.abs(polyPlane.getPlane().orientedDistance(pt));
+ updateDistance(dist,
+ new GeometryLocation(polyPlane.getPolygon(), 0, pt),
+ new GeometryLocation(point, 0, pt),
+ flip
+ );
+ }
+ // point is outside polygon, so compute distance to shell linework
+ computeMinDistanceLinePoint(shell, point, flip);
+ }
+
+ private void computeMinDistanceLineLine(LineString line0, LineString line1,
+ boolean flip) {
+ Coordinate[] coord0 = line0.getCoordinates();
+ Coordinate[] coord1 = line1.getCoordinates();
+ // brute force approach!
+ for (int i = 0; i < coord0.length - 1; i++) {
+ for (int j = 0; j < coord1.length - 1; j++) {
+ double dist = CGAlgorithms3D.distanceSegmentSegment(coord0[i],
+ coord0[i + 1], coord1[j], coord1[j + 1]);
+ if (dist < minDistance) {
+ minDistance = dist;
+ // TODO: compute closest pts in 3D
+ LineSegment seg0 = new LineSegment(coord0[i], coord0[i + 1]);
+ LineSegment seg1 = new LineSegment(coord1[j], coord1[j + 1]);
+ Coordinate[] closestPt = seg0.closestPoints(seg1);
+ updateDistance(dist,
+ new GeometryLocation(line0, i, closestPt[0]),
+ new GeometryLocation(line1, j, closestPt[1]),
+ flip
+ );
+ }
+ if (isDone) return;
+ }
+ }
+ }
+
+ private void computeMinDistanceLinePoint(LineString line,Point point,
+ boolean flip) {
+ Coordinate[] lineCoord = line.getCoordinates();
+ Coordinate coord = point.getCoordinate();
+ // brute force approach!
+ for (int i = 0; i < lineCoord.length - 1; i++) {
+ double dist = CGAlgorithms3D.distancePointSegment(coord, lineCoord[i],
+ lineCoord[i + 1]);
+ if (dist < minDistance) {
+ LineSegment seg = new LineSegment(lineCoord[i], lineCoord[i + 1]);
+ Coordinate segClosestPoint = seg.closestPoint(coord);
+ updateDistance(dist,
+ new GeometryLocation(line, i, segClosestPoint),
+ new GeometryLocation(point, 0, coord),
+ flip);
+ }
+ if (isDone) return;
+ }
+ }
+
+ private void computeMinDistancePointPoint(Point point0, Point point1, boolean flip) {
+ double dist = CGAlgorithms3D.distance(
+ point0.getCoordinate(),
+ point1.getCoordinate());
+ if (dist < minDistance) {
+ updateDistance(dist,
+ new GeometryLocation(point0, 0, point0.getCoordinate()),
+ new GeometryLocation(point1, 0, point1.getCoordinate()),
+ flip);
+ }
+ }
+
+ /**
+ * Computes a point at a distance along a segment
+ * specified by two relatively proportional values.
+ * The fractional distance along the segment is d0/(d0+d1).
+ *
+ * @param p0
+ * start point of the segment
+ * @param p1
+ * end point of the segment
+ * @param d0
+ * proportional distance from start point to computed point
+ * @param d1
+ * proportional distance from computed point to end point
+ * @return the computed point
+ */
+ private static Coordinate segmentPoint(Coordinate p0, Coordinate p1, double d0,
+ double d1) {
+ if (d0 <= 0) return new Coordinate(p0);
+ if (d1 <= 0) return new Coordinate(p1);
+
+ double f = Math.abs(d0) / (Math.abs(d0) + Math.abs(d1));
+ double intx = p0.x + f * (p1.x - p0.x);
+ double inty = p0.y + f * (p1.y - p0.y);
+ double intz = p0.z + f * (p1.z - p0.z);
+ return new Coordinate(intx, inty, intz);
+ }
+
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/PlanarPolygon3D.java b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/PlanarPolygon3D.java
new file mode 100644
index 0000000..9546084
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/distance3d/PlanarPolygon3D.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance3d;
+
+import org.locationtech.jts.algorithm.RayCrossingCounter;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.math.Plane3D;
+import org.locationtech.jts.math.Vector3D;
+
+/**
+ * Models a polygon lying in a plane in 3-dimensional Cartesian space.
+ * The polygon representation is supplied
+ * by a {@link Polygon},
+ * containing coordinates with XYZ ordinates.
+ * 3D polygons are assumed to lie in a single plane.
+ * The plane best fitting the polygon coordinates is
+ * computed and is represented by a {@link Plane3D}.
+ *
+ * @author mdavis
+ *
+ */
+public class PlanarPolygon3D {
+
+ private Plane3D plane;
+ private Polygon poly;
+ private int facingPlane = -1;
+
+ public PlanarPolygon3D(Polygon poly) {
+ this.poly = poly;
+ plane = findBestFitPlane(poly);
+ facingPlane = plane.closestAxisPlane();
+ }
+
+ /**
+ * Finds a best-fit plane for the polygon,
+ * by sampling a few points from the exterior ring.
+ * <p>
+ * The algorithm used is Newell's algorithm:
+ * - a base point for the plane is determined from the average of all vertices
+ * - the normal vector is determined by
+ * computing the area of the projections on each of the axis planes
+ *
+ * @param poly the polygon to determine the plane for
+ * @return the best-fit plane
+ */
+ private Plane3D findBestFitPlane(Polygon poly)
+ {
+ CoordinateSequence seq = poly.getExteriorRing().getCoordinateSequence();
+ Coordinate basePt = averagePoint(seq);
+ Vector3D normal = averageNormal(seq);
+ return new Plane3D(normal, basePt);
+ }
+
+ /**
+ * Computes an average normal vector from a list of polygon coordinates.
+ * Uses Newell's method, which is based
+ * on the fact that the vector with components
+ * equal to the areas of the projection of the polygon onto
+ * the Cartesian axis planes is normal.
+ *
+ * @param seq the sequence of coordinates for the polygon
+ * @return a normal vector
+ */
+ private Vector3D averageNormal(CoordinateSequence seq)
+ {
+ int n = seq.size();
+ Coordinate sum = new Coordinate(0,0,0);
+ Coordinate p1 = new Coordinate(0,0,0);
+ Coordinate p2 = new Coordinate(0,0,0);
+ for (int i = 0; i < n - 1; i++) {
+ seq.getCoordinate(i, p1);
+ seq.getCoordinate(i+1, p2);
+ sum.x += (p1.y - p2.y)*(p1.z + p2.z);
+ sum.y += (p1.z - p2.z)*(p1.x + p2.x);
+ sum.z += (p1.x - p2.x)*(p1.y + p2.y);
+ }
+ sum.x /= n;
+ sum.y /= n;
+ sum.z /= n;
+ Vector3D norm = Vector3D.create(sum).normalize();
+ return norm;
+ }
+
+ /**
+ * Computes a point which is the average of all coordinates
+ * in a sequence.
+ * If the sequence lies in a single plane,
+ * the computed point also lies in the plane.
+ *
+ * @param seq a coordinate sequence
+ * @return a Coordinate with averaged ordinates
+ */
+ private Coordinate averagePoint(CoordinateSequence seq) {
+ Coordinate a = new Coordinate(0,0,0);
+ int n = seq.size();
+ for (int i = 0; i < n; i++) {
+ a.x += seq.getOrdinate(i, CoordinateSequence.X);
+ a.y += seq.getOrdinate(i, CoordinateSequence.Y);
+ a.z += seq.getOrdinate(i, CoordinateSequence.Z);
+ }
+ a.x /= n;
+ a.y /= n;
+ a.z /= n;
+ return a;
+ }
+
+ public Plane3D getPlane() {
+ return plane;
+ }
+
+ public Polygon getPolygon() {
+ return poly;
+ }
+
+ public boolean intersects(Coordinate intPt) {
+ if (Location.EXTERIOR == locate(intPt, poly.getExteriorRing()))
+ return false;
+
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ if (Location.INTERIOR == locate(intPt, poly.getInteriorRingN(i)))
+ return false;
+ }
+ return true;
+ }
+
+ private int locate(Coordinate pt, LineString ring) {
+ CoordinateSequence seq = ring.getCoordinateSequence();
+ CoordinateSequence seqProj = project(seq, facingPlane);
+ Coordinate ptProj = project(pt, facingPlane);
+ return RayCrossingCounter.locatePointInRing(ptProj, seqProj);
+ }
+
+ public boolean intersects(Coordinate pt, LineString ring) {
+ CoordinateSequence seq = ring.getCoordinateSequence();
+ CoordinateSequence seqProj = project(seq, facingPlane);
+ Coordinate ptProj = project(pt, facingPlane);
+ return Location.EXTERIOR != RayCrossingCounter.locatePointInRing(ptProj, seqProj);
+ }
+
+ private static CoordinateSequence project(CoordinateSequence seq, int facingPlane)
+ {
+ switch (facingPlane) {
+ case Plane3D.XY_PLANE: return AxisPlaneCoordinateSequence.projectToXY(seq);
+ case Plane3D.XZ_PLANE: return AxisPlaneCoordinateSequence.projectToXZ(seq);
+ default: return AxisPlaneCoordinateSequence.projectToYZ(seq);
+ }
+ }
+
+ private static Coordinate project(Coordinate p, int facingPlane)
+ {
+ switch (facingPlane) {
+ case Plane3D.XY_PLANE: return new Coordinate(p.x, p.y);
+ case Plane3D.XZ_PLANE: return new Coordinate(p.x, p.z);
+ // Plane3D.YZ
+ default: return new Coordinate(p.y, p.z);
+ }
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/EdgeString.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/EdgeString.java
new file mode 100644
index 0000000..f993ae2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/EdgeString.java
@@ -0,0 +1,83 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * A sequence of {@link LineMergeDirectedEdge}s forming one of the lines that will
+ * be output by the line-merging process.
+ *
+ * @version 1.7
+ */
+public class EdgeString {
+ private GeometryFactory factory;
+ private List directedEdges = new ArrayList();
+ private Coordinate[] coordinates = null;
+ /**
+ * Constructs an EdgeString with the given factory used to convert this EdgeString
+ * to a LineString
+ */
+ public EdgeString(GeometryFactory factory) {
+ this.factory = factory;
+ }
+
+ /**
+ * Adds a directed edge which is known to form part of this line.
+ */
+ public void add(LineMergeDirectedEdge directedEdge) {
+ directedEdges.add(directedEdge);
+ }
+
+ private Coordinate[] getCoordinates() {
+ if (coordinates == null) {
+ int forwardDirectedEdges = 0;
+ int reverseDirectedEdges = 0;
+ CoordinateList coordinateList = new CoordinateList();
+ for (Iterator i = directedEdges.iterator(); i.hasNext();) {
+ LineMergeDirectedEdge directedEdge = (LineMergeDirectedEdge) i.next();
+ if (directedEdge.getEdgeDirection()) {
+ forwardDirectedEdges++;
+ }
+ else {
+ reverseDirectedEdges++;
+ }
+ coordinateList.add(((LineMergeEdge) directedEdge.getEdge()).getLine()
+ .getCoordinates(), false,
+ directedEdge.getEdgeDirection());
+ }
+ coordinates = coordinateList.toCoordinateArray();
+ if (reverseDirectedEdges > forwardDirectedEdges) {
+ CoordinateArrays.reverse(coordinates);
+ }
+ }
+
+ return coordinates;
+ }
+
+ /**
+ * Converts this EdgeString into a LineString.
+ */
+ public LineString toLineString() {
+ return factory.createLineString(getCoordinates());
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeDirectedEdge.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeDirectedEdge.java
new file mode 100644
index 0000000..90e2994
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeDirectedEdge.java
@@ -0,0 +1,59 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * A {@link org.locationtech.jts.planargraph.DirectedEdge} of a
+ * {@link LineMergeGraph}.
+ *
+ * @version 1.7
+ */
+public class LineMergeDirectedEdge extends DirectedEdge {
+ /**
+ * Constructs a LineMergeDirectedEdge connecting the <code>from</code> node to the
+ * <code>to</code> node.
+ *
+ * @param directionPt
+ * specifies this DirectedEdge's direction (given by an imaginary
+ * line from the <code>from</code> node to <code>directionPt</code>)
+ * @param edgeDirection
+ * whether this DirectedEdge's direction is the same as or
+ * opposite to that of the parent Edge (if any)
+ */
+ public LineMergeDirectedEdge(Node from, Node to, Coordinate directionPt,
+ boolean edgeDirection) {
+ super(from, to, directionPt, edgeDirection);
+ }
+
+ /**
+ * Returns the directed edge that starts at this directed edge's end point, or null
+ * if there are zero or multiple directed edges starting there.
+ * @return the directed edge
+ */
+ public LineMergeDirectedEdge getNext() {
+ if (getToNode().getDegree() != 2) {
+ return null;
+ }
+ if (getToNode().getOutEdges().getEdges().get(0) == getSym()) {
+ return (LineMergeDirectedEdge) getToNode().getOutEdges().getEdges().get(1);
+ }
+ Assert.isTrue(getToNode().getOutEdges().getEdges().get(1) == getSym());
+
+ return (LineMergeDirectedEdge) getToNode().getOutEdges().getEdges().get(0);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeEdge.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeEdge.java
new file mode 100644
index 0000000..e217a58
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeEdge.java
@@ -0,0 +1,38 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.planargraph.Edge;
+
+/**
+ * An edge of a {@link LineMergeGraph}. The <code>marked</code> field indicates
+ * whether this Edge has been logically deleted from the graph.
+ *
+ * @version 1.7
+ */
+public class LineMergeEdge extends Edge {
+ private LineString line;
+ /**
+ * Constructs a LineMergeEdge with vertices given by the specified LineString.
+ */
+ public LineMergeEdge(LineString line) {
+ this.line = line;
+ }
+ /**
+ * Returns the LineString specifying the vertices of this edge.
+ */
+ public LineString getLine() {
+ return line;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeGraph.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeGraph.java
new file mode 100644
index 0000000..b922a24
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMergeGraph.java
@@ -0,0 +1,70 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.Edge;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.planargraph.PlanarGraph;
+
+/**
+ * A planar graph of edges that is analyzed to sew the edges together. The
+ * <code>marked</code> flag on {@link org.locationtech.jts.planargraph.Edge}s
+ * and {@link org.locationtech.jts.planargraph.Node}s indicates whether they have been
+ * logically deleted from the graph.
+ *
+ * @version 1.7
+ */
+public class LineMergeGraph extends PlanarGraph
+{
+ /**
+ * Adds an Edge, DirectedEdges, and Nodes for the given LineString representation
+ * of an edge.
+ * Empty lines or lines with all coordinates equal are not added.
+ *
+ * @param lineString the linestring to add to the graph
+ */
+ public void addEdge(LineString lineString) {
+ if (lineString.isEmpty()) { return; }
+
+ Coordinate[] coordinates = CoordinateArrays.removeRepeatedPoints(lineString.getCoordinates());
+
+ // don't add lines with all coordinates equal
+ if (coordinates.length <= 1) return;
+
+ Coordinate startCoordinate = coordinates[0];
+ Coordinate endCoordinate = coordinates[coordinates.length - 1];
+ Node startNode = getNode(startCoordinate);
+ Node endNode = getNode(endCoordinate);
+ DirectedEdge directedEdge0 = new LineMergeDirectedEdge(startNode, endNode,
+ coordinates[1], true);
+ DirectedEdge directedEdge1 = new LineMergeDirectedEdge(endNode, startNode,
+ coordinates[coordinates.length - 2], false);
+ Edge edge = new LineMergeEdge(lineString);
+ edge.setDirectedEdges(directedEdge0, directedEdge1);
+ add(edge);
+ }
+
+ private Node getNode(Coordinate coordinate) {
+ Node node = findNode(coordinate);
+ if (node == null) {
+ node = new Node(coordinate);
+ add(node);
+ }
+
+ return node;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMerger.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMerger.java
new file mode 100644
index 0000000..01ab151
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineMerger.java
@@ -0,0 +1,178 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.planargraph.GraphComponent;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * Merges a collection of linear components to form maximal-length linestrings.
+ * <p>
+ * Merging stops at nodes of degree 1 or degree 3 or more.
+ * In other words, all nodes of degree 2 are merged together.
+ * The exception is in the case of an isolated loop, which only has degree-2 nodes.
+ * In this case one of the nodes is chosen as a starting point.
+ * <p>
+ * The direction of each
+ * merged LineString will be that of the majority of the LineStrings from which it
+ * was derived.
+ * <p>
+ * Any dimension of Geometry is handled - the constituent linework is extracted to
+ * form the edges. The edges must be correctly noded; that is, they must only meet
+ * at their endpoints. The LineMerger will accept non-noded input
+ * but will not merge non-noded edges.
+ * <p>
+ * Input lines which are empty or contain only a single unique coordinate are not included
+ * in the merging.
+ *
+ * @version 1.7
+ */
+public class LineMerger
+{
+ private LineMergeGraph graph = new LineMergeGraph();
+ private Collection mergedLineStrings = null;
+ private GeometryFactory factory = null;
+
+ /**
+ * Creates a new line merger.
+ *
+ */
+ public LineMerger()
+ {
+
+ }
+
+ /**
+ * Adds a Geometry to be processed. May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent linework will be
+ * extracted.
+ *
+ * @param geometry geometry to be line-merged
+ */
+ public void add(Geometry geometry) {
+ geometry.apply(new GeometryComponentFilter() {
+ public void filter(Geometry component) {
+ if (component instanceof LineString) {
+ add((LineString)component);
+ }
+ }
+ });
+ }
+ /**
+ * Adds a collection of Geometries to be processed. May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent linework will be
+ * extracted.
+ *
+ * @param geometries the geometries to be line-merged
+ */
+ public void add(Collection geometries)
+ {
+ mergedLineStrings = null;
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ add(geometry);
+ }
+ }
+ private void add(LineString lineString) {
+ if (factory == null) {
+ this.factory = lineString.getFactory();
+ }
+ graph.addEdge(lineString);
+ }
+
+ private Collection edgeStrings = null;
+
+ private void merge()
+ {
+ if (mergedLineStrings != null) { return; }
+
+ // reset marks (this allows incremental processing)
+ GraphComponent.setMarked(graph.nodeIterator(), false);
+ GraphComponent.setMarked(graph.edgeIterator(), false);
+
+ edgeStrings = new ArrayList();
+ buildEdgeStringsForObviousStartNodes();
+ buildEdgeStringsForIsolatedLoops();
+ mergedLineStrings = new ArrayList();
+ for (Iterator i = edgeStrings.iterator(); i.hasNext(); ) {
+ EdgeString edgeString = (EdgeString) i.next();
+ mergedLineStrings.add(edgeString.toLineString());
+ }
+ }
+
+ private void buildEdgeStringsForObviousStartNodes() {
+ buildEdgeStringsForNonDegree2Nodes();
+ }
+
+ private void buildEdgeStringsForIsolatedLoops() {
+ buildEdgeStringsForUnprocessedNodes();
+ }
+
+ private void buildEdgeStringsForUnprocessedNodes() {
+ for (Iterator i = graph.getNodes().iterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (!node.isMarked()) {
+ Assert.isTrue(node.getDegree() == 2);
+ buildEdgeStringsStartingAt(node);
+ node.setMarked(true);
+ }
+ }
+ }
+ private void buildEdgeStringsForNonDegree2Nodes() {
+ for (Iterator i = graph.getNodes().iterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (node.getDegree() != 2) {
+ buildEdgeStringsStartingAt(node);
+ node.setMarked(true);
+ }
+ }
+ }
+ private void buildEdgeStringsStartingAt(Node node) {
+ for (Iterator i = node.getOutEdges().iterator(); i.hasNext(); ) {
+ LineMergeDirectedEdge directedEdge = (LineMergeDirectedEdge) i.next();
+ if (directedEdge.getEdge().isMarked()) { continue; }
+ edgeStrings.add(buildEdgeStringStartingWith(directedEdge));
+ }
+ }
+
+ private EdgeString buildEdgeStringStartingWith(LineMergeDirectedEdge start) {
+ EdgeString edgeString = new EdgeString(factory);
+ LineMergeDirectedEdge current = start;
+ do {
+ edgeString.add(current);
+ current.getEdge().setMarked(true);
+ current = current.getNext();
+ } while (current != null && current != start);
+ return edgeString;
+ }
+
+ /**
+ * Gets the {@link LineString}s created by the merging process.
+ *
+ * @return the collection of merged LineStrings
+ */
+ public Collection getMergedLineStrings() {
+ merge();
+ return mergedLineStrings;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineSequencer.java b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineSequencer.java
new file mode 100644
index 0000000..04d3dd6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/LineSequencer.java
@@ -0,0 +1,471 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.GraphComponent;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.planargraph.Subgraph;
+import org.locationtech.jts.planargraph.algorithm.ConnectedSubgraphFinder;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * Builds a sequence from a set of LineStrings so that
+ * they are ordered end to end.
+ * A sequence is a complete non-repeating list of the linear
+ * components of the input. Each linestring is oriented
+ * so that identical endpoints are adjacent in the list.
+ * <p>
+ * A typical use case is to convert a set of
+ * unoriented geometric links
+ * from a linear network
+ * (e.g. such as block faces on a bus route)
+ * into a continuous oriented path through the network.
+ * <p>
+ * The input linestrings may form one or more connected sets.
+ * The input linestrings should be correctly noded, or the results may
+ * not be what is expected.
+ * The computed output is a single {@link MultiLineString} containing the ordered
+ * linestrings in the sequence.
+ * <p>
+ * The sequencing employs the classic <b>Eulerian path</b> graph algorithm.
+ * Since Eulerian paths are not uniquely determined,
+ * further rules are used to
+ * make the computed sequence preserve as much as possible of the input
+ * ordering.
+ * Within a connected subset of lines, the ordering rules are:
+ * <ul>
+ * <li>If there is degree-1 node which is the start
+ * node of an linestring, use that node as the start of the sequence
+ * <li>If there is a degree-1 node which is the end
+ * node of an linestring, use that node as the end of the sequence
+ * <li>If the sequence has no degree-1 nodes, use any node as the start
+ * </ul>
+ *
+ * Note that not all arrangements of lines can be sequenced.
+ * For a connected set of edges in a graph,
+ * <i>Euler's Theorem</i> states that there is a sequence containing each edge once
+ * <b>if and only if</b> there are no more than 2 nodes of odd degree.
+ * If it is not possible to find a sequence, the {@link #isSequenceable()} method
+ * will return <code>false</code>.
+ *
+ * @version 1.7
+ */
+public class LineSequencer
+{
+ public static Geometry sequence(Geometry geom)
+ {
+ LineSequencer sequencer = new LineSequencer();
+ sequencer.add(geom);
+ return sequencer.getSequencedLineStrings();
+ }
+
+ /**
+ * Tests whether a {@link Geometry} is sequenced correctly.
+ * {@link LineString}s are trivially sequenced.
+ * {@link MultiLineString}s are checked for correct sequencing.
+ * Otherwise, <code>isSequenced</code> is defined
+ * to be <code>true</code> for geometries that are not lineal.
+ *
+ * @param geom the geometry to test
+ * @return <code>true</code> if the geometry is sequenced or is not lineal
+ */
+ public static boolean isSequenced(Geometry geom)
+ {
+ if (! (geom instanceof MultiLineString)) {
+ return true;
+ }
+
+ MultiLineString mls = (MultiLineString) geom;
+ // the nodes in all subgraphs which have been completely scanned
+ Set prevSubgraphNodes = new TreeSet();
+
+ Coordinate lastNode = null;
+ List currNodes = new ArrayList();
+ for (int i = 0; i < mls.getNumGeometries(); i++) {
+ LineString line = (LineString) mls.getGeometryN(i);
+ Coordinate startNode = line.getCoordinateN(0);
+ Coordinate endNode = line.getCoordinateN(line.getNumPoints() - 1);
+
+ /**
+ * If this linestring is connected to a previous subgraph, geom is not sequenced
+ */
+ if (prevSubgraphNodes.contains(startNode)) return false;
+ if (prevSubgraphNodes.contains(endNode)) return false;
+
+ if (lastNode != null) {
+ if (! startNode.equals(lastNode)) {
+ // start new connected sequence
+ prevSubgraphNodes.addAll(currNodes);
+ currNodes.clear();
+ }
+ }
+ currNodes.add(startNode);
+ currNodes.add(endNode);
+ lastNode = endNode;
+ }
+ return true;
+ }
+
+ private LineMergeGraph graph = new LineMergeGraph();
+ // initialize with default, in case no lines are input
+ private GeometryFactory factory = new GeometryFactory();
+ private int lineCount = 0;
+
+ private boolean isRun = false;
+ private Geometry sequencedGeometry = null;
+ private boolean isSequenceable = false;
+
+ /**
+ * Adds a {@link Collection} of {@link Geometry}s to be sequenced.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent linework will be
+ * extracted.
+ *
+ * @param geometries a Collection of geometries to add
+ */
+ public void add(Collection geometries) {
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ add(geometry);
+ }
+ }
+ /**
+ * Adds a {@link Geometry} to be sequenced.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added; the constituent linework will be
+ * extracted.
+ *
+ * @param geometry the geometry to add
+ */
+ public void add(Geometry geometry) {
+ geometry.apply(new GeometryComponentFilter() {
+ public void filter(Geometry component) {
+ if (component instanceof LineString) {
+ addLine((LineString)component);
+ }
+ }
+ });
+ }
+
+ private void addLine(LineString lineString) {
+ if (factory == null) {
+ this.factory = lineString.getFactory();
+ }
+ graph.addEdge(lineString);
+ lineCount++;
+ }
+
+ /**
+ * Tests whether the arrangement of linestrings has a valid
+ * sequence.
+ *
+ * @return <code>true</code> if a valid sequence exists.
+ */
+ public boolean isSequenceable()
+ {
+ computeSequence();
+ return isSequenceable;
+ }
+ /**
+ * Returns the {@link LineString} or {@link MultiLineString}
+ * built by the sequencing process, if one exists.
+ *
+ * @return the sequenced linestrings,
+ * or <code>null</code> if a valid sequence does not exist
+ */
+ public Geometry getSequencedLineStrings() {
+ computeSequence();
+ return sequencedGeometry;
+ }
+
+ private void computeSequence() {
+ if (isRun) { return; }
+ isRun = true;
+
+ List sequences = findSequences();
+ if (sequences == null)
+ return;
+
+ sequencedGeometry = buildSequencedGeometry(sequences);
+ isSequenceable = true;
+
+ int finalLineCount = sequencedGeometry.getNumGeometries();
+ Assert.isTrue(lineCount == finalLineCount, "Lines were missing from result");
+ Assert.isTrue(sequencedGeometry instanceof LineString
+ || sequencedGeometry instanceof MultiLineString,
+ "Result is not lineal");
+ }
+
+ private List findSequences()
+ {
+ List sequences = new ArrayList();
+ ConnectedSubgraphFinder csFinder = new ConnectedSubgraphFinder(graph);
+ List subgraphs = csFinder.getConnectedSubgraphs();
+ for (Iterator i = subgraphs.iterator(); i.hasNext(); ) {
+ Subgraph subgraph = (Subgraph) i.next();
+ if (hasSequence(subgraph)) {
+ List seq = findSequence(subgraph);
+ sequences.add(seq);
+ }
+ else {
+ // if any subgraph cannot be sequenced, abort
+ return null;
+ }
+ }
+ return sequences;
+ }
+
+ /**
+ * Tests whether a complete unique path exists in a graph
+ * using Euler's Theorem.
+ *
+ * @param graph the subgraph containing the edges
+ * @return <code>true</code> if a sequence exists
+ */
+ private boolean hasSequence(Subgraph graph)
+ {
+ int oddDegreeCount = 0;
+ for (Iterator i = graph.nodeIterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (node.getDegree() % 2 == 1)
+ oddDegreeCount++;
+ }
+ return oddDegreeCount <= 2;
+ }
+
+ private List findSequence(Subgraph graph)
+ {
+ GraphComponent.setVisited(graph.edgeIterator(), false);
+
+ Node startNode = findLowestDegreeNode(graph);
+ DirectedEdge startDE = (DirectedEdge) startNode.getOutEdges().iterator().next();
+ DirectedEdge startDESym = startDE.getSym();
+
+ List seq = new LinkedList();
+ ListIterator lit = seq.listIterator();
+ addReverseSubpath(startDESym, lit, false);
+ while (lit.hasPrevious()) {
+ DirectedEdge prev = (DirectedEdge) lit.previous();
+ DirectedEdge unvisitedOutDE = findUnvisitedBestOrientedDE(prev.getFromNode());
+ if (unvisitedOutDE != null)
+ addReverseSubpath(unvisitedOutDE.getSym(), lit, true);
+ }
+
+ /**
+ * At this point, we have a valid sequence of graph DirectedEdges, but it
+ * is not necessarily appropriately oriented relative to the underlying
+ * geometry.
+ */
+ List orientedSeq = orient(seq);
+ return orientedSeq;
+ }
+
+ /**
+ * Finds an {@link DirectedEdge} for an unvisited edge (if any),
+ * choosing the dirEdge which preserves orientation, if possible.
+ *
+ * @param node the node to examine
+ * @return the dirEdge found, or <code>null</code> if none were unvisited
+ */
+ private static DirectedEdge findUnvisitedBestOrientedDE(Node node)
+ {
+ DirectedEdge wellOrientedDE = null;
+ DirectedEdge unvisitedDE = null;
+ for (Iterator i = node.getOutEdges().iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ if (! de.getEdge().isVisited()) {
+ unvisitedDE = de;
+ if (de.getEdgeDirection())
+ wellOrientedDE = de;
+ }
+ }
+ if (wellOrientedDE != null)
+ return wellOrientedDE;
+ return unvisitedDE;
+ }
+
+ private void addReverseSubpath(DirectedEdge de, ListIterator lit, boolean expectedClosed)
+ {
+ // trace an unvisited path *backwards* from this de
+ Node endNode = de.getToNode();
+
+ Node fromNode = null;
+ while (true) {
+ lit.add(de.getSym());
+ de.getEdge().setVisited(true);
+ fromNode = de.getFromNode();
+ DirectedEdge unvisitedOutDE = findUnvisitedBestOrientedDE(fromNode);
+ // this must terminate, since we are continually marking edges as visited
+ if (unvisitedOutDE == null)
+ break;
+ de = unvisitedOutDE.getSym();
+ }
+ if (expectedClosed) {
+ // the path should end at the toNode of this de, otherwise we have an error
+ Assert.isTrue(fromNode == endNode, "path not contiguous");
+ }
+ }
+
+ private static Node findLowestDegreeNode(Subgraph graph)
+ {
+ int minDegree = Integer.MAX_VALUE;
+ Node minDegreeNode = null;
+ for (Iterator i = graph.nodeIterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (minDegreeNode == null || node.getDegree() < minDegree) {
+ minDegree = node.getDegree();
+ minDegreeNode = node;
+ }
+ }
+ return minDegreeNode;
+ }
+
+ /**
+ * Computes a version of the sequence which is optimally
+ * oriented relative to the underlying geometry.
+ * <p>
+ * Heuristics used are:
+ * <ul>
+ * <li>If the path has a degree-1 node which is the start
+ * node of an linestring, use that node as the start of the sequence
+ * <li>If the path has a degree-1 node which is the end
+ * node of an linestring, use that node as the end of the sequence
+ * <li>If the sequence has no degree-1 nodes, use any node as the start
+ * (NOTE: in this case could orient the sequence according to the majority of the
+ * linestring orientations)
+ * </ul>
+ *
+ * @param seq a List of DirectedEdges
+ * @return a List of DirectedEdges oriented appropriately
+ */
+ private List orient(List seq)
+ {
+ DirectedEdge startEdge = (DirectedEdge) seq.get(0);
+ DirectedEdge endEdge = (DirectedEdge) seq.get(seq.size() - 1);
+ Node startNode = startEdge.getFromNode();
+ Node endNode = endEdge.getToNode();
+
+ boolean flipSeq = false;
+ boolean hasDegree1Node = startNode.getDegree() == 1
+ || endNode.getDegree() == 1;
+
+ if (hasDegree1Node) {
+ boolean hasObviousStartNode = false;
+
+ // test end edge before start edge, to make result stable
+ // (ie. if both are good starts, pick the actual start
+ if (endEdge.getToNode().getDegree() == 1 && endEdge.getEdgeDirection() == false) {
+ hasObviousStartNode = true;
+ flipSeq = true;
+ }
+ if (startEdge.getFromNode().getDegree() == 1 && startEdge.getEdgeDirection() == true) {
+ hasObviousStartNode = true;
+ flipSeq = false;
+ }
+
+ // since there is no obvious start node, use any node of degree 1
+ if (! hasObviousStartNode) {
+ // check if the start node should actually be the end node
+ if (startEdge.getFromNode().getDegree() == 1)
+ flipSeq = true;
+ // if the end node is of degree 1, it is properly the end node
+ }
+
+ }
+
+
+ // if there is no degree 1 node, just use the sequence as is
+ // (Could insert heuristic of taking direction of majority of lines as overall direction)
+
+ if (flipSeq)
+ return reverse(seq);
+ return seq;
+ }
+
+ /**
+ * Reverse the sequence.
+ * This requires reversing the order of the dirEdges, and flipping
+ * each dirEdge as well
+ *
+ * @param seq a List of DirectedEdges, in sequential order
+ * @return the reversed sequence
+ */
+ private List reverse(List seq)
+ {
+ LinkedList newSeq = new LinkedList();
+ for (Iterator i = seq.iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ newSeq.addFirst(de.getSym());
+ }
+ return newSeq;
+ }
+
+ /**
+ * Builds a geometry ({@link LineString} or {@link MultiLineString} )
+ * representing the sequence.
+ *
+ * @param sequences a List of Lists of DirectedEdges with
+ * LineMergeEdges as their parent edges.
+ * @return the sequenced geometry, or <code>null</code> if no sequence exists
+ */
+ private Geometry buildSequencedGeometry(List sequences)
+ {
+ List lines = new ArrayList();
+
+ for (Iterator i1 = sequences.iterator(); i1.hasNext(); ) {
+ List seq = (List) i1.next();
+ for (Iterator i2 = seq.iterator(); i2.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i2.next();
+ LineMergeEdge e = (LineMergeEdge) de.getEdge();
+ LineString line = e.getLine();
+
+ LineString lineToAdd = line;
+ if (! de.getEdgeDirection() && ! line.isClosed())
+ lineToAdd = reverse(line);
+
+ lines.add(lineToAdd);
+ }
+ }
+ if (lines.size() == 0)
+ return factory.createMultiLineString(new LineString[0]);
+ return factory.buildGeometry(lines);
+ }
+
+ private static LineString reverse(LineString line)
+ {
+ Coordinate[] pts = line.getCoordinates();
+ Coordinate[] revPts = new Coordinate[pts.length];
+ int len = pts.length;
+ for (int i = 0; i < len; i++) {
+ revPts[len - 1 - i] = new Coordinate(pts[i]);
+ }
+ return line.getFactory().createLineString(revPts);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/package.html
new file mode 100644
index 0000000..72fcd2f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/linemerge/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform line merging.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/ConsistentPolygonRingChecker.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/ConsistentPolygonRingChecker.java
new file mode 100644
index 0000000..9f1ac8b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/ConsistentPolygonRingChecker.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * Tests whether the polygon rings in a {@link GeometryGraph}
+ * are consistent.
+ * Used for checking if Topology errors are present after noding.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class ConsistentPolygonRingChecker
+{
+ private PlanarGraph graph;
+
+ public ConsistentPolygonRingChecker(PlanarGraph graph) {
+ this.graph = graph;
+ }
+
+ public void checkAll()
+ {
+ check(OverlayOp.INTERSECTION);
+ check(OverlayOp.DIFFERENCE);
+ check(OverlayOp.UNION);
+ check(OverlayOp.SYMDIFFERENCE);
+ }
+
+ /**
+ * Tests whether the result geometry is consistent
+ *
+ * @throws TopologyException if inconsistent topology is found
+ */
+ public void check(int opCode)
+ {
+ for (Iterator nodeit = graph.getNodeIterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ testLinkResultDirectedEdges((DirectedEdgeStar) node.getEdges(), opCode);
+ }
+ }
+
+ private List getPotentialResultAreaEdges(DirectedEdgeStar deStar, int opCode)
+ {
+//print(System.out);
+ List resultAreaEdgeList = new ArrayList();
+ for (Iterator it = deStar.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (isPotentialResultAreaEdge(de, opCode) || isPotentialResultAreaEdge(de.getSym(), opCode) )
+ resultAreaEdgeList.add(de);
+ }
+ return resultAreaEdgeList;
+ }
+
+ private boolean isPotentialResultAreaEdge(DirectedEdge de, int opCode)
+ {
+ // mark all dirEdges with the appropriate label
+ Label label = de.getLabel();
+ if (label.isArea()
+ && ! de.isInteriorAreaEdge()
+ && OverlayOp.isResultOfOp(
+ label.getLocation(0, Position.RIGHT),
+ label.getLocation(1, Position.RIGHT),
+ opCode)
+ ) {
+ return true;
+//Debug.print("in result "); Debug.println(de);
+ }
+ return false;
+ }
+
+ private final int SCANNING_FOR_INCOMING = 1;
+ private final int LINKING_TO_OUTGOING = 2;
+
+ private void testLinkResultDirectedEdges(DirectedEdgeStar deStar, int opCode)
+ {
+ // make sure edges are copied to resultAreaEdges list
+ List ringEdges = getPotentialResultAreaEdges(deStar, opCode);
+ // find first area edge (if any) to start linking at
+ DirectedEdge firstOut = null;
+ DirectedEdge incoming = null;
+ int state = SCANNING_FOR_INCOMING;
+ // link edges in CCW order
+ for (int i = 0; i < ringEdges.size(); i++) {
+ DirectedEdge nextOut = (DirectedEdge) ringEdges.get(i);
+ DirectedEdge nextIn = nextOut.getSym();
+
+ // skip de's that we're not interested in
+ if (! nextOut.getLabel().isArea()) continue;
+
+ // record first outgoing edge, in order to link the last incoming edge
+ if (firstOut == null
+ && isPotentialResultAreaEdge(nextOut, opCode))
+ firstOut = nextOut;
+ // assert: sym.isInResult() == false, since pairs of dirEdges should have been removed already
+
+ switch (state) {
+ case SCANNING_FOR_INCOMING:
+ if (! isPotentialResultAreaEdge(nextIn, opCode)) continue;
+ incoming = nextIn;
+ state = LINKING_TO_OUTGOING;
+ break;
+ case LINKING_TO_OUTGOING:
+ if (! isPotentialResultAreaEdge(nextOut, opCode)) continue;
+ //incoming.setNext(nextOut);
+ state = SCANNING_FOR_INCOMING;
+ break;
+ }
+ }
+//Debug.print(this);
+ if (state == LINKING_TO_OUTGOING) {
+//Debug.print(firstOut == null, this);
+ if (firstOut == null)
+ throw new TopologyException("no outgoing dirEdge found", deStar.getCoordinate());
+ }
+
+ }
+
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/EdgeSetNoder.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/EdgeSetNoder.java
new file mode 100644
index 0000000..0377a96
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/EdgeSetNoder.java
@@ -0,0 +1,61 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.index.EdgeSetIntersector;
+import org.locationtech.jts.geomgraph.index.SegmentIntersector;
+import org.locationtech.jts.geomgraph.index.SimpleMCSweepLineIntersector;
+
+/**
+ * Nodes a set of edges.
+ * Takes one or more sets of edges and constructs a
+ * new set of edges consisting of all the split edges created by
+ * noding the input edges together
+ * @version 1.7
+ */
+public class EdgeSetNoder {
+
+ private LineIntersector li;
+ private List inputEdges = new ArrayList();
+
+ public EdgeSetNoder(LineIntersector li) {
+ this.li = li;
+ }
+
+ public void addEdges(List edges)
+ {
+ inputEdges.addAll(edges);
+ }
+
+ public List getNodedEdges()
+ {
+ EdgeSetIntersector esi = new SimpleMCSweepLineIntersector();
+ SegmentIntersector si = new SegmentIntersector(li, true, false);
+ esi.computeIntersections(inputEdges, si, true);
+//Debug.println("has proper int = " + si.hasProperIntersection());
+
+ List splitEdges = new ArrayList();
+ for (Iterator i = inputEdges.iterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ e.getEdgeIntersectionList().addSplitEdges(splitEdges);
+ }
+ return splitEdges;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/LineBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/LineBuilder.java
new file mode 100644
index 0000000..eb51459
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/LineBuilder.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Forms JTS LineStrings out of a the graph of {@link DirectedEdge}s
+ * created by an {@link OverlayOp}.
+ *
+ * @version 1.7
+ */
+public class LineBuilder {
+ private OverlayOp op;
+ private GeometryFactory geometryFactory;
+ private PointLocator ptLocator;
+
+ private List lineEdgesList = new ArrayList();
+ private List resultLineList = new ArrayList();
+
+ public LineBuilder(OverlayOp op, GeometryFactory geometryFactory, PointLocator ptLocator) {
+ this.op = op;
+ this.geometryFactory = geometryFactory;
+ this.ptLocator = ptLocator;
+ }
+ /**
+ * @return a list of the LineStrings in the result of the specified overlay operation
+ */
+ public List build(int opCode)
+ {
+ findCoveredLineEdges();
+ collectLines(opCode);
+ //labelIsolatedLines(lineEdgesList);
+ buildLines(opCode);
+ return resultLineList;
+ }
+ /**
+ * Find and mark L edges which are "covered" by the result area (if any).
+ * L edges at nodes which also have A edges can be checked by checking
+ * their depth at that node.
+ * L edges at nodes which do not have A edges can be checked by doing a
+ * point-in-polygon test with the previously computed result areas.
+ */
+ private void findCoveredLineEdges()
+ {
+ // first set covered for all L edges at nodes which have A edges too
+ for (Iterator nodeit = op.getGraph().getNodes().iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+//node.print(System.out);
+ ((DirectedEdgeStar) node.getEdges()).findCoveredLineEdges();
+ }
+
+ /**
+ * For all L edges which weren't handled by the above,
+ * use a point-in-poly test to determine whether they are covered
+ */
+ for (Iterator it = op.getGraph().getEdgeEnds().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ Edge e = de.getEdge();
+ if (de.isLineEdge() && ! e.isCoveredSet()) {
+ boolean isCovered = op.isCoveredByA(de.getCoordinate());
+ e.setCovered(isCovered);
+ }
+ }
+ }
+
+ private void collectLines(int opCode)
+ {
+ for (Iterator it = op.getGraph().getEdgeEnds().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ collectLineEdge(de, opCode, lineEdgesList);
+ collectBoundaryTouchEdge(de, opCode, lineEdgesList);
+ }
+ }
+
+ /**
+ * Collect line edges which are in the result.
+ * Line edges are in the result if they are not part of
+ * an area boundary, if they are in the result of the overlay operation,
+ * and if they are not covered by a result area.
+ *
+ * @param de the directed edge to test
+ * @param opCode the overlap operation
+ * @param edges the list of included line edges
+ */
+ private void collectLineEdge(DirectedEdge de, int opCode, List edges)
+ {
+ Label label = de.getLabel();
+ Edge e = de.getEdge();
+ // include L edges which are in the result
+ if (de.isLineEdge()) {
+ if (! de.isVisited() && OverlayOp.isResultOfOp(label, opCode) && ! e.isCovered()) {
+//Debug.println("de: " + de.getLabel());
+//Debug.println("edge: " + e.getLabel());
+
+ edges.add(e);
+ de.setVisitedEdge(true);
+ }
+ }
+ }
+
+ /**
+ * Collect edges from Area inputs which should be in the result but
+ * which have not been included in a result area.
+ * This happens ONLY:
+ * <ul>
+ * <li>during an intersection when the boundaries of two
+ * areas touch in a line segment
+ * <li> OR as a result of a dimensional collapse.
+ * </ul>
+ */
+ private void collectBoundaryTouchEdge(DirectedEdge de, int opCode, List edges)
+ {
+ Label label = de.getLabel();
+ if (de.isLineEdge()) return; // only interested in area edges
+ if (de.isVisited()) return; // already processed
+ if (de.isInteriorAreaEdge()) return; // added to handle dimensional collapses
+ if (de.getEdge().isInResult()) return; // if the edge linework is already included, don't include it again
+
+ // sanity check for labelling of result edgerings
+ Assert.isTrue(! (de.isInResult() || de.getSym().isInResult()) || ! de.getEdge().isInResult());
+
+ // include the linework if it's in the result of the operation
+ if (OverlayOp.isResultOfOp(label, opCode)
+ && opCode == OverlayOp.INTERSECTION)
+ {
+ edges.add(de.getEdge());
+ de.setVisitedEdge(true);
+ }
+ }
+
+ private void buildLines(int opCode)
+ {
+ for (Iterator it = lineEdgesList.iterator(); it.hasNext(); ) {
+ Edge e = (Edge) it.next();
+ Label label = e.getLabel();
+ LineString line = geometryFactory.createLineString(e.getCoordinates());
+ resultLineList.add(line);
+ e.setInResult(true);
+ }
+ }
+
+ private void labelIsolatedLines(List edgesList)
+ {
+ for (Iterator it = edgesList.iterator(); it.hasNext(); ) {
+ Edge e = (Edge) it.next();
+ Label label = e.getLabel();
+//n.print(System.out);
+ if (e.isIsolated()) {
+ if (label.isNull(0))
+ labelIsolatedLine(e, 0);
+ else
+ labelIsolatedLine(e, 1);
+ }
+ }
+ }
+ /**
+ * Label an isolated node with its relationship to the target geometry.
+ */
+ private void labelIsolatedLine(Edge e, int targetIndex)
+ {
+ int loc = ptLocator.locate(e.getCoordinate(), op.getArgGeometry(targetIndex));
+ e.getLabel().setLocation(targetIndex, loc);
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MaximalEdgeRing.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MaximalEdgeRing.java
new file mode 100644
index 0000000..f9a5770
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MaximalEdgeRing.java
@@ -0,0 +1,88 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.EdgeRing;
+import org.locationtech.jts.geomgraph.Node;
+
+/**
+ * A ring of {@link DirectedEdge}s which may contain nodes of degree > 2.
+ * A <tt>MaximalEdgeRing</tt> may represent two different spatial entities:
+ * <ul>
+ * <li>a single polygon possibly containing inversions (if the ring is oriented CW)
+ * <li>a single hole possibly containing exversions (if the ring is oriented CCW)
+ * </ul>
+ * If the MaximalEdgeRing represents a polygon,
+ * the interior of the polygon is strongly connected.
+ * <p>
+ * These are the form of rings used to define polygons under some spatial data models.
+ * However, under the OGC SFS model, {@link MinimalEdgeRing}s are required.
+ * A MaximalEdgeRing can be converted to a list of MinimalEdgeRings using the
+ * {@link #buildMinimalRings() } method.
+ *
+ * @version 1.7
+ * @see org.locationtech.jts.operation.overlay.MinimalEdgeRing
+ */
+public class MaximalEdgeRing
+ extends EdgeRing
+{
+
+ public MaximalEdgeRing(DirectedEdge start, GeometryFactory geometryFactory) {
+ super(start, geometryFactory);
+ }
+
+ public DirectedEdge getNext(DirectedEdge de)
+ {
+ return de.getNext();
+ }
+ public void setEdgeRing(DirectedEdge de, EdgeRing er)
+ {
+ de.setEdgeRing(er);
+ }
+
+ /**
+ * For all nodes in this EdgeRing,
+ * link the DirectedEdges at the node to form minimalEdgeRings
+ */
+ public void linkDirectedEdgesForMinimalEdgeRings()
+ {
+ DirectedEdge de = startDe;
+ do {
+ Node node = de.getNode();
+ ((DirectedEdgeStar) node.getEdges()).linkMinimalDirectedEdges(this);
+ de = de.getNext();
+ } while (de != startDe);
+ }
+
+ public List buildMinimalRings()
+ {
+ List minEdgeRings = new ArrayList();
+ DirectedEdge de = startDe;
+ do {
+ if (de.getMinEdgeRing() == null) {
+ EdgeRing minEr = new MinimalEdgeRing(de, geometryFactory);
+ minEdgeRings.add(minEr);
+ }
+ de = de.getNext();
+ } while (de != startDe);
+ return minEdgeRings;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MinimalEdgeRing.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MinimalEdgeRing.java
new file mode 100644
index 0000000..525555b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/MinimalEdgeRing.java
@@ -0,0 +1,46 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeRing;
+
+/**
+ * A ring of {@link Edge}s with the property that no node
+ * has degree greater than 2. These are the form of rings required
+ * to represent polygons under the OGC SFS spatial data model.
+ *
+ * @version 1.7
+ * @see org.locationtech.jts.operation.overlay.MaximalEdgeRing
+ */
+public class MinimalEdgeRing
+ extends EdgeRing
+{
+
+ public MinimalEdgeRing(DirectedEdge start, GeometryFactory geometryFactory) {
+ super(start, geometryFactory);
+ }
+
+ public DirectedEdge getNext(DirectedEdge de)
+ {
+ return de.getNextMin();
+ }
+ public void setEdgeRing(DirectedEdge de, EdgeRing er)
+ {
+ de.setMinEdgeRing(er);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayNodeFactory.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayNodeFactory.java
new file mode 100644
index 0000000..a7a062f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayNodeFactory.java
@@ -0,0 +1,38 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+/**
+ * @version 1.7
+ */
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.NodeFactory;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+
+/**
+ * Creates nodes for use in the {@link PlanarGraph}s constructed during
+ * overlay operations.
+ *
+ * @version 1.7
+ */
+public class OverlayNodeFactory
+ extends NodeFactory
+{
+ public Node createNode(Coordinate coord)
+ {
+ return new Node(coord, new DirectedEdgeStar());
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayOp.java
new file mode 100644
index 0000000..0551d70
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/OverlayOp.java
@@ -0,0 +1,689 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.geomgraph.Depth;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.DirectedEdgeStar;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeList;
+import org.locationtech.jts.geomgraph.EdgeNodingValidator;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+import org.locationtech.jts.geomgraph.Position;
+import org.locationtech.jts.operation.GeometryGraphOperation;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Computes the geometric overlay of two {@link Geometry}s. The overlay
+ * can be used to determine any boolean combination of the geometries.
+ *
+ * @version 1.7
+ */
+public class OverlayOp
+ extends GeometryGraphOperation
+{
+/**
+ * The spatial functions supported by this class.
+ * These operations implement various boolean combinations of the resultants of the overlay.
+ */
+
+ /**
+ * The code for the Intersection overlay operation.
+ */
+ public static final int INTERSECTION = 1;
+
+ /**
+ * The code for the Union overlay operation.
+ */
+ public static final int UNION = 2;
+
+ /**
+ * The code for the Difference overlay operation.
+ */
+ public static final int DIFFERENCE = 3;
+
+ /**
+ * The code for the Symmetric Difference overlay operation.
+ */
+ public static final int SYMDIFFERENCE = 4;
+
+ /**
+ * Computes an overlay operation for
+ * the given geometry arguments.
+ *
+ * @param geom0 the first geometry argument
+ * @param geom1 the second geometry argument
+ * @param opCode the code for the desired overlay operation
+ * @return the result of the overlay operation
+ * @throws TopologyException if a robustness problem is encountered
+ */
+ public static Geometry overlayOp(Geometry geom0, Geometry geom1, int opCode)
+ {
+ OverlayOp gov = new OverlayOp(geom0, geom1);
+ Geometry geomOv = gov.getResultGeometry(opCode);
+ return geomOv;
+ }
+
+ /**
+ * Tests whether a point with a given topological {@link Label}
+ * relative to two geometries is contained in
+ * the result of overlaying the geometries using
+ * a given overlay operation.
+ * <p>
+ * The method handles arguments of {@link Location#NONE} correctly
+ *
+ * @param label the topological label of the point
+ * @param opCode the code for the overlay operation to test
+ * @return true if the label locations correspond to the overlayOpCode
+ */
+ public static boolean isResultOfOp(Label label, int opCode)
+ {
+ int loc0 = label.getLocation(0);
+ int loc1 = label.getLocation(1);
+ return isResultOfOp(loc0, loc1, opCode);
+ }
+
+ /**
+ * Tests whether a point with given {@link Location}s
+ * relative to two geometries is contained in
+ * the result of overlaying the geometries using
+ * a given overlay operation.
+ * <p>
+ * The method handles arguments of {@link Location#NONE} correctly
+ *
+ * @param loc0 the code for the location in the first geometry
+ * @param loc1 the code for the location in the second geometry
+ * @param overlayOpCode the code for the overlay operation to test
+ * @return true if the locations correspond to the overlayOpCode
+ */
+ public static boolean isResultOfOp(int loc0, int loc1, int overlayOpCode)
+ {
+ if (loc0 == Location.BOUNDARY) loc0 = Location.INTERIOR;
+ if (loc1 == Location.BOUNDARY) loc1 = Location.INTERIOR;
+ switch (overlayOpCode) {
+ case INTERSECTION:
+ return loc0 == Location.INTERIOR
+ && loc1 == Location.INTERIOR;
+ case UNION:
+ return loc0 == Location.INTERIOR
+ || loc1 == Location.INTERIOR;
+ case DIFFERENCE:
+ return loc0 == Location.INTERIOR
+ && loc1 != Location.INTERIOR;
+ case SYMDIFFERENCE:
+ return ( loc0 == Location.INTERIOR && loc1 != Location.INTERIOR)
+ || ( loc0 != Location.INTERIOR && loc1 == Location.INTERIOR);
+ }
+ return false;
+ }
+
+ private final PointLocator ptLocator = new PointLocator();
+ private GeometryFactory geomFact;
+ private Geometry resultGeom;
+
+ private PlanarGraph graph;
+ private EdgeList edgeList = new EdgeList();
+
+ private List resultPolyList = new ArrayList();
+ private List resultLineList = new ArrayList();
+ private List resultPointList = new ArrayList();
+
+ /**
+ * Constructs an instance to compute a single overlay operation
+ * for the given geometries.
+ *
+ * @param g0 the first geometry argument
+ * @param g1 the second geometry argument
+ */
+ public OverlayOp(Geometry g0, Geometry g1) {
+ super(g0, g1);
+ graph = new PlanarGraph(new OverlayNodeFactory());
+ /**
+ * Use factory of primary geometry.
+ * Note that this does NOT handle mixed-precision arguments
+ * where the second arg has greater precision than the first.
+ */
+ geomFact = g0.getFactory();
+ }
+
+ /**
+ * Gets the result of the overlay for a given overlay operation.
+ * <p>
+ * Note: this method can be called once only.
+ *
+ * @param overlayOpCode the overlay operation to perform
+ * @return the compute result geometry
+ * @throws TopologyException if a robustness problem is encountered
+ */
+ public Geometry getResultGeometry(int overlayOpCode)
+ {
+ computeOverlay(overlayOpCode);
+ return resultGeom;
+ }
+
+ /**
+ * Gets the graph constructed to compute the overlay.
+ *
+ * @return the overlay graph
+ */
+ public PlanarGraph getGraph() { return graph; }
+
+ private void computeOverlay(int opCode)
+ {
+ // copy points from input Geometries.
+ // This ensures that any Point geometries
+ // in the input are considered for inclusion in the result set
+ copyPoints(0);
+ copyPoints(1);
+
+ // node the input Geometries
+ arg[0].computeSelfNodes(li, false);
+ arg[1].computeSelfNodes(li, false);
+
+ // compute intersections between edges of the two input geometries
+ arg[0].computeEdgeIntersections(arg[1], li, true);
+
+ List baseSplitEdges = new ArrayList();
+ arg[0].computeSplitEdges(baseSplitEdges);
+ arg[1].computeSplitEdges(baseSplitEdges);
+ List splitEdges = baseSplitEdges;
+ // add the noded edges to this result graph
+ insertUniqueEdges(baseSplitEdges);
+
+ computeLabelsFromDepths();
+ replaceCollapsedEdges();
+
+//Debug.println(edgeList);
+
+ /**
+ * Check that the noding completed correctly.
+ *
+ * This test is slow, but necessary in order to catch robustness failure
+ * situations.
+ * If an exception is thrown because of a noding failure,
+ * then snapping will be performed, which will hopefully avoid the problem.
+ * In the future hopefully a faster check can be developed.
+ *
+ */
+ EdgeNodingValidator.checkValid(edgeList.getEdges());
+
+ graph.addEdges(edgeList.getEdges());
+ computeLabelling();
+//Debug.printWatch();
+ labelIncompleteNodes();
+//Debug.printWatch();
+//nodeMap.print(System.out);
+
+ /**
+ * The ordering of building the result Geometries is important.
+ * Areas must be built before lines, which must be built before points.
+ * This is so that lines which are covered by areas are not included
+ * explicitly, and similarly for points.
+ */
+ findResultAreaEdges(opCode);
+ cancelDuplicateResultEdges();
+
+ PolygonBuilder polyBuilder = new PolygonBuilder(geomFact);
+ polyBuilder.add(graph);
+ resultPolyList = polyBuilder.getPolygons();
+
+ LineBuilder lineBuilder = new LineBuilder(this, geomFact, ptLocator);
+ resultLineList = lineBuilder.build(opCode);
+
+ PointBuilder pointBuilder = new PointBuilder(this, geomFact, ptLocator);
+ resultPointList = pointBuilder.build(opCode);
+
+ // gather the results from all calculations into a single Geometry for the result set
+ resultGeom = computeGeometry(resultPointList, resultLineList, resultPolyList, opCode);
+ }
+
+ private void insertUniqueEdges(List edges)
+ {
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ insertUniqueEdge(e);
+ }
+ }
+ /**
+ * Insert an edge from one of the noded input graphs.
+ * Checks edges that are inserted to see if an
+ * identical edge already exists.
+ * If so, the edge is not inserted, but its label is merged
+ * with the existing edge.
+ */
+ protected void insertUniqueEdge(Edge e)
+ {
+//<FIX> MD 8 Oct 03 speed up identical edge lookup
+ // fast lookup
+ Edge existingEdge = edgeList.findEqualEdge(e);
+
+ // If an identical edge already exists, simply update its label
+ if (existingEdge != null) {
+ Label existingLabel = existingEdge.getLabel();
+
+ Label labelToMerge = e.getLabel();
+ // check if new edge is in reverse direction to existing edge
+ // if so, must flip the label before merging it
+ if (! existingEdge.isPointwiseEqual(e)) {
+ labelToMerge = new Label(e.getLabel());
+ labelToMerge.flip();
+ }
+ Depth depth = existingEdge.getDepth();
+ // if this is the first duplicate found for this edge, initialize the depths
+ ///*
+ if (depth.isNull()) {
+ depth.add(existingLabel);
+ }
+ //*/
+ depth.add(labelToMerge);
+ existingLabel.merge(labelToMerge);
+//Debug.print("inserted edge: "); Debug.println(e);
+//Debug.print("existing edge: "); Debug.println(existingEdge);
+
+ }
+ else { // no matching existing edge was found
+ // add this new edge to the list of edges in this graph
+ //e.setName(name + edges.size());
+ //e.getDepth().add(e.getLabel());
+ edgeList.add(e);
+ }
+ }
+
+ /**
+ * If either of the GeometryLocations for the existing label is
+ * exactly opposite to the one in the labelToMerge,
+ * this indicates a dimensional collapse has happened.
+ * In this case, convert the label for that Geometry to a Line label
+ */
+ /* NOT NEEDED?
+ private void checkDimensionalCollapse(Label labelToMerge, Label existingLabel)
+ {
+ if (existingLabel.isArea() && labelToMerge.isArea()) {
+ for (int i = 0; i < 2; i++) {
+ if (! labelToMerge.isNull(i)
+ && labelToMerge.getLocation(i, Position.LEFT) == existingLabel.getLocation(i, Position.RIGHT)
+ && labelToMerge.getLocation(i, Position.RIGHT) == existingLabel.getLocation(i, Position.LEFT) )
+ {
+ existingLabel.toLine(i);
+ }
+ }
+ }
+ }
+ */
+ /**
+ * Update the labels for edges according to their depths.
+ * For each edge, the depths are first normalized.
+ * Then, if the depths for the edge are equal,
+ * this edge must have collapsed into a line edge.
+ * If the depths are not equal, update the label
+ * with the locations corresponding to the depths
+ * (i.e. a depth of 0 corresponds to a Location of EXTERIOR,
+ * a depth of 1 corresponds to INTERIOR)
+ */
+ private void computeLabelsFromDepths()
+ {
+ for (Iterator it = edgeList.iterator(); it.hasNext(); ) {
+ Edge e = (Edge) it.next();
+ Label lbl = e.getLabel();
+ Depth depth = e.getDepth();
+ /**
+ * Only check edges for which there were duplicates,
+ * since these are the only ones which might
+ * be the result of dimensional collapses.
+ */
+ if (! depth.isNull()) {
+ depth.normalize();
+ for (int i = 0; i < 2; i++) {
+ if (! lbl.isNull(i) && lbl.isArea() && ! depth.isNull(i)) {
+ /**
+ * if the depths are equal, this edge is the result of
+ * the dimensional collapse of two or more edges.
+ * It has the same location on both sides of the edge,
+ * so it has collapsed to a line.
+ */
+ if (depth.getDelta(i) == 0) {
+ lbl.toLine(i);
+ }
+ else {
+ /**
+ * This edge may be the result of a dimensional collapse,
+ * but it still has different locations on both sides. The
+ * label of the edge must be updated to reflect the resultant
+ * side locations indicated by the depth values.
+ */
+ Assert.isTrue(! depth.isNull(i, Position.LEFT), "depth of LEFT side has not been initialized");
+ lbl.setLocation(i, Position.LEFT, depth.getLocation(i, Position.LEFT));
+ Assert.isTrue(! depth.isNull(i, Position.RIGHT), "depth of RIGHT side has not been initialized");
+ lbl.setLocation(i, Position.RIGHT, depth.getLocation(i, Position.RIGHT));
+ }
+ }
+ }
+ }
+ }
+ }
+ /**
+ * If edges which have undergone dimensional collapse are found,
+ * replace them with a new edge which is a L edge
+ */
+ private void replaceCollapsedEdges()
+ {
+ List newEdges = new ArrayList();
+ for (Iterator it = edgeList.iterator(); it.hasNext(); ) {
+ Edge e = (Edge) it.next();
+ if (e.isCollapsed()) {
+//Debug.print(e);
+ it.remove();
+ newEdges.add(e.getCollapsedEdge());
+ }
+ }
+ edgeList.addAll(newEdges);
+ }
+ /**
+ * Copy all nodes from an arg geometry into this graph.
+ * The node label in the arg geometry overrides any previously computed
+ * label for that argIndex.
+ * (E.g. a node may be an intersection node with
+ * a previously computed label of BOUNDARY,
+ * but in the original arg Geometry it is actually
+ * in the interior due to the Boundary Determination Rule)
+ */
+ private void copyPoints(int argIndex)
+ {
+ for (Iterator i = arg[argIndex].getNodeIterator(); i.hasNext(); ) {
+ Node graphNode = (Node) i.next();
+ Node newNode = graph.addNode(graphNode.getCoordinate());
+ newNode.setLabel(argIndex, graphNode.getLabel().getLocation(argIndex));
+ }
+ }
+
+ /**
+ * Compute initial labelling for all DirectedEdges at each node.
+ * In this step, DirectedEdges will acquire a complete labelling
+ * (i.e. one with labels for both Geometries)
+ * only if they
+ * are incident on a node which has edges for both Geometries
+ */
+ private void computeLabelling()
+ {
+ for (Iterator nodeit = graph.getNodes().iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+//if (node.getCoordinate().equals(new Coordinate(222, 100)) ) Debug.addWatch(node.getEdges());
+ node.getEdges().computeLabelling(arg);
+ }
+ mergeSymLabels();
+ updateNodeLabelling();
+ }
+ /**
+ * For nodes which have edges from only one Geometry incident on them,
+ * the previous step will have left their dirEdges with no labelling for the other
+ * Geometry. However, the sym dirEdge may have a labelling for the other
+ * Geometry, so merge the two labels.
+ */
+ private void mergeSymLabels()
+ {
+ for (Iterator nodeit = graph.getNodes().iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ ((DirectedEdgeStar) node.getEdges()).mergeSymLabels();
+//node.print(System.out);
+ }
+ }
+ private void updateNodeLabelling()
+ {
+ // update the labels for nodes
+ // The label for a node is updated from the edges incident on it
+ // (Note that a node may have already been labelled
+ // because it is a point in one of the input geometries)
+ for (Iterator nodeit = graph.getNodes().iterator(); nodeit.hasNext(); ) {
+ Node node = (Node) nodeit.next();
+ Label lbl = ((DirectedEdgeStar) node.getEdges()).getLabel();
+ node.getLabel().merge(lbl);
+ }
+ }
+
+ /**
+ * Incomplete nodes are nodes whose labels are incomplete.
+ * (e.g. the location for one Geometry is null).
+ * These are either isolated nodes,
+ * or nodes which have edges from only a single Geometry incident on them.
+ *
+ * Isolated nodes are found because nodes in one graph which don't intersect
+ * nodes in the other are not completely labelled by the initial process
+ * of adding nodes to the nodeList.
+ * To complete the labelling we need to check for nodes that lie in the
+ * interior of edges, and in the interior of areas.
+ * <p>
+ * When each node labelling is completed, the labelling of the incident
+ * edges is updated, to complete their labelling as well.
+ */
+ private void labelIncompleteNodes()
+ {
+ int nodeCount = 0;
+ for (Iterator ni = graph.getNodes().iterator(); ni.hasNext(); ) {
+ Node n = (Node) ni.next();
+ Label label = n.getLabel();
+ if (n.isIsolated()) {
+ nodeCount++;
+ if (label.isNull(0))
+ labelIncompleteNode(n, 0);
+ else
+ labelIncompleteNode(n, 1);
+ }
+ // now update the labelling for the DirectedEdges incident on this node
+ ((DirectedEdgeStar) n.getEdges()).updateLabelling(label);
+//n.print(System.out);
+ }
+ /*
+ int nPoly0 = arg[0].getGeometry().getNumGeometries();
+ int nPoly1 = arg[1].getGeometry().getNumGeometries();
+ System.out.println("# isolated nodes= " + nodeCount
+ + " # poly[0] = " + nPoly0
+ + " # poly[1] = " + nPoly1);
+ */
+ }
+
+ /**
+ * Label an isolated node with its relationship to the target geometry.
+ */
+ private void labelIncompleteNode(Node n, int targetIndex)
+ {
+ int loc = ptLocator.locate(n.getCoordinate(), arg[targetIndex].getGeometry());
+
+ // MD - 2008-10-24 - experimental for now
+// int loc = arg[targetIndex].locate(n.getCoordinate());
+ n.getLabel().setLocation(targetIndex, loc);
+ }
+
+ /**
+ * Find all edges whose label indicates that they are in the result area(s),
+ * according to the operation being performed. Since we want polygon shells to be
+ * oriented CW, choose dirEdges with the interior of the result on the RHS.
+ * Mark them as being in the result.
+ * Interior Area edges are the result of dimensional collapses.
+ * They do not form part of the result area boundary.
+ */
+ private void findResultAreaEdges(int opCode)
+ {
+ for (Iterator it = graph.getEdgeEnds().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ // mark all dirEdges with the appropriate label
+ Label label = de.getLabel();
+ if (label.isArea()
+ && ! de.isInteriorAreaEdge()
+ && isResultOfOp(
+ label.getLocation(0, Position.RIGHT),
+ label.getLocation(1, Position.RIGHT),
+ opCode)) {
+ de.setInResult(true);
+//Debug.print("in result "); Debug.println(de);
+ }
+ }
+ }
+ /**
+ * If both a dirEdge and its sym are marked as being in the result, cancel
+ * them out.
+ */
+ private void cancelDuplicateResultEdges()
+ {
+ // remove any dirEdges whose sym is also included
+ // (they "cancel each other out")
+ for (Iterator it = graph.getEdgeEnds().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ DirectedEdge sym = de.getSym();
+ if (de.isInResult() && sym.isInResult()) {
+ de.setInResult(false);
+ sym.setInResult(false);
+//Debug.print("cancelled "); Debug.println(de); Debug.println(sym);
+ }
+ }
+ }
+ /**
+ * Tests if a point node should be included in the result or not.
+ *
+ * @param coord the point coordinate
+ * @return true if the coordinate point is covered by a result Line or Area geometry
+ */
+ public boolean isCoveredByLA(Coordinate coord)
+ {
+ if (isCovered(coord, resultLineList)) return true;
+ if (isCovered(coord, resultPolyList)) return true;
+ return false;
+ }
+ /**
+ * Tests if an L edge should be included in the result or not.
+ *
+ * @param coord the point coordinate
+ * @return true if the coordinate point is covered by a result Area geometry
+ */
+ public boolean isCoveredByA(Coordinate coord)
+ {
+ if (isCovered(coord, resultPolyList)) return true;
+ return false;
+ }
+ /**
+ * @return true if the coord is located in the interior or boundary of
+ * a geometry in the list.
+ */
+ private boolean isCovered(Coordinate coord, List geomList)
+ {
+ for (Iterator it = geomList.iterator(); it.hasNext(); ) {
+ Geometry geom = (Geometry) it.next();
+ int loc = ptLocator.locate(coord, geom);
+ if (loc != Location.EXTERIOR) return true;
+ }
+ return false;
+ }
+
+ private Geometry computeGeometry( List resultPointList,
+ List resultLineList,
+ List resultPolyList,
+ int opcode)
+ {
+ List geomList = new ArrayList();
+ // element geometries of the result are always in the order P,L,A
+ geomList.addAll(resultPointList);
+ geomList.addAll(resultLineList);
+ geomList.addAll(resultPolyList);
+
+ //*
+ if (geomList.isEmpty())
+ return createEmptyResult(opcode, arg[0].getGeometry(), arg[1].getGeometry(), geomFact);
+ //*/
+
+ // build the most specific geometry possible
+ return geomFact.buildGeometry(geomList);
+ }
+
+ /**
+ * Creates an empty result geometry of the appropriate dimension,
+ * based on the given overlay operation and the dimensions of the inputs.
+ * The created geometry is always an atomic geometry,
+ * not a collection.
+ * <p>
+ * The empty result is constructed using the following rules:
+ * <ul>
+ * <li>{@link #INTERSECTION} - result has the dimension of the lowest input dimension
+ * <li>{@link #UNION} - result has the dimension of the highest input dimension
+ * <li>{@link #DIFFERENCE} - result has the dimension of the left-hand input
+ * <li>{@link #SYMDIFFERENCE} - result has the dimension of the highest input dimension
+ * (since the symmetric Difference is the union of the differences).
+ * </ul>
+ *
+ * @param overlayOpCode the code for the overlay operation being performed
+ * @param a an input geometry
+ * @param b an input geometry
+ * @param geomFact the geometry factory being used for the operation
+ * @return an empty atomic geometry of the appropriate dimension
+ */
+ public static Geometry createEmptyResult(int overlayOpCode, Geometry a, Geometry b, GeometryFactory geomFact)
+ {
+ Geometry result = null;
+ switch (resultDimension(overlayOpCode, a, b)) {
+ case -1:
+ result = geomFact.createGeometryCollection();
+ break;
+ case 0:
+ result = geomFact.createPoint();
+ break;
+ case 1:
+ result = geomFact.createLineString();
+ break;
+ case 2:
+ result = geomFact.createPolygon();
+ break;
+ }
+ return result;
+ }
+
+ private static int resultDimension(int opCode, Geometry g0, Geometry g1)
+ {
+ int dim0 = g0.getDimension();
+ int dim1 = g1.getDimension();
+
+ int resultDimension = -1;
+ switch (opCode) {
+ case INTERSECTION:
+ resultDimension = Math.min(dim0, dim1);
+ break;
+ case UNION:
+ resultDimension = Math.max(dim0, dim1);
+ break;
+ case DIFFERENCE:
+ resultDimension = dim0;
+ break;
+ case SYMDIFFERENCE:
+ /**
+ * This result is chosen because
+ * <pre>
+ * SymDiff = Union(Diff(A, B), Diff(B, A)
+ * </pre>
+ * and Union has the dimension of the highest-dimension argument.
+ */
+ resultDimension = Math.max(dim0, dim1);
+ break;
+ }
+ return resultDimension;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PointBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PointBuilder.java
new file mode 100644
index 0000000..17172f0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PointBuilder.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+
+/**
+ * Constructs {@link Point}s from the nodes of an overlay graph.
+ * @version 1.7
+ */
+public class PointBuilder {
+ private OverlayOp op;
+ private GeometryFactory geometryFactory;
+ private List resultPointList = new ArrayList();
+
+ public PointBuilder(OverlayOp op, GeometryFactory geometryFactory, PointLocator ptLocator) {
+ this.op = op;
+ this.geometryFactory = geometryFactory;
+ // ptLocator is never used in this class
+ }
+
+ /**
+ * Computes the Point geometries which will appear in the result,
+ * given the specified overlay operation.
+ *
+ * @return a list of the Points objects in the result
+ */
+ public List build(int opCode)
+ {
+ extractNonCoveredResultNodes(opCode);
+ /**
+ * It can happen that connected result nodes are still covered by
+ * result geometries, so must perform this filter.
+ * (For instance, this can happen during topology collapse).
+ */
+ return resultPointList;
+ }
+
+ /**
+ * Determines nodes which are in the result, and creates {@link Point}s for them.
+ *
+ * This method determines nodes which are candidates for the result via their
+ * labelling and their graph topology.
+ *
+ * @param opCode the overlay operation
+ */
+ private void extractNonCoveredResultNodes(int opCode)
+ {
+ // testing only
+ //if (true) return resultNodeList;
+
+ for (Iterator nodeit = op.getGraph().getNodes().iterator(); nodeit.hasNext(); ) {
+ Node n = (Node) nodeit.next();
+
+ // filter out nodes which are known to be in the result
+ if (n.isInResult())
+ continue;
+ // if an incident edge is in the result, then the node coordinate is included already
+ if (n.isIncidentEdgeInResult())
+ continue;
+ if (n.getEdges().getDegree() == 0 || opCode == OverlayOp.INTERSECTION) {
+
+ /**
+ * For nodes on edges, only INTERSECTION can result in edge nodes being included even
+ * if none of their incident edges are included
+ */
+ Label label = n.getLabel();
+ if (OverlayOp.isResultOfOp(label, opCode)) {
+ filterCoveredNodeToPoint(n);
+ }
+ }
+ }
+ //System.out.println("connectedResultNodes collected = " + connectedResultNodes.size());
+ }
+
+ /**
+ * Converts non-covered nodes to Point objects and adds them to the result.
+ *
+ * A node is covered if it is contained in another element Geometry
+ * with higher dimension (e.g. a node point might be contained in a polygon,
+ * in which case the point can be eliminated from the result).
+ *
+ * @param n the node to test
+ */
+ private void filterCoveredNodeToPoint(Node n)
+ {
+ Coordinate coord = n.getCoordinate();
+ if (! op.isCoveredByLA(coord)) {
+ Point pt = geometryFactory.createPoint(coord);
+ resultPointList.add(pt);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PolygonBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PolygonBuilder.java
new file mode 100644
index 0000000..51e10dc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/PolygonBuilder.java
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.EdgeRing;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Forms {@link Polygon}s out of a graph of {@link DirectedEdge}s.
+ * The edges to use are marked as being in the result Area.
+ * <p>
+ *
+ * @version 1.7
+ */
+public class PolygonBuilder {
+
+ private GeometryFactory geometryFactory;
+ //private List dirEdgeList;
+ //private NodeMap nodes;
+ private List shellList = new ArrayList();
+
+ public PolygonBuilder(GeometryFactory geometryFactory)
+ {
+ this.geometryFactory = geometryFactory;
+ }
+
+ /**
+ * Add a complete graph.
+ * The graph is assumed to contain one or more polygons,
+ * possibly with holes.
+ */
+ public void add(PlanarGraph graph)
+ {
+ add(graph.getEdgeEnds(), graph.getNodes());
+ }
+
+ /**
+ * Add a set of edges and nodes, which form a graph.
+ * The graph is assumed to contain one or more polygons,
+ * possibly with holes.
+ */
+ public void add(Collection dirEdges, Collection nodes)
+ {
+ PlanarGraph.linkResultDirectedEdges(nodes);
+ List maxEdgeRings = buildMaximalEdgeRings(dirEdges);
+ List freeHoleList = new ArrayList();
+ List edgeRings = buildMinimalEdgeRings(maxEdgeRings, shellList, freeHoleList);
+ sortShellsAndHoles(edgeRings, shellList, freeHoleList);
+ placeFreeHoles(shellList, freeHoleList);
+ //Assert: every hole on freeHoleList has a shell assigned to it
+ }
+
+ public List getPolygons()
+ {
+ List resultPolyList = computePolygons(shellList);
+ return resultPolyList;
+ }
+
+
+ /**
+ * for all DirectedEdges in result, form them into MaximalEdgeRings
+ */
+ private List buildMaximalEdgeRings(Collection dirEdges)
+ {
+ List maxEdgeRings = new ArrayList();
+ for (Iterator it = dirEdges.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.isInResult() && de.getLabel().isArea() ) {
+ // if this edge has not yet been processed
+ if (de.getEdgeRing() == null) {
+ MaximalEdgeRing er = new MaximalEdgeRing(de, geometryFactory);
+ maxEdgeRings.add(er);
+ er.setInResult();
+//System.out.println("max node degree = " + er.getMaxDegree());
+ }
+ }
+ }
+ return maxEdgeRings;
+ }
+
+ private List buildMinimalEdgeRings(List maxEdgeRings, List shellList, List freeHoleList)
+ {
+ List edgeRings = new ArrayList();
+ for (Iterator it = maxEdgeRings.iterator(); it.hasNext(); ) {
+ MaximalEdgeRing er = (MaximalEdgeRing) it.next();
+ if (er.getMaxNodeDegree() > 2) {
+ er.linkDirectedEdgesForMinimalEdgeRings();
+ List minEdgeRings = er.buildMinimalRings();
+ // at this point we can go ahead and attempt to place holes, if this EdgeRing is a polygon
+ EdgeRing shell = findShell(minEdgeRings);
+ if (shell != null) {
+ placePolygonHoles(shell, minEdgeRings);
+ shellList.add(shell);
+ }
+ else {
+ freeHoleList.addAll(minEdgeRings);
+ }
+ }
+ else {
+ edgeRings.add(er);
+ }
+ }
+ return edgeRings;
+ }
+
+ /**
+ * This method takes a list of MinimalEdgeRings derived from a MaximalEdgeRing,
+ * and tests whether they form a Polygon. This is the case if there is a single shell
+ * in the list. In this case the shell is returned.
+ * The other possibility is that they are a series of connected holes, in which case
+ * no shell is returned.
+ *
+ * @return the shell EdgeRing, if there is one
+ * or null, if all the rings are holes
+ */
+ private EdgeRing findShell(List minEdgeRings)
+ {
+ int shellCount = 0;
+ EdgeRing shell = null;
+ for (Iterator it = minEdgeRings.iterator(); it.hasNext(); ) {
+ EdgeRing er = (MinimalEdgeRing) it.next();
+ if (! er.isHole()) {
+ shell = er;
+ shellCount++;
+ }
+ }
+ Assert.isTrue(shellCount <= 1, "found two shells in MinimalEdgeRing list");
+ return shell;
+ }
+ /**
+ * This method assigns the holes for a Polygon (formed from a list of
+ * MinimalEdgeRings) to its shell.
+ * Determining the holes for a MinimalEdgeRing polygon serves two purposes:
+ * <ul>
+ * <li>it is faster than using a point-in-polygon check later on.
+ * <li>it ensures correctness, since if the PIP test was used the point
+ * chosen might lie on the shell, which might return an incorrect result from the
+ * PIP test
+ * </ul>
+ */
+ private void placePolygonHoles(EdgeRing shell, List minEdgeRings)
+ {
+ for (Iterator it = minEdgeRings.iterator(); it.hasNext(); ) {
+ MinimalEdgeRing er = (MinimalEdgeRing) it.next();
+ if (er.isHole()) {
+ er.setShell(shell);
+ }
+ }
+ }
+ /**
+ * For all rings in the input list,
+ * determine whether the ring is a shell or a hole
+ * and add it to the appropriate list.
+ * Due to the way the DirectedEdges were linked,
+ * a ring is a shell if it is oriented CW, a hole otherwise.
+ */
+ private void sortShellsAndHoles(List edgeRings, List shellList, List freeHoleList)
+ {
+ for (Iterator it = edgeRings.iterator(); it.hasNext(); ) {
+ EdgeRing er = (EdgeRing) it.next();
+// er.setInResult();
+ if (er.isHole() ) {
+ freeHoleList.add(er);
+ }
+ else {
+ shellList.add(er);
+ }
+ }
+ }
+ /**
+ * This method determines finds a containing shell for all holes
+ * which have not yet been assigned to a shell.
+ * These "free" holes should
+ * all be <b>properly</b> contained in their parent shells, so it is safe to use the
+ * <code>findEdgeRingContaining</code> method.
+ * (This is the case because any holes which are NOT
+ * properly contained (i.e. are connected to their
+ * parent shell) would have formed part of a MaximalEdgeRing
+ * and been handled in a previous step).
+ *
+ * @throws TopologyException if a hole cannot be assigned to a shell
+ */
+ private void placeFreeHoles(List shellList, List freeHoleList)
+ {
+ for (Iterator it = freeHoleList.iterator(); it.hasNext(); ) {
+ EdgeRing hole = (EdgeRing) it.next();
+ // only place this hole if it doesn't yet have a shell
+ if (hole.getShell() == null) {
+ EdgeRing shell = findEdgeRingContaining(hole, shellList);
+ if (shell == null)
+ throw new TopologyException("unable to assign hole to a shell", hole.getCoordinate(0));
+// Assert.isTrue(shell != null, "unable to assign hole to a shell");
+ hole.setShell(shell);
+ }
+ }
+ }
+
+ /**
+ * Find the innermost enclosing shell EdgeRing containing the argument EdgeRing, if any.
+ * The innermost enclosing ring is the <i>smallest</i> enclosing ring.
+ * The algorithm used depends on the fact that:
+ * <br>
+ * ring A contains ring B iff envelope(ring A) contains envelope(ring B)
+ * <br>
+ * This routine is only safe to use if the chosen point of the hole
+ * is known to be properly contained in a shell
+ * (which is guaranteed to be the case if the hole does not touch its shell)
+ *
+ * @return containing EdgeRing, if there is one
+ * or null if no containing EdgeRing is found
+ */
+ private EdgeRing findEdgeRingContaining(EdgeRing testEr, List shellList)
+ {
+ LinearRing testRing = testEr.getLinearRing();
+ Envelope testEnv = testRing.getEnvelopeInternal();
+ Coordinate testPt = testRing.getCoordinateN(0);
+
+ EdgeRing minShell = null;
+ Envelope minEnv = null;
+ for (Iterator it = shellList.iterator(); it.hasNext(); ) {
+ EdgeRing tryShell = (EdgeRing) it.next();
+ LinearRing tryRing = tryShell.getLinearRing();
+ Envelope tryEnv = tryRing.getEnvelopeInternal();
+ if (minShell != null) minEnv = minShell.getLinearRing().getEnvelopeInternal();
+ boolean isContained = false;
+ if (tryEnv.contains(testEnv)
+ && PointLocation.isInRing(testPt, tryRing.getCoordinates()) )
+ isContained = true;
+ // check if this new containing ring is smaller than the current minimum ring
+ if (isContained) {
+ if (minShell == null
+ || minEnv.contains(tryEnv)) {
+ minShell = tryShell;
+ }
+ }
+ }
+ return minShell;
+ }
+ private List computePolygons(List shellList)
+ {
+ List resultPolyList = new ArrayList();
+ // add Polygons for all shells
+ for (Iterator it = shellList.iterator(); it.hasNext(); ) {
+ EdgeRing er = (EdgeRing) it.next();
+ Polygon poly = er.toPolygon(geometryFactory);
+ resultPolyList.add(poly);
+ }
+ return resultPolyList;
+ }
+
+ /**
+ * Checks the current set of shells (with their associated holes) to
+ * see if any of them contain the point.
+ */
+ public boolean containsPoint(Coordinate p)
+ {
+ for (Iterator it = shellList.iterator(); it.hasNext(); ) {
+ EdgeRing er = (EdgeRing) it.next();
+ if (er.containsPoint(p))
+ return true;
+ }
+ return false;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/package.html
new file mode 100644
index 0000000..ca5685d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/package.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes that perform a topological overlay to compute boolean spatial functions.
+<P>
+The Overlay Algorithm is used in spatial analysis methods for computing set-theoretic
+operations (boolean combinations) of input {@link Geometry}s. The algorithm for
+computing the overlay uses the intersection operations supported by topology graphs.
+To compute an overlay it is necessary to explicitly compute the resultant graph formed
+by the computed intersections.
+<P>
+The algorithm to compute a set-theoretic spatial analysis method has the following steps:
+<UL>
+ <LI>Build topology graphs of the two input geometries. For each geometry all
+ self-intersection nodes are computed and added to the graph.
+ <LI>Compute nodes for all intersections between edges and nodes of the graphs.
+ <LI>Compute the labeling for the computed nodes by merging the labels from the input graphs.
+ <LI>Compute new edges between the compute intersection nodes. Label the edges appropriately.
+ <LI>Build the resultant graph from the new nodes and edges.
+ <LI>Compute the labeling for isolated components of the graph. Add the
+ isolated components to the resultant graph.
+ <LI>Compute the result of the boolean combination by selecting the node and edges
+ with the appropriate labels. Polygonize areas and sew linear geometries together.
+</UL>
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/GeometrySnapper.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/GeometrySnapper.java
new file mode 100644
index 0000000..f27f99d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/GeometrySnapper.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.snap;
+
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * Snaps the vertices and segments of a {@link Geometry}
+ * to another Geometry's vertices.
+ * A snap distance tolerance is used to control where snapping is performed.
+ * Snapping one geometry to another can improve
+ * robustness for overlay operations by eliminating
+ * nearly-coincident edges
+ * (which cause problems during noding and intersection calculation).
+ * It can also be used to eliminate artifacts such as narrow slivers, spikes and gores.
+ * <p>
+ * Too much snapping can result in invalid topology
+ * being created, so the number and location of snapped vertices
+ * is decided using heuristics to determine when it
+ * is safe to snap.
+ * This can result in some potential snaps being omitted, however.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class GeometrySnapper
+{
+ private static final double SNAP_PRECISION_FACTOR = 1e-9;
+
+ /**
+ * Estimates the snap tolerance for a Geometry, taking into account its precision model.
+ *
+ * @param g a Geometry
+ * @return the estimated snap tolerance
+ */
+ public static double computeOverlaySnapTolerance(Geometry g)
+ {
+ double snapTolerance = computeSizeBasedSnapTolerance(g);
+
+ /**
+ * Overlay is carried out in the precision model
+ * of the two inputs.
+ * If this precision model is of type FIXED, then the snap tolerance
+ * must reflect the precision grid size.
+ * Specifically, the snap tolerance should be at least
+ * the distance from a corner of a precision grid cell
+ * to the centre point of the cell.
+ */
+ PrecisionModel pm = g.getPrecisionModel();
+ if (pm.getType() == PrecisionModel.FIXED) {
+ double fixedSnapTol = (1 / pm.getScale()) * 2 / 1.415;
+ if (fixedSnapTol > snapTolerance)
+ snapTolerance = fixedSnapTol;
+ }
+ return snapTolerance;
+ }
+
+ public static double computeSizeBasedSnapTolerance(Geometry g)
+ {
+ Envelope env = g.getEnvelopeInternal();
+ double minDimension = Math.min(env.getHeight(), env.getWidth());
+ double snapTol = minDimension * SNAP_PRECISION_FACTOR;
+ return snapTol;
+ }
+
+ public static double computeOverlaySnapTolerance(Geometry g0, Geometry g1)
+ {
+ return Math.min(computeOverlaySnapTolerance(g0), computeOverlaySnapTolerance(g1));
+ }
+
+ /**
+ * Snaps two geometries together with a given tolerance.
+ *
+ * @param g0 a geometry to snap
+ * @param g1 a geometry to snap
+ * @param snapTolerance the tolerance to use
+ * @return the snapped geometries
+ */
+ public static Geometry[] snap(Geometry g0, Geometry g1, double snapTolerance)
+ {
+ Geometry[] snapGeom = new Geometry[2];
+ GeometrySnapper snapper0 = new GeometrySnapper(g0);
+ snapGeom[0] = snapper0.snapTo(g1, snapTolerance);
+
+ /**
+ * Snap the second geometry to the snapped first geometry
+ * (this strategy minimizes the number of possible different points in the result)
+ */
+ GeometrySnapper snapper1 = new GeometrySnapper(g1);
+ snapGeom[1] = snapper1.snapTo(snapGeom[0], snapTolerance);
+
+// System.out.println(snap[0]);
+// System.out.println(snap[1]);
+ return snapGeom;
+ }
+ /**
+ * Snaps a geometry to itself.
+ * Allows optionally cleaning the result to ensure it is
+ * topologically valid
+ * (which fixes issues such as topology collapses in polygonal inputs).
+ * <p>
+ * Snapping a geometry to itself can remove artifacts such as very narrow slivers, gores and spikes.
+ *
+ *@param geom the geometry to snap
+ *@param snapTolerance the snapping tolerance
+ *@param cleanResult whether the result should be made valid
+ * @return a new snapped Geometry
+ */
+ public static Geometry snapToSelf(Geometry geom, double snapTolerance, boolean cleanResult)
+ {
+ GeometrySnapper snapper0 = new GeometrySnapper(geom);
+ return snapper0.snapToSelf(snapTolerance, cleanResult);
+ }
+
+ private Geometry srcGeom;
+
+ /**
+ * Creates a new snapper acting on the given geometry
+ *
+ * @param srcGeom the geometry to snap
+ */
+ public GeometrySnapper(Geometry srcGeom)
+ {
+ this.srcGeom = srcGeom;
+ }
+
+
+ /**
+ * Snaps the vertices in the component {@link LineString}s
+ * of the source geometry
+ * to the vertices of the given snap geometry.
+ *
+ * @param snapGeom a geometry to snap the source to
+ * @return a new snapped Geometry
+ */
+ public Geometry snapTo(Geometry snapGeom, double snapTolerance)
+ {
+ Coordinate[] snapPts = extractTargetCoordinates(snapGeom);
+
+ SnapTransformer snapTrans = new SnapTransformer(snapTolerance, snapPts);
+ return snapTrans.transform(srcGeom);
+ }
+
+ /**
+ * Snaps the vertices in the component {@link LineString}s
+ * of the source geometry
+ * to the vertices of the same geometry.
+ * Allows optionally cleaning the result to ensure it is
+ * topologically valid
+ * (which fixes issues such as topology collapses in polygonal inputs).
+ *
+ *@param snapTolerance the snapping tolerance
+ *@param cleanResult whether the result should be made valid
+ * @return a new snapped Geometry
+ */
+ public Geometry snapToSelf(double snapTolerance, boolean cleanResult)
+ {
+ Coordinate[] snapPts = extractTargetCoordinates(srcGeom);
+
+ SnapTransformer snapTrans = new SnapTransformer(snapTolerance, snapPts, true);
+ Geometry snappedGeom = snapTrans.transform(srcGeom);
+ Geometry result = snappedGeom;
+ if (cleanResult && result instanceof Polygonal) {
+ // TODO: use better cleaning approach
+ result = snappedGeom.buffer(0);
+ }
+ return result;
+ }
+
+ private Coordinate[] extractTargetCoordinates(Geometry g)
+ {
+ // TODO: should do this more efficiently. Use CoordSeq filter to get points, KDTree for uniqueness & queries
+ Set ptSet = new TreeSet();
+ Coordinate[] pts = g.getCoordinates();
+ for (int i = 0; i < pts.length; i++) {
+ ptSet.add(pts[i]);
+ }
+ return (Coordinate[]) ptSet.toArray(new Coordinate[0]);
+ }
+
+ /**
+ * Computes the snap tolerance based on the input geometries.
+ *
+ * @param ringPts
+ * @return
+ */
+ private double computeSnapTolerance(Coordinate[] ringPts)
+ {
+ double minSegLen = computeMinimumSegmentLength(ringPts);
+ // use a small percentage of this to be safe
+ double snapTol = minSegLen / 10;
+ return snapTol;
+ }
+
+ private double computeMinimumSegmentLength(Coordinate[] pts)
+ {
+ double minSegLen = Double.MAX_VALUE;
+ for (int i = 0; i < pts.length - 1; i++) {
+ double segLen = pts[i].distance(pts[i + 1]);
+ if (segLen < minSegLen)
+ minSegLen = segLen;
+ }
+ return minSegLen;
+ }
+
+}
+
+class SnapTransformer
+ extends GeometryTransformer
+{
+ private double snapTolerance;
+ private Coordinate[] snapPts;
+ private boolean isSelfSnap = false;
+
+ SnapTransformer(double snapTolerance, Coordinate[] snapPts)
+ {
+ this.snapTolerance = snapTolerance;
+ this.snapPts = snapPts;
+ }
+
+ SnapTransformer(double snapTolerance, Coordinate[] snapPts, boolean isSelfSnap)
+ {
+ this.snapTolerance = snapTolerance;
+ this.snapPts = snapPts;
+ this.isSelfSnap = isSelfSnap;
+ }
+
+ protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
+ {
+ Coordinate[] srcPts = coords.toCoordinateArray();
+ Coordinate[] newPts = snapLine(srcPts, snapPts);
+ return factory.getCoordinateSequenceFactory().create(newPts);
+ }
+
+ private Coordinate[] snapLine(Coordinate[] srcPts, Coordinate[] snapPts)
+ {
+ LineStringSnapper snapper = new LineStringSnapper(srcPts, snapTolerance);
+ snapper.setAllowSnappingToSourceVertices(isSelfSnap);
+ return snapper.snapTo(snapPts);
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/LineStringSnapper.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/LineStringSnapper.java
new file mode 100644
index 0000000..4c55b01
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/LineStringSnapper.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.snap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Snaps the vertices and segments of a {@link LineString}
+ * to a set of target snap vertices.
+ * A snap distance tolerance is used to control where snapping is performed.
+ * <p>
+ * The implementation handles empty geometry and empty snap vertex sets.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class LineStringSnapper
+{
+ private double snapTolerance = 0.0;
+
+ private Coordinate[] srcPts;
+ private LineSegment seg = new LineSegment(); // for reuse during snapping
+ private boolean allowSnappingToSourceVertices = false;
+ private boolean isClosed = false;
+
+ /**
+ * Creates a new snapper using the points in the given {@link LineString}
+ * as source snap points.
+ *
+ * @param srcLine a LineString to snap (may be empty)
+ * @param snapTolerance the snap tolerance to use
+ */
+ public LineStringSnapper(LineString srcLine, double snapTolerance)
+ {
+ this(srcLine.getCoordinates(), snapTolerance);
+ }
+
+ /**
+ * Creates a new snapper using the given points
+ * as source points to be snapped.
+ *
+ * @param srcPts the points to snap
+ * @param snapTolerance the snap tolerance to use
+ */
+ public LineStringSnapper(Coordinate[] srcPts, double snapTolerance)
+ {
+ this.srcPts = srcPts;
+ isClosed = isClosed(srcPts);
+ this.snapTolerance = snapTolerance;
+ }
+
+ public void setAllowSnappingToSourceVertices(boolean allowSnappingToSourceVertices)
+ {
+ this.allowSnappingToSourceVertices = allowSnappingToSourceVertices;
+ }
+ private static boolean isClosed(Coordinate[] pts)
+ {
+ if (pts.length <= 1) return false;
+ return pts[0].equals2D(pts[pts.length - 1]);
+ }
+ /**
+ * Snaps the vertices and segments of the source LineString
+ * to the given set of snap vertices.
+ *
+ * @param snapPts the vertices to snap to
+ * @return a list of the snapped points
+ */
+ public Coordinate[] snapTo(Coordinate[] snapPts)
+ {
+ CoordinateList coordList = new CoordinateList(srcPts);
+
+ snapVertices(coordList, snapPts);
+ snapSegments(coordList, snapPts);
+
+ Coordinate[] newPts = coordList.toCoordinateArray();
+ return newPts;
+ }
+
+ /**
+ * Snap source vertices to vertices in the target.
+ *
+ * @param srcCoords the points to snap
+ * @param snapPts the points to snap to
+ */
+ private void snapVertices(CoordinateList srcCoords, Coordinate[] snapPts)
+ {
+ // try snapping vertices
+ // if src is a ring then don't snap final vertex
+ int end = isClosed ? srcCoords.size() - 1 : srcCoords.size();
+ for (int i = 0; i < end; i++) {
+ Coordinate srcPt = (Coordinate) srcCoords.get(i);
+ Coordinate snapVert = findSnapForVertex(srcPt, snapPts);
+ if (snapVert != null) {
+ // update src with snap pt
+ srcCoords.set(i, new Coordinate(snapVert));
+ // keep final closing point in synch (rings only)
+ if (i == 0 && isClosed)
+ srcCoords.set(srcCoords.size() - 1, new Coordinate(snapVert));
+ }
+ }
+ }
+
+ private Coordinate findSnapForVertex(Coordinate pt, Coordinate[] snapPts)
+ {
+ for (int i = 0; i < snapPts.length; i++) {
+ // if point is already equal to a src pt, don't snap
+ if (pt.equals2D(snapPts[i]))
+ return null;
+ if (pt.distance(snapPts[i]) < snapTolerance)
+ return snapPts[i];
+ }
+ return null;
+ }
+
+ /**
+ * Snap segments of the source to nearby snap vertices.
+ * Source segments are "cracked" at a snap vertex.
+ * A single input segment may be snapped several times
+ * to different snap vertices.
+ * <p>
+ * For each distinct snap vertex, at most one source segment
+ * is snapped to. This prevents "cracking" multiple segments
+ * at the same point, which would likely cause
+ * topology collapse when being used on polygonal linework.
+ *
+ * @param srcCoords the coordinates of the source linestring to be snapped
+ * @param snapPts the target snap vertices
+ */
+ private void snapSegments(CoordinateList srcCoords, Coordinate[] snapPts)
+ {
+ // guard against empty input
+ if (snapPts.length == 0) return;
+
+ int distinctPtCount = snapPts.length;
+
+ // check for duplicate snap pts when they are sourced from a linear ring.
+ // TODO: Need to do this better - need to check *all* snap points for dups (using a Set?)
+ if (snapPts[0].equals2D(snapPts[snapPts.length - 1]))
+ distinctPtCount = snapPts.length - 1;
+
+ for (int i = 0; i < distinctPtCount; i++) {
+ Coordinate snapPt = snapPts[i];
+ int index = findSegmentIndexToSnap(snapPt, srcCoords);
+ /**
+ * If a segment to snap to was found, "crack" it at the snap pt.
+ * The new pt is inserted immediately into the src segment list,
+ * so that subsequent snapping will take place on the modified segments.
+ * Duplicate points are not added.
+ */
+ if (index >= 0) {
+ srcCoords.add(index + 1, new Coordinate(snapPt), false);
+ }
+ }
+ }
+
+
+ /**
+ * Finds a src segment which snaps to (is close to) the given snap point.
+ * <p>
+ * Only a single segment is selected for snapping.
+ * This prevents multiple segments snapping to the same snap vertex,
+ * which would almost certainly cause invalid geometry
+ * to be created.
+ * (The heuristic approach to snapping used here
+ * is really only appropriate when
+ * snap pts snap to a unique spot on the src geometry.)
+ * <p>
+ * Also, if the snap vertex occurs as a vertex in the src coordinate list,
+ * no snapping is performed.
+ *
+ * @param snapPt the point to snap to
+ * @param srcCoords the source segment coordinates
+ * @return the index of the snapped segment
+ * or -1 if no segment snaps to the snap point
+ */
+ private int findSegmentIndexToSnap(Coordinate snapPt, CoordinateList srcCoords)
+ {
+ double minDist = Double.MAX_VALUE;
+ int snapIndex = -1;
+ for (int i = 0; i < srcCoords.size() - 1; i++) {
+ seg.p0 = (Coordinate) srcCoords.get(i);
+ seg.p1 = (Coordinate) srcCoords.get(i + 1);
+
+ /**
+ * Check if the snap pt is equal to one of the segment endpoints.
+ *
+ * If the snap pt is already in the src list, don't snap at all.
+ */
+ if (seg.p0.equals2D(snapPt) || seg.p1.equals2D(snapPt)) {
+ if (allowSnappingToSourceVertices)
+ continue;
+ else
+ return -1;
+ }
+
+ double dist = seg.distance(snapPt);
+ if (dist < snapTolerance && dist < minDist) {
+ minDist = dist;
+ snapIndex = i;
+ }
+ }
+ return snapIndex;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapIfNeededOverlayOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapIfNeededOverlayOp.java
new file mode 100644
index 0000000..c53c204
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapIfNeededOverlayOp.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.snap;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.TopologyException;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+
+
+/**
+ * Performs an overlay operation using snapping and enhanced precision
+ * to improve the robustness of the result.
+ * This class only uses snapping
+ * if an error is detected when running the standard JTS overlay code.
+ * Errors detected include thrown exceptions
+ * (in particular, {@link TopologyException})
+ * and invalid overlay computations.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class SnapIfNeededOverlayOp
+{
+ public static Geometry overlayOp(Geometry g0, Geometry g1, int opCode)
+ {
+ SnapIfNeededOverlayOp op = new SnapIfNeededOverlayOp(g0, g1);
+ return op.getResultGeometry(opCode);
+ }
+
+ public static Geometry intersection(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.INTERSECTION);
+ }
+
+ public static Geometry union(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.UNION);
+ }
+
+ public static Geometry difference(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.DIFFERENCE);
+ }
+
+ public static Geometry symDifference(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.SYMDIFFERENCE);
+ }
+
+ private Geometry[] geom = new Geometry[2];
+
+ public SnapIfNeededOverlayOp(Geometry g1, Geometry g2)
+ {
+ geom[0] = g1;
+ geom[1] = g2;
+ }
+
+ public Geometry getResultGeometry(int opCode)
+ {
+ Geometry result = null;
+ boolean isSuccess = false;
+ RuntimeException savedException = null;
+ try {
+ // try basic operation with input geometries
+ result = OverlayOp.overlayOp(geom[0], geom[1], opCode);
+ boolean isValid = true;
+ // not needed if noding validation is used
+// boolean isValid = OverlayResultValidator.isValid(geom[0], geom[1], OverlayOp.INTERSECTION, result);
+ if (isValid)
+ isSuccess = true;
+ }
+ catch (RuntimeException ex) {
+ savedException = ex;
+ // ignore this exception, since the operation will be rerun
+// System.out.println(ex.getMessage());
+// ex.printStackTrace();
+ //System.out.println(ex.getMessage());
+ //System.out.println("Geom 0: " + geom[0]);
+ //System.out.println("Geom 1: " + geom[1]);
+ }
+ if (! isSuccess) {
+ // this may still throw an exception
+ // if so, throw the original exception since it has the input coordinates
+ try {
+ result = SnapOverlayOp.overlayOp(geom[0], geom[1], opCode);
+ }
+ catch (RuntimeException ex) {
+ throw savedException;
+ }
+ }
+ return result;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapOverlayOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapOverlayOp.java
new file mode 100644
index 0000000..64aca59
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/SnapOverlayOp.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.snap;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+import org.locationtech.jts.precision.CommonBitsRemover;
+
+/**
+ * Performs an overlay operation using snapping and enhanced precision
+ * to improve the robustness of the result.
+ * This class <i>always</i> uses snapping.
+ * This is less performant than the standard JTS overlay code,
+ * and may even introduce errors which were not present in the original data.
+ * For this reason, this class should only be used
+ * if the standard overlay code fails to produce a correct result.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class SnapOverlayOp
+{
+ public static Geometry overlayOp(Geometry g0, Geometry g1, int opCode)
+ {
+ SnapOverlayOp op = new SnapOverlayOp(g0, g1);
+ return op.getResultGeometry(opCode);
+ }
+
+ public static Geometry intersection(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.INTERSECTION);
+ }
+
+ public static Geometry union(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.UNION);
+ }
+
+ public static Geometry difference(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.DIFFERENCE);
+ }
+
+ public static Geometry symDifference(Geometry g0, Geometry g1)
+ {
+ return overlayOp(g0, g1, OverlayOp.SYMDIFFERENCE);
+ }
+
+
+ private Geometry[] geom = new Geometry[2];
+ private double snapTolerance;
+
+ public SnapOverlayOp(Geometry g1, Geometry g2)
+ {
+ geom[0] = g1;
+ geom[1] = g2;
+ computeSnapTolerance();
+ }
+ private void computeSnapTolerance()
+ {
+ snapTolerance = GeometrySnapper.computeOverlaySnapTolerance(geom[0], geom[1]);
+
+ // System.out.println("Snap tol = " + snapTolerance);
+ }
+
+ public Geometry getResultGeometry(int opCode)
+ {
+// Geometry[] selfSnapGeom = new Geometry[] { selfSnap(geom[0]), selfSnap(geom[1])};
+ Geometry[] prepGeom = snap(geom);
+ Geometry result = OverlayOp.overlayOp(prepGeom[0], prepGeom[1], opCode);
+ return prepareResult(result);
+ }
+
+ private Geometry selfSnap(Geometry geom)
+ {
+ GeometrySnapper snapper0 = new GeometrySnapper(geom);
+ Geometry snapGeom = snapper0.snapTo(geom, snapTolerance);
+ //System.out.println("Self-snapped: " + snapGeom);
+ //System.out.println();
+ return snapGeom;
+ }
+
+ private Geometry[] snap(Geometry[] geom)
+ {
+ Geometry[] remGeom = removeCommonBits(geom);
+
+ // MD - testing only
+// Geometry[] remGeom = geom;
+
+ Geometry[] snapGeom = GeometrySnapper.snap(remGeom[0], remGeom[1], snapTolerance);
+ // MD - may want to do this at some point, but it adds cycles
+// checkValid(snapGeom[0]);
+// checkValid(snapGeom[1]);
+
+ /*
+ System.out.println("Snapped geoms: ");
+ System.out.println(snapGeom[0]);
+ System.out.println(snapGeom[1]);
+ */
+ return snapGeom;
+ }
+
+ private Geometry prepareResult(Geometry geom)
+ {
+ cbr.addCommonBits(geom);
+ return geom;
+ }
+
+ private CommonBitsRemover cbr;
+
+ private Geometry[] removeCommonBits(Geometry[] geom)
+ {
+ cbr = new CommonBitsRemover();
+ cbr.add(geom[0]);
+ cbr.add(geom[1]);
+ Geometry remGeom[] = new Geometry[2];
+ remGeom[0] = cbr.removeCommonBits(geom[0].copy());
+ remGeom[1] = cbr.removeCommonBits(geom[1].copy());
+ return remGeom;
+ }
+
+ private void checkValid(Geometry g)
+ {
+ if (! g.isValid()) {
+ System.out.println("Snapped geometry is invalid");
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/package.html
new file mode 100644
index 0000000..f7b83d7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/snap/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform snapping on geometries to prepare them for overlay operations.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/FuzzyPointLocator.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/FuzzyPointLocator.java
new file mode 100644
index 0000000..6a940c2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/FuzzyPointLocator.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.validate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Finds the most likely {@link Location} of a point relative to
+ * the polygonal components of a geometry, using a tolerance value.
+ * If a point is not clearly in the Interior or Exterior,
+ * it is considered to be on the Boundary.
+ * In other words, if the point is within the tolerance of the Boundary,
+ * it is considered to be on the Boundary; otherwise,
+ * whether it is Interior or Exterior is determined directly.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class FuzzyPointLocator
+{
+ private Geometry g;
+ private double boundaryDistanceTolerance;
+ private MultiLineString linework;
+ private PointLocator ptLocator = new PointLocator();
+ private LineSegment seg = new LineSegment();
+
+ public FuzzyPointLocator(Geometry g, double boundaryDistanceTolerance)
+ {
+ this.g = g;
+ this.boundaryDistanceTolerance = boundaryDistanceTolerance;
+ linework = extractLinework(g);
+ }
+
+ public int getLocation(Coordinate pt)
+ {
+ if (isWithinToleranceOfBoundary(pt))
+ return Location.BOUNDARY;
+ /*
+ double dist = linework.distance(point);
+
+ // if point is close to boundary, it is considered to be on the boundary
+ if (dist < tolerance)
+ return Location.BOUNDARY;
+ */
+
+ // now we know point must be clearly inside or outside geometry, so return actual location value
+ return ptLocator.locate(pt, g);
+ }
+
+ /**
+ * Extracts linework for polygonal components.
+ *
+ * @param g the geometry from which to extract
+ * @return a lineal geometry containing the extracted linework
+ */
+ private MultiLineString extractLinework(Geometry g)
+ {
+ PolygonalLineworkExtracter extracter = new PolygonalLineworkExtracter();
+ g.apply(extracter);
+ List linework = extracter.getLinework();
+ LineString[] lines = GeometryFactory.toLineStringArray(linework);
+ return g.getFactory().createMultiLineString(lines);
+ }
+
+ private boolean isWithinToleranceOfBoundary(Coordinate pt)
+ {
+ for (int i = 0; i < linework.getNumGeometries(); i++) {
+ LineString line = (LineString) linework.getGeometryN(i);
+ CoordinateSequence seq = line.getCoordinateSequence();
+ for (int j = 0; j < seq.size() - 1; j++) {
+ seq.getCoordinate(j, seg.p0);
+ seq.getCoordinate(j + 1, seg.p1);
+ double dist = seg.distance(pt);
+ if (dist <= boundaryDistanceTolerance)
+ return true;
+ }
+ }
+ return false;
+ }
+}
+
+/**
+ * Extracts the LineStrings in the boundaries
+ * of all the polygonal elements in the target {@link Geometry}.
+ *
+ * @author Martin Davis
+ */
+class PolygonalLineworkExtracter
+ implements GeometryFilter
+{
+ private List linework;
+
+ public PolygonalLineworkExtracter()
+ {
+ linework = new ArrayList();
+ }
+
+ /**
+ * Filters out all linework for polygonal elements
+ */
+ public void filter(Geometry g)
+ {
+ if (g instanceof Polygon) {
+ Polygon poly = (Polygon) g;
+ linework.add(poly.getExteriorRing());
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ linework.add(poly.getInteriorRingN(i));
+ }
+ }
+ }
+
+ /**
+ * Gets the list of polygonal linework.
+ *
+ * @return a List of LineStrings
+ */
+ public List getLinework() { return linework; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OffsetPointGenerator.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OffsetPointGenerator.java
new file mode 100644
index 0000000..b4dd631
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OffsetPointGenerator.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay.validate;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+
+/**
+ * Generates points offset by a given distance
+ * from both sides of the midpoint of
+ * all segments in a {@link Geometry}.
+ * Can be used to generate probe points for
+ * determining whether a polygonal overlay result
+ * is incorrect.
+ * The input geometry may have any orientation for its rings,
+ * but {@link #setSidesToGenerate(boolean, boolean)} is
+ * only meaningful if the orientation is known.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class OffsetPointGenerator
+{
+ private Geometry g;
+ private boolean doLeft = true;
+ private boolean doRight = true;
+
+ public OffsetPointGenerator(Geometry g)
+ {
+ this.g = g;
+ }
+
+ /**
+ * Set the sides on which to generate offset points.
+ *
+ * @param doLeft
+ * @param doRight
+ */
+ public void setSidesToGenerate(boolean doLeft, boolean doRight)
+ {
+ this.doLeft = doLeft;
+ this.doRight = doRight;
+ }
+
+ /**
+ * Gets the computed offset points.
+ *
+ * @return List<Coordinate>
+ */
+ public List getPoints(double offsetDistance)
+ {
+ List offsetPts = new ArrayList();
+ List lines = LinearComponentExtracter.getLines(g);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ extractPoints(line, offsetDistance, offsetPts);
+ }
+ //System.out.println(toMultiPoint(offsetPts));
+ return offsetPts;
+ }
+
+ private void extractPoints(LineString line, double offsetDistance, List offsetPts)
+ {
+ Coordinate[] pts = line.getCoordinates();
+ for (int i = 0; i < pts.length - 1; i++) {
+ computeOffsetPoints(pts[i], pts[i + 1], offsetDistance, offsetPts);
+ }
+ }
+
+ /**
+ * Generates the two points which are offset from the
+ * midpoint of the segment <tt>(p0, p1)</tt> by the
+ * <tt>offsetDistance</tt>.
+ *
+ * @param p0 the first point of the segment to offset from
+ * @param p1 the second point of the segment to offset from
+ */
+ private void computeOffsetPoints(Coordinate p0, Coordinate p1, double offsetDistance, List offsetPts)
+ {
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ double len = Math.sqrt(dx * dx + dy * dy);
+ // u is the vector that is the length of the offset, in the direction of the segment
+ double ux = offsetDistance * dx / len;
+ double uy = offsetDistance * dy / len;
+
+ double midX = (p1.x + p0.x) / 2;
+ double midY = (p1.y + p0.y) / 2;
+
+ if (doLeft) {
+ Coordinate offsetLeft = new Coordinate(midX - uy, midY + ux);
+ offsetPts.add(offsetLeft);
+ }
+
+ if (doRight) {
+ Coordinate offsetRight = new Coordinate(midX + uy, midY - ux);
+ offsetPts.add(offsetRight);
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OverlayResultValidator.java b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OverlayResultValidator.java
new file mode 100644
index 0000000..a1407d9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/OverlayResultValidator.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.overlay.validate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+import org.locationtech.jts.operation.overlay.snap.GeometrySnapper;
+
+/**
+ * Validates that the result of an overlay operation is
+ * geometrically correct, within a determined tolerance.
+ * Uses fuzzy point location to find points which are
+ * definitely in either the interior or exterior of the result
+ * geometry, and compares these results with the expected ones.
+ * <p>
+ * This algorithm is only useful where the inputs are polygonal.
+ * This is a heuristic test, and may return false positive results
+ * (I.e. it may fail to detect an invalid result.)
+ * It should never return a false negative result, however
+ * (I.e. it should never report a valid result as invalid.)
+ *
+ * @author Martin Davis
+ * @version 1.7
+ * @see OverlayOp
+ */
+public class OverlayResultValidator
+{
+ public static boolean isValid(Geometry a, Geometry b, int overlayOp, Geometry result)
+ {
+ OverlayResultValidator validator = new OverlayResultValidator(a, b, result);
+ return validator.isValid(overlayOp);
+ }
+
+ private static double computeBoundaryDistanceTolerance(Geometry g0, Geometry g1)
+ {
+ return Math.min(GeometrySnapper.computeSizeBasedSnapTolerance(g0),
+ GeometrySnapper.computeSizeBasedSnapTolerance(g1));
+ }
+
+ private static final double TOLERANCE = 0.000001;
+
+ private Geometry[] geom;
+ private FuzzyPointLocator[] locFinder;
+ private int[] location = new int[3] ;
+ private Coordinate invalidLocation = null;
+ private double boundaryDistanceTolerance = TOLERANCE;
+
+ private List testCoords = new ArrayList();
+
+ public OverlayResultValidator(Geometry a, Geometry b, Geometry result)
+ {
+ /**
+ * The tolerance to use needs to depend on the size of the geometries.
+ * It should not be more precise than double-precision can support.
+ */
+ boundaryDistanceTolerance = computeBoundaryDistanceTolerance(a, b);
+ geom = new Geometry[] { a, b, result };
+ locFinder = new FuzzyPointLocator[] {
+ new FuzzyPointLocator(geom[0], boundaryDistanceTolerance),
+ new FuzzyPointLocator(geom[1], boundaryDistanceTolerance),
+ new FuzzyPointLocator(geom[2], boundaryDistanceTolerance)
+ };
+ }
+
+ public boolean isValid(int overlayOp)
+ {
+ addTestPts(geom[0]);
+ addTestPts(geom[1]);
+ boolean isValid = checkValid(overlayOp);
+
+ /*
+ System.out.println("OverlayResultValidator: " + isValid);
+ System.out.println("G0");
+ System.out.println(geom[0]);
+ System.out.println("G1");
+ System.out.println(geom[1]);
+ System.out.println("Result");
+ System.out.println(geom[2]);
+ */
+
+ return isValid;
+ }
+
+ public Coordinate getInvalidLocation() { return invalidLocation; }
+
+ private void addTestPts(Geometry g)
+ {
+ OffsetPointGenerator ptGen = new OffsetPointGenerator(g);
+ testCoords.addAll(ptGen.getPoints(5 * boundaryDistanceTolerance));
+ }
+
+ private boolean checkValid(int overlayOp)
+ {
+ for (int i = 0; i < testCoords.size(); i++) {
+ Coordinate pt = (Coordinate) testCoords.get(i);
+ if (! checkValid(overlayOp, pt)) {
+ invalidLocation = pt;
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean checkValid(int overlayOp, Coordinate pt)
+ {
+ location[0] = locFinder[0].getLocation(pt);
+ location[1] = locFinder[1].getLocation(pt);
+ location[2] = locFinder[2].getLocation(pt);
+
+ /**
+ * If any location is on the Boundary, can't deduce anything, so just return true
+ */
+ if (hasLocation(location, Location.BOUNDARY))
+ return true;
+
+ return isValidResult(overlayOp, location);
+ }
+
+ private static boolean hasLocation(int[] location, int loc)
+ {
+ for (int i = 0; i < 3; i ++) {
+ if (location[i] == loc)
+ return true;
+ }
+ return false;
+ }
+
+ private boolean isValidResult(int overlayOp, int[] location)
+ {
+ boolean expectedInterior = OverlayOp.isResultOfOp(location[0], location[1], overlayOp);
+
+ boolean resultInInterior = (location[2] == Location.INTERIOR);
+ // MD use simpler: boolean isValid = (expectedInterior == resultInInterior);
+ boolean isValid = ! (expectedInterior ^ resultInInterior);
+
+ if (! isValid) reportResult(overlayOp, location, expectedInterior);
+
+ return isValid;
+ }
+
+ private void reportResult(int overlayOp, int[] location, boolean expectedInterior)
+ {
+ System.out.println(
+ "Overlay result invalid - A:" + Location.toLocationSymbol(location[0])
+ + " B:" + Location.toLocationSymbol(location[1])
+ + " expected:" + (expectedInterior ? 'i' : 'e')
+ + " actual:" + Location.toLocationSymbol(location[2])
+ );
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/package.html
new file mode 100644
index 0000000..8093abc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/overlay/validate/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to validate the results of overlay operations.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/package.html
new file mode 100644
index 0000000..2ad4c14
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for implementing operations on geometries
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/EdgeRing.java b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/EdgeRing.java
new file mode 100644
index 0000000..769c4ee
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/EdgeRing.java
@@ -0,0 +1,467 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+
+package org.locationtech.jts.operation.polygonize;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.impl.CoordinateArraySequence;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.util.Assert;
+
+
+/**
+ * Represents a ring of {@link PolygonizeDirectedEdge}s which form
+ * a ring of a polygon. The ring may be either an outer shell or a hole.
+ *
+ * @version 1.7
+ */
+class EdgeRing {
+
+ /**
+ * Find the innermost enclosing shell EdgeRing containing the argument EdgeRing, if any.
+ * The innermost enclosing ring is the <i>smallest</i> enclosing ring.
+ * The algorithm used depends on the fact that:
+ * <br>
+ * ring A contains ring B iff envelope(ring A) contains envelope(ring B)
+ * <br>
+ * This routine is only safe to use if the chosen point of the hole
+ * is known to be properly contained in a shell
+ * (which is guaranteed to be the case if the hole does not touch its shell)
+ *
+ * @return containing EdgeRing, if there is one
+ * or null if no containing EdgeRing is found
+ */
+ public static EdgeRing findEdgeRingContaining(EdgeRing testEr, List shellList)
+ {
+ LinearRing testRing = testEr.getRing();
+ Envelope testEnv = testRing.getEnvelopeInternal();
+ Coordinate testPt = testRing.getCoordinateN(0);
+
+ EdgeRing minShell = null;
+ Envelope minShellEnv = null;
+ for (Iterator it = shellList.iterator(); it.hasNext(); ) {
+ EdgeRing tryShell = (EdgeRing) it.next();
+ LinearRing tryShellRing = tryShell.getRing();
+ Envelope tryShellEnv = tryShellRing.getEnvelopeInternal();
+ // the hole envelope cannot equal the shell envelope
+ // (also guards against testing rings against themselves)
+ if (tryShellEnv.equals(testEnv)) continue;
+ // hole must be contained in shell
+ if (! tryShellEnv.contains(testEnv)) continue;
+
+ testPt = CoordinateArrays.ptNotInList(testRing.getCoordinates(), tryShellRing.getCoordinates());
+ boolean isContained = false;
+ if (PointLocation.isInRing(testPt, tryShellRing.getCoordinates()) )
+ isContained = true;
+
+ // check if this new containing ring is smaller than the current minimum ring
+ if (isContained) {
+ if (minShell == null
+ || minShellEnv.contains(tryShellEnv)) {
+ minShell = tryShell;
+ minShellEnv = minShell.getRing().getEnvelopeInternal();
+ }
+ }
+ }
+ return minShell;
+ }
+
+ /**
+ * Finds a point in a list of points which is not contained in another list of points
+ * @param testPts the {@link Coordinate}s to test
+ * @param pts an array of {@link Coordinate}s to test the input points against
+ * @return a {@link Coordinate} from <code>testPts</code> which is not in <code>pts</code>,
+ * or null if there is no coordinate not in the list
+ *
+ * @deprecated Use CoordinateArrays.ptNotInList instead
+ */
+ public static Coordinate ptNotInList(Coordinate[] testPts, Coordinate[] pts)
+ {
+ for (int i = 0; i < testPts.length; i++) {
+ Coordinate testPt = testPts[i];
+ if (! isInList(testPt, pts))
+ return testPt;
+ }
+ return null;
+ }
+
+ /**
+ * Tests whether a given point is in an array of points.
+ * Uses a value-based test.
+ *
+ * @param pt a {@link Coordinate} for the test point
+ * @param pts an array of {@link Coordinate}s to test
+ * @return <code>true</code> if the point is in the array
+ *
+ * @deprecated
+ */
+ public static boolean isInList(Coordinate pt, Coordinate[] pts)
+ {
+ for (int i = 0; i < pts.length; i++) {
+ if (pt.equals(pts[i]))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Traverses a ring of DirectedEdges, accumulating them into a list.
+ * This assumes that all dangling directed edges have been removed
+ * from the graph, so that there is always a next dirEdge.
+ *
+ * @param startDE the DirectedEdge to start traversing at
+ * @return a List of DirectedEdges that form a ring
+ */
+ public static List findDirEdgesInRing(PolygonizeDirectedEdge startDE)
+ {
+ PolygonizeDirectedEdge de = startDE;
+ List edges = new ArrayList();
+ do {
+ edges.add(de);
+ de = de.getNext();
+ Assert.isTrue(de != null, "found null DE in ring");
+ Assert.isTrue(de == startDE || ! de.isInRing(), "found DE already in ring");
+ } while (de != startDE);
+ return edges;
+ }
+
+ private GeometryFactory factory;
+
+ private List deList = new ArrayList();
+ private DirectedEdge lowestEdge = null;
+
+ // cache the following data for efficiency
+ private LinearRing ring = null;
+
+ private Coordinate[] ringPts = null;
+ private List holes;
+ private EdgeRing shell;
+ private boolean isHole;
+ private boolean isProcessed = false;
+ private boolean isIncludedSet = false;
+ private boolean isIncluded = false;
+
+ public EdgeRing(GeometryFactory factory)
+ {
+ this.factory = factory;
+ }
+
+ public void build(PolygonizeDirectedEdge startDE) {
+ PolygonizeDirectedEdge de = startDE;
+ do {
+ add(de);
+ de.setRing(this);
+ de = de.getNext();
+ Assert.isTrue(de != null, "found null DE in ring");
+ Assert.isTrue(de == startDE || ! de.isInRing(), "found DE already in ring");
+ } while (de != startDE);
+ }
+
+ /**
+ * Adds a {@link DirectedEdge} which is known to form part of this ring.
+ * @param de the {@link DirectedEdge} to add.
+ */
+ private void add(DirectedEdge de)
+ {
+ deList.add(de);
+ }
+
+ /**
+ * Tests whether this ring is a hole.
+ * @return <code>true</code> if this ring is a hole
+ */
+ public boolean isHole()
+ {
+ return isHole;
+ }
+
+ /**
+ * Computes whether this ring is a hole.
+ * Due to the way the edges in the polygonization graph are linked,
+ * a ring is a hole if it is oriented counter-clockwise.
+ */
+ public void computeHole()
+ {
+ LinearRing ring = getRing();
+ isHole = Orientation.isCCW(ring.getCoordinates());
+ }
+
+ /**
+ * Adds a hole to the polygon formed by this ring.
+ * @param hole the {@link LinearRing} forming the hole.
+ */
+ public void addHole(LinearRing hole) {
+ if (holes == null)
+ holes = new ArrayList();
+ holes.add(hole);
+ }
+
+ /**
+ * Adds a hole to the polygon formed by this ring.
+ * @param hole the {@link LinearRing} forming the hole.
+ */
+ public void addHole(EdgeRing holeER) {
+ holeER.setShell(this);
+ LinearRing hole = holeER.getRing();
+ if (holes == null)
+ holes = new ArrayList();
+ holes.add(hole);
+ }
+
+ /**
+ * Computes the {@link Polygon} formed by this ring and any contained holes.
+ *
+ * @return the {@link Polygon} formed by this ring and its holes.
+ */
+ public Polygon getPolygon()
+ {
+ LinearRing[] holeLR = null;
+ if (holes != null) {
+ holeLR = new LinearRing[holes.size()];
+ for (int i = 0; i < holes.size(); i++) {
+ holeLR[i] = (LinearRing) holes.get(i);
+ }
+ }
+ Polygon poly = factory.createPolygon(ring, holeLR);
+ return poly;
+ }
+
+ /**
+ * Tests if the {@link LinearRing} ring formed by this edge ring is topologically valid.
+ *
+ * @return true if the ring is valid
+ */
+ public boolean isValid()
+ {
+ getCoordinates();
+ if (ringPts.length <= 3) return false;
+ getRing();
+ return ring.isValid();
+ }
+
+ public boolean isIncludedSet() {
+ return isIncludedSet;
+ }
+
+ public boolean isIncluded() {
+ return isIncluded;
+ }
+
+ public void setIncluded(boolean isIncluded) {
+ this.isIncluded = isIncluded;
+ this.isIncludedSet = true;
+ }
+
+ /**
+ * Computes the list of coordinates which are contained in this ring.
+ * The coordinates are computed once only and cached.
+ *
+ * @return an array of the {@link Coordinate}s in this ring
+ */
+ private Coordinate[] getCoordinates()
+ {
+ if (ringPts == null) {
+ CoordinateList coordList = new CoordinateList();
+ for (Iterator i = deList.iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ PolygonizeEdge edge = (PolygonizeEdge) de.getEdge();
+ addEdge(edge.getLine().getCoordinates(), de.getEdgeDirection(), coordList);
+ }
+ ringPts = coordList.toCoordinateArray();
+ }
+ return ringPts;
+ }
+
+ /**
+ * Gets the coordinates for this ring as a {@link LineString}.
+ * Used to return the coordinates in this ring
+ * as a valid geometry, when it has been detected that the ring is topologically
+ * invalid.
+ * @return a {@link LineString} containing the coordinates in this ring
+ */
+ public LineString getLineString()
+ {
+ getCoordinates();
+ return factory.createLineString(ringPts);
+ }
+
+ /**
+ * Returns this ring as a {@link LinearRing}, or null if an Exception occurs while
+ * creating it (such as a topology problem). Details of problems are written to
+ * standard output.
+ */
+ public LinearRing getRing()
+ {
+ if (ring != null) return ring;
+ getCoordinates();
+ if (ringPts.length < 3) System.out.println(ringPts);
+ try {
+ ring = factory.createLinearRing(ringPts);
+ }
+ catch (Exception ex) {
+ System.out.println(ringPts);
+ }
+ return ring;
+ }
+
+ private static void addEdge(Coordinate[] coords, boolean isForward, CoordinateList coordList)
+ {
+ if (isForward) {
+ for (int i = 0; i < coords.length; i++) {
+ coordList.add(coords[i], false);
+ }
+ }
+ else {
+ for (int i = coords.length - 1; i >= 0; i--) {
+ coordList.add(coords[i], false);
+ }
+ }
+ }
+
+ /**
+ * Sets the containing shell ring of a ring that has been determined to be a hole.
+ *
+ * @param shell the shell ring
+ */
+ public void setShell(EdgeRing shell) {
+ this.shell = shell;
+ }
+
+ /**
+ * Tests whether this ring has a shell assigned to it.
+ *
+ * @return true if the ring has a shell
+ */
+ public boolean hasShell() {
+ return shell != null;
+ }
+
+ /**
+ * Gets the shell for this ring. The shell is the ring itself if it is not a hole, otherwise its parent shell.
+ *
+ * @return the shell for this ring
+ */
+ public EdgeRing getShell() {
+ if (isHole()) return shell;
+ return this;
+ }
+ /**
+ * Tests whether this ring is an outer hole.
+ * A hole is an outer hole if it is not contained by a shell.
+ *
+ * @return true if the ring is an outer hole.
+ */
+ public boolean isOuterHole() {
+ if (! isHole) return false;
+ return ! hasShell();
+ }
+
+ /**
+ * Tests whether this ring is an outer shell.
+ *
+ * @return true if the ring is an outer shell.
+ */
+ public boolean isOuterShell() {
+ return getOuterHole() != null;
+ }
+
+ public EdgeRing getOuterHole()
+ {
+ if (isHole()) return null;
+ /*
+ * A shell is an outer shell if any edge is also in an outer hole.
+ * A hole is an outer hole if it is not contained by a shell.
+ */
+ for (int i = 0; i < deList.size(); i++) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) deList.get(i);
+ EdgeRing adjRing = ((PolygonizeDirectedEdge) de.getSym()).getRing();
+ if (adjRing.isOuterHole()) return adjRing;
+ }
+ return null;
+ }
+
+ /**
+ * Updates the included status for currently non-included shells
+ * based on whether they are adjacent to an included shell.
+ */
+ public void updateIncluded() {
+ if (isHole()) return;
+ for (int i = 0; i < deList.size(); i++) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) deList.get(i);
+ EdgeRing adjShell = ((PolygonizeDirectedEdge) de.getSym()).getRing().getShell();
+
+ if (adjShell != null && adjShell.isIncludedSet()) {
+ // adjacent ring has been processed, so set included to inverse of adjacent included
+ setIncluded(! adjShell.isIncluded());
+ return;
+ }
+ }
+ }
+
+ /**
+ * Gets a string representation of this object.
+ *
+ * @return a string representing the object
+ */
+ public String toString() {
+ return WKTWriter.toLineString(new CoordinateArraySequence(getCoordinates()));
+ }
+
+ /**
+ * @return whether the ring has been processed
+ */
+ public boolean isProcessed() {
+ return isProcessed;
+ }
+
+ /**
+ * @param isProcessed whether the ring has been processed
+ */
+ public void setProcessed(boolean isProcessed) {
+ this.isProcessed = isProcessed;
+ }
+
+ /**
+ * Compares EdgeRings based on their envelope,
+ * using the standard lexicographic ordering.
+ * This ordering is sufficient to make edge ring sorting deterministic.
+ *
+ * @author mbdavis
+ *
+ */
+ static class EnvelopeComparator implements Comparator {
+ public int compare(Object obj0, Object obj1) {
+ EdgeRing r0 = (EdgeRing) obj0;
+ EdgeRing r1 = (EdgeRing) obj1;
+ return r0.getRing().getEnvelope().compareTo(r1.getRing().getEnvelope());
+ }
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeDirectedEdge.java b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeDirectedEdge.java
new file mode 100644
index 0000000..750a54d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeDirectedEdge.java
@@ -0,0 +1,93 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.polygonize;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.Node;
+
+/**
+ * A {@link DirectedEdge} of a {@link PolygonizeGraph}, which represents
+ * an edge of a polygon formed by the graph.
+ * May be logically deleted from the graph by setting the <code>marked</code> flag.
+ *
+ * @version 1.7
+ */
+class PolygonizeDirectedEdge
+ extends DirectedEdge
+{
+
+ private EdgeRing edgeRing = null;
+ private PolygonizeDirectedEdge next = null;
+ private long label = -1;
+
+ /**
+ * Constructs a directed edge connecting the <code>from</code> node to the
+ * <code>to</code> node.
+ *
+ * @param directionPt
+ * specifies this DirectedEdge's direction (given by an imaginary
+ * line from the <code>from</code> node to <code>directionPt</code>)
+ * @param edgeDirection
+ * whether this DirectedEdge's direction is the same as or
+ * opposite to that of the parent Edge (if any)
+ */
+ public PolygonizeDirectedEdge(Node from, Node to, Coordinate directionPt,
+ boolean edgeDirection)
+ {
+ super(from, to, directionPt, edgeDirection);
+ }
+
+ /**
+ * Returns the identifier attached to this directed edge.
+ */
+ public long getLabel() { return label; }
+ /**
+ * Attaches an identifier to this directed edge.
+ */
+ public void setLabel(long label) { this.label = label; }
+ /**
+ * Returns the next directed edge in the EdgeRing that this directed edge is a member
+ * of.
+ */
+ public PolygonizeDirectedEdge getNext() { return next; }
+ /**
+ * Sets the next directed edge in the EdgeRing that this directed edge is a member
+ * of.
+ */
+ public void setNext(PolygonizeDirectedEdge next) { this.next = next; }
+ /**
+ * Returns the ring of directed edges that this directed edge is
+ * a member of, or null if the ring has not been set.
+ * @see #setRing(EdgeRing)
+ */
+ public boolean isInRing() { return edgeRing != null; }
+ /**
+ * Sets the ring of directed edges that this directed edge is
+ * a member of.
+ */
+ public void setRing(EdgeRing edgeRing)
+ {
+ this.edgeRing = edgeRing;
+ }
+ /**
+ * Gets the {@link EdgeRing} this edge is a member of.
+ *
+ * @return an edge ring
+ */
+ public EdgeRing getRing()
+ {
+ return this.edgeRing;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeEdge.java b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeEdge.java
new file mode 100644
index 0000000..02f0847
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeEdge.java
@@ -0,0 +1,35 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+
+package org.locationtech.jts.operation.polygonize;
+
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.planargraph.Edge;
+
+/**
+ * An edge of a polygonization graph.
+ *
+ * @version 1.7
+ */
+class PolygonizeEdge
+ extends Edge
+{
+ private LineString line;
+
+ public PolygonizeEdge(LineString line)
+ {
+ this.line = line;
+ }
+ public LineString getLine() { return line; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeGraph.java b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeGraph.java
new file mode 100644
index 0000000..179de4e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/PolygonizeGraph.java
@@ -0,0 +1,437 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+
+package org.locationtech.jts.operation.polygonize;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.Stack;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.DirectedEdgeStar;
+import org.locationtech.jts.planargraph.Edge;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.planargraph.PlanarGraph;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Represents a planar graph of edges that can be used to compute a
+ * polygonization, and implements the algorithms to compute the
+ * {@link EdgeRings} formed by the graph.
+ * <p>
+ * The marked flag on {@link DirectedEdge}s is used to indicate that a directed edge
+ * has be logically deleted from the graph.
+ *
+ * @version 1.7
+ */
+class PolygonizeGraph
+ extends PlanarGraph
+{
+
+ private static int getDegreeNonDeleted(Node node)
+ {
+ List edges = node.getOutEdges().getEdges();
+ int degree = 0;
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ if (! de.isMarked()) degree++;
+ }
+ return degree;
+ }
+
+ private static int getDegree(Node node, long label)
+ {
+ List edges = node.getOutEdges().getEdges();
+ int degree = 0;
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ if (de.getLabel() == label) degree++;
+ }
+ return degree;
+ }
+
+ /**
+ * Deletes all edges at a node
+ */
+ public static void deleteAllEdges(Node node)
+ {
+ List edges = node.getOutEdges().getEdges();
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ de.setMarked(true);
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) de.getSym();
+ if (sym != null)
+ sym.setMarked(true);
+ }
+ }
+
+ private GeometryFactory factory;
+
+ //private List labelledRings;
+
+ /**
+ * Create a new polygonization graph.
+ */
+ public PolygonizeGraph(GeometryFactory factory)
+ {
+ this.factory = factory;
+ }
+
+ /**
+ * Add a {@link LineString} forming an edge of the polygon graph.
+ * @param line the line to add
+ */
+ public void addEdge(LineString line)
+ {
+ if (line.isEmpty()) { return; }
+ Coordinate[] linePts = CoordinateArrays.removeRepeatedPoints(line.getCoordinates());
+
+ if (linePts.length < 2) { return; }
+
+ Coordinate startPt = linePts[0];
+ Coordinate endPt = linePts[linePts.length - 1];
+
+ Node nStart = getNode(startPt);
+ Node nEnd = getNode(endPt);
+
+ DirectedEdge de0 = new PolygonizeDirectedEdge(nStart, nEnd, linePts[1], true);
+ DirectedEdge de1 = new PolygonizeDirectedEdge(nEnd, nStart, linePts[linePts.length - 2], false);
+ Edge edge = new PolygonizeEdge(line);
+ edge.setDirectedEdges(de0, de1);
+ add(edge);
+ }
+
+ private Node getNode(Coordinate pt)
+ {
+ Node node = findNode(pt);
+ if (node == null) {
+ node = new Node(pt);
+ // ensure node is only added once to graph
+ add(node);
+ }
+ return node;
+ }
+
+ private void computeNextCWEdges()
+ {
+ // set the next pointers for the edges around each node
+ for (Iterator iNode = nodeIterator(); iNode.hasNext(); ) {
+ Node node = (Node) iNode.next();
+ computeNextCWEdges(node);
+ }
+ }
+
+ /**
+ * Convert the maximal edge rings found by the initial graph traversal
+ * into the minimal edge rings required by JTS polygon topology rules.
+ *
+ * @param ringEdges the list of start edges for the edgeRings to convert.
+ */
+ private void convertMaximalToMinimalEdgeRings(List ringEdges)
+ {
+ for (Iterator i = ringEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ long label = de.getLabel();
+ List intNodes = findIntersectionNodes(de, label);
+
+ if (intNodes == null) continue;
+ // flip the next pointers on the intersection nodes to create minimal edge rings
+ for (Iterator iNode = intNodes.iterator(); iNode.hasNext(); ) {
+ Node node = (Node) iNode.next();
+ computeNextCCWEdges(node, label);
+ }
+ }
+ }
+
+ /**
+ * Finds all nodes in a maximal edgering which are self-intersection nodes
+ * @param startDE
+ * @param label
+ * @return the list of intersection nodes found,
+ * or <code>null</code> if no intersection nodes were found
+ */
+ private static List findIntersectionNodes(PolygonizeDirectedEdge startDE, long label)
+ {
+ PolygonizeDirectedEdge de = startDE;
+ List intNodes = null;
+ do {
+ Node node = de.getFromNode();
+ if (getDegree(node, label) > 1) {
+ if (intNodes == null)
+ intNodes = new ArrayList();
+ intNodes.add(node);
+ }
+
+ de = de.getNext();
+ Assert.isTrue(de != null, "found null DE in ring");
+ Assert.isTrue(de == startDE || ! de.isInRing(), "found DE already in ring");
+ } while (de != startDE);
+
+ return intNodes;
+ }
+
+ /**
+ * Computes the minimal EdgeRings formed by the edges in this graph.
+ * @return a list of the {@link EdgeRing}s found by the polygonization process.
+ */
+ public List getEdgeRings()
+ {
+ // maybe could optimize this, since most of these pointers should be set correctly already
+ // by deleteCutEdges()
+ computeNextCWEdges();
+ // clear labels of all edges in graph
+ label(dirEdges, -1);
+ List maximalRings = findLabeledEdgeRings(dirEdges);
+ convertMaximalToMinimalEdgeRings(maximalRings);
+
+ // find all edgerings (which will now be minimal ones, as required)
+ List edgeRingList = new ArrayList();
+ for (Iterator i = dirEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ if (de.isMarked()) continue;
+ if (de.isInRing()) continue;
+
+ EdgeRing er = findEdgeRing(de);
+ edgeRingList.add(er);
+ }
+ return edgeRingList;
+ }
+
+ /**
+ * Finds and labels all edgerings in the graph.
+ * The edge rings are labeling with unique integers.
+ * The labeling allows detecting cut edges.
+ *
+ * @param dirEdges a List of the DirectedEdges in the graph
+ * @return a List of DirectedEdges, one for each edge ring found
+ */
+ private static List findLabeledEdgeRings(Collection dirEdges)
+ {
+ List edgeRingStarts = new ArrayList();
+ // label the edge rings formed
+ long currLabel = 1;
+ for (Iterator i = dirEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ if (de.isMarked()) continue;
+ if (de.getLabel() >= 0) continue;
+
+ edgeRingStarts.add(de);
+ List edges = EdgeRing.findDirEdgesInRing(de);
+
+ label(edges, currLabel);
+ currLabel++;
+ }
+ return edgeRingStarts;
+ }
+
+ /**
+ * Finds and removes all cut edges from the graph.
+ * @return a list of the {@link LineString}s forming the removed cut edges
+ */
+ public List deleteCutEdges()
+ {
+ computeNextCWEdges();
+ // label the current set of edgerings
+ findLabeledEdgeRings(dirEdges);
+
+ /**
+ * Cut Edges are edges where both dirEdges have the same label.
+ * Delete them, and record them
+ */
+ List cutLines = new ArrayList();
+ for (Iterator i = dirEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ if (de.isMarked()) continue;
+
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) de.getSym();
+
+ if (de.getLabel() == sym.getLabel()) {
+ de.setMarked(true);
+ sym.setMarked(true);
+
+ // save the line as a cut edge
+ PolygonizeEdge e = (PolygonizeEdge) de.getEdge();
+ cutLines.add(e.getLine());
+ }
+ }
+ return cutLines;
+ }
+
+ private static void label(Collection dirEdges, long label)
+ {
+ for (Iterator i = dirEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ de.setLabel(label);
+ }
+ }
+ private static void computeNextCWEdges(Node node)
+ {
+ DirectedEdgeStar deStar = node.getOutEdges();
+ PolygonizeDirectedEdge startDE = null;
+ PolygonizeDirectedEdge prevDE = null;
+
+ // the edges are stored in CCW order around the star
+ for (Iterator i = deStar.getEdges().iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge outDE = (PolygonizeDirectedEdge) i.next();
+ if (outDE.isMarked()) continue;
+
+ if (startDE == null)
+ startDE = outDE;
+ if (prevDE != null) {
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) prevDE.getSym();
+ sym.setNext(outDE);
+ }
+ prevDE = outDE;
+ }
+ if (prevDE != null) {
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) prevDE.getSym();
+ sym.setNext(startDE);
+ }
+ }
+ /**
+ * Computes the next edge pointers going CCW around the given node, for the
+ * given edgering label.
+ * This algorithm has the effect of converting maximal edgerings into minimal edgerings
+ */
+ private static void computeNextCCWEdges(Node node, long label)
+ {
+ DirectedEdgeStar deStar = node.getOutEdges();
+ //PolyDirectedEdge lastInDE = null;
+ PolygonizeDirectedEdge firstOutDE = null;
+ PolygonizeDirectedEdge prevInDE = null;
+
+ // the edges are stored in CCW order around the star
+ List edges = deStar.getEdges();
+ //for (Iterator i = deStar.getEdges().iterator(); i.hasNext(); ) {
+ for (int i = edges.size() - 1; i >= 0; i--) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) edges.get(i);
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) de.getSym();
+
+ PolygonizeDirectedEdge outDE = null;
+ if ( de.getLabel() == label) outDE = de;
+ PolygonizeDirectedEdge inDE = null;
+ if ( sym.getLabel() == label) inDE = sym;
+
+ if (outDE == null && inDE == null) continue; // this edge is not in edgering
+
+ if (inDE != null) {
+ prevInDE = inDE;
+ }
+
+ if (outDE != null) {
+ if (prevInDE != null) {
+ prevInDE.setNext(outDE);
+ prevInDE = null;
+ }
+ if (firstOutDE == null)
+ firstOutDE = outDE;
+ }
+ }
+ if (prevInDE != null) {
+ Assert.isTrue(firstOutDE != null);
+ prevInDE.setNext(firstOutDE);
+ }
+ }
+
+ private EdgeRing findEdgeRing(PolygonizeDirectedEdge startDE)
+ {
+ EdgeRing er = new EdgeRing(factory);
+ er.build(startDE);
+ return er;
+ }
+
+ /**
+ * Marks all edges from the graph which are "dangles".
+ * Dangles are which are incident on a node with degree 1.
+ * This process is recursive, since removing a dangling edge
+ * may result in another edge becoming a dangle.
+ * In order to handle large recursion depths efficiently,
+ * an explicit recursion stack is used
+ *
+ * @return a List containing the {@link LineString}s that formed dangles
+ */
+ public Collection deleteDangles()
+ {
+ List nodesToRemove = findNodesOfDegree(1);
+ Set dangleLines = new HashSet();
+
+ Stack nodeStack = new Stack();
+ for (Iterator i = nodesToRemove.iterator(); i.hasNext(); ) {
+ nodeStack.push(i.next());
+ }
+
+ while (! nodeStack.isEmpty()) {
+ Node node = (Node) nodeStack.pop();
+
+ deleteAllEdges(node);
+ List nodeOutEdges = node.getOutEdges().getEdges();
+ for (Iterator i = nodeOutEdges.iterator(); i.hasNext(); ) {
+ PolygonizeDirectedEdge de = (PolygonizeDirectedEdge) i.next();
+ // delete this edge and its sym
+ de.setMarked(true);
+ PolygonizeDirectedEdge sym = (PolygonizeDirectedEdge) de.getSym();
+ if (sym != null)
+ sym.setMarked(true);
+
+ // save the line as a dangle
+ PolygonizeEdge e = (PolygonizeEdge) de.getEdge();
+ dangleLines.add(e.getLine());
+
+ Node toNode = de.getToNode();
+ // add the toNode to the list to be processed, if it is now a dangle
+ if (getDegreeNonDeleted(toNode) == 1)
+ nodeStack.push(toNode);
+ }
+ }
+ return dangleLines;
+ }
+
+ /**
+ * Traverses the polygonized edge rings in the graph
+ * and computes the depth parity (odd or even)
+ * relative to the exterior of the graph.
+ * If the client has requested that the output
+ * be polygonally valid, only odd polygons will be constructed.
+ *
+ */
+ public void computeDepthParity()
+ {
+ while (true) {
+ PolygonizeDirectedEdge de = null; //findLowestDirEdge();
+ if (de == null)
+ return;
+ computeDepthParity(de);
+ }
+ }
+
+ /**
+ * Traverses all connected edges, computing the depth parity
+ * of the associated polygons.
+ *
+ * @param de
+ */
+ private void computeDepthParity(PolygonizeDirectedEdge de)
+ {
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/Polygonizer.java b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/Polygonizer.java
new file mode 100644
index 0000000..c0fcf6b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/Polygonizer.java
@@ -0,0 +1,359 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.polygonize;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+
+
+/**
+ * Polygonizes a set of {@link Geometry}s which contain linework that
+ * represents the edges of a planar graph.
+ * All types of Geometry are accepted as input;
+ * the constituent linework is extracted as the edges to be polygonized.
+ * The processed edges must be correctly noded; that is, they must only meet
+ * at their endpoints. Polygonization will accept incorrectly noded input
+ * but will not form polygons from non-noded edges,
+ * and reports them as errors.
+ * <p>
+ * The Polygonizer reports the follow kinds of errors:
+ * <ul>
+ * <li><b>Dangles</b> - edges which have one or both ends which are not incident on another edge endpoint
+ * <li><b>Cut Edges</b> - edges which are connected at both ends but which do not form part of polygon
+ * <li><b>Invalid Ring Lines</b> - edges which form rings which are invalid
+ * (e.g. the component lines contain a self-intersection)
+ * </ul>
+ * Polygonization supports extracting only polygons which form a valid polygonal geometry.
+ * The set of extracted polygons is guaranteed to be edge-disjoint.
+ * This is useful for situations where it is known that the input lines form a
+ * valid polygonal geometry.
+ *
+ * @version 1.7
+ */
+public class Polygonizer
+{
+ /**
+ * Adds every linear element in a {@link Geometry} into the polygonizer graph.
+ */
+ private static class LineStringAdder
+ implements GeometryComponentFilter
+ {
+ Polygonizer p;
+
+ LineStringAdder(Polygonizer p) {
+ this.p = p;
+ }
+
+ public void filter(Geometry g) {
+ if (g instanceof LineString)
+ p.add((LineString) g);
+ }
+ }
+
+ // default factory
+ private LineStringAdder lineStringAdder = new LineStringAdder(this);
+
+ protected PolygonizeGraph graph;
+ // initialize with empty collections, in case nothing is computed
+ protected Collection dangles = new ArrayList();
+ protected List cutEdges = new ArrayList();
+ protected List invalidRingLines = new ArrayList();
+
+ protected List holeList = null;
+ protected List shellList = null;
+ protected List polyList = null;
+
+ private boolean isCheckingRingsValid = true;
+ private boolean extractOnlyPolygonal;
+
+ private GeometryFactory geomFactory = null;
+
+ /**
+ * Creates a polygonizer with the same {@link GeometryFactory}
+ * as the input {@link Geometry}s.
+ * The output mask is {@link #ALL_POLYS}.
+ */
+ public Polygonizer()
+ {
+ this(false);
+ }
+
+ /**
+ * Creates a polygonizer and allow specifying if only polygons which form a valid polygonal geometry are to be extracted.
+ *
+ * @param extractOnlyPolygonal true if only polygons which form a valid polygonal geometry are to be extracted
+ */
+ public Polygonizer(boolean extractOnlyPolygonal)
+ {
+ this.extractOnlyPolygonal = extractOnlyPolygonal;
+ }
+
+ /**
+ * Adds a collection of geometries to the edges to be polygonized.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added;
+ * the constituent linework will be extracted and used.
+ *
+ * @param geomList a list of {@link Geometry}s with linework to be polygonized
+ */
+ public void add(Collection geomList)
+ {
+ for (Iterator i = geomList.iterator(); i.hasNext(); ) {
+ Geometry geometry = (Geometry) i.next();
+ add(geometry);
+ }
+ }
+
+ /**
+ * Add a {@link Geometry} to the edges to be polygonized.
+ * May be called multiple times.
+ * Any dimension of Geometry may be added;
+ * the constituent linework will be extracted and used
+ *
+ * @param g a {@link Geometry} with linework to be polygonized
+ */
+ public void add(Geometry g)
+ {
+ g.apply(lineStringAdder);
+ }
+
+ /**
+ * Adds a linestring to the graph of polygon edges.
+ *
+ * @param line the {@link LineString} to add
+ */
+ private void add(LineString line)
+ {
+ // record the geometry factory for later use
+ geomFactory = line.getFactory();
+ // create a new graph using the factory from the input Geometry
+ if (graph == null)
+ graph = new PolygonizeGraph(geomFactory);
+ graph.addEdge(line);
+ }
+
+ /**
+ * Allows disabling the valid ring checking,
+ * to optimize situations where invalid rings are not expected.
+ * <p>
+ * The default is <code>true</code>.
+ *
+ * @param isCheckingRingsValid true if generated rings should be checked for validity
+ */
+ public void setCheckRingsValid(boolean isCheckingRingsValid)
+ {
+ this.isCheckingRingsValid = isCheckingRingsValid;
+ }
+
+ /**
+ * Gets the list of polygons formed by the polygonization.
+ * @return a collection of {@link Polygon}s
+ */
+ public Collection getPolygons()
+ {
+ polygonize();
+ return polyList;
+ }
+
+ /**
+ * Gets a geometry representing the polygons formed by the polygonization.
+ * If a valid polygonal geometry was extracted the result is a {@link Polygonal} geometry.
+ *
+ * @return a geometry containing the polygons
+ */
+ public Geometry getGeometry()
+ {
+ if (geomFactory == null) geomFactory = new GeometryFactory();
+ polygonize();
+ if (extractOnlyPolygonal) {
+ return geomFactory.buildGeometry(polyList);
+ }
+ // result may not be valid Polygonal, so return as a GeometryCollection
+ return geomFactory.createGeometryCollection(GeometryFactory.toGeometryArray(polyList));
+ }
+
+ /**
+ * Gets the list of dangling lines found during polygonization.
+ * @return a collection of the input {@link LineString}s which are dangles
+ */
+ public Collection getDangles()
+ {
+ polygonize();
+ return dangles;
+ }
+
+ /**
+ * Gets the list of cut edges found during polygonization.
+ * @return a collection of the input {@link LineString}s which are cut edges
+ */
+ public Collection getCutEdges()
+ {
+ polygonize();
+ return cutEdges;
+ }
+
+ /**
+ * Gets the list of lines forming invalid rings found during polygonization.
+ * @return a collection of the input {@link LineString}s which form invalid rings
+ */
+ public Collection getInvalidRingLines()
+ {
+ polygonize();
+ return invalidRingLines;
+ }
+
+ /**
+ * Performs the polygonization, if it has not already been carried out.
+ */
+ private void polygonize()
+ {
+ // check if already computed
+ if (polyList != null) return;
+ polyList = new ArrayList();
+
+ // if no geometries were supplied it's possible that graph is null
+ if (graph == null) return;
+
+ dangles = graph.deleteDangles();
+ cutEdges = graph.deleteCutEdges();
+ List edgeRingList = graph.getEdgeRings();
+
+ //Debug.printTime("Build Edge Rings");
+
+ List validEdgeRingList = new ArrayList();
+ invalidRingLines = new ArrayList();
+ if (isCheckingRingsValid) {
+ findValidRings(edgeRingList, validEdgeRingList, invalidRingLines);
+ }
+ else {
+ validEdgeRingList = edgeRingList;
+ }
+ //Debug.printTime("Validate Rings");
+
+ findShellsAndHoles(validEdgeRingList);
+ assignHolesToShells(holeList, shellList);
+ // order the shells to make any subsequent processing deterministic
+ Collections.sort(shellList, new EdgeRing.EnvelopeComparator());
+
+ //Debug.printTime("Assign Holes");
+
+ boolean includeAll = true;
+ if (extractOnlyPolygonal) {
+ findDisjointShells(shellList);
+ includeAll = false;
+ }
+ polyList = extractPolygons(shellList, includeAll);
+ }
+
+ private void findValidRings(List edgeRingList, List validEdgeRingList, List invalidRingList)
+ {
+ for (Iterator i = edgeRingList.iterator(); i.hasNext(); ) {
+ EdgeRing er = (EdgeRing) i.next();
+ if (er.isValid())
+ validEdgeRingList.add(er);
+ else
+ invalidRingList.add(er.getLineString());
+ }
+ }
+
+ private void findShellsAndHoles(List edgeRingList)
+ {
+ holeList = new ArrayList();
+ shellList = new ArrayList();
+ for (Iterator i = edgeRingList.iterator(); i.hasNext(); ) {
+ EdgeRing er = (EdgeRing) i.next();
+ er.computeHole();
+ if (er.isHole())
+ holeList.add(er);
+ else
+ shellList.add(er);
+ }
+ }
+
+ private static void assignHolesToShells(List holeList, List shellList)
+ {
+ for (Iterator i = holeList.iterator(); i.hasNext(); ) {
+ EdgeRing holeER = (EdgeRing) i.next();
+ assignHoleToShell(holeER, shellList);
+ /*
+ if ( ! holeER.hasShell()) {
+ System.out.println("DEBUG: Outer hole: " + holeER);
+ }
+ */
+ }
+ }
+
+ private static void assignHoleToShell(EdgeRing holeER, List shellList)
+ {
+ EdgeRing shell = EdgeRing.findEdgeRingContaining(holeER, shellList);
+ if (shell != null) {
+ shell.addHole(holeER);
+ }
+ }
+
+ private static void findDisjointShells(List shellList) {
+ findOuterShells(shellList);
+
+ boolean isMoreToScan;
+ do {
+ isMoreToScan = false;
+ for (Iterator i = shellList.iterator(); i.hasNext(); ) {
+ EdgeRing er = (EdgeRing) i.next();
+ if (er.isIncludedSet())
+ continue;
+ er.updateIncluded();
+ if (! er.isIncludedSet()) {
+ isMoreToScan = true;
+ }
+ }
+ } while (isMoreToScan);
+ }
+
+ /**
+ * For each outer hole finds and includes a single outer shell.
+ * This seeds the traversal algorithm for finding only polygonal shells.
+ *
+ * @param shellList the list of shell EdgeRings
+ */
+ private static void findOuterShells(List shellList) {
+
+ for (Iterator i = shellList.iterator(); i.hasNext();) {
+ EdgeRing er = (EdgeRing) i.next();
+ EdgeRing outerHoleER = er.getOuterHole();
+ if (outerHoleER != null && ! outerHoleER.isProcessed()) {
+ er.setIncluded(true);
+ outerHoleER.setProcessed(true);
+ }
+ }
+ }
+
+ private static List extractPolygons(List shellList, boolean includeAll) {
+ List polyList = new ArrayList();
+ for (Iterator i = shellList.iterator(); i.hasNext();) {
+ EdgeRing er = (EdgeRing) i.next();
+ if (includeAll || er.isIncluded()) {
+ polyList.add(er.getPolygon());
+ }
+ }
+ return polyList;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/package.html
new file mode 100644
index 0000000..5e46791
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/polygonize/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+An API for polygonizing sets of lines.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleContains.java b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleContains.java
new file mode 100644
index 0000000..80d9b5b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleContains.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.predicate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Optimized implementation of the <tt>contains</tt> spatial predicate
+ * for cases where the first {@link Geometry} is a rectangle.
+ * This class works for all input geometries, including
+ * {@link GeometryCollection}s.
+ * <p>
+ * As a further optimization,
+ * this class can be used to test
+ * many geometries against a single
+ * rectangle in a slightly more efficient way.
+ *
+ * @version 1.7
+ */
+public class RectangleContains {
+
+ /**
+ * Tests whether a rectangle contains a given geometry.
+ *
+ * @param rectangle a rectangular Polygon
+ * @param b a Geometry of any type
+ * @return true if the geometries intersect
+ */
+ public static boolean contains(Polygon rectangle, Geometry b)
+ {
+ RectangleContains rc = new RectangleContains(rectangle);
+ return rc.contains(b);
+ }
+
+ private Envelope rectEnv;
+
+ /**
+ * Create a new contains computer for two geometries.
+ *
+ * @param rectangle a rectangular geometry
+ */
+ public RectangleContains(Polygon rectangle) {
+ rectEnv = rectangle.getEnvelopeInternal();
+ }
+
+ public boolean contains(Geometry geom)
+ {
+ // the test geometry must be wholly contained in the rectangle envelope
+ if (! rectEnv.contains(geom.getEnvelopeInternal()))
+ return false;
+
+ /**
+ * Check that geom is not contained entirely in the rectangle boundary.
+ * According to the somewhat odd spec of the SFS, if this
+ * is the case the geometry is NOT contained.
+ */
+ if (isContainedInBoundary(geom))
+ return false;
+ return true;
+ }
+
+ private boolean isContainedInBoundary(Geometry geom)
+ {
+ // polygons can never be wholely contained in the boundary
+ if (geom instanceof Polygon) return false;
+ if (geom instanceof Point) return isPointContainedInBoundary((Point) geom);
+ if (geom instanceof LineString) return isLineStringContainedInBoundary((LineString) geom);
+
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry comp = geom.getGeometryN(i);
+ if (! isContainedInBoundary(comp))
+ return false;
+ }
+ return true;
+ }
+
+ private boolean isPointContainedInBoundary(Point point)
+ {
+ return isPointContainedInBoundary(point.getCoordinate());
+ }
+
+ /**
+ * Tests if a point is contained in the boundary of the target rectangle.
+ *
+ * @param pt the point to test
+ * @return true if the point is contained in the boundary
+ */
+ private boolean isPointContainedInBoundary(Coordinate pt)
+ {
+ /**
+ * contains = false iff the point is properly contained in the rectangle.
+ *
+ * This code assumes that the point lies in the rectangle envelope
+ */
+ return pt.x == rectEnv.getMinX()
+ || pt.x == rectEnv.getMaxX()
+ || pt.y == rectEnv.getMinY()
+ || pt.y == rectEnv.getMaxY();
+ }
+
+ /**
+ * Tests if a linestring is completely contained in the boundary of the target rectangle.
+ * @param line the linestring to test
+ * @return true if the linestring is contained in the boundary
+ */
+ private boolean isLineStringContainedInBoundary(LineString line)
+ {
+ CoordinateSequence seq = line.getCoordinateSequence();
+ Coordinate p0 = new Coordinate();
+ Coordinate p1 = new Coordinate();
+ for (int i = 0; i < seq.size() - 1; i++) {
+ seq.getCoordinate(i, p0);
+ seq.getCoordinate(i + 1, p1);
+
+ if (! isLineSegmentContainedInBoundary(p0, p1))
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests if a line segment is contained in the boundary of the target rectangle.
+ * @param p0 an endpoint of the segment
+ * @param p1 an endpoint of the segment
+ * @return true if the line segment is contained in the boundary
+ */
+ private boolean isLineSegmentContainedInBoundary(Coordinate p0, Coordinate p1)
+ {
+ if (p0.equals(p1))
+ return isPointContainedInBoundary(p0);
+
+ // we already know that the segment is contained in the rectangle envelope
+ if (p0.x == p1.x) {
+ if (p0.x == rectEnv.getMinX() ||
+ p0.x == rectEnv.getMaxX() )
+ return true;
+ }
+ else if (p0.y == p1.y) {
+ if (p0.y == rectEnv.getMinY() ||
+ p0.y == rectEnv.getMaxY() )
+ return true;
+ }
+ /**
+ * Either
+ * both x and y values are different
+ * or
+ * one of x and y are the same, but the other ordinate is not the same as a boundary ordinate
+ *
+ * In either case, the segment is not wholely in the boundary
+ */
+ return false;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleIntersects.java b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleIntersects.java
new file mode 100644
index 0000000..ed86f1b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/RectangleIntersects.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.predicate;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.RectangleLineIntersector;
+import org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.geom.util.ShortCircuitedGeometryVisitor;
+
+
+/**
+ * Implementation of the <tt>intersects</tt> spatial predicate
+ * optimized for the case where one {@link Geometry} is a rectangle.
+ * This class works for all
+ * input geometries, including {@link GeometryCollection}s.
+ * <p>
+ * As a further optimization,
+ * this class can be used in batch style
+ * to test many geometries
+ * against a single rectangle.
+ *
+ * @version 1.7
+ */
+public class RectangleIntersects
+{
+ /**
+ * Tests whether a rectangle intersects a given geometry.
+ *
+ * @param rectangle
+ * a rectangular Polygon
+ * @param b
+ * a Geometry of any type
+ * @return true if the geometries intersect
+ */
+ public static boolean intersects(Polygon rectangle, Geometry b)
+ {
+ RectangleIntersects rp = new RectangleIntersects(rectangle);
+ return rp.intersects(b);
+ }
+
+ private Polygon rectangle;
+
+ private Envelope rectEnv;
+
+ /**
+ * Create a new intersects computer for a rectangle.
+ *
+ * @param rectangle
+ * a rectangular Polygon
+ */
+ public RectangleIntersects(Polygon rectangle)
+ {
+ this.rectangle = rectangle;
+ rectEnv = rectangle.getEnvelopeInternal();
+ }
+
+ /**
+ * Tests whether the given Geometry intersects
+ * the query rectangle.
+ *
+ * @param geom the Geometry to test (may be of any type)
+ * @return true if the geometry intersects the query rectangle
+ */
+ public boolean intersects(Geometry geom)
+ {
+ if (!rectEnv.intersects(geom.getEnvelopeInternal()))
+ return false;
+
+ /**
+ * Test if rectangle envelope intersects any component envelope.
+ * This handles Point components as well
+ */
+ EnvelopeIntersectsVisitor visitor = new EnvelopeIntersectsVisitor(rectEnv);
+ visitor.applyTo(geom);
+ if (visitor.intersects())
+ return true;
+
+ /**
+ * Test if any rectangle vertex is contained in the target geometry
+ */
+ GeometryContainsPointVisitor ecpVisitor = new GeometryContainsPointVisitor(rectangle);
+ ecpVisitor.applyTo(geom);
+ if (ecpVisitor.containsPoint())
+ return true;
+
+ /**
+ * Test if any target geometry line segment intersects the rectangle
+ */
+ RectangleIntersectsSegmentVisitor riVisitor = new RectangleIntersectsSegmentVisitor(rectangle);
+ riVisitor.applyTo(geom);
+ if (riVisitor.intersects())
+ return true;
+
+ return false;
+ }
+}
+
+/**
+ * Tests whether it can be concluded that a rectangle intersects a geometry,
+ * based on the relationship of the envelope(s) of the geometry.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+class EnvelopeIntersectsVisitor extends ShortCircuitedGeometryVisitor
+{
+ private Envelope rectEnv;
+
+ private boolean intersects = false;
+
+ public EnvelopeIntersectsVisitor(Envelope rectEnv)
+ {
+ this.rectEnv = rectEnv;
+ }
+
+ /**
+ * Reports whether it can be concluded that an intersection occurs,
+ * or whether further testing is required.
+ *
+ * @return true if an intersection must occur
+ * or false if no conclusion about intersection can be made
+ */
+ public boolean intersects()
+ {
+ return intersects;
+ }
+
+ protected void visit(Geometry element)
+ {
+ Envelope elementEnv = element.getEnvelopeInternal();
+
+ // disjoint => no intersection
+ if (!rectEnv.intersects(elementEnv)) {
+ return;
+ }
+ // rectangle contains target env => must intersect
+ if (rectEnv.contains(elementEnv)) {
+ intersects = true;
+ return;
+ }
+ /**
+ * Since the envelopes intersect and the test element is connected, if the
+ * test envelope is completely bisected by an edge of the rectangle the
+ * element and the rectangle must touch (This is basically an application of
+ * the Jordan Curve Theorem). The alternative situation is that the test
+ * envelope is "on a corner" of the rectangle envelope, i.e. is not
+ * completely bisected. In this case it is not possible to make a conclusion
+ * about the presence of an intersection.
+ */
+ if (elementEnv.getMinX() >= rectEnv.getMinX()
+ && elementEnv.getMaxX() <= rectEnv.getMaxX()) {
+ intersects = true;
+ return;
+ }
+ if (elementEnv.getMinY() >= rectEnv.getMinY()
+ && elementEnv.getMaxY() <= rectEnv.getMaxY()) {
+ intersects = true;
+ return;
+ }
+ }
+
+ protected boolean isDone()
+ {
+ return intersects == true;
+ }
+}
+
+/**
+ * A visitor which tests whether it can be
+ * concluded that a geometry contains a vertex of
+ * a query geometry.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+class GeometryContainsPointVisitor extends ShortCircuitedGeometryVisitor
+{
+ private CoordinateSequence rectSeq;
+
+ private Envelope rectEnv;
+
+ private boolean containsPoint = false;
+
+ public GeometryContainsPointVisitor(Polygon rectangle)
+ {
+ this.rectSeq = rectangle.getExteriorRing().getCoordinateSequence();
+ rectEnv = rectangle.getEnvelopeInternal();
+ }
+
+ /**
+ * Reports whether it can be concluded that a corner point of the rectangle is
+ * contained in the geometry, or whether further testing is required.
+ *
+ * @return true if a corner point is contained
+ * or false if no conclusion about intersection can be made
+ */
+ public boolean containsPoint()
+ {
+ return containsPoint;
+ }
+
+ protected void visit(Geometry geom)
+ {
+ // if test geometry is not polygonal this check is not needed
+ if (!(geom instanceof Polygon))
+ return;
+
+ // skip if envelopes do not intersect
+ Envelope elementEnv = geom.getEnvelopeInternal();
+ if (!rectEnv.intersects(elementEnv))
+ return;
+
+ // test each corner of rectangle for inclusion
+ Coordinate rectPt = new Coordinate();
+ for (int i = 0; i < 4; i++) {
+ rectSeq.getCoordinate(i, rectPt);
+ if (!elementEnv.contains(rectPt))
+ continue;
+ // check rect point in poly (rect is known not to touch polygon at this
+ // point)
+ if (SimplePointInAreaLocator.containsPointInPolygon(rectPt,
+ (Polygon) geom)) {
+ containsPoint = true;
+ return;
+ }
+ }
+ }
+
+ protected boolean isDone()
+ {
+ return containsPoint == true;
+ }
+}
+
+
+/**
+ * A visitor to test for intersection between the query
+ * rectangle and the line segments of the geometry.
+ *
+ * @author Martin Davis
+ *
+ */
+class RectangleIntersectsSegmentVisitor extends ShortCircuitedGeometryVisitor
+{
+ private Envelope rectEnv;
+ private RectangleLineIntersector rectIntersector;
+
+ private boolean hasIntersection = false;
+ private Coordinate p0 = new Coordinate();
+ private Coordinate p1 = new Coordinate();
+
+ /**
+ * Creates a visitor for checking rectangle intersection
+ * with segments
+ *
+ * @param rectangle the query rectangle
+ */
+ public RectangleIntersectsSegmentVisitor(Polygon rectangle)
+ {
+ rectEnv = rectangle.getEnvelopeInternal();
+ rectIntersector = new RectangleLineIntersector(rectEnv);
+ }
+
+ /**
+ * Reports whether any segment intersection exists.
+ *
+ * @return true if a segment intersection exists
+ * or false if no segment intersection exists
+ */
+ public boolean intersects()
+ {
+ return hasIntersection;
+ }
+
+ protected void visit(Geometry geom)
+ {
+ /**
+ * It may be the case that the rectangle and the
+ * envelope of the geometry component are disjoint,
+ * so it is worth checking this simple condition.
+ */
+ Envelope elementEnv = geom.getEnvelopeInternal();
+ if (!rectEnv.intersects(elementEnv))
+ return;
+
+ // check segment intersections
+ // get all lines from geometry component
+ // (there may be more than one if it's a multi-ring polygon)
+ List lines = LinearComponentExtracter.getLines(geom);
+ checkIntersectionWithLineStrings(lines);
+ }
+
+ private void checkIntersectionWithLineStrings(List lines)
+ {
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString testLine = (LineString) i.next();
+ checkIntersectionWithSegments(testLine);
+ if (hasIntersection)
+ return;
+ }
+ }
+
+ private void checkIntersectionWithSegments(LineString testLine)
+ {
+ CoordinateSequence seq1 = testLine.getCoordinateSequence();
+ for (int j = 1; j < seq1.size(); j++) {
+ seq1.getCoordinate(j - 1, p0);
+ seq1.getCoordinate(j, p1);
+
+ if (rectIntersector.intersects(p0, p1)) {
+ hasIntersection = true;
+ return;
+ }
+ }
+ }
+
+ protected boolean isDone()
+ {
+ return hasIntersection == true;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/predicate/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/package.html
new file mode 100644
index 0000000..7e58ae9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/predicate/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes which implement topological predicates optimized for particular kinds of geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBuilder.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBuilder.java
new file mode 100644
index 0000000..e279004
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBuilder.java
@@ -0,0 +1,150 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+/**
+ * An EdgeEndBuilder creates EdgeEnds for all the "split edges"
+ * created by the
+ * intersections determined for an Edge.
+ *
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeEnd;
+import org.locationtech.jts.geomgraph.EdgeIntersection;
+import org.locationtech.jts.geomgraph.EdgeIntersectionList;
+import org.locationtech.jts.geomgraph.Label;
+
+/**
+ * Computes the {@link EdgeEnd}s which arise from a noded {@link Edge}.
+ *
+ * @version 1.7
+ */
+public class EdgeEndBuilder {
+
+ public EdgeEndBuilder() {
+ }
+
+ public List computeEdgeEnds(Iterator edges)
+ {
+ List l = new ArrayList();
+ for (Iterator i = edges; i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ computeEdgeEnds(e, l);
+ }
+ return l;
+ }
+
+ /**
+ * Creates stub edges for all the intersections in this
+ * Edge (if any) and inserts them into the graph.
+ */
+ public void computeEdgeEnds(Edge edge, List l)
+ {
+ EdgeIntersectionList eiList = edge.getEdgeIntersectionList();
+//Debug.print(eiList);
+ // ensure that the list has entries for the first and last point of the edge
+ eiList.addEndpoints();
+
+ Iterator it = eiList.iterator();
+ EdgeIntersection eiPrev = null;
+ EdgeIntersection eiCurr = null;
+ // no intersections, so there is nothing to do
+ if (! it.hasNext()) return;
+ EdgeIntersection eiNext = (EdgeIntersection) it.next();
+ do {
+ eiPrev = eiCurr;
+ eiCurr = eiNext;
+ eiNext = null;
+ if (it.hasNext()) eiNext = (EdgeIntersection) it.next();
+
+ if (eiCurr != null) {
+ createEdgeEndForPrev(edge, l, eiCurr, eiPrev);
+ createEdgeEndForNext(edge, l, eiCurr, eiNext);
+ }
+
+ } while (eiCurr != null);
+
+ }
+
+ /**
+ * Create a EdgeStub for the edge before the intersection eiCurr.
+ * The previous intersection is provided
+ * in case it is the endpoint for the stub edge.
+ * Otherwise, the previous point from the parent edge will be the endpoint.
+ * <br>
+ * eiCurr will always be an EdgeIntersection, but eiPrev may be null.
+ */
+ void createEdgeEndForPrev(
+ Edge edge,
+ List l,
+ EdgeIntersection eiCurr,
+ EdgeIntersection eiPrev)
+ {
+
+ int iPrev = eiCurr.segmentIndex;
+ if (eiCurr.dist == 0.0) {
+ // if at the start of the edge there is no previous edge
+ if (iPrev == 0) return;
+ iPrev--;
+ }
+ Coordinate pPrev = edge.getCoordinate(iPrev);
+ // if prev intersection is past the previous vertex, use it instead
+ if (eiPrev != null && eiPrev.segmentIndex >= iPrev)
+ pPrev = eiPrev.coord;
+
+ Label label = new Label(edge.getLabel());
+ // since edgeStub is oriented opposite to it's parent edge, have to flip sides for edge label
+ label.flip();
+ EdgeEnd e = new EdgeEnd(edge, eiCurr.coord, pPrev, label);
+//e.print(System.out); System.out.println();
+ l.add(e);
+ }
+ /**
+ * Create a StubEdge for the edge after the intersection eiCurr.
+ * The next intersection is provided
+ * in case it is the endpoint for the stub edge.
+ * Otherwise, the next point from the parent edge will be the endpoint.
+ * <br>
+ * eiCurr will always be an EdgeIntersection, but eiNext may be null.
+ */
+ void createEdgeEndForNext(
+ Edge edge,
+ List l,
+ EdgeIntersection eiCurr,
+ EdgeIntersection eiNext)
+ {
+
+ int iNext = eiCurr.segmentIndex + 1;
+ // if there is no next edge there is nothing to do
+ if (iNext >= edge.getNumPoints() && eiNext == null) return;
+
+ Coordinate pNext = edge.getCoordinate(iNext);
+
+ // if the next intersection is in the same segment as the current, use it as the endpoint
+ if (eiNext != null && eiNext.segmentIndex == eiCurr.segmentIndex)
+ pNext = eiNext.coord;
+
+ EdgeEnd e = new EdgeEnd(edge, eiCurr.coord, pNext, new Label(edge.getLabel()));
+//Debug.println(e);
+ l.add(e);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundle.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundle.java
new file mode 100644
index 0000000..ac1b1c7
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundle.java
@@ -0,0 +1,192 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeEnd;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Position;
+
+/**
+ * A collection of {@link EdgeEnd}s which obey the following invariant:
+ * They originate at the same node and have the same direction.
+ *
+ * @version 1.7
+ */
+public class EdgeEndBundle
+ extends EdgeEnd
+{
+// private BoundaryNodeRule boundaryNodeRule;
+ private List edgeEnds = new ArrayList();
+
+ public EdgeEndBundle(BoundaryNodeRule boundaryNodeRule, EdgeEnd e)
+ {
+ super(e.getEdge(), e.getCoordinate(), e.getDirectedCoordinate(), new Label(e.getLabel()));
+ insert(e);
+ /*
+ if (boundaryNodeRule != null)
+ this.boundaryNodeRule = boundaryNodeRule;
+ else
+ boundaryNodeRule = BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE;
+ */
+ }
+
+ public EdgeEndBundle(EdgeEnd e)
+ {
+ this(null, e);
+ }
+
+ public Label getLabel() { return label; }
+ public Iterator iterator() { return edgeEnds.iterator(); }
+ public List getEdgeEnds() { return edgeEnds; }
+
+ public void insert(EdgeEnd e)
+ {
+ // Assert: start point is the same
+ // Assert: direction is the same
+ edgeEnds.add(e);
+ }
+ /**
+ * This computes the overall edge label for the set of
+ * edges in this EdgeStubBundle. It essentially merges
+ * the ON and side labels for each edge. These labels must be compatible
+ */
+ public void computeLabel(BoundaryNodeRule boundaryNodeRule)
+ {
+ // create the label. If any of the edges belong to areas,
+ // the label must be an area label
+ boolean isArea = false;
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ if (e.getLabel().isArea()) isArea = true;
+ }
+ if (isArea)
+ label = new Label(Location.NONE, Location.NONE, Location.NONE);
+ else
+ label = new Label(Location.NONE);
+
+ // compute the On label, and the side labels if present
+ for (int i = 0; i < 2; i++) {
+ computeLabelOn(i, boundaryNodeRule);
+ if (isArea)
+ computeLabelSides(i);
+ }
+ }
+
+ /**
+ * Compute the overall ON location for the list of EdgeStubs.
+ * (This is essentially equivalent to computing the self-overlay of a single Geometry)
+ * edgeStubs can be either on the boundary (e.g. Polygon edge)
+ * OR in the interior (e.g. segment of a LineString)
+ * of their parent Geometry.
+ * In addition, GeometryCollections use a {@link BoundaryNodeRule} to determine
+ * whether a segment is on the boundary or not.
+ * Finally, in GeometryCollections it can occur that an edge is both
+ * on the boundary and in the interior (e.g. a LineString segment lying on
+ * top of a Polygon edge.) In this case the Boundary is given precedence.
+ * <br>
+ * These observations result in the following rules for computing the ON location:
+ * <ul>
+ * <li> if there are an odd number of Bdy edges, the attribute is Bdy
+ * <li> if there are an even number >= 2 of Bdy edges, the attribute is Int
+ * <li> if there are any Int edges, the attribute is Int
+ * <li> otherwise, the attribute is NULL.
+ * </ul>
+ */
+ private void computeLabelOn(int geomIndex, BoundaryNodeRule boundaryNodeRule)
+ {
+ // compute the ON location value
+ int boundaryCount = 0;
+ boolean foundInterior = false;
+
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ int loc = e.getLabel().getLocation(geomIndex);
+ if (loc == Location.BOUNDARY) boundaryCount++;
+ if (loc == Location.INTERIOR) foundInterior = true;
+ }
+ int loc = Location.NONE;
+ if (foundInterior) loc = Location.INTERIOR;
+ if (boundaryCount > 0) {
+ loc = GeometryGraph.determineBoundary(boundaryNodeRule, boundaryCount);
+ }
+ label.setLocation(geomIndex, loc);
+
+ }
+ /**
+ * Compute the labelling for each side
+ */
+ private void computeLabelSides(int geomIndex)
+ {
+ computeLabelSide(geomIndex, Position.LEFT);
+ computeLabelSide(geomIndex, Position.RIGHT);
+ }
+
+ /**
+ * To compute the summary label for a side, the algorithm is:
+ * FOR all edges
+ * IF any edge's location is INTERIOR for the side, side location = INTERIOR
+ * ELSE IF there is at least one EXTERIOR attribute, side location = EXTERIOR
+ * ELSE side location = NULL
+ * <br>
+ * Note that it is possible for two sides to have apparently contradictory information
+ * i.e. one edge side may indicate that it is in the interior of a geometry, while
+ * another edge side may indicate the exterior of the same geometry. This is
+ * not an incompatibility - GeometryCollections may contain two Polygons that touch
+ * along an edge. This is the reason for Interior-primacy rule above - it
+ * results in the summary label having the Geometry interior on <b>both</b> sides.
+ */
+ private void computeLabelSide(int geomIndex, int side)
+ {
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) it.next();
+ if (e.getLabel().isArea()) {
+ int loc = e.getLabel().getLocation(geomIndex, side);
+ if (loc == Location.INTERIOR) {
+ label.setLocation(geomIndex, side, Location.INTERIOR);
+ return;
+ }
+ else if (loc == Location.EXTERIOR)
+ label.setLocation(geomIndex, side, Location.EXTERIOR);
+ }
+ }
+ }
+
+ /**
+ * Update the IM with the contribution for the computed label for the EdgeStubs.
+ */
+ void updateIM(IntersectionMatrix im)
+ {
+ Edge.updateIM(label, im);
+ }
+ public void print(PrintStream out)
+ {
+ out.println("EdgeEndBundle--> Label: " + label);
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEnd ee = (EdgeEnd) it.next();
+ ee.print(out);
+ out.println();
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundleStar.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundleStar.java
new file mode 100644
index 0000000..754186f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/EdgeEndBundleStar.java
@@ -0,0 +1,69 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geomgraph.EdgeEnd;
+import org.locationtech.jts.geomgraph.EdgeEndStar;
+
+/**
+ * An ordered list of {@link EdgeEndBundle}s around a {@link RelateNode}.
+ * They are maintained in CCW order (starting with the positive x-axis) around the node
+ * for efficient lookup and topology building.
+ *
+ * @version 1.7
+ */
+public class EdgeEndBundleStar
+ extends EdgeEndStar
+{
+ /**
+ * Creates a new empty EdgeEndBundleStar
+ */
+ public EdgeEndBundleStar() {
+ }
+
+ /**
+ * Insert a EdgeEnd in order in the list.
+ * If there is an existing EdgeStubBundle which is parallel, the EdgeEnd is
+ * added to the bundle. Otherwise, a new EdgeEndBundle is created
+ * to contain the EdgeEnd.
+ * <br>
+ */
+ public void insert(EdgeEnd e)
+ {
+ EdgeEndBundle eb = (EdgeEndBundle) edgeMap.get(e);
+ if (eb == null) {
+ eb = new EdgeEndBundle(e);
+ insertEdgeEnd(e, eb);
+ }
+ else {
+ eb.insert(e);
+ }
+ }
+
+ /**
+ * Update the IM with the contribution for the EdgeStubs around the node.
+ */
+ void updateIM(IntersectionMatrix im)
+ {
+ for (Iterator it = iterator(); it.hasNext(); ) {
+ EdgeEndBundle esb = (EdgeEndBundle) it.next();
+ esb.updateIM(im);
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateComputer.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateComputer.java
new file mode 100644
index 0000000..be91db9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateComputer.java
@@ -0,0 +1,389 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+/**
+ * @version 1.7
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeEnd;
+import org.locationtech.jts.geomgraph.EdgeIntersection;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.Label;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.NodeMap;
+import org.locationtech.jts.geomgraph.index.SegmentIntersector;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Computes the topological relationship between two Geometries.
+ * <p>
+ * RelateComputer does not need to build a complete graph structure to compute
+ * the IntersectionMatrix. The relationship between the geometries can
+ * be computed by simply examining the labelling of edges incident on each node.
+ * <p>
+ * RelateComputer does not currently support arbitrary GeometryCollections.
+ * This is because GeometryCollections can contain overlapping Polygons.
+ * In order to correct compute relate on overlapping Polygons, they
+ * would first need to be noded and merged (if not explicitly, at least
+ * implicitly).
+ *
+ * @version 1.7
+ */
+public class RelateComputer
+{
+ private LineIntersector li = new RobustLineIntersector();
+ private PointLocator ptLocator = new PointLocator();
+ private GeometryGraph[] arg; // the arg(s) of the operation
+ private NodeMap nodes = new NodeMap(new RelateNodeFactory());
+ // this intersection matrix will hold the results compute for the relate
+ private IntersectionMatrix im = null;
+ private ArrayList isolatedEdges = new ArrayList();
+
+ // the intersection point found (if any)
+ private Coordinate invalidPoint;
+
+ public RelateComputer(GeometryGraph[] arg) {
+ this.arg = arg;
+ }
+
+ public IntersectionMatrix computeIM()
+ {
+ IntersectionMatrix im = new IntersectionMatrix();
+ // since Geometries are finite and embedded in a 2-D space, the EE element must always be 2
+ im.set(Location.EXTERIOR, Location.EXTERIOR, 2);
+
+ // if the Geometries don't overlap there is nothing to do
+ if (! arg[0].getGeometry().getEnvelopeInternal().intersects(
+ arg[1].getGeometry().getEnvelopeInternal()) ) {
+ computeDisjointIM(im);
+ return im;
+ }
+ arg[0].computeSelfNodes(li, false);
+ arg[1].computeSelfNodes(li, false);
+
+ // compute intersections between edges of the two input geometries
+ SegmentIntersector intersector = arg[0].computeEdgeIntersections(arg[1], li, false);
+//System.out.println("computeIM: # segment intersection tests: " + intersector.numTests);
+ computeIntersectionNodes(0);
+ computeIntersectionNodes(1);
+ /**
+ * Copy the labelling for the nodes in the parent Geometries. These override
+ * any labels determined by intersections between the geometries.
+ */
+ copyNodesAndLabels(0);
+ copyNodesAndLabels(1);
+
+ // complete the labelling for any nodes which only have a label for a single geometry
+//Debug.addWatch(nodes.find(new Coordinate(110, 200)));
+//Debug.printWatch();
+ labelIsolatedNodes();
+//Debug.printWatch();
+
+ // If a proper intersection was found, we can set a lower bound on the IM.
+ computeProperIntersectionIM(intersector, im);
+
+ /**
+ * Now process improper intersections
+ * (eg where one or other of the geometries has a vertex at the intersection point)
+ * We need to compute the edge graph at all nodes to determine the IM.
+ */
+
+ // build EdgeEnds for all intersections
+ EdgeEndBuilder eeBuilder = new EdgeEndBuilder();
+ List ee0 = eeBuilder.computeEdgeEnds(arg[0].getEdgeIterator());
+ insertEdgeEnds(ee0);
+ List ee1 = eeBuilder.computeEdgeEnds(arg[1].getEdgeIterator());
+ insertEdgeEnds(ee1);
+
+//Debug.println("==== NodeList ===");
+//Debug.print(nodes);
+
+ labelNodeEdges();
+
+ /**
+ * Compute the labeling for isolated components
+ * <br>
+ * Isolated components are components that do not touch any other components in the graph.
+ * They can be identified by the fact that they will
+ * contain labels containing ONLY a single element, the one for their parent geometry.
+ * We only need to check components contained in the input graphs, since
+ * isolated components will not have been replaced by new components formed by intersections.
+ */
+//debugPrintln("Graph A isolated edges - ");
+ labelIsolatedEdges(0, 1);
+//debugPrintln("Graph B isolated edges - ");
+ labelIsolatedEdges(1, 0);
+
+ // update the IM from all components
+ updateIM(im);
+ return im;
+ }
+
+ private void insertEdgeEnds(List ee)
+ {
+ for (Iterator i = ee.iterator(); i.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) i.next();
+ nodes.add(e);
+ }
+ }
+
+ private void computeProperIntersectionIM(SegmentIntersector intersector, IntersectionMatrix im)
+ {
+ // If a proper intersection is found, we can set a lower bound on the IM.
+ int dimA = arg[0].getGeometry().getDimension();
+ int dimB = arg[1].getGeometry().getDimension();
+ boolean hasProper = intersector.hasProperIntersection();
+ boolean hasProperInterior = intersector.hasProperInteriorIntersection();
+
+ // For Geometry's of dim 0 there can never be proper intersections.
+
+ /**
+ * If edge segments of Areas properly intersect, the areas must properly overlap.
+ */
+ if (dimA == 2 && dimB == 2) {
+ if (hasProper) im.setAtLeast("212101212");
+ }
+ /**
+ * If an Line segment properly intersects an edge segment of an Area,
+ * it follows that the Interior of the Line intersects the Boundary of the Area.
+ * If the intersection is a proper <i>interior</i> intersection, then
+ * there is an Interior-Interior intersection too.
+ * Note that it does not follow that the Interior of the Line intersects the Exterior
+ * of the Area, since there may be another Area component which contains the rest of the Line.
+ */
+ else if (dimA == 2 && dimB == 1) {
+ if (hasProper) im.setAtLeast("FFF0FFFF2");
+ if (hasProperInterior) im.setAtLeast("1FFFFF1FF");
+ }
+ else if (dimA == 1 && dimB == 2) {
+ if (hasProper) im.setAtLeast("F0FFFFFF2");
+ if (hasProperInterior) im.setAtLeast("1F1FFFFFF");
+ }
+ /* If edges of LineStrings properly intersect *in an interior point*, all
+ we can deduce is that
+ the interiors intersect. (We can NOT deduce that the exteriors intersect,
+ since some other segments in the geometries might cover the points in the
+ neighbourhood of the intersection.)
+ It is important that the point be known to be an interior point of
+ both Geometries, since it is possible in a self-intersecting geometry to
+ have a proper intersection on one segment that is also a boundary point of another segment.
+ */
+ else if (dimA == 1 && dimB == 1) {
+ if (hasProperInterior) im.setAtLeast("0FFFFFFFF");
+ }
+ }
+
+ /**
+ * Copy all nodes from an arg geometry into this graph.
+ * The node label in the arg geometry overrides any previously computed
+ * label for that argIndex.
+ * (E.g. a node may be an intersection node with
+ * a computed label of BOUNDARY,
+ * but in the original arg Geometry it is actually
+ * in the interior due to the Boundary Determination Rule)
+ */
+ private void copyNodesAndLabels(int argIndex)
+ {
+ for (Iterator i = arg[argIndex].getNodeIterator(); i.hasNext(); ) {
+ Node graphNode = (Node) i.next();
+ Node newNode = nodes.addNode(graphNode.getCoordinate());
+ newNode.setLabel(argIndex, graphNode.getLabel().getLocation(argIndex));
+//node.print(System.out);
+ }
+ }
+ /**
+ * Insert nodes for all intersections on the edges of a Geometry.
+ * Label the created nodes the same as the edge label if they do not already have a label.
+ * This allows nodes created by either self-intersections or
+ * mutual intersections to be labelled.
+ * Endpoint nodes will already be labelled from when they were inserted.
+ */
+ private void computeIntersectionNodes(int argIndex)
+ {
+ for (Iterator i = arg[argIndex].getEdgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ int eLoc = e.getLabel().getLocation(argIndex);
+ for (Iterator eiIt = e.getEdgeIntersectionList().iterator(); eiIt.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) eiIt.next();
+ RelateNode n = (RelateNode) nodes.addNode(ei.coord);
+ if (eLoc == Location.BOUNDARY)
+ n.setLabelBoundary(argIndex);
+ else {
+ if (n.getLabel().isNull(argIndex))
+ n.setLabel(argIndex, Location.INTERIOR);
+ }
+//Debug.println(n);
+ }
+ }
+ }
+ /**
+ * For all intersections on the edges of a Geometry,
+ * label the corresponding node IF it doesn't already have a label.
+ * This allows nodes created by either self-intersections or
+ * mutual intersections to be labelled.
+ * Endpoint nodes will already be labelled from when they were inserted.
+ */
+ private void labelIntersectionNodes(int argIndex)
+ {
+ for (Iterator i = arg[argIndex].getEdgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ int eLoc = e.getLabel().getLocation(argIndex);
+ for (Iterator eiIt = e.getEdgeIntersectionList().iterator(); eiIt.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) eiIt.next();
+ RelateNode n = (RelateNode) nodes.find(ei.coord);
+ if (n.getLabel().isNull(argIndex)) {
+ if (eLoc == Location.BOUNDARY)
+ n.setLabelBoundary(argIndex);
+ else
+ n.setLabel(argIndex, Location.INTERIOR);
+ }
+//n.print(System.out);
+ }
+ }
+ }
+ /**
+ * If the Geometries are disjoint, we need to enter their dimension and
+ * boundary dimension in the Ext rows in the IM
+ */
+ private void computeDisjointIM(IntersectionMatrix im)
+ {
+ Geometry ga = arg[0].getGeometry();
+ if (! ga.isEmpty()) {
+ im.set(Location.INTERIOR, Location.EXTERIOR, ga.getDimension());
+ im.set(Location.BOUNDARY, Location.EXTERIOR, ga.getBoundaryDimension());
+ }
+ Geometry gb = arg[1].getGeometry();
+ if (! gb.isEmpty()) {
+ im.set(Location.EXTERIOR, Location.INTERIOR, gb.getDimension());
+ im.set(Location.EXTERIOR, Location.BOUNDARY, gb.getBoundaryDimension());
+ }
+ }
+
+ private void labelNodeEdges()
+ {
+ for (Iterator ni = nodes.iterator(); ni.hasNext(); ) {
+ RelateNode node = (RelateNode) ni.next();
+ node.getEdges().computeLabelling(arg);
+//Debug.print(node.getEdges());
+//node.print(System.out);
+ }
+ }
+
+ /**
+ * update the IM with the sum of the IMs for each component
+ */
+ private void updateIM(IntersectionMatrix im)
+ {
+//Debug.println(im);
+ for (Iterator ei = isolatedEdges.iterator(); ei.hasNext(); ) {
+ Edge e = (Edge) ei.next();
+ e.updateIM(im);
+//Debug.println(im);
+ }
+ for (Iterator ni = nodes.iterator(); ni.hasNext(); ) {
+ RelateNode node = (RelateNode) ni.next();
+ node.updateIM(im);
+//Debug.println(im);
+ node.updateIMFromEdges(im);
+//Debug.println(im);
+//node.print(System.out);
+ }
+ }
+
+ /**
+ * Processes isolated edges by computing their labelling and adding them
+ * to the isolated edges list.
+ * Isolated edges are guaranteed not to touch the boundary of the target (since if they
+ * did, they would have caused an intersection to be computed and hence would
+ * not be isolated)
+ */
+ private void labelIsolatedEdges(int thisIndex, int targetIndex)
+ {
+ for (Iterator ei = arg[thisIndex].getEdgeIterator(); ei.hasNext(); ) {
+ Edge e = (Edge) ei.next();
+ if (e.isIsolated()) {
+ labelIsolatedEdge(e, targetIndex, arg[targetIndex].getGeometry());
+ isolatedEdges.add(e);
+ }
+ }
+ }
+ /**
+ * Label an isolated edge of a graph with its relationship to the target geometry.
+ * If the target has dim 2 or 1, the edge can either be in the interior or the exterior.
+ * If the target has dim 0, the edge must be in the exterior
+ */
+ private void labelIsolatedEdge(Edge e, int targetIndex, Geometry target)
+ {
+ // this won't work for GeometryCollections with both dim 2 and 1 geoms
+ if ( target.getDimension() > 0) {
+ // since edge is not in boundary, may not need the full generality of PointLocator?
+ // Possibly should use ptInArea locator instead? We probably know here
+ // that the edge does not touch the bdy of the target Geometry
+ int loc = ptLocator.locate(e.getCoordinate(), target);
+ e.getLabel().setAllLocations(targetIndex, loc);
+ }
+ else {
+ e.getLabel().setAllLocations(targetIndex, Location.EXTERIOR);
+ }
+//System.out.println(e.getLabel());
+ }
+
+ /**
+ * Isolated nodes are nodes whose labels are incomplete
+ * (e.g. the location for one Geometry is null).
+ * This is the case because nodes in one graph which don't intersect
+ * nodes in the other are not completely labelled by the initial process
+ * of adding nodes to the nodeList.
+ * To complete the labelling we need to check for nodes that lie in the
+ * interior of edges, and in the interior of areas.
+ */
+ private void labelIsolatedNodes()
+ {
+ for (Iterator ni = nodes.iterator(); ni.hasNext(); ) {
+ Node n = (Node) ni.next();
+ Label label = n.getLabel();
+ // isolated nodes should always have at least one geometry in their label
+ Assert.isTrue(label.getGeometryCount() > 0, "node with empty label found");
+ if (n.isIsolated()) {
+ if (label.isNull(0))
+ labelIsolatedNode(n, 0);
+ else
+ labelIsolatedNode(n, 1);
+ }
+ }
+ }
+
+ /**
+ * Label an isolated node with its relationship to the target geometry.
+ */
+ private void labelIsolatedNode(Node n, int targetIndex)
+ {
+ int loc = ptLocator.locate(n.getCoordinate(), arg[targetIndex].getGeometry());
+ n.getLabel().setAllLocations(targetIndex, loc);
+//debugPrintln(n.getLabel());
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNode.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNode.java
new file mode 100644
index 0000000..b3d2547
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNode.java
@@ -0,0 +1,52 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.geomgraph.EdgeEndStar;
+import org.locationtech.jts.geomgraph.Node;
+
+/**
+ * Represents a node in the topological graph used to compute spatial relationships.
+ *
+ * @version 1.7
+ */
+public class RelateNode
+ extends Node
+{
+
+ public RelateNode(Coordinate coord, EdgeEndStar edges)
+ {
+ super(coord, edges);
+ }
+
+ /**
+ * Update the IM with the contribution for this component.
+ * A component only contributes if it has a labelling for both parent geometries
+ */
+ protected void computeIM(IntersectionMatrix im)
+ {
+ im.setAtLeastIfValid(label.getLocation(0), label.getLocation(1), 0);
+ }
+ /**
+ * Update the IM with the contribution for the EdgeEnds incident on this node.
+ */
+ void updateIMFromEdges(IntersectionMatrix im)
+ {
+ ((EdgeEndBundleStar) edges).updateIM(im);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeFactory.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeFactory.java
new file mode 100644
index 0000000..d75499a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeFactory.java
@@ -0,0 +1,33 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.NodeFactory;
+import org.locationtech.jts.geomgraph.NodeMap;
+
+/**
+ * Used by the {@link NodeMap} in a {@link RelateNodeGraph} to create {@link RelateNode}s.
+ *
+ * @version 1.7
+ */
+public class RelateNodeFactory
+ extends NodeFactory
+{
+ public Node createNode(Coordinate coord)
+ {
+ return new RelateNode(coord, new EdgeEndBundleStar());
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeGraph.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeGraph.java
new file mode 100644
index 0000000..a8d6d6a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateNodeGraph.java
@@ -0,0 +1,135 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+/**
+ * @version 1.7
+ */
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeEnd;
+import org.locationtech.jts.geomgraph.EdgeIntersection;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.Node;
+import org.locationtech.jts.geomgraph.NodeMap;
+
+/**
+ * Implements the simple graph of Nodes and EdgeEnd which is all that is
+ * required to determine topological relationships between Geometries.
+ * Also supports building a topological graph of a single Geometry, to
+ * allow verification of valid topology.
+ * <p>
+ * It is <b>not</b> necessary to create a fully linked
+ * PlanarGraph to determine relationships, since it is sufficient
+ * to know how the Geometries interact locally around the nodes.
+ * In fact, this is not even feasible, since it is not possible to compute
+ * exact intersection points, and hence the topology around those nodes
+ * cannot be computed robustly.
+ * The only Nodes that are created are for improper intersections;
+ * that is, nodes which occur at existing vertices of the Geometries.
+ * Proper intersections (e.g. ones which occur between the interior of line segments)
+ * have their topology determined implicitly, without creating a Node object
+ * to represent them.
+ *
+ * @version 1.7
+ */
+public class RelateNodeGraph {
+
+ private NodeMap nodes = new NodeMap(new RelateNodeFactory());
+
+ public RelateNodeGraph() {
+ }
+
+ public Iterator getNodeIterator() { return nodes.iterator(); }
+
+ public void build(GeometryGraph geomGraph)
+ {
+ // compute nodes for intersections between previously noded edges
+ computeIntersectionNodes(geomGraph, 0);
+ /**
+ * Copy the labelling for the nodes in the parent Geometry. These override
+ * any labels determined by intersections.
+ */
+ copyNodesAndLabels(geomGraph, 0);
+
+ /**
+ * Build EdgeEnds for all intersections.
+ */
+ EdgeEndBuilder eeBuilder = new EdgeEndBuilder();
+ List eeList = eeBuilder.computeEdgeEnds(geomGraph.getEdgeIterator());
+ insertEdgeEnds(eeList);
+
+//Debug.println("==== NodeList ===");
+//Debug.print(nodes);
+ }
+
+ /**
+ * Insert nodes for all intersections on the edges of a Geometry.
+ * Label the created nodes the same as the edge label if they do not already have a label.
+ * This allows nodes created by either self-intersections or
+ * mutual intersections to be labelled.
+ * Endpoint nodes will already be labelled from when they were inserted.
+ * <p>
+ * Precondition: edge intersections have been computed.
+ */
+ public void computeIntersectionNodes(GeometryGraph geomGraph, int argIndex)
+ {
+ for (Iterator edgeIt = geomGraph.getEdgeIterator(); edgeIt.hasNext(); ) {
+ Edge e = (Edge) edgeIt.next();
+ int eLoc = e.getLabel().getLocation(argIndex);
+ for (Iterator eiIt = e.getEdgeIntersectionList().iterator(); eiIt.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) eiIt.next();
+ RelateNode n = (RelateNode) nodes.addNode(ei.coord);
+ if (eLoc == Location.BOUNDARY)
+ n.setLabelBoundary(argIndex);
+ else {
+ if (n.getLabel().isNull(argIndex))
+ n.setLabel(argIndex, Location.INTERIOR);
+ }
+//Debug.println(n);
+ }
+ }
+ }
+
+ /**
+ * Copy all nodes from an arg geometry into this graph.
+ * The node label in the arg geometry overrides any previously computed
+ * label for that argIndex.
+ * (E.g. a node may be an intersection node with
+ * a computed label of BOUNDARY,
+ * but in the original arg Geometry it is actually
+ * in the interior due to the Boundary Determination Rule)
+ */
+ public void copyNodesAndLabels(GeometryGraph geomGraph, int argIndex)
+ {
+ for (Iterator nodeIt = geomGraph.getNodeIterator(); nodeIt.hasNext(); ) {
+ Node graphNode = (Node) nodeIt.next();
+ Node newNode = nodes.addNode(graphNode.getCoordinate());
+ newNode.setLabel(argIndex, graphNode.getLabel().getLocation(argIndex));
+//node.print(System.out);
+ }
+ }
+
+ public void insertEdgeEnds(List ee)
+ {
+ for (Iterator i = ee.iterator(); i.hasNext(); ) {
+ EdgeEnd e = (EdgeEnd) i.next();
+ nodes.add(e);
+ }
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateOp.java
new file mode 100644
index 0000000..7cefd8b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/RelateOp.java
@@ -0,0 +1,115 @@
+
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.operation.GeometryGraphOperation;
+
+/**
+ * Implements the SFS <tt>relate()</tt> generalized spatial predicate on two {@link Geometry}s.
+ * <p>
+ * The class supports specifying a custom {@link BoundaryNodeRule}
+ * to be used during the relate computation.
+ * <p>
+ * If named spatial predicates are used on the result {@link IntersectionMatrix}
+ * of the RelateOp, the result may or not be affected by the
+ * choice of <tt>BoundaryNodeRule</tt>, depending on the exact nature of the pattern.
+ * For instance, {@link IntersectionMatrix#isIntersects()} is insensitive
+ * to the choice of <tt>BoundaryNodeRule</tt>,
+ * whereas {@link IntersectionMatrix#isTouches(int, int)} is affected by the rule chosen.
+ * <p>
+ * <b>Note:</b> custom Boundary Node Rules do not (currently)
+ * affect the results of other {@link Geometry} methods (such
+ * as {@link Geometry#getBoundary}. The results of
+ * these methods may not be consistent with the relationship computed by
+ * a custom Boundary Node Rule.
+ *
+ * @version 1.7
+ */
+public class RelateOp
+ extends GeometryGraphOperation
+{
+ /**
+ * Computes the {@link IntersectionMatrix} for the spatial relationship
+ * between two {@link Geometry}s, using the default (OGC SFS) Boundary Node Rule
+ *
+ * @param a a Geometry to test
+ * @param b a Geometry to test
+ * @return the IntersectionMatrix for the spatial relationship between the geometries
+ */
+ public static IntersectionMatrix relate(Geometry a, Geometry b)
+ {
+ RelateOp relOp = new RelateOp(a, b);
+ IntersectionMatrix im = relOp.getIntersectionMatrix();
+ return im;
+ }
+
+ /**
+ * Computes the {@link IntersectionMatrix} for the spatial relationship
+ * between two {@link Geometry}s using a specified Boundary Node Rule.
+ *
+ * @param a a Geometry to test
+ * @param b a Geometry to test
+ * @param boundaryNodeRule the Boundary Node Rule to use
+ * @return the IntersectionMatrix for the spatial relationship between the input geometries
+ */
+ public static IntersectionMatrix relate(Geometry a, Geometry b, BoundaryNodeRule boundaryNodeRule)
+ {
+ RelateOp relOp = new RelateOp(a, b, boundaryNodeRule);
+ IntersectionMatrix im = relOp.getIntersectionMatrix();
+ return im;
+ }
+
+ private RelateComputer relate;
+
+ /**
+ * Creates a new Relate operation, using the default (OGC SFS) Boundary Node Rule.
+ *
+ * @param g0 a Geometry to relate
+ * @param g1 another Geometry to relate
+ */
+ public RelateOp(Geometry g0, Geometry g1)
+ {
+ super(g0, g1);
+ relate = new RelateComputer(arg);
+ }
+
+ /**
+ * Creates a new Relate operation with a specified Boundary Node Rule.
+ *
+ * @param g0 a Geometry to relate
+ * @param g1 another Geometry to relate
+ * @param boundaryNodeRule the Boundary Node Rule to use
+ */
+ public RelateOp(Geometry g0, Geometry g1, BoundaryNodeRule boundaryNodeRule)
+ {
+ super(g0, g1, boundaryNodeRule);
+ relate = new RelateComputer(arg);
+ }
+
+ /**
+ * Gets the IntersectionMatrix for the spatial relationship
+ * between the input geometries.
+ *
+ * @return the IntersectionMatrix for the spatial relationship between the input geometries
+ */
+ public IntersectionMatrix getIntersectionMatrix()
+ {
+ return relate.computeIM();
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/relate/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/relate/package.html
new file mode 100644
index 0000000..e6d4c63
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/relate/package.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes to implement the computation of the spatial relationships of <CODE>Geometry</CODE>s.
+<P>
+The <code>relate</code> algorithm computes the <code>IntersectionMatrix</code> describing the
+relationship of two <code>Geometry</code>s. The algorithm for computing <code>relate</code>
+uses the intersection operations supported by topology graphs. Although the <code>relate</code>
+result depends on the resultant graph formed by the computed intersections, there is
+no need to explicitly compute the entire graph.
+It is sufficient to compute the local structure of the graph
+at each intersection node.
+<P>
+The algorithm to compute <code>relate</code> has the following steps:
+<UL>
+ <LI>Build topology graphs of the two input geometries. For each geometry
+ all self-intersection nodes are computed and added to the graph.
+ <LI>Compute nodes for all intersections between edges and nodes of the graphs.
+ <LI>Compute the labeling for the computed nodes by merging the labels from the input graphs.
+ <LI>Compute the labeling for isolated components of the graph (see below)
+ <LI>Compute the <code>IntersectionMatrix</code> from the labels on the nodes and edges.
+</UL>
+
+<H3>Labeling isolated components</H3>
+
+Isolated components are components (edges or nodes) of an input <code>Geometry</code> which
+do not contain any intersections with the other input <code>Geometry</code>. The
+topological relationship of these components to the other input <code>Geometry</code>
+must be computed in order to determine the complete labeling of the component. This can
+be done by testing whether the component lies in the interior or exterior of the other
+<code>Geometry</code>. If the other <code>Geometry</code> is 1-dimensional, the isolated
+component must lie in the exterior (since otherwise it would have an intersection with an
+edge of the <code>Geometry</code>). If the other <code>Geometry</code> is 2-dimensional,
+a Point-In-Polygon test can be used to determine whether the isolated component is in the
+interior or exterior.
+
+<h2>Package Specification</h2>
+
+<ul>
+ <li>Java Topology Suite Technical Specifications
+ <li><A HREF="http://www.opengis.org/techno/specs.htm">
+ OpenGIS Simple Features Specification for SQL</A>
+</ul>
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/union/CascadedPolygonUnion.java b/modules/core/src/main/java/org/locationtech/jts/operation/union/CascadedPolygonUnion.java
new file mode 100644
index 0000000..2b7239a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/union/CascadedPolygonUnion.java
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.union;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.util.GeometryCombiner;
+import org.locationtech.jts.geom.util.PolygonExtracter;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+/**
+ * Provides an efficient method of unioning a collection of
+ * {@link Polygonal} geometries.
+ * The geometries are indexed using a spatial index,
+ * and unioned recursively in index order.
+ * For geometries with a high degree of overlap,
+ * this has the effect of reducing the number of vertices
+ * early in the process, which increases speed
+ * and robustness.
+ * <p>
+ * This algorithm is faster and more robust than
+ * the simple iterated approach of
+ * repeatedly unioning each polygon to a result geometry.
+ * <p>
+ * The <tt>buffer(0)</tt> trick is sometimes faster, but can be less robust and
+ * can sometimes take a long time to complete.
+ * This is particularly the case where there is a high degree of overlap
+ * between the polygons. In this case, <tt>buffer(0)</tt> is forced to compute
+ * with <i>all</i> line segments from the outset,
+ * whereas cascading can eliminate many segments
+ * at each stage of processing.
+ * The best situation for using <tt>buffer(0)</tt> is the trivial case
+ * where there is <i>no</i> overlap between the input geometries.
+ * However, this case is likely rare in practice.
+ *
+ * @author Martin Davis
+ *
+ */
+public class CascadedPolygonUnion
+{
+ /**
+ * Computes the union of
+ * a collection of {@link Polygonal} {@link Geometry}s.
+ *
+ * @param polys a collection of {@link Polygonal} {@link Geometry}s
+ */
+ public static Geometry union(Collection polys)
+ {
+ CascadedPolygonUnion op = new CascadedPolygonUnion(polys);
+ return op.union();
+ }
+
+ private Collection inputPolys;
+ private GeometryFactory geomFactory = null;
+
+ /**
+ * Creates a new instance to union
+ * the given collection of {@link Geometry}s.
+ *
+ * @param polys a collection of {@link Polygonal} {@link Geometry}s
+ */
+ public CascadedPolygonUnion(Collection polys)
+ {
+ this.inputPolys = polys;
+ // guard against null input
+ if (inputPolys == null)
+ inputPolys = new ArrayList();
+ }
+
+ /**
+ * The effectiveness of the index is somewhat sensitive
+ * to the node capacity.
+ * Testing indicates that a smaller capacity is better.
+ * For an STRtree, 4 is probably a good number (since
+ * this produces 2x2 "squares").
+ */
+ private static final int STRTREE_NODE_CAPACITY = 4;
+
+ /**
+ * Computes the union of the input geometries.
+ * <p>
+ * This method discards the input geometries as they are processed.
+ * In many input cases this reduces the memory retained
+ * as the operation proceeds.
+ * Optimal memory usage is achieved
+ * by disposing of the original input collection
+ * before calling this method.
+ *
+ * @return the union of the input geometries
+ * or null if no input geometries were provided
+ * @throws IllegalStateException if this method is called more than once
+ */
+ public Geometry union()
+ {
+ if (inputPolys == null)
+ throw new IllegalStateException("union() method cannot be called twice");
+ if (inputPolys.isEmpty())
+ return null;
+ geomFactory = ((Geometry) inputPolys.iterator().next()).getFactory();
+
+ /**
+ * A spatial index to organize the collection
+ * into groups of close geometries.
+ * This makes unioning more efficient, since vertices are more likely
+ * to be eliminated on each round.
+ */
+// STRtree index = new STRtree();
+ STRtree index = new STRtree(STRTREE_NODE_CAPACITY);
+ for (Iterator i = inputPolys.iterator(); i.hasNext(); ) {
+ Geometry item = (Geometry) i.next();
+ index.insert(item.getEnvelopeInternal(), item);
+ }
+ // To avoiding holding memory remove references to the input geometries,
+ inputPolys = null;
+
+ List itemTree = index.itemsTree();
+// printItemEnvelopes(itemTree);
+ Geometry unionAll = unionTree(itemTree);
+ return unionAll;
+ }
+
+ private Geometry unionTree(List geomTree)
+ {
+ /**
+ * Recursively unions all subtrees in the list into single geometries.
+ * The result is a list of Geometrys only
+ */
+ List geoms = reduceToGeometries(geomTree);
+// Geometry union = bufferUnion(geoms);
+ Geometry union = binaryUnion(geoms);
+
+ // print out union (allows visualizing hierarchy)
+// System.out.println(union);
+
+ return union;
+// return repeatedUnion(geoms);
+// return buffer0Union(geoms);
+
+ }
+
+ //========================================================
+ /*
+ * The following methods are for experimentation only
+ */
+
+ private Geometry repeatedUnion(List geoms)
+ {
+ Geometry union = null;
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ if (union == null)
+ union = g.copy();
+ else
+ union = union.union(g);
+ }
+ return union;
+ }
+
+ private Geometry bufferUnion(List geoms)
+ {
+ GeometryFactory factory = ((Geometry) geoms.get(0)).getFactory();
+ Geometry gColl = factory.buildGeometry(geoms);
+ Geometry unionAll = gColl.buffer(0.0);
+ return unionAll;
+ }
+
+ private Geometry bufferUnion(Geometry g0, Geometry g1)
+ {
+ GeometryFactory factory = g0.getFactory();
+ Geometry gColl = factory.createGeometryCollection(new Geometry[] { g0, g1 } );
+ Geometry unionAll = gColl.buffer(0.0);
+ return unionAll;
+ }
+
+ //=======================================
+
+ /**
+ * Unions a list of geometries
+ * by treating the list as a flattened binary tree,
+ * and performing a cascaded union on the tree.
+ */
+ private Geometry binaryUnion(List geoms)
+ {
+ return binaryUnion(geoms, 0, geoms.size());
+ }
+
+ /**
+ * Unions a section of a list using a recursive binary union on each half
+ * of the section.
+ *
+ * @param geoms the list of geometries containing the section to union
+ * @param start the start index of the section
+ * @param end the index after the end of the section
+ * @return the union of the list section
+ */
+ private Geometry binaryUnion(List geoms, int start, int end)
+ {
+ if (end - start <= 1) {
+ Geometry g0 = getGeometry(geoms, start);
+ return unionSafe(g0, null);
+ }
+ else if (end - start == 2) {
+ return unionSafe(getGeometry(geoms, start), getGeometry(geoms, start + 1));
+ }
+ else {
+ // recurse on both halves of the list
+ int mid = (end + start) / 2;
+ Geometry g0 = binaryUnion(geoms, start, mid);
+ Geometry g1 = binaryUnion(geoms, mid, end);
+ return unionSafe(g0, g1);
+ }
+ }
+
+ /**
+ * Gets the element at a given list index, or
+ * null if the index is out of range.
+ *
+ * @param list
+ * @param index
+ * @return the geometry at the given index
+ * or null if the index is out of range
+ */
+ private static Geometry getGeometry(List list, int index)
+ {
+ if (index >= list.size()) return null;
+ return (Geometry) list.get(index);
+ }
+
+ /**
+ * Reduces a tree of geometries to a list of geometries
+ * by recursively unioning the subtrees in the list.
+ *
+ * @param geomTree a tree-structured list of geometries
+ * @return a list of Geometrys
+ */
+ private List reduceToGeometries(List geomTree)
+ {
+ List geoms = new ArrayList();
+ for (Iterator i = geomTree.iterator(); i.hasNext(); ) {
+ Object o = i.next();
+ Geometry geom = null;
+ if (o instanceof List) {
+ geom = unionTree((List) o);
+ }
+ else if (o instanceof Geometry) {
+ geom = (Geometry) o;
+ }
+ geoms.add(geom);
+ }
+ return geoms;
+ }
+
+ /**
+ * Computes the union of two geometries,
+ * either or both of which may be null.
+ *
+ * @param g0 a Geometry
+ * @param g1 a Geometry
+ * @return the union of the input(s)
+ * or null if both inputs are null
+ */
+ private Geometry unionSafe(Geometry g0, Geometry g1)
+ {
+ if (g0 == null && g1 == null)
+ return null;
+
+ if (g0 == null)
+ return g1.copy();
+ if (g1 == null)
+ return g0.copy();
+
+ return unionOptimized(g0, g1);
+ }
+
+ private Geometry unionOptimized(Geometry g0, Geometry g1)
+ {
+ Envelope g0Env = g0.getEnvelopeInternal();
+ Envelope g1Env = g1.getEnvelopeInternal();
+ //*
+ if (! g0Env.intersects(g1Env))
+ {
+ Geometry combo = GeometryCombiner.combine(g0, g1);
+// System.out.println("Combined");
+// System.out.println(combo);
+ return combo;
+ }
+ //*/
+// System.out.println(g0.getNumGeometries() + ", " + g1.getNumGeometries());
+
+ if (g0.getNumGeometries() <= 1 && g1.getNumGeometries() <= 1)
+ return unionActual(g0, g1);
+
+ // for testing...
+// if (true) return g0.union(g1);
+
+ Envelope commonEnv = g0Env.intersection(g1Env);
+ return unionUsingEnvelopeIntersection(g0, g1, commonEnv);
+
+// return UnionInteracting.union(g0, g1);
+ }
+
+
+
+ /**
+ * Unions two polygonal geometries, restricting computation
+ * to the envelope intersection where possible.
+ * The case of MultiPolygons is optimized to union only
+ * the polygons which lie in the intersection of the two geometry's envelopes.
+ * Polygons outside this region can simply be combined with the union result,
+ * which is potentially much faster.
+ * This case is likely to occur often during cascaded union, and may also
+ * occur in real world data (such as unioning data for parcels on different street blocks).
+ *
+ * @param g0 a polygonal geometry
+ * @param g1 a polygonal geometry
+ * @param common the intersection of the envelopes of the inputs
+ * @return the union of the inputs
+ */
+ private Geometry unionUsingEnvelopeIntersection(Geometry g0, Geometry g1, Envelope common)
+ {
+ List disjointPolys = new ArrayList();
+
+ Geometry g0Int = extractByEnvelope(common, g0, disjointPolys);
+ Geometry g1Int = extractByEnvelope(common, g1, disjointPolys);
+
+// System.out.println("# geoms in common: " + intersectingPolys.size());
+ Geometry union = unionActual(g0Int, g1Int);
+
+ disjointPolys.add(union);
+ Geometry overallUnion = GeometryCombiner.combine(disjointPolys);
+
+ return overallUnion;
+ }
+
+ private Geometry extractByEnvelope(Envelope env, Geometry geom,
+ List disjointGeoms)
+ {
+ List intersectingGeoms = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry elem = geom.getGeometryN(i);
+ if (elem.getEnvelopeInternal().intersects(env))
+ intersectingGeoms.add(elem);
+ else
+ disjointGeoms.add(elem);
+ }
+ return geomFactory.buildGeometry(intersectingGeoms);
+ }
+
+ /**
+ * Encapsulates the actual unioning of two polygonal geometries.
+ *
+ * @param g0
+ * @param g1
+ * @return
+ */
+ private Geometry unionActual(Geometry g0, Geometry g1)
+ {
+ /*
+ System.out.println(g0.getNumGeometries() + ", " + g1.getNumGeometries());
+
+ if (g0.getNumGeometries() > 5) {
+ System.out.println(g0);
+ System.out.println(g1);
+ }
+ */
+
+ //return bufferUnion(g0, g1);
+ return restrictToPolygons(g0.union(g1));
+ }
+
+ /**
+ * Computes a {@link Geometry} containing only {@link Polygonal} components.
+ * Extracts the {@link Polygon}s from the input
+ * and returns them as an appropriate {@link Polygonal} geometry.
+ * <p>
+ * If the input is already <tt>Polygonal</tt>, it is returned unchanged.
+ * <p>
+ * A particular use case is to filter out non-polygonal components
+ * returned from an overlay operation.
+ *
+ * @param g the geometry to filter
+ * @return a Polygonal geometry
+ */
+ private static Geometry restrictToPolygons(Geometry g)
+ {
+ if (g instanceof Polygonal) {
+ return g;
+ }
+ List polygons = PolygonExtracter.getPolygons(g);
+ if (polygons.size() == 1)
+ return (Polygon) polygons.get(0);
+ return g.getFactory().createMultiPolygon(GeometryFactory.toPolygonArray(polygons));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/union/PointGeometryUnion.java b/modules/core/src/main/java/org/locationtech/jts/operation/union/PointGeometryUnion.java
new file mode 100644
index 0000000..a78ec9f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/union/PointGeometryUnion.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Puntal;
+import org.locationtech.jts.geom.util.GeometryCombiner;
+
+/**
+ * Computes the union of a {@link Puntal} geometry with
+ * another arbitrary {@link Geometry}.
+ * Does not copy any component geometries.
+ *
+ * @author mbdavis
+ *
+ */
+public class PointGeometryUnion
+{
+ public static Geometry union(Puntal pointGeom, Geometry otherGeom)
+ {
+ PointGeometryUnion unioner = new PointGeometryUnion(pointGeom, otherGeom);
+ return unioner.union();
+ }
+
+ private Geometry pointGeom;
+ private Geometry otherGeom;
+ private GeometryFactory geomFact;
+
+ public PointGeometryUnion(Puntal pointGeom, Geometry otherGeom)
+ {
+ this.pointGeom = (Geometry) pointGeom;
+ this.otherGeom = otherGeom;
+ geomFact = otherGeom.getFactory();
+ }
+
+ public Geometry union()
+ {
+ PointLocator locater = new PointLocator();
+ // use a set to eliminate duplicates, as required for union
+ Set exteriorCoords = new TreeSet();
+
+ for (int i =0 ; i < pointGeom.getNumGeometries(); i++) {
+ Point point = (Point) pointGeom.getGeometryN(i);
+ Coordinate coord = point.getCoordinate();
+ int loc = locater.locate(coord, otherGeom);
+ if (loc == Location.EXTERIOR)
+ exteriorCoords.add(coord);
+ }
+
+ // if no points are in exterior, return the other geom
+ if (exteriorCoords.size() == 0)
+ return otherGeom;
+
+ // make a puntal geometry of appropriate size
+ Geometry ptComp = null;
+ Coordinate[] coords = CoordinateArrays.toCoordinateArray(exteriorCoords);
+ if (coords.length == 1) {
+ ptComp = geomFact.createPoint(coords[0]);
+ }
+ else {
+ ptComp = geomFact.createMultiPointFromCoords(coords);
+ }
+
+ // add point component to the other geometry
+ return GeometryCombiner.combine(ptComp, otherGeom);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/union/UnaryUnionOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/union/UnaryUnionOp.java
new file mode 100644
index 0000000..849dd68
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/union/UnaryUnionOp.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.union;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Puntal;
+import org.locationtech.jts.geom.util.GeometryExtracter;
+import org.locationtech.jts.operation.linemerge.LineMerger;
+import org.locationtech.jts.operation.overlay.OverlayOp;
+import org.locationtech.jts.operation.overlay.snap.SnapIfNeededOverlayOp;
+
+/**
+ * Unions a <code>Collection</code> of {@link Geometry}s or a single Geometry
+ * (which may be a {@link GeoometryCollection}) together.
+ * By using this special-purpose operation over a collection of geometries
+ * it is possible to take advantage of various optimizations to improve performance.
+ * Heterogeneous {@link GeometryCollection}s are fully supported.
+ * <p>
+ * The result obeys the following contract:
+ * <ul>
+ * <li>Unioning a set of {@link Polygon}s has the effect of
+ * merging the areas (i.e. the same effect as
+ * iteratively unioning all individual polygons together).
+ *
+ * <li>Unioning a set of {@link LineString}s has the effect of <b>noding</b>
+ * and <b>dissolving</b> the input linework.
+ * In this context "fully noded" means that there will be
+ * an endpoint or node in the result
+ * for every endpoint or line segment crossing in the input.
+ * "Dissolved" means that any duplicate (i.e. coincident) line segments or portions
+ * of line segments will be reduced to a single line segment in the result.
+ * This is consistent with the semantics of the
+ * {@link Geometry#union(Geometry)} operation.
+ * If <b>merged</b> linework is required, the {@link LineMerger} class can be used.
+ *
+ * <li>Unioning a set of {@link Point}s has the effect of merging
+ * all identical points (producing a set with no duplicates).
+ * </ul>
+ *
+ * <tt>UnaryUnion</tt> always operates on the individual components of MultiGeometries.
+ * So it is possible to use it to "clean" invalid self-intersecting MultiPolygons
+ * (although the polygon components must all still be individually valid.)
+ *
+ * @author mbdavis
+ *
+ */
+public class UnaryUnionOp
+{
+ /**
+ * Computes the geometric union of a {@link Collection}
+ * of {@link Geometry}s.
+ *
+ * @param geoms a collection of geometries
+ * @return the union of the geometries,
+ * or <code>null</code> if the input is empty
+ */
+ public static Geometry union(Collection geoms)
+ {
+ UnaryUnionOp op = new UnaryUnionOp(geoms);
+ return op.union();
+ }
+
+ /**
+ * Computes the geometric union of a {@link Collection}
+ * of {@link Geometry}s.
+ *
+ * If no input geometries were provided but a {@link GeometryFactory} was provided,
+ * an empty {@link GeometryCollection} is returned.
+ *
+ * @param geoms a collection of geometries
+ * @param geomFact the geometry factory to use if the collection is empty
+ * @return the union of the geometries,
+ * or an empty GEOMETRYCOLLECTION
+ */
+ public static Geometry union(Collection geoms, GeometryFactory geomFact)
+ {
+ UnaryUnionOp op = new UnaryUnionOp(geoms, geomFact);
+ return op.union();
+ }
+
+ /**
+ * Constructs a unary union operation for a {@link Geometry}
+ * (which may be a {@link GeometryCollection}).
+ *
+ * @param geom a geometry to union
+ * @return the union of the elements of the geometry
+ * or an empty GEOMETRYCOLLECTION
+ */
+ public static Geometry union(Geometry geom)
+ {
+ UnaryUnionOp op = new UnaryUnionOp(geom);
+ return op.union();
+ }
+
+ private List polygons = new ArrayList();
+ private List lines = new ArrayList();
+ private List points = new ArrayList();
+
+ private GeometryFactory geomFact = null;
+
+ /**
+ * Constructs a unary union operation for a {@link Collection}
+ * of {@link Geometry}s.
+ *
+ * @param geoms a collection of geometries
+ * @param geomFact the geometry factory to use if the collection is empty
+ */
+ public UnaryUnionOp(Collection geoms, GeometryFactory geomFact)
+ {
+ this.geomFact = geomFact;
+ extract(geoms);
+ }
+
+ /**
+ * Constructs a unary union operation for a {@link Collection}
+ * of {@link Geometry}s, using the {@link GeometryFactory}
+ * of the input geometries.
+ *
+ * @param geoms a collection of geometries
+ */
+ public UnaryUnionOp(Collection geoms)
+ {
+ extract(geoms);
+ }
+
+ /**
+ * Constructs a unary union operation for a {@link Geometry}
+ * (which may be a {@link GeometryCollection}).
+ * @param geom
+ */
+ public UnaryUnionOp(Geometry geom)
+ {
+ extract(geom);
+ }
+
+ private void extract(Collection geoms)
+ {
+ for (Iterator i = geoms.iterator(); i.hasNext();) {
+ Geometry geom = (Geometry) i.next();
+ extract(geom);
+ }
+ }
+
+ private void extract(Geometry geom)
+ {
+ if (geomFact == null)
+ geomFact = geom.getFactory();
+
+ /*
+ PolygonExtracter.getPolygons(geom, polygons);
+ LineStringExtracter.getLines(geom, lines);
+ PointExtracter.getPoints(geom, points);
+ */
+ GeometryExtracter.extract(geom, Polygon.class, polygons);
+ GeometryExtracter.extract(geom, LineString.class, lines);
+ GeometryExtracter.extract(geom, Point.class, points);
+ }
+
+ /**
+ * Gets the union of the input geometries.
+ * If no input geometries were provided but a {@link GeometryFactory} was provided,
+ * an empty {@link GeometryCollection} is returned.
+ * Otherwise, the return value is <code>null</code>.
+ *
+ * @return a Geometry containing the union,
+ * or an empty GEOMETRYCOLLECTION if no geometries were provided in the input,
+ * or <code>null</code> if no GeometryFactory was provided
+ */
+ public Geometry union()
+ {
+ if (geomFact == null) {
+ return null;
+ }
+
+ /**
+ * For points and lines, only a single union operation is
+ * required, since the OGC model allows self-intersecting
+ * MultiPoint and MultiLineStrings.
+ * This is not the case for polygons, so Cascaded Union is required.
+ */
+ Geometry unionPoints = null;
+ if (points.size() > 0) {
+ Geometry ptGeom = geomFact.buildGeometry(points);
+ unionPoints = unionNoOpt(ptGeom);
+ }
+
+ Geometry unionLines = null;
+ if (lines.size() > 0) {
+ Geometry lineGeom = geomFact.buildGeometry(lines);
+ unionLines = unionNoOpt(lineGeom);
+ }
+
+ Geometry unionPolygons = null;
+ if (polygons.size() > 0) {
+ unionPolygons = CascadedPolygonUnion.union(polygons);
+ }
+
+ /**
+ * Performing two unions is somewhat inefficient,
+ * but is mitigated by unioning lines and points first
+ */
+ Geometry unionLA = unionWithNull(unionLines, unionPolygons);
+ Geometry union = null;
+ if (unionPoints == null)
+ union = unionLA;
+ else if (unionLA == null)
+ union = unionPoints;
+ else
+ union = PointGeometryUnion.union((Puntal) unionPoints, unionLA);
+
+ if (union == null)
+ return geomFact.createGeometryCollection();
+
+ return union;
+ }
+
+ /**
+ * Computes the union of two geometries,
+ * either of both of which may be null.
+ *
+ * @param g0 a Geometry
+ * @param g1 a Geometry
+ * @return the union of the input(s)
+ * or null if both inputs are null
+ */
+ private Geometry unionWithNull(Geometry g0, Geometry g1)
+ {
+ if (g0 == null && g1 == null)
+ return null;
+
+ if (g1 == null)
+ return g0;
+ if (g0 == null)
+ return g1;
+
+ return g0.union(g1);
+ }
+
+ /**
+ * Computes a unary union with no extra optimization,
+ * and no short-circuiting.
+ * Due to the way the overlay operations
+ * are implemented, this is still efficient in the case of linear
+ * and puntal geometries.
+ * Uses robust version of overlay operation
+ * to ensure identical behaviour to the <tt>union(Geometry)</tt> operation.
+ *
+ * @param g0 a geometry
+ * @return the union of the input geometry
+ */
+ private Geometry unionNoOpt(Geometry g0)
+ {
+ Geometry empty = geomFact.createPoint();
+ return SnapIfNeededOverlayOp.overlayOp(g0, empty, OverlayOp.UNION);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/union/UnionInteracting.java b/modules/core/src/main/java/org/locationtech/jts/operation/union/UnionInteracting.java
new file mode 100644
index 0000000..25ff148
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/union/UnionInteracting.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.util.GeometryCombiner;
+
+
+/**
+ * Experimental code to union MultiPolygons
+ * with processing limited to the elements which actually interact.
+ *
+ * Not currently used, since it doesn't seem to offer much of a performance advantage.
+ *
+ * @author mbdavis
+ *
+ */
+public class UnionInteracting
+{
+ public static Geometry union(Geometry g0, Geometry g1)
+ {
+ UnionInteracting uue = new UnionInteracting(g0, g1);
+ return uue.union();
+ }
+
+
+ private GeometryFactory geomFactory;
+
+ private Geometry g0;
+ private Geometry g1;
+
+ private boolean[] interacts0;
+ private boolean[] interacts1;
+
+ public UnionInteracting(Geometry g0, Geometry g1)
+ {
+ this.g0 = g0;
+ this.g1 = g1;
+ geomFactory = g0.getFactory();
+ interacts0 = new boolean[g0.getNumGeometries()];
+ interacts1 = new boolean[g1.getNumGeometries()];
+ }
+
+ public Geometry union()
+ {
+ computeInteracting();
+
+ // check for all interacting or none interacting!
+
+ Geometry int0 = extractElements(g0, interacts0, true);
+ Geometry int1 = extractElements(g1, interacts1, true);
+
+// System.out.println(int0);
+// System.out.println(int1);
+
+ if (int0.isEmpty() || int1.isEmpty()) {
+ System.out.println("found empty!");
+// computeInteracting();
+ }
+// if (! int0.isValid()) {
+ //System.out.println(int0);
+ //throw new RuntimeException("invalid geom!");
+// }
+
+ Geometry union = int0.union(int1);
+ //Geometry union = bufferUnion(int0, int1);
+
+ Geometry disjoint0 = extractElements(g0, interacts0, false);
+ Geometry disjoint1 = extractElements(g1, interacts1, false);
+
+ Geometry overallUnion = GeometryCombiner.combine(union, disjoint0, disjoint1);
+
+ return overallUnion;
+
+ }
+
+ private Geometry bufferUnion(Geometry g0, Geometry g1)
+ {
+ GeometryFactory factory = g0.getFactory();
+ Geometry gColl = factory.createGeometryCollection(new Geometry[] { g0, g1 } );
+ Geometry unionAll = gColl.buffer(0.0);
+ return unionAll;
+ }
+
+ private void computeInteracting()
+ {
+ for (int i = 0; i < g0.getNumGeometries(); i++) {
+ Geometry elem = g0.getGeometryN(i);
+ interacts0[i] = computeInteracting(elem);
+ }
+ }
+
+ private boolean computeInteracting(Geometry elem0)
+ {
+ boolean interactsWithAny = false;
+ for (int i = 0; i < g1.getNumGeometries(); i++) {
+ Geometry elem1 = g1.getGeometryN(i);
+ boolean interacts = elem1.getEnvelopeInternal().intersects(elem0.getEnvelopeInternal());
+ if (interacts) interacts1[i] = true;
+ if (interacts)
+ interactsWithAny = true;
+ }
+ return interactsWithAny;
+ }
+
+ private Geometry extractElements(Geometry geom,
+ boolean[] interacts, boolean isInteracting)
+ {
+ List extractedGeoms = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry elem = geom.getGeometryN(i);
+ if (interacts[i] == isInteracting)
+ extractedGeoms.add(elem);
+ }
+ return geomFactory.buildGeometry(extractedGeoms);
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/union/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/union/package.html
new file mode 100644
index 0000000..a07bb16
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/union/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to perform efficent unioning of collections of geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConnectedInteriorTester.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConnectedInteriorTester.java
new file mode 100644
index 0000000..6ed3fa1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConnectedInteriorTester.java
@@ -0,0 +1,233 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geomgraph.DirectedEdge;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeRing;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.PlanarGraph;
+import org.locationtech.jts.geomgraph.Position;
+import org.locationtech.jts.operation.overlay.MaximalEdgeRing;
+import org.locationtech.jts.operation.overlay.OverlayNodeFactory;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * This class tests that the interior of an area {@link Geometry}
+ * ( {@link Polygon} or {@link MultiPolygon} )
+ * is connected.
+ * This can happen if:
+ * <ul>
+ * <li>a shell self-intersects
+ * <li>one or more holes form a connected chain touching a shell at two different points
+ * <li>one or more holes form a ring around a subset of the interior
+ * </ul>
+ * If a disconnected situation is found the location of the problem is recorded.
+ *
+ * @version 1.7
+ */
+public class ConnectedInteriorTester {
+
+ public static Coordinate findDifferentPoint(Coordinate[] coord, Coordinate pt)
+ {
+ for (int i = 0; i < coord.length; i++) {
+ if (! coord[i].equals(pt))
+ return coord[i];
+ }
+ return null;
+ }
+
+ private GeometryFactory geometryFactory = new GeometryFactory();
+
+ private GeometryGraph geomGraph;
+ // save a coordinate for any disconnected interior found
+ // the coordinate will be somewhere on the ring surrounding the disconnected interior
+ private Coordinate disconnectedRingcoord;
+
+ public ConnectedInteriorTester(GeometryGraph geomGraph)
+ {
+ this.geomGraph = geomGraph;
+ }
+
+ public Coordinate getCoordinate() { return disconnectedRingcoord; }
+
+ public boolean isInteriorsConnected()
+ {
+ // node the edges, in case holes touch the shell
+ List splitEdges = new ArrayList();
+ geomGraph.computeSplitEdges(splitEdges);
+
+ // form the edges into rings
+ PlanarGraph graph = new PlanarGraph(new OverlayNodeFactory());
+ graph.addEdges(splitEdges);
+ setInteriorEdgesInResult(graph);
+ graph.linkResultDirectedEdges();
+ List edgeRings = buildEdgeRings(graph.getEdgeEnds());
+
+ /**
+ * Mark all the edges for the edgeRings corresponding to the shells
+ * of the input polygons. Note only ONE ring gets marked for each shell.
+ */
+ visitShellInteriors(geomGraph.getGeometry(), graph);
+
+ /**
+ * If there are any unvisited shell edges
+ * (i.e. a ring which is not a hole and which has the interior
+ * of the parent area on the RHS)
+ * this means that one or more holes must have split the interior of the
+ * polygon into at least two pieces. The polygon is thus invalid.
+ */
+ return ! hasUnvisitedShellEdge(edgeRings);
+ }
+
+ private void setInteriorEdgesInResult(PlanarGraph graph)
+ {
+ for (Iterator it = graph.getEdgeEnds().iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ if (de.getLabel().getLocation(0, Position.RIGHT) == Location.INTERIOR) {
+ de.setInResult(true);
+ }
+ }
+ }
+
+ /**
+ * Form DirectedEdges in graph into Minimal EdgeRings.
+ * (Minimal Edgerings must be used, because only they are guaranteed to provide
+ * a correct isHole computation)
+ */
+ private List buildEdgeRings(Collection dirEdges)
+ {
+ List edgeRings = new ArrayList();
+ for (Iterator it = dirEdges.iterator(); it.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) it.next();
+ // if this edge has not yet been processed
+ if (de.isInResult()
+ && de.getEdgeRing() == null) {
+ MaximalEdgeRing er = new MaximalEdgeRing(de, geometryFactory);
+
+ er.linkDirectedEdgesForMinimalEdgeRings();
+ List minEdgeRings = er.buildMinimalRings();
+ edgeRings.addAll(minEdgeRings);
+ }
+ }
+ return edgeRings;
+ }
+
+ /**
+ * Mark all the edges for the edgeRings corresponding to the shells
+ * of the input polygons.
+ * Only ONE ring gets marked for each shell - if there are others which remain unmarked
+ * this indicates a disconnected interior.
+ */
+ private void visitShellInteriors(Geometry g, PlanarGraph graph)
+ {
+ if (g instanceof Polygon) {
+ Polygon p = (Polygon) g;
+ visitInteriorRing(p.getExteriorRing(), graph);
+ }
+ if (g instanceof MultiPolygon) {
+ MultiPolygon mp = (MultiPolygon) g;
+ for (int i = 0; i < mp.getNumGeometries(); i++) {
+ Polygon p = (Polygon) mp.getGeometryN(i);
+ visitInteriorRing(p.getExteriorRing(), graph);
+ }
+ }
+ }
+
+ private void visitInteriorRing(LineString ring, PlanarGraph graph)
+ {
+ Coordinate[] pts = ring.getCoordinates();
+ Coordinate pt0 = pts[0];
+ /**
+ * Find first point in coord list different to initial point.
+ * Need special check since the first point may be repeated.
+ */
+ Coordinate pt1 = findDifferentPoint(pts, pt0);
+ Edge e = graph.findEdgeInSameDirection(pt0, pt1);
+ DirectedEdge de = (DirectedEdge) graph.findEdgeEnd(e);
+ DirectedEdge intDe = null;
+ if (de.getLabel().getLocation(0, Position.RIGHT) == Location.INTERIOR) {
+ intDe = de;
+ }
+ else if (de.getSym().getLabel().getLocation(0, Position.RIGHT) == Location.INTERIOR) {
+ intDe = de.getSym();
+ }
+ Assert.isTrue(intDe != null, "unable to find dirEdge with Interior on RHS");
+
+ visitLinkedDirectedEdges(intDe);
+ }
+
+ protected void visitLinkedDirectedEdges(DirectedEdge start)
+ {
+ DirectedEdge startDe = start;
+ DirectedEdge de = start;
+ do {
+ Assert.isTrue(de != null, "found null Directed Edge");
+ de.setVisited(true);
+ de = de.getNext();
+ } while (de != startDe);
+ }
+
+ /**
+ * Check if any shell ring has an unvisited edge.
+ * A shell ring is a ring which is not a hole and which has the interior
+ * of the parent area on the RHS.
+ * (Note that there may be non-hole rings with the interior on the LHS,
+ * since the interior of holes will also be polygonized into CW rings
+ * by the linkAllDirectedEdges() step)
+ *
+ * @return true if there is an unvisited edge in a non-hole ring
+ */
+ private boolean hasUnvisitedShellEdge(List edgeRings)
+ {
+ for (int i = 0; i < edgeRings.size(); i++) {
+ EdgeRing er = (EdgeRing) edgeRings.get(i);
+ // don't check hole rings
+ if (er.isHole())
+ continue;
+ List edges = er.getEdges();
+ DirectedEdge de = (DirectedEdge) edges.get(0);
+ // don't check CW rings which are holes
+ // (MD - this check may now be irrelevant)
+ if (de.getLabel().getLocation(0, Position.RIGHT) != Location.INTERIOR) continue;
+
+ /**
+ * the edgeRing is CW ring which surrounds the INT of the area, so check all
+ * edges have been visited. If any are unvisited, this is a disconnected part of the interior
+ */
+ for (int j = 0; j < edges.size(); j++) {
+ de = (DirectedEdge) edges.get(j);
+//Debug.print("visted? "); Debug.println(de);
+ if (! de.isVisited()) {
+//Debug.print("not visited "); Debug.println(de);
+ disconnectedRingcoord = de.getCoordinate();
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConsistentAreaTester.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConsistentAreaTester.java
new file mode 100644
index 0000000..f7bb3cd
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/ConsistentAreaTester.java
@@ -0,0 +1,149 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.geomgraph.index.SegmentIntersector;
+import org.locationtech.jts.operation.relate.EdgeEndBundle;
+import org.locationtech.jts.operation.relate.RelateNode;
+import org.locationtech.jts.operation.relate.RelateNodeGraph;
+
+/**
+ * Checks that a {@link GeometryGraph} representing an area
+ * (a {@link Polygon} or {@link MultiPolygon} )
+ * has consistent semantics for area geometries.
+ * This check is required for any reasonable polygonal model
+ * (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
+ * <p>
+ * Checks include:
+ * <ul>
+ * <li>test for rings which properly intersect
+ * (but not for ring self-intersection, or intersections at vertices)
+ * <li>test for consistent labelling at all node points
+ * (this detects vertex intersections with invalid topology,
+ * i.e. where the exterior side of an edge lies in the interior of the area)
+ * <li>test for duplicate rings
+ * </ul>
+ * If an inconsistency is found the location of the problem
+ * is recorded and is available to the caller.
+ *
+ * @version 1.7
+ */
+public class ConsistentAreaTester {
+
+ private final LineIntersector li = new RobustLineIntersector();
+ private GeometryGraph geomGraph;
+ private RelateNodeGraph nodeGraph = new RelateNodeGraph();
+
+ // the intersection point found (if any)
+ private Coordinate invalidPoint;
+
+ /**
+ * Creates a new tester for consistent areas.
+ *
+ * @param geomGraph the topology graph of the area geometry
+ */
+ public ConsistentAreaTester(GeometryGraph geomGraph)
+ {
+ this.geomGraph = geomGraph;
+ }
+
+ /**
+ * @return the intersection point, or <code>null</code> if none was found
+ */
+ public Coordinate getInvalidPoint() { return invalidPoint; }
+
+ /**
+ * Check all nodes to see if their labels are consistent with area topology.
+ *
+ * @return <code>true</code> if this area has a consistent node labelling
+ */
+ public boolean isNodeConsistentArea()
+ {
+ /**
+ * To fully check validity, it is necessary to
+ * compute ALL intersections, including self-intersections within a single edge.
+ */
+ SegmentIntersector intersector = geomGraph.computeSelfNodes(li, true, true);
+ /**
+ * A proper intersection means that the area is not consistent.
+ */
+ if (intersector.hasProperIntersection()) {
+ invalidPoint = intersector.getProperIntersectionPoint();
+ return false;
+ }
+
+ nodeGraph.build(geomGraph);
+
+ return isNodeEdgeAreaLabelsConsistent();
+ }
+
+ /**
+ * Check all nodes to see if their labels are consistent.
+ * If any are not, return false
+ *
+ * @return <code>true</code> if the edge area labels are consistent at this node
+ */
+ private boolean isNodeEdgeAreaLabelsConsistent()
+ {
+ for (Iterator nodeIt = nodeGraph.getNodeIterator(); nodeIt.hasNext(); ) {
+ RelateNode node = (RelateNode) nodeIt.next();
+ if (! node.getEdges().isAreaLabelsConsistent(geomGraph)) {
+ invalidPoint = node.getCoordinate().copy();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Checks for two duplicate rings in an area.
+ * Duplicate rings are rings that are topologically equal
+ * (that is, which have the same sequence of points up to point order).
+ * If the area is topologically consistent (determined by calling the
+ * <code>isNodeConsistentArea</code>,
+ * duplicate rings can be found by checking for EdgeBundles which contain
+ * more than one EdgeEnd.
+ * (This is because topologically consistent areas cannot have two rings sharing
+ * the same line segment, unless the rings are equal).
+ * The start point of one of the equal rings will be placed in
+ * invalidPoint.
+ *
+ * @return true if this area Geometry is topologically consistent but has two duplicate rings
+ */
+ public boolean hasDuplicateRings()
+ {
+ for (Iterator nodeIt = nodeGraph.getNodeIterator(); nodeIt.hasNext(); ) {
+ RelateNode node = (RelateNode) nodeIt.next();
+ for (Iterator i = node.getEdges().iterator(); i.hasNext(); ) {
+ EdgeEndBundle eeb = (EdgeEndBundle) i.next();
+ if (eeb.getEdgeEnds().size() > 1) {
+ invalidPoint = eeb.getEdge().getCoordinate(0);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/IndexedNestedRingTester.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/IndexedNestedRingTester.java
new file mode 100644
index 0000000..bffa97a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/IndexedNestedRingTester.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.strtree.STRtree;
+
+/**
+ * Tests whether any of a set of {@link LinearRing}s are
+ * nested inside another ring in the set, using a spatial
+ * index to speed up the comparisons.
+ *
+ * @version 1.7
+ */
+public class IndexedNestedRingTester
+{
+ private GeometryGraph graph; // used to find non-node vertices
+ private List rings = new ArrayList();
+ private Envelope totalEnv = new Envelope();
+ private SpatialIndex index;
+ private Coordinate nestedPt;
+
+ public IndexedNestedRingTester(GeometryGraph graph)
+ {
+ this.graph = graph;
+ }
+
+ public Coordinate getNestedPoint() { return nestedPt; }
+
+ public void add(LinearRing ring)
+ {
+ rings.add(ring);
+ totalEnv.expandToInclude(ring.getEnvelopeInternal());
+ }
+
+ public boolean isNonNested()
+ {
+ buildIndex();
+
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing innerRing = (LinearRing) rings.get(i);
+ Coordinate[] innerRingPts = innerRing.getCoordinates();
+
+ List results = index.query(innerRing.getEnvelopeInternal());
+//System.out.println(results.size());
+ for (int j = 0; j < results.size(); j++) {
+ LinearRing searchRing = (LinearRing) results.get(j);
+ Coordinate[] searchRingPts = searchRing.getCoordinates();
+
+ if (innerRing == searchRing)
+ continue;
+
+ if (! innerRing.getEnvelopeInternal().intersects(searchRing.getEnvelopeInternal()))
+ continue;
+
+ Coordinate innerRingPt = IsValidOp.findPtNotNode(innerRingPts, searchRing, graph);
+
+ /**
+ * If no non-node pts can be found, this means
+ * that the searchRing touches ALL of the innerRing vertices.
+ * This indicates an invalid polygon, since either
+ * the two holes create a disconnected interior,
+ * or they touch in an infinite number of points
+ * (i.e. along a line segment).
+ * Both of these cases are caught by other tests,
+ * so it is safe to simply skip this situation here.
+ */
+ if (innerRingPt == null)
+ continue;
+
+ boolean isInside = PointLocation.isInRing(innerRingPt, searchRingPts);
+ if (isInside) {
+ nestedPt = innerRingPt;
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ private void buildIndex()
+ {
+ index = new STRtree();
+
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing ring = (LinearRing) rings.get(i);
+ Envelope env = ring.getEnvelopeInternal();
+ index.insert(env, ring);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/IsValidOp.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/IsValidOp.java
new file mode 100644
index 0000000..ee1a2ef
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/IsValidOp.java
@@ -0,0 +1,618 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geomgraph.Edge;
+import org.locationtech.jts.geomgraph.EdgeIntersection;
+import org.locationtech.jts.geomgraph.EdgeIntersectionList;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Implements the algorithms required to compute the <code>isValid()</code> method
+ * for {@link Geometry}s.
+ * See the documentation for the various geometry types for a specification of validity.
+ *
+ * @version 1.7
+ */
+public class IsValidOp
+{
+ /**
+ * Tests whether a {@link Geometry} is valid.
+ * @param geom the Geometry to test
+ * @return true if the geometry is valid
+ */
+ public static boolean isValid(Geometry geom)
+ {
+ IsValidOp isValidOp = new IsValidOp(geom);
+ return isValidOp.isValid();
+ }
+
+ /**
+ * Checks whether a coordinate is valid for processing.
+ * Coordinates are valid iff their x and y ordinates are in the
+ * range of the floating point representation.
+ *
+ * @param coord the coordinate to validate
+ * @return <code>true</code> if the coordinate is valid
+ */
+ public static boolean isValid(Coordinate coord)
+ {
+ if (Double.isNaN(coord.x)) return false;
+ if (Double.isInfinite(coord.x)) return false;
+ if (Double.isNaN(coord.y)) return false;
+ if (Double.isInfinite(coord.y)) return false;
+ return true;
+ }
+ /**
+ * Find a point from the list of testCoords
+ * that is NOT a node in the edge for the list of searchCoords
+ *
+ * @return the point found, or <code>null</code> if none found
+ */
+ public static Coordinate findPtNotNode(
+ Coordinate[] testCoords,
+ LinearRing searchRing,
+ GeometryGraph graph)
+ {
+ // find edge corresponding to searchRing.
+ Edge searchEdge = graph.findEdge(searchRing);
+ // find a point in the testCoords which is not a node of the searchRing
+ EdgeIntersectionList eiList = searchEdge.getEdgeIntersectionList();
+ // somewhat inefficient - is there a better way? (Use a node map, for instance?)
+ for (int i = 0 ; i < testCoords.length; i++) {
+ Coordinate pt = testCoords[i];
+ if (! eiList.isIntersection(pt))
+ return pt;
+ }
+ return null;
+ }
+
+ private Geometry parentGeometry; // the base Geometry to be validated
+ /**
+ * If the following condition is TRUE JTS will validate inverted shells and exverted holes
+ * (the ESRI SDE model)
+ */
+ private boolean isSelfTouchingRingFormingHoleValid = false;
+ private TopologyValidationError validErr;
+
+ public IsValidOp(Geometry parentGeometry)
+ {
+ this.parentGeometry = parentGeometry;
+ }
+
+ /**
+ * Sets whether polygons using <b>Self-Touching Rings</b> to form
+ * holes are reported as valid.
+ * If this flag is set, the following Self-Touching conditions
+ * are treated as being valid:
+ * <ul>
+ * <li>the shell ring self-touches to create a hole touching the shell
+ * <li>a hole ring self-touches to create two holes touching at a point
+ * </ul>
+ * <p>
+ * The default (following the OGC SFS standard)
+ * is that this condition is <b>not</b> valid (<code>false</code>).
+ * <p>
+ * This does not affect whether Self-Touching Rings
+ * disconnecting the polygon interior are considered valid
+ * (these are considered to be <b>invalid</b> under the SFS, and many other
+ * spatial models as well).
+ * This includes "bow-tie" shells,
+ * which self-touch at a single point causing the interior to
+ * be disconnected,
+ * and "C-shaped" holes which self-touch at a single point causing an island to be formed.
+ *
+ * @param isValid states whether geometry with this condition is valid
+ */
+ public void setSelfTouchingRingFormingHoleValid(boolean isValid)
+ {
+ isSelfTouchingRingFormingHoleValid = isValid;
+ }
+
+ /**
+ * Computes the validity of the geometry,
+ * and returns <tt>true</tt> if it is valid.
+ *
+ * @return true if the geometry is valid
+ */
+ public boolean isValid()
+ {
+ checkValid(parentGeometry);
+ return validErr == null;
+ }
+
+ /**
+ * Computes the validity of the geometry,
+ * and if not valid returns the validation error for the geometry,
+ * or null if the geometry is valid.
+ *
+ * @return the validation error, if the geometry is invalid
+ * or null if the geometry is valid
+ */
+ public TopologyValidationError getValidationError()
+ {
+ checkValid(parentGeometry);
+ return validErr;
+ }
+
+ private void checkValid(Geometry g)
+ {
+ validErr = null;
+
+ // empty geometries are always valid!
+ if (g.isEmpty()) return;
+
+ if (g instanceof Point) checkValid((Point) g);
+ else if (g instanceof MultiPoint) checkValid((MultiPoint) g);
+ // LineString also handles LinearRings
+ else if (g instanceof LinearRing) checkValid( (LinearRing) g);
+ else if (g instanceof LineString) checkValid( (LineString) g);
+ else if (g instanceof Polygon) checkValid( (Polygon) g);
+ else if (g instanceof MultiPolygon) checkValid( (MultiPolygon) g);
+ else if (g instanceof GeometryCollection) checkValid( (GeometryCollection) g);
+ else throw new UnsupportedOperationException(g.getClass().getName());
+ }
+
+ /**
+ * Checks validity of a Point.
+ */
+ private void checkValid(Point g)
+ {
+ checkInvalidCoordinates(g.getCoordinates());
+ }
+ /**
+ * Checks validity of a MultiPoint.
+ */
+ private void checkValid(MultiPoint g)
+ {
+ checkInvalidCoordinates(g.getCoordinates());
+ }
+
+ /**
+ * Checks validity of a LineString. Almost anything goes for linestrings!
+ */
+ private void checkValid(LineString g)
+ {
+ checkInvalidCoordinates(g.getCoordinates());
+ if (validErr != null) return;
+ GeometryGraph graph = new GeometryGraph(0, g);
+ checkTooFewPoints(graph);
+ }
+ /**
+ * Checks validity of a LinearRing.
+ */
+ private void checkValid(LinearRing g)
+ {
+ checkInvalidCoordinates(g.getCoordinates());
+ if (validErr != null) return;
+ checkClosedRing(g);
+ if (validErr != null) return;
+
+ GeometryGraph graph = new GeometryGraph(0, g);
+ checkTooFewPoints(graph);
+ if (validErr != null) return;
+
+ LineIntersector li = new RobustLineIntersector();
+ graph.computeSelfNodes(li, true, true);
+ checkNoSelfIntersectingRings(graph);
+ }
+
+ /**
+ * Checks the validity of a polygon.
+ * Sets the validErr flag.
+ */
+ private void checkValid(Polygon g)
+ {
+ checkInvalidCoordinates(g);
+ if (validErr != null) return;
+ checkClosedRings(g);
+ if (validErr != null) return;
+
+ GeometryGraph graph = new GeometryGraph(0, g);
+
+ checkTooFewPoints(graph);
+ if (validErr != null) return;
+ checkConsistentArea(graph);
+ if (validErr != null) return;
+
+ if (! isSelfTouchingRingFormingHoleValid) {
+ checkNoSelfIntersectingRings(graph);
+ if (validErr != null) return;
+ }
+ checkHolesInShell(g, graph);
+ if (validErr != null) return;
+ //SLOWcheckHolesNotNested(g);
+ checkHolesNotNested(g, graph);
+ if (validErr != null) return;
+ checkConnectedInteriors(graph);
+ }
+
+ private void checkValid(MultiPolygon g)
+ {
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Polygon p = (Polygon) g.getGeometryN(i);
+ checkInvalidCoordinates(p);
+ if (validErr != null) return;
+ checkClosedRings(p);
+ if (validErr != null) return;
+ }
+
+ GeometryGraph graph = new GeometryGraph(0, g);
+
+ checkTooFewPoints(graph);
+ if (validErr != null) return;
+ checkConsistentArea(graph);
+ if (validErr != null) return;
+ if (! isSelfTouchingRingFormingHoleValid) {
+ checkNoSelfIntersectingRings(graph);
+ if (validErr != null) return;
+ }
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Polygon p = (Polygon) g.getGeometryN(i);
+ checkHolesInShell(p, graph);
+ if (validErr != null) return;
+ }
+ for (int i = 0; i < g.getNumGeometries(); i++) {
+ Polygon p = (Polygon) g.getGeometryN(i);
+ checkHolesNotNested(p, graph);
+ if (validErr != null) return;
+ }
+ checkShellsNotNested(g, graph);
+ if (validErr != null) return;
+ checkConnectedInteriors(graph);
+ }
+
+ private void checkValid(GeometryCollection gc)
+ {
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ checkValid(g);
+ if (validErr != null) return;
+ }
+ }
+
+ private void checkInvalidCoordinates(Coordinate[] coords)
+ {
+ for (int i = 0; i < coords.length; i++) {
+ if (! isValid(coords[i])) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.INVALID_COORDINATE,
+ coords[i]);
+ return;
+ }
+ }
+ }
+
+ private void checkInvalidCoordinates(Polygon poly)
+ {
+ checkInvalidCoordinates(poly.getExteriorRing().getCoordinates());
+ if (validErr != null) return;
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ checkInvalidCoordinates(poly.getInteriorRingN(i).getCoordinates());
+ if (validErr != null) return;
+ }
+ }
+
+ private void checkClosedRings(Polygon poly)
+ {
+ checkClosedRing((LinearRing) poly.getExteriorRing());
+ if (validErr != null) return;
+ for (int i = 0; i < poly.getNumInteriorRing(); i++) {
+ checkClosedRing((LinearRing) poly.getInteriorRingN(i));
+ if (validErr != null) return;
+ }
+ }
+
+ private void checkClosedRing(LinearRing ring)
+ {
+ if (! ring.isClosed() ) {
+ Coordinate pt = null;
+ if (ring.getNumPoints() >= 1)
+ pt = ring.getCoordinateN(0);
+ validErr = new TopologyValidationError(
+ TopologyValidationError.RING_NOT_CLOSED,
+ pt);
+ }
+ }
+
+ private void checkTooFewPoints(GeometryGraph graph)
+ {
+ if (graph.hasTooFewPoints()) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.TOO_FEW_POINTS,
+ graph.getInvalidPoint());
+ return;
+ }
+ }
+
+ /**
+ * Checks that the arrangement of edges in a polygonal geometry graph
+ * forms a consistent area.
+ *
+ * @param graph
+ *
+ * @see ConsistentAreaTester
+ */
+ private void checkConsistentArea(GeometryGraph graph)
+ {
+ ConsistentAreaTester cat = new ConsistentAreaTester(graph);
+ boolean isValidArea = cat.isNodeConsistentArea();
+ if (! isValidArea) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.SELF_INTERSECTION,
+ cat.getInvalidPoint());
+ return;
+ }
+ if (cat.hasDuplicateRings()) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.DUPLICATE_RINGS,
+ cat.getInvalidPoint());
+ }
+ }
+
+ /**
+ * Check that there is no ring which self-intersects (except of course at its endpoints).
+ * This is required by OGC topology rules (but not by other models
+ * such as ESRI SDE, which allow inverted shells and exverted holes).
+ *
+ * @param graph the topology graph of the geometry
+ */
+ private void checkNoSelfIntersectingRings(GeometryGraph graph)
+ {
+ for (Iterator i = graph.getEdgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ checkNoSelfIntersectingRing(e.getEdgeIntersectionList());
+ if (validErr != null)
+ return;
+ }
+ }
+
+ /**
+ * Check that a ring does not self-intersect, except at its endpoints.
+ * Algorithm is to count the number of times each node along edge occurs.
+ * If any occur more than once, that must be a self-intersection.
+ */
+ private void checkNoSelfIntersectingRing(EdgeIntersectionList eiList)
+ {
+ Set nodeSet = new TreeSet();
+ boolean isFirst = true;
+ for (Iterator i = eiList.iterator(); i.hasNext(); ) {
+ EdgeIntersection ei = (EdgeIntersection) i.next();
+ if (isFirst) {
+ isFirst = false;
+ continue;
+ }
+ if (nodeSet.contains(ei.coord)) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.RING_SELF_INTERSECTION,
+ ei.coord);
+ return;
+ }
+ else {
+ nodeSet.add(ei.coord);
+ }
+ }
+ }
+
+ /**
+ * Tests that each hole is inside the polygon shell.
+ * This routine assumes that the holes have previously been tested
+ * to ensure that all vertices lie on the shell or on the same side of it
+ * (i.e. that the hole rings do not cross the shell ring).
+ * In other words, this test is only correct if the ConsistentArea test is passed first.
+ * Given this, a simple point-in-polygon test of a single point in the hole can be used,
+ * provided the point is chosen such that it does not lie on the shell.
+ *
+ * @param p the polygon to be tested for hole inclusion
+ * @param graph a GeometryGraph incorporating the polygon
+ */
+ private void checkHolesInShell(Polygon p, GeometryGraph graph)
+ {
+ LinearRing shell = (LinearRing) p.getExteriorRing();
+
+ //PointInRing pir = new SimplePointInRing(shell);
+ //PointInRing pir = new SIRtreePointInRing(shell);
+ //PointInRing pir = new MCPointInRing(shell);
+ PointOnGeometryLocator pir = new IndexedPointInAreaLocator(shell);
+
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+
+ LinearRing hole = (LinearRing) p.getInteriorRingN(i);
+ Coordinate holePt = findPtNotNode(hole.getCoordinates(), shell, graph);
+ /**
+ * If no non-node hole vertex can be found, the hole must
+ * split the polygon into disconnected interiors.
+ * This will be caught by a subsequent check.
+ */
+ if (holePt == null) return;
+
+ boolean outside = Location.EXTERIOR == pir.locate(holePt);
+ if ( outside ) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.HOLE_OUTSIDE_SHELL,
+ holePt);
+ return;
+ }
+ }
+ }
+
+ /**
+ * Tests that no hole is nested inside another hole.
+ * This routine assumes that the holes are disjoint.
+ * To ensure this, holes have previously been tested
+ * to ensure that:
+ * <ul>
+ * <li>they do not partially overlap
+ * (checked by <code>checkRelateConsistency</code>)
+ * <li>they are not identical
+ * (checked by <code>checkRelateConsistency</code>)
+ * </ul>
+ */
+ private void checkHolesNotNested(Polygon p, GeometryGraph graph)
+ {
+ IndexedNestedRingTester nestedTester = new IndexedNestedRingTester(graph);
+ //SimpleNestedRingTester nestedTester = new SimpleNestedRingTester(arg[0]);
+ //SweeplineNestedRingTester nestedTester = new SweeplineNestedRingTester(arg[0]);
+
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+ LinearRing innerHole = (LinearRing) p.getInteriorRingN(i);
+ nestedTester.add(innerHole);
+ }
+ boolean isNonNested = nestedTester.isNonNested();
+ if ( ! isNonNested ) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.NESTED_HOLES,
+ nestedTester.getNestedPoint());
+ }
+ }
+
+ /**
+ * Tests that no element polygon is wholly in the interior of another element polygon.
+ * <p>
+ * Preconditions:
+ * <ul>
+ * <li>shells do not partially overlap
+ * <li>shells do not touch along an edge
+ * <li>no duplicate rings exist
+ * </ul>
+ * This routine relies on the fact that while polygon shells may touch at one or
+ * more vertices, they cannot touch at ALL vertices.
+ */
+ private void checkShellsNotNested(MultiPolygon mp, GeometryGraph graph)
+ {
+ for (int i = 0; i < mp.getNumGeometries(); i++) {
+ Polygon p = (Polygon) mp.getGeometryN(i);
+ LinearRing shell = (LinearRing) p.getExteriorRing();
+ for (int j = 0; j < mp.getNumGeometries(); j++) {
+ if (i == j) continue;
+ Polygon p2 = (Polygon) mp.getGeometryN(j);
+ checkShellNotNested(shell, p2, graph);
+ if (validErr != null) return;
+ }
+ }
+ }
+
+ /**
+ * Check if a shell is incorrectly nested within a polygon. This is the case
+ * if the shell is inside the polygon shell, but not inside a polygon hole.
+ * (If the shell is inside a polygon hole, the nesting is valid.)
+ * <p>
+ * The algorithm used relies on the fact that the rings must be properly contained.
+ * E.g. they cannot partially overlap (this has been previously checked by
+ * <code>checkRelateConsistency</code> )
+ */
+ private void checkShellNotNested(LinearRing shell, Polygon p, GeometryGraph graph)
+ {
+ Coordinate[] shellPts = shell.getCoordinates();
+ // test if shell is inside polygon shell
+ LinearRing polyShell = (LinearRing) p.getExteriorRing();
+ Coordinate[] polyPts = polyShell.getCoordinates();
+ Coordinate shellPt = findPtNotNode(shellPts, polyShell, graph);
+ // if no point could be found, we can assume that the shell is outside the polygon
+ if (shellPt == null)
+ return;
+ boolean insidePolyShell = PointLocation.isInRing(shellPt, polyPts);
+ if (! insidePolyShell) return;
+
+ // if no holes, this is an error!
+ if (p.getNumInteriorRing() <= 0) {
+ validErr = new TopologyValidationError(
+ TopologyValidationError.NESTED_SHELLS,
+ shellPt);
+ return;
+ }
+
+ /**
+ * Check if the shell is inside one of the holes.
+ * This is the case if one of the calls to checkShellInsideHole
+ * returns a null coordinate.
+ * Otherwise, the shell is not properly contained in a hole, which is an error.
+ */
+ Coordinate badNestedPt = null;
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+ LinearRing hole = (LinearRing) p.getInteriorRingN(i);
+ badNestedPt = checkShellInsideHole(shell, hole, graph);
+ if (badNestedPt == null)
+ return;
+ }
+ validErr = new TopologyValidationError(
+ TopologyValidationError.NESTED_SHELLS,
+ badNestedPt);
+ }
+
+ /**
+ * This routine checks to see if a shell is properly contained in a hole.
+ * It assumes that the edges of the shell and hole do not
+ * properly intersect.
+ *
+ * @return <code>null</code> if the shell is properly contained, or
+ * a Coordinate which is not inside the hole if it is not
+ *
+ */
+ private Coordinate checkShellInsideHole(LinearRing shell, LinearRing hole, GeometryGraph graph)
+ {
+ Coordinate[] shellPts = shell.getCoordinates();
+ Coordinate[] holePts = hole.getCoordinates();
+ // TODO: improve performance of this - by sorting pointlists for instance?
+ Coordinate shellPt = findPtNotNode(shellPts, hole, graph);
+ // if point is on shell but not hole, check that the shell is inside the hole
+ if (shellPt != null) {
+ boolean insideHole = PointLocation.isInRing(shellPt, holePts);
+ if (! insideHole) {
+ return shellPt;
+ }
+ }
+ Coordinate holePt = findPtNotNode(holePts, shell, graph);
+ // if point is on hole but not shell, check that the hole is outside the shell
+ if (holePt != null) {
+ boolean insideShell = PointLocation.isInRing(holePt, shellPts);
+ if (insideShell) {
+ return holePt;
+ }
+ return null;
+ }
+ Assert.shouldNeverReachHere("points in shell and hole appear to be equal");
+ return null;
+ }
+
+ private void checkConnectedInteriors(GeometryGraph graph)
+ {
+ ConnectedInteriorTester cit = new ConnectedInteriorTester(graph);
+ if (! cit.isInteriorsConnected())
+ validErr = new TopologyValidationError(
+ TopologyValidationError.DISCONNECTED_INTERIOR,
+ cit.getCoordinate());
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/RepeatedPointTester.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/RepeatedPointTester.java
new file mode 100644
index 0000000..03eb71f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/RepeatedPointTester.java
@@ -0,0 +1,81 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+/**
+ * Implements the appropriate checks for repeated points
+ * (consecutive identical coordinates) as defined in the
+ * JTS spec.
+ *
+ * @version 1.7
+ */
+public class RepeatedPointTester {
+
+ // save the repeated coord found (if any)
+ private Coordinate repeatedCoord;
+
+ public RepeatedPointTester() {
+ }
+
+ public Coordinate getCoordinate() { return repeatedCoord; }
+
+ public boolean hasRepeatedPoint(Geometry g)
+ {
+ if (g.isEmpty()) return false;
+ if (g instanceof Point) return false;
+ else if (g instanceof MultiPoint) return false;
+ // LineString also handles LinearRings
+ else if (g instanceof LineString) return hasRepeatedPoint(((LineString) g).getCoordinates());
+ else if (g instanceof Polygon) return hasRepeatedPoint((Polygon) g);
+ else if (g instanceof GeometryCollection) return hasRepeatedPoint((GeometryCollection) g);
+ else throw new UnsupportedOperationException(g.getClass().getName());
+ }
+
+ public boolean hasRepeatedPoint(Coordinate[] coord)
+ {
+ for (int i = 1; i < coord.length; i++) {
+ if (coord[i - 1].equals(coord[i]) ) {
+ repeatedCoord = coord[i];
+ return true;
+ }
+ }
+ return false;
+ }
+ private boolean hasRepeatedPoint(Polygon p)
+ {
+ if (hasRepeatedPoint(p.getExteriorRing().getCoordinates())) return true;
+ for (int i = 0; i < p.getNumInteriorRing(); i++) {
+ if (hasRepeatedPoint(p.getInteriorRingN(i).getCoordinates())) return true;
+ }
+ return false;
+ }
+ private boolean hasRepeatedPoint(GeometryCollection gc)
+ {
+ for (int i = 0; i < gc.getNumGeometries(); i++) {
+ Geometry g = gc.getGeometryN(i);
+ if (hasRepeatedPoint(g)) return true;
+ }
+ return false;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/TopologyValidationError.java b/modules/core/src/main/java/org/locationtech/jts/operation/valid/TopologyValidationError.java
new file mode 100644
index 0000000..2744b99
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/TopologyValidationError.java
@@ -0,0 +1,173 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Contains information about the nature and location of a {@link Geometry}
+ * validation error
+ *
+ * @version 1.7
+ */
+public class TopologyValidationError {
+
+ /**
+ * Not used
+ * @deprecated
+ */
+ public static final int ERROR = 0;
+ /**
+ * No longer used - repeated points are considered valid as per the SFS
+ * @deprecated
+ */
+ public static final int REPEATED_POINT = 1;
+
+ /**
+ * Indicates that a hole of a polygon lies partially or completely in the exterior of the shell
+ */
+ public static final int HOLE_OUTSIDE_SHELL = 2;
+
+ /**
+ * Indicates that a hole lies in the interior of another hole in the same polygon
+ */
+ public static final int NESTED_HOLES = 3;
+
+ /**
+ * Indicates that the interior of a polygon is disjoint
+ * (often caused by set of contiguous holes splitting the polygon into two parts)
+ */
+ public static final int DISCONNECTED_INTERIOR = 4;
+
+ /**
+ * Indicates that two rings of a polygonal geometry intersect
+ */
+ public static final int SELF_INTERSECTION = 5;
+
+ /**
+ * Indicates that a ring self-intersects
+ */
+ public static final int RING_SELF_INTERSECTION = 6;
+
+ /**
+ * Indicates that a polygon component of a MultiPolygon lies inside another polygonal component
+ */
+ public static final int NESTED_SHELLS = 7;
+
+ /**
+ * Indicates that a polygonal geometry contains two rings which are identical
+ */
+ public static final int DUPLICATE_RINGS = 8;
+
+ /**
+ * Indicates that either
+ * <ul>
+ * <li>a LineString contains a single point
+ * <li>a LinearRing contains 2 or 3 points
+ * </ul>
+ */
+ public static final int TOO_FEW_POINTS = 9;
+
+ /**
+ * Indicates that the <code>X</code> or <code>Y</code> ordinate of
+ * a Coordinate is not a valid numeric value (e.g. {@link Double#NaN} )
+ */
+ public static final int INVALID_COORDINATE = 10;
+
+ /**
+ * Indicates that a ring is not correctly closed
+ * (the first and the last coordinate are different)
+ */
+ public static final int RING_NOT_CLOSED = 11;
+
+ /**
+ * Messages corresponding to error codes
+ */
+ public static final String[] errMsg = {
+ "Topology Validation Error",
+ "Repeated Point",
+ "Hole lies outside shell",
+ "Holes are nested",
+ "Interior is disconnected",
+ "Self-intersection",
+ "Ring Self-intersection",
+ "Nested shells",
+ "Duplicate Rings",
+ "Too few distinct points in geometry component",
+ "Invalid Coordinate",
+ "Ring is not closed"
+ };
+
+ private int errorType;
+ private Coordinate pt;
+
+ /**
+ * Creates a validation error with the given type and location
+ *
+ * @param errorType the type of the error
+ * @param pt the location of the error
+ */
+ public TopologyValidationError(int errorType, Coordinate pt)
+ {
+ this.errorType = errorType;
+ if (pt != null)
+ this.pt = pt.copy();
+ }
+
+ /**
+ * Creates a validation error of the given type with a null location
+ *
+ * @param errorType the type of the error
+ *
+ */
+ public TopologyValidationError(int errorType)
+ {
+ this(errorType, null);
+ }
+
+ /**
+ * Returns the location of this error (on the {@link Geometry} containing the error).
+ *
+ * @return a {@link Coordinate} on the input geometry
+ */
+ public Coordinate getCoordinate() { return pt; }
+
+ /**
+ * Gets the type of this error.
+ *
+ * @return the error type
+ */
+ public int getErrorType() { return errorType; }
+
+ /**
+ * Gets an error message describing this error.
+ * The error message does not describe the location of the error.
+ *
+ * @return the error message
+ */
+ public String getMessage() { return errMsg[errorType]; }
+
+ /**
+ * Gets a message describing the type and location of this error.
+ * @return the error message
+ */
+ public String toString()
+ {
+ String locStr = "";
+ if (pt != null)
+ locStr = " at or near point " + pt;
+ return getMessage() + locStr;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/operation/valid/package.html b/modules/core/src/main/java/org/locationtech/jts/operation/valid/package.html
new file mode 100644
index 0000000..1db5116
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/operation/valid/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for testing the validity of geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdge.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdge.java
new file mode 100644
index 0000000..6af766d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdge.java
@@ -0,0 +1,213 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.planargraph;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geomgraph.Quadrant;
+
+/**
+ * Represents a directed edge in a {@link PlanarGraph}. A DirectedEdge may or
+ * may not have a reference to a parent {@link Edge} (some applications of
+ * planar graphs may not require explicit Edge objects to be created). Usually
+ * a client using a <code>PlanarGraph</code> will subclass <code>DirectedEdge</code>
+ * to add its own application-specific data and methods.
+ *
+ * @version 1.7
+ */
+public class DirectedEdge
+ extends GraphComponent
+ implements Comparable
+{
+ /**
+ * Returns a List containing the parent Edge (possibly null) for each of the given
+ * DirectedEdges.
+ */
+ public static List toEdges(Collection dirEdges)
+ {
+ List edges = new ArrayList();
+ for (Iterator i = dirEdges.iterator(); i.hasNext(); ) {
+ edges.add( ((DirectedEdge) i.next()).parentEdge);
+ }
+ return edges;
+ }
+
+ protected Edge parentEdge;
+ protected Node from;
+ protected Node to;
+ protected Coordinate p0, p1;
+ protected DirectedEdge sym = null; // optional
+ protected boolean edgeDirection;
+ protected int quadrant;
+ protected double angle;
+
+ /**
+ * Constructs a DirectedEdge connecting the <code>from</code> node to the
+ * <code>to</code> node.
+ *
+ * @param directionPt
+ * specifies this DirectedEdge's direction vector
+ * (determined by the vector from the <code>from</code> node
+ * to <code>directionPt</code>)
+ * @param edgeDirection
+ * whether this DirectedEdge's direction is the same as or
+ * opposite to that of the parent Edge (if any)
+ */
+ public DirectedEdge(Node from, Node to, Coordinate directionPt, boolean edgeDirection)
+ {
+ this.from = from;
+ this.to = to;
+ this.edgeDirection = edgeDirection;
+ p0 = from.getCoordinate();
+ p1 = directionPt;
+ double dx = p1.x - p0.x;
+ double dy = p1.y - p0.y;
+ quadrant = Quadrant.quadrant(dx, dy);
+ angle = Math.atan2(dy, dx);
+ //Assert.isTrue(! (dx == 0 && dy == 0), "EdgeEnd with identical endpoints found");
+ }
+
+ /**
+ * Returns this DirectedEdge's parent Edge, or null if it has none.
+ */
+ public Edge getEdge() { return parentEdge; }
+ /**
+ * Associates this DirectedEdge with an Edge (possibly null, indicating no associated
+ * Edge).
+ */
+ public void setEdge(Edge parentEdge) { this.parentEdge = parentEdge; }
+ /**
+ * Returns 0, 1, 2, or 3, indicating the quadrant in which this DirectedEdge's
+ * orientation lies.
+ */
+ public int getQuadrant() { return quadrant; }
+ /**
+ * Returns a point to which an imaginary line is drawn from the from-node to
+ * specify this DirectedEdge's orientation.
+ */
+ public Coordinate getDirectionPt() { return p1; }
+ /**
+ * Returns whether the direction of the parent Edge (if any) is the same as that
+ * of this Directed Edge.
+ */
+ public boolean getEdgeDirection() { return edgeDirection; }
+ /**
+ * Returns the node from which this DirectedEdge leaves.
+ */
+ public Node getFromNode() { return from; }
+ /**
+ * Returns the node to which this DirectedEdge goes.
+ */
+ public Node getToNode() { return to; }
+ /**
+ * Returns the coordinate of the from-node.
+ */
+ public Coordinate getCoordinate() { return from.getCoordinate(); }
+ /**
+ * Returns the angle that the start of this DirectedEdge makes with the
+ * positive x-axis, in radians.
+ */
+ public double getAngle() { return angle; }
+ /**
+ * Returns the symmetric DirectedEdge -- the other DirectedEdge associated with
+ * this DirectedEdge's parent Edge.
+ */
+ public DirectedEdge getSym() { return sym; }
+ /**
+ * Sets this DirectedEdge's symmetric DirectedEdge, which runs in the opposite
+ * direction.
+ */
+ public void setSym(DirectedEdge sym) { this.sym = sym; }
+
+ /**
+ * Removes this directed edge from its containing graph.
+ */
+ void remove() {
+ this.sym = null;
+ this.parentEdge = null;
+ }
+
+ /**
+ * Tests whether this directed edge has been removed from its containing graph
+ *
+ * @return <code>true</code> if this directed edge is removed
+ */
+ public boolean isRemoved()
+ {
+ return parentEdge == null;
+ }
+
+ /**
+ * Returns 1 if this DirectedEdge has a greater angle with the
+ * positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise.
+ * <p>
+ * Using the obvious algorithm of simply computing the angle is not robust,
+ * since the angle calculation is susceptible to roundoff. A robust algorithm
+ * is:
+ * <ul>
+ * <li>first compare the quadrants. If the quadrants are different, it it
+ * trivial to determine which vector is "greater".
+ * <li>if the vectors lie in the same quadrant, the robust
+ * {@link Orientation#computeOrientation(Coordinate, Coordinate, Coordinate)}
+ * function can be used to decide the relative orientation of the vectors.
+ * </ul>
+ */
+ public int compareTo(Object obj)
+ {
+ DirectedEdge de = (DirectedEdge) obj;
+ return compareDirection(de);
+ }
+
+ /**
+ * Returns 1 if this DirectedEdge has a greater angle with the
+ * positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise.
+ * <p>
+ * Using the obvious algorithm of simply computing the angle is not robust,
+ * since the angle calculation is susceptible to roundoff. A robust algorithm
+ * is:
+ * <ul>
+ * <li>first compare the quadrants. If the quadrants are different, it it
+ * trivial to determine which vector is "greater".
+ * <li>if the vectors lie in the same quadrant, the robust
+ * {@link Orientation#computeOrientation(Coordinate, Coordinate, Coordinate)}
+ * function can be used to decide the relative orientation of the vectors.
+ * </ul>
+ */
+ public int compareDirection(DirectedEdge e)
+ {
+ // if the rays are in different quadrants, determining the ordering is trivial
+ if (quadrant > e.quadrant) return 1;
+ if (quadrant < e.quadrant) return -1;
+ // vectors are in the same quadrant - check relative orientation of direction vectors
+ // this is > e if it is CCW of e
+ return Orientation.index(e.p0, e.p1, p1);
+ }
+
+ /**
+ * Prints a detailed string representation of this DirectedEdge to the given PrintStream.
+ */
+ public void print(PrintStream out)
+ {
+ String className = getClass().getName();
+ int lastDotPos = className.lastIndexOf('.');
+ String name = className.substring(lastDotPos + 1);
+ out.print(" " + name + ": " + p0 + " - " + p1 + " " + quadrant + ":" + angle);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdgeStar.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdgeStar.java
new file mode 100644
index 0000000..bb90fb8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/DirectedEdgeStar.java
@@ -0,0 +1,163 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+
+package org.locationtech.jts.planargraph;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A sorted collection of {@link DirectedEdge}s which leave a {@link Node}
+ * in a {@link PlanarGraph}.
+ *
+ * @version 1.7
+ */
+public class DirectedEdgeStar
+{
+
+ /**
+ * The underlying list of outgoing DirectedEdges
+ */
+ protected List outEdges = new ArrayList();
+ private boolean sorted = false;
+
+ /**
+ * Constructs a DirectedEdgeStar with no edges.
+ */
+ public DirectedEdgeStar() {
+ }
+ /**
+ * Adds a new member to this DirectedEdgeStar.
+ */
+ public void add(DirectedEdge de)
+ {
+ outEdges.add(de);
+ sorted = false;
+ }
+ /**
+ * Drops a member of this DirectedEdgeStar.
+ */
+ public void remove(DirectedEdge de)
+ {
+ outEdges.remove(de);
+ }
+ /**
+ * Returns an Iterator over the DirectedEdges, in ascending order by angle with the positive x-axis.
+ */
+ public Iterator iterator()
+ {
+ sortEdges();
+ return outEdges.iterator();
+ }
+
+ /**
+ * Returns the number of edges around the Node associated with this DirectedEdgeStar.
+ */
+ public int getDegree() { return outEdges.size(); }
+
+ /**
+ * Returns the coordinate for the node at which this star is based
+ */
+ public Coordinate getCoordinate()
+ {
+ Iterator it = iterator();
+ if (! it.hasNext()) return null;
+ DirectedEdge e = (DirectedEdge) it.next();
+ return e.getCoordinate();
+ }
+
+ /**
+ * Returns the DirectedEdges, in ascending order by angle with the positive x-axis.
+ */
+ public List getEdges()
+ {
+ sortEdges();
+ return outEdges;
+ }
+
+ private void sortEdges()
+ {
+ if (! sorted) {
+ Collections.sort(outEdges);
+ sorted = true;
+ }
+ }
+ /**
+ * Returns the zero-based index of the given Edge, after sorting in ascending order
+ * by angle with the positive x-axis.
+ */
+ public int getIndex(Edge edge)
+ {
+ sortEdges();
+ for (int i = 0; i < outEdges.size(); i++) {
+ DirectedEdge de = (DirectedEdge) outEdges.get(i);
+ if (de.getEdge() == edge)
+ return i;
+ }
+ return -1;
+ }
+ /**
+ * Returns the zero-based index of the given DirectedEdge, after sorting in ascending order
+ * by angle with the positive x-axis.
+ */
+ public int getIndex(DirectedEdge dirEdge)
+ {
+ sortEdges();
+ for (int i = 0; i < outEdges.size(); i++) {
+ DirectedEdge de = (DirectedEdge) outEdges.get(i);
+ if (de == dirEdge)
+ return i;
+ }
+ return -1;
+ }
+ /**
+ * Returns value of i modulo the number of edges in this DirectedEdgeStar
+ * (i.e. the remainder when i is divided by the number of edges)
+ *
+ * @param i an integer (positive, negative or zero)
+ */
+ public int getIndex(int i)
+ {
+ int modi = i % outEdges.size();
+ //I don't think modi can be 0 (assuming i is positive) [Jon Aquino 10/28/2003]
+ if (modi < 0) modi += outEdges.size();
+ return modi;
+ }
+
+ /**
+ * Returns the {@link DirectedEdge} on the left-hand (CCW)
+ * side of the given {@link DirectedEdge}
+ * (which must be a member of this DirectedEdgeStar).
+ */
+ public DirectedEdge getNextEdge(DirectedEdge dirEdge)
+ {
+ int i = getIndex(dirEdge);
+ return (DirectedEdge) outEdges.get(getIndex(i + 1));
+ }
+
+ /**
+ * Returns the {@link DirectedEdge} on the right-hand (CW)
+ * side of the given {@link DirectedEdge}
+ * (which must be a member of this DirectedEdgeStar).
+ */
+ public DirectedEdge getNextCWEdge(DirectedEdge dirEdge)
+ {
+ int i = getIndex(dirEdge);
+ return (DirectedEdge) outEdges.get(getIndex(i - 1));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/Edge.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/Edge.java
new file mode 100644
index 0000000..fcacb4c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/Edge.java
@@ -0,0 +1,120 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.planargraph;
+
+/**
+ * Represents an undirected edge of a {@link PlanarGraph}. An undirected edge
+ * in fact simply acts as a central point of reference for two opposite
+ * {@link DirectedEdge}s.
+ * <p>
+ * Usually a client using a <code>PlanarGraph</code> will subclass <code>Edge</code>
+ * to add its own application-specific data and methods.
+ *
+ * @version 1.7
+ */
+public class Edge
+ extends GraphComponent
+{
+
+ /**
+ * The two DirectedEdges associated with this Edge.
+ * Index 0 is forward, 1 is reverse.
+ */
+ protected DirectedEdge[] dirEdge;
+
+ /**
+ * Constructs an Edge whose DirectedEdges are not yet set. Be sure to call
+ * {@link #setDirectedEdges(DirectedEdge, DirectedEdge)}
+ */
+ public Edge()
+ {
+ }
+
+ /**
+ * Constructs an Edge initialized with the given DirectedEdges, and for each
+ * DirectedEdge: sets the Edge, sets the symmetric DirectedEdge, and adds
+ * this Edge to its from-Node.
+ */
+ public Edge(DirectedEdge de0, DirectedEdge de1)
+ {
+ setDirectedEdges(de0, de1);
+ }
+
+ /**
+ * Initializes this Edge's two DirectedEdges, and for each DirectedEdge: sets the
+ * Edge, sets the symmetric DirectedEdge, and adds this Edge to its from-Node.
+ */
+ public void setDirectedEdges(DirectedEdge de0, DirectedEdge de1)
+ {
+ dirEdge = new DirectedEdge[] { de0, de1 };
+ de0.setEdge(this);
+ de1.setEdge(this);
+ de0.setSym(de1);
+ de1.setSym(de0);
+ de0.getFromNode().addOutEdge(de0);
+ de1.getFromNode().addOutEdge(de1);
+ }
+
+ /**
+ * Returns one of the DirectedEdges associated with this Edge.
+ * @param i 0 or 1. 0 returns the forward directed edge, 1 returns the reverse
+ */
+ public DirectedEdge getDirEdge(int i)
+ {
+ return dirEdge[i];
+ }
+
+ /**
+ * Returns the {@link DirectedEdge} that starts from the given node, or null if the
+ * node is not one of the two nodes associated with this Edge.
+ */
+ public DirectedEdge getDirEdge(Node fromNode)
+ {
+ if (dirEdge[0].getFromNode() == fromNode) return dirEdge[0];
+ if (dirEdge[1].getFromNode() == fromNode) return dirEdge[1];
+ // node not found
+ // possibly should throw an exception here?
+ return null;
+ }
+
+ /**
+ * If <code>node</code> is one of the two nodes associated with this Edge,
+ * returns the other node; otherwise returns null.
+ */
+ public Node getOppositeNode(Node node)
+ {
+ if (dirEdge[0].getFromNode() == node) return dirEdge[0].getToNode();
+ if (dirEdge[1].getFromNode() == node) return dirEdge[1].getToNode();
+ // node not found
+ // possibly should throw an exception here?
+ return null;
+ }
+
+ /**
+ * Removes this edge from its containing graph.
+ */
+ void remove() {
+ this.dirEdge = null;
+ }
+
+ /**
+ * Tests whether this edge has been removed from its containing graph
+ *
+ * @return <code>true</code> if this edge is removed
+ */
+ public boolean isRemoved()
+ {
+ return dirEdge == null;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/GraphComponent.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/GraphComponent.java
new file mode 100644
index 0000000..e045b4c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/GraphComponent.java
@@ -0,0 +1,151 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.planargraph;
+
+import java.util.Iterator;
+
+/**
+ * The base class for all graph component classes.
+ * Maintains flags of use in generic graph algorithms.
+ * Provides two flags:
+ * <ul>
+ * <li><b>marked</b> - typically this is used to indicate a state that persists
+ * for the course of the graph's lifetime. For instance, it can be
+ * used to indicate that a component has been logically deleted from the graph.
+ * <li><b>visited</b> - this is used to indicate that a component has been processed
+ * or visited by an single graph algorithm. For instance, a breadth-first traversal of the
+ * graph might use this to indicate that a node has already been traversed.
+ * The visited flag may be set and cleared many times during the lifetime of a graph.
+ * </ul>
+ *
+ * <p>
+ * Graph components support storing user context data. This will typically be
+ * used by client algorithms which use planar graphs.
+ *
+ * @version 1.7
+ */
+public abstract class GraphComponent
+{
+ /**
+ * Sets the Visited state for all {@link GraphComponent}s in an {@link Iterator}
+ *
+ * @param i the Iterator to scan
+ * @param visited the state to set the visited flag to
+ */
+ public static void setVisited(Iterator i, boolean visited)
+ {
+ while (i.hasNext()) {
+ GraphComponent comp = (GraphComponent) i.next();
+ comp.setVisited(visited);
+ }
+ }
+
+ /**
+ * Sets the Marked state for all {@link GraphComponent}s in an {@link Iterator}
+ *
+ * @param i the Iterator to scan
+ * @param marked the state to set the Marked flag to
+ */
+ public static void setMarked(Iterator i, boolean marked)
+ {
+ while (i.hasNext()) {
+ GraphComponent comp = (GraphComponent) i.next();
+ comp.setMarked(marked);
+ }
+ }
+
+ /**
+ * Finds the first {@link GraphComponent} in a {@link Iterator} set
+ * which has the specified visited state.
+ *
+ * @param i an Iterator of GraphComponents
+ * @param visitedState the visited state to test
+ * @return the first component found, or <code>null</code> if none found
+ */
+ public static GraphComponent getComponentWithVisitedState(Iterator i, boolean visitedState)
+ {
+ while (i.hasNext()) {
+ GraphComponent comp = (GraphComponent) i.next();
+ if (comp.isVisited() == visitedState)
+ return comp;
+ }
+ return null;
+ }
+
+ protected boolean isMarked = false;
+ protected boolean isVisited = false;
+ private Object data;
+
+ public GraphComponent() {
+ }
+
+ /**
+ * Tests if a component has been visited during the course of a graph algorithm
+ * @return <code>true</code> if the component has been visited
+ */
+ public boolean isVisited() { return isVisited; }
+
+ /**
+ * Sets the visited flag for this component.
+ * @param isVisited the desired value of the visited flag
+ */
+ public void setVisited(boolean isVisited) { this.isVisited = isVisited; }
+
+ /**
+ * Tests if a component has been marked at some point during the processing
+ * involving this graph.
+ * @return <code>true</code> if the component has been marked
+ */
+ public boolean isMarked() { return isMarked; }
+
+ /**
+ * Sets the marked flag for this component.
+ * @param isMarked the desired value of the marked flag
+ */
+ public void setMarked(boolean isMarked) { this.isMarked = isMarked; }
+
+ /**
+ * Sets the user-defined data for this component.
+ *
+ * @param data an Object containing user-defined data
+ */
+ public void setContext(Object data) { this.data = data; }
+
+ /**
+ * Gets the user-defined data for this component.
+ *
+ * @return the user-defined data
+ */
+ public Object getContext() { return data; }
+
+ /**
+ * Sets the user-defined data for this component.
+ *
+ * @param data an Object containing user-defined data
+ */
+ public void setData(Object data) { this.data = data; }
+
+ /**
+ * Gets the user-defined data for this component.
+ *
+ * @return the user-defined data
+ */
+ public Object getData() { return data; }
+
+ /**
+ * Tests whether this component has been removed from its containing graph
+ *
+ * @return <code>true</code> if this component is removed
+ */
+ public abstract boolean isRemoved();
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/Node.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/Node.java
new file mode 100644
index 0000000..378d7d6
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/Node.java
@@ -0,0 +1,128 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+
+package org.locationtech.jts.planargraph;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A node in a {@link PlanarGraph}is a location where 0 or more {@link Edge}s
+ * meet. A node is connected to each of its incident Edges via an outgoing
+ * DirectedEdge. Some clients using a <code>PlanarGraph</code> may want to
+ * subclass <code>Node</code> to add their own application-specific
+ * data and methods.
+ *
+ * @version 1.7
+ */
+public class Node
+ extends GraphComponent
+{
+ /**
+ * Returns all Edges that connect the two nodes (which are assumed to be different).
+ */
+ public static Collection getEdgesBetween(Node node0, Node node1)
+ {
+ List edges0 = DirectedEdge.toEdges(node0.getOutEdges().getEdges());
+ Set commonEdges = new HashSet(edges0);
+ List edges1 = DirectedEdge.toEdges(node1.getOutEdges().getEdges());
+ commonEdges.retainAll(edges1);
+ return commonEdges;
+ }
+
+ /** The location of this Node */
+ protected Coordinate pt;
+
+ /** The collection of DirectedEdges that leave this Node */
+ protected DirectedEdgeStar deStar;
+
+ /**
+ * Constructs a Node with the given location.
+ */
+ public Node(Coordinate pt)
+ {
+ this(pt, new DirectedEdgeStar());
+ }
+
+ /**
+ * Constructs a Node with the given location and collection of outgoing DirectedEdges.
+ */
+ public Node(Coordinate pt, DirectedEdgeStar deStar)
+ {
+ this.pt = pt;
+ this.deStar = deStar;
+ }
+
+ /**
+ * Returns the location of this Node.
+ */
+ public Coordinate getCoordinate() { return pt; }
+
+ /**
+ * Adds an outgoing DirectedEdge to this Node.
+ */
+ public void addOutEdge(DirectedEdge de)
+ {
+ deStar.add(de);
+ }
+
+ /**
+ * Returns the collection of DirectedEdges that leave this Node.
+ */
+ public DirectedEdgeStar getOutEdges() { return deStar; }
+ /**
+ * Returns the number of edges around this Node.
+ */
+ public int getDegree() { return deStar.getDegree(); }
+ /**
+ * Returns the zero-based index of the given Edge, after sorting in ascending order
+ * by angle with the positive x-axis.
+ */
+ public int getIndex(Edge edge)
+ {
+ return deStar.getIndex(edge);
+ }
+
+ /**
+ * Removes a {@link DirectedEdge} incident on this node.
+ * Does not change the state of the directed edge.
+ */
+ public void remove(DirectedEdge de)
+ {
+ deStar.remove(de);
+ }
+
+ /**
+ * Removes this node from its containing graph.
+ */
+ void remove() {
+ pt = null;
+ }
+
+
+ /**
+ * Tests whether this node has been removed from its containing graph
+ *
+ * @return <code>true</code> if this node is removed
+ */
+ public boolean isRemoved()
+ {
+ return pt == null;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/NodeMap.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/NodeMap.java
new file mode 100644
index 0000000..aa37778
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/NodeMap.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.planargraph;
+
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+
+
+/**
+ * A map of {@link Node}s, indexed by the coordinate of the node.
+ *
+ * @version 1.7
+ */
+public class NodeMap
+
+{
+
+ private Map nodeMap = new TreeMap();
+
+ /**
+ * Constructs a NodeMap without any Nodes.
+ */
+ public NodeMap() {
+ }
+
+ /**
+ * Adds a node to the map, replacing any that is already at that location.
+ * @return the added node
+ */
+ public Node add(Node n)
+ {
+ nodeMap.put(n.getCoordinate(), n);
+ return n;
+ }
+
+ /**
+ * Removes the Node at the given location, and returns it (or null if no Node was there).
+ */
+ public Node remove(Coordinate pt)
+ {
+ return (Node) nodeMap.remove(pt);
+ }
+
+ /**
+ * Returns the Node at the given location, or null if no Node was there.
+ */
+ public Node find(Coordinate coord) { return (Node) nodeMap.get(coord); }
+
+ /**
+ * Returns an Iterator over the Nodes in this NodeMap, sorted in ascending order
+ * by angle with the positive x-axis.
+ */
+ public Iterator iterator()
+ {
+ return nodeMap.values().iterator();
+ }
+ /**
+ * Returns the Nodes in this NodeMap, sorted in ascending order
+ * by angle with the positive x-axis.
+ */
+ public Collection values()
+ {
+ return nodeMap.values();
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/PlanarGraph.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/PlanarGraph.java
new file mode 100644
index 0000000..02476b0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/PlanarGraph.java
@@ -0,0 +1,220 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.planargraph;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Represents a directed graph which is embeddable in a planar surface.
+ * <p>
+ * This class and the other classes in this package serve as a framework for
+ * building planar graphs for specific algorithms. This class must be
+ * subclassed to expose appropriate methods to construct the graph. This allows
+ * controlling the types of graph components ({@link DirectedEdge}s,
+ * {@link Edge}s and {@link Node}s) which can be added to the graph. An
+ * application which uses the graph framework will almost always provide
+ * subclasses for one or more graph components, which hold application-specific
+ * data and graph algorithms.
+ *
+ * @version 1.7
+ */
+public abstract class PlanarGraph
+{
+ protected Set edges = new HashSet();
+ protected Set dirEdges = new HashSet();
+ protected NodeMap nodeMap = new NodeMap();
+
+ /**
+ * Constructs a empty graph.
+ */
+ public PlanarGraph()
+ {
+ }
+
+ /**
+ * Returns the {@link Node} at the given location,
+ * or null if no {@link Node} was there.
+ *
+ * @param pt the location to query
+ * @return the node found
+ * or <code>null</code> if this graph contains no node at the location
+ */
+ public Node findNode(Coordinate pt)
+ {
+ return (Node) nodeMap.find(pt);
+ }
+
+ /**
+ * Adds a node to the map, replacing any that is already at that location.
+ * Only subclasses can add Nodes, to ensure Nodes are of the right type.
+ *
+ * @param node the node to add
+ */
+ protected void add(Node node)
+ {
+ nodeMap.add(node);
+ }
+
+ /**
+ * Adds the Edge and its DirectedEdges with this PlanarGraph.
+ * Assumes that the Edge has already been created with its associated DirectEdges.
+ * Only subclasses can add Edges, to ensure the edges added are of the right class.
+ */
+ protected void add(Edge edge)
+ {
+ edges.add(edge);
+ add(edge.getDirEdge(0));
+ add(edge.getDirEdge(1));
+ }
+
+ /**
+ * Adds the Edge to this PlanarGraph; only subclasses can add DirectedEdges,
+ * to ensure the edges added are of the right class.
+ */
+ protected void add(DirectedEdge dirEdge)
+ {
+ dirEdges.add(dirEdge);
+ }
+ /**
+ * Returns an Iterator over the Nodes in this PlanarGraph.
+ */
+ public Iterator nodeIterator() { return nodeMap.iterator(); }
+ /**
+ * Returns the Nodes in this PlanarGraph.
+ */
+
+ /**
+ * Tests whether this graph contains the given {@link Edge}
+ *
+ * @param e the edge to query
+ * @return <code>true</code> if the graph contains the edge
+ */
+ public boolean contains(Edge e)
+ {
+ return edges.contains(e);
+ }
+
+ /**
+ * Tests whether this graph contains the given {@link DirectedEdge}
+ *
+ * @param de the directed edge to query
+ * @return <code>true</code> if the graph contains the directed edge
+ */
+ public boolean contains(DirectedEdge de)
+ {
+ return dirEdges.contains(de);
+ }
+
+ public Collection getNodes() { return nodeMap.values(); }
+
+ /**
+ * Returns an Iterator over the DirectedEdges in this PlanarGraph, in the order in which they
+ * were added.
+ *
+ * @see #add(Edge)
+ * @see #add(DirectedEdge)
+ */
+ public Iterator dirEdgeIterator() { return dirEdges.iterator(); }
+ /**
+ * Returns an Iterator over the Edges in this PlanarGraph, in the order in which they
+ * were added.
+ *
+ * @see #add(Edge)
+ */
+ public Iterator edgeIterator() { return edges.iterator(); }
+
+ /**
+ * Returns the Edges that have been added to this PlanarGraph
+ * @see #add(Edge)
+ */
+ public Collection getEdges() { return edges; }
+
+ /**
+ * Removes an {@link Edge} and its associated {@link DirectedEdge}s
+ * from their from-Nodes and from the graph.
+ * Note: This method does not remove the {@link Node}s associated
+ * with the {@link Edge}, even if the removal of the {@link Edge}
+ * reduces the degree of a {@link Node} to zero.
+ */
+ public void remove(Edge edge)
+ {
+ remove(edge.getDirEdge(0));
+ remove(edge.getDirEdge(1));
+ edges.remove(edge);
+ edge.remove();
+ }
+
+ /**
+ * Removes a {@link DirectedEdge} from its from-{@link Node} and from this graph.
+ * This method does not remove the {@link Node}s associated with the DirectedEdge,
+ * even if the removal of the DirectedEdge reduces the degree of a Node to zero.
+ */
+ public void remove(DirectedEdge de)
+ {
+ DirectedEdge sym = de.getSym();
+ if (sym != null) sym.setSym(null);
+
+ de.getFromNode().remove(de);
+ de.remove();
+ dirEdges.remove(de);
+ }
+
+ /**
+ * Removes a node from the graph, along with any associated DirectedEdges and
+ * Edges.
+ */
+ public void remove(Node node)
+ {
+ // unhook all directed edges
+ List outEdges = node.getOutEdges().getEdges();
+ for (Iterator i = outEdges.iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ DirectedEdge sym = de.getSym();
+ // remove the diredge that points to this node
+ if (sym != null) remove(sym);
+ // remove this diredge from the graph collection
+ dirEdges.remove(de);
+
+ Edge edge = de.getEdge();
+ if (edge != null) {
+ edges.remove(edge);
+ }
+
+ }
+ // remove the node from the graph
+ nodeMap.remove(node.getCoordinate());
+ node.remove();
+ }
+
+ /**
+ * Returns all Nodes with the given number of Edges around it.
+ */
+ public List findNodesOfDegree(int degree)
+ {
+ List nodesFound = new ArrayList();
+ for (Iterator i = nodeIterator(); i.hasNext(); ) {
+ Node node = (Node) i.next();
+ if (node.getDegree() == degree)
+ nodesFound.add(node);
+ }
+ return nodesFound;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/Subgraph.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/Subgraph.java
new file mode 100644
index 0000000..8e422c0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/Subgraph.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.planargraph;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * A subgraph of a {@link PlanarGraph}.
+ * A subgraph may contain any subset of {@link Edge}s
+ * from the parent graph.
+ * It will also automatically contain all {@link DirectedEdge}s
+ * and {@link Node}s associated with those edges.
+ * No new objects are created when edges are added -
+ * all associated components must already exist in the parent graph.
+ */
+public class Subgraph
+{
+ protected PlanarGraph parentGraph;
+ protected Set edges = new HashSet();
+ protected List dirEdges = new ArrayList();
+ protected NodeMap nodeMap = new NodeMap();
+
+ /**
+ * Creates a new subgraph of the given {@link PlanarGraph}
+ *
+ * @param parentGraph the parent graph
+ */
+ public Subgraph(PlanarGraph parentGraph) {
+ this.parentGraph = parentGraph;
+ }
+
+ /**
+ * Gets the {@link PlanarGraph} which this subgraph
+ * is part of.
+ *
+ * @return the parent PlanarGraph
+ */
+ public PlanarGraph getParent()
+ {
+ return parentGraph;
+ }
+ /**
+ * Adds an {@link Edge} to the subgraph.
+ * The associated {@link DirectedEdge}s and {@link Node}s
+ * are also added.
+ *
+ * @param e the edge to add
+ */
+ public void add(Edge e)
+ {
+ if (edges.contains(e)) return;
+
+ edges.add(e);
+ dirEdges.add(e.getDirEdge(0));
+ dirEdges.add(e.getDirEdge(1));
+ nodeMap.add(e.getDirEdge(0).getFromNode());
+ nodeMap.add(e.getDirEdge(1).getFromNode());
+ }
+
+ /**
+ * Returns an {@link Iterator} over the {@link DirectedEdge}s in this graph,
+ * in the order in which they were added.
+ *
+ * @return an iterator over the directed edges
+ *
+ * @see #add(Edge)
+ */
+ public Iterator dirEdgeIterator() { return dirEdges.iterator(); }
+
+ /**
+ * Returns an {@link Iterator} over the {@link Edge}s in this graph,
+ * in the order in which they were added.
+ *
+ * @return an iterator over the edges
+ *
+ * @see #add(Edge)
+ */
+ public Iterator edgeIterator() { return edges.iterator(); }
+
+ /**
+ * Returns an {@link Iterator} over the {@link Node}s in this graph.
+ * @return an iterator over the nodes
+ */
+ public Iterator nodeIterator() { return nodeMap.iterator(); }
+
+ /**
+ * Tests whether an {@link Edge} is contained in this subgraph
+ * @param e the edge to test
+ * @return <code>true</code> if the edge is contained in this subgraph
+ */
+ public boolean contains(Edge e) { return edges.contains(e); }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/ConnectedSubgraphFinder.java b/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/ConnectedSubgraphFinder.java
new file mode 100644
index 0000000..dc2472c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/ConnectedSubgraphFinder.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.planargraph.algorithm;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Stack;
+
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.DirectedEdgeStar;
+import org.locationtech.jts.planargraph.Edge;
+import org.locationtech.jts.planargraph.GraphComponent;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.planargraph.PlanarGraph;
+import org.locationtech.jts.planargraph.Subgraph;
+
+/**
+ * Finds all connected {@link Subgraph}s of a {@link PlanarGraph}.
+ * <p>
+ * <b>Note:</b> uses the <code>isVisited</code> flag on the nodes.
+ */
+public class ConnectedSubgraphFinder
+{
+
+ private PlanarGraph graph;
+
+ public ConnectedSubgraphFinder(PlanarGraph graph) {
+ this.graph = graph;
+ }
+
+ public List getConnectedSubgraphs()
+ {
+ List subgraphs = new ArrayList();
+
+ GraphComponent.setVisited(graph.nodeIterator(), false);
+ for (Iterator i = graph.edgeIterator(); i.hasNext(); ) {
+ Edge e = (Edge) i.next();
+ Node node = e.getDirEdge(0).getFromNode();
+ if (! node.isVisited()) {
+ subgraphs.add(findSubgraph(node));
+ }
+ }
+ return subgraphs;
+ }
+
+ private Subgraph findSubgraph(Node node)
+ {
+ Subgraph subgraph = new Subgraph(graph);
+ addReachable(node, subgraph);
+ return subgraph;
+ }
+
+ /**
+ * Adds all nodes and edges reachable from this node to the subgraph.
+ * Uses an explicit stack to avoid a large depth of recursion.
+ *
+ * @param node a node known to be in the subgraph
+ */
+ private void addReachable(Node startNode, Subgraph subgraph)
+ {
+ Stack nodeStack = new Stack();
+ nodeStack.add(startNode);
+ while (! nodeStack.empty()) {
+ Node node = (Node) nodeStack.pop();
+ addEdges(node, nodeStack, subgraph);
+ }
+ }
+
+ /**
+ * Adds the argument node and all its out edges to the subgraph.
+ * @param node the node to add
+ * @param nodeStack the current set of nodes being traversed
+ */
+ private void addEdges(Node node, Stack nodeStack, Subgraph subgraph)
+ {
+ node.setVisited(true);
+ for (Iterator i = ((DirectedEdgeStar) node.getOutEdges()).iterator(); i.hasNext(); ) {
+ DirectedEdge de = (DirectedEdge) i.next();
+ subgraph.add(de.getEdge());
+ Node toNode = de.getToNode();
+ if (! toNode.isVisited()) nodeStack.push(toNode);
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/package.html b/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/package.html
new file mode 100644
index 0000000..7cdfd8a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/algorithm/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes which implement graph algorithms on planar graphs.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/planargraph/package.html b/modules/core/src/main/java/org/locationtech/jts/planargraph/package.html
new file mode 100644
index 0000000..e59938b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/planargraph/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Contains classes to implement a planar graph data structure.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/CommonBits.java b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBits.java
new file mode 100644
index 0000000..12ad85e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBits.java
@@ -0,0 +1,139 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+/**
+ * Determines the maximum number of common most-significant
+ * bits in the mantissa of one or numbers.
+ * Can be used to compute the double-precision number which
+ * is represented by the common bits.
+ * If there are no common bits, the number computed is 0.0.
+ *
+ * @version 1.7
+ */
+public class CommonBits {
+
+ /**
+ * Computes the bit pattern for the sign and exponent of a
+ * double-precision number.
+ *
+ * @param num
+ * @return the bit pattern for the sign and exponent
+ */
+ public static long signExpBits(long num)
+ {
+ return num >> 52;
+ }
+
+ /**
+ * This computes the number of common most-significant bits in the mantissas
+ * of two double-precision numbers.
+ * It does not count the hidden bit, which is always 1.
+ * It does not determine whether the numbers have the same exponent - if they do
+ * not, the value computed by this function is meaningless.
+ *
+ * @param num1 the first number
+ * @param num2 the second number
+ * @return the number of common most-significant mantissa bits
+ */
+ public static int numCommonMostSigMantissaBits(long num1, long num2)
+ {
+ int count = 0;
+ for (int i = 52; i >= 0; i--)
+ {
+ if (getBit(num1, i) != getBit(num2, i))
+ return count;
+ count++;
+ }
+ return 52;
+ }
+
+ /**
+ * Zeroes the lower n bits of a bitstring.
+ *
+ * @param bits the bitstring to alter
+ * @return the zeroed bitstring
+ */
+ public static long zeroLowerBits(long bits, int nBits)
+ {
+ long invMask = (1L << nBits) - 1L;
+ long mask = ~ invMask;
+ long zeroed = bits & mask;
+ return zeroed;
+ }
+
+ /**
+ * Extracts the i'th bit of a bitstring.
+ *
+ * @param bits the bitstring to extract from
+ * @param i the bit to extract
+ * @return the value of the extracted bit
+ */
+ public static int getBit(long bits, int i)
+ {
+ long mask = (1L << i);
+ return (bits & mask) != 0 ? 1 : 0;
+ }
+
+ private boolean isFirst = true;
+ private int commonMantissaBitsCount = 53;
+ private long commonBits = 0;
+ private long commonSignExp;
+
+ public CommonBits() {
+ }
+
+ public void add(double num)
+ {
+ long numBits = Double.doubleToLongBits(num);
+ if (isFirst) {
+ commonBits = numBits;
+ commonSignExp = signExpBits(commonBits);
+ isFirst = false;
+ return;
+ }
+
+ long numSignExp = signExpBits(numBits);
+ if (numSignExp != commonSignExp) {
+ commonBits = 0;
+ return;
+ }
+
+// System.out.println(toString(commonBits));
+// System.out.println(toString(numBits));
+ commonMantissaBitsCount = numCommonMostSigMantissaBits(commonBits, numBits);
+ commonBits = zeroLowerBits(commonBits, 64 - (12 + commonMantissaBitsCount));
+// System.out.println(toString(commonBits));
+ }
+
+ public double getCommon()
+ {
+ return Double.longBitsToDouble(commonBits);
+ }
+ /**
+ * A representation of the Double bits formatted for easy readability
+ */
+ public String toString(long bits)
+ {
+ double x = Double.longBitsToDouble(bits);
+ String numStr = Long.toBinaryString(bits);
+ String padStr = "0000000000000000000000000000000000000000000000000000000000000000" + numStr;
+ String bitStr = padStr.substring(padStr.length() - 64);
+ String str = bitStr.substring(0, 1) + " "
+ + bitStr.substring(1, 12) + "(exp) "
+ + bitStr.substring(12)
+ + " [ " + x + " ]";
+ return str;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsOp.java b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsOp.java
new file mode 100644
index 0000000..30bc000
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsOp.java
@@ -0,0 +1,163 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Provides versions of Geometry spatial functions which use
+ * common bit removal to reduce the likelihood of robustness problems.
+ * <p>
+ * In the current implementation no rounding is performed on the
+ * reshifted result geometry, which means that it is possible
+ * that the returned Geometry is invalid.
+ * Client classes should check the validity of the returned result themselves.
+ *
+ * @version 1.7
+ */
+public class CommonBitsOp {
+
+ private boolean returnToOriginalPrecision = true;
+ private CommonBitsRemover cbr;
+
+ /**
+ * Creates a new instance of class, which reshifts result {@link Geometry}s.
+ */
+ public CommonBitsOp()
+ {
+ this(true);
+ }
+
+ /**
+ * Creates a new instance of class, specifying whether
+ * the result {@link Geometry}s should be reshifted.
+ *
+ * @param returnToOriginalPrecision
+ */
+ public CommonBitsOp(boolean returnToOriginalPrecision)
+ {
+ this.returnToOriginalPrecision = returnToOriginalPrecision;
+ }
+
+ /**
+ * Computes the set-theoretic intersection of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic intersection of the input Geometries.
+ */
+ public Geometry intersection(Geometry geom0, Geometry geom1)
+ {
+ Geometry[] geom = removeCommonBits(geom0, geom1);
+ return computeResultPrecision(geom[0].intersection(geom[1]));
+ }
+
+ /**
+ * Computes the set-theoretic union of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic union of the input Geometries.
+ */
+ public Geometry union(Geometry geom0, Geometry geom1)
+ {
+ Geometry[] geom = removeCommonBits(geom0, geom1);
+ return computeResultPrecision(geom[0].union(geom[1]));
+ }
+
+ /**
+ * Computes the set-theoretic difference of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry, to be subtracted from the first
+ * @return the Geometry representing the set-theoretic difference of the input Geometries.
+ */
+ public Geometry difference(Geometry geom0, Geometry geom1)
+ {
+ Geometry[] geom = removeCommonBits(geom0, geom1);
+ return computeResultPrecision(geom[0].difference(geom[1]));
+ }
+
+ /**
+ * Computes the set-theoretic symmetric difference of two geometries,
+ * using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic symmetric difference of the input Geometries.
+ */
+ public Geometry symDifference(Geometry geom0, Geometry geom1)
+ {
+ Geometry[] geom = removeCommonBits(geom0, geom1);
+ return computeResultPrecision(geom[0].symDifference(geom[1]));
+ }
+
+ /**
+ * Computes the buffer a geometry,
+ * using enhanced precision.
+ * @param geom0 the Geometry to buffer
+ * @param distance the buffer distance
+ * @return the Geometry representing the buffer of the input Geometry.
+ */
+ public Geometry buffer(Geometry geom0, double distance)
+ {
+ Geometry geom = removeCommonBits(geom0);
+ return computeResultPrecision(geom.buffer(distance));
+ }
+
+ /**
+ * If required, returning the result to the original precision if required.
+ * <p>
+ * In this current implementation, no rounding is performed on the
+ * reshifted result geometry, which means that it is possible
+ * that the returned Geometry is invalid.
+ *
+ * @param result the result Geometry to modify
+ * @return the result Geometry with the required precision
+ */
+ private Geometry computeResultPrecision(Geometry result)
+ {
+ if (returnToOriginalPrecision)
+ cbr.addCommonBits(result);
+ return result;
+ }
+
+ /**
+ * Computes a copy of the input {@link Geometry} with the calculated common bits
+ * removed from each coordinate.
+ * @param geom0 the Geometry to remove common bits from
+ * @return a copy of the input Geometry with common bits removed
+ */
+ private Geometry removeCommonBits(Geometry geom0)
+ {
+ cbr = new CommonBitsRemover();
+ cbr.add(geom0);
+ Geometry geom = cbr.removeCommonBits(geom0.copy());
+ return geom;
+ }
+
+ /**
+ * Computes a copy of each input {@link Geometry}s with the calculated common bits
+ * removed from each coordinate.
+ * @param geom0 a Geometry to remove common bits from
+ * @param geom1 a Geometry to remove common bits from
+ * @return an array containing copies
+ * of the input Geometry's with common bits removed
+ */
+ private Geometry[] removeCommonBits(Geometry geom0, Geometry geom1)
+ {
+ cbr = new CommonBitsRemover();
+ cbr.add(geom0);
+ cbr.add(geom1);
+ Geometry geom[] = new Geometry[2];
+ geom[0] = cbr.removeCommonBits(geom0.copy());
+ geom[1] = cbr.removeCommonBits(geom1.copy());
+ return geom;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsRemover.java b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsRemover.java
new file mode 100644
index 0000000..b767c67
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/CommonBitsRemover.java
@@ -0,0 +1,158 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Removes common most-significant mantissa bits
+ * from one or more {@link Geometry}s.
+ * <p>
+ * The CommonBitsRemover "scavenges" precision
+ * which is "wasted" by a large displacement of the geometry
+ * from the origin.
+ * For example, if a small geometry is displaced from the origin
+ * by a large distance,
+ * the displacement increases the significant figures in the coordinates,
+ * but does not affect the <i>relative</i> topology of the geometry.
+ * Thus the geometry can be translated back to the origin
+ * without affecting its topology.
+ * In order to compute the translation without affecting
+ * the full precision of the coordinate values,
+ * the translation is performed at the bit level by
+ * removing the common leading mantissa bits.
+ * <p>
+ * If the geometry envelope already contains the origin,
+ * the translation procedure cannot be applied.
+ * In this case, the common bits value is computed as zero.
+ * <p>
+ * If the geometry crosses the Y axis but not the X axis
+ * (and <i>mutatis mutandum</i>),
+ * the common bits for Y are zero,
+ * but the common bits for X are non-zero.
+ *
+ * @version 1.7
+ */
+public class CommonBitsRemover
+{
+ private Coordinate commonCoord;
+ private CommonCoordinateFilter ccFilter = new CommonCoordinateFilter();
+
+ public CommonBitsRemover()
+ {
+ }
+
+ /**
+ * Add a geometry to the set of geometries whose common bits are
+ * being computed. After this method has executed the
+ * common coordinate reflects the common bits of all added
+ * geometries.
+ *
+ * @param geom a Geometry to test for common bits
+ */
+ public void add(Geometry geom)
+ {
+ geom.apply(ccFilter);
+ commonCoord = ccFilter.getCommonCoordinate();
+ }
+
+ /**
+ * The common bits of the Coordinates in the supplied Geometries.
+ */
+ public Coordinate getCommonCoordinate() { return commonCoord; }
+
+ /**
+ * Removes the common coordinate bits from a Geometry.
+ * The coordinates of the Geometry are changed.
+ *
+ * @param geom the Geometry from which to remove the common coordinate bits
+ * @return the shifted Geometry
+ */
+ public Geometry removeCommonBits(Geometry geom)
+ {
+ if (commonCoord.x == 0.0 && commonCoord.y == 0.0)
+ return geom;
+ Coordinate invCoord = new Coordinate(commonCoord);
+ invCoord.x = -invCoord.x;
+ invCoord.y = -invCoord.y;
+ Translater trans = new Translater(invCoord);
+ geom.apply(trans);
+ geom.geometryChanged();
+ return geom;
+ }
+
+ /**
+ * Adds the common coordinate bits back into a Geometry.
+ * The coordinates of the Geometry are changed.
+ *
+ * @param geom the Geometry to which to add the common coordinate bits
+ */
+ public void addCommonBits(Geometry geom)
+ {
+ Translater trans = new Translater(commonCoord);
+ geom.apply(trans);
+ geom.geometryChanged();
+ }
+
+ static class CommonCoordinateFilter
+ implements CoordinateFilter
+ {
+ private CommonBits commonBitsX = new CommonBits();
+ private CommonBits commonBitsY = new CommonBits();
+
+ public void filter(Coordinate coord)
+ {
+ commonBitsX.add(coord.x);
+ commonBitsY.add(coord.y);
+ }
+
+ public Coordinate getCommonCoordinate()
+ {
+ return new Coordinate(
+ commonBitsX.getCommon(),
+ commonBitsY.getCommon());
+ }
+ }
+
+ static class Translater
+ implements CoordinateSequenceFilter
+ {
+ Coordinate trans = null;
+
+ public Translater(Coordinate trans)
+ {
+ this.trans = trans;
+ }
+
+ public void filter(CoordinateSequence seq, int i) {
+ double xp = seq.getOrdinate(i, 0) + trans.x;
+ double yp = seq.getOrdinate(i, 1) + trans.y;
+ seq.setOrdinate(i, 0, xp);
+ seq.setOrdinate(i, 1, yp);
+ }
+
+ public boolean isDone() {
+ return false;
+ }
+
+ public boolean isGeometryChanged() {
+ return true;
+ }
+
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/CoordinatePrecisionReducerFilter.java b/modules/core/src/main/java/org/locationtech/jts/precision/CoordinatePrecisionReducerFilter.java
new file mode 100644
index 0000000..ae36789
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/CoordinatePrecisionReducerFilter.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.PrecisionModel;
+
+/**
+ * Reduces the precision of the {@link Coordinate}s in a
+ * {@link CoordinateSequence} to match the supplied {@link PrecisionModel}.
+ * Uses {@link PrecisionModel#makePrecise(double)}.
+ * The input is modified in-place, so
+ * it should be cloned beforehand if the
+ * original should not be modified.
+ *
+ * @author mbdavis
+ *
+ */
+public class CoordinatePrecisionReducerFilter
+ implements CoordinateSequenceFilter
+{
+ private PrecisionModel precModel;
+
+ /**
+ * Creates a new precision reducer filter.
+ *
+ * @param precModel the PrecisionModel to use
+ */
+ public CoordinatePrecisionReducerFilter(PrecisionModel precModel)
+ {
+ this.precModel = precModel;
+ }
+
+ /**
+ * Rounds the Coordinates in the sequence to match the PrecisionModel
+ */
+ public void filter(CoordinateSequence seq, int i)
+ {
+ seq.setOrdinate(i, 0, precModel.makePrecise(seq.getOrdinate(i, 0)));
+ seq.setOrdinate(i, 1, precModel.makePrecise(seq.getOrdinate(i, 1)));
+ }
+
+ /**
+ * Always runs over all geometry components.
+ *
+ * @return false
+ */
+ public boolean isDone() { return false; }
+
+ /**
+ * Always reports that the geometry has changed
+ *
+ * @return true
+ */
+ public boolean isGeometryChanged() { return true; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/EnhancedPrecisionOp.java b/modules/core/src/main/java/org/locationtech/jts/precision/EnhancedPrecisionOp.java
new file mode 100644
index 0000000..b86b34e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/EnhancedPrecisionOp.java
@@ -0,0 +1,204 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Provides versions of Geometry spatial functions which use
+ * enhanced precision techniques to reduce the likelihood of robustness problems.
+ *
+ * @version 1.7
+ */
+public class EnhancedPrecisionOp
+{
+ /**
+ * Computes the set-theoretic intersection of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic intersection of the input Geometries.
+ */
+ public static Geometry intersection(Geometry geom0, Geometry geom1)
+ {
+ RuntimeException originalEx;
+ try {
+ Geometry result = geom0.intersection(geom1);
+ return result;
+ }
+ catch (RuntimeException ex)
+ {
+ originalEx = ex;
+ }
+ /*
+ * If we are here, the original op encountered a precision problem
+ * (or some other problem). Retry the operation with
+ * enhanced precision to see if it succeeds
+ */
+ try {
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry resultEP = cbo.intersection(geom0, geom1);
+ // check that result is a valid geometry after the reshift to orginal precision
+ if (! resultEP.isValid())
+ throw originalEx;
+ return resultEP;
+ }
+ catch (RuntimeException ex2)
+ {
+ throw originalEx;
+ }
+ }
+ /**
+ * Computes the set-theoretic union of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic union of the input Geometries.
+ */
+ public static Geometry union(Geometry geom0, Geometry geom1)
+ {
+ RuntimeException originalEx;
+ try {
+ Geometry result = geom0.union(geom1);
+ return result;
+ }
+ catch (RuntimeException ex)
+ {
+ originalEx = ex;
+ }
+ /*
+ * If we are here, the original op encountered a precision problem
+ * (or some other problem). Retry the operation with
+ * enhanced precision to see if it succeeds
+ */
+ try {
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry resultEP = cbo.union(geom0, geom1);
+ // check that result is a valid geometry after the reshift to orginal precision
+ if (! resultEP.isValid())
+ throw originalEx;
+ return resultEP;
+ }
+ catch (RuntimeException ex2)
+ {
+ throw originalEx;
+ }
+ }
+ /**
+ * Computes the set-theoretic difference of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic difference of the input Geometries.
+ */
+ public static Geometry difference(Geometry geom0, Geometry geom1)
+ {
+ RuntimeException originalEx;
+ try {
+ Geometry result = geom0.difference(geom1);
+ return result;
+ }
+ catch (RuntimeException ex)
+ {
+ originalEx = ex;
+ }
+ /*
+ * If we are here, the original op encountered a precision problem
+ * (or some other problem). Retry the operation with
+ * enhanced precision to see if it succeeds
+ */
+ try {
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry resultEP = cbo.difference(geom0, geom1);
+ // check that result is a valid geometry after the reshift to orginal precision
+ if (! resultEP.isValid())
+ throw originalEx;
+ return resultEP;
+ }
+ catch (RuntimeException ex2)
+ {
+ throw originalEx;
+ }
+ }
+ /**
+ * Computes the set-theoretic symmetric difference of two {@link Geometry}s, using enhanced precision.
+ * @param geom0 the first Geometry
+ * @param geom1 the second Geometry
+ * @return the Geometry representing the set-theoretic symmetric difference of the input Geometries.
+ */
+ public static Geometry symDifference(Geometry geom0, Geometry geom1)
+ {
+ RuntimeException originalEx;
+ try {
+ Geometry result = geom0.symDifference(geom1);
+ return result;
+ }
+ catch (RuntimeException ex)
+ {
+ originalEx = ex;
+ }
+ /*
+ * If we are here, the original op encountered a precision problem
+ * (or some other problem). Retry the operation with
+ * enhanced precision to see if it succeeds
+ */
+ try {
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry resultEP = cbo.symDifference(geom0, geom1);
+ // check that result is a valid geometry after the reshift to orginal precision
+ if (! resultEP.isValid())
+ throw originalEx;
+ return resultEP;
+ }
+ catch (RuntimeException ex2)
+ {
+ throw originalEx;
+ }
+ }
+ /**
+ * Computes the buffer of a {@link Geometry}, using enhanced precision.
+ * This method should no longer be necessary, since the buffer algorithm
+ * now is highly robust.
+ *
+ * @param geom the first Geometry
+ * @param distance the buffer distance
+ * @return the Geometry representing the buffer of the input Geometry.
+ */
+ public static Geometry buffer(Geometry geom, double distance)
+ {
+ RuntimeException originalEx;
+ try {
+ Geometry result = geom.buffer(distance);
+ return result;
+ }
+ catch (RuntimeException ex)
+ {
+ originalEx = ex;
+ }
+ /*
+ * If we are here, the original op encountered a precision problem
+ * (or some other problem). Retry the operation with
+ * enhanced precision to see if it succeeds
+ */
+ try {
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry resultEP = cbo.buffer(geom, distance);
+ // check that result is a valid geometry after the reshift to orginal precision
+ if (! resultEP.isValid())
+ throw originalEx;
+ return resultEP;
+ }
+ catch (RuntimeException ex2)
+ {
+ throw originalEx;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/GeometryPrecisionReducer.java b/modules/core/src/main/java/org/locationtech/jts/precision/GeometryPrecisionReducer.java
new file mode 100644
index 0000000..8d97e0b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/GeometryPrecisionReducer.java
@@ -0,0 +1,217 @@
+
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.GeometryEditor;
+
+/**
+ * Reduces the precision of a {@link Geometry}
+ * according to the supplied {@link PrecisionModel},
+ * ensuring that the result is topologically valid.
+ *
+ * @version 1.12
+ */
+public class GeometryPrecisionReducer
+{
+ /**
+ * Convenience method for doing precision reduction
+ * on a single geometry,
+ * with collapses removed
+ * and keeping the geometry precision model the same,
+ * and preserving polygonal topology.
+ *
+ * @param g the geometry to reduce
+ * @param precModel the precision model to use
+ * @return the reduced geometry
+ */
+ public static Geometry reduce(Geometry g, PrecisionModel precModel)
+ {
+ GeometryPrecisionReducer reducer = new GeometryPrecisionReducer(precModel);
+ return reducer.reduce(g);
+ }
+
+ /**
+ * Convenience method for doing pointwise precision reduction
+ * on a single geometry,
+ * with collapses removed
+ * and keeping the geometry precision model the same,
+ * but NOT preserving valid polygonal topology.
+ *
+ * @param g the geometry to reduce
+ * @param precModel the precision model to use
+ * @return the reduced geometry
+ */
+ public static Geometry reducePointwise(Geometry g, PrecisionModel precModel)
+ {
+ GeometryPrecisionReducer reducer = new GeometryPrecisionReducer(precModel);
+ reducer.setPointwise(true);
+ return reducer.reduce(g);
+ }
+
+ private PrecisionModel targetPM;
+ private boolean removeCollapsed = true;
+ private boolean changePrecisionModel = false;
+ private boolean isPointwise = false;
+
+ public GeometryPrecisionReducer(PrecisionModel pm)
+ {
+ targetPM = pm;
+ }
+
+ /**
+ * Sets whether the reduction will result in collapsed components
+ * being removed completely, or simply being collapsed to an (invalid)
+ * Geometry of the same type.
+ * The default is to remove collapsed components.
+ *
+ * @param removeCollapsed if <code>true</code> collapsed components will be removed
+ */
+ public void setRemoveCollapsedComponents(boolean removeCollapsed)
+ {
+ this.removeCollapsed = removeCollapsed;
+ }
+
+ /**
+ * Sets whether the {@link PrecisionModel} of the new reduced Geometry
+ * will be changed to be the {@link PrecisionModel} supplied to
+ * specify the precision reduction.
+ * <p>
+ * The default is to <b>not</b> change the precision model
+ *
+ * @param changePrecisionModel if <code>true</code> the precision model of the created Geometry will be the
+ * the precisionModel supplied in the constructor.
+ */
+ public void setChangePrecisionModel(boolean changePrecisionModel)
+ {
+ this.changePrecisionModel = changePrecisionModel;
+ }
+
+ /**
+ * Sets whether the precision reduction will be done
+ * in pointwise fashion only.
+ * Pointwise precision reduction reduces the precision
+ * of the individual coordinates only, but does
+ * not attempt to recreate valid topology.
+ * This is only relevant for geometries containing polygonal components.
+ *
+ * @param isPointwise if reduction should be done pointwise only
+ */
+ public void setPointwise(boolean isPointwise)
+ {
+ this.isPointwise = isPointwise;
+ }
+
+ public Geometry reduce(Geometry geom)
+ {
+ Geometry reducePW = reducePointwise(geom);
+ if (isPointwise)
+ return reducePW;
+
+ //TODO: handle GeometryCollections containing polys
+ if (! (reducePW instanceof Polygonal))
+ return reducePW;
+
+ // Geometry is polygonal - test if topology needs to be fixed
+ if (reducePW.isValid()) return reducePW;
+
+ // hack to fix topology.
+ // TODO: implement snap-rounding and use that.
+ return fixPolygonalTopology(reducePW);
+ }
+
+ private Geometry reducePointwise(Geometry geom)
+ {
+ GeometryEditor geomEdit;
+ if (changePrecisionModel) {
+ GeometryFactory newFactory = createFactory(geom.getFactory(), targetPM);
+ geomEdit = new GeometryEditor(newFactory);
+ }
+ else
+ // don't change geometry factory
+ geomEdit = new GeometryEditor();
+
+ /**
+ * For polygonal geometries, collapses are always removed, in order
+ * to produce correct topology
+ */
+ boolean finalRemoveCollapsed = removeCollapsed;
+ if (geom.getDimension() >= 2)
+ finalRemoveCollapsed = true;
+
+ Geometry reduceGeom = geomEdit.edit(geom,
+ new PrecisionReducerCoordinateOperation(targetPM, finalRemoveCollapsed));
+
+ return reduceGeom;
+ }
+
+ private Geometry fixPolygonalTopology(Geometry geom)
+ {
+ /**
+ * If precision model was *not* changed, need to flip
+ * geometry to targetPM, buffer in that model, then flip back
+ */
+ Geometry geomToBuffer = geom;
+ if (! changePrecisionModel) {
+ geomToBuffer = changePM(geom, targetPM);
+ }
+
+ Geometry bufGeom = geomToBuffer.buffer(0);
+
+ Geometry finalGeom = bufGeom;
+ if (! changePrecisionModel) {
+ // a slick way to copy the geometry with the original precision factory
+ finalGeom = geom.getFactory().createGeometry(bufGeom);
+ }
+ return finalGeom;
+ }
+
+ /**
+ * Duplicates a geometry to one that uses a different PrecisionModel,
+ * without changing any coordinate values.
+ *
+ * @param geom the geometry to duplicate
+ * @param newPM the precision model to use
+ * @return the geometry value with a new precision model
+ */
+ private Geometry changePM(Geometry geom, PrecisionModel newPM)
+ {
+ GeometryEditor geomEditor = createEditor(geom.getFactory(), newPM);
+ // this operation changes the PM for the entire geometry tree
+ return geomEditor.edit(geom, new GeometryEditor.NoOpGeometryOperation());
+ }
+
+ private GeometryEditor createEditor(GeometryFactory geomFactory, PrecisionModel newPM)
+ {
+ // no need to change if precision model is the same
+ if (geomFactory.getPrecisionModel() == newPM)
+ return new GeometryEditor();
+ // otherwise create a geometry editor which changes PrecisionModel
+ GeometryFactory newFactory = createFactory(geomFactory, newPM);
+ GeometryEditor geomEdit = new GeometryEditor(newFactory);
+ return geomEdit;
+ }
+
+ private GeometryFactory createFactory(GeometryFactory inputFactory, PrecisionModel pm)
+ {
+ GeometryFactory newFactory
+ = new GeometryFactory(pm,
+ inputFactory.getSRID(),
+ inputFactory.getCoordinateSequenceFactory());
+ return newFactory;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/MinimumClearance.java b/modules/core/src/main/java/org/locationtech/jts/precision/MinimumClearance.java
new file mode 100644
index 0000000..2e99ac1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/MinimumClearance.java
@@ -0,0 +1,315 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Lineal;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Puntal;
+import org.locationtech.jts.index.strtree.ItemBoundable;
+import org.locationtech.jts.index.strtree.ItemDistance;
+import org.locationtech.jts.index.strtree.STRtree;
+import org.locationtech.jts.operation.distance.FacetSequence;
+import org.locationtech.jts.operation.distance.FacetSequenceTreeBuilder;
+
+/**
+ * Computes the Minimum Clearance of a {@link Geometry}.
+ * <p>
+ * The <b>Minimum Clearance</b> is a measure of
+ * what magnitude of perturbation of
+ * the vertices of a geometry can be tolerated
+ * before the geometry becomes topologically invalid.
+ * The smaller the Minimum Clearance distance,
+ * the less vertex perturbation the geometry can tolerate
+ * before becoming invalid.
+ * <p>
+ * The concept was introduced by Thompson and Van Oosterom
+ * [TV06], based on earlier work by Milenkovic [Mi88].
+ * <p>
+ * The Minimum Clearance of a geometry G
+ * is defined to be the value <i>r</i>
+ * such that "the movement of all points by a distance
+ * of <i>r</i> in any direction will
+ * guarantee to leave the geometry valid" [TV06].
+ * An equivalent constructive definition [Mi88] is that
+ * <i>r</i> is the largest value such:
+ * <ol>
+ * <li>No two distinct vertices of G are closer than <i>r</i>
+ * <li>No vertex of G is closer than <i>r</i> to an edge of G
+ * of which the vertex is not an endpoint
+ * </ol>
+ * The following image shows an example of the Minimum Clearance
+ * of a simple polygon.
+ * <p>
+ * <center><img src='doc-files/minClearance.png'></center>
+ * <p>
+ * If G has only a single vertex (i.e. is a
+ * {@link Point}), the value of the minimum clearance
+ * is {@link Double#MAX_VALUE}.
+ * <p>
+ * If G is a {@link Puntal} or {@link Lineal} geometry,
+ * then in fact no amount of perturbation
+ * will render the geometry invalid.
+ * In this case a Minimum Clearance is still computed
+ * based on the vertex and segment distances
+ * according to the constructive definition.
+ * <p>
+ * It is possible for no Minimum Clearance to exist.
+ * For instance, a {@link MultiPoint} with all members identical
+ * has no Minimum Clearance
+ * (i.e. no amount of perturbation will cause
+ * the member points to become non-identical).
+ * Empty geometries also have no such distance.
+ * The lack of a meaningful MinimumClearance distance is detected
+ * and suitable values are returned by
+ * {@link #getDistance()} and {@link #getLine()}.
+ * <p>
+ * The computation of Minimum Clearance utilizes
+ * the {@link STRtree#nearestNeighbour(ItemDistance)}
+ * method to provide good performance even for
+ * large inputs.
+ * <p>
+ * An interesting note is that for the case of {@link MultiPoint}s,
+ * the computed Minimum Clearance line
+ * effectively determines the Nearest Neighbours in the collection.
+ *
+ * <h3>References</h3>
+ * <ul>
+ * <li>[Mi88] Milenkovic, V. J.,
+ * <i>Verifiable implementations of geometric algorithms
+ * using finite precision arithmetic</i>.
+ * in Artificial Intelligence, 377-401. 1988
+ * <li>[TV06] Thompson, Rod and van Oosterom, Peter,
+ * <i>Interchange of Spatial Data-Inhibiting Factors</i>,
+ * Agile 2006, Visegrad, Hungary. 2006
+ * </ul>
+ *
+ * @author Martin Davis
+ *
+ */
+public class MinimumClearance
+{
+ /**
+ * Computes the Minimum Clearance distance for
+ * the given Geometry.
+ *
+ * @param g the input geometry
+ * @return the Minimum Clearance distance
+ */
+ public static double getDistance(Geometry g)
+ {
+ MinimumClearance rp = new MinimumClearance(g);
+ return rp.getDistance();
+ }
+
+ /**
+ * Gets a LineString containing two points
+ * which are at the Minimum Clearance distance
+ * for the given Geometry.
+ *
+ * @param g the input geometry
+ * @return the value of the minimum clearance distance
+ * or <tt>LINESTRING EMPTY</tt> if no Minimum Clearance distance exists
+ */
+ public static Geometry getLine(Geometry g)
+ {
+ MinimumClearance rp = new MinimumClearance(g);
+ return rp.getLine();
+ }
+
+ private Geometry inputGeom;
+ private double minClearance;
+ private Coordinate[] minClearancePts;
+
+ /**
+ * Creates an object to compute the Minimum Clearance
+ * for the given Geometry
+ *
+ * @param geom the input geometry
+ */
+ public MinimumClearance(Geometry geom)
+ {
+ inputGeom = geom;
+ }
+
+ /**
+ * Gets the Minimum Clearance distance.
+ * <p>
+ * If no distance exists
+ * (e.g. in the case of two identical points)
+ * <tt>Double.MAX_VALUE</tt> is returned.
+ *
+ * @return the value of the minimum clearance distance
+ * or <tt>Double.MAX_VALUE</tt> if no Minimum Clearance distance exists
+ */
+ public double getDistance()
+ {
+ compute();
+ return minClearance;
+ }
+
+ /**
+ * Gets a LineString containing two points
+ * which are at the Minimum Clearance distance.
+ * <p>
+ * If no distance could be found
+ * (e.g. in the case of two identical points)
+ * <tt>LINESTRING EMPTY</tt> is returned.
+ *
+ * @return the value of the minimum clearance distance
+ * or <tt>LINESTRING EMPTY</tt> if no Minimum Clearance distance exists
+ */
+ public LineString getLine()
+ {
+ compute();
+ // return empty line string if no min pts where found
+ if (minClearancePts == null || minClearancePts[0] == null)
+ return inputGeom.getFactory().createLineString();
+ return inputGeom.getFactory().createLineString(minClearancePts);
+ }
+
+ private void compute()
+ {
+ // already computed
+ if (minClearancePts != null) return;
+
+ // initialize to "No Distance Exists" state
+ minClearancePts = new Coordinate[2];
+ minClearance = Double.MAX_VALUE;
+
+ // handle empty geometries
+ if (inputGeom.isEmpty()) {
+ return;
+ }
+
+ STRtree geomTree = FacetSequenceTreeBuilder.build(inputGeom);
+
+ Object[] nearest = geomTree.nearestNeighbour(new MinClearanceDistance());
+ MinClearanceDistance mcd = new MinClearanceDistance();
+ minClearance = mcd.distance(
+ (FacetSequence) nearest[0],
+ (FacetSequence) nearest[1]);
+ minClearancePts = mcd.getCoordinates();
+ }
+
+ /**
+ * Implements the MinimumClearance distance function:
+ * <ul>
+ * <li>dist(p1, p2) =
+ * <ul>
+ * <li>p1 != p2 : p1.distance(p2)
+ * <li>p1 == p2 : Double.MAX
+ * </ul>
+ * <li>dist(p, seg) =
+ * <ul>
+ * <li>p != seq.p1 && p != seg.p2 : seg.distance(p)
+ * <li>ELSE : Double.MAX
+ * </ul>
+ * </ul>
+ * Also computes the values of the nearest points, if any.
+ *
+ * @author Martin Davis
+ *
+ */
+ private static class MinClearanceDistance
+ implements ItemDistance
+ {
+ private double minDist = Double.MAX_VALUE;
+ private Coordinate[] minPts = new Coordinate[2];
+
+ public Coordinate[] getCoordinates()
+ {
+ return minPts;
+ }
+
+ public double distance(ItemBoundable b1, ItemBoundable b2) {
+ FacetSequence fs1 = (FacetSequence) b1.getItem();
+ FacetSequence fs2 = (FacetSequence) b2.getItem();
+ minDist = Double.MAX_VALUE;
+ return distance(fs1, fs2);
+ }
+
+ public double distance(FacetSequence fs1, FacetSequence fs2) {
+
+ // compute MinClearance distance metric
+
+ vertexDistance(fs1, fs2);
+ if (fs1.size() == 1 && fs2.size() == 1) return minDist;
+ if (minDist <= 0.0) return minDist;
+ segmentDistance(fs1, fs2);
+ if (minDist <= 0.0) return minDist;
+ segmentDistance(fs2, fs1);
+ return minDist;
+ }
+
+ private double vertexDistance(FacetSequence fs1, FacetSequence fs2) {
+ for (int i1 = 0; i1 < fs1.size(); i1++) {
+ for (int i2 = 0; i2 < fs2.size(); i2++) {
+ Coordinate p1 = fs1.getCoordinate(i1);
+ Coordinate p2 = fs2.getCoordinate(i2);
+ if (! p1.equals2D(p2)) {
+ double d = p1.distance(p2);
+ if (d < minDist) {
+ minDist = d;
+ minPts[0] = p1;
+ minPts[1] = p2;
+ if (d == 0.0)
+ return d;
+ }
+ }
+ }
+ }
+ return minDist;
+ }
+
+ private double segmentDistance(FacetSequence fs1, FacetSequence fs2) {
+ for (int i1 = 0; i1 < fs1.size(); i1++) {
+ for (int i2 = 1; i2 < fs2.size(); i2++) {
+
+ Coordinate p = fs1.getCoordinate(i1);
+
+ Coordinate seg0 = fs2.getCoordinate(i2-1);
+ Coordinate seg1 = fs2.getCoordinate(i2);
+
+ if (! (p.equals2D(seg0) || p.equals2D(seg1))) {
+ double d = Distance.pointToSegment(p, seg0, seg1);
+ if (d < minDist) {
+ minDist = d;
+ updatePts(p, seg0, seg1);
+ if (d == 0.0)
+ return d;
+ }
+ }
+ }
+ }
+ return minDist;
+ }
+
+ private void updatePts(Coordinate p, Coordinate seg0, Coordinate seg1)
+ {
+ minPts[0] = p;
+ LineSegment seg = new LineSegment(seg0, seg1);
+ minPts[1] = new Coordinate(seg.closestPoint(p));
+ }
+
+
+ }
+
+
+ }
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/PrecisionReducerCoordinateOperation.java b/modules/core/src/main/java/org/locationtech/jts/precision/PrecisionReducerCoordinateOperation.java
new file mode 100644
index 0000000..25f4d28
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/PrecisionReducerCoordinateOperation.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.GeometryEditor;
+
+public class PrecisionReducerCoordinateOperation extends
+ GeometryEditor.CoordinateOperation
+{
+ private PrecisionModel targetPM;
+ private boolean removeCollapsed = true;
+
+ public PrecisionReducerCoordinateOperation(PrecisionModel targetPM, boolean removeCollapsed)
+ {
+ this.targetPM = targetPM;
+ this.removeCollapsed = removeCollapsed;
+ }
+
+ public Coordinate[] edit(Coordinate[] coordinates, Geometry geom) {
+ if (coordinates.length == 0)
+ return null;
+
+ Coordinate[] reducedCoords = new Coordinate[coordinates.length];
+ // copy coordinates and reduce
+ for (int i = 0; i < coordinates.length; i++) {
+ Coordinate coord = new Coordinate(coordinates[i]);
+ targetPM.makePrecise(coord);
+ reducedCoords[i] = coord;
+ }
+ // remove repeated points, to simplify returned geometry as much as possible
+ CoordinateList noRepeatedCoordList = new CoordinateList(reducedCoords,
+ false);
+ Coordinate[] noRepeatedCoords = noRepeatedCoordList.toCoordinateArray();
+
+ /**
+ * Check to see if the removal of repeated points collapsed the coordinate
+ * List to an invalid length for the type of the parent geometry. It is not
+ * necessary to check for Point collapses, since the coordinate list can
+ * never collapse to less than one point. If the length is invalid, return
+ * the full-length coordinate array first computed, or null if collapses are
+ * being removed. (This may create an invalid geometry - the client must
+ * handle this.)
+ */
+ int minLength = 0;
+ if (geom instanceof LineString)
+ minLength = 2;
+ if (geom instanceof LinearRing)
+ minLength = 4;
+
+ Coordinate[] collapsedCoords = reducedCoords;
+ if (removeCollapsed)
+ collapsedCoords = null;
+
+ // return null or orginal length coordinate array
+ if (noRepeatedCoords.length < minLength) {
+ return collapsedCoords;
+ }
+
+ // ok to return shorter coordinate array
+ return noRepeatedCoords;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducer.java b/modules/core/src/main/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducer.java
new file mode 100644
index 0000000..73c5f98
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducer.java
@@ -0,0 +1,153 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.GeometryEditor;
+
+/**
+ * Reduces the precision of the coordinates of a {@link Geometry}
+ * according to the supplied {@link PrecisionModel}, without
+ * attempting to preserve valid topology.
+ * <p>
+ * In the case of {@link Polygonal} geometries,
+ * the topology of the resulting geometry may be invalid if
+ * topological collapse occurs due to coordinates being shifted.
+ * It is up to the client to check this and handle it if necessary.
+ * Collapses may not matter for some uses. An example
+ * is simplifying the input to the buffer algorithm.
+ * The buffer algorithm does not depend on the validity of the input geometry.
+ *
+ * @version 1.7
+ *
+ * @deprecated use GeometryPrecisionReducer
+ */
+public class SimpleGeometryPrecisionReducer
+{
+ /**
+ * Convenience method for doing precision reduction on a single geometry,
+ * with collapses removed and keeping the geometry precision model the same.
+ *
+ * @param g
+ * @param precModel
+ * @return the reduced geometry
+ */
+ public static Geometry reduce(Geometry g, PrecisionModel precModel)
+ {
+ SimpleGeometryPrecisionReducer reducer = new SimpleGeometryPrecisionReducer(precModel);
+ return reducer.reduce(g);
+ }
+
+ private PrecisionModel newPrecisionModel;
+ private boolean removeCollapsed = true;
+ private boolean changePrecisionModel = false;
+
+ public SimpleGeometryPrecisionReducer(PrecisionModel pm)
+ {
+ newPrecisionModel = pm;
+ }
+
+ /**
+ * Sets whether the reduction will result in collapsed components
+ * being removed completely, or simply being collapsed to an (invalid)
+ * Geometry of the same type.
+ * The default is to remove collapsed components.
+ *
+ * @param removeCollapsed if <code>true</code> collapsed components will be removed
+ */
+ public void setRemoveCollapsedComponents(boolean removeCollapsed)
+ {
+ this.removeCollapsed = removeCollapsed;
+ }
+
+ /**
+ * Sets whether the {@link PrecisionModel} of the new reduced Geometry
+ * will be changed to be the {@link PrecisionModel} supplied to
+ * specify the precision reduction.
+ * <p>
+ * The default is to <b>not</b> change the precision model
+ *
+ * @param changePrecisionModel if <code>true</code> the precision model of the created Geometry will be the
+ * the precisionModel supplied in the constructor.
+ */
+ public void setChangePrecisionModel(boolean changePrecisionModel)
+ {
+ this.changePrecisionModel = changePrecisionModel;
+ }
+
+ public Geometry reduce(Geometry geom)
+ {
+ GeometryEditor geomEdit;
+ if (changePrecisionModel) {
+ GeometryFactory newFactory = new GeometryFactory(newPrecisionModel, geom.getFactory().getSRID());
+ geomEdit = new GeometryEditor(newFactory);
+ }
+ else
+ // don't change geometry factory
+ geomEdit = new GeometryEditor();
+
+ return geomEdit.edit(geom, new PrecisionReducerCoordinateOperation());
+ }
+
+ private class PrecisionReducerCoordinateOperation
+ extends GeometryEditor.CoordinateOperation
+ {
+ public Coordinate[] edit(Coordinate[] coordinates, Geometry geom)
+ {
+ if (coordinates.length == 0) return null;
+
+ Coordinate[] reducedCoords = new Coordinate[coordinates.length];
+ // copy coordinates and reduce
+ for (int i = 0; i < coordinates.length; i++) {
+ Coordinate coord = new Coordinate(coordinates[i]);
+ newPrecisionModel.makePrecise(coord);
+ reducedCoords[i] = coord;
+ }
+ // remove repeated points, to simplify returned geometry as much as possible
+ CoordinateList noRepeatedCoordList = new CoordinateList(reducedCoords, false);
+ Coordinate[] noRepeatedCoords = noRepeatedCoordList.toCoordinateArray();
+
+ /**
+ * Check to see if the removal of repeated points
+ * collapsed the coordinate List to an invalid length
+ * for the type of the parent geometry.
+ * It is not necessary to check for Point collapses, since the coordinate list can
+ * never collapse to less than one point.
+ * If the length is invalid, return the full-length coordinate array
+ * first computed, or null if collapses are being removed.
+ * (This may create an invalid geometry - the client must handle this.)
+ */
+ int minLength = 0;
+ if (geom instanceof LineString) minLength = 2;
+ if (geom instanceof LinearRing) minLength = 4;
+
+ Coordinate[] collapsedCoords = reducedCoords;
+ if (removeCollapsed) collapsedCoords = null;
+
+ // return null or orginal length coordinate array
+ if (noRepeatedCoords.length < minLength) {
+ return collapsedCoords;
+ }
+
+ // ok to return shorter coordinate array
+ return noRepeatedCoords;
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/SimpleMinimumClearance.java b/modules/core/src/main/java/org/locationtech/jts/precision/SimpleMinimumClearance.java
new file mode 100644
index 0000000..8d8c2af
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/SimpleMinimumClearance.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Computes the minimum clearance of a geometry or
+ * set of geometries.
+ * <p>
+ * The <b>Minimum Clearance</b> is a measure of
+ * what magnitude of perturbation of its vertices can be tolerated
+ * by a geometry before it becomes topologically invalid.
+ * <p>
+ * This class uses an inefficient O(N^2) scan.
+ * It is primarily for testing purposes.
+ *
+ *
+ * @see MinimumClearance
+ * @author Martin Davis
+ *
+ */
+public class SimpleMinimumClearance
+{
+ public static double getDistance(Geometry g)
+ {
+ SimpleMinimumClearance rp = new SimpleMinimumClearance(g);
+ return rp.getDistance();
+ }
+
+ public static Geometry getLine(Geometry g)
+ {
+ SimpleMinimumClearance rp = new SimpleMinimumClearance(g);
+ return rp.getLine();
+ }
+
+ private Geometry inputGeom;
+ private double minClearance;
+ private Coordinate[] minClearancePts;
+
+ public SimpleMinimumClearance(Geometry geom)
+ {
+ inputGeom = geom;
+ }
+
+ public double getDistance()
+ {
+ compute();
+ return minClearance;
+ }
+
+ public LineString getLine()
+ {
+ compute();
+ return inputGeom.getFactory().createLineString(minClearancePts);
+ }
+
+ private void compute()
+ {
+ if (minClearancePts != null) return;
+ minClearancePts = new Coordinate[2];
+ minClearance = Double.MAX_VALUE;
+ inputGeom.apply(new VertexCoordinateFilter(this));
+ }
+
+ private void updateClearance(double candidateValue, Coordinate p0, Coordinate p1)
+ {
+ if (candidateValue < minClearance) {
+ minClearance = candidateValue;
+ minClearancePts[0] = new Coordinate(p0);
+ minClearancePts[1] = new Coordinate(p1);
+ }
+ }
+
+ private void updateClearance(double candidateValue, Coordinate p,
+ Coordinate seg0, Coordinate seg1)
+ {
+ if (candidateValue < minClearance) {
+ minClearance = candidateValue;
+ minClearancePts[0] = new Coordinate(p);
+ LineSegment seg = new LineSegment(seg0, seg1);
+ minClearancePts[1] = new Coordinate(seg.closestPoint(p));
+ }
+ }
+
+ private static class VertexCoordinateFilter
+ implements CoordinateFilter
+ {
+ SimpleMinimumClearance smc;
+
+ public VertexCoordinateFilter(SimpleMinimumClearance smc)
+ {
+ this.smc = smc;
+ }
+
+ public void filter(Coordinate coord) {
+ smc.inputGeom.apply(new ComputeMCCoordinateSequenceFilter(smc, coord));
+ }
+ }
+
+ private static class ComputeMCCoordinateSequenceFilter
+ implements CoordinateSequenceFilter
+ {
+ SimpleMinimumClearance smc;
+ private Coordinate queryPt;
+
+ public ComputeMCCoordinateSequenceFilter(SimpleMinimumClearance smc, Coordinate queryPt)
+ {
+ this.smc = smc;
+ this.queryPt = queryPt;
+ }
+ public void filter(CoordinateSequence seq, int i) {
+ // compare to vertex
+ checkVertexDistance(seq.getCoordinate(i));
+
+ // compare to segment, if this is one
+ if (i > 0) {
+ checkSegmentDistance(seq.getCoordinate(i - 1), seq.getCoordinate(i));
+ }
+ }
+
+ private void checkVertexDistance(Coordinate vertex)
+ {
+ double vertexDist = vertex.distance(queryPt);
+ if (vertexDist > 0) {
+ smc.updateClearance(vertexDist, queryPt, vertex);
+ }
+ }
+
+ private void checkSegmentDistance(Coordinate seg0, Coordinate seg1)
+ {
+ if (queryPt.equals2D(seg0) || queryPt.equals2D(seg1))
+ return;
+ double segDist = Distance.pointToSegment(queryPt, seg1, seg0);
+ if (segDist > 0)
+ smc.updateClearance(segDist, queryPt, seg1, seg0);
+ }
+
+ public boolean isDone() {
+ return false;
+ }
+
+ public boolean isGeometryChanged() {
+ return false;
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/doc-files/minClearance.png b/modules/core/src/main/java/org/locationtech/jts/precision/doc-files/minClearance.png
new file mode 100644
index 0000000..2547a7e
Binary files /dev/null and b/modules/core/src/main/java/org/locationtech/jts/precision/doc-files/minClearance.png differ
diff --git a/modules/core/src/main/java/org/locationtech/jts/precision/package.html b/modules/core/src/main/java/org/locationtech/jts/precision/package.html
new file mode 100644
index 0000000..b091498
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/precision/package.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Provides classes for analyzing and
+manipulating the precision of Geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/shape/GeometricShapeBuilder.java b/modules/core/src/main/java/org/locationtech/jts/shape/GeometricShapeBuilder.java
new file mode 100644
index 0000000..7594958
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/shape/GeometricShapeBuilder.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.shape;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+
+public abstract class GeometricShapeBuilder
+{
+ protected Envelope extent = new Envelope(0, 1, 0, 1);
+ protected int numPts = 0;
+ protected GeometryFactory geomFactory;
+
+ public GeometricShapeBuilder(GeometryFactory geomFactory)
+ {
+ this.geomFactory = geomFactory;
+ }
+
+ public void setExtent(Envelope extent)
+ {
+ this.extent = extent;
+ }
+
+ public Envelope getExtent()
+ {
+ return extent;
+ }
+
+ public Coordinate getCentre()
+ {
+ return extent.centre();
+ }
+
+ public double getDiameter()
+ {
+ return Math.min(extent.getHeight(), extent.getWidth());
+ }
+
+ public double getRadius()
+ {
+ return getDiameter() / 2;
+ }
+
+ public LineSegment getSquareBaseLine()
+ {
+ double radius = getRadius();
+
+ Coordinate centre = getCentre();
+ Coordinate p0 = new Coordinate(centre.x - radius, centre.y - radius);
+ Coordinate p1 = new Coordinate(centre.x + radius, centre.y - radius);
+ return new LineSegment(p0, p1);
+ }
+
+ public Envelope getSquareExtent()
+ {
+ double radius = getRadius();
+
+ Coordinate centre = getCentre();
+ return new Envelope(centre.x - radius, centre.x + radius,
+ centre.y - radius, centre.y + radius);
+ }
+
+
+ /**
+ * Sets the total number of points in the created {@link Geometry}.
+ * The created geometry will have no more than this number of points,
+ * unless more are needed to create a valid geometry.
+ */
+ public void setNumPoints(int numPts) { this.numPts = numPts; }
+
+ public abstract Geometry getGeometry();
+
+ protected Coordinate createCoord(double x, double y)
+ {
+ Coordinate pt = new Coordinate(x, y);
+ geomFactory.getPrecisionModel().makePrecise(pt);
+ return pt;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/shape/fractal/KochSnowflakeBuilder.java b/modules/core/src/main/java/org/locationtech/jts/shape/fractal/KochSnowflakeBuilder.java
new file mode 100644
index 0000000..e1f3695
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/shape/fractal/KochSnowflakeBuilder.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.shape.fractal;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.math.Vector2D;
+import org.locationtech.jts.shape.GeometricShapeBuilder;
+
+public class KochSnowflakeBuilder
+extends GeometricShapeBuilder
+{
+ private CoordinateList coordList = new CoordinateList();
+
+ public KochSnowflakeBuilder(GeometryFactory geomFactory)
+ {
+ super(geomFactory);
+ }
+
+ public static int recursionLevelForSize(int numPts)
+ {
+ double pow4 = numPts / 3;
+ double exp = Math.log(pow4)/Math.log(4);
+ return (int) exp;
+ }
+
+ public Geometry getGeometry()
+ {
+ int level = recursionLevelForSize(numPts);
+ LineSegment baseLine = getSquareBaseLine();
+ Coordinate[] pts = getBoundary(level, baseLine.getCoordinate(0), baseLine.getLength());
+ return geomFactory.createPolygon(
+ geomFactory.createLinearRing(pts), null);
+ }
+
+ /**
+ * The height of an equilateral triangle of side one
+ */
+ private static final double HEIGHT_FACTOR = Math.sin(Math.PI / 3.0);
+ private static final double ONE_THIRD = 1.0/3.0;
+ private static final double THIRD_HEIGHT = HEIGHT_FACTOR/3.0;
+ private static final double TWO_THIRDS = 2.0/3.0;
+
+ private Coordinate[] getBoundary(int level, Coordinate origin, double width)
+ {
+ double y = origin.y;
+ // for all levels beyond 0 need to vertically shift shape by height of one "arm" to centre it
+ if (level > 0) {
+ y += THIRD_HEIGHT * width;
+ }
+
+ Coordinate p0 = new Coordinate(origin.x, y);
+ Coordinate p1 = new Coordinate(origin.x + width/2, y + width * HEIGHT_FACTOR);
+ Coordinate p2 = new Coordinate(origin.x + width, y);
+ addSide(level, p0, p1);
+ addSide(level, p1, p2);
+ addSide(level, p2, p0);
+ coordList.closeRing();
+ return coordList.toCoordinateArray();
+ }
+
+ public void addSide(int level, Coordinate p0, Coordinate p1) {
+ if (level == 0)
+ addSegment(p0, p1);
+ else {
+ Vector2D base = Vector2D.create(p0, p1);
+ Coordinate midPt = base.multiply(0.5).translate(p0);
+
+ Vector2D heightVec = base.multiply(THIRD_HEIGHT);
+ Vector2D offsetVec = heightVec.rotateByQuarterCircle(1);
+ Coordinate offsetPt = offsetVec.translate(midPt);
+
+ int n2 = level - 1;
+ Coordinate thirdPt = base.multiply(ONE_THIRD).translate(p0);
+ Coordinate twoThirdPt = base.multiply(TWO_THIRDS).translate(p0);
+
+ // construct sides recursively
+ addSide(n2, p0, thirdPt);
+ addSide(n2, thirdPt, offsetPt);
+ addSide(n2, offsetPt, twoThirdPt);
+ addSide(n2, twoThirdPt, p1);
+ }
+ }
+
+ private void addSegment(Coordinate p0, Coordinate p1)
+ {
+ coordList.add(p1);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/shape/fractal/SierpinskiCarpetBuilder.java b/modules/core/src/main/java/org/locationtech/jts/shape/fractal/SierpinskiCarpetBuilder.java
new file mode 100644
index 0000000..73dbd7c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/shape/fractal/SierpinskiCarpetBuilder.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.shape.fractal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.shape.GeometricShapeBuilder;
+
+
+public class SierpinskiCarpetBuilder
+extends GeometricShapeBuilder
+{
+ private CoordinateList coordList = new CoordinateList();
+
+ public SierpinskiCarpetBuilder(GeometryFactory geomFactory)
+ {
+ super(geomFactory);
+ }
+
+ public static int recursionLevelForSize(int numPts)
+ {
+ double pow4 = numPts / 3;
+ double exp = Math.log(pow4)/Math.log(4);
+ return (int) exp;
+ }
+
+ public Geometry getGeometry()
+ {
+ int level = recursionLevelForSize(numPts);
+ LineSegment baseLine = getSquareBaseLine();
+ Coordinate origin = baseLine.getCoordinate(0);
+ LinearRing[] holes = getHoles(level, origin.x, origin.y, getDiameter());
+ LinearRing shell = (LinearRing) ((Polygon) geomFactory.toGeometry(getSquareExtent())).getExteriorRing();
+ return geomFactory.createPolygon(
+ shell, holes);
+ }
+
+ private LinearRing[] getHoles(int n, double originX, double originY, double width)
+ {
+ List holeList = new ArrayList();
+
+ addHoles(n, originX, originY, width, holeList );
+
+ return GeometryFactory.toLinearRingArray(holeList);
+ }
+
+ private void addHoles(int n, double originX, double originY, double width, List holeList)
+ {
+ if (n < 0) return;
+ int n2 = n - 1;
+ double widthThird = width / 3.0;
+ double widthTwoThirds = width * 2.0 / 3.0;
+ double widthNinth = width / 9.0;
+ addHoles(n2, originX, originY, widthThird, holeList);
+ addHoles(n2, originX + widthThird, originY, widthThird, holeList);
+ addHoles(n2, originX + 2 * widthThird, originY, widthThird, holeList);
+
+ addHoles(n2, originX, originY + widthThird, widthThird, holeList);
+ addHoles(n2, originX + 2 * widthThird, originY + widthThird, widthThird, holeList);
+
+ addHoles(n2, originX, originY + 2 * widthThird, widthThird, holeList);
+ addHoles(n2, originX + widthThird, originY + 2 * widthThird, widthThird, holeList);
+ addHoles(n2, originX + 2 * widthThird, originY + 2 * widthThird, widthThird, holeList);
+
+ // add the centre hole
+ holeList.add(createSquareHole(originX + widthThird, originY + widthThird, widthThird));
+ }
+
+ private LinearRing createSquareHole(double x, double y, double width)
+ {
+ Coordinate[] pts = new Coordinate[]{
+ new Coordinate(x, y),
+ new Coordinate(x + width, y),
+ new Coordinate(x + width, y + width),
+ new Coordinate(x, y + width),
+ new Coordinate(x, y)
+ } ;
+ return geomFactory.createLinearRing(pts);
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsBuilder.java b/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsBuilder.java
new file mode 100644
index 0000000..1d1de67
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsBuilder.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.shape.random;
+
+import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.shape.GeometricShapeBuilder;
+
+/**
+ * Creates random point sets contained in a
+ * region defined by either a rectangular or a polygonal extent.
+ *
+ * @author mbdavis
+ *
+ */
+public class RandomPointsBuilder
+extends GeometricShapeBuilder
+{
+ protected Geometry maskPoly = null;
+ private PointOnGeometryLocator extentLocator;
+
+ /**
+ * Create a shape factory which will create shapes using the default
+ * {@link GeometryFactory}.
+ */
+ public RandomPointsBuilder()
+ {
+ super(new GeometryFactory());
+ }
+
+ /**
+ * Create a shape factory which will create shapes using the given
+ * {@link GeometryFactory}.
+ *
+ * @param geomFact the factory to use
+ */
+ public RandomPointsBuilder(GeometryFactory geomFact)
+ {
+ super(geomFact);
+ }
+
+ /**
+ * Sets a polygonal mask.
+ *
+ * @param mask
+ * @throws IllegalArgumentException if the mask is not polygonal
+ */
+ public void setExtent(Geometry mask)
+ {
+ if (! (mask instanceof Polygonal))
+ throw new IllegalArgumentException("Only polygonal extents are supported");
+ this.maskPoly = mask;
+ setExtent(mask.getEnvelopeInternal());
+ extentLocator = new IndexedPointInAreaLocator(mask);
+ }
+
+ public Geometry getGeometry()
+ {
+ Coordinate[] pts = new Coordinate[numPts];
+ int i = 0;
+ while (i < numPts) {
+ Coordinate p = createRandomCoord(getExtent());
+ if (extentLocator != null && ! isInExtent(p))
+ continue;
+ pts[i++] = p;
+ }
+ return geomFactory.createMultiPointFromCoords(pts);
+ }
+
+ protected boolean isInExtent(Coordinate p)
+ {
+ if (extentLocator != null)
+ return extentLocator.locate(p) != Location.EXTERIOR;
+ return getExtent().contains(p);
+ }
+
+ protected Coordinate createCoord(double x, double y)
+ {
+ Coordinate pt = new Coordinate(x, y);
+ geomFactory.getPrecisionModel().makePrecise(pt);
+ return pt;
+ }
+
+ protected Coordinate createRandomCoord(Envelope env)
+ {
+ double x = env.getMinX() + env.getWidth() * Math.random();
+ double y = env.getMinY() + env.getHeight() * Math.random();
+ return createCoord(x, y);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsInGridBuilder.java b/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsInGridBuilder.java
new file mode 100644
index 0000000..9ea42af
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/shape/random/RandomPointsInGridBuilder.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.shape.random;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.math.MathUtil;
+import org.locationtech.jts.shape.GeometricShapeBuilder;
+
+
+/**
+ * Creates random point sets
+ * where the points are constrained to lie in the cells of a grid.
+ *
+ * @author mbdavis
+ *
+ */
+public class RandomPointsInGridBuilder
+extends GeometricShapeBuilder
+{
+ private boolean isConstrainedToCircle = false;
+ private double gutterFraction = 0;
+
+ /**
+ * Create a builder which will create shapes using the default
+ * {@link GeometryFactory}.
+ */
+ public RandomPointsInGridBuilder()
+ {
+ super(new GeometryFactory());
+ }
+
+ /**
+ * Create a builder which will create shapes using the given
+ * {@link GeometryFactory}.
+ *
+ * @param geomFact the factory to use
+ */
+ public RandomPointsInGridBuilder(GeometryFactory geomFact)
+ {
+ super(geomFact);
+ }
+
+ /**
+ * Sets whether generated points are constrained to lie
+ * within a circle contained within each grid cell.
+ * This provides greater separation between points
+ * in adjacent cells.
+ * <p>
+ * The default is to not be constrained to a circle.
+ * @param isConstrainedToCircle
+ */
+ public void setConstrainedToCircle(boolean isConstrainedToCircle)
+ {
+ this.isConstrainedToCircle = isConstrainedToCircle;
+ }
+
+ /**
+ * Sets the fraction of the grid cell side which will be treated as
+ * a gutter, in which no points will be created.
+ * The provided value is clamped to the range [0.0, 1.0].
+ *
+ * @param gutterFraction
+ */
+ public void setGutterFraction(double gutterFraction)
+ {
+ this.gutterFraction = gutterFraction;
+ }
+
+ /**
+ * Gets the {@link MultiPoint} containing the generated point
+ *
+ * @return a MultiPoint
+ */
+ public Geometry getGeometry()
+ {
+ int nCells = (int) Math.sqrt(numPts);
+ // ensure that at least numPts points are generated
+ if (nCells * nCells < numPts)
+ nCells += 1;
+
+ double gridDX = getExtent().getWidth() / nCells;
+ double gridDY = getExtent().getHeight() / nCells;
+
+ double gutterFrac = MathUtil.clamp(gutterFraction, 0.0, 1.0);
+ double gutterOffsetX = gridDX * gutterFrac/2;
+ double gutterOffsetY = gridDY * gutterFrac/2;
+ double cellFrac = 1.0 - gutterFrac;
+ double cellDX = cellFrac * gridDX;
+ double cellDY = cellFrac * gridDY;
+
+ Coordinate[] pts = new Coordinate[nCells * nCells];
+ int index = 0;
+ for (int i = 0; i < nCells; i++) {
+ for (int j = 0; j < nCells; j++) {
+ double orgX = getExtent().getMinX() + i * gridDX + gutterOffsetX;
+ double orgY = getExtent().getMinY() + j * gridDY + gutterOffsetY;
+ pts[index++] = randomPointInCell(orgX, orgY, cellDX, cellDY);
+ }
+ }
+ return geomFactory.createMultiPointFromCoords(pts);
+ }
+
+ private Coordinate randomPointInCell(double orgX, double orgY, double xLen, double yLen)
+ {
+ if (isConstrainedToCircle) {
+ return randomPointInCircle(
+ orgX,
+ orgY,
+ xLen, yLen);
+ }
+ return randomPointInGridCell(orgX, orgY, xLen, yLen);
+ }
+
+ private Coordinate randomPointInGridCell(double orgX, double orgY, double xLen, double yLen)
+ {
+ double x = orgX + xLen * Math.random();
+ double y = orgY + yLen * Math.random();
+ return createCoord(x, y);
+ }
+
+ private static Coordinate randomPointInCircle(double orgX, double orgY, double width, double height)
+ {
+ double centreX = orgX + width/2;
+ double centreY = orgY + height/2;
+
+ double rndAng = 2 * Math.PI * Math.random();
+ double rndRadius = Math.random();
+ // use square root of radius, since area is proportional to square of radius
+ double rndRadius2 = Math.sqrt(rndRadius);
+ double rndX = width/2 * rndRadius2 * Math.cos(rndAng);
+ double rndY = height/2 * rndRadius2 * Math.sin(rndAng);
+
+ double x0 = centreX + rndX;
+ double y0 = centreY + rndY;
+ return new Coordinate(x0, y0);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerLineSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerLineSimplifier.java
new file mode 100644
index 0000000..62b5d68
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerLineSimplifier.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * Simplifies a linestring (sequence of points) using
+ * the standard Douglas-Peucker algorithm.
+ *
+ * @version 1.7
+ */
+class DouglasPeuckerLineSimplifier
+{
+ public static Coordinate[] simplify(Coordinate[] pts, double distanceTolerance)
+ {
+ DouglasPeuckerLineSimplifier simp = new DouglasPeuckerLineSimplifier(pts);
+ simp.setDistanceTolerance(distanceTolerance);
+ return simp.simplify();
+ }
+
+ private Coordinate[] pts;
+ private boolean[] usePt;
+ private double distanceTolerance;
+
+ public DouglasPeuckerLineSimplifier(Coordinate[] pts)
+ {
+ this.pts = pts;
+ }
+ /**
+ * Sets the distance tolerance for the simplification.
+ * All vertices in the simplified linestring will be within this
+ * distance of the original linestring.
+ *
+ * @param distanceTolerance the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ public Coordinate[] simplify()
+ {
+ usePt = new boolean[pts.length];
+ for (int i = 0; i < pts.length; i++) {
+ usePt[i] = true;
+ }
+ simplifySection(0, pts.length - 1);
+ CoordinateList coordList = new CoordinateList();
+ for (int i = 0; i < pts.length; i++) {
+ if (usePt[i])
+ coordList.add(new Coordinate(pts[i]));
+ }
+ return coordList.toCoordinateArray();
+ }
+
+ private LineSegment seg = new LineSegment();
+
+ private void simplifySection(int i, int j)
+ {
+ if((i+1) == j) {
+ return;
+ }
+ seg.p0 = pts[i];
+ seg.p1 = pts[j];
+ double maxDistance = -1.0;
+ int maxIndex = i;
+ for (int k = i + 1; k < j; k++) {
+ double distance = seg.distance(pts[k]);
+ if (distance > maxDistance) {
+ maxDistance = distance;
+ maxIndex = k;
+ }
+ }
+ if (maxDistance <= distanceTolerance) {
+ for(int k = i + 1; k < j; k++) {
+ usePt[k] = false;
+ }
+ }
+ else {
+ simplifySection(i, maxIndex);
+ simplifySection(maxIndex, j);
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.java
new file mode 100644
index 0000000..8718975
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * Simplifies a {@link Geometry} using the Douglas-Peucker algorithm.
+ * Ensures that any polygonal geometries returned are valid.
+ * Simple lines are not guaranteed to remain simple after simplification.
+ * All geometry types are handled.
+ * Empty and point geometries are returned unchanged.
+ * Empty geometry components are deleted.
+ * <p>
+ * Note that in general D-P does not preserve topology -
+ * e.g. polygons can be split, collapse to lines or disappear
+ * holes can be created or disappear,
+ * and lines can cross.
+ * To simplify geometry while preserving topology use {@link TopologyPreservingSimplifier}.
+ * (However, using D-P is significantly faster).
+ *<h2>KNOWN BUGS</h2>
+ *<ul>
+ *<li>In some cases the approach used to clean invalid simplified polygons
+ *can distort the output geometry severely.
+ *</ul>
+ *
+ *
+ * @version 1.7
+ * @see TopologyPreservingSimplifier
+ */
+public class DouglasPeuckerSimplifier
+{
+
+ /**
+ * Simplifies a geometry using a given tolerance.
+ *
+ * @param geom geometry to simplify
+ * @param distanceTolerance the tolerance to use
+ * @return a simplified version of the geometry
+ */
+ public static Geometry simplify(Geometry geom, double distanceTolerance)
+ {
+ DouglasPeuckerSimplifier tss = new DouglasPeuckerSimplifier(geom);
+ tss.setDistanceTolerance(distanceTolerance);
+ return tss.getResultGeometry();
+ }
+
+ private Geometry inputGeom;
+ private double distanceTolerance;
+ private boolean isEnsureValidTopology = true;
+
+ /**
+ * Creates a simplifier for a given geometry.
+ *
+ * @param inputGeom the geometry to simplify
+ */
+ public DouglasPeuckerSimplifier(Geometry inputGeom)
+ {
+ this.inputGeom = inputGeom;
+ }
+
+ /**
+ * Sets the distance tolerance for the simplification.
+ * All vertices in the simplified geometry will be within this
+ * distance of the original geometry.
+ * The tolerance value must be non-negative.
+ *
+ * @param distanceTolerance the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ if (distanceTolerance < 0.0)
+ throw new IllegalArgumentException("Tolerance must be non-negative");
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ /**
+ * Controls whether simplified polygons will be "fixed"
+ * to have valid topology.
+ * The caller may choose to disable this because:
+ * <ul>
+ * <li>valid topology is not required
+ * <li>fixing topology is a relative expensive operation
+ * <li>in some pathological cases the topology fixing operation may either fail or run for too long
+ * </ul>
+ *
+ * The default is to fix polygon topology.
+ *
+ * @param isEnsureValidTopology
+ */
+ public void setEnsureValid(boolean isEnsureValidTopology)
+ {
+ this.isEnsureValidTopology = isEnsureValidTopology;
+ }
+
+ /**
+ * Gets the simplified geometry.
+ *
+ * @return the simplified geometry
+ */
+ public Geometry getResultGeometry()
+ {
+ // empty input produces an empty result
+ if (inputGeom.isEmpty()) return inputGeom.copy();
+
+ return (new DPTransformer(isEnsureValidTopology, distanceTolerance)).transform(inputGeom);
+ }
+
+static class DPTransformer
+ extends GeometryTransformer
+{
+ private boolean isEnsureValidTopology = true;
+ private double distanceTolerance;
+
+ public DPTransformer(boolean isEnsureValidTopology, double distanceTolerance)
+ {
+ this.isEnsureValidTopology = isEnsureValidTopology;
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
+ {
+ Coordinate[] inputPts = coords.toCoordinateArray();
+ Coordinate[] newPts = null;
+ if (inputPts.length == 0) {
+ newPts = new Coordinate[0];
+ }
+ else {
+ newPts = DouglasPeuckerLineSimplifier.simplify(inputPts, distanceTolerance);
+ }
+ return factory.getCoordinateSequenceFactory().create(newPts);
+ }
+
+ /**
+ * Simplifies a polygon, fixing it if required.
+ */
+ protected Geometry transformPolygon(Polygon geom, Geometry parent) {
+ // empty geometries are simply removed
+ if (geom.isEmpty())
+ return null;
+ Geometry rawGeom = super.transformPolygon(geom, parent);
+ // don't try and correct if the parent is going to do this
+ if (parent instanceof MultiPolygon) {
+ return rawGeom;
+ }
+ return createValidArea(rawGeom);
+ }
+
+ /**
+ * Simplifies a LinearRing. If the simplification results
+ * in a degenerate ring, remove the component.
+ *
+ * @return null if the simplification results in a degenerate ring
+ */
+ protected Geometry transformLinearRing(LinearRing geom, Geometry parent)
+ {
+ boolean removeDegenerateRings = parent instanceof Polygon;
+ Geometry simpResult = super.transformLinearRing(geom, parent);
+ if (removeDegenerateRings && ! (simpResult instanceof LinearRing))
+ return null;;
+ return simpResult;
+ }
+
+ /**
+ * Simplifies a MultiPolygon, fixing it if required.
+ */
+ protected Geometry transformMultiPolygon(MultiPolygon geom, Geometry parent) {
+ Geometry rawGeom = super.transformMultiPolygon(geom, parent);
+ return createValidArea(rawGeom);
+ }
+
+ /**
+ * Creates a valid area geometry from one that possibly has
+ * bad topology (i.e. self-intersections).
+ * Since buffer can handle invalid topology, but always returns
+ * valid geometry, constructing a 0-width buffer "corrects" the
+ * topology.
+ * Note this only works for area geometries, since buffer always returns
+ * areas. This also may return empty geometries, if the input
+ * has no actual area.
+ *
+ * @param rawAreaGeom an area geometry possibly containing self-intersections
+ * @return a valid area geometry
+ */
+ private Geometry createValidArea(Geometry rawAreaGeom)
+ {
+ if ( isEnsureValidTopology)
+ return rawAreaGeom.buffer(0.0);
+ return rawAreaGeom;
+ }
+}
+
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/LineSegmentIndex.java b/modules/core/src/main/java/org/locationtech/jts/simplify/LineSegmentIndex.java
new file mode 100644
index 0000000..7b006aa
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/LineSegmentIndex.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.quadtree.Quadtree;
+
+/**
+ * An spatial index on a set of {@link LineSegment}s.
+ * Supports adding and removing items.
+ *
+ * @author Martin Davis
+ */
+class LineSegmentIndex
+{
+ private Quadtree index = new Quadtree();
+
+ public LineSegmentIndex()
+ {
+ }
+
+ public void add(TaggedLineString line) {
+ TaggedLineSegment[] segs = line.getSegments();
+ for (int i = 0; i < segs.length; i++) {
+ TaggedLineSegment seg = segs[i];
+ add(seg);
+ }
+ }
+
+ public void add(LineSegment seg)
+ {
+ index.insert(new Envelope(seg.p0, seg.p1), seg);
+ }
+
+ public void remove(LineSegment seg)
+ {
+ index.remove(new Envelope(seg.p0, seg.p1), seg);
+ }
+
+ public List query(LineSegment querySeg)
+ {
+ Envelope env = new Envelope(querySeg.p0, querySeg.p1);
+
+ LineSegmentVisitor visitor = new LineSegmentVisitor(querySeg);
+ index.query(env, visitor);
+ List itemsFound = visitor.getItems();
+
+// List listQueryItems = index.query(env);
+// System.out.println("visitor size = " + itemsFound.size()
+// + " query size = " + listQueryItems.size());
+// List itemsFound = index.query(env);
+
+ return itemsFound;
+ }
+}
+
+/**
+ * ItemVisitor subclass to reduce volume of query results.
+ */
+class LineSegmentVisitor
+ implements ItemVisitor
+{
+// MD - only seems to make about a 10% difference in overall time.
+
+ private LineSegment querySeg;
+ private ArrayList items = new ArrayList();
+
+ public LineSegmentVisitor(LineSegment querySeg) {
+ this.querySeg = querySeg;
+ }
+
+ public void visitItem(Object item)
+ {
+ LineSegment seg = (LineSegment) item;
+ if (Envelope.intersects(seg.p0, seg.p1, querySeg.p0, querySeg.p1))
+ items.add(item);
+ }
+
+ public ArrayList getItems() { return items; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineSegment.java b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineSegment.java
new file mode 100644
index 0000000..5862df9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineSegment.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * A {@link LineSegment} which is tagged with its location in a parent {@link Geometry}.
+ * Used to index the segments in a geometry and recover the segment locations
+ * from the index.
+ */
+class TaggedLineSegment
+ extends LineSegment
+{
+ private Geometry parent;
+ private int index;
+
+ public TaggedLineSegment(Coordinate p0, Coordinate p1, Geometry parent, int index) {
+ super(p0, p1);
+ this.parent = parent;
+ this.index = index;
+ }
+
+ public TaggedLineSegment(Coordinate p0, Coordinate p1) {
+ this(p0, p1, null, -1);
+ }
+
+ public Geometry getParent() { return parent; }
+ public int getIndex() { return index; }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineString.java b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineString.java
new file mode 100644
index 0000000..d87f57a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineString.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+
+/**
+ * Represents a {@link LineString} which can be modified to a simplified shape.
+ * This class provides an attribute which specifies the minimum allowable length
+ * for the modified result.
+ *
+ * @version 1.7
+ */
+class TaggedLineString
+{
+
+ private LineString parentLine;
+ private TaggedLineSegment[] segs;
+ private List resultSegs = new ArrayList();
+ private int minimumSize;
+
+ public TaggedLineString(LineString parentLine) {
+ this(parentLine, 2);
+ }
+
+ public TaggedLineString(LineString parentLine, int minimumSize) {
+ this.parentLine = parentLine;
+ this.minimumSize = minimumSize;
+ init();
+ }
+
+ public int getMinimumSize() { return minimumSize; }
+ public LineString getParent() { return parentLine; }
+ public Coordinate[] getParentCoordinates() { return parentLine.getCoordinates(); }
+ public Coordinate[] getResultCoordinates() { return extractCoordinates(resultSegs); }
+
+ public int getResultSize()
+ {
+ int resultSegsSize = resultSegs.size();
+ return resultSegsSize == 0 ? 0 : resultSegsSize + 1;
+ }
+
+ public TaggedLineSegment getSegment(int i) { return segs[i]; }
+
+ private void init()
+ {
+ Coordinate[] pts = parentLine.getCoordinates();
+ segs = new TaggedLineSegment[pts.length - 1];
+ for (int i = 0; i < pts.length - 1; i++) {
+ TaggedLineSegment seg
+ = new TaggedLineSegment(pts[i], pts[i + 1], parentLine, i);
+ segs[i] = seg;
+ }
+ }
+
+ public TaggedLineSegment[] getSegments() { return segs; }
+
+ public void addToResult(LineSegment seg)
+ {
+ resultSegs.add(seg);
+ }
+
+ public LineString asLineString()
+ {
+ return parentLine.getFactory().createLineString(extractCoordinates(resultSegs));
+ }
+
+ public LinearRing asLinearRing() {
+ return parentLine.getFactory().createLinearRing(extractCoordinates(resultSegs));
+ }
+
+ private static Coordinate[] extractCoordinates(List segs)
+ {
+ Coordinate[] pts = new Coordinate[segs.size() + 1];
+ LineSegment seg = null;
+ for (int i = 0; i < segs.size(); i++) {
+ seg = (LineSegment) segs.get(i);
+ pts[i] = seg.p0;
+ }
+ // add last point
+ pts[pts.length - 1] = seg.p1;
+ return pts;
+ }
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineStringSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineStringSimplifier.java
new file mode 100644
index 0000000..f59b383
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLineStringSimplifier.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * Simplifies a TaggedLineString, preserving topology
+ * (in the sense that no new intersections are introduced).
+ * Uses the recursive Douglas-Peucker algorithm.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class TaggedLineStringSimplifier
+{
+ private LineIntersector li = new RobustLineIntersector();
+ private LineSegmentIndex inputIndex = new LineSegmentIndex();
+ private LineSegmentIndex outputIndex = new LineSegmentIndex();
+ private TaggedLineString line;
+ private Coordinate[] linePts;
+ private double distanceTolerance = 0.0;
+
+ public TaggedLineStringSimplifier(LineSegmentIndex inputIndex,
+ LineSegmentIndex outputIndex)
+ {
+ this.inputIndex = inputIndex;
+ this.outputIndex = outputIndex;
+ }
+
+ /**
+ * Sets the distance tolerance for the simplification.
+ * All vertices in the simplified geometry will be within this
+ * distance of the original geometry.
+ *
+ * @param distanceTolerance the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ /**
+ * Simplifies the given {@link TaggedLineString}
+ * using the distance tolerance specified.
+ *
+ * @param line the linestring to simplify
+ */
+ void simplify(TaggedLineString line)
+ {
+ this.line = line;
+ linePts = line.getParentCoordinates();
+ simplifySection(0, linePts.length - 1, 0);
+ }
+
+ private void simplifySection(int i, int j, int depth)
+ {
+ depth += 1;
+ int[] sectionIndex = new int[2];
+ if((i+1) == j) {
+ LineSegment newSeg = line.getSegment(i);
+ line.addToResult(newSeg);
+ // leave this segment in the input index, for efficiency
+ return;
+ }
+
+ boolean isValidToSimplify = true;
+
+ /**
+ * Following logic ensures that there is enough points in the output line.
+ * If there is already more points than the minimum, there's nothing to check.
+ * Otherwise, if in the worst case there wouldn't be enough points,
+ * don't flatten this segment (which avoids the worst case scenario)
+ */
+ if (line.getResultSize() < line.getMinimumSize()) {
+ int worstCaseSize = depth + 1;
+ if (worstCaseSize < line.getMinimumSize())
+ isValidToSimplify = false;
+ }
+
+ double[] distance = new double[1];
+ int furthestPtIndex = findFurthestPoint(linePts, i, j, distance);
+ // flattening must be less than distanceTolerance
+ if (distance[0] > distanceTolerance) isValidToSimplify = false;
+ // test if flattened section would cause intersection
+ LineSegment candidateSeg = new LineSegment();
+ candidateSeg.p0 = linePts[i];
+ candidateSeg.p1 = linePts[j];
+ sectionIndex[0] = i;
+ sectionIndex[1] = j;
+ if (hasBadIntersection(line, sectionIndex, candidateSeg)) isValidToSimplify = false;
+
+ if (isValidToSimplify) {
+ LineSegment newSeg = flatten(i, j);
+ line.addToResult(newSeg);
+ return;
+ }
+ simplifySection(i, furthestPtIndex, depth);
+ simplifySection(furthestPtIndex, j, depth);
+ }
+
+ private int findFurthestPoint(Coordinate[] pts, int i, int j, double[] maxDistance)
+ {
+ LineSegment seg = new LineSegment();
+ seg.p0 = pts[i];
+ seg.p1 = pts[j];
+ double maxDist = -1.0;
+ int maxIndex = i;
+ for (int k = i + 1; k < j; k++) {
+ Coordinate midPt = pts[k];
+ double distance = seg.distance(midPt);
+ if (distance > maxDist) {
+ maxDist = distance;
+ maxIndex = k;
+ }
+ }
+ maxDistance[0] = maxDist;
+ return maxIndex;
+ }
+
+ /**
+ * Flattens a section of the line between
+ * indexes <code>start</code> and <code>end</code>,
+ * replacing them with a line between the endpoints.
+ * The input and output indexes are updated
+ * to reflect this.
+ *
+ * @param start the start index of the flattened section
+ * @param end the end index of the flattened section
+ * @return the new segment created
+ */
+ private LineSegment flatten(int start, int end)
+ {
+ // make a new segment for the simplified geometry
+ Coordinate p0 = linePts[start];
+ Coordinate p1 = linePts[end];
+ LineSegment newSeg = new LineSegment(p0, p1);
+ // update the indexes
+ remove(line, start, end);
+ outputIndex.add(newSeg);
+ return newSeg;
+ }
+
+ private boolean hasBadIntersection(TaggedLineString parentLine,
+ int[] sectionIndex,
+ LineSegment candidateSeg)
+ {
+ if (hasBadOutputIntersection(candidateSeg)) return true;
+ if (hasBadInputIntersection(parentLine, sectionIndex, candidateSeg)) return true;
+ return false;
+ }
+
+ private boolean hasBadOutputIntersection(LineSegment candidateSeg)
+ {
+ List querySegs = outputIndex.query(candidateSeg);
+ for (Iterator i = querySegs.iterator(); i.hasNext(); ) {
+ LineSegment querySeg = (LineSegment) i.next();
+ if (hasInteriorIntersection(querySeg, candidateSeg)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean hasBadInputIntersection(TaggedLineString parentLine,
+ int[] sectionIndex,
+ LineSegment candidateSeg)
+ {
+ List querySegs = inputIndex.query(candidateSeg);
+ for (Iterator i = querySegs.iterator(); i.hasNext(); ) {
+ TaggedLineSegment querySeg = (TaggedLineSegment) i.next();
+ if (hasInteriorIntersection(querySeg, candidateSeg)) {
+ if (isInLineSection(parentLine, sectionIndex, querySeg))
+ continue;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether a segment is in a section of a TaggedLineString
+ * @param line
+ * @param sectionIndex
+ * @param seg
+ * @return
+ */
+ private static boolean isInLineSection(
+ TaggedLineString line,
+ int[] sectionIndex,
+ TaggedLineSegment seg)
+ {
+ // not in this line
+ if (seg.getParent() != line.getParent())
+ return false;
+ int segIndex = seg.getIndex();
+ if (segIndex >= sectionIndex[0] && segIndex < sectionIndex[1])
+ return true;
+ return false;
+ }
+
+ private boolean hasInteriorIntersection(LineSegment seg0, LineSegment seg1)
+ {
+ li.computeIntersection(seg0.p0, seg0.p1, seg1.p0, seg1.p1);
+ return li.isInteriorIntersection();
+ }
+
+ /**
+ * Remove the segs in the section of the line
+ * @param line
+ * @param pts
+ * @param sectionStartIndex
+ * @param sectionEndIndex
+ */
+ private void remove(TaggedLineString line,
+ int start, int end)
+ {
+ for (int i = start; i < end; i++) {
+ TaggedLineSegment seg = line.getSegment(i);
+ inputIndex.remove(seg);
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLinesSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLinesSimplifier.java
new file mode 100644
index 0000000..26bb3b2
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/TaggedLinesSimplifier.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * Simplifies a collection of TaggedLineStrings, preserving topology
+ * (in the sense that no new intersections are introduced).
+ * This class is essentially just a container for the common
+ * indexes used by {@link TaggedLineStringSimplifier}.
+ */
+class TaggedLinesSimplifier
+{
+ private LineSegmentIndex inputIndex = new LineSegmentIndex();
+ private LineSegmentIndex outputIndex = new LineSegmentIndex();
+ private double distanceTolerance = 0.0;
+
+ public TaggedLinesSimplifier()
+ {
+
+ }
+
+ /**
+ * Sets the distance tolerance for the simplification.
+ * All vertices in the simplified geometry will be within this
+ * distance of the original geometry.
+ *
+ * @param distanceTolerance the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ /**
+ * Simplify a collection of TaggedLineStrings
+ *
+ * @param taggedLines the collection of lines to simplify
+ */
+ public void simplify(Collection taggedLines) {
+ for (Iterator i = taggedLines.iterator(); i.hasNext(); ) {
+ inputIndex.add((TaggedLineString) i.next());
+ }
+ for (Iterator i = taggedLines.iterator(); i.hasNext(); ) {
+ TaggedLineStringSimplifier tlss
+ = new TaggedLineStringSimplifier(inputIndex, outputIndex);
+ tlss.setDistanceTolerance(distanceTolerance);
+ tlss.simplify((TaggedLineString) i.next());
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/TopologyPreservingSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/TopologyPreservingSimplifier.java
new file mode 100644
index 0000000..6024dd5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/TopologyPreservingSimplifier.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * Simplifies a geometry and ensures that
+ * the result is a valid geometry having the
+ * same dimension and number of components as the input,
+ * and with the components having the same topological
+ * relationship.
+ * <p>
+ * If the input is a polygonal geometry
+ * ( {@link Polygon} or {@link MultiPolygon} ):
+ * <ul>
+ * <li>The result has the same number of shells and holes as the input,
+ * with the same topological structure
+ * <li>The result rings touch at <b>no more</b> than the number of touching points in the input
+ * (although they may touch at fewer points).
+ * The key implication of this statement is that if the
+ * input is topologically valid, so is the simplified output.
+ * </ul>
+ * For linear geometries, if the input does not contain
+ * any intersecting line segments, this property
+ * will be preserved in the output.
+ * <p>
+ * For all geometry types, the result will contain
+ * enough vertices to ensure validity. For polygons
+ * and closed linear geometries, the result will have at
+ * least 4 vertices; for open linestrings the result
+ * will have at least 2 vertices.
+ * <p>
+ * All geometry types are handled.
+ * Empty and point geometries are returned unchanged.
+ * Empty geometry components are deleted.
+ * <p>
+ * The simplification uses a maximum-distance difference algorithm
+ * similar to the Douglas-Peucker algorithm.
+ *
+ * <h3>KNOWN BUGS</h3>
+ * <ul>
+ * <li>May create invalid topology if there are components which are
+ * small relative to the tolerance value.
+ * In particular, if a small hole is very near an edge, it is possible for the edge to be moved by
+ * a relatively large tolerance value and end up with the hole outside the result shell
+ * (or inside another hole).
+ * Similarly, it is possible for a small polygon component to end up inside
+ * a nearby larger polygon.
+ * A workaround is to test for this situation in post-processing and remove
+ * any invalid holes or polygons.
+ * </ul>
+ *
+ * @author Martin Davis
+ * @see DouglasPeuckerSimplifier
+ *
+ */
+public class TopologyPreservingSimplifier
+{
+ public static Geometry simplify(Geometry geom, double distanceTolerance)
+ {
+ TopologyPreservingSimplifier tss = new TopologyPreservingSimplifier(geom);
+ tss.setDistanceTolerance(distanceTolerance);
+ return tss.getResultGeometry();
+ }
+
+ private Geometry inputGeom;
+ private TaggedLinesSimplifier lineSimplifier = new TaggedLinesSimplifier();
+ private Map linestringMap;
+
+ public TopologyPreservingSimplifier(Geometry inputGeom)
+ {
+ this.inputGeom = inputGeom;
+ }
+
+ /**
+ * Sets the distance tolerance for the simplification.
+ * All vertices in the simplified geometry will be within this
+ * distance of the original geometry.
+ * The tolerance value must be non-negative. A tolerance value
+ * of zero is effectively a no-op.
+ *
+ * @param distanceTolerance the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance) {
+ if (distanceTolerance < 0.0)
+ throw new IllegalArgumentException("Tolerance must be non-negative");
+ lineSimplifier.setDistanceTolerance(distanceTolerance);
+ }
+
+ public Geometry getResultGeometry()
+ {
+ // empty input produces an empty result
+ if (inputGeom.isEmpty()) return inputGeom.copy();
+
+ linestringMap = new HashMap();
+ inputGeom.apply(new LineStringMapBuilderFilter(this));
+ lineSimplifier.simplify(linestringMap.values());
+ Geometry result = (new LineStringTransformer(linestringMap)).transform(inputGeom);
+ return result;
+ }
+
+ static class LineStringTransformer
+ extends GeometryTransformer
+ {
+ private Map linestringMap;
+
+ public LineStringTransformer(Map linestringMap) {
+ this.linestringMap = linestringMap;
+ }
+
+ protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
+ {
+ if (coords.size() == 0) return null;
+ // for linear components (including rings), simplify the linestring
+ if (parent instanceof LineString) {
+ TaggedLineString taggedLine = (TaggedLineString) linestringMap.get(parent);
+ return createCoordinateSequence(taggedLine.getResultCoordinates());
+ }
+ // for anything else (e.g. points) just copy the coordinates
+ return super.transformCoordinates(coords, parent);
+ }
+ }
+
+ /**
+ * A filter to add linear geometries to the linestring map
+ * with the appropriate minimum size constraint.
+ * Closed {@link LineString}s (including {@link LinearRing}s
+ * have a minimum output size constraint of 4,
+ * to ensure the output is valid.
+ * For all other linestrings, the minimum size is 2 points.
+ *
+ * @author Martin Davis
+ *
+ */
+ static class LineStringMapBuilderFilter
+ implements GeometryComponentFilter
+ {
+ TopologyPreservingSimplifier tps;
+
+ LineStringMapBuilderFilter(TopologyPreservingSimplifier tps) {
+ this.tps = tps;
+ }
+
+ /**
+ * Filters linear geometries.
+ *
+ * geom a geometry of any type
+ */
+ public void filter(Geometry geom)
+ {
+ if (geom instanceof LineString) {
+ LineString line = (LineString) geom;
+ // skip empty geometries
+ if (line.isEmpty()) return;
+
+ int minSize = ((LineString) line).isClosed() ? 4 : 2;
+ TaggedLineString taggedLine = new TaggedLineString((LineString) line, minSize);
+ tps.linestringMap.put(line, taggedLine);
+ }
+ }
+ }
+
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/VWLineSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/VWLineSimplifier.java
new file mode 100644
index 0000000..f5276dc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/VWLineSimplifier.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Triangle;
+
+/**
+ * Simplifies a linestring (sequence of points) using the
+ * Visvalingam-Whyatt algorithm.
+ * The Visvalingam-Whyatt algorithm simplifies geometry
+ * by removing vertices while trying to minimize the area changed.
+ *
+ * @version 1.7
+ */
+class VWLineSimplifier
+{
+ public static Coordinate[] simplify(Coordinate[] pts, double distanceTolerance)
+ {
+ VWLineSimplifier simp = new VWLineSimplifier(pts, distanceTolerance);
+ return simp.simplify();
+ }
+
+ private Coordinate[] pts;
+ private double tolerance;
+
+ public VWLineSimplifier(Coordinate[] pts, double distanceTolerance)
+ {
+ this.pts = pts;
+ this.tolerance = distanceTolerance * distanceTolerance;
+ }
+
+ public Coordinate[] simplify()
+ {
+ VWLineSimplifier.VWVertex vwLine = VWVertex.buildLine(pts);
+ double minArea = tolerance;
+ do {
+ minArea = simplifyVertex(vwLine);
+ } while (minArea < tolerance);
+ Coordinate[] simp = vwLine.getCoordinates();
+ // ensure computed value is a valid line
+ if (simp.length < 2) {
+ return new Coordinate[] { simp[0], new Coordinate(simp[0]) };
+ }
+ return simp;
+ }
+
+ private double simplifyVertex(VWLineSimplifier.VWVertex vwLine)
+ {
+ /**
+ * Scan vertices in line and remove the one with smallest effective area.
+ */
+ // TODO: use an appropriate data structure to optimize finding the smallest area vertex
+ VWLineSimplifier.VWVertex curr = vwLine;
+ double minArea = curr.getArea();
+ VWLineSimplifier.VWVertex minVertex = null;
+ while (curr != null) {
+ double area = curr.getArea();
+ if (area < minArea) {
+ minArea = area;
+ minVertex = curr;
+ }
+ curr = curr.next;
+ }
+ if (minVertex != null && minArea < tolerance) {
+ minVertex.remove();
+ }
+ if (! vwLine.isLive()) return -1;
+ return minArea;
+ }
+
+
+ static class VWVertex
+ {
+ public static VWLineSimplifier.VWVertex buildLine(Coordinate[] pts)
+ {
+ VWLineSimplifier.VWVertex first = null;
+ VWLineSimplifier.VWVertex prev = null;
+ for (int i = 0; i < pts.length; i++) {
+ VWLineSimplifier.VWVertex v = new VWVertex(pts[i]);
+ if (first == null)
+ first = v;
+ v.setPrev(prev);
+ if (prev != null) {
+ prev.setNext(v);
+ prev.updateArea();
+ }
+ prev = v;
+ }
+ return first;
+ }
+
+ public static double MAX_AREA = Double.MAX_VALUE;
+
+ private Coordinate pt;
+ private VWLineSimplifier.VWVertex prev;
+ private VWLineSimplifier.VWVertex next;
+ private double area = MAX_AREA;
+ private boolean isLive = true;
+
+ public VWVertex(Coordinate pt)
+ {
+ this.pt = pt;
+ }
+
+ public void setPrev(VWLineSimplifier.VWVertex prev)
+ {
+ this.prev = prev;
+ }
+
+ public void setNext(VWLineSimplifier.VWVertex next)
+ {
+ this.next = next;
+ }
+
+ public void updateArea()
+ {
+ if (prev == null || next == null) {
+ area = MAX_AREA;
+ return;
+ }
+ area = Math.abs(Triangle.area(prev.pt, pt, next.pt));
+ }
+
+ public double getArea()
+ {
+ return area;
+ }
+ public boolean isLive()
+ {
+ return isLive;
+ }
+ public VWLineSimplifier.VWVertex remove()
+ {
+ VWLineSimplifier.VWVertex tmpPrev = prev;
+ VWLineSimplifier.VWVertex tmpNext = next;
+ VWLineSimplifier.VWVertex result = null;
+ if (prev != null) {
+ prev.setNext(tmpNext);
+ prev.updateArea();
+ result = prev;
+ }
+ if (next != null) {
+ next.setPrev(tmpPrev);
+ next.updateArea();
+ if (result == null)
+ result = next;
+ }
+ isLive = false;
+ return result;
+ }
+ public Coordinate[] getCoordinates()
+ {
+ CoordinateList coords = new CoordinateList();
+ VWLineSimplifier.VWVertex curr = this;
+ do {
+ coords.add(curr.pt, false);
+ curr = curr.next;
+ } while (curr != null);
+ return coords.toCoordinateArray();
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/VWSimplifier.java b/modules/core/src/main/java/org/locationtech/jts/simplify/VWSimplifier.java
new file mode 100644
index 0000000..0af77e1
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/VWSimplifier.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.GeometryTransformer;
+
+/**
+ * Simplifies a {@link Geometry} using the Visvalingam-Whyatt area-based algorithm.
+ * Ensures that any polygonal geometries returned are valid. Simple lines are not
+ * guaranteed to remain simple after simplification. All geometry types are
+ * handled. Empty and point geometries are returned unchanged. Empty geometry
+ * components are deleted.
+ * <p>
+ * The simplification tolerance is specified as a distance.
+ * This is converted to an area tolerance by squaring it.
+ * <p>
+ * Note that in general this algorithm does not preserve topology - e.g. polygons can be split,
+ * collapse to lines or disappear holes can be created or disappear, and lines
+ * can cross.
+ *
+ * <h3>Known Bugs</h3>
+ * <ul>
+ * <li>Not yet optimized for performance
+ * <li>Does not simplify the endpoint of rings
+ * </ul>
+ * <h3>To Do</h3>
+ * <ul>
+ * <li>Allow specifying desired number of vertices in the output
+ * </ul>
+ *
+ * @version 1.7
+ */
+public class VWSimplifier
+{
+
+ /**
+ * Simplifies a geometry using a given tolerance.
+ *
+ * @param geom geometry to simplify
+ * @param distanceTolerance the tolerance to use
+ * @return a simplified version of the geometry
+ */
+ public static Geometry simplify(Geometry geom, double distanceTolerance)
+ {
+ VWSimplifier simp = new VWSimplifier(geom);
+ simp.setDistanceTolerance(distanceTolerance);
+ return simp.getResultGeometry();
+ }
+
+ private Geometry inputGeom;
+ private double distanceTolerance;
+ private boolean isEnsureValidTopology = true;
+
+ /**
+ * Creates a simplifier for a given geometry.
+ *
+ * @param inputGeom the geometry to simplify
+ */
+ public VWSimplifier(Geometry inputGeom)
+ {
+ this.inputGeom = inputGeom;
+ }
+
+ /**
+ * Sets the distance tolerance for the simplification. All vertices in the
+ * simplified geometry will be within this distance of the original geometry.
+ * The tolerance value must be non-negative.
+ *
+ * @param distanceTolerance
+ * the approximation tolerance to use
+ */
+ public void setDistanceTolerance(double distanceTolerance)
+ {
+ if (distanceTolerance < 0.0)
+ throw new IllegalArgumentException("Tolerance must be non-negative");
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ /**
+ * Controls whether simplified polygons will be "fixed" to have valid
+ * topology. The caller may choose to disable this because:
+ * <ul>
+ * <li>valid topology is not required
+ * <li>fixing topology is a relative expensive operation
+ * <li>in some pathological cases the topology fixing operation may either
+ * fail or run for too long
+ * </ul>
+ *
+ * The default is to fix polygon topology.
+ *
+ * @param isEnsureValidTopology
+ */
+ public void setEnsureValid(boolean isEnsureValidTopology)
+ {
+ this.isEnsureValidTopology = isEnsureValidTopology;
+ }
+
+ /**
+ * Gets the simplified geometry.
+ *
+ * @return the simplified geometry
+ */
+ public Geometry getResultGeometry()
+ {
+ // empty input produces an empty result
+ if (inputGeom.isEmpty())
+ return inputGeom.copy();
+
+ return (new VWTransformer(isEnsureValidTopology, distanceTolerance)).transform(inputGeom);
+ }
+
+ static class VWTransformer extends GeometryTransformer
+ {
+ private boolean isEnsureValidTopology = true;
+ private double distanceTolerance;
+
+ public VWTransformer(boolean isEnsureValidTopology, double distanceTolerance)
+ {
+ this.isEnsureValidTopology = isEnsureValidTopology;
+ this.distanceTolerance = distanceTolerance;
+ }
+
+ protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
+ {
+ Coordinate[] inputPts = coords.toCoordinateArray();
+ Coordinate[] newPts = null;
+ if (inputPts.length == 0) {
+ newPts = new Coordinate[0];
+ }
+ else {
+ newPts = VWLineSimplifier.simplify(inputPts, distanceTolerance);
+ }
+ return factory.getCoordinateSequenceFactory().create(newPts);
+ }
+
+ /**
+ * Simplifies a polygon, fixing it if required.
+ */
+ protected Geometry transformPolygon(Polygon geom, Geometry parent)
+ {
+ // empty geometries are simply removed
+ if (geom.isEmpty())
+ return null;
+ Geometry rawGeom = super.transformPolygon(geom, parent);
+ // don't try and correct if the parent is going to do this
+ if (parent instanceof MultiPolygon) {
+ return rawGeom;
+ }
+ return createValidArea(rawGeom);
+ }
+
+ /**
+ * Simplifies a LinearRing. If the simplification results in a degenerate
+ * ring, remove the component.
+ *
+ * @return null if the simplification results in a degenerate ring
+ */
+ protected Geometry transformLinearRing(LinearRing geom, Geometry parent)
+ {
+ boolean removeDegenerateRings = parent instanceof Polygon;
+ Geometry simpResult = super.transformLinearRing(geom, parent);
+ if (removeDegenerateRings && !(simpResult instanceof LinearRing))
+ return null;
+ ;
+ return simpResult;
+ }
+
+ /**
+ * Simplifies a MultiPolygon, fixing it if required.
+ */
+ protected Geometry transformMultiPolygon(MultiPolygon geom, Geometry parent)
+ {
+ Geometry rawGeom = super.transformMultiPolygon(geom, parent);
+ return createValidArea(rawGeom);
+ }
+
+ /**
+ * Creates a valid area geometry from one that possibly has bad topology
+ * (i.e. self-intersections). Since buffer can handle invalid topology, but
+ * always returns valid geometry, constructing a 0-width buffer "corrects"
+ * the topology. Note this only works for area geometries, since buffer
+ * always returns areas. This also may return empty geometries, if the input
+ * has no actual area.
+ *
+ * @param rawAreaGeom
+ * an area geometry possibly containing self-intersections
+ * @return a valid area geometry
+ */
+ private Geometry createValidArea(Geometry rawAreaGeom)
+ {
+ if (isEnsureValidTopology)
+ return rawAreaGeom.buffer(0.0);
+ return rawAreaGeom;
+ }
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/simplify/package.html b/modules/core/src/main/java/org/locationtech/jts/simplify/package.html
new file mode 100644
index 0000000..127e21b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/simplify/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes which implement algorithms for simplifying or generalizing geometries.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.java
new file mode 100644
index 0000000..75195df
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+import org.locationtech.jts.triangulate.quadedge.Vertex;
+
+
+/**
+ * A utility class which creates Conforming Delaunay Triangulations
+ * from collections of points and linear constraints, and extract the resulting
+ * triangulation edges or triangles as geometries.
+ *
+ * @author Martin Davis
+ *
+ */
+public class ConformingDelaunayTriangulationBuilder
+{
+ private Collection siteCoords;
+ private Geometry constraintLines;
+ private double tolerance = 0.0;
+ private QuadEdgeSubdivision subdiv = null;
+
+ private Map constraintVertexMap = new TreeMap();
+
+ public ConformingDelaunayTriangulationBuilder()
+ {
+ }
+
+ /**
+ * Sets the sites (point or vertices) which will be triangulated.
+ * All vertices of the given geometry will be used as sites.
+ * The site vertices do not have to contain the constraint
+ * vertices as well; any site vertices which are
+ * identical to a constraint vertex will be removed
+ * from the site vertex set.
+ *
+ * @param geom the geometry from which the sites will be extracted.
+ */
+ public void setSites(Geometry geom)
+ {
+ siteCoords = DelaunayTriangulationBuilder.extractUniqueCoordinates(geom);
+ }
+
+ /**
+ * Sets the linear constraints to be conformed to.
+ * All linear components in the input will be used as constraints.
+ * The constraint vertices do not have to be disjoint from
+ * the site vertices.
+ * The constraints must not contain duplicate segments (up to orientation).
+ *
+ * @param constraintLines the lines to constraint to
+ */
+ public void setConstraints(Geometry constraintLines)
+ {
+ this.constraintLines = constraintLines;
+ }
+
+ /**
+ * Sets the snapping tolerance which will be used
+ * to improved the robustness of the triangulation computation.
+ * A tolerance of 0.0 specifies that no snapping will take place.
+ *
+ * @param tolerance the tolerance distance to use
+ */
+ public void setTolerance(double tolerance)
+ {
+ this.tolerance = tolerance;
+ }
+
+
+ private void create()
+ {
+ if (subdiv != null) return;
+
+ Envelope siteEnv = DelaunayTriangulationBuilder.envelope(siteCoords);
+
+ List segments = new ArrayList();
+ if (constraintLines != null) {
+ siteEnv.expandToInclude(constraintLines.getEnvelopeInternal());
+ createVertices(constraintLines);
+ segments = createConstraintSegments(constraintLines);
+ }
+ List sites = createSiteVertices(siteCoords);
+
+ ConformingDelaunayTriangulator cdt = new ConformingDelaunayTriangulator(sites, tolerance);
+
+ cdt.setConstraints(segments, new ArrayList(constraintVertexMap.values()));
+
+ cdt.formInitialDelaunay();
+ cdt.enforceConstraints();
+ subdiv = cdt.getSubdivision();
+ }
+
+ private List createSiteVertices(Collection coords)
+ {
+ List verts = new ArrayList();
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate coord = (Coordinate) i.next();
+ if (constraintVertexMap.containsKey(coord))
+ continue;
+ verts.add(new ConstraintVertex(coord));
+ }
+ return verts;
+ }
+
+ private void createVertices(Geometry geom)
+ {
+ Coordinate[] coords = geom.getCoordinates();
+ for (int i = 0; i < coords.length; i++) {
+ Vertex v = new ConstraintVertex(coords[i]);
+ constraintVertexMap.put(coords[i], v);
+ }
+ }
+
+ private static List createConstraintSegments(Geometry geom)
+ {
+ List lines = LinearComponentExtracter.getLines(geom);
+ List constraintSegs = new ArrayList();
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ createConstraintSegments(line, constraintSegs);
+ }
+ return constraintSegs;
+ }
+
+ private static void createConstraintSegments(LineString line, List constraintSegs)
+ {
+ Coordinate[] coords = line.getCoordinates();
+ for (int i = 1; i < coords.length; i++) {
+ constraintSegs.add(new Segment(coords[i-1], coords[i]));
+ }
+ }
+
+ /**
+ * Gets the QuadEdgeSubdivision which models the computed triangulation.
+ *
+ * @return the subdivision containing the triangulation
+ */
+ public QuadEdgeSubdivision getSubdivision()
+ {
+ create();
+ return subdiv;
+ }
+
+ /**
+ * Gets the edges of the computed triangulation as a {@link MultiLineString}.
+ *
+ * @param geomFact the geometry factory to use to create the output
+ * @return the edges of the triangulation
+ */
+ public Geometry getEdges(GeometryFactory geomFact)
+ {
+ create();
+ return subdiv.getEdges(geomFact);
+ }
+
+ /**
+ * Gets the faces of the computed triangulation as a {@link GeometryCollection}
+ * of {@link Polygon}.
+ *
+ * @param geomFact the geometry factory to use to create the output
+ * @return the faces of the triangulation
+ */
+ public Geometry getTriangles(GeometryFactory geomFact)
+ {
+ create();
+ return subdiv.getTriangles(geomFact);
+ }
+
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulator.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulator.java
new file mode 100644
index 0000000..5ba2c9c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConformingDelaunayTriangulator.java
@@ -0,0 +1,544 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.ConvexHull;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.index.kdtree.KdNode;
+import org.locationtech.jts.index.kdtree.KdTree;
+import org.locationtech.jts.triangulate.quadedge.LastFoundQuadEdgeLocator;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+import org.locationtech.jts.triangulate.quadedge.Vertex;
+import org.locationtech.jts.util.Debug;
+
+
+/**
+ * Computes a Conforming Delaunay Triangulation over a set of sites and a set of
+ * linear constraints.
+ * <p>
+ * A conforming Delaunay triangulation is a true Delaunay triangulation. In it
+ * each constraint segment is present as a union of one or more triangulation
+ * edges. Constraint segments may be subdivided into two or more triangulation
+ * edges by the insertion of additional sites. The additional sites are called
+ * Steiner points, and are necessary to allow the segments to be faithfully
+ * reflected in the triangulation while maintaining the Delaunay property.
+ * Another way of stating this is that in a conforming Delaunay triangulation
+ * every constraint segment will be the union of a subset of the triangulation
+ * edges (up to tolerance).
+ * <p>
+ * A Conforming Delaunay triangulation is distinct from a Constrained Delaunay triangulation.
+ * A Constrained Delaunay triangulation is not necessarily fully Delaunay,
+ * and it contains the constraint segments exactly as edges of the triangulation.
+ * <p>
+ * A typical usage pattern for the triangulator is:
+ * <pre>
+ * ConformingDelaunayTriangulator cdt = new ConformingDelaunayTriangulator(sites, tolerance);
+ *
+ * // optional
+ * cdt.setSplitPointFinder(splitPointFinder);
+ * cdt.setVertexFactory(vertexFactory);
+ *
+ * cdt.setConstraints(segments, new ArrayList(vertexMap.values()));
+ * cdt.formInitialDelaunay();
+ * cdt.enforceConstraints();
+ * subdiv = cdt.getSubdivision();
+ * </pre>
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class ConformingDelaunayTriangulator
+{
+ private static Envelope computeVertexEnvelope(Collection vertices) {
+ Envelope env = new Envelope();
+ for (Iterator i = vertices.iterator(); i.hasNext();) {
+ Vertex v = (Vertex) i.next();
+ env.expandToInclude(v.getCoordinate());
+ }
+ return env;
+ }
+
+ private List initialVertices; // List<Vertex>
+ private List segVertices; // List<Vertex>
+
+ // MD - using a Set doesn't seem to be much faster
+ // private Set segments = new HashSet();
+ private List segments = new ArrayList(); // List<Segment>
+ private QuadEdgeSubdivision subdiv = null;
+ private IncrementalDelaunayTriangulator incDel;
+ private Geometry convexHull;
+ private ConstraintSplitPointFinder splitFinder = new NonEncroachingSplitPointFinder();
+ private KdTree kdt = null;
+ private ConstraintVertexFactory vertexFactory = null;
+
+ // allPointsEnv expanded by a small buffer
+ private Envelope computeAreaEnv;
+ // records the last split point computed, for error reporting
+ private Coordinate splitPt = null;
+
+ private double tolerance; // defines if two sites are the same.
+
+ /**
+ * Creates a Conforming Delaunay Triangulation based on the given
+ * unconstrained initial vertices. The initial vertex set should not contain
+ * any vertices which appear in the constraint set.
+ *
+ * @param initialVertices
+ * a collection of {@link ConstraintVertex}
+ * @param tolerance
+ * the distance tolerance below which points are considered identical
+ */
+ public ConformingDelaunayTriangulator(Collection initialVertices,
+ double tolerance) {
+ this.initialVertices = new ArrayList(initialVertices);
+ this.tolerance = tolerance;
+ kdt = new KdTree(tolerance);
+ }
+
+ /**
+ * Sets the constraints to be conformed to by the computed triangulation.
+ * The constraints must not contain duplicate segments (up to orientation).
+ * The unique set of vertices (as {@link ConstraintVertex}es)
+ * forming the constraints must also be supplied.
+ * Supplying it explicitly allows the ConstraintVertexes to be initialized
+ * appropriately (e.g. with external data), and avoids re-computing the unique set
+ * if it is already available.
+ *
+ * @param segments a list of the constraint {@link Segment}s
+ * @param segVertices the set of unique {@link ConstraintVertex}es referenced by the segments
+ */
+ public void setConstraints(List segments, List segVertices) {
+ this.segments = segments;
+ this.segVertices = segVertices;
+ }
+
+ /**
+ * Sets the {@link ConstraintSplitPointFinder} to be
+ * used during constraint enforcement.
+ * Different splitting strategies may be appropriate
+ * for special situations.
+ *
+ * @param splitFinder the ConstraintSplitPointFinder to be used
+ */
+ public void setSplitPointFinder(ConstraintSplitPointFinder splitFinder) {
+ this.splitFinder = splitFinder;
+ }
+
+ /**
+ * Gets the tolerance value used to construct the triangulation.
+ *
+ * @return a tolerance value
+ */
+ public double getTolerance()
+ {
+ return tolerance;
+ }
+
+ /**
+ * Gets the <tt>ConstraintVertexFactory</tt> used to create new constraint vertices at split points.
+ *
+ * @return a new constraint vertex
+ */
+ public ConstraintVertexFactory getVertexFactory() {
+ return vertexFactory;
+ }
+
+ /**
+ * Sets a custom {@link ConstraintVertexFactory} to be used
+ * to allow vertices carrying extra information to be created.
+ *
+ * @param vertexFactory the ConstraintVertexFactory to be used
+ */
+ public void setVertexFactory(ConstraintVertexFactory vertexFactory) {
+ this.vertexFactory = vertexFactory;
+ }
+
+ /**
+ * Gets the {@link QuadEdgeSubdivision} which represents the triangulation.
+ *
+ * @return a subdivision
+ */
+ public QuadEdgeSubdivision getSubdivision() {
+ return subdiv;
+ }
+
+ /**
+ * Gets the {@link KdTree} which contains the vertices of the triangulation.
+ *
+ * @return a KdTree
+ */
+ public KdTree getKDT() {
+ return kdt;
+ }
+
+ /**
+ * Gets the sites (vertices) used to initialize the triangulation.
+ *
+ * @return a List of Vertex
+ */
+ public List getInitialVertices() {
+ return initialVertices;
+ }
+
+ /**
+ * Gets the {@link Segment}s which represent the constraints.
+ *
+ * @return a collection of Segments
+ */
+ public Collection getConstraintSegments() {
+ return segments;
+ }
+
+ /**
+ * Gets the convex hull of all the sites in the triangulation,
+ * including constraint vertices.
+ * Only valid after the constraints have been enforced.
+ *
+ * @return the convex hull of the sites
+ */
+ public Geometry getConvexHull() {
+ return convexHull;
+ }
+
+ // ==================================================================
+
+ private void computeBoundingBox() {
+ Envelope vertexEnv = computeVertexEnvelope(initialVertices);
+ Envelope segEnv = computeVertexEnvelope(segVertices);
+
+ Envelope allPointsEnv = new Envelope(vertexEnv);
+ allPointsEnv.expandToInclude(segEnv);
+
+ double deltaX = allPointsEnv.getWidth() * 0.2;
+ double deltaY = allPointsEnv.getHeight() * 0.2;
+
+ double delta = Math.max(deltaX, deltaY);
+
+ computeAreaEnv = new Envelope(allPointsEnv);
+ computeAreaEnv.expandBy(delta);
+ }
+
+ private void computeConvexHull() {
+ GeometryFactory fact = new GeometryFactory();
+ Coordinate[] coords = getPointArray();
+ ConvexHull hull = new ConvexHull(coords, fact);
+ convexHull = hull.getConvexHull();
+ }
+
+ // /**
+ // * Adds the segments in the Convex Hull of all sites in the input data as
+ // linear constraints.
+ // * This is required if TIN Refinement is performed. The hull segments are
+ // flagged with a
+ // unique
+ // * data object to allow distinguishing them.
+ // *
+ // * @param convexHullSegmentData the data object to attach to each convex
+ // hull segment
+ // */
+ // private void addConvexHullToConstraints(Object convexHullSegmentData) {
+ // Coordinate[] coords = convexHull.getCoordinates();
+ // for (int i = 1; i < coords.length; i++) {
+ // Segment s = new Segment(coords[i - 1], coords[i], convexHullSegmentData);
+ // addConstraintIfUnique(s);
+ // }
+ // }
+
+ // private void addConstraintIfUnique(Segment r) {
+ // boolean exists = false;
+ // Iterator it = segments.iterator();
+ // Segment s = null;
+ // while (it.hasNext()) {
+ // s = (Segment) it.next();
+ // if (r.equalsTopo(s)) {
+ // exists = true;
+ // }
+ // }
+ // if (!exists) {
+ // segments.add((Object) r);
+ // }
+ // }
+
+ private Coordinate[] getPointArray() {
+ Coordinate[] pts = new Coordinate[initialVertices.size()
+ + segVertices.size()];
+ int index = 0;
+ for (Iterator i = initialVertices.iterator(); i.hasNext();) {
+ Vertex v = (Vertex) i.next();
+ pts[index++] = v.getCoordinate();
+ }
+ for (Iterator i2 = segVertices.iterator(); i2.hasNext();) {
+ Vertex v = (Vertex) i2.next();
+ pts[index++] = v.getCoordinate();
+ }
+ return pts;
+ }
+
+ private ConstraintVertex createVertex(Coordinate p) {
+ ConstraintVertex v = null;
+ if (vertexFactory != null)
+ v = vertexFactory.createVertex(p, null);
+ else
+ v = new ConstraintVertex(p);
+ return v;
+ }
+
+ /**
+ * Creates a vertex on a constraint segment
+ *
+ * @param p the location of the vertex to create
+ * @param seg the constraint segment it lies on
+ * @return the new constraint vertex
+ */
+ private ConstraintVertex createVertex(Coordinate p, Segment seg) {
+ ConstraintVertex v = null;
+ if (vertexFactory != null)
+ v = vertexFactory.createVertex(p, seg);
+ else
+ v = new ConstraintVertex(p);
+ v.setOnConstraint(true);
+ return v;
+ }
+
+ /**
+ * Inserts all sites in a collection
+ *
+ * @param vertices a collection of ConstraintVertex
+ */
+ private void insertSites(Collection vertices) {
+ Debug.println("Adding sites: " + vertices.size());
+ for (Iterator i = vertices.iterator(); i.hasNext();) {
+ ConstraintVertex v = (ConstraintVertex) i.next();
+ insertSite(v);
+ }
+ }
+
+ private ConstraintVertex insertSite(ConstraintVertex v) {
+ KdNode kdnode = kdt.insert(v.getCoordinate(), v);
+ if (!kdnode.isRepeated()) {
+ incDel.insertSite(v);
+ } else {
+ ConstraintVertex snappedV = (ConstraintVertex) kdnode.getData();
+ snappedV.merge(v);
+ return snappedV;
+ // testing
+ // if ( v.isOnConstraint() && ! currV.isOnConstraint()) {
+ // System.out.println(v);
+ // }
+ }
+ return v;
+ }
+
+ /**
+ * Inserts a site into the triangulation, maintaining the conformal Delaunay property.
+ * This can be used to further refine the triangulation if required
+ * (e.g. to approximate the medial axis of the constraints,
+ * or to improve the grading of the triangulation).
+ *
+ * @param p the location of the site to insert
+ */
+ public void insertSite(Coordinate p) {
+ insertSite(createVertex(p));
+ }
+
+ // ==================================================================
+
+ /**
+ * Computes the Delaunay triangulation of the initial sites.
+ */
+ public void formInitialDelaunay() {
+ computeBoundingBox();
+ subdiv = new QuadEdgeSubdivision(computeAreaEnv, tolerance);
+ subdiv.setLocator(new LastFoundQuadEdgeLocator(subdiv));
+ incDel = new IncrementalDelaunayTriangulator(subdiv);
+ insertSites(initialVertices);
+ }
+
+ // ==================================================================
+
+ private final static int MAX_SPLIT_ITER = 99;
+
+ /**
+ * Enforces the supplied constraints into the triangulation.
+ *
+ * @throws ConstraintEnforcementException
+ * if the constraints cannot be enforced
+ */
+ public void enforceConstraints() {
+ addConstraintVertices();
+ // if (true) return;
+
+ int count = 0;
+ int splits = 0;
+ do {
+ splits = enforceGabriel(segments);
+
+ count++;
+ Debug.println("Iter: " + count + " Splits: " + splits
+ + " Current # segments = " + segments.size());
+ } while (splits > 0 && count < MAX_SPLIT_ITER);
+ if (count == MAX_SPLIT_ITER) {
+ Debug.println("ABORTED! Too many iterations while enforcing constraints");
+ if (!Debug.isDebugging())
+ throw new ConstraintEnforcementException(
+ "Too many splitting iterations while enforcing constraints. Last split point was at: ",
+ splitPt);
+ }
+ }
+
+ private void addConstraintVertices() {
+ computeConvexHull();
+ // insert constraint vertices as sites
+ insertSites(segVertices);
+ }
+
+ /*
+ * private List findMissingConstraints() { List missingSegs = new ArrayList();
+ * for (int i = 0; i < segments.size(); i++) { Segment s = (Segment)
+ * segments.get(i); QuadEdge q = subdiv.locate(s.getStart(), s.getEnd()); if
+ * (q == null) missingSegs.add(s); } return missingSegs; }
+ */
+
+ private int enforceGabriel(Collection segsToInsert) {
+ List newSegments = new ArrayList();
+ int splits = 0;
+ List segsToRemove = new ArrayList();
+
+ /**
+ * On each iteration must always scan all constraint (sub)segments, since
+ * some constraints may be rebroken by Delaunay triangle flipping caused by
+ * insertion of another constraint. However, this process must converge
+ * eventually, with no splits remaining to find.
+ */
+ for (Iterator i = segsToInsert.iterator(); i.hasNext();) {
+ Segment seg = (Segment) i.next();
+ // System.out.println(seg);
+
+ Coordinate encroachPt = findNonGabrielPoint(seg);
+ // no encroachment found - segment must already be in subdivision
+ if (encroachPt == null)
+ continue;
+
+ // compute split point
+ splitPt = splitFinder.findSplitPoint(seg, encroachPt);
+ ConstraintVertex splitVertex = createVertex(splitPt, seg);
+
+ // DebugFeature.addLineSegment(DEBUG_SEG_SPLIT, encroachPt, splitPt, "");
+ // Debug.println(WKTWriter.toLineString(encroachPt, splitPt));
+
+ /**
+ * Check whether the inserted point still equals the split pt. This will
+ * not be the case if the split pt was too close to an existing site. If
+ * the point was snapped, the triangulation will not respect the inserted
+ * constraint - this is a failure. This can be caused by:
+ * <ul>
+ * <li>An initial site that lies very close to a constraint segment The
+ * cure for this is to remove any initial sites which are close to
+ * constraint segments in a preprocessing phase.
+ * <li>A narrow constraint angle which causing repeated splitting until
+ * the split segments are too small. The cure for this is to either choose
+ * better split points or "guard" narrow angles by cracking the segments
+ * equidistant from the corner.
+ * </ul>
+ */
+ ConstraintVertex insertedVertex = insertSite(splitVertex);
+ if (!insertedVertex.getCoordinate().equals2D(splitPt)) {
+ Debug.println("Split pt snapped to: " + insertedVertex);
+ // throw new ConstraintEnforcementException("Split point snapped to
+ // existing point
+ // (tolerance too large or constraint interior narrow angle?)",
+ // splitPt);
+ }
+
+ // split segment and record the new halves
+ Segment s1 = new Segment(seg.getStartX(), seg.getStartY(), seg
+ .getStartZ(), splitVertex.getX(), splitVertex.getY(), splitVertex
+ .getZ(), seg.getData());
+ Segment s2 = new Segment(splitVertex.getX(), splitVertex.getY(),
+ splitVertex.getZ(), seg.getEndX(), seg.getEndY(), seg.getEndZ(), seg
+ .getData());
+ newSegments.add(s1);
+ newSegments.add(s2);
+ segsToRemove.add(seg);
+
+ splits = splits + 1;
+ }
+ segsToInsert.removeAll(segsToRemove);
+ segsToInsert.addAll(newSegments);
+
+ return splits;
+ }
+
+// public static final String DEBUG_SEG_SPLIT = "C:\\proj\\CWB\\test\\segSplit.jml";
+
+ /**
+ * Given a set of points stored in the kd-tree and a line segment defined by
+ * two points in this set, finds a {@link Coordinate} in the circumcircle of
+ * the line segment, if one exists. This is called the Gabriel point - if none
+ * exists then the segment is said to have the Gabriel condition. Uses the
+ * heuristic of finding the non-Gabriel point closest to the midpoint of the
+ * segment.
+ *
+ * @param p
+ * start of the line segment
+ * @param q
+ * end of the line segment
+ * @return a point which is non-Gabriel
+ * or null if no point is non-Gabriel
+ */
+ private Coordinate findNonGabrielPoint(Segment seg) {
+ Coordinate p = seg.getStart();
+ Coordinate q = seg.getEnd();
+ // Find the mid point on the line and compute the radius of enclosing circle
+ Coordinate midPt = new Coordinate((p.x + q.x) / 2.0, (p.y + q.y) / 2.0);
+ double segRadius = p.distance(midPt);
+
+ // compute envelope of circumcircle
+ Envelope env = new Envelope(midPt);
+ env.expandBy(segRadius);
+ // Find all points in envelope
+ List result = kdt.query(env);
+
+ // For each point found, test if it falls strictly in the circle
+ // find closest point
+ Coordinate closestNonGabriel = null;
+ double minDist = Double.MAX_VALUE;
+ for (Iterator i = result.iterator(); i.hasNext();) {
+ KdNode nextNode = (KdNode) i.next();
+ Coordinate testPt = nextNode.getCoordinate();
+ // ignore segment endpoints
+ if (testPt.equals2D(p) || testPt.equals2D(q))
+ continue;
+
+ double testRadius = midPt.distance(testPt);
+ if (testRadius < segRadius) {
+ // double testDist = seg.distance(testPt);
+ double testDist = testRadius;
+ if (closestNonGabriel == null || testDist < minDist) {
+ closestNonGabriel = testPt;
+ minDist = testDist;
+ }
+ }
+ }
+ return closestNonGabriel;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintEnforcementException.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintEnforcementException.java
new file mode 100644
index 0000000..36d4bad
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintEnforcementException.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * Indicates a failure during constraint enforcement.
+ *
+ * @author Martin Davis
+ * @version 1.0
+ */
+public class ConstraintEnforcementException extends RuntimeException {
+
+ private static final long serialVersionUID = 386496846550080140L;
+
+ private static String msgWithCoord(String msg, Coordinate pt) {
+ if (pt != null)
+ return msg + " [ " + WKTWriter.toPoint(pt) + " ]";
+ return msg;
+ }
+
+ private Coordinate pt = null;
+
+ /**
+ * Creates a new instance with a given message.
+ *
+ * @param msg a string
+ */
+ public ConstraintEnforcementException(String msg) {
+ super(msg);
+ }
+
+ /**
+ * Creates a new instance with a given message and approximate location.
+ *
+ * @param msg a string
+ * @param pt the location of the error
+ */
+ public ConstraintEnforcementException(String msg, Coordinate pt) {
+ super(msgWithCoord(msg, pt));
+ this.pt = new Coordinate(pt);
+ }
+
+ /**
+ * Gets the approximate location of this error.
+ *
+ * @return a location
+ */
+ public Coordinate getCoordinate() {
+ return pt;
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintSplitPointFinder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintSplitPointFinder.java
new file mode 100644
index 0000000..31582a3
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintSplitPointFinder.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * An interface for strategies for determining the location of split points on constraint segments.
+ * The location of split points has a large effect on the performance and robustness of enforcing a
+ * constrained Delaunay triangulation. Poorly chosen split points can cause repeated splitting,
+ * especially at narrow constraint angles, since the split point will end up encroaching on the
+ * segment containing the original encroaching point. With detailed knowledge of the geometry of the
+ * constraints, it is sometimes possible to choose better locations for splitting.
+ *
+ * @author mbdavis
+ */
+public interface ConstraintSplitPointFinder {
+ /**
+ * Finds a point at which to split an encroached segment to allow the original segment to appear
+ * as edges in a constrained Delaunay triangulation.
+ *
+ * @param seg the encroached segment
+ * @param encroachPt the encroaching point
+ * @return the point at which to split the encroached segment
+ */
+ Coordinate findSplitPoint(Segment seg, Coordinate encroachPt);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertex.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertex.java
new file mode 100644
index 0000000..e6293ce
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertex.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.triangulate.quadedge.Vertex;
+
+/**
+ * A vertex in a Constrained Delaunay Triangulation.
+ * The vertex may or may not lie on a constraint.
+ * If it does it may carry extra information about the original constraint.
+ *
+ * @author Martin Davis
+ */
+public class ConstraintVertex extends Vertex {
+ private boolean isOnConstraint;
+ private Object constraint = null;
+
+ /**
+ * Creates a new constraint vertex
+ *
+ * @param p the location of the vertex
+ */
+ public ConstraintVertex(Coordinate p) {
+ super(p);
+ }
+
+ /**
+ * Sets whether this vertex lies on a constraint.
+ *
+ * @param isOnConstraint true if this vertex lies on a constraint
+ */
+ public void setOnConstraint(boolean isOnConstraint) {
+ this.isOnConstraint = isOnConstraint;
+ }
+
+ /**
+ * Tests whether this vertex lies on a constraint.
+ *
+ * @return true if the vertex lies on a constraint
+ */
+ public boolean isOnConstraint() {
+ return isOnConstraint;
+ }
+
+ /**
+ * Sets the external constraint information
+ *
+ * @param constraint an object which carries information about the constraint this vertex lies on
+ */
+ public void setConstraint(Object constraint) {
+ isOnConstraint = true;
+ this.constraint = constraint;
+ }
+
+ /**
+ * Gets the external constraint object
+ *
+ * @return the external constraint object
+ */
+ public Object getConstraint() {
+ return constraint;
+ }
+
+ /**
+ * Merges the constraint data in the vertex <tt>other</tt> into this vertex.
+ * This method is called when an inserted vertex is
+ * very close to an existing vertex in the triangulation.
+ *
+ * @param other the constraint vertex to merge
+ */
+ protected void merge(ConstraintVertex other) {
+ if (other.isOnConstraint) {
+ isOnConstraint = true;
+ constraint = other.constraint;
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertexFactory.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertexFactory.java
new file mode 100644
index 0000000..3415ed8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/ConstraintVertexFactory.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * An interface for factories which create a {@link ConstraintVertex}
+ *
+ * @author Martin Davis
+ */
+public interface ConstraintVertexFactory {
+ ConstraintVertex createVertex(Coordinate p, Segment constraintSeg);
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.java
new file mode 100644
index 0000000..ed531c0
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+import org.locationtech.jts.triangulate.quadedge.Vertex;
+
+
+/**
+ * A utility class which creates Delaunay Triangulations
+ * from collections of points and extract the resulting
+ * triangulation edges or triangles as geometries.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DelaunayTriangulationBuilder
+{
+ /**
+ * Extracts the unique {@link Coordinate}s from the given {@link Geometry}.
+ * @param geom the geometry to extract from
+ * @return a List of the unique Coordinates
+ */
+ public static CoordinateList extractUniqueCoordinates(Geometry geom)
+ {
+ if (geom == null)
+ return new CoordinateList();
+
+ Coordinate[] coords = geom.getCoordinates();
+ return unique(coords);
+ }
+
+ public static CoordinateList unique(Coordinate[] coords)
+ {
+ Coordinate[] coordsCopy = CoordinateArrays.copyDeep(coords);
+ Arrays.sort(coordsCopy);
+ CoordinateList coordList = new CoordinateList(coordsCopy, false);
+ return coordList;
+ }
+
+ /**
+ * Converts all {@link Coordinate}s in a collection to {@link Vertex}es.
+ * @param coords the coordinates to convert
+ * @return a List of Vertex objects
+ */
+ public static List toVertices(Collection coords)
+ {
+ List verts = new ArrayList();
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate coord = (Coordinate) i.next();
+ verts.add(new Vertex(coord));
+ }
+ return verts;
+ }
+
+ /**
+ * Computes the {@link Envelope} of a collection of {@link Coordinate}s.
+ *
+ * @param coords a List of Coordinates
+ * @return the envelope of the set of coordinates
+ */
+ public static Envelope envelope(Collection coords)
+ {
+ Envelope env = new Envelope();
+ for (Iterator i = coords.iterator(); i.hasNext(); ) {
+ Coordinate coord = (Coordinate) i.next();
+ env.expandToInclude(coord);
+ }
+ return env;
+ }
+
+ private Collection siteCoords;
+ private double tolerance = 0.0;
+ private QuadEdgeSubdivision subdiv = null;
+
+ /**
+ * Creates a new triangulation builder.
+ *
+ */
+ public DelaunayTriangulationBuilder()
+ {
+ }
+
+ /**
+ * Sets the sites (vertices) which will be triangulated.
+ * All vertices of the given geometry will be used as sites.
+ *
+ * @param geom the geometry from which the sites will be extracted.
+ */
+ public void setSites(Geometry geom)
+ {
+ // remove any duplicate points (they will cause the triangulation to fail)
+ siteCoords = extractUniqueCoordinates(geom);
+ }
+
+ /**
+ * Sets the sites (vertices) which will be triangulated
+ * from a collection of {@link Coordinate}s.
+ *
+ * @param coords a collection of Coordinates.
+ */
+ public void setSites(Collection coords)
+ {
+ // remove any duplicate points (they will cause the triangulation to fail)
+ siteCoords = unique(CoordinateArrays.toCoordinateArray(coords));
+ }
+
+ /**
+ * Sets the snapping tolerance which will be used
+ * to improved the robustness of the triangulation computation.
+ * A tolerance of 0.0 specifies that no snapping will take place.
+ *
+ * @param tolerance the tolerance distance to use
+ */
+ public void setTolerance(double tolerance)
+ {
+ this.tolerance = tolerance;
+ }
+
+ private void create()
+ {
+ if (subdiv != null) return;
+
+ Envelope siteEnv = envelope(siteCoords);
+ List vertices = toVertices(siteCoords);
+ subdiv = new QuadEdgeSubdivision(siteEnv, tolerance);
+ IncrementalDelaunayTriangulator triangulator = new IncrementalDelaunayTriangulator(subdiv);
+ triangulator.insertSites(vertices);
+ }
+
+ /**
+ * Gets the {@link QuadEdgeSubdivision} which models the computed triangulation.
+ *
+ * @return the subdivision containing the triangulation
+ */
+ public QuadEdgeSubdivision getSubdivision()
+ {
+ create();
+ return subdiv;
+ }
+
+ /**
+ * Gets the edges of the computed triangulation as a {@link MultiLineString}.
+ *
+ * @param geomFact the geometry factory to use to create the output
+ * @return the edges of the triangulation
+ */
+ public Geometry getEdges(GeometryFactory geomFact)
+ {
+ create();
+ return subdiv.getEdges(geomFact);
+ }
+
+ /**
+ * Gets the faces of the computed triangulation as a {@link GeometryCollection}
+ * of {@link Polygon}.
+ *
+ * @param geomFact the geometry factory to use to create the output
+ * @return the faces of the triangulation
+ */
+ public Geometry getTriangles(GeometryFactory geomFact)
+ {
+ create();
+ return subdiv.getTriangles(geomFact);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/IncrementalDelaunayTriangulator.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/IncrementalDelaunayTriangulator.java
new file mode 100644
index 0000000..346f45b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/IncrementalDelaunayTriangulator.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.triangulate.quadedge.LocateFailureException;
+import org.locationtech.jts.triangulate.quadedge.QuadEdge;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+import org.locationtech.jts.triangulate.quadedge.Vertex;
+
+
+/**
+ * Computes a Delaunay Triangulation of a set of {@link Vertex}es, using an
+ * incremental insertion algorithm.
+ *
+ * @author Martin Davis
+ * @version 1.0
+ */
+public class IncrementalDelaunayTriangulator
+{
+ private QuadEdgeSubdivision subdiv;
+ private boolean isUsingTolerance = false;
+
+ /**
+ * Creates a new triangulator using the given {@link QuadEdgeSubdivision}.
+ * The triangulator uses the tolerance of the supplied subdivision.
+ *
+ * @param subdiv
+ * a subdivision in which to build the TIN
+ */
+ public IncrementalDelaunayTriangulator(QuadEdgeSubdivision subdiv) {
+ this.subdiv = subdiv;
+ isUsingTolerance = subdiv.getTolerance() > 0.0;
+
+ }
+
+ /**
+ * Inserts all sites in a collection. The inserted vertices <b>MUST</b> be
+ * unique up to the provided tolerance value. (i.e. no two vertices should be
+ * closer than the provided tolerance value). They do not have to be rounded
+ * to the tolerance grid, however.
+ *
+ * @param vertices a Collection of Vertex
+ *
+ * @throws LocateFailureException if the location algorithm fails to converge in a reasonable number of iterations
+ */
+ public void insertSites(Collection vertices) {
+ for (Iterator i = vertices.iterator(); i.hasNext();) {
+ Vertex v = (Vertex) i.next();
+ insertSite(v);
+ }
+ }
+
+ /**
+ * Inserts a new point into a subdivision representing a Delaunay
+ * triangulation, and fixes the affected edges so that the result is still a
+ * Delaunay triangulation.
+ * <p>
+ *
+ * @return a quadedge containing the inserted vertex
+ */
+ public QuadEdge insertSite(Vertex v) {
+
+ /**
+ * This code is based on Guibas and Stolfi (1985), with minor modifications
+ * and a bug fix from Dani Lischinski (Graphic Gems 1993). (The modification
+ * I believe is the test for the inserted site falling exactly on an
+ * existing edge. Without this test zero-width triangles have been observed
+ * to be created)
+ */
+ QuadEdge e = subdiv.locate(v);
+
+ if (subdiv.isVertexOfEdge(e, v)) {
+ // point is already in subdivision.
+ return e;
+ }
+ else if (subdiv.isOnEdge(e, v.getCoordinate())) {
+ // the point lies exactly on an edge, so delete the edge
+ // (it will be replaced by a pair of edges which have the point as a vertex)
+ e = e.oPrev();
+ subdiv.delete(e.oNext());
+ }
+
+ /**
+ * Connect the new point to the vertices of the containing triangle
+ * (or quadrilateral, if the new point fell on an existing edge.)
+ */
+ QuadEdge base = subdiv.makeEdge(e.orig(), v);
+ QuadEdge.splice(base, e);
+ QuadEdge startEdge = base;
+ do {
+ base = subdiv.connect(e, base.sym());
+ e = base.oPrev();
+ } while (e.lNext() != startEdge);
+
+ // Examine suspect edges to ensure that the Delaunay condition
+ // is satisfied.
+ do {
+ QuadEdge t = e.oPrev();
+ if (t.dest().rightOf(e) && v.isInCircle(e.orig(), t.dest(), e.dest())) {
+ QuadEdge.swap(e);
+ e = e.oPrev();
+ } else if (e.oNext() == startEdge) {
+ return base; // no more suspect edges.
+ } else {
+ e = e.oNext().lPrev();
+ }
+ } while (true);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/MidpointSplitPointFinder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/MidpointSplitPointFinder.java
new file mode 100644
index 0000000..14c2d8e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/MidpointSplitPointFinder.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * A simple split point finder which returns the midpoint of the split segment. This is a default
+ * strategy only. Usually a more sophisticated strategy is required to prevent repeated splitting.
+ * Other points which could be used are:
+ * <ul>
+ * <li>The projection of the encroaching point on the segment
+ * <li>A point on the segment which will produce two segments which will not be further encroached
+ * <li>The point on the segment which is the same distance from an endpoint as the encroaching
+ * point
+ * </ul>
+ *
+ * @author Martin Davis
+ */
+public class MidpointSplitPointFinder implements ConstraintSplitPointFinder {
+ /**
+ * Gets the midpoint of the split segment
+ */
+ public Coordinate findSplitPoint(Segment seg, Coordinate encroachPt) {
+ Coordinate p0 = seg.getStart();
+ Coordinate p1 = seg.getEnd();
+ return new Coordinate((p0.x + p1.x) / 2, (p0.y + p1.y) / 2);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/NonEncroachingSplitPointFinder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/NonEncroachingSplitPointFinder.java
new file mode 100644
index 0000000..93f9a2e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/NonEncroachingSplitPointFinder.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * A strategy for finding constraint split points which attempts to maximise the length of the split
+ * segments while preventing further encroachment. (This is not always possible for narrow angles).
+ *
+ * @author Martin Davis
+ */
+public class NonEncroachingSplitPointFinder implements ConstraintSplitPointFinder {
+
+ public NonEncroachingSplitPointFinder() {}
+
+ /**
+ * A basic strategy for finding split points when nothing extra is known about the geometry of
+ * the situation.
+ *
+ * @param seg the encroached segment
+ * @param encroachPt the encroaching point
+ * @return the point at which to split the encroached segment
+ */
+ public Coordinate findSplitPoint(Segment seg, Coordinate encroachPt) {
+ LineSegment lineSeg = seg.getLineSegment();
+ double segLen = lineSeg.getLength();
+ double midPtLen = segLen / 2;
+ SplitSegment splitSeg = new SplitSegment(lineSeg);
+
+ Coordinate projPt = projectedSplitPoint(seg, encroachPt);
+ /**
+ * Compute the largest diameter (length) that will produce a split segment which is not
+ * still encroached upon by the encroaching point (The length is reduced slightly by a
+ * safety factor)
+ */
+ double nonEncroachDiam = projPt.distance(encroachPt) * 2 * 0.8; // .99;
+ double maxSplitLen = nonEncroachDiam;
+ if (maxSplitLen > midPtLen) {
+ maxSplitLen = midPtLen;
+ }
+ splitSeg.setMinimumLength(maxSplitLen);
+
+ splitSeg.splitAt(projPt);
+
+ return splitSeg.getSplitPoint();
+ }
+
+ /**
+ * Computes a split point which is the projection of the encroaching point on the segment
+ *
+ * @param seg
+ * @param encroachPt
+ * @return a split point on the segment
+ */
+ public static Coordinate projectedSplitPoint(Segment seg, Coordinate encroachPt) {
+ LineSegment lineSeg = seg.getLineSegment();
+ Coordinate projPt = lineSeg.project(encroachPt);
+ return projPt;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/Segment.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/Segment.java
new file mode 100644
index 0000000..31be424
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/Segment.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * Models a constraint segment in a triangulation.
+ * A constraint segment is an oriented straight line segment between a start point
+ * and an end point.
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class Segment
+{
+ private LineSegment ls;
+ private Object data = null;
+
+ /**
+ * Creates a new instance for the given ordinates.
+ */
+ public Segment(double x1, double y1, double z1, double x2, double y2, double z2) {
+ this(new Coordinate(x1, y1, z1), new Coordinate(x2, y2, z2));
+ }
+
+ /**
+ * Creates a new instance for the given ordinates, with associated external data.
+ */
+ public Segment(double x1, double y1, double z1, double x2, double y2, double z2, Object data) {
+ this(new Coordinate(x1, y1, z1), new Coordinate(x2, y2, z2), data);
+ }
+
+ /**
+ * Creates a new instance for the given points, with associated external data.
+ *
+ * @param p0 the start point
+ * @param p1 the end point
+ * @param data an external data object
+ */
+ public Segment(Coordinate p0, Coordinate p1, Object data) {
+ ls = new LineSegment(p0, p1);
+ this.data = data;
+ }
+
+ /**
+ * Creates a new instance for the given points.
+ *
+ * @param p0 the start point
+ * @param p1 the end point
+ */
+ public Segment(Coordinate p0, Coordinate p1) {
+ ls = new LineSegment(p0, p1);
+ }
+
+ /**
+ * Gets the start coordinate of the segment
+ *
+ * @return a Coordinate
+ */
+ public Coordinate getStart() {
+ return ls.getCoordinate(0);
+ }
+
+ /**
+ * Gets the end coordinate of the segment
+ *
+ * @return a Coordinate
+ */
+ public Coordinate getEnd() {
+ return ls.getCoordinate(1);
+ }
+
+ /**
+ * Gets the start X ordinate of the segment
+ *
+ * @return the X ordinate value
+ */
+ public double getStartX() {
+ Coordinate p = ls.getCoordinate(0);
+ return p.x;
+ }
+
+ /**
+ * Gets the start Y ordinate of the segment
+ *
+ * @return the Y ordinate value
+ */
+ public double getStartY() {
+ Coordinate p = ls.getCoordinate(0);
+ return p.y;
+ }
+
+ /**
+ * Gets the start Z ordinate of the segment
+ *
+ * @return the Z ordinate value
+ */
+ public double getStartZ() {
+ Coordinate p = ls.getCoordinate(0);
+ return p.z;
+ }
+
+ /**
+ * Gets the end X ordinate of the segment
+ *
+ * @return the X ordinate value
+ */
+ public double getEndX() {
+ Coordinate p = ls.getCoordinate(1);
+ return p.x;
+ }
+
+ /**
+ * Gets the end Y ordinate of the segment
+ *
+ * @return the Y ordinate value
+ */
+ public double getEndY() {
+ Coordinate p = ls.getCoordinate(1);
+ return p.y;
+ }
+
+ /**
+ * Gets the end Z ordinate of the segment
+ *
+ * @return the Z ordinate value
+ */
+ public double getEndZ() {
+ Coordinate p = ls.getCoordinate(1);
+ return p.z;
+ }
+
+ /**
+ * Gets a <tt>LineSegment</tt> modelling this segment.
+ *
+ * @return a LineSegment
+ */
+ public LineSegment getLineSegment() {
+ return ls;
+ }
+
+ /**
+ * Gets the external data associated with this segment
+ *
+ * @return a data object
+ */
+ public Object getData() {
+ return data;
+ }
+
+ /**
+ * Sets the external data to be associated with this segment
+ *
+ * @param data a data object
+ */
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ /**
+ * Determines whether two segments are topologically equal.
+ * I.e. equal up to orientation.
+ *
+ * @param s a segment
+ * @return true if the segments are topologically equal
+ */
+ public boolean equalsTopo(Segment s) {
+ return ls.equalsTopo(s.getLineSegment());
+ }
+
+ /**
+ * Computes the intersection point between this segment and another one.
+ *
+ * @param s a segment
+ * @return the intersection point, or <code>null</code> if there is none
+ */
+ public Coordinate intersection(Segment s) {
+ return ls.intersection(s.getLineSegment());
+ }
+
+ /**
+ * Computes a string representation of this segment.
+ *
+ * @return a string
+ */
+ public String toString() {
+ return ls.toString();
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/SplitSegment.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/SplitSegment.java
new file mode 100644
index 0000000..5d4c063
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/SplitSegment.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+
+/**
+ * Models a constraint segment which can be split in two in various ways,
+ * according to certain geometric constraints.
+ *
+ * @author Martin Davis
+ */
+public class SplitSegment {
+ /**
+ * Computes the {@link Coordinate} that lies a given fraction along the line defined by the
+ * reverse of the given segment. A fraction of <code>0.0</code> returns the end point of the
+ * segment; a fraction of <code>1.0</code> returns the start point of the segment.
+ *
+ * @param seg the LineSegment
+ * @param segmentLengthFraction the fraction of the segment length along the line
+ * @return the point at that distance
+ */
+ private static Coordinate pointAlongReverse(LineSegment seg, double segmentLengthFraction) {
+ Coordinate coord = new Coordinate();
+ coord.x = seg.p1.x - segmentLengthFraction * (seg.p1.x - seg.p0.x);
+ coord.y = seg.p1.y - segmentLengthFraction * (seg.p1.y - seg.p0.y);
+ return coord;
+ }
+
+ private LineSegment seg;
+ private double segLen;
+ private Coordinate splitPt;
+ private double minimumLen = 0.0;
+
+ public SplitSegment(LineSegment seg) {
+ this.seg = seg;
+ segLen = seg.getLength();
+ }
+
+ public void setMinimumLength(double minLen) {
+ minimumLen = minLen;
+ }
+
+ public Coordinate getSplitPoint() {
+ return splitPt;
+ }
+
+ public void splitAt(double length, Coordinate endPt) {
+ double actualLen = getConstrainedLength(length);
+ double frac = actualLen / segLen;
+ if (endPt.equals2D(seg.p0))
+ splitPt = seg.pointAlong(frac);
+ else
+ splitPt = pointAlongReverse(seg, frac);
+ }
+
+ public void splitAt(Coordinate pt) {
+ // check that given pt doesn't violate min length
+ double minFrac = minimumLen / segLen;
+ if (pt.distance(seg.p0) < minimumLen) {
+ splitPt = seg.pointAlong(minFrac);
+ return;
+ }
+ if (pt.distance(seg.p1) < minimumLen) {
+ splitPt = pointAlongReverse(seg, minFrac);
+ return;
+ }
+ // passes minimum distance check - use provided point as split pt
+ splitPt = pt;
+ }
+
+ private double getConstrainedLength(double len) {
+ if (len < minimumLen)
+ return minimumLen;
+ return len;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/VertexTaggedGeometryDataMapper.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/VertexTaggedGeometryDataMapper.java
new file mode 100644
index 0000000..bcd8476
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/VertexTaggedGeometryDataMapper.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Creates a map between the vertex {@link Coordinate}s of a
+ * set of {@link Geometry}s,
+ * and the parent geometry, and transfers the source geometry
+ * data objects to geometry components tagged with the coordinates.
+ * <p>
+ * This class can be used in conjunction with {@link VoronoiDiagramBuilder}
+ * to transfer data objects from the input site geometries
+ * to the constructed Voronoi polygons.
+ *
+ * @author Martin Davis
+ * @see VoronoiDiagramBuilder
+ *
+ */
+public class VertexTaggedGeometryDataMapper
+{
+ private Map coordDataMap = new TreeMap();
+
+ public VertexTaggedGeometryDataMapper()
+ {
+
+ }
+
+ public void loadSourceGeometries(Collection geoms)
+ {
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry geom = (Geometry) i.next();
+ loadVertices(geom.getCoordinates(), geom.getUserData());
+ }
+ }
+
+ public void loadSourceGeometries(Geometry geomColl)
+ {
+ for (int i = 0; i < geomColl.getNumGeometries(); i++) {
+ Geometry geom = geomColl.getGeometryN(i);
+ loadVertices(geom.getCoordinates(), geom.getUserData());
+ }
+ }
+
+ private void loadVertices(Coordinate[] pts, Object data)
+ {
+ for (int i = 0; i < pts.length; i++) {
+ coordDataMap.put(pts[i], data);
+ }
+ }
+
+ public List getCoordinates()
+ {
+ return new ArrayList(coordDataMap.keySet());
+ }
+
+ /**
+ * Input is assumed to be a multiGeometry
+ * in which every component has its userData
+ * set to be a Coordinate which is the key to the output data.
+ * The Coordinate is used to determine
+ * the output data object to be written back into the component.
+ *
+ * @param targetGeom
+ */
+ public void transferData(Geometry targetGeom)
+ {
+ for (int i = 0; i < targetGeom.getNumGeometries(); i++) {
+ Geometry geom = targetGeom.getGeometryN(i);
+ Coordinate vertexKey = (Coordinate) geom.getUserData();
+ if (vertexKey == null) continue;
+ geom.setUserData(coordDataMap.get(vertexKey));
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.java
new file mode 100644
index 0000000..10b457a
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+
+
+/**
+ * A utility class which creates Voronoi Diagrams
+ * from collections of points.
+ * The diagram is returned as a {@link GeometryCollection} of {@link Polygon}s
+ * representing the faces of the Voronoi diagram.
+ * The faces are clipped to the larger of:
+ * <ul>
+ * <li> an envelope supplied by {@link #setClipEnvelope(Envelope)}
+ * <li> an envelope determined by the input sites
+ * </ul>
+ * The <tt>userData</tt> attribute of each face <tt>Polygon</tt> is set to
+ * the <tt>Coordinate</tt> of the corresponding input site.
+ * This allows using a <tt>Map</tt> to link faces to data associated with sites.
+ *
+ * @author Martin Davis
+ *
+ */
+public class VoronoiDiagramBuilder
+{
+ private Collection siteCoords;
+ private double tolerance = 0.0;
+ private QuadEdgeSubdivision subdiv = null;
+ private Envelope clipEnv = null;
+ private Envelope diagramEnv = null;
+
+ /**
+ * Creates a new Voronoi diagram builder.
+ *
+ */
+ public VoronoiDiagramBuilder()
+ {
+ }
+
+ /**
+ * Sets the sites (point or vertices) which will be diagrammed.
+ * All vertices of the given geometry will be used as sites.
+ *
+ * @param geom the geometry from which the sites will be extracted.
+ */
+ public void setSites(Geometry geom)
+ {
+ // remove any duplicate points (they will cause the triangulation to fail)
+ siteCoords = DelaunayTriangulationBuilder.extractUniqueCoordinates(geom);
+ }
+
+ /**
+ * Sets the sites (point or vertices) which will be diagrammed
+ * from a collection of {@link Coordinate}s.
+ *
+ * @param coords a collection of Coordinates.
+ */
+ public void setSites(Collection coords)
+ {
+ // remove any duplicate points (they will cause the triangulation to fail)
+ siteCoords = DelaunayTriangulationBuilder.unique(CoordinateArrays.toCoordinateArray(coords));
+ }
+
+ /**
+ * Sets the envelope to clip the diagram to.
+ * The diagram will be clipped to the larger
+ * of this envelope or an envelope surrounding the sites.
+ *
+ * @param clipEnv the clip envelope.
+ */
+ public void setClipEnvelope(Envelope clipEnv)
+ {
+ this.clipEnv = clipEnv;
+ }
+ /**
+ * Sets the snapping tolerance which will be used
+ * to improved the robustness of the triangulation computation.
+ * A tolerance of 0.0 specifies that no snapping will take place.
+ *
+ * @param tolerance the tolerance distance to use
+ */
+ public void setTolerance(double tolerance)
+ {
+ this.tolerance = tolerance;
+ }
+
+ private void create()
+ {
+ if (subdiv != null) return;
+
+ Envelope siteEnv = DelaunayTriangulationBuilder.envelope(siteCoords);
+ diagramEnv = siteEnv;
+ // add a buffer around the final envelope
+ double expandBy = Math.max(diagramEnv.getWidth(), diagramEnv.getHeight());
+ diagramEnv.expandBy(expandBy);
+ if (clipEnv != null)
+ diagramEnv.expandToInclude(clipEnv);
+
+ List vertices = DelaunayTriangulationBuilder.toVertices(siteCoords);
+ subdiv = new QuadEdgeSubdivision(siteEnv, tolerance);
+ IncrementalDelaunayTriangulator triangulator = new IncrementalDelaunayTriangulator(subdiv);
+ triangulator.insertSites(vertices);
+ }
+
+ /**
+ * Gets the {@link QuadEdgeSubdivision} which models the computed diagram.
+ *
+ * @return the subdivision containing the triangulation
+ */
+ public QuadEdgeSubdivision getSubdivision()
+ {
+ create();
+ return subdiv;
+ }
+
+ /**
+ * Gets the faces of the computed diagram as a {@link GeometryCollection}
+ * of {@link Polygon}s, clipped as specified.
+ * <p>
+ * The <tt>userData</tt> attribute of each face <tt>Polygon</tt> is set to
+ * the <tt>Coordinate</tt> of the corresponding input site.
+ * This allows using a <tt>Map</tt> to link faces to data associated with sites.
+ *
+ * @param geomFact the geometry factory to use to create the output
+ * @return a <tt>GeometryCollection</tt> containing the face <tt>Polygon</tt>s of the diagram
+ */
+ public Geometry getDiagram(GeometryFactory geomFact)
+ {
+ create();
+ Geometry polys = subdiv.getVoronoiDiagram(geomFact);
+
+ // clip polys to diagramEnv
+ return clipGeometryCollection(polys, diagramEnv);
+ }
+
+ private static Geometry clipGeometryCollection(Geometry geom, Envelope clipEnv)
+ {
+ Geometry clipPoly = geom.getFactory().toGeometry(clipEnv);
+ List clipped = new ArrayList();
+ for (int i = 0; i < geom.getNumGeometries(); i++) {
+ Geometry g = geom.getGeometryN(i);
+ Geometry result = null;
+ // don't clip unless necessary
+ if (clipEnv.contains(g.getEnvelopeInternal()))
+ result = g;
+ else if (clipEnv.intersects(g.getEnvelopeInternal())) {
+ result = clipPoly.intersection(g);
+ // keep vertex key info
+ result.setUserData(g.getUserData());
+ }
+
+ if (result != null && ! result.isEmpty()) {
+ clipped.add(result);
+ }
+ }
+ return geom.getFactory().createGeometryCollection(GeometryFactory.toGeometryArray(clipped));
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/package.html b/modules/core/src/main/java/org/locationtech/jts/triangulate/package.html
new file mode 100644
index 0000000..d49fa04
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/package.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to compute Delaunay triangulations.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/EdgeConnectedTriangleTraversal.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/EdgeConnectedTriangleTraversal.java
new file mode 100644
index 0000000..165d39e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/EdgeConnectedTriangleTraversal.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+/**
+ * A framework to visit sets of edge-connected {@link QuadEdgeTriangle}s in breadth-first order
+ *
+ * @author Martin Davis
+ * @version 1.0
+ */
+public class EdgeConnectedTriangleTraversal {
+ private LinkedList triQueue = new LinkedList();
+
+ public EdgeConnectedTriangleTraversal() {}
+
+ public void init(QuadEdgeTriangle tri) {
+ triQueue.addLast(tri);
+ }
+
+ /**
+ * Called to initialize the traversal queue with a given set of {@link QuadEdgeTriangle}s
+ *
+ * @param tris a collection of QuadEdgeTriangle
+ */
+ public void init(Collection tris) {
+ triQueue.addAll(tris);
+ }
+
+ /**
+ * Subclasses can call this method to add a triangle to the end of the queue. This is useful for
+ * initializing the queue to a chosen set of triangles.
+ *
+ * @param tri a triangle
+ */
+ /*
+ * protected void addLast(QuadEdgeTriangle tri) { triQueue.addLast(tri); }
+ */
+
+ /**
+ * Subclasses call this method to perform the visiting process.
+ */
+ public void visitAll(TraversalVisitor visitor) {
+ while (!triQueue.isEmpty()) {
+ QuadEdgeTriangle tri = (QuadEdgeTriangle) triQueue.removeFirst();
+ process(tri, visitor);
+ }
+ }
+
+ private void process(QuadEdgeTriangle currTri, TraversalVisitor visitor) {
+ currTri.getNeighbours();
+ for (int i = 0; i < 3; i++) {
+ QuadEdgeTriangle neighTri = (QuadEdgeTriangle) currTri.getEdge(i).sym().getData();
+ if (neighTri == null)
+ continue;
+ if (visitor.visit(currTri, i, neighTri))
+ triQueue.addLast(neighTri);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LastFoundQuadEdgeLocator.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LastFoundQuadEdgeLocator.java
new file mode 100644
index 0000000..571e427
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LastFoundQuadEdgeLocator.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import java.util.Collection;
+
+/**
+ * Locates {@link QuadEdge}s in a {@link QuadEdgeSubdivision},
+ * optimizing the search by starting in the
+ * locality of the last edge found.
+ *
+ * @author Martin Davis
+ */
+public class LastFoundQuadEdgeLocator implements QuadEdgeLocator {
+ private QuadEdgeSubdivision subdiv;
+ private QuadEdge lastEdge = null;
+
+ public LastFoundQuadEdgeLocator(QuadEdgeSubdivision subdiv) {
+ this.subdiv = subdiv;
+ init();
+ }
+
+ private void init() {
+ lastEdge = findEdge();
+ }
+
+ private QuadEdge findEdge() {
+ Collection edges = subdiv.getEdges();
+ // assume there is an edge - otherwise will get an exception
+ return (QuadEdge) edges.iterator().next();
+ }
+
+ /**
+ * Locates an edge e, such that either v is on e, or e is an edge of a triangle containing v.
+ * The search starts from the last located edge and proceeds on the general direction of v.
+ */
+ public QuadEdge locate(Vertex v) {
+ if (! lastEdge.isLive()) {
+ init();
+ }
+
+ QuadEdge e = subdiv.locateFromEdge(v, lastEdge);
+ lastEdge = e;
+ return e;
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LocateFailureException.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LocateFailureException.java
new file mode 100644
index 0000000..b52a3cb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/LocateFailureException.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate.quadedge;
+
+import org.locationtech.jts.geom.LineSegment;
+
+public class LocateFailureException
+ extends RuntimeException
+{
+ private static String msgWithSpatial(String msg, LineSegment seg) {
+ if (seg != null)
+ return msg + " [ " + seg + " ]";
+ return msg;
+ }
+
+ private LineSegment seg = null;
+
+ public LocateFailureException(String msg) {
+ super(msg);
+ }
+
+ public LocateFailureException(String msg, LineSegment seg) {
+ super(msgWithSpatial(msg, seg));
+ this.seg = new LineSegment(seg);
+ }
+
+ public LocateFailureException(LineSegment seg) {
+ super(
+ "Locate failed to converge (at edge: "
+ + seg
+ + "). Possible causes include invalid Subdivision topology or very close sites");
+ this.seg = new LineSegment(seg);
+ }
+
+ public LineSegment getSegment() {
+ return seg;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdge.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdge.java
new file mode 100644
index 0000000..266546f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdge.java
@@ -0,0 +1,414 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.io.WKTWriter;
+
+/**
+ * A class that represents the edge data structure which implements the quadedge algebra.
+ * The quadedge algebra was described in a well-known paper by Guibas and Stolfi,
+ * "Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams",
+ * <i>ACM Transactions on Graphics</i>, 4(2), 1985, 75-123.
+ * <p>
+ * Each edge object is part of a quartet of 4 edges,
+ * linked via their <tt>rot</tt> references.
+ * Any edge in the group may be accessed using a series of {@link #rot()} operations.
+ * Quadedges in a subdivision are linked together via their <tt>next</tt> references.
+ * The linkage between the quadedge quartets determines the topology
+ * of the subdivision.
+ * <p>
+ * The edge class does not contain separate information for vertices or faces; a vertex is implicitly
+ * defined as a ring of edges (created using the <tt>next</tt> field).
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class QuadEdge
+{
+ /**
+ * Creates a new QuadEdge quartet from {@link Vertex} o to {@link Vertex} d.
+ *
+ * @param o
+ * the origin Vertex
+ * @param d
+ * the destination Vertex
+ * @return the new QuadEdge quartet
+ */
+ public static QuadEdge makeEdge(Vertex o, Vertex d) {
+ QuadEdge q0 = new QuadEdge();
+ QuadEdge q1 = new QuadEdge();
+ QuadEdge q2 = new QuadEdge();
+ QuadEdge q3 = new QuadEdge();
+
+ q0.rot = q1;
+ q1.rot = q2;
+ q2.rot = q3;
+ q3.rot = q0;
+
+ q0.setNext(q0);
+ q1.setNext(q3);
+ q2.setNext(q2);
+ q3.setNext(q1);
+
+ QuadEdge base = q0;
+ base.setOrig(o);
+ base.setDest(d);
+ return base;
+ }
+
+ /**
+ * Creates a new QuadEdge connecting the destination of a to the origin of
+ * b, in such a way that all three have the same left face after the
+ * connection is complete. Additionally, the data pointers of the new edge
+ * are set.
+ *
+ * @return the connected edge.
+ */
+ public static QuadEdge connect(QuadEdge a, QuadEdge b) {
+ QuadEdge e = makeEdge(a.dest(), b.orig());
+ splice(e, a.lNext());
+ splice(e.sym(), b);
+ return e;
+ }
+
+ /**
+ * Splices two edges together or apart.
+ * Splice affects the two edge rings around the origins of a and b, and, independently, the two
+ * edge rings around the left faces of <tt>a</tt> and <tt>b</tt>.
+ * In each case, (i) if the two rings are distinct,
+ * Splice will combine them into one, or (ii) if the two are the same ring, Splice will break it
+ * into two separate pieces. Thus, Splice can be used both to attach the two edges together, and
+ * to break them apart.
+ *
+ * @param a an edge to splice
+ * @param b an edge to splice
+ *
+ */
+ public static void splice(QuadEdge a, QuadEdge b) {
+ QuadEdge alpha = a.oNext().rot();
+ QuadEdge beta = b.oNext().rot();
+
+ QuadEdge t1 = b.oNext();
+ QuadEdge t2 = a.oNext();
+ QuadEdge t3 = beta.oNext();
+ QuadEdge t4 = alpha.oNext();
+
+ a.setNext(t1);
+ b.setNext(t2);
+ alpha.setNext(t3);
+ beta.setNext(t4);
+ }
+
+ /**
+ * Turns an edge counterclockwise inside its enclosing quadrilateral.
+ *
+ * @param e the quadedge to turn
+ */
+ public static void swap(QuadEdge e) {
+ QuadEdge a = e.oPrev();
+ QuadEdge b = e.sym().oPrev();
+ splice(e, a);
+ splice(e.sym(), b);
+ splice(e, a.lNext());
+ splice(e.sym(), b.lNext());
+ e.setOrig(a.dest());
+ e.setDest(b.dest());
+ }
+
+ // the dual of this edge, directed from right to left
+ private QuadEdge rot;
+ private Vertex vertex; // The vertex that this edge represents
+ private QuadEdge next; // A reference to a connected edge
+ private Object data = null;
+// private int visitedKey = 0;
+
+ /**
+ * Quadedges must be made using {@link makeEdge},
+ * to ensure proper construction.
+ */
+ private QuadEdge()
+ {
+
+ }
+
+ /**
+ * Gets the primary edge of this quadedge and its <tt>sym</tt>.
+ * The primary edge is the one for which the origin
+ * and destination coordinates are ordered
+ * according to the standard {@link Coordinate} ordering
+ *
+ * @return the primary quadedge
+ */
+ public QuadEdge getPrimary()
+ {
+ if (orig().getCoordinate().compareTo(dest().getCoordinate()) <= 0)
+ return this;
+ else
+ return sym();
+ }
+
+ /**
+ * Sets the external data value for this edge.
+ *
+ * @param data an object containing external data
+ */
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ /**
+ * Gets the external data value for this edge.
+ *
+ * @return the data object
+ */
+ public Object getData() {
+ return data;
+ }
+
+ /**
+ * Marks this quadedge as being deleted.
+ * This does not free the memory used by
+ * this quadedge quartet, but indicates
+ * that this edge no longer participates
+ * in a subdivision.
+ *
+ */
+ public void delete() {
+ rot = null;
+ }
+
+ /**
+ * Tests whether this edge has been deleted.
+ *
+ * @return true if this edge has not been deleted.
+ */
+ public boolean isLive() {
+ return rot != null;
+ }
+
+
+ /**
+ * Sets the connected edge
+ *
+ * @param next edge
+ */
+ public void setNext(QuadEdge next) {
+ this.next = next;
+ }
+
+ /***************************************************************************
+ * QuadEdge Algebra
+ ***************************************************************************
+ */
+
+ /**
+ * Gets the dual of this edge, directed from its right to its left.
+ *
+ * @return the rotated edge
+ */
+ public final QuadEdge rot() {
+ return rot;
+ }
+
+ /**
+ * Gets the dual of this edge, directed from its left to its right.
+ *
+ * @return the inverse rotated edge.
+ */
+ public final QuadEdge invRot() {
+ return rot.sym();
+ }
+
+ /**
+ * Gets the edge from the destination to the origin of this edge.
+ *
+ * @return the sym of the edge
+ */
+ public final QuadEdge sym() {
+ return rot.rot;
+ }
+
+ /**
+ * Gets the next CCW edge around the origin of this edge.
+ *
+ * @return the next linked edge.
+ */
+ public final QuadEdge oNext() {
+ return next;
+ }
+
+ /**
+ * Gets the next CW edge around (from) the origin of this edge.
+ *
+ * @return the previous edge.
+ */
+ public final QuadEdge oPrev() {
+ return rot.next.rot;
+ }
+
+ /**
+ * Gets the next CCW edge around (into) the destination of this edge.
+ *
+ * @return the next destination edge.
+ */
+ public final QuadEdge dNext() {
+ return this.sym().oNext().sym();
+ }
+
+ /**
+ * Gets the next CW edge around (into) the destination of this edge.
+ *
+ * @return the previous destination edge.
+ */
+ public final QuadEdge dPrev() {
+ return this.invRot().oNext().invRot();
+ }
+
+ /**
+ * Gets the CCW edge around the left face following this edge.
+ *
+ * @return the next left face edge.
+ */
+ public final QuadEdge lNext() {
+ return this.invRot().oNext().rot();
+ }
+
+ /**
+ * Gets the CCW edge around the left face before this edge.
+ *
+ * @return the previous left face edge.
+ */
+ public final QuadEdge lPrev() {
+ return next.sym();
+ }
+
+ /**
+ * Gets the edge around the right face ccw following this edge.
+ *
+ * @return the next right face edge.
+ */
+ public final QuadEdge rNext() {
+ return rot.next.invRot();
+ }
+
+ /**
+ * Gets the edge around the right face ccw before this edge.
+ *
+ * @return the previous right face edge.
+ */
+ public final QuadEdge rPrev() {
+ return this.sym().oNext();
+ }
+
+ /***********************************************************************************************
+ * Data Access
+ **********************************************************************************************/
+ /**
+ * Sets the vertex for this edge's origin
+ *
+ * @param o the origin vertex
+ */
+ void setOrig(Vertex o) {
+ vertex = o;
+ }
+
+ /**
+ * Sets the vertex for this edge's destination
+ *
+ * @param d the destination vertex
+ */
+ void setDest(Vertex d) {
+ sym().setOrig(d);
+ }
+
+ /**
+ * Gets the vertex for the edge's origin
+ *
+ * @return the origin vertex
+ */
+ public final Vertex orig() {
+ return vertex;
+ }
+
+ /**
+ * Gets the vertex for the edge's destination
+ *
+ * @return the destination vertex
+ */
+ public final Vertex dest() {
+ return sym().orig();
+ }
+
+ /**
+ * Gets the length of the geometry of this quadedge.
+ *
+ * @return the length of the quadedge
+ */
+ public double getLength() {
+ return orig().getCoordinate().distance(dest().getCoordinate());
+ }
+
+ /**
+ * Tests if this quadedge and another have the same line segment geometry,
+ * regardless of orientation.
+ *
+ * @param qe a quadedge
+ * @return true if the quadedges are based on the same line segment regardless of orientation
+ */
+ public boolean equalsNonOriented(QuadEdge qe) {
+ if (equalsOriented(qe))
+ return true;
+ if (equalsOriented(qe.sym()))
+ return true;
+ return false;
+ }
+
+ /**
+ * Tests if this quadedge and another have the same line segment geometry
+ * with the same orientation.
+ *
+ * @param qe a quadedge
+ * @return true if the quadedges are based on the same line segment
+ */
+ public boolean equalsOriented(QuadEdge qe) {
+ if (orig().getCoordinate().equals2D(qe.orig().getCoordinate())
+ && dest().getCoordinate().equals2D(qe.dest().getCoordinate()))
+ return true;
+ return false;
+ }
+
+ /**
+ * Creates a {@link LineSegment} representing the
+ * geometry of this edge.
+ *
+ * @return a LineSegment
+ */
+ public LineSegment toLineSegment()
+ {
+ return new LineSegment(vertex.getCoordinate(), dest().getCoordinate());
+ }
+
+ /**
+ * Converts this edge to a WKT two-point <tt>LINESTRING</tt> indicating
+ * the geometry of this edge.
+ *
+ * @return a String representing this edge's geometry
+ */
+ public String toString() {
+ Coordinate p0 = vertex.getCoordinate();
+ Coordinate p1 = dest().getCoordinate();
+ return WKTWriter.toLineString(p0, p1);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeLocator.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeLocator.java
new file mode 100644
index 0000000..d70d6e8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeLocator.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+/**
+ * An interface for classes which locate an edge in a {@link QuadEdgeSubdivision}
+ * which either contains a given {@link Vertex} V
+ * or is an edge of a triangle which contains V.
+ * Implementors may utilized different strategies for
+ * optimizing locating containing edges/triangles.
+ *
+ * @author Martin Davis
+ */
+public interface QuadEdgeLocator {
+ QuadEdge locate(Vertex v);
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeSubdivision.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeSubdivision.java
new file mode 100644
index 0000000..f9d743e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeSubdivision.java
@@ -0,0 +1,950 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.Stack;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateList;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.Triangle;
+import org.locationtech.jts.io.WKTWriter;
+
+
+/**
+ * A class that contains the {@link QuadEdge}s representing a planar
+ * subdivision that models a triangulation.
+ * The subdivision is constructed using the
+ * quadedge algebra defined in the class {@link QuadEdge}.
+ * All metric calculations
+ * are done in the {@link Vertex} class.
+ * In addition to a triangulation, subdivisions
+ * support extraction of Voronoi diagrams.
+ * This is easily accomplished, since the Voronoi diagram is the dual
+ * of the Delaunay triangulation.
+ * <p>
+ * Subdivisions can be provided with a tolerance value. Inserted vertices which
+ * are closer than this value to vertices already in the subdivision will be
+ * ignored. Using a suitable tolerance value can prevent robustness failures
+ * from happening during Delaunay triangulation.
+ * <p>
+ * Subdivisions maintain a <b>frame</b> triangle around the client-created
+ * edges. The frame is used to provide a bounded "container" for all edges
+ * within a TIN. Normally the frame edges, frame connecting edges, and frame
+ * triangles are not included in client processing.
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class QuadEdgeSubdivision {
+ /**
+ * Gets the edges for the triangle to the left of the given {@link QuadEdge}.
+ *
+ * @param startQE
+ * @param triEdge
+ *
+ * @throws IllegalArgumentException
+ * if the edges do not form a triangle
+ */
+ public static void getTriangleEdges(QuadEdge startQE, QuadEdge[] triEdge) {
+ triEdge[0] = startQE;
+ triEdge[1] = triEdge[0].lNext();
+ triEdge[2] = triEdge[1].lNext();
+ if (triEdge[2].lNext() != triEdge[0])
+ throw new IllegalArgumentException("Edges do not form a triangle");
+ }
+
+ private final static double EDGE_COINCIDENCE_TOL_FACTOR = 1000;
+
+ // debugging only - preserve current subdiv statically
+ // private static QuadEdgeSubdivision currentSubdiv;
+
+ // used for edge extraction to ensure edge uniqueness
+ private int visitedKey = 0;
+// private Set quadEdges = new HashSet();
+ private List quadEdges = new ArrayList();
+ private QuadEdge startingEdge;
+ private double tolerance;
+ private double edgeCoincidenceTolerance;
+ private Vertex[] frameVertex = new Vertex[3];
+ private Envelope frameEnv;
+ private QuadEdgeLocator locator = null;
+
+ /**
+ * Creates a new instance of a quad-edge subdivision based on a frame triangle
+ * that encloses a supplied bounding box. A new super-bounding box that
+ * contains the triangle is computed and stored.
+ *
+ * @param env
+ * the bounding box to surround
+ * @param tolerance
+ * the tolerance value for determining if two sites are equal
+ */
+ public QuadEdgeSubdivision(Envelope env, double tolerance) {
+ // currentSubdiv = this;
+ this.tolerance = tolerance;
+ edgeCoincidenceTolerance = tolerance / EDGE_COINCIDENCE_TOL_FACTOR;
+
+ createFrame(env);
+
+ startingEdge = initSubdiv();
+ locator = new LastFoundQuadEdgeLocator(this);
+ }
+
+ private void createFrame(Envelope env)
+ {
+ double deltaX = env.getWidth();
+ double deltaY = env.getHeight();
+ double offset = 0.0;
+ if (deltaX > deltaY) {
+ offset = deltaX * 10.0;
+ } else {
+ offset = deltaY * 10.0;
+ }
+
+ frameVertex[0] = new Vertex((env.getMaxX() + env.getMinX()) / 2.0, env
+ .getMaxY()
+ + offset);
+ frameVertex[1] = new Vertex(env.getMinX() - offset, env.getMinY() - offset);
+ frameVertex[2] = new Vertex(env.getMaxX() + offset, env.getMinY() - offset);
+
+ frameEnv = new Envelope(frameVertex[0].getCoordinate(), frameVertex[1]
+ .getCoordinate());
+ frameEnv.expandToInclude(frameVertex[2].getCoordinate());
+ }
+
+ private QuadEdge initSubdiv()
+ {
+ // build initial subdivision from frame
+ QuadEdge ea = makeEdge(frameVertex[0], frameVertex[1]);
+ QuadEdge eb = makeEdge(frameVertex[1], frameVertex[2]);
+ QuadEdge.splice(ea.sym(), eb);
+ QuadEdge ec = makeEdge(frameVertex[2], frameVertex[0]);
+ QuadEdge.splice(eb.sym(), ec);
+ QuadEdge.splice(ec.sym(), ea);
+ return ea;
+ }
+
+ /**
+ * Gets the vertex-equality tolerance value
+ * used in this subdivision
+ *
+ * @return the tolerance value
+ */
+ public double getTolerance() {
+ return tolerance;
+ }
+
+ /**
+ * Gets the envelope of the Subdivision (including the frame).
+ *
+ * @return the envelope
+ */
+ public Envelope getEnvelope() {
+ return new Envelope(frameEnv);
+ }
+
+ /**
+ * Gets the collection of base {@link QuadEdge}s (one for every pair of
+ * vertices which is connected).
+ *
+ * @return a collection of QuadEdges
+ */
+ public Collection getEdges() {
+ return quadEdges;
+ }
+
+ /**
+ * Sets the {@link QuadEdgeLocator} to use for locating containing triangles
+ * in this subdivision.
+ *
+ * @param locator
+ * a QuadEdgeLocator
+ */
+ public void setLocator(QuadEdgeLocator locator) {
+ this.locator = locator;
+ }
+
+ /**
+ * Creates a new quadedge, recording it in the edges list.
+ *
+ * @param o
+ * @param d
+ * @return a new quadedge
+ */
+ public QuadEdge makeEdge(Vertex o, Vertex d) {
+ QuadEdge q = QuadEdge.makeEdge(o, d);
+ quadEdges.add(q);
+ return q;
+ }
+
+ /**
+ * Creates a new QuadEdge connecting the destination of a to the origin of b,
+ * in such a way that all three have the same left face after the connection
+ * is complete. The quadedge is recorded in the edges list.
+ *
+ * @param a
+ * @param b
+ * @return a quadedge
+ */
+ public QuadEdge connect(QuadEdge a, QuadEdge b) {
+ QuadEdge q = QuadEdge.connect(a, b);
+ quadEdges.add(q);
+ return q;
+ }
+
+ /**
+ * Deletes a quadedge from the subdivision. Linked quadedges are updated to
+ * reflect the deletion.
+ *
+ * @param e
+ * the quadedge to delete
+ */
+ public void delete(QuadEdge e) {
+ QuadEdge.splice(e, e.oPrev());
+ QuadEdge.splice(e.sym(), e.sym().oPrev());
+
+ QuadEdge eSym = e.sym();
+ QuadEdge eRot = e.rot();
+ QuadEdge eRotSym = e.rot().sym();
+
+ // this is inefficient on an ArrayList, but this method should be called infrequently
+ quadEdges.remove(e);
+ quadEdges.remove(eSym);
+ quadEdges.remove(eRot);
+ quadEdges.remove(eRotSym);
+
+ e.delete();
+ eSym.delete();
+ eRot.delete();
+ eRotSym.delete();
+ }
+
+ /**
+ * Locates an edge of a triangle which contains a location
+ * specified by a Vertex v.
+ * The edge returned has the
+ * property that either v is on e, or e is an edge of a triangle containing v.
+ * The search starts from startEdge amd proceeds on the general direction of v.
+ * <p>
+ * This locate algorithm relies on the subdivision being Delaunay. For
+ * non-Delaunay subdivisions, this may loop for ever.
+ *
+ * @param v the location to search for
+ * @param startEdge an edge of the subdivision to start searching at
+ * @return a QuadEdge which contains v, or is on the edge of a triangle containing v
+ * @throws LocateFailureException
+ * if the location algorithm fails to converge in a reasonable
+ * number of iterations
+ */
+ public QuadEdge locateFromEdge(Vertex v, QuadEdge startEdge) {
+ int iter = 0;
+ int maxIter = quadEdges.size();
+
+ QuadEdge e = startEdge;
+
+ while (true) {
+ iter++;
+
+ /**
+ * So far it has always been the case that failure to locate indicates an
+ * invalid subdivision. So just fail completely. (An alternative would be
+ * to perform an exhaustive search for the containing triangle, but this
+ * would mask errors in the subdivision topology)
+ *
+ * This can also happen if two vertices are located very close together,
+ * since the orientation predicates may experience precision failures.
+ */
+ if (iter > maxIter) {
+ throw new LocateFailureException(e.toLineSegment());
+ // String msg = "Locate failed to converge (at edge: " + e + ").
+ // Possible causes include invalid Subdivision topology or very close
+ // sites";
+ // System.err.println(msg);
+ // dumpTriangles();
+ }
+
+ if ((v.equals(e.orig())) || (v.equals(e.dest()))) {
+ break;
+ } else if (v.rightOf(e)) {
+ e = e.sym();
+ } else if (!v.rightOf(e.oNext())) {
+ e = e.oNext();
+ } else if (!v.rightOf(e.dPrev())) {
+ e = e.dPrev();
+ } else {
+ // on edge or in triangle containing edge
+ break;
+ }
+ }
+ // System.out.println("Locate count: " + iter);
+ return e;
+ }
+
+ /**
+ * Finds a quadedge of a triangle containing a location
+ * specified by a {@link Vertex}, if one exists.
+ *
+ * @param v the vertex to locate
+ * @return a quadedge on the edge of a triangle which touches or contains the location
+ * or null if no such triangle exists
+ */
+ public QuadEdge locate(Vertex v) {
+ return locator.locate(v);
+ }
+
+ /**
+ * Finds a quadedge of a triangle containing a location
+ * specified by a {@link Coordinate}, if one exists.
+ *
+ * @param p the Coordinate to locate
+ * @return a quadedge on the edge of a triangle which touches or contains the location
+ * or null if no such triangle exists
+ */
+ public QuadEdge locate(Coordinate p) {
+ return locator.locate(new Vertex(p));
+ }
+
+ /**
+ * Locates the edge between the given vertices, if it exists in the
+ * subdivision.
+ *
+ * @param p0 a coordinate
+ * @param p1 another coordinate
+ * @return the edge joining the coordinates, if present
+ * or null if no such edge exists
+ */
+ public QuadEdge locate(Coordinate p0, Coordinate p1) {
+ // find an edge containing one of the points
+ QuadEdge e = locator.locate(new Vertex(p0));
+ if (e == null)
+ return null;
+
+ // normalize so that p0 is origin of base edge
+ QuadEdge base = e;
+ if (e.dest().getCoordinate().equals2D(p0))
+ base = e.sym();
+ // check all edges around origin of base edge
+ QuadEdge locEdge = base;
+ do {
+ if (locEdge.dest().getCoordinate().equals2D(p1))
+ return locEdge;
+ locEdge = locEdge.oNext();
+ } while (locEdge != base);
+ return null;
+ }
+
+ /**
+ * Inserts a new site into the Subdivision, connecting it to the vertices of
+ * the containing triangle (or quadrilateral, if the split point falls on an
+ * existing edge).
+ * <p>
+ * This method does NOT maintain the Delaunay condition. If desired, this must
+ * be checked and enforced by the caller.
+ * <p>
+ * This method does NOT check if the inserted vertex falls on an edge. This
+ * must be checked by the caller, since this situation may cause erroneous
+ * triangulation
+ *
+ * @param v
+ * the vertex to insert
+ * @return a new quad edge terminating in v
+ */
+ public QuadEdge insertSite(Vertex v) {
+ QuadEdge e = locate(v);
+
+ if ((v.equals(e.orig(), tolerance)) || (v.equals(e.dest(), tolerance))) {
+ return e; // point already in subdivision.
+ }
+
+ // Connect the new point to the vertices of the containing
+ // triangle (or quadrilateral, if the new point fell on an
+ // existing edge.)
+ QuadEdge base = makeEdge(e.orig(), v);
+ QuadEdge.splice(base, e);
+ QuadEdge startEdge = base;
+ do {
+ base = connect(e, base.sym());
+ e = base.oPrev();
+ } while (e.lNext() != startEdge);
+
+ return startEdge;
+ }
+
+ /**
+ * Tests whether a QuadEdge is an edge incident on a frame triangle vertex.
+ *
+ * @param e
+ * the edge to test
+ * @return true if the edge is connected to the frame triangle
+ */
+ public boolean isFrameEdge(QuadEdge e) {
+ if (isFrameVertex(e.orig()) || isFrameVertex(e.dest()))
+ return true;
+ return false;
+ }
+
+ /**
+ * Tests whether a QuadEdge is an edge on the border of the frame facets and
+ * the internal facets. E.g. an edge which does not itself touch a frame
+ * vertex, but which touches an edge which does.
+ *
+ * @param e
+ * the edge to test
+ * @return true if the edge is on the border of the frame
+ */
+ public boolean isFrameBorderEdge(QuadEdge e) {
+ // MD debugging
+ QuadEdge[] leftTri = new QuadEdge[3];
+ getTriangleEdges(e, leftTri);
+ // System.out.println(new QuadEdgeTriangle(leftTri).toString());
+ QuadEdge[] rightTri = new QuadEdge[3];
+ getTriangleEdges(e.sym(), rightTri);
+ // System.out.println(new QuadEdgeTriangle(rightTri).toString());
+
+ // check other vertex of triangle to left of edge
+ Vertex vLeftTriOther = e.lNext().dest();
+ if (isFrameVertex(vLeftTriOther))
+ return true;
+ // check other vertex of triangle to right of edge
+ Vertex vRightTriOther = e.sym().lNext().dest();
+ if (isFrameVertex(vRightTriOther))
+ return true;
+
+ return false;
+ }
+
+ /**
+ * Tests whether a vertex is a vertex of the outer triangle.
+ *
+ * @param v
+ * the vertex to test
+ * @return true if the vertex is an outer triangle vertex
+ */
+ public boolean isFrameVertex(Vertex v) {
+ if (v.equals(frameVertex[0]))
+ return true;
+ if (v.equals(frameVertex[1]))
+ return true;
+ if (v.equals(frameVertex[2]))
+ return true;
+ return false;
+ }
+
+ private LineSegment seg = new LineSegment();
+
+ /**
+ * Tests whether a {@link Coordinate} lies on a {@link QuadEdge}, up to a
+ * tolerance determined by the subdivision tolerance.
+ *
+ * @param e
+ * a QuadEdge
+ * @param p
+ * a point
+ * @return true if the vertex lies on the edge
+ */
+ public boolean isOnEdge(QuadEdge e, Coordinate p) {
+ seg.setCoordinates(e.orig().getCoordinate(), e.dest().getCoordinate());
+ double dist = seg.distance(p);
+ // heuristic (hack?)
+ return dist < edgeCoincidenceTolerance;
+ }
+
+ /**
+ * Tests whether a {@link Vertex} is the start or end vertex of a
+ * {@link QuadEdge}, up to the subdivision tolerance distance.
+ *
+ * @param e
+ * @param v
+ * @return true if the vertex is a endpoint of the edge
+ */
+ public boolean isVertexOfEdge(QuadEdge e, Vertex v) {
+ if ((v.equals(e.orig(), tolerance)) || (v.equals(e.dest(), tolerance))) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gets the unique {@link Vertex}es in the subdivision,
+ * including the frame vertices if desired.
+ *
+ * @param includeFrame
+ * true if the frame vertices should be included
+ * @return a collection of the subdivision vertices
+ *
+ * @see #getVertexUniqueEdges
+ */
+ public Collection getVertices(boolean includeFrame)
+ {
+ Set vertices = new HashSet();
+ for (Iterator i = quadEdges.iterator(); i.hasNext();) {
+ QuadEdge qe = (QuadEdge) i.next();
+ Vertex v = qe.orig();
+ //System.out.println(v);
+ if (includeFrame || ! isFrameVertex(v))
+ vertices.add(v);
+
+ /**
+ * Inspect the sym edge as well, since it is
+ * possible that a vertex is only at the
+ * dest of all tracked quadedges.
+ */
+ Vertex vd = qe.dest();
+ //System.out.println(vd);
+ if (includeFrame || ! isFrameVertex(vd))
+ vertices.add(vd);
+ }
+ return vertices;
+ }
+
+ /**
+ * Gets a collection of {@link QuadEdge}s whose origin
+ * vertices are a unique set which includes
+ * all vertices in the subdivision.
+ * The frame vertices can be included if required.
+ * <p>
+ * This is useful for algorithms which require traversing the
+ * subdivision starting at all vertices.
+ * Returning a quadedge for each vertex
+ * is more efficient than
+ * the alternative of finding the actual vertices
+ * using {@link #getVertices} and then locating
+ * quadedges attached to them.
+ *
+ * @param includeFrame true if the frame vertices should be included
+ * @return a collection of QuadEdge with the vertices of the subdivision as their origins
+ */
+ public List getVertexUniqueEdges(boolean includeFrame)
+ {
+ List edges = new ArrayList();
+ Set visitedVertices = new HashSet();
+ for (Iterator i = quadEdges.iterator(); i.hasNext();) {
+ QuadEdge qe = (QuadEdge) i.next();
+ Vertex v = qe.orig();
+ //System.out.println(v);
+ if (! visitedVertices.contains(v)) {
+ visitedVertices.add(v);
+ if (includeFrame || ! isFrameVertex(v)) {
+ edges.add(qe);
+ }
+ }
+
+ /**
+ * Inspect the sym edge as well, since it is
+ * possible that a vertex is only at the
+ * dest of all tracked quadedges.
+ */
+ QuadEdge qd = qe.sym();
+ Vertex vd = qd.orig();
+ //System.out.println(vd);
+ if (! visitedVertices.contains(vd)) {
+ visitedVertices.add(vd);
+ if (includeFrame || ! isFrameVertex(vd)) {
+ edges.add(qd);
+ }
+ }
+ }
+ return edges;
+ }
+
+ /**
+ * Gets all primary quadedges in the subdivision.
+ * A primary edge is a {@link QuadEdge}
+ * which occupies the 0'th position in its array of associated quadedges.
+ * These provide the unique geometric edges of the triangulation.
+ *
+ * @param includeFrame true if the frame edges are to be included
+ * @return a List of QuadEdges
+ */
+ public List getPrimaryEdges(boolean includeFrame) {
+ visitedKey++;
+
+ List edges = new ArrayList();
+ Stack edgeStack = new Stack();
+ edgeStack.push(startingEdge);
+
+ Set visitedEdges = new HashSet();
+
+ while (!edgeStack.empty()) {
+ QuadEdge edge = (QuadEdge) edgeStack.pop();
+ if (! visitedEdges.contains(edge)) {
+ QuadEdge priQE = edge.getPrimary();
+
+ if (includeFrame || ! isFrameEdge(priQE))
+ edges.add(priQE);
+
+ edgeStack.push(edge.oNext());
+ edgeStack.push(edge.sym().oNext());
+
+ visitedEdges.add(edge);
+ visitedEdges.add(edge.sym());
+ }
+ }
+ return edges;
+ }
+
+ /**
+ * A TriangleVisitor which computes and sets the
+ * circumcentre as the origin of the dual
+ * edges originating in each triangle.
+ *
+ * @author mbdavis
+ *
+ */
+ private static class TriangleCircumcentreVisitor implements TriangleVisitor
+ {
+ public TriangleCircumcentreVisitor() {
+ }
+
+ public void visit(QuadEdge[] triEdges)
+ {
+ Coordinate a = triEdges[0].orig().getCoordinate();
+ Coordinate b = triEdges[1].orig().getCoordinate();
+ Coordinate c = triEdges[2].orig().getCoordinate();
+
+ // TODO: choose the most accurate circumcentre based on the edges
+ Coordinate cc = Triangle.circumcentre(a, b, c);
+ Vertex ccVertex = new Vertex(cc);
+ // save the circumcentre as the origin for the dual edges originating in this triangle
+ for (int i = 0; i < 3; i++) {
+ triEdges[i].rot().setOrig(ccVertex);
+ }
+ }
+ }
+
+ /*****************************************************************************
+ * Visitors
+ ****************************************************************************/
+
+ public void visitTriangles(TriangleVisitor triVisitor,
+ boolean includeFrame) {
+ visitedKey++;
+
+ // visited flag is used to record visited edges of triangles
+ // setVisitedAll(false);
+ Stack edgeStack = new Stack();
+ edgeStack.push(startingEdge);
+
+ Set visitedEdges = new HashSet();
+
+ while (!edgeStack.empty()) {
+ QuadEdge edge = (QuadEdge) edgeStack.pop();
+ if (! visitedEdges.contains(edge)) {
+ QuadEdge[] triEdges = fetchTriangleToVisit(edge, edgeStack,
+ includeFrame, visitedEdges);
+ if (triEdges != null)
+ triVisitor.visit(triEdges);
+ }
+ }
+ }
+
+ /**
+ * The quadedges forming a single triangle.
+ * Only one visitor is allowed to be active at a
+ * time, so this is safe.
+ */
+ private QuadEdge[] triEdges = new QuadEdge[3];
+
+ /**
+ * Stores the edges for a visited triangle. Also pushes sym (neighbour) edges
+ * on stack to visit later.
+ *
+ * @param edge
+ * @param edgeStack
+ * @param includeFrame
+ * @return the visited triangle edges
+ * or null if the triangle should not be visited (for instance, if it is
+ * outer)
+ */
+ private QuadEdge[] fetchTriangleToVisit(QuadEdge edge, Stack edgeStack,
+ boolean includeFrame, Set visitedEdges) {
+ QuadEdge curr = edge;
+ int edgeCount = 0;
+ boolean isFrame = false;
+ do {
+ triEdges[edgeCount] = curr;
+
+ if (isFrameEdge(curr))
+ isFrame = true;
+
+ // push sym edges to visit next
+ QuadEdge sym = curr.sym();
+ if (! visitedEdges.contains(sym))
+ edgeStack.push(sym);
+
+ // mark this edge as visited
+ visitedEdges.add(curr);
+
+ edgeCount++;
+ curr = curr.lNext();
+ } while (curr != edge);
+
+ if (isFrame && !includeFrame)
+ return null;
+ return triEdges;
+ }
+
+ /**
+ * Gets a list of the triangles
+ * in the subdivision, specified as
+ * an array of the primary quadedges around the triangle.
+ *
+ * @param includeFrame
+ * true if the frame triangles should be included
+ * @return a List of QuadEdge[3] arrays
+ */
+ public List getTriangleEdges(boolean includeFrame) {
+ TriangleEdgesListVisitor visitor = new TriangleEdgesListVisitor();
+ visitTriangles(visitor, includeFrame);
+ return visitor.getTriangleEdges();
+ }
+
+ private static class TriangleEdgesListVisitor implements TriangleVisitor {
+ private List triList = new ArrayList();
+
+ public void visit(QuadEdge[] triEdges) {
+ triList.add(triEdges);
+ }
+
+ public List getTriangleEdges() {
+ return triList;
+ }
+ }
+
+ /**
+ * Gets a list of the triangles in the subdivision,
+ * specified as an array of the triangle {@link Vertex}es.
+ *
+ * @param includeFrame
+ * true if the frame triangles should be included
+ * @return a List of Vertex[3] arrays
+ */
+ public List getTriangleVertices(boolean includeFrame) {
+ TriangleVertexListVisitor visitor = new TriangleVertexListVisitor();
+ visitTriangles(visitor, includeFrame);
+ return visitor.getTriangleVertices();
+ }
+
+ private static class TriangleVertexListVisitor implements TriangleVisitor {
+ private List triList = new ArrayList();
+
+ public void visit(QuadEdge[] triEdges) {
+ triList.add(new Vertex[] { triEdges[0].orig(), triEdges[1].orig(),
+ triEdges[2].orig() });
+ }
+
+ public List getTriangleVertices() {
+ return triList;
+ }
+ }
+
+ /**
+ * Gets the coordinates for each triangle in the subdivision as an array.
+ *
+ * @param includeFrame
+ * true if the frame triangles should be included
+ * @return a list of Coordinate[4] representing each triangle
+ */
+ public List getTriangleCoordinates(boolean includeFrame) {
+ TriangleCoordinatesVisitor visitor = new TriangleCoordinatesVisitor();
+ visitTriangles(visitor, includeFrame);
+ return visitor.getTriangles();
+ }
+
+ private static class TriangleCoordinatesVisitor implements TriangleVisitor {
+ private CoordinateList coordList = new CoordinateList();
+
+ private List triCoords = new ArrayList();
+
+ public TriangleCoordinatesVisitor() {
+ }
+
+ public void visit(QuadEdge[] triEdges) {
+ coordList.clear();
+ for (int i = 0; i < 3; i++) {
+ Vertex v = triEdges[i].orig();
+ coordList.add(v.getCoordinate());
+ }
+ if (coordList.size() > 0) {
+ coordList.closeRing();
+ Coordinate[] pts = coordList.toCoordinateArray();
+ if (pts.length != 4) {
+ //checkTriangleSize(pts);
+ return;
+ }
+
+ triCoords.add(pts);
+ }
+ }
+
+ private void checkTriangleSize(Coordinate[] pts)
+ {
+ String loc = "";
+ if (pts.length >= 2)
+ loc = WKTWriter.toLineString(pts[0], pts[1]);
+ else {
+ if (pts.length >= 1)
+ loc = WKTWriter.toPoint(pts[0]);
+ }
+ // Assert.isTrue(pts.length == 4, "Too few points for visited triangle at " + loc);
+ //com.vividsolutions.jts.util.Debug.println("too few points for triangle at " + loc);
+ }
+
+ public List getTriangles() {
+ return triCoords;
+ }
+ }
+
+ /**
+ * Gets the geometry for the edges in the subdivision as a {@link MultiLineString}
+ * containing 2-point lines.
+ *
+ * @param geomFact the GeometryFactory to use
+ * @return a MultiLineString
+ */
+ public Geometry getEdges(GeometryFactory geomFact) {
+ List quadEdges = getPrimaryEdges(false);
+ LineString[] edges = new LineString[quadEdges.size()];
+ int i = 0;
+ for (Iterator it = quadEdges.iterator(); it.hasNext();) {
+ QuadEdge qe = (QuadEdge) it.next();
+ edges[i++] = geomFact.createLineString(new Coordinate[] {
+ qe.orig().getCoordinate(), qe.dest().getCoordinate() });
+ }
+ return geomFact.createMultiLineString(edges);
+ }
+
+ /**
+ * Gets the geometry for the triangles in a triangulated subdivision as a {@link GeometryCollection}
+ * of triangular {@link Polygon}s.
+ *
+ * @param geomFact the GeometryFactory to use
+ * @return a GeometryCollection of triangular Polygons
+ */
+ public Geometry getTriangles(GeometryFactory geomFact) {
+ List triPtsList = getTriangleCoordinates(false);
+ Polygon[] tris = new Polygon[triPtsList.size()];
+ int i = 0;
+ for (Iterator it = triPtsList.iterator(); it.hasNext();) {
+ Coordinate[] triPt = (Coordinate[]) it.next();
+ tris[i++] = geomFact
+ .createPolygon(geomFact.createLinearRing(triPt));
+ }
+ return geomFact.createGeometryCollection(tris);
+ }
+
+ /**
+ * Gets the cells in the Voronoi diagram for this triangulation.
+ * The cells are returned as a {@link GeometryCollection} of {@link Polygon}s
+ * <p>
+ * The userData of each polygon is set to be the {@link Coordinate}
+ * of the cell site. This allows easily associating external
+ * data associated with the sites to the cells.
+ *
+ * @param geomFact a geometry factory
+ * @return a GeometryCollection of Polygons
+ */
+ public Geometry getVoronoiDiagram(GeometryFactory geomFact)
+ {
+ List vorCells = getVoronoiCellPolygons(geomFact);
+ return geomFact.createGeometryCollection(GeometryFactory.toGeometryArray(vorCells));
+ }
+
+ /**
+ * Gets a List of {@link Polygon}s for the Voronoi cells
+ * of this triangulation.
+ * <p>
+ * The userData of each polygon is set to be the {@link Coordinate}
+ * of the cell site. This allows easily associating external
+ * data associated with the sites to the cells.
+ *
+ * @param geomFact a geometry factory
+ * @return a List of Polygons
+ */
+ public List getVoronoiCellPolygons(GeometryFactory geomFact)
+ {
+ /*
+ * Compute circumcentres of triangles as vertices for dual edges.
+ * Precomputing the circumcentres is more efficient,
+ * and more importantly ensures that the computed centres
+ * are consistent across the Voronoi cells.
+ */
+ visitTriangles(new TriangleCircumcentreVisitor(), true);
+
+ List cells = new ArrayList();
+ Collection edges = getVertexUniqueEdges(false);
+ for (Iterator i = edges.iterator(); i.hasNext(); ) {
+ QuadEdge qe = (QuadEdge) i.next();
+ cells.add(getVoronoiCellPolygon(qe, geomFact));
+ }
+ return cells;
+ }
+
+ /**
+ * Gets the Voronoi cell around a site specified
+ * by the origin of a QuadEdge.
+ * <p>
+ * The userData of the polygon is set to be the {@link Coordinate}
+ * of the site. This allows attaching external
+ * data associated with the site to this cell polygon.
+ *
+ * @param qe a quadedge originating at the cell site
+ * @param geomFact a factory for building the polygon
+ * @return a polygon indicating the cell extent
+ */
+ public Polygon getVoronoiCellPolygon(QuadEdge qe, GeometryFactory geomFact)
+ {
+ List cellPts = new ArrayList();
+ QuadEdge startQE = qe;
+ do {
+// Coordinate cc = circumcentre(qe);
+ // use previously computed circumcentre
+ Coordinate cc = qe.rot().orig().getCoordinate();
+ cellPts.add(cc);
+
+ // move to next triangle CW around vertex
+ qe = qe.oPrev();
+ } while (qe != startQE);
+
+ CoordinateList coordList = new CoordinateList();
+ coordList.addAll(cellPts, false);
+ coordList.closeRing();
+
+ if (coordList.size() < 4) {
+ System.out.println(coordList);
+ coordList.add(coordList.get(coordList.size()-1), true);
+ }
+
+ Coordinate[] pts = coordList.toCoordinateArray();
+ Polygon cellPoly = geomFact.createPolygon(geomFact.createLinearRing(pts));
+
+ Vertex v = startQE.orig();
+ cellPoly.setUserData(v.getCoordinate());
+ return cellPoly;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeTriangle.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeTriangle.java
new file mode 100644
index 0000000..e6befaa
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeTriangle.java
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+
+
+/**
+ * Models a triangle formed from {@link QuadEdge}s in a {@link QuadEdgeSubdivision}
+ * which forms a triangulation. The class provides methods to access the
+ * topological and geometric properties of the triangle and its neighbours in
+ * the triangulation. Triangle vertices are ordered in CCW orientation in the
+ * structure.
+ * <p>
+ * QuadEdgeTriangles support having an external data attribute attached to them.
+ * Alternatively, this class can be subclassed and attributes can
+ * be defined in the subclass. Subclasses will need to define
+ * their own <tt>BuilderVisitor</tt> class
+ * and <tt>createOn</tt> method.
+ *
+ * @author Martin Davis
+ * @version 1.0
+ */
+public class QuadEdgeTriangle
+{
+ /**
+ * Creates {@link QuadEdgeTriangle}s for all facets of a
+ * {@link QuadEdgeSubdivision} representing a triangulation.
+ * The <tt>data</tt> attributes of the {@link QuadEdge}s in the subdivision
+ * will be set to point to the triangle which contains that edge.
+ * This allows tracing the neighbour triangles of any given triangle.
+ *
+ * @param subdiv
+ * the QuadEdgeSubdivision to create the triangles on.
+ * @return a List of the created QuadEdgeTriangles
+ */
+ public static List createOn(QuadEdgeSubdivision subdiv)
+ {
+ QuadEdgeTriangleBuilderVisitor visitor = new QuadEdgeTriangleBuilderVisitor();
+ subdiv.visitTriangles(visitor, false);
+ return visitor.getTriangles();
+ }
+
+ /**
+ * Tests whether the point pt is contained in the triangle defined by 3
+ * {@link Vertex}es.
+ *
+ * @param tri
+ * an array containing at least 3 Vertexes
+ * @param pt
+ * the point to test
+ * @return true if the point is contained in the triangle
+ */
+ public static boolean contains(Vertex[] tri, Coordinate pt) {
+ Coordinate[] ring = new Coordinate[] { tri[0].getCoordinate(),
+ tri[1].getCoordinate(), tri[2].getCoordinate(), tri[0].getCoordinate() };
+ return PointLocation.isInRing(pt, ring);
+ }
+
+ /**
+ * Tests whether the point pt is contained in the triangle defined by 3
+ * {@link QuadEdge}es.
+ *
+ * @param tri
+ * an array containing at least 3 QuadEdges
+ * @param pt
+ * the point to test
+ * @return true if the point is contained in the triangle
+ */
+ public static boolean contains(QuadEdge[] tri, Coordinate pt) {
+ Coordinate[] ring = new Coordinate[] { tri[0].orig().getCoordinate(),
+ tri[1].orig().getCoordinate(), tri[2].orig().getCoordinate(),
+ tri[0].orig().getCoordinate() };
+ return PointLocation.isInRing(pt, ring);
+ }
+
+ public static Geometry toPolygon(Vertex[] v) {
+ Coordinate[] ringPts = new Coordinate[] { v[0].getCoordinate(),
+ v[1].getCoordinate(), v[2].getCoordinate(), v[0].getCoordinate() };
+ GeometryFactory fact = new GeometryFactory();
+ LinearRing ring = fact.createLinearRing(ringPts);
+ Polygon tri = fact.createPolygon(ring);
+ return tri;
+ }
+
+ public static Geometry toPolygon(QuadEdge[] e) {
+ Coordinate[] ringPts = new Coordinate[] { e[0].orig().getCoordinate(),
+ e[1].orig().getCoordinate(), e[2].orig().getCoordinate(),
+ e[0].orig().getCoordinate() };
+ GeometryFactory fact = new GeometryFactory();
+ LinearRing ring = fact.createLinearRing(ringPts);
+ Polygon tri = fact.createPolygon(ring);
+ return tri;
+ }
+
+ /**
+ * Finds the next index around the triangle. Index may be an edge or vertex
+ * index.
+ *
+ * @param index
+ * @return the next index
+ */
+ public static int nextIndex(int index) {
+ return index = (index + 1) % 3;
+ }
+
+ private QuadEdge[] edge;
+ private Object data;
+
+ /**
+ * Creates a new triangle from the given edges.
+ *
+ * @param edge an array of the edges of the triangle in CCW order
+ */
+ public QuadEdgeTriangle(QuadEdge[] edge) {
+ this.edge = (QuadEdge[]) Arrays.copyOf(edge, edge.length);
+ // link the quadedges back to this triangle
+ for (int i = 0; i < 3; i++) {
+ edge[i].setData(this);
+ }
+ }
+
+ /**
+ * Sets the external data value for this triangle.
+ *
+ * @param data an object containing external data
+ */
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ /**
+ * Gets the external data value for this triangle.
+ *
+ * @return the data object
+ */
+ public Object getData() {
+ return data;
+ }
+
+ public void kill() {
+ edge = null;
+ }
+
+ public boolean isLive() {
+ return edge != null;
+ }
+
+ public QuadEdge[] getEdges() {
+ return edge;
+ }
+
+ public QuadEdge getEdge(int i) {
+ return edge[i];
+ }
+
+ public Vertex getVertex(int i) {
+ return edge[i].orig();
+ }
+
+ /**
+ * Gets the vertices for this triangle.
+ *
+ * @return a new array containing the triangle vertices
+ */
+ public Vertex[] getVertices() {
+ Vertex[] vert = new Vertex[3];
+ for (int i = 0; i < 3; i++) {
+ vert[i] = getVertex(i);
+ }
+ return vert;
+ }
+
+ public Coordinate getCoordinate(int i) {
+ return edge[i].orig().getCoordinate();
+ }
+
+ /**
+ * Gets the index for the given edge of this triangle
+ *
+ * @param e
+ * a QuadEdge
+ * @return the index of the edge in this triangle
+ * or -1 if the edge is not an edge of this triangle
+ */
+ public int getEdgeIndex(QuadEdge e) {
+ for (int i = 0; i < 3; i++) {
+ if (edge[i] == e)
+ return i;
+ }
+ return -1;
+ }
+
+ /**
+ * Gets the index for the edge that starts at vertex v.
+ *
+ * @param v
+ * the vertex to find the edge for
+ * @return the index of the edge starting at the vertex
+ * or -1 if the vertex is not in the triangle
+ */
+ public int getEdgeIndex(Vertex v) {
+ for (int i = 0; i < 3; i++) {
+ if (edge[i].orig() == v)
+ return i;
+ }
+ return -1;
+ }
+
+ public void getEdgeSegment(int i, LineSegment seg) {
+ seg.p0 = edge[i].orig().getCoordinate();
+ int nexti = (i + 1) % 3;
+ seg.p1 = edge[nexti].orig().getCoordinate();
+ }
+
+ public Coordinate[] getCoordinates() {
+ Coordinate[] pts = new Coordinate[4];
+ for (int i = 0; i < 3; i++) {
+ pts[i] = edge[i].orig().getCoordinate();
+ }
+ pts[3] = new Coordinate(pts[0]);
+ return pts;
+ }
+
+ public boolean contains(Coordinate pt) {
+ Coordinate[] ring = getCoordinates();
+ return PointLocation.isInRing(pt, ring);
+ }
+
+ public Polygon getGeometry(GeometryFactory fact) {
+ LinearRing ring = fact.createLinearRing(getCoordinates());
+ Polygon tri = fact.createPolygon(ring);
+ return tri;
+ }
+
+ public String toString() {
+ return getGeometry(new GeometryFactory()).toString();
+ }
+
+ /**
+ * Tests whether this triangle is adjacent to the outside of the subdivision.
+ *
+ * @return true if the triangle is adjacent to the subdivision exterior
+ */
+ public boolean isBorder() {
+ for (int i = 0; i < 3; i++) {
+ if (getAdjacentTriangleAcrossEdge(i) == null)
+ return true;
+ }
+ return false;
+ }
+
+ public boolean isBorder(int i) {
+ return getAdjacentTriangleAcrossEdge(i) == null;
+ }
+
+ public QuadEdgeTriangle getAdjacentTriangleAcrossEdge(int edgeIndex) {
+ return (QuadEdgeTriangle) getEdge(edgeIndex).sym().getData();
+ }
+
+ public int getAdjacentTriangleEdgeIndex(int i) {
+ return getAdjacentTriangleAcrossEdge(i).getEdgeIndex(getEdge(i).sym());
+ }
+
+ /**
+ * Gets the triangles which are adjacent (include) to a
+ * given vertex of this triangle.
+ *
+ * @param vertexIndex the vertex to query
+ * @return a list of the vertex-adjacent triangles
+ */
+ public List getTrianglesAdjacentToVertex(int vertexIndex) {
+ // Assert: isVertex
+ List adjTris = new ArrayList();
+
+ QuadEdge start = getEdge(vertexIndex);
+ QuadEdge qe = start;
+ do {
+ QuadEdgeTriangle adjTri = (QuadEdgeTriangle) qe.getData();
+ if (adjTri != null) {
+ adjTris.add(adjTri);
+ }
+ qe = qe.oNext();
+ } while (qe != start);
+
+ return adjTris;
+
+ }
+
+ /**
+ * Gets the neighbours of this triangle. If there is no neighbour triangle,
+ * the array element is <code>null</code>
+ *
+ * @return an array containing the 3 neighbours of this triangle
+ */
+ public QuadEdgeTriangle[] getNeighbours() {
+ QuadEdgeTriangle[] neigh = new QuadEdgeTriangle[3];
+ for (int i = 0; i < 3; i++) {
+ neigh[i] = (QuadEdgeTriangle) getEdge(i).sym().getData();
+ }
+ return neigh;
+ }
+
+ private static class QuadEdgeTriangleBuilderVisitor implements TriangleVisitor {
+ private List triangles = new ArrayList();
+
+ public QuadEdgeTriangleBuilderVisitor() {
+ }
+
+ public void visit(QuadEdge[] edges) {
+ triangles.add(new QuadEdgeTriangle(edges));
+ }
+
+ public List getTriangles() {
+ return triangles;
+ }
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeUtil.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeUtil.java
new file mode 100644
index 0000000..11ccdb8
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/QuadEdgeUtil.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Utilities for working with {@link QuadEdge}s.
+ *
+ * @author mbdavis
+ *
+ */
+public class QuadEdgeUtil
+{
+ /**
+ * Gets all edges which are incident on the origin of the given edge.
+ *
+ * @param start
+ * the edge to start at
+ * @return a List of edges which have their origin at the origin of the given
+ * edge
+ */
+ public static List findEdgesIncidentOnOrigin(QuadEdge start) {
+ List incEdge = new ArrayList();
+
+ QuadEdge qe = start;
+ do {
+ incEdge.add(qe);
+ qe = qe.oNext();
+ } while (qe != start);
+
+ return incEdge;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TraversalVisitor.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TraversalVisitor.java
new file mode 100644
index 0000000..ea78750
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TraversalVisitor.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+/**
+ * Interface for classes which process triangles visited during traversals of a
+ * {@link QuadEdgeSubdivision}
+ *
+ * @author Martin Davis
+ */
+public interface TraversalVisitor {
+ /**
+ * Visits a triangle during a traversal of a {@link QuadEdgeSubdivision}. An implementation of
+ * this method may perform processing on the current triangle. It must also decide whether a
+ * neighbouring triangle should be added to the queue so its neighbours are visited. Often it
+ * will perform processing on the neighbour triangle as well, in order to mark it as processed
+ * (visited) and/or to determine if it should be visited. Note that choosing <b>not</b> to
+ * visit the neighbouring triangle is the terminating condition for many traversal algorithms.
+ * In particular, if the neighbour triangle has already been visited, it should not be visited
+ * again.
+ *
+ * @param currTri the current triangle being processed
+ * @param edgeIndex the index of the edge in the current triangle being traversed
+ * @param neighbTri a neighbouring triangle next in line to visit
+ * @return true if the neighbour triangle should be visited
+ */
+ boolean visit(QuadEdgeTriangle currTri, int edgeIndex, QuadEdgeTriangle neighbTri);
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TrianglePredicate.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TrianglePredicate.java
new file mode 100644
index 0000000..e97f3f5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TrianglePredicate.java
@@ -0,0 +1,314 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Triangle;
+import org.locationtech.jts.geom.impl.CoordinateArraySequence;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.math.DD;
+
+/**
+ * Algorithms for computing values and predicates
+ * associated with triangles.
+ * For some algorithms extended-precision
+ * implementations are provided, which are more robust
+ * (i.e. they produce correct answers in more cases).
+ * Also, some more robust formulations of
+ * some algorithms are provided, which utilize
+ * normalization to the origin.
+ *
+ * @author Martin Davis
+ *
+ */
+public class TrianglePredicate
+{
+ /**
+ * Tests if a point is inside the circle defined by
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
+ * This test uses simple
+ * double-precision arithmetic, and thus may not be robust.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleNonRobust(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ boolean isInCircle =
+ (a.x * a.x + a.y * a.y) * triArea(b, c, p)
+ - (b.x * b.x + b.y * b.y) * triArea(a, c, p)
+ + (c.x * c.x + c.y * c.y) * triArea(a, b, p)
+ - (p.x * p.x + p.y * p.y) * triArea(a, b, c)
+ > 0;
+ return isInCircle;
+ }
+
+ /**
+ * Tests if a point is inside the circle defined by
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
+ * This test uses simple
+ * double-precision arithmetic, and thus is not 100% robust.
+ * However, by using normalization to the origin
+ * it provides improved robustness and increased performance.
+ * <p>
+ * Based on code by J.R.Shewchuk.
+ *
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleNormalized(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ double adx = a.x - p.x;
+ double ady = a.y - p.y;
+ double bdx = b.x - p.x;
+ double bdy = b.y - p.y;
+ double cdx = c.x - p.x;
+ double cdy = c.y - p.y;
+
+ double abdet = adx * bdy - bdx * ady;
+ double bcdet = bdx * cdy - cdx * bdy;
+ double cadet = cdx * ady - adx * cdy;
+ double alift = adx * adx + ady * ady;
+ double blift = bdx * bdx + bdy * bdy;
+ double clift = cdx * cdx + cdy * cdy;
+
+ double disc = alift * bcdet + blift * cadet + clift * abdet;
+ return disc > 0;
+ }
+
+ /**
+ * Computes twice the area of the oriented triangle (a, b, c), i.e., the area is positive if the
+ * triangle is oriented counterclockwise.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ */
+ private static double triArea(Coordinate a, Coordinate b, Coordinate c) {
+ return (b.x - a.x) * (c.y - a.y)
+ - (b.y - a.y) * (c.x - a.x);
+ }
+
+ /**
+ * Tests if a point is inside the circle defined by
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
+ * This method uses more robust computation.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleRobust(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p)
+ {
+ //checkRobustInCircle(a, b, c, p);
+// return isInCircleNonRobust(a, b, c, p);
+ return isInCircleNormalized(a, b, c, p);
+ }
+
+ /**
+ * Tests if a point is inside the circle defined by
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
+ * The computation uses {@link DD} arithmetic for robustness.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleDDSlow(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD px = DD.valueOf(p.x);
+ DD py = DD.valueOf(p.y);
+ DD ax = DD.valueOf(a.x);
+ DD ay = DD.valueOf(a.y);
+ DD bx = DD.valueOf(b.x);
+ DD by = DD.valueOf(b.y);
+ DD cx = DD.valueOf(c.x);
+ DD cy = DD.valueOf(c.y);
+
+ DD aTerm = (ax.multiply(ax).add(ay.multiply(ay)))
+ .multiply(triAreaDDSlow(bx, by, cx, cy, px, py));
+ DD bTerm = (bx.multiply(bx).add(by.multiply(by)))
+ .multiply(triAreaDDSlow(ax, ay, cx, cy, px, py));
+ DD cTerm = (cx.multiply(cx).add(cy.multiply(cy)))
+ .multiply(triAreaDDSlow(ax, ay, bx, by, px, py));
+ DD pTerm = (px.multiply(px).add(py.multiply(py)))
+ .multiply(triAreaDDSlow(ax, ay, bx, by, cx, cy));
+
+ DD sum = aTerm.subtract(bTerm).add(cTerm).subtract(pTerm);
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+
+ /**
+ * Computes twice the area of the oriented triangle (a, b, c), i.e., the area
+ * is positive if the triangle is oriented counterclockwise.
+ * The computation uses {@link DD} arithmetic for robustness.
+ *
+ * @param ax the x ordinate of a vertex of the triangle
+ * @param ay the y ordinate of a vertex of the triangle
+ * @param bx the x ordinate of a vertex of the triangle
+ * @param by the y ordinate of a vertex of the triangle
+ * @param cx the x ordinate of a vertex of the triangle
+ * @param cy the y ordinate of a vertex of the triangle
+ */
+ public static DD triAreaDDSlow(DD ax, DD ay,
+ DD bx, DD by, DD cx, DD cy) {
+ return (bx.subtract(ax).multiply(cy.subtract(ay)).subtract(by.subtract(ay)
+ .multiply(cx.subtract(ax))));
+ }
+
+ public static boolean isInCircleDDFast(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD aTerm = (DD.sqr(a.x).selfAdd(DD.sqr(a.y)))
+ .selfMultiply(triAreaDDFast(b, c, p));
+ DD bTerm = (DD.sqr(b.x).selfAdd(DD.sqr(b.y)))
+ .selfMultiply(triAreaDDFast(a, c, p));
+ DD cTerm = (DD.sqr(c.x).selfAdd(DD.sqr(c.y)))
+ .selfMultiply(triAreaDDFast(a, b, p));
+ DD pTerm = (DD.sqr(p.x).selfAdd(DD.sqr(p.y)))
+ .selfMultiply(triAreaDDFast(a, b, c));
+
+ DD sum = aTerm.selfSubtract(bTerm).selfAdd(cTerm).selfSubtract(pTerm);
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+
+ public static DD triAreaDDFast(
+ Coordinate a, Coordinate b, Coordinate c) {
+
+ DD t1 = DD.valueOf(b.x).selfSubtract(a.x)
+ .selfMultiply(
+ DD.valueOf(c.y).selfSubtract(a.y));
+
+ DD t2 = DD.valueOf(b.y).selfSubtract(a.y)
+ .selfMultiply(
+ DD.valueOf(c.x).selfSubtract(a.x));
+
+ return t1.selfSubtract(t2);
+ }
+
+ public static boolean isInCircleDDNormalized(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD adx = DD.valueOf(a.x).selfSubtract(p.x);
+ DD ady = DD.valueOf(a.y).selfSubtract(p.y);
+ DD bdx = DD.valueOf(b.x).selfSubtract(p.x);
+ DD bdy = DD.valueOf(b.y).selfSubtract(p.y);
+ DD cdx = DD.valueOf(c.x).selfSubtract(p.x);
+ DD cdy = DD.valueOf(c.y).selfSubtract(p.y);
+
+ DD abdet = adx.multiply(bdy).selfSubtract(bdx.multiply(ady));
+ DD bcdet = bdx.multiply(cdy).selfSubtract(cdx.multiply(bdy));
+ DD cadet = cdx.multiply(ady).selfSubtract(adx.multiply(cdy));
+ DD alift = adx.multiply(adx).selfAdd(ady.multiply(ady));
+ DD blift = bdx.multiply(bdx).selfAdd(bdy.multiply(bdy));
+ DD clift = cdx.multiply(cdx).selfAdd(cdy.multiply(cdy));
+
+ DD sum = alift.selfMultiply(bcdet)
+ .selfAdd(blift.selfMultiply(cadet))
+ .selfAdd(clift.selfMultiply(abdet));
+
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+
+ /**
+ * Computes the inCircle test using distance from the circumcentre.
+ * Uses standard double-precision arithmetic.
+ * <p>
+ * In general this doesn't
+ * appear to be any more robust than the standard calculation. However, there
+ * is at least one case where the test point is far enough from the
+ * circumcircle that this test gives the correct answer.
+ * <pre>
+ * LINESTRING
+ * (1507029.9878 518325.7547, 1507022.1120341457 518332.8225183258,
+ * 1507029.9833 518325.7458, 1507029.9896965567 518325.744909031)
+ * </pre>
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleCC(Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ Coordinate cc = Triangle.circumcentre(a, b, c);
+ double ccRadius = a.distance(cc);
+ double pRadiusDiff = p.distance(cc) - ccRadius;
+ return pRadiusDiff <= 0;
+ }
+
+ /**
+ * Checks if the computed value for isInCircle is correct, using
+ * double-double precision arithmetic.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ */
+private static void checkRobustInCircle(Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p)
+{
+ boolean nonRobustInCircle = isInCircleNonRobust(a, b, c, p);
+ boolean isInCircleDD = TrianglePredicate.isInCircleDDSlow(a, b, c, p);
+ boolean isInCircleCC = TrianglePredicate.isInCircleCC(a, b, c, p);
+
+ Coordinate circumCentre = Triangle.circumcentre(a, b, c);
+ System.out.println("p radius diff a = "
+ + Math.abs(p.distance(circumCentre) - a.distance(circumCentre))
+ / a.distance(circumCentre));
+
+ if (nonRobustInCircle != isInCircleDD || nonRobustInCircle != isInCircleCC) {
+ System.out.println("inCircle robustness failure (double result = "
+ + nonRobustInCircle
+ + ", DD result = " + isInCircleDD
+ + ", CC result = " + isInCircleCC + ")");
+ System.out.println(WKTWriter.toLineString(new CoordinateArraySequence(
+ new Coordinate[] { a, b, c, p })));
+ System.out.println("Circumcentre = " + WKTWriter.toPoint(circumCentre)
+ + " radius = " + a.distance(circumCentre));
+ System.out.println("p radius diff a = "
+ + Math.abs(p.distance(circumCentre)/a.distance(circumCentre) - 1));
+ System.out.println("p radius diff b = "
+ + Math.abs(p.distance(circumCentre)/b.distance(circumCentre) - 1));
+ System.out.println("p radius diff c = "
+ + Math.abs(p.distance(circumCentre)/c.distance(circumCentre) - 1));
+ System.out.println();
+ }
+}
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TriangleVisitor.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TriangleVisitor.java
new file mode 100644
index 0000000..3c2bab5
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/TriangleVisitor.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+/**
+ * An interface for algorithms which process the triangles in a {@link QuadEdgeSubdivision}.
+ *
+ * @author Martin Davis
+ * @version 1.0
+ */
+public interface TriangleVisitor {
+ /**
+ * Visits the {@link QuadEdge}s of a triangle.
+ *
+ * @param triEdges an array of the 3 quad edges in a triangle (in CCW order)
+ */
+ void visit(QuadEdge[] triEdges);
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/Vertex.java b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/Vertex.java
new file mode 100644
index 0000000..0b84987
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/Vertex.java
@@ -0,0 +1,380 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.triangulate.quadedge;
+
+
+import org.locationtech.jts.algorithm.HCoordinate;
+import org.locationtech.jts.algorithm.NotRepresentableException;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Models a site (node) in a {@link QuadEdgeSubdivision}.
+ * The sites can be points on a line string representing a
+ * linear site.
+ * <p>
+ * The vertex can be considered as a vector with a norm, length, inner product, cross
+ * product, etc. Additionally, point relations (e.g., is a point to the left of a line, the circle
+ * defined by this point and two others, etc.) are also defined in this class.
+ * <p>
+ * It is common to want to attach user-defined data to
+ * the vertices of a subdivision.
+ * One way to do this is to subclass <tt>Vertex</tt>
+ * to carry any desired information.
+ *
+ * @author David Skea
+ * @author Martin Davis
+ */
+public class Vertex
+{
+ public static final int LEFT = 0;
+ public static final int RIGHT = 1;
+ public static final int BEYOND = 2;
+ public static final int BEHIND = 3;
+ public static final int BETWEEN = 4;
+ public static final int ORIGIN = 5;
+ public static final int DESTINATION = 6;
+
+ private Coordinate p;
+ // private int edgeNumber = -1;
+
+ public Vertex(double _x, double _y) {
+ p = new Coordinate(_x, _y);
+ }
+
+ public Vertex(double _x, double _y, double _z) {
+ p = new Coordinate(_x, _y, _z);
+ }
+
+ public Vertex(Coordinate _p) {
+ p = new Coordinate(_p);
+ }
+
+ public double getX() {
+ return p.x;
+ }
+
+ public double getY() {
+ return p.y;
+ }
+
+ public double getZ() {
+ return p.z;
+ }
+
+ public void setZ(double _z) {
+ p.z = _z;
+ }
+
+ public Coordinate getCoordinate() {
+ return p;
+ }
+
+ public String toString() {
+ return "POINT (" + p.x + " " + p.y + ")";
+ }
+
+ public boolean equals(Vertex _x) {
+ if (p.x == _x.getX() && p.y == _x.getY()) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public boolean equals(Vertex _x, double tolerance) {
+ if (p.distance(_x.getCoordinate()) < tolerance) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public int classify(Vertex p0, Vertex p1) {
+ Vertex p2 = this;
+ Vertex a = p1.sub(p0);
+ Vertex b = p2.sub(p0);
+ double sa = a.crossProduct(b);
+ if (sa > 0.0)
+ return LEFT;
+ if (sa < 0.0)
+ return RIGHT;
+ if ((a.getX() * b.getX() < 0.0) || (a.getY() * b.getY() < 0.0))
+ return BEHIND;
+ if (a.magn() < b.magn())
+ return BEYOND;
+ if (p0.equals(p2))
+ return ORIGIN;
+ if (p1.equals(p2))
+ return DESTINATION;
+ return BETWEEN;
+ }
+
+ /**
+ * Computes the cross product k = u X v.
+ *
+ * @param v a vertex
+ * @return returns the magnitude of u X v
+ */
+ double crossProduct(Vertex v) {
+ return (p.x * v.getY() - p.y * v.getX());
+ }
+
+ /**
+ * Computes the inner or dot product
+ *
+ * @param v a vertex
+ * @return returns the dot product u.v
+ */
+ double dot(Vertex v) {
+ return (p.x * v.getX() + p.y * v.getY());
+ }
+
+ /**
+ * Computes the scalar product c(v)
+ *
+ * @param v a vertex
+ * @return returns the scaled vector
+ */
+ Vertex times(double c) {
+ return (new Vertex(c * p.x, c * p.y));
+ }
+
+ /* Vector addition */
+ Vertex sum(Vertex v) {
+ return (new Vertex(p.x + v.getX(), p.y + v.getY()));
+ }
+
+ /* and subtraction */
+ Vertex sub(Vertex v) {
+ return (new Vertex(p.x - v.getX(), p.y - v.getY()));
+ }
+
+ /* magnitude of vector */
+ double magn() {
+ return (Math.sqrt(p.x * p.x + p.y * p.y));
+ }
+
+ /* returns k X v (cross product). this is a vector perpendicular to v */
+ Vertex cross() {
+ return (new Vertex(p.y, -p.x));
+ }
+
+ /** ************************************************************* */
+ /***********************************************************************************************
+ * Geometric primitives /
+ **********************************************************************************************/
+
+ /**
+ * Tests if the vertex is inside the circle defined by
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @return true if this vertex is in the circumcircle of (a,b,c)
+ */
+ public boolean isInCircle(Vertex a, Vertex b, Vertex c)
+ {
+ return TrianglePredicate.isInCircleRobust(a.p, b.p, c.p, this.p);
+ // non-robust - best to not use
+ //return TrianglePredicate.isInCircle(a.p, b.p, c.p, this.p);
+ }
+
+ /**
+ * Tests whether the triangle formed by this vertex and two
+ * other vertices is in CCW orientation.
+ *
+ * @param b a vertex
+ * @param c a vertex
+ * @return true if the triangle is oriented CCW
+ */
+ public final boolean isCCW(Vertex b, Vertex c)
+ {
+ /*
+ // test code used to check for robustness of triArea
+ boolean isCCW = (b.p.x - p.x) * (c.p.y - p.y)
+ - (b.p.y - p.y) * (c.p.x - p.x) > 0;
+ //boolean isCCW = triArea(this, b, c) > 0;
+ boolean isCCWRobust = CGAlgorithms.orientationIndex(p, b.p, c.p) == CGAlgorithms.COUNTERCLOCKWISE;
+ if (isCCWRobust != isCCW)
+ System.out.println("CCW failure");
+ //*/
+
+ // is equal to the signed area of the triangle
+
+ return (b.p.x - p.x) * (c.p.y - p.y)
+ - (b.p.y - p.y) * (c.p.x - p.x) > 0;
+
+ // original rolled code
+ //boolean isCCW = triArea(this, b, c) > 0;
+ //return isCCW;
+
+ }
+
+ public final boolean rightOf(QuadEdge e) {
+ return isCCW(e.dest(), e.orig());
+ }
+
+ public final boolean leftOf(QuadEdge e) {
+ return isCCW(e.orig(), e.dest());
+ }
+
+ private HCoordinate bisector(Vertex a, Vertex b) {
+ // returns the perpendicular bisector of the line segment ab
+ double dx = b.getX() - a.getX();
+ double dy = b.getY() - a.getY();
+ HCoordinate l1 = new HCoordinate(a.getX() + dx / 2.0, a.getY() + dy / 2.0, 1.0);
+ HCoordinate l2 = new HCoordinate(a.getX() - dy + dx / 2.0, a.getY() + dx + dy / 2.0, 1.0);
+ return new HCoordinate(l1, l2);
+ }
+
+ private double distance(Vertex v1, Vertex v2) {
+ return Math.sqrt(Math.pow(v2.getX() - v1.getX(), 2.0)
+ + Math.pow(v2.getY() - v1.getY(), 2.0));
+ }
+
+ /**
+ * Computes the value of the ratio of the circumradius to shortest edge. If smaller than some
+ * given tolerance B, the associated triangle is considered skinny. For an equal lateral
+ * triangle this value is 0.57735. The ratio is related to the minimum triangle angle theta by:
+ * circumRadius/shortestEdge = 1/(2sin(theta)).
+ *
+ * @param b second vertex of the triangle
+ * @param c third vertex of the triangle
+ * @return ratio of circumradius to shortest edge.
+ */
+ public double circumRadiusRatio(Vertex b, Vertex c) {
+ Vertex x = this.circleCenter(b, c);
+ double radius = distance(x, b);
+ double edgeLength = distance(this, b);
+ double el = distance(b, c);
+ if (el < edgeLength) {
+ edgeLength = el;
+ }
+ el = distance(c, this);
+ if (el < edgeLength) {
+ edgeLength = el;
+ }
+ return radius / edgeLength;
+ }
+
+ /**
+ * returns a new vertex that is mid-way between this vertex and another end point.
+ *
+ * @param a the other end point.
+ * @return the point mid-way between this and that.
+ */
+ public Vertex midPoint(Vertex a) {
+ double xm = (p.x + a.getX()) / 2.0;
+ double ym = (p.y + a.getY()) / 2.0;
+ double zm = (p.z + a.getZ()) / 2.0;
+ return new Vertex(xm, ym, zm);
+ }
+
+ /**
+ * Computes the centre of the circumcircle of this vertex and two others.
+ *
+ * @param b
+ * @param c
+ * @return the Coordinate which is the circumcircle of the 3 points.
+ */
+ public Vertex circleCenter(Vertex b, Vertex c) {
+ Vertex a = new Vertex(this.getX(), this.getY());
+ // compute the perpendicular bisector of cord ab
+ HCoordinate cab = bisector(a, b);
+ // compute the perpendicular bisector of cord bc
+ HCoordinate cbc = bisector(b, c);
+ // compute the intersection of the bisectors (circle radii)
+ HCoordinate hcc = new HCoordinate(cab, cbc);
+ Vertex cc = null;
+ try {
+ cc = new Vertex(hcc.getX(), hcc.getY());
+ } catch (NotRepresentableException nre) {
+ System.err.println("a: " + a + " b: " + b + " c: " + c);
+ System.err.println(nre);
+ }
+ return cc;
+ }
+
+ /**
+ * For this vertex enclosed in a triangle defined by three vertices v0, v1 and v2, interpolate
+ * a z value from the surrounding vertices.
+ */
+ public double interpolateZValue(Vertex v0, Vertex v1, Vertex v2) {
+ double x0 = v0.getX();
+ double y0 = v0.getY();
+ double a = v1.getX() - x0;
+ double b = v2.getX() - x0;
+ double c = v1.getY() - y0;
+ double d = v2.getY() - y0;
+ double det = a * d - b * c;
+ double dx = this.getX() - x0;
+ double dy = this.getY() - y0;
+ double t = (d * dx - b * dy) / det;
+ double u = (-c * dx + a * dy) / det;
+ double z = v0.getZ() + t * (v1.getZ() - v0.getZ()) + u * (v2.getZ() - v0.getZ());
+ return z;
+ }
+
+ /**
+ * Interpolates the Z-value (height) of a point enclosed in a triangle
+ * whose vertices all have Z values.
+ * The containing triangle must not be degenerate
+ * (in other words, the three vertices must enclose a
+ * non-zero area).
+ *
+ * @param p the point to interpolate the Z value of
+ * @param v0 a vertex of a triangle containing the p
+ * @param v1 a vertex of a triangle containing the p
+ * @param v2 a vertex of a triangle containing the p
+ * @return the interpolated Z-value (height) of the point
+ */
+ public static double interpolateZ(Coordinate p, Coordinate v0, Coordinate v1, Coordinate v2) {
+ double x0 = v0.x;
+ double y0 = v0.y;
+ double a = v1.x - x0;
+ double b = v2.x - x0;
+ double c = v1.y - y0;
+ double d = v2.y - y0;
+ double det = a * d - b * c;
+ double dx = p.x - x0;
+ double dy = p.y - y0;
+ double t = (d * dx - b * dy) / det;
+ double u = (-c * dx + a * dy) / det;
+ double z = v0.z + t * (v1.z - v0.z) + u * (v2.z - v0.z);
+ return z;
+ }
+
+ /**
+ * Computes the interpolated Z-value for a point p lying on the segment p0-p1
+ *
+ * @param p
+ * @param p0
+ * @param p1
+ * @return the interpolated Z value
+ */
+ public static double interpolateZ(Coordinate p, Coordinate p0, Coordinate p1) {
+ double segLen = p0.distance(p1);
+ double ptLen = p.distance(p0);
+ double dz = p1.z - p0.z;
+ double pz = p0.z + dz * (ptLen / segLen);
+ return pz;
+ }
+
+
+
+
+
+
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/package.html b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/package.html
new file mode 100644
index 0000000..c69a939
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/triangulate/quadedge/package.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+
+-->
+</head>
+<body bgcolor="white">
+
+Classes to implement a topological subdivision of quadeges, to support creating triangulations
+and Voronoi diagrams.
+
+</body>
+</html>
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/Assert.java b/modules/core/src/main/java/org/locationtech/jts/util/Assert.java
new file mode 100644
index 0000000..0cdc84d
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/Assert.java
@@ -0,0 +1,103 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+/**
+ * A utility for making programming assertions.
+ *
+ *@version 1.7
+ */
+public class Assert {
+
+ /**
+ * Throws an <code>AssertionFailedException</code> if the given assertion is
+ * not true.
+ *
+ *@param assertion a condition that is supposed to be true
+ *@throws AssertionFailedException if the condition is false
+ */
+ public static void isTrue(boolean assertion) {
+ isTrue(assertion, null);
+ }
+
+ /**
+ * Throws an <code>AssertionFailedException</code> with the given message if
+ * the given assertion is not true.
+ *
+ *@param assertion a condition that is supposed to be true
+ *@param message a description of the assertion
+ *@throws AssertionFailedException if the condition is false
+ */
+ public static void isTrue(boolean assertion, String message) {
+ if (!assertion) {
+ if (message == null) {
+ throw new AssertionFailedException();
+ }
+ else {
+ throw new AssertionFailedException(message);
+ }
+ }
+ }
+
+ /**
+ * Throws an <code>AssertionFailedException</code> if the given objects are
+ * not equal, according to the <code>equals</code> method.
+ *
+ *@param expectedValue the correct value
+ *@param actualValue the value being checked
+ *@throws AssertionFailedException if the two objects are not equal
+ */
+ public static void equals(Object expectedValue, Object actualValue) {
+ equals(expectedValue, actualValue, null);
+ }
+
+ /**
+ * Throws an <code>AssertionFailedException</code> with the given message if
+ * the given objects are not equal, according to the <code>equals</code>
+ * method.
+ *
+ *@param expectedValue the correct value
+ *@param actualValue the value being checked
+ *@param message a description of the assertion
+ *@throws AssertionFailedException if the two objects are not equal
+ */
+ public static void equals(Object expectedValue, Object actualValue, String message) {
+ if (!actualValue.equals(expectedValue)) {
+ throw new AssertionFailedException("Expected " + expectedValue + " but encountered "
+ + actualValue + (message != null ? ": " + message : ""));
+ }
+ }
+
+ /**
+ * Always throws an <code>AssertionFailedException</code>.
+ *
+ *@throws AssertionFailedException thrown always
+ */
+ public static void shouldNeverReachHere() {
+ shouldNeverReachHere(null);
+ }
+
+ /**
+ * Always throws an <code>AssertionFailedException</code> with the given
+ * message.
+ *
+ *@param message a description of the assertion
+ *@throws AssertionFailedException thrown always
+ */
+ public static void shouldNeverReachHere(String message) {
+ throw new AssertionFailedException("Should never reach here"
+ + (message != null ? ": " + message : ""));
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/AssertionFailedException.java b/modules/core/src/main/java/org/locationtech/jts/util/AssertionFailedException.java
new file mode 100644
index 0000000..d520e4c
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/AssertionFailedException.java
@@ -0,0 +1,42 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+/**
+ * Thrown when the application is in an inconsistent state. Indicates a problem
+ * with the code.
+ *
+ *@version 1.7
+ */
+public class AssertionFailedException extends RuntimeException {
+
+ /**
+ * Creates an <code>AssertionFailedException</code>.
+ */
+ public AssertionFailedException() {
+ super();
+ }
+
+ /**
+ * Creates a <code>AssertionFailedException</code> with the given detail
+ * message.
+ *
+ *@param message a description of the assertion
+ */
+ public AssertionFailedException(String message) {
+ super(message);
+ }
+}
+
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/CollectionUtil.java b/modules/core/src/main/java/org/locationtech/jts/util/CollectionUtil.java
new file mode 100644
index 0000000..e2f464e
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/CollectionUtil.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Utilities for processing {@link Collection}s.
+ *
+ * @version 1.7
+ */
+public class CollectionUtil
+{
+
+ public interface Function {
+ Object execute(Object obj);
+ }
+
+ /**
+ * Executes a function on each item in a {@link Collection}
+ * and returns the results in a new {@link List}
+ *
+ * @param coll the collection to process
+ * @param func the Function to execute
+ * @return a list of the transformed objects
+ */
+ public static List transform(Collection coll, Function func)
+ {
+ List result = new ArrayList();
+ for (Iterator i = coll.iterator(); i.hasNext(); ) {
+ result.add(func.execute(i.next()));
+ }
+ return result;
+ }
+
+ /**
+ * Executes a function on each item in a Collection but does
+ * not accumulate the result
+ *
+ * @param coll the collection to process
+ * @param func the Function to execute
+ */
+ public static void apply(Collection coll, Function func)
+ {
+ for (Iterator i = coll.iterator(); i.hasNext(); ) {
+ func.execute(i.next());
+ }
+ }
+
+ /**
+ * Executes a {@link Function} on each item in a Collection
+ * and collects all the entries for which the result
+ * of the function is equal to {@link Boolean} <tt>true</tt>.
+ *
+ * @param collection the collection to process
+ * @param func the Function to execute
+ * @return a list of objects for which the function was true
+ */
+ public static List select(Collection collection, Function func) {
+ List result = new ArrayList();
+ for (Iterator i = collection.iterator(); i.hasNext();) {
+ Object item = i.next();
+ if (Boolean.TRUE.equals(func.execute(item))) {
+ result.add(item);
+ }
+ }
+ return result;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/CoordinateArrayFilter.java b/modules/core/src/main/java/org/locationtech/jts/util/CoordinateArrayFilter.java
new file mode 100644
index 0000000..3f145ca
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/CoordinateArrayFilter.java
@@ -0,0 +1,53 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * A {@link CoordinateFilter} that creates an array containing every
+ * coordinate in a {@link Geometry}.
+ *
+ *@version 1.7
+ */
+public class CoordinateArrayFilter implements CoordinateFilter {
+ Coordinate[] pts = null;
+ int n = 0;
+
+ /**
+ * Constructs a <code>CoordinateArrayFilter</code>.
+ *
+ *@param size the number of points that the <code>CoordinateArrayFilter</code>
+ * will collect
+ */
+ public CoordinateArrayFilter(int size) {
+ pts = new Coordinate[size];
+ }
+
+ /**
+ * Returns the gathered <code>Coordinate</code>s.
+ *
+ *@return the <code>Coordinate</code>s collected by this <code>CoordinateArrayFilter</code>
+ */
+ public Coordinate[] getCoordinates() {
+ return pts;
+ }
+
+ public void filter(Coordinate coord) {
+ pts[n++] = coord;
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/CoordinateCountFilter.java b/modules/core/src/main/java/org/locationtech/jts/util/CoordinateCountFilter.java
new file mode 100644
index 0000000..16f2302
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/CoordinateCountFilter.java
@@ -0,0 +1,43 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+
+/**
+ * A {@link CoordinateFilter} that counts the total number of coordinates
+ * in a <code>Geometry</code>.
+ *
+ *@version 1.7
+ */
+public class CoordinateCountFilter implements CoordinateFilter {
+ private int n = 0;
+
+ public CoordinateCountFilter() { }
+
+ /**
+ * Returns the result of the filtering.
+ *
+ *@return the number of points found by this <code>CoordinateCountFilter</code>
+ */
+ public int getCount() {
+ return n;
+ }
+
+ public void filter(Coordinate coord) {
+ n++;
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/Debug.java b/modules/core/src/main/java/org/locationtech/jts/util/Debug.java
new file mode 100644
index 0000000..f74506f
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/Debug.java
@@ -0,0 +1,328 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+/**
+ *@version 1.7
+ */
+import java.io.PrintStream;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+
+/**
+ * Provides routines to simplify and localize debugging output.
+ * Debugging is controlled via a Java system property value.
+ * If the system property with the name given in
+ * DEBUG_PROPERTY_NAME (currently "jts.debug") has the value
+ * "on" or "true" debugging is enabled.
+ * Otherwise, debugging is disabled.
+ * The system property can be set by specifying the following JVM option:
+ * <pre>
+ * -Djts.debug=on
+ * </pre>
+ *
+ *
+ * @version 1.7
+ */
+public class Debug {
+
+ public static String DEBUG_PROPERTY_NAME = "jts.debug";
+ public static String DEBUG_PROPERTY_VALUE_ON = "on";
+ public static String DEBUG_PROPERTY_VALUE_TRUE = "true";
+
+ private static boolean debugOn = false;
+
+ static {
+ String debugValue = System.getProperty(DEBUG_PROPERTY_NAME);
+ if (debugValue != null) {
+ if (debugValue.equalsIgnoreCase(DEBUG_PROPERTY_VALUE_ON)
+ || debugValue.equalsIgnoreCase(DEBUG_PROPERTY_VALUE_TRUE) )
+ debugOn = true;
+ }
+ }
+
+ private static Stopwatch stopwatch = new Stopwatch();
+ private static long lastTimePrinted;
+
+ /**
+ * Prints the status of debugging to <tt>System.out</tt>
+ *
+ * @param args the cmd-line arguments (no arguments are required)
+ */
+ public static void main(String[] args)
+ {
+ System.out.println("JTS Debugging is " +
+ (debugOn ? "ON" : "OFF") );
+ }
+
+ private static final Debug debug = new Debug();
+ private static final GeometryFactory fact = new GeometryFactory();
+ private static final String DEBUG_LINE_TAG = "D! ";
+
+ private PrintStream out;
+ private Class[] printArgs;
+ private Object watchObj = null;
+ private Object[] args = new Object[1];
+
+ public static boolean isDebugging() { return debugOn; }
+
+ public static LineString toLine(Coordinate p0, Coordinate p1) {
+ return fact.createLineString(new Coordinate[] { p0, p1 });
+ }
+
+ public static LineString toLine(Coordinate p0, Coordinate p1, Coordinate p2) {
+ return fact.createLineString(new Coordinate[] { p0, p1, p2});
+ }
+
+ public static LineString toLine(Coordinate p0, Coordinate p1, Coordinate p2, Coordinate p3) {
+ return fact.createLineString(new Coordinate[] { p0, p1, p2, p3});
+ }
+
+ public static void print(String str) {
+ if (!debugOn) {
+ return;
+ }
+ debug.instancePrint(str);
+ }
+/*
+ public static void println(String str) {
+ if (! debugOn) return;
+ debug.instancePrint(str);
+ debug.println();
+ }
+*/
+ public static void print(Object obj) {
+ if (! debugOn) return;
+ debug.instancePrint(obj);
+ }
+
+ public static void print(boolean isTrue, Object obj) {
+ if (! debugOn) return;
+ if (! isTrue) return;
+ debug.instancePrint(obj);
+ }
+
+ public static void println(Object obj) {
+ if (!debugOn) {
+ return;
+ }
+ debug.instancePrint(obj);
+ debug.println();
+ }
+
+ public static void resetTime()
+ {
+ stopwatch.reset();
+ lastTimePrinted = stopwatch.getTime();
+ }
+
+ public static void printTime(String tag)
+ {
+ if (!debugOn) {
+ return;
+ }
+ long time = stopwatch.getTime();
+ long elapsedTime = time - lastTimePrinted;
+ debug.instancePrint(
+ formatField(Stopwatch.getTimeString(time), 10)
+ + " (" + formatField(Stopwatch.getTimeString(elapsedTime), 10) + " ) "
+ + tag);
+ debug.println();
+ lastTimePrinted = time;
+ }
+
+ private static String formatField(String s, int fieldLen)
+ {
+ int nPad = fieldLen - s.length();
+ if (nPad <= 0) return s;
+ String padStr = spaces(nPad) + s;
+ return padStr.substring(padStr.length() - fieldLen);
+ }
+
+ private static String spaces(int n)
+ {
+ char[] ch = new char[n];
+ for (int i = 0; i < n; i++) {
+ ch[i] = ' ';
+ }
+ return new String(ch);
+ }
+
+ public static boolean equals(Coordinate c1, Coordinate c2, double tolerance)
+ {
+ return c1.distance(c2) <= tolerance;
+ }
+ /**
+ * Adds an object to be watched.
+ * A watched object can be printed out at any time.
+ *
+ * Currently only supports one watched object at a time.
+ * @param obj
+ */
+ public static void addWatch(Object obj) {
+ debug.instanceAddWatch(obj);
+ }
+
+ public static void printWatch() {
+ debug.instancePrintWatch();
+ }
+
+ public static void printIfWatch(Object obj) {
+ debug.instancePrintIfWatch(obj);
+ }
+
+ public static void breakIf(boolean cond)
+ {
+ if (cond) doBreak();
+ }
+
+ public static void breakIfEqual(Object o1, Object o2)
+ {
+ if (o1.equals(o2)) doBreak();
+ }
+
+ public static void breakIfEqual(Coordinate p0, Coordinate p1, double tolerance)
+ {
+ if (p0.distance(p1) <= tolerance) doBreak();
+ }
+
+ private static void doBreak()
+ {
+ // Put breakpoint on following statement to break here
+ return;
+ }
+
+ public static boolean hasSegment(Geometry geom, Coordinate p0, Coordinate p1)
+ {
+ SegmentFindingFilter filter = new SegmentFindingFilter(p0, p1);
+ geom.apply(filter);
+ return filter.hasSegment();
+ }
+
+ private static class SegmentFindingFilter
+ implements CoordinateSequenceFilter
+ {
+ private Coordinate p0, p1;
+ private boolean hasSegment = false;
+
+ public SegmentFindingFilter(Coordinate p0, Coordinate p1)
+ {
+ this.p0 = p0;
+ this.p1 = p1;
+ }
+
+ public boolean hasSegment() { return hasSegment; }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ if (i == 0) return;
+ hasSegment = p0.equals2D(seq.getCoordinate(i-1))
+ && p1.equals2D(seq.getCoordinate(i));
+ }
+
+ public boolean isDone()
+ {
+ return hasSegment;
+ }
+
+ public boolean isGeometryChanged()
+ {
+ return false;
+ }
+ }
+
+ private Debug() {
+ out = System.out;
+ printArgs = new Class[1];
+ try {
+ printArgs[0] = Class.forName("java.io.PrintStream");
+ }
+ catch (Exception ex) {
+ // ignore this exception - it will fail later anyway
+ }
+ }
+
+ public void instancePrintWatch() {
+ if (watchObj == null) return;
+ instancePrint(watchObj);
+ }
+
+ public void instancePrintIfWatch(Object obj) {
+ if (obj != watchObj) return;
+ if (watchObj == null) return;
+ instancePrint(watchObj);
+ }
+
+ public void instancePrint(Object obj)
+ {
+ if (obj instanceof Collection) {
+ instancePrint(((Collection) obj).iterator());
+ }
+ else if (obj instanceof Iterator) {
+ instancePrint((Iterator) obj);
+ }
+ else {
+ instancePrintObject(obj);
+ }
+ }
+
+ public void instancePrint(Iterator it)
+ {
+ for (; it.hasNext(); ) {
+ Object obj = it.next();
+ instancePrintObject(obj);
+ }
+ }
+ public void instancePrintObject(Object obj) {
+ //if (true) throw new RuntimeException("DEBUG TRAP!");
+ Method printMethod = null;
+ try {
+ Class cls = obj.getClass();
+ try {
+ printMethod = cls.getMethod("print", printArgs);
+ args[0] = out;
+ out.print(DEBUG_LINE_TAG);
+ printMethod.invoke(obj, args);
+ }
+ catch (NoSuchMethodException ex) {
+ instancePrint(obj.toString());
+ }
+ }
+ catch (Exception ex) {
+ ex.printStackTrace(out);
+ }
+ }
+
+ public void println() {
+ out.println();
+ }
+
+ private void instanceAddWatch(Object obj) {
+ watchObj = obj;
+ }
+
+ private void instancePrint(String str) {
+ out.print(DEBUG_LINE_TAG);
+ out.print(str);
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/GeometricShapeFactory.java b/modules/core/src/main/java/org/locationtech/jts/util/GeometricShapeFactory.java
new file mode 100644
index 0000000..f14dd26
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/GeometricShapeFactory.java
@@ -0,0 +1,446 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.AffineTransformation;
+
+/**
+ * Computes various kinds of common geometric shapes.
+ * Provides various ways of specifying the location and extent
+ * and rotations of the generated shapes,
+ * as well as number of line segments used to form them.
+ * <p>
+ * <b>Example of usage:</b>
+ * <pre>
+ * GeometricShapeFactory gsf = new GeometricShapeFactory();
+ * gsf.setSize(100);
+ * gsf.setNumPoints(100);
+ * gsf.setBase(new Coordinate(100, 100));
+ * gsf.setRotation(0.5);
+ * Polygon rect = gsf.createRectangle();
+ * </pre>
+ *
+ * @version 1.7
+ */
+public class GeometricShapeFactory
+{
+ protected GeometryFactory geomFact;
+ protected PrecisionModel precModel = null;
+ protected Dimensions dim = new Dimensions();
+ protected int nPts = 100;
+
+ /**
+ * Default is no rotation.
+ */
+ protected double rotationAngle = 0.0;
+
+ /**
+ * Create a shape factory which will create shapes using the default
+ * {@link GeometryFactory}.
+ */
+ public GeometricShapeFactory()
+ {
+ this(new GeometryFactory());
+ }
+
+ /**
+ * Create a shape factory which will create shapes using the given
+ * {@link GeometryFactory}.
+ *
+ * @param geomFact the factory to use
+ */
+ public GeometricShapeFactory(GeometryFactory geomFact)
+ {
+ this.geomFact = geomFact;
+ precModel = geomFact.getPrecisionModel();
+ }
+
+ public void setEnvelope(Envelope env)
+ {
+ dim.setEnvelope(env);
+ }
+
+ /**
+ * Sets the location of the shape by specifying the base coordinate
+ * (which in most cases is the
+ * lower left point of the envelope containing the shape).
+ *
+ * @param base the base coordinate of the shape
+ */
+ public void setBase(Coordinate base) { dim.setBase(base); }
+ /**
+ * Sets the location of the shape by specifying the centre of
+ * the shape's bounding box
+ *
+ * @param centre the centre coordinate of the shape
+ */
+ public void setCentre(Coordinate centre) { dim.setCentre(centre); }
+
+ /**
+ * Sets the total number of points in the created {@link Geometry}.
+ * The created geometry will have no more than this number of points,
+ * unless more are needed to create a valid geometry.
+ */
+ public void setNumPoints(int nPts) { this.nPts = nPts; }
+
+ /**
+ * Sets the size of the extent of the shape in both x and y directions.
+ *
+ * @param size the size of the shape's extent
+ */
+ public void setSize(double size) { dim.setSize(size); }
+
+ /**
+ * Sets the width of the shape.
+ *
+ * @param width the width of the shape
+ */
+ public void setWidth(double width) { dim.setWidth(width); }
+
+ /**
+ * Sets the height of the shape.
+ *
+ * @param height the height of the shape
+ */
+ public void setHeight(double height) { dim.setHeight(height); }
+
+ /**
+ * Sets the rotation angle to use for the shape.
+ * The rotation is applied relative to the centre of the shape.
+ *
+ * @param radians the rotation angle in radians.
+ */
+ public void setRotation(double radians)
+ {
+ rotationAngle = radians;
+ }
+
+ protected Geometry rotate(Geometry geom)
+ {
+ if (rotationAngle != 0.0) {
+ AffineTransformation trans = AffineTransformation.rotationInstance(rotationAngle,
+ dim.getCentre().x, dim.getCentre().y);
+ geom.apply(trans);
+ }
+ return geom;
+ }
+
+ /**
+ * Creates a rectangular {@link Polygon}.
+ *
+ * @return a rectangular Polygon
+ *
+ */
+ public Polygon createRectangle()
+ {
+ int i;
+ int ipt = 0;
+ int nSide = nPts / 4;
+ if (nSide < 1) nSide = 1;
+ double XsegLen = dim.getEnvelope().getWidth() / nSide;
+ double YsegLen = dim.getEnvelope().getHeight() / nSide;
+
+ Coordinate[] pts = new Coordinate[4 * nSide + 1];
+ Envelope env = dim.getEnvelope();
+
+ //double maxx = env.getMinX() + nSide * XsegLen;
+ //double maxy = env.getMinY() + nSide * XsegLen;
+
+ for (i = 0; i < nSide; i++) {
+ double x = env.getMinX() + i * XsegLen;
+ double y = env.getMinY();
+ pts[ipt++] = coord(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = env.getMaxX();
+ double y = env.getMinY() + i * YsegLen;
+ pts[ipt++] = coord(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = env.getMaxX() - i * XsegLen;
+ double y = env.getMaxY();
+ pts[ipt++] = coord(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = env.getMinX();
+ double y = env.getMaxY() - i * YsegLen;
+ pts[ipt++] = coord(x, y);
+ }
+ pts[ipt++] = new Coordinate(pts[0]);
+
+ LinearRing ring = geomFact.createLinearRing(pts);
+ Polygon poly = geomFact.createPolygon(ring);
+ return (Polygon) rotate(poly);
+ }
+
+//* @deprecated use {@link createEllipse} instead
+ /**
+ * Creates a circular or elliptical {@link Polygon}.
+ *
+ * @return a circle or ellipse
+ */
+ public Polygon createCircle()
+ {
+ return createEllipse();
+ }
+
+ /**
+ * Creates an elliptical {@link Polygon}.
+ * If the supplied envelope is square the
+ * result will be a circle.
+ *
+ * @return an ellipse or circle
+ */
+ public Polygon createEllipse()
+ {
+
+ Envelope env = dim.getEnvelope();
+ double xRadius = env.getWidth() / 2.0;
+ double yRadius = env.getHeight() / 2.0;
+
+ double centreX = env.getMinX() + xRadius;
+ double centreY = env.getMinY() + yRadius;
+
+ Coordinate[] pts = new Coordinate[nPts + 1];
+ int iPt = 0;
+ for (int i = 0; i < nPts; i++) {
+ double ang = i * (2 * Math.PI / nPts);
+ double x = xRadius * Math.cos(ang) + centreX;
+ double y = yRadius * Math.sin(ang) + centreY;
+ pts[iPt++] = coord(x, y);
+ }
+ pts[iPt] = new Coordinate(pts[0]);
+
+ LinearRing ring = geomFact.createLinearRing(pts);
+ Polygon poly = geomFact.createPolygon(ring);
+ return (Polygon) rotate(poly);
+ }
+ /**
+ * Creates a squircular {@link Polygon}.
+ *
+ * @return a squircle
+ */
+ public Polygon createSquircle()
+ /**
+ * Creates a squircular {@link Polygon}.
+ *
+ * @return a squircle
+ */
+ {
+ return createSupercircle(4);
+ }
+
+ /**
+ * Creates a supercircular {@link Polygon}
+ * of a given positive power.
+ *
+ * @return a supercircle
+ */
+ public Polygon createSupercircle(double power)
+ {
+ double recipPow = 1.0 / power;
+
+ double radius = dim.getMinSize() / 2;
+ Coordinate centre = dim.getCentre();
+
+ double r4 = Math.pow(radius, power);
+ double y0 = radius;
+
+ double xyInt = Math.pow(r4 / 2, recipPow);
+
+ int nSegsInOct = nPts / 8;
+ int totPts = nSegsInOct * 8 + 1;
+ Coordinate[] pts = new Coordinate[totPts];
+ double xInc = xyInt / nSegsInOct;
+
+ for (int i = 0; i <= nSegsInOct; i++) {
+ double x = 0.0;
+ double y = y0;
+ if (i != 0) {
+ x = xInc * i;
+ double x4 = Math.pow(x, power);
+ y = Math.pow(r4 - x4, recipPow);
+ }
+ pts[i] = coordTrans(x, y, centre);
+ pts[2 * nSegsInOct - i] = coordTrans(y, x, centre);
+
+ pts[2 * nSegsInOct + i] = coordTrans(y, -x, centre);
+ pts[4 * nSegsInOct - i] = coordTrans(x, -y, centre);
+
+ pts[4 * nSegsInOct + i] = coordTrans(-x, -y, centre);
+ pts[6 * nSegsInOct - i] = coordTrans(-y, -x, centre);
+
+ pts[6 * nSegsInOct + i] = coordTrans(-y, x, centre);
+ pts[8 * nSegsInOct - i] = coordTrans(-x, y, centre);
+ }
+ pts[pts.length-1] = new Coordinate(pts[0]);
+
+ LinearRing ring = geomFact.createLinearRing(pts);
+ Polygon poly = geomFact.createPolygon(ring);
+ return (Polygon) rotate(poly);
+ }
+
+ /**
+ * Creates an elliptical arc, as a {@link LineString}.
+ * The arc is always created in a counter-clockwise direction.
+ * This can easily be reversed if required by using
+ * {#link LineString.reverse()}
+ *
+ * @param startAng start angle in radians
+ * @param angExtent size of angle in radians
+ * @return an elliptical arc
+ */
+ public LineString createArc(
+ double startAng,
+ double angExtent)
+ {
+ Envelope env = dim.getEnvelope();
+ double xRadius = env.getWidth() / 2.0;
+ double yRadius = env.getHeight() / 2.0;
+
+ double centreX = env.getMinX() + xRadius;
+ double centreY = env.getMinY() + yRadius;
+
+ double angSize = angExtent;
+ if (angSize <= 0.0 || angSize > 2 * Math.PI)
+ angSize = 2 * Math.PI;
+ double angInc = angSize / (nPts - 1);
+
+ Coordinate[] pts = new Coordinate[nPts];
+ int iPt = 0;
+ for (int i = 0; i < nPts; i++) {
+ double ang = startAng + i * angInc;
+ double x = xRadius * Math.cos(ang) + centreX;
+ double y = yRadius * Math.sin(ang) + centreY;
+ pts[iPt++] = coord(x, y);
+ }
+ LineString line = geomFact.createLineString(pts);
+ return (LineString) rotate(line);
+ }
+
+ /**
+ * Creates an elliptical arc polygon.
+ * The polygon is formed from the specified arc of an ellipse
+ * and the two radii connecting the endpoints to the centre of the ellipse.
+ *
+ * @param startAng start angle in radians
+ * @param angExtent size of angle in radians
+ * @return an elliptical arc polygon
+ */
+ public Polygon createArcPolygon(double startAng, double angExtent) {
+ Envelope env = dim.getEnvelope();
+ double xRadius = env.getWidth() / 2.0;
+ double yRadius = env.getHeight() / 2.0;
+
+ double centreX = env.getMinX() + xRadius;
+ double centreY = env.getMinY() + yRadius;
+
+ double angSize = angExtent;
+ if (angSize <= 0.0 || angSize > 2 * Math.PI)
+ angSize = 2 * Math.PI;
+ double angInc = angSize / (nPts - 1);
+ // double check = angInc * nPts;
+ // double checkEndAng = startAng + check;
+
+ Coordinate[] pts = new Coordinate[nPts + 2];
+
+ int iPt = 0;
+ pts[iPt++] = coord(centreX, centreY);
+ for (int i = 0; i < nPts; i++) {
+ double ang = startAng + angInc * i;
+
+ double x = xRadius * Math.cos(ang) + centreX;
+ double y = yRadius * Math.sin(ang) + centreY;
+ pts[iPt++] = coord(x, y);
+ }
+ pts[iPt++] = coord(centreX, centreY);
+ LinearRing ring = geomFact.createLinearRing(pts);
+ Polygon poly = geomFact.createPolygon(ring);
+ return (Polygon) rotate(poly);
+ }
+
+ protected Coordinate coord(double x, double y)
+ {
+ Coordinate pt = new Coordinate(x, y);
+ precModel.makePrecise(pt);
+ return pt;
+ }
+
+ protected Coordinate coordTrans(double x, double y, Coordinate trans)
+ {
+ return coord(x + trans.x, y + trans.y);
+ }
+
+ static protected class Dimensions
+ {
+ public Coordinate base;
+ public Coordinate centre;
+ public double width;
+ public double height;
+
+ public void setBase(Coordinate base) { this.base = base; }
+ public Coordinate getBase() { return base; }
+
+ public void setCentre(Coordinate centre) { this.centre = centre; }
+ public Coordinate getCentre()
+ {
+ if (centre == null) {
+ centre = new Coordinate(base.x + width/2, base.y + height/2);
+ }
+ return centre;
+ }
+
+ public void setSize(double size)
+ {
+ height = size;
+ width = size;
+ }
+
+ public double getMinSize()
+ {
+ return Math.min(width, height);
+ }
+ public void setWidth(double width) { this.width = width; }
+ public double getWidth() { return width; }
+ public double getHeight() { return height; }
+
+ public void setHeight(double height) { this.height = height; }
+
+ public void setEnvelope(Envelope env)
+ {
+ this.width = env.getWidth();
+ this.height = env.getHeight();
+ this.base = new Coordinate(env.getMinX(), env.getMinY());
+ this.centre = new Coordinate(env.centre());
+ }
+
+ public Envelope getEnvelope() {
+ if (base != null) {
+ return new Envelope(base.x, base.x + width, base.y, base.y + height);
+ }
+ if (centre != null) {
+ return new Envelope(centre.x - width/2, centre.x + width/2,
+ centre.y - height/2, centre.y + height/2);
+ }
+ return new Envelope(0, width, 0, height);
+ }
+
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/Memory.java b/modules/core/src/main/java/org/locationtech/jts/util/Memory.java
new file mode 100644
index 0000000..5b0cdb9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/Memory.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+/**
+ * Utility functions to report JVM memory usage.
+ *
+ * @author mbdavis
+ *
+ */
+public class Memory
+{
+ public static long used()
+ {
+ Runtime runtime = Runtime.getRuntime ();
+ return runtime.totalMemory() - runtime.freeMemory();
+ }
+
+ public static String usedString()
+ {
+ return format(used());
+ }
+
+ public static long free()
+ {
+ Runtime runtime = Runtime.getRuntime ();
+ return runtime.freeMemory();
+ }
+
+ public static String freeString()
+ {
+ return format(free());
+ }
+
+ public static long total()
+ {
+ Runtime runtime = Runtime.getRuntime ();
+ return runtime.totalMemory();
+ }
+
+ public static String totalString()
+ {
+ return format(total());
+ }
+
+ public static String usedTotalString()
+ {
+ return "Used: " + usedString()
+ + " Total: " + totalString();
+ }
+
+ public static String allString()
+ {
+ return "Used: " + usedString()
+ + " Free: " + freeString()
+ + " Total: " + totalString();
+ }
+
+ public static final double KB = 1024;
+ public static final double MB = 1048576;
+ public static final double GB = 1073741824;
+
+ public static String format(long mem)
+ {
+ if (mem < 2 * KB)
+ return mem + " bytes";
+ if (mem < 2 * MB)
+ return round(mem / KB) + " KB";
+ if (mem < 2 * GB)
+ return round(mem / MB) + " MB";
+ return round(mem / GB) + " GB";
+ }
+
+ public static double round(double d)
+ {
+ return Math.ceil(d * 100) / 100;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/NumberUtil.java b/modules/core/src/main/java/org/locationtech/jts/util/NumberUtil.java
new file mode 100644
index 0000000..1a0d861
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/NumberUtil.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.util;
+
+public class NumberUtil
+{
+
+ public static boolean equalsWithTolerance(double x1, double x2, double tolerance)
+ {
+ return Math.abs(x1 - x2) <= tolerance;
+ }
+
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/ObjectCounter.java b/modules/core/src/main/java/org/locationtech/jts/util/ObjectCounter.java
new file mode 100644
index 0000000..53db312
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/ObjectCounter.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Counts occurrences of objects.
+ *
+ * @author Martin Davis
+ *
+ */
+public class ObjectCounter
+{
+
+ private Map counts = new HashMap();
+
+ public ObjectCounter() {
+ }
+
+ public void add(Object o)
+ {
+ Counter counter = (Counter) counts.get(o);
+ if (counter == null)
+ counts.put(o, new Counter(1));
+ else
+ counter.increment();
+ }
+
+ // TODO: add remove(Object o)
+
+ public int count(Object o)
+ {
+ Counter counter = (Counter) counts.get(o);
+ if (counter == null)
+ return 0;
+ else
+ return counter.count();
+
+ }
+ private static class Counter
+ {
+ int count = 0;
+
+ public Counter()
+ {
+
+ }
+
+ public Counter(int count)
+ {
+ this.count = count;
+ }
+
+ public int count()
+ {
+ return count;
+ }
+
+ public void increment()
+ {
+ count++;
+ }
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/PriorityQueue.java b/modules/core/src/main/java/org/locationtech/jts/util/PriorityQueue.java
new file mode 100644
index 0000000..1377931
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/PriorityQueue.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import java.util.ArrayList;
+
+/**
+ * A priority queue over a set of {@link Comparable} objects.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PriorityQueue
+{
+ private int size; // Number of elements in queue
+ private ArrayList items; // The queue binary heap array
+
+ /**
+ * Creates a new empty priority queue
+ */
+ public PriorityQueue() {
+ size = 0;
+ items = new ArrayList();
+ // create space for sentinel
+ items.add(null);
+ }
+
+ /**
+ * Insert into the priority queue.
+ * Duplicates are allowed.
+ * @param x the item to insert.
+ */
+ public void add(Comparable x)
+ {
+ // increase the size of the items heap to create a hole for the new item
+ items.add(null);
+
+ // Insert item at end of heap and then re-establish ordering
+ size += 1;
+ int hole = size;
+ // set the item as a sentinel at the base of the heap
+ items.set(0, x);
+
+ // move the item up from the hole position to its correct place
+ for (; x.compareTo(items.get(hole / 2)) < 0; hole /= 2) {
+ items.set(hole, items.get(hole / 2));
+ }
+ // insert the new item in the correct place
+ items.set(hole, x);
+ }
+
+ /**
+ * Establish heap from an arbitrary arrangement of items.
+ */
+ /*
+ private void buildHeap( ) {
+ for( int i = currentSize / 2; i > 0; i-- )
+ reorder( i );
+ }
+ */
+
+ /**
+ * Test if the priority queue is logically empty.
+ * @return true if empty, false otherwise.
+ */
+ public boolean isEmpty() {
+ return size == 0;
+ }
+
+ /**
+ * Returns size.
+ * @return current size.
+ */
+ public int size() {
+ return size;
+ }
+
+ /**
+ * Make the priority queue logically empty.
+ */
+ public void clear() {
+ size = 0;
+ items.clear();
+ }
+
+ /**
+ * Remove the smallest item from the priority queue.
+ * @return the smallest item, or null if empty
+ */
+ public Object poll()
+ {
+ if (isEmpty())
+ return null;
+ Object minItem = items.get(1);
+ items.set(1, items.get(size));
+ size -= 1;
+ reorder(1);
+
+ return minItem;
+ }
+
+ /**
+ * Internal method to percolate down in the heap.
+ *
+ * @param hole the index at which the percolate begins.
+ */
+ private void reorder(int hole)
+ {
+ int child;
+ Object tmp = items.get(hole);
+
+ for (; hole * 2 <= size; hole = child) {
+ child = hole * 2;
+ if (child != size
+ && ((Comparable) items.get(child + 1)).compareTo(items.get(child)) < 0)
+ child++;
+ if (((Comparable) items.get(child)).compareTo(tmp) < 0)
+ items.set(hole, items.get(child));
+ else
+ break;
+ }
+ items.set(hole, tmp);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/Stopwatch.java b/modules/core/src/main/java/org/locationtech/jts/util/Stopwatch.java
new file mode 100644
index 0000000..76c03fb
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/Stopwatch.java
@@ -0,0 +1,87 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+/**
+ * Implements a timer function which can compute
+ * elapsed time as well as split times.
+ *
+ * @version 1.7
+ */
+public class Stopwatch {
+
+ private long startTimestamp;
+ private long totalTime = 0;
+ private boolean isRunning = false;
+
+ public Stopwatch()
+ {
+ start();
+ }
+
+ public void start()
+ {
+ if (isRunning) return;
+ startTimestamp = System.currentTimeMillis();
+ isRunning = true;
+ }
+
+ public long stop()
+ {
+ if (isRunning) {
+ updateTotalTime();
+ isRunning = false;
+ }
+ return totalTime;
+ }
+
+ public void reset()
+ {
+ totalTime = 0;
+ startTimestamp = System.currentTimeMillis();
+ }
+
+ public long split()
+ {
+ if (isRunning)
+ updateTotalTime();
+ return totalTime;
+ }
+
+ private void updateTotalTime()
+ {
+ long endTimestamp = System.currentTimeMillis();
+ long elapsedTime = endTimestamp - startTimestamp;
+ startTimestamp = endTimestamp;
+ totalTime += elapsedTime;
+ }
+
+ public long getTime()
+ {
+ updateTotalTime();
+ return totalTime;
+ }
+
+ public String getTimeString()
+ {
+ long totalTime = getTime();
+ return getTimeString(totalTime);
+ }
+
+ public static String getTimeString(long timeMillis) {
+ String totalTimeStr = timeMillis < 10000
+ ? timeMillis + " ms"
+ : (double) timeMillis / 1000.0 + " s";
+ return totalTimeStr;
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/StringUtil.java b/modules/core/src/main/java/org/locationtech/jts/util/StringUtil.java
new file mode 100644
index 0000000..f8bd20b
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/StringUtil.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.util;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.io.PrintStream;
+import java.io.StringReader;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+
+/**
+ * Utility methods for working with {@link String}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class StringUtil
+{
+ /**
+ * Mimics the the Java SE {@link String#split(String)} method.
+ *
+ * @param s the string to split.
+ * @param separator the separator to use.
+ * @return the array of split strings.
+ */
+ public static String[] split(String s, String separator)
+ {
+ int separatorlen = separator.length();
+ ArrayList tokenList = new ArrayList();
+ String tmpString = "" + s;
+ int pos = tmpString.indexOf(separator);
+ while (pos >= 0) {
+ String token = tmpString.substring(0, pos);
+ tokenList.add(token);
+ tmpString = tmpString.substring(pos + separatorlen);
+ pos = tmpString.indexOf(separator);
+ }
+ if (tmpString.length() > 0)
+ tokenList.add(tmpString);
+ String[] res = new String[tokenList.size()];
+ for (int i = 0; i < res.length; i++) {
+ res[i] = (String) tokenList.get(i);
+ }
+ return res;
+ }
+
+ public final static String NEWLINE = System.getProperty("line.separator");
+
+ /**
+ * Returns an throwable's stack trace
+ */
+ public static String getStackTrace(Throwable t) {
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ PrintStream ps = new PrintStream(os);
+ t.printStackTrace(ps);
+ return os.toString();
+ }
+
+ public static String getStackTrace(Throwable t, int depth) {
+ String stackTrace = "";
+ StringReader stringReader = new StringReader(getStackTrace(t));
+ LineNumberReader lineNumberReader = new LineNumberReader(stringReader);
+ for (int i = 0; i < depth; i++) {
+ try {
+ stackTrace += lineNumberReader.readLine() + NEWLINE;
+ } catch (IOException e) {
+ Assert.shouldNeverReachHere();
+ }
+ }
+ return stackTrace;
+ }
+
+ private static NumberFormat SIMPLE_ORDINATE_FORMAT = new DecimalFormat("0.#");
+
+ public static String toString(double d)
+ {
+ return SIMPLE_ORDINATE_FORMAT.format(d);
+ }
+
+ public static String spaces(int n)
+ {
+ return chars(' ', n);
+ }
+
+ public static String chars(char c, int n)
+ {
+ char[] ch = new char[n];
+ for (int i = 0; i < n; i++) {
+ ch[i] = c;
+ }
+ return new String(ch);
+ }
+}
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/UniqueCoordinateArrayFilter.java b/modules/core/src/main/java/org/locationtech/jts/util/UniqueCoordinateArrayFilter.java
new file mode 100644
index 0000000..3e01ad9
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/UniqueCoordinateArrayFilter.java
@@ -0,0 +1,69 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.util;
+
+import java.util.ArrayList;
+import java.util.TreeSet;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+
+
+/**
+ * A {@link CoordinateFilter} that builds a set of <code>Coordinate</code>s.
+ * The set of coordinates contains no duplicate points.
+ * It preserves the order of the input points.
+ *
+ *@version 1.7
+ */
+public class UniqueCoordinateArrayFilter implements CoordinateFilter
+{
+ /**
+ * Convenience method which allows running the filter over an array of {@link Coordinate}s.
+ *
+ * @param coords an array of coordinates
+ * @return an array of the unique coordinates
+ */
+ public static Coordinate[] filterCoordinates(Coordinate[] coords)
+ {
+ UniqueCoordinateArrayFilter filter = new UniqueCoordinateArrayFilter();
+ for (int i = 0; i < coords.length; i++) {
+ filter.filter(coords[i]);
+ }
+ return filter.getCoordinates();
+ }
+
+ TreeSet treeSet = new TreeSet();
+ ArrayList list = new ArrayList();
+
+ public UniqueCoordinateArrayFilter() { }
+
+ /**
+ * Returns the gathered <code>Coordinate</code>s.
+ *
+ *@return the <code>Coordinate</code>s collected by this <code>CoordinateArrayFilter</code>
+ */
+ public Coordinate[] getCoordinates() {
+ Coordinate[] coordinates = new Coordinate[list.size()];
+ return (Coordinate[]) list.toArray(coordinates);
+ }
+
+ public void filter(Coordinate coord) {
+ if (!treeSet.contains(coord)) {
+ list.add(coord);
+ treeSet.add(coord);
+ }
+ }
+}
+
diff --git a/modules/core/src/main/java/org/locationtech/jts/util/package.html b/modules/core/src/main/java/org/locationtech/jts/util/package.html
new file mode 100644
index 0000000..e44abbc
--- /dev/null
+++ b/modules/core/src/main/java/org/locationtech/jts/util/package.html
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+</head>
+<body bgcolor="white">
+Contains support classes for the Java Topology Suite.
+</body>
+</html>
diff --git a/modules/core/src/main/javadoc/overview.html b/modules/core/src/main/javadoc/overview.html
new file mode 100644
index 0000000..b65efcd
--- /dev/null
+++ b/modules/core/src/main/javadoc/overview.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE>JTS Topology Suite</TITLE>
+ </HEAD>
+ <BODY>
+ The JTS Topology Suite (JTS) is an open source Java software library that provides an object model for planar geometry together with a set of fundamental geometric functions.
+ JTS conforms to the Simple Features Specification for SQL published by the Open GIS Consortium.
+ JTS is designed to be used as a core component of vector-based geomatics software such as geographical information systems.
+ It can also be used as a general-purpose library providing algorithms in computational geometry.
+ </BODY>
+</HTML>
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/AbstractPointInRingTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/AbstractPointInRingTest.java
new file mode 100644
index 0000000..86e9e3d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/AbstractPointInRingTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+
+import test.jts.GeometryTestCase;
+
+/**
+ * Tests PointInRing algorithms
+ *
+ * @version 1.7
+ */
+public abstract class AbstractPointInRingTest extends GeometryTestCase {
+
+
+ public AbstractPointInRingTest(String name) { super(name); }
+
+ public void testBox() throws Exception
+ {
+ runPtInRing(Location.INTERIOR, new Coordinate(10, 10),
+"POLYGON ((0 0, 0 20, 20 20, 20 0, 0 0))");
+ }
+
+ public void testComplexRing() throws Exception
+ {
+ runPtInRing(Location.INTERIOR, new Coordinate(0, 0),
+"POLYGON ((-40 80, -40 -80, 20 0, 20 -100, 40 40, 80 -80, 100 80, 140 -20, 120 140, 40 180, 60 40, 0 120, -20 -20, -40 80))");
+ }
+
+ public static final String comb =
+ "POLYGON ((0 0, 0 10, 4 5, 6 10, 7 5, 9 10, 10 5, 13 5, 15 10, 16 3, 17 10, 18 3, 25 10, 30 10, 30 0, 15 0, 14 5, 13 0, 9 0, 8 5, 6 0, 0 0))";
+
+ public void testComb() throws Exception
+ {
+ runPtInRing(Location.BOUNDARY, new Coordinate(0, 0), comb);
+ runPtInRing(Location.BOUNDARY, new Coordinate(0, 1), comb);
+ // at vertex
+ runPtInRing(Location.BOUNDARY, new Coordinate(4, 5), comb);
+ runPtInRing(Location.BOUNDARY, new Coordinate(8, 5), comb);
+
+ // on horizontal segment
+ runPtInRing(Location.BOUNDARY, new Coordinate(11, 5), comb);
+ // on vertical segment
+ runPtInRing(Location.BOUNDARY, new Coordinate(30, 5), comb);
+ // on angled segment
+ runPtInRing(Location.BOUNDARY, new Coordinate(22, 7), comb);
+
+
+
+ runPtInRing(Location.INTERIOR, new Coordinate(1, 5), comb);
+ runPtInRing(Location.INTERIOR, new Coordinate(5, 5), comb);
+ runPtInRing(Location.INTERIOR, new Coordinate(1, 7), comb);
+
+
+
+ runPtInRing(Location.EXTERIOR, new Coordinate(12, 10), comb);
+ runPtInRing(Location.EXTERIOR, new Coordinate(16, 5), comb);
+ runPtInRing(Location.EXTERIOR, new Coordinate(35, 5), comb);
+ }
+
+ public static final String repeatedPts =
+ "POLYGON ((0 0, 0 10, 2 5, 2 5, 2 5, 2 5, 2 5, 3 10, 6 10, 8 5, 8 5, 8 5, 8 5, 10 10, 10 5, 10 5, 10 5, 10 5, 10 0, 0 0))";
+
+ /**
+ * Tests that repeated points are handled correctly
+ * @throws Exception
+ */
+ public void testRepeatedPts() throws Exception
+ {
+ runPtInRing(Location.BOUNDARY, new Coordinate(0, 0), repeatedPts);
+ runPtInRing(Location.BOUNDARY, new Coordinate(0, 1), repeatedPts);
+
+ // at vertex
+ runPtInRing(Location.BOUNDARY, new Coordinate(2, 5), repeatedPts);
+ runPtInRing(Location.BOUNDARY, new Coordinate(8, 5), repeatedPts);
+ runPtInRing(Location.BOUNDARY, new Coordinate(10, 5), repeatedPts);
+
+ runPtInRing(Location.INTERIOR, new Coordinate(1, 5), repeatedPts);
+ runPtInRing(Location.INTERIOR, new Coordinate(3, 5), repeatedPts);
+
+ }
+
+ /**
+ * Cases generated from RayCrossingCounterStressTest.
+ *
+ * @throws Exception
+ */
+ public void testRobustStressTriangles() throws Exception {
+ runPtInRing(Location.EXTERIOR, new Coordinate(25.374625374625374, 128.35564435564436), "POLYGON ((0.0 0.0, 0.0 172.0, 100.0 0.0, 0.0 0.0))");
+ runPtInRing(Location.INTERIOR, new Coordinate(97.96039603960396, 782.0), "POLYGON ((642.0 815.0, 69.0 764.0, 394.0 966.0, 642.0 815.0))");
+ }
+
+ public void testRobustTriangle() throws Exception {
+ runPtInRing(Location.EXTERIOR, new Coordinate(3.166572116932842, 48.5390194687463), "POLYGON ((2.152214146946829 50.470470727186765, 18.381941666723034 19.567250592139274, 2.390837642830135 49.228045261718165, 2.152214146946829 50.470470727186765))");
+ }
+
+ abstract protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception;
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/AngleTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/AngleTest.java
new file mode 100644
index 0000000..10bfdd6
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/AngleTest.java
@@ -0,0 +1,105 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class AngleTest extends TestCase {
+
+ private static final double TOLERANCE = 1E-5;
+
+ public static void main(String args[]) {
+ TestRunner.run(AngleTest.class);
+ }
+
+ public AngleTest(String name) { super(name); }
+
+ public void testAngle() throws Exception
+ {
+ assertEquals(Angle.angle(new Coordinate(10,0)), 0.0, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(10,10)), Math.PI/4, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(0,10)), Math.PI/2, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(-10,10)), 0.75*Math.PI, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(-10,0)), Math.PI, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(-10,-0.1)), -3.131592986903128, TOLERANCE);
+ assertEquals(Angle.angle(new Coordinate(-10,-10)), -0.75*Math.PI, TOLERANCE);
+ }
+
+ public void testIsAcute() throws Exception
+ {
+ assertEquals(Angle.isAcute(new Coordinate(10,0), new Coordinate(0,0), new Coordinate(5,10)), true);
+ assertEquals(Angle.isAcute(new Coordinate(10,0), new Coordinate(0,0), new Coordinate(5,-10)), true);
+ // angle of 0
+ assertEquals(Angle.isAcute(new Coordinate(10,0), new Coordinate(0,0), new Coordinate(10,0)), true);
+
+ assertEquals(Angle.isAcute(new Coordinate(10,0), new Coordinate(0,0), new Coordinate(-5,10)), false);
+ assertEquals(Angle.isAcute(new Coordinate(10,0), new Coordinate(0,0), new Coordinate(-5,-10)), false);
+
+
+ }
+
+ public void testNormalizePositive() throws Exception
+ {
+ assertEquals(Angle.normalizePositive(0.0), 0.0, TOLERANCE);
+
+ assertEquals(Angle.normalizePositive(-0.5*Math.PI), 1.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-1.5*Math.PI), .5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-2*Math.PI), 0.0, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-2.5*Math.PI), 1.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-3*Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(-4 * Math.PI), 0.0, TOLERANCE);
+
+ assertEquals(Angle.normalizePositive(0.5*Math.PI), 0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(1.5*Math.PI), 1.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(2*Math.PI), 0.0, TOLERANCE);
+ assertEquals(Angle.normalizePositive(2.5*Math.PI), 0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(3*Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalizePositive(4 * Math.PI), 0.0, TOLERANCE);
+
+ }
+
+ public void testNormalize() throws Exception
+ {
+ assertEquals(Angle.normalize(0.0), 0.0, TOLERANCE);
+
+ assertEquals(Angle.normalize(-0.5*Math.PI), -0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(-Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(-1.5*Math.PI), .5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(-2*Math.PI), 0.0, TOLERANCE);
+ assertEquals(Angle.normalize(-2.5*Math.PI), -0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(-3*Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(-4 * Math.PI), 0.0, TOLERANCE);
+
+ assertEquals(Angle.normalize(0.5*Math.PI), 0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(1.5*Math.PI), -0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(2*Math.PI), 0.0, TOLERANCE);
+ assertEquals(Angle.normalize(2.5*Math.PI), 0.5*Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(3*Math.PI), Math.PI, TOLERANCE);
+ assertEquals(Angle.normalize(4 * Math.PI), 0.0, TOLERANCE);
+
+
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/AreaTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/AreaTest.java
new file mode 100644
index 0000000..e52d43b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/AreaTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.LinearRing;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+public class AreaTest extends GeometryTestCase {
+ public static void main(String args[]) {
+ TestRunner.run(AreaTest.class);
+ }
+
+ public AreaTest(String name) { super(name); }
+
+ public void testArea() {
+ checkAreaOfRing("LINEARRING (100 200, 200 200, 200 100, 100 100, 100 200)", 10000.0);
+ }
+
+ public void testAreaSignedCW() {
+ checkAreaOfRingSigned("LINEARRING (100 200, 200 200, 200 100, 100 100, 100 200)", 10000.0);
+ }
+
+ public void testAreaSignedCCW() {
+ checkAreaOfRingSigned("LINEARRING (100 200, 100 100, 200 100, 200 200, 100 200)", -10000.0);
+ }
+
+ void checkAreaOfRing(String wkt, double expectedArea) {
+ LinearRing ring = (LinearRing) read(wkt);
+
+ Coordinate[] ringPts = ring.getCoordinates();
+ double actual1 = Area.ofRing(ringPts);
+ assertEquals(actual1, expectedArea);
+
+ CoordinateSequence ringSeq = ring.getCoordinateSequence();
+ double actual2 = Area.ofRing(ringSeq);
+ assertEquals(actual2, expectedArea);
+ }
+
+ void checkAreaOfRingSigned(String wkt, double expectedArea) {
+ LinearRing ring = (LinearRing) read(wkt);
+
+ Coordinate[] ringPts = ring.getCoordinates();
+ double actual1 = Area.ofRingSigned(ringPts);
+ assertEquals(actual1, expectedArea);
+
+ CoordinateSequence ringSeq = ring.getCoordinateSequence();
+ double actual2 = Area.ofRingSigned(ringSeq);
+ assertEquals(actual2, expectedArea);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/CGAlgorithmsDDTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/CGAlgorithmsDDTest.java
new file mode 100644
index 0000000..ff89416
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/CGAlgorithmsDDTest.java
@@ -0,0 +1,23 @@
+package org.locationtech.jts.algorithm;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+public class CGAlgorithmsDDTest
+extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(CGAlgorithmsDDTest.class);
+ }
+
+ public CGAlgorithmsDDTest(String name) { super(name); }
+
+ public void testSignOfDet2x2() {
+ checkSignOfDet2x2(1, 1, 2, 2, 0);
+ checkSignOfDet2x2(1, 1, 2, 3, 1);
+ checkSignOfDet2x2(1, 1, 3, 2, -1);
+ }
+
+ private void checkSignOfDet2x2(double x1, double y1, double x2, double y2, int sign) {
+ assertEquals(sign, CGAlgorithmsDD.signOfDet2x2(x1, y1, x2, y2));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/CentroidTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/CentroidTest.java
new file mode 100644
index 0000000..86b48a1
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/CentroidTest.java
@@ -0,0 +1,50 @@
+package org.locationtech.jts.algorithm;
+
+import junit.framework.TestCase;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+public class CentroidTest extends TestCase {
+
+ private static final double TOLERANCE = 1e-10;
+
+ public CentroidTest(String name) {
+ super(name);
+ }
+
+ /** Compute the centroid of a geometry as an area-weighted average of the centroids
+ * of its components.
+ *
+ * @param g a polygonal geometry
+ * @return Coordinate of the geometry's centroid
+ */
+ private static Coordinate areaWeightedCentroid(Geometry g) {
+ double totalArea = g.getArea();
+ double cx = 0;
+ double cy = 0;
+
+ for(int i = 0; i < g.getNumGeometries(); i++) {
+ Geometry component = g.getGeometryN(i);
+ double areaFraction = component.getArea() / totalArea;
+
+ Coordinate componentCentroid = component.getCentroid().getCoordinate();
+
+ cx += areaFraction * componentCentroid.x;
+ cy += areaFraction * componentCentroid.y;
+ }
+
+ return new Coordinate(cx, cy);
+ }
+
+ public void testCentroidMultiPolygon() throws Exception {
+ // Verify that the computed centroid of a MultiPolygon is equivalent to the
+ // area-weighted average of its components.
+ Geometry g = new WKTReader().read(
+ "MULTIPOLYGON ((( -92.661322 36.58994900000003, -92.66132199999993 36.58994900000005, -92.66132199999993 36.589949000000004, -92.661322 36.589949, -92.661322 36.58994900000003)), (( -92.65560500000008 36.58708800000005, -92.65560499999992 36.58708800000005, -92.65560499998745 36.587087999992576, -92.655605 36.587088, -92.65560500000008 36.58708800000005 )), (( -92.65512450000065 36.586800000000466, -92.65512449999994 36.58680000000004, -92.65512449998666 36.5867999999905, [...]
+ );
+
+ assertTrue(areaWeightedCentroid(g).equals2D(g.getCentroid().getCoordinate(), TOLERANCE));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/ConvexHullTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/ConvexHullTest.java
new file mode 100644
index 0000000..94e9fb8
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/ConvexHullTest.java
@@ -0,0 +1,146 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import java.util.Stack;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * Test for {@link ConvexHull}.
+ *
+ * @version 1.7
+ */
+public class ConvexHullTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1000);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public ConvexHullTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(ConvexHullTest.class); }
+
+ public void testManyIdenticalPoints() throws Exception {
+ Coordinate[] pts = new Coordinate[100];
+ for (int i = 0; i < 99; i++)
+ pts[i] = new Coordinate(0,0);
+ pts[99] = new Coordinate(1,1);
+ ConvexHull ch = new ConvexHull(pts, geometryFactory);
+ Geometry actualGeometry = ch.getConvexHull();
+ Geometry expectedGeometry = reader.read("LINESTRING (0 0, 1 1)");
+ assertTrue(expectedGeometry.equalsExact(actualGeometry));
+ }
+
+ public void testAllIdenticalPoints() throws Exception {
+ Coordinate[] pts = new Coordinate[100];
+ for (int i = 0; i < 100; i++)
+ pts[i] = new Coordinate(0,0);
+ ConvexHull ch = new ConvexHull(pts, geometryFactory);
+ Geometry actualGeometry = ch.getConvexHull();
+ Geometry expectedGeometry = reader.read("POINT (0 0)");
+ assertTrue(expectedGeometry.equalsExact(actualGeometry));
+ }
+
+ public void test1() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ LineString lineString = (LineString) reader.read("LINESTRING (30 220, 240 220, 240 220)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (30 220, 240 220)");
+ assertTrue(convexHull.equalsExact(lineString.convexHull()));
+ }
+
+ public void test2() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry geometry = reader.read("MULTIPOINT (130 240, 130 240, 130 240, 570 240, 570 240, 570 240, 650 240)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (130 240, 650 240)");
+ assertTrue(convexHull.equalsExact(geometry.convexHull()));
+ }
+
+ public void test3() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry geometry = reader.read("MULTIPOINT (0 0, 0 0, 10 0)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (0 0, 10 0)");
+ assertTrue(convexHull.equalsExact(geometry.convexHull()));
+ }
+
+ public void test4() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry geometry = reader.read("MULTIPOINT (0 0, 10 0, 10 0)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (0 0, 10 0)");
+ assertTrue(convexHull.equalsExact(geometry.convexHull()));
+ }
+
+ public void test5() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry geometry = reader.read("MULTIPOINT (0 0, 5 0, 10 0)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (0 0, 10 0)");
+ assertTrue(convexHull.equalsExact(geometry.convexHull()));
+ }
+
+ public void test6() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry actualGeometry = reader.read("MULTIPOINT (0 0, 5 1, 10 0)").convexHull();
+ Geometry expectedGeometry = reader.read("POLYGON ((0 0, 5 1, 10 0, 0 0))");
+ assertEquals(expectedGeometry.toString(), actualGeometry.toString());
+ }
+
+ public void testToArray() throws Exception {
+ ConvexHullEx convexHull = new ConvexHullEx(geometryFactory.createGeometryCollection(null));
+ Stack stack = new Stack();
+ stack.push(new Coordinate(0, 0));
+ stack.push(new Coordinate(1, 1));
+ stack.push(new Coordinate(2, 2));
+ Object[] array1 = convexHull.toCoordinateArray(stack);
+ assertEquals(3, array1.length);
+ assertEquals(new Coordinate(0, 0), array1[0]);
+ assertEquals(new Coordinate(1, 1), array1[1]);
+ assertEquals(new Coordinate(2, 2), array1[2]);
+ assertTrue(!array1[0].equals(array1[1]));
+ }
+
+ private static class ConvexHullEx extends ConvexHull {
+ public ConvexHullEx(Geometry geometry) {
+ super(geometry);
+ }
+ protected Coordinate[] toCoordinateArray(Stack stack) {
+ return super.toCoordinateArray(stack);
+ }
+ }
+
+ public void test7() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry geometry = reader.read("MULTIPOINT (0 0, 0 0, 5 0, 5 0, 10 0, 10 0)");
+ LineString convexHull = (LineString) reader.read("LINESTRING (0 0, 10 0)");
+ assertTrue(convexHull.equalsExact(geometry.convexHull()));
+ }
+
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/DistanceTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/DistanceTest.java
new file mode 100644
index 0000000..2f39cac
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/DistanceTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+public class DistanceTest extends GeometryTestCase {
+ public static void main(String args[]) {
+ TestRunner.run(DistanceTest.class);
+ }
+
+ public DistanceTest(String name) { super(name); }
+
+ public void testDistancePointLinePerpendicular() {
+ assertEquals(0.5, Distance.pointToLinePerpendicular(
+ new Coordinate(0.5, 0.5), new Coordinate(0,0), new Coordinate(1,0)), 0.000001);
+ assertEquals(0.5, Distance.pointToLinePerpendicular(
+ new Coordinate(3.5, 0.5), new Coordinate(0,0), new Coordinate(1,0)), 0.000001);
+ assertEquals(0.707106, Distance.pointToLinePerpendicular(
+ new Coordinate(1,0), new Coordinate(0,0), new Coordinate(1,1)), 0.000001);
+ }
+
+ public void testDistancePointLine() {
+ assertEquals(0.5, Distance.pointToSegment(
+ new Coordinate(0.5, 0.5), new Coordinate(0,0), new Coordinate(1,0)), 0.000001);
+ assertEquals(1.0, Distance.pointToSegment(
+ new Coordinate(2, 0), new Coordinate(0,0), new Coordinate(1,0)), 0.000001);
+ }
+
+ public void testDistanceLineLineDisjointCollinear() {
+ assertEquals(1.999699, Distance.segmentToSegment(
+ new Coordinate(0,0), new Coordinate(9.9, 1.4),
+ new Coordinate(11.88, 1.68), new Coordinate(21.78, 3.08)), 0.000001);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/InteriorPointTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/InteriorPointTest.java
new file mode 100644
index 0000000..1419157
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/InteriorPointTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.util.Stopwatch;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.TestFiles;
+
+
+public class InteriorPointTest extends TestCase
+{
+ public static void main(String args[])
+ {
+ TestRunner.run(InteriorPointTest.class);
+ }
+
+ WKTReader rdr = new WKTReader();
+
+ public InteriorPointTest(String name)
+ {
+ super(name);
+ }
+
+ public void testAll() throws Exception
+ {
+ checkInteriorPointFile(TestFiles.getResourceFilePath("world.wkt"));
+ checkInteriorPointFile(TestFiles.getResourceFilePath("africa.wkt"));
+ //checkInteriorPointFile("../../../../../data/africa.wkt");
+ }
+
+
+ void checkInteriorPointFile(String file) throws Exception
+ {
+ WKTFileReader fileRdr = new WKTFileReader(new FileReader(file), rdr);
+ checkInteriorPointFile(fileRdr);
+ }
+
+ void checkInteriorPointResource(String resource) throws Exception
+ {
+ InputStream is = this.getClass().getResourceAsStream(resource);
+ WKTFileReader fileRdr = new WKTFileReader(new InputStreamReader(is), rdr);
+ checkInteriorPointFile(fileRdr);
+ }
+
+ private void checkInteriorPointFile(WKTFileReader fileRdr) throws IOException, ParseException
+ {
+ List polys = fileRdr.read();
+ checkInteriorPoint(polys);
+ }
+
+ void checkInteriorPoint(List geoms)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (Iterator i = geoms.iterator(); i.hasNext();) {
+ Geometry g = (Geometry) i.next();
+ checkInteriorPoint(g);
+ System.out.print(".");
+ }
+ //System.out.println();
+ //System.out.println(" " + sw.getTimeString());
+ }
+
+ private void checkInteriorPoint(Geometry g)
+ {
+ Point ip = g.getInteriorPoint();
+ assertTrue(g.contains(ip));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/IsCCWTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/IsCCWTest.java
new file mode 100644
index 0000000..0ff1c6e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/IsCCWTest.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests CGAlgorithms.isCCW
+ * @version 1.7
+ */
+public class IsCCWTest extends TestCase {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(IsCCWTest.class);
+ }
+
+ public IsCCWTest(String name) { super(name); }
+
+ public void testCCW() throws Exception
+ {
+ Coordinate[] pts = getCoordinates("POLYGON ((60 180, 140 240, 140 240, 140 240, 200 180, 120 120, 60 180))");
+ assertEquals(Orientation.isCCW(pts), false);
+
+ Coordinate[] pts2 = getCoordinates("POLYGON ((60 180, 140 120, 100 180, 140 240, 60 180))");
+ assertEquals(Orientation.isCCW(pts2), true);
+ // same pts list with duplicate top point - check that isCCW still works
+ Coordinate[] pts2x = getCoordinates("POLYGON ((60 180, 140 120, 100 180, 140 240, 140 240, 60 180))");
+ assertEquals(Orientation.isCCW(pts2x), true);
+ }
+
+ private Coordinate[] getCoordinates(String wkt)
+ throws ParseException
+ {
+ Geometry geom = reader.read(wkt);
+ return geom.getCoordinates();
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/LengthTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/LengthTest.java
new file mode 100644
index 0000000..1aee8c7
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/LengthTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.LineString;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+public class LengthTest extends GeometryTestCase {
+ public static void main(String args[]) {
+ TestRunner.run(LengthTest.class);
+ }
+
+ public LengthTest(String name) { super(name); }
+
+ public void testArea() {
+ checkLengthOfLine("LINESTRING (100 200, 200 200, 200 100, 100 100, 100 200)", 400.0);
+ }
+
+ void checkLengthOfLine(String wkt, double expectedLen) {
+ LineString ring = (LineString) read(wkt);
+
+ CoordinateSequence pts = ring.getCoordinateSequence();
+ double actual = Length.ofLine(pts);
+ assertEquals(actual, expectedLen);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/LocatePointInRingTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/LocatePointInRingTest.java
new file mode 100644
index 0000000..7a0e637
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/LocatePointInRingTest.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests PointInRing algorithms
+ *
+ * @version 1.7
+ */
+public class LocatePointInRingTest extends AbstractPointInRingTest {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(LocatePointInRingTest.class);
+ }
+
+ public LocatePointInRingTest(String name) { super(name); }
+
+ protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception
+ {
+ Geometry geom = reader.read(wkt);
+ assertEquals(expectedLoc, PointLocation.locateInRing(pt, geom.getCoordinates()));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumBoundingCircleTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumBoundingCircleTest.java
new file mode 100644
index 0000000..bc4e22c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumBoundingCircleTest.java
@@ -0,0 +1,117 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * @version 1.7
+ */
+public class MinimumBoundingCircleTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel(1);
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(MinimumBoundingCircleTest.class);
+ }
+
+ public MinimumBoundingCircleTest(String name) { super(name); }
+
+ public void testEmptyPoint() throws Exception {
+ doMinimumBoundingCircleTest("POINT EMPTY", "MULTIPOINT EMPTY");
+ }
+
+ public void testPoint() throws Exception {
+ doMinimumBoundingCircleTest("POINT (10 10)", "POINT (10 10)", new Coordinate(10, 10), 0);
+ }
+
+ public void testPoints2() throws Exception {
+ doMinimumBoundingCircleTest("MULTIPOINT ((10 10), (20 20))", "MULTIPOINT ((10 10), (20 20))", new Coordinate(15, 15), 7.0710678118654755);
+ }
+
+ public void testPointsInLine() throws Exception {
+ doMinimumBoundingCircleTest("MULTIPOINT ((10 10), (20 20), (30 30))", "MULTIPOINT ((10 10), (30 30))",
+ new Coordinate(20, 20), 14.142135623730951);
+ }
+
+ public void testPoints3() throws Exception {
+ doMinimumBoundingCircleTest("MULTIPOINT ((10 10), (20 20), (10 20))", "MULTIPOINT ((10 10), (20 20), (10 20))",
+ new Coordinate(15, 15), 7.0710678118654755);
+ }
+
+ public void testObtuseTriangle() throws Exception {
+ doMinimumBoundingCircleTest("POLYGON ((100 100, 200 100, 150 90, 100 100))", "MULTIPOINT ((100 100), (200 100))",
+ new Coordinate(150, 100), 50);
+ }
+
+ public void testTriangleWithMiddlePoint() throws Exception {
+ doMinimumBoundingCircleTest("MULTIPOINT ((10 10), (20 20), (10 20), (15 19))", "MULTIPOINT ((10 10), (20 20), (10 20))",
+ new Coordinate(15, 15), 7.0710678118654755);
+ }
+
+ public void testQuadrilateral() throws Exception {
+ doMinimumBoundingCircleTest("POLYGON ((26426 65078, 26531 65242, 26096 65427, 26075 65136, 26426 65078))", "MULTIPOINT ((26531 65242), (26075 65136), (26096 65427))",
+ new Coordinate(26284.84180271327, 65267.114509082545), 247.4360455914027 );
+ }
+
+ static final double TOLERANCE = 1.0e-5;
+
+ private void doMinimumBoundingCircleTest(String wkt, String expectedWKT) throws ParseException
+ {
+ doMinimumBoundingCircleTest(wkt, expectedWKT, null, -1);
+ }
+
+ private void doMinimumBoundingCircleTest(String wkt, String expectedWKT,
+ Coordinate expectedCentre, double expectedRadius)
+ throws ParseException
+ {
+ MinimumBoundingCircle mbc = new MinimumBoundingCircle(reader.read(wkt));
+ Coordinate[] exPts = mbc.getExtremalPoints();
+ Geometry actual = geometryFactory.createMultiPoint(exPts);
+ double actualRadius = mbc.getRadius();
+ Coordinate actualCentre = mbc.getCentre();
+ //System.out.println(
+ // " Centre = " + actualCentre
+ // + " Radius = " + actualRadius);
+
+ Geometry expected = reader.read(expectedWKT);
+ boolean isEqual = actual.equals(expected);
+ // need this hack because apparently equals does not work for MULTIPOINT EMPTY
+ if (actual.isEmpty() && expected.isEmpty())
+ isEqual = true;
+ if (!isEqual) {
+ System.out.println("Actual = " + actual + ", Expected = " + expected);
+ }
+ assertTrue(isEqual);
+
+ if (expectedCentre != null) {
+ assertTrue(expectedCentre.distance(actualCentre) < TOLERANCE);
+ }
+ if (expectedRadius >= 0) {
+ assertTrue(Math.abs(expectedRadius - actualRadius) < TOLERANCE);
+ }
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumDiameterTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumDiameterTest.java
new file mode 100644
index 0000000..57acad0
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/MinimumDiameterTest.java
@@ -0,0 +1,69 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * @version 1.7
+ */
+public class MinimumDiameterTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel(1);
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(MinimumDiameterTest.class);
+ }
+
+ public MinimumDiameterTest(String name) { super(name); }
+
+ public void testMinimumDiameter1() throws Exception {
+ doMinimumDiameterTest(true, "POINT (0 240)", new Coordinate(0, 240), new Coordinate(0, 240));
+ }
+ public void testMinimumDiameter2() throws Exception {
+ doMinimumDiameterTest(true, "LINESTRING (0 240, 220 240)", new Coordinate(0, 240), new Coordinate(0, 240));
+ }
+ public void testMinimumDiameter3() throws Exception {
+ doMinimumDiameterTest(true, "POLYGON ((0 240, 220 240, 220 0, 0 0, 0 240))", new Coordinate(220, 240), new Coordinate(0, 240));
+ }
+ public void testMinimumDiameter4() throws Exception {
+ doMinimumDiameterTest(true, "POLYGON ((0 240, 220 240, 220 0, 0 0, 0 240))", new Coordinate(220, 240), new Coordinate(0, 240));
+ }
+ public void testMinimumDiameter5() throws Exception {
+ doMinimumDiameterTest(true, "POLYGON ((0 240, 160 140, 220 0, 0 0, 0 240))", new Coordinate(185.86206896551724, 79.65517241379311), new Coordinate(0, 0));
+ }
+ public void testMinimumDiameter6() throws Exception {
+ doMinimumDiameterTest(false, "LINESTRING ( 39 119, 162 197, 135 70, 95 35, 33 66, 111 82, 97 131, 48 160, -4 182, 57 195, 94 202, 90 174, 75 134, 47 114, 0 100, 59 81, 123 60, 136 43, 163 75, 145 114, 93 136, 92 159, 105 175 )", new Coordinate(64.46262341325811, 196.41184767277855), new Coordinate(95, 35));
+ }
+
+ private void doMinimumDiameterTest(boolean convex, String wkt, Coordinate c0, Coordinate c1) throws ParseException {
+ Coordinate[] minimumDiameter = new MinimumDiameter(new WKTReader().read(wkt), convex).getDiameter().getCoordinates();
+ double tolerance = 1E-10;
+ assertEquals(c0.x, minimumDiameter[0].x, tolerance);
+ assertEquals(c0.y, minimumDiameter[0].y, tolerance);
+ assertEquals(c1.x, minimumDiameter[1].x, tolerance);
+ assertEquals(c1.y, minimumDiameter[1].y, tolerance);
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustCGAlgorithms.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustCGAlgorithms.java
new file mode 100644
index 0000000..2bd056b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustCGAlgorithms.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * Non-robust versions of various fundamental Computational Geometric algorithms,
+ * <b>FOR TESTING PURPOSES ONLY!</b>.
+ * The non-robustness is due to rounding error in floating point computation.
+ *
+ * @version 1.7
+ */
+public class NonRobustCGAlgorithms
+{
+
+ /**
+ * Computes whether a ring defined by an array of {@link Coordinate} is
+ * oriented counter-clockwise.
+ * <p>
+ * This will handle coordinate lists which contain repeated points.
+ *
+ * @param ring an array of coordinates forming a ring
+ * @return <code>true</code> if the ring is oriented counter-clockwise.
+ * @throws IllegalArgumentException if the ring is degenerate (does not contain 3 different points)
+ */
+ public static boolean isPointInRing(Coordinate p, Coordinate[] ring)
+ {
+ int i, i1; // point index; i1 = i-1 mod n
+ double xInt; // x intersection of e with ray
+ int crossings = 0; // number of edge/ray crossings
+ double x1,y1,x2,y2;
+ int nPts = ring.length;
+
+ /* For each line edge l = (i-1, i), see if it crosses ray from test point in positive x direction. */
+ for (i = 1; i < nPts; i++ ) {
+ i1 = i - 1;
+ Coordinate p1 = ring[i];
+ Coordinate p2 = ring[i1];
+ x1 = p1.x - p.x;
+ y1 = p1.y - p.y;
+ x2 = p2.x - p.x;
+ y2 = p2.y - p.y;
+
+ if( ( ( y1 > 0 ) && ( y2 <= 0 ) ) ||
+ ( ( y2 > 0 ) && ( y1 <= 0 ) ) ) {
+ /* e straddles x axis, so compute intersection. */
+ xInt = (x1 * y2 - x2 * y1) / (y2 - y1);
+ //xsave = xInt;
+ /* crosses ray if strictly positive intersection. */
+ if (0.0 < xInt)
+ crossings++;
+ }
+ }
+ /* p is inside if an odd number of crossings. */
+ if( (crossings % 2) == 1 )
+ return true;
+ else
+ return false;
+ }
+
+ /**
+ * Computes whether a ring defined by an array of {@link Coordinate} is
+ * oriented counter-clockwise.
+ * <p>
+ * This will handle coordinate lists which contain repeated points.
+ *
+ * @param ring an array of coordinates forming a ring
+ * @return <code>true</code> if the ring is oriented counter-clockwise.
+ * @throws IllegalArgumentException if the ring is degenerate (does not contain 3 different points)
+ */
+ public static boolean isCCW(Coordinate[] ring)
+ {
+ // # of points without closing endpoint
+ int nPts = ring.length - 1;
+
+ // check that this is a valid ring - if not, simply return a dummy value
+ if (nPts < 4) return false;
+
+ // algorithm to check if a Ring is stored in CCW order
+ // find highest point
+ Coordinate hip = ring[0];
+ int hii = 0;
+ for (int i = 1; i <= nPts; i++) {
+ Coordinate p = ring[i];
+ if (p.y > hip.y) {
+ hip = p;
+ hii = i;
+ }
+ }
+
+ // find different point before highest point
+ int iPrev = hii;
+ do {
+ iPrev = (iPrev - 1) % nPts;
+ } while (ring[iPrev].equals(hip) && iPrev != hii);
+
+ // find different point after highest point
+ int iNext = hii;
+ do {
+ iNext = (iNext + 1) % nPts;
+ } while (ring[iNext].equals(hip) && iNext != hii);
+
+ Coordinate prev = ring[iPrev];
+ Coordinate next = ring[iNext];
+
+ if (prev.equals(hip) || next.equals(hip) || prev.equals(next))
+ throw new IllegalArgumentException("degenerate ring (does not contain 3 different points)");
+
+ // translate so that hip is at the origin.
+ // This will not affect the area calculation, and will avoid
+ // finite-accuracy errors (i.e very small vectors with very large coordinates)
+ // This also simplifies the discriminant calculation.
+ double prev2x = prev.x - hip.x;
+ double prev2y = prev.y - hip.y;
+ double next2x = next.x - hip.x;
+ double next2y = next.y - hip.y;
+ // compute cross-product of vectors hip->next and hip->prev
+ // (e.g. area of parallelogram they enclose)
+ double disc = next2x * prev2y - next2y * prev2x;
+ /* If disc is exactly 0, lines are collinear. There are two possible cases:
+ (1) the lines lie along the x axis in opposite directions
+ (2) the line lie on top of one another
+ (2) should never happen, so we're going to ignore it!
+ (Might want to assert this)
+ (1) is handled by checking if next is left of prev ==> CCW
+ */
+ if (disc == 0.0) {
+ // poly is CCW if prev x is right of next x
+ return (prev.x > next.x);
+ }
+ else {
+ // if area is positive, points are ordered CCW
+ return (disc > 0.0);
+ }
+ }
+
+ /**
+ * Returns the index of the orientation of the point <code>q</code> relative to
+ * a vector specified by <code>p1-p2</code>.
+ * The orientation of a point relative to a directed line segment indicates
+ * which way you turn to get to q after travelling from p1 to p2.
+ *
+ * @param p1
+ * the origin point of the vector
+ * @param p2
+ * the final point of the vector
+ * @param q
+ * the point to compute the direction to
+ *
+ * @return 1 if q is counter-clockwise (left) from p1-p2
+ * @return -1 if q is clockwise (right) from p1-p2
+ * @return 0 if q is collinear with p1-p2
+ */
+ public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ double dx1 = p2.x - p1.x;
+ double dy1 = p2.y - p1.y;
+ double dx2 = q.x - p2.x;
+ double dy2 = q.y - p2.y;
+ double det = dx1*dy2 - dx2*dy1;
+ if (det > 0.0) return 1;
+ if (det < 0.0) return -1;
+ return 0;
+ }
+
+ /**
+ * Computes the distance from a line segment AB to a line segment CD
+ *
+ * Note: NON-ROBUST!
+ *
+ * @param A
+ * a point of one line
+ * @param B
+ * the second point of (must be different to A)
+ * @param C
+ * one point of the line
+ * @param D
+ * another point of the line (must be different to A)
+ */
+ public static double distanceLineLine(Coordinate A, Coordinate B,
+ Coordinate C, Coordinate D)
+ {
+ // check for zero-length segments
+ if (A.equals(B))
+ return Distance.pointToSegment(A, C, D);
+ if (C.equals(D))
+ return Distance.pointToSegment(D, A, B);
+
+ // AB and CD are line segments
+ /*
+ * from comp.graphics.algo
+ *
+ * Solving the above for r and s yields (Ay-Cy)(Dx-Cx)-(Ax-Cx)(Dy-Cy) r =
+ * ----------------------------- (eqn 1) (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx)
+ *
+ * (Ay-Cy)(Bx-Ax)-(Ax-Cx)(By-Ay) s = ----------------------------- (eqn 2)
+ * (Bx-Ax)(Dy-Cy)-(By-Ay)(Dx-Cx) Let P be the position vector of the
+ * intersection point, then P=A+r(B-A) or Px=Ax+r(Bx-Ax) Py=Ay+r(By-Ay) By
+ * examining the values of r & s, you can also determine some other limiting
+ * conditions: If 0<=r<=1 & 0<=s<=1, intersection exists r<0 or r>1 or s<0
+ * or s>1 line segments do not intersect If the denominator in eqn 1 is
+ * zero, AB & CD are parallel If the numerator in eqn 1 is also zero, AB &
+ * CD are collinear.
+ */
+ double r_top = (A.y - C.y) * (D.x - C.x) - (A.x - C.x) * (D.y - C.y);
+ double r_bot = (B.x - A.x) * (D.y - C.y) - (B.y - A.y) * (D.x - C.x);
+
+ double s_top = (A.y - C.y) * (B.x - A.x) - (A.x - C.x) * (B.y - A.y);
+ double s_bot = (B.x - A.x) * (D.y - C.y) - (B.y - A.y) * (D.x - C.x);
+
+ if ((r_bot == 0) || (s_bot == 0)) {
+ return Math
+ .min(
+ Distance.pointToSegment(A, C, D),
+ Math.min(
+ Distance.pointToSegment(B, C, D),
+ Math.min(Distance.pointToSegment(C, A, B),
+ Distance.pointToSegment(D, A, B))));
+
+ }
+ double s = s_top / s_bot;
+ double r = r_top / r_bot;
+
+ if ((r < 0) || (r > 1) || (s < 0) || (s > 1)) {
+ // no intersection
+ return Math
+ .min(
+ Distance.pointToSegment(A, C, D),
+ Math.min(
+ Distance.pointToSegment(B, C, D),
+ Math.min(Distance.pointToSegment(C, A, B),
+ Distance.pointToSegment(D, A, B))));
+ }
+ return 0.0; // intersection exists
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersector.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersector.java
new file mode 100644
index 0000000..7a33fe7
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersector.java
@@ -0,0 +1,297 @@
+
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ *@version 1.7
+ */
+
+
+/**
+ * A non-robust version of {@link LineIntersector}.
+ *
+ * @version 1.7
+ */
+public class NonRobustLineIntersector
+ extends LineIntersector
+{
+ /**
+ * @return true if both numbers are positive or if both numbers are negative.
+ * Returns false if both numbers are zero.
+ */
+ public static boolean isSameSignAndNonZero(double a, double b) {
+ if (a == 0 || b == 0) {
+ return false;
+ }
+ return (a < 0 && b < 0) || (a > 0 && b > 0);
+ }
+
+
+ public NonRobustLineIntersector() {
+ }
+
+ public void computeIntersection(
+ Coordinate p,
+ Coordinate p1,
+ Coordinate p2) {
+ double a1;
+ double b1;
+ double c1;
+ /*
+ * Coefficients of line eqns.
+ */
+ double r;
+ /*
+ * 'Sign' values
+ */
+ isProper = false;
+
+ /*
+ * Compute a1, b1, c1, where line joining points 1 and 2
+ * is "a1 x + b1 y + c1 = 0".
+ */
+ a1 = p2.y - p1.y;
+ b1 = p1.x - p2.x;
+ c1 = p2.x * p1.y - p1.x * p2.y;
+
+ /*
+ * Compute r3 and r4.
+ */
+ r = a1 * p.x + b1 * p.y + c1;
+
+ // if r != 0 the point does not lie on the line
+ if (r != 0) {
+ result = NO_INTERSECTION;
+ return;
+ }
+
+ // Point lies on line - check to see whether it lies in line segment.
+
+ double dist = rParameter(p1, p2, p);
+ if (dist < 0.0 || dist > 1.0) {
+ result = NO_INTERSECTION;
+ return;
+ }
+
+ isProper = true;
+ if (p.equals(p1) || p.equals(p2)) {
+ isProper = false;
+ }
+ result = POINT_INTERSECTION;
+ }
+
+ protected int computeIntersect(
+ Coordinate p1,
+ Coordinate p2,
+ Coordinate p3,
+ Coordinate p4) {
+ double a1;
+ double b1;
+ double c1;
+ /*
+ * Coefficients of line eqns.
+ */
+ double a2;
+ /*
+ * Coefficients of line eqns.
+ */
+ double b2;
+ /*
+ * Coefficients of line eqns.
+ */
+ double c2;
+ double r1;
+ double r2;
+ double r3;
+ double r4;
+ /*
+ * 'Sign' values
+ */
+ //double denom, offset, num; /* Intermediate values */
+
+ isProper = false;
+
+ /*
+ * Compute a1, b1, c1, where line joining points 1 and 2
+ * is "a1 x + b1 y + c1 = 0".
+ */
+ a1 = p2.y - p1.y;
+ b1 = p1.x - p2.x;
+ c1 = p2.x * p1.y - p1.x * p2.y;
+
+ /*
+ * Compute r3 and r4.
+ */
+ r3 = a1 * p3.x + b1 * p3.y + c1;
+ r4 = a1 * p4.x + b1 * p4.y + c1;
+
+ /*
+ * Check signs of r3 and r4. If both point 3 and point 4 lie on
+ * same side of line 1, the line segments do not intersect.
+ */
+ if (r3 != 0 &&
+ r4 != 0 &&
+ isSameSignAndNonZero(r3, r4)) {
+ return NO_INTERSECTION;
+ }
+
+ /*
+ * Compute a2, b2, c2
+ */
+ a2 = p4.y - p3.y;
+ b2 = p3.x - p4.x;
+ c2 = p4.x * p3.y - p3.x * p4.y;
+
+ /*
+ * Compute r1 and r2
+ */
+ r1 = a2 * p1.x + b2 * p1.y + c2;
+ r2 = a2 * p2.x + b2 * p2.y + c2;
+
+ /*
+ * Check signs of r1 and r2. If both point 1 and point 2 lie
+ * on same side of second line segment, the line segments do
+ * not intersect.
+ */
+ if (r1 != 0 &&
+ r2 != 0 &&
+ isSameSignAndNonZero(r1, r2)) {
+ return NO_INTERSECTION;
+ }
+
+ /**
+ * Line segments intersect: compute intersection point.
+ */
+ double denom = a1 * b2 - a2 * b1;
+ if (denom == 0) {
+ return computeCollinearIntersection(p1, p2, p3, p4);
+ }
+ double numX = b1 * c2 - b2 * c1;
+ pa.x = numX / denom;
+ /*
+ * TESTING ONLY
+ * double valX = (( num < 0 ? num - offset : num + offset ) / denom);
+ * double valXInt = (int) (( num < 0 ? num - offset : num + offset ) / denom);
+ * if (valXInt != pa.x) // TESTING ONLY
+ * System.out.println(val + " - int: " + valInt + ", floor: " + pa.x);
+ */
+ double numY = a2 * c1 - a1 * c2;
+ pa.y = numY / denom;
+
+ // check if this is a proper intersection BEFORE truncating values,
+ // to avoid spurious equality comparisons with endpoints
+ isProper = true;
+ if (pa.equals(p1) || pa.equals(p2) || pa.equals(p3) || pa.equals(p4)) {
+ isProper = false;
+ }
+
+ // truncate computed point to precision grid
+ // TESTING - don't force coord to be precise
+ if (precisionModel != null) {
+ precisionModel.makePrecise(pa);
+ }
+ return POINT_INTERSECTION;
+ }
+
+
+ /*
+ * p1-p2 and p3-p4 are assumed to be collinear (although
+ * not necessarily intersecting). Returns:
+ * DONT_INTERSECT : the two segments do not intersect
+ * COLLINEAR : the segments intersect, in the
+ * line segment pa-pb. pa-pb is in
+ * the same direction as p1-p2
+ * DO_INTERSECT : the inputLines intersect in a single point
+ * only, pa
+ */
+ private int computeCollinearIntersection(
+ Coordinate p1,
+ Coordinate p2,
+ Coordinate p3,
+ Coordinate p4) {
+ double r1;
+ double r2;
+ double r3;
+ double r4;
+ Coordinate q3;
+ Coordinate q4;
+ double t3;
+ double t4;
+ r1 = 0;
+ r2 = 1;
+ r3 = rParameter(p1, p2, p3);
+ r4 = rParameter(p1, p2, p4);
+ // make sure p3-p4 is in same direction as p1-p2
+ if (r3 < r4) {
+ q3 = p3;
+ t3 = r3;
+ q4 = p4;
+ t4 = r4;
+ }
+ else {
+ q3 = p4;
+ t3 = r4;
+ q4 = p3;
+ t4 = r3;
+ }
+ // check for no intersection
+ if (t3 > r2 || t4 < r1) {
+ return NO_INTERSECTION;
+ }
+
+ // check for single point intersection
+ if (q4 == p1) {
+ pa.setCoordinate(p1);
+ return POINT_INTERSECTION;
+ }
+ if (q3 == p2) {
+ pa.setCoordinate(p2);
+ return POINT_INTERSECTION;
+ }
+
+ // intersection MUST be a segment - compute endpoints
+ pa.setCoordinate(p1);
+ if (t3 > r1) {
+ pa.setCoordinate(q3);
+ }
+ pb.setCoordinate(p2);
+ if (t4 < r2) {
+ pb.setCoordinate(q4);
+ }
+ return COLLINEAR_INTERSECTION;
+ }
+
+ /**
+ * RParameter computes the parameter for the point p
+ * in the parameterized equation
+ * of the line from p1 to p2.
+ * This is equal to the 'distance' of p along p1-p2
+ */
+ private double rParameter(Coordinate p1, Coordinate p2, Coordinate p) {
+ double r;
+ // compute maximum delta, for numerical stability
+ // also handle case of p1-p2 being vertical or horizontal
+ double dx = Math.abs(p2.x - p1.x);
+ double dy = Math.abs(p2.y - p1.y);
+ if (dx > dy) {
+ r = (p.x - p1.x) / (p2.x - p1.x);
+ }
+ else {
+ r = (p.y - p1.y) / (p2.y - p1.y);
+ }
+ return r;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersectorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersectorTest.java
new file mode 100644
index 0000000..28fc2f2
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustLineIntersectorTest.java
@@ -0,0 +1,52 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import junit.framework.TestCase;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class NonRobustLineIntersectorTest extends TestCase {
+
+ private NonRobustLineIntersector li = new NonRobustLineIntersector();
+
+ public NonRobustLineIntersectorTest(String Name_) {
+ super(Name_);
+ }//public NonRobustLineIntersectorTest(String Name_)
+
+ public static void main(String[] args) {
+ String[] testCaseName = {NonRobustLineIntersectorTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }//public static void main(String[] args)
+
+ public void testNegativeZero() {
+ //MD suggests we ignore this issue for now.
+// li.computeIntersection(new Coordinate(220, 260), new Coordinate(220, 0),
+// new Coordinate(220, 0), new Coordinate(100, 0));
+// assertEquals((new Coordinate(220, 0)).toString(), li.getIntersection(0).toString());
+ }
+
+ public void testGetIntersectionNum() {
+ //MD: NonRobustLineIntersector may have different semantics for
+ //getIntersectionNumber
+// li.computeIntersection(new Coordinate(220, 0), new Coordinate(110, 0),
+// new Coordinate(0, 0), new Coordinate(110, 0));
+// assertEquals(1, li.getIntersectionNum());
+ }
+
+}//public class NonRobustLineIntersectorTest extends TestCase
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustRayCrossingCounter.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustRayCrossingCounter.java
new file mode 100644
index 0000000..f28d75d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/NonRobustRayCrossingCounter.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygonal;
+
+/**
+ * Counts the number of segments crossed by a horizontal ray extending to the right
+ * from a given point, in an incremental fashion.
+ * This can be used to determine whether a point lies in a {@link Polygonal} geometry.
+ * The class determines the situation where the point lies exactly on a segment.
+ * When being used for Point-In-Polygon determination, this case allows short-circuiting
+ * the evaluation.
+ * <p>
+ * This class handles polygonal geometries with any number of shells and holes.
+ * The orientation of the shell and hole rings is unimportant.
+ * In order to compute a correct location for a given polygonal geometry,
+ * it is essential that <b>all</b> segments are counted which
+ * <ul>
+ * <li>touch the ray
+ * <li>lie in in any ring which may contain the point
+ * </ul>
+ * The only exception is when the point-on-segment situation is detected, in which
+ * case no further processing is required.
+ * The implication of the above rule is that segments
+ * which can be a priori determined to <i>not</i> touch the ray
+ * (i.e. by a test of their bounding box or Y-extent)
+ * do not need to be counted. This allows for optimization by indexing.
+ *
+ * This version is non-robust, since it uses relies on double-precision arithmetic.
+ *
+ * @author Martin Davis
+ *
+ * @see RayCrossingCounter
+ *
+ */
+public class NonRobustRayCrossingCounter
+{
+ /**
+ * Determines the {@link Location} of a point in a ring.
+ * This method is an exemplar of how to use this class.
+ *
+ * @param p the point to test
+ * @param ring an array of Coordinates forming a ring
+ * @return the location of the point in the ring
+ */
+ public static int locatePointInRing(Coordinate p, Coordinate[] ring)
+ {
+ NonRobustRayCrossingCounter counter = new NonRobustRayCrossingCounter(p);
+
+ for (int i = 1; i < ring.length; i++) {
+ Coordinate p1 = ring[i];
+ Coordinate p2 = ring[i-1];
+ counter.countSegment(p1, p2);
+ if (counter.isOnSegment())
+ return counter.getLocation();
+ }
+ return counter.getLocation();
+ }
+
+ /**
+ * Determines the {@link Location} of a point in a ring.
+ *
+ * @param p
+ * the point to test
+ * @param ring
+ * a coordinate sequence forming a ring
+ * @return the location of the point in the ring
+ */
+ public static int locatePointInRing(Coordinate p, CoordinateSequence ring) {
+ NonRobustRayCrossingCounter counter = new NonRobustRayCrossingCounter(p);
+
+ Coordinate p1 = new Coordinate();
+ Coordinate p2 = new Coordinate();
+ for (int i = 1; i < ring.size(); i++) {
+ ring.getCoordinate(i, p1);
+ ring.getCoordinate(i - 1, p2);
+ counter.countSegment(p1, p2);
+ if (counter.isOnSegment())
+ return counter.getLocation();
+ }
+ return counter.getLocation();
+ }
+
+ private Coordinate p;
+ private int crossingCount = 0;
+ // true if the test point lies on an input segment
+ private boolean isPointOnSegment = false;
+
+ public NonRobustRayCrossingCounter(Coordinate p)
+ {
+ this.p = p;
+ }
+
+ /**
+ * Counts a segment
+ *
+ * @param p1 an endpoint of the segment
+ * @param p2 another endpoint of the segment
+ */
+ public void countSegment(Coordinate p1, Coordinate p2) {
+ /**
+ * For each segment, check if it crosses
+ * a horizontal ray running from the test point in the positive x direction.
+ */
+
+ // check if the segment is strictly to the left of the test point
+ if (p1.x < p.x && p2.x < p.x)
+ return;
+
+ // check if the point is equal to the current ring vertex
+ if (p.x == p2.x && p.y == p2.y) {
+ isPointOnSegment = true;
+ return;
+ }
+ /**
+ * For horizontal segments, check if the point is on the segment.
+ * Otherwise, horizontal segments are not counted.
+ */
+ if (p1.y == p.y && p2.y == p.y) {
+ double minx = p1.x;
+ double maxx = p2.x;
+ if (minx > maxx) {
+ minx = p2.x;
+ maxx = p1.x;
+ }
+ if (p.x >= minx && p.x <= maxx) {
+ isPointOnSegment = true;
+ }
+ return;
+ }
+ /**
+ * Evaluate all non-horizontal segments which cross a horizontal ray to the
+ * right of the test pt. To avoid double-counting shared vertices, we use the
+ * convention that
+ * <ul>
+ * <li>an upward edge includes its starting endpoint, and excludes its
+ * final endpoint
+ * <li>a downward edge excludes its starting endpoint, and includes its
+ * final endpoint
+ * </ul>
+ */
+ if (((p1.y > p.y) && (p2.y <= p.y))
+ || ((p2.y > p.y) && (p1.y <= p.y))) {
+ // translate the segment so that the test point lies on the origin
+ double x1 = p1.x - p.x;
+ double y1 = p1.y - p.y;
+ double x2 = p2.x - p.x;
+ double y2 = p2.y - p.y;
+
+ /**
+ * The translated segment straddles the x-axis. Compute the sign of the
+ * ordinate of intersection with the x-axis. (y2 != y1, so denominator
+ * will never be 0.0)
+ */
+ // double xIntSign = RobustDeterminant.signOfDet2x2(x1, y1, x2, y2) / (y2
+ // - y1);
+ // MD - faster & more robust computation?
+ double xIntSign = RobustDeterminant.signOfDet2x2(x1, y1, x2, y2);
+ if (xIntSign == 0.0) {
+ isPointOnSegment = true;
+ return;
+ }
+ if (y2 < y1)
+ xIntSign = -xIntSign;
+ // xsave = xInt;
+
+ //System.out.println("xIntSign(" + x1 + ", " + y1 + ", " + x2 + ", " + y2 + " = " + xIntSign);
+ // The segment crosses the ray if the sign is strictly positive.
+ if (xIntSign > 0.0) {
+ crossingCount++;
+ }
+ }
+ }
+
+/**
+ * Reports whether the point lies exactly on one of the supplied segments.
+ * This method may be called at any time as segments are processed.
+ * If the result of this method is <tt>true</tt>,
+ * no further segments need be supplied, since the result
+ * will never change again.
+ *
+ * @return true if the point lies exactly on a segment
+ */
+ public boolean isOnSegment() { return isPointOnSegment; }
+
+ /**
+ * Gets the {@link Location} of the point relative to
+ * the ring, polygon
+ * or multipolygon from which the processed segments were provided.
+ * <p>
+ * This method only determines the correct location
+ * if <b>all</b> relevant segments must have been processed.
+ *
+ * @return the Location of the point
+ */
+ public int getLocation()
+ {
+ if (isPointOnSegment)
+ return Location.BOUNDARY;
+
+ // The point is in the interior of the ring if the number of X-crossings is
+ // odd.
+ if ((crossingCount % 2) == 1) {
+ return Location.INTERIOR;
+ }
+ return Location.EXTERIOR;
+ }
+
+ /**
+ * Tests whether the point lies in or on
+ * the ring, polygon
+ * or multipolygon from which the processed segments were provided.
+ * <p>
+ * This method only determines the correct location
+ * if <b>all</b> relevant segments must have been processed.
+ *
+ * @return true if the point lies in or on the supplied polygon
+ */
+ public boolean isPointInPolygon()
+ {
+ return getLocation() != Location.EXTERIOR;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexFailureTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexFailureTest.java
new file mode 100644
index 0000000..aebb8ee
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexFailureTest.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests failure cases of CGAlgorithms.computeOrientation
+ * @version 1.7
+ */
+public class OrientationIndexFailureTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(OrientationIndexFailureTest.class);
+ }
+
+ public OrientationIndexFailureTest(String name) { super(name); }
+
+ /**
+ * This is included to confirm this test is operating correctly
+ * @throws Exception
+ */
+ public void testSanity() throws Exception
+ {
+ assertTrue(OrientationIndexTest.isAllOrientationsEqual(
+ OrientationIndexTest.getCoordinates("LINESTRING ( 0 0, 0 1, 1 1)")));
+ }
+
+ public void testBadCCW() throws Exception
+ {
+ // this case fails because subtraction of small from large loses precision
+ Coordinate[] pts = {
+ new Coordinate(1.4540766091864998, -7.989685402102996),
+ new Coordinate(23.131039116367354, -7.004368924503866),
+ new Coordinate(1.4540766091865, -7.989685402102996),
+ };
+ checkOrientation(pts);
+ }
+
+ public void testBadCCW2() throws Exception
+ {
+ // this case fails because subtraction of small from large loses precision
+ Coordinate[] pts = {
+ new Coordinate(219.3649559090992, 140.84159161824724),
+ new Coordinate(168.9018919682399, -5.713787599646864),
+ new Coordinate(186.80814046338352, 46.28973405831556),
+ };
+ checkOrientation(pts);
+ }
+
+ public void testBadCCW3() throws Exception
+ {
+ // this case fails because subtraction of small from large loses precision
+ Coordinate[] pts = {
+ new Coordinate(279.56857838488514, -186.3790522565901),
+ new Coordinate(-20.43142161511487, 13.620947743409914),
+ new Coordinate(0, 0)
+ };
+ checkOrientation(pts);
+ }
+
+ public void testBadCCW4() throws Exception
+ {
+ // from JTS list - 5/15/2012 strange case for the GeometryNoder
+ Coordinate[] pts = {
+ new Coordinate(-26.2, 188.7),
+ new Coordinate(37.0, 290.7),
+ new Coordinate(21.2, 265.2)
+ };
+ checkOrientation(pts);
+ }
+
+ public void testBadCCW5() throws Exception
+ {
+ // from JTS list - 6/15/2012 another case from Tomas Fa
+ Coordinate[] pts = {
+ new Coordinate(-5.9, 163.1),
+ new Coordinate(76.1, 250.7),
+ new Coordinate(14.6, 185)
+ //new Coordinate(96.6, 272.6)
+ };
+ checkOrientation(pts);
+ }
+
+ public void testBadCCW7() throws Exception
+ {
+ // from JTS list - 6/26/2012 another case from Tomas Fa
+ Coordinate[] pts = {
+ new Coordinate(-0.9575, 0.4511),
+ new Coordinate(-0.9295, 0.3291),
+ new Coordinate(-0.8945, 0.1766)
+ };
+ checkDD(pts, true);
+ checkShewchuk(pts, false);
+ checkOriginalJTS(pts, false);
+ }
+
+ public void testBadCCW7_2() throws Exception
+ {
+ // from JTS list - 6/26/2012 another case from Tomas Fa
+ // scale to integers - all methods work on this
+ Coordinate[] pts = {
+ new Coordinate(-9575, 4511),
+ new Coordinate(-9295, 3291),
+ new Coordinate(-8945, 1766)
+ };
+ checkDD(pts, true);
+ checkShewchuk(pts, true);
+ checkOriginalJTS(pts, true);
+ }
+
+
+ public void testBadCCW6() throws Exception
+ {
+ // from JTS Convex Hull "Almost collinear" unit test
+ Coordinate[] pts = {
+ new Coordinate(-140.8859438214298, 140.88594382142983),
+ new Coordinate(-57.309236848216706, 57.30923684821671),
+ new Coordinate(-190.9188309203678, 190.91883092036784)
+ };
+ checkOrientation(pts);
+ }
+
+ /**
+ * Shorthand method for most common case,
+ * where the high-precision methods work but JTS Robust algorithm fails.
+ * @param pts
+ */
+ void checkOrientation(Coordinate[] pts)
+ {
+ // this should succeed
+ checkDD(pts, true);
+ checkShewchuk(pts, true);
+
+ // this is expected to fail
+ checkOriginalJTS(pts, false);
+ }
+
+ private void checkShewchuk(Coordinate[] pts, boolean expected)
+ {
+ assertTrue("Shewchuk", expected == isAllOrientationsEqualSD(pts));
+ }
+
+ private void checkOriginalJTS(Coordinate[] pts, boolean expected)
+ {
+ assertTrue("JTS RobustDeterminant FAIL", expected == isAllOrientationsEqualRD(pts));
+ }
+
+ private void checkDD(Coordinate[] pts, boolean expected)
+ {
+ assertTrue("DD", expected == isAllOrientationsEqualDD(pts));
+ }
+
+ public static boolean isAllOrientationsEqual(
+ double p0x, double p0y,
+ double p1x, double p1y,
+ double p2x, double p2y)
+ {
+ Coordinate[] pts = {
+ new Coordinate(p0x, p0y),
+ new Coordinate(p1x, p1y),
+ new Coordinate(p2x, p2y)
+ };
+ if (! isAllOrientationsEqualDD(pts))
+ throw new IllegalStateException("High-precision orientation computation FAILED");
+ return OrientationIndexTest.isAllOrientationsEqual(pts);
+ }
+
+ public static boolean isAllOrientationsEqualDD(Coordinate[] pts)
+ {
+ int orient0 = CGAlgorithmsDD.orientationIndex(pts[0], pts[1], pts[2]);
+ int orient1 = CGAlgorithmsDD.orientationIndex(pts[1], pts[2], pts[0]);
+ int orient2 = CGAlgorithmsDD.orientationIndex(pts[2], pts[0], pts[1]);
+ return orient0 == orient1 && orient0 == orient2;
+ }
+
+ public static boolean isAllOrientationsEqualSD(Coordinate[] pts)
+ {
+ int orient0 = ShewchuksDeterminant.orientationIndex(pts[0], pts[1], pts[2]);
+ int orient1 = ShewchuksDeterminant.orientationIndex(pts[1], pts[2], pts[0]);
+ int orient2 = ShewchuksDeterminant.orientationIndex(pts[2], pts[0], pts[1]);
+ return orient0 == orient1 && orient0 == orient2;
+ }
+
+ public static boolean isAllOrientationsEqualRD(Coordinate[] pts)
+ {
+ int[] orient = new int[3];
+ orient[0] = RobustDeterminant.orientationIndex(pts[0], pts[1], pts[2]);
+ orient[1] = RobustDeterminant.orientationIndex(pts[1], pts[2], pts[0]);
+ orient[2] = RobustDeterminant.orientationIndex(pts[2], pts[0], pts[1]);
+ return orient[0] == orient[1] && orient[0] == orient[2];
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexTest.java
new file mode 100644
index 0000000..d8d61e7
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/OrientationIndexTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests CGAlgorithms.computeOrientation
+ * @version 1.7
+ */
+public class OrientationIndexTest
+ extends TestCase
+{
+
+ private static WKTReader reader = new WKTReader();
+ //private CGAlgorithms rcga = new CGAlgorithms();
+
+ public static void main(String args[]) {
+ TestRunner.run(OrientationIndexTest.class);
+ }
+
+ public OrientationIndexTest(String name) { super(name); }
+
+ public void testCCW() throws Exception
+ {
+ assertTrue(isAllOrientationsEqual(getCoordinates("LINESTRING ( 0 0, 0 1, 1 1)")));
+ }
+
+ public void testCCW2() throws Exception
+ {
+ // experimental case - can't make it fail
+ Coordinate[] pts2 = {
+ new Coordinate(1.0000000000004998, -7.989685402102996),
+ new Coordinate(10.0, -7.004368924503866),
+ new Coordinate(1.0000000000005, -7.989685402102996),
+ };
+ assertTrue(isAllOrientationsEqual(pts2));
+ }
+
+ public void testOrientationIndexRobust() throws Exception
+ {
+ Coordinate p0 = new Coordinate(219.3649559090992, 140.84159161824724);
+ Coordinate p1 = new Coordinate(168.9018919682399, -5.713787599646864);
+ Coordinate p = new Coordinate(186.80814046338352, 46.28973405831556);
+ int orient = Orientation.index(p0, p1, p);
+ int orientInv = Orientation.index(p1, p0, p);
+ assert(orient != orientInv);
+ }
+ /**
+ * Tests whether the orientations around a triangle of points
+ * are all equal (as is expected if the orientation predicate is correct)
+ *
+ * @param pts an array of three points
+ * @return true if all the orientations around the triangle are equal
+ */
+ public static boolean isAllOrientationsEqual(Coordinate[] pts)
+ {
+ int[] orient = new int[3];
+ orient[0] = Orientation.index(pts[0], pts[1], pts[2]);
+ orient[1] = Orientation.index(pts[1], pts[2], pts[0]);
+ orient[2] = Orientation.index(pts[2], pts[0], pts[1]);
+ return orient[0] == orient[1] && orient[0] == orient[2];
+ }
+
+ public static boolean isAllOrientationsEqual(
+ double p0x, double p0y,
+ double p1x, double p1y,
+ double p2x, double p2y)
+ {
+ Coordinate[] pts = {
+ new Coordinate(p0x, p0y),
+ new Coordinate(p1x, p1y),
+ new Coordinate(p2x, p2y)
+ };
+ return isAllOrientationsEqual(pts);
+ }
+
+ public static Coordinate[] getCoordinates(String wkt)
+ throws ParseException
+ {
+ Geometry geom = reader.read(wkt);
+ return geom.getCoordinates();
+ }
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/PerturbedGridPolygonBuilder.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/PerturbedGridPolygonBuilder.java
new file mode 100644
index 0000000..434e096
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/PerturbedGridPolygonBuilder.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import java.util.Random;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+
+
+
+public class PerturbedGridPolygonBuilder
+{
+ private GeometryFactory geomFactory;
+ private double gridWidth = 1000;
+ private int numLines = 10;
+ private double lineWidth = 20;
+
+ private long seed = 0;
+ private Random rand;
+
+ private Geometry grid;
+
+ public PerturbedGridPolygonBuilder(GeometryFactory geomFactory)
+ {
+ this.geomFactory = geomFactory;
+ seed = System.currentTimeMillis();
+ }
+
+ public void setSeed(long seed)
+ {
+ this.seed = seed;
+ }
+
+ public void setNumLines(int numLines)
+ {
+ this.numLines = numLines;
+ }
+
+ public void setLineWidth(double lineWidth)
+ {
+ this.lineWidth = lineWidth;
+ }
+
+ public Geometry getGeometry()
+ {
+ if (grid == null)
+ grid = buildGrid();
+ return grid;
+ }
+
+ private Geometry buildGrid()
+ {
+ LineString[] lines = new LineString[numLines * 2];
+ int index = 0;
+
+ for (int i = 0; i < numLines; i++) {
+ Coordinate p0 = new Coordinate(getRandOrdinate(), 0);
+ Coordinate p1 = new Coordinate(getRandOrdinate(), gridWidth);
+ LineString line = geomFactory.createLineString(
+ new Coordinate[] { p0, p1 });
+ lines[index++] = line;
+ }
+
+ for (int i = 0; i < numLines; i++) {
+ Coordinate p0 = new Coordinate(0, getRandOrdinate());
+ Coordinate p1 = new Coordinate(gridWidth, getRandOrdinate());
+ LineString line = geomFactory.createLineString(
+ new Coordinate[] { p0, p1 });
+ lines[index++] = line;
+ }
+
+ MultiLineString ml = geomFactory.createMultiLineString(lines);
+ Geometry grid = ml.buffer(lineWidth);
+ //System.out.println(grid);
+ return grid;
+
+ }
+
+ private double getRand()
+ {
+ if (rand == null) {
+ //System.out.println("Seed = " + seed);
+ rand = new Random(seed);
+ }
+ return rand.nextDouble();
+ }
+
+
+ private double getRandOrdinate()
+ {
+ double randNum = getRand();
+ double ord = geomFactory.getPrecisionModel().makePrecise(randNum * gridWidth);
+ return ord;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/PointInRingTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointInRingTest.java
new file mode 100644
index 0000000..ca5bdcd
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointInRingTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests PointInRing algorithms
+ *
+ * @version 1.7
+ */
+public class PointInRingTest extends AbstractPointInRingTest {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(PointInRingTest.class);
+ }
+
+ public PointInRingTest(String name) { super(name); }
+
+
+ protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception
+ {
+ // isPointInRing is not defined for pts on boundary
+ if (expectedLoc == Location.BOUNDARY)
+ return;
+
+ Geometry geom = reader.read(wkt);
+ boolean expected = expectedLoc == Location.INTERIOR;
+ assertEquals(expected, PointLocation.isInRing(pt, geom.getCoordinates()));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocationOnLineTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocationOnLineTest.java
new file mode 100644
index 0000000..5eede0c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocationOnLineTest.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+/**
+ * Tests {@link PointLocation#isOnLine(Coordinate, Coordinate[])}.
+ *
+ * @version 1.15
+ */
+public class PointLocationOnLineTest extends GeometryTestCase {
+ public static void main(String args[]) {
+ TestRunner.run(PointLocationOnLineTest.class);
+ }
+
+ public PointLocationOnLineTest(String name) {
+ super(name);
+ }
+
+ public void testOnVertex() throws Exception {
+ checkOnLine(20, 20, "LINESTRING (0 00, 20 20, 30 30)", true);
+ }
+
+ public void testOnSegment() throws Exception {
+ checkOnLine(10, 10, "LINESTRING (0 0, 20 20, 0 40)", true);
+ checkOnLine(10, 30, "LINESTRING (0 0, 20 20, 0 40)", true);
+ }
+
+ public void testNotOnLine() throws Exception {
+ checkOnLine(0, 100, "LINESTRING (10 10, 20 10, 30 10)", false);
+ }
+
+ void checkOnLine(double x, double y, String wktLine, boolean expected) {
+ LineString line = (LineString) read(wktLine);
+ assertTrue(expected == PointLocation.isOnLine(new Coordinate(x,y), line.getCoordinates()));
+
+ assertTrue(expected == PointLocation.isOnLine(new Coordinate(x,y), line.getCoordinateSequence()));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocatorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocatorTest.java
new file mode 100644
index 0000000..deeeb64
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/PointLocatorTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests PointInRing algorithms
+ *
+ * @version 1.7
+ */
+public class PointLocatorTest extends TestCase {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(PointLocatorTest.class);
+ }
+
+ public PointLocatorTest(String name) { super(name); }
+
+ public void testBox() throws Exception
+ {
+ runPtLocator(Location.INTERIOR, new Coordinate(10, 10),
+"POLYGON ((0 0, 0 20, 20 20, 20 0, 0 0))");
+ }
+
+ public void testComplexRing() throws Exception
+ {
+ runPtLocator(Location.INTERIOR, new Coordinate(0, 0),
+"POLYGON ((-40 80, -40 -80, 20 0, 20 -100, 40 40, 80 -80, 100 80, 140 -20, 120 140, 40 180, 60 40, 0 120, -20 -20, -40 80))");
+ }
+
+ public void testPointLocatorLinearRingLineString() throws Exception
+ {
+ runPtLocator(Location.BOUNDARY, new Coordinate(0, 0),
+ "GEOMETRYCOLLECTION( LINESTRING(0 0, 10 10), LINEARRING(10 10, 10 20, 20 10, 10 10))");
+ }
+
+ public void testPointLocatorPointInsideLinearRing() throws Exception
+ {
+ runPtLocator(Location.EXTERIOR, new Coordinate(11, 11),
+ "LINEARRING(10 10, 10 20, 20 10, 10 10)");
+ }
+
+ private void runPtLocator(int expected, Coordinate pt, String wkt)
+ throws Exception
+ {
+ Geometry geom = reader.read(wkt);
+ PointLocator pointLocator = new PointLocator();
+ int loc = pointLocator.locate(pt, geom);
+ assertEquals(expected, loc);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/RayCrossingCounterTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/RayCrossingCounterTest.java
new file mode 100644
index 0000000..750d84d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/RayCrossingCounterTest.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests PointInRing algorithms
+ *
+ * @version 1.7
+ */
+public class RayCrossingCounterTest extends AbstractPointInRingTest {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(RayCrossingCounterTest.class);
+ }
+
+ public RayCrossingCounterTest(String name) { super(name); }
+
+ protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception
+ {
+ Geometry geom = reader.read(wkt);
+ assertEquals(expectedLoc, RayCrossingCounter.locatePointInRing(pt, geom.getCoordinates()));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/RectangleLineIntersectorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/RectangleLineIntersectorTest.java
new file mode 100644
index 0000000..da9965a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/RectangleLineIntersectorTest.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class RectangleLineIntersectorTest
+extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(RectangleLineIntersectorTest.class);
+ }
+
+ public RectangleLineIntersectorTest(String name) { super(name); }
+
+ public void test300Points() {
+ RectangleLineIntersectorValidator test = new RectangleLineIntersectorValidator();
+ test.init(300);
+ assertTrue(test.validate());
+ }
+}
+
+/**
+ * Tests optimized RectangleLineIntersector against
+ * a brute force approach (which is assumed to be correct).
+ *
+ * @author Martin Davis
+ *
+ */
+class RectangleLineIntersectorValidator
+{
+ private GeometryFactory geomFact = new GeometryFactory();
+
+ private double baseX = 0;
+ private double baseY = 0;
+ private double rectSize = 100;
+ private Envelope rectEnv;
+ private Coordinate[] pts;
+ private boolean isValid = true;
+
+ public RectangleLineIntersectorValidator()
+ {
+
+ }
+
+ public void init(int nPts)
+ {
+ rectEnv = createRectangle();
+ pts = createTestPoints(nPts);
+
+ }
+
+ public boolean validate()
+ {
+ run(true, true);
+ return isValid;
+ }
+
+ public void run(boolean useSegInt, boolean useSideInt)
+ {
+ RectangleLineIntersector rectSegIntersector = new RectangleLineIntersector(rectEnv);
+ SimpleRectangleIntersector rectSideIntersector = new SimpleRectangleIntersector(rectEnv);
+
+ for (int i = 0; i < pts.length; i++) {
+ for (int j = 0; j < pts.length; j++) {
+ if (i == j) continue;
+
+ boolean segResult = false;
+ if (useSegInt)
+ segResult = rectSegIntersector.intersects(pts[i], pts[j]);
+ boolean sideResult = false;
+ if (useSideInt)
+ sideResult = rectSideIntersector.intersects(pts[i], pts[j]);
+
+ if (useSegInt && useSideInt)
+ {
+ if (segResult != sideResult)
+ isValid = false;
+ }
+ }
+ }
+ }
+
+ private Coordinate[] createTestPoints(int nPts)
+ {
+ Point pt = geomFact.createPoint(new Coordinate(baseX, baseY));
+ Geometry circle = pt.buffer(2 * rectSize, nPts/4);
+ return circle.getCoordinates();
+ }
+
+ private Envelope createRectangle()
+ {
+ Envelope rectEnv = new Envelope(
+ new Coordinate(baseX, baseY),
+ new Coordinate(baseX + rectSize, baseY + rectSize));
+ return rectEnv;
+ }
+
+}
+
+class SimpleRectangleIntersector
+{
+ // for intersection testing, don't need to set precision model
+ private LineIntersector li = new RobustLineIntersector();
+
+ private Envelope rectEnv;
+ /**
+ * The corners of the rectangle, in the order:
+ * 10
+ * 23
+ */
+ private Coordinate[] corner = new Coordinate[4];
+
+ public SimpleRectangleIntersector(Envelope rectEnv)
+ {
+ this.rectEnv = rectEnv;
+ initCorners(rectEnv);
+ }
+
+ private void initCorners(Envelope rectEnv)
+ {
+ corner[0] = new Coordinate(rectEnv.getMaxX(), rectEnv.getMaxY());
+ corner[1] = new Coordinate(rectEnv.getMinX(), rectEnv.getMaxY());
+ corner[2] = new Coordinate(rectEnv.getMinX(), rectEnv.getMinY());
+ corner[3] = new Coordinate(rectEnv.getMaxX(), rectEnv.getMinY());
+ }
+
+ public boolean intersects(Coordinate p0, Coordinate p1)
+ {
+ Envelope segEnv = new Envelope(p0, p1);
+ if (! rectEnv.intersects(segEnv))
+ return false;
+
+ li.computeIntersection(p0, p1, corner[0], corner[1]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[1], corner[2]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[2], corner[3]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[3], corner[0]);
+ if (li.hasIntersection()) return true;
+
+ return false;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectionTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectionTest.java
new file mode 100644
index 0000000..29d87fc
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectionTest.java
@@ -0,0 +1,368 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests robustness and correctness of RobustLineIntersector
+ * in some tricky cases.
+ * Failure modes can include exceptions thrown, or incorrect
+ * results returned.
+ *
+ * @author Owner
+ *
+ */
+public class RobustLineIntersectionTest
+extends TestCase
+{
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(RobustLineIntersectionTest.class);
+ }
+
+ public RobustLineIntersectionTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Following cases were failures when using the CentralEndpointIntersector heuristic.
+ * This is because one segment lies at a significant angle to the other,
+ * with only one endpoint is close to the other segment.
+ * The CE heuristic chose the wrong endpoint to return.
+ * The fix is to use a new heuristic which out of the 4 endpoints
+ * chooses the one which is closest to the other segment.
+ * This works in all known failure cases.
+ *
+ * @throws ParseException
+ */
+ public void testCentralEndpointHeuristicFailure()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (163.81867067 -211.31840378, 165.9174252 -214.1665075)",
+ "LINESTRING (2.84139601 -57.95412726, 469.59990601 -502.63851732)",
+ 1,
+ "POINT (163.81867067 -211.31840378)",
+ 0);
+ }
+
+ public void testCentralEndpointHeuristicFailure2()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (-58.00593335955 -1.43739086465, -513.86101637525 -457.29247388035)",
+ "LINESTRING (-215.22279674875 -158.65425425385, -218.1208801283 -160.68343590235)",
+ 1,
+ "POINT ( -215.22279674875 -158.65425425385 )",
+ 0);
+ }
+
+ /**
+ * Tests a case where intersection point is rounded,
+ * and it is computed as a nearest endpoint.
+ * Exposed a bug due to aliasing of endpoint.
+ *
+ * MD 8 Mar 2013
+ *
+ * @throws ParseException
+ */
+ public void testRoundedPointsNotAltered()
+ throws ParseException
+ {
+ checkInputNotAltered(
+ "LINESTRING (-58.00593335955 -1.43739086465, -513.86101637525 -457.29247388035)",
+ "LINESTRING (-215.22279674875 -158.65425425385, -218.1208801283 -160.68343590235)",
+ 100000 );
+ }
+
+
+ /**
+ * Test from Tomas Fa - JTS list 6/13/2012
+ *
+ * Fails using original JTS DeVillers determine orientation test.
+ * Succeeds using DD and Shewchuk orientation
+ *
+ * @throws ParseException
+ */
+ public void testTomasFa_1()
+ throws ParseException
+ {
+ checkIntersectionNone(
+ "LINESTRING (-42.0 163.2, 21.2 265.2)",
+ "LINESTRING (-26.2 188.7, 37.0 290.7)");
+ }
+
+ /**
+ * Test from Tomas Fa - JTS list 6/13/2012
+ *
+ * Fails using original JTS DeVillers determine orientation test.
+ * Succeeds using DD and Shewchuk orientation
+ *
+ * @throws ParseException
+ */
+ public void testTomasFa_2()
+ throws ParseException
+ {
+ checkIntersectionNone(
+ "LINESTRING (-5.9 163.1, 76.1 250.7)",
+ "LINESTRING (14.6 185.0, 96.6 272.6)");
+ }
+
+ /**
+ * Test involving two non-almost-parallel lines.
+ * Does not seem to cause problems with basic line intersection algorithm.
+ *
+ * @throws ParseException
+ */
+ public void testLeduc_1()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (305690.0434123494 254176.46578338774, 305601.9999843455 254243.19999846347)",
+ "LINESTRING (305689.6153764265 254177.33102743194, 305692.4999844298 254171.4999983967)",
+ 1,
+ "POINT (305690.0434123494 254176.46578338774)",
+ 0);
+ }
+
+ /**
+ * Test from strk which is bad in GEOS (2009-04-14).
+ *
+ * @throws ParseException
+ */
+ public void testGEOS_1()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (588750.7429703881 4518950.493668233, 588748.2060409798 4518933.9452804085)",
+ "LINESTRING (588745.824857241 4518940.742239175, 588748.2060437313 4518933.9452791475)",
+ 1,
+ "POINT (588748.2060416829 4518933.945284994)",
+ 0);
+ }
+
+ /**
+ * Test from strk which is bad in GEOS (2009-04-14).
+ *
+ * @throws ParseException
+ */
+ public void testGEOS_2()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (588743.626135934 4518924.610969561, 588732.2822865889 4518925.4314047815)",
+ "LINESTRING (588739.1191384895 4518927.235700594, 588731.7854614238 4518924.578370095)",
+ 1,
+ "POINT (588733.8306132929 4518925.319423238)",
+ 0);
+ }
+
+ /**
+ * This used to be a failure case (exception), but apparently works now.
+ * Possibly normalization has fixed this?
+ *
+ * @throws ParseException
+ */
+ public void testDaveSkeaCase()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING ( 2089426.5233462777 1180182.3877339689, 2085646.6891757075 1195618.7333999649 )",
+ "LINESTRING ( 1889281.8148903656 1997547.0560044837, 2259977.3672235999 483675.17050843034 )",
+ 1,
+ new Coordinate[] {
+ new Coordinate(2087536.6062609926, 1187900.560566967),
+ }, 0);
+ }
+
+ /**
+ * Outside envelope using HCoordinate method.
+ *
+ * @throws ParseException
+ */
+ public void testCmp5CaseWKT()
+ throws ParseException
+ {
+ checkIntersection(
+ "LINESTRING (4348433.262114629 5552595.478385733, 4348440.849387404 5552599.272022122 )",
+ "LINESTRING (4348433.26211463 5552595.47838573, 4348440.8493874 5552599.27202212 )",
+ 1,
+ new Coordinate[] {
+ new Coordinate(4348440.8493874, 5552599.27202212),
+ },
+ 0);
+ }
+
+ /**
+ * Result of this test should be the same as the WKT one!
+ * @throws ParseException
+ */
+ public void testCmp5CaseRaw()
+ throws ParseException
+ {
+ checkIntersection(
+ new Coordinate[] {
+ new Coordinate(4348433.262114629, 5552595.478385733),
+ new Coordinate(4348440.849387404, 5552599.272022122),
+
+ new Coordinate(4348433.26211463, 5552595.47838573),
+ new Coordinate(4348440.8493874, 5552599.27202212)
+ }, 1,
+ new Coordinate[] {
+ new Coordinate(4348440.8493874, 5552599.27202212),
+ },
+ 0);
+ }
+
+ void checkIntersectionNone(String wkt1, String wkt2)
+ throws ParseException
+ {
+ LineString l1 = (LineString) reader.read(wkt1);
+ LineString l2 = (LineString) reader.read(wkt2);
+ Coordinate[] pt = new Coordinate[] {
+ l1.getCoordinateN(0), l1.getCoordinateN(1),
+ l2.getCoordinateN(0), l2.getCoordinateN(1)
+ };
+ checkIntersection(pt, 0, null, 0);
+ }
+
+ void checkIntersection(String wkt1, String wkt2,
+ int expectedIntersectionNum,
+ Coordinate[] intPt,
+ double distanceTolerance)
+ throws ParseException
+ {
+ LineString l1 = (LineString) reader.read(wkt1);
+ LineString l2 = (LineString) reader.read(wkt2);
+ Coordinate[] pt = new Coordinate[] {
+ l1.getCoordinateN(0), l1.getCoordinateN(1),
+ l2.getCoordinateN(0), l2.getCoordinateN(1)
+ };
+ checkIntersection(pt, expectedIntersectionNum, intPt, distanceTolerance);
+ }
+
+ void checkIntersection(String wkt1, String wkt2,
+ int expectedIntersectionNum,
+ String expectedWKT,
+ double distanceTolerance)
+ throws ParseException
+ {
+ LineString l1 = (LineString) reader.read(wkt1);
+ LineString l2 = (LineString) reader.read(wkt2);
+ Coordinate[] pt = new Coordinate[] {
+ l1.getCoordinateN(0), l1.getCoordinateN(1),
+ l2.getCoordinateN(0), l2.getCoordinateN(1)
+ };
+ Geometry g = reader.read(expectedWKT);
+ Coordinate[] intPt = g.getCoordinates();
+ checkIntersection(pt, expectedIntersectionNum, intPt, distanceTolerance);
+ }
+
+ /**
+ * Check that intersection of segment defined by points in pt array
+ * is equal to the expectedIntPt value (up to the given distanceTolerance).
+ *
+ * @param pt
+ * @param expectedIntersectionNum
+ * @param expectedIntPt the expected intersection points (maybe null if not tested)
+ * @param distanceTolerance tolerance to use for equality test
+ */
+ void checkIntersection(Coordinate[] pt,
+ int expectedIntersectionNum,
+ Coordinate[] expectedIntPt,
+ double distanceTolerance)
+ {
+ LineIntersector li = new RobustLineIntersector();
+ li.computeIntersection(pt[0], pt[1], pt[2], pt[3]);
+
+ int intNum = li.getIntersectionNum();
+ assertEquals("Number of intersections not as expected", expectedIntersectionNum, intNum);
+
+ if (expectedIntPt != null) {
+ assertEquals("Wrong number of expected int pts provided", intNum, expectedIntPt.length);
+ // test that both points are represented here
+ boolean isIntPointsCorrect = true;
+ if (intNum == 1) {
+ checkIntPoints(expectedIntPt[0], li.getIntersection(0), distanceTolerance);
+ }
+ else if (intNum == 2) {
+ checkIntPoints(expectedIntPt[1], li.getIntersection(0), distanceTolerance);
+ checkIntPoints(expectedIntPt[1], li.getIntersection(0), distanceTolerance);
+
+ if (! (equals(expectedIntPt[0],li.getIntersection(0), distanceTolerance)
+ || equals(expectedIntPt[0],li.getIntersection(1), distanceTolerance) )) {
+ checkIntPoints(expectedIntPt[0], li.getIntersection(0), distanceTolerance);
+ checkIntPoints(expectedIntPt[0], li.getIntersection(1), distanceTolerance);
+ }
+ else if (! (equals(expectedIntPt[1],li.getIntersection(0), distanceTolerance)
+ || equals(expectedIntPt[1],li.getIntersection(1), distanceTolerance) )) {
+ checkIntPoints(expectedIntPt[1], li.getIntersection(0), distanceTolerance);
+ checkIntPoints(expectedIntPt[1], li.getIntersection(1), distanceTolerance);
+ }
+ }
+ }
+ }
+
+ void checkIntPoints(Coordinate expectedPt, Coordinate actualPt, double distanceTolerance)
+ {
+ boolean isEqual = equals(expectedPt, actualPt, distanceTolerance);
+ assertTrue("Int Pts not equal - "
+ + "expected " + WKTWriter.toPoint(expectedPt) + " VS "
+ + "actual " + WKTWriter.toPoint(actualPt), isEqual);
+ }
+
+ public static boolean equals(Coordinate p0, Coordinate p1, double distanceTolerance)
+ {
+ return p0.distance(p1) <= distanceTolerance;
+ }
+
+ void checkInputNotAltered(String wkt1, String wkt2, int scaleFactor) throws ParseException
+ {
+ LineString l1 = (LineString) reader.read(wkt1);
+ LineString l2 = (LineString) reader.read(wkt2);
+ Coordinate[] pt = new Coordinate[] { l1.getCoordinateN(0),
+ l1.getCoordinateN(1), l2.getCoordinateN(0), l2.getCoordinateN(1) };
+ checkInputNotAltered(pt, scaleFactor);
+ }
+
+ public void checkInputNotAltered(Coordinate[] pt, int scaleFactor)
+ {
+ // save input points
+ Coordinate[] savePt = new Coordinate[4];
+ for (int i = 0; i < 4; i++) {
+ savePt[i] = new Coordinate(pt[i]);
+ }
+
+ LineIntersector li = new RobustLineIntersector();
+ li.setPrecisionModel(new PrecisionModel(scaleFactor));
+ li.computeIntersection(pt[0], pt[1], pt[2], pt[3]);
+
+ // check that input points are unchanged
+ for (int i = 0; i < 4; i++) {
+ assertEquals("Input point " + i + " was altered - ", savePt[i], pt[i]);
+ }
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectorTest.java
new file mode 100644
index 0000000..fd61d55
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/RobustLineIntersectorTest.java
@@ -0,0 +1,161 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * Basic functionality tests for RobustLineIntersector.
+ *
+ * @version 1.7
+ */
+public class RobustLineIntersectorTest extends TestCase {
+
+ RobustLineIntersector i = new RobustLineIntersector();
+
+ public RobustLineIntersectorTest(String Name_) {
+ super(Name_);
+ }//public RobustLineIntersectorTest(String Name_)
+
+ public static void main(String[] args) {
+ String[] testCaseName = {RobustLineIntersectorTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }//public static void main(String[] args)
+
+ public void test2Lines() {
+ RobustLineIntersector i = new RobustLineIntersector();
+ Coordinate p1 = new Coordinate(10, 10);
+ Coordinate p2 = new Coordinate(20, 20);
+ Coordinate q1 = new Coordinate(20, 10);
+ Coordinate q2 = new Coordinate(10, 20);
+ Coordinate x = new Coordinate(15, 15);
+ i.computeIntersection(p1, p2, q1, q2);
+ assertEquals(RobustLineIntersector.POINT_INTERSECTION, i.getIntersectionNum());
+ assertEquals(1, i.getIntersectionNum());
+ assertEquals(x, i.getIntersection(0));
+ assertTrue(i.isProper());
+ assertTrue(i.hasIntersection());
+ }
+
+ public void testCollinear1() {
+ RobustLineIntersector i = new RobustLineIntersector();
+ Coordinate p1 = new Coordinate(10, 10);
+ Coordinate p2 = new Coordinate(20, 10);
+ Coordinate q1 = new Coordinate(22, 10);
+ Coordinate q2 = new Coordinate(30, 10);
+ i.computeIntersection(p1, p2, q1, q2);
+ assertEquals(RobustLineIntersector.NO_INTERSECTION, i.getIntersectionNum());
+ assertTrue(!i.isProper());
+ assertTrue(!i.hasIntersection());
+ }
+
+ public void testCollinear2() {
+ RobustLineIntersector i = new RobustLineIntersector();
+ Coordinate p1 = new Coordinate(10, 10);
+ Coordinate p2 = new Coordinate(20, 10);
+ Coordinate q1 = new Coordinate(20, 10);
+ Coordinate q2 = new Coordinate(30, 10);
+ i.computeIntersection(p1, p2, q1, q2);
+ assertEquals(RobustLineIntersector.POINT_INTERSECTION, i.getIntersectionNum());
+ assertTrue(!i.isProper());
+ assertTrue(i.hasIntersection());
+ }
+
+ public void testCollinear3() {
+ RobustLineIntersector i = new RobustLineIntersector();
+ Coordinate p1 = new Coordinate(10, 10);
+ Coordinate p2 = new Coordinate(20, 10);
+ Coordinate q1 = new Coordinate(15, 10);
+ Coordinate q2 = new Coordinate(30, 10);
+ i.computeIntersection(p1, p2, q1, q2);
+ assertEquals(RobustLineIntersector.COLLINEAR_INTERSECTION, i.getIntersectionNum());
+ assertTrue(!i.isProper());
+ assertTrue(i.hasIntersection());
+ }
+
+ public void testCollinear4() {
+ RobustLineIntersector i = new RobustLineIntersector();
+ Coordinate p1 = new Coordinate(30, 10);
+ Coordinate p2 = new Coordinate(20, 10);
+ Coordinate q1 = new Coordinate(10, 10);
+ Coordinate q2 = new Coordinate(30, 10);
+ i.computeIntersection(p1, p2, q1, q2);
+ assertEquals(RobustLineIntersector.COLLINEAR_INTERSECTION, i.getIntersectionNum());
+ assertTrue(i.hasIntersection());
+ }
+
+ public void testEndpointIntersection() {
+ i.computeIntersection(new Coordinate(100, 100), new Coordinate(10, 100),
+ new Coordinate(100, 10), new Coordinate(100, 100));
+ assertTrue(i.hasIntersection());
+ assertEquals(1, i.getIntersectionNum());
+ }
+
+ public void testEndpointIntersection2() {
+ i.computeIntersection(new Coordinate(190, 50), new Coordinate(120, 100),
+ new Coordinate(120, 100), new Coordinate(50, 150));
+ assertTrue(i.hasIntersection());
+ assertEquals(1, i.getIntersectionNum());
+ assertEquals(new Coordinate(120, 100), i.getIntersection(1));
+ }
+
+ public void testOverlap() {
+ i.computeIntersection(new Coordinate(180, 200), new Coordinate(160, 180),
+ new Coordinate(220, 240), new Coordinate(140, 160));
+ assertTrue(i.hasIntersection());
+ assertEquals(2, i.getIntersectionNum());
+ }
+
+ public void testIsProper1() {
+ i.computeIntersection(new Coordinate(30, 10), new Coordinate(30, 30),
+ new Coordinate(10, 10), new Coordinate(90, 11));
+ assertTrue(i.hasIntersection());
+ assertEquals(1, i.getIntersectionNum());
+ assertTrue(i.isProper());
+ }
+
+ public void testIsProper2() {
+ i.computeIntersection(new Coordinate(10, 30), new Coordinate(10, 0),
+ new Coordinate(11, 90), new Coordinate(10, 10));
+ assertTrue(i.hasIntersection());
+ assertEquals(1, i.getIntersectionNum());
+ assertTrue(! i.isProper());
+ }
+
+ public void testIsCCW() {
+ assertEquals(1, Orientation.index(new Coordinate(-123456789, -40), new Coordinate(0, 0), new Coordinate(381039468754763d, 123456789)));
+ }
+
+ public void testIsCCW2() {
+ assertEquals(0, Orientation.index(new Coordinate(10, 10), new Coordinate(20, 20), new Coordinate(0, 0)));
+ }
+
+ public void testA() {
+ Coordinate p1 = new Coordinate(-123456789, -40);
+ Coordinate p2 = new Coordinate(381039468754763d, 123456789);
+ Coordinate q = new Coordinate(0, 0);
+ LineString l = new GeometryFactory().createLineString(new Coordinate[] {p1, p2});
+ Point p = new GeometryFactory().createPoint(q);
+ assertEquals(false, l.intersects(p));
+ assertEquals(false, PointLocation.isOnLine(q, new Coordinate[] {p1, p2}));
+ assertEquals(-1, Orientation.index(p1, p2, q));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/ShewchuksDeterminant.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/ShewchuksDeterminant.java
new file mode 100644
index 0000000..74eb1dc
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/ShewchuksDeterminant.java
@@ -0,0 +1,798 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+
+/**
+ * This implementation is a port of Shewchuks original implementation in c
+ * which is placed in the public domain:
+ *
+ * [...]
+ * Placed in the public domain by
+ * Jonathan Richard Shewchuk
+ * School of Computer Science
+ * Carnegie Mellon University
+ * 5000 Forbes Avenue
+ * Pittsburgh, Pennsylvania 15213-3891
+ * jrs at cs.cmu.edu
+ * [...]
+ *
+ * See http://www.cs.cmu.edu/~quake/robust.html for information about the original implementation
+ *
+ * The strategy used during porting has been to resemble the original as much as possible in order to
+ * be able to proofread the result. This strategy has not been followed in the following cases:
+ *
+ * - function "exactinit" has been replaced by a static block, in order to ensure that the code is only
+ * executed once.
+ *
+ * - The main part of the so called "tail" functions has been removed in favor to "head" functions. This means
+ * that all calls to such a main functions has been replaced with on call to the head function and one call
+ * to the tail function. The rationale for this is that the corresponding source macros has multiple output parameters
+ * which is not supported in Java. Using objects to pass the results to the caller was not considered for performance
+ * reasons. It is assumed that the extra allocations of memory would affect performance negatively.
+ *
+ * - The porting of the two_two_diff methods and the other methods involved was tricky since the original macros
+ * had lots of output parameters. These methods has the highest probability of bugs as a result of the porting
+ * operation. Each original function(macro) has been replaced with one method for each output parameter. They are
+ * named as *__x0, *__x2 etc. where the postfix is named after the original output parameter in the SOURCE CODE.
+ * The rational for the naming has been to facilitate proofreading. Each of these methods has an annotation above
+ * it that shows the original macro.
+ *
+ * - One bug has been found in the original source. The use of the prefix incrementation operator in
+ * fast_expansion_sum_zeroelim caused the code to access memory outside of the array boundary. This is not
+ * allowed in Java which is the reason why this bug was discovered. It is unclear if the code worked correctly
+ * as a compiled c-program. It has been confirmed by valgrind that this actually happens in the original code.
+ * The author of the original code has been contacted, and we are waiting for an answer. All occurrences of the
+ * prefix incrementation operator in that function have been replaced with the postfix version. This change looks
+ * reasonable by a quick look at the code, but this needs to be more thoroughly analyzed.
+ *
+ * - Function orientationIndex is new and its contract is copied from
+ * com.vividsolutions.jts.algorithm.CGAlgorithms.orientationIndex so that the current implementation of that method
+ * can be easily replaced.
+ *
+ * Some relevant comments in the original code has been kept untouched in its entirety. For more in-depth information
+ * refer to the original source.
+ */
+
+/*****************************************************************************/
+/* */
+/* Routines for Arbitrary Precision Floating-point Arithmetic */
+/* and Fast Robust Geometric Predicates */
+/* (predicates.c) */
+/* */
+/* May 18, 1996 */
+/* */
+/* Placed in the public domain by */
+/* Jonathan Richard Shewchuk */
+/* School of Computer Science */
+/* Carnegie Mellon University */
+/* 5000 Forbes Avenue */
+/* Pittsburgh, Pennsylvania 15213-3891 */
+/* jrs at cs.cmu.edu */
+/* */
+/* This file contains C implementation of algorithms for exact addition */
+/* and multiplication of floating-point numbers, and predicates for */
+/* robustly performing the orientation and incircle tests used in */
+/* computational geometry. The algorithms and underlying theory are */
+/* described in Jonathan Richard Shewchuk. "Adaptive Precision Floating- */
+/* Point Arithmetic and Fast Robust Geometric Predicates." Technical */
+/* Report CMU-CS-96-140, School of Computer Science, Carnegie Mellon */
+/* University, Pittsburgh, Pennsylvania, May 1996. (Submitted to */
+/* Discrete & Computational Geometry.) */
+/* */
+/* This file, the paper listed above, and other information are available */
+/* from the Web page http://www.cs.cmu.edu/~quake/robust.html . */
+/* */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* */
+/* Using this code: */
+/* */
+/* First, read the short or long version of the paper (from the Web page */
+/* above). */
+/* */
+/* Be sure to call exactinit() once, before calling any of the arithmetic */
+/* functions or geometric predicates. Also be sure to turn on the */
+/* optimizer when compiling this file. */
+/* */
+/* */
+/* Several geometric predicates are defined. Their parameters are all */
+/* points. Each point is an array of two or three floating-point */
+/* numbers. The geometric predicates, described in the papers, are */
+/* */
+/* orient2d(pa, pb, pc) */
+/* orient2dfast(pa, pb, pc) */
+/* orient3d(pa, pb, pc, pd) */
+/* orient3dfast(pa, pb, pc, pd) */
+/* incircle(pa, pb, pc, pd) */
+/* incirclefast(pa, pb, pc, pd) */
+/* insphere(pa, pb, pc, pd, pe) */
+/* inspherefast(pa, pb, pc, pd, pe) */
+/* */
+/* Those with suffix "fast" are approximate, non-robust versions. Those */
+/* without the suffix are adaptive precision, robust versions. There */
+/* are also versions with the suffices "exact" and "slow", which are */
+/* non-adaptive, exact arithmetic versions, which I use only for timings */
+/* in my arithmetic papers. */
+/* */
+/* */
+/* An expansion is represented by an array of floating-point numbers, */
+/* sorted from smallest to largest magnitude (possibly with interspersed */
+/* zeros). The length of each expansion is stored as a separate integer, */
+/* and each arithmetic function returns an integer which is the length */
+/* of the expansion it created. */
+/* */
+/* Several arithmetic functions are defined. Their parameters are */
+/* */
+/* e, f Input expansions */
+/* elen, flen Lengths of input expansions (must be >= 1) */
+/* h Output expansion */
+/* b Input scalar */
+/* */
+/* The arithmetic functions are */
+/* */
+/* grow_expansion(elen, e, b, h) */
+/* grow_expansion_zeroelim(elen, e, b, h) */
+/* expansion_sum(elen, e, flen, f, h) */
+/* expansion_sum_zeroelim1(elen, e, flen, f, h) */
+/* expansion_sum_zeroelim2(elen, e, flen, f, h) */
+/* fast_expansion_sum(elen, e, flen, f, h) */
+/* fast_expansion_sum_zeroelim(elen, e, flen, f, h) */
+/* linear_expansion_sum(elen, e, flen, f, h) */
+/* linear_expansion_sum_zeroelim(elen, e, flen, f, h) */
+/* scale_expansion(elen, e, b, h) */
+/* scale_expansion_zeroelim(elen, e, b, h) */
+/* compress(elen, e, h) */
+/* */
+/* All of these are described in the long version of the paper; some are */
+/* described in the short version. All return an integer that is the */
+/* length of h. Those with suffix _zeroelim perform zero elimination, */
+/* and are recommended over their counterparts. The procedure */
+/* fast_expansion_sum_zeroelim() (or linear_expansion_sum_zeroelim() on */
+/* processors that do not use the round-to-even tiebreaking rule) is */
+/* recommended over expansion_sum_zeroelim(). Each procedure has a */
+/* little note next to it (in the code below) that tells you whether or */
+/* not the output expansion may be the same array as one of the input */
+/* expansions. */
+/* */
+/* */
+/* If you look around below, you'll also find macros for a bunch of */
+/* simple unrolled arithmetic operations, and procedures for printing */
+/* expansions (commented out because they don't work with all C */
+/* compilers) and for generating random floating-point numbers whose */
+/* significand bits are all random. Most of the macros have undocumented */
+/* requirements that certain of their parameters should not be the same */
+/* variable; for safety, better to make sure all the parameters are */
+/* distinct variables. Feel free to send email to jrs at cs.cmu.edu if you */
+/* have questions. */
+/* */
+/*****************************************************************************/
+
+public class ShewchuksDeterminant
+{
+
+ /**
+ * Implements a filter for computing the orientation index of three coordinates.
+ * <p>
+ * If the orientation can be computed safely using standard DP
+ * arithmetic, this routine returns the orientation index.
+ * Otherwise, a value i > 1 is returned.
+ * In this case the orientation index must
+ * be computed using some other method.
+ *
+ * @param pa a coordinate
+ * @param pb a coordinate
+ * @param pc a coordinate
+ * @return the orientation index if it can be computed safely, or
+ * i > 1 if the orientation index cannot be computed safely
+ */
+ public static int orientationIndexFilter(Coordinate pa, Coordinate pb, Coordinate pc)
+ {
+ double detsum;
+
+ double detleft = (pa.x - pc.x) * (pb.y - pc.y);
+ double detright = (pa.y - pc.y) * (pb.x - pc.x);
+ double det = detleft - detright;
+
+ if (detleft > 0.0) {
+ if (detright <= 0.0) {
+ return signum(det);
+ }
+ else {
+ detsum = detleft + detright;
+ }
+ }
+ else if (detleft < 0.0) {
+ if (detright >= 0.0) {
+ return signum(det);
+ }
+ else {
+ detsum = -detleft - detright;
+ }
+ }
+ else {
+ return signum(det);
+ }
+
+ double ERR_BOUND = 1e-15;
+ double errbound = ERR_BOUND * detsum;
+ //double errbound = ccwerrboundA * detsum;
+ if ((det >= errbound) || (-det >= errbound)) {
+ return signum(det);
+ }
+
+ return 2;
+ }
+
+ private static int signum(double x)
+ {
+ if (x > 0) return 1;
+ if (x < 0) return -1;
+ return 0;
+ }
+
+ /**
+ * Returns the index of the direction of the point <code>q</code> relative to
+ * a vector specified by <code>p1-p2</code>.
+ *
+ * @param p1
+ * the origin point of the vector
+ * @param p2
+ * the final point of the vector
+ * @param q
+ * the point to compute the direction to
+ *
+ * @return 1 if q is counter-clockwise (left) from p1-p2;
+ * -1 if q is clockwise (right) from p1-p2;
+ * 0 if q is collinear with p1-p2
+ */
+ public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
+ {
+ double orientation = orient2d(p1, p2, q);
+ if (orientation > 0.0) return 1;
+ if (orientation < 0.0) return -1;
+ return 0;
+ }
+
+ private static double orient2d(Coordinate pa, Coordinate pb, Coordinate pc)
+ {
+ double detsum;
+
+ double detleft = (pa.x - pc.x) * (pb.y - pc.y);
+ double detright = (pa.y - pc.y) * (pb.x - pc.x);
+ double det = detleft - detright;
+
+ if (detleft > 0.0) {
+ if (detright <= 0.0) {
+ return det;
+ }
+ else {
+ detsum = detleft + detright;
+ }
+ }
+ else if (detleft < 0.0) {
+ if (detright >= 0.0) {
+ return det;
+ }
+ else {
+ detsum = -detleft - detright;
+ }
+ }
+ else {
+ return det;
+ }
+
+ double errbound = ccwerrboundA * detsum;
+ if ((det >= errbound) || (-det >= errbound)) {
+ return det;
+ }
+
+ return orient2dadapt(pa, pb, pc, detsum);
+ }
+
+ /*****************************************************************************/
+ /* */
+ /* orient2d() Adaptive exact 2D orientation test. Robust. */
+ /* */
+ /* Return a positive value if the points pa, pb, and pc occur */
+ /* in counterclockwise order; a negative value if they occur */
+ /* in clockwise order; and zero if they are collinear. The */
+ /* result is also a rough approximation of twice the signed */
+ /* area of the triangle defined by the three points. */
+ /* */
+ /* The last three use exact arithmetic to ensure a correct answer. The */
+ /* result returned is the determinant of a matrix. In orient2d() only, */
+ /* this determinant is computed adaptively, in the sense that exact */
+ /* arithmetic is used only to the degree it is needed to ensure that the */
+ /* returned value has the correct sign. Hence, orient2d() is usually quite */
+ /* fast, but will run more slowly when the input points are collinear or */
+ /* nearly so. */
+ /* */
+ /*****************************************************************************/
+
+ private static double orient2dadapt(Coordinate pa, Coordinate pb,
+ Coordinate pc, double detsum)
+ {
+
+ double acx = pa.x - pc.x;
+ double bcx = pb.x - pc.x;
+ double acy = pa.y - pc.y;
+ double bcy = pb.y - pc.y;
+
+ double detleft = Two_Product_Head(acx, bcy);
+ double detlefttail = Two_Product_Tail(acx, bcy, detleft);
+
+ double detright = Two_Product_Head(acy, bcx);
+ double detrighttail = Two_Product_Tail(acy, bcx, detright);
+
+ double B[] = new double[4];
+ B[2] = Two_Two_Diff__x2(detleft, detlefttail, detright, detrighttail);
+ B[1] = Two_Two_Diff__x1(detleft, detlefttail, detright, detrighttail);
+ B[0] = Two_Two_Diff__x0(detleft, detlefttail, detright, detrighttail);
+ B[3] = Two_Two_Diff__x3(detleft, detlefttail, detright, detrighttail);
+
+ double det = B[0] + B[1] + B[2] + B[3];
+ //det = estimate(4, B);
+ double errbound = ccwerrboundB * detsum;
+ if ((det >= errbound) || (-det >= errbound)) {
+ return det;
+ }
+
+ double acxtail = Two_Diff_Tail(pa.x, pc.x, acx);
+ double bcxtail = Two_Diff_Tail(pb.x, pc.x, bcx);
+ double acytail = Two_Diff_Tail(pa.y, pc.y, acy);
+ double bcytail = Two_Diff_Tail(pb.y, pc.y, bcy);
+
+ if ((acxtail == 0.0) && (acytail == 0.0) && (bcxtail == 0.0)
+ && (bcytail == 0.0)) {
+ return det;
+ }
+
+ errbound = ccwerrboundC * detsum + resulterrbound * Absolute(det);
+ det += (acx * bcytail + bcy * acxtail) - (acy * bcxtail + bcx * acytail);
+ if ((det >= errbound) || (-det >= errbound)) {
+ return det;
+ }
+
+ double s1 = Two_Product_Head(acxtail, bcy);
+ double s0 = Two_Product_Tail(acxtail, bcy, s1);
+
+ double t1 = Two_Product_Head(acytail, bcx);
+ double t0 = Two_Product_Tail(acytail, bcx, t1);
+
+ double u3 = Two_Two_Diff__x3(s1, s0, t1, t0);
+ double u[] = new double[4];
+ u[2] = Two_Two_Diff__x2(s1, s0, t1, t0);
+ u[1] = Two_Two_Diff__x1(s1, s0, t1, t0);
+ u[0] = Two_Two_Diff__x0(s1, s0, t1, t0);
+
+ u[3] = u3;
+ double C1[] = new double[8];
+ int C1length = fast_expansion_sum_zeroelim(4, B, 4, u, C1);
+
+ s1 = Two_Product_Head(acx, bcytail);
+ s0 = Two_Product_Tail(acx, bcytail, s1);
+
+ t1 = Two_Product_Head(acy, bcxtail);
+ t0 = Two_Product_Tail(acy, bcxtail, t1);
+
+ u3 = Two_Two_Diff__x3(s1, s0, t1, t0);
+ u[2] = Two_Two_Diff__x2(s1, s0, t1, t0);
+ u[1] = Two_Two_Diff__x1(s1, s0, t1, t0);
+ u[0] = Two_Two_Diff__x0(s1, s0, t1, t0);
+
+ u[3] = u3;
+ double C2[] = new double[12];
+ int C2length = fast_expansion_sum_zeroelim(C1length, C1, 4, u, C2);
+
+ s1 = Two_Product_Head(acxtail, bcytail);
+ s0 = Two_Product_Tail(acxtail, bcytail, s1);
+
+ t1 = Two_Product_Head(acytail, bcxtail);
+ t0 = Two_Product_Tail(acytail, bcxtail, t1);
+
+ u3 = Two_Two_Diff__x3(s1, s0, t1, t0);
+ u[2] = Two_Two_Diff__x2(s1, s0, t1, t0);
+ u[1] = Two_Two_Diff__x1(s1, s0, t1, t0);
+ u[0] = Two_Two_Diff__x0(s1, s0, t1, t0);
+
+ u[3] = u3;
+ double D[] = new double[16];
+ int Dlength = fast_expansion_sum_zeroelim(C2length, C2, 4, u, D);
+
+ return (D[Dlength - 1]);
+ }
+
+
+ private static final double epsilon;
+
+ private static final double splitter;
+
+ private static final double resulterrbound;
+
+ private static final double ccwerrboundA;
+
+ private static final double ccwerrboundB;
+
+ private static final double ccwerrboundC;
+
+ private static final double o3derrboundA;
+
+ private static final double o3derrboundB;
+
+ private static final double o3derrboundC;
+
+ private static final double iccerrboundA;
+
+ private static final double iccerrboundB;
+
+ private static final double iccerrboundC;
+
+ private static final double isperrboundA;
+
+ private static final double isperrboundB;
+
+ private static final double isperrboundC;
+
+ /*****************************************************************************/
+ /* */
+ /* exactinit() Initialize the variables used for exact arithmetic. */
+ /* */
+ /* `epsilon' is the largest power of two such that 1.0 + epsilon = 1.0 in */
+ /* floating-point arithmetic. `epsilon' bounds the relative roundoff */
+ /* error. It is used for floating-point error analysis. */
+ /* */
+ /* `splitter' is used to split floating-point numbers into two half- */
+ /* length significands for exact multiplication. */
+ /* */
+ /* I imagine that a highly optimizing compiler might be too smart for its */
+ /* own good, and somehow cause this routine to fail, if it pretends that */
+ /* floating-point arithmetic is too much like real arithmetic. */
+ /* */
+ /* Don't change this routine unless you fully understand it. */
+ /* */
+ /*****************************************************************************/
+
+ static {
+ double epsilon_temp;
+ double splitter_temp;
+ double half;
+ double check, lastcheck;
+ int every_other;
+
+ every_other = 1;
+ half = 0.5;
+ epsilon_temp = 1.0;
+ splitter_temp = 1.0;
+ check = 1.0;
+ /* Repeatedly divide `epsilon' by two until it is too small to add to */
+ /* one without causing roundoff. (Also check if the sum is equal to */
+ /* the previous sum, for machines that round up instead of using exact */
+ /* rounding. Not that this library will work on such machines anyway. */
+ do {
+ lastcheck = check;
+ epsilon_temp *= half;
+ if (every_other != 0) {
+ splitter_temp *= 2.0;
+ }
+ every_other = every_other == 0 ? 1 : 0;
+ check = 1.0 + epsilon_temp;
+ } while ((check != 1.0) && (check != lastcheck));
+ splitter_temp += 1.0;
+
+ /* Error bounds for orientation and incircle tests. */
+ resulterrbound = (3.0 + 8.0 * epsilon_temp) * epsilon_temp;
+ ccwerrboundA = (3.0 + 16.0 * epsilon_temp) * epsilon_temp;
+ ccwerrboundB = (2.0 + 12.0 * epsilon_temp) * epsilon_temp;
+ ccwerrboundC = (9.0 + 64.0 * epsilon_temp) * epsilon_temp * epsilon_temp;
+ o3derrboundA = (7.0 + 56.0 * epsilon_temp) * epsilon_temp;
+ o3derrboundB = (3.0 + 28.0 * epsilon_temp) * epsilon_temp;
+ o3derrboundC = (26.0 + 288.0 * epsilon_temp) * epsilon_temp * epsilon_temp;
+ iccerrboundA = (10.0 + 96.0 * epsilon_temp) * epsilon_temp;
+ iccerrboundB = (4.0 + 48.0 * epsilon_temp) * epsilon_temp;
+ iccerrboundC = (44.0 + 576.0 * epsilon_temp) * epsilon_temp * epsilon_temp;
+ isperrboundA = (16.0 + 224.0 * epsilon_temp) * epsilon_temp;
+ isperrboundB = (5.0 + 72.0 * epsilon_temp) * epsilon_temp;
+ isperrboundC = (71.0 + 1408.0 * epsilon_temp) * epsilon_temp * epsilon_temp;
+ epsilon = epsilon_temp;
+ splitter = splitter_temp;
+ }
+
+ private static double Absolute(double a)
+ {
+ return ((a) >= 0.0 ? (a) : -(a));
+ }
+
+ private static double Fast_Two_Sum_Tail(double a, double b, double x)
+ {
+ double bvirt = x - a;
+ double y = b - bvirt;
+
+ return y;
+ }
+
+ private static double Fast_Two_Sum_Head(double a, double b)
+ {
+ double x = (double) (a + b);
+
+ return x;
+ }
+
+ private static double Two_Sum_Tail(double a, double b, double x)
+ {
+ double bvirt = (double) (x - a);
+ double avirt = x - bvirt;
+ double bround = b - bvirt;
+ double around = a - avirt;
+
+ double y = around + bround;
+
+ return y;
+ }
+
+ private static double Two_Sum_Head(double a, double b)
+ {
+ double x = (double) (a + b);
+
+ return x;
+ }
+
+ private static double Two_Diff_Tail(double a, double b, double x)
+ {
+ double bvirt = (double) (a - x); // porting issue: why this cast?
+ double avirt = x + bvirt;
+ double bround = bvirt - b;
+ double around = a - avirt;
+ double y = around + bround;
+
+ return y;
+ }
+
+ private static double Two_Diff_Head(double a, double b)
+ {
+ double x = (double) (a - b);
+
+ return x;
+ }
+
+ private static double SplitLo(double a)
+ {
+ double c = (double) (splitter * a); // porting issue: why this cast?
+ double abig = (double) (c - a); // porting issue: why this cast?
+ double ahi = c - abig;
+ double alo = a - ahi;
+
+ return alo;
+ }
+
+ private static double SplitHi(double a)
+ {
+ double c = (double) (splitter * a); // porting issue: why this cast?
+ double abig = (double) (c - a); // porting issue: why this cast?
+ double ahi = c - abig;
+
+ return ahi;
+ }
+
+ private static double Two_Product_Tail(double a, double b, double x)
+ {
+ double ahi = SplitHi(a);
+ double alo = SplitLo(a);
+ double bhi = SplitHi(b);
+ double blo = SplitLo(b);
+
+ double err1 = x - (ahi * bhi);
+ double err2 = err1 - (alo * bhi);
+ double err3 = err2 - (ahi * blo);
+ double y = (alo * blo) - err3;
+
+ return y;
+ }
+
+ private static double Two_Product_Head(double a, double b)
+ {
+ double x = (double) (a * b);
+
+ return x;
+ }
+
+ // #define Two_One_Diff(a1, a0, b, x2, x1, x0)
+ private static double Two_One_Diff__x0(double a1, double a0, double b)
+ {
+ double _i = Two_Diff_Head(a0, b);
+ double x0 = Two_Diff_Tail(a0, b, _i);
+
+ return x0;
+ }
+
+ // #define Two_One_Diff(a1, a0, b, x2, x1, x0)
+ private static double Two_One_Diff__x1(double a1, double a0, double b)
+ {
+ double _i = Two_Diff_Head(a0, b);
+ double x2 = Two_Sum_Head(a1, _i);
+ double x1 = Two_Sum_Tail(a1, _i, x2);
+
+ return x1;
+ }
+
+ // #define Two_One_Diff(a1, a0, b, x2, x1, x0)
+ private static double Two_One_Diff__x2(double a1, double a0, double b)
+ {
+ double _i = Two_Diff_Head(a0, b);
+ double x2 = Two_Sum_Head(a1, _i);
+
+ return x2;
+ }
+
+ // #define Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0)
+ private static double Two_Two_Diff__x0(double a1, double a0, double b1,
+ double b0)
+ {
+ double x0 = Two_One_Diff__x0(a1, a0, b0);
+
+ return x0;
+ }
+
+ // #define Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0)
+ private static double Two_Two_Diff__x1(double a1, double a0, double b1,
+ double b0)
+ {
+ double _j = Two_One_Diff__x2(a1, a0, b0);
+ double _0 = Two_One_Diff__x1(a1, a0, b0);
+
+ double x1 = Two_One_Diff__x0(_j, _0, b1);
+
+ return x1;
+ }
+
+ // #define Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0)
+ private static double Two_Two_Diff__x2(double a1, double a0, double b1,
+ double b0)
+ {
+ double _j = Two_One_Diff__x2(a1, a0, b0);
+ double _0 = Two_One_Diff__x1(a1, a0, b0);
+
+ double x2 = Two_One_Diff__x1(_j, _0, b1);
+
+ return x2;
+ }
+
+ // #define Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0)
+ private static double Two_Two_Diff__x3(double a1, double a0, double b1,
+ double b0)
+ {
+ double _j = Two_One_Diff__x2(a1, a0, b0);
+ double _0 = Two_One_Diff__x1(a1, a0, b0);
+
+ double x3 = Two_One_Diff__x2(_j, _0, b1);
+
+ return x3;
+ }
+
+ /*****************************************************************************/
+ /* */
+ /* fast_expansion_sum_zeroelim() Sum two expansions, eliminating zero */
+ /* components from the output expansion. */
+ /* */
+ /* Sets h = e + f. See the long version of my paper for details. */
+ /* */
+ /* If round-to-even is used (as with IEEE 754), maintains the strongly */
+ /* nonoverlapping property. (That is, if e is strongly nonoverlapping, h */
+ /* will be also.) Does NOT maintain the nonoverlapping or nonadjacent */
+ /* properties. */
+ /* */
+ /*****************************************************************************/
+
+ private static int fast_expansion_sum_zeroelim(int elen, double[] e,
+ int flen, double[] f, double[] h) /* h cannot be e or f. */
+ {
+ double Q;
+ double Qnew;
+ double hh;
+
+ int eindex, findex, hindex;
+ double enow, fnow;
+
+ enow = e[0];
+ fnow = f[0];
+ eindex = findex = 0;
+ if ((fnow > enow) == (fnow > -enow)) {
+ Q = enow;
+ enow = e[eindex++];
+ }
+ else {
+ Q = fnow;
+ fnow = f[findex++];
+ }
+ hindex = 0;
+ if ((eindex < elen) && (findex < flen)) {
+ if ((fnow > enow) == (fnow > -enow)) {
+ Qnew = Fast_Two_Sum_Head(enow, Q);
+ hh = Fast_Two_Sum_Tail(enow, Q, Qnew);
+ enow = e[eindex++];
+ }
+ else {
+ Qnew = Fast_Two_Sum_Head(fnow, Q);
+ hh = Fast_Two_Sum_Tail(fnow, Q, Qnew);
+ fnow = f[findex++];
+ }
+ Q = Qnew;
+ if (hh != 0.0) {
+ h[hindex++] = hh;
+ }
+ while ((eindex < elen) && (findex < flen)) {
+ if ((fnow > enow) == (fnow > -enow)) {
+ Qnew = Two_Sum_Head(Q, enow);
+ hh = Two_Sum_Tail(Q, enow, Qnew);
+ enow = e[eindex++];
+ }
+ else {
+ Qnew = Two_Sum_Head(Q, fnow);
+ hh = Two_Sum_Tail(Q, fnow, Qnew);
+ fnow = f[findex++];
+ }
+ Q = Qnew;
+ if (hh != 0.0) {
+ h[hindex++] = hh;
+ }
+ }
+ }
+ while (eindex < elen) {
+ Qnew = Two_Sum_Head(Q, enow);
+ hh = Two_Sum_Tail(Q, enow, Qnew);
+ enow = e[eindex++];
+ Q = Qnew;
+ if (hh != 0.0) {
+ h[hindex++] = hh;
+ }
+ }
+ while (findex < flen) {
+ Qnew = Two_Sum_Head(Q, fnow);
+ hh = Two_Sum_Tail(Q, fnow, Qnew);
+ fnow = f[findex++];
+ Q = Qnew;
+ if (hh != 0.0) {
+ h[hindex++] = hh;
+ }
+ }
+ if ((Q != 0.0) || (hindex == 0)) {
+ h[hindex++] = Q;
+ }
+ return hindex;
+ }
+
+ /*****************************************************************************/
+ /* */
+ /* estimate() Produce a one-word estimate of an expansion's value. */
+ /* */
+ /* See either version of my paper for details. */
+ /* */
+ /*****************************************************************************/
+
+ private static double estimate(int elen, double[] e)
+ {
+ double Q;
+ int eindex;
+
+ Q = e[0];
+ for (eindex = 1; eindex < elen; eindex++) {
+ Q += e[eindex];
+ }
+ return Q;
+ }
+
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistanceTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistanceTest.java
new file mode 100644
index 0000000..9b910a9
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistanceTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.algorithm.distance;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.junit.GeometryUtils;
+
+
+public class DiscreteHausdorffDistanceTest
+extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(DiscreteHausdorffDistanceTest.class);
+ }
+
+ public DiscreteHausdorffDistanceTest(String name) { super(name); }
+
+ public void testLineSegments() throws Exception
+ {
+ runTest("LINESTRING (0 0, 2 1)", "LINESTRING (0 0, 2 0)", 1.0);
+ }
+
+ public void testLineSegments2() throws Exception
+ {
+ runTest("LINESTRING (0 0, 2 0)", "LINESTRING (0 1, 1 2, 2 1)", 2.0);
+ }
+
+ public void testLinePoints() throws Exception
+ {
+ runTest("LINESTRING (0 0, 2 0)", "MULTIPOINT (0 1, 1 0, 2 1)", 1.0);
+ }
+
+ /**
+ * Shows effects of limiting HD to vertices
+ * Answer is not true Hausdorff distance.
+ *
+ * @throws Exception
+ */
+ public void testLinesShowingDiscretenessEffect() throws Exception
+ {
+ runTest("LINESTRING (130 0, 0 0, 0 150)", "LINESTRING (10 10, 10 150, 130 10)", 14.142135623730951);
+ // densifying provides accurate HD
+ runTest("LINESTRING (130 0, 0 0, 0 150)", "LINESTRING (10 10, 10 150, 130 10)", 0.5, 70.0);
+ }
+
+ private static final double TOLERANCE = 0.00001;
+
+ private void runTest(String wkt1, String wkt2, double expectedDistance)
+ throws ParseException
+ {
+ Geometry g1 = GeometryUtils.readWKT(wkt1);
+ Geometry g2 = GeometryUtils.readWKT(wkt2);
+
+ double distance = DiscreteHausdorffDistance.distance(g1, g2);
+ assertEquals(distance, expectedDistance, TOLERANCE);
+ }
+ private void runTest(String wkt1, String wkt2, double densifyFrac, double expectedDistance)
+ throws ParseException
+ {
+ Geometry g1 = GeometryUtils.readWKT(wkt1);
+ Geometry g2 = GeometryUtils.readWKT(wkt2);
+
+ double distance = DiscreteHausdorffDistance.distance(g1, g2, densifyFrac);
+ assertEquals(distance, expectedDistance, TOLERANCE);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocatorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocatorTest.java
new file mode 100644
index 0000000..f46f4e0
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocatorTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.locate;
+
+import org.locationtech.jts.algorithm.AbstractPointInRingTest;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests IndexedPointInAreaLocator algorithms
+ *
+ * @version 1.7
+ */
+public class IndexedPointInAreaLocatorTest extends AbstractPointInRingTest {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(IndexedPointInAreaLocatorTest.class);
+ }
+
+ public IndexedPointInAreaLocatorTest(String name) { super(name); }
+
+
+ protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception
+ {
+ Geometry geom = reader.read(wkt);
+ IndexedPointInAreaLocator loc = new IndexedPointInAreaLocator(geom);
+ int result = loc.locate(pt);
+ assertEquals(expectedLoc, result);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocatorTest.java b/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocatorTest.java
new file mode 100644
index 0000000..1caa47c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocatorTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.algorithm.locate;
+
+import org.locationtech.jts.algorithm.AbstractPointInRingTest;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests IndexedPointInAreaLocator algorithms
+ *
+ * @version 1.7
+ */
+public class SimplePointInAreaLocatorTest extends AbstractPointInRingTest {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(SimplePointInAreaLocatorTest.class);
+ }
+
+ public SimplePointInAreaLocatorTest(String name) { super(name); }
+
+
+ protected void runPtInRing(int expectedLoc, Coordinate pt, String wkt)
+ throws Exception
+ {
+ Geometry geom = reader.read(wkt);
+ SimplePointInAreaLocator loc = new SimplePointInAreaLocator(geom);
+ int result = loc.locate(pt);
+ assertEquals(expectedLoc, result);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/dissolve/LineDissolverTest.java b/modules/core/src/test/java/org/locationtech/jts/dissolve/LineDissolverTest.java
new file mode 100644
index 0000000..425f37b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/dissolve/LineDissolverTest.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.dissolve;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.junit.GeometryUtils;
+
+
+public class LineDissolverTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(LineDissolverTest.class);
+ }
+
+ public LineDissolverTest(String name) { super(name); }
+
+ public void testDebug() throws ParseException
+ {
+ //testSingleLine();
+ testIsolatedRing();
+ }
+
+ public void testSingleSegmentLine() throws ParseException
+ {
+ checkDissolve("LINESTRING (0 0, 1 1)", "LINESTRING (0 0, 1 1)");
+ }
+
+ public void testTwoSegmentLine() throws ParseException
+ {
+ checkDissolve("LINESTRING (0 0, 1 1, 2 2)", "LINESTRING (0 0, 1 1, 2 2)");
+ }
+
+ public void testOverlappingTwoSegmentLines() throws ParseException
+ {
+ checkDissolve(
+ new String[] {"LINESTRING (0 0, 1 1, 2 2)", "LINESTRING (1 1, 2 2, 3 3)"},
+ "LINESTRING (0 0, 1 1, 2 2, 3 3)");
+ }
+
+ public void testOverlappingLines3() throws ParseException
+ {
+ checkDissolve(
+ new String[] {"LINESTRING (0 0, 1 1, 2 2)",
+ "LINESTRING (1 1, 2 2, 3 3)",
+ "LINESTRING (1 1, 2 2, 2 0)" },
+ "MULTILINESTRING ((0 0, 1 1, 2 2), (2 0, 2 2), (2 2, 3 3))");
+ }
+
+ public void testDivergingLines() throws ParseException
+ {
+ checkDissolve(
+ "MULTILINESTRING ((0 0, 1 0, 2 1), (0 0, 1 0, 2 0), (1 0, 2 1, 2 0, 3 0))",
+ "MULTILINESTRING ((0 0, 1 0), (1 0, 2 0), (1 0, 2 1, 2 0), (2 0, 3 0))");
+ }
+
+ public void testLollipop() throws ParseException
+ {
+ checkDissolve(
+ "LINESTRING (0 0, 1 0, 2 0, 2 1, 1 0, 0 0)",
+ "MULTILINESTRING ((0 0, 1 0), (1 0, 2 0, 2 1, 1 0))");
+ }
+
+ public void testDisjointLines() throws ParseException
+ {
+ checkDissolve(
+ "MULTILINESTRING ((0 0, 1 0, 2 1), (10 0, 11 0, 12 0))",
+ "MULTILINESTRING ((0 0, 1 0, 2 1), (10 0, 11 0, 12 0))");
+ }
+
+ public void testSingleLine() throws ParseException
+ {
+ checkDissolve(
+ "MULTILINESTRING ((0 0, 1 0, 2 1))",
+ "LINESTRING (0 0, 1 0, 2 1)");
+ }
+
+ public void testOneSegmentY() throws ParseException
+ {
+ checkDissolve("MULTILINESTRING ((0 0, 1 1, 2 2), (1 1, 1 2))", "MULTILINESTRING ((0 0, 1 1), (1 1, 2 2), (1 1, 1 2))");
+ }
+
+ public void testTwoSegmentY() throws ParseException
+ {
+ checkDissolve("MULTILINESTRING ((0 0, 9 9, 10 10, 11 11, 20 20), (10 10, 10 20))",
+ "MULTILINESTRING ((10 20, 10 10), (10 10, 9 9, 0 0), (10 10, 11 11, 20 20))");
+ }
+
+ public void testIsolatedRing() throws ParseException
+ {
+ checkDissolve("LINESTRING (0 0, 1 1, 1 0, 0 0)", "LINESTRING (0 0, 1 1, 1 0, 0 0)");
+ }
+
+ public void testIsolateRingFromMultipleLineStrings() throws ParseException
+ {
+ checkDissolve("MULTILINESTRING ((0 0, 1 0, 1 1), (0 0, 0 1, 1 1))", "LINESTRING (0 0, 0 1, 1 1, 1 0, 0 0)");
+ }
+
+ /**
+ * Shows that rings with incident lines are created with the correct node point.
+ *
+ * @throws ParseException
+ */
+ public void testRingWithTail() throws ParseException
+ {
+ checkDissolve("MULTILINESTRING ((0 0, 1 0, 1 1), (0 0, 0 1, 1 1), (1 0, 2 0))", "MULTILINESTRING ((1 0, 0 0, 0 1, 1 1, 1 0), (1 0, 2 0))");
+ }
+
+ public void testZeroLengthStartSegment() throws ParseException
+ {
+ checkDissolve(
+ "MULTILINESTRING ((0 0, 0 0, 2 1))",
+ "LINESTRING (0 0, 2 1)");
+ }
+
+
+ private void checkDissolve(String wkt, String expectedWKT) throws ParseException {
+ checkDissolve(new String[] { wkt }, expectedWKT);
+ }
+
+ private void checkDissolve(String[] wkt, String expectedWKT) throws ParseException {
+ List geoms = GeometryUtils.readWKT(wkt);
+ Geometry expected = GeometryUtils.readWKT(expectedWKT);
+ checkDissolve(geoms, expected);
+ }
+
+
+ private void checkDissolve(List geoms, Geometry expected) {
+ LineDissolver d = new LineDissolver();
+ d.add(geoms);
+ Geometry result = d.getResult();
+ boolean equal = result.norm().equalsExact(expected.norm());
+ if (! equal) {
+ //System.out.println("Expected = " + expected
+ // + " actual = " + result.norm());
+ }
+ assertTrue(equal);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/edgegraph/EdgeGraphTest.java b/modules/core/src/test/java/org/locationtech/jts/edgegraph/EdgeGraphTest.java
new file mode 100644
index 0000000..f84612f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/edgegraph/EdgeGraphTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.edgegraph;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.io.ParseException;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.junit.GeometryUtils;
+
+
+public class EdgeGraphTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(EdgeGraphTest.class);
+ }
+
+
+ public EdgeGraphTest(String name) { super(name); }
+
+ public void testNode() throws Exception
+ {
+ EdgeGraph graph = build("MULTILINESTRING((0 0, 1 0), (0 0, 0 1), (0 0, -1 0))");
+ checkEdgeRing(graph, new Coordinate(0, 0),
+ new Coordinate[] { new Coordinate(1, 0),
+ new Coordinate(0, 1), new Coordinate(-1, 0)
+ });
+ checkEdge(graph, new Coordinate(0, 0), new Coordinate(1, 0));
+ }
+
+ private void checkEdgeRing(EdgeGraph graph, Coordinate p,
+ Coordinate[] dest) {
+ HalfEdge e = graph.findEdge(p, dest[0]);
+ HalfEdge onext = e;
+ int i = 0;
+ do {
+ assertTrue(onext.dest().equals2D(dest[i++]));
+ onext = onext.oNext();
+ } while (onext != e);
+
+ }
+
+
+ private void checkEdge(EdgeGraph graph, Coordinate p0, Coordinate p1) {
+ HalfEdge e = graph.findEdge(p0, p1);
+ assertNotNull(e);
+ }
+
+
+ private EdgeGraph build(String wkt) throws ParseException {
+ return build(new String[] { wkt });
+ }
+
+ private EdgeGraph build(String[] wkt) throws ParseException {
+ List geoms = GeometryUtils.readWKT(wkt);
+ return EdgeGraphBuilder.build(geoms);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/GeometryGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/GeometryGenerator.java
new file mode 100644
index 0000000..e74f10c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/GeometryGenerator.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+/**
+ * This class illustrates the basic functionality and configuration options for generating spatial data.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public abstract class GeometryGenerator {
+ protected int dimensions = 2;
+ protected GeometryFactory geometryFactory; // includes srid
+ protected Envelope boundingBox;
+
+ /**
+ * @return A Geometry which uses some or all of the Bounding Box specified.
+ */
+ public abstract Geometry create();
+
+
+ /**
+ * @see GridGenerator
+ * @return A new GridGenerator
+ */
+ public static GridGenerator createGridGenerator(){
+ return new GridGenerator();
+ }
+
+ /**
+ * @see PointGenerator
+ * @return A new PointGenerator
+ */
+ public static PointGenerator createPointGenerator(){
+ return new PointGenerator();
+ }
+
+ /**
+ * @see LineStringGenerator
+ * @return A new LineStringGenerator
+ */
+ public static LineStringGenerator createLineStringGenerator(){
+ LineStringGenerator lsg = new LineStringGenerator();
+ lsg.setGenerationAlgorithm(LineStringGenerator.ARC);
+ lsg.setNumberPoints(10);
+ return lsg;
+ }
+
+ /**
+ * @see PolygonGenerator
+ * @return A new PolygonGenerator
+ */
+ public static PolygonGenerator createPolygonGenerator(){
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGenerationAlgorithm(PolygonGenerator.ARC);
+ pg.setNumberPoints(10);
+ pg.setNumberHoles(8);
+ return pg;
+ }
+
+ /**
+ * @see PointGenerator
+ * @see MultiGenerator
+ * @return A new MultiGenerator
+ */
+ public static MultiGenerator createMultiPointGenerator(){
+ MultiGenerator mg = new MultiGenerator(createPointGenerator());
+ mg.setNumberGeometries(4);
+ return mg;
+ }
+
+ /**
+ * @see LineStringGenerator
+ * @see MultiGenerator
+ * @return A new PointGenerator
+ */
+ public static MultiGenerator createMultiLineStringGenerator(){
+ MultiGenerator mg = new MultiGenerator(createLineStringGenerator());
+ mg.setNumberGeometries(4);
+ return mg;
+ }
+
+ /**
+ * @see PolygonGenerator
+ * @see MultiGenerator
+ * @return A new PointGenerator
+ */
+ public static MultiGenerator createMultiPolygonGenerator(){
+ MultiGenerator mg = new MultiGenerator(createPolygonGenerator());
+ mg.setNumberGeometries(4);
+ return mg;
+ }
+
+ /**
+ * @return Returns the boundingBox.
+ */
+ public Envelope getBoundingBox() {
+ return boundingBox;
+ }
+
+ /**
+ * @param boundingBox The boundingBox to set.
+ */
+ public void setBoundingBox(Envelope boundingBox) {
+ this.boundingBox = boundingBox;
+ }
+
+ /**
+ * @return Returns the dimensions.
+ */
+ public int getDimensions() {
+ return dimensions;
+ }
+
+ /**
+ * @param dimensions The dimensions to set.
+ */
+ public void setDimensions(int dimensions) {
+ this.dimensions = dimensions;
+ throw new RuntimeException("Dimensions other than 2 are not yet supported");
+ }
+
+ /**
+ * @return Returns the geometryFactory.
+ */
+ public GeometryFactory getGeometryFactory() {
+ return geometryFactory;
+ }
+
+ /**
+ * @param geometryFactory The geometryFactory to set.
+ */
+ public void setGeometryFactory(GeometryFactory geometryFactory) {
+ this.geometryFactory = geometryFactory;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/GridGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/GridGenerator.java
new file mode 100644
index 0000000..ab27848
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/GridGenerator.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import java.util.NoSuchElementException;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+
+
+/**
+ * This class should be used to generate a grid of bounding boxes,
+ * most useful when creating multiple geometries.
+ *
+ * Successive calls to create() will walk the user though the grid.
+ * Use canCreate() and reset() to control the walk through the grid.
+ *
+ * @see #canCreate()
+ * @see #reset()
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class GridGenerator extends GeometryGenerator {
+
+ protected int numberColumns = 1;
+ protected int numberRows = 1;
+ protected int index = 0;
+
+ /**
+ * Sets some default values.
+ */
+ public GridGenerator(){
+ dimensions = 2;
+ }
+
+ /**
+ *
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ *
+ * @throws NoSuchElementException when all the grids have been created (@see #create())
+ * @throws NullPointerException when either the Geometry Factory, or the Bounding Box are undefined.
+ */
+ public Geometry create() {
+ return geometryFactory.toGeometry(createEnv());
+ }
+ /**
+ *
+ * @return Envelope
+ *
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ *
+ * @throws NoSuchElementException when all the grids have been created (@see #create())
+ * @throws NullPointerException when either the Geometry Factory, or the Bounding Box are undefined.
+ */
+ public Envelope createEnv() {
+ if(!canCreate()){
+ throw new NoSuchElementException("There are not any grids left to create.");
+ }
+ if(geometryFactory == null){
+ throw new NullPointerException("GeometryFactory is not declared");
+ }
+ if(boundingBox == null || boundingBox.isNull()){
+ throw new NullPointerException("Bounding Box is not declared");
+ }
+
+ double x = boundingBox.getMinX(); // base x
+ double dx = boundingBox.getMaxX()-x;
+
+ double y = boundingBox.getMinY(); // base y
+ double dy = boundingBox.getMaxY()-y;
+
+ int row = numberRows==1?0:index / numberRows;
+ int col = numberColumns==1?0:index % numberColumns;
+
+ double sx,sy; // size of a step
+ sx = dx/numberColumns;
+ sy = dy/numberRows;
+
+ double minx, miny;
+ minx = x+col*sx;
+ miny = y+row*sy;
+
+ Envelope box = new Envelope(geometryFactory.getPrecisionModel().makePrecise(minx),
+ geometryFactory.getPrecisionModel().makePrecise(minx+sx),
+ geometryFactory.getPrecisionModel().makePrecise(miny),
+ geometryFactory.getPrecisionModel().makePrecise(miny+sy));
+
+ index++;
+ return box;
+ }
+
+ /**
+ * @return true when more grids exist
+ */
+ public boolean canCreate(){
+ return (numberColumns*numberRows)>index;
+ }
+
+ /**
+ * Resets the grid counter
+ */
+ public void reset(){
+ index = 0;
+ }
+
+ /**
+ * @see org.locationtech.jts.generator.GeometryGenerator#setDimensions(int)
+ */
+ public void setDimensions(int dimensions) {
+ if(dimensions!=2)
+ throw new IllegalStateException("MAY NOT CHANGE GridGenerator's Dimensions");
+ }
+
+ /**
+ * @return Returns the numberColumns.
+ */
+ public int getNumberColumns() {
+ return numberColumns;
+ }
+
+ /**
+ * @param numberColumns The numberColumns to set.
+ */
+ public void setNumberColumns(int numberColumns) {
+ if(numberColumns<=0)
+ throw new IndexOutOfBoundsException("Index sizes must be positive, non zero");
+ this.numberColumns = numberColumns;
+ }
+
+ /**
+ * @return Returns the numberRows.
+ */
+ public int getNumberRows() {
+ return numberRows;
+ }
+
+ /**
+ * @param numberRows The numberRows to set.
+ */
+ public void setNumberRows(int numberRows) {
+ if(numberRows<=0)
+ throw new IndexOutOfBoundsException("Index sizes must be positive, non zero");
+ this.numberRows = numberRows;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/LineStringGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/LineStringGenerator.java
new file mode 100644
index 0000000..8abcf55
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/LineStringGenerator.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.operation.valid.IsValidOp;
+
+/**
+ *
+ * This class is used to create a line string within the specified bounding box.
+ *
+ * Successive calls to create may or may not return the same geometry topology.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class LineStringGenerator extends GeometryGenerator {
+ protected int numberPoints = 2;
+ protected int generationAlgorithm = 0;
+
+ /**
+ * Create the points in a vertical line
+ */
+ public static final int VERT = 1;
+
+ /**
+ * Create the points in a horizontal line
+ */
+ public static final int HORZ = 2;
+
+ /**
+ * Create the points in an approximation of an open circle (one edge will not be included).
+ *
+ * Note: this requires the number of points to be greater than 2.
+ *
+ * @see #getNumberPoints()
+ * @see #setNumberPoints(int)
+ */
+ public static final int ARC = 0;
+
+ /**
+ * Number of iterations attempting to create a valid line string
+ */
+ private static final int RUNS = 5;
+
+ /**
+ * As the user increases the number of points, the probability of creating a random valid linestring decreases.
+ * Please take not of this when selecting the generation style, and the number of points.
+ *
+ * May return null if a geometry could not be created.
+ *
+ * @see #getNumberPoints()
+ * @see #setNumberPoints(int)
+ * @see #getGenerationAlgorithm()
+ * @see #setGenerationAlgorithm(int)
+ *
+ * @see #VERT
+ * @see #HORZ
+ * @see #ARC
+ *
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ *
+ * @throws IllegalStateException When the alg is not valid or the number of points is invalid
+ * @throws NullPointerException when either the Geometry Factory, or the Bounding Box are undefined.
+ */
+ public Geometry create() {
+
+ if(geometryFactory == null){
+ throw new NullPointerException("GeometryFactory is not declared");
+ }
+ if(boundingBox == null || boundingBox.isNull()){
+ throw new NullPointerException("Bounding Box is not declared");
+ }
+ if(numberPoints<2){
+ throw new IllegalStateException("Too few points");
+ }
+
+ Coordinate[] coords = new Coordinate[numberPoints];
+
+ double x = boundingBox.getMinX(); // base x
+ double dx = boundingBox.getMaxX()-x;
+
+ double y = boundingBox.getMinY(); // base y
+ double dy = boundingBox.getMaxY()-y;
+
+
+ for(int i=0;i<RUNS;i++){
+ switch(getGenerationAlgorithm()){
+ case VERT:
+ fillVert(x,dx,y,dy,coords,geometryFactory);
+ break;
+ case HORZ:
+ fillHorz(x,dx,y,dy,coords,geometryFactory);
+ break;
+ case ARC:
+ fillArc(x,dx,y,dy,coords,geometryFactory);
+ break;
+ default:
+ throw new IllegalStateException("Invalid Alg. Specified");
+ }
+
+ LineString ls = geometryFactory.createLineString(coords);
+ IsValidOp valid = new IsValidOp(ls);
+ if(valid.isValid()){
+ return ls;
+ }
+ }
+ return null;
+ }
+
+ private static void fillVert(double x, double dx, double y, double dy, Coordinate[] coords, GeometryFactory gf){
+ double fx = x+Math.random()*dx;
+ double ry = dy; // remainder of y distance
+ coords[0] = new Coordinate(fx,y);
+ gf.getPrecisionModel().makePrecise(coords[0]);
+ for(int i=1;i<coords.length-1;i++){
+ ry -= Math.random()*ry;
+ coords[i] = new Coordinate(fx,y+dy-ry);
+ gf.getPrecisionModel().makePrecise(coords[i]);
+ }
+ coords[coords.length-1] = new Coordinate(fx,y+dy);
+ gf.getPrecisionModel().makePrecise(coords[coords.length-1]);
+ }
+
+ private static void fillHorz(double x, double dx, double y, double dy, Coordinate[] coords, GeometryFactory gf){
+ double fy = y+Math.random()*dy;
+ double rx = dx; // remainder of x distance
+ coords[0] = new Coordinate(x,fy);
+ gf.getPrecisionModel().makePrecise(coords[0]);
+ for(int i=1;i<coords.length-1;i++){
+ rx -= Math.random()*rx;
+ coords[i] = new Coordinate(x+dx-rx,fy);
+ gf.getPrecisionModel().makePrecise(coords[i]);
+ }
+ coords[coords.length-1] = new Coordinate(x+dx,fy);
+ gf.getPrecisionModel().makePrecise(coords[coords.length-1]);
+ }
+
+ private static void fillArc(double x, double dx, double y, double dy, Coordinate[] coords, GeometryFactory gf){
+ if(coords.length == 2)
+ throw new IllegalStateException("Too few points for Arc");
+
+ double theta = 360/coords.length;
+ double start = theta/2;
+
+ double radius = dx<dy?dx/3:dy/3;
+
+ double cx = x+(dx/2); // center
+ double cy = y+(dy/2); // center
+
+ for(int i=0;i<coords.length;i++){
+ double angle = Math.toRadians(start+theta*i);
+
+ double fx = Math.sin(angle)*radius; // may be neg.
+ double fy = Math.cos(angle)*radius; // may be neg.
+
+ coords[i] = new Coordinate(cx+fx,cy+fy);
+ gf.getPrecisionModel().makePrecise(coords[i]);
+ }
+ }
+
+ /**
+ * @return Returns the numberPoints.
+ */
+ public int getNumberPoints() {
+ return numberPoints;
+ }
+
+ /**
+ * @param numberPoints The numberPoints to set.
+ */
+ public void setNumberPoints(int numberPoints) {
+ this.numberPoints = numberPoints;
+ }
+
+ /**
+ * @return Returns the generationAlgorithm.
+ */
+ public int getGenerationAlgorithm() {
+ return generationAlgorithm;
+ }
+
+ /**
+ * @param generationAlgorithm The generationAlgorithm to set.
+ */
+ public void setGenerationAlgorithm(int generationAlgorithm) {
+ this.generationAlgorithm = generationAlgorithm;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/MultiGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/MultiGenerator.java
new file mode 100644
index 0000000..7378aa4
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/MultiGenerator.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+/**
+ *
+ * Cascades the effort of creating a set of topologically valid geometries.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class MultiGenerator extends GeometryGenerator {
+
+ private GeometryGenerator generator = null;
+ private int numberGeometries = 2;
+ private int generationAlgorithm = 0;
+
+ /**
+ * Grid style blocks
+ */
+ public static final int BOX = 0;
+ /**
+ * vertical strips
+ */
+ public static final int VERT = 1;
+ /**
+ * Horizontal strips
+ */
+ public static final int HORZ = 2;
+
+ /**
+ * @param generator
+ */
+ public MultiGenerator(GeometryGenerator generator) {
+ this.generator = generator;
+ }
+
+ /**
+ * Creates a geometry collection representing the set of child geometries created.
+ *
+ * @see #setNumberGeometries(int)
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ *
+ * @see #BOX
+ * @see #VERT
+ * @see #HORZ
+ *
+ * @throws NullPointerException when the generator is missing
+ * @throws IllegalStateException when the number of child geoms is too small
+ * @throws IllegalStateException when the selected alg. is invalid
+ */
+ public Geometry create() {
+ if(generator == null)
+ throw new NullPointerException("Missing child generator");
+
+ if(numberGeometries < 1)
+ throw new IllegalStateException("Too few child geoms to create");
+
+ ArrayList geoms = new ArrayList(numberGeometries);
+
+ GridGenerator grid = GeometryGenerator.createGridGenerator();
+ grid.setBoundingBox(boundingBox);
+ grid.setGeometryFactory(geometryFactory);
+
+ switch(generationAlgorithm){
+ case BOX:
+
+ int nrow = (int)Math.sqrt(numberGeometries);
+ int ncol = numberGeometries/nrow;
+ grid.setNumberRows(nrow);
+ grid.setNumberColumns(ncol);
+
+ break;
+ case VERT:
+
+ grid.setNumberRows(1);
+ grid.setNumberColumns(numberGeometries);
+
+ break;
+ case HORZ:
+
+ grid.setNumberRows(numberGeometries);
+ grid.setNumberColumns(1);
+
+ break;
+ default:
+ throw new IllegalStateException("Invalid Alg. Specified");
+ }
+
+ while(grid.canCreate()){
+ generator.setBoundingBox(grid.createEnv());
+ geoms.add(generator.create());
+ }
+
+ // yes ... there are better ways
+ if(generator instanceof PointGenerator){
+ return geometryFactory.createMultiPoint((Point[]) geoms.toArray(new Point[numberGeometries]));
+ }else{
+ if(generator instanceof LineStringGenerator){
+ return geometryFactory.createMultiLineString((LineString[]) geoms.toArray(new LineString[numberGeometries]));
+ }else{
+ if(generator instanceof PolygonGenerator){
+ return geometryFactory.createMultiPolygon((Polygon[]) geoms.toArray(new Polygon[numberGeometries]));
+ }else{
+ // same as multi
+ return geometryFactory.createGeometryCollection((Geometry[]) geoms.toArray(new Geometry[numberGeometries]));
+ }}}
+ }
+
+ /**
+ * @return Returns the numberGeometries.
+ */
+ public int getNumberGeometries() {
+ return numberGeometries;
+ }
+
+ /**
+ * @param numberGeometries The numberGeometries to set.
+ */
+ public void setNumberGeometries(int numberGeometries) {
+ this.numberGeometries = numberGeometries;
+ }
+
+ /**
+ * @return Returns the generator.
+ */
+ public GeometryGenerator getGenerator() {
+ return generator;
+ }
+
+ /**
+ * @see org.locationtech.jts.generator.GeometryGenerator#setBoundingBox(org.locationtech.jts.geom.Envelope)
+ */
+ public void setBoundingBox(Envelope boundingBox) {
+ super.setBoundingBox(boundingBox);
+ if(generator!=null)
+ generator.setBoundingBox(boundingBox);
+ }
+
+ /**
+ * @see org.locationtech.jts.generator.GeometryGenerator#setDimensions(int)
+ */
+ public void setDimensions(int dimensions) {
+ super.setDimensions(dimensions);
+ if(generator!=null)
+ generator.setDimensions(dimensions);
+ }
+
+ /**
+ * @see org.locationtech.jts.generator.GeometryGenerator#setGeometryFactory(org.locationtech.jts.geom.GeometryFactory)
+ */
+ public void setGeometryFactory(GeometryFactory geometryFactory) {
+ super.setGeometryFactory(geometryFactory);
+ if(generator!=null)
+ generator.setGeometryFactory(geometryFactory);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/PointGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/PointGenerator.java
new file mode 100644
index 0000000..3a6fabc
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/PointGenerator.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+
+/**
+ *
+ * Creates a point based on the bounding box.
+ *
+ * This implementation returns the centroid.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class PointGenerator extends GeometryGenerator {
+
+ /**
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ * @throws NullPointerException when either the Geometry Factory, or the Bounding Box are undefined.
+ */
+ public Geometry create() {
+ if(geometryFactory == null){
+ throw new NullPointerException("GeometryFactory is not declared");
+ }
+ if(boundingBox == null || boundingBox.isNull()){
+ throw new NullPointerException("Bounding Box is not declared");
+ }
+
+ Point p = geometryFactory.toGeometry(boundingBox).getCentroid();
+ geometryFactory.getPrecisionModel().makePrecise(p.getCoordinate());
+ return p;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/generator/PolygonGenerator.java b/modules/core/src/test/java/org/locationtech/jts/generator/PolygonGenerator.java
new file mode 100644
index 0000000..74f650f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/generator/PolygonGenerator.java
@@ -0,0 +1,310 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.generator;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.operation.valid.IsValidOp;
+
+/**
+ *
+ * This class is used to create a polygon within the specified bounding box.
+ *
+ * Successive calls to create may or may not return the same geometry topology.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class PolygonGenerator extends GeometryGenerator {
+ protected int numberPoints = 4;
+ protected int numberHoles = 0;
+ protected int generationAlgorithm = 0;
+
+ /**
+ * Creates rectangular polygons
+ */
+ public static final int BOX = 0;
+
+ /**
+ * Creates polygons whose points will not be rectangular when there are more than 4 points
+ */
+ public static final int ARC = 1;
+
+ private static final int RUNS = 5;
+
+ /**
+ * As the user increases the number of points, the probability of creating a random valid polygon decreases.
+ * Please take not of this when selecting the generation style, and the number of points.
+ *
+ * May return null if a geometry could not be created.
+ *
+ * @see #getNumberPoints()
+ * @see #setNumberPoints(int)
+ * @see #getGenerationAlgorithm()
+ * @see #setGenerationAlgorithm(int)
+ *
+ * @see #BOX
+ * @see #ARC
+ *
+ * @see org.locationtech.jts.generator.GeometryGenerator#create()
+ *
+ * @throws IllegalStateException When the alg is not valid or the number of points is invalid
+ * @throws NullPointerException when either the Geometry Factory, or the Bounding Box are undefined.
+ */
+ public Geometry create() {
+
+ if(geometryFactory == null){
+ throw new NullPointerException("GeometryFactory is not declared");
+ }
+ if(boundingBox == null || boundingBox.isNull()){
+ throw new NullPointerException("Bounding Box is not declared");
+ }
+ if(numberPoints<4){
+ throw new IllegalStateException("Too few points");
+ }
+
+ double x = boundingBox.getMinX(); // base x
+ double dx = boundingBox.getMaxX()-x;
+
+ double y = boundingBox.getMinY(); // base y
+ double dy = boundingBox.getMaxY()-y;
+
+ Polygon p = null;
+
+ for(int i=0;i<RUNS;i++){
+ switch(getGenerationAlgorithm()){
+ case BOX:
+ p = createBox(x,dx,y,dy,numberHoles,numberPoints,geometryFactory);
+ break;
+ case ARC:
+ p = createArc(x,dx,y,dy,numberHoles,numberPoints,geometryFactory);
+ break;
+ default:
+ throw new IllegalStateException("Invalid Alg. Specified");
+ }
+
+ IsValidOp valid = new IsValidOp(p);
+ if(valid.isValid()){
+ return p;
+ }
+ }
+ return null;
+ }
+
+ private static Polygon createArc(double x, double dx, double y, double dy, int nholes, int npoints, GeometryFactory gf){
+ // make outer ring first
+ double radius = dx<dy?dx/3:dy/3;
+
+ double cx = x+(dx/2); // center
+ double cy = y+(dy/2); // center
+
+ LinearRing outer = createArc(cx,cy,radius,npoints,gf);
+
+ if(nholes == 0){
+ return gf.createPolygon(outer,null);
+ }
+
+ LinearRing[] inner = new LinearRing[nholes];
+
+ radius *= .75;
+ int degreesPerHole = 360/(nholes+1);
+ int degreesPerGap = degreesPerHole/nholes;
+ degreesPerGap = degreesPerGap<2?2:degreesPerGap;
+ degreesPerHole = (360-(degreesPerGap*nholes))/nholes;
+
+ if(degreesPerHole < 2)
+ throw new RuntimeException("Slices too small for poly. Use Box alg.");
+
+ int start = degreesPerGap/2;
+ for(int i=0;i<nholes;i++){
+ int st = start+(i*(degreesPerHole+degreesPerGap)); // start angle
+ inner[i] = createTri(cx,cy,st,st+degreesPerHole,radius,gf);
+ }
+
+
+ return gf.createPolygon(outer,inner);
+ }
+
+ private static LinearRing createTri(double cx, double cy ,int startAngle, int endAngle, double radius, GeometryFactory gf){
+
+ Coordinate[] coords = new Coordinate[4];
+
+ double fx1,fx2,fy1,fy2;
+
+ double angle = Math.toRadians(startAngle);
+ fx1 = Math.sin(angle)*radius; // may be neg.
+ fy1 = Math.cos(angle)*radius; // may be neg.
+
+ angle = Math.toRadians(endAngle);
+ fx2 = Math.sin(angle)*radius; // may be neg.
+ fy2 = Math.cos(angle)*radius; // may be neg.
+
+ coords[0] = new Coordinate(cx,cy);
+ gf.getPrecisionModel().makePrecise(coords[0]);
+ coords[1] = new Coordinate(cx+fx1,cy+fy1);
+ gf.getPrecisionModel().makePrecise(coords[1]);
+ coords[2] = new Coordinate(cx+fx2,cy+fy2);
+ gf.getPrecisionModel().makePrecise(coords[2]);
+ coords[3] = new Coordinate(cx,cy);
+ gf.getPrecisionModel().makePrecise(coords[3]);
+
+ return gf.createLinearRing(coords);
+ }
+
+ private static LinearRing createArc(double cx, double cy ,double radius, int npoints, GeometryFactory gf){
+
+ Coordinate[] coords = new Coordinate[npoints+1];
+
+ double theta = 360/npoints;
+
+ for(int i=0;i<npoints;i++){
+ double angle = Math.toRadians(theta*i);
+
+ double fx = Math.sin(angle)*radius; // may be neg.
+ double fy = Math.cos(angle)*radius; // may be neg.
+
+ coords[i] = new Coordinate(cx+fx,cy+fy);
+ gf.getPrecisionModel().makePrecise(coords[i]);
+ }
+
+ coords[npoints] = new Coordinate(coords[0]);
+ gf.getPrecisionModel().makePrecise(coords[npoints]);
+
+ return gf.createLinearRing(coords);
+ }
+
+ private static Polygon createBox(double x, double dx, double y, double dy, int nholes, int npoints, GeometryFactory gf){
+ // make outer ring first
+ LinearRing outer = createBox(x,dx,y,dy,npoints,gf);
+
+ if(nholes == 0){
+ return gf.createPolygon(outer,null);
+ }
+
+ LinearRing[] inner = new LinearRing[nholes];
+
+ int nrow = (int)Math.sqrt(nholes);
+ int ncol = nholes/nrow;
+
+ double ddx = dx/(ncol+1);
+ double ddy = dy/(nrow+1);
+
+ // spacers
+ double spx = ddx/(ncol+1);
+ double spy = ddy/(nrow+1);
+
+ // should have more grids than required
+ int cindex = 0;
+ for(int i=0;i<nrow;i++){
+ for(int j=0;j<ncol;j++){
+ if(cindex<nholes){
+ // make another box
+ int pts = npoints/2;
+ pts = pts<4?4:pts;
+
+ inner[cindex++] = createBox(spx+x+j*(ddx+spx),ddx,spy+y+i*(ddy+spy),ddy,pts,gf);
+ }
+ }
+ }
+
+ return gf.createPolygon(outer,inner);
+ }
+
+ private static LinearRing createBox(double x, double dx, double y, double dy, int npoints, GeometryFactory gf){
+
+ //figure out the number of points per side
+ int ptsPerSide = npoints/4;
+ int rPtsPerSide = npoints%4;
+ Coordinate[] coords = new Coordinate[npoints+1];
+ coords[0] = new Coordinate(x,y); // start
+ gf.getPrecisionModel().makePrecise(coords[0]);
+
+ int cindex = 1;
+ for(int i=0;i<4;i++){ // sides
+ int npts = ptsPerSide+(rPtsPerSide-->0?1:0);
+ // npts atleast 1
+
+ if(i%2 == 1){ // odd vert
+ double cy = dy/npts;
+ if(i > 1) // down
+ cy *=-1;
+ double tx = coords[cindex-1].x;
+ double sy = coords[cindex-1].y;
+
+ for(int j=0;j<npts;j++){
+ coords[cindex] = new Coordinate(tx,sy+(j+1)*cy);
+ gf.getPrecisionModel().makePrecise(coords[cindex++]);
+ }
+ }else{ // even horz
+ double cx = dx/npts;
+ if(i > 1) // down
+ cx *=-1;
+ double ty = coords[cindex-1].y;
+ double sx = coords[cindex-1].x;
+
+ for(int j=0;j<npts;j++){
+ coords[cindex] = new Coordinate(sx+(j+1)*cx,ty);
+ gf.getPrecisionModel().makePrecise(coords[cindex++]);
+ }
+ }
+ }
+ coords[npoints] = new Coordinate(x,y); // end
+ gf.getPrecisionModel().makePrecise(coords[npoints]);
+
+ return gf.createLinearRing(coords);
+ }
+
+ /**
+ * @return Returns the generationAlgorithm.
+ */
+ public int getGenerationAlgorithm() {
+ return generationAlgorithm;
+ }
+
+ /**
+ * @param generationAlgorithm The generationAlgorithm to set.
+ */
+ public void setGenerationAlgorithm(int generationAlgorithm) {
+ this.generationAlgorithm = generationAlgorithm;
+ }
+
+ /**
+ * @return Returns the numberHoles.
+ */
+ public int getNumberHoles() {
+ return numberHoles;
+ }
+
+ /**
+ * @param numberHoles The numberHoles to set.
+ */
+ public void setNumberHoles(int numberHoles) {
+ this.numberHoles = numberHoles;
+ }
+
+ /**
+ * @return Returns the numberPoints.
+ */
+ public int getNumberPoints() {
+ return numberPoints;
+ }
+
+ /**
+ * @param numberPoints The numberPoints to set.
+ */
+ public void setNumberPoints(int numberPoints) {
+ this.numberPoints = numberPoints;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/AreaLengthTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/AreaLengthTest.java
new file mode 100644
index 0000000..27865e1
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/AreaLengthTest.java
@@ -0,0 +1,68 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class AreaLengthTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ private static final double TOLERANCE = 1E-5;
+
+ public static void main(String args[]) {
+ TestRunner.run(AreaLengthTest.class);
+ }
+
+ public AreaLengthTest(String name) { super(name); }
+
+ public void testLength() throws Exception
+ {
+ checkLength("MULTIPOINT (220 140, 180 280)", 0.0);
+ checkLength("LINESTRING (220 140, 180 280)", 145.6021977);
+ checkLength("LINESTRING (0 0, 100 100)", 141.4213562373095);
+ checkLength("POLYGON ((20 20, 40 20, 40 40, 20 40, 20 20))", 80.0);
+ checkLength("POLYGON ((20 20, 40 20, 40 40, 20 40, 20 20), (25 35, 35 35, 35 25, 25 25, 25 35))", 120.0);
+ }
+
+ public void testArea() throws Exception
+ {
+ checkArea("MULTIPOINT (220 140, 180 280)", 0.0);
+ checkArea("LINESTRING (220 140, 180 280)", 0.0);
+ checkArea("POLYGON ((20 20, 40 20, 40 40, 20 40, 20 20))", 400.0);
+ checkArea("POLYGON ((20 20, 40 20, 40 40, 20 40, 20 20), (25 35, 35 35, 35 25, 25 25, 25 35))", 300.0);
+ }
+
+ public void checkLength(String wkt, double expectedValue) throws Exception {
+ Geometry g = reader.read(wkt);
+ double len = g.getLength();
+// //System.out.println(len);
+ assertEquals(expectedValue, len, TOLERANCE);
+ }
+
+ public void checkArea(String wkt, double expectedValue) throws Exception {
+ Geometry g = reader.read(wkt);
+ assertEquals(expectedValue, g.getArea(), TOLERANCE);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/BidirectionalComparatorTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/BidirectionalComparatorTest.java
new file mode 100644
index 0000000..3b5c03f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/BidirectionalComparatorTest.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import java.util.Comparator;
+
+import org.locationtech.jts.geom.CoordinateArrays.BidirectionalComparator;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link BidirectionalComparator}.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class BidirectionalComparatorTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(BidirectionalComparatorTest.class);
+ }
+
+ public BidirectionalComparatorTest(String name) { super(name); }
+
+
+ public void testLineString1() throws Exception
+ {
+ assertTrue(0 == compareBiDir(
+ "LINESTRING ( 1388155.775 794886.703, 1388170.712 794887.346, 1388185.425 794892.987, 1388195.167 794898.409, 1388210.091 794899.06, 1388235.117 794900.145, 1388250.276 794895.796, 1388270.174 794896.648, 1388280.138 794897.079, 1388295.063 794897.731, 1388310.348 794893.382, 1388330.479 794889.255, 1388345.617 794884.895, 1388360.778 794880.538, 1388366.184 794870.766, 1388366.62 794860.776, 1388362.086 794850.563, 1388357.761 794835.234, 1388343.474 794 [...]
+ "LINESTRING ( 1388454.204 794698.202, 1388433.884 794693.192, 1388409.429 794682.126, 1388394.513 794681.487, 1388369.486 794680.401, 1388339.4 794684.108, 1388319.278 794688.247, 1388303.994 794692.585, 1388293.603 794702.155, 1388278.444 794706.504, 1388273.037 794716.275, 1388282.129 794736.7, 1388286.452 794751.914, 1388301.155 794757.682, 1388310.597 794773.107, 1388320.114 794783.54, 1388339.151 794804.386, 1388343.474 794819.588, 1388357.761 794835 [...]
+ ));
+ }
+
+ public void testLineString2() throws Exception
+ {
+ assertTrue(0 == compareBiDir(
+ "LINESTRING (1389103.293 794193.755, 1389064.931 794188.991)",
+ "LINESTRING (1389064.931 794188.991, 1389103.293 794193.755)"
+ ));
+ }
+
+
+
+ public int compareBiDir(String wkt0, String wkt1)
+ throws Exception
+ {
+ LineString g0 = (LineString) rdr.read(wkt0);
+ LineString g1 = (LineString) rdr.read(wkt1);
+ Coordinate[] pts0 = g0.getCoordinates();
+ Coordinate[] pts1 = g1.getCoordinates();
+ Comparator comp = new CoordinateArrays.BidirectionalComparator();
+ return comp.compare(pts0, pts1);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateArraysTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateArraysTest.java
new file mode 100644
index 0000000..f7cb641
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateArraysTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Unit tests for {@link CoordinateArrays}
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class CoordinateArraysTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(CoordinateArraysTest.class);
+ }
+
+ private static Coordinate[] COORDS_1 = new Coordinate[] { new Coordinate(1, 1), new Coordinate(2, 2), new Coordinate(3, 3) };
+ private static Coordinate[] COORDS_EMPTY = new Coordinate[0];
+
+ public CoordinateArraysTest(String name) { super(name); }
+
+ public void testPtNotInList1()
+ {
+ assertTrue(CoordinateArrays.ptNotInList(
+ new Coordinate[] { new Coordinate(1, 1), new Coordinate(2, 2), new Coordinate(3, 3) },
+ new Coordinate[] { new Coordinate(1, 1), new Coordinate(1, 2), new Coordinate(1, 3) }
+ ).equals2D(new Coordinate(2, 2))
+ );
+ }
+ public void testPtNotInList2()
+ {
+ assertTrue(CoordinateArrays.ptNotInList(
+ new Coordinate[] { new Coordinate(1, 1), new Coordinate(2, 2), new Coordinate(3, 3) },
+ new Coordinate[] { new Coordinate(1, 1), new Coordinate(2, 2), new Coordinate(3, 3) }
+ ) == null
+ );
+ }
+ public void testEnvelope1()
+ {
+ assertEquals( CoordinateArrays.envelope(COORDS_1), new Envelope(1, 3, 1, 3) );
+ }
+ public void testEnvelopeEmpty()
+ {
+ assertEquals( CoordinateArrays.envelope(COORDS_EMPTY), new Envelope() );
+ }
+ public void testIntersection_envelope1()
+ {
+ assertTrue(CoordinateArrays.equals(
+ CoordinateArrays.intersection(COORDS_1, new Envelope(1, 2, 1, 2)),
+ new Coordinate[] { new Coordinate(1, 1), new Coordinate(2, 2) }
+ ));
+ }
+ public void testIntersection_envelopeDisjoint()
+ {
+ assertTrue(CoordinateArrays.equals(
+ CoordinateArrays.intersection(COORDS_1, new Envelope(10, 20, 10, 20)), COORDS_EMPTY )
+ );
+ }
+ public void testIntersection_empty_envelope()
+ {
+ assertTrue(CoordinateArrays.equals(
+ CoordinateArrays.intersection(COORDS_EMPTY, new Envelope(1, 2, 1, 2)), COORDS_EMPTY )
+ );
+ }
+ public void testIntersection_coords_emptyEnvelope()
+ {
+ assertTrue(CoordinateArrays.equals(
+ CoordinateArrays.intersection(COORDS_1, new Envelope()), COORDS_EMPTY )
+ );
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateSequencesTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateSequencesTest.java
new file mode 100644
index 0000000..fd88783
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateSequencesTest.java
@@ -0,0 +1,70 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class CoordinateSequencesTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ private static final double TOLERANCE = 1E-5;
+
+ public static void main(String args[]) {
+ TestRunner.run(CoordinateSequencesTest.class);
+ }
+
+ public CoordinateSequencesTest(String name) { super(name); }
+
+ public void testCopyToLargerDim() throws Exception
+ {
+ PackedCoordinateSequenceFactory csFactory = new PackedCoordinateSequenceFactory();
+ CoordinateSequence cs2D = createTestSequence(csFactory, 10, 2);
+ CoordinateSequence cs3D = csFactory.create(10, 3);
+ CoordinateSequences.copy(cs2D, 0, cs3D, 0, cs3D.size());
+ assertTrue(CoordinateSequences.isEqual(cs2D, cs3D));
+ }
+
+ public void testCopyToSmallerDim() throws Exception
+ {
+ PackedCoordinateSequenceFactory csFactory = new PackedCoordinateSequenceFactory();
+ CoordinateSequence cs3D = createTestSequence(csFactory, 10, 3);
+ CoordinateSequence cs2D = csFactory.create(10, 2);
+ CoordinateSequences.copy(cs3D, 0, cs2D, 0, cs2D.size());
+ assertTrue(CoordinateSequences.isEqual(cs2D, cs3D));
+ }
+
+ private static CoordinateSequence createTestSequence(CoordinateSequenceFactory csFactory, int size, int dim)
+ {
+ CoordinateSequence cs = csFactory.create(size, dim);
+ // initialize with a data signature where coords look like [1, 10, 100, ...]
+ for (int i = 0; i < size; i++) {
+ for (int d = 0; d < dim; d++) {
+ cs.setOrdinate(i, d, i * Math.pow(10, d));
+ }
+ }
+ return cs;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateTest.java
new file mode 100644
index 0000000..9d4056b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/CoordinateTest.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+public class CoordinateTest extends TestCase
+{
+ public CoordinateTest(String name)
+ {
+ super(name);
+ }
+
+ public static void main(String args[]) {
+ TestRunner.run(CoordinateTest.class);
+ }
+
+ public void testConstructor3D()
+ {
+ Coordinate c = new Coordinate(350.2, 4566.8, 5266.3);
+ assertEquals(c.x, 350.2);
+ assertEquals(c.y, 4566.8);
+ assertEquals(c.z, 5266.3);
+ }
+
+ public void testConstructor2D()
+ {
+ Coordinate c = new Coordinate(350.2, 4566.8);
+ assertEquals(c.x, 350.2);
+ assertEquals(c.y, 4566.8);
+ assertEquals(c.z, Coordinate.NULL_ORDINATE);
+ }
+ public void testDefaultConstructor()
+ {
+ Coordinate c = new Coordinate();
+ assertEquals(c.x, 0.0);
+ assertEquals(c.y, 0.0);
+ assertEquals(c.z, Coordinate.NULL_ORDINATE);
+ }
+ public void testCopyConstructor3D()
+ {
+ Coordinate orig = new Coordinate(350.2, 4566.8, 5266.3);
+ Coordinate c = new Coordinate(orig);
+ assertEquals(c.x, 350.2);
+ assertEquals(c.y, 4566.8);
+ assertEquals(c.z, 5266.3);
+ }
+ public void testSetCoordinate()
+ {
+ Coordinate orig = new Coordinate(350.2, 4566.8, 5266.3);
+ Coordinate c = new Coordinate();
+ c.setCoordinate(orig);
+ assertEquals(c.x, 350.2);
+ assertEquals(c.y, 4566.8);
+ assertEquals(c.z, 5266.3);
+ }
+ public void testGetOrdinate()
+ {
+ Coordinate c = new Coordinate(350.2, 4566.8, 5266.3);
+ assertEquals(c.getOrdinate(Coordinate.X), 350.2);
+ assertEquals(c.getOrdinate(Coordinate.Y), 4566.8);
+ assertEquals(c.getOrdinate(Coordinate.Z), 5266.3);
+ }
+ public void testSetOrdinate()
+ {
+ Coordinate c = new Coordinate();
+ c.setOrdinate(Coordinate.X, 111);
+ c.setOrdinate(Coordinate.Y, 222);
+ c.setOrdinate(Coordinate.Z, 333);
+ assertEquals(c.getOrdinate(Coordinate.X), 111.0);
+ assertEquals(c.getOrdinate(Coordinate.Y), 222.0);
+ assertEquals(c.getOrdinate(Coordinate.Z), 333.0);
+ }
+ public void testEquals()
+ {
+ Coordinate c1 = new Coordinate(1,2,3);
+ String s = "Not a coordinate";
+ assertTrue(! c1.equals(s));
+
+ Coordinate c2 = new Coordinate(1,2,3);
+ assertTrue(c1.equals2D(c2));
+
+ Coordinate c3 = new Coordinate(1,22,3);
+ assertTrue(! c1.equals2D(c3));
+ }
+ public void testEquals2D()
+ {
+ Coordinate c1 = new Coordinate(1,2,3);
+ Coordinate c2 = new Coordinate(1,2,3);
+ assertTrue(c1.equals2D(c2));
+
+ Coordinate c3 = new Coordinate(1,22,3);
+ assertTrue(! c1.equals2D(c3));
+ }
+ public void testEquals3D()
+ {
+ Coordinate c1 = new Coordinate(1,2,3);
+ Coordinate c2 = new Coordinate(1,2,3);
+ assertTrue(c1.equals3D(c2));
+
+ Coordinate c3 = new Coordinate(1,22,3);
+ assertTrue(! c1.equals3D(c3));
+ }
+ public void testEquals2DWithinTolerance()
+ {
+ Coordinate c = new Coordinate(100.0, 200.0, 50.0);
+ Coordinate aBitOff = new Coordinate(100.1, 200.1, 50.0);
+ assertTrue(c.equals2D(aBitOff, 0.2));
+ }
+
+ public void testEqualsInZ() {
+
+ Coordinate c = new Coordinate(100.0, 200.0, 50.0);
+ Coordinate withSameZ = new Coordinate(100.1, 200.1, 50.1);
+ assertTrue(c.equalInZ(withSameZ, 0.2));
+ }
+
+ public void testCompareTo()
+ {
+ Coordinate lowest = new Coordinate(10.0, 100.0, 50.0);
+ Coordinate highest = new Coordinate(20.0, 100.0, 50.0);
+ Coordinate equalToHighest = new Coordinate(20.0, 100.0, 50.0);
+ Coordinate higherStill = new Coordinate(20.0, 200.0, 50.0);
+
+ assertEquals(-1, lowest.compareTo(highest));
+ assertEquals(1, highest.compareTo(lowest));
+ assertEquals(-1, highest.compareTo(higherStill));
+ assertEquals(0, highest.compareTo(equalToHighest));
+ }
+ public void testToString()
+ {
+ String expectedResult = "(100.0, 200.0, 50.0)";
+ String actualResult = new Coordinate(100.0, 200.0, 50.0).toString();
+ assertEquals(expectedResult, actualResult);
+ }
+
+ public void testClone() {
+ Coordinate c = new Coordinate(100.0, 200.0, 50.0);
+ Coordinate clone = (Coordinate) c.clone();
+ assertTrue(c.equals3D(clone));
+ }
+
+ public void testDistance() {
+ Coordinate coord1 = new Coordinate(0.0, 0.0, 0.0);
+ Coordinate coord2 = new Coordinate(100.0, 200.0, 50.0);
+ double distance = coord1.distance(coord2);
+ assertEquals(distance, 223.60679774997897, 0.00001);
+ }
+ public void testDistance3D() {
+ Coordinate coord1 = new Coordinate(0.0, 0.0, 0.0);
+ Coordinate coord2 = new Coordinate(100.0, 200.0, 50.0);
+ double distance = coord1.distance3D(coord2);
+ assertEquals(distance, 229.128784747792, 0.000001);
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/EnvelopeTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/EnvelopeTest.java
new file mode 100644
index 0000000..5fe6145
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/EnvelopeTest.java
@@ -0,0 +1,269 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * @version 1.7
+ */
+public class EnvelopeTest extends TestCase {
+ private PrecisionModel precisionModel = new PrecisionModel(1);
+
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel,
+ 0);
+
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public EnvelopeTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ TestRunner.run(EnvelopeTest.class);
+ }
+
+ public void testEverything() throws Exception {
+ Envelope e1 = new Envelope();
+ assertTrue(e1.isNull());
+ assertEquals(0, e1.getWidth(), 1E-3);
+ assertEquals(0, e1.getHeight(), 1E-3);
+ e1.expandToInclude(100, 101);
+ e1.expandToInclude(200, 202);
+ e1.expandToInclude(150, 151);
+ assertEquals(200, e1.getMaxX(), 1E-3);
+ assertEquals(202, e1.getMaxY(), 1E-3);
+ assertEquals(100, e1.getMinX(), 1E-3);
+ assertEquals(101, e1.getMinY(), 1E-3);
+ assertTrue(e1.contains(120, 120));
+ assertTrue(e1.contains(120, 101));
+ assertTrue(!e1.contains(120, 100));
+ assertEquals(101, e1.getHeight(), 1E-3);
+ assertEquals(100, e1.getWidth(), 1E-3);
+ assertTrue(!e1.isNull());
+
+ Envelope e2 = new Envelope(499, 500, 500, 501);
+ assertTrue(!e1.contains(e2));
+ assertTrue(!e1.intersects(e2));
+ e1.expandToInclude(e2);
+ assertTrue(e1.contains(e2));
+ assertTrue(e1.intersects(e2));
+ assertEquals(500, e1.getMaxX(), 1E-3);
+ assertEquals(501, e1.getMaxY(), 1E-3);
+ assertEquals(100, e1.getMinX(), 1E-3);
+ assertEquals(101, e1.getMinY(), 1E-3);
+
+ Envelope e3 = new Envelope(300, 700, 300, 700);
+ assertTrue(!e1.contains(e3));
+ assertTrue(e1.intersects(e3));
+
+ Envelope e4 = new Envelope(300, 301, 300, 301);
+ assertTrue(e1.contains(e4));
+ assertTrue(e1.intersects(e4));
+ }
+
+ public void testIntersects() {
+ checkIntersectsPermuted(1,1, 2,2, 2,2, 3,3, true);
+ checkIntersectsPermuted(1,1, 2,2, 3,3, 4,4, false);
+ }
+
+ public void testIntersectsEmpty() {
+ assertTrue(!new Envelope(-5, 5, -5, 5).intersects(new Envelope()));
+ assertTrue(!new Envelope().intersects(new Envelope(-5, 5, -5, 5)));
+ assertTrue(!new Envelope().intersects(new Envelope(100, 101, 100, 101)));
+ assertTrue(!new Envelope(100, 101, 100, 101).intersects(new Envelope()));
+ }
+
+ public void testContainsEmpty() {
+ assertTrue(!new Envelope(-5, 5, -5, 5).contains(new Envelope()));
+ assertTrue(!new Envelope().contains(new Envelope(-5, 5, -5, 5)));
+ assertTrue(!new Envelope().contains(new Envelope(100, 101, 100, 101)));
+ assertTrue(!new Envelope(100, 101, 100, 101).contains(new Envelope()));
+ }
+
+ public void testExpandToIncludeEmpty() {
+ assertEquals(new Envelope(-5, 5, -5, 5), expandToInclude(new Envelope(-5,
+ 5, -5, 5), new Envelope()));
+ assertEquals(new Envelope(-5, 5, -5, 5), expandToInclude(new Envelope(),
+ new Envelope(-5, 5, -5, 5)));
+ assertEquals(new Envelope(100, 101, 100, 101), expandToInclude(
+ new Envelope(), new Envelope(100, 101, 100, 101)));
+ assertEquals(new Envelope(100, 101, 100, 101), expandToInclude(
+ new Envelope(100, 101, 100, 101), new Envelope()));
+ }
+
+ private Envelope expandToInclude(Envelope a, Envelope b) {
+ a.expandToInclude(b);
+ return a;
+ }
+
+ public void testEmpty() {
+ assertEquals(0, new Envelope().getHeight(), 0);
+ assertEquals(0, new Envelope().getWidth(), 0);
+ assertEquals(new Envelope(), new Envelope());
+ Envelope e = new Envelope(100, 101, 100, 101);
+ e.init(new Envelope());
+ assertEquals(new Envelope(), e);
+ }
+
+ public void testAsGeometry() throws Exception {
+ assertTrue(geometryFactory.createPoint((Coordinate) null).getEnvelope()
+ .isEmpty());
+
+ Geometry g = geometryFactory.createPoint(new Coordinate(5, 6))
+ .getEnvelope();
+ assertTrue(!g.isEmpty());
+ assertTrue(g instanceof Point);
+
+ Point p = (Point) g;
+ assertEquals(5, p.getX(), 1E-1);
+ assertEquals(6, p.getY(), 1E-1);
+
+ LineString l = (LineString) reader.read("LINESTRING(10 10, 20 20, 30 40)");
+ Geometry g2 = l.getEnvelope();
+ assertTrue(!g2.isEmpty());
+ assertTrue(g2 instanceof Polygon);
+
+ Polygon poly = (Polygon) g2;
+ poly.normalize();
+ assertEquals(5, poly.getExteriorRing().getNumPoints());
+ assertEquals(new Coordinate(10, 10), poly.getExteriorRing().getCoordinateN(
+ 0));
+ assertEquals(new Coordinate(10, 40), poly.getExteriorRing().getCoordinateN(
+ 1));
+ assertEquals(new Coordinate(30, 40), poly.getExteriorRing().getCoordinateN(
+ 2));
+ assertEquals(new Coordinate(30, 10), poly.getExteriorRing().getCoordinateN(
+ 3));
+ assertEquals(new Coordinate(10, 10), poly.getExteriorRing().getCoordinateN(
+ 4));
+ }
+
+ public void testSetToNull() throws Exception {
+ Envelope e1 = new Envelope();
+ assertTrue(e1.isNull());
+ e1.expandToInclude(5, 5);
+ assertTrue(!e1.isNull());
+ e1.setToNull();
+ assertTrue(e1.isNull());
+ }
+
+ public void testEquals() throws Exception {
+ Envelope e1 = new Envelope(1, 2, 3, 4);
+ Envelope e2 = new Envelope(1, 2, 3, 4);
+ assertEquals(e1, e2);
+ assertEquals(e1.hashCode(), e2.hashCode());
+
+ Envelope e3 = new Envelope(1, 2, 3, 5);
+ assertTrue(!e1.equals(e3));
+ assertTrue(e1.hashCode() != e3.hashCode());
+ e1.setToNull();
+ assertTrue(!e1.equals(e2));
+ assertTrue(e1.hashCode() != e2.hashCode());
+ e2.setToNull();
+ assertEquals(e1, e2);
+ assertEquals(e1.hashCode(), e2.hashCode());
+ }
+
+ public void testEquals2() {
+ assertTrue(new Envelope().equals(new Envelope()));
+ assertTrue(new Envelope(1, 2, 1, 2).equals(new Envelope(1, 2, 1, 2)));
+ assertTrue(!new Envelope(1, 2, 1.5, 2).equals(new Envelope(1, 2, 1, 2)));
+ }
+
+ public void testCopyConstructor() throws Exception {
+ Envelope e1 = new Envelope(1, 2, 3, 4);
+ Envelope e2 = new Envelope(e1);
+ assertEquals(1, e2.getMinX(), 1E-5);
+ assertEquals(2, e2.getMaxX(), 1E-5);
+ assertEquals(3, e2.getMinY(), 1E-5);
+ assertEquals(4, e2.getMaxY(), 1E-5);
+ }
+
+ public void testGeometryFactoryCreateEnvelope()
+ throws Exception
+ {
+ checkExpectedEnvelopeGeometry("POINT (0 0)");
+ checkExpectedEnvelopeGeometry("POINT (100 13)");
+ checkExpectedEnvelopeGeometry("LINESTRING (0 0, 0 10)");
+ checkExpectedEnvelopeGeometry("LINESTRING (0 0, 10 0)");
+
+ String poly10 = "POLYGON ((0 10, 10 10, 10 0, 0 0, 0 10))";
+ checkExpectedEnvelopeGeometry(poly10);
+
+ checkExpectedEnvelopeGeometry("LINESTRING (0 0, 10 10)",
+ poly10);
+ checkExpectedEnvelopeGeometry("POLYGON ((5 10, 10 6, 5 0, 0 6, 5 10))",
+ poly10);
+
+
+ }
+
+ private void checkIntersectsPermuted(double a1x, double a1y, double a2x, double a2y, double b1x, double b1y, double b2x, double b2y, boolean expected) {
+ checkIntersects(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y, expected);
+ checkIntersects(a1x, a2y, a2x, a1y, b1x, b1y, b2x, b2y, expected);
+ checkIntersects(a1x, a1y, a2x, a2y, b1x, b2y, b2x, b1y, expected);
+ checkIntersects(a1x, a2y, a2x, a1y, b1x, b2y, b2x, b1y, expected);
+ }
+ private void checkIntersects(double a1x, double a1y, double a2x, double a2y, double b1x, double b1y, double b2x, double b2y, boolean expected) {
+ Envelope a = new Envelope(a1x, a2x, a1y, a2y);
+ Envelope b = new Envelope(b1x, b2x, b1y, b2y);
+ assertEquals(expected, a.intersects(b));
+
+ Coordinate a1 = new Coordinate(a1x, a1y);
+ Coordinate a2 = new Coordinate(a2x, a2y);
+ Coordinate b1 = new Coordinate(b1x, b1y);
+ Coordinate b2 = new Coordinate(b2x, b2y);
+ assertEquals(expected, Envelope.intersects(a1, a2, b1, b2));
+
+ assertEquals(expected, a.intersects(b1, b2));
+ }
+
+ void checkExpectedEnvelopeGeometry(String wktInput)
+ throws ParseException
+ {
+ checkExpectedEnvelopeGeometry(wktInput, wktInput);
+ }
+
+ void checkExpectedEnvelopeGeometry(String wktInput, String wktEnvGeomExpected)
+ throws ParseException
+ {
+ Geometry input = reader.read(wktInput);
+ Geometry envGeomExpected = reader.read(wktEnvGeomExpected);
+
+ Envelope env = input.getEnvelopeInternal();
+ Geometry envGeomActual = geometryFactory.toGeometry(env);
+ boolean isEqual = envGeomActual.equalsNorm(envGeomExpected);
+ assertTrue(isEqual);
+ }
+
+ public void testCompareTo()
+ {
+ checkCompareTo(0, new Envelope(), new Envelope());
+ checkCompareTo(0, new Envelope(1,2, 1,2), new Envelope(1,2, 1,2));
+ checkCompareTo(1, new Envelope(2,3, 1,2), new Envelope(1,2, 1,2));
+ checkCompareTo(-1, new Envelope(1,2, 1,2), new Envelope(2,3, 1,2));
+ checkCompareTo(1, new Envelope(1,2, 1,3), new Envelope(1,2, 1,2));
+ checkCompareTo(1, new Envelope(2,3, 1,3), new Envelope(1,3, 1,2));
+ }
+
+ public void checkCompareTo(int expected, Envelope env1, Envelope env2)
+ {
+ assertTrue(expected == env1.compareTo(env2));
+ assertTrue(-expected == env2.compareTo(env1));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionImplTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionImplTest.java
new file mode 100644
index 0000000..1d67897
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionImplTest.java
@@ -0,0 +1,78 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for com.vividsolutions.jts.geom.GeometryCollectionImpl.
+ *
+ * @version 1.7
+ */
+public class GeometryCollectionImplTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1000);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public GeometryCollectionImplTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(GeometryCollectionImplTest.class); }
+
+ public void testGetDimension() throws Exception {
+ GeometryCollection g = (GeometryCollection) reader.read("GEOMETRYCOLLECTION (POINT (10 10), POINT (30 30), LINESTRING (15 15, 20 20))");
+ assertEquals(1, g.getDimension());
+ }
+
+ public void testGetCoordinates() throws Exception {
+ GeometryCollection g = (GeometryCollection) reader.read("GEOMETRYCOLLECTION (POINT (10 10), POINT (30 30), LINESTRING (15 15, 20 20))");
+ Coordinate[] coordinates = g.getCoordinates();
+ assertEquals(4, g.getNumPoints());
+ assertEquals(4, coordinates.length);
+ assertEquals(new Coordinate(10, 10), coordinates[0]);
+ assertEquals(new Coordinate(20, 20), coordinates[3]);
+ }
+
+ public void testGeometryCollectionIterator() throws Exception {
+ GeometryCollection g = (GeometryCollection) reader.read(
+ "GEOMETRYCOLLECTION (GEOMETRYCOLLECTION (POINT (10 10)))");
+ GeometryCollectionIterator i = new GeometryCollectionIterator(g);
+ assertTrue(i.hasNext());
+ assertTrue(i.next() instanceof GeometryCollection);
+ assertTrue(i.next() instanceof GeometryCollection);
+ assertTrue(i.next() instanceof Point);
+ }
+
+ public void testGetLength() throws Exception{
+ GeometryCollection g = (GeometryCollection) new WKTReader().read(
+ "MULTIPOLYGON("
+ + "((0 0, 10 0, 10 10, 0 10, 0 0), (3 3, 3 7, 7 7, 7 3, 3 3)),"
+ + "((100 100, 110 100, 110 110, 100 110, 100 100), (103 103, 103 107, 107 107, 107 103, 103 103)))");
+ assertEquals(112, g.getLength(), 1E-15);
+ }
+
+
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionIteratorTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionIteratorTest.java
new file mode 100644
index 0000000..25b6362
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryCollectionIteratorTest.java
@@ -0,0 +1,54 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+
+/**
+ * Test for {@link GeometryCollectionIterator}.
+ *
+ * @version 1.7
+ */
+public class GeometryCollectionIteratorTest extends GeometryTestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(GeometryCollectionIteratorTest.class);
+ }
+
+ public GeometryCollectionIteratorTest(String name) { super(name); }
+
+ public void testGeometryCollection() throws Exception {
+ GeometryCollection g = (GeometryCollection) read(
+ "GEOMETRYCOLLECTION (GEOMETRYCOLLECTION (POINT (10 10)))");
+ GeometryCollectionIterator i = new GeometryCollectionIterator(g);
+ assertTrue(i.hasNext());
+ assertTrue(i.next() instanceof GeometryCollection);
+ assertTrue(i.hasNext());
+ assertTrue(i.next() instanceof GeometryCollection);
+ assertTrue(i.hasNext());
+ assertTrue(i.next() instanceof Point);
+ assertTrue(! i.hasNext());
+ }
+
+ public void testAtomic() throws Exception {
+ Polygon g = (Polygon) read("POLYGON ((1 9, 9 9, 9 1, 1 1, 1 9))");
+ GeometryCollectionIterator i = new GeometryCollectionIterator(g);
+ assertTrue(i.hasNext());
+ assertTrue(i.next() instanceof Polygon);
+ assertTrue(! i.hasNext());
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/GeometryFactoryTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryFactoryTest.java
new file mode 100644
index 0000000..b71c6cb
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryFactoryTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.geom.impl.CoordinateArraySequenceFactory;
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests for {@link GeometryFactory}.
+ *
+ * @version 1.13
+ */
+public class GeometryFactoryTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel();
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(GeometryFactoryTest.class);
+ }
+
+ public GeometryFactoryTest(String name) { super(name); }
+
+ public void testCreateGeometry() throws ParseException
+ {
+ checkCreateGeometryExact("POINT EMPTY");
+ checkCreateGeometryExact("POINT ( 10 20 )");
+ checkCreateGeometryExact("LINESTRING EMPTY");
+ checkCreateGeometryExact("LINESTRING(0 0, 10 10)");
+ checkCreateGeometryExact("MULTILINESTRING ((50 100, 100 200), (100 100, 150 200))");
+ checkCreateGeometryExact("POLYGON ((100 200, 200 200, 200 100, 100 100, 100 200))");
+ checkCreateGeometryExact("MULTIPOLYGON (((100 200, 200 200, 200 100, 100 100, 100 200)), ((300 200, 400 200, 400 100, 300 100, 300 200)))");
+ checkCreateGeometryExact("GEOMETRYCOLLECTION (POLYGON ((100 200, 200 200, 200 100, 100 100, 100 200)), LINESTRING (250 100, 350 200), POINT (350 150))");
+ }
+
+ public void testDeepCopy() throws ParseException
+ {
+ Point g = (Point) read("POINT ( 10 10) ");
+ Geometry g2 = geometryFactory.createGeometry(g);
+ g.getCoordinateSequence().setOrdinate(0, 0, 99);
+ assertTrue(! g.equalsExact(g2));
+ }
+
+ public void testMultiPointCS()
+ {
+ GeometryFactory gf = new GeometryFactory(new PackedCoordinateSequenceFactory());
+ CoordinateSequence mpSeq = gf.getCoordinateSequenceFactory().create(1, 4);
+ mpSeq.setOrdinate(0, 0, 50);
+ mpSeq.setOrdinate(0, 1, -2);
+ mpSeq.setOrdinate(0, 2, 10);
+ mpSeq.setOrdinate(0, 3, 20);
+
+ MultiPoint mp = gf.createMultiPoint(mpSeq);
+ CoordinateSequence pSeq = ((Point)mp.getGeometryN(0)).getCoordinateSequence();
+ assertEquals(4, pSeq.getDimension());
+ for (int i = 0; i < 4; i++)
+ assertEquals(mpSeq.getOrdinate(0, i), pSeq.getOrdinate(0, i));
+ }
+
+ /**
+ * CoordinateArraySequences default their dimension to 3 unless explicitly told otherwise.
+ * This test ensures that GeometryFactory.createGeometry() recreates the input dimension properly.
+ *
+ * @throws ParseException
+ */
+ public void testCopyGeometryWithNonDefaultDimension() throws ParseException
+ {
+ GeometryFactory gf = new GeometryFactory(CoordinateArraySequenceFactory.instance());
+ CoordinateSequence mpSeq = gf.getCoordinateSequenceFactory().create(1, 2);
+ mpSeq.setOrdinate(0, 0, 50);
+ mpSeq.setOrdinate(0, 1, -2);
+
+ Point g = gf.createPoint(mpSeq);
+ CoordinateSequence pSeq = ((Point) g.getGeometryN(0)).getCoordinateSequence();
+ assertEquals(2, pSeq.getDimension());
+
+ Point g2 = (Point) geometryFactory.createGeometry(g);
+ assertEquals(2, g2.getCoordinateSequence().getDimension());
+
+ }
+
+ private void checkCreateGeometryExact(String wkt) throws ParseException
+ {
+ Geometry g = read(wkt);
+ Geometry g2 = geometryFactory.createGeometry(g);
+ assertTrue(g.equalsExact(g2));
+ }
+
+ private Geometry read(String wkt) throws ParseException
+ {
+ return reader.read(wkt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/GeometryImplTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryImplTest.java
new file mode 100644
index 0000000..4b73126
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/GeometryImplTest.java
@@ -0,0 +1,448 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import java.util.Arrays;
+
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryImplTest extends TestCase {
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+ WKTReader readerFloat = new WKTReader();
+
+ public GeometryImplTest(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ return new TestSuite(GeometryImplTest.class);
+ }
+
+ public void testComparable() throws Exception {
+ Geometry point = reader.read("POINT EMPTY");
+ Geometry lineString = reader.read("LINESTRING EMPTY");
+ Geometry linearRing = reader.read("LINEARRING EMPTY");
+ Geometry polygon = reader.read("POLYGON EMPTY");
+ Geometry mpoint = reader.read("MULTIPOINT EMPTY");
+ Geometry mlineString = reader.read("MULTILINESTRING EMPTY");
+ Geometry mpolygon = reader.read("MULTIPOLYGON EMPTY");
+ Geometry gc = reader.read("GEOMETRYCOLLECTION EMPTY");
+
+ Geometry[] geometries = new Geometry[] {
+ gc,
+ mpolygon,
+ mlineString,
+ mpoint,
+ polygon,
+ linearRing,
+ lineString,
+ point
+ };
+
+ Geometry[] geometriesExpectedOrder = new Geometry[] {
+ point,
+ mpoint,
+ lineString,
+ linearRing,
+ mlineString,
+ polygon,
+ mpolygon,
+ gc
+ };
+
+ Arrays.sort(geometries);
+
+ assertTrue(Arrays.equals(geometries, geometriesExpectedOrder));
+ }
+
+ public void testPolygonRelate() throws Exception {
+ Geometry bigPolygon = reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Geometry smallPolygon = reader.read(
+ "POLYGON ((10 10, 10 30, 30 30, 30 10, 10 10))");
+ assertTrue(bigPolygon.contains(smallPolygon));
+ }
+
+ public void testEmptyGeometryCentroid() throws Exception {
+ assertTrue(reader.read("POINT EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("POLYGON EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("LINESTRING EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("GEOMETRYCOLLECTION EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, GEOMETRYCOLLECTION EMPTY)").getCentroid().isEmpty());
+ assertTrue(reader.read("MULTIPOLYGON EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("MULTILINESTRING EMPTY").getCentroid().isEmpty());
+ assertTrue(reader.read("MULTIPOINT EMPTY").getCentroid().isEmpty());
+ }
+
+ public void testNoOutgoingDirEdgeFound() throws Exception {
+ doTestFromCommcast2003AtYahooDotCa(reader);
+ }
+
+ public void testOutOfMemoryError() throws Exception {
+ doTestFromCommcast2003AtYahooDotCa(new WKTReader());
+ }
+
+
+
+ public void testDepthMismatchAssertionFailedException() throws Exception {
+ //register at robmeek.com reported an assertion failure
+ //("depth mismatch at (160.0, 300.0, Nan)") [Jon Aquino 10/28/2003]
+ reader
+ .read("MULTIPOLYGON (((100 300, 100 400, 200 400, 200 300, 100 300)),"
+ + "((160 300, 160 400, 260 400, 260 300, 160 300)),"
+ + "((160 300, 160 200, 260 200, 260 300, 160 300)))").buffer(0);
+ }
+
+ private void doTestFromCommcast2003AtYahooDotCa(WKTReader reader)
+ throws ParseException {
+ readerFloat.read(
+ "POLYGON ((708653.498611049 2402311.54647056, 708708.895756966 2402203.47250014, 708280.326454234 2402089.6337791, 708247.896591321 2402252.48269854, 708367.379593851 2402324.00761653, 708248.882609455 2402253.07294874, 708249.523621829 2402244.3124463, 708261.854734465 2402182.39086576, 708262.818392579 2402183.35452387, 708653.498611049 2402311.54647056))")
+ .intersection(reader.read(
+ "POLYGON ((708258.754920656 2402197.91172757, 708257.029447455 2402206.56901508, 708652.961095455 2402312.65463437, 708657.068786251 2402304.6356364, 708258.754920656 2402197.91172757))"));
+ }
+
+ public void testEquals() throws Exception {
+ Geometry g = reader.read("POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Geometry same = reader.read("POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Geometry differentStart = reader.read(
+ "POLYGON ((0 50, 50 50, 50 0, 0 0, 0 50))");
+ Geometry differentFourth = reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 -99, 0 0))");
+ Geometry differentSecond = reader.read(
+ "POLYGON ((0 0, 0 99, 50 50, 50 0, 0 0))");
+ doTestEquals(g, same, true, true, true, true);
+ doTestEquals(g, differentStart, true, false, false, true);
+ doTestEquals(g, differentFourth, false, false, false, false);
+ doTestEquals(g, differentSecond, false, false, false, false);
+ }
+
+ private void doTestEquals(Geometry a, Geometry b, boolean equalsGeometry,
+ boolean equalsObject, boolean equalsExact, boolean equalsHash) {
+ assertEquals(equalsGeometry, a.equals(b));
+ assertEquals(equalsObject, a.equals((Object) b));
+ assertEquals(equalsExact, a.equalsExact(b));
+ assertEquals(equalsHash, a.hashCode() == b.hashCode());
+ }
+
+ public void testInvalidateEnvelope() throws Exception {
+ Geometry g = reader.read("POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ assertEquals(new Envelope(0, 50, 0, 50), g.getEnvelopeInternal());
+ g.apply(new CoordinateFilter() {
+ public void filter(Coordinate coord) {
+ coord.x += 1;
+ coord.y += 1;
+ }
+ });
+ assertEquals(new Envelope(0, 50, 0, 50), g.getEnvelopeInternal());
+ g.geometryChanged();
+ assertEquals(new Envelope(1, 51, 1, 51), g.getEnvelopeInternal());
+ }
+
+ public void testEquals1() throws Exception {
+ Geometry polygon1 = reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Geometry polygon2 = reader.read(
+ "POLYGON ((50 50, 50 0, 0 0, 0 50, 50 50))");
+ assertTrue(polygon1.equals(polygon2));
+ }
+
+ public void testEqualsWithNull() throws Exception
+ {
+ Geometry polygon = reader.read("POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ assertTrue(! polygon.equals(null));
+ final Object g = null;
+ assertTrue(! polygon.equals(g));
+ }
+
+ // public void testEquals2() throws Exception {
+ // Geometry lineString = reader.read("LINESTRING(0 0, 0 50, 50 50, 50 0, 0 0)");
+ // Geometry geometryCollection = reader.read("GEOMETRYCOLLECTION ( LINESTRING(0 0 , 0 50), "
+ // + "LINESTRING(0 50 , 50 50), "
+ // + "LINESTRING(50 50, 50 0 ), "
+ // + "LINESTRING(50 0 , 0 0 ) )");
+ // assertTrue(lineString.equals(geometryCollection));
+ // }
+ public void testEqualsExactForLinearRings() throws Exception {
+ LinearRing x = geometryFactory.createLinearRing(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 100), new Coordinate(0, 0)
+ });
+ LinearRing somethingExactlyEqual = geometryFactory.createLinearRing(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 100), new Coordinate(0, 0)
+ });
+ LinearRing somethingNotEqualButSameClass = geometryFactory.createLinearRing(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 555), new Coordinate(0, 0)
+ });
+ LinearRing sameClassButEmpty = geometryFactory.createLinearRing((CoordinateSequence)null);
+ LinearRing anotherSameClassButEmpty = geometryFactory.createLinearRing((CoordinateSequence)null);
+ CollectionFactory collectionFactory = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createMultiLineString(GeometryFactory.toLineStringArray(
+ Arrays.asList(geometries)));
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory);
+
+ // LineString somethingEqualButNotExactly = geometryFactory.createLineString(new Coordinate[] {
+ // new Coordinate(0, 0), new Coordinate(100, 0), new Coordinate(100, 100),
+ // new Coordinate(0, 0) });
+ //
+ // doTestEqualsExact(x, somethingExactlyEqual, somethingEqualButNotExactly,
+ // somethingNotEqualButSameClass);
+ }
+
+ public void testEqualsExactForLineStrings() throws Exception {
+ LineString x = geometryFactory.createLineString(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 100)
+ });
+ LineString somethingExactlyEqual = geometryFactory.createLineString(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 100)
+ });
+ LineString somethingNotEqualButSameClass = geometryFactory.createLineString(new Coordinate[] {
+ new Coordinate(0, 0), new Coordinate(100, 0),
+ new Coordinate(100, 555)
+ });
+ LineString sameClassButEmpty = geometryFactory.createLineString((Coordinate[])null);
+ LineString anotherSameClassButEmpty = geometryFactory.createLineString((Coordinate[])null);
+ CollectionFactory collectionFactory = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createMultiLineString(GeometryFactory.toLineStringArray(
+ Arrays.asList(geometries)));
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory);
+
+ CollectionFactory collectionFactory2 = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createMultiLineString(GeometryFactory.toLineStringArray(
+ Arrays.asList(geometries)));
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory2);
+ }
+
+ public void testEqualsExactForPoints() throws Exception {
+ Point x = geometryFactory.createPoint(new Coordinate(100, 100));
+ Point somethingExactlyEqual = geometryFactory.createPoint(new Coordinate(
+ 100, 100));
+ Point somethingNotEqualButSameClass = geometryFactory.createPoint(new Coordinate(
+ 999, 100));
+ Point sameClassButEmpty = geometryFactory.createPoint((Coordinate)null);
+ Point anotherSameClassButEmpty = geometryFactory.createPoint((Coordinate)null);
+ CollectionFactory collectionFactory = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createMultiPoint(GeometryFactory.toPointArray(
+ Arrays.asList(geometries)));
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory);
+ }
+
+ public void testEqualsExactForPolygons() throws Exception {
+ Polygon x = (Polygon) reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Polygon somethingExactlyEqual = (Polygon) reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Polygon somethingNotEqualButSameClass = (Polygon) reader.read(
+ "POLYGON ((50 50, 50 0, 0 0, 0 50, 50 50))");
+ Polygon sameClassButEmpty = (Polygon) reader.read("POLYGON EMPTY");
+ Polygon anotherSameClassButEmpty = (Polygon) reader.read(
+ "POLYGON EMPTY");
+ CollectionFactory collectionFactory = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createMultiPolygon(GeometryFactory.toPolygonArray(
+ Arrays.asList(geometries)));
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory);
+ }
+
+ public void testEqualsExactForGeometryCollections()
+ throws Exception {
+ Geometry polygon1 = (Polygon) reader.read(
+ "POLYGON ((0 0, 0 50, 50 50, 50 0, 0 0))");
+ Geometry polygon2 = (Polygon) reader.read(
+ "POLYGON ((50 50, 50 0, 0 0, 0 50, 50 50))");
+ GeometryCollection x = geometryFactory.createGeometryCollection(new Geometry[] {
+ polygon1, polygon2
+ });
+ GeometryCollection somethingExactlyEqual = geometryFactory.createGeometryCollection(new Geometry[] {
+ polygon1, polygon2
+ });
+ GeometryCollection somethingNotEqualButSameClass = geometryFactory.createGeometryCollection(new Geometry[] {
+ polygon2
+ });
+ GeometryCollection sameClassButEmpty = geometryFactory.createGeometryCollection(null);
+ GeometryCollection anotherSameClassButEmpty = geometryFactory.createGeometryCollection(null);
+ CollectionFactory collectionFactory = new CollectionFactory() {
+ public Geometry createCollection(Geometry[] geometries) {
+ return geometryFactory.createGeometryCollection(geometries);
+ }
+ };
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ somethingNotEqualButSameClass, sameClassButEmpty,
+ anotherSameClassButEmpty, collectionFactory);
+ }
+
+ public void testGeometryCollectionIntersects1() throws Exception {
+ Geometry gc0 = reader.read(
+ "GEOMETRYCOLLECTION ( POINT(0 0) )");
+ Geometry gc1 = reader.read(
+ "GEOMETRYCOLLECTION ( LINESTRING(0 0, 1 1) )");
+ Geometry gc2 = reader.read(
+ "GEOMETRYCOLLECTION ( LINESTRING(1 0, 0 1) )");
+ assertTrue(gc0.intersects(gc1));
+ assertTrue(gc1.intersects(gc2));
+ assertTrue(!gc0.intersects(gc2));
+ // symmetric
+ assertTrue(gc1.intersects(gc0));
+ assertTrue(gc2.intersects(gc1));
+ assertTrue(!gc2.intersects(gc0));
+ }
+
+ public void testGeometryCollectionIntersects2() throws Exception {
+ Geometry gc0 = reader.read(
+ "POINT(0 0)");
+ Geometry gc1 = reader.read(
+ "GEOMETRYCOLLECTION ( LINESTRING(0 0, 1 1) )");
+ Geometry gc2 = reader.read(
+ "LINESTRING(1 0, 0 1)");
+ assertTrue(gc0.intersects(gc1));
+ assertTrue(gc1.intersects(gc2));
+ // symmetric
+ assertTrue(gc1.intersects(gc0));
+ assertTrue(gc2.intersects(gc1));
+ }
+
+ public void testGeometryCollectionIntersects3() throws Exception {
+ Geometry gc0 = reader.read(
+ "GEOMETRYCOLLECTION ( POINT(0 0), LINESTRING(1 1, 2 2) )");
+ Geometry gc1 = reader.read(
+ "GEOMETRYCOLLECTION ( POINT(15 15) )");
+ Geometry gc2 = reader.read(
+ "GEOMETRYCOLLECTION ( LINESTRING(0 0, 2 0), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10)))");
+ assertTrue(gc0.intersects(gc2));
+ assertTrue(!gc0.intersects(gc1));
+ assertTrue(gc1.intersects(gc2));
+ // symmetric
+ assertTrue(gc2.intersects(gc0));
+ assertTrue(!gc1.intersects(gc0));
+ assertTrue(gc2.intersects(gc1));
+ }
+
+ private void doTestEqualsExact(Geometry x,
+ Geometry somethingExactlyEqual,
+ Geometry somethingNotEqualButSameClass,
+ Geometry sameClassButEmpty,
+ Geometry anotherSameClassButEmpty,
+ CollectionFactory collectionFactory)
+ throws Exception {
+ Geometry emptyDifferentClass;
+
+ if (x instanceof Point) {
+ emptyDifferentClass = geometryFactory.createGeometryCollection(null);
+ } else {
+ emptyDifferentClass = geometryFactory.createPoint((Coordinate)null);
+ }
+
+ Geometry somethingEqualButNotExactly = geometryFactory.createGeometryCollection(new Geometry[] {
+ x
+ });
+
+ doTestEqualsExact(x, somethingExactlyEqual,
+ collectionFactory.createCollection(new Geometry[] { x }),
+ somethingNotEqualButSameClass);
+
+ doTestEqualsExact(sameClassButEmpty, anotherSameClassButEmpty,
+ emptyDifferentClass, x);
+
+ /**
+ * Test comparison of non-empty versus empty.
+ */
+ doTestEqualsExact(x, somethingExactlyEqual,
+ sameClassButEmpty, sameClassButEmpty);
+
+ doTestEqualsExact(collectionFactory.createCollection(
+ new Geometry[] { x, x }),
+ collectionFactory.createCollection(
+ new Geometry[] { x, somethingExactlyEqual }),
+ somethingEqualButNotExactly,
+ collectionFactory.createCollection(
+ new Geometry[] { x, somethingNotEqualButSameClass }));
+ }
+
+ private void doTestEqualsExact(Geometry x,
+ Geometry somethingExactlyEqual,
+ Geometry somethingEqualButNotExactly,
+ Geometry somethingNotEqualButSameClass) throws Exception {
+ Geometry differentClass;
+
+ if (x instanceof Point) {
+ differentClass = reader.read(
+ "POLYGON ((0 0, 0 50, 50 43949, 50 0, 0 0))");
+ } else {
+ differentClass = reader.read("POINT ( 2351 1563 )");
+ }
+
+ assertTrue(x.equalsExact(x));
+ assertTrue(x.equalsExact(somethingExactlyEqual));
+ assertTrue(somethingExactlyEqual.equalsExact(x));
+ assertTrue(!x.equalsExact(somethingEqualButNotExactly));
+ assertTrue(!somethingEqualButNotExactly.equalsExact(x));
+ assertTrue(!x.equalsExact(somethingEqualButNotExactly));
+ assertTrue(!somethingEqualButNotExactly.equalsExact(x));
+ assertTrue(!x.equalsExact(differentClass));
+ assertTrue(!differentClass.equalsExact(x));
+ }
+
+ public static void main(String[] args) throws Exception {
+ junit.textui.TestRunner.run(suite());
+ }
+
+ private interface CollectionFactory {
+ Geometry createCollection(Geometry[] geometries);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/IntersectionMatrixTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/IntersectionMatrixTest.java
new file mode 100644
index 0000000..abf4ed8
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/IntersectionMatrixTest.java
@@ -0,0 +1,118 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+
+/**
+ * @version 1.7
+ */
+public class IntersectionMatrixTest extends TestCase {
+
+ public IntersectionMatrixTest(String name) { super(name); }
+
+ private static int A = Dimension.A;
+ private static int L = Dimension.L;
+ private static int P = Dimension.P;
+
+ public static Test suite() { return new TestSuite(IntersectionMatrixTest.class); }
+
+ public void testToString() throws Exception {
+ IntersectionMatrix i = new IntersectionMatrix();
+ i.set("012*TF012");
+ assertEquals("012*TF012", i.toString());
+
+ IntersectionMatrix c = new IntersectionMatrix(i);
+ assertEquals("012*TF012", c.toString());
+ }
+
+ public void testTranspose() {
+ IntersectionMatrix x = new IntersectionMatrix("012*TF012");
+
+ IntersectionMatrix i = new IntersectionMatrix(x);
+ IntersectionMatrix j = i.transpose();
+ assertSame(i, j);
+
+ assertEquals("0*01T12F2", i.toString());
+
+ assertEquals("012*TF012", x.toString());
+ }
+
+ public void testIsDisjoint() {
+ assertTrue((new IntersectionMatrix("FF*FF****")).isDisjoint());
+ assertTrue((new IntersectionMatrix("FF1FF2T*0")).isDisjoint());
+ assertTrue(! (new IntersectionMatrix("*F*FF****")).isDisjoint());
+ }
+
+ public void testIsTouches() {
+ assertTrue((new IntersectionMatrix("FT*******")).isTouches(P,A));
+ assertTrue((new IntersectionMatrix("FT*******")).isTouches(A,P));
+ assertTrue(! (new IntersectionMatrix("FT*******")).isTouches(P,P));
+ }
+
+ public void testIsIntersects() {
+ assertTrue(! (new IntersectionMatrix("FF*FF****")).isIntersects());
+ assertTrue(! (new IntersectionMatrix("FF1FF2T*0")).isIntersects());
+ assertTrue((new IntersectionMatrix("*F*FF****")).isIntersects());
+ }
+
+ public void testIsCrosses() {
+ assertTrue((new IntersectionMatrix("TFTFFFFFF")).isCrosses(P,L));
+ assertTrue(! (new IntersectionMatrix("TFTFFFFFF")).isCrosses(L,P));
+ assertTrue(! (new IntersectionMatrix("TFFFFFTFF")).isCrosses(P,L));
+ assertTrue((new IntersectionMatrix("TFFFFFTFF")).isCrosses(L,P));
+ assertTrue((new IntersectionMatrix("0FFFFFFFF")).isCrosses(L,L));
+ assertTrue(! (new IntersectionMatrix("1FFFFFFFF")).isCrosses(L,L));
+ }
+
+ public void testIsWithin() {
+ assertTrue((new IntersectionMatrix("T0F00F000")).isWithin());
+ assertTrue(! (new IntersectionMatrix("T00000FF0")).isWithin());
+ }
+
+ public void testIsContains() {
+ assertTrue(! (new IntersectionMatrix("T0F00F000")).isContains());
+ assertTrue((new IntersectionMatrix("T00000FF0")).isContains());
+ }
+
+ public void testIsOverlaps() {
+ assertTrue((new IntersectionMatrix("2*2***2**")).isOverlaps(P,P));
+ assertTrue((new IntersectionMatrix("2*2***2**")).isOverlaps(A,A));
+ assertTrue(! (new IntersectionMatrix("2*2***2**")).isOverlaps(P,A));
+ assertTrue(! (new IntersectionMatrix("2*2***2**")).isOverlaps(L,L));
+ assertTrue((new IntersectionMatrix("1*2***2**")).isOverlaps(L,L));
+
+ assertTrue(! (new IntersectionMatrix("0FFFFFFF2")).isOverlaps(P,P));
+ assertTrue(! (new IntersectionMatrix("1FFF0FFF2")).isOverlaps(L,L));
+ assertTrue(! (new IntersectionMatrix("2FFF1FFF2")).isOverlaps(A,A));
+ }
+
+ public void testIsEquals() {
+ assertTrue((new IntersectionMatrix("0FFFFFFF2")).isEquals(P,P));
+ assertTrue((new IntersectionMatrix("1FFF0FFF2")).isEquals(L,L));
+ assertTrue((new IntersectionMatrix("2FFF1FFF2")).isEquals(A,A));
+
+ assertTrue(! (new IntersectionMatrix("0F0FFFFF2")).isEquals(P,P));
+ assertTrue( (new IntersectionMatrix("1FFF1FFF2")).isEquals(L,L));
+ assertTrue(! (new IntersectionMatrix("2FFF1*FF2")).isEquals(A,A));
+
+ assertTrue(! (new IntersectionMatrix("0FFFFFFF2")).isEquals(P,L));
+ assertTrue(! (new IntersectionMatrix("1FFF0FFF2")).isEquals(L,A));
+ assertTrue(! (new IntersectionMatrix("2FFF1FFF2")).isEquals(A,P));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/IsRectangleTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/IsRectangleTest.java
new file mode 100644
index 0000000..56d8c27
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/IsRectangleTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test named predicate short-circuits
+ */
+/**
+ * @version 1.7
+ */
+public class IsRectangleTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(IsRectangleTest.class);
+ }
+
+ public IsRectangleTest(String name) { super(name); }
+
+
+ public void testValidRectangle() throws Exception
+ {
+ assertTrue(isRectangle("POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0))"));
+ }
+
+ public void testValidRectangle2() throws Exception
+ {
+ assertTrue(isRectangle("POLYGON ((0 0, 0 200, 100 200, 100 0, 0 0))"));
+ }
+
+ public void testRectangleWithHole() throws Exception
+ {
+ assertTrue(! isRectangle("POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0), (10 10, 10 90, 90 90, 90 10, 10 10) ))"));
+ }
+
+ public void testNotRectilinear() throws Exception
+ {
+ assertTrue(! isRectangle("POLYGON ((0 0, 0 100, 99 100, 100 0, 0 0))"));
+ }
+
+ public void testTooManyPoints() throws Exception
+ {
+ assertTrue(! isRectangle("POLYGON ((0 0, 0 100, 100 50, 100 100, 100 0, 0 0))"));
+ }
+
+ public void testTooFewPoints() throws Exception
+ {
+ assertTrue(! isRectangle("POLYGON ((0 0, 0 100, 100 0, 0 0))"));
+ }
+
+ public void testRectangularLinestring() throws Exception
+ {
+ assertTrue(! isRectangle("LINESTRING (0 0, 0 100, 100 100, 100 0, 0 0)"));
+ }
+
+ public void testPointsInWrongOrder() throws Exception
+ {
+ assertTrue(! isRectangle("POLYGON ((0 0, 0 100, 100 0, 100 100, 0 0))"));
+ }
+
+ public boolean isRectangle(String wkt)
+ throws Exception
+ {
+ Geometry a = rdr.read(wkt);
+ return a.isRectangle();
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/LineSegmentTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/LineSegmentTest.java
new file mode 100644
index 0000000..2635986
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/LineSegmentTest.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test named predicate short-circuits
+ */
+/**
+ * @version 1.7
+ */
+public class LineSegmentTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(LineSegmentTest.class);
+ }
+
+ public LineSegmentTest(String name) { super(name); }
+
+ private static double ROOT2 = Math.sqrt(2);
+
+ public void testProjectionFactor()
+ {
+ // zero-length line
+ LineSegment seg = new LineSegment(10, 0, 10, 0);
+ assertTrue(Double.isNaN(seg.projectionFactor(new Coordinate(11, 0))));
+
+ LineSegment seg2 = new LineSegment(10, 0, 20, 0);
+ assertTrue(seg2.projectionFactor(new Coordinate(11, 0)) == 0.1);
+
+ }
+
+ public void testOffset() throws Exception
+ {
+ checkOffset(0, 0, 10, 10, 0.0, ROOT2, -1, 1);
+ checkOffset(0, 0, 10, 10, 0.0, -ROOT2, 1, -1);
+
+ checkOffset(0, 0, 10, 10, 1.0, ROOT2, 9, 11);
+ checkOffset(0, 0, 10, 10, 0.5, ROOT2, 4, 6);
+
+ checkOffset(0, 0, 10, 10, 0.5, -ROOT2, 6, 4);
+ checkOffset(0, 0, 10, 10, 0.5, -ROOT2, 6, 4);
+
+ checkOffset(0, 0, 10, 10, 2.0, ROOT2, 19, 21);
+ checkOffset(0, 0, 10, 10, 2.0, -ROOT2, 21, 19);
+
+ checkOffset(0, 0, 10, 10, 2.0, 5 * ROOT2, 15, 25);
+ checkOffset(0, 0, 10, 10, -2.0, 5 * ROOT2, -25, -15);
+
+ }
+
+ void checkOffset(double x0, double y0, double x1, double y1, double segFrac, double offset,
+ double expectedX, double expectedY)
+ {
+ LineSegment seg = new LineSegment(x0, y0, x1, y1);
+ Coordinate p = seg.pointAlongOffset(segFrac, offset);
+
+ assertTrue(equalsTolerance(new Coordinate(expectedX, expectedY), p, 0.000001));
+ }
+
+ public static boolean equalsTolerance(Coordinate p0, Coordinate p1, double tolerance)
+ {
+ if (Math.abs(p0.x - p1.x) > tolerance) return false;
+ if (Math.abs(p0.y - p1.y) > tolerance) return false;
+ return true;
+ }
+
+ public void testOrientationIndexCoordinate()
+ {
+ LineSegment seg = new LineSegment(0, 0, 10, 10);
+ checkOrientationIndex(seg, 10, 11, 1);
+ checkOrientationIndex(seg, 10, 9, -1);
+
+ checkOrientationIndex(seg, 11, 11, 0);
+
+ checkOrientationIndex(seg, 11, 11.0000001, 1);
+ checkOrientationIndex(seg, 11, 10.9999999, -1);
+
+ checkOrientationIndex(seg, -2, -1.9999999, 1);
+ checkOrientationIndex(seg, -2, -2.0000001, -1);
+ }
+
+ public void testOrientationIndexSegment()
+ {
+ LineSegment seg = new LineSegment(100, 100, 110, 110);
+
+ checkOrientationIndex(seg, 100, 101, 105, 106, 1);
+ checkOrientationIndex(seg, 100, 99, 105, 96, -1);
+
+ checkOrientationIndex(seg, 200, 200, 210, 210, 0);
+
+ }
+
+ void checkOrientationIndex(double x0, double y0, double x1, double y1, double px, double py,
+ int expectedOrient)
+ {
+ LineSegment seg = new LineSegment(x0, y0, x1, y1);
+ checkOrientationIndex(seg, px, py, expectedOrient);
+ }
+
+ void checkOrientationIndex(LineSegment seg,
+ double px, double py,
+ int expectedOrient)
+ {
+ Coordinate p = new Coordinate(px, py);
+ int orient = seg.orientationIndex(p);
+ assertTrue(orient == expectedOrient);
+ }
+
+ void checkOrientationIndex(LineSegment seg,
+ double s0x, double s0y,
+ double s1x, double s1y,
+ int expectedOrient)
+ {
+ LineSegment seg2 = new LineSegment(s0x, s0y, s1x, s1y);
+ int orient = seg.orientationIndex(seg2);
+ assertTrue(orient == expectedOrient);
+ }
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/LineStringImplTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/LineStringImplTest.java
new file mode 100644
index 0000000..5a22aef
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/LineStringImplTest.java
@@ -0,0 +1,185 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for com.vividsolutions.jts.geom.impl.LineStringImpl.
+ *
+ * @version 1.7
+ */
+public class LineStringImplTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1000);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public LineStringImplTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(LineStringImplTest.class); }
+
+ public void testIsSimple() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING (0 0, 10 10, 10 0, 0 10, 0 0)");
+ assertTrue(! l1.isSimple());
+ LineString l2 = (LineString) reader.read("LINESTRING (0 0, 10 10, 10 0, 0 10)");
+ assertTrue(! l2.isSimple());
+ }
+
+ public void testIsCoordinate() throws Exception {
+ LineString l = (LineString) reader.read("LINESTRING (0 0, 10 10, 10 0)");
+ assertTrue(l.isCoordinate(new Coordinate(0, 0)));
+ assertTrue(! l.isCoordinate(new Coordinate(5, 0)));
+ }
+
+ public void testUnclosedLinearRing() {
+ try {
+ geometryFactory.createLinearRing(new Coordinate[]{
+ new Coordinate(0, 0), new Coordinate(1, 0), new Coordinate(1, 1), new Coordinate(2, 1)});
+ assertTrue(false);
+ }
+ catch (Exception e) {
+ assertTrue(e instanceof IllegalArgumentException);
+ }
+ }
+
+ public void testEquals1() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ assertTrue(l1.equals(l2));
+ }
+
+ public void testEquals2() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(3.333 4.444, 1.111 2.222)");
+ assertTrue(l1.equals(l2));
+ }
+
+ public void testEquals3() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(3.333 4.443, 1.111 2.222)");
+ assertTrue(! l1.equals(l2));
+ }
+
+ public void testEquals4() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(3.333 4.4445, 1.111 2.222)");
+ assertTrue(! l1.equals(l2));
+ }
+
+ public void testEquals5() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(3.333 4.4446, 1.111 2.222)");
+ assertTrue(! l1.equals(l2));
+ }
+
+ public void testEquals6() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444, 5.555 6.666)");
+ LineString l2 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444, 5.555 6.666)");
+ assertTrue(l1.equals(l2));
+ }
+
+ public void testEquals7() throws Exception {
+ LineString l1 = (LineString) reader.read("LINESTRING(1.111 2.222, 5.555 6.666, 3.333 4.444)");
+ LineString l2 = (LineString) reader.read("LINESTRING(1.111 2.222, 3.333 4.444, 5.555 6.666)");
+ assertTrue(!l1.equals(l2));
+ }
+
+ public void testGetCoordinates() throws Exception {
+ LineString l = (LineString) reader.read("LINESTRING(1.111 2.222, 5.555 6.666, 3.333 4.444)");
+ Coordinate[] coordinates = l.getCoordinates();
+ assertEquals(new Coordinate(5.555, 6.666), coordinates[1]);
+ }
+
+ public void testIsClosed() throws Exception {
+ LineString l = (LineString) reader.read("LINESTRING EMPTY");
+ assertTrue(l.isEmpty());
+ assertTrue(! l.isClosed());
+
+ LinearRing r = geometryFactory.createLinearRing((CoordinateSequence)null);
+ assertTrue(r.isEmpty());
+ assertTrue(r.isClosed());
+
+ MultiLineString m = geometryFactory.createMultiLineString(
+ new LineString[] {l, r});
+ assertTrue(! m.isClosed());
+
+ MultiLineString m2 = geometryFactory.createMultiLineString(
+ new LineString[] {r});
+ assertTrue(! m2.isClosed());
+ }
+
+ public void testGetGeometryType() throws Exception {
+ LineString l = (LineString) reader.read("LINESTRING EMPTY");
+ assertEquals("LineString", l.getGeometryType());
+ }
+
+ public void testEquals8() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1000), 0));
+ MultiLineString l1 = (MultiLineString) reader.read("MULTILINESTRING((1732328800 519578384, 1732026179 519976285, 1731627364 519674014, 1731929984 519276112, 1732328800 519578384))");
+ MultiLineString l2 = (MultiLineString) reader.read("MULTILINESTRING((1731627364 519674014, 1731929984 519276112, 1732328800 519578384, 1732026179 519976285, 1731627364 519674014))");
+ assertTrue(l1.equals(l2));
+ }
+
+ public void testEquals9() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ MultiLineString l1 = (MultiLineString) reader.read("MULTILINESTRING((1732328800 519578384, 1732026179 519976285, 1731627364 519674014, 1731929984 519276112, 1732328800 519578384))");
+ MultiLineString l2 = (MultiLineString) reader.read("MULTILINESTRING((1731627364 519674014, 1731929984 519276112, 1732328800 519578384, 1732026179 519976285, 1731627364 519674014))");
+ assertTrue(l1.equals(l2));
+ }
+
+ public void testEquals10() throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory(new PrecisionModel(1), 0));
+ Geometry l1 = reader.read("POLYGON((1732328800 519578384, 1732026179 519976285, 1731627364 519674014, 1731929984 519276112, 1732328800 519578384))");
+ Geometry l2 = reader.read("POLYGON((1731627364 519674014, 1731929984 519276112, 1732328800 519578384, 1732026179 519976285, 1731627364 519674014))");
+ l1.normalize();
+ l2.normalize();
+ assertTrue(l1.equalsExact(l2));
+ }
+
+ public void testFiveZeros() {
+ LineString ls = new GeometryFactory().createLineString(new Coordinate[]{
+ new Coordinate(0, 0),
+ new Coordinate(0, 0),
+ new Coordinate(0, 0),
+ new Coordinate(0, 0),
+ new Coordinate(0, 0)});
+ assertTrue(ls.isClosed());
+ }
+
+ public void testLinearRingConstructor() throws Exception {
+ try {
+ LinearRing ring =
+ new GeometryFactory().createLinearRing(
+ new Coordinate[] {
+ new Coordinate(0, 0),
+ new Coordinate(10, 10),
+ new Coordinate(0, 0)});
+ assertTrue(false);
+ } catch (IllegalArgumentException e) {
+ assertTrue(true);
+ }
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/MultiPointImplTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/MultiPointImplTest.java
new file mode 100644
index 0000000..26a5b1b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/MultiPointImplTest.java
@@ -0,0 +1,87 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for com.vividsolutions.jts.geom.impl.MultiPointImpl.
+ *
+ * @version 1.7
+ */
+public class MultiPointImplTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1000);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public MultiPointImplTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(MultiPointImplTest.class); }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testIsSimple1() throws Exception {
+// MultiPoint m = (MultiPoint) reader.read("MULTIPOINT(1.111 2.222, 3.333 4.444, 5.555 6.666)");
+// assertTrue(m.isSimple());
+// }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testIsSimple2() throws Exception {
+// MultiPoint m = (MultiPoint) reader.read("MULTIPOINT(1.111 2.222, 3.333 4.444, 3.333 4.444)");
+// assertTrue(! m.isSimple());
+// }
+
+ public void testGetGeometryN() throws Exception {
+ MultiPoint m = (MultiPoint) reader.read("MULTIPOINT(1.111 2.222, 3.333 4.444, 3.333 4.444)");
+ Geometry g = m.getGeometryN(1);
+ assertTrue(g instanceof Point);
+ Point p = (Point) g;
+ Coordinate externalCoordinate = new Coordinate();
+ Coordinate internal = p.getCoordinate();
+ externalCoordinate.x = internal.x;
+ externalCoordinate.y = internal.y;
+ assertEquals(3.333, externalCoordinate.x, 1E-10);
+ assertEquals(4.444, externalCoordinate.y, 1E-10);
+ }
+
+ public void testGetEnvelope() throws Exception {
+ MultiPoint m = (MultiPoint) reader.read("MULTIPOINT(1.111 2.222, 3.333 4.444, 3.333 4.444)");
+ Envelope e = m.getEnvelopeInternal();
+ assertEquals(1.111, e.getMinX(), 1E-10);
+ assertEquals(3.333, e.getMaxX(), 1E-10);
+ assertEquals(2.222, e.getMinY(), 1E-10);
+ assertEquals(4.444, e.getMaxY(), 1E-10);
+ }
+
+ public void testEquals() throws Exception {
+ MultiPoint m1 = (MultiPoint) reader.read("MULTIPOINT(5 6, 7 8)");
+ MultiPoint m2 = (MultiPoint) reader.read("MULTIPOINT(5 6, 7 8)");
+ assertTrue(m1.equals(m2));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/NormalizeTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/NormalizeTest.java
new file mode 100644
index 0000000..891e39e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/NormalizeTest.java
@@ -0,0 +1,198 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class NormalizeTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public NormalizeTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {NormalizeTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testNormalizePoint() throws Exception {
+ Point point = (Point) reader.read("POINT (30 30)");
+ point.normalize();
+ assertEquals(new Coordinate(30, 30), point.getCoordinate());
+ }
+
+ public void testNormalizeEmptyPoint() throws Exception {
+ Point point = (Point) reader.read("POINT EMPTY");
+ point.normalize();
+ assertEquals(null, point.getCoordinate());
+ }
+
+ public void testComparePoint() throws Exception {
+ Point p1 = (Point) reader.read("POINT (30 30)");
+ Point p2 = (Point) reader.read("POINT (30 40)");
+ assertTrue(p1.compareTo(p2) < 0);
+ }
+
+ public void testCompareEmptyPoint() throws Exception {
+ Point p1 = (Point) reader.read("POINT (30 30)");
+ Point p2 = (Point) reader.read("POINT EMPTY");
+ assertTrue(p1.compareTo(p2) > 0);
+ }
+
+ public void testNormalizeMultiPoint() throws Exception {
+ MultiPoint m = (MultiPoint) reader.read(
+ "MULTIPOINT(30 20, 10 10, 20 20, 30 30, 20 10)");
+ m.normalize();
+ MultiPoint expectedValue = (MultiPoint) reader.read(
+ "MULTIPOINT(10 10, 20 10, 20 20, 30 20, 30 30)");
+ assertEqualsExact(expectedValue, m);
+ MultiPoint unexpectedValue = (MultiPoint) reader.read(
+ "MULTIPOINT(20 10, 20 20, 30 20, 30 30, 10 10)");
+ assertTrue(! m.equalsExact(unexpectedValue));
+ }
+
+ public void testNormalizeLineString1() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (20 20, 160 40, 160 100, 100 120, 60 60)");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read(
+ "LINESTRING (20 20, 160 40, 160 100, 100 120, 60 60)");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeLineString2() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (20 20, 160 40, 160 100, 100 120, 60 60)");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read(
+ "LINESTRING (20 20, 160 40, 160 100, 100 120, 60 60)");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeLineString3() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (200 240, 140 160, 80 160, 160 80, 80 80)");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read(
+ "LINESTRING (80 80, 160 80, 80 160, 140 160, 200 240)");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeLineString4() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (200 240, 140 160, 80 160, 160 80, 80 80)");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read(
+ "LINESTRING (80 80, 160 80, 80 160, 140 160, 200 240)");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeLineString5() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (200 340, 140 240, 140 160, 60 240, 140 240, 200 340)");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read(
+ "LINESTRING (200 340, 140 240, 60 240, 140 160, 140 240, 200 340)");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeStringNoSideEffect() throws Exception {
+ LineString l = (LineString) reader.read(
+ "LINESTRING (200 240, 140 160, 80 160, 160 80, 80 80)");
+ LineString ref = (LineString) reader.read(
+ "LINESTRING (200 240, 140 160)");
+ LineString seg = l.getFactory().createLineString(
+ new Coordinate[]{l.getCoordinates()[0], l.getCoordinates()[1]});
+ assertEqualsExact(ref, seg);
+ l.normalize();
+ assertEqualsExact(ref, seg);
+ }
+
+ public void testNormalizeEmptyLineString() throws Exception {
+ LineString l = (LineString) reader.read("LINESTRING EMPTY");
+ l.normalize();
+ LineString expectedValue = (LineString) reader.read("LINESTRING EMPTY");
+ assertEqualsExact(expectedValue, l);
+ }
+
+ public void testNormalizeEmptyPolygon() throws Exception {
+ Polygon actualValue = (Polygon) reader.read("POLYGON EMPTY");
+ actualValue.normalize();
+ Polygon expectedValue = (Polygon) reader.read("POLYGON EMPTY");
+ assertEqualsExact(expectedValue, actualValue);
+ }
+
+ public void testNormalizePolygon1() throws Exception {
+ Polygon actualValue = (Polygon) reader.read(
+ "POLYGON ((120 320, 240 200, 120 80, 20 200, 120 320), (60 200, 80 220, 80 200, 60 200), (160 200, 180 200, 180 220, 160 200), (120 140, 140 140, 140 160, 120 140), (140 240, 140 220, 120 260, 140 240))");
+ actualValue.normalize();
+ Polygon expectedValue = (Polygon) reader.read(
+ "POLYGON ((20 200, 120 320, 240 200, 120 80, 20 200), (60 200, 80 200, 80 220, 60 200), (120 140, 140 140, 140 160, 120 140), (120 260, 140 220, 140 240, 120 260), (160 200, 180 200, 180 220, 160 200))");
+ assertEqualsExact(expectedValue, actualValue);
+ }
+
+ public void testNormalizeMultiLineString() throws Exception {
+ MultiLineString actualValue = (MultiLineString) reader.read(
+ "MULTILINESTRING ((200 260, 180 320, 260 340), (120 180, 140 100, 40 80), (200 180, 220 160, 200 180), (100 280, 120 260, 140 260, 140 240, 120 240, 120 260, 100 280))");
+ actualValue.normalize();
+ MultiLineString expectedValue = (MultiLineString) reader.read(
+ "MULTILINESTRING ((40 80, 140 100, 120 180), (100 280, 120 260, 120 240, 140 240, 140 260, 120 260, 100 280), (200 180, 220 160, 200 180), (200 260, 180 320, 260 340))");
+ assertEqualsExact(expectedValue, actualValue);
+ }
+
+ public void testNormalizeMultiPolygon() throws Exception {
+ MultiPolygon actualValue = (MultiPolygon) reader.read(
+ "MULTIPOLYGON (((40 360, 40 280, 140 280, 140 360, 40 360), (60 340, 60 300, 120 300, 120 340, 60 340)), ((140 200, 260 200, 260 100, 140 100, 140 200), (160 180, 240 180, 240 120, 160 120, 160 180)))");
+ actualValue.normalize();
+ MultiPolygon expectedValue = (MultiPolygon) reader.read(
+ "MULTIPOLYGON (((40 280, 40 360, 140 360, 140 280, 40 280), (60 300, 120 300, 120 340, 60 340, 60 300)), ((140 100, 140 200, 260 200, 260 100, 140 100), (160 120, 240 120, 240 180, 160 180, 160 120)))");
+ assertEqualsExact(expectedValue, actualValue);
+ }
+
+ public void testNormalizeGeometryCollection() throws Exception {
+ GeometryCollection actualValue = (GeometryCollection) reader.read(
+ "GEOMETRYCOLLECTION (LINESTRING (200 300, 200 280, 220 280, 220 320, 180 320), POINT (140 220), POLYGON ((100 80, 100 160, 20 160, 20 80, 100 80), (40 140, 40 100, 80 100, 80 140, 40 140)), POINT (100 240))");
+ actualValue.normalize();
+ GeometryCollection expectedValue = (GeometryCollection) reader.read(
+ "GEOMETRYCOLLECTION (POINT (100 240), POINT (140 220), LINESTRING (180 320, 220 320, 220 280, 200 280, 200 300), POLYGON ((20 80, 20 160, 100 160, 100 80, 20 80), (40 100, 80 100, 80 140, 40 140, 40 100)))");
+ assertEqualsExact(expectedValue, actualValue);
+ }
+
+ public void testNormalizePackedCoordinateSequence() throws Exception {
+ GeometryFactory pcsFactory = new GeometryFactory(PackedCoordinateSequenceFactory.DOUBLE_FACTORY);
+ WKTReader pcsReader = new WKTReader(pcsFactory);
+ Geometry geom = pcsReader.read("LINESTRING (100 100, 0 0)");
+ geom.normalize();
+ // force PackedCoordinateSequence to be copied with empty coordinate cache
+ Geometry clone = (Geometry) geom.copy();
+ assertEqualsExact(geom, clone);
+ }
+
+ private void assertEqualsExact(Geometry expectedValue, Geometry actualValue) {
+ assertTrue("Expected " + expectedValue + " but encountered " + actualValue,
+ actualValue.equalsExact(expectedValue));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/PointImplTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/PointImplTest.java
new file mode 100644
index 0000000..6343780
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/PointImplTest.java
@@ -0,0 +1,104 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for com.vividsolutions.jts.geom.impl.PointImpl.
+ *
+ * @version 1.7
+ */
+public class PointImplTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1000);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public PointImplTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(PointImplTest.class); }
+
+ public void testEquals1() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.234 5.678)");
+ Point p2 = (Point) reader.read("POINT(1.234 5.678)");
+ assertTrue(p1.equals(p2));
+ }
+
+ public void testEquals2() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.23 5.67)");
+ Point p2 = (Point) reader.read("POINT(1.23 5.67)");
+ assertTrue(p1.equals(p2));
+ }
+
+ public void testEquals3() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.235 5.678)");
+ Point p2 = (Point) reader.read("POINT(1.234 5.678)");
+ assertTrue(! p1.equals(p2));
+ }
+
+ public void testEquals4() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.2334 5.678)");
+ Point p2 = (Point) reader.read("POINT(1.2333 5.678)");
+ assertTrue(p1.equals(p2));
+ }
+
+ public void testEquals5() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.2334 5.678)");
+ Point p2 = (Point) reader.read("POINT(1.2335 5.678)");
+ assertTrue(! p1.equals(p2));
+ }
+
+ public void testEquals6() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.2324 5.678)");
+ Point p2 = (Point) reader.read("POINT(1.2325 5.678)");
+ assertTrue(! p1.equals(p2));
+ }
+
+ public void testNegRounding1() throws Exception {
+ Point pLo = (Point) reader.read("POINT(-1.233 5.678)");
+ Point pHi = (Point) reader.read("POINT(-1.232 5.678)");
+
+ Point p1 = (Point) reader.read("POINT(-1.2326 5.678)");
+ Point p2 = (Point) reader.read("POINT(-1.2325 5.678)");
+ Point p3 = (Point) reader.read("POINT(-1.2324 5.678)");
+
+ assertTrue(! p1.equals(p2));
+ assertTrue(p3.equals(p2));
+
+ assertTrue(p1.equals(pLo));
+ assertTrue(p2.equals(pHi));
+ assertTrue(p3.equals(pHi));
+ }
+
+ public void testIsSimple() throws Exception {
+ Point p1 = (Point) reader.read("POINT(1.2324 5.678)");
+ assertTrue(p1.isSimple());
+ Point p2 = (Point) reader.read("POINT EMPTY");
+ assertTrue(p2.isSimple());
+ }
+
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/PrecisionModelTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/PrecisionModelTest.java
new file mode 100644
index 0000000..dd05dbb
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/PrecisionModelTest.java
@@ -0,0 +1,68 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+
+/**
+ * @version 1.7
+ */
+public class PrecisionModelTest extends TestCase
+{
+
+ public PrecisionModelTest(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ return new TestSuite(PrecisionModelTest.class);
+ }
+
+ public void testParameterlessConstructor() {
+ PrecisionModel p = new PrecisionModel();
+ //Implicit precision model has scale 0
+ assertEquals(0, p.getScale(), 1E-10);
+ }
+
+ public void testGetMaximumSignificantDigits() {
+ assertEquals(16, new PrecisionModel(PrecisionModel.FLOATING).getMaximumSignificantDigits());
+ assertEquals(6, new PrecisionModel(PrecisionModel.FLOATING_SINGLE).getMaximumSignificantDigits());
+ assertEquals(1, new PrecisionModel(PrecisionModel.FIXED).getMaximumSignificantDigits());
+ assertEquals(4, new PrecisionModel(1000).getMaximumSignificantDigits());
+ }
+
+ public void testMakePrecise()
+ {
+ PrecisionModel pm_10 = new PrecisionModel(0.1);
+
+ preciseCoordinateTester(pm_10, 1200.4, 1240.4, 1200, 1240);
+ preciseCoordinateTester(pm_10, 1209.4, 1240.4, 1210, 1240);
+ }
+
+ private void preciseCoordinateTester(PrecisionModel pm,
+ double x1, double y1,
+ double x2, double y2)
+ {
+ Coordinate p = new Coordinate(x1, y1);
+
+ pm.makePrecise(p);
+
+ Coordinate pPrecise = new Coordinate(x2, y2);
+ assertTrue(p.equals2D(pPrecise));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/PredicateShortCircuitTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/PredicateShortCircuitTest.java
new file mode 100644
index 0000000..de4ea98
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/PredicateShortCircuitTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test named predicate short-circuits
+ */
+/**
+ * @version 1.7
+ */
+public class PredicateShortCircuitTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(PredicateShortCircuitTest.class);
+ }
+
+ public PredicateShortCircuitTest(String name) { super(name); }
+
+ String[] polyInsidePoly =
+ { "POLYGON (( 0 0, 100 0, 100 100, 0 100, 0 0 ))",
+ "POLYGON (( 10 10, 90 10, 90 90, 10 90, 10 10 ))" } ;
+ String[] polyPartiallyOverlapsPoly =
+ { "POLYGON (( 10 10, 100 10, 100 100, 10 100, 10 10 ))",
+ "POLYGON (( 0 0, 90 0, 90 90, 0 90, 0 0 ))" } ;
+ String[] polyTouchesPolyAtPoint =
+ { "POLYGON (( 10 10, 100 10, 100 100, 10 100, 10 10 ))",
+ "POLYGON (( 0 0, 10 0, 10 10, 0 10, 0 0 ))" } ;
+ String[] polyTouchesPolyAtLine =
+ { "POLYGON (( 10 10, 100 10, 100 100, 10 100, 10 10 ))",
+ "POLYGON (( 10 0, 10 10, 20 10, 20 0, 10 0 ))" } ;
+ String[] polyInsideHoleInPoly =
+ { "POLYGON (( 40 40, 40 60, 60 60, 60 40, 40 40 ))",
+ "POLYGON (( 0 0, 100 0, 100 100, 0 100, 0 0), ( 10 10, 90 10, 90 90, 10 90, 10 10))" } ;
+
+
+ public void testAll() throws Exception
+ {
+ doPredicates(polyInsidePoly);
+ doPredicates(polyPartiallyOverlapsPoly);
+ doPredicates(polyTouchesPolyAtPoint);
+ doPredicates(polyTouchesPolyAtLine);
+ doPredicates(polyInsideHoleInPoly);
+ }
+
+ public void doPredicates(String[] wkt)
+ throws Exception
+ {
+ Geometry a = rdr.read(wkt[0]);
+ Geometry b = rdr.read(wkt[1]);
+ doPredicates(a, b);
+ doPredicates(b ,a);
+ }
+ public void doPredicates(Geometry a, Geometry b) throws Exception
+ {
+ assertTrue( a.contains(b) == a.relate(b).isContains() );
+ assertTrue( a.crosses(b) == a.relate(b).isCrosses(a.getDimension(), b.getDimension()) );
+ assertTrue( a.disjoint(b) == a.relate(b).isDisjoint() );
+ assertTrue( a.equals(b) == a.relate(b).isEquals(a.getDimension(), b.getDimension()) );
+ assertTrue( a.intersects(b) == a.relate(b).isIntersects() );
+ assertTrue( a.overlaps(b) == a.relate(b).isOverlaps(a.getDimension(), b.getDimension()) );
+ assertTrue( a.touches(b) == a.relate(b).isTouches(a.getDimension(), b.getDimension()) );
+ assertTrue( a.within(b) == a.relate(b).isWithin() );
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateSyntheticTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateSyntheticTest.java
new file mode 100644
index 0000000..b228d49
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateSyntheticTest.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test spatial predicate optimizations for rectangles by
+ * synthesizing an exhaustive set of test cases.
+ *
+ * @version 1.7
+ */
+public class RectanglePredicateSyntheticTest
+ extends TestCase
+{
+ private WKTReader rdr = new WKTReader();
+ private GeometryFactory fact = new GeometryFactory();
+
+ double baseX = 10;
+ double baseY = 10;
+ double rectSize = 20;
+ double bufSize = 10;
+ double testGeomSize = 10;
+ double bufferWidth = 1.0;
+
+ Envelope rectEnv = new Envelope(baseX, baseX + rectSize, baseY, baseY + rectSize);
+ Geometry rect = fact.toGeometry(rectEnv);
+
+ public static void main(String args[]) {
+ TestRunner.run(RectanglePredicateSyntheticTest.class);
+ }
+
+ public RectanglePredicateSyntheticTest(String name) { super(name); }
+
+ public void testLines()
+ {
+ //System.out.println(rect);
+
+ List testGeoms = getTestGeometries();
+ for (Iterator i = testGeoms.iterator(); i.hasNext(); ) {
+ Geometry testGeom = (Geometry) i.next();
+ runRectanglePredicates(rect, testGeom);
+ }
+ }
+
+ public void testDenseLines()
+ {
+ //System.out.println(rect);
+
+ List testGeoms = getTestGeometries();
+ for (Iterator i = testGeoms.iterator(); i.hasNext(); ) {
+ Geometry testGeom = (Geometry) i.next();
+
+ SegmentDensifier densifier = new SegmentDensifier((LineString) testGeom);
+ LineString denseLine = (LineString) densifier.densify(testGeomSize / 400);
+
+ runRectanglePredicates(rect, denseLine);
+ }
+ }
+
+ public void testPolygons()
+ {
+ List testGeoms = getTestGeometries();
+ for (Iterator i = testGeoms.iterator(); i.hasNext(); ) {
+ Geometry testGeom = (Geometry) i.next();
+ runRectanglePredicates(rect, testGeom.buffer(bufferWidth));
+ }
+ }
+
+ private List getTestGeometries()
+ {
+ Envelope testEnv = new Envelope(rectEnv.getMinX() - bufSize, rectEnv.getMaxX() + bufSize,
+ rectEnv.getMinY() - bufSize, rectEnv.getMaxY() + bufSize);
+ List testGeoms = createTestGeometries(testEnv, 5, testGeomSize);
+ return testGeoms;
+ }
+
+ private void runRectanglePredicates(Geometry rect, Geometry testGeom) {
+ boolean intersectsValue = rect.intersects(testGeom);
+ boolean relateIntersectsValue = rect.relate(testGeom).isIntersects();
+ boolean intersectsOK = intersectsValue == relateIntersectsValue;
+
+ boolean containsValue = rect.contains(testGeom);
+ boolean relateContainsValue = rect.relate(testGeom).isContains();
+ boolean containsOK = containsValue == relateContainsValue;
+
+ //System.out.println(testGeom);
+ if (! intersectsOK || ! containsOK) {
+ System.out.println(testGeom);
+ }
+ assertTrue(intersectsOK);
+ assertTrue(containsOK);
+ }
+
+ public List createTestGeometries(Envelope env, double inc, double size)
+ {
+ List testGeoms = new ArrayList();
+
+ for (double y = env.getMinY(); y <= env.getMaxY(); y += inc) {
+ for (double x = env.getMinX(); x <= env.getMaxX(); x += inc) {
+ Coordinate base = new Coordinate(x, y);
+ testGeoms.add(createAngle(base, size, 0));
+ testGeoms.add(createAngle(base, size, 1));
+ testGeoms.add(createAngle(base, size, 2));
+ testGeoms.add(createAngle(base, size, 3));
+ }
+ }
+ return testGeoms;
+ }
+
+ public Geometry createAngle(Coordinate base, double size, int quadrant)
+ {
+ int[][] factor = {
+ { 1, 0 },
+ { 0, 1 },
+ { -1, 0 },
+ { 0, -1 } };
+
+ int xFac = factor[quadrant][0];
+ int yFac = factor[quadrant][1];
+
+ Coordinate p0 = new Coordinate(base.x + xFac * size, base.y + yFac * size);
+ Coordinate p2 = new Coordinate(base.x + yFac * size, base.y + (- xFac) * size);
+
+ return fact.createLineString(new Coordinate[] { p0, base, p2 } );
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateTest.java
new file mode 100644
index 0000000..9940f39
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/RectanglePredicateTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test spatial predicate optimizations for rectangles.
+ *
+ * @version 1.7
+ */
+
+public class RectanglePredicateTest
+ extends TestCase
+{
+ private WKTReader rdr = new WKTReader();
+ private GeometryFactory fact = new GeometryFactory();
+
+ public static void main(String args[]) {
+ TestRunner.run(RectanglePredicateTest.class);
+ }
+
+ public RectanglePredicateTest(String name) { super(name); }
+
+ public void testShortAngleOnBoundary()
+ throws Exception
+ {
+ String[] onBoundary =
+ { "POLYGON ((10 10, 30 10, 30 30, 10 30, 10 10))",
+ "LINESTRING (10 25, 10 10, 25 10)" } ;
+ runRectanglePred(onBoundary);
+ }
+
+ public void testAngleOnBoundary()
+ throws Exception
+ {
+ String[] onBoundary =
+ { "POLYGON ((10 10, 30 10, 30 30, 10 30, 10 10))",
+ "LINESTRING (10 30, 10 10, 30 10)" } ;
+ runRectanglePred(onBoundary);
+ }
+
+ private void runRectanglePred(String[] wkt)
+ throws Exception
+ {
+ Geometry rect = rdr.read(wkt[0]);
+ Geometry b = rdr.read(wkt[1]);
+ runRectanglePred(rect, b);
+ }
+
+ private void runRectanglePred(Geometry rect, Geometry testGeom) {
+ boolean intersectsValue = rect.intersects(testGeom);
+ boolean relateIntersectsValue = rect.relate(testGeom).isIntersects();
+ boolean intersectsOK = intersectsValue == relateIntersectsValue;
+
+ boolean containsValue = rect.contains(testGeom);
+ boolean relateContainsValue = rect.relate(testGeom).isContains();
+ boolean containsOK = containsValue == relateContainsValue;
+
+ //System.out.println(testGeom);
+ if (! intersectsOK || ! containsOK) {
+ //System.out.println(testGeom);
+ }
+ assertTrue(intersectsOK);
+ assertTrue(containsOK);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/SegmentDensifier.java b/modules/core/src/test/java/org/locationtech/jts/geom/SegmentDensifier.java
new file mode 100644
index 0000000..6d2eb6a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/SegmentDensifier.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom;
+
+/**
+ * Densifies a LineString
+ *
+ * @version 1.7
+ */
+public class SegmentDensifier
+{
+ private LineString inputLine;
+ private CoordinateList newCoords;
+
+ public SegmentDensifier(LineString line) {
+ this.inputLine = line;
+ }
+
+ public Geometry densify(double segLength)
+ {
+ newCoords = new CoordinateList();
+
+ CoordinateSequence seq = inputLine.getCoordinateSequence();
+
+ Coordinate p0 = new Coordinate();
+ Coordinate p1 = new Coordinate();
+ seq.getCoordinate(0, p0);
+ newCoords.add(new Coordinate(p0));
+
+ for (int i = 0; i < seq.size() - 1; i++) {
+ seq.getCoordinate(i, p0);
+ seq.getCoordinate(i + 1, p1);
+ densify(p0, p1, segLength);
+ }
+ Coordinate[] newPts = newCoords.toCoordinateArray();
+ return inputLine.getFactory().createLineString(newPts);
+ }
+
+ private void densify(Coordinate p0, Coordinate p1, double segLength)
+ {
+ double origLen = p1.distance(p0);
+ int nPtsToAdd = (int) Math.floor(origLen / segLength);
+
+ double delx = p1.x - p0.x;
+ double dely = p1.y - p0.y;
+
+ double segLenFrac = segLength / origLen;
+ for (int i = 0; i <= nPtsToAdd; i++) {
+ double addedPtFrac = i * segLenFrac;
+ Coordinate pt = new Coordinate(p0.x + addedPtFrac * delx,
+ p0.y + addedPtFrac * dely);
+ newCoords.add(pt, false);
+ }
+ newCoords.add(new Coordinate(p1), false);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/TriangleTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/TriangleTest.java
new file mode 100644
index 0000000..0eb8f70
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/TriangleTest.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom;
+
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * @version 1.7
+ */
+public class TriangleTest extends TestCase
+{
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel,
+ 0);
+
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ private static final double TOLERANCE = 1E-5;
+
+ public static void main(String args[])
+ {
+ TestRunner.run(TriangleTest.class);
+ }
+
+ public TriangleTest(String name)
+ {
+ super(name);
+ }
+
+ public void testInterpolateZ() throws Exception
+ {
+ checkInterpolateZ("LINESTRING(1 1 0, 2 1 0, 1 2 10)", new Coordinate(1.5,
+ 1.5), 5);
+ checkInterpolateZ("LINESTRING(1 1 0, 2 1 0, 1 2 10)", new Coordinate(1.2,
+ 1.2), 2);
+ checkInterpolateZ("LINESTRING(1 1 0, 2 1 0, 1 2 10)", new Coordinate(0, 0),
+ -10);
+ }
+
+ public void checkInterpolateZ(String wkt, Coordinate p, double expectedValue)
+ throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ double z = t.interpolateZ(p);
+ //System.out.println("Z = " + z);
+ assertEquals(expectedValue, z, 0.000001);
+ }
+
+ public void testArea3D() throws Exception
+ {
+ checkArea3D("POLYGON((0 0 10, 100 0 110, 100 100 110, 0 0 10))",
+ 7071.067811865475);
+ checkArea3D("POLYGON((0 0 10, 100 0 10, 50 100 110, 0 0 10))",
+ 7071.067811865475);
+ }
+
+ public void checkArea3D(String wkt, double expectedValue) throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ double area3D = t.area3D();
+ // System.out.println("area3D = " + area3D);
+ assertEquals(expectedValue, area3D, TOLERANCE);
+ }
+
+ public void testArea() throws Exception
+ {
+ // CW
+ checkArea("POLYGON((10 10, 20 20, 20 10, 10 10))", 50);
+ // CCW
+ checkArea("POLYGON((10 10, 20 10, 20 20, 10 10))", -50);
+ // degenerate point triangle
+ checkArea("POLYGON((10 10, 10 10, 10 10, 10 10))", 0);
+ // degenerate line triangle
+ checkArea("POLYGON((10 10, 20 10, 15 10, 10 10))", 0);
+ }
+
+ public void checkArea(String wkt, double expectedValue) throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ double signedArea = t.signedArea();
+ //System.out.println("signed area = " + signedArea);
+ assertEquals(expectedValue, signedArea, TOLERANCE);
+
+ double area = t.area();
+ assertEquals(Math.abs(expectedValue), area, TOLERANCE);
+
+ }
+
+ public void testAcute() throws Exception
+ {
+ // right triangle
+ checkAcute("POLYGON((10 10, 20 20, 20 10, 10 10))", false);
+ // CCW right tri
+ checkAcute("POLYGON((10 10, 20 10, 20 20, 10 10))", false);
+ // acute
+ checkAcute("POLYGON((10 10, 20 10, 15 20, 10 10))", true);
+ }
+
+ public void checkAcute(String wkt, boolean expectedValue) throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ boolean isAcute = t.isAcute();
+ //System.out.println("isAcute = " + isAcute);
+ assertEquals(expectedValue, isAcute);
+ }
+
+ public void testCircumCentre() throws Exception
+ {
+ // right triangle
+ checkCircumCentre("POLYGON((10 10, 20 20, 20 10, 10 10))", new Coordinate(
+ 15.0, 15.0));
+ // CCW right tri
+ checkCircumCentre("POLYGON((10 10, 20 10, 20 20, 10 10))", new Coordinate(
+ 15.0, 15.0));
+ // acute
+ checkCircumCentre("POLYGON((10 10, 20 10, 15 20, 10 10))", new Coordinate(
+ 15.0, 13.75));
+ }
+
+ public void testCentroid() throws Exception
+ {
+ // right triangle
+ checkCentroid("POLYGON((10 10, 20 20, 20 10, 10 10))", new Coordinate(
+ (10.0 + 20.0 + 20.0) / 3.0, (10.0 + 20.0 + 10.0) / 3.0));
+ // CCW right tri
+ checkCentroid("POLYGON((10 10, 20 10, 20 20, 10 10))", new Coordinate(
+ (10.0 + 20.0 + 20.0) / 3.0, (10.0 + 10.0 + 20.0) / 3.0));
+ // acute
+ checkCentroid("POLYGON((10 10, 20 10, 15 20, 10 10))", new Coordinate(
+ (10.0 + 20.0 + 15.0) / 3.0, (10.0 + 10.0 + 20.0) / 3.0));
+ }
+
+ public void checkCentroid(String wkt, Coordinate expectedValue)
+ throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ Coordinate centroid = Triangle.centroid(pt[0], pt[1], pt[2]);
+ //System.out.println("(Static) centroid = " + centroid);
+ assertEquals(expectedValue.toString(), centroid.toString());
+
+ // Test Instance version
+ //
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ centroid = t.centroid();
+ //System.out.println("(Instance) centroid = " + centroid.toString());
+ assertEquals(expectedValue.toString(), centroid.toString());
+ }
+
+ public void checkCircumCentre(String wkt, Coordinate expectedValue)
+ throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ Coordinate circumcentre = Triangle.circumcentre(pt[0], pt[1], pt[2]);
+ //System.out.println("(Static) circumcentre = " + circumcentre);
+ assertEquals(expectedValue.toString(), circumcentre.toString());
+
+ // Test Instance version
+ //
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ circumcentre = t.circumcentre();
+ //System.out.println("(Instance) circumcentre = " + circumcentre.toString());
+ assertEquals(expectedValue.toString(), circumcentre.toString());
+ }
+
+ public void testLongestSideLength() throws Exception
+ {
+ // right triangle
+ checkLongestSideLength("POLYGON((10 10 1, 20 20 2, 20 10 3, 10 10 1))",
+ 14.142135623730951);
+ // CCW right tri
+ checkLongestSideLength("POLYGON((10 10 1, 20 10 2, 20 20 3, 10 10 1))",
+ 14.142135623730951);
+ // acute
+ checkLongestSideLength("POLYGON((10 10 1, 20 10 2, 15 20 3, 10 10 1))",
+ 11.180339887498949);
+ }
+
+ public void checkLongestSideLength(String wkt, double expectedValue)
+ throws Exception
+ {
+ Geometry g = reader.read(wkt);
+ Coordinate[] pt = g.getCoordinates();
+
+ double length = Triangle.longestSideLength(pt[0], pt[1], pt[2]);
+ //System.out.println("(Static) longestSideLength = " + length);
+ assertEquals(expectedValue, length, 0.00000001);
+
+ // Test Instance version
+ //
+ Triangle t = new Triangle(pt[0], pt[1], pt[2]);
+ length = t.longestSideLength();
+ //System.out.println("(Instance) longestSideLength = " + length);
+ assertEquals(expectedValue, length, 0.00000001);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/impl/BasicCoordinateSequenceTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/impl/BasicCoordinateSequenceTest.java
new file mode 100644
index 0000000..1b3b554
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/impl/BasicCoordinateSequenceTest.java
@@ -0,0 +1,53 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.impl;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class BasicCoordinateSequenceTest extends TestCase {
+ public BasicCoordinateSequenceTest(String name) {
+ super(name);
+ }
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(BasicCoordinateSequenceTest.class);
+ }
+ public void testClone() {
+ CoordinateSequence s1 = CoordinateArraySequenceFactory.instance().create(
+ new Coordinate[] { new Coordinate(1, 2), new Coordinate(3, 4)});
+ CoordinateSequence s2 = (CoordinateSequence) s1.copy();
+ assertTrue(s1.getCoordinate(0).equals(s2.getCoordinate(0)));
+ assertTrue(s1.getCoordinate(0) != s2.getCoordinate(0));
+ }
+
+ public void testCloneDimension2() {
+ CoordinateSequence s1 = CoordinateArraySequenceFactory.instance()
+ .create( 2, 2 );
+ s1.setOrdinate(0, 0, 1);
+ s1.setOrdinate(0, 1, 2);
+ s1.setOrdinate(1, 0, 3);
+ s1.setOrdinate(1, 1, 4);
+
+ CoordinateSequence s2 = (CoordinateSequence) s1.copy();
+ assertTrue(s1.getDimension() == s2.getDimension());
+ assertTrue(s1.getCoordinate(0).equals(s2.getCoordinate(0)));
+ assertTrue(s1.getCoordinate(0) != s2.getCoordinate(0));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceTest.java
new file mode 100644
index 0000000..1492ebb
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateArraySequenceTest.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.impl;
+
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+
+import junit.textui.TestRunner;
+
+/**
+ * Test {@link CoordinateArraySequence}
+ *
+ * @version 1.7
+ */
+public class CoordinateArraySequenceTest
+ extends CoordinateSequenceTestBase
+{
+ public static void main(String args[]) {
+ TestRunner.run(CoordinateArraySequenceTest.class);
+ }
+
+ public CoordinateArraySequenceTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ CoordinateSequenceFactory getCSFactory() {
+ return CoordinateArraySequenceFactory.instance();
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateSequenceTestBase.java b/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateSequenceTestBase.java
new file mode 100644
index 0000000..66c69c4
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/impl/CoordinateSequenceTestBase.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.impl;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * General test cases for CoordinateSequences.
+ * Subclasses can set the factory to test different kinds of CoordinateSequences.
+ *
+ * @version 1.7
+ */
+public abstract class CoordinateSequenceTestBase
+ extends TestCase
+{
+ public static final int SIZE = 100;
+
+ public static void main(String args[]) {
+ TestRunner.run(CoordinateSequenceTestBase.class);
+ }
+
+ public CoordinateSequenceTestBase(String name) { super(name); }
+
+ abstract CoordinateSequenceFactory getCSFactory();
+
+ public void testZeroLength()
+ {
+ CoordinateSequence seq = getCSFactory().create(0, 3);
+ assertTrue(seq.size() == 0);
+
+ CoordinateSequence seq2 = getCSFactory().create((Coordinate[]) null);
+ assertTrue(seq2.size() == 0);
+ }
+
+ public void testCreateBySizeAndModify()
+ {
+ Coordinate[] coords = createArray(SIZE);
+
+ CoordinateSequence seq = getCSFactory().create(SIZE, 3);
+ for (int i = 0; i < seq.size(); i++) {
+ seq.setOrdinate(i, 0, coords[i].x);
+ seq.setOrdinate(i, 1, coords[i].y);
+ seq.setOrdinate(i, 2, coords[i].z);
+ }
+
+ assertTrue(isEqual(seq, coords));
+ }
+
+ public void test2DZOrdinate()
+ {
+ Coordinate[] coords = createArray(SIZE);
+
+ CoordinateSequence seq = getCSFactory().create(SIZE, 2);
+ for (int i = 0; i < seq.size(); i++) {
+ seq.setOrdinate(i, 0, coords[i].x);
+ seq.setOrdinate(i, 1, coords[i].y);
+ }
+
+ for (int i = 0; i < seq.size(); i++) {
+ Coordinate p = seq.getCoordinate(i);
+ assertTrue(Double.isNaN(p.z));
+ }
+ }
+
+ public void testCreateByInit()
+ {
+ Coordinate[] coords = createArray(SIZE);
+ CoordinateSequence seq = getCSFactory().create(coords);
+ assertTrue(isEqual(seq, coords));
+ }
+
+ public void testCreateByInitAndCopy()
+ {
+ Coordinate[] coords = createArray(SIZE);
+ CoordinateSequence seq = getCSFactory().create(coords);
+ CoordinateSequence seq2 = getCSFactory().create(seq);
+ assertTrue(isEqual(seq2, coords));
+ }
+
+ public void testSerializable() throws IOException, ClassNotFoundException {
+ Coordinate[] coords = createArray(SIZE);
+ CoordinateSequence seq = getCSFactory().create(coords);
+ // throws exception if not serializable
+ byte[] data = serialize(seq);
+ // check round-trip gives same data
+ CoordinateSequence seq2 = deserialize(data);
+ assertTrue(isEqual(seq2, coords));
+ }
+
+ private static byte[] serialize(CoordinateSequence seq) throws IOException {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(bos);
+ oos.writeObject(seq);
+ oos.close();
+ return bos.toByteArray();
+ }
+
+ private static CoordinateSequence deserialize(byte[] data) throws IOException, ClassNotFoundException {
+ ByteArrayInputStream bais = new ByteArrayInputStream(data);
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ Object o = ois.readObject();
+ return (CoordinateSequence) o;
+ }
+
+ Coordinate[] createArray(int size)
+ {
+ Coordinate[] coords = new Coordinate[size];
+ for (int i = 0; i < size; i++) {
+ double base = 2 * 1;
+ coords[i] = new Coordinate(base, base + 1, base + 2);
+ }
+ return coords;
+ }
+
+ boolean isAllCoordsEqual(CoordinateSequence seq, Coordinate coord)
+ {
+ for (int i = 0; i < seq.size(); i++) {
+ if (! coord.equals(seq.getCoordinate(i))) return false;
+
+ if (coord.x != seq.getOrdinate(i, CoordinateSequence.X)) return false;
+ if (coord.y != seq.getOrdinate(i, CoordinateSequence.Y)) return false;
+ if (coord.z != seq.getOrdinate(i, CoordinateSequence.Z)) return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests for equality using all supported accessors,
+ * to provides test coverage for them.
+ *
+ * @param seq
+ * @param coords
+ * @return
+ */
+ boolean isEqual(CoordinateSequence seq, Coordinate[] coords)
+ {
+ if (seq.size() != coords.length) return false;
+
+ Coordinate p = new Coordinate();
+
+ for (int i = 0; i < seq.size(); i++) {
+ if (! coords[i].equals(seq.getCoordinate(i))) return false;
+
+ // Ordinate named getters
+ if (coords[i].x != seq.getX(i)) return false;
+ if (coords[i].y != seq.getY(i)) return false;
+
+ // Ordinate indexed getters
+ if (coords[i].x != seq.getOrdinate(i, CoordinateSequence.X)) return false;
+ if (coords[i].y != seq.getOrdinate(i, CoordinateSequence.Y)) return false;
+ if (coords[i].z != seq.getOrdinate(i, CoordinateSequence.Z)) return false;
+
+ // Coordinate getter
+ seq.getCoordinate(i, p);
+ if (coords[i].x != p.x) return false;
+ if (coords[i].y != p.y) return false;
+ if (coords[i].z != p.z) return false;
+
+ }
+ return true;
+ }
+}
+
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceTest.java
new file mode 100644
index 0000000..65d3cd9
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/impl/PackedCoordinateSequenceTest.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.impl;
+
+import org.locationtech.jts.geom.CoordinateSequenceFactory;
+
+import junit.textui.TestRunner;
+
+/**
+ * Test {@link PackedCoordinateSequence}
+ * @version 1.7
+ */
+public class PackedCoordinateSequenceTest
+ extends CoordinateSequenceTestBase
+{
+ public static void main(String args[]) {
+ TestRunner.run(PackedCoordinateSequenceTest.class);
+ }
+
+ public PackedCoordinateSequenceTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ CoordinateSequenceFactory getCSFactory() {
+ return new PackedCoordinateSequenceFactory();
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersectsStressTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersectsStressTest.java
new file mode 100644
index 0000000..7d4962a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonIntersectsStressTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Stress tests {@link PreparedPolygon#intersects(Geometry)}
+ * to confirm it finds intersections correctly.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PreparedPolygonIntersectsStressTest extends TestCase
+{
+ static final int MAX_ITER = 10000;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ public static void main(String args[]) {
+ TestRunner.run(PreparedPolygonIntersectsStressTest.class);
+ }
+
+ boolean testFailed = false;
+
+ public PreparedPolygonIntersectsStressTest(String name) {
+ super(name);
+ }
+
+ public void test()
+ {
+ run(1000);
+ }
+
+ public void run(int nPts)
+ {
+// Geometry poly = createCircle(new Coordinate(0, 0), 100, nPts);
+ Geometry poly = createSineStar(new Coordinate(0, 0), 100, nPts);
+ //System.out.println(poly);
+
+ //System.out.println();
+ //System.out.println("Running with " + nPts + " points");
+ test(poly);
+ }
+
+ Geometry createCircle(Coordinate origin, double size, int nPts) {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+ // Polygon gRect = gsf.createRectangle();
+ // Geometry g = gRect.getExteriorRing();
+ return circle;
+ }
+
+ Geometry createSineStar(Coordinate origin, double size, int nPts) {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(0.1);
+ gsf.setNumArms(20);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+ LineString createTestLine(Envelope env, double size, int nPts)
+ {
+ double width = env.getWidth();
+ double xOffset = width * Math.random();
+ double yOffset = env.getHeight() * Math.random();
+ Coordinate basePt = new Coordinate(
+ env.getMinX() + xOffset,
+ env.getMinY() + yOffset);
+ LineString line = createTestLine(basePt, size, nPts);
+ return line;
+ }
+
+ LineString createTestLine(Coordinate base, double size, int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(base);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+// System.out.println(circle);
+ return (LineString) circle.getBoundary();
+ }
+
+ public void test(Geometry g) {
+ int count = 0;
+ while (count < MAX_ITER) {
+ count++;
+ LineString line = createTestLine(g.getEnvelopeInternal(), 10, 20);
+
+// System.out.println("Test # " + count);
+// System.out.println(line);
+ testResultsEqual(g, line);
+ }
+ }
+
+ public void testResultsEqual(Geometry g, LineString line)
+ {
+ boolean slowIntersects = g.intersects(line);
+
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+ PreparedGeometry prepGeom = pgFact.create(g);
+
+ boolean fastIntersects = prepGeom.intersects(line);
+
+ if (slowIntersects != fastIntersects) {
+ System.out.println(line);
+ System.out.println("Slow = " + slowIntersects + ", Fast = " + fastIntersects);
+ throw new RuntimeException("Different results found for intersects() !");
+ }
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicateStressTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicateStressTest.java
new file mode 100644
index 0000000..c950380
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/prep/PreparedPolygonPredicateStressTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+import org.locationtech.jts.geom.Geometry;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Stress tests {@link PreparedPolygon} for
+ * correctness of
+ * {@link PreparedPolygon#contains(Geometry)}
+ * and {@link PreparedPolygon#intersects(Geometry)}
+ * operations.
+ *
+ * @author Owner
+ *
+ */
+public class PreparedPolygonPredicateStressTest extends TestCase
+{
+
+ public static void main(String args[]) {
+ TestRunner.run(PreparedPolygonPredicateStressTest.class);
+ }
+
+ boolean testFailed = false;
+
+ public PreparedPolygonPredicateStressTest(String name) {
+ super(name);
+ }
+
+ public void test()
+ {
+ PredicateStressTester tester = new PredicateStressTester();
+ tester.run(1000);
+ }
+
+ class PredicateStressTester
+ extends StressTestHarness
+ {
+ public boolean checkResult(Geometry target, Geometry test) {
+ if (! checkIntersects(target, test)) return false;
+ if (! checkContains(target, test)) return false;
+ return true;
+ }
+ }
+
+ public boolean checkContains(Geometry target, Geometry test)
+ {
+ boolean expectedResult = target.contains(test);
+
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+ PreparedGeometry prepGeom = pgFact.create(target);
+
+ boolean prepResult = prepGeom.contains(test);
+
+ if (prepResult != expectedResult) {
+ return false;
+ }
+ return true;
+ }
+
+ public boolean checkIntersects(Geometry target, Geometry test)
+ {
+ boolean expectedResult = target.intersects(test);
+
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+ PreparedGeometry prepGeom = pgFact.create(target);
+
+ boolean prepResult = prepGeom.intersects(test);
+
+ if (prepResult != expectedResult) {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/prep/StressTestHarness.java b/modules/core/src/test/java/org/locationtech/jts/geom/prep/StressTestHarness.java
new file mode 100644
index 0000000..bd009da
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/prep/StressTestHarness.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.geom.prep;
+
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+public abstract class StressTestHarness
+{
+ static final int MAX_ITER = 10000;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ private int numTargetPts = 1000;
+
+ public StressTestHarness() {
+ }
+
+ public void setTargetSize(int nPts)
+ {
+ numTargetPts =nPts;
+ }
+
+ public void run(int nIter)
+ {
+ //System.out.println("Running " + nIter + " tests");
+// Geometry poly = createCircle(new Coordinate(0, 0), 100, nPts);
+ Geometry poly = createSineStar(new Coordinate(0, 0), 100, numTargetPts);
+ //System.out.println(poly);
+
+ //System.out.println();
+ //System.out.println("Running with " + nPts + " points");
+ run(nIter, poly);
+ }
+
+ Geometry createCircle(Coordinate origin, double size, int nPts) {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+ // Polygon gRect = gsf.createRectangle();
+ // Geometry g = gRect.getExteriorRing();
+ return circle;
+ }
+
+ Geometry createSineStar(Coordinate origin, double size, int nPts) {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(0.1);
+ gsf.setNumArms(20);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+ Geometry createRandomTestGeometry(Envelope env, double size, int nPts)
+ {
+ double width = env.getWidth();
+ double xOffset = width * Math.random();
+ double yOffset = env.getHeight() * Math.random();
+ Coordinate basePt = new Coordinate(
+ env.getMinX() + xOffset,
+ env.getMinY() + yOffset);
+ Geometry test = createTestCircle(basePt, size, nPts);
+ if (test instanceof Polygon && Math.random() > 0.5) {
+ test = test.getBoundary();
+ }
+ return test;
+ }
+
+ Geometry createTestCircle(Coordinate base, double size, int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(base);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+// System.out.println(circle);
+ return circle;
+ }
+
+ public void run(int nIter, Geometry target) {
+ int count = 0;
+ while (count < nIter) {
+ count++;
+ Geometry test = createRandomTestGeometry(target.getEnvelopeInternal(), 10, 20);
+
+// System.out.println("Test # " + count);
+// System.out.println(line);
+// System.out.println("Test[" + count + "] " + target.getClass() + "/" + test.getClass());
+ boolean isResultCorrect = checkResult(target, test);
+ if (! isResultCorrect) {
+ throw new RuntimeException("Invalid result found");
+ }
+ }
+ }
+
+ public abstract boolean checkResult(Geometry target, Geometry test);
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationBuilderTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationBuilderTest.java
new file mode 100644
index 0000000..fc7821c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationBuilderTest.java
@@ -0,0 +1,240 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Tests {@link AffineTransformationBuilder}.
+ *
+ * @author Martin Davis
+ */
+public class AffineTransformationBuilderTest
+ extends TestCase
+{
+ public AffineTransformationBuilderTest(String name)
+ {
+ super(name);
+ }
+
+ public void testRotate1()
+ {
+ run(0, 0, 1, 0, 0, 1,
+ 0, 0, 0, 1, -1, 0);
+ }
+
+ public void testRotate2()
+ {
+ run(0, 0, 1, 0, 0, 1,
+ 0, 0, 1, 1, -1, 1);
+ }
+
+ public void testScale1()
+ {
+ run(0, 0, 1, 0, 0, 1,
+ 0, 0, 2, 0, 0, 2);
+ }
+
+ public void testTranslate1()
+ {
+ run(0, 0, 1, 0, 0, 1,
+ 5, 6, 6, 6, 5, 7);
+ }
+
+ public void testLinear1()
+ {
+ run(0, 0, 1, 0, 0, 1,
+ 0, 0, 0, 0, 5, 7);
+ }
+
+ public void testSingular2()
+ {
+ // points on a line mapping to collinear points - not uniquely specified
+ runSingular(0, 0, 1, 1, 2, 2,
+ 0, 0, 10, 10, 30, 30);
+ }
+
+ public void testSingular3()
+ {
+ // points on a line mapping to collinear points - not uniquely specified
+ runSingular(0, 0, 1, 1, 2, 2,
+ 0, 0, 10, 10, 20, 20);
+ }
+
+ public void testSingular1()
+ {
+ // points on a line mapping to non-collinear points - no solution
+ runSingular(0, 0, 1, 1, 2, 2,
+ 0, 0, 1, 2, 1, 3);
+ }
+
+ public void testSingleControl1()
+ {
+ run(0, 0,
+ 5, 6);
+ }
+
+ public void testDualControl_Translation()
+ {
+ run(0, 0, 1, 1,
+ 5, 5, 6, 6);
+ }
+
+ public void testDualControl_General()
+ {
+ run(0, 0, 1, 1,
+ 5, 5, 6, 9);
+ }
+
+ void run(double p0x, double p0y,
+ double p1x, double p1y,
+ double p2x, double p2y,
+ double pp0x, double pp0y,
+ double pp1x, double pp1y,
+ double pp2x, double pp2y
+ )
+ {
+ Coordinate p0 = new Coordinate(p0x, p0y);
+ Coordinate p1 = new Coordinate(p1x, p1y);
+ Coordinate p2 = new Coordinate(p2x, p2y);
+
+ Coordinate pp0 = new Coordinate(pp0x, pp0y);
+ Coordinate pp1 = new Coordinate(pp1x, pp1y);
+ Coordinate pp2 = new Coordinate(pp2x, pp2y);
+
+ AffineTransformationBuilder atb = new AffineTransformationBuilder(
+ p0, p1, p2,
+ pp0, pp1, pp2);
+ AffineTransformation trans = atb.getTransformation();
+
+ Coordinate dest = new Coordinate();
+ assertEqualPoint(pp0, trans.transform(p0, dest));
+ assertEqualPoint(pp1, trans.transform(p1, dest));
+ assertEqualPoint(pp2, trans.transform(p2, dest));
+ }
+
+ void run(double p0x, double p0y,
+ double p1x, double p1y,
+ double pp0x, double pp0y,
+ double pp1x, double pp1y
+ )
+ {
+ Coordinate p0 = new Coordinate(p0x, p0y);
+ Coordinate p1 = new Coordinate(p1x, p1y);
+
+ Coordinate pp0 = new Coordinate(pp0x, pp0y);
+ Coordinate pp1 = new Coordinate(pp1x, pp1y);
+
+ AffineTransformation trans = AffineTransformationFactory.createFromControlVectors(
+ p0, p1,
+ pp0, pp1);
+
+ Coordinate dest = new Coordinate();
+ assertEqualPoint(pp0, trans.transform(p0, dest));
+ assertEqualPoint(pp1, trans.transform(p1, dest));
+ }
+
+ void run(double p0x, double p0y,
+ double pp0x, double pp0y
+ )
+ {
+ Coordinate p0 = new Coordinate(p0x, p0y);
+
+ Coordinate pp0 = new Coordinate(pp0x, pp0y);
+
+ AffineTransformation trans = AffineTransformationFactory.createFromControlVectors(
+ p0, pp0);
+
+ Coordinate dest = new Coordinate();
+ assertEqualPoint(pp0, trans.transform(p0, dest));
+ }
+
+
+ void runSingular(double p0x, double p0y,
+ double p1x, double p1y,
+ double p2x, double p2y,
+ double pp0x, double pp0y,
+ double pp1x, double pp1y,
+ double pp2x, double pp2y
+ )
+ {
+ Coordinate p0 = new Coordinate(p0x, p0y);
+ Coordinate p1 = new Coordinate(p1x, p1y);
+ Coordinate p2 = new Coordinate(p2x, p2y);
+
+ Coordinate pp0 = new Coordinate(pp0x, pp0y);
+ Coordinate pp1 = new Coordinate(pp1x, pp1y);
+ Coordinate pp2 = new Coordinate(pp2x, pp2y);
+
+ AffineTransformationBuilder atb = new AffineTransformationBuilder(
+ p0, p1, p2,
+ pp0, pp1, pp2);
+ AffineTransformation trans = atb.getTransformation();
+ assertEquals(trans, null);
+ }
+
+ private Coordinate ctl0 = new Coordinate(-10, -10);
+ private Coordinate ctl1 = new Coordinate(10, 20);
+ private Coordinate ctl2 = new Coordinate(10, -20);
+
+ public void testTransform1()
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.rotate(1);
+ trans.translate(10, 10);
+ trans.scale(2, 2);
+ runTransform(trans, ctl0, ctl1, ctl2);
+ }
+
+ public void testTransform2()
+ {
+ AffineTransformation trans = new AffineTransformation();
+ trans.rotate(3);
+ trans.translate(10, 10);
+ trans.scale(2, 10);
+ trans.shear(5, 2);
+ trans.reflect(5, 8, 10, 2);
+ runTransform(trans, ctl0, ctl1, ctl2);
+ }
+
+ private void runTransform(AffineTransformation trans,
+ Coordinate p0,
+ Coordinate p1,
+ Coordinate p2)
+ {
+ Coordinate pp0 = trans.transform(p0, new Coordinate());
+ Coordinate pp1 = trans.transform(p1, new Coordinate());
+ Coordinate pp2 = trans.transform(p2, new Coordinate());
+
+ AffineTransformationBuilder atb = new AffineTransformationBuilder(
+ p0, p1, p2,
+ pp0, pp1, pp2);
+ AffineTransformation atbTrans = atb.getTransformation();
+
+ Coordinate dest = new Coordinate();
+ assertEqualPoint(pp0, atbTrans.transform(p0, dest));
+ assertEqualPoint(pp1, atbTrans.transform(p1, dest));
+ assertEqualPoint(pp2, atbTrans.transform(p2, dest));
+ }
+
+
+ private void assertEqualPoint(Coordinate p, Coordinate q)
+ {
+ assertEquals(p.x, q.x, 0.00005);
+ assertEquals(p.y, q.y, 0.00005);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationTest.java b/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationTest.java
new file mode 100644
index 0000000..375901b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/geom/util/AffineTransformationTest.java
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.geom.util;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @author Martin Davis
+ *
+ */
+public class AffineTransformationTest
+ extends TestCase
+{
+ public AffineTransformationTest(String name)
+ {
+ super(name);
+ }
+
+ public void testRotate1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.rotationInstance(Math.PI/2);
+ checkTransformation(10, 0, t, 0, 10);
+ checkTransformation(0, 10, t, -10, 0);
+ checkTransformation(-10, -10, t, 10, -10);
+ }
+
+ public void testRotateAroundPoint1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.rotationInstance(Math.PI/2, 1, 1);
+ checkTransformation(1, 1, t, 1, 1);
+ checkTransformation(10, 0, t, 2, 10);
+ checkTransformation(0, 10, t, -8, 0);
+ checkTransformation(-10, -10, t, 12, -10);
+ }
+
+ public void testReflectXY1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.reflectionInstance(1, 1);
+ checkTransformation(10, 0, t, 0, 10);
+ checkTransformation(0, 10, t, 10, 0);
+ checkTransformation(-10, -10, t, -10, -10);
+ checkTransformation(-3, -4, t, -4, -3);
+ }
+
+ public void testReflectXY2()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.reflectionInstance(1, -1);
+ checkTransformation(10, 0, t, 0, -10);
+ checkTransformation(0, 10, t, -10, 0);
+ checkTransformation(-10, -10, t, 10, 10);
+ checkTransformation(-3, -4, t, 4, 3);
+ }
+
+ public void testReflectXYXY1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.reflectionInstance(0, 5, 5, 0);
+ checkTransformation(5, 0, t, 5, 0);
+ checkTransformation(0, 0, t, 5, 5);
+ checkTransformation(-10, -10, t, 15, 15);
+ }
+
+ public void testScale1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.scaleInstance(2, 3);
+ checkTransformation(10, 0, t, 20, 0);
+ checkTransformation(0, 10, t, 0, 30);
+ checkTransformation(-10, -10, t, -20, -30);
+ }
+
+ public void testShear1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.shearInstance(2, 3);
+ checkTransformation(10, 0, t, 10, 30);
+ }
+
+ public void testTranslate1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.translationInstance(2, 3);
+ checkTransformation(1, 0, t, 3, 3);
+ checkTransformation(0, 0, t, 2, 3);
+ checkTransformation(-10, -5, t, -8, -2);
+ }
+
+ public void testTranslateRotate1()
+ throws IOException, ParseException
+ {
+ AffineTransformation t = AffineTransformation.translationInstance(3, 3)
+ .rotate(Math.PI/2);
+ checkTransformation(10, 0, t, -3, 13);
+ checkTransformation(-10, -10, t, 7, -7);
+ }
+
+ public void testCompose1()
+ {
+ AffineTransformation t0 = AffineTransformation.translationInstance(10, 0);
+ t0.rotate(Math.PI /2);
+ t0.translate(0, -10);
+
+ AffineTransformation t1 = AffineTransformation.translationInstance(0, 0);
+ t1.rotate(Math.PI /2);
+
+ checkTransformation(t0, t1);
+ }
+
+ public void testCompose2()
+ {
+ AffineTransformation t0 = AffineTransformation.reflectionInstance(0, 0, 1, 0);
+ t0.reflect(0, 0, 0, -1);
+
+ AffineTransformation t1 = AffineTransformation.rotationInstance(Math.PI);
+
+ checkTransformation(t0, t1);
+ }
+
+ public void testComposeRotation1()
+ {
+ AffineTransformation t0 = AffineTransformation.rotationInstance(1, 10, 10);
+
+ AffineTransformation t1 = AffineTransformation.translationInstance(-10, -10);
+ t1.rotate(1);
+ t1.translate(10, 10);
+
+ checkTransformation(t0, t1);
+ }
+
+ public void testLineString() throws IOException, ParseException, NoninvertibleTransformationException {
+ checkTransformation("LINESTRING (1 2, 10 20, 100 200)");
+ }
+
+ public void testPolygon() throws IOException, ParseException, NoninvertibleTransformationException {
+ checkTransformation("POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0))");
+ }
+ public void testPolygonWithHole()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0), (1 1, 1 10, 10 10, 10 1, 1 1) )");
+ }
+ public void testMultiPoint()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("MULTIPOINT (0 0, 1 4, 100 200)");
+ }
+ public void testMultiLineString()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("MULTILINESTRING ((0 0, 1 10), (10 10, 20 30), (123 123, 456 789))");
+ }
+ public void testMultiPolygon()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("MULTIPOLYGON ( ((0 0, 100 0, 100 100, 0 100, 0 0), (1 1, 1 10, 10 10, 10 1, 1 1) ), ((200 200, 200 250, 250 250, 250 200, 200 200)) )");
+ }
+
+ public void testGeometryCollection()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("GEOMETRYCOLLECTION ( POINT ( 1 1), LINESTRING (0 0, 10 10), POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0)) )");
+ }
+
+ public void testNestedGeometryCollection()
+ throws IOException, ParseException, NoninvertibleTransformationException
+ {
+ checkTransformation("GEOMETRYCOLLECTION ( POINT (20 20), GEOMETRYCOLLECTION ( POINT ( 1 1), LINESTRING (0 0, 10 10), POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0)) ) )");
+ }
+
+ public void testCompose3()
+ {
+ AffineTransformation t0 = AffineTransformation.reflectionInstance(0, 10, 10, 0);
+ t0.translate(-10, -10);
+
+ AffineTransformation t1 = AffineTransformation.reflectionInstance(0, 0, -1, 1);
+
+ checkTransformation(t0, t1);
+ }
+
+ /**
+ * Checks that a transformation produces the expected result
+ * @param x the input pt x
+ * @param y the input pt y
+ * @param trans the transformation
+ * @param xp the expected output x
+ * @param yp the expected output y
+ */
+ void checkTransformation(double x, double y, AffineTransformation trans, double xp, double yp)
+ {
+ Coordinate p = new Coordinate(x, y);
+ Coordinate p2 = new Coordinate();
+ trans.transform(p, p2);
+ assertEquals(xp, p2.x, .00005);
+ assertEquals(yp, p2.y, .00005);
+
+ // if the transformation is invertible, test the inverse
+ try {
+ AffineTransformation invTrans = trans.getInverse();
+ Coordinate pInv = new Coordinate();
+ invTrans.transform(p2, pInv);
+ assertEquals(x, pInv.x, .00005);
+ assertEquals(y, pInv.y, .00005);
+
+ double det = trans.getDeterminant();
+ double detInv = invTrans.getDeterminant();
+ assertEquals(det, 1.0 / detInv, .00005);
+
+ }
+ catch (NoninvertibleTransformationException ex) {
+ }
+ }
+
+ static WKTReader rdr = new WKTReader();
+
+ void checkTransformation(String geomStr) throws IOException, ParseException,
+ NoninvertibleTransformationException {
+ Geometry geom = rdr.read(geomStr);
+ AffineTransformation trans = AffineTransformation
+ .rotationInstance(Math.PI / 2);
+ AffineTransformation inv = trans.getInverse();
+ Geometry transGeom = (Geometry) geom.copy();
+ transGeom.apply(trans);
+ // System.out.println(transGeom);
+ transGeom.apply(inv);
+ // check if transformed geometry is equal to original
+ boolean isEqual = geom.equalsExact(transGeom, 0.0005);
+ assertTrue(isEqual);
+ }
+
+ void checkTransformation(AffineTransformation trans0, AffineTransformation trans1)
+ {
+ double[] m0 = trans0.getMatrixEntries();
+ double[] m1 = trans1.getMatrixEntries();
+ for (int i = 0; i < m0.length; i++) {
+ assertEquals(m0[i], m1[i], 0.000005);
+ }
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/SpatialIndexTester.java b/modules/core/src/test/java/org/locationtech/jts/index/SpatialIndexTester.java
new file mode 100644
index 0000000..a5e9129
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/SpatialIndexTester.java
@@ -0,0 +1,160 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+
+
+
+/**
+ * @version 1.7
+ */
+public class SpatialIndexTester
+{
+ private static boolean VERBOSE = false;
+
+ private SpatialIndex index;
+ private ArrayList sourceData;
+ private boolean isSuccess = true;
+
+ public SpatialIndexTester() {
+ }
+
+ public boolean isSuccess()
+ {
+ return isSuccess;
+ }
+
+ public void setSpatialIndex(SpatialIndex index)
+ {
+ this.index = index;
+ }
+
+ public SpatialIndex getSpatialIndex()
+ {
+ return index;
+ }
+
+ public void init() {
+ sourceData = new ArrayList();
+ addSourceData(0, sourceData);
+ addSourceData(OFFSET, sourceData);
+ if (VERBOSE) {
+ //System.out.println("===============================");
+ //System.out.println("Grid Extent: " + (CELL_EXTENT * CELLS_PER_GRID_SIDE));
+ //System.out.println("Cell Extent: " + CELL_EXTENT);
+ //System.out.println("Feature Extent: " + FEATURE_EXTENT);
+ //System.out.println("Cells Per Grid Side: " + CELLS_PER_GRID_SIDE);
+ //System.out.println("Offset For 2nd Set Of Features: " + OFFSET);
+ //System.out.println("Feature Count: " + sourceData.size());
+ }
+ insert(sourceData, index);
+ }
+
+ public void run()
+ {
+ doTest(index, QUERY_ENVELOPE_EXTENT_1, sourceData);
+ doTest(index, QUERY_ENVELOPE_EXTENT_2, sourceData);
+ }
+
+ private void insert(List sourceData, SpatialIndex index) {
+ for (Iterator i = sourceData.iterator(); i.hasNext(); ) {
+ Envelope envelope = (Envelope) i.next();
+ index.insert(envelope, envelope);
+ }
+ }
+
+ private static final double CELL_EXTENT = 20.31;
+ private static final int CELLS_PER_GRID_SIDE = 10;
+ private static final double FEATURE_EXTENT = 10.1;
+ private static final double OFFSET = 5.03;
+ private static final double QUERY_ENVELOPE_EXTENT_1 = 1.009;
+ private static final double QUERY_ENVELOPE_EXTENT_2 = 11.7;
+
+ private void addSourceData(double offset, List sourceData) {
+ for (int i = 0; i < CELLS_PER_GRID_SIDE; i++) {
+ double minx = (i * CELL_EXTENT) + offset;
+ double maxx = minx + FEATURE_EXTENT;
+ for (int j = 0; j < CELLS_PER_GRID_SIDE; j++) {
+ double miny = (j * CELL_EXTENT) + offset;
+ double maxy = miny + FEATURE_EXTENT;
+ Envelope e = new Envelope(minx, maxx, miny, maxy);
+ sourceData.add(e);
+ }
+ }
+ }
+
+ private void doTest(SpatialIndex index, double queryEnvelopeExtent, List sourceData) {
+ int extraMatchCount = 0;
+ int expectedMatchCount = 0;
+ int actualMatchCount = 0;
+ int queryCount = 0;
+ for (int x = 0; x < CELL_EXTENT * CELLS_PER_GRID_SIDE; x+= queryEnvelopeExtent) {
+ for (int y = 0; y < CELL_EXTENT * CELLS_PER_GRID_SIDE; y+= queryEnvelopeExtent) {
+ Envelope queryEnvelope = new Envelope(x, x+queryEnvelopeExtent, y, y+queryEnvelopeExtent);
+ List expectedMatches = intersectingEnvelopes(queryEnvelope, sourceData);
+ List actualMatches = index.query(queryEnvelope);
+ // since index returns candidates only, it may return more than the expected value
+ if (expectedMatches.size() > actualMatches.size()) {
+ isSuccess = false;
+ }
+ extraMatchCount += (actualMatches.size() - expectedMatches.size());
+ expectedMatchCount += expectedMatches.size();
+ actualMatchCount += actualMatches.size();
+ compare(expectedMatches, actualMatches);
+ queryCount++;
+ }
+ }
+ if (VERBOSE) {
+ //System.out.println("---------------");
+ //System.out.println("Envelope Extent: " + queryEnvelopeExtent);
+ //System.out.println("Expected Matches: " + expectedMatchCount);
+ //System.out.println("Actual Matches: " + actualMatchCount);
+ //System.out.println("Extra Matches: " + extraMatchCount);
+ //System.out.println("Query Count: " + queryCount);
+ //System.out.println("Average Expected Matches: " + (expectedMatchCount/(double)queryCount));
+ //System.out.println("Average Actual Matches: " + (actualMatchCount/(double)queryCount));
+ //System.out.println("Average Extra Matches: " + (extraMatchCount/(double)queryCount));
+ }
+ }
+
+ private void compare(List expectedEnvelopes, List actualEnvelopes) {
+ //Don't use #containsAll because we want to check using
+ //==, not #equals. [Jon Aquino]
+ for (Iterator i = expectedEnvelopes.iterator(); i.hasNext(); ) {
+ Envelope expected = (Envelope) i.next();
+ boolean found = false;
+ for (Iterator j = actualEnvelopes.iterator(); j.hasNext(); ) {
+ Envelope actual = (Envelope) j.next();
+ if (actual.equals(expected)) {
+ found = true;
+ break;
+ }
+ }
+ if (! found)
+ isSuccess = false;
+ }
+ }
+
+ private List intersectingEnvelopes(Envelope queryEnvelope, List envelopes) {
+ ArrayList intersectingEnvelopes = new ArrayList();
+ for (Iterator i = envelopes.iterator(); i.hasNext(); ) {
+ Envelope candidate = (Envelope) i.next();
+ if (candidate.intersects(queryEnvelope)) { intersectingEnvelopes.add(candidate); }
+ }
+ return intersectingEnvelopes;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/kdtree/KdTreeTest.java b/modules/core/src/test/java/org/locationtech/jts/index/kdtree/KdTreeTest.java
new file mode 100644
index 0000000..f2c28ea
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/kdtree/KdTreeTest.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.kdtree;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateArrays;
+import org.locationtech.jts.geom.Envelope;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import test.jts.util.IOUtil;
+
+public class KdTreeTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(KdTreeTest.class);
+ }
+
+ public KdTreeTest(String name) {
+ super(name);
+ }
+
+ public void testSinglePoint() {
+ KdTree index = new KdTree(.001);
+
+ KdNode node1 = index.insert(new Coordinate(1, 1));
+ KdNode node2 = index.insert(new Coordinate(1, 1));
+
+ assertTrue("Inserting 2 identical points should create one node",
+ node1 == node2);
+
+ Envelope queryEnv = new Envelope(0, 10, 0, 10);
+
+ List result = index.query(queryEnv);
+ assertTrue(result.size() == 1);
+
+ KdNode node = (KdNode) result.get(0);
+ assertTrue(node.getCount() == 2);
+ assertTrue(node.isRepeated());
+ }
+
+ public void testMultiplePoint() {
+ testQuery("MULTIPOINT ( (1 1), (2 2) )", 0,
+ new Envelope(0, 10, 0, 10),
+ "MULTIPOINT ( (1 1), (2 2) )");
+ }
+
+ public void testSubset() {
+ testQuery("MULTIPOINT ( (1 1), (2 2), (3 3), (4 4) )",
+ 0,
+ new Envelope(1.5, 3.4, 1.5, 3.5),
+ "MULTIPOINT ( (2 2), (3 3) )");
+ }
+
+ public void testToleranceFailure() {
+ testQuery("MULTIPOINT ( (0 0), (-.1 1), (.1 1) )",
+ 1,
+ new Envelope(-9, 9, -9, 9),
+ "MULTIPOINT ( (0 0), (-.1 1) )");
+ }
+
+ public void testTolerance2() {
+ testQuery("MULTIPOINT ((10 60), (20 60), (30 60), (30 63))",
+ 9,
+ new Envelope(0,99, 0, 99),
+ "MULTIPOINT ((10 60), (20 60), (30 60))");
+ }
+
+ public void testTolerance2_perturbedY() {
+ testQuery("MULTIPOINT ((10 60), (20 61), (30 60), (30 63))",
+ 9,
+ new Envelope(0,99, 0, 99),
+ "MULTIPOINT ((10 60), (20 61), (30 60))");
+ }
+
+ public void testSnapToNearest() {
+ testQueryRepeated("MULTIPOINT ( (10 60), (20 60), (16 60))",
+ 5,
+ new Envelope(0,99, 0, 99),
+ "MULTIPOINT ( (10 60), (20 60), (20 60))");
+ }
+
+ private void testQuery(String wktInput, double tolerance,
+ Envelope queryEnv, String wktExpected) {
+ KdTree index = build(wktInput, tolerance);
+ testQuery(
+ index,
+ queryEnv, false,
+ IOUtil.read(wktExpected).getCoordinates());
+ }
+
+ private void testQueryRepeated(String wktInput, double tolerance,
+ Envelope queryEnv, String wktExpected) {
+ KdTree index = build(wktInput, tolerance);
+ testQuery(
+ index,
+ queryEnv, true,
+ IOUtil.read(wktExpected).getCoordinates());
+ }
+
+ private void testQuery(KdTree index,
+ Envelope queryEnv, Coordinate[] expectedCoord) {
+ Coordinate[] result = KdTree.toCoordinates(index.query(queryEnv));
+
+ Arrays.sort(result);
+ Arrays.sort(expectedCoord);
+
+ assertTrue("Result count = " + result.length + ", expected count = " + expectedCoord.length,
+ result.length == expectedCoord.length);
+
+ boolean isMatch = CoordinateArrays.equals(result, expectedCoord);
+ assertTrue("Expected result coordinates not found", isMatch);
+ }
+
+ private void testQuery(KdTree index,
+ Envelope queryEnv, boolean includeRepeated, Coordinate[] expectedCoord) {
+ Coordinate[] result = KdTree.toCoordinates(index.query(queryEnv), includeRepeated);
+
+ Arrays.sort(result);
+ Arrays.sort(expectedCoord);
+
+ assertTrue("Result count = " + result.length + ", expected count = " + expectedCoord.length,
+ result.length == expectedCoord.length);
+
+ boolean isMatch = CoordinateArrays.equals(result, expectedCoord);
+ assertTrue("Expected result coordinates not found", isMatch);
+ }
+
+ private KdTree build(String wktInput, double tolerance) {
+ final KdTree index = new KdTree(tolerance);
+ Coordinate[] coords = IOUtil.read(wktInput).getCoordinates();
+ for (int i = 0; i < coords.length; i++) {
+ index.insert(coords[i]);
+ }
+ return index;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/quadtree/DoubleBitsTest.java b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/DoubleBitsTest.java
new file mode 100644
index 0000000..4632cf6
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/DoubleBitsTest.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.quadtree;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests DoubleBits
+ * @version 1.7
+ */
+public class DoubleBitsTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(DoubleBitsTest.class);
+ }
+
+ public DoubleBitsTest(String name) { super(name); }
+
+ public void testExponent() throws Exception
+ {
+ assertTrue(DoubleBits.exponent(-1) == 0);
+ assertTrue(DoubleBits.exponent(8.0) == 3);
+ assertTrue(DoubleBits.exponent(128.0) == 7);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/quadtree/IsEmptyTest.java b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/IsEmptyTest.java
new file mode 100644
index 0000000..50a99fc
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/IsEmptyTest.java
@@ -0,0 +1,33 @@
+package org.locationtech.jts.index.quadtree;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.SpatialIndexTester;
+
+public class IsEmptyTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(IsEmptyTest.class);
+ }
+
+ public IsEmptyTest(String name) {
+ super(name);
+ }
+
+ public void testSpatialIndex()
+ throws Exception
+ {
+ Quadtree index = new Quadtree();
+ assertTrue(index.size() == 0);
+ assertTrue(index.isEmpty());
+
+ index.insert(new Envelope(0,0,1,1), "test");
+ assertTrue(index.size() == 1);
+ assertTrue(!index.isEmpty());
+
+ index.remove(new Envelope(0,0,1,1), "test");
+ assertTrue(index.size() == 0);
+ assertTrue(index.isEmpty());
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/quadtree/QuadtreeTest.java b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/QuadtreeTest.java
new file mode 100644
index 0000000..6c38f9f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/quadtree/QuadtreeTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.index.quadtree;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.SpatialIndexTester;
+
+import test.jts.util.SerializationUtil;
+
+public class QuadtreeTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(QuadtreeTest.class);
+ }
+
+ public QuadtreeTest(String name) {
+ super(name);
+ }
+
+ public void testSpatialIndex()
+ throws Exception
+ {
+ SpatialIndexTester tester = new SpatialIndexTester();
+ tester.setSpatialIndex(new Quadtree());
+ tester.init();
+ tester.run();
+ assertTrue(tester.isSuccess());
+ }
+
+ public void testSerialization()
+ throws Exception
+ {
+ SpatialIndexTester tester = new SpatialIndexTester();
+ tester.setSpatialIndex(new Quadtree());
+ tester.init();
+ Quadtree tree = (Quadtree) tester.getSpatialIndex();
+ byte[] data = SerializationUtil.serialize(tree);
+ tree = (Quadtree) SerializationUtil.deserialize(data);
+ tester.setSpatialIndex(tree);
+ tester.run();
+ assertTrue(tester.isSuccess());
+ }
+
+ @SuppressWarnings("rawtypes")
+ public void testNullQuery() {
+ Quadtree qt = new Quadtree();
+ List result1 = qt.query(null);
+ assertTrue(result1.size() == 0);
+
+ qt.insert(new Envelope(0, 10, 0, 10), "some data");
+ List result2 = qt.query(null);
+ assertTrue(result2.size() == 0);
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/strtree/GeometryDistanceComparator.java b/modules/core/src/test/java/org/locationtech/jts/index/strtree/GeometryDistanceComparator.java
new file mode 100644
index 0000000..5e5ac9a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/strtree/GeometryDistanceComparator.java
@@ -0,0 +1,70 @@
+
+/*
+ * Copyright (c) 2017 Jia Yu.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+
+/**
+ * The Class GeometryDistanceComparator.
+ */
+public class GeometryDistanceComparator implements Comparator<Geometry>, Serializable{
+
+ /** The normal order. */
+ boolean normalOrder;
+
+ /** The query center. */
+ Point queryCenter;
+
+ /**
+ * Instantiates a new Geometry distance comparator.
+ *
+ * @param queryCenter the query center
+ * @param normalOrder The true means puts the least record at the head of this queue. peek() will get the least element. Vice versa.
+ */
+ public GeometryDistanceComparator(Point queryCenter, boolean normalOrder)
+ {
+ this.queryCenter = queryCenter;
+ this.normalOrder = normalOrder;
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(Geometry g1, Geometry g2) {
+ double distance1 = g1.getEnvelopeInternal().distance(this.queryCenter.getEnvelopeInternal());
+ double distance2 = g2.getEnvelopeInternal().distance(this.queryCenter.getEnvelopeInternal());
+ if(this.normalOrder)
+ {
+ if (distance1 > distance2) {
+ return 1;
+ } else if (distance1 == distance2) {
+ return 0;
+ }
+ return -1;
+ }
+ else
+ {
+ if (distance1 > distance2) {
+ return -1;
+ } else if (distance1 == distance2) {
+ return 0;
+ }
+ return 1;
+ }
+
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/strtree/IntervalTest.java b/modules/core/src/test/java/org/locationtech/jts/index/strtree/IntervalTest.java
new file mode 100644
index 0000000..a795043
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/strtree/IntervalTest.java
@@ -0,0 +1,68 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class IntervalTest extends TestCase {
+
+ public IntervalTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {IntervalTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testIntersectsBasic() {
+ assertTrue(new Interval(5, 10).intersects(new Interval(7, 12)));
+ assertTrue(new Interval(7, 12).intersects(new Interval(5, 10)));
+ assertTrue(! new Interval(5, 10).intersects(new Interval(11, 12)));
+ assertTrue(! new Interval(11, 12).intersects(new Interval(5, 10)));
+ assertTrue(new Interval(5, 10).intersects(new Interval(10, 12)));
+ assertTrue(new Interval(10, 12).intersects(new Interval(5, 10)));
+ }
+
+ public void testIntersectsZeroWidthInterval() {
+ assertTrue(new Interval(10, 10).intersects(new Interval(7, 12)));
+ assertTrue(new Interval(7, 12).intersects(new Interval(10, 10)));
+ assertTrue(! new Interval(10, 10).intersects(new Interval(11, 12)));
+ assertTrue(! new Interval(11, 12).intersects(new Interval(10, 10)));
+ assertTrue(new Interval(10, 10).intersects(new Interval(10, 12)));
+ assertTrue(new Interval(10, 12).intersects(new Interval(10, 10)));
+ }
+
+ public void testCopyConstructor() {
+ assertEquals(new Interval(3, 4), new Interval(3, 4));
+ assertEquals(new Interval(3, 4), new Interval(new Interval(3, 4)));
+ }
+
+ public void testGetCentre() {
+ assertEquals(6.5, new Interval(4, 9).getCentre(), 1E-10);
+ }
+
+ public void testExpandToInclude() {
+ assertEquals(new Interval(3, 8), new Interval(3, 4)
+ .expandToInclude(new Interval(7, 8)));
+ assertEquals(new Interval(3, 7), new Interval(3, 7)
+ .expandToInclude(new Interval(4, 5)));
+ assertEquals(new Interval(3, 8), new Interval(3, 7)
+ .expandToInclude(new Interval(4, 8)));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/strtree/SIRtreeTest.java b/modules/core/src/test/java/org/locationtech/jts/index/strtree/SIRtreeTest.java
new file mode 100644
index 0000000..d5114c6
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/strtree/SIRtreeTest.java
@@ -0,0 +1,67 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class SIRtreeTest extends TestCase {
+ public SIRtreeTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {SIRtreeTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ private static class TestTree extends SIRtree {
+ public TestTree(int nodeCapacity) { super(nodeCapacity); }
+ public AbstractNode getRoot() { return super.getRoot(); }
+ protected List boundablesAtLevel(int level) { return super.boundablesAtLevel(level); }
+ }
+
+ public void test() {
+ TestTree t = new TestTree(2);
+ t.insert(2, 6, "A");
+ t.insert(2, 4, "B");
+ t.insert(2, 3, "C");
+ t.insert(2, 4, "D");
+ t.insert(0, 1, "E");
+ t.insert(2, 4, "F");
+ t.insert(5, 6, "G");
+ t.build();
+ assertEquals(2, t.getRoot().getLevel());
+ assertEquals(4, t.boundablesAtLevel(0).size());
+ assertEquals(2, t.boundablesAtLevel(1).size());
+ assertEquals(1, t.boundablesAtLevel(2).size());
+ assertEquals(1, t.query(0.5, 0.5).size());
+ assertEquals(0, t.query(1.5, 1.5).size());
+ assertEquals(2, t.query(4.5, 5.5).size());
+ }
+
+ public void testEmptyTree() {
+ TestTree t = new TestTree(2);
+ t.build();
+ assertEquals(0, t.getRoot().getLevel());
+ assertEquals(1, t.boundablesAtLevel(0).size());
+ assertEquals(0, t.boundablesAtLevel(1).size());
+ assertEquals(0, t.boundablesAtLevel(-1).size());
+ assertEquals(0, t.query(0.5, 0.5).size());
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/index/strtree/STRtreeTest.java b/modules/core/src/test/java/org/locationtech/jts/index/strtree/STRtreeTest.java
new file mode 100644
index 0000000..299a397
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/index/strtree/STRtreeTest.java
@@ -0,0 +1,256 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.index.strtree;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+
+import junit.framework.TestCase;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.index.ItemVisitor;
+import org.locationtech.jts.index.SpatialIndexTester;
+import org.locationtech.jts.util.AssertionFailedException;
+
+import test.jts.index.STRtreeDemo;
+import test.jts.util.SerializationUtil;
+
+
+
+/**
+ * @version 1.7
+ */
+public class STRtreeTest extends TestCase {
+ private GeometryFactory factory = new GeometryFactory();
+
+ public STRtreeTest(String Name_) {
+ super(Name_);
+ }
+
+ public static void main(String[] args) {
+ String[] testCaseName = {STRtreeTest.class.getName()};
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testEmptyTreeUsingListQuery()
+ {
+ STRtree tree = new STRtree();
+ List list = tree.query(new Envelope(0, 0, 1, 1));
+ assertTrue(list.isEmpty());
+ }
+
+ public void testEmptyTreeUsingItemVisitorQuery()
+ {
+ STRtree tree = new STRtree();
+ tree.query(new Envelope(0,0,1,1), new ItemVisitor() {
+ public void visitItem(Object item) {
+ assertTrue("Should never reach here", true);
+ }
+ });
+ }
+
+ public void testCreateParentsFromVerticalSlice() {
+ doTestCreateParentsFromVerticalSlice(3, 2, 2, 1);
+ doTestCreateParentsFromVerticalSlice(4, 2, 2, 2);
+ doTestCreateParentsFromVerticalSlice(5, 2, 2, 1);
+ }
+
+ public void testSpatialIndex()
+ throws Exception
+ {
+ SpatialIndexTester tester = new SpatialIndexTester();
+ tester.setSpatialIndex(new STRtree(4));
+ tester.init();
+ tester.run();
+ assertTrue(tester.isSuccess());
+ }
+
+ public void testSerialization()
+ throws Exception
+ {
+ SpatialIndexTester tester = new SpatialIndexTester();
+ tester.setSpatialIndex(new STRtree(4));
+ tester.init();
+
+ STRtree tree = (STRtree) tester.getSpatialIndex();
+ // create the index before serialization
+ tree.query(new Envelope());
+
+ byte[] data = SerializationUtil.serialize(tree);
+ tree = (STRtree) SerializationUtil.deserialize(data);
+
+ tester.setSpatialIndex(tree);
+ tester.run();
+ assertTrue(tester.isSuccess());
+ }
+
+ public void testDisallowedInserts() {
+ STRtree t = new STRtree(5);
+ t.insert(new Envelope(0, 0, 0, 0), new Object());
+ t.insert(new Envelope(0, 0, 0, 0), new Object());
+ t.query(new Envelope());
+ try {
+ t.insert(new Envelope(0, 0, 0, 0), new Object());
+ assertTrue(false);
+ }
+ catch (AssertionFailedException e) {
+ assertTrue(true);
+ }
+ }
+
+ public void testQuery() throws Throwable {
+ ArrayList geometries = new ArrayList();
+ geometries.add(factory.createLineString(new Coordinate[]{
+ new Coordinate(0, 0), new Coordinate(10, 10)}));
+ geometries.add(factory.createLineString(new Coordinate[]{
+ new Coordinate(20, 20), new Coordinate(30, 30)}));
+ geometries.add(factory.createLineString(new Coordinate[]{
+ new Coordinate(20, 20), new Coordinate(30, 30)}));
+ STRtreeDemo.TestTree t = new STRtreeDemo.TestTree(4);
+ for (Iterator i = geometries.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ t.insert(g.getEnvelopeInternal(), new Object());
+ }
+ t.build();
+ try {
+ assertEquals(1, t.query(new Envelope(5, 6, 5, 6)).size());
+ assertEquals(0, t.query(new Envelope(20, 30, 0, 10)).size());
+ assertEquals(2, t.query(new Envelope(25, 26, 25, 26)).size());
+ assertEquals(3, t.query(new Envelope(0, 100, 0, 100)).size());
+ }
+ catch (Throwable x) {
+ STRtreeDemo.printSourceData(geometries, System.out);
+ STRtreeDemo.printLevels(t, System.out);
+ throw x;
+ }
+ }
+
+ public void testVerticalSlices() {
+ doTestVerticalSlices(3, 2, 2, 1);
+ doTestVerticalSlices(4, 2, 2, 2);
+ doTestVerticalSlices(5, 3, 2, 1);
+ }
+
+ public void testRemove() {
+ STRtree tree = new STRtree();
+ tree.insert(new Envelope(0, 10, 0, 10), "1");
+ tree.insert(new Envelope(5, 15, 5, 15), "2");
+ tree.insert(new Envelope(10, 20, 10, 20), "3");
+ tree.insert(new Envelope(15, 25, 15, 25), "4");
+ tree.remove(new Envelope(10, 20, 10, 20), "4");
+ assertEquals(3, tree.size());
+ }
+
+ public void testKNearestNeighbors() {
+ int topK = 1000;
+ int totalRecords = 10000;
+ GeometryFactory geometryFactory = new GeometryFactory();
+ Coordinate coordinate = new Coordinate(10.1,-10.1);
+ Point queryCenter = geometryFactory.createPoint(coordinate);
+ int valueRange = 1000;
+ List<Geometry> testDataset = new ArrayList<Geometry>();
+ List<Geometry> correctData = new ArrayList<Geometry>();
+ Random random = new Random();
+ GeometryDistanceComparator distanceComparator = new GeometryDistanceComparator(queryCenter,true);
+ /*
+ * Generate the random test data set
+ */
+ for(int i=0;i<totalRecords;i++)
+ {
+ coordinate = new Coordinate(-100+random.nextInt(valueRange)*1.1,random.nextInt(valueRange)*(-5.1));
+ Point spatialObject = geometryFactory.createPoint(coordinate);
+ testDataset.add(spatialObject);
+ }
+ /*
+ * Sort the original data set and make sure the elements are sorted in an ascending order
+ */
+ Collections.sort(testDataset,distanceComparator);
+ /*
+ * Get the correct top K
+ */
+ for(int i=0;i<topK;i++)
+ {
+ correctData.add(testDataset.get(i));
+ }
+
+ STRtree strtree = new STRtree();
+ for(int i=0;i<totalRecords;i++)
+ {
+ strtree.insert(testDataset.get(i).getEnvelopeInternal(), testDataset.get(i));
+ }
+ /*
+ * Shoot a random query to make sure the STR-Tree is built.
+ */
+ strtree.query(new Envelope(1+0.1,1+0.1,2+0.1,2+0.1));
+ /*
+ * Issue the KNN query.
+ */
+ Object[] testTopK = (Object[])strtree.nearestNeighbour(queryCenter.getEnvelopeInternal(), queryCenter, new GeometryItemDistance(), topK);
+ List topKList = Arrays.asList(testTopK);
+ Collections.sort(topKList,distanceComparator);
+ /*
+ * Check the difference between correct result and test result. The difference should be 0.
+ */
+ int difference = 0;
+ for(int i = 0;i<topK;i++)
+ {
+ if(distanceComparator.compare(correctData.get(i), (Geometry)topKList.get(i))!=0)
+ {
+ difference++;
+ }
+ }
+ assertEquals(difference,0);
+ }
+
+ private void doTestCreateParentsFromVerticalSlice(int childCount,
+ int nodeCapacity, int expectedChildrenPerParentBoundable,
+ int expectedChildrenOfLastParent) {
+ STRtreeDemo.TestTree t = new STRtreeDemo.TestTree(nodeCapacity);
+ List parentBoundables
+ = t.createParentBoundablesFromVerticalSlice(itemWrappers(childCount), 0);
+ for (int i = 0; i < parentBoundables.size() - 1; i++) {//-1
+ AbstractNode parentBoundable = (AbstractNode) parentBoundables.get(i);
+ assertEquals(expectedChildrenPerParentBoundable, parentBoundable.getChildBoundables().size());
+ }
+ AbstractNode lastParent = (AbstractNode) parentBoundables.get(parentBoundables.size() - 1);
+ assertEquals(expectedChildrenOfLastParent, lastParent.getChildBoundables().size());
+ }
+
+ private void doTestVerticalSlices(int itemCount, int sliceCount,
+ int expectedBoundablesPerSlice, int expectedBoundablesOnLastSlice) {
+ STRtreeDemo.TestTree t = new STRtreeDemo.TestTree(2);
+ List[] slices =
+ t.verticalSlices(itemWrappers(itemCount), sliceCount);
+ assertEquals(sliceCount, slices.length);
+ for (int i = 0; i < sliceCount - 1; i++) {//-1
+ assertEquals(expectedBoundablesPerSlice, slices[i].size());
+ }
+ assertEquals(expectedBoundablesOnLastSlice, slices[sliceCount - 1].size());
+ }
+
+ private List itemWrappers(int size) {
+ ArrayList itemWrappers = new ArrayList();
+ for (int i = 0; i < size; i++) {
+ itemWrappers.add(new ItemBoundable(new Envelope(0, 0, 0, 0), new Object()));
+ }
+ return itemWrappers;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/SerializabilityTest.java b/modules/core/src/test/java/org/locationtech/jts/io/SerializabilityTest.java
new file mode 100644
index 0000000..4a68a0a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/SerializabilityTest.java
@@ -0,0 +1,49 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectOutputStream;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class SerializabilityTest
+extends TestCase
+{
+
+ static GeometryFactory fact = new GeometryFactory();
+
+ public static void main(String args[]) {
+ TestRunner.run(SerializabilityTest.class);
+ }
+
+
+ public SerializabilityTest(String name) { super(name); }
+
+ public void testSerializable()
+ throws Exception
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+
+ GeometricShapeFactory gsf = new GeometricShapeFactory(fact);
+ Geometry g = gsf.createCircle();
+ oos.writeObject(g);
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKBReaderTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKBReaderTest.java
new file mode 100644
index 0000000..4dc40c1
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKBReaderTest.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import org.locationtech.jts.geom.CoordinateSequenceComparator;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests for reading WKB.
+ *
+ * @author Martin Davis
+ *
+ */
+public class WKBReaderTest extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(WKBReaderTest.class);
+ }
+
+ private GeometryFactory geomFactory = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(geomFactory);
+
+ public void testShortPolygons() throws ParseException
+ {
+ // one point
+ checkWKBGeometry("0000000003000000010000000140590000000000004069000000000000", "POLYGON ((100 200, 100 200, 100 200, 100 200))");
+ // two point
+ checkWKBGeometry("000000000300000001000000024059000000000000406900000000000040590000000000004069000000000000", "POLYGON ((100 200, 100 200, 100 200, 100 200))");
+ }
+
+ public WKBReaderTest(String name) { super(name); }
+
+ public void testSinglePointLineString() throws ParseException
+ {
+ checkWKBGeometry("00000000020000000140590000000000004069000000000000", "LINESTRING (100 200, 100 200)");
+ }
+
+ /**
+ * After removing the 39 bytes of MBR info at the front, and the
+ * end-of-geometry byte, * Spatialite native BLOB is very similar
+ * to WKB, except instead of a endian marker at the start of each
+ * geometry in a multi-geometry, it has a start marker of 0x69.
+ * Endianness is determined by the endian value of the multigeometry.
+ *
+ * @throws ParseException
+ */
+ public void testSpatialiteMultiGeometry() throws ParseException
+ {
+ //multipolygon
+ checkWKBGeometry("01060000000200000069030000000100000004000000000000000000444000000000000044400000000000003440000000000080464000000000008046400000000000003E4000000000000044400000000000004440690300000001000000040000000000000000003E40000000000000344000000000000034400000000000002E40000000000000344000000000000039400000000000003E400000000000003440",
+ "MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((30 20, 20 15, 20 25, 30 20)))'");
+
+ //multipoint
+ checkWKBGeometry("0104000000020000006901000000000000000000F03F000000000000F03F690100000000000000000000400000000000000040",
+ "MULTIPOINT(1 1,2 2)'");
+
+ //multiline
+ checkWKBGeometry("010500000002000000690200000003000000000000000000244000000000000024400000000000003440000000000000344000000000000024400000000000004440690200000004000000000000000000444000000000000044400000000000003E400000000000003E40000000000000444000000000000034400000000000003E400000000000002440",
+ "MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))");
+
+ //geometrycollection
+ checkWKBGeometry(
+ "010700000002000000690100000000000000000010400000000000001840690200000002000000000000000000104000000000000018400000000000001C400000000000002440",
+ "GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))"
+ );
+ }
+
+ public void test2dSpatialiteWKB() throws ParseException {
+ // Point
+ checkWKBGeometry("0101000020E6100000000000000000F03F0000000000000040",
+ "POINT(1 2)");
+ // LineString
+ checkWKBGeometry("0102000020E610000002000000000000000000F03F000000000000004000000000000008400000000000001040",
+ "LINESTRING(1 2, 3 4)");
+ // Polygon
+ checkWKBGeometry("0103000020E61000000200000005000000000000000000000000000000000000000000000000000000000000000000244000000000000024400000000000002440000000000000244000000000000000000000000000000000000000000000000005000000000000000000F03F000000000000F03F000000000000F03F0000000000002240000000000000224000000000000022400000000000002240000000000000F03F000000000000F03F000000000000F03F",
+ "POLYGON((0 0,0 10,10 10,10 0,0 0),(1 1,1 9,9 9,9 1,1 1))");
+ // MultiPoint
+ checkWKBGeometry("0104000020E61000000200000001010000000000000000000000000000000000F03F010100000000000000000000400000000000000840",
+ "MULTIPOINT(0 1,2 3)");
+ // MultiLineString
+ checkWKBGeometry("0105000020E6100000020000000102000000020000000000000000000000000000000000F03F000000000000004000000000000008400102000000020000000000000000001040000000000000144000000000000018400000000000001C40",
+ "MULTILINESTRING((0 1,2 3),(4 5,6 7))");
+ // MultiPolygon
+ checkWKBGeometry("0106000020E61000000200000001030000000200000005000000000000000000000000000000000000000000000000000000000000000000244000000000000024400000000000002440000000000000244000000000000000000000000000000000000000000000000005000000000000000000F03F000000000000F03F000000000000F03F0000000000002240000000000000224000000000000022400000000000002240000000000000F03F000000000000F03F000000000000F03F0103000000010000000500000000000000000022C0000000000000000000000000000022C00000000000002440 [...]
+ "MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(1 1,1 9,9 9,9 1,1 1)),((-9 0,-9 10,-1 10,-1 0,-9 0)))");
+ // GeometryCollection
+ checkWKBGeometry("0107000020E61000000900000001010000000000000000000000000000000000F03F01010000000000000000000000000000000000F03F01010000000000000000000040000000000000084001020000000200000000000000000000400000000000000840000000000000104000000000000014400102000000020000000000000000000000000000000000F03F000000000000004000000000000008400102000000020000000000000000001040000000000000144000000000000018400000000000001C40010300000002000000050000000000000000000000000000000000000000000000000000 [...]
+ "GEOMETRYCOLLECTION(POINT(0 1),POINT(0 1),POINT(2 3),LINESTRING(2 3,4 5),LINESTRING(0 1,2 3),LINESTRING(4 5,6 7),POLYGON((0 0,0 10,10 10,10 0,0 0),(1 1,1 9,9 9,9 1,1 1)),POLYGON((0 0,0 10,10 10,10 0,0 0),(1 1,1 9,9 9,9 1,1 1)),POLYGON((-9 0,-9 10,-1 10,-1 0,-9 0)))");
+ }
+
+ public void testSpatialiteWKB_Z() throws ParseException {
+ // PointZ
+ checkWKBGeometry("01010000A0E6100000000000000000F03F00000000000000400000000000000840",
+ "POINT Z(1 2 3)");
+ // LineStringZ
+ checkWKBGeometry("01020000A0E610000002000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840",
+ "LINESTRING Z(1 2 3, 4 5 6)");
+ // PolygonZ
+ checkWKBGeometry("01030000A0E6100000020000000500000000000000000000000000000000000000000000000000594000000000000000000000000000002440000000000000594000000000000024400000000000002440000000000000594000000000000024400000000000000000000000000000594000000000000000000000000000000000000000000000594005000000000000000000F03F000000000000F03F0000000000005940000000000000F03F000000000000224000000000000059400000000000002240000000000000224000000000000059400000000000002240000000000000F03F000000000000 [...]
+ "POLYGON Z((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100))");
+ // MultiPointZ
+ checkWKBGeometry("01040000A0E61000000200000001010000800000000000000000000000000000F03F00000000000000400101000080000000000000084000000000000010400000000000001440",
+ "MULTIPOINTS Z(0 1 2, 3 4 5)");
+ // MultiLineStringZ
+ checkWKBGeometry("01050000A0E6100000020000000102000080020000000000000000000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144001020000800200000000000000000018400000000000001C400000000000002040000000000000224000000000000024400000000000002640",
+ "MULTILINESTRING Z((0 1 2,3 4 5),(6 7 8,9 10 11))");
+ // MultiPolygonZ
+ checkWKBGeometry("01060000A0E6100000020000000103000080020000000500000000000000000000000000000000000000000000000000594000000000000000000000000000002440000000000000594000000000000024400000000000002440000000000000594000000000000024400000000000000000000000000000594000000000000000000000000000000000000000000000594005000000000000000000F03F000000000000F03F0000000000005940000000000000F03F0000000000002240000000000000594000000000000022400000000000002240000000000000594000000000000022400000000000 [...]
+ "MULTIPOLYGON Z(((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100)),((-9 0 50,-9 10 50,-1 10 50,-1 0 50,-9 0 50)))");
+ // GeometryCollectionZ
+ }
+
+
+ public void testSpatialiteWKB_M() throws ParseException {
+ // PointM
+ checkWKBGeometry("0101000060E6100000000000000000F03F00000000000000400000000000000840",
+ "POINT M(1 2 3)");
+ // LineStringM
+ checkWKBGeometry("0102000060E610000002000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840",
+ "LINESTRING M(1 2 3,4 5 6)");
+ // PolygonM
+ checkWKBGeometry("0103000060E6100000020000000500000000000000000000000000000000000000000000000000594000000000000000000000000000002440000000000000594000000000000024400000000000002440000000000000594000000000000024400000000000000000000000000000594000000000000000000000000000000000000000000000594005000000000000000000F03F000000000000F03F0000000000005940000000000000F03F000000000000224000000000000059400000000000002240000000000000224000000000000059400000000000002240000000000000F03F000000000000 [...]
+ "POLYGON M((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100))");
+ // MultiPointM
+ checkWKBGeometry("01040000A0E61000000200000001010000800000000000000000000000000000F03F00000000000000400101000080000000000000084000000000000010400000000000001440",
+ "MULTIPOINT M(0 1 2,3 4 5)");
+ // MultiLineStringM
+ checkWKBGeometry("0105000060E6100000020000000102000040020000000000000000000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144001020000400200000000000000000018400000000000001C400000000000002040000000000000224000000000000024400000000000002640",
+ "MULTILINESTRING M((0 1 2,3 4 5),(6 7 8,9 10 11))");
+ // MultiPolygonM
+ checkWKBGeometry("0106000060E6100000020000000103000040020000000500000000000000000000000000000000000000000000000000594000000000000000000000000000002440000000000000594000000000000024400000000000002440000000000000594000000000000024400000000000000000000000000000594000000000000000000000000000000000000000000000594005000000000000000000F03F000000000000F03F0000000000005940000000000000F03F0000000000002240000000000000594000000000000022400000000000002240000000000000594000000000000022400000000000 [...]
+ "MULTIPOLYGON M(((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100)),((-9 0 50,-9 10 50,-1 10 50,-1 0 50,-9 0 50)))");
+ // GeometryCollectionM
+ //checkWKBGeometry("0107000020E61000000900000001010000000000000000000000000000000000F03F01010000000000000000000000000000000000F03F01010000000000000000000040000000000000084001020000000200000000000000000000400000000000000840000000000000104000000000000014400102000000020000000000000000000000000000000000F03F000000000000004000000000000008400102000000020000000000000000001040000000000000144000000000000018400000000000001C400103000000020000000500000000000000000000000000000000000000000000000000 [...]
+ // "MULTIPOLYGONM(((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100)),((-9 0 50,-9 10 50,-1 10 50,-1 0 50,-9 0 50)))");
+ }
+
+ public void testSpatialiteWKB_ZM() throws ParseException {
+ // PointZM
+ checkWKBGeometry("01010000E0E6100000000000000000F03F000000000000004000000000000008400000000000006940",
+ "POINT ZM (1 2 3 200)");
+ // LineStringZM
+ checkWKBGeometry("01020000E0E610000002000000000000000000F03F0000000000000040000000000000084000000000000069400000000000001040000000000000144000000000000018400000000000006940",
+ "LINESTRING ZM (1 2 3 200,4 5 6 200)");
+ // PolygonZM
+ checkWKBGeometry("01030000E0E610000002000000050000000000000000000000000000000000000000000000000059400000000000006940000000000000000000000000000024400000000000005940000000000000694000000000000024400000000000002440000000000000594000000000000069400000000000002440000000000000000000000000000059400000000000006940000000000000000000000000000000000000000000005940000000000000694005000000000000000000F03F000000000000F03F00000000000059400000000000006940000000000000F03F0000000000002240000000000000 [...]
+ "POLYGON ZM ((0 0 100 200,0 10 100 200,10 10 100 200,10 0 100 200,0 0 100 200),(1 1 100 200,1 9 100 200,9 9 100 200,9 1 100 200,1 1 100 200))");
+ // MultiPointZM
+ checkWKBGeometry("01040000E0E61000000200000001010000C00000000000000000000000000000F03F0000000000000040000000000000694001010000C00000000000000840000000000000104000000000000014400000000000006940",
+ "MULTIPOINT ZM (0 1 2 200,3 4 5 200)");
+ // MultiLineStringZM
+ checkWKBGeometry("01050000E0E61000000200000001020000C0020000000000000000000000000000000000F03F00000000000000400000000000006940000000000000084000000000000010400000000000001440000000000000694001020000C00200000000000000000018400000000000001C40000000000000204000000000000069400000000000002240000000000000244000000000000026400000000000006940",
+ "MULTILINESTRING ZM ((0 1 2 200,3 4 5 200),(6 7 8 200,9 10 11 200))");
+ // MultiPolygonZM
+ checkWKBGeometry("01060000E0E61000000200000001030000C002000000050000000000000000000000000000000000000000000000000059400000000000006940000000000000000000000000000024400000000000005940000000000000694000000000000024400000000000002440000000000000594000000000000069400000000000002440000000000000000000000000000059400000000000006940000000000000000000000000000000000000000000005940000000000000694005000000000000000000F03F000000000000F03F00000000000059400000000000006940000000000000F03F0000000000 [...]
+ "MULTIPOLYGON ZM (((0 0 100 200,0 10 100 200,10 10 100 200,10 0 100 200,0 0 100 200),(1 1 100 200,1 9 100 200,9 9 100 200,9 1 100 200,1 1 100 200)),((-9 0 50 200,-9 10 50 200,-1 10 50 200,-1 0 50 200,-9 0 50 200)))");
+ // GeometryCollectionZM
+ //checkWKBGeometry("0107000020E61000000900000001010000000000000000000000000000000000F03F01010000000000000000000000000000000000F03F01010000000000000000000040000000000000084001020000000200000000000000000000400000000000000840000000000000104000000000000014400102000000020000000000000000000000000000000000F03F000000000000004000000000000008400102000000020000000000000000001040000000000000144000000000000018400000000000001C400103000000020000000500000000000000000000000000000000000000000000000000 [...]
+ // "MULTIPOLYGONM(((0 0 100,0 10 100,10 10 100,10 0 100,0 0 100),(1 1 100,1 9 100,9 9 100,9 1 100,1 1 100)),((-9 0 50,-9 10 50,-1 10 50,-1 0 50,-9 0 50)))");
+ }
+
+ /**
+ * Not yet implemented satisfactorily.
+ *
+ * @throws ParseException
+ */
+ public void XXtestIllFormedWKB() throws ParseException
+ {
+ // WKB is missing LinearRing entry
+ checkWKBGeometry("00000000030000000140590000000000004069000000000000", "POLYGON ((100 200, 100 200, 100 200, 100 200)");
+ }
+
+
+ private static CoordinateSequenceComparator comp2 = new CoordinateSequenceComparator(2);
+
+ private void checkWKBGeometry(String wkbHex, String expectedWKT) throws ParseException
+ {
+ WKBReader wkbReader = new WKBReader(geomFactory);
+ byte[] wkb = WKBReader.hexToBytes(wkbHex);
+ Geometry g2 = wkbReader.read(wkb);
+
+ Geometry expected = rdr.read(expectedWKT);
+
+ boolean isEqual = (expected.compareTo(g2, comp2) == 0);
+ if (!isEqual) {System.out.println(g2);System.out.println(expected);}
+ assertTrue(isEqual);
+
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKBTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKBTest.java
new file mode 100644
index 0000000..1cb616c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKBTest.java
@@ -0,0 +1,245 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequenceComparator;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests the {@link WKBReader} and {@link WKBWriter}.
+ * Tests all geometries with both 2 and 3 dimensions and both byte orderings.
+ */
+public class WKBTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(WKBTest.class);
+ }
+
+ private GeometryFactory geomFactory = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(geomFactory);
+
+ public WKBTest(String name)
+ {
+ super(name);
+ }
+
+ public void testFirst()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTIPOINT ((0 0), (1 4), (100 200))");
+ }
+
+ public void testPointPCS() throws IOException, ParseException {
+ runWKBTestPackedCoordinate("POINT (1 2)");
+ }
+
+ public void testPoint() throws IOException, ParseException {
+ runWKBTest("POINT (1 2)");
+ }
+
+ public void testLineString()
+ throws IOException, ParseException
+ {
+ runWKBTest("LINESTRING (1 2, 10 20, 100 200)");
+ }
+ public void testPolygon()
+ throws IOException, ParseException
+ {
+ runWKBTest("POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0))");
+ }
+ public void testPolygonWithHole()
+ throws IOException, ParseException
+ {
+ runWKBTest("POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0), (1 1, 1 10, 10 10, 10 1, 1 1) )");
+ }
+ public void testMultiPoint()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTIPOINT ((0 0), (1 4), (100 200))");
+ }
+ public void testMultiLineString()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTILINESTRING ((0 0, 1 10), (10 10, 20 30), (123 123, 456 789))");
+ }
+ public void testMultiPolygon()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTIPOLYGON ( ((0 0, 100 0, 100 100, 0 100, 0 0), (1 1, 1 10, 10 10, 10 1, 1 1) ), ((200 200, 200 250, 250 250, 250 200, 200 200)) )");
+ }
+
+ public void testGeometryCollection()
+ throws IOException, ParseException
+ {
+ runWKBTest("GEOMETRYCOLLECTION ( POINT ( 1 1), LINESTRING (0 0, 10 10), POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0)) )");
+ }
+
+ public void testNestedGeometryCollection()
+ throws IOException, ParseException
+ {
+ runWKBTest("GEOMETRYCOLLECTION ( POINT (20 20), GEOMETRYCOLLECTION ( POINT ( 1 1), LINESTRING (0 0, 10 10), POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0)) ) )");
+ }
+ public void testLineStringEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("LINESTRING EMPTY");
+ }
+
+ public void testBigPolygon()
+ throws IOException, ParseException
+ {
+ GeometricShapeFactory shapeFactory = new GeometricShapeFactory(geomFactory);
+ shapeFactory.setBase(new Coordinate(0,0));
+ shapeFactory.setSize(1000);
+ shapeFactory.setNumPoints(1000);
+ Geometry geom = shapeFactory.createRectangle();
+ runWKBTest(geom, 2, false);
+ }
+
+ public void testPolygonEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("POLYGON EMPTY");
+ }
+ public void testMultiPointEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTIPOINT EMPTY");
+ }
+ public void testMultiLineStringEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTILINESTRING EMPTY");
+ }
+ public void testMultiPolygonEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("MULTIPOLYGON EMPTY");
+ }
+ public void testGeometryCollectionEmpty()
+ throws IOException, ParseException
+ {
+ runWKBTest("GEOMETRYCOLLECTION EMPTY");
+ }
+
+ private void runWKBTest(String wkt) throws IOException, ParseException
+ {
+ runWKBTestCoordinateArray(wkt);
+ runWKBTestPackedCoordinate(wkt);
+ }
+
+ private void runWKBTestPackedCoordinate(String wkt) throws IOException, ParseException {
+ GeometryFactory geomFactory = new GeometryFactory(
+ new PackedCoordinateSequenceFactory(PackedCoordinateSequenceFactory.DOUBLE, 2));
+ WKTReader rdr = new WKTReader(geomFactory);
+ Geometry g = rdr.read(wkt);
+
+ // Since we are using a PCS of dim=2, only check 2-dimensional storage
+ runWKBTest(g, 2, true);
+ runWKBTest(g, 2, false);
+ }
+
+ private void runWKBTestCoordinateArray(String wkt) throws IOException, ParseException {
+ GeometryFactory geomFactory = new GeometryFactory();
+ WKTReader rdr = new WKTReader(geomFactory);
+ Geometry g = rdr.read(wkt);
+
+ // CoordinateArrays support dimension 3, so test both dimensions
+ runWKBTest(g, 2, true);
+ runWKBTest(g, 2, false);
+ runWKBTest(g, 3, true);
+ runWKBTest(g, 3, false);
+ }
+
+ private void runWKBTest(Geometry g, int dimension, boolean toHex)
+ throws IOException, ParseException
+ {
+ setZ(g);
+ runWKBTest(g, dimension, ByteOrderValues.LITTLE_ENDIAN, toHex);
+ runWKBTest(g, dimension, ByteOrderValues.BIG_ENDIAN, toHex);
+ }
+
+ private void runWKBTest(Geometry g, int dimension, int byteOrder, boolean toHex)
+ throws IOException, ParseException
+ {
+ runGeometry(g, dimension, byteOrder, toHex, 100);
+ runGeometry(g, dimension, byteOrder, toHex, 0);
+ runGeometry(g, dimension, byteOrder, toHex, 101010);
+ runGeometry(g, dimension, byteOrder, toHex, -1);
+ }
+
+ private void setZ(Geometry g)
+ {
+ g.apply(new AverageZFilter());
+ }
+
+ //static Comparator comp2D = new Coordinate.DimensionalComparator();
+ //static Comparator comp3D = new Coordinate.DimensionalComparator(3);
+
+ static CoordinateSequenceComparator comp2 = new CoordinateSequenceComparator(2);
+ static CoordinateSequenceComparator comp3 = new CoordinateSequenceComparator(3);
+
+ /**
+ * Use single WKB reader, to ensure it can be used for multiple input geometries
+ */
+ WKBReader wkbReader = new WKBReader(geomFactory);
+
+ void runGeometry(Geometry g, int dimension, int byteOrder, boolean toHex, int srid)
+ throws IOException, ParseException
+ {
+ boolean includeSRID = false;
+ if (srid >= 0) {
+ includeSRID = true;
+ g.setSRID(srid);
+ }
+
+ WKBWriter wkbWriter = new WKBWriter(dimension, byteOrder, includeSRID);
+ byte[] wkb = wkbWriter.write(g);
+ String wkbHex = null;
+ if (toHex)
+ wkbHex = WKBWriter.toHex(wkb);
+
+ if (toHex)
+ wkb = WKBReader.hexToBytes(wkbHex);
+ Geometry g2 = wkbReader.read(wkb);
+
+ CoordinateSequenceComparator comp = (dimension == 2) ? comp2 : comp3;
+ boolean isEqual = (g.compareTo(g2, comp) == 0);
+ assertTrue(isEqual);
+
+ if (includeSRID) {
+ boolean isSRIDEqual = g.getSRID() == g2.getSRID();
+ assertTrue(isSRIDEqual);
+ }
+ }
+}
+
+class AverageZFilter implements CoordinateFilter
+{
+ public void filter(Coordinate coord)
+ {
+ coord.z = (coord.x + coord.y) / 2;
+ }
+}
+
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKBWriterTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKBWriterTest.java
new file mode 100644
index 0000000..277f382
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKBWriterTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+
+import junit.framework.TestCase;
+
+public class WKBWriterTest extends TestCase {
+
+ public WKBWriterTest(String name) {
+ super(name);
+ }
+
+ public void testSRID() throws Exception {
+ GeometryFactory gf = new GeometryFactory();
+ Point p1 = gf.createPoint(new Coordinate(1,2));
+ p1.setSRID(1234);
+
+ //first write out without srid set
+ WKBWriter w = new WKBWriter();
+ byte[] wkb = w.write(p1);
+
+ //check the 3rd bit of the second byte, should be unset
+ byte b = (byte) (wkb[1] & 0x20);
+ assertEquals(0, b);
+
+ //read geometry back in
+ WKBReader r = new WKBReader(gf);
+ Point p2 = (Point) r.read(wkb);
+
+ assertTrue(p1.equalsExact(p2));
+ assertEquals(0, p2.getSRID());
+
+ //not write out with srid set
+ w = new WKBWriter(2, true);
+ wkb = w.write(p1);
+
+ //check the 3rd bit of the second byte, should be set
+ b = (byte) (wkb[1] & 0x20);
+ assertEquals(0x20, b);
+
+ int srid = ((int) (wkb[5] & 0xff) << 24) | ( (int) (wkb[6] & 0xff) << 16)
+ | ( (int) (wkb[7] & 0xff) << 8) | (( int) (wkb[8] & 0xff) );
+
+ assertEquals(1234, srid);
+
+ r = new WKBReader(gf);
+ p2 = (Point) r.read(wkb);
+
+ //read the geometry back in
+ assertTrue(p1.equalsExact(p2));
+ assertEquals(1234, p2.getSRID());
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderExpTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderExpTest.java
new file mode 100644
index 0000000..d76fe21
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderExpTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * Tests the {@link WKTReader} with exponential notation.
+ */
+public class WKTReaderExpTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(WKTReaderExpTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public WKTReaderExpTest(String name)
+ {
+ super(name);
+ }
+
+ public void testGoodBasicExp() throws IOException, ParseException
+ {
+ readGoodCheckCoordinate("POINT ( 1e01 -1E02)", 1E01, -1E02);
+ }
+
+ public void testGoodWithExpSign() throws IOException, ParseException
+ {
+ readGoodCheckCoordinate("POINT ( 1e-04 1E-05)", 1e-04, 1e-05);
+ }
+
+ public void testBadExpFormat() throws IOException, ParseException
+ {
+ readBad("POINT (1e0a1 1X02)");
+ }
+
+ public void testBadExpPlusSign() throws IOException, ParseException
+ {
+ readBad("POINT (1e+01 1X02)");
+ }
+
+ public void testBadPlusSign() throws IOException, ParseException
+ {
+ readBad("POINT ( +1e+01 1X02)");
+ }
+
+ private void readGoodCheckCoordinate(String wkt, double x, double y)
+ throws IOException, ParseException
+ {
+ Geometry g = rdr.read(wkt);
+ Coordinate pt = g.getCoordinate();
+ assertEquals(pt.x, x, 0.0001);
+ assertEquals(pt.y, y, 0.0001);
+ }
+
+ private void readBad(String wkt)
+ throws IOException
+ {
+ boolean threwParseEx = false;
+ try {
+ Geometry g = rdr.read(wkt);
+ }
+ catch (ParseException ex) {
+ System.out.println(ex.getMessage());
+ threwParseEx = true;
+ }
+ assertTrue(threwParseEx);
+ }
+}
+
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderParseErrorTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderParseErrorTest.java
new file mode 100644
index 0000000..c9ab9d1
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderParseErrorTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * Tests the {@link WKTReader} with various errors
+ */
+public class WKTReaderParseErrorTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(WKTReaderParseErrorTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public WKTReaderParseErrorTest(String name)
+ {
+ super(name);
+ }
+
+ public void testExtraLParen() throws IOException, ParseException
+ {
+ readBad("POINT (( 1e01 -1E02)");
+ }
+
+ public void testMissingOrdinate() throws IOException, ParseException
+ {
+ readBad("POINT ( 1e01 )");
+ }
+
+ public void testBadChar() throws IOException, ParseException
+ {
+ readBad("POINT ( # 1e-04 1E-05)");
+ }
+
+ public void testBadExpFormat() throws IOException, ParseException
+ {
+ readBad("POINT (1e0a1 1X02)");
+ }
+
+ public void testBadExpPlusSign() throws IOException, ParseException
+ {
+ readBad("POINT (1e+01 1X02)");
+ }
+
+ public void testBadPlusSign() throws IOException, ParseException
+ {
+ readBad("POINT ( +1e+01 1X02)");
+ }
+
+ private void readBad(String wkt)
+ throws IOException
+ {
+ boolean threwParseEx = false;
+ try {
+ Geometry g = rdr.read(wkt);
+ }
+ catch (ParseException ex) {
+ System.out.println(ex.getMessage());
+ threwParseEx = true;
+ }
+ assertTrue(threwParseEx);
+ }
+}
+
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderTest.java
new file mode 100644
index 0000000..79ba27e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKTReaderTest.java
@@ -0,0 +1,149 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for {@link WKTReader}
+ *
+ * @version 1.7
+ */
+public class WKTReaderTest extends TestCase {
+
+ WKTWriter writer = new WKTWriter();
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public WKTReaderTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(WKTReaderTest.class); }
+
+ public void testReadNaN() throws Exception {
+ assertEquals("POINT (10 10)", writer.write(reader.read("POINT (10 10 NaN)")));
+ assertEquals("POINT (10 10)", writer.write(reader.read("POINT (10 10 nan)")));
+ assertEquals("POINT (10 10)", writer.write(reader.read("POINT (10 10 NAN)")));
+}
+
+ public void testReadPoint() throws Exception {
+ assertEquals("POINT (10 10)", writer.write(reader.read("POINT (10 10)")));
+ assertEquals("POINT EMPTY", writer.write(reader.read("POINT EMPTY")));
+}
+
+ public void testReadLineString() throws Exception {
+ assertEquals("LINESTRING (10 10, 20 20, 30 40)", writer.write(reader.read("LINESTRING (10 10, 20 20, 30 40)")));
+ assertEquals("LINESTRING EMPTY", writer.write(reader.read("LINESTRING EMPTY")));
+ }
+
+ public void testReadLinearRing() throws Exception {
+ try {
+ reader.read("LINEARRING (10 10, 20 20, 30 40, 10 99)");
+ }
+ catch (IllegalArgumentException e) {
+ assertTrue(e.getMessage().indexOf("not form a closed linestring") > -1);
+ }
+ assertEquals("LINEARRING (10 10, 20 20, 30 40, 10 10)", writer.write(reader.read("LINEARRING (10 10, 20 20, 30 40, 10 10)")));
+ assertEquals("LINEARRING EMPTY", writer.write(reader.read("LINEARRING EMPTY")));
+ }
+
+ public void testReadPolygon() throws Exception {
+ assertEquals("POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))", writer.write(reader.read("POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))")));
+ assertEquals("POLYGON EMPTY", writer.write(reader.read("POLYGON EMPTY")));
+ }
+
+ public void testReadMultiPoint() throws Exception {
+ assertEquals("MULTIPOINT ((10 10), (20 20))", writer.write(reader.read("MULTIPOINT ((10 10), (20 20))")));
+ assertEquals("MULTIPOINT EMPTY", writer.write(reader.read("MULTIPOINT EMPTY")));
+ }
+
+ public void testReadMultiLineString() throws Exception {
+ assertEquals("MULTILINESTRING ((10 10, 20 20), (15 15, 30 15))", writer.write(reader.read("MULTILINESTRING ((10 10, 20 20), (15 15, 30 15))")));
+ assertEquals("MULTILINESTRING EMPTY", writer.write(reader.read("MULTILINESTRING EMPTY")));
+ }
+
+ public void testReadMultiPolygon() throws Exception {
+ assertEquals("MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60)))", writer.write(reader.read("MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60)))")));
+ assertEquals("MULTIPOLYGON EMPTY", writer.write(reader.read("MULTIPOLYGON EMPTY")));
+ }
+
+ public void testReadGeometryCollection() throws Exception {
+ assertEquals("GEOMETRYCOLLECTION (POINT (10 10), POINT (30 30), LINESTRING (15 15, 20 20))", writer.write(reader.read("GEOMETRYCOLLECTION (POINT (10 10), POINT (30 30), LINESTRING (15 15, 20 20))")));
+ assertEquals("GEOMETRYCOLLECTION (POINT (10 10), LINEARRING EMPTY, LINESTRING (15 15, 20 20))", writer.write(reader.read("GEOMETRYCOLLECTION (POINT (10 10), LINEARRING EMPTY, LINESTRING (15 15, 20 20))")));
+ assertEquals("GEOMETRYCOLLECTION (POINT (10 10), LINEARRING (10 10, 20 20, 30 40, 10 10), LINESTRING (15 15, 20 20))", writer.write(reader.read("GEOMETRYCOLLECTION (POINT (10 10), LINEARRING (10 10, 20 20, 30 40, 10 10), LINESTRING (15 15, 20 20))")));
+ assertEquals("GEOMETRYCOLLECTION EMPTY", writer.write(reader.read("GEOMETRYCOLLECTION EMPTY")));
+ }
+
+ public void testReadPointZM() throws Exception {
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINT(1 2 3)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINTZ(1 2 3)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINT Z(1 2 3)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINTM(1 2 3)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINT M(1 2 3)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINTZM(1 2 3 4)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("POINT ZM(1 2 3 4)").getCoordinate());
+ assertEquals(new Coordinate(1, 2, 3), reader.read("Point Zm(1 2 3 4)").getCoordinate());
+ }
+
+ public void testReadLineStringZM() throws Exception {
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRING(1 2 3, 4 5 6)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRINGZ(1 2 3, 4 5 6)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRING Z(1 2 3, 4 5 6)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRINGM(1 2 3, 4 5 6)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRING M(1 2 3, 4 5 6)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRINGZM(1 2 3 10, 4 5 6 10)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LINESTRING ZM(1 2 3 10, 4 5 6 10)").getCoordinates()[1]);
+ assertEquals(new Coordinate(4, 5, 6), reader.read("LineString Zm(1 2 3 10, 4 5 6 10)").getCoordinates()[1]);
+ }
+
+ public void testReadPolygonZM() throws Exception {
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGON((1 2 3, 4 5 6, 7 8 9, 1 2 3))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGONZ((1 2 3, 4 5 6, 7 8 9, 1 2 3))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGON Z((1 2 3, 4 5 6, 7 8 9, 1 2 3))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGONM((1 2 3, 4 5 6, 7 8 9, 1 2 3))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGON M((1 2 3, 4 5 6, 7 8 9, 1 2 3))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGONZM((1 2 3 10, 4 5 6 11, 7 8 9 12, 1 2 3 13))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("POLYGON ZM((1 2 3 10, 4 5 6 11, 7 8 9 12, 1 2 3 13))").getCoordinates()[2]);
+ assertEquals(new Coordinate(7, 8, 9), reader.read("Polygon Zm((1 2 3 10, 4 5 6 11, 7 8 9 12, 1 2 3 13))").getCoordinates()[2]);
+ }
+
+ public void testReadMultiPolygonZM() throws Exception {
+ assertEquals(new Coordinate(7, 8, 9), reader.read("MultiPolygon Zm(((1 2 3 10, 4 5 6 11, 7 8 9 12, 1 2 3 13)))").getCoordinates()[2]);
+ }
+
+ public void testReadLargeNumbers() throws Exception {
+ PrecisionModel precisionModel = new PrecisionModel(1E9);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+ Geometry point1 = reader.read("POINT (123456789.01234567890 10)");
+ Point point2 = geometryFactory.createPoint(new Coordinate(123456789.01234567890, 10));
+ assertEquals(point1.getCoordinate().x, point2.getCoordinate().x, 1E-7);
+ assertEquals(point1.getCoordinate().y, point2.getCoordinate().y, 1E-7);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/WKTWriterTest.java b/modules/core/src/test/java/org/locationtech/jts/io/WKTWriterTest.java
new file mode 100644
index 0000000..ca4bd62
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/WKTWriterTest.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test for {@link WKTWriter}.
+ *
+ * @version 1.7
+ */
+public class WKTWriterTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTWriter writer = new WKTWriter();
+ WKTWriter writer3D = new WKTWriter(3);
+
+ public static void main(String args[]) {
+ TestRunner.run(suite());
+ }
+
+ public WKTWriterTest(String name) { super(name); }
+
+ public static Test suite() { return new TestSuite(WKTWriterTest.class); }
+
+ public void testWritePoint() {
+ Point point = geometryFactory.createPoint(new Coordinate(10, 10));
+ assertEquals("POINT (10 10)", writer.write(point).toString());
+ }
+
+ public void testWriteLineString() {
+ Coordinate[] coordinates = { new Coordinate(10, 10, 0),
+ new Coordinate(20, 20, 0),
+ new Coordinate(30, 40, 0) };
+ LineString lineString = geometryFactory.createLineString(coordinates);
+ assertEquals("LINESTRING (10 10, 20 20, 30 40)", writer.write(lineString).toString());
+ }
+
+ public void testWritePolygon() throws Exception {
+ Coordinate[] coordinates = { new Coordinate(10, 10, 0),
+ new Coordinate(10, 20, 0),
+ new Coordinate(20, 20, 0),
+ new Coordinate(20, 15, 0),
+ new Coordinate(10, 10, 0) };
+ LinearRing linearRing = geometryFactory.createLinearRing(coordinates);
+ Polygon polygon = geometryFactory.createPolygon(linearRing, new LinearRing[] { });
+ assertEquals("POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))", writer.write(polygon).toString());
+ }
+
+ public void testWriteMultiPoint() {
+ Point[] points = { geometryFactory.createPoint(new Coordinate(10, 10, 0)),
+ geometryFactory.createPoint(new Coordinate(20, 20, 0)) };
+ MultiPoint multiPoint = geometryFactory.createMultiPoint(points);
+ assertEquals("MULTIPOINT ((10 10), (20 20))", writer.write(multiPoint).toString());
+ }
+
+ public void testWriteMultiLineString() {
+ Coordinate[] coordinates1 = { new Coordinate(10, 10, 0),
+ new Coordinate(20, 20, 0) };
+ LineString lineString1 = geometryFactory.createLineString(coordinates1);
+ Coordinate[] coordinates2 = { new Coordinate(15, 15, 0),
+ new Coordinate(30, 15, 0) };
+ LineString lineString2 = geometryFactory.createLineString(coordinates2);
+ LineString[] lineStrings = {lineString1, lineString2};
+ MultiLineString multiLineString = geometryFactory.createMultiLineString(lineStrings);
+ assertEquals("MULTILINESTRING ((10 10, 20 20), (15 15, 30 15))", writer.write(multiLineString).toString());
+ }
+
+ public void testWriteMultiPolygon() throws Exception {
+ Coordinate[] coordinates1 = { new Coordinate(10, 10, 0),
+ new Coordinate(10, 20, 0),
+ new Coordinate(20, 20, 0),
+ new Coordinate(20, 15, 0),
+ new Coordinate(10, 10, 0) };
+ LinearRing linearRing1 = geometryFactory.createLinearRing(coordinates1);
+ Polygon polygon1 = geometryFactory.createPolygon(linearRing1, new LinearRing[] { });
+ Coordinate[] coordinates2 = { new Coordinate(60, 60, 0),
+ new Coordinate(70, 70, 0),
+ new Coordinate(80, 60, 0),
+ new Coordinate(60, 60, 0) };
+ LinearRing linearRing2 = geometryFactory.createLinearRing(coordinates2);
+ Polygon polygon2 = geometryFactory.createPolygon(linearRing2, new LinearRing[] { });
+ Polygon[] polygons = {polygon1, polygon2};
+ MultiPolygon multiPolygon = geometryFactory.createMultiPolygon(polygons);
+// System.out.println("MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60)))");
+// System.out.println(writer.write(multiPolygon).toString());
+ assertEquals("MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60)))", writer.write(multiPolygon).toString());
+ }
+
+ public void testWriteGeometryCollection() {
+ Point point1 = geometryFactory.createPoint(new Coordinate(10, 10));
+ Point point2 = geometryFactory.createPoint(new Coordinate(30, 30));
+ Coordinate[] coordinates = { new Coordinate(15, 15, 0),
+ new Coordinate(20, 20, 0) };
+ LineString lineString1 = geometryFactory.createLineString(coordinates);
+ Geometry[] geometries = {point1, point2, lineString1};
+ GeometryCollection geometryCollection = geometryFactory.createGeometryCollection(geometries);
+ assertEquals("GEOMETRYCOLLECTION (POINT (10 10), POINT (30 30), LINESTRING (15 15, 20 20))", writer.write(geometryCollection).toString());
+ }
+
+ public void testWriteLargeNumbers1() {
+ PrecisionModel precisionModel = new PrecisionModel(1E9);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ Point point1 = geometryFactory.createPoint(new Coordinate(123456789012345678d, 10E9));
+ assertEquals("POINT (123456789012345680 10000000000)", point1.toText());
+ }
+
+ public void testWriteLargeNumbers2() {
+ PrecisionModel precisionModel = new PrecisionModel(1E9);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ Point point1 = geometryFactory.createPoint(new Coordinate(1234d, 10E9));
+ assertEquals("POINT (1234 10000000000)", point1.toText());
+ }
+
+ public void testWriteLargeNumbers3() {
+ PrecisionModel precisionModel = new PrecisionModel(1E9);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ Point point1 = geometryFactory.createPoint(new Coordinate(123456789012345678000000E9d, 10E9));
+ assertEquals("POINT (123456789012345690000000000000000 10000000000)", point1.toText());
+ }
+
+ public void testWrite3D() {
+ GeometryFactory geometryFactory = new GeometryFactory();
+ Point point = geometryFactory.createPoint(new Coordinate(1, 1, 1));
+ String wkt = writer3D.write(point);
+ assertEquals("POINT (1 1 1)", wkt);
+ }
+
+ public void testWrite3D_withNaN() {
+ GeometryFactory geometryFactory = new GeometryFactory();
+ Coordinate[] coordinates = { new Coordinate(1, 1),
+ new Coordinate(2, 2, 2) };
+ LineString line = geometryFactory.createLineString(coordinates);
+ String wkt = writer3D.write(line);
+ assertEquals("LINESTRING (1 1, 2 2 2)", wkt);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/GMLReaderTestCase.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/GMLReaderTestCase.java
new file mode 100644
index 0000000..49d7801
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/GMLReaderTestCase.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.FileReader;
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.xml.sax.SAXException;
+
+import junit.framework.TestCase;
+
+public class GMLReaderTestCase extends TestCase
+{
+
+ private static final String TEST_DIR = "bin/data/";
+
+ public GMLReaderTestCase(String arg0) {
+ super(arg0);
+ // TODO Auto-generated constructor stub
+ }
+
+ protected static PrecisionModel precisionModel = new PrecisionModel(1000);
+ protected static GeometryFactory geometryFactory = new GeometryFactory(precisionModel);
+
+ public void testPointRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "points.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ Point p = (Point) gc.getGeometryN(i);
+ assertNotNull(p);
+ }
+ }
+
+ public void testLineStringRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "linestrings.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ LineString ls = (LineString) gc.getGeometryN(i);
+ assertNotNull(ls);
+ }
+ }
+
+ public void testPolygonRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "polygons.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ Polygon p = (Polygon) gc.getGeometryN(i);
+ assertNotNull(p);
+ }
+ }
+
+ public void testMultiPointRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "multipoints.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ MultiPoint p = (MultiPoint) gc.getGeometryN(i);
+ assertNotNull(p);
+ }
+ }
+
+ public void testMultiLineStringRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "multilinestrings.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ MultiLineString ls = (MultiLineString) gc.getGeometryN(i);
+ assertNotNull(ls);
+ }
+ }
+
+ public void testMultiPolygonRead() throws SAXException, IOException, ParserConfigurationException{
+ FileReader fr = new FileReader(TEST_DIR + "multipolygons.xml");
+
+ GMLReader gr = new GMLReader();
+ Geometry g = gr.read(fr,geometryFactory);
+
+ GeometryCollection gc = (GeometryCollection)g;
+ assertTrue(gc.getNumGeometries() == 25);
+
+ for(int i=0;i<25;i++){
+ MultiPolygon p = (MultiPolygon) gc.getGeometryN(i);
+ assertNotNull(p);
+ }
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticLineStringTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticLineStringTest.java
new file mode 100644
index 0000000..6028f09
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticLineStringTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.LineStringGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineString;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticLineStringTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticLineStringTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single line string
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleLineStringRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ LineStringGenerator pg = new LineStringGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberPoints(10);
+
+ LineString pt = (LineString) pg.create();
+
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single line string with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleLineStringManyPointRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ LineStringGenerator pg = new LineStringGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setGenerationAlgorithm(LineStringGenerator.HORZ);
+ pg.setNumberPoints(1000);
+
+ LineString pt = (LineString) pg.create();
+
+ checkRoundTrip(pt);
+ }
+}
+
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiLineStringTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiLineStringTest.java
new file mode 100644
index 0000000..53cde1f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiLineStringTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.LineStringGenerator;
+import org.locationtech.jts.generator.MultiGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.MultiLineString;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticMultiLineStringTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticMultiLineStringTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single line string
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiLineStringRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ LineStringGenerator pgc = new LineStringGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setNumberPoints(10);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiLineString pt = (MultiLineString) pg.create();
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single line string with lots of points
+ * @throws IOException
+ * @throws ParserConfigurationException
+ * @throws SAXException
+ */
+ public void testSingleMultiLineStringManyPointRoundTrip() throws IOException, SAXException, ParserConfigurationException{
+
+ LineStringGenerator pgc = new LineStringGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setNumberPoints(1000);
+ pgc.setGenerationAlgorithm(LineStringGenerator.HORZ);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiLineString pt = (MultiLineString) pg.create();
+ checkRoundTrip(pt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPointTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPointTest.java
new file mode 100644
index 0000000..41d50dd
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPointTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.MultiGenerator;
+import org.locationtech.jts.generator.PointGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.MultiPoint;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticMultiPointTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticMultiPointTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single MultiPoint
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPointRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PointGenerator pgc = new PointGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPoint pt = (MultiPoint) pg.create();
+ checkRoundTrip(pt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPolygonTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPolygonTest.java
new file mode 100644
index 0000000..3f38c5d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticMultiPolygonTest.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.MultiGenerator;
+import org.locationtech.jts.generator.PolygonGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticMultiPolygonTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticMultiPolygonTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single MultiPolygon
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPolygonNoHoleRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PolygonGenerator pgc = new PolygonGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setNumberPoints(10);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPolygon pt = (MultiPolygon) pg.create();
+
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single MultiPolygon with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPolygonManyPointsNoHoleRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+
+ PolygonGenerator pgc = new PolygonGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pgc.setNumberPoints(1000);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPolygon pt = (MultiPolygon) pg.create();
+
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single MultiPolygon
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPolygonHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+
+ PolygonGenerator pgc = new PolygonGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pgc.setNumberPoints(10);
+ pgc.setNumberHoles(4);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPolygon pt = (MultiPolygon) pg.create();
+
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single MultiPolygon with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPolygonManyPointsHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+
+ PolygonGenerator pgc = new PolygonGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pgc.setNumberPoints(1000);
+ pgc.setNumberHoles(4);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPolygon pt = (MultiPolygon) pg.create();
+// System.out.println((pt==null?"NULL":pt.toString()));
+
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single MultiPolygon with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSingleMultiPolygonManyPointsManyHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+
+ PolygonGenerator pgc = new PolygonGenerator();
+ pgc.setGeometryFactory(geometryFactory);
+ pgc.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pgc.setNumberPoints(100);
+ pgc.setNumberHoles(100);
+ MultiGenerator pg = new MultiGenerator(pgc);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberGeometries(3);
+ pg.setGeometryFactory(geometryFactory);
+
+ MultiPolygon pt = (MultiPolygon) pg.create();
+// System.out.println((pt==null?"NULL":pt.toString()));
+
+ checkRoundTrip(pt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPointTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPointTest.java
new file mode 100644
index 0000000..f101c73
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPointTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.PointGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Point;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticPointTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticPointTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single point
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSinglePointRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PointGenerator pg = new PointGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+
+ Point pt = (Point) pg.create();
+ checkRoundTrip(pt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPolygonTest.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPolygonTest.java
new file mode 100644
index 0000000..5513d56
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/StaticPolygonTest.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.generator.PolygonGenerator;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Polygon;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Round trip testing for GML reading and writing.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ */
+public class StaticPolygonTest extends WritingTestCase {
+
+ /**
+ * @param arg
+ */
+ public StaticPolygonTest(String arg) {
+ super(arg);
+ }
+
+ /**
+ * Round Trip test for a single polygon
+ * @throws IOException
+ * @throws ParserConfigurationException
+ * @throws SAXException
+ */
+ public void testSinglePolygonNoHoleRoundTrip() throws IOException, SAXException, ParserConfigurationException{
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberPoints(10);
+
+ Polygon pt = (Polygon) pg.create();
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single polygon with lots of points
+ * @throws IOException
+ * @throws ParserConfigurationException
+ * @throws SAXException
+ */
+ public void testSinglePolygonManyPointsNoHoleRoundTrip() throws IOException, SAXException, ParserConfigurationException{
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pg.setNumberPoints(1000);
+
+ Polygon pt = (Polygon) pg.create();
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single polygon
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSinglePolygonHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setNumberPoints(10);
+ pg.setNumberHoles(4);
+
+ Polygon pt = (Polygon) pg.create();
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single polygon with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSinglePolygonManyPointsHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pg.setNumberPoints(1000);
+ pg.setNumberHoles(4);
+
+ Polygon pt = (Polygon) pg.create();
+ checkRoundTrip(pt);
+ }
+
+ /**
+ * Round Trip test for a single polygon with lots of points
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ */
+ public void testSinglePolygonManyPointsManyHolesRoundTrip() throws SAXException, IOException, ParserConfigurationException{
+ PolygonGenerator pg = new PolygonGenerator();
+ pg.setGeometryFactory(geometryFactory);
+ pg.setBoundingBox(new Envelope(0,10,0,10));
+ pg.setGenerationAlgorithm(PolygonGenerator.BOX);
+ pg.setNumberPoints(100);
+ pg.setNumberHoles(100);
+
+ Polygon pt = (Polygon) pg.create();
+ checkRoundTrip(pt);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/WritingTestCase.java b/modules/core/src/test/java/org/locationtech/jts/io/gml2/WritingTestCase.java
new file mode 100644
index 0000000..24db2da
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/WritingTestCase.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.io.gml2;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.xml.sax.SAXException;
+
+import junit.framework.TestCase;
+
+/**
+ * Test Case framework for GML unit tests.
+ *
+ * @author David Zwiers, Vivid Solutions.
+ * @author Martin Davis
+ */
+public abstract class WritingTestCase extends TestCase
+{
+
+ /**
+ * @param arg
+ */
+ public WritingTestCase(String arg){
+ super(arg);
+ }
+
+ protected StringWriter sw = null;
+
+ protected Writer getWriter(){
+ sw = new StringWriter();
+ sw.write("<?xml version='1.0' encoding='UTF-8'?>\n");
+ return sw;
+ }
+ protected Reader getReader() throws IOException{
+ sw.flush();
+ sw.close();
+ String s = sw.toString();
+
+// System.out.println(s);
+
+ return new StringReader(s);
+ }
+
+ protected static PrecisionModel precisionModel = new PrecisionModel(1000);
+ protected static GeometryFactory geometryFactory = new GeometryFactory(precisionModel);
+
+ protected void checkRoundTrip(Geometry g)
+ throws SAXException, IOException, ParserConfigurationException
+ {
+ GMLWriter out = new GMLWriter();
+ out.setPrefix(null);
+ out.setNamespace(true);
+ out.setSrsName("foo");
+ // this markup is not currently work with GMLReader
+// out.setCustomElements(new String[] { "<test>1</test>" } );
+ out.write(g, getWriter());
+
+ //System.out.println(sw.toString());
+
+ GMLReader in = new GMLReader();
+ Geometry g2 = in.read(getReader(), geometryFactory);
+
+ // System.out.println((pt==null?"NULL":pt.toString()));
+ // System.out.println((pt2==null?"NULL":pt2.toString()));
+ assertTrue("The input Geometry is not the same as the output Geometry", g
+ .equalsExact(g2));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/gml2/geometry.xsd b/modules/core/src/test/java/org/locationtech/jts/io/gml2/geometry.xsd
new file mode 100644
index 0000000..f2d3d43
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/gml2/geometry.xsd
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.1.2">
+ <annotation>
+ <appinfo>geometry.xsd v2.1.2 2002-07</appinfo>
+ <documentation xml:lang="en">
+ GML Geometry schema. Copyright (c) 2001,2002 OGC, All Rights Reserved.
+ </documentation>
+ </annotation>
+ <!-- bring in the XLink attributes -->
+ <import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd"/>
+ <!-- ==============================================================
+ global declarations
+ =================================================================== -->
+ <element name="_Geometry" type="gml:AbstractGeometryType" abstract="true"/>
+ <element name="_GeometryCollection" type="gml:GeometryCollectionType" abstract="true" substitutionGroup="gml:_Geometry"/>
+ <element name="geometryMember" type="gml:GeometryAssociationType"/>
+ <element name="pointMember" type="gml:PointMemberType" substitutionGroup="gml:geometryMember"/>
+ <element name="lineStringMember" type="gml:LineStringMemberType" substitutionGroup="gml:geometryMember"/>
+ <element name="polygonMember" type="gml:PolygonMemberType" substitutionGroup="gml:geometryMember"/>
+ <element name="outerBoundaryIs" type="gml:LinearRingMemberType"/>
+ <element name="innerBoundaryIs" type="gml:LinearRingMemberType"/>
+ <!-- primitive geometry elements -->
+ <element name="Point" type="gml:PointType" substitutionGroup="gml:_Geometry"/>
+ <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:_Geometry"/>
+ <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:_Geometry"/>
+ <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:_Geometry"/>
+ <element name="Box" type="gml:BoxType"/>
+ <!-- aggregate geometry elements -->
+ <element name="MultiGeometry" type="gml:GeometryCollectionType" substitutionGroup="gml:_Geometry"/>
+ <element name="MultiPoint" type="gml:MultiPointType" substitutionGroup="gml:_Geometry"/>
+ <element name="MultiLineString" type="gml:MultiLineStringType" substitutionGroup="gml:_Geometry"/>
+ <element name="MultiPolygon" type="gml:MultiPolygonType" substitutionGroup="gml:_Geometry"/>
+ <!-- coordinate elements -->
+ <element name="coord" type="gml:CoordType"/>
+ <element name="coordinates" type="gml:CoordinatesType"/>
+ <!-- this attribute gives the location where an element is defined -->
+ <attribute name="remoteSchema" type="anyURI"/>
+ <!-- ==============================================================
+ abstract supertypes
+ =================================================================== -->
+ <complexType name="AbstractGeometryType" abstract="true">
+ <annotation>
+ <documentation>
+ All geometry elements are derived from this abstract supertype;
+ a geometry element may have an identifying attribute (gid).
+ It may be associated with a spatial reference system.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="anyType">
+ <attribute name="gid" type="ID" use="optional"/>
+ <attribute name="srsName" type="anyURI" use="optional"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="AbstractGeometryCollectionBaseType" abstract="true">
+ <annotation>
+ <documentation>
+ This abstract base type for geometry collections just makes the
+ srsName attribute mandatory.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:AbstractGeometryType">
+ <attribute name="gid" type="ID" use="optional"/>
+ <attribute name="srsName" type="anyURI" use="required"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <attributeGroup name="AssociationAttributeGroup">
+ <annotation>
+ <documentation>
+ These attributes can be attached to any element, thus allowing it
+ to act as a pointer. The 'remoteSchema' attribute allows an element
+ that carries link attributes to indicate that the element is declared
+ in a remote schema rather than by the schema that constrains the
+ current document instance.
+ </documentation>
+ </annotation>
+ <attributeGroup ref="xlink:simpleLink"/>
+ <attribute ref="gml:remoteSchema" use="optional"/>
+ </attributeGroup>
+ <complexType name="GeometryAssociationType">
+ <annotation>
+ <documentation>
+ An instance of this type (e.g. a geometryMember) can either
+ enclose or point to a primitive geometry element. When serving
+ as a simple link that references a remote geometry instance,
+ the value of the gml:remoteSchema attribute can be used to
+ locate a schema fragment that constrains the target instance.
+ </documentation>
+ </annotation>
+ <sequence minOccurs="0">
+ <element ref="gml:_Geometry"/>
+ </sequence>
+ <!-- <attributeGroup ref="gml:AssociationAttributeGroup"/> -->
+ <attributeGroup ref="xlink:simpleLink"/>
+ <attribute ref="gml:remoteSchema" use="optional"/>
+ </complexType>
+ <complexType name="PointMemberType">
+ <annotation>
+ <documentation>Restricts the geometry member to being a Point instance.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryAssociationType">
+ <sequence minOccurs="0">
+ <element ref="gml:Point"/>
+ </sequence>
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="LineStringMemberType">
+ <annotation>
+ <documentation>Restricts the geometry member to being a LineString instance.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryAssociationType">
+ <sequence minOccurs="0">
+ <element ref="gml:LineString"/>
+ </sequence>
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="PolygonMemberType">
+ <annotation>
+ <documentation>Restricts the geometry member to being a Polygon instance.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryAssociationType">
+ <sequence minOccurs="0">
+ <element ref="gml:Polygon"/>
+ </sequence>
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="LinearRingMemberType">
+ <annotation>
+ <documentation>Restricts the outer or inner boundary of a polygon instance
+ to being a LinearRing.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryAssociationType">
+ <sequence minOccurs="0">
+ <element ref="gml:LinearRing"/>
+ </sequence>
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <!-- ==============================================================
+ primitive geometry types
+ =================================================================== -->
+ <complexType name="PointType">
+ <annotation>
+ <documentation>
+ A Point is defined by a single coordinate tuple.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryType">
+ <sequence>
+ <choice>
+ <element ref="gml:coord"/>
+ <element ref="gml:coordinates"/>
+ </choice>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="LineStringType">
+ <annotation>
+ <documentation>
+ A LineString is defined by two or more coordinate tuples, with
+ linear interpolation between them.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryType">
+ <sequence>
+ <choice>
+ <element ref="gml:coord" minOccurs="2" maxOccurs="unbounded"/>
+ <element ref="gml:coordinates"/>
+ </choice>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="LinearRingType">
+ <annotation>
+ <documentation>
+ A LinearRing is defined by four or more coordinate tuples, with
+ linear interpolation between them; the first and last coordinates
+ must be coincident.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryType">
+ <sequence>
+ <choice>
+ <element ref="gml:coord" minOccurs="4" maxOccurs="unbounded"/>
+ <element ref="gml:coordinates"/>
+ </choice>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="BoxType">
+ <annotation>
+ <documentation>
+ The Box structure defines an extent using a pair of coordinate tuples.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryType">
+ <sequence>
+ <choice>
+ <element ref="gml:coord" minOccurs="2" maxOccurs="2"/>
+ <element ref="gml:coordinates"/>
+ </choice>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PolygonType">
+ <annotation>
+ <documentation>
+ A Polygon is defined by an outer boundary and zero or more inner
+ boundaries which are in turn defined by LinearRings.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryType">
+ <sequence>
+ <element ref="gml:outerBoundaryIs"/>
+ <element ref="gml:innerBoundaryIs" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <!-- ==============================================================
+ aggregate geometry types
+ =================================================================== -->
+ <complexType name="GeometryCollectionType">
+ <annotation>
+ <documentation>
+ A geometry collection must include one or more geometries, referenced
+ through geometryMember elements. User-defined geometry collections
+ that accept GML geometry classes as members must instantiate--or
+ derive from--this type.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="gml:AbstractGeometryCollectionBaseType">
+ <sequence>
+ <element ref="gml:geometryMember" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="MultiPointType">
+ <annotation>
+ <documentation>
+ A MultiPoint is defined by one or more Points, referenced through
+ pointMember elements.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryCollectionType">
+ <sequence>
+ <element ref="gml:pointMember" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="gid" type="ID" use="optional"/>
+ <attribute name="srsName" type="anyURI" use="required"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="MultiLineStringType">
+ <annotation>
+ <documentation>
+ A MultiLineString is defined by one or more LineStrings, referenced
+ through lineStringMember elements.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryCollectionType">
+ <sequence>
+ <element ref="gml:lineStringMember" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="gid" type="ID" use="optional"/>
+ <attribute name="srsName" type="anyURI" use="required"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="MultiPolygonType">
+ <annotation>
+ <documentation>
+ A MultiPolygon is defined by one or more Polygons, referenced through
+ polygonMember elements.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="gml:GeometryCollectionType">
+ <sequence>
+ <element ref="gml:polygonMember" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="gid" type="ID" use="optional"/>
+ <attribute name="srsName" type="anyURI" use="required"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <!-- ==============================================================
+ There are two ways to represent coordinates: (1) as a sequence
+ of <coord> elements that encapsulate tuples, or (2) using a
+ single <coordinates> string.
+ =================================================================== -->
+ <complexType name="CoordType">
+ <annotation>
+ <documentation>
+ Represents a coordinate tuple in one, two, or three dimensions.
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="X" type="decimal"/>
+ <element name="Y" type="decimal" minOccurs="0"/>
+ <element name="Z" type="decimal" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <complexType name="CoordinatesType">
+ <annotation>
+ <documentation>
+ Coordinates can be included in a single string, but there is no
+ facility for validating string content. The value of the 'cs' attribute
+ is the separator for coordinate values, and the value of the 'ts'
+ attribute gives the tuple separator (a single space by default); the
+ default values may be changed to reflect local usage.
+ </documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="string">
+ <attribute name="decimal" type="string" use="optional" default="."/>
+ <attribute name="cs" type="string" use="optional" default=","/>
+ <attribute name="ts" type="string" use="optional" default=" "/>
+ </extension>
+ </simpleContent>
+ </complexType>
+</schema>
diff --git a/modules/core/src/test/java/org/locationtech/jts/io/kml/KMLWriterTest.java b/modules/core/src/test/java/org/locationtech/jts/io/kml/KMLWriterTest.java
new file mode 100644
index 0000000..49105df
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/io/kml/KMLWriterTest.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.io.kml;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class KMLWriterTest extends TestCase
+{
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(KMLWriterTest.class);
+ }
+
+ public KMLWriterTest(String name) { super(name); }
+
+ public void testPoint()
+ {
+ checkEqual("POINT (1 1)",
+ "<Point><coordinates>1.0,1.0</coordinates></Point>");
+ }
+
+ public void testLine()
+ {
+ checkEqual("LINESTRING (1 1, 2 2)",
+ "<LineString><coordinates>1.0,1.0 2.0,2.0</coordinates></LineString>");
+ }
+
+ public void testPolygon()
+ {
+ checkEqual("POLYGON ((1 1, 2 1, 2 2, 1 2, 1 1))",
+ "<Polygon><outerBoundaryIs><LinearRing><coordinates>1.0,1.0 2.0,1.0 2.0,2.0 1.0,2.0 1.0,1.0</coordinates></LinearRing></outerBoundaryIs></Polygon>");
+ }
+
+ public void testPolygonWithHole()
+ {
+ checkEqual("POLYGON ((1 9, 9 9, 9 1, 1 1, 1 9), (2 8, 8 8, 8 2, 2 2, 2 8))",
+ "<Polygon><outerBoundaryIs><LinearRing><coordinates>1.0,9.0 9.0,9.0 9.0,1.0 1.0,1.0 1.0,9.0</coordinates></LinearRing></outerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>2.0,8.0 8.0,8.0 8.0,2.0 2.0,2.0 2.0,8.0</coordinates></LinearRing></innerBoundaryIs></Polygon>");
+ }
+
+ public void testMultiPoint()
+ {
+ checkEqual("MULTIPOINT ((1 1), (2 2))",
+ "<MultiGeometry><Point><coordinates>1.0,1.0</coordinates></Point><Point><coordinates>2.0,2.0</coordinates></Point></MultiGeometry>");
+ }
+
+ public void testMultiLineString()
+ {
+ checkEqual("MULTILINESTRING ((2 9, 2 2), (5 5, 8 5))",
+ "<MultiGeometry><LineString><coordinates>2.0,9.0 2.0,2.0</coordinates></LineString><LineString><coordinates>5.0,5.0 8.0,5.0</coordinates></LineString></MultiGeometry>");
+ }
+
+ public void testMultiPolygon()
+ {
+ checkEqual("MULTIPOLYGON (((2 9, 5 9, 5 5, 2 5, 2 9)), ((6 4, 8 4, 8 2, 6 2, 6 4)))",
+ "<MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>2.0,9.0 5.0,9.0 5.0,5.0 2.0,5.0 2.0,9.0</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>6.0,4.0 8.0,4.0 8.0,2.0 6.0,2.0 6.0,4.0</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>");
+ }
+
+ public void testGeometryCollection()
+ {
+ checkEqual("GEOMETRYCOLLECTION (LINESTRING (1 9, 1 2, 3 2), POLYGON ((3 9, 5 9, 5 7, 3 7, 3 9)), POINT (5 5))",
+ "<MultiGeometry><LineString><coordinates>1.0,9.0 1.0,2.0 3.0,2.0</coordinates></LineString><Polygon><outerBoundaryIs><LinearRing><coordinates>3.0,9.0 5.0,9.0 5.0,7.0 3.0,7.0 3.0,9.0</coordinates></LinearRing></outerBoundaryIs></Polygon><Point><coordinates>5.0,5.0</coordinates></Point></MultiGeometry>");
+ }
+
+ public void testExtrudeAltitudeLineString()
+ {
+ KMLWriter kmlWriter = new KMLWriter();
+ kmlWriter.setExtrude(true);
+ kmlWriter.setAltitudeMode(KMLWriter.ALTITUDE_MODE_ABSOLUTE);
+ checkEqual(kmlWriter, "LINESTRING (1 1, 2 2)",
+ "<LineString><extrude>1</extrude><altitudeMode>absolute</altitudeMode><coordinates>1.0,1.0 2.0,2.0</coordinates></LineString>");
+ }
+
+ public void testExtrudeTesselateLineString()
+ {
+ KMLWriter kmlWriter = new KMLWriter();
+ kmlWriter.setExtrude(true);
+ kmlWriter.setTesselate(true);
+ //kmlWriter.setAltitudeMode(KMLWriter.ALTITUDE_MODE_ABSOLUTE);
+ checkEqual(kmlWriter, "LINESTRING (1 1, 2 2)",
+ "<LineString><extrude>1</extrude><tesselate>1</tesselate><coordinates>1.0,1.0 2.0,2.0</coordinates></LineString>");
+ }
+
+ public void testExtrudeAltitudePolygon()
+ {
+ KMLWriter kmlWriter = new KMLWriter();
+ kmlWriter.setExtrude(true);
+ kmlWriter.setAltitudeMode(KMLWriter.ALTITUDE_MODE_ABSOLUTE);
+ checkEqual(kmlWriter, "POLYGON ((1 1, 2 1, 2 2, 1 2, 1 1))",
+ "<Polygon><extrude>1</extrude><altitudeMode>absolute</altitudeMode><outerBoundaryIs><LinearRing><coordinates>1.0,1.0 2.0,1.0 2.0,2.0 1.0,2.0 1.0,1.0</coordinates></LinearRing></outerBoundaryIs></Polygon>");
+ }
+
+ public void testExtrudeGeometryCollection()
+ {
+ KMLWriter kmlWriter = new KMLWriter();
+ kmlWriter.setExtrude(true);
+ checkEqual(kmlWriter, "GEOMETRYCOLLECTION (LINESTRING (1 9, 1 2, 3 2), POLYGON ((3 9, 5 9, 5 7, 3 7, 3 9)), POINT (5 5))",
+ "<MultiGeometry><LineString><extrude>1</extrude><coordinates>1.0,9.0 1.0,2.0 3.0,2.0</coordinates></LineString><Polygon><extrude>1</extrude><outerBoundaryIs><LinearRing><coordinates>3.0,9.0 5.0,9.0 5.0,7.0 3.0,7.0 3.0,9.0</coordinates></LinearRing></outerBoundaryIs></Polygon><Point><extrude>1</extrude><coordinates>5.0,5.0</coordinates></Point></MultiGeometry>");
+ }
+
+ public void testPrecision()
+ {
+ KMLWriter kmlWriter = new KMLWriter();
+ kmlWriter.setPrecision(1);
+ checkEqual(kmlWriter, "LINESTRING (1.0001 1.1234, 2.5555 2.99999)",
+ " <LineString><coordinates>1,1.1 2.6,3</coordinates></LineString>");
+ }
+
+
+ private void checkEqual(String wkt, String expectedKML) {
+ KMLWriter kmlWriter = new KMLWriter();
+ checkEqual(kmlWriter, wkt, expectedKML);
+ }
+
+ private void checkEqual(KMLWriter kmlWriter, String wkt, String expectedKML) {
+ try {
+ Geometry geom = rdr.read(wkt);
+ checkEqual(kmlWriter, geom, expectedKML);
+ } catch (ParseException e) {
+ throw new RuntimeException("ParseException: " + e.getMessage());
+ }
+ }
+
+ private void checkEqual(KMLWriter kmlWriter, Geometry geom, String expectedKML) {
+ String kml = kmlWriter.write(geom);
+ String kmlNorm = normalizeKML(kml);
+ String expectedKMLNorm = normalizeKML(expectedKML);
+ boolean isEqual = kmlNorm.equalsIgnoreCase(expectedKMLNorm);
+ if (! isEqual) {
+ System.out.println("\nGenerated KML: " + kmlNorm + "\n Expected KML: " + expectedKMLNorm);
+ }
+ assertTrue(isEqual);
+ }
+
+ /**
+ * Normalizes an XML string by converting all whitespace to a single blank char.
+ *
+ * @param expectedKML
+ * @return
+ */
+ private String normalizeKML(String kml) {
+ String condenseSpace = kml.replaceAll("\\s+", " ").trim();
+ String removeRedundantSpace = condenseSpace.replaceAll("> <", "><");
+ return removeRedundantSpace;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/linearref/AbstractIndexedLineTest.java b/modules/core/src/test/java/org/locationtech/jts/linearref/AbstractIndexedLineTest.java
new file mode 100644
index 0000000..19c92f3
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/linearref/AbstractIndexedLineTest.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Base class for linear referencing class unit tests.
+ */
+public abstract class AbstractIndexedLineTest extends TestCase {
+
+ private WKTReader reader = new WKTReader();
+
+ public AbstractIndexedLineTest(String name) {
+ super(name);
+ }
+
+ public void testFirst()
+ {
+ runOffsetTest("LINESTRING (0 0, 20 20)", "POINT(20 20)", 0.0, "POINT (20 20)");
+ }
+
+ public void testML()
+ {
+ runIndicesOfThenExtract("MULTILINESTRING ((0 0, 10 10), (20 20, 30 30))",
+ "MULTILINESTRING ((1 1, 10 10), (20 20, 25 25))");
+ }
+
+ public void testPartOfSegmentNoVertex()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 10 10, 20 20)",
+ "LINESTRING (1 1, 9 9)");
+ }
+
+ public void testPartOfSegmentContainingVertex()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 10 10, 20 20)",
+ "LINESTRING (5 5, 10 10, 15 15)");
+ }
+
+ /**
+ * Tests that duplicate coordinates are handled correctly.
+ */
+ public void testPartOfSegmentContainingDuplicateCoords()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 10 10, 10 10, 20 20)",
+ "LINESTRING (5 5, 10 10, 10 10, 15 15)");
+ }
+
+ /**
+ * Following tests check that correct portion of loop is identified.
+ * This requires that the correct vertex for (0,0) is selected.
+ */
+
+ public void testLoopWithStartSubLine()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "LINESTRING (0 0, 0 10, 10 10)");
+ }
+
+ public void testLoopWithEndingSubLine()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "LINESTRING (10 10, 10 0, 0 0)");
+ }
+
+ // test a subline equal to the parent loop
+ public void testLoopWithIdenticalSubLine()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)");
+ }
+
+ // test a zero-length subline equal to the start point
+ public void testZeroLenSubLineAtStart()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "LINESTRING (0 0, 0 0)");
+ }
+
+ // test a zero-length subline equal to a mid point
+ public void testZeroLenSubLineAtMidVertex()
+ {
+ runIndicesOfThenExtract("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "LINESTRING (10 10, 10 10)");
+ }
+
+ public void testIndexOfAfterSquare()
+ {
+ runIndexOfAfterTest("LINESTRING (0 0, 0 10, 10 10, 10 0, 0 0)",
+ "POINT (0 0)");
+ }
+
+ public void testIndexOfAfterRibbon()
+ {
+ runIndexOfAfterTest("LINESTRING (0 0, 0 60, 50 60, 50 20, -20 20)",
+ "POINT (0 20)");
+ runIndexOfAfterTest("LINESTRING (0 0, 0 60, 50 60, 50 20, -20 20)",
+ "POINT (0 20)", "POINT (30 60)");
+ }
+
+ public void testIndexOfAfterBeyondEndRibbon()
+ {
+ runIndexOfAfterTest("LINESTRING (0 0, 0 60, 50 60, 50 20, -20 20)",
+ "POINT (-30 20)", "POINT (-20 20)");
+ }
+
+ public void testOffsetStartPoint()
+ {
+ runOffsetTest("LINESTRING (0 0, 10 10, 20 20)", "POINT(0 0)", 1.0, "POINT (-0.7071067811865475 0.7071067811865475)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 20 20)", "POINT(0 0)", -1.0, "POINT (0.7071067811865475 -0.7071067811865475)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 20 20)", "POINT(10 10)", 5.0, "POINT (6.464466094067262 13.535533905932738)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 20 20)", "POINT(10 10)", -5.0, "POINT (13.535533905932738 6.464466094067262)");
+ }
+
+ public void testOffsetStartPointRepeatedPoint()
+ {
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(0 0)", 1.0, "POINT (-0.7071067811865475 0.7071067811865475)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(0 0)", -1.0, "POINT (0.7071067811865475 -0.7071067811865475)");
+ // These tests work for LengthIndexedLine, but not LocationIndexedLine
+ //runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(10 10)", 5.0, "POINT (6.464466094067262 13.535533905932738)");
+ //runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(10 10)", -5.0, "POINT (13.535533905932738 6.464466094067262)");
+ }
+
+ public void testOffsetEndPoint()
+ {
+ runOffsetTest("LINESTRING (0 0, 20 20)", "POINT(20 20)", 0.0, "POINT (20 20)");
+ runOffsetTest("LINESTRING (0 0, 13 13, 20 20)", "POINT(20 20)", 0.0, "POINT (20 20)");
+ runOffsetTest("LINESTRING (0 0, 10 0, 20 0)", "POINT(20 0)", 1.0, "POINT (20 1)");
+ runOffsetTest("LINESTRING (0 0, 20 0)", "POINT(10 0)", 1.0, "POINT (10 1)"); // point on last segment
+ runOffsetTest("MULTILINESTRING ((0 0, 10 0), (10 0, 20 0))", "POINT(10 0)", -1.0, "POINT (10 -1)");
+ runOffsetTest("MULTILINESTRING ((0 0, 10 0), (10 0, 20 0))", "POINT(20 0)", 1.0, "POINT (20 1)");
+ }
+
+ protected Geometry read(String wkt)
+ {
+ try {
+ return reader.read(wkt);
+ }
+ catch (ParseException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ protected void runIndicesOfThenExtract(String inputStr,
+ String subLineStr)
+// throws Exception
+ {
+ Geometry input = read(inputStr);
+ Geometry subLine = read(subLineStr);
+ Geometry result = indicesOfThenExtract(input, subLine);
+ checkExpected(result, subLineStr);
+ }
+
+ protected void checkExpected(Geometry result, String expected)
+ {
+ Geometry subLine = read(expected);
+ boolean isEqual = result.equalsExact(subLine, 1.0e-5);
+ if (! isEqual) {
+ System.out.println("Computed result is: " + result);
+ }
+ assertTrue(isEqual);
+ }
+
+ protected abstract Geometry indicesOfThenExtract(Geometry input, Geometry subLine);
+
+/*
+ // example of indicesOfThenLocate method
+ private Geometry indicesOfThenLocate(LineString input, LineString subLine)
+ {
+ LocationIndexedLine indexedLine = new LocationIndexedLine(input);
+ LineStringLocation[] loc = indexedLine.indicesOf(subLine);
+ Geometry result = indexedLine.locate(loc[0], loc[1]);
+ return result;
+ }
+*/
+
+ protected void runIndexOfAfterTest(String inputStr,
+ String testPtWKT)
+// throws Exception
+ {
+ Geometry input = read(inputStr);
+ Geometry testPoint = read(testPtWKT);
+ Coordinate testPt = testPoint.getCoordinate();
+ boolean resultOK = indexOfAfterCheck(input, testPt);
+ assertTrue(resultOK);
+ }
+
+ protected void runIndexOfAfterTest(String inputStr,
+ String testPtWKT, String afterPtWKT)
+// throws Exception
+ {
+ Geometry input = read(inputStr);
+ Geometry testPoint = read(testPtWKT);
+ Coordinate testPt = testPoint.getCoordinate();
+ Geometry afterPoint = read(afterPtWKT);
+ Coordinate afterPt = afterPoint.getCoordinate();
+ boolean resultOK = indexOfAfterCheck(input, testPt, afterPt);
+ assertTrue(resultOK);
+ }
+
+ /**
+ * Checks that the point computed by <tt>indexOfAfter</tt>
+ * is the same as the input point.
+ * (This should be the case for all except pathological cases,
+ * such as the input test point being beyond the end of the line).
+ *
+ * @param input
+ * @param testPt
+ * @return true if the result of indexOfAfter is the same as the input point
+ */
+ protected abstract boolean indexOfAfterCheck(Geometry input, Coordinate testPt);
+
+ protected abstract boolean indexOfAfterCheck(Geometry input, Coordinate testPt, Coordinate afterPt);
+
+ static final double TOLERANCE_DIST = 0.001;
+
+ protected void runOffsetTest(String inputWKT,
+ String testPtWKT, double offsetDistance, String expectedPtWKT)
+// throws Exception
+ {
+ Geometry input = read(inputWKT);
+ Geometry testPoint = read(testPtWKT);
+ Geometry expectedPoint = read(expectedPtWKT);
+ Coordinate testPt = testPoint.getCoordinate();
+ Coordinate expectedPt = expectedPoint.getCoordinate();
+ Coordinate offsetPt = extractOffsetAt(input, testPt, offsetDistance);
+
+ boolean isOk = offsetPt.distance(expectedPt) < TOLERANCE_DIST;
+ if (! isOk)
+ System.out.println("Expected = " + expectedPoint + " Actual = " + offsetPt);
+ assertTrue(isOk);
+ }
+
+ protected abstract Coordinate extractOffsetAt(Geometry input, Coordinate testPt, double offsetDistance);
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/linearref/LengthIndexedLineTest.java b/modules/core/src/test/java/org/locationtech/jts/linearref/LengthIndexedLineTest.java
new file mode 100644
index 0000000..174e810
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/linearref/LengthIndexedLineTest.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Tests the {@link LengthIndexedLine} class
+ */
+public class LengthIndexedLineTest
+ extends AbstractIndexedLineTest
+{
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(LengthIndexedLineTest.class);
+ }
+
+ public LengthIndexedLineTest(String name) {
+ super(name);
+ }
+
+ public void testExtractLineBothIndicesAtEndpointXXX()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (20 0, 25 0, 30 0))",
+ -10, 10, "LINESTRING (10 0, 10 0)");
+ }
+
+
+ public void testExtractLineBeyondRange()
+ {
+ checkExtractLine("LINESTRING (0 0, 10 10)", -100, 100, "LINESTRING (0 0, 10 10)");
+ }
+
+ public void testExtractLineReverse()
+ {
+ checkExtractLine("LINESTRING (0 0, 10 0)", 9, 1, "LINESTRING (9 0, 1 0)");
+ }
+
+ public void testExtractLineReverseMulti()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (20 0, 25 0, 30 0))",
+ 19, 1, "MULTILINESTRING ((29 0, 25 0, 20 0), (10 0, 1 0))");
+ }
+
+ public void testExtractLineNegative()
+ {
+ checkExtractLine("LINESTRING (0 0, 10 0)", -9, -1, "LINESTRING (1 0, 9 0)");
+ }
+
+ public void testExtractLineNegativeReverse()
+ {
+ checkExtractLine("LINESTRING (0 0, 10 0)", -1, -9, "LINESTRING (9 0, 1 0)");
+ }
+
+ public void testExtractLineIndexAtEndpoint()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (20 0, 25 0, 30 0))",
+ 10, -1, "LINESTRING (20 0, 25 0, 29 0)");
+ }
+
+ /**
+ * Tests that leading and trailing zero-length sublines are trimmed in the computed result,
+ * and that zero-length extracts return the lowest extracted zero-length line
+ */
+ public void testExtractLineIndexAtEndpointWithZeroLenComponents()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (10 0, 10 0), (20 0, 25 0, 30 0))",
+ 10, -1, "LINESTRING (20 0, 25 0, 29 0)");
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (10 0, 10 0), (20 0, 25 0, 30 0))",
+ 5, 10, "LINESTRING (5 0, 10 0)");
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (10 0, 10 0), (10 0, 10 0), (20 0, 25 0, 30 0))",
+ 10, 10, "LINESTRING (10 0, 10 0)");
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (10 0, 10 0), (10 0, 10 0), (10 0, 10 0), (20 0, 25 0, 30 0))",
+ 10, -10, "LINESTRING (10 0, 10 0)");
+ }
+
+ public void testExtractLineBothIndicesAtEndpoint()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (20 0, 25 0, 30 0))",
+ 10, 10, "LINESTRING (10 0, 10 0)");
+ }
+
+ public void testExtractLineBothIndicesAtEndpointNegative()
+ {
+ checkExtractLine("MULTILINESTRING ((0 0, 10 0), (20 0, 25 0, 30 0))",
+ -10, 10, "LINESTRING (10 0, 10 0)");
+ }
+
+ /**
+ * From GEOS Ticket #323
+ */
+ public void testProjectExtractPoint()
+ {
+ Geometry linearGeom = read("MULTILINESTRING ((0 2, 0 0), (-1 1, 1 1))");
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double index = indexedLine.project(new Coordinate(1, 0));
+ Coordinate pt = indexedLine.extractPoint(index);
+ assertTrue(pt.equals(new Coordinate(0, 0)));
+ }
+
+ public void testExtractPointBeyondRange()
+ {
+ Geometry linearGeom = read("LINESTRING (0 0, 10 10)");
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ Coordinate pt = indexedLine.extractPoint(100);
+ assertTrue(pt.equals(new Coordinate(10, 10)));
+
+ Coordinate pt2 = indexedLine.extractPoint(0);
+ assertTrue(pt2.equals(new Coordinate(0, 0)));
+ }
+
+ public void testProjectPointWithDuplicateCoords()
+ {
+ Geometry linearGeom = read("LINESTRING (0 0, 10 0, 10 0, 20 0)");
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double projIndex = indexedLine.project(new Coordinate(10, 1));
+ assertTrue(projIndex == 10.0);
+ }
+
+ /**
+ * These tests work for LengthIndexedLine, but not LocationIndexedLine
+ *
+ */
+ public void testOffsetStartPointRepeatedPoint()
+ {
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(0 0)", 1.0, "POINT (-0.7071067811865475 0.7071067811865475)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(0 0)", -1.0, "POINT (0.7071067811865475 -0.7071067811865475)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(10 10)", 5.0, "POINT (6.464466094067262 13.535533905932738)");
+ runOffsetTest("LINESTRING (0 0, 10 10, 10 10, 20 20)", "POINT(10 10)", -5.0, "POINT (13.535533905932738 6.464466094067262)");
+ }
+
+ /**
+ * Tests that z values are interpolated
+ *
+ */
+ public void testComputeZ()
+ {
+ Geometry linearGeom = read("LINESTRING (0 0 0, 10 10 10)");
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double projIndex = indexedLine.project(new Coordinate(5, 5));
+ Coordinate projPt = indexedLine.extractPoint(projIndex);
+// System.out.println(projPt);
+ assertTrue(projPt.equals3D(new Coordinate(5, 5, 5)));
+ }
+
+ /**
+ * Tests that if the input does not have Z ordinates, neither does the output.
+ *
+ */
+ public void testComputeZNaN()
+ {
+ Geometry linearGeom = read("LINESTRING (0 0, 10 10 10)");
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double projIndex = indexedLine.project(new Coordinate(5, 5));
+ Coordinate projPt = indexedLine.extractPoint(projIndex);
+ assertTrue(Double.isNaN(projPt.z ));
+ }
+
+ private void checkExtractLine(String wkt, double start, double end, String expected)
+ {
+ Geometry linearGeom = read(wkt);
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ Geometry result = indexedLine.extractLine(start, end);
+ checkExpected(result, expected);
+ }
+
+ protected Geometry indicesOfThenExtract(Geometry linearGeom, Geometry subLine)
+ {
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double[] loc = indexedLine.indicesOf(subLine);
+ Geometry result = indexedLine.extractLine(loc[0], loc[1]);
+ return result;
+ }
+
+ protected boolean indexOfAfterCheck(Geometry linearGeom, Coordinate testPt)
+ {
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+
+ // check locations are consecutive
+ double loc1 = indexedLine.indexOf(testPt);
+ double loc2 = indexedLine.indexOfAfter(testPt, loc1);
+ if (loc2 <= loc1) return false;
+
+ // check extracted points are the same as the input
+ Coordinate pt1 = indexedLine.extractPoint(loc1);
+ Coordinate pt2 = indexedLine.extractPoint(loc2);
+ if (! pt1.equals2D(testPt)) return false;
+ if (! pt2.equals2D(testPt)) return false;
+
+ return true;
+ }
+
+ protected boolean indexOfAfterCheck(Geometry linearGeom, Coordinate testPt, Coordinate checkPt)
+ {
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+
+ // check that computed location is after check location
+ double checkLoc = indexedLine.indexOf(checkPt);
+ double testLoc = indexedLine.indexOfAfter(testPt, checkLoc);
+ if (testLoc < checkLoc) return false;
+
+ return true;
+ }
+
+ protected Coordinate extractOffsetAt(Geometry linearGeom, Coordinate testPt, double offsetDistance)
+ {
+ LengthIndexedLine indexedLine = new LengthIndexedLine(linearGeom);
+ double index = indexedLine.indexOf(testPt);
+ return indexedLine.extractPoint(index, offsetDistance);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/linearref/LinearLocationTest.java b/modules/core/src/test/java/org/locationtech/jts/linearref/LinearLocationTest.java
new file mode 100644
index 0000000..822778e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/linearref/LinearLocationTest.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * Tests methods involving only {@link LinearLocation}s
+ *
+ * @author Martin Davis
+ *
+ */
+public class LinearLocationTest
+ extends TestCase
+{
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(LinearLocationTest.class);
+ }
+
+ public LinearLocationTest(String name) { super(name); }
+
+ public void testZeroLengthLineString() throws Exception
+ {
+ Geometry line = reader.read("LINESTRING (10 0, 10 0)");
+ LocationIndexedLine indexedLine = new LocationIndexedLine(line);
+ LinearLocation loc0 = indexedLine.indexOf(new Coordinate(11, 0));
+ assertTrue(loc0.compareTo(new LinearLocation(1, 0.0)) == 0);
+ }
+
+ public void testRepeatedCoordsLineString() throws Exception
+ {
+ Geometry line = reader.read("LINESTRING (10 0, 10 0, 20 0)");
+ LocationIndexedLine indexedLine = new LocationIndexedLine(line);
+ LinearLocation loc0 = indexedLine.indexOf(new Coordinate(11, 0));
+ assertTrue(loc0.compareTo(new LinearLocation(1, 0.1)) == 0);
+ }
+
+ public void testSameSegmentLineString() throws Exception
+ {
+ Geometry line = reader.read("LINESTRING (0 0, 10 0, 20 0, 30 0)");
+ LocationIndexedLine indexedLine = new LocationIndexedLine(line);
+
+ LinearLocation loc0 = indexedLine.indexOf(new Coordinate(0, 0));
+ LinearLocation loc0_5 = indexedLine.indexOf(new Coordinate(5, 0));
+ LinearLocation loc1 = indexedLine.indexOf(new Coordinate (10, 0));
+ LinearLocation loc2 = indexedLine.indexOf(new Coordinate (20, 0));
+ LinearLocation loc2_5 = indexedLine.indexOf(new Coordinate (25, 0));
+ LinearLocation loc3 = indexedLine.indexOf(new Coordinate (30, 0));
+
+ assertTrue(loc0.isOnSameSegment(loc0));
+ assertTrue(loc0.isOnSameSegment(loc0_5));
+ assertTrue(loc0.isOnSameSegment(loc1));
+ assertTrue(! loc0.isOnSameSegment(loc2));
+ assertTrue(! loc0.isOnSameSegment(loc2_5));
+ assertTrue(! loc0.isOnSameSegment(loc3));
+
+ assertTrue(loc0_5.isOnSameSegment(loc0));
+ assertTrue(loc0_5.isOnSameSegment(loc1));
+ assertTrue(! loc0_5.isOnSameSegment(loc2));
+ assertTrue(! loc0_5.isOnSameSegment(loc3));
+
+ assertTrue(! loc2.isOnSameSegment(loc0));
+ assertTrue(loc2.isOnSameSegment(loc1));
+ assertTrue(loc2.isOnSameSegment(loc2));
+ assertTrue(loc2.isOnSameSegment(loc3));
+
+ assertTrue(loc2_5.isOnSameSegment(loc3));
+
+ assertTrue(! loc3.isOnSameSegment(loc0));
+ assertTrue(loc3.isOnSameSegment(loc2));
+ assertTrue(loc3.isOnSameSegment(loc2_5));
+ assertTrue(loc3.isOnSameSegment(loc3));
+
+ }
+ public void testSameSegmentMultiLineString() throws Exception
+ {
+ Geometry line = reader.read("MULTILINESTRING ((0 0, 10 0, 20 0), (20 0, 30 0))");
+ LocationIndexedLine indexedLine = new LocationIndexedLine(line);
+
+ LinearLocation loc0 = indexedLine.indexOf(new Coordinate(0, 0));
+ LinearLocation loc0_5 = indexedLine.indexOf(new Coordinate(5, 0));
+ LinearLocation loc1 = indexedLine.indexOf(new Coordinate (10, 0));
+ LinearLocation loc2 = indexedLine.indexOf(new Coordinate (20, 0));
+ LinearLocation loc2B = new LinearLocation(1, 0, 0.0);
+
+ LinearLocation loc2_5 = indexedLine.indexOf(new Coordinate (25, 0));
+ LinearLocation loc3 = indexedLine.indexOf(new Coordinate (30, 0));
+
+ assertTrue(loc0.isOnSameSegment(loc0));
+ assertTrue(loc0.isOnSameSegment(loc0_5));
+ assertTrue(loc0.isOnSameSegment(loc1));
+ assertTrue(! loc0.isOnSameSegment(loc2));
+ assertTrue(! loc0.isOnSameSegment(loc2_5));
+ assertTrue(! loc0.isOnSameSegment(loc3));
+
+ assertTrue(loc0_5.isOnSameSegment(loc0));
+ assertTrue(loc0_5.isOnSameSegment(loc1));
+ assertTrue(! loc0_5.isOnSameSegment(loc2));
+ assertTrue(! loc0_5.isOnSameSegment(loc3));
+
+ assertTrue(! loc2.isOnSameSegment(loc0));
+ assertTrue(loc2.isOnSameSegment(loc1));
+ assertTrue(loc2.isOnSameSegment(loc2));
+ assertTrue(! loc2.isOnSameSegment(loc3));
+ assertTrue(loc2B.isOnSameSegment(loc3));
+
+ assertTrue(loc2_5.isOnSameSegment(loc3));
+
+ assertTrue(! loc3.isOnSameSegment(loc0));
+ assertTrue(! loc3.isOnSameSegment(loc2));
+ assertTrue(loc3.isOnSameSegment(loc2B));
+ assertTrue(loc3.isOnSameSegment(loc2_5));
+ assertTrue(loc3.isOnSameSegment(loc3));
+ }
+
+ public void testGetSegmentMultiLineString() throws Exception
+ {
+ Geometry line = reader.read("MULTILINESTRING ((0 0, 10 0, 20 0), (20 0, 30 0))");
+ LocationIndexedLine indexedLine = new LocationIndexedLine(line);
+
+ LinearLocation loc0 = indexedLine.indexOf(new Coordinate(0, 0));
+ LinearLocation loc0_5 = indexedLine.indexOf(new Coordinate(5, 0));
+ LinearLocation loc1 = indexedLine.indexOf(new Coordinate (10, 0));
+ LinearLocation loc2 = indexedLine.indexOf(new Coordinate (20, 0));
+ LinearLocation loc2B = new LinearLocation(1, 0, 0.0);
+
+ LinearLocation loc2_5 = indexedLine.indexOf(new Coordinate (25, 0));
+ LinearLocation loc3 = indexedLine.indexOf(new Coordinate (30, 0));
+
+ LineSegment seg0 = new LineSegment(new Coordinate(0,0), new Coordinate(10, 0));
+ LineSegment seg1 = new LineSegment(new Coordinate(10,0), new Coordinate(20, 0));
+ LineSegment seg2 = new LineSegment(new Coordinate(20,0), new Coordinate(30, 0));
+
+ assertTrue(loc0.getSegment(line).equals(seg0));
+ assertTrue(loc0_5.getSegment(line).equals(seg0));
+
+ assertTrue(loc1.getSegment(line).equals(seg1));
+ assertTrue(loc2.getSegment(line).equals(seg1));
+
+ assertTrue(loc2_5.getSegment(line).equals(seg2));
+ assertTrue(loc3.getSegment(line).equals(seg2));
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/linearref/LocationIndexedLineTest.java b/modules/core/src/test/java/org/locationtech/jts/linearref/LocationIndexedLineTest.java
new file mode 100644
index 0000000..cfcd97b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/linearref/LocationIndexedLineTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.linearref;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+
+/**
+ * Tests the {@link LocationIndexedLine} class
+ */
+public class LocationIndexedLineTest
+ extends AbstractIndexedLineTest {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(LocationIndexedLineTest.class);
+ }
+
+ public LocationIndexedLineTest(String name) {
+ super(name);
+ }
+
+ public void testMultiLineStringSimple()
+ throws Exception
+ {
+ runExtractLine("MULTILINESTRING ((0 0, 10 10), (20 20, 30 30))",
+ new LinearLocation(0, 0, .5),
+ new LinearLocation(1, 0, .5),
+ "MULTILINESTRING ((5 5, 10 10), (20 20, 25 25))");
+ }
+
+ public void testMultiLineString2()
+ throws Exception
+ {
+ runExtractLine("MULTILINESTRING ((0 0, 10 10), (20 20, 30 30))",
+ new LinearLocation(0, 0, 1.0),
+ new LinearLocation(1, 0, .5),
+ "MULTILINESTRING ((10 10, 10 10), (20 20, 25 25))");
+ }
+
+ private void runExtractLine(String wkt,
+ LinearLocation start, LinearLocation end, String expected)
+ {
+ Geometry geom = read(wkt);
+ LocationIndexedLine lil = new LocationIndexedLine(geom);
+ Geometry result = lil.extractLine(start, end);
+ //System.out.println(result);
+ checkExpected(result, expected);
+ }
+
+ protected Geometry indicesOfThenExtract(Geometry input, Geometry subLine)
+ {
+ LocationIndexedLine indexedLine = new LocationIndexedLine(input);
+ LinearLocation[] loc = indexedLine.indicesOf(subLine);
+ Geometry result = indexedLine.extractLine(loc[0], loc[1]);
+ return result;
+ }
+
+ protected boolean indexOfAfterCheck(Geometry linearGeom, Coordinate testPt)
+ {
+ LocationIndexedLine indexedLine = new LocationIndexedLine(linearGeom);
+
+ // check locations are consecutive
+ LinearLocation loc1 = indexedLine.indexOf(testPt);
+ LinearLocation loc2 = indexedLine.indexOfAfter(testPt, loc1);
+ if (loc2.compareTo(loc1) <= 0 ) return false;
+
+ // check extracted points are the same as the input
+ Coordinate pt1 = indexedLine.extractPoint(loc1);
+ Coordinate pt2 = indexedLine.extractPoint(loc2);
+ if (! pt1.equals2D(testPt)) return false;
+ if (! pt2.equals2D(testPt)) return false;
+
+ return true;
+ }
+
+ protected boolean indexOfAfterCheck(Geometry linearGeom, Coordinate testPt, Coordinate afterPt)
+ {
+ LocationIndexedLine indexedLine = new LocationIndexedLine(linearGeom);
+
+ // check that computed location is after check location
+ LinearLocation afterLoc = indexedLine.indexOf(afterPt);
+ LinearLocation testLoc = indexedLine.indexOfAfter(testPt, afterLoc);
+ if (testLoc.compareTo(afterLoc) < 0 ) return false;
+
+ return true;
+ }
+
+ protected Coordinate extractOffsetAt(Geometry linearGeom, Coordinate testPt, double offsetDistance)
+ {
+ LocationIndexedLine indexedLine = new LocationIndexedLine(linearGeom);
+ LinearLocation index = indexedLine.indexOf(testPt);
+ return indexedLine.extractPoint(index, offsetDistance);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/math/DDBasicTest.java b/modules/core/src/test/java/org/locationtech/jts/math/DDBasicTest.java
new file mode 100644
index 0000000..2c85ade
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/math/DDBasicTest.java
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests basic arithmetic operations for {@link DD}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DDBasicTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(DDBasicTest.class);
+ }
+
+ public DDBasicTest(String name) { super(name); }
+
+ public void testNaN()
+ {
+ assertTrue(DD.valueOf(1).divide(DD.valueOf(0)).isNaN());
+ assertTrue(DD.valueOf(1).multiply(DD.NaN).isNaN());
+ }
+
+
+ public void testAddMult2()
+ {
+ checkAddMult2(new DD(3));
+ checkAddMult2(DD.PI);
+ }
+
+ public void testMultiplyDivide()
+ {
+ checkMultiplyDivide(DD.PI, DD.E, 1e-30);
+ checkMultiplyDivide(DD.TWO_PI, DD.E, 1e-30);
+ checkMultiplyDivide(DD.PI_2, DD.E, 1e-30);
+ checkMultiplyDivide(new DD(39.4), new DD(10), 1e-30);
+ }
+
+ public void testDivideMultiply()
+ {
+ checkDivideMultiply(DD.PI, DD.E, 1e-30);
+ checkDivideMultiply(new DD(39.4), new DD(10), 1e-30);
+ }
+
+ public void testSqrt()
+ {
+ // the appropriate error bound is determined empirically
+ checkSqrt(DD.PI, 1e-30);
+ checkSqrt(DD.E, 1e-30);
+ checkSqrt(new DD(999.0), 1e-28);
+ }
+
+ private void checkSqrt(DD x, double errBound)
+ {
+ DD sqrt = x.sqrt();
+ DD x2 = sqrt.multiply(sqrt);
+ checkErrorBound("Sqrt", x, x2, errBound);
+ }
+
+ public void testTrunc()
+ {
+ checkTrunc(DD.valueOf(1e16).subtract(DD.valueOf(1)),
+ DD.valueOf(1e16).subtract(DD.valueOf(1)));
+ // the appropriate error bound is determined empirically
+ checkTrunc(DD.PI, DD.valueOf(3));
+ checkTrunc(DD.valueOf(999.999), DD.valueOf(999));
+
+ checkTrunc(DD.E.negate(), DD.valueOf(-2));
+ checkTrunc(DD.valueOf(-999.999), DD.valueOf(-999));
+ }
+
+ private void checkTrunc(DD x, DD expected)
+ {
+ DD trunc = x.trunc();
+ boolean isEqual = trunc.equals(expected);
+ assertTrue(isEqual);
+ }
+
+ public void testPow()
+ {
+ checkPow(0, 3, 16 * DD.EPS);
+ checkPow(14, 3, 16 * DD.EPS);
+ checkPow(3, -5, 16 * DD.EPS);
+ checkPow(-3, 5, 16 * DD.EPS);
+ checkPow(-3, -5, 16 * DD.EPS);
+ checkPow(0.12345, -5, 1e5 * DD.EPS);
+ }
+
+ public void testReciprocal()
+ {
+ // error bounds are chosen to be "close enough" (i.e. heuristically)
+
+ // for some reason many reciprocals are exact
+ checkReciprocal(3.0, 0);
+ checkReciprocal(99.0, 1e-29);
+ checkReciprocal(999.0, 0);
+ checkReciprocal(314159269.0, 0);
+ }
+
+ public void testBinom()
+ {
+ checkBinomialSquare(100.0, 1.0);
+ checkBinomialSquare(1000.0, 1.0);
+ checkBinomialSquare(10000.0, 1.0);
+ checkBinomialSquare(100000.0, 1.0);
+ checkBinomialSquare(1000000.0, 1.0);
+ checkBinomialSquare(1e8, 1.0);
+ checkBinomialSquare(1e10, 1.0);
+ checkBinomialSquare(1e14, 1.0);
+ // Following call will fail, because it requires 32 digits of precision
+// checkBinomialSquare(1e16, 1.0);
+
+ checkBinomialSquare(1e14, 291.0);
+ checkBinomialSquare(5e14, 291.0);
+ checkBinomialSquare(5e14, 345291.0);
+ }
+
+ private void checkAddMult2(DD dd)
+ {
+ DD sum = dd.add(dd);
+ DD prod = dd.multiply(new DD(2.0));
+ checkErrorBound("AddMult2", sum, prod, 0.0);
+ }
+
+ private void checkMultiplyDivide(DD a, DD b, double errBound)
+ {
+ DD a2 = a.multiply(b).divide(b);
+ checkErrorBound("MultiplyDivide", a, a2, errBound);
+ }
+
+ private void checkDivideMultiply(DD a, DD b, double errBound)
+ {
+ DD a2 = a.divide(b).multiply(b);
+ checkErrorBound("DivideMultiply", a, a2, errBound);
+ }
+
+ private DD delta(DD x, DD y)
+ {
+ return x.subtract(y).abs();
+ }
+
+ private void checkErrorBound(String tag, DD x, DD y, double errBound)
+ {
+ DD err = x.subtract(y).abs();
+ //System.out.println(tag + " err=" + err);
+ boolean isWithinEps = err.doubleValue() <= errBound;
+ assertTrue(isWithinEps);
+ }
+
+ /**
+ * Computes (a+b)^2 in two different ways and compares the result.
+ * For correct results, a and b should be integers.
+ *
+ * @param a
+ * @param b
+ */
+ void checkBinomialSquare(double a, double b)
+ {
+ // binomial square
+ DD add = new DD(a);
+ DD bdd = new DD(b);
+ DD aPlusb = add.add(bdd);
+ DD abSq = aPlusb.multiply(aPlusb);
+// System.out.println("(a+b)^2 = " + abSq);
+
+ // expansion
+ DD a2dd = add.multiply(add);
+ DD b2dd = bdd.multiply(bdd);
+ DD ab = add.multiply(bdd);
+ DD sum = b2dd.add(ab).add(ab);
+
+// System.out.println("2ab+b^2 = " + sum);
+
+ DD diff = abSq.subtract(a2dd);
+// System.out.println("(a+b)^2 - a^2 = " + diff);
+
+ DD delta = diff.subtract(sum);
+
+ //System.out.println();
+ //System.out.println("A = " + a + ", B = " + b);
+ //System.out.println("[DD] 2ab+b^2 = " + sum
+ // + " (a+b)^2 - a^2 = " + diff
+ // + " delta = " + delta);
+ printBinomialSquareDouble(a,b);
+
+ boolean isSame = diff.equals(sum);
+ assertTrue(isSame);
+ boolean isDeltaZero = delta.isZero();
+ assertTrue(isDeltaZero);
+ }
+
+ void printBinomialSquareDouble(double a, double b)
+ {
+ double sum = 2*a*b + b*b;
+ double diff = (a + b) * (a + b) - a*a;
+ //System.out.println("[double] 2ab+b^2= " + sum
+ // + " (a+b)^2-a^2= " + diff
+ // + " delta= " + (sum - diff));
+ }
+
+ public void testBinomial2()
+ {
+ checkBinomial2(100.0, 1.0);
+ checkBinomial2(1000.0, 1.0);
+ checkBinomial2(10000.0, 1.0);
+ checkBinomial2(100000.0, 1.0);
+ checkBinomial2(1000000.0, 1.0);
+ checkBinomial2(1e8, 1.0);
+ checkBinomial2(1e10, 1.0);
+ checkBinomial2(1e14, 1.0);
+
+ checkBinomial2(1e14, 291.0);
+
+ checkBinomial2(5e14, 291.0);
+ checkBinomial2(5e14, 345291.0);
+ }
+
+ void checkBinomial2(double a, double b)
+ {
+ // binomial product
+ DD add = new DD(a);
+ DD bdd = new DD(b);
+ DD aPlusb = add.add(bdd);
+ DD aSubb = add.subtract(bdd);
+ DD abProd = aPlusb.multiply(aSubb);
+// System.out.println("(a+b)^2 = " + abSq);
+
+ // expansion
+ DD a2dd = add.multiply(add);
+ DD b2dd = bdd.multiply(bdd);
+
+// System.out.println("2ab+b^2 = " + sum);
+
+ // this should equal b^2
+ DD diff = abProd.subtract(a2dd).negate();
+// System.out.println("(a+b)^2 - a^2 = " + diff);
+
+ DD delta = diff.subtract(b2dd);
+
+ //System.out.println();
+ //System.out.println("A = " + a + ", B = " + b);
+ //System.out.println("[DD] (a+b)(a-b) = " + abProd
+ // + " -((a^2 - b^2) - a^2) = " + diff
+ // + " delta = " + delta);
+// printBinomialSquareDouble(a,b);
+
+ boolean isSame = diff.equals(b2dd);
+ assertTrue(isSame);
+ boolean isDeltaZero = delta.isZero();
+ assertTrue(isDeltaZero);
+ }
+
+
+ private void checkReciprocal(double x, double errBound)
+ {
+ DD xdd = new DD(x);
+ DD rr = xdd.reciprocal().reciprocal();
+
+ double err = xdd.subtract(rr).doubleValue();
+
+ //System.out.println("DD Recip = " + xdd
+ // + " DD delta= " + err
+ // + " double recip delta= " + (x - 1.0/(1.0/x)) );
+
+ assertTrue(err <= errBound);
+ }
+
+ private void checkPow(double x, int exp, double errBound)
+ {
+ DD xdd = new DD(x);
+ DD pow = xdd.pow(exp);
+ //System.out.println("Pow(" + x + ", " + exp + ") = " + pow);
+ DD pow2 = slowPow(xdd, exp);
+
+ double err = pow.subtract(pow2).doubleValue();
+
+ boolean isOK = err < errBound;
+ if (! isOK)
+ System.out.println("Test slowPow value " + pow2);
+
+ assertTrue(err <= errBound);
+ }
+
+ private DD slowPow(DD x, int exp)
+ {
+ if (exp == 0)
+ return DD.valueOf(1.0);
+
+ int n = Math.abs(exp);
+ // MD - could use binary exponentiation for better precision & speed
+ DD pow = new DD(x);
+ for (int i = 1; i < n; i++) {
+ pow = pow.multiply(x);
+ }
+ if (exp < 0) {
+ return pow.reciprocal();
+ }
+ return pow;
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/math/DDComputeTest.java b/modules/core/src/test/java/org/locationtech/jts/math/DDComputeTest.java
new file mode 100644
index 0000000..778138e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/math/DDComputeTest.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Various tests involving computing known mathematical quantities
+ * using the basic {@link DD} arithmetic operations.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DDComputeTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(DDComputeTest.class);
+ }
+
+ public DDComputeTest(String name) { super(name); }
+
+ public void testEByTaylorSeries()
+ {
+ //System.out.println("--------------------------------");
+ //System.out.println("Computing e by Taylor series");
+ DD testE = computeEByTaylorSeries();
+ double err = Math.abs(testE.subtract(DD.E).doubleValue());
+ //System.out.println("Difference from DoubleDouble.E = " + err);
+ assertTrue(err < 64 * DD.EPS);
+ }
+
+ /**
+ * Uses Taylor series to compute e
+ *
+ * e = 1 + 1 + 1/2! + 1/3! + 1/4! + ...
+ *
+ * @return an approximation to e
+ */
+ private DD computeEByTaylorSeries()
+ {
+ DD s = DD.valueOf(2.0);
+ DD t = DD.valueOf(1.0);
+ double n = 1.0;
+ int i = 0;
+
+ while (t.doubleValue() > DD.EPS) {
+ i++;
+ n += 1.0;
+ t = t.divide(DD.valueOf(n));
+ s = s.add(t);
+ //System.out.println(i + ": " + s);
+ }
+ return s;
+ }
+
+ public void testPiByMachin()
+ {
+ //System.out.println("--------------------------------");
+ //System.out.println("Computing Pi by Machin's rule");
+ DD testE = computePiByMachin();
+ double err = Math.abs(testE.subtract(DD.PI).doubleValue());
+ //System.out.println("Difference from DoubleDouble.PI = " + err);
+ assertTrue(err < 8 * DD.EPS);
+ }
+
+
+ /**
+ * Uses Machin's arctangent formula to compute Pi:
+ *
+ * Pi / 4 = 4 arctan(1/5) - arctan(1/239)
+ *
+ * @return an approximation to Pi
+ */
+ private DD computePiByMachin()
+ {
+ DD t1 = DD.valueOf(1.0).divide(DD.valueOf(5.0));
+ DD t2 = DD.valueOf(1.0).divide(DD.valueOf(239.0));
+
+ DD pi4 = (DD.valueOf(4.0)
+ .multiply(arctan(t1)))
+ .subtract(arctan(t2));
+ DD pi = DD.valueOf(4.0).multiply(pi4);
+ //System.out.println("Computed value = " + pi);
+ return pi;
+ }
+
+ /**
+ * Computes the arctangent based on the Taylor series expansion
+ *
+ * arctan(x) = x - x^3 / 3 + x^5 / 5 - x^7 / 7 + ...
+ *
+ * @param x the argument
+ * @return an approximation to the arctangent of the input
+ */
+ private DD arctan(DD x)
+ {
+ DD t = x;
+ DD t2 = t.sqr();
+ DD at = new DD(0.0);
+ DD two = new DD(2.0);
+ int k = 0;
+ DD d = new DD(1.0);
+ int sign = 1;
+ while (t.doubleValue() > DD.EPS) {
+ k++;
+ if (sign < 0)
+ at = at.subtract(t.divide(d));
+ else
+ at = at.add(t.divide(d));
+
+ d = d.add(two);
+ t = t.multiply(t2);
+ sign = -sign;
+ }
+ //System.out.println("Computed DD.atan(): " + at
+ // + " Math.atan = " + Math.atan(x.doubleValue()));
+ return at;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/math/DDIOTest.java b/modules/core/src/test/java/org/locationtech/jts/math/DDIOTest.java
new file mode 100644
index 0000000..b69935f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/math/DDIOTest.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests I/O for {@link DD}s.
+ *
+ * @author mbdavis
+ *
+ */
+public class DDIOTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(DDIOTest.class);
+ }
+
+ public DDIOTest(String name) {
+ super(name);
+ }
+
+
+ public void testStandardNotation()
+ {
+ // standard cases
+ checkStandardNotation(1.0, "1.0");
+ checkStandardNotation(0.0, "0.0");
+
+ // cases where hi is a power of 10 and lo is negative
+ checkStandardNotation(DD.valueOf(1e12).subtract(DD.valueOf(1)), "999999999999.0");
+ checkStandardNotation(DD.valueOf(1e14).subtract(DD.valueOf(1)), "99999999999999.0");
+ checkStandardNotation(DD.valueOf(1e16).subtract(DD.valueOf(1)), "9999999999999999.0");
+
+ DD num8Dec = DD.valueOf(-379363639).divide(
+ DD.valueOf(100000000));
+ checkStandardNotation(num8Dec, "-3.79363639");
+
+ checkStandardNotation(new DD(-3.79363639, 8.039137357367426E-17),
+ "-3.7936363900000000000000000");
+
+ checkStandardNotation(DD.valueOf(34).divide(
+ DD.valueOf(1000)), "0.034");
+ checkStandardNotation(1.05e3, "1050.0");
+ checkStandardNotation(0.34, "0.34000000000000002442490654175344");
+ checkStandardNotation(DD.valueOf(34).divide(
+ DD.valueOf(100)), "0.34");
+ checkStandardNotation(14, "14.0");
+ }
+
+ private void checkStandardNotation(double x, String expectedStr) {
+ checkStandardNotation(DD.valueOf(x), expectedStr);
+ }
+
+ private void checkStandardNotation(DD x, String expectedStr) {
+ String xStr = x.toStandardNotation();
+ //System.out.println("Standard Notation: " + xStr);
+ assertEquals(expectedStr, xStr);
+ }
+
+ public void testSciNotation() {
+ checkSciNotation(0.0, "0.0E0");
+ checkSciNotation(1.05e10, "1.05E10");
+ checkSciNotation(0.34, "3.4000000000000002442490654175344E-1");
+ checkSciNotation(
+ DD.valueOf(34).divide(DD.valueOf(100)), "3.4E-1");
+ checkSciNotation(14, "1.4E1");
+ }
+
+ private void checkSciNotation(double x, String expectedStr) {
+ checkSciNotation(DD.valueOf(x), expectedStr);
+ }
+
+ private void checkSciNotation(DD x, String expectedStr) {
+ String xStr = x.toSciNotation();
+ //System.out.println("Sci Notation: " + xStr);
+ assertEquals(xStr, expectedStr);
+ }
+
+ public void testParse() {
+ checkParse("1.05e10", 1.05E10, 1e-32);
+ checkParse("-1.05e10", -1.05E10, 1e-32);
+ checkParse("1.05e-10", DD.valueOf(105.).divide(
+ DD.valueOf(100.)).divide(DD.valueOf(1.0E10)), 1e-32);
+ checkParse("-1.05e-10", DD.valueOf(105.).divide(
+ DD.valueOf(100.)).divide(DD.valueOf(1.0E10))
+ .negate(), 1e-32);
+
+ /**
+ * The Java double-precision constant 1.4 gives rise to a value which
+ * differs from the exact binary representation down around the 17th decimal
+ * place. Thus it will not compare exactly to the DoubleDouble
+ * representation of the same number. To avoid this, compute the expected
+ * value using full DD precision.
+ */
+ checkParse("1.4",
+ DD.valueOf(14).divide(DD.valueOf(10)), 1e-30);
+
+ // 39.5D can be converted to an exact FP representation
+ checkParse("39.5", 39.5, 1e-30);
+ checkParse("-39.5", -39.5, 1e-30);
+ }
+
+ private void checkParse(String str, double expectedVal, double errBound) {
+ checkParse(str, new DD(expectedVal), errBound);
+ }
+
+ private void checkParse(String str, DD expectedVal,
+ double relErrBound) {
+ DD xdd = DD.parse(str);
+ double err = xdd.subtract(expectedVal).doubleValue();
+ double relErr = err / xdd.doubleValue();
+
+ //System.out.println("Parsed= " + xdd + " rel err= " + relErr);
+
+ assertTrue(err <= relErrBound);
+ }
+
+ public void testParseError() {
+ checkParseError("-1.05E2w");
+ checkParseError("%-1.05E2w");
+ checkParseError("-1.0512345678t");
+ }
+
+ private void checkParseError(String str) {
+ boolean foundParseError = false;
+ try {
+ DD.parse(str);
+ } catch (NumberFormatException ex) {
+ foundParseError = true;
+ }
+ assertTrue(foundParseError);
+ }
+
+ public void testRepeatedSqrt()
+ {
+ writeRepeatedSqrt(DD.valueOf(1.0));
+ writeRepeatedSqrt(DD.valueOf(.999999999999));
+ writeRepeatedSqrt(DD.PI.divide(DD.valueOf(10)));
+ }
+
+ /**
+ * This routine simply tests for robustness of the toString function.
+ *
+ * @param xdd
+ */
+ void writeRepeatedSqrt(DD xdd)
+ {
+ int count = 0;
+ while (xdd.doubleValue() > 1e-300) {
+ count++;
+
+ double x = xdd.doubleValue();
+ DD xSqrt = xdd.sqrt();
+ String s = xSqrt.toString();
+// System.out.println(count + ": " + s);
+
+ DD xSqrt2 = DD.parse(s);
+ DD xx = xSqrt2.multiply(xSqrt2);
+ double err = Math.abs(xx.doubleValue() - x);
+ //assertTrue(err < 1e-10);
+
+ xdd = xSqrt;
+
+ // square roots converge on 1 - stop when very close
+ DD distFrom1DD = xSqrt.subtract(DD.valueOf(1.0));
+ double distFrom1 = distFrom1DD.doubleValue();
+ if (Math.abs(distFrom1) < 1.0e-40)
+ break;
+ }
+ }
+
+ public void testRepeatedSqr()
+ {
+ writeRepeatedSqr(DD.valueOf(.9));
+ writeRepeatedSqr(DD.PI.divide(DD.valueOf(10)));
+ }
+
+ /**
+ * This routine simply tests for robustness of the toString function.
+ *
+ * @param xdd
+ */
+ void writeRepeatedSqr(DD xdd)
+ {
+ if (xdd.ge(DD.valueOf(1)))
+ throw new IllegalArgumentException("Argument must be < 1");
+
+ int count = 0;
+ while (xdd.doubleValue() > 1e-300) {
+ count++;
+ if (count == 100)
+ count = count;
+ double x = xdd.doubleValue();
+ DD xSqr = xdd.sqr();
+ String s = xSqr.toString();
+ //System.out.println(count + ": " + s);
+
+ DD xSqr2 = DD.parse(s);
+
+ xdd = xSqr;
+ }
+ }
+
+ public void testIOSquaresStress() {
+ for (int i = 1; i < 10000; i++) {
+ writeAndReadSqrt(i);
+ }
+ }
+
+ /**
+ * Tests that printing values with many decimal places works.
+ * This tests the correctness and robustness of both output and input.
+ *
+ * @param x
+ */
+ void writeAndReadSqrt(double x) {
+ DD xdd = DD.valueOf(x);
+ DD xSqrt = xdd.sqrt();
+ String s = xSqrt.toString();
+// System.out.println(s);
+
+ DD xSqrt2 = DD.parse(s);
+ DD xx = xSqrt2.multiply(xSqrt2);
+ String xxStr = xx.toString();
+// System.out.println("==> " + xxStr);
+
+ DD xx2 = DD.parse(xxStr);
+ double err = Math.abs(xx2.doubleValue() - x);
+ assertTrue(err < 1e-10);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/math/DDTest.java b/modules/core/src/test/java/org/locationtech/jts/math/DDTest.java
new file mode 100644
index 0000000..3838b34
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/math/DDTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests basic accessor and mutator operations for {@link DD}s.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DDTest
+ extends TestCase
+{
+ private static final double VALUE_DBL = 2.2;
+
+ public static void main(String args[]) {
+ TestRunner.run(DDTest.class);
+ }
+
+ public DDTest(String name) { super(name); }
+
+ public void testSetValueDouble()
+ {
+ assertTrue(VALUE_DBL == (new DD(1)).setValue(VALUE_DBL).doubleValue());
+ }
+ public void testSetValueDD()
+ {
+ assertTrue((new DD(VALUE_DBL)).equals((new DD(1)).setValue(new DD(2.2))));
+ assertTrue(DD.PI.equals((new DD(1)).setValue(DD.PI)));
+ }
+ public void testCopy()
+ {
+ assertTrue((new DD(VALUE_DBL)).equals(DD.copy(new DD(VALUE_DBL))));
+ assertTrue(DD.PI.equals(DD.copy(DD.PI)));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/math/Vector2DTest.java b/modules/core/src/test/java/org/locationtech/jts/math/Vector2DTest.java
new file mode 100644
index 0000000..4a6a992
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/math/Vector2DTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.math;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+public class Vector2DTest extends TestCase {
+
+ private static final double TOLERANCE = 1E-5;
+
+ public static void main(String args[]) {
+ TestRunner.run(Vector2DTest.class);
+ }
+
+ public Vector2DTest(String name) { super(name); }
+
+ public void testLength()
+ {
+ assertEquals(Vector2D.create(0,1).length(), 1.0, TOLERANCE);
+ assertEquals(Vector2D.create(0,-1).length(), 1.0, TOLERANCE);
+ assertEquals(Vector2D.create(1,1).length(), Math.sqrt(2.0), TOLERANCE);
+ assertEquals(Vector2D.create(3,4).length(), 5, TOLERANCE);
+ }
+
+ public void testIsParallel() throws Exception
+ {
+ assertTrue(Vector2D.create(0,1).isParallel(Vector2D.create(0,2)));
+ assertTrue(Vector2D.create(1,1).isParallel(Vector2D.create(2,2)));
+ assertTrue(Vector2D.create(-1,-1).isParallel(Vector2D.create(2,2)));
+
+ assertTrue(! Vector2D.create(1,-1).isParallel(Vector2D.create(2,2)));
+ }
+
+ public void testToCoordinate()
+ {
+ assertEquals(Vector2D.create(
+ Vector2D.create(1,2).toCoordinate()),
+ Vector2D.create(1,2), TOLERANCE);
+ }
+
+ void assertEquals(Vector2D v1, Vector2D v2)
+ {
+ assertTrue(v1.equals(v2));
+ }
+
+ void assertEquals(Vector2D v1, Vector2D v2, double tolerance)
+ {
+ assertEquals(v1.getX(), v2.getX(), tolerance);
+ assertEquals(v1.getY(), v2.getY(), tolerance);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorFullTest.java b/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorFullTest.java
new file mode 100644
index 0000000..25ade5e
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorFullTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Test IntersectionSegment#compareNodePosition using an exhaustive set
+ * of test cases
+ *
+ * @version 1.7
+ */
+public class SegmentPointComparatorFullTest
+ extends TestCase
+{
+
+ private PrecisionModel pm = new PrecisionModel(1.0);
+
+ public SegmentPointComparatorFullTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(SegmentPointComparatorFullTest.class);
+ }
+
+ public void testQuadrant0()
+ {
+ checkSegment(100, 0);
+ checkSegment(100, 50);
+ checkSegment(100, 100);
+ checkSegment(100, 150);
+ checkSegment(0, 100);
+ }
+
+ public void testQuadrant4()
+ {
+ checkSegment(100, -50);
+ checkSegment(100, -100);
+ checkSegment(100, -150);
+ checkSegment(0, -100);
+ }
+
+ public void testQuadrant1()
+ {
+ checkSegment(-100, 0);
+ checkSegment(-100, 50);
+ checkSegment(-100, 100);
+ checkSegment(-100, 150);
+ }
+
+ public void testQuadrant2()
+ {
+ checkSegment(-100, 0);
+ checkSegment(-100, -50);
+ checkSegment(-100, -100);
+ checkSegment(-100, -150);
+ }
+
+ private void checkSegment(double x, double y)
+ {
+ Coordinate seg0 = new Coordinate(0, 0);
+ Coordinate seg1 = new Coordinate(x, y);
+ LineSegment seg = new LineSegment(seg0, seg1);
+
+ for (int i = 0; i < 4; i++) {
+ double dist = i;
+
+ double gridSize = 1 / pm.getScale();
+
+ checkPointsAtDistance(seg, dist, dist + 1.0 * gridSize);
+ checkPointsAtDistance(seg, dist, dist + 2.0 * gridSize);
+ checkPointsAtDistance(seg, dist, dist + 3.0 * gridSize);
+ checkPointsAtDistance(seg, dist, dist + 4.0 * gridSize);
+ }
+ }
+
+ private Coordinate computePoint(LineSegment seg, double dist)
+ {
+ double dx = seg.p1.x - seg.p0.x;
+ double dy = seg.p1.y - seg.p0.y;
+ double len = seg.getLength();
+ Coordinate pt = new Coordinate(dist * dx / len, dist * dy / len);
+ pm.makePrecise(pt);
+ return pt;
+ }
+
+ private void checkPointsAtDistance(LineSegment seg, double dist0, double dist1)
+ {
+ Coordinate p0 = computePoint(seg, dist0);
+ Coordinate p1 = computePoint(seg, dist1);
+ if (p0.equals(p1)) {
+ checkNodePosition(seg, p0, p1, 0);
+ }
+ else {
+ checkNodePosition(seg, p0, p1, -1);
+ checkNodePosition(seg, p1, p0, 1);
+ }
+ }
+
+ private void checkNodePosition(LineSegment seg, Coordinate p0, Coordinate p1, int expectedPositionValue)
+ {
+ int octant = Octant.octant(seg.p0, seg.p1);
+ int posValue = SegmentPointComparator.compare(octant, p0, p1);
+ //System.out.println(octant + " " + p0 + " " + p1 + " " + posValue);
+ assertTrue(posValue == expectedPositionValue);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorTest.java b/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorTest.java
new file mode 100644
index 0000000..efe6135
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/noding/SegmentPointComparatorTest.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding;
+
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.framework.TestCase;
+
+/**
+ * Test IntersectionSegment#compareNodePosition
+ *
+ * @version 1.7
+ */
+public class SegmentPointComparatorTest
+ extends TestCase
+{
+
+ public SegmentPointComparatorTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(SegmentPointComparatorTest.class);
+ }
+
+ public void testOctant0()
+ {
+ checkNodePosition(0, 1, 1, 2, 2, -1);
+ checkNodePosition(0, 1, 0, 1, 1, -1);
+ }
+
+ private void checkNodePosition(int octant,
+ double x0, double y0,
+ double x1, double y1,
+ int expectedPositionValue
+ )
+ {
+ int posValue = SegmentPointComparator.compare(octant,
+ new Coordinate(x0, y0),
+ new Coordinate(x1, y1)
+ );
+ assertTrue(posValue == expectedPositionValue);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/noding/snapround/SnapRoundingTest.java b/modules/core/src/test/java/org/locationtech/jts/noding/snapround/SnapRoundingTest.java
new file mode 100644
index 0000000..0fb5f9b
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/noding/snapround/SnapRoundingTest.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.noding.snapround;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Test Snap Rounding
+ *
+ * @version 1.7
+ */
+public class SnapRoundingTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(SnapRoundingTest.class);
+ }
+
+ public SnapRoundingTest(String name) { super(name); }
+
+ public void testPolyWithCloseNode() {
+ String[] polyWithCloseNode = {
+ "POLYGON ((20 0, 20 160, 140 1, 160 160, 160 1, 20 0))"
+ };
+ runRounding(polyWithCloseNode);
+ }
+
+ public void testLineStringLongShort() {
+ String[] geoms = {
+ "LINESTRING (0 0, 2 0)",
+ "LINESTRING (0 0, 10 -1)"
+ };
+ runRounding(geoms);
+ }
+
+ public void testBadLines1() {
+ String[] badLines1 = {
+ "LINESTRING ( 171 157, 175 154, 170 154, 170 155, 170 156, 170 157, 171 158, 171 159, 172 160, 176 156, 171 156, 171 159, 176 159, 172 155, 170 157, 174 161, 174 156, 173 156, 172 156 )"
+ };
+ runRounding(badLines1);
+ }
+ public void testBadLines2() {
+ String[] badLines2 = {
+ "LINESTRING ( 175 222, 176 222, 176 219, 174 221, 175 222, 177 220, 174 220, 174 222, 177 222, 175 220, 174 221 )"
+ };
+ runRounding(badLines2);
+ }
+ public void testCollapse1() {
+ String[] collapse1 = {
+ "LINESTRING ( 362 177, 375 164, 374 164, 372 161, 373 163, 372 165, 373 164, 442 58 )"
+ };
+ runRounding(collapse1);
+ }
+
+ public void testCollapse2() {
+ String[] collapse2 = {
+ "LINESTRING ( 393 175, 391 173, 390 175, 391 174, 391 173 )"
+ };
+ runRounding(collapse2);
+ }
+
+ public void testBadNoding1() {
+ String[] badNoding1 = {
+ "LINESTRING ( 76 47, 81 52, 81 53, 85 57, 88 62, 89 64, 57 80, 82 55, 101 74, 76 99, 92 67, 94 68, 99 71, 103 75, 139 111 )"
+ };
+ runRounding(badNoding1);
+ }
+
+ public void testBadNoding1Extract() {
+ String[] badNoding1Extract = {
+ "LINESTRING ( 82 55, 101 74 )",
+ "LINESTRING ( 94 68, 99 71 )",
+ "LINESTRING ( 85 57, 88 62 )"
+ };
+ runRounding(badNoding1Extract);
+ }
+ public void testBadNoding1ExtractShift() {
+ String[] badNoding1ExtractShift = {
+ "LINESTRING ( 0 0, 19 19 )",
+ "LINESTRING ( 12 13, 17 16 )",
+ "LINESTRING ( 3 2, 6 7 )"
+ };
+ runRounding(badNoding1ExtractShift);
+ }
+
+ static final double SNAP_TOLERANCE = 1.0;
+
+ void runRounding(String[] wkt)
+ {
+ List geoms = fromWKT(wkt);
+ PrecisionModel pm = new PrecisionModel(SNAP_TOLERANCE);
+ GeometryNoder noder = new GeometryNoder(pm);
+ noder.setValidate(true);
+ List nodedLines = noder.node(geoms);
+/*
+ for (Iterator it = nodedLines.iterator(); it.hasNext(); ) {
+ System.out.println(it.next());
+ }
+ */
+ assertTrue(isSnapped(nodedLines, SNAP_TOLERANCE));
+ }
+
+ List fromWKT(String[] wkts)
+ {
+ List geomList = new ArrayList();
+ for (int i = 0; i < wkts.length; i++) {
+ try {
+ geomList.add(rdr.read(wkts[i]));
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ return geomList;
+ }
+
+ boolean isSnapped(List lines, double tol)
+ {
+ for (int i = 0; i < lines.size(); i++) {
+ LineString line = (LineString) lines.get(i);
+ for (int j = 0; j < line.getNumPoints(); j++) {
+ Coordinate v = line.getCoordinateN(j);
+ if (! isSnapped(v, lines)) return false;
+
+ }
+ }
+ return true;
+ }
+
+ private boolean isSnapped(Coordinate v, List lines)
+ {
+ for (int i = 0; i < lines.size(); i++) {
+ LineString line = (LineString) lines.get(i);
+ for (int j = 0; j < line.getNumPoints() - 1; j++) {
+ Coordinate p0 = line.getCoordinateN(j);
+ Coordinate p1 = line.getCoordinateN(j+1);
+ if (! isSnapped(v, p0, p1)) return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean isSnapped(Coordinate v, Coordinate p0, Coordinate p1)
+ {
+ if (v.equals2D(p0)) return true;
+ if (v.equals2D(p1)) return true;
+ LineSegment seg = new LineSegment(p0, p1);
+ double dist = seg.distance(v);
+ if (dist < SNAP_TOLERANCE / 2.05) return false;
+ return true;
+ }
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/BoundaryTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/BoundaryTest.java
new file mode 100644
index 0000000..0e98ace
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/BoundaryTest.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link BoundaryOp} with different {@link BoundaryNodeRule}s.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class BoundaryTest
+ extends TestCase
+{
+ private static final double TOLERANCE = 0.00005;
+
+ public static void main(String args[]) {
+ TestRunner.run(BoundaryTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public BoundaryTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * For testing only.
+ *
+ * @throws Exception
+ */
+ public void test1()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((0 0, 10 10), (10 10, 20 20))";
+ // under MultiValent, the common point is the only point on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE,
+ "POINT (10 10)" );
+ }
+
+ public void test2LinesTouchAtEndpoint2()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((0 0, 10 10), (10 10, 20 20))";
+
+ // under Mod-2, the common point is not on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (20 20))" );
+ // under Endpoint, the common point is on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (10 10), (20 20))" );
+ // under MonoValent, the common point is not on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.MONOVALENT_ENDPOINT_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (20 20))" );
+ // under MultiValent, the common point is the only point on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE,
+ "POINT (10 10)" );
+ }
+
+ public void test3LinesTouchAtEndpoint2()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((0 0, 10 10), (10 10, 20 20), (10 10, 10 20))";
+
+ // under Mod-2, the common point is on the boundary (3 mod 2 = 1)
+ runBoundaryTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (10 10), (10 20), (20 20))" );
+ // under Endpoint, the common point is on the boundary (it is an endpoint)
+ runBoundaryTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (10 10), (10 20), (20 20))" );
+ // under MonoValent, the common point is not on the boundary (it has valence > 1)
+ runBoundaryTest(a, BoundaryNodeRule.MONOVALENT_ENDPOINT_BOUNDARY_RULE,
+ "MULTIPOINT ((0 0), (10 20), (20 20))" );
+ // under MultiValent, the common point is the only point on the boundary
+ runBoundaryTest(a, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE,
+ "POINT (10 10)" );
+ }
+
+ public void testMultiLineStringWithRingTouchAtEndpoint()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((100 100, 20 20, 200 20, 100 100), (100 200, 100 100))";
+
+ // under Mod-2, the ring has no boundary, so the line intersects the interior ==> not simple
+ runBoundaryTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE,
+ "MULTIPOINT ((100 100), (100 200))" );
+ // under Endpoint, the ring has a boundary point, so the line does NOT intersect the interior ==> simple
+ runBoundaryTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE,
+ "MULTIPOINT ((100 100), (100 200))" );
+ }
+
+ public void testRing()
+ throws Exception
+ {
+ String a = "LINESTRING (100 100, 20 20, 200 20, 100 100)";
+
+ // rings are simple under all rules
+ runBoundaryTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE,
+ "MULTIPOINT EMPTY");
+ runBoundaryTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE,
+ "POINT (100 100)" );
+ }
+
+
+
+ private void runBoundaryTest(String wkt, BoundaryNodeRule bnRule, String wktExpected)
+ throws ParseException
+ {
+ Geometry g = rdr.read(wkt);
+ Geometry expected = rdr.read(wktExpected);
+
+ BoundaryOp op = new BoundaryOp(g, bnRule);
+ Geometry boundary = op.getBoundary();
+ boundary.normalize();
+// System.out.println("Computed Boundary = " + boundary);
+ assertTrue(boundary.equalsExact(expected));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/IsSimpleTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/IsSimpleTest.java
new file mode 100644
index 0000000..2329d6d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/IsSimpleTest.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link IsSimpleOp} with different {@link BoundaryNodeRule}s.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class IsSimpleTest
+ extends TestCase
+{
+ private static final double TOLERANCE = 0.00005;
+
+ public static void main(String args[]) {
+ TestRunner.run(IsSimpleTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public IsSimpleTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * 2 LineStrings touching at an endpoint
+ * @throws Exception
+ */
+ public void test2TouchAtEndpoint() throws Exception {
+ String a = "MULTILINESTRING((0 1, 1 1, 2 1), (0 0, 1 0, 2 1))";
+ runIsSimpleTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE, true,
+ new Coordinate(2, 1));
+ runIsSimpleTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, true,
+ new Coordinate(2, 1));
+ }
+
+ /**
+ * 3 LineStrings touching at an endpoint.
+ *
+ * @throws Exception
+ */
+ public void test3TouchAtEndpoint() throws Exception {
+ String a = "MULTILINESTRING ((0 1, 1 1, 2 1), (0 0, 1 0, 2 1), (0 2, 1 2, 2 1))";
+
+ // rings are simple under all rules
+ runIsSimpleTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE, true,
+ new Coordinate(2, 1));
+ runIsSimpleTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, true,
+ new Coordinate(2, 1));
+ }
+
+ public void testCross() throws Exception {
+ String a = "MULTILINESTRING ((20 120, 120 20), (20 20, 120 120))";
+ runIsSimpleTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE, false,
+ new Coordinate(70, 70));
+ runIsSimpleTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, false,
+ new Coordinate(70, 70));
+ }
+
+
+ public void testMultiLineStringWithRingTouchAtEndpoint()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((100 100, 20 20, 200 20, 100 100), (100 200, 100 100))";
+
+ // under Mod-2, the ring has no boundary, so the line intersects the interior ==> not simple
+ runIsSimpleTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE, false, new Coordinate(100, 100) );
+ // under Endpoint, the ring has a boundary point, so the line does NOT intersect the interior ==> simple
+ runIsSimpleTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, true );
+ }
+
+ public void testRing()
+ throws Exception
+ {
+ String a = "LINESTRING (100 100, 20 20, 200 20, 100 100)";
+
+ // rings are simple under all rules
+ runIsSimpleTest(a, BoundaryNodeRule.MOD2_BOUNDARY_RULE, true );
+ runIsSimpleTest(a, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, true );
+ }
+
+
+ private void runIsSimpleTest(String wkt, BoundaryNodeRule bnRule, boolean expectedResult)
+ throws ParseException
+ {
+ runIsSimpleTest(wkt, bnRule, expectedResult, null);
+ }
+
+ private void runIsSimpleTest(String wkt, BoundaryNodeRule bnRule, boolean expectedResult,
+ Coordinate expectedLocation)
+ throws ParseException
+ {
+ Geometry g = rdr.read(wkt);
+ IsSimpleOp op = new IsSimpleOp(g, bnRule);
+ boolean isSimple = false;
+ isSimple = op.isSimple();
+ Coordinate nonSimpleLoc = op.getNonSimpleLocation();
+
+ // if geom is not simple, should have a valid location
+ assertTrue(isSimple || nonSimpleLoc != null);
+
+ assertTrue(expectedResult == isSimple);
+
+ if (! isSimple && expectedLocation != null) {
+ assertTrue(expectedLocation.distance(nonSimpleLoc) < TOLERANCE);
+ }
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferResultValidatorTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferResultValidatorTest.java
new file mode 100644
index 0000000..41c1375
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferResultValidatorTest.java
@@ -0,0 +1,59 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class BufferResultValidatorTest extends TestCase {
+
+ WKTReader rdr = new WKTReader();
+
+ public BufferResultValidatorTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(BufferResultValidatorTest.class);
+ }
+
+ public void testRandomLineString_envDistanceFailure() throws Exception
+ {
+ String wkt = "LINESTRING (0 0, 0.0050121406740709 -0.0178116943078762, 0.023360713164988 -0.0154225740096356, 0.0242435510469024 -0.0324899203339147, 0.0085030847458749 -0.0391466037351922, -0.0049763942180625 -0.037881923003369, -0.0178369891369056 -0.0336509811666022, -0.0177592362824081 -0.0478222381025471, -0.0261518089363225 -0.059241313936419, -0.0341770463763633 -0.0645869491810857, -0.0427699646025609 -0.0602117910701216, -0.0465729748988988 -0.0703610553736549, -0.05723996951 [...]
+ runTest(wkt, 1.0);
+ }
+
+ void runTest(String wkt, double dist)
+ throws Exception
+ {
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(dist);
+ BufferResultValidator validator = new BufferResultValidator(g, dist, buf);
+
+ if (! validator.isValid()) {
+ String msg = validator.getErrorMessage();
+
+ //System.out.println(msg);
+ //System.out.println(WKTWriter.toPoint(validator.getErrorLocation()));
+ }
+ assertTrue(validator.isValid());
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferTest.java
new file mode 100644
index 0000000..0e24a4f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferTest.java
@@ -0,0 +1,478 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class BufferTest extends TestCase {
+
+ public BufferTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(BufferTest.class);
+ }
+
+ public void testFirst() throws Exception
+ {
+ testMultiLineString_separateBuffers_floatingSingle();
+ }
+
+ public void testMultiLineString_depthFailure() throws Exception {
+ new BufferValidator(
+ 15,
+ "MULTILINESTRING ((1335558.59524 631743.01449, 1335572.28215 631775.89056, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335576.62035 631803.90754), (1335558.59524 631743.01449, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335580.70187 631802.08139))")
+ .setEmptyBufferExpected(false)
+ .test();
+ }
+ public void testMultiLineString_separateBuffers_floating() throws Exception {
+ new BufferValidator(
+ 0.01,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))")
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(false)
+ .test();
+ }
+ public void testMultiLineString2_buffersTouchToMakeHole_floating() throws Exception {
+ new BufferValidator(
+ 0.037,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))")
+ .setBufferHolesExpected(true)
+ .setEmptyBufferExpected(false)
+ .test();
+ }
+ public void testMultiLineString3_holeVanishes_floating() throws Exception {
+ new BufferValidator(
+ 0.16,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))")
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(false)
+ .test();
+ }
+ public void testMultiLineString4_reallyBigDistance_floating() throws Exception {
+ new BufferValidator(
+ 1E10,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))")
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(false)
+ .test();
+ }
+
+ public void testMultiLineString_separateBuffers_floatingSingle() throws Exception {
+ BufferValidator bv = new BufferValidator(
+ 0.01,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))",
+ false);
+
+ bv.setBufferHolesExpected(false);
+ bv.setEmptyBufferExpected(true);
+ bv.setPrecisionModel(new PrecisionModel(PrecisionModel.FLOATING_SINGLE));
+ bv.test();
+ }
+
+ public void testMultiLineString2_buffersTouchToMakeHole_floatingSingle() throws Exception {
+ new BufferValidator(
+ 0.037,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))",
+ false)
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(true)
+ .setPrecisionModel(new PrecisionModel(PrecisionModel.FLOATING_SINGLE))
+ .test();
+ }
+ public void testMultiLineString3_holeVanishes_floatingSingle() throws Exception {
+ new BufferValidator(
+ 0.16,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))",
+ false)
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(true)
+ .setPrecisionModel(new PrecisionModel(PrecisionModel.FLOATING_SINGLE))
+ .test();
+ }
+ public void testMultiLineString4_reallyBigDistance_floatingSingle() throws Exception {
+ new BufferValidator(
+ 1E10,
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))")
+ .setBufferHolesExpected(false)
+ .setEmptyBufferExpected(false)
+ .setPrecisionModel(new PrecisionModel(PrecisionModel.FLOATING_SINGLE))
+ .test();
+ }
+ public void testPolygon_MultipleHoles() throws Exception {
+ new BufferValidator(
+ 10.0,
+ "POLYGON (( 78 82, 78 282, 312 282, 312 82, 78 82 ), ( 117 242, 122 242, 122 248, 117 248, 117 242 ), ( 156 104, 288 104, 288 210, 156 210, 156 104 ))")
+ .setBufferHolesExpected(true)
+ .setEmptyBufferExpected(false)
+ .setPrecisionModel(new PrecisionModel(PrecisionModel.FLOATING))
+ .test();
+ }
+
+ public void test1() throws Exception {
+ new BufferValidator(
+ 0,
+ "POINT (100 100)")
+ .setEmptyBufferExpected(true)
+ .test();
+ }
+ public void test2() throws Exception {
+ new BufferValidator(
+ 0,
+ "LINESTRING (10 10, 100 100)")
+ .setEmptyBufferExpected(true)
+ .test();
+ }
+ public void test1a() throws Exception {
+ new BufferValidator(
+ -1,
+ "POINT (100 100)")
+ .setEmptyBufferExpected(true)
+ .test();
+ }
+ public void test2a() throws Exception {
+ new BufferValidator(
+ -1,
+ "LINESTRING (10 10, 100 100)")
+ .setEmptyBufferExpected(true)
+ .test();
+ }
+
+ public void test3() throws Exception {
+ new BufferValidator(
+ 10,
+ "LINESTRING (100 100, 200 100, 200 200, 100 200, 100 100)")
+ .test();
+ }
+
+ public void test4() throws Exception {
+ new BufferValidator(
+ 50,
+ "LINESTRING (40 40, 160 40, 100 180, 40 80)")
+ .test();
+ }
+ public void test5() throws Exception {
+ new BufferValidator(
+ 0,
+ "POLYGON ((80 300, 280 300, 280 300, 280 300, 280 80, 80 80, 80 300))")
+ .test();
+ }
+ public void test6() throws Exception {
+ new BufferValidator(
+ 10,
+ "POLYGON ((60 300, 60 160, 240 160, 240 300, 60 300))")
+ .test();
+ }
+ public void test7() throws Exception {
+ new BufferValidator(
+ 10,
+ "POLYGON ((80 300, 280 300, 280 80, 80 80, 80 300), (260 280, 180 200, 100 280, 100 100, 260 100, 260 280))")
+ .test();
+ }
+ public void test8() throws Exception {
+ new BufferValidator(
+ 200,
+ "POLYGON ((80 300, 280 300, 280 80, 80 80, 80 300), (260 280, 180 200, 100 280, 100 100, 260 100, 260 280))")
+ .test();
+ }
+ public void test9() throws Exception {
+ new BufferValidator(
+ -10,
+ "POLYGON ((80 300, 280 300, 280 80, 80 80, 80 300))")
+ .test();
+ }
+ public void test10() throws Exception {
+ new BufferValidator(
+ 10,
+ "POLYGON ((100 300, 300 300, 300 100, 100 100, 100 300), (220 220, 180 220, 180 180, 220 180, 220 220))")
+ .test();
+ }
+ public void test11() throws Exception {
+ new BufferValidator(
+ 5,
+ "POLYGON ((260 400, 220 300, 80 300, 180 220, 40 200, 180 160, 60 20, 200 80, 280 20, 260 140, 440 20, 340 180, 520 160, 280 220, 460 340, 300 300, 260 400), (260 320, 240 260, 220 220, 160 180, 220 160, 200 100, 260 160, 300 140, 320 180, 260 200, 260 320))")
+ .test();
+ }
+ public void test12() throws Exception {
+ new BufferValidator(
+ -17,
+ "POLYGON ((260 320, 240 260, 220 220, 160 180, 220 160, 260 160, 260 200, 260 320))")
+ .test();
+ }
+ public void test13() throws Exception {
+ new BufferValidator(
+ -17,
+ "POLYGON ((260 320, 240 260, 220 220, 260 160, 260 320))")
+ .test();
+ }
+ public void test14() throws Exception {
+ new BufferValidator(
+ -14,
+ "POLYGON ((260 320, 240 260, 220 220, 260 160, 260 320))")
+ .test();
+ }
+ public void test15() throws Exception {
+ new BufferValidator(
+ 26,
+ "LINESTRING (260 160, 260 200, 260 320, 240 260, 220 220)")
+ .test();
+ }
+ public void test16() throws Exception {
+ new BufferValidator(
+ -7,
+ "POLYGON ((260 400, 220 300, 80 300, 180 220, 40 200, 180 160, 60 20, 200 80, 280 20, 260 140, 440 20, 340 180, 520 160, 280 220, 460 340, 300 300, 260 400), (260 320, 240 260, 220 220, 160 180, 220 160, 200 100, 260 160, 300 140, 320 180, 260 200, 260 320))")
+ .test();
+ }
+ public void test17() throws Exception {
+ new BufferValidator(
+ -183,
+ "POLYGON ((32 136, 27 163, 30 236, 34 252, 49 291, 72 326, 83 339, 116 369, 155 391, 176 400, 219 414, 264 417, 279 416, 339 401, 353 395, 380 381, 394 372, 441 328, 458 303, 463 294, 480 251, 486 205, 486 183, 473 115, 469 105, 460 85, 454 74, 423 33, 382 2, 373 -3, 336 -19, 319 -24, 275 -31, 252 -32, 203 -27, 190 -24, 149 -10, 139 -5, 84 37, 76 46, 52 81, 36 121, 32 136))")
+ .test();
+ }
+ public void test18() throws Exception {
+ new BufferValidator(
+ 20,
+ "POLYGON((-4 225, -17 221, -16 223, -15 224, -13 227, -4 225))")
+ .test();
+ }
+ public void test19() throws Exception {
+ new BufferValidator(
+ 21,
+ "POLYGON ((184 369, 181 368, 180 368, 179 367, 176 366, 185 357, 184 369 ))")
+ .test();
+ }
+ public void test20() throws Exception {
+ new BufferValidator(
+ 1000,
+ "POLYGON ((13841 1031, 13851 903, 13853 885, 13853 875, 13856 862, 13859 831, 13670 900, 13841 1031))")
+ .test();
+ }
+ public void test21() throws Exception {
+ new BufferValidator(
+ 18,
+ "POLYGON ((164 84, 185 91, 190 75, 187 76, 182 77, 179 79, 178 79, 174 81, 173 81, 172 82, 169 83, 164 84 ))")
+ .test();
+ }
+ public void test22() throws Exception {
+ new BufferValidator(
+ 15,
+ "POLYGON ((224 271, 225 261, 214 258, 210 266, 212 267, 214 267, 217 268, 218 268, 219 268, 221 269, 222 270, 224 271 ))")
+ .test();
+ }
+ public void test23() throws Exception {
+ new BufferValidator(
+ 25,
+ "POLYGON ((484 76, 474 79, 492 122, 502 119, 501 117, 500 112, 499 111, 498 107, 497 104, 496 103, 494 98, 493 96, 491 92, 490 90, 489 86, 487 81, 486 79, 485 77, 484 76 ))")
+ .test();
+ }
+ public void test24() throws Exception {
+ new BufferValidator(
+ 160,
+ "POLYGON ((20 60, 20 20, 240 20, 40 21, 240 22, 40 22, 240 23, 240 60, 20 60))")
+ .test();
+ }
+ public void test25() throws Exception {
+ new BufferValidator(
+ -3,
+ "POLYGON ((233 195, 232 195, 231 194, 222 188, 226 187, 227 187, 229 187, 230 186, 232 186, 234 185, 236 184, 237 183, 238 182, 237 184, 236 185, 236 186, 235 187, 235 188, 234 189, 234 191, 234 192, 233 193, 233 195 ))")
+ .test();
+ }
+ public void test26() throws Exception {
+ new BufferValidator(
+ 6,
+ "LINESTRING (233 195, 232 195, 231 194, 222 188, 226 187, 227 187, 229 187, 230 186, 232 186, 234 185, 236 184, 237 183, 238 182, 237 184, 236 185, 236 186, 235 187, 235 188, 234 189, 234 191, 234 192, 233 193, 233 195 )")
+ .test();
+ }
+ public void test27() throws Exception {
+ new BufferValidator(
+ -30,
+ "POLYGON ((2330 1950, 2320 1950, 2310 1940, 2220 1880, 2260 1870, 2270 1870, 2290 1870, 2300 1860, 2320 1860, 2340 1850, 2360 1840, 2370 1830, 2380 1820, 2370 1840, 2360 1850, 2360 1860, 2350 1870, 2350 1880, 2340 1890, 2340 1910, 2340 1920, 2330 1930, 2330 1950 ))")
+ .test();
+ }
+ public void test28() throws Exception {
+ new BufferValidator(
+ 30,
+ "LINESTRING (2330 1950, 2320 1950, 2310 1940, 2220 1880, 2260 1870, 2270 1870, 2290 1870, 2300 1860, 2320 1860, 2340 1850, 2360 1840, 2370 1830, 2380 1820, 2370 1840, 2360 1850, 2360 1860, 2350 1870, 2350 1880, 2340 1890, 2340 1910, 2340 1920, 2330 1930, 2330 1950 )")
+ .test();
+ }
+ public void test29() throws Exception {
+ new BufferValidator(
+ 26,
+ "POLYGON ((440 -93, 440 -67, 475 -67, 471 -71, 469 -72, 468 -73, 467 -74, 463 -78, 459 -81, 458 -82, 454 -84, 453 -85, 452 -86, 450 -86, 449 -87, 448 -88, 444 -90, 443 -91, 441 -92, 440 -93 ))")
+ .test();
+ }
+ public void test30() throws Exception {
+ new BufferValidator(
+ 260,
+ "POLYGON ((4400 -930, 4400 -670, 4750 -670, 4710 -710, 4690 -720, 4680 -730, 4670 -740, 4630 -780, 4590 -810, 4580 -820, 4540 -840, 4530 -850, 4520 -860, 4500 -860, 4490 -870, 4480 -880, 4440 -900, 4430 -910, 4410 -920, 4400 -930 ))")
+ .test();
+ }
+ public void test31() throws Exception {
+ new BufferValidator(
+ 0.1,
+ "POLYGON ((635074.6769928858 6184832.427381967, 635075.6723193424 6184799.950949265, 634717.5983159657 6184655.107092909, 634701.0176852546 6184648.498845058, 634697.7188197445 6184647.20632975, 634694.416887708 6184645.922033237, 634691.1138635761 6184644.642692243, 634687.8077729489 6184643.371570057, 634684.498667351 6184642.107006015, 634681.1875340013 6184640.847368483, 634677.8742698929 6184639.595978798, 634674.5570551592 6184638.351118257, 634671.2386969016 6184637.11287392 [...]
+ .test();
+ }
+ public void test32() throws Exception {
+ new BufferValidator(
+ 30,
+ "MULTILINESTRING ((80 285, 85.5939933259177 234.65406006674084 ), (85.5939933259177 234.65406006674084, 98 123, 294 92, 344.3694502052736 126.0884157954882 ), (344.3694502052736 126.0884157954882, 393 159 ), (51 235, 85.5939933259177 234.65406006674084 ), (85.5939933259177 234.65406006674084, 251 233, 344.3694502052736 126.0884157954882 ), (344.3694502052736 126.0884157954882, 382 83 ))")
+ .test();
+ }
+ public void test33() throws Exception {
+ //Get side location conflict in #contains, but the geometry is invalid
+ // [Jon Aquino 10/29/2003]
+ // new BufferValidator(.0001, new
+ // PrecisionModel(PrecisionModel.FLOATING_SINGLE), "MULTIPOLYGON
+ // (((708258.754920656
+ // 2402197.91172757, 708257.029447455 2402206.56901508, 708652.961095455
+ // 2402312.65463437, 708657.068786251 2402304.6356364, 708258.754920656
+ // 2402197.91172757 )), ((708653.498611049 2402311.54647056,
+ // 708708.895756966 2402203.47250014, 708280.326454234 2402089.6337791,
+ // 708247.896591321 2402252.48269854, 708367.379593851 2402324.00761653,
+ // 708248.882609455 2402253.07294874, 708249.523621829 2402244.3124463,
+ // 708261.854734465 2402182.39086576, 708262.818392579 2402183.35452387,
+ // 708653.498611049 2402311.54647056 )))")
+ // .test();
+ }
+ public void test34() throws Exception {
+ new BufferValidator(
+ 1,
+ "GEOMETRYCOLLECTION (POLYGON ((0 10, 10 0, 10 10, 0 10), (4 8, 8 4, 8 8, 4 8)), LINESTRING (6 6, 20 20))")
+ .test();
+ }
+ public void test35() throws Exception {
+ new BufferValidator(
+ 20,
+ "GEOMETRYCOLLECTION (POINT (100 100), POLYGON ((400 260, 280 380, 240 220, 120 300, 120 100, 260 40, 200 160, 400 260)), LINESTRING (260 400, 220 280, 120 400, 20 280, 160 160, 60 40, 160 20, 360 140))")
+ .test();
+ }
+ public void test36() throws Exception {
+ new BufferValidator(
+ 20,
+ "GEOMETRYCOLLECTION (POINT (100 100), POLYGON ((400 260, 120 300, 120 100, 400 260)), LINESTRING (20 280, 160 160, 60 40))")
+ .test();
+ }
+ public void test37() throws Exception {
+ new BufferValidator(
+ 300,
+ "POLYGON ((-140 700, 880 1120, 1280 -120, 300 -600, -480 -480, -140 700), (0 360, 780 500, 240 -220, 0 360))")
+ .test();
+ }
+ public void test38() throws Exception {
+ new BufferValidator(
+ 300,
+ "POLYGON ((-140 700, 880 1120, 1280 -120, 300 -600, -480 -480, -140 700), (0 360, 240 -220, 780 500, 0 360))")
+ .test();
+ }
+ public void test39() throws Exception {
+ new BufferValidator(
+ 30,
+ "MULTIPOLYGON (((0 400, 440 400, 440 0, 0 0, 0 400),(380 360, 160 120, 260 80, 380 360)), ((360 320, 200 120, 240 100, 360 320)))")
+ .test();
+ }
+
+ public void testFloatingPrecision1() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (331771 5530174, 331776 5530175, 331782 5530177, 331787 5530177, 331791 5530178, 331796 5530178, 331800 5530178, 331805 5530177, 331811 5530176, 331817 5530175, 331823 5530173, 331828 5530171, 331832 5530169, 331835 5530167, 331839 5530163, 331843 5530160, 331846 5530157, 331849 5530154, 331853 5530150, 331855 5530145, 331857 5530141)")
+ .test();
+ }
+ public void testFloatingPrecision2() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (317091 5557033, 317079 5557042, 317067 5557053, 317055 5557065, 317045 5557078, 317037 5557091, 317029 5557098, 317016 5557108, 317002 5557118, 316990 5557129, 316986 5557131, 316978 5557133, 316968 5557133, 316965 5557131, 316954 5557120, 316952 5557115, 316951 5557108, 316949 5557092, 316948 5557076, 316946 5557063, 316944 5557057, 316937 5557042, 316924 5557029, 316911 5557019, 316896 5557009, 316881 5557001, 316865 5556997, 316849 5556992, 316834 5556988, 316817 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision3() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (300181 5547255, 300183 5547252, 300203 5547253, 300209 5547261, 300237 5547277, 300262 5547286, 300280 5547292, 300288 5547297, 300293 5547303, 300297 5547311, 300299 5547319, 300299 5547334, 300306 5547349, 300320 5547367)")
+ .test();
+ }
+ public void testFloatingPrecision4() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (301546 5537924, 301547 5537922, 301551 5537919, 301555 5537919, 301559 5537918, 301565 5537918, 301569 5537917, 301573 5537915, 301580 5537912, 301583 5537909, 301587 5537906, 301594 5537900, 301598 5537897, 301601 5537893, 301605 5537889, 301608 5537885, 301609 5537880, 301612 5537876, 301614 5537873, 301616 5537869, 301620 5537865, 301624 5537860, 301632 5537852, 301640 5537842, 301643 5537836, 301644 5537829, 301644 5537822, 301646 5537815, 301647 5537808, 301650 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision5() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (334797 5560136, 334781 5560129, 334777 5560128, 334762 5560122, 334760 5560121, 334752 5560116, 334745 5560109, 334742 5560103, 334741 5560098, 334736 5560087, 334731 5560082, 334726 5560081, 334708 5560072, 334691 5560063, 334674 5560052, 334660 5560048, 334655 5560048, 334633 5560049, 334621 5560046, 334616 5560043, 334596 5560034, 334586 5560025, 334573 5560009, 334562 5559982, 334549 5559943, 334543 5559923, 334538 5559905, 334535 5559887, 334530 5559869, 334536 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision6() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (316640 5563099, 316639 5563114, 316642 5563132, 316644 5563137, 316650 5563144, 316653 5563147, 316663 5563159, 316665 5563164, 316667 5563172, 316667 5563193, 316668 5563209, 316672 5563214, 316678 5563228, 316679 5563230, 316679 5563236, 316678 5563252, 316676 5563256, 316671 5563270, 316669 5563289, 316667 5563304, 316666 5563308, 316656 5563323, 316646 5563336, 316639 5563347)")
+ .test();
+ }
+ public void testFloatingPrecision7() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (301178 5534835, 301189 5534837, 301218 5534837, 301229 5534836, 301237 5534836, 301245 5534838, 301268 5534838, 301273 5534837, 301279 5534838, 301286 5534838, 301289 5534839, 301296 5534842, 301302 5534844, 301306 5534846, 301309 5534850, 301313 5534853, 301316 5534856, 301319 5534868, 301320 5534873, 301323 5534877, 301326 5534882, 301334 5534896, 301340 5534902, 301344 5534908, 301348 5534913, 301352 5534919, 301357 5534925, 301363 5534932, 301369 5534937, 301375 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision8() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (303722 5533544, 303713 5533542, 303706 5533539, 303697 5533537, 303694 5533534, 303677 5533527, 303673 5533525, 303670 5533524, 303669 5533523, 303664 5533519, 303654 5533513, 303647 5533507, 303644 5533506, 303634 5533504, 303633 5533504, 303627 5533502)")
+ .test();
+ }
+ public void testFloatingPrecision9() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (309969 5563538, 309955 5563542, 309941 5563548, 309913 5563562, 309896 5563569, 309883 5563576, 309868 5563586, 309855 5563594, 309841 5563603, 309830 5563614, 309818 5563624, 309805 5563635, 309791 5563645, 309778 5563654, 309766 5563663, 309752 5563672, 309722 5563692, 309709 5563699, 309681 5563713, 309667 5563721, 309651 5563728, 309631 5563734, 309615 5563739, 309602 5563747, 309589 5563756, 309578 5563766, 309566 5563775, 309554 5563785, 309542 5563796, 309538 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision10() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (299331 5536963, 299335 5536956, 299335 5536953, 299336 5536949, 299338 5536942, 299345 5536933, 299349 5536927, 299352 5536924, 299358 5536922, 299364 5536919, 299369 5536916, 299375 5536912, 299380 5536908, 299387 5536905, 299391 5536904, 299395 5536902, 299399 5536899, 299402 5536896, 299405 5536892, 299415 5536886, 299425 5536882, 299435 5536880, 299449 5536874, 299455 5536869, 299461 5536865, 299468 5536862, 299474 5536859, 299480 5536855, 299491 5536846, 299497 55 [...]
+ .test();
+ }
+ public void testFloatingPrecision11() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (325089 5534737, 325089 5534733, 325093 5534723, 325099 5534718, 325118 5534712, 325129 5534709, 325147 5534709, 325164 5534732, 325164 5534740, 325162 5534746, 325159 5534749, 325144 5534760, 325143 5534763, 325145 5534782, 325162 5534800, 325184 5534812, 325187 5534815, 325190 5534831, 325196 5534852, 325205 5534867, 325214 5534876, 325219 5534878, 325239 5534880, 325251 5534890, 325259 5534892, 325282 5534887, 325294 5534883, 325314 5534864)")
+ .test();
+ }
+ public void testFloatingPrecision12() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (307468 5557827, 307467 5557842, 307466 5557854, 307463 5557874, 307459 5557889, 307454 5557902, 307447 5557922, 307440 5557944, 307428 5557965, 307417 5557986, 307411 5557996, 307404 5558020, 307398 5558031, 307390 5558056, 307387 5558066, 307384 5558084, 307383 5558093, 307385 5558102, 307389 5558110, 307394 5558116, 307404 5558121, 307421 5558122, 307443 5558121, 307464 5558127, 307486 5558133, 307502 5558142, 307508 5558150)")
+ .test();
+ }
+ public void testFloatingPrecision13() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (301395 5535820, 301412 5535803, 301416 5535798, 301420 5535786, 301423 5535782, 301427 5535778, 301432 5535771, 301437 5535768, 301444 5535763, 301447 5535760, 301452 5535757, 301459 5535754, 301462 5535753, 301468 5535750, 301473 5535747, 301481 5535742, 301487 5535739, 301494 5535734, 301499 5535730, 301508 5535725, 301514 5535721, 301521 5535716, 301527 5535714, 301533 5535711, 301538 5535707, 301542 5535703, 301554 5535693, 301559 5535688, 301563 5535681)")
+ .test();
+ }
+ public void testFloatingPrecision14() throws Exception {
+ new BufferValidator(
+ 100,
+ "LINESTRING (331384 5535032, 331397 5535031, 331415 5535025, 331426 5535022, 331436 5535016, 331451 5534999, 331460 5534994, 331468 5534993, 331474 5534996, 331479 5535001, 331482 5535015, 331486 5535019, 331493 5535018, 331504 5535011, 331508 5535011, 331519 5535022, 331526 5535023, 331542 5535019, 331547 5535016, 331549 5534994, 331558 5534975, 331562 5534968, 331565 5534966, 331571 5534967, 331575 5534970, 331576 5534978, 331575 5534987, 331568 5535005, 331564 5535022, 331565 55 [...]
+ .test();
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferValidator.java b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferValidator.java
new file mode 100644
index 0000000..ccba1e8
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/BufferValidator.java
@@ -0,0 +1,266 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+import org.locationtech.jts.util.StringUtil;
+
+import junit.framework.Assert;
+
+
+/**
+ * @version 1.7
+ */
+public class BufferValidator
+{
+
+
+ public static void main(String[] args) throws Exception {
+ Geometry g =
+ new WKTReader().read(
+ "MULTILINESTRING (( 635074.5418406526 6184832.4888257105, 635074.5681951842 6184832.571842485, 635074.6472587794 6184832.575795664 ), ( 635074.6657069515 6184832.53889932, 635074.6933792098 6184832.451929366, 635074.5642420045 6184832.474330718 ))");
+ //System.out.println(g);
+ //System.out.println(g.buffer(0.01, 100));
+ //System.out.println("END");
+ }
+
+
+ private static abstract class Test implements Comparable {
+ private String name;
+ public Test(String name) {
+ this(name, 2);
+ }
+ public Test(String name, int priority) {
+ this.name = name;
+ this.priority = priority;
+ }
+ public String getName() {
+ return name;
+ }
+ public String toString() {
+ return getName();
+ }
+ public abstract void test() throws Exception;
+ private int priority;
+ public int compareTo(Object o) {
+ return priority - ((Test) o).priority;
+ }
+ }
+
+ private Geometry original;
+ private double bufferDistance;
+ private Map nameToTestMap = new HashMap();
+ private Geometry buffer;
+ private static final int QUADRANT_SEGMENTS_1 = 100;
+ private static final int QUADRANT_SEGMENTS_2 = 50;
+ private String wkt;
+ private GeometryFactory geomFact = new GeometryFactory();
+ private WKTWriter wktWriter = new WKTWriter();
+ private WKTReader wktReader;
+
+
+ public BufferValidator(double bufferDistance, String wkt)
+ throws ParseException {
+ this(bufferDistance, wkt, true);
+ }
+
+ public BufferValidator(double bufferDistance, String wkt, boolean addContainsTest)
+ throws ParseException {
+ // SRID = 888 is to test that SRID is preserved in computed buffers
+ setFactory(new PrecisionModel(), 888);
+ this.bufferDistance = bufferDistance;
+ this.wkt = wkt;
+ if (addContainsTest) addContainsTest();
+ //addBufferResultValidatorTest();
+ }
+
+
+ public void test() throws Exception {
+ try {
+ Collection tests = nameToTestMap.values();
+ for (Iterator i = tests.iterator();
+ i.hasNext();
+ ) {
+ Test test = (Test) i.next();
+ test.test();
+ }
+ } catch (Exception e) {
+ throw new Exception(
+ supplement(e.toString()) + StringUtil.getStackTrace(e));
+ }
+ }
+ private String supplement(String message) throws ParseException {
+ String newMessage = "\n" + message + "\n";
+ newMessage += "Original: " + wktWriter.writeFormatted(getOriginal()) + "\n";
+ newMessage += "Buffer Distance: " + bufferDistance + "\n";
+ newMessage += "Buffer: " + wktWriter.writeFormatted(getBuffer()) + "\n";
+ return newMessage.substring(0, newMessage.length() - 1);
+ }
+
+ private BufferValidator addTest(Test test) {
+ nameToTestMap.put(test.getName(), test);
+ return this;
+ }
+ public BufferValidator setExpectedArea(final double expectedArea) {
+ return addTest(new Test("Area Test") {
+ public void test() throws Exception {
+ double tolerance =
+ Math.abs(
+ getBuffer().getArea()
+ - getOriginal()
+ .buffer(
+ bufferDistance,
+ QUADRANT_SEGMENTS_1 - QUADRANT_SEGMENTS_2)
+ .getArea());
+ Assert.assertEquals(
+ getName(),
+ expectedArea,
+ getBuffer().getArea(),
+ tolerance);
+ }
+ });
+ }
+
+ public BufferValidator setEmptyBufferExpected(final boolean emptyBufferExpected) {
+ return addTest(new Test("Empty Buffer Test", 1) {
+ public void test() throws Exception {
+ Assert.assertTrue(
+ supplement(
+ "Expected buffer "
+ + (emptyBufferExpected ? "" : "not ")
+ + "to be empty"),
+ emptyBufferExpected == getBuffer().isEmpty());
+ }
+ });
+ }
+
+ public BufferValidator setBufferHolesExpected(final boolean bufferHolesExpected) {
+ return addTest(new Test("Buffer Holes Test") {
+ public void test() throws Exception {
+ Assert.assertTrue(
+ supplement(
+ "Expected buffer "
+ + (bufferHolesExpected ? "" : "not ")
+ + "to have holes"),
+ hasHoles(getBuffer()) == bufferHolesExpected);
+ }
+ private boolean hasHoles(Geometry buffer) {
+ if (buffer.isEmpty()) {
+ return false;
+ }
+ if (buffer instanceof Polygon) {
+ return ((Polygon) buffer).getNumInteriorRing() > 0;
+ }
+ MultiPolygon multiPolygon = (MultiPolygon) buffer;
+ for (int i = 0; i < multiPolygon.getNumGeometries(); i++) {
+ if (hasHoles(multiPolygon.getGeometryN(i))) {
+ return true;
+ }
+ }
+ return false;
+ }
+ });
+ }
+
+ private Geometry getOriginal() throws ParseException {
+ if (original == null) {
+ original = wktReader.read(wkt);
+ }
+ return original;
+ }
+
+
+ public BufferValidator setPrecisionModel(PrecisionModel precisionModel) {
+ wktReader = new WKTReader(new GeometryFactory(precisionModel));
+ return this;
+ }
+
+ public BufferValidator setFactory(PrecisionModel precisionModel, int srid) {
+ wktReader = new WKTReader(new GeometryFactory(precisionModel, srid));
+ return this;
+ }
+
+ private Geometry getBuffer() throws ParseException {
+ if (buffer == null) {
+ buffer = getOriginal().buffer(bufferDistance, QUADRANT_SEGMENTS_1);
+ if (getBuffer().getClass() == GeometryCollection.class && getBuffer().isEmpty()) {
+ try {
+ //#contains doesn't work with GeometryCollections [Jon Aquino
+ // 10/29/2003]
+ buffer = wktReader.read("POINT EMPTY");
+ } catch (ParseException e) {
+ org.locationtech.jts.util.Assert.shouldNeverReachHere();
+ }
+ }
+ }
+ return buffer;
+ }
+
+ private void addContainsTest() {
+ addTest(new Test("Contains Test") {
+ public void test() throws Exception {
+ if (getOriginal().getClass() == GeometryCollection.class) {
+ return;
+ }
+ org.locationtech.jts.util.Assert.isTrue(getOriginal().isValid());
+ if (bufferDistance > 0) {
+ Assert.assertTrue(
+ supplement("Expected buffer to contain original"),
+ contains(getBuffer(), getOriginal()));
+ } else {
+ Assert.assertTrue(
+ supplement("Expected original to contain buffer"),
+ contains(getOriginal(), getBuffer()));
+ }
+ }
+ private boolean contains(Geometry a, Geometry b) {
+ //JTS doesn't currently handle empty geometries correctly [Jon Aquino
+ // 10/29/2003]
+ if (b.isEmpty()) {
+ return true;
+ }
+ boolean isContained = a.contains(b);
+ return isContained;
+ }
+ });
+ }
+
+ private void addBufferResultValidatorTest() {
+ addTest(new Test("BufferResultValidator Test") {
+ public void test() throws Exception {
+ if (getOriginal().getClass() == GeometryCollection.class) {
+ return;
+ }
+
+ Assert.assertTrue(
+ supplement("BufferResultValidator failure"),
+ BufferResultValidator.isValid(getOriginal(), bufferDistance, getBuffer()));
+ }
+ });
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/buffer/DepthSegmentTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/DepthSegmentTest.java
new file mode 100644
index 0000000..9b312bb
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/buffer/DepthSegmentTest.java
@@ -0,0 +1,62 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.buffer;
+
+import org.locationtech.jts.geom.LineSegment;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * @version 1.7
+ */
+public class DepthSegmentTest extends TestCase {
+
+ public DepthSegmentTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(DepthSegmentTest.class);
+ }
+
+ public void testContractTipToTail() throws Exception
+ {
+ SubgraphDepthLocater.DepthSegment ds0 = depthSeg(0.7, 0.2, 1.4, 0.9);
+ SubgraphDepthLocater.DepthSegment ds1 = depthSeg(0.3, 1.1, 0.7, 0.2);
+ checkContract(ds0, ds1);
+ }
+
+ public void testContract2() throws Exception
+ {
+ SubgraphDepthLocater.DepthSegment ds0 = depthSeg(0.1, 1.9, 0.5, 1.0);
+ SubgraphDepthLocater.DepthSegment ds1 = depthSeg(1.0, 0.9, 1.9, 1.4);
+ checkContract(ds0, ds1);
+ }
+
+ private void checkContract(
+ SubgraphDepthLocater.DepthSegment ds0,
+ SubgraphDepthLocater.DepthSegment ds1) {
+ // should never have ds1 < ds2 && ds2 < ds1
+ int cmp0 = ds0.compareTo(ds1);
+ int cmp1 = ds1.compareTo(ds0);
+ boolean isFail = cmp0 != 0 && cmp0 == cmp1;
+ assertTrue(! isFail);
+ }
+
+ private SubgraphDepthLocater.DepthSegment depthSeg(double x0, double y0, double x1, double y1) {
+ return new SubgraphDepthLocater.DepthSegment(new LineSegment(x0,y0,x1,y1), 0);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/distance/DistanceTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/distance/DistanceTest.java
new file mode 100644
index 0000000..a85d22c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/distance/DistanceTest.java
@@ -0,0 +1,100 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class DistanceTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel(1);
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(DistanceTest.class);
+ }
+
+ public DistanceTest(String name) { super(name); }
+
+ public void testDisjointCollinearSegments() throws Exception {
+ Geometry g1 = reader.read("LINESTRING (0.0 0.0, 9.9 1.4)");
+ Geometry g2 = reader.read("LINESTRING (11.88 1.68, 21.78 3.08)");
+ assertEquals(2.23606, g1.distance(g2), 0.0001);
+ }
+
+ public void testEverything() throws Exception {
+ Geometry g1 = reader.read("POLYGON ((40 320, 200 380, 320 80, 40 40, 40 320), (180 280, 80 280, 100 100, 220 140, 180 280))");
+ Geometry g2 = reader.read("POLYGON ((160 240, 120 240, 120 160, 160 140, 160 240))");
+ assertEquals(18.97366596, g1.distance(g2), 1E-5);
+
+ g2 = reader.read("POLYGON ((160 240, 120 240, 120 160, 180 100, 160 240))");
+ assertEquals(0.0, g1.distance(g2), 1E-5);
+
+ LineString l1 = (LineString) reader.read("LINESTRING(10 10, 20 20, 30 40)");
+ LineString l2 = (LineString) reader.read("LINESTRING(10 10, 20 20, 30 40)");
+ assertEquals(0.0, l1.distance(l2), 1E-5);
+ }
+
+ public void testEmpty() throws Exception {
+ Geometry g1 = reader.read("POINT (0 0)");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ assertEquals(0.0, g1.distance(g2), 0.0);
+ }
+
+ public void testClosestPoints1() throws Exception {
+ doNearestPointsTest("POLYGON ((200 180, 60 140, 60 260, 200 180))", "POINT (140 280)", 57.05597791103589, new Coordinate(111.6923076923077, 230.46153846153845), new Coordinate(140, 280));
+ }
+ public void testClosestPoints2() throws Exception {
+ doNearestPointsTest("POLYGON ((200 180, 60 140, 60 260, 200 180))", "MULTIPOINT ((140 280), (140 320))", 57.05597791103589, new Coordinate(111.6923076923077, 230.46153846153845), new Coordinate(140, 280));
+ }
+ public void testClosestPoints3() throws Exception {
+ doNearestPointsTest("LINESTRING (100 100, 200 100, 200 200, 100 200, 100 100)", "POINT (10 10)", 127.27922061357856, new Coordinate(100, 100), new Coordinate(10, 10));
+ }
+ public void testClosestPoints4() throws Exception {
+ doNearestPointsTest("LINESTRING (100 100, 200 200)", "LINESTRING (100 200, 200 100)", 0.0, new Coordinate(150, 150), new Coordinate(150, 150));
+ }
+ public void testClosestPoints5() throws Exception {
+ doNearestPointsTest("LINESTRING (100 100, 200 200)", "LINESTRING (150 121, 200 0)", 20.506096654409877, new Coordinate(135.5, 135.5), new Coordinate(150, 121));
+ }
+ public void testClosestPoints6() throws Exception {
+ doNearestPointsTest("POLYGON ((76 185, 125 283, 331 276, 324 122, 177 70, 184 155, 69 123, 76 185), (267 237, 148 248, 135 185, 223 189, 251 151, 286 183, 267 237))", "LINESTRING (153 204, 185 224, 209 207, 238 222, 254 186)", 13.788860460124573, new Coordinate(139.4956500724988, 206.78661188980183), new Coordinate(153, 204));
+ }
+ public void testClosestPoints7() throws Exception {
+ doNearestPointsTest("POLYGON ((76 185, 125 283, 331 276, 324 122, 177 70, 184 155, 69 123, 76 185), (267 237, 148 248, 135 185, 223 189, 251 151, 286 183, 267 237))", "LINESTRING (120 215, 185 224, 209 207, 238 222, 254 186)", 0.0, new Coordinate(120, 215), new Coordinate(120, 215));
+ }
+
+ private void doNearestPointsTest(String wkt0, String wkt1, double distance,
+ Coordinate p0, Coordinate p1) throws ParseException {
+ DistanceOp op = new DistanceOp(new WKTReader().read(wkt0), new WKTReader().read(wkt1));
+ double tolerance = 1E-10;
+ assertEquals(distance, op.nearestPoints()[0].distance(op.nearestPoints()[1]), tolerance);
+ assertEquals(p0.x, op.nearestPoints()[0].x, tolerance);
+ assertEquals(p0.y, op.nearestPoints()[0].y, tolerance);
+ assertEquals(p1.x, op.nearestPoints()[1].x, tolerance);
+ assertEquals(p1.y, op.nearestPoints()[1].y, tolerance);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/Distance3DOpTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/Distance3DOpTest.java
new file mode 100644
index 0000000..f5e0f39
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/Distance3DOpTest.java
@@ -0,0 +1,381 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance3d;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class Distance3DOpTest extends TestCase
+{
+ static GeometryFactory geomFact = new GeometryFactory();
+ static WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(Distance3DOpTest.class);
+ }
+
+ public Distance3DOpTest(String name) {
+ super(name);
+ }
+
+ /*
+ public void testTest()
+ {
+ checkDistance( "LINESTRING (250 250 0, 260 260 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 70.71067811865476);
+
+ testLinePolygonFlat();
+ }
+ */
+
+ public void testEmpty()
+ {
+ checkDistance( "POINT EMPTY", "POINT EMPTY", 0);
+ checkDistance( "LINESTRING EMPTY", "POINT (0 0 0)", 0);
+ checkDistance( "MULTILINESTRING EMPTY", "POLYGON EMPTY", 0);
+ checkDistance( "MULTIPOLYGON EMPTY", "POINT (0 0 0)", 0);
+ }
+
+ public void testPartiallyEmpty()
+ {
+ checkDistance( "GEOMETRYCOLLECTION( MULTIPOINT (0 0 0), POLYGON EMPTY)", "POINT (0 1 0)", 1);
+ checkDistance( "GEOMETRYCOLLECTION( MULTIPOINT (11 11 0), POLYGON EMPTY)",
+ "GEOMETRYCOLLECTION( MULTIPOINT EMPTY, LINESTRING (10 10 0, 10 20 0 ))",
+ 1);
+ }
+
+ public void testPointPointFlat() {
+ checkDistance( "POINT (10 10 0 )",
+ "POINT (20 20 0 )",
+ 14.1421356);
+ checkDistance( "POINT (10 10 0 )",
+ "POINT (20 20 0 )",
+ 14.1421356);
+ }
+
+ public void testPointPoint() {
+ checkDistance( "POINT (0 0 0 )",
+ "POINT (0 0 1 )",
+ 1);
+ checkDistance( "POINT (10 10 1 )",
+ "POINT (11 11 2 )",
+ 1.7320508075688772);
+ checkDistance( "POINT (10 10 0 )",
+ "POINT (10 20 10 )",
+ 14.142135623730951);
+ }
+
+ public void testPointSegFlat() {
+ checkDistance( "LINESTRING (10 10 0, 10 20 0 )",
+ "POINT (20 15 0 )",
+ 10);
+ }
+
+ public void testPointSeg() {
+ checkDistance( "LINESTRING (0 0 0, 10 10 10 )",
+ "POINT (5 5 5 )",
+ 0);
+ checkDistance( "LINESTRING (10 10 10, 20 20 20 )",
+ "POINT (11 11 10 )",
+ 0.816496580927726);
+ }
+
+ public void testPointSegRobust() {
+ checkDistance( "LINESTRING (0 0 0, 10000000 10000000 1 )",
+ "POINT (9999999 9999999 .9999999 )",
+ 0 );
+ checkDistance( "LINESTRING (0 0 0, 10000000 10000000 1 )",
+ "POINT (5000000 5000000 .5 )",
+ 0 );
+ }
+
+ public void testCrossSegmentsFlat() {
+ checkDistance( "LINESTRING (0 0 0, 10 10 0 )",
+ "LINESTRING (10 0 0, 0 10 0 )",
+ 0);
+ checkDistance( "LINESTRING (0 0 10, 30 10 10 )",
+ "LINESTRING (10 0 10, 0 10 10 )",
+ 0);
+ }
+
+ public void testCrossSegments() {
+ checkDistance( "LINESTRING (0 0 0, 10 10 0 )",
+ "LINESTRING (10 0 1, 0 10 1 )",
+ 1);
+ checkDistance( "LINESTRING (0 0 0, 20 20 0 )",
+ "LINESTRING (10 0 1, 0 10 1 )",
+ 1);
+ checkDistance( "LINESTRING (20 10 20, 10 20 10 )",
+ "LINESTRING (10 10 20, 20 20 10 )",
+ 0);
+ }
+
+ /**
+ * Many of these tests exhibit robustness errors
+ * due to numerical roundoff in the distance algorithm mathematics.
+ * This happens when computing nearly-coincident lines
+ * with very large ordinate values
+ */
+ public void testCrossSegmentsRobust() {
+ checkDistance( "LINESTRING (0 0 0, 10000000 10000000 1 )",
+ "LINESTRING (0 0 1, 10000000 10000000 0 )",
+ 0, 0.001); // expected is 0, but actual is larger
+
+ checkDistance( "LINESTRING (-10000 -10000 0, 10000 10000 1 )",
+ "LINESTRING (-10000 -10000 1, 10000 10000 0 )",
+ 0);
+
+ // previous case with X,Y scaled by 1000 - exposes robustness issue
+ checkDistance( "LINESTRING (-10000000 -10000000 0, 10000000 10000000 1 )",
+ "LINESTRING (-10000000 -10000000 1, 10000000 10000000 0 )",
+ 0, 0.02); // expected is 0, but actual is larger
+
+ // works because lines are orthogonal, so doesn't hit roundoff problems
+ checkDistance( "LINESTRING (20000000 10000000 20, 10000000 20000000 10 )",
+ "LINESTRING (10000000 10000000 20, 20000000 20000000 10 )",
+ 0);
+ }
+
+ public void testTSegmentsFlat() {
+ checkDistance( "LINESTRING (10 10 0, 10 20 0 )",
+ "LINESTRING (20 15 0, 25 15 0 )",
+ 10);
+ }
+
+ public void testParallelSegmentsFlat() {
+ checkDistance( "LINESTRING (10 10 0, 20 20 0 )",
+ "LINESTRING (10 20 0, 20 30 0 )",
+ 7.0710678118654755);
+ }
+
+ public void testParallelSegments() {
+ checkDistance( "LINESTRING (0 0 0, 1 0 0 )",
+ "LINESTRING (0 0 1, 1 0 1 )",
+ 1);
+ checkDistance( "LINESTRING (10 10 0, 20 10 0 )",
+ "LINESTRING (10 20 10, 20 20 10 )",
+ 14.142135623730951);
+ checkDistance( "LINESTRING (10 10 0, 20 20 0 )",
+ "LINESTRING (10 20 10, 20 30 10 )",
+ 12.24744871391589 );
+ // = distance from LINESTRING (10 10 0, 20 20 0 ) to POINT(10 20 10)
+ // = hypotenuse(7.0710678118654755, 10)
+ }
+
+ public void testLineLine()
+ {
+ checkDistance( "LINESTRING (0 1 2, 1 1 1, 1 0 2 )",
+ "LINESTRING (0 0 0.1, .5 .5 0, 1 1 0, 1.5 1.5 0, 2 2 0 )",
+ 1);
+ checkDistance( "LINESTRING (10 10 20, 20 20 30, 20 20 1, 30 30 5 )",
+ "LINESTRING (1 80 10, 0 39 5, 39 0 5, 80 1 20)",
+ 0.7071067811865476);
+ }
+
+ public void testPointPolygon()
+ {
+ // point above poly
+ checkDistance( "POINT (150 150 10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // point below poly
+ checkDistance( "POINT (150 150 -10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // point right of poly in YZ plane
+ checkDistance( "POINT (10 150 150)",
+ "POLYGON ((0 100 200, 0 200 200, 0 200 100, 0 100 100, 0 100 200))",
+ 10);
+ }
+
+ public void testPointPolygonFlat()
+ {
+ // inside
+ checkDistance( "POINT (150 150 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // outside
+ checkDistance( "POINT (250 250 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 70.71067811865476);
+ // on
+ checkDistance( "POINT (200 200 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ public void testLinePolygonFlat()
+ {
+ // line inside
+ checkDistance( "LINESTRING (150 150 0, 160 160 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // line outside
+ checkDistance( "LINESTRING (200 250 0, 260 260 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 50);
+ // line touching
+ checkDistance( "LINESTRING (200 200 0, 260 260 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ public void testLinePolygonSimple()
+ {
+ // line crossing inside
+ checkDistance( "LINESTRING (150 150 10, 150 150 -10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // vertical line above
+ checkDistance( "LINESTRING (200 200 10, 260 260 100)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // vertical line touching
+ checkDistance( "LINESTRING (200 200 0, 260 260 100)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ String polyHoleFlat = "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0), (120 180 0, 180 180 0, 180 120 0, 120 120 0, 120 180 0))";
+
+ public void testLinePolygonHoleFlat()
+ {
+ // line crossing hole
+ checkDistance( "LINESTRING (150 150 10, 150 150 -10)", polyHoleFlat, 30);
+ // line crossing interior
+ checkDistance( "LINESTRING (110 110 10, 110 110 -10)", polyHoleFlat, 0);
+ // vertical line above hole
+ checkDistance( "LINESTRING (130 130 10, 150 150 100)", polyHoleFlat, 14.14213562373095);
+ // vertical line touching hole
+ checkDistance( "LINESTRING (120 180 0, 120 180 100)", polyHoleFlat, 0);
+ }
+
+ public void testPointPolygonHoleFlat()
+ {
+ // point above poly hole
+ checkDistance( "POINT (130 130 10)", polyHoleFlat, 14.14213562373095);
+ // point below poly hole
+ checkDistance( "POINT (130 130 -10)", polyHoleFlat, 14.14213562373095);
+ // point above poly
+ checkDistance( "POINT (110 110 100)", polyHoleFlat, 100);
+ }
+
+ String poly2HoleFlat = "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0), (110 110 0, 110 130 0, 130 130 0, 130 110 0, 110 110 0), (190 110 0, 170 110 0, 170 130 0, 190 130 0, 190 110 0))";
+
+ /**
+ * A case proving that polygon/polygon distance requires
+ * computing distance between all rings, not just the shells.
+ */
+ public void testPolygonPolygonLinkedThruHoles()
+ {
+ // note distance is zero!
+ checkDistance(
+ // polygon with two holes
+ poly2HoleFlat,
+ // polygon parallel to XZ plane with shell passing through holes in other polygon
+ "POLYGON ((120 120 -10, 120 120 100, 180 120 100, 180 120 -10, 120 120 -10))",
+ 0);
+
+ // confirm that distance of simple poly boundary is non-zero
+ checkDistance(
+ // polygon with two holes
+ poly2HoleFlat,
+ // boundary of polygon parallel to XZ plane with shell passing through holes
+ "LINESTRING (120 120 -10, 120 120 100, 180 120 100, 180 120 -10, 120 120 -10)",
+ 10);
+ }
+
+
+ public void testMultiPoint()
+ {
+ checkDistance(
+ "MULTIPOINT ((0 0 0), (0 0 100), (100 100 100))",
+ "MULTIPOINT ((100 100 99), (50 50 50), (25 100 33))",
+ 1
+ );
+ }
+
+ public void testMultiLineString()
+ {
+ checkDistance(
+ "MULTILINESTRING ((0 0 0, 10 10 10), (0 0 100, 25 25 25, 40 40 50), (100 100 100, 100 101 102))",
+ "MULTILINESTRING ((100 100 99, 100 100 99), (100 102 102, 200 200 20), (25 100 33, 25 100 35))",
+ 1
+ );
+ }
+
+ public void testMultiPolygon()
+ {
+ checkDistance(
+ // Polygons parallel to XZ plane
+ "MULTIPOLYGON ( ((120 120 -10, 120 120 100, 180 120 100, 180 120 -10, 120 120 -10)), ((120 200 -10, 120 200 190, 180 200 190, 180 200 -10, 120 200 -10)) )",
+ // Polygons parallel to XY plane
+ "MULTIPOLYGON ( ((100 200 200, 200 200 200, 200 100 200, 100 100 200, 100 200 200)), ((100 200 210, 200 200 210, 200 100 210, 100 100 210, 100 200 210)) )",
+ 10
+ );
+ }
+
+ public void testMultiMixed()
+ {
+ checkDistance(
+ "MULTILINESTRING ((0 0 0, 10 10 10), (0 0 100, 25 25 25, 40 40 50), (100 100 100, 100 101 101))",
+ "MULTIPOINT ((100 100 99), (50 50 50), (25 100 33))",
+ 1
+ );
+ }
+
+ //==========================================================
+ // Convenience methods
+ //==========================================================
+
+ private static final double DIST_TOLERANCE = 0.00001;
+
+ private void checkDistance(String wkt1, String wkt2, double expectedDistance)
+ {
+ checkDistance(wkt1, wkt2, expectedDistance, DIST_TOLERANCE);
+ }
+
+ private void checkDistance(String wkt1, String wkt2, double expectedDistance, double tolerance)
+ {
+ Geometry g1;
+ Geometry g2;
+ try {
+ g1 = rdr.read(wkt1);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.toString());
+ }
+ try {
+ g2 = rdr.read(wkt2);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.toString());
+ }
+ // check both orders for arguments
+ checkDistance(g1, g2, expectedDistance, tolerance);
+ checkDistance(g2, g1, expectedDistance, tolerance);
+ }
+
+ private void checkDistance(Geometry g1, Geometry g2, double expectedDistance, double tolerance)
+ {
+ Distance3DOp distOp = new Distance3DOp(g1, g2);
+ double dist = distOp.distance();
+ assertEquals(expectedDistance, dist, tolerance);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/WithinDistance3DTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/WithinDistance3DTest.java
new file mode 100644
index 0000000..f534f5a
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/distance3d/WithinDistance3DTest.java
@@ -0,0 +1,272 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.distance3d;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class WithinDistance3DTest extends TestCase
+{
+ static GeometryFactory geomFact = new GeometryFactory();
+ static WKTReader rdr = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(WithinDistance3DTest.class);
+ }
+
+ public WithinDistance3DTest(String name) {
+ super(name);
+ }
+
+ public void testEmpty()
+ {
+ checkWithinDistance( "POINT EMPTY", "POINT EMPTY", 0);
+ checkWithinDistance( "LINESTRING EMPTY", "POINT (0 0 0)", 1, true);
+ }
+
+ public void testPointPoint() {
+ checkWithinDistance( "POINT (0 0 0 )",
+ "POINT (0 0 1 )",
+ 1);
+ checkWithinDistance( "POINT (0 0 0 )",
+ "POINT (0 0 1 )",
+ 0.5, false);
+ checkWithinDistance( "POINT (10 10 1 )",
+ "POINT (11 11 2 )",
+ 1.733);
+ checkWithinDistance( "POINT (10 10 0 )",
+ "POINT (10 20 10 )",
+ 14.143);
+ }
+
+ public void testPointSeg() {
+ checkWithinDistance( "LINESTRING (0 0 0, 10 10 10 )",
+ "POINT (5 5 5 )",
+ 0);
+ checkWithinDistance( "LINESTRING (10 10 10, 20 20 20 )",
+ "POINT (11 11 10 )",
+ 0.8, false);
+ }
+
+ public void testCrossSegmentsFlat() {
+ checkWithinDistance( "LINESTRING (0 0 0, 10 10 0 )",
+ "LINESTRING (10 0 0, 0 10 0 )",
+ 0);
+ checkWithinDistance( "LINESTRING (0 0 10, 30 10 10 )",
+ "LINESTRING (10 0 10, 0 10 10 )",
+ 0);
+ }
+
+ public void testCrossSegments() {
+ checkWithinDistance( "LINESTRING (0 0 0, 10 10 0 )",
+ "LINESTRING (10 0 1, 0 10 1 )",
+ 1);
+ checkWithinDistance( "LINESTRING (0 0 0, 20 20 0 )",
+ "LINESTRING (10 0 1, 0 10 1 )",
+ 1);
+ checkWithinDistance( "LINESTRING (20 10 20, 10 20 10 )",
+ "LINESTRING (10 10 20, 20 20 10 )",
+ 0);
+ }
+
+ public void testTSegmentsFlat() {
+ checkWithinDistance( "LINESTRING (10 10 0, 10 20 0 )",
+ "LINESTRING (20 15 0, 25 15 0 )",
+ 10);
+ }
+
+ public void testParallelSegmentsFlat() {
+ checkWithinDistance( "LINESTRING (10 10 0, 20 20 0 )",
+ "LINESTRING (10 20 0, 20 30 0 )",
+ 7.0710678118654755);
+ }
+
+ public void testParallelSegments() {
+ checkWithinDistance( "LINESTRING (0 0 0, 1 0 0 )",
+ "LINESTRING (0 0 1, 1 0 1 )",
+ 1);
+ checkWithinDistance( "LINESTRING (10 10 0, 20 10 0 )",
+ "LINESTRING (10 20 10, 20 20 10 )",
+ 14.142135623730951);
+ checkWithinDistance( "LINESTRING (10 10 0, 20 20 0 )",
+ "LINESTRING (10 20 10, 20 30 10 )",
+ 12.24744871391589 );
+ // = distance from LINESTRING (10 10 0, 20 20 0 ) to POINT(10 20 10)
+ // = hypotenuse(7.0710678118654755, 10)
+ }
+
+ public void testLineLine()
+ {
+ checkWithinDistance( "LINESTRING (0 1 2, 1 1 1, 1 0 2 )",
+ "LINESTRING (0 0 0.1, .5 .5 0, 1 1 0, 1.5 1.5 0, 2 2 0 )",
+ 1);
+ checkWithinDistance( "LINESTRING (10 10 20, 20 20 30, 20 20 1, 30 30 5 )",
+ "LINESTRING (1 80 10, 0 39 5, 39 0 5, 80 1 20)",
+ 0.7071067811865476);
+ }
+
+ public void testPointPolygon()
+ {
+ // point above poly
+ checkWithinDistance( "POINT (150 150 10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // point below poly
+ checkWithinDistance( "POINT (150 150 -10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // point right of poly in YZ plane
+ checkWithinDistance( "POINT (10 150 150)",
+ "POLYGON ((0 100 200, 0 200 200, 0 200 100, 0 100 100, 0 100 200))",
+ 10);
+ }
+
+ public void testPointPolygonFlat()
+ {
+ // inside
+ checkWithinDistance( "POINT (150 150 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // outside
+ checkWithinDistance( "POINT (250 250 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 70.71067811865476);
+ // on
+ checkWithinDistance( "POINT (200 200 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ public void testLinePolygonFlat()
+ {
+ // line inside
+ checkWithinDistance( "LINESTRING (150 150 0, 160 160 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // line outside
+ checkWithinDistance( "LINESTRING (200 250 0, 260 260 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 50);
+ // line touching
+ checkWithinDistance( "LINESTRING (200 200 0, 260 260 0)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ public void testLinePolygonSimple()
+ {
+ // line crossing inside
+ checkWithinDistance( "LINESTRING (150 150 10, 150 150 -10)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ // vertical line above
+ checkWithinDistance( "LINESTRING (200 200 10, 260 260 100)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 10);
+ // vertical line touching
+ checkWithinDistance( "LINESTRING (200 200 0, 260 260 100)",
+ "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0))",
+ 0);
+ }
+
+ String polyHoleFlat = "POLYGON ((100 200 0, 200 200 0, 200 100 0, 100 100 0, 100 200 0), (120 180 0, 180 180 0, 180 120 0, 120 120 0, 120 180 0))";
+
+ public void testLinePolygonHoleFlat()
+ {
+ // line crossing hole
+ checkWithinDistance( "LINESTRING (150 150 10, 150 150 -10)", polyHoleFlat, 20, false);
+ // line crossing interior
+ checkWithinDistance( "LINESTRING (110 110 10, 110 110 -10)", polyHoleFlat, 0);
+ }
+
+ public void testPointPolygonHoleFlat()
+ {
+ // point above poly hole
+ checkWithinDistance( "POINT (130 130 10)", polyHoleFlat, 14.143);
+ // point below poly hole
+ checkWithinDistance( "POINT (130 130 -10)", polyHoleFlat, 14.143);
+ // point above poly
+ checkWithinDistance( "POINT (110 110 100)", polyHoleFlat, 100);
+ }
+
+ public void testMultiPoint()
+ {
+ checkWithinDistance(
+ "MULTIPOINT ((0 0 0), (0 0 100), (100 100 100))",
+ "MULTIPOINT ((100 100 99), (50 50 50), (25 100 33))",
+ 1
+ );
+ }
+
+ public void testMultiLineString()
+ {
+ checkWithinDistance(
+ "MULTILINESTRING ((0 0 0, 10 10 10), (0 0 100, 25 25 25, 40 40 50), (100 100 100, 100 101 102))",
+ "MULTILINESTRING ((100 100 99, 100 100 99), (100 102 102, 200 200 20), (25 100 33, 25 100 35))",
+ 1
+ );
+ }
+
+ public void testMultiPolygon()
+ {
+ checkWithinDistance(
+ // Polygons parallel to XZ plane
+ "MULTIPOLYGON ( ((120 120 -10, 120 120 100, 180 120 100, 180 120 -10, 120 120 -10)), ((120 200 -10, 120 200 190, 180 200 190, 180 200 -10, 120 200 -10)) )",
+ // Polygons parallel to XY plane
+ "MULTIPOLYGON ( ((100 200 200, 200 200 200, 200 100 200, 100 100 200, 100 200 200)), ((100 200 210, 200 200 210, 200 100 210, 100 100 210, 100 200 210)) )",
+ 10
+ );
+ }
+
+
+ //==========================================================
+ // Convenience methods
+ //==========================================================
+
+ private void checkWithinDistance(String wkt1, String wkt2, double distance)
+ {
+ checkWithinDistance(wkt1, wkt2, distance, true);
+ }
+
+ private void checkWithinDistance(String wkt1, String wkt2, double distance, boolean expectedResult)
+ {
+ Geometry g1;
+ Geometry g2;
+ try {
+ g1 = rdr.read(wkt1);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.toString());
+ }
+ try {
+ g2 = rdr.read(wkt2);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.toString());
+ }
+ // check both orders for arguments
+ checkWithinDistance(g1, g2, distance, expectedResult);
+ checkWithinDistance(g2, g1, distance, expectedResult);
+ }
+
+ private void checkWithinDistance(Geometry g1, Geometry g2, double distance, boolean expectedResult)
+ {
+ boolean isWithinDist = Distance3DOp.isWithinDistance(g1, g2, distance);
+ assertEquals(expectedResult, isWithinDist);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineMergerTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineMergerTest.java
new file mode 100644
index 0000000..f1ee01d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineMergerTest.java
@@ -0,0 +1,132 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.linemerge;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.util.Assert;
+
+import junit.framework.TestCase;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class LineMergerTest extends TestCase {
+ private static WKTReader reader = new WKTReader();
+
+ public LineMergerTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(LineMergerTest.class);
+ }
+
+ public void test1() {
+ doTest(new String[] {
+ "LINESTRING (120 120, 180 140)", "LINESTRING (200 180, 180 140)",
+ "LINESTRING (200 180, 240 180)"
+ }, new String[] { "LINESTRING (120 120, 180 140, 200 180, 240 180)" });
+ }
+
+ public void test2() {
+ doTest(new String[]{"LINESTRING (120 300, 80 340)",
+ "LINESTRING (120 300, 140 320, 160 320)",
+ "LINESTRING (40 320, 20 340, 0 320)",
+ "LINESTRING (0 320, 20 300, 40 320)",
+ "LINESTRING (40 320, 60 320, 80 340)",
+ "LINESTRING (160 320, 180 340, 200 320)",
+ "LINESTRING (200 320, 180 300, 160 320)"},
+ new String[]{
+ "LINESTRING (160 320, 180 340, 200 320, 180 300, 160 320)",
+ "LINESTRING (40 320, 20 340, 0 320, 20 300, 40 320)",
+ "LINESTRING (40 320, 60 320, 80 340, 120 300, 140 320, 160 320)"});
+ }
+
+ public void test3() {
+ doTest(new String[]{"LINESTRING (0 0, 100 100)", "LINESTRING (0 100, 100 0)"},
+ new String[]{"LINESTRING (0 0, 100 100)", "LINESTRING (0 100, 100 0)"});
+ }
+
+ public void test4() {
+ doTest(new String[]{"LINESTRING EMPTY", "LINESTRING EMPTY"},
+ new String[]{});
+ }
+
+ public void test5() {
+ doTest(new String[]{},
+ new String[]{});
+ }
+
+ public void testSingleUniquePoint() {
+ doTest(new String[]{"LINESTRING (10642 31441, 10642 31441)", "LINESTRING EMPTY"},
+ new String[]{});
+ }
+
+
+ private void doTest(String[] inputWKT, String[] expectedOutputWKT) {
+ doTest(inputWKT, expectedOutputWKT, true);
+ }
+
+ public static void doTest(String[] inputWKT, String[] expectedOutputWKT, boolean compareDirections) {
+ LineMerger lineMerger = new LineMerger();
+ lineMerger.add(toGeometries(inputWKT));
+ compare(toGeometries(expectedOutputWKT), lineMerger.getMergedLineStrings(), compareDirections);
+ }
+
+ public static void compare(Collection expectedGeometries,
+ Collection actualGeometries, boolean compareDirections) {
+ assertEquals("Geometry count, " + actualGeometries,
+ expectedGeometries.size(), actualGeometries.size());
+ for (Iterator i = expectedGeometries.iterator(); i.hasNext();) {
+ Geometry expectedGeometry = (Geometry) i.next();
+ assertTrue("Not found: " + expectedGeometry + ", " + actualGeometries,
+ contains(actualGeometries, expectedGeometry, compareDirections));
+ }
+ }
+
+ private static boolean contains(Collection geometries, Geometry g, boolean exact) {
+ for (Iterator i = geometries.iterator(); i.hasNext();) {
+ Geometry element = (Geometry) i.next();
+ if (exact && element.equalsExact(g)) {
+ return true;
+ }
+ if (!exact && element.equalsTopo(g)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public static Collection toGeometries(String[] inputWKT) {
+ ArrayList geometries = new ArrayList();
+ for (int i = 0; i < inputWKT.length; i++) {
+ try {
+ geometries.add(reader.read(inputWKT[i]));
+ } catch (ParseException e) {
+ Assert.shouldNeverReachHere();
+ }
+ }
+
+ return geometries;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineSequencerTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineSequencerTest.java
new file mode 100644
index 0000000..d75a172
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/linemerge/LineSequencerTest.java
@@ -0,0 +1,250 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.linemerge;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Test LineSequencer
+ *
+ * @version 1.7
+ */
+public class LineSequencerTest
+ extends TestCase
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public LineSequencerTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(LineSequencerTest.class);
+ }
+
+ public void testSimple()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 20, 0 30 )",
+ "LINESTRING ( 0 10, 0 20 )"
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 0 20), (0 20, 0 30))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testSimpleLoop()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 0 0 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 0 0))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testSimpleBigLoop()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 20, 0 30 )",
+ "LINESTRING ( 0 30, 0 00 )",
+ "LINESTRING ( 0 10, 0 20 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 0 20), (0 20, 0 30), (0 30, 0 0))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void test2SimpleLoops()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 0 0 )",
+ "LINESTRING ( 0 0, 0 20 )",
+ "LINESTRING ( 0 20, 0 0 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 10, 0 0), (0 0, 0 20), (0 20, 0 0), (0 0, 0 10))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testWide8WithTail()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 10 0, 10 10 )",
+ "LINESTRING ( 0 0, 10 0 )",
+ "LINESTRING ( 0 10, 10 10 )",
+ "LINESTRING ( 0 10, 0 20 )",
+ "LINESTRING ( 10 10, 10 20 )",
+ "LINESTRING ( 0 20, 10 20 )",
+
+ "LINESTRING ( 10 20, 30 30 )",
+ };
+ String result = null;
+ runLineSequencer(wkt, result);
+ }
+
+ public void testSimpleLoopWithTail()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 10 10 )",
+ "LINESTRING ( 10 10, 10 20, 0 10 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 10 10), (10 10, 10 20, 0 10))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testLineWithRing()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 10 10, 10 20, 0 10 )",
+ "LINESTRING ( 0 30, 0 20 )",
+ "LINESTRING ( 0 20, 0 10 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 10 10, 10 20, 0 10), (0 10, 0 20), (0 20, 0 30))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testMultipleGraphsWithRing()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 10 10, 10 20, 0 10 )",
+ "LINESTRING ( 0 30, 0 20 )",
+ "LINESTRING ( 0 20, 0 10 )",
+ "LINESTRING ( 0 60, 0 50 )",
+ "LINESTRING ( 0 40, 0 50 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 10 10, 10 20, 0 10), (0 10, 0 20), (0 20, 0 30), (0 40, 0 50), (0 50, 0 60))";
+ runLineSequencer(wkt, result);
+ }
+
+ public void testMultipleGraphsWithMultipeRings()
+ throws Exception
+ {
+ String[] wkt = {
+ "LINESTRING ( 0 0, 0 10 )",
+ "LINESTRING ( 0 10, 10 10, 10 20, 0 10 )",
+ "LINESTRING ( 0 10, 40 40, 40 20, 0 10 )",
+ "LINESTRING ( 0 30, 0 20 )",
+ "LINESTRING ( 0 20, 0 10 )",
+ "LINESTRING ( 0 60, 0 50 )",
+ "LINESTRING ( 0 40, 0 50 )",
+ };
+ String result =
+ "MULTILINESTRING ((0 0, 0 10), (0 10, 40 40, 40 20, 0 10), (0 10, 10 10, 10 20, 0 10), (0 10, 0 20), (0 20, 0 30), (0 40, 0 50), (0 50, 0 60))";
+ runLineSequencer(wkt, result);
+ }
+
+// isSequenced tests ==========================================================
+
+ public void testLineSequence()
+ throws Exception
+ {
+ String wkt =
+ "LINESTRING ( 0 0, 0 10 )";
+ runIsSequenced(wkt, true);
+ }
+
+ public void testSplitLineSequence()
+ throws Exception
+ {
+ String wkt =
+ "MULTILINESTRING ((0 0, 0 1), (0 2, 0 3), (0 3, 0 4) )";
+ runIsSequenced(wkt, true);
+ }
+
+ public void testBadLineSequence()
+ throws Exception
+ {
+ String wkt =
+ "MULTILINESTRING ((0 0, 0 1), (0 2, 0 3), (0 1, 0 4) )";
+ runIsSequenced(wkt, false);
+ }
+
+//==========================================================
+
+ private void runLineSequencer(String[] inputWKT, String expectedWKT)
+ throws ParseException
+ {
+ List inputGeoms = fromWKT(inputWKT);
+ LineSequencer sequencer = new LineSequencer();
+ sequencer.add(inputGeoms);
+
+ boolean isCorrect = false;
+ if (! sequencer.isSequenceable()) {
+ assertTrue(expectedWKT == null);
+ }
+ else {
+ Geometry expected = rdr.read(expectedWKT);
+ Geometry result = sequencer.getSequencedLineStrings();
+ boolean isOK = expected.equalsNorm(result);
+ if (! isOK) {
+ System.out.println("ERROR - Expected: " + expected);
+ System.out.println(" Actual: " + result);
+ }
+ assertTrue(isOK);
+
+ boolean isSequenced = LineSequencer.isSequenced(result);
+ assertTrue(isSequenced);
+ }
+ }
+
+ private void runIsSequenced(String inputWKT, boolean expected)
+ throws ParseException
+ {
+ Geometry g = rdr.read(inputWKT);
+ boolean isSequenced = LineSequencer.isSequenced(g);
+ assertTrue(isSequenced == expected);
+ }
+
+ List fromWKT(String[] wkts)
+ {
+ List geomList = new ArrayList();
+ for (int i = 0; i < wkts.length; i++) {
+ try {
+ geomList.add(rdr.read(wkts[i]));
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ return geomList;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/overlay/FixedPrecisionSnappingTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/overlay/FixedPrecisionSnappingTest.java
new file mode 100644
index 0000000..07b2cb6
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/overlay/FixedPrecisionSnappingTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.overlay;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+public class FixedPrecisionSnappingTest extends TestCase
+{
+ PrecisionModel pm = new PrecisionModel(1.0);
+ GeometryFactory fact = new GeometryFactory(pm);
+ WKTReader rdr = new WKTReader(fact);
+
+ public FixedPrecisionSnappingTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(FixedPrecisionSnappingTest.class);
+ }
+
+ public void testTriangles()
+ throws ParseException
+ {
+ Geometry a = rdr.read("POLYGON ((545 317, 617 379, 581 321, 545 317))");
+ Geometry b = rdr.read("POLYGON ((484 290, 558 359, 543 309, 484 290))");
+ a.intersection(b);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/polygonize/PolygonizeTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/polygonize/PolygonizeTest.java
new file mode 100644
index 0000000..6b80dfd
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/polygonize/PolygonizeTest.java
@@ -0,0 +1,183 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.polygonize;
+
+import java.util.Collection;
+import java.util.List;
+
+import test.jts.GeometryTestCase;
+
+/**
+ * @version 1.7
+ */
+public class PolygonizeTest extends GeometryTestCase {
+
+ public PolygonizeTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(PolygonizeTest.class);
+ }
+
+ public void test1() {
+ checkPolygonize(new String[]{"LINESTRING EMPTY", "LINESTRING EMPTY"},
+ new String[]{});
+ }
+
+ public void test2() {
+ checkPolygonize(new String[]{
+"LINESTRING (100 180, 20 20, 160 20, 100 180)",
+"LINESTRING (100 180, 80 60, 120 60, 100 180)",
+ },
+ new String[]{
+"POLYGON ((100 180, 120 60, 80 60, 100 180))",
+"POLYGON ((100 180, 160 20, 20 20, 100 180), (100 180, 80 60, 120 60, 100 180))"
+ });
+ }
+
+ public void test3() {
+ checkPolygonize(new String[]{
+ "LINESTRING (0 0, 4 0)",
+ "LINESTRING (4 0, 5 3)",
+"LINESTRING (5 3, 4 6, 6 6, 5 3)",
+"LINESTRING (5 3, 6 0)",
+"LINESTRING (6 0, 10 0, 5 10, 0 0)",
+"LINESTRING (4 0, 6 0)"
+ },
+ new String[]{
+"POLYGON ((5 3, 4 0, 0 0, 5 10, 10 0, 6 0, 5 3), (5 3, 6 6, 4 6, 5 3))",
+"POLYGON ((5 3, 4 6, 6 6, 5 3))",
+"POLYGON ((4 0, 5 3, 6 0, 4 0))"
+ });
+ }
+
+ public void testPolygonal1() {
+ checkPolygonize(true, new String[]{
+ "LINESTRING (100 100, 100 300, 300 300, 300 100, 100 100)",
+ "LINESTRING (150 150, 150 250, 250 250, 250 150, 150 150)"
+ },
+ new String[]{
+"POLYGON ((100 100, 100 300, 300 300, 300 100, 100 100), (150 150, 150 250, 250 250, 250 150, 150 150))"
+ });
+ }
+
+ public void testPolygonal2() {
+ checkPolygonize(true, new String[]{
+ "LINESTRING (100 100, 100 0, 0 0, 0 100, 100 100)"
+ ,"LINESTRING (10 10, 10 30, 20 30)"
+ ,"LINESTRING (20 30, 30 30, 30 20)"
+ ,"LINESTRING (30 20, 30 10, 10 10)"
+ ,"LINESTRING (40 40, 40 20, 30 20)"
+ ,"LINESTRING (30 20, 20 20, 20 30)"
+ ,"LINESTRING (20 30, 20 40, 40 40))"
+ },
+ new String[]{
+"POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0), (10 10, 30 10, 30 20, 40 20, 40 40, 20 40, 20 30, 10 30, 10 10))",
+"POLYGON ((20 20, 20 30, 30 30, 30 20, 20 20))"
+ });
+ }
+
+ public void testPolygonal_OuterOnly_1() {
+ checkPolygonize(true, new String[] {
+ "LINESTRING (10 10, 10 20, 20 20)"
+ ,"LINESTRING (20 20, 20 10)"
+ ,"LINESTRING (20 10, 10 10)"
+ ,"LINESTRING (20 20, 30 20, 30 10, 20 10)"
+ },
+ new String[]{
+"POLYGON ((20 20, 20 10, 10 10, 10 20, 20 20))"
+ });
+ }
+
+ public void testPolygona_OuterOnly_2() {
+ checkPolygonize(true, new String[] {
+ "LINESTRING (100 400, 200 400, 200 300)"
+ ,"LINESTRING (200 300, 150 300)"
+ ,"LINESTRING (150 300, 100 300, 100 400)"
+ ,"LINESTRING (200 300, 250 300, 250 200)"
+ ,"LINESTRING (250 200, 200 200)"
+ ,"LINESTRING (200 200, 150 200, 150 300)"
+ ,"LINESTRING (250 200, 300 200, 300 100, 200 100, 200 200)"
+ },
+ new String[]{
+ "POLYGON ((150 300, 100 300, 100 400, 200 400, 200 300, 150 300))"
+ ,"POLYGON ((200 200, 250 200, 300 200, 300 100, 200 100, 200 200))"
+ });
+ }
+
+ String[] LINES_CHECKERBOARD = new String[] {
+ "LINESTRING (10 20, 20 20)",
+ "LINESTRING (10 20, 10 30)",
+ "LINESTRING (20 10, 10 10, 10 20)",
+ "LINESTRING (10 30, 20 30)",
+ "LINESTRING (10 30, 10 40, 20 40)",
+ "LINESTRING (30 10, 20 10)",
+ "LINESTRING (20 20, 20 10)",
+ "LINESTRING (20 20, 30 20)",
+ "LINESTRING (20 30, 20 20)",
+ "LINESTRING (20 30, 30 30)",
+ "LINESTRING (20 40, 20 30)",
+ "LINESTRING (20 40, 30 40)",
+ "LINESTRING (40 20, 40 10, 30 10)",
+ "LINESTRING (30 20, 30 10)",
+ "LINESTRING (30 20, 40 20)",
+ "LINESTRING (30 30, 30 20)",
+ "LINESTRING (30 30, 40 30)",
+ "LINESTRING (30 40, 30 30)",
+ "LINESTRING (30 40, 40 40, 40 30)",
+ "LINESTRING (40 30, 40 20)"
+ };
+
+ public void testPolygona_OuterOnly_Checkerboard() {
+ checkPolygonize(true, LINES_CHECKERBOARD,
+ new String[]{
+ "POLYGON ((10 20, 20 20, 20 10, 10 10, 10 20))"
+ ,"POLYGON ((20 30, 10 30, 10 40, 20 40, 20 30))"
+ ,"POLYGON ((30 20, 20 20, 20 30, 30 30, 30 20))"
+ ,"POLYGON ((30 10, 30 20, 40 20, 40 10, 30 10))"
+ ,"POLYGON ((30 40, 40 40, 40 30, 30 30, 30 40))"
+ });
+ }
+
+/*
+ public void test2() {
+ doTest(new String[]{
+
+"LINESTRING(20 20, 20 100)",
+"LINESTRING (20 100, 20 180, 100 180)",
+"LINESTRING (100 180, 180 180, 180 100)",
+"LINESTRING (180 100, 180 20, 100 20)",
+"LINESTRING (100 20, 20 20)",
+"LINESTRING (100 20, 20 100)",
+"LINESTRING (20 100, 100 180)",
+"LINESTRING (100 180, 180 100)",
+"LINESTRING (180 100, 100 20)"
+ },
+ new String[]{});
+ }
+*/
+
+ private void checkPolygonize(String[] inputWKT, String[] expectedWKT) {
+ checkPolygonize(false, inputWKT, expectedWKT);
+ }
+
+ private void checkPolygonize(boolean extractOnlyPolygonal, String[] inputWKT, String[] expectedWKT) {
+ Polygonizer polygonizer = new Polygonizer(extractOnlyPolygonal);
+ polygonizer.add(readList(inputWKT));
+ List expected = readList(expectedWKT);
+ Collection actual = polygonizer.getPolygons();
+ checkEqual(expected, actual);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/relate/ContainsTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/relate/ContainsTest.java
new file mode 100644
index 0000000..88e7cfb
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/relate/ContainsTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link Geometry#relate}.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class ContainsTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(ContainsTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public ContainsTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * From GEOS #572.
+ * A case where B is contained in A, but
+ * the JTS relate algorithm fails to compute this correctly.
+ *
+ * The cause is that the long segment in A nodes the single-segment line in B.
+ * The node location cannot be computed precisely.
+ * The node then tests as not lying precisely on the original long segment in A.
+ *
+ * The solution is to change the relate algorithm so that it never computes
+ * new intersection points, only ones which occur at existing vertices.
+ * (The topology of the implicit intersections can still be computed
+ * to contribute to the intersection matrix result).
+ * This will require a complete reworking of the relate algorithm.
+ *
+ * @throws Exception
+ */
+ public void testContainsIncorrect()
+ throws Exception
+ {
+ String a = "LINESTRING (1 0, 0 2, 0 0, 2 2)";
+ String b = "LINESTRING (0 0, 2 2)";
+
+ // for now assert this as false, although it should be true
+ assertTrue(! a.contains(b));
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateBoundaryNodeRuleTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateBoundaryNodeRuleTest.java
new file mode 100644
index 0000000..baec9a9
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateBoundaryNodeRuleTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.algorithm.BoundaryNodeRule;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link Geometry#relate} with different {@link BoundaryNodeRule}s.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class RelateBoundaryNodeRuleTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(RelateBoundaryNodeRuleTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public RelateBoundaryNodeRuleTest(String name)
+ {
+ super(name);
+ }
+
+ public void testMultiLineStringSelfIntTouchAtEndpoint()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((20 20, 100 100, 100 20, 20 100), (60 60, 60 140))";
+ String b = "LINESTRING (60 60, 20 60)";
+
+ // under EndPoint, A has a boundary node - A.bdy / B.bdy = 0
+ runRelateTest(a, b, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, "FF1F00102" );
+ }
+
+ public void testLineStringSelfIntTouchAtEndpoint()
+ throws Exception
+ {
+ String a = "LINESTRING (20 20, 100 100, 100 20, 20 100)";
+ String b = "LINESTRING (60 60, 20 60)";
+
+ // results for both rules are the same
+ runRelateTest(a, b, BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE, "F01FF0102" );
+ runRelateTest(a, b, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, "F01FF0102" );
+ }
+
+ public void testMultiLineStringTouchAtEndpoint()
+ throws Exception
+ {
+ String a = "MULTILINESTRING ((0 0, 10 10), (10 10, 20 20))";
+ String b = "LINESTRING (10 10, 20 0)";
+
+ // under Mod2, A has no boundary - A.int / B.bdy = 0
+// runRelateTest(a, b, BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE, "F01FFF102" );
+ // under EndPoint, A has a boundary node - A.bdy / B.bdy = 0
+ runRelateTest(a, b, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, "FF1F00102" );
+ // under MultiValent, A has a boundary node but B does not - A.bdy / B.bdy = F and A.int
+// runRelateTest(a, b, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE, "0F1FFF1F2" );
+ }
+
+ public void testLineRingTouchAtEndpoints()
+ throws Exception
+ {
+ String a = "LINESTRING (20 100, 20 220, 120 100, 20 100)";
+ String b = "LINESTRING (20 20, 20 100)";
+
+ // under Mod2, A has no boundary - A.int / B.bdy = 0
+// runRelateTest(a, b, BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE, "F01FFF102" );
+ // under EndPoint, A has a boundary node - A.bdy / B.bdy = 0
+// runRelateTest(a, b, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, "FF1F0F102" );
+ // under MultiValent, A has a boundary node but B does not - A.bdy / B.bdy = F and A.int
+ runRelateTest(a, b, BoundaryNodeRule.MULTIVALENT_ENDPOINT_BOUNDARY_RULE, "0F1FFF1F2" );
+ }
+
+ public void testLineRingTouchAtEndpointAndInterior()
+ throws Exception
+ {
+ String a = "LINESTRING (20 100, 20 220, 120 100, 20 100)";
+ String b = "LINESTRING (20 20, 40 100)";
+
+ // this is the same result as for the above test
+ runRelateTest(a, b, BoundaryNodeRule.OGC_SFS_BOUNDARY_RULE, "F01FFF102" );
+ // this result is different - the A node is now on the boundary, so A.bdy/B.ext = 0
+ runRelateTest(a, b, BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE, "F01FF0102" );
+ }
+
+ void runRelateTest(String wkt1, String wkt2, BoundaryNodeRule bnRule, String expectedIM)
+ throws ParseException
+ {
+ Geometry g1 = rdr.read(wkt1);
+ Geometry g2 = rdr.read(wkt2);
+ IntersectionMatrix im = RelateOp.relate(g1, g2, bnRule);
+ String imStr = im.toString();
+ //System.out.println(imStr);
+ assertTrue(im.matches(expectedIM));
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateTest.java
new file mode 100644
index 0000000..536e7e6
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/relate/RelateTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.relate;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.IntersectionMatrix;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * Tests {@link Geometry#relate}.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class RelateTest
+ extends TestCase
+{
+ public static void main(String args[]) {
+ TestRunner.run(RelateTest.class);
+ }
+
+ private GeometryFactory fact = new GeometryFactory();
+ private WKTReader rdr = new WKTReader(fact);
+
+ public RelateTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * From GEOS #572
+ *
+ * The cause is that the longer line nodes the single-segment line.
+ * The node then tests as not lying precisely on the original longer line.
+ *
+ * @throws Exception
+ */
+ public void testContainsIncorrectIMMatrix()
+ throws Exception
+ {
+ String a = "LINESTRING (1 0, 0 2, 0 0, 2 2)";
+ String b = "LINESTRING (0 0, 2 2)";
+
+ // actual matrix is 001F001F2
+ // true matrix should be 101F00FF2
+ runRelateTest(a, b, "001F001F2" );
+ }
+
+ void runRelateTest(String wkt1, String wkt2, String expectedIM)
+ throws ParseException
+ {
+ Geometry g1 = rdr.read(wkt1);
+ Geometry g2 = rdr.read(wkt2);
+ IntersectionMatrix im = RelateOp.relate(g1, g2);
+ String imStr = im.toString();
+ //System.out.println(imStr);
+ assertTrue(im.matches(expectedIM));
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionFileTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionFileTest.java
new file mode 100644
index 0000000..5e14a2c
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionFileTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Collection;
+
+import org.locationtech.jts.io.ParseException;
+
+import junit.framework.TestCase;
+import test.jts.junit.GeometryUtils;
+
+/**
+ * Large-scale tests of {@link CascadedPolygonUnion}
+ * using data from files.
+ *
+ * @author mbdavis
+ *
+ */
+public class CascadedPolygonUnionFileTest extends TestCase
+{
+ public CascadedPolygonUnionFileTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(CascadedPolygonUnionFileTest.class);
+ }
+
+ public void testAfrica2()
+ throws Exception
+ {
+ runTestResource("../../../../../data/africa.wkt",
+ CascadedPolygonUnionTester.MIN_SIMILARITY_MEAURE);
+ }
+
+ public void XtestEurope()
+ throws Exception
+ {
+ runTestResource("../../../../../data/europe.wkt",
+ CascadedPolygonUnionTester.MIN_SIMILARITY_MEAURE);
+ }
+
+ private static CascadedPolygonUnionTester tester = new CascadedPolygonUnionTester();
+
+ private void runTest(String filename, double minimumMeasure)
+ throws IOException, ParseException
+ {
+ Collection geoms = GeometryUtils.readWKTFile(filename);
+ assertTrue(tester.test(geoms, minimumMeasure));
+ }
+ private void runTestResource(String resource, double minimumMeasure)
+ throws IOException, ParseException
+ {
+ InputStream is = this.getClass().getResourceAsStream(resource);
+ // don't bother if file is missing
+ if (is == null) return;
+ Collection geoms = GeometryUtils.readWKTFile(new InputStreamReader(is));
+ assertTrue(tester.test(geoms, minimumMeasure));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTest.java
new file mode 100644
index 0000000..8dd13dc
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+import junit.framework.TestCase;
+import test.jts.junit.GeometryUtils;
+
+/**
+ * Large-scale tests of {@link CascadedPolygonUnion}
+ * using synthetic datasets.
+ *
+ * @author mbdavis
+ *
+ */
+public class CascadedPolygonUnionTest extends TestCase
+{
+ GeometryFactory geomFact = new GeometryFactory();
+
+ public CascadedPolygonUnionTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(CascadedPolygonUnionTest.class);
+ }
+
+ public void testBoxes()
+ throws Exception
+ {
+ runTest(GeometryUtils.readWKT(
+ new String[] {
+ "POLYGON ((80 260, 200 260, 200 30, 80 30, 80 260))",
+ "POLYGON ((30 180, 300 180, 300 110, 30 110, 30 180))",
+ "POLYGON ((30 280, 30 150, 140 150, 140 280, 30 280))"
+ }),
+ CascadedPolygonUnionTester.MIN_SIMILARITY_MEAURE);
+ }
+
+ public void testDiscs1()
+ throws Exception
+ {
+ Collection geoms = createDiscs(5, 0.7);
+
+ //System.out.println(geomFact.buildGeometry(geoms));
+
+ runTest(geoms,
+ CascadedPolygonUnionTester.MIN_SIMILARITY_MEAURE);
+ }
+
+
+ public void testDiscs2()
+ throws Exception
+ {
+ Collection geoms = createDiscs(5, 0.55);
+
+ //System.out.println(geomFact.buildGeometry(geoms));
+
+ runTest(geoms,
+ CascadedPolygonUnionTester.MIN_SIMILARITY_MEAURE);
+ }
+
+
+ // TODO: add some synthetic tests
+
+ private static CascadedPolygonUnionTester tester = new CascadedPolygonUnionTester();
+
+ private void runTest(Collection geoms, double minimumMeasure)
+ {
+ assertTrue(tester.test(geoms, minimumMeasure));
+ }
+
+ private Collection createDiscs(int num, double radius)
+ {
+ List geoms = new ArrayList();
+ for (int i = 0; i < num; i++) {
+ for (int j = 0; j < num; j++) {
+ Coordinate pt = new Coordinate(i, j);
+ Geometry ptGeom = geomFact.createPoint(pt);
+ Geometry disc = ptGeom.buffer(radius);
+ geoms.add(disc);
+ }
+ }
+ return geoms;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTester.java b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTester.java
new file mode 100644
index 0000000..69017b9
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/union/CascadedPolygonUnionTester.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.locationtech.jts.algorithm.match.AreaSimilarityMeasure;
+import org.locationtech.jts.algorithm.match.HausdorffSimilarityMeasure;
+import org.locationtech.jts.algorithm.match.SimilarityMeasureCombiner;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+/**
+ * Compares the results of CascadedPolygonUnion to Geometry.union()
+ * using shape similarity measures.
+ *
+ * @author mbdavis
+ *
+ */
+public class CascadedPolygonUnionTester
+{
+ public static final double MIN_SIMILARITY_MEAURE = 0.999999;;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+
+ GeometryFactory geomFact = new GeometryFactory();
+
+ public CascadedPolygonUnionTester() {
+ }
+
+ public boolean test(Collection geoms, double minimumMeasure)
+ {
+ //System.out.println("Computing Iterated union");
+ Geometry union1 = unionIterated(geoms);
+ //System.out.println("Computing Cascaded union");
+ Geometry union2 = unionCascaded(geoms);
+
+ //System.out.println("Testing similarity with min measure = " + minimumMeasure);
+
+ double areaMeasure = (new AreaSimilarityMeasure()).measure(union1, union2);
+ double hausMeasure = (new HausdorffSimilarityMeasure()).measure(union1, union2);
+ double overallMeasure = SimilarityMeasureCombiner.combine(areaMeasure, hausMeasure);
+
+ //System.out.println(
+ // "Area measure = " + areaMeasure
+ // + " Hausdorff measure = " + hausMeasure
+ // + " Overall = " + overallMeasure);
+
+ return overallMeasure > minimumMeasure;
+ }
+
+ /*
+ private void OLDdoTest(String filename, double distanceTolerance)
+ throws IOException, ParseException
+ {
+ WKTFileReader fileRdr = new WKTFileReader(filename, wktRdr);
+ List geoms = fileRdr.read();
+
+ //System.out.println("Computing Iterated union");
+ Geometry union1 = unionIterated(geoms);
+ //System.out.println("Computing Cascaded union");
+ Geometry union2 = unionCascaded(geoms);
+
+ //System.out.println("Testing similarity with tolerance = " + distanceTolerance);
+ boolean isSameWithinTolerance = SimilarityValidator.isSimilar(union1, union2, distanceTolerance);
+
+
+ assertTrue(isSameWithinTolerance);
+ }
+*/
+
+ public Geometry unionIterated(Collection geoms)
+ {
+ Geometry unionAll = null;
+ int count = 0;
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry geom = (Geometry) i.next();
+
+ if (unionAll == null) {
+ unionAll = (Geometry) geom.copy();
+ }
+ else {
+ unionAll = unionAll.union(geom);
+ }
+
+ count++;
+ if (count % 100 == 0) {
+ System.out.print(".");
+// System.out.println("Adding geom #" + count);
+ }
+ }
+ return unionAll;
+ }
+
+ public Geometry unionCascaded(Collection geoms)
+ {
+ return CascadedPolygonUnion.union(geoms);
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/union/UnaryUnionTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/union/UnaryUnionTest.java
new file mode 100644
index 0000000..46f3548
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/union/UnaryUnionTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.union;
+
+import java.util.Collection;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+
+import junit.framework.TestCase;
+import test.jts.junit.GeometryUtils;
+
+public class UnaryUnionTest extends TestCase
+{
+ GeometryFactory geomFact = new GeometryFactory();
+
+ public UnaryUnionTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(UnaryUnionTest.class);
+ }
+
+ public void testEmptyCollection()
+ throws Exception
+ {
+ doTest(new String[]{}, "GEOMETRYCOLLECTION EMPTY");
+ }
+
+ public void testPoints()
+ throws Exception
+ {
+ doTest(new String[]{ "POINT (1 1)", "POINT (2 2)"}, "MULTIPOINT ((1 1), (2 2))");
+ }
+
+ public void testLineNoding()
+ throws Exception
+ {
+ doTest(new String[]{ "LINESTRING (0 0, 10 0, 5 -5, 5 5)"},
+ "MULTILINESTRING ((0 0, 5 0), (5 0, 10 0, 5 -5, 5 0), (5 0, 5 5))");
+ }
+
+ public void testAll()
+ throws Exception
+ {
+ doTest(new String[]{"GEOMETRYCOLLECTION (POLYGON ((0 0, 0 90, 90 90, 90 0, 0 0)), POLYGON ((120 0, 120 90, 210 90, 210 0, 120 0)), LINESTRING (40 50, 40 140), LINESTRING (160 50, 160 140), POINT (60 50), POINT (60 140), POINT (40 140))"},
+ "GEOMETRYCOLLECTION (POINT (60 140), LINESTRING (40 90, 40 140), LINESTRING (160 90, 160 140), POLYGON ((0 0, 0 90, 40 90, 90 90, 90 0, 0 0)), POLYGON ((120 0, 120 90, 160 90, 210 90, 210 0, 120 0)))"); }
+
+ private void doTest(String[] inputWKT, String expectedWKT)
+ throws ParseException
+ {
+ Geometry result;
+ Collection geoms = GeometryUtils.readWKT(inputWKT);
+ if (geoms.size() == 0)
+ result = UnaryUnionOp.union(geoms, geomFact);
+ else
+ result = UnaryUnionOp.union(geoms);
+
+ assertTrue(GeometryUtils.isEqual(GeometryUtils.readWKT(expectedWKT), result));
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/valid/IsValidTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/valid/IsValidTest.java
new file mode 100644
index 0000000..e97475d
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/valid/IsValidTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class IsValidTest extends TestCase {
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(IsValidTest.class);
+ }
+
+ public IsValidTest(String name) { super(name); }
+
+ public void testInvalidCoordinate() throws Exception
+ {
+ Coordinate badCoord = new Coordinate(1.0, Double.NaN);
+ Coordinate[] pts = { new Coordinate(0.0, 0.0), badCoord };
+ Geometry line = geometryFactory.createLineString(pts);
+ IsValidOp isValidOp = new IsValidOp(line);
+ boolean valid = isValidOp.isValid();
+ TopologyValidationError err = isValidOp.getValidationError();
+ Coordinate errCoord = err.getCoordinate();
+
+ assertEquals(TopologyValidationError.INVALID_COORDINATE, err.getErrorType());
+ assertTrue(Double.isNaN(errCoord.y));
+ assertEquals(false, valid);
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/valid/SimpleNestedRingTester.java b/modules/core/src/test/java/org/locationtech/jts/operation/valid/SimpleNestedRingTester.java
new file mode 100644
index 0000000..ab48549
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/valid/SimpleNestedRingTester.java
@@ -0,0 +1,80 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.operation.valid;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Tests whether any of a set of {@link LinearRing}s are
+ * nested inside another ring in the set, using a simple O(n^2)
+ * comparison.
+ *
+ * @version 1.7
+ */
+public class SimpleNestedRingTester
+{
+
+ private GeometryGraph graph; // used to find non-node vertices
+ private List rings = new ArrayList();
+ private Coordinate nestedPt;
+
+ public SimpleNestedRingTester(GeometryGraph graph)
+ {
+ this.graph = graph;
+ }
+
+ public void add(LinearRing ring)
+ {
+ rings.add(ring);
+ }
+
+ public Coordinate getNestedPoint() { return nestedPt; }
+
+ public boolean isNonNested()
+ {
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing innerRing = (LinearRing) rings.get(i);
+ Coordinate[] innerRingPts = innerRing.getCoordinates();
+
+ for (int j = 0; j < rings.size(); j++) {
+ LinearRing searchRing = (LinearRing) rings.get(j);
+ Coordinate[] searchRingPts = searchRing.getCoordinates();
+
+ if (innerRing == searchRing)
+ continue;
+
+ if (! innerRing.getEnvelopeInternal().intersects(searchRing.getEnvelopeInternal()))
+ continue;
+
+ Coordinate innerRingPt = IsValidOp.findPtNotNode(innerRingPts, searchRing, graph);
+ Assert.isTrue(innerRingPt != null, "Unable to find a ring point not a node of the search ring");
+ //Coordinate innerRingPt = innerRingPts[0];
+
+ boolean isInside = PointLocation.isInRing(innerRingPt, searchRingPts);
+ if (isInside) {
+ nestedPt = innerRingPt;
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidClosedRingTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidClosedRingTest.java
new file mode 100644
index 0000000..2ae1d65
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidClosedRingTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.valid;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Tests validating geometries with
+ * non-closed rings.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class ValidClosedRingTest
+ extends TestCase
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public ValidClosedRingTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(ValidClosedRingTest.class);
+ }
+
+ public void testBadLinearRing()
+ {
+ LinearRing ring = (LinearRing) fromWKT("LINEARRING (0 0, 0 10, 10 10, 10 0, 0 0)");
+ updateNonClosedRing(ring);
+ checkIsValid(ring, false);
+ }
+
+ public void testGoodLinearRing()
+ {
+ LinearRing ring = (LinearRing) fromWKT("LINEARRING (0 0, 0 10, 10 10, 10 0, 0 0)");
+ checkIsValid(ring, true);
+ }
+
+ public void testBadPolygonShell()
+ {
+ Polygon poly = (Polygon) fromWKT("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))");
+ updateNonClosedRing((LinearRing) poly.getExteriorRing());
+ checkIsValid(poly, false);
+ }
+
+ public void testBadPolygonHole()
+ {
+ Polygon poly = (Polygon) fromWKT("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1) ))");
+ updateNonClosedRing((LinearRing) poly.getInteriorRingN(0));
+ checkIsValid(poly, false);
+ }
+
+ public void testGoodPolygon()
+ {
+ Polygon poly = (Polygon) fromWKT("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))");
+ checkIsValid(poly, true);
+ }
+
+ public void testBadGeometryCollection()
+ {
+ GeometryCollection gc = (GeometryCollection) fromWKT("GEOMETRYCOLLECTION ( POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1) )), POINT(0 0) )");
+ Polygon poly = (Polygon) gc.getGeometryN(0);
+ updateNonClosedRing((LinearRing) poly.getInteriorRingN(0));
+ checkIsValid(poly, false);
+ }
+
+
+ private void checkIsValid(Geometry geom, boolean expected)
+ {
+ IsValidOp validator = new IsValidOp(geom);
+ boolean isValid = validator.isValid();
+ assertTrue(isValid == expected);
+ }
+
+ Geometry fromWKT(String wkt)
+ {
+ Geometry geom = null;
+ try {
+ geom = rdr.read(wkt);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ return geom;
+ }
+
+ private void updateNonClosedRing(LinearRing ring)
+ {
+ Coordinate[] pts = ring.getCoordinates();
+ pts[0].x += 0.0001;
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidSelfTouchingRingFormingHoleTest.java b/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidSelfTouchingRingFormingHoleTest.java
new file mode 100644
index 0000000..bb93ca4
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/operation/valid/ValidSelfTouchingRingFormingHoleTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.operation.valid;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Tests allowing IsValidOp to validate polygons with
+ * Self-Touching Rings forming holes.
+ * Mainly tests that configuring {@link IsValidOp} to allow validating
+ * the STR validates polygons with this condition, and does not validate
+ * polygons with other kinds of self-intersection (such as ones with Disconnected Interiors).
+ * Includes some basic tests to confirm that other invalid cases remain detected correctly,
+ * but most of this testing is left to the existing XML validation tests.
+ *
+ * @author Martin Davis
+ * @version 1.7
+ */
+public class ValidSelfTouchingRingFormingHoleTest
+ extends TestCase
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public ValidSelfTouchingRingFormingHoleTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(ValidSelfTouchingRingFormingHoleTest.class);
+ }
+
+ /**
+ * Tests a geometry with both a shell self-touch and a hole self-touch.
+ * This is valid if STR is allowed, but invalid in OGC
+ */
+ public void testShellAndHoleSelfTouch()
+ {
+ String wkt = "POLYGON ((0 0, 0 340, 320 340, 320 0, 120 0, 180 100, 60 100, 120 0, 0 0), (80 300, 80 180, 200 180, 200 240, 280 200, 280 280, 200 240, 200 300, 80 300))";
+ checkIsValidSTR(wkt, true);
+ checkIsValidDefault(wkt, false);
+ }
+
+ /**
+ * Tests a geometry representing the same area as in {@link #testShellAndHoleSelfTouch}
+ * but using a shell-hole touch and a hole-hole touch.
+ * This is valid in OGC.
+ */
+ public void testShellHoleAndHoleHoleTouch()
+ {
+ String wkt = "POLYGON ((0 0, 0 340, 320 340, 320 0, 120 0, 0 0), (120 0, 180 100, 60 100, 120 0), (80 300, 80 180, 200 180, 200 240, 200 300, 80 300), (200 240, 280 200, 280 280, 200 240))";
+ checkIsValidSTR(wkt, true);
+ checkIsValidDefault(wkt, true);
+ }
+
+ /**
+ * Tests an overlapping hole condition, where one of the holes is created by a shell self-touch.
+ * This is never valid.
+ */
+ public void testShellSelfTouchHoleOverlappingHole()
+ {
+ String wkt = "POLYGON ((0 0, 220 0, 220 200, 120 200, 140 100, 80 100, 120 200, 0 200, 0 0), (200 80, 20 80, 120 200, 200 80))";
+ checkIsValidSTR(wkt, false);
+ checkIsValidDefault(wkt, false);
+ }
+
+ /**
+ * Ensure that the Disconnected Interior condition is not validated
+ */
+ public void testDisconnectedInteriorShellSelfTouchAtNonVertex()
+ {
+ String wkt = "POLYGON ((40 180, 40 60, 240 60, 240 180, 140 60, 40 180))";
+ checkIsValidSTR(wkt, false);
+ checkIsValidDefault(wkt, false);
+ }
+
+ /**
+ * Ensure that the Disconnected Interior condition is not validated
+ */
+ public void testDisconnectedInteriorShellSelfTouchAtVertex()
+ {
+ String wkt = "POLYGON ((20 20, 20 100, 140 100, 140 180, 260 180, 260 100, 140 100, 140 20, 20 20))";
+ checkIsValidSTR(wkt, false);
+ checkIsValidDefault(wkt, false);
+ }
+
+ public void testShellCross()
+ {
+ String wkt = "POLYGON ((20 20, 120 20, 120 220, 240 220, 240 120, 20 120, 20 20))";
+ checkIsValidSTR(wkt, false);
+ checkIsValidDefault(wkt, false);
+ }
+
+ public void testShellCrossAndSTR()
+ {
+ String wkt = "POLYGON ((20 20, 120 20, 120 220, 180 220, 140 160, 200 160, 180 220, 240 220, 240 120, 20 120, 20 20))";
+ checkIsValidSTR(wkt, false);
+ checkIsValidDefault(wkt, false);
+ }
+
+ private void checkIsValidDefault(String wkt, boolean expected)
+ {
+ Geometry geom = fromWKT(wkt);
+ IsValidOp validator = new IsValidOp(geom);
+ boolean isValid = validator.isValid();
+ assertTrue(isValid == expected);
+ }
+
+ private void checkIsValidSTR(String wkt, boolean expected)
+ {
+ Geometry geom = fromWKT(wkt);
+ IsValidOp validator = new IsValidOp(geom);
+ validator.setSelfTouchingRingFormingHoleValid(true);
+ boolean isValid = validator.isValid();
+ assertTrue(isValid == expected);
+ }
+
+ Geometry fromWKT(String wkt)
+ {
+ Geometry geom = null;
+ try {
+ geom = rdr.read(wkt);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ return geom;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/precision/CommonBitsOpTest.java b/modules/core/src/test/java/org/locationtech/jts/precision/CommonBitsOpTest.java
new file mode 100644
index 0000000..fe3f4dd
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/precision/CommonBitsOpTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
+
+import test.jts.GeometryTestCase;
+
+public class CommonBitsOpTest extends GeometryTestCase
+{
+
+ public CommonBitsOpTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Tests an issue where CommonBitsRemover was not persisting changes to some kinds of CoordinateSequences
+ */
+ public void testPackedCoordinateSequence() {
+ GeometryFactory pcsFactory = new GeometryFactory(PackedCoordinateSequenceFactory.DOUBLE_FACTORY);
+ Geometry geom0 = read(pcsFactory, "POLYGON ((210 210, 210 220, 220 220, 220 210, 210 210))");
+ Geometry geom1 = read("POLYGON ((225 225, 225 215, 215 215, 215 225, 225 225))");
+ CommonBitsOp cbo = new CommonBitsOp(true);
+ Geometry result = cbo.intersection(geom0, geom1);
+ Geometry expected = geom0.intersection(geom1);
+ ///Geometry expected = read("POLYGON ((220 215, 215 215, 215 220, 220 220, 220 215))");
+ checkEqual(expected, result);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/precision/GeometryPrecisionReducerTest.java b/modules/core/src/test/java/org/locationtech/jts/precision/GeometryPrecisionReducerTest.java
new file mode 100644
index 0000000..6e0baf8
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/precision/GeometryPrecisionReducerTest.java
@@ -0,0 +1,146 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+/**
+ * @version 1.12
+ */
+public class GeometryPrecisionReducerTest
+ extends TestCase
+{
+ private PrecisionModel pmFloat = new PrecisionModel();
+ private PrecisionModel pmFixed1 = new PrecisionModel(1);
+ private GeometryPrecisionReducer reducer = new GeometryPrecisionReducer(pmFixed1);
+ private GeometryPrecisionReducer reducerKeepCollapse
+ = new GeometryPrecisionReducer(pmFixed1);
+
+ private GeometryFactory gfFloat = new GeometryFactory(pmFloat, 0);
+ WKTReader reader = new WKTReader(gfFloat);
+
+ public static void main(String args[]) {
+ TestRunner.run(GeometryPrecisionReducerTest.class);
+ }
+
+ public GeometryPrecisionReducerTest(String name)
+ {
+ super(name);
+ reducerKeepCollapse.setRemoveCollapsedComponents(false);
+ }
+
+ public void testSquare()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, 1.4 1.4, 1.4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0 ))");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+ public void testTinySquareCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 .4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testSquareCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testSquareKeepCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ Geometry gReduce = reducerKeepCollapse.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testLine()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 1.4 )");
+ Geometry g2 = reader.read("LINESTRING (0 0, 0 1)");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testLineRemoveCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 .4 )");
+ Geometry g2 = reader.read("LINESTRING EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testLineKeepCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 .4 )");
+ Geometry g2 = reader.read("LINESTRING ( 0 0, 0 0 )");
+ Geometry gReduce = reducerKeepCollapse.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testPolgonWithCollapsedLine() throws Exception {
+ Geometry g = reader.read("POLYGON ((10 10, 100 100, 200 10.1, 300 10, 10 10))");
+ Geometry g2 = reader.read("POLYGON ((10 10, 100 100, 200 10, 10 10))");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testPolgonWithCollapsedLinePointwise() throws Exception {
+ Geometry g = reader.read("POLYGON ((10 10, 100 100, 200 10.1, 300 10, 10 10))");
+ Geometry g2 = reader.read("POLYGON ((10 10, 100 100, 200 10, 300 10, 10 10))");
+ Geometry gReduce = GeometryPrecisionReducer.reducePointwise(g, pmFixed1);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testPolgonWithCollapsedPoint() throws Exception {
+ Geometry g = reader.read("POLYGON ((10 10, 100 100, 200 10.1, 300 100, 400 10, 10 10))");
+ Geometry g2 = reader.read("MULTIPOLYGON (((10 10, 100 100, 200 10, 10 10)), ((200 10, 300 100, 400 10, 200 10)))");
+ Geometry gReduce = reducer.reduce(g);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ public void testPolgonWithCollapsedPointPointwise() throws Exception {
+ Geometry g = reader.read("POLYGON ((10 10, 100 100, 200 10.1, 300 100, 400 10, 10 10))");
+ Geometry g2 = reader.read("POLYGON ((10 10, 100 100, 200 10, 300 100, 400 10, 10 10))");
+ Geometry gReduce = GeometryPrecisionReducer.reducePointwise(g, pmFixed1);
+ assertEqualsExactAndHasSameFactory(gReduce, g2);
+ }
+
+ private void assertEqualsExactAndHasSameFactory(Geometry a, Geometry b)
+ {
+ assertTrue(a.equalsExact(b));
+ assertTrue(a.getFactory() == b.getFactory());
+ }
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/precision/MinimumClearanceTest.java b/modules/core/src/test/java/org/locationtech/jts/precision/MinimumClearanceTest.java
new file mode 100644
index 0000000..4f33eaa
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/precision/MinimumClearanceTest.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+public class MinimumClearanceTest extends TestCase {
+ public static void main(String args[]) {
+ TestRunner.run(MinimumClearanceTest.class);
+ }
+
+ private GeometryFactory geomFact = new GeometryFactory();
+ private WKTReader reader = new WKTReader();
+
+ public MinimumClearanceTest(String name) { super(name); }
+
+ public void test2IdenticalPoints()
+ throws ParseException
+ {
+ runTest("MULTIPOINT ((100 100), (100 100))", 1.7976931348623157E308);
+ }
+
+ public void test3Points()
+ throws ParseException
+ {
+ runTest("MULTIPOINT ((100 100), (10 100), (30 100))", 20);
+ }
+
+ public void testTriangle()
+ throws ParseException
+ {
+ runTest("POLYGON ((100 100, 300 100, 200 200, 100 100))", 100);
+ }
+
+ private void runTest(String wkt, double expectedValue)
+ throws ParseException
+ {
+ Geometry g = reader.read(wkt);
+ double rp = MinimumClearance.getDistance(g);
+ assertEquals(expectedValue, rp);
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducerTest.java b/modules/core/src/test/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducerTest.java
new file mode 100644
index 0000000..365c182
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/precision/SimpleGeometryPrecisionReducerTest.java
@@ -0,0 +1,110 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.precision;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class SimpleGeometryPrecisionReducerTest
+ extends TestCase
+{
+ private PrecisionModel pmFloat = new PrecisionModel();
+ private PrecisionModel pmFixed1 = new PrecisionModel(1);
+ private SimpleGeometryPrecisionReducer reducer = new SimpleGeometryPrecisionReducer(pmFixed1);
+ private SimpleGeometryPrecisionReducer reducerKeepCollapse
+ = new SimpleGeometryPrecisionReducer(pmFixed1);
+
+ private GeometryFactory gfFloat = new GeometryFactory(pmFloat, 0);
+ WKTReader reader = new WKTReader(gfFloat);
+
+ public static void main(String args[]) {
+ TestRunner.run(SimpleGeometryPrecisionReducerTest.class);
+ }
+
+ public SimpleGeometryPrecisionReducerTest(String name)
+ {
+ super(name);
+ reducerKeepCollapse.setRemoveCollapsedComponents(false);
+
+ }
+
+ public void testSquare()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, 1.4 1.4, 1.4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0 ))");
+ Geometry gReduce = reducer.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testTinySquareCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 .4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testSquareCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testSquareKeepCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("POLYGON (( 0 0, 0 1.4, .4 .4, .4 0, 0 0 ))");
+ Geometry g2 = reader.read("POLYGON (( 0 0, 0 1, 0 0, 0 0, 0 0 ))");
+ Geometry gReduce = reducerKeepCollapse.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testLine()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 1.4 )");
+ Geometry g2 = reader.read("LINESTRING (0 0, 0 1)");
+ Geometry gReduce = reducer.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testLineRemoveCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 .4 )");
+ Geometry g2 = reader.read("LINESTRING EMPTY");
+ Geometry gReduce = reducer.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+ public void testLineKeepCollapse()
+ throws Exception
+ {
+ Geometry g = reader.read("LINESTRING ( 0 0, 0 .4 )");
+ Geometry g2 = reader.read("LINESTRING ( 0 0, 0 0 )");
+ Geometry gReduce = reducerKeepCollapse.reduce(g);
+ assertTrue(gReduce.equalsExact(g2));
+ }
+
+
+
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifierTest.java b/modules/core/src/test/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifierTest.java
new file mode 100644
index 0000000..3c9db94
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/simplify/DouglasPeuckerSimplifierTest.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @version 1.7
+ */
+public class DouglasPeuckerSimplifierTest
+ extends TestCase
+{
+ public DouglasPeuckerSimplifierTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(DouglasPeuckerSimplifierTest.class);
+ }
+
+ public void testEmptyPolygon() throws Exception {
+ String geomStr = "POLYGON(EMPTY)";
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ geomStr,
+ 1))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+ public void testPoint() throws Exception {
+ String geomStr = "POINT (10 10)";
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ geomStr,
+ 1))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+
+ public void testPolygonNoReduction() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((20 220, 40 220, 60 220, 80 220, 100 220, 120 220, 140 220, 140 180, 100 180, 60 180, 20 180, 20 220))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonReductionWithSplit() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((40 240, 160 241, 280 240, 280 160, 160 240, 40 140, 40 240))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonReduction() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((120 120, 121 121, 122 122, 220 120, 180 199, 160 200, 140 199, 120 120))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonWithTouchingHole() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((80 200, 240 200, 240 60, 80 60, 80 200), (120 120, 220 120, 180 199, 160 200, 140 199, 120 120))",
+ 10.0))
+ .setExpectedResult("POLYGON ((80 200, 160 200, 240 200, 240 60, 80 60, 80 200), (160 200, 140 199, 120 120, 220 120, 180 199, 160 200)))")
+ .test();
+ }
+ public void testFlattishPolygon() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((0 0, 50 0, 53 0, 55 0, 100 0, 70 1, 60 1, 50 1, 40 1, 0 0))",
+ 10.0))
+ .test();
+ }
+ public void testTinySquare() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((0 5, 5 5, 5 0, 0 0, 0 1, 0 5))",
+ 10.0))
+ .test();
+ }
+ public void testTinyHole() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "POLYGON ((10 10, 10 310, 370 310, 370 10, 10 10), (160 190, 180 190, 180 170, 160 190))",
+ 30.0))
+ .testEmpty(false);
+ }
+ public void testTinyLineString() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "LINESTRING (0 5, 1 5, 2 5, 5 5)",
+ 10.0))
+ .test();
+ }
+ public void testMultiPoint() throws Exception {
+ String geomStr = "MULTIPOINT(80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120)";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 10.0))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+ public void testMultiLineString() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "MULTILINESTRING( (0 0, 50 0, 70 0, 80 0, 100 0), (0 0, 50 1, 60 1, 100 0) )",
+ 10.0))
+ .test();
+ }
+ public void testMultiLineStringWithEmpty() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "MULTILINESTRING( EMPTY, (0 0, 50 0, 70 0, 80 0, 100 0), (0 0, 50 1, 60 1, 100 0) )",
+ 10.0))
+ .test();
+ }
+ public void testMultiPolygonWithEmpty() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "MULTIPOLYGON (EMPTY, ((-36 91.5, 4.5 91.5, 4.5 57.5, -36 57.5, -36 91.5)), ((25.5 57.5, 61.5 57.5, 61.5 23.5, 25.5 23.5, 25.5 57.5)))",
+ 10.0))
+ .test();
+ }
+ public void testGeometryCollection() throws Exception {
+ new GeometryOperationValidator(
+ DPSimplifierResult.getResult(
+ "GEOMETRYCOLLECTION ("
+ + "MULTIPOINT (80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120),"
+ + "POLYGON ((80 200, 240 200, 240 60, 80 60, 80 200)),"
+ + "LINESTRING (80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120)"
+ + ")"
+ ,10.0))
+ .test();
+ }
+}
+
+class DPSimplifierResult
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public static Geometry[] getResult(String wkt, double tolerance)
+ throws ParseException
+ {
+ Geometry[] ioGeom = new Geometry[2];
+ ioGeom[0] = rdr.read(wkt);
+ ioGeom[1] = DouglasPeuckerSimplifier.simplify(ioGeom[0], tolerance);
+ //System.out.println(ioGeom[1]);
+ return ioGeom;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/simplify/GeometryOperationValidator.java b/modules/core/src/test/java/org/locationtech/jts/simplify/GeometryOperationValidator.java
new file mode 100644
index 0000000..80501b2
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/simplify/GeometryOperationValidator.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.Assert;
+
+
+/**
+ * Runs various validation tests on a the results of a geometry operation
+ */
+public class GeometryOperationValidator
+{
+ private static WKTReader rdr = new WKTReader();
+ private Geometry[] ioGeometry;
+ private boolean expectedSameStructure = false;
+ private String wktExpected = null;
+
+ public GeometryOperationValidator(Geometry[] ioGeometry)
+ {
+ this.ioGeometry = ioGeometry;
+ }
+
+ public GeometryOperationValidator setExpectedResult(String wktExpected)
+ {
+ this.wktExpected = wktExpected;
+ return this;
+ }
+
+ public GeometryOperationValidator setExpectedSameStructure()
+ {
+ this.expectedSameStructure = true;
+ return this;
+ }
+
+ public boolean isAllTestsPassed()
+ {
+ try {
+ test();
+ }
+ catch (Throwable e) {
+ return false;
+ }
+ return true;
+ }
+ /**
+ * Tests if the result is valid.
+ * Throws an exception if result is not valid.
+ * This allows chaining multiple tests together.
+ *
+ * @throws Exception if the result is not valid.
+ */
+ public void test()
+ throws Exception
+ {
+ testSameStructure();
+ testValid();
+ testExpectedResult();
+ }
+
+ public GeometryOperationValidator testSameStructure() throws Exception {
+ if (!expectedSameStructure)
+ return this;
+ Assert.assertTrue("simplified geometry has different structure than input",
+ SameStructureTester.isSameStructure(ioGeometry[0], ioGeometry[1]));
+ return this;
+ }
+
+ public GeometryOperationValidator testValid() throws Exception {
+ Assert.assertTrue("simplified geometry is not valid", ioGeometry[1]
+ .isValid());
+ return this;
+ }
+
+ public GeometryOperationValidator testEmpty(boolean isEmpty) throws Exception {
+ String failureCondition = isEmpty ? "not empty" : "empty";
+ Assert.assertTrue("simplified geometry is " + failureCondition,
+ ioGeometry[1].isEmpty() == isEmpty);
+ return this;
+ }
+
+ private void testExpectedResult()
+ throws Exception
+ {
+ if (wktExpected == null) return;
+ Geometry expectedGeom = rdr.read(wktExpected);
+ boolean isEqual = expectedGeom.equalsExact(ioGeometry[1]);
+ if (! isEqual) {
+ System.out.println("Result not expected: " + ioGeometry[1]);
+ }
+ Assert.assertTrue("Expected result not found",isEqual);
+
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/simplify/SameStructureTester.java b/modules/core/src/test/java/org/locationtech/jts/simplify/SameStructureTester.java
new file mode 100644
index 0000000..d0439f8
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/simplify/SameStructureTester.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Test if two geometries have the same structure
+ * (but not necessarily the same coordinate sequences or adjacencies).
+ */
+public class SameStructureTester {
+
+ public static boolean isSameStructure(Geometry g1, Geometry g2)
+ {
+ if (g1.getClass() != g2.getClass())
+ return false;
+ if (g1 instanceof GeometryCollection)
+ return isSameStructureCollection((GeometryCollection) g1, (GeometryCollection) g2);
+ else if (g1 instanceof Polygon)
+ return isSameStructurePolygon((Polygon) g1, (Polygon) g2);
+ else if (g1 instanceof LineString)
+ return isSameStructureLineString((LineString) g1, (LineString) g2);
+ else if (g1 instanceof Point)
+ return isSameStructurePoint((Point) g1, (Point) g2);
+
+ Assert.shouldNeverReachHere(
+ "Unsupported Geometry class: " + g1.getClass().getName());
+ return false;
+ }
+
+ private static boolean isSameStructureCollection(GeometryCollection g1, GeometryCollection g2)
+ {
+ if (g1.getNumGeometries() != g2.getNumGeometries())
+ return false;
+ for (int i = 0; i < g1.getNumGeometries(); i++) {
+ if (! isSameStructure(g1.getGeometryN(i), g2.getGeometryN(i)))
+ return false;
+ }
+ return true;
+ }
+
+ private static boolean isSameStructurePolygon(Polygon g1, Polygon g2)
+ {
+ if (g1.getNumInteriorRing() != g2.getNumInteriorRing())
+ return false;
+ // could check for both empty or nonempty here
+ return true;
+ }
+
+ private static boolean isSameStructureLineString(LineString g1, LineString g2)
+ {
+ // could check for both empty or nonempty here
+ return true;
+ }
+
+ private static boolean isSameStructurePoint(Point g1, Point g2)
+ {
+ // could check for both empty or nonempty here
+ return true;
+ }
+
+ private SameStructureTester() {
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/simplify/TopologyPreservingSimplifierTest.java b/modules/core/src/test/java/org/locationtech/jts/simplify/TopologyPreservingSimplifierTest.java
new file mode 100644
index 0000000..9bf3bc9
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/simplify/TopologyPreservingSimplifierTest.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @version 1.7
+ */
+public class TopologyPreservingSimplifierTest
+ extends TestCase
+{
+ public TopologyPreservingSimplifierTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(TopologyPreservingSimplifierTest.class);
+ }
+
+ public void testEmptyPolygon() throws Exception {
+ String geomStr = "POLYGON(EMPTY)";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 1))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+ public void testPoint() throws Exception {
+ String geomStr = "POINT (10 10)";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 1))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+
+ /**
+ * Test is from http://postgis.refractions.net/pipermail/postgis-users/2008-April/019327.html
+ * Exhibits the issue where simplified polygon shells can "jump" across
+ * holes, causing invalid topology.
+ *
+ * @throws Exception
+ */
+ public void testMultiPolygonWithSmallComponents() throws Exception {
+ String geomStr = "MULTIPOLYGON(((13.73095 51.024734,13.7309323 51.0247668,13.7306959 51.0247959,13.7292724 51.0249742,13.7280216 51.0251252,13.7266598 51.0252998,13.7259617 51.0254072,13.7258854 51.0254201,13.7253253 51.0255144,13.725276 51.025492,13.724538 51.025631,13.7230288 51.0259021,13.7223529 51.0260273,13.7223299 51.0260863,13.7222292 51.026391,13.7220002 51.0273366,13.7217875 51.0282094,13.721746 51.028243,13.7217693 51.0282803,13.7215512 51.0291967,13.721513 51.029222,13.72 [...]
+ boolean isPassed = new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 0.0057))
+ .isAllTestsPassed();
+ assertTrue(! isPassed);
+ }
+ /**
+ * Test is from http://lists.jump-project.org/pipermail/jts-devel/2008-February/002350.html
+ * @throws Exception
+ */
+ public void testPolygonWithSpike() throws Exception {
+ String geomStr = "POLYGON ((3312459.605 6646878.353, 3312460.524 6646875.969, 3312459.427 6646878.421, 3312460.014 6646886.391, 3312465.889 6646887.398, 3312470.827 6646884.839, 3312475.4 6646878.027, 3312477.289 6646871.694, 3312472.748 6646869.547, 3312468.253 6646874.01, 3312463.52 6646875.779, 3312459.605 6646878.353))";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 2.0))
+ .test();
+ }
+ public void testPolygonNoReduction() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "POLYGON ((20 220, 40 220, 60 220, 80 220, 100 220, 120 220, 140 220, 140 180, 100 180, 60 180, 20 180, 20 220))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonNoReductionWithConflicts() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "POLYGON ((40 240, 160 241, 280 240, 280 160, 160 240, 40 140, 40 240))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonWithTouchingHole() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "POLYGON ((80 200, 240 200, 240 60, 80 60, 80 200), (120 120, 220 120, 180 199, 160 200, 140 199, 120 120))",
+ 10.0))
+ .setExpectedResult("POLYGON ((80 200, 240 200, 240 60, 80 60, 80 200), (120 120, 220 120, 180 199, 160 200, 140 199, 120 120))")
+ .test();
+ }
+ public void testFlattishPolygon() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "POLYGON ((0 0, 50 0, 53 0, 55 0, 100 0, 70 1, 60 1, 50 1, 40 1, 0 0))",
+ 10.0))
+ .test();
+ }
+ public void testPolygonWithFlattishHole() throws Exception {
+ String geomStr = "POLYGON ((0 0, 0 200, 200 200, 200 0, 0 0), (140 40, 90 95, 40 160, 95 100, 140 40))";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 20.0))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+ public void testTinySquare() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "POLYGON ((0 5, 5 5, 5 0, 0 0, 0 1, 0 5))",
+ 10.0))
+ .test();
+ }
+ public void testTinyLineString() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "LINESTRING (0 5, 1 5, 2 5, 5 5)",
+ 10.0))
+ .test();
+ }
+
+ public void testTinyClosedLineString() throws Exception {
+ String geomStr = "LINESTRING (0 0, 5 0, 5 5, 0 0)";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 10))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+ public void testMultiPoint() throws Exception {
+ String geomStr = "MULTIPOINT(80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120)";
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ geomStr,
+ 10.0))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+ public void testMultiLineString() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "MULTILINESTRING( (0 0, 50 0, 70 0, 80 0, 100 0), (0 0, 50 1, 60 1, 100 0) )",
+ 10.0))
+ .test();
+ }
+ public void testMultiLineStringWithEmpty() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "MULTILINESTRING(EMPTY, (0 0, 50 0, 70 0, 80 0, 100 0), (0 0, 50 1, 60 1, 100 0) )",
+ 10.0))
+ .test();
+ }
+ public void testMultiPolygonWithEmpty() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "MULTIPOLYGON (EMPTY, ((-36 91.5, 4.5 91.5, 4.5 57.5, -36 57.5, -36 91.5)), ((25.5 57.5, 61.5 57.5, 61.5 23.5, 25.5 23.5, 25.5 57.5)))",
+ 10.0))
+ .test();
+ }
+ public void testGeometryCollection() throws Exception {
+ new GeometryOperationValidator(
+ TPSimplifierResult.getResult(
+ "GEOMETRYCOLLECTION ("
+ + "MULTIPOINT (80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120),"
+ + "POLYGON ((80 200, 240 200, 240 60, 80 60, 80 200)),"
+ + "LINESTRING (80 200, 240 200, 240 60, 80 60, 80 200, 140 199, 120 120)"
+ + ")"
+ ,10.0))
+ .test();
+ }
+}
+
+class TPSimplifierResult
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public static Geometry[] getResult(String wkt, double tolerance)
+ throws ParseException
+ {
+ Geometry[] ioGeom = new Geometry[2];
+ ioGeom[0] = rdr.read(wkt);
+ ioGeom[1] = TopologyPreservingSimplifier.simplify(ioGeom[0], tolerance);
+ //System.out.println(ioGeom[1]);
+ return ioGeom;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/simplify/VWSimplifierTest.java b/modules/core/src/test/java/org/locationtech/jts/simplify/VWSimplifierTest.java
new file mode 100644
index 0000000..76b5ac3
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/simplify/VWSimplifierTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.simplify;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @version 1.7
+ */
+public class VWSimplifierTest
+ extends TestCase
+{
+ public VWSimplifierTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(VWSimplifierTest.class);
+ }
+
+ public void testEmptyPolygon() throws Exception {
+ String geomStr = "POLYGON(EMPTY)";
+ new GeometryOperationValidator(
+ VWSimplifierResult.getResult(
+ geomStr,
+ 1))
+ .setExpectedResult(geomStr)
+ .test();
+ }
+
+ public void testPolygonNoReduction() throws Exception {
+ new GeometryOperationValidator(
+ VWSimplifierResult.getResult(
+ "POLYGON ((20 220, 40 220, 60 220, 80 220, 100 220, 120 220, 140 220, 140 180, 100 180, 60 180, 20 180, 20 220))",
+ 1.0))
+ .test();
+ }
+ public void testPolygonSpikeInShell() throws Exception {
+ new GeometryOperationValidator(
+ VWSimplifierResult.getResult(
+ "POLYGON ((1721355.3 693015.146, 1721318.687 693046.251, 1721306.747 693063.038, 1721367.025 692978.29, 1721355.3 693015.146))",
+ 10.0))
+ .setExpectedResult("POLYGON ((1721355.3 693015.146, 1721367.025 692978.29, 1721318.687 693046.251, 1721355.3 693015.146))")
+ .test();
+ }
+ public void testPolygonSpikeInHole() throws Exception {
+ new GeometryOperationValidator(
+ VWSimplifierResult.getResult(
+ "POLYGON ((1721270 693090, 1721400 693090, 1721400 692960, 1721270 692960, 1721270 693090), (1721355.3 693015.146, 1721318.687 693046.251, 1721306.747 693063.038, 1721367.025 692978.29, 1721355.3 693015.146))",
+ 10.0))
+ .setExpectedResult("POLYGON ((1721270 693090, 1721400 693090, 1721400 692960, 1721270 692960, 1721270 693090), (1721355.3 693015.146, 1721318.687 693046.251, 1721367.025 692978.29, 1721355.3 693015.146))")
+ .test();
+ }
+
+
+}
+
+class VWSimplifierResult
+{
+ private static WKTReader rdr = new WKTReader();
+
+ public static Geometry[] getResult(String wkt, double tolerance)
+ throws ParseException
+ {
+ Geometry[] ioGeom = new Geometry[2];
+ ioGeom[0] = rdr.read(wkt);
+ ioGeom[1] = VWSimplifier.simplify(ioGeom[0], tolerance);
+ //System.out.println(ioGeom[1]);
+ return ioGeom;
+ }
+}
diff --git a/modules/core/src/test/java/org/locationtech/jts/triangulate/ConformingDelaunayTest.java b/modules/core/src/test/java/org/locationtech/jts/triangulate/ConformingDelaunayTest.java
new file mode 100644
index 0000000..af2b519
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/triangulate/ConformingDelaunayTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests Delaunay Triangulation classes
+ *
+ */
+public class ConformingDelaunayTest extends TestCase {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(ConformingDelaunayTest.class);
+ }
+
+ public ConformingDelaunayTest(String name) { super(name); }
+
+ public void testRandom()
+ throws ParseException
+ {
+ String wkt = "MULTIPOINT ((90 290), (120 250), (280 250), (200 200), (220 290), (170 320), (110 180), (70 140), (180 110), (210 80), (250 120))";
+ String lineWKT = "MULTILINESTRING ((130 160, 150 280, 200 250), (180 120, 240 230), (40 270, 90 220), (90 270, 130 290, 100 280, 140 310))";
+
+ String expected = "MULTILINESTRING ((220 290, 280 250), (170 320, 220 290), (170 320, 140 310), (90 290, 140 310), (90 290, 40 270), (70 140, 40 270), (70 140, 210 80), (210 80, 250 120), (280 250, 250 120), (250 120, 240 230), (280 250, 240 230), (240 230, 220 290), (200 250, 240 230), (220 290, 200 250), (150 280, 200 250), (220 290, 150 280), (170 320, 150 280), (140 310, 150 280), (130 290, 150 280), (130 290, 140 310), (130 290, 124 298), (140 310, 124 298), (90 290, 124 298), (1 [...]
+ runDelaunay(wkt, lineWKT, false, expected);
+
+ String expectedTri = "GEOMETRYCOLLECTION (POLYGON ((40 270, 70 140, 90 220, 40 270)), POLYGON ((40 270, 90 220, 90 270, 40 270)), POLYGON ((40 270, 90 270, 90 290, 40 270)), POLYGON ((90 290, 90 270, 100 280, 90 290)), POLYGON ((90 290, 100 280, 124 298, 90 290)), POLYGON ((90 290, 124 298, 140 310, 90 290)), POLYGON ((140 310, 124 298, 130 290, 140 310)), POLYGON ((140 310, 130 290, 150 280, 140 310)), POLYGON ((140 310, 150 280, 170 320, 140 310)), POLYGON ((170 320, 150 280, 220 29 [...]
+ runDelaunay(wkt, lineWKT, true, expectedTri);
+ }
+
+ static final double COMPARISON_TOLERANCE = 1.0e-7;
+
+ void runDelaunay(String sitesWKT, String constraintsWKT, boolean computeTriangles, String expectedWKT)
+ throws ParseException
+ {
+ Geometry sites = reader.read(sitesWKT);
+ Geometry constraints = reader.read(constraintsWKT);
+
+ ConformingDelaunayTriangulationBuilder builder = new ConformingDelaunayTriangulationBuilder();
+ builder.setSites(sites);
+ builder.setConstraints(constraints);
+ GeometryFactory geomFact = new GeometryFactory();
+
+ Geometry result = null;
+ if (computeTriangles) {
+ result = builder.getTriangles(geomFact);
+ }
+ else {
+ result = builder.getEdges(geomFact);
+ }
+ //System.out.println(result);
+
+ Geometry expectedEdges = reader.read(expectedWKT);
+ result.normalize();
+ expectedEdges.normalize();
+ assertTrue(expectedEdges.equalsExact(result, COMPARISON_TOLERANCE));
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/triangulate/DelaunayTest.java b/modules/core/src/test/java/org/locationtech/jts/triangulate/DelaunayTest.java
new file mode 100644
index 0000000..d650753
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/triangulate/DelaunayTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests Delaunay Triangulation classes
+ *
+ */
+public class DelaunayTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(DelaunayTest.class);
+ }
+
+ private GeometryFactory geomFact = new GeometryFactory();
+ private WKTReader reader = new WKTReader();
+
+ public DelaunayTest(String name) { super(name); }
+
+ public void testTriangle()
+ throws ParseException
+ {
+ String wkt = "MULTIPOINT ((10 10 1), (10 20 2), (20 20 3))";
+ String expected = "MULTILINESTRING ((10 20, 20 20), (10 10, 10 20), (10 10, 20 20))";
+ runDelaunayEdges(wkt, expected);
+ String expectedTri = "GEOMETRYCOLLECTION (POLYGON ((10 20, 10 10, 20 20, 10 20)))";
+ runDelaunay(wkt, true, expectedTri);
+ }
+
+ public void testRandom()
+ throws ParseException
+ {
+ String wkt = "MULTIPOINT ((50 40), (140 70), (80 100), (130 140), (30 150), (70 180), (190 110), (120 20))";
+ String expected = "MULTILINESTRING ((70 180, 190 110), (30 150, 70 180), (30 150, 50 40), (50 40, 120 20), (190 110, 120 20), (120 20, 140 70), (190 110, 140 70), (130 140, 140 70), (130 140, 190 110), (70 180, 130 140), (80 100, 130 140), (70 180, 80 100), (30 150, 80 100), (50 40, 80 100), (80 100, 120 20), (80 100, 140 70))";
+ runDelaunayEdges(wkt, expected);
+ String expectedTri = "GEOMETRYCOLLECTION (POLYGON ((30 150, 50 40, 80 100, 30 150)), POLYGON ((30 150, 80 100, 70 180, 30 150)), POLYGON ((70 180, 80 100, 130 140, 70 180)), POLYGON ((70 180, 130 140, 190 110, 70 180)), POLYGON ((190 110, 130 140, 140 70, 190 110)), POLYGON ((190 110, 140 70, 120 20, 190 110)), POLYGON ((120 20, 140 70, 80 100, 120 20)), POLYGON ((120 20, 80 100, 50 40, 120 20)), POLYGON ((80 100, 140 70, 130 140, 80 100)))";
+ runDelaunay(wkt, true, expectedTri);
+ }
+
+ public void testGrid()
+ throws ParseException
+ {
+ String wkt = "MULTIPOINT ((10 10), (10 20), (20 20), (20 10), (20 0), (10 0), (0 0), (0 10), (0 20))";
+ String expected = "MULTILINESTRING ((10 20, 20 20), (0 20, 10 20), (0 10, 0 20), (0 0, 0 10), (0 0, 10 0), (10 0, 20 0), (20 0, 20 10), (20 10, 20 20), (10 20, 20 10), (10 10, 20 10), (10 10, 10 20), (10 10, 0 20), (10 10, 0 10), (10 0, 10 10), (0 10, 10 0), (10 10, 20 0))";
+ runDelaunayEdges(wkt, expected);
+ String expectedTri = "GEOMETRYCOLLECTION (POLYGON ((0 20, 0 10, 10 10, 0 20)), POLYGON ((0 20, 10 10, 10 20, 0 20)), POLYGON ((10 20, 10 10, 20 10, 10 20)), POLYGON ((10 20, 20 10, 20 20, 10 20)), POLYGON ((10 0, 20 0, 10 10, 10 0)), POLYGON ((10 0, 10 10, 0 10, 10 0)), POLYGON ((10 0, 0 10, 0 0, 10 0)), POLYGON ((10 10, 20 0, 20 10, 10 10)))";
+ runDelaunay(wkt, true, expectedTri);
+ }
+
+ public void testCircle()
+ throws ParseException
+ {
+ String wkt = "POLYGON ((42 30, 41.96 29.61, 41.85 29.23, 41.66 28.89, 41.41 28.59, 41.11 28.34, 40.77 28.15, 40.39 28.04, 40 28, 39.61 28.04, 39.23 28.15, 38.89 28.34, 38.59 28.59, 38.34 28.89, 38.15 29.23, 38.04 29.61, 38 30, 38.04 30.39, 38.15 30.77, 38.34 31.11, 38.59 31.41, 38.89 31.66, 39.23 31.85, 39.61 31.96, 40 32, 40.39 31.96, 40.77 31.85, 41.11 31.66, 41.41 31.41, 41.66 31.11, 41.85 30.77, 41.96 30.39, 42 30))";
+ String expected = "MULTILINESTRING ((41.66 31.11, 41.85 30.77), (41.41 31.41, 41.66 31.11), (41.11 31.66, 41.41 31.41), (40.77 31.85, 41.11 31.66), (40.39 31.96, 40.77 31.85), (40 32, 40.39 31.96), (39.61 31.96, 40 32), (39.23 31.85, 39.61 31.96), (38.89 31.66, 39.23 31.85), (38.59 31.41, 38.89 31.66), (38.34 31.11, 38.59 31.41), (38.15 30.77, 38.34 31.11), (38.04 30.39, 38.15 30.77), (38 30, 38.04 30.39), (38 30, 38.04 29.61), (38.04 29.61, 38.15 29.23), (38.15 29.23, 38.34 28.89), [...]
+ runDelaunayEdges(wkt, expected);
+ }
+
+ public void testPolygonWithChevronHoles()
+ throws ParseException
+ {
+ String wkt = "POLYGON ((0 0, 0 200, 180 200, 180 0, 0 0), (20 180, 160 180, 160 20, 152.625 146.75, 20 180), (30 160, 150 30, 70 90, 30 160))";
+ String expected = "MULTILINESTRING ((0 200, 180 200), (0 0, 0 200), (0 0, 180 0), (180 200, 180 0), (152.625 146.75, 180 0), (152.625 146.75, 180 200), (152.625 146.75, 160 180), (160 180, 180 200), (0 200, 160 180), (20 180, 160 180), (0 200, 20 180), (20 180, 30 160), (30 160, 0 200), (0 0, 30 160), (30 160, 70 90), (0 0, 70 90), (70 90, 150 30), (150 30, 0 0), (150 30, 160 20), (0 0, 160 20), (160 20, 180 0), (152.625 146.75, 160 20), (150 30, 152.625 146.75), (70 90, 152.625 146. [...]
+ runDelaunayEdges(wkt, expected);
+ }
+
+ static final double COMPARISON_TOLERANCE = 1.0e-7;
+
+ void runDelaunayEdges(String sitesWKT, String expectedWKT)
+ throws ParseException
+ {
+ runDelaunay(sitesWKT, false, expectedWKT);
+ }
+
+ void runDelaunay(String sitesWKT, boolean computeTriangles, String expectedWKT)
+ throws ParseException
+ {
+ Geometry sites = reader.read(sitesWKT);
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(sites);
+
+ Geometry result = null;
+ if (computeTriangles) {
+ result = builder.getTriangles(geomFact);
+ }
+ else {
+ result = builder.getEdges(geomFact);
+ }
+ //System.out.println(result);
+
+ Geometry expected = reader.read(expectedWKT);
+ result.normalize();
+ expected.normalize();
+ assertTrue(expected.equalsExact(result, COMPARISON_TOLERANCE));
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/triangulate/VoronoiTest.java b/modules/core/src/test/java/org/locationtech/jts/triangulate/VoronoiTest.java
new file mode 100644
index 0000000..7daff45
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/triangulate/VoronoiTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package org.locationtech.jts.triangulate;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.triangulate.quadedge.QuadEdgeSubdivision;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+/**
+ * Tests Voronoi diagram generation
+ *
+ */
+public class VoronoiTest extends TestCase {
+
+ private WKTReader reader = new WKTReader();
+
+ public static void main(String args[]) {
+ TestRunner.run(VoronoiTest.class);
+ }
+
+ public VoronoiTest(String name) { super(name); }
+
+ public void testSimple()
+ throws ParseException
+ {
+ String wkt = "MULTIPOINT ((10 10), (20 70), (60 30), (80 70))";
+ String expected = "GEOMETRYCOLLECTION (POLYGON ((-1162.076359832636 462.66344142259413, 50 419.375, 50 60, 27.857142857142854 37.857142857142854, -867 187, -1162.076359832636 462.66344142259413)), POLYGON ((-867 187, 27.857142857142854 37.857142857142854, 245 -505, 45 -725, -867 187)), POLYGON ((27.857142857142854 37.857142857142854, 50 60, 556.6666666666666 -193.33333333333331, 245 -505, 27.857142857142854 37.857142857142854)), POLYGON ((50 60, 50 419.375, 1289.1616314199396 481.333 [...]
+ runVoronoi(wkt, true, expected);
+ }
+
+ static final double COMPARISON_TOLERANCE = 1.0e-7;
+
+ void runVoronoi(String sitesWKT, boolean computeTriangles, String expectedWKT)
+ throws ParseException
+ {
+ Geometry sites = reader.read(sitesWKT);
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(sites);
+
+ QuadEdgeSubdivision subdiv = builder.getSubdivision();
+
+ GeometryFactory geomFact = new GeometryFactory();
+ Geometry result = null;
+ if (computeTriangles) {
+ result = subdiv.getVoronoiDiagram(geomFact);
+ }
+ else {
+ //result = builder.getEdges(geomFact);
+ }
+ //System.out.println(result);
+
+ Geometry expectedEdges = reader.read(expectedWKT);
+ result.normalize();
+ expectedEdges.normalize();
+ assertTrue(expectedEdges.equalsExact(result, COMPARISON_TOLERANCE));
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/org/locationtech/jts/util/PriorityQueueTest.java b/modules/core/src/test/java/org/locationtech/jts/util/PriorityQueueTest.java
new file mode 100644
index 0000000..9ea908f
--- /dev/null
+++ b/modules/core/src/test/java/org/locationtech/jts/util/PriorityQueueTest.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package org.locationtech.jts.util;
+
+import junit.framework.TestCase;
+
+/**
+ * @version 1.7
+ */
+public class PriorityQueueTest
+ extends TestCase
+{
+ public PriorityQueueTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(PriorityQueueTest.class);
+ }
+
+ public void testOrder1() throws Exception {
+ PriorityQueue q = new PriorityQueue();
+ q.add(new Integer(1));
+ q.add(new Integer(10));
+ q.add(new Integer(5));
+ q.add(new Integer(8));
+ q.add(new Integer(-1));
+ checkOrder(q);
+ }
+
+ public void testOrderRandom1() throws Exception {
+ PriorityQueue q = new PriorityQueue();
+ addRandomItems(q, 100);
+ checkOrder(q);
+ }
+
+ private void addRandomItems(PriorityQueue q, int num)
+ {
+ for (int i = 0 ; i < num; i++) {
+ q.add(new Integer((int) (num * Math.random())));
+ }
+ }
+
+ private void checkOrder(PriorityQueue q)
+ {
+ Comparable curr = null;
+
+ while (! q.isEmpty()) {
+ Comparable next = (Comparable) q.poll();
+ //System.out.println(next);
+ if (curr == null)
+ curr = next;
+ else
+ assertTrue(next.compareTo(curr) >= 0);
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/GeometryTestCase.java b/modules/core/src/test/java/test/jts/GeometryTestCase.java
new file mode 100644
index 0000000..f3f05c9
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/GeometryTestCase.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+
+/**
+ * A base class for Geometry tests which provides various utility methods.
+ *
+ * @author mbdavis
+ *
+ */
+public class GeometryTestCase extends TestCase{
+
+ GeometryFactory geomFactory = new GeometryFactory();
+
+ WKTReader reader = new WKTReader(geomFactory);
+
+ public GeometryTestCase(String name) {
+ super(name);
+ }
+
+ protected void checkEqual(Geometry expected, Geometry actual) {
+ Geometry actualNorm = actual.norm();
+ Geometry expectedNorm = expected.norm();
+ boolean equal = actualNorm.equalsExact(expectedNorm);
+ if (! equal) {
+ System.out.println("FAIL - Expected = " + expectedNorm
+ + " actual = " + actualNorm );
+ }
+ assertTrue(equal);
+ }
+
+ protected void checkEqual(Collection expected, Collection actual) {
+ checkEqual(toGeometryCollection(expected),toGeometryCollection(actual) );
+ }
+
+ GeometryCollection toGeometryCollection(Collection geoms) {
+ return geomFactory.createGeometryCollection(GeometryFactory.toGeometryArray(geoms));
+ }
+
+ /**
+ * Reads a {@link Geometry} from a WKT string using a custom {@link GeometryFactory}.
+ *
+ * @param geomFactory the custom factory to use
+ * @param wkt the WKT string
+ * @return the geometry read
+ */
+ protected Geometry read(GeometryFactory geomFactory, String wkt) {
+ WKTReader reader = new WKTReader(geomFactory);
+ try {
+ return reader.read(wkt);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ }
+
+ protected Geometry read(String wkt) {
+ try {
+ return reader.read(wkt);
+ } catch (ParseException e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ }
+
+ protected List readList(String[] wkt) {
+ ArrayList geometries = new ArrayList();
+ for (int i = 0; i < wkt.length; i++) {
+ geometries.add(read(wkt[i]));
+ }
+ return geometries;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/IsValidTester.java b/modules/core/src/test/java/test/jts/IsValidTester.java
new file mode 100644
index 0000000..af5713e
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/IsValidTester.java
@@ -0,0 +1,39 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.valid.IsValidOp;
+
+
+/**
+ * @version 1.7
+ */
+public class IsValidTester {
+
+ public IsValidTester() {
+ }
+ public static void main(String[] args) throws Exception {
+ WKTReader reader = new WKTReader(new GeometryFactory());
+ Geometry g = reader.read("GEOMETRYCOLLECTION (POINT (110 300), POINT (100 110), POINT (130 210), POINT (150 210), POINT (150 180), POINT (130 170), POINT (140 190), POINT (130 200), LINESTRING (240 50, 210 120, 270 80, 250 140, 330 70, 300 160, 340 130, 340 130), POLYGON ((210 340, 220 260, 150 270, 230 220, 230 140, 270 210, 360 240, 260 250, 260 280, 240 270, 210 340), (230 270, 230 250, 200 250, 240 220, 240 190, 260 220, 290 230, 250 230, 230 270)))");
+ IsValidOp op = new IsValidOp(g);
+ if (!op.isValid()) {
+ System.out.println(op.getValidationError().getMessage());
+ }
+ else {
+ System.out.println("OK");
+ }
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/LineIntersectorBenchmark.java b/modules/core/src/test/java/test/jts/LineIntersectorBenchmark.java
new file mode 100644
index 0000000..1a87d25
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/LineIntersectorBenchmark.java
@@ -0,0 +1,125 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts;
+
+import java.util.Date;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.NonRobustLineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+
+
+
+/**
+ * @version 1.7
+ */
+public class LineIntersectorBenchmark implements Runnable {
+
+ public LineIntersectorBenchmark() {
+ }
+
+ public static void main(String[] args) {
+ LineIntersectorBenchmark lineIntersectorBenchmark = new LineIntersectorBenchmark();
+ lineIntersectorBenchmark.run();
+ }
+
+ public void run() {
+ exercise(new NonRobustLineIntersector());
+ exercise(new RobustLineIntersector());
+ }
+
+ private void exercise(LineIntersector lineIntersector) {
+ System.out.println(lineIntersector.getClass().getName());
+ Date start = new Date();
+ for (int i = 0; i < 1000000; i++) {
+ exerciseOnce(lineIntersector);
+ }
+ Date end = new Date();
+ System.out.println("Milliseconds elapsed: " + (end.getTime() - start.getTime()));
+ System.out.println();
+ }
+
+ private void exerciseOnce(LineIntersector lineIntersector) {
+ Coordinate p1 = new Coordinate(10, 10);
+ Coordinate p2 = new Coordinate(20, 20);
+ Coordinate q1 = new Coordinate(20, 10);
+ Coordinate q2 = new Coordinate(10, 20);
+ Coordinate x = new Coordinate(15, 15);
+ lineIntersector.computeIntersection(p1, p2, q1, q2);
+ lineIntersector.getIntersectionNum();
+ lineIntersector.getIntersection(0);
+ lineIntersector.isProper();
+ lineIntersector.hasIntersection();
+
+ p1 = new Coordinate(10, 10);
+ p2 = new Coordinate(20, 10);
+ q1 = new Coordinate(22, 10);
+ q2 = new Coordinate(30, 10);
+ lineIntersector.computeIntersection(p1, p2, q1, q2);
+ lineIntersector.isProper();
+ lineIntersector.hasIntersection();
+
+ p1 = new Coordinate(10, 10);
+ p2 = new Coordinate(20, 10);
+ q1 = new Coordinate(20, 10);
+ q2 = new Coordinate(30, 10);
+ lineIntersector.computeIntersection(p1, p2, q1, q2);
+ lineIntersector.isProper();
+ lineIntersector.hasIntersection();
+
+ p1 = new Coordinate(10, 10);
+ p2 = new Coordinate(20, 10);
+ q1 = new Coordinate(15, 10);
+ q2 = new Coordinate(30, 10);
+ lineIntersector.computeIntersection(p1, p2, q1, q2);
+ lineIntersector.isProper();
+ lineIntersector.hasIntersection();
+
+ p1 = new Coordinate(30, 10);
+ p2 = new Coordinate(20, 10);
+ q1 = new Coordinate(10, 10);
+ q2 = new Coordinate(30, 10);
+ lineIntersector.computeIntersection(p1, p2, q1, q2);
+ lineIntersector.hasIntersection();
+
+ lineIntersector.computeIntersection(new Coordinate(100, 100), new Coordinate(10, 100),
+ new Coordinate(100, 10), new Coordinate(100, 100));
+ lineIntersector.hasIntersection();
+ lineIntersector.getIntersectionNum();
+
+ lineIntersector.computeIntersection(new Coordinate(190, 50), new Coordinate(120, 100),
+ new Coordinate(120, 100), new Coordinate(50, 150));
+ lineIntersector.hasIntersection();
+ lineIntersector.getIntersectionNum();
+ lineIntersector.getIntersection(1);
+
+ lineIntersector.computeIntersection(new Coordinate(180, 200), new Coordinate(160, 180),
+ new Coordinate(220, 240), new Coordinate(140, 160));
+ lineIntersector.hasIntersection();
+ lineIntersector.getIntersectionNum();
+
+ lineIntersector.computeIntersection(new Coordinate(30, 10), new Coordinate(30, 30),
+ new Coordinate(10, 10), new Coordinate(90, 11));
+ lineIntersector.hasIntersection();
+ lineIntersector.getIntersectionNum();
+ lineIntersector.isProper();
+
+ lineIntersector.computeIntersection(new Coordinate(10, 30), new Coordinate(10, 0),
+ new Coordinate(11, 90), new Coordinate(10, 10));
+ lineIntersector.hasIntersection();
+ lineIntersector.getIntersectionNum();
+ lineIntersector.isProper();
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/TestFiles.java b/modules/core/src/test/java/test/jts/TestFiles.java
new file mode 100644
index 0000000..d420b67
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/TestFiles.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts;
+
+import java.io.File;
+
+public class TestFiles {
+
+ public static final String getResourceFilePath(String fileName) {
+ ClassLoader classLoader = TestFiles.class.getClassLoader();
+ return new File(classLoader.getResource("testdata/" + fileName).getFile()).getAbsolutePath();
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/geom/CoordinateSequenceExperiment2.java b/modules/core/src/test/java/test/jts/geom/CoordinateSequenceExperiment2.java
new file mode 100644
index 0000000..e93bc94
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/geom/CoordinateSequenceExperiment2.java
@@ -0,0 +1,108 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.geom;
+
+import java.io.IOException;
+
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class CoordinateSequenceExperiment2 {
+ GeometryFactory fact = new GeometryFactory(new PrecisionModel(), 0);
+
+ public static void main(String[] args) throws Exception {
+ CoordinateSequenceExperiment2 test = new CoordinateSequenceExperiment2();
+// System.out.println("Press Enter to begin");
+// System.in.read();
+ test.run();
+ System.exit(0);
+ }
+
+ public void run() throws IOException {
+ int factor = 1;
+
+ for (int i = 1; i < 15; i++) {
+ int n = factor * 1000;
+
+ if (n > 64000) { break; }
+ factor *= 2;
+ run2(n);
+ }
+ }
+
+ public void run(int nPts) {
+ double size = 100.0;
+ double armLen = 50.0;
+ int nArms = 10;
+ long startTime = System.currentTimeMillis();
+ Polygon poly = GeometryTestFactory.createSineStar(fact, 0.0, 0.0, size,
+ armLen, nArms, nPts);
+ long endTime = System.currentTimeMillis();
+ long totalTime = endTime - startTime;
+ String totalTimeStr = totalTime < 10000 ? totalTime + " ms"
+ : totalTime / 1000.0 + " s";
+ System.out.println("Sine Star Creation Executed in " + totalTimeStr);
+
+ Polygon box = GeometryTestFactory.createBox(fact, 0, 0, 1, 100.0);
+
+ startTime = System.currentTimeMillis();
+ poly.intersects(box);
+
+ endTime = System.currentTimeMillis();
+ totalTime = endTime - startTime;
+ totalTimeStr = totalTime < 10000 ? totalTime + " ms"
+ : totalTime / 1000.0 + " s";
+ System.out.println("n Pts: " + nPts + " Executed in " + totalTimeStr);
+ }
+
+ public void run2(int nPts) throws IOException {
+ double size = 100.0;
+ double armLen = 50.0;
+ int nArms = 10;
+ long startTime = System.currentTimeMillis();
+ Polygon poly = GeometryTestFactory.createSineStar(fact, 0.0, 0.0, size,
+ armLen, nArms, nPts);
+ Polygon box = GeometryTestFactory.createSineStar(fact, 0.0, size / 2,
+ size, armLen, nArms, nPts);
+ long endTime = System.currentTimeMillis();
+ long totalTime = endTime - startTime;
+ String totalTimeStr = totalTime < 10000 ? totalTime + " ms"
+ : totalTime / 1000.0 + " s";
+ System.out.println("Sine Star Creation Executed in " + totalTimeStr);
+
+
+ //RobustDeterminant.callCount = 0;
+ System.out.println("n Pts: " + nPts);
+
+ startTime = System.currentTimeMillis();
+ poly.intersects(box);
+
+ //poly.intersection(box);
+ endTime = System.currentTimeMillis();
+ totalTime = endTime - startTime;
+ totalTimeStr = totalTime < 10000 ? totalTime + " ms"
+ : (double) totalTime / 1000.0 +
+ " s";
+
+ //System.out.println(" signOfDet2x2 calls: " + RobustDeterminant.callCount);
+ System.out.println(" Executed in " + totalTimeStr);
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/geom/GeometryTestFactory.java b/modules/core/src/test/java/test/jts/geom/GeometryTestFactory.java
new file mode 100644
index 0000000..30eceb6
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/geom/GeometryTestFactory.java
@@ -0,0 +1,176 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.geom;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+
+
+/**
+ * @version 1.7
+ */
+public class GeometryTestFactory {
+
+ public static Coordinate[] createBox(
+ double minx, double miny,
+ int nSide,
+ double segLen)
+ {
+ int i;
+ int ipt = 0;
+ Coordinate[] pts = new Coordinate[4 * nSide + 1];
+
+ double maxx = minx + nSide * segLen;
+ double maxy = miny + nSide * segLen;
+
+ for (i = 0; i < nSide; i++) {
+ double x = minx + i * segLen;
+ double y = miny;
+ pts[ipt++] = new Coordinate(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = maxx;
+ double y = miny + i * segLen;
+ pts[ipt++] = new Coordinate(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = maxx - i * segLen;
+ double y = maxy;
+ pts[ipt++] = new Coordinate(x, y);
+ }
+ for (i = 0; i < nSide; i++) {
+ double x = minx;
+ double y = maxy - i * segLen;
+ pts[ipt++] = new Coordinate(x, y);
+ }
+ pts[ipt++] = new Coordinate(pts[0]);
+
+ return pts;
+ }
+ public static Polygon createCircle(
+ GeometryFactory fact,
+ double basex,
+ double basey,
+ double size,
+ int nPts)
+ {
+ Coordinate[] pts = createCircle(basex, basey, size, nPts);
+ LinearRing ring = fact.createLinearRing(pts);
+ Polygon poly = fact.createPolygon(ring, null);
+ return poly;
+ }
+
+ /**
+ * Creates a circle
+ * @param basex the centre x coord
+ * @param basey the centre y coord
+ * @param size the size of the envelope of the star
+ * @param nPts the number of points in the star
+ */
+ public static Coordinate[] createCircle(
+ double basex,
+ double basey,
+ double size,
+ int nPts)
+ {
+ Coordinate[] pts = new Coordinate[nPts + 1];
+
+ int iPt = 0;
+ double len = size / 2.0;
+
+ for (int i = 0; i < nPts; i++) {
+ double ang = i * (2 * Math.PI / nPts);
+ double x = len * Math.cos(ang) + basex;
+ double y = len * Math.sin(ang) + basey;
+ Coordinate pt = new Coordinate(x, y);
+ pts[iPt++] = pt;
+ }
+ pts[iPt] = pts[0];
+ return pts;
+ }
+
+ public static Polygon createBox(
+ GeometryFactory fact,
+ double minx, double miny,
+ int nSide,
+ double segLen)
+ {
+ Coordinate[] pts = createBox(minx, minx, nSide, segLen);
+ LinearRing ring = fact.createLinearRing(pts);
+ Polygon poly = fact.createPolygon(ring, null);
+ return poly;
+ }
+
+ /**
+ * Creates a star from a "circular" sine wave
+ * @param basex the centre x coord
+ * @param basey the centre y coord
+ * @param size the size of the envelope of the star
+ * @param armLen the length of an arm of the star
+ * @param nArms the number of arms of the star
+ * @param nPts the number of points in the star
+ */
+ public static Coordinate[] createSineStar(
+ double basex,
+ double basey,
+ double size,
+ double armLen,
+ int nArms,
+ int nPts)
+ {
+ double armBaseLen = size / 2 - armLen;
+ if (armBaseLen < 0) armBaseLen = 0.5;
+
+ double angInc = 2 * Math.PI / nArms;
+ int nArmPt = nPts / nArms;
+ if (nArmPt < 5) nArmPt = 5;
+
+ int nPts2 = nArmPt * nArms;
+ Coordinate[] pts = new Coordinate[nPts2 + 1];
+
+ int iPt = 0;
+ double starAng = 0.0;
+
+ for (int iArm = 0; iArm < nArms; iArm++) {
+ for (int iArmPt = 0; iArmPt < nArmPt; iArmPt++) {
+ double ang = iArmPt * (2 * Math.PI / nArmPt);
+ double len = armLen * (1 - Math.cos(ang) / 2) + armBaseLen;
+ double x = len * Math.cos(starAng + iArmPt * angInc / nArmPt) + basex;
+ double y = len * Math.sin(starAng + iArmPt * angInc / nArmPt) + basey;
+ Coordinate pt = new Coordinate(x, y);
+ pts[iPt++] = pt;
+ }
+ starAng += angInc;
+ }
+ pts[iPt] = pts[0];
+ return pts;
+ }
+
+ public static Polygon createSineStar(
+ GeometryFactory fact,
+ double basex,
+ double basey,
+ double size,
+ double armLen,
+ int nArms,
+ int nPts)
+ {
+ Coordinate[] pts = createSineStar(basex, basey, size, armLen, nArms, nPts);
+ LinearRing ring = fact.createLinearRing(pts);
+ Polygon poly = fact.createPolygon(ring, null);
+ return poly;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/geom/TestSerializable.java b/modules/core/src/test/java/test/jts/geom/TestSerializable.java
new file mode 100644
index 0000000..a2a064f
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/geom/TestSerializable.java
@@ -0,0 +1,153 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.geom;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class TestSerializable {
+
+ public static final String FILENAME = "c:\\testSerial.txt";
+ public static final GeometryFactory fact = new GeometryFactory();
+
+ public TestSerializable() {
+ }
+
+ public static void main(String[] args) {
+ TestSerializable test = new TestSerializable();
+ test.run();
+ }
+
+ public void run()
+ {
+ List objList = createData();
+ writeData(objList);
+ readData(objList);
+ }
+
+ List createData()
+ {
+ List objList = new ArrayList();
+
+ Envelope env = new Envelope(123, 456, 123, 456);
+ objList.add(env);
+
+ objList.add(GeometryTestFactory.createBox(fact, 0.0, 100.0, 10, 10.0));
+
+ return objList;
+
+ }
+ void writeData(List objList)
+ {
+ File file; // simply a file name
+ FileOutputStream outStream; // generic stream to the file
+ ObjectOutputStream objStream; // stream for objects to the file
+
+ file = new File(FILENAME);
+
+ try {
+ // setup a stream to a physical file on the filesystem
+ outStream = new FileOutputStream(file);
+
+ // attach a stream capable of writing objects to the stream that is
+ // connected to the file
+ objStream = new ObjectOutputStream(outStream);
+
+ objStream.writeObject(objList);
+// for (Iterator i = objList.iterator(); i.hasNext(); )
+// {
+// objStream.writeObject(i.next());
+// }
+ objStream.close();
+
+ } catch(IOException e) {
+ System.err.println("Things not going as planned.");
+ e.printStackTrace();
+ } // catch
+ }
+ void readData(List objList)
+ {
+ File file; // simply a file name
+ FileInputStream stream; // generic stream to the file
+ ObjectInputStream objStream; // stream for objects to the file
+
+ file = new File(FILENAME);
+
+ try {
+ // setup a stream to a physical file on the filesystem
+ stream = new FileInputStream(file);
+
+ // attach a stream capable of writing objects to the stream that is
+ // connected to the file
+ objStream = new ObjectInputStream(stream);
+
+ int count = 0;
+ Object obj = objStream.readObject();
+ List inputList = (List) obj;
+ for (Iterator i = inputList.iterator(); i.hasNext(); ) {
+ compare(objList.get(count++), i.next());
+ }
+
+// while (objStream.available() > 0) {
+// Object obj = objStream.readObject();
+// compare(objList.get(count++), obj);
+// }
+ objStream.close();
+
+ } catch(Exception e) {
+ System.err.println("Things not going as planned.");
+ e.printStackTrace();
+ } // catch
+ }
+
+ boolean compare(Object o1, Object o2)
+ {
+ boolean matched = false;
+ if (o1 instanceof Envelope) {
+ if (! ((Envelope) o1).equals(o2) ) {
+ System.out.println("expected " + o1 + ", found " + o2);
+ }
+ else
+ matched = true;
+ }
+ else if (o1 instanceof Geometry) {
+ if (! ((Geometry) o1).equalsExact((Geometry) o2) ) {
+ System.out.println("expected " + o1 + ", found " + o2);
+ }
+ else
+ matched = true;
+ }
+ if (matched)
+ System.out.println("found match for object");
+ return true;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/BinTreeCorrectTest.java b/modules/core/src/test/java/test/jts/index/BinTreeCorrectTest.java
new file mode 100644
index 0000000..d645cf4
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/BinTreeCorrectTest.java
@@ -0,0 +1,136 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.index.bintree.Bintree;
+import org.locationtech.jts.index.bintree.Interval;
+import org.locationtech.jts.util.Stopwatch;
+
+
+
+/**
+ * @version 1.7
+ */
+public class BinTreeCorrectTest {
+
+ public static void main(String[] args) throws Exception
+ {
+ //testBinaryPower();
+ BinTreeCorrectTest test = new BinTreeCorrectTest();
+ test.run();
+ }
+
+
+ static final int NUM_ITEMS = 20000;
+ static final double MIN_EXTENT = -1000.0;
+ static final double MAX_EXTENT = 1000.0;
+
+ IntervalList intervalList = new IntervalList();
+ Bintree btree = new Bintree();
+
+ public BinTreeCorrectTest() {
+ }
+
+ public void run()
+ {
+ fill();
+ System.out.println("depth = " + btree.depth()
+ + " size = " + btree.size() );
+ runQueries();
+ }
+
+ void fill()
+ {
+ createGrid(NUM_ITEMS);
+ }
+
+ void createGrid(int nGridCells)
+ {
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double gridInc = extent / gridSize;
+ double cellSize = 2 * gridInc;
+
+ for (int i = 0; i < gridSize; i++) {
+ double x = MIN_EXTENT + gridInc * i;
+ Interval interval = new Interval(x, x + cellSize );
+ btree.insert(interval, interval);
+ intervalList.add(interval);
+ }
+ }
+
+ void runQueries()
+ {
+ int nGridCells = 100;
+ int cellSize = (int) Math.sqrt((double) NUM_ITEMS);
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double queryCellSize = 2.0 * extent / cellSize;
+
+ queryGrid(nGridCells, queryCellSize);
+
+ //queryGrid(200);
+ }
+
+ void queryGrid(int nGridCells, double cellSize)
+ {
+ Stopwatch sw = new Stopwatch();
+ sw.start();
+
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double gridInc = extent / gridSize;
+
+ for (int i = 0; i < gridSize; i++) {
+ double x = MIN_EXTENT + gridInc * i;
+ Interval interval = new Interval(x, x + cellSize);
+ queryTest(interval);
+ //queryTime(env);
+ }
+ System.out.println("Time = " + sw.getTimeString());
+ }
+
+ void queryTime(Interval interval)
+ {
+ //List finalList = getOverlapping(q.query(env), env);
+
+ List eList = intervalList.query(interval);
+ }
+
+ void queryTest(Interval interval)
+ {
+ List candidateList = btree.query(interval);
+ List finalList = getOverlapping(candidateList, interval);
+
+ List eList = intervalList.query(interval);
+System.out.println(finalList.size());
+
+ if (finalList.size() != eList.size() )
+ throw new RuntimeException("queries do not match");
+ }
+
+ private List getOverlapping(List items, Interval searchInterval)
+ {
+ List result = new ArrayList();
+ for (int i = 0; i < items.size(); i++) {
+ Interval interval = (Interval) items.get(i);
+ if (interval.overlaps(searchInterval)) result.add(interval);
+ }
+ return result;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/EnvelopeList.java b/modules/core/src/test/java/test/jts/index/EnvelopeList.java
new file mode 100644
index 0000000..ed14186
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/EnvelopeList.java
@@ -0,0 +1,50 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+
+
+
+/**
+ * @version 1.7
+ */
+public class EnvelopeList
+{
+ List envList = new ArrayList();
+
+ public EnvelopeList() {
+ }
+
+ public void add(Envelope env)
+ {
+ envList.add(env);
+ }
+
+ public List query(Envelope searchEnv)
+ {
+ List result = new ArrayList();
+ for (Iterator i = envList.iterator(); i.hasNext(); ) {
+ Envelope env = (Envelope) i.next();
+ if (env.intersects(searchEnv))
+ result.add(env);
+ }
+ return result;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/Index.java b/modules/core/src/test/java/test/jts/index/Index.java
new file mode 100644
index 0000000..0f6c85a
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/Index.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.index;
+
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+
+
+/**
+ * Adapter for different kinds of indexes
+ * @version 1.7
+ */
+public interface Index
+{
+ void insert(Envelope itemEnv, Object item);
+ List query(Envelope searchEnv);
+ void finishInserting();
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/index/IndexTester.java b/modules/core/src/test/java/test/jts/index/IndexTester.java
new file mode 100644
index 0000000..81363e7
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/IndexTester.java
@@ -0,0 +1,137 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.util.Assert;
+import org.locationtech.jts.util.Stopwatch;
+
+
+
+/**
+ * @version 1.7
+ */
+public class IndexTester {
+ static final int NUM_ITEMS = 2000;
+ static final double EXTENT_MIN = -1000.0;
+ static final double EXTENT_MAX = 1000.0;
+
+ Index index;
+
+ public IndexTester(Index index)
+ {
+ this.index = index;
+ }
+
+ public static class IndexResult {
+ public IndexResult(String indexName) { this.indexName = indexName; }
+ public String indexName;
+ public long loadMilliseconds;
+ public long queryMilliseconds;
+ }
+
+ private static List victoriaItems = null;
+
+ public IndexResult testAll(List items)
+ {
+ IndexResult result = new IndexResult(index.toString());
+ System.out.print(index.toString() + " ");
+ System.gc();
+ Stopwatch sw = new Stopwatch();
+ sw.start();
+ loadGrid(items);
+ String loadTime = sw.getTimeString();
+ result.loadMilliseconds = sw.getTime();
+ System.gc();
+ sw.start();
+ //runQueries();
+ runSelfQuery(items);
+ String queryTime = sw.getTimeString();
+ result.queryMilliseconds = sw.getTime();
+ System.out.println(" Load Time = " + loadTime + " Query Time = " + queryTime);
+ return result;
+ }
+
+ public static List createGridItems(int nGridCells)
+ {
+ ArrayList items = new ArrayList();
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = EXTENT_MAX - EXTENT_MIN;
+ double gridInc = extent / gridSize;
+ double cellSize = gridInc;
+ for (int i = 0; i < gridSize; i++) {
+ for (int j = 0; j < gridSize; j++) {
+ double x = EXTENT_MIN + gridInc * i;
+ double y = EXTENT_MIN + gridInc * j;
+ Envelope env = new Envelope(x, x + cellSize,
+ y, y + cellSize);
+ items.add(env);
+ }
+ }
+ return items;
+ }
+
+ void loadGrid(List items)
+ {
+ for (Iterator i = items.iterator(); i.hasNext(); ) {
+ Envelope item = (Envelope) i.next();
+ index.insert(item, item);
+ }
+ index.finishInserting();
+ }
+ void runSelfQuery(List items)
+ {
+ double querySize = 0.0;
+ for (int i = 0; i < items.size(); i++) {
+ Envelope env = (Envelope) items.get(i);
+ List list = index.query(env);
+ Assert.isTrue(!list.isEmpty());
+ querySize += list.size();
+ }
+ System.out.println("Avg query size = " + querySize / items.size());
+ }
+ void runGridQuery()
+ {
+ int nGridCells = 100;
+ int cellSize = (int) Math.sqrt((double) NUM_ITEMS);
+ double extent = EXTENT_MAX - EXTENT_MIN;
+ double queryCellSize = 2.0 * extent / cellSize;
+
+ queryGrid(nGridCells, queryCellSize);
+ }
+
+ void queryGrid(int nGridCells, double cellSize)
+ {
+
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = EXTENT_MAX - EXTENT_MIN;
+ double gridInc = extent / gridSize;
+
+ for (int i = 0; i < gridSize; i++) {
+ for (int j = 0; j < gridSize; j++) {
+ double x = EXTENT_MIN + gridInc * i;
+ double y = EXTENT_MIN + gridInc * j;
+ Envelope env = new Envelope(x, x + cellSize,
+ y, y + cellSize);
+ index.query(env);
+ }
+ }
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/IntervalList.java b/modules/core/src/test/java/test/jts/index/IntervalList.java
new file mode 100644
index 0000000..d27410b
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/IntervalList.java
@@ -0,0 +1,50 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.index.bintree.Interval;
+
+
+
+/**
+ * @version 1.7
+ */
+public class IntervalList
+{
+ List list = new ArrayList();
+
+ public IntervalList() {
+ }
+
+ public void add(Interval interval)
+ {
+ list.add(interval);
+ }
+
+ public List query(Interval searchInterval)
+ {
+ List result = new ArrayList();
+ for (Iterator i = list.iterator(); i.hasNext(); ) {
+ Interval interval = (Interval) i.next();
+ if (interval.overlaps(searchInterval))
+ result.add(interval);
+ }
+ return result;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/QuadtreeCorrectTest.java b/modules/core/src/test/java/test/jts/index/QuadtreeCorrectTest.java
new file mode 100644
index 0000000..e027ff8
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/QuadtreeCorrectTest.java
@@ -0,0 +1,161 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.util.Stopwatch;
+
+
+
+/**
+ * @version 1.7
+ */
+public class QuadtreeCorrectTest {
+
+ public static void main(String[] args) throws Exception
+ {
+ //testBinaryPower();
+ QuadtreeCorrectTest test = new QuadtreeCorrectTest();
+ test.run();
+ }
+
+/*
+ public static void testBinaryPower()
+ {
+ printBinaryPower(1004573397.0);
+ printBinaryPower(100.0);
+ printBinaryPower(0.234);
+ printBinaryPower(0.000003455);
+ }
+
+ public static void printBinaryPower(double num)
+ {
+ BinaryPower pow2 = new BinaryPower();
+ int exp = BinaryPower.exponent(num);
+ double p2 = pow2.power(exp);
+ System.out.println(num + " : pow2 = " + Math.pow(2.0, exp)
+ + " exp = " + exp + " 2^exp = " + p2);
+ }
+*/
+ static final int NUM_ITEMS = 2000;
+ static final double MIN_EXTENT = -1000.0;
+ static final double MAX_EXTENT = 1000.0;
+
+ EnvelopeList envList = new EnvelopeList();
+ Quadtree q = new Quadtree();
+
+ public QuadtreeCorrectTest() {
+ }
+
+ public void run()
+ {
+ fill();
+ System.out.println("depth = " + q.depth()
+ + " size = " + q.size() );
+ runQueries();
+ }
+
+ void fill()
+ {
+ createGrid(NUM_ITEMS);
+ }
+
+ void createGrid(int nGridCells)
+ {
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double gridInc = extent / gridSize;
+ double cellSize = 2 * gridInc;
+
+ for (int i = 0; i < gridSize; i++) {
+ for (int j = 0; j < gridSize; j++) {
+ double x = MIN_EXTENT + gridInc * i;
+ double y = MIN_EXTENT + gridInc * j;
+ Envelope env = new Envelope(x, x + cellSize,
+ y, y + cellSize);
+ q.insert(env, env);
+ envList.add(env);
+ }
+ }
+ }
+
+ void runQueries()
+ {
+ int nGridCells = 100;
+ int cellSize = (int) Math.sqrt((double) NUM_ITEMS);
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double queryCellSize = 2.0 * extent / cellSize;
+
+ queryGrid(nGridCells, queryCellSize);
+
+ //queryGrid(200);
+ }
+
+ void queryGrid(int nGridCells, double cellSize)
+ {
+ Stopwatch sw = new Stopwatch();
+ sw.start();
+
+ int gridSize = (int) Math.sqrt((double) nGridCells);
+ gridSize += 1;
+ double extent = MAX_EXTENT - MIN_EXTENT;
+ double gridInc = extent / gridSize;
+
+ for (int i = 0; i < gridSize; i++) {
+ for (int j = 0; j < gridSize; j++) {
+ double x = MIN_EXTENT + gridInc * i;
+ double y = MIN_EXTENT + gridInc * j;
+ Envelope env = new Envelope(x, x + cellSize,
+ y, y + cellSize);
+ queryTest(env);
+ //queryTime(env);
+ }
+ }
+ System.out.println("Time = " + sw.getTimeString());
+ }
+
+ void queryTime(Envelope env)
+ {
+ //List finalList = getOverlapping(q.query(env), env);
+
+ List eList = envList.query(env);
+ }
+
+ void queryTest(Envelope env)
+ {
+ List candidateList = q.query(env);
+ List finalList = getOverlapping(candidateList, env);
+
+ List eList = envList.query(env);
+//System.out.println(finalList.size());
+
+ if (finalList.size() != eList.size() )
+ throw new RuntimeException("queries do not match");
+ }
+
+ private List getOverlapping(List items, Envelope searchEnv)
+ {
+ List result = new ArrayList();
+ for (int i = 0; i < items.size(); i++) {
+ Envelope env = (Envelope) items.get(i);
+ if (env.intersects(searchEnv)) result.add(env);
+ }
+ return result;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/STRtreeDemo.java b/modules/core/src/test/java/test/jts/index/STRtreeDemo.java
new file mode 100644
index 0000000..6a76d32
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/STRtreeDemo.java
@@ -0,0 +1,163 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.index.strtree.AbstractNode;
+import org.locationtech.jts.index.strtree.Boundable;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+
+/**
+ * @version 1.7
+ */
+public class STRtreeDemo {
+
+ public STRtreeDemo() {
+ }
+
+ public static class TestTree extends STRtree {
+ public TestTree(int nodeCapacity) {
+ super(nodeCapacity);
+ }
+ public List boundablesAtLevel(int level) { return super.boundablesAtLevel(level); }
+ public AbstractNode getRoot() { return root; }
+ public List createParentBoundables(List verticalSlice, int newLevel) {
+ return super.createParentBoundables(verticalSlice, newLevel);
+ }
+ public List[] verticalSlices(List childBoundables, int size) {
+ return super.verticalSlices(childBoundables, size);
+ }
+ public List createParentBoundablesFromVerticalSlice(List childBoundables, int newLevel) {
+ return super.createParentBoundablesFromVerticalSlice(childBoundables, newLevel);
+ }
+ }
+
+ private static void initTree(TestTree t, List sourceEnvelopes) {
+ for (Iterator i = sourceEnvelopes.iterator(); i.hasNext(); ) {
+ Envelope sourceEnvelope = (Envelope) i.next();
+ t.insert(sourceEnvelope, sourceEnvelope);
+ }
+ t.build();
+ }
+
+ public static void main(String[] args) throws Exception {
+ List envelopes = sourceData();
+ TestTree t = new TestTree(NODE_CAPACITY);
+ initTree(t, envelopes);
+ PrintStream printStream = System.out;
+ printSourceData(envelopes, printStream);
+ printLevels(t, printStream);
+ }
+
+ public static void printSourceData(List sourceEnvelopes, PrintStream out) {
+ out.println("============ Source Data ============\n");
+ out.print("GEOMETRYCOLLECTION(");
+ boolean first = true;
+ for (Iterator i = sourceEnvelopes.iterator(); i.hasNext(); ) {
+ Envelope e = (Envelope) i.next();
+ Geometry g = factory.createPolygon(factory.createLinearRing(new Coordinate[] {
+ new Coordinate(e.getMinX(), e.getMinY()), new Coordinate(e.getMinX(), e.getMaxY()),
+ new Coordinate(e.getMaxX(), e.getMaxY()), new Coordinate(e.getMaxX(), e.getMinY()),
+ new Coordinate(e.getMinX(), e.getMinY()) }), null);
+ if (first) {
+ first = false;
+ }
+ else {
+ out.print(",");
+ }
+ out.print(g);
+ }
+ out.println(")\n");
+ }
+
+ private static List sourceData() {
+ ArrayList envelopes = new ArrayList();
+ for (int i = 0; i < ITEM_COUNT; i++) {
+ envelopes.add(randomRectangle().getEnvelopeInternal());
+ }
+ return envelopes;
+ }
+
+ private static final double EXTENT = 100;
+ private static final double MAX_ITEM_EXTENT = 15;
+ private static final double MIN_ITEM_EXTENT = 3;
+ private static final int ITEM_COUNT = 20;
+ private static final int NODE_CAPACITY = 4;
+ private static GeometryFactory factory = new GeometryFactory();
+
+ private static Polygon randomRectangle() {
+ double width = MIN_ITEM_EXTENT + ((MAX_ITEM_EXTENT-MIN_ITEM_EXTENT) * Math.random());
+ double height = MIN_ITEM_EXTENT + ((MAX_ITEM_EXTENT-MIN_ITEM_EXTENT) * Math.random());
+ double bottom = EXTENT * Math.random();
+ double left = EXTENT * Math.random();
+ double top = bottom + height;
+ double right = left + width;
+ return factory.createPolygon(factory.createLinearRing(new Coordinate[]{
+ new Coordinate(left, bottom), new Coordinate(right, bottom),
+ new Coordinate(right, top), new Coordinate(left, top),
+ new Coordinate(left, bottom) }), null);
+ }
+
+ public static void printLevels(TestTree t, PrintStream out) {
+ for (int i = 0; i <= t.getRoot().getLevel(); i++) {
+ printBoundables(t.boundablesAtLevel(i), "Level " + i, out);
+ }
+ }
+
+ public static void printBoundables(List boundables, String title, PrintStream out) {
+ out.println("============ " + title + " ============\n");
+ out.print("GEOMETRYCOLLECTION(");
+ boolean first = true;
+ for (Iterator i = boundables.iterator(); i.hasNext(); ) {
+ Boundable boundable = (Boundable) i.next();
+ if (first) {
+ first = false;
+ }
+ else {
+ out.print(",");
+ }
+ out.print(toString(boundable));
+ }
+ out.println(")\n");
+ }
+
+ private static String toString(Boundable b) {
+ return "POLYGON(("
+ + envelope(b).getMinX() + " "
+ + envelope(b).getMinY() + ", "
+ + envelope(b).getMinX() + " "
+ + envelope(b).getMaxY() + ", "
+ + envelope(b).getMaxX() + " "
+ + envelope(b).getMaxY() + ", "
+ + envelope(b).getMaxX() + " "
+ + envelope(b).getMinY() + ","
+ + envelope(b).getMinX() + " "
+ + envelope(b).getMinY() + "))";
+ }
+
+ private static Envelope envelope(Boundable b) {
+ return (Envelope)b.getBounds();
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/index/TreeTimeTest.java b/modules/core/src/test/java/test/jts/index/TreeTimeTest.java
new file mode 100644
index 0000000..c9f9908
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/index/TreeTimeTest.java
@@ -0,0 +1,127 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.index;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
+
+
+
+/**
+ * @version 1.7
+ */
+public class TreeTimeTest {
+ public static final int NUM_ITEMS = 10000;
+
+ public static void main(String[] args) throws Exception
+ {
+ int n = 10000;
+ TreeTimeTest test = new TreeTimeTest();
+ List items = IndexTester.createGridItems(n);
+ System.out.println("----------------------------------------------");
+ System.out.println("Dummy run to ensure classes are loaded before real run");
+ System.out.println("----------------------------------------------");
+ test.run(items);
+ System.out.println("----------------------------------------------");
+ System.out.println("Real run");
+ System.out.println("----------------------------------------------");
+ test.run(items);
+ }
+
+ public TreeTimeTest()
+ {
+ }
+
+ public List run(List items) throws Exception
+ {
+ ArrayList indexResults = new ArrayList();
+ System.out.println("# items = " + items.size());
+ indexResults.add(run(new QuadtreeIndex(), items));
+ indexResults.add(run(new STRtreeIndex(10), items));
+ //indexResults.add(run(new QXtreeIndex(), n));
+ //indexResults.add(run(new EnvelopeListIndex(), n));
+ return indexResults;
+ }
+
+ public IndexTester.IndexResult run(Index index, List items) throws Exception
+ {
+ return new IndexTester(index).testAll(items);
+ }
+
+ class STRtreeIndex
+ implements Index
+ {
+ public String toString() { return "STR[M=" + index.getNodeCapacity() + "]"; }
+// public String toString() { return "" + index.getNodeCapacity() + ""; }
+ public STRtreeIndex(int nodeCapacity)
+ {
+ index = new STRtree(nodeCapacity);
+ }
+ STRtree index;
+
+ public void insert(Envelope itemEnv, Object item)
+ {
+ index.insert(itemEnv, item);
+ }
+ public List query(Envelope searchEnv)
+ {
+ return index.query(searchEnv);
+ }
+ public void finishInserting()
+ {
+ index.build();
+ }
+ }
+
+ class QuadtreeIndex
+ implements Index
+ {
+ Quadtree index = new Quadtree();
+ public String toString() { return "Quad"; }
+ public void insert(Envelope itemEnv, Object item)
+ {
+ index.insert(itemEnv, item);
+ }
+ public List query(Envelope searchEnv)
+ {
+ return index.query(searchEnv);
+ }
+ public void finishInserting()
+ {
+ }
+ }
+
+ class EnvelopeListIndex
+ implements Index
+ {
+ EnvelopeList index = new EnvelopeList();
+ public String toString() { return "Env"; }
+ public void insert(Envelope itemEnv, Object item)
+ {
+ index.add(itemEnv);
+ }
+ public List query(Envelope searchEnv)
+ {
+ return index.query(searchEnv);
+ }
+ public void finishInserting()
+ {
+ }
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/insert-header.rb b/modules/core/src/test/java/test/jts/insert-header.rb
new file mode 100644
index 0000000..90af865
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/insert-header.rb
@@ -0,0 +1,100 @@
+#!ruby
+
+#Inserts licence headers and @version tags if necessary.
+#Updates the @version tags.
+#Usage: find . -iname '*.java' | xargs --max-args=1 --verbose test/jts/insert-header.rb
+
+filename = ARGV[0]
+version = "1.4"
+
+class AssertionFailure < StandardError
+end
+
+class Object
+ def assert(bool)
+ raise AssertionFailure.new("assertion failure") unless bool
+ end
+end
+
+class Array
+ def insert(inx, obj)
+ self[inx, 0] = obj
+ self
+ end
+end
+
+classLineIndex = nil
+classCommentStartIndex = nil
+classCommentEndIndex = nil
+
+input = File.readlines(filename)
+(0..input.size-1).each {|i|
+ if input[i] =~ /interface / and input[i] !~ /\*/
+ classLineIndex = i
+ break
+ end
+ if input[i] =~ /class / and input[i] !~ /\*/
+ classLineIndex = i
+ break
+ end
+ if input[i] =~ /\/\*\*/
+ classCommentStartIndex = i
+ classCommentEndIndex = nil
+ end
+ if input[i] =~ /\*\// and classCommentEndIndex == nil
+ classCommentEndIndex = i
+ end
+}
+
+assert(classLineIndex != nil)
+assert((classCommentStartIndex == nil && classCommentEndIndex == nil) || (classCommentStartIndex != classCommentEndIndex))
+
+if (classCommentStartIndex != nil)
+ preClassCommentLines = input[0..classCommentStartIndex-1]
+ classCommentLines = input[classCommentStartIndex..classCommentEndIndex]
+ classCommentLines.each {|line| line.gsub!(/@version.*/, '@version ' + version.to_s) }
+ linesBetweenClassCommentAndClass = input[classCommentEndIndex+1..classLineIndex-1]
+ linesBetweenClassCommentAndClass.each {|line| assert(line.strip.empty?)}
+else
+ preClassCommentLines = input[0..classLineIndex-1]
+ classCommentLines = ['
+/**
+ * @version ' + version + '
+ */']
+end
+classLines = input[classLineIndex..-1] OR
+
+versionFound = false
+classCommentLines.each{|line| versionFound = true if line =~ /@version/ }
+if !versionFound
+ classCommentLines.insert(classCommentLines.size-1, " *")
+ classCommentLines.insert(classCommentLines.size-1, " * @version " + version)
+end
+
+output = Array.new
+
+licenceFound = false
+preClassCommentLines.each {|line| licenceFound = true if line =~ /This library is distributed in the hope/ }
+if !licenceFound
+ licence = '
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+'
+ output << licence
+end
+
+output.concat(preClassCommentLines)
+output.concat(classCommentLines)
+output.concat(classLines)
+
+file = File.open(filename, "w")
+output.each {|line| file.puts line }
diff --git a/modules/core/src/test/java/test/jts/junit/GeometryUtils.java b/modules/core/src/test/java/test/jts/junit/GeometryUtils.java
new file mode 100644
index 0000000..363ff16
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/junit/GeometryUtils.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.junit;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+
+
+public class GeometryUtils
+{
+ //TODO: allow specifying GeometryFactory
+
+ public static WKTReader reader = new WKTReader();
+
+ public static List readWKT(String[] inputWKT)
+ throws ParseException
+ {
+ ArrayList geometries = new ArrayList();
+ for (int i = 0; i < inputWKT.length; i++) {
+ geometries.add(reader.read(inputWKT[i]));
+ }
+ return geometries;
+ }
+
+ public static Geometry readWKT(String inputWKT)
+ throws ParseException
+ {
+ return reader.read(inputWKT);
+ }
+
+ public static Collection readWKTFile(String filename)
+ throws IOException, ParseException
+ {
+ WKTFileReader fileRdr = new WKTFileReader(filename, reader);
+ List geoms = fileRdr.read();
+ return geoms;
+ }
+
+ public static Collection readWKTFile(Reader rdr)
+ throws IOException, ParseException
+ {
+ WKTFileReader fileRdr = new WKTFileReader(rdr, reader);
+ List geoms = fileRdr.read();
+ return geoms;
+ }
+
+
+ public static boolean isEqual(Geometry a, Geometry b)
+ {
+ Geometry a2 = normalize(a);
+ Geometry b2 = normalize(b);
+ return a2.equalsExact(b2);
+ }
+
+ public static Geometry normalize(Geometry g)
+ {
+ Geometry g2 = (Geometry) g.copy();
+ g2.normalize();
+ return g2;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/junit/MasterTester.java b/modules/core/src/test/java/test/jts/junit/MasterTester.java
new file mode 100644
index 0000000..0f9e72f
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/junit/MasterTester.java
@@ -0,0 +1,132 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.junit;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.locationtech.jts.algorithm.RobustLineIntersectionTest;
+import org.locationtech.jts.geom.AreaLengthTest;
+import org.locationtech.jts.geom.BidirectionalComparatorTest;
+import org.locationtech.jts.geom.CoordinateArraysTest;
+import org.locationtech.jts.geom.EnvelopeTest;
+import org.locationtech.jts.geom.GeometryCollectionImplTest;
+import org.locationtech.jts.geom.GeometryImplTest;
+import org.locationtech.jts.geom.IntersectionMatrixTest;
+import org.locationtech.jts.geom.IsRectangleTest;
+import org.locationtech.jts.geom.LineStringImplTest;
+import org.locationtech.jts.geom.MultiPointImplTest;
+import org.locationtech.jts.geom.NormalizeTest;
+import org.locationtech.jts.geom.PointImplTest;
+import org.locationtech.jts.geom.PrecisionModelTest;
+import org.locationtech.jts.geom.PredicateShortCircuitTest;
+import org.locationtech.jts.geom.RectanglePredicateSyntheticTest;
+import org.locationtech.jts.geom.RectanglePredicateTest;
+import org.locationtech.jts.geom.impl.BasicCoordinateSequenceTest;
+import org.locationtech.jts.index.quadtree.QuadtreeTest;
+import org.locationtech.jts.index.strtree.IntervalTest;
+import org.locationtech.jts.index.strtree.SIRtreeTest;
+import org.locationtech.jts.index.strtree.STRtreeTest;
+import org.locationtech.jts.io.WKBTest;
+import org.locationtech.jts.io.WKTReaderTest;
+import org.locationtech.jts.io.WKTWriterTest;
+import org.locationtech.jts.linearref.LengthIndexedLineTest;
+import org.locationtech.jts.linearref.LocationIndexedLineTest;
+import org.locationtech.jts.operation.buffer.BufferTest;
+import org.locationtech.jts.operation.distance.DistanceTest;
+import org.locationtech.jts.operation.linemerge.LineMergerTest;
+import org.locationtech.jts.operation.polygonize.PolygonizeTest;
+import org.locationtech.jts.operation.relate.RelateBoundaryNodeRuleTest;
+import org.locationtech.jts.operation.union.CascadedPolygonUnionTest;
+import org.locationtech.jts.operation.union.UnaryUnionTest;
+import org.locationtech.jts.operation.valid.IsValidTest;
+import org.locationtech.jts.operation.valid.ValidClosedRingTest;
+import org.locationtech.jts.operation.valid.ValidSelfTouchingRingFormingHoleTest;
+import org.locationtech.jts.precision.SimpleGeometryPrecisionReducerTest;
+import org.locationtech.jts.triangulate.ConformingDelaunayTest;
+import org.locationtech.jts.triangulate.DelaunayTest;
+
+/**
+ * A collection of all the tests.
+ *
+ * @version 1.7
+ */
+public class MasterTester extends TestCase {
+
+ public MasterTester(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite result = new TestSuite();
+ result.addTest(new TestSuite(org.locationtech.jts.algorithm.AngleTest.class));
+ result.addTest(new TestSuite(AreaLengthTest.class));
+ result.addTest(new TestSuite(BasicCoordinateSequenceTest.class));
+ result.addTest(new TestSuite(BidirectionalComparatorTest.class));
+ result.addTest(new TestSuite(BufferTest.class));
+ result.addTest(new TestSuite(CascadedPolygonUnionTest.class));
+ result.addTest(new TestSuite(org.locationtech.jts.algorithm.OrientationIndexTest.class));
+ result.addTest(new TestSuite(ConformingDelaunayTest.class));
+ result.addTest(new TestSuite(org.locationtech.jts.algorithm.ConvexHullTest.class));
+ result.addTest(new TestSuite(CoordinateArraysTest.class));
+ result.addTest(new TestSuite(DelaunayTest.class));
+ result.addTest(new TestSuite(DistanceTest.class));
+ result.addTest(new TestSuite(EnvelopeTest.class));
+ result.addTest(new TestSuite(GeometryCollectionImplTest.class));
+ result.addTest(new TestSuite(GeometryImplTest.class));
+ result.addTest(new TestSuite(IntersectionMatrixTest.class));
+ result.addTest(new TestSuite(IntervalTest.class));
+ result.addTest(new TestSuite(org.locationtech.jts.algorithm.IsCCWTest.class));
+ result.addTest(new TestSuite(IsRectangleTest.class));
+ result.addTest(new TestSuite(IsValidTest.class));
+ result.addTest(new TestSuite(LengthIndexedLineTest.class));
+ result.addTest(new TestSuite(LineMergerTest.class));
+ result.addTest(new TestSuite(LineStringImplTest.class));
+ result.addTest(new TestSuite(LocationIndexedLineTest.class));
+ result.addTest(new TestSuite(MiscellaneousTest.class));
+ result.addTest(new TestSuite(MiscellaneousTest2.class));
+ result.addTest(new TestSuite(MultiPointImplTest.class));
+ result.addTest(new TestSuite(org.locationtech.jts.algorithm.NonRobustLineIntersectorTest.class));
+ result.addTest(new TestSuite(NormalizeTest.class));
+ result.addTest(new TestSuite(PointImplTest.class));
+ result.addTest(new TestSuite(PolygonizeTest.class));
+ result.addTest(new TestSuite(PredicateShortCircuitTest.class));
+ result.addTest(new TestSuite(PrecisionModelTest.class));
+ result.addTest(new TestSuite(QuadtreeTest.class));
+ result.addTest(new TestSuite(RectanglePredicateSyntheticTest.class));
+ result.addTest(new TestSuite(RectanglePredicateTest.class));
+ result.addTest(new TestSuite(RelateBoundaryNodeRuleTest.class));
+ result.addTest(new TestSuite(RobustLineIntersectionTest.class));
+ result.addTest(new TestSuite(SimpleGeometryPrecisionReducerTest.class));
+ result.addTest(new TestSuite(SimpleTest.class));
+ result.addTest(new TestSuite(SIRtreeTest.class));
+ result.addTest(new TestSuite(STRtreeTest.class));
+ result.addTest(new TestSuite(WKTReaderTest.class));
+ result.addTest(new TestSuite(WKTWriterTest.class));
+ result.addTest(new TestSuite(WKBTest.class));
+ result.addTest(new TestSuite(UnaryUnionTest.class));
+ result.addTest(new TestSuite(ValidClosedRingTest.class));
+ result.addTest(new TestSuite(ValidSelfTouchingRingFormingHoleTest.class));
+ //result.addTest(new TestSuite(VoronoiTest.class));
+
+ return result;
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(suite());
+ System.exit(0);
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/junit/MiscellaneousTest.java b/modules/core/src/test/java/test/jts/junit/MiscellaneousTest.java
new file mode 100644
index 0000000..c3d98a4
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/junit/MiscellaneousTest.java
@@ -0,0 +1,486 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.junit;
+
+import java.util.ArrayList;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+/**
+ * @version 1.7
+ */
+public class MiscellaneousTest extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ TestRunner.run(MiscellaneousTest.class);
+ }
+
+ public void testEnvelopeCloned() throws Exception {
+ Geometry a = reader.read("LINESTRING(0 0, 10 10)");
+ //Envelope is lazily initialized [Jon Aquino]
+ a.getEnvelopeInternal();
+ Geometry b = (Geometry)a.copy();
+ assertTrue(a.getEnvelopeInternal() != b.getEnvelopeInternal());
+ }
+
+ public MiscellaneousTest(String name) { super(name); }
+
+ public void testCreateEmptyGeometry() throws Exception {
+ assertTrue(geometryFactory.createPoint((Coordinate)null).isEmpty());
+ assertTrue(geometryFactory.createLinearRing(new Coordinate[] { }).isEmpty());
+ assertTrue(geometryFactory.createLineString(new Coordinate[] { }).isEmpty());
+ assertTrue(geometryFactory.createPolygon(geometryFactory.createLinearRing(new Coordinate[] { }), new LinearRing[] { }).isEmpty());
+ assertTrue(geometryFactory.createMultiPolygon(new Polygon[] { }).isEmpty());
+ assertTrue(geometryFactory.createMultiLineString(new LineString[] { }).isEmpty());
+ assertTrue(geometryFactory.createMultiPoint(new Point[] { }).isEmpty());
+
+ assertTrue(geometryFactory.createPoint((Coordinate)null).isSimple());
+ assertTrue(geometryFactory.createLinearRing(new Coordinate[] { }).isSimple());
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// assertTrue(geometryFactory.createLineString(new Coordinate[] { }).isSimple());
+// assertTrue(geometryFactory.createPolygon(geometryFactory.createLinearRing(new Coordinate[] { }), new LinearRing[] { }).isSimple());
+// assertTrue(geometryFactory.createMultiPolygon(new Polygon[] { }).isSimple());
+// assertTrue(geometryFactory.createMultiLineString(new LineString[] { }).isSimple());
+// assertTrue(geometryFactory.createMultiPoint(new Point[] { }).isSimple());
+
+ assertTrue(geometryFactory.createPoint((Coordinate)null).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createLinearRing(new Coordinate[] { }).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createLineString(new Coordinate[] { }).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createPolygon(geometryFactory.createLinearRing(new Coordinate[] { }), new LinearRing[] { }).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createMultiPolygon(new Polygon[] { }).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createMultiLineString(new LineString[] { }).getBoundary().isEmpty());
+ assertTrue(geometryFactory.createMultiPoint(new Point[] { }).getBoundary().isEmpty());
+
+ assertTrue(geometryFactory.createLinearRing((CoordinateSequence)null).isEmpty());
+ assertTrue(geometryFactory.createLineString((Coordinate[])null).isEmpty());
+ assertTrue(geometryFactory.createPolygon(null, null).isEmpty());
+ assertTrue(geometryFactory.createMultiPolygon(null).isEmpty());
+ assertTrue(geometryFactory.createMultiLineString(null).isEmpty());
+ assertTrue(geometryFactory.createMultiPoint((Point[]) null).isEmpty());
+
+ assertEquals(-1, (geometryFactory.createPoint((Coordinate)null)).getBoundaryDimension());
+ assertEquals(-1, (geometryFactory.createLinearRing((CoordinateSequence)null)).getBoundaryDimension());
+ assertEquals(0, (geometryFactory.createLineString((Coordinate[])null)).getBoundaryDimension());
+ assertEquals(1, (geometryFactory.createPolygon(null, null)).getBoundaryDimension());
+ assertEquals(1, (geometryFactory.createMultiPolygon(null)).getBoundaryDimension());
+ assertEquals(0, (geometryFactory.createMultiLineString(null)).getBoundaryDimension());
+ assertEquals(-1, (geometryFactory.createMultiPoint((Point[]) null)).getBoundaryDimension());
+
+ assertEquals(0, (geometryFactory.createPoint((Coordinate)null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createLinearRing((CoordinateSequence)null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createLineString((Coordinate[])null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createPolygon(null, null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createMultiPolygon(null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createMultiLineString(null)).getNumPoints());
+ assertEquals(0, (geometryFactory.createMultiPoint((Point[]) null)).getNumPoints());
+
+ assertEquals(0, (geometryFactory.createPoint((Coordinate)null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createLinearRing((CoordinateSequence)null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createLineString((Coordinate[])null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createPolygon(null, null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createMultiPolygon(null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createMultiLineString(null)).getCoordinates().length);
+ assertEquals(0, (geometryFactory.createMultiPoint((Point[]) null)).getCoordinates().length);
+ }
+
+ public void testBoundaryOfEmptyGeometry() throws Exception {
+ assertTrue(geometryFactory.createPoint((Coordinate)null).getBoundary().getClass() == GeometryCollection.class);
+ assertTrue(geometryFactory.createLinearRing(new Coordinate[] { }).getBoundary().getClass() == MultiPoint.class);
+ assertTrue(geometryFactory.createLineString(new Coordinate[] { }).getBoundary().getClass() == MultiPoint.class);
+ assertTrue(geometryFactory.createPolygon(geometryFactory.createLinearRing(new Coordinate[] { }), new LinearRing[] { }).getBoundary().getClass() == MultiLineString.class);
+ assertTrue(geometryFactory.createMultiPolygon(new Polygon[] { }).getBoundary().getClass() == MultiLineString.class);
+ assertTrue(geometryFactory.createMultiLineString(new LineString[] { }).getBoundary().getClass() == MultiPoint.class);
+ assertTrue(geometryFactory.createMultiPoint(new Point[] { }).getBoundary().getClass() == GeometryCollection.class);
+ try {
+ geometryFactory.createGeometryCollection(new Geometry[] { }).getBoundary();
+ assertTrue(false);
+ }
+ catch (IllegalArgumentException e) {
+ }
+ }
+
+ public void testToPointArray() {
+ ArrayList list = new ArrayList();
+ list.add(geometryFactory.createPoint(new Coordinate(0, 0)));
+ list.add(geometryFactory.createPoint(new Coordinate(10, 0)));
+ list.add(geometryFactory.createPoint(new Coordinate(10, 10)));
+ list.add(geometryFactory.createPoint(new Coordinate(0, 10)));
+ list.add(geometryFactory.createPoint(new Coordinate(0, 0)));
+ Point[] points = GeometryFactory.toPointArray(list);
+ assertEquals(10, points[1].getX(), 1E-1);
+ assertEquals(0, points[1].getY(), 1E-1);
+ }
+
+ public void testPolygonGetCoordinates() throws Exception {
+ Polygon p = (Polygon) reader.read(
+ "POLYGON ( (0 0, 100 0, 100 100, 0 100, 0 0), "
+ + " (20 20, 20 80, 80 80, 80 20, 20 20)) ");
+ Coordinate[] coordinates = p.getCoordinates();
+ assertEquals(10, p.getNumPoints());
+ assertEquals(10, coordinates.length);
+ assertEquals(new Coordinate(0, 0), coordinates[0]);
+ assertEquals(new Coordinate(20, 20), coordinates[9]);
+ }
+
+ public void testEmptyPoint() throws Exception {
+ Point p = geometryFactory.createPoint((Coordinate)null);
+ assertEquals(0, p.getDimension());
+ assertEquals(new Envelope(), p.getEnvelopeInternal());
+ assertTrue(p.isSimple());
+ try {
+ p.getX();
+ assertTrue(false);
+ }
+ catch (IllegalStateException e1) {
+ }
+ try {
+ p.getY();
+ assertTrue(false);
+ }
+ catch (IllegalStateException e2) {
+ }
+
+ assertEquals("POINT EMPTY", p.toString());
+ assertEquals("POINT EMPTY", p.toText());
+ }
+
+ public void testEmptyLineString() throws Exception {
+ LineString l = geometryFactory.createLineString((Coordinate[])null);
+ assertEquals(1, l.getDimension());
+ assertEquals(new Envelope(), l.getEnvelopeInternal());
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// assertTrue(l.isSimple());
+ assertEquals(null, l.getStartPoint());
+ assertEquals(null, l.getEndPoint());
+ assertTrue(! l.isClosed());
+ assertTrue(! l.isRing());
+ }
+
+ public void testEmptyLinearRing() throws Exception {
+ LineString l = geometryFactory.createLinearRing((CoordinateSequence)null);
+ assertEquals(1, l.getDimension());
+ assertEquals(new Envelope(), l.getEnvelopeInternal());
+ assertTrue(l.isSimple());
+ assertEquals(null, l.getStartPoint());
+ assertEquals(null, l.getEndPoint());
+ assertTrue(l.isClosed());
+ assertTrue(l.isRing());
+ }
+
+ public void testEmptyPolygon() throws Exception {
+ Polygon p = geometryFactory.createPolygon(null, null);
+ assertEquals(2, p.getDimension());
+ assertEquals(new Envelope(), p.getEnvelopeInternal());
+ assertTrue(p.isSimple());
+ }
+
+ public void testEmptyGeometryCollection() throws Exception {
+ GeometryCollection g = geometryFactory.createGeometryCollection(null);
+ assertEquals(-1, g.getDimension());
+ assertEquals(new Envelope(), g.getEnvelopeInternal());
+ assertTrue(g.isSimple());
+ }
+
+ public void testEmptyMultiPoint() throws Exception {
+ MultiPoint g = geometryFactory.createMultiPoint((Point[])null);
+ assertEquals(0, g.getDimension());
+ assertEquals(new Envelope(), g.getEnvelopeInternal());
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// assertTrue(g.isSimple());
+ }
+
+ public void testEmptyMultiLineString() throws Exception {
+ MultiLineString g = geometryFactory.createMultiLineString(null);
+ assertEquals(1, g.getDimension());
+ assertEquals(new Envelope(), g.getEnvelopeInternal());
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// assertTrue(g.isSimple());
+ assertTrue(! g.isClosed());
+ }
+
+ public void testEmptyMultiPolygon() throws Exception {
+ MultiPolygon g = geometryFactory.createMultiPolygon(null);
+ assertEquals(2, g.getDimension());
+ assertEquals(new Envelope(), g.getEnvelopeInternal());
+ assertTrue(g.isSimple());
+ }
+
+ public void testGetGeometryType() throws Exception {
+ GeometryCollection g = geometryFactory.createMultiPolygon(null);
+ assertEquals("MultiPolygon", g.getGeometryType());
+ }
+
+ public void testMultiPolygonIsSimple1() throws Exception {
+ Geometry g = reader.read("MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60)))");
+ assertTrue(g.isSimple());
+ }
+
+ public void testPointIsSimple() throws Exception {
+ Geometry g = reader.read("POINT (10 10)");
+ assertTrue(g.isSimple());
+ }
+
+ public void testPointGetBoundary() throws Exception {
+ Geometry g = reader.read("POINT (10 10)");
+ assertTrue(g.getBoundary().isEmpty());
+ }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testMultiPointIsSimple1() throws Exception {
+// Geometry g = reader.read("MULTIPOINT(10 10, 20 20, 30 30)");
+// assertTrue(g.isSimple());
+// }
+
+ public void testMultiPointGetBoundary() throws Exception {
+ Geometry g = reader.read("MULTIPOINT(10 10, 20 20, 30 30)");
+ assertTrue(g.getBoundary().isEmpty());
+ }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testMultiPointIsSimple2() throws Exception {
+// Geometry g = reader.read("MULTIPOINT(10 10, 30 30, 30 30)");
+// assertTrue(! g.isSimple());
+// }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testLineStringIsSimple1() throws Exception {
+// Geometry g = reader.read("LINESTRING(10 10, 20 10, 15 20)");
+// assertTrue(g.isSimple());
+// }
+
+ public void testLineStringGetBoundary1() throws Exception {
+ LineString g = (LineString) reader.read("LINESTRING(10 10, 20 10, 15 20)");
+ assertTrue(g.getBoundary() instanceof MultiPoint);
+ MultiPoint boundary = (MultiPoint) g.getBoundary();
+ assertTrue(boundary.getGeometryN(0).equals(g.getStartPoint()));
+ assertTrue(boundary.getGeometryN(1).equals(g.getEndPoint()));
+ }
+
+ public void testLineStringGetBoundary2() throws Exception {
+ LineString g = (LineString) reader.read("LINESTRING(10 10, 20 10, 15 20, 10 10)");
+ assertTrue(g.getBoundary().isEmpty());
+ }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testLineStringIsSimple2() throws Exception {
+// Geometry g = reader.read("LINESTRING(10 10, 20 10, 15 20, 15 0)");
+// assertTrue(! g.isSimple());
+// }
+
+ public void testLinearRingIsSimple() throws Exception {
+ Coordinate[] coordinates = { new Coordinate(10, 10, 0),
+ new Coordinate(10, 20, 0),
+ new Coordinate(20, 20, 0),
+ new Coordinate(20, 15, 0),
+ new Coordinate(10, 10, 0) };
+ LinearRing linearRing = geometryFactory.createLinearRing(coordinates);
+ assertTrue(linearRing.isSimple());
+ }
+
+ public void testPolygonIsSimple() throws Exception {
+ Geometry g = reader.read("POLYGON((10 10, 10 20, 202 0, 20 15, 10 10))");
+ assertTrue(g.isSimple());
+ }
+
+ public void testPolygonGetBoundary() throws Exception {
+ Geometry g = reader.read("POLYGON("
+ + "(0 0, 40 0, 40 40, 0 40, 0 0),"
+ + "(10 10, 30 10, 30 30, 10 30, 10 10))");
+ Geometry b = reader.read("MULTILINESTRING("
+ + "(0 0, 40 0, 40 40, 0 40, 0 0),"
+ + "(10 10, 30 10, 30 30, 10 30, 10 10))");
+ assertTrue(b.equalsExact(g.getBoundary()));
+ }
+
+ public void testMultiPolygonGetBoundary1() throws Exception {
+ Geometry g = reader.read("MULTIPOLYGON("
+ + "( (0 0, 40 0, 40 40, 0 40, 0 0),"
+ + " (10 10, 30 10, 30 30, 10 30, 10 10) ),"
+ + "( (200 200, 210 200, 210 210, 200 200) ) )");
+ Geometry b = reader.read("MULTILINESTRING("
+ + "(0 0, 40 0, 40 40, 0 40, 0 0),"
+ + "(10 10, 30 10, 30 30, 10 30, 10 10),"
+ + "(200 200, 210 200, 210 210, 200 200))");
+ assertTrue(b.equalsExact(g.getBoundary()));
+ }
+
+ public void testMultiPolygonIsSimple2() throws Exception {
+ Geometry g = reader.read("MULTIPOLYGON("
+ + "((10 10, 10 20, 20 20, 20 15, 10 10)), "
+ + "((60 60, 70 70, 80 60, 60 60)) )");
+ assertTrue(g.isSimple());
+ }
+
+// public void testGeometryCollectionIsSimple1() throws Exception {
+// Geometry g = reader.read("GEOMETRYCOLLECTION("
+// + "LINESTRING(0 0, 100 0),"
+// + "LINESTRING(0 10, 100 10))");
+// assertTrue(g.isSimple());
+// }
+
+// public void testGeometryCollectionIsSimple2() throws Exception {
+// Geometry g = reader.read("GEOMETRYCOLLECTION("
+// + "LINESTRING(0 0, 100 0),"
+// + "LINESTRING(50 0, 100 10))");
+// assertTrue(! g.isSimple());
+// }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testMultiLineStringIsSimple1() throws Exception {
+// Geometry g = reader.read("MULTILINESTRING("
+// + "(0 0, 100 0),"
+// + "(0 10, 100 10))");
+// assertTrue(g.isSimple());
+// }
+
+/**
+ * @todo Enable when #isSimple implemented
+ */
+// public void testMultiLineStringIsSimple2() throws Exception {
+// Geometry g = reader.read("MULTILINESTRING("
+// + "(0 0, 100 0),"
+// + "(50 0, 100 10))");
+// assertTrue(! g.isSimple());
+// }
+
+ public void testMultiLineStringGetBoundary1() throws Exception {
+ Geometry g = reader.read("MULTILINESTRING("
+ + "(0 0, 100 0, 50 50),"
+ + "(50 50, 50 -50))");
+ Geometry m = reader.read("MULTIPOINT(0 0, 50 -50)");
+ assertTrue(m.equalsExact(g.getBoundary()));
+ }
+
+ public void testMultiLineStringGetBoundary2() throws Exception {
+ Geometry g = reader.read("MULTILINESTRING("
+ + "(0 0, 100 0, 50 50),"
+ + "(50 50, 50 0))");
+ Geometry m = reader.read("MULTIPOINT(0 0, 50 0)");
+ assertTrue(m.equalsExact(g.getBoundary()));
+ }
+
+// public void testGeometryCollectionGetBoundary1() throws Exception {
+// Geometry g = reader.read("GEOMETRYCOLLECTION("
+// + "POLYGON((0 0, 100 0, 100 100, 0 100, 0 0)),"
+// + "LINESTRING(200 100, 200 0))");
+// Geometry b = reader.read("GEOMETRYCOLLECTION("
+// + "LINESTRING(0 0, 100 0, 100 100, 0 100, 0 0),"
+// + "LINESTRING(200 100, 200 0))");
+// assertEquals(b, g.getBoundary());
+// assertTrue(! g.equals(g.getBoundary()));
+// }
+
+// public void testGeometryCollectionGetBoundary2() throws Exception {
+// Geometry g = reader.read("GEOMETRYCOLLECTION("
+// + "POLYGON((0 0, 100 0, 100 100, 0 100, 0 0)),"
+// + "LINESTRING(50 50, 60 60))");
+// Geometry b = reader.read("GEOMETRYCOLLECTION("
+// + "LINESTRING(0 0, 100 0, 100 100, 0 100, 0 0))");
+// assertEquals(b, g.getBoundary());
+// }
+
+// public void testGeometryCollectionGetBoundary3() throws Exception {
+// Geometry g = reader.read("GEOMETRYCOLLECTION("
+// + "POLYGON((0 0, 100 0, 100 100, 0 100, 0 0)),"
+// + "LINESTRING(50 50, 150 50))");
+// Geometry b = reader.read("GEOMETRYCOLLECTION("
+// + "LINESTRING(0 0, 100 0, 100 100, 0 100, 0 0),"
+// + "POINT(150 50))");
+// assertEquals(b, g.getBoundary());
+// }
+
+ public void testCoordinateNaN() {
+ Coordinate c1 = new Coordinate();
+ assertTrue(! Double.isNaN(c1.x));
+ assertTrue(! Double.isNaN(c1.y));
+ assertTrue(Double.isNaN(c1.z));
+
+ Coordinate c2 = new Coordinate(3,4);
+ assertEquals(3,c2.x,1E-10);
+ assertEquals(4,c2.y,1E-10);
+ assertTrue(Double.isNaN(c2.z));
+
+ assertEquals(c1,c1);
+ assertEquals(c2,c2);
+ assertTrue(! c1.equals(c2));
+ assertEquals(new Coordinate(),new Coordinate(0,0));
+ assertEquals(new Coordinate(3,5),new Coordinate(3,5));
+ assertEquals(new Coordinate(3,5,Double.NaN),new Coordinate(3,5,Double.NaN));
+ assertTrue(new Coordinate(3,5,0).equals(new Coordinate(3,5,Double.NaN)));
+ }
+
+ public void testPredicatesReturnFalseForEmptyGeometries() {
+ Point p1 = new GeometryFactory().createPoint((Coordinate)null);
+ Point p2 = new GeometryFactory().createPoint(new Coordinate(5,5));
+ assertEquals(false, p1.equals(p2));
+ assertEquals(true, p1.disjoint(p2));
+ assertEquals(false, p1.intersects(p2));
+ assertEquals(false, p1.touches(p2));
+ assertEquals(false, p1.crosses(p2));
+ assertEquals(false, p1.within(p2));
+ assertEquals(false, p1.contains(p2));
+ assertEquals(false, p1.overlaps(p2));
+
+ assertEquals(false, p2.equals(p1));
+ assertEquals(true, p2.disjoint(p1));
+ assertEquals(false, p2.intersects(p1));
+ assertEquals(false, p2.touches(p1));
+ assertEquals(false, p2.crosses(p1));
+ assertEquals(false, p2.within(p1));
+ assertEquals(false, p2.contains(p1));
+ assertEquals(false, p2.overlaps(p1));
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/junit/MiscellaneousTest2.java b/modules/core/src/test/java/test/jts/junit/MiscellaneousTest2.java
new file mode 100644
index 0000000..16197eb
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/junit/MiscellaneousTest2.java
@@ -0,0 +1,161 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.junit;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.NonRobustCGAlgorithms;
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.algorithm.PointLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.planargraph.DirectedEdge;
+import org.locationtech.jts.planargraph.Node;
+import org.locationtech.jts.util.UniqueCoordinateArrayFilter;
+
+import junit.framework.TestCase;
+
+
+
+
+/**
+ * @version 1.7
+ */
+public class MiscellaneousTest2 extends TestCase {
+
+ PrecisionModel precisionModel = new PrecisionModel(1);
+ GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader reader = new WKTReader(geometryFactory);
+
+ public MiscellaneousTest2 (String Name_) {
+ super(Name_);
+ }
+
+ public void testCoordinateHash() {
+ doTestCoordinateHash(true, new Coordinate(1, 2), new Coordinate(1, 2));
+ doTestCoordinateHash(false, new Coordinate(1, 2), new Coordinate(3, 4));
+ doTestCoordinateHash(false, new Coordinate(1, 2), new Coordinate(1, 4));
+ doTestCoordinateHash(false, new Coordinate(1, 2), new Coordinate(3, 2));
+ doTestCoordinateHash(false, new Coordinate(1, 2), new Coordinate(2, 1));
+ }
+
+ private void doTestCoordinateHash(boolean equal, Coordinate a, Coordinate b) {
+ assertEquals(equal, a.equals(b));
+ assertEquals(equal, a.hashCode() == b.hashCode());
+ }
+
+ public static void main (String[] args) {
+ String[] testCaseName = {
+ MiscellaneousTest2.class.getName()
+ };
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public void testZeroAreaPolygon() throws Exception {
+ Geometry g = reader.read(
+ "POLYGON((0 0, 0 0, 0 0, 0 0, 0 0))");
+ g.isValid();
+ assertTrue(true); //No exception thrown [Jon Aquino]
+ }
+
+ public void testLineStringIsValid() throws Exception {
+ Geometry g = reader.read(
+ "LINESTRING(0 0, 0 0)");
+ g.isValid();
+ assertTrue(true); //No exception thrown [Jon Aquino]
+ }
+
+ public void testUniqueCoordinateArrayFilter() throws Exception {
+ Geometry g = reader.read(
+ "MULTIPOINT(10 10, 20 20, 30 30, 20 20, 10 10)");
+ UniqueCoordinateArrayFilter f = new UniqueCoordinateArrayFilter();
+ g.apply(f);
+ assertEquals(3, f.getCoordinates().length);
+ assertEquals(new Coordinate(10, 10), f.getCoordinates()[0]);
+ assertEquals(new Coordinate(20, 20), f.getCoordinates()[1]);
+ assertEquals(new Coordinate(30, 30), f.getCoordinates()[2]);
+ }
+
+ public void testPointLocatorLinearRingLineString() throws Exception {
+ PointLocator pointLocator = new PointLocator();
+ Geometry gc = reader.read("GEOMETRYCOLLECTION( LINESTRING(0 0, 10 10), LINEARRING(10 10, 10 20, 20 10, 10 10))");
+ assertEquals(Location.BOUNDARY, pointLocator.locate(new Coordinate(10, 10), gc));
+ }
+
+ public void testPointLocator() throws Exception {
+ PointLocator pointLocator = new PointLocator();
+ Geometry polygon = reader.read("POLYGON ((70 340, 430 50, 70 50, 70 340))");
+ assertEquals(Location.EXTERIOR, pointLocator.locate(new Coordinate(420, 340), polygon));
+ assertEquals(Location.BOUNDARY, pointLocator.locate(new Coordinate(350, 50), polygon));
+ assertEquals(Location.BOUNDARY, pointLocator.locate(new Coordinate(410, 50), polygon));
+ assertEquals(Location.INTERIOR, pointLocator.locate(new Coordinate(190, 150), polygon));
+ }
+
+ public void testDirectedEdgeComparator() {
+ DirectedEdge d1 = new DirectedEdge(new Node(new Coordinate(0, 0)),
+ new Node(new Coordinate(10, 10)), new Coordinate(10, 10), true);
+ DirectedEdge d2 = new DirectedEdge(new Node(new Coordinate(0, 0)),
+ new Node(new Coordinate(20, 20)), new Coordinate(20, 20), false);
+ assertEquals(0, d2.compareTo(d1));
+ }
+
+ public void testDirectedEdgeToEdges() {
+ DirectedEdge d1 = new DirectedEdge(new Node(new Coordinate(0, 0)),
+ new Node(new Coordinate(10, 10)), new Coordinate(10, 10), true);
+ DirectedEdge d2 = new DirectedEdge(new Node(new Coordinate(20, 0)),
+ new Node(new Coordinate(20, 10)), new Coordinate(20, 10), false);
+ List edges = DirectedEdge.toEdges(Arrays.asList(new Object[]{d1, d2}));
+ assertEquals(2, edges.size());
+ assertNull(edges.get(0));
+ assertNull(edges.get(1));
+ }
+
+ public void testNoding() throws Exception {
+ Geometry a = reader.read("LINESTRING(0 0, 100 100)");
+ Geometry b = reader.read("LINESTRING(0 100, 100 0)");
+ List lineStrings = Arrays.asList(new Object[] {a, b});
+ Geometry nodedLineStrings = (LineString) lineStrings.get(0);
+ for (int i = 1; i < lineStrings.size(); i++) {
+ nodedLineStrings = nodedLineStrings.union((LineString)lineStrings.get(i));
+ }
+ assertEquals("MULTILINESTRING ((0 0, 50 50), (50 50, 100 100), (0 100, 50 50), (50 50, 100 0))", nodedLineStrings.toString());
+ }
+
+ public void testQuickPolygonUnion() throws Exception {
+ Geometry a = reader.read("POLYGON((0 0, 100 0, 100 100, 0 100, 0 0))");
+ Geometry b = reader.read("POLYGON((50 50, 150 50, 150 150, 50 150, 50 50))");
+ Geometry[] polygons = new Geometry[] {a, b};
+ GeometryCollection polygonCollection = new GeometryFactory().createGeometryCollection(polygons);
+ Geometry union = polygonCollection.buffer(0);
+ System.out.println(union);
+ assertEquals("POLYGON ((0 0, 0 100, 50 100, 50 150, 150 150, 150 50, 100 50, 100 0, 0 0))", union.toString());
+ }
+
+ public void testNoOutgoingDirEdgeFoundException() throws Exception {
+ Geometry a = new WKTReader().read("MULTIPOLYGON (((1668033.7441322226 575074.5372325261, 1668043.6526485088 575601.4901441064, 1668049.5076808596 575876.2262774946, 1668054.4619390026 576155.4662819218, 1668057.61464873 576428.4008668943, 1668059.8665842495 576711.2439681528, 1668063.9200681846 576991.3847467878, 1668071.576648951 577269.7239770072, 1668075.630132886 577547.1624330188, 1668077.8820684056 577825.5016632382, 1668081.935552341 578102.9401192497, 1668087.7905846918 578 [...]
+ Geometry b = new WKTReader().read("MULTIPOLYGON (((1665830.62 580116.54, 1665859.44 580115.84, 1666157.24 580108.56, 1666223.3 580107.1, 1666313 580105.12, 1666371.1 580103.62, 1666402 580102.78, 1666452.1 580101.42, 1666491.02 580100.36, 1666613.94 580097.02, 1666614.26 580097.02, 1666624 580096.74, 1666635.14 580096.42, 1666676.16 580095.28, 1666722.42 580093.94, 1666808.26 580091.44, 1666813.42 580091.3, 1666895.02 580088.78, 1666982.06 580086.1, 1667067.9 580083.46, 1667151.34 [...]
+ a.difference(b);
+ b.difference(a);
+ }
+
+}
+
+
+
diff --git a/modules/core/src/test/java/test/jts/junit/SimpleTest.java b/modules/core/src/test/java/test/jts/junit/SimpleTest.java
new file mode 100644
index 0000000..95af984
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/junit/SimpleTest.java
@@ -0,0 +1,36 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.junit;
+
+import junit.framework.TestCase;
+import junit.swingui.TestRunner;
+
+
+/**
+ * @version 1.7
+ */
+public class SimpleTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(SimpleTest.class);
+ }
+
+ public SimpleTest(String name) { super(name); }
+
+ public void testThisIsATest() throws Exception {
+ assertTrue(true);
+ }
+
+}
+
diff --git a/modules/core/src/test/java/test/jts/perf/ExamplePerfTest.java b/modules/core/src/test/java/test/jts/perf/ExamplePerfTest.java
new file mode 100644
index 0000000..7b8727c
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/ExamplePerfTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf;
+
+/**
+ * An example of the usage of the {@PerformanceTestRunner}.
+ *
+ * @author Martin Davis
+ *
+ */
+public class ExamplePerfTest
+extends PerformanceTestCase
+{
+
+ public static void main(String args[]) {
+ PerformanceTestRunner.run(ExamplePerfTest.class);
+ }
+
+ public ExamplePerfTest(String name)
+ {
+ super(name);
+ setRunSize(new int[] { 5, 10, 20 });
+ setRunIterations(10);
+ }
+
+ public void setUp()
+ {
+ // read data and allocate resources here
+ }
+
+ public void startRun(int size)
+ {
+ System.out.println("Running with size " + size);
+ iter = 0;
+ }
+
+ private int iter = 0;
+
+ public void runTest1()
+ {
+ System.out.println("Test 1 : Iter # " + iter++);
+ // do test work here
+ }
+
+ public void runTest2()
+ {
+ System.out.println("Test 2 : Iter # " + iter++);
+ // do test work here
+ }
+
+ public void tearDown()
+ {
+ // deallocate resources here
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/PerformanceTestCase.java b/modules/core/src/test/java/test/jts/perf/PerformanceTestCase.java
new file mode 100644
index 0000000..a0a26fd
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/PerformanceTestCase.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf;
+
+/**
+ * A base class for classes implementing performance tests
+ * to be run by the {@link PerformanceTestRunner}.
+ * <p>
+ * In a subclass of this class,
+ * all public methods which start with <code>run</code> are
+ * executed as performance tests.
+ * <p>
+ * Multiple test runs with different run sizes may be made.
+ * Within each run, each <code>run</code> method is executed
+ * the specified number of iterations.
+ * The time to run the method is printed for each one.
+ *
+ * @author Martin Davis
+ *
+ */
+public abstract class PerformanceTestCase
+{
+ private String name;
+ private int[] runSize = new int[] { 1 };
+ private int runIter = 1;
+ private long[] runTime;
+
+ public PerformanceTestCase(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the size(s) for the runs of the test.
+ *
+ * @param runSize a list of the sizes for the test runs
+ */
+ protected void setRunSize(int[] runSize)
+ {
+ this.runSize = runSize;
+ runTime = new long[runSize.length];
+ }
+
+ public int[] getRunSize()
+ {
+ return runSize;
+ }
+
+ public long[] getRunTime()
+ {
+ return runTime;
+ }
+
+ /**
+ * Sets the number of iterations to execute the test methods in each test run.
+ *
+ * @param runIter the number of iterations to execute.
+ */
+ protected void setRunIterations(int runIter)
+ {
+ this.runIter = runIter;
+ }
+
+ public int getRunIterations()
+ {
+ return runIter;
+ }
+
+ /**
+ * Sets up any fixtures needed for the test runs.
+ *
+ * @throws Exception
+ */
+ public void setUp()
+ throws Exception
+ {
+
+ }
+
+ /**
+ * Starts a test run with the given size.
+ *
+ * @param size
+ * @throws Exception
+ */
+ public void startRun(int size)
+ throws Exception
+ {
+
+ }
+
+ /**
+ * Ends a test run.
+ *
+ * @throws Exception
+ */
+ public void endRun()
+ throws Exception
+ {
+
+ }
+
+ /**
+ * Tear down any fixtures made for the testing.
+ *
+ * @throws Exception
+ */
+ public void tearDown()
+ throws Exception
+ {
+
+ }
+
+ void setTime(int runNum, long time) {
+ runTime[runNum] = time;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/PerformanceTestRunner.java b/modules/core/src/test/java/test/jts/perf/PerformanceTestRunner.java
new file mode 100644
index 0000000..89820f0
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/PerformanceTestRunner.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.util.Stopwatch;
+
+
+/**
+ * Runs {@link PerformanceTestCase} classes which contain performance tests.
+ *
+ *
+ *
+ * @author Martin Davis
+ *
+ */
+public class PerformanceTestRunner
+{
+ private static final String RUN_PREFIX = "run";
+
+ private static final String INIT_METHOD = "init";
+
+ public static void run(Class clz)
+ {
+ PerformanceTestRunner runner = new PerformanceTestRunner();
+ runner.runInternal(clz);
+ }
+
+ private PerformanceTestRunner()
+ {
+
+ }
+
+ private void runInternal(Class clz)
+ {
+ try {
+ Constructor ctor = clz.getConstructor(String.class);
+ PerformanceTestCase test = (PerformanceTestCase) ctor.newInstance("Name");
+ int[] runSize = test.getRunSize();
+ int runIter = test.getRunIterations();
+ Method[] runMethod = findMethods(clz, RUN_PREFIX);
+
+ // do the run
+ test.setUp();
+ for (int runNum = 0; runNum < runSize.length; runNum++)
+ {
+ int size = runSize[runNum];
+ test.startRun(size);
+ for (int i = 0; i < runMethod.length; i++) {
+ Stopwatch sw = new Stopwatch();
+ for (int iter = 0; iter < runIter; iter++) {
+ runMethod[i].invoke(test);
+ }
+ long time = sw.getTime();
+ System.out.println(runMethod[i].getName()
+ + " : " + sw.getTimeString());
+ test.setTime(runNum, time);
+ }
+ test.endRun();
+ }
+ test.tearDown();
+ }
+ catch (InvocationTargetException e) {
+ e.getTargetException().printStackTrace();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ private static Method[] findMethods(Class clz, String methodPrefix)
+ {
+ List runMeths = new ArrayList();
+ Method meth[] = clz.getDeclaredMethods();
+ for (int i = 0; i < meth.length; i++) {
+ if (meth[i].getName().startsWith(RUN_PREFIX)) {
+ runMeths.add(meth[i]);
+ }
+ }
+ return (Method[]) runMeths.toArray(new Method[0]);
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/ThreadTestCase.java b/modules/core/src/test/java/test/jts/perf/ThreadTestCase.java
new file mode 100644
index 0000000..6bce93e
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/ThreadTestCase.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf;
+
+/**
+ * Base class for test cases which depend on threading.
+ * A common example of usage is to test for race conditions.
+ *
+ * @author Martin Davis
+ *
+ */
+public abstract class ThreadTestCase
+{
+ public int getThreadCount()
+ {
+ return ThreadTestRunner.DEFAULT_THREAD_COUNT;
+
+ }
+ public abstract void setup();
+
+ public abstract Runnable getRunnable(int threadIndex);
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/ThreadTestRunner.java b/modules/core/src/test/java/test/jts/perf/ThreadTestRunner.java
new file mode 100644
index 0000000..9c06e0a
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/ThreadTestRunner.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf;
+
+/**
+ * Runs a {@link ThreadTestCase}.
+ *
+ * @author Martin Davis
+ *
+ */
+public class ThreadTestRunner
+{
+
+ public static final int DEFAULT_THREAD_COUNT = 10;
+
+ public static void run(ThreadTestCase testcase)
+ {
+ testcase.setup();
+
+ for (int i = 0; i < testcase.getThreadCount(); i++) {
+ Runnable runnable = testcase.getRunnable(i);
+ Thread t = new Thread(runnable);
+ t.start();
+ }
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/AreaPrecisionPerfTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/AreaPrecisionPerfTest.java
new file mode 100644
index 0000000..984e32a
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/AreaPrecisionPerfTest.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+
+public class AreaPrecisionPerfTest
+{
+ public static void main(String[] args) throws Exception
+ {
+
+ double originX = 1000000;
+ double originY = 5000000;
+ long start = System.currentTimeMillis();
+
+ for (int nrVertices = 4; nrVertices <= 1000000; nrVertices *= 2) {
+ Coordinate[] coordinates = new Coordinate[nrVertices + 1];
+
+ Coordinate vertex;
+ for (int i = 0; i <= nrVertices; i++) {
+ vertex = new Coordinate(originX
+ + (1 + Math.sin((float) i / (float) nrVertices * 2 * Math.PI)),
+ originY
+ + (1 + Math.cos((float) i / (float) nrVertices * 2 * Math.PI)));
+ coordinates[i] = vertex;
+ }
+ // close ring
+ coordinates[nrVertices] = coordinates[0];
+
+ Geometry g1 = new GeometryFactory().createLinearRing(coordinates);
+ LinearRing[] holes = new LinearRing[] {};
+ Polygon polygon = (Polygon) new GeometryFactory().createPolygon(
+ (LinearRing) g1, holes);
+ System.out.println(polygon);
+
+ double area = originalSignedArea(coordinates);
+ double area2 = accurateSignedArea(coordinates);
+ double exactArea = 0.5 * nrVertices * Math.sin(2 * Math.PI / nrVertices);
+
+ double eps = exactArea - area;
+ double eps2 = exactArea - area2;
+
+ System.out.println(nrVertices + " orig err: " + eps
+ + " acc err: " + eps2);
+ }
+ System.out.println("Time: " + (System.currentTimeMillis() - start) / 1000.0);
+ }
+
+ public static double originalSignedArea(Coordinate[] ring)
+ {
+ if (ring.length < 3)
+ return 0.0;
+ double sum = 0.0;
+ for (int i = 0; i < ring.length - 1; i++) {
+ double bx = ring[i].x;
+ double by = ring[i].y;
+ double cx = ring[i + 1].x;
+ double cy = ring[i + 1].y;
+ sum += (bx + cx) * (cy - by);
+ }
+ return -sum / 2.0;
+ }
+
+ public static double accurateSignedArea(Coordinate[] ring)
+ {
+ if (ring.length < 3)
+ return 0.0;
+ double sum = 0.0;
+ // http://en.wikipedia.org/wiki/Shoelace_formula
+ double x0 = ring[0].x;
+ for (int i = 1; i < ring.length - 1; i++) {
+ double x = ring[i].x - x0;
+ double y1 = ring[i + 1].y;
+ double y2 = ring[i == 0 ? ring.length - 1 : i - 1].y;
+ sum += x * (y2 - y1);
+ }
+ return sum / 2.0;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/DDOrientationIndexAccuracyTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/DDOrientationIndexAccuracyTest.java
new file mode 100644
index 0000000..bd0d023
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/DDOrientationIndexAccuracyTest.java
@@ -0,0 +1,91 @@
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.math.DD;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+/**
+ * Test the accuracy of DD orientation index computation,
+ * using the built-in double value conversion and an experimental
+ * conversion approach with better decimal accuracy.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DDOrientationIndexAccuracyTest extends GeometryTestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(DDOrientationIndexAccuracyTest.class);
+ }
+
+ public DDOrientationIndexAccuracyTest(String name) {
+ super(name);
+ }
+
+ public void testRightTriangleForDeterminant() {
+ checkLine45(1, 100, 100);
+ }
+
+ private void checkLine45(int width, int nPts, double precision) {
+ Coordinate p1 = new Coordinate(0, width);
+ Coordinate p2 = new Coordinate(width, 0);
+ for (int i = 0; i <= nPts; i++) {
+ double d = width / (double) nPts;
+ Coordinate q = new Coordinate(0.0 + i * d, width - i * d);
+ PrecisionModel pm = new PrecisionModel(precision);
+ pm.makePrecise(q);
+ checkPointOnSeg(p1, p2, q);
+ }
+ }
+
+
+
+ private void checkPointOnSeg(Coordinate p1, Coordinate p2, Coordinate q) {
+ System.out.println(" Pt: " + WKTWriter.toPoint(q) + " seg: " + WKTWriter.toLineString(p1, p2)
+ + " --- DDstd = " + orientationDet(p1, p2, q, DD_STD)
+ + " --- DDdec = " + orientationDet(p1, p2, q, DD_DEC)
+ );
+ }
+
+ public static DD orientationDet(Coordinate p1, Coordinate p2, Coordinate q, DDConverter conv) {
+ // normalize coordinates
+ DD dx1 = conv.convert(p2.x).selfAdd(conv.convert(-p1.x));
+ DD dy1 = conv.convert(p2.y).selfAdd(conv.convert(-p1.y));
+ DD dx2 = conv.convert(q.x).selfAdd(conv.convert(-p2.x));
+ DD dy2 = conv.convert(q.y).selfAdd(conv.convert(-p2.y));
+
+ // sign of determinant - unrolled for performance
+ return dx1.selfMultiply(dy2).selfSubtract(dy1.selfMultiply(dx2));
+ }
+
+ private static final boolean USE_ACCURATE_CONVERSION = false;
+
+ private static DD convertToDD(double x) {
+ if (USE_ACCURATE_CONVERSION) {
+ // convert more accurately to DD from decimal representation
+ // very slow though - should be a better way
+ return DD.valueOf(x + "");
+ }
+
+ // current built-in conversion - introduces jitter
+ return DD.valueOf(x);
+ }
+
+ static interface DDConverter {
+ DD convert(double x);
+ }
+ static final DDConverter DD_STD = new DDConverter() {
+ public DD convert(double x) {
+ return DD.valueOf(x);
+ }
+ };
+ static final DDConverter DD_DEC = new DDConverter() {
+ public DD convert(double x) {
+ return DD.valueOf(x + "");
+ }
+ };
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/DistanceLineLineStressTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/DistanceLineLineStressTest.java
new file mode 100644
index 0000000..74822ab
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/DistanceLineLineStressTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import java.util.Random;
+
+import org.locationtech.jts.algorithm.Distance;
+import org.locationtech.jts.geom.Coordinate;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+public class DistanceLineLineStressTest extends TestCase
+{
+
+ public static void main(String args[])
+ {
+ TestRunner.run(DistanceLineLineStressTest.class);
+ }
+
+ public DistanceLineLineStressTest(String name)
+ {
+ super(name);
+ }
+
+ public void testRandomDisjointCollinearSegments() throws Exception
+ {
+ int n = 1000000;
+ int failCount = 0;
+ for (int i = 0; i < n; i++) {
+ //System.out.println(i);
+ Coordinate[] seg = randomDisjointCollinearSegments();
+ if (0 == Distance.segmentToSegment(seg[0], seg[1], seg[2], seg[3])) {
+ /*
+ System.out.println("FAILED! - "
+ + WKTWriter.toLineString(seg[0], seg[1]) + " - "
+ + WKTWriter.toLineString(seg[2], seg[3]));
+ */
+ failCount++;
+ }
+ }
+ System.out.println("# failed = " + failCount + " out of " + n);
+ }
+
+ // make results reproducible
+ static Random randGen = new Random(123456);
+
+ private static Coordinate[] randomDisjointCollinearSegments()
+ {
+ double slope = randGen.nextDouble();
+ Coordinate[] seg = new Coordinate[4];
+
+ double gap = 1;
+ double x1 = 10;
+ double x2 = x1 + gap;
+ double x3 = x1 + gap + 10;
+ seg[0] = new Coordinate(0, 0);
+ seg[1] = new Coordinate(x1, slope * x1);
+ seg[2] = new Coordinate(x2, slope * x2);
+ seg[3] = new Coordinate(x3, slope * x3);
+
+ return seg;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/IndexedPointInAreaStressTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/IndexedPointInAreaStressTest.java
new file mode 100644
index 0000000..70dab08
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/IndexedPointInAreaStressTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.PerturbedGridPolygonBuilder;
+import org.locationtech.jts.algorithm.locate.IndexedPointInAreaLocator;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+public class IndexedPointInAreaStressTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(IndexedPointInAreaStressTest.class);
+ }
+
+ PrecisionModel pmFixed_1 = new PrecisionModel(1.0);
+
+ public IndexedPointInAreaStressTest(String name) {
+ super(name);
+ }
+
+ public void testGrid()
+ {
+ // Use fixed PM to try and get at least some points hitting the boundary
+ GeometryFactory geomFactory = new GeometryFactory(pmFixed_1);
+// GeometryFactory geomFactory = new GeometryFactory();
+
+ PerturbedGridPolygonBuilder gridBuilder = new PerturbedGridPolygonBuilder(geomFactory);
+ gridBuilder.setNumLines(20);
+ gridBuilder.setLineWidth(10.0);
+ gridBuilder.setSeed(1185072199562L);
+ Geometry area = gridBuilder.getGeometry();
+
+// PointInAreaLocator pia = new IndexedPointInAreaLocator(area);
+ PointOnGeometryLocator pia = new IndexedPointInAreaLocator(area);
+
+ PointInAreaStressTester gridTester = new PointInAreaStressTester(geomFactory, area);
+ gridTester.setNumPoints(100000);
+ gridTester.setPIA(pia);
+
+ boolean isCorrect = gridTester.run();
+ assertTrue(isCorrect);
+ }
+}
+
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/MCIndexedPointInAreaLocator.java b/modules/core/src/test/java/test/jts/perf/algorithm/MCIndexedPointInAreaLocator.java
new file mode 100644
index 0000000..5207558
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/MCIndexedPointInAreaLocator.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.RayCrossingCounter;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.chain.MonotoneChain;
+import org.locationtech.jts.index.chain.MonotoneChainBuilder;
+import org.locationtech.jts.index.chain.MonotoneChainSelectAction;
+import org.locationtech.jts.index.strtree.STRtree;
+import org.locationtech.jts.noding.BasicSegmentString;
+import org.locationtech.jts.noding.SegmentString;
+
+
+/**
+ * Determines the location of {@link Coordinate}s relative to
+ * a {@link Polygonal} geometry, using indexing for efficiency.
+ * This algorithm is suitable for use in cases where
+ * many points will be tested against a given area.
+ *
+ * @author Martin Davis
+ *
+ */
+public class MCIndexedPointInAreaLocator
+ implements PointOnGeometryLocator
+{
+ private Geometry areaGeom;
+ private MCIndexedGeometry index;
+ private double maxXExtent;
+
+ public MCIndexedPointInAreaLocator(Geometry g)
+ {
+ areaGeom = g;
+ if (! (g instanceof Polygonal))
+ throw new IllegalArgumentException("Argument must be Polygonal");
+ buildIndex(g);
+ Envelope env = g.getEnvelopeInternal();
+ maxXExtent = env.getMaxX() + 1.0;
+ }
+
+ private void buildIndex(Geometry g)
+ {
+ index = new MCIndexedGeometry(g);
+ }
+
+ /**
+ * Determines the {@link Location} of a point in an areal {@link Geometry}.
+ *
+ * @param p the point to test
+ * @return the location of the point in the geometry
+ */
+ public int locate(Coordinate p)
+ {
+ RayCrossingCounter rcc = new RayCrossingCounter(p);
+ MCSegmentCounter mcSegCounter = new MCSegmentCounter(rcc);
+ Envelope rayEnv = new Envelope(p.x, maxXExtent, p.y, p.y);
+ List mcs = index.query(rayEnv);
+ countSegs(rcc, rayEnv, mcs, mcSegCounter);
+
+ return rcc.getLocation();
+ }
+
+ private void countSegs(RayCrossingCounter rcc, Envelope rayEnv, List monoChains, MCSegmentCounter mcSegCounter)
+ {
+ for (Iterator i = monoChains.iterator(); i.hasNext(); ) {
+ MonotoneChain mc = (MonotoneChain) i.next();
+ mc.select(rayEnv, mcSegCounter);
+ // short-circuit if possible
+ if (rcc.isOnSegment()) return;
+ }
+ }
+
+ static class MCSegmentCounter extends MonotoneChainSelectAction
+ {
+ RayCrossingCounter rcc;
+
+ public MCSegmentCounter(RayCrossingCounter rcc)
+ {
+ this.rcc = rcc;
+ }
+
+ public void select(LineSegment ls)
+ {
+ rcc.countSegment(ls.getCoordinate(0), ls.getCoordinate(1));
+ }
+ }
+
+}
+
+class MCIndexedGeometry
+{
+ private SpatialIndex index= new STRtree();
+
+ public MCIndexedGeometry(Geometry geom)
+ {
+ init(geom);
+ }
+
+ private void init(Geometry geom)
+ {
+ List lines = LinearComponentExtracter.getLines(geom);
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ Coordinate[] pts = line.getCoordinates();
+ addLine(pts);
+ }
+ }
+
+ private void addLine(Coordinate[] pts)
+ {
+ SegmentString segStr = new BasicSegmentString(pts, null);
+ List segChains = MonotoneChainBuilder.getChains(segStr.getCoordinates(), segStr);
+ for (Iterator i = segChains.iterator(); i.hasNext(); ) {
+ MonotoneChain mc = (MonotoneChain) i.next();
+ index.insert(mc.getEnvelope(), mc);
+ }
+ }
+
+ public List query(Envelope searchEnv)
+ {
+ return index.query(searchEnv);
+ }
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/MinimumBoundingCircleStressTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/MinimumBoundingCircleStressTest.java
new file mode 100644
index 0000000..9afb497
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/MinimumBoundingCircleStressTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.MinimumBoundingCircle;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.util.Assert;
+
+public class MinimumBoundingCircleStressTest
+{
+ GeometryFactory geomFact = new GeometryFactory();
+
+ public static void main(String args[]) {
+ try {
+ (new MinimumBoundingCircleStressTest()).run();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ public MinimumBoundingCircleStressTest()
+ {
+
+ }
+
+ void run()
+ {
+ while (true) {
+ int n = (int) ( 10000 * Math.random());
+ run(n);
+ }
+ }
+
+ void run(int nPts)
+ {
+ Coordinate[] randPts = createRandomPoints(nPts);
+ Geometry mp = geomFact.createMultiPoint(randPts);
+ MinimumBoundingCircle mbc = new MinimumBoundingCircle(mp);
+ Coordinate centre = mbc.getCentre();
+ double radius = mbc.getRadius();
+ System.out.println("Testing " + nPts + " random points. Radius = " + radius);
+
+ checkWithinCircle(randPts, centre, radius, 0.0001);
+ }
+
+ void checkWithinCircle(Coordinate[] pts, Coordinate centre, double radius, double tolerance)
+ {
+ for (int i = 0; i < pts.length; i++ ) {
+ Coordinate p = pts[i];
+ double ptRadius = centre.distance(p);
+ double error = ptRadius - radius;
+ if (error > tolerance) {
+ Assert.shouldNeverReachHere();
+ }
+ }
+ }
+ Coordinate[] createRandomPoints(int n)
+ {
+ Coordinate[] pts = new Coordinate[n];
+ for(int i = 0; i < n; i++) {
+ double x = 100 * Math.random();
+ double y = 100 * Math.random();
+ pts[i] = new Coordinate(x, y);
+ }
+ return pts;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTest.java
new file mode 100644
index 0000000..3ed6aa9
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+public class PointInAreaPerfTest {
+
+ public static void main(String args[]) {
+ PointInAreaPerfTest test = new PointInAreaPerfTest();
+ test.run();
+ }
+
+ PrecisionModel pmFixed_1 = new PrecisionModel(1.0);
+
+ public PointInAreaPerfTest() {
+ }
+
+ public void run()
+ {
+ GeometryFactory geomFactory = new GeometryFactory();
+
+ SineStarFactory ssFact = new SineStarFactory();
+ ssFact.setSize(1000.0);
+ ssFact.setNumPoints(2000);
+ ssFact.setArmLengthRatio(0.1);
+ ssFact.setNumArms(100);
+
+ Geometry area = ssFact.createSineStar();
+ System.out.println(area);
+
+ Stopwatch sw = new Stopwatch();
+
+ PointOnGeometryLocator pia = new MCIndexedPointInAreaLocator(area);
+// PointInAreaLocator pia = new IntervalIndexedPointInAreaLocator(area);
+// PointInAreaLocator pia = new SimplePointInAreaLocator(area);
+
+ PointInAreaPerfTester perfTester = new PointInAreaPerfTester(geomFactory, area);
+ perfTester.setNumPoints(50000);
+ perfTester.setPIA(pia);
+ perfTester.run();
+
+ System.out.println("Overall time: " + sw.getTimeString());
+ }
+}
+
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTester.java b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTester.java
new file mode 100644
index 0000000..cc578f6
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaPerfTester.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Creates a perturbed, buffered grid and tests a set
+ * of points against using two PointInArea classes.
+ *
+ * @author mbdavis
+ *
+ */
+public class PointInAreaPerfTester
+{
+ private GeometryFactory geomFactory;
+ private Geometry area;
+
+ private int numPts = 10000;
+ private PointOnGeometryLocator pia1;
+ private int[] locationCount = new int[3];
+
+ public PointInAreaPerfTester(GeometryFactory geomFactory, Geometry area)
+ {
+ this.geomFactory = geomFactory;
+ this.area = area;
+ }
+
+ public void setNumPoints(int numPoints)
+ {
+ this.numPts = numPoints;
+ }
+
+ public void setPIA(PointOnGeometryLocator pia)
+ {
+ this.pia1 = pia;
+ }
+
+ /**
+ *
+ * @return true if all point locations were computed correctly
+ */
+ public boolean run()
+ {
+ Stopwatch sw = new Stopwatch();
+
+ int ptGridWidth = (int) Math.sqrt(numPts);
+
+ Envelope areaEnv = area.getEnvelopeInternal();
+ double xStep = areaEnv.getWidth() / (ptGridWidth - 1);
+ double yStep = areaEnv.getHeight() / (ptGridWidth - 1);
+
+ for (int i = 0; i < ptGridWidth; i++) {
+ for (int j = 0; j < ptGridWidth; j++) {
+
+ // compute test point
+ double x = areaEnv.getMinX() + i * xStep;
+ double y = areaEnv.getMinY() + j * yStep;
+ Coordinate pt = new Coordinate(x, y);
+ geomFactory.getPrecisionModel().makePrecise(pt);
+
+ int loc = pia1.locate(pt);
+ locationCount[loc]++;
+ }
+ }
+ System.out.println("Test completed in " + sw.getTimeString());
+ printStats();
+ return true;
+ }
+
+ public void printStats()
+ {
+ System.out.println("Location counts: "
+ + " Boundary = " + locationCount[Location.BOUNDARY]
+ + " Interior = " + locationCount[Location.INTERIOR]
+ + " Exterior = " + locationCount[Location.EXTERIOR]
+ );
+ }
+
+
+}
+
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaStressTester.java b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaStressTester.java
new file mode 100644
index 0000000..81f4bcb
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/PointInAreaStressTester.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Creates a perturbed, buffered grid and tests a set
+ * of points against using two PointInArea classes.
+ *
+ * @author mbdavis
+ *
+ */
+public class PointInAreaStressTester
+{
+ private GeometryFactory geomFactory;
+ private Geometry area;
+ private boolean ignoreBoundaryResults = true;
+
+ private int numPts = 10000;
+ private PointOnGeometryLocator pia1;
+ private PointOnGeometryLocator pia2;
+ private int[] locationCount = new int[3];
+
+ public PointInAreaStressTester(GeometryFactory geomFactory, Geometry area)
+ {
+ this.geomFactory = geomFactory;
+ this.area = area;
+
+ }
+
+ public void setNumPoints(int numPoints)
+ {
+ this.numPts = numPoints;
+ }
+
+
+ public void setPIA(PointOnGeometryLocator pia)
+ {
+ this.pia1 = pia;
+ }
+
+ public void setExpected(PointOnGeometryLocator pia)
+ {
+ this.pia2 = pia;
+ }
+
+ public void setIgnoreBoundaryResults(boolean ignoreBoundaryResults)
+ {
+ this.ignoreBoundaryResults = ignoreBoundaryResults;
+ }
+
+ /**
+ *
+ * @return true if all point locations were computed correctly
+ */
+ public boolean run()
+ {
+ Stopwatch sw = new Stopwatch();
+
+ // default is to use the simple, non-indexed tester
+ if (pia2 == null)
+ pia2 = new SimplePointInAreaLocator(area);
+
+
+ int ptGridWidth = (int) Math.sqrt(numPts);
+
+ Envelope areaEnv = area.getEnvelopeInternal();
+ double xStep = areaEnv.getWidth() / (ptGridWidth - 1);
+ double yStep = areaEnv.getHeight() / (ptGridWidth - 1);
+
+ for (int i = 0; i < ptGridWidth; i++) {
+ for (int j = 0; j < ptGridWidth; j++) {
+
+ // compute test point
+ double x = areaEnv.getMinX() + i * xStep;
+ double y = areaEnv.getMinY() + j * yStep;
+ Coordinate pt = new Coordinate(x, y);
+ geomFactory.getPrecisionModel().makePrecise(pt);
+
+ boolean isEqual = testPIA(pt);
+ if (! isEqual)
+ return false;
+ }
+ }
+ System.out.println("Test completed in " + sw.getTimeString());
+ printStats();
+ return true;
+ }
+
+ public void printStats()
+ {
+ System.out.println("Location counts: "
+ + " Boundary = " + locationCount[Location.BOUNDARY]
+ + " Interior = " + locationCount[Location.INTERIOR]
+ + " Exterior = " + locationCount[Location.EXTERIOR]
+ );
+ }
+ /**
+ *
+ * @param p
+ * @return true if the point location is determined to be the same by both PIA locators
+ */
+ private boolean testPIA(Coordinate p)
+ {
+ //System.out.println(WKTWriter.toPoint(p));
+
+ int loc1 = pia1.locate(p);
+ int loc2 = pia2.locate(p);
+
+ locationCount[loc1]++;
+
+ if ((loc1 == Location.BOUNDARY || loc2 == Location.BOUNDARY)
+ && ignoreBoundaryResults)
+ return true;
+
+ return loc1 == loc2;
+ }
+
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/PointInRingRobustnessTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/PointInRingRobustnessTest.java
new file mode 100644
index 0000000..3230a27
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/PointInRingRobustnessTest.java
@@ -0,0 +1,196 @@
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.NonRobustRayCrossingCounter;
+import org.locationtech.jts.algorithm.Orientation;
+import org.locationtech.jts.algorithm.RayCrossingCounter;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.Location;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTWriter;
+
+import junit.textui.TestRunner;
+import test.jts.GeometryTestCase;
+
+/**
+ * Robustness test of Point-In-Ring algorithms.
+ * The input to each test is a triangle,
+ * and a point interpolated along the side.
+ * Almost always the point will not lie exactly on the side.
+ * The robustness test consists of comparing the result of computing Point-In-Ring and the result of
+ * determining the orientation of the point relative to the side.
+ * The test fails if these are not consistent.
+ * <p>
+ * The stress test reveals that the original {@link RayCrossingCounter}
+ * has inconsistencies with the
+ * {@link CGAlgorithmsDD#index(Coordinate, Coordinate, Coordinate)}
+ * orientation index computation
+ * (which is now the standard in JTS, due to its improved robustness).
+ * The {@link RayCrossingCounterDD} implementation is consistent,
+ * as expected.
+ * <p>
+ * Note that the inconsistency does not indicate which algorithm is
+ * "more correct" - just that they produce different results.
+ * However, it is highly likely that the original RCC algorithm
+ * is <b>not</b> as robust as RCCDD, since it uses a
+ * series of double-precision arithmetic operations.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PointInRingRobustnessTest extends GeometryTestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(PointInRingRobustnessTest.class);
+ }
+
+ private boolean isAllConsistent = true;
+ private int testCount;
+ private int failureCount;
+
+ public PointInRingRobustnessTest(String name) {
+ super(name);
+ }
+
+ public void init() {
+ testCount = 0;
+ failureCount = 0;
+ isAllConsistent = true;
+ }
+ public void testRightTriangles() {
+ init();
+ checkRightTriangles(200, 100, 1000);
+ System.out.println("Tests: " + testCount + " Failures: " + failureCount);
+ assertTrue(isAllConsistent);
+ }
+
+ public void XtestRandomTriangles() {
+ init();
+ checkRandomTriangles(1000, 100, 100);
+ System.out.println("Tests: " + testCount + " Failures: " + failureCount);
+ assertTrue(isAllConsistent);
+ }
+
+ private void checkRandomTriangles(int sideLen, int numTris, int numEdgePts) {
+ for (int i = 0; i < numTris; i++) {
+ Coordinate start = new Coordinate(randomInt(sideLen), randomInt(sideLen));
+ Coordinate[] triPts = new Coordinate[] {
+ start,
+ new Coordinate(randomInt(sideLen), randomInt(sideLen)),
+ new Coordinate(randomInt(sideLen), randomInt(sideLen)),
+ new Coordinate(start)
+ };
+ checkTriangleEdgePoints(triPts, numEdgePts);
+ }
+ }
+
+ private static int randomInt(int max) {
+ return (int) (Math.random() * max);
+ }
+
+ private void checkRightTriangles(double maxHeight, double width, int numEdgePts) {
+ for (int height = 0; height < maxHeight; height++) {
+ Coordinate[] triPts = new Coordinate[] {
+ new Coordinate(0,0),
+ new Coordinate(0, height),
+ new Coordinate(width, 0),
+ new Coordinate(0,0)
+ };
+ checkTriangleEdgePoints(triPts, numEdgePts);
+ }
+ }
+
+ public void checkTriangleEdgePoints(Coordinate[] triPts, int numEdgePts) {
+ for (int i = 0; i < numEdgePts; i++) {
+ double lenFrac = i / (double) (numEdgePts + 1);
+ checkTriangleConsistent(triPts, lenFrac);
+ }
+ }
+
+ boolean checkTriangleConsistent(Coordinate[] triPts, double lenFraction) {
+ testCount++;
+
+ LineSegment seg = new LineSegment(triPts[1], triPts[2]);
+ Coordinate pt = seg.pointAlong(lenFraction);
+
+ //boolean isPointInRing = CGAlgorithms.isPointInRing(pt, triPts);
+ //boolean isPointInRing = pointInRingWindingNumber(pt, triPts);
+ //boolean isPointInRing = Location.INTERIOR == RayCrossingCounter.locatePointInRing(pt, triPts);
+ boolean isPointInRing = Location.INTERIOR == NonRobustRayCrossingCounter.locatePointInRing(pt, triPts);
+
+ int orientation = Orientation.index(triPts[1], triPts[2], pt);
+ if (Orientation.isCCW(triPts)) {
+ orientation = -orientation;
+ }
+
+ // if collinear can't determine a failure
+ if (orientation == Orientation.COLLINEAR) return true;
+
+ boolean bothOutside = ! isPointInRing && orientation == Orientation.LEFT;
+ boolean bothInside = isPointInRing && orientation == Orientation.RIGHT;
+ boolean isConsistent = bothOutside || bothInside;
+
+ if (! isConsistent) {
+ isAllConsistent = false;
+ failureCount++;
+ System.out.println("Inconsistent: "
+ + "PIR=" + isPointInRing + " Orient=" + orientation
+ + " Pt: " + WKTWriter.toPoint(pt)
+ + " seg: " + WKTWriter.toLineString(triPts[1], triPts[2])
+ + " tri: " + toPolygon(triPts) );
+ }
+ return isConsistent;
+ }
+
+ public static String toPolygon(Coordinate[] coord)
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("POLYGON ");
+ if (coord.length == 0)
+ buf.append(" EMPTY");
+ else {
+ buf.append("((");
+ for (int i = 0; i < coord.length; i++) {
+ if (i > 0)
+ buf.append(", ");
+ buf.append(coord[i].x + " " + coord[i].y );
+ }
+ buf.append("))");
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Winding Number algorithm included for comparison purposes.
+ * This is almost equivalent to the RayCrossing algorithm,
+ * except that it checks all crossing segments
+ * instead of just the ones to the right of the point.
+ * <p>
+ * This produces the same results as CGAlgorithmsDD
+ *
+ * @param p point to test
+ * @param ring coordinates of ring (with same first and last point)
+ * @return true if the point lies inside the ring
+ */
+ private static boolean pointInRingWindingNumber(Coordinate p, Coordinate[] ring) {
+ int winding = 0; // the winding number counter
+
+ int n = ring.length;
+
+ for (int i = 0; i < n-1; i++) {
+ if (ring[i].y <= p.y) {
+ // detect an upward crossing
+ if (ring[i + 1].y > p.y) {
+ if (Orientation.LEFT == Orientation.index(ring[i], ring[i + 1], p))
+ winding++;
+ }
+ } else {
+ // detect a downward crossing
+ if (ring[i + 1].y <= p.y)
+ if (Orientation.RIGHT == Orientation.index(ring[i], ring[i + 1], p))
+ winding--;
+ }
+ }
+ return winding != 0;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/RectangleLineIntersectorPerfTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/RectangleLineIntersectorPerfTest.java
new file mode 100644
index 0000000..9fdefdd
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/RectangleLineIntersectorPerfTest.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.LineIntersector;
+import org.locationtech.jts.algorithm.RectangleLineIntersector;
+import org.locationtech.jts.algorithm.RobustLineIntersector;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.util.Stopwatch;
+
+public class RectangleLineIntersectorPerfTest
+{
+ public static void main(String[] args) {
+ RectangleLineIntersectorPerfTest test = new RectangleLineIntersectorPerfTest();
+ test.runBoth(5);
+ test.runBoth(30);
+ test.runBoth(30);
+ test.runBoth(100);
+ test.runBoth(300);
+ test.runBoth(600);
+ test.runBoth(1000);
+ test.runBoth(6000);
+ }
+
+ private GeometryFactory geomFact = new GeometryFactory();
+
+ private double baseX = 0;
+ private double baseY = 0;
+ private double rectSize = 100;
+ private int numPts = 1000;
+ private Envelope rectEnv;
+ private Coordinate[] pts;
+
+ public RectangleLineIntersectorPerfTest()
+ {
+
+ }
+
+ public void init(int nPts)
+ {
+ rectEnv = createRectangle();
+ pts = createTestPoints(nPts);
+ }
+
+ public void runBoth(int nPts)
+ {
+ init(nPts);
+ run(true, false);
+ run(false, true);
+ }
+
+ public void run(boolean useSegInt, boolean useSideInt)
+ {
+ if (useSegInt) System.out.println("Using Segment Intersector");
+ if (useSideInt) System.out.println("Using Side Intersector");
+ System.out.println("# pts: " + pts.length);
+
+ RectangleLineIntersector rectSegIntersector = new RectangleLineIntersector(rectEnv);
+ SimpleRectangleIntersector rectSideIntersector = new SimpleRectangleIntersector(rectEnv);
+
+ Stopwatch sw = new Stopwatch();
+
+ for (int i = 0; i < pts.length; i++) {
+ for (int j = 0; j < pts.length; j++) {
+ if (i == j) continue;
+
+ boolean segResult = false;
+ if (useSegInt)
+ segResult = rectSegIntersector.intersects(pts[i], pts[j]);
+ boolean sideResult = false;
+ if (useSideInt)
+ sideResult = rectSideIntersector.intersects(pts[i], pts[j]);
+
+ if (useSegInt && useSideInt)
+ {
+ if (segResult != sideResult)
+ throw new IllegalStateException("Seg and Side values do not match");
+ }
+ }
+ }
+
+ System.out.println("Finished in " + sw.getTimeString());
+ System.out.println();
+ }
+
+ private Coordinate[] createTestPoints(int nPts)
+ {
+ Point pt = geomFact.createPoint(new Coordinate(baseX, baseY));
+ Geometry circle = pt.buffer(2 * rectSize, nPts/4);
+ return circle.getCoordinates();
+ }
+
+ private Envelope createRectangle()
+ {
+ Envelope rectEnv = new Envelope(
+ new Coordinate(baseX, baseY),
+ new Coordinate(baseX + rectSize, baseY + rectSize));
+ return rectEnv;
+ }
+
+}
+
+/**
+ * Tests intersection of a segment against a rectangle
+ * by computing intersection against all side segments.
+ *
+ * @author Martin Davis
+ *
+ */
+class SimpleRectangleIntersector
+{
+ // for intersection testing, don't need to set precision model
+ private LineIntersector li = new RobustLineIntersector();
+
+ private Envelope rectEnv;
+ /**
+ * The corners of the rectangle, in the order:
+ * 10
+ * 23
+ */
+ private Coordinate[] corner = new Coordinate[4];
+
+ public SimpleRectangleIntersector(Envelope rectEnv)
+ {
+ this.rectEnv = rectEnv;
+ initCorners(rectEnv);
+ }
+
+ private void initCorners(Envelope rectEnv)
+ {
+ corner[0] = new Coordinate(rectEnv.getMaxX(), rectEnv.getMaxY());
+ corner[1] = new Coordinate(rectEnv.getMinX(), rectEnv.getMaxY());
+ corner[2] = new Coordinate(rectEnv.getMinX(), rectEnv.getMinY());
+ corner[3] = new Coordinate(rectEnv.getMaxX(), rectEnv.getMinY());
+ }
+
+ public boolean intersects(Coordinate p0, Coordinate p1)
+ {
+ Envelope segEnv = new Envelope(p0, p1);
+ if (! rectEnv.intersects(segEnv))
+ return false;
+
+ li.computeIntersection(p0, p1, corner[0], corner[1]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[1], corner[2]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[2], corner[3]);
+ if (li.hasIntersection()) return true;
+ li.computeIntersection(p0, p1, corner[3], corner[0]);
+ if (li.hasIntersection()) return true;
+
+ return false;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/algorithm/SimpleRayCrossingStressTest.java b/modules/core/src/test/java/test/jts/perf/algorithm/SimpleRayCrossingStressTest.java
new file mode 100644
index 0000000..e0b079c
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/algorithm/SimpleRayCrossingStressTest.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.algorithm;
+
+import org.locationtech.jts.algorithm.PerturbedGridPolygonBuilder;
+import org.locationtech.jts.algorithm.RayCrossingCounter;
+import org.locationtech.jts.algorithm.locate.PointOnGeometryLocator;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+
+
+public class SimpleRayCrossingStressTest extends TestCase {
+
+ public static void main(String args[]) {
+ TestRunner.run(SimpleRayCrossingStressTest.class);
+ }
+
+ PrecisionModel pmFixed_1 = new PrecisionModel(1.0);
+
+ public SimpleRayCrossingStressTest(String name) {
+ super(name);
+ }
+
+ public void testGrid()
+ {
+ // Use fixed PM to try and get at least some points hitting the boundary
+ GeometryFactory geomFactory = new GeometryFactory(pmFixed_1);
+// GeometryFactory geomFactory = new GeometryFactory();
+
+ PerturbedGridPolygonBuilder gridBuilder = new PerturbedGridPolygonBuilder(geomFactory);
+ gridBuilder.setNumLines(20);
+ gridBuilder.setLineWidth(10.0);
+ Geometry area = gridBuilder.getGeometry();
+
+ SimpleRayCrossingPointInAreaLocator pia = new SimpleRayCrossingPointInAreaLocator(area);
+
+ PointInAreaStressTester gridTester = new PointInAreaStressTester(geomFactory, area);
+ gridTester.setNumPoints(100000);
+ gridTester.setPIA(pia);
+
+ boolean isCorrect = gridTester.run();
+ assertTrue(isCorrect);
+ }
+
+ static class SimpleRayCrossingPointInAreaLocator
+ implements PointOnGeometryLocator
+ {
+ private Geometry geom;
+
+ public SimpleRayCrossingPointInAreaLocator(Geometry geom)
+ {
+ this.geom = geom;
+ }
+
+ public int locate(Coordinate p)
+ {
+ RayCrossingCounter rcc = new RayCrossingCounter(p);
+ RayCrossingSegmentFilter filter = new RayCrossingSegmentFilter(rcc);
+ geom.apply(filter);
+ return rcc.getLocation();
+ }
+
+ static class RayCrossingSegmentFilter implements CoordinateSequenceFilter
+ {
+ private RayCrossingCounter rcc;
+ private Coordinate p0 = new Coordinate();
+ private Coordinate p1 = new Coordinate();
+
+ public RayCrossingSegmentFilter(RayCrossingCounter rcc)
+ {
+ this.rcc = rcc;
+ }
+
+ public void filter(CoordinateSequence seq, int i)
+ {
+ if (i == 0) return;
+ seq.getCoordinate(i - 1, p0);
+ seq.getCoordinate(i, p1);
+ rcc.countSegment(p0, p1);
+ }
+
+ public boolean isDone() { return rcc.isOnSegment(); }
+
+ public boolean isGeometryChanged() { return false; }
+ }
+ }
+}
+
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/dissolve/LineDissolvePerfTest.java b/modules/core/src/test/java/test/jts/perf/dissolve/LineDissolvePerfTest.java
new file mode 100644
index 0000000..ff7e0fe
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/dissolve/LineDissolvePerfTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.dissolve;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.dissolve.LineDissolver;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.util.LinearComponentExtracter;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.operation.linemerge.LineMerger;
+import org.locationtech.jts.util.Memory;
+
+import test.jts.junit.GeometryUtils;
+import test.jts.perf.PerformanceTestCase;
+import test.jts.perf.PerformanceTestRunner;
+
+
+public class LineDissolvePerfTest extends PerformanceTestCase
+{
+ public static void main(String args[]) {
+ PerformanceTestRunner.run(LineDissolvePerfTest.class);
+ }
+
+ public LineDissolvePerfTest(String name) {
+ super(name);
+ setRunSize(new int[] {1, 2, 3, 4, 5});
+ setRunIterations(1);
+ }
+
+ Collection data;
+
+ public void setUp() throws IOException, ParseException
+ {
+ System.out.println("Loading data...");
+ data = GeometryUtils.readWKTFile("/Users/mdavis/myproj/jts/svn/jts-topo-suite/trunk/jts/testdata/world.wkt");
+ }
+
+ public void runDissolver_World()
+ {
+ LineDissolver dis = new LineDissolver();
+ dis.add(data);
+ Geometry result = dis.getResult();
+ System.out.println();
+ System.out.println(Memory.allString());
+ }
+
+ public void runBruteForce_World()
+ {
+ Geometry result = dissolveLines(data);
+ System.out.println(Memory.allString());
+ }
+
+ private Geometry dissolveLines(Collection lines) {
+ Geometry linesGeom = extractLines(lines);
+ return dissolveLines(linesGeom);
+ }
+
+ private Geometry dissolveLines(Geometry lines) {
+ Geometry dissolved = lines.union();
+ LineMerger merger = new LineMerger();
+ merger.add(dissolved);
+ Collection mergedColl = merger.getMergedLineStrings();
+ Geometry merged = lines.getFactory().buildGeometry(mergedColl);
+ return merged;
+ }
+
+ Geometry extractLines(Collection geoms)
+ {
+ GeometryFactory factory = null;
+ List lines = new ArrayList();
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ if (factory == null)
+ factory = g.getFactory();
+ lines.addAll(LinearComponentExtracter.getLines(g));
+ }
+ return factory.buildGeometry(geoms);
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/geom/impl/PackedCoordinateSequenceMemoryTest.java b/modules/core/src/test/java/test/jts/perf/geom/impl/PackedCoordinateSequenceMemoryTest.java
new file mode 100644
index 0000000..e16902d
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/geom/impl/PackedCoordinateSequenceMemoryTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.geom.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.impl.CoordinateArraySequenceFactory;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+public class PackedCoordinateSequenceMemoryTest
+{
+
+ public static void main(String args[]) {
+ PackedCoordinateSequenceMemoryTest test = new PackedCoordinateSequenceMemoryTest();
+ test.run();
+ }
+
+// PackedCoordinateSequenceFactory coordSeqFact = new PackedCoordinateSequenceFactory(PackedCoordinateSequenceFactory.DOUBLE, 2);
+ CoordinateArraySequenceFactory coordSeqFact = CoordinateArraySequenceFactory.instance();
+ GeometryFactory geomFact = new GeometryFactory(coordSeqFact);
+
+ PackedCoordinateSequenceMemoryTest()
+ {
+
+ }
+
+ static final int GEOMS = 1000;
+ static final int GEOM_SIZE = 1000;
+
+
+ void run()
+ {
+ runToMemoryOverflow();
+ }
+
+ void runToMemoryOverflow()
+ {
+ List geoms = new ArrayList();
+ while (true) {
+ geoms.add(createGeometry());
+ System.out.println(geoms.size());
+ }
+ }
+
+ Geometry createGeometry()
+ {
+ GeometricShapeFactory shapeFact = new GeometricShapeFactory(geomFact);
+ shapeFact.setSize(100.0);
+ shapeFact.setNumPoints(GEOM_SIZE);
+ return shapeFact.createCircle();
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedGeometryThreadSafeTest.java b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedGeometryThreadSafeTest.java
new file mode 100644
index 0000000..6bf9aa5
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedGeometryThreadSafeTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.geom.prep;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.prep.PreparedGeometry;
+import org.locationtech.jts.geom.prep.PreparedGeometryFactory;
+import org.locationtech.jts.geom.util.SineStarFactory;
+
+import test.jts.perf.ThreadTestCase;
+import test.jts.perf.ThreadTestRunner;
+
+
+/**
+ * Tests for race conditions in the PreparedGeometry classes.
+ *
+ * @author Martin Davis
+ *
+ */
+public class PreparedGeometryThreadSafeTest extends ThreadTestCase
+{
+ public static void main(String[] args) {
+ ThreadTestRunner.run(new PreparedGeometryThreadSafeTest());
+ }
+
+ int nPts = 1000;
+ GeometryFactory factory = new GeometryFactory(new PrecisionModel(1.0));
+
+ protected PreparedGeometry pg;
+ protected Geometry g;
+
+ public PreparedGeometryThreadSafeTest()
+ {
+
+ }
+
+ public void setup()
+ {
+ Geometry sinePoly = createSineStar(new Coordinate(0, 0), 100000.0, nPts);
+ pg = PreparedGeometryFactory.prepare(sinePoly);
+ g = createSineStar(new Coordinate(10, 10), 100000.0, 100);
+ }
+
+ Geometry createSineStar(Coordinate origin, double size, int nPts) {
+ SineStarFactory gsf = new SineStarFactory(factory);
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(0.1);
+ gsf.setNumArms(20);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+ @Override
+ public Runnable getRunnable(final int threadIndex)
+ {
+ return new Runnable() {
+
+ public void run()
+ {
+ while (true) {
+ System.out.println(threadIndex);
+ pg.intersects(g);
+ }
+ }
+
+ };
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedLineIntersectsPerfTest.java b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedLineIntersectsPerfTest.java
new file mode 100644
index 0000000..8704738
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedLineIntersectsPerfTest.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.geom.prep;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.prep.PreparedGeometry;
+import org.locationtech.jts.geom.prep.PreparedGeometryFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+
+public class PreparedLineIntersectsPerfTest
+{
+ static final int MAX_ITER = 1;
+
+ static final int NUM_AOI_PTS = 2000;
+ static final int NUM_LINES = 50000;
+ static final int NUM_LINE_PTS = 10;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+
+ TestDataBuilder builder = new TestDataBuilder();
+
+ Stopwatch sw = new Stopwatch();
+
+ public static void main(String[] args) {
+ PreparedLineIntersectsPerfTest test = new PreparedLineIntersectsPerfTest();
+ test.test();
+ }
+
+ boolean testFailed = false;
+
+ public PreparedLineIntersectsPerfTest() {
+ }
+
+ public void test()
+ {
+ test(5);
+ test(10);
+ test(500);
+ test(1000);
+ test(2000);
+ /*
+ test(100);
+ test(1000);
+ test(2000);
+ test(4000);
+ test(8000);
+ */
+ }
+
+ public void test(int nPts)
+ {
+ builder.setTestDimension(1);
+ Geometry target = builder.createSineStar(nPts).getBoundary();
+
+ List lines = builder.createTestGeoms(target.getEnvelopeInternal(),
+ NUM_LINES, 1.0, NUM_LINE_PTS);
+
+ System.out.println();
+ //System.out.println("Running with " + nPts + " points");
+ test(target, lines);
+ }
+
+ public void test(Geometry g, List lines)
+ {
+ System.out.println("AOI # pts: " + g.getNumPoints()
+ + " # lines: " + lines.size()
+ + " # pts in line: " + NUM_LINE_PTS
+ );
+
+ Stopwatch sw = new Stopwatch();
+ int count = 0;
+ for (int i = 0; i < MAX_ITER; i++)
+ {
+
+
+// count = testPrepGeomNotCached(g, lines);
+ count = testPrepGeomCached(g, lines);
+// count = testOriginal(g, lines);
+
+
+ }
+ System.out.println("Count of intersections = " + count);
+ System.out.println("Finished in " + sw.getTimeString());
+ }
+
+ public int testOriginal(Geometry g, List lines)
+ {
+ System.out.println("Using orginal JTS algorithm");
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ if (g.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+ public int testPrepGeomCached(Geometry g, List lines)
+ {
+ System.out.println("Using cached Prepared Geometry");
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+ PreparedGeometry prepGeom = pgFact.create(g);
+
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+
+ if (prepGeom.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+ /**
+ * Tests using PreparedGeometry, but creating a new
+ * PreparedGeometry object each time.
+ * This tests whether there is a penalty for using
+ * the PG algorithm as a complete replacement for
+ * the original algorithm.
+ *
+ * @param g
+ * @param lines
+ * @return the count
+ */
+ public int testPrepGeomNotCached(Geometry g, List lines)
+ {
+ System.out.println("Using NON-CACHED Prepared Geometry");
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+// PreparedGeometry prepGeom = pgFact.create(g);
+
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+
+ // test performance of creating the prepared geometry each time
+ PreparedGeometry prepGeom = pgFact.create(g);
+
+ if (prepGeom.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedPolygonIntersectsPerfTest.java b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedPolygonIntersectsPerfTest.java
new file mode 100644
index 0000000..b13a323
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/geom/prep/PreparedPolygonIntersectsPerfTest.java
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.geom.prep;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.prep.PreparedGeometry;
+import org.locationtech.jts.geom.prep.PreparedGeometryFactory;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.GeometricShapeFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+
+public class PreparedPolygonIntersectsPerfTest
+{
+ static final int MAX_ITER = 10;
+
+ static final int NUM_AOI_PTS = 2000;
+ static final int NUM_LINES = 10000;
+ static final int NUM_LINE_PTS = 100;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ Stopwatch sw = new Stopwatch();
+
+ public static void main(String[] args) {
+ PreparedPolygonIntersectsPerfTest test = new PreparedPolygonIntersectsPerfTest();
+ test.test();
+ }
+
+ boolean testFailed = false;
+
+ public PreparedPolygonIntersectsPerfTest() {
+ }
+
+ public void test()
+ {
+ test(5);
+ test(10);
+ test(500);
+ test(1000);
+ test(2000);
+ test(4000);
+ /*
+ test(4000);
+ test(8000);
+ */
+ }
+
+ public void test(int nPts)
+ {
+// Geometry poly = createCircle(new Coordinate(0, 0), 100, nPts);
+ Geometry sinePoly = createSineStar(new Coordinate(0, 0), 100, nPts);
+// System.out.println(poly);
+// Geometry target = sinePoly.getBoundary();
+ Geometry target = sinePoly;
+
+ List lines = createLines(target.getEnvelopeInternal(), NUM_LINES, 1.0, NUM_LINE_PTS);
+
+ System.out.println();
+ //System.out.println("Running with " + nPts + " points");
+ test(target, lines);
+ }
+
+ Geometry createCircle(Coordinate origin, double size, int nPts) {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+ // Polygon gRect = gsf.createRectangle();
+ // Geometry g = gRect.getExteriorRing();
+ return circle;
+ }
+
+ Geometry createSineStar(Coordinate origin, double size, int nPts) {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(0.1);
+ gsf.setNumArms(50);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+ List createLines(Envelope env, int nItems, double size, int nPts)
+ {
+ int nCells = (int) Math.sqrt(nItems);
+
+ List geoms = new ArrayList();
+ double width = env.getWidth();
+ double xInc = width / nCells;
+ double yInc = width / nCells;
+ for (int i = 0; i < nCells; i++) {
+ for (int j = 0; j < nCells; j++) {
+ Coordinate base = new Coordinate(
+ env.getMinX() + i * xInc,
+ env.getMinY() + j * yInc);
+ Geometry line = createLine(base, size, nPts);
+ geoms.add(line);
+ }
+ }
+ return geoms;
+ }
+
+ Geometry createLine(Coordinate base, double size, int nPts)
+ {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(base);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createSineStar();
+// System.out.println(circle);
+ return circle.getBoundary();
+ }
+
+ public void test(Geometry g, List lines)
+ {
+ System.out.println("AOI # pts: " + g.getNumPoints()
+ + " # lines: " + lines.size()
+ + " # pts in line: " + NUM_LINE_PTS
+ );
+
+ Stopwatch sw = new Stopwatch();
+ int count = 0;
+ for (int i = 0; i < MAX_ITER; i++) {
+// count = testPrepGeomNotCached(i, g, lines);
+ count = testPrepGeomCached(i, g, lines);
+// count = testOriginal(i, g, lines);
+ }
+ System.out.println("Count of intersections = " + count);
+ System.out.println("Finished in " + sw.getTimeString());
+ }
+
+
+ public int testOriginal(int iter, Geometry g, List lines)
+ {
+ if (iter == 0) System.out.println("Using orginal JTS algorithm");
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+ if (g.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+ public int testPrepGeomCached(int iter, Geometry g, List lines)
+ {
+ if (iter == 0) System.out.println("Using cached Prepared Geometry");
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+ PreparedGeometry prepGeom = pgFact.create(g);
+
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+
+ if (prepGeom.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+ /**
+ * Tests using PreparedGeometry, but creating a new
+ * PreparedGeometry object each time.
+ * This tests whether there is a penalty for using
+ * the PG algorithm as a complete replacement for
+ * the original algorithm.
+ *
+ * @param g
+ * @param lines
+ * @return the count
+ */
+ public int testPrepGeomNotCached(int iter, Geometry g, List lines)
+ {
+ if (iter == 0) System.out.println("Using NON-CACHED Prepared Geometry");
+ PreparedGeometryFactory pgFact = new PreparedGeometryFactory();
+// PreparedGeometry prepGeom = pgFact.create(g);
+
+ int count = 0;
+ for (Iterator i = lines.iterator(); i.hasNext(); ) {
+ LineString line = (LineString) i.next();
+
+ // test performance of creating the prepared geometry each time
+ PreparedGeometry prepGeom = pgFact.create(g);
+
+ if (prepGeom.intersects(line))
+ count++;
+ }
+ return count;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/geom/prep/TestDataBuilder.java b/modules/core/src/test/java/test/jts/perf/geom/prep/TestDataBuilder.java
new file mode 100644
index 0000000..6318962
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/geom/prep/TestDataBuilder.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.geom.prep;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+
+
+public class TestDataBuilder
+{
+ private GeometryFactory geomFact = new GeometryFactory();
+
+ private Coordinate origin = new Coordinate(0, 0);
+ private double size = 100.0;
+ private int testDim = 1;
+
+ public TestDataBuilder()
+ {
+
+ }
+
+ public TestDataBuilder(GeometryFactory geomFact)
+ {
+ this.geomFact = geomFact;
+ }
+
+ public void setExtent(Coordinate origin, double size)
+ {
+ this.origin = origin;
+ this.size = size;
+ }
+
+ public void setTestDimension(int testDim)
+ {
+ this.testDim = testDim;
+ }
+
+ public Geometry createCircle(int nPts) {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+ // Polygon gRect = gsf.createRectangle();
+ // Geometry g = gRect.getExteriorRing();
+ return circle;
+ }
+
+ public Geometry createSineStar(int nPts) {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(0.1);
+ gsf.setNumArms(20);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+ public List createTestGeoms(Envelope env, int nItems, double size, int nPts)
+ {
+ int nCells = (int) Math.sqrt(nItems);
+
+ List geoms = new ArrayList();
+ double width = env.getWidth();
+ double xInc = width / nCells;
+ double yInc = width / nCells;
+ for (int i = 0; i < nCells; i++) {
+ for (int j = 0; j < nCells; j++) {
+ Coordinate base = new Coordinate(
+ env.getMinX() + i * xInc,
+ env.getMinY() + j * yInc);
+ Geometry line = createLine(base, size, nPts);
+ geoms.add(line);
+ }
+ }
+ return geoms;
+ }
+
+ Geometry createLine(Coordinate base, double size, int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(base);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ Geometry circle = gsf.createCircle();
+// System.out.println(circle);
+ return circle.getBoundary();
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/math/DDExpressionPerf.java b/modules/core/src/test/java/test/jts/perf/math/DDExpressionPerf.java
new file mode 100644
index 0000000..392edaa
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/math/DDExpressionPerf.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.math;
+
+import java.math.BigDecimal;
+
+import org.locationtech.jts.math.DD;
+import org.locationtech.jts.util.Stopwatch;
+
+
+/**
+ * Times evaluating floating-point expressions using
+ * various extended precision APIs.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DDExpressionPerf
+{
+
+ public static void main(String[] args) throws Exception
+ {
+ DDExpressionPerf test = new DDExpressionPerf();
+ test.run();
+ }
+
+ public DDExpressionPerf() { }
+
+ public void run() {
+ int n = 1000000;
+ double doubleTime = runDouble(n);
+ double ddTime = runDoubleDouble(n);
+ double ddSelfTime = runDoubleDoubleSelf(n);
+ double bigDecTime = runBigDecimal(n);
+
+ System.out.println("BigDecimal VS double performance factor = " + bigDecTime/doubleTime);
+ System.out.println("BigDecimal VS DD performance factor = " + bigDecTime/ddTime);
+
+ System.out.println("DD VS double performance factor = " + ddTime/doubleTime);
+ System.out.println("DD-Self VS double performance factor = " + ddSelfTime/doubleTime);
+
+ }
+
+ public double runDouble(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+ double a = 9.0;
+ double factor = 10.0;
+
+ double aMul = factor * a;
+ double aDiv = a / factor;
+
+ double det = a * a - aMul * aDiv;
+// System.out.println(det);
+ }
+ sw.stop();
+ System.out.println("double: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+
+ public double runBigDecimal(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+
+ BigDecimal a = (new BigDecimal(9.0)).setScale(20);
+ BigDecimal factor = (new BigDecimal(10.0)).setScale(20);
+ BigDecimal aMul = factor.multiply(a);
+ BigDecimal aDiv = a.divide(factor, BigDecimal.ROUND_HALF_UP);
+
+ BigDecimal det = a.multiply(a)
+ .subtract(aMul.multiply(aDiv));
+// System.out.println(aDiv);
+// System.out.println(det);
+ }
+ sw.stop();
+ System.out.println("BigDecimal: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+ public double runDoubleDouble(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+
+ DD a = new DD(9.0);
+ DD factor = new DD(10.0);
+ DD aMul = factor.multiply(a);
+ DD aDiv = a.divide(factor);
+
+ DD det = a.multiply(a)
+ .subtract(aMul.multiply(aDiv));
+// System.out.println(aDiv);
+// System.out.println(det);
+ }
+ sw.stop();
+ System.out.println("DD: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+ public double xrunDoubleDoubleSelf(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+
+ DD a = new DD(9.0);
+ DD factor = new DD(10.0);
+ DD aMul = factor.multiply(a);
+ DD aDiv = a.divide(factor);
+
+ DD det = a.multiply(a)
+ .subtract(aMul.multiply(aDiv));
+// System.out.println(aDiv);
+// System.out.println(det);
+ }
+ sw.stop();
+ System.out.println("DD: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+ //*
+ public double runDoubleDoubleSelf(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+
+ double a = 9.0;
+ double factor = 10.0;
+ DD c = new DD(9.0);
+ c.selfMultiply(factor);
+ DD b = new DD(9.0);
+ b.selfDivide(factor);
+
+ DD a2 = new DD(a);
+ a2.selfMultiply(a);
+ DD b2 = new DD(b);
+ b2.selfMultiply(c);
+ a2.selfDivide(b2);
+ DD det = a2;
+// System.out.println(aDiv);
+// System.out.println(det);
+ }
+ sw.stop();
+ System.out.println("DD-Self: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+ //*/
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/perf/math/InCirclePerf.java b/modules/core/src/test/java/test/jts/perf/math/InCirclePerf.java
new file mode 100644
index 0000000..8a63049
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/math/InCirclePerf.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.math;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.util.Stopwatch;
+
+
+/**
+ * Test performance of evaluating Triangle predicate computations
+ * using
+ * various extended precision APIs.
+ *
+ * @author Martin Davis
+ *
+ */
+public class InCirclePerf
+{
+
+ public static void main(String[] args) throws Exception
+ {
+ InCirclePerf test = new InCirclePerf();
+ test.run();
+ }
+
+ public InCirclePerf() { }
+
+ Coordinate pa= new Coordinate(687958.05, 7460725.97);
+ Coordinate pb= new Coordinate(687957.43, 7460725.93);
+ Coordinate pc= new Coordinate(687957.58, 7460721);
+ Coordinate pp= new Coordinate(687958.13, 7460720.99);
+
+ public void run() {
+ System.out.println("InCircle perf");
+ int n = 1000000;
+ double doubleTime = runDouble(n);
+ double ddSelfTime = runDDSelf(n);
+ double ddSelf2Time = runDDSelf2(n);
+ double ddTime = runDD(n);
+// double ddSelfTime = runDoubleDoubleSelf(10000000);
+
+ System.out.println("DD VS double performance factor = " + ddTime/doubleTime);
+ System.out.println("DDSelf VS double performance factor = " + ddSelfTime/doubleTime);
+ System.out.println("DDSelf2 VS double performance factor = " + ddSelf2Time/doubleTime);
+ }
+
+ public double runDouble(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+ TriPredicate.isInCircle(pa, pb, pc, pp);
+ }
+ sw.stop();
+ System.out.println("double: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+ public double runDD(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+ TriPredicate.isInCircleDD(pa, pb, pc, pp);
+ }
+ sw.stop();
+ System.out.println("DD: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+ public double runDDSelf(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+ TriPredicate.isInCircleDD2(pa, pb, pc, pp);
+ }
+ sw.stop();
+ System.out.println("DD-Self: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+ public double runDDSelf2(int nIter)
+ {
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < nIter; i++) {
+ TriPredicate.isInCircleDD3(pa, pb, pc, pp);
+ }
+ sw.stop();
+ System.out.println("DD-Self2: nIter = " + nIter
+ + " time = " + sw.getTimeString());
+ return sw.getTime() / (double) nIter;
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/perf/math/TriPredicate.java b/modules/core/src/test/java/test/jts/perf/math/TriPredicate.java
new file mode 100644
index 0000000..cfe21e5
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/math/TriPredicate.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.math;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Triangle;
+import org.locationtech.jts.geom.impl.CoordinateArraySequence;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.math.DD;
+
+/**
+ * Algorithms for computing values and predicates
+ * associated with triangles.
+ * For some algorithms extended-precision
+ * versions are provided, which are more robust
+ * (i.e. they produce correct answers in more cases).
+ * These are used in triangulation algorithms.
+ *
+ * @author Martin Davis
+ *
+ */
+public class TriPredicate
+{
+ /**
+ * Tests if a point is inside the circle defined by the points a, b, c.
+ * This test uses simple
+ * double-precision arithmetic, and thus may not be robust.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircle(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ boolean isInCircle =
+ (a.x * a.x + a.y * a.y) * triArea(b, c, p)
+ - (b.x * b.x + b.y * b.y) * triArea(a, c, p)
+ + (c.x * c.x + c.y * c.y) * triArea(a, b, p)
+ - (p.x * p.x + p.y * p.y) * triArea(a, b, c)
+ > 0;
+ return isInCircle;
+ }
+
+ /**
+ * Computes twice the area of the oriented triangle (a, b, c), i.e., the area is positive if the
+ * triangle is oriented counterclockwise.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ */
+ private static double triArea(Coordinate a, Coordinate b, Coordinate c) {
+ return (b.x - a.x) * (c.y - a.y)
+ - (b.y - a.y) * (c.x - a.x);
+ }
+
+ /**
+ * Tests if a point is inside the circle defined by the points a, b, c.
+ * This test uses robust computation.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleRobust(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p)
+ {
+ //checkRobustInCircle(a, b, c, p);
+ return isInCircleDD(a, b, c, p);
+ }
+
+ /**
+ * Tests if a point is inside the circle defined by the points a, b, c.
+ * The computation uses {@link DD} arithmetic for robustness.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleDD(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD px = new DD(p.x);
+ DD py = new DD(p.y);
+ DD ax = new DD(a.x);
+ DD ay = new DD(a.y);
+ DD bx = new DD(b.x);
+ DD by = new DD(b.y);
+ DD cx = new DD(c.x);
+ DD cy = new DD(c.y);
+
+ DD aTerm = (ax.multiply(ax).add(ay.multiply(ay)))
+ .multiply(triAreaDD(bx, by, cx, cy, px, py));
+ DD bTerm = (bx.multiply(bx).add(by.multiply(by)))
+ .multiply(triAreaDD(ax, ay, cx, cy, px, py));
+ DD cTerm = (cx.multiply(cx).add(cy.multiply(cy)))
+ .multiply(triAreaDD(ax, ay, bx, by, px, py));
+ DD pTerm = (px.multiply(px).add(py.multiply(py)))
+ .multiply(triAreaDD(ax, ay, bx, by, cx, cy));
+
+ DD sum = aTerm.subtract(bTerm).add(cTerm).subtract(pTerm);
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+ public static boolean isInCircleDD2(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD aTerm = (DD.sqr(a.x).selfAdd(DD.sqr(a.y)))
+ .selfMultiply(triAreaDD2(b, c, p));
+ DD bTerm = (DD.sqr(b.x).selfAdd(DD.sqr(b.y)))
+ .selfMultiply(triAreaDD2(a, c, p));
+ DD cTerm = (DD.sqr(c.x).selfAdd(DD.sqr(c.y)))
+ .selfMultiply(triAreaDD2(a, b, p));
+ DD pTerm = (DD.sqr(p.x).selfAdd(DD.sqr(p.y)))
+ .selfMultiply(triAreaDD2(a, b, c));
+
+ DD sum = aTerm.selfSubtract(bTerm).selfAdd(cTerm).selfSubtract(pTerm);
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+ public static boolean isInCircleDD3(
+ Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ DD adx = DD.valueOf(a.x).selfSubtract(p.x);
+ DD ady = DD.valueOf(a.y).selfSubtract(p.y);
+ DD bdx = DD.valueOf(b.x).selfSubtract(p.x);
+ DD bdy = DD.valueOf(b.y).selfSubtract(p.y);
+ DD cdx = DD.valueOf(c.x).selfSubtract(p.x);
+ DD cdy = DD.valueOf(c.y).selfSubtract(p.y);
+
+ DD abdet = adx.multiply(bdy).selfSubtract(bdx.multiply(ady));
+ DD bcdet = bdx.multiply(cdy).selfSubtract(cdx.multiply(bdy));
+ DD cadet = cdx.multiply(ady).selfSubtract(adx.multiply(cdy));
+ DD alift = adx.multiply(adx).selfSubtract(ady.multiply(ady));
+ DD blift = bdx.multiply(bdx).selfSubtract(bdy.multiply(bdy));
+ DD clift = cdx.multiply(cdx).selfSubtract(cdy.multiply(cdy));
+
+ DD sum = alift.selfMultiply(bcdet)
+ .selfAdd(blift.selfMultiply(cadet))
+ .selfAdd(clift.selfMultiply(abdet));
+
+ boolean isInCircle = sum.doubleValue() > 0;
+
+ return isInCircle;
+ }
+
+ /**
+ * Computes twice the area of the oriented triangle (a, b, c), i.e., the area
+ * is positive if the triangle is oriented counterclockwise.
+ * The computation uses {@link DD} arithmetic for robustness.
+ *
+ * @param ax the x ordinate of a vertex of the triangle
+ * @param ay the y ordinate of a vertex of the triangle
+ * @param bx the x ordinate of a vertex of the triangle
+ * @param by the y ordinate of a vertex of the triangle
+ * @param cx the x ordinate of a vertex of the triangle
+ * @param cy the y ordinate of a vertex of the triangle
+ */
+ public static DD triAreaDD(DD ax, DD ay,
+ DD bx, DD by, DD cx, DD cy) {
+ return (bx.subtract(ax).multiply(cy.subtract(ay)).subtract(by.subtract(ay)
+ .multiply(cx.subtract(ax))));
+ }
+
+ public static DD triAreaDD2(
+ Coordinate a, Coordinate b, Coordinate c) {
+
+ DD t1 = DD.valueOf(b.x).selfSubtract(a.x)
+ .selfMultiply(
+ DD.valueOf(c.y).selfSubtract(a.y));
+
+ DD t2 = DD.valueOf(b.y).selfSubtract(a.y)
+ .selfMultiply(
+ DD.valueOf(c.x).selfSubtract(a.x));
+
+ return t1.selfSubtract(t2);
+ }
+
+ /**
+ * Computes the inCircle test using distance from the circumcentre.
+ * Uses standard double-precision arithmetic.
+ * <p>
+ * In general this doesn't
+ * appear to be any more robust than the standard calculation. However, there
+ * is at least one case where the test point is far enough from the
+ * circumcircle that this test gives the correct answer.
+ * <pre>
+ * LINESTRING
+ * (1507029.9878 518325.7547, 1507022.1120341457 518332.8225183258,
+ * 1507029.9833 518325.7458, 1507029.9896965567 518325.744909031)
+ * </pre>
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ * @return true if this point is inside the circle defined by the points a, b, c
+ */
+ public static boolean isInCircleCC(Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p) {
+ Coordinate cc = Triangle.circumcentre(a, b, c);
+ double ccRadius = a.distance(cc);
+ double pRadiusDiff = p.distance(cc) - ccRadius;
+ return pRadiusDiff <= 0;
+ }
+
+ /**
+ * Checks if the computed value for isInCircle is correct, using
+ * double-double precision arithmetic.
+ *
+ * @param a a vertex of the triangle
+ * @param b a vertex of the triangle
+ * @param c a vertex of the triangle
+ * @param p the point to test
+ */
+private static void checkRobustInCircle(Coordinate a, Coordinate b, Coordinate c,
+ Coordinate p)
+{
+ boolean nonRobustInCircle = isInCircle(a, b, c, p);
+ boolean isInCircleDD = TriPredicate.isInCircleDD(a, b, c, p);
+ boolean isInCircleCC = TriPredicate.isInCircleCC(a, b, c, p);
+
+ Coordinate circumCentre = Triangle.circumcentre(a, b, c);
+ System.out.println("p radius diff a = "
+ + Math.abs(p.distance(circumCentre) - a.distance(circumCentre))
+ / a.distance(circumCentre));
+
+ if (nonRobustInCircle != isInCircleDD || nonRobustInCircle != isInCircleCC) {
+ System.out.println("inCircle robustness failure (double result = "
+ + nonRobustInCircle
+ + ", DD result = " + isInCircleDD
+ + ", CC result = " + isInCircleCC + ")");
+ System.out.println(WKTWriter.toLineString(new CoordinateArraySequence(
+ new Coordinate[] { a, b, c, p })));
+ System.out.println("Circumcentre = " + WKTWriter.toPoint(circumCentre)
+ + " radius = " + a.distance(circumCentre));
+ System.out.println("p radius diff a = "
+ + Math.abs(p.distance(circumCentre)/a.distance(circumCentre) - 1));
+ System.out.println("p radius diff b = "
+ + Math.abs(p.distance(circumCentre)/b.distance(circumCentre) - 1));
+ System.out.println("p radius diff c = "
+ + Math.abs(p.distance(circumCentre)/c.distance(circumCentre) - 1));
+ System.out.println();
+ }
+}
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/BufferCorrectnessTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/BufferCorrectnessTest.java
new file mode 100644
index 0000000..08a8477
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/BufferCorrectnessTest.java
@@ -0,0 +1,138 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+/**
+ * Tests self-snapping issues
+ *
+ * @version 1.7
+ */
+public class BufferCorrectnessTest
+{
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader rdr = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ try {
+ (new BufferCorrectnessTest()).run7();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ public BufferCorrectnessTest() { }
+
+ void run7()
+ throws Exception
+ {
+ // buffer fails
+ String wkt = "MULTILINESTRING ((1335558.59524 631743.01449, 1335572.28215 631775.89056, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335576.62035 631803.90754), (1335573.2578018496 631782.1915185435, 1335580.70187 631802.08139))";
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(15);
+ System.out.println(buf);
+ };
+
+ void run6()
+ throws Exception
+ {
+ // polygon with two vertices very close - mitred negative buffer lies outside input
+ String wkt = "POLYGON ((589081.1515112884 4518509.334764771, 589103.7370954598 4518497.015419995, 589099.8017397423 4518490.719003885, 589097.1198886324 4518486.20858194, 589090.9424687021 4518475.819013388, 589081.1515112884 4518509.334764771))";
+ Geometry g = rdr.read(wkt);
+
+ BufferParameters params = new BufferParameters(8, BufferParameters.CAP_ROUND, BufferParameters.JOIN_MITRE, 5);
+ Geometry buf = new BufferOp(g, params).getResultGeometry(-5);
+
+ System.out.println(buf);
+ };
+
+ void run5()
+ throws Exception
+ {
+ // polygon with two vertices very close - mitred negative buffer lies outside input
+ String wkt = "POLYGON ((588722.7612465625 4518964.956739423, 588755.2073151038 4518948.2420851765, 588750.2892019567 4518938.490656119, 588750.2892047082 4518938.490654858, 588741.1098934844 4518920.290260831, 588722.7612465625 4518964.956739423))";
+ Geometry g = rdr.read(wkt);
+
+ BufferParameters params = new BufferParameters(8, BufferParameters.CAP_ROUND, BufferParameters.JOIN_MITRE, 5);
+ Geometry buf = new BufferOp(g, params).getResultGeometry(-5);
+
+ System.out.println(buf);
+ };
+
+ void run4()
+ throws Exception
+ {
+// String wkt = "LINESTRING (1872699.676 530329.155, 1872712.232 530255.793, 1872724.601 530183.526, 1872737.157 530110.164, 1872749.713 530036.802, 1872762.082 529964.535, 1872774.638 529891.173, 1872787.194 529817.811, 1872799.563 529745.545, 1872812.119 529672.183, 1872824.675 529598.821, 1872837.044 529526.555, 1872849.6 529453.194, 1872862.156 529379.832, 1872874.524 529307.566, 1872887.08 529234.205, 1872899.636 529160.844, 1872912.005 529088.578, 1872924.561 529015.217, 1872937. [...]
+// String wkt = "LINESTRING(1872762.082 529964.535, 1872774.638 529891.173, 1872787.194 529817.811)";
+ String wkt = "LINESTRING (1872612.157 530840.503, 1872624.713 530767.14, 1872637.269 530693.777)";
+ Geometry g = rdr.read(wkt);
+
+ BufferParameters params = new BufferParameters(10, BufferParameters.CAP_SQUARE, BufferParameters.JOIN_MITRE, 10);
+ Geometry buf = new BufferOp(g, params).getResultGeometry(200);
+
+
+ System.out.println(buf);
+ };
+
+ void run3()
+ throws Exception
+ {
+ String wkt = "MULTILINESTRING ((1335558.59524 631743.01449, 1335572.28215 631775.89056, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335576.62035 631803.90754), (1335558.59524 631743.01449, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335580.70187 631802.08139))";
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(15);
+ System.out.println(buf);
+ };
+
+ void run2()
+ throws Exception
+ {
+ String wkt = "POLYGON ((-2531.310546875 -17.19328498840332, -2518.694580078125 -27.471830368041992, -2564.515869140625 -44.53504943847656, -2531.310546875 -17.19328498840332))";
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(1.0, 1);
+ System.out.println(buf);
+ }
+
+ void run()
+ throws Exception
+ {
+ doBuffer("LINESTRING (110 320, 280 290, 170 150)", 20.0, -1);
+// doBuffer("LINESTRING (10 0, 0 0, 10 1)");
+ };
+
+ void doBuffer(String wkt, double dist)
+ throws Exception
+ {
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(dist, -4);
+ System.out.println(buf);
+ };
+
+ void doBuffer(String wkt, double dist, int quadSegs)
+ throws Exception
+ {
+ Geometry g = rdr.read(wkt);
+ Geometry buf = g.buffer(dist, quadSegs);
+ System.out.println(buf);
+ };
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/DepthSegmentStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/DepthSegmentStressTest.java
new file mode 100644
index 0000000..7f0032a
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/DepthSegmentStressTest.java
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.buffer;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.locationtech.jts.geom.LineSegment;
+
+import test.jts.perf.PerformanceTestCase;
+import test.jts.perf.PerformanceTestRunner;
+
+/**
+ * Stress tests {@link DepthSegment} to determine if the compare contract is maintained.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DepthSegmentStressTest
+extends PerformanceTestCase
+{
+
+ public static void main(String args[]) {
+ PerformanceTestRunner.run(DepthSegmentStressTest.class);
+ }
+
+ public DepthSegmentStressTest(String name)
+ {
+ super(name);
+ setRunSize(new int[] {20});
+ setRunIterations(100);
+ }
+
+ public void startRun(int size)
+ {
+ System.out.println("Running with size " + size);
+ iter = 0;
+ }
+
+ private int iter = 0;
+
+ public void XXrunSort()
+ {
+ System.out.println("Iter # " + iter++);
+ // do test work here
+ List segs = createRandomDepthSegments(100);
+ Collections.sort(segs);
+ }
+
+ public void runMin()
+ {
+ System.out.println("Iter # " + iter++);
+ // do test work here
+ List segs = createRandomDepthSegments(100);
+ Collections.min(segs);
+ }
+
+ public void runCompare()
+ {
+ System.out.println("Iter # " + iter++);
+ DepthSegment seg1 = createRandomDepthSegment();
+ DepthSegment seg2 = createRandomDepthSegment();
+ DepthSegment seg3 = createRandomDepthSegment();
+
+ // do test work here
+ boolean fails = false;
+ if (! isSymmetric(seg1, seg2))
+ fails = true;
+ if (! isTransitive(seg1, seg2, seg3))
+ fails = true;
+
+ if (fails ){
+ System.out.println("FAILS!");
+ throw new RuntimeException("FAILS!");
+ }
+
+ }
+
+ public boolean isSymmetric(DepthSegment seg1, DepthSegment seg2) {
+ int cmp12 = seg1.compareTo(seg2);
+ int cmp21 = seg2.compareTo(seg1);
+ return cmp12 == -cmp21;
+ }
+ public boolean isTransitive(DepthSegment seg1, DepthSegment seg2, DepthSegment seg3) {
+ int cmp12 = seg1.compareTo(seg2);
+ int cmp23 = seg2.compareTo(seg3);
+ int cmp13 = seg1.compareTo(seg3);
+ if (cmp12 > 0 && cmp23 > 0) {
+ if (cmp13 <= 0) {
+ System.out.println(seg1 + " " + seg2 + " " + seg3);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public List createRandomDepthSegments(int n)
+ {
+ List segs = new ArrayList();
+ for (int i = 0; i < n; i++) {
+ segs.add(createRandomDepthSegment());
+ }
+ return segs;
+ }
+
+ int randint(int max) {
+ return (int) (max * Math.random());
+ }
+
+ private DepthSegment createRandomDepthSegment() {
+ double scale = 10;
+ int max = 10;
+ double x0 = randint(max);
+ double y0 = randint(max);
+ double ang = 2 * Math.PI * Math.random();
+ double x1 = Math.rint(x0 + max * Math.cos(ang));
+ double y1 = Math.rint(y0 + max * Math.sin(ang));
+ LineSegment seg = new LineSegment(x0,y0,x1,y1);
+ seg.normalize();
+ return new DepthSegment(seg, 0);
+ }
+
+ double round(double x, double scale)
+ {
+ return Math.round(x * scale) / scale;
+ }
+
+ /**
+ * A segment from a directed edge which has been assigned a depth value
+ * for its sides.
+ */
+ private class DepthSegment
+ implements Comparable
+ {
+ private LineSegment upwardSeg;
+ private int leftDepth;
+
+ public DepthSegment(LineSegment seg, int depth)
+ {
+ // input seg is assumed to be normalized
+ upwardSeg = new LineSegment(seg);
+ //upwardSeg.normalize();
+ this.leftDepth = depth;
+ }
+ /**
+ * Defines a comparison operation on DepthSegments
+ * which orders them left to right
+ *
+ * <pre>
+ * DS1 < DS2 if DS1.seg is left of DS2.seg
+ * DS1 > DS2 if DS1.seg is right of DS2.seg
+ * </pre>
+ *
+ * @param obj
+ * @return the comparison value
+ */
+ public int compareTo(Object obj)
+ {
+ DepthSegment other = (DepthSegment) obj;
+
+ if (! envelopesOverlap(upwardSeg, other.upwardSeg))
+ return upwardSeg.compareTo(other.upwardSeg);
+ // check orientations
+ int orientIndex = upwardSeg.orientationIndex(other.upwardSeg);
+ if (orientIndex != 0) return orientIndex;
+ orientIndex = - other.upwardSeg.orientationIndex(upwardSeg);
+ if (orientIndex != 0) return orientIndex;
+ // segments cross or are collinear. Use segment ordering
+ return upwardSeg.compareTo(other.upwardSeg);
+
+ }
+
+ public int XcompareTo(Object obj)
+ {
+ DepthSegment other = (DepthSegment) obj;
+
+ // if segments are collinear and vertical compare endpoints
+ if (isVertical() && other.isVertical()
+ && upwardSeg.p0.x == other.upwardSeg.p0.x)
+ return compareX(this.upwardSeg, other.upwardSeg);
+ // check if segments are trivially ordered along X
+ if (upwardSeg.maxX() <= other.upwardSeg.minX()) return -1;
+ if (upwardSeg.minX() >= other.upwardSeg.maxX()) return 1;
+ /**
+ * try and compute a determinate orientation for the segments.
+ * Test returns 1 if other is left of this (i.e. this > other)
+ */
+ int orientIndex = upwardSeg.orientationIndex(other.upwardSeg);
+ // if orientation is determinate, return it
+ if (orientIndex != 0)
+ return orientIndex;
+
+ /**
+ * If comparison between this and other is indeterminate,
+ * try the opposite call order.
+ * orientationIndex value is 1 if this is left of other,
+ * so have to flip sign to get proper comparison value of
+ * -1 if this is leftmost
+ */
+ if (orientIndex == 0)
+ orientIndex = -1 * other.upwardSeg.orientationIndex(upwardSeg);
+
+ // if orientation is determinate, return it
+ if (orientIndex != 0)
+ return orientIndex;
+
+ // otherwise, segs must be collinear - sort based on minimum X value
+ return compareX(this.upwardSeg, other.upwardSeg);
+ }
+
+ public boolean isVertical() {
+ return upwardSeg.p0.x == upwardSeg.p1.x;
+ }
+
+ public boolean envelopesOverlap(LineSegment seg1, LineSegment seg2) {
+ if (seg1.maxX() <= seg2.minX()) return false;
+ if (seg2.maxX() <= seg1.minX()) return false;
+ if (seg1.maxY() <= seg2.minY()) return false;
+ if (seg2.maxY() <= seg1.minY()) return false;
+ return true;
+ }
+ /**
+ * Compare two collinear segments for left-most ordering.
+ * If segs are vertical, use vertical ordering for comparison.
+ * If segs are equal, return 0.
+ * Segments are assumed to be directed so that the second coordinate is >= to the first
+ * (e.g. up and to the right).
+ *
+ * @param seg0 a segment to compare
+ * @param seg1 a segment to compare
+ * @return
+ */
+ private int compareX(LineSegment seg0, LineSegment seg1)
+ {
+ int compare0 = seg0.p0.compareTo(seg1.p0);
+ if (compare0 != 0)
+ return compare0;
+ return seg0.p1.compareTo(seg1.p1);
+
+ }
+ public String toString()
+ {
+ return upwardSeg.toString();
+ }
+
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferPerfTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferPerfTest.java
new file mode 100644
index 0000000..bf6ad64
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferPerfTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.buffer;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.util.Stopwatch;
+
+import test.jts.TestFiles;
+
+public class FileBufferPerfTest
+{
+ static final int MAX_ITER = 1;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+
+ GeometryFactory factory = new GeometryFactory();
+
+ public static void main(String[] args) {
+ FileBufferPerfTest test = new FileBufferPerfTest();
+ try {
+ test.test();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ boolean testFailed = false;
+
+ public FileBufferPerfTest() {
+ }
+
+ public void test()
+ throws Exception
+ {
+ test(TestFiles.getResourceFilePath("africa.wkt"));
+ // test(TestFiles.getResourceFilePath("world.wkt"));
+ // test(TestFiles.getResourceFilePath("bc-250k.wkt"));
+ // test(TestFiles.getResourceFilePath("bc_20K.wkt"));
+ }
+
+ public void test(String filename)
+ throws Exception
+ {
+ WKTFileReader fileRdr = new WKTFileReader(filename, wktRdr);
+ List polys = fileRdr.read();
+
+ runAll(polys, 0.01);
+ runAll(polys, 0.1);
+ runAll(polys, 1.0);
+ runAll(polys, 10.0);
+ runAll(polys, 100.0);
+ runAll(polys, 1000.0);
+ }
+
+ void runAll(List polys, double distance)
+ {
+ System.out.println("Geom count = " + polys.size() + " distance = " + distance);
+ Stopwatch sw = new Stopwatch();
+ for (Iterator i = polys.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ g.buffer(distance);
+ System.out.print(".");
+ }
+ System.out.println();
+ System.out.println(" Time = " + sw.getTimeString());
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferResultValidatorTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferResultValidatorTest.java
new file mode 100644
index 0000000..148152c
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/FileBufferResultValidatorTest.java
@@ -0,0 +1,104 @@
+
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.buffer;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+import org.locationtech.jts.util.Stopwatch;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @version 1.7
+ */
+public class FileBufferResultValidatorTest extends TestCase {
+
+ static int MAX_FEATURE = 1;
+
+ WKTReader rdr = new WKTReader();
+
+ public FileBufferResultValidatorTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(FileBufferResultValidatorTest.class);
+ }
+
+ public void testAfrica() throws Exception
+ {
+ // runTest(TestFiles.getResourceFilePath("world.wkt"));
+ runTest("/testdata/africa.wkt");
+ }
+
+ void runTest(String resource)
+ throws Exception
+ {
+ InputStream is = this.getClass().getResourceAsStream(resource);
+ runTest(new WKTFileReader(new InputStreamReader(is), rdr));
+ }
+
+ void runTest(WKTFileReader fileRdr)
+ throws Exception
+ {
+ List polys = fileRdr.read();
+
+ runAll(polys, 0.01);
+ runAll(polys, 0.1);
+ runAll(polys, 1.0);
+ runAll(polys, 10.0);
+ runAll(polys, 100.0);
+ runAll(polys, 1000.0);
+
+ }
+
+ void runAll(List geoms, double dist)
+ {
+ Stopwatch sw = new Stopwatch();
+ //System.out.println("Geom count = " + geoms.size() + " distance = " + dist);
+ int count = 0;
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry g = (Geometry) i.next();
+ runBuffer(g, dist);
+ runBuffer(g.reverse(), dist);
+ //System.out.print(".");
+ count++;
+ if (count > MAX_FEATURE) return;
+ }
+ //System.out.println(" " + sw.getTimeString());
+
+ }
+ void runBuffer(Geometry g, double dist)
+ {
+ Geometry buf = g.buffer(dist);
+ BufferResultValidator validator = new BufferResultValidator(g, dist, buf);
+
+ if (! validator.isValid()) {
+ String msg = validator.getErrorMessage();
+
+ System.out.println(msg);
+ System.out.println(WKTWriter.toPoint(validator.getErrorLocation()));
+ System.out.println(g);
+ }
+ assertTrue(validator.isValid());
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/IteratedBufferStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/IteratedBufferStressTest.java
new file mode 100644
index 0000000..0220421
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/IteratedBufferStressTest.java
@@ -0,0 +1,80 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Test repeated buffering of a given input shape.
+ * Intended to test the robustness of buffering.
+ * Repeated buffering tends to generate challenging
+ * somewhat pathological linework, which stresses the buffer algorithm.
+ *
+ * @version 1.7
+ */
+public class IteratedBufferStressTest
+{
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+// private PrecisionModel precisionModel = new PrecisionModel(1);
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader rdr = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ try {
+ (new IteratedBufferStressTest()).run();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ String inputWKT =
+ "POLYGON ((110 320, 190 220, 60 200, 180 120, 120 40, 290 150, 410 40, 410 230, 500 340, 320 310, 260 370, 220 310, 110 320), (220 260, 250 180, 290 220, 360 150, 350 250, 260 280, 220 260))";
+
+ public IteratedBufferStressTest() { }
+
+ void run()
+ throws Exception
+ {
+ Stopwatch totalSW = new Stopwatch();
+ Geometry base = rdr.read(inputWKT);
+ double dist = 1.0;
+ while (true) {
+ Geometry b1 = doBuffer(base, dist);
+ Geometry b2 = doBuffer(b1, -dist);
+ dist += 1;
+ base = b2;
+ System.out.println("---------------------- " + totalSW.getTimeString());
+ System.out.println();
+ }
+ }
+
+ Geometry doBuffer(Geometry g, double dist)
+ {
+ System.out.println("Buffering with dist = " + dist);
+ Geometry buf = g.buffer(dist);
+ System.out.println("Buffer result has " + buf.getNumPoints() + " vertices");
+
+ System.out.println(buf);
+ return buf;
+
+ }
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/OffsetCurveCorrectnessTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/OffsetCurveCorrectnessTest.java
new file mode 100644
index 0000000..2611cc4
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/OffsetCurveCorrectnessTest.java
@@ -0,0 +1,76 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygonal;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.buffer.BufferParameters;
+import org.locationtech.jts.operation.buffer.OffsetCurveBuilder;
+/**
+ * Tests self-snapping issues
+ *
+ * @version 1.7
+ */
+public class OffsetCurveCorrectnessTest
+{
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader rdr = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ try {
+ (new OffsetCurveCorrectnessTest()).run7();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ public OffsetCurveCorrectnessTest() { }
+
+ void run7()
+ throws Exception
+ {
+ // buffer fails
+ String wkt = "MULTILINESTRING ((1335558.59524 631743.01449, 1335572.28215 631775.89056, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335576.62035 631803.90754), (1335558.59524 631743.01449, 1335573.2578018496 631782.1915185435), (1335573.2578018496 631782.1915185435, 1335580.70187 631802.08139))";
+ Geometry g = rdr.read(wkt);
+ Geometry curve = bufferOffsetCurve(g, 15);
+ System.out.println(curve);
+ //assert(curve.isValid());
+ }
+
+ public static Geometry bufferOffsetCurve(Geometry g, double distance)
+ {
+ OffsetCurveBuilder ocb = new OffsetCurveBuilder(
+ g.getFactory().getPrecisionModel(),
+ new BufferParameters());
+ Coordinate[] pts = g.getCoordinates();
+ Coordinate[] curvePts = null;
+ if (g instanceof Polygonal) {
+ curvePts = ocb.getRingCurve(pts, 1, distance);
+ }
+ else {
+ curvePts = ocb.getLineCurve(pts, distance);
+ }
+ Geometry curve = g.getFactory().createLineString(curvePts);
+ return curve;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/PolygonBufferStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/PolygonBufferStressTest.java
new file mode 100644
index 0000000..9a51994
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/PolygonBufferStressTest.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.GeometricShapeFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Stress-tests buffering by repeatedly buffering a geometry
+ * using alternate positive and negative distances.
+ *
+ * In older versions of JTS this used to quickly cause failure due to robustness
+ * issues (bad noding causing topology failures).
+ * However by ver 1.13 (at least) this test should pass perfectly.
+ * This is due to the many heuristics introduced to improve buffer
+ * robustness.
+ *
+ *
+ * @author Martin Davis
+ *
+ */
+public class PolygonBufferStressTest {
+
+ static final int MAX_ITER = 50;
+
+ static PrecisionModel pm = new PrecisionModel();
+ //static PrecisionModel pm = new PrecisionModel(10);
+
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ Stopwatch sw = new Stopwatch();
+
+ public static void main(String[] args) {
+ PolygonBufferStressTest test = new PolygonBufferStressTest();
+ test.test();
+ }
+
+ boolean testFailed = false;
+
+ public PolygonBufferStressTest() {
+ }
+
+ public void test()
+ {
+ String geomStr;
+ GeometricShapeFactory shapeFact = new GeometricShapeFactory(fact);
+
+ Geometry g = getSampleGeometry();
+
+// Geometry g = GeometricShapeFactory.createArc(fact, 0, 0, 200.0, 0.0, 6.0, 100);
+
+ //Geometry circle = GeometricShapeFactory.createCircle(fact, 0, 0, 200, 100);
+ //Geometry g = circle;
+
+// Geometry sq = GeometricShapeFactory.createBox(fact, 0, 0, 1, 120);
+// Geometry g = sq.difference(circle);
+
+// Geometry handle = GeometricShapeFactory.createRectangle(fact, 0, 0, 400, 20, 1);
+// Geometry g = circle.union(handle);
+
+ System.out.println(g);
+ test(g);
+ }
+
+ private Geometry getSampleGeometry()
+ {
+ String wkt;
+// triangle
+//wkt ="POLYGON (( 233 221, 210 172, 262 181, 233 221 ))";
+
+//star polygon with hole
+ wkt ="POLYGON ((260 400, 220 300, 80 300, 180 220, 40 200, 180 160, 60 20, 200 80, 280 20, 260 140, 440 20, 340 180, 520 160, 280 220, 460 340, 300 300, 260 400), (260 320, 240 260, 220 220, 160 180, 220 160, 200 100, 260 160, 300 140, 320 180, 260 200, 260 320))";
+
+//star polygon with NO hole
+// wkt ="POLYGON ((260 400, 220 300, 80 300, 180 220, 40 200, 180 160, 60 20, 200 80, 280 20, 260 140, 440 20, 340 180, 520 160, 280 220, 460 340, 300 300, 260 400))";
+
+//star polygon with NO hole, 10x size
+// wkt ="POLYGON ((2600 4000, 2200 3000, 800 3000, 1800 2200, 400 2000, 1800 1600, 600 200, 2000 800, 2800 200, 2600 1400, 4400 200, 3400 1800, 5200 1600, 2800 2200, 4600 3400, 3000 3000, 2600 4000))";
+
+ Geometry g = null;
+ try {
+ g = wktRdr.read(wkt);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ testFailed = true;
+ }
+ return g;
+ }
+ public void test(Geometry g)
+ {
+ int maxCount = MAX_ITER;
+ //doIteratedBuffer(g, 1, -120.01, maxCount);
+ //doIteratedBuffer(g, 1, 2, maxCount);
+ doAlternatingIteratedBuffer(g, 1, maxCount);
+ if (testFailed) {
+ System.out.println("FAILED!");
+ }
+ }
+
+ public void doIteratedBuffer(Geometry g, double initDist, double distanceInc, int maxCount)
+ {
+ int i = 0;
+ double dist = initDist;
+ while (i < maxCount) {
+ i++;
+ System.out.println("Iter: " + i + " --------------------------------------------------------");
+
+ dist += distanceInc;
+ System.out.println("Buffer (" + dist + ")");
+ g = getBuffer(g, dist);
+//if (((Polygon) g).getNumInteriorRing() > 0)
+// return;
+ }
+ }
+
+ public void doAlternatingIteratedBuffer(Geometry g, double dist, int maxCount)
+ {
+ int i = 0;
+ while (i < maxCount) {
+ i++;
+ System.out.println("Iter: " + i + " --------------------------------------------------------");
+
+ dist += 1.0;
+ System.out.println("Pos Buffer (" + dist + ")");
+ g = getBuffer(g, dist);
+ System.out.println("Neg Buffer (" + -dist + ")");
+ g = getBuffer(g, -dist);
+ }
+ }
+
+ private Geometry getBuffer(Geometry geom, double dist)
+ {
+ Geometry buf = geom.buffer(dist);
+ //System.out.println(buf);
+ System.out.println(sw.getTimeString());
+ if (! buf.isValid()) throw new RuntimeException("buffer not valid!");
+ return buf;
+ }
+}
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomLineBufferStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomLineBufferStressTest.java
new file mode 100644
index 0000000..778cce7
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomLineBufferStressTest.java
@@ -0,0 +1,103 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.buffer.validate.BufferResultValidator;
+
+/**
+ * Test buffers generated around set of random linestrings.
+ * Intended to stress-test the correctness of buffer generation.
+ * The random linestring sets tend to have numerous holes when buffered,
+ * which is a good test.
+ *
+ * @version 1.7
+ */
+public class RandomLineBufferStressTest
+{
+
+ private PrecisionModel precisionModel = new PrecisionModel();
+ private GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
+ WKTReader rdr = new WKTReader(geometryFactory);
+
+ public static void main(String args[]) {
+ try {
+ (new RandomLineBufferStressTest()).run();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ public RandomLineBufferStressTest() { }
+
+ void run()
+ throws Exception
+ {
+ while (true) {
+ run(10);
+ run(100);
+ run(200);
+ }
+ }
+
+ void run(int numPts)
+ throws Exception
+ {
+ double lineScale = 1.0;
+
+ Geometry line = RandomOffsetLineStringGenerator.generate(lineScale, numPts, geometryFactory);
+ System.out.println();
+ System.out.println(line);
+
+ runCase(line, 10, lineScale, numPts);
+ runCase(line, 1, lineScale, numPts);
+ runCase(line, .1, lineScale, numPts);
+ }
+
+ private int caseCount = 0;
+
+ void runCase(Geometry line, double dist, double lineScale, int numPts)
+ throws Exception
+ {
+ caseCount++;
+ System.out.println("Running case " + caseCount
+ + " (line scale = " + lineScale
+ + " buffer dist = " + dist
+ + " num pts = " + numPts
+ + " )");
+ checkBuffer(line, dist);
+ }
+
+ void checkBuffer(Geometry g, double distance)
+ {
+ Geometry buf = g.buffer(distance);
+ String isValidMsg = BufferResultValidator.isValidMsg(g, distance, buf);
+ if (isValidMsg != null) {
+ System.out.println("Input: ");
+ System.out.println(g);
+ System.out.println("Buffer: ");
+ System.out.println(buf);
+
+ throw new IllegalStateException(isValidMsg);
+ }
+ }
+
+
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomOffsetLineStringGenerator.java b/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomOffsetLineStringGenerator.java
new file mode 100644
index 0000000..5052c5d
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/buffer/RandomOffsetLineStringGenerator.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.buffer;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineSegment;
+import org.locationtech.jts.geom.LineString;
+
+
+/**
+ * Generates random {@link LineString}s, which are somewhat coherent
+ * in terms of how far they deviate from a given line segment,
+ * and how much they twist around.
+ * <p>
+ * The method is to recursively perturb line segment midpoints by a random offset.
+ *
+ * @author mbdavis
+ *
+ */
+public class RandomOffsetLineStringGenerator
+{
+ public static Geometry generate(double maxSegLen, int numPts, GeometryFactory fact)
+ {
+ RandomOffsetLineStringGenerator rlg = new RandomOffsetLineStringGenerator(maxSegLen, numPts);
+ return rlg.generate(fact);
+ }
+
+ private double maxSegLen;
+ private int numPts;
+ private int exponent2 = 5;
+ private Coordinate[] pts;
+ private Coordinate endPoint;
+
+
+ public RandomOffsetLineStringGenerator(double maxSegLen, int numPts)
+ {
+ this.maxSegLen = maxSegLen;
+
+ exponent2 = (int) (Math.log(numPts) / Math.log(2));
+ int pow2 = pow2(exponent2);
+ if (pow2 < numPts)
+ exponent2 += 1;
+
+ this.numPts = pow2(exponent2) + 1;
+ }
+
+ public Geometry generate(GeometryFactory fact)
+ {
+ pts = new Coordinate[numPts];
+
+ pts[0] = new Coordinate();
+
+ double ang = Math.PI * Math.random();
+ endPoint = new Coordinate(maxSegLen * Math.cos(ang),maxSegLen * Math.sin(ang));
+ pts[numPts - 1] = endPoint;
+
+
+ int interval = numPts / 2;
+ while (interval >= 1) {
+ createRandomOffsets(interval);
+ interval /= 2;
+ }
+ return fact.createLineString(pts);
+ }
+
+ private void createRandomOffsets(int interval)
+ {
+// for (int i = 0; i )
+ int inc = pow2(exponent2);
+
+ while (inc > 1) {
+ computeRandomOffsets(inc);
+ inc /= 2;
+ }
+ }
+
+ private void computeRandomOffsets(int inc)
+ {
+ int inc2 = inc / 2;
+ for (int i = 0; i + inc2 < numPts; i += inc) {
+ int midIndex = i + inc2;
+ int endIndex = i + inc;
+
+ Coordinate segEndPoint;
+
+ double segFrac = 0.5 + randomFractionPerturbation();
+
+ if (endIndex >= numPts) {
+ segEndPoint = endPoint;
+ segFrac = midIndex / numPts;
+ }
+ else {
+ segEndPoint = pts[i + inc];
+ }
+ pts[midIndex] = computeRandomOffset(pts[i], segEndPoint, segFrac);
+ }
+ }
+
+ private Coordinate computeRandomOffset(Coordinate p0, Coordinate p1, double segFrac)
+ {
+ double len = p0.distance(p1);
+ double len2 = len / 2;
+ double offsetLen = (len * Math.random()) - len2;
+ LineSegment seg = new LineSegment(p0, p1);
+ return seg.pointAlongOffset(segFrac, offsetLen);
+ }
+
+ private double randomFractionPerturbation()
+ {
+ double rnd = Math.random();
+ double mag = rnd * rnd * rnd;
+ int sign = Math.random() > 0.5 ? 1 : -1;
+ return sign * mag;
+ }
+
+ private static int pow2(int exponent)
+ {
+ int pow2 = 1;
+ for (int i = 0; i < exponent; i++) {
+ pow2 *= 2;
+ }
+ return pow2;
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/distance/CachedBABDistance.java b/modules/core/src/test/java/test/jts/perf/operation/distance/CachedBABDistance.java
new file mode 100644
index 0000000..b515aea
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/distance/CachedBABDistance.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.distance;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.operation.distance.IndexedFacetDistance;
+
+public class CachedBABDistance
+{
+
+ private static Geometry cacheGeom = null;
+ private static IndexedFacetDistance babDist;
+
+ public CachedBABDistance() {
+ super();
+ }
+
+ static double getDistance(Geometry g1, Geometry g2)
+ {
+ if (cacheGeom != g1) {
+ babDist = new IndexedFacetDistance(g1);
+ cacheGeom = g1;
+ }
+ return babDist.getDistance(g2);
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomPair.java b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomPair.java
new file mode 100644
index 0000000..dff4eb7
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomPair.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.operation.distance.IndexedFacetDistance;
+import org.locationtech.jts.util.GeometricShapeFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+public class TestPerfDistanceGeomPair
+{
+
+ static final int MAX_ITER = 100;
+
+ public static void main(String[] args) {
+ TestPerfDistanceGeomPair test = new TestPerfDistanceGeomPair();
+// test.test();
+ test.test2();
+ }
+
+ boolean testFailed = false;
+ boolean verbose = true;
+
+ public TestPerfDistanceGeomPair() {
+ }
+
+ public void test()
+ {
+
+
+// test(5000);
+// test(8001);
+
+ test(10);
+ test(10);
+ test(100);
+ test(500);
+ test(1000);
+ test(5000);
+ test(10000);
+ test(50000);
+ test(100000);
+ }
+
+ public void test2()
+ {
+ verbose = false;
+
+ for (int i = 100; i <= 2000; i += 100) {
+ test(i);
+ }
+ }
+
+ double size = 100;
+ double separationDist = size * 2;
+
+ public void test(int nPts)
+ {
+
+// Geometry[] geom = createCircles(nPts);
+ Geometry[] geom = createSineStars(nPts);
+
+ if (verbose) System.out.println("Running with " + nPts + " points");
+ if (! verbose) System.out.print(nPts + ": ");
+ test(geom);
+ }
+
+ public void test(Geometry[] geom)
+ {
+ Stopwatch sw = new Stopwatch();
+ double dist = 0.0;
+ double dist2 = 0.0;
+ for (int i = 0; i < MAX_ITER; i++) {
+
+// dist = geom[0].distance(geom[1]);
+// dist = SortedBoundsFacetDistance.distance(g1, g2);
+// dist2 = BranchAndBoundFacetDistance.distance(geom[0], geom[1]);
+// if (dist != dist2) System.out.println("distance discrepancy found!");
+
+
+ computeDistanceToAllPoints(geom);
+ }
+ if (! verbose) System.out.println(sw.getTimeString());
+ if (verbose) {
+ System.out.println("Finished in " + sw.getTimeString());
+ System.out.println(" (Distance = " + dist + ")");
+ }
+ }
+
+ void computeDistanceToAllPoints(Geometry[] geom)
+ {
+ Coordinate[] pts = geom[1].getCoordinates();
+ double dist = 0.0;
+ double dist2 = 0.0;
+ IndexedFacetDistance fastDist = new IndexedFacetDistance(geom[0]);
+ for (int i = 0; i < pts.length; i++) {
+ Coordinate p = pts[i];
+
+ // slow N^2 distance
+ dist = geom[0].distance(geom[1].getFactory().createPoint(p));
+
+// dist2 = fastDist.getDistance(geom[1].getFactory().createPoint(p));
+
+// if (dist != dist2) System.out.println("distance discrepancy found!");
+ }
+ }
+
+ Geometry[] createCircles(int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(new Coordinate(0, 0));
+ gsf.setSize(100);
+ gsf.setNumPoints(nPts);
+
+ Polygon gRect = gsf.createCircle();
+
+ gsf.setCentre(new Coordinate(0, separationDist));
+
+ Polygon gRect2 = gsf.createCircle();
+
+ return new Geometry[] { gRect, gRect2 };
+
+ }
+
+ Geometry[] createSineStars(int nPts)
+ {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(new Coordinate(0, 0));
+ gsf.setSize(100);
+ gsf.setNumPoints(nPts);
+
+ Geometry g = gsf.createSineStar().getBoundary();
+
+ gsf.setCentre(new Coordinate(0, separationDist));
+
+ Geometry g2 = gsf.createSineStar().getBoundary();
+
+ return new Geometry[] { g, g2 };
+
+ }
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomSet.java b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomSet.java
new file mode 100644
index 0000000..ebbf7a4
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceGeomSet.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.distance;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+public class TestPerfDistanceGeomSet
+{
+ static final int MAX_ITER = 1;
+ static final int NUM_GEOM = 100;
+ static final double GEOM_SIZE = 1;
+ static final double MAX_X = 100;
+
+ public static void main(String[] args) {
+ TestPerfDistanceGeomSet test = new TestPerfDistanceGeomSet();
+// test.test();
+ test.test();
+ }
+
+ boolean testFailed = false;
+ boolean verbose = false;
+
+ public TestPerfDistanceGeomSet() {
+ }
+
+ public void test()
+ {
+
+
+// test(5000);
+// test(8001);
+
+ test(10);
+ test(3);
+ test(4);
+ test(5);
+ test(10);
+ test(20);
+ test(30);
+ test(40);
+ test(50);
+ test(60);
+ test(100);
+ test(200);
+ test(500);
+ test(1000);
+ test(5000);
+ test(10000);
+ test(50000);
+ test(100000);
+ }
+
+ public void test2()
+ {
+ verbose = false;
+
+ for (int i = 800; i <= 2000; i += 100) {
+ test(i);
+ }
+ }
+
+ double size = 100;
+ double separationDist = size * 2;
+
+ public void test(int num)
+ {
+
+// Geometry[] geom = createRandomCircles(nPts);
+ Geometry[] geom = createRandomCircles(100, 5, num);
+// Geometry[] geom = createSineStarsRandomLocation(nPts);
+
+ if (verbose) System.out.println("Running with " + num + " points");
+ if (! verbose) System.out.print(num + ", ");
+ test(geom);
+ }
+
+ public void test(Geometry[] geom)
+ {
+ Stopwatch sw = new Stopwatch();
+ double dist = 0.0;
+ for (int i = 0; i < MAX_ITER; i++) {
+ testAll(geom);
+ }
+ if (! verbose) System.out.println(sw.getTimeString());
+ if (verbose) {
+ System.out.println("Finished in " + sw.getTimeString());
+ System.out.println(" (Distance = " + dist + ")");
+ }
+ }
+
+ void testAll(Geometry[] geom)
+ {
+ for (int i = 0; i < geom.length; i++ ) {
+ for (int j = 0; j < geom.length; j++ ) {
+ double dist = geom[i].distance(geom[j]);
+// double dist = SortedBoundsFacetDistance.distance(g1, g2);
+// double dist = BranchAndBoundFacetDistance.distance(geom[i], geom[j]);
+// double dist = CachedBABDistance.getDistance(geom[i], geom[j]);
+
+ }
+ }
+ }
+
+ Geometry[] createRandomCircles(int nPts)
+ {
+ Geometry[] geoms = new Geometry[NUM_GEOM];
+ for (int i = 0; i < NUM_GEOM; i++) {
+ geoms[i] = createCircleRandomLocation(nPts);
+ }
+ return geoms;
+ }
+
+ Geometry[] createRandomCircles(int numGeom, int nPtsMin, int nPtsMax)
+ {
+ int nPtsRange = nPtsMax - nPtsMin + 1;
+ Geometry[] geoms = new Geometry[numGeom];
+ for (int i = 0; i < numGeom; i++) {
+ int nPts = (int) (nPtsRange * Math.random()) + nPtsMin;
+ geoms[i] = createCircleRandomLocation(nPts);
+ }
+ return geoms;
+ }
+
+ Geometry createCircleRandomLocation(int nPts)
+ {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(randomLocation());
+ gsf.setSize(GEOM_SIZE);
+ gsf.setNumPoints(nPts);
+
+ Polygon g = gsf.createCircle();
+// Geometry g = gsf.createSineStar();
+
+ return g;
+ }
+
+ Coordinate randomLocation()
+ {
+ double x = Math.random() * MAX_X;
+ double y = Math.random() * MAX_X;
+ return new Coordinate(x, y);
+ }
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceLinesPoints.java b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceLinesPoints.java
new file mode 100644
index 0000000..58f7029
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfDistanceLinesPoints.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.distance;
+
+import java.util.List;
+
+import org.locationtech.jts.densify.Densifier;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.distance.DistanceOp;
+import org.locationtech.jts.operation.distance.IndexedFacetDistance;
+import org.locationtech.jts.util.Stopwatch;
+
+
+/**
+ * Tests performance of {@link IndexedFacetDistance} versus standard
+ * {@link DistanceOp}
+ * using a grid of points to a target set of lines
+ *
+ * @author Martin Davis
+ *
+ */
+public class TestPerfDistanceLinesPoints
+{
+ static final boolean USE_INDEXED_DIST = true;
+
+ static GeometryFactory geomFact = new GeometryFactory();
+
+ static final int MAX_ITER = 1;
+ static final int NUM_TARGET_ITEMS = 4000;
+ static final double EXTENT = 1000;
+ static final int NUM_PTS_SIDE = 100;
+
+
+ public static void main(String[] args) {
+ TestPerfDistanceLinesPoints test = new TestPerfDistanceLinesPoints();
+ try {
+ test.test();
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+
+ boolean verbose = true;
+
+ public TestPerfDistanceLinesPoints() {
+ }
+
+ public void test()
+ throws Exception
+ {
+
+ //test(200);
+ //if (true) return;
+
+// test(5000);
+// test(8001);
+
+ //test(50);
+ test(100);
+ test(200);
+ test(500);
+ test(1000);
+ //test(5000);
+ //test(10000);
+ //test(50000);
+ //test(100000);
+ }
+
+ public void test(int num)
+ throws Exception
+ {
+ //Geometry lines = createLine(EXTENT, num);
+ Geometry target = createDiagonalCircles(EXTENT, NUM_TARGET_ITEMS);
+ Geometry[] pts = createPoints(target.getEnvelopeInternal(), num);
+
+ /*
+ Geometry target = loadData("C:\\data\\martin\\proj\\jts\\testing\\distance\\bc_coast.wkt");
+ Envelope bcEnv_Albers = new Envelope(-45838, 1882064, 255756, 1733287);
+ Geometry[] pts = createPoints(bcEnv_Albers, num);
+ */
+ test(pts, target);
+ }
+
+ public void xtest(int num)
+ throws Exception
+ {
+ Geometry target = loadData("C:\\proj\\JTS\\test\\g2e\\ffmwdec08.wkt");
+ Envelope bcEnv_Albers = new Envelope(-45838, 1882064, 255756, 1733287);
+ Geometry[] pts = createPoints(bcEnv_Albers, num);
+
+ test(pts, target);
+ }
+
+ public void test(Geometry[] pts, Geometry target)
+ {
+ if (verbose) System.out.println("Query points = " + pts.length
+ + " Target points = " + target.getNumPoints());
+// if (! verbose) System.out.print(num + ", ");
+
+ Stopwatch sw = new Stopwatch();
+ double dist = 0.0;
+ for (int i = 0; i < MAX_ITER; i++) {
+ computeDistance(pts, target);
+ }
+ if (! verbose) System.out.println(sw.getTimeString());
+ if (verbose) {
+ String name = USE_INDEXED_DIST ? "IndexedFacetDistance" : "Distance";
+ System.out.println(name + " - Run time: " + sw.getTimeString());
+ //System.out.println(" (Distance = " + dist + ")\n");
+ System.out.println();
+ }
+ }
+
+ void computeDistance(Geometry[] pts, Geometry geom)
+ {
+ IndexedFacetDistance bbd = null;
+ if (USE_INDEXED_DIST)
+ bbd = new IndexedFacetDistance(geom);
+ for (int i = 0; i < pts.length; i++ ) {
+ if (USE_INDEXED_DIST) {
+ double dist = bbd.getDistance(pts[i]);
+// double dist = bbd.getDistanceWithin(pts[i].getCoordinate(), 100000);
+ }
+ else {
+ double dist = geom.distance(pts[i]);
+ }
+ }
+ }
+
+ Geometry createDiagonalCircles(double extent, int nSegs)
+ {
+ Polygon[] circles = new Polygon[nSegs];
+ double inc = extent / nSegs;
+ for (int i = 0; i < nSegs; i++) {
+ double ord = i * inc;
+ Coordinate p = new Coordinate(ord, ord);
+ Geometry pt = geomFact.createPoint(p);
+ circles[i] = (Polygon) pt.buffer(inc/2);
+ }
+ return geomFact.createMultiPolygon(circles);
+
+ }
+
+ Geometry createLine(double extent, int nSegs)
+ {
+ Coordinate[] pts =
+ new Coordinate[] {
+ new Coordinate(0,0),
+ new Coordinate(0, extent),
+ new Coordinate(extent, extent),
+ new Coordinate(extent, 0)
+
+ };
+ Geometry outline = geomFact.createLineString(pts);
+ double inc = extent / nSegs;
+ return Densifier.densify(outline, inc);
+
+ }
+
+ Geometry createDiagonalLine(double extent, int nSegs)
+ {
+ Coordinate[] pts = new Coordinate[nSegs + 1];
+ pts[0] = new Coordinate(0,0);
+ double inc = extent / nSegs;
+ for (int i = 1; i <= nSegs; i++) {
+ double ord = i * inc;
+ pts[i] = new Coordinate(ord, ord);
+ }
+ return geomFact.createLineString(pts);
+ }
+
+ Geometry[] createPoints(Envelope extent, int nPtsSide)
+ {
+ Geometry[] pts = new Geometry[nPtsSide * nPtsSide];
+ int index = 0;
+ double xinc = extent.getWidth() / nPtsSide;
+ double yinc = extent.getHeight() / nPtsSide;
+ for (int i = 0; i < nPtsSide; i++) {
+ for (int j = 0; j < nPtsSide; j++) {
+ pts[index++] = geomFact.createPoint(
+ new Coordinate(
+ extent.getMinX() + i * xinc,
+ extent.getMinY() + j * yinc));
+ }
+ }
+ return pts;
+ }
+
+ Geometry loadData(String file)
+ throws Exception
+ {
+ List geoms = loadWKT(file);
+ return geomFact.buildGeometry(geoms);
+ }
+
+ List loadWKT(String filename) throws Exception {
+ WKTReader rdr = new WKTReader();
+ WKTFileReader fileRdr = new WKTFileReader(filename, rdr);
+ return fileRdr.read();
+ }
+
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfFastDistanceFile.java b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfFastDistanceFile.java
new file mode 100644
index 0000000..59ce255
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/distance/TestPerfFastDistanceFile.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.distance;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.util.Stopwatch;
+
+
+public class TestPerfFastDistanceFile
+{
+ public static void main(String[] args) {
+ TestPerfFastDistanceFile test = new TestPerfFastDistanceFile();
+ try {
+ test.test();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private static final int MAX_GEOMS = 40;
+
+ boolean testFailed = false;
+
+ public TestPerfFastDistanceFile() {
+ }
+
+
+ public void test()
+ throws Exception
+{
+
+// List geoms = loadWKT("C:\\data\\martin\\proj\\jts\\sandbox\\jts\\testdata\\africa.wkt");
+ List geoms = loadWKT("C:\\data\\martin\\proj\\jts\\sandbox\\jts\\testdata\\world.wkt");
+
+// testAllDistances(geoms, 100);
+
+ testAllDistances(geoms, 1);
+ testAllDistances(geoms, 2);
+ testAllDistances(geoms, 5);
+ testAllDistances(geoms, 10);
+ testAllDistances(geoms, 20);
+ testAllDistances(geoms, 30);
+ testAllDistances(geoms, 40);
+ testAllDistances(geoms, 50);
+}
+
+ static List loadWKT(String filename) throws Exception {
+ WKTReader rdr = new WKTReader();
+ WKTFileReader fileRdr = new WKTFileReader(filename, rdr);
+ return fileRdr.read();
+ }
+
+ void testAllDistances(List geoms, int maxToScan)
+ {
+ Stopwatch sw = new Stopwatch();
+
+ computeAllDistances(geoms, maxToScan);
+// computePairDistance(geoms, 1, 3);
+// computePairDistance(geoms, 55, 77);
+
+ System.out.println("Count = " + maxToScan
+ + " Finished in " + sw.getTimeString());
+ }
+
+ void computeAllDistances(List geoms, int maxToScan) {
+ int numGeoms1 = geoms.size();
+ if (numGeoms1 > maxToScan)
+ numGeoms1 = maxToScan;
+
+ int numGeoms2 = geoms.size();
+
+ for (int i = 0; i < numGeoms1; i++) {
+ // PreparedGeometry pg = PreparedGeometryFactory.prepare((Geometry)
+ // geoms.get(i));
+ for (int j = 0; j < numGeoms2; j++) {
+ // don't compute distance to itself!
+ // if (i == j) continue;
+
+ Geometry g1 = (Geometry) geoms.get(i);
+ Geometry g2 = (Geometry) geoms.get(j);
+
+ // if (g1.getEnvelopeInternal().intersects(g2.getEnvelopeInternal()))
+ // continue;
+
+// double dist = g1.distance(g2);
+// double dist = BranchAndBoundFacetDistance.distance(g1, g2);
+ double dist = CachedBABDistance.getDistance(g1, g2);
+ // double distFast = SortedBoundsFacetDistance.distance(g1, g2);
+
+ // pg.intersects(g2);
+ }
+ }
+ }
+
+
+ static final int MAX_ITER = 10;
+
+ void computePairDistance(List geoms, int i, int j)
+ {
+ for (int n = 0; n < MAX_ITER; n++ ) {
+ Geometry g1 = (Geometry) geoms.get(i);
+ Geometry g2 = (Geometry) geoms.get(j);
+
+ double dist = g1.distance(g2);
+// double dist = SortedBoundsFacetDistance.distance(g1, g2);
+// double dist = BranchAndBoundFacetDistance.distance(g1, g2);
+ }
+ }
+
+
+
+}
+
+
diff --git a/modules/core/src/test/java/test/jts/perf/operation/overlay/OverlayNodingStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/overlay/OverlayNodingStressTest.java
new file mode 100644
index 0000000..855f65d
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/overlay/OverlayNodingStressTest.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.overlay;
+
+import java.util.Random;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.operation.overlay.snap.SnapIfNeededOverlayOp;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests Noding checking during overlay.
+ * Intended to show that noding check failures due to robustness
+ * problems do not occur very often (i.e. that the heuristic is
+ * not triggering so often that a large performance penalty would be incurred.)
+ *
+ * The class generates test geometries for input to overlay which contain almost parallel lines
+ * - this should cause noding failures relatively frequently.
+ *
+ * Can also be used to check that the cross-snapping heuristic fix for robustness
+ * failures works well. If snapping ever fails to fix a case,
+ * an exception is thrown. It is expected (and has been observed)
+ * that cross-snapping works extremely well on this dataset.
+ *
+ * @version 1.7
+ */
+public class OverlayNodingStressTest
+ extends TestCase
+{
+ private static final int ITER_LIMIT = 10000;
+ private static final int BATCH_SIZE = 20;
+
+ private Random rand = new Random((long) (Math.PI * 10e8));
+ private int failureCount = 0;
+
+ public OverlayNodingStressTest(String name) {
+ super(name);
+ }
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(OverlayNodingStressTest.class);
+ }
+
+ private double getRand()
+ {
+ double r = rand.nextDouble();
+ return r;
+ }
+
+ public void testNoding()
+ {
+ int iterLimit = ITER_LIMIT;
+ for (int i = 0; i < iterLimit; i++) {
+ System.out.println("Iter: " + i
+ + " Noding failure count = " + failureCount);
+ double ang1 = getRand() * Math.PI;
+ double ang2 = getRand() * Math.PI;
+// Geometry[] geom = generateGeometryStar(ang1, ang2);
+ Geometry[] geom = generateGeometryAccum(ang1, ang2);
+ checkIntersection(geom[0], geom[1]);
+ }
+ System.out.println(
+ "Test count = " + iterLimit
+ + " Noding failure count = " + failureCount
+ );
+ }
+
+ public Geometry[] generateGeometryStar(double angle1, double angle2) {
+ RotatedRectangleFactory rrFact = new RotatedRectangleFactory();
+ Polygon rr1 = rrFact.createRectangle(100, 20, angle1);
+ Polygon rr2 = rrFact.createRectangle(100, 20, angle2);
+
+ // this line can be used to test for the presence of noding failures for
+ // non-tricky cases
+ // Geometry star = rr2;
+ Geometry star = rr1.union(rr2);
+ return new Geometry[] { star, rr1 };
+ }
+
+ private static final double MAX_DISPLACEMENT = 60;
+
+ private Geometry baseAccum = null;
+ private int geomCount = 0;
+
+ public Geometry[] generateGeometryAccum(double angle1, double angle2) {
+ RotatedRectangleFactory rrFact = new RotatedRectangleFactory();
+ double basex = angle2 * MAX_DISPLACEMENT - (MAX_DISPLACEMENT / 2);
+ Coordinate base = new Coordinate(basex, basex);
+ Polygon rr1 = rrFact.createRectangle(100, 20, angle1, base);
+
+ // limit size of accumulated star
+ geomCount++;
+ if (geomCount >= BATCH_SIZE)
+ geomCount = 0;
+ if (geomCount == 0)
+ baseAccum = null;
+
+ if (baseAccum == null)
+ baseAccum = rr1;
+ else {
+ // this line can be used to test for the presence of noding failures for
+ // non-tricky cases
+ // Geometry star = rr2;
+ baseAccum = rr1.union(baseAccum);
+ }
+ return new Geometry[] { baseAccum, rr1 };
+ }
+
+ public void checkIntersection(Geometry base, Geometry testGeom) {
+
+ // this line can be used to test for the presence of noding failures for
+ // non-tricky cases
+ // Geometry star = rr2;
+ System.out.println("Star:");
+ System.out.println(base);
+ System.out.println("Rectangle:");
+ System.out.println(testGeom);
+
+ // test to see whether the basic overlay code fails
+ try {
+ Geometry intTrial = base.intersection(testGeom);
+ } catch (Exception ex) {
+ failureCount++;
+ }
+
+ // this will throw an intersection if a robustness error occurs,
+ // stopping the run
+ Geometry intersection = SnapIfNeededOverlayOp.intersection(base, testGeom);
+ System.out.println("Intersection:");
+ System.out.println(intersection);
+ }
+}
+
+class RotatedRectangleFactory
+{
+ public RotatedRectangleFactory()
+ {
+
+ }
+
+ private static double PI_OVER_2 = Math.PI / 2;
+ private GeometryFactory fact = new GeometryFactory();
+
+ public Polygon createRectangle(double length, double width, double angle)
+ {
+ return createRectangle(length, width, angle, new Coordinate(0,0));
+ }
+
+ public Polygon createRectangle(double length, double width, double angle, Coordinate base)
+ {
+ double posx = length / 2 * Math.cos(angle);
+ double posy = length / 2 * Math.sin(angle);
+ double negx = -posx;
+ double negy = -posy;
+ double widthOffsetx = (width / 2) * Math.cos(angle + PI_OVER_2);
+ double widthOffsety = (width / 2) * Math.sin(angle + PI_OVER_2);
+
+ Coordinate[] pts = new Coordinate[] {
+ new Coordinate(base.x + posx + widthOffsetx, base.y + posy + widthOffsety),
+ new Coordinate(base.x + posx - widthOffsetx, base.y + posy - widthOffsety),
+ new Coordinate(base.x + negx - widthOffsetx, base.y + negy - widthOffsety),
+ new Coordinate(base.x + negx + widthOffsetx, base.y + negy + widthOffsety),
+ new Coordinate(0,0),
+ };
+ // close polygon
+ pts[4] = new Coordinate(pts[0]);
+ Polygon poly = fact.createPolygon(fact.createLinearRing(pts), null);
+ return poly;
+ }
+
+
+}
+
\ No newline at end of file
diff --git a/modules/core/src/test/java/test/jts/perf/operation/predicate/RectangleIntersectsPerfTest.java b/modules/core/src/test/java/test/jts/perf/operation/predicate/RectangleIntersectsPerfTest.java
new file mode 100644
index 0000000..c9f6094
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/predicate/RectangleIntersectsPerfTest.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.predicate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.util.SineStarFactory;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.precision.GeometryPrecisionReducer;
+import org.locationtech.jts.util.GeometricShapeFactory;
+import org.locationtech.jts.util.Stopwatch;
+
+
+public class RectangleIntersectsPerfTest
+{
+ static final int MAX_ITER = 10;
+
+ static final int NUM_AOI_PTS = 2000;
+ static final int NUM_LINES = 5000;
+ static final int NUM_LINE_PTS = 1000;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ Stopwatch sw = new Stopwatch();
+
+ public static void main(String[] args) {
+ RectangleIntersectsPerfTest test = new RectangleIntersectsPerfTest();
+ test.test();
+ }
+
+ boolean testFailed = false;
+
+ public RectangleIntersectsPerfTest() {
+ }
+
+ public void test()
+ {
+// test(5);
+// test(10);
+ test(500);
+// test(1000);
+// test(2000);
+ test(100000);
+ /*
+ test(100);
+ test(1000);
+ test(2000);
+ test(4000);
+ test(8000);
+ */
+ }
+
+ void test(int nPts)
+ {
+ double size = 100;
+ Coordinate origin = new Coordinate(0, 0);
+ Geometry sinePoly = createSineStar(origin, size, nPts).getBoundary();
+ /**
+ * Make the geometry "crinkly" by rounding off the points.
+ * This defeats the MonotoneChain optimization in the full relate
+ * algorithm, and provides a more realistic test.
+ */
+ Geometry sinePolyCrinkly = GeometryPrecisionReducer.reduce(sinePoly,
+ new PrecisionModel(size / 10));
+ Geometry target = sinePolyCrinkly;
+
+ Geometry rect = createRectangle(origin, 5);
+// System.out.println(target);
+ //System.out.println("Running with " + nPts + " points");
+ testRectangles(target, 100, 5);
+ }
+
+ void testRectangles(Geometry target, int nRect, double rectSize)
+ {
+ Geometry[] rects = createRectangles(target.getEnvelopeInternal(), nRect, rectSize);
+ test(rects, target);
+ }
+
+ void test(Geometry[] rect, Geometry g)
+ {
+ System.out.println("Target # pts: " + g.getNumPoints()
+ + " -- # Rectangles: " + rect.length
+ );
+
+ int maxCount = MAX_ITER;
+ Stopwatch sw = new Stopwatch();
+ int count = 0;
+ for (int i = 0; i < MAX_ITER; i++) {
+ for (int j = 0; j < rect.length; j++) {
+// rect[j].relate(g);
+ rect[j].intersects(g);
+ }
+ }
+ System.out.println("Finished in " + sw.getTimeString());
+ System.out.println();
+ }
+
+ /**
+ * Creates a set of rectangular Polygons which
+ * cover the given envelope.
+ * The rectangles
+ * At least nRect rectangles are created.
+ *
+ * @param env
+ * @param nRect
+ * @param rectSize
+ * @return
+ */
+ Geometry[] createRectangles(Envelope env, int nRect, double rectSize )
+ {
+ int nSide = 1 + (int)Math.sqrt((double) nRect);
+ double dx = env.getWidth() / nSide;
+ double dy = env.getHeight() / nSide;
+
+ List rectList = new ArrayList();
+ for (int i = 0; i < nSide; i++) {
+ for (int j = 0; j < nSide; j++) {
+ double baseX = env.getMinX() + i * dx;
+ double baseY = env.getMinY() + j * dy;
+ Envelope envRect = new Envelope(
+ baseX, baseX + dx,
+ baseY, baseY + dy);
+ Geometry rect = fact.toGeometry(envRect);
+ rectList.add(rect);
+ }
+ }
+ return GeometryFactory.toGeometryArray(rectList);
+ }
+
+ Geometry createRectangle(Coordinate origin, double size) {
+ GeometricShapeFactory gsf = new GeometricShapeFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(4);
+ Geometry g = gsf.createRectangle();
+ // Polygon gRect = gsf.createRectangle();
+ // Geometry g = gRect.getExteriorRing();
+ return g;
+ }
+
+ Geometry createSineStar(Coordinate origin, double size, int nPts) {
+ SineStarFactory gsf = new SineStarFactory();
+ gsf.setCentre(origin);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+ gsf.setArmLengthRatio(2);
+ gsf.setNumArms(20);
+ Geometry poly = gsf.createSineStar();
+ return poly;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/relate/RelateMonotoneLinesPerfTest.java b/modules/core/src/test/java/test/jts/perf/operation/relate/RelateMonotoneLinesPerfTest.java
new file mode 100644
index 0000000..f44ac2e
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/relate/RelateMonotoneLinesPerfTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.relate;
+
+import java.io.PrintStream;
+
+import org.locationtech.jts.densify.Densifier;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.operation.relate.RelateOp;
+
+import test.jts.perf.PerformanceTestCase;
+import test.jts.perf.PerformanceTestRunner;
+import test.jts.util.IOUtil;
+
+
+/**
+ * Tests the performance of {@link RelateOp} (via {@link Geometry#intersects(Geometry)}
+ * on monotone linestrings, to confirm that the Monotone Chain comparison logic
+ * is working as expected.
+ * (In particular, Monotone Chains can be tested for intersections very efficiently,
+ * since the monotone property allows subchain envelopes to be computed dynamically,
+ * and thus binary search can be used to determine if two monotone chains intersect).
+ * This should result in roughly linear performance for testing intersection of
+ * chains (since the construction of the chain dominates the computation).
+ * This test demonstrates that this occurs in practice.
+ *
+ * @author mdavis
+ *
+ */
+public class RelateMonotoneLinesPerfTest extends PerformanceTestCase
+{
+ private static final int DENSIFY_FACTOR = 1000;
+
+ public static void main(String args[]) {
+ PerformanceTestRunner.run(RelateMonotoneLinesPerfTest.class);
+ }
+
+ public RelateMonotoneLinesPerfTest(String name) {
+ super(name);
+ setRunSize(new int[] { 2, 4, 8, 16, 32, 64, 128, 256, 512 });
+ setRunIterations(1);
+ }
+
+ LineString line1;
+ LineString line2;
+
+ public void startRun(int runSize) {
+ int nVertices = runSize * DENSIFY_FACTOR;
+ line1 = createLine("LINESTRING (0 0, 100 100)", nVertices);
+ line2 = createLine("LINESTRING (0 1, 100 99)", nVertices );
+
+ // force compilation of intersects code
+ line1.intersects(line2);
+ }
+
+ private LineString createLine(String wkt, int nVertices) {
+ double distanceTolerance = 100.0 / nVertices;
+ Geometry line = IOUtil.read(wkt);
+ LineString lineDense = (LineString) Densifier.densify(line, distanceTolerance);
+ return lineDense;
+ }
+
+ public void runIntersects()
+ {
+ System.out.println("Line size: " + line2.getNumPoints());
+ @SuppressWarnings("unused")
+ boolean isIntersects = line1.intersects(line2);
+ }
+
+ public void tearDown() {
+ double[] timeFactor = computeTimeFactors();
+ System.out.print("Time factors: ");
+ printArray(timeFactor, System.out);
+ System.out.println();
+ }
+
+ private void printArray(double[] timeFactor, PrintStream out) {
+ for (double d : timeFactor) {
+ out.print(d + " ");
+ }
+ }
+
+ private double[] computeTimeFactors() {
+ long[] runTime = getRunTime();
+ double[] timeFactor = new double[runTime.length - 1];
+ for (int i = 0; i < runTime.length - 1; i++) {
+ timeFactor[i] = (double) runTime[i + 1] / (double) runTime[i];
+ }
+ return timeFactor;
+ }
+
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/union/FileUnionPerfTest.java b/modules/core/src/test/java/test/jts/perf/operation/union/FileUnionPerfTest.java
new file mode 100644
index 0000000..f082c56
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/union/FileUnionPerfTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.union;
+
+import java.util.List;
+
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTFileReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+
+import test.jts.TestFiles;
+
+public class FileUnionPerfTest
+{
+ static final int MAX_ITER = 1;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ GeometryFactory factory = new GeometryFactory();
+
+ public static void main(String[] args) {
+ FileUnionPerfTest test = new FileUnionPerfTest();
+ try {
+ test.test();
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ boolean testFailed = false;
+
+ public FileUnionPerfTest() {
+ }
+
+ public void test()
+ throws Exception
+ {
+ test(TestFiles.getResourceFilePath("africa.wkt"));
+ // test(TestFiles.getResourceFilePath("world.wkt"));
+ // test(TestFiles.getResourceFilePath("bc-250k.wkt"));
+ // test(TestFiles.getResourceFilePath("bc_20K.wkt"));
+ }
+
+ public void test(String filename)
+ throws Exception
+ {
+ WKTFileReader fileRdr = new WKTFileReader(filename, wktRdr);
+ List polys = fileRdr.read();
+
+ UnionPerfTester tester = new UnionPerfTester(polys);
+ tester.runAll();
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/union/PolygonUnionPerfTest.java b/modules/core/src/test/java/test/jts/perf/operation/union/PolygonUnionPerfTest.java
new file mode 100644
index 0000000..afb2ff8
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/union/PolygonUnionPerfTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.union;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.util.GeometricShapeFactory;
+
+
+public class PolygonUnionPerfTest
+{
+
+ static final int MAX_ITER = 1;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ GeometryFactory factory = new GeometryFactory();
+
+ public static void main(String[] args) {
+ PolygonUnionPerfTest test = new PolygonUnionPerfTest();
+
+// test.test();
+ test.testRampItems();
+
+ }
+
+ boolean testFailed = false;
+
+ public PolygonUnionPerfTest() {
+ }
+
+ public void testRampItems()
+ {
+ int nPts = 1000;
+
+ test(5, nPts, 10.0);
+ test(5, nPts, 10.0);
+ test(25, nPts, 10.0);
+ test(50, nPts, 10.0);
+ test(100, nPts, 10.0);
+ test(200, nPts, 10.0);
+ test(400, nPts, 10.0);
+ test(500, nPts, 10.0);
+ test(1000, nPts, 10.0);
+ test(2000, nPts, 10.0);
+ test(4000, nPts, 10.0);
+ }
+
+ public void test()
+ {
+// test(5, 100, 10.0);
+ test(1000, 100, 10.0);
+ }
+
+ public void test(int nItems, int nPts, double size)
+ {
+ System.out.println("---------------------------------------------------------");
+ System.out.println("# pts/item: " + nPts);
+
+ List polys = createPolys(nItems, size, nPts);
+
+// System.out.println();
+ //System.out.println("Running with " + nPts + " points");
+
+ UnionPerfTester tester = new UnionPerfTester(polys);
+ tester.runAll();
+ }
+
+ /**
+ * Creates a grid of circles with a small percentage of overlap
+ * in both directions.
+ * This approximated likely real-world cases well,
+ * and seems to produce
+ * close to worst-case performance for the Iterated algorithm.
+ *
+ * Sample times:
+ * 1000 items/100 pts - Cascaded: 2718 ms, Iterated 150 s
+ *
+ * @param nItems
+ * @param size
+ * @param nPts
+ * @return
+ */
+ List createPolys(int nItems, double size, int nPts)
+ {
+
+ // between 0 and 1
+ double overlapPct = 0.2;
+
+
+ int nCells = (int) Math.sqrt(nItems);
+
+ List geoms = new ArrayList();
+// double width = env.getWidth();
+ double width = nCells * (1 - overlapPct) * size;
+
+ // this results in many final polys
+ double height = nCells * 2 * size;
+
+ // this results in a single final polygon
+// double height = width;
+
+ double xInc = width / nCells;
+ double yInc = height / nCells;
+ for (int i = 0; i < nCells; i++) {
+ for (int j = 0; j < nCells; j++) {
+ Coordinate base = new Coordinate(
+ i * xInc,
+ j * yInc);
+ Geometry poly = createPoly(base, size, nPts);
+ geoms.add(poly);
+// System.out.println(poly);
+ }
+ }
+ return geoms;
+ }
+
+ Geometry createPoly(Coordinate base, double size, int nPts)
+ {
+ GeometricShapeFactory gsf = new GeometricShapeFactory(factory);
+ gsf.setCentre(base);
+ gsf.setSize(size);
+ gsf.setNumPoints(nPts);
+
+ Geometry poly = gsf.createCircle();
+// Geometry poly = gsf.createRectangle();
+
+// System.out.println(circle);
+ return poly;
+ }
+
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/union/UnionPerfTester.java b/modules/core/src/test/java/test/jts/perf/operation/union/UnionPerfTester.java
new file mode 100644
index 0000000..f594cfb
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/union/UnionPerfTester.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.union;
+
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.io.WKTWriter;
+import org.locationtech.jts.operation.union.CascadedPolygonUnion;
+import org.locationtech.jts.util.Stopwatch;
+
+
+
+public class UnionPerfTester
+{
+ public static final int CASCADED = 1;
+ public static final int ITERATED = 2;
+ public static final int BUFFER0 = 3;
+ public static final int ORDERED = 4;
+
+ public static void run(String testName, int testType, List polys)
+ {
+ UnionPerfTester test = new UnionPerfTester(polys);
+ test.run(testName, testType);
+ }
+
+ public static void runAll(List polys)
+ {
+ UnionPerfTester test = new UnionPerfTester(polys);
+ test.runAll();
+ }
+
+ static final int MAX_ITER = 1;
+
+ static PrecisionModel pm = new PrecisionModel();
+ static GeometryFactory fact = new GeometryFactory(pm, 0);
+ static WKTReader wktRdr = new WKTReader(fact);
+ static WKTWriter wktWriter = new WKTWriter();
+
+ Stopwatch sw = new Stopwatch();
+ GeometryFactory factory = new GeometryFactory();
+
+ private List polys;
+
+ public UnionPerfTester(List polys) {
+ this.polys = polys;
+ }
+
+
+
+ public void runAll()
+ {
+ System.out.println("# items: " + polys.size());
+ run("Cascaded", CASCADED, polys);
+// run("Buffer-0", BUFFER0, polys);
+
+ run("Iterated", ITERATED, polys);
+
+ }
+
+ public void run(String testName, int testType)
+ {
+ System.out.println();
+ System.out.println("======= Union Algorithm: " + testName + " ===========");
+
+ Stopwatch sw = new Stopwatch();
+ for (int i = 0; i < MAX_ITER; i++) {
+ Geometry union = null;
+ switch (testType) {
+ case CASCADED:
+ union = unionCascaded(polys);
+ break;
+ case ITERATED:
+ union = unionAllSimple(polys);
+ break;
+ case BUFFER0:
+ union = unionAllBuffer(polys);
+ break;
+ }
+
+// printFormatted(union);
+
+ }
+ System.out.println("Finished in " + sw.getTimeString());
+ }
+
+ void printFormatted(Geometry geom)
+ {
+ WKTWriter writer = new WKTWriter();
+ System.out.println(writer.writeFormatted(geom));
+ }
+
+ public Geometry unionAllSimple(List geoms)
+ {
+ Geometry unionAll = null;
+ int count = 0;
+ for (Iterator i = geoms.iterator(); i.hasNext(); ) {
+ Geometry geom = (Geometry) i.next();
+
+ if (unionAll == null) {
+ unionAll = (Geometry) geom.copy();
+ }
+ else {
+ unionAll = unionAll.union(geom);
+ }
+
+ count++;
+ if (count % 100 == 0) {
+ System.out.print(".");
+// System.out.println("Adding geom #" + count);
+ }
+ }
+ return unionAll;
+ }
+
+ public Geometry unionAllBuffer(List geoms)
+ {
+
+ Geometry gColl = factory.buildGeometry(geoms);
+ Geometry unionAll = gColl.buffer(0.0);
+ return unionAll;
+ }
+
+ public Geometry unionCascaded(List geoms)
+ {
+ return CascadedPolygonUnion.union(geoms);
+ }
+
+ /*
+ public Geometry unionAllOrdered(List geoms)
+ {
+// return OrderedUnion.union(geoms);
+ }
+ */
+
+ void printItemEnvelopes(List tree)
+ {
+ Envelope itemEnv = new Envelope();
+ for (Iterator i = tree.iterator(); i.hasNext(); ) {
+ Object o = i.next();
+ if (o instanceof List) {
+ printItemEnvelopes((List) o);
+ }
+ else if (o instanceof Geometry) {
+ itemEnv.expandToInclude( ((Geometry) o).getEnvelopeInternal());
+ }
+ }
+ System.out.println(factory.toGeometry(itemEnv));
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/valid/QuadtreeNestedRingTester.java b/modules/core/src/test/java/test/jts/perf/operation/valid/QuadtreeNestedRingTester.java
new file mode 100644
index 0000000..31752c9
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/valid/QuadtreeNestedRingTester.java
@@ -0,0 +1,100 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.valid;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Tests whether any of a set of {@link LinearRing}s are
+ * nested inside another ring in the set, using a {@link Quadtree}
+ * index to speed up the comparisons.
+ *
+ * @version 1.7
+ */
+public class QuadtreeNestedRingTester
+{
+
+ private GeometryGraph graph; // used to find non-node vertices
+ private List rings = new ArrayList();
+ private Envelope totalEnv = new Envelope();
+ private Quadtree quadtree;
+ private Coordinate nestedPt;
+
+ public QuadtreeNestedRingTester(GeometryGraph graph)
+ {
+ this.graph = graph;
+ }
+
+ public Coordinate getNestedPoint() { return nestedPt; }
+
+ public void add(LinearRing ring)
+ {
+ rings.add(ring);
+ totalEnv.expandToInclude(ring.getEnvelopeInternal());
+ }
+
+ public boolean isNonNested()
+ {
+ buildQuadtree();
+
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing innerRing = (LinearRing) rings.get(i);
+ Coordinate[] innerRingPts = innerRing.getCoordinates();
+
+ List results = quadtree.query(innerRing.getEnvelopeInternal());
+//System.out.println(results.size());
+ for (int j = 0; j < results.size(); j++) {
+ LinearRing searchRing = (LinearRing) results.get(j);
+ Coordinate[] searchRingPts = searchRing.getCoordinates();
+
+ if (innerRing == searchRing)
+ continue;
+
+ if (! innerRing.getEnvelopeInternal().intersects(searchRing.getEnvelopeInternal()))
+ continue;
+
+ Coordinate innerRingPt = IsValidOp.findPtNotNode(innerRingPts, searchRing, graph);
+ Assert.isTrue(innerRingPt != null, "Unable to find a ring point not a node of the search ring");
+ //Coordinate innerRingPt = innerRingPts[0];
+
+ boolean isInside = PointLocation.isInRing(innerRingPt, searchRingPts);
+ if (isInside) {
+ nestedPt = innerRingPt;
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ private void buildQuadtree()
+ {
+ quadtree = new Quadtree();
+
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing ring = (LinearRing) rings.get(i);
+ Envelope env = ring.getEnvelopeInternal();
+ quadtree.insert(env, ring);
+ }
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/valid/SweeplineNestedRingTester.java b/modules/core/src/test/java/test/jts/perf/operation/valid/SweeplineNestedRingTester.java
new file mode 100644
index 0000000..58102c1
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/valid/SweeplineNestedRingTester.java
@@ -0,0 +1,115 @@
+
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+package test.jts.perf.operation.valid;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.algorithm.PointLocation;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geomgraph.GeometryGraph;
+import org.locationtech.jts.index.sweepline.SweepLineIndex;
+import org.locationtech.jts.index.sweepline.SweepLineInterval;
+import org.locationtech.jts.index.sweepline.SweepLineOverlapAction;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.util.Assert;
+
+/**
+ * Tests whether any of a set of {@link LinearRing}s are
+ * nested inside another ring in the set, using a {@link SweepLineIndex}
+ * index to speed up the comparisons.
+ *
+ * @version 1.7
+ */
+public class SweeplineNestedRingTester
+{
+
+ private GeometryGraph graph; // used to find non-node vertices
+ private List rings = new ArrayList();
+ //private Envelope totalEnv = new Envelope();
+ private SweepLineIndex sweepLine;
+ private Coordinate nestedPt = null;
+
+ public SweeplineNestedRingTester(GeometryGraph graph)
+ {
+ this.graph = graph;
+ }
+
+ public Coordinate getNestedPoint() { return nestedPt; }
+
+ public void add(LinearRing ring)
+ {
+ rings.add(ring);
+ }
+
+ public boolean isNonNested()
+ {
+ buildIndex();
+
+ OverlapAction action = new OverlapAction();
+
+ sweepLine.computeOverlaps(action);
+ return action.isNonNested;
+ }
+
+ private void buildIndex()
+ {
+ sweepLine = new SweepLineIndex();
+
+ for (int i = 0; i < rings.size(); i++) {
+ LinearRing ring = (LinearRing) rings.get(i);
+ Envelope env = ring.getEnvelopeInternal();
+ SweepLineInterval sweepInt = new SweepLineInterval(env.getMinX(), env.getMaxX(), ring);
+ sweepLine.add(sweepInt);
+ }
+ }
+
+ private boolean isInside(LinearRing innerRing, LinearRing searchRing)
+ {
+ Coordinate[] innerRingPts = innerRing.getCoordinates();
+ Coordinate[] searchRingPts = searchRing.getCoordinates();
+
+ if (! innerRing.getEnvelopeInternal().intersects(searchRing.getEnvelopeInternal()))
+ return false;
+
+ Coordinate innerRingPt = IsValidOp.findPtNotNode(innerRingPts, searchRing, graph);
+ Assert.isTrue(innerRingPt != null, "Unable to find a ring point not a node of the search ring");
+
+ boolean isInside = PointLocation.isInRing(innerRingPt, searchRingPts);
+ if (isInside) {
+ nestedPt = innerRingPt;
+ return true;
+ }
+ return false;
+ }
+
+
+ class OverlapAction
+ implements SweepLineOverlapAction
+ {
+ boolean isNonNested = true;
+
+ public void overlap(SweepLineInterval s0, SweepLineInterval s1)
+ {
+ LinearRing innerRing = (LinearRing) s0.getItem();
+ LinearRing searchRing = (LinearRing) s1.getItem();
+ if (innerRing == searchRing) return;
+
+ if (isInside(innerRing, searchRing))
+ isNonNested = false;
+ }
+
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/operation/valid/ValidStressTest.java b/modules/core/src/test/java/test/jts/perf/operation/valid/ValidStressTest.java
new file mode 100644
index 0000000..d924b3d
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/operation/valid/ValidStressTest.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.operation.valid;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.util.AffineTransformation;
+import org.locationtech.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Stress-tests {@link IsValidOp}
+ * by running it on an invalid MultiPolygon with many intersections.
+ * In JTS 1.14 and earlier this takes a very long time to run,
+ * since all intersections are computed before the invalid result is returned.
+ * In fact it is only necessary to detect a single intersection in order
+ * to determine invalidity, and this provides much faster performance.
+ *
+ * @author mdavis
+ *
+ */
+public class ValidStressTest
+{
+ public static void main(String args[]) {
+ (new ValidStressTest()).runComb();
+ (new ValidStressTest()).runStarCrossPoly();
+ (new ValidStressTest()).runStarCrossRing();
+ }
+
+ public ValidStressTest() {
+ }
+
+ public static int SIZE = 10000;
+
+ static GeometryFactory geomFact = new GeometryFactory();
+
+ public void runComb()
+ {
+ int size = 400;
+ Envelope env = new Envelope(0,100,0,100);
+ Geometry geom = Comb.crossedComb(env, size, geomFact);
+ System.out.println(geom);
+ checkValid("Crossed combs (size = " + size + " )", geom);
+ }
+
+ public void runStarCrossPoly()
+ {
+ int size = 1000;
+ Envelope env = new Envelope(0,100,0,100);
+ Polygon geom = StarCross.star(env, size, geomFact);
+ //System.out.println(geom);
+ checkValid("StarCross " + geom.getGeometryType() + " (size = " + size + " )", geom);
+ }
+
+ public void runStarCrossRing()
+ {
+ int size = 1000;
+ Envelope env = new Envelope(0,100,0,100);
+ Polygon poly = StarCross.star(env, size, geomFact);
+ Geometry geom = poly.getBoundary();
+ //System.out.println(geom);
+ checkValid("StarCross " + geom.getGeometryType() + " (size = " + size + " )", geom);
+ }
+
+ public void checkValid(String name, Geometry g)
+ {
+ System.out.println("Running " + name);
+ Stopwatch sw = new Stopwatch();
+ boolean isValid = g.isValid();
+ System.out.println("Is Valid = " + isValid
+ + " Time: " + sw.getTimeString() );
+ }
+
+
+}
+
+class StarCross
+{
+ public static Polygon star(Envelope env, int nSeg, GeometryFactory geomFact)
+ {
+ Coordinate[] pts = new Coordinate[nSeg + 1];
+ Coordinate centre = env.centre();
+ double len = 0.5 * Math.min(env.getHeight(), env.getWidth());
+ double angInc = Math.PI + 2 * Math.PI / nSeg;
+
+ double ang = 0;
+ for (int i = 0; i < nSeg; i++) {
+ double x = centre.x + len * Math.cos(ang);
+ double y = centre.x + len * Math.sin(ang);
+ pts[i] = new Coordinate(x, y);
+ ang += angInc;
+ }
+ pts[nSeg] = new Coordinate(pts[0]);
+ return geomFact.createPolygon(pts);
+ }
+}
+
+/**
+ * Creates comb-like geometries.
+ * Crossed combs provide a geometry with a very high ratio of intersections to edges.
+ *
+ * @author Martin Davis
+ *
+ */
+class Comb
+{
+
+ public static MultiPolygon crossedComb(Envelope env, int size, GeometryFactory geomFact) {
+ Polygon comb1 = comb(env, size, geomFact);
+ Coordinate centre = env.centre();
+ AffineTransformation trans = AffineTransformation.rotationInstance(0.5 * Math.PI, centre.x, centre.y);
+ Polygon comb2 = (Polygon) trans.transform(comb1);
+ MultiPolygon mp = geomFact.createMultiPolygon(new Polygon[] { comb1, comb2 } );
+ return mp;
+ }
+
+ public static Polygon comb(Envelope env, int nArms, GeometryFactory geomFact)
+ {
+ int npts = 4 * (nArms - 1) + 2 + 2 + 1;
+ Coordinate[] pts = new Coordinate[npts];
+ double armWidth = env.getWidth() / (2 * nArms - 1);
+ double armLen = env.getHeight() - armWidth;
+
+ double xBase = env.getMinX();
+ double yBase = env.getMinY();
+
+ int ipts = 0;
+ for (int i = 0; i < nArms; i++) {
+ double x1 = xBase + i * 2 * armWidth;
+ double y1 = yBase + armLen + armWidth;
+ pts[ipts++] = new Coordinate(x1, y1);
+ pts[ipts++] = new Coordinate(x1 + armWidth, y1);
+ if (i < nArms - 1) {
+ pts[ipts++] = new Coordinate(x1 + armWidth, yBase + armWidth);
+ pts[ipts++] = new Coordinate(x1 + 2 * armWidth, yBase + armWidth);
+ }
+ }
+ pts[ipts++] = new Coordinate(env.getMaxX(), yBase);
+ pts[ipts++] = new Coordinate(xBase, yBase);
+ pts[ipts++] = new Coordinate(pts[0]);
+
+ return geomFact.createPolygon(pts);
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayPerfTest.java b/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayPerfTest.java
new file mode 100644
index 0000000..192ec66
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayPerfTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.triangulate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.triangulate.DelaunayTriangulationBuilder;
+import org.locationtech.jts.util.Memory;
+import org.locationtech.jts.util.Stopwatch;
+
+public class DelaunayPerfTest
+{
+ public static void main(String args[]) {
+ DelaunayPerfTest test = new DelaunayPerfTest();
+ test.run();
+ }
+
+ public void run()
+ {
+ run(10);
+ run(10);
+ run(100);
+ run(1000);
+ run(10000);
+ run(20000);
+ run(30000);
+ run(100000);
+ run(200000);
+ run(300000);
+ run(1000000);
+// run(2000000);
+ run(3000000);
+ }
+
+ final static GeometryFactory geomFact = new GeometryFactory();
+
+ final static double SIDE_LEN = 10.0;
+
+ public void run(int nPts)
+ {
+ List pts = randomPoints(nPts);
+ System.out.println("# pts: " + pts.size());
+ Stopwatch sw = new Stopwatch();
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(pts);
+
+// Geometry g = builder.getEdges(geomFact);
+ // don't actually form output geometry, to save time and memory
+ builder.getSubdivision();
+
+ System.out.println(" -- Time: " + sw.getTimeString()
+ + " Mem: " + Memory.usedTotalString());
+// System.out.println(g);
+ }
+
+ List randomPointsInGrid(int nPts)
+ {
+ List pts = new ArrayList();
+
+ int nSide = (int) Math.sqrt(nPts) + 1;
+
+ for (int i = 0; i < nSide; i++) {
+ for (int j = 0; j < nSide; j++) {
+ double x = i * SIDE_LEN + SIDE_LEN * Math.random();
+ double y = j * SIDE_LEN + SIDE_LEN * Math.random();
+ pts.add(new Coordinate(x, y));
+ }
+ }
+ return pts;
+ }
+
+ List randomPoints(int nPts)
+ {
+ List pts = new ArrayList();
+
+ for (int i = 0; i < nPts; i++) {
+ double x = SIDE_LEN * Math.random();
+ double y = SIDE_LEN * Math.random();
+ pts.add(new Coordinate(x, y));
+ }
+ return pts;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayRobustTest.java b/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayRobustTest.java
new file mode 100644
index 0000000..98862af
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/triangulate/DelaunayRobustTest.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2016 Martin Davis.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.triangulate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.triangulate.DelaunayTriangulationBuilder;
+import org.locationtech.jts.util.Memory;
+import org.locationtech.jts.util.Stopwatch;
+
+/**
+ * Test robustness of Delaunay computation.
+ * Test dataset is constructed to have many points
+ * with a large base offset. This reduces
+ * the precision available for the arithmetic in the inCircle test.
+ * This causes incorrect values to be computed by using
+ * the simple double-precision approach.
+ *
+ * @author Martin Davis
+ *
+ */
+public class DelaunayRobustTest
+{
+ public static void main(String args[]) {
+ DelaunayRobustTest test = new DelaunayRobustTest();
+ test.run();
+ }
+
+ public void run()
+ {
+ run(100000);
+ }
+
+ final static GeometryFactory geomFact = new GeometryFactory();
+
+ final static double SIDE_LEN = 1.0;
+ final static double BASE_OFFSET = 1.0e7;
+
+ public void run(int nPts)
+ {
+ System.out.println("Base offset: " + BASE_OFFSET);
+
+
+ List pts = randomPointsInGrid(nPts, BASE_OFFSET, BASE_OFFSET);
+ System.out.println("# pts: " + pts.size());
+ Stopwatch sw = new Stopwatch();
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(pts);
+
+// Geometry g = builder.getEdges(geomFact);
+ // don't actually form output geometry, to save time and memory
+ builder.getSubdivision();
+
+ System.out.println(" -- Time: " + sw.getTimeString()
+ + " Mem: " + Memory.usedTotalString());
+// System.out.println(g);
+ }
+
+ List randomPointsInGrid(int nPts, double basex, double basey)
+ {
+ List pts = new ArrayList();
+
+ int nSide = (int) Math.sqrt(nPts) + 1;
+
+ for (int i = 0; i < nSide; i++) {
+ for (int j = 0; j < nSide; j++) {
+ double x = basex + i * SIDE_LEN + SIDE_LEN * Math.random();
+ double y = basey + j * SIDE_LEN + SIDE_LEN * Math.random();
+ pts.add(new Coordinate(x, y));
+ }
+ }
+ return pts;
+ }
+
+ List randomPoints(int nPts)
+ {
+ List pts = new ArrayList();
+
+ for (int i = 0; i < nPts; i++) {
+ double x = SIDE_LEN * Math.random();
+ double y = SIDE_LEN * Math.random();
+ pts.add(new Coordinate(x, y));
+ }
+ return pts;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/perf/triangulate/VoronoiPerfTest.java b/modules/core/src/test/java/test/jts/perf/triangulate/VoronoiPerfTest.java
new file mode 100644
index 0000000..0725913
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/perf/triangulate/VoronoiPerfTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.perf.triangulate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.triangulate.DelaunayTriangulationBuilder;
+import org.locationtech.jts.util.Stopwatch;
+
+public class VoronoiPerfTest
+{
+ public static void main(String args[]) {
+ VoronoiPerfTest test = new VoronoiPerfTest();
+ test.run();
+ }
+
+ public void run()
+ {
+ run(10);
+ run(100);
+ run(1000);
+ run(10000);
+ run(100000);
+ run(1000000);
+ }
+
+ final static GeometryFactory geomFact = new GeometryFactory();
+
+ final static double SIDE_LEN = 10.0;
+
+ public void run(int nPts)
+ {
+ List pts = randomPoints(nPts);
+ Stopwatch sw = new Stopwatch();
+ DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();
+ builder.setSites(pts);
+
+ Geometry g = builder.getEdges(geomFact);
+ System.out.println("# pts: " + pts.size() + " -- " + sw.getTimeString());
+// System.out.println(g);
+ }
+
+ List randomPoints(int nPts)
+ {
+ List pts = new ArrayList();
+
+ int nSide = (int) Math.sqrt(nPts) + 1;
+
+ for (int i = 0; i < nSide; i++) {
+ for (int j = 0; j < nSide; j++) {
+ double x = i * SIDE_LEN + SIDE_LEN * Math.random();
+ double y = j * SIDE_LEN + SIDE_LEN * Math.random();
+ pts.add(new Coordinate(x, y));
+ }
+ }
+ return pts;
+ }
+}
diff --git a/modules/core/src/test/java/test/jts/util/IOUtil.java b/modules/core/src/test/java/test/jts/util/IOUtil.java
new file mode 100644
index 0000000..692abef
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/util/IOUtil.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.util;
+
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+
+public class IOUtil {
+ public static Geometry read(String wkt)
+ {
+ WKTReader rdr = new WKTReader();
+ try {
+ return rdr.read(wkt);
+ }
+ catch (ParseException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+}
diff --git a/modules/core/src/test/java/test/jts/util/SerializationUtil.java b/modules/core/src/test/java/test/jts/util/SerializationUtil.java
new file mode 100644
index 0000000..9be1f02
--- /dev/null
+++ b/modules/core/src/test/java/test/jts/util/SerializationUtil.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 Vivid Solutions.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ *
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ */
+
+package test.jts.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+public class SerializationUtil
+{
+ public static byte[] serialize(Object obj) throws IOException
+ {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(bos);
+ out.writeObject(obj);
+ out.close();
+ byte[] treeBytes = bos.toByteArray();
+ return treeBytes;
+ }
+
+ public static Object deserialize(byte[] data)
+ throws IOException, ClassNotFoundException
+ {
+ ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(data));
+ return in.readObject();
+ }
+
+}
diff --git a/modules/core/src/test/resources/testdata/africa.wkt b/modules/core/src/test/resources/testdata/africa.wkt
new file mode 100644
index 0000000..081a4db
--- /dev/null
+++ b/modules/core/src/test/resources/testdata/africa.wkt
@@ -0,0 +1,1681 @@
+POLYGON ((0.889 10.9882, 0.903 11.021533, 0.92065 11.063467, 0.94925 11.088867, 1.0037 11.1043, 1.04455 11.1034, 1.0881 11.0807, 1.1072 11.0798, 1.1167 11.090667, 1.1181 11.123367,
+ 1.19025 11.1787, 1.21205 11.235, 1.23925 11.366567, 1.26855 11.384733, 1.30255 11.4038, 1.32025 11.481833, 1.37475 11.5363, 1.45915 11.567167, 1.5286 11.5717, 1.58035 11.5681,
+ 1.60825 11.577133, 1.64365 11.610733, 1.67225 11.617067, 1.6995 11.612533, 1.7621 11.581667, 1.8193 11.578067, 1.8656 11.589867, 1.89285 11.615267, 1.9119 11.615267, 1.95545 11.593467,
+ 1.9786 11.5962, 2.07185 11.6307, 2.1141 11.669733, 2.15495 11.745967, 2.18695 11.877567, 2.24715 11.9283, 2.3303 12, 2.3876 12.0477, 2.5367 12.171867, 2.7051 12.276233,
+ 2.8824 12.330367, 3.05675 12.340233, 3.23105 12.2536, 3.3522 12.164, 3.4172 12.0695, 3.42465 12.0359, 3.43255 12, 3.4508 11.959433, 3.48505 11.9217, 3.6167 11.814233,
+ 3.54555 11.636067, 3.3947 11.4141, 3.3734 11.355267, 3.3819 11.3306, 3.54985 11.220567, 3.6523 11.0005, 3.62955 10.812667, 3.65085 10.778533, 3.77895 10.695067, 3.7989 10.630533,
+ 3.79605 10.579333, 3.77325 10.5262, 3.77895 10.438933, 3.81025 10.361133, 3.7519 10.338367, 3.64085 10.3877, 3.5754 10.3896, 3.5555 10.372533, 3.52985 10.3251, 3.5384 10.245433,
+ 3.5982 10.158133, 3.6067 10.1183, 3.5555 10.05, 3.5612 10.002567, 3.5868 9.941867, 3.58395 9.9115, 3.49995 9.8413, 3.3662 9.778667, 3.3605 9.645867, 3.3121 9.596533,
+ 3.25805 9.499767, 3.20395 9.465633, 3.22245 9.236067, 3.1655 9.1241, 3.07725 9.0691, 2.9435 9.033033, 2.79265 8.9951, 2.75135 8.957133, 2.7286 8.885033, 2.6916 8.646,
+ 2.67165 8.454367, 2.64745 8.321533, 2.66165 8.238067, 2.7556 8.050233, 2.75845 7.962967, 2.75985 7.7998, 2.7741 7.704933, 2.7627 7.5835, 2.79685 7.494333, 2.8495 7.441233,
+ 2.85235 7.412767, 2.8267 7.3919, 2.7755 7.357733, 2.76125 7.3312, 2.81535 7.171833, 2.8011 7.078867, 2.80965 7.014333, 2.7399 6.925167, 2.77975 6.7696, 2.8025 6.669067,
+ 2.7769 6.596967, 2.7171 6.412933, 2.68195 6.327233, 2.66825 6.293867, 2.5589 6.277233, 2.28405 6.2832, 2.20215 6.2723, 2.0178 6.229967, 1.9318 6.221767, 1.8007 6.2177,
+ 1.70445 6.194467, 1.6232 6.189467, 1.59605 6.222, 1.59865 6.246267, 1.62985 6.2653, 1.68705 6.267033, 1.7312 6.2705, 1.7728 6.298233, 1.7689 6.3554, 1.65455 6.497467,
+ 1.60255 6.580633, 1.58695 6.651667, 1.59865 6.778133, 1.58305 6.831833, 1.5181 6.932333, 1.5207 6.953133, 1.56485 6.977367, 1.60125 7.013767, 1.62205 7.055333, 1.61815 7.211267,
+ 1.59735 7.4677, 1.62465 7.737967, 1.62075 8.204033, 1.60645 8.720333, 1.60905 9.099733, 1.5753 9.1552, 1.5064 9.205433, 1.4362 9.271267, 1.405 9.354433, 1.4024 9.508633,
+ 1.4271 9.622967, 1.4141 9.815267, 1.3907 9.936567, 1.3335 10.000667, 1.0541 10.128867, 0.83835 10.2363, 0.77595 10.2952, 0.737 10.357567, 0.7266 10.426867, 0.76295 10.510033,
+ 0.82925 10.633033, 0.902 10.801067, 0.889 10.9882))
+
+POLYGON ((36.584754 14.468884, 36.58645 14.4852, 36.49315 14.922533, 36.3629 15.061867, 36.6652 15.488467, 36.71185 15.5935, 36.7215 15.698567, 36.7987 15.8722, 36.84695 16.048, 36.95465 16.2195,
+ 36.97075 16.373867, 36.93215 16.571067, 37.00125 16.671833, 37.0463 16.764, 37.0302 16.8669, 37.0109 16.918367, 37.06235 17.1563, 37.0961 17.177733, 37.318 17.1713, 37.39195 17.2056,
+ 37.5592 17.3771, 37.72965 17.437133, 37.81005 17.490733, 37.99495 17.467167, 38.17505 17.486433, 38.23935 17.5379, 38.38085 17.702967, 38.5861 18.039133, 38.6481 17.920833, 38.8038 17.645133,
+ 38.8453 17.469233, 38.8705 17.406967, 38.98615 17.292333, 39.04845 17.185633, 39.11665 17.0216, 39.1745 16.8052, 39.20415 16.5779, 39.19375 16.539367, 39.1819 16.521567, 39.1493 16.497867,
+ 39.12555 16.480067, 39.12555 16.454367, 39.1671 16.414833, 39.19675 16.365433, 39.16115 16.207333, 39.19525 16.0838, 39.2427 16.004767, 39.32275 15.9257, 39.40285 15.8664, 39.44585 15.810067,
+ 39.431 15.736933, 39.4162 15.687533, 39.434 15.634167, 39.50815 15.592667, 39.5259 15.5393, 39.53035 15.467167, 39.53035 15.423667, 39.56295 15.3802, 39.5689 15.3387, 39.5689 15.277433,
+ 39.55405 15.2221, 39.53475 15.1816, 39.54365 15.149967, 39.57335 15.1144, 39.60595 15.106467, 39.6801 15.100567, 39.7068 15.124267, 39.7394 15.1895, 39.726946 15.241589, 39.704009 15.273145,
+ 39.6771 15.310033, 39.6623 15.3891, 39.67415 15.4563, 39.7305 15.503733, 39.7928 15.5235, 39.858 15.511633, 39.89655 15.468167, 39.94995 15.428633, 40.03 15.410833, 40.06705 15.348567,
+ 40.073 15.307067, 40.0404 15.273467, 40.0315 15.247767, 40.0315 15.2142, 40.06115 15.176633, 40.08485 15.109433, 40.1353 15.085733, 40.18125 15.041267, 40.2198 15.0057, 40.26725 14.9622,
+ 40.3355 14.916767, 40.38295 14.893033, 40.4452 14.893033, 40.4808 14.916767, 40.4867 14.958267, 40.50155 14.978033, 40.52825 14.98, 40.52825 14.936533, 40.55195 14.9128, 40.5742 14.9217,
+ 40.5742 14.9474, 40.592 14.975067, 40.63055 14.977033, 40.63945 14.9533, 40.67205 14.919733, 40.75805 14.8782, 40.8915 14.777433, 40.94785 14.7458, 41.0665 14.726033, 41.15695 14.683533,
+ 41.3438 14.4938, 41.4624 14.325833, 41.52025 14.182533, 41.51725 14.048167, 41.538 14.000733, 41.57505 13.9879, 41.6166 13.983933, 41.68185 13.9622, 41.6759 13.914767, 41.6996 13.898967,
+ 41.77675 13.956267, 41.839 13.940467, 41.9072 13.9128, 42.011 13.796167, 42.05695 13.737867, 42.0866 13.662767, 42.11925 13.629167, 42.1489 13.611367, 42.2171 13.587667, 42.26455 13.5758,
+ 42.2705 13.5521, 42.2853 13.5244, 42.30605 13.528367, 42.33275 13.5758, 42.34465 13.577767, 42.35055 13.5521, 42.35945 13.510567, 42.3535 13.439433, 42.25415 13.270467, 42.2482 13.197333,
+ 42.26305 13.159767, 42.2927 13.147933, 42.32535 13.147933, 42.3728 13.1242, 42.42025 13.112333, 42.44545 13.1232, 42.4573 13.170633, 42.484 13.1904, 42.5374 13.178533, 42.5611 13.125167,
+ 42.5967 13.0402, 42.62635 13.004633, 42.67975 12.9809, 42.7153 12.951267, 42.7153 12.911733, 42.7094 12.8722, 42.7094 12.850467, 42.73905 12.8465, 42.77165 12.8307, 42.77165 12.803033,
+ 42.7776 12.7635, 42.8295 12.758567, 42.89475 12.774367, 42.89475 12.8139, 42.89475 12.861333, 42.9066 12.936433, 42.94515 12.966067, 42.99855 12.9404, 43.02525 12.875167, 43.0282 12.760533,
+ 43.0529 12.718233, 42.87835 12.6094, 42.69825 12.4422, 42.5986 12.399333, 42.3461 12.382167, 42.266909 12.344214, 42.193592 12.478586, 42.144215 12.593971, 42.040972 12.691829, 41.946707 12.763397,
+ 41.87339 12.913835, 41.759673 13.115393, 41.663912 13.281897, 41.538225 13.476153, 41.40356 13.611985, 41.268896 13.744897, 41.083358 13.883651, 40.86191 14.010719, 40.59707 14.127565, 40.282853 14.223963,
+ 39.958163 14.346649, 39.633471 14.441587, 39.275859 14.517535, 39.091824 14.573428, 38.960152 14.677459, 38.822496 14.729474, 38.64294 14.66012, 38.397552 14.6659, 38.277852 14.700576, 38.212016 14.833504,
+ 38.200044 14.954874, 38.140192 15.018448, 38.086328 15.134038, 37.990568 15.238068, 37.876852 15.128258, 37.721236 14.735254, 37.649416 14.619664, 37.523728 14.521413, 37.398044 14.567649, 37.314252 14.735254,
+ 37.218492 14.76993, 37.146668 14.712136, 37.019483 14.510233, 36.934195 14.510233, 36.802523 14.543827, 36.687307 14.526299, 36.584754 14.468884))
+
+POLYGON ((-16.7495 13.105767, -16.7016 13.1502, -16.58965 13.210167, -16.515 13.218967, -16.31525 13.190433, -15.83665 13.179467, -15.77735 13.278967, -15.7159 13.346267, -15.63685 13.372567, -15.52705 13.376967,
+ -15.4041 13.366, -15.27895 13.358667, -15.2241 13.387933, -15.19995 13.4845, -15.1692 13.499133, -15.13625 13.506433, -15.0748 13.490333, -14.96285 13.416467, -14.684 13.3053, -14.44035 13.2241,
+ -14.2801 13.208, -14.06055 13.229933, -13.87395 13.3338, -13.86705 13.389267, -13.8563 13.390633, -13.83685 13.413333, -13.8271 13.4401, -13.92005 13.504967, -13.9705 13.5174, -14.0539 13.508633,
+ -14.22515 13.453033, -14.28225 13.451567, -14.38545 13.4801, -14.4535 13.581067, -14.493 13.604467, -14.5523 13.608833, -14.6489 13.6103, -14.72135 13.646867, -14.7367 13.6776, -14.7367 13.701,
+ -14.7411 13.730267, -14.7806 13.755867, -14.9321 13.7983, -14.96285 13.7983, -15.11435 13.744167, -15.2614 13.7493, -15.3492 13.731733, -15.37995 13.6776, -15.43705 13.6308, -15.55995 13.617633,
+ -15.7268 13.630067, -16.1088 13.599367, -16.37665 13.6096, -16.5277 13.599967, -16.5377 13.6013, -16.5657 13.589333, -16.59365 13.589333, -16.61765 13.606633, -16.60965 13.6559, -16.48375 13.733167,
+ -16.48575 13.7518, -16.5057 13.7558, -16.57765 13.7345, -16.6636 13.666567, -16.69955 13.6506, -16.72555 13.6506, -16.73555 13.666567, -16.72755 13.7145, -16.6896 13.753133, -16.56765 13.774433,
+ -16.4797 13.8277, -16.44775 13.891633, -16.4877 13.955567, -16.4717 13.9902, -16.3818 14.076767, -16.3558 14.110067, -16.3558 14.122033, -16.3778 14.1247, -16.3978 14.115367, -16.46575 14.043433,
+ -16.5317 14.018133, -16.57365 14.018133, -16.6056 14.027467, -16.6136 14.0421, -16.6516 14.0914, -16.68155 14.098033, -16.7715 14.0927, -16.7815 14.0927, -16.79745 14.106033, -16.79345 14.152633,
+ -16.83545 14.212567, -16.83945 14.277833, -16.81745 14.320433, -16.81345 14.3391, -16.82345 14.349733, -16.83945 14.3484, -16.84745 14.337767, -16.8774 14.3311, -16.9054 14.336433, -16.93935 14.454967,
+ -16.96335 14.4776, -17.03725 14.4976, -17.08325 14.506933, -17.1272 14.5442, -17.1512 14.5522, -17.17715 14.5642, -17.18915 14.594833, -17.31505 14.7027, -17.347 14.7187, -17.373 14.720033,
+ -17.43495 14.696033, -17.4769 14.688067, -17.5229 14.6894, -17.55485 14.7147, -17.55885 14.748, -17.54485 14.787933, -17.5049 14.813267, -17.409 14.8146, -17.35505 14.817267, -17.3031 14.8306,
+ -17.19315 14.8892, -17.05525 15.025067, -16.89335 15.228867, -16.75345 15.413967, -16.66755 15.567133, -16.62755 15.687, -16.5736 15.7749, -16.5456 15.792233, -16.49365 15.7949, -16.4717 15.8029,
+ -16.4577 15.8202, -16.4637 15.850833, -16.49765 15.954733, -16.4537 16.061267, -16.4537 16.0786, -16.4657 16.0879, -16.45315 16.128333, -16.42715 16.141767, -16.38265 16.1479, -16.35745 16.157433,
+ -16.34065 16.177, -16.32555 16.2128, -16.32555 16.219533, -16.3373 16.246367, -16.33645 16.2738, -16.3205 16.289433, -16.2945 16.297267, -16.30375 16.359933, -16.2983 16.380933, -16.2815 16.403867,
+ -16.2815 16.443033, -16.27395 16.4587, -16.26385 16.464833, -16.2177 16.4643, -16.2026 16.471567, -16.19085 16.516867, -16.1728 16.5278, -16.15265 16.527233, -16.1468 16.520533, -16.12075 16.4724,
+ -16.09725 16.465133, -16.0712 16.4657, -16.04185 16.479133, -15.9936 16.4895, -15.9256 16.4895, -15.88445 16.506833, -15.85215 16.5138, -15.8303 16.510467, -15.77825 16.496467, -15.7388 16.499833,
+ -15.68925 16.520533, -15.63175 16.528667, -15.6015 16.528667, -15.57715 16.535367, -15.552 16.568367, -15.5369 16.574533, -15.518 16.5737, -15.5012 16.5709, -15.4542 16.541833, -15.4223 16.541833,
+ -15.3501 16.553, -15.3102 16.547133, -15.28755 16.531467, -15.259 16.524767, -15.23385 16.524767, -15.21535 16.531467, -15.20025 16.549367, -15.21075 16.5927, -15.20825 16.614533, -15.18975 16.620667,
+ -15.14695 16.620133, -15.06385 16.5692, -15.0311 16.5692, -14.98285 16.5969, -14.95595 16.6221, -14.92995 16.624867, -14.91315 16.624867, -14.8586 16.594667, -14.83805 16.592167, -14.79855 16.592733,
+ -14.75155 16.586567, -14.73225 16.5877, -14.6827 16.599433, -14.64535 16.595233, -14.62015 16.5902, -14.5748 16.592433, -14.5026 16.618733, -14.46525 16.624633, -14.42495 16.6207, -14.4006 16.609533,
+ -14.33345 16.567567, -14.3087 16.564467, -14.2768 16.565033, -14.2516 16.561667, -14.24655 16.5477, -14.26085 16.499033, -14.25665 16.4839, -14.2432 16.476633, -14.23395 16.478333, -14.21465 16.5007,
+ -14.19785 16.506867, -14.1861 16.505733, -14.16635 16.4926, -14.08995 16.381833, -14.07235 16.334833, -14.03245 16.2618, -14.00055 16.233833, -13.9544 16.222633, -13.91915 16.211467, -13.90865 16.201133,
+ -13.90615 16.183233, -13.91035 16.1424, -13.90195 16.1161, -13.88685 16.107133, -13.8675 16.1077, -13.823 16.115533, -13.8037 16.1133, -13.7987 16.105467, -13.8012 16.0596, -13.79825 16.049267,
+ -13.77725 16.047033, -13.7588 16.0504, -13.6975 16.090667, -13.66645 16.097367, -13.63875 16.097367, -13.6081 16.0786, -13.59635 16.078033, -13.58545 16.080833, -13.53425 16.109933, -13.5183 16.1105,
+ -13.50735 16.109367, -13.49055 16.092033, -13.48005 16.067667, -13.4935 16.0235, -13.49265 16.0123, -13.48675 16.0067, -13.46915 16.0067, -13.4305 16.019567, -13.4045 16.018467, -13.38685 16.0011,
+ -13.32475 15.9228, -13.31675 15.862133, -13.3151 15.8515, -13.2832 15.831333, -13.2807 15.818467, -13.29075 15.7922, -13.30375 15.777967, -13.3172 15.727033, -13.35245 15.689, -13.35245 15.678367,
+ -13.3365 15.6655, -13.29705 15.658233, -13.28825 15.645633, -13.2849 15.630533, -13.29075 15.597533, -13.2874 15.575133, -13.2681 15.565633, -13.22445 15.560033, -13.2043 15.5494, -13.2001 15.533167,
+ -13.19925 15.513033, -13.17195 15.4831, -13.1199 15.470767, -13.08635 15.4758, -13.0343 15.503233, -13.01875 15.504067, -13.002 15.496233, -12.9726 15.467133, -12.9558 15.461533, -12.9491 15.461533,
+ -12.9029 15.464333, -12.892 15.460433, -12.88865 15.447567, -12.88195 15.415667, -12.8723 15.401433, -12.75645 15.3466, -12.73795 15.3108, -12.6918 15.277767, -12.68465 15.255667, -12.69055 15.231033,
+ -12.72665 15.200267, -12.73585 15.177333, -12.73335 15.167833, -12.7468 15.1376, -12.76235 15.118867, -12.76235 15.108233, -12.74975 15.0898, -12.58435 15.003067, -12.49075 14.9435, -12.41185 14.878033,
+ -12.3879 14.843067, -12.37115 14.8302, -12.3342 14.8218, -12.28045 14.8162, -12.22925 14.787667, -12.06345 14.681667, -12.0443 14.669667, -12.0774 13.866767, -12.08985 13.4798, -12.08155 13.416433,
+ -11.9989 13.344833, -11.8625 13.325567, -11.7385 13.336567, -11.5194 13.096933, -11.4905 12.988133, -11.57315 12.756767, -11.5649 12.7237, -11.5401 12.6824, -11.4326 12.610767, -11.4946 12.489567,
+ -11.5446 12.514, -11.5989 12.5405, -11.65525 12.5593, -11.89875 12.5608, -12.0047 12.526233, -12.16255 12.409833, -12.3204 12.288167, -12.3497 12.283667, -12.39255 12.294167, -12.43765 12.354267,
+ -12.6135 12.422633, -12.78935 12.494733, -12.84575 12.502267, -12.87955 12.497733, -12.95395 12.4617, -13.0306 12.4617, -13.0802 12.4737, -13.1208 12.5736, -13.38685 12.657733, -13.65065 12.672033,
+ -14.0497 12.6683, -14.57955 12.667533, -15.1049 12.671267, -15.2447 12.638233, -15.5333 12.494733, -15.73395 12.460167, -15.9549 12.450433, -16.1533 12.450433, -16.53885 12.349767, -16.68635 12.347633,
+ -16.69685 12.376567, -16.69685 12.402467, -16.7115 12.474533, -16.7295 12.495833, -16.7535 12.510467, -16.76745 12.5238, -16.7615 12.538433, -16.70355 12.579733, -16.67955 12.582367, -16.6416 12.5704,
+ -16.60165 12.530433, -16.57565 12.530433, -16.55165 12.5411, -16.5337 12.573067, -16.5097 12.589033, -16.45375 12.5917, -16.4158 12.581067, -16.27195 12.529133, -16.24995 12.529133, -16.23195 12.5398,
+ -16.23395 12.5651, -16.21995 12.575733, -16.0341 12.602367, -15.96615 12.601033, -15.84225 12.559733, -15.69235 12.5331, -15.58645 12.5371, -15.5365 12.549067, -15.48655 12.581033, -15.47455 12.623667,
+ -15.49055 12.663633, -15.49455 12.688933, -15.47455 12.7129, -15.4226 12.7262, -15.36065 12.728867, -15.31665 12.7462, -15.4266 12.752867, -15.49255 12.751533, -15.5325 12.7382, -15.5545 12.699567,
+ -15.5205 12.648967, -15.5325 12.614333, -15.56245 12.573033, -15.6144 12.5664, -15.69835 12.574367, -15.7703 12.573033, -15.83225 12.601, -15.8742 12.601, -15.91815 12.630333, -15.9701 12.635633,
+ -16.19795 12.609, -16.2499 12.615667, -16.2539 12.630333, -16.28385 12.6303, -16.3378 12.608967, -16.3718 12.608967, -16.40775 12.632933, -16.43975 12.691567, -16.4657 12.6982, -16.4897 12.6942,
+ -16.51765 12.666233, -16.54365 12.658267, -16.5876 12.663567, -16.63155 12.662267, -16.65555 12.6756, -16.65755 12.694233, -16.6296 12.7302, -16.4937 12.9766, -16.50365 12.9846, -16.52565 12.985933,
+ -16.5676 12.965967, -16.61755 12.924667, -16.65555 12.903367, -16.7175 12.894033, -16.72945 12.872733, -16.75945 12.860733, -16.77545 12.8181, -16.8154 12.799467, -16.8374 12.8008, -16.8514 12.811467,
+ -16.8494 12.844767, -16.8234 12.872733, -16.7934 12.878033, -16.78945 12.8847, -16.7914 12.894033, -16.8114 12.902033, -16.8274 12.903367, -16.8474 12.908667, -16.8534 12.936633, -16.7415 13.0938,
+ -16.7495 13.105767))
+
+POLYGON ((42.3461 12.382167, 42.266938 12.344161, 42.2657 12.343567, 42.13705 12.1635, 42.1017 12.034867, 42.10725 12, 42.12765 11.958333, 42.1327 11.927067, 42.1238 11.8823, 42.0035 11.5486,
+ 41.88075 11.303167, 41.7882 11.049667, 41.7834 11.014367, 41.8002 10.966267, 41.8615 10.9005, 41.92405 10.881267, 41.989 10.874833, 42.16945 10.8941, 42.3932 10.966267, 42.59165 11.036867,
+ 42.67105 11.0465, 42.7997 11.011167, 42.86465 10.963033, 42.9609 10.990333, 42.9393 10.957, 42.8622 10.8379, 42.78285 10.698333, 42.74675 10.576433, 42.7552 10.411167, 42.81295 10.260367,
+ 42.96335 10.027733, 43.09805 9.913833, 43.2292 9.832, 43.22195 9.806333, 43.20755 9.689233, 43.22435 9.668367, 43.30375 9.625033, 43.3603 9.600967, 43.36755 9.554433, 43.37235 9.471,
+ 43.394 9.4261, 43.4758 9.373133, 43.79935 9.185467, 43.84505 9.118067, 43.8992 9.029833, 43.9377 8.997767, 44.1422 8.909533, 44.4501 8.8277, 44.98295 8.689733, 45.4244 8.582267,
+ 45.92835 8.386567, 46.50215 8.189233, 47.0206 7.9999, 47.38745 8.019133, 47.56305 7.999867, 47.9203 8.030367, 47.954 8.031967, 47.97805 8.023933, 47.97805 8.0047, 47.75675 7.767267,
+ 47.63405 7.650167, 47.3153 7.322867, 47.0278 6.997233, 46.72345 6.676367, 46.436 6.3571, 46.13885 6.039433, 45.8466 5.723367, 45.5278 5.3688, 45.2042 5.0191, 45.0057 4.8426,
+ 44.9287 4.8378, 44.6184 4.8715, 44.14325 4.892333, 43.84375 4.890733, 43.70185 4.8683, 43.4914 4.784867, 43.19065 4.6084, 42.8118 4.2651, 42.7336 4.189667, 42.6951 4.176833,
+ 42.4834 4.176833, 42.20675 4.176833, 42.15675 4.156767, 42.1477 4.153133, 42.0748 4.120267, 41.9603 4.059533, 41.9279 4.028867, 41.91005 3.995667, 41.88275 3.978267, 41.8533 3.9756,
+ 41.8082 3.954933, 41.7791 3.930533, 41.71855 3.892367, 41.6416 3.8792, 41.5369 3.8792, 41.4909 3.890467, 41.45615 3.8886, 41.4261 3.8723, 41.38575 3.861033, 41.3538 3.863533,
+ 41.331 3.837733, 41.3037 3.838433, 41.3015 3.837233, 41.2321 3.8254, 41.19815 3.8249, 41.1773 3.8254, 41.15105 3.8321, 41.1491 3.833767, 41.0832 3.8634, 40.98695 4.0014,
+ 40.9124 4.036667, 40.8402 4.052733, 40.7668 4.0383, 40.5407 3.990167, 40.32175 3.977333, 40.1858 3.986967, 40.03185 4.0335, 39.99335 4.0335, 39.9308 4.015833, 39.8009 3.881067,
+ 39.6265 3.614733, 39.56755 3.5698, 39.4954 3.550567, 39.19705 3.558567, 39.06955 3.5634, 38.57995 3.587467, 38.2684 3.613133, 38.13365 3.653233, 37.8125 3.850567, 37.60075 3.9741,
+ 37.09675 4.2661, 36.59035 4.506767, 36.51215 4.530833, 36.4352 4.542067, 36.3534 4.5212, 36.197 4.474667, 36.0755 4.439367, 35.9793 4.465033, 35.9146 4.5065, 35.9194 4.5434,
+ 35.87855 4.673333, 35.80155 4.7856, 35.7715 4.894667, 35.80275 5.0679, 35.8689 5.262, 35.83765 5.2941, 35.75825 5.319767, 35.6464 5.311767, 35.58625 5.3214, 35.5093 5.348667,
+ 35.43715 5.337433, 35.3914 5.3214, 35.36735 5.313367, 35.35055 5.3214, 35.31205 5.3663, 35.2868 5.497867, 35.18575 5.602133, 35.1497 5.698367, 35.0643 5.890867, 34.9825 6.0208,
+ 34.9043 6.176367, 34.8586 6.307933, 34.8301 6.502633, 34.83485 6.5826, 34.8304 6.5837, 34.7967 6.623, 34.7546 6.645467, 34.72335 6.6511, 34.659 6.668733, 34.63735 6.6888,
+ 34.6025 6.712067, 34.5676 6.723267, 34.5243 6.737733, 34.4822 6.762567, 34.4323 6.8075, 34.40465 6.861233, 34.38055 6.898933, 34.3505 6.919, 34.3096 6.939067, 34.2585 6.983167,
+ 34.2164 7.047333, 34.2224 7.0698, 34.24045 7.088233, 34.23925 7.097067, 34.2272 7.103467, 34.19595 7.1115, 34.1671 7.121133, 34.1328 7.1484, 34.10635 7.194133, 34.0937 7.288767,
+ 34.054 7.3361, 33.9668 7.4147, 33.94395 7.446767, 33.9211 7.4917, 33.85915 7.545433, 33.7052 7.6024, 33.60055 7.6385, 33.55185 7.667367, 33.46645 7.708267, 33.4412 7.709067,
+ 33.38345 7.692233, 33.3498 7.695433, 33.29145 7.7155, 33.1952 7.783667, 33.11345 7.820567, 33.07915 7.862267, 33.0563 7.928833, 33.0563 7.982567, 33.0659 8.006633, 33.1074 8.0307,
+ 33.13625 8.049967, 33.1447 8.0652, 33.1507 8.1029, 33.1543 8.121333, 33.16875 8.1382, 33.21505 8.156633, 33.2307 8.170267, 33.2319 8.1839, 33.20425 8.2168, 33.1826 8.2593,
+ 33.1868 8.284967, 33.2205 8.3323, 33.2265 8.402867, 33.2358 8.419967, 33.2926 8.426067, 33.34645 8.431867, 33.3926 8.453867, 33.455 8.4509, 33.6739 8.4076, 33.74245 8.394767,
+ 33.79775 8.393167, 33.84105 8.4108, 33.88195 8.455733, 33.9373 8.4798, 34.1225 8.526333, 34.17905 8.5632, 34.19585 8.590467, 34.17905 8.730033, 34.1682 8.8247, 34.13935 9.0092,
+ 34.1622 9.1712, 34.155 9.399, 34.1634 9.501667, 34.17545 9.654067, 34.21755 9.833767, 34.34985 10.0696, 34.3679 10.149833, 34.2825 10.470667, 34.26565 10.5573, 34.2873 10.7001,
+ 34.31135 10.7434, 34.35465 10.770667, 34.43525 10.799533, 34.5988 10.797933, 34.6902 10.762633, 34.79365 10.717733, 34.83935 10.7161, 34.91755 10.7546, 34.9825 10.841233, 35.0246 11.0065,
+ 34.99575 11.250333, 35.0234 11.357833, 35.08835 11.431633, 35.12685 11.499, 35.13525 11.651433, 35.1617 11.762133, 35.2916 11.893667, 35.41095 12, 35.42545 12.060667, 35.66665 12.4251,
+ 35.776 12.6309, 35.8853 12.705933, 35.96895 12.7231, 36.16835 12.7488, 36.23425 12.7788, 36.25035 12.838833, 36.23745 13.136833, 36.2278 13.2633, 36.25515 13.3469, 36.55105 13.767067,
+ 36.5494 13.887133, 36.51085 14.107933, 36.5655 14.2837, 36.584754 14.468884, 36.687307 14.526299, 36.802523 14.543827, 36.934195 14.510233, 37.019483 14.510233, 37.146668 14.712136, 37.218492 14.76993,
+ 37.314252 14.735254, 37.398044 14.567649, 37.523728 14.521413, 37.649416 14.619664, 37.721236 14.735254, 37.876852 15.128258, 37.990568 15.238068, 38.086328 15.134038, 38.140192 15.018448, 38.200044 14.954874,
+ 38.212016 14.833504, 38.277852 14.700576, 38.397552 14.6659, 38.64294 14.66012, 38.822496 14.729474, 38.960152 14.677459, 39.091824 14.573428, 39.275859 14.517535, 39.633471 14.441587, 39.958163 14.346649,
+ 40.282853 14.223963, 40.59707 14.127565, 40.86191 14.010719, 41.083358 13.883651, 41.268896 13.744897, 41.40356 13.611985, 41.538225 13.476153, 41.663912 13.281897, 41.759673 13.115393, 41.87339 12.913835,
+ 41.946707 12.763397, 42.040972 12.691829, 42.144215 12.593971, 42.193592 12.478586, 42.266909 12.344214, 42.3461 12.382167))
+
+POLYGON ((-13.33415 9.110133, -13.28415 9.090467, -13.2758 9.0872, -13.2398 9.0897, -13.2057 9.085933, -13.164 9.0657, -13.11285 9.053067, -13.06355 9.054333, -13.02945 9.070767, -12.98585 9.1213,
+ -12.9527 9.214767, -12.92235 9.2691, -12.89585 9.280467, -12.875 9.2792, -12.82195 9.2615, -12.7992 9.2615, -12.78215 9.272867, -12.77835 9.295633, -12.7556 9.315833, -12.7196 9.332233,
+ -12.66275 9.4055, -12.6258 9.5293, -12.5576 9.813533, -12.54815 9.853933, -12.5017 9.894367, -12.3937 9.9171, -12.32355 9.912033, -12.21175 9.877933, -12.17765 9.870367, -12.08005 9.8893,
+ -11.97205 9.9613, -11.8773 9.9954, -11.7058 10.004233, -11.4405 10.008, -11.35715 10.006733, -11.2766 9.9878, -11.15535 9.880433, -10.98005 9.658133, -10.927 9.581067, -10.9175 9.476233,
+ -10.8796 9.414333, -10.7498 9.318333, -10.71 9.2337, -10.7555 9.1238, -10.7593 9.087167, -10.74605 9.058133, -10.69865 9.0354, -10.6134 9.0114, -10.5859 8.982333, -10.61435 8.902767,
+ -10.61625 8.858533, -10.54045 8.727167, -10.55655 8.670333, -10.69675 8.5339, -10.7536 8.411367, -10.84645 8.304, -10.84645 8.277467, -10.8351 8.262333, -10.7669 8.243367, -10.62715 8.260433,
+ -10.5087 8.302133, -10.4201 8.379833, -10.3415 8.430967, -10.2617 8.453, -10.26315 8.419667, -10.27445 8.1585, -10.3199 8.103967, -10.38535 8.074867, -10.48535 8.063967, -10.61355 8.0482,
+ -10.65715 8.020333, -10.69715 7.975467, -10.70805 7.902767, -10.6899 7.8034, -10.70805 7.736733, -10.77985 7.616767, -10.88715 7.502867, -11.0435 7.3768, -11.2153 7.266533, -11.2735 7.247133,
+ -11.3335 7.248367, -11.3644 7.244733, -11.3944 7.222933, -11.4253 7.1793, -11.4544 7.086, -11.4762 7.003567, -11.4926 6.961167, -11.51775 6.938333, -11.5545 6.905, -11.7472 7.0131,
+ -11.8757 7.104067, -12.0158 7.169833, -12.2174 7.285967, -12.32095 7.324933, -12.50795 7.375267, -12.5323 7.389067, -12.5311 7.410167, -12.50305 7.421533, -12.44095 7.4183, -12.3654 7.399633,
+ -12.3386 7.401233, -12.32765 7.416667, -12.3313 7.436967, -12.36785 7.4532, -12.45435 7.470267, -12.4714 7.4857, -12.46775 7.5076, -12.43485 7.529533, -12.33555 7.536, -12.30755 7.549,
+ -12.31 7.5701, -12.36725 7.6091, -12.3989 7.6156, -12.43545 7.608267, -12.48905 7.578233, -12.5134 7.5758, -12.53655 7.584733, -12.5463 7.6156, -12.5707 7.6367, -12.6072 7.6781,
+ -12.5975 7.700833, -12.52925 7.749567, -12.4775 7.765, -12.4665 7.7837, -12.4738 7.7991, -12.5262 7.813733, -12.57615 7.8584, -12.5993 7.861633, -12.61635 7.855967, -12.61515 7.843767,
+ -12.5944 7.804, -12.5944 7.775567, -12.6273 7.760133, -12.7284 7.7431, -12.782 7.752033, -12.8033 7.783733, -12.79845 7.799133, -12.7497 7.834067, -12.75215 7.862467, -12.77895 7.874667,
+ -12.8216 7.868967, -12.8289 7.851933, -12.8557 7.8308, -12.8886 7.8292, -12.9617 7.866533, -12.96535 7.882767, -12.9483 7.8974, -12.86665 7.903067, -12.8435 7.921767, -12.8435 7.9445,
+ -12.8904 7.9705, -12.9099 8.0038, -12.89525 8.054133, -12.8977 8.098, -12.9842 8.209233, -13.02135 8.221433, -13.0506 8.220633, -13.10665 8.195433, -13.1505 8.160533, -13.1797 8.155667,
+ -13.1992 8.162967, -13.20895 8.188133, -13.21445 8.2612, -13.25465 8.3156, -13.3862 8.387867, -13.39655 8.414633, -13.3941 8.4463, -13.3722 8.469033, -13.3271 8.4869, -13.2918 8.483667,
+ -13.21385 8.426833, -13.11515 8.368367, -13.0658 8.364333, -13.04875 8.371633, -13.0512 8.381367, -13.0768 8.399233, -13.15475 8.432533, -13.1584 8.455267, -13.1401 8.476367, -13.0987 8.501567,
+ -12.88065 8.5454, -12.85325 8.549433, -12.84595 8.561633, -12.8569 8.572167, -12.93 8.5933, -12.986 8.598167, -13.06885 8.5795, -13.09445 8.5795, -13.1054 8.5876, -13.09385 8.624933,
+ -13.1048 8.634667, -13.13645 8.639567, -13.17665 8.625733, -13.2059 8.624933, -13.2339 8.617633, -13.24365 8.604633, -13.22785 8.5689, -13.23635 8.5608, -13.2607 8.5616, -13.2851 8.5762,
+ -13.30455 8.640367, -13.2875 8.7232, -13.29115 8.7638, -13.3204 8.809267, -13.3125 8.8458, -13.2881 8.861233, -13.2345 8.870133, -13.159 8.861233, -13.14315 8.868533, -13.13585 8.888833,
+ -13.1602 8.9083, -13.2662 8.9546, -13.28935 9.000867, -13.3204 9.022767, -13.3594 9.033333, -13.3679 9.052, -13.35695 9.077167, -13.33415 9.110133))
+
+POLYGON ((8.34605 4.648367, 8.4068 4.622967, 8.43875 4.622967, 8.47335 4.644267, 8.48135 4.6762, 8.48135 4.732967, 8.49995 4.780867, 8.55585 4.835867, 8.7049 4.9565, 8.83 5.128567,
+ 8.8353 5.233233, 8.838 5.401767, 8.89785 5.513533, 8.88985 5.559667, 8.7861 5.650133, 8.7781 5.682067, 8.8207 5.7353, 8.82335 5.754833, 8.81005 5.786767, 8.82865 5.8098,
+ 8.97505 5.9127, 9.09085 6.0085, 9.184 6.109633, 9.30375 6.210767, 9.38895 6.226733, 9.40755 6.248, 9.41555 6.301233, 9.41555 6.361567, 9.4648 6.391733, 9.5074 6.418367,
+ 9.69635 6.4432, 9.72565 6.4627, 9.7283 6.5248, 9.7203 6.719933, 9.74695 6.766067, 9.78685 6.787367, 9.95055 6.805133, 10.03575 6.8406, 10.08365 6.8956, 10.11025 6.966567,
+ 10.19275 7.138633, 10.23535 7.163467, 10.3338 7.1759, 10.4123 7.183, 10.46285 7.159967, 10.745 6.947067, 10.8541 6.867233, 10.99115 6.831767, 11.06035 6.771467, 11.1269 6.649033,
+ 11.1588 6.551467, 11.21205 6.517767, 11.2839 6.505333, 11.3824 6.5142, 11.47685 6.562067, 11.52745 6.638367, 11.54075 6.748367, 11.52475 6.805133, 11.49285 6.8353, 11.5008 6.856567,
+ 11.57 6.9027, 11.80425 7.021567, 11.8269 7.057067, 11.82955 7.089, 11.7364 7.269933, 11.73245 7.3906, 11.75505 7.4367, 11.87615 7.544933, 11.9827 7.634, 12 7.648467,
+ 12.0589 7.717933, 12.1193 8.010633, 12.15755 8.3691, 12.17725 8.444733, 12.2414 8.551633, 12.34495 8.619033, 12.61005 8.701267, 12.73825 8.806533, 12.84555 9.012067, 12.885 9.1765,
+ 12.86655 9.286667, 12.8838 9.378767, 12.9208 9.4281, 13.16245 9.518533, 13.26235 9.577733, 13.3265 9.655033, 13.35115 9.745467, 13.31295 9.903333, 13.30805 9.960867, 13.3376 10.046367,
+ 13.41285 10.168067, 13.4893 10.289767, 13.56205 10.534767, 13.6533 10.761667, 13.74085 10.883367, 13.8099 11.051067, 13.87155 11.1366, 13.9455 11.184267, 14.0996 11.231967, 14.23025 11.292833,
+ 14.35355 11.427667, 14.3856 11.450667, 14.5089 11.450667, 14.5607 11.475333, 14.58415 11.542767, 14.58415 11.745033, 14.61005 11.8881, 14.6782 12, 14.7131 12.185067, 14.6837 12.267933,
+ 14.6101 12.3355, 14.3223 12.529533, 14.2242 12.6211, 14.19805 12.802033, 14.1408 12.952467, 14.15035 13.158733, 14.19255 13.113933, 14.25035 13.052567, 14.4849 13.0019, 14.52455 12.949067,
+ 14.47465 12.883167, 14.4797 12.8756, 14.50865 12.8613, 14.60725 12.798767, 14.65185 12.791033, 14.7493 12.800967, 14.78725 12.791033, 14.812 12.757467, 14.7988 12.731033, 14.774 12.7035,
+ 14.7707 12.678167, 14.80375 12.653967, 14.883 12.626433, 14.92265 12.5978, 14.9309 12.5642, 14.9193 12.497033, 14.9309 12.448567, 14.94905 12.414433, 14.9424 12.385267, 14.9061 12.3258,
+ 14.9094 12.240467, 14.95895 12.1766, 15.0217 12.149067, 15.0342 12.145533, 15.04495 12.095533, 15.0923 12.036467, 15.09075 12, 15.07065 11.9545, 15.0681 11.927067, 15.0562 11.8089,
+ 15.0784 11.7655, 15.1006 11.726033, 15.1006 11.685567, 15.07325 11.6471, 15.06585 11.621467, 15.07325 11.584933, 15.05625 11.488267, 15.0666 11.444867, 15.074 11.416267, 15.0533 11.359033,
+ 15.04665 11.293933, 15.06735 11.2683, 15.06735 11.2298, 15.0222 11.118333, 15.01775 11.050267, 15.0584 10.911167, 15.04065 10.809533, 15.04065 10.767133, 15.0739 10.714833, 15.13015 10.556,
+ 15.14865 10.530333, 15.17825 10.5165, 15.21675 10.490867, 15.2463 10.454367, 15.2707 10.368533, 15.30025 10.331033, 15.3402 10.308333, 15.4112 10.276767, 15.50075 10.213633, 15.64425 10.0706,
+ 15.7278 10.009433, 15.7506 9.992067, 15.70995 9.959567, 15.6507 9.918133, 15.57675 9.901667, 15.40415 9.9247, 15.31785 9.9658, 15.2426 9.9839, 15.1489 9.9806, 15.10695 9.9658,
+ 15.05025 9.937867, 14.9516 9.937867, 14.7383 9.959233, 14.5065 9.955933, 14.32895 9.886867, 14.16995 9.793133, 14.0886 9.664867, 14.07625 9.559633, 14.0935 9.515233, 14.18355 9.446167,
+ 14.29205 9.349133, 14.4215 9.109067, 14.56205 8.961067, 14.641 8.908467, 14.8148 8.831167, 15.0318 8.7062, 15.14765 8.5993, 15.1982 8.479267, 15.4016 8.178333, 15.57545 7.8774,
+ 15.66915 7.6883, 15.6223 7.6258, 15.5853 7.5732, 15.5532 7.539867, 15.3621 7.341367, 15.28875 7.246733, 15.207 7.010967, 15.16015 6.8971, 15.03985 6.802467, 14.9028 6.661333,
+ 14.82945 6.44, 14.77175 6.292467, 14.64665 6.1898, 14.53605 6.087167, 14.512 6.0262, 14.58655 5.917133, 14.68275 5.766367, 14.6539 5.625233, 14.6058 5.384633, 14.5974 5.3253,
+ 14.64675 5.257933, 14.74055 5.2082, 14.7742 5.139233, 14.7838 4.9981, 14.7706 4.8265, 14.70805 4.720633, 14.70925 4.614767, 14.779 4.483267, 14.8848 4.390233, 15.08805 4.261933,
+ 15.13855 4.188133, 15.165 4.074267, 15.12295 3.987667, 15.1157 3.9235, 15.13735 3.862567, 15.1975 3.723, 15.44165 3.525733, 15.61 3.381367, 15.9648 3.046167, 16.1224 2.8603,
+ 16.2354 2.727, 16.1854 2.7085, 16.1734 2.704067, 16.16025 2.6141, 16.15715 2.5079, 16.1904 2.383633, 16.23835 2.287733, 16.3126 2.226867, 16.32655 2.1939, 16.3157 2.167067,
+ 16.29715 2.155733, 16.27395 2.152633, 16.18575 2.1712, 16.16105 2.170167, 16.1471 2.1609, 16.1386 2.092333, 16.14015 1.865467, 16.1556 1.828367, 16.1788 1.813933, 16.2082 1.805667,
+ 16.21825 1.790733, 16.22135 1.6742, 16.2121 1.656667, 16.19045 1.648433, 16.10535 1.6639, 16.07135 1.664933, 16.06205 1.655667, 15.6703 1.838833, 15.50125 1.9043, 15.46445 1.910667,
+ 15.4372 1.9043, 15.39905 1.890667, 15.37315 1.881567, 15.34655 1.881567, 15.3193 1.8961, 15.24565 1.972467, 15.2184 1.979733, 15.19115 1.979733, 15.16525 1.960633, 15.13935 1.939733,
+ 15.12435 1.9361, 15.08415 1.949733, 15.0283 1.9752, 15.0092 1.978833, 14.96285 1.967, 14.91785 1.951567, 14.8879 1.953367, 14.862 1.961567, 14.7877 2.019733, 14.7509 2.028833,
+ 14.70865 2.0252, 14.6773 2.018833, 14.64595 2.021567, 14.60505 2.0461, 14.57175 2.080133, 14.41785 2.098533, 14.2974 2.091567, 14.1898 2.0844, 13.5926 2.0519, 13.26275 2.052433,
+ 13.21275 2.052533, 13.2155 2.1107, 13.1937 2.161633, 13.1555 2.1907, 13.08055 2.201633, 12.8761 2.198, 12.70435 2.183467, 12.52715 2.192533, 12.34175 2.194367, 12.3295 2.193133,
+ 12.20745 2.2145, 12.07755 2.2526, 12 2.275333, 11.9257 2.2872, 11.86615 2.2939, 11.7994 2.2939, 11.442 2.299667, 11.3903 2.286733, 11.36015 2.2652, 11.36015 2.249433,
+ 11.38815 2.171933, 11.33815 2.174133, 11.11835 2.183733, 10.67895 2.177833, 10.3118 2.169967, 10.08475 2.177833, 9.9388 2.215167, 9.8533 2.262367, 9.74515 2.3175, 9.75225 2.413267,
+ 9.8019 2.536233, 9.8232 2.754967, 9.79305 2.8389, 9.79305 2.896833, 9.82955 2.969767, 9.8817 3.029633, 9.90345 3.060533, 9.90925 3.2131, 9.8904 3.262333, 9.83245 3.320267,
+ 9.65285 3.421667, 9.6488 3.437733, 9.6618 3.449667, 9.6943 3.4594, 9.88945 3.493, 9.95445 3.5212, 9.98535 3.5472, 9.98535 3.562367, 9.9626 3.565633, 9.8618 3.532033,
+ 9.75285 3.5136, 9.69595 3.491933, 9.6683 3.490833, 9.65045 3.502767, 9.65205 3.582967, 9.6 3.6946, 9.6033 3.729267, 9.6293 3.7488, 9.66345 3.7542, 9.71385 3.743367,
+ 9.7317 3.7477, 9.7382 3.7618, 9.7317 3.7889, 9.74475 3.805133, 9.79025 3.826833, 9.7984 3.844167, 9.787 3.8539, 9.7675 3.8539, 9.7317 3.839833, 9.7122 3.845233,
+ 9.6878 3.877767, 9.6864 4.019867, 9.702 4.053933, 9.76445 4.098433, 9.773 4.135333, 9.75735 4.167533, 9.7389 4.1713, 9.7162 4.165633, 9.6892 4.1505, 9.6651 4.123033,
+ 9.6537 4.0672, 9.61115 4.035967, 9.5742 4.025567, 9.5444 4.029333, 9.49185 4.0795, 9.4436 4.0899, 9.4024 4.0795, 9.3797 4.058667, 9.3598 4.0161, 9.36265 3.960233,
+ 9.4081 3.886433, 9.4521 3.8126, 9.44925 3.7899, 9.42085 3.781367, 9.34705 3.782333, 9.28315 3.8022, 9.25665 3.8273, 9.25925 3.842067, 9.31015 3.8673, 9.32055 3.8812,
+ 9.31795 3.889033, 9.2958 3.895133, 9.21095 3.8673, 9.15225 3.8673, 9.12745 3.879467, 9.12095 3.9047, 9.1314 3.9499, 9.11705 3.969033, 9.06615 4.005567, 8.98655 4.0221,
+ 8.9448 4.0621, 8.93305 4.0969, 8.95135 4.163, 8.9448 4.195167, 8.87435 4.2769, 8.85575 4.353167, 8.86775 4.430967, 8.89915 4.470867, 8.9635 4.5497, 8.983 4.597567,
+ 8.9755 4.609533, 8.965 4.610533, 8.90065 4.556667, 8.8797 4.550667, 8.86175 4.557667, 8.8378 4.5876, 8.76595 4.6215, 8.73005 4.6225, 8.7181 4.614533, 8.73005 4.595567,
+ 8.78545 4.536733, 8.77795 4.514767, 8.7465 4.5008, 8.7136 4.5058, 8.6163 4.571633, 8.60285 4.6325, 8.5804 4.652433, 8.56245 4.653433, 8.54895 4.639467, 8.55195 4.607533,
+ 8.5789 4.5477, 8.5669 4.528733, 8.5759 4.519767, 8.6268 4.5068, 8.6238 4.494833, 8.59385 4.478867, 8.5355 4.469867, 8.4816 4.474867, 8.3993 4.5068, 8.36935 4.5078,
+ 8.35905 4.515333, 8.35805 4.5273, 8.372 4.566567, 8.368 4.600467, 8.34605 4.648367))
+
+POLYGON ((41.88075 11.303167, 42.0035 11.5486, 42.1238 11.8823, 42.1327 11.927067, 42.12765 11.958333, 42.10725 12, 42.1017 12.034867, 42.13705 12.1635, 42.2657 12.343567, 42.266938 12.344161,
+ 42.3461 12.382167, 42.5986 12.399333, 42.69825 12.4422, 42.87835 12.6094, 43.0529 12.718233, 43.0697 12.6894, 43.19425 12.551033, 43.25505 12.496667, 43.37365 12.465067, 43.4419 12.271367,
+ 43.4389 12.170567, 43.33045 12, 43.32905 11.968733, 43.32285 11.9469, 43.29475 11.919867, 43.26355 11.903233, 43.1793 11.881367, 43.15435 11.8689, 43.13795 11.851733, 43.11615 11.773733,
+ 43.10365 11.753967, 43.08335 11.7415, 43.02565 11.719667, 42.96635 11.688467, 42.94455 11.683267, 42.91955 11.686367, 42.85715 11.693667, 42.82595 11.690533, 42.76045 11.6718, 42.71755 11.6432,
+ 42.69725 11.616167, 42.69105 11.587033, 42.68325 11.568333, 42.65985 11.5496, 42.62085 11.546467, 42.60835 11.541267, 42.6021 11.5288, 42.61305 11.496567, 42.63645 11.473667, 42.67855 11.460167,
+ 42.70665 11.4612, 42.7347 11.4768, 42.7659 11.510067, 42.8361 11.563133, 42.8751 11.577667, 42.91565 11.578733, 42.9687 11.569367, 43.09665 11.511133, 43.12625 11.5059, 43.1442 11.506433,
+ 43.16135 11.516833, 43.18165 11.528267, 43.19565 11.5293, 43.2097 11.520967, 43.2363 11.455767, 43.2394 11.432867, 43.24565 11.422467, 43.255 11.422467, 43.2846 11.437767, 43.30485 11.4357,
+ 43.2255 11.3176, 43.0403 11.065733, 42.9609 10.990333, 42.86465 10.963033, 42.7997 11.011167, 42.67105 11.0465, 42.59165 11.036867, 42.3932 10.966267, 42.16945 10.8941, 41.989 10.874833,
+ 41.92405 10.881267, 41.8615 10.9005, 41.8002 10.966267, 41.7834 11.014367, 41.7882 11.049667, 41.88075 11.303167))
+
+POLYGON ((11.0154 -3.9324, 11.0654 -3.9047, 11.237 -3.809667, 11.31305 -3.734833, 11.3239 -3.640667, 11.36645 -3.5743, 11.4787 -3.4838, 11.55475 -3.335333, 11.58915 -3.319633, 11.65075 -3.318433,
+ 11.6969 -3.335333, 11.782 -3.592433, 11.8182 -3.740867, 11.8526 -3.767433, 11.90695 -3.772267, 11.96015 -3.7673, 11.9733 -3.755133, 11.985 -3.714, 12 -3.6114, 12.0723 -3.492,
+ 12.09645 -3.436633, 12.1056 -3.379733, 12.08425 -3.2964, 12.044 -3.2299, 12 -3.171633, 11.9645 -3.129433, 11.92245 -3.0921, 11.85955 -3.039, 11.8365 -2.977567, 11.8386 -2.8798,
+ 11.82185 -2.844867, 11.73595 -2.804367, 11.65005 -2.804367, 11.60185 -2.802967, 11.5704 -2.783433, 11.55785 -2.758267, 11.5662 -2.719167, 11.6647 -2.5865, 11.6731 -2.5334, 11.6563 -2.463567,
+ 11.69085 -2.4091, 11.70975 -2.4035, 11.7307 -2.4035, 11.75375 -2.416067, 11.78515 -2.511067, 11.825 -2.522233, 11.9067 -2.509667, 11.92975 -2.4929, 11.94235 -2.464967, 11.9403 -2.428867,
+ 11.94615 -2.416133, 11.9594 -2.406333, 12 -2.402433, 12.02995 -2.403633, 12.29215 -2.406833, 12.5086 -2.4004, 12.57115 -2.374767, 12.5928 -2.328233, 12.5796 -2.2753, 12.52185 -2.183867,
+ 12.392 -2.078, 12.3559 -2.0347, 12.37515 -1.988167, 12.4341 -1.943267, 12.46775 -1.925633, 12.5808 -1.9176, 12.69145 -1.9513, 12.79245 -2.005833, 12.8851 -2.129333, 13.0703 -2.371533,
+ 13.1665 -2.4325, 13.26275 -2.4405, 13.2916 -2.4293, 13.3734 -2.345867, 13.41545 -2.329833, 13.45395 -2.325033, 13.579 -2.333033, 13.64395 -2.334633, 13.67055 -2.315033, 13.68345 -2.328367,
+ 13.74015 -2.2769, 13.78345 -2.232, 13.81235 -2.215933, 13.8412 -2.211133, 13.8761 -2.2368, 13.9555 -2.325, 14.0854 -2.5576, 14.1503 -2.6346, 14.21765 -2.658633, 14.24655 -2.657033,
+ 14.2706 -2.645833, 14.28985 -2.620167, 14.3103 -2.546367, 14.3344 -2.4405, 14.37285 -2.3972, 14.42335 -2.3635, 14.55565 -2.302567, 14.59175 -2.267267, 14.605 -2.214333, 14.59535 -2.013833,
+ 14.59655 -1.933633, 14.6182 -1.891933, 14.6988 -1.672167, 14.72285 -1.462033, 14.7156 -1.437967, 14.65185 -1.383433, 14.4931 -1.226267, 14.4594 -1.178133, 14.46185 -1.141233, 14.528 -1.059433,
+ 14.56885 -0.910267, 14.64105 -0.814033, 14.66145 -0.7258, 14.6735 -0.693733, 14.64945 -0.658433, 14.61335 -0.626367, 14.47385 -0.576633, 14.261 -0.457933, 14.19125 -0.388967, 14.07335 -0.352067,
+ 13.9579 -0.2847, 13.9122 -0.2414, 13.9074 -0.226967, 13.9423 -0.2045, 14.1083 -0.103433, 14.13475 -0.056933, 14.12995 0.013667, 14.154 0.040933, 14.2418 0.084233, 14.2851 0.119533,
+ 14.2851 0.1564, 14.0963 0.337667, 14.11315 0.380967, 14.14685 0.401833, 14.33445 0.454767, 14.3946 0.486833, 14.43905 0.6312, 14.3994 0.9119, 14.4138 1.041833, 14.3477 1.237533,
+ 14.2996 1.359433, 14.23945 1.370667, 13.99305 1.3585, 13.9415 1.355467, 13.89305 1.349033, 13.70285 1.323733, 13.60215 1.291767, 13.4678 1.2198, 13.3599 1.2198, 13.31335 1.259633,
+ 13.36275 1.3217, 13.37365 1.348967, 13.3382 1.458067, 13.25505 1.561667, 13.2387 1.610767, 13.2332 1.679833, 13.24685 1.798, 13.24415 1.838, 13.2046 1.892567, 13.18825 1.945267,
+ 13.19095 2.016167, 13.21275 2.052533, 13.26275 2.052433, 13.5926 2.0519, 14.1898 2.0844, 14.2974 2.091567, 14.41785 2.098533, 14.57175 2.080133, 14.60505 2.0461, 14.64595 2.021567,
+ 14.6773 2.018833, 14.70865 2.0252, 14.7509 2.028833, 14.7877 2.019733, 14.862 1.961567, 14.8879 1.953367, 14.91785 1.951567, 14.96285 1.967, 15.0092 1.978833, 15.0283 1.9752,
+ 15.08415 1.949733, 15.12435 1.9361, 15.13935 1.939733, 15.16525 1.960633, 15.19115 1.979733, 15.2184 1.979733, 15.24565 1.972467, 15.3193 1.8961, 15.34655 1.881567, 15.37315 1.881567,
+ 15.39905 1.890667, 15.4372 1.9043, 15.46445 1.910667, 15.50125 1.9043, 15.6703 1.838833, 16.06205 1.655667, 16.07135 1.664933, 16.10535 1.6639, 16.19045 1.648433, 16.2121 1.656667,
+ 16.22135 1.6742, 16.21825 1.790733, 16.2082 1.805667, 16.1788 1.813933, 16.1556 1.828367, 16.14015 1.865467, 16.1386 2.092333, 16.1471 2.1609, 16.16105 2.170167, 16.18575 2.1712,
+ 16.27395 2.152633, 16.29715 2.155733, 16.3157 2.167067, 16.32655 2.1939, 16.3126 2.226867, 16.23835 2.287733, 16.1904 2.383633, 16.15715 2.5079, 16.16025 2.6141, 16.1734 2.704067,
+ 16.1854 2.7085, 16.2354 2.727, 16.3062 2.776067, 16.4507 2.876167, 16.6479 3.067033, 16.7694 3.249867, 16.89925 3.349333, 17.10485 3.469633, 17.24675 3.562667, 17.444 3.638033,
+ 17.6689 3.681333, 17.8132 3.6653, 17.96955 3.622, 18.07655 3.597933, 18.204 3.599533, 18.5851 3.6279, 18.6351 3.631633, 18.6766 3.385033, 18.691 3.223833, 18.6802 3.1252,
+ 18.6369 3.067433, 18.48175 2.9255, 18.3825 2.7583, 18.31035 2.577867, 18.2454 2.440733, 18.2057 2.383, 18.1985 2.306, 18.1696 2.245867, 18.1155 2.1833, 18.1209 2.121933,
+ 18.13175 1.9078, 18.13895 1.684067, 18.1137 1.5734, 18.0758 1.478333, 17.9423 1.252167, 17.8737 1.086167, 17.8196 0.9731, 17.8214 0.890067, 17.80335 0.733667, 17.79615 0.6639,
+ 17.8142 0.598933, 17.89355 0.485867, 17.9044 0.442533, 17.89355 0.38, 17.84125 0.280133, 17.79435 0.0708, 17.70055 -0.266033, 17.70955 -0.358667, 17.7781 -0.433233, 17.80695 -0.503,
+ 17.7709 -0.5824, 17.6554 -0.760433, 17.5237 -0.8723, 17.4371 -0.946867, 17.23505 -1.1177, 17.06905 -1.1971, 16.89585 -1.310167, 16.76775 -1.424467, 16.7425 -1.496633, 16.6631 -1.73,
+ 16.5765 -1.874367, 16.4484 -1.988667, 16.3329 -2.119767, 16.2824 -2.187133, 16.27155 -2.280967, 16.26795 -2.4614, 16.2704 -2.6797, 16.23865 -2.753933, 16.23065 -2.8012, 16.252 -2.896567,
+ 16.2079 -2.9902, 16.2226 -3.123933, 16.18115 -3.181, 16.19985 -3.415467, 16.1838 -3.4574, 16.12095 -3.523367, 16.0942 -3.554567, 16.0427 -3.7525, 15.96115 -3.8711, 15.91835 -3.919233,
+ 15.6816 -4.0307, 15.5762 -4.121567, 15.47155 -4.205767, 15.40765 -4.265433, 15.3713 -4.2956, 15.3408 -4.323133, 15.31525 -4.338867, 15.29755 -4.346767, 15.2661 -4.353967, 15.23905 -4.358633,
+ 15.195 -4.416533, 15.16615 -4.4156, 15.1387 -4.424767, 15.12355 -4.441233, 15.1387 -4.519067, 15.12355 -4.566667, 15.08785 -4.6033, 14.84135 -4.730567, 14.77955 -4.832167, 14.65185 -4.9109,
+ 14.51385 -4.943867, 14.46385 -4.962533, 14.3319 -4.9203, 14.291 -4.8834, 14.291 -4.814433, 14.32465 -4.745467, 14.3992 -4.686133, 14.4377 -4.638, 14.4305 -4.543367, 14.392 -4.5145,
+ 14.3006 -4.506467, 14.2477 -4.5145, 14.0986 -4.649233, 14.0577 -4.663667, 13.99035 -4.665267, 13.93985 -4.6412, 13.88935 -4.580267, 13.8665 -4.570667, 13.8088 -4.580267, 13.74625 -4.602733,
+ 13.70535 -4.698967, 13.65245 -4.862567, 13.60195 -4.907467, 13.4913 -4.931533, 13.41435 -4.934733, 13.32775 -4.8834, 13.27005 -4.808033, 13.17505 -4.723, 13.0933 -4.710167, 13.06715 -4.711767,
+ 13.04035 -4.7134, 12.92735 -4.6396, 12.79265 -4.524133, 12.75895 -4.4407, 12.7349 -4.424667, 12.69405 -4.4295, 12.6592 -4.463167, 12.6303 -4.553, 12.5341 -4.612333, 12.4355 -4.628367,
+ 12.385 -4.654033, 12.3754 -4.703767, 12.3826 -4.894633, 12.36095 -4.9187, 12.2984 -4.9203, 12.2407 -4.893033, 12.1998 -4.904267, 12.1565 -4.9251, 12.13005 -4.970033, 12.0957 -4.999933,
+ 12 -4.917933, 11.98875 -4.883067, 11.98095 -4.864767, 11.96745 -4.851733, 11.91155 -4.819867, 11.87585 -4.817533, 11.86015 -4.828567, 11.861 -4.844833, 11.88455 -4.880267, 11.87845 -4.8919,
+ 11.8549 -4.895367, 11.8218 -4.8855, 11.79215 -4.8524, 11.78085 -4.7757, 11.77035 -4.7542, 11.739 -4.706, 11.7451 -4.683933, 11.8035 -4.647333, 11.8082 -4.616033, 11.7683 -4.551633,
+ 11.58875 -4.367567, 11.402 -4.213, 11.3902 -4.184867, 11.3733 -4.171367, 11.272 -4.126367, 11.23655 -4.0971, 11.245 -4.082467, 11.29225 -4.054333, 11.30745 -4.0318, 11.3024 -4.007033,
+ 11.2146 -3.906867, 11.1943 -3.895633, 11.169 -3.895633, 11.1538 -3.908, 11.15715 -3.919267, 11.2382 -3.9823, 11.25005 -4.007033, 11.23315 -4.0273, 11.1977 -4.032933, 11.1555 -4.028433,
+ 11.1099 -4.0093, 11.0154 -3.9324))
+
+POLYGON ((-8.5579 7.507933, -8.49635 7.5147, -8.4254 7.502133, -8.3501 7.4761, -8.29945 7.4645, -8.2647 7.4674, -8.22415 7.496367, -8.22195 7.587067, -8.20455 7.6633, -8.20455 7.725067,
+ -8.24365 7.800367, -8.2444 7.831233, -8.16625 7.972133, -8.12425 8.0088, -8.0866 8.018433, -8.01565 8.0146, -7.9838 8.0223, -7.97515 8.0416, -8.02145 8.090833, -8.0982 8.119767,
+ -8.1583 8.145833, -8.18725 8.197933, -8.21045 8.316633, -8.2003 8.368767, -8.16845 8.3977, -8.1004 8.416033, -8.0027 8.4199, -7.75225 8.352333, -7.71315 8.354267, -7.69145 8.3697,
+ -7.68565 8.392867, -7.7443 8.553067, -7.80655 8.744167, -7.8717 8.7625, -7.9079 8.777933, -7.92815 8.8098, -7.93175 8.8426, -7.8724 8.974833, -7.8246 9.024033, -7.82385 9.070367,
+ -7.92445 9.3319, -8.05475 9.4641, -8.13075 9.593433, -8.15825 9.749767, -8.21395 9.8318, -8.2429 9.8897, -8.24 9.941833, -8.1763 10.0171, -8.01195 10.1136, -7.8657 10.2101,
+ -7.74665 10.318633, -7.7101 10.351967, -7.45735 10.353767, -7.41165 10.341233, -7.35785 10.310767, -7.33095 10.194267, -7.30005 10.1602, -7.20595 10.1315, -7.06885 10.1315, -6.9801 10.151233,
+ -6.87255 10.239033, -6.8228 10.256967, -6.74755 10.256967, -6.7018 10.267733, -6.66415 10.307167, -6.6561 10.3878, -6.6319 10.423667, -6.5835 10.450533, -6.5405 10.4595, -6.40875 10.421867,
+ -6.3469 10.4165, -6.2837 10.429033, -6.238 10.477433, -6.20305 10.486367, -6.17615 10.486367, -6.13855 10.4595, -6.0928 10.3466, -6.1466 10.260567, -6.1466 10.212167, -6.13045 10.187067,
+ -6.0444 10.1602, -5.96645 10.1602, -5.8078 10.1817, -5.72715 10.208567, -5.5873 10.2946, -5.50265 10.376233, -5.46805 10.409567, -5.47015 10.337467, -5.4405 10.305667, -5.3737 10.2583,
+ -5.3 10.2187, -5.23635 10.174167, -5.195 10.163567, -5.1674 10.162867, -5.13135 10.173467, -5.10485 10.174167, -5.07835 10.1678, -5.06985 10.158633, -5.0688 10.136, -5.0773 10.118333,
+ -5.07355 10.1056, -4.97915 10.059667, -4.9569 10.041267, -4.95585 10.025033, -4.9728 9.978367, -4.9728 9.943, -4.95315 9.904133, -4.9171 9.8928, -4.87575 9.888567, -4.8535 9.8822,
+ -4.8397 9.8716, -4.8376 9.836967, -4.8323 9.817167, -4.8026 9.794533, -4.75855 9.783233, -4.73205 9.7684, -4.7151 9.733767, -4.68645 9.718133, -4.5804 9.759667, -4.5114 9.7615,
+ -4.46995 9.7799, -4.32365 9.905067, -4.2463 9.941867, -4.08205 9.963933, -4.013 9.960267, -3.8936 9.895833, -3.8149 9.8986, -3.7707 9.8848, -3.6458 9.7633, -3.5602 9.741233,
+ -3.4967 9.748567, -3.40975 9.8047, -3.3428 9.8185, -3.25305 9.793633, -3.0729 9.666633, -2.82855 9.4872, -2.7816 9.4826, -2.70305 9.501667, -2.65305 9.5138, -2.6242 9.424433,
+ -2.6273 9.325733, -2.6382 9.265467, -2.63665 9.243633, -2.6008 9.2052, -2.57585 9.187533, -2.5743 9.1761, -2.5868 9.1678, -2.6183 9.1522, -2.64795 9.134033, -2.6682 9.113767,
+ -2.6721 9.0878, -2.67055 9.051933, -2.67835 9.041533, -2.7013 9.023867, -2.71455 9.004633, -2.71455 8.983333, -2.699 8.963067, -2.62495 8.9236, -2.60665 8.9028, -2.6012 8.872133,
+ -2.59885 8.815, -2.58135 8.7786, -2.48625 8.704633, -2.5282 8.600767, -2.5318 8.219133, -2.54075 8.1714, -2.57025 8.1547, -2.63825 8.149933, -2.67405 8.130833, -2.683 8.107,
+ -2.6794 8.0879, -2.6454 8.052133, -2.649 8.035433, -2.69015 7.999667, -2.8029 7.947167, -2.87445 7.882767, -2.9827 7.674033, -3.0167 7.5345, -3.0319 7.3735, -3.0337 7.2244,
+ -3.05605 7.113467, -3.12585 7.0443, -3.24215 6.909533, -3.286 6.8177, -3.2985 6.702, -3.32535 6.6054, -3.3352 6.501633, -3.31015 6.419333, -3.2493 6.2655, -3.1285 5.943467,
+ -3.07395 5.831367, -3.065 5.681067, -3.04255 5.655433, -2.9824 5.6216, -2.9476 5.5704, -2.92585 5.563633, -2.89975 5.5675, -2.86205 5.581033, -2.8403 5.581033, -2.79685 5.5588,
+ -2.7693 5.433167, -2.77385 5.2903, -2.7985 5.299167, -2.82125 5.2903, -2.83645 5.254933, -2.82885 5.2094, -2.7909 5.1045, -2.8023 5.0767, -2.82125 5.064033, -2.8459 5.066567,
+ -2.8668 5.085533, -2.89145 5.089333, -2.93885 5.075433, -2.9673 5.074167, -2.9995 5.0792, -3.009 5.074167, -3.0109 5.059, -2.99005 5.034967, -2.9995 5.0274, -3.03745 5.024867,
+ -3.07915 5.028633, -3.1664 5.074167, -3.1759 5.127233, -3.20055 5.168967, -3.15125 5.263767, -3.09815 5.302967, -3.08865 5.3295, -3.119 5.337067, -3.1607 5.334567, -3.2119 5.320633,
+ -3.23845 5.295367, -3.24415 5.256167, -3.2688 5.2347, -3.3219 5.211933, -3.33515 5.182867, -3.33705 5.1424, -3.3238 5.101967, -3.34465 5.081733, -3.39015 5.060267, -3.39395 5.052667,
+ -3.3826 5.0413, -3.29725 5.014733, -3.2574 5.013467, -3.20055 5.0337, -3.174 5.0337, -3.14555 5.014733, -3.1133 4.989467, -3.119 4.9743, -3.15125 4.973033, -3.2726 4.9806,
+ -3.3276 4.993267, -3.40915 5.026133, -3.5286 5.038767, -3.69465 5.066867, -3.76975 5.103033, -3.81355 5.126667, -3.83025 5.185067, -3.824 5.247633, -3.8511 5.315767, -3.9116 5.350533,
+ -3.96795 5.365833, -3.99085 5.363033, -3.99505 5.351933, -3.97625 5.3394, -3.89285 5.285167, -3.85945 5.2393, -3.87195 5.205933, -3.9137 5.203133, -4.0013 5.214267, -4.0639 5.2115,
+ -4.13065 5.197567, -4.1786 5.198967, -4.2391 5.2115, -4.2808 5.2087, -4.3434 5.189233, -4.42265 5.1948, -4.4606 5.1852, -4.5116 5.167, -4.54435 5.167, -4.56985 5.171867,
+ -4.6008 5.169433, -4.6645 5.1391, -4.6991 5.134267, -4.7191 5.141533, -4.7173 5.152467, -4.6736 5.190067, -4.66995 5.205833, -4.69365 5.215567, -4.72275 5.213133, -4.77375 5.181567,
+ -4.80105 5.176733, -4.8138 5.1658, -4.8156 5.1476, -4.8411 5.128167, -4.8429 5.107567, -4.82835 5.093, -4.79195 5.089367, -4.70455 5.1039, -4.619 5.1039, -4.56985 5.1209,
+ -4.5134 5.124533, -4.44605 5.1306, -4.28585 5.1658, -4.22575 5.170667, -4.17845 5.1561, -4.1386 5.148167, -4.0982 5.156667, -4.06635 5.155267, -4.0366 5.1411, -4.01745 5.126933,
+ -4.03445 5.119867, -4.09395 5.125533, -4.20235 5.129767, -4.3617 5.1156, -4.5933 5.0887, -4.7527 5.061767, -4.8568 5.044767, -4.96305 5.043367, -5.0282 5.0548, -5.0618 5.0548,
+ -5.1488 5.031067, -5.3425 5.013933, -5.4967 5.006033, -5.6252 4.978367, -5.88415 4.920367, -6.11115 4.8541, -6.1726 4.821333, -6.23405 4.7722, -6.32415 4.7449, -6.4593 4.7012,
+ -6.7051 4.630233, -6.9877 4.542833, -7.24575 4.4227, -7.28675 4.381767, -7.3031 4.351733, -7.3318 4.3408, -7.4219 4.327133, -7.5161 4.283467, -7.57795 4.326267, -7.6094 4.364833,
+ -7.61885 4.396733, -7.60625 4.5024, -7.60185 4.601367, -7.61065 4.678533, -7.6421 4.7188, -7.6522 4.752333, -7.64275 4.801, -7.6302 4.905833, -7.6415 4.9419, -7.67045 4.973767,
+ -7.6868 5.003967, -7.69875 5.0434, -7.6912 5.115533, -7.65845 5.176733, -7.63835 5.227067, -7.6094 5.243833, -7.5402 5.2581, -7.5144 5.2715, -7.4955 5.325167, -7.49675 5.3738,
+ -7.52885 5.474467, -7.5389 5.596933, -7.5414 5.6355, -7.5603 5.6741, -7.6188 5.735333, -7.68045 5.8016, -7.7232 5.820033, -7.77355 5.833467, -7.84275 5.8712, -7.87295 5.8947,
+ -7.8767 5.9081, -7.86415 5.939967, -7.86225 5.961767, -7.91385 6.0104, -7.9252 6.0297, -7.9239 6.048133, -7.9 6.087567, -7.8975 6.106867, -7.9189 6.132867, -7.93275 6.163067,
+ -7.9516 6.178133, -7.99815 6.1882, -8.0856 6.189067, -8.18375 6.216767, -8.2567 6.225133, -8.3196 6.236033, -8.3951 6.2738, -8.4807 6.346267, -8.5535 6.374967, -8.60855 6.3798,
+ -8.6737 6.3827, -8.70265 6.392333, -8.7309 6.4184, -8.7179 6.458933, -8.51155 6.6693, -8.3849 6.907667, -8.35305 7.008033, -8.4414 7.132533, -8.45945 7.215533, -8.45075 7.402767,
+ -8.5449 7.464533, -8.5608 7.4867, -8.5579 7.507933))
+
+POLYGON ((25.23535 -17.9038, 25.29585 -17.915833, 25.3419 -17.915167, 25.3877 -17.911767, 25.51715 -17.859267, 25.60115 -17.849933, 25.6746 -17.862767, 25.76205 -17.902433, 25.85215 -17.974167, 25.89415 -17.9835,
+ 25.95885 -17.974167, 26.0568 -17.974167, 26.202 -17.945, 26.2676 -17.939733, 26.35335 -17.9572, 26.45305 -17.9712, 26.5825 -17.9852, 26.6227 -18.0062, 26.6647 -18.058667, 26.7198 -18.0861,
+ 26.7565 -18.0931, 26.788 -18.082633, 26.809 -18.061633, 26.81775 -18.023133, 26.8405 -18.009133, 26.9017 -17.992833, 26.9962 -17.947333, 27.0235 -17.945767, 27.0364 -17.945, 27.0784 -17.963667,
+ 27.11775 -17.9491, 27.21745 -17.8873, 27.2577 -17.830133, 27.3023 -17.689633, 27.3303 -17.633667, 27.38805 -17.566, 27.50085 -17.492533, 27.6548 -17.415567, 27.6828 -17.388733, 27.7125 -17.342667,
+ 27.72125 -17.217867, 27.737 -17.194533, 27.78425 -17.166567, 27.8245 -17.136233, 27.8717 -17.0791, 27.97055 -16.935033, 28.14895 -16.769433, 28.19795 -16.730967, 28.2714 -16.693633, 28.37465 -16.664467,
+ 28.51455 -16.610833, 28.5854 -16.564733, 28.6589 -16.530933, 28.69385 -16.488933, 28.7656 -16.4318, 28.7656 -16.408467, 28.73935 -16.3735, 28.72535 -16.350167, 28.73585 -16.185133, 28.7796 -16.098833,
+ 28.83555 -16.041667, 28.8968 -16.014867, 29.04635 -15.981633, 29.2073 -15.9105, 29.32975 -15.849833, 29.46355 -15.800267, 29.68395 -15.754767, 29.76965 -15.729133, 29.8274 -15.7093, 29.87375 -15.7099,
+ 30.01545 -15.747233, 30.0679 -15.7379, 30.1816 -15.691267, 30.21485 -15.6936, 30.2892 -15.740833, 30.3399 -15.754833, 30.3784 -15.751333, 30.3991 -15.791067, 30.4106 -15.9444, 30.4015 -16.002633,
+ 30.42335 -16.048767, 30.45975 -16.0876, 30.53615 -16.0973, 30.68175 -16.094867, 30.97655 -16.119133, 31.1003 -16.121567, 31.2004 -16.102167, 31.30955 -16.121567, 31.4406 -16.2065, 31.56795 -16.2502,
+ 31.7172 -16.2939, 31.84095 -16.3764, 31.8937 -16.444367, 31.9847 -16.468633, 32.2031 -16.505033, 32.29405 -16.505033, 32.57795 -16.6264, 32.8336 -16.763567, 32.91185 -16.810867, 32.9228 -16.829067,
+ 32.9155 -16.878833, 32.85 -16.971067, 32.7963 -17.015967, 32.7854 -17.036567, 32.81995 -17.086333, 32.9128 -17.223467, 32.95555 -17.3254, 32.9574 -17.449167, 32.9019 -17.6021, 32.89825 -17.647,
+ 32.94285 -17.7647, 32.92645 -17.7914, 32.88095 -17.863, 32.8673 -17.9443, 32.8673 -18.023167, 32.8873 -18.0705, 32.93915 -18.170033, 32.9519 -18.2574, 32.9774 -18.307167, 33.02015 -18.3533,
+ 33.02925 -18.400633, 33.01835 -18.446733, 32.9874 -18.512267, 32.87365 -18.5972, 32.8409 -18.637233, 32.83725 -18.679733, 32.9028 -18.728267, 32.9219 -18.771933, 32.89825 -18.836267, 32.7345 -18.940633,
+ 32.69355 -18.9819, 32.6863 -19.004967, 32.70445 -19.037733, 32.74635 -19.074133, 32.8464 -19.1518, 32.8837 -19.2416, 32.8946 -19.3957, 32.87365 -19.480667, 32.88095 -19.603233, 32.92915 -19.700333,
+ 33.05655 -19.862933, 33.06475 -19.893267, 33.032 -19.945433, 32.98465 -20.078933, 32.90915 -20.233033, 32.8582 -20.3362, 32.7736 -20.4915, 32.7099 -20.547333, 32.67985 -20.558233, 32.5252 -20.569167,
+ 32.4797 -20.580067, 32.43785 -20.610433, 32.41055 -20.656533, 32.42875 -20.773033, 32.4442 -20.989067, 32.39415 -21.0934, 32.37415 -21.157733, 32.39415 -21.206267, 32.4369 -21.2657, 32.426 -21.29,
+ 32.3514 -21.3555, 32.2786 -21.438033, 32.09755 -21.6298, 31.8819 -21.876133, 31.64805 -22.138233, 31.43755 -22.375633, 31.4124 -22.404, 31.38535 -22.465267, 31.2851 -22.423133, 31.1839 -22.4106,
+ 31.07965 -22.388367, 31.00385 -22.3587, 30.9242 -22.310467, 30.8839 -22.3049, 30.85535 -22.307233, 30.81645 -22.316967, 30.78445 -22.322533, 30.6763 -22.3202, 30.5922 -22.332267, 30.523 -22.335967,
+ 30.44025 -22.373067, 30.4138 -22.3791, 30.3721 -22.378633, 30.35125 -22.371667, 30.2744 -22.3253, 30.2445 -22.315567, 30.2111 -22.313233, 30.1861 -22.317867, 30.16105 -22.329467, 30.143 -22.3304,
+ 30.12385 -22.324367, 30.0258 -22.249267, 29.81405 -22.163067, 29.7675 -22.152867, 29.5898 -22.153333, 29.54045 -22.1626, 29.4956 -22.174167, 29.45245 -22.189933, 29.4163 -22.195967, 29.36625 -22.1941,
+ 29.32385 -22.187633, 29.29185 -22.176967, 29.2724 -22.179733, 29.25515 -22.119633, 29.24775 -22.033333, 29.2379 -22.015267, 29.12635 -21.9446, 29.0327 -21.894467, 28.86385 -21.7909, 28.82255 -21.7843,
+ 28.8004 -21.783467, 28.74 -21.751433, 28.63645 -21.7013, 28.57915 -21.689767, 28.50275 -21.669233, 28.43985 -21.636367, 28.39305 -21.6191, 28.29875 -21.619933, 28.2359 -21.635567, 28.2051 -21.639667,
+ 28.17425 -21.635567, 28.12745 -21.6183, 28.0843 -21.6109, 28.0796 -21.610967, 28.0023 -21.543567, 27.95145 -21.4865, 27.78035 -21.212233, 27.73305 -21.0933, 27.72495 -20.714667, 27.7122 -20.6018,
+ 27.694 -20.562967, 27.6394 -20.5326, 27.5211 -20.511967, 27.42375 -20.510767, 27.3637 -20.476767, 27.32365 -20.414867, 27.27455 -20.2474, 27.2336 -20.170933, 27.1735 -20.133333, 27.0407 -20.052,
+ 26.92155 -19.9804, 26.83415 -19.957333, 26.68315 -19.835967, 26.442 -19.6964, 26.3674 -19.6697, 26.32915 -19.6503, 26.3082 -19.6248, 26.30455 -19.5884, 26.3064 -19.5435, 26.28635 -19.5168,
+ 26.16805 -19.397867, 26.0816 -19.280133, 26.01425 -19.1418, 25.8914 -18.930633, 25.82135 -18.700033, 25.7749 -18.640567, 25.5784 -18.471867, 25.4865 -18.380833, 25.37735 -18.2255, 25.28905 -18.081067,
+ 25.2745 -17.954867, 25.23535 -17.9038))
+
+POLYGON ((29.17565 -2.839633, 29.26465 -2.810767, 29.41385 -2.748167, 29.4884 -2.741767, 29.5606 -2.809167, 29.6424 -2.876533, 29.7013 -2.890967, 29.74225 -2.884533, 29.82885 -2.8396, 29.8962 -2.777033,
+ 29.9323 -2.6631, 29.91545 -2.534733, 29.93835 -2.4962, 29.97685 -2.4882, 30.0418 -2.509033, 30.13805 -2.537933, 30.34495 -2.579633, 30.4075 -2.5989, 30.3674 -2.632233, 30.32265 -2.669433,
+ 30.32265 -2.711133, 30.37555 -2.812233, 30.3852 -2.9342, 30.3792 -2.995167, 30.39605 -3.014433, 30.4634 -3.0401, 30.59095 -3.0385, 30.6992 -3.083433, 30.7353 -3.089833, 30.846 -3.0722,
+ 30.86405 -3.078633, 30.8761 -3.097867, 30.8376 -3.158867, 30.852 -3.276, 30.8881 -3.377067, 30.87485 -3.399533, 30.6198 -3.4974, 30.48265 -3.6306, 30.4694 -3.683567, 30.5079 -3.746133,
+ 30.51995 -3.795867, 30.48385 -3.816733, 30.3828 -3.8408, 30.29135 -3.890567, 30.2276 -3.966, 30.1987 -4.026967, 30.21075 -4.081533, 30.1891 -4.1425, 29.993 -4.3559, 29.8462 -4.442567,
+ 29.7295 -4.465033, 29.4937 -4.4506, 29.4215 -4.468233, 29.38275 -4.499667, 29.38595 -4.470133, 29.39605 -4.376467, 29.35495 -4.1641, 29.3001 -4.1072, 29.26655 -4.0422, 29.262 -3.943633,
+ 29.24675 -3.6876, 29.2635 -3.430533, 29.3031 -3.217167, 29.30615 -3.032267, 29.20255 -2.9022, 29.17565 -2.839633))
+
+POLYGON ((19.9902 -24.702467, 19.99175 -24, 20.00905 -23.644733, 19.98905 -23.1083, 19.99815 -22.5864, 19.9836 -22.093633, 20.04545 -22.057233, 20.11645 -22.045067, 20.9828 -22.062067, 20.9737 -21.821733,
+ 20.98645 -21.304667, 20.97735 -20.787633, 20.99375 -20.268167, 20.9792 -20.027867, 20.99195 -19.7463, 20.9865 -19.2268, 20.98105 -18.743767, 20.96285 -18.297133, 20.99925 -18.2753, 21.09755 -18.282567,
+ 21.52525 -18.316567, 21.67085 -18.311733, 21.98755 -18.2753, 22.3279 -18.190333, 22.6009 -18.149067, 22.79385 -18.095667, 23.06865 -18.0083, 23.18515 -18.011, 23.3126 -18.038733, 23.30785 -18.0482,
+ 23.30785 -18.094833, 23.46265 -18.314667, 23.49065 -18.3753, 23.55185 -18.442933, 23.61135 -18.470933, 23.6428 -18.4721, 23.6708 -18.459267, 23.7338 -18.388133, 23.767 -18.3298, 23.795 -18.305333,
+ 23.8571 -18.276767, 23.8903 -18.2476, 23.9603 -18.184633, 24.07225 -18.108833, 24.09675 -18.0785, 24.12735 -18.005633, 24.1798 -17.9765, 24.2218 -17.968333, 24.27955 -17.984633, 24.34775 -17.995133,
+ 24.4667 -18.021967, 24.5253 -18.022567, 24.5988 -17.998067, 24.7125 -17.9176, 24.82095 -17.8418, 24.8664 -17.837133, 24.9049 -17.847633, 24.9294 -17.870933, 24.9469 -17.901267, 24.974 -17.914667,
+ 25.016 -17.912333, 25.1017 -17.926333, 25.13495 -17.922833, 25.18915 -17.8995, 25.21365 -17.8995, 25.23535 -17.9038, 25.2745 -17.954867, 25.28905 -18.081067, 25.37735 -18.2255, 25.4865 -18.380833,
+ 25.5784 -18.471867, 25.7749 -18.640567, 25.82135 -18.700033, 25.8914 -18.930633, 26.01425 -19.1418, 26.0816 -19.280133, 26.16805 -19.397867, 26.28635 -19.5168, 26.3064 -19.5435, 26.30455 -19.5884,
+ 26.3082 -19.6248, 26.32915 -19.6503, 26.3674 -19.6697, 26.442 -19.6964, 26.68315 -19.835967, 26.83415 -19.957333, 26.92155 -19.9804, 27.0407 -20.052, 27.1735 -20.133333, 27.2336 -20.170933,
+ 27.27455 -20.2474, 27.32365 -20.414867, 27.3637 -20.476767, 27.42375 -20.510767, 27.5211 -20.511967, 27.6394 -20.5326, 27.694 -20.562967, 27.7122 -20.6018, 27.72495 -20.714667, 27.73305 -21.0933,
+ 27.78035 -21.212233, 27.95145 -21.4865, 28.0023 -21.543567, 28.0796 -21.610967, 28.0843 -21.6109, 28.12745 -21.6183, 28.17425 -21.635567, 28.2051 -21.639667, 28.2359 -21.635567, 28.29875 -21.619933,
+ 28.39305 -21.6191, 28.43985 -21.636367, 28.50275 -21.669233, 28.57915 -21.689767, 28.63645 -21.7013, 28.74 -21.751433, 28.8004 -21.783467, 28.82255 -21.7843, 28.86385 -21.7909, 29.0327 -21.894467,
+ 29.12635 -21.9446, 29.2379 -22.015267, 29.24775 -22.033333, 29.25515 -22.119633, 29.2724 -22.179733, 29.1837 -22.233033, 29.158 -22.240933, 29.04605 -22.2377, 29.0127 -22.2465, 28.97585 -22.2641,
+ 28.88575 -22.3406, 28.86075 -22.365167, 28.8517 -22.385567, 28.85795 -22.460667, 28.8538 -22.485233, 28.8367 -22.5061, 28.81585 -22.509367, 28.77135 -22.496833, 28.71435 -22.495, 28.68935 -22.502867,
+ 28.5485 -22.572867, 28.49635 -22.589567, 28.4046 -22.601633, 28.35555 -22.6109, 28.3152 -22.6313, 28.27905 -22.660033, 28.06245 -22.897867, 27.8949 -23.010067, 27.8921 -23.022567, 27.9095 -23.045767,
+ 27.91225 -23.068467, 27.8994 -23.095367, 27.8236 -23.171867, 27.8111 -23.201067, 27.7666 -23.2516, 27.74885 -23.258567, 27.7238 -23.2553, 27.69875 -23.2451, 27.6779 -23.247433, 27.66055 -23.2595,
+ 27.5938 -23.345233, 27.5778 -23.4004, 27.54545 -23.420367, 27.36815 -23.4338, 27.3417 -23.449567, 27.16405 -23.681367, 27.1314 -23.686467, 27.0566 -23.6846, 27.02255 -23.695267, 26.95855 -23.780567,
+ 26.969 -23.916367, 26.91475 -23.972, 26.8971 -24, 26.87425 -24.026267, 26.84685 -24.0709, 26.7792 -24.170767, 26.64865 -24.303433, 26.5727 -24.4539, 26.4999 -24.5395, 26.32445 -24.6151,
+ 26.22065 -24.657167, 26.0473 -24.655733, 25.97455 -24.667133, 25.8579 -24.7677, 25.8151 -24.8205, 25.7755 -25.040867, 25.71775 -25.1678, 25.65675 -25.336833, 25.6375 -25.4552, 25.5979 -25.625667,
+ 25.4952 -25.709833, 25.3989 -25.745467, 25.263 -25.771867, 25.01905 -25.783267, 24.84035 -25.815367, 24.64345 -25.836767, 24.45835 -25.810367, 24.2679 -25.773267, 24.0293 -25.7155, 23.856 -25.6114,
+ 23.8089 -25.5643, 23.70725 -25.399567, 23.55745 -25.275467, 23.47825 -25.252633, 23.3595 -25.2776, 23.1862 -25.297567, 23.015 -25.297567, 22.94115 -25.3211, 22.88765 -25.449467, 22.86195 -25.679833,
+ 22.74215 -25.885233, 22.60625 -26.064233, 22.37405 -26.2347, 22.2927 -26.303167, 22.2221 -26.3802, 22.14935 -26.492867, 22.0648 -26.533533, 21.9364 -26.606267, 21.8615 -26.673333, 21.8187 -26.7917,
+ 21.7256 -26.8238, 21.60145 -26.822367, 21.51585 -26.825233, 21.40565 -26.794567, 21.2687 -26.751767, 21.1831 -26.734667, 20.9659 -26.7425, 20.83535 -26.7639, 20.69195 -26.8338, 20.6513 -26.8509,
+ 20.62455 -26.841633, 20.5411 -26.740367, 20.53575 -26.5799, 20.5486 -26.508567, 20.6481 -26.321, 20.74225 -26.178333, 20.77115 -26.054967, 20.7583 -25.9366, 20.6481 -25.7319, 20.5593 -25.4245,
+ 20.39775 -25.151333, 20.3357 -25.054333, 20.2843 -24.8903, 20.19765 -24.8254, 20.03495 -24.729, 19.9902 -24.702467))
+
+POLYGON ((15.5853 7.5732, 15.78875 7.545233, 16.05755 7.532067, 16.35345 7.523867, 16.4003 7.530433, 16.41015 7.548533, 16.4089 7.6143, 16.4459 7.686633, 16.4903 7.731033, 16.54455 7.7442,
+ 16.65055 7.7442, 16.7048 7.7146, 16.76895 7.609367, 16.8232 7.561667, 16.8811 7.561667, 17.3878 7.7672, 17.73055 7.9859, 17.86615 7.9925, 17.99565 8.013867, 18.38035 8.188167,
+ 18.61585 8.276967, 18.8205 8.378933, 18.86465 8.406767, 19.01465 8.490833, 19.0707 8.516233, 19.092 8.574533, 19.1421 8.617467, 19.15165 8.636567, 19.14685 8.6763, 19.09915 8.7304,
+ 18.9858 8.7821, 18.9345 8.8058, 18.9416 8.872133, 18.96055 8.895833, 19.0174 8.949533, 19.143 9.011133, 19.22355 9.0206, 19.3657 9.0127, 19.5671 8.977967, 19.6974 8.9748,
+ 19.87865 8.9819, 20.035 9.011933, 20.15585 9.057733, 20.4141 9.1288, 20.5314 9.165933, 20.5693 9.1754, 20.61195 9.207, 20.65695 9.225933, 20.7138 9.233833, 20.83465 9.243333,
+ 20.87255 9.2528, 20.89625 9.293867, 20.94125 9.3681, 20.9898 9.402067, 21.068 9.439967, 21.1059 9.4842, 21.1438 9.612133, 21.15565 9.6611, 21.1675 9.6848, 21.2244 9.729033,
+ 21.3014 9.793, 21.32745 9.837233, 21.32745 9.8783, 21.32035 9.9162, 21.32745 9.9415, 21.39145 9.9873, 21.5241 10.1105, 21.63665 10.261333, 21.6627 10.3877, 21.69585 10.498267,
+ 21.75155 10.6191, 21.81315 10.694933, 21.93635 10.772333, 22.1306 10.876567, 22.21435 10.900033, 22.2534 10.912733, 22.2816 10.915267, 22.3545 10.924733, 22.4564 10.924733, 22.6317 10.987933,
+ 22.8023 11.0369, 22.858 11.062967, 23.0071 10.810767, 23.0817 10.658367, 23.1743 10.506, 23.3114 10.3151, 23.58925 9.976633, 23.68185 9.811433, 23.68425 9.6831, 23.6229 9.351067,
+ 23.60725 9.182633, 23.4918 9.004567, 23.4978 8.9677, 23.56035 8.871433, 23.56275 8.829733, 23.56035 8.772, 23.582 8.7399, 23.65055 8.707833, 23.8069 8.6886, 24.09315 8.6982,
+ 24.1978 8.694967, 24.22425 8.682133, 24.2411 8.654867, 24.22425 8.597133, 24.18095 8.523333, 24.1665 8.438333, 24.17975 8.378967, 24.28795 8.249033, 24.3457 8.2346, 24.4852 8.1961,
+ 24.53575 8.173633, 24.7414 8.148, 24.85205 8.101467, 24.94105 8.006833, 25.02525 7.9202, 25.06975 7.908967, 25.15155 7.896133, 25.19725 7.8528, 25.3079 7.793467, 25.3127 7.7726,
+ 25.29825 7.7309, 25.2141 7.6539, 25.18645 7.6138, 25.1696 7.482267, 25.18405 7.4486, 25.23935 7.4133, 25.32595 7.3732, 25.4907 7.1839, 25.5773 7.198333, 25.6663 7.199933,
+ 25.6976 7.167867, 25.8876 7.090867, 25.99705 7.005833, 26.12695 6.8358, 26.2869 6.794067, 26.4264 6.6481, 26.43845 6.591967, 26.4072 6.543833, 26.3266 6.4123, 26.33865 6.380233,
+ 26.3988 6.344933, 26.5792 6.234267, 26.6285 6.1701, 26.6285 6.144433, 26.501 6.0578, 26.4986 6.041767, 26.50585 6.028933, 26.8113 5.924667, 27.1204 5.765833, 27.18775 5.753,
+ 27.2527 5.639133, 27.2515 5.5509, 27.1721 5.3985, 27.18415 5.3632, 27.40425 5.1739, 27.45475 5.011867, 27.4848 4.946067, 27.4348 4.955867, 27.3603 4.970467, 27.2829 4.993967,
+ 27.1673 5.022833, 26.9658 5.062333, 26.89465 5.063933, 26.80695 5.0402, 26.74765 5.022833, 26.7097 4.9991, 26.68125 4.995967, 26.5544 5.012567, 26.507 5.014133, 26.42165 4.995167,
+ 26.36475 4.9857, 26.3244 4.990433, 26.25805 4.998333, 26.2272 5.023633, 26.1978 5.0955, 26.17505 5.1327, 26.1466 5.143767, 26.00555 5.144533, 25.90835 5.150867, 25.7495 5.177733,
+ 25.69495 5.2062, 25.6357 5.2536, 25.6286 5.277333, 25.6049 5.313667, 25.56695 5.334233, 25.53375 5.3374, 25.50765 5.329467, 25.49105 5.3121, 25.49345 5.2868, 25.4721 5.264667,
+ 25.4377 5.2528, 25.38075 5.2433, 25.33335 5.255933, 25.30965 5.281233, 25.2907 5.295467, 25.2646 5.287567, 25.2385 5.271767, 25.2243 5.240133, 25.18875 5.187967, 25.1911 5.165833,
+ 25.26225 5.0963, 25.27645 5.075733, 25.2717 5.0473, 25.25035 5.0378, 25.184 5.0299, 25.14605 5.012533, 25.11285 4.9888, 25.07965 4.971433, 25.0346 4.966667, 24.99905 4.979333,
+ 24.94215 5.004633, 24.903 5.010167, 24.8722 5.000667, 24.8414 4.9659, 24.77735 4.921633, 24.74415 4.912133, 24.7015 4.9153, 24.6683 4.9311, 24.58295 5.059167, 24.54265 5.084433,
+ 24.48335 5.098667, 24.43355 5.086033, 24.40985 5.0718, 24.4146 5.041767, 24.4075 5.0212, 24.38025 5.0157, 24.34465 5.028367, 24.3328 5.047333, 24.32095 5.069467, 24.2949 5.075767,
+ 24.23325 5.0584, 24.21425 5.039433, 24.2261 5.0157, 24.25455 5.0078, 24.25455 4.995167, 24.238 4.985667, 24.20005 4.9841, 24.1787 4.9762, 24.1621 4.954067, 24.14075 4.946167,
+ 24.1147 4.947733, 24.10285 4.971467, 24.08625 4.979367, 24.06015 4.9762, 24.00325 4.944567, 23.91555 4.9256, 23.8503 4.886867, 23.7839 4.8426, 23.6606 4.806233, 23.6298 4.7857,
+ 23.56105 4.665567, 23.5136 4.649767, 23.44725 4.640267, 23.3595 4.622867, 23.2848 4.5952, 23.216 4.5936, 23.1686 4.606267, 23.1188 4.648933, 23.0619 4.6837, 22.9884 4.705833,
+ 22.9386 4.705833, 22.84855 4.6695, 22.79875 4.663167, 22.7537 4.645767, 22.72285 4.612567, 22.72285 4.508267, 22.73235 4.460833, 22.70985 4.434767, 22.6079 4.390533, 22.5534 4.332033,
+ 22.5676 4.271967, 22.5439 4.159733, 22.5012 4.110733, 22.423 4.0823, 22.33295 4.076767, 22.1981 4.1135, 22.1115 4.126633, 22.0072 4.1568, 21.8694 4.1673, 21.835 4.187633,
+ 21.79365 4.203367, 21.71885 4.2073, 21.67165 4.192867, 21.5988 4.146967, 21.5575 4.137767, 21.49645 4.1509, 21.42955 4.177133, 21.41185 4.2073, 21.39215 4.224367, 21.3656 4.227633,
+ 21.30065 4.2224, 21.2554 4.231567, 21.14125 4.305067, 21.0369 4.3759, 20.97395 4.3956, 20.92175 4.396233, 20.782 4.377867, 20.7308 4.385733, 20.64815 4.4343, 20.54975 4.476267,
+ 20.51035 4.5104, 20.4602 4.5898, 20.40705 4.648833, 20.33425 4.6987, 20.2496 4.808933, 20.2142 4.8286, 20.1768 4.835167, 20.1394 4.852233, 20.0597 4.913267, 19.90025 5.007733,
+ 19.88255 5.031367, 19.8806 5.083833, 19.83925 5.116667, 19.731 5.1416, 19.6621 5.1416, 19.62075 5.1219, 19.54005 5.0458, 19.484 5.0176, 19.26945 4.9743, 19.21235 4.945433,
+ 19.11 4.843067, 19.0323 4.749267, 18.9024 4.639033, 18.8286 4.465167, 18.84435 4.361533, 18.8089 4.309033, 18.7617 4.2854, 18.7046 4.269667, 18.6554 4.214567, 18.6534 4.135833,
+ 18.70855 3.999367, 18.7223 3.9495, 18.70705 3.902167, 18.6748 3.8602, 18.6315 3.807267, 18.6279 3.7495, 18.6351 3.631633, 18.5851 3.6279, 18.204 3.599533, 18.07655 3.597933,
+ 17.96955 3.622, 17.8132 3.6653, 17.6689 3.681333, 17.444 3.638033, 17.24675 3.562667, 17.10485 3.469633, 16.89925 3.349333, 16.7694 3.249867, 16.6479 3.067033, 16.4507 2.876167,
+ 16.3062 2.776067, 16.2354 2.727, 16.1224 2.8603, 15.9648 3.046167, 15.61 3.381367, 15.44165 3.525733, 15.1975 3.723, 15.13735 3.862567, 15.1157 3.9235, 15.12295 3.987667,
+ 15.165 4.074267, 15.13855 4.188133, 15.08805 4.261933, 14.8848 4.390233, 14.779 4.483267, 14.70925 4.614767, 14.70805 4.720633, 14.7706 4.8265, 14.7838 4.9981, 14.7742 5.139233,
+ 14.74055 5.2082, 14.64675 5.257933, 14.5974 5.3253, 14.6058 5.384633, 14.6539 5.625233, 14.68275 5.766367, 14.58655 5.917133, 14.512 6.0262, 14.53605 6.087167, 14.64665 6.1898,
+ 14.77175 6.292467, 14.82945 6.44, 14.9028 6.661333, 15.03985 6.802467, 15.16015 6.8971, 15.207 7.010967, 15.28875 7.246733, 15.3621 7.341367, 15.5532 7.539867, 15.5853 7.5732))
+
+POLYGON ((41.6499 -1.640967, 41.4069 -1.3738, 41.34435 -1.264733, 41.1038 -0.969533, 41.0148 -0.889333, 41.00755 -0.855633, 41.0172 -0.554067, 41.0124 0.5143, 41.0124 1.218533, 41.0172 1.940433,
+ 41.0148 2.341467, 41.00995 2.586933, 40.9763 2.7249, 40.99555 2.829167, 41.13865 3.002433, 41.4791 3.291233, 41.63665 3.557567, 41.7449 3.735633, 41.89525 3.851167, 42.06125 4.043667,
+ 42.20675 4.176833, 42.4834 4.176833, 42.6951 4.176833, 42.7336 4.189667, 42.8118 4.2651, 43.19065 4.6084, 43.4914 4.784867, 43.70185 4.8683, 43.84375 4.890733, 44.14325 4.892333,
+ 44.6184 4.8715, 44.9287 4.8378, 45.0057 4.8426, 45.2042 5.0191, 45.5278 5.3688, 45.8466 5.723367, 46.13885 6.039433, 46.436 6.3571, 46.72345 6.676367, 47.0278 6.997233,
+ 47.3153 7.322867, 47.63405 7.650167, 47.75675 7.767267, 47.97805 8.0047, 47.97805 8.023933, 47.954 8.031967, 47.9203 8.030367, 47.56305 7.999867, 47.38745 8.019133, 47.0206 7.9999,
+ 46.50215 8.189233, 45.92835 8.386567, 45.4244 8.582267, 44.98295 8.689733, 44.4501 8.8277, 44.1422 8.909533, 43.9377 8.997767, 43.8992 9.029833, 43.84505 9.118067, 43.79935 9.185467,
+ 43.4758 9.373133, 43.394 9.4261, 43.37235 9.471, 43.36755 9.554433, 43.3603 9.600967, 43.30375 9.625033, 43.22435 9.668367, 43.20755 9.689233, 43.22195 9.806333, 43.2292 9.832,
+ 43.09805 9.913833, 42.96335 10.027733, 42.81295 10.260367, 42.7552 10.411167, 42.74675 10.576433, 42.78285 10.698333, 42.8622 10.8379, 42.9393 10.957, 42.9609 10.990333, 43.0403 11.065733,
+ 43.2255 11.3176, 43.30485 11.4357, 43.4281 11.384733, 43.45465 11.364967, 43.464 11.337933, 43.45465 11.2724, 43.46945 11.192833, 43.4913 11.175167, 43.5272 11.169967, 43.5584 11.169967,
+ 43.5818 11.166833, 43.6052 11.146033, 43.64575 11.073233, 43.7144 10.965067, 43.77445 10.863667, 43.81815 10.8148, 43.9757 10.684767, 44.00455 10.637433, 44.0623 10.590633, 44.0857 10.541767,
+ 44.14495 10.463767, 44.19175 10.414867, 44.26275 10.374833, 44.2955 10.3509, 44.32045 10.344667, 44.3977 10.351767, 44.58415 10.3499, 44.7237 10.3556, 44.93585 10.357667, 45.00215 10.365467,
+ 45.0583 10.385233, 45.1644 10.453867, 45.31725 10.521467, 45.33675 10.538633, 45.34455 10.5667, 45.35545 10.580233, 45.382 10.5927, 45.4678 10.6364, 45.5489 10.728967, 45.57545 10.7435,
+ 45.64875 10.757033, 45.7634 10.8085, 45.78525 10.809567, 45.818 10.8002, 45.8524 10.7683, 45.8758 10.7631, 45.9075 10.7658, 45.9481 10.7533, 46.0832 10.726367, 46.15575 10.718567,
+ 46.1916 10.708167, 46.26495 10.668633, 46.31485 10.634333, 46.3601 10.624967, 46.40845 10.6281, 46.5348 10.682167, 46.5855 10.6931, 46.70875 10.773167, 46.78985 10.813733, 46.8663 10.858467,
+ 46.9755 10.892767, 47.09015 10.9172, 47.12605 10.9349, 47.2165 11.019133, 47.2992 11.0784, 47.4474 11.150167, 47.48955 11.1565, 47.56605 11.1409, 47.7087 11.131967, 47.9006 11.1351,
+ 48.1432 11.144967, 48.229 11.146033, 48.26485 11.155367, 48.33585 11.1871, 48.4232 11.235967, 48.4965 11.2599, 48.58075 11.271333, 48.64785 11.310833, 48.68765 11.324867, 48.7126 11.324867,
+ 48.75785 11.298867, 48.79215 11.2843, 48.8374 11.266633, 48.90915 11.236467, 48.96685 11.231267, 49.04175 11.238567, 49.14395 11.2703, 49.23285 11.3202, 49.30305 11.3483, 49.5043 11.3878,
+ 49.54095 11.4112, 49.57215 11.435133, 49.5987 11.465267, 49.6221 11.472567, 49.67355 11.477767, 49.7968 11.487133, 49.93875 11.519367, 49.9988 11.526133, 50.11735 11.521967, 50.17195 11.524033,
+ 50.2297 11.536533, 50.33575 11.593733, 50.39895 11.633767, 50.51125 11.7409, 50.6345 11.827233, 50.6805 11.864167, 50.6774 11.869367, 50.6509 11.8735, 50.6431 11.8839, 50.6493 11.898467,
+ 50.76165 11.9515, 50.8443 11.9692, 50.9161 11.9692, 50.9925 11.955667, 51.13835 11.889633, 51.2023 11.882333, 51.2616 11.880267, 51.2881 11.868833, 51.2975 11.849067, 51.29435 11.827233,
+ 51.2694 11.789767, 51.25225 11.738833, 51.2304 11.710733, 51.17815 11.674867, 51.15475 11.654067, 51.1251 11.5802, 51.09235 11.4502, 51.09935 11.328, 51.09315 11.303033, 51.07755 11.283267,
+ 51.06505 11.276, 51.06195 11.264567, 51.0635 11.214633, 51.0799 11.2006, 51.0939 11.1985, 51.1173 11.202667, 51.13605 11.199567, 51.1485 11.183967, 51.14385 11.171467, 51.09235 11.133,
+ 51.0705 11.1018, 51.0721 10.972833, 51.09005 10.8007, 51.0985 10.7658, 51.12345 10.723133, 51.15165 10.645233, 51.15165 10.630667, 51.14075 10.621333, 51.09705 10.614033, 51.07835 10.600533,
+ 51.069 10.583867, 51.07365 10.570367, 51.0846 10.541233, 51.08305 10.5173, 51.05805 10.492367, 51.05805 10.481967, 51.0791 10.4752, 51.13685 10.4752, 51.16645 10.4856, 51.2507 10.538633,
+ 51.2741 10.541767, 51.29285 10.5376, 51.3989 10.474167, 51.4145 10.453367, 51.41685 10.408133, 51.39345 10.3894, 51.3716 10.387333, 51.3435 10.393567, 51.33415 10.414367, 51.33105 10.449733,
+ 51.3217 10.457, 51.2967 10.455967, 51.26395 10.449733, 51.15165 10.4466, 51.0752 10.429967, 50.9863 10.3998, 50.93715 10.364967, 50.91845 10.3244, 50.9153 10.278633, 50.9356 10.1663,
+ 50.9426 10.074267, 50.9426 10.027467, 50.9317 10.003533, 50.89895 9.978567, 50.8958 9.956733, 50.8896 9.864167, 50.8904 9.730533, 50.8748 9.573467, 50.87715 9.491833, 50.8896 9.465833,
+ 50.91925 9.432533, 50.92395 9.4128, 50.9208 9.383667, 50.8943 9.349333, 50.81005 9.263033, 50.7687 9.2282, 50.74845 9.1949, 50.73595 9.1117, 50.72345 9.0774, 50.66885 9.026433,
+ 50.57135 8.925033, 50.50455 8.865733, 50.47775 8.8231, 50.46685 8.784633, 50.3943 8.662433, 50.38495 8.623967, 50.38185 8.5605, 50.37405 8.5345, 50.34205 8.506933, 50.31085 8.480933,
+ 50.25625 8.406067, 50.1892 8.276067, 50.0839 8.1414, 50.0761 8.124733, 50.06205 8.112267, 50.0215 8.1029, 49.99655 8.089367, 49.9435 8.0353, 49.8413 7.908933, 49.8335 7.878767,
+ 49.83665 7.857967, 49.8725 7.825733, 49.8819 7.804933, 49.8803 7.747733, 49.7953 7.5569, 49.7126 7.427933, 49.62135 7.314067, 49.447 7.1275, 49.33665 6.969267, 49.31635 6.9308,
+ 49.29995 6.9178, 49.275 6.888667, 49.20015 6.755567, 49.19075 6.6817, 49.19155 6.600067, 49.17595 6.545967, 49.1619 6.508533, 49.126 6.4638, 49.0917 6.379567, 49.07375 6.3177,
+ 49.07375 6.2865, 49.0909 6.251133, 49.09405 6.2324, 49.08155 6.199133, 49.0145 6.0972, 48.9248 5.9438, 48.85305 5.800267, 48.8086 5.695733, 48.70095 5.4919, 48.63155 5.375933,
+ 48.60815 5.318733, 48.57695 5.259467, 48.3796 5.021833, 48.25715 4.874667, 48.2322 4.8362, 48.215 4.785233, 48.1409 4.6724, 48.03795 4.5476, 47.9966 4.473233, 47.95135 4.412933,
+ 47.903 4.3817, 47.8796 4.356767, 47.8094 4.240267, 47.7556 4.153433, 47.71815 4.073333, 47.65575 3.9631, 47.5754 3.878333, 47.40535 3.754567, 47.32565 3.6864, 47.2829 3.6334,
+ 47.22365 3.592867, 47.0489 3.4254, 46.9561 3.342733, 46.8188 3.1836, 46.7603 3.111333, 46.6932 3.038533, 46.5263 2.883567, 46.43505 2.770733, 46.26345 2.591833, 46.1675 2.506033,
+ 46.03645 2.3885, 45.91635 2.3022, 45.85005 2.2632, 45.74865 2.188333, 45.63475 2.1259, 45.48345 2.064567, 45.37035 1.9923, 45.11765 1.856033, 45.0108 1.8004, 44.7643 1.6267,
+ 44.6855 1.574167, 44.5139 1.438967, 44.39225 1.347467, 44.21675 1.176367, 44.06855 1.047433, 43.92735 0.938767, 43.85715 0.8701, 43.77605 0.796267, 43.66605 0.704233, 43.60525 0.637667,
+ 43.55375 0.588767, 43.49915 0.546133, 43.4547 0.494667, 43.16295 0.219033, 43.13875 0.1894, 43.0717 0.107233, 42.96095 -0.0051, 42.89775 -0.0701, 42.8525 -0.1304, 42.7699 -0.2448,
+ 42.70285 -0.306167, 42.69345 -0.3249, 42.65445 -0.355067, 42.57095 -0.418, 42.5569 -0.442933, 42.5335 -0.458533, 42.48515 -0.479333, 42.44615 -0.518867, 42.44615 -0.526167, 42.4727 -0.538633,
+ 42.4758 -0.5532, 42.4649 -0.567767, 42.42585 -0.586467, 42.3642 -0.650433, 42.3591 -0.651867, 42.3552 -0.650833, 42.34705 -0.6369, 42.33925 -0.635867, 42.32675 -0.643133, 42.30335 -0.681633,
+ 42.24095 -0.743, 42.1458 -0.842833, 42.14505 -0.853767, 42.16535 -0.861033, 42.1747 -0.872467, 42.16535 -0.888067, 42.16065 -0.905767, 42.16845 -0.916167, 42.18405 -0.9276, 42.1856 -0.938,
+ 42.17625 -0.947367, 42.12165 -0.978567, 42.10135 -1.0056, 42.1045 -1.022233, 42.11385 -1.0342, 42.11385 -1.046667, 42.0998 -1.057067, 42.02805 -1.095567, 41.9828 -1.109067, 41.9672 -1.1174,
+ 41.95005 -1.139233, 41.92665 -1.182933, 41.92975 -1.2318, 41.9204 -1.237, 41.9001 -1.238033, 41.85485 -1.2162, 41.8346 -1.178767, 41.8143 -1.171467, 41.7831 -1.1746, 41.7749 -1.184933,
+ 41.77845 -1.201633, 41.7987 -1.246367, 41.81745 -1.259867, 41.8904 -1.2786, 41.89665 -1.292133, 41.8904 -1.303567, 41.85485 -1.318133, 41.85175 -1.329567, 41.86265 -1.3514, 41.87205 -1.3878,
+ 41.8658 -1.423167, 41.84475 -1.441367, 41.8073 -1.451767, 41.7855 -1.467367, 41.77925 -1.4892, 41.7496 -1.511033, 41.7418 -1.528733, 41.73245 -1.540167, 41.71215 -1.5464, 41.6872 -1.549533,
+ 41.6763 -1.555767, 41.6763 -1.5724, 41.6872 -1.5932, 41.6841 -1.6057, 41.6763 -1.6213, 41.6499 -1.640967))
+
+POLYGON ((8.85395 -1.070633, 8.86415 -1.051167, 8.9137 -1.0337, 8.94725 -1.0084, 8.9589 -0.9744, 8.9458 -0.888867, 8.95485 -0.875933, 8.9884 -0.864167, 9.05195 -0.8677, 9.0696 -0.864167,
+ 9.07665 -0.854733, 9.0837 -0.8324, 9.12255 -0.818267, 9.1402 -0.825333, 9.1826 -0.8571, 9.2073 -0.8571, 9.2214 -0.8465, 9.21965 -0.8312, 9.18785 -0.7971, 9.19495 -0.767667,
+ 9.1561 -0.73, 9.15435 -0.708833, 9.17375 -0.6806, 9.25495 -0.585267, 9.292 -0.395833, 9.3159 -0.247933, 9.3176 -0.1446, 9.31425 -0.0772, 9.2148 0.196867, 9.1939 0.2651,
+ 9.1985 0.300467, 9.2181 0.325067, 9.23885 0.331967, 9.25845 0.327367, 9.2873 0.275867, 9.3161 0.254333, 9.3357 0.2482, 9.3507 0.2313, 9.3634 0.170567, 9.38645 0.1606,
+ 9.41065 0.165967, 9.42565 0.179033, 9.4049 0.234367, 9.41065 0.254333, 9.43715 0.259733, 9.47405 0.253567, 9.5536 0.1921, 9.5543 0.171367, 9.51805 0.0687, 9.49055 0.0334,
+ 9.4876 0.020967, 9.49745 0.019, 9.5151 0.024233, 9.55335 0.056267, 9.5975 0.170067, 9.61315 0.178567, 9.6269 0.1779, 9.6475 0.1341, 9.6632 0.122967, 9.68775 0.1197,
+ 9.7191 0.122967, 9.7299 0.119033, 9.73385 0.109233, 9.7211 0.0759, 9.726 0.056267, 9.7564 0.037967, 9.77895 0.037967, 9.82405 0.056267, 9.8584 0.0857, 9.86035 0.102033,
+ 9.8437 0.1269, 9.8525 0.139333, 9.879 0.147833, 9.94965 0.138667, 10.01 0.144667, 10.04895 0.1543, 10.0968 0.1795, 10.14465 0.186933, 10.19475 0.181, 10.27375 0.160967,
+ 10.29935 0.166167, 10.30825 0.1847, 10.29375 0.2003, 10.26595 0.2092, 10.17915 0.206967, 10.1046 0.206233, 10.0601 0.1973, 10.00665 0.1795, 9.9566 0.180267, 9.87645 0.178767,
+ 9.8108 0.1988, 9.72855 0.2092, 9.68665 0.224233, 9.65765 0.2511, 9.63345 0.260767, 9.5835 0.260767, 9.50615 0.2769, 9.4465 0.308033, 9.3772 0.3768, 9.3401 0.454167,
+ 9.30465 0.475633, 9.24985 0.4907, 9.2305 0.510033, 9.2273 0.5369, 9.2805 0.6035, 9.3482 0.638967, 9.4175 0.652933, 9.5045 0.650767, 9.56255 0.642167, 9.58995 0.6239,
+ 9.5722 0.606733, 9.49325 0.5831, 9.4578 0.554067, 9.4594 0.520767, 9.47875 0.507867, 9.49805 0.514333, 9.50775 0.5401, 9.52065 0.5573, 9.54965 0.560533, 9.59155 0.546567,
+ 9.68505 0.462767, 9.71565 0.450933, 9.72535 0.454167, 9.7221 0.468133, 9.67375 0.5025, 9.6673 0.521833, 9.68505 0.534733, 9.7076 0.527233, 9.7334 0.500367, 9.8027 0.478867,
+ 9.81395 0.484233, 9.81395 0.4982, 9.7205 0.550867, 9.7076 0.598133, 9.7495 0.671167, 9.7382 0.768933, 9.68825 0.851667, 9.6898 0.9074, 9.7073 0.948233, 9.7394 0.967667,
+ 9.8335 0.9319, 9.90995 0.911833, 9.9939 0.913267, 10.12525 0.949133, 10.32875 0.949133, 10.82725 0.957733, 11.12225 0.9563, 11.27725 0.946233, 11.3354 0.962033, 11.3591 0.995033,
+ 11.33435 1.127067, 11.33005 1.286367, 11.3957 1.530367, 11.45385 1.7241, 11.456 1.7887, 11.386 1.932233, 11.3774 2.0327, 11.38815 2.107333, 11.38815 2.171933, 11.36015 2.249433,
+ 11.36015 2.2652, 11.3903 2.286733, 11.442 2.299667, 11.7994 2.2939, 11.86615 2.2939, 11.9257 2.2872, 12 2.275333, 12.07755 2.2526, 12.20745 2.2145, 12.3295 2.193133,
+ 12.34175 2.194367, 12.52715 2.192533, 12.70435 2.183467, 12.8761 2.198, 13.08055 2.201633, 13.1555 2.1907, 13.1937 2.161633, 13.2155 2.1107, 13.21275 2.052533, 13.19095 2.016167,
+ 13.18825 1.945267, 13.2046 1.892567, 13.24415 1.838, 13.24685 1.798, 13.2332 1.679833, 13.2387 1.610767, 13.25505 1.561667, 13.3382 1.458067, 13.37365 1.348967, 13.36275 1.3217,
+ 13.31335 1.259633, 13.3599 1.2198, 13.4678 1.2198, 13.60215 1.291767, 13.70285 1.323733, 13.89305 1.349033, 13.9415 1.355467, 13.99305 1.3585, 14.23945 1.370667, 14.2996 1.359433,
+ 14.3477 1.237533, 14.4138 1.041833, 14.3994 0.9119, 14.43905 0.6312, 14.3946 0.486833, 14.33445 0.454767, 14.14685 0.401833, 14.11315 0.380967, 14.0963 0.337667, 14.2851 0.1564,
+ 14.2851 0.119533, 14.2418 0.084233, 14.154 0.040933, 14.12995 0.013667, 14.13475 -0.056933, 14.1083 -0.103433, 13.9423 -0.2045, 13.9074 -0.226967, 13.9122 -0.2414, 13.9579 -0.2847,
+ 14.07335 -0.352067, 14.19125 -0.388967, 14.261 -0.457933, 14.47385 -0.576633, 14.61335 -0.626367, 14.64945 -0.658433, 14.6735 -0.693733, 14.66145 -0.7258, 14.64105 -0.814033, 14.56885 -0.910267,
+ 14.528 -1.059433, 14.46185 -1.141233, 14.4594 -1.178133, 14.4931 -1.226267, 14.65185 -1.383433, 14.7156 -1.437967, 14.72285 -1.462033, 14.6988 -1.672167, 14.6182 -1.891933, 14.59655 -1.933633,
+ 14.59535 -2.013833, 14.605 -2.214333, 14.59175 -2.267267, 14.55565 -2.302567, 14.42335 -2.3635, 14.37285 -2.3972, 14.3344 -2.4405, 14.3103 -2.546367, 14.28985 -2.620167, 14.2706 -2.645833,
+ 14.24655 -2.657033, 14.21765 -2.658633, 14.1503 -2.6346, 14.0854 -2.5576, 13.9555 -2.325, 13.8761 -2.2368, 13.8412 -2.211133, 13.81235 -2.215933, 13.78345 -2.232, 13.74015 -2.2769,
+ 13.68345 -2.328367, 13.67055 -2.315033, 13.64395 -2.334633, 13.579 -2.333033, 13.45395 -2.325033, 13.41545 -2.329833, 13.3734 -2.345867, 13.2916 -2.4293, 13.26275 -2.4405, 13.1665 -2.4325,
+ 13.0703 -2.371533, 12.8851 -2.129333, 12.79245 -2.005833, 12.69145 -1.9513, 12.5808 -1.9176, 12.46775 -1.925633, 12.4341 -1.943267, 12.37515 -1.988167, 12.3559 -2.0347, 12.392 -2.078,
+ 12.52185 -2.183867, 12.5796 -2.2753, 12.5928 -2.328233, 12.57115 -2.374767, 12.5086 -2.4004, 12.29215 -2.406833, 12.02995 -2.403633, 12 -2.402433, 11.9594 -2.406333, 11.94615 -2.416133,
+ 11.9403 -2.428867, 11.94235 -2.464967, 11.92975 -2.4929, 11.9067 -2.509667, 11.825 -2.522233, 11.78515 -2.511067, 11.75375 -2.416067, 11.7307 -2.4035, 11.70975 -2.4035, 11.69085 -2.4091,
+ 11.6563 -2.463567, 11.6731 -2.5334, 11.6647 -2.5865, 11.5662 -2.719167, 11.55785 -2.758267, 11.5704 -2.783433, 11.60185 -2.802967, 11.65005 -2.804367, 11.73595 -2.804367, 11.82185 -2.844867,
+ 11.8386 -2.8798, 11.8365 -2.977567, 11.85955 -3.039, 11.92245 -3.0921, 11.9645 -3.129433, 12 -3.171633, 12.044 -3.2299, 12.08425 -3.2964, 12.1056 -3.379733, 12.09645 -3.436633,
+ 12.0723 -3.492, 12 -3.6114, 11.985 -3.714, 11.9733 -3.755133, 11.96015 -3.7673, 11.90695 -3.772267, 11.8526 -3.767433, 11.8182 -3.740867, 11.782 -3.592433, 11.6969 -3.335333,
+ 11.65075 -3.318433, 11.58915 -3.319633, 11.55475 -3.335333, 11.4787 -3.4838, 11.36645 -3.5743, 11.3239 -3.640667, 11.31305 -3.734833, 11.237 -3.809667, 11.0654 -3.9047, 11.0154 -3.9324,
+ 10.9343 -3.866367, 10.93765 -3.842733, 10.9917 -3.789833, 10.988 -3.767433, 10.89475 -3.663833, 10.80495 -3.590167, 10.653 -3.510733, 10.64265 -3.495767, 10.65475 -3.487733, 10.6841 -3.488867,
+ 10.8084 -3.557933, 10.90165 -3.6178, 11.05015 -3.664967, 11.1676 -3.7559, 11.2125 -3.770867, 11.2377 -3.768133, 11.24495 -3.7594, 11.23475 -3.742867, 11.18955 -3.7108, 11.0131 -3.608733,
+ 10.7856 -3.520267, 10.6602 -3.420133, 10.50125 -3.259767, 10.3767 -3.0893, 10.31425 -3.0308, 10.2298 -2.975633, 10.00355 -2.8462, 9.89215 -2.791067, 9.882 -2.7753, 9.8854 -2.740433,
+ 9.8702 -2.7224, 9.7959 -2.688633, 9.7672 -2.654867, 9.725 -2.630133, 9.6454 -2.571433, 9.59505 -2.5272, 9.58485 -2.497033, 9.5593 -2.469333, 9.5615 -2.460067, 9.57315 -2.454233,
+ 9.60305 -2.4562, 9.68625 -2.503367, 9.70375 -2.5053, 9.71905 -2.499967, 9.74605 -2.478567, 9.75845 -2.4766, 9.7716 -2.481467, 9.80225 -2.517933, 9.81975 -2.524767, 9.85985 -2.5262,
+ 9.9081 -2.551967, 9.9704 -2.608333, 9.99265 -2.615767, 10.01605 -2.609067, 10.0817 -2.564567, 10.11175 -2.557167, 10.15625 -2.551967, 10.1785 -2.5386, 10.1796 -2.5275, 10.15625 -2.502267,
+ 10.15625 -2.480767, 10.1362 -2.4548, 10.1173 -2.448133, 10.10615 -2.452567, 10.09505 -2.465167, 10.1017 -2.4956, 10.0917 -2.5045, 10.07835 -2.505967, 10.065 -2.498567, 10.0394 -2.470367,
+ 10.02605 -2.466667, 10.01825 -2.4689, 9.9771 -2.5045, 9.9593 -2.505967, 9.9337 -2.4978, 9.9103 -2.454067, 9.89475 -2.4459, 9.83465 -2.4355, 9.7779 -2.404367, 9.7632 -2.4059,
+ 9.705 -2.4463, 9.6808 -2.451167, 9.65655 -2.447133, 9.63955 -2.436633, 9.61655 -2.417233, 9.59595 -2.410767, 9.5511 -2.410767, 9.53535 -2.4035, 9.52565 -2.386533, 9.53655 -2.288767,
+ 9.5014 -2.207967, 9.39355 -2.102133, 9.31795 -2.0351, 9.2903 -1.9929, 9.29265 -1.9714, 9.3122 -1.961433, 9.3329 -1.9622, 9.3686 -1.972933, 9.402 -1.972933, 9.4469 -1.9576,
+ 9.47335 -1.9576, 9.4941 -1.9714, 9.52055 -2.028967, 9.56085 -2.0727, 9.61265 -2.099567, 9.64375 -2.124867, 9.65985 -2.125633, 9.6633 -2.1149, 9.6518 -2.089567, 9.5793 -2.036633,
+ 9.56545 -2.0044, 9.5482 -1.979067, 9.5344 -1.927667, 9.51825 -1.915367, 9.501 -1.9123, 9.463 -1.921533, 9.43425 -1.9177, 9.41235 -1.8962, 9.3928 -1.8916, 9.3778 -1.897733,
+ 9.35135 -1.92, 9.3352 -1.921533, 9.3053 -1.918467, 9.2696 -1.9269, 9.23735 -1.921533, 9.20515 -1.900033, 9.1994 -1.8701, 9.23045 -1.8118, 9.21665 -1.728133, 9.1768 -1.6151,
+ 9.04625 -1.432467, 9.0027 -1.387333, 8.9995 -1.357267, 9.0108 -1.339, 9.0301 -1.3422, 9.04785 -1.371233, 9.1607 -1.5195, 9.1752 -1.5603, 9.19935 -1.578567, 9.259 -1.612967,
+ 9.27835 -1.6452, 9.28155 -1.7236, 9.2993 -1.7365, 9.31865 -1.7365, 9.35085 -1.722533, 9.3702 -1.725767, 9.4105 -1.754767, 9.42985 -1.784867, 9.46205 -1.803133, 9.47495 -1.7999,
+ 9.4782 -1.783767, 9.45725 -1.725767, 9.4669 -1.706433, 9.49755 -1.697833, 9.70545 -1.702133, 9.71995 -1.692467, 9.7135 -1.6817, 9.69095 -1.675267, 9.6007 -1.672033, 9.5604 -1.6613,
+ 9.52975 -1.633367, 9.52655 -1.571067, 9.5088 -1.550633, 9.48785 -1.549567, 9.47015 -1.5614, 9.4266 -1.6237, 9.38955 -1.635533, 9.34765 -1.633367, 9.32185 -1.621567, 9.3009 -1.580733,
+ 9.25575 -1.5571, 9.2493 -1.543133, 9.2606 -1.530233, 9.2896 -1.516267, 9.29605 -1.498, 9.2864 -1.4765, 9.2848 -1.4561, 9.3041 -1.4346, 9.33315 -1.4099, 9.3396 -1.386267,
+ 9.29125 -1.318567, 9.26865 -1.3132, 9.259 -1.322867, 9.259 -1.3433, 9.28155 -1.3895, 9.2622 -1.408833, 9.2429 -1.4099, 9.2155 -1.398067, 9.18325 -1.3809, 9.1671 -1.386267,
+ 9.17035 -1.400233, 9.1607 -1.4228, 9.1397 -1.423867, 9.11875 -1.4142, 9.09945 -1.3884, 9.09945 -1.337933, 9.07525 -1.316433, 9.0269 -1.287433, 9.0156 -1.267, 9.01725 -1.236933,
+ 8.99305 -1.2219, 8.9689 -1.2251, 8.9463 -1.228333, 8.92695 -1.222967, 8.9173 -1.206833, 8.9157 -1.1746, 8.87215 -1.1252, 8.85395 -1.070633))
+
+POLYGON ((9.39555 30.1174, 9.9096 30.424, 10.0956 30.578233, 10.20355 30.735333, 10.32 30.956767, 10.30435 31.0372, 10.1084 31.381667, 10.1084 31.559567, 10.1751 31.630533, 10.2319 31.655133,
+ 10.462 31.702467, 10.6182 31.7157, 10.71615 31.775333, 10.7957 31.847233, 10.89225 32.063, 10.9803 32.129233, 11.1621 32.227667, 11.28845 32.3081, 11.47875 32.363, 11.56965 32.433,
+ 11.59235 32.480333, 11.5526 32.5428, 11.47875 32.673367, 11.4518 32.7538, 11.5143 32.9639, 11.5143 33.0112, 11.47165 33.047167, 11.4745 33.077433, 11.52945 33.125333, 11.569 33.1598,
+ 11.57765 33.155367, 11.71755 33.108767, 11.7495 33.107433, 11.7615 33.108767, 11.7575 33.1234, 11.70355 33.159367, 11.69955 33.172667, 11.69955 33.179333, 11.70955 33.183333, 11.74355 33.176667,
+ 11.9154 33.080767, 11.93535 33.076967, 12 33.064667, 12.13945 33.0489, 12.3345 33.0015, 12.5599 32.936267, 12.67405 32.8918, 12.70965 32.872033, 12.78975 32.8661, 12.88465 32.874,
+ 12.9647 32.8819, 13.0774 32.879933, 13.1708 32.894767, 13.2486 32.944833, 13.26435 32.9435, 13.30425 32.9066, 13.3369 32.886867, 13.39325 32.892767, 13.5445 32.9244, 13.629 32.9333,
+ 13.67945 32.9234, 13.7358 32.8997, 13.96415 32.842367, 14.0902 32.827533, 14.16135 32.791967, 14.22365 32.726733, 14.2859 32.691167, 14.3571 32.6319, 14.45495 32.586433, 14.578 32.559767,
+ 14.6759 32.549867, 14.7441 32.5637, 14.81825 32.565667, 14.8894 32.528133, 14.97095 32.509367, 15.1637 32.507367, 15.2319 32.4797, 15.3268 32.367067, 15.38165 32.223767, 15.33125 32.0716,
+ 15.3253 31.966867, 15.35645 31.819633, 15.4276 31.673367, 15.52845 31.590367, 15.5833 31.5459, 15.6189 31.4787, 15.69305 31.413467, 15.86505 31.3206, 15.98665 31.267233, 16.1097 31.248467,
+ 16.41515 31.2623, 16.68055 31.2633, 16.8496 31.259333, 17.0409 31.214867, 17.34635 31.157567, 17.5139 31.126933, 17.67405 31.067633, 17.89055 30.951033, 18.1115 30.768233, 18.239 30.671367,
+ 18.44955 30.566633, 18.8425 30.3858, 18.98185 30.340333, 19.07525 30.3354, 19.17315 30.365033, 19.51415 30.507333, 19.65205 30.565633, 19.77365 30.640733, 19.9901 30.8186, 20.0924 30.9283,
+ 20.13395 31.029067, 20.12205 31.173367, 20.03755 31.326533, 19.89815 31.561733, 19.81365 31.6892, 19.78695 31.8157, 19.80475 31.9145, 19.92485 32.0914, 20.0494 32.194167, 20.17395 32.3483,
+ 20.2644 32.4402, 20.34745 32.501467, 20.52535 32.576567, 20.62025 32.6082, 20.7641 32.690233, 20.9776 32.846367, 21.08435 32.9096, 21.1837 32.9501, 21.26675 32.954067, 21.38535 32.956033,
+ 21.45355 32.9758, 21.5099 33.015333, 21.59145 33.030167, 21.6715 33.0361, 21.72785 33.014333, 21.81685 33.006433, 21.94435 33.032133, 21.9903 33.021267, 22.05555 33.0094, 22.12375 33.0094,
+ 22.20975 33.0272, 22.29575 33.041033, 22.357 33.037133, 22.4196 33.026367, 22.50485 33.0183, 22.62645 33.008433, 22.8874 32.921467, 23.052 32.823633, 23.1736 32.732733, 23.19435 32.7011,
+ 23.18545 32.639833, 23.14985 32.602267, 23.009 32.4985, 22.9932 32.4607, 22.99115 32.437833, 23.009 32.405633, 23.06535 32.383867, 23.32335 32.387833, 23.50125 32.362133, 23.6347 32.3147,
+ 23.9446 32.1813, 24.12845 32.0983, 24.39385 32.010367, 24.4858 31.9886, 24.5807 31.992567, 24.7809 32.068667, 24.86985 32.094333, 24.91135 32.086433, 24.98255 32.060767, 25.07745 31.959967,
+ 25.1857 31.883867, 25.23905 31.828533, 25.245 31.783067, 25.2298 31.746867, 24.99 31.5927, 24.90915 31.4742, 24.891 31.301833, 24.9415 31.206233, 25.0011 31.019033, 25.0314 30.9423,
+ 25.0294 30.784733, 24.9678 30.611, 24.8607 30.453467, 24.79805 30.2757, 24.78595 30.1922, 24.8223 30.0791, 24.9718 29.812467, 24.96575 29.696667, 24.90915 29.4327, 24.91725 29.365367,
+ 24.93745 29.327667, 25.0142 29.2388, 25.0203 29.106833, 24.99605 28.2746, 25.01325 26.8311, 24.99515 26.312433, 25.01875 25.7419, 25.00345 25.6493, 25.009 25.3455, 25.00065 25.167667,
+ 25.002 24.591533, 25.02285 24.0043, 25.0103 23.793133, 25.02975 23.4134, 25.0172 22.839133, 25.03805 22.5316, 25.0325 22.250033, 25.024404 22.008123, 25.01725 21.794333, 25.02415 21.229333,
+ 25.03385 20.640233, 25.0241 20.117867, 24.2085 20.110433, 24.07375 20.1123, 24.07125 19.6007, 24.02125 19.623867, 23.60315 19.817467, 22.94155 20.107, 21.7537 20.673933, 20.85775 21.107567,
+ 20.6456 21.228767, 20.4244 21.324367, 20.1941 21.4429, 19.69815 21.6853, 18.7426 22.1647, 18.0972 22.4731, 17.40525 22.819167, 16.88305 23.081767, 16.18305 23.44, 16.03155 23.507333,
+ 15.675 23.339, 14.99115 23.064267, 14.8134 22.983467, 14.78115 22.9709, 14.40935 22.8259, 14.2932 22.7707, 14.21845 22.761267, 14.15985 22.7734, 13.871 22.939033, 13.6811 23.057533,
+ 13.4498 23.178733, 13.0407 23.334967, 12.88515 23.355167, 12.6397 23.403633, 12.3973 23.450767, 12.25185 23.481733, 12.0589 23.505967, 12 23.507833, 11.96305 23.473767, 11.7172 23.746833,
+ 11.63185 23.9084, 11.61135 24.1253, 11.48275 24.267133, 11.3006 24.385467, 11.10255 24.458267, 10.8988 24.503, 10.7531 24.516667, 10.67115 24.512133, 10.4993 24.453733, 10.1396 24.6646,
+ 10.0497 24.767, 10.036 24.870133, 10.0383 24.9915, 9.9996 25.112867, 9.896 25.319933, 9.78905 25.464033, 9.5102 25.768167, 9.37815 25.9502, 9.1949 26.208833, 9.47035 26.312,
+ 9.68545 26.469, 9.76515 26.588833, 9.7993 26.698067, 9.8528 27.032567, 9.80725 27.116, 9.6035 27.324567, 9.7765 27.491433, 9.82315 27.740967, 9.89375 27.8957, 9.8767 27.973833,
+ 9.81065 28.0512, 9.71735 28.0982, 9.5466 28.152833, 9.5648 28.347, 9.484 28.576833, 9.47945 28.787667, 9.451 29.202567, 9.484 29.3429, 9.5409 29.456667, 9.55685 29.5871,
+ 9.4988 29.826033, 9.3269 29.986067, 9.3155 30.0422, 9.3451 30.084667, 9.34555 30.084967, 9.39555 30.1174))
+
+POLYGON ((-8.69675 27.406533, -8.6836 27.654233, -8.6702 27.907533, -8.6563 28.420333, -8.6462 28.694833, -8.5729 28.757133, -8.31135 28.928067, -7.7313 29.306133, -7.47605 29.472833, -7.2018 29.655567,
+ -7.14365 29.664, -7.04005 29.637033, -6.8227 29.498933, -6.71785 29.488, -6.589 29.503167, -6.5182 29.552, -6.4045 29.6682, -6.3514 29.691767, -6.29075 29.706933, -6.18085 29.7044,
+ -5.99635 29.658933, -5.89275 29.6606, -5.58065 29.769233, -5.242 29.885433, -4.98045 29.9907, -4.3878 30.340133, -3.7825 30.6879, -3.12795 31.055033, -3.1204 31.0786, -3.15705 31.1468,
+ -3.1596 31.1973, -3.10145 31.362333, -2.898 31.5417, -2.6832 31.770733, -2.4886 31.875167, -2.4039 31.889467, -2.29525 31.891133, -2.0678 31.8524, -1.9591 31.850733, -1.8618 31.873467,
+ -1.70005 31.9745, -1.6394 31.998067, -1.51305 32.011567, -1.26535 32.077233, -1.2148 32.1109, -1.2047 32.159767, -1.2666 32.283533, -1.2565 32.3088, -1.14025 32.4351, -1.1251 32.457,
+ -1.14025 32.483933, -1.24135 32.534467, -1.48525 32.690233, -1.54335 32.792967, -1.5737 32.8755, -1.5939 32.976533, -1.7493 33.130633, -1.78975 33.246833, -1.78975 33.3243, -1.7266 33.435433,
+ -1.6798 33.557533, -1.7 33.648467, -1.8213 33.7714, -1.8213 33.810133, -1.7278 33.9112, -1.633 34.0215, -1.6431 34.072, -1.73915 34.183167, -1.772 34.245467, -1.76695 34.301033,
+ -1.6494 34.413033, -1.71005 34.5225, -1.84145 34.539333, -1.9021 34.556167, -1.91475 34.603333, -1.86925 34.714467, -1.983 34.7667, -2.0411 34.800367, -2.06515 34.8551, -2.03505 34.965633,
+ -1.9891 34.965633, -1.90115 35.004267, -1.76325 35.010933, -1.64935 35.1148, -1.5894 35.150767, -1.4615 35.169433, -1.3676 35.204033, -1.29765 35.283967, -1.2217 35.345233, -1.19375 35.4398,
+ -1.15175 35.487733, -1.0219 35.569, -0.97395 35.586333, -0.86205 35.587667, -0.8021 35.5983, -0.6782 35.6489, -0.62425 35.6662, -0.5323 35.6702, -0.4544 35.692833, -0.4304 35.7115,
+ -0.4324 35.7501, -0.52435 35.835367, -0.52435 35.844667, -0.50635 35.851333, -0.48435 35.852667, -0.4384 35.834033, -0.4044 35.8287, -0.38445 35.8367, -0.36445 35.864667, -0.3385 35.868633,
+ -0.2965 35.856667, -0.25855 35.811367, -0.25855 35.748767, -0.24455 35.734133, -0.13465 35.722133, -0.0687 35.7461, 0.02125 35.8007, 0.15915 36.004467, 0.2231 36.049767, 0.4409 36.149633,
+ 0.59675 36.221567, 0.75265 36.2522, 0.8925 36.321433, 1.07835 36.392033, 1.18625 36.402667, 1.34415 36.428, 1.7238 36.4373, 2.06555 36.475933, 2.2474 36.5212, 2.32735 36.5252,
+ 2.43725 36.4919, 2.4992 36.485267, 2.58515 36.498567, 2.66705 36.5372, 2.767 36.622433, 2.8549 36.6704, 2.91485 36.679733, 2.9808 36.677067, 3.05475 36.6531, 3.1287 36.643767,
+ 3.16265 36.651767, 3.2126 36.685033, 3.24255 36.686367, 3.38645 36.661067, 3.4504 36.659733, 3.5483 36.679733, 3.8141 36.798267, 3.86805 36.810233, 3.92 36.8049, 3.98595 36.7716,
+ 4.0239 36.7716, 4.10585 36.791567, 4.1498 36.7929, 4.2597 36.776933, 4.62545 36.779567, 4.7414 36.7769, 4.80535 36.7649, 4.9492 36.708967, 4.9992 36.673, 5.02315 36.611733,
+ 5.06715 36.5798, 5.19905 36.553167, 5.28695 36.545167, 5.42685 36.570467, 5.4648 36.5878, 5.5827 36.682367, 5.65465 36.719633, 5.7186 36.7303, 5.7965 36.718333, 5.84845 36.719667,
+ 6.0023 36.772933, 6.1282 36.787567, 6.16215 36.812867, 6.21015 36.9141, 6.2481 36.962033, 6.32205 37.008667, 6.42995 37.025967, 6.4699 37.017967, 6.52585 36.983333, 6.54585 36.936733,
+ 6.5718 36.9194, 6.6198 36.908733, 6.75565 36.892767, 6.8136 36.8768, 6.92955 36.808867, 6.9655 36.808867, 7.03945 36.840833, 7.2013 36.8635, 7.2313 36.871467, 7.2453 36.886133,
+ 7.2433 36.9061, 7.14535 36.983367, 7.14135 37.000667, 7.15135 37.014, 7.1833 37.016633, 7.24925 37.004667, 7.37515 36.995333, 7.519 36.9474, 7.8268 36.779567, 7.8927 36.7676,
+ 7.94065 36.770267, 8.10855 36.8342, 8.2364 36.847533, 8.40425 36.824867, 8.38285 36.791533, 8.258 36.5968, 8.258 36.509733, 8.2722 36.417, 8.2722 36.222067, 8.16 35.950467,
+ 8.1742 35.755533, 8.21535 35.4934, 8.22955 35.251133, 8.1827 35.009833, 8.04355 34.790267, 7.71835 34.340767, 7.54655 34.054033, 7.521 33.917767, 7.52665 33.7834, 7.619 33.581833,
+ 7.6616 33.4853, 7.63035 33.345267, 7.64315 33.289433, 7.69995 33.1986, 7.8164 33.138033, 7.98115 33.047167, 8.1061 32.892, 8.16715 32.796433, 8.1274 32.609067, 8.21825 32.482233,
+ 8.30915 32.3952, 8.82465 32.099, 9.01355 31.9845, 9.0732 31.893667, 9.1215 31.691133, 9.1527 31.526467, 9.25635 30.919867, 9.3629 30.430633, 9.39555 30.1174, 9.34555 30.084967,
+ 9.3451 30.084667, 9.3155 30.0422, 9.3269 29.986067, 9.4988 29.826033, 9.55685 29.5871, 9.5409 29.456667, 9.484 29.3429, 9.451 29.202567, 9.47945 28.787667, 9.484 28.576833,
+ 9.5648 28.347, 9.5466 28.152833, 9.71735 28.0982, 9.81065 28.0512, 9.8767 27.973833, 9.89375 27.8957, 9.82315 27.740967, 9.7765 27.491433, 9.6035 27.324567, 9.80725 27.116,
+ 9.8528 27.032567, 9.7993 26.698067, 9.76515 26.588833, 9.68545 26.469, 9.47035 26.312, 9.1949 26.208833, 9.37815 25.9502, 9.5102 25.768167, 9.78905 25.464033, 9.896 25.319933,
+ 9.9996 25.112867, 10.0383 24.9915, 10.036 24.870133, 10.0497 24.767, 10.1396 24.6646, 10.4993 24.453733, 10.67115 24.512133, 10.7531 24.516667, 10.8988 24.503, 11.10255 24.458267,
+ 11.3006 24.385467, 11.48275 24.267133, 11.61135 24.1253, 11.63185 23.9084, 11.7172 23.746833, 11.96305 23.473767, 11.62955 23.286433, 11.1253 22.994433, 10.60285 22.6994, 10.17375 22.410433,
+ 9.66495 22.1245, 9.18575 21.8507, 8.67695 21.563233, 8.12945 21.25, 7.8039 21.066433, 7.5774 20.9155, 7.5114 20.865467, 7.43625 20.669767, 7.20635 20.657633, 7.1517 20.650033,
+ 7.1187 20.629567, 6.68275 20.273833, 6.19675 19.8984, 5.9372 19.642033, 5.7403 19.5548, 5.33395 19.4418, 5.079 19.365933, 4.7751 19.2863, 4.34825 19.149, 3.82355 18.996533,
+ 3.52535 18.9131, 3.3774 18.852433, 3.3091 18.853933, 3.2738 18.875933, 3.13495 19.065567, 3.10535 19.174767, 3.15885 19.3242, 3.19755 19.4501, 3.21345 19.6458, 3.12355 19.778533,
+ 2.8208 19.887733, 2.6307 19.971933, 2.4486 20.009833, 2.4031 20.028033, 2.3348 20.1312, 2.27785 20.157, 2.2221 20.168367, 2.0514 20.172933, 1.9421 20.185067, 1.6678 20.3724,
+ 1.5517 20.5514, 1.40825 20.609033, 1.24435 20.7486, 1.21475 20.807767, 1.21475 20.9807, 1.10095 20.985233, 1.0281 21.001933, 0.6009 21.241133, -0.5692 22.030967, -1.6281 22.7265,
+ -2.17905 23.0869, -2.77295 23.4557, -4.51805 24.628633, -5.00065 24.982967, -5.38105 25.249233, -5.7437 25.475733, -6.3338 25.890867, -6.9239 26.300933, -7.09575 26.417133, -7.5241 26.6807,
+ -8.1041 27.0352, -8.2557 27.148033, -8.69675 27.406533))
+
+POLYGON ((11.9208 -17.3074, 11.91445 -17.2897, 11.89255 -17.286467, 11.8707 -17.296167, 11.8488 -17.2978, 11.82935 -17.288067, 11.78805 -17.276733, 11.73945 -17.203833, 11.7528 -17.113133, 11.69935 -17.0159,
+ 11.70665 -16.9754, 11.73825 -16.931667, 11.74065 -16.897633, 11.7115 -16.850667, 11.641 -16.792333, 11.5863 -16.667567, 11.57905 -16.580067, 11.58145 -16.5331, 11.6082 -16.5104, 11.6422 -16.513667,
+ 11.67625 -16.5347, 11.68595 -16.607633, 11.6811 -16.714567, 11.70785 -16.780967, 11.7467 -16.805267, 11.7832 -16.793933, 11.8318 -16.730767, 11.8634 -16.602767, 11.86825 -16.489367, 11.8099 -16.390533,
+ 11.8184 -16.338667, 11.88645 -16.2755, 11.8913 -16.230133, 11.87915 -16.1556, 11.8354 -16.0843, 11.71635 -15.915833, 11.7054 -15.864, 11.71515 -15.8381, 11.74675 -15.821867, 11.7686 -15.8154,
+ 11.77345 -15.820267, 11.7686 -15.8381, 11.77105 -15.8543, 11.78805 -15.859133, 11.81965 -15.851033, 11.85855 -15.804067, 11.8901 -15.705233, 11.91685 -15.6631, 11.95995 -15.6276, 12 -15.604933,
+ 12.0386 -15.571367, 12.0589 -15.536, 12.0737 -15.404433, 12.0846 -15.353467, 12.1267 -15.298333, 12.147 -15.2578, 12.14855 -15.211, 12.15405 -15.168867, 12.18995 -15.0846, 12.2024 -14.9671,
+ 12.2258 -14.9442, 12.2648 -14.921333, 12.2921 -14.904167, 12.30925 -14.846967, 12.32015 -14.7617, 12.3077 -14.698267, 12.31 -14.661333, 12.3584 -14.532367, 12.37245 -14.4731, 12.3607 -14.420567,
+ 12.35445 -14.334267, 12.38255 -14.280167, 12.39115 -14.157967, 12.39115 -14.084133, 12.4161 -14.011333, 12.45355 -13.986367, 12.5019 -13.9822, 12.52845 -13.989467, 12.55115 -13.990767, 12.57055 -13.9822,
+ 12.58615 -13.948933, 12.57605 -13.8652, 12.58695 -13.779933, 12.57605 -13.7092, 12.59245 -13.531867, 12.61585 -13.504833, 12.67985 -13.4653, 12.6923 -13.436167, 12.6923 -13.395633, 12.67045 -13.362333,
+ 12.65255 -13.3327, 12.665 -13.297333, 12.71495 -13.263, 12.7867 -13.2474, 12.821 -13.227633, 12.82415 -13.2131, 12.8054 -13.180833, 12.807 -13.1715, 12.9396 -13.0914, 12.95755 -13.072167,
+ 12.97785 -12.983767, 12.9716 -12.902667, 12.97785 -12.866267, 13.00205 -12.839733, 13.07225 -12.8054, 13.169 -12.738833, 13.21425 -12.6577, 13.2751 -12.608833, 13.31095 -12.5953, 13.3328 -12.5974,
+ 13.3484 -12.6161, 13.371 -12.616633, 13.4256 -12.588533, 13.4802 -12.541733, 13.4849 -12.507433, 13.47865 -12.417967, 13.47865 -12.373267, 13.49195 -12.3613, 13.5715 -12.331133, 13.6027 -12.295767,
+ 13.6261 -12.216733, 13.64485 -12.1928, 13.69475 -12.164733, 13.7135 -12.144967, 13.7236 -12.104933, 13.7439 -12.0706, 13.8125 -12.0207, 13.83435 -11.985333, 13.8359 -11.949967, 13.8453 -11.928133,
+ 13.8843 -11.891733, 13.8905 -11.858433, 13.8687 -11.757033, 13.8718 -11.652, 13.90925 -11.567767, 13.91005 -11.535, 13.8773 -11.4414, 13.87885 -11.396667, 13.9116 -11.291633, 13.91085 -11.2599,
+ 13.87495 -11.149633, 13.8718 -11.1018, 13.8921 -11.038367, 13.90695 -11.004567, 13.89605 -10.966067, 13.8196 -10.8808, 13.7525 -10.8392, 13.7369 -10.819433, 13.73535 -10.7955, 13.75095 -10.780933,
+ 13.79545 -10.745067, 13.7861 -10.699333, 13.75175 -10.6494, 13.59885 -10.5589, 13.57235 -10.5329, 13.5653 -10.507433, 13.5887 -10.4003, 13.5856 -10.367, 13.54035 -10.308767, 13.5029 -10.284867,
+ 13.48105 -10.2755, 13.4553 -10.242733, 13.41785 -10.2032, 13.3539 -10.1772, 13.3227 -10.1564, 13.2728 -10.097133, 13.265 -10.059667, 13.2681 -10.035767, 13.2993 -10.0056, 13.31415 -9.977,
+ 13.30325 -9.926067, 13.24395 -9.7919, 13.21735 -9.7564, 13.21265 -9.746533, 13.21735 -9.7377, 13.2447 -9.708167, 13.26655 -9.670733, 13.26655 -9.637433, 13.2494 -9.591667, 13.15265 -9.483533,
+ 13.12695 -9.4518, 13.11655 -9.3903, 13.11605 -9.387333, 13.11135 -9.299967, 13.0934 -9.2048, 13.031 -9.1185, 12.9998 -9.067533, 13.00135 -9.0353, 13.0513 -8.930233, 13.0747 -8.907367,
+ 13.0981 -8.907367, 13.1199 -8.917767, 13.12305 -8.9365, 13.07935 -9.031133, 13.0809 -9.0592, 13.1012 -9.068567, 13.12615 -9.062333, 13.14645 -9.0332, 13.15735 -8.9968, 13.19405 -8.961967,
+ 13.22055 -8.920367, 13.2393 -8.883967, 13.2533 -8.821567, 13.2861 -8.7914, 13.3547 -8.759167, 13.3976 -8.729533, 13.41165 -8.6869, 13.40695 -8.639033, 13.33835 -8.529833, 13.27205 -8.493967,
+ 13.24395 -8.4742, 13.2455 -8.455467, 13.2611 -8.4482, 13.28605 -8.450267, 13.3125 -8.4677, 13.33825 -8.4682, 13.3531 -8.458833, 13.3547 -8.4378, 13.24475 -8.255267, 13.18705 -8.1471,
+ 13.1363 -7.958333, 13.11135 -7.820033, 13.0575 -7.654133, 12.96545 -7.473167, 12.92725 -7.3749, 12.8898 -7.2917, 12.8851 -7.248033, 12.90225 -7.106567, 12.89215 -7.066533, 12.8578 -7.012467,
+ 12.733 -6.866867, 12.662 -6.788333, 12.5809 -6.736333, 12.5372 -6.723867, 12.5169 -6.7072, 12.4405 -6.588633, 12.33275 -6.391567, 12.28755 -6.3406, 12.1955 -6.2626, 12.17055 -6.230367,
+ 12.17055 -6.202267, 12.1877 -6.1794, 12.22045 -6.165867, 12.24385 -6.165867, 12.2657 -6.176267, 12.29535 -6.188767, 12.35305 -6.191867, 12.4092 -6.192933, 12.4404 -6.181467, 12.45915 -6.161733,
+ 12.48095 -6.140933, 12.5465 -6.112833, 12.63385 -6.082667, 12.69545 -6.075933, 12.7922 -6.082167, 12.8624 -6.079033, 12.9092 -6.056167, 12.9357 -6.034333, 12.95 -6.0057, 13.19385 -5.9677,
+ 13.617 -5.9243, 13.92625 -5.9367, 14.74465 -5.9057, 15.2306 -5.9398, 16.43965 -5.9026, 16.4815 -5.9212, 16.5056 -5.945633, 16.584 -5.9856, 16.56005 -6.000533, 16.5536 -6.0199,
+ 16.5641 -6.0366, 16.58465 -6.0614, 16.57175 -6.094767, 16.58385 -6.126, 16.6816 -6.1422, 16.7139 -6.161567, 16.72115 -6.187433, 16.70665 -6.284367, 16.726 -6.384533, 16.6735 -6.461033,
+ 16.6727 -6.478767, 16.7058 -6.515967, 16.71795 -6.624733, 16.7708 -6.736233, 16.82735 -6.785267, 16.8403 -6.863333, 16.82335 -6.8962, 16.83465 -6.9479, 16.9017 -6.993133, 16.92915 -7.1698,
+ 16.9901 -7.2646, 17.1751 -7.3836, 17.1783 -7.492933, 17.24295 -7.550567, 17.23685 -7.628667, 17.26915 -7.698133, 17.3152 -7.774067, 17.3354 -7.866167, 17.3903 -7.9125, 17.40165 -7.964733,
+ 17.4711 -8.022367, 17.47335 -8.038033, 17.6197 -8.099333, 17.82825 -8.117067, 17.9808 -8.121133, 18.15605 -8.110033, 18.2348 -8.084133, 18.41065 -8.0505, 18.51825 -8.047533, 18.5427 -7.9987,
+ 18.56935 -7.960233, 18.65365 -7.9425, 18.73795 -7.983933, 18.8001 -8.046067, 18.97315 -8.0786, 19.18615 -8.0786, 19.30155 -8.060833, 19.39915 -7.995767, 19.4125 -7.901067, 19.43025 -7.7265,
+ 19.4613 -7.6052, 19.48455 -7.5608, 19.5622 -7.5105, 19.59105 -7.455767, 19.60215 -7.368467, 19.57775 -7.224967, 19.5689 -7.176167, 19.56445 -7.070367, 19.5733 -7.006767, 19.6066 -6.987533,
+ 19.7397 -6.9609, 19.88395 -6.972733, 20.0925 -6.978667, 20.2212 -6.978667, 20.28335 -6.944633, 20.32325 -6.8973, 20.40315 -6.881, 20.5518 -6.8973, 20.6217 -6.920233, 20.6217 -6.942433,
+ 20.57735 -7.090367, 20.56405 -7.2235, 20.5862 -7.261967, 20.6794 -7.269367, 20.91015 -7.272333, 21.1575 -7.262733, 21.25735 -7.268633, 21.5214 -7.265667, 21.5702 -7.265667, 21.81335 -7.3345,
+ 21.8164 -7.338133, 21.8842 -7.483433, 21.89245 -7.583133, 21.85825 -7.660867, 21.7816 -7.8425, 21.7138 -7.943867, 21.7062 -7.984433, 21.74865 -8.1027, 21.812 -8.160167, 21.9165 -8.269167,
+ 21.9317 -8.305467, 21.95515 -8.450767, 21.9368 -8.602, 21.9159 -8.7752, 21.895 -8.825033, 21.8608 -8.852933, 21.8253 -8.907833, 21.81455 -9.062433, 21.8304 -9.134233, 21.876 -9.200133,
+ 21.87535 -9.218733, 21.84115 -9.255033, 21.7968 -9.332767, 21.78095 -9.371633, 21.77715 -9.3995, 21.8063 -9.445967, 21.8532 -9.513567, 21.8703 -9.568467, 21.8741 -9.688433, 21.9064 -9.745867,
+ 21.9482 -9.779667, 22.01535 -9.813467, 22.08885 -9.871767, 22.14015 -9.9233, 22.1959 -10.023833, 22.21805 -10.150567, 22.23455 -10.206333, 22.29475 -10.328, 22.31375 -10.376133, 22.2878 -10.545933,
+ 22.27 -10.591767, 22.24625 -10.623033, 22.2492 -10.6527, 22.2579 -10.696533, 22.21025 -10.826767, 22.187 -11.008167, 22.2242 -11.212867, 22.2614 -11.231467, 22.2916 -11.225267, 22.3718 -11.163233,
+ 22.45085 -11.121367, 22.5648 -11.095, 22.6136 -11.099633, 22.688 -11.130667, 22.7252 -11.143067, 22.8333 -11.1043, 22.91935 -11.1043, 23.08905 -11.1353, 23.15415 -11.130667, 23.32275 -11.062433,
+ 23.47155 -10.989567, 23.5785 -10.958567, 23.64825 -10.957, 23.74125 -10.9849, 23.84475 -11.037633, 23.89355 -11.028333, 23.9796 -10.983367, 24.04235 -10.977167, 24.07955 -11.0004, 24.09585 -11.042267,
+ 24.0912 -11.108933, 24.06815 -11.142267, 24.0669 -11.1441, 24.0696 -11.226633, 24.0678 -11.3577, 24.0996 -11.434167, 24.08685 -11.5276, 24.03685 -11.646533, 23.94585 -11.7254, 23.9513 -11.7691,
+ 23.99865 -11.8067, 24.01865 -11.855267, 24.0068 -11.897733, 23.91585 -11.9463, 23.8958 -11.959633, 23.8967 -12.0992, 23.91125 -12.198733, 23.9349 -12.2315, 24.0077 -12.2679, 24.09325 -12.317667,
+ 24.1105 -12.362567, 24.0759 -12.4208, 23.9449 -12.5264, 23.90215 -12.598, 23.8749 -12.7388, 23.88855 -12.799467, 23.91765 -12.834667, 23.9923 -12.8917, 24.06145 -12.930533, 24.07055 -12.956033,
+ 24.05415 -12.9803, 24.01595 -12.9973, 23.78575 -13.004567, 23.3408 -13.0264, 22.91225 -13.011833, 22.4509 -13.011833, 22.02685 -13.014267, 22.01565 -13.025233, 22.0168 -13.136833, 22.01775 -13.4026,
+ 22.0077 -13.668367, 22.01775 -13.9293, 22.01325 -14.190233, 22.0105 -14.451167, 22.0023 -14.710867, 22.0032 -14.976633, 21.9968 -15.2412, 21.9995 -15.4985, 22.00225 -15.7655, 21.9933 -15.937233,
+ 21.9973 -16.012533, 21.98995 -16.132067, 21.92875 -16.183167, 21.98805 -16.240567, 22.10175 -16.3782, 22.1577 -16.4546, 22.21195 -16.577067, 22.30815 -16.686667, 22.48395 -16.848233, 22.78395 -17.085533,
+ 22.88365 -17.201, 22.97815 -17.3013, 23.1032 -17.389333, 23.23615 -17.482633, 23.33235 -17.543967, 23.31295 -17.641167, 23.2362 -17.673333, 23.1862 -17.684, 22.58205 -17.812867, 21.87065 -17.978533,
+ 21.6091 -18.049467, 21.45525 -18.112767, 21.4006 -18.097567, 21.27255 -18.0234, 21.2062 -17.9948, 21.11675 -17.973333, 21.0323 -17.962167, 20.90595 -17.963967, 20.82485 -17.987633, 20.7521 -18.036333,
+ 20.65025 -18.036333, 20.5762 -18.0158, 20.5018 -17.980933, 20.36405 -17.9747, 20.24745 -17.934467, 20.21595 -17.926433, 20.18645 -17.925967, 20.1546 -17.933133, 20.06075 -17.9635, 20.01655 -17.975567,
+ 19.97965 -17.9787, 19.91635 -17.973333, 19.858 -17.956367, 19.82185 -17.949667, 19.6955 -17.9546, 19.6526 -17.972467, 19.6318 -17.976033, 19.60905 -17.973367, 19.3969 -17.921533, 19.2511 -17.899167,
+ 19.0752 -17.900067, 18.99275 -17.882667, 18.8654 -17.839767, 18.7813 -17.798667, 18.65895 -17.6816, 18.5946 -17.606133, 18.50345 -17.468933, 18.4987 -17.465, 18.2084 -17.446667, 17.8843 -17.416167,
+ 17.86125 -17.414767, 17.672 -17.419633, 16.9895 -17.4245, 16.20875 -17.417233, 15.3953 -17.426967, 14.62545 -17.427, 14.48945 -17.427, 14.29415 -17.392, 14.2655 -17.404333, 14.1545 -17.436367,
+ 14.0882 -17.442233, 14.0219 -17.4334, 13.8412 -17.3435, 13.71965 -17.238867, 13.63895 -17.141633, 13.613 -17.1232, 13.58865 -17.1136, 13.52895 -17.107933, 13.49805 -17.0716, 13.4815 -16.994267,
+ 13.4638 -16.973633, 13.40745 -16.940467, 13.36985 -16.9353, 13.34335 -16.944167, 13.2936 -16.981, 13.261 -16.9795, 13.0654 -16.882967, 13.00905 -16.871933, 12.92615 -16.866767, 12.8781 -16.872667,
+ 12.8361 -16.888133, 12.80715 -16.918367, 12.80295 -16.922767, 12.5703 -17.244767, 12.53935 -17.262433, 12.5073 -17.2779, 12.47305 -17.276433, 12.36915 -17.246233, 12.3294 -17.241067, 12.2896 -17.2499,
+ 12.24485 -17.2514, 12.18295 -17.2374, 12.131 -17.233733, 12.09125 -17.244767, 12 -17.276867, 11.9208 -17.3074))
+
+POLYGON ((12.0957 -4.999933, 12.13005 -4.970033, 12.1565 -4.9251, 12.1998 -4.904267, 12.2407 -4.893033, 12.2984 -4.9203, 12.36095 -4.9187, 12.3826 -4.894633, 12.3754 -4.703767, 12.385 -4.654033,
+ 12.4355 -4.628367, 12.5341 -4.612333, 12.6303 -4.553, 12.6592 -4.463167, 12.69405 -4.4295, 12.7349 -4.424667, 12.75895 -4.4407, 12.79265 -4.524133, 12.92735 -4.6396, 13.04035 -4.7134,
+ 13.06715 -4.711767, 12.80465 -4.880267, 12.6074 -5.005367, 12.44385 -5.124067, 12.44385 -5.159333, 12.53045 -5.233133, 12.516 -5.621267, 12.50395 -5.7239, 12.4366 -5.781667, 12.36445 -5.810533,
+ 12.26825 -5.813733, 12.19315 -5.809867, 12.1532 -5.8078, 12.14395 -5.791433, 12.13615 -5.7644, 12.15645 -5.645833, 12.17985 -5.630233, 12.20325 -5.6292, 12.2407 -5.65, 12.26095 -5.65,
+ 12.27735 -5.635967, 12.27575 -5.594367, 12.17515 -5.4004, 12.1143 -5.281833, 12.1221 -5.267267, 12.1377 -5.2631, 12.16615 -5.263833, 12.17865 -5.256033, 12.1767 -5.2371, 12.10965 -5.170533,
+ 12.06595 -5.1175, 12.07065 -5.094633, 12.09245 -5.083167, 12.11585 -5.084233, 12.14865 -5.113333, 12.1767 -5.121667, 12.21725 -5.121667, 12.27965 -5.102933, 12.3015 -5.0811, 12.3015 -5.062367,
+ 12.2781 -5.0291, 12.2621 -5.021, 12.24845 -5.022867, 12.21415 -5.054067, 12.18605 -5.061333, 12.16425 -5.057167, 12.0957 -4.999933))
+
+POLYGON ((0.1196 14.8782, 0.238 14.858267, 0.419 14.856167, 0.52195 14.890467, 0.61245 14.965333, 0.6905 15.0402, 0.8809 15.046433, 1.05565 15.0402, 1.41145 15.120267, 1.62995 15.213833,
+ 1.8297 15.216967, 2.10435 15.2731, 2.3197 15.323, 2.75035 15.396833, 3.07805 15.428033, 3.4245 15.5081, 3.6305 15.5809, 3.8146 15.700467, 3.85205 15.8315, 3.8864 16.099767,
+ 3.97065 16.208933, 4.1423 16.331633, 4.1766 16.666467, 4.1984 17.276833, 4.23895 17.8664, 4.29825 18.466367, 4.3451 19.045533, 4.34725 19.115667, 4.34825 19.149, 4.7751 19.2863,
+ 5.079 19.365933, 5.33395 19.4418, 5.7403 19.5548, 5.9372 19.642033, 6.19675 19.8984, 6.68275 20.273833, 7.1187 20.629567, 7.1517 20.650033, 7.20635 20.657633, 7.43625 20.669767,
+ 7.5114 20.865467, 7.5774 20.9155, 7.8039 21.066433, 8.12945 21.25, 8.67695 21.563233, 9.18575 21.8507, 9.66495 22.1245, 10.17375 22.410433, 10.60285 22.6994, 11.1253 22.994433,
+ 11.62955 23.286433, 11.96305 23.473767, 12 23.507833, 12.0589 23.505967, 12.25185 23.481733, 12.3973 23.450767, 12.6397 23.403633, 12.88515 23.355167, 13.0407 23.334967, 13.4498 23.178733,
+ 13.6811 23.057533, 13.871 22.939033, 14.15985 22.7734, 14.21845 22.761267, 14.2932 22.7707, 14.40935 22.8259, 14.78115 22.9709, 14.8211 22.928, 14.86525 22.880667, 14.9405 22.769467,
+ 14.95685 22.621233, 14.983 22.444633, 15.0844 22.353067, 15.122 22.265867, 15.11545 21.6598, 15.104 21.5813, 15.14325 21.457067, 15.31005 21.223767, 15.4016 21.1344, 15.4392 21.038467,
+ 15.50135 20.988333, 15.4948 20.942567, 15.42615 20.8728, 15.42615 20.827, 15.5373 20.735433, 15.8709 20.6068, 15.93465 20.561033, 15.95105 20.4978, 15.85945 20.2776, 15.78095 20.0487,
+ 15.8349 19.7413, 15.7564 19.388133, 15.6632 18.797333, 15.57325 18.343867, 15.5667 18.176, 15.552 18.1215, 15.5291 17.692033, 15.55365 17.360633, 15.53075 17.029267, 15.5438 16.7851,
+ 15.5258 16.704433, 14.8619 16.094, 14.06555 15.396367, 13.68455 15.045367, 13.6584 14.737967, 13.611 14.040333, 13.5963 13.8027, 13.5463 13.804767, 13.49 13.807067, 13.4082 13.785267,
+ 13.32645 13.597767, 13.2774 13.5498, 13.2022 13.5171, 13.05175 13.514933, 12.93075 13.464767, 12.79995 13.349233, 12.68385 13.1988, 12.58245 13.126867, 12.4647 13.076733, 12.27505 13.070167,
+ 12.13125 13.1035, 12 13.149767, 11.99245 13.153867, 11.877 13.2164, 11.6731 13.2735, 11.35695 13.2853, 11.1767 13.319767, 10.8103 13.3237, 10.59755 13.303033, 10.05975 13.1012,
+ 9.9593 13.046067, 9.7879 12.8866, 9.6106 12.807833, 9.454 12.798967, 9.02555 12.8029, 8.87485 12.839333, 8.6473 12.922033, 8.1893 13.131733, 8.012 13.249867, 7.7047 13.2479,
+ 7.63675 13.231167, 7.1019 12.985067, 6.9985 13.005733, 6.85965 13.186867, 6.7917 13.348333, 6.7503 13.427067, 6.5021 13.5462, 6.3041 13.595433, 6.0441 13.626933, 5.9525 13.658433,
+ 5.8136 13.7362, 5.46495 13.791333, 5.1399 13.745067, 4.88875 13.7431, 4.6819 13.6801, 4.50165 13.555067, 4.16475 13.3759, 4.11455 13.2873, 4.0909 13.022467, 4.04065 12.878733,
+ 3.9934 12.794067, 3.8663 12.699567, 3.74815 12.5893, 3.7304 12.4682, 3.74885 12.094967, 3.7423 12.055767, 3.72705 12.0311, 3.6966 12.012233, 3.6909 12, 3.68455 11.9841,
+ 3.6167 11.814233, 3.48505 11.9217, 3.4508 11.959433, 3.43255 12, 3.42465 12.0359, 3.4172 12.0695, 3.3522 12.164, 3.23105 12.2536, 3.05675 12.340233, 2.8824 12.330367,
+ 2.7051 12.276233, 2.5367 12.171867, 2.3876 12.0477, 2.3303 12, 2.24715 11.9283, 2.18695 11.877567, 2.17465 11.9622, 2.17045 12, 2.16065 12.0339, 2.09345 12.2654,
+ 2.10525 12.434733, 2.1998 12.546967, 2.2205 12.6021, 2.21755 12.680867, 2.0964 12.790133, 1.93095 12.782267, 1.78025 12.687733, 1.7241 12.681833, 1.6502 12.7094, 1.4877 12.8679,
+ 1.30155 13.029367, 1.1006 13.212467, 1.09765 13.240033, 1.1538 13.352267, 1.09765 13.4133, 0.9706 13.4714, 0.64555 13.812033, 0.52145 14.057167, 0.3146 14.456833, 0.09595 14.665567,
+ 0.1159 14.844867, 0.1196 14.8782))
+
+POLYGON ((21.9933 -15.937233, 22.00225 -15.7655, 21.9995 -15.4985, 21.9968 -15.2412, 22.0032 -14.976633, 22.0023 -14.710867, 22.0105 -14.451167, 22.01325 -14.190233, 22.01775 -13.9293, 22.0077 -13.668367,
+ 22.01775 -13.4026, 22.0168 -13.136833, 22.01565 -13.025233, 22.02685 -13.014267, 22.4509 -13.011833, 22.91225 -13.011833, 23.3408 -13.0264, 23.78575 -13.004567, 24.01595 -12.9973, 24.05415 -12.9803,
+ 24.07055 -12.956033, 24.06145 -12.930533, 23.9923 -12.8917, 23.91765 -12.834667, 23.88855 -12.799467, 23.8749 -12.7388, 23.90215 -12.598, 23.9449 -12.5264, 24.0759 -12.4208, 24.1105 -12.362567,
+ 24.09325 -12.317667, 24.0077 -12.2679, 23.9349 -12.2315, 23.91125 -12.198733, 23.8967 -12.0992, 23.8958 -11.959633, 23.91585 -11.9463, 24.0068 -11.897733, 24.01865 -11.855267, 23.99865 -11.8067,
+ 23.9513 -11.7691, 23.94585 -11.7254, 24.03685 -11.646533, 24.08685 -11.5276, 24.0996 -11.434167, 24.0678 -11.3577, 24.0696 -11.226633, 24.0669 -11.1441, 24.06815 -11.142267, 24.0912 -11.108933,
+ 24.1586 -11.146167, 24.2028 -11.170967, 24.25625 -11.164767, 24.2853 -11.167867, 24.31555 -11.201967, 24.3318 -11.277967, 24.3109 -11.330667, 24.2737 -11.361667, 24.21325 -11.384933, 24.2167 -11.4237,
+ 24.32365 -11.476433, 24.4376 -11.5183, 24.5213 -11.5245, 24.59105 -11.495033, 24.6875 -11.3865, 24.83165 -11.3245, 25.15715 -11.288833, 25.21295 -11.288833, 25.2385 -11.301233, 25.25245 -11.322933,
+ 25.2071 -11.451633, 25.1676 -11.536933, 25.1769 -11.578767, 25.22805 -11.611333, 25.34895 -11.6377, 25.40705 -11.673367, 25.43495 -11.707467, 25.4768 -11.7943, 25.51635 -11.8098, 25.5419 -11.8098,
+ 25.5849 -11.7788, 25.6035 -11.767933, 25.63375 -11.786533, 25.63375 -11.811333, 25.70815 -11.848567, 25.7523 -11.848567, 25.77555 -11.8594, 25.8058 -11.907467, 25.8732 -11.9385, 26.0034 -11.961733,
+ 26.3371 -11.9726, 26.7184 -12.0005, 26.9044 -11.9819, 26.98195 -11.9474, 27.05305 -11.877767, 27.1394 -11.7808, 27.21345 -11.784167, 27.2164 -11.8135, 27.2455 -11.876867, 27.29595 -11.9519,
+ 27.30565 -12.004933, 27.3192 -12.103233, 27.47255 -12.274733, 27.54815 -12.354833, 27.56345 -12.368433, 27.6246 -12.377033, 27.70865 -12.3725, 27.78595 -12.346733, 27.86095 -12.360367, 27.89955 -12.390667,
+ 27.92455 -12.460367, 27.9564 -12.487667, 28.053 -12.520233, 28.1462 -12.5566, 28.20755 -12.573267, 28.3598 -12.5945, 28.4871 -12.638433, 28.553 -12.682367, 28.58365 -12.736167, 28.53595 -12.7983,
+ 28.50185 -12.8483, 28.5087 -12.921033, 28.5337 -12.951333, 28.58365 -12.961933, 28.6564 -12.916467, 28.6973 -12.914967, 28.73595 -12.9392, 28.7223 -12.990733, 28.76205 -13.088467, 28.8711 -13.2506,
+ 29.01655 -13.414267, 29.1052 -13.435467, 29.25175 -13.430167, 29.3108 -13.3923, 29.39265 -13.312, 29.4699 -13.265, 29.554 -13.2438, 29.604 -13.2544, 29.62445 -13.280167, 29.6176 -13.315033,
+ 29.579 -13.398367, 29.58125 -13.4711, 29.6199 -13.5105, 29.6767 -13.528667, 29.7335 -13.5211, 29.77215 -13.4923, 29.7949 -13.439267, 29.79145 -13.3082, 29.7892 -13.1203, 29.80055 -12.830133,
+ 29.80965 -12.699833, 29.80285 -12.463433, 29.821 -12.275533, 29.796 -12.177033, 29.76645 -12.157333, 29.721 -12.145233, 29.63695 -12.1725, 29.53695 -12.2134, 29.44375 -12.273267, 29.32265 -12.362767,
+ 29.31025 -12.356333, 29.2674 -12.355133, 29.23885 -12.365867, 29.1889 -12.389667, 29.1282 -12.405133, 29.0943 -12.402767, 29.0622 -12.3849, 29.02205 -12.340867, 28.88555 -12.129033, 28.82845 -12.042133,
+ 28.7517 -11.955267, 28.6964 -11.921933, 28.59285 -11.896933, 28.56345 -11.874333, 28.53135 -11.833867, 28.5278 -11.812467, 28.55455 -11.761267, 28.58665 -11.738667, 28.6313 -11.691067, 28.62685 -11.6661,
+ 28.60545 -11.6423, 28.568 -11.617333, 28.55015 -11.593533, 28.53945 -11.557833, 28.518 -11.518533, 28.5073 -11.493567, 28.5046 -11.478067, 28.49925 -11.441167, 28.48675 -11.332867, 28.4537 -11.274567,
+ 28.42695 -11.237667, 28.4287 -11.200767, 28.46975 -11.084133, 28.4742 -11.052033, 28.4385 -10.9628, 28.426 -10.917567, 28.4367 -10.871167, 28.44385 -10.8521, 28.4617 -10.8414, 28.5161 -10.8319,
+ 28.5732 -10.810467, 28.6089 -10.795, 28.67315 -10.791433, 28.6999 -10.779533, 28.73915 -10.7105, 28.79005 -10.626, 28.81145 -10.560533, 28.8061 -10.5058, 28.8168 -10.474833, 28.8436 -10.441533,
+ 28.85165 -10.422467, 28.8088 -10.3487, 28.80525 -10.3237, 28.83735 -10.230867, 28.84985 -10.2059, 28.82935 -10.174967, 28.82225 -10.102367, 28.84185 -10.020233, 28.8231 -9.935767, 28.81775 -9.8846,
+ 28.82845 -9.842933, 28.86235 -9.779867, 28.8552 -9.750133, 28.8186 -9.698933, 28.71945 -9.606867, 28.6398 -9.5518, 28.5912 -9.480233, 28.5589 -9.429733, 28.37845 -9.2773, 28.3592 -9.232367,
+ 28.41455 -9.182633, 28.49995 -9.163367, 28.7851 -8.848867, 28.85485 -8.699633, 28.8645 -8.566467, 28.88855 -8.518333, 28.93065 -8.500667, 29.51175 -8.4044, 30.1169 -8.3033, 30.34065 -8.2728,
+ 30.7882 -8.221467, 30.80195 -8.2548, 30.8592 -8.393833, 30.92105 -8.5176, 31.0084 -8.585533, 31.11025 -8.617067, 31.48865 -8.643767, 31.576 -8.670433, 31.6288 -8.733533, 31.62515 -8.847567,
+ 31.65425 -8.883933, 31.70885 -8.9155, 31.8762 -8.930033, 31.9162 -8.956733, 31.9599 -9.0441, 32.00355 -9.078067, 32.0781 -9.1096, 32.39465 -9.170267, 32.63115 -9.262467, 32.7767 -9.311,
+ 32.8695 -9.415333, 32.96775 -9.4687, 33.1242 -9.500267, 33.1742 -9.531967, 33.22565 -9.564567, 33.28475 -9.630667, 33.3525 -9.728333, 33.37025 -9.7811, 33.36025 -9.834467, 33.32615 -9.953967,
+ 33.3075 -10.040133, 33.3348 -10.0838, 33.3962 -10.1857, 33.4849 -10.3034, 33.5372 -10.416233, 33.53855 -10.5485, 33.5208 -10.6644, 33.4439 -10.725033, 33.2929 -10.788133, 33.24015 -10.8391,
+ 33.24195 -10.9143, 33.32655 -11.0405, 33.32655 -11.090233, 33.27015 -11.172733, 33.17645 -11.377767, 33.1701 -11.432367, 33.181 -11.519733, 33.2374 -11.621633, 33.2474 -11.790267, 33.23465 -11.8461,
+ 33.1937 -11.9007, 33.18645 -11.9456, 33.25195 -12.094833, 33.28195 -12.133667, 33.32745 -12.151867, 33.4439 -12.1567, 33.49845 -12.166433, 33.5203 -12.1822, 33.5185 -12.196767, 33.44935 -12.276833,
+ 33.3147 -12.344767, 33.1246 -12.4285, 33.1155 -12.524333, 32.97175 -12.580133, 32.95265 -12.6044, 32.95085 -12.7039, 33.05455 -12.8058, 33.0518 -12.8871, 32.95905 -13.072733, 32.98085 -13.135833,
+ 33.03365 -13.203767, 33.03545 -13.2996, 32.97905 -13.4088, 32.7698 -13.606567, 32.7198 -13.697567, 32.7216 -13.749767, 32.7562 -13.8092, 32.9845 -14.042167, 33.0791 -14.139233, 32.4978 -14.327967,
+ 32.143 -14.432333, 31.28045 -14.743, 30.7509 -14.915333, 30.2559 -15.121633, 30.09395 -15.228433, 30.0867 -15.284233, 30.1267 -15.3425, 30.24285 -15.458667, 30.3346 -15.547467, 30.3284 -15.577567,
+ 30.3325 -15.640467, 30.3694 -15.671933, 30.48575 -15.7098, 30.48715 -15.713067, 30.3784 -15.751333, 30.3399 -15.754833, 30.2892 -15.740833, 30.21485 -15.6936, 30.1816 -15.691267, 30.0679 -15.7379,
+ 30.01545 -15.747233, 29.87375 -15.7099, 29.8274 -15.7093, 29.76965 -15.729133, 29.68395 -15.754767, 29.46355 -15.800267, 29.32975 -15.849833, 29.2073 -15.9105, 29.04635 -15.981633, 28.8968 -16.014867,
+ 28.83555 -16.041667, 28.7796 -16.098833, 28.73585 -16.185133, 28.72535 -16.350167, 28.73935 -16.3735, 28.7656 -16.408467, 28.7656 -16.4318, 28.69385 -16.488933, 28.6589 -16.530933, 28.5854 -16.564733,
+ 28.51455 -16.610833, 28.37465 -16.664467, 28.2714 -16.693633, 28.19795 -16.730967, 28.14895 -16.769433, 27.97055 -16.935033, 27.8717 -17.0791, 27.8245 -17.136233, 27.78425 -17.166567, 27.737 -17.194533,
+ 27.72125 -17.217867, 27.7125 -17.342667, 27.6828 -17.388733, 27.6548 -17.415567, 27.50085 -17.492533, 27.38805 -17.566, 27.3303 -17.633667, 27.3023 -17.689633, 27.2577 -17.830133, 27.21745 -17.8873,
+ 27.11775 -17.9491, 27.0784 -17.963667, 27.0364 -17.945, 27.0235 -17.945767, 26.9962 -17.947333, 26.9017 -17.992833, 26.8405 -18.009133, 26.81775 -18.023133, 26.809 -18.061633, 26.788 -18.082633,
+ 26.7565 -18.0931, 26.7198 -18.0861, 26.6647 -18.058667, 26.6227 -18.0062, 26.5825 -17.9852, 26.45305 -17.9712, 26.35335 -17.9572, 26.2676 -17.939733, 26.202 -17.945, 26.0568 -17.974167,
+ 25.95885 -17.974167, 25.89415 -17.9835, 25.85215 -17.974167, 25.76205 -17.902433, 25.6746 -17.862767, 25.60115 -17.849933, 25.51715 -17.859267, 25.3877 -17.911767, 25.3419 -17.915167, 25.29585 -17.915833,
+ 25.23535 -17.9038, 25.1917 -17.846867, 25.01885 -17.706067, 24.8432 -17.623533, 24.7504 -17.582267, 24.65215 -17.571367, 24.3746 -17.568933, 24.26905 -17.585933, 24.15895 -17.575, 23.94055 -17.536167,
+ 23.86045 -17.549533, 23.51375 -17.623567, 23.2362 -17.673333, 23.31295 -17.641167, 23.33235 -17.543967, 23.23615 -17.482633, 23.1032 -17.389333, 22.97815 -17.3013, 22.88365 -17.201, 22.78395 -17.085533,
+ 22.48395 -16.848233, 22.30815 -16.686667, 22.21195 -16.577067, 22.1577 -16.4546, 22.10175 -16.3782, 21.98805 -16.240567, 21.92875 -16.183167, 21.98995 -16.132067, 21.9973 -16.012533, 21.9933 -15.937233))
+
+POLYGON ((29.17565 -2.839633, 29.1528 -2.8188, 29.09985 -2.7739, 28.9531 -2.701667, 28.8809 -2.648733, 28.8737 -2.610233, 28.90615 -2.549267, 29.1636 -2.347067, 29.2274 -2.266833, 29.24185 -2.141667,
+ 29.1841 -2.024533, 29.17085 -1.968367, 29.231 -1.8769, 29.3513 -1.653867, 29.49085 -1.511067, 29.63525 -1.4372, 29.67375 -1.422767, 29.8061 -1.365, 29.87105 -1.344133, 29.9047 -1.352167,
+ 29.90715 -1.395467, 29.90715 -1.4693, 29.9288 -1.486933, 29.9781 -1.501367, 30.03105 -1.490133, 30.0936 -1.458033, 30.0984 -1.384233, 30.1321 -1.3104, 30.2861 -1.182067, 30.38835 -1.119467,
+ 30.4172 -1.116267, 30.4509 -1.1339, 30.44715 -1.1621, 30.44345 -1.2198, 30.4632 -1.259367, 30.51695 -1.294867, 30.5761 -1.3891, 30.5761 -1.432433, 30.5737 -1.4613, 30.5893 -1.475767,
+ 30.63745 -1.499833, 30.6976 -1.573633, 30.7842 -1.714833, 30.8431 -1.8416, 30.81905 -1.9026, 30.80945 -1.9796, 30.854 -2.0598, 30.87085 -2.111167, 30.8492 -2.186567, 30.8612 -2.290867,
+ 30.8648 -2.372667, 30.8335 -2.4112, 30.77095 -2.424033, 30.7328 -2.422, 30.6994 -2.443567, 30.64005 -2.446867, 30.55845 -2.483133, 30.469 -2.5514, 30.4075 -2.5989, 30.34495 -2.579633,
+ 30.13805 -2.537933, 30.0418 -2.509033, 29.97685 -2.4882, 29.93835 -2.4962, 29.91545 -2.534733, 29.9323 -2.6631, 29.8962 -2.777033, 29.82885 -2.8396, 29.74225 -2.884533, 29.7013 -2.890967,
+ 29.6424 -2.876533, 29.5606 -2.809167, 29.4884 -2.741767, 29.41385 -2.748167, 29.26465 -2.810767, 29.17565 -2.839633))
+
+POLYGON ((16.50735 -28.5619, 16.61325 -28.462867, 16.6368 -28.434367, 16.6368 -28.417267, 16.6603 -28.404433, 16.70845 -28.3923, 16.7341 -28.3638, 16.75125 -28.299633, 16.73625 -28.236933, 16.74695 -28.204133,
+ 16.80255 -28.181333, 16.8261 -28.161367, 16.8218 -28.127167, 16.83465 -28.108633, 16.8753 -28.102933, 16.89455 -28.085833, 16.89665 -28.0402, 16.9309 -28.015967, 17.0132 -28.008133, 17.09875 -28.008133,
+ 17.1565 -28.032367, 17.20785 -28.0623, 17.2292 -28.087967, 17.2014 -28.166367, 17.22065 -28.182033, 17.272 -28.193433, 17.31155 -28.2027, 17.3757 -28.350967, 17.36075 -28.396567, 17.33295 -28.419367,
+ 17.29655 -28.433633, 17.2891 -28.46, 17.31475 -28.4885, 17.37035 -28.514167, 17.39175 -28.5384, 17.40885 -28.6824, 17.42705 -28.708767, 17.45915 -28.711633, 17.56395 -28.667433, 17.611 -28.6717,
+ 17.6281 -28.711633, 17.6559 -28.735867, 17.84195 -28.758667, 18.0334 -28.7836, 18.09325 -28.806433, 18.13175 -28.834933, 18.1767 -28.846333, 18.2483 -28.819967, 18.53705 -28.8114, 18.69215 -28.793567,
+ 18.75845 -28.787867, 18.8183 -28.795, 18.8953 -28.793567, 18.9541 -28.8071, 19.0379 -28.860433, 19.0482 -28.866967, 19.09525 -28.881233, 19.16795 -28.8513, 19.21715 -28.835633, 19.2503 -28.826367,
+ 19.26315 -28.805, 19.2097 -28.769333, 19.18615 -28.7337, 19.21185 -28.708033, 19.2482 -28.696633, 19.3166 -28.700933, 19.35725 -28.685233, 19.4321 -28.5769, 19.4341 -28.575533, 19.5161 -28.453367,
+ 19.9355 -28.2993, 19.99545 -28.236533, 19.9995 -25.695, 19.9902 -24.702467, 20.03495 -24.729, 20.19765 -24.8254, 20.2843 -24.8903, 20.3357 -25.054333, 20.39775 -25.151333, 20.5593 -25.4245,
+ 20.6481 -25.7319, 20.7583 -25.9366, 20.77115 -26.054967, 20.74225 -26.178333, 20.6481 -26.321, 20.5486 -26.508567, 20.53575 -26.5799, 20.5411 -26.740367, 20.62455 -26.841633, 20.6513 -26.8509,
+ 20.69195 -26.8338, 20.83535 -26.7639, 20.9659 -26.7425, 21.1831 -26.734667, 21.2687 -26.751767, 21.40565 -26.794567, 21.51585 -26.825233, 21.60145 -26.822367, 21.7256 -26.8238, 21.8187 -26.7917,
+ 21.8615 -26.673333, 21.9364 -26.606267, 22.0648 -26.533533, 22.14935 -26.492867, 22.2221 -26.3802, 22.2927 -26.303167, 22.37405 -26.2347, 22.60625 -26.064233, 22.74215 -25.885233, 22.86195 -25.679833,
+ 22.88765 -25.449467, 22.94115 -25.3211, 23.015 -25.297567, 23.1862 -25.297567, 23.3595 -25.2776, 23.47825 -25.252633, 23.55745 -25.275467, 23.70725 -25.399567, 23.8089 -25.5643, 23.856 -25.6114,
+ 24.0293 -25.7155, 24.2679 -25.773267, 24.45835 -25.810367, 24.64345 -25.836767, 24.84035 -25.815367, 25.01905 -25.783267, 25.263 -25.771867, 25.3989 -25.745467, 25.4952 -25.709833, 25.5979 -25.625667,
+ 25.6375 -25.4552, 25.65675 -25.336833, 25.71775 -25.1678, 25.7755 -25.040867, 25.8151 -24.8205, 25.8579 -24.7677, 25.97455 -24.667133, 26.0473 -24.655733, 26.22065 -24.657167, 26.32445 -24.6151,
+ 26.4999 -24.5395, 26.5727 -24.4539, 26.64865 -24.303433, 26.7792 -24.170767, 26.84685 -24.0709, 26.87425 -24.026267, 26.8971 -24, 26.91475 -23.972, 26.969 -23.916367, 26.95855 -23.780567,
+ 27.02255 -23.695267, 27.0566 -23.6846, 27.1314 -23.686467, 27.16405 -23.681367, 27.3417 -23.449567, 27.36815 -23.4338, 27.54545 -23.420367, 27.5778 -23.4004, 27.5938 -23.345233, 27.66055 -23.2595,
+ 27.6779 -23.247433, 27.69875 -23.2451, 27.7238 -23.2553, 27.74885 -23.258567, 27.7666 -23.2516, 27.8111 -23.201067, 27.8236 -23.171867, 27.8994 -23.095367, 27.91225 -23.068467, 27.9095 -23.045767,
+ 27.8921 -23.022567, 27.8949 -23.010067, 28.06245 -22.897867, 28.27905 -22.660033, 28.3152 -22.6313, 28.35555 -22.6109, 28.4046 -22.601633, 28.49635 -22.589567, 28.5485 -22.572867, 28.68935 -22.502867,
+ 28.71435 -22.495, 28.77135 -22.496833, 28.81585 -22.509367, 28.8367 -22.5061, 28.8538 -22.485233, 28.85795 -22.460667, 28.8517 -22.385567, 28.86075 -22.365167, 28.88575 -22.3406, 28.97585 -22.2641,
+ 29.0127 -22.2465, 29.04605 -22.2377, 29.158 -22.240933, 29.1837 -22.233033, 29.2724 -22.179733, 29.29185 -22.176967, 29.32385 -22.187633, 29.36625 -22.1941, 29.4163 -22.195967, 29.45245 -22.189933,
+ 29.4956 -22.174167, 29.54045 -22.1626, 29.5898 -22.153333, 29.7675 -22.152867, 29.81405 -22.163067, 30.0258 -22.249267, 30.12385 -22.324367, 30.143 -22.3304, 30.16105 -22.329467, 30.1861 -22.317867,
+ 30.2111 -22.313233, 30.2445 -22.315567, 30.2744 -22.3253, 30.35125 -22.371667, 30.3721 -22.378633, 30.4138 -22.3791, 30.44025 -22.373067, 30.523 -22.335967, 30.5922 -22.332267, 30.6763 -22.3202,
+ 30.78445 -22.322533, 30.81645 -22.316967, 30.85535 -22.307233, 30.8839 -22.3049, 30.9242 -22.310467, 31.00385 -22.3587, 31.07965 -22.388367, 31.1839 -22.4106, 31.2851 -22.423133, 31.38535 -22.465267,
+ 31.37875 -22.480433, 31.3842 -22.5411, 31.42785 -22.581167, 31.45335 -22.640633, 31.54345 -22.837233, 31.6026 -22.971967, 31.6117 -23.094533, 31.59985 -23.259567, 31.57805 -23.3542, 31.56075 -23.4185,
+ 31.5662 -23.456133, 31.72455 -23.621167, 31.7837 -23.7219, 31.77825 -23.825067, 31.8283 -23.9452, 31.8283 -24, 31.85315 -24.124233, 31.8863 -24.1977, 31.9291 -24.313267, 31.9473 -24.497967,
+ 31.9387 -24.654867, 31.93765 -24.793933, 31.98685 -24.903767, 32.0211 -25.010733, 32.00825 -25.216867, 31.9719 -25.529933, 31.93335 -25.712533, 31.91945 -25.747467, 31.9922 -25.891533, 32.04145 -25.986967,
+ 31.99145 -25.974933, 31.8435 -25.9393, 31.713 -25.893667, 31.5418 -25.772433, 31.4412 -25.746733, 31.2839 -25.720333, 31.18975 -25.7617, 31.09985 -25.8915, 31.0346 -26.0762, 30.97465 -26.141833,
+ 30.88155 -26.2324, 30.8259 -26.325133, 30.7553 -26.4535, 30.7093 -26.5997, 30.7157 -26.672433, 30.77135 -26.749467, 30.87515 -26.868567, 31.0485 -27.066833, 31.18865 -27.181667, 31.3021 -27.2487,
+ 31.4369 -27.274367, 31.60705 -27.2651, 31.8681 -27.246567, 31.95265 -27.1945, 31.97615 -27.071833, 31.97615 -26.959167, 31.9858 -26.867167, 32.0243 -26.8315, 32.1711 -26.753233, 32.2211 -26.726567,
+ 32.325 -26.737367, 32.4363 -26.7445, 32.64385 -26.755933, 32.7432 -26.763633, 32.7932 -26.767533, 32.79355 -26.7899, 32.80535 -27.017267, 32.7968 -27.0572, 32.7679 -27.137733, 32.63315 -27.382933,
+ 32.58505 -27.507667, 32.5722 -27.588933, 32.5444 -27.7115, 32.5369 -27.799167, 32.5369 -27.9118, 32.5262 -28.032967, 32.49945 -28.167667, 32.3861 -28.298833, 32.35505 -28.3523, 32.35295 -28.395067,
+ 32.37005 -28.432133, 32.38715 -28.4763, 32.37645 -28.507667, 32.231 -28.624567, 32.1294 -28.739333, 32.06525 -28.792067, 31.8642 -28.853367, 31.7626 -28.896833, 31.70055 -28.952433, 31.57865 -29.080733,
+ 31.4803 -29.181933, 31.32095 -29.367967, 31.229 -29.501967, 31.15945 -29.602467, 31.0461 -29.723633, 31.029 -29.764967, 31.0386 -29.779933, 31.05785 -29.774233, 31.0878 -29.7671, 31.09635 -29.774233,
+ 31.01505 -29.8569, 30.88035 -30.0123, 30.813 -30.1242, 30.8023 -30.175533, 30.77235 -30.236833, 30.6975 -30.343733, 30.59375 -30.489833, 30.46545 -30.6709, 30.29115 -30.919667, 30.14895 -31.085733,
+ 30.00995 -31.229733, 29.86775 -31.357333, 29.83565 -31.3787, 29.7758 -31.387267, 29.548 -31.533367, 29.4047 -31.606067, 29.4004 -31.620333, 29.40685 -31.637433, 29.35125 -31.688767, 29.31275 -31.748633,
+ 29.2999 -31.7928, 29.28495 -31.822733, 29.2165 -31.884033, 29.0764 -32.001667, 28.9609 -32.0772, 28.8518 -32.175567, 28.7245 -32.325967, 28.63685 -32.391533, 28.47645 -32.4956, 28.33425 -32.6403,
+ 28.18455 -32.742933, 28.07655 -32.840567, 27.91405 -32.9589, 27.8135 -33.030167, 27.7354 -33.057967, 27.66485 -33.1107, 27.54295 -33.186267, 27.48945 -33.220467, 27.34725 -33.3452, 27.20395 -33.435,
+ 27.1227 -33.474933, 26.92485 -33.538367, 26.7666 -33.575433, 26.50885 -33.664533, 26.45325 -33.673067, 26.40195 -33.673067, 26.1186 -33.665233, 25.95605 -33.673767, 25.8374 -33.690167, 25.74325 -33.718667,
+ 25.68765 -33.7586, 25.65985 -33.8156, 25.6727 -33.866933, 25.7112 -33.9154, 25.7379 -33.9432, 25.7379 -33.958867, 25.7251 -33.974567, 25.67375 -33.9831, 25.50265 -33.976, 25.3444 -33.941767,
+ 25.27915 -33.908267, 25.11235 -33.875467, 24.9605 -33.866933, 24.9359 -33.8705, 24.9209 -33.890467, 24.953 -33.930367, 24.94655 -33.958867, 24.87385 -34.025867, 24.86315 -34.0601, 24.876 -34.1114,
+ 24.8535 -34.126367, 24.8086 -34.123533, 24.6204 -34.0722, 24.44505 -34.020867, 24.33065 -33.995933, 24.16595 -33.9888, 24.0462 -33.970267, 23.86975 -33.9724, 23.70935 -33.941033, 23.6078 -33.926067,
+ 23.5158 -33.936033, 23.4046 -33.968833, 23.33405 -33.971667, 23.2945 -33.9952, 23.2881 -34.015133, 23.32015 -34.042233, 23.3266 -34.053633, 23.3159 -34.0622, 23.29025 -34.0622, 23.2282 -34.049367,
+ 23.09135 -34.053633, 22.96515 -34.055067, 22.87215 -34.0287, 22.75665 -33.965967, 22.6369 -33.9403, 22.56735 -33.936733, 22.50105 -33.9624, 22.4647 -33.988067, 22.4262 -33.9966, 22.32995 -33.986633,
+ 22.2701 -33.988067, 22.207 -33.993067, 22.15995 -34.0002, 22.13855 -34.0187, 22.1642 -34.037233, 22.18775 -34.058633, 22.1963 -34.088567, 22.18345 -34.102833, 22.1086 -34.114233, 21.9867 -34.108533,
+ 21.91825 -34.119933, 21.883 -34.144867, 21.88085 -34.183367, 21.89155 -34.2076, 21.81885 -34.271767, 21.7675 -34.298833, 21.69905 -34.298833, 21.57715 -34.283167, 21.50555 -34.283867, 21.3922 -34.3352,
+ 21.27455 -34.353733, 21.2211 -34.353733, 21.01685 -34.277467, 20.9591 -34.277467, 20.8265 -34.304567, 20.7741 -34.319533, 20.7634 -34.3352, 20.79975 -34.355167, 20.8596 -34.383667, 20.8468 -34.397933,
+ 20.7634 -34.4022, 20.6329 -34.4008, 20.53455 -34.4236, 20.4597 -34.4578, 20.1827 -34.628133, 20.0886 -34.676633, 20.049 -34.710133, 20.02975 -34.760033, 20.00195 -34.782833, 19.97415 -34.7871,
+ 19.9164 -34.728667, 19.8779 -34.717267, 19.74315 -34.722967, 19.7036 -34.709433, 19.67155 -34.6581, 19.58385 -34.615333, 19.5261 -34.6068, 19.4833 -34.566867, 19.4384 -34.5355, 19.35715 -34.5355,
+ 19.339 -34.527667, 19.339 -34.520533, 19.39245 -34.4749, 19.39245 -34.447833, 19.3604 -34.427867, 19.3005 -34.392233, 19.2299 -34.387967, 19.1636 -34.377967, 19.11655 -34.353733, 19.123 -34.326667,
+ 19.15295 -34.2839, 19.14765 -34.266067, 19.12625 -34.251833, 19.1006 -34.260367, 19.0471 -34.2946, 18.9958 -34.310267, 18.9017 -34.306, 18.79045 -34.331667, 18.7552 -34.3224, 18.7445 -34.2996,
+ 18.77655 -34.275367, 18.7894 -34.2212, 18.82575 -34.1485, 18.8343 -34.095733, 18.7947 -34.0551, 18.73695 -34.013767, 18.64715 -33.983833, 18.5894 -33.992367, 18.54875 -34.022333, 18.4803 -34.050833,
+ 18.44285 -34.0929, 18.43645 -34.1884, 18.43645 -34.2383, 18.4172 -34.2554, 18.39365 -34.262533, 18.3616 -34.2112, 18.3402 -34.158467, 18.2953 -34.112833, 18.2739 -34.0715, 18.3017 -34.017333,
+ 18.31025 -33.980267, 18.29315 -33.9703, 18.2589 -33.963167, 18.23755 -33.944633, 18.2974 -33.894733, 18.42575 -33.849133, 18.4578 -33.8092, 18.384 -33.688733, 18.3669 -33.5362, 18.34655 -33.499833,
+ 18.29525 -33.497, 18.28455 -33.481333, 18.26315 -33.4243, 18.13485 -33.305967, 18.05355 -33.213333, 17.9263 -33.1228, 17.9135 -33.0943, 17.9349 -33.078633, 17.9691 -33.098567, 18.05035 -33.147033,
+ 18.0953 -33.1556, 18.11455 -33.1442, 18.03755 -33.068633, 17.9648 -33.028733, 17.9584 -33.001633, 18.00545 -32.974567, 18.0258 -32.9482, 18.0108 -32.9254, 17.96805 -32.9254, 17.8825 -32.9881,
+ 17.85255 -32.9995, 17.79265 -32.9995, 17.77345 -32.983833, 17.782 -32.9368, 17.73705 -32.8584, 17.73495 -32.768567, 17.8098 -32.7201, 17.8237 -32.706567, 17.83225 -32.6809, 17.8579 -32.673767,
+ 17.91135 -32.6866, 18.0461 -32.740767, 18.106 -32.756467, 18.183 -32.746467, 18.28885 -32.683033, 18.3188 -32.604633, 18.3038 -32.464933, 18.31125 -32.318833, 18.32625 -32.226167, 18.3145 -32.158467,
+ 18.26745 -32.070067, 18.2525 -32.000233, 18.2525 -31.9033, 18.2514 -31.8356, 18.21505 -31.7586, 18.13165 -31.638867, 18.10495 -31.575433, 17.99375 -31.431467, 17.89965 -31.318833, 17.781 -31.1556,
+ 17.69545 -31.0045, 17.5896 -30.7928, 17.5276 -30.6802, 17.411 -30.4571, 17.32975 -30.3673, 17.28805 -30.311, 17.2667 -30.2397, 17.2239 -30.134233, 17.19285 -30.050833, 17.1843 -29.968167,
+ 17.1715 -29.921133, 17.12015 -29.844133, 17.08915 -29.760733, 17.08275 -29.708, 17.0571 -29.628167, 17.0464 -29.555467, 17.0218 -29.503433, 16.94905 -29.390833, 16.9277 -29.311, 16.85815 -29.147767,
+ 16.717 -28.989533, 16.6988 -28.951767, 16.70735 -28.874767, 16.70735 -28.843433, 16.67955 -28.8149, 16.63465 -28.777833, 16.6218 -28.739367, 16.6143 -28.688767, 16.5715 -28.6403, 16.5266 -28.598967,
+ 16.50735 -28.5619),
+ (29.4251 -29.339533, 29.4267 -29.300933, 29.4317 -29.181667, 29.3921 -29.106767, 29.2744 -29.008367, 29.04465 -28.884033, 28.8368 -28.7566, 28.7041 -28.658167, 28.62815 -28.593267, 28.57675 -28.554767,
+ 28.4719 -28.549033, 28.36065 -28.5847, 28.22905 -28.619633, 28.14345 -28.662433, 28.0728 -28.7694, 27.99365 -28.8165, 27.8342 -28.868567, 27.74435 -28.9185, 27.6245 -29.029733, 27.49505 -29.1802,
+ 27.42015 -29.3571, 27.3763 -29.423433, 27.2607 -29.521833, 27.04245 -29.661633, 27.04995 -29.700867, 27.13125 -29.823533, 27.24895 -29.956167, 27.42765 -30.229333, 27.59135 -30.425467, 27.7283 -30.539567,
+ 27.9455 -30.613033, 28.05035 -30.607333, 28.21405 -30.4911, 28.2269 -30.431167, 28.23975 -30.376967, 28.274 -30.3413, 28.30075 -30.240733, 28.36925 -30.203667, 28.47625 -30.142333, 28.55325 -30.122367,
+ 28.69235 -30.073867, 28.901 -29.980433, 29.03155 -29.900567, 29.1161 -29.7615, 29.12465 -29.693033, 29.1289 -29.6317, 29.21985 -29.5397, 29.2284 -29.489767, 29.2541 -29.4427, 29.31185 -29.408467,
+ 29.36965 -29.4042, 29.40605 -29.384233, 29.41315 -29.3676, 29.4251 -29.339533))
+
+POLYGON ((-17.0553 20.761433, -17.08725 20.821367, -17.08725 21.033133, -17.0833 21.2369, -16.9754 21.593833, -16.87345 21.933433, -16.8235 22.105233, -16.76555 22.317033, -16.73355 22.346333, -16.70955 22.348967,
+ -16.60965 22.302367, -16.55965 22.2837, -16.5177 22.2784, -16.47175 22.285033, -16.35385 22.3463, -16.2979 22.402233, -16.2699 22.5314, -16.30785 22.711233, -16.2999 22.7445, -16.2639 22.789767,
+ -16.2599 22.825733, -16.2699 22.856367, -16.2599 22.867033, -16.2499 22.867033, -16.21395 22.856367, -16.182 22.860367, -16.124 22.901667, -16.08805 22.9416, -16.08405 22.976233, -16.158 23.0415,
+ -16.186 23.093467, -16.22395 23.1121, -16.2739 23.113433, -16.3099 23.125433, -16.3139 23.1414, -16.25395 23.1947, -16.21795 23.217333, -16.152 23.232, -16.09205 23.277267, -16.08605 23.3039,
+ -16.11405 23.3585, -16.11005 23.373167, -16.0661 23.415767, -15.99015 23.551633, -15.7144 23.756733, -15.7104 23.7714, -15.72035 23.7767, -15.7643 23.778033, -15.7763 23.787367, -15.7783 23.812667,
+ -15.74035 23.8846, -15.7643 23.903233, -15.8023 23.9019, -15.86625 23.8633, -15.99615 23.6928, -16.0421 23.6715, -16.0581 23.672833, -16.07205 23.690133, -16.0661 23.711467, -15.9562 23.862,
+ -15.7324 24.045767, -15.5246 24.150967, -15.28675 24.3321, -15.02895 24.467933, -14.92705 24.557167, -14.88305 24.623767, -14.87105 24.739633, -14.84105 24.894133, -14.83105 25.1485, -14.8091 25.2697,
+ -14.73515 25.429533, -14.6952 25.572033, -14.6872 25.693233, -14.64125 25.7678, -14.5373 25.881033, -14.47335 25.979567, -14.47135 26.108767, -14.45335 26.142067, -14.43535 26.1554, -14.3534 26.156733,
+ -14.32745 26.1727, -14.2255 26.292567, -14.1616 26.344533, -14.05765 26.375167, -13.9857 26.416467, -13.9218 26.440433, -13.79585 26.557667, -13.61 26.8733, -13.5261 27.025133, -13.4981 27.200967,
+ -13.40015 27.2995, -13.3182 27.581867, -13.3062 27.6218, -13.26225 27.6511, -12.7346 27.654567, -8.7336 27.654233, -8.6836 27.654233, -8.69675 27.406533, -8.69855 27.3732, -8.714 27.085533,
+ -8.694 26.019233, -10.2775 26.008133, -11.8277 26.0059, -11.9777 26.012567, -11.92435 24.852967, -11.9344 23.433433, -12.3511 23.4623, -12.58445 23.404567, -12.9912 23.106867, -13.1912 22.889167,
+ -13.06785 21.949467, -13.0078 21.4652, -13.0178 21.338567, -14.41795 21.347467, -15.9815 21.336367, -16.9516 21.325267, -17.0583 21.067567, -17.0583 20.8543, -17.0553 20.761433))
+
+POLYGON ((-14.97085 11.0465, -14.9336 11.079833, -14.8775 11.13, -14.8148 11.224167, -14.67555 11.424433, -14.59795 11.4748, -14.44775 11.523867, -14.2826 11.6326, -14.209 11.649833, -13.97525 11.6538,
+ -13.88175 11.7002, -13.84395 11.710833, -13.81015 11.7095, -13.76635 11.692267, -13.7226 11.692267, -13.6868 11.7095, -13.67285 11.766533, -13.6563 12, -13.656 12.0042, -13.6464 12.147733,
+ -13.68435 12.291433, -13.8194 12.389333, -13.8431 12.4225, -13.8431 12.455633, -13.8218 12.4667, -13.7317 12.469867, -13.69855 12.479333, -13.6488 12.531433, -13.6502 12.6387, -13.65065 12.672033,
+ -13.38685 12.657733, -13.1208 12.5736, -13.0802 12.4737, -13.0306 12.4617, -12.95395 12.4617, -12.87955 12.497733, -12.84575 12.502267, -12.78935 12.494733, -12.6135 12.422633, -12.43765 12.354267,
+ -12.39255 12.294167, -12.3497 12.283667, -12.3204 12.288167, -12.16255 12.409833, -12.0047 12.526233, -11.89875 12.5608, -11.65525 12.5593, -11.5989 12.5405, -11.5446 12.514, -11.4946 12.489567,
+ -11.3913 12.429, -11.60215 12.303667, -11.56495 12.254067, -11.4244 12.141167, -11.17225 12.033733, -11.12265 12.237567, -10.97385 12.358733, -10.9201 12.3615, -10.91185 12.3257, -10.92835 12.149433,
+ -10.8953 12.053, -10.8457 12.019967, -10.8209 12.019967, -10.72995 12.058533, -10.6969 12.058533, -10.6706 12.034, -10.6342 12, -10.6155 11.973867, -10.6018 11.9581, -10.58715 11.9458,
+ -10.5777 11.943933, -10.56825 11.944533, -10.5583 11.948633, -10.5465 11.9559, -10.5241 11.975267, -10.4917 11.987633, -10.4546 11.986067, -10.3944 11.966, -10.31445 11.925867, -10.1407 11.925833,
+ -10.0388 11.958267, -9.96635 12, -9.80655 12.0866, -9.7355 12.1323, -9.36645 12.279433, -9.1426 12.388267, -8.90365 12.335867, -8.9702 12.136333, -8.75615 12.0537, -8.748 11.998,
+ -8.76415 11.8969, -8.88245 11.7123, -8.8986 11.674667, -8.86635 11.6263, -8.77625 11.5761, -8.4401 11.4435, -8.28955 11.3449, -8.6176 11.149567, -8.666 11.102967, -8.68615 11.038433,
+ -8.6915 10.9775, -8.68885 10.9273, -8.6458 10.904, -8.6458 10.889667, -8.68615 10.8162, -8.68615 10.783933, -8.67 10.7696, -8.627 10.771367, -8.51945 10.807233, -8.42265 10.947033,
+ -8.385 10.9739, -8.3124 10.982867, -8.20755 10.9524, -8.17795 10.921933, -8.28015 10.7176, -8.3339 10.619033, -8.33525 10.5814, -8.26805 10.545533, -8.19545 10.5366, -7.9427 10.529433,
+ -7.8284 10.525833, -7.7531 10.4882, -7.7101 10.351967, -7.74665 10.318633, -7.8657 10.2101, -8.01195 10.1136, -8.1763 10.0171, -8.24 9.941833, -8.2429 9.8897, -8.21395 9.8318,
+ -8.15825 9.749767, -8.13075 9.593433, -8.05475 9.4641, -7.92445 9.3319, -7.82385 9.070367, -7.8246 9.024033, -7.8724 8.974833, -7.93175 8.8426, -7.92815 8.8098, -7.9079 8.777933,
+ -7.8717 8.7625, -7.80655 8.744167, -7.7443 8.553067, -7.68565 8.392867, -7.69145 8.3697, -7.71315 8.354267, -7.75225 8.352333, -8.0027 8.4199, -8.1004 8.416033, -8.16845 8.3977,
+ -8.2003 8.368767, -8.21045 8.316633, -8.18725 8.197933, -8.1583 8.145833, -8.0982 8.119767, -8.02145 8.090833, -7.97515 8.0416, -7.9838 8.0223, -8.01565 8.0146, -8.0866 8.018433,
+ -8.12425 8.0088, -8.16625 7.972133, -8.2444 7.831233, -8.24365 7.800367, -8.20455 7.725067, -8.20455 7.6633, -8.22195 7.587067, -8.22415 7.496367, -8.2647 7.4674, -8.29945 7.4645,
+ -8.3501 7.4761, -8.4254 7.502133, -8.49635 7.5147, -8.5579 7.507933, -8.6301 7.561167, -8.65145 7.628733, -8.6817 7.6477, -8.70835 7.6489, -8.73505 7.638233, -8.7564 7.612133,
+ -8.74215 7.5031, -8.7706 7.4616, -8.8471 7.409433, -8.86665 7.370333, -8.86665 7.309867, -8.9529 7.2423, -9.07915 7.179467, -9.11475 7.180667, -9.1485 7.197267, -9.17875 7.2257,
+ -9.17875 7.269567, -9.23565 7.330033, -9.313 7.363233, -9.38235 7.366767, -9.4266 7.3854, -9.39175 7.440133, -9.3625 7.5241, -9.35265 7.601867, -9.42145 7.685633, -9.45345 7.820767,
+ -9.5246 8.034133, -9.52105 8.245133, -9.5406 8.3613, -9.65085 8.4443, -9.65835 8.468233, -9.68585 8.478333, -9.719 8.4714, -9.7427 8.4739, -9.75405 8.484, -9.74555 8.5118,
+ -9.7465 8.520633, -9.76355 8.526333, -9.78345 8.521267, -9.86395 8.466333, -9.92935 8.4354, -9.9663 8.432233, -10.01365 8.4518, -10.1174 8.466333, -10.2617 8.453, -10.3415 8.430967,
+ -10.4201 8.379833, -10.5087 8.302133, -10.62715 8.260433, -10.7669 8.243367, -10.8351 8.262333, -10.84645 8.277467, -10.84645 8.304, -10.7536 8.411367, -10.69675 8.5339, -10.55655 8.670333,
+ -10.54045 8.727167, -10.61625 8.858533, -10.61435 8.902767, -10.5859 8.982333, -10.6134 9.0114, -10.69865 9.0354, -10.74605 9.058133, -10.7593 9.087167, -10.7555 9.1238, -10.71 9.2337,
+ -10.7498 9.318333, -10.8796 9.414333, -10.9175 9.476233, -10.927 9.581067, -10.98005 9.658133, -11.15535 9.880433, -11.2766 9.9878, -11.35715 10.006733, -11.4405 10.008, -11.7058 10.004233,
+ -11.8773 9.9954, -11.97205 9.9613, -12.08005 9.8893, -12.17765 9.870367, -12.21175 9.877933, -12.32355 9.912033, -12.3937 9.9171, -12.5017 9.894367, -12.54815 9.853933, -12.5576 9.813533,
+ -12.6258 9.5293, -12.66275 9.4055, -12.7196 9.332233, -12.7556 9.315833, -12.77835 9.295633, -12.78215 9.272867, -12.7992 9.2615, -12.82195 9.2615, -12.875 9.2792, -12.89585 9.280467,
+ -12.92235 9.2691, -12.9527 9.214767, -12.98585 9.1213, -13.02945 9.070767, -13.06355 9.054333, -13.11285 9.053067, -13.164 9.0657, -13.2057 9.085933, -13.2398 9.0897, -13.2758 9.0872,
+ -13.28415 9.090467, -13.33415 9.110133, -13.24585 9.237733, -13.1995 9.284033, -13.1947 9.3207, -13.2159 9.337433, -13.24585 9.345133, -13.2979 9.3387, -13.3259 9.345133, -13.37605 9.391433,
+ -13.39775 9.397233, -13.43535 9.397233, -13.4556 9.408167, -13.4498 9.452533, -13.472 9.4712, -13.4942 9.470567, -13.5434 9.442267, -13.56945 9.442267, -13.59595 9.4622, -13.59305 9.4879,
+ -13.5834 9.512367, -13.53615 9.543867, -13.53325 9.567667, -13.5516 9.576667, -13.57185 9.5773, -13.5969 9.5696, -13.6384 9.536133, -13.6606 9.5323, -13.6847 9.541933, -13.71075 9.576667,
+ -13.74435 9.6326, -13.75405 9.6861, -13.74735 9.746133, -13.7259 9.779267, -13.69935 9.791267, -13.64705 9.785, -13.60935 9.794133, -13.57075 9.8307, -13.57975 9.8593, -13.5986 9.867867,
+ -13.62 9.867867, -13.6466 9.858133, -13.65775 9.8593, -13.6646 9.8673, -13.65945 9.897567, -13.66545 9.909567, -13.68175 9.913, -13.69975 9.911867, -13.71085 9.904433, -13.72375 9.865,
+ -13.74085 9.847867, -13.7601 9.8227, -13.7884 9.822133, -13.8141 9.831267, -13.8261 9.850133, -13.80385 9.882133, -13.79525 9.9067, -13.73435 9.956433, -13.7258 9.973567, -13.73605 9.988433,
+ -13.75835 9.987267, -13.7738 9.975833, -13.8012 9.927833, -13.8595 9.897, -13.89035 9.900433, -13.9521 9.943833, -14.0121 9.975833, -14.01895 10.003267, -14.00865 10.084433, -14.04295 10.124433,
+ -14.11495 10.175867, -14.18695 10.185, -14.22205 10.202133, -14.25465 10.201, -14.27005 10.194133, -14.2752 10.1713, -14.2598 10.1553, -14.21865 10.129, -14.19635 10.105, -14.15865 10.101567,
+ -14.13805 10.085567, -14.1295 10.065, -14.14665 10.053567, -14.1655 10.053567, -14.20835 10.084433, -14.26665 10.1073, -14.29235 10.143867, -14.32665 10.1633, -14.37465 10.226133, -14.4141 10.234133,
+ -14.43125 10.231867, -14.4844 10.213567, -14.50325 10.218133, -14.51435 10.236433, -14.50065 10.300433, -14.51265 10.324433, -14.5761 10.355267, -14.59495 10.395267, -14.5881 10.500433, -14.59925 10.522133,
+ -14.61985 10.5233, -14.65755 10.518733, -14.7124 10.503867, -14.7347 10.505, -14.7484 10.5233, -14.7484 10.542733, -14.68325 10.629567, -14.6764 10.687867, -14.65415 10.750733, -14.6044 10.7953,
+ -14.5564 10.818167, -14.55295 10.8273, -14.5598 10.8296, -14.57695 10.8273, -14.63185 10.8136, -14.6627 10.8113, -14.7107 10.8136, -14.73125 10.804467, -14.7381 10.7816, -14.754 10.772167,
+ -14.76425 10.772167, -14.78975 10.7781, -14.8025 10.775567, -14.8446 10.753467, -14.87775 10.7458, -14.8994 10.750067, -14.90705 10.763667, -14.9007 10.7849, -14.8739 10.7968, -14.828 10.814667,
+ -14.7808 10.8997, -14.77445 10.932, -14.7859 10.9575, -14.777 10.973667, -14.7489 10.988967, -14.6762 11.008533, -14.6558 11.0417, -14.6609 11.059533, -14.67365 11.0621, -14.70555 11.0485,
+ -14.7387 11.0417, -14.78845 11.039133, -14.82415 11.0247, -14.8701 10.987267, -14.88665 10.985567, -14.89815 10.991533, -14.8994 11.002567, -14.879 11.0315, -14.87775 11.04, -14.8892 11.045933,
+ -14.97085 11.0465))
+
+POLYGON ((-16.7495 13.105767, -16.77945 13.105767, -16.79745 13.116433, -16.79745 13.129767, -16.77545 13.159067, -16.77545 13.1817, -16.7555 13.1937, -16.7575 13.209667, -16.78345 13.234967, -16.78345 13.2616,
+ -16.76945 13.301567, -16.77945 13.354833, -16.76145 13.384133, -16.69155 13.4241, -16.66555 13.425433, -16.6296 13.409433, -16.6296 13.322867, -16.5816 13.301567, -16.54165 13.301567, -16.5077 13.2869,
+ -16.44975 13.2776, -16.3618 13.2776, -16.33185 13.2736, -16.28985 13.2536, -16.2719 13.2536, -16.2339 13.278933, -16.18395 13.385467, -16.15595 13.405467, -16.07205 13.412133, -15.9901 13.4268,
+ -15.80425 13.4401, -15.7343 13.4441, -15.7083 13.4481, -15.66835 13.4814, -15.6404 13.484067, -15.6284 13.4774, -15.6264 13.458767, -15.6124 13.450767, -15.5984 13.454767, -15.56645 13.488067,
+ -15.56445 13.513367, -15.56845 13.522667, -15.5804 13.522667, -15.6084 13.5107, -15.65835 13.513367, -15.7683 13.4894, -16.0221 13.462767, -16.18795 13.445433, -16.2299 13.425467, -16.2499 13.3855,
+ -16.30385 13.333567, -16.3378 13.332233, -16.39775 13.3642, -16.4857 13.3682, -16.5237 13.382867, -16.57965 13.468133, -16.56965 13.549367, -16.5257 13.585333, -16.5277 13.599967, -16.37665 13.6096,
+ -16.1088 13.599367, -15.7268 13.630067, -15.55995 13.617633, -15.43705 13.6308, -15.37995 13.6776, -15.3492 13.731733, -15.2614 13.7493, -15.11435 13.744167, -14.96285 13.7983, -14.9321 13.7983,
+ -14.7806 13.755867, -14.7411 13.730267, -14.7367 13.701, -14.7367 13.6776, -14.72135 13.646867, -14.6489 13.6103, -14.5523 13.608833, -14.493 13.604467, -14.4535 13.581067, -14.38545 13.4801,
+ -14.28225 13.451567, -14.22515 13.453033, -14.0539 13.508633, -13.9705 13.5174, -13.92005 13.504967, -13.8271 13.4401, -13.83685 13.413333, -13.8563 13.390633, -13.86705 13.389267, -13.87395 13.3338,
+ -14.06055 13.229933, -14.2801 13.208, -14.44035 13.2241, -14.684 13.3053, -14.96285 13.416467, -15.0748 13.490333, -15.13625 13.506433, -15.1692 13.499133, -15.19995 13.4845, -15.2241 13.387933,
+ -15.27895 13.358667, -15.4041 13.366, -15.52705 13.376967, -15.63685 13.372567, -15.7159 13.346267, -15.77735 13.278967, -15.83665 13.179467, -16.31525 13.190433, -16.515 13.218967, -16.58965 13.210167,
+ -16.7016 13.1502, -16.7495 13.105767))
+
+POLYGON ((13.5963 13.8027, 13.611 14.040333, 13.6584 14.737967, 13.68455 15.045367, 14.06555 15.396367, 14.8619 16.094, 15.5258 16.704433, 15.5438 16.7851, 15.53075 17.029267, 15.55365 17.360633,
+ 15.5291 17.692033, 15.552 18.1215, 15.5667 18.176, 15.57325 18.343867, 15.6632 18.797333, 15.7564 19.388133, 15.8349 19.7413, 15.78095 20.0487, 15.85945 20.2776, 15.95105 20.4978,
+ 15.93465 20.561033, 15.8709 20.6068, 15.5373 20.735433, 15.42615 20.827, 15.42615 20.8728, 15.4948 20.942567, 15.50135 20.988333, 15.4392 21.038467, 15.4016 21.1344, 15.31005 21.223767,
+ 15.14325 21.457067, 15.104 21.5813, 15.11545 21.6598, 15.122 22.265867, 15.0844 22.353067, 14.983 22.444633, 14.95685 22.621233, 14.9405 22.769467, 14.86525 22.880667, 14.8211 22.928,
+ 14.78115 22.9709, 14.8134 22.983467, 14.99115 23.064267, 15.675 23.339, 16.03155 23.507333, 16.18305 23.44, 16.88305 23.081767, 17.40525 22.819167, 18.0972 22.4731, 18.7426 22.1647,
+ 19.69815 21.6853, 20.1941 21.4429, 20.4244 21.324367, 20.6456 21.228767, 20.85775 21.107567, 21.7537 20.673933, 22.94155 20.107, 23.60315 19.817467, 24.02125 19.623867, 24.07125 19.6007,
+ 24.07095 19.541733, 24.07785 18.956333, 24.0681 18.370933, 24.08065 17.7837, 24.0598 17.466933, 24.0737 17.202033, 24.07235 16.620367, 24.05425 16.255467, 24.04595 16.0387, 24.0501 15.718233,
+ 24.0223 15.690467, 23.91395 15.6886, 23.76665 15.721933, 23.4304 15.7701, 23.3568 15.768267, 23.2762 15.738633, 22.97885 15.594133, 22.87325 15.483, 22.8788 15.440367, 22.99275 15.290333,
+ 22.99965 15.199533, 22.97465 15.103233, 22.7968 14.786467, 22.75095 14.743833, 22.6537 14.729033, 22.4675 14.712367, 22.3925 14.666033, 22.3091 14.5512, 22.3008 14.4456, 22.31745 14.3604,
+ 22.37715 14.3048, 22.47165 14.2863, 22.49945 14.2585, 22.48 14.139933, 22.40775 14.0677, 22.12705 13.941733, 22.04505 13.8954, 22.03395 13.875033, 22.19235 13.667567, 22.32295 13.4471,
+ 22.2993 13.395233, 21.9436 13.169233, 21.88525 13.0859, 21.8241 12.887667, 21.8255 12.8228, 21.88385 12.7265, 21.9617 12.693133, 22.12565 12.700567, 22.18675 12.7302, 22.29795 12.724633,
+ 22.4897 12.676467, 22.53 12.6357, 22.48 12.502333, 22.48835 12.263367, 22.5439 12.181833, 22.6148 12.122567, 22.68705 12.104033, 22.78985 12.1133, 22.8371 12.100333, 22.84545 12.0744,
+ 22.8368 12, 22.8347 11.9889, 22.82555 11.939967, 22.7731 11.9091, 22.72685 11.882367, 22.7299 11.820667, 22.68675 11.7528, 22.6343 11.695233, 22.62815 11.6397, 22.63585 11.5626,
+ 22.71915 11.480333, 22.81165 11.404267, 22.88145 11.3469, 22.8651 11.334633, 22.8414 11.293567, 22.8319 11.1846, 22.8627 11.0835, 22.858 11.062967, 22.8023 11.0369, 22.6317 10.987933,
+ 22.4564 10.924733, 22.3545 10.924733, 22.2816 10.915267, 22.2534 10.912733, 22.21435 10.900033, 22.1306 10.876567, 21.93635 10.772333, 21.81315 10.694933, 21.75155 10.6191, 21.69585 10.498267,
+ 21.6627 10.3877, 21.63665 10.261333, 21.5241 10.1105, 21.39145 9.9873, 21.32745 9.9415, 21.32035 9.9162, 21.32745 9.8783, 21.32745 9.837233, 21.3014 9.793, 21.2244 9.729033,
+ 21.1675 9.6848, 21.15565 9.6611, 21.1438 9.612133, 21.1059 9.4842, 21.068 9.439967, 20.9898 9.402067, 20.94125 9.3681, 20.89625 9.293867, 20.87255 9.2528, 20.83465 9.243333,
+ 20.7138 9.233833, 20.65695 9.225933, 20.61195 9.207, 20.5693 9.1754, 20.5314 9.165933, 20.4141 9.1288, 20.15585 9.057733, 20.035 9.011933, 19.87865 8.9819, 19.6974 8.9748,
+ 19.5671 8.977967, 19.3657 9.0127, 19.22355 9.0206, 19.143 9.011133, 19.0174 8.949533, 18.96055 8.895833, 18.9416 8.872133, 18.9345 8.8058, 18.9858 8.7821, 19.09915 8.7304,
+ 19.14685 8.6763, 19.15165 8.636567, 19.1421 8.617467, 19.092 8.574533, 19.0707 8.516233, 19.01465 8.490833, 18.86465 8.406767, 18.8205 8.378933, 18.61585 8.276967, 18.38035 8.188167,
+ 17.99565 8.013867, 17.86615 7.9925, 17.73055 7.9859, 17.3878 7.7672, 16.8811 7.561667, 16.8232 7.561667, 16.76895 7.609367, 16.7048 7.7146, 16.65055 7.7442, 16.54455 7.7442,
+ 16.4903 7.731033, 16.4459 7.686633, 16.4089 7.6143, 16.41015 7.548533, 16.4003 7.530433, 16.35345 7.523867, 16.05755 7.532067, 15.78875 7.545233, 15.5853 7.5732, 15.6223 7.6258,
+ 15.66915 7.6883, 15.57545 7.8774, 15.4016 8.178333, 15.1982 8.479267, 15.14765 8.5993, 15.0318 8.7062, 14.8148 8.831167, 14.641 8.908467, 14.56205 8.961067, 14.4215 9.109067,
+ 14.29205 9.349133, 14.18355 9.446167, 14.0935 9.515233, 14.07625 9.559633, 14.0886 9.664867, 14.16995 9.793133, 14.32895 9.886867, 14.5065 9.955933, 14.7383 9.959233, 14.9516 9.937867,
+ 15.05025 9.937867, 15.10695 9.9658, 15.1489 9.9806, 15.2426 9.9839, 15.31785 9.9658, 15.40415 9.9247, 15.57675 9.901667, 15.6507 9.918133, 15.70995 9.959567, 15.7506 9.992067,
+ 15.7278 10.009433, 15.64425 10.0706, 15.50075 10.213633, 15.4112 10.276767, 15.3402 10.308333, 15.30025 10.331033, 15.2707 10.368533, 15.2463 10.454367, 15.21675 10.490867, 15.17825 10.5165,
+ 15.14865 10.530333, 15.13015 10.556, 15.0739 10.714833, 15.04065 10.767133, 15.04065 10.809533, 15.0584 10.911167, 15.01775 11.050267, 15.0222 11.118333, 15.06735 11.2298, 15.06735 11.2683,
+ 15.04665 11.293933, 15.0533 11.359033, 15.074 11.416267, 15.0666 11.444867, 15.05625 11.488267, 15.07325 11.584933, 15.06585 11.621467, 15.07325 11.6471, 15.1006 11.685567, 15.1006 11.726033,
+ 15.0784 11.7655, 15.0562 11.8089, 15.0681 11.927067, 15.07065 11.9545, 15.09075 12, 15.0923 12.036467, 15.04495 12.095533, 15.0342 12.145533, 15.0217 12.149067, 14.95895 12.1766,
+ 14.9094 12.240467, 14.9061 12.3258, 14.9424 12.385267, 14.94905 12.414433, 14.9309 12.448567, 14.9193 12.497033, 14.9309 12.5642, 14.92265 12.5978, 14.883 12.626433, 14.80375 12.653967,
+ 14.7707 12.678167, 14.774 12.7035, 14.7988 12.731033, 14.812 12.757467, 14.78725 12.791033, 14.7493 12.800967, 14.65185 12.791033, 14.60725 12.798767, 14.50865 12.8613, 14.4797 12.8756,
+ 14.47465 12.883167, 14.52455 12.949067, 14.4849 13.0019, 14.25035 13.052567, 14.19255 13.113933, 14.15035 13.158733, 14.1506 13.163933, 13.8023 13.5193, 13.68785 13.741667, 13.5963 13.8027))
+
+POLYGON ((29.36615 -4.513167, 29.38275 -4.499667, 29.4215 -4.468233, 29.4937 -4.4506, 29.7295 -4.465033, 29.8462 -4.442567, 29.993 -4.3559, 30.1891 -4.1425, 30.21075 -4.081533, 30.1987 -4.026967,
+ 30.2276 -3.966, 30.29135 -3.890567, 30.3828 -3.8408, 30.48385 -3.816733, 30.51995 -3.795867, 30.5079 -3.746133, 30.4694 -3.683567, 30.48265 -3.6306, 30.6198 -3.4974, 30.87485 -3.399533,
+ 30.8881 -3.377067, 30.852 -3.276, 30.8376 -3.158867, 30.8761 -3.097867, 30.86405 -3.078633, 30.846 -3.0722, 30.7353 -3.089833, 30.6992 -3.083433, 30.59095 -3.0385, 30.4634 -3.0401,
+ 30.39605 -3.014433, 30.3792 -2.995167, 30.3852 -2.9342, 30.37555 -2.812233, 30.32265 -2.711133, 30.32265 -2.669433, 30.3674 -2.632233, 30.4075 -2.5989, 30.469 -2.5514, 30.55845 -2.483133,
+ 30.64005 -2.446867, 30.6994 -2.443567, 30.7328 -2.422, 30.77095 -2.424033, 30.8335 -2.4112, 30.8648 -2.372667, 30.8612 -2.290867, 30.8492 -2.186567, 30.87085 -2.111167, 30.854 -2.0598,
+ 30.80945 -1.9796, 30.81905 -1.9026, 30.8431 -1.8416, 30.7842 -1.714833, 30.6976 -1.573633, 30.63745 -1.499833, 30.5893 -1.475767, 30.5737 -1.4613, 30.5761 -1.432433, 30.5761 -1.3891,
+ 30.51695 -1.294867, 30.4632 -1.259367, 30.44345 -1.2198, 30.44715 -1.1621, 30.4509 -1.1339, 30.5255 -1.137133, 30.896 -1.0938, 31.19555 -1.080933, 31.44095 -1.0601, 31.98595 -1.076167,
+ 32.2639 -1.092233, 32.5815 -1.0778, 33.1457 -1.0794, 33.66275 -1.098167, 33.75485 -1.0937, 33.8036 -1.0693, 34.14205 -1.207167, 34.60675 -1.436467, 34.83055 -1.577667, 35.2528 -1.832767,
+ 35.79295 -2.1264, 36.3355 -2.426433, 36.91175 -2.747333, 37.19925 -2.923833, 37.47115 -3.0586, 37.6215 -3.148467, 37.66965 -3.225467, 37.70335 -3.318533, 37.69975 -3.4164, 37.65885 -3.456533,
+ 37.5939 -3.5191, 37.57465 -3.544767, 37.58665 -3.575267, 37.62155 -3.602533, 37.66005 -3.610567, 37.70575 -3.610567, 37.73945 -3.615367, 37.7707 -3.641067, 37.7683 -3.7261, 37.78755 -3.7662,
+ 37.8958 -3.8432, 38.4215 -4.154467, 38.80525 -4.399967, 39.00255 -4.504233, 39.246 -4.653167, 39.2463 -4.6597, 39.23695 -4.6805, 39.22135 -4.7065, 39.22055 -4.744467, 39.23305 -4.788133,
+ 39.2502 -4.8287, 39.24705 -4.847433, 39.22365 -4.874467, 39.22055 -4.889033, 39.23145 -4.9244, 39.25175 -4.9608, 39.2494 -4.9998, 39.23845 -5.014367, 39.21195 -5.021633, 39.187 -5.019567,
+ 39.17605 -5.005, 39.16045 -4.990433, 39.1464 -4.990433, 39.12615 -5.002933, 39.123 -5.019567, 39.1355 -5.031, 39.162 -5.044533, 39.16515 -5.055967, 39.14955 -5.065333, 39.1152 -5.083,
+ 39.10585 -5.0934, 39.1121 -5.102767, 39.1402 -5.121467, 39.14485 -5.149567, 39.13705 -5.182833, 39.11365 -5.229633, 39.11755 -5.2447, 39.13315 -5.248867, 39.15185 -5.242633, 39.17215 -5.228067,
+ 39.18615 -5.2291, 39.19865 -5.2395, 39.19865 -5.256167, 39.18615 -5.2811, 39.16275 -5.315433, 39.1378 -5.378867, 39.1097 -5.401767, 39.03795 -5.432967, 39.0239 -5.432967, 38.9974 -5.432967,
+ 38.9818 -5.437133, 38.95685 -5.463133, 38.9451 -5.4678, 38.8999 -5.471967, 38.8921 -5.477167, 38.90455 -5.486533, 38.9467 -5.5198, 38.95605 -5.557267, 38.9529 -5.633167, 38.93575 -5.671667,
+ 38.8874 -5.712233, 38.8804 -5.7242, 38.89755 -5.771, 38.89755 -5.8022, 38.8773 -5.845867, 38.8539 -5.873967, 38.8305 -5.8802, 38.8149 -5.8906, 38.8102 -5.909333, 38.81175 -5.941567,
+ 38.8133 -5.964433, 38.80785 -5.980567, 38.78135 -6.0024, 38.77665 -6.0211, 38.772 -6.056467, 38.78135 -6.113667, 38.7938 -6.1532, 38.7949 -6.156433, 38.8094 -6.197933, 38.8055 -6.226533,
+ 38.80085 -6.2567, 38.7899 -6.265, 38.74935 -6.278533, 38.74 -6.2858, 38.74155 -6.310767, 38.75715 -6.323267, 38.76965 -6.335733, 38.7743 -6.367967, 38.75715 -6.444933, 38.7704 -6.453767,
+ 38.78755 -6.453767, 38.81565 -6.424667, 38.825 -6.4236, 38.8406 -6.427767, 38.92795 -6.4829, 38.94045 -6.5141, 38.9623 -6.5297, 39.0091 -6.535933, 39.0231 -6.541133, 39.0434 -6.559867,
+ 39.0668 -6.561933, 39.0933 -6.5609, 39.1027 -6.562967, 39.1082 -6.578033, 39.11755 -6.611333, 39.14565 -6.632133, 39.19085 -6.676833, 39.19085 -6.687233, 39.1784 -6.690367, 39.1425 -6.679967,
+ 39.13785 -6.685167, 39.1503 -6.697633, 39.22365 -6.756933, 39.2408 -6.7767, 39.24705 -6.777733, 39.2595 -6.768367, 39.2673 -6.739267, 39.27825 -6.734067, 39.28445 -6.7351, 39.30475 -6.7642,
+ 39.3141 -6.838067, 39.3305 -6.847933, 39.34455 -6.845867, 39.35545 -6.8365, 39.36015 -6.8022, 39.36795 -6.7949, 39.37885 -6.795933, 39.4085 -6.8178, 39.4553 -6.8469, 39.45685 -6.8573,
+ 39.44285 -6.866667, 39.4288 -6.875, 39.43345 -6.881233, 39.4553 -6.8854, 39.4787 -6.891633, 39.5115 -6.915533, 39.5349 -6.9405, 39.5489 -6.996667, 39.5458 -7.0622, 39.52865 -7.081967,
+ 39.506 -7.100167, 39.50445 -7.109533, 39.5169 -7.123033, 39.5185 -7.138633, 39.5107 -7.152167, 39.4935 -7.156333, 39.48105 -7.151133, 39.45765 -7.135533, 39.4389 -7.135533, 39.42955 -7.138633,
+ 39.41865 -7.159433, 39.4093 -7.172967, 39.37495 -7.192733, 39.34845 -7.216633, 39.34375 -7.2312, 39.35155 -7.242633, 39.3734 -7.244733, 39.3968 -7.2468, 39.4077 -7.2541, 39.4077 -7.2676,
+ 39.37965 -7.289467, 39.38275 -7.296733, 39.3937 -7.3113, 39.389 -7.320667, 39.3399 -7.3503, 39.31025 -7.387733, 39.3087 -7.4023, 39.3243 -7.4096, 39.34145 -7.405433, 39.36795 -7.395033,
+ 39.3851 -7.398133, 39.3976 -7.408533, 39.39605 -7.424133, 39.3555 -7.467833, 39.3555 -7.478233, 39.3773 -7.488633, 39.3947 -7.499433, 39.3976 -7.510467, 39.38355 -7.5323, 39.36485 -7.583267,
+ 39.3547 -7.6441, 39.3625 -7.662833, 39.3859 -7.6753, 39.39995 -7.6857, 39.40615 -7.7013, 39.4015 -7.720033, 39.37655 -7.743933, 39.30945 -7.790767, 39.27825 -7.825067, 39.22595 -7.8984,
+ 39.21815 -7.921267, 39.22595 -7.951433, 39.2556 -7.980533, 39.31645 -8.013833, 39.3539 -8.018, 39.3726 -8.011767, 39.39445 -7.996167, 39.4116 -7.994067, 39.435 -7.998233, 39.4631 -8.013833,
+ 39.474 -8.0471, 39.47715 -8.077267, 39.47165 -8.0882, 39.4358 -8.1017, 39.3874 -8.120433, 39.37495 -8.130833, 39.37495 -8.1485, 39.3765 -8.151833, 39.38585 -8.1714, 39.3765 -8.201533,
+ 39.403 -8.277467, 39.3999 -8.2889, 39.3874 -8.291, 39.3687 -8.2806, 39.34685 -8.2598, 39.3182 -8.258733, 39.28445 -8.2785, 39.28135 -8.2889, 39.2907 -8.3097, 39.343 -8.3591,
+ 39.343 -8.368467, 39.32895 -8.378867, 39.3149 -8.3903, 39.31805 -8.402767, 39.3742 -8.492233, 39.37105 -8.507833, 39.36325 -8.523433, 39.36975 -8.538233, 39.3947 -8.5507, 39.3994 -8.572567,
+ 39.3947 -8.6496, 39.4389 -8.763167, 39.45605 -8.841167, 39.4771 -8.863533, 39.52545 -8.9072, 39.5395 -8.908233, 39.55195 -8.899933, 39.55665 -8.884333, 39.56445 -8.879133, 39.57535 -8.880167,
+ 39.6019 -8.910333, 39.6409 -8.986233, 39.64245 -9.015367, 39.63155 -9.0216, 39.61125 -9.0185, 39.55195 -8.973767, 39.47395 -8.941533, 39.4166 -8.915533, 39.3991 -8.915533, 39.37255 -8.9353,
+ 39.3523 -8.9644, 39.3554 -8.977933, 39.37255 -8.983133, 39.3975 -8.9769, 39.4287 -8.9613, 39.449 -8.965433, 39.48645 -8.9852, 39.52075 -9.0289, 39.52545 -9.055933, 39.50675 -9.0965,
+ 39.5075 -9.1043, 39.51375 -9.106367, 39.5278 -9.103267, 39.54965 -9.103267, 39.56055 -9.1095, 39.56365 -9.1251, 39.5512 -9.152133, 39.5434 -9.183333, 39.54805 -9.222867, 39.56525 -9.238467,
+ 39.57925 -9.241567, 39.59175 -9.2343, 39.6058 -9.185433, 39.6245 -9.169833, 39.6479 -9.168767, 39.6838 -9.173967, 39.7025 -9.194767, 39.70095 -9.212467, 39.66505 -9.2499, 39.66195 -9.2603,
+ 39.6713 -9.268633, 39.71345 -9.287333, 39.7197 -9.304, 39.715 -9.33, 39.7002 -9.347167, 39.69395 -9.386667, 39.6893 -9.395, 39.669 -9.399167, 39.64715 -9.3898, 39.57385 -9.321167,
+ 39.552 -9.314933, 39.5255 -9.318033, 39.51145 -9.331567, 39.513 -9.347167, 39.5442 -9.417867, 39.5489 -9.444933, 39.56605 -9.460533, 39.5957 -9.468833, 39.6281 -9.483833, 39.6487 -9.515633,
+ 39.7158 -9.650833, 39.71975 -9.675267, 39.7088 -9.692967, 39.68385 -9.713767, 39.6651 -9.718967, 39.6542 -9.7283, 39.6573 -9.739767, 39.67915 -9.7491, 39.70255 -9.7491, 39.72595 -9.744967,
+ 39.74155 -9.747033, 39.76185 -9.760567, 39.80555 -9.809433, 39.80555 -9.817767, 39.79615 -9.824, 39.7681 -9.825033, 39.75095 -9.824, 39.7322 -9.827133, 39.7088 -9.846867, 39.7057 -9.864567,
+ 39.7119 -9.871833, 39.74 -9.874967, 39.75715 -9.888467, 39.75635 -9.901467, 39.73605 -9.917067, 39.708 -9.9337, 39.68925 -9.971133, 39.69395 -9.9826, 39.71735 -9.9878, 39.7376 -9.9857,
+ 39.75635 -9.993, 39.90455 -10.129233, 40.00825 -10.2223, 40.0192 -10.2223, 40.02545 -10.215033, 40.0223 -10.186967, 39.98645 -10.116233, 39.9911 -10.0944, 40.00205 -10.0923, 40.00985 -10.098567,
+ 40.0379 -10.119367, 40.17675 -10.192167, 40.1799 -10.2036, 40.1721 -10.214, 40.1362 -10.223367, 40.12215 -10.235833, 40.12685 -10.2483, 40.1549 -10.273267, 40.183 -10.304467, 40.1955 -10.305533,
+ 40.21575 -10.295133, 40.2345 -10.2972, 40.261 -10.306567, 40.27275 -10.305, 40.27895 -10.2967, 40.27275 -10.240533, 40.28365 -10.225967, 40.30395 -10.220767, 40.3211 -10.2239, 40.332 -10.2447,
+ 40.33355 -10.3019, 40.3601 -10.3591, 40.3835 -10.378833, 40.3991 -10.380933, 40.42095 -10.373633, 40.449 -10.357, 40.4662 -10.358033, 40.4849 -10.3695, 40.4958 -10.4007, 40.4958 -10.4423,
+ 40.4849 -10.459967, 40.47045 -10.472133, 40.4724 -10.479733, 40.49115 -10.5047, 40.49425 -10.5203, 40.47255 -10.555567, 40.4706 -10.568067, 40.3227 -10.686467, 40.27025 -10.709367, 40.2036 -10.716567,
+ 40.01485 -10.8362, 39.93935 -10.841433, 39.9011 -10.8532, 39.72805 -10.953233, 39.6212 -10.9944, 39.5653 -11.0258, 39.5398 -11.063067, 39.51825 -11.100333, 39.4604 -11.123867, 39.4305 -11.144133,
+ 39.3795 -11.221933, 39.34125 -11.2422, 39.28735 -11.248067, 39.2334 -11.2461, 39.08975 -11.219967, 39.029 -11.218, 38.9819 -11.238267, 38.88485 -11.293167, 38.77945 -11.320667, 38.5814 -11.4246,
+ 38.5294 -11.419367, 38.5039 -11.422167, 38.4562 -11.4205, 38.43035 -11.403267, 38.35575 -11.3057, 38.32415 -11.2942, 38.17495 -11.2722, 38.08955 -11.240167, 38.058 -11.236333, 38.00635 -11.2526,
+ 37.9647 -11.2631, 37.86715 -11.2832, 37.79825 -11.324333, 37.7602 -11.365, 37.73725 -11.443433, 37.7215 -11.4908, 37.67985 -11.5348, 37.57655 -11.586467, 37.4976 -11.616133, 37.37705 -11.702233,
+ 37.3247 -11.730467, 37.29885 -11.732367, 37.2056 -11.697933, 37.08145 -11.6324, 37.0413 -11.597, 37.014 -11.591267, 36.97385 -11.596033, 36.9064 -11.643867, 36.85905 -11.663, 36.7995 -11.666333,
+ 36.7679 -11.6587, 36.73205 -11.6386, 36.7177 -11.634767, 36.7005 -11.640533, 36.6775 -11.677833, 36.64165 -11.7142, 36.5957 -11.734267, 36.5584 -11.737133, 36.50675 -11.728533, 36.4099 -11.697433,
+ 36.374 -11.695533, 36.3166 -11.716567, 36.24915 -11.724233, 36.186 -11.712733, 36.158 -11.6912, 36.1652 -11.643367, 36.1609 -11.590767, 36.1336 -11.553433, 36.05615 -11.511333, 36.01595 -11.467333,
+ 35.92195 -11.431467, 35.8674 -11.427633, 35.81865 -11.438167, 35.71245 -11.506067, 35.67585 -11.522333, 35.55245 -11.513733, 35.5022 -11.520433, 35.4445 -11.556933, 35.3465 -11.542833, 35.1672 -11.5165,
+ 35.05805 -11.528633, 34.8798 -11.560167, 34.76335 -11.538333, 34.6324 -11.4534, 34.485 -11.191367, 34.41225 -10.960867, 34.42135 -10.791033, 34.4777 -10.366433, 34.4486 -10.155333, 34.3085 -9.951533,
+ 34.16295 -9.793833, 34.02105 -9.723467, 33.8937 -9.6798, 33.70085 -9.5512, 33.56445 -9.536633, 33.3716 -9.509967, 33.1242 -9.500267, 32.96775 -9.4687, 32.8695 -9.415333, 32.7767 -9.311,
+ 32.63115 -9.262467, 32.39465 -9.170267, 32.0781 -9.1096, 32.00355 -9.078067, 31.9599 -9.0441, 31.9162 -8.956733, 31.8762 -8.930033, 31.70885 -8.9155, 31.65425 -8.883933, 31.62515 -8.847567,
+ 31.6288 -8.733533, 31.576 -8.670433, 31.48865 -8.643767, 31.11025 -8.617067, 31.0084 -8.585533, 30.92105 -8.5176, 30.8592 -8.393833, 30.80195 -8.2548, 30.7882 -8.221467, 30.7052 -8.0305,
+ 30.60535 -7.716, 30.45255 -7.430367, 30.14815 -7.078967, 29.82935 -6.7388, 29.537 -6.4275, 29.4973 -6.088933, 29.4877 -6.003867, 29.5346 -5.758367, 29.5755 -5.705433, 29.59235 -5.649267,
+ 29.5334 -5.479167, 29.36615 -5.1406, 29.29035 -4.8325, 29.312 -4.595, 29.36615 -4.513167))
+
+POLYGON ((11.9208 -17.3074, 12 -17.276867, 12.09125 -17.244767, 12.131 -17.233733, 12.18295 -17.2374, 12.24485 -17.2514, 12.2896 -17.2499, 12.3294 -17.241067, 12.36915 -17.246233, 12.47305 -17.276433,
+ 12.5073 -17.2779, 12.53935 -17.262433, 12.5703 -17.244767, 12.80295 -16.922767, 12.80715 -16.918367, 12.8361 -16.888133, 12.8781 -16.872667, 12.92615 -16.866767, 13.00905 -16.871933, 13.0654 -16.882967,
+ 13.261 -16.9795, 13.2936 -16.981, 13.34335 -16.944167, 13.36985 -16.9353, 13.40745 -16.940467, 13.4638 -16.973633, 13.4815 -16.994267, 13.49805 -17.0716, 13.52895 -17.107933, 13.58865 -17.1136,
+ 13.613 -17.1232, 13.63895 -17.141633, 13.71965 -17.238867, 13.8412 -17.3435, 14.0219 -17.4334, 14.0882 -17.442233, 14.1545 -17.436367, 14.2655 -17.404333, 14.29415 -17.392, 14.48945 -17.427,
+ 14.62545 -17.427, 15.3953 -17.426967, 16.20875 -17.417233, 16.9895 -17.4245, 17.672 -17.419633, 17.86125 -17.414767, 17.8843 -17.416167, 18.2084 -17.446667, 18.4987 -17.465, 18.50345 -17.468933,
+ 18.5946 -17.606133, 18.65895 -17.6816, 18.7813 -17.798667, 18.8654 -17.839767, 18.99275 -17.882667, 19.0752 -17.900067, 19.2511 -17.899167, 19.3969 -17.921533, 19.60905 -17.973367, 19.6318 -17.976033,
+ 19.6526 -17.972467, 19.6955 -17.9546, 19.82185 -17.949667, 19.858 -17.956367, 19.91635 -17.973333, 19.97965 -17.9787, 20.01655 -17.975567, 20.06075 -17.9635, 20.1546 -17.933133, 20.18645 -17.925967,
+ 20.21595 -17.926433, 20.24745 -17.934467, 20.36405 -17.9747, 20.5018 -17.980933, 20.5762 -18.0158, 20.65025 -18.036333, 20.7521 -18.036333, 20.82485 -17.987633, 20.90595 -17.963967, 21.0323 -17.962167,
+ 21.11675 -17.973333, 21.2062 -17.9948, 21.27255 -18.0234, 21.4006 -18.097567, 21.45525 -18.112767, 21.6091 -18.049467, 21.87065 -17.978533, 22.58205 -17.812867, 23.1862 -17.684, 23.2362 -17.673333,
+ 23.51375 -17.623567, 23.86045 -17.549533, 23.94055 -17.536167, 24.15895 -17.575, 24.26905 -17.585933, 24.3746 -17.568933, 24.65215 -17.571367, 24.7504 -17.582267, 24.8432 -17.623533, 25.01885 -17.706067,
+ 25.1917 -17.846867, 25.23535 -17.9038, 25.21365 -17.8995, 25.18915 -17.8995, 25.13495 -17.922833, 25.1017 -17.926333, 25.016 -17.912333, 24.974 -17.914667, 24.9469 -17.901267, 24.9294 -17.870933,
+ 24.9049 -17.847633, 24.8664 -17.837133, 24.82095 -17.8418, 24.7125 -17.9176, 24.5988 -17.998067, 24.5253 -18.022567, 24.4667 -18.021967, 24.34775 -17.995133, 24.27955 -17.984633, 24.2218 -17.968333,
+ 24.1798 -17.9765, 24.12735 -18.005633, 24.09675 -18.0785, 24.07225 -18.108833, 23.9603 -18.184633, 23.8903 -18.2476, 23.8571 -18.276767, 23.795 -18.305333, 23.767 -18.3298, 23.7338 -18.388133,
+ 23.6708 -18.459267, 23.6428 -18.4721, 23.61135 -18.470933, 23.55185 -18.442933, 23.49065 -18.3753, 23.46265 -18.314667, 23.30785 -18.094833, 23.30785 -18.0482, 23.3126 -18.038733, 23.18515 -18.011,
+ 23.06865 -18.0083, 22.79385 -18.095667, 22.6009 -18.149067, 22.3279 -18.190333, 21.98755 -18.2753, 21.67085 -18.311733, 21.52525 -18.316567, 21.09755 -18.282567, 20.99925 -18.2753, 20.96285 -18.297133,
+ 20.98105 -18.743767, 20.9865 -19.2268, 20.99195 -19.7463, 20.9792 -20.027867, 20.99375 -20.268167, 20.97735 -20.787633, 20.98645 -21.304667, 20.9737 -21.821733, 20.9828 -22.062067, 20.11645 -22.045067,
+ 20.04545 -22.057233, 19.9836 -22.093633, 19.99815 -22.5864, 19.98905 -23.1083, 20.00905 -23.644733, 19.99175 -24, 19.9902 -24.702467, 19.9995 -25.695, 19.99545 -28.236533, 19.9355 -28.2993,
+ 19.5161 -28.453367, 19.4341 -28.575533, 19.4321 -28.5769, 19.35725 -28.685233, 19.3166 -28.700933, 19.2482 -28.696633, 19.21185 -28.708033, 19.18615 -28.7337, 19.2097 -28.769333, 19.26315 -28.805,
+ 19.2503 -28.826367, 19.21715 -28.835633, 19.16795 -28.8513, 19.09525 -28.881233, 19.0482 -28.866967, 19.0379 -28.860433, 18.9541 -28.8071, 18.8953 -28.793567, 18.8183 -28.795, 18.75845 -28.787867,
+ 18.69215 -28.793567, 18.53705 -28.8114, 18.2483 -28.819967, 18.1767 -28.846333, 18.13175 -28.834933, 18.09325 -28.806433, 18.0334 -28.7836, 17.84195 -28.758667, 17.6559 -28.735867, 17.6281 -28.711633,
+ 17.611 -28.6717, 17.56395 -28.667433, 17.45915 -28.711633, 17.42705 -28.708767, 17.40885 -28.6824, 17.39175 -28.5384, 17.37035 -28.514167, 17.31475 -28.4885, 17.2891 -28.46, 17.29655 -28.433633,
+ 17.33295 -28.419367, 17.36075 -28.396567, 17.3757 -28.350967, 17.31155 -28.2027, 17.272 -28.193433, 17.22065 -28.182033, 17.2014 -28.166367, 17.2292 -28.087967, 17.20785 -28.0623, 17.1565 -28.032367,
+ 17.09875 -28.008133, 17.0132 -28.008133, 16.9309 -28.015967, 16.89665 -28.0402, 16.89455 -28.085833, 16.8753 -28.102933, 16.83465 -28.108633, 16.8218 -28.127167, 16.8261 -28.161367, 16.80255 -28.181333,
+ 16.74695 -28.204133, 16.73625 -28.236933, 16.75125 -28.299633, 16.7341 -28.3638, 16.70845 -28.3923, 16.6603 -28.404433, 16.6368 -28.417267, 16.6368 -28.434367, 16.61325 -28.462867, 16.50735 -28.5619,
+ 16.4881 -28.5619, 16.471 -28.593267, 16.45175 -28.597533, 16.4111 -28.5733, 16.3384 -28.524833, 16.29135 -28.474933, 16.20475 -28.425767, 16.14275 -28.368733, 16.08715 -28.2946, 16.0358 -28.220467,
+ 15.89355 -28.045833, 15.7695 -27.9033, 15.72565 -27.847, 15.685 -27.821333, 15.62725 -27.7971, 15.58875 -27.7572, 15.56095 -27.6973, 15.546 -27.621767, 15.5 -27.5341, 15.4508 -27.458533,
+ 15.36525 -27.370167, 15.2466 -27.167033, 15.2081 -27.082933, 15.1856 -26.9197, 15.16425 -26.889767, 15.13 -26.881233, 15.1129 -26.8584, 15.1129 -26.7515, 15.1161 -26.588267, 15.1332 -26.574033,
+ 15.1546 -26.584, 15.17595 -26.6068, 15.1952 -26.6125, 15.20805 -26.591133, 15.12035 -26.4215, 15.0573 -26.328133, 15.02735 -26.302467, 14.97385 -26.296767, 14.9247 -26.273967, 14.9033 -26.222633,
+ 14.91615 -26.1542, 14.94075 -26.119267, 14.96855 -26.057967, 14.97715 -25.983867, 14.92365 -25.922567, 14.88515 -25.8912, 14.84345 -25.8021, 14.84345 -25.739367, 14.8627 -25.7009, 14.8905 -25.7009,
+ 14.9012 -25.682367, 14.90975 -25.5783, 14.9365 -25.484933, 14.92795 -25.4336, 14.8702 -25.3552, 14.8488 -25.255433, 14.8862 -25.152067, 14.86695 -25.1193, 14.87125 -25.0751, 14.9076 -25.0409,
+ 14.89905 -25.0138, 14.82955 -24.871967, 14.8253 -24.816367, 14.821 -24.757933, 14.7686 -24.675967, 14.7365 -24.5876, 14.71085 -24.551933, 14.62315 -24.490633, 14.61355 -24.4557, 14.61785 -24.3987,
+ 14.59005 -24.341667, 14.45745 -24.179167, 14.41575 -24.082933, 14.4233 -24, 14.44365 -23.983167, 14.49485 -23.948033, 14.5214 -23.9075, 14.5198 -23.869, 14.4863 -23.815433, 14.4785 -23.756167,
+ 14.4941 -23.6532, 14.4941 -23.607433, 14.4512 -23.540333, 14.3888 -23.4665, 14.37475 -23.421767, 14.3841 -23.3812, 14.42 -23.3604, 14.45275 -23.359367, 14.48865 -23.3781, 14.5036 -23.378667,
+ 14.52455 -23.3604, 14.52455 -23.351033, 14.413 -23.239233, 14.34905 -23.133133, 14.34435 -23.068667, 14.38025 -22.9168, 14.40365 -22.893933, 14.4208 -22.8908, 14.4317 -22.894967, 14.4255 -22.985433,
+ 14.4489 -23.001067, 14.48165 -23.0073, 14.50505 -23.0021, 14.52765 -22.959967, 14.5729 -22.821633, 14.56355 -22.7873, 14.50195 -22.707233, 14.46215 -22.511167, 14.44105 -22.331733, 14.4473 -22.2974,
+ 14.42855 -22.2766, 14.4083 -22.249567, 14.3881 -22.241233, 14.349 -22.241233, 14.33585 -22.233433, 14.3209 -22.163233, 14.2281 -22.073267, 14.0284 -21.825733, 13.99875 -21.8122, 13.9621 -21.8044,
+ 13.94965 -21.787767, 13.9543 -21.769033, 14.00735 -21.717033, 14.01985 -21.699333, 14.00895 -21.676467, 13.9387 -21.616133, 13.9052 -21.557367, 13.8849 -21.473133, 13.8038 -21.374333, 13.7375 -21.312433,
+ 13.6423 -21.243767, 13.6189 -21.2188, 13.5417 -21.045633, 13.5089 -20.999867, 13.4512 -20.952033, 13.43715 -20.9281, 13.38485 -20.787167, 13.3677 -20.613467, 13.35285 -20.5287, 13.2811 -20.361233,
+ 13.2655 -20.317567, 13.26625 -20.254633, 13.2413 -20.188067, 13.10005 -19.996167, 13.0423 -19.9015, 12.78565 -19.577533, 12.70605 -19.458933, 12.6819 -19.383533, 12.6335 -19.268067, 12.5711 -19.186933,
+ 12.4728 -19.114133, 12.4494 -19.093333, 12.4393 -19.0668, 12.4393 -18.9867, 12.42685 -18.9607, 12.38785 -18.925333, 12.2763 -18.8208, 12.22015 -18.740733, 12.1718 -18.656467, 12.11325 -18.5197,
+ 12.0836 -18.482267, 12.04495 -18.434433, 12 -18.375633, 11.9665 -18.334367, 11.89135 -18.263433, 11.7844 -18.0933, 11.7674 -18.000967, 11.7674 -17.804933, 11.74795 -17.639667, 11.72 -17.492233,
+ 11.75405 -17.398267, 11.74675 -17.331833, 11.76375 -17.309133, 11.78075 -17.309133, 11.8391 -17.341533, 11.87555 -17.3464, 11.91445 -17.341533, 11.9266 -17.323733, 11.9208 -17.3074))
+
+POLYGON ((8.40425 36.824867, 8.51815 36.824867, 8.68 36.852833, 8.84385 36.8848, 8.88385 36.9101, 8.9178 36.980667, 9.02175 37.069933, 9.15365 37.143167, 9.2156 37.151167, 9.24755 37.147167,
+ 9.27555 37.157833, 9.3315 37.1858, 9.36545 37.1978, 9.41945 37.197767, 9.55535 37.207067, 9.6313 37.248367, 9.84515 37.291, 9.9011 37.280333, 9.93905 37.2457, 9.97105 37.1951,
+ 10.05495 37.156467, 10.17285 37.129833, 10.2288 37.0912, 10.2248 37.051233, 10.1868 36.978, 10.1848 36.9327, 10.23075 36.880767, 10.3387 36.8408, 10.36465 36.822167, 10.36465 36.808833,
+ 10.35665 36.796867, 10.2248 36.747567, 10.2048 36.728933, 10.2028 36.7063, 10.2168 36.6903, 10.29075 36.683667, 10.4746 36.711633, 10.5785 36.7689, 10.67845 36.808833, 10.7844 36.842133,
+ 11.0062 37.0006, 11.0322 37.007267, 11.06415 37.007267, 11.10215 36.9753, 11.1521 36.835467, 11.1501 36.7702, 11.11415 36.722267, 10.9543 36.615733, 10.91235 36.566433, 10.86235 36.453233,
+ 10.79245 36.38, 10.58065 36.289433, 10.54665 36.260133, 10.4907 36.189533, 10.46075 36.089633, 10.54265 35.915167, 10.66455 35.726033, 10.69255 35.710033, 10.7265 35.703367, 10.77645 35.727333,
+ 10.81245 35.727333, 10.8444 35.718, 10.8604 35.6927, 10.8704 35.623433, 10.8824 35.603467, 10.92435 35.590133, 10.9843 35.576833, 11.0023 35.572833, 11.0123 35.558167, 11.0083 35.506233,
+ 11.0163 35.480933, 11.06625 35.448967, 11.0822 35.428967, 11.03425 35.331733, 11.03425 35.281133, 11.12415 35.139933, 11.12215 35.111967, 11.0582 35.0414, 11.0482 34.977467, 11.0342 34.948167,
+ 10.97425 34.9029, 10.95625 34.870933, 10.94825 34.804333, 10.8703 34.697767, 10.52255 34.416733, 10.4526 34.376767, 10.3167 34.292867, 10.2807 34.243567, 10.23475 34.226267, 10.1828 34.2276,
+ 10.1648 34.2196, 10.1428 34.173, 10.11885 34.154333, 10.10085 34.153, 10.0669 34.157, 10.0469 34.151667, 10.0269 34.133033, 10.0269 34.0944, 10.00095 34.0398, 10.0149 33.991833,
+ 10.05485 33.966533, 10.1368 33.824033, 10.20275 33.7774, 10.2667 33.758767, 10.2727 33.746767, 10.2707 33.732133, 10.2407 33.706833, 10.2407 33.690833, 10.2747 33.678867, 10.34865 33.6815,
+ 10.4246 33.6682, 10.45255 33.669533, 10.5025 33.6935, 10.5345 33.6935, 10.5565 33.686833, 10.5565 33.640233, 10.5225 33.566967, 10.5445 33.539, 10.5525 33.493733, 10.58445 33.483067,
+ 10.6224 33.452433, 10.6564 33.435133, 10.68635 33.436467, 10.70435 33.444433, 10.7463 33.4977, 10.79625 33.519033, 10.81825 33.537667, 10.83025 33.5976, 10.8742 33.621567, 10.95815 33.641567,
+ 11.0321 33.641567, 11.08805 33.632233, 11.106 33.616233, 11.088 33.562967, 11.104 33.524333, 11.14595 33.4857, 11.14595 33.461733, 11.134 33.4391, 11.14995 33.429767, 11.2219 33.416433,
+ 11.32385 33.365833, 11.32785 33.351167, 11.31785 33.3472, 11.28185 33.3472, 11.14995 33.371167, 11.134 33.369833, 11.136 33.359167, 11.18395 33.332533, 11.2039 33.288567, 11.3258 33.196667,
+ 11.3538 33.192667, 11.3838 33.195333, 11.40375 33.211333, 11.38975 33.249933, 11.3318 33.300567, 11.3318 33.3112, 11.3518 33.313867, 11.40575 33.291233, 11.4837 33.203333, 11.569 33.1598,
+ 11.52945 33.125333, 11.4745 33.077433, 11.47165 33.047167, 11.5143 33.0112, 11.5143 32.9639, 11.4518 32.7538, 11.47875 32.673367, 11.5526 32.5428, 11.59235 32.480333, 11.56965 32.433,
+ 11.47875 32.363, 11.28845 32.3081, 11.1621 32.227667, 10.9803 32.129233, 10.89225 32.063, 10.7957 31.847233, 10.71615 31.775333, 10.6182 31.7157, 10.462 31.702467, 10.2319 31.655133,
+ 10.1751 31.630533, 10.1084 31.559567, 10.1084 31.381667, 10.30435 31.0372, 10.32 30.956767, 10.20355 30.735333, 10.0956 30.578233, 9.9096 30.424, 9.39555 30.1174, 9.3629 30.430633,
+ 9.25635 30.919867, 9.1527 31.526467, 9.1215 31.691133, 9.0732 31.893667, 9.01355 31.9845, 8.82465 32.099, 8.30915 32.3952, 8.21825 32.482233, 8.1274 32.609067, 8.16715 32.796433,
+ 8.1061 32.892, 7.98115 33.047167, 7.8164 33.138033, 7.69995 33.1986, 7.64315 33.289433, 7.63035 33.345267, 7.6616 33.4853, 7.619 33.581833, 7.52665 33.7834, 7.521 33.917767,
+ 7.54655 34.054033, 7.71835 34.340767, 8.04355 34.790267, 8.1827 35.009833, 8.22955 35.251133, 8.21535 35.4934, 8.1742 35.755533, 8.16 35.950467, 8.2722 36.222067, 8.2722 36.417,
+ 8.258 36.509733, 8.258 36.5968, 8.38285 36.791533, 8.40425 36.824867))
+
+POLYGON ((0.0296 11.124, 0.39775 11.0471, 0.46795 11.040167, 0.52255 10.9882, 0.5719 10.974333, 0.6499 10.974333, 0.78505 10.991667, 0.889 10.9882, 0.902 10.801067, 0.82925 10.633033,
+ 0.76295 10.510033, 0.7266 10.426867, 0.737 10.357567, 0.77595 10.2952, 0.83835 10.2363, 1.0541 10.128867, 1.3335 10.000667, 1.3907 9.936567, 1.4141 9.815267, 1.4271 9.622967,
+ 1.4024 9.508633, 1.405 9.354433, 1.4362 9.271267, 1.5064 9.205433, 1.5753 9.1552, 1.60905 9.099733, 1.60645 8.720333, 1.62075 8.204033, 1.62465 7.737967, 1.59735 7.4677,
+ 1.61815 7.211267, 1.62205 7.055333, 1.60125 7.013767, 1.56485 6.977367, 1.5207 6.953133, 1.5181 6.932333, 1.58305 6.831833, 1.59865 6.778133, 1.58695 6.651667, 1.60255 6.580633,
+ 1.65455 6.497467, 1.7689 6.3554, 1.7728 6.298233, 1.7312 6.2705, 1.68705 6.267033, 1.62985 6.2653, 1.59865 6.246267, 1.59605 6.222, 1.6232 6.189467, 1.3528 6.126767,
+ 1.25875 6.086033, 1.20875 6.111633, 1.0961 6.169333, 1.0263 6.2522, 1.00205 6.272433, 0.9202 6.292633, 0.85345 6.3371, 0.80795 6.375533, 0.77765 6.539267, 0.7382 6.573633,
+ 0.6472 6.605967, 0.59565 6.7111, 0.4895 6.761633, 0.4706 6.8132, 0.4691 6.881933, 0.52065 6.994133, 0.6253 7.198333, 0.6488 7.334767, 0.62905 7.358033, 0.5411 7.410567,
+ 0.529 7.444967, 0.5358 7.491467, 0.5828 7.609733, 0.62525 7.753267, 0.6139 7.923067, 0.5381 8.062567, 0.53125 8.161633, 0.5555 8.2415, 0.6389 8.312233, 0.68965 8.377967,
+ 0.6912 8.416367, 0.67755 8.436567, 0.61535 8.4659, 0.61385 8.482067, 0.59415 8.515433, 0.47285 8.583133, 0.38115 8.665, 0.3766 8.6933, 0.38115 8.715533, 0.45845 8.764033,
+ 0.4706 8.801433, 0.4721 8.877267, 0.4425 8.9662, 0.41065 9.099633, 0.4137 9.164333, 0.5532 9.346267, 0.53805 9.419033, 0.50165 9.455433, 0.43795 9.4696, 0.3682 9.459467,
+ 0.2863 9.4231, 0.2196 9.417033, 0.15115 9.4153, 0.11465 9.4405, 0.10925 9.482833, 0.116 9.543133, 0.14845 9.577367, 0.2011 9.611567, 0.24385 9.6407, 0.24235 9.6641,
+ 0.257 9.6836, 0.28625 9.707, 0.3272 9.804533, 0.3265 9.847433, 0.306 9.893267, 0.3075 9.912767, 0.32355 9.930333, 0.34115 9.9508, 0.3499 9.988833, 0.3492 10.062,
+ 0.297 10.119333, 0.2808 10.216533, 0.2862 10.306567, 0.26595 10.375, -0.0366 10.598233, -0.0933 10.682867, -0.0825 10.7621, -0.05145 10.879133, 0.0188 10.985367, 0.0296 11.124))
+
+POLYGON ((-12.0443 14.669667, -11.87845 14.8252, -11.76455 15.039033, -11.63345 15.335633, -11.58515 15.634533, -11.52995 15.6713, -11.34705 15.6736, -11.26425 15.6529, -11.2125 15.549433, -11.1849 15.3092,
+ -11.0503 15.097667, -10.9675 15.086167, -10.53275 15.365533, -9.70465 15.364367, -9.52175 15.373567, -9.4631 15.440233, -9.43205 15.619567, -9.37685 15.658667, -9.13185 15.656367, -9.1385 15.489433,
+ -8.1165 15.487567, -6.83415 15.504167, -5.513 15.483867, -5.25265 16.2627, -5.2693 16.3033, -5.58505 16.439867, -5.63765 16.5635, -5.7623 17.728033, -5.8814 18.589933, -6.02265 19.525633,
+ -6.1362 20.697567, -6.3107 21.8621, -6.4575 22.952833, -6.4686 23.543433, -6.52675 23.8627, -6.7123 24.997733, -5.05065 24.9834, -5.00065 24.982967, -4.51805 24.628633, -2.77295 23.4557,
+ -2.17905 23.0869, -1.6281 22.7265, -0.5692 22.030967, 0.6009 21.241133, 1.0281 21.001933, 1.10095 20.985233, 1.21475 20.9807, 1.21475 20.807767, 1.24435 20.7486, 1.40825 20.609033,
+ 1.5517 20.5514, 1.6678 20.3724, 1.9421 20.185067, 2.0514 20.172933, 2.2221 20.168367, 2.27785 20.157, 2.3348 20.1312, 2.4031 20.028033, 2.4486 20.009833, 2.6307 19.971933,
+ 2.8208 19.887733, 3.12355 19.778533, 3.21345 19.6458, 3.19755 19.4501, 3.15885 19.3242, 3.10535 19.174767, 3.13495 19.065567, 3.2738 18.875933, 3.3091 18.853933, 3.3774 18.852433,
+ 3.52535 18.9131, 3.82355 18.996533, 4.34825 19.149, 4.34725 19.115667, 4.3451 19.045533, 4.29825 18.466367, 4.23895 17.8664, 4.1984 17.276833, 4.1766 16.666467, 4.1423 16.331633,
+ 3.97065 16.208933, 3.8864 16.099767, 3.85205 15.8315, 3.8146 15.700467, 3.6305 15.5809, 3.4245 15.5081, 3.07805 15.428033, 2.75035 15.396833, 2.3197 15.323, 2.10435 15.2731,
+ 1.8297 15.216967, 1.62995 15.213833, 1.41145 15.120267, 1.05565 15.0402, 0.8809 15.046433, 0.6905 15.0402, 0.61245 14.965333, 0.52195 14.890467, 0.419 14.856167, 0.238 14.858267,
+ 0.1196 14.8782, -0.2863 15.048533, -0.614 15.108833, -0.75445 15.1109, -0.82935 15.094267, -0.94485 15.018367, -1.285 14.7418, -1.4754 14.625333, -1.6439 14.5723, -1.94035 14.462067,
+ -2.16195 14.312333, -2.24625 14.2094, -2.3118 14.0472, -2.42415 13.939067, -2.69255 13.824667, -2.77995 13.596967, -3.1014 13.524167, -3.3573 13.452433, -3.53205 13.248633, -3.6725 13.2341,
+ -3.84105 13.232, -4.0564 13.2653, -4.1001 13.256967, -4.22805 13.0386, -4.24135 12.8486, -4.5398 12.277633, -4.72495 12.088433, -4.7833 12.04, -4.8209 12.017533, -4.8687 12,
+ -5.03205 11.943633, -5.40485 11.807433, -5.4576 11.7805, -5.46435 11.758033, -5.39025 11.609867, -5.38015 11.431733, -5.43175 11.337433, -5.443 11.246133, -5.39135 11.051533, -5.40035 10.9767,
+ -5.5171 10.836, -5.52835 10.806067, -5.5073 10.733367, -5.5285 10.681033, -5.5168 10.6259, -5.46805 10.575, -5.4553 10.5029, -5.46805 10.409567, -5.50265 10.376233, -5.5873 10.2946,
+ -5.72715 10.208567, -5.8078 10.1817, -5.96645 10.1602, -6.0444 10.1602, -6.13045 10.187067, -6.1466 10.212167, -6.1466 10.260567, -6.0928 10.3466, -6.13855 10.4595, -6.17615 10.486367,
+ -6.20305 10.486367, -6.238 10.477433, -6.2837 10.429033, -6.3469 10.4165, -6.40875 10.421867, -6.5405 10.4595, -6.5835 10.450533, -6.6319 10.423667, -6.6561 10.3878, -6.66415 10.307167,
+ -6.7018 10.267733, -6.74755 10.256967, -6.8228 10.256967, -6.87255 10.239033, -6.9801 10.151233, -7.06885 10.1315, -7.20595 10.1315, -7.30005 10.1602, -7.33095 10.194267, -7.35785 10.310767,
+ -7.41165 10.341233, -7.45735 10.353767, -7.7101 10.351967, -7.7531 10.4882, -7.8284 10.525833, -7.9427 10.529433, -8.19545 10.5366, -8.26805 10.545533, -8.33525 10.5814, -8.3339 10.619033,
+ -8.28015 10.7176, -8.17795 10.921933, -8.20755 10.9524, -8.3124 10.982867, -8.385 10.9739, -8.42265 10.947033, -8.51945 10.807233, -8.627 10.771367, -8.67 10.7696, -8.68615 10.783933,
+ -8.68615 10.8162, -8.6458 10.889667, -8.6458 10.904, -8.68885 10.9273, -8.6915 10.9775, -8.68615 11.038433, -8.666 11.102967, -8.6176 11.149567, -8.28955 11.3449, -8.4401 11.4435,
+ -8.77625 11.5761, -8.86635 11.6263, -8.8986 11.674667, -8.88245 11.7123, -8.76415 11.8969, -8.748 11.998, -8.75615 12.0537, -8.9702 12.136333, -8.90365 12.335867, -9.1426 12.388267,
+ -9.36645 12.279433, -9.7355 12.1323, -9.80655 12.0866, -9.96635 12, -10.0388 11.958267, -10.1407 11.925833, -10.31445 11.925867, -10.3944 11.966, -10.4546 11.986067, -10.4917 11.987633,
+ -10.5241 11.975267, -10.5465 11.9559, -10.5583 11.948633, -10.56825 11.944533, -10.5777 11.943933, -10.58715 11.9458, -10.6018 11.9581, -10.6155 11.973867, -10.6342 12, -10.6706 12.034,
+ -10.6969 12.058533, -10.72995 12.058533, -10.8209 12.019967, -10.8457 12.019967, -10.8953 12.053, -10.92835 12.149433, -10.91185 12.3257, -10.9201 12.3615, -10.97385 12.358733, -11.12265 12.237567,
+ -11.17225 12.033733, -11.4244 12.141167, -11.56495 12.254067, -11.60215 12.303667, -11.3913 12.429, -11.4946 12.489567, -11.4326 12.610767, -11.5401 12.6824, -11.5649 12.7237, -11.57315 12.756767,
+ -11.4905 12.988133, -11.5194 13.096933, -11.7385 13.336567, -11.8625 13.325567, -11.9989 13.344833, -12.08155 13.416433, -12.08985 13.4798, -12.0774 13.866767, -12.0443 14.669667))
+
+POLYGON ((9.7394 0.967667, 9.79335 0.986133, 9.8852 0.982267, 9.9377 0.991967, 9.94645 1.0124, 9.93625 1.0425, 9.91 1.055167, 9.88665 1.0571, 9.8123 1.026, 9.7598 1.021133,
+ 9.6971 1.0221, 9.65915 1.016267, 9.61395 1.000733, 9.59065 1.005567, 9.5775 1.020167, 9.5571 1.068767, 9.53375 1.089167, 9.51335 1.0921, 9.4492 1.090133, 9.42 1.0989,
+ 9.3996 1.122233, 9.39375 1.173733, 9.4171 1.2136, 9.4827 1.269, 9.5017 1.386633, 9.5273 1.404067, 9.5543 1.407833, 9.57135 1.410667, 9.57985 1.425833, 9.57985 1.446633,
+ 9.604 1.4684, 9.6111 1.485467, 9.60255 1.521433, 9.6111 1.534667, 9.62815 1.5375, 9.66505 1.524267, 9.76445 1.5129, 9.81695 1.526133, 9.84255 1.547933, 9.83685 1.556433,
+ 9.82405 1.556433, 9.78575 1.546033, 9.7616 1.546967, 9.6991 1.581033, 9.67925 1.612267, 9.6849 1.638767, 9.7204 1.6596, 9.77865 1.688, 9.81695 1.727733, 9.84925 1.805733,
+ 9.84925 1.851133, 9.8174 1.900367, 9.76235 1.9496, 9.74785 1.9863, 9.758 2.015267, 9.79565 2.065467, 9.78405 2.130167, 9.74495 2.203567, 9.70295 2.250867, 9.69905 2.2761,
+ 9.7221 2.291467, 9.74515 2.3175, 9.8533 2.262367, 9.9388 2.215167, 10.08475 2.177833, 10.3118 2.169967, 10.67895 2.177833, 11.11835 2.183733, 11.33815 2.174133, 11.38815 2.171933,
+ 11.38815 2.107333, 11.3774 2.0327, 11.386 1.932233, 11.456 1.7887, 11.45385 1.7241, 11.3957 1.530367, 11.33005 1.286367, 11.33435 1.127067, 11.3591 0.995033, 11.3354 0.962033,
+ 11.27725 0.946233, 11.12225 0.9563, 10.82725 0.957733, 10.32875 0.949133, 10.12525 0.949133, 9.9939 0.913267, 9.90995 0.911833, 9.8335 0.9319, 9.7394 0.967667))
+
+POLYGON ((33.8036 -1.0693, 33.8036 -0.9352, 33.7914 -0.532867, 33.87065 -0.374367, 33.828 -0.098, 33.8226 -0.059533, 33.81885 0.005633, 33.8317 0.049133, 33.8722 0.078967, 33.8738 0.088767,
+ 33.8624 0.094167, 33.9631 0.191833, 33.95335 0.203433, 33.99555 0.229133, 34.08925 0.291633, 34.0955 0.293167, 34.1364 0.352533, 34.16525 0.500133, 34.1797 0.5226, 34.19895 0.533833,
+ 34.27715 0.578767, 34.38785 0.736, 34.44075 0.9189, 34.4504 0.9494, 34.46845 0.962233, 34.608 1.029633, 34.7668 1.097033, 34.82455 1.151567, 34.82935 1.235, 34.75715 1.3056,
+ 34.7596 1.3409, 34.7644 1.3794, 34.85585 1.469267, 35.01945 1.674633, 35.02905 1.748433, 34.993 1.854333, 34.9304 1.998733, 34.9521 2.448, 34.8607 2.608467, 34.71155 2.797767,
+ 34.59125 2.868367, 34.5696 3.067333, 34.4493 3.099433, 34.3819 3.144367, 34.3675 3.182867, 34.44685 3.574367, 34.3987 3.696333, 34.37465 3.754067, 34.41315 3.8343, 34.3843 3.8632,
+ 34.34095 3.8664, 34.2399 3.8664, 34.08595 3.985133, 34.05705 4.039667, 34.11 4.142367, 34.0881 4.1684, 34.06005 4.201733, 34.208 4.3958, 34.3427 4.525733, 34.40645 4.541767,
+ 34.926 4.541767, 35.53335 4.516133, 35.89055 4.492067, 35.9146 4.5065, 35.9793 4.465033, 36.0755 4.439367, 36.197 4.474667, 36.3534 4.5212, 36.4352 4.542067, 36.51215 4.530833,
+ 36.59035 4.506767, 37.09675 4.2661, 37.60075 3.9741, 37.8125 3.850567, 38.13365 3.653233, 38.2684 3.613133, 38.57995 3.587467, 39.06955 3.5634, 39.19705 3.558567, 39.4954 3.550567,
+ 39.56755 3.5698, 39.6265 3.614733, 39.8009 3.881067, 39.9308 4.015833, 39.99335 4.0335, 40.03185 4.0335, 40.1858 3.986967, 40.32175 3.977333, 40.5407 3.990167, 40.7668 4.0383,
+ 40.8402 4.052733, 40.9124 4.036667, 40.98695 4.0014, 41.0832 3.8634, 41.1491 3.833767, 41.15105 3.8321, 41.1773 3.8254, 41.19815 3.8249, 41.2321 3.8254, 41.3015 3.837233,
+ 41.3037 3.838433, 41.331 3.837733, 41.3538 3.863533, 41.38575 3.861033, 41.4261 3.8723, 41.45615 3.8886, 41.4909 3.890467, 41.5369 3.8792, 41.6416 3.8792, 41.71855 3.892367,
+ 41.7791 3.930533, 41.8082 3.954933, 41.8533 3.9756, 41.88275 3.978267, 41.91005 3.995667, 41.9279 4.028867, 41.9603 4.059533, 42.0748 4.120267, 42.1477 4.153133, 42.15675 4.156767,
+ 42.20675 4.176833, 42.06125 4.043667, 41.89525 3.851167, 41.7449 3.735633, 41.63665 3.557567, 41.4791 3.291233, 41.13865 3.002433, 40.99555 2.829167, 40.9763 2.7249, 41.00995 2.586933,
+ 41.0148 2.341467, 41.0172 1.940433, 41.0124 1.218533, 41.0124 0.5143, 41.0172 -0.554067, 41.00755 -0.855633, 41.0148 -0.889333, 41.1038 -0.969533, 41.34435 -1.264733, 41.4069 -1.3738,
+ 41.6499 -1.640967, 41.62945 -1.6712, 41.6271 -1.691467, 41.62085 -1.698767, 41.5834 -1.6998, 41.56935 -1.707067, 41.5647 -1.732033, 41.5054 -1.8246, 41.4617 -1.853733, 41.43205 -1.8891,
+ 41.42425 -1.940033, 41.41875 -1.974867, 41.4047 -1.995667, 41.38755 -2.005033, 41.3626 -1.9988, 41.29865 -1.989433, 41.27525 -1.9936, 41.23625 -2.021667, 41.20505 -2.0456, 41.1629 -2.0539,
+ 41.1317 -2.0695, 41.04905 -2.153767, 41.02485 -2.1574, 40.99675 -2.145967, 40.99365 -2.113733, 41.0061 -2.0742, 41.0264 -2.0534, 41.02015 -2.0451, 40.99365 -2.043, 40.9718 -2.0534,
+ 40.9375 -2.114767, 40.92655 -2.1543, 40.9172 -2.1595, 40.8969 -2.150133, 40.8579 -2.127233, 40.82825 -2.092933, 40.81425 -2.0919, 40.808 -2.098133, 40.8111 -2.1231, 40.8345 -2.166767,
+ 40.83405 -2.1707, 40.8236 -2.176133, 40.78925 -2.1803, 40.78305 -2.187567, 40.79395 -2.1959, 40.84385 -2.217733, 40.87195 -2.244767, 40.87665 -2.267633, 40.86105 -2.300933, 40.81735 -2.337333,
+ 40.7877 -2.345667, 40.75495 -2.343567, 40.74245 -2.348767, 40.73935 -2.3602, 40.75185 -2.3831, 40.8189 -2.4226, 40.8353 -2.441833, 40.83375 -2.4616, 40.8197 -2.481367, 40.7916 -2.5084,
+ 40.77445 -2.545833, 40.7573 -2.5656, 40.73545 -2.582233, 40.7214 -2.6041, 40.7027 -2.620733, 40.6559 -2.636333, 40.5888 -2.6436, 40.48895 -2.675833, 40.37425 -2.726267, 40.3056 -2.767867,
+ 40.28535 -2.769967, 40.2713 -2.7606, 40.2666 -2.735633, 40.251 -2.730433, 40.2354 -2.7346, 40.2198 -2.751233, 40.21045 -2.764767, 40.1886 -2.785567, 40.16055 -2.7897, 40.14495 -2.797,
+ 40.12855 -2.817267, 40.11405 -2.905133, 40.11715 -2.9114, 40.1265 -2.913467, 40.141 -2.907767, 40.1535 -2.8984, 40.16445 -2.899433, 40.1816 -2.916067, 40.19095 -2.94, 40.18625 -2.970167,
+ 40.17225 -2.9816, 40.14885 -2.9868, 40.13635 -2.998233, 40.141 -3.1189, 40.134 -3.167267, 40.14025 -3.176633, 40.16365 -3.177667, 40.23855 -3.144367, 40.2557 -3.145433, 40.2635 -3.158933,
+ 40.2557 -3.175567, 40.1808 -3.2359, 40.1387 -3.259833, 40.13245 -3.270233, 40.1418 -3.2879, 40.15585 -3.301433, 40.15895 -3.3368, 40.14805 -3.3711, 40.11915 -3.3945, 39.9382 -3.4933,
+ 39.91635 -3.495367, 39.90545 -3.486033, 39.90855 -3.471467, 39.91165 -3.447533, 39.90385 -3.4309, 39.88825 -3.427767, 39.85705 -3.432967, 39.79935 -3.480833, 39.7845 -3.510467, 39.79075 -3.5292,
+ 39.8126 -3.5344, 39.8672 -3.531267, 39.8937 -3.536467, 39.9093 -3.5552, 39.91085 -3.5708, 39.8984 -3.614467, 39.8672 -3.689367, 39.8516 -3.701833, 39.8313 -3.710167, 39.81415 -3.706,
+ 39.73145 -3.652967, 39.7143 -3.650867, 39.70025 -3.656067, 39.6956 -3.670633, 39.7034 -3.6904, 39.7299 -3.703933, 39.7346 -3.717433, 39.73695 -3.735633, 39.75255 -3.743967, 39.8446 -3.778267,
+ 39.8571 -3.792833, 39.8571 -3.8074, 39.8337 -3.8313, 39.80405 -3.8698, 39.7822 -3.924933, 39.76975 -3.987333, 39.7549 -3.9972, 39.73395 -3.9973, 39.68245 -3.9838, 39.6637 -3.9869,
+ 39.6566 -3.9993, 39.66525 -4.010833, 39.7284 -4.0305, 39.7424 -4.0461, 39.7424 -4.079367, 39.7315 -4.1189, 39.7206 -4.1293, 39.69875 -4.131367, 39.6301 -4.133467, 39.61605 -4.1428,
+ 39.62075 -4.156333, 39.6566 -4.1709, 39.66755 -4.1917, 39.6644 -4.224967, 39.63245 -4.276433, 39.5638 -4.354433, 39.55755 -4.369, 39.57005 -4.422067, 39.5638 -4.4366, 39.5373 -4.447,
+ 39.5295 -4.4543, 39.53105 -4.470933, 39.5396 -4.5141, 39.5318 -4.531767, 39.5193 -4.538, 39.5037 -4.535933, 39.48655 -4.520333, 39.47095 -4.518267, 39.4429 -4.523467, 39.4273 -4.539067,
+ 39.4257 -4.5588, 39.4507 -4.616, 39.4491 -4.6337, 39.4413 -4.642033, 39.41635 -4.647233, 39.329 -4.646167, 39.3165 -4.635767, 39.32745 -4.6077, 39.31805 -4.593133, 39.2931 -4.5848,
+ 39.2697 -4.587933, 39.25255 -4.598333, 39.24475 -4.6264, 39.246 -4.653167, 39.00255 -4.504233, 38.80525 -4.399967, 38.4215 -4.154467, 37.8958 -3.8432, 37.78755 -3.7662, 37.7683 -3.7261,
+ 37.7707 -3.641067, 37.73945 -3.615367, 37.70575 -3.610567, 37.66005 -3.610567, 37.62155 -3.602533, 37.58665 -3.575267, 37.57465 -3.544767, 37.5939 -3.5191, 37.65885 -3.456533, 37.69975 -3.4164,
+ 37.70335 -3.318533, 37.66965 -3.225467, 37.6215 -3.148467, 37.47115 -3.0586, 37.19925 -2.923833, 36.91175 -2.747333, 36.3355 -2.426433, 35.79295 -2.1264, 35.2528 -1.832767, 34.83055 -1.577667,
+ 34.60675 -1.436467, 34.14205 -1.207167, 33.8036 -1.0693))
+
+POLYGON ((-3.0337 7.2244, -3.0319 7.3735, -3.0167 7.5345, -2.9827 7.674033, -2.87445 7.882767, -2.8029 7.947167, -2.69015 7.999667, -2.649 8.035433, -2.6454 8.052133, -2.6794 8.0879,
+ -2.683 8.107, -2.67405 8.130833, -2.63825 8.149933, -2.57025 8.1547, -2.54075 8.1714, -2.5318 8.219133, -2.5282 8.600767, -2.48625 8.704633, -2.58135 8.7786, -2.59885 8.815,
+ -2.6012 8.872133, -2.60665 8.9028, -2.62495 8.9236, -2.699 8.963067, -2.71455 8.983333, -2.71455 9.004633, -2.7013 9.023867, -2.67835 9.041533, -2.67055 9.051933, -2.6721 9.0878,
+ -2.6682 9.113767, -2.64795 9.134033, -2.6183 9.1522, -2.5868 9.1678, -2.5743 9.1761, -2.57585 9.187533, -2.6008 9.2052, -2.63665 9.243633, -2.6382 9.265467, -2.6273 9.325733,
+ -2.6242 9.424433, -2.65305 9.5138, -2.71225 9.5782, -2.75125 9.6655, -2.7559 9.738233, -2.73485 9.8733, -2.7489 9.957467, -2.7676 10.009433, -2.75435 10.0988, -2.74965 10.158033,
+ -2.7372 10.1975, -2.73875 10.2162, -2.7668 10.243233, -2.83855 10.284767, -2.85025 10.331533, -2.83935 10.358533, -2.81595 10.4084, -2.8175 10.443733, -2.82405 10.478233, -2.9247 10.6018,
+ -2.93665 10.658933, -2.9028 10.730667, -2.85895 10.835633, -2.85895 10.902067, -2.84495 10.919367, -2.82205 10.9353, -2.7682 10.9353, -2.60075 10.910067, -2.45625 10.919367, -2.29075 10.924667,
+ -1.9788 10.927333, -1.80935 10.922, -1.7376 10.928667, -1.63995 10.967167, -1.54325 10.9911, -1.47145 10.989767, -1.3758 10.960533, -1.2482 10.952567, -1.17345 10.964533, -1.10165 10.992433,
+ -1.04985 10.9951, -0.994 10.9858, -0.9103 10.955233, -0.8764 10.955233, -0.80365 10.9858, -0.7698 10.9898, -0.7359 10.987133, -0.708 10.975167, -0.66215 10.944633, -0.62625 10.940633,
+ -0.5864 10.9526, -0.53855 10.983167, -0.48075 10.9898, -0.44885 11.0031, -0.4299 11.046933, -0.31425 11.116033, -0.26445 11.154567, -0.2166 11.169167, -0.14285 11.169167, -0.0204 11.1371,
+ 0.0296 11.124, 0.0188 10.985367, -0.05145 10.879133, -0.0825 10.7621, -0.0933 10.682867, -0.0366 10.598233, 0.26595 10.375, 0.2862 10.306567, 0.2808 10.216533, 0.297 10.119333,
+ 0.3492 10.062, 0.3499 9.988833, 0.34115 9.9508, 0.32355 9.930333, 0.3075 9.912767, 0.306 9.893267, 0.3265 9.847433, 0.3272 9.804533, 0.28625 9.707, 0.257 9.6836,
+ 0.24235 9.6641, 0.24385 9.6407, 0.2011 9.611567, 0.14845 9.577367, 0.116 9.543133, 0.10925 9.482833, 0.11465 9.4405, 0.15115 9.4153, 0.2196 9.417033, 0.2863 9.4231,
+ 0.3682 9.459467, 0.43795 9.4696, 0.50165 9.455433, 0.53805 9.419033, 0.5532 9.346267, 0.4137 9.164333, 0.41065 9.099633, 0.4425 8.9662, 0.4721 8.877267, 0.4706 8.801433,
+ 0.45845 8.764033, 0.38115 8.715533, 0.3766 8.6933, 0.38115 8.665, 0.47285 8.583133, 0.59415 8.515433, 0.61385 8.482067, 0.61535 8.4659, 0.67755 8.436567, 0.6912 8.416367,
+ 0.68965 8.377967, 0.6389 8.312233, 0.5555 8.2415, 0.53125 8.161633, 0.5381 8.062567, 0.6139 7.923067, 0.62525 7.753267, 0.5828 7.609733, 0.5358 7.491467, 0.529 7.444967,
+ 0.5411 7.410567, 0.62905 7.358033, 0.6488 7.334767, 0.6253 7.198333, 0.52065 6.994133, 0.4691 6.881933, 0.4706 6.8132, 0.4895 6.761633, 0.59565 6.7111, 0.6472 6.605967,
+ 0.7382 6.573633, 0.77765 6.539267, 0.80795 6.375533, 0.85345 6.3371, 0.9202 6.292633, 1.00205 6.272433, 1.0263 6.2522, 1.0961 6.169333, 1.20875 6.111633, 1.25875 6.086033,
+ 1.1576 6.026467, 1.0518 5.8321, 0.97185 5.733333, 0.9013 5.6769, 0.84955 5.6628, 0.6544 5.661233, 0.6215 5.6722, 0.6191 5.686333, 0.64265 5.695733, 0.84485 5.700433,
+ 0.9201 5.741167, 0.95775 5.791333, 0.96245 5.857167, 0.97655 5.901067, 1.033 5.935533, 1.03535 5.9528, 1.0024 5.973167, 0.9601 5.981, 0.8566 5.949667, 0.8331 5.926133,
+ 0.8425 5.9089, 0.8684 5.891667, 0.8637 5.876, 0.78845 5.839933, 0.7814 5.814867, 0.7955 5.799167, 0.7861 5.791333, 0.75315 5.786633, 0.74375 5.772533, 0.75785 5.76,
+ 0.81665 5.7553, 0.85425 5.796033, 0.88485 5.8133, 0.906 5.807, 0.906 5.7835, 0.8731 5.753733, 0.82135 5.728633, 0.7814 5.727067, 0.7461 5.7349, 0.70615 5.767833,
+ 0.6873 5.770967, 0.67555 5.7647, 0.6732 5.731767, 0.6403 5.719233, 0.6003 5.723933, 0.59325 5.7553, 0.5721 5.7694, 0.52035 5.766267, 0.4498 5.767833, 0.3981 5.780367,
+ 0.3769 5.7741, 0.3722 5.756867, 0.39575 5.7443, 0.5321 5.736467, 0.5439 5.714533, 0.53445 5.698867, 0.4898 5.6926, 0.4075 5.691033, 0.344 5.678467, 0.1829 5.6586,
+ 0.0316 5.609033, -0.03215 5.5719, -0.06665 5.5648, -0.10645 5.5701, -0.12505 5.5648, -0.141 5.5188, -0.1861 5.4834, -0.3215 5.409067, -0.4622 5.357767, -0.7038 5.223267,
+ -0.8233 5.175467, -0.89925 5.1619, -1.01585 5.156033, -1.09505 5.1443, -1.26885 5.047533, -1.5108 4.955133, -1.7154 4.862767, -1.77255 4.785067, -1.80555 4.7704, -1.86715 4.767467,
+ -1.94415 4.727867, -2.06105 4.684833, -2.11135 4.678367, -2.1636 4.682267, -2.19645 4.69, -2.27385 4.7609, -2.3396 4.800867, -2.5388 4.888533, -2.63745 4.913033, -2.74 4.922067,
+ -2.8611 4.9313, -2.9199 4.954067, -3.03365 4.9781, -3.0583 4.995767, -3.04885 5.007167, -3.0185 5.017267, -2.9635 5.0236, -2.9047 5.013467, -2.77765 5.0274, -2.7587 5.042567,
+ -2.7492 5.083, -2.77385 5.2903, -2.7693 5.433167, -2.79685 5.5588, -2.8403 5.581033, -2.86205 5.581033, -2.89975 5.5675, -2.92585 5.563633, -2.9476 5.5704, -2.9824 5.6216,
+ -3.04255 5.655433, -3.065 5.681067, -3.07395 5.831367, -3.1285 5.943467, -3.2493 6.2655, -3.31015 6.419333, -3.3352 6.501633, -3.32535 6.6054, -3.2985 6.702, -3.286 6.8177,
+ -3.24215 6.909533, -3.12585 7.0443, -3.05605 7.113467, -3.0337 7.2244))
+
+POLYGON ((-13.26225 27.6511, -13.09435 27.704367, -12.95445 27.849533, -12.8965 27.8775, -12.69265 27.920133, -12.57275 27.978733, -12.4828 28.074633, -12.44285 28.082633, -12.42885 28.0813, -12.41885 28.0693,
+ -12.4648 27.9774, -12.45085 27.962767, -12.42285 27.962767, -12.3969 27.984067, -12.3909 28.016033, -12.3729 28.038667, -12.3389 28.062667, -12.30095 28.1146, -12.27095 28.125233, -12.15305 28.121233,
+ -12.0851 28.1412, -11.9612 28.190467, -11.89525 28.194467, -11.8533 28.2198, -11.71345 28.218467, -11.6335 28.221133, -11.54555 28.257067, -11.5076 28.2624, -11.4796 28.275733, -11.40365 28.4089,
+ -11.3177 28.574033, -11.18185 28.659267, -11.1219 28.720533, -11.0759 28.729867, -10.99595 28.7485, -10.81405 28.7778, -10.71015 28.8191, -10.55625 28.9283, -10.4863 29.048167, -10.2925 29.281233,
+ -10.1486 29.4091, -10.0167 29.466367, -9.88685 29.558267, -9.8249 29.6342, -9.657 29.8646, -9.58705 30.0644, -9.5751 30.269533, -9.70695 30.3934, -9.8708 30.5439, -9.8868 30.5532,
+ -9.93275 30.5532, -9.94475 30.5572, -9.95875 30.567867, -9.96075 30.5905, -9.94275 30.626467, -9.7909 30.7237, -9.8009 30.824933, -9.7609 30.8609, -9.7609 30.875533, -9.7809 30.895533,
+ -9.7809 30.910167, -9.7689 30.934133, -9.7709 30.958133, -9.8129 30.998067, -9.8149 31.031367, -9.85485 31.068667, -9.86485 31.0913, -9.85285 31.105967, -9.8169 31.143267, -9.8129 31.1659,
+ -9.8349 31.2032, -9.8369 31.227167, -9.8189 31.260467, -9.8209 31.280467, -9.8409 31.304433, -9.8569 31.3244, -9.8449 31.363033, -9.731 31.468233, -9.727 31.501533, -9.751 31.5548,
+ -9.755 31.636033, -9.739 31.6547, -9.68105 31.685333, -9.5072 31.8092, -9.4253 31.878433, -9.36935 31.953033, -9.35735 32.0729, -9.3134 32.1475, -9.3174 32.179433, -9.37935 32.296633,
+ -9.38535 32.325933, -9.37535 32.339233, -9.3314 32.3499, -9.3154 32.363233, -9.3154 32.381867, -9.3374 32.423167, -9.35935 32.497733, -9.35535 32.5204, -8.9237 32.8454, -8.75585 32.986567,
+ -8.75185 33.081133, -8.72385 33.1091, -8.6759 33.1304, -8.59595 33.143733, -8.4661 33.213, -8.41415 33.303567, -8.37815 33.319533, -8.3102 33.3382, -8.1104 33.399433, -7.91855 33.482,
+ -7.6628 33.625867, -7.37905 33.771033, -7.19915 33.8243, -7.03525 33.8789, -6.93535 33.936167, -6.77745 34.1759, -6.5576 34.435633, -6.46765 34.599433, -6.41765 34.744633, -6.28775 34.963033,
+ -6.12985 35.298633, -5.952 35.6223, -5.922 35.674233, -5.87405 35.704867, -5.71815 35.7235, -5.6242 35.7488, -5.47635 35.846033, -5.4204 35.868667, -5.34445 35.87, -5.31845 35.868667,
+ -5.3025 35.8407, -5.30245 35.8167, -5.3764 35.759433, -5.3824 35.6835, -5.3724 35.664867, -5.31645 35.655533, -5.29445 35.6369, -5.29445 35.564967, -5.2685 35.487733, -5.18255 35.367867,
+ -4.92875 35.197367, -4.77685 35.121467, -4.64695 35.0895, -4.4971 35.072167, -4.3532 35.074833, -4.1494 35.110767, -3.9576 35.201333, -3.9336 35.204, -3.9176 35.192, -3.9196 35.156033,
+ -3.9076 35.140067, -3.86965 35.130733, -3.85765 35.116067, -3.85765 35.1041, -3.9076 35.0495, -3.9096 35.028167, -3.8976 35.013533, -3.88165 35.010867, -3.84965 35.024167, -3.8157 35.057467,
+ -3.7817 35.161367, -3.74575 35.192, -3.7058 35.203967, -3.66785 35.190667, -3.6039 35.1427, -3.5499 35.1254, -3.446 35.1174, -3.35405 35.130733, -3.26815 35.156033, -3.1662 35.203967,
+ -3.0463 35.3598, -2.99635 35.3718, -2.9644 35.369133, -2.9384 35.3518, -2.96635 35.194667, -2.80645 35.077467, -2.72255 35.030867, -2.6586 35.021533, -2.53865 35.033533, -2.42875 35.0535,
+ -2.3708 35.041533, -2.3168 34.996233, -2.25485 34.9696, -2.2209 34.968267, -2.15695 34.984267, -2.123 34.9856, -2.03505 34.965633, -2.06515 34.8551, -2.0411 34.800367, -1.983 34.7667,
+ -1.86925 34.714467, -1.91475 34.603333, -1.9021 34.556167, -1.84145 34.539333, -1.71005 34.5225, -1.6494 34.413033, -1.76695 34.301033, -1.772 34.245467, -1.73915 34.183167, -1.6431 34.072,
+ -1.633 34.0215, -1.7278 33.9112, -1.8213 33.810133, -1.8213 33.7714, -1.7 33.648467, -1.6798 33.557533, -1.7266 33.435433, -1.78975 33.3243, -1.78975 33.246833, -1.7493 33.130633,
+ -1.5939 32.976533, -1.5737 32.8755, -1.54335 32.792967, -1.48525 32.690233, -1.24135 32.534467, -1.14025 32.483933, -1.1251 32.457, -1.14025 32.4351, -1.2565 32.3088, -1.2666 32.283533,
+ -1.2047 32.159767, -1.2148 32.1109, -1.26535 32.077233, -1.51305 32.011567, -1.6394 31.998067, -1.70005 31.9745, -1.8618 31.873467, -1.9591 31.850733, -2.0678 31.8524, -2.29525 31.891133,
+ -2.4039 31.889467, -2.4886 31.875167, -2.6832 31.770733, -2.898 31.5417, -3.10145 31.362333, -3.1596 31.1973, -3.15705 31.1468, -3.1204 31.0786, -3.12795 31.055033, -3.7825 30.6879,
+ -4.3878 30.340133, -4.98045 29.9907, -5.242 29.885433, -5.58065 29.769233, -5.89275 29.6606, -5.99635 29.658933, -6.18085 29.7044, -6.29075 29.706933, -6.3514 29.691767, -6.4045 29.6682,
+ -6.5182 29.552, -6.589 29.503167, -6.71785 29.488, -6.8227 29.498933, -7.04005 29.637033, -7.14365 29.664, -7.2018 29.655567, -7.47605 29.472833, -7.7313 29.306133, -8.31135 28.928067,
+ -8.5729 28.757133, -8.6462 28.694833, -8.6563 28.420333, -8.6702 27.907533, -8.6836 27.654233, -8.7336 27.654233, -12.7346 27.654567, -13.26225 27.6511))
+
+POLYGON ((30.24285 -15.458667, 30.1267 -15.3425, 30.0867 -15.284233, 30.09395 -15.228433, 30.2559 -15.121633, 30.7509 -14.915333, 31.28045 -14.743, 32.143 -14.432333, 32.4978 -14.327967, 33.0791 -14.139233,
+ 33.1064 -14.138, 33.1901 -14.1089, 33.2392 -14.1101, 33.33565 -14.1465, 33.34385 -14.1659, 33.302 -14.250833, 33.3147 -14.295733, 33.42205 -14.4292, 33.5567 -14.5651, 33.6058 -14.595433,
+ 33.6404 -14.600267, 33.6968 -14.590567, 33.78775 -14.551733, 33.8514 -14.549333, 33.9897 -14.5857, 34.11615 -14.5554, 34.26895 -14.517767, 34.33445 -14.506867, 34.37995 -14.519, 34.4054 -14.577233,
+ 34.42725 -14.709467, 34.53185 -14.8672, 34.581 -15.125633, 34.56095 -15.215433, 34.6028 -15.346467, 34.58825 -15.374367, 34.4609 -15.500533, 34.3882 -15.7711, 34.33275 -15.854833, 34.2818 -15.965233,
+ 34.31185 -16.082933, 34.3919 -16.2346, 34.47835 -16.387467, 34.5766 -16.495467, 34.78315 -16.6714, 34.9505 -16.741767, 35.0588 -16.7915, 35.08605 -16.8182, 35.08425 -16.867967, 35.077 -16.922533,
+ 35.01695 -17.0002, 35.01965 -17.0378, 35.0615 -17.059667, 35.10515 -17.0827, 35.13975 -17.0924, 35.1834 -17.075433, 35.23405 -17.029733, 35.1648 -16.957367, 35.1697 -16.934367, 35.17835 -16.9212,
+ 35.21165 -16.9031, 35.24 -16.871033, 35.2665 -16.8061, 35.2628 -16.743633, 35.21285 -16.633467, 35.1844 -16.5882, 35.26565 -16.521833, 35.24565 -16.4636, 35.17285 -16.376233, 35.1401 -16.313133,
+ 35.17285 -16.2913, 35.2893 -16.240333, 35.5295 -16.1578, 35.7406 -16.1384, 35.78975 -16.089833, 35.83705 -15.949067, 35.81155 -15.849567, 35.8589 -15.730667, 35.8389 -15.619, 35.89345 -15.521933,
+ 35.85345 -15.4103, 35.80975 -15.3302, 35.7752 -15.155433, 35.8443 -15.0171, 35.90985 -14.920033, 35.93715 -14.8351, 35.88255 -14.7162, 35.737 -14.570567, 35.6023 -14.4031, 35.3457 -13.990533,
+ 35.2238 -13.866733, 34.9763 -13.757533, 34.88615 -13.692367, 34.8998 -13.677867, 34.8998 -13.640333, 34.8472 -13.5265, 34.8518 -13.475433, 34.802 -13.4453, 34.7752 -13.420667, 34.7752 -13.332067,
+ 34.8269 -13.2933, 34.8315 -13.270567, 34.80845 -13.2047, 34.7992 -13.0386, 34.82785 -13.008433, 34.82135 -12.917367, 34.88965 -12.8743, 34.8989 -12.8423, 34.8652 -12.782, 34.844 -12.759233,
+ 34.76185 -12.71, 34.72675 -12.6811, 34.68895 -12.590633, 34.6428 -12.5402, 34.6188 -12.518033, 34.6142 -12.502033, 34.63265 -12.491567, 34.7023 -12.483567, 34.7226 -12.471867, 34.73645 -12.454667,
+ 34.74755 -12.370367, 34.72725 -12.342067, 34.7226 -12.299, 34.742 -12.261467, 34.8075 -12.217767, 34.82415 -12.204233, 34.8352 -12.1593, 34.8795 -12.144567, 34.8943 -12.1304, 34.89335 -12.112533,
+ 34.8638 -12.076233, 34.86845 -12.031333, 34.9312 -11.975333, 34.9469 -11.960567, 34.94135 -11.741533, 34.95705 -11.7089, 34.9566 -11.7034, 34.98355 -11.587867, 35.01615 -11.561967, 35.05805 -11.528633,
+ 35.1672 -11.5165, 35.3465 -11.542833, 35.4445 -11.556933, 35.5022 -11.520433, 35.55245 -11.513733, 35.67585 -11.522333, 35.71245 -11.506067, 35.81865 -11.438167, 35.8674 -11.427633, 35.92195 -11.431467,
+ 36.01595 -11.467333, 36.05615 -11.511333, 36.1336 -11.553433, 36.1609 -11.590767, 36.1652 -11.643367, 36.158 -11.6912, 36.186 -11.712733, 36.24915 -11.724233, 36.3166 -11.716567, 36.374 -11.695533,
+ 36.4099 -11.697433, 36.50675 -11.728533, 36.5584 -11.737133, 36.5957 -11.734267, 36.64165 -11.7142, 36.6775 -11.677833, 36.7005 -11.640533, 36.7177 -11.634767, 36.73205 -11.6386, 36.7679 -11.6587,
+ 36.7995 -11.666333, 36.85905 -11.663, 36.9064 -11.643867, 36.97385 -11.596033, 37.014 -11.591267, 37.0413 -11.597, 37.08145 -11.6324, 37.2056 -11.697933, 37.29885 -11.732367, 37.3247 -11.730467,
+ 37.37705 -11.702233, 37.4976 -11.616133, 37.57655 -11.586467, 37.67985 -11.5348, 37.7215 -11.4908, 37.73725 -11.443433, 37.7602 -11.365, 37.79825 -11.324333, 37.86715 -11.2832, 37.9647 -11.2631,
+ 38.00635 -11.2526, 38.058 -11.236333, 38.08955 -11.240167, 38.17495 -11.2722, 38.32415 -11.2942, 38.35575 -11.3057, 38.43035 -11.403267, 38.4562 -11.4205, 38.5039 -11.422167, 38.5294 -11.419367,
+ 38.5814 -11.4246, 38.77945 -11.320667, 38.88485 -11.293167, 38.9819 -11.238267, 39.029 -11.218, 39.08975 -11.219967, 39.2334 -11.2461, 39.28735 -11.248067, 39.34125 -11.2422, 39.3795 -11.221933,
+ 39.4305 -11.144133, 39.4604 -11.123867, 39.51825 -11.100333, 39.5398 -11.063067, 39.5653 -11.0258, 39.6212 -10.9944, 39.72805 -10.953233, 39.9011 -10.8532, 39.93935 -10.841433, 40.01485 -10.8362,
+ 40.2036 -10.716567, 40.27025 -10.709367, 40.3227 -10.686467, 40.4706 -10.568067, 40.4831 -10.5722, 40.51685 -10.570733, 40.5496 -10.571233, 40.5629 -10.5817, 40.56135 -10.593667, 40.5348 -10.615433,
+ 40.5379 -10.628967, 40.5551 -10.637267, 40.6206 -10.662233, 40.6284 -10.678867, 40.62375 -10.694467, 40.5972 -10.709033, 40.5083 -10.737133, 40.4287 -10.761033, 40.42715 -10.772467, 40.4334 -10.798467,
+ 40.4459 -10.802633, 40.48415 -10.795867, 40.506 -10.799, 40.5247 -10.818767, 40.52785 -10.832267, 40.56215 -10.855167, 40.6027 -10.8645, 40.61365 -10.873867, 40.61205 -10.8853, 40.58555 -10.904033,
+ 40.5013 -11.002833, 40.506 -11.010133, 40.52785 -11.0122, 40.58555 -11.000767, 40.60585 -11.002833, 40.62455 -11.0226, 40.63235 -11.052767, 40.61595 -11.0876, 40.5894 -11.1053, 40.4724 -11.153133,
+ 40.47085 -11.161433, 40.4896 -11.169767, 40.55665 -11.176, 40.5707 -11.1864, 40.5676 -11.195767, 40.5395 -11.205133, 40.4537 -11.228, 40.41625 -11.249867, 40.38035 -11.3112, 40.378 -11.3294,
+ 40.39515 -11.342933, 40.41075 -11.385567, 40.43105 -11.418833, 40.45755 -11.432367, 40.4872 -11.4334, 40.53865 -11.427167, 40.55585 -11.4282, 40.5652 -11.440667, 40.55895 -11.456267, 40.50125 -11.502033,
+ 40.48565 -11.5426, 40.47705 -11.594067, 40.48015 -11.614867, 40.4911 -11.630467, 40.51135 -11.637767, 40.541 -11.651267, 40.54415 -11.661667, 40.53945 -11.677267, 40.51295 -11.6804, 40.45365 -11.6752,
+ 40.4287 -11.6804, 40.39125 -11.707433, 40.385 -11.7272, 40.3897 -11.735533, 40.3975 -11.735533, 40.4365 -11.7189, 40.4786 -11.7064, 40.48955 -11.7085, 40.49265 -11.725133, 40.4911 -11.7532,
+ 40.50045 -11.766733, 40.5301 -11.788567, 40.53405 -11.811967, 40.52 -11.8494, 40.5231 -11.881633, 40.54025 -11.894133, 40.5621 -11.895167, 40.57305 -11.9035, 40.5668 -11.9191, 40.5512 -11.9347,
+ 40.51375 -11.957567, 40.5153 -11.964867, 40.52465 -11.972133, 40.52465 -11.9846, 40.4962 -12.008967, 40.4946 -12.021467, 40.5122 -12.031933, 40.5184 -12.058967, 40.5075 -12.0881, 40.5122 -12.107867,
+ 40.53245 -12.151533, 40.53245 -12.1692, 40.52 -12.1796, 40.5044 -12.1817, 40.5028 -12.187933, 40.5153 -12.2233, 40.50905 -12.230567, 40.49345 -12.2285, 40.4607 -12.222267, 40.45445 -12.224333,
+ 40.45445 -12.232667, 40.47005 -12.2576, 40.49035 -12.2649, 40.49345 -12.274267, 40.49345 -12.288833, 40.5122 -12.305467, 40.51375 -12.317933, 40.50125 -12.333533, 40.4997 -12.349133, 40.5184 -12.378267,
+ 40.52 -12.4001, 40.50905 -12.4209, 40.495 -12.424533, 40.4638 -12.421433, 40.4451 -12.429733, 40.43105 -12.440133, 40.4342 -12.450533, 40.4482 -12.458867, 40.47005 -12.458867, 40.53715 -12.456767,
+ 40.559 -12.460933, 40.5668 -12.467167, 40.56525 -12.476533, 40.5465 -12.486933, 40.49815 -12.5015, 40.4108 -12.523333, 40.3775 -12.542433, 40.36815 -12.557, 40.3796 -12.581567, 40.42015 -12.619033,
+ 40.43575 -12.6211, 40.4576 -12.614867, 40.53405 -12.570133, 40.55585 -12.567033, 40.57615 -12.570133, 40.6136 -12.601333, 40.63385 -12.6284, 40.64635 -12.660633, 40.63855 -12.6648, 40.62605 -12.660633,
+ 40.5777 -12.629433, 40.5434 -12.620067, 40.5278 -12.6232, 40.52 -12.6419, 40.5309 -12.6544, 40.56055 -12.6731, 40.56835 -12.694933, 40.5738 -12.721467, 40.58785 -12.7381, 40.61125 -12.745367,
+ 40.6362 -12.755767, 40.64245 -12.773467, 40.6362 -12.7901, 40.61125 -12.8057, 40.58625 -12.812967, 40.54415 -12.8109, 40.5301 -12.814, 40.502 -12.8317, 40.48485 -12.8556, 40.4646 -12.860833,
+ 40.4365 -12.8681, 40.4334 -12.872267, 40.4365 -12.8733, 40.4599 -12.879533, 40.46925 -12.900333, 40.4677 -12.9201, 40.45365 -12.923233, 40.43805 -12.919067, 40.4084 -12.902433, 40.3897 -12.900333,
+ 40.3507 -12.903467, 40.31635 -12.923233, 40.3039 -12.939867, 40.30785 -13.003833, 40.29845 -13.061033, 40.30315 -13.076633, 40.33125 -13.0891, 40.39205 -13.097433, 40.40455 -13.092233, 40.41235 -13.0912,
+ 40.43105 -13.100533, 40.4498 -13.1016, 40.4607 -13.0964, 40.4607 -13.072467, 40.47165 -13.0444, 40.49345 -13.024633, 40.53715 -12.998633, 40.55745 -12.996533, 40.5855 -13.0028, 40.59955 -13.015267,
+ 40.6011 -13.035033, 40.5777 -13.0683, 40.5465 -13.124467, 40.5434 -13.154633, 40.5559 -13.223267, 40.56295 -13.259133, 40.56295 -13.2789, 40.54735 -13.2926, 40.5458 -13.3018, 40.55515 -13.3122,
+ 40.57545 -13.323633, 40.58165 -13.3486, 40.5723 -13.366267, 40.5645 -13.373533, 40.55825 -13.397467, 40.53955 -13.440933, 40.5458 -13.446133, 40.56295 -13.441967, 40.58715 -13.425833, 40.59725 -13.4266,
+ 40.6035 -13.438033, 40.6004 -13.465067, 40.5622 -13.511333, 40.5263 -13.5748, 40.5279 -13.5987, 40.5435 -13.612233, 40.57625 -13.615333, 40.59495 -13.618467, 40.609 -13.630967, 40.609 -13.6507,
+ 40.5903 -13.674633, 40.54815 -13.6996, 40.5302 -13.720933, 40.5286 -13.739633, 40.5442 -13.781233, 40.58165 -13.8374, 40.60975 -13.923733, 40.6082 -13.942433, 40.59495 -13.950233, 40.5731 -13.950233,
+ 40.54035 -13.945033, 40.5279 -13.9492, 40.51695 -13.9731, 40.5263 -13.998067, 40.5419 -14.005367, 40.5731 -13.994967, 40.60275 -13.997033, 40.6215 -14.0116, 40.62305 -14.034467, 40.60745 -14.048,
+ 40.5684 -14.071167, 40.5637 -14.080533, 40.57625 -14.0875, 40.6059 -14.0948, 40.6137 -14.104167, 40.60745 -14.116633, 40.52475 -14.159267, 40.51695 -14.170733, 40.5201 -14.187367, 40.57865 -14.230533,
+ 40.60045 -14.233633, 40.61605 -14.2295, 40.6223 -14.207633, 40.6379 -14.173333, 40.65975 -14.1619, 40.68005 -14.1619, 40.7081 -14.1723, 40.72215 -14.197233, 40.68625 -14.3262, 40.67535 -14.344933,
+ 40.6613 -14.355333, 40.64105 -14.3543, 40.63165 -14.340767, 40.61765 -14.3283, 40.59425 -14.330367, 40.5802 -14.340767, 40.5802 -14.360533, 40.61295 -14.410467, 40.61295 -14.428133, 40.595 -14.465067,
+ 40.6012 -14.545133, 40.59655 -14.5701, 40.5794 -14.591933, 40.5778 -14.612733, 40.58875 -14.628333, 40.61215 -14.636667, 40.63245 -14.633533, 40.64335 -14.618967, 40.66985 -14.551367, 40.70105 -14.418267,
+ 40.71355 -14.410967, 40.76505 -14.410967, 40.79155 -14.421367, 40.8165 -14.4401, 40.8212 -14.485867, 40.8181 -14.508733, 40.8056 -14.5264, 40.7697 -14.5524, 40.76345 -14.568, 40.75725 -14.582567,
+ 40.7619 -14.5961, 40.77905 -14.602333, 40.79935 -14.5961, 40.81585 -14.5849, 40.83055 -14.5836, 40.8399 -14.5909, 40.83525 -14.605467, 40.7978 -14.6377, 40.79625 -14.6533, 40.8103 -14.6741,
+ 40.87195 -14.734933, 40.87665 -14.753667, 40.86885 -14.7807, 40.8236 -14.833733, 40.82825 -14.842067, 40.8626 -14.846233, 40.8735 -14.857667, 40.8657 -14.872233, 40.84075 -14.8899, 40.77055 -14.924233,
+ 40.73385 -14.9289, 40.71045 -14.9258, 40.67145 -14.885233, 40.6543 -14.8842, 40.63715 -14.8925, 40.6309 -14.9466, 40.63715 -14.961167, 40.6699 -14.9705, 40.70735 -14.9726, 40.84865 -15.041367,
+ 40.85725 -15.059567, 40.85255 -15.072067, 40.83685 -15.077633, 40.82435 -15.072433, 40.80875 -15.063067, 40.7947 -15.062033, 40.76195 -15.0662, 40.7401 -15.062033, 40.673 -15.016267, 40.6574 -15.016267,
+ 40.62465 -15.037067, 40.62 -15.0485, 40.6356 -15.0641, 40.7588 -15.142133, 40.77445 -15.1702, 40.7705 -15.185267, 40.7565 -15.194633, 40.72685 -15.202967, 40.65665 -15.205033, 40.549 -15.1884,
+ 40.52715 -15.189433, 40.52245 -15.196733, 40.5334 -15.208167, 40.6005 -15.241433, 40.60205 -15.252867, 40.588 -15.260167, 40.5365 -15.267433, 40.50065 -15.299667, 40.5022 -15.315267, 40.5178 -15.320467,
+ 40.55365 -15.3184, 40.6067 -15.291367, 40.6239 -15.291367, 40.65195 -15.301767, 40.67225 -15.325667, 40.67225 -15.350633, 40.6582 -15.3725, 40.62075 -15.3933, 40.6067 -15.4245, 40.5716 -15.477033,
+ 40.54665 -15.504067, 40.51235 -15.519667, 40.4546 -15.540467, 40.4281 -15.558133, 40.4203 -15.575833, 40.42655 -15.597667, 40.4437 -15.613267, 40.4406 -15.633033, 40.425 -15.684, 40.41955 -15.723,
+ 40.40865 -15.742767, 40.38055 -15.766667, 40.3478 -15.786433, 40.3447 -15.794767, 40.3587 -15.799967, 40.38055 -15.801, 40.3899 -15.810367, 40.38525 -15.823867, 40.2854 -15.952833, 40.25345 -15.966867,
+ 40.1817 -15.9804, 40.15205 -15.992867, 40.04905 -16.0979, 40.05685 -16.107267, 40.07715 -16.109367, 40.10835 -16.1031, 40.16295 -16.067767, 40.17545 -16.067767, 40.1926 -16.076067, 40.2004 -16.093767,
+ 40.1848 -16.114567, 40.13645 -16.1624, 40.08025 -16.194633, 40.003 -16.215967, 39.9094 -16.250267, 39.8907 -16.250267, 39.86885 -16.2357, 39.86105 -16.197233, 39.84855 -16.1858, 39.82515 -16.1858,
+ 39.808 -16.195167, 39.80485 -16.224267, 39.78925 -16.249233, 39.7612 -16.265867, 39.7175 -16.278367, 39.6684 -16.2768, 39.6325 -16.277833, 39.60755 -16.286167, 39.6013 -16.296567, 39.6138 -16.305933,
+ 39.66995 -16.3288, 39.68555 -16.3548, 39.6871 -16.425533, 39.698 -16.4432, 39.7651 -16.49, 39.77135 -16.506667, 39.7573 -16.535767, 39.72535 -16.5571, 39.66295 -16.5966, 39.45855 -16.7131,
+ 39.3244 -16.790067, 39.2815 -16.801, 39.26905 -16.796833, 39.26435 -16.775, 39.2675 -16.7178, 39.25655 -16.698033, 39.23005 -16.6866, 39.20665 -16.6897, 39.18635 -16.7074, 39.1895 -16.782267,
+ 39.2113 -16.843633, 39.216 -16.879, 39.20665 -16.9029, 39.1723 -16.929933, 39.11145 -16.952833, 39.09275 -16.971567, 39.05375 -16.9882, 39.0288 -16.9882, 39.00695 -16.984033, 38.97885 -16.987167,
+ 38.90005 -17.0376, 38.86415 -17.051133, 38.82985 -17.0532, 38.8158 -17.048, 38.808 -17.0137, 38.7924 -17.000167, 38.77055 -16.996, 38.74715 -17.002233, 38.65665 -17.0449, 38.61925 -17.052167,
+ 38.57165 -17.048533, 38.50455 -17.009, 38.47805 -17.001733, 38.4406 -17.009, 38.42345 -17.025633, 38.4281 -17.039167, 38.4718 -17.0766, 38.47025 -17.0839, 38.4562 -17.090133, 38.4203 -17.0943,
+ 38.3988 -17.1103, 38.4016 -17.1203, 38.4328 -17.136933, 38.43435 -17.1463, 38.4172 -17.1619, 38.41405 -17.1723, 38.40005 -17.174367, 38.37195 -17.174367, 38.35325 -17.179567, 38.26275 -17.2534,
+ 38.23075 -17.270567, 38.2198 -17.2716, 38.21045 -17.259133, 38.22605 -17.174867, 38.21825 -17.139533, 38.20265 -17.123933, 38.1746 -17.122867, 38.1418 -17.138467, 38.12 -17.179033, 38.11685 -17.2092,
+ 38.1278 -17.227933, 38.15585 -17.262233, 38.15585 -17.2716, 38.14495 -17.279933, 38.1075 -17.280967, 38.08255 -17.2872, 38.0763 -17.295533, 38.0888 -17.312167, 38.08565 -17.326733, 38.0638 -17.340233,
+ 37.95775 -17.420333, 37.81325 -17.476733, 37.8031 -17.4762, 37.7906 -17.4658, 37.78065 -17.4614, 37.7713 -17.4635, 37.74475 -17.481167, 37.7073 -17.5103, 37.5872 -17.543567, 37.5872 -17.550833,
+ 37.61685 -17.558133, 37.62775 -17.5706, 37.61995 -17.581, 37.5716 -17.594533, 37.5279 -17.602833, 37.45145 -17.641333, 37.42725 -17.643933, 37.41475 -17.6304, 37.4023 -17.605467, 37.38355 -17.603367,
+ 37.35235 -17.6148, 37.3118 -17.681367, 37.2931 -17.698, 37.28215 -17.699067, 37.2619 -17.6876, 37.21505 -17.6616, 37.1934 -17.654733, 37.1792 -17.6585, 37.17295 -17.6772, 37.1948 -17.730267,
+ 37.20415 -17.7885, 37.20105 -17.834267, 37.17295 -17.888333, 37.038 -18.0511, 37.01615 -18.0615, 36.9974 -18.053167, 36.98025 -18.0022, 36.9319 -17.9315, 36.88195 -17.909667, 36.8102 -17.9055,
+ 36.75015 -17.917467, 36.71585 -17.937233, 36.67995 -17.945533, 36.66215 -17.96, 36.6667 -17.977233, 36.69635 -17.980367, 36.7229 -17.9762, 36.7541 -17.956433, 36.7884 -17.9346, 36.8204 -17.930967,
+ 36.85475 -17.936167, 36.875 -17.948633, 36.87815 -17.969433, 36.87035 -18.005833, 36.87815 -18.024567, 36.93275 -18.058867, 36.93895 -18.078633, 36.9343 -18.097367, 36.836 -18.1972, 36.8181 -18.203967,
+ 36.7463 -18.202933, 36.72135 -18.208133, 36.6917 -18.222667, 36.6699 -18.223733, 36.6465 -18.216433, 36.6262 -18.206033, 36.6106 -18.206033, 36.6001 -18.214267, 36.6028 -18.226833, 36.67455 -18.2882,
+ 36.68235 -18.309, 36.67145 -18.343333, 36.52325 -18.517, 36.4429 -18.616333, 36.4195 -18.677667, 36.3758 -18.772333, 36.33135 -18.804067, 36.30795 -18.807167, 36.28145 -18.793667, 36.2471 -18.748933,
+ 36.16445 -18.528433, 36.1231 -18.4343, 36.09345 -18.396867, 35.9343 -18.237733, 35.868 -18.170667, 35.76975 -18.1041, 35.7659 -18.101533, 35.6964 -18.0552, 35.5872 -18.001133, 35.5053 -17.9455,
+ 35.4242 -17.868533, 35.33525 -17.731233, 35.323 -17.7163, 35.27515 -17.6579, 35.2346 -17.614233, 35.20185 -17.5955, 35.1675 -17.554933, 35.1207 -17.461333, 35.0981 -17.394267, 35.08405 -17.366167,
+ 35.0232 -17.307933, 34.9343 -17.207033, 34.77285 -16.971467, 34.7065 -16.9023, 34.67375 -16.8763, 34.56455 -16.8243, 34.33365 -16.723433, 34.2268 -16.684267, 34.2128 -16.6901, 34.2058 -16.705267,
+ 34.22365 -16.7229, 34.33755 -16.777, 34.48105 -16.845633, 34.61365 -16.894533, 34.68385 -16.937167, 34.7158 -16.976167, 34.7673 -17.074967, 34.85775 -17.1956, 34.949 -17.2918, 35.05195 -17.409333,
+ 35.066 -17.467567, 35.10425 -17.57, 35.1495 -17.633467, 35.25555 -17.723933, 35.3468 -17.8846, 35.39045 -17.950133, 35.43415 -17.986533, 35.502 -18.025533, 35.6923 -18.106667, 35.7797 -18.163867,
+ 35.88815 -18.300633, 35.96145 -18.3464, 36.0473 -18.4244, 36.08555 -18.502933, 36.13235 -18.680767, 36.1534 -18.7988, 36.1534 -18.864333, 36.14245 -18.879933, 36.11905 -18.891367, 36.10815 -18.8872,
+ 36.0863 -18.857067, 36.066 -18.8477, 36.04885 -18.8529, 36.0442 -18.870567, 36.05355 -18.905933, 36.0426 -18.9309, 35.94825 -18.9907, 35.9264 -18.994867, 35.90145 -18.987567, 35.8796 -18.962633,
+ 35.864 -18.957433, 35.8359 -18.957433, 35.78285 -18.982367, 35.77195 -18.996933, 35.7735 -19.013567, 35.80005 -19.061433, 35.80005 -19.0791, 35.7501 -19.1488, 35.6612 -19.2424, 35.3968 -19.479,
+ 35.2931 -19.573133, 35.21195 -19.639667, 35.12305 -19.6969, 35.09025 -19.7489, 35.0645 -19.781667, 35.0133 -19.818133, 34.98365 -19.861867, 34.95215 -19.882533, 34.9225 -19.889833, 34.8882 -19.889833,
+ 34.8601 -19.874233, 34.6292 -19.705733, 34.58475 -19.667767, 34.57695 -19.6688, 34.56135 -19.688567, 34.55825 -19.714567, 34.5723 -19.739533, 34.75635 -19.8612, 34.76415 -19.8841, 34.7595 -19.911133,
+ 34.73765 -19.927767, 34.6846 -19.943367, 34.6417 -19.984433, 34.6355 -20.0198, 34.6542 -20.070767, 34.69165 -20.1311, 34.68855 -20.171667, 34.6776 -20.202867, 34.6441 -20.220033, 34.61445 -20.215867,
+ 34.58115 -20.203033, 34.5437 -20.195233, 34.5179 -20.2025, 34.5109 -20.216033, 34.52105 -20.2306, 34.54055 -20.242067, 34.6425 -20.285533, 34.6675 -20.3105, 34.6675 -20.332333, 34.6503 -20.3521,
+ 34.62535 -20.373967, 34.6238 -20.3958, 34.63315 -20.436367, 34.6292 -20.4608, 34.6206 -20.469767, 34.5559 -20.492, 34.53875 -20.5149, 34.5316 -20.540567, 34.5441 -20.5666, 34.57775 -20.617867,
+ 34.6027 -20.630333, 34.63705 -20.626167, 34.72125 -20.605367, 34.75245 -20.6085, 34.80705 -20.6324, 34.8305 -20.657367, 34.85055 -20.668833, 34.8677 -20.6751, 34.87085 -20.6881, 34.85465 -20.719233,
+ 34.85935 -20.727567, 34.87495 -20.727567, 34.9124 -20.7151, 34.9311 -20.719233, 34.96385 -20.757733, 34.96385 -20.7858, 34.92955 -20.8482, 34.9358 -20.8607, 34.96385 -20.8794, 34.96855 -20.901267,
+ 34.9584 -20.935067, 34.88195 -21.002667, 34.88195 -21.013067, 34.8991 -21.022433, 34.9428 -21.0162, 35.0239 -20.9933, 35.03485 -20.9954, 35.04885 -21.009933, 35.0504 -21.0233, 34.99115 -21.0869,
+ 34.98805 -21.1046, 34.99585 -21.122267, 35.0563 -21.198967, 35.07545 -21.333, 35.08555 -21.338067, 35.0949 -21.3339, 35.1339 -21.270467, 35.15105 -21.260067, 35.16355 -21.2663, 35.1651 -21.317267,
+ 35.15885 -21.4608, 35.17055 -21.535167, 35.23295 -21.674533, 35.2524 -21.763433, 35.23055 -21.895533, 35.2243 -22.000567, 35.2376 -22.044767, 35.2688 -22.103, 35.2797 -22.1675, 35.28905 -22.322967,
+ 35.3031 -22.3396, 35.3265 -22.3521, 35.3468 -22.3521, 35.3733 -22.335467, 35.37485 -22.311533, 35.3546 -22.202333, 35.36395 -22.174267, 35.4794 -22.0869, 35.49655 -22.083767, 35.5137 -22.088967,
+ 35.51995 -22.104567, 35.51685 -22.228333, 35.534 -22.241867, 35.54805 -22.239767, 35.5683 -22.200267, 35.58235 -22.194, 35.5933 -22.1992, 35.6011 -22.2377, 35.59485 -22.2845, 35.55115 -22.402,
+ 35.50125 -22.493533, 35.4997 -22.522667, 35.51685 -22.626667, 35.5488 -22.8695, 35.57145 -22.8877, 35.6089 -22.8877, 35.6432 -22.886667, 35.6588 -22.891867, 35.6666 -22.9033, 35.66035 -22.919933,
+ 35.63855 -22.935533, 35.6276 -22.953233, 35.5293 -23.053067, 35.4997 -23.109233, 35.48335 -23.246, 35.45215 -23.367667, 35.4217 -23.443067, 35.4139 -23.483633, 35.417 -23.521067, 35.417 -23.543967,
+ 35.3952 -23.583467, 35.37645 -23.606367, 35.3663 -23.650567, 35.36785 -23.709833, 35.37095 -23.769133, 35.346 -23.8856, 35.34055 -23.931867, 35.35345 -23.9521, 35.3714 -23.961467, 35.38155 -23.956267,
+ 35.39015 -23.933867, 35.43415 -23.875733, 35.44975 -23.8362, 35.4638 -23.831, 35.47985 -23.833933, 35.4997 -23.847633, 35.5106 -23.9038, 35.4997 -23.970367, 35.50155 -24, 35.50485 -24.0525,
+ 35.4872 -24.110133, 35.43585 -24.184267, 35.26155 -24.366, 35.10545 -24.515667, 34.8884 -24.654633, 34.7964 -24.727333, 34.7558 -24.7373, 34.5986 -24.743733, 34.3933 -24.807867, 34.21685 -24.881267,
+ 34.0479 -24.9568, 33.95485 -25.021633, 33.66935 -25.1257, 33.45335 -25.1984, 33.42005 -25.214733, 33.28335 -25.281767, 33.2641 -25.276067, 33.2534 -25.258967, 33.28545 -25.236167, 33.30045 -25.220467,
+ 33.2748 -25.2219, 33.17215 -25.253267, 33.155 -25.270367, 33.1764 -25.2832, 33.1871 -25.307433, 33.0866 -25.3502, 32.90375 -25.453533, 32.77545 -25.567567, 32.7134 -25.661633, 32.6674 -25.8163,
+ 32.64815 -25.8334, 32.6375 -25.832, 32.6375 -25.783533, 32.6284 -25.735767, 32.60595 -25.7215, 32.5835 -25.7272, 32.576 -25.75, 32.59315 -25.7878, 32.58135 -25.822, 32.5728 -25.847667,
+ 32.55355 -25.881167, 32.55085 -25.8979, 32.53695 -25.9043, 32.50275 -25.8915, 32.45355 -25.866533, 32.40115 -25.877933, 32.34505 -25.912867, 32.3365 -25.9321, 32.34395 -25.947067, 32.3675 -25.950633,
+ 32.40705 -25.918567, 32.43595 -25.906467, 32.4744 -25.913567, 32.52575 -25.957767, 32.5498 -26.010867, 32.5776 -26.044367, 32.58185 -26.112767, 32.6198 -26.188667, 32.62835 -26.242833, 32.63955 -26.2567,
+ 32.6513 -26.2496, 32.6588 -26.180467, 32.6342 -26.1448, 32.65025 -26.124133, 32.67 -26.126633, 32.716 -26.192233, 32.7534 -26.217167, 32.7673 -26.215733, 32.7641 -26.204333, 32.747 -26.163,
+ 32.75555 -26.104533, 32.79405 -26.078167, 32.8368 -26.070333, 32.85235 -26.072833, 32.85445 -26.089967, 32.83735 -26.1534, 32.83845 -26.233933, 32.84165 -26.397167, 32.82025 -26.475567, 32.7914 -26.6502,
+ 32.7932 -26.767533, 32.7432 -26.763633, 32.64385 -26.755933, 32.4363 -26.7445, 32.325 -26.737367, 32.2211 -26.726567, 32.17415 -26.7217, 32.1613 -26.6632, 32.1463 -26.520567, 32.1249 -26.369367,
+ 32.09815 -26.3173, 32.10455 -26.188933, 32.0853 -26.071967, 32.04145 -25.986967, 31.9922 -25.891533, 31.91945 -25.747467, 31.93335 -25.712533, 31.9719 -25.529933, 32.00825 -25.216867, 32.0211 -25.010733,
+ 31.98685 -24.903767, 31.93765 -24.793933, 31.9387 -24.654867, 31.9473 -24.497967, 31.9291 -24.313267, 31.8863 -24.1977, 31.85315 -24.124233, 31.8283 -24, 31.8283 -23.9452, 31.77825 -23.825067,
+ 31.7837 -23.7219, 31.72455 -23.621167, 31.5662 -23.456133, 31.56075 -23.4185, 31.57805 -23.3542, 31.59985 -23.259567, 31.6117 -23.094533, 31.6026 -22.971967, 31.54345 -22.837233, 31.45335 -22.640633,
+ 31.42785 -22.581167, 31.3842 -22.5411, 31.37875 -22.480433, 31.38535 -22.465267, 31.4124 -22.404, 31.43755 -22.375633, 31.64805 -22.138233, 31.8819 -21.876133, 32.09755 -21.6298, 32.2786 -21.438033,
+ 32.3514 -21.3555, 32.426 -21.29, 32.4369 -21.2657, 32.39415 -21.206267, 32.37415 -21.157733, 32.39415 -21.0934, 32.4442 -20.989067, 32.42875 -20.773033, 32.41055 -20.656533, 32.43785 -20.610433,
+ 32.4797 -20.580067, 32.5252 -20.569167, 32.67985 -20.558233, 32.7099 -20.547333, 32.7736 -20.4915, 32.8582 -20.3362, 32.90915 -20.233033, 32.98465 -20.078933, 33.032 -19.945433, 33.06475 -19.893267,
+ 33.05655 -19.862933, 32.92915 -19.700333, 32.88095 -19.603233, 32.87365 -19.480667, 32.8946 -19.3957, 32.8837 -19.2416, 32.8464 -19.1518, 32.74635 -19.074133, 32.70445 -19.037733, 32.6863 -19.004967,
+ 32.69355 -18.9819, 32.7345 -18.940633, 32.89825 -18.836267, 32.9219 -18.771933, 32.9028 -18.728267, 32.83725 -18.679733, 32.8409 -18.637233, 32.87365 -18.5972, 32.9874 -18.512267, 33.01835 -18.446733,
+ 33.02925 -18.400633, 33.02015 -18.3533, 32.9774 -18.307167, 32.9519 -18.2574, 32.93915 -18.170033, 32.8873 -18.0705, 32.8673 -18.023167, 32.8673 -17.9443, 32.88095 -17.863, 32.92645 -17.7914,
+ 32.94285 -17.7647, 32.89825 -17.647, 32.9019 -17.6021, 32.9574 -17.449167, 32.95555 -17.3254, 32.9128 -17.223467, 32.81995 -17.086333, 32.7854 -17.036567, 32.7963 -17.015967, 32.85 -16.971067,
+ 32.9155 -16.878833, 32.9228 -16.829067, 32.91185 -16.810867, 32.8336 -16.763567, 32.57795 -16.6264, 32.29405 -16.505033, 32.2031 -16.505033, 31.9847 -16.468633, 31.8937 -16.444367, 31.84095 -16.3764,
+ 31.7172 -16.2939, 31.56795 -16.2502, 31.4406 -16.2065, 31.30955 -16.121567, 31.2004 -16.102167, 31.1003 -16.121567, 30.97655 -16.119133, 30.68175 -16.094867, 30.53615 -16.0973, 30.45975 -16.0876,
+ 30.42335 -16.048767, 30.4015 -16.002633, 30.4106 -15.9444, 30.3991 -15.791067, 30.3784 -15.751333, 30.48715 -15.713067, 30.48575 -15.7098, 30.3694 -15.671933, 30.3325 -15.640467, 30.3284 -15.577567,
+ 30.3346 -15.547467, 30.24285 -15.458667))
+
+POLYGON ((2.66825 6.293867, 2.68195 6.327233, 2.7171 6.412933, 2.7769 6.596967, 2.8025 6.669067, 2.77975 6.7696, 2.7399 6.925167, 2.80965 7.014333, 2.8011 7.078867, 2.81535 7.171833,
+ 2.76125 7.3312, 2.7755 7.357733, 2.8267 7.3919, 2.85235 7.412767, 2.8495 7.441233, 2.79685 7.494333, 2.7627 7.5835, 2.7741 7.704933, 2.75985 7.7998, 2.75845 7.962967,
+ 2.7556 8.050233, 2.66165 8.238067, 2.64745 8.321533, 2.67165 8.454367, 2.6916 8.646, 2.7286 8.885033, 2.75135 8.957133, 2.79265 8.9951, 2.9435 9.033033, 3.07725 9.0691,
+ 3.1655 9.1241, 3.22245 9.236067, 3.20395 9.465633, 3.25805 9.499767, 3.3121 9.596533, 3.3605 9.645867, 3.3662 9.778667, 3.49995 9.8413, 3.58395 9.9115, 3.5868 9.941867,
+ 3.5612 10.002567, 3.5555 10.05, 3.6067 10.1183, 3.5982 10.158133, 3.5384 10.245433, 3.52985 10.3251, 3.5555 10.372533, 3.5754 10.3896, 3.64085 10.3877, 3.7519 10.338367,
+ 3.81025 10.361133, 3.77895 10.438933, 3.77325 10.5262, 3.79605 10.579333, 3.7989 10.630533, 3.77895 10.695067, 3.65085 10.778533, 3.62955 10.812667, 3.6523 11.0005, 3.54985 11.220567,
+ 3.3819 11.3306, 3.3734 11.355267, 3.3947 11.4141, 3.54555 11.636067, 3.6167 11.814233, 3.68455 11.9841, 3.6909 12, 3.6966 12.012233, 3.72705 12.0311, 3.7423 12.055767,
+ 3.74885 12.094967, 3.7304 12.4682, 3.74815 12.5893, 3.8663 12.699567, 3.9934 12.794067, 4.04065 12.878733, 4.0909 13.022467, 4.11455 13.2873, 4.16475 13.3759, 4.50165 13.555067,
+ 4.6819 13.6801, 4.88875 13.7431, 5.1399 13.745067, 5.46495 13.791333, 5.8136 13.7362, 5.9525 13.658433, 6.0441 13.626933, 6.3041 13.595433, 6.5021 13.5462, 6.7503 13.427067,
+ 6.7917 13.348333, 6.85965 13.186867, 6.9985 13.005733, 7.1019 12.985067, 7.63675 13.231167, 7.7047 13.2479, 8.012 13.249867, 8.1893 13.131733, 8.6473 12.922033, 8.87485 12.839333,
+ 9.02555 12.8029, 9.454 12.798967, 9.6106 12.807833, 9.7879 12.8866, 9.9593 13.046067, 10.05975 13.1012, 10.59755 13.303033, 10.8103 13.3237, 11.1767 13.319767, 11.35695 13.2853,
+ 11.6731 13.2735, 11.877 13.2164, 11.99245 13.153867, 12 13.149767, 12.13125 13.1035, 12.27505 13.070167, 12.4647 13.076733, 12.58245 13.126867, 12.68385 13.1988, 12.79995 13.349233,
+ 12.93075 13.464767, 13.05175 13.514933, 13.2022 13.5171, 13.2774 13.5498, 13.32645 13.597767, 13.4082 13.785267, 13.49 13.807067, 13.5463 13.804767, 13.5963 13.8027, 13.68785 13.741667,
+ 13.8023 13.5193, 14.1506 13.163933, 14.15035 13.158733, 14.1408 12.952467, 14.19805 12.802033, 14.2242 12.6211, 14.3223 12.529533, 14.6101 12.3355, 14.6837 12.267933, 14.7131 12.185067,
+ 14.6782 12, 14.61005 11.8881, 14.58415 11.745033, 14.58415 11.542767, 14.5607 11.475333, 14.5089 11.450667, 14.3856 11.450667, 14.35355 11.427667, 14.23025 11.292833, 14.0996 11.231967,
+ 13.9455 11.184267, 13.87155 11.1366, 13.8099 11.051067, 13.74085 10.883367, 13.6533 10.761667, 13.56205 10.534767, 13.4893 10.289767, 13.41285 10.168067, 13.3376 10.046367, 13.30805 9.960867,
+ 13.31295 9.903333, 13.35115 9.745467, 13.3265 9.655033, 13.26235 9.577733, 13.16245 9.518533, 12.9208 9.4281, 12.8838 9.378767, 12.86655 9.286667, 12.885 9.1765, 12.84555 9.012067,
+ 12.73825 8.806533, 12.61005 8.701267, 12.34495 8.619033, 12.2414 8.551633, 12.17725 8.444733, 12.15755 8.3691, 12.1193 8.010633, 12.0589 7.717933, 12 7.648467, 11.9827 7.634,
+ 11.87615 7.544933, 11.75505 7.4367, 11.73245 7.3906, 11.7364 7.269933, 11.82955 7.089, 11.8269 7.057067, 11.80425 7.021567, 11.57 6.9027, 11.5008 6.856567, 11.49285 6.8353,
+ 11.52475 6.805133, 11.54075 6.748367, 11.52745 6.638367, 11.47685 6.562067, 11.3824 6.5142, 11.2839 6.505333, 11.21205 6.517767, 11.1588 6.551467, 11.1269 6.649033, 11.06035 6.771467,
+ 10.99115 6.831767, 10.8541 6.867233, 10.745 6.947067, 10.46285 7.159967, 10.4123 7.183, 10.3338 7.1759, 10.23535 7.163467, 10.19275 7.138633, 10.11025 6.966567, 10.08365 6.8956,
+ 10.03575 6.8406, 9.95055 6.805133, 9.78685 6.787367, 9.74695 6.766067, 9.7203 6.719933, 9.7283 6.5248, 9.72565 6.4627, 9.69635 6.4432, 9.5074 6.418367, 9.4648 6.391733,
+ 9.41555 6.361567, 9.41555 6.301233, 9.40755 6.248, 9.38895 6.226733, 9.30375 6.210767, 9.184 6.109633, 9.09085 6.0085, 8.97505 5.9127, 8.82865 5.8098, 8.81005 5.786767,
+ 8.82335 5.754833, 8.8207 5.7353, 8.7781 5.682067, 8.7861 5.650133, 8.88985 5.559667, 8.89785 5.513533, 8.838 5.401767, 8.8353 5.233233, 8.83 5.128567, 8.7049 4.9565,
+ 8.55585 4.835867, 8.49995 4.780867, 8.48135 4.732967, 8.48135 4.6762, 8.47335 4.644267, 8.43875 4.622967, 8.4068 4.622967, 8.34605 4.648367, 8.34605 4.671633, 8.371 4.697567,
+ 8.373 4.706867, 8.36205 4.7142, 8.3341 4.715533, 8.31115 4.720833, 8.21335 4.8359, 8.1914 4.844533, 8.17345 4.842533, 8.1535 4.829233, 8.10745 4.818833, 8.095 4.806867,
+ 8.09655 4.7965, 8.109 4.784533, 8.20565 4.742467, 8.23685 4.678567, 8.2259 4.659833, 8.19555 4.657767, 8.1332 4.664533, 8.1168 4.657267, 8.1168 4.6453, 8.1316 4.638033,
+ 8.1893 4.620367, 8.19555 4.6058, 8.17295 4.558, 8.13005 4.529433, 8.08955 4.522167, 7.9843 4.513867, 7.9594 4.5019, 7.81845 4.476067, 7.6637 4.4752, 7.63375 4.47,
+ 7.59995 4.456133, 7.56485 4.456133, 7.4829 4.4934, 7.22665 4.620867, 7.16165 4.633, 7.14865 4.6278, 7.16165 4.613933, 7.38275 4.496, 7.4166 4.4752, 7.4764 4.463067,
+ 7.53625 4.423167, 7.52585 4.402367, 7.49725 4.3937, 7.4244 4.402367, 7.34895 4.3885, 7.32035 4.390233, 7.2943 4.4093, 7.28445 4.4099, 7.2771 4.404267, 7.27285 4.3747,
+ 7.24435 4.3529, 7.1694 4.336, 7.14615 4.340233, 7.1356 4.3529, 7.143 4.381767, 7.14085 4.397933, 7.12395 4.403567, 7.0902 4.404267, 7.06695 4.387367, 7.0659 4.3557,
+ 7.0511 4.350767, 7.01625 4.362733, 6.9962 4.359933, 6.98355 4.345867, 6.9962 4.326133, 6.9983 4.311367, 6.98565 4.302933, 6.9561 4.2987, 6.90435 4.3008, 6.86265 4.304067,
+ 6.84385 4.299067, 6.80245 4.287767, 6.7141 4.290267, 6.6558 4.275233, 6.61445 4.275233, 6.5317 4.253933, 6.4828 4.252667, 6.40195 4.267733, 6.3512 4.255167, 6.29855 4.251433,
+ 6.2384 4.258933, 6.2158 4.2577, 6.17445 4.233867, 6.1331 4.226367, 6.1001 4.229633, 6.0545 4.26, 6.0292 4.316267, 6.0022 4.336533, 5.97685 4.3388, 5.93465 4.3264,
+ 5.90595 4.311767, 5.8806 4.315167, 5.8536 4.344433, 5.83165 4.3478, 5.7641 4.341033, 5.74385 4.348933, 5.7371 4.377067, 5.7202 4.384933, 5.69485 4.3883, 5.6459 4.410833,
+ 5.6054 4.487367, 5.58345 4.496367, 5.5429 4.502, 5.5125 4.52, 5.48045 4.5819, 5.4831 4.606867, 5.499 4.615533, 5.53805 4.614567, 5.5482 4.623233, 5.5482 4.6377,
+ 5.52795 4.6647, 5.53805 4.732167, 5.53515 4.774567, 5.5872 4.830467, 5.5872 4.843, 5.5713 4.847833, 5.5525 4.8459, 5.49755 4.7977, 5.4643 4.791933, 5.41805 4.8064,
+ 5.38625 4.842033, 5.35155 4.969267, 5.34865 5.013633, 5.37035 5.0406, 5.46575 5.0647, 5.5019 5.0859, 5.5077 5.0994, 5.49615 5.1023, 5.4614 5.0888, 5.41805 5.066633,
+ 5.35295 5.062767, 5.3168 5.072433, 5.29225 5.101333, 5.27345 5.163033, 5.28845 5.2857, 5.3143 5.3053, 5.3496 5.3194, 5.4025 5.323333, 5.5036 5.302933, 5.5459 5.301367,
+ 5.5753 5.308433, 5.6604 5.32, 5.69225 5.3381, 5.6946 5.3515, 5.684 5.357, 5.6663 5.357, 5.58955 5.3389, 5.54945 5.342833, 5.5282 5.358567, 5.53055 5.376667,
+ 5.54945 5.406567, 5.5506 5.454567, 5.5742 5.478167, 5.63795 5.4892, 5.6592 5.508867, 5.66985 5.556867, 5.6592 5.563133, 5.6474 5.5608, 5.6368 5.527733, 5.6179 5.515167,
+ 5.54945 5.504933, 5.5152 5.483667, 5.48215 5.4349, 5.4656 5.4294, 5.44675 5.435667, 5.44675 5.448267, 5.4621 5.507267, 5.45735 5.537967, 5.40425 5.6072, 5.4054 5.636333,
+ 5.43845 5.692967, 5.43845 5.7166, 5.4125 5.741767, 5.3653 5.7567, 5.34485 5.7758, 5.3283 5.813267, 5.3063 5.833833, 5.2721 5.846333, 5.25225 5.846333, 5.20155 5.832367,
+ 5.1773 5.833833, 5.15635 5.846333, 5.14425 5.846333, 5.13875 5.840467, 5.14425 5.8096, 5.1354 5.7905, 5.10785 5.7802, 5.077 5.780933, 5.04835 5.772133, 5.0186 5.7736,
+ 4.99545 5.7846, 4.8863 5.9727, 4.81465 6.024867, 4.48885 6.219433, 4.35265 6.294367, 4.28345 6.301567, 4.117 6.311667, 4.00245 6.352, 3.95055 6.357767, 3.88135 6.356333,
+ 3.5281 6.3302, 3.47055 6.3424, 3.4522 6.368567, 3.47315 6.394733, 3.5726 6.426133, 3.6354 6.466267, 3.6956 6.485433, 3.73225 6.5116, 3.75055 6.539533, 3.77935 6.544767,
+ 3.8029 6.536033, 3.8369 6.5186, 3.87355 6.513367, 3.9442 6.5151, 3.9861 6.5029, 4.02535 6.474967, 4.01485 6.459267, 3.97825 6.445333, 3.87095 6.454033, 3.7924 6.454033,
+ 3.75055 6.443567, 3.75055 6.434867, 3.7741 6.4244, 3.8212 6.422633, 3.90495 6.429633, 3.95205 6.4244, 3.99915 6.406933, 4.0332 6.406933, 4.10385 6.379033, 4.15095 6.379033,
+ 4.25825 6.396467, 4.31845 6.394733, 4.37865 6.384267, 4.40645 6.391433, 4.4084 6.401733, 4.38905 6.412033, 4.31555 6.424933, 4.1705 6.4185, 4.1144 6.426233, 4.08535 6.445567,
+ 4.08535 6.463633, 4.097 6.4894, 4.1666 6.5268, 4.16855 6.5397, 4.15115 6.5487, 4.1279 6.547433, 4.04475 6.530667, 4.0022 6.530667, 3.95965 6.5384, 3.89775 6.534533,
+ 3.861 6.542267, 3.8146 6.569333, 3.7488 6.579667, 3.6966 6.5732, 3.625 6.5384, 3.5573 6.520367, 3.54185 6.494567, 3.51295 6.4695, 3.4735 6.4629, 3.4464 6.464567,
+ 3.40695 6.476067, 3.39465 6.504, 3.3774 6.508933, 3.3552 6.505633, 3.33795 6.484267, 3.3256 6.448133, 3.2763 6.410333, 3.19495 6.397167, 3.18015 6.385667, 3.1851 6.374167,
+ 3.22455 6.365967, 3.24425 6.354467, 3.22205 6.338033, 3.1432 6.338033, 3.03965 6.338033, 2.90405 6.3298, 2.66825 6.293867))
+
+POLYGON ((-11.5545 6.905, -11.51775 6.938333, -11.4926 6.961167, -11.4762 7.003567, -11.4544 7.086, -11.4253 7.1793, -11.3944 7.222933, -11.3644 7.244733, -11.3335 7.248367, -11.2735 7.247133,
+ -11.2153 7.266533, -11.0435 7.3768, -10.88715 7.502867, -10.77985 7.616767, -10.70805 7.736733, -10.6899 7.8034, -10.70805 7.902767, -10.69715 7.975467, -10.65715 8.020333, -10.61355 8.0482,
+ -10.48535 8.063967, -10.38535 8.074867, -10.3199 8.103967, -10.27445 8.1585, -10.26315 8.419667, -10.2617 8.453, -10.1174 8.466333, -10.01365 8.4518, -9.9663 8.432233, -9.92935 8.4354,
+ -9.86395 8.466333, -9.78345 8.521267, -9.76355 8.526333, -9.7465 8.520633, -9.74555 8.5118, -9.75405 8.484, -9.7427 8.4739, -9.719 8.4714, -9.68585 8.478333, -9.65835 8.468233,
+ -9.65085 8.4443, -9.5406 8.3613, -9.52105 8.245133, -9.5246 8.034133, -9.45345 7.820767, -9.42145 7.685633, -9.35265 7.601867, -9.3625 7.5241, -9.39175 7.440133, -9.4266 7.3854,
+ -9.38235 7.366767, -9.313 7.363233, -9.23565 7.330033, -9.17875 7.269567, -9.17875 7.2257, -9.1485 7.197267, -9.11475 7.180667, -9.07915 7.179467, -8.9529 7.2423, -8.86665 7.309867,
+ -8.86665 7.370333, -8.8471 7.409433, -8.7706 7.4616, -8.74215 7.5031, -8.7564 7.612133, -8.73505 7.638233, -8.70835 7.6489, -8.6817 7.6477, -8.65145 7.628733, -8.6301 7.561167,
+ -8.5579 7.507933, -8.5608 7.4867, -8.5449 7.464533, -8.45075 7.402767, -8.45945 7.215533, -8.4414 7.132533, -8.35305 7.008033, -8.3849 6.907667, -8.51155 6.6693, -8.7179 6.458933,
+ -8.7309 6.4184, -8.70265 6.392333, -8.6737 6.3827, -8.60855 6.3798, -8.5535 6.374967, -8.4807 6.346267, -8.3951 6.2738, -8.3196 6.236033, -8.2567 6.225133, -8.18375 6.216767,
+ -8.0856 6.189067, -7.99815 6.1882, -7.9516 6.178133, -7.93275 6.163067, -7.9189 6.132867, -7.8975 6.106867, -7.9 6.087567, -7.9239 6.048133, -7.9252 6.0297, -7.91385 6.0104,
+ -7.86225 5.961767, -7.86415 5.939967, -7.8767 5.9081, -7.87295 5.8947, -7.84275 5.8712, -7.77355 5.833467, -7.7232 5.820033, -7.68045 5.8016, -7.6188 5.735333, -7.5603 5.6741,
+ -7.5414 5.6355, -7.5389 5.596933, -7.52885 5.474467, -7.49675 5.3738, -7.4955 5.325167, -7.5144 5.2715, -7.5402 5.2581, -7.6094 5.243833, -7.63835 5.227067, -7.65845 5.176733,
+ -7.6912 5.115533, -7.69875 5.0434, -7.6868 5.003967, -7.67045 4.973767, -7.6415 4.9419, -7.6302 4.905833, -7.64275 4.801, -7.6522 4.752333, -7.6421 4.7188, -7.61065 4.678533,
+ -7.60185 4.601367, -7.60625 4.5024, -7.61885 4.396733, -7.6094 4.364833, -7.57795 4.326267, -7.5161 4.283467, -7.56935 4.278, -7.66355 4.278, -7.7209 4.278, -7.8192 4.2971,
+ -7.84 4.3162, -7.8864 4.323467, -7.9001 4.3344, -7.9001 4.365333, -7.9301 4.3799, -8.08305 4.438133, -8.36155 4.512767, -8.42165 4.5492, -8.52815 4.5856, -8.7466 4.734867,
+ -8.89135 4.8568, -8.9469 4.8689, -8.98265 4.8871, -9.0221 4.932533, -9.04235 4.948933, -9.0843 4.965333, -9.1089 4.998133, -9.10745 5.058867, -9.1176 5.0849, -9.1335 5.0936,
+ -9.15085 5.091667, -9.1957 5.076233, -9.2319 5.076233, -9.2724 5.085867, -9.378 5.145667, -9.42865 5.163033, -9.4575 5.202567, -9.5588 5.259833, -9.6654 5.4037, -9.68855 5.454867,
+ -9.71415 5.476767, -9.82865 5.5726, -9.9742 5.747167, -10.0924 5.829167, -10.10885 5.8584, -10.0918 5.8771, -10.06745 5.893333, -10.065 5.907933, -10.08085 5.916867, -10.1393 5.920933,
+ -10.16855 5.930667, -10.19535 5.984267, -10.23555 6.018367, -10.2532 6.0525, -10.2922 6.0744, -10.358 6.0882, -10.386 6.105267, -10.386 6.123133, -10.3543 6.162933, -10.358 6.1759,
+ -10.38235 6.184033, -10.40185 6.1824, -10.4213 6.1613, -10.4347 6.159667, -10.44935 6.162933, -10.49075 6.184833, -10.52425 6.185667, -10.5462 6.175933, -10.58515 6.157233, -10.6339 6.154,
+ -10.6753 6.166167, -10.7971 6.232767, -10.8501 6.277433, -10.8501 6.296133, -10.8379 6.301, -10.8172 6.298567, -10.79405 6.277433, -10.7758 6.2742, -10.76725 6.2823, -10.7636 6.3018,
+ -10.777 6.364333, -10.80015 6.374867, -10.8245 6.374067, -10.8769 6.357033, -10.90125 6.358633, -10.92925 6.371633, -11.01575 6.4902, -11.098 6.555967, -11.22345 6.614433, -11.3221 6.658267,
+ -11.40555 6.698833, -11.43235 6.7216, -11.42745 6.732133, -11.4019 6.7362, -11.3556 6.732967, -11.3142 6.7216, -11.274 6.6826, -11.23985 6.670433, -11.21305 6.676933, -11.1875 6.7167,
+ -11.1887 6.737, -11.21915 6.752433, -11.2496 6.767867, -11.2764 6.800333, -11.29835 6.805233, -11.34465 6.806033, -11.3617 6.8109, -11.37875 6.8312, -11.39825 6.8377, -11.43965 6.8377,
+ -11.46765 6.848267, -11.54745 6.901033, -11.5545 6.905))
+
+POLYGON ((12.1532 -5.8078, 12.19315 -5.809867, 12.26825 -5.813733, 12.36445 -5.810533, 12.4366 -5.781667, 12.50395 -5.7239, 12.516 -5.621267, 12.53045 -5.233133, 12.44385 -5.159333, 12.44385 -5.124067,
+ 12.6074 -5.005367, 12.80465 -4.880267, 13.06715 -4.711767, 13.0933 -4.710167, 13.17505 -4.723, 13.27005 -4.808033, 13.32775 -4.8834, 13.41435 -4.934733, 13.4913 -4.931533, 13.60195 -4.907467,
+ 13.65245 -4.862567, 13.70535 -4.698967, 13.74625 -4.602733, 13.8088 -4.580267, 13.8665 -4.570667, 13.88935 -4.580267, 13.93985 -4.6412, 13.99035 -4.665267, 14.0577 -4.663667, 14.0986 -4.649233,
+ 14.2477 -4.5145, 14.3006 -4.506467, 14.392 -4.5145, 14.4305 -4.543367, 14.4377 -4.638, 14.3992 -4.686133, 14.32465 -4.745467, 14.291 -4.814433, 14.291 -4.8834, 14.3319 -4.9203,
+ 14.46385 -4.962533, 14.51385 -4.943867, 14.65185 -4.9109, 14.77955 -4.832167, 14.84135 -4.730567, 15.08785 -4.6033, 15.12355 -4.566667, 15.1387 -4.519067, 15.12355 -4.441233, 15.1387 -4.424767,
+ 15.16615 -4.4156, 15.195 -4.416533, 15.23905 -4.358633, 15.2661 -4.353967, 15.29755 -4.346767, 15.31525 -4.338867, 15.3408 -4.323133, 15.3713 -4.2956, 15.40765 -4.265433, 15.47155 -4.205767,
+ 15.5762 -4.121567, 15.6816 -4.0307, 15.91835 -3.919233, 15.96115 -3.8711, 16.0427 -3.7525, 16.0942 -3.554567, 16.12095 -3.523367, 16.1838 -3.4574, 16.19985 -3.415467, 16.18115 -3.181,
+ 16.2226 -3.123933, 16.2079 -2.9902, 16.252 -2.896567, 16.23065 -2.8012, 16.23865 -2.753933, 16.2704 -2.6797, 16.26795 -2.4614, 16.27155 -2.280967, 16.2824 -2.187133, 16.3329 -2.119767,
+ 16.4484 -1.988667, 16.5765 -1.874367, 16.6631 -1.73, 16.7425 -1.496633, 16.76775 -1.424467, 16.89585 -1.310167, 17.06905 -1.1971, 17.23505 -1.1177, 17.4371 -0.946867, 17.5237 -0.8723,
+ 17.6554 -0.760433, 17.7709 -0.5824, 17.80695 -0.503, 17.7781 -0.433233, 17.70955 -0.358667, 17.70055 -0.266033, 17.79435 0.0708, 17.84125 0.280133, 17.89355 0.38, 17.9044 0.442533,
+ 17.89355 0.485867, 17.8142 0.598933, 17.79615 0.6639, 17.80335 0.733667, 17.8214 0.890067, 17.8196 0.9731, 17.8737 1.086167, 17.9423 1.252167, 18.0758 1.478333, 18.1137 1.5734,
+ 18.13895 1.684067, 18.13175 1.9078, 18.1209 2.121933, 18.1155 2.1833, 18.1696 2.245867, 18.1985 2.306, 18.2057 2.383, 18.2454 2.440733, 18.31035 2.577867, 18.3825 2.7583,
+ 18.48175 2.9255, 18.6369 3.067433, 18.6802 3.1252, 18.691 3.223833, 18.6766 3.385033, 18.6351 3.631633, 18.6279 3.7495, 18.6315 3.807267, 18.6748 3.8602, 18.70705 3.902167,
+ 18.7223 3.9495, 18.70855 3.999367, 18.6534 4.135833, 18.6554 4.214567, 18.7046 4.269667, 18.7617 4.2854, 18.8089 4.309033, 18.84435 4.361533, 18.8286 4.465167, 18.9024 4.639033,
+ 19.0323 4.749267, 19.11 4.843067, 19.21235 4.945433, 19.26945 4.9743, 19.484 5.0176, 19.54005 5.0458, 19.62075 5.1219, 19.6621 5.1416, 19.731 5.1416, 19.83925 5.116667,
+ 19.8806 5.083833, 19.88255 5.031367, 19.90025 5.007733, 20.0597 4.913267, 20.1394 4.852233, 20.1768 4.835167, 20.2142 4.8286, 20.2496 4.808933, 20.33425 4.6987, 20.40705 4.648833,
+ 20.4602 4.5898, 20.51035 4.5104, 20.54975 4.476267, 20.64815 4.4343, 20.7308 4.385733, 20.782 4.377867, 20.92175 4.396233, 20.97395 4.3956, 21.0369 4.3759, 21.14125 4.305067,
+ 21.2554 4.231567, 21.30065 4.2224, 21.3656 4.227633, 21.39215 4.224367, 21.41185 4.2073, 21.42955 4.177133, 21.49645 4.1509, 21.5575 4.137767, 21.5988 4.146967, 21.67165 4.192867,
+ 21.71885 4.2073, 21.79365 4.203367, 21.835 4.187633, 21.8694 4.1673, 22.0072 4.1568, 22.1115 4.126633, 22.1981 4.1135, 22.33295 4.076767, 22.423 4.0823, 22.5012 4.110733,
+ 22.5439 4.159733, 22.5676 4.271967, 22.5534 4.332033, 22.6079 4.390533, 22.70985 4.434767, 22.73235 4.460833, 22.72285 4.508267, 22.72285 4.612567, 22.7537 4.645767, 22.79875 4.663167,
+ 22.84855 4.6695, 22.9386 4.705833, 22.9884 4.705833, 23.0619 4.6837, 23.1188 4.648933, 23.1686 4.606267, 23.216 4.5936, 23.2848 4.5952, 23.3595 4.622867, 23.44725 4.640267,
+ 23.5136 4.649767, 23.56105 4.665567, 23.6298 4.7857, 23.6606 4.806233, 23.7839 4.8426, 23.8503 4.886867, 23.91555 4.9256, 24.00325 4.944567, 24.06015 4.9762, 24.08625 4.979367,
+ 24.10285 4.971467, 24.1147 4.947733, 24.14075 4.946167, 24.1621 4.954067, 24.1787 4.9762, 24.20005 4.9841, 24.238 4.985667, 24.25455 4.995167, 24.25455 5.0078, 24.2261 5.0157,
+ 24.21425 5.039433, 24.23325 5.0584, 24.2949 5.075767, 24.32095 5.069467, 24.3328 5.047333, 24.34465 5.028367, 24.38025 5.0157, 24.4075 5.0212, 24.4146 5.041767, 24.40985 5.0718,
+ 24.43355 5.086033, 24.48335 5.098667, 24.54265 5.084433, 24.58295 5.059167, 24.6683 4.9311, 24.7015 4.9153, 24.74415 4.912133, 24.77735 4.921633, 24.8414 4.9659, 24.8722 5.000667,
+ 24.903 5.010167, 24.94215 5.004633, 24.99905 4.979333, 25.0346 4.966667, 25.07965 4.971433, 25.11285 4.9888, 25.14605 5.012533, 25.184 5.0299, 25.25035 5.0378, 25.2717 5.0473,
+ 25.27645 5.075733, 25.26225 5.0963, 25.1911 5.165833, 25.18875 5.187967, 25.2243 5.240133, 25.2385 5.271767, 25.2646 5.287567, 25.2907 5.295467, 25.30965 5.281233, 25.33335 5.255933,
+ 25.38075 5.2433, 25.4377 5.2528, 25.4721 5.264667, 25.49345 5.2868, 25.49105 5.3121, 25.50765 5.329467, 25.53375 5.3374, 25.56695 5.334233, 25.6049 5.313667, 25.6286 5.277333,
+ 25.6357 5.2536, 25.69495 5.2062, 25.7495 5.177733, 25.90835 5.150867, 26.00555 5.144533, 26.1466 5.143767, 26.17505 5.1327, 26.1978 5.0955, 26.2272 5.023633, 26.25805 4.998333,
+ 26.3244 4.990433, 26.36475 4.9857, 26.42165 4.995167, 26.507 5.014133, 26.5544 5.012567, 26.68125 4.995967, 26.7097 4.9991, 26.74765 5.022833, 26.80695 5.0402, 26.89465 5.063933,
+ 26.9658 5.062333, 27.1673 5.022833, 27.2829 4.993967, 27.3603 4.970467, 27.4348 4.955867, 27.4848 4.946067, 27.6099 4.854633, 27.79995 4.691033, 28.008 4.458467, 28.1259 4.375033,
+ 28.2498 4.344567, 28.37485 4.270767, 28.4422 4.246733, 28.49275 4.257933, 28.63705 4.383067, 28.6527 4.4777, 28.71765 4.511367, 28.7922 4.5162, 28.89805 4.488933, 29.242 4.3991,
+ 29.3298 4.415167, 29.43565 4.480933, 29.5078 4.582, 29.5968 4.650967, 29.6413 4.670233, 29.675 4.6542, 29.9131 4.5451, 29.93235 4.4986, 29.9107 4.403967, 29.92995 4.376667,
+ 30.02495 4.3189, 30.1837 4.099133, 30.24025 4.0542, 30.24265 3.982, 30.34605 3.872933, 30.4856 3.7462, 30.5301 3.685233, 30.54215 3.619467, 30.5397 3.584167, 30.5734 3.5617,
+ 30.68165 3.5569, 30.73455 3.544067, 30.76585 3.511967, 30.77065 3.4446, 30.77905 3.426933, 30.81515 3.426933, 30.84805 3.4469, 30.88175 3.440467, 30.91785 3.41, 30.9082 3.3458,
+ 30.83125 3.156467, 30.8036 3.069833, 30.82525 3.028133, 30.871 2.963933, 30.9215 2.8452, 30.8962 2.748933, 30.8144 2.585267, 30.69045 2.4136, 30.6736 2.370267, 30.68325 2.3398,
+ 30.7482 2.3109, 30.86245 2.272367, 31.0766 2.229067, 31.3172 2.1424, 31.3593 2.121567, 31.3713 2.083033, 31.3689 1.983567, 31.3208 1.868033, 31.08375 1.6851, 30.8961 1.556733,
+ 30.68075 1.3225, 30.56765 1.2182, 30.48225 1.096267, 30.24165 0.8909, 29.894 0.603667, 29.89275 0.557167, 29.9337 0.3999, 29.89035 0.342133, 29.79535 0.2507, 29.7737 0.204167,
+ 29.76645 0.106267, 29.7063 0.0068, 29.6738 -0.123167, 29.7123 -0.254733, 29.74955 -0.594867, 29.74835 -0.6815, 29.7243 -0.726433, 29.70505 -0.779367, 29.5992 -0.909333, 29.5763 -0.9719,
+ 29.5619 -1.125933, 29.5691 -1.2222, 29.63525 -1.385833, 29.63525 -1.4372, 29.49085 -1.511067, 29.3513 -1.653867, 29.231 -1.8769, 29.17085 -1.968367, 29.1841 -2.024533, 29.24185 -2.141667,
+ 29.2274 -2.266833, 29.1636 -2.347067, 28.90615 -2.549267, 28.8737 -2.610233, 28.8809 -2.648733, 28.9531 -2.701667, 29.09985 -2.7739, 29.1528 -2.8188, 29.17565 -2.839633, 29.20255 -2.9022,
+ 29.30615 -3.032267, 29.3031 -3.217167, 29.2635 -3.430533, 29.24675 -3.6876, 29.262 -3.943633, 29.26655 -4.0422, 29.3001 -4.1072, 29.35495 -4.1641, 29.39605 -4.376467, 29.38595 -4.470133,
+ 29.38275 -4.499667, 29.36615 -4.513167, 29.312 -4.595, 29.29035 -4.8325, 29.36615 -5.1406, 29.5334 -5.479167, 29.59235 -5.649267, 29.5755 -5.705433, 29.5346 -5.758367, 29.4877 -6.003867,
+ 29.4973 -6.088933, 29.537 -6.4275, 29.82935 -6.7388, 30.14815 -7.078967, 30.45255 -7.430367, 30.60535 -7.716, 30.7052 -8.0305, 30.7882 -8.221467, 30.34065 -8.2728, 30.1169 -8.3033,
+ 29.51175 -8.4044, 28.93065 -8.500667, 28.88855 -8.518333, 28.8645 -8.566467, 28.85485 -8.699633, 28.7851 -8.848867, 28.49995 -9.163367, 28.41455 -9.182633, 28.3592 -9.232367, 28.37845 -9.2773,
+ 28.5589 -9.429733, 28.5912 -9.480233, 28.6398 -9.5518, 28.71945 -9.606867, 28.8186 -9.698933, 28.8552 -9.750133, 28.86235 -9.779867, 28.82845 -9.842933, 28.81775 -9.8846, 28.8231 -9.935767,
+ 28.84185 -10.020233, 28.82225 -10.102367, 28.82935 -10.174967, 28.84985 -10.2059, 28.83735 -10.230867, 28.80525 -10.3237, 28.8088 -10.3487, 28.85165 -10.422467, 28.8436 -10.441533, 28.8168 -10.474833,
+ 28.8061 -10.5058, 28.81145 -10.560533, 28.79005 -10.626, 28.73915 -10.7105, 28.6999 -10.779533, 28.67315 -10.791433, 28.6089 -10.795, 28.5732 -10.810467, 28.5161 -10.8319, 28.4617 -10.8414,
+ 28.44385 -10.8521, 28.4367 -10.871167, 28.426 -10.917567, 28.4385 -10.9628, 28.4742 -11.052033, 28.46975 -11.084133, 28.4287 -11.200767, 28.42695 -11.237667, 28.4537 -11.274567, 28.48675 -11.332867,
+ 28.49925 -11.441167, 28.5046 -11.478067, 28.5073 -11.493567, 28.518 -11.518533, 28.53945 -11.557833, 28.55015 -11.593533, 28.568 -11.617333, 28.60545 -11.6423, 28.62685 -11.6661, 28.6313 -11.691067,
+ 28.58665 -11.738667, 28.55455 -11.761267, 28.5278 -11.812467, 28.53135 -11.833867, 28.56345 -11.874333, 28.59285 -11.896933, 28.6964 -11.921933, 28.7517 -11.955267, 28.82845 -12.042133, 28.88555 -12.129033,
+ 29.02205 -12.340867, 29.0622 -12.3849, 29.0943 -12.402767, 29.1282 -12.405133, 29.1889 -12.389667, 29.23885 -12.365867, 29.2674 -12.355133, 29.31025 -12.356333, 29.32265 -12.362767, 29.44375 -12.273267,
+ 29.53695 -12.2134, 29.63695 -12.1725, 29.721 -12.145233, 29.76645 -12.157333, 29.796 -12.177033, 29.821 -12.275533, 29.80285 -12.463433, 29.80965 -12.699833, 29.80055 -12.830133, 29.7892 -13.1203,
+ 29.79145 -13.3082, 29.7949 -13.439267, 29.77215 -13.4923, 29.7335 -13.5211, 29.6767 -13.528667, 29.6199 -13.5105, 29.58125 -13.4711, 29.579 -13.398367, 29.6176 -13.315033, 29.62445 -13.280167,
+ 29.604 -13.2544, 29.554 -13.2438, 29.4699 -13.265, 29.39265 -13.312, 29.3108 -13.3923, 29.25175 -13.430167, 29.1052 -13.435467, 29.01655 -13.414267, 28.8711 -13.2506, 28.76205 -13.088467,
+ 28.7223 -12.990733, 28.73595 -12.9392, 28.6973 -12.914967, 28.6564 -12.916467, 28.58365 -12.961933, 28.5337 -12.951333, 28.5087 -12.921033, 28.50185 -12.8483, 28.53595 -12.7983, 28.58365 -12.736167,
+ 28.553 -12.682367, 28.4871 -12.638433, 28.3598 -12.5945, 28.20755 -12.573267, 28.1462 -12.5566, 28.053 -12.520233, 27.9564 -12.487667, 27.92455 -12.460367, 27.89955 -12.390667, 27.86095 -12.360367,
+ 27.78595 -12.346733, 27.70865 -12.3725, 27.6246 -12.377033, 27.56345 -12.368433, 27.54815 -12.354833, 27.47255 -12.274733, 27.3192 -12.103233, 27.30565 -12.004933, 27.29595 -11.9519, 27.2455 -11.876867,
+ 27.2164 -11.8135, 27.21345 -11.784167, 27.1394 -11.7808, 27.05305 -11.877767, 26.98195 -11.9474, 26.9044 -11.9819, 26.7184 -12.0005, 26.3371 -11.9726, 26.0034 -11.961733, 25.8732 -11.9385,
+ 25.8058 -11.907467, 25.77555 -11.8594, 25.7523 -11.848567, 25.70815 -11.848567, 25.63375 -11.811333, 25.63375 -11.786533, 25.6035 -11.767933, 25.5849 -11.7788, 25.5419 -11.8098, 25.51635 -11.8098,
+ 25.4768 -11.7943, 25.43495 -11.707467, 25.40705 -11.673367, 25.34895 -11.6377, 25.22805 -11.611333, 25.1769 -11.578767, 25.1676 -11.536933, 25.2071 -11.451633, 25.25245 -11.322933, 25.2385 -11.301233,
+ 25.21295 -11.288833, 25.15715 -11.288833, 24.83165 -11.3245, 24.6875 -11.3865, 24.59105 -11.495033, 24.5213 -11.5245, 24.4376 -11.5183, 24.32365 -11.476433, 24.2167 -11.4237, 24.21325 -11.384933,
+ 24.2737 -11.361667, 24.3109 -11.330667, 24.3318 -11.277967, 24.31555 -11.201967, 24.2853 -11.167867, 24.25625 -11.164767, 24.2028 -11.170967, 24.1586 -11.146167, 24.0912 -11.108933, 24.09585 -11.042267,
+ 24.07955 -11.0004, 24.04235 -10.977167, 23.9796 -10.983367, 23.89355 -11.028333, 23.84475 -11.037633, 23.74125 -10.9849, 23.64825 -10.957, 23.5785 -10.958567, 23.47155 -10.989567, 23.32275 -11.062433,
+ 23.15415 -11.130667, 23.08905 -11.1353, 22.91935 -11.1043, 22.8333 -11.1043, 22.7252 -11.143067, 22.688 -11.130667, 22.6136 -11.099633, 22.5648 -11.095, 22.45085 -11.121367, 22.3718 -11.163233,
+ 22.2916 -11.225267, 22.2614 -11.231467, 22.2242 -11.212867, 22.187 -11.008167, 22.21025 -10.826767, 22.2579 -10.696533, 22.2492 -10.6527, 22.24625 -10.623033, 22.27 -10.591767, 22.2878 -10.545933,
+ 22.31375 -10.376133, 22.29475 -10.328, 22.23455 -10.206333, 22.21805 -10.150567, 22.1959 -10.023833, 22.14015 -9.9233, 22.08885 -9.871767, 22.01535 -9.813467, 21.9482 -9.779667, 21.9064 -9.745867,
+ 21.8741 -9.688433, 21.8703 -9.568467, 21.8532 -9.513567, 21.8063 -9.445967, 21.77715 -9.3995, 21.78095 -9.371633, 21.7968 -9.332767, 21.84115 -9.255033, 21.87535 -9.218733, 21.876 -9.200133,
+ 21.8304 -9.134233, 21.81455 -9.062433, 21.8253 -8.907833, 21.8608 -8.852933, 21.895 -8.825033, 21.9159 -8.7752, 21.9368 -8.602, 21.95515 -8.450767, 21.9317 -8.305467, 21.9165 -8.269167,
+ 21.812 -8.160167, 21.74865 -8.1027, 21.7062 -7.984433, 21.7138 -7.943867, 21.7816 -7.8425, 21.85825 -7.660867, 21.89245 -7.583133, 21.8842 -7.483433, 21.8164 -7.338133, 21.81335 -7.3345,
+ 21.5702 -7.265667, 21.5214 -7.265667, 21.25735 -7.268633, 21.1575 -7.262733, 20.91015 -7.272333, 20.6794 -7.269367, 20.5862 -7.261967, 20.56405 -7.2235, 20.57735 -7.090367, 20.6217 -6.942433,
+ 20.6217 -6.920233, 20.5518 -6.8973, 20.40315 -6.881, 20.32325 -6.8973, 20.28335 -6.944633, 20.2212 -6.978667, 20.0925 -6.978667, 19.88395 -6.972733, 19.7397 -6.9609, 19.6066 -6.987533,
+ 19.5733 -7.006767, 19.56445 -7.070367, 19.5689 -7.176167, 19.57775 -7.224967, 19.60215 -7.368467, 19.59105 -7.455767, 19.5622 -7.5105, 19.48455 -7.5608, 19.4613 -7.6052, 19.43025 -7.7265,
+ 19.4125 -7.901067, 19.39915 -7.995767, 19.30155 -8.060833, 19.18615 -8.0786, 18.97315 -8.0786, 18.8001 -8.046067, 18.73795 -7.983933, 18.65365 -7.9425, 18.56935 -7.960233, 18.5427 -7.9987,
+ 18.51825 -8.047533, 18.41065 -8.0505, 18.2348 -8.084133, 18.15605 -8.110033, 17.9808 -8.121133, 17.82825 -8.117067, 17.6197 -8.099333, 17.47335 -8.038033, 17.4711 -8.022367, 17.40165 -7.964733,
+ 17.3903 -7.9125, 17.3354 -7.866167, 17.3152 -7.774067, 17.26915 -7.698133, 17.23685 -7.628667, 17.24295 -7.550567, 17.1783 -7.492933, 17.1751 -7.3836, 16.9901 -7.2646, 16.92915 -7.1698,
+ 16.9017 -6.993133, 16.83465 -6.9479, 16.82335 -6.8962, 16.8403 -6.863333, 16.82735 -6.785267, 16.7708 -6.736233, 16.71795 -6.624733, 16.7058 -6.515967, 16.6727 -6.478767, 16.6735 -6.461033,
+ 16.726 -6.384533, 16.70665 -6.284367, 16.72115 -6.187433, 16.7139 -6.161567, 16.6816 -6.1422, 16.58385 -6.126, 16.57175 -6.094767, 16.58465 -6.0614, 16.5641 -6.0366, 16.5536 -6.0199,
+ 16.56005 -6.000533, 16.584 -5.9856, 16.5056 -5.945633, 16.4815 -5.9212, 16.43965 -5.9026, 15.2306 -5.9398, 14.74465 -5.9057, 13.92625 -5.9367, 13.617 -5.9243, 13.19385 -5.9677,
+ 12.95 -6.0057, 12.97315 -5.959433, 13.0106 -5.9355, 13.05895 -5.924067, 13.1229 -5.928233, 13.1744 -5.9407, 13.21025 -5.9407, 13.23525 -5.9272, 13.2399 -5.9116, 13.22585 -5.8991,
+ 13.1385 -5.884567, 13.0886 -5.884567, 13.03165 -5.868433, 12.9193 -5.859067, 12.8491 -5.8622, 12.82415 -5.869467, 12.7321 -5.930833, 12.65565 -5.9766, 12.62135 -6.004667, 12.59405 -6.016633,
+ 12.48795 -6.026, 12.45675 -6.038467, 12.3959 -6.0884, 12.37095 -6.095667, 12.3507 -6.095667, 12.33665 -6.087367, 12.3335 -6.0655, 12.3616 -6.0239, 12.37095 -6.001033, 12.3663 -5.9896,
+ 12.35225 -5.986467, 12.30075 -5.991667, 12.2555 -5.981267, 12.2165 -5.948, 12.2025 -5.9272, 12.1939 -5.879867, 12.1532 -5.8078))
+
+POLYGON ((32.5065 30.121, 32.49465 30.0775, 32.53615 30.0123, 32.5569 29.9787, 32.54505 29.9352, 32.4887 29.897667, 32.4472 29.883833, 32.39085 29.8522, 32.34635 29.781067, 32.34635 29.7198,
+ 32.2485 29.640733, 32.2322 29.604167, 32.24405 29.566633, 32.27075 29.533033, 32.40715 29.453967, 32.4902 29.4105, 32.591 29.3591, 32.634 29.283, 32.62215 29.168367, 32.5599 29.085367,
+ 32.548 29.045833, 32.55395 28.984567, 32.63105 28.8146, 32.68 28.752333, 32.73635 28.712833, 32.7838 28.677233, 32.82235 28.6219, 32.8935 28.5567, 32.98245 28.4875, 33.09365 28.401533,
+ 33.12925 28.348167, 33.15 28.288867, 33.16485 28.197967, 33.1915 28.148567, 33.31455 28.066533, 33.537 27.9697, 33.60225 27.922267, 33.61855 27.883733, 33.61855 27.863967, 33.5978 27.848167,
+ 33.5385 27.8699, 33.4881 27.8956, 33.45545 27.917333, 33.4169 27.913367, 33.40205 27.889667, 33.3902 27.865933, 33.43765 27.834333, 33.59485 27.749333, 33.6245 27.723633, 33.6156 27.707833,
+ 33.53255 27.670267, 33.49105 27.632733, 33.49105 27.565533, 33.50145 27.521067, 33.5548 27.4598, 33.6082 27.390633, 33.69715 27.3353, 33.7713 27.2503, 33.77425 27.155433, 33.76385 27.105033,
+ 33.79355 27.0398, 33.8321 26.9983, 33.8973 26.9568, 34.1079 26.879733, 34.13455 26.854033, 34.1138 26.8224, 34.05895 26.8056, 33.9403 26.8471, 33.86915 26.858967, 33.8306 26.837233,
+ 33.8217 26.7977, 33.8454 26.752233, 33.9225 26.6969, 34.053 26.584233, 34.08565 26.517067, 34.11825 26.384633, 34.2087 26.130667, 34.30065 25.9864, 34.37035 25.937967, 34.5216 25.823333,
+ 34.6313 25.665233, 34.71285 25.2907, 34.8389 25.042667, 35.01385 24.8569, 35.2259 24.6563, 35.28225 24.595033, 35.28225 24.567367, 35.2585 24.5476, 35.217 24.5476, 35.16065 24.5555,
+ 35.1369 24.5377, 35.18285 24.435933, 35.2837 24.289667, 35.3282 24.2462, 35.63365 24.121667, 35.75375 24.0515, 35.83085 23.948733, 35.80415 23.887467, 35.76265 23.873633, 35.7152 23.871667,
+ 35.63515 23.9092, 35.5254 23.974433, 35.4572 23.978367, 35.42755 23.954667, 35.41865 23.895367, 35.46015 23.8104, 35.46905 23.670067, 35.47055 23.4675, 35.4646 23.3983, 35.5951 23.2501,
+ 35.6648 23.089033, 35.71225 22.8499, 35.74635 22.779733, 35.79975 22.746133, 36.02215 22.734267, 36.1378 22.7244, 36.2075 22.6898, 36.23715 22.642367, 36.23715 22.596933, 36.2312 22.5495,
+ 36.2431 22.517867, 36.33205 22.423, 36.5248 22.300467, 36.6983 22.202633, 36.84655 22.115667, 36.88215 22.0623, 36.8762 22.018833, 36.871218 22.009756, 25.024404 22.008123, 25.0325 22.250033,
+ 25.03805 22.5316, 25.0172 22.839133, 25.02975 23.4134, 25.0103 23.793133, 25.02285 24.0043, 25.002 24.591533, 25.00065 25.167667, 25.009 25.3455, 25.00345 25.6493, 25.01875 25.7419,
+ 24.99515 26.312433, 25.01325 26.8311, 24.99605 28.2746, 25.0203 29.106833, 25.0142 29.2388, 24.93745 29.327667, 24.91725 29.365367, 24.90915 29.4327, 24.96575 29.696667, 24.9718 29.812467,
+ 24.8223 30.0791, 24.78595 30.1922, 24.79805 30.2757, 24.8607 30.453467, 24.9678 30.611, 25.0294 30.784733, 25.0314 30.9423, 25.0011 31.019033, 24.9415 31.206233, 24.891 31.301833,
+ 24.90915 31.4742, 24.99 31.5927, 25.2298 31.746867, 25.18275 31.634867, 25.19905 31.5825, 25.2732 31.539, 25.38295 31.519233, 25.5045 31.535067, 25.7536 31.600267, 25.9864 31.6487,
+ 26.05165 31.640767, 26.33335 31.577533, 26.50685 31.540967, 26.5869 31.535033, 26.7085 31.5311, 26.8983 31.493533, 27.03325 31.4708, 27.1133 31.474767, 27.2408 31.4787, 27.34165 31.4629,
+ 27.4499 31.361133, 27.5715 31.272167, 27.61895 31.250433, 27.6634 31.256367, 27.78205 31.309733, 27.82505 31.324567, 27.86955 31.3206, 27.8992 31.273167, 27.9051 31.2277, 27.92885 31.192133,
+ 27.96145 31.166433, 28.0267 31.138767, 28.14235 31.1289, 28.3529 31.132833, 28.58275 31.1279, 28.6539 31.114067, 28.76365 31.070567, 28.91045 30.9925, 29.02315 30.947033, 29.0884 30.9332,
+ 29.1625 30.931233, 29.2604 30.951, 29.3983 30.997433, 29.55845 31.0587, 29.69485 31.1338, 29.80015 31.213833, 29.91875 31.306733, 30.0196 31.348233, 30.1204 31.3502, 30.2257 31.361067,
+ 30.285 31.3927, 30.37395 31.487567, 30.4066 31.521167, 30.45405 31.533, 30.52815 31.5251, 30.5875 31.5251, 30.7491 31.571533, 30.847 31.589333, 30.89445 31.5834, 30.89145 31.571533,
+ 30.847 31.535967, 30.64535 31.449, 30.63645 31.4253, 30.6661 31.4075, 30.7165 31.3996, 30.8292 31.439133, 30.9419 31.470733, 31.0249 31.470733, 31.1717 31.495433, 31.24585 31.501367,
+ 31.2844 31.503333, 31.2992 31.517167, 31.2992 31.554733, 31.2399 31.5982, 31.1361 31.612033, 31.02935 31.612033, 30.98485 31.6239, 30.99375 31.647633, 31.0412 31.667367, 31.08275 31.6733,
+ 31.34665 31.653533, 31.56315 31.5745, 31.6625 31.551767, 31.7663 31.543867, 31.8345 31.5656, 31.89975 31.571533, 31.96795 31.569567, 32.01835 31.5399, 32.01985 31.525067, 32.00795 31.519133,
+ 31.94865 31.531, 31.91305 31.531, 31.85375 31.521133, 31.83005 31.416367, 31.87155 31.3215, 31.9546 31.291867, 32.03465 31.270133, 32.07915 31.244433, 32.0999 31.218733, 32.0925 31.197967,
+ 32.05395 31.166367, 32.0154 31.1308, 32.0154 31.101133, 32.0154 31.065567, 32.0243 31.035933, 32.07175 31.0379, 32.1014 31.069533, 32.13695 31.099167, 32.15775 31.081367, 32.15775 31.041833,
+ 32.13695 31.010233, 32.1429 30.984533, 32.19035 30.982567, 32.25855 31.043833, 32.26745 31.101133, 32.25855 31.168333, 32.2734 31.192067, 32.31195 31.1802, 32.3238 31.196, 32.3238 31.2375,
+ 32.22 31.298767, 32.1785 31.326433, 32.1696 31.342267, 32.2052 31.3462, 32.4454 31.306667, 32.51655 31.294833, 32.59515 31.258267, 32.7019 31.193067, 32.7464 31.1792, 32.79085 31.1733,
+ 32.8383 31.197, 32.97175 31.252333, 33.1749 31.3146, 33.2757 31.334367, 33.338 31.310633, 33.3795 31.279, 33.3795 31.265167, 33.3736 31.259267, 33.32615 31.279, 33.25795 31.279,
+ 33.1393 31.249367, 32.98215 31.201933, 32.89615 31.166367, 32.8546 31.134733, 32.8546 31.116967, 32.8546 31.093233, 32.89315 31.081367, 32.9495 31.083367, 33.09185 31.1644, 33.14225 31.1624,
+ 33.16895 31.109033, 33.19565 31.101133, 33.22235 31.111033, 33.25495 31.1545, 33.3202 31.192067, 33.43585 31.2375, 33.54705 31.2365, 33.7072 31.226633, 33.81395 31.2286, 33.98595 31.250333,
+ 34.07335 31.2784, 34.15515 31.1011, 34.177243 31.067749, 34.3456 30.8136, 34.45835 30.6735, 34.474 30.645667, 34.5897 30.44, 34.62145 30.332, 34.6915 30.206467, 34.78015 29.902933,
+ 34.80645 29.7176, 34.80205 29.638767, 34.8152 29.595, 34.89425 29.535133, 34.86715 29.512233, 34.77525 29.3917, 34.707 29.275067, 34.61805 29.154533, 34.57355 28.937133, 34.57505 28.752333,
+ 34.5335 28.576433, 34.47865 28.4608, 34.3452 28.314567, 34.2918 28.241433, 34.29625 28.163367, 34.35555 28.080367, 34.45045 27.971667, 34.4653 27.942, 34.45935 27.849133, 34.41635 27.790833,
+ 34.3926 27.7691, 34.3422 27.765133, 34.1376 27.863967, 33.9537 27.964767, 33.8514 28.094233, 33.6794 28.242433, 33.50145 28.4124, 33.3517 28.613, 33.2746 28.826433, 33.23755 28.969733,
+ 33.15155 29.078433, 33.02105 29.2069, 32.895 29.3581, 32.78825 29.5261, 32.69485 29.631833, 32.6385 29.7425, 32.64145 29.805767, 32.70075 29.908533, 32.6874 29.998467, 32.59845 30.099267,
+ 32.58065 30.134833, 32.5332 30.140767, 32.5065 30.121))
+
+POLYGON ((-5.46805 10.409567, -5.4553 10.5029, -5.46805 10.575, -5.5168 10.6259, -5.5285 10.681033, -5.5073 10.733367, -5.52835 10.806067, -5.5171 10.836, -5.40035 10.9767, -5.39135 11.051533,
+ -5.443 11.246133, -5.43175 11.337433, -5.38015 11.431733, -5.39025 11.609867, -5.46435 11.758033, -5.4576 11.7805, -5.40485 11.807433, -5.03205 11.943633, -4.8687 12, -4.8209 12.017533,
+ -4.7833 12.04, -4.72495 12.088433, -4.5398 12.277633, -4.24135 12.8486, -4.22805 13.0386, -4.1001 13.256967, -4.0564 13.2653, -3.84105 13.232, -3.6725 13.2341, -3.53205 13.248633,
+ -3.3573 13.452433, -3.1014 13.524167, -2.77995 13.596967, -2.69255 13.824667, -2.42415 13.939067, -2.3118 14.0472, -2.24625 14.2094, -2.16195 14.312333, -1.94035 14.462067, -1.6439 14.5723,
+ -1.4754 14.625333, -1.285 14.7418, -0.94485 15.018367, -0.82935 15.094267, -0.75445 15.1109, -0.614 15.108833, -0.2863 15.048533, 0.1196 14.8782, 0.1159 14.844867, 0.09595 14.665567,
+ 0.3146 14.456833, 0.52145 14.057167, 0.64555 13.812033, 0.9706 13.4714, 1.09765 13.4133, 1.1538 13.352267, 1.09765 13.240033, 1.1006 13.212467, 1.30155 13.029367, 1.4877 12.8679,
+ 1.6502 12.7094, 1.7241 12.681833, 1.78025 12.687733, 1.93095 12.782267, 2.0964 12.790133, 2.21755 12.680867, 2.2205 12.6021, 2.1998 12.546967, 2.10525 12.434733, 2.09345 12.2654,
+ 2.16065 12.0339, 2.17045 12, 2.17465 11.9622, 2.18695 11.877567, 2.15495 11.745967, 2.1141 11.669733, 2.07185 11.6307, 1.9786 11.5962, 1.95545 11.593467, 1.9119 11.615267,
+ 1.89285 11.615267, 1.8656 11.589867, 1.8193 11.578067, 1.7621 11.581667, 1.6995 11.612533, 1.67225 11.617067, 1.64365 11.610733, 1.60825 11.577133, 1.58035 11.5681, 1.5286 11.5717,
+ 1.45915 11.567167, 1.37475 11.5363, 1.32025 11.481833, 1.30255 11.4038, 1.26855 11.384733, 1.23925 11.366567, 1.21205 11.235, 1.19025 11.1787, 1.1181 11.123367, 1.1167 11.090667,
+ 1.1072 11.0798, 1.0881 11.0807, 1.04455 11.1034, 1.0037 11.1043, 0.94925 11.088867, 0.92065 11.063467, 0.903 11.021533, 0.889 10.9882, 0.78505 10.991667, 0.6499 10.974333,
+ 0.5719 10.974333, 0.52255 10.9882, 0.46795 11.040167, 0.39775 11.0471, 0.0296 11.124, -0.0204 11.1371, -0.14285 11.169167, -0.2166 11.169167, -0.26445 11.154567, -0.31425 11.116033,
+ -0.4299 11.046933, -0.44885 11.0031, -0.48075 10.9898, -0.53855 10.983167, -0.5864 10.9526, -0.62625 10.940633, -0.66215 10.944633, -0.708 10.975167, -0.7359 10.987133, -0.7698 10.9898,
+ -0.80365 10.9858, -0.8764 10.955233, -0.9103 10.955233, -0.994 10.9858, -1.04985 10.9951, -1.10165 10.992433, -1.17345 10.964533, -1.2482 10.952567, -1.3758 10.960533, -1.47145 10.989767,
+ -1.54325 10.9911, -1.63995 10.967167, -1.7376 10.928667, -1.80935 10.922, -1.9788 10.927333, -2.29075 10.924667, -2.45625 10.919367, -2.60075 10.910067, -2.7682 10.9353, -2.82205 10.9353,
+ -2.84495 10.919367, -2.85895 10.902067, -2.85895 10.835633, -2.9028 10.730667, -2.93665 10.658933, -2.9247 10.6018, -2.82405 10.478233, -2.8175 10.443733, -2.81595 10.4084, -2.83935 10.358533,
+ -2.85025 10.331533, -2.83855 10.284767, -2.7668 10.243233, -2.73875 10.2162, -2.7372 10.1975, -2.74965 10.158033, -2.75435 10.0988, -2.7676 10.009433, -2.7489 9.957467, -2.73485 9.8733,
+ -2.7559 9.738233, -2.75125 9.6655, -2.71225 9.5782, -2.65305 9.5138, -2.70305 9.501667, -2.7816 9.4826, -2.82855 9.4872, -3.0729 9.666633, -3.25305 9.793633, -3.3428 9.8185,
+ -3.40975 9.8047, -3.4967 9.748567, -3.5602 9.741233, -3.6458 9.7633, -3.7707 9.8848, -3.8149 9.8986, -3.8936 9.895833, -4.013 9.960267, -4.08205 9.963933, -4.2463 9.941867,
+ -4.32365 9.905067, -4.46995 9.7799, -4.5114 9.7615, -4.5804 9.759667, -4.68645 9.718133, -4.7151 9.733767, -4.73205 9.7684, -4.75855 9.783233, -4.8026 9.794533, -4.8323 9.817167,
+ -4.8376 9.836967, -4.8397 9.8716, -4.8535 9.8822, -4.87575 9.888567, -4.9171 9.8928, -4.95315 9.904133, -4.9728 9.943, -4.9728 9.978367, -4.95585 10.025033, -4.9569 10.041267,
+ -4.97915 10.059667, -5.07355 10.1056, -5.0773 10.118333, -5.0688 10.136, -5.06985 10.158633, -5.07835 10.1678, -5.10485 10.174167, -5.13135 10.173467, -5.1674 10.162867, -5.195 10.163567,
+ -5.23635 10.174167, -5.3 10.2187, -5.3737 10.2583, -5.4405 10.305667, -5.47015 10.337467, -5.46805 10.409567))
+
+POLYGON ((29.63525 -1.4372, 29.63525 -1.385833, 29.5691 -1.2222, 29.5619 -1.125933, 29.5763 -0.9719, 29.5992 -0.909333, 29.70505 -0.779367, 29.7243 -0.726433, 29.74835 -0.6815, 29.74955 -0.594867,
+ 29.7123 -0.254733, 29.6738 -0.123167, 29.7063 0.0068, 29.76645 0.106267, 29.7737 0.204167, 29.79535 0.2507, 29.89035 0.342133, 29.9337 0.3999, 29.89275 0.557167, 29.894 0.603667,
+ 30.24165 0.8909, 30.48225 1.096267, 30.56765 1.2182, 30.68075 1.3225, 30.8961 1.556733, 31.08375 1.6851, 31.3208 1.868033, 31.3689 1.983567, 31.3713 2.083033, 31.3593 2.121567,
+ 31.3172 2.1424, 31.0766 2.229067, 30.86245 2.272367, 30.7482 2.3109, 30.68325 2.3398, 30.6736 2.370267, 30.69045 2.4136, 30.8144 2.585267, 30.8962 2.748933, 30.9215 2.8452,
+ 30.871 2.963933, 30.82525 3.028133, 30.8036 3.069833, 30.83125 3.156467, 30.9082 3.3458, 30.91785 3.41, 30.88175 3.440467, 30.84805 3.4469, 30.81515 3.426933, 30.8753 3.497533,
+ 30.9667 3.598567, 31.07255 3.662733, 31.21925 3.677167, 31.38645 3.661133, 31.5572 3.613033, 31.6029 3.590567, 31.6366 3.6018, 31.6799 3.654733, 31.73885 3.741333, 31.7653 3.746167,
+ 31.8038 3.7301, 31.8591 3.6419, 31.87595 3.556867, 31.9529 3.505533, 32.0419 3.471833, 32.09725 3.462233, 32.19825 3.475067, 32.3534 3.595367, 32.4881 3.659533, 32.76715 3.739733,
+ 32.9584 3.832767, 33.0137 3.8472, 33.08345 3.831167, 33.223 3.8103, 33.41905 3.829567, 33.6211 3.815133, 33.6572 3.829567, 33.73895 3.8793, 33.935 4.1023, 34.06005 4.201733,
+ 34.0881 4.1684, 34.11 4.142367, 34.05705 4.039667, 34.08595 3.985133, 34.2399 3.8664, 34.34095 3.8664, 34.3843 3.8632, 34.41315 3.8343, 34.37465 3.754067, 34.3987 3.696333,
+ 34.44685 3.574367, 34.3675 3.182867, 34.3819 3.144367, 34.4493 3.099433, 34.5696 3.067333, 34.59125 2.868367, 34.71155 2.797767, 34.8607 2.608467, 34.9521 2.448, 34.9304 1.998733,
+ 34.993 1.854333, 35.02905 1.748433, 35.01945 1.674633, 34.85585 1.469267, 34.7644 1.3794, 34.7596 1.3409, 34.75715 1.3056, 34.82935 1.235, 34.82455 1.151567, 34.7668 1.097033,
+ 34.608 1.029633, 34.46845 0.962233, 34.4504 0.9494, 34.44075 0.9189, 34.38785 0.736, 34.27715 0.578767, 34.19895 0.533833, 34.1797 0.5226, 34.16525 0.500133, 34.1364 0.352533,
+ 34.0955 0.293167, 34.08925 0.291633, 33.99555 0.229133, 33.95335 0.203433, 33.9631 0.191833, 33.8624 0.094167, 33.8738 0.088767, 33.8722 0.078967, 33.8317 0.049133, 33.81885 0.005633,
+ 33.8226 -0.059533, 33.828 -0.098, 33.87065 -0.374367, 33.7914 -0.532867, 33.8036 -0.9352, 33.8036 -1.0693, 33.75485 -1.0937, 33.66275 -1.098167, 33.1457 -1.0794, 32.5815 -1.0778,
+ 32.2639 -1.092233, 31.98595 -1.076167, 31.44095 -1.0601, 31.19555 -1.080933, 30.896 -1.0938, 30.5255 -1.137133, 30.4509 -1.1339, 30.4172 -1.116267, 30.38835 -1.119467, 30.2861 -1.182067,
+ 30.1321 -1.3104, 30.0984 -1.384233, 30.0936 -1.458033, 30.03105 -1.490133, 29.9781 -1.501367, 29.9288 -1.486933, 29.90715 -1.4693, 29.90715 -1.395467, 29.9047 -1.352167, 29.87105 -1.344133,
+ 29.8061 -1.365, 29.67375 -1.422767, 29.63525 -1.4372))
+
+POLYGON ((29.4251 -29.339533, 29.41315 -29.3676, 29.40605 -29.384233, 29.36965 -29.4042, 29.31185 -29.408467, 29.2541 -29.4427, 29.2284 -29.489767, 29.21985 -29.5397, 29.1289 -29.6317, 29.12465 -29.693033,
+ 29.1161 -29.7615, 29.03155 -29.900567, 28.901 -29.980433, 28.69235 -30.073867, 28.55325 -30.122367, 28.47625 -30.142333, 28.36925 -30.203667, 28.30075 -30.240733, 28.274 -30.3413, 28.23975 -30.376967,
+ 28.2269 -30.431167, 28.21405 -30.4911, 28.05035 -30.607333, 27.9455 -30.613033, 27.7283 -30.539567, 27.59135 -30.425467, 27.42765 -30.229333, 27.24895 -29.956167, 27.13125 -29.823533, 27.04995 -29.700867,
+ 27.04245 -29.661633, 27.2607 -29.521833, 27.3763 -29.423433, 27.42015 -29.3571, 27.49505 -29.1802, 27.6245 -29.029733, 27.74435 -28.9185, 27.8342 -28.868567, 27.99365 -28.8165, 28.0728 -28.7694,
+ 28.14345 -28.662433, 28.22905 -28.619633, 28.36065 -28.5847, 28.4719 -28.549033, 28.57675 -28.554767, 28.62815 -28.593267, 28.7041 -28.658167, 28.8368 -28.7566, 29.04465 -28.884033, 29.2744 -29.008367,
+ 29.3921 -29.106767, 29.4317 -29.181667, 29.4267 -29.300933, 29.4251 -29.339533))
+
+POLYGON ((-17.0553 20.761433, -17.0583 20.8543, -17.0583 21.067567, -16.9516 21.325267, -15.9815 21.336367, -14.41795 21.347467, -13.0178 21.338567, -13.0078 21.4652, -13.06785 21.949467, -13.1912 22.889167,
+ -12.9912 23.106867, -12.58445 23.404567, -12.3511 23.4623, -11.9344 23.433433, -11.92435 24.852967, -11.9777 26.012567, -11.8277 26.0059, -10.2775 26.008133, -8.694 26.019233, -8.714 27.085533,
+ -8.69855 27.3732, -8.69675 27.406533, -8.2557 27.148033, -8.1041 27.0352, -7.5241 26.6807, -7.09575 26.417133, -6.9239 26.300933, -6.3338 25.890867, -5.7437 25.475733, -5.38105 25.249233,
+ -5.00065 24.982967, -5.05065 24.9834, -6.7123 24.997733, -6.52675 23.8627, -6.4686 23.543433, -6.4575 22.952833, -6.3107 21.8621, -6.1362 20.697567, -6.02265 19.525633, -5.8814 18.589933,
+ -5.7623 17.728033, -5.63765 16.5635, -5.58505 16.439867, -5.2693 16.3033, -5.25265 16.2627, -5.513 15.483867, -6.83415 15.504167, -8.1165 15.487567, -9.1385 15.489433, -9.13185 15.656367,
+ -9.37685 15.658667, -9.43205 15.619567, -9.4631 15.440233, -9.52175 15.373567, -9.70465 15.364367, -10.53275 15.365533, -10.9675 15.086167, -11.0503 15.097667, -11.1849 15.3092, -11.2125 15.549433,
+ -11.26425 15.6529, -11.34705 15.6736, -11.52995 15.6713, -11.58515 15.634533, -11.63345 15.335633, -11.76455 15.039033, -11.87845 14.8252, -12.0443 14.669667, -12.06345 14.681667, -12.22925 14.787667,
+ -12.28045 14.8162, -12.3342 14.8218, -12.37115 14.8302, -12.3879 14.843067, -12.41185 14.878033, -12.49075 14.9435, -12.58435 15.003067, -12.74975 15.0898, -12.76235 15.108233, -12.76235 15.118867,
+ -12.7468 15.1376, -12.73335 15.167833, -12.73585 15.177333, -12.72665 15.200267, -12.69055 15.231033, -12.68465 15.255667, -12.6918 15.277767, -12.73795 15.3108, -12.75645 15.3466, -12.8723 15.401433,
+ -12.88195 15.415667, -12.88865 15.447567, -12.892 15.460433, -12.9029 15.464333, -12.9491 15.461533, -12.9558 15.461533, -12.9726 15.467133, -13.002 15.496233, -13.01875 15.504067, -13.0343 15.503233,
+ -13.08635 15.4758, -13.1199 15.470767, -13.17195 15.4831, -13.19925 15.513033, -13.2001 15.533167, -13.2043 15.5494, -13.22445 15.560033, -13.2681 15.565633, -13.2874 15.575133, -13.29075 15.597533,
+ -13.2849 15.630533, -13.28825 15.645633, -13.29705 15.658233, -13.3365 15.6655, -13.35245 15.678367, -13.35245 15.689, -13.3172 15.727033, -13.30375 15.777967, -13.29075 15.7922, -13.2807 15.818467,
+ -13.2832 15.831333, -13.3151 15.8515, -13.31675 15.862133, -13.32475 15.9228, -13.38685 16.0011, -13.4045 16.018467, -13.4305 16.019567, -13.46915 16.0067, -13.48675 16.0067, -13.49265 16.0123,
+ -13.4935 16.0235, -13.48005 16.067667, -13.49055 16.092033, -13.50735 16.109367, -13.5183 16.1105, -13.53425 16.109933, -13.58545 16.080833, -13.59635 16.078033, -13.6081 16.0786, -13.63875 16.097367,
+ -13.66645 16.097367, -13.6975 16.090667, -13.7588 16.0504, -13.77725 16.047033, -13.79825 16.049267, -13.8012 16.0596, -13.7987 16.105467, -13.8037 16.1133, -13.823 16.115533, -13.8675 16.1077,
+ -13.88685 16.107133, -13.90195 16.1161, -13.91035 16.1424, -13.90615 16.183233, -13.90865 16.201133, -13.91915 16.211467, -13.9544 16.222633, -14.00055 16.233833, -14.03245 16.2618, -14.07235 16.334833,
+ -14.08995 16.381833, -14.16635 16.4926, -14.1861 16.505733, -14.19785 16.506867, -14.21465 16.5007, -14.23395 16.478333, -14.2432 16.476633, -14.25665 16.4839, -14.26085 16.499033, -14.24655 16.5477,
+ -14.2516 16.561667, -14.2768 16.565033, -14.3087 16.564467, -14.33345 16.567567, -14.4006 16.609533, -14.42495 16.6207, -14.46525 16.624633, -14.5026 16.618733, -14.5748 16.592433, -14.62015 16.5902,
+ -14.64535 16.595233, -14.6827 16.599433, -14.73225 16.5877, -14.75155 16.586567, -14.79855 16.592733, -14.83805 16.592167, -14.8586 16.594667, -14.91315 16.624867, -14.92995 16.624867, -14.95595 16.6221,
+ -14.98285 16.5969, -15.0311 16.5692, -15.06385 16.5692, -15.14695 16.620133, -15.18975 16.620667, -15.20825 16.614533, -15.21075 16.5927, -15.20025 16.549367, -15.21535 16.531467, -15.23385 16.524767,
+ -15.259 16.524767, -15.28755 16.531467, -15.3102 16.547133, -15.3501 16.553, -15.4223 16.541833, -15.4542 16.541833, -15.5012 16.5709, -15.518 16.5737, -15.5369 16.574533, -15.552 16.568367,
+ -15.57715 16.535367, -15.6015 16.528667, -15.63175 16.528667, -15.68925 16.520533, -15.7388 16.499833, -15.77825 16.496467, -15.8303 16.510467, -15.85215 16.5138, -15.88445 16.506833, -15.9256 16.4895,
+ -15.9936 16.4895, -16.04185 16.479133, -16.0712 16.4657, -16.09725 16.465133, -16.12075 16.4724, -16.1468 16.520533, -16.15265 16.527233, -16.1728 16.5278, -16.19085 16.516867, -16.2026 16.471567,
+ -16.2177 16.4643, -16.26385 16.464833, -16.27395 16.4587, -16.2815 16.443033, -16.2815 16.403867, -16.2983 16.380933, -16.30375 16.359933, -16.2945 16.297267, -16.3205 16.289433, -16.33645 16.2738,
+ -16.3373 16.246367, -16.32555 16.219533, -16.32555 16.2128, -16.34065 16.177, -16.35745 16.157433, -16.38265 16.1479, -16.42715 16.141767, -16.45315 16.128333, -16.4657 16.0879, -16.48165 16.0879,
+ -16.50165 16.075933, -16.50965 16.0506, -16.49365 16.017333, -16.53365 15.968033, -16.5616 15.8282, -16.5736 15.8122, -16.5876 15.8122, -16.6056 15.834833, -16.55965 16.0879, -16.5097 16.2584,
+ -16.4557 16.3796, -16.38575 16.637967, -16.3258 16.745833, -16.2579 16.9829, -16.164 17.3958, -16.09805 17.723467, -16.0881 18.0511, -16.0901 18.2269, -16.14205 18.4573, -16.27795 18.610467,
+ -16.28395 18.654433, -16.24395 18.8169, -16.22195 18.935433, -16.22995 18.9754, -16.3219 19.056633, -16.4638 19.2351, -16.4978 19.337667, -16.4918 19.3523, -16.4798 19.3563, -16.4498 19.342967,
+ -16.39385 19.3483, -16.3219 19.372267, -16.27595 19.3736, -16.256 19.388267, -16.256 19.417567, -16.224 19.4402, -16.18605 19.521467, -16.18805 19.5361, -16.19205 19.538767, -16.208 19.5321,
+ -16.256 19.474833, -16.3359 19.434867, -16.3599 19.428233, -16.3739 19.433533, -16.3739 19.454867, -16.3419 19.4948, -16.3419 19.5028, -16.3559 19.5028, -16.40785 19.4562, -16.42585 19.4029,
+ -16.43185 19.3896, -16.4478 19.390933, -16.4558 19.400267, -16.4598 19.457533, -16.40185 19.541433, -16.258 19.646633, -16.228 19.743867, -16.24 19.7532, -16.264 19.757167, -16.282 19.769167,
+ -16.28995 19.790467, -16.31195 19.7918, -16.3539 19.781167, -16.3739 19.789133, -16.3759 19.806467, -16.19605 19.925, -16.15605 20.0009, -16.162 20.032867, -16.21 20.0808, -16.22 20.100767,
+ -16.214 20.128733, -16.0961 20.229967, -16.0781 20.277933, -16.09805 20.341867, -16.32585 20.566933, -16.32585 20.629533, -16.35185 20.6402, -16.4298 20.6402, -16.4957 20.637533, -16.5097 20.630867,
+ -16.49375 20.511, -16.5177 20.479033, -16.5577 20.471067, -16.60165 20.495033, -16.63365 20.535, -16.6416 20.654867, -16.6996 20.790733, -16.7855 20.9639, -16.7955 21.029133, -16.87945 21.169,
+ -16.90145 21.184967, -16.9434 21.187633, -16.97335 21.178333, -17.0253 21.0185, -17.02135 20.785433, -17.0293 20.761433, -17.0393 20.757467, -17.0553 20.761433))
+
+POLYGON ((22.8368 12, 22.84545 12.0744, 22.8371 12.100333, 22.78985 12.1133, 22.68705 12.104033, 22.6148 12.122567, 22.5439 12.181833, 22.48835 12.263367, 22.48 12.502333, 22.53 12.6357,
+ 22.4897 12.676467, 22.29795 12.724633, 22.18675 12.7302, 22.12565 12.700567, 21.9617 12.693133, 21.88385 12.7265, 21.8255 12.8228, 21.8241 12.887667, 21.88525 13.0859, 21.9436 13.169233,
+ 22.2993 13.395233, 22.32295 13.4471, 22.19235 13.667567, 22.03395 13.875033, 22.04505 13.8954, 22.12705 13.941733, 22.40775 14.0677, 22.48 14.139933, 22.49945 14.2585, 22.47165 14.2863,
+ 22.37715 14.3048, 22.31745 14.3604, 22.3008 14.4456, 22.3091 14.5512, 22.3925 14.666033, 22.4675 14.712367, 22.6537 14.729033, 22.75095 14.743833, 22.7968 14.786467, 22.97465 15.103233,
+ 22.99965 15.199533, 22.99275 15.290333, 22.8788 15.440367, 22.87325 15.483, 22.97885 15.594133, 23.2762 15.738633, 23.3568 15.768267, 23.4304 15.7701, 23.76665 15.721933, 23.91395 15.6886,
+ 24.0223 15.690467, 24.0501 15.718233, 24.04595 16.0387, 24.05425 16.255467, 24.07235 16.620367, 24.0737 17.202033, 24.0598 17.466933, 24.08065 17.7837, 24.0681 18.370933, 24.07785 18.956333,
+ 24.07095 19.541733, 24.07125 19.6007, 24.07375 20.1123, 24.2085 20.110433, 25.0241 20.117867, 25.03385 20.640233, 25.02415 21.229333, 25.01725 21.794333, 25.024404 22.008123, 36.871218 22.009756,
+ 36.78725 21.856767, 36.8006 21.751033, 36.89255 21.600833, 37.06155 21.430867, 37.19945 21.2955, 37.2291 21.263867, 37.238 21.208533, 37.1965 21.123533, 37.152 21.086, 37.1357 20.950633,
+ 37.20095 20.780667, 37.2128 20.673933, 37.14905 20.471367, 37.13125 20.394267, 37.152 20.3251, 37.19205 20.1838, 37.2039 20.1245, 37.18315 20.0672, 37.1683 19.8814, 37.16385 19.765767,
+ 37.1846 19.665, 37.1846 19.599767, 37.149 19.457467, 37.15345 19.391267, 37.1416 19.331967, 37.23055 19.1047, 37.23795 19.022667, 37.2587 18.973267, 37.2943 18.9219, 37.4426 18.791433,
+ 37.5375 18.730167, 37.68725 18.665933, 37.8148 18.616533, 37.9927 18.553267, 38.0772 18.514733, 38.10095 18.463333, 38.1217 18.4159, 38.11575 18.396133, 38.17805 18.344767, 38.24035 18.325,
+ 38.29665 18.3428, 38.35005 18.376367, 38.40045 18.378367, 38.41235 18.356633, 38.30705 18.282533, 38.2893 18.256833, 38.31595 18.2331, 38.31005 18.215333, 38.31005 18.193567, 38.3486 18.173833,
+ 38.399 18.156033, 38.4168 18.1343, 38.4583 18.114533, 38.5028 18.075, 38.58285 18.045367, 38.5861 18.039133, 38.38085 17.702967, 38.23935 17.5379, 38.17505 17.486433, 37.99495 17.467167,
+ 37.81005 17.490733, 37.72965 17.437133, 37.5592 17.3771, 37.39195 17.2056, 37.318 17.1713, 37.0961 17.177733, 37.06235 17.1563, 37.0109 16.918367, 37.0302 16.8669, 37.0463 16.764,
+ 37.00125 16.671833, 36.93215 16.571067, 36.97075 16.373867, 36.95465 16.2195, 36.84695 16.048, 36.7987 15.8722, 36.7215 15.698567, 36.71185 15.5935, 36.6652 15.488467, 36.3629 15.061867,
+ 36.49315 14.922533, 36.58645 14.4852, 36.584754 14.468884, 36.5655 14.2837, 36.51085 14.107933, 36.5494 13.887133, 36.55105 13.767067, 36.25515 13.3469, 36.2278 13.2633, 36.23745 13.136833,
+ 36.25035 12.838833, 36.23425 12.7788, 36.16835 12.7488, 35.96895 12.7231, 35.8853 12.705933, 35.776 12.6309, 35.66665 12.4251, 35.42545 12.060667, 35.41095 12, 35.2916 11.893667,
+ 35.1617 11.762133, 35.13525 11.651433, 35.12685 11.499, 35.08835 11.431633, 35.0234 11.357833, 34.99575 11.250333, 35.0246 11.0065, 34.9825 10.841233, 34.91755 10.7546, 34.83935 10.7161,
+ 34.79365 10.717733, 34.6902 10.762633, 34.5988 10.797933, 34.43525 10.799533, 34.35465 10.770667, 34.31135 10.7434, 34.2873 10.7001, 34.26565 10.5573, 34.2825 10.470667, 34.3679 10.149833,
+ 34.34985 10.0696, 34.21755 9.833767, 34.17545 9.654067, 34.1634 9.501667, 34.155 9.399, 34.1622 9.1712, 34.13935 9.0092, 34.1682 8.8247, 34.17905 8.730033, 34.19585 8.590467,
+ 34.17905 8.5632, 34.1225 8.526333, 33.9373 8.4798, 33.88195 8.455733, 33.84105 8.4108, 33.79775 8.393167, 33.74245 8.394767, 33.6739 8.4076, 33.455 8.4509, 33.3926 8.453867,
+ 33.34645 8.431867, 33.2926 8.426067, 33.2358 8.419967, 33.2265 8.402867, 33.2205 8.3323, 33.1868 8.284967, 33.1826 8.2593, 33.20425 8.2168, 33.2319 8.1839, 33.2307 8.170267,
+ 33.21505 8.156633, 33.16875 8.1382, 33.1543 8.121333, 33.1507 8.1029, 33.1447 8.0652, 33.13625 8.049967, 33.1074 8.0307, 33.0659 8.006633, 33.0563 7.982567, 33.0563 7.928833,
+ 33.07915 7.862267, 33.11345 7.820567, 33.1952 7.783667, 33.29145 7.7155, 33.3498 7.695433, 33.38345 7.692233, 33.4412 7.709067, 33.46645 7.708267, 33.55185 7.667367, 33.60055 7.6385,
+ 33.7052 7.6024, 33.85915 7.545433, 33.9211 7.4917, 33.94395 7.446767, 33.9668 7.4147, 34.054 7.3361, 34.0937 7.288767, 34.10635 7.194133, 34.1328 7.1484, 34.1671 7.121133,
+ 34.19595 7.1115, 34.2272 7.103467, 34.23925 7.097067, 34.24045 7.088233, 34.2224 7.0698, 34.2164 7.047333, 34.2585 6.983167, 34.3096 6.939067, 34.3505 6.919, 34.38055 6.898933,
+ 34.40465 6.861233, 34.4323 6.8075, 34.4822 6.762567, 34.5243 6.737733, 34.5676 6.723267, 34.6025 6.712067, 34.63735 6.6888, 34.659 6.668733, 34.72335 6.6511, 34.7546 6.645467,
+ 34.7967 6.623, 34.8304 6.5837, 34.83485 6.5826, 34.8301 6.502633, 34.8586 6.307933, 34.9043 6.176367, 34.9825 6.0208, 35.0643 5.890867, 35.1497 5.698367, 35.18575 5.602133,
+ 35.2868 5.497867, 35.31205 5.3663, 35.35055 5.3214, 35.36735 5.313367, 35.3914 5.3214, 35.43715 5.337433, 35.5093 5.348667, 35.58625 5.3214, 35.6464 5.311767, 35.75825 5.319767,
+ 35.83765 5.2941, 35.8689 5.262, 35.80275 5.0679, 35.7715 4.894667, 35.80155 4.7856, 35.87855 4.673333, 35.9194 4.5434, 35.9146 4.5065, 35.89055 4.492067, 35.53335 4.516133,
+ 34.926 4.541767, 34.40645 4.541767, 34.3427 4.525733, 34.208 4.3958, 34.06005 4.201733, 33.935 4.1023, 33.73895 3.8793, 33.6572 3.829567, 33.6211 3.815133, 33.41905 3.829567,
+ 33.223 3.8103, 33.08345 3.831167, 33.0137 3.8472, 32.9584 3.832767, 32.76715 3.739733, 32.4881 3.659533, 32.3534 3.595367, 32.19825 3.475067, 32.09725 3.462233, 32.0419 3.471833,
+ 31.9529 3.505533, 31.87595 3.556867, 31.8591 3.6419, 31.8038 3.7301, 31.7653 3.746167, 31.73885 3.741333, 31.6799 3.654733, 31.6366 3.6018, 31.6029 3.590567, 31.5572 3.613033,
+ 31.38645 3.661133, 31.21925 3.677167, 31.07255 3.662733, 30.9667 3.598567, 30.8753 3.497533, 30.81515 3.426933, 30.77905 3.426933, 30.77065 3.4446, 30.76585 3.511967, 30.73455 3.544067,
+ 30.68165 3.5569, 30.5734 3.5617, 30.5397 3.584167, 30.54215 3.619467, 30.5301 3.685233, 30.4856 3.7462, 30.34605 3.872933, 30.24265 3.982, 30.24025 4.0542, 30.1837 4.099133,
+ 30.02495 4.3189, 29.92995 4.376667, 29.9107 4.403967, 29.93235 4.4986, 29.9131 4.5451, 29.675 4.6542, 29.6413 4.670233, 29.5968 4.650967, 29.5078 4.582, 29.43565 4.480933,
+ 29.3298 4.415167, 29.242 4.3991, 28.89805 4.488933, 28.7922 4.5162, 28.71765 4.511367, 28.6527 4.4777, 28.63705 4.383067, 28.49275 4.257933, 28.4422 4.246733, 28.37485 4.270767,
+ 28.2498 4.344567, 28.1259 4.375033, 28.008 4.458467, 27.79995 4.691033, 27.6099 4.854633, 27.4848 4.946067, 27.45475 5.011867, 27.40425 5.1739, 27.18415 5.3632, 27.1721 5.3985,
+ 27.2515 5.5509, 27.2527 5.639133, 27.18775 5.753, 27.1204 5.765833, 26.8113 5.924667, 26.50585 6.028933, 26.4986 6.041767, 26.501 6.0578, 26.6285 6.144433, 26.6285 6.1701,
+ 26.5792 6.234267, 26.3988 6.344933, 26.33865 6.380233, 26.3266 6.4123, 26.4072 6.543833, 26.43845 6.591967, 26.4264 6.6481, 26.2869 6.794067, 26.12695 6.8358, 25.99705 7.005833,
+ 25.8876 7.090867, 25.6976 7.167867, 25.6663 7.199933, 25.5773 7.198333, 25.4907 7.1839, 25.32595 7.3732, 25.23935 7.4133, 25.18405 7.4486, 25.1696 7.482267, 25.18645 7.6138,
+ 25.2141 7.6539, 25.29825 7.7309, 25.3127 7.7726, 25.3079 7.793467, 25.19725 7.8528, 25.15155 7.896133, 25.06975 7.908967, 25.02525 7.9202, 24.94105 8.006833, 24.85205 8.101467,
+ 24.7414 8.148, 24.53575 8.173633, 24.4852 8.1961, 24.3457 8.2346, 24.28795 8.249033, 24.17975 8.378967, 24.1665 8.438333, 24.18095 8.523333, 24.22425 8.597133, 24.2411 8.654867,
+ 24.22425 8.682133, 24.1978 8.694967, 24.09315 8.6982, 23.8069 8.6886, 23.65055 8.707833, 23.582 8.7399, 23.56035 8.772, 23.56275 8.829733, 23.56035 8.871433, 23.4978 8.9677,
+ 23.4918 9.004567, 23.60725 9.182633, 23.6229 9.351067, 23.68425 9.6831, 23.68185 9.811433, 23.58925 9.976633, 23.3114 10.3151, 23.1743 10.506, 23.0817 10.658367, 23.0071 10.810767,
+ 22.858 11.062967, 22.8627 11.0835, 22.8319 11.1846, 22.8414 11.293567, 22.8651 11.334633, 22.88145 11.3469, 22.81165 11.404267, 22.71915 11.480333, 22.63585 11.5626, 22.62815 11.6397,
+ 22.6343 11.695233, 22.68675 11.7528, 22.7299 11.820667, 22.72685 11.882367, 22.7731 11.9091, 22.82555 11.939967, 22.8347 11.9889, 22.8368 12))
+
+POLYGON ((32.04145 -25.986967, 32.0853 -26.071967, 32.10455 -26.188933, 32.09815 -26.3173, 32.1249 -26.369367, 32.1463 -26.520567, 32.1613 -26.6632, 32.17415 -26.7217, 32.2211 -26.726567, 32.1711 -26.753233,
+ 32.0243 -26.8315, 31.9858 -26.867167, 31.97615 -26.959167, 31.97615 -27.071833, 31.95265 -27.1945, 31.8681 -27.246567, 31.60705 -27.2651, 31.4369 -27.274367, 31.3021 -27.2487, 31.18865 -27.181667,
+ 31.0485 -27.066833, 30.87515 -26.868567, 30.77135 -26.749467, 30.7157 -26.672433, 30.7093 -26.5997, 30.7553 -26.4535, 30.8259 -26.325133, 30.88155 -26.2324, 30.97465 -26.141833, 31.0346 -26.0762,
+ 31.09985 -25.8915, 31.18975 -25.7617, 31.2839 -25.720333, 31.4412 -25.746733, 31.5418 -25.772433, 31.713 -25.893667, 31.8435 -25.9393, 31.99145 -25.974933, 32.04145 -25.986967))
+
+POLYGON ((39.704789 15.272072, 39.6771 15.310033, 39.704009 15.273145, 39.704789 15.272072))
+
+POLYGON ((32.97905 -13.4088, 33.03545 -13.2996, 33.03365 -13.203767, 32.98085 -13.135833, 32.95905 -13.072733, 33.0518 -12.8871, 33.05455 -12.8058, 32.95085 -12.7039, 32.95265 -12.6044, 32.97175 -12.580133,
+ 33.1155 -12.524333, 33.1246 -12.4285, 33.3147 -12.344767, 33.44935 -12.276833, 33.5185 -12.196767, 33.5203 -12.1822, 33.49845 -12.166433, 33.4439 -12.1567, 33.32745 -12.151867, 33.28195 -12.133667,
+ 33.25195 -12.094833, 33.18645 -11.9456, 33.1937 -11.9007, 33.23465 -11.8461, 33.2474 -11.790267, 33.2374 -11.621633, 33.181 -11.519733, 33.1701 -11.432367, 33.17645 -11.377767, 33.27015 -11.172733,
+ 33.32655 -11.090233, 33.32655 -11.0405, 33.24195 -10.9143, 33.24015 -10.8391, 33.2929 -10.788133, 33.4439 -10.725033, 33.5208 -10.6644, 33.53855 -10.5485, 33.5372 -10.416233, 33.4849 -10.3034,
+ 33.3962 -10.1857, 33.3348 -10.0838, 33.3075 -10.040133, 33.32615 -9.953967, 33.36025 -9.834467, 33.37025 -9.7811, 33.3525 -9.728333, 33.28475 -9.630667, 33.22565 -9.564567, 33.1742 -9.531967,
+ 33.1242 -9.500267, 33.3716 -9.509967, 33.56445 -9.536633, 33.70085 -9.5512, 33.8937 -9.6798, 34.02105 -9.723467, 34.16295 -9.793833, 34.3085 -9.951533, 34.4486 -10.155333, 34.4777 -10.366433,
+ 34.42135 -10.791033, 34.41225 -10.960867, 34.485 -11.191367, 34.6324 -11.4534, 34.76335 -11.538333, 34.8798 -11.560167, 35.05805 -11.528633, 35.01615 -11.561967, 34.98355 -11.587867, 34.9566 -11.7034,
+ 34.95705 -11.7089, 34.94135 -11.741533, 34.9469 -11.960567, 34.9312 -11.975333, 34.86845 -12.031333, 34.8638 -12.076233, 34.89335 -12.112533, 34.8943 -12.1304, 34.8795 -12.144567, 34.8352 -12.1593,
+ 34.82415 -12.204233, 34.8075 -12.217767, 34.742 -12.261467, 34.7226 -12.299, 34.72725 -12.342067, 34.74755 -12.370367, 34.73645 -12.454667, 34.7226 -12.471867, 34.7023 -12.483567, 34.63265 -12.491567,
+ 34.6142 -12.502033, 34.6188 -12.518033, 34.6428 -12.5402, 34.68895 -12.590633, 34.72675 -12.6811, 34.76185 -12.71, 34.844 -12.759233, 34.8652 -12.782, 34.8989 -12.8423, 34.88965 -12.8743,
+ 34.82135 -12.917367, 34.82785 -13.008433, 34.7992 -13.0386, 34.80845 -13.2047, 34.8315 -13.270567, 34.8269 -13.2933, 34.7752 -13.332067, 34.7752 -13.420667, 34.802 -13.4453, 34.8518 -13.475433,
+ 34.8472 -13.5265, 34.8998 -13.640333, 34.8998 -13.677867, 34.88615 -13.692367, 34.9763 -13.757533, 35.2238 -13.866733, 35.3457 -13.990533, 35.6023 -14.4031, 35.737 -14.570567, 35.88255 -14.7162,
+ 35.93715 -14.8351, 35.90985 -14.920033, 35.8443 -15.0171, 35.7752 -15.155433, 35.80975 -15.3302, 35.85345 -15.4103, 35.89345 -15.521933, 35.8389 -15.619, 35.8589 -15.730667, 35.81155 -15.849567,
+ 35.83705 -15.949067, 35.78975 -16.089833, 35.7406 -16.1384, 35.5295 -16.1578, 35.2893 -16.240333, 35.17285 -16.2913, 35.1401 -16.313133, 35.17285 -16.376233, 35.24565 -16.4636, 35.26565 -16.521833,
+ 35.1844 -16.5882, 35.21285 -16.633467, 35.2628 -16.743633, 35.2665 -16.8061, 35.24 -16.871033, 35.21165 -16.9031, 35.17835 -16.9212, 35.1697 -16.934367, 35.1648 -16.957367, 35.23405 -17.029733,
+ 35.1834 -17.075433, 35.13975 -17.0924, 35.10515 -17.0827, 35.0615 -17.059667, 35.01965 -17.0378, 35.01695 -17.0002, 35.077 -16.922533, 35.08425 -16.867967, 35.08605 -16.8182, 35.0588 -16.7915,
+ 34.9505 -16.741767, 34.78315 -16.6714, 34.5766 -16.495467, 34.47835 -16.387467, 34.3919 -16.2346, 34.31185 -16.082933, 34.2818 -15.965233, 34.33275 -15.854833, 34.3882 -15.7711, 34.4609 -15.500533,
+ 34.58825 -15.374367, 34.6028 -15.346467, 34.56095 -15.215433, 34.581 -15.125633, 34.53185 -14.8672, 34.42725 -14.709467, 34.4054 -14.577233, 34.37995 -14.519, 34.33445 -14.506867, 34.26895 -14.517767,
+ 34.11615 -14.5554, 33.9897 -14.5857, 33.8514 -14.549333, 33.78775 -14.551733, 33.6968 -14.590567, 33.6404 -14.600267, 33.6058 -14.595433, 33.5567 -14.5651, 33.42205 -14.4292, 33.3147 -14.295733,
+ 33.302 -14.250833, 33.34385 -14.1659, 33.33565 -14.1465, 33.2392 -14.1101, 33.1901 -14.1089, 33.1064 -14.138, 33.0791 -14.139233, 32.9845 -14.042167, 32.7562 -13.8092, 32.7216 -13.749767,
+ 32.7198 -13.697567, 32.7698 -13.606567, 32.97905 -13.4088))
+
+POLYGON ((-16.7115 12.474533, -16.69685 12.402467, -16.69685 12.376567, -16.68635 12.347633, -16.53885 12.349767, -16.1533 12.450433, -15.9549 12.450433, -15.73395 12.460167, -15.5333 12.494733, -15.2447 12.638233,
+ -15.1049 12.671267, -14.57955 12.667533, -14.0497 12.6683, -13.65065 12.672033, -13.6502 12.6387, -13.6488 12.531433, -13.69855 12.479333, -13.7317 12.469867, -13.8218 12.4667, -13.8431 12.455633,
+ -13.8431 12.4225, -13.8194 12.389333, -13.68435 12.291433, -13.6464 12.147733, -13.656 12.0042, -13.6563 12, -13.67285 11.766533, -13.6868 11.7095, -13.7226 11.692267, -13.76635 11.692267,
+ -13.81015 11.7095, -13.84395 11.710833, -13.88175 11.7002, -13.97525 11.6538, -14.209 11.649833, -14.2826 11.6326, -14.44775 11.523867, -14.59795 11.4748, -14.67555 11.424433, -14.8148 11.224167,
+ -14.8775 11.13, -14.9336 11.079833, -14.97085 11.0465, -15.0142 11.0468, -15.0286 11.0356, -15.032 11.019033, -15.01955 11.006967, -14.97325 10.9731, -14.9721 10.962567, -14.98455 10.951267,
+ -15.01955 10.949, -15.04895 10.953533, -15.06815 10.966333, -15.07605 10.982133, -15.0896 10.9844, -15.11445 10.982133, -15.15285 10.965567, -15.17205 10.962567, -15.19125 10.967067, -15.2003 10.982133,
+ -15.19915 10.9957, -15.1506 11.0371, -15.03765 11.094333, -15.00375 11.141767, -14.95745 11.1749, -14.95065 11.236633, -14.96875 11.253967, -14.9857 11.253967, -15.01165 11.247933, -15.03425 11.232867,
+ -15.0433 11.207267, -15.0478 11.1666, -15.067 11.151567, -15.12575 11.138767, -15.1585 11.1252, -15.18445 11.1267, -15.19915 11.140267, -15.14835 11.211033, -15.14945 11.2261, -15.1664 11.228367,
+ -15.2195 11.217067, -15.3121 11.2306, -15.3929 11.231333, -15.4245 11.244133, -15.42565 11.256933, -15.42 11.274267, -15.38725 11.291567, -15.2945 11.315567, -15.24685 11.3454, -15.1063 11.471767,
+ -15.1187 11.480667, -15.1444 11.475567, -15.2878 11.353667, -15.3251 11.3488, -15.34995 11.3533, -15.36015 11.368367, -15.3477 11.3985, -15.2754 11.433867, -15.26245 11.452667, -15.27035 11.457933,
+ -15.28955 11.457933, -15.3155 11.452667, -15.37425 11.4045, -15.41155 11.331433, -15.4906 11.278733, -15.52505 11.276467, -15.5499 11.287767, -15.5533 11.313367, -15.52845 11.3623, -15.503 11.376633,
+ -15.47015 11.3808, -15.46235 11.3902, -15.4639 11.399567, -15.4936 11.4173, -15.4999 11.4319, -15.4983 11.4423, -15.47485 11.460033, -15.41855 11.466267, -15.4076 11.475667, -15.4076 11.494433,
+ -15.39665 11.516333, -15.36225 11.5382, -15.34505 11.536133, -15.32475 11.5184, -15.3091 11.515267, -15.2997 11.522567, -15.31065 11.5507, -15.30285 11.564267, -15.2794 11.568433, -15.24655 11.564267,
+ -15.2309 11.5674, -15.22465 11.580933, -15.22935 11.5945, -15.2106 11.608033, -15.18085 11.608033, -15.1402 11.593467, -15.10895 11.575733, -15.06985 11.575733, -15.06045 11.590333, -15.0667 11.602833,
+ -15.09645 11.6091, -15.20435 11.6289, -15.22465 11.638267, -15.22465 11.6612, -15.16055 11.7227, -15.16055 11.734167, -15.1762 11.738333, -15.1934 11.734167, -15.25435 11.6737, -15.27785 11.672667,
+ -15.2872 11.679967, -15.2841 11.711233, -15.29815 11.7227, -15.3138 11.720633, -15.32785 11.707067, -15.32785 11.674767, -15.32005 11.629933, -15.3435 11.607, -15.40605 11.5851, -15.4514 11.578867,
+ -15.4686 11.5851, -15.47955 11.5945, -15.47485 11.611167, -15.4076 11.650767, -15.392 11.669533, -15.40135 11.681, -15.4264 11.686233, -15.4686 11.678933, -15.5249 11.6633, -15.54055 11.667467,
+ -15.55305 11.6883, -15.5468 11.7394, -15.56215 11.746267, -15.602 11.740233, -15.62375 11.742633, -15.6382 11.757133, -15.6328 11.778867, -15.6038 11.798167, -15.52955 11.824733, -15.44265 11.895933,
+ -15.3992 11.910433, -15.31045 11.900767, -15.27605 11.901967, -15.171 11.917667, -15.14565 11.912833, -15.13115 11.895933, -15.1203 11.844033, -15.09315 11.829567, -15.04425 11.825933, -14.99355 11.824733,
+ -14.9347 11.8199, -14.9275 11.829567, -14.9329 11.839233, -14.97635 11.8549, -15.05785 11.8706, -15.0796 11.891133, -15.0941 11.949067, -15.1303 11.9708, -15.1792 11.9732, -15.2643 11.961133,
+ -15.4309 11.974433, -15.53865 11.962367, -15.5803 11.939433, -15.65635 11.862167, -15.7306 11.841633, -15.79035 11.842867, -15.813 11.853733, -15.813 11.873033, -15.80215 11.893567, -15.81665 11.902,
+ -15.8456 11.902, -15.90535 11.853733, -15.9398 11.854933, -15.98865 11.870633, -15.9905 11.888733, -15.9742 11.906833, -15.9434 11.9346, -15.909 11.943067, -15.88185 11.9684, -15.81845 11.9853,
+ -15.7906 12, -15.78165 12.0103, -15.78105 12.019367, -15.7883 12.026533, -15.81315 12.033267, -15.8554 12.036167, -15.88495 12.031167, -15.9046 12.024, -15.92255 12.0105, -15.93035 12,
+ -15.96515 11.965233, -15.99405 11.9556, -16.04645 11.9556, -16.1133 11.949567, -16.1693 11.938733, -16.20365 11.939933, -16.29215 11.974867, -16.3247 11.974867, -16.359 11.965233, -16.3825 11.965233,
+ -16.40235 11.974867, -16.43645 12, -16.44375 12.066967, -16.4298 12.1389, -16.4238 12.145533, -16.3758 12.146867, -16.34585 12.158867, -16.31385 12.158867, -16.2839 12.165533, -16.23395 12.201467,
+ -16.18795 12.209467, -16.144 12.2321, -16.08805 12.2854, -16.06405 12.3067, -16.07405 12.320033, -16.10205 12.321367, -16.17995 12.292033, -16.2199 12.282733, -16.2459 12.2774, -16.2499 12.280067,
+ -16.2499 12.300033, -16.2639 12.3067, -16.29985 12.300033, -16.3318 12.2814, -16.3618 12.280067, -16.3858 12.2907, -16.40375 12.2907, -16.45175 12.2401, -16.4837 12.220133, -16.51965 12.224133,
+ -16.57165 12.261433, -16.6296 12.272067, -16.68155 12.2654, -16.7115 12.257433, -16.7475 12.266733, -16.8614 12.308033, -16.8734 12.352, -16.92535 12.375967, -16.92935 12.397267, -16.90335 12.437233,
+ -16.92935 12.4785, -16.91935 12.497167, -16.89335 12.499833, -16.7938 12.470633, -16.7435 12.455867, -16.7215 12.458533, -16.7115 12.474533))
\ No newline at end of file
diff --git a/modules/core/src/test/resources/testdata/bc-250k.wkt b/modules/core/src/test/resources/testdata/bc-250k.wkt
new file mode 100644
index 0000000..57b5554
--- /dev/null
+++ b/modules/core/src/test/resources/testdata/bc-250k.wkt
@@ -0,0 +1,177 @@
+POLYGON ((1874985.814 516971.924 0, 1730224.341 494295.337 0, 1714575.531 604338.284 0, 1856234.745 626528.909 0, 1874985.814 516971.924 0))
+
+POLYGON ((1730224.341 494295.337 0, 1584880.066 475717.034 0, 1572346.004 586158.117 0, 1714575.531 604338.284 0, 1730224.341 494295.337 0))
+
+POLYGON ((1856234.745 626528.909 0, 1714575.531 604338.284 0, 1698905.661 714529.33 0, 1837458.441 736233.339 0, 1856234.745 626528.909 0))
+
+POLYGON ((1584880.066 475717.034 0, 1439068.99 461251.844 0, 1429659.68 572002.918 0, 1572346.004 586158.117 0, 1584880.066 475717.034 0))
+
+POLYGON ((1714575.531 604338.284 0, 1572346.004 586158.117 0, 1559795.074 696747.835 0, 1698905.661 714529.33 0, 1714575.531 604338.284 0))
+
+POLYGON ((1837458.441 736233.339 0, 1698905.661 714529.33 0, 1683218.4 824842.664 0, 1818661.3 846059.516 0, 1837458.441 736233.339 0))
+
+POLYGON ((1299174.702 340112.474 0, 1149647.069 333772.029 0, 1146512.21 444703.688 0, 1292907.487 450911.311 0, 1299174.702 340112.474 0))
+
+POLYGON ((1439068.99 461251.844 0, 1292907.487 450911.311 0, 1286630.438 561883.984 0, 1429659.68 572002.918 0, 1439068.99 461251.844 0))
+
+POLYGON ((1572346.004 586158.117 0, 1429659.68 572002.918 0, 1420237.707 682903.044 0, 1559795.074 696747.835 0, 1572346.004 586158.117 0))
+
+POLYGON ((1698905.661 714529.33 0, 1559795.074 696747.835 0, 1547230.215 807460.283 0, 1683218.4 824842.664 0, 1698905.661 714529.33 0))
+
+POLYGON ((1149647.069 333772.029 0, 1000000 331657.986 0, 1000000 442633.93 0, 1146512.21 444703.688 0, 1149647.069 333772.029 0))
+
+POLYGON ((1292907.487 450911.311 0, 1146512.21 444703.688 0, 1143372.433 555809.392 0, 1286630.438 561883.984 0, 1292907.487 450911.311 0))
+
+POLYGON ((1429659.68 572002.918 0, 1286630.438 561883.984 0, 1280344.942 673006.008 0, 1420237.707 682903.044 0, 1429659.68 572002.918 0))
+
+POLYGON ((1559795.074 696747.835 0, 1420237.707 682903.044 0, 1410805.277 793926.245 0, 1547230.215 807460.283 0, 1559795.074 696747.835 0))
+
+POLYGON ((1683218.4 824842.664 0, 1547230.215 807460.283 0, 1534654.561 918267.848 0, 1667517.662 935250.773 0, 1683218.4 824842.664 0))
+
+POLYGON ((1146512.21 444703.688 0, 1000000 442633.93 0, 1000000 553783.989 0, 1143372.433 555809.392 0, 1146512.21 444703.688 0))
+
+POLYGON ((1286630.438 561883.984 0, 1143372.433 555809.392 0, 1140228.43 667064.624 0, 1280344.942 673006.008 0, 1286630.438 561883.984 0))
+
+POLYGON ((1420237.707 682903.044 0, 1280344.942 673006.008 0, 1274052.47 784251.352 0, 1410805.277 793926.245 0, 1420237.707 682903.044 0))
+
+POLYGON ((1547230.215 807460.283 0, 1410805.277 793926.245 0, 1401364.744 905044.83 0, 1534654.561 918267.848 0, 1547230.215 807460.283 0))
+
+POLYGON ((1000000 442633.93 0, 853487.79 444703.688 0, 856627.567 555809.392 0, 1000000 553783.989 0, 1000000 442633.93 0))
+
+POLYGON ((1143372.433 555809.392 0, 1000000 553783.989 0, 1000000 665083.636 0, 1140228.43 667064.624 0, 1143372.433 555809.392 0))
+
+POLYGON ((1280344.942 673006.008 0, 1140228.43 667064.624 0, 1137080.938 778443.325 0, 1274052.47 784251.352 0, 1280344.942 673006.008 0))
+
+POLYGON ((1410805.277 793926.245 0, 1274052.47 784251.352 0, 1267754.593 895592.271 0, 1401364.744 905044.83 0, 1410805.277 793926.245 0))
+
+POLYGON ((1534654.561 918267.848 0, 1401364.744 905044.83 0, 1391918.622 1016229.199 0, 1522071.462 1029141.013 0, 1534654.561 918267.848 0))
+
+POLYGON ((1000000 553783.989 0, 856627.567 555809.392 0, 859771.57 667064.624 0, 1000000 665083.636 0, 1000000 553783.989 0))
+
+POLYGON ((1140228.43 667064.624 0, 1000000 665083.636 0, 1000000 776506.802 0, 1137080.938 778443.325 0, 1140228.43 667064.624 0))
+
+POLYGON ((1274052.47 784251.352 0, 1137080.938 778443.325 0, 1133930.742 889917.716 0, 1267754.593 895592.271 0, 1274052.47 784251.352 0))
+
+POLYGON ((1401364.744 905044.83 0, 1267754.593 895592.271 0, 1261452.986 1006999.106 0, 1391918.622 1016229.199 0, 1401364.744 905044.83 0))
+
+POLYGON ((856627.567 555809.392 0, 713369.562 561883.984 0, 719655.058 673006.008 0, 859771.57 667064.624 0, 856627.567 555809.392 0))
+
+POLYGON ((1000000 665083.636 0, 859771.57 667064.624 0, 862919.062 778443.325 0, 1000000 776506.802 0, 1000000 665083.636 0))
+
+POLYGON ((1137080.938 778443.325 0, 1000000 776506.802 0, 1000000 888025.695 0, 1133930.742 889917.716 0, 1137080.938 778443.325 0))
+
+POLYGON ((1267754.593 895592.271 0, 1133930.742 889917.716 0, 1130778.681 1001458.102 0, 1261452.986 1006999.106 0, 1267754.593 895592.271 0))
+
+POLYGON ((1391918.622 1016229.199 0, 1261452.986 1006999.106 0, 1255149.45 1118440.057 0, 1382469.607 1127447.615 0, 1391918.622 1016229.199 0))
+
+POLYGON ((859771.57 667064.624 0, 719655.058 673006.008 0, 725947.53 784251.352 0, 862919.062 778443.325 0, 859771.57 667064.624 0))
+
+POLYGON ((1000000 776506.802 0, 862919.062 778443.325 0, 866069.258 889917.716 0, 1000000 888025.695 0, 1000000 776506.802 0))
+
+POLYGON ((1133930.742 889917.716 0, 1000000 888025.695 0, 1000000 999610.609 0, 1130778.681 1001458.102 0, 1133930.742 889917.716 0))
+
+POLYGON ((1261452.986 1006999.106 0, 1130778.681 1001458.102 0, 1127625.655 1113032.645 0, 1255149.45 1118440.057 0, 1261452.986 1006999.106 0))
+
+POLYGON ((1382469.607 1127447.615 0, 1255149.45 1118440.057 0, 1248845.919 1229880.924 0, 1373020.599 1238665.949 0, 1382469.607 1127447.615 0))
+
+POLYGON ((719655.058 673006.008 0, 579762.293 682903.044 0, 589194.723 793926.245 0, 725947.53 784251.352 0, 719655.058 673006.008 0))
+
+POLYGON ((862919.062 778443.325 0, 725947.53 784251.352 0, 732245.407 895592.271 0, 866069.258 889917.716 0, 862919.062 778443.325 0))
+
+POLYGON ((1000000 888025.695 0, 866069.258 889917.716 0, 869221.319 1001458.102 0, 1000000 999610.609 0, 1000000 888025.695 0))
+
+POLYGON ((1130778.681 1001458.102 0, 1000000 999610.609 0, 1000000 1111229.694 0, 1127625.655 1113032.645 0, 1130778.681 1001458.102 0))
+
+POLYGON ((1255149.45 1118440.057 0, 1127625.655 1113032.645 0, 1124472.631 1224607.103 0, 1248845.919 1229880.924 0, 1255149.45 1118440.057 0))
+
+POLYGON ((1373020.599 1238665.949 0, 1248845.919 1229880.924 0, 1242544.479 1341284.813 0, 1363574.727 1349847.377 0, 1373020.599 1238665.949 0))
+
+POLYGON ((725947.53 784251.352 0, 589194.723 793926.245 0, 598635.256 905044.83 0, 732245.407 895592.271 0, 725947.53 784251.352 0))
+
+POLYGON ((866069.258 889917.716 0, 732245.407 895592.271 0, 738547.014 1006999.106 0, 869221.319 1001458.102 0, 866069.258 889917.716 0))
+
+POLYGON ((1000000 999610.609 0, 869221.319 1001458.102 0, 872374.345 1113032.645 0, 1000000 1111229.694 0, 1000000 999610.609 0))
+
+POLYGON ((1127625.655 1113032.645 0, 1000000 1111229.694 0, 1000000 1222848.695 0, 1124472.631 1224607.103 0, 1127625.655 1113032.645 0))
+
+POLYGON ((1248845.919 1229880.924 0, 1124472.631 1224607.103 0, 1121320.653 1336144.539 0, 1242544.479 1341284.813 0, 1248845.919 1229880.924 0))
+
+POLYGON ((1363574.727 1349847.377 0, 1242544.479 1341284.813 0, 1236247.39 1452611.788 0, 1354135.376 1460952.046 0, 1363574.727 1349847.377 0))
+
+POLYGON ((589194.723 793926.245 0, 452769.785 807460.283 0, 465345.439 918267.848 0, 598635.256 905044.83 0, 589194.723 793926.245 0))
+
+POLYGON ((732245.407 895592.271 0, 598635.256 905044.83 0, 608081.378 1016229.199 0, 738547.014 1006999.106 0, 732245.407 895592.271 0))
+
+POLYGON ((869221.319 1001458.102 0, 738547.014 1006999.106 0, 744850.55 1118440.057 0, 872374.345 1113032.645 0, 869221.319 1001458.102 0))
+
+POLYGON ((1000000 1111229.694 0, 872374.345 1113032.645 0, 875527.369 1224607.103 0, 1000000 1222848.695 0, 1000000 1111229.694 0))
+
+POLYGON ((1124472.631 1224607.103 0, 1000000 1222848.695 0, 1000000 1334430.659 0, 1121320.653 1336144.539 0, 1124472.631 1224607.103 0))
+
+POLYGON ((1242544.479 1341284.813 0, 1121320.653 1336144.539 0, 1118170.852 1447604.97 0, 1236247.39 1452611.788 0, 1242544.479 1341284.813 0))
+
+POLYGON ((1354135.376 1460952.046 0, 1236247.39 1452611.788 0, 1229957.104 1563818.485 0, 1344706.223 1571936.676 0, 1354135.376 1460952.046 0))
+
+POLYGON ((598635.256 905044.83 0, 465345.439 918267.848 0, 477928.538 1029141.013 0, 608081.378 1016229.199 0, 598635.256 905044.83 0))
+
+POLYGON ((738547.014 1006999.106 0, 608081.378 1016229.199 0, 617530.393 1127447.615 0, 744850.55 1118440.057 0, 738547.014 1006999.106 0))
+
+POLYGON ((872374.345 1113032.645 0, 744850.55 1118440.057 0, 751154.081 1229880.924 0, 875527.369 1224607.103 0, 872374.345 1113032.645 0))
+
+POLYGON ((1000000 1222848.695 0, 875527.369 1224607.103 0, 878679.347 1336144.539 0, 1000000 1334430.659 0, 1000000 1222848.695 0))
+
+POLYGON ((1121320.653 1336144.539 0, 1000000 1334430.659 0, 1000000 1445935.586 0, 1118170.852 1447604.97 0, 1121320.653 1336144.539 0))
+
+POLYGON ((1236247.39 1452611.788 0, 1118170.852 1447604.97 0, 1115024.454 1558944.977 0, 1229957.104 1563818.485 0, 1236247.39 1452611.788 0))
+
+POLYGON ((1344706.223 1571936.676 0, 1229957.104 1563818.485 0, 1223676.295 1674857.649 0, 1335291.276 1682754.108 0, 1344706.223 1571936.676 0))
+
+POLYGON ((608081.378 1016229.199 0, 477928.538 1029141.013 0, 490515.49 1140048.131 0, 617530.393 1127447.615 0, 608081.378 1016229.199 0))
+
+POLYGON ((744850.55 1118440.057 0, 617530.393 1127447.615 0, 626979.401 1238665.949 0, 751154.081 1229880.924 0, 744850.55 1118440.057 0))
+
+POLYGON ((875527.369 1224607.103 0, 751154.081 1229880.924 0, 757455.521 1341284.813 0, 878679.347 1336144.539 0, 875527.369 1224607.103 0))
+
+POLYGON ((1000000 1334430.659 0, 878679.347 1336144.539 0, 881829.148 1447604.97 0, 1000000 1445935.586 0, 1000000 1334430.659 0))
+
+POLYGON ((1118170.852 1447604.97 0, 1000000 1445935.586 0, 1000000 1557320.042 0, 1115024.454 1558944.977 0, 1118170.852 1447604.97 0))
+
+POLYGON ((1229957.104 1563818.485 0, 1115024.454 1558944.977 0, 1111882.795 1670117.251 0, 1223676.295 1674857.649 0, 1229957.104 1563818.485 0))
+
+POLYGON ((751154.081 1229880.924 0, 626979.401 1238665.949 0, 636425.273 1349847.377 0, 757455.521 1341284.813 0, 751154.081 1229880.924 0))
+
+POLYGON ((878679.347 1336144.539 0, 757455.521 1341284.813 0, 763752.61 1452611.788 0, 881829.148 1447604.97 0, 878679.347 1336144.539 0))
+
+POLYGON ((1000000 1445935.586 0, 881829.148 1447604.97 0, 884975.546 1558944.977 0, 1000000 1557320.042 0, 1000000 1445935.586 0))
+
+POLYGON ((1115024.454 1558944.977 0, 1000000 1557320.042 0, 1000000 1668536.698 0, 1111882.795 1670117.251 0, 1115024.454 1558944.977 0))
+
+POLYGON ((626979.401 1238665.949 0, 503102.433 1250955.165 0, 515685.2 1361825.398 0, 636425.273 1349847.377 0, 626979.401 1238665.949 0))
+
+POLYGON ((757455.521 1341284.813 0, 636425.273 1349847.377 0, 645864.624 1460952.046 0, 763752.61 1452611.788 0, 757455.521 1341284.813 0))
+
+POLYGON ((881829.148 1447604.97 0, 763752.61 1452611.788 0, 770042.896 1563818.485 0, 884975.546 1558944.977 0, 881829.148 1447604.97 0))
+
+POLYGON ((1000000 1557320.042 0, 884975.546 1558944.977 0, 888117.205 1670117.251 0, 1000000 1668536.698 0, 1000000 1557320.042 0))
+
+POLYGON ((636425.273 1349847.377 0, 515685.2 1361825.398 0, 528259.279 1472619.086 0, 645864.624 1460952.046 0, 636425.273 1349847.377 0))
+
+POLYGON ((763752.61 1452611.788 0, 645864.624 1460952.046 0, 655293.777 1571936.676 0, 770042.896 1563818.485 0, 763752.61 1452611.788 0))
+
+POLYGON ((884975.546 1558944.977 0, 770042.896 1563818.485 0, 776323.705 1674857.649 0, 888117.205 1670117.251 0, 884975.546 1558944.977 0))
+
+POLYGON ((645864.624 1460952.046 0, 528259.279 1472619.086 0, 540819.773 1583293.072 0, 655293.777 1571936.676 0, 645864.624 1460952.046 0))
+
+POLYGON ((770042.896 1563818.485 0, 655293.777 1571936.676 0, 664708.724 1682754.108 0, 776323.705 1674857.649 0, 770042.896 1563818.485 0))
+
+POLYGON ((528259.279 1472619.086 0, 411030.436 1487603.597 0, 426712.247 1597878.608 0, 540819.773 1583293.072 0, 528259.279 1472619.086 0))
+
+POLYGON ((655293.777 1571936.676 0, 540819.773 1583293.072 0, 553361.344 1693800.327 0, 664708.724 1682754.108 0, 655293.777 1571936.676 0))
+
+POLYGON ((411030.436 1487603.597 0, 294271.658 1505893.62 0, 313062.27 1615681.643 0, 426712.247 1597878.608 0, 411030.436 1487603.597 0))
+
+POLYGON ((540819.773 1583293.072 0, 426712.247 1597878.608 0, 442370.433 1707987.489 0, 553361.344 1693800.327 0, 540819.773 1583293.072 0))
+
+POLYGON ((426712.247 1597878.608 0, 313062.27 1615681.643 0, 331824.573 1725304.27 0, 442370.433 1707987.489 0, 426712.247 1597878.608 0))
+
+POLYGON ((199960.547 1636687.969 0, 221811.994 1745736.851 0, 331824.573 1725304.27 0, 313062.27 1615681.643 0, 199960.547 1636687.969 0))
\ No newline at end of file
diff --git a/modules/core/src/test/resources/testdata/bc_20K.wkt b/modules/core/src/test/resources/testdata/bc_20K.wkt
new file mode 100644
index 0000000..98bfed3
--- /dev/null
+++ b/modules/core/src/test/resources/testdata/bc_20K.wkt
@@ -0,0 +1,84875 @@
+POLYGON ((1874985.814 516971.924 0, 1874686.23 516920.658 0, 1874385.327 516869.185 0, 1874084.42 516817.729 0, 1873783.511 516766.291 0, 1873482.598 516714.871 0, 1873181.683 516663.468 0, 1872880.764 516612.083 0, 1872579.842 516560.716 0, 1872278.918 516509.366 0,
+ 1871977.99 516458.035 0, 1871677.059 516406.721 0, 1871376.126 516355.424 0, 1871075.189 516304.146 0, 1870774.249 516252.885 0, 1870473.306 516201.642 0, 1870172.361 516150.416 0, 1869871.412 516099.208 0, 1869570.46 516048.018 0, 1869269.505 515996.846 0,
+ 1868968.547 515945.691 0, 1868667.586 515894.555 0, 1868366.623 515843.435 0, 1868065.656 515792.334 0, 1867763.367 515741.026 0, 1867463.713 515690.184 0, 1867162.737 515639.136 0, 1866861.758 515588.105 0, 1866560.776 515537.092 0, 1866259.791 515486.097 0,
+ 1865958.804 515435.12 0, 1865657.813 515384.16 0, 1865356.819 515333.218 0, 1865055.822 515282.293 0, 1864754.822 515231.387 0, 1864453.819 515180.498 0, 1864152.813 515129.627 0, 1863851.804 515078.773 0, 1863550.792 515027.938 0, 1863249.778 514977.119 0,
+ 1862948.76 514926.319 0, 1862647.739 514875.537 0, 1862346.715 514824.772 0, 1862045.688 514774.025 0, 1861744.658 514723.295 0, 1861443.626 514672.583 0, 1861142.59 514621.889 0, 1860841.551 514571.213 0, 1860539.189 514520.332 0, 1859617.769 519996.926 0,
+ 1858696.276 525473.946 0, 1858997.991 525524.718 0, 1859298.385 525575.286 0, 1859598.776 525625.871 0, 1859899.164 525676.474 0, 1860199.549 525727.095 0, 1860499.931 525777.733 0, 1860800.31 525828.389 0, 1861100.687 525879.063 0, 1861401.06 525929.755 0,
+ 1861701.43 525980.464 0, 1862001.797 526031.191 0, 1862302.162 526081.935 0, 1862602.523 526132.698 0, 1862902.881 526183.478 0, 1863203.236 526234.275 0, 1863503.589 526285.09 0, 1863803.938 526335.923 0, 1864104.284 526386.774 0, 1864404.628 526437.642 0,
+ 1864704.968 526488.528 0, 1865005.305 526539.432 0, 1865305.639 526590.353 0, 1865605.971 526641.292 0, 1865904.983 526692.026 0, 1866206.624 526743.223 0, 1866506.947 526794.215 0, 1866807.266 526845.225 0, 1867107.582 526896.253 0, 1867407.896 526947.298 0,
+ 1867708.206 526998.36 0, 1868008.513 527049.441 0, 1868308.818 527100.539 0, 1868609.119 527151.655 0, 1868909.417 527202.788 0, 1869209.712 527253.939 0, 1869510.005 527305.108 0, 1869810.294 527356.294 0, 1870110.58 527407.499 0, 1870410.863 527458.72 0,
+ 1870711.144 527509.96 0, 1871011.421 527561.217 0, 1871311.695 527612.492 0, 1871611.966 527663.784 0, 1871912.234 527715.095 0, 1872212.499 527766.422 0, 1872512.761 527817.768 0, 1872813.021 527869.131 0, 1873111.962 527920.287 0, 1874048.924 522445.892 0,
+ 1874985.814 516971.924 0))
+
+POLYGON ((1860539.189 514520.332 0, 1860239.465 514469.914 0, 1859938.417 514419.291 0, 1859637.366 514368.685 0, 1859336.313 514318.097 0, 1859035.256 514267.528 0, 1858734.196 514216.975 0, 1858433.134 514166.441 0, 1858132.068 514115.924 0, 1857831 514065.425 0,
+ 1857529.928 514014.943 0, 1857228.854 513964.48 0, 1856927.776 513914.034 0, 1856626.696 513863.606 0, 1856325.613 513813.195 0, 1856024.526 513762.802 0, 1855723.437 513712.427 0, 1855422.345 513662.07 0, 1855121.249 513611.73 0, 1854820.151 513561.409 0,
+ 1854519.05 513511.104 0, 1854217.946 513460.818 0, 1853916.839 513410.549 0, 1853615.729 513360.298 0, 1853313.294 513309.845 0, 1853013.5 513259.85 0, 1852712.381 513209.652 0, 1852411.259 513159.472 0, 1852110.134 513109.309 0, 1851809.007 513059.165 0,
+ 1851507.876 513009.038 0, 1851206.742 512958.928 0, 1850905.606 512908.837 0, 1850604.466 512858.763 0, 1850303.323 512808.707 0, 1850002.178 512758.669 0, 1849701.03 512708.648 0, 1849399.878 512658.645 0, 1849098.724 512608.66 0, 1848797.567 512558.693 0,
+ 1848496.407 512508.743 0, 1848195.243 512458.811 0, 1847894.077 512408.897 0, 1847592.908 512359.001 0, 1847291.737 512309.122 0, 1846990.562 512259.261 0, 1846689.384 512209.417 0, 1846388.203 512159.592 0, 1846085.696 512109.565 0, 1845179.752 517588.74 0,
+ 1844273.737 523068.342 0, 1844575.596 523118.261 0, 1844876.132 523167.98 0, 1845176.664 523217.717 0, 1845477.194 523267.471 0, 1845777.721 523317.243 0, 1846078.245 523367.033 0, 1846378.766 523416.84 0, 1846679.284 523466.665 0, 1846979.8 523516.508 0,
+ 1847280.312 523566.368 0, 1847580.821 523616.246 0, 1847881.328 523666.142 0, 1848181.831 523716.055 0, 1848482.332 523765.986 0, 1848782.829 523815.935 0, 1849083.324 523865.902 0, 1849383.815 523915.886 0, 1849684.304 523965.888 0, 1849984.79 524015.907 0,
+ 1850285.273 524065.945 0, 1850585.753 524116 0, 1850886.23 524166.072 0, 1851186.704 524216.163 0, 1851485.856 524266.051 0, 1851787.643 524316.396 0, 1852088.108 524366.54 0, 1852388.571 524416.701 0, 1852689.03 524466.879 0, 1852989.486 524517.076 0,
+ 1853289.94 524567.29 0, 1853590.39 524617.522 0, 1853890.837 524667.771 0, 1854191.282 524718.038 0, 1854491.723 524768.323 0, 1854792.162 524818.626 0, 1855092.598 524868.946 0, 1855393.03 524919.284 0, 1855693.46 524969.639 0, 1855993.887 525020.013 0,
+ 1856294.311 525070.404 0, 1856594.731 525120.812 0, 1856895.149 525171.239 0, 1857195.564 525221.683 0, 1857495.976 525272.144 0, 1857796.385 525322.624 0, 1858096.791 525373.121 0, 1858397.194 525423.635 0, 1858696.276 525473.946 0, 1859617.769 519996.926 0,
+ 1860539.189 514520.332 0))
+
+POLYGON ((1873111.962 527920.287 0, 1872813.021 527869.131 0, 1872512.761 527817.768 0, 1872212.499 527766.422 0, 1871912.234 527715.095 0, 1871611.966 527663.784 0, 1871311.695 527612.492 0, 1871011.421 527561.217 0, 1870711.144 527509.96 0, 1870410.863 527458.72 0,
+ 1870110.58 527407.499 0, 1869810.294 527356.294 0, 1869510.005 527305.108 0, 1869209.712 527253.939 0, 1868909.417 527202.788 0, 1868609.119 527151.655 0, 1868308.818 527100.539 0, 1868008.513 527049.441 0, 1867708.206 526998.36 0, 1867407.896 526947.298 0,
+ 1867107.582 526896.253 0, 1866807.266 526845.225 0, 1866506.947 526794.215 0, 1866206.624 526743.223 0, 1865904.983 526692.026 0, 1865605.971 526641.292 0, 1865305.639 526590.353 0, 1865005.305 526539.432 0, 1864704.968 526488.528 0, 1864404.628 526437.642 0,
+ 1864104.284 526386.774 0, 1863803.938 526335.923 0, 1863503.589 526285.09 0, 1863203.236 526234.275 0, 1862902.881 526183.478 0, 1862602.523 526132.698 0, 1862302.162 526081.935 0, 1862001.797 526031.191 0, 1861701.43 525980.464 0, 1861401.06 525929.755 0,
+ 1861100.687 525879.063 0, 1860800.31 525828.389 0, 1860499.931 525777.733 0, 1860199.549 525727.095 0, 1859899.164 525676.474 0, 1859598.776 525625.871 0, 1859298.385 525575.286 0, 1858997.991 525524.718 0, 1858696.276 525473.946 0, 1857774.713 530951.39 0,
+ 1856853.079 536429.254 0, 1857154.145 536479.917 0, 1857453.895 536530.376 0, 1857753.641 536580.853 0, 1858053.384 536631.348 0, 1858353.124 536681.86 0, 1858652.862 536732.389 0, 1858952.596 536782.937 0, 1859252.328 536833.502 0, 1859552.056 536884.085 0,
+ 1859851.782 536934.685 0, 1860151.504 536985.303 0, 1860451.224 537035.939 0, 1860750.94 537086.592 0, 1861050.654 537137.263 0, 1861350.364 537187.951 0, 1861650.072 537238.658 0, 1861949.776 537289.381 0, 1862249.478 537340.123 0, 1862549.177 537390.882 0,
+ 1862848.872 537441.659 0, 1863148.565 537492.453 0, 1863448.254 537543.265 0, 1863747.941 537594.095 0, 1864046.312 537644.719 0, 1864347.305 537695.807 0, 1864646.983 537746.69 0, 1864946.658 537797.59 0, 1865246.33 537848.508 0, 1865545.998 537899.443 0,
+ 1865845.664 537950.396 0, 1866145.327 538001.367 0, 1866444.986 538052.356 0, 1866744.643 538103.362 0, 1867044.297 538154.385 0, 1867343.947 538205.427 0, 1867643.595 538256.486 0, 1867943.24 538307.562 0, 1868242.881 538358.656 0, 1868542.52 538409.768 0,
+ 1868842.156 538460.898 0, 1869141.788 538512.045 0, 1869441.418 538563.21 0, 1869741.045 538614.392 0, 1870040.668 538665.592 0, 1870340.289 538716.81 0, 1870639.906 538768.045 0, 1870939.521 538819.298 0, 1871237.821 538870.344 0, 1872174.928 533395.105 0,
+ 1873111.962 527920.287 0))
+
+POLYGON ((1846085.696 512109.565 0, 1845785.833 512059.994 0, 1845484.643 512010.221 0, 1845183.451 511960.467 0, 1844882.256 511910.73 0, 1844581.057 511861.011 0, 1844279.856 511811.309 0, 1843978.652 511761.625 0, 1843677.445 511711.959 0, 1843376.235 511662.311 0,
+ 1843075.022 511612.68 0, 1842773.806 511563.068 0, 1842472.587 511513.472 0, 1842171.366 511463.895 0, 1841870.141 511414.335 0, 1841568.914 511364.793 0, 1841267.683 511315.269 0, 1840966.45 511265.763 0, 1840665.214 511216.274 0, 1840363.974 511166.803 0,
+ 1840062.732 511117.35 0, 1839761.487 511067.914 0, 1839460.239 511018.496 0, 1839158.989 510969.096 0, 1838856.41 510919.497 0, 1838556.478 510870.349 0, 1838255.219 510821.002 0, 1837953.956 510771.673 0, 1837652.691 510722.362 0, 1837351.423 510673.068 0,
+ 1837050.152 510623.792 0, 1836748.878 510574.534 0, 1836447.601 510525.293 0, 1836146.321 510476.07 0, 1835845.038 510426.865 0, 1835543.752 510377.678 0, 1835242.464 510328.509 0, 1834941.173 510279.357 0, 1834639.878 510230.223 0, 1834338.581 510181.106 0,
+ 1834037.281 510132.008 0, 1833735.978 510082.927 0, 1833434.672 510033.863 0, 1833133.363 509984.818 0, 1832832.052 509935.79 0, 1832530.737 509886.78 0, 1832229.42 509837.788 0, 1831928.1 509788.814 0, 1831625.45 509739.641 0, 1830734.989 515221.354 0,
+ 1829844.459 520703.493 0, 1830146.46 520752.56 0, 1830447.135 520801.43 0, 1830747.807 520850.317 0, 1831048.476 520899.222 0, 1831349.142 520948.145 0, 1831649.806 520997.085 0, 1831950.466 521046.043 0, 1832251.124 521095.019 0, 1832551.779 521144.013 0,
+ 1832852.431 521193.024 0, 1833153.08 521242.053 0, 1833453.726 521291.099 0, 1833754.369 521340.164 0, 1834055.01 521389.246 0, 1834355.647 521438.345 0, 1834656.282 521487.463 0, 1834956.914 521536.598 0, 1835257.542 521585.75 0, 1835558.168 521634.921 0,
+ 1835858.791 521684.109 0, 1836159.412 521733.315 0, 1836460.029 521782.538 0, 1836760.643 521831.78 0, 1837059.933 521880.822 0, 1837361.863 521930.315 0, 1837662.469 521979.609 0, 1837963.072 522028.921 0, 1838263.671 522078.251 0, 1838564.268 522127.598 0,
+ 1838864.862 522176.963 0, 1839165.454 522226.346 0, 1839466.042 522275.747 0, 1839766.627 522325.165 0, 1840067.209 522374.601 0, 1840367.789 522424.054 0, 1840668.366 522473.525 0, 1840968.939 522523.014 0, 1841269.51 522572.521 0, 1841570.078 522622.045 0,
+ 1841870.643 522671.587 0, 1842171.205 522721.147 0, 1842471.764 522770.724 0, 1842772.32 522820.319 0, 1843072.873 522869.932 0, 1843373.424 522919.563 0, 1843673.971 522969.211 0, 1843974.516 523018.877 0, 1844273.737 523068.342 0, 1845179.752 517588.74 0,
+ 1846085.696 512109.565 0))
+
+POLYGON ((1858696.276 525473.946 0, 1858397.194 525423.635 0, 1858096.791 525373.121 0, 1857796.385 525322.624 0, 1857495.976 525272.144 0, 1857195.564 525221.683 0, 1856895.149 525171.239 0, 1856594.731 525120.812 0, 1856294.311 525070.404 0, 1855993.887 525020.013 0,
+ 1855693.46 524969.639 0, 1855393.03 524919.284 0, 1855092.598 524868.946 0, 1854792.162 524818.626 0, 1854491.723 524768.323 0, 1854191.282 524718.038 0, 1853890.837 524667.771 0, 1853590.39 524617.522 0, 1853289.94 524567.29 0, 1852989.486 524517.076 0,
+ 1852689.03 524466.879 0, 1852388.571 524416.701 0, 1852088.108 524366.54 0, 1851787.643 524316.396 0, 1851485.856 524266.051 0, 1851186.704 524216.163 0, 1850886.23 524166.072 0, 1850585.753 524116 0, 1850285.273 524065.945 0, 1849984.79 524015.907 0,
+ 1849684.304 523965.888 0, 1849383.815 523915.886 0, 1849083.324 523865.902 0, 1848782.829 523815.935 0, 1848482.332 523765.986 0, 1848181.831 523716.055 0, 1847881.328 523666.142 0, 1847580.821 523616.246 0, 1847280.312 523566.368 0, 1846979.8 523516.508 0,
+ 1846679.284 523466.665 0, 1846378.766 523416.84 0, 1846078.245 523367.033 0, 1845777.721 523317.243 0, 1845477.194 523267.471 0, 1845176.664 523217.717 0, 1844876.132 523167.98 0, 1844575.596 523118.261 0, 1844273.737 523068.342 0, 1843367.652 528548.367 0,
+ 1842461.497 534028.814 0, 1842762.708 534078.626 0, 1843062.599 534128.238 0, 1843362.486 534177.868 0, 1843662.371 534227.515 0, 1843962.253 534277.18 0, 1844262.132 534326.863 0, 1844562.008 534376.564 0, 1844861.881 534426.282 0, 1845161.751 534476.017 0,
+ 1845461.618 534525.771 0, 1845761.483 534575.542 0, 1846061.344 534625.33 0, 1846361.202 534675.137 0, 1846661.058 534724.961 0, 1846960.911 534774.802 0, 1847260.76 534824.662 0, 1847560.607 534874.539 0, 1847860.451 534924.433 0, 1848160.291 534974.345 0,
+ 1848460.129 535024.275 0, 1848759.964 535074.223 0, 1849059.796 535124.188 0, 1849359.625 535174.171 0, 1849658.136 535223.952 0, 1849959.275 535274.189 0, 1850259.095 535324.225 0, 1850558.912 535374.278 0, 1850858.727 535424.349 0, 1851158.538 535474.438 0,
+ 1851458.346 535524.544 0, 1851758.152 535574.668 0, 1852057.954 535624.81 0, 1852357.754 535674.969 0, 1852657.551 535725.146 0, 1852957.344 535775.341 0, 1853257.135 535825.553 0, 1853556.923 535875.783 0, 1853856.708 535926.03 0, 1854156.49 535976.295 0,
+ 1854456.268 536026.578 0, 1854756.044 536076.878 0, 1855055.817 536127.197 0, 1855355.587 536177.532 0, 1855655.354 536227.886 0, 1855955.119 536278.257 0, 1856254.88 536328.645 0, 1856554.638 536379.051 0, 1856853.079 536429.254 0, 1857774.713 530951.39 0,
+ 1858696.276 525473.946 0))
+
+POLYGON ((1831625.45 509739.641 0, 1831325.45 509690.918 0, 1831024.121 509641.997 0, 1830722.79 509593.093 0, 1830421.455 509544.207 0, 1830120.117 509495.339 0, 1829818.777 509446.489 0, 1829517.434 509397.656 0, 1829216.087 509348.841 0, 1828914.738 509300.044 0,
+ 1828613.386 509251.265 0, 1828312.032 509202.503 0, 1828010.674 509153.759 0, 1827709.313 509105.033 0, 1827407.95 509056.324 0, 1827106.584 509007.634 0, 1826805.215 508958.961 0, 1826503.843 508910.305 0, 1826202.468 508861.668 0, 1825901.09 508813.048 0,
+ 1825599.709 508764.446 0, 1825298.326 508715.862 0, 1824996.94 508667.295 0, 1824695.55 508618.746 0, 1824392.831 508570.002 0, 1824092.764 508521.702 0, 1823791.366 508473.207 0, 1823489.965 508424.729 0, 1823188.562 508376.269 0, 1822887.156 508327.826 0,
+ 1822585.746 508279.402 0, 1822284.334 508230.995 0, 1821982.92 508182.605 0, 1821681.502 508134.234 0, 1821380.081 508085.88 0, 1821078.658 508037.544 0, 1820777.232 507989.226 0, 1820475.803 507940.926 0, 1820174.371 507892.643 0, 1819872.936 507844.378 0,
+ 1819571.498 507796.131 0, 1819270.058 507747.901 0, 1818968.615 507699.69 0, 1818667.169 507651.496 0, 1818365.72 507603.319 0, 1818064.268 507555.161 0, 1817762.813 507507.02 0, 1817461.356 507458.897 0, 1817158.567 507410.58 0, 1816283.596 512894.786 0,
+ 1815408.557 518379.42 0, 1815710.698 518427.633 0, 1816011.509 518475.653 0, 1816312.318 518523.691 0, 1816613.125 518571.746 0, 1816913.928 518619.82 0, 1817214.729 518667.91 0, 1817515.526 518716.019 0, 1817816.321 518764.145 0, 1818117.113 518812.289 0,
+ 1818417.902 518860.45 0, 1818718.689 518908.63 0, 1819019.472 518956.827 0, 1819320.253 519005.041 0, 1819621.031 519053.274 0, 1819921.806 519101.524 0, 1820222.578 519149.792 0, 1820523.347 519198.077 0, 1820824.114 519246.381 0, 1821124.878 519294.702 0,
+ 1821425.638 519343.04 0, 1821726.396 519391.396 0, 1822027.151 519439.771 0, 1822327.904 519488.162 0, 1822627.328 519536.358 0, 1822929.4 519584.999 0, 1823230.143 519633.444 0, 1823530.884 519681.906 0, 1823831.622 519730.386 0, 1824132.357 519778.884 0,
+ 1824433.09 519827.4 0, 1824733.819 519875.933 0, 1825034.546 519924.484 0, 1825335.269 519973.053 0, 1825635.99 520021.64 0, 1825936.708 520070.244 0, 1826237.424 520118.866 0, 1826538.136 520167.505 0, 1826838.845 520216.162 0, 1827139.552 520264.837 0,
+ 1827440.255 520313.53 0, 1827740.956 520362.24 0, 1828041.654 520410.968 0, 1828342.349 520459.714 0, 1828643.042 520508.477 0, 1828943.731 520557.259 0, 1829244.417 520606.057 0, 1829545.101 520654.874 0, 1829844.459 520703.493 0, 1830734.989 515221.354 0,
+ 1831625.45 509739.641 0))
+
+POLYGON ((1844273.737 523068.342 0, 1843974.516 523018.877 0, 1843673.971 522969.211 0, 1843373.424 522919.563 0, 1843072.873 522869.932 0, 1842772.32 522820.319 0, 1842471.764 522770.724 0, 1842171.205 522721.147 0, 1841870.643 522671.587 0, 1841570.078 522622.045 0,
+ 1841269.51 522572.521 0, 1840968.939 522523.014 0, 1840668.366 522473.525 0, 1840367.789 522424.054 0, 1840067.209 522374.601 0, 1839766.627 522325.165 0, 1839466.042 522275.747 0, 1839165.454 522226.346 0, 1838864.862 522176.963 0, 1838564.268 522127.598 0,
+ 1838263.671 522078.251 0, 1837963.072 522028.921 0, 1837662.469 521979.609 0, 1837361.863 521930.315 0, 1837059.933 521880.822 0, 1836760.643 521831.78 0, 1836460.029 521782.538 0, 1836159.412 521733.315 0, 1835858.791 521684.109 0, 1835558.168 521634.921 0,
+ 1835257.542 521585.75 0, 1834956.914 521536.598 0, 1834656.282 521487.463 0, 1834355.647 521438.345 0, 1834055.01 521389.246 0, 1833754.369 521340.164 0, 1833453.726 521291.099 0, 1833153.08 521242.053 0, 1832852.431 521193.024 0, 1832551.779 521144.013 0,
+ 1832251.124 521095.019 0, 1831950.466 521046.043 0, 1831649.806 520997.085 0, 1831349.142 520948.145 0, 1831048.476 520899.222 0, 1830747.807 520850.317 0, 1830447.135 520801.43 0, 1830146.46 520752.56 0, 1829844.459 520703.493 0, 1828953.859 526186.057 0,
+ 1828063.191 531669.041 0, 1828364.544 531718.003 0, 1828664.574 531766.768 0, 1828964.6 531815.55 0, 1829264.624 531864.35 0, 1829564.645 531913.168 0, 1829864.663 531962.003 0, 1830164.679 532010.856 0, 1830464.691 532059.727 0, 1830764.7 532108.615 0,
+ 1831064.707 532157.521 0, 1831364.711 532206.445 0, 1831664.711 532255.386 0, 1831964.709 532304.345 0, 1832264.705 532353.322 0, 1832564.697 532402.316 0, 1832864.686 532451.328 0, 1833164.672 532500.357 0, 1833464.656 532549.405 0, 1833764.637 532598.47 0,
+ 1834064.614 532647.552 0, 1834364.589 532696.652 0, 1834664.561 532745.77 0, 1834964.53 532794.906 0, 1835263.178 532843.843 0, 1835564.46 532893.23 0, 1835864.42 532942.418 0, 1836164.378 532991.624 0, 1836464.332 533040.848 0, 1836764.284 533090.09 0,
+ 1837064.233 533139.349 0, 1837364.179 533188.625 0, 1837664.122 533237.92 0, 1837964.062 533287.232 0, 1838263.999 533336.562 0, 1838563.933 533385.909 0, 1838863.865 533435.274 0, 1839163.793 533484.657 0, 1839463.719 533534.057 0, 1839763.641 533583.475 0,
+ 1840063.561 533632.911 0, 1840363.478 533682.364 0, 1840663.392 533731.835 0, 1840963.303 533781.324 0, 1841263.211 533830.83 0, 1841563.116 533880.354 0, 1841863.019 533929.895 0, 1842162.918 533979.455 0, 1842461.497 534028.814 0, 1843367.652 528548.367 0,
+ 1844273.737 523068.342 0))
+
+POLYGON ((1856853.079 536429.254 0, 1856554.638 536379.051 0, 1856254.88 536328.645 0, 1855955.119 536278.257 0, 1855655.354 536227.886 0, 1855355.587 536177.532 0, 1855055.817 536127.197 0, 1854756.044 536076.878 0, 1854456.268 536026.578 0, 1854156.49 535976.295 0,
+ 1853856.708 535926.03 0, 1853556.923 535875.783 0, 1853257.135 535825.553 0, 1852957.344 535775.341 0, 1852657.551 535725.146 0, 1852357.754 535674.969 0, 1852057.954 535624.81 0, 1851758.152 535574.668 0, 1851458.346 535524.544 0, 1851158.538 535474.438 0,
+ 1850858.727 535424.349 0, 1850558.912 535374.278 0, 1850259.095 535324.225 0, 1849959.275 535274.189 0, 1849658.136 535223.952 0, 1849359.625 535174.171 0, 1849059.796 535124.188 0, 1848759.964 535074.223 0, 1848460.129 535024.275 0, 1848160.291 534974.345 0,
+ 1847860.451 534924.433 0, 1847560.607 534874.539 0, 1847260.76 534824.662 0, 1846960.911 534774.802 0, 1846661.058 534724.961 0, 1846361.202 534675.137 0, 1846061.344 534625.33 0, 1845761.483 534575.542 0, 1845461.618 534525.771 0, 1845161.751 534476.017 0,
+ 1844861.881 534426.282 0, 1844562.008 534376.564 0, 1844262.132 534326.863 0, 1843962.253 534277.18 0, 1843662.371 534227.515 0, 1843362.486 534177.868 0, 1843062.599 534128.238 0, 1842762.708 534078.626 0, 1842461.497 534028.814 0, 1841555.273 539509.678 0,
+ 1840648.981 544990.957 0, 1840949.544 545040.662 0, 1841248.789 545090.168 0, 1841548.032 545139.691 0, 1841847.271 545189.231 0, 1842146.508 545238.79 0, 1842445.742 545288.366 0, 1842744.973 545337.959 0, 1843044.2 545387.57 0, 1843343.425 545437.199 0,
+ 1843642.647 545486.845 0, 1843941.867 545536.509 0, 1844241.083 545586.191 0, 1844540.296 545635.89 0, 1844839.507 545685.607 0, 1845138.714 545735.341 0, 1845437.919 545785.093 0, 1845737.12 545834.863 0, 1846036.319 545884.65 0, 1846335.515 545934.455 0,
+ 1846634.707 545984.277 0, 1846933.897 546034.117 0, 1847233.084 546083.975 0, 1847532.268 546133.85 0, 1847830.136 546183.524 0, 1848130.627 546233.653 0, 1848429.802 546283.581 0, 1848728.975 546333.527 0, 1849028.144 546383.49 0, 1849327.31 546433.471 0,
+ 1849626.474 546483.47 0, 1849925.634 546533.486 0, 1850224.792 546583.52 0, 1850523.946 546633.571 0, 1850823.098 546683.64 0, 1851122.247 546733.727 0, 1851421.393 546783.831 0, 1851720.535 546833.953 0, 1852019.675 546884.092 0, 1852318.812 546934.249 0,
+ 1852617.946 546984.424 0, 1852917.077 547034.616 0, 1853216.205 547084.826 0, 1853515.33 547135.053 0, 1853814.452 547185.298 0, 1854113.571 547235.561 0, 1854412.688 547285.841 0, 1854711.801 547336.139 0, 1855009.599 547386.233 0, 1855931.374 541907.536 0,
+ 1856853.079 536429.254 0))
+
+POLYGON ((1817158.567 507410.58 0, 1816858.432 507362.704 0, 1816556.966 507314.635 0, 1816255.498 507266.583 0, 1815954.026 507218.548 0, 1815652.552 507170.532 0, 1815351.074 507122.533 0, 1815049.594 507074.552 0, 1814748.111 507026.588 0, 1814446.626 506978.643 0,
+ 1814145.137 506930.715 0, 1813843.646 506882.805 0, 1813542.152 506834.913 0, 1813240.655 506787.038 0, 1812939.155 506739.181 0, 1812637.652 506691.342 0, 1812336.147 506643.521 0, 1812034.639 506595.717 0, 1811733.127 506547.931 0, 1811431.614 506500.163 0,
+ 1811130.097 506452.413 0, 1810828.577 506404.68 0, 1810527.055 506356.965 0, 1810225.53 506309.268 0, 1809922.672 506261.378 0, 1809622.471 506213.927 0, 1809320.938 506166.283 0, 1809019.401 506118.657 0, 1808717.862 506071.049 0, 1808416.32 506023.458 0,
+ 1808114.776 505975.885 0, 1807813.228 505928.33 0, 1807511.678 505880.792 0, 1807210.124 505833.273 0, 1806908.569 505785.771 0, 1806607.01 505738.287 0, 1806305.448 505690.82 0, 1806003.884 505643.372 0, 1805702.317 505595.941 0, 1805400.747 505548.528 0,
+ 1805099.174 505501.132 0, 1804797.599 505453.754 0, 1804496.02 505406.395 0, 1804194.439 505359.052 0, 1803892.856 505311.728 0, 1803591.269 505264.421 0, 1803289.68 505217.132 0, 1802988.087 505169.861 0, 1802685.16 505122.399 0, 1801825.687 510609.056 0,
+ 1800966.147 516096.139 0, 1801268.425 516143.5 0, 1801569.371 516190.67 0, 1801870.315 516237.857 0, 1802171.255 516285.063 0, 1802472.193 516332.286 0, 1802773.129 516379.526 0, 1803074.061 516426.785 0, 1803374.991 516474.061 0, 1803675.917 516521.355 0,
+ 1803976.842 516568.667 0, 1804277.763 516615.996 0, 1804578.681 516663.343 0, 1804879.597 516710.708 0, 1805180.51 516758.09 0, 1805481.42 516805.49 0, 1805782.327 516852.908 0, 1806083.232 516900.344 0, 1806384.134 516947.797 0, 1806685.033 516995.268 0,
+ 1806985.929 517042.757 0, 1807286.822 517090.263 0, 1807587.713 517137.788 0, 1807888.601 517185.329 0, 1808188.158 517232.679 0, 1808490.368 517280.466 0, 1808791.247 517328.061 0, 1809092.124 517375.674 0, 1809392.998 517423.304 0, 1809693.869 517470.952 0,
+ 1809994.737 517518.618 0, 1810295.602 517566.302 0, 1810596.465 517614.003 0, 1810897.324 517661.722 0, 1811198.181 517709.459 0, 1811499.035 517757.213 0, 1811799.887 517804.985 0, 1812100.735 517852.775 0, 1812401.581 517900.582 0, 1812702.424 517948.408 0,
+ 1813003.264 517996.251 0, 1813304.101 518044.111 0, 1813604.936 518091.989 0, 1813905.767 518139.885 0, 1814206.596 518187.799 0, 1814507.422 518235.731 0, 1814808.245 518283.68 0, 1815109.065 518331.647 0, 1815408.557 518379.42 0, 1816283.596 512894.786 0,
+ 1817158.567 507410.58 0))
+
+POLYGON ((1829844.459 520703.493 0, 1829545.101 520654.874 0, 1829244.417 520606.057 0, 1828943.731 520557.259 0, 1828643.042 520508.477 0, 1828342.349 520459.714 0, 1828041.654 520410.968 0, 1827740.956 520362.24 0, 1827440.255 520313.53 0, 1827139.552 520264.837 0,
+ 1826838.845 520216.162 0, 1826538.136 520167.505 0, 1826237.424 520118.866 0, 1825936.708 520070.244 0, 1825635.99 520021.64 0, 1825335.269 519973.053 0, 1825034.546 519924.484 0, 1824733.819 519875.933 0, 1824433.09 519827.4 0, 1824132.357 519778.884 0,
+ 1823831.622 519730.386 0, 1823530.884 519681.906 0, 1823230.143 519633.444 0, 1822929.4 519584.999 0, 1822627.328 519536.358 0, 1822327.904 519488.162 0, 1822027.151 519439.771 0, 1821726.396 519391.396 0, 1821425.638 519343.04 0, 1821124.878 519294.702 0,
+ 1820824.114 519246.381 0, 1820523.347 519198.077 0, 1820222.578 519149.792 0, 1819921.806 519101.524 0, 1819621.031 519053.274 0, 1819320.253 519005.041 0, 1819019.472 518956.827 0, 1818718.689 518908.63 0, 1818417.902 518860.45 0, 1818117.113 518812.289 0,
+ 1817816.321 518764.145 0, 1817515.526 518716.019 0, 1817214.729 518667.91 0, 1816913.928 518619.82 0, 1816613.125 518571.746 0, 1816312.318 518523.691 0, 1816011.509 518475.653 0, 1815710.698 518427.633 0, 1815408.557 518379.42 0, 1814533.45 523864.477 0,
+ 1813658.276 529349.956 0, 1813959.769 529398.067 0, 1814259.935 529445.983 0, 1814560.098 529493.918 0, 1814860.259 529541.87 0, 1815160.416 529589.84 0, 1815460.571 529637.828 0, 1815760.723 529685.833 0, 1816060.872 529733.856 0, 1816361.019 529781.896 0,
+ 1816661.162 529829.955 0, 1816961.303 529878.03 0, 1817261.441 529926.124 0, 1817561.576 529974.235 0, 1817861.708 530022.364 0, 1818161.838 530070.511 0, 1818461.964 530118.675 0, 1818762.088 530166.857 0, 1819062.209 530215.056 0, 1819362.327 530263.274 0,
+ 1819662.442 530311.508 0, 1819962.554 530359.761 0, 1820262.664 530408.031 0, 1820562.771 530456.319 0, 1820861.553 530504.412 0, 1821162.976 530552.948 0, 1821463.074 530601.289 0, 1821763.169 530649.647 0, 1822063.262 530698.023 0, 1822363.351 530746.417 0,
+ 1822663.438 530794.829 0, 1822963.522 530843.258 0, 1823263.603 530891.705 0, 1823563.681 530940.169 0, 1823863.757 530988.651 0, 1824163.829 531037.151 0, 1824463.899 531085.669 0, 1824763.966 531134.204 0, 1825064.03 531182.756 0, 1825364.091 531231.327 0,
+ 1825664.149 531279.915 0, 1825964.204 531328.521 0, 1826264.257 531377.144 0, 1826564.306 531425.785 0, 1826864.353 531474.444 0, 1827164.397 531523.121 0, 1827464.438 531571.815 0, 1827764.476 531620.526 0, 1828063.191 531669.041 0, 1828953.859 526186.057 0,
+ 1829844.459 520703.493 0))
+
+POLYGON ((1842461.497 534028.814 0, 1842162.918 533979.455 0, 1841863.019 533929.895 0, 1841563.116 533880.354 0, 1841263.211 533830.83 0, 1840963.303 533781.324 0, 1840663.392 533731.835 0, 1840363.478 533682.364 0, 1840063.561 533632.911 0, 1839763.641 533583.475 0,
+ 1839463.719 533534.057 0, 1839163.793 533484.657 0, 1838863.865 533435.274 0, 1838563.933 533385.909 0, 1838263.999 533336.562 0, 1837964.062 533287.232 0, 1837664.122 533237.92 0, 1837364.179 533188.625 0, 1837064.233 533139.349 0, 1836764.284 533090.09 0,
+ 1836464.332 533040.848 0, 1836164.378 532991.624 0, 1835864.42 532942.418 0, 1835564.46 532893.23 0, 1835263.178 532843.843 0, 1834964.53 532794.906 0, 1834664.561 532745.77 0, 1834364.589 532696.652 0, 1834064.614 532647.552 0, 1833764.637 532598.47 0,
+ 1833464.656 532549.405 0, 1833164.672 532500.357 0, 1832864.686 532451.328 0, 1832564.697 532402.316 0, 1832264.705 532353.322 0, 1831964.709 532304.345 0, 1831664.711 532255.386 0, 1831364.711 532206.445 0, 1831064.707 532157.521 0, 1830764.7 532108.615 0,
+ 1830464.691 532059.727 0, 1830164.679 532010.856 0, 1829864.663 531962.003 0, 1829564.645 531913.168 0, 1829264.624 531864.35 0, 1828964.6 531815.55 0, 1828664.574 531766.768 0, 1828364.544 531718.003 0, 1828063.191 531669.041 0, 1827172.456 537152.444 0,
+ 1826281.652 542636.262 0, 1826582.357 542685.118 0, 1826881.741 542733.778 0, 1827181.122 542782.455 0, 1827480.5 542831.15 0, 1827779.876 542879.863 0, 1828079.249 542928.593 0, 1828378.618 542977.341 0, 1828677.985 543026.107 0, 1828977.349 543074.89 0,
+ 1829276.71 543123.691 0, 1829576.069 543172.509 0, 1829875.424 543221.345 0, 1830174.777 543270.199 0, 1830474.126 543319.07 0, 1830773.473 543367.959 0, 1831072.817 543416.865 0, 1831372.158 543465.789 0, 1831671.496 543514.731 0, 1831970.831 543563.69 0,
+ 1832270.164 543612.667 0, 1832569.493 543661.662 0, 1832868.82 543710.674 0, 1833168.143 543759.704 0, 1833466.148 543808.536 0, 1833766.782 543857.816 0, 1834066.097 543906.899 0, 1834365.409 543955.999 0, 1834664.719 544005.117 0, 1834964.025 544054.253 0,
+ 1835263.328 544103.406 0, 1835562.629 544152.577 0, 1835861.927 544201.765 0, 1836161.222 544250.971 0, 1836460.513 544300.195 0, 1836759.802 544349.436 0, 1837059.089 544398.695 0, 1837358.372 544447.971 0, 1837657.652 544497.265 0, 1837956.93 544546.577 0,
+ 1838256.204 544595.906 0, 1838555.476 544645.253 0, 1838854.744 544694.618 0, 1839154.01 544744 0, 1839453.273 544793.399 0, 1839752.533 544842.817 0, 1840051.79 544892.252 0, 1840351.044 544941.704 0, 1840648.981 544990.957 0, 1841555.273 539509.678 0,
+ 1842461.497 534028.814 0))
+
+POLYGON ((1802685.16 505122.399 0, 1802384.895 505075.372 0, 1802083.294 505028.154 0, 1801781.691 504980.954 0, 1801480.085 504933.772 0, 1801178.476 504886.607 0, 1800876.864 504839.46 0, 1800575.25 504792.331 0, 1800273.632 504745.22 0, 1799972.012 504698.126 0,
+ 1799670.39 504651.05 0, 1799368.764 504603.992 0, 1799067.136 504556.952 0, 1798765.505 504509.929 0, 1798463.871 504462.924 0, 1798162.235 504415.937 0, 1797860.595 504368.968 0, 1797558.953 504322.016 0, 1797257.308 504275.082 0, 1796955.661 504228.166 0,
+ 1796654.01 504181.268 0, 1796352.357 504134.387 0, 1796050.701 504087.524 0, 1795749.042 504040.679 0, 1795446.048 503993.645 0, 1795145.717 503947.042 0, 1794844.05 503900.25 0, 1794542.38 503853.476 0, 1794240.708 503806.72 0, 1793939.033 503759.982 0,
+ 1793637.355 503713.261 0, 1793335.674 503666.558 0, 1793033.99 503619.872 0, 1792732.304 503573.205 0, 1792430.615 503526.555 0, 1792128.924 503479.923 0, 1791827.229 503433.309 0, 1791525.532 503386.712 0, 1791223.832 503340.134 0, 1790922.129 503293.573 0,
+ 1790620.424 503247.029 0, 1790318.716 503200.504 0, 1790017.005 503153.996 0, 1789715.291 503107.506 0, 1789413.575 503061.034 0, 1789111.856 503014.58 0, 1788810.134 502968.143 0, 1788508.41 502921.724 0, 1788205.348 502875.118 0, 1787361.378 508364.18 0,
+ 1786517.343 513853.67 0, 1786819.756 513900.177 0, 1787120.835 513946.496 0, 1787421.911 513992.834 0, 1787722.983 514039.189 0, 1788024.054 514085.561 0, 1788325.121 514131.952 0, 1788626.186 514178.36 0, 1788927.248 514224.786 0, 1789228.307 514271.229 0,
+ 1789529.364 514317.69 0, 1789830.417 514364.169 0, 1790131.468 514410.666 0, 1790432.517 514457.181 0, 1790733.562 514503.713 0, 1791034.605 514550.263 0, 1791335.645 514596.83 0, 1791636.683 514643.416 0, 1791937.717 514690.019 0, 1792238.749 514736.639 0,
+ 1792539.778 514783.278 0, 1792840.805 514829.934 0, 1793141.828 514876.608 0, 1793442.849 514923.299 0, 1793742.537 514969.802 0, 1794044.883 515016.736 0, 1794345.895 515063.481 0, 1794646.905 515110.243 0, 1794947.913 515157.023 0, 1795248.917 515203.821 0,
+ 1795549.919 515250.637 0, 1795850.917 515297.47 0, 1796151.914 515344.321 0, 1796452.907 515391.19 0, 1796753.898 515438.076 0, 1797054.885 515484.981 0, 1797355.87 515531.903 0, 1797656.853 515578.842 0, 1797957.832 515625.8 0, 1798258.809 515672.775 0,
+ 1798559.783 515719.767 0, 1798860.754 515766.778 0, 1799161.723 515813.806 0, 1799462.689 515860.852 0, 1799763.652 515907.916 0, 1800064.612 515954.997 0, 1800365.569 516002.096 0, 1800666.524 516049.213 0, 1800966.147 516096.139 0, 1801825.687 510609.056 0,
+ 1802685.16 505122.399 0))
+
+POLYGON ((1815408.557 518379.42 0, 1815109.065 518331.647 0, 1814808.245 518283.68 0, 1814507.422 518235.731 0, 1814206.596 518187.799 0, 1813905.767 518139.885 0, 1813604.936 518091.989 0, 1813304.101 518044.111 0, 1813003.264 517996.251 0, 1812702.424 517948.408 0,
+ 1812401.581 517900.582 0, 1812100.735 517852.775 0, 1811799.887 517804.985 0, 1811499.035 517757.213 0, 1811198.181 517709.459 0, 1810897.324 517661.722 0, 1810596.465 517614.003 0, 1810295.602 517566.302 0, 1809994.737 517518.618 0, 1809693.869 517470.952 0,
+ 1809392.998 517423.304 0, 1809092.124 517375.674 0, 1808791.247 517328.061 0, 1808490.368 517280.466 0, 1808188.158 517232.679 0, 1807888.601 517185.329 0, 1807587.713 517137.788 0, 1807286.822 517090.263 0, 1806985.929 517042.757 0, 1806685.033 516995.268 0,
+ 1806384.134 516947.797 0, 1806083.232 516900.344 0, 1805782.327 516852.908 0, 1805481.42 516805.49 0, 1805180.51 516758.09 0, 1804879.597 516710.708 0, 1804578.681 516663.343 0, 1804277.763 516615.996 0, 1803976.842 516568.667 0, 1803675.917 516521.355 0,
+ 1803374.991 516474.061 0, 1803074.061 516426.785 0, 1802773.129 516379.526 0, 1802472.193 516332.286 0, 1802171.255 516285.063 0, 1801870.315 516237.857 0, 1801569.371 516190.67 0, 1801268.425 516143.5 0, 1800966.147 516096.139 0, 1800106.54 521583.647 0,
+ 1799246.867 527071.577 0, 1799548.496 527118.836 0, 1799848.796 527165.904 0, 1800149.094 527212.991 0, 1800449.389 527260.095 0, 1800749.681 527307.216 0, 1801049.97 527354.356 0, 1801350.257 527401.513 0, 1801650.54 527448.688 0, 1801950.821 527495.88 0,
+ 1802251.099 527543.09 0, 1802551.375 527590.318 0, 1802851.647 527637.563 0, 1803151.917 527684.826 0, 1803452.184 527732.107 0, 1803752.448 527779.405 0, 1804052.71 527826.722 0, 1804352.968 527874.055 0, 1804653.224 527921.407 0, 1804953.477 527968.776 0,
+ 1805253.728 528016.163 0, 1805553.975 528063.567 0, 1805854.22 528110.989 0, 1806154.462 528158.429 0, 1806453.376 528205.677 0, 1806754.937 528253.362 0, 1807055.171 528300.855 0, 1807355.402 528348.365 0, 1807655.629 528395.893 0, 1807955.855 528443.439 0,
+ 1808256.077 528491.003 0, 1808556.297 528538.584 0, 1808856.513 528586.183 0, 1809156.727 528633.799 0, 1809456.938 528681.433 0, 1809757.147 528729.085 0, 1810057.352 528776.755 0, 1810357.555 528824.442 0, 1810657.755 528872.147 0, 1810957.952 528919.869 0,
+ 1811258.146 528967.61 0, 1811558.338 529015.368 0, 1811858.527 529063.143 0, 1812158.712 529110.936 0, 1812458.895 529158.747 0, 1812759.076 529206.576 0, 1813059.253 529254.422 0, 1813359.428 529302.286 0, 1813658.276 529349.956 0, 1814533.45 523864.477 0,
+ 1815408.557 518379.42 0))
+
+POLYGON ((1828063.191 531669.041 0, 1827764.476 531620.526 0, 1827464.438 531571.815 0, 1827164.397 531523.121 0, 1826864.353 531474.444 0, 1826564.306 531425.785 0, 1826264.257 531377.144 0, 1825964.204 531328.521 0, 1825664.149 531279.915 0, 1825364.091 531231.327 0,
+ 1825064.03 531182.756 0, 1824763.966 531134.204 0, 1824463.899 531085.669 0, 1824163.829 531037.151 0, 1823863.757 530988.651 0, 1823563.681 530940.169 0, 1823263.603 530891.705 0, 1822963.522 530843.258 0, 1822663.438 530794.829 0, 1822363.351 530746.417 0,
+ 1822063.262 530698.023 0, 1821763.169 530649.647 0, 1821463.074 530601.289 0, 1821162.976 530552.948 0, 1820861.553 530504.412 0, 1820562.771 530456.319 0, 1820262.664 530408.031 0, 1819962.554 530359.761 0, 1819662.442 530311.508 0, 1819362.327 530263.274 0,
+ 1819062.209 530215.056 0, 1818762.088 530166.857 0, 1818461.964 530118.675 0, 1818161.838 530070.511 0, 1817861.708 530022.364 0, 1817561.576 529974.235 0, 1817261.441 529926.124 0, 1816961.303 529878.03 0, 1816661.162 529829.955 0, 1816361.019 529781.896 0,
+ 1816060.872 529733.856 0, 1815760.723 529685.833 0, 1815460.571 529637.828 0, 1815160.416 529589.84 0, 1814860.259 529541.87 0, 1814560.098 529493.918 0, 1814259.935 529445.983 0, 1813959.769 529398.067 0, 1813658.276 529349.956 0, 1812783.036 534835.854 0,
+ 1811907.729 540322.166 0, 1812208.572 540370.173 0, 1812508.093 540417.987 0, 1812807.61 540465.818 0, 1813107.125 540513.667 0, 1813406.637 540561.534 0, 1813706.146 540609.418 0, 1814005.652 540657.32 0, 1814305.156 540705.24 0, 1814604.656 540753.177 0,
+ 1814904.154 540801.132 0, 1815203.649 540849.104 0, 1815503.141 540897.094 0, 1815802.631 540945.102 0, 1816102.117 540993.127 0, 1816401.601 541041.17 0, 1816701.082 541089.231 0, 1817000.56 541137.309 0, 1817300.035 541185.405 0, 1817599.507 541233.518 0,
+ 1817898.977 541281.65 0, 1818198.444 541329.798 0, 1818497.908 541377.965 0, 1818797.369 541426.149 0, 1819095.508 541474.138 0, 1819396.282 541522.569 0, 1819695.735 541570.806 0, 1819995.184 541619.061 0, 1820294.631 541667.333 0, 1820594.075 541715.623 0,
+ 1820893.516 541763.93 0, 1821192.955 541812.255 0, 1821492.39 541860.598 0, 1821791.823 541908.958 0, 1822091.253 541957.336 0, 1822390.679 542005.731 0, 1822690.104 542054.144 0, 1822989.525 542102.575 0, 1823288.943 542151.023 0, 1823588.359 542199.489 0,
+ 1823887.771 542247.973 0, 1824187.181 542296.474 0, 1824486.588 542344.993 0, 1824785.992 542393.529 0, 1825085.393 542442.083 0, 1825384.792 542490.655 0, 1825684.187 542539.244 0, 1825983.58 542587.851 0, 1826281.652 542636.262 0, 1827172.456 537152.444 0,
+ 1828063.191 531669.041 0))
+
+POLYGON ((1840648.981 544990.957 0, 1840351.044 544941.704 0, 1840051.79 544892.252 0, 1839752.533 544842.817 0, 1839453.273 544793.399 0, 1839154.01 544744 0, 1838854.744 544694.618 0, 1838555.476 544645.253 0, 1838256.204 544595.906 0, 1837956.93 544546.577 0,
+ 1837657.652 544497.265 0, 1837358.372 544447.971 0, 1837059.089 544398.695 0, 1836759.802 544349.436 0, 1836460.513 544300.195 0, 1836161.222 544250.971 0, 1835861.927 544201.765 0, 1835562.629 544152.577 0, 1835263.328 544103.406 0, 1834964.025 544054.253 0,
+ 1834664.719 544005.117 0, 1834365.409 543955.999 0, 1834066.097 543906.899 0, 1833766.782 543857.816 0, 1833466.148 543808.536 0, 1833168.143 543759.704 0, 1832868.82 543710.674 0, 1832569.493 543661.662 0, 1832270.164 543612.667 0, 1831970.831 543563.69 0,
+ 1831671.496 543514.731 0, 1831372.158 543465.789 0, 1831072.817 543416.865 0, 1830773.473 543367.959 0, 1830474.126 543319.07 0, 1830174.777 543270.199 0, 1829875.424 543221.345 0, 1829576.069 543172.509 0, 1829276.71 543123.691 0, 1828977.349 543074.89 0,
+ 1828677.985 543026.107 0, 1828378.618 542977.341 0, 1828079.249 542928.593 0, 1827779.876 542879.863 0, 1827480.5 542831.15 0, 1827181.122 542782.455 0, 1826881.741 542733.778 0, 1826582.357 542685.118 0, 1826281.652 542636.262 0, 1825390.782 548120.492 0,
+ 1824499.846 553605.131 0, 1824799.902 553653.882 0, 1825098.64 553702.437 0, 1825397.376 553751.009 0, 1825696.108 553799.599 0, 1825994.838 553848.207 0, 1826293.565 553896.832 0, 1826592.29 553945.475 0, 1826891.011 553994.135 0, 1827189.729 554042.813 0,
+ 1827488.445 554091.509 0, 1827787.158 554140.222 0, 1828085.868 554188.953 0, 1828384.575 554237.701 0, 1828683.279 554286.467 0, 1828981.98 554335.25 0, 1829280.678 554384.051 0, 1829579.374 554432.87 0, 1829878.066 554481.706 0, 1830176.756 554530.56 0,
+ 1830475.443 554579.431 0, 1830774.127 554628.32 0, 1831072.808 554677.226 0, 1831371.486 554726.151 0, 1831668.849 554774.877 0, 1831968.834 554824.051 0, 1832267.504 554873.028 0, 1832566.171 554922.023 0, 1832864.834 554971.035 0, 1833163.495 555020.064 0,
+ 1833462.153 555069.111 0, 1833760.809 555118.176 0, 1834059.461 555167.258 0, 1834358.11 555216.358 0, 1834656.757 555265.476 0, 1834955.4 555314.611 0, 1835254.041 555363.763 0, 1835552.679 555412.933 0, 1835851.314 555462.121 0, 1836149.946 555511.327 0,
+ 1836448.575 555560.549 0, 1836747.201 555609.79 0, 1837045.825 555659.048 0, 1837344.445 555708.324 0, 1837643.063 555757.617 0, 1837941.677 555806.928 0, 1838240.289 555856.256 0, 1838538.898 555905.602 0, 1838836.192 555954.749 0, 1839742.62 550472.648 0,
+ 1840648.981 544990.957 0))
+
+POLYGON ((1788205.348 502875.118 0, 1787904.952 502828.939 0, 1787603.22 502782.574 0, 1787301.484 502736.226 0, 1786999.746 502689.896 0, 1786698.005 502643.583 0, 1786396.261 502597.289 0, 1786094.515 502551.012 0, 1785792.766 502504.753 0, 1785491.014 502458.512 0,
+ 1785189.26 502412.288 0, 1784887.502 502366.082 0, 1784585.742 502319.894 0, 1784283.98 502273.724 0, 1783982.214 502227.571 0, 1783680.446 502181.437 0, 1783378.675 502135.32 0, 1783076.902 502089.22 0, 1782775.125 502043.139 0, 1782473.347 501997.075 0,
+ 1782171.565 501951.029 0, 1781869.78 501905.001 0, 1781567.993 501858.991 0, 1781266.204 501812.998 0, 1780963.075 501766.82 0, 1780662.616 501721.066 0, 1780360.818 501675.127 0, 1780059.017 501629.205 0, 1779757.214 501583.301 0, 1779455.408 501537.415 0,
+ 1779153.599 501491.547 0, 1778851.788 501445.696 0, 1778549.974 501399.863 0, 1778248.157 501354.048 0, 1777946.337 501308.251 0, 1777644.515 501262.472 0, 1777342.69 501216.71 0, 1777040.862 501170.966 0, 1776739.032 501125.24 0, 1776437.199 501079.531 0,
+ 1776135.363 501033.841 0, 1775833.525 500988.168 0, 1775531.684 500942.513 0, 1775229.84 500896.875 0, 1774927.994 500851.256 0, 1774626.145 500805.654 0, 1774324.293 500760.07 0, 1774022.438 500714.504 0, 1773719.244 500668.753 0, 1772890.785 506160.178 0,
+ 1772062.263 511652.031 0, 1772364.808 511697.683 0, 1772666.016 511743.152 0, 1772967.221 511788.639 0, 1773268.424 511834.143 0, 1773569.624 511879.665 0, 1773870.821 511925.204 0, 1774172.016 511970.762 0, 1774473.208 512016.337 0, 1774774.397 512061.93 0,
+ 1775075.584 512107.54 0, 1775376.768 512153.168 0, 1775677.949 512198.814 0, 1775979.128 512244.478 0, 1776280.303 512290.16 0, 1776581.477 512335.859 0, 1776882.647 512381.576 0, 1777183.815 512427.31 0, 1777484.98 512473.063 0, 1777786.142 512518.833 0,
+ 1778087.302 512564.621 0, 1778388.459 512610.426 0, 1778689.613 512656.249 0, 1778990.765 512702.09 0, 1779290.581 512747.746 0, 1779593.06 512793.825 0, 1779894.204 512839.72 0, 1780195.344 512885.631 0, 1780496.482 512931.561 0, 1780797.618 512977.508 0,
+ 1781098.751 513023.473 0, 1781399.881 513069.456 0, 1781701.008 513115.457 0, 1782002.132 513161.475 0, 1782303.254 513207.511 0, 1782604.373 513253.565 0, 1782905.49 513299.636 0, 1783206.604 513345.725 0, 1783507.715 513391.832 0, 1783808.823 513437.957 0,
+ 1784109.929 513484.099 0, 1784411.031 513530.259 0, 1784712.132 513576.437 0, 1785013.229 513622.632 0, 1785314.324 513668.845 0, 1785615.416 513715.076 0, 1785916.505 513761.325 0, 1786217.592 513807.591 0, 1786517.343 513853.67 0, 1787361.378 508364.18 0,
+ 1788205.348 502875.118 0))
+
+POLYGON ((1800966.147 516096.139 0, 1800666.524 516049.213 0, 1800365.569 516002.096 0, 1800064.612 515954.997 0, 1799763.652 515907.916 0, 1799462.689 515860.852 0, 1799161.723 515813.806 0, 1798860.754 515766.778 0, 1798559.783 515719.767 0, 1798258.809 515672.775 0,
+ 1797957.832 515625.8 0, 1797656.853 515578.842 0, 1797355.87 515531.903 0, 1797054.885 515484.981 0, 1796753.898 515438.076 0, 1796452.907 515391.19 0, 1796151.914 515344.321 0, 1795850.917 515297.47 0, 1795549.919 515250.637 0, 1795248.917 515203.821 0,
+ 1794947.913 515157.023 0, 1794646.905 515110.243 0, 1794345.895 515063.481 0, 1794044.883 515016.736 0, 1793742.537 514969.802 0, 1793442.849 514923.299 0, 1793141.828 514876.608 0, 1792840.805 514829.934 0, 1792539.778 514783.278 0, 1792238.749 514736.639 0,
+ 1791937.717 514690.019 0, 1791636.683 514643.416 0, 1791335.645 514596.83 0, 1791034.605 514550.263 0, 1790733.562 514503.713 0, 1790432.517 514457.181 0, 1790131.468 514410.666 0, 1789830.417 514364.169 0, 1789529.364 514317.69 0, 1789228.307 514271.229 0,
+ 1788927.248 514224.786 0, 1788626.186 514178.36 0, 1788325.121 514131.952 0, 1788024.054 514085.561 0, 1787722.983 514039.189 0, 1787421.911 513992.834 0, 1787120.835 513946.496 0, 1786819.756 513900.177 0, 1786517.343 513853.67 0, 1785673.243 519343.585 0,
+ 1784829.078 524833.922 0, 1785130.842 524880.328 0, 1785431.274 524926.548 0, 1785731.704 524972.786 0, 1786032.13 525019.042 0, 1786332.554 525065.315 0, 1786632.975 525111.606 0, 1786933.394 525157.914 0, 1787233.81 525204.24 0, 1787534.223 525250.584 0,
+ 1787834.633 525296.946 0, 1788135.041 525343.325 0, 1788435.445 525389.722 0, 1788735.848 525436.136 0, 1789036.247 525482.569 0, 1789336.644 525529.019 0, 1789637.038 525575.486 0, 1789937.429 525621.972 0, 1790237.817 525668.475 0, 1790538.203 525714.995 0,
+ 1790838.586 525761.534 0, 1791138.966 525808.09 0, 1791439.344 525854.663 0, 1791739.718 525901.255 0, 1792038.763 525947.658 0, 1792340.46 525994.49 0, 1792640.826 526041.135 0, 1792941.19 526087.797 0, 1793241.551 526134.477 0, 1793541.909 526181.174 0,
+ 1793842.265 526227.889 0, 1794142.618 526274.622 0, 1794442.968 526321.373 0, 1794743.315 526368.141 0, 1795043.659 526414.927 0, 1795344.001 526461.73 0, 1795644.34 526508.551 0, 1795944.676 526555.39 0, 1796245.01 526602.247 0, 1796545.341 526649.121 0,
+ 1796845.669 526696.013 0, 1797145.994 526742.923 0, 1797446.316 526789.85 0, 1797746.636 526836.795 0, 1798046.953 526883.757 0, 1798347.267 526930.738 0, 1798647.579 526977.736 0, 1798947.887 527024.751 0, 1799246.867 527071.577 0, 1800106.54 521583.647 0,
+ 1800966.147 516096.139 0))
+
+POLYGON ((1813658.276 529349.956 0, 1813359.428 529302.286 0, 1813059.253 529254.422 0, 1812759.076 529206.576 0, 1812458.895 529158.747 0, 1812158.712 529110.936 0, 1811858.527 529063.143 0, 1811558.338 529015.368 0, 1811258.146 528967.61 0, 1810957.952 528919.869 0,
+ 1810657.755 528872.147 0, 1810357.555 528824.442 0, 1810057.352 528776.755 0, 1809757.147 528729.085 0, 1809456.938 528681.433 0, 1809156.727 528633.799 0, 1808856.513 528586.183 0, 1808556.297 528538.584 0, 1808256.077 528491.003 0, 1807955.855 528443.439 0,
+ 1807655.629 528395.893 0, 1807355.402 528348.365 0, 1807055.171 528300.855 0, 1806754.937 528253.362 0, 1806453.376 528205.677 0, 1806154.462 528158.429 0, 1805854.22 528110.989 0, 1805553.975 528063.567 0, 1805253.728 528016.163 0, 1804953.477 527968.776 0,
+ 1804653.224 527921.407 0, 1804352.968 527874.055 0, 1804052.71 527826.722 0, 1803752.448 527779.405 0, 1803452.184 527732.107 0, 1803151.917 527684.826 0, 1802851.647 527637.563 0, 1802551.375 527590.318 0, 1802251.099 527543.09 0, 1801950.821 527495.88 0,
+ 1801650.54 527448.688 0, 1801350.257 527401.513 0, 1801049.97 527354.356 0, 1800749.681 527307.216 0, 1800449.389 527260.095 0, 1800149.094 527212.991 0, 1799848.796 527165.904 0, 1799548.496 527118.836 0, 1799246.867 527071.577 0, 1798387.128 532559.925 0,
+ 1797527.325 538048.689 0, 1797828.305 538095.846 0, 1798127.959 538142.813 0, 1798427.611 538189.798 0, 1798727.26 538236.801 0, 1799026.906 538283.821 0, 1799326.549 538330.859 0, 1799626.189 538377.915 0, 1799925.827 538424.988 0, 1800225.462 538472.079 0,
+ 1800525.094 538519.187 0, 1800824.723 538566.313 0, 1801124.35 538613.457 0, 1801423.973 538660.619 0, 1801723.594 538707.798 0, 1802023.213 538754.994 0, 1802322.828 538802.209 0, 1802622.441 538849.441 0, 1802922.051 538896.69 0, 1803221.658 538943.957 0,
+ 1803521.262 538991.242 0, 1803820.864 539038.545 0, 1804120.462 539085.865 0, 1804420.058 539133.203 0, 1804718.33 539180.349 0, 1805019.242 539227.931 0, 1805318.83 539275.322 0, 1805618.414 539322.73 0, 1805917.996 539370.156 0, 1806217.576 539417.599 0,
+ 1806517.152 539465.061 0, 1806816.726 539512.539 0, 1807116.297 539560.036 0, 1807415.865 539607.55 0, 1807715.43 539655.082 0, 1808014.992 539702.631 0, 1808314.552 539750.198 0, 1808614.109 539797.783 0, 1808913.663 539845.385 0, 1809213.214 539893.005 0,
+ 1809512.763 539940.642 0, 1809812.308 539988.297 0, 1810111.851 540035.97 0, 1810411.391 540083.66 0, 1810710.928 540131.368 0, 1811010.463 540179.094 0, 1811309.994 540226.837 0, 1811609.523 540274.598 0, 1811907.729 540322.166 0, 1812783.036 534835.854 0,
+ 1813658.276 529349.956 0))
+
+POLYGON ((1826281.652 542636.262 0, 1825983.58 542587.851 0, 1825684.187 542539.244 0, 1825384.792 542490.655 0, 1825085.393 542442.083 0, 1824785.992 542393.529 0, 1824486.588 542344.993 0, 1824187.181 542296.474 0, 1823887.771 542247.973 0, 1823588.359 542199.489 0,
+ 1823288.943 542151.023 0, 1822989.525 542102.575 0, 1822690.104 542054.144 0, 1822390.679 542005.731 0, 1822091.253 541957.336 0, 1821791.823 541908.958 0, 1821492.39 541860.598 0, 1821192.955 541812.255 0, 1820893.516 541763.93 0, 1820594.075 541715.623 0,
+ 1820294.631 541667.333 0, 1819995.184 541619.061 0, 1819695.735 541570.806 0, 1819396.282 541522.569 0, 1819095.508 541474.138 0, 1818797.369 541426.149 0, 1818497.908 541377.965 0, 1818198.444 541329.798 0, 1817898.977 541281.65 0, 1817599.507 541233.518 0,
+ 1817300.035 541185.405 0, 1817000.56 541137.309 0, 1816701.082 541089.231 0, 1816401.601 541041.17 0, 1816102.117 540993.127 0, 1815802.631 540945.102 0, 1815503.141 540897.094 0, 1815203.649 540849.104 0, 1814904.154 540801.132 0, 1814604.656 540753.177 0,
+ 1814305.156 540705.24 0, 1814005.652 540657.32 0, 1813706.146 540609.418 0, 1813406.637 540561.534 0, 1813107.125 540513.667 0, 1812807.61 540465.818 0, 1812508.093 540417.987 0, 1812208.572 540370.173 0, 1811907.729 540322.166 0, 1811032.356 545808.891 0,
+ 1810156.918 551296.026 0, 1810457.113 551343.929 0, 1810755.988 551391.64 0, 1811054.859 551439.368 0, 1811353.728 551487.114 0, 1811652.594 551534.877 0, 1811951.457 551582.658 0, 1812250.318 551630.457 0, 1812549.175 551678.273 0, 1812848.03 551726.107 0,
+ 1813146.882 551773.958 0, 1813445.731 551821.827 0, 1813744.578 551869.714 0, 1814043.421 551917.618 0, 1814342.262 551965.54 0, 1814641.1 552013.479 0, 1814939.935 552061.436 0, 1815238.767 552109.411 0, 1815537.596 552157.403 0, 1815836.423 552205.413 0,
+ 1816135.247 552253.44 0, 1816434.068 552301.485 0, 1816732.886 552349.547 0, 1817031.701 552397.627 0, 1817329.197 552445.513 0, 1817629.323 552493.84 0, 1817928.13 552541.973 0, 1818226.934 552590.123 0, 1818525.735 552638.291 0, 1818824.533 552686.477 0,
+ 1819123.329 552734.68 0, 1819422.121 552782.901 0, 1819720.911 552831.139 0, 1820019.698 552879.395 0, 1820318.482 552927.669 0, 1820617.263 552975.96 0, 1820916.042 553024.269 0, 1821214.817 553072.595 0, 1821513.59 553120.939 0, 1821812.36 553169.3 0,
+ 1822111.127 553217.679 0, 1822409.891 553266.076 0, 1822708.652 553314.49 0, 1823007.411 553362.922 0, 1823306.166 553411.371 0, 1823604.919 553459.838 0, 1823903.669 553508.323 0, 1824202.416 553556.825 0, 1824499.846 553605.131 0, 1825390.782 548120.492 0,
+ 1826281.652 542636.262 0))
+
+POLYGON ((1838836.192 555954.749 0, 1838538.898 555905.602 0, 1838240.289 555856.256 0, 1837941.677 555806.928 0, 1837643.063 555757.617 0, 1837344.445 555708.324 0, 1837045.825 555659.048 0, 1836747.201 555609.79 0, 1836448.575 555560.549 0, 1836149.946 555511.327 0,
+ 1835851.314 555462.121 0, 1835552.679 555412.933 0, 1835254.041 555363.763 0, 1834955.4 555314.611 0, 1834656.757 555265.476 0, 1834358.11 555216.358 0, 1834059.461 555167.258 0, 1833760.809 555118.176 0, 1833462.153 555069.111 0, 1833163.495 555020.064 0,
+ 1832864.834 554971.035 0, 1832566.171 554922.023 0, 1832267.504 554873.028 0, 1831968.834 554824.051 0, 1831668.849 554774.877 0, 1831371.486 554726.151 0, 1831072.808 554677.226 0, 1830774.127 554628.32 0, 1830475.443 554579.431 0, 1830176.756 554530.56 0,
+ 1829878.066 554481.706 0, 1829579.374 554432.87 0, 1829280.678 554384.051 0, 1828981.98 554335.25 0, 1828683.279 554286.467 0, 1828384.575 554237.701 0, 1828085.868 554188.953 0, 1827787.158 554140.222 0, 1827488.445 554091.509 0, 1827189.729 554042.813 0,
+ 1826891.011 553994.135 0, 1826592.29 553945.475 0, 1826293.565 553896.832 0, 1825994.838 553848.207 0, 1825696.108 553799.599 0, 1825397.376 553751.009 0, 1825098.64 553702.437 0, 1824799.902 553653.882 0, 1824499.846 553605.131 0, 1823608.843 559090.176 0,
+ 1822717.775 564575.625 0, 1823017.182 564624.27 0, 1823315.275 564672.72 0, 1823613.365 564721.188 0, 1823911.452 564769.673 0, 1824209.536 564818.175 0, 1824507.618 564866.695 0, 1824805.696 564915.233 0, 1825103.772 564963.788 0, 1825401.845 565012.361 0,
+ 1825699.915 565060.951 0, 1825997.982 565109.559 0, 1826296.046 565158.185 0, 1826594.107 565206.827 0, 1826892.166 565255.488 0, 1827190.222 565304.166 0, 1827488.274 565352.861 0, 1827786.324 565401.575 0, 1828084.371 565450.305 0, 1828382.415 565499.053 0,
+ 1828680.457 565547.819 0, 1828978.495 565596.602 0, 1829276.531 565645.403 0, 1829574.563 565694.221 0, 1829871.283 565742.843 0, 1830170.62 565791.911 0, 1830468.644 565840.782 0, 1830766.665 565889.67 0, 1831064.684 565938.576 0, 1831362.699 565987.5 0,
+ 1831660.712 566036.441 0, 1831958.721 566085.4 0, 1832256.728 566134.376 0, 1832554.732 566183.37 0, 1832852.733 566232.381 0, 1833150.731 566281.41 0, 1833448.726 566330.456 0, 1833746.719 566379.52 0, 1834044.708 566428.601 0, 1834342.695 566477.7 0,
+ 1834640.679 566526.817 0, 1834938.659 566575.951 0, 1835236.637 566625.103 0, 1835534.612 566674.272 0, 1835832.584 566723.458 0, 1836130.554 566772.663 0, 1836428.52 566821.884 0, 1836726.483 566871.124 0, 1837023.135 566920.164 0, 1837929.697 561437.255 0,
+ 1838836.192 555954.749 0))
+
+POLYGON ((1773719.244 500668.753 0, 1773418.721 500623.424 0, 1773116.859 500577.911 0, 1772814.994 500532.416 0, 1772513.126 500486.938 0, 1772211.255 500441.479 0, 1771909.382 500396.037 0, 1771607.506 500350.613 0, 1771305.628 500305.206 0, 1771003.746 500259.818 0,
+ 1770701.862 500214.447 0, 1770399.976 500169.094 0, 1770098.087 500123.758 0, 1769796.195 500078.441 0, 1769494.3 500033.141 0, 1769192.403 499987.859 0, 1768890.503 499942.595 0, 1768588.6 499897.348 0, 1768286.695 499852.12 0, 1767984.787 499806.909 0,
+ 1767682.876 499761.715 0, 1767380.963 499716.54 0, 1767079.047 499671.382 0, 1766777.129 499626.243 0, 1766473.869 499580.92 0, 1766173.284 499536.016 0, 1765871.357 499490.93 0, 1765569.428 499445.861 0, 1765267.496 499400.81 0, 1764965.562 499355.777 0,
+ 1764663.625 499310.761 0, 1764361.685 499265.763 0, 1764059.742 499220.783 0, 1763757.797 499175.821 0, 1763455.85 499130.877 0, 1763153.899 499085.95 0, 1762851.946 499041.041 0, 1762549.991 498996.15 0, 1762248.032 498951.277 0, 1761946.071 498906.422 0,
+ 1761644.108 498861.584 0, 1761342.142 498816.764 0, 1761040.173 498771.962 0, 1760738.201 498727.177 0, 1760436.227 498682.411 0, 1760134.251 498637.662 0, 1759832.271 498592.931 0, 1759530.289 498548.217 0, 1759226.964 498503.323 0, 1758414.023 503997.067 0,
+ 1757601.019 509491.239 0, 1757903.695 509536.036 0, 1758205.03 509580.654 0, 1758506.363 509625.289 0, 1758807.693 509669.942 0, 1759109.02 509714.613 0, 1759410.345 509759.302 0, 1759711.667 509804.008 0, 1760012.987 509848.732 0, 1760314.304 509893.474 0,
+ 1760615.618 509938.233 0, 1760916.93 509983.01 0, 1761218.238 510027.805 0, 1761519.545 510072.618 0, 1761820.849 510117.448 0, 1762122.15 510162.296 0, 1762423.448 510207.162 0, 1762724.744 510252.046 0, 1763026.037 510296.947 0, 1763327.327 510341.866 0,
+ 1763628.615 510386.803 0, 1763929.901 510431.758 0, 1764231.183 510476.73 0, 1764532.463 510521.72 0, 1764832.404 510566.528 0, 1765135.015 510611.753 0, 1765436.287 510656.796 0, 1765737.556 510701.857 0, 1766038.823 510746.936 0, 1766340.087 510792.032 0,
+ 1766641.348 510837.146 0, 1766942.607 510882.278 0, 1767243.863 510927.428 0, 1767545.116 510972.595 0, 1767846.367 511017.78 0, 1768147.615 511062.983 0, 1768448.86 511108.203 0, 1768750.103 511153.442 0, 1769051.343 511198.698 0, 1769352.581 511243.971 0,
+ 1769653.815 511289.263 0, 1769955.048 511334.572 0, 1770256.277 511379.899 0, 1770557.504 511425.243 0, 1770858.728 511470.606 0, 1771159.949 511515.986 0, 1771461.168 511561.384 0, 1771762.384 511606.799 0, 1772062.263 511652.031 0, 1772890.785 506160.178 0,
+ 1773719.244 500668.753 0))
+
+POLYGON ((1786517.343 513853.67 0, 1786217.592 513807.591 0, 1785916.505 513761.325 0, 1785615.416 513715.076 0, 1785314.324 513668.845 0, 1785013.229 513622.632 0, 1784712.132 513576.437 0, 1784411.031 513530.259 0, 1784109.929 513484.099 0, 1783808.823 513437.957 0,
+ 1783507.715 513391.832 0, 1783206.604 513345.725 0, 1782905.49 513299.636 0, 1782604.373 513253.565 0, 1782303.254 513207.511 0, 1782002.132 513161.475 0, 1781701.008 513115.457 0, 1781399.881 513069.456 0, 1781098.751 513023.473 0, 1780797.618 512977.508 0,
+ 1780496.482 512931.561 0, 1780195.344 512885.631 0, 1779894.204 512839.72 0, 1779593.06 512793.825 0, 1779290.581 512747.746 0, 1778990.765 512702.09 0, 1778689.613 512656.249 0, 1778388.459 512610.426 0, 1778087.302 512564.621 0, 1777786.142 512518.833 0,
+ 1777484.98 512473.063 0, 1777183.815 512427.31 0, 1776882.647 512381.576 0, 1776581.477 512335.859 0, 1776280.303 512290.16 0, 1775979.128 512244.478 0, 1775677.949 512198.814 0, 1775376.768 512153.168 0, 1775075.584 512107.54 0, 1774774.397 512061.93 0,
+ 1774473.208 512016.337 0, 1774172.016 511970.762 0, 1773870.821 511925.204 0, 1773569.624 511879.665 0, 1773268.424 511834.143 0, 1772967.221 511788.639 0, 1772666.016 511743.152 0, 1772364.808 511697.683 0, 1772062.263 511652.031 0, 1771233.676 517144.309 0,
+ 1770405.025 522637.008 0, 1770706.921 522682.562 0, 1771007.483 522727.934 0, 1771308.042 522773.322 0, 1771608.598 522818.729 0, 1771909.151 522864.153 0, 1772209.702 522909.595 0, 1772510.25 522955.055 0, 1772810.796 523000.532 0, 1773111.338 523046.027 0,
+ 1773411.878 523091.539 0, 1773712.416 523137.07 0, 1774012.951 523182.618 0, 1774313.483 523228.183 0, 1774614.012 523273.767 0, 1774914.539 523319.368 0, 1775215.063 523364.987 0, 1775515.584 523410.623 0, 1775816.103 523456.277 0, 1776116.619 523501.949 0,
+ 1776417.132 523547.639 0, 1776717.642 523593.346 0, 1777018.15 523639.071 0, 1777318.656 523684.813 0, 1777617.828 523730.371 0, 1777919.658 523776.352 0, 1778220.155 523822.147 0, 1778520.649 523867.961 0, 1778821.141 523913.792 0, 1779121.63 523959.64 0,
+ 1779422.116 524005.507 0, 1779722.6 524051.391 0, 1780023.081 524097.293 0, 1780323.559 524143.212 0, 1780624.035 524189.149 0, 1780924.507 524235.104 0, 1781224.977 524281.076 0, 1781525.445 524327.067 0, 1781825.91 524373.075 0, 1782126.372 524419.1 0,
+ 1782426.831 524465.143 0, 1782727.287 524511.204 0, 1783027.741 524557.283 0, 1783328.192 524603.379 0, 1783628.641 524649.493 0, 1783929.086 524695.625 0, 1784229.529 524741.774 0, 1784529.97 524787.941 0, 1784829.078 524833.922 0, 1785673.243 519343.585 0,
+ 1786517.343 513853.67 0))
+
+POLYGON ((1799246.867 527071.577 0, 1798947.887 527024.751 0, 1798647.579 526977.736 0, 1798347.267 526930.738 0, 1798046.953 526883.757 0, 1797746.636 526836.795 0, 1797446.316 526789.85 0, 1797145.994 526742.923 0, 1796845.669 526696.013 0, 1796545.341 526649.121 0,
+ 1796245.01 526602.247 0, 1795944.676 526555.39 0, 1795644.34 526508.551 0, 1795344.001 526461.73 0, 1795043.659 526414.927 0, 1794743.315 526368.141 0, 1794442.968 526321.373 0, 1794142.618 526274.622 0, 1793842.265 526227.889 0, 1793541.909 526181.174 0,
+ 1793241.551 526134.477 0, 1792941.19 526087.797 0, 1792640.826 526041.135 0, 1792340.46 525994.49 0, 1792038.763 525947.658 0, 1791739.718 525901.255 0, 1791439.344 525854.663 0, 1791138.966 525808.09 0, 1790838.586 525761.534 0, 1790538.203 525714.995 0,
+ 1790237.817 525668.475 0, 1789937.429 525621.972 0, 1789637.038 525575.486 0, 1789336.644 525529.019 0, 1789036.247 525482.569 0, 1788735.848 525436.136 0, 1788435.445 525389.722 0, 1788135.041 525343.325 0, 1787834.633 525296.946 0, 1787534.223 525250.584 0,
+ 1787233.81 525204.24 0, 1786933.394 525157.914 0, 1786632.975 525111.606 0, 1786332.554 525065.315 0, 1786032.13 525019.042 0, 1785731.704 524972.786 0, 1785431.274 524926.548 0, 1785130.842 524880.328 0, 1784829.078 524833.922 0, 1783984.849 530324.677 0,
+ 1783140.555 535815.848 0, 1783441.67 535862.154 0, 1783741.456 535908.275 0, 1784041.239 535954.413 0, 1784341.019 536000.569 0, 1784640.797 536046.743 0, 1784940.572 536092.934 0, 1785240.344 536139.143 0, 1785540.113 536185.37 0, 1785839.88 536231.614 0,
+ 1786139.644 536277.875 0, 1786439.405 536324.155 0, 1786739.164 536370.452 0, 1787038.92 536416.767 0, 1787338.673 536463.099 0, 1787638.423 536509.449 0, 1787938.171 536555.817 0, 1788237.916 536602.202 0, 1788537.658 536648.605 0, 1788837.397 536695.026 0,
+ 1789137.134 536741.464 0, 1789436.868 536787.92 0, 1789736.599 536834.393 0, 1790036.328 536880.884 0, 1790334.729 536927.187 0, 1790635.776 536973.92 0, 1790935.497 537020.464 0, 1791235.214 537067.025 0, 1791534.929 537113.605 0, 1791834.641 537160.202 0,
+ 1792134.351 537206.816 0, 1792434.057 537253.449 0, 1792733.761 537300.098 0, 1793033.462 537346.766 0, 1793333.16 537393.451 0, 1793632.856 537440.154 0, 1793932.549 537486.875 0, 1794232.239 537533.613 0, 1794531.926 537580.368 0, 1794831.611 537627.142 0,
+ 1795131.293 537673.933 0, 1795430.972 537720.741 0, 1795730.648 537767.568 0, 1796030.322 537814.412 0, 1796329.993 537861.273 0, 1796629.661 537908.153 0, 1796929.326 537955.049 0, 1797228.988 538001.964 0, 1797527.325 538048.689 0, 1798387.128 532559.925 0,
+ 1799246.867 527071.577 0))
+
+POLYGON ((1811907.729 540322.166 0, 1811609.523 540274.598 0, 1811309.994 540226.837 0, 1811010.463 540179.094 0, 1810710.928 540131.368 0, 1810411.391 540083.66 0, 1810111.851 540035.97 0, 1809812.308 539988.297 0, 1809512.763 539940.642 0, 1809213.214 539893.005 0,
+ 1808913.663 539845.385 0, 1808614.109 539797.783 0, 1808314.552 539750.198 0, 1808014.992 539702.631 0, 1807715.43 539655.082 0, 1807415.865 539607.55 0, 1807116.297 539560.036 0, 1806816.726 539512.539 0, 1806517.152 539465.061 0, 1806217.576 539417.599 0,
+ 1805917.996 539370.156 0, 1805618.414 539322.73 0, 1805318.83 539275.322 0, 1805019.242 539227.931 0, 1804718.33 539180.349 0, 1804420.058 539133.203 0, 1804120.462 539085.865 0, 1803820.864 539038.545 0, 1803521.262 538991.242 0, 1803221.658 538943.957 0,
+ 1802922.051 538896.69 0, 1802622.441 538849.441 0, 1802322.828 538802.209 0, 1802023.213 538754.994 0, 1801723.594 538707.798 0, 1801423.973 538660.619 0, 1801124.35 538613.457 0, 1800824.723 538566.313 0, 1800525.094 538519.187 0, 1800225.462 538472.079 0,
+ 1799925.827 538424.988 0, 1799626.189 538377.915 0, 1799326.549 538330.859 0, 1799026.906 538283.821 0, 1798727.26 538236.801 0, 1798427.611 538189.798 0, 1798127.959 538142.813 0, 1797828.305 538095.846 0, 1797527.325 538048.689 0, 1796667.457 543537.865 0,
+ 1795807.524 549027.451 0, 1796107.856 549074.506 0, 1796406.864 549121.372 0, 1796705.869 549168.256 0, 1797004.872 549215.157 0, 1797303.871 549262.076 0, 1797602.868 549309.013 0, 1797901.863 549355.967 0, 1798200.854 549402.938 0, 1798499.843 549449.928 0,
+ 1798798.829 549496.935 0, 1799097.812 549543.959 0, 1799396.793 549591.001 0, 1799695.77 549638.061 0, 1799994.745 549685.138 0, 1800293.717 549732.233 0, 1800592.687 549779.346 0, 1800891.653 549826.476 0, 1801190.617 549873.623 0, 1801489.578 549920.789 0,
+ 1801788.536 549967.972 0, 1802087.492 550015.172 0, 1802386.444 550062.39 0, 1802685.394 550109.626 0, 1802983.022 550156.671 0, 1803283.286 550204.15 0, 1803582.227 550251.438 0, 1803881.166 550298.744 0, 1804180.102 550346.068 0, 1804479.035 550393.409 0,
+ 1804777.966 550440.768 0, 1805076.893 550488.145 0, 1805375.818 550535.539 0, 1805674.74 550582.95 0, 1805973.66 550630.379 0, 1806272.576 550677.826 0, 1806571.49 550725.291 0, 1806870.401 550772.773 0, 1807169.309 550820.272 0, 1807468.214 550867.789 0,
+ 1807767.117 550915.324 0, 1808066.016 550962.877 0, 1808364.913 551010.447 0, 1808663.807 551058.034 0, 1808962.699 551105.639 0, 1809261.587 551153.262 0, 1809560.473 551200.902 0, 1809859.356 551248.56 0, 1810156.918 551296.026 0, 1811032.356 545808.891 0,
+ 1811907.729 540322.166 0))
+
+POLYGON ((1824499.846 553605.131 0, 1824202.416 553556.825 0, 1823903.669 553508.323 0, 1823604.919 553459.838 0, 1823306.166 553411.371 0, 1823007.411 553362.922 0, 1822708.652 553314.49 0, 1822409.891 553266.076 0, 1822111.127 553217.679 0, 1821812.36 553169.3 0,
+ 1821513.59 553120.939 0, 1821214.817 553072.595 0, 1820916.042 553024.269 0, 1820617.263 552975.96 0, 1820318.482 552927.669 0, 1820019.698 552879.395 0, 1819720.911 552831.139 0, 1819422.121 552782.901 0, 1819123.329 552734.68 0, 1818824.533 552686.477 0,
+ 1818525.735 552638.291 0, 1818226.934 552590.123 0, 1817928.13 552541.973 0, 1817629.323 552493.84 0, 1817329.197 552445.513 0, 1817031.701 552397.627 0, 1816732.886 552349.547 0, 1816434.068 552301.485 0, 1816135.247 552253.44 0, 1815836.423 552205.413 0,
+ 1815537.596 552157.403 0, 1815238.767 552109.411 0, 1814939.935 552061.436 0, 1814641.1 552013.479 0, 1814342.262 551965.54 0, 1814043.421 551917.618 0, 1813744.578 551869.714 0, 1813445.731 551821.827 0, 1813146.882 551773.958 0, 1812848.03 551726.107 0,
+ 1812549.175 551678.273 0, 1812250.318 551630.457 0, 1811951.457 551582.658 0, 1811652.594 551534.877 0, 1811353.728 551487.114 0, 1811054.859 551439.368 0, 1810755.988 551391.64 0, 1810457.113 551343.929 0, 1810156.918 551296.026 0, 1809281.415 556783.566 0,
+ 1808405.848 562271.51 0, 1808705.394 562319.31 0, 1809003.623 562366.918 0, 1809301.848 562414.543 0, 1809600.071 562462.185 0, 1809898.291 562509.846 0, 1810196.509 562557.523 0, 1810494.723 562605.219 0, 1810792.935 562652.932 0, 1811091.144 562700.662 0,
+ 1811389.35 562748.41 0, 1811687.553 562796.176 0, 1811985.753 562843.959 0, 1812283.951 562891.759 0, 1812582.146 562939.578 0, 1812880.338 562987.413 0, 1813178.527 563035.267 0, 1813476.713 563083.137 0, 1813774.897 563131.026 0, 1814073.077 563178.932 0,
+ 1814371.255 563226.855 0, 1814669.43 563274.796 0, 1814967.603 563322.755 0, 1815265.772 563370.731 0, 1815562.625 563418.513 0, 1815862.102 563466.736 0, 1816160.263 563514.765 0, 1816458.421 563562.811 0, 1816756.577 563610.875 0, 1817054.729 563658.957 0,
+ 1817352.879 563707.055 0, 1817651.026 563755.172 0, 1817949.169 563803.306 0, 1818247.311 563851.458 0, 1818545.449 563899.627 0, 1818843.584 563947.814 0, 1819141.717 563996.018 0, 1819439.847 564044.24 0, 1819737.974 564092.479 0, 1820036.098 564140.736 0,
+ 1820334.219 564189.011 0, 1820632.337 564237.303 0, 1820930.453 564285.612 0, 1821228.566 564333.939 0, 1821526.676 564382.284 0, 1821824.783 564430.646 0, 1822122.887 564479.026 0, 1822420.988 564527.423 0, 1822717.775 564575.625 0, 1823608.843 559090.176 0,
+ 1824499.846 553605.131 0))
+
+POLYGON ((1837023.135 566920.164 0, 1836726.483 566871.124 0, 1836428.52 566821.884 0, 1836130.554 566772.663 0, 1835832.584 566723.458 0, 1835534.612 566674.272 0, 1835236.637 566625.103 0, 1834938.659 566575.951 0, 1834640.679 566526.817 0, 1834342.695 566477.7 0,
+ 1834044.708 566428.601 0, 1833746.719 566379.52 0, 1833448.726 566330.456 0, 1833150.731 566281.41 0, 1832852.733 566232.381 0, 1832554.732 566183.37 0, 1832256.728 566134.376 0, 1831958.721 566085.4 0, 1831660.712 566036.441 0, 1831362.699 565987.5 0,
+ 1831064.684 565938.576 0, 1830766.665 565889.67 0, 1830468.644 565840.782 0, 1830170.62 565791.911 0, 1829871.283 565742.843 0, 1829574.563 565694.221 0, 1829276.531 565645.403 0, 1828978.495 565596.602 0, 1828680.457 565547.819 0, 1828382.415 565499.053 0,
+ 1828084.371 565450.305 0, 1827786.324 565401.575 0, 1827488.274 565352.861 0, 1827190.222 565304.166 0, 1826892.166 565255.488 0, 1826594.107 565206.827 0, 1826296.046 565158.185 0, 1825997.982 565109.559 0, 1825699.915 565060.951 0, 1825401.845 565012.361 0,
+ 1825103.772 564963.788 0, 1824805.696 564915.233 0, 1824507.618 564866.695 0, 1824209.536 564818.175 0, 1823911.452 564769.673 0, 1823613.365 564721.188 0, 1823315.275 564672.72 0, 1823017.182 564624.27 0, 1822717.775 564575.625 0, 1821826.642 570061.474 0,
+ 1820935.444 575547.719 0, 1821234.203 575596.259 0, 1821531.65 575644.604 0, 1821829.094 575692.967 0, 1822126.536 575741.347 0, 1822423.974 575789.744 0, 1822721.41 575838.159 0, 1823018.842 575886.592 0, 1823316.272 575935.042 0, 1823613.699 575983.509 0,
+ 1823911.124 576031.994 0, 1824208.545 576080.497 0, 1824505.963 576129.017 0, 1824803.379 576177.554 0, 1825100.792 576226.109 0, 1825398.202 576274.682 0, 1825695.609 576323.272 0, 1825993.013 576371.88 0, 1826290.414 576420.505 0, 1826587.813 576469.147 0,
+ 1826885.209 576517.807 0, 1827182.601 576566.485 0, 1827479.991 576615.18 0, 1827777.378 576663.893 0, 1828073.455 576712.408 0, 1828372.144 576761.37 0, 1828669.522 576810.135 0, 1828966.898 576858.918 0, 1829264.27 576907.718 0, 1829561.64 576956.536 0,
+ 1829859.007 577005.371 0, 1830156.371 577054.223 0, 1830453.732 577103.093 0, 1830751.091 577151.981 0, 1831048.446 577200.886 0, 1831345.799 577249.809 0, 1831643.148 577298.749 0, 1831940.495 577347.706 0, 1832237.839 577396.682 0, 1832535.18 577445.674 0,
+ 1832832.518 577494.684 0, 1833129.853 577543.712 0, 1833427.186 577592.757 0, 1833724.515 577641.82 0, 1834021.842 577690.9 0, 1834319.165 577739.997 0, 1834616.486 577789.113 0, 1834913.804 577838.245 0, 1835209.813 577887.179 0, 1836116.507 572403.473 0,
+ 1837023.135 566920.164 0))
+
+POLYGON ((1759226.964 498503.323 0, 1758926.317 498458.844 0, 1758624.327 498414.184 0, 1758322.335 498369.542 0, 1758020.34 498324.917 0, 1757718.342 498280.311 0, 1757416.341 498235.722 0, 1757114.338 498191.151 0, 1756812.333 498146.597 0, 1756510.325 498102.062 0,
+ 1756208.314 498057.544 0, 1755906.3 498013.044 0, 1755604.284 497968.561 0, 1755302.265 497924.097 0, 1755000.244 497879.65 0, 1754698.22 497835.221 0, 1754396.193 497790.81 0, 1754094.164 497746.417 0, 1753792.132 497702.041 0, 1753490.098 497657.683 0,
+ 1753188.061 497613.343 0, 1752886.021 497569.021 0, 1752583.979 497524.717 0, 1752281.934 497480.43 0, 1751978.545 497435.964 0, 1751677.836 497391.91 0, 1751375.784 497347.676 0, 1751073.728 497303.461 0, 1750771.671 497259.263 0, 1750469.61 497215.083 0,
+ 1750167.547 497170.921 0, 1749865.481 497126.776 0, 1749563.413 497082.65 0, 1749261.342 497038.541 0, 1748959.269 496994.449 0, 1748657.193 496950.376 0, 1748355.114 496906.321 0, 1748053.033 496862.283 0, 1747750.949 496818.263 0, 1747448.862 496774.26 0,
+ 1747146.773 496730.276 0, 1746844.682 496686.309 0, 1746542.587 496642.36 0, 1746240.491 496598.429 0, 1745938.391 496554.516 0, 1745636.289 496510.62 0, 1745334.185 496466.743 0, 1745032.078 496422.883 0, 1744728.624 496378.845 0, 1743931.208 501874.864 0,
+ 1743133.729 507371.311 0, 1743436.532 507415.253 0, 1743737.993 507459.019 0, 1744039.45 507502.803 0, 1744340.905 507546.605 0, 1744642.358 507590.424 0, 1744943.807 507634.261 0, 1745245.255 507678.116 0, 1745546.699 507721.988 0, 1745848.141 507765.879 0,
+ 1746149.581 507809.787 0, 1746451.018 507853.712 0, 1746752.452 507897.656 0, 1747053.884 507941.617 0, 1747355.313 507985.596 0, 1747656.74 508029.593 0, 1747958.164 508073.607 0, 1748259.585 508117.64 0, 1748561.004 508161.689 0, 1748862.42 508205.757 0,
+ 1749163.834 508249.843 0, 1749465.245 508293.946 0, 1749766.653 508338.067 0, 1750068.059 508382.205 0, 1750368.123 508426.165 0, 1750670.863 508470.536 0, 1750972.261 508514.728 0, 1751273.656 508558.937 0, 1751575.049 508603.165 0, 1751876.439 508647.41 0,
+ 1752177.827 508691.673 0, 1752479.212 508735.953 0, 1752780.594 508780.251 0, 1753081.974 508824.567 0, 1753383.351 508868.901 0, 1753684.726 508913.253 0, 1753986.098 508957.622 0, 1754287.467 509002.009 0, 1754588.834 509046.414 0, 1754890.198 509090.836 0,
+ 1755191.559 509135.276 0, 1755492.918 509179.734 0, 1755794.274 509224.21 0, 1756095.628 509268.703 0, 1756396.979 509313.215 0, 1756698.328 509357.743 0, 1756999.673 509402.29 0, 1757301.016 509446.854 0, 1757601.019 509491.239 0, 1758414.023 503997.067 0,
+ 1759226.964 498503.323 0))
+
+POLYGON ((1772062.263 511652.031 0, 1771762.384 511606.799 0, 1771461.168 511561.384 0, 1771159.949 511515.986 0, 1770858.728 511470.606 0, 1770557.504 511425.243 0, 1770256.277 511379.899 0, 1769955.048 511334.572 0, 1769653.815 511289.263 0, 1769352.581 511243.971 0,
+ 1769051.343 511198.698 0, 1768750.103 511153.442 0, 1768448.86 511108.203 0, 1768147.615 511062.983 0, 1767846.367 511017.78 0, 1767545.116 510972.595 0, 1767243.863 510927.428 0, 1766942.607 510882.278 0, 1766641.348 510837.146 0, 1766340.087 510792.032 0,
+ 1766038.823 510746.936 0, 1765737.556 510701.857 0, 1765436.287 510656.796 0, 1765135.015 510611.753 0, 1764832.404 510566.528 0, 1764532.463 510521.72 0, 1764231.183 510476.73 0, 1763929.901 510431.758 0, 1763628.615 510386.803 0, 1763327.327 510341.866 0,
+ 1763026.037 510296.947 0, 1762724.744 510252.046 0, 1762423.448 510207.162 0, 1762122.15 510162.296 0, 1761820.849 510117.448 0, 1761519.545 510072.618 0, 1761218.238 510027.805 0, 1760916.93 509983.01 0, 1760615.618 509938.233 0, 1760314.304 509893.474 0,
+ 1760012.987 509848.732 0, 1759711.667 509804.008 0, 1759410.345 509759.302 0, 1759109.02 509714.613 0, 1758807.693 509669.942 0, 1758506.363 509625.289 0, 1758205.03 509580.654 0, 1757903.695 509536.036 0, 1757601.019 509491.239 0, 1756787.952 514985.835 0,
+ 1755974.823 520480.854 0, 1756276.849 520525.555 0, 1756577.537 520570.077 0, 1756878.223 520614.617 0, 1757178.907 520659.174 0, 1757479.587 520703.749 0, 1757780.265 520748.341 0, 1758080.941 520792.952 0, 1758381.613 520837.58 0, 1758682.283 520882.225 0,
+ 1758982.951 520926.889 0, 1759283.616 520971.57 0, 1759584.278 521016.269 0, 1759884.937 521060.985 0, 1760185.594 521105.719 0, 1760486.249 521150.471 0, 1760786.9 521195.241 0, 1761087.55 521240.028 0, 1761388.196 521284.833 0, 1761688.84 521329.656 0,
+ 1761989.481 521374.496 0, 1762290.119 521419.354 0, 1762590.755 521464.23 0, 1762891.388 521509.123 0, 1763190.686 521553.835 0, 1763492.647 521598.963 0, 1763793.272 521643.91 0, 1764093.895 521688.874 0, 1764394.515 521733.856 0, 1764695.132 521778.855 0,
+ 1764995.747 521823.872 0, 1765296.359 521868.907 0, 1765596.968 521913.96 0, 1765897.575 521959.03 0, 1766198.179 522004.119 0, 1766498.781 522049.224 0, 1766799.379 522094.348 0, 1767099.975 522139.489 0, 1767400.569 522184.648 0, 1767701.16 522229.824 0,
+ 1768001.748 522275.018 0, 1768302.333 522320.23 0, 1768602.916 522365.46 0, 1768903.496 522410.707 0, 1769204.074 522455.972 0, 1769504.649 522501.255 0, 1769805.221 522546.555 0, 1770105.79 522591.873 0, 1770405.025 522637.008 0, 1771233.676 517144.309 0,
+ 1772062.263 511652.031 0))
+
+POLYGON ((1784829.078 524833.922 0, 1784529.97 524787.941 0, 1784229.529 524741.774 0, 1783929.086 524695.625 0, 1783628.641 524649.493 0, 1783328.192 524603.379 0, 1783027.741 524557.283 0, 1782727.287 524511.204 0, 1782426.831 524465.143 0, 1782126.372 524419.1 0,
+ 1781825.91 524373.075 0, 1781525.445 524327.067 0, 1781224.977 524281.076 0, 1780924.507 524235.104 0, 1780624.035 524189.149 0, 1780323.559 524143.212 0, 1780023.081 524097.293 0, 1779722.6 524051.391 0, 1779422.116 524005.507 0, 1779121.63 523959.64 0,
+ 1778821.141 523913.792 0, 1778520.649 523867.961 0, 1778220.155 523822.147 0, 1777919.658 523776.352 0, 1777617.828 523730.371 0, 1777318.656 523684.813 0, 1777018.15 523639.071 0, 1776717.642 523593.346 0, 1776417.132 523547.639 0, 1776116.619 523501.949 0,
+ 1775816.103 523456.277 0, 1775515.584 523410.623 0, 1775215.063 523364.987 0, 1774914.539 523319.368 0, 1774614.012 523273.767 0, 1774313.483 523228.183 0, 1774012.951 523182.618 0, 1773712.416 523137.07 0, 1773411.878 523091.539 0, 1773111.338 523046.027 0,
+ 1772810.796 523000.532 0, 1772510.25 522955.055 0, 1772209.702 522909.595 0, 1771909.151 522864.153 0, 1771608.598 522818.729 0, 1771308.042 522773.322 0, 1771007.483 522727.934 0, 1770706.921 522682.562 0, 1770405.025 522637.008 0, 1769576.312 528130.126 0,
+ 1768747.535 533623.661 0, 1769048.782 533669.117 0, 1769348.696 533714.39 0, 1769648.609 533759.682 0, 1769948.518 533804.99 0, 1770248.425 533850.317 0, 1770548.329 533895.661 0, 1770848.231 533941.023 0, 1771148.13 533986.402 0, 1771448.026 534031.799 0,
+ 1771747.919 534077.214 0, 1772047.81 534122.646 0, 1772347.698 534168.096 0, 1772647.584 534213.564 0, 1772947.466 534259.049 0, 1773247.347 534304.552 0, 1773547.224 534350.073 0, 1773847.099 534395.611 0, 1774146.971 534441.167 0, 1774446.84 534486.741 0,
+ 1774746.707 534532.332 0, 1775046.571 534577.941 0, 1775346.432 534623.567 0, 1775646.291 534669.212 0, 1775944.819 534714.671 0, 1776246 534760.553 0, 1776545.851 534806.25 0, 1776845.699 534851.965 0, 1777145.544 534897.697 0, 1777445.387 534943.447 0,
+ 1777745.226 534989.215 0, 1778045.063 535035 0, 1778344.898 535080.803 0, 1778644.73 535126.624 0, 1778944.559 535172.462 0, 1779244.385 535218.318 0, 1779544.209 535264.192 0, 1779844.03 535310.083 0, 1780143.848 535355.992 0, 1780443.663 535401.919 0,
+ 1780743.476 535447.863 0, 1781043.286 535493.825 0, 1781343.094 535539.804 0, 1781642.899 535585.801 0, 1781942.701 535631.816 0, 1782242.5 535677.848 0, 1782542.296 535723.898 0, 1782842.09 535769.966 0, 1783140.555 535815.848 0, 1783984.849 530324.677 0,
+ 1784829.078 524833.922 0))
+
+POLYGON ((1797527.325 538048.689 0, 1797228.988 538001.964 0, 1796929.326 537955.049 0, 1796629.661 537908.153 0, 1796329.993 537861.273 0, 1796030.322 537814.412 0, 1795730.648 537767.568 0, 1795430.972 537720.741 0, 1795131.293 537673.933 0, 1794831.611 537627.142 0,
+ 1794531.926 537580.368 0, 1794232.239 537533.613 0, 1793932.549 537486.875 0, 1793632.856 537440.154 0, 1793333.16 537393.451 0, 1793033.462 537346.766 0, 1792733.761 537300.098 0, 1792434.057 537253.449 0, 1792134.351 537206.816 0, 1791834.641 537160.202 0,
+ 1791534.929 537113.605 0, 1791235.214 537067.025 0, 1790935.497 537020.464 0, 1790635.776 536973.92 0, 1790334.729 536927.187 0, 1790036.328 536880.884 0, 1789736.599 536834.393 0, 1789436.868 536787.92 0, 1789137.134 536741.464 0, 1788837.397 536695.026 0,
+ 1788537.658 536648.605 0, 1788237.916 536602.202 0, 1787938.171 536555.817 0, 1787638.423 536509.449 0, 1787338.673 536463.099 0, 1787038.92 536416.767 0, 1786739.164 536370.452 0, 1786439.405 536324.155 0, 1786139.644 536277.875 0, 1785839.88 536231.614 0,
+ 1785540.113 536185.37 0, 1785240.344 536139.143 0, 1784940.572 536092.934 0, 1784640.797 536046.743 0, 1784341.019 536000.569 0, 1784041.239 535954.413 0, 1783741.456 535908.275 0, 1783441.67 535862.154 0, 1783140.555 535815.848 0, 1782296.199 541307.431 0,
+ 1781451.779 546799.424 0, 1781752.244 546845.631 0, 1782051.383 546891.653 0, 1782350.52 546937.691 0, 1782649.654 546983.748 0, 1782948.785 547029.822 0, 1783247.913 547075.913 0, 1783547.039 547122.023 0, 1783846.162 547168.15 0, 1784145.282 547214.294 0,
+ 1784444.4 547260.456 0, 1784743.515 547306.636 0, 1785042.627 547352.833 0, 1785341.736 547399.048 0, 1785640.843 547445.28 0, 1785939.947 547491.53 0, 1786239.048 547537.798 0, 1786538.147 547584.083 0, 1786837.243 547630.386 0, 1787136.336 547676.707 0,
+ 1787435.426 547723.045 0, 1787734.514 547769.4 0, 1788033.599 547815.774 0, 1788332.681 547862.164 0, 1788630.438 547908.368 0, 1788930.837 547954.999 0, 1789229.911 548001.443 0, 1789528.982 548047.904 0, 1789828.051 548094.383 0, 1790127.116 548140.879 0,
+ 1790426.18 548187.394 0, 1790725.24 548233.925 0, 1791024.297 548280.475 0, 1791323.352 548327.042 0, 1791622.404 548373.626 0, 1791921.454 548420.228 0, 1792220.5 548466.848 0, 1792519.544 548513.485 0, 1792818.585 548560.14 0, 1793117.623 548606.813 0,
+ 1793416.659 548653.503 0, 1793715.692 548700.211 0, 1794014.722 548746.936 0, 1794313.749 548793.679 0, 1794612.774 548840.439 0, 1794911.796 548887.217 0, 1795210.815 548934.013 0, 1795509.831 548980.827 0, 1795807.524 549027.451 0, 1796667.457 543537.865 0,
+ 1797527.325 538048.689 0))
+
+POLYGON ((1810156.918 551296.026 0, 1809859.356 551248.56 0, 1809560.473 551200.902 0, 1809261.587 551153.262 0, 1808962.699 551105.639 0, 1808663.807 551058.034 0, 1808364.913 551010.447 0, 1808066.016 550962.877 0, 1807767.117 550915.324 0, 1807468.214 550867.789 0,
+ 1807169.309 550820.272 0, 1806870.401 550772.773 0, 1806571.49 550725.291 0, 1806272.576 550677.826 0, 1805973.66 550630.379 0, 1805674.74 550582.95 0, 1805375.818 550535.539 0, 1805076.893 550488.145 0, 1804777.966 550440.768 0, 1804479.035 550393.409 0,
+ 1804180.102 550346.068 0, 1803881.166 550298.744 0, 1803582.227 550251.438 0, 1803283.286 550204.15 0, 1802983.022 550156.671 0, 1802685.394 550109.626 0, 1802386.444 550062.39 0, 1802087.492 550015.172 0, 1801788.536 549967.972 0, 1801489.578 549920.789 0,
+ 1801190.617 549873.623 0, 1800891.653 549826.476 0, 1800592.687 549779.346 0, 1800293.717 549732.233 0, 1799994.745 549685.138 0, 1799695.77 549638.061 0, 1799396.793 549591.001 0, 1799097.812 549543.959 0, 1798798.829 549496.935 0, 1798499.843 549449.928 0,
+ 1798200.854 549402.938 0, 1797901.863 549355.967 0, 1797602.868 549309.013 0, 1797303.871 549262.076 0, 1797004.872 549215.157 0, 1796705.869 549168.256 0, 1796406.864 549121.372 0, 1796107.856 549074.506 0, 1795807.524 549027.451 0, 1794947.528 554517.443 0,
+ 1794087.469 560007.839 0, 1794387.151 560054.792 0, 1794685.513 560101.557 0, 1794983.872 560148.34 0, 1795282.228 560195.14 0, 1795580.582 560241.957 0, 1795878.933 560288.792 0, 1796177.281 560335.645 0, 1796475.626 560382.515 0, 1796773.969 560429.403 0,
+ 1797072.308 560476.308 0, 1797370.645 560523.231 0, 1797668.979 560570.171 0, 1797967.311 560617.129 0, 1798265.64 560664.105 0, 1798563.966 560711.098 0, 1798862.289 560758.109 0, 1799160.609 560805.137 0, 1799458.927 560852.183 0, 1799757.242 560899.246 0,
+ 1800055.554 560946.327 0, 1800353.863 560993.425 0, 1800652.17 561040.541 0, 1800950.473 561087.675 0, 1801247.458 561134.618 0, 1801547.072 561181.995 0, 1801845.368 561229.181 0, 1802143.661 561276.385 0, 1802441.95 561323.606 0, 1802740.238 561370.845 0,
+ 1803038.522 561418.102 0, 1803336.803 561465.376 0, 1803635.082 561512.667 0, 1803933.358 561559.976 0, 1804231.631 561607.303 0, 1804529.902 561654.647 0, 1804828.169 561702.009 0, 1805126.434 561749.388 0, 1805424.696 561796.785 0, 1805722.955 561844.2 0,
+ 1806021.212 561891.632 0, 1806319.466 561939.081 0, 1806617.716 561986.549 0, 1806915.965 562034.033 0, 1807214.21 562081.536 0, 1807512.452 562129.055 0, 1807810.692 562176.593 0, 1808108.929 562224.148 0, 1808405.848 562271.51 0, 1809281.415 556783.566 0,
+ 1810156.918 551296.026 0))
+
+POLYGON ((1822717.775 564575.625 0, 1822420.988 564527.423 0, 1822122.887 564479.026 0, 1821824.783 564430.646 0, 1821526.676 564382.284 0, 1821228.566 564333.939 0, 1820930.453 564285.612 0, 1820632.337 564237.303 0, 1820334.219 564189.011 0, 1820036.098 564140.736 0,
+ 1819737.974 564092.479 0, 1819439.847 564044.24 0, 1819141.717 563996.018 0, 1818843.584 563947.814 0, 1818545.449 563899.627 0, 1818247.311 563851.458 0, 1817949.169 563803.306 0, 1817651.026 563755.172 0, 1817352.879 563707.055 0, 1817054.729 563658.957 0,
+ 1816756.577 563610.875 0, 1816458.421 563562.811 0, 1816160.263 563514.765 0, 1815862.102 563466.736 0, 1815562.625 563418.513 0, 1815265.772 563370.731 0, 1814967.603 563322.755 0, 1814669.43 563274.796 0, 1814371.255 563226.855 0, 1814073.077 563178.932 0,
+ 1813774.897 563131.026 0, 1813476.713 563083.137 0, 1813178.527 563035.267 0, 1812880.338 562987.413 0, 1812582.146 562939.578 0, 1812283.951 562891.759 0, 1811985.753 562843.959 0, 1811687.553 562796.176 0, 1811389.35 562748.41 0, 1811091.144 562700.662 0,
+ 1810792.935 562652.932 0, 1810494.723 562605.219 0, 1810196.509 562557.523 0, 1809898.291 562509.846 0, 1809600.071 562462.185 0, 1809301.848 562414.543 0, 1809003.623 562366.918 0, 1808705.394 562319.31 0, 1808405.848 562271.51 0, 1807530.217 567759.855 0,
+ 1806654.523 573248.596 0, 1806953.42 573296.293 0, 1807251.002 573343.797 0, 1807548.582 573391.319 0, 1807846.159 573438.858 0, 1808143.733 573486.415 0, 1808441.304 573533.99 0, 1808738.872 573581.582 0, 1809036.438 573629.191 0, 1809334.001 573676.818 0,
+ 1809631.561 573724.463 0, 1809929.118 573772.125 0, 1810226.672 573819.805 0, 1810524.224 573867.502 0, 1810821.773 573915.216 0, 1811119.319 573962.948 0, 1811416.862 574010.698 0, 1811714.402 574058.465 0, 1812011.94 574106.25 0, 1812309.474 574154.052 0,
+ 1812607.006 574201.872 0, 1812904.535 574249.709 0, 1813202.062 574297.564 0, 1813499.585 574345.436 0, 1813795.795 574393.115 0, 1814094.624 574441.233 0, 1814392.139 574489.158 0, 1814689.651 574537.1 0, 1814987.16 574585.06 0, 1815284.667 574633.037 0,
+ 1815582.17 574681.032 0, 1815879.671 574729.044 0, 1816177.169 574777.074 0, 1816474.665 574825.121 0, 1816772.157 574873.186 0, 1817069.647 574921.268 0, 1817367.133 574969.368 0, 1817664.617 575017.485 0, 1817962.098 575065.62 0, 1818259.577 575113.773 0,
+ 1818557.052 575161.943 0, 1818854.525 575210.13 0, 1819151.994 575258.335 0, 1819449.461 575306.557 0, 1819746.925 575354.797 0, 1820044.387 575403.055 0, 1820341.845 575451.33 0, 1820639.3 575499.622 0, 1820935.444 575547.719 0, 1821826.642 570061.474 0,
+ 1822717.775 564575.625 0))
+
+POLYGON ((1744728.624 496378.845 0, 1744427.856 496335.216 0, 1744125.741 496291.409 0, 1743823.623 496247.62 0, 1743521.503 496203.849 0, 1743219.381 496160.096 0, 1742917.255 496116.361 0, 1742615.128 496072.643 0, 1742312.997 496028.943 0, 1742010.865 495985.261 0,
+ 1741708.729 495941.596 0, 1741406.591 495897.95 0, 1741104.45 495854.321 0, 1740802.307 495810.71 0, 1740500.162 495767.117 0, 1740198.013 495723.541 0, 1739895.862 495679.983 0, 1739593.709 495636.443 0, 1739291.553 495592.921 0, 1738989.394 495549.417 0,
+ 1738687.233 495505.93 0, 1738385.07 495462.462 0, 1738082.903 495419.011 0, 1737780.735 495375.577 0, 1737477.218 495331.969 0, 1737176.389 495288.764 0, 1736874.213 495245.385 0, 1736572.034 495202.023 0, 1736269.852 495158.678 0, 1735967.668 495115.352 0,
+ 1735665.482 495072.043 0, 1735363.292 495028.752 0, 1735061.101 494985.479 0, 1734758.906 494942.224 0, 1734456.71 494898.986 0, 1734154.51 494855.766 0, 1733852.308 494812.564 0, 1733550.104 494769.38 0, 1733247.897 494726.214 0, 1732945.687 494683.065 0,
+ 1732643.475 494639.934 0, 1732341.26 494596.821 0, 1732039.043 494553.726 0, 1731736.824 494510.649 0, 1731434.601 494467.589 0, 1731132.377 494424.547 0, 1730830.149 494381.523 0, 1730527.919 494338.517 0, 1730224.341 494295.337 0, 1729442.455 499793.586 0,
+ 1728660.508 505292.264 0, 1728963.436 505335.351 0, 1729265.019 505378.265 0, 1729566.599 505421.197 0, 1729868.176 505464.147 0, 1730169.751 505507.114 0, 1730471.324 505550.1 0, 1730772.894 505593.103 0, 1731074.461 505636.123 0, 1731376.026 505679.162 0,
+ 1731677.588 505722.218 0, 1731979.148 505765.292 0, 1732280.705 505808.384 0, 1732582.26 505851.493 0, 1732883.812 505894.62 0, 1733185.362 505937.765 0, 1733486.909 505980.928 0, 1733788.454 506024.108 0, 1734089.996 506067.307 0, 1734391.535 506110.523 0,
+ 1734693.072 506153.756 0, 1734994.607 506197.008 0, 1735296.138 506240.277 0, 1735597.668 506283.564 0, 1735897.853 506326.676 0, 1736200.719 506370.191 0, 1736502.24 506413.531 0, 1736803.76 506456.889 0, 1737105.276 506500.265 0, 1737406.79 506543.658 0,
+ 1737708.302 506587.069 0, 1738009.81 506630.498 0, 1738311.317 506673.945 0, 1738612.821 506717.409 0, 1738914.322 506760.892 0, 1739215.82 506804.392 0, 1739517.317 506847.909 0, 1739818.81 506891.445 0, 1740120.301 506934.998 0, 1740421.79 506978.569 0,
+ 1740723.275 507022.157 0, 1741024.759 507065.764 0, 1741326.239 507109.388 0, 1741627.718 507153.03 0, 1741929.193 507196.689 0, 1742230.666 507240.367 0, 1742532.137 507284.062 0, 1742833.604 507327.774 0, 1743133.729 507371.311 0, 1743931.208 501874.864 0,
+ 1744728.624 496378.845 0))
+
+POLYGON ((1757601.019 509491.239 0, 1757301.016 509446.854 0, 1756999.673 509402.29 0, 1756698.328 509357.743 0, 1756396.979 509313.215 0, 1756095.628 509268.703 0, 1755794.274 509224.21 0, 1755492.918 509179.734 0, 1755191.559 509135.276 0, 1754890.198 509090.836 0,
+ 1754588.834 509046.414 0, 1754287.467 509002.009 0, 1753986.098 508957.622 0, 1753684.726 508913.253 0, 1753383.351 508868.901 0, 1753081.974 508824.567 0, 1752780.594 508780.251 0, 1752479.212 508735.953 0, 1752177.827 508691.673 0, 1751876.439 508647.41 0,
+ 1751575.049 508603.165 0, 1751273.656 508558.937 0, 1750972.261 508514.728 0, 1750670.863 508470.536 0, 1750368.123 508426.165 0, 1750068.059 508382.205 0, 1749766.653 508338.067 0, 1749465.245 508293.946 0, 1749163.834 508249.843 0, 1748862.42 508205.757 0,
+ 1748561.004 508161.689 0, 1748259.585 508117.64 0, 1747958.164 508073.607 0, 1747656.74 508029.593 0, 1747355.313 507985.596 0, 1747053.884 507941.617 0, 1746752.452 507897.656 0, 1746451.018 507853.712 0, 1746149.581 507809.787 0, 1745848.141 507765.879 0,
+ 1745546.699 507721.988 0, 1745245.255 507678.116 0, 1744943.807 507634.261 0, 1744642.358 507590.424 0, 1744340.905 507546.605 0, 1744039.45 507502.803 0, 1743737.993 507459.019 0, 1743436.532 507415.253 0, 1743133.729 507371.311 0, 1742336.189 512868.182 0,
+ 1741538.587 518365.476 0, 1741840.74 518409.325 0, 1742141.553 518452.997 0, 1742442.364 518496.687 0, 1742743.172 518540.394 0, 1743043.977 518584.119 0, 1743344.78 518627.862 0, 1743645.58 518671.623 0, 1743946.378 518715.401 0, 1744247.173 518759.197 0,
+ 1744547.965 518803.011 0, 1744848.755 518846.843 0, 1745149.542 518890.692 0, 1745450.327 518934.559 0, 1745751.109 518978.443 0, 1746051.889 519022.346 0, 1746352.666 519066.266 0, 1746653.44 519110.203 0, 1746954.212 519154.159 0, 1747254.981 519198.132 0,
+ 1747555.748 519242.122 0, 1747856.512 519286.131 0, 1748157.273 519330.157 0, 1748458.032 519374.201 0, 1748757.452 519418.067 0, 1749059.542 519462.342 0, 1749360.293 519506.439 0, 1749661.042 519550.554 0, 1749961.787 519594.686 0, 1750262.531 519638.836 0,
+ 1750563.271 519683.004 0, 1750864.009 519727.19 0, 1751164.745 519771.393 0, 1751465.478 519815.614 0, 1751766.208 519859.852 0, 1752066.936 519904.109 0, 1752367.661 519948.383 0, 1752668.383 519992.674 0, 1752969.103 520036.984 0, 1753269.82 520081.311 0,
+ 1753570.535 520125.656 0, 1753871.247 520170.018 0, 1754171.956 520214.398 0, 1754472.663 520258.796 0, 1754773.367 520303.212 0, 1755074.069 520347.645 0, 1755374.768 520392.096 0, 1755675.464 520436.565 0, 1755974.823 520480.854 0, 1756787.952 514985.835 0,
+ 1757601.019 509491.239 0))
+
+POLYGON ((1770405.025 522637.008 0, 1770105.79 522591.873 0, 1769805.221 522546.555 0, 1769504.649 522501.255 0, 1769204.074 522455.972 0, 1768903.496 522410.707 0, 1768602.916 522365.46 0, 1768302.333 522320.23 0, 1768001.748 522275.018 0, 1767701.16 522229.824 0,
+ 1767400.569 522184.648 0, 1767099.975 522139.489 0, 1766799.379 522094.348 0, 1766498.781 522049.224 0, 1766198.179 522004.119 0, 1765897.575 521959.03 0, 1765596.968 521913.96 0, 1765296.359 521868.907 0, 1764995.747 521823.872 0, 1764695.132 521778.855 0,
+ 1764394.515 521733.856 0, 1764093.895 521688.874 0, 1763793.272 521643.91 0, 1763492.647 521598.963 0, 1763190.686 521553.835 0, 1762891.388 521509.123 0, 1762590.755 521464.23 0, 1762290.119 521419.354 0, 1761989.481 521374.496 0, 1761688.84 521329.656 0,
+ 1761388.196 521284.833 0, 1761087.55 521240.028 0, 1760786.9 521195.241 0, 1760486.249 521150.471 0, 1760185.594 521105.719 0, 1759884.937 521060.985 0, 1759584.278 521016.269 0, 1759283.616 520971.57 0, 1758982.951 520926.889 0, 1758682.283 520882.225 0,
+ 1758381.613 520837.58 0, 1758080.941 520792.952 0, 1757780.265 520748.341 0, 1757479.587 520703.749 0, 1757178.907 520659.174 0, 1756878.223 520614.617 0, 1756577.537 520570.077 0, 1756276.849 520525.555 0, 1755974.823 520480.854 0, 1755161.632 525976.292 0,
+ 1754348.379 531472.145 0, 1754649.755 531516.751 0, 1754949.797 531561.177 0, 1755249.835 531605.62 0, 1755549.872 531650.082 0, 1755849.906 531694.561 0, 1756149.937 531739.057 0, 1756449.965 531783.572 0, 1756749.991 531828.104 0, 1757050.014 531872.653 0,
+ 1757350.035 531917.221 0, 1757650.053 531961.805 0, 1757950.068 532006.408 0, 1758250.081 532051.028 0, 1758550.091 532095.666 0, 1758850.098 532140.322 0, 1759150.103 532184.995 0, 1759450.105 532229.686 0, 1759750.105 532274.395 0, 1760050.102 532319.121 0,
+ 1760350.096 532363.865 0, 1760650.088 532408.626 0, 1760950.077 532453.405 0, 1761250.064 532498.202 0, 1761548.717 532542.818 0, 1761850.028 532587.849 0, 1762150.007 532632.699 0, 1762449.983 532677.566 0, 1762749.956 532722.451 0, 1763049.927 532767.354 0,
+ 1763349.895 532812.274 0, 1763649.86 532857.212 0, 1763949.822 532902.168 0, 1764249.782 532947.142 0, 1764549.74 532992.133 0, 1764849.695 533037.141 0, 1765149.647 533082.168 0, 1765449.596 533127.212 0, 1765749.543 533172.273 0, 1766049.487 533217.353 0,
+ 1766349.428 533262.45 0, 1766649.367 533307.564 0, 1766949.303 533352.697 0, 1767249.237 533397.847 0, 1767549.167 533443.014 0, 1767849.096 533488.199 0, 1768149.021 533533.402 0, 1768448.944 533578.623 0, 1768747.535 533623.661 0, 1769576.312 528130.126 0,
+ 1770405.025 522637.008 0))
+
+POLYGON ((1783140.555 535815.848 0, 1782842.09 535769.966 0, 1782542.296 535723.898 0, 1782242.5 535677.848 0, 1781942.701 535631.816 0, 1781642.899 535585.801 0, 1781343.094 535539.804 0, 1781043.286 535493.825 0, 1780743.476 535447.863 0, 1780443.663 535401.919 0,
+ 1780143.848 535355.992 0, 1779844.03 535310.083 0, 1779544.209 535264.192 0, 1779244.385 535218.318 0, 1778944.559 535172.462 0, 1778644.73 535126.624 0, 1778344.898 535080.803 0, 1778045.063 535035 0, 1777745.226 534989.215 0, 1777445.387 534943.447 0,
+ 1777145.544 534897.697 0, 1776845.699 534851.965 0, 1776545.851 534806.25 0, 1776246 534760.553 0, 1775944.819 534714.671 0, 1775646.291 534669.212 0, 1775346.432 534623.567 0, 1775046.571 534577.941 0, 1774746.707 534532.332 0, 1774446.84 534486.741 0,
+ 1774146.971 534441.167 0, 1773847.099 534395.611 0, 1773547.224 534350.073 0, 1773247.347 534304.552 0, 1772947.466 534259.049 0, 1772647.584 534213.564 0, 1772347.698 534168.096 0, 1772047.81 534122.646 0, 1771747.919 534077.214 0, 1771448.026 534031.799 0,
+ 1771148.13 533986.402 0, 1770848.231 533941.023 0, 1770548.329 533895.661 0, 1770248.425 533850.317 0, 1769948.518 533804.99 0, 1769648.609 533759.682 0, 1769348.696 533714.39 0, 1769048.782 533669.117 0, 1768747.535 533623.661 0, 1767918.696 539117.608 0,
+ 1767089.796 544611.965 0, 1767390.393 544657.323 0, 1767689.661 544702.499 0, 1767988.926 544747.692 0, 1768288.189 544792.904 0, 1768587.449 544838.132 0, 1768886.707 544883.379 0, 1769185.961 544928.643 0, 1769485.214 544973.924 0, 1769784.463 545019.223 0,
+ 1770083.71 545064.54 0, 1770382.954 545109.874 0, 1770682.195 545155.226 0, 1770981.434 545200.596 0, 1771280.67 545245.983 0, 1771579.904 545291.388 0, 1771879.135 545336.811 0, 1772178.363 545382.251 0, 1772477.588 545427.708 0, 1772776.811 545473.184 0,
+ 1773076.031 545518.677 0, 1773375.248 545564.187 0, 1773674.463 545609.715 0, 1773973.675 545655.261 0, 1774271.56 545700.623 0, 1774572.091 545746.405 0, 1774871.295 545792.004 0, 1775170.496 545837.62 0, 1775469.695 545883.254 0, 1775768.891 545928.905 0,
+ 1776068.084 545974.574 0, 1776367.275 546020.261 0, 1776666.463 546065.965 0, 1776965.648 546111.687 0, 1777264.83 546157.427 0, 1777564.01 546203.184 0, 1777863.187 546248.958 0, 1778162.362 546294.751 0, 1778461.533 546340.56 0, 1778760.702 546386.388 0,
+ 1779059.869 546432.233 0, 1779359.032 546478.096 0, 1779658.193 546523.976 0, 1779957.352 546569.874 0, 1780256.507 546615.79 0, 1780555.66 546661.723 0, 1780854.81 546707.674 0, 1781153.957 546753.642 0, 1781451.779 546799.424 0, 1782296.199 541307.431 0,
+ 1783140.555 535815.848 0))
+
+POLYGON ((1795807.524 549027.451 0, 1795509.831 548980.827 0, 1795210.815 548934.013 0, 1794911.796 548887.217 0, 1794612.774 548840.439 0, 1794313.749 548793.679 0, 1794014.722 548746.936 0, 1793715.692 548700.211 0, 1793416.659 548653.503 0, 1793117.623 548606.813 0,
+ 1792818.585 548560.14 0, 1792519.544 548513.485 0, 1792220.5 548466.848 0, 1791921.454 548420.228 0, 1791622.404 548373.626 0, 1791323.352 548327.042 0, 1791024.297 548280.475 0, 1790725.24 548233.925 0, 1790426.18 548187.394 0, 1790127.116 548140.879 0,
+ 1789828.051 548094.383 0, 1789528.982 548047.904 0, 1789229.911 548001.443 0, 1788930.837 547954.999 0, 1788630.438 547908.368 0, 1788332.681 547862.164 0, 1788033.599 547815.774 0, 1787734.514 547769.4 0, 1787435.426 547723.045 0, 1787136.336 547676.707 0,
+ 1786837.243 547630.386 0, 1786538.147 547584.083 0, 1786239.048 547537.798 0, 1785939.947 547491.53 0, 1785640.843 547445.28 0, 1785341.736 547399.048 0, 1785042.627 547352.833 0, 1784743.515 547306.636 0, 1784444.4 547260.456 0, 1784145.282 547214.294 0,
+ 1783846.162 547168.15 0, 1783547.039 547122.023 0, 1783247.913 547075.913 0, 1782948.785 547029.822 0, 1782649.654 546983.748 0, 1782350.52 546937.691 0, 1782051.383 546891.653 0, 1781752.244 546845.631 0, 1781451.779 546799.424 0, 1780607.296 552291.824 0,
+ 1779762.752 557784.628 0, 1780062.568 557830.735 0, 1780361.061 557876.657 0, 1780659.551 557922.596 0, 1780958.038 557968.553 0, 1781256.523 558014.528 0, 1781555.004 558060.52 0, 1781853.484 558106.529 0, 1782151.96 558152.556 0, 1782450.434 558198.601 0,
+ 1782748.905 558244.663 0, 1783047.373 558290.743 0, 1783345.839 558336.84 0, 1783644.302 558382.955 0, 1783942.762 558429.088 0, 1784241.22 558475.238 0, 1784539.674 558521.406 0, 1784838.126 558567.591 0, 1785136.576 558613.794 0, 1785435.022 558660.014 0,
+ 1785733.466 558706.252 0, 1786031.908 558752.507 0, 1786330.346 558798.781 0, 1786628.782 558845.071 0, 1786925.896 558891.175 0, 1787225.645 558937.705 0, 1787524.073 558984.048 0, 1787822.497 559030.409 0, 1788120.919 559076.788 0, 1788419.339 559123.184 0,
+ 1788717.756 559169.597 0, 1789016.169 559216.028 0, 1789314.581 559262.477 0, 1789612.989 559308.943 0, 1789911.395 559355.427 0, 1790209.798 559401.929 0, 1790508.198 559448.448 0, 1790806.595 559494.984 0, 1791104.99 559541.538 0, 1791403.382 559588.11 0,
+ 1791701.771 559634.699 0, 1792000.158 559681.306 0, 1792298.542 559727.93 0, 1792596.923 559774.572 0, 1792895.301 559821.232 0, 1793193.677 559867.909 0, 1793492.049 559914.603 0, 1793790.419 559961.315 0, 1794087.469 560007.839 0, 1794947.528 554517.443 0,
+ 1795807.524 549027.451 0))
+
+POLYGON ((1808405.848 562271.51 0, 1808108.929 562224.148 0, 1807810.692 562176.593 0, 1807512.452 562129.055 0, 1807214.21 562081.536 0, 1806915.965 562034.033 0, 1806617.716 561986.549 0, 1806319.466 561939.081 0, 1806021.212 561891.632 0, 1805722.955 561844.2 0,
+ 1805424.696 561796.785 0, 1805126.434 561749.388 0, 1804828.169 561702.009 0, 1804529.902 561654.647 0, 1804231.631 561607.303 0, 1803933.358 561559.976 0, 1803635.082 561512.667 0, 1803336.803 561465.376 0, 1803038.522 561418.102 0, 1802740.238 561370.845 0,
+ 1802441.95 561323.606 0, 1802143.661 561276.385 0, 1801845.368 561229.181 0, 1801547.072 561181.995 0, 1801247.458 561134.618 0, 1800950.473 561087.675 0, 1800652.17 561040.541 0, 1800353.863 560993.425 0, 1800055.554 560946.327 0, 1799757.242 560899.246 0,
+ 1799458.927 560852.183 0, 1799160.609 560805.137 0, 1798862.289 560758.109 0, 1798563.966 560711.098 0, 1798265.64 560664.105 0, 1797967.311 560617.129 0, 1797668.979 560570.171 0, 1797370.645 560523.231 0, 1797072.308 560476.308 0, 1796773.969 560429.403 0,
+ 1796475.626 560382.515 0, 1796177.281 560335.645 0, 1795878.933 560288.792 0, 1795580.582 560241.957 0, 1795282.228 560195.14 0, 1794983.872 560148.34 0, 1794685.513 560101.557 0, 1794387.151 560054.792 0, 1794087.469 560007.839 0, 1793227.347 565498.635 0,
+ 1792367.163 570989.829 0, 1792666.196 571036.681 0, 1792963.911 571083.344 0, 1793261.624 571130.025 0, 1793559.334 571176.724 0, 1793857.041 571223.44 0, 1794154.746 571270.174 0, 1794452.447 571316.925 0, 1794750.146 571363.693 0, 1795047.842 571410.479 0,
+ 1795345.536 571457.283 0, 1795643.226 571504.104 0, 1795940.914 571550.943 0, 1796238.599 571597.799 0, 1796536.282 571644.673 0, 1796833.962 571691.564 0, 1797131.638 571738.473 0, 1797429.313 571785.4 0, 1797726.984 571832.344 0, 1798024.652 571879.305 0,
+ 1798322.318 571926.284 0, 1798619.981 571973.28 0, 1798917.642 572020.294 0, 1799215.299 572067.326 0, 1799511.641 572114.167 0, 1799810.606 572161.441 0, 1800108.255 572208.525 0, 1800405.902 572255.627 0, 1800703.545 572302.746 0, 1801001.186 572349.882 0,
+ 1801298.824 572397.036 0, 1801596.46 572444.208 0, 1801894.092 572491.397 0, 1802191.722 572538.604 0, 1802489.349 572585.828 0, 1802786.973 572633.07 0, 1803084.595 572680.329 0, 1803382.213 572727.606 0, 1803679.829 572774.9 0, 1803977.442 572822.212 0,
+ 1804275.053 572869.541 0, 1804572.66 572916.888 0, 1804870.265 572964.252 0, 1805167.867 573011.634 0, 1805465.466 573059.033 0, 1805763.062 573106.45 0, 1806060.656 573153.884 0, 1806358.247 573201.336 0, 1806654.523 573248.596 0, 1807530.217 567759.855 0,
+ 1808405.848 562271.51 0))
+
+POLYGON ((1820935.444 575547.719 0, 1820639.3 575499.622 0, 1820341.845 575451.33 0, 1820044.387 575403.055 0, 1819746.925 575354.797 0, 1819449.461 575306.557 0, 1819151.994 575258.335 0, 1818854.525 575210.13 0, 1818557.052 575161.943 0, 1818259.577 575113.773 0,
+ 1817962.098 575065.62 0, 1817664.617 575017.485 0, 1817367.133 574969.368 0, 1817069.647 574921.268 0, 1816772.157 574873.186 0, 1816474.665 574825.121 0, 1816177.169 574777.074 0, 1815879.671 574729.044 0, 1815582.17 574681.032 0, 1815284.667 574633.037 0,
+ 1814987.16 574585.06 0, 1814689.651 574537.1 0, 1814392.139 574489.158 0, 1814094.624 574441.233 0, 1813795.795 574393.115 0, 1813499.585 574345.436 0, 1813202.062 574297.564 0, 1812904.535 574249.709 0, 1812607.006 574201.872 0, 1812309.474 574154.052 0,
+ 1812011.94 574106.25 0, 1811714.402 574058.465 0, 1811416.862 574010.698 0, 1811119.319 573962.948 0, 1810821.773 573915.216 0, 1810524.224 573867.502 0, 1810226.672 573819.805 0, 1809929.118 573772.125 0, 1809631.561 573724.463 0, 1809334.001 573676.818 0,
+ 1809036.438 573629.191 0, 1808738.872 573581.582 0, 1808441.304 573533.99 0, 1808143.733 573486.415 0, 1807846.159 573438.858 0, 1807548.582 573391.319 0, 1807251.002 573343.797 0, 1806953.42 573296.293 0, 1806654.523 573248.596 0, 1805778.766 578737.732 0,
+ 1804902.946 584227.259 0, 1805201.194 584274.852 0, 1805498.13 584322.253 0, 1805795.064 584369.672 0, 1806091.994 584417.108 0, 1806388.922 584464.562 0, 1806685.847 584512.033 0, 1806982.769 584559.522 0, 1807279.689 584607.028 0, 1807576.606 584654.552 0,
+ 1807873.519 584702.093 0, 1808170.43 584749.651 0, 1808467.339 584797.227 0, 1808764.244 584844.821 0, 1809061.147 584892.432 0, 1809358.047 584940.06 0, 1809654.944 584987.706 0, 1809951.838 585035.37 0, 1810248.73 585083.051 0, 1810545.618 585130.749 0,
+ 1810842.504 585178.465 0, 1811139.387 585226.198 0, 1811436.267 585273.949 0, 1811733.145 585321.717 0, 1812028.712 585369.292 0, 1812326.891 585417.306 0, 1812623.76 585465.127 0, 1812920.626 585512.965 0, 1813217.49 585560.821 0, 1813514.35 585608.694 0,
+ 1813811.208 585656.584 0, 1814108.063 585704.492 0, 1814404.915 585752.418 0, 1814701.764 585800.361 0, 1814998.611 585848.321 0, 1815295.454 585896.299 0, 1815592.295 585944.295 0, 1815889.133 585992.308 0, 1816185.968 586040.338 0, 1816482.8 586088.386 0,
+ 1816779.63 586136.451 0, 1817076.456 586184.534 0, 1817373.28 586232.634 0, 1817670.101 586280.752 0, 1817966.919 586328.887 0, 1818263.735 586377.04 0, 1818560.547 586425.21 0, 1818857.357 586473.397 0, 1819152.857 586521.39 0, 1820044.183 581034.359 0,
+ 1820935.444 575547.719 0))
+
+POLYGON ((1730224.341 494295.337 0, 1729923.452 494252.557 0, 1729621.215 494209.604 0, 1729318.975 494166.669 0, 1729016.732 494123.752 0, 1728714.487 494080.852 0, 1728412.24 494037.97 0, 1728109.99 493995.106 0, 1727807.737 493952.26 0, 1727505.482 493909.432 0,
+ 1727203.224 493866.621 0, 1726900.964 493823.828 0, 1726598.702 493781.053 0, 1726296.437 493738.296 0, 1725994.169 493695.557 0, 1725691.899 493652.835 0, 1725389.626 493610.131 0, 1725087.351 493567.445 0, 1724785.073 493524.777 0, 1724482.793 493482.126 0,
+ 1724180.51 493439.493 0, 1723878.225 493396.878 0, 1723575.937 493354.281 0, 1723273.647 493311.702 0, 1722970.006 493268.951 0, 1722669.058 493226.597 0, 1722366.761 493184.071 0, 1722064.46 493141.562 0, 1721762.158 493099.072 0, 1721459.852 493056.599 0,
+ 1721157.544 493014.145 0, 1720855.234 492971.708 0, 1720552.921 492929.288 0, 1720250.606 492886.887 0, 1719948.288 492844.503 0, 1719645.968 492802.138 0, 1719343.645 492759.79 0, 1719041.32 492717.459 0, 1718738.992 492675.147 0, 1718436.662 492632.852 0,
+ 1718134.329 492590.575 0, 1717831.994 492548.316 0, 1717529.656 492506.075 0, 1717227.316 492463.852 0, 1716924.973 492421.646 0, 1716622.628 492379.458 0, 1716320.281 492337.288 0, 1716017.93 492295.136 0, 1715714.229 492252.813 0, 1714947.879 497753.25 0,
+ 1714181.47 503254.114 0, 1714484.521 503296.346 0, 1714786.224 503338.408 0, 1715087.924 503380.488 0, 1715389.622 503422.586 0, 1715691.317 503464.701 0, 1715993.01 503506.834 0, 1716294.7 503548.985 0, 1716596.388 503591.153 0, 1716898.073 503633.34 0,
+ 1717199.756 503675.544 0, 1717501.436 503717.765 0, 1717803.114 503760.005 0, 1718104.789 503802.262 0, 1718406.462 503844.538 0, 1718708.132 503886.83 0, 1719009.8 503929.141 0, 1719311.466 503971.469 0, 1719613.129 504013.815 0, 1719914.789 504056.179 0,
+ 1720216.447 504098.561 0, 1720518.102 504140.96 0, 1720819.755 504183.378 0, 1721121.405 504225.812 0, 1721421.709 504268.076 0, 1721724.699 504310.735 0, 1722026.342 504353.224 0, 1722327.982 504395.73 0, 1722629.62 504438.253 0, 1722931.255 504480.795 0,
+ 1723232.888 504523.354 0, 1723534.519 504565.931 0, 1723836.147 504608.525 0, 1724137.772 504651.138 0, 1724439.395 504693.768 0, 1724741.015 504736.416 0, 1725042.633 504779.082 0, 1725344.248 504821.765 0, 1725645.861 504864.466 0, 1725947.471 504907.185 0,
+ 1726249.079 504949.922 0, 1726550.685 504992.676 0, 1726852.287 505035.449 0, 1727153.888 505078.239 0, 1727455.485 505121.046 0, 1727757.08 505163.872 0, 1728058.673 505206.715 0, 1728360.263 505249.576 0, 1728660.508 505292.264 0, 1729442.455 499793.586 0,
+ 1730224.341 494295.337 0))
+
+POLYGON ((1743133.729 507371.311 0, 1742833.604 507327.774 0, 1742532.137 507284.062 0, 1742230.666 507240.367 0, 1741929.193 507196.689 0, 1741627.718 507153.03 0, 1741326.239 507109.388 0, 1741024.759 507065.764 0, 1740723.275 507022.157 0, 1740421.79 506978.569 0,
+ 1740120.301 506934.998 0, 1739818.81 506891.445 0, 1739517.317 506847.909 0, 1739215.82 506804.392 0, 1738914.322 506760.892 0, 1738612.821 506717.409 0, 1738311.317 506673.945 0, 1738009.81 506630.498 0, 1737708.302 506587.069 0, 1737406.79 506543.658 0,
+ 1737105.276 506500.265 0, 1736803.76 506456.889 0, 1736502.24 506413.531 0, 1736200.719 506370.191 0, 1735897.853 506326.676 0, 1735597.668 506283.564 0, 1735296.138 506240.277 0, 1734994.607 506197.008 0, 1734693.072 506153.756 0, 1734391.535 506110.523 0,
+ 1734089.996 506067.307 0, 1733788.454 506024.108 0, 1733486.909 505980.928 0, 1733185.362 505937.765 0, 1732883.812 505894.62 0, 1732582.26 505851.493 0, 1732280.705 505808.384 0, 1731979.148 505765.292 0, 1731677.588 505722.218 0, 1731376.026 505679.162 0,
+ 1731074.461 505636.123 0, 1730772.894 505593.103 0, 1730471.324 505550.1 0, 1730169.751 505507.114 0, 1729868.176 505464.147 0, 1729566.599 505421.197 0, 1729265.019 505378.265 0, 1728963.436 505335.351 0, 1728660.508 505292.264 0, 1727878.5 510791.367 0,
+ 1727096.432 516290.892 0, 1727398.711 516333.887 0, 1727699.646 516376.709 0, 1728000.579 516419.549 0, 1728301.509 516462.406 0, 1728602.436 516505.282 0, 1728903.362 516548.175 0, 1729204.284 516591.085 0, 1729505.204 516634.014 0, 1729806.122 516676.96 0,
+ 1730107.037 516719.923 0, 1730407.949 516762.905 0, 1730708.859 516805.904 0, 1731009.767 516848.921 0, 1731310.672 516891.956 0, 1731611.574 516935.008 0, 1731912.474 516978.078 0, 1732213.371 517021.166 0, 1732514.266 517064.271 0, 1732815.158 517107.395 0,
+ 1733116.048 517150.535 0, 1733416.935 517193.694 0, 1733717.82 517236.87 0, 1734018.702 517280.064 0, 1734318.242 517323.084 0, 1734620.458 517366.506 0, 1734921.333 517409.753 0, 1735222.205 517453.018 0, 1735523.074 517496.3 0, 1735823.941 517539.6 0,
+ 1736124.805 517582.918 0, 1736425.667 517626.254 0, 1736726.526 517669.608 0, 1737027.383 517712.979 0, 1737328.237 517756.368 0, 1737629.088 517799.774 0, 1737929.937 517843.198 0, 1738230.784 517886.64 0, 1738531.627 517930.1 0, 1738832.469 517973.577 0,
+ 1739133.307 518017.072 0, 1739434.144 518060.585 0, 1739734.977 518104.116 0, 1740035.808 518147.664 0, 1740336.637 518191.23 0, 1740637.462 518234.813 0, 1740938.286 518278.415 0, 1741239.107 518322.034 0, 1741538.587 518365.476 0, 1742336.189 512868.182 0,
+ 1743133.729 507371.311 0))
+
+POLYGON ((1755974.823 520480.854 0, 1755675.464 520436.565 0, 1755374.768 520392.096 0, 1755074.069 520347.645 0, 1754773.367 520303.212 0, 1754472.663 520258.796 0, 1754171.956 520214.398 0, 1753871.247 520170.018 0, 1753570.535 520125.656 0, 1753269.82 520081.311 0,
+ 1752969.103 520036.984 0, 1752668.383 519992.674 0, 1752367.661 519948.383 0, 1752066.936 519904.109 0, 1751766.208 519859.852 0, 1751465.478 519815.614 0, 1751164.745 519771.393 0, 1750864.009 519727.19 0, 1750563.271 519683.004 0, 1750262.531 519638.836 0,
+ 1749961.787 519594.686 0, 1749661.042 519550.554 0, 1749360.293 519506.439 0, 1749059.542 519462.342 0, 1748757.452 519418.067 0, 1748458.032 519374.201 0, 1748157.273 519330.157 0, 1747856.512 519286.131 0, 1747555.748 519242.122 0, 1747254.981 519198.132 0,
+ 1746954.212 519154.159 0, 1746653.44 519110.203 0, 1746352.666 519066.266 0, 1746051.889 519022.346 0, 1745751.109 518978.443 0, 1745450.327 518934.559 0, 1745149.542 518890.692 0, 1744848.755 518846.843 0, 1744547.965 518803.011 0, 1744247.173 518759.197 0,
+ 1743946.378 518715.401 0, 1743645.58 518671.623 0, 1743344.78 518627.862 0, 1743043.977 518584.119 0, 1742743.172 518540.394 0, 1742442.364 518496.687 0, 1742141.553 518452.997 0, 1741840.74 518409.325 0, 1741538.587 518365.476 0, 1740740.925 523863.189 0,
+ 1739943.202 529361.319 0, 1740244.705 529405.073 0, 1740544.871 529448.651 0, 1740845.034 529492.247 0, 1741145.195 529535.86 0, 1741445.353 529579.492 0, 1741745.509 529623.14 0, 1742045.662 529666.807 0, 1742345.812 529710.491 0, 1742645.96 529754.193 0,
+ 1742946.105 529797.912 0, 1743246.248 529841.65 0, 1743546.388 529885.404 0, 1743846.526 529929.177 0, 1744146.661 529972.967 0, 1744446.793 530016.775 0, 1744746.923 530060.6 0, 1745047.05 530104.443 0, 1745347.175 530148.304 0, 1745647.297 530192.183 0,
+ 1745947.417 530236.079 0, 1746247.534 530279.993 0, 1746547.648 530323.924 0, 1746847.76 530367.873 0, 1747146.536 530411.645 0, 1747447.976 530455.825 0, 1747748.08 530499.827 0, 1748048.181 530543.847 0, 1748348.28 530587.884 0, 1748648.376 530631.939 0,
+ 1748948.47 530676.012 0, 1749248.561 530720.102 0, 1749548.649 530764.211 0, 1749848.735 530808.336 0, 1750148.819 530852.48 0, 1750448.899 530896.641 0, 1750748.977 530940.82 0, 1751049.053 530985.016 0, 1751349.126 531029.23 0, 1751649.196 531073.462 0,
+ 1751949.263 531117.711 0, 1752249.329 531161.978 0, 1752549.391 531206.263 0, 1752849.451 531250.565 0, 1753149.508 531294.885 0, 1753449.563 531339.223 0, 1753749.615 531383.579 0, 1754049.664 531427.952 0, 1754348.379 531472.145 0, 1755161.632 525976.292 0,
+ 1755974.823 520480.854 0))
+
+POLYGON ((1768747.535 533623.661 0, 1768448.944 533578.623 0, 1768149.021 533533.402 0, 1767849.096 533488.199 0, 1767549.167 533443.014 0, 1767249.237 533397.847 0, 1766949.303 533352.697 0, 1766649.367 533307.564 0, 1766349.428 533262.45 0, 1766049.487 533217.353 0,
+ 1765749.543 533172.273 0, 1765449.596 533127.212 0, 1765149.647 533082.168 0, 1764849.695 533037.141 0, 1764549.74 532992.133 0, 1764249.782 532947.142 0, 1763949.822 532902.168 0, 1763649.86 532857.212 0, 1763349.895 532812.274 0, 1763049.927 532767.354 0,
+ 1762749.956 532722.451 0, 1762449.983 532677.566 0, 1762150.007 532632.699 0, 1761850.028 532587.849 0, 1761548.717 532542.818 0, 1761250.064 532498.202 0, 1760950.077 532453.405 0, 1760650.088 532408.626 0, 1760350.096 532363.865 0, 1760050.102 532319.121 0,
+ 1759750.105 532274.395 0, 1759450.105 532229.686 0, 1759150.103 532184.995 0, 1758850.098 532140.322 0, 1758550.091 532095.666 0, 1758250.081 532051.028 0, 1757950.068 532006.408 0, 1757650.053 531961.805 0, 1757350.035 531917.221 0, 1757050.014 531872.653 0,
+ 1756749.991 531828.104 0, 1756449.965 531783.572 0, 1756149.937 531739.057 0, 1755849.906 531694.561 0, 1755549.872 531650.082 0, 1755249.835 531605.62 0, 1754949.797 531561.177 0, 1754649.755 531516.751 0, 1754348.379 531472.145 0, 1753535.065 536968.412 0,
+ 1752721.69 542465.089 0, 1753022.416 542509.598 0, 1753321.811 542553.928 0, 1753621.203 542598.276 0, 1753920.592 542642.642 0, 1754219.979 542687.025 0, 1754519.363 542731.425 0, 1754818.744 542775.844 0, 1755118.123 542820.28 0, 1755417.5 542864.733 0,
+ 1755716.873 542909.204 0, 1756016.244 542953.693 0, 1756315.613 542998.2 0, 1756614.978 543042.724 0, 1756914.342 543087.265 0, 1757213.702 543131.825 0, 1757513.06 543176.402 0, 1757812.415 543220.996 0, 1758111.768 543265.608 0, 1758411.118 543310.238 0,
+ 1758710.465 543354.885 0, 1759009.81 543399.55 0, 1759309.152 543444.233 0, 1759608.492 543488.933 0, 1759906.501 543533.453 0, 1760207.163 543578.387 0, 1760506.495 543623.14 0, 1760805.824 543667.91 0, 1761105.15 543712.699 0, 1761404.474 543757.505 0,
+ 1761703.795 543802.328 0, 1762003.113 543847.169 0, 1762302.429 543892.028 0, 1762601.742 543936.905 0, 1762901.053 543981.799 0, 1763200.361 544026.71 0, 1763499.666 544071.64 0, 1763798.968 544116.586 0, 1764098.268 544161.551 0, 1764397.566 544206.533 0,
+ 1764696.86 544251.533 0, 1764996.152 544296.55 0, 1765295.442 544341.585 0, 1765594.728 544386.638 0, 1765894.012 544431.708 0, 1766193.294 544476.796 0, 1766492.572 544521.901 0, 1766791.849 544567.024 0, 1767089.796 544611.965 0, 1767918.696 539117.608 0,
+ 1768747.535 533623.661 0))
+
+POLYGON ((1781451.779 546799.424 0, 1781153.957 546753.642 0, 1780854.81 546707.674 0, 1780555.66 546661.723 0, 1780256.507 546615.79 0, 1779957.352 546569.874 0, 1779658.193 546523.976 0, 1779359.032 546478.096 0, 1779059.869 546432.233 0, 1778760.702 546386.388 0,
+ 1778461.533 546340.56 0, 1778162.362 546294.751 0, 1777863.187 546248.958 0, 1777564.01 546203.184 0, 1777264.83 546157.427 0, 1776965.648 546111.687 0, 1776666.463 546065.965 0, 1776367.275 546020.261 0, 1776068.084 545974.574 0, 1775768.891 545928.905 0,
+ 1775469.695 545883.254 0, 1775170.496 545837.62 0, 1774871.295 545792.004 0, 1774572.091 545746.405 0, 1774271.56 545700.623 0, 1773973.675 545655.261 0, 1773674.463 545609.715 0, 1773375.248 545564.187 0, 1773076.031 545518.677 0, 1772776.811 545473.184 0,
+ 1772477.588 545427.708 0, 1772178.363 545382.251 0, 1771879.135 545336.811 0, 1771579.904 545291.388 0, 1771280.67 545245.983 0, 1770981.434 545200.596 0, 1770682.195 545155.226 0, 1770382.954 545109.874 0, 1770083.71 545064.54 0, 1769784.463 545019.223 0,
+ 1769485.214 544973.924 0, 1769185.961 544928.643 0, 1768886.707 544883.379 0, 1768587.449 544838.132 0, 1768288.189 544792.904 0, 1767988.926 544747.692 0, 1767689.661 544702.499 0, 1767390.393 544657.323 0, 1767089.796 544611.965 0, 1766260.834 550106.729 0,
+ 1765431.811 555601.896 0, 1765731.758 555647.157 0, 1766030.379 555692.235 0, 1766328.998 555737.331 0, 1766627.614 555782.444 0, 1766926.227 555827.575 0, 1767224.838 555872.724 0, 1767523.446 555917.89 0, 1767822.051 555963.073 0, 1768120.654 556008.275 0,
+ 1768419.254 556053.494 0, 1768717.851 556098.73 0, 1769016.446 556143.984 0, 1769315.038 556189.256 0, 1769613.627 556234.545 0, 1769912.214 556279.851 0, 1770210.798 556325.176 0, 1770509.379 556370.518 0, 1770807.958 556415.877 0, 1771106.534 556461.254 0,
+ 1771405.108 556506.649 0, 1771703.678 556552.061 0, 1772002.246 556597.49 0, 1772300.812 556642.938 0, 1772598.052 556688.201 0, 1772897.934 556733.885 0, 1773196.491 556779.385 0, 1773495.046 556824.903 0, 1773793.598 556870.438 0, 1774092.147 556915.991 0,
+ 1774390.694 556961.561 0, 1774689.238 557007.149 0, 1774987.779 557052.754 0, 1775286.317 557098.377 0, 1775584.853 557144.018 0, 1775883.386 557189.676 0, 1776181.917 557235.352 0, 1776480.445 557281.045 0, 1776778.97 557326.756 0, 1777077.492 557372.484 0,
+ 1777376.012 557418.23 0, 1777674.529 557463.994 0, 1777973.043 557509.775 0, 1778271.555 557555.574 0, 1778570.064 557601.39 0, 1778868.57 557647.224 0, 1779167.073 557693.076 0, 1779465.574 557738.945 0, 1779762.752 557784.628 0, 1780607.296 552291.824 0,
+ 1781451.779 546799.424 0))
+
+POLYGON ((1794087.469 560007.839 0, 1793790.419 559961.315 0, 1793492.049 559914.603 0, 1793193.677 559867.909 0, 1792895.301 559821.232 0, 1792596.923 559774.572 0, 1792298.542 559727.93 0, 1792000.158 559681.306 0, 1791701.771 559634.699 0, 1791403.382 559588.11 0,
+ 1791104.99 559541.538 0, 1790806.595 559494.984 0, 1790508.198 559448.448 0, 1790209.798 559401.929 0, 1789911.395 559355.427 0, 1789612.989 559308.943 0, 1789314.581 559262.477 0, 1789016.169 559216.028 0, 1788717.756 559169.597 0, 1788419.339 559123.184 0,
+ 1788120.919 559076.788 0, 1787822.497 559030.409 0, 1787524.073 558984.048 0, 1787225.645 558937.705 0, 1786925.896 558891.175 0, 1786628.782 558845.071 0, 1786330.346 558798.781 0, 1786031.908 558752.507 0, 1785733.466 558706.252 0, 1785435.022 558660.014 0,
+ 1785136.576 558613.794 0, 1784838.126 558567.591 0, 1784539.674 558521.406 0, 1784241.22 558475.238 0, 1783942.762 558429.088 0, 1783644.302 558382.955 0, 1783345.839 558336.84 0, 1783047.373 558290.743 0, 1782748.905 558244.663 0, 1782450.434 558198.601 0,
+ 1782151.96 558152.556 0, 1781853.484 558106.529 0, 1781555.004 558060.52 0, 1781256.523 558014.528 0, 1780958.038 557968.553 0, 1780659.551 557922.596 0, 1780361.061 557876.657 0, 1780062.568 557830.735 0, 1779762.752 557784.628 0, 1778918.146 563277.832 0,
+ 1778073.479 568771.435 0, 1778372.645 568817.442 0, 1778670.491 568863.264 0, 1778968.335 568909.104 0, 1779266.175 568954.961 0, 1779564.013 569000.836 0, 1779861.849 569046.728 0, 1780159.681 569092.638 0, 1780457.511 569138.566 0, 1780755.338 569184.511 0,
+ 1781053.163 569230.473 0, 1781350.984 569276.453 0, 1781648.803 569322.451 0, 1781946.62 569368.466 0, 1782244.433 569414.498 0, 1782542.244 569460.548 0, 1782840.052 569506.616 0, 1783137.858 569552.701 0, 1783435.661 569598.804 0, 1783733.461 569644.924 0,
+ 1784031.258 569691.062 0, 1784329.053 569737.217 0, 1784626.845 569783.39 0, 1784924.634 569829.58 0, 1785221.104 569875.584 0, 1785520.204 569922.014 0, 1785817.985 569968.256 0, 1786115.764 570014.517 0, 1786413.539 570060.795 0, 1786711.312 570107.09 0,
+ 1787009.082 570153.403 0, 1787306.85 570199.734 0, 1787604.614 570246.082 0, 1787902.376 570292.448 0, 1788200.136 570338.831 0, 1788497.892 570385.231 0, 1788795.646 570431.65 0, 1789093.397 570478.085 0, 1789391.145 570524.539 0, 1789688.891 570571.009 0,
+ 1789986.634 570617.498 0, 1790284.374 570664.003 0, 1790582.111 570710.527 0, 1790879.846 570757.068 0, 1791177.578 570803.626 0, 1791475.307 570850.202 0, 1791773.033 570896.795 0, 1792070.757 570943.406 0, 1792367.163 570989.829 0, 1793227.347 565498.635 0,
+ 1794087.469 560007.839 0))
+
+POLYGON ((1806654.523 573248.596 0, 1806358.247 573201.336 0, 1806060.656 573153.884 0, 1805763.062 573106.45 0, 1805465.466 573059.033 0, 1805167.867 573011.634 0, 1804870.265 572964.252 0, 1804572.66 572916.888 0, 1804275.053 572869.541 0, 1803977.442 572822.212 0,
+ 1803679.829 572774.9 0, 1803382.213 572727.606 0, 1803084.595 572680.329 0, 1802786.973 572633.07 0, 1802489.349 572585.828 0, 1802191.722 572538.604 0, 1801894.092 572491.397 0, 1801596.46 572444.208 0, 1801298.824 572397.036 0, 1801001.186 572349.882 0,
+ 1800703.545 572302.746 0, 1800405.902 572255.627 0, 1800108.255 572208.525 0, 1799810.606 572161.441 0, 1799511.641 572114.167 0, 1799215.299 572067.326 0, 1798917.642 572020.294 0, 1798619.981 571973.28 0, 1798322.318 571926.284 0, 1798024.652 571879.305 0,
+ 1797726.984 571832.344 0, 1797429.313 571785.4 0, 1797131.638 571738.473 0, 1796833.962 571691.564 0, 1796536.282 571644.673 0, 1796238.599 571597.799 0, 1795940.914 571550.943 0, 1795643.226 571504.104 0, 1795345.536 571457.283 0, 1795047.842 571410.479 0,
+ 1794750.146 571363.693 0, 1794452.447 571316.925 0, 1794154.746 571270.174 0, 1793857.041 571223.44 0, 1793559.334 571176.724 0, 1793261.624 571130.025 0, 1792963.911 571083.344 0, 1792666.196 571036.681 0, 1792367.163 570989.829 0, 1791506.917 576481.417 0,
+ 1790646.61 581973.397 0, 1790944.993 582020.147 0, 1791242.062 582066.709 0, 1791539.128 582113.289 0, 1791836.192 582159.886 0, 1792133.253 582206.5 0, 1792430.311 582253.133 0, 1792727.366 582299.782 0, 1793024.418 582346.449 0, 1793321.468 582393.134 0,
+ 1793618.515 582439.836 0, 1793915.559 582486.555 0, 1794212.601 582533.293 0, 1794509.64 582580.047 0, 1794806.676 582626.819 0, 1795103.709 582673.609 0, 1795400.739 582720.415 0, 1795697.767 582767.24 0, 1795994.792 582814.082 0, 1796291.814 582860.941 0,
+ 1796588.834 582907.818 0, 1796885.851 582954.713 0, 1797182.865 583001.624 0, 1797479.876 583048.554 0, 1797775.574 583095.293 0, 1798073.89 583142.465 0, 1798370.893 583189.447 0, 1798667.893 583236.446 0, 1798964.89 583283.463 0, 1799261.885 583330.497 0,
+ 1799558.877 583377.549 0, 1799855.866 583424.618 0, 1800152.852 583471.704 0, 1800449.835 583518.809 0, 1800746.816 583565.93 0, 1801043.794 583613.069 0, 1801340.769 583660.226 0, 1801637.742 583707.4 0, 1801934.711 583754.592 0, 1802231.678 583801.801 0,
+ 1802528.642 583849.027 0, 1802825.604 583896.271 0, 1803122.562 583943.532 0, 1803419.518 583990.811 0, 1803716.471 584038.108 0, 1804013.421 584085.422 0, 1804310.368 584132.753 0, 1804607.313 584180.102 0, 1804902.946 584227.259 0, 1805778.766 578737.732 0,
+ 1806654.523 573248.596 0))
+
+POLYGON ((1819152.857 586521.39 0, 1818857.357 586473.397 0, 1818560.547 586425.21 0, 1818263.735 586377.04 0, 1817966.919 586328.887 0, 1817670.101 586280.752 0, 1817373.28 586232.634 0, 1817076.456 586184.534 0, 1816779.63 586136.451 0, 1816482.8 586088.386 0,
+ 1816185.968 586040.338 0, 1815889.133 585992.308 0, 1815592.295 585944.295 0, 1815295.454 585896.299 0, 1814998.611 585848.321 0, 1814701.764 585800.361 0, 1814404.915 585752.418 0, 1814108.063 585704.492 0, 1813811.208 585656.584 0, 1813514.35 585608.694 0,
+ 1813217.49 585560.821 0, 1812920.626 585512.965 0, 1812623.76 585465.127 0, 1812326.891 585417.306 0, 1812028.712 585369.292 0, 1811733.145 585321.717 0, 1811436.267 585273.949 0, 1811139.387 585226.198 0, 1810842.504 585178.465 0, 1810545.618 585130.749 0,
+ 1810248.73 585083.051 0, 1809951.838 585035.37 0, 1809654.944 584987.706 0, 1809358.047 584940.06 0, 1809061.147 584892.432 0, 1808764.244 584844.821 0, 1808467.339 584797.227 0, 1808170.43 584749.651 0, 1807873.519 584702.093 0, 1807576.606 584654.552 0,
+ 1807279.689 584607.028 0, 1806982.769 584559.522 0, 1806685.847 584512.033 0, 1806388.922 584464.562 0, 1806091.994 584417.108 0, 1805795.064 584369.672 0, 1805498.13 584322.253 0, 1805201.194 584274.852 0, 1804902.946 584227.259 0, 1804027.064 589717.175 0,
+ 1803151.121 595207.475 0, 1803448.72 595254.964 0, 1803745.01 595302.262 0, 1804041.297 595349.578 0, 1804337.582 595396.911 0, 1804633.863 595444.261 0, 1804930.142 595491.629 0, 1805226.418 595539.014 0, 1805522.691 595586.417 0, 1805818.962 595633.837 0,
+ 1806115.229 595681.275 0, 1806411.494 595728.73 0, 1806707.756 595776.203 0, 1807004.016 595823.693 0, 1807300.272 595871.2 0, 1807596.526 595918.725 0, 1807892.777 595966.267 0, 1808189.025 596013.827 0, 1808485.27 596061.404 0, 1808781.513 596108.998 0,
+ 1809077.752 596156.61 0, 1809373.989 596204.24 0, 1809670.223 596251.887 0, 1809966.455 596299.551 0, 1810261.378 596347.023 0, 1810558.909 596394.932 0, 1810855.132 596442.648 0, 1811151.352 596490.382 0, 1811447.569 596538.134 0, 1811743.783 596585.903 0,
+ 1812039.995 596633.689 0, 1812336.204 596681.493 0, 1812632.41 596729.314 0, 1812928.613 596777.153 0, 1813224.813 596825.009 0, 1813521.011 596872.882 0, 1813817.205 596920.773 0, 1814113.397 596968.682 0, 1814409.586 597016.608 0, 1814705.773 597064.551 0,
+ 1815001.956 597112.511 0, 1815298.137 597160.49 0, 1815594.315 597208.485 0, 1815890.489 597256.498 0, 1816186.662 597304.528 0, 1816482.831 597352.576 0, 1816778.997 597400.642 0, 1817075.161 597448.724 0, 1817370.019 597496.613 0, 1818261.469 592008.809 0,
+ 1819152.857 586521.39 0))
+
+POLYGON ((1715714.229 492252.813 0, 1715413.223 492210.884 0, 1715110.865 492168.786 0, 1714808.505 492126.704 0, 1714506.143 492084.641 0, 1714203.778 492042.596 0, 1713901.41 492000.568 0, 1713599.04 491958.558 0, 1713296.668 491916.566 0, 1712994.293 491874.592 0,
+ 1712691.916 491832.635 0, 1712389.536 491790.696 0, 1712087.153 491748.775 0, 1711784.769 491706.872 0, 1711482.381 491664.987 0, 1711179.992 491623.119 0, 1710877.6 491581.27 0, 1710575.205 491539.438 0, 1710272.808 491497.623 0, 1709970.408 491455.827 0,
+ 1709668.006 491414.049 0, 1709365.602 491372.288 0, 1709063.195 491330.545 0, 1708760.786 491288.82 0, 1708457.023 491246.926 0, 1708155.96 491205.423 0, 1707853.543 491163.751 0, 1707551.124 491122.097 0, 1707248.702 491080.461 0, 1706946.278 491038.843 0,
+ 1706643.851 490997.242 0, 1706341.422 490955.659 0, 1706038.991 490914.094 0, 1705736.557 490872.547 0, 1705434.121 490831.018 0, 1705131.682 490789.506 0, 1704829.241 490748.013 0, 1704526.797 490706.537 0, 1704224.351 490665.078 0, 1703921.902 490623.638 0,
+ 1703619.451 490582.216 0, 1703316.998 490540.811 0, 1703014.542 490499.424 0, 1702712.084 490458.055 0, 1702409.623 490416.703 0, 1702107.16 490375.37 0, 1701804.694 490334.054 0, 1701502.226 490292.756 0, 1701198.404 490251.292 0, 1700447.597 495753.871 0,
+ 1699696.732 501256.879 0, 1699999.904 501298.255 0, 1700301.724 501339.465 0, 1700603.542 501380.692 0, 1700905.357 501421.937 0, 1701207.17 501463.2 0, 1701508.981 501504.48 0, 1701810.789 501545.778 0, 1702112.595 501587.095 0, 1702414.398 501628.428 0,
+ 1702716.199 501669.78 0, 1703017.997 501711.149 0, 1703319.793 501752.536 0, 1703621.587 501793.941 0, 1703923.378 501835.364 0, 1704225.166 501876.804 0, 1704526.953 501918.263 0, 1704828.736 501959.739 0, 1705130.518 502001.232 0, 1705432.296 502042.744 0,
+ 1705734.073 502084.273 0, 1706035.847 502125.82 0, 1706337.618 502167.385 0, 1706639.387 502208.967 0, 1706939.806 502250.382 0, 1707242.918 502292.185 0, 1707544.68 502333.821 0, 1707846.439 502375.475 0, 1708148.196 502417.146 0, 1708449.951 502458.835 0,
+ 1708751.702 502500.542 0, 1709053.452 502542.267 0, 1709355.199 502584.009 0, 1709656.944 502625.769 0, 1709958.686 502667.547 0, 1710260.425 502709.343 0, 1710562.162 502751.156 0, 1710863.897 502792.987 0, 1711165.629 502834.836 0, 1711467.359 502876.703 0,
+ 1711769.087 502918.587 0, 1712070.811 502960.489 0, 1712372.534 503002.409 0, 1712674.254 503044.347 0, 1712975.971 503086.303 0, 1713277.686 503128.276 0, 1713579.399 503170.267 0, 1713881.109 503212.275 0, 1714181.47 503254.114 0, 1714947.879 497753.25 0,
+ 1715714.229 492252.813 0))
+
+POLYGON ((1728660.508 505292.264 0, 1728360.263 505249.576 0, 1728058.673 505206.715 0, 1727757.08 505163.872 0, 1727455.485 505121.046 0, 1727153.888 505078.239 0, 1726852.287 505035.449 0, 1726550.685 504992.676 0, 1726249.079 504949.922 0, 1725947.471 504907.185 0,
+ 1725645.861 504864.466 0, 1725344.248 504821.765 0, 1725042.633 504779.082 0, 1724741.015 504736.416 0, 1724439.395 504693.768 0, 1724137.772 504651.138 0, 1723836.147 504608.525 0, 1723534.519 504565.931 0, 1723232.888 504523.354 0, 1722931.255 504480.795 0,
+ 1722629.62 504438.253 0, 1722327.982 504395.73 0, 1722026.342 504353.224 0, 1721724.699 504310.735 0, 1721421.709 504268.076 0, 1721121.405 504225.812 0, 1720819.755 504183.378 0, 1720518.102 504140.96 0, 1720216.447 504098.561 0, 1719914.789 504056.179 0,
+ 1719613.129 504013.815 0, 1719311.466 503971.469 0, 1719009.8 503929.141 0, 1718708.132 503886.83 0, 1718406.462 503844.538 0, 1718104.789 503802.262 0, 1717803.114 503760.005 0, 1717501.436 503717.765 0, 1717199.756 503675.544 0, 1716898.073 503633.34 0,
+ 1716596.388 503591.153 0, 1716294.7 503548.985 0, 1715993.01 503506.834 0, 1715691.317 503464.701 0, 1715389.622 503422.586 0, 1715087.924 503380.488 0, 1714786.224 503338.408 0, 1714484.521 503296.346 0, 1714181.47 503254.114 0, 1713415.002 508755.405 0,
+ 1712648.474 514257.118 0, 1712950.875 514299.259 0, 1713251.93 514341.231 0, 1713552.983 514383.22 0, 1713854.033 514425.227 0, 1714155.08 514467.252 0, 1714456.125 514509.295 0, 1714757.168 514551.355 0, 1715058.208 514593.433 0, 1715359.246 514635.529 0,
+ 1715660.281 514677.642 0, 1715961.314 514719.774 0, 1716262.344 514761.922 0, 1716563.372 514804.089 0, 1716864.397 514846.273 0, 1717165.42 514888.475 0, 1717466.44 514930.695 0, 1717767.458 514972.933 0, 1718068.474 515015.188 0, 1718369.486 515057.461 0,
+ 1718670.497 515099.752 0, 1718971.505 515142.06 0, 1719272.51 515184.386 0, 1719573.513 515226.73 0, 1719873.172 515268.903 0, 1720175.511 515311.471 0, 1720476.507 515353.868 0, 1720777.5 515396.282 0, 1721078.49 515438.715 0, 1721379.478 515481.165 0,
+ 1721680.464 515523.633 0, 1721981.446 515566.118 0, 1722282.427 515608.621 0, 1722583.405 515651.142 0, 1722884.38 515693.681 0, 1723185.353 515736.237 0, 1723486.324 515778.812 0, 1723787.292 515821.403 0, 1724088.257 515864.013 0, 1724389.22 515906.64 0,
+ 1724690.18 515949.285 0, 1724991.138 515991.948 0, 1725292.094 516034.628 0, 1725593.046 516077.326 0, 1725893.997 516120.042 0, 1726194.945 516162.776 0, 1726495.89 516205.527 0, 1726796.833 516248.296 0, 1727096.432 516290.892 0, 1727878.5 510791.367 0,
+ 1728660.508 505292.264 0))
+
+POLYGON ((1741538.587 518365.476 0, 1741239.107 518322.034 0, 1740938.286 518278.415 0, 1740637.462 518234.813 0, 1740336.637 518191.23 0, 1740035.808 518147.664 0, 1739734.977 518104.116 0, 1739434.144 518060.585 0, 1739133.307 518017.072 0, 1738832.469 517973.577 0,
+ 1738531.627 517930.1 0, 1738230.784 517886.64 0, 1737929.937 517843.198 0, 1737629.088 517799.774 0, 1737328.237 517756.368 0, 1737027.383 517712.979 0, 1736726.526 517669.608 0, 1736425.667 517626.254 0, 1736124.805 517582.918 0, 1735823.941 517539.6 0,
+ 1735523.074 517496.3 0, 1735222.205 517453.018 0, 1734921.333 517409.753 0, 1734620.458 517366.506 0, 1734318.242 517323.084 0, 1734018.702 517280.064 0, 1733717.82 517236.87 0, 1733416.935 517193.694 0, 1733116.048 517150.535 0, 1732815.158 517107.395 0,
+ 1732514.266 517064.271 0, 1732213.371 517021.166 0, 1731912.474 516978.078 0, 1731611.574 516935.008 0, 1731310.672 516891.956 0, 1731009.767 516848.921 0, 1730708.859 516805.904 0, 1730407.949 516762.905 0, 1730107.037 516719.923 0, 1729806.122 516676.96 0,
+ 1729505.204 516634.014 0, 1729204.284 516591.085 0, 1728903.362 516548.175 0, 1728602.436 516505.282 0, 1728301.509 516462.406 0, 1728000.579 516419.549 0, 1727699.646 516376.709 0, 1727398.711 516333.887 0, 1727096.432 516290.892 0, 1726314.305 521790.837 0,
+ 1725532.119 527291.198 0, 1725833.747 527334.1 0, 1726134.034 527376.83 0, 1726434.32 527419.578 0, 1726734.602 527462.343 0, 1727034.883 527505.126 0, 1727335.16 527547.927 0, 1727635.436 527590.745 0, 1727935.708 527633.581 0, 1728235.978 527676.435 0,
+ 1728536.246 527719.306 0, 1728836.511 527762.195 0, 1729136.774 527805.102 0, 1729437.034 527848.026 0, 1729737.291 527890.968 0, 1730037.546 527933.928 0, 1730337.799 527976.906 0, 1730638.049 528019.901 0, 1730938.296 528062.913 0, 1731238.541 528105.944 0,
+ 1731538.783 528148.992 0, 1731839.023 528192.058 0, 1732139.261 528235.141 0, 1732439.495 528278.242 0, 1732738.391 528321.169 0, 1733039.957 528364.497 0, 1733340.184 528407.651 0, 1733640.409 528450.823 0, 1733940.631 528494.013 0, 1734240.85 528537.22 0,
+ 1734541.067 528580.445 0, 1734841.282 528623.687 0, 1735141.494 528666.947 0, 1735441.703 528710.225 0, 1735741.91 528753.521 0, 1736042.114 528796.834 0, 1736342.316 528840.164 0, 1736642.515 528883.513 0, 1736942.711 528926.879 0, 1737242.905 528970.263 0,
+ 1737543.097 529013.664 0, 1737843.286 529057.084 0, 1738143.472 529100.52 0, 1738443.656 529143.975 0, 1738743.837 529187.447 0, 1739044.016 529230.937 0, 1739344.192 529274.444 0, 1739644.366 529317.97 0, 1739943.202 529361.319 0, 1740740.925 523863.189 0,
+ 1741538.587 518365.476 0))
+
+POLYGON ((1754348.379 531472.145 0, 1754049.664 531427.952 0, 1753749.615 531383.579 0, 1753449.563 531339.223 0, 1753149.508 531294.885 0, 1752849.451 531250.565 0, 1752549.391 531206.263 0, 1752249.329 531161.978 0, 1751949.263 531117.711 0, 1751649.196 531073.462 0,
+ 1751349.126 531029.23 0, 1751049.053 530985.016 0, 1750748.977 530940.82 0, 1750448.899 530896.641 0, 1750148.819 530852.48 0, 1749848.735 530808.336 0, 1749548.649 530764.211 0, 1749248.561 530720.102 0, 1748948.47 530676.012 0, 1748648.376 530631.939 0,
+ 1748348.28 530587.884 0, 1748048.181 530543.847 0, 1747748.08 530499.827 0, 1747447.976 530455.825 0, 1747146.536 530411.645 0, 1746847.76 530367.873 0, 1746547.648 530323.924 0, 1746247.534 530279.993 0, 1745947.417 530236.079 0, 1745647.297 530192.183 0,
+ 1745347.175 530148.304 0, 1745047.05 530104.443 0, 1744746.923 530060.6 0, 1744446.793 530016.775 0, 1744146.661 529972.967 0, 1743846.526 529929.177 0, 1743546.388 529885.404 0, 1743246.248 529841.65 0, 1742946.105 529797.912 0, 1742645.96 529754.193 0,
+ 1742345.812 529710.491 0, 1742045.662 529666.807 0, 1741745.509 529623.14 0, 1741445.353 529579.492 0, 1741145.195 529535.86 0, 1740845.034 529492.247 0, 1740544.871 529448.651 0, 1740244.705 529405.073 0, 1739943.202 529361.319 0, 1739145.419 534859.861 0,
+ 1738347.577 540358.814 0, 1738648.43 540402.474 0, 1738947.948 540445.958 0, 1739247.464 540489.46 0, 1739546.978 540532.979 0, 1739846.489 540576.517 0, 1740145.997 540620.071 0, 1740445.503 540663.644 0, 1740745.006 540707.234 0, 1741044.507 540750.841 0,
+ 1741344.005 540794.466 0, 1741643.5 540838.109 0, 1741942.993 540881.77 0, 1742242.484 540925.448 0, 1742541.971 540969.144 0, 1742841.457 541012.857 0, 1743140.939 541056.588 0, 1743440.419 541100.336 0, 1743739.897 541144.103 0, 1744039.372 541187.887 0,
+ 1744338.844 541231.688 0, 1744638.314 541275.507 0, 1744937.781 541319.344 0, 1745237.246 541363.198 0, 1745535.377 541406.875 0, 1745836.167 541450.96 0, 1746135.624 541494.867 0, 1746435.078 541538.792 0, 1746734.53 541582.735 0, 1747033.979 541626.695 0,
+ 1747333.426 541670.672 0, 1747632.87 541714.668 0, 1747932.311 541758.681 0, 1748231.75 541802.711 0, 1748531.186 541846.76 0, 1748830.619 541890.826 0, 1749130.05 541934.909 0, 1749429.479 541979.01 0, 1749728.904 542023.129 0, 1750028.328 542067.265 0,
+ 1750327.748 542111.419 0, 1750627.166 542155.591 0, 1750926.582 542199.78 0, 1751225.994 542243.987 0, 1751525.405 542288.211 0, 1751824.812 542332.454 0, 1752124.217 542376.713 0, 1752423.619 542420.991 0, 1752721.69 542465.089 0, 1753535.065 536968.412 0,
+ 1754348.379 531472.145 0))
+
+POLYGON ((1767089.796 544611.965 0, 1766791.849 544567.024 0, 1766492.572 544521.901 0, 1766193.294 544476.796 0, 1765894.012 544431.708 0, 1765594.728 544386.638 0, 1765295.442 544341.585 0, 1764996.152 544296.55 0, 1764696.86 544251.533 0, 1764397.566 544206.533 0,
+ 1764098.268 544161.551 0, 1763798.968 544116.586 0, 1763499.666 544071.64 0, 1763200.361 544026.71 0, 1762901.053 543981.799 0, 1762601.742 543936.905 0, 1762302.429 543892.028 0, 1762003.113 543847.169 0, 1761703.795 543802.328 0, 1761404.474 543757.505 0,
+ 1761105.15 543712.699 0, 1760805.824 543667.91 0, 1760506.495 543623.14 0, 1760207.163 543578.387 0, 1759906.501 543533.453 0, 1759608.492 543488.933 0, 1759309.152 543444.233 0, 1759009.81 543399.55 0, 1758710.465 543354.885 0, 1758411.118 543310.238 0,
+ 1758111.768 543265.608 0, 1757812.415 543220.996 0, 1757513.06 543176.402 0, 1757213.702 543131.825 0, 1756914.342 543087.265 0, 1756614.978 543042.724 0, 1756315.613 542998.2 0, 1756016.244 542953.693 0, 1755716.873 542909.204 0, 1755417.5 542864.733 0,
+ 1755118.123 542820.28 0, 1754818.744 542775.844 0, 1754519.363 542731.425 0, 1754219.979 542687.025 0, 1753920.592 542642.642 0, 1753621.203 542598.276 0, 1753321.811 542553.928 0, 1753022.416 542509.598 0, 1752721.69 542465.089 0, 1751908.255 547962.173 0,
+ 1751094.761 553459.661 0, 1751394.837 553504.074 0, 1751693.584 553548.308 0, 1751992.329 553592.56 0, 1752291.071 553636.83 0, 1752589.811 553681.117 0, 1752888.548 553725.422 0, 1753187.282 553769.744 0, 1753486.014 553814.084 0, 1753784.743 553858.441 0,
+ 1754083.47 553902.816 0, 1754382.194 553947.209 0, 1754680.915 553991.619 0, 1754979.634 554036.047 0, 1755278.35 554080.493 0, 1755577.063 554124.955 0, 1755875.774 554169.436 0, 1756174.483 554213.934 0, 1756473.188 554258.45 0, 1756771.891 554302.983 0,
+ 1757070.592 554347.534 0, 1757369.289 554392.103 0, 1757667.985 554436.689 0, 1757966.677 554481.292 0, 1758264.042 554525.715 0, 1758564.054 554570.552 0, 1758862.739 554615.209 0, 1759161.421 554659.883 0, 1759460.1 554704.574 0, 1759758.777 554749.283 0,
+ 1760057.451 554794.01 0, 1760356.123 554838.754 0, 1760654.792 554883.516 0, 1760953.458 554928.295 0, 1761252.121 554973.092 0, 1761550.782 555017.907 0, 1761849.441 555062.739 0, 1762148.096 555107.589 0, 1762446.749 555152.456 0, 1762745.4 555197.341 0,
+ 1763044.048 555242.243 0, 1763342.693 555287.164 0, 1763641.335 555332.101 0, 1763939.975 555377.056 0, 1764238.612 555422.029 0, 1764537.247 555467.019 0, 1764835.878 555512.027 0, 1765134.508 555557.053 0, 1765431.811 555601.896 0, 1766260.834 550106.729 0,
+ 1767089.796 544611.965 0))
+
+POLYGON ((1779762.752 557784.628 0, 1779465.574 557738.945 0, 1779167.073 557693.076 0, 1778868.57 557647.224 0, 1778570.064 557601.39 0, 1778271.555 557555.574 0, 1777973.043 557509.775 0, 1777674.529 557463.994 0, 1777376.012 557418.23 0, 1777077.492 557372.484 0,
+ 1776778.97 557326.756 0, 1776480.445 557281.045 0, 1776181.917 557235.352 0, 1775883.386 557189.676 0, 1775584.853 557144.018 0, 1775286.317 557098.377 0, 1774987.779 557052.754 0, 1774689.238 557007.149 0, 1774390.694 556961.561 0, 1774092.147 556915.991 0,
+ 1773793.598 556870.438 0, 1773495.046 556824.903 0, 1773196.491 556779.385 0, 1772897.934 556733.885 0, 1772598.052 556688.201 0, 1772300.812 556642.938 0, 1772002.246 556597.49 0, 1771703.678 556552.061 0, 1771405.108 556506.649 0, 1771106.534 556461.254 0,
+ 1770807.958 556415.877 0, 1770509.379 556370.518 0, 1770210.798 556325.176 0, 1769912.214 556279.851 0, 1769613.627 556234.545 0, 1769315.038 556189.256 0, 1769016.446 556143.984 0, 1768717.851 556098.73 0, 1768419.254 556053.494 0, 1768120.654 556008.275 0,
+ 1767822.051 555963.073 0, 1767523.446 555917.89 0, 1767224.838 555872.724 0, 1766926.227 555827.575 0, 1766627.614 555782.444 0, 1766328.998 555737.331 0, 1766030.379 555692.235 0, 1765731.758 555647.157 0, 1765431.811 555601.896 0, 1764602.728 561097.465 0,
+ 1763773.584 566593.431 0, 1764072.882 566638.594 0, 1764370.856 566683.574 0, 1764668.828 566728.572 0, 1764966.797 566773.588 0, 1765264.763 566818.621 0, 1765562.727 566863.672 0, 1765860.688 566908.74 0, 1766158.646 566953.826 0, 1766456.602 566998.929 0,
+ 1766754.555 567044.05 0, 1767052.506 567089.189 0, 1767350.454 567134.345 0, 1767648.399 567179.518 0, 1767946.341 567224.709 0, 1768244.281 567269.918 0, 1768542.218 567315.144 0, 1768840.153 567360.387 0, 1769138.085 567405.649 0, 1769436.014 567450.927 0,
+ 1769733.94 567496.224 0, 1770031.864 567541.537 0, 1770329.785 567586.869 0, 1770627.704 567632.218 0, 1770924.301 567677.383 0, 1771223.533 567722.968 0, 1771521.443 567768.369 0, 1771819.351 567813.788 0, 1772117.256 567859.225 0, 1772415.159 567904.679 0,
+ 1772713.059 567950.15 0, 1773010.956 567995.64 0, 1773308.85 568041.146 0, 1773606.742 568086.67 0, 1773904.631 568132.212 0, 1774202.517 568177.771 0, 1774500.401 568223.348 0, 1774798.282 568268.942 0, 1775096.161 568314.554 0, 1775394.036 568360.184 0,
+ 1775691.909 568405.831 0, 1775989.78 568451.495 0, 1776287.647 568497.177 0, 1776585.512 568542.877 0, 1776883.374 568588.594 0, 1777181.234 568634.328 0, 1777479.091 568680.08 0, 1777776.945 568725.85 0, 1778073.479 568771.435 0, 1778918.146 563277.832 0,
+ 1779762.752 557784.628 0))
+
+POLYGON ((1792367.163 570989.829 0, 1792070.757 570943.406 0, 1791773.033 570896.795 0, 1791475.307 570850.202 0, 1791177.578 570803.626 0, 1790879.846 570757.068 0, 1790582.111 570710.527 0, 1790284.374 570664.003 0, 1789986.634 570617.498 0, 1789688.891 570571.009 0,
+ 1789391.145 570524.539 0, 1789093.397 570478.085 0, 1788795.646 570431.65 0, 1788497.892 570385.231 0, 1788200.136 570338.831 0, 1787902.376 570292.448 0, 1787604.614 570246.082 0, 1787306.85 570199.734 0, 1787009.082 570153.403 0, 1786711.312 570107.09 0,
+ 1786413.539 570060.795 0, 1786115.764 570014.517 0, 1785817.985 569968.256 0, 1785520.204 569922.014 0, 1785221.104 569875.584 0, 1784924.634 569829.58 0, 1784626.845 569783.39 0, 1784329.053 569737.217 0, 1784031.258 569691.062 0, 1783733.461 569644.924 0,
+ 1783435.661 569598.804 0, 1783137.858 569552.701 0, 1782840.052 569506.616 0, 1782542.244 569460.548 0, 1782244.433 569414.498 0, 1781946.62 569368.466 0, 1781648.803 569322.451 0, 1781350.984 569276.453 0, 1781053.163 569230.473 0, 1780755.338 569184.511 0,
+ 1780457.511 569138.566 0, 1780159.681 569092.638 0, 1779861.849 569046.728 0, 1779564.013 569000.836 0, 1779266.175 568954.961 0, 1778968.335 568909.104 0, 1778670.491 568863.264 0, 1778372.645 568817.442 0, 1778073.479 568771.435 0, 1777228.751 574265.431 0,
+ 1776383.963 579759.819 0, 1776682.48 579805.727 0, 1776979.679 579851.45 0, 1777276.876 579897.19 0, 1777574.07 579942.947 0, 1777871.261 579988.723 0, 1778168.449 580034.515 0, 1778465.635 580080.326 0, 1778762.818 580126.153 0, 1779059.999 580171.998 0,
+ 1779357.177 580217.861 0, 1779654.352 580263.741 0, 1779951.524 580309.639 0, 1780248.694 580355.554 0, 1780545.861 580401.487 0, 1780843.025 580447.437 0, 1781140.186 580493.404 0, 1781437.345 580539.39 0, 1781734.501 580585.392 0, 1782031.655 580631.412 0,
+ 1782328.806 580677.45 0, 1782625.954 580723.505 0, 1782923.099 580769.577 0, 1783220.241 580815.667 0, 1783516.068 580861.571 0, 1783814.518 580907.9 0, 1784111.653 580954.042 0, 1784408.785 581000.202 0, 1784705.914 581046.38 0, 1785003.04 581092.575 0,
+ 1785300.164 581138.787 0, 1785597.284 581185.017 0, 1785894.402 581231.265 0, 1786191.518 581277.53 0, 1786488.631 581323.812 0, 1786785.741 581370.112 0, 1787082.848 581416.429 0, 1787379.952 581462.764 0, 1787677.054 581509.117 0, 1787974.153 581555.487 0,
+ 1788271.249 581601.874 0, 1788568.343 581648.279 0, 1788865.434 581694.701 0, 1789162.522 581741.141 0, 1789459.607 581787.598 0, 1789756.69 581834.073 0, 1790053.77 581880.565 0, 1790350.847 581927.075 0, 1790646.61 581973.397 0, 1791506.917 576481.417 0,
+ 1792367.163 570989.829 0))
+
+POLYGON ((1804902.946 584227.259 0, 1804607.313 584180.102 0, 1804310.368 584132.753 0, 1804013.421 584085.422 0, 1803716.471 584038.108 0, 1803419.518 583990.811 0, 1803122.562 583943.532 0, 1802825.604 583896.271 0, 1802528.642 583849.027 0, 1802231.678 583801.801 0,
+ 1801934.711 583754.592 0, 1801637.742 583707.4 0, 1801340.769 583660.226 0, 1801043.794 583613.069 0, 1800746.816 583565.93 0, 1800449.835 583518.809 0, 1800152.852 583471.704 0, 1799855.866 583424.618 0, 1799558.877 583377.549 0, 1799261.885 583330.497 0,
+ 1798964.89 583283.463 0, 1798667.893 583236.446 0, 1798370.893 583189.447 0, 1798073.89 583142.465 0, 1797775.574 583095.293 0, 1797479.876 583048.554 0, 1797182.865 583001.624 0, 1796885.851 582954.713 0, 1796588.834 582907.818 0, 1796291.814 582860.941 0,
+ 1795994.792 582814.082 0, 1795697.767 582767.24 0, 1795400.739 582720.415 0, 1795103.709 582673.609 0, 1794806.676 582626.819 0, 1794509.64 582580.047 0, 1794212.601 582533.293 0, 1793915.559 582486.555 0, 1793618.515 582439.836 0, 1793321.468 582393.134 0,
+ 1793024.418 582346.449 0, 1792727.366 582299.782 0, 1792430.311 582253.133 0, 1792133.253 582206.5 0, 1791836.192 582159.886 0, 1791539.128 582113.289 0, 1791242.062 582066.709 0, 1790944.993 582020.147 0, 1790646.61 581973.397 0, 1789786.242 587465.764 0,
+ 1788925.813 592958.518 0, 1789223.547 593005.166 0, 1789519.97 593051.627 0, 1789816.389 593098.105 0, 1790112.806 593144.601 0, 1790409.22 593191.114 0, 1790705.632 593237.645 0, 1791002.041 593284.193 0, 1791298.447 593330.758 0, 1791594.85 593377.341 0,
+ 1791891.25 593423.942 0, 1792187.648 593470.56 0, 1792484.043 593517.195 0, 1792780.435 593563.848 0, 1793076.825 593610.518 0, 1793373.212 593657.206 0, 1793669.596 593703.911 0, 1793965.977 593750.633 0, 1794262.356 593797.373 0, 1794558.731 593844.131 0,
+ 1794855.104 593890.906 0, 1795151.475 593937.698 0, 1795447.842 593984.508 0, 1795744.207 594031.335 0, 1796039.261 594077.973 0, 1796336.928 594125.042 0, 1796633.285 594171.921 0, 1796929.638 594218.818 0, 1797225.989 594265.732 0, 1797522.337 594312.664 0,
+ 1797818.683 594359.614 0, 1798115.026 594406.58 0, 1798411.366 594453.565 0, 1798707.703 594500.566 0, 1799004.037 594547.585 0, 1799300.369 594594.622 0, 1799596.697 594641.676 0, 1799893.024 594688.747 0, 1800189.347 594735.836 0, 1800485.667 594782.942 0,
+ 1800781.985 594830.066 0, 1801078.3 594877.207 0, 1801374.612 594924.366 0, 1801670.922 594971.542 0, 1801967.228 595018.735 0, 1802263.532 595065.946 0, 1802559.833 595113.175 0, 1802856.132 595160.42 0, 1803151.121 595207.475 0, 1804027.064 589717.175 0,
+ 1804902.946 584227.259 0))
+
+POLYGON ((1817370.019 597496.613 0, 1817075.161 597448.724 0, 1816778.997 597400.642 0, 1816482.831 597352.576 0, 1816186.662 597304.528 0, 1815890.489 597256.498 0, 1815594.315 597208.485 0, 1815298.137 597160.49 0, 1815001.956 597112.511 0, 1814705.773 597064.551 0,
+ 1814409.586 597016.608 0, 1814113.397 596968.682 0, 1813817.205 596920.773 0, 1813521.011 596872.882 0, 1813224.813 596825.009 0, 1812928.613 596777.153 0, 1812632.41 596729.314 0, 1812336.204 596681.493 0, 1812039.995 596633.689 0, 1811743.783 596585.903 0,
+ 1811447.569 596538.134 0, 1811151.352 596490.382 0, 1810855.132 596442.648 0, 1810558.909 596394.932 0, 1810261.378 596347.023 0, 1809966.455 596299.551 0, 1809670.223 596251.887 0, 1809373.989 596204.24 0, 1809077.752 596156.61 0, 1808781.513 596108.998 0,
+ 1808485.27 596061.404 0, 1808189.025 596013.827 0, 1807892.777 595966.267 0, 1807596.526 595918.725 0, 1807300.272 595871.2 0, 1807004.016 595823.693 0, 1806707.756 595776.203 0, 1806411.494 595728.73 0, 1806115.229 595681.275 0, 1805818.962 595633.837 0,
+ 1805522.691 595586.417 0, 1805226.418 595539.014 0, 1804930.142 595491.629 0, 1804633.863 595444.261 0, 1804337.582 595396.911 0, 1804041.297 595349.578 0, 1803745.01 595302.262 0, 1803448.72 595254.964 0, 1803151.121 595207.475 0, 1802275.117 600698.158 0,
+ 1801399.053 606189.219 0, 1801696.002 606236.604 0, 1801991.646 606283.799 0, 1802287.287 606331.012 0, 1802582.925 606378.241 0, 1802878.56 606425.489 0, 1803174.193 606472.753 0, 1803469.822 606520.035 0, 1803765.449 606567.334 0, 1804061.073 606614.651 0,
+ 1804356.695 606661.985 0, 1804652.313 606709.337 0, 1804947.929 606756.706 0, 1805243.542 606804.092 0, 1805539.152 606851.496 0, 1805834.76 606898.917 0, 1806130.364 606946.355 0, 1806425.966 606993.811 0, 1806721.565 607041.285 0, 1807017.161 607088.775 0,
+ 1807312.755 607136.284 0, 1807608.345 607183.809 0, 1807903.933 607231.352 0, 1808199.518 607278.912 0, 1808493.799 607326.28 0, 1808790.68 607374.085 0, 1809086.257 607421.698 0, 1809381.831 607469.328 0, 1809677.402 607516.975 0, 1809972.97 607564.64 0,
+ 1810268.535 607612.322 0, 1810564.098 607660.021 0, 1810859.658 607707.738 0, 1811155.215 607755.472 0, 1811450.769 607803.224 0, 1811746.32 607850.993 0, 1812041.869 607898.78 0, 1812337.415 607946.583 0, 1812632.958 607994.405 0, 1812928.498 608042.243 0,
+ 1813224.035 608090.099 0, 1813519.57 608137.973 0, 1813815.101 608185.864 0, 1814110.63 608233.772 0, 1814406.156 608281.698 0, 1814701.679 608329.641 0, 1814997.2 608377.601 0, 1815292.717 608425.579 0, 1815586.932 608473.363 0, 1816478.506 602984.798 0,
+ 1817370.019 597496.613 0))
+
+POLYGON ((1701198.404 490251.292 0, 1700897.283 490210.214 0, 1700594.808 490168.969 0, 1700292.33 490127.743 0, 1699989.85 490086.534 0, 1699687.367 490045.342 0, 1699384.882 490004.169 0, 1699082.395 489963.014 0, 1698779.905 489921.876 0, 1698477.413 489880.756 0,
+ 1698174.918 489839.654 0, 1697872.421 489798.57 0, 1697569.922 489757.503 0, 1697267.42 489716.455 0, 1696964.915 489675.424 0, 1696662.409 489634.411 0, 1696359.899 489593.415 0, 1696057.388 489552.438 0, 1695754.874 489511.478 0, 1695452.357 489470.536 0,
+ 1695149.838 489429.612 0, 1694847.317 489388.706 0, 1694544.794 489347.818 0, 1694242.268 489306.947 0, 1693938.386 489265.912 0, 1693637.208 489225.259 0, 1693334.675 489184.442 0, 1693032.139 489143.643 0, 1692729.601 489102.861 0, 1692427.061 489062.097 0,
+ 1692124.518 489021.351 0, 1691821.973 488980.623 0, 1691519.425 488939.913 0, 1691216.875 488899.22 0, 1690914.323 488858.545 0, 1690611.768 488817.889 0, 1690309.21 488777.249 0, 1690006.651 488736.628 0, 1689704.089 488696.025 0, 1689401.524 488655.439 0,
+ 1689098.958 488614.871 0, 1688796.388 488574.321 0, 1688493.817 488533.789 0, 1688191.243 488493.274 0, 1687888.667 488452.777 0, 1687586.088 488412.299 0, 1687283.507 488371.838 0, 1686980.923 488331.394 0, 1686676.983 488290.788 0, 1685941.725 493795.467 0,
+ 1685206.41 499300.574 0, 1685509.699 499341.094 0, 1685811.635 499381.45 0, 1686113.568 499421.825 0, 1686415.499 499462.217 0, 1686717.427 499502.627 0, 1687019.353 499543.054 0, 1687321.276 499583.5 0, 1687623.198 499623.963 0, 1687925.116 499664.444 0,
+ 1688227.033 499704.943 0, 1688528.947 499745.459 0, 1688830.859 499785.994 0, 1689132.768 499826.546 0, 1689434.675 499867.116 0, 1689736.579 499907.703 0, 1690038.481 499948.309 0, 1690340.381 499988.932 0, 1690642.279 500029.573 0, 1690944.173 500070.232 0,
+ 1691246.066 500110.908 0, 1691547.956 500151.602 0, 1691849.844 500192.314 0, 1692151.729 500233.044 0, 1692452.262 500273.609 0, 1692755.493 500314.557 0, 1693057.371 500355.34 0, 1693359.247 500396.141 0, 1693661.12 500436.96 0, 1693962.991 500477.796 0,
+ 1694264.86 500518.65 0, 1694566.726 500559.522 0, 1694868.589 500600.412 0, 1695170.451 500641.319 0, 1695472.31 500682.245 0, 1695774.166 500723.188 0, 1696076.02 500764.148 0, 1696377.872 500805.127 0, 1696679.721 500846.123 0, 1696981.568 500887.137 0,
+ 1697283.413 500928.169 0, 1697585.255 500969.219 0, 1697887.094 501010.286 0, 1698188.932 501051.371 0, 1698490.766 501092.474 0, 1698792.599 501133.595 0, 1699094.429 501174.733 0, 1699396.256 501215.889 0, 1699696.732 501256.879 0, 1700447.597 495753.871 0,
+ 1701198.404 490251.292 0))
+
+POLYGON ((1714181.47 503254.114 0, 1713881.109 503212.275 0, 1713579.399 503170.267 0, 1713277.686 503128.276 0, 1712975.971 503086.303 0, 1712674.254 503044.347 0, 1712372.534 503002.409 0, 1712070.811 502960.489 0, 1711769.087 502918.587 0, 1711467.359 502876.703 0,
+ 1711165.629 502834.836 0, 1710863.897 502792.987 0, 1710562.162 502751.156 0, 1710260.425 502709.343 0, 1709958.686 502667.547 0, 1709656.944 502625.769 0, 1709355.199 502584.009 0, 1709053.452 502542.267 0, 1708751.702 502500.542 0, 1708449.951 502458.835 0,
+ 1708148.196 502417.146 0, 1707846.439 502375.475 0, 1707544.68 502333.821 0, 1707242.918 502292.185 0, 1706939.806 502250.382 0, 1706639.387 502208.967 0, 1706337.618 502167.385 0, 1706035.847 502125.82 0, 1705734.073 502084.273 0, 1705432.296 502042.744 0,
+ 1705130.518 502001.232 0, 1704828.736 501959.739 0, 1704526.953 501918.263 0, 1704225.166 501876.804 0, 1703923.378 501835.364 0, 1703621.587 501793.941 0, 1703319.793 501752.536 0, 1703017.997 501711.149 0, 1702716.199 501669.78 0, 1702414.398 501628.428 0,
+ 1702112.595 501587.095 0, 1701810.789 501545.778 0, 1701508.981 501504.48 0, 1701207.17 501463.2 0, 1700905.357 501421.937 0, 1700603.542 501380.692 0, 1700301.724 501339.465 0, 1699999.904 501298.255 0, 1699696.732 501256.879 0, 1698945.809 506760.313 0,
+ 1698194.828 512264.17 0, 1698497.349 512305.457 0, 1698798.521 512346.578 0, 1699099.691 512387.716 0, 1699400.859 512428.873 0, 1699702.024 512470.047 0, 1700003.187 512511.239 0, 1700304.347 512552.449 0, 1700605.505 512593.676 0, 1700906.66 512634.921 0,
+ 1701207.813 512676.184 0, 1701508.964 512717.465 0, 1701810.112 512758.763 0, 1702111.258 512800.079 0, 1702412.401 512841.413 0, 1702713.542 512882.764 0, 1703014.68 512924.133 0, 1703315.816 512965.52 0, 1703616.95 513006.925 0, 1703918.081 513048.347 0,
+ 1704219.209 513089.787 0, 1704520.336 513131.245 0, 1704821.459 513172.721 0, 1705122.581 513214.214 0, 1705422.355 513255.539 0, 1705724.816 513297.253 0, 1706025.93 513338.8 0, 1706327.042 513380.364 0, 1706628.151 513421.946 0, 1706929.257 513463.545 0,
+ 1707230.362 513505.163 0, 1707531.463 513546.798 0, 1707832.563 513588.451 0, 1708133.66 513630.121 0, 1708434.754 513671.809 0, 1708735.846 513713.515 0, 1709036.935 513755.239 0, 1709338.023 513796.98 0, 1709639.107 513838.739 0, 1709940.189 513880.516 0,
+ 1710241.269 513922.311 0, 1710542.346 513964.123 0, 1710843.421 514005.953 0, 1711144.493 514047.801 0, 1711445.563 514089.666 0, 1711746.63 514131.549 0, 1712047.695 514173.45 0, 1712348.758 514215.369 0, 1712648.474 514257.118 0, 1713415.002 508755.405 0,
+ 1714181.47 503254.114 0))
+
+POLYGON ((1727096.432 516290.892 0, 1726796.833 516248.296 0, 1726495.89 516205.527 0, 1726194.945 516162.776 0, 1725893.997 516120.042 0, 1725593.046 516077.326 0, 1725292.094 516034.628 0, 1724991.138 515991.948 0, 1724690.18 515949.285 0, 1724389.22 515906.64 0,
+ 1724088.257 515864.013 0, 1723787.292 515821.403 0, 1723486.324 515778.812 0, 1723185.353 515736.237 0, 1722884.38 515693.681 0, 1722583.405 515651.142 0, 1722282.427 515608.621 0, 1721981.446 515566.118 0, 1721680.464 515523.633 0, 1721379.478 515481.165 0,
+ 1721078.49 515438.715 0, 1720777.5 515396.282 0, 1720476.507 515353.868 0, 1720175.511 515311.471 0, 1719873.172 515268.903 0, 1719573.513 515226.73 0, 1719272.51 515184.386 0, 1718971.505 515142.06 0, 1718670.497 515099.752 0, 1718369.486 515057.461 0,
+ 1718068.474 515015.188 0, 1717767.458 514972.933 0, 1717466.44 514930.695 0, 1717165.42 514888.475 0, 1716864.397 514846.273 0, 1716563.372 514804.089 0, 1716262.344 514761.922 0, 1715961.314 514719.774 0, 1715660.281 514677.642 0, 1715359.246 514635.529 0,
+ 1715058.208 514593.433 0, 1714757.168 514551.355 0, 1714456.125 514509.295 0, 1714155.08 514467.252 0, 1713854.033 514425.227 0, 1713552.983 514383.22 0, 1713251.93 514341.231 0, 1712950.875 514299.259 0, 1712648.474 514257.118 0, 1711881.888 519759.25 0,
+ 1711115.245 525261.799 0, 1711416.995 525303.85 0, 1711717.402 525345.731 0, 1712017.807 525387.63 0, 1712318.209 525429.547 0, 1712618.609 525471.481 0, 1712919.007 525513.434 0, 1713219.402 525555.403 0, 1713519.794 525597.391 0, 1713820.184 525639.396 0,
+ 1714120.572 525681.419 0, 1714420.957 525723.46 0, 1714721.339 525765.518 0, 1715021.72 525807.594 0, 1715322.097 525849.687 0, 1715622.472 525891.799 0, 1715922.845 525933.928 0, 1716223.215 525976.074 0, 1716523.583 526018.239 0, 1716823.948 526060.421 0,
+ 1717124.311 526102.62 0, 1717424.671 526144.838 0, 1717725.029 526187.073 0, 1718025.385 526229.325 0, 1718324.398 526271.407 0, 1718626.088 526313.884 0, 1718926.436 526356.189 0, 1719226.781 526398.513 0, 1719527.124 526440.854 0, 1719827.464 526483.213 0,
+ 1720127.802 526525.589 0, 1720428.137 526567.983 0, 1720728.47 526610.395 0, 1721028.801 526652.825 0, 1721329.129 526695.272 0, 1721629.454 526737.737 0, 1721929.777 526780.219 0, 1722230.097 526822.719 0, 1722530.415 526865.237 0, 1722830.731 526907.773 0,
+ 1723131.043 526950.326 0, 1723431.354 526992.897 0, 1723731.662 527035.485 0, 1724031.967 527078.092 0, 1724332.27 527120.716 0, 1724632.57 527163.357 0, 1724932.868 527206.016 0, 1725233.163 527248.693 0, 1725532.119 527291.198 0, 1726314.305 521790.837 0,
+ 1727096.432 516290.892 0))
+
+POLYGON ((1739943.202 529361.319 0, 1739644.366 529317.97 0, 1739344.192 529274.444 0, 1739044.016 529230.937 0, 1738743.837 529187.447 0, 1738443.656 529143.975 0, 1738143.472 529100.52 0, 1737843.286 529057.084 0, 1737543.097 529013.664 0, 1737242.905 528970.263 0,
+ 1736942.711 528926.879 0, 1736642.515 528883.513 0, 1736342.316 528840.164 0, 1736042.114 528796.834 0, 1735741.91 528753.521 0, 1735441.703 528710.225 0, 1735141.494 528666.947 0, 1734841.282 528623.687 0, 1734541.067 528580.445 0, 1734240.85 528537.22 0,
+ 1733940.631 528494.013 0, 1733640.409 528450.823 0, 1733340.184 528407.651 0, 1733039.957 528364.497 0, 1732738.391 528321.169 0, 1732439.495 528278.242 0, 1732139.261 528235.141 0, 1731839.023 528192.058 0, 1731538.783 528148.992 0, 1731238.541 528105.944 0,
+ 1730938.296 528062.913 0, 1730638.049 528019.901 0, 1730337.799 527976.906 0, 1730037.546 527933.928 0, 1729737.291 527890.968 0, 1729437.034 527848.026 0, 1729136.774 527805.102 0, 1728836.511 527762.195 0, 1728536.246 527719.306 0, 1728235.978 527676.435 0,
+ 1727935.708 527633.581 0, 1727635.436 527590.745 0, 1727335.16 527547.927 0, 1727034.883 527505.126 0, 1726734.602 527462.343 0, 1726434.32 527419.578 0, 1726134.034 527376.83 0, 1725833.747 527334.1 0, 1725532.119 527291.198 0, 1724749.873 532791.972 0,
+ 1723967.57 538293.157 0, 1724268.547 538335.967 0, 1724568.188 538378.605 0, 1724867.825 538421.261 0, 1725167.46 538463.934 0, 1725467.093 538506.624 0, 1725766.723 538549.333 0, 1726066.351 538592.059 0, 1726365.976 538634.802 0, 1726665.599 538677.564 0,
+ 1726965.219 538720.343 0, 1727264.837 538763.139 0, 1727564.452 538805.953 0, 1727864.064 538848.785 0, 1728163.674 538891.635 0, 1728463.282 538934.502 0, 1728762.887 538977.386 0, 1729062.489 539020.289 0, 1729362.089 539063.209 0, 1729661.687 539106.146 0,
+ 1729961.282 539149.102 0, 1730260.874 539192.075 0, 1730560.464 539235.065 0, 1730860.051 539278.073 0, 1731158.303 539320.907 0, 1731459.218 539364.142 0, 1731758.798 539407.203 0, 1732058.375 539450.282 0, 1732357.95 539493.378 0, 1732657.522 539536.492 0,
+ 1732957.091 539579.624 0, 1733256.658 539622.773 0, 1733556.223 539665.94 0, 1733855.785 539709.125 0, 1734155.344 539752.327 0, 1734454.901 539795.546 0, 1734754.456 539838.784 0, 1735054.007 539882.039 0, 1735353.557 539925.311 0, 1735653.103 539968.602 0,
+ 1735952.647 540011.91 0, 1736252.189 540055.235 0, 1736551.728 540098.578 0, 1736851.264 540141.939 0, 1737150.798 540185.317 0, 1737450.33 540228.713 0, 1737749.859 540272.127 0, 1738049.385 540315.558 0, 1738347.577 540358.814 0, 1739145.419 534859.861 0,
+ 1739943.202 529361.319 0))
+
+POLYGON ((1752721.69 542465.089 0, 1752423.619 542420.991 0, 1752124.217 542376.713 0, 1751824.812 542332.454 0, 1751525.405 542288.211 0, 1751225.994 542243.987 0, 1750926.582 542199.78 0, 1750627.166 542155.591 0, 1750327.748 542111.419 0, 1750028.328 542067.265 0,
+ 1749728.904 542023.129 0, 1749429.479 541979.01 0, 1749130.05 541934.909 0, 1748830.619 541890.826 0, 1748531.186 541846.76 0, 1748231.75 541802.711 0, 1747932.311 541758.681 0, 1747632.87 541714.668 0, 1747333.426 541670.672 0, 1747033.979 541626.695 0,
+ 1746734.53 541582.735 0, 1746435.078 541538.792 0, 1746135.624 541494.867 0, 1745836.167 541450.96 0, 1745535.377 541406.875 0, 1745237.246 541363.198 0, 1744937.781 541319.344 0, 1744638.314 541275.507 0, 1744338.844 541231.688 0, 1744039.372 541187.887 0,
+ 1743739.897 541144.103 0, 1743440.419 541100.336 0, 1743140.939 541056.588 0, 1742841.457 541012.857 0, 1742541.971 540969.144 0, 1742242.484 540925.448 0, 1741942.993 540881.77 0, 1741643.5 540838.109 0, 1741344.005 540794.466 0, 1741044.507 540750.841 0,
+ 1740745.006 540707.234 0, 1740445.503 540663.644 0, 1740145.997 540620.071 0, 1739846.489 540576.517 0, 1739546.978 540532.979 0, 1739247.464 540489.46 0, 1738947.948 540445.958 0, 1738648.43 540402.474 0, 1738347.577 540358.814 0, 1737549.675 545858.174 0,
+ 1736751.715 551357.939 0, 1737051.918 551401.504 0, 1737350.789 551444.894 0, 1737649.658 551488.302 0, 1737948.524 551531.727 0, 1738247.387 551575.17 0, 1738546.248 551618.631 0, 1738845.107 551662.109 0, 1739143.963 551705.605 0, 1739442.816 551749.118 0,
+ 1739741.667 551792.649 0, 1740040.515 551836.198 0, 1740339.361 551879.764 0, 1740638.204 551923.347 0, 1740937.044 551966.949 0, 1741235.882 552010.568 0, 1741534.717 552054.204 0, 1741833.55 552097.858 0, 1742132.38 552141.53 0, 1742431.208 552185.219 0,
+ 1742730.033 552228.926 0, 1743028.856 552272.65 0, 1743327.675 552316.392 0, 1743626.493 552360.152 0, 1743923.98 552403.734 0, 1744224.12 552447.724 0, 1744522.929 552491.536 0, 1744821.736 552535.366 0, 1745120.541 552579.214 0, 1745419.343 552623.079 0,
+ 1745718.142 552666.961 0, 1746016.939 552710.862 0, 1746315.733 552754.78 0, 1746614.524 552798.715 0, 1746913.313 552842.668 0, 1747212.1 552886.639 0, 1747510.884 552930.627 0, 1747809.665 552974.633 0, 1748108.443 553018.656 0, 1748407.219 553062.697 0,
+ 1748705.993 553106.756 0, 1749004.764 553150.832 0, 1749303.532 553194.925 0, 1749602.297 553239.037 0, 1749901.061 553283.166 0, 1750199.821 553327.312 0, 1750498.579 553371.476 0, 1750797.334 553415.658 0, 1751094.761 553459.661 0, 1751908.255 547962.173 0,
+ 1752721.69 542465.089 0))
+
+POLYGON ((1765431.811 555601.896 0, 1765134.508 555557.053 0, 1764835.878 555512.027 0, 1764537.247 555467.019 0, 1764238.612 555422.029 0, 1763939.975 555377.056 0, 1763641.335 555332.101 0, 1763342.693 555287.164 0, 1763044.048 555242.243 0, 1762745.4 555197.341 0,
+ 1762446.749 555152.456 0, 1762148.096 555107.589 0, 1761849.441 555062.739 0, 1761550.782 555017.907 0, 1761252.121 554973.092 0, 1760953.458 554928.295 0, 1760654.792 554883.516 0, 1760356.123 554838.754 0, 1760057.451 554794.01 0, 1759758.777 554749.283 0,
+ 1759460.1 554704.574 0, 1759161.421 554659.883 0, 1758862.739 554615.209 0, 1758564.054 554570.552 0, 1758264.042 554525.715 0, 1757966.677 554481.292 0, 1757667.985 554436.689 0, 1757369.289 554392.103 0, 1757070.592 554347.534 0, 1756771.891 554302.983 0,
+ 1756473.188 554258.45 0, 1756174.483 554213.934 0, 1755875.774 554169.436 0, 1755577.063 554124.955 0, 1755278.35 554080.493 0, 1754979.634 554036.047 0, 1754680.915 553991.619 0, 1754382.194 553947.209 0, 1754083.47 553902.816 0, 1753784.743 553858.441 0,
+ 1753486.014 553814.084 0, 1753187.282 553769.744 0, 1752888.548 553725.422 0, 1752589.811 553681.117 0, 1752291.071 553636.83 0, 1751992.329 553592.56 0, 1751693.584 553548.308 0, 1751394.837 553504.074 0, 1751094.761 553459.661 0, 1750281.206 558957.55 0,
+ 1749467.593 564455.837 0, 1749767.02 564500.154 0, 1750065.12 564544.292 0, 1750363.217 564588.448 0, 1750661.312 564632.622 0, 1750959.405 564676.813 0, 1751257.495 564721.022 0, 1751555.582 564765.248 0, 1751853.667 564809.492 0, 1752151.749 564853.753 0,
+ 1752449.828 564898.032 0, 1752747.905 564942.329 0, 1753045.979 564986.643 0, 1753344.051 565030.974 0, 1753642.12 565075.324 0, 1753940.186 565119.69 0, 1754238.25 565164.074 0, 1754536.311 565208.476 0, 1754834.369 565252.895 0, 1755132.425 565297.332 0,
+ 1755430.479 565341.787 0, 1755728.529 565386.259 0, 1756026.577 565430.748 0, 1756324.623 565475.255 0, 1756621.344 565519.582 0, 1756920.706 565564.322 0, 1757218.743 565608.881 0, 1757516.778 565653.458 0, 1757814.811 565698.053 0, 1758112.84 565742.665 0,
+ 1758410.867 565787.295 0, 1758708.892 565831.942 0, 1759006.914 565876.607 0, 1759304.933 565921.29 0, 1759602.95 565965.99 0, 1759900.963 566010.707 0, 1760198.975 566055.442 0, 1760496.983 566100.195 0, 1760794.989 566144.965 0, 1761092.993 566189.753 0,
+ 1761390.994 566234.558 0, 1761688.992 566279.38 0, 1761986.987 566324.221 0, 1762284.98 566369.079 0, 1762582.97 566413.954 0, 1762880.958 566458.847 0, 1763178.943 566503.757 0, 1763476.925 566548.685 0, 1763773.584 566593.431 0, 1764602.728 561097.465 0,
+ 1765431.811 555601.896 0))
+
+POLYGON ((1778073.479 568771.435 0, 1777776.945 568725.85 0, 1777479.091 568680.08 0, 1777181.234 568634.328 0, 1776883.374 568588.594 0, 1776585.512 568542.877 0, 1776287.647 568497.177 0, 1775989.78 568451.495 0, 1775691.909 568405.831 0, 1775394.036 568360.184 0,
+ 1775096.161 568314.554 0, 1774798.282 568268.942 0, 1774500.401 568223.348 0, 1774202.517 568177.771 0, 1773904.631 568132.212 0, 1773606.742 568086.67 0, 1773308.85 568041.146 0, 1773010.956 567995.64 0, 1772713.059 567950.15 0, 1772415.159 567904.679 0,
+ 1772117.256 567859.225 0, 1771819.351 567813.788 0, 1771521.443 567768.369 0, 1771223.533 567722.968 0, 1770924.301 567677.383 0, 1770627.704 567632.218 0, 1770329.785 567586.869 0, 1770031.864 567541.537 0, 1769733.94 567496.224 0, 1769436.014 567450.927 0,
+ 1769138.085 567405.649 0, 1768840.153 567360.387 0, 1768542.218 567315.144 0, 1768244.281 567269.918 0, 1767946.341 567224.709 0, 1767648.399 567179.518 0, 1767350.454 567134.345 0, 1767052.506 567089.189 0, 1766754.555 567044.05 0, 1766456.602 566998.929 0,
+ 1766158.646 566953.826 0, 1765860.688 566908.74 0, 1765562.727 566863.672 0, 1765264.763 566818.621 0, 1764966.797 566773.588 0, 1764668.828 566728.572 0, 1764370.856 566683.574 0, 1764072.882 566638.594 0, 1763773.584 566593.431 0, 1762944.381 572089.793 0,
+ 1762115.119 577586.546 0, 1762413.767 577631.61 0, 1762711.094 577676.493 0, 1763008.419 577721.393 0, 1763305.741 577766.311 0, 1763603.06 577811.246 0, 1763900.377 577856.199 0, 1764197.691 577901.17 0, 1764495.002 577946.158 0, 1764792.311 577991.163 0,
+ 1765089.617 578036.186 0, 1765386.921 578081.226 0, 1765684.222 578126.284 0, 1765981.52 578171.36 0, 1766278.815 578216.453 0, 1766576.108 578261.563 0, 1766873.399 578306.691 0, 1767170.686 578351.836 0, 1767467.971 578396.999 0, 1767765.253 578442.18 0,
+ 1768062.533 578487.377 0, 1768359.81 578532.593 0, 1768657.084 578577.826 0, 1768954.356 578623.076 0, 1769250.309 578668.143 0, 1769548.891 578713.629 0, 1769846.155 578758.932 0, 1770143.416 578804.253 0, 1770440.674 578849.59 0, 1770737.929 578894.946 0,
+ 1771035.182 578940.319 0, 1771332.433 578985.709 0, 1771629.68 579031.117 0, 1771926.925 579076.542 0, 1772224.167 579121.985 0, 1772521.407 579167.445 0, 1772818.644 579212.923 0, 1773115.878 579258.418 0, 1773413.11 579303.931 0, 1773710.339 579349.462 0,
+ 1774007.565 579395.009 0, 1774304.788 579440.575 0, 1774602.009 579486.157 0, 1774899.227 579531.758 0, 1775196.443 579577.375 0, 1775493.655 579623.011 0, 1775790.866 579668.664 0, 1776088.073 579714.334 0, 1776383.963 579759.819 0, 1777228.751 574265.431 0,
+ 1778073.479 568771.435 0))
+
+POLYGON ((1790646.61 581973.397 0, 1790350.847 581927.075 0, 1790053.77 581880.565 0, 1789756.69 581834.073 0, 1789459.607 581787.598 0, 1789162.522 581741.141 0, 1788865.434 581694.701 0, 1788568.343 581648.279 0, 1788271.249 581601.874 0, 1787974.153 581555.487 0,
+ 1787677.054 581509.117 0, 1787379.952 581462.764 0, 1787082.848 581416.429 0, 1786785.741 581370.112 0, 1786488.631 581323.812 0, 1786191.518 581277.53 0, 1785894.402 581231.265 0, 1785597.284 581185.017 0, 1785300.164 581138.787 0, 1785003.04 581092.575 0,
+ 1784705.914 581046.38 0, 1784408.785 581000.202 0, 1784111.653 580954.042 0, 1783814.518 580907.9 0, 1783516.068 580861.571 0, 1783220.241 580815.667 0, 1782923.099 580769.577 0, 1782625.954 580723.505 0, 1782328.806 580677.45 0, 1782031.655 580631.412 0,
+ 1781734.501 580585.392 0, 1781437.345 580539.39 0, 1781140.186 580493.404 0, 1780843.025 580447.437 0, 1780545.861 580401.487 0, 1780248.694 580355.554 0, 1779951.524 580309.639 0, 1779654.352 580263.741 0, 1779357.177 580217.861 0, 1779059.999 580171.998 0,
+ 1778762.818 580126.153 0, 1778465.635 580080.326 0, 1778168.449 580034.515 0, 1777871.261 579988.723 0, 1777574.07 579942.947 0, 1777276.876 579897.19 0, 1776979.679 579851.45 0, 1776682.48 579805.727 0, 1776383.963 579759.819 0, 1775539.115 585254.596 0,
+ 1774694.208 590749.758 0, 1774992.075 590795.566 0, 1775288.628 590841.189 0, 1775585.177 590886.83 0, 1775881.725 590932.488 0, 1776178.269 590978.163 0, 1776474.811 591023.856 0, 1776771.35 591069.567 0, 1777067.886 591115.295 0, 1777364.42 591161.04 0,
+ 1777660.951 591206.803 0, 1777957.479 591252.583 0, 1778254.005 591298.381 0, 1778550.527 591344.196 0, 1778847.048 591390.029 0, 1779143.565 591435.879 0, 1779440.08 591481.747 0, 1779736.592 591527.632 0, 1780033.101 591573.534 0, 1780329.608 591619.454 0,
+ 1780626.112 591665.391 0, 1780922.613 591711.346 0, 1781219.112 591757.319 0, 1781515.608 591803.308 0, 1781810.791 591849.112 0, 1782108.591 591895.34 0, 1782405.079 591941.382 0, 1782701.564 591987.442 0, 1782998.047 592033.519 0, 1783294.526 592079.613 0,
+ 1783591.003 592125.725 0, 1783887.477 592171.854 0, 1784183.949 592218.001 0, 1784480.417 592264.165 0, 1784776.884 592310.347 0, 1785073.347 592356.546 0, 1785369.807 592402.763 0, 1785666.265 592448.997 0, 1785962.72 592495.248 0, 1786259.173 592541.517 0,
+ 1786555.623 592587.804 0, 1786852.07 592634.107 0, 1787148.514 592680.429 0, 1787444.955 592726.767 0, 1787741.394 592773.124 0, 1788037.83 592819.497 0, 1788334.264 592865.888 0, 1788630.694 592912.297 0, 1788925.813 592958.518 0, 1789786.242 587465.764 0,
+ 1790646.61 581973.397 0))
+
+POLYGON ((1803151.121 595207.475 0, 1802856.132 595160.42 0, 1802559.833 595113.175 0, 1802263.532 595065.946 0, 1801967.228 595018.735 0, 1801670.922 594971.542 0, 1801374.612 594924.366 0, 1801078.3 594877.207 0, 1800781.985 594830.066 0, 1800485.667 594782.942 0,
+ 1800189.347 594735.836 0, 1799893.024 594688.747 0, 1799596.697 594641.676 0, 1799300.369 594594.622 0, 1799004.037 594547.585 0, 1798707.703 594500.566 0, 1798411.366 594453.565 0, 1798115.026 594406.58 0, 1797818.683 594359.614 0, 1797522.337 594312.664 0,
+ 1797225.989 594265.732 0, 1796929.638 594218.818 0, 1796633.285 594171.921 0, 1796336.928 594125.042 0, 1796039.261 594077.973 0, 1795744.207 594031.335 0, 1795447.842 593984.508 0, 1795151.475 593937.698 0, 1794855.104 593890.906 0, 1794558.731 593844.131 0,
+ 1794262.356 593797.373 0, 1793965.977 593750.633 0, 1793669.596 593703.911 0, 1793373.212 593657.206 0, 1793076.825 593610.518 0, 1792780.435 593563.848 0, 1792484.043 593517.195 0, 1792187.648 593470.56 0, 1791891.25 593423.942 0, 1791594.85 593377.341 0,
+ 1791298.447 593330.758 0, 1791002.041 593284.193 0, 1790705.632 593237.645 0, 1790409.22 593191.114 0, 1790112.806 593144.601 0, 1789816.389 593098.105 0, 1789519.97 593051.627 0, 1789223.547 593005.166 0, 1788925.813 592958.518 0, 1788065.325 598451.653 0,
+ 1787204.777 603945.167 0, 1787501.862 603991.714 0, 1787797.637 604038.074 0, 1788093.41 604084.451 0, 1788389.181 604130.845 0, 1788684.948 604177.257 0, 1788980.713 604223.686 0, 1789276.475 604270.132 0, 1789572.235 604316.596 0, 1789867.991 604363.078 0,
+ 1790163.745 604409.576 0, 1790459.496 604456.093 0, 1790755.245 604502.626 0, 1791050.99 604549.177 0, 1791346.733 604595.746 0, 1791642.474 604642.331 0, 1791938.211 604688.935 0, 1792233.946 604735.555 0, 1792529.678 604782.193 0, 1792825.407 604828.849 0,
+ 1793121.133 604875.521 0, 1793416.857 604922.212 0, 1793712.578 604968.919 0, 1794008.296 605015.644 0, 1794302.707 605062.181 0, 1794599.725 605109.147 0, 1794895.435 605155.924 0, 1795191.142 605202.719 0, 1795486.846 605249.531 0, 1795782.548 605296.36 0,
+ 1796078.247 605343.207 0, 1796373.943 605390.071 0, 1796669.637 605436.953 0, 1796965.327 605483.852 0, 1797261.015 605530.769 0, 1797556.701 605577.702 0, 1797852.383 605624.654 0, 1798148.063 605671.622 0, 1798443.739 605718.609 0, 1798739.414 605765.612 0,
+ 1799035.085 605812.633 0, 1799330.753 605859.671 0, 1799626.419 605906.727 0, 1799922.082 605953.8 0, 1800217.743 606000.891 0, 1800513.4 606047.999 0, 1800809.055 606095.124 0, 1801104.707 606142.267 0, 1801399.053 606189.219 0, 1802275.117 600698.158 0,
+ 1803151.121 595207.475 0))
+
+POLYGON ((1815586.932 608473.363 0, 1815292.717 608425.579 0, 1814997.2 608377.601 0, 1814701.679 608329.641 0, 1814406.156 608281.698 0, 1814110.63 608233.772 0, 1813815.101 608185.864 0, 1813519.57 608137.973 0, 1813224.035 608090.099 0, 1812928.498 608042.243 0,
+ 1812632.958 607994.405 0, 1812337.415 607946.583 0, 1812041.869 607898.78 0, 1811746.32 607850.993 0, 1811450.769 607803.224 0, 1811155.215 607755.472 0, 1810859.658 607707.738 0, 1810564.098 607660.021 0, 1810268.535 607612.322 0, 1809972.97 607564.64 0,
+ 1809677.402 607516.975 0, 1809381.831 607469.328 0, 1809086.257 607421.698 0, 1808790.68 607374.085 0, 1808493.799 607326.28 0, 1808199.518 607278.912 0, 1807903.933 607231.352 0, 1807608.345 607183.809 0, 1807312.755 607136.284 0, 1807017.161 607088.775 0,
+ 1806721.565 607041.285 0, 1806425.966 606993.811 0, 1806130.364 606946.355 0, 1805834.76 606898.917 0, 1805539.152 606851.496 0, 1805243.542 606804.092 0, 1804947.929 606756.706 0, 1804652.313 606709.337 0, 1804356.695 606661.985 0, 1804061.073 606614.651 0,
+ 1803765.449 606567.334 0, 1803469.822 606520.035 0, 1803174.193 606472.753 0, 1802878.56 606425.489 0, 1802582.925 606378.241 0, 1802287.287 606331.012 0, 1801991.646 606283.799 0, 1801696.002 606236.604 0, 1801399.053 606189.219 0, 1800522.928 611680.656 0,
+ 1799646.744 617172.466 0, 1799943.045 617219.748 0, 1800238.042 617266.84 0, 1800533.036 617313.949 0, 1800828.028 617361.075 0, 1801123.017 617408.219 0, 1801418.003 617455.38 0, 1801712.986 617502.559 0, 1802007.967 617549.755 0, 1802302.944 617596.968 0,
+ 1802597.919 617644.199 0, 1802892.891 617691.447 0, 1803187.861 617738.712 0, 1803482.827 617785.995 0, 1803777.791 617833.295 0, 1804072.752 617880.612 0, 1804367.711 617927.947 0, 1804662.666 617975.299 0, 1804957.619 618022.669 0, 1805252.569 618070.056 0,
+ 1805547.516 618117.46 0, 1805842.46 618164.881 0, 1806137.402 618212.32 0, 1806432.34 618259.777 0, 1806725.977 618307.041 0, 1807022.209 618354.741 0, 1807317.14 618402.25 0, 1807612.067 618449.776 0, 1807906.992 618497.319 0, 1808201.914 618544.879 0,
+ 1808496.833 618592.457 0, 1808791.75 618640.052 0, 1809086.663 618687.665 0, 1809381.574 618735.295 0, 1809676.482 618782.942 0, 1809971.387 618830.607 0, 1810266.289 618878.289 0, 1810561.189 618925.988 0, 1810856.086 618973.705 0, 1811150.98 619021.439 0,
+ 1811445.871 619069.19 0, 1811740.759 619116.959 0, 1812035.644 619164.745 0, 1812330.527 619212.548 0, 1812625.407 619260.369 0, 1812920.284 619308.207 0, 1813215.158 619356.063 0, 1813510.03 619403.936 0, 1813803.601 619451.615 0, 1814695.296 613962.303 0,
+ 1815586.932 608473.363 0))
+
+POLYGON ((1686676.983 488290.788 0, 1686375.749 488250.561 0, 1686073.159 488210.171 0, 1685770.566 488169.799 0, 1685467.97 488129.445 0, 1685165.373 488089.109 0, 1684862.772 488048.79 0, 1684560.17 488008.49 0, 1684257.565 487968.207 0, 1683954.958 487927.941 0,
+ 1683652.348 487887.694 0, 1683349.736 487847.465 0, 1683047.122 487807.253 0, 1682744.505 487767.059 0, 1682441.886 487726.883 0, 1682139.265 487686.725 0, 1681836.641 487646.584 0, 1681534.015 487606.462 0, 1681231.386 487566.357 0, 1680928.755 487526.27 0,
+ 1680626.122 487486.201 0, 1680323.487 487446.149 0, 1680020.849 487406.116 0, 1679718.208 487366.1 0, 1679414.209 487325.923 0, 1679112.921 487286.122 0, 1678810.273 487246.159 0, 1678507.624 487206.215 0, 1678204.971 487166.288 0, 1677902.317 487126.379 0,
+ 1677599.66 487086.488 0, 1677297.001 487046.615 0, 1676994.34 487006.759 0, 1676691.676 486966.922 0, 1676389.01 486927.102 0, 1676086.341 486887.3 0, 1675783.67 486847.516 0, 1675480.997 486807.749 0, 1675178.322 486768.001 0, 1674875.644 486728.27 0,
+ 1674572.964 486688.557 0, 1674270.281 486648.862 0, 1673967.596 486609.185 0, 1673664.909 486569.525 0, 1673362.22 486529.884 0, 1673059.528 486490.26 0, 1672756.833 486450.654 0, 1672454.137 486411.065 0, 1672150.08 486371.318 0, 1671430.377 491878.052 0,
+ 1670710.618 497385.215 0, 1671014.023 497424.877 0, 1671316.071 497464.381 0, 1671618.117 497503.902 0, 1671920.161 497543.441 0, 1672222.202 497582.998 0, 1672524.241 497622.572 0, 1672826.278 497662.165 0, 1673128.312 497701.775 0, 1673430.344 497741.403 0,
+ 1673732.374 497781.048 0, 1674034.401 497820.712 0, 1674336.426 497860.393 0, 1674638.449 497900.092 0, 1674940.469 497939.809 0, 1675242.487 497979.543 0, 1675544.503 498019.296 0, 1675846.516 498059.066 0, 1676148.527 498098.854 0, 1676450.536 498138.659 0,
+ 1676752.542 498178.483 0, 1677054.546 498218.324 0, 1677356.547 498258.183 0, 1677658.547 498298.059 0, 1677959.19 498337.775 0, 1678262.538 498377.866 0, 1678564.53 498417.796 0, 1678866.52 498457.744 0, 1679168.507 498497.71 0, 1679470.493 498537.693 0,
+ 1679772.475 498577.694 0, 1680074.456 498617.713 0, 1680376.434 498657.75 0, 1680678.409 498697.805 0, 1680980.383 498737.877 0, 1681282.354 498777.967 0, 1681584.322 498818.075 0, 1681886.289 498858.2 0, 1682188.253 498898.344 0, 1682490.214 498938.505 0,
+ 1682792.173 498978.684 0, 1683094.13 499018.88 0, 1683396.085 499059.095 0, 1683698.037 499099.327 0, 1683999.986 499139.577 0, 1684301.934 499179.845 0, 1684603.879 499220.13 0, 1684905.821 499260.434 0, 1685206.41 499300.574 0, 1685941.725 493795.467 0,
+ 1686676.983 488290.788 0))
+
+POLYGON ((1699696.732 501256.879 0, 1699396.256 501215.889 0, 1699094.429 501174.733 0, 1698792.599 501133.595 0, 1698490.766 501092.474 0, 1698188.932 501051.371 0, 1697887.094 501010.286 0, 1697585.255 500969.219 0, 1697283.413 500928.169 0, 1696981.568 500887.137 0,
+ 1696679.721 500846.123 0, 1696377.872 500805.127 0, 1696076.02 500764.148 0, 1695774.166 500723.188 0, 1695472.31 500682.245 0, 1695170.451 500641.319 0, 1694868.589 500600.412 0, 1694566.726 500559.522 0, 1694264.86 500518.65 0, 1693962.991 500477.796 0,
+ 1693661.12 500436.96 0, 1693359.247 500396.141 0, 1693057.371 500355.34 0, 1692755.493 500314.557 0, 1692452.262 500273.609 0, 1692151.729 500233.044 0, 1691849.844 500192.314 0, 1691547.956 500151.602 0, 1691246.066 500110.908 0, 1690944.173 500070.232 0,
+ 1690642.279 500029.573 0, 1690340.381 499988.932 0, 1690038.481 499948.309 0, 1689736.579 499907.703 0, 1689434.675 499867.116 0, 1689132.768 499826.546 0, 1688830.859 499785.994 0, 1688528.947 499745.459 0, 1688227.033 499704.943 0, 1687925.116 499664.444 0,
+ 1687623.198 499623.963 0, 1687321.276 499583.5 0, 1687019.353 499543.054 0, 1686717.427 499502.627 0, 1686415.499 499462.217 0, 1686113.568 499421.825 0, 1685811.635 499381.45 0, 1685509.699 499341.094 0, 1685206.41 499300.574 0, 1684471.037 504806.107 0,
+ 1683735.609 510312.064 0, 1684038.248 510352.496 0, 1684339.535 510392.766 0, 1684640.82 510433.054 0, 1684942.103 510473.359 0, 1685243.383 510513.683 0, 1685544.661 510554.023 0, 1685845.936 510594.382 0, 1686147.209 510634.759 0, 1686448.48 510675.153 0,
+ 1686749.749 510715.565 0, 1687051.014 510755.994 0, 1687352.278 510796.441 0, 1687653.539 510836.906 0, 1687954.798 510877.389 0, 1688256.055 510917.89 0, 1688557.309 510958.408 0, 1688858.56 510998.944 0, 1689159.81 511039.498 0, 1689461.057 511080.069 0,
+ 1689762.301 511120.658 0, 1690063.543 511161.265 0, 1690364.783 511201.89 0, 1690666.02 511242.532 0, 1690965.908 511283.01 0, 1691268.488 511323.87 0, 1691569.718 511364.566 0, 1691870.946 511405.279 0, 1692172.171 511446.01 0, 1692473.394 511486.759 0,
+ 1692774.615 511527.525 0, 1693075.833 511568.309 0, 1693377.049 511609.111 0, 1693678.262 511649.931 0, 1693979.473 511690.768 0, 1694280.682 511731.624 0, 1694581.888 511772.496 0, 1694883.092 511813.387 0, 1695184.293 511854.295 0, 1695485.492 511895.221 0,
+ 1695786.689 511936.165 0, 1696087.883 511977.127 0, 1696389.075 512018.106 0, 1696690.264 512059.103 0, 1696991.451 512100.117 0, 1697292.635 512141.15 0, 1697593.817 512182.2 0, 1697894.997 512223.268 0, 1698194.828 512264.17 0, 1698945.809 506760.313 0,
+ 1699696.732 501256.879 0))
+
+POLYGON ((1712648.474 514257.118 0, 1712348.758 514215.369 0, 1712047.695 514173.45 0, 1711746.63 514131.549 0, 1711445.563 514089.666 0, 1711144.493 514047.801 0, 1710843.421 514005.953 0, 1710542.346 513964.123 0, 1710241.269 513922.311 0, 1709940.189 513880.516 0,
+ 1709639.107 513838.739 0, 1709338.023 513796.98 0, 1709036.935 513755.239 0, 1708735.846 513713.515 0, 1708434.754 513671.809 0, 1708133.66 513630.121 0, 1707832.563 513588.451 0, 1707531.463 513546.798 0, 1707230.362 513505.163 0, 1706929.257 513463.545 0,
+ 1706628.151 513421.946 0, 1706327.042 513380.364 0, 1706025.93 513338.8 0, 1705724.816 513297.253 0, 1705422.355 513255.539 0, 1705122.581 513214.214 0, 1704821.459 513172.721 0, 1704520.336 513131.245 0, 1704219.209 513089.787 0, 1703918.081 513048.347 0,
+ 1703616.95 513006.925 0, 1703315.816 512965.52 0, 1703014.68 512924.133 0, 1702713.542 512882.764 0, 1702412.401 512841.413 0, 1702111.258 512800.079 0, 1701810.112 512758.763 0, 1701508.964 512717.465 0, 1701207.813 512676.184 0, 1700906.66 512634.921 0,
+ 1700605.505 512593.676 0, 1700304.347 512552.449 0, 1700003.187 512511.239 0, 1699702.024 512470.047 0, 1699400.859 512428.873 0, 1699099.691 512387.716 0, 1698798.521 512346.578 0, 1698497.349 512305.457 0, 1698194.828 512264.17 0, 1697443.79 517768.446 0,
+ 1696692.695 523273.139 0, 1696994.565 523314.337 0, 1697295.089 523355.37 0, 1697595.611 523396.42 0, 1697896.131 523437.488 0, 1698196.648 523478.573 0, 1698497.163 523519.677 0, 1698797.675 523560.798 0, 1699098.185 523601.936 0, 1699398.693 523643.093 0,
+ 1699699.198 523684.267 0, 1699999.7 523725.458 0, 1700300.201 523766.668 0, 1700600.698 523807.895 0, 1700901.194 523849.14 0, 1701201.687 523890.402 0, 1701502.177 523931.683 0, 1701802.665 523972.98 0, 1702103.151 524014.296 0, 1702403.634 524055.629 0,
+ 1702704.115 524096.98 0, 1703004.593 524138.349 0, 1703305.069 524179.735 0, 1703605.543 524221.139 0, 1703904.672 524262.376 0, 1704206.482 524304 0, 1704506.949 524345.457 0, 1704807.412 524386.932 0, 1705107.874 524428.424 0, 1705408.332 524469.934 0,
+ 1705708.789 524511.462 0, 1706009.243 524553.008 0, 1706309.694 524594.571 0, 1706610.143 524636.151 0, 1706910.59 524677.75 0, 1707211.034 524719.366 0, 1707511.476 524761 0, 1707811.915 524802.652 0, 1708112.352 524844.321 0, 1708412.786 524886.008 0,
+ 1708713.218 524927.712 0, 1709013.648 524969.435 0, 1709314.075 525011.175 0, 1709614.499 525052.932 0, 1709914.921 525094.708 0, 1710215.341 525136.501 0, 1710515.758 525178.311 0, 1710816.173 525220.14 0, 1711115.245 525261.799 0, 1711881.888 519759.25 0,
+ 1712648.474 514257.118 0))
+
+POLYGON ((1725532.119 527291.198 0, 1725233.163 527248.693 0, 1724932.868 527206.016 0, 1724632.57 527163.357 0, 1724332.27 527120.716 0, 1724031.967 527078.092 0, 1723731.662 527035.485 0, 1723431.354 526992.897 0, 1723131.043 526950.326 0, 1722830.731 526907.773 0,
+ 1722530.415 526865.237 0, 1722230.097 526822.719 0, 1721929.777 526780.219 0, 1721629.454 526737.737 0, 1721329.129 526695.272 0, 1721028.801 526652.825 0, 1720728.47 526610.395 0, 1720428.137 526567.983 0, 1720127.802 526525.589 0, 1719827.464 526483.213 0,
+ 1719527.124 526440.854 0, 1719226.781 526398.513 0, 1718926.436 526356.189 0, 1718626.088 526313.884 0, 1718324.398 526271.407 0, 1718025.385 526229.325 0, 1717725.029 526187.073 0, 1717424.671 526144.838 0, 1717124.311 526102.62 0, 1716823.948 526060.421 0,
+ 1716523.583 526018.239 0, 1716223.215 525976.074 0, 1715922.845 525933.928 0, 1715622.472 525891.799 0, 1715322.097 525849.687 0, 1715021.72 525807.594 0, 1714721.339 525765.518 0, 1714420.957 525723.46 0, 1714120.572 525681.419 0, 1713820.184 525639.396 0,
+ 1713519.794 525597.391 0, 1713219.402 525555.403 0, 1712919.007 525513.434 0, 1712618.609 525471.481 0, 1712318.209 525429.547 0, 1712017.807 525387.63 0, 1711717.402 525345.731 0, 1711416.995 525303.85 0, 1711115.245 525261.799 0, 1710348.543 530764.762 0,
+ 1709581.784 536268.135 0, 1709882.884 536310.095 0, 1710182.644 536351.886 0, 1710482.401 536393.695 0, 1710782.155 536435.521 0, 1711081.907 536477.365 0, 1711381.657 536519.227 0, 1711681.404 536561.106 0, 1711981.149 536603.003 0, 1712280.891 536644.918 0,
+ 1712580.631 536686.85 0, 1712880.368 536728.8 0, 1713180.103 536770.767 0, 1713479.836 536812.753 0, 1713779.565 536854.755 0, 1714079.293 536896.776 0, 1714379.018 536938.814 0, 1714678.74 536980.87 0, 1714978.46 537022.943 0, 1715278.178 537065.034 0,
+ 1715577.893 537107.143 0, 1715877.606 537149.269 0, 1716177.316 537191.413 0, 1716477.023 537233.575 0, 1716775.392 537275.566 0, 1717076.431 537317.951 0, 1717376.131 537360.165 0, 1717675.829 537402.397 0, 1717975.524 537444.647 0, 1718275.217 537486.915 0,
+ 1718574.907 537529.2 0, 1718874.595 537571.502 0, 1719174.28 537613.823 0, 1719473.963 537656.161 0, 1719773.643 537698.516 0, 1720073.321 537740.89 0, 1720372.996 537783.281 0, 1720672.669 537825.689 0, 1720972.339 537868.115 0, 1721272.007 537910.559 0,
+ 1721571.672 537953.021 0, 1721871.335 537995.5 0, 1722170.995 538037.996 0, 1722470.653 538080.511 0, 1722770.308 538123.043 0, 1723069.961 538165.592 0, 1723369.611 538208.16 0, 1723669.259 538250.745 0, 1723967.57 538293.157 0, 1724749.873 532791.972 0,
+ 1725532.119 527291.198 0))
+
+POLYGON ((1738347.577 540358.814 0, 1738049.385 540315.558 0, 1737749.859 540272.127 0, 1737450.33 540228.713 0, 1737150.798 540185.317 0, 1736851.264 540141.939 0, 1736551.728 540098.578 0, 1736252.189 540055.235 0, 1735952.647 540011.91 0, 1735653.103 539968.602 0,
+ 1735353.557 539925.311 0, 1735054.007 539882.039 0, 1734754.456 539838.784 0, 1734454.901 539795.546 0, 1734155.344 539752.327 0, 1733855.785 539709.125 0, 1733556.223 539665.94 0, 1733256.658 539622.773 0, 1732957.091 539579.624 0, 1732657.522 539536.492 0,
+ 1732357.95 539493.378 0, 1732058.375 539450.282 0, 1731758.798 539407.203 0, 1731459.218 539364.142 0, 1731158.303 539320.907 0, 1730860.051 539278.073 0, 1730560.464 539235.065 0, 1730260.874 539192.075 0, 1729961.282 539149.102 0, 1729661.687 539106.146 0,
+ 1729362.089 539063.209 0, 1729062.489 539020.289 0, 1728762.887 538977.386 0, 1728463.282 538934.502 0, 1728163.674 538891.635 0, 1727864.064 538848.785 0, 1727564.452 538805.953 0, 1727264.837 538763.139 0, 1726965.219 538720.343 0, 1726665.599 538677.564 0,
+ 1726365.976 538634.802 0, 1726066.351 538592.059 0, 1725766.723 538549.333 0, 1725467.093 538506.624 0, 1725167.46 538463.934 0, 1724867.825 538421.261 0, 1724568.188 538378.605 0, 1724268.547 538335.967 0, 1723967.57 538293.157 0, 1723185.208 543794.75 0,
+ 1722402.789 549296.746 0, 1722703.116 549339.464 0, 1723002.109 549382.01 0, 1723301.099 549424.573 0, 1723600.086 549467.154 0, 1723899.071 549509.752 0, 1724198.054 549552.368 0, 1724497.034 549595.002 0, 1724796.012 549637.653 0, 1725094.987 549680.322 0,
+ 1725393.959 549723.008 0, 1725692.929 549765.712 0, 1725991.897 549808.434 0, 1726290.862 549851.173 0, 1726589.824 549893.93 0, 1726888.784 549936.705 0, 1727187.742 549979.497 0, 1727486.697 550022.306 0, 1727785.649 550065.134 0, 1728084.599 550107.978 0,
+ 1728383.546 550150.841 0, 1728682.491 550193.721 0, 1728981.433 550236.618 0, 1729280.373 550279.534 0, 1729577.98 550322.275 0, 1729878.245 550365.417 0, 1730177.177 550408.385 0, 1730476.107 550451.37 0, 1730775.034 550494.373 0, 1731073.959 550537.394 0,
+ 1731372.881 550580.433 0, 1731671.8 550623.489 0, 1731970.717 550666.562 0, 1732269.632 550709.653 0, 1732568.544 550752.762 0, 1732867.453 550795.888 0, 1733166.36 550839.032 0, 1733465.264 550882.194 0, 1733764.166 550925.373 0, 1734063.065 550968.569 0,
+ 1734361.962 551011.784 0, 1734660.856 551055.016 0, 1734959.748 551098.265 0, 1735258.637 551141.532 0, 1735557.524 551184.817 0, 1735856.407 551228.119 0, 1736155.289 551271.439 0, 1736454.168 551314.776 0, 1736751.715 551357.939 0, 1737549.675 545858.174 0,
+ 1738347.577 540358.814 0))
+
+POLYGON ((1751094.761 553459.661 0, 1750797.334 553415.658 0, 1750498.579 553371.476 0, 1750199.821 553327.312 0, 1749901.061 553283.166 0, 1749602.297 553239.037 0, 1749303.532 553194.925 0, 1749004.764 553150.832 0, 1748705.993 553106.756 0, 1748407.219 553062.697 0,
+ 1748108.443 553018.656 0, 1747809.665 552974.633 0, 1747510.884 552930.627 0, 1747212.1 552886.639 0, 1746913.313 552842.668 0, 1746614.524 552798.715 0, 1746315.733 552754.78 0, 1746016.939 552710.862 0, 1745718.142 552666.961 0, 1745419.343 552623.079 0,
+ 1745120.541 552579.214 0, 1744821.736 552535.366 0, 1744522.929 552491.536 0, 1744224.12 552447.724 0, 1743923.98 552403.734 0, 1743626.493 552360.152 0, 1743327.675 552316.392 0, 1743028.856 552272.65 0, 1742730.033 552228.926 0, 1742431.208 552185.219 0,
+ 1742132.38 552141.53 0, 1741833.55 552097.858 0, 1741534.717 552054.204 0, 1741235.882 552010.568 0, 1740937.044 551966.949 0, 1740638.204 551923.347 0, 1740339.361 551879.764 0, 1740040.515 551836.198 0, 1739741.667 551792.649 0, 1739442.816 551749.118 0,
+ 1739143.963 551705.605 0, 1738845.107 551662.109 0, 1738546.248 551618.631 0, 1738247.387 551575.17 0, 1737948.524 551531.727 0, 1737649.658 551488.302 0, 1737350.789 551444.894 0, 1737051.918 551401.504 0, 1736751.715 551357.939 0, 1735953.697 556858.104 0,
+ 1735155.621 562358.668 0, 1735455.173 562402.139 0, 1735753.397 562445.435 0, 1736051.618 562488.749 0, 1736349.837 562532.08 0, 1736648.053 562575.429 0, 1736946.266 562618.795 0, 1737244.477 562662.179 0, 1737542.686 562705.581 0, 1737840.892 562749 0,
+ 1738139.095 562792.437 0, 1738437.296 562835.891 0, 1738735.494 562879.362 0, 1739033.69 562922.852 0, 1739331.883 562966.359 0, 1739630.073 563009.883 0, 1739928.261 563053.425 0, 1740226.447 563096.984 0, 1740524.629 563140.561 0, 1740822.81 563184.156 0,
+ 1741120.987 563227.768 0, 1741419.162 563271.398 0, 1741717.335 563315.045 0, 1742015.505 563358.71 0, 1742312.348 563402.198 0, 1742611.837 563446.092 0, 1742910 563489.809 0, 1743208.159 563533.544 0, 1743506.316 563577.297 0, 1743804.471 563621.067 0,
+ 1744102.623 563664.855 0, 1744400.772 563708.66 0, 1744698.919 563752.483 0, 1744997.063 563796.323 0, 1745295.205 563840.181 0, 1745593.344 563884.056 0, 1745891.481 563927.949 0, 1746189.615 563971.859 0, 1746487.746 564015.787 0, 1746785.875 564059.733 0,
+ 1747084.001 564103.696 0, 1747382.124 564147.677 0, 1747680.245 564191.675 0, 1747978.364 564235.691 0, 1748276.48 564279.724 0, 1748574.593 564323.775 0, 1748872.703 564367.843 0, 1749170.811 564411.929 0, 1749467.593 564455.837 0, 1750281.206 558957.55 0,
+ 1751094.761 553459.661 0))
+
+POLYGON ((1763773.584 566593.431 0, 1763476.925 566548.685 0, 1763178.943 566503.757 0, 1762880.958 566458.847 0, 1762582.97 566413.954 0, 1762284.98 566369.079 0, 1761986.987 566324.221 0, 1761688.992 566279.38 0, 1761390.994 566234.558 0, 1761092.993 566189.753 0,
+ 1760794.989 566144.965 0, 1760496.983 566100.195 0, 1760198.975 566055.442 0, 1759900.963 566010.707 0, 1759602.95 565965.99 0, 1759304.933 565921.29 0, 1759006.914 565876.607 0, 1758708.892 565831.942 0, 1758410.867 565787.295 0, 1758112.84 565742.665 0,
+ 1757814.811 565698.053 0, 1757516.778 565653.458 0, 1757218.743 565608.881 0, 1756920.706 565564.322 0, 1756621.344 565519.582 0, 1756324.623 565475.255 0, 1756026.577 565430.748 0, 1755728.529 565386.259 0, 1755430.479 565341.787 0, 1755132.425 565297.332 0,
+ 1754834.369 565252.895 0, 1754536.311 565208.476 0, 1754238.25 565164.074 0, 1753940.186 565119.69 0, 1753642.12 565075.324 0, 1753344.051 565030.974 0, 1753045.979 564986.643 0, 1752747.905 564942.329 0, 1752449.828 564898.032 0, 1752151.749 564853.753 0,
+ 1751853.667 564809.492 0, 1751555.582 564765.248 0, 1751257.495 564721.022 0, 1750959.405 564676.813 0, 1750661.312 564632.622 0, 1750363.217 564588.448 0, 1750065.12 564544.292 0, 1749767.02 564500.154 0, 1749467.593 564455.837 0, 1748653.922 569954.519 0,
+ 1747840.193 575453.593 0, 1748138.969 575497.813 0, 1748436.422 575541.856 0, 1748733.872 575585.916 0, 1749031.32 575629.994 0, 1749328.765 575674.089 0, 1749626.207 575718.202 0, 1749923.647 575762.332 0, 1750221.085 575806.48 0, 1750518.519 575850.645 0,
+ 1750815.952 575894.828 0, 1751113.381 575939.028 0, 1751410.808 575983.246 0, 1751708.232 576027.481 0, 1752005.654 576071.734 0, 1752303.073 576116.004 0, 1752600.49 576160.292 0, 1752897.904 576204.598 0, 1753195.315 576248.92 0, 1753492.724 576293.261 0,
+ 1753790.13 576337.619 0, 1754087.533 576381.994 0, 1754384.934 576426.387 0, 1754682.333 576470.797 0, 1754978.409 576515.028 0, 1755277.121 576559.67 0, 1755574.512 576604.133 0, 1755871.899 576648.614 0, 1756169.285 576693.111 0, 1756466.667 576737.627 0,
+ 1756764.047 576782.16 0, 1757061.424 576826.71 0, 1757358.799 576871.278 0, 1757656.171 576915.863 0, 1757953.541 576960.466 0, 1758250.908 577005.087 0, 1758548.272 577049.725 0, 1758845.633 577094.38 0, 1759142.992 577139.053 0, 1759440.349 577183.743 0,
+ 1759737.702 577228.451 0, 1760035.053 577273.177 0, 1760332.402 577317.919 0, 1760629.747 577362.68 0, 1760927.091 577407.458 0, 1761224.431 577452.253 0, 1761521.769 577497.066 0, 1761819.104 577541.896 0, 1762115.119 577586.546 0, 1762944.381 572089.793 0,
+ 1763773.584 566593.431 0))
+
+POLYGON ((1776383.963 579759.819 0, 1776088.073 579714.334 0, 1775790.866 579668.664 0, 1775493.655 579623.011 0, 1775196.443 579577.375 0, 1774899.227 579531.758 0, 1774602.009 579486.157 0, 1774304.788 579440.575 0, 1774007.565 579395.009 0, 1773710.339 579349.462 0,
+ 1773413.11 579303.931 0, 1773115.878 579258.418 0, 1772818.644 579212.923 0, 1772521.407 579167.445 0, 1772224.167 579121.985 0, 1771926.925 579076.542 0, 1771629.68 579031.117 0, 1771332.433 578985.709 0, 1771035.182 578940.319 0, 1770737.929 578894.946 0,
+ 1770440.674 578849.59 0, 1770143.416 578804.253 0, 1769846.155 578758.932 0, 1769548.891 578713.629 0, 1769250.309 578668.143 0, 1768954.356 578623.076 0, 1768657.084 578577.826 0, 1768359.81 578532.593 0, 1768062.533 578487.377 0, 1767765.253 578442.18 0,
+ 1767467.971 578396.999 0, 1767170.686 578351.836 0, 1766873.399 578306.691 0, 1766576.108 578261.563 0, 1766278.815 578216.453 0, 1765981.52 578171.36 0, 1765684.222 578126.284 0, 1765386.921 578081.226 0, 1765089.617 578036.186 0, 1764792.311 577991.163 0,
+ 1764495.002 577946.158 0, 1764197.691 577901.17 0, 1763900.377 577856.199 0, 1763603.06 577811.246 0, 1763305.741 577766.311 0, 1763008.419 577721.393 0, 1762711.094 577676.493 0, 1762413.767 577631.61 0, 1762115.119 577586.546 0, 1761285.799 583083.687 0,
+ 1760456.42 588581.214 0, 1760754.417 588626.181 0, 1761051.097 588670.966 0, 1761347.775 588715.768 0, 1761644.45 588760.589 0, 1761941.122 588805.426 0, 1762237.792 588850.281 0, 1762534.459 588895.154 0, 1762831.123 588940.044 0, 1763127.785 588984.951 0,
+ 1763424.444 589029.876 0, 1763721.101 589074.819 0, 1764017.754 589119.778 0, 1764314.405 589164.756 0, 1764611.054 589209.75 0, 1764907.7 589254.763 0, 1765204.343 589299.792 0, 1765500.984 589344.839 0, 1765797.621 589389.904 0, 1766094.257 589434.986 0,
+ 1766390.889 589480.086 0, 1766687.519 589525.203 0, 1766984.146 589570.337 0, 1767280.771 589615.489 0, 1767576.08 589660.458 0, 1767874.012 589705.845 0, 1768170.629 589751.049 0, 1768467.243 589796.271 0, 1768763.854 589841.51 0, 1769060.463 589886.767 0,
+ 1769357.069 589932.041 0, 1769653.672 589977.333 0, 1769950.273 590022.642 0, 1770246.871 590067.968 0, 1770543.466 590113.312 0, 1770840.059 590158.673 0, 1771136.649 590204.052 0, 1771433.236 590249.449 0, 1771729.821 590294.862 0, 1772026.403 590340.294 0,
+ 1772322.982 590385.742 0, 1772619.559 590431.208 0, 1772916.133 590476.692 0, 1773212.704 590522.193 0, 1773509.272 590567.711 0, 1773805.838 590613.247 0, 1774102.402 590658.801 0, 1774398.962 590704.372 0, 1774694.208 590749.758 0, 1775539.115 585254.596 0,
+ 1776383.963 579759.819 0))
+
+POLYGON ((1788925.813 592958.518 0, 1788630.694 592912.297 0, 1788334.264 592865.888 0, 1788037.83 592819.497 0, 1787741.394 592773.124 0, 1787444.955 592726.767 0, 1787148.514 592680.429 0, 1786852.07 592634.107 0, 1786555.623 592587.804 0, 1786259.173 592541.517 0,
+ 1785962.72 592495.248 0, 1785666.265 592448.997 0, 1785369.807 592402.763 0, 1785073.347 592356.546 0, 1784776.884 592310.347 0, 1784480.417 592264.165 0, 1784183.949 592218.001 0, 1783887.477 592171.854 0, 1783591.003 592125.725 0, 1783294.526 592079.613 0,
+ 1782998.047 592033.519 0, 1782701.564 591987.442 0, 1782405.079 591941.382 0, 1782108.591 591895.34 0, 1781810.791 591849.112 0, 1781515.608 591803.308 0, 1781219.112 591757.319 0, 1780922.613 591711.346 0, 1780626.112 591665.391 0, 1780329.608 591619.454 0,
+ 1780033.101 591573.534 0, 1779736.592 591527.632 0, 1779440.08 591481.747 0, 1779143.565 591435.879 0, 1778847.048 591390.029 0, 1778550.527 591344.196 0, 1778254.005 591298.381 0, 1777957.479 591252.583 0, 1777660.951 591206.803 0, 1777364.42 591161.04 0,
+ 1777067.886 591115.295 0, 1776771.35 591069.567 0, 1776474.811 591023.856 0, 1776178.269 590978.163 0, 1775881.725 590932.488 0, 1775585.177 590886.83 0, 1775288.628 590841.189 0, 1774992.075 590795.566 0, 1774694.208 590749.758 0, 1773849.242 596245.303 0,
+ 1773004.218 601741.226 0, 1773301.435 601786.934 0, 1773597.341 601832.458 0, 1773893.244 601877.999 0, 1774189.144 601923.557 0, 1774485.042 601969.133 0, 1774780.936 602014.727 0, 1775076.828 602060.337 0, 1775372.718 602105.966 0, 1775668.605 602151.611 0,
+ 1775964.489 602197.274 0, 1776260.37 602242.955 0, 1776556.249 602288.652 0, 1776852.125 602334.368 0, 1777147.998 602380.1 0, 1777443.869 602425.851 0, 1777739.737 602471.618 0, 1778035.602 602517.403 0, 1778331.465 602563.205 0, 1778627.325 602609.025 0,
+ 1778923.182 602654.862 0, 1779219.036 602700.717 0, 1779514.888 602746.589 0, 1779810.737 602792.478 0, 1780105.276 602838.182 0, 1780402.427 602884.309 0, 1780698.268 602930.251 0, 1780994.106 602976.21 0, 1781289.942 603022.186 0, 1781585.775 603068.18 0,
+ 1781881.605 603114.192 0, 1782177.432 603160.22 0, 1782473.257 603206.266 0, 1782769.079 603252.33 0, 1783064.898 603298.411 0, 1783360.715 603344.509 0, 1783656.529 603390.625 0, 1783952.34 603436.758 0, 1784248.148 603482.909 0, 1784543.954 603529.077 0,
+ 1784839.757 603575.262 0, 1785135.557 603621.465 0, 1785431.355 603667.685 0, 1785727.15 603713.923 0, 1786022.942 603760.178 0, 1786318.731 603806.45 0, 1786614.518 603852.74 0, 1786910.302 603899.047 0, 1787204.777 603945.167 0, 1788065.325 598451.653 0,
+ 1788925.813 592958.518 0))
+
+POLYGON ((1801399.053 606189.219 0, 1801104.707 606142.267 0, 1800809.055 606095.124 0, 1800513.4 606047.999 0, 1800217.743 606000.891 0, 1799922.082 605953.8 0, 1799626.419 605906.727 0, 1799330.753 605859.671 0, 1799035.085 605812.633 0, 1798739.414 605765.612 0,
+ 1798443.739 605718.609 0, 1798148.063 605671.622 0, 1797852.383 605624.654 0, 1797556.701 605577.702 0, 1797261.015 605530.769 0, 1796965.327 605483.852 0, 1796669.637 605436.953 0, 1796373.943 605390.071 0, 1796078.247 605343.207 0, 1795782.548 605296.36 0,
+ 1795486.846 605249.531 0, 1795191.142 605202.719 0, 1794895.435 605155.924 0, 1794599.725 605109.147 0, 1794302.707 605062.181 0, 1794008.296 605015.644 0, 1793712.578 604968.919 0, 1793416.857 604922.212 0, 1793121.133 604875.521 0, 1792825.407 604828.849 0,
+ 1792529.678 604782.193 0, 1792233.946 604735.555 0, 1791938.211 604688.935 0, 1791642.474 604642.331 0, 1791346.733 604595.746 0, 1791050.99 604549.177 0, 1790755.245 604502.626 0, 1790459.496 604456.093 0, 1790163.745 604409.576 0, 1789867.991 604363.078 0,
+ 1789572.235 604316.596 0, 1789276.475 604270.132 0, 1788980.713 604223.686 0, 1788684.948 604177.257 0, 1788389.181 604130.845 0, 1788093.41 604084.451 0, 1787797.637 604038.074 0, 1787501.862 603991.714 0, 1787204.777 603945.167 0, 1786344.17 609439.058 0,
+ 1785483.505 614933.321 0, 1785779.94 614979.766 0, 1786075.069 615026.024 0, 1786370.196 615072.3 0, 1786665.319 615118.593 0, 1786960.44 615164.903 0, 1787255.558 615211.231 0, 1787550.674 615257.576 0, 1787845.786 615303.938 0, 1788140.896 615350.318 0,
+ 1788436.003 615396.715 0, 1788731.108 615443.129 0, 1789026.21 615489.561 0, 1789321.309 615536.01 0, 1789616.405 615582.477 0, 1789911.499 615628.961 0, 1790206.589 615675.462 0, 1790501.677 615721.981 0, 1790796.763 615768.517 0, 1791091.845 615815.07 0,
+ 1791386.925 615861.641 0, 1791682.002 615908.229 0, 1791977.077 615954.835 0, 1792272.148 616001.457 0, 1792565.915 616047.892 0, 1792862.283 616094.755 0, 1793157.347 616141.43 0, 1793452.408 616188.123 0, 1793747.465 616234.832 0, 1794042.521 616281.559 0,
+ 1794337.573 616328.304 0, 1794632.623 616375.066 0, 1794927.67 616421.845 0, 1795222.714 616468.641 0, 1795517.755 616515.455 0, 1795812.794 616562.287 0, 1796107.83 616609.135 0, 1796402.863 616656.001 0, 1796697.893 616702.885 0, 1796992.921 616749.785 0,
+ 1797287.945 616796.704 0, 1797582.968 616843.639 0, 1797877.987 616890.592 0, 1798173.003 616937.562 0, 1798468.017 616984.55 0, 1798763.028 617031.554 0, 1799058.036 617078.577 0, 1799353.042 617125.616 0, 1799646.744 617172.466 0, 1800522.928 611680.656 0,
+ 1801399.053 606189.219 0))
+
+POLYGON ((1813803.601 619451.615 0, 1813510.03 619403.936 0, 1813215.158 619356.063 0, 1812920.284 619308.207 0, 1812625.407 619260.369 0, 1812330.527 619212.548 0, 1812035.644 619164.745 0, 1811740.759 619116.959 0, 1811445.871 619069.19 0, 1811150.98 619021.439 0,
+ 1810856.086 618973.705 0, 1810561.189 618925.988 0, 1810266.289 618878.289 0, 1809971.387 618830.607 0, 1809676.482 618782.942 0, 1809381.574 618735.295 0, 1809086.663 618687.665 0, 1808791.75 618640.052 0, 1808496.833 618592.457 0, 1808201.914 618544.879 0,
+ 1807906.992 618497.319 0, 1807612.067 618449.776 0, 1807317.14 618402.25 0, 1807022.209 618354.741 0, 1806725.977 618307.041 0, 1806432.34 618259.777 0, 1806137.402 618212.32 0, 1805842.46 618164.881 0, 1805547.516 618117.46 0, 1805252.569 618070.056 0,
+ 1804957.619 618022.669 0, 1804662.666 617975.299 0, 1804367.711 617927.947 0, 1804072.752 617880.612 0, 1803777.791 617833.295 0, 1803482.827 617785.995 0, 1803187.861 617738.712 0, 1802892.891 617691.447 0, 1802597.919 617644.199 0, 1802302.944 617596.968 0,
+ 1802007.967 617549.755 0, 1801712.986 617502.559 0, 1801418.003 617455.38 0, 1801123.017 617408.219 0, 1800828.028 617361.075 0, 1800533.036 617313.949 0, 1800238.042 617266.84 0, 1799943.045 617219.748 0, 1799646.744 617172.466 0, 1798770.501 622664.645 0,
+ 1797894.2 628157.192 0, 1798189.851 628204.37 0, 1798484.202 628251.358 0, 1798778.549 628298.364 0, 1799072.895 628345.387 0, 1799367.237 628392.428 0, 1799661.576 628439.486 0, 1799955.913 628486.561 0, 1800250.247 628533.653 0, 1800544.579 628580.763 0,
+ 1800838.907 628627.89 0, 1801133.233 628675.035 0, 1801427.556 628722.196 0, 1801721.876 628769.376 0, 1802016.193 628816.572 0, 1802310.508 628863.786 0, 1802604.82 628911.017 0, 1802899.129 628958.265 0, 1803193.435 629005.531 0, 1803487.738 629052.814 0,
+ 1803782.039 629100.114 0, 1804076.337 629147.432 0, 1804370.632 629194.767 0, 1804664.924 629242.119 0, 1804957.918 629289.28 0, 1805253.501 629336.876 0, 1805547.785 629384.28 0, 1805842.066 629431.702 0, 1806136.344 629479.141 0, 1806430.62 629526.597 0,
+ 1806724.893 629574.07 0, 1807019.163 629621.561 0, 1807313.43 629669.07 0, 1807607.694 629716.595 0, 1807901.956 629764.138 0, 1808196.215 629811.698 0, 1808490.471 629859.276 0, 1808784.724 629906.87 0, 1809078.974 629954.482 0, 1809373.222 630002.112 0,
+ 1809667.467 630049.759 0, 1809961.709 630097.423 0, 1810255.948 630145.104 0, 1810550.184 630192.803 0, 1810844.418 630240.519 0, 1811138.649 630288.252 0, 1811432.877 630336.003 0, 1811727.102 630383.771 0, 1812020.03 630431.346 0, 1812911.845 624941.297 0,
+ 1813803.601 619451.615 0))
+
+POLYGON ((1672150.08 486371.318 0, 1671848.737 486331.942 0, 1671546.033 486292.408 0, 1671243.328 486252.891 0, 1670940.619 486213.392 0, 1670637.909 486173.91 0, 1670335.196 486134.447 0, 1670032.481 486095.001 0, 1669729.763 486055.573 0, 1669427.044 486016.163 0,
+ 1669124.322 485976.771 0, 1668821.597 485937.397 0, 1668518.87 485898.04 0, 1668216.141 485858.701 0, 1667913.41 485819.38 0, 1667610.676 485780.077 0, 1667307.94 485740.792 0, 1667005.202 485701.524 0, 1666702.461 485662.274 0, 1666399.719 485623.043 0,
+ 1666096.973 485583.829 0, 1665794.226 485544.632 0, 1665491.476 485505.454 0, 1665188.724 485466.293 0, 1664884.61 485426.975 0, 1664583.213 485388.026 0, 1664280.453 485348.918 0, 1663977.692 485309.829 0, 1663674.928 485270.758 0, 1663372.162 485231.704 0,
+ 1663069.394 485192.668 0, 1662766.624 485153.65 0, 1662463.851 485114.65 0, 1662161.076 485075.667 0, 1661858.298 485036.703 0, 1661555.519 484997.756 0, 1661252.736 484958.827 0, 1660949.952 484919.916 0, 1660647.166 484881.023 0, 1660344.377 484842.147 0,
+ 1660041.585 484803.29 0, 1659738.792 484764.45 0, 1659435.996 484725.628 0, 1659133.198 484686.824 0, 1658830.398 484648.037 0, 1658527.595 484609.269 0, 1658224.79 484570.518 0, 1657921.983 484531.785 0, 1657617.813 484492.896 0, 1656913.67 490001.641 0,
+ 1656209.473 495510.816 0, 1656512.991 495549.622 0, 1656815.15 495588.272 0, 1657117.306 495626.939 0, 1657419.46 495665.625 0, 1657721.612 495704.328 0, 1658023.762 495743.049 0, 1658325.909 495781.788 0, 1658628.054 495820.545 0, 1658930.197 495859.319 0,
+ 1659232.337 495898.111 0, 1659534.476 495936.921 0, 1659836.611 495975.749 0, 1660138.745 496014.595 0, 1660440.876 496053.458 0, 1660743.005 496092.339 0, 1661045.132 496131.238 0, 1661347.256 496170.155 0, 1661649.379 496209.089 0, 1661951.498 496248.041 0,
+ 1662253.616 496287.012 0, 1662555.731 496325.999 0, 1662857.844 496365.005 0, 1663159.955 496404.028 0, 1663460.707 496442.894 0, 1663764.169 496482.128 0, 1664066.273 496521.205 0, 1664368.375 496560.3 0, 1664670.474 496599.412 0, 1664972.571 496638.542 0,
+ 1665274.665 496677.69 0, 1665576.758 496716.856 0, 1665878.848 496756.039 0, 1666180.935 496795.24 0, 1666483.021 496834.459 0, 1666785.104 496873.696 0, 1667087.184 496912.95 0, 1667389.263 496952.223 0, 1667691.339 496991.513 0, 1667993.413 497030.821 0,
+ 1668295.484 497070.146 0, 1668597.553 497109.49 0, 1668899.62 497148.851 0, 1669201.685 497188.23 0, 1669503.747 497227.627 0, 1669805.807 497267.041 0, 1670107.864 497306.474 0, 1670409.92 497345.924 0, 1670710.618 497385.215 0, 1671430.377 491878.052 0,
+ 1672150.08 486371.318 0))
+
+POLYGON ((1685206.41 499300.574 0, 1684905.821 499260.434 0, 1684603.879 499220.13 0, 1684301.934 499179.845 0, 1683999.986 499139.577 0, 1683698.037 499099.327 0, 1683396.085 499059.095 0, 1683094.13 499018.88 0, 1682792.173 498978.684 0, 1682490.214 498938.505 0,
+ 1682188.253 498898.344 0, 1681886.289 498858.2 0, 1681584.322 498818.075 0, 1681282.354 498777.967 0, 1680980.383 498737.877 0, 1680678.409 498697.805 0, 1680376.434 498657.75 0, 1680074.456 498617.713 0, 1679772.475 498577.694 0, 1679470.493 498537.693 0,
+ 1679168.507 498497.71 0, 1678866.52 498457.744 0, 1678564.53 498417.796 0, 1678262.538 498377.866 0, 1677959.19 498337.775 0, 1677658.547 498298.059 0, 1677356.547 498258.183 0, 1677054.546 498218.324 0, 1676752.542 498178.483 0, 1676450.536 498138.659 0,
+ 1676148.527 498098.854 0, 1675846.516 498059.066 0, 1675544.503 498019.296 0, 1675242.487 497979.543 0, 1674940.469 497939.809 0, 1674638.449 497900.092 0, 1674336.426 497860.393 0, 1674034.401 497820.712 0, 1673732.374 497781.048 0, 1673430.344 497741.403 0,
+ 1673128.312 497701.775 0, 1672826.278 497662.165 0, 1672524.241 497622.572 0, 1672222.202 497582.998 0, 1671920.161 497543.441 0, 1671618.117 497503.902 0, 1671316.071 497464.381 0, 1671014.023 497424.877 0, 1670710.618 497385.215 0, 1669990.803 502892.804 0,
+ 1669270.933 508400.815 0, 1669573.687 508440.393 0, 1669875.087 508479.812 0, 1670176.484 508519.248 0, 1670477.879 508558.702 0, 1670779.272 508598.174 0, 1671080.663 508637.664 0, 1671382.051 508677.171 0, 1671683.437 508716.696 0, 1671984.821 508756.239 0,
+ 1672286.202 508795.799 0, 1672587.581 508835.378 0, 1672888.958 508874.974 0, 1673190.332 508914.588 0, 1673491.704 508954.219 0, 1673793.074 508993.868 0, 1674094.441 509033.535 0, 1674395.806 509073.22 0, 1674697.169 509112.923 0, 1674998.529 509152.643 0,
+ 1675299.887 509192.381 0, 1675601.243 509232.136 0, 1675902.596 509271.91 0, 1676203.947 509311.701 0, 1676503.946 509351.331 0, 1676806.642 509391.336 0, 1677107.986 509431.181 0, 1677409.328 509471.043 0, 1677710.667 509510.923 0, 1678012.004 509550.82 0,
+ 1678313.339 509590.736 0, 1678614.671 509630.669 0, 1678916.001 509670.619 0, 1679217.328 509710.588 0, 1679518.653 509750.574 0, 1679819.976 509790.578 0, 1680121.297 509830.6 0, 1680422.615 509870.639 0, 1680723.93 509910.697 0, 1681025.244 509950.771 0,
+ 1681326.555 509990.864 0, 1681627.864 510030.975 0, 1681929.17 510071.103 0, 1682230.474 510111.249 0, 1682531.775 510151.412 0, 1682833.075 510191.593 0, 1683134.371 510231.793 0, 1683435.666 510272.009 0, 1683735.609 510312.064 0, 1684471.037 504806.107 0,
+ 1685206.41 499300.574 0))
+
+POLYGON ((1698194.828 512264.17 0, 1697894.997 512223.268 0, 1697593.817 512182.2 0, 1697292.635 512141.15 0, 1696991.451 512100.117 0, 1696690.264 512059.103 0, 1696389.075 512018.106 0, 1696087.883 511977.127 0, 1695786.689 511936.165 0, 1695485.492 511895.221 0,
+ 1695184.293 511854.295 0, 1694883.092 511813.387 0, 1694581.888 511772.496 0, 1694280.682 511731.624 0, 1693979.473 511690.768 0, 1693678.262 511649.931 0, 1693377.049 511609.111 0, 1693075.833 511568.309 0, 1692774.615 511527.525 0, 1692473.394 511486.759 0,
+ 1692172.171 511446.01 0, 1691870.946 511405.279 0, 1691569.718 511364.566 0, 1691268.488 511323.87 0, 1690965.908 511283.01 0, 1690666.02 511242.532 0, 1690364.783 511201.89 0, 1690063.543 511161.265 0, 1689762.301 511120.658 0, 1689461.057 511080.069 0,
+ 1689159.81 511039.498 0, 1688858.56 510998.944 0, 1688557.309 510958.408 0, 1688256.055 510917.89 0, 1687954.798 510877.389 0, 1687653.539 510836.906 0, 1687352.278 510796.441 0, 1687051.014 510755.994 0, 1686749.749 510715.565 0, 1686448.48 510675.153 0,
+ 1686147.209 510634.759 0, 1685845.936 510594.382 0, 1685544.661 510554.023 0, 1685243.383 510513.683 0, 1684942.103 510473.359 0, 1684640.82 510433.054 0, 1684339.535 510392.766 0, 1684038.248 510352.496 0, 1683735.609 510312.064 0, 1683000.124 515818.44 0,
+ 1682264.584 521325.233 0, 1682566.572 521365.578 0, 1682867.211 521405.762 0, 1683167.848 521445.963 0, 1683468.482 521486.181 0, 1683769.114 521526.418 0, 1684069.744 521566.672 0, 1684370.371 521606.944 0, 1684670.996 521647.233 0, 1684971.619 521687.541 0,
+ 1685272.239 521727.865 0, 1685572.857 521768.208 0, 1685873.472 521808.568 0, 1686174.085 521848.946 0, 1686474.696 521889.342 0, 1686775.304 521929.755 0, 1687075.91 521970.186 0, 1687376.514 522010.635 0, 1687677.115 522051.102 0, 1687977.714 522091.586 0,
+ 1688278.31 522132.088 0, 1688578.904 522172.607 0, 1688879.496 522213.145 0, 1689180.085 522253.699 0, 1689479.327 522294.091 0, 1689781.256 522334.862 0, 1690081.838 522375.47 0, 1690382.418 522416.096 0, 1690682.996 522456.739 0, 1690983.57 522497.401 0,
+ 1691284.143 522538.079 0, 1691584.713 522578.776 0, 1691885.281 522619.49 0, 1692185.846 522660.222 0, 1692486.409 522700.971 0, 1692786.97 522741.738 0, 1693087.528 522782.523 0, 1693388.084 522823.326 0, 1693688.637 522864.146 0, 1693989.188 522904.984 0,
+ 1694289.736 522945.84 0, 1694590.282 522986.713 0, 1694890.826 523027.604 0, 1695191.368 523068.513 0, 1695491.906 523109.439 0, 1695792.443 523150.384 0, 1696092.977 523191.345 0, 1696393.509 523232.325 0, 1696692.695 523273.139 0, 1697443.79 517768.446 0,
+ 1698194.828 512264.17 0))
+
+POLYGON ((1711115.245 525261.799 0, 1710816.173 525220.14 0, 1710515.758 525178.311 0, 1710215.341 525136.501 0, 1709914.921 525094.708 0, 1709614.499 525052.932 0, 1709314.075 525011.175 0, 1709013.648 524969.435 0, 1708713.218 524927.712 0, 1708412.786 524886.008 0,
+ 1708112.352 524844.321 0, 1707811.915 524802.652 0, 1707511.476 524761 0, 1707211.034 524719.366 0, 1706910.59 524677.75 0, 1706610.143 524636.151 0, 1706309.694 524594.571 0, 1706009.243 524553.008 0, 1705708.789 524511.462 0, 1705408.332 524469.934 0,
+ 1705107.874 524428.424 0, 1704807.412 524386.932 0, 1704506.949 524345.457 0, 1704206.482 524304 0, 1703904.672 524262.376 0, 1703605.543 524221.139 0, 1703305.069 524179.735 0, 1703004.593 524138.349 0, 1702704.115 524096.98 0, 1702403.634 524055.629 0,
+ 1702103.151 524014.296 0, 1701802.665 523972.98 0, 1701502.177 523931.683 0, 1701201.687 523890.402 0, 1700901.194 523849.14 0, 1700600.698 523807.895 0, 1700300.201 523766.668 0, 1699999.7 523725.458 0, 1699699.198 523684.267 0, 1699398.693 523643.093 0,
+ 1699098.185 523601.936 0, 1698797.675 523560.798 0, 1698497.163 523519.677 0, 1698196.648 523478.573 0, 1697896.131 523437.488 0, 1697595.611 523396.42 0, 1697295.089 523355.37 0, 1696994.565 523314.337 0, 1696692.695 523273.139 0, 1695941.543 528778.245 0,
+ 1695190.336 534283.763 0, 1695491.555 534324.872 0, 1695791.431 534365.816 0, 1696091.305 534406.778 0, 1696391.177 534447.757 0, 1696691.046 534488.754 0, 1696990.913 534529.769 0, 1697290.777 534570.801 0, 1697590.639 534611.851 0, 1697890.498 534652.919 0,
+ 1698190.355 534694.004 0, 1698490.21 534735.107 0, 1698790.062 534776.228 0, 1699089.912 534817.366 0, 1699389.759 534858.522 0, 1699689.604 534899.695 0, 1699989.447 534940.887 0, 1700289.287 534982.095 0, 1700589.125 535023.322 0, 1700888.96 535064.566 0,
+ 1701188.793 535105.828 0, 1701488.623 535147.107 0, 1701788.451 535188.404 0, 1702088.277 535229.719 0, 1702386.761 535270.867 0, 1702687.92 535312.401 0, 1702987.739 535353.769 0, 1703287.555 535395.154 0, 1703587.368 535436.557 0, 1703887.179 535477.978 0,
+ 1704186.987 535519.416 0, 1704486.793 535560.872 0, 1704786.597 535602.345 0, 1705086.398 535643.836 0, 1705386.197 535685.345 0, 1705685.993 535726.872 0, 1705985.787 535768.416 0, 1706285.578 535809.977 0, 1706585.367 535851.557 0, 1706885.154 535893.154 0,
+ 1707184.938 535934.769 0, 1707484.72 535976.401 0, 1707784.499 536018.051 0, 1708084.275 536059.718 0, 1708384.05 536101.404 0, 1708683.821 536143.107 0, 1708983.591 536184.827 0, 1709283.358 536226.565 0, 1709581.784 536268.135 0, 1710348.543 530764.762 0,
+ 1711115.245 525261.799 0))
+
+POLYGON ((1723967.57 538293.157 0, 1723669.259 538250.745 0, 1723369.611 538208.16 0, 1723069.961 538165.592 0, 1722770.308 538123.043 0, 1722470.653 538080.511 0, 1722170.995 538037.996 0, 1721871.335 537995.5 0, 1721571.672 537953.021 0, 1721272.007 537910.559 0,
+ 1720972.339 537868.115 0, 1720672.669 537825.689 0, 1720372.996 537783.281 0, 1720073.321 537740.89 0, 1719773.643 537698.516 0, 1719473.963 537656.161 0, 1719174.28 537613.823 0, 1718874.595 537571.502 0, 1718574.907 537529.2 0, 1718275.217 537486.915 0,
+ 1717975.524 537444.647 0, 1717675.829 537402.397 0, 1717376.131 537360.165 0, 1717076.431 537317.951 0, 1716775.392 537275.566 0, 1716477.023 537233.575 0, 1716177.316 537191.413 0, 1715877.606 537149.269 0, 1715577.893 537107.143 0, 1715278.178 537065.034 0,
+ 1714978.46 537022.943 0, 1714678.74 536980.87 0, 1714379.018 536938.814 0, 1714079.293 536896.776 0, 1713779.565 536854.755 0, 1713479.836 536812.753 0, 1713180.103 536770.767 0, 1712880.368 536728.8 0, 1712580.631 536686.85 0, 1712280.891 536644.918 0,
+ 1711981.149 536603.003 0, 1711681.404 536561.106 0, 1711381.657 536519.227 0, 1711081.907 536477.365 0, 1710782.155 536435.521 0, 1710482.401 536393.695 0, 1710182.644 536351.886 0, 1709882.884 536310.095 0, 1709581.784 536268.135 0, 1708814.969 541771.916 0,
+ 1708048.097 547276.101 0, 1708348.546 547317.97 0, 1708647.658 547359.671 0, 1708946.767 547401.389 0, 1709245.873 547443.125 0, 1709544.978 547484.879 0, 1709844.079 547526.65 0, 1710143.179 547568.439 0, 1710442.276 547610.245 0, 1710741.37 547652.069 0,
+ 1711040.462 547693.911 0, 1711339.551 547735.77 0, 1711638.638 547777.647 0, 1711937.723 547819.541 0, 1712236.805 547861.453 0, 1712535.885 547903.383 0, 1712834.962 547945.33 0, 1713134.037 547987.295 0, 1713433.109 548029.278 0, 1713732.178 548071.278 0,
+ 1714031.246 548113.295 0, 1714330.311 548155.331 0, 1714629.373 548197.383 0, 1714928.433 548239.454 0, 1715226.157 548281.354 0, 1715526.545 548323.648 0, 1715825.597 548365.771 0, 1716124.647 548407.912 0, 1716423.695 548450.07 0, 1716722.74 548492.246 0,
+ 1717021.782 548534.44 0, 1717320.822 548576.651 0, 1717619.86 548618.88 0, 1717918.895 548661.127 0, 1718217.927 548703.391 0, 1718516.957 548745.672 0, 1718815.985 548787.972 0, 1719115.01 548830.289 0, 1719414.032 548872.623 0, 1719713.053 548914.975 0,
+ 1720012.07 548957.345 0, 1720311.085 548999.732 0, 1720610.098 549042.137 0, 1720909.108 549084.559 0, 1721208.116 549127 0, 1721507.121 549169.457 0, 1721806.123 549211.932 0, 1722105.123 549254.425 0, 1722402.789 549296.746 0, 1723185.208 543794.75 0,
+ 1723967.57 538293.157 0))
+
+POLYGON ((1736751.715 551357.939 0, 1736454.168 551314.776 0, 1736155.289 551271.439 0, 1735856.407 551228.119 0, 1735557.524 551184.817 0, 1735258.637 551141.532 0, 1734959.748 551098.265 0, 1734660.856 551055.016 0, 1734361.962 551011.784 0, 1734063.065 550968.569 0,
+ 1733764.166 550925.373 0, 1733465.264 550882.194 0, 1733166.36 550839.032 0, 1732867.453 550795.888 0, 1732568.544 550752.762 0, 1732269.632 550709.653 0, 1731970.717 550666.562 0, 1731671.8 550623.489 0, 1731372.881 550580.433 0, 1731073.959 550537.394 0,
+ 1730775.034 550494.373 0, 1730476.107 550451.37 0, 1730177.177 550408.385 0, 1729878.245 550365.417 0, 1729577.98 550322.275 0, 1729280.373 550279.534 0, 1728981.433 550236.618 0, 1728682.491 550193.721 0, 1728383.546 550150.841 0, 1728084.599 550107.978 0,
+ 1727785.649 550065.134 0, 1727486.697 550022.306 0, 1727187.742 549979.497 0, 1726888.784 549936.705 0, 1726589.824 549893.93 0, 1726290.862 549851.173 0, 1725991.897 549808.434 0, 1725692.929 549765.712 0, 1725393.959 549723.008 0, 1725094.987 549680.322 0,
+ 1724796.012 549637.653 0, 1724497.034 549595.002 0, 1724198.054 549552.368 0, 1723899.071 549509.752 0, 1723600.086 549467.154 0, 1723301.099 549424.573 0, 1723002.109 549382.01 0, 1722703.116 549339.464 0, 1722402.789 549296.746 0, 1721620.313 554799.145 0,
+ 1720837.78 560301.941 0, 1721137.457 560344.566 0, 1721435.801 560387.019 0, 1721734.144 560429.49 0, 1722032.484 560471.979 0, 1722330.821 560514.485 0, 1722629.156 560557.009 0, 1722927.488 560599.55 0, 1723225.818 560642.109 0, 1723524.145 560684.686 0,
+ 1723822.47 560727.28 0, 1724120.793 560769.891 0, 1724419.112 560812.52 0, 1724717.43 560855.167 0, 1725015.745 560897.831 0, 1725314.057 560940.513 0, 1725612.367 560983.212 0, 1725910.674 561025.929 0, 1726208.979 561068.663 0, 1726507.281 561111.415 0,
+ 1726805.581 561154.185 0, 1727103.878 561196.972 0, 1727402.173 561239.777 0, 1727700.465 561282.599 0, 1727997.427 561325.248 0, 1728297.041 561368.296 0, 1728595.326 561411.171 0, 1728893.608 561454.063 0, 1729191.888 561496.973 0, 1729490.165 561539.901 0,
+ 1729788.439 561582.846 0, 1730086.711 561625.809 0, 1730384.981 561668.789 0, 1730683.248 561711.787 0, 1730981.512 561754.802 0, 1731279.774 561797.835 0, 1731578.033 561840.885 0, 1731876.29 561883.953 0, 1732174.544 561927.039 0, 1732472.796 561970.142 0,
+ 1732771.045 562013.263 0, 1733069.292 562056.401 0, 1733367.536 562099.557 0, 1733665.777 562142.73 0, 1733964.016 562185.921 0, 1734262.253 562229.13 0, 1734560.487 562272.355 0, 1734858.718 562315.599 0, 1735155.621 562358.668 0, 1735953.697 556858.104 0,
+ 1736751.715 551357.939 0))
+
+POLYGON ((1749467.593 564455.837 0, 1749170.811 564411.929 0, 1748872.703 564367.843 0, 1748574.593 564323.775 0, 1748276.48 564279.724 0, 1747978.364 564235.691 0, 1747680.245 564191.675 0, 1747382.124 564147.677 0, 1747084.001 564103.696 0, 1746785.875 564059.733 0,
+ 1746487.746 564015.787 0, 1746189.615 563971.859 0, 1745891.481 563927.949 0, 1745593.344 563884.056 0, 1745295.205 563840.181 0, 1744997.063 563796.323 0, 1744698.919 563752.483 0, 1744400.772 563708.66 0, 1744102.623 563664.855 0, 1743804.471 563621.067 0,
+ 1743506.316 563577.297 0, 1743208.159 563533.544 0, 1742910 563489.809 0, 1742611.837 563446.092 0, 1742312.348 563402.198 0, 1742015.505 563358.71 0, 1741717.335 563315.045 0, 1741419.162 563271.398 0, 1741120.987 563227.768 0, 1740822.81 563184.156 0,
+ 1740524.629 563140.561 0, 1740226.447 563096.984 0, 1739928.261 563053.425 0, 1739630.073 563009.883 0, 1739331.883 562966.359 0, 1739033.69 562922.852 0, 1738735.494 562879.362 0, 1738437.296 562835.891 0, 1738139.095 562792.437 0, 1737840.892 562749 0,
+ 1737542.686 562705.581 0, 1737244.477 562662.179 0, 1736946.266 562618.795 0, 1736648.053 562575.429 0, 1736349.837 562532.08 0, 1736051.618 562488.749 0, 1735753.397 562445.435 0, 1735455.173 562402.139 0, 1735155.621 562358.668 0, 1734357.487 567859.627 0,
+ 1733559.297 573360.977 0, 1733858.199 573404.354 0, 1734155.775 573447.556 0, 1734453.349 573490.776 0, 1734750.92 573534.013 0, 1735048.488 573577.268 0, 1735346.054 573620.54 0, 1735643.618 573663.83 0, 1735941.179 573707.137 0, 1736238.737 573750.462 0,
+ 1736536.293 573793.804 0, 1736833.846 573837.164 0, 1737131.397 573880.541 0, 1737428.945 573923.936 0, 1737726.491 573967.349 0, 1738024.034 574010.778 0, 1738321.574 574054.226 0, 1738619.112 574097.691 0, 1738916.647 574141.173 0, 1739214.18 574184.673 0,
+ 1739511.71 574228.191 0, 1739809.238 574271.725 0, 1740106.763 574315.278 0, 1740404.286 574358.848 0, 1740700.484 574402.242 0, 1740999.323 574446.04 0, 1741296.838 574489.663 0, 1741594.35 574533.303 0, 1741891.86 574576.96 0, 1742189.367 574620.635 0,
+ 1742486.872 574664.328 0, 1742784.374 574708.038 0, 1743081.873 574751.766 0, 1743379.37 574795.511 0, 1743676.864 574839.273 0, 1743974.356 574883.053 0, 1744271.845 574926.851 0, 1744569.332 574970.666 0, 1744866.816 575014.499 0, 1745164.297 575058.349 0,
+ 1745461.776 575102.217 0, 1745759.252 575146.102 0, 1746056.726 575190.004 0, 1746354.197 575233.924 0, 1746651.665 575277.862 0, 1746949.131 575321.817 0, 1747246.594 575365.79 0, 1747544.055 575409.78 0, 1747840.193 575453.593 0, 1748653.922 569954.519 0,
+ 1749467.593 564455.837 0))
+
+POLYGON ((1762115.119 577586.546 0, 1761819.104 577541.896 0, 1761521.769 577497.066 0, 1761224.431 577452.253 0, 1760927.091 577407.458 0, 1760629.747 577362.68 0, 1760332.402 577317.919 0, 1760035.053 577273.177 0, 1759737.702 577228.451 0, 1759440.349 577183.743 0,
+ 1759142.992 577139.053 0, 1758845.633 577094.38 0, 1758548.272 577049.725 0, 1758250.908 577005.087 0, 1757953.541 576960.466 0, 1757656.171 576915.863 0, 1757358.799 576871.278 0, 1757061.424 576826.71 0, 1756764.047 576782.16 0, 1756466.667 576737.627 0,
+ 1756169.285 576693.111 0, 1755871.899 576648.614 0, 1755574.512 576604.133 0, 1755277.121 576559.67 0, 1754978.409 576515.028 0, 1754682.333 576470.797 0, 1754384.934 576426.387 0, 1754087.533 576381.994 0, 1753790.13 576337.619 0, 1753492.724 576293.261 0,
+ 1753195.315 576248.92 0, 1752897.904 576204.598 0, 1752600.49 576160.292 0, 1752303.073 576116.004 0, 1752005.654 576071.734 0, 1751708.232 576027.481 0, 1751410.808 575983.246 0, 1751113.381 575939.028 0, 1750815.952 575894.828 0, 1750518.519 575850.645 0,
+ 1750221.085 575806.48 0, 1749923.647 575762.332 0, 1749626.207 575718.202 0, 1749328.765 575674.089 0, 1749031.32 575629.994 0, 1748733.872 575585.916 0, 1748436.422 575541.856 0, 1748138.969 575497.813 0, 1747840.193 575453.593 0, 1747026.406 580953.055 0,
+ 1746212.562 586452.904 0, 1746510.687 586497.028 0, 1746807.493 586540.975 0, 1747104.296 586584.939 0, 1747401.096 586628.921 0, 1747697.894 586672.92 0, 1747994.689 586716.937 0, 1748291.482 586760.971 0, 1748588.272 586805.023 0, 1748885.059 586849.092 0,
+ 1749181.844 586893.179 0, 1749478.626 586937.283 0, 1749775.406 586981.404 0, 1750072.183 587025.543 0, 1750368.957 587069.7 0, 1750665.729 587113.874 0, 1750962.498 587158.065 0, 1751259.265 587202.274 0, 1751556.029 587246.501 0, 1751852.79 587290.744 0,
+ 1752149.549 587335.006 0, 1752446.305 587379.284 0, 1752743.059 587423.581 0, 1753039.81 587467.894 0, 1753335.242 587512.029 0, 1753633.304 587556.574 0, 1753930.047 587600.94 0, 1754226.788 587645.324 0, 1754523.526 587689.725 0, 1754820.261 587734.143 0,
+ 1755116.994 587778.579 0, 1755413.724 587823.033 0, 1755710.452 587867.504 0, 1756007.176 587911.992 0, 1756303.899 587956.498 0, 1756600.618 588001.021 0, 1756897.335 588045.562 0, 1757194.05 588090.12 0, 1757490.761 588134.696 0, 1757787.471 588179.289 0,
+ 1758084.177 588223.899 0, 1758380.881 588268.527 0, 1758677.582 588313.173 0, 1758974.281 588357.836 0, 1759270.977 588402.516 0, 1759567.67 588447.214 0, 1759864.361 588491.93 0, 1760161.049 588536.662 0, 1760456.42 588581.214 0, 1761285.799 583083.687 0,
+ 1762115.119 577586.546 0))
+
+POLYGON ((1774694.208 590749.758 0, 1774398.962 590704.372 0, 1774102.402 590658.801 0, 1773805.838 590613.247 0, 1773509.272 590567.711 0, 1773212.704 590522.193 0, 1772916.133 590476.692 0, 1772619.559 590431.208 0, 1772322.982 590385.742 0, 1772026.403 590340.294 0,
+ 1771729.821 590294.862 0, 1771433.236 590249.449 0, 1771136.649 590204.052 0, 1770840.059 590158.673 0, 1770543.466 590113.312 0, 1770246.871 590067.968 0, 1769950.273 590022.642 0, 1769653.672 589977.333 0, 1769357.069 589932.041 0, 1769060.463 589886.767 0,
+ 1768763.854 589841.51 0, 1768467.243 589796.271 0, 1768170.629 589751.049 0, 1767874.012 589705.845 0, 1767576.08 589660.458 0, 1767280.771 589615.489 0, 1766984.146 589570.337 0, 1766687.519 589525.203 0, 1766390.889 589480.086 0, 1766094.257 589434.986 0,
+ 1765797.621 589389.904 0, 1765500.984 589344.839 0, 1765204.343 589299.792 0, 1764907.7 589254.763 0, 1764611.054 589209.75 0, 1764314.405 589164.756 0, 1764017.754 589119.778 0, 1763721.101 589074.819 0, 1763424.444 589029.876 0, 1763127.785 588984.951 0,
+ 1762831.123 588940.044 0, 1762534.459 588895.154 0, 1762237.792 588850.281 0, 1761941.122 588805.426 0, 1761644.45 588760.589 0, 1761347.775 588715.768 0, 1761051.097 588670.966 0, 1760754.417 588626.181 0, 1760456.42 588581.214 0, 1759626.983 594079.124 0,
+ 1758797.489 599577.413 0, 1759094.837 599622.281 0, 1759390.87 599666.969 0, 1759686.9 599711.674 0, 1759982.928 599756.396 0, 1760278.953 599801.136 0, 1760574.976 599845.893 0, 1760870.995 599890.668 0, 1761167.013 599935.46 0, 1761463.027 599980.269 0,
+ 1761759.039 600025.096 0, 1762055.048 600069.941 0, 1762351.055 600114.802 0, 1762647.059 600159.682 0, 1762943.06 600204.578 0, 1763239.059 600249.492 0, 1763535.055 600294.424 0, 1763831.049 600339.373 0, 1764127.039 600384.339 0, 1764423.027 600429.323 0,
+ 1764719.013 600474.324 0, 1765014.996 600519.342 0, 1765310.976 600564.378 0, 1765606.953 600609.432 0, 1765901.618 600654.303 0, 1766198.901 600699.591 0, 1766494.87 600744.696 0, 1766790.837 600789.819 0, 1767086.801 600834.96 0, 1767382.763 600880.118 0,
+ 1767678.722 600925.293 0, 1767974.678 600970.486 0, 1768270.632 601015.696 0, 1768566.583 601060.924 0, 1768862.531 601106.169 0, 1769158.477 601151.431 0, 1769454.42 601196.711 0, 1769750.36 601242.008 0, 1770046.298 601287.323 0, 1770342.233 601332.655 0,
+ 1770638.165 601378.004 0, 1770934.095 601423.371 0, 1771230.021 601468.756 0, 1771525.946 601514.158 0, 1771821.867 601559.577 0, 1772117.786 601605.013 0, 1772413.703 601650.467 0, 1772709.616 601695.939 0, 1773004.218 601741.226 0, 1773849.242 596245.303 0,
+ 1774694.208 590749.758 0))
+
+POLYGON ((1787204.777 603945.167 0, 1786910.302 603899.047 0, 1786614.518 603852.74 0, 1786318.731 603806.45 0, 1786022.942 603760.178 0, 1785727.15 603713.923 0, 1785431.355 603667.685 0, 1785135.557 603621.465 0, 1784839.757 603575.262 0, 1784543.954 603529.077 0,
+ 1784248.148 603482.909 0, 1783952.34 603436.758 0, 1783656.529 603390.625 0, 1783360.715 603344.509 0, 1783064.898 603298.411 0, 1782769.079 603252.33 0, 1782473.257 603206.266 0, 1782177.432 603160.22 0, 1781881.605 603114.192 0, 1781585.775 603068.18 0,
+ 1781289.942 603022.186 0, 1780994.106 602976.21 0, 1780698.268 602930.251 0, 1780402.427 602884.309 0, 1780105.276 602838.182 0, 1779810.737 602792.478 0, 1779514.888 602746.589 0, 1779219.036 602700.717 0, 1778923.182 602654.862 0, 1778627.325 602609.025 0,
+ 1778331.465 602563.205 0, 1778035.602 602517.403 0, 1777739.737 602471.618 0, 1777443.869 602425.851 0, 1777147.998 602380.1 0, 1776852.125 602334.368 0, 1776556.249 602288.652 0, 1776260.37 602242.955 0, 1775964.489 602197.274 0, 1775668.605 602151.611 0,
+ 1775372.718 602105.966 0, 1775076.828 602060.337 0, 1774780.936 602014.727 0, 1774485.042 601969.133 0, 1774189.144 601923.557 0, 1773893.244 601877.999 0, 1773597.341 601832.458 0, 1773301.435 601786.934 0, 1773004.218 601741.226 0, 1772159.136 607237.526 0,
+ 1771313.997 612734.199 0, 1771610.564 612779.807 0, 1771905.823 612825.231 0, 1772201.079 612870.673 0, 1772496.332 612916.132 0, 1772791.582 612961.608 0, 1773086.83 613007.101 0, 1773382.075 613052.613 0, 1773677.318 613098.141 0, 1773972.558 613143.687 0,
+ 1774267.795 613189.25 0, 1774563.029 613234.83 0, 1774858.261 613280.428 0, 1775153.49 613326.044 0, 1775448.716 613371.676 0, 1775743.94 613417.326 0, 1776039.161 613462.994 0, 1776334.379 613508.679 0, 1776629.595 613554.381 0, 1776924.808 613600.1 0,
+ 1777220.018 613645.837 0, 1777515.226 613691.592 0, 1777810.431 613737.363 0, 1778105.633 613783.152 0, 1778399.528 613828.756 0, 1778696.029 613874.783 0, 1778991.223 613920.624 0, 1779286.415 613966.482 0, 1779581.603 614012.358 0, 1779876.789 614058.252 0,
+ 1780171.973 614104.162 0, 1780467.153 614150.09 0, 1780762.331 614196.036 0, 1781057.506 614241.999 0, 1781352.679 614287.979 0, 1781647.848 614333.976 0, 1781943.015 614379.991 0, 1782238.18 614426.024 0, 1782533.341 614472.073 0, 1782828.5 614518.14 0,
+ 1783123.657 614564.225 0, 1783418.81 614610.327 0, 1783713.961 614656.446 0, 1784009.109 614702.582 0, 1784304.254 614748.736 0, 1784599.397 614794.907 0, 1784894.537 614841.096 0, 1785189.674 614887.302 0, 1785483.505 614933.321 0, 1786344.17 609439.058 0,
+ 1787204.777 603945.167 0))
+
+POLYGON ((1799646.744 617172.466 0, 1799353.042 617125.616 0, 1799058.036 617078.577 0, 1798763.028 617031.554 0, 1798468.017 616984.55 0, 1798173.003 616937.562 0, 1797877.987 616890.592 0, 1797582.968 616843.639 0, 1797287.945 616796.704 0, 1796992.921 616749.785 0,
+ 1796697.893 616702.885 0, 1796402.863 616656.001 0, 1796107.83 616609.135 0, 1795812.794 616562.287 0, 1795517.755 616515.455 0, 1795222.714 616468.641 0, 1794927.67 616421.845 0, 1794632.623 616375.066 0, 1794337.573 616328.304 0, 1794042.521 616281.559 0,
+ 1793747.465 616234.832 0, 1793452.408 616188.123 0, 1793157.347 616141.43 0, 1792862.283 616094.755 0, 1792565.915 616047.892 0, 1792272.148 616001.457 0, 1791977.077 615954.835 0, 1791682.002 615908.229 0, 1791386.925 615861.641 0, 1791091.845 615815.07 0,
+ 1790796.763 615768.517 0, 1790501.677 615721.981 0, 1790206.589 615675.462 0, 1789911.499 615628.961 0, 1789616.405 615582.477 0, 1789321.309 615536.01 0, 1789026.21 615489.561 0, 1788731.108 615443.129 0, 1788436.003 615396.715 0, 1788140.896 615350.318 0,
+ 1787845.786 615303.938 0, 1787550.674 615257.576 0, 1787255.558 615211.231 0, 1786960.44 615164.903 0, 1786665.319 615118.593 0, 1786370.196 615072.3 0, 1786075.069 615026.024 0, 1785779.94 614979.766 0, 1785483.505 614933.321 0, 1784622.782 620427.954 0,
+ 1783762.002 625922.954 0, 1784057.787 625969.297 0, 1784352.269 626015.454 0, 1784646.749 626061.628 0, 1784941.226 626107.82 0, 1785235.7 626154.028 0, 1785530.171 626200.254 0, 1785824.64 626246.498 0, 1786119.106 626292.759 0, 1786413.569 626339.037 0,
+ 1786708.029 626385.332 0, 1787002.487 626431.645 0, 1787296.942 626477.975 0, 1787591.394 626524.322 0, 1787885.844 626570.687 0, 1788180.291 626617.069 0, 1788474.735 626663.468 0, 1788769.176 626709.885 0, 1789063.615 626756.319 0, 1789358.051 626802.771 0,
+ 1789652.484 626849.239 0, 1789946.914 626895.725 0, 1790241.342 626942.229 0, 1790535.767 626988.749 0, 1790828.89 627035.082 0, 1791124.608 627081.843 0, 1791419.025 627128.416 0, 1791713.439 627175.006 0, 1792007.85 627221.613 0, 1792302.259 627268.238 0,
+ 1792596.665 627314.88 0, 1792891.068 627361.539 0, 1793185.468 627408.216 0, 1793479.865 627454.91 0, 1793774.26 627501.621 0, 1794068.652 627548.349 0, 1794363.041 627595.095 0, 1794657.428 627641.859 0, 1794951.812 627688.639 0, 1795246.193 627735.437 0,
+ 1795540.571 627782.253 0, 1795834.946 627829.085 0, 1796129.319 627875.935 0, 1796423.689 627922.802 0, 1796718.056 627969.687 0, 1797012.421 628016.589 0, 1797306.782 628063.508 0, 1797601.141 628110.445 0, 1797894.2 628157.192 0, 1798770.501 622664.645 0,
+ 1799646.744 617172.466 0))
+
+POLYGON ((1812020.03 630431.346 0, 1811727.102 630383.771 0, 1811432.877 630336.003 0, 1811138.649 630288.252 0, 1810844.418 630240.519 0, 1810550.184 630192.803 0, 1810255.948 630145.104 0, 1809961.709 630097.423 0, 1809667.467 630049.759 0, 1809373.222 630002.112 0,
+ 1809078.974 629954.482 0, 1808784.724 629906.87 0, 1808490.471 629859.276 0, 1808196.215 629811.698 0, 1807901.956 629764.138 0, 1807607.694 629716.595 0, 1807313.43 629669.07 0, 1807019.163 629621.561 0, 1806724.893 629574.07 0, 1806430.62 629526.597 0,
+ 1806136.344 629479.141 0, 1805842.066 629431.702 0, 1805547.785 629384.28 0, 1805253.501 629336.876 0, 1804957.918 629289.28 0, 1804664.924 629242.119 0, 1804370.632 629194.767 0, 1804076.337 629147.432 0, 1803782.039 629100.114 0, 1803487.738 629052.814 0,
+ 1803193.435 629005.531 0, 1802899.129 628958.265 0, 1802604.82 628911.017 0, 1802310.508 628863.786 0, 1802016.193 628816.572 0, 1801721.876 628769.376 0, 1801427.556 628722.196 0, 1801133.233 628675.035 0, 1800838.907 628627.89 0, 1800544.579 628580.763 0,
+ 1800250.247 628533.653 0, 1799955.913 628486.561 0, 1799661.576 628439.486 0, 1799367.237 628392.428 0, 1799072.895 628345.387 0, 1798778.549 628298.364 0, 1798484.202 628251.358 0, 1798189.851 628204.37 0, 1797894.2 628157.192 0, 1797017.841 633650.101 0,
+ 1796141.424 639143.37 0, 1796436.425 639190.445 0, 1796730.129 639237.33 0, 1797023.831 639284.233 0, 1797317.529 639331.153 0, 1797611.225 639378.09 0, 1797904.918 639425.044 0, 1798198.608 639472.016 0, 1798492.295 639519.005 0, 1798785.98 639566.012 0,
+ 1799079.662 639613.035 0, 1799373.341 639660.076 0, 1799667.018 639707.134 0, 1799960.691 639754.21 0, 1800254.362 639801.302 0, 1800548.03 639848.412 0, 1800841.695 639895.54 0, 1801135.358 639942.684 0, 1801429.018 639989.846 0, 1801722.675 640037.025 0,
+ 1802016.329 640084.222 0, 1802309.98 640131.436 0, 1802603.629 640178.667 0, 1802897.275 640225.915 0, 1803189.624 640272.972 0, 1803484.558 640320.463 0, 1803778.196 640367.763 0, 1804071.83 640415.081 0, 1804365.462 640462.416 0, 1804659.091 640509.768 0,
+ 1804952.718 640557.137 0, 1805246.341 640604.523 0, 1805539.962 640651.927 0, 1805833.58 640699.348 0, 1806127.195 640746.787 0, 1806420.808 640794.242 0, 1806714.417 640841.715 0, 1807008.024 640889.206 0, 1807301.628 640936.713 0, 1807595.229 640984.238 0,
+ 1807888.828 641031.78 0, 1808182.423 641079.339 0, 1808476.016 641126.916 0, 1808769.606 641174.51 0, 1809063.193 641222.121 0, 1809356.778 641269.75 0, 1809650.36 641317.396 0, 1809943.938 641365.059 0, 1810236.222 641412.529 0, 1811128.155 635921.757 0,
+ 1812020.03 630431.346 0))
+
+POLYGON ((1657617.813 484492.896 0, 1657316.362 484454.373 0, 1657013.548 484415.693 0, 1656710.732 484377.032 0, 1656407.913 484338.388 0, 1656105.092 484299.762 0, 1655802.269 484261.154 0, 1655499.444 484222.564 0, 1655196.616 484183.991 0, 1654893.786 484145.437 0,
+ 1654590.954 484106.9 0, 1654288.12 484068.381 0, 1653985.283 484029.879 0, 1653682.444 483991.396 0, 1653379.603 483952.931 0, 1653076.759 483914.483 0, 1652773.914 483876.053 0, 1652471.066 483837.641 0, 1652168.215 483799.247 0, 1651865.363 483760.87 0,
+ 1651562.508 483722.512 0, 1651259.651 483684.171 0, 1650956.791 483645.848 0, 1650653.93 483607.543 0, 1650349.704 483569.083 0, 1650048.2 483530.986 0, 1649745.332 483492.734 0, 1649442.461 483454.501 0, 1649139.588 483416.285 0, 1648836.713 483378.087 0,
+ 1648533.836 483339.906 0, 1648230.956 483301.744 0, 1647928.074 483263.599 0, 1647625.19 483225.472 0, 1647322.304 483187.363 0, 1647019.415 483149.272 0, 1646716.525 483111.199 0, 1646413.632 483073.143 0, 1646110.736 483035.105 0, 1645807.839 482997.086 0,
+ 1645504.939 482959.083 0, 1645202.037 482921.099 0, 1644899.133 482883.133 0, 1644596.226 482845.184 0, 1644293.318 482807.254 0, 1643990.407 482769.341 0, 1643687.494 482731.446 0, 1643384.578 482693.568 0, 1643080.297 482655.539 0, 1642391.72 488166.251 0,
+ 1641703.09 493677.393 0, 1642006.719 493715.341 0, 1642308.986 493753.138 0, 1642611.25 493790.951 0, 1642913.513 493828.783 0, 1643215.773 493866.633 0, 1643518.03 493904.5 0, 1643820.286 493942.385 0, 1644122.539 493980.288 0, 1644424.79 494018.209 0,
+ 1644727.039 494056.147 0, 1645029.286 494094.103 0, 1645331.53 494132.077 0, 1645633.772 494170.069 0, 1645936.012 494208.079 0, 1646238.25 494246.106 0, 1646540.485 494284.151 0, 1646842.718 494322.214 0, 1647144.949 494360.295 0, 1647447.178 494398.394 0,
+ 1647749.404 494436.51 0, 1648051.629 494474.644 0, 1648353.851 494512.796 0, 1648656.07 494550.966 0, 1648956.929 494588.982 0, 1649260.503 494627.359 0, 1649562.716 494665.582 0, 1649864.927 494703.823 0, 1650167.135 494742.081 0, 1650469.341 494780.358 0,
+ 1650771.545 494818.652 0, 1651073.747 494856.964 0, 1651375.947 494895.294 0, 1651678.144 494933.641 0, 1651980.339 494972.007 0, 1652282.531 495010.39 0, 1652584.722 495048.791 0, 1652886.91 495087.21 0, 1653189.096 495125.646 0, 1653491.28 495164.1 0,
+ 1653793.461 495202.572 0, 1654095.64 495241.062 0, 1654397.817 495279.57 0, 1654699.991 495318.095 0, 1655002.164 495356.639 0, 1655304.334 495395.2 0, 1655606.502 495433.778 0, 1655908.667 495472.375 0, 1656209.473 495510.816 0, 1656913.67 490001.641 0,
+ 1657617.813 484492.896 0))
+
+POLYGON ((1670710.618 497385.215 0, 1670409.92 497345.924 0, 1670107.864 497306.474 0, 1669805.807 497267.041 0, 1669503.747 497227.627 0, 1669201.685 497188.23 0, 1668899.62 497148.851 0, 1668597.553 497109.49 0, 1668295.484 497070.146 0, 1667993.413 497030.821 0,
+ 1667691.339 496991.513 0, 1667389.263 496952.223 0, 1667087.184 496912.95 0, 1666785.104 496873.696 0, 1666483.021 496834.459 0, 1666180.935 496795.24 0, 1665878.848 496756.039 0, 1665576.758 496716.856 0, 1665274.665 496677.69 0, 1664972.571 496638.542 0,
+ 1664670.474 496599.412 0, 1664368.375 496560.3 0, 1664066.273 496521.205 0, 1663764.169 496482.128 0, 1663460.707 496442.894 0, 1663159.955 496404.028 0, 1662857.844 496365.005 0, 1662555.731 496325.999 0, 1662253.616 496287.012 0, 1661951.498 496248.041 0,
+ 1661649.379 496209.089 0, 1661347.256 496170.155 0, 1661045.132 496131.238 0, 1660743.005 496092.339 0, 1660440.876 496053.458 0, 1660138.745 496014.595 0, 1659836.611 495975.749 0, 1659534.476 495936.921 0, 1659232.337 495898.111 0, 1658930.197 495859.319 0,
+ 1658628.054 495820.545 0, 1658325.909 495781.788 0, 1658023.762 495743.049 0, 1657721.612 495704.328 0, 1657419.46 495665.625 0, 1657117.306 495626.939 0, 1656815.15 495588.272 0, 1656512.991 495549.622 0, 1656209.473 495510.816 0, 1655505.221 501020.416 0,
+ 1654800.914 506530.44 0, 1655103.781 506569.163 0, 1655405.291 506607.73 0, 1655706.799 506646.314 0, 1656008.305 506684.917 0, 1656309.808 506723.537 0, 1656611.309 506762.175 0, 1656912.808 506800.831 0, 1657214.304 506839.504 0, 1657515.798 506878.195 0,
+ 1657817.29 506916.904 0, 1658118.78 506955.631 0, 1658420.267 506994.375 0, 1658721.752 507033.138 0, 1659023.235 507071.918 0, 1659324.716 507110.715 0, 1659626.194 507149.531 0, 1659927.67 507188.364 0, 1660229.143 507227.215 0, 1660530.615 507266.083 0,
+ 1660832.084 507304.97 0, 1661133.551 507343.874 0, 1661435.015 507382.796 0, 1661736.477 507421.735 0, 1662036.584 507460.518 0, 1662339.395 507499.668 0, 1662640.85 507538.661 0, 1662942.303 507577.671 0, 1663243.754 507616.7 0, 1663545.202 507655.746 0,
+ 1663846.648 507694.809 0, 1664148.092 507733.891 0, 1664449.534 507772.99 0, 1664750.973 507812.107 0, 1665052.41 507851.242 0, 1665353.844 507890.395 0, 1665655.277 507929.565 0, 1665956.707 507968.753 0, 1666258.134 508007.959 0, 1666559.56 508047.182 0,
+ 1666860.983 508086.424 0, 1667162.404 508125.683 0, 1667463.822 508164.959 0, 1667765.238 508204.254 0, 1668066.652 508243.566 0, 1668368.064 508282.896 0, 1668669.473 508322.244 0, 1668970.88 508361.609 0, 1669270.933 508400.815 0, 1669990.803 502892.804 0,
+ 1670710.618 497385.215 0))
+
+POLYGON ((1683735.609 510312.064 0, 1683435.666 510272.009 0, 1683134.371 510231.793 0, 1682833.075 510191.593 0, 1682531.775 510151.412 0, 1682230.474 510111.249 0, 1681929.17 510071.103 0, 1681627.864 510030.975 0, 1681326.555 509990.864 0, 1681025.244 509950.771 0,
+ 1680723.93 509910.697 0, 1680422.615 509870.639 0, 1680121.297 509830.6 0, 1679819.976 509790.578 0, 1679518.653 509750.574 0, 1679217.328 509710.588 0, 1678916.001 509670.619 0, 1678614.671 509630.669 0, 1678313.339 509590.736 0, 1678012.004 509550.82 0,
+ 1677710.667 509510.923 0, 1677409.328 509471.043 0, 1677107.986 509431.181 0, 1676806.642 509391.336 0, 1676503.946 509351.331 0, 1676203.947 509311.701 0, 1675902.596 509271.91 0, 1675601.243 509232.136 0, 1675299.887 509192.381 0, 1674998.529 509152.643 0,
+ 1674697.169 509112.923 0, 1674395.806 509073.22 0, 1674094.441 509033.535 0, 1673793.074 508993.868 0, 1673491.704 508954.219 0, 1673190.332 508914.588 0, 1672888.958 508874.974 0, 1672587.581 508835.378 0, 1672286.202 508795.799 0, 1671984.821 508756.239 0,
+ 1671683.437 508716.696 0, 1671382.051 508677.171 0, 1671080.663 508637.664 0, 1670779.272 508598.174 0, 1670477.879 508558.702 0, 1670176.484 508519.248 0, 1669875.087 508479.812 0, 1669573.687 508440.393 0, 1669270.933 508400.815 0, 1668551.007 513909.247 0,
+ 1667831.028 519418.096 0, 1668133.13 519457.589 0, 1668433.882 519496.923 0, 1668734.631 519536.274 0, 1669035.378 519575.644 0, 1669336.122 519615.03 0, 1669636.865 519654.435 0, 1669937.604 519693.857 0, 1670238.342 519733.298 0, 1670539.077 519772.755 0,
+ 1670839.81 519812.231 0, 1671140.541 519851.724 0, 1671441.269 519891.235 0, 1671741.995 519930.763 0, 1672042.719 519970.31 0, 1672343.44 520009.873 0, 1672644.159 520049.455 0, 1672944.876 520089.054 0, 1673245.59 520128.672 0, 1673546.302 520168.306 0,
+ 1673847.012 520207.959 0, 1674147.719 520247.629 0, 1674448.424 520287.317 0, 1674749.127 520327.022 0, 1675048.479 520366.567 0, 1675350.525 520406.486 0, 1675651.22 520446.245 0, 1675951.914 520486.021 0, 1676252.605 520525.815 0, 1676553.293 520565.627 0,
+ 1676853.979 520605.457 0, 1677154.663 520645.304 0, 1677455.345 520685.169 0, 1677756.024 520725.051 0, 1678056.701 520764.951 0, 1678357.376 520804.869 0, 1678658.048 520844.805 0, 1678958.718 520884.758 0, 1679259.385 520924.729 0, 1679560.05 520964.718 0,
+ 1679860.713 521004.724 0, 1680161.373 521044.748 0, 1680462.031 521084.79 0, 1680762.687 521124.85 0, 1681063.34 521164.927 0, 1681363.991 521205.022 0, 1681664.64 521245.134 0, 1681965.286 521285.265 0, 1682264.584 521325.233 0, 1683000.124 515818.44 0,
+ 1683735.609 510312.064 0))
+
+POLYGON ((1696692.695 523273.139 0, 1696393.509 523232.325 0, 1696092.977 523191.345 0, 1695792.443 523150.384 0, 1695491.906 523109.439 0, 1695191.368 523068.513 0, 1694890.826 523027.604 0, 1694590.282 522986.713 0, 1694289.736 522945.84 0, 1693989.188 522904.984 0,
+ 1693688.637 522864.146 0, 1693388.084 522823.326 0, 1693087.528 522782.523 0, 1692786.97 522741.738 0, 1692486.409 522700.971 0, 1692185.846 522660.222 0, 1691885.281 522619.49 0, 1691584.713 522578.776 0, 1691284.143 522538.079 0, 1690983.57 522497.401 0,
+ 1690682.996 522456.739 0, 1690382.418 522416.096 0, 1690081.838 522375.47 0, 1689781.256 522334.862 0, 1689479.327 522294.091 0, 1689180.085 522253.699 0, 1688879.496 522213.145 0, 1688578.904 522172.607 0, 1688278.31 522132.088 0, 1687977.714 522091.586 0,
+ 1687677.115 522051.102 0, 1687376.514 522010.635 0, 1687075.91 521970.186 0, 1686775.304 521929.755 0, 1686474.696 521889.342 0, 1686174.085 521848.946 0, 1685873.472 521808.568 0, 1685572.857 521768.208 0, 1685272.239 521727.865 0, 1684971.619 521687.541 0,
+ 1684670.996 521647.233 0, 1684370.371 521606.944 0, 1684069.744 521566.672 0, 1683769.114 521526.418 0, 1683468.482 521486.181 0, 1683167.848 521445.963 0, 1682867.211 521405.762 0, 1682566.572 521365.578 0, 1682264.584 521325.233 0, 1681528.988 526832.44 0,
+ 1680793.338 532340.057 0, 1681094.674 532380.316 0, 1681394.665 532420.413 0, 1681694.654 532460.527 0, 1681994.64 532500.659 0, 1682294.624 532540.809 0, 1682594.605 532580.976 0, 1682894.584 532621.161 0, 1683194.561 532661.364 0, 1683494.535 532701.584 0,
+ 1683794.507 532741.822 0, 1684094.476 532782.077 0, 1684394.444 532822.351 0, 1684694.409 532862.642 0, 1684994.371 532902.95 0, 1685294.331 532943.276 0, 1685594.289 532983.62 0, 1685894.244 533023.982 0, 1686194.197 533064.361 0, 1686494.148 533104.758 0,
+ 1686794.096 533145.172 0, 1687094.042 533185.605 0, 1687393.985 533226.054 0, 1687693.926 533266.522 0, 1687992.523 533306.826 0, 1688293.801 533347.51 0, 1688593.735 533388.03 0, 1688893.667 533428.568 0, 1689193.596 533469.124 0, 1689493.523 533509.697 0,
+ 1689793.447 533550.288 0, 1690093.369 533590.897 0, 1690393.289 533631.524 0, 1690693.206 533672.168 0, 1690993.121 533712.829 0, 1691293.033 533753.509 0, 1691592.943 533794.205 0, 1691892.851 533834.92 0, 1692192.756 533875.652 0, 1692492.659 533916.402 0,
+ 1692792.559 533957.17 0, 1693092.457 533997.955 0, 1693392.353 534038.758 0, 1693692.246 534079.578 0, 1693992.137 534120.417 0, 1694292.025 534161.272 0, 1694591.911 534202.146 0, 1694891.795 534243.037 0, 1695190.336 534283.763 0, 1695941.543 528778.245 0,
+ 1696692.695 523273.139 0))
+
+POLYGON ((1709581.784 536268.135 0, 1709283.358 536226.565 0, 1708983.591 536184.827 0, 1708683.821 536143.107 0, 1708384.05 536101.404 0, 1708084.275 536059.718 0, 1707784.499 536018.051 0, 1707484.72 535976.401 0, 1707184.938 535934.769 0, 1706885.154 535893.154 0,
+ 1706585.367 535851.557 0, 1706285.578 535809.977 0, 1705985.787 535768.416 0, 1705685.993 535726.872 0, 1705386.197 535685.345 0, 1705086.398 535643.836 0, 1704786.597 535602.345 0, 1704486.793 535560.872 0, 1704186.987 535519.416 0, 1703887.179 535477.978 0,
+ 1703587.368 535436.557 0, 1703287.555 535395.154 0, 1702987.739 535353.769 0, 1702687.92 535312.401 0, 1702386.761 535270.867 0, 1702088.277 535229.719 0, 1701788.451 535188.404 0, 1701488.623 535147.107 0, 1701188.793 535105.828 0, 1700888.96 535064.566 0,
+ 1700589.125 535023.322 0, 1700289.287 534982.095 0, 1699989.447 534940.887 0, 1699689.604 534899.695 0, 1699389.759 534858.522 0, 1699089.912 534817.366 0, 1698790.062 534776.228 0, 1698490.21 534735.107 0, 1698190.355 534694.004 0, 1697890.498 534652.919 0,
+ 1697590.639 534611.851 0, 1697290.777 534570.801 0, 1696990.913 534529.769 0, 1696691.046 534488.754 0, 1696391.177 534447.757 0, 1696091.305 534406.778 0, 1695791.431 534365.816 0, 1695491.555 534324.872 0, 1695190.336 534283.763 0, 1694439.072 539789.688 0,
+ 1693687.754 545296.018 0, 1693988.322 545337.038 0, 1694287.55 545377.894 0, 1694586.776 545418.767 0, 1694886 545459.658 0, 1695185.221 545500.566 0, 1695484.439 545541.492 0, 1695783.655 545582.436 0, 1696082.869 545623.397 0, 1696382.08 545664.376 0,
+ 1696681.289 545705.373 0, 1696980.496 545746.387 0, 1697279.7 545787.418 0, 1697578.902 545828.468 0, 1697878.101 545869.535 0, 1698177.298 545910.619 0, 1698476.492 545951.721 0, 1698775.684 545992.841 0, 1699074.874 546033.978 0, 1699374.061 546075.133 0,
+ 1699673.246 546116.306 0, 1699972.428 546157.496 0, 1700271.608 546198.704 0, 1700570.786 546239.929 0, 1700868.625 546280.988 0, 1701169.134 546322.433 0, 1701468.304 546363.711 0, 1701767.472 546405.007 0, 1702066.637 546446.32 0, 1702365.8 546487.651 0,
+ 1702664.96 546529 0, 1702964.118 546570.366 0, 1703263.274 546611.75 0, 1703562.427 546653.152 0, 1703861.578 546694.571 0, 1704160.726 546736.008 0, 1704459.872 546777.462 0, 1704759.016 546818.934 0, 1705058.157 546860.423 0, 1705357.295 546901.93 0,
+ 1705656.431 546943.455 0, 1705955.565 546984.997 0, 1706254.696 547026.557 0, 1706553.825 547068.135 0, 1706852.951 547109.73 0, 1707152.075 547151.343 0, 1707451.196 547192.973 0, 1707750.315 547234.621 0, 1708048.097 547276.101 0, 1708814.969 541771.916 0,
+ 1709581.784 536268.135 0))
+
+POLYGON ((1722402.789 549296.746 0, 1722105.123 549254.425 0, 1721806.123 549211.932 0, 1721507.121 549169.457 0, 1721208.116 549127 0, 1720909.108 549084.559 0, 1720610.098 549042.137 0, 1720311.085 548999.732 0, 1720012.07 548957.345 0, 1719713.053 548914.975 0,
+ 1719414.032 548872.623 0, 1719115.01 548830.289 0, 1718815.985 548787.972 0, 1718516.957 548745.672 0, 1718217.927 548703.391 0, 1717918.895 548661.127 0, 1717619.86 548618.88 0, 1717320.822 548576.651 0, 1717021.782 548534.44 0, 1716722.74 548492.246 0,
+ 1716423.695 548450.07 0, 1716124.647 548407.912 0, 1715825.597 548365.771 0, 1715526.545 548323.648 0, 1715226.157 548281.354 0, 1714928.433 548239.454 0, 1714629.373 548197.383 0, 1714330.311 548155.331 0, 1714031.246 548113.295 0, 1713732.178 548071.278 0,
+ 1713433.109 548029.278 0, 1713134.037 547987.295 0, 1712834.962 547945.33 0, 1712535.885 547903.383 0, 1712236.805 547861.453 0, 1711937.723 547819.541 0, 1711638.638 547777.647 0, 1711339.551 547735.77 0, 1711040.462 547693.911 0, 1710741.37 547652.069 0,
+ 1710442.276 547610.245 0, 1710143.179 547568.439 0, 1709844.079 547526.65 0, 1709544.978 547484.879 0, 1709245.873 547443.125 0, 1708946.767 547401.389 0, 1708647.658 547359.671 0, 1708348.546 547317.97 0, 1708048.097 547276.101 0, 1707281.169 552780.688 0,
+ 1706514.186 558285.673 0, 1706813.984 558327.451 0, 1707112.448 558369.062 0, 1707410.909 558410.69 0, 1707709.368 558452.335 0, 1708007.824 558493.999 0, 1708306.278 558535.679 0, 1708604.729 558577.378 0, 1708903.178 558619.093 0, 1709201.624 558660.827 0,
+ 1709500.068 558702.578 0, 1709798.51 558744.346 0, 1710096.949 558786.132 0, 1710395.386 558827.936 0, 1710693.82 558869.757 0, 1710992.251 558911.596 0, 1711290.681 558953.453 0, 1711589.107 558995.326 0, 1711887.532 559037.218 0, 1712185.954 559079.127 0,
+ 1712484.373 559121.054 0, 1712782.79 559162.998 0, 1713081.204 559204.96 0, 1713379.616 559246.939 0, 1713676.695 559288.749 0, 1713976.433 559330.95 0, 1714274.837 559372.982 0, 1714573.239 559415.032 0, 1714871.639 559457.099 0, 1715170.036 559499.184 0,
+ 1715468.431 559541.286 0, 1715766.823 559583.406 0, 1716065.212 559625.543 0, 1716363.6 559667.698 0, 1716661.984 559709.871 0, 1716960.367 559752.061 0, 1717258.746 559794.268 0, 1717557.124 559836.494 0, 1717855.498 559878.736 0, 1718153.871 559920.997 0,
+ 1718452.24 559963.275 0, 1718750.608 560005.57 0, 1719048.973 560047.883 0, 1719347.335 560090.214 0, 1719645.695 560132.562 0, 1719944.052 560174.927 0, 1720242.407 560217.311 0, 1720540.759 560259.712 0, 1720837.78 560301.941 0, 1721620.313 554799.145 0,
+ 1722402.789 549296.746 0))
+
+POLYGON ((1735155.621 562358.668 0, 1734858.718 562315.599 0, 1734560.487 562272.355 0, 1734262.253 562229.13 0, 1733964.016 562185.921 0, 1733665.777 562142.73 0, 1733367.536 562099.557 0, 1733069.292 562056.401 0, 1732771.045 562013.263 0, 1732472.796 561970.142 0,
+ 1732174.544 561927.039 0, 1731876.29 561883.953 0, 1731578.033 561840.885 0, 1731279.774 561797.835 0, 1730981.512 561754.802 0, 1730683.248 561711.787 0, 1730384.981 561668.789 0, 1730086.711 561625.809 0, 1729788.439 561582.846 0, 1729490.165 561539.901 0,
+ 1729191.888 561496.973 0, 1728893.608 561454.063 0, 1728595.326 561411.171 0, 1728297.041 561368.296 0, 1727997.427 561325.248 0, 1727700.465 561282.599 0, 1727402.173 561239.777 0, 1727103.878 561196.972 0, 1726805.581 561154.185 0, 1726507.281 561111.415 0,
+ 1726208.979 561068.663 0, 1725910.674 561025.929 0, 1725612.367 560983.212 0, 1725314.057 560940.513 0, 1725015.745 560897.831 0, 1724717.43 560855.167 0, 1724419.112 560812.52 0, 1724120.793 560769.891 0, 1723822.47 560727.28 0, 1723524.145 560684.686 0,
+ 1723225.818 560642.109 0, 1722927.488 560599.55 0, 1722629.156 560557.009 0, 1722330.821 560514.485 0, 1722032.484 560471.979 0, 1721734.144 560429.49 0, 1721435.801 560387.019 0, 1721137.457 560344.566 0, 1720837.78 560301.941 0, 1720055.191 565805.133 0,
+ 1719272.546 571308.717 0, 1719571.572 571351.249 0, 1719869.269 571393.61 0, 1720166.964 571435.989 0, 1720464.656 571478.385 0, 1720762.345 571520.799 0, 1721060.032 571563.231 0, 1721357.717 571605.68 0, 1721655.399 571648.146 0, 1721953.078 571690.63 0,
+ 1722250.756 571733.132 0, 1722548.43 571775.651 0, 1722846.102 571818.187 0, 1723143.772 571860.741 0, 1723441.439 571903.313 0, 1723739.103 571945.902 0, 1724036.765 571988.508 0, 1724334.425 572031.132 0, 1724632.082 572073.774 0, 1724929.736 572116.433 0,
+ 1725227.388 572159.11 0, 1725525.038 572201.804 0, 1725822.685 572244.516 0, 1726120.329 572287.245 0, 1726416.647 572329.802 0, 1726715.611 572372.756 0, 1727013.248 572415.538 0, 1727310.882 572458.337 0, 1727608.514 572501.154 0, 1727906.143 572543.988 0,
+ 1728203.77 572586.84 0, 1728501.394 572629.71 0, 1728799.016 572672.597 0, 1729096.635 572715.501 0, 1729394.252 572758.423 0, 1729691.866 572801.362 0, 1729989.478 572844.319 0, 1730287.087 572887.294 0, 1730584.694 572930.286 0, 1730882.298 572973.295 0,
+ 1731179.899 573016.322 0, 1731477.498 573059.367 0, 1731775.095 573102.429 0, 1732072.689 573145.509 0, 1732370.28 573188.606 0, 1732667.869 573231.72 0, 1732965.455 573274.853 0, 1733263.039 573318.002 0, 1733559.297 573360.977 0, 1734357.487 567859.627 0,
+ 1735155.621 562358.668 0))
+
+POLYGON ((1747840.193 575453.593 0, 1747544.055 575409.78 0, 1747246.594 575365.79 0, 1746949.131 575321.817 0, 1746651.665 575277.862 0, 1746354.197 575233.924 0, 1746056.726 575190.004 0, 1745759.252 575146.102 0, 1745461.776 575102.217 0, 1745164.297 575058.349 0,
+ 1744866.816 575014.499 0, 1744569.332 574970.666 0, 1744271.845 574926.851 0, 1743974.356 574883.053 0, 1743676.864 574839.273 0, 1743379.37 574795.511 0, 1743081.873 574751.766 0, 1742784.374 574708.038 0, 1742486.872 574664.328 0, 1742189.367 574620.635 0,
+ 1741891.86 574576.96 0, 1741594.35 574533.303 0, 1741296.838 574489.663 0, 1740999.323 574446.04 0, 1740700.484 574402.242 0, 1740404.286 574358.848 0, 1740106.763 574315.278 0, 1739809.238 574271.725 0, 1739511.71 574228.191 0, 1739214.18 574184.673 0,
+ 1738916.647 574141.173 0, 1738619.112 574097.691 0, 1738321.574 574054.226 0, 1738024.034 574010.778 0, 1737726.491 573967.349 0, 1737428.945 573923.936 0, 1737131.397 573880.541 0, 1736833.846 573837.164 0, 1736536.293 573793.804 0, 1736238.737 573750.462 0,
+ 1735941.179 573707.137 0, 1735643.618 573663.83 0, 1735346.054 573620.54 0, 1735048.488 573577.268 0, 1734750.92 573534.013 0, 1734453.349 573490.776 0, 1734155.775 573447.556 0, 1733858.199 573404.354 0, 1733559.297 573360.977 0, 1732761.05 578862.717 0,
+ 1731962.748 584364.843 0, 1732260.999 584408.125 0, 1732557.928 584451.233 0, 1732854.854 584494.359 0, 1733151.777 584537.502 0, 1733448.698 584580.663 0, 1733745.616 584623.841 0, 1734042.532 584667.036 0, 1734339.445 584710.249 0, 1734636.356 584753.48 0,
+ 1734933.264 584796.728 0, 1735230.17 584839.993 0, 1735527.073 584883.276 0, 1735823.974 584926.577 0, 1736120.872 584969.894 0, 1736417.767 585013.23 0, 1736714.66 585056.583 0, 1737011.55 585099.953 0, 1737308.438 585143.341 0, 1737605.323 585186.746 0,
+ 1737902.206 585230.169 0, 1738199.086 585273.609 0, 1738495.964 585317.066 0, 1738792.839 585360.542 0, 1739088.392 585403.841 0, 1739386.581 585447.544 0, 1739683.448 585491.072 0, 1739980.313 585534.617 0, 1740277.175 585578.179 0, 1740574.035 585621.759 0,
+ 1740870.892 585665.357 0, 1741167.746 585708.972 0, 1741464.598 585752.604 0, 1741761.448 585796.254 0, 1742058.295 585839.921 0, 1742355.139 585883.606 0, 1742651.98 585927.308 0, 1742948.819 585971.028 0, 1743245.656 586014.765 0, 1743542.49 586058.52 0,
+ 1743839.321 586102.292 0, 1744136.15 586146.082 0, 1744432.976 586189.889 0, 1744729.8 586233.714 0, 1745026.621 586277.556 0, 1745323.439 586321.415 0, 1745620.255 586365.292 0, 1745917.069 586409.187 0, 1746212.562 586452.904 0, 1747026.406 580953.055 0,
+ 1747840.193 575453.593 0))
+
+POLYGON ((1760456.42 588581.214 0, 1760161.049 588536.662 0, 1759864.361 588491.93 0, 1759567.67 588447.214 0, 1759270.977 588402.516 0, 1758974.281 588357.836 0, 1758677.582 588313.173 0, 1758380.881 588268.527 0, 1758084.177 588223.899 0, 1757787.471 588179.289 0,
+ 1757490.761 588134.696 0, 1757194.05 588090.12 0, 1756897.335 588045.562 0, 1756600.618 588001.021 0, 1756303.899 587956.498 0, 1756007.176 587911.992 0, 1755710.452 587867.504 0, 1755413.724 587823.033 0, 1755116.994 587778.579 0, 1754820.261 587734.143 0,
+ 1754523.526 587689.725 0, 1754226.788 587645.324 0, 1753930.047 587600.94 0, 1753633.304 587556.574 0, 1753335.242 587512.029 0, 1753039.81 587467.894 0, 1752743.059 587423.581 0, 1752446.305 587379.284 0, 1752149.549 587335.006 0, 1751852.79 587290.744 0,
+ 1751556.029 587246.501 0, 1751259.265 587202.274 0, 1750962.498 587158.065 0, 1750665.729 587113.874 0, 1750368.957 587069.7 0, 1750072.183 587025.543 0, 1749775.406 586981.404 0, 1749478.626 586937.283 0, 1749181.844 586893.179 0, 1748885.059 586849.092 0,
+ 1748588.272 586805.023 0, 1748291.482 586760.971 0, 1747994.689 586716.937 0, 1747697.894 586672.92 0, 1747401.096 586628.921 0, 1747104.296 586584.939 0, 1746807.493 586540.975 0, 1746510.687 586497.028 0, 1746212.562 586452.904 0, 1745398.661 591953.135 0,
+ 1744584.704 597453.745 0, 1744882.18 597497.774 0, 1745178.338 597541.625 0, 1745474.493 597585.493 0, 1745770.646 597629.379 0, 1746066.796 597673.282 0, 1746362.944 597717.203 0, 1746659.089 597761.141 0, 1746955.232 597805.097 0, 1747251.372 597849.07 0,
+ 1747547.509 597893.06 0, 1747843.644 597937.068 0, 1748139.776 597981.093 0, 1748435.906 598025.136 0, 1748732.033 598069.196 0, 1749028.157 598113.274 0, 1749324.279 598157.369 0, 1749620.398 598201.481 0, 1749916.515 598245.611 0, 1750212.629 598289.758 0,
+ 1750508.74 598333.923 0, 1750804.849 598378.105 0, 1751100.955 598422.305 0, 1751397.059 598466.522 0, 1751691.847 598510.56 0, 1751989.258 598555.008 0, 1752285.354 598599.278 0, 1752581.448 598643.564 0, 1752877.538 598687.868 0, 1753173.626 598732.19 0,
+ 1753469.712 598776.529 0, 1753765.794 598820.886 0, 1754061.874 598865.259 0, 1754357.952 598909.651 0, 1754654.027 598954.059 0, 1754950.099 598998.486 0, 1755246.169 599042.929 0, 1755542.236 599087.39 0, 1755838.301 599131.869 0, 1756134.362 599176.364 0,
+ 1756430.422 599220.878 0, 1756726.478 599265.408 0, 1757022.532 599309.957 0, 1757318.584 599354.522 0, 1757614.632 599399.105 0, 1757910.679 599443.705 0, 1758206.722 599488.323 0, 1758502.763 599532.959 0, 1758797.489 599577.413 0, 1759626.983 594079.124 0,
+ 1760456.42 588581.214 0))
+
+POLYGON ((1773004.218 601741.226 0, 1772709.616 601695.939 0, 1772413.703 601650.467 0, 1772117.786 601605.013 0, 1771821.867 601559.577 0, 1771525.946 601514.158 0, 1771230.021 601468.756 0, 1770934.095 601423.371 0, 1770638.165 601378.004 0, 1770342.233 601332.655 0,
+ 1770046.298 601287.323 0, 1769750.36 601242.008 0, 1769454.42 601196.711 0, 1769158.477 601151.431 0, 1768862.531 601106.169 0, 1768566.583 601060.924 0, 1768270.632 601015.696 0, 1767974.678 600970.486 0, 1767678.722 600925.293 0, 1767382.763 600880.118 0,
+ 1767086.801 600834.96 0, 1766790.837 600789.819 0, 1766494.87 600744.696 0, 1766198.901 600699.591 0, 1765901.618 600654.303 0, 1765606.953 600609.432 0, 1765310.976 600564.378 0, 1765014.996 600519.342 0, 1764719.013 600474.324 0, 1764423.027 600429.323 0,
+ 1764127.039 600384.339 0, 1763831.049 600339.373 0, 1763535.055 600294.424 0, 1763239.059 600249.492 0, 1762943.06 600204.578 0, 1762647.059 600159.682 0, 1762351.055 600114.802 0, 1762055.048 600069.941 0, 1761759.039 600025.096 0, 1761463.027 599980.269 0,
+ 1761167.013 599935.46 0, 1760870.995 599890.668 0, 1760574.976 599845.893 0, 1760278.953 599801.136 0, 1759982.928 599756.396 0, 1759686.9 599711.674 0, 1759390.87 599666.969 0, 1759094.837 599622.281 0, 1758797.489 599577.413 0, 1757967.939 605076.079 0,
+ 1757138.332 610575.118 0, 1757435.029 610619.887 0, 1757730.415 610664.477 0, 1758025.798 610709.084 0, 1758321.178 610753.709 0, 1758616.556 610798.351 0, 1758911.932 610843.01 0, 1759207.304 610887.687 0, 1759502.674 610932.381 0, 1759798.041 610977.093 0,
+ 1760093.406 611021.822 0, 1760388.768 611066.568 0, 1760684.127 611111.332 0, 1760979.484 611156.113 0, 1761274.838 611200.911 0, 1761570.19 611245.727 0, 1761865.539 611290.56 0, 1762160.885 611335.411 0, 1762456.228 611380.279 0, 1762751.569 611425.164 0,
+ 1763046.908 611470.067 0, 1763342.243 611514.987 0, 1763637.576 611559.924 0, 1763932.907 611604.879 0, 1764226.927 611649.652 0, 1764523.559 611694.841 0, 1764818.882 611739.848 0, 1765114.202 611784.873 0, 1765409.519 611829.914 0, 1765704.833 611874.974 0,
+ 1766000.145 611920.05 0, 1766295.454 611965.144 0, 1766590.761 612010.255 0, 1766886.065 612055.384 0, 1767181.366 612100.53 0, 1767476.664 612145.694 0, 1767771.96 612190.874 0, 1768067.253 612236.073 0, 1768362.544 612281.288 0, 1768657.832 612326.521 0,
+ 1768953.117 612371.772 0, 1769248.4 612417.039 0, 1769543.68 612462.324 0, 1769838.957 612507.627 0, 1770134.231 612552.947 0, 1770429.503 612598.284 0, 1770724.772 612643.639 0, 1771020.039 612689.011 0, 1771313.997 612734.199 0, 1772159.136 607237.526 0,
+ 1773004.218 601741.226 0))
+
+POLYGON ((1785483.505 614933.321 0, 1785189.674 614887.302 0, 1784894.537 614841.096 0, 1784599.397 614794.907 0, 1784304.254 614748.736 0, 1784009.109 614702.582 0, 1783713.961 614656.446 0, 1783418.81 614610.327 0, 1783123.657 614564.225 0, 1782828.5 614518.14 0,
+ 1782533.341 614472.073 0, 1782238.18 614426.024 0, 1781943.015 614379.991 0, 1781647.848 614333.976 0, 1781352.679 614287.979 0, 1781057.506 614241.999 0, 1780762.331 614196.036 0, 1780467.153 614150.09 0, 1780171.973 614104.162 0, 1779876.789 614058.252 0,
+ 1779581.603 614012.358 0, 1779286.415 613966.482 0, 1778991.223 613920.624 0, 1778696.029 613874.783 0, 1778399.528 613828.756 0, 1778105.633 613783.152 0, 1777810.431 613737.363 0, 1777515.226 613691.592 0, 1777220.018 613645.837 0, 1776924.808 613600.1 0,
+ 1776629.595 613554.381 0, 1776334.379 613508.679 0, 1776039.161 613462.994 0, 1775743.94 613417.326 0, 1775448.716 613371.676 0, 1775153.49 613326.044 0, 1774858.261 613280.428 0, 1774563.029 613234.83 0, 1774267.795 613189.25 0, 1773972.558 613143.687 0,
+ 1773677.318 613098.141 0, 1773382.075 613052.613 0, 1773086.83 613007.101 0, 1772791.582 612961.608 0, 1772496.332 612916.132 0, 1772201.079 612870.673 0, 1771905.823 612825.231 0, 1771610.564 612779.807 0, 1771313.997 612734.199 0, 1770468.801 618231.242 0,
+ 1769623.548 623728.652 0, 1769919.465 623774.16 0, 1770214.077 623819.484 0, 1770508.686 623864.826 0, 1770803.292 623910.185 0, 1771097.895 623955.562 0, 1771392.496 624000.956 0, 1771687.094 624046.367 0, 1771981.689 624091.796 0, 1772276.282 624137.242 0,
+ 1772570.872 624182.705 0, 1772865.46 624228.186 0, 1773160.044 624273.684 0, 1773454.626 624319.199 0, 1773749.206 624364.732 0, 1774043.782 624410.282 0, 1774338.356 624455.849 0, 1774632.928 624501.434 0, 1774927.496 624547.036 0, 1775222.062 624592.655 0,
+ 1775516.625 624638.292 0, 1775811.186 624683.946 0, 1776105.744 624729.617 0, 1776400.299 624775.306 0, 1776693.55 624820.81 0, 1776989.401 624866.736 0, 1777283.949 624912.476 0, 1777578.493 624958.234 0, 1777873.035 625004.01 0, 1778167.574 625049.802 0,
+ 1778462.11 625095.613 0, 1778756.644 625141.44 0, 1779051.175 625187.285 0, 1779345.703 625233.147 0, 1779640.229 625279.026 0, 1779934.751 625324.923 0, 1780229.272 625370.837 0, 1780523.789 625416.768 0, 1780818.304 625462.717 0, 1781112.816 625508.683 0,
+ 1781407.325 625554.667 0, 1781701.832 625600.667 0, 1781996.336 625646.685 0, 1782290.837 625692.721 0, 1782585.335 625738.774 0, 1782879.831 625784.844 0, 1783174.324 625830.931 0, 1783468.815 625877.036 0, 1783762.002 625922.954 0, 1784622.782 620427.954 0,
+ 1785483.505 614933.321 0))
+
+POLYGON ((1797894.2 628157.192 0, 1797601.141 628110.445 0, 1797306.782 628063.508 0, 1797012.421 628016.589 0, 1796718.056 627969.687 0, 1796423.689 627922.802 0, 1796129.319 627875.935 0, 1795834.946 627829.085 0, 1795540.571 627782.253 0, 1795246.193 627735.437 0,
+ 1794951.812 627688.639 0, 1794657.428 627641.859 0, 1794363.041 627595.095 0, 1794068.652 627548.349 0, 1793774.26 627501.621 0, 1793479.865 627454.91 0, 1793185.468 627408.216 0, 1792891.068 627361.539 0, 1792596.665 627314.88 0, 1792302.259 627268.238 0,
+ 1792007.85 627221.613 0, 1791713.439 627175.006 0, 1791419.025 627128.416 0, 1791124.608 627081.843 0, 1790828.89 627035.082 0, 1790535.767 626988.749 0, 1790241.342 626942.229 0, 1789946.914 626895.725 0, 1789652.484 626849.239 0, 1789358.051 626802.771 0,
+ 1789063.615 626756.319 0, 1788769.176 626709.885 0, 1788474.735 626663.468 0, 1788180.291 626617.069 0, 1787885.844 626570.687 0, 1787591.394 626524.322 0, 1787296.942 626477.975 0, 1787002.487 626431.645 0, 1786708.029 626385.332 0, 1786413.569 626339.037 0,
+ 1786119.106 626292.759 0, 1785824.64 626246.498 0, 1785530.171 626200.254 0, 1785235.7 626154.028 0, 1784941.226 626107.82 0, 1784646.749 626061.628 0, 1784352.269 626015.454 0, 1784057.787 625969.297 0, 1783762.002 625922.954 0, 1782901.164 631418.318 0,
+ 1782040.271 636914.041 0, 1782335.406 636960.283 0, 1782629.242 637006.338 0, 1782923.074 637052.411 0, 1783216.904 637098.501 0, 1783510.731 637144.608 0, 1783804.556 637190.732 0, 1784098.377 637236.874 0, 1784392.196 637283.033 0, 1784686.013 637329.21 0,
+ 1784979.826 637375.403 0, 1785273.637 637421.614 0, 1785567.445 637467.843 0, 1785861.251 637514.088 0, 1786155.054 637560.351 0, 1786448.853 637606.631 0, 1786742.651 637652.929 0, 1787036.445 637699.244 0, 1787330.237 637745.576 0, 1787624.026 637791.925 0,
+ 1787917.813 637838.292 0, 1788211.596 637884.676 0, 1788505.377 637931.077 0, 1788799.155 637977.495 0, 1789091.634 638023.726 0, 1789386.703 638070.384 0, 1789680.473 638116.854 0, 1789974.241 638163.342 0, 1790268.005 638209.847 0, 1790561.767 638256.369 0,
+ 1790855.526 638302.909 0, 1791149.282 638349.466 0, 1791443.036 638396.04 0, 1791736.786 638442.631 0, 1792030.534 638489.24 0, 1792324.28 638535.866 0, 1792618.022 638582.509 0, 1792911.762 638629.17 0, 1793205.499 638675.848 0, 1793499.233 638722.543 0,
+ 1793792.965 638769.255 0, 1794086.694 638815.985 0, 1794380.42 638862.732 0, 1794674.143 638909.496 0, 1794967.864 638956.278 0, 1795261.582 639003.077 0, 1795555.297 639049.893 0, 1795849.009 639096.726 0, 1796141.424 639143.37 0, 1797017.841 633650.101 0,
+ 1797894.2 628157.192 0))
+
+POLYGON ((1810236.222 641412.529 0, 1809943.938 641365.059 0, 1809650.36 641317.396 0, 1809356.778 641269.75 0, 1809063.193 641222.121 0, 1808769.606 641174.51 0, 1808476.016 641126.916 0, 1808182.423 641079.339 0, 1807888.828 641031.78 0, 1807595.229 640984.238 0,
+ 1807301.628 640936.713 0, 1807008.024 640889.206 0, 1806714.417 640841.715 0, 1806420.808 640794.242 0, 1806127.195 640746.787 0, 1805833.58 640699.348 0, 1805539.962 640651.927 0, 1805246.341 640604.523 0, 1804952.718 640557.137 0, 1804659.091 640509.768 0,
+ 1804365.462 640462.416 0, 1804071.83 640415.081 0, 1803778.196 640367.763 0, 1803484.558 640320.463 0, 1803189.624 640272.972 0, 1802897.275 640225.915 0, 1802603.629 640178.667 0, 1802309.98 640131.436 0, 1802016.329 640084.222 0, 1801722.675 640037.025 0,
+ 1801429.018 639989.846 0, 1801135.358 639942.684 0, 1800841.695 639895.54 0, 1800548.03 639848.412 0, 1800254.362 639801.302 0, 1799960.691 639754.21 0, 1799667.018 639707.134 0, 1799373.341 639660.076 0, 1799079.662 639613.035 0, 1798785.98 639566.012 0,
+ 1798492.295 639519.005 0, 1798198.608 639472.016 0, 1797904.918 639425.044 0, 1797611.225 639378.09 0, 1797317.529 639331.153 0, 1797023.831 639284.233 0, 1796730.129 639237.33 0, 1796436.425 639190.445 0, 1796141.424 639143.37 0, 1795264.95 644636.997 0,
+ 1794388.42 650130.978 0, 1794682.772 650177.949 0, 1794975.829 650224.731 0, 1795268.884 650271.53 0, 1795561.935 650318.347 0, 1795854.985 650365.18 0, 1796148.031 650412.032 0, 1796441.074 650458.9 0, 1796734.115 650505.785 0, 1797027.153 650552.688 0,
+ 1797320.188 650599.608 0, 1797613.221 650646.546 0, 1797906.251 650693.5 0, 1798199.278 650740.472 0, 1798492.302 650787.461 0, 1798785.323 650834.467 0, 1799078.342 650881.491 0, 1799371.358 650928.532 0, 1799664.371 650975.59 0, 1799957.381 651022.665 0,
+ 1800250.389 651069.757 0, 1800543.394 651116.867 0, 1800836.396 651163.994 0, 1801129.395 651211.138 0, 1801421.101 651258.092 0, 1801715.385 651305.479 0, 1802008.376 651352.675 0, 1802301.365 651399.888 0, 1802594.35 651447.118 0, 1802887.333 651494.366 0,
+ 1803180.312 651541.631 0, 1803473.289 651588.913 0, 1803766.264 651636.213 0, 1804059.235 651683.53 0, 1804352.204 651730.864 0, 1804645.17 651778.215 0, 1804938.133 651825.583 0, 1805231.093 651872.969 0, 1805524.051 651920.372 0, 1805817.005 651967.792 0,
+ 1806109.957 652015.229 0, 1806402.907 652062.684 0, 1806695.853 652110.156 0, 1806988.797 652157.645 0, 1807281.737 652205.151 0, 1807574.675 652252.675 0, 1807867.611 652300.216 0, 1808160.543 652347.774 0, 1808452.183 652395.14 0, 1809344.232 646903.658 0,
+ 1810236.222 641412.529 0))
+
+POLYGON ((1643080.297 482655.539 0, 1642778.741 482617.867 0, 1642475.819 482580.044 0, 1642172.894 482542.238 0, 1641869.968 482504.449 0, 1641567.039 482466.679 0, 1641264.108 482428.927 0, 1640961.175 482391.192 0, 1640658.24 482353.475 0, 1640355.302 482315.776 0,
+ 1640052.362 482278.095 0, 1639749.42 482240.432 0, 1639446.476 482202.786 0, 1639143.529 482165.159 0, 1638840.581 482127.549 0, 1638537.63 482089.957 0, 1638234.677 482052.383 0, 1637931.721 482014.827 0, 1637628.764 481977.288 0, 1637325.804 481939.768 0,
+ 1637022.842 481902.265 0, 1636719.878 481864.78 0, 1636416.911 481827.313 0, 1636113.943 481789.863 0, 1635809.607 481752.263 0, 1635507.999 481715.018 0, 1635205.024 481677.622 0, 1634902.046 481640.244 0, 1634599.067 481602.884 0, 1634296.085 481565.542 0,
+ 1633993.101 481528.217 0, 1633690.115 481490.911 0, 1633387.126 481453.622 0, 1633084.136 481416.351 0, 1632781.143 481379.098 0, 1632478.148 481341.862 0, 1632175.151 481304.645 0, 1631872.152 481267.445 0, 1631569.15 481230.263 0, 1631266.146 481193.099 0,
+ 1630963.14 481155.953 0, 1630660.132 481118.825 0, 1630357.122 481081.714 0, 1630054.11 481044.622 0, 1629751.095 481007.547 0, 1629448.078 480970.49 0, 1629145.059 480933.451 0, 1628842.038 480896.43 0, 1628537.648 480859.259 0, 1627864.643 486371.895 0,
+ 1627191.585 491884.961 0, 1627495.323 491922.051 0, 1627797.695 491958.993 0, 1628100.065 491995.953 0, 1628402.433 492032.931 0, 1628704.799 492069.926 0, 1629007.162 492106.94 0, 1629309.524 492143.971 0, 1629611.883 492181.019 0, 1629914.24 492218.086 0,
+ 1630216.595 492255.17 0, 1630518.947 492292.273 0, 1630821.298 492329.393 0, 1631123.646 492366.53 0, 1631425.992 492403.686 0, 1631728.336 492440.859 0, 1632030.678 492478.05 0, 1632333.017 492515.259 0, 1632635.355 492552.486 0, 1632937.69 492589.731 0,
+ 1633240.023 492626.993 0, 1633542.353 492664.273 0, 1633844.682 492701.571 0, 1634147.008 492738.887 0, 1634447.971 492776.052 0, 1634751.654 492813.572 0, 1635053.974 492850.941 0, 1635356.292 492888.328 0, 1635658.607 492925.732 0, 1635960.92 492963.155 0,
+ 1636263.231 493000.595 0, 1636565.54 493038.053 0, 1636867.846 493075.529 0, 1637170.151 493113.023 0, 1637472.453 493150.534 0, 1637774.753 493188.064 0, 1638077.051 493225.611 0, 1638379.346 493263.176 0, 1638681.639 493300.758 0, 1638983.93 493338.359 0,
+ 1639286.219 493375.977 0, 1639588.506 493413.613 0, 1639890.79 493451.267 0, 1640193.073 493488.938 0, 1640495.353 493526.628 0, 1640797.63 493564.335 0, 1641099.906 493602.06 0, 1641402.179 493639.803 0, 1641703.09 493677.393 0, 1642391.72 488166.251 0,
+ 1643080.297 482655.539 0))
+
+POLYGON ((1656209.473 495510.816 0, 1655908.667 495472.375 0, 1655606.502 495433.778 0, 1655304.334 495395.2 0, 1655002.164 495356.639 0, 1654699.991 495318.095 0, 1654397.817 495279.57 0, 1654095.64 495241.062 0, 1653793.461 495202.572 0, 1653491.28 495164.1 0,
+ 1653189.096 495125.646 0, 1652886.91 495087.21 0, 1652584.722 495048.791 0, 1652282.531 495010.39 0, 1651980.339 494972.007 0, 1651678.144 494933.641 0, 1651375.947 494895.294 0, 1651073.747 494856.964 0, 1650771.545 494818.652 0, 1650469.341 494780.358 0,
+ 1650167.135 494742.081 0, 1649864.927 494703.823 0, 1649562.716 494665.582 0, 1649260.503 494627.359 0, 1648956.929 494588.982 0, 1648656.07 494550.966 0, 1648353.851 494512.796 0, 1648051.629 494474.644 0, 1647749.404 494436.51 0, 1647447.178 494398.394 0,
+ 1647144.949 494360.295 0, 1646842.718 494322.214 0, 1646540.485 494284.151 0, 1646238.25 494246.106 0, 1645936.012 494208.079 0, 1645633.772 494170.069 0, 1645331.53 494132.077 0, 1645029.286 494094.103 0, 1644727.039 494056.147 0, 1644424.79 494018.209 0,
+ 1644122.539 493980.288 0, 1643820.286 493942.385 0, 1643518.03 493904.5 0, 1643215.773 493866.633 0, 1642913.513 493828.783 0, 1642611.25 493790.951 0, 1642308.986 493753.138 0, 1642006.719 493715.341 0, 1641703.09 493677.393 0, 1641014.406 499188.961 0,
+ 1640325.67 504700.953 0, 1640628.647 504738.82 0, 1640930.265 504776.535 0, 1641231.881 504814.267 0, 1641533.494 504852.018 0, 1641835.105 504889.786 0, 1642136.714 504927.572 0, 1642438.321 504965.376 0, 1642739.925 505003.198 0, 1643041.528 505041.037 0,
+ 1643343.128 505078.894 0, 1643644.726 505116.769 0, 1643946.321 505154.661 0, 1644247.914 505192.571 0, 1644549.506 505230.499 0, 1644851.095 505268.445 0, 1645152.681 505306.409 0, 1645454.266 505344.39 0, 1645755.848 505382.389 0, 1646057.428 505420.406 0,
+ 1646359.006 505458.44 0, 1646660.581 505496.493 0, 1646962.154 505534.563 0, 1647263.725 505572.65 0, 1647563.938 505610.585 0, 1647866.861 505648.879 0, 1648168.425 505687.02 0, 1648469.987 505725.179 0, 1648771.547 505763.356 0, 1649073.104 505801.55 0,
+ 1649374.659 505839.762 0, 1649676.212 505877.992 0, 1649977.763 505916.239 0, 1650279.312 505954.505 0, 1650580.858 505992.788 0, 1650882.402 506031.088 0, 1651183.944 506069.407 0, 1651485.483 506107.743 0, 1651787.021 506146.097 0, 1652088.556 506184.469 0,
+ 1652390.088 506222.858 0, 1652691.619 506261.266 0, 1652993.147 506299.691 0, 1653294.673 506338.133 0, 1653596.197 506376.594 0, 1653897.718 506415.072 0, 1654199.237 506453.568 0, 1654500.754 506492.082 0, 1654800.914 506530.44 0, 1655505.221 501020.416 0,
+ 1656209.473 495510.816 0))
+
+POLYGON ((1669270.933 508400.815 0, 1668970.88 508361.609 0, 1668669.473 508322.244 0, 1668368.064 508282.896 0, 1668066.652 508243.566 0, 1667765.238 508204.254 0, 1667463.822 508164.959 0, 1667162.404 508125.683 0, 1666860.983 508086.424 0, 1666559.56 508047.182 0,
+ 1666258.134 508007.959 0, 1665956.707 507968.753 0, 1665655.277 507929.565 0, 1665353.844 507890.395 0, 1665052.41 507851.242 0, 1664750.973 507812.107 0, 1664449.534 507772.99 0, 1664148.092 507733.891 0, 1663846.648 507694.809 0, 1663545.202 507655.746 0,
+ 1663243.754 507616.7 0, 1662942.303 507577.671 0, 1662640.85 507538.661 0, 1662339.395 507499.668 0, 1662036.584 507460.518 0, 1661736.477 507421.735 0, 1661435.015 507382.796 0, 1661133.551 507343.874 0, 1660832.084 507304.97 0, 1660530.615 507266.083 0,
+ 1660229.143 507227.215 0, 1659927.67 507188.364 0, 1659626.194 507149.531 0, 1659324.716 507110.715 0, 1659023.235 507071.918 0, 1658721.752 507033.138 0, 1658420.267 506994.375 0, 1658118.78 506955.631 0, 1657817.29 506916.904 0, 1657515.798 506878.195 0,
+ 1657214.304 506839.504 0, 1656912.808 506800.831 0, 1656611.309 506762.175 0, 1656309.808 506723.537 0, 1656008.305 506684.917 0, 1655706.799 506646.314 0, 1655405.291 506607.73 0, 1655103.781 506569.163 0, 1654800.914 506530.44 0, 1654096.554 512040.884 0,
+ 1653392.141 517551.745 0, 1653694.356 517590.384 0, 1653995.218 517628.868 0, 1654296.077 517667.37 0, 1654596.934 517705.889 0, 1654897.788 517744.427 0, 1655198.641 517782.981 0, 1655499.491 517821.554 0, 1655800.339 517860.144 0, 1656101.184 517898.752 0,
+ 1656402.027 517937.378 0, 1656702.868 517976.021 0, 1657003.707 518014.682 0, 1657304.543 518053.361 0, 1657605.378 518092.058 0, 1657906.209 518130.772 0, 1658207.039 518169.504 0, 1658507.866 518208.253 0, 1658808.691 518247.021 0, 1659109.514 518285.806 0,
+ 1659410.335 518324.608 0, 1659711.153 518363.429 0, 1660011.969 518402.267 0, 1660312.782 518441.123 0, 1660612.243 518479.822 0, 1660914.403 518518.888 0, 1661215.209 518557.797 0, 1661516.014 518596.723 0, 1661816.816 518635.668 0, 1662117.616 518674.63 0,
+ 1662418.414 518713.609 0, 1662719.209 518752.607 0, 1663020.002 518791.622 0, 1663320.793 518830.655 0, 1663621.581 518869.706 0, 1663922.367 518908.774 0, 1664223.151 518947.86 0, 1664523.932 518986.964 0, 1664824.711 519026.085 0, 1665125.488 519065.224 0,
+ 1665426.263 519104.381 0, 1665727.035 519143.555 0, 1666027.805 519182.748 0, 1666328.573 519221.958 0, 1666629.338 519261.185 0, 1666930.101 519300.431 0, 1667230.862 519339.694 0, 1667531.62 519378.974 0, 1667831.028 519418.096 0, 1668551.007 513909.247 0,
+ 1669270.933 508400.815 0))
+
+POLYGON ((1682264.584 521325.233 0, 1681965.286 521285.265 0, 1681664.64 521245.134 0, 1681363.991 521205.022 0, 1681063.34 521164.927 0, 1680762.687 521124.85 0, 1680462.031 521084.79 0, 1680161.373 521044.748 0, 1679860.713 521004.724 0, 1679560.05 520964.718 0,
+ 1679259.385 520924.729 0, 1678958.718 520884.758 0, 1678658.048 520844.805 0, 1678357.376 520804.869 0, 1678056.701 520764.951 0, 1677756.024 520725.051 0, 1677455.345 520685.169 0, 1677154.663 520645.304 0, 1676853.979 520605.457 0, 1676553.293 520565.627 0,
+ 1676252.605 520525.815 0, 1675951.914 520486.021 0, 1675651.22 520446.245 0, 1675350.525 520406.486 0, 1675048.479 520366.567 0, 1674749.127 520327.022 0, 1674448.424 520287.317 0, 1674147.719 520247.629 0, 1673847.012 520207.959 0, 1673546.302 520168.306 0,
+ 1673245.59 520128.672 0, 1672944.876 520089.054 0, 1672644.159 520049.455 0, 1672343.44 520009.873 0, 1672042.719 519970.31 0, 1671741.995 519930.763 0, 1671441.269 519891.235 0, 1671140.541 519851.724 0, 1670839.81 519812.231 0, 1670539.077 519772.755 0,
+ 1670238.342 519733.298 0, 1669937.604 519693.857 0, 1669636.865 519654.435 0, 1669336.122 519615.03 0, 1669035.378 519575.644 0, 1668734.631 519536.274 0, 1668433.882 519496.923 0, 1668133.13 519457.589 0, 1667831.028 519418.096 0, 1667110.994 524927.36 0,
+ 1666390.906 530437.034 0, 1666692.358 530476.441 0, 1666992.46 530515.69 0, 1667292.561 530554.957 0, 1667592.659 530594.241 0, 1667892.755 530633.543 0, 1668192.849 530672.863 0, 1668492.94 530712.2 0, 1668793.03 530751.555 0, 1669093.116 530790.928 0,
+ 1669393.201 530830.318 0, 1669693.283 530869.726 0, 1669993.363 530909.152 0, 1670293.44 530948.595 0, 1670593.515 530988.056 0, 1670893.588 531027.535 0, 1671193.659 531067.031 0, 1671493.727 531106.545 0, 1671793.793 531146.076 0, 1672093.856 531185.626 0,
+ 1672393.917 531225.193 0, 1672693.976 531264.777 0, 1672994.033 531304.379 0, 1673294.087 531343.999 0, 1673592.794 531383.459 0, 1673894.188 531423.292 0, 1674194.235 531462.965 0, 1674494.28 531502.656 0, 1674794.323 531542.364 0, 1675094.363 531582.09 0,
+ 1675394.401 531621.833 0, 1675694.436 531661.595 0, 1675994.47 531701.373 0, 1676294.5 531741.17 0, 1676594.529 531780.984 0, 1676894.555 531820.816 0, 1677194.579 531860.665 0, 1677494.6 531900.533 0, 1677794.619 531940.417 0, 1678094.636 531980.32 0,
+ 1678394.651 532020.24 0, 1678694.663 532060.178 0, 1678994.672 532100.133 0, 1679294.68 532140.106 0, 1679594.685 532180.097 0, 1679894.687 532220.106 0, 1680194.688 532260.132 0, 1680494.685 532300.175 0, 1680793.338 532340.057 0, 1681528.988 526832.44 0,
+ 1682264.584 521325.233 0))
+
+POLYGON ((1695190.336 534283.763 0, 1694891.795 534243.037 0, 1694591.911 534202.146 0, 1694292.025 534161.272 0, 1693992.137 534120.417 0, 1693692.246 534079.578 0, 1693392.353 534038.758 0, 1693092.457 533997.955 0, 1692792.559 533957.17 0, 1692492.659 533916.402 0,
+ 1692192.756 533875.652 0, 1691892.851 533834.92 0, 1691592.943 533794.205 0, 1691293.033 533753.509 0, 1690993.121 533712.829 0, 1690693.206 533672.168 0, 1690393.289 533631.524 0, 1690093.369 533590.897 0, 1689793.447 533550.288 0, 1689493.523 533509.697 0,
+ 1689193.596 533469.124 0, 1688893.667 533428.568 0, 1688593.735 533388.03 0, 1688293.801 533347.51 0, 1687992.523 533306.826 0, 1687693.926 533266.522 0, 1687393.985 533226.054 0, 1687094.042 533185.605 0, 1686794.096 533145.172 0, 1686494.148 533104.758 0,
+ 1686194.197 533064.361 0, 1685894.244 533023.982 0, 1685594.289 532983.62 0, 1685294.331 532943.276 0, 1684994.371 532902.95 0, 1684694.409 532862.642 0, 1684394.444 532822.351 0, 1684094.476 532782.077 0, 1683794.507 532741.822 0, 1683494.535 532701.584 0,
+ 1683194.561 532661.364 0, 1682894.584 532621.161 0, 1682594.605 532580.976 0, 1682294.624 532540.809 0, 1681994.64 532500.659 0, 1681694.654 532460.527 0, 1681394.665 532420.413 0, 1681094.674 532380.316 0, 1680793.338 532340.057 0, 1680057.633 537848.083 0,
+ 1679321.874 543356.513 0, 1679622.559 543396.685 0, 1679921.901 543436.695 0, 1680221.242 543476.723 0, 1680520.579 543516.768 0, 1680819.915 543556.831 0, 1681119.248 543596.911 0, 1681418.578 543637.009 0, 1681717.907 543677.125 0, 1682017.233 543717.259 0,
+ 1682316.556 543757.41 0, 1682615.877 543797.578 0, 1682915.196 543837.764 0, 1683214.513 543877.968 0, 1683513.827 543918.19 0, 1683813.139 543958.429 0, 1684112.448 543998.685 0, 1684411.755 544038.96 0, 1684711.06 544079.252 0, 1685010.362 544119.561 0,
+ 1685309.662 544159.888 0, 1685608.959 544200.233 0, 1685908.255 544240.596 0, 1686207.547 544280.976 0, 1686505.499 544321.192 0, 1686806.126 544361.788 0, 1687105.411 544402.221 0, 1687404.695 544442.672 0, 1687703.976 544483.14 0, 1688003.254 544523.626 0,
+ 1688302.53 544564.129 0, 1688601.804 544604.65 0, 1688901.075 544645.188 0, 1689200.344 544685.744 0, 1689499.611 544726.318 0, 1689798.875 544766.91 0, 1690098.137 544807.519 0, 1690397.396 544848.145 0, 1690696.653 544888.789 0, 1690995.908 544929.451 0,
+ 1691295.16 544970.131 0, 1691594.41 545010.828 0, 1691893.657 545051.542 0, 1692192.902 545092.275 0, 1692492.145 545133.025 0, 1692791.385 545173.792 0, 1693090.623 545214.577 0, 1693389.858 545255.38 0, 1693687.754 545296.018 0, 1694439.072 539789.688 0,
+ 1695190.336 534283.763 0))
+
+POLYGON ((1708048.097 547276.101 0, 1707750.315 547234.621 0, 1707451.196 547192.973 0, 1707152.075 547151.343 0, 1706852.951 547109.73 0, 1706553.825 547068.135 0, 1706254.696 547026.557 0, 1705955.565 546984.997 0, 1705656.431 546943.455 0, 1705357.295 546901.93 0,
+ 1705058.157 546860.423 0, 1704759.016 546818.934 0, 1704459.872 546777.462 0, 1704160.726 546736.008 0, 1703861.578 546694.571 0, 1703562.427 546653.152 0, 1703263.274 546611.75 0, 1702964.118 546570.366 0, 1702664.96 546529 0, 1702365.8 546487.651 0,
+ 1702066.637 546446.32 0, 1701767.472 546405.007 0, 1701468.304 546363.711 0, 1701169.134 546322.433 0, 1700868.625 546280.988 0, 1700570.786 546239.929 0, 1700271.608 546198.704 0, 1699972.428 546157.496 0, 1699673.246 546116.306 0, 1699374.061 546075.133 0,
+ 1699074.874 546033.978 0, 1698775.684 545992.841 0, 1698476.492 545951.721 0, 1698177.298 545910.619 0, 1697878.101 545869.535 0, 1697578.902 545828.468 0, 1697279.7 545787.418 0, 1696980.496 545746.387 0, 1696681.289 545705.373 0, 1696382.08 545664.376 0,
+ 1696082.869 545623.397 0, 1695783.655 545582.436 0, 1695484.439 545541.492 0, 1695185.221 545500.566 0, 1694886 545459.658 0, 1694586.776 545418.767 0, 1694287.55 545377.894 0, 1693988.322 545337.038 0, 1693687.754 545296.018 0, 1692936.381 550802.749 0,
+ 1692184.953 556309.88 0, 1692484.87 556350.811 0, 1692783.45 556391.578 0, 1693082.028 556432.363 0, 1693380.603 556473.165 0, 1693679.176 556513.985 0, 1693977.746 556554.822 0, 1694276.314 556595.677 0, 1694574.879 556636.55 0, 1694873.443 556677.44 0,
+ 1695172.003 556718.347 0, 1695470.562 556759.273 0, 1695769.118 556800.215 0, 1696067.671 556841.176 0, 1696366.222 556882.154 0, 1696664.771 556923.149 0, 1696963.317 556964.162 0, 1697261.861 557005.193 0, 1697560.403 557046.241 0, 1697858.942 557087.307 0,
+ 1698157.478 557128.391 0, 1698456.012 557169.491 0, 1698754.544 557210.61 0, 1699053.074 557251.746 0, 1699350.267 557292.716 0, 1699650.125 557334.071 0, 1699948.647 557375.26 0, 1700247.167 557416.466 0, 1700545.684 557457.69 0, 1700844.199 557498.932 0,
+ 1701142.711 557540.191 0, 1701441.221 557581.467 0, 1701739.729 557622.762 0, 1702038.234 557664.073 0, 1702336.737 557705.403 0, 1702635.237 557746.75 0, 1702933.735 557788.114 0, 1703232.23 557829.496 0, 1703530.723 557870.896 0, 1703829.213 557912.313 0,
+ 1704127.701 557953.748 0, 1704426.187 557995.2 0, 1704724.67 558036.67 0, 1705023.151 558078.158 0, 1705321.629 558119.663 0, 1705620.105 558161.185 0, 1705918.579 558202.725 0, 1706217.049 558244.283 0, 1706514.186 558285.673 0, 1707281.169 552780.688 0,
+ 1708048.097 547276.101 0))
+
+POLYGON ((1720837.78 560301.941 0, 1720540.759 560259.712 0, 1720242.407 560217.311 0, 1719944.052 560174.927 0, 1719645.695 560132.562 0, 1719347.335 560090.214 0, 1719048.973 560047.883 0, 1718750.608 560005.57 0, 1718452.24 559963.275 0, 1718153.871 559920.997 0,
+ 1717855.498 559878.736 0, 1717557.124 559836.494 0, 1717258.746 559794.268 0, 1716960.367 559752.061 0, 1716661.984 559709.871 0, 1716363.6 559667.698 0, 1716065.212 559625.543 0, 1715766.823 559583.406 0, 1715468.431 559541.286 0, 1715170.036 559499.184 0,
+ 1714871.639 559457.099 0, 1714573.239 559415.032 0, 1714274.837 559372.982 0, 1713976.433 559330.95 0, 1713676.695 559288.749 0, 1713379.616 559246.939 0, 1713081.204 559204.96 0, 1712782.79 559162.998 0, 1712484.373 559121.054 0, 1712185.954 559079.127 0,
+ 1711887.532 559037.218 0, 1711589.107 558995.326 0, 1711290.681 558953.453 0, 1710992.251 558911.596 0, 1710693.82 558869.757 0, 1710395.386 558827.936 0, 1710096.949 558786.132 0, 1709798.51 558744.346 0, 1709500.068 558702.578 0, 1709201.624 558660.827 0,
+ 1708903.178 558619.093 0, 1708604.729 558577.378 0, 1708306.278 558535.679 0, 1708007.824 558493.999 0, 1707709.368 558452.335 0, 1707410.909 558410.69 0, 1707112.448 558369.062 0, 1706813.984 558327.451 0, 1706514.186 558285.673 0, 1705747.148 563791.054 0,
+ 1704980.055 569296.827 0, 1705279.202 569338.514 0, 1705577.017 569380.034 0, 1705874.83 569421.572 0, 1706172.641 569463.127 0, 1706470.449 569504.7 0, 1706768.255 569546.29 0, 1707066.058 569587.898 0, 1707363.859 569629.523 0, 1707661.657 569671.166 0,
+ 1707959.453 569712.826 0, 1708257.247 569754.504 0, 1708555.038 569796.199 0, 1708852.827 569837.912 0, 1709150.613 569879.643 0, 1709448.396 569921.391 0, 1709746.178 569963.156 0, 1710043.956 570004.939 0, 1710341.733 570046.74 0, 1710639.506 570088.558 0,
+ 1710937.278 570130.393 0, 1711235.047 570172.247 0, 1711532.813 570214.117 0, 1711830.577 570256.005 0, 1712127.011 570297.724 0, 1712426.098 570339.834 0, 1712723.854 570381.775 0, 1713021.608 570423.733 0, 1713319.36 570465.709 0, 1713617.109 570507.702 0,
+ 1713914.856 570549.713 0, 1714212.6 570591.742 0, 1714510.342 570633.788 0, 1714808.081 570675.851 0, 1715105.818 570717.932 0, 1715403.552 570760.03 0, 1715701.284 570802.146 0, 1715999.013 570844.28 0, 1716296.74 570886.431 0, 1716594.465 570928.599 0,
+ 1716892.187 570970.786 0, 1717189.906 571012.989 0, 1717487.623 571055.21 0, 1717785.338 571097.449 0, 1718083.05 571139.705 0, 1718380.759 571181.979 0, 1718678.466 571224.27 0, 1718976.171 571266.579 0, 1719272.546 571308.717 0, 1720055.191 565805.133 0,
+ 1720837.78 560301.941 0))
+
+POLYGON ((1733559.297 573360.977 0, 1733263.039 573318.002 0, 1732965.455 573274.853 0, 1732667.869 573231.72 0, 1732370.28 573188.606 0, 1732072.689 573145.509 0, 1731775.095 573102.429 0, 1731477.498 573059.367 0, 1731179.899 573016.322 0, 1730882.298 572973.295 0,
+ 1730584.694 572930.286 0, 1730287.087 572887.294 0, 1729989.478 572844.319 0, 1729691.866 572801.362 0, 1729394.252 572758.423 0, 1729096.635 572715.501 0, 1728799.016 572672.597 0, 1728501.394 572629.71 0, 1728203.77 572586.84 0, 1727906.143 572543.988 0,
+ 1727608.514 572501.154 0, 1727310.882 572458.337 0, 1727013.248 572415.538 0, 1726715.611 572372.756 0, 1726416.647 572329.802 0, 1726120.329 572287.245 0, 1725822.685 572244.516 0, 1725525.038 572201.804 0, 1725227.388 572159.11 0, 1724929.736 572116.433 0,
+ 1724632.082 572073.774 0, 1724334.425 572031.132 0, 1724036.765 571988.508 0, 1723739.103 571945.902 0, 1723441.439 571903.313 0, 1723143.772 571860.741 0, 1722846.102 571818.187 0, 1722548.43 571775.651 0, 1722250.756 571733.132 0, 1721953.078 571690.63 0,
+ 1721655.399 571648.146 0, 1721357.717 571605.68 0, 1721060.032 571563.231 0, 1720762.345 571520.799 0, 1720464.656 571478.385 0, 1720166.964 571435.989 0, 1719869.269 571393.61 0, 1719571.572 571351.249 0, 1719272.546 571308.717 0, 1718489.846 576812.69 0,
+ 1717707.091 582317.049 0, 1718005.466 582359.489 0, 1718302.515 582401.758 0, 1718599.562 582444.044 0, 1718896.606 582486.348 0, 1719193.648 582528.67 0, 1719490.687 582571.009 0, 1719787.723 582613.365 0, 1720084.758 582655.739 0, 1720381.789 582698.131 0,
+ 1720678.819 582740.54 0, 1720975.845 582782.966 0, 1721272.869 582825.41 0, 1721569.891 582867.872 0, 1721866.91 582910.351 0, 1722163.927 582952.847 0, 1722460.941 582995.361 0, 1722757.953 583037.892 0, 1723054.962 583080.441 0, 1723351.969 583123.007 0,
+ 1723648.973 583165.591 0, 1723945.975 583208.193 0, 1724242.974 583250.811 0, 1724539.97 583293.448 0, 1724835.643 583335.911 0, 1725133.956 583378.772 0, 1725430.945 583421.461 0, 1725727.932 583464.167 0, 1726024.916 583506.891 0, 1726321.897 583549.632 0,
+ 1726618.877 583592.391 0, 1726915.853 583635.167 0, 1727212.827 583677.96 0, 1727509.799 583720.771 0, 1727806.768 583763.6 0, 1728103.734 583806.446 0, 1728400.698 583849.309 0, 1728697.659 583892.19 0, 1728994.618 583935.089 0, 1729291.575 583978.005 0,
+ 1729588.528 584020.938 0, 1729885.48 584063.889 0, 1730182.429 584106.857 0, 1730479.375 584149.843 0, 1730776.318 584192.846 0, 1731073.26 584235.867 0, 1731370.198 584278.905 0, 1731667.134 584321.961 0, 1731962.748 584364.843 0, 1732761.05 578862.717 0,
+ 1733559.297 573360.977 0))
+
+POLYGON ((1746212.562 586452.904 0, 1745917.069 586409.187 0, 1745620.255 586365.292 0, 1745323.439 586321.415 0, 1745026.621 586277.556 0, 1744729.8 586233.714 0, 1744432.976 586189.889 0, 1744136.15 586146.082 0, 1743839.321 586102.292 0, 1743542.49 586058.52 0,
+ 1743245.656 586014.765 0, 1742948.819 585971.028 0, 1742651.98 585927.308 0, 1742355.139 585883.606 0, 1742058.295 585839.921 0, 1741761.448 585796.254 0, 1741464.598 585752.604 0, 1741167.746 585708.972 0, 1740870.892 585665.357 0, 1740574.035 585621.759 0,
+ 1740277.175 585578.179 0, 1739980.313 585534.617 0, 1739683.448 585491.072 0, 1739386.581 585447.544 0, 1739088.392 585403.841 0, 1738792.839 585360.542 0, 1738495.964 585317.066 0, 1738199.086 585273.609 0, 1737902.206 585230.169 0, 1737605.323 585186.746 0,
+ 1737308.438 585143.341 0, 1737011.55 585099.953 0, 1736714.66 585056.583 0, 1736417.767 585013.23 0, 1736120.872 584969.894 0, 1735823.974 584926.577 0, 1735527.073 584883.276 0, 1735230.17 584839.993 0, 1734933.264 584796.728 0, 1734636.356 584753.48 0,
+ 1734339.445 584710.249 0, 1734042.532 584667.036 0, 1733745.616 584623.841 0, 1733448.698 584580.663 0, 1733151.777 584537.502 0, 1732854.854 584494.359 0, 1732557.928 584451.233 0, 1732260.999 584408.125 0, 1731962.748 584364.843 0, 1731164.389 589867.351 0,
+ 1730365.976 595370.24 0, 1730663.577 595413.428 0, 1730959.858 595456.442 0, 1731256.136 595499.473 0, 1731552.412 595542.522 0, 1731848.685 595585.589 0, 1732144.955 595628.673 0, 1732441.223 595671.774 0, 1732737.489 595714.893 0, 1733033.752 595758.029 0,
+ 1733330.013 595801.182 0, 1733626.27 595844.354 0, 1733922.526 595887.542 0, 1734218.779 595930.748 0, 1734515.029 595973.971 0, 1734811.277 596017.212 0, 1735107.522 596060.47 0, 1735403.765 596103.746 0, 1735700.005 596147.039 0, 1735996.242 596190.35 0,
+ 1736292.477 596233.678 0, 1736588.71 596277.023 0, 1736884.94 596320.386 0, 1737181.167 596363.766 0, 1737476.076 596406.971 0, 1737773.614 596450.579 0, 1738069.834 596494.012 0, 1738366.051 596537.462 0, 1738662.266 596580.929 0, 1738958.478 596624.414 0,
+ 1739254.687 596667.917 0, 1739550.894 596711.436 0, 1739847.099 596754.974 0, 1740143.3 596798.528 0, 1740439.5 596842.1 0, 1740735.696 596885.69 0, 1741031.89 596929.297 0, 1741328.082 596972.921 0, 1741624.271 597016.563 0, 1741920.457 597060.222 0,
+ 1742216.641 597103.899 0, 1742512.822 597147.593 0, 1742809.001 597191.305 0, 1743105.177 597235.034 0, 1743401.351 597278.78 0, 1743697.522 597322.544 0, 1743993.69 597366.325 0, 1744289.856 597410.124 0, 1744584.704 597453.745 0, 1745398.661 591953.135 0,
+ 1746212.562 586452.904 0))
+
+POLYGON ((1758797.489 599577.413 0, 1758502.763 599532.959 0, 1758206.722 599488.323 0, 1757910.679 599443.705 0, 1757614.632 599399.105 0, 1757318.584 599354.522 0, 1757022.532 599309.957 0, 1756726.478 599265.408 0, 1756430.422 599220.878 0, 1756134.362 599176.364 0,
+ 1755838.301 599131.869 0, 1755542.236 599087.39 0, 1755246.169 599042.929 0, 1754950.099 598998.486 0, 1754654.027 598954.059 0, 1754357.952 598909.651 0, 1754061.874 598865.259 0, 1753765.794 598820.886 0, 1753469.712 598776.529 0, 1753173.626 598732.19 0,
+ 1752877.538 598687.868 0, 1752581.448 598643.564 0, 1752285.354 598599.278 0, 1751989.258 598555.008 0, 1751691.847 598510.56 0, 1751397.059 598466.522 0, 1751100.955 598422.305 0, 1750804.849 598378.105 0, 1750508.74 598333.923 0, 1750212.629 598289.758 0,
+ 1749916.515 598245.611 0, 1749620.398 598201.481 0, 1749324.279 598157.369 0, 1749028.157 598113.274 0, 1748732.033 598069.196 0, 1748435.906 598025.136 0, 1748139.776 597981.093 0, 1747843.644 597937.068 0, 1747547.509 597893.06 0, 1747251.372 597849.07 0,
+ 1746955.232 597805.097 0, 1746659.089 597761.141 0, 1746362.944 597717.203 0, 1746066.796 597673.282 0, 1745770.646 597629.379 0, 1745474.493 597585.493 0, 1745178.338 597541.625 0, 1744882.18 597497.774 0, 1744584.704 597453.745 0, 1743770.692 602954.733 0,
+ 1742956.624 608456.093 0, 1743253.449 608500.025 0, 1743548.959 608543.78 0, 1743844.467 608587.553 0, 1744139.973 608631.343 0, 1744435.475 608675.15 0, 1744730.976 608718.975 0, 1745026.473 608762.817 0, 1745321.968 608806.676 0, 1745617.461 608850.553 0,
+ 1745912.95 608894.447 0, 1746208.438 608938.359 0, 1746503.922 608982.288 0, 1746799.405 609026.234 0, 1747094.884 609070.198 0, 1747390.361 609114.179 0, 1747685.835 609158.178 0, 1747981.307 609202.194 0, 1748276.776 609246.227 0, 1748572.243 609290.278 0,
+ 1748867.707 609334.346 0, 1749163.168 609378.432 0, 1749458.627 609422.535 0, 1749754.083 609466.655 0, 1750048.226 609510.597 0, 1750344.988 609554.948 0, 1750640.436 609599.121 0, 1750935.882 609643.31 0, 1751231.325 609687.518 0, 1751526.766 609731.742 0,
+ 1751822.204 609775.984 0, 1752117.639 609820.244 0, 1752413.072 609864.521 0, 1752708.502 609908.815 0, 1753003.929 609953.127 0, 1753299.354 609997.456 0, 1753594.777 610041.802 0, 1753890.197 610086.166 0, 1754185.614 610130.547 0, 1754481.028 610174.946 0,
+ 1754776.44 610219.361 0, 1755071.849 610263.795 0, 1755367.256 610308.246 0, 1755662.66 610352.714 0, 1755958.061 610397.199 0, 1756253.46 610441.702 0, 1756548.856 610486.222 0, 1756844.25 610530.76 0, 1757138.332 610575.118 0, 1757967.939 605076.079 0,
+ 1758797.489 599577.413 0))
+
+POLYGON ((1771313.997 612734.199 0, 1771020.039 612689.011 0, 1770724.772 612643.639 0, 1770429.503 612598.284 0, 1770134.231 612552.947 0, 1769838.957 612507.627 0, 1769543.68 612462.324 0, 1769248.4 612417.039 0, 1768953.117 612371.772 0, 1768657.832 612326.521 0,
+ 1768362.544 612281.288 0, 1768067.253 612236.073 0, 1767771.96 612190.874 0, 1767476.664 612145.694 0, 1767181.366 612100.53 0, 1766886.065 612055.384 0, 1766590.761 612010.255 0, 1766295.454 611965.144 0, 1766000.145 611920.05 0, 1765704.833 611874.974 0,
+ 1765409.519 611829.914 0, 1765114.202 611784.873 0, 1764818.882 611739.848 0, 1764523.559 611694.841 0, 1764226.927 611649.652 0, 1763932.907 611604.879 0, 1763637.576 611559.924 0, 1763342.243 611514.987 0, 1763046.908 611470.067 0, 1762751.569 611425.164 0,
+ 1762456.228 611380.279 0, 1762160.885 611335.411 0, 1761865.539 611290.56 0, 1761570.19 611245.727 0, 1761274.838 611200.911 0, 1760979.484 611156.113 0, 1760684.127 611111.332 0, 1760388.768 611066.568 0, 1760093.406 611021.822 0, 1759798.041 610977.093 0,
+ 1759502.674 610932.381 0, 1759207.304 610887.687 0, 1758911.932 610843.01 0, 1758616.556 610798.351 0, 1758321.178 610753.709 0, 1758025.798 610709.084 0, 1757730.415 610664.477 0, 1757435.029 610619.887 0, 1757138.332 610575.118 0, 1756308.669 616074.526 0,
+ 1755478.951 621574.302 0, 1755774.998 621618.974 0, 1756069.737 621663.466 0, 1756364.472 621707.975 0, 1756659.205 621752.502 0, 1756953.936 621797.046 0, 1757248.664 621841.608 0, 1757543.389 621886.187 0, 1757838.111 621930.783 0, 1758132.831 621975.396 0,
+ 1758427.549 622020.027 0, 1758722.263 622064.675 0, 1759016.976 622109.341 0, 1759311.685 622154.024 0, 1759606.392 622198.724 0, 1759901.096 622243.442 0, 1760195.798 622288.177 0, 1760490.496 622332.929 0, 1760785.193 622377.699 0, 1761079.886 622422.486 0,
+ 1761374.577 622467.29 0, 1761669.266 622512.112 0, 1761963.952 622556.951 0, 1762258.635 622601.807 0, 1762552.01 622646.482 0, 1762847.993 622691.572 0, 1763142.668 622736.48 0, 1763437.341 622781.406 0, 1763732.01 622826.349 0, 1764026.678 622871.309 0,
+ 1764321.342 622916.287 0, 1764616.004 622961.282 0, 1764910.664 623006.295 0, 1765205.32 623051.324 0, 1765499.974 623096.372 0, 1765794.626 623141.436 0, 1766089.274 623186.518 0, 1766383.92 623231.617 0, 1766678.564 623276.734 0, 1766973.204 623321.867 0,
+ 1767267.842 623367.019 0, 1767562.478 623412.187 0, 1767857.111 623457.373 0, 1768151.741 623502.576 0, 1768446.368 623547.797 0, 1768740.993 623593.035 0, 1769035.615 623638.29 0, 1769330.234 623683.562 0, 1769623.548 623728.652 0, 1770468.801 618231.242 0,
+ 1771313.997 612734.199 0))
+
+POLYGON ((1783762.002 625922.954 0, 1783468.815 625877.036 0, 1783174.324 625830.931 0, 1782879.831 625784.844 0, 1782585.335 625738.774 0, 1782290.837 625692.721 0, 1781996.336 625646.685 0, 1781701.832 625600.667 0, 1781407.325 625554.667 0, 1781112.816 625508.683 0,
+ 1780818.304 625462.717 0, 1780523.789 625416.768 0, 1780229.272 625370.837 0, 1779934.751 625324.923 0, 1779640.229 625279.026 0, 1779345.703 625233.147 0, 1779051.175 625187.285 0, 1778756.644 625141.44 0, 1778462.11 625095.613 0, 1778167.574 625049.802 0,
+ 1777873.035 625004.01 0, 1777578.493 624958.234 0, 1777283.949 624912.476 0, 1776989.401 624866.736 0, 1776693.55 624820.81 0, 1776400.299 624775.306 0, 1776105.744 624729.617 0, 1775811.186 624683.946 0, 1775516.625 624638.292 0, 1775222.062 624592.655 0,
+ 1774927.496 624547.036 0, 1774632.928 624501.434 0, 1774338.356 624455.849 0, 1774043.782 624410.282 0, 1773749.206 624364.732 0, 1773454.626 624319.199 0, 1773160.044 624273.684 0, 1772865.46 624228.186 0, 1772570.872 624182.705 0, 1772276.282 624137.242 0,
+ 1771981.689 624091.796 0, 1771687.094 624046.367 0, 1771392.496 624000.956 0, 1771097.895 623955.562 0, 1770803.292 623910.185 0, 1770508.686 623864.826 0, 1770214.077 623819.484 0, 1769919.465 623774.16 0, 1769623.548 623728.652 0, 1768778.239 629226.425 0,
+ 1767932.875 634724.559 0, 1768228.143 634769.967 0, 1768522.107 634815.192 0, 1768816.069 634860.434 0, 1769110.028 634905.694 0, 1769403.984 634950.971 0, 1769697.937 634996.265 0, 1769991.888 635041.577 0, 1770285.837 635086.906 0, 1770579.782 635132.252 0,
+ 1770873.725 635177.615 0, 1771167.665 635222.996 0, 1771461.603 635268.394 0, 1771755.538 635313.809 0, 1772049.47 635359.242 0, 1772343.4 635404.692 0, 1772637.327 635450.159 0, 1772931.251 635495.644 0, 1773225.172 635541.146 0, 1773519.091 635586.665 0,
+ 1773813.007 635632.201 0, 1774106.921 635677.755 0, 1774400.832 635723.326 0, 1774694.74 635768.914 0, 1774987.346 635814.318 0, 1775282.548 635860.143 0, 1775576.448 635905.783 0, 1775870.345 635951.441 0, 1776164.24 635997.115 0, 1776458.132 636042.808 0,
+ 1776752.021 636088.517 0, 1777045.908 636134.244 0, 1777339.792 636179.988 0, 1777633.673 636225.749 0, 1777927.552 636271.528 0, 1778221.428 636317.324 0, 1778515.301 636363.137 0, 1778809.171 636408.967 0, 1779103.039 636454.815 0, 1779396.904 636500.68 0,
+ 1779690.767 636546.563 0, 1779984.626 636592.462 0, 1780278.483 636638.379 0, 1780572.337 636684.314 0, 1780866.189 636730.265 0, 1781160.038 636776.234 0, 1781453.884 636822.22 0, 1781747.727 636868.224 0, 1782040.271 636914.041 0, 1782901.164 631418.318 0,
+ 1783762.002 625922.954 0))
+
+POLYGON ((1796141.424 639143.37 0, 1795849.009 639096.726 0, 1795555.297 639049.893 0, 1795261.582 639003.077 0, 1794967.864 638956.278 0, 1794674.143 638909.496 0, 1794380.42 638862.732 0, 1794086.694 638815.985 0, 1793792.965 638769.255 0, 1793499.233 638722.543 0,
+ 1793205.499 638675.848 0, 1792911.762 638629.17 0, 1792618.022 638582.509 0, 1792324.28 638535.866 0, 1792030.534 638489.24 0, 1791736.786 638442.631 0, 1791443.036 638396.04 0, 1791149.282 638349.466 0, 1790855.526 638302.909 0, 1790561.767 638256.369 0,
+ 1790268.005 638209.847 0, 1789974.241 638163.342 0, 1789680.473 638116.854 0, 1789386.703 638070.384 0, 1789091.634 638023.726 0, 1788799.155 637977.495 0, 1788505.377 637931.077 0, 1788211.596 637884.676 0, 1787917.813 637838.292 0, 1787624.026 637791.925 0,
+ 1787330.237 637745.576 0, 1787036.445 637699.244 0, 1786742.651 637652.929 0, 1786448.853 637606.631 0, 1786155.054 637560.351 0, 1785861.251 637514.088 0, 1785567.445 637467.843 0, 1785273.637 637421.614 0, 1784979.826 637375.403 0, 1784686.013 637329.21 0,
+ 1784392.196 637283.033 0, 1784098.377 637236.874 0, 1783804.556 637190.732 0, 1783510.731 637144.608 0, 1783216.904 637098.501 0, 1782923.074 637052.411 0, 1782629.242 637006.338 0, 1782335.406 636960.283 0, 1782040.271 636914.041 0, 1781179.321 642410.122 0,
+ 1780318.316 647906.557 0, 1780612.801 647952.697 0, 1780905.99 647998.651 0, 1781199.175 648044.622 0, 1781492.358 648090.61 0, 1781785.538 648136.616 0, 1782078.716 648182.639 0, 1782371.891 648228.679 0, 1782665.063 648274.737 0, 1782958.232 648320.812 0,
+ 1783251.399 648366.904 0, 1783544.563 648413.013 0, 1783837.724 648459.139 0, 1784130.882 648505.283 0, 1784424.038 648551.444 0, 1784717.191 648597.622 0, 1785010.342 648643.818 0, 1785303.489 648690.031 0, 1785596.634 648736.261 0, 1785889.776 648782.508 0,
+ 1786182.916 648828.772 0, 1786476.053 648875.054 0, 1786769.187 648921.353 0, 1787062.318 648967.67 0, 1787354.153 649013.799 0, 1787648.572 649060.354 0, 1787941.696 649106.722 0, 1788234.816 649153.107 0, 1788527.934 649199.51 0, 1788821.048 649245.93 0,
+ 1789114.161 649292.367 0, 1789407.27 649338.821 0, 1789700.377 649385.293 0, 1789993.481 649431.781 0, 1790286.582 649478.288 0, 1790579.681 649524.811 0, 1790872.776 649571.351 0, 1791165.869 649617.909 0, 1791458.96 649664.484 0, 1791752.047 649711.077 0,
+ 1792045.132 649757.686 0, 1792338.214 649804.313 0, 1792631.293 649850.957 0, 1792924.37 649897.618 0, 1793217.444 649944.297 0, 1793510.515 649990.993 0, 1793803.583 650037.706 0, 1794096.649 650084.436 0, 1794388.42 650130.978 0, 1795264.95 644636.997 0,
+ 1796141.424 639143.37 0))
+
+POLYGON ((1808452.183 652395.14 0, 1808160.543 652347.774 0, 1807867.611 652300.216 0, 1807574.675 652252.675 0, 1807281.737 652205.151 0, 1806988.797 652157.645 0, 1806695.853 652110.156 0, 1806402.907 652062.684 0, 1806109.957 652015.229 0, 1805817.005 651967.792 0,
+ 1805524.051 651920.372 0, 1805231.093 651872.969 0, 1804938.133 651825.583 0, 1804645.17 651778.215 0, 1804352.204 651730.864 0, 1804059.235 651683.53 0, 1803766.264 651636.213 0, 1803473.289 651588.913 0, 1803180.312 651541.631 0, 1802887.333 651494.366 0,
+ 1802594.35 651447.118 0, 1802301.365 651399.888 0, 1802008.376 651352.675 0, 1801715.385 651305.479 0, 1801421.101 651258.092 0, 1801129.395 651211.138 0, 1800836.396 651163.994 0, 1800543.394 651116.867 0, 1800250.389 651069.757 0, 1799957.381 651022.665 0,
+ 1799664.371 650975.59 0, 1799371.358 650928.532 0, 1799078.342 650881.491 0, 1798785.323 650834.467 0, 1798492.302 650787.461 0, 1798199.278 650740.472 0, 1797906.251 650693.5 0, 1797613.221 650646.546 0, 1797320.188 650599.608 0, 1797027.153 650552.688 0,
+ 1796734.115 650505.785 0, 1796441.074 650458.9 0, 1796148.031 650412.032 0, 1795854.985 650365.18 0, 1795561.935 650318.347 0, 1795268.884 650271.53 0, 1794975.829 650224.731 0, 1794682.772 650177.949 0, 1794388.42 650130.978 0, 1793511.834 655625.309 0,
+ 1792635.192 661119.988 0, 1792928.894 661166.855 0, 1793221.305 661213.534 0, 1793513.713 661260.23 0, 1793806.118 661306.943 0, 1794098.52 661353.674 0, 1794390.919 661400.421 0, 1794683.316 661447.186 0, 1794975.71 661493.968 0, 1795268.102 661540.768 0,
+ 1795560.49 661587.584 0, 1795852.876 661634.418 0, 1796145.259 661681.269 0, 1796437.639 661728.137 0, 1796730.017 661775.022 0, 1797022.391 661821.925 0, 1797314.763 661868.845 0, 1797607.133 661915.782 0, 1797899.499 661962.736 0, 1798191.863 662009.707 0,
+ 1798484.224 662056.696 0, 1798776.582 662103.702 0, 1799068.937 662150.725 0, 1799361.29 662197.765 0, 1799652.352 662244.615 0, 1799945.987 662291.897 0, 1800238.331 662338.989 0, 1800530.673 662386.098 0, 1800823.011 662433.224 0, 1801115.347 662480.367 0,
+ 1801407.681 662527.528 0, 1801700.011 662574.706 0, 1801992.339 662621.901 0, 1802284.664 662669.113 0, 1802576.986 662716.343 0, 1802869.305 662763.589 0, 1803161.622 662810.853 0, 1803453.935 662858.134 0, 1803746.246 662905.433 0, 1804038.555 662952.748 0,
+ 1804330.86 663000.081 0, 1804623.163 663047.431 0, 1804915.462 663094.798 0, 1805207.759 663142.182 0, 1805500.054 663189.584 0, 1805792.345 663237.003 0, 1806084.634 663284.439 0, 1806376.92 663331.892 0, 1806667.917 663379.153 0, 1807560.078 657886.973 0,
+ 1808452.183 652395.14 0))
+
+POLYGON ((1628537.648 480859.259 0, 1628235.989 480822.44 0, 1627932.961 480785.473 0, 1627629.931 480748.523 0, 1627326.899 480711.591 0, 1627023.865 480674.676 0, 1626720.829 480637.78 0, 1626417.79 480600.901 0, 1626114.749 480564.04 0, 1625811.706 480527.197 0,
+ 1625508.661 480490.372 0, 1625205.614 480453.565 0, 1624902.565 480416.776 0, 1624599.513 480380.004 0, 1624296.459 480343.25 0, 1623993.403 480306.514 0, 1623690.345 480269.796 0, 1623387.285 480233.096 0, 1623084.223 480196.414 0, 1622781.158 480159.749 0,
+ 1622478.091 480123.102 0, 1622175.023 480086.473 0, 1621871.952 480049.862 0, 1621568.878 480013.269 0, 1621264.436 479976.529 0, 1620962.726 479940.136 0, 1620659.646 479903.596 0, 1620356.564 479867.074 0, 1620053.48 479830.57 0, 1619750.394 479794.084 0,
+ 1619447.306 479757.616 0, 1619144.215 479721.165 0, 1618841.123 479684.733 0, 1618538.028 479648.318 0, 1618234.931 479611.921 0, 1617931.833 479575.542 0, 1617628.731 479539.18 0, 1617325.628 479502.837 0, 1617022.523 479466.511 0, 1616719.415 479430.203 0,
+ 1616416.306 479393.913 0, 1616113.194 479357.641 0, 1615810.08 479321.387 0, 1615506.964 479285.151 0, 1615203.846 479248.932 0, 1614900.725 479212.731 0, 1614597.603 479176.548 0, 1614294.478 479140.383 0, 1613989.983 479104.073 0, 1613332.554 484618.588 0,
+ 1612675.075 490133.533 0, 1612978.918 490169.766 0, 1613281.394 490205.853 0, 1613583.867 490241.959 0, 1613886.338 490278.082 0, 1614188.807 490314.223 0, 1614491.274 490350.382 0, 1614793.739 490386.559 0, 1615096.201 490422.753 0, 1615398.662 490458.965 0,
+ 1615701.12 490495.195 0, 1616003.576 490531.443 0, 1616306.031 490567.709 0, 1616608.483 490603.992 0, 1616910.932 490640.294 0, 1617213.38 490676.613 0, 1617515.826 490712.949 0, 1617818.269 490749.304 0, 1618120.71 490785.677 0, 1618423.15 490822.067 0,
+ 1618725.587 490858.475 0, 1619028.021 490894.901 0, 1619330.454 490931.344 0, 1619632.885 490967.806 0, 1619933.949 491004.12 0, 1620237.739 491040.782 0, 1620540.164 491077.297 0, 1620842.585 491113.83 0, 1621145.005 491150.38 0, 1621447.423 491186.948 0,
+ 1621749.838 491223.534 0, 1622052.252 491260.138 0, 1622354.663 491296.76 0, 1622657.072 491333.399 0, 1622959.479 491370.057 0, 1623261.884 491406.732 0, 1623564.286 491443.425 0, 1623866.687 491480.135 0, 1624169.085 491516.864 0, 1624471.481 491553.61 0,
+ 1624773.875 491590.374 0, 1625076.267 491627.156 0, 1625378.656 491663.956 0, 1625681.044 491700.773 0, 1625983.429 491737.608 0, 1626285.812 491774.461 0, 1626588.193 491811.332 0, 1626890.572 491848.221 0, 1627191.585 491884.961 0, 1627864.643 486371.895 0,
+ 1628537.648 480859.259 0))
+
+POLYGON ((1641703.09 493677.393 0, 1641402.179 493639.803 0, 1641099.906 493602.06 0, 1640797.63 493564.335 0, 1640495.353 493526.628 0, 1640193.073 493488.938 0, 1639890.79 493451.267 0, 1639588.506 493413.613 0, 1639286.219 493375.977 0, 1638983.93 493338.359 0,
+ 1638681.639 493300.758 0, 1638379.346 493263.176 0, 1638077.051 493225.611 0, 1637774.753 493188.064 0, 1637472.453 493150.534 0, 1637170.151 493113.023 0, 1636867.846 493075.529 0, 1636565.54 493038.053 0, 1636263.231 493000.595 0, 1635960.92 492963.155 0,
+ 1635658.607 492925.732 0, 1635356.292 492888.328 0, 1635053.974 492850.941 0, 1634751.654 492813.572 0, 1634447.971 492776.052 0, 1634147.008 492738.887 0, 1633844.682 492701.571 0, 1633542.353 492664.273 0, 1633240.023 492626.993 0, 1632937.69 492589.731 0,
+ 1632635.355 492552.486 0, 1632333.017 492515.259 0, 1632030.678 492478.05 0, 1631728.336 492440.859 0, 1631425.992 492403.686 0, 1631123.646 492366.53 0, 1630821.298 492329.393 0, 1630518.947 492292.273 0, 1630216.595 492255.17 0, 1629914.24 492218.086 0,
+ 1629611.883 492181.019 0, 1629309.524 492143.971 0, 1629007.162 492106.94 0, 1628704.799 492069.926 0, 1628402.433 492032.931 0, 1628100.065 491995.953 0, 1627797.695 491958.993 0, 1627495.323 491922.051 0, 1627191.585 491884.961 0, 1626518.476 497398.453 0,
+ 1625845.314 502912.368 0, 1626148.4 502949.379 0, 1626450.123 502986.242 0, 1626751.844 503023.122 0, 1627053.563 503060.02 0, 1627355.279 503096.936 0, 1627656.994 503133.87 0, 1627958.706 503170.822 0, 1628260.416 503207.791 0, 1628562.124 503244.778 0,
+ 1628863.83 503281.783 0, 1629165.534 503318.805 0, 1629467.235 503355.846 0, 1629768.934 503392.904 0, 1630070.632 503429.98 0, 1630372.326 503467.073 0, 1630674.019 503504.185 0, 1630975.71 503541.314 0, 1631277.398 503578.461 0, 1631579.084 503615.625 0,
+ 1631880.768 503652.807 0, 1632182.45 503690.008 0, 1632484.13 503727.226 0, 1632785.807 503764.461 0, 1633086.123 503801.547 0, 1633389.155 503838.986 0, 1633690.826 503876.275 0, 1633992.495 503913.581 0, 1634294.161 503950.906 0, 1634595.825 503988.248 0,
+ 1634897.487 504025.608 0, 1635199.147 504062.985 0, 1635500.805 504100.381 0, 1635802.46 504137.794 0, 1636104.114 504175.225 0, 1636405.765 504212.674 0, 1636707.413 504250.14 0, 1637009.06 504287.624 0, 1637310.704 504325.126 0, 1637612.347 504362.646 0,
+ 1637913.987 504400.184 0, 1638215.624 504437.739 0, 1638517.26 504475.312 0, 1638818.893 504512.902 0, 1639120.525 504550.511 0, 1639422.153 504588.137 0, 1639723.78 504625.781 0, 1640025.405 504663.443 0, 1640325.67 504700.953 0, 1641014.406 499188.961 0,
+ 1641703.09 493677.393 0))
+
+POLYGON ((1654800.914 506530.44 0, 1654500.754 506492.082 0, 1654199.237 506453.568 0, 1653897.718 506415.072 0, 1653596.197 506376.594 0, 1653294.673 506338.133 0, 1652993.147 506299.691 0, 1652691.619 506261.266 0, 1652390.088 506222.858 0, 1652088.556 506184.469 0,
+ 1651787.021 506146.097 0, 1651485.483 506107.743 0, 1651183.944 506069.407 0, 1650882.402 506031.088 0, 1650580.858 505992.788 0, 1650279.312 505954.505 0, 1649977.763 505916.239 0, 1649676.212 505877.992 0, 1649374.659 505839.762 0, 1649073.104 505801.55 0,
+ 1648771.547 505763.356 0, 1648469.987 505725.179 0, 1648168.425 505687.02 0, 1647866.861 505648.879 0, 1647563.938 505610.585 0, 1647263.725 505572.65 0, 1646962.154 505534.563 0, 1646660.581 505496.493 0, 1646359.006 505458.44 0, 1646057.428 505420.406 0,
+ 1645755.848 505382.389 0, 1645454.266 505344.39 0, 1645152.681 505306.409 0, 1644851.095 505268.445 0, 1644549.506 505230.499 0, 1644247.914 505192.571 0, 1643946.321 505154.661 0, 1643644.726 505116.769 0, 1643343.128 505078.894 0, 1643041.528 505041.037 0,
+ 1642739.925 505003.198 0, 1642438.321 504965.376 0, 1642136.714 504927.572 0, 1641835.105 504889.786 0, 1641533.494 504852.018 0, 1641231.881 504814.267 0, 1640930.265 504776.535 0, 1640628.647 504738.82 0, 1640325.67 504700.953 0, 1639636.88 510213.365 0,
+ 1638948.039 515726.194 0, 1639250.365 515763.979 0, 1639551.334 515801.613 0, 1639852.3 515839.265 0, 1640153.265 515876.934 0, 1640454.227 515914.621 0, 1640755.187 515952.326 0, 1641056.145 515990.048 0, 1641357.101 516027.788 0, 1641658.054 516065.546 0,
+ 1641959.005 516103.322 0, 1642259.954 516141.115 0, 1642560.901 516178.926 0, 1642861.845 516216.755 0, 1643162.788 516254.601 0, 1643463.728 516292.465 0, 1643764.666 516330.347 0, 1644065.601 516368.247 0, 1644366.535 516406.164 0, 1644667.466 516444.099 0,
+ 1644968.395 516482.052 0, 1645269.321 516520.022 0, 1645570.246 516558.01 0, 1645871.168 516596.016 0, 1646170.735 516633.869 0, 1646473.005 516672.081 0, 1646773.921 516710.14 0, 1647074.834 516748.217 0, 1647375.745 516786.311 0, 1647676.654 516824.423 0,
+ 1647977.56 516862.553 0, 1648278.465 516900.7 0, 1648579.367 516938.866 0, 1648880.266 516977.049 0, 1649181.164 517015.249 0, 1649482.059 517053.468 0, 1649782.952 517091.704 0, 1650083.843 517129.958 0, 1650384.732 517168.229 0, 1650685.618 517206.518 0,
+ 1650986.502 517244.825 0, 1651287.384 517283.15 0, 1651588.263 517321.492 0, 1651889.14 517359.852 0, 1652190.015 517398.23 0, 1652490.888 517436.625 0, 1652791.758 517475.039 0, 1653092.627 517513.469 0, 1653392.141 517551.745 0, 1654096.554 512040.884 0,
+ 1654800.914 506530.44 0))
+
+POLYGON ((1667831.028 519418.096 0, 1667531.62 519378.974 0, 1667230.862 519339.694 0, 1666930.101 519300.431 0, 1666629.338 519261.185 0, 1666328.573 519221.958 0, 1666027.805 519182.748 0, 1665727.035 519143.555 0, 1665426.263 519104.381 0, 1665125.488 519065.224 0,
+ 1664824.711 519026.085 0, 1664523.932 518986.964 0, 1664223.151 518947.86 0, 1663922.367 518908.774 0, 1663621.581 518869.706 0, 1663320.793 518830.655 0, 1663020.002 518791.622 0, 1662719.209 518752.607 0, 1662418.414 518713.609 0, 1662117.616 518674.63 0,
+ 1661816.816 518635.668 0, 1661516.014 518596.723 0, 1661215.209 518557.797 0, 1660914.403 518518.888 0, 1660612.243 518479.822 0, 1660312.782 518441.123 0, 1660011.969 518402.267 0, 1659711.153 518363.429 0, 1659410.335 518324.608 0, 1659109.514 518285.806 0,
+ 1658808.691 518247.021 0, 1658507.866 518208.253 0, 1658207.039 518169.504 0, 1657906.209 518130.772 0, 1657605.378 518092.058 0, 1657304.543 518053.361 0, 1657003.707 518014.682 0, 1656702.868 517976.021 0, 1656402.027 517937.378 0, 1656101.184 517898.752 0,
+ 1655800.339 517860.144 0, 1655499.491 517821.554 0, 1655198.641 517782.981 0, 1654897.788 517744.427 0, 1654596.934 517705.889 0, 1654296.077 517667.37 0, 1653995.218 517628.868 0, 1653694.356 517590.384 0, 1653392.141 517551.745 0, 1652687.675 523063.021 0,
+ 1651983.156 528574.707 0, 1652284.719 528613.263 0, 1652584.932 528651.664 0, 1652885.142 528690.083 0, 1653185.351 528728.519 0, 1653485.556 528766.973 0, 1653785.76 528805.445 0, 1654085.961 528843.934 0, 1654386.16 528882.441 0, 1654686.357 528920.966 0,
+ 1654986.552 528959.508 0, 1655286.744 528998.068 0, 1655586.934 529036.646 0, 1655887.122 529075.241 0, 1656187.307 529113.854 0, 1656487.49 529152.485 0, 1656787.671 529191.133 0, 1657087.85 529229.799 0, 1657388.026 529268.483 0, 1657688.2 529307.185 0,
+ 1657988.372 529345.904 0, 1658288.541 529384.64 0, 1658588.709 529423.395 0, 1658888.873 529462.167 0, 1659187.689 529500.782 0, 1659489.196 529539.764 0, 1659789.355 529578.589 0, 1660089.51 529617.432 0, 1660389.664 529656.292 0, 1660689.815 529695.17 0,
+ 1660989.964 529734.066 0, 1661290.111 529772.979 0, 1661590.255 529811.91 0, 1661890.397 529850.859 0, 1662190.537 529889.825 0, 1662490.674 529928.809 0, 1662790.81 529967.811 0, 1663090.942 530006.831 0, 1663391.073 530045.868 0, 1663691.201 530084.922 0,
+ 1663991.327 530123.995 0, 1664291.451 530163.085 0, 1664591.572 530202.192 0, 1664891.691 530241.318 0, 1665191.808 530280.461 0, 1665491.923 530319.622 0, 1665792.035 530358.8 0, 1666092.145 530397.996 0, 1666390.906 530437.034 0, 1667110.994 524927.36 0,
+ 1667831.028 519418.096 0))
+
+POLYGON ((1680793.338 532340.057 0, 1680494.685 532300.175 0, 1680194.688 532260.132 0, 1679894.687 532220.106 0, 1679594.685 532180.097 0, 1679294.68 532140.106 0, 1678994.672 532100.133 0, 1678694.663 532060.178 0, 1678394.651 532020.24 0, 1678094.636 531980.32 0,
+ 1677794.619 531940.417 0, 1677494.6 531900.533 0, 1677194.579 531860.665 0, 1676894.555 531820.816 0, 1676594.529 531780.984 0, 1676294.5 531741.17 0, 1675994.47 531701.373 0, 1675694.436 531661.595 0, 1675394.401 531621.833 0, 1675094.363 531582.09 0,
+ 1674794.323 531542.364 0, 1674494.28 531502.656 0, 1674194.235 531462.965 0, 1673894.188 531423.292 0, 1673592.794 531383.459 0, 1673294.087 531343.999 0, 1672994.033 531304.379 0, 1672693.976 531264.777 0, 1672393.917 531225.193 0, 1672093.856 531185.626 0,
+ 1671793.793 531146.076 0, 1671493.727 531106.545 0, 1671193.659 531067.031 0, 1670893.588 531027.535 0, 1670593.515 530988.056 0, 1670293.44 530948.595 0, 1669993.363 530909.152 0, 1669693.283 530869.726 0, 1669393.201 530830.318 0, 1669093.116 530790.928 0,
+ 1668793.03 530751.555 0, 1668492.94 530712.2 0, 1668192.849 530672.863 0, 1667892.755 530633.543 0, 1667592.659 530594.241 0, 1667292.561 530554.957 0, 1666992.46 530515.69 0, 1666692.358 530476.441 0, 1666390.906 530437.034 0, 1665670.765 535947.116 0,
+ 1664950.572 541457.603 0, 1665251.371 541496.925 0, 1665550.826 541536.089 0, 1665850.278 541575.271 0, 1666149.727 541614.471 0, 1666449.175 541653.688 0, 1666748.62 541692.922 0, 1667048.063 541732.175 0, 1667347.503 541771.445 0, 1667646.941 541810.732 0,
+ 1667946.377 541850.037 0, 1668245.81 541889.36 0, 1668545.242 541928.701 0, 1668844.671 541968.059 0, 1669144.097 542007.434 0, 1669443.521 542046.828 0, 1669742.943 542086.238 0, 1670042.363 542125.667 0, 1670341.78 542165.113 0, 1670641.195 542204.577 0,
+ 1670940.608 542244.058 0, 1671240.018 542283.557 0, 1671539.426 542323.074 0, 1671838.832 542362.608 0, 1672136.893 542401.983 0, 1672437.636 542441.73 0, 1672737.035 542481.317 0, 1673036.431 542520.922 0, 1673335.825 542560.544 0, 1673635.217 542600.184 0,
+ 1673934.606 542639.842 0, 1674233.993 542679.517 0, 1674533.378 542719.21 0, 1674832.76 542758.92 0, 1675132.14 542798.649 0, 1675431.518 542838.394 0, 1675730.893 542878.158 0, 1676030.266 542917.939 0, 1676329.637 542957.737 0, 1676629.005 542997.554 0,
+ 1676928.371 543037.387 0, 1677227.735 543077.239 0, 1677527.096 543117.108 0, 1677826.455 543156.995 0, 1678125.811 543196.899 0, 1678425.166 543236.821 0, 1678724.517 543276.761 0, 1679023.867 543316.718 0, 1679321.874 543356.513 0, 1680057.633 537848.083 0,
+ 1680793.338 532340.057 0))
+
+POLYGON ((1693687.754 545296.018 0, 1693389.858 545255.38 0, 1693090.623 545214.577 0, 1692791.385 545173.792 0, 1692492.145 545133.025 0, 1692192.902 545092.275 0, 1691893.657 545051.542 0, 1691594.41 545010.828 0, 1691295.16 544970.131 0, 1690995.908 544929.451 0,
+ 1690696.653 544888.789 0, 1690397.396 544848.145 0, 1690098.137 544807.519 0, 1689798.875 544766.91 0, 1689499.611 544726.318 0, 1689200.344 544685.744 0, 1688901.075 544645.188 0, 1688601.804 544604.65 0, 1688302.53 544564.129 0, 1688003.254 544523.626 0,
+ 1687703.976 544483.14 0, 1687404.695 544442.672 0, 1687105.411 544402.221 0, 1686806.126 544361.788 0, 1686505.499 544321.192 0, 1686207.547 544280.976 0, 1685908.255 544240.596 0, 1685608.959 544200.233 0, 1685309.662 544159.888 0, 1685010.362 544119.561 0,
+ 1684711.06 544079.252 0, 1684411.755 544038.96 0, 1684112.448 543998.685 0, 1683813.139 543958.429 0, 1683513.827 543918.19 0, 1683214.513 543877.968 0, 1682915.196 543837.764 0, 1682615.877 543797.578 0, 1682316.556 543757.41 0, 1682017.233 543717.259 0,
+ 1681717.907 543677.125 0, 1681418.578 543637.009 0, 1681119.248 543596.911 0, 1680819.915 543556.831 0, 1680520.579 543516.768 0, 1680221.242 543476.723 0, 1679921.901 543436.695 0, 1679622.559 543396.685 0, 1679321.874 543356.513 0, 1678586.061 548865.346 0,
+ 1677850.195 554374.577 0, 1678150.229 554414.661 0, 1678448.923 554454.585 0, 1678747.614 554494.526 0, 1679046.304 554534.484 0, 1679344.991 554574.46 0, 1679643.675 554614.454 0, 1679942.357 554654.465 0, 1680241.037 554694.494 0, 1680539.715 554734.54 0,
+ 1680838.39 554774.604 0, 1681137.063 554814.686 0, 1681435.733 554854.785 0, 1681734.401 554894.902 0, 1682033.067 554935.036 0, 1682331.73 554975.188 0, 1682630.391 555015.358 0, 1682929.05 555055.545 0, 1683227.706 555095.749 0, 1683526.36 555135.972 0,
+ 1683825.011 555176.211 0, 1684123.66 555216.469 0, 1684422.307 555256.744 0, 1684720.952 555297.036 0, 1685018.258 555337.166 0, 1685318.233 555377.674 0, 1685616.87 555418.019 0, 1685915.505 555458.382 0, 1686214.138 555498.762 0, 1686512.768 555539.16 0,
+ 1686811.396 555579.576 0, 1687110.021 555620.009 0, 1687408.644 555660.46 0, 1687707.265 555700.928 0, 1688005.883 555741.414 0, 1688304.499 555781.918 0, 1688603.112 555822.439 0, 1688901.723 555862.977 0, 1689200.332 555903.533 0, 1689498.938 555944.107 0,
+ 1689797.542 555984.698 0, 1690096.144 556025.307 0, 1690394.743 556065.934 0, 1690693.34 556106.578 0, 1690991.934 556147.239 0, 1691290.526 556187.919 0, 1691589.116 556228.615 0, 1691887.703 556269.33 0, 1692184.953 556309.88 0, 1692936.381 550802.749 0,
+ 1693687.754 545296.018 0))
+
+POLYGON ((1706514.186 558285.673 0, 1706217.049 558244.283 0, 1705918.579 558202.725 0, 1705620.105 558161.185 0, 1705321.629 558119.663 0, 1705023.151 558078.158 0, 1704724.67 558036.67 0, 1704426.187 557995.2 0, 1704127.701 557953.748 0, 1703829.213 557912.313 0,
+ 1703530.723 557870.896 0, 1703232.23 557829.496 0, 1702933.735 557788.114 0, 1702635.237 557746.75 0, 1702336.737 557705.403 0, 1702038.234 557664.073 0, 1701739.729 557622.762 0, 1701441.221 557581.467 0, 1701142.711 557540.191 0, 1700844.199 557498.932 0,
+ 1700545.684 557457.69 0, 1700247.167 557416.466 0, 1699948.647 557375.26 0, 1699650.125 557334.071 0, 1699350.267 557292.716 0, 1699053.074 557251.746 0, 1698754.544 557210.61 0, 1698456.012 557169.491 0, 1698157.478 557128.391 0, 1697858.942 557087.307 0,
+ 1697560.403 557046.241 0, 1697261.861 557005.193 0, 1696963.317 556964.162 0, 1696664.771 556923.149 0, 1696366.222 556882.154 0, 1696067.671 556841.176 0, 1695769.118 556800.215 0, 1695470.562 556759.273 0, 1695172.003 556718.347 0, 1694873.443 556677.44 0,
+ 1694574.879 556636.55 0, 1694276.314 556595.677 0, 1693977.746 556554.822 0, 1693679.176 556513.985 0, 1693380.603 556473.165 0, 1693082.028 556432.363 0, 1692783.45 556391.578 0, 1692484.87 556350.811 0, 1692184.953 556309.88 0, 1691433.471 561817.405 0,
+ 1690681.936 567325.324 0, 1690981.202 567366.166 0, 1691279.134 567406.845 0, 1691577.063 567447.541 0, 1691874.99 567488.255 0, 1692172.914 567528.986 0, 1692470.836 567569.734 0, 1692768.756 567610.501 0, 1693066.673 567651.284 0, 1693364.588 567692.086 0,
+ 1693662.501 567732.904 0, 1693960.411 567773.741 0, 1694258.318 567814.595 0, 1694556.223 567855.466 0, 1694854.126 567896.355 0, 1695152.027 567937.262 0, 1695449.925 567978.186 0, 1695747.82 568019.127 0, 1696045.714 568060.086 0, 1696343.604 568101.063 0,
+ 1696641.493 568142.057 0, 1696939.379 568183.069 0, 1697237.262 568224.098 0, 1697535.143 568265.145 0, 1697831.692 568306.026 0, 1698130.898 568347.291 0, 1698428.772 568388.39 0, 1698726.644 568429.507 0, 1699024.513 568470.642 0, 1699322.379 568511.794 0,
+ 1699620.244 568552.963 0, 1699918.105 568594.15 0, 1700215.965 568635.355 0, 1700513.822 568676.577 0, 1700811.676 568717.816 0, 1701109.528 568759.074 0, 1701407.378 568800.348 0, 1701705.225 568841.64 0, 1702003.07 568882.95 0, 1702300.912 568924.277 0,
+ 1702598.752 568965.622 0, 1702896.59 569006.985 0, 1703194.425 569048.364 0, 1703492.257 569089.762 0, 1703790.087 569131.177 0, 1704087.915 569172.609 0, 1704385.74 569214.059 0, 1704683.563 569255.527 0, 1704980.055 569296.827 0, 1705747.148 563791.054 0,
+ 1706514.186 558285.673 0))
+
+POLYGON ((1719272.546 571308.717 0, 1718976.171 571266.579 0, 1718678.466 571224.27 0, 1718380.759 571181.979 0, 1718083.05 571139.705 0, 1717785.338 571097.449 0, 1717487.623 571055.21 0, 1717189.906 571012.989 0, 1716892.187 570970.786 0, 1716594.465 570928.599 0,
+ 1716296.74 570886.431 0, 1715999.013 570844.28 0, 1715701.284 570802.146 0, 1715403.552 570760.03 0, 1715105.818 570717.932 0, 1714808.081 570675.851 0, 1714510.342 570633.788 0, 1714212.6 570591.742 0, 1713914.856 570549.713 0, 1713617.109 570507.702 0,
+ 1713319.36 570465.709 0, 1713021.608 570423.733 0, 1712723.854 570381.775 0, 1712426.098 570339.834 0, 1712127.011 570297.724 0, 1711830.577 570256.005 0, 1711532.813 570214.117 0, 1711235.047 570172.247 0, 1710937.278 570130.393 0, 1710639.506 570088.558 0,
+ 1710341.733 570046.74 0, 1710043.956 570004.939 0, 1709746.178 569963.156 0, 1709448.396 569921.391 0, 1709150.613 569879.643 0, 1708852.827 569837.912 0, 1708555.038 569796.199 0, 1708257.247 569754.504 0, 1707959.453 569712.826 0, 1707661.657 569671.166 0,
+ 1707363.859 569629.523 0, 1707066.058 569587.898 0, 1706768.255 569546.29 0, 1706470.449 569504.7 0, 1706172.641 569463.127 0, 1705874.83 569421.572 0, 1705577.017 569380.034 0, 1705279.202 569338.514 0, 1704980.055 569296.827 0, 1704212.908 574802.989 0,
+ 1703445.707 580309.538 0, 1703744.202 580351.135 0, 1704041.37 580392.564 0, 1704338.535 580434.011 0, 1704635.697 580475.476 0, 1704932.857 580516.958 0, 1705230.015 580558.458 0, 1705527.17 580599.975 0, 1705824.322 580641.51 0, 1706121.473 580683.062 0,
+ 1706418.621 580724.632 0, 1706715.766 580766.219 0, 1707012.909 580807.824 0, 1707310.049 580849.446 0, 1707607.187 580891.085 0, 1707904.323 580932.742 0, 1708201.456 580974.417 0, 1708498.587 581016.109 0, 1708795.715 581057.819 0, 1709092.841 581099.546 0,
+ 1709389.964 581141.29 0, 1709687.085 581183.052 0, 1709984.203 581224.832 0, 1710281.319 581266.629 0, 1710577.108 581308.257 0, 1710875.543 581350.275 0, 1711172.652 581392.125 0, 1711469.758 581433.992 0, 1711766.862 581475.876 0, 1712063.963 581517.778 0,
+ 1712361.061 581559.697 0, 1712658.158 581601.634 0, 1712955.251 581643.589 0, 1713252.343 581685.561 0, 1713549.431 581727.55 0, 1713846.518 581769.557 0, 1714143.602 581811.581 0, 1714440.683 581853.623 0, 1714737.762 581895.682 0, 1715034.838 581937.759 0,
+ 1715331.912 581979.853 0, 1715628.984 582021.965 0, 1715926.053 582064.094 0, 1716223.119 582106.241 0, 1716520.183 582148.405 0, 1716817.245 582190.587 0, 1717114.304 582232.786 0, 1717411.36 582275.003 0, 1717707.091 582317.049 0, 1718489.846 576812.69 0,
+ 1719272.546 571308.717 0))
+
+POLYGON ((1731962.748 584364.843 0, 1731667.134 584321.961 0, 1731370.198 584278.905 0, 1731073.26 584235.867 0, 1730776.318 584192.846 0, 1730479.375 584149.843 0, 1730182.429 584106.857 0, 1729885.48 584063.889 0, 1729588.528 584020.938 0, 1729291.575 583978.005 0,
+ 1728994.618 583935.089 0, 1728697.659 583892.19 0, 1728400.698 583849.309 0, 1728103.734 583806.446 0, 1727806.768 583763.6 0, 1727509.799 583720.771 0, 1727212.827 583677.96 0, 1726915.853 583635.167 0, 1726618.877 583592.391 0, 1726321.897 583549.632 0,
+ 1726024.916 583506.891 0, 1725727.932 583464.167 0, 1725430.945 583421.461 0, 1725133.956 583378.772 0, 1724835.643 583335.911 0, 1724539.97 583293.448 0, 1724242.974 583250.811 0, 1723945.975 583208.193 0, 1723648.973 583165.591 0, 1723351.969 583123.007 0,
+ 1723054.962 583080.441 0, 1722757.953 583037.892 0, 1722460.941 582995.361 0, 1722163.927 582952.847 0, 1721866.91 582910.351 0, 1721569.891 582867.872 0, 1721272.869 582825.41 0, 1720975.845 582782.966 0, 1720678.819 582740.54 0, 1720381.789 582698.131 0,
+ 1720084.758 582655.739 0, 1719787.723 582613.365 0, 1719490.687 582571.009 0, 1719193.648 582528.67 0, 1718896.606 582486.348 0, 1718599.562 582444.044 0, 1718302.515 582401.758 0, 1718005.466 582359.489 0, 1717707.091 582317.049 0, 1716924.282 587821.791 0,
+ 1716141.418 593326.913 0, 1716439.142 593369.26 0, 1716735.543 593411.437 0, 1717031.942 593453.631 0, 1717328.338 593495.843 0, 1717624.732 593538.072 0, 1717921.123 593580.319 0, 1718217.512 593622.583 0, 1718513.898 593664.865 0, 1718810.282 593707.164 0,
+ 1719106.663 593749.48 0, 1719403.041 593791.814 0, 1719699.418 593834.166 0, 1719995.791 593876.534 0, 1720292.163 593918.921 0, 1720588.531 593961.324 0, 1720884.898 594003.745 0, 1721181.261 594046.184 0, 1721477.623 594088.64 0, 1721773.981 594131.113 0,
+ 1722070.338 594173.604 0, 1722366.691 594216.113 0, 1722663.043 594258.638 0, 1722959.391 594301.182 0, 1723254.419 594343.553 0, 1723552.081 594386.32 0, 1723848.423 594428.916 0, 1724144.761 594471.529 0, 1724441.098 594514.159 0, 1724737.431 594556.807 0,
+ 1725033.763 594599.473 0, 1725330.091 594642.155 0, 1725626.417 594684.856 0, 1725922.741 594727.573 0, 1726219.062 594770.308 0, 1726515.381 594813.061 0, 1726811.697 594855.831 0, 1727108.011 594898.618 0, 1727404.322 594941.423 0, 1727700.63 594984.245 0,
+ 1727996.936 595027.085 0, 1728293.24 595069.942 0, 1728589.541 595112.817 0, 1728885.839 595155.709 0, 1729182.135 595198.619 0, 1729478.428 595241.545 0, 1729774.719 595284.49 0, 1730071.008 595327.452 0, 1730365.976 595370.24 0, 1731164.389 589867.351 0,
+ 1731962.748 584364.843 0))
+
+POLYGON ((1744584.704 597453.745 0, 1744289.856 597410.124 0, 1743993.69 597366.325 0, 1743697.522 597322.544 0, 1743401.351 597278.78 0, 1743105.177 597235.034 0, 1742809.001 597191.305 0, 1742512.822 597147.593 0, 1742216.641 597103.899 0, 1741920.457 597060.222 0,
+ 1741624.271 597016.563 0, 1741328.082 596972.921 0, 1741031.89 596929.297 0, 1740735.696 596885.69 0, 1740439.5 596842.1 0, 1740143.3 596798.528 0, 1739847.099 596754.974 0, 1739550.894 596711.436 0, 1739254.687 596667.917 0, 1738958.478 596624.414 0,
+ 1738662.266 596580.929 0, 1738366.051 596537.462 0, 1738069.834 596494.012 0, 1737773.614 596450.579 0, 1737476.076 596406.971 0, 1737181.167 596363.766 0, 1736884.94 596320.386 0, 1736588.71 596277.023 0, 1736292.477 596233.678 0, 1735996.242 596190.35 0,
+ 1735700.005 596147.039 0, 1735403.765 596103.746 0, 1735107.522 596060.47 0, 1734811.277 596017.212 0, 1734515.029 595973.971 0, 1734218.779 595930.748 0, 1733922.526 595887.542 0, 1733626.27 595844.354 0, 1733330.013 595801.182 0, 1733033.752 595758.029 0,
+ 1732737.489 595714.893 0, 1732441.223 595671.774 0, 1732144.955 595628.673 0, 1731848.685 595585.589 0, 1731552.412 595542.522 0, 1731256.136 595499.473 0, 1730959.858 595456.442 0, 1730663.577 595413.428 0, 1730365.976 595370.24 0, 1729567.508 600873.505 0,
+ 1728768.986 606377.143 0, 1729065.936 606420.237 0, 1729361.569 606463.157 0, 1729657.199 606506.094 0, 1729952.827 606549.049 0, 1730248.453 606592.021 0, 1730544.075 606635.011 0, 1730839.696 606678.018 0, 1731135.313 606721.042 0, 1731430.929 606764.084 0,
+ 1731726.541 606807.144 0, 1732022.151 606850.22 0, 1732317.759 606893.314 0, 1732613.364 606936.426 0, 1732908.967 606979.555 0, 1733204.567 607022.701 0, 1733500.164 607065.865 0, 1733795.759 607109.046 0, 1734091.351 607152.244 0, 1734386.941 607195.46 0,
+ 1734682.529 607238.693 0, 1734978.113 607281.944 0, 1735273.696 607325.212 0, 1735569.275 607368.497 0, 1735863.539 607411.608 0, 1736160.427 607455.121 0, 1736455.999 607498.458 0, 1736751.568 607541.813 0, 1737047.135 607585.186 0, 1737342.7 607628.575 0,
+ 1737638.261 607671.983 0, 1737933.821 607715.407 0, 1738229.377 607758.849 0, 1738524.931 607802.309 0, 1738820.483 607845.786 0, 1739116.032 607889.28 0, 1739411.578 607932.791 0, 1739707.122 607976.32 0, 1740002.664 608019.867 0, 1740298.202 608063.43 0,
+ 1740593.739 608107.012 0, 1740889.272 608150.61 0, 1741184.803 608194.226 0, 1741480.332 608237.86 0, 1741775.858 608281.51 0, 1742071.381 608325.178 0, 1742366.902 608368.864 0, 1742662.42 608412.567 0, 1742956.624 608456.093 0, 1743770.692 602954.733 0,
+ 1744584.704 597453.745 0))
+
+POLYGON ((1757138.332 610575.118 0, 1756844.25 610530.76 0, 1756548.856 610486.222 0, 1756253.46 610441.702 0, 1755958.061 610397.199 0, 1755662.66 610352.714 0, 1755367.256 610308.246 0, 1755071.849 610263.795 0, 1754776.44 610219.361 0, 1754481.028 610174.946 0,
+ 1754185.614 610130.547 0, 1753890.197 610086.166 0, 1753594.777 610041.802 0, 1753299.354 609997.456 0, 1753003.929 609953.127 0, 1752708.502 609908.815 0, 1752413.072 609864.521 0, 1752117.639 609820.244 0, 1751822.204 609775.984 0, 1751526.766 609731.742 0,
+ 1751231.325 609687.518 0, 1750935.882 609643.31 0, 1750640.436 609599.121 0, 1750344.988 609554.948 0, 1750048.226 609510.597 0, 1749754.083 609466.655 0, 1749458.627 609422.535 0, 1749163.168 609378.432 0, 1748867.707 609334.346 0, 1748572.243 609290.278 0,
+ 1748276.776 609246.227 0, 1747981.307 609202.194 0, 1747685.835 609158.178 0, 1747390.361 609114.179 0, 1747094.884 609070.198 0, 1746799.405 609026.234 0, 1746503.922 608982.288 0, 1746208.438 608938.359 0, 1745912.95 608894.447 0, 1745617.461 608850.553 0,
+ 1745321.968 608806.676 0, 1745026.473 608762.817 0, 1744730.976 608718.975 0, 1744435.475 608675.15 0, 1744139.973 608631.343 0, 1743844.467 608587.553 0, 1743548.959 608543.78 0, 1743253.449 608500.025 0, 1742956.624 608456.093 0, 1742142.501 613957.824 0,
+ 1741328.324 619459.922 0, 1741624.499 619503.757 0, 1741919.362 619547.417 0, 1742214.222 619591.093 0, 1742509.08 619634.787 0, 1742803.935 619678.499 0, 1743098.787 619722.227 0, 1743393.637 619765.973 0, 1743688.485 619809.736 0, 1743983.33 619853.517 0,
+ 1744278.172 619897.315 0, 1744573.011 619941.131 0, 1744867.849 619984.963 0, 1745162.683 620028.814 0, 1745457.515 620072.681 0, 1745752.344 620116.566 0, 1746047.171 620160.468 0, 1746341.995 620204.388 0, 1746636.817 620248.324 0, 1746931.636 620292.279 0,
+ 1747226.452 620336.25 0, 1747521.266 620380.239 0, 1747816.077 620424.245 0, 1748110.886 620468.269 0, 1748404.385 620512.115 0, 1748700.496 620556.368 0, 1748995.296 620600.444 0, 1749290.095 620644.537 0, 1749584.89 620688.648 0, 1749879.683 620732.775 0,
+ 1750174.474 620776.92 0, 1750469.262 620821.083 0, 1750764.047 620865.263 0, 1751058.83 620909.46 0, 1751353.61 620953.674 0, 1751648.387 620997.906 0, 1751943.162 621042.155 0, 1752237.935 621086.422 0, 1752532.704 621130.706 0, 1752827.471 621175.007 0,
+ 1753122.236 621219.326 0, 1753416.998 621263.662 0, 1753711.757 621308.015 0, 1754006.513 621352.386 0, 1754301.267 621396.774 0, 1754596.019 621441.179 0, 1754890.768 621485.602 0, 1755185.514 621530.042 0, 1755478.951 621574.302 0, 1756308.669 616074.526 0,
+ 1757138.332 610575.118 0))
+
+POLYGON ((1769623.548 623728.652 0, 1769330.234 623683.562 0, 1769035.615 623638.29 0, 1768740.993 623593.035 0, 1768446.368 623547.797 0, 1768151.741 623502.576 0, 1767857.111 623457.373 0, 1767562.478 623412.187 0, 1767267.842 623367.019 0, 1766973.204 623321.867 0,
+ 1766678.564 623276.734 0, 1766383.92 623231.617 0, 1766089.274 623186.518 0, 1765794.626 623141.436 0, 1765499.974 623096.372 0, 1765205.32 623051.324 0, 1764910.664 623006.295 0, 1764616.004 622961.282 0, 1764321.342 622916.287 0, 1764026.678 622871.309 0,
+ 1763732.01 622826.349 0, 1763437.341 622781.406 0, 1763142.668 622736.48 0, 1762847.993 622691.572 0, 1762552.01 622646.482 0, 1762258.635 622601.807 0, 1761963.952 622556.951 0, 1761669.266 622512.112 0, 1761374.577 622467.29 0, 1761079.886 622422.486 0,
+ 1760785.193 622377.699 0, 1760490.496 622332.929 0, 1760195.798 622288.177 0, 1759901.096 622243.442 0, 1759606.392 622198.724 0, 1759311.685 622154.024 0, 1759016.976 622109.341 0, 1758722.263 622064.675 0, 1758427.549 622020.027 0, 1758132.831 621975.396 0,
+ 1757838.111 621930.783 0, 1757543.389 621886.187 0, 1757248.664 621841.608 0, 1756953.936 621797.046 0, 1756659.205 621752.502 0, 1756364.472 621707.975 0, 1756069.737 621663.466 0, 1755774.998 621618.974 0, 1755478.951 621574.302 0, 1754649.178 627074.442 0,
+ 1753819.351 632574.942 0, 1754114.748 632619.516 0, 1754408.838 632663.91 0, 1754702.927 632708.322 0, 1754997.012 632752.751 0, 1755291.095 632797.197 0, 1755585.176 632841.661 0, 1755879.253 632886.141 0, 1756173.329 632930.64 0, 1756467.401 632975.155 0,
+ 1756761.471 633019.688 0, 1757055.538 633064.238 0, 1757349.603 633108.806 0, 1757643.665 633153.39 0, 1757937.724 633197.992 0, 1758231.781 633242.612 0, 1758525.835 633287.248 0, 1758819.887 633331.902 0, 1759113.936 633376.574 0, 1759407.982 633421.262 0,
+ 1759702.026 633465.968 0, 1759996.067 633510.691 0, 1760290.105 633555.432 0, 1760584.141 633600.19 0, 1760876.872 633644.767 0, 1761172.205 633689.757 0, 1761466.232 633734.567 0, 1761760.258 633779.394 0, 1762054.28 633824.238 0, 1762348.3 633869.1 0,
+ 1762642.317 633913.979 0, 1762936.332 633958.875 0, 1763230.344 634003.789 0, 1763524.353 634048.72 0, 1763818.36 634093.668 0, 1764112.364 634138.633 0, 1764406.366 634183.616 0, 1764700.364 634228.616 0, 1764994.361 634273.634 0, 1765288.354 634318.668 0,
+ 1765582.345 634363.72 0, 1765876.333 634408.79 0, 1766170.319 634453.876 0, 1766464.301 634498.98 0, 1766758.282 634544.101 0, 1767052.259 634589.24 0, 1767346.234 634634.396 0, 1767640.206 634679.569 0, 1767932.875 634724.559 0, 1768778.239 629226.425 0,
+ 1769623.548 623728.652 0))
+
+POLYGON ((1782040.271 636914.041 0, 1781747.727 636868.224 0, 1781453.884 636822.22 0, 1781160.038 636776.234 0, 1780866.189 636730.265 0, 1780572.337 636684.314 0, 1780278.483 636638.379 0, 1779984.626 636592.462 0, 1779690.767 636546.563 0, 1779396.904 636500.68 0,
+ 1779103.039 636454.815 0, 1778809.171 636408.967 0, 1778515.301 636363.137 0, 1778221.428 636317.324 0, 1777927.552 636271.528 0, 1777633.673 636225.749 0, 1777339.792 636179.988 0, 1777045.908 636134.244 0, 1776752.021 636088.517 0, 1776458.132 636042.808 0,
+ 1776164.24 635997.115 0, 1775870.345 635951.441 0, 1775576.448 635905.783 0, 1775282.548 635860.143 0, 1774987.346 635814.318 0, 1774694.74 635768.914 0, 1774400.832 635723.326 0, 1774106.921 635677.755 0, 1773813.007 635632.201 0, 1773519.091 635586.665 0,
+ 1773225.172 635541.146 0, 1772931.251 635495.644 0, 1772637.327 635450.159 0, 1772343.4 635404.692 0, 1772049.47 635359.242 0, 1771755.538 635313.809 0, 1771461.603 635268.394 0, 1771167.665 635222.996 0, 1770873.725 635177.615 0, 1770579.782 635132.252 0,
+ 1770285.837 635086.906 0, 1769991.888 635041.577 0, 1769697.937 634996.265 0, 1769403.984 634950.971 0, 1769110.028 634905.694 0, 1768816.069 634860.434 0, 1768522.107 634815.192 0, 1768228.143 634769.967 0, 1767932.875 634724.559 0, 1767087.457 640223.051 0,
+ 1766241.983 645721.896 0, 1766536.6 645767.204 0, 1766829.917 645812.329 0, 1767123.232 645857.472 0, 1767416.543 645902.632 0, 1767709.852 645947.809 0, 1768003.159 645993.004 0, 1768296.462 646038.216 0, 1768589.763 646083.445 0, 1768883.062 646128.691 0,
+ 1769176.357 646173.955 0, 1769469.65 646219.235 0, 1769762.941 646264.533 0, 1770056.229 646309.849 0, 1770349.514 646355.181 0, 1770642.796 646400.531 0, 1770936.076 646445.898 0, 1771229.353 646491.283 0, 1771522.627 646536.684 0, 1771815.899 646582.103 0,
+ 1772109.168 646627.54 0, 1772402.434 646672.993 0, 1772695.698 646718.464 0, 1772988.959 646763.952 0, 1773280.921 646809.256 0, 1773575.473 646854.979 0, 1773868.726 646900.519 0, 1774161.976 646946.076 0, 1774455.223 646991.65 0, 1774748.468 647037.242 0,
+ 1775041.711 647082.851 0, 1775334.95 647128.477 0, 1775628.187 647174.12 0, 1775921.421 647219.781 0, 1776214.653 647265.458 0, 1776507.881 647311.154 0, 1776801.107 647356.866 0, 1777094.331 647402.595 0, 1777387.552 647448.342 0, 1777680.77 647494.106 0,
+ 1777973.985 647539.888 0, 1778267.197 647585.686 0, 1778560.407 647631.502 0, 1778853.615 647677.335 0, 1779146.819 647723.186 0, 1779440.021 647769.054 0, 1779733.22 647814.938 0, 1780026.417 647860.841 0, 1780318.316 647906.557 0, 1781179.321 642410.122 0,
+ 1782040.271 636914.041 0))
+
+POLYGON ((1794388.42 650130.978 0, 1794096.649 650084.436 0, 1793803.583 650037.706 0, 1793510.515 649990.993 0, 1793217.444 649944.297 0, 1792924.37 649897.618 0, 1792631.293 649850.957 0, 1792338.214 649804.313 0, 1792045.132 649757.686 0, 1791752.047 649711.077 0,
+ 1791458.96 649664.484 0, 1791165.869 649617.909 0, 1790872.776 649571.351 0, 1790579.681 649524.811 0, 1790286.582 649478.288 0, 1789993.481 649431.781 0, 1789700.377 649385.293 0, 1789407.27 649338.821 0, 1789114.161 649292.367 0, 1788821.048 649245.93 0,
+ 1788527.934 649199.51 0, 1788234.816 649153.107 0, 1787941.696 649106.722 0, 1787648.572 649060.354 0, 1787354.153 649013.799 0, 1787062.318 648967.67 0, 1786769.187 648921.353 0, 1786476.053 648875.054 0, 1786182.916 648828.772 0, 1785889.776 648782.508 0,
+ 1785596.634 648736.261 0, 1785303.489 648690.031 0, 1785010.342 648643.818 0, 1784717.191 648597.622 0, 1784424.038 648551.444 0, 1784130.882 648505.283 0, 1783837.724 648459.139 0, 1783544.563 648413.013 0, 1783251.399 648366.904 0, 1782958.232 648320.812 0,
+ 1782665.063 648274.737 0, 1782371.891 648228.679 0, 1782078.716 648182.639 0, 1781785.538 648136.616 0, 1781492.358 648090.61 0, 1781199.175 648044.622 0, 1780905.99 647998.651 0, 1780612.801 647952.697 0, 1780318.316 647906.557 0, 1779457.255 653403.343 0,
+ 1778596.141 658900.477 0, 1778889.976 658946.514 0, 1779182.518 658992.367 0, 1779475.056 659038.237 0, 1779767.592 659084.124 0, 1780060.125 659130.028 0, 1780352.656 659175.949 0, 1780645.183 659221.888 0, 1780937.709 659267.844 0, 1781230.231 659313.817 0,
+ 1781522.751 659359.807 0, 1781815.267 659405.815 0, 1782107.782 659451.839 0, 1782400.293 659497.881 0, 1782692.802 659543.94 0, 1782985.308 659590.017 0, 1783277.811 659636.11 0, 1783570.312 659682.221 0, 1783862.81 659728.349 0, 1784155.305 659774.494 0,
+ 1784447.798 659820.657 0, 1784740.288 659866.836 0, 1785032.775 659913.033 0, 1785325.259 659959.247 0, 1785616.45 660005.274 0, 1785910.219 660051.727 0, 1786202.696 660097.993 0, 1786495.169 660144.276 0, 1786787.64 660190.576 0, 1787080.108 660236.893 0,
+ 1787372.573 660283.228 0, 1787665.036 660329.58 0, 1787957.496 660375.949 0, 1788249.953 660422.335 0, 1788542.407 660468.738 0, 1788834.859 660515.159 0, 1789127.308 660561.597 0, 1789419.754 660608.052 0, 1789712.197 660654.524 0, 1790004.638 660701.014 0,
+ 1790297.076 660747.52 0, 1790589.511 660794.044 0, 1790881.944 660840.585 0, 1791174.373 660887.144 0, 1791466.8 660933.719 0, 1791759.225 660980.312 0, 1792051.646 661026.922 0, 1792344.065 661073.549 0, 1792635.192 661119.988 0, 1793511.834 655625.309 0,
+ 1794388.42 650130.978 0))
+
+POLYGON ((1613989.983 479104.073 0, 1613688.223 479068.107 0, 1613385.092 479031.995 0, 1613081.959 478995.901 0, 1612778.824 478959.826 0, 1612475.686 478923.768 0, 1612172.547 478887.727 0, 1611869.405 478851.705 0, 1611566.262 478815.701 0, 1611263.116 478779.714 0,
+ 1610959.968 478743.745 0, 1610656.818 478707.794 0, 1610353.666 478671.861 0, 1610050.512 478635.946 0, 1609747.355 478600.048 0, 1609444.197 478564.169 0, 1609141.036 478528.307 0, 1608837.873 478492.463 0, 1608534.708 478456.637 0, 1608231.542 478420.829 0,
+ 1607928.373 478385.038 0, 1607625.201 478349.266 0, 1607322.028 478313.511 0, 1607018.853 478277.774 0, 1606714.305 478241.894 0, 1606412.496 478206.354 0, 1606109.314 478170.671 0, 1605806.13 478135.005 0, 1605502.944 478099.358 0, 1605199.757 478063.728 0,
+ 1604896.566 478028.116 0, 1604593.374 477992.522 0, 1604290.18 477956.946 0, 1603986.984 477921.387 0, 1603683.785 477885.847 0, 1603380.585 477850.324 0, 1603077.382 477814.819 0, 1602774.178 477779.332 0, 1602470.971 477743.863 0, 1602167.762 477708.412 0,
+ 1601864.551 477672.978 0, 1601561.338 477637.563 0, 1601258.123 477602.165 0, 1600954.906 477566.785 0, 1600651.686 477531.423 0, 1600348.465 477496.078 0, 1600045.241 477460.752 0, 1599742.016 477425.444 0, 1599437.417 477389.993 0, 1598795.57 482906.344 0,
+ 1598153.674 488423.124 0, 1598457.621 488458.499 0, 1598760.197 488493.732 0, 1599062.771 488528.982 0, 1599365.343 488564.251 0, 1599667.913 488599.537 0, 1599970.481 488634.842 0, 1600273.047 488670.163 0, 1600575.61 488705.503 0, 1600878.172 488740.861 0,
+ 1601180.731 488776.236 0, 1601483.289 488811.629 0, 1601785.844 488847.04 0, 1602088.398 488882.469 0, 1602390.949 488917.916 0, 1602693.498 488953.38 0, 1602996.045 488988.863 0, 1603298.59 489024.363 0, 1603601.133 489059.881 0, 1603903.673 489095.416 0,
+ 1604206.212 489130.97 0, 1604508.749 489166.541 0, 1604811.283 489202.13 0, 1605113.815 489237.737 0, 1605414.978 489273.201 0, 1605718.874 489309.004 0, 1606021.4 489344.664 0, 1606323.924 489380.343 0, 1606626.446 489416.039 0, 1606928.966 489451.752 0,
+ 1607231.483 489487.484 0, 1607533.999 489523.233 0, 1607836.512 489559 0, 1608139.024 489594.785 0, 1608441.533 489630.588 0, 1608744.04 489666.409 0, 1609046.545 489702.247 0, 1609349.048 489738.103 0, 1609651.549 489773.977 0, 1609954.048 489809.869 0,
+ 1610256.544 489845.778 0, 1610559.039 489881.706 0, 1610861.531 489917.651 0, 1611164.021 489953.614 0, 1611466.509 489989.595 0, 1611768.995 490025.593 0, 1612071.479 490061.61 0, 1612373.961 490097.644 0, 1612675.075 490133.533 0, 1613332.554 484618.588 0,
+ 1613989.983 479104.073 0))
+
+POLYGON ((1627191.585 491884.961 0, 1626890.572 491848.221 0, 1626588.193 491811.332 0, 1626285.812 491774.461 0, 1625983.429 491737.608 0, 1625681.044 491700.773 0, 1625378.656 491663.956 0, 1625076.267 491627.156 0, 1624773.875 491590.374 0, 1624471.481 491553.61 0,
+ 1624169.085 491516.864 0, 1623866.687 491480.135 0, 1623564.286 491443.425 0, 1623261.884 491406.732 0, 1622959.479 491370.057 0, 1622657.072 491333.399 0, 1622354.663 491296.76 0, 1622052.252 491260.138 0, 1621749.838 491223.534 0, 1621447.423 491186.948 0,
+ 1621145.005 491150.38 0, 1620842.585 491113.83 0, 1620540.164 491077.297 0, 1620237.739 491040.782 0, 1619933.949 491004.12 0, 1619632.885 490967.806 0, 1619330.454 490931.344 0, 1619028.021 490894.901 0, 1618725.587 490858.475 0, 1618423.15 490822.067 0,
+ 1618120.71 490785.677 0, 1617818.269 490749.304 0, 1617515.826 490712.949 0, 1617213.38 490676.613 0, 1616910.932 490640.294 0, 1616608.483 490603.992 0, 1616306.031 490567.709 0, 1616003.576 490531.443 0, 1615701.12 490495.195 0, 1615398.662 490458.965 0,
+ 1615096.201 490422.753 0, 1614793.739 490386.559 0, 1614491.274 490350.382 0, 1614188.807 490314.223 0, 1613886.338 490278.082 0, 1613583.867 490241.959 0, 1613281.394 490205.853 0, 1612978.918 490169.766 0, 1612675.075 490133.533 0, 1612017.544 495648.905 0,
+ 1611359.963 501164.7 0, 1611663.154 501200.855 0, 1611964.981 501236.865 0, 1612266.805 501272.893 0, 1612568.626 501308.939 0, 1612870.446 501345.002 0, 1613172.264 501381.083 0, 1613474.079 501417.182 0, 1613775.893 501453.299 0, 1614077.704 501489.433 0,
+ 1614379.513 501525.586 0, 1614681.32 501561.756 0, 1614983.125 501597.944 0, 1615284.928 501634.149 0, 1615586.729 501670.372 0, 1615888.527 501706.614 0, 1616190.323 501742.872 0, 1616492.118 501779.149 0, 1616793.91 501815.443 0, 1617095.7 501851.756 0,
+ 1617397.487 501888.085 0, 1617699.273 501924.433 0, 1618001.057 501960.799 0, 1618302.838 501997.182 0, 1618603.256 502033.418 0, 1618906.394 502070.001 0, 1619208.169 502106.438 0, 1619509.942 502142.892 0, 1619811.713 502179.364 0, 1620113.481 502215.854 0,
+ 1620415.248 502252.361 0, 1620717.012 502288.887 0, 1621018.774 502325.43 0, 1621320.534 502361.991 0, 1621622.292 502398.569 0, 1621924.048 502435.166 0, 1622225.801 502471.78 0, 1622527.552 502508.411 0, 1622829.301 502545.061 0, 1623131.048 502581.728 0,
+ 1623432.793 502618.414 0, 1623734.536 502655.116 0, 1624036.277 502691.837 0, 1624338.015 502728.576 0, 1624639.751 502765.332 0, 1624941.485 502802.106 0, 1625243.217 502838.897 0, 1625544.947 502875.707 0, 1625845.314 502912.368 0, 1626518.476 497398.453 0,
+ 1627191.585 491884.961 0))
+
+POLYGON ((1640325.67 504700.953 0, 1640025.405 504663.443 0, 1639723.78 504625.781 0, 1639422.153 504588.137 0, 1639120.525 504550.511 0, 1638818.893 504512.902 0, 1638517.26 504475.312 0, 1638215.624 504437.739 0, 1637913.987 504400.184 0, 1637612.347 504362.646 0,
+ 1637310.704 504325.126 0, 1637009.06 504287.624 0, 1636707.413 504250.14 0, 1636405.765 504212.674 0, 1636104.114 504175.225 0, 1635802.46 504137.794 0, 1635500.805 504100.381 0, 1635199.147 504062.985 0, 1634897.487 504025.608 0, 1634595.825 503988.248 0,
+ 1634294.161 503950.906 0, 1633992.495 503913.581 0, 1633690.826 503876.275 0, 1633389.155 503838.986 0, 1633086.123 503801.547 0, 1632785.807 503764.461 0, 1632484.13 503727.226 0, 1632182.45 503690.008 0, 1631880.768 503652.807 0, 1631579.084 503615.625 0,
+ 1631277.398 503578.461 0, 1630975.71 503541.314 0, 1630674.019 503504.185 0, 1630372.326 503467.073 0, 1630070.632 503429.98 0, 1629768.934 503392.904 0, 1629467.235 503355.846 0, 1629165.534 503318.805 0, 1628863.83 503281.783 0, 1628562.124 503244.778 0,
+ 1628260.416 503207.791 0, 1627958.706 503170.822 0, 1627656.994 503133.87 0, 1627355.279 503096.936 0, 1627053.563 503060.02 0, 1626751.844 503023.122 0, 1626450.123 502986.242 0, 1626148.4 502949.379 0, 1625845.314 502912.368 0, 1625172.101 508426.704 0,
+ 1624498.837 513941.457 0, 1624801.271 513978.389 0, 1625102.345 514015.172 0, 1625403.417 514051.973 0, 1625704.486 514088.792 0, 1626005.554 514125.629 0, 1626306.619 514162.483 0, 1626607.683 514199.355 0, 1626908.744 514236.245 0, 1627209.803 514273.152 0,
+ 1627510.859 514310.077 0, 1627811.914 514347.02 0, 1628112.966 514383.981 0, 1628414.016 514420.959 0, 1628715.064 514457.955 0, 1629016.11 514494.969 0, 1629317.154 514532 0, 1629618.195 514569.05 0, 1629919.234 514606.117 0, 1630220.272 514643.201 0,
+ 1630521.307 514680.304 0, 1630822.339 514717.424 0, 1631123.37 514754.562 0, 1631424.398 514791.717 0, 1631724.068 514828.723 0, 1632026.448 514866.081 0, 1632327.47 514903.29 0, 1632628.49 514940.516 0, 1632929.507 514977.76 0, 1633230.522 515015.022 0,
+ 1633531.535 515052.302 0, 1633832.546 515089.599 0, 1634133.555 515126.914 0, 1634434.561 515164.247 0, 1634735.566 515201.597 0, 1635036.568 515238.965 0, 1635337.567 515276.351 0, 1635638.565 515313.755 0, 1635939.56 515351.176 0, 1636240.554 515388.615 0,
+ 1636541.545 515426.072 0, 1636842.534 515463.546 0, 1637143.52 515501.038 0, 1637444.505 515538.548 0, 1637745.487 515576.076 0, 1638046.467 515613.621 0, 1638347.445 515651.184 0, 1638648.42 515688.765 0, 1638948.039 515726.194 0, 1639636.88 510213.365 0,
+ 1640325.67 504700.953 0))
+
+POLYGON ((1653392.141 517551.745 0, 1653092.627 517513.469 0, 1652791.758 517475.039 0, 1652490.888 517436.625 0, 1652190.015 517398.23 0, 1651889.14 517359.852 0, 1651588.263 517321.492 0, 1651287.384 517283.15 0, 1650986.502 517244.825 0, 1650685.618 517206.518 0,
+ 1650384.732 517168.229 0, 1650083.843 517129.958 0, 1649782.952 517091.704 0, 1649482.059 517053.468 0, 1649181.164 517015.249 0, 1648880.266 516977.049 0, 1648579.367 516938.866 0, 1648278.465 516900.7 0, 1647977.56 516862.553 0, 1647676.654 516824.423 0,
+ 1647375.745 516786.311 0, 1647074.834 516748.217 0, 1646773.921 516710.14 0, 1646473.005 516672.081 0, 1646170.735 516633.869 0, 1645871.168 516596.016 0, 1645570.246 516558.01 0, 1645269.321 516520.022 0, 1644968.395 516482.052 0, 1644667.466 516444.099 0,
+ 1644366.535 516406.164 0, 1644065.601 516368.247 0, 1643764.666 516330.347 0, 1643463.728 516292.465 0, 1643162.788 516254.601 0, 1642861.845 516216.755 0, 1642560.901 516178.926 0, 1642259.954 516141.115 0, 1641959.005 516103.322 0, 1641658.054 516065.546 0,
+ 1641357.101 516027.788 0, 1641056.145 515990.048 0, 1640755.187 515952.326 0, 1640454.227 515914.621 0, 1640153.265 515876.934 0, 1639852.3 515839.265 0, 1639551.334 515801.613 0, 1639250.365 515763.979 0, 1638948.039 515726.194 0, 1638259.146 521239.438 0,
+ 1637570.201 526753.092 0, 1637871.875 526790.796 0, 1638172.195 526828.349 0, 1638472.513 526865.919 0, 1638772.828 526903.507 0, 1639073.142 526941.113 0, 1639373.453 526978.737 0, 1639673.761 527016.378 0, 1639974.068 527054.036 0, 1640274.373 527091.713 0,
+ 1640574.675 527129.407 0, 1640874.975 527167.119 0, 1641175.272 527204.848 0, 1641475.568 527242.595 0, 1641775.861 527280.36 0, 1642076.152 527318.143 0, 1642376.441 527355.943 0, 1642676.728 527393.761 0, 1642977.012 527431.596 0, 1643277.295 527469.449 0,
+ 1643577.575 527507.32 0, 1643877.852 527545.209 0, 1644178.128 527583.115 0, 1644478.401 527621.039 0, 1644777.322 527658.81 0, 1645078.941 527696.94 0, 1645379.207 527734.917 0, 1645679.472 527772.911 0, 1645979.734 527810.923 0, 1646279.994 527848.953 0,
+ 1646580.251 527887.001 0, 1646880.507 527925.066 0, 1647180.76 527963.149 0, 1647481.011 528001.25 0, 1647781.259 528039.368 0, 1648081.506 528077.504 0, 1648381.75 528115.658 0, 1648681.992 528153.829 0, 1648982.232 528192.018 0, 1649282.469 528230.225 0,
+ 1649582.704 528268.449 0, 1649882.937 528306.691 0, 1650183.168 528344.95 0, 1650483.396 528383.228 0, 1650783.622 528421.523 0, 1651083.846 528459.835 0, 1651384.068 528498.166 0, 1651684.287 528536.514 0, 1651983.156 528574.707 0, 1652687.675 523063.021 0,
+ 1653392.141 517551.745 0))
+
+POLYGON ((1666390.906 530437.034 0, 1666092.145 530397.996 0, 1665792.035 530358.8 0, 1665491.923 530319.622 0, 1665191.808 530280.461 0, 1664891.691 530241.318 0, 1664591.572 530202.192 0, 1664291.451 530163.085 0, 1663991.327 530123.995 0, 1663691.201 530084.922 0,
+ 1663391.073 530045.868 0, 1663090.942 530006.831 0, 1662790.81 529967.811 0, 1662490.674 529928.809 0, 1662190.537 529889.825 0, 1661890.397 529850.859 0, 1661590.255 529811.91 0, 1661290.111 529772.979 0, 1660989.964 529734.066 0, 1660689.815 529695.17 0,
+ 1660389.664 529656.292 0, 1660089.51 529617.432 0, 1659789.355 529578.589 0, 1659489.196 529539.764 0, 1659187.689 529500.782 0, 1658888.873 529462.167 0, 1658588.709 529423.395 0, 1658288.541 529384.64 0, 1657988.372 529345.904 0, 1657688.2 529307.185 0,
+ 1657388.026 529268.483 0, 1657087.85 529229.799 0, 1656787.671 529191.133 0, 1656487.49 529152.485 0, 1656187.307 529113.854 0, 1655887.122 529075.241 0, 1655586.934 529036.646 0, 1655286.744 528998.068 0, 1654986.552 528959.508 0, 1654686.357 528920.966 0,
+ 1654386.16 528882.441 0, 1654085.961 528843.934 0, 1653785.76 528805.445 0, 1653485.556 528766.973 0, 1653185.351 528728.519 0, 1652885.142 528690.083 0, 1652584.932 528651.664 0, 1652284.719 528613.263 0, 1651983.156 528574.707 0, 1651278.585 534086.802 0,
+ 1650573.962 539599.302 0, 1650874.874 539637.774 0, 1651174.438 539676.092 0, 1651473.999 539714.428 0, 1651773.558 539752.781 0, 1652073.115 539791.152 0, 1652372.67 539829.54 0, 1652672.223 539867.947 0, 1652971.773 539906.37 0, 1653271.321 539944.812 0,
+ 1653570.866 539983.271 0, 1653870.41 540021.748 0, 1654169.951 540060.242 0, 1654469.49 540098.754 0, 1654769.026 540137.283 0, 1655068.561 540175.831 0, 1655368.093 540214.396 0, 1655667.623 540252.978 0, 1655967.15 540291.578 0, 1656266.675 540330.196 0,
+ 1656566.198 540368.831 0, 1656865.719 540407.484 0, 1657165.238 540446.155 0, 1657464.754 540484.843 0, 1657762.923 540523.375 0, 1658063.779 540562.273 0, 1658363.288 540601.014 0, 1658662.796 540639.772 0, 1658962.3 540678.549 0, 1659261.803 540717.343 0,
+ 1659561.303 540756.155 0, 1659860.801 540794.984 0, 1660160.296 540833.831 0, 1660459.79 540872.695 0, 1660759.281 540911.577 0, 1661058.77 540950.477 0, 1661358.256 540989.395 0, 1661657.74 541028.33 0, 1661957.222 541067.282 0, 1662256.702 541106.253 0,
+ 1662556.179 541145.241 0, 1662855.654 541184.246 0, 1663155.127 541223.269 0, 1663454.597 541262.31 0, 1663754.065 541301.369 0, 1664053.531 541340.445 0, 1664352.995 541379.538 0, 1664652.456 541418.65 0, 1664950.572 541457.603 0, 1665670.765 535947.116 0,
+ 1666390.906 530437.034 0))
+
+POLYGON ((1679321.874 543356.513 0, 1679023.867 543316.718 0, 1678724.517 543276.761 0, 1678425.166 543236.821 0, 1678125.811 543196.899 0, 1677826.455 543156.995 0, 1677527.096 543117.108 0, 1677227.735 543077.239 0, 1676928.371 543037.387 0, 1676629.005 542997.554 0,
+ 1676329.637 542957.737 0, 1676030.266 542917.939 0, 1675730.893 542878.158 0, 1675431.518 542838.394 0, 1675132.14 542798.649 0, 1674832.76 542758.92 0, 1674533.378 542719.21 0, 1674233.993 542679.517 0, 1673934.606 542639.842 0, 1673635.217 542600.184 0,
+ 1673335.825 542560.544 0, 1673036.431 542520.922 0, 1672737.035 542481.317 0, 1672437.636 542441.73 0, 1672136.893 542401.983 0, 1671838.832 542362.608 0, 1671539.426 542323.074 0, 1671240.018 542283.557 0, 1670940.608 542244.058 0, 1670641.195 542204.577 0,
+ 1670341.78 542165.113 0, 1670042.363 542125.667 0, 1669742.943 542086.238 0, 1669443.521 542046.828 0, 1669144.097 542007.434 0, 1668844.671 541968.059 0, 1668545.242 541928.701 0, 1668245.81 541889.36 0, 1667946.377 541850.037 0, 1667646.941 541810.732 0,
+ 1667347.503 541771.445 0, 1667048.063 541732.175 0, 1666748.62 541692.922 0, 1666449.175 541653.688 0, 1666149.727 541614.471 0, 1665850.278 541575.271 0, 1665550.826 541536.089 0, 1665251.371 541496.925 0, 1664950.572 541457.603 0, 1664230.325 546968.492 0,
+ 1663510.027 552479.78 0, 1663810.175 552519.017 0, 1664108.98 552558.096 0, 1664407.784 552597.193 0, 1664706.585 552636.308 0, 1665005.383 552675.44 0, 1665304.18 552714.59 0, 1665602.974 552753.757 0, 1665901.765 552792.942 0, 1666200.555 552832.144 0,
+ 1666499.342 552871.364 0, 1666798.127 552910.602 0, 1667096.909 552949.857 0, 1667395.69 552989.13 0, 1667694.467 553028.42 0, 1667993.243 553067.728 0, 1668292.016 553107.054 0, 1668590.787 553146.397 0, 1668889.556 553185.758 0, 1669188.322 553225.136 0,
+ 1669487.086 553264.532 0, 1669785.848 553303.945 0, 1670084.607 553343.376 0, 1670383.364 553382.825 0, 1670680.78 553422.114 0, 1670980.871 553461.775 0, 1671279.621 553501.276 0, 1671578.369 553540.795 0, 1671877.115 553580.332 0, 1672175.858 553619.886 0,
+ 1672474.598 553659.458 0, 1672773.337 553699.047 0, 1673072.073 553738.654 0, 1673370.807 553778.279 0, 1673669.538 553817.921 0, 1673968.267 553857.58 0, 1674266.994 553897.257 0, 1674565.718 553936.952 0, 1674864.44 553976.665 0, 1675163.16 554016.395 0,
+ 1675461.878 554056.142 0, 1675760.593 554095.907 0, 1676059.305 554135.69 0, 1676358.016 554175.49 0, 1676656.724 554215.308 0, 1676955.43 554255.144 0, 1677254.133 554294.997 0, 1677552.834 554334.867 0, 1677850.195 554374.577 0, 1678586.061 548865.346 0,
+ 1679321.874 543356.513 0))
+
+POLYGON ((1692184.953 556309.88 0, 1691887.703 556269.33 0, 1691589.116 556228.615 0, 1691290.526 556187.919 0, 1690991.934 556147.239 0, 1690693.34 556106.578 0, 1690394.743 556065.934 0, 1690096.144 556025.307 0, 1689797.542 555984.698 0, 1689498.938 555944.107 0,
+ 1689200.332 555903.533 0, 1688901.723 555862.977 0, 1688603.112 555822.439 0, 1688304.499 555781.918 0, 1688005.883 555741.414 0, 1687707.265 555700.928 0, 1687408.644 555660.46 0, 1687110.021 555620.009 0, 1686811.396 555579.576 0, 1686512.768 555539.16 0,
+ 1686214.138 555498.762 0, 1685915.505 555458.382 0, 1685616.87 555418.019 0, 1685318.233 555377.674 0, 1685018.258 555337.166 0, 1684720.952 555297.036 0, 1684422.307 555256.744 0, 1684123.66 555216.469 0, 1683825.011 555176.211 0, 1683526.36 555135.972 0,
+ 1683227.706 555095.749 0, 1682929.05 555055.545 0, 1682630.391 555015.358 0, 1682331.73 554975.188 0, 1682033.067 554935.036 0, 1681734.401 554894.902 0, 1681435.733 554854.785 0, 1681137.063 554814.686 0, 1680838.39 554774.604 0, 1680539.715 554734.54 0,
+ 1680241.037 554694.494 0, 1679942.357 554654.465 0, 1679643.675 554614.454 0, 1679344.991 554574.46 0, 1679046.304 554534.484 0, 1678747.614 554494.526 0, 1678448.923 554454.585 0, 1678150.229 554414.661 0, 1677850.195 554374.577 0, 1677114.276 559884.204 0,
+ 1676378.305 565394.223 0, 1676677.687 565434.221 0, 1676975.733 565474.057 0, 1677273.776 565513.911 0, 1677571.816 565553.783 0, 1677869.855 565593.673 0, 1678167.891 565633.579 0, 1678465.924 565673.504 0, 1678763.956 565713.446 0, 1679061.985 565753.405 0,
+ 1679360.011 565793.382 0, 1679658.035 565833.377 0, 1679956.057 565873.389 0, 1680254.077 565913.418 0, 1680552.094 565953.466 0, 1680850.109 565993.53 0, 1681148.121 566033.613 0, 1681446.131 566073.712 0, 1681744.139 566113.83 0, 1682042.144 566153.965 0,
+ 1682340.147 566194.117 0, 1682638.148 566234.287 0, 1682936.146 566274.474 0, 1683234.142 566314.679 0, 1683530.803 566354.722 0, 1683830.127 566395.142 0, 1684128.116 566435.4 0, 1684426.102 566475.675 0, 1684724.086 566515.968 0, 1685022.068 566556.278 0,
+ 1685320.047 566596.606 0, 1685618.024 566636.951 0, 1685915.999 566677.314 0, 1686213.971 566717.694 0, 1686511.941 566758.092 0, 1686809.908 566798.508 0, 1687107.873 566838.941 0, 1687405.836 566879.392 0, 1687703.796 566919.86 0, 1688001.754 566960.345 0,
+ 1688299.71 567000.848 0, 1688597.663 567041.369 0, 1688895.614 567081.907 0, 1689193.562 567122.463 0, 1689491.508 567163.037 0, 1689789.452 567203.627 0, 1690087.393 567244.236 0, 1690385.332 567284.862 0, 1690681.936 567325.324 0, 1691433.471 561817.405 0,
+ 1692184.953 556309.88 0))
+
+POLYGON ((1704980.055 569296.827 0, 1704683.563 569255.527 0, 1704385.74 569214.059 0, 1704087.915 569172.609 0, 1703790.087 569131.177 0, 1703492.257 569089.762 0, 1703194.425 569048.364 0, 1702896.59 569006.985 0, 1702598.752 568965.622 0, 1702300.912 568924.277 0,
+ 1702003.07 568882.95 0, 1701705.225 568841.64 0, 1701407.378 568800.348 0, 1701109.528 568759.074 0, 1700811.676 568717.816 0, 1700513.822 568676.577 0, 1700215.965 568635.355 0, 1699918.105 568594.15 0, 1699620.244 568552.963 0, 1699322.379 568511.794 0,
+ 1699024.513 568470.642 0, 1698726.644 568429.507 0, 1698428.772 568388.39 0, 1698130.898 568347.291 0, 1697831.692 568306.026 0, 1697535.143 568265.145 0, 1697237.262 568224.098 0, 1696939.379 568183.069 0, 1696641.493 568142.057 0, 1696343.604 568101.063 0,
+ 1696045.714 568060.086 0, 1695747.82 568019.127 0, 1695449.925 567978.186 0, 1695152.027 567937.262 0, 1694854.126 567896.355 0, 1694556.223 567855.466 0, 1694258.318 567814.595 0, 1693960.411 567773.741 0, 1693662.501 567732.904 0, 1693364.588 567692.086 0,
+ 1693066.673 567651.284 0, 1692768.756 567610.501 0, 1692470.836 567569.734 0, 1692172.914 567528.986 0, 1691874.99 567488.255 0, 1691577.063 567447.541 0, 1691279.134 567406.845 0, 1690981.202 567366.166 0, 1690681.936 567325.324 0, 1689930.348 572833.631 0,
+ 1689178.707 578342.325 0, 1689477.321 578383.079 0, 1689774.605 578423.669 0, 1690071.885 578464.277 0, 1690369.164 578504.902 0, 1690666.44 578545.544 0, 1690963.714 578586.204 0, 1691260.985 578626.882 0, 1691558.254 578667.577 0, 1691855.52 578708.289 0,
+ 1692152.784 578749.019 0, 1692450.046 578789.767 0, 1692747.305 578830.532 0, 1693044.562 578871.314 0, 1693341.816 578912.114 0, 1693639.069 578952.932 0, 1693936.318 578993.767 0, 1694233.565 579034.619 0, 1694530.81 579075.489 0, 1694828.053 579116.376 0,
+ 1695125.293 579157.281 0, 1695422.53 579198.204 0, 1695719.766 579239.144 0, 1696016.998 579280.101 0, 1696312.901 579320.893 0, 1696611.457 579362.069 0, 1696908.682 579403.078 0, 1697205.906 579444.106 0, 1697503.126 579485.151 0, 1697800.345 579526.213 0,
+ 1698097.561 579567.293 0, 1698394.774 579608.39 0, 1698691.985 579649.505 0, 1698989.194 579690.638 0, 1699286.4 579731.788 0, 1699583.604 579772.955 0, 1699880.805 579814.14 0, 1700178.004 579855.342 0, 1700475.201 579896.562 0, 1700772.395 579937.799 0,
+ 1701069.587 579979.054 0, 1701366.776 580020.326 0, 1701663.963 580061.616 0, 1701961.147 580102.923 0, 1702258.329 580144.248 0, 1702555.509 580185.591 0, 1702852.686 580226.95 0, 1703149.86 580268.328 0, 1703445.707 580309.538 0, 1704212.908 574802.989 0,
+ 1704980.055 569296.827 0))
+
+POLYGON ((1717707.091 582317.049 0, 1717411.36 582275.003 0, 1717114.304 582232.786 0, 1716817.245 582190.587 0, 1716520.183 582148.405 0, 1716223.119 582106.241 0, 1715926.053 582064.094 0, 1715628.984 582021.965 0, 1715331.912 581979.853 0, 1715034.838 581937.759 0,
+ 1714737.762 581895.682 0, 1714440.683 581853.623 0, 1714143.602 581811.581 0, 1713846.518 581769.557 0, 1713549.431 581727.55 0, 1713252.343 581685.561 0, 1712955.251 581643.589 0, 1712658.158 581601.634 0, 1712361.061 581559.697 0, 1712063.963 581517.778 0,
+ 1711766.862 581475.876 0, 1711469.758 581433.992 0, 1711172.652 581392.125 0, 1710875.543 581350.275 0, 1710577.108 581308.257 0, 1710281.319 581266.629 0, 1709984.203 581224.832 0, 1709687.085 581183.052 0, 1709389.964 581141.29 0, 1709092.841 581099.546 0,
+ 1708795.715 581057.819 0, 1708498.587 581016.109 0, 1708201.456 580974.417 0, 1707904.323 580932.742 0, 1707607.187 580891.085 0, 1707310.049 580849.446 0, 1707012.909 580807.824 0, 1706715.766 580766.219 0, 1706418.621 580724.632 0, 1706121.473 580683.062 0,
+ 1705824.322 580641.51 0, 1705527.17 580599.975 0, 1705230.015 580558.458 0, 1704932.857 580516.958 0, 1704635.697 580475.476 0, 1704338.535 580434.011 0, 1704041.37 580392.564 0, 1703744.202 580351.135 0, 1703445.707 580309.538 0, 1702678.452 585816.469 0,
+ 1701911.145 591323.781 0, 1702208.989 591365.287 0, 1702505.508 591406.627 0, 1702802.025 591447.983 0, 1703098.539 591489.358 0, 1703395.051 591530.749 0, 1703691.56 591572.159 0, 1703988.067 591613.585 0, 1704284.572 591655.029 0, 1704581.074 591696.491 0,
+ 1704877.573 591737.97 0, 1705174.07 591779.466 0, 1705470.565 591820.98 0, 1705767.057 591862.511 0, 1706063.547 591904.06 0, 1706360.035 591945.626 0, 1706656.519 591987.21 0, 1706953.002 592028.811 0, 1707249.482 592070.43 0, 1707545.96 592112.066 0,
+ 1707842.435 592153.719 0, 1708138.907 592195.39 0, 1708435.378 592237.078 0, 1708731.845 592278.784 0, 1709026.989 592320.322 0, 1709324.773 592362.248 0, 1709621.234 592404.006 0, 1709917.692 592445.782 0, 1710214.147 592487.575 0, 1710510.6 592529.386 0,
+ 1710807.051 592571.214 0, 1711103.499 592613.059 0, 1711399.945 592654.922 0, 1711696.388 592696.802 0, 1711992.828 592738.7 0, 1712289.267 592780.615 0, 1712585.702 592822.548 0, 1712882.136 592864.498 0, 1713178.566 592906.466 0, 1713474.995 592948.451 0,
+ 1713771.421 592990.453 0, 1714067.844 593032.473 0, 1714364.265 593074.51 0, 1714660.684 593116.565 0, 1714957.1 593158.637 0, 1715253.513 593200.727 0, 1715549.924 593242.834 0, 1715846.333 593284.959 0, 1716141.418 593326.913 0, 1716924.282 587821.791 0,
+ 1717707.091 582317.049 0))
+
+POLYGON ((1730365.976 595370.24 0, 1730071.008 595327.452 0, 1729774.719 595284.49 0, 1729478.428 595241.545 0, 1729182.135 595198.619 0, 1728885.839 595155.709 0, 1728589.541 595112.817 0, 1728293.24 595069.942 0, 1727996.936 595027.085 0, 1727700.63 594984.245 0,
+ 1727404.322 594941.423 0, 1727108.011 594898.618 0, 1726811.697 594855.831 0, 1726515.381 594813.061 0, 1726219.062 594770.308 0, 1725922.741 594727.573 0, 1725626.417 594684.856 0, 1725330.091 594642.155 0, 1725033.763 594599.473 0, 1724737.431 594556.807 0,
+ 1724441.098 594514.159 0, 1724144.761 594471.529 0, 1723848.423 594428.916 0, 1723552.081 594386.32 0, 1723254.419 594343.553 0, 1722959.391 594301.182 0, 1722663.043 594258.638 0, 1722366.691 594216.113 0, 1722070.338 594173.604 0, 1721773.981 594131.113 0,
+ 1721477.623 594088.64 0, 1721181.261 594046.184 0, 1720884.898 594003.745 0, 1720588.531 593961.324 0, 1720292.163 593918.921 0, 1719995.791 593876.534 0, 1719699.418 593834.166 0, 1719403.041 593791.814 0, 1719106.663 593749.48 0, 1718810.282 593707.164 0,
+ 1718513.898 593664.865 0, 1718217.512 593622.583 0, 1717921.123 593580.319 0, 1717624.732 593538.072 0, 1717328.338 593495.843 0, 1717031.942 593453.631 0, 1716735.543 593411.437 0, 1716439.142 593369.26 0, 1716141.418 593326.913 0, 1715358.501 598832.412 0,
+ 1714575.531 604338.284 0, 1714872.604 604380.539 0, 1715168.357 604422.623 0, 1715464.107 604464.726 0, 1715759.856 604506.845 0, 1716055.601 604548.982 0, 1716351.344 604591.136 0, 1716647.085 604633.308 0, 1716942.823 604675.497 0, 1717238.559 604717.704 0,
+ 1717534.292 604759.928 0, 1717830.022 604802.169 0, 1718125.751 604844.428 0, 1718421.476 604886.704 0, 1718717.2 604928.997 0, 1719012.92 604971.308 0, 1719308.638 605013.637 0, 1719604.354 605055.983 0, 1719900.067 605098.346 0, 1720195.778 605140.726 0,
+ 1720491.486 605183.124 0, 1720787.192 605225.54 0, 1721082.895 605267.972 0, 1721378.596 605310.423 0, 1721672.978 605352.701 0, 1721969.99 605395.375 0, 1722265.684 605437.878 0, 1722561.374 605480.398 0, 1722857.063 605522.935 0, 1723152.748 605565.489 0,
+ 1723448.432 605608.061 0, 1723744.112 605650.651 0, 1724039.791 605693.258 0, 1724335.466 605735.882 0, 1724631.139 605778.524 0, 1724926.81 605821.183 0, 1725222.478 605863.859 0, 1725518.144 605906.553 0, 1725813.807 605949.264 0, 1726109.468 605991.993 0,
+ 1726405.126 606034.739 0, 1726700.782 606077.502 0, 1726996.435 606120.283 0, 1727292.085 606163.082 0, 1727587.733 606205.897 0, 1727883.379 606248.73 0, 1728179.022 606291.581 0, 1728474.663 606334.449 0, 1728768.986 606377.143 0, 1729567.508 600873.505 0,
+ 1730365.976 595370.24 0))
+
+POLYGON ((1742956.624 608456.093 0, 1742662.42 608412.567 0, 1742366.902 608368.864 0, 1742071.381 608325.178 0, 1741775.858 608281.51 0, 1741480.332 608237.86 0, 1741184.803 608194.226 0, 1740889.272 608150.61 0, 1740593.739 608107.012 0, 1740298.202 608063.43 0,
+ 1740002.664 608019.867 0, 1739707.122 607976.32 0, 1739411.578 607932.791 0, 1739116.032 607889.28 0, 1738820.483 607845.786 0, 1738524.931 607802.309 0, 1738229.377 607758.849 0, 1737933.821 607715.407 0, 1737638.261 607671.983 0, 1737342.7 607628.575 0,
+ 1737047.135 607585.186 0, 1736751.568 607541.813 0, 1736455.999 607498.458 0, 1736160.427 607455.121 0, 1735863.539 607411.608 0, 1735569.275 607368.497 0, 1735273.696 607325.212 0, 1734978.113 607281.944 0, 1734682.529 607238.693 0, 1734386.941 607195.46 0,
+ 1734091.351 607152.244 0, 1733795.759 607109.046 0, 1733500.164 607065.865 0, 1733204.567 607022.701 0, 1732908.967 606979.555 0, 1732613.364 606936.426 0, 1732317.759 606893.314 0, 1732022.151 606850.22 0, 1731726.541 606807.144 0, 1731430.929 606764.084 0,
+ 1731135.313 606721.042 0, 1730839.696 606678.018 0, 1730544.075 606635.011 0, 1730248.453 606592.021 0, 1729952.827 606549.049 0, 1729657.199 606506.094 0, 1729361.569 606463.157 0, 1729065.936 606420.237 0, 1728768.986 606377.143 0, 1727970.41 611881.152 0,
+ 1727171.781 617385.528 0, 1727468.08 617428.527 0, 1727763.065 617471.353 0, 1728058.048 617514.197 0, 1728353.027 617557.057 0, 1728648.005 617599.935 0, 1728942.98 617642.831 0, 1729237.952 617685.744 0, 1729532.922 617728.674 0, 1729827.889 617771.621 0,
+ 1730122.854 617814.586 0, 1730417.817 617857.569 0, 1730712.776 617900.568 0, 1731007.733 617943.585 0, 1731302.688 617986.62 0, 1731597.64 618029.671 0, 1731892.59 618072.74 0, 1732187.537 618115.827 0, 1732482.482 618158.93 0, 1732777.424 618202.052 0,
+ 1733072.363 618245.19 0, 1733367.3 618288.346 0, 1733662.234 618331.519 0, 1733957.166 618374.71 0, 1734250.785 618417.726 0, 1734547.022 618461.143 0, 1734841.946 618504.386 0, 1735136.868 618547.646 0, 1735431.787 618590.923 0, 1735726.704 618634.218 0,
+ 1736021.618 618677.53 0, 1736316.529 618720.859 0, 1736611.438 618764.206 0, 1736906.345 618807.57 0, 1737201.249 618850.952 0, 1737496.15 618894.351 0, 1737791.048 618937.767 0, 1738085.945 618981.201 0, 1738380.838 619024.652 0, 1738675.729 619068.12 0,
+ 1738970.618 619111.605 0, 1739265.504 619155.109 0, 1739560.387 619198.629 0, 1739855.268 619242.167 0, 1740150.146 619285.722 0, 1740445.022 619329.294 0, 1740739.895 619372.884 0, 1741034.765 619416.491 0, 1741328.324 619459.922 0, 1742142.501 613957.824 0,
+ 1742956.624 608456.093 0))
+
+POLYGON ((1755478.951 621574.302 0, 1755185.514 621530.042 0, 1754890.768 621485.602 0, 1754596.019 621441.179 0, 1754301.267 621396.774 0, 1754006.513 621352.386 0, 1753711.757 621308.015 0, 1753416.998 621263.662 0, 1753122.236 621219.326 0, 1752827.471 621175.007 0,
+ 1752532.704 621130.706 0, 1752237.935 621086.422 0, 1751943.162 621042.155 0, 1751648.387 620997.906 0, 1751353.61 620953.674 0, 1751058.83 620909.46 0, 1750764.047 620865.263 0, 1750469.262 620821.083 0, 1750174.474 620776.92 0, 1749879.683 620732.775 0,
+ 1749584.89 620688.648 0, 1749290.095 620644.537 0, 1748995.296 620600.444 0, 1748700.496 620556.368 0, 1748404.385 620512.115 0, 1748110.886 620468.269 0, 1747816.077 620424.245 0, 1747521.266 620380.239 0, 1747226.452 620336.25 0, 1746931.636 620292.279 0,
+ 1746636.817 620248.324 0, 1746341.995 620204.388 0, 1746047.171 620160.468 0, 1745752.344 620116.566 0, 1745457.515 620072.681 0, 1745162.683 620028.814 0, 1744867.849 619984.963 0, 1744573.011 619941.131 0, 1744278.172 619897.315 0, 1743983.33 619853.517 0,
+ 1743688.485 619809.736 0, 1743393.637 619765.973 0, 1743098.787 619722.227 0, 1742803.935 619678.499 0, 1742509.08 619634.787 0, 1742214.222 619591.093 0, 1741919.362 619547.417 0, 1741624.499 619503.757 0, 1741328.324 619459.922 0, 1740514.094 624962.384 0,
+ 1739699.81 630465.207 0, 1739995.333 630508.946 0, 1740289.548 630552.509 0, 1740583.761 630596.09 0, 1740877.971 630639.688 0, 1741172.178 630683.303 0, 1741466.383 630726.936 0, 1741760.585 630770.586 0, 1742054.785 630814.253 0, 1742348.982 630857.937 0,
+ 1742643.177 630901.639 0, 1742937.369 630945.358 0, 1743231.558 630989.095 0, 1743525.745 631032.849 0, 1743819.929 631076.62 0, 1744114.111 631120.408 0, 1744408.29 631164.214 0, 1744702.467 631208.037 0, 1744996.64 631251.877 0, 1745290.812 631295.735 0,
+ 1745584.981 631339.61 0, 1745879.147 631383.502 0, 1746173.31 631427.412 0, 1746467.471 631471.339 0, 1746760.325 631515.088 0, 1747055.786 631559.245 0, 1747349.939 631603.223 0, 1747644.09 631647.22 0, 1747938.238 631691.233 0, 1748232.383 631735.264 0,
+ 1748526.526 631779.312 0, 1748820.667 631823.378 0, 1749114.804 631867.46 0, 1749408.939 631911.56 0, 1749703.072 631955.678 0, 1749997.202 631999.812 0, 1750291.329 632043.964 0, 1750585.454 632088.134 0, 1750879.576 632132.32 0, 1751173.696 632176.524 0,
+ 1751467.812 632220.746 0, 1751761.927 632264.984 0, 1752056.039 632309.24 0, 1752350.148 632353.513 0, 1752644.254 632397.804 0, 1752938.358 632442.111 0, 1753232.459 632486.437 0, 1753526.558 632530.779 0, 1753819.351 632574.942 0, 1754649.178 627074.442 0,
+ 1755478.951 621574.302 0))
+
+POLYGON ((1767932.875 634724.559 0, 1767640.206 634679.569 0, 1767346.234 634634.396 0, 1767052.259 634589.24 0, 1766758.282 634544.101 0, 1766464.301 634498.98 0, 1766170.319 634453.876 0, 1765876.333 634408.79 0, 1765582.345 634363.72 0, 1765288.354 634318.668 0,
+ 1764994.361 634273.634 0, 1764700.364 634228.616 0, 1764406.366 634183.616 0, 1764112.364 634138.633 0, 1763818.36 634093.668 0, 1763524.353 634048.72 0, 1763230.344 634003.789 0, 1762936.332 633958.875 0, 1762642.317 633913.979 0, 1762348.3 633869.1 0,
+ 1762054.28 633824.238 0, 1761760.258 633779.394 0, 1761466.232 633734.567 0, 1761172.205 633689.757 0, 1760876.872 633644.767 0, 1760584.141 633600.19 0, 1760290.105 633555.432 0, 1759996.067 633510.691 0, 1759702.026 633465.968 0, 1759407.982 633421.262 0,
+ 1759113.936 633376.574 0, 1758819.887 633331.902 0, 1758525.835 633287.248 0, 1758231.781 633242.612 0, 1757937.724 633197.992 0, 1757643.665 633153.39 0, 1757349.603 633108.806 0, 1757055.538 633064.238 0, 1756761.471 633019.688 0, 1756467.401 632975.155 0,
+ 1756173.329 632930.64 0, 1755879.253 632886.141 0, 1755585.176 632841.661 0, 1755291.095 632797.197 0, 1754997.012 632752.751 0, 1754702.927 632708.322 0, 1754408.838 632663.91 0, 1754114.748 632619.516 0, 1753819.351 632574.942 0, 1752989.47 638075.8 0,
+ 1752159.535 643577.012 0, 1752454.281 643621.488 0, 1752747.724 643665.784 0, 1753041.165 643710.098 0, 1753334.603 643754.429 0, 1753628.039 643798.778 0, 1753921.471 643843.143 0, 1754214.902 643887.526 0, 1754508.329 643931.927 0, 1754801.754 643976.344 0,
+ 1755095.177 644020.779 0, 1755388.597 644065.231 0, 1755682.014 644109.7 0, 1755975.428 644154.187 0, 1756268.84 644198.691 0, 1756562.25 644243.212 0, 1756855.656 644287.75 0, 1757149.06 644332.306 0, 1757442.462 644376.879 0, 1757735.861 644421.469 0,
+ 1758029.257 644466.076 0, 1758322.65 644510.701 0, 1758616.041 644555.343 0, 1758909.43 644600.002 0, 1759201.516 644644.481 0, 1759496.198 644689.373 0, 1759789.579 644734.084 0, 1760082.957 644778.812 0, 1760376.332 644823.558 0, 1760669.704 644868.321 0,
+ 1760963.074 644913.101 0, 1761256.442 644957.898 0, 1761549.806 645002.713 0, 1761843.168 645047.545 0, 1762136.527 645092.394 0, 1762429.884 645137.26 0, 1762723.238 645182.144 0, 1763016.59 645227.045 0, 1763309.938 645271.963 0, 1763603.285 645316.899 0,
+ 1763896.628 645361.852 0, 1764189.969 645406.822 0, 1764483.307 645451.809 0, 1764776.643 645496.814 0, 1765069.976 645541.836 0, 1765363.306 645586.875 0, 1765656.633 645631.931 0, 1765949.958 645677.005 0, 1766241.983 645721.896 0, 1767087.457 640223.051 0,
+ 1767932.875 634724.559 0))
+
+POLYGON ((1780318.316 647906.557 0, 1780026.417 647860.841 0, 1779733.22 647814.938 0, 1779440.021 647769.054 0, 1779146.819 647723.186 0, 1778853.615 647677.335 0, 1778560.407 647631.502 0, 1778267.197 647585.686 0, 1777973.985 647539.888 0, 1777680.77 647494.106 0,
+ 1777387.552 647448.342 0, 1777094.331 647402.595 0, 1776801.107 647356.866 0, 1776507.881 647311.154 0, 1776214.653 647265.458 0, 1775921.421 647219.781 0, 1775628.187 647174.12 0, 1775334.95 647128.477 0, 1775041.711 647082.851 0, 1774748.468 647037.242 0,
+ 1774455.223 646991.65 0, 1774161.976 646946.076 0, 1773868.726 646900.519 0, 1773575.473 646854.979 0, 1773280.921 646809.256 0, 1772988.959 646763.952 0, 1772695.698 646718.464 0, 1772402.434 646672.993 0, 1772109.168 646627.54 0, 1771815.899 646582.103 0,
+ 1771522.627 646536.684 0, 1771229.353 646491.283 0, 1770936.076 646445.898 0, 1770642.796 646400.531 0, 1770349.514 646355.181 0, 1770056.229 646309.849 0, 1769762.941 646264.533 0, 1769469.65 646219.235 0, 1769176.357 646173.955 0, 1768883.062 646128.691 0,
+ 1768589.763 646083.445 0, 1768296.462 646038.216 0, 1768003.159 645993.004 0, 1767709.852 645947.809 0, 1767416.543 645902.632 0, 1767123.232 645857.472 0, 1766829.917 645812.329 0, 1766536.6 645767.204 0, 1766241.983 645721.896 0, 1765396.456 651221.093 0,
+ 1764550.875 656720.637 0, 1764844.842 656765.845 0, 1765137.512 656810.871 0, 1765430.178 656855.914 0, 1765722.843 656900.974 0, 1766015.504 656946.052 0, 1766308.163 656991.147 0, 1766600.82 657036.259 0, 1766893.474 657081.388 0, 1767186.125 657126.534 0,
+ 1767478.773 657171.698 0, 1767771.419 657216.879 0, 1768064.062 657262.077 0, 1768356.702 657307.292 0, 1768649.34 657352.525 0, 1768941.975 657397.775 0, 1769234.607 657443.042 0, 1769527.237 657488.326 0, 1769819.864 657533.627 0, 1770112.489 657578.946 0,
+ 1770405.111 657624.282 0, 1770697.73 657669.635 0, 1770990.346 657715.005 0, 1771282.96 657760.393 0, 1771574.278 657805.597 0, 1771868.179 657851.22 0, 1772160.785 657896.659 0, 1772453.388 657942.115 0, 1772745.988 657987.589 0, 1773038.586 658033.08 0,
+ 1773331.181 658078.588 0, 1773623.774 658124.114 0, 1773916.363 658169.656 0, 1774208.95 658215.216 0, 1774501.534 658260.793 0, 1774794.116 658306.387 0, 1775086.695 658351.999 0, 1775379.271 658397.627 0, 1775671.845 658443.273 0, 1775964.416 658488.936 0,
+ 1776256.984 658534.617 0, 1776549.549 658580.314 0, 1776842.112 658626.029 0, 1777134.672 658671.761 0, 1777427.23 658717.51 0, 1777719.785 658763.277 0, 1778012.337 658809.06 0, 1778304.886 658854.861 0, 1778596.141 658900.477 0, 1779457.255 653403.343 0,
+ 1780318.316 647906.557 0))
+
+POLYGON ((1792635.192 661119.988 0, 1792344.065 661073.549 0, 1792051.646 661026.922 0, 1791759.225 660980.312 0, 1791466.8 660933.719 0, 1791174.373 660887.144 0, 1790881.944 660840.585 0, 1790589.511 660794.044 0, 1790297.076 660747.52 0, 1790004.638 660701.014 0,
+ 1789712.197 660654.524 0, 1789419.754 660608.052 0, 1789127.308 660561.597 0, 1788834.859 660515.159 0, 1788542.407 660468.738 0, 1788249.953 660422.335 0, 1787957.496 660375.949 0, 1787665.036 660329.58 0, 1787372.573 660283.228 0, 1787080.108 660236.893 0,
+ 1786787.64 660190.576 0, 1786495.169 660144.276 0, 1786202.696 660097.993 0, 1785910.219 660051.727 0, 1785616.45 660005.274 0, 1785325.259 659959.247 0, 1785032.775 659913.033 0, 1784740.288 659866.836 0, 1784447.798 659820.657 0, 1784155.305 659774.494 0,
+ 1783862.81 659728.349 0, 1783570.312 659682.221 0, 1783277.811 659636.11 0, 1782985.308 659590.017 0, 1782692.802 659543.94 0, 1782400.293 659497.881 0, 1782107.782 659451.839 0, 1781815.267 659405.815 0, 1781522.751 659359.807 0, 1781230.231 659313.817 0,
+ 1780937.709 659267.844 0, 1780645.183 659221.888 0, 1780352.656 659175.949 0, 1780060.125 659130.028 0, 1779767.592 659084.124 0, 1779475.056 659038.237 0, 1779182.518 658992.367 0, 1778889.976 658946.514 0, 1778596.141 658900.477 0, 1777734.972 664397.955 0,
+ 1776873.75 669895.774 0, 1777166.936 669941.71 0, 1777458.83 669987.461 0, 1777750.721 670033.23 0, 1778042.61 670079.015 0, 1778334.496 670124.818 0, 1778626.379 670170.637 0, 1778918.26 670216.474 0, 1779210.138 670262.329 0, 1779502.013 670308.2 0,
+ 1779793.886 670354.089 0, 1780085.755 670399.994 0, 1780377.623 670445.917 0, 1780669.487 670491.857 0, 1780961.349 670537.814 0, 1781253.208 670583.789 0, 1781545.064 670629.78 0, 1781836.918 670675.789 0, 1782128.768 670721.815 0, 1782420.617 670767.858 0,
+ 1782712.462 670813.919 0, 1783004.305 670859.996 0, 1783296.145 670906.091 0, 1783587.982 670952.203 0, 1783878.529 670998.128 0, 1784171.649 671044.478 0, 1784463.478 671090.641 0, 1784755.304 671136.822 0, 1785047.128 671183.019 0, 1785338.949 671229.234 0,
+ 1785630.767 671275.466 0, 1785922.583 671321.716 0, 1786214.396 671367.982 0, 1786506.206 671414.266 0, 1786798.013 671460.567 0, 1787089.818 671506.884 0, 1787381.62 671553.22 0, 1787673.419 671599.572 0, 1787965.216 671645.941 0, 1788257.01 671692.328 0,
+ 1788548.801 671738.732 0, 1788840.589 671785.153 0, 1789132.374 671831.591 0, 1789424.157 671878.046 0, 1789715.937 671924.519 0, 1790007.715 671971.009 0, 1790299.489 672017.516 0, 1790591.261 672064.04 0, 1790881.744 672110.376 0, 1791758.495 666615.011 0,
+ 1792635.192 661119.988 0))
+
+POLYGON ((1599437.417 477389.993 0, 1599135.559 477354.88 0, 1598832.327 477319.625 0, 1598529.093 477284.388 0, 1598225.857 477249.169 0, 1597922.619 477213.967 0, 1597619.379 477178.783 0, 1597316.137 477143.618 0, 1597012.893 477108.47 0, 1596709.646 477073.34 0,
+ 1596406.398 477038.227 0, 1596103.148 477003.133 0, 1595799.895 476968.057 0, 1595496.641 476932.998 0, 1595193.384 476897.957 0, 1594890.125 476862.934 0, 1594586.865 476827.929 0, 1594283.602 476792.942 0, 1593980.337 476757.972 0, 1593677.07 476723.021 0,
+ 1593373.801 476688.087 0, 1593070.53 476653.171 0, 1592767.257 476618.273 0, 1592463.982 476583.393 0, 1592159.332 476548.373 0, 1591857.426 476513.686 0, 1591554.145 476478.859 0, 1591250.861 476444.051 0, 1590947.576 476409.26 0, 1590644.289 476374.487 0,
+ 1590340.999 476339.731 0, 1590037.708 476304.994 0, 1589734.414 476270.275 0, 1589431.118 476235.573 0, 1589127.821 476200.889 0, 1588824.521 476166.223 0, 1588521.219 476131.575 0, 1588217.916 476096.945 0, 1587914.61 476062.332 0, 1587611.302 476027.738 0,
+ 1587307.992 475993.161 0, 1587004.68 475958.602 0, 1586701.366 475924.061 0, 1586398.05 475889.538 0, 1586094.732 475855.033 0, 1585791.412 475820.545 0, 1585488.09 475786.076 0, 1585184.766 475751.624 0, 1584880.066 475717.034 0, 1584253.807 481235.176 0,
+ 1583627.499 486753.748 0, 1583931.547 486788.264 0, 1584234.221 486822.642 0, 1584536.894 486857.038 0, 1584839.564 486891.451 0, 1585142.233 486925.883 0, 1585444.899 486960.332 0, 1585747.563 486994.799 0, 1586050.226 487029.284 0, 1586352.886 487063.786 0,
+ 1586655.544 487098.307 0, 1586958.2 487132.845 0, 1587260.855 487167.401 0, 1587563.507 487201.975 0, 1587866.157 487236.567 0, 1588168.805 487271.176 0, 1588471.451 487305.804 0, 1588774.095 487340.449 0, 1589076.737 487375.112 0, 1589379.377 487409.793 0,
+ 1589682.015 487444.491 0, 1589984.651 487479.208 0, 1590287.285 487513.942 0, 1590589.916 487548.694 0, 1590891.176 487583.306 0, 1591195.174 487618.251 0, 1591497.799 487653.057 0, 1591800.423 487687.88 0, 1592103.044 487722.721 0, 1592405.664 487757.58 0,
+ 1592708.281 487792.457 0, 1593010.897 487827.351 0, 1593313.51 487862.264 0, 1593616.121 487897.194 0, 1593918.73 487932.142 0, 1594221.338 487967.108 0, 1594523.943 488002.091 0, 1594826.546 488037.093 0, 1595129.147 488072.112 0, 1595431.745 488107.149 0,
+ 1595734.342 488142.204 0, 1596036.937 488177.276 0, 1596339.53 488212.367 0, 1596642.12 488247.475 0, 1596944.709 488282.601 0, 1597247.296 488317.745 0, 1597549.88 488352.907 0, 1597852.462 488388.086 0, 1598153.674 488423.124 0, 1598795.57 482906.344 0,
+ 1599437.417 477389.993 0))
+
+POLYGON ((1612675.075 490133.533 0, 1612373.961 490097.644 0, 1612071.479 490061.61 0, 1611768.995 490025.593 0, 1611466.509 489989.595 0, 1611164.021 489953.614 0, 1610861.531 489917.651 0, 1610559.039 489881.706 0, 1610256.544 489845.778 0, 1609954.048 489809.869 0,
+ 1609651.549 489773.977 0, 1609349.048 489738.103 0, 1609046.545 489702.247 0, 1608744.04 489666.409 0, 1608441.533 489630.588 0, 1608139.024 489594.785 0, 1607836.512 489559 0, 1607533.999 489523.233 0, 1607231.483 489487.484 0, 1606928.966 489451.752 0,
+ 1606626.446 489416.039 0, 1606323.924 489380.343 0, 1606021.4 489344.664 0, 1605718.874 489309.004 0, 1605414.978 489273.201 0, 1605113.815 489237.737 0, 1604811.283 489202.13 0, 1604508.749 489166.541 0, 1604206.212 489130.97 0, 1603903.673 489095.416 0,
+ 1603601.133 489059.881 0, 1603298.59 489024.363 0, 1602996.045 488988.863 0, 1602693.498 488953.38 0, 1602390.949 488917.916 0, 1602088.398 488882.469 0, 1601785.844 488847.04 0, 1601483.289 488811.629 0, 1601180.731 488776.236 0, 1600878.172 488740.861 0,
+ 1600575.61 488705.503 0, 1600273.047 488670.163 0, 1599970.481 488634.842 0, 1599667.913 488599.537 0, 1599365.343 488564.251 0, 1599062.771 488528.982 0, 1598760.197 488493.732 0, 1598457.621 488458.499 0, 1598153.674 488423.124 0, 1597511.728 493940.332 0,
+ 1596869.733 499457.962 0, 1597173.027 499493.261 0, 1597474.954 499528.418 0, 1597776.878 499563.593 0, 1598078.801 499598.786 0, 1598380.721 499633.997 0, 1598682.64 499669.225 0, 1598984.556 499704.471 0, 1599286.47 499739.735 0, 1599588.382 499775.017 0,
+ 1599890.293 499810.316 0, 1600192.201 499845.634 0, 1600494.106 499880.969 0, 1600796.01 499916.321 0, 1601097.912 499951.692 0, 1601399.812 499987.08 0, 1601701.709 500022.486 0, 1602003.605 500057.91 0, 1602305.498 500093.352 0, 1602607.39 500128.811 0,
+ 1602909.279 500164.288 0, 1603211.166 500199.783 0, 1603513.051 500235.296 0, 1603814.934 500270.826 0, 1604115.451 500306.214 0, 1604418.694 500341.941 0, 1604720.571 500377.524 0, 1605022.445 500413.126 0, 1605324.318 500448.745 0, 1605626.188 500484.382 0,
+ 1605928.056 500520.037 0, 1606229.923 500555.71 0, 1606531.787 500591.4 0, 1606833.649 500627.108 0, 1607135.509 500662.834 0, 1607437.366 500698.578 0, 1607739.222 500734.339 0, 1608041.076 500770.119 0, 1608342.927 500805.916 0, 1608644.777 500841.73 0,
+ 1608946.624 500877.563 0, 1609248.469 500913.413 0, 1609550.312 500949.281 0, 1609852.153 500985.167 0, 1610153.992 501021.07 0, 1610455.829 501056.992 0, 1610757.663 501092.931 0, 1611059.496 501128.888 0, 1611359.963 501164.7 0, 1612017.544 495648.905 0,
+ 1612675.075 490133.533 0))
+
+POLYGON ((1625845.314 502912.368 0, 1625544.947 502875.707 0, 1625243.217 502838.897 0, 1624941.485 502802.106 0, 1624639.751 502765.332 0, 1624338.015 502728.576 0, 1624036.277 502691.837 0, 1623734.536 502655.116 0, 1623432.793 502618.414 0, 1623131.048 502581.728 0,
+ 1622829.301 502545.061 0, 1622527.552 502508.411 0, 1622225.801 502471.78 0, 1621924.048 502435.166 0, 1621622.292 502398.569 0, 1621320.534 502361.991 0, 1621018.774 502325.43 0, 1620717.012 502288.887 0, 1620415.248 502252.361 0, 1620113.481 502215.854 0,
+ 1619811.713 502179.364 0, 1619509.942 502142.892 0, 1619208.169 502106.438 0, 1618906.394 502070.001 0, 1618603.256 502033.418 0, 1618302.838 501997.182 0, 1618001.057 501960.799 0, 1617699.273 501924.433 0, 1617397.487 501888.085 0, 1617095.7 501851.756 0,
+ 1616793.91 501815.443 0, 1616492.118 501779.149 0, 1616190.323 501742.872 0, 1615888.527 501706.614 0, 1615586.729 501670.372 0, 1615284.928 501634.149 0, 1614983.125 501597.944 0, 1614681.32 501561.756 0, 1614379.513 501525.586 0, 1614077.704 501489.433 0,
+ 1613775.893 501453.299 0, 1613474.079 501417.182 0, 1613172.264 501381.083 0, 1612870.446 501345.002 0, 1612568.626 501308.939 0, 1612266.805 501272.893 0, 1611964.981 501236.865 0, 1611663.154 501200.855 0, 1611359.963 501164.7 0, 1610702.332 506680.916 0,
+ 1610044.651 512197.549 0, 1610347.19 512233.626 0, 1610648.367 512269.559 0, 1610949.541 512305.509 0, 1611250.714 512341.477 0, 1611551.884 512377.463 0, 1611853.053 512413.467 0, 1612154.219 512449.488 0, 1612455.383 512485.527 0, 1612756.545 512521.584 0,
+ 1613057.705 512557.658 0, 1613358.862 512593.751 0, 1613660.018 512629.861 0, 1613961.171 512665.988 0, 1614262.323 512702.134 0, 1614563.472 512738.297 0, 1614864.619 512774.478 0, 1615165.764 512810.676 0, 1615466.907 512846.893 0, 1615768.047 512883.127 0,
+ 1616069.186 512919.378 0, 1616370.322 512955.648 0, 1616671.457 512991.935 0, 1616972.589 513028.24 0, 1617272.36 513064.399 0, 1617574.847 513100.903 0, 1617875.972 513137.261 0, 1618177.096 513173.637 0, 1618478.217 513210.03 0, 1618779.337 513246.442 0,
+ 1619080.454 513282.871 0, 1619381.569 513319.317 0, 1619682.682 513355.782 0, 1619983.792 513392.264 0, 1620284.901 513428.764 0, 1620586.007 513465.281 0, 1620887.111 513501.817 0, 1621188.214 513538.37 0, 1621489.314 513574.94 0, 1621790.411 513611.529 0,
+ 1622091.507 513648.135 0, 1622392.601 513684.759 0, 1622693.692 513721.401 0, 1622994.781 513758.06 0, 1623295.868 513794.737 0, 1623596.953 513831.432 0, 1623898.036 513868.145 0, 1624199.116 513904.875 0, 1624498.837 513941.457 0, 1625172.101 508426.704 0,
+ 1625845.314 502912.368 0))
+
+POLYGON ((1638948.039 515726.194 0, 1638648.42 515688.765 0, 1638347.445 515651.184 0, 1638046.467 515613.621 0, 1637745.487 515576.076 0, 1637444.505 515538.548 0, 1637143.52 515501.038 0, 1636842.534 515463.546 0, 1636541.545 515426.072 0, 1636240.554 515388.615 0,
+ 1635939.56 515351.176 0, 1635638.565 515313.755 0, 1635337.567 515276.351 0, 1635036.568 515238.965 0, 1634735.566 515201.597 0, 1634434.561 515164.247 0, 1634133.555 515126.914 0, 1633832.546 515089.599 0, 1633531.535 515052.302 0, 1633230.522 515015.022 0,
+ 1632929.507 514977.76 0, 1632628.49 514940.516 0, 1632327.47 514903.29 0, 1632026.448 514866.081 0, 1631724.068 514828.723 0, 1631424.398 514791.717 0, 1631123.37 514754.562 0, 1630822.339 514717.424 0, 1630521.307 514680.304 0, 1630220.272 514643.201 0,
+ 1629919.234 514606.117 0, 1629618.195 514569.05 0, 1629317.154 514532 0, 1629016.11 514494.969 0, 1628715.064 514457.955 0, 1628414.016 514420.959 0, 1628112.966 514383.981 0, 1627811.914 514347.02 0, 1627510.859 514310.077 0, 1627209.803 514273.152 0,
+ 1626908.744 514236.245 0, 1626607.683 514199.355 0, 1626306.619 514162.483 0, 1626005.554 514125.629 0, 1625704.486 514088.792 0, 1625403.417 514051.973 0, 1625102.345 514015.172 0, 1624801.271 513978.389 0, 1624498.837 513941.457 0, 1623825.523 519456.625 0,
+ 1623152.158 524972.204 0, 1623453.939 525009.056 0, 1623754.364 525045.76 0, 1624054.787 525082.482 0, 1624355.207 525119.221 0, 1624655.626 525155.978 0, 1624956.042 525192.753 0, 1625256.456 525229.546 0, 1625556.868 525266.356 0, 1625857.277 525303.184 0,
+ 1626157.685 525340.029 0, 1626458.09 525376.893 0, 1626758.493 525413.774 0, 1627058.894 525450.672 0, 1627359.293 525487.589 0, 1627659.69 525524.522 0, 1627960.084 525561.474 0, 1628260.477 525598.443 0, 1628560.867 525635.43 0, 1628861.255 525672.435 0,
+ 1629161.64 525709.457 0, 1629462.024 525746.498 0, 1629762.405 525783.555 0, 1630062.785 525820.631 0, 1630361.809 525857.557 0, 1630663.537 525894.834 0, 1630963.909 525931.963 0, 1631264.28 525969.109 0, 1631564.648 526006.273 0, 1631865.014 526043.454 0,
+ 1632165.378 526080.654 0, 1632465.74 526117.87 0, 1632766.099 526155.105 0, 1633066.457 526192.357 0, 1633366.812 526229.627 0, 1633667.165 526266.914 0, 1633967.515 526304.22 0, 1634267.864 526341.543 0, 1634568.21 526378.883 0, 1634868.555 526416.241 0,
+ 1635168.897 526453.617 0, 1635469.236 526491.011 0, 1635769.574 526528.422 0, 1636069.909 526565.851 0, 1636370.242 526603.298 0, 1636670.573 526640.762 0, 1636970.902 526678.244 0, 1637271.229 526715.744 0, 1637570.201 526753.092 0, 1638259.146 521239.438 0,
+ 1638948.039 515726.194 0))
+
+POLYGON ((1651983.156 528574.707 0, 1651684.287 528536.514 0, 1651384.068 528498.166 0, 1651083.846 528459.835 0, 1650783.622 528421.523 0, 1650483.396 528383.228 0, 1650183.168 528344.95 0, 1649882.937 528306.691 0, 1649582.704 528268.449 0, 1649282.469 528230.225 0,
+ 1648982.232 528192.018 0, 1648681.992 528153.829 0, 1648381.75 528115.658 0, 1648081.506 528077.504 0, 1647781.259 528039.368 0, 1647481.011 528001.25 0, 1647180.76 527963.149 0, 1646880.507 527925.066 0, 1646580.251 527887.001 0, 1646279.994 527848.953 0,
+ 1645979.734 527810.923 0, 1645679.472 527772.911 0, 1645379.207 527734.917 0, 1645078.941 527696.94 0, 1644777.322 527658.81 0, 1644478.401 527621.039 0, 1644178.128 527583.115 0, 1643877.852 527545.209 0, 1643577.575 527507.32 0, 1643277.295 527469.449 0,
+ 1642977.012 527431.596 0, 1642676.728 527393.761 0, 1642376.441 527355.943 0, 1642076.152 527318.143 0, 1641775.861 527280.36 0, 1641475.568 527242.595 0, 1641175.272 527204.848 0, 1640874.975 527167.119 0, 1640574.675 527129.407 0, 1640274.373 527091.713 0,
+ 1639974.068 527054.036 0, 1639673.761 527016.378 0, 1639373.453 526978.737 0, 1639073.142 526941.113 0, 1638772.828 526903.507 0, 1638472.513 526865.919 0, 1638172.195 526828.349 0, 1637871.875 526790.796 0, 1637570.201 526753.092 0, 1636881.206 532267.156 0,
+ 1636192.16 537781.624 0, 1636493.181 537819.247 0, 1636792.852 537856.718 0, 1637092.521 537894.207 0, 1637392.187 537931.714 0, 1637691.851 537969.239 0, 1637991.513 538006.781 0, 1638291.173 538044.34 0, 1638590.831 538081.918 0, 1638890.486 538119.513 0,
+ 1639190.139 538157.125 0, 1639489.79 538194.756 0, 1639789.439 538232.404 0, 1640089.085 538270.069 0, 1640388.73 538307.752 0, 1640688.372 538345.453 0, 1640988.011 538383.172 0, 1641287.649 538420.908 0, 1641587.284 538458.662 0, 1641886.918 538496.433 0,
+ 1642186.549 538534.222 0, 1642486.177 538572.029 0, 1642785.804 538609.853 0, 1643085.428 538647.695 0, 1643383.703 538685.384 0, 1643684.67 538723.431 0, 1643984.287 538761.326 0, 1644283.903 538799.239 0, 1644583.516 538837.169 0, 1644883.127 538875.117 0,
+ 1645182.735 538913.082 0, 1645482.342 538951.065 0, 1645781.946 538989.066 0, 1646081.548 539027.084 0, 1646381.148 539065.12 0, 1646680.745 539103.173 0, 1646980.34 539141.244 0, 1647279.933 539179.333 0, 1647579.524 539217.44 0, 1647879.113 539255.564 0,
+ 1648178.699 539293.705 0, 1648478.283 539331.865 0, 1648777.865 539370.042 0, 1649077.444 539408.236 0, 1649377.021 539446.448 0, 1649676.596 539484.678 0, 1649976.169 539522.926 0, 1650275.74 539561.191 0, 1650573.962 539599.302 0, 1651278.585 534086.802 0,
+ 1651983.156 528574.707 0))
+
+POLYGON ((1664950.572 541457.603 0, 1664652.456 541418.65 0, 1664352.995 541379.538 0, 1664053.531 541340.445 0, 1663754.065 541301.369 0, 1663454.597 541262.31 0, 1663155.127 541223.269 0, 1662855.654 541184.246 0, 1662556.179 541145.241 0, 1662256.702 541106.253 0,
+ 1661957.222 541067.282 0, 1661657.74 541028.33 0, 1661358.256 540989.395 0, 1661058.77 540950.477 0, 1660759.281 540911.577 0, 1660459.79 540872.695 0, 1660160.296 540833.831 0, 1659860.801 540794.984 0, 1659561.303 540756.155 0, 1659261.803 540717.343 0,
+ 1658962.3 540678.549 0, 1658662.796 540639.772 0, 1658363.288 540601.014 0, 1658063.779 540562.273 0, 1657762.923 540523.375 0, 1657464.754 540484.843 0, 1657165.238 540446.155 0, 1656865.719 540407.484 0, 1656566.198 540368.831 0, 1656266.675 540330.196 0,
+ 1655967.15 540291.578 0, 1655667.623 540252.978 0, 1655368.093 540214.396 0, 1655068.561 540175.831 0, 1654769.026 540137.283 0, 1654469.49 540098.754 0, 1654169.951 540060.242 0, 1653870.41 540021.748 0, 1653570.866 539983.271 0, 1653271.321 539944.812 0,
+ 1652971.773 539906.37 0, 1652672.223 539867.947 0, 1652372.67 539829.54 0, 1652073.115 539791.152 0, 1651773.558 539752.781 0, 1651473.999 539714.428 0, 1651174.438 539676.092 0, 1650874.874 539637.774 0, 1650573.962 539599.302 0, 1649869.288 545112.204 0,
+ 1649164.563 550625.505 0, 1649464.823 550663.894 0, 1649763.737 550702.129 0, 1650062.65 550740.381 0, 1650361.56 550778.651 0, 1650660.468 550816.939 0, 1650959.374 550855.245 0, 1651258.277 550893.568 0, 1651557.179 550931.908 0, 1651856.078 550970.266 0,
+ 1652154.974 551008.642 0, 1652453.869 551047.035 0, 1652752.761 551085.446 0, 1653051.651 551123.875 0, 1653350.539 551162.321 0, 1653649.424 551200.785 0, 1653948.307 551239.266 0, 1654247.188 551277.765 0, 1654546.067 551316.281 0, 1654844.943 551354.815 0,
+ 1655143.817 551393.367 0, 1655442.689 551431.936 0, 1655741.559 551470.523 0, 1656040.426 551509.128 0, 1656337.95 551547.576 0, 1656638.154 551586.389 0, 1656937.014 551625.047 0, 1657235.873 551663.721 0, 1657534.728 551702.414 0, 1657833.582 551741.124 0,
+ 1658132.433 551779.851 0, 1658431.283 551818.596 0, 1658730.129 551857.359 0, 1659028.974 551896.14 0, 1659327.816 551934.937 0, 1659626.656 551973.753 0, 1659925.494 552012.586 0, 1660224.329 552051.437 0, 1660523.162 552090.305 0, 1660821.993 552129.191 0,
+ 1661120.821 552168.094 0, 1661419.648 552207.016 0, 1661718.472 552245.954 0, 1662017.293 552284.91 0, 1662316.113 552323.884 0, 1662614.93 552362.876 0, 1662913.744 552401.885 0, 1663212.557 552440.911 0, 1663510.027 552479.78 0, 1664230.325 546968.492 0,
+ 1664950.572 541457.603 0))
+
+POLYGON ((1677850.195 554374.577 0, 1677552.834 554334.867 0, 1677254.133 554294.997 0, 1676955.43 554255.144 0, 1676656.724 554215.308 0, 1676358.016 554175.49 0, 1676059.305 554135.69 0, 1675760.593 554095.907 0, 1675461.878 554056.142 0, 1675163.16 554016.395 0,
+ 1674864.44 553976.665 0, 1674565.718 553936.952 0, 1674266.994 553897.257 0, 1673968.267 553857.58 0, 1673669.538 553817.921 0, 1673370.807 553778.279 0, 1673072.073 553738.654 0, 1672773.337 553699.047 0, 1672474.598 553659.458 0, 1672175.858 553619.886 0,
+ 1671877.115 553580.332 0, 1671578.369 553540.795 0, 1671279.621 553501.276 0, 1670980.871 553461.775 0, 1670680.78 553422.114 0, 1670383.364 553382.825 0, 1670084.607 553343.376 0, 1669785.848 553303.945 0, 1669487.086 553264.532 0, 1669188.322 553225.136 0,
+ 1668889.556 553185.758 0, 1668590.787 553146.397 0, 1668292.016 553107.054 0, 1667993.243 553067.728 0, 1667694.467 553028.42 0, 1667395.69 552989.13 0, 1667096.909 552949.857 0, 1666798.127 552910.602 0, 1666499.342 552871.364 0, 1666200.555 552832.144 0,
+ 1665901.765 552792.942 0, 1665602.974 552753.757 0, 1665304.18 552714.59 0, 1665005.383 552675.44 0, 1664706.585 552636.308 0, 1664407.784 552597.193 0, 1664108.98 552558.096 0, 1663810.175 552519.017 0, 1663510.027 552479.78 0, 1662789.677 557991.464 0,
+ 1662069.275 563503.541 0, 1662368.771 563542.693 0, 1662666.928 563581.687 0, 1662965.083 563620.699 0, 1663263.235 563659.729 0, 1663561.385 563698.776 0, 1663859.532 563737.84 0, 1664157.677 563776.923 0, 1664455.82 563816.022 0, 1664753.961 563855.14 0,
+ 1665052.099 563894.275 0, 1665350.235 563933.427 0, 1665648.369 563972.597 0, 1665946.5 564011.785 0, 1666244.63 564050.99 0, 1666542.756 564090.212 0, 1666840.881 564129.452 0, 1667139.003 564168.71 0, 1667437.123 564207.985 0, 1667735.24 564247.278 0,
+ 1668033.356 564286.589 0, 1668331.469 564325.916 0, 1668629.579 564365.262 0, 1668927.688 564404.625 0, 1669224.458 564443.829 0, 1669523.897 564483.403 0, 1669821.999 564522.819 0, 1670120.098 564562.252 0, 1670418.194 564601.703 0, 1670716.289 564641.171 0,
+ 1671014.381 564680.657 0, 1671312.471 564720.16 0, 1671610.558 564759.681 0, 1671908.643 564799.22 0, 1672206.726 564838.776 0, 1672504.806 564878.349 0, 1672802.884 564917.94 0, 1673100.96 564957.549 0, 1673399.034 564997.175 0, 1673697.105 565036.819 0,
+ 1673995.173 565076.48 0, 1674293.24 565116.159 0, 1674591.304 565155.855 0, 1674889.366 565195.569 0, 1675187.425 565235.3 0, 1675485.482 565275.049 0, 1675783.537 565314.816 0, 1676081.589 565354.6 0, 1676378.305 565394.223 0, 1677114.276 559884.204 0,
+ 1677850.195 554374.577 0))
+
+POLYGON ((1690681.936 567325.324 0, 1690385.332 567284.862 0, 1690087.393 567244.236 0, 1689789.452 567203.627 0, 1689491.508 567163.037 0, 1689193.562 567122.463 0, 1688895.614 567081.907 0, 1688597.663 567041.369 0, 1688299.71 567000.848 0, 1688001.754 566960.345 0,
+ 1687703.796 566919.86 0, 1687405.836 566879.392 0, 1687107.873 566838.941 0, 1686809.908 566798.508 0, 1686511.941 566758.092 0, 1686213.971 566717.694 0, 1685915.999 566677.314 0, 1685618.024 566636.951 0, 1685320.047 566596.606 0, 1685022.068 566556.278 0,
+ 1684724.086 566515.968 0, 1684426.102 566475.675 0, 1684128.116 566435.4 0, 1683830.127 566395.142 0, 1683530.803 566354.722 0, 1683234.142 566314.679 0, 1682936.146 566274.474 0, 1682638.148 566234.287 0, 1682340.147 566194.117 0, 1682042.144 566153.965 0,
+ 1681744.139 566113.83 0, 1681446.131 566073.712 0, 1681148.121 566033.613 0, 1680850.109 565993.53 0, 1680552.094 565953.466 0, 1680254.077 565913.418 0, 1679956.057 565873.389 0, 1679658.035 565833.377 0, 1679360.011 565793.382 0, 1679061.985 565753.405 0,
+ 1678763.956 565713.446 0, 1678465.924 565673.504 0, 1678167.891 565633.579 0, 1677869.855 565593.673 0, 1677571.816 565553.783 0, 1677273.776 565513.911 0, 1676975.733 565474.057 0, 1676677.687 565434.221 0, 1676378.305 565394.223 0, 1675642.282 570904.632 0,
+ 1674906.207 576415.428 0, 1675204.937 576455.338 0, 1675502.334 576495.088 0, 1675799.728 576534.856 0, 1676097.12 576574.641 0, 1676394.51 576614.443 0, 1676691.897 576654.263 0, 1676989.282 576694.101 0, 1677286.665 576733.956 0, 1677584.045 576773.828 0,
+ 1677881.423 576813.718 0, 1678178.799 576853.626 0, 1678476.172 576893.551 0, 1678773.543 576933.493 0, 1679070.912 576973.453 0, 1679368.278 577013.431 0, 1679665.642 577053.426 0, 1679963.003 577093.438 0, 1680260.362 577133.468 0, 1680557.719 577173.516 0,
+ 1680855.073 577213.581 0, 1681152.426 577253.663 0, 1681449.775 577293.763 0, 1681747.123 577333.881 0, 1682043.137 577373.836 0, 1682341.81 577414.168 0, 1682639.15 577454.338 0, 1682936.488 577494.526 0, 1683233.824 577534.731 0, 1683531.157 577574.954 0,
+ 1683828.488 577615.194 0, 1684125.816 577655.451 0, 1684423.142 577695.726 0, 1684720.466 577736.019 0, 1685017.787 577776.329 0, 1685315.106 577816.656 0, 1685612.423 577857.001 0, 1685909.737 577897.364 0, 1686207.049 577937.744 0, 1686504.358 577978.141 0,
+ 1686801.665 578018.556 0, 1687098.97 578058.989 0, 1687396.272 578099.439 0, 1687693.572 578139.907 0, 1687990.87 578180.392 0, 1688288.165 578220.894 0, 1688585.457 578261.414 0, 1688882.748 578301.952 0, 1689178.707 578342.325 0, 1689930.348 572833.631 0,
+ 1690681.936 567325.324 0))
+
+POLYGON ((1703445.707 580309.538 0, 1703149.86 580268.328 0, 1702852.686 580226.95 0, 1702555.509 580185.591 0, 1702258.329 580144.248 0, 1701961.147 580102.923 0, 1701663.963 580061.616 0, 1701366.776 580020.326 0, 1701069.587 579979.054 0, 1700772.395 579937.799 0,
+ 1700475.201 579896.562 0, 1700178.004 579855.342 0, 1699880.805 579814.14 0, 1699583.604 579772.955 0, 1699286.4 579731.788 0, 1698989.194 579690.638 0, 1698691.985 579649.505 0, 1698394.774 579608.39 0, 1698097.561 579567.293 0, 1697800.345 579526.213 0,
+ 1697503.126 579485.151 0, 1697205.906 579444.106 0, 1696908.682 579403.078 0, 1696611.457 579362.069 0, 1696312.901 579320.893 0, 1696016.998 579280.101 0, 1695719.766 579239.144 0, 1695422.53 579198.204 0, 1695125.293 579157.281 0, 1694828.053 579116.376 0,
+ 1694530.81 579075.489 0, 1694233.565 579034.619 0, 1693936.318 578993.767 0, 1693639.069 578952.932 0, 1693341.816 578912.114 0, 1693044.562 578871.314 0, 1692747.305 578830.532 0, 1692450.046 578789.767 0, 1692152.784 578749.019 0, 1691855.52 578708.289 0,
+ 1691558.254 578667.577 0, 1691260.985 578626.882 0, 1690963.714 578586.204 0, 1690666.44 578545.544 0, 1690369.164 578504.902 0, 1690071.885 578464.277 0, 1689774.605 578423.669 0, 1689477.321 578383.079 0, 1689178.707 578342.325 0, 1688427.014 583851.403 0,
+ 1687675.268 589360.86 0, 1687973.231 589401.525 0, 1688269.866 589442.027 0, 1688566.498 589482.546 0, 1688863.128 589523.082 0, 1689159.756 589563.636 0, 1689456.381 589604.207 0, 1689753.004 589644.796 0, 1690049.624 589685.402 0, 1690346.242 589726.026 0,
+ 1690642.858 589766.667 0, 1690939.471 589807.326 0, 1691236.082 589848.002 0, 1691532.69 589888.695 0, 1691829.296 589929.406 0, 1692125.9 589970.135 0, 1692422.501 590010.88 0, 1692719.1 590051.644 0, 1693015.696 590092.425 0, 1693312.29 590133.223 0,
+ 1693608.882 590174.039 0, 1693905.471 590214.872 0, 1694202.058 590255.722 0, 1694498.642 590296.59 0, 1694793.9 590337.293 0, 1695091.804 590378.379 0, 1695388.381 590419.299 0, 1695684.956 590460.237 0, 1695981.528 590501.193 0, 1696278.098 590542.165 0,
+ 1696574.666 590583.156 0, 1696871.231 590624.163 0, 1697167.794 590665.189 0, 1697464.354 590706.231 0, 1697760.912 590747.291 0, 1698057.467 590788.369 0, 1698354.02 590829.464 0, 1698650.571 590870.576 0, 1698947.119 590911.706 0, 1699243.665 590952.854 0,
+ 1699540.208 590994.018 0, 1699836.749 591035.201 0, 1700133.288 591076.4 0, 1700429.824 591117.618 0, 1700726.357 591158.852 0, 1701022.889 591200.104 0, 1701319.417 591241.374 0, 1701615.944 591282.661 0, 1701911.145 591323.781 0, 1702678.452 585816.469 0,
+ 1703445.707 580309.538 0))
+
+POLYGON ((1716141.418 593326.913 0, 1715846.333 593284.959 0, 1715549.924 593242.834 0, 1715253.513 593200.727 0, 1714957.1 593158.637 0, 1714660.684 593116.565 0, 1714364.265 593074.51 0, 1714067.844 593032.473 0, 1713771.421 592990.453 0, 1713474.995 592948.451 0,
+ 1713178.566 592906.466 0, 1712882.136 592864.498 0, 1712585.702 592822.548 0, 1712289.267 592780.615 0, 1711992.828 592738.7 0, 1711696.388 592696.802 0, 1711399.945 592654.922 0, 1711103.499 592613.059 0, 1710807.051 592571.214 0, 1710510.6 592529.386 0,
+ 1710214.147 592487.575 0, 1709917.692 592445.782 0, 1709621.234 592404.006 0, 1709324.773 592362.248 0, 1709026.989 592320.322 0, 1708731.845 592278.784 0, 1708435.378 592237.078 0, 1708138.907 592195.39 0, 1707842.435 592153.719 0, 1707545.96 592112.066 0,
+ 1707249.482 592070.43 0, 1706953.002 592028.811 0, 1706656.519 591987.21 0, 1706360.035 591945.626 0, 1706063.547 591904.06 0, 1705767.057 591862.511 0, 1705470.565 591820.98 0, 1705174.07 591779.466 0, 1704877.573 591737.97 0, 1704581.074 591696.491 0,
+ 1704284.572 591655.029 0, 1703988.067 591613.585 0, 1703691.56 591572.159 0, 1703395.051 591530.749 0, 1703098.539 591489.358 0, 1702802.025 591447.983 0, 1702505.508 591406.627 0, 1702208.989 591365.287 0, 1701911.145 591323.781 0, 1701143.785 596831.47 0,
+ 1700376.373 602339.532 0, 1700673.566 602380.948 0, 1700969.437 602422.197 0, 1701265.305 602463.463 0, 1701561.171 602504.747 0, 1701857.034 602546.048 0, 1702152.895 602587.367 0, 1702448.754 602628.703 0, 1702744.61 602670.056 0, 1703040.464 602711.427 0,
+ 1703336.315 602752.815 0, 1703632.164 602794.221 0, 1703928.01 602835.644 0, 1704223.854 602877.085 0, 1704519.696 602918.543 0, 1704815.535 602960.018 0, 1705111.371 603001.511 0, 1705407.206 603043.021 0, 1705703.037 603084.548 0, 1705998.867 603126.093 0,
+ 1706294.694 603167.656 0, 1706590.518 603209.236 0, 1706886.34 603250.833 0, 1707182.159 603292.447 0, 1707476.658 603333.894 0, 1707773.791 603375.729 0, 1708069.603 603417.396 0, 1708365.413 603459.08 0, 1708661.22 603500.782 0, 1708957.025 603542.501 0,
+ 1709252.827 603584.237 0, 1709548.627 603625.991 0, 1709844.425 603667.763 0, 1710140.22 603709.551 0, 1710436.012 603751.357 0, 1710731.802 603793.181 0, 1711027.59 603835.022 0, 1711323.375 603876.88 0, 1711619.158 603918.756 0, 1711914.938 603960.649 0,
+ 1712210.716 604002.56 0, 1712506.491 604044.488 0, 1712802.264 604086.433 0, 1713098.034 604128.396 0, 1713393.802 604170.376 0, 1713689.567 604212.374 0, 1713985.33 604254.389 0, 1714281.091 604296.422 0, 1714575.531 604338.284 0, 1715358.501 598832.412 0,
+ 1716141.418 593326.913 0))
+
+POLYGON ((1728768.986 606377.143 0, 1728474.663 606334.449 0, 1728179.022 606291.581 0, 1727883.379 606248.73 0, 1727587.733 606205.897 0, 1727292.085 606163.082 0, 1726996.435 606120.283 0, 1726700.782 606077.502 0, 1726405.126 606034.739 0, 1726109.468 605991.993 0,
+ 1725813.807 605949.264 0, 1725518.144 605906.553 0, 1725222.478 605863.859 0, 1724926.81 605821.183 0, 1724631.139 605778.524 0, 1724335.466 605735.882 0, 1724039.791 605693.258 0, 1723744.112 605650.651 0, 1723448.432 605608.061 0, 1723152.748 605565.489 0,
+ 1722857.063 605522.935 0, 1722561.374 605480.398 0, 1722265.684 605437.878 0, 1721969.99 605395.375 0, 1721672.978 605352.701 0, 1721378.596 605310.423 0, 1721082.895 605267.972 0, 1720787.192 605225.54 0, 1720491.486 605183.124 0, 1720195.778 605140.726 0,
+ 1719900.067 605098.346 0, 1719604.354 605055.983 0, 1719308.638 605013.637 0, 1719012.92 604971.308 0, 1718717.2 604928.997 0, 1718421.476 604886.704 0, 1718125.751 604844.428 0, 1717830.022 604802.169 0, 1717534.292 604759.928 0, 1717238.559 604717.704 0,
+ 1716942.823 604675.497 0, 1716647.085 604633.308 0, 1716351.344 604591.136 0, 1716055.601 604548.982 0, 1715759.856 604506.845 0, 1715464.107 604464.726 0, 1715168.357 604422.623 0, 1714872.604 604380.539 0, 1714575.531 604338.284 0, 1713792.508 609844.527 0,
+ 1713009.433 615351.138 0, 1713305.855 615393.3 0, 1713600.96 615435.292 0, 1713896.062 615477.302 0, 1714191.162 615519.329 0, 1714486.259 615561.374 0, 1714781.354 615603.436 0, 1715076.447 615645.515 0, 1715371.537 615687.612 0, 1715666.624 615729.726 0,
+ 1715961.709 615771.857 0, 1716256.792 615814.006 0, 1716551.872 615856.172 0, 1716846.949 615898.355 0, 1717142.024 615940.556 0, 1717437.097 615982.775 0, 1717732.167 616025.01 0, 1718027.235 616067.263 0, 1718322.3 616109.533 0, 1718617.363 616151.821 0,
+ 1718912.423 616194.126 0, 1719207.48 616236.449 0, 1719502.536 616278.788 0, 1719797.588 616321.146 0, 1720091.325 616363.332 0, 1720387.686 616405.912 0, 1720682.731 616448.321 0, 1720977.774 616490.748 0, 1721272.814 616533.192 0, 1721567.852 616575.653 0,
+ 1721862.887 616618.132 0, 1722157.92 616660.628 0, 1722452.95 616703.142 0, 1722747.978 616745.672 0, 1723043.003 616788.221 0, 1723338.026 616830.786 0, 1723633.046 616873.369 0, 1723928.064 616915.969 0, 1724223.079 616958.587 0, 1724518.091 617001.222 0,
+ 1724813.102 617043.874 0, 1725108.109 617086.544 0, 1725403.114 617129.231 0, 1725698.117 617171.936 0, 1725993.117 617214.658 0, 1726288.115 617257.397 0, 1726583.11 617300.153 0, 1726878.102 617342.927 0, 1727171.781 617385.528 0, 1727970.41 611881.152 0,
+ 1728768.986 606377.143 0))
+
+POLYGON ((1741328.324 619459.922 0, 1741034.765 619416.491 0, 1740739.895 619372.884 0, 1740445.022 619329.294 0, 1740150.146 619285.722 0, 1739855.268 619242.167 0, 1739560.387 619198.629 0, 1739265.504 619155.109 0, 1738970.618 619111.605 0, 1738675.729 619068.12 0,
+ 1738380.838 619024.652 0, 1738085.945 618981.201 0, 1737791.048 618937.767 0, 1737496.15 618894.351 0, 1737201.249 618850.952 0, 1736906.345 618807.57 0, 1736611.438 618764.206 0, 1736316.529 618720.859 0, 1736021.618 618677.53 0, 1735726.704 618634.218 0,
+ 1735431.787 618590.923 0, 1735136.868 618547.646 0, 1734841.946 618504.386 0, 1734547.022 618461.143 0, 1734250.785 618417.726 0, 1733957.166 618374.71 0, 1733662.234 618331.519 0, 1733367.3 618288.346 0, 1733072.363 618245.19 0, 1732777.424 618202.052 0,
+ 1732482.482 618158.93 0, 1732187.537 618115.827 0, 1731892.59 618072.74 0, 1731597.64 618029.671 0, 1731302.688 617986.62 0, 1731007.733 617943.585 0, 1730712.776 617900.568 0, 1730417.817 617857.569 0, 1730122.854 617814.586 0, 1729827.889 617771.621 0,
+ 1729532.922 617728.674 0, 1729237.952 617685.744 0, 1728942.98 617642.831 0, 1728648.005 617599.935 0, 1728353.027 617557.057 0, 1728058.048 617514.197 0, 1727763.065 617471.353 0, 1727468.08 617428.527 0, 1727171.781 617385.528 0, 1726373.099 622890.269 0,
+ 1725574.364 628395.37 0, 1725870.013 628438.274 0, 1726164.35 628481.006 0, 1726458.684 628523.756 0, 1726753.016 628566.522 0, 1727047.346 628609.306 0, 1727341.672 628652.107 0, 1727635.997 628694.926 0, 1727930.319 628737.762 0, 1728224.638 628780.615 0,
+ 1728518.955 628823.485 0, 1728813.269 628866.373 0, 1729107.581 628909.278 0, 1729401.89 628952.201 0, 1729696.197 628995.141 0, 1729990.501 629038.098 0, 1730284.803 629081.072 0, 1730579.102 629124.064 0, 1730873.399 629167.073 0, 1731167.693 629210.1 0,
+ 1731461.984 629253.143 0, 1731756.273 629296.204 0, 1732050.56 629339.283 0, 1732344.844 629382.378 0, 1732637.818 629425.3 0, 1732933.404 629468.622 0, 1733227.681 629511.77 0, 1733521.954 629554.934 0, 1733816.226 629598.117 0, 1734110.494 629641.316 0,
+ 1734404.761 629684.533 0, 1734699.024 629727.768 0, 1734993.285 629771.019 0, 1735287.544 629814.288 0, 1735581.8 629857.574 0, 1735876.053 629900.878 0, 1736170.304 629944.199 0, 1736464.552 629987.537 0, 1736758.798 630030.892 0, 1737053.041 630074.265 0,
+ 1737347.282 630117.655 0, 1737641.52 630161.063 0, 1737935.756 630204.488 0, 1738229.989 630247.93 0, 1738524.219 630291.389 0, 1738818.447 630334.866 0, 1739112.673 630378.36 0, 1739406.895 630421.871 0, 1739699.81 630465.207 0, 1740514.094 624962.384 0,
+ 1741328.324 619459.922 0))
+
+POLYGON ((1753819.351 632574.942 0, 1753526.558 632530.779 0, 1753232.459 632486.437 0, 1752938.358 632442.111 0, 1752644.254 632397.804 0, 1752350.148 632353.513 0, 1752056.039 632309.24 0, 1751761.927 632264.984 0, 1751467.812 632220.746 0, 1751173.696 632176.524 0,
+ 1750879.576 632132.32 0, 1750585.454 632088.134 0, 1750291.329 632043.964 0, 1749997.202 631999.812 0, 1749703.072 631955.678 0, 1749408.939 631911.56 0, 1749114.804 631867.46 0, 1748820.667 631823.378 0, 1748526.526 631779.312 0, 1748232.383 631735.264 0,
+ 1747938.238 631691.233 0, 1747644.09 631647.22 0, 1747349.939 631603.223 0, 1747055.786 631559.245 0, 1746760.325 631515.088 0, 1746467.471 631471.339 0, 1746173.31 631427.412 0, 1745879.147 631383.502 0, 1745584.981 631339.61 0, 1745290.812 631295.735 0,
+ 1744996.64 631251.877 0, 1744702.467 631208.037 0, 1744408.29 631164.214 0, 1744114.111 631120.408 0, 1743819.929 631076.62 0, 1743525.745 631032.849 0, 1743231.558 630989.095 0, 1742937.369 630945.358 0, 1742643.177 630901.639 0, 1742348.982 630857.937 0,
+ 1742054.785 630814.253 0, 1741760.585 630770.586 0, 1741466.383 630726.936 0, 1741172.178 630683.303 0, 1740877.971 630639.688 0, 1740583.761 630596.09 0, 1740289.548 630552.509 0, 1739995.333 630508.946 0, 1739699.81 630465.207 0, 1738885.473 635968.387 0,
+ 1738071.083 641471.922 0, 1738365.956 641515.565 0, 1738659.523 641559.032 0, 1738953.088 641602.517 0, 1739246.65 641646.019 0, 1739540.21 641689.538 0, 1739833.767 641733.075 0, 1740127.321 641776.629 0, 1740420.873 641820.2 0, 1740714.422 641863.788 0,
+ 1741007.969 641907.394 0, 1741301.513 641951.017 0, 1741595.055 641994.657 0, 1741888.594 642038.314 0, 1742182.131 642081.989 0, 1742475.665 642125.681 0, 1742769.196 642169.39 0, 1743062.725 642213.117 0, 1743356.251 642256.861 0, 1743649.775 642300.622 0,
+ 1743943.296 642344.4 0, 1744236.814 642388.196 0, 1744530.33 642432.009 0, 1744823.843 642475.839 0, 1745116.052 642519.492 0, 1745410.862 642563.551 0, 1745704.368 642607.433 0, 1745997.871 642651.332 0, 1746291.371 642695.249 0, 1746584.869 642739.183 0,
+ 1746878.364 642783.134 0, 1747171.857 642827.102 0, 1747465.347 642871.088 0, 1747758.834 642915.091 0, 1748052.319 642959.111 0, 1748345.802 643003.149 0, 1748639.281 643047.204 0, 1748932.758 643091.276 0, 1749226.233 643135.365 0, 1749519.705 643179.472 0,
+ 1749813.174 643223.596 0, 1750106.641 643267.737 0, 1750400.105 643311.895 0, 1750693.567 643356.071 0, 1750987.025 643400.264 0, 1751280.482 643444.474 0, 1751573.936 643488.702 0, 1751867.387 643532.946 0, 1752159.535 643577.012 0, 1752989.47 638075.8 0,
+ 1753819.351 632574.942 0))
+
+POLYGON ((1766241.983 645721.896 0, 1765949.958 645677.005 0, 1765656.633 645631.931 0, 1765363.306 645586.875 0, 1765069.976 645541.836 0, 1764776.643 645496.814 0, 1764483.307 645451.809 0, 1764189.969 645406.822 0, 1763896.628 645361.852 0, 1763603.285 645316.899 0,
+ 1763309.938 645271.963 0, 1763016.59 645227.045 0, 1762723.238 645182.144 0, 1762429.884 645137.26 0, 1762136.527 645092.394 0, 1761843.168 645047.545 0, 1761549.806 645002.713 0, 1761256.442 644957.898 0, 1760963.074 644913.101 0, 1760669.704 644868.321 0,
+ 1760376.332 644823.558 0, 1760082.957 644778.812 0, 1759789.579 644734.084 0, 1759496.198 644689.373 0, 1759201.516 644644.481 0, 1758909.43 644600.002 0, 1758616.041 644555.343 0, 1758322.65 644510.701 0, 1758029.257 644466.076 0, 1757735.861 644421.469 0,
+ 1757442.462 644376.879 0, 1757149.06 644332.306 0, 1756855.656 644287.75 0, 1756562.25 644243.212 0, 1756268.84 644198.691 0, 1755975.428 644154.187 0, 1755682.014 644109.7 0, 1755388.597 644065.231 0, 1755095.177 644020.779 0, 1754801.754 643976.344 0,
+ 1754508.329 643931.927 0, 1754214.902 643887.526 0, 1753921.471 643843.143 0, 1753628.039 643798.778 0, 1753334.603 643754.429 0, 1753041.165 643710.098 0, 1752747.724 643665.784 0, 1752454.281 643621.488 0, 1752159.535 643577.012 0, 1751329.547 649078.576 0,
+ 1750499.507 654580.487 0, 1750793.603 654624.864 0, 1751086.398 654669.063 0, 1751379.191 654713.279 0, 1751671.982 654757.513 0, 1751964.77 654801.763 0, 1752257.555 654846.031 0, 1752550.337 654890.316 0, 1752843.118 654934.618 0, 1753135.895 654978.938 0,
+ 1753428.67 655023.274 0, 1753721.442 655067.628 0, 1754014.212 655111.999 0, 1754306.979 655156.388 0, 1754599.743 655200.793 0, 1754892.505 655245.216 0, 1755185.264 655289.656 0, 1755478.02 655334.114 0, 1755770.774 655378.588 0, 1756063.526 655423.08 0,
+ 1756356.274 655467.589 0, 1756649.02 655512.115 0, 1756941.764 655556.659 0, 1757234.505 655601.219 0, 1757525.947 655645.6 0, 1757819.978 655690.393 0, 1758112.711 655735.005 0, 1758405.442 655779.635 0, 1758698.169 655824.281 0, 1758990.894 655868.946 0,
+ 1759283.617 655913.627 0, 1759576.336 655958.325 0, 1759869.054 656003.041 0, 1760161.768 656047.774 0, 1760454.48 656092.524 0, 1760747.189 656137.292 0, 1761039.896 656182.077 0, 1761332.6 656226.878 0, 1761625.301 656271.698 0, 1761918 656316.534 0,
+ 1762210.696 656361.388 0, 1762503.39 656406.258 0, 1762796.08 656451.146 0, 1763088.769 656496.052 0, 1763381.454 656540.974 0, 1763674.137 656585.914 0, 1763966.817 656630.871 0, 1764259.495 656675.845 0, 1764550.875 656720.637 0, 1765396.456 651221.093 0,
+ 1766241.983 645721.896 0))
+
+POLYGON ((1778596.141 658900.477 0, 1778304.886 658854.861 0, 1778012.337 658809.06 0, 1777719.785 658763.277 0, 1777427.23 658717.51 0, 1777134.672 658671.761 0, 1776842.112 658626.029 0, 1776549.549 658580.314 0, 1776256.984 658534.617 0, 1775964.416 658488.936 0,
+ 1775671.845 658443.273 0, 1775379.271 658397.627 0, 1775086.695 658351.999 0, 1774794.116 658306.387 0, 1774501.534 658260.793 0, 1774208.95 658215.216 0, 1773916.363 658169.656 0, 1773623.774 658124.114 0, 1773331.181 658078.588 0, 1773038.586 658033.08 0,
+ 1772745.988 657987.589 0, 1772453.388 657942.115 0, 1772160.785 657896.659 0, 1771868.179 657851.22 0, 1771574.278 657805.597 0, 1771282.96 657760.393 0, 1770990.346 657715.005 0, 1770697.73 657669.635 0, 1770405.111 657624.282 0, 1770112.489 657578.946 0,
+ 1769819.864 657533.627 0, 1769527.237 657488.326 0, 1769234.607 657443.042 0, 1768941.975 657397.775 0, 1768649.34 657352.525 0, 1768356.702 657307.292 0, 1768064.062 657262.077 0, 1767771.419 657216.879 0, 1767478.773 657171.698 0, 1767186.125 657126.534 0,
+ 1766893.474 657081.388 0, 1766600.82 657036.259 0, 1766308.163 656991.147 0, 1766015.504 656946.052 0, 1765722.843 656900.974 0, 1765430.178 656855.914 0, 1765137.512 656810.871 0, 1764844.842 656765.845 0, 1764550.875 656720.637 0, 1763705.241 662220.527 0,
+ 1762859.555 667720.757 0, 1763152.871 667765.865 0, 1763444.894 667810.791 0, 1763736.913 667855.735 0, 1764028.93 667900.695 0, 1764320.944 667945.673 0, 1764612.956 667990.668 0, 1764904.965 668035.68 0, 1765196.971 668080.71 0, 1765488.975 668125.756 0,
+ 1765780.976 668170.82 0, 1766072.974 668215.901 0, 1766364.97 668260.999 0, 1766656.963 668306.114 0, 1766948.953 668351.247 0, 1767240.941 668396.396 0, 1767532.926 668441.563 0, 1767824.908 668486.747 0, 1768116.888 668531.949 0, 1768408.865 668577.167 0,
+ 1768700.84 668622.403 0, 1768992.812 668667.655 0, 1769284.781 668712.925 0, 1769576.747 668758.213 0, 1769867.42 668803.317 0, 1770160.672 668848.838 0, 1770452.63 668894.177 0, 1770744.586 668939.533 0, 1771036.539 668984.906 0, 1771328.49 669030.296 0,
+ 1771620.437 669075.704 0, 1771912.383 669121.129 0, 1772204.325 669166.57 0, 1772496.265 669212.029 0, 1772788.202 669257.506 0, 1773080.136 669302.999 0, 1773372.068 669348.509 0, 1773663.997 669394.037 0, 1773955.923 669439.582 0, 1774247.847 669485.144 0,
+ 1774539.768 669530.724 0, 1774831.686 669576.32 0, 1775123.602 669621.934 0, 1775415.515 669667.564 0, 1775707.425 669713.212 0, 1775999.332 669758.878 0, 1776291.237 669804.56 0, 1776583.139 669850.26 0, 1776873.75 669895.774 0, 1777734.972 664397.955 0,
+ 1778596.141 658900.477 0))
+
+POLYGON ((1790881.744 672110.376 0, 1790591.261 672064.04 0, 1790299.489 672017.516 0, 1790007.715 671971.009 0, 1789715.937 671924.519 0, 1789424.157 671878.046 0, 1789132.374 671831.591 0, 1788840.589 671785.153 0, 1788548.801 671738.732 0, 1788257.01 671692.328 0,
+ 1787965.216 671645.941 0, 1787673.419 671599.572 0, 1787381.62 671553.22 0, 1787089.818 671506.884 0, 1786798.013 671460.567 0, 1786506.206 671414.266 0, 1786214.396 671367.982 0, 1785922.583 671321.716 0, 1785630.767 671275.466 0, 1785338.949 671229.234 0,
+ 1785047.128 671183.019 0, 1784755.304 671136.822 0, 1784463.478 671090.641 0, 1784171.649 671044.478 0, 1783878.529 670998.128 0, 1783587.982 670952.203 0, 1783296.145 670906.091 0, 1783004.305 670859.996 0, 1782712.462 670813.919 0, 1782420.617 670767.858 0,
+ 1782128.768 670721.815 0, 1781836.918 670675.789 0, 1781545.064 670629.78 0, 1781253.208 670583.789 0, 1780961.349 670537.814 0, 1780669.487 670491.857 0, 1780377.623 670445.917 0, 1780085.755 670399.994 0, 1779793.886 670354.089 0, 1779502.013 670308.2 0,
+ 1779210.138 670262.329 0, 1778918.26 670216.474 0, 1778626.379 670170.637 0, 1778334.496 670124.818 0, 1778042.61 670079.015 0, 1777750.721 670033.23 0, 1777458.83 669987.461 0, 1777166.936 669941.71 0, 1776873.75 669895.774 0, 1776012.475 675393.932 0,
+ 1775151.147 680892.424 0, 1775443.683 680938.258 0, 1775734.93 680983.908 0, 1776026.174 681029.575 0, 1776317.416 681075.259 0, 1776608.654 681120.96 0, 1776899.89 681166.678 0, 1777191.124 681212.413 0, 1777482.355 681258.166 0, 1777773.583 681303.935 0,
+ 1778064.808 681349.722 0, 1778356.031 681395.526 0, 1778647.251 681441.347 0, 1778938.468 681487.185 0, 1779229.682 681533.041 0, 1779520.894 681578.913 0, 1779812.103 681624.803 0, 1780103.31 681670.71 0, 1780394.514 681716.634 0, 1780685.715 681762.575 0,
+ 1780976.913 681808.533 0, 1781268.109 681854.508 0, 1781559.302 681900.501 0, 1781850.492 681946.51 0, 1782140.395 681992.334 0, 1782432.864 682038.581 0, 1782724.046 682084.642 0, 1783015.226 682130.72 0, 1783306.402 682176.815 0, 1783597.576 682222.928 0,
+ 1783888.747 682269.057 0, 1784179.916 682315.204 0, 1784471.082 682361.368 0, 1784762.245 682407.549 0, 1785053.405 682453.747 0, 1785344.563 682499.962 0, 1785635.718 682546.194 0, 1785926.87 682592.444 0, 1786218.019 682638.711 0, 1786509.166 682684.994 0,
+ 1786800.31 682731.295 0, 1787091.452 682777.613 0, 1787382.59 682823.949 0, 1787673.726 682870.301 0, 1787964.859 682916.671 0, 1788255.99 682963.057 0, 1788547.117 683009.461 0, 1788838.242 683055.882 0, 1789128.081 683102.115 0, 1790004.939 677606.078 0,
+ 1790881.744 672110.376 0))
+
+POLYGON ((1584880.066 475717.034 0, 1584578.112 475682.774 0, 1584274.782 475648.376 0, 1583971.45 475613.996 0, 1583668.116 475579.633 0, 1583364.779 475545.288 0, 1583061.441 475510.962 0, 1582758.101 475476.653 0, 1582454.759 475442.362 0, 1582151.414 475408.089 0,
+ 1581848.068 475373.833 0, 1581544.72 475339.596 0, 1581241.369 475305.376 0, 1580938.017 475271.174 0, 1580634.663 475236.99 0, 1580331.306 475202.824 0, 1580027.948 475168.676 0, 1579724.587 475134.546 0, 1579421.225 475100.433 0, 1579117.861 475066.338 0,
+ 1578814.494 475032.262 0, 1578511.126 474998.203 0, 1578207.755 474964.162 0, 1577904.383 474930.138 0, 1577599.633 474895.979 0, 1577297.632 474862.146 0, 1576994.253 474828.176 0, 1576690.873 474794.224 0, 1576387.491 474760.29 0, 1576084.106 474726.374 0,
+ 1575780.72 474692.476 0, 1575477.331 474658.595 0, 1575173.941 474624.733 0, 1574870.548 474590.888 0, 1574567.154 474557.061 0, 1574263.758 474523.252 0, 1573960.359 474489.461 0, 1573656.959 474455.688 0, 1573353.557 474421.933 0, 1573050.152 474388.195 0,
+ 1572746.746 474354.476 0, 1572443.338 474320.774 0, 1572139.927 474287.09 0, 1571836.515 474253.424 0, 1571533.101 474219.775 0, 1571229.684 474186.145 0, 1570926.266 474152.533 0, 1570622.846 474118.938 0, 1570318.047 474085.209 0, 1569707.38 479605.098 0,
+ 1569096.665 485125.417 0, 1569400.812 485159.074 0, 1569703.582 485192.597 0, 1570006.351 485226.138 0, 1570309.117 485259.696 0, 1570611.882 485293.272 0, 1570914.644 485326.866 0, 1571217.405 485360.478 0, 1571520.163 485394.108 0, 1571822.92 485427.755 0,
+ 1572125.675 485461.42 0, 1572428.427 485495.103 0, 1572731.178 485528.804 0, 1573033.926 485562.523 0, 1573336.673 485596.26 0, 1573639.418 485630.014 0, 1573942.16 485663.786 0, 1574244.901 485697.576 0, 1574547.64 485731.384 0, 1574850.376 485765.21 0,
+ 1575153.111 485799.053 0, 1575455.844 485832.914 0, 1575758.575 485866.793 0, 1576061.303 485900.69 0, 1576362.657 485934.451 0, 1576666.755 485968.538 0, 1576969.478 486002.488 0, 1577272.198 486036.456 0, 1577574.917 486070.442 0, 1577877.634 486104.446 0,
+ 1578180.349 486138.468 0, 1578483.061 486172.507 0, 1578785.772 486206.564 0, 1579088.481 486240.639 0, 1579391.187 486274.732 0, 1579693.892 486308.843 0, 1579996.595 486342.972 0, 1580299.296 486377.118 0, 1580601.994 486411.282 0, 1580904.691 486445.464 0,
+ 1581207.386 486479.664 0, 1581510.078 486513.882 0, 1581812.769 486548.117 0, 1582115.457 486582.37 0, 1582418.144 486616.641 0, 1582720.829 486650.93 0, 1583023.511 486685.237 0, 1583326.192 486719.561 0, 1583627.499 486753.748 0, 1584253.807 481235.176 0,
+ 1584880.066 475717.034 0))
+
+POLYGON ((1598153.674 488423.124 0, 1597852.462 488388.086 0, 1597549.88 488352.907 0, 1597247.296 488317.745 0, 1596944.709 488282.601 0, 1596642.12 488247.475 0, 1596339.53 488212.367 0, 1596036.937 488177.276 0, 1595734.342 488142.204 0, 1595431.745 488107.149 0,
+ 1595129.147 488072.112 0, 1594826.546 488037.093 0, 1594523.943 488002.091 0, 1594221.338 487967.108 0, 1593918.73 487932.142 0, 1593616.121 487897.194 0, 1593313.51 487862.264 0, 1593010.897 487827.351 0, 1592708.281 487792.457 0, 1592405.664 487757.58 0,
+ 1592103.044 487722.721 0, 1591800.423 487687.88 0, 1591497.799 487653.057 0, 1591195.174 487618.251 0, 1590891.176 487583.306 0, 1590589.916 487548.694 0, 1590287.285 487513.942 0, 1589984.651 487479.208 0, 1589682.015 487444.491 0, 1589379.377 487409.793 0,
+ 1589076.737 487375.112 0, 1588774.095 487340.449 0, 1588471.451 487305.804 0, 1588168.805 487271.176 0, 1587866.157 487236.567 0, 1587563.507 487201.975 0, 1587260.855 487167.401 0, 1586958.2 487132.845 0, 1586655.544 487098.307 0, 1586352.886 487063.786 0,
+ 1586050.226 487029.284 0, 1585747.563 486994.799 0, 1585444.899 486960.332 0, 1585142.233 486925.883 0, 1584839.564 486891.451 0, 1584536.894 486857.038 0, 1584234.221 486822.642 0, 1583931.547 486788.264 0, 1583627.499 486753.748 0, 1583001.143 492272.747 0,
+ 1582374.738 497792.169 0, 1582678.133 497826.611 0, 1582980.158 497860.915 0, 1583282.181 497895.237 0, 1583584.202 497929.577 0, 1583886.22 497963.934 0, 1584188.237 497998.31 0, 1584490.252 498032.703 0, 1584792.265 498067.114 0, 1585094.275 498101.542 0,
+ 1585396.284 498135.989 0, 1585698.29 498170.453 0, 1586000.295 498204.935 0, 1586302.297 498239.434 0, 1586604.298 498273.952 0, 1586906.296 498308.487 0, 1587208.293 498343.04 0, 1587510.287 498377.611 0, 1587812.279 498412.199 0, 1588114.27 498446.806 0,
+ 1588416.258 498481.43 0, 1588718.244 498516.072 0, 1589020.229 498550.732 0, 1589322.211 498585.409 0, 1589622.824 498619.947 0, 1589926.169 498654.817 0, 1590228.145 498689.548 0, 1590530.119 498724.296 0, 1590832.091 498759.063 0, 1591134.061 498793.847 0,
+ 1591436.029 498828.649 0, 1591737.994 498863.468 0, 1592039.958 498898.306 0, 1592341.92 498933.161 0, 1592643.879 498968.034 0, 1592945.837 499002.925 0, 1593247.793 499037.833 0, 1593549.746 499072.759 0, 1593851.697 499107.703 0, 1594153.647 499142.665 0,
+ 1594455.594 499177.645 0, 1594757.539 499212.642 0, 1595059.483 499247.657 0, 1595361.424 499282.69 0, 1595663.363 499317.741 0, 1595965.3 499352.809 0, 1596267.235 499387.896 0, 1596569.168 499423 0, 1596869.733 499457.962 0, 1597511.728 493940.332 0,
+ 1598153.674 488423.124 0))
+
+POLYGON ((1611359.963 501164.7 0, 1611059.496 501128.888 0, 1610757.663 501092.931 0, 1610455.829 501056.992 0, 1610153.992 501021.07 0, 1609852.153 500985.167 0, 1609550.312 500949.281 0, 1609248.469 500913.413 0, 1608946.624 500877.563 0, 1608644.777 500841.73 0,
+ 1608342.927 500805.916 0, 1608041.076 500770.119 0, 1607739.222 500734.339 0, 1607437.366 500698.578 0, 1607135.509 500662.834 0, 1606833.649 500627.108 0, 1606531.787 500591.4 0, 1606229.923 500555.71 0, 1605928.056 500520.037 0, 1605626.188 500484.382 0,
+ 1605324.318 500448.745 0, 1605022.445 500413.126 0, 1604720.571 500377.524 0, 1604418.694 500341.941 0, 1604115.451 500306.214 0, 1603814.934 500270.826 0, 1603513.051 500235.296 0, 1603211.166 500199.783 0, 1602909.279 500164.288 0, 1602607.39 500128.811 0,
+ 1602305.498 500093.352 0, 1602003.605 500057.91 0, 1601701.709 500022.486 0, 1601399.812 499987.08 0, 1601097.912 499951.692 0, 1600796.01 499916.321 0, 1600494.106 499880.969 0, 1600192.201 499845.634 0, 1599890.293 499810.316 0, 1599588.382 499775.017 0,
+ 1599286.47 499739.735 0, 1598984.556 499704.471 0, 1598682.64 499669.225 0, 1598380.721 499633.997 0, 1598078.801 499598.786 0, 1597776.878 499563.593 0, 1597474.954 499528.418 0, 1597173.027 499493.261 0, 1596869.733 499457.962 0, 1596227.688 504976.014 0,
+ 1595585.595 510494.484 0, 1595888.237 510529.706 0, 1596189.515 510564.788 0, 1596490.79 510599.887 0, 1596792.063 510635.004 0, 1597093.333 510670.139 0, 1597394.602 510705.292 0, 1597695.869 510740.462 0, 1597997.134 510775.65 0, 1598298.396 510810.856 0,
+ 1598599.657 510846.079 0, 1598900.915 510881.321 0, 1599202.172 510916.58 0, 1599503.426 510951.856 0, 1599804.678 510987.151 0, 1600105.928 511022.463 0, 1600407.176 511057.793 0, 1600708.422 511093.141 0, 1601009.666 511128.506 0, 1601310.908 511163.889 0,
+ 1601612.148 511199.29 0, 1601913.386 511234.708 0, 1602214.621 511270.145 0, 1602515.855 511305.599 0, 1602815.725 511340.91 0, 1603118.315 511376.56 0, 1603419.543 511412.067 0, 1603720.768 511447.592 0, 1604021.991 511483.135 0, 1604323.212 511518.695 0,
+ 1604624.431 511554.273 0, 1604925.647 511589.869 0, 1605226.862 511625.483 0, 1605528.075 511661.114 0, 1605829.285 511696.763 0, 1606130.494 511732.43 0, 1606431.7 511768.114 0, 1606732.904 511803.817 0, 1607034.106 511839.537 0, 1607335.306 511875.274 0,
+ 1607636.504 511911.03 0, 1607937.7 511946.803 0, 1608238.893 511982.594 0, 1608540.085 512018.402 0, 1608841.274 512054.229 0, 1609142.462 512090.073 0, 1609443.647 512125.934 0, 1609744.83 512161.814 0, 1610044.651 512197.549 0, 1610702.332 506680.916 0,
+ 1611359.963 501164.7 0))
+
+POLYGON ((1624498.837 513941.457 0, 1624199.116 513904.875 0, 1623898.036 513868.145 0, 1623596.953 513831.432 0, 1623295.868 513794.737 0, 1622994.781 513758.06 0, 1622693.692 513721.401 0, 1622392.601 513684.759 0, 1622091.507 513648.135 0, 1621790.411 513611.529 0,
+ 1621489.314 513574.94 0, 1621188.214 513538.37 0, 1620887.111 513501.817 0, 1620586.007 513465.281 0, 1620284.901 513428.764 0, 1619983.792 513392.264 0, 1619682.682 513355.782 0, 1619381.569 513319.317 0, 1619080.454 513282.871 0, 1618779.337 513246.442 0,
+ 1618478.217 513210.03 0, 1618177.096 513173.637 0, 1617875.972 513137.261 0, 1617574.847 513100.903 0, 1617272.36 513064.399 0, 1616972.589 513028.24 0, 1616671.457 512991.935 0, 1616370.322 512955.648 0, 1616069.186 512919.378 0, 1615768.047 512883.127 0,
+ 1615466.907 512846.893 0, 1615165.764 512810.676 0, 1614864.619 512774.478 0, 1614563.472 512738.297 0, 1614262.323 512702.134 0, 1613961.171 512665.988 0, 1613660.018 512629.861 0, 1613358.862 512593.751 0, 1613057.705 512557.658 0, 1612756.545 512521.584 0,
+ 1612455.383 512485.527 0, 1612154.219 512449.488 0, 1611853.053 512413.467 0, 1611551.884 512377.463 0, 1611250.714 512341.477 0, 1610949.541 512305.509 0, 1610648.367 512269.559 0, 1610347.19 512233.626 0, 1610044.651 512197.549 0, 1609386.921 517714.597 0,
+ 1608729.141 523232.057 0, 1609031.028 523268.056 0, 1609331.555 523303.911 0, 1609632.08 523339.784 0, 1609932.603 523375.675 0, 1610233.124 523411.583 0, 1610533.643 523447.509 0, 1610834.16 523483.453 0, 1611134.674 523519.414 0, 1611435.187 523555.393 0,
+ 1611735.697 523591.39 0, 1612036.206 523627.404 0, 1612336.712 523663.436 0, 1612637.216 523699.486 0, 1612937.718 523735.553 0, 1613238.218 523771.638 0, 1613538.715 523807.741 0, 1613839.211 523843.862 0, 1614139.704 523880 0, 1614440.195 523916.156 0,
+ 1614740.685 523952.329 0, 1615041.172 523988.521 0, 1615341.656 524024.73 0, 1615642.139 524060.956 0, 1615941.264 524097.037 0, 1616243.098 524133.463 0, 1616543.575 524169.742 0, 1616844.049 524206.04 0, 1617144.521 524242.355 0, 1617444.991 524278.687 0,
+ 1617745.459 524315.038 0, 1618045.924 524351.406 0, 1618346.388 524387.792 0, 1618646.849 524424.195 0, 1618947.309 524460.616 0, 1619247.766 524497.055 0, 1619548.221 524533.512 0, 1619848.674 524569.986 0, 1620149.124 524606.478 0, 1620449.573 524642.988 0,
+ 1620750.019 524679.515 0, 1621050.463 524716.06 0, 1621350.905 524752.622 0, 1621651.345 524789.203 0, 1621951.783 524825.801 0, 1622252.219 524862.416 0, 1622552.652 524899.05 0, 1622853.083 524935.701 0, 1623152.158 524972.204 0, 1623825.523 519456.625 0,
+ 1624498.837 513941.457 0))
+
+POLYGON ((1637570.201 526753.092 0, 1637271.229 526715.744 0, 1636970.902 526678.244 0, 1636670.573 526640.762 0, 1636370.242 526603.298 0, 1636069.909 526565.851 0, 1635769.574 526528.422 0, 1635469.236 526491.011 0, 1635168.897 526453.617 0, 1634868.555 526416.241 0,
+ 1634568.21 526378.883 0, 1634267.864 526341.543 0, 1633967.515 526304.22 0, 1633667.165 526266.914 0, 1633366.812 526229.627 0, 1633066.457 526192.357 0, 1632766.099 526155.105 0, 1632465.74 526117.87 0, 1632165.378 526080.654 0, 1631865.014 526043.454 0,
+ 1631564.648 526006.273 0, 1631264.28 525969.109 0, 1630963.909 525931.963 0, 1630663.537 525894.834 0, 1630361.809 525857.557 0, 1630062.785 525820.631 0, 1629762.405 525783.555 0, 1629462.024 525746.498 0, 1629161.64 525709.457 0, 1628861.255 525672.435 0,
+ 1628560.867 525635.43 0, 1628260.477 525598.443 0, 1627960.084 525561.474 0, 1627659.69 525524.522 0, 1627359.293 525487.589 0, 1627058.894 525450.672 0, 1626758.493 525413.774 0, 1626458.09 525376.893 0, 1626157.685 525340.029 0, 1625857.277 525303.184 0,
+ 1625556.868 525266.356 0, 1625256.456 525229.546 0, 1624956.042 525192.753 0, 1624655.626 525155.978 0, 1624355.207 525119.221 0, 1624054.787 525082.482 0, 1623754.364 525045.76 0, 1623453.939 525009.056 0, 1623152.158 524972.204 0, 1622478.744 530488.192 0,
+ 1621805.28 536004.585 0, 1622106.409 536041.357 0, 1622406.184 536077.982 0, 1622705.957 536114.624 0, 1623005.729 536151.285 0, 1623305.498 536187.962 0, 1623605.264 536224.658 0, 1623905.029 536261.371 0, 1624204.792 536298.101 0, 1624504.552 536334.849 0,
+ 1624804.31 536371.615 0, 1625104.066 536408.399 0, 1625403.82 536445.2 0, 1625703.572 536482.019 0, 1626003.321 536518.856 0, 1626303.069 536555.71 0, 1626602.814 536592.581 0, 1626902.557 536629.471 0, 1627202.298 536666.378 0, 1627502.036 536703.303 0,
+ 1627801.773 536740.245 0, 1628101.507 536777.205 0, 1628401.239 536814.183 0, 1628700.969 536851.178 0, 1628999.347 536888.024 0, 1629300.423 536925.221 0, 1629600.146 536962.269 0, 1629899.868 536999.335 0, 1630199.587 537036.419 0, 1630499.304 537073.52 0,
+ 1630799.018 537110.639 0, 1631098.731 537147.775 0, 1631398.441 537184.929 0, 1631698.149 537222.101 0, 1631997.855 537259.29 0, 1632297.559 537296.497 0, 1632597.261 537333.722 0, 1632896.96 537370.964 0, 1633196.657 537408.224 0, 1633496.352 537445.501 0,
+ 1633796.045 537482.796 0, 1634095.736 537520.109 0, 1634395.424 537557.44 0, 1634695.11 537594.788 0, 1634994.794 537632.153 0, 1635294.476 537669.537 0, 1635594.156 537706.938 0, 1635893.833 537744.356 0, 1636192.16 537781.624 0, 1636881.206 532267.156 0,
+ 1637570.201 526753.092 0))
+
+POLYGON ((1650573.962 539599.302 0, 1650275.74 539561.191 0, 1649976.169 539522.926 0, 1649676.596 539484.678 0, 1649377.021 539446.448 0, 1649077.444 539408.236 0, 1648777.865 539370.042 0, 1648478.283 539331.865 0, 1648178.699 539293.705 0, 1647879.113 539255.564 0,
+ 1647579.524 539217.44 0, 1647279.933 539179.333 0, 1646980.34 539141.244 0, 1646680.745 539103.173 0, 1646381.148 539065.12 0, 1646081.548 539027.084 0, 1645781.946 538989.066 0, 1645482.342 538951.065 0, 1645182.735 538913.082 0, 1644883.127 538875.117 0,
+ 1644583.516 538837.169 0, 1644283.903 538799.239 0, 1643984.287 538761.326 0, 1643684.67 538723.431 0, 1643383.703 538685.384 0, 1643085.428 538647.695 0, 1642785.804 538609.853 0, 1642486.177 538572.029 0, 1642186.549 538534.222 0, 1641886.918 538496.433 0,
+ 1641587.284 538458.662 0, 1641287.649 538420.908 0, 1640988.011 538383.172 0, 1640688.372 538345.453 0, 1640388.73 538307.752 0, 1640089.085 538270.069 0, 1639789.439 538232.404 0, 1639489.79 538194.756 0, 1639190.139 538157.125 0, 1638890.486 538119.513 0,
+ 1638590.831 538081.918 0, 1638291.173 538044.34 0, 1637991.513 538006.781 0, 1637691.851 537969.239 0, 1637392.187 537931.714 0, 1637092.521 537894.207 0, 1636792.852 537856.718 0, 1636493.181 537819.247 0, 1636192.16 537781.624 0, 1635503.063 543296.495 0,
+ 1634813.917 548811.765 0, 1635114.286 548849.306 0, 1635413.308 548886.696 0, 1635712.328 548924.104 0, 1636011.345 548961.53 0, 1636310.36 548998.973 0, 1636609.372 549036.434 0, 1636908.383 549073.912 0, 1637207.391 549111.408 0, 1637506.398 549148.922 0,
+ 1637805.402 549186.453 0, 1638104.403 549224.002 0, 1638403.403 549261.568 0, 1638702.4 549299.152 0, 1639001.395 549336.753 0, 1639300.388 549374.373 0, 1639599.379 549412.009 0, 1639898.367 549449.664 0, 1640197.354 549487.336 0, 1640496.338 549525.025 0,
+ 1640795.32 549562.732 0, 1641094.299 549600.457 0, 1641393.277 549638.199 0, 1641692.252 549675.959 0, 1641989.88 549713.567 0, 1642290.195 549751.532 0, 1642589.164 549789.345 0, 1642888.13 549827.175 0, 1643187.094 549865.023 0, 1643486.056 549902.888 0,
+ 1643785.016 549940.772 0, 1644083.973 549978.672 0, 1644382.928 550016.591 0, 1644681.881 550054.526 0, 1644980.832 550092.48 0, 1645279.78 550130.451 0, 1645578.726 550168.44 0, 1645877.67 550206.446 0, 1646176.612 550244.47 0, 1646475.551 550282.511 0,
+ 1646774.488 550320.57 0, 1647073.423 550358.647 0, 1647372.356 550396.741 0, 1647671.287 550434.853 0, 1647970.215 550472.983 0, 1648269.141 550511.13 0, 1648568.065 550549.294 0, 1648866.986 550587.476 0, 1649164.563 550625.505 0, 1649869.288 545112.204 0,
+ 1650573.962 539599.302 0))
+
+POLYGON ((1663510.027 552479.78 0, 1663212.557 552440.911 0, 1662913.744 552401.885 0, 1662614.93 552362.876 0, 1662316.113 552323.884 0, 1662017.293 552284.91 0, 1661718.472 552245.954 0, 1661419.648 552207.016 0, 1661120.821 552168.094 0, 1660821.993 552129.191 0,
+ 1660523.162 552090.305 0, 1660224.329 552051.437 0, 1659925.494 552012.586 0, 1659626.656 551973.753 0, 1659327.816 551934.937 0, 1659028.974 551896.14 0, 1658730.129 551857.359 0, 1658431.283 551818.596 0, 1658132.433 551779.851 0, 1657833.582 551741.124 0,
+ 1657534.728 551702.414 0, 1657235.873 551663.721 0, 1656937.014 551625.047 0, 1656638.154 551586.389 0, 1656337.95 551547.576 0, 1656040.426 551509.128 0, 1655741.559 551470.523 0, 1655442.689 551431.936 0, 1655143.817 551393.367 0, 1654844.943 551354.815 0,
+ 1654546.067 551316.281 0, 1654247.188 551277.765 0, 1653948.307 551239.266 0, 1653649.424 551200.785 0, 1653350.539 551162.321 0, 1653051.651 551123.875 0, 1652752.761 551085.446 0, 1652453.869 551047.035 0, 1652154.974 551008.642 0, 1651856.078 550970.266 0,
+ 1651557.179 550931.908 0, 1651258.277 550893.568 0, 1650959.374 550855.245 0, 1650660.468 550816.939 0, 1650361.56 550778.651 0, 1650062.65 550740.381 0, 1649763.737 550702.129 0, 1649464.823 550663.894 0, 1649164.563 550625.505 0, 1648459.787 556139.202 0,
+ 1647754.961 561653.292 0, 1648054.569 561691.597 0, 1648352.834 561729.749 0, 1648651.098 561767.919 0, 1648949.359 561806.106 0, 1649247.618 561844.311 0, 1649545.875 561882.533 0, 1649844.129 561920.773 0, 1650142.381 561959.03 0, 1650440.631 561997.305 0,
+ 1650738.879 562035.597 0, 1651037.125 562073.907 0, 1651335.368 562112.235 0, 1651633.609 562150.58 0, 1651931.847 562188.942 0, 1652230.084 562227.323 0, 1652528.318 562265.72 0, 1652826.55 562304.136 0, 1653124.78 562342.569 0, 1653423.007 562381.019 0,
+ 1653721.232 562419.487 0, 1654019.455 562457.972 0, 1654317.676 562496.475 0, 1654615.894 562534.996 0, 1654912.771 562573.361 0, 1655212.324 562612.09 0, 1655510.535 562650.663 0, 1655808.745 562689.254 0, 1656106.951 562727.862 0, 1656405.156 562766.488 0,
+ 1656703.359 562805.132 0, 1657001.559 562843.793 0, 1657299.757 562882.471 0, 1657597.952 562921.168 0, 1657896.146 562959.881 0, 1658194.337 562998.613 0, 1658492.525 563037.361 0, 1658790.712 563076.128 0, 1659088.896 563114.912 0, 1659387.078 563153.713 0,
+ 1659685.258 563192.532 0, 1659983.435 563231.368 0, 1660281.61 563270.223 0, 1660579.783 563309.094 0, 1660877.953 563347.983 0, 1661176.121 563386.89 0, 1661474.287 563425.814 0, 1661772.451 563464.756 0, 1662069.275 563503.541 0, 1662789.677 557991.464 0,
+ 1663510.027 552479.78 0))
+
+POLYGON ((1676378.305 565394.223 0, 1676081.589 565354.6 0, 1675783.537 565314.816 0, 1675485.482 565275.049 0, 1675187.425 565235.3 0, 1674889.366 565195.569 0, 1674591.304 565155.855 0, 1674293.24 565116.159 0, 1673995.173 565076.48 0, 1673697.105 565036.819 0,
+ 1673399.034 564997.175 0, 1673100.96 564957.549 0, 1672802.884 564917.94 0, 1672504.806 564878.349 0, 1672206.726 564838.776 0, 1671908.643 564799.22 0, 1671610.558 564759.681 0, 1671312.471 564720.16 0, 1671014.381 564680.657 0, 1670716.289 564641.171 0,
+ 1670418.194 564601.703 0, 1670120.098 564562.252 0, 1669821.999 564522.819 0, 1669523.897 564483.403 0, 1669224.458 564443.829 0, 1668927.688 564404.625 0, 1668629.579 564365.262 0, 1668331.469 564325.916 0, 1668033.356 564286.589 0, 1667735.24 564247.278 0,
+ 1667437.123 564207.985 0, 1667139.003 564168.71 0, 1666840.881 564129.452 0, 1666542.756 564090.212 0, 1666244.63 564050.99 0, 1665946.5 564011.785 0, 1665648.369 563972.597 0, 1665350.235 563933.427 0, 1665052.099 563894.275 0, 1664753.961 563855.14 0,
+ 1664455.82 563816.022 0, 1664157.677 563776.923 0, 1663859.532 563737.84 0, 1663561.385 563698.776 0, 1663263.235 563659.729 0, 1662965.083 563620.699 0, 1662666.928 563581.687 0, 1662368.771 563542.693 0, 1662069.275 563503.541 0, 1661348.823 569016.007 0,
+ 1660628.32 574528.861 0, 1660927.164 574567.927 0, 1661224.672 574606.837 0, 1661522.177 574645.764 0, 1661819.681 574684.708 0, 1662117.182 574723.671 0, 1662414.68 574762.65 0, 1662712.177 574801.647 0, 1663009.671 574840.662 0, 1663307.162 574879.694 0,
+ 1663604.652 574918.744 0, 1663902.139 574957.811 0, 1664199.624 574996.896 0, 1664497.106 575035.998 0, 1664794.587 575075.118 0, 1665092.065 575114.255 0, 1665389.54 575153.41 0, 1665687.014 575192.582 0, 1665984.485 575231.772 0, 1666281.953 575270.979 0,
+ 1666579.42 575310.204 0, 1666876.884 575349.446 0, 1667174.346 575388.706 0, 1667471.805 575427.983 0, 1667767.929 575467.102 0, 1668066.717 575506.59 0, 1668364.17 575545.92 0, 1668661.62 575585.268 0, 1668959.068 575624.632 0, 1669256.514 575664.015 0,
+ 1669553.957 575703.415 0, 1669851.398 575742.832 0, 1670148.836 575782.267 0, 1670446.273 575821.719 0, 1670743.707 575861.189 0, 1671041.138 575900.677 0, 1671338.568 575940.182 0, 1671635.995 575979.704 0, 1671933.42 576019.244 0, 1672230.842 576058.801 0,
+ 1672528.262 576098.376 0, 1672825.68 576137.969 0, 1673123.095 576177.579 0, 1673420.508 576217.206 0, 1673717.919 576256.851 0, 1674015.327 576296.513 0, 1674312.733 576336.193 0, 1674610.137 576375.891 0, 1674906.207 576415.428 0, 1675642.282 570904.632 0,
+ 1676378.305 565394.223 0))
+
+POLYGON ((1689178.707 578342.325 0, 1688882.748 578301.952 0, 1688585.457 578261.414 0, 1688288.165 578220.894 0, 1687990.87 578180.392 0, 1687693.572 578139.907 0, 1687396.272 578099.439 0, 1687098.97 578058.989 0, 1686801.665 578018.556 0, 1686504.358 577978.141 0,
+ 1686207.049 577937.744 0, 1685909.737 577897.364 0, 1685612.423 577857.001 0, 1685315.106 577816.656 0, 1685017.787 577776.329 0, 1684720.466 577736.019 0, 1684423.142 577695.726 0, 1684125.816 577655.451 0, 1683828.488 577615.194 0, 1683531.157 577574.954 0,
+ 1683233.824 577534.731 0, 1682936.488 577494.526 0, 1682639.15 577454.338 0, 1682341.81 577414.168 0, 1682043.137 577373.836 0, 1681747.123 577333.881 0, 1681449.775 577293.763 0, 1681152.426 577253.663 0, 1680855.073 577213.581 0, 1680557.719 577173.516 0,
+ 1680260.362 577133.468 0, 1679963.003 577093.438 0, 1679665.642 577053.426 0, 1679368.278 577013.431 0, 1679070.912 576973.453 0, 1678773.543 576933.493 0, 1678476.172 576893.551 0, 1678178.799 576853.626 0, 1677881.423 576813.718 0, 1677584.045 576773.828 0,
+ 1677286.665 576733.956 0, 1676989.282 576694.101 0, 1676691.897 576654.263 0, 1676394.51 576614.443 0, 1676097.12 576574.641 0, 1675799.728 576534.856 0, 1675502.334 576495.088 0, 1675204.937 576455.338 0, 1674906.207 576415.428 0, 1674170.081 581926.607 0,
+ 1673433.904 587438.166 0, 1673731.983 587477.99 0, 1674028.73 587517.653 0, 1674325.476 587557.334 0, 1674622.219 587597.032 0, 1674918.96 587636.747 0, 1675215.699 587676.481 0, 1675512.435 587716.231 0, 1675809.169 587755.999 0, 1676105.901 587795.785 0,
+ 1676402.63 587835.588 0, 1676699.357 587875.408 0, 1676996.081 587915.246 0, 1677292.803 587955.101 0, 1677589.523 587994.974 0, 1677886.241 588034.865 0, 1678182.956 588074.772 0, 1678479.669 588114.698 0, 1678776.379 588154.64 0, 1679073.087 588194.6 0,
+ 1679369.793 588234.578 0, 1679666.496 588274.573 0, 1679963.197 588314.586 0, 1680259.896 588354.616 0, 1680555.265 588394.484 0, 1680853.286 588434.728 0, 1681149.978 588474.811 0, 1681446.667 588514.91 0, 1681743.354 588555.028 0, 1682040.039 588595.163 0,
+ 1682336.721 588635.315 0, 1682633.401 588675.485 0, 1682930.078 588715.672 0, 1683226.753 588755.876 0, 1683523.426 588796.098 0, 1683820.096 588836.338 0, 1684116.764 588876.595 0, 1684413.43 588916.87 0, 1684710.093 588957.161 0, 1685006.754 588997.471 0,
+ 1685303.412 589037.798 0, 1685600.068 589078.142 0, 1685896.722 589118.504 0, 1686193.373 589158.883 0, 1686490.022 589199.28 0, 1686786.669 589239.694 0, 1687083.313 589280.126 0, 1687379.955 589320.575 0, 1687675.268 589360.86 0, 1688427.014 583851.403 0,
+ 1689178.707 578342.325 0))
+
+POLYGON ((1701911.145 591323.781 0, 1701615.944 591282.661 0, 1701319.417 591241.374 0, 1701022.889 591200.104 0, 1700726.357 591158.852 0, 1700429.824 591117.618 0, 1700133.288 591076.4 0, 1699836.749 591035.201 0, 1699540.208 590994.018 0, 1699243.665 590952.854 0,
+ 1698947.119 590911.706 0, 1698650.571 590870.576 0, 1698354.02 590829.464 0, 1698057.467 590788.369 0, 1697760.912 590747.291 0, 1697464.354 590706.231 0, 1697167.794 590665.189 0, 1696871.231 590624.163 0, 1696574.666 590583.156 0, 1696278.098 590542.165 0,
+ 1695981.528 590501.193 0, 1695684.956 590460.237 0, 1695388.381 590419.299 0, 1695091.804 590378.379 0, 1694793.9 590337.293 0, 1694498.642 590296.59 0, 1694202.058 590255.722 0, 1693905.471 590214.872 0, 1693608.882 590174.039 0, 1693312.29 590133.223 0,
+ 1693015.696 590092.425 0, 1692719.1 590051.644 0, 1692422.501 590010.88 0, 1692125.9 589970.135 0, 1691829.296 589929.406 0, 1691532.69 589888.695 0, 1691236.082 589848.002 0, 1690939.471 589807.326 0, 1690642.858 589766.667 0, 1690346.242 589726.026 0,
+ 1690049.624 589685.402 0, 1689753.004 589644.796 0, 1689456.381 589604.207 0, 1689159.756 589563.636 0, 1688863.128 589523.082 0, 1688566.498 589482.546 0, 1688269.866 589442.027 0, 1687973.231 589401.525 0, 1687675.268 589360.86 0, 1686923.472 594870.695 0,
+ 1686171.624 600380.904 0, 1686468.936 600421.48 0, 1686764.922 600461.893 0, 1687060.905 600502.323 0, 1687356.887 600542.771 0, 1687652.866 600583.236 0, 1687948.842 600623.718 0, 1688244.816 600664.218 0, 1688540.788 600704.736 0, 1688836.758 600745.271 0,
+ 1689132.725 600785.823 0, 1689428.689 600826.393 0, 1689724.651 600866.98 0, 1690020.611 600907.584 0, 1690316.569 600948.206 0, 1690612.524 600988.846 0, 1690908.477 601029.502 0, 1691204.427 601070.177 0, 1691500.375 601110.868 0, 1691796.32 601151.577 0,
+ 1692092.263 601192.304 0, 1692388.204 601233.048 0, 1692684.142 601273.809 0, 1692980.078 601314.588 0, 1693274.69 601355.202 0, 1693571.943 601396.197 0, 1693867.872 601437.028 0, 1694163.798 601477.877 0, 1694459.722 601518.743 0, 1694755.643 601559.626 0,
+ 1695051.562 601600.526 0, 1695347.479 601641.444 0, 1695643.393 601682.38 0, 1695939.305 601723.333 0, 1696235.214 601764.303 0, 1696531.122 601805.291 0, 1696827.026 601846.296 0, 1697122.928 601887.319 0, 1697418.828 601928.359 0, 1697714.725 601969.416 0,
+ 1698010.62 602010.491 0, 1698306.513 602051.583 0, 1698602.403 602092.693 0, 1698898.291 602133.82 0, 1699194.176 602174.964 0, 1699490.059 602216.126 0, 1699785.939 602257.305 0, 1700081.817 602298.502 0, 1700376.373 602339.532 0, 1701143.785 596831.47 0,
+ 1701911.145 591323.781 0))
+
+POLYGON ((1714575.531 604338.284 0, 1714281.091 604296.422 0, 1713985.33 604254.389 0, 1713689.567 604212.374 0, 1713393.802 604170.376 0, 1713098.034 604128.396 0, 1712802.264 604086.433 0, 1712506.491 604044.488 0, 1712210.716 604002.56 0, 1711914.938 603960.649 0,
+ 1711619.158 603918.756 0, 1711323.375 603876.88 0, 1711027.59 603835.022 0, 1710731.802 603793.181 0, 1710436.012 603751.357 0, 1710140.22 603709.551 0, 1709844.425 603667.763 0, 1709548.627 603625.991 0, 1709252.827 603584.237 0, 1708957.025 603542.501 0,
+ 1708661.22 603500.782 0, 1708365.413 603459.08 0, 1708069.603 603417.396 0, 1707773.791 603375.729 0, 1707476.658 603333.894 0, 1707182.159 603292.447 0, 1706886.34 603250.833 0, 1706590.518 603209.236 0, 1706294.694 603167.656 0, 1705998.867 603126.093 0,
+ 1705703.037 603084.548 0, 1705407.206 603043.021 0, 1705111.371 603001.511 0, 1704815.535 602960.018 0, 1704519.696 602918.543 0, 1704223.854 602877.085 0, 1703928.01 602835.644 0, 1703632.164 602794.221 0, 1703336.315 602752.815 0, 1703040.464 602711.427 0,
+ 1702744.61 602670.056 0, 1702448.754 602628.703 0, 1702152.895 602587.367 0, 1701857.034 602546.048 0, 1701561.171 602504.747 0, 1701265.305 602463.463 0, 1700969.437 602422.197 0, 1700673.566 602380.948 0, 1700376.373 602339.532 0, 1699608.909 607847.966 0,
+ 1698841.394 613356.766 0, 1699137.936 613398.091 0, 1699433.158 613439.25 0, 1699728.378 613480.426 0, 1700023.596 613521.619 0, 1700318.811 613562.83 0, 1700614.023 613604.058 0, 1700909.234 613645.303 0, 1701204.441 613686.566 0, 1701499.647 613727.846 0,
+ 1701794.849 613769.144 0, 1702090.05 613810.459 0, 1702385.248 613851.791 0, 1702680.443 613893.141 0, 1702975.637 613934.508 0, 1703270.827 613975.892 0, 1703566.016 614017.294 0, 1703861.201 614058.713 0, 1704156.385 614100.15 0, 1704451.566 614141.604 0,
+ 1704746.744 614183.075 0, 1705041.92 614224.564 0, 1705337.094 614266.07 0, 1705632.265 614307.593 0, 1705926.118 614348.949 0, 1706222.6 614390.692 0, 1706517.764 614432.268 0, 1706812.925 614473.86 0, 1707108.084 614515.471 0, 1707403.241 614557.098 0,
+ 1707698.395 614598.743 0, 1707993.546 614640.406 0, 1708288.696 614682.086 0, 1708583.842 614723.783 0, 1708878.987 614765.497 0, 1709174.128 614807.229 0, 1709469.268 614848.978 0, 1709764.404 614890.745 0, 1710059.539 614932.529 0, 1710354.671 614974.331 0,
+ 1710649.8 615016.149 0, 1710944.927 615057.985 0, 1711240.052 615099.839 0, 1711535.174 615141.71 0, 1711830.294 615183.598 0, 1712125.411 615225.504 0, 1712420.525 615267.427 0, 1712715.638 615309.367 0, 1713009.433 615351.138 0, 1713792.508 609844.527 0,
+ 1714575.531 604338.284 0))
+
+POLYGON ((1727171.781 617385.528 0, 1726878.102 617342.927 0, 1726583.11 617300.153 0, 1726288.115 617257.397 0, 1725993.117 617214.658 0, 1725698.117 617171.936 0, 1725403.114 617129.231 0, 1725108.109 617086.544 0, 1724813.102 617043.874 0, 1724518.091 617001.222 0,
+ 1724223.079 616958.587 0, 1723928.064 616915.969 0, 1723633.046 616873.369 0, 1723338.026 616830.786 0, 1723043.003 616788.221 0, 1722747.978 616745.672 0, 1722452.95 616703.142 0, 1722157.92 616660.628 0, 1721862.887 616618.132 0, 1721567.852 616575.653 0,
+ 1721272.814 616533.192 0, 1720977.774 616490.748 0, 1720682.731 616448.321 0, 1720387.686 616405.912 0, 1720091.325 616363.332 0, 1719797.588 616321.146 0, 1719502.536 616278.788 0, 1719207.48 616236.449 0, 1718912.423 616194.126 0, 1718617.363 616151.821 0,
+ 1718322.3 616109.533 0, 1718027.235 616067.263 0, 1717732.167 616025.01 0, 1717437.097 615982.775 0, 1717142.024 615940.556 0, 1716846.949 615898.355 0, 1716551.872 615856.172 0, 1716256.792 615814.006 0, 1715961.709 615771.857 0, 1715666.624 615729.726 0,
+ 1715371.537 615687.612 0, 1715076.447 615645.515 0, 1714781.354 615603.436 0, 1714486.259 615561.374 0, 1714191.162 615519.329 0, 1713896.062 615477.302 0, 1713600.96 615435.292 0, 1713305.855 615393.3 0, 1713009.433 615351.138 0, 1712226.306 620858.112 0,
+ 1711443.128 626365.448 0, 1711738.898 626407.518 0, 1712033.355 626449.418 0, 1712327.809 626491.336 0, 1712622.261 626533.27 0, 1712916.71 626575.223 0, 1713211.156 626617.192 0, 1713505.601 626659.179 0, 1713800.042 626701.183 0, 1714094.482 626743.205 0,
+ 1714388.918 626785.244 0, 1714683.353 626827.3 0, 1714977.785 626869.373 0, 1715272.214 626911.464 0, 1715566.641 626953.572 0, 1715861.065 626995.698 0, 1716155.487 627037.841 0, 1716449.907 627080.001 0, 1716744.323 627122.178 0, 1717038.738 627164.373 0,
+ 1717333.15 627206.585 0, 1717627.559 627248.815 0, 1717921.966 627291.061 0, 1718216.371 627333.325 0, 1718509.463 627375.419 0, 1718805.173 627417.906 0, 1719099.57 627460.222 0, 1719393.964 627502.555 0, 1719688.356 627544.906 0, 1719982.746 627587.274 0,
+ 1720277.133 627629.66 0, 1720571.518 627672.062 0, 1720865.9 627714.482 0, 1721160.279 627756.92 0, 1721454.656 627799.374 0, 1721749.031 627841.847 0, 1722043.403 627884.336 0, 1722337.773 627926.843 0, 1722632.14 627969.367 0, 1722926.505 628011.908 0,
+ 1723220.867 628054.467 0, 1723515.226 628097.043 0, 1723809.583 628139.636 0, 1724103.938 628182.247 0, 1724398.29 628224.875 0, 1724692.639 628267.52 0, 1724986.987 628310.183 0, 1725281.331 628352.863 0, 1725574.364 628395.37 0, 1726373.099 622890.269 0,
+ 1727171.781 617385.528 0))
+
+POLYGON ((1739699.81 630465.207 0, 1739406.895 630421.871 0, 1739112.673 630378.36 0, 1738818.447 630334.866 0, 1738524.219 630291.389 0, 1738229.989 630247.93 0, 1737935.756 630204.488 0, 1737641.52 630161.063 0, 1737347.282 630117.655 0, 1737053.041 630074.265 0,
+ 1736758.798 630030.892 0, 1736464.552 629987.537 0, 1736170.304 629944.199 0, 1735876.053 629900.878 0, 1735581.8 629857.574 0, 1735287.544 629814.288 0, 1734993.285 629771.019 0, 1734699.024 629727.768 0, 1734404.761 629684.533 0, 1734110.494 629641.316 0,
+ 1733816.226 629598.117 0, 1733521.954 629554.934 0, 1733227.681 629511.77 0, 1732933.404 629468.622 0, 1732637.818 629425.3 0, 1732344.844 629382.378 0, 1732050.56 629339.283 0, 1731756.273 629296.204 0, 1731461.984 629253.143 0, 1731167.693 629210.1 0,
+ 1730873.399 629167.073 0, 1730579.102 629124.064 0, 1730284.803 629081.072 0, 1729990.501 629038.098 0, 1729696.197 628995.141 0, 1729401.89 628952.201 0, 1729107.581 628909.278 0, 1728813.269 628866.373 0, 1728518.955 628823.485 0, 1728224.638 628780.615 0,
+ 1727930.319 628737.762 0, 1727635.997 628694.926 0, 1727341.672 628652.107 0, 1727047.346 628609.306 0, 1726753.016 628566.522 0, 1726458.684 628523.756 0, 1726164.35 628481.006 0, 1725870.013 628438.274 0, 1725574.364 628395.37 0, 1724775.578 633900.829 0,
+ 1723976.74 639406.643 0, 1724271.737 639449.453 0, 1724565.426 639492.091 0, 1724859.113 639534.746 0, 1725152.797 639577.418 0, 1725446.478 639620.108 0, 1725740.157 639662.815 0, 1726033.833 639705.539 0, 1726327.507 639748.281 0, 1726621.178 639791.04 0,
+ 1726914.847 639833.816 0, 1727208.513 639876.609 0, 1727502.177 639919.42 0, 1727795.838 639962.248 0, 1728089.497 640005.093 0, 1728383.153 640047.956 0, 1728676.807 640090.835 0, 1728970.458 640133.733 0, 1729264.107 640176.647 0, 1729557.753 640219.579 0,
+ 1729851.396 640262.528 0, 1730145.038 640305.494 0, 1730438.676 640348.477 0, 1730732.312 640391.478 0, 1731024.641 640434.305 0, 1731319.576 640477.532 0, 1731613.205 640520.584 0, 1731906.831 640563.654 0, 1732200.454 640606.741 0, 1732494.075 640649.846 0,
+ 1732787.693 640692.968 0, 1733081.309 640736.107 0, 1733374.922 640779.263 0, 1733668.532 640822.437 0, 1733962.14 640865.628 0, 1734255.746 640908.836 0, 1734549.349 640952.061 0, 1734842.949 640995.304 0, 1735136.547 641038.564 0, 1735430.143 641081.842 0,
+ 1735723.736 641125.136 0, 1736017.326 641168.448 0, 1736310.913 641211.777 0, 1736604.499 641255.124 0, 1736898.081 641298.487 0, 1737191.661 641341.868 0, 1737485.239 641385.267 0, 1737778.814 641428.682 0, 1738071.083 641471.922 0, 1738885.473 635968.387 0,
+ 1739699.81 630465.207 0))
+
+POLYGON ((1752159.535 643577.012 0, 1751867.387 643532.946 0, 1751573.936 643488.702 0, 1751280.482 643444.474 0, 1750987.025 643400.264 0, 1750693.567 643356.071 0, 1750400.105 643311.895 0, 1750106.641 643267.737 0, 1749813.174 643223.596 0, 1749519.705 643179.472 0,
+ 1749226.233 643135.365 0, 1748932.758 643091.276 0, 1748639.281 643047.204 0, 1748345.802 643003.149 0, 1748052.319 642959.111 0, 1747758.834 642915.091 0, 1747465.347 642871.088 0, 1747171.857 642827.102 0, 1746878.364 642783.134 0, 1746584.869 642739.183 0,
+ 1746291.371 642695.249 0, 1745997.871 642651.332 0, 1745704.368 642607.433 0, 1745410.862 642563.551 0, 1745116.052 642519.492 0, 1744823.843 642475.839 0, 1744530.33 642432.009 0, 1744236.814 642388.196 0, 1743943.296 642344.4 0, 1743649.775 642300.622 0,
+ 1743356.251 642256.861 0, 1743062.725 642213.117 0, 1742769.196 642169.39 0, 1742475.665 642125.681 0, 1742182.131 642081.989 0, 1741888.594 642038.314 0, 1741595.055 641994.657 0, 1741301.513 641951.017 0, 1741007.969 641907.394 0, 1740714.422 641863.788 0,
+ 1740420.873 641820.2 0, 1740127.321 641776.629 0, 1739833.767 641733.075 0, 1739540.21 641689.538 0, 1739246.65 641646.019 0, 1738953.088 641602.517 0, 1738659.523 641559.032 0, 1738365.956 641515.565 0, 1738071.083 641471.922 0, 1737256.641 646975.808 0,
+ 1736442.148 652480.043 0, 1736736.371 652523.59 0, 1737029.29 652566.961 0, 1737322.207 652610.35 0, 1737615.121 652653.756 0, 1737908.033 652697.179 0, 1738200.942 652740.619 0, 1738493.848 652784.077 0, 1738786.752 652827.552 0, 1739079.654 652871.044 0,
+ 1739372.553 652914.553 0, 1739665.449 652958.08 0, 1739958.343 653001.624 0, 1740251.234 653045.185 0, 1740544.123 653088.763 0, 1740837.009 653132.359 0, 1741129.893 653175.972 0, 1741422.773 653219.602 0, 1741715.652 653263.249 0, 1742008.528 653306.914 0,
+ 1742301.401 653350.595 0, 1742594.272 653394.294 0, 1742887.14 653438.011 0, 1743180.005 653481.744 0, 1743471.569 653525.301 0, 1743765.729 653569.263 0, 1744058.586 653613.048 0, 1744351.442 653656.85 0, 1744644.294 653700.67 0, 1744937.144 653744.507 0,
+ 1745229.992 653788.361 0, 1745522.837 653832.232 0, 1745815.679 653876.121 0, 1746108.519 653920.027 0, 1746401.356 653963.95 0, 1746694.191 654007.89 0, 1746987.023 654051.848 0, 1747279.852 654095.823 0, 1747572.679 654139.815 0, 1747865.503 654183.824 0,
+ 1748158.325 654227.85 0, 1748451.144 654271.894 0, 1748743.96 654315.955 0, 1749036.774 654360.033 0, 1749329.585 654404.129 0, 1749622.394 654448.241 0, 1749915.2 654492.371 0, 1750208.003 654536.518 0, 1750499.507 654580.487 0, 1751329.547 649078.576 0,
+ 1752159.535 643577.012 0))
+
+POLYGON ((1764550.875 656720.637 0, 1764259.495 656675.845 0, 1763966.817 656630.871 0, 1763674.137 656585.914 0, 1763381.454 656540.974 0, 1763088.769 656496.052 0, 1762796.08 656451.146 0, 1762503.39 656406.258 0, 1762210.696 656361.388 0, 1761918 656316.534 0,
+ 1761625.301 656271.698 0, 1761332.6 656226.878 0, 1761039.896 656182.077 0, 1760747.189 656137.292 0, 1760454.48 656092.524 0, 1760161.768 656047.774 0, 1759869.054 656003.041 0, 1759576.336 655958.325 0, 1759283.617 655913.627 0, 1758990.894 655868.946 0,
+ 1758698.169 655824.281 0, 1758405.442 655779.635 0, 1758112.711 655735.005 0, 1757819.978 655690.393 0, 1757525.947 655645.6 0, 1757234.505 655601.219 0, 1756941.764 655556.659 0, 1756649.02 655512.115 0, 1756356.274 655467.589 0, 1756063.526 655423.08 0,
+ 1755770.774 655378.588 0, 1755478.02 655334.114 0, 1755185.264 655289.656 0, 1754892.505 655245.216 0, 1754599.743 655200.793 0, 1754306.979 655156.388 0, 1754014.212 655111.999 0, 1753721.442 655067.628 0, 1753428.67 655023.274 0, 1753135.895 654978.938 0,
+ 1752843.118 654934.618 0, 1752550.337 654890.316 0, 1752257.555 654846.031 0, 1751964.77 654801.763 0, 1751671.982 654757.513 0, 1751379.191 654713.279 0, 1751086.398 654669.063 0, 1750793.603 654624.864 0, 1750499.507 654580.487 0, 1749669.414 660082.743 0,
+ 1748839.271 665585.341 0, 1749132.716 665629.62 0, 1749424.864 665673.721 0, 1749717.009 665717.84 0, 1750009.152 665761.975 0, 1750301.292 665806.128 0, 1750593.43 665850.298 0, 1750885.565 665894.485 0, 1751177.697 665938.689 0, 1751469.827 665982.91 0,
+ 1751761.954 666027.149 0, 1752054.078 666071.405 0, 1752346.2 666115.678 0, 1752638.32 666159.968 0, 1752930.436 666204.275 0, 1753222.55 666248.6 0, 1753514.662 666292.942 0, 1753806.771 666337.301 0, 1754098.877 666381.677 0, 1754390.981 666426.07 0,
+ 1754683.082 666470.481 0, 1754975.18 666514.909 0, 1755267.276 666559.353 0, 1755559.369 666603.816 0, 1755850.167 666648.098 0, 1756143.548 666692.791 0, 1756435.633 666737.305 0, 1756727.716 666781.836 0, 1757019.796 666826.384 0, 1757311.874 666870.949 0,
+ 1757603.949 666915.532 0, 1757896.021 666960.132 0, 1758188.09 667004.748 0, 1758480.157 667049.382 0, 1758772.222 667094.034 0, 1759064.284 667138.702 0, 1759356.343 667183.388 0, 1759648.399 667228.09 0, 1759940.453 667272.81 0, 1760232.504 667317.548 0,
+ 1760524.553 667362.302 0, 1760816.599 667407.074 0, 1761108.642 667451.862 0, 1761400.683 667496.668 0, 1761692.721 667541.491 0, 1761984.756 667586.332 0, 1762276.789 667631.189 0, 1762568.819 667676.064 0, 1762859.555 667720.757 0, 1763705.241 662220.527 0,
+ 1764550.875 656720.637 0))
+
+POLYGON ((1776873.75 669895.774 0, 1776583.139 669850.26 0, 1776291.237 669804.56 0, 1775999.332 669758.878 0, 1775707.425 669713.212 0, 1775415.515 669667.564 0, 1775123.602 669621.934 0, 1774831.686 669576.32 0, 1774539.768 669530.724 0, 1774247.847 669485.144 0,
+ 1773955.923 669439.582 0, 1773663.997 669394.037 0, 1773372.068 669348.509 0, 1773080.136 669302.999 0, 1772788.202 669257.506 0, 1772496.265 669212.029 0, 1772204.325 669166.57 0, 1771912.383 669121.129 0, 1771620.437 669075.704 0, 1771328.49 669030.296 0,
+ 1771036.539 668984.906 0, 1770744.586 668939.533 0, 1770452.63 668894.177 0, 1770160.672 668848.838 0, 1769867.42 668803.317 0, 1769576.747 668758.213 0, 1769284.781 668712.925 0, 1768992.812 668667.655 0, 1768700.84 668622.403 0, 1768408.865 668577.167 0,
+ 1768116.888 668531.949 0, 1767824.908 668486.747 0, 1767532.926 668441.563 0, 1767240.941 668396.396 0, 1766948.953 668351.247 0, 1766656.963 668306.114 0, 1766364.97 668260.999 0, 1766072.974 668215.901 0, 1765780.976 668170.82 0, 1765488.975 668125.756 0,
+ 1765196.971 668080.71 0, 1764904.965 668035.68 0, 1764612.956 667990.668 0, 1764320.944 667945.673 0, 1764028.93 667900.695 0, 1763736.913 667855.735 0, 1763444.894 667810.791 0, 1763152.871 667765.865 0, 1762859.555 667720.757 0, 1762013.816 673221.326 0,
+ 1761168.026 678722.23 0, 1761460.693 678767.238 0, 1761752.067 678812.064 0, 1762043.439 678856.908 0, 1762334.809 678901.769 0, 1762626.176 678946.647 0, 1762917.54 678991.542 0, 1763208.901 679036.455 0, 1763500.26 679081.384 0, 1763791.616 679126.331 0,
+ 1764082.97 679171.295 0, 1764374.321 679216.276 0, 1764665.669 679261.274 0, 1764957.014 679306.289 0, 1765248.357 679351.322 0, 1765539.698 679396.371 0, 1765831.035 679441.438 0, 1766122.37 679486.522 0, 1766413.703 679531.623 0, 1766705.032 679576.741 0,
+ 1766996.359 679621.876 0, 1767287.684 679667.029 0, 1767579.005 679712.198 0, 1767870.324 679757.385 0, 1768160.353 679802.389 0, 1768452.955 679847.81 0, 1768744.266 679893.048 0, 1769035.574 679938.303 0, 1769326.88 679983.576 0, 1769618.183 680028.866 0,
+ 1769909.483 680074.172 0, 1770200.781 680119.496 0, 1770492.076 680164.837 0, 1770783.368 680210.195 0, 1771074.658 680255.571 0, 1771365.945 680300.963 0, 1771657.23 680346.373 0, 1771948.511 680391.8 0, 1772239.79 680437.244 0, 1772531.067 680482.705 0,
+ 1772822.34 680528.183 0, 1773113.611 680573.678 0, 1773404.88 680619.191 0, 1773696.145 680664.72 0, 1773987.408 680710.267 0, 1774278.669 680755.831 0, 1774569.926 680801.412 0, 1774861.181 680847.01 0, 1775151.147 680892.424 0, 1776012.475 675393.932 0,
+ 1776873.75 669895.774 0))
+
+POLYGON ((1570318.047 474085.209 0, 1570016 474051.802 0, 1569712.574 474018.261 0, 1569409.146 473984.738 0, 1569105.715 473951.233 0, 1568802.283 473917.745 0, 1568498.849 473884.275 0, 1568195.413 473850.824 0, 1567891.975 473817.39 0, 1567588.536 473783.974 0,
+ 1567285.094 473750.575 0, 1566981.65 473717.195 0, 1566678.204 473683.833 0, 1566374.756 473650.488 0, 1566071.306 473617.161 0, 1565767.855 473583.852 0, 1565464.401 473550.561 0, 1565160.946 473517.288 0, 1564857.488 473484.033 0, 1564554.028 473450.795 0,
+ 1564250.567 473417.576 0, 1563947.103 473384.374 0, 1563643.638 473351.19 0, 1563340.171 473318.024 0, 1563035.323 473284.725 0, 1562733.23 473251.746 0, 1562429.757 473218.633 0, 1562126.282 473185.539 0, 1561822.805 473152.462 0, 1561519.326 473119.403 0,
+ 1561215.845 473086.362 0, 1560912.362 473053.339 0, 1560608.877 473020.334 0, 1560305.39 472987.346 0, 1560001.901 472954.377 0, 1559698.411 472921.425 0, 1559394.918 472888.491 0, 1559091.423 472855.575 0, 1558787.927 472822.677 0, 1558484.428 472789.797 0,
+ 1558180.928 472756.935 0, 1557877.426 472724.09 0, 1557573.921 472691.264 0, 1557270.415 472658.455 0, 1556966.907 472625.664 0, 1556663.397 472592.891 0, 1556359.885 472560.136 0, 1556056.371 472527.398 0, 1555751.475 472494.53 0, 1555156.406 478016.123 0,
+ 1554561.29 483538.145 0, 1554865.533 483570.943 0, 1555168.396 483603.61 0, 1555471.258 483636.295 0, 1555774.118 483668.998 0, 1556076.977 483701.719 0, 1556379.833 483734.457 0, 1556682.687 483767.214 0, 1556985.539 483799.988 0, 1557288.39 483832.78 0,
+ 1557591.238 483865.59 0, 1557894.085 483898.417 0, 1558196.929 483931.263 0, 1558499.772 483964.126 0, 1558802.613 483997.007 0, 1559105.452 484029.906 0, 1559408.289 484062.823 0, 1559711.124 484095.757 0, 1560013.957 484128.71 0, 1560316.788 484161.68 0,
+ 1560619.617 484194.668 0, 1560922.444 484227.674 0, 1561225.269 484260.698 0, 1561528.092 484293.739 0, 1561829.538 484326.648 0, 1562133.733 484359.876 0, 1562436.551 484392.971 0, 1562739.366 484426.083 0, 1563042.18 484459.214 0, 1563344.991 484492.363 0,
+ 1563647.801 484525.529 0, 1563950.609 484558.713 0, 1564253.414 484591.915 0, 1564556.218 484625.135 0, 1564859.02 484658.372 0, 1565161.82 484691.628 0, 1565464.618 484724.901 0, 1565767.414 484758.192 0, 1566070.208 484791.501 0, 1566373 484824.827 0,
+ 1566675.79 484858.172 0, 1566978.578 484891.534 0, 1567281.364 484924.914 0, 1567584.148 484958.312 0, 1567886.931 484991.728 0, 1568189.711 485025.162 0, 1568492.489 485058.613 0, 1568795.265 485092.082 0, 1569096.665 485125.417 0, 1569707.38 479605.098 0,
+ 1570318.047 474085.209 0))
+
+POLYGON ((1583627.499 486753.748 0, 1583326.192 486719.561 0, 1583023.511 486685.237 0, 1582720.829 486650.93 0, 1582418.144 486616.641 0, 1582115.457 486582.37 0, 1581812.769 486548.117 0, 1581510.078 486513.882 0, 1581207.386 486479.664 0, 1580904.691 486445.464 0,
+ 1580601.994 486411.282 0, 1580299.296 486377.118 0, 1579996.595 486342.972 0, 1579693.892 486308.843 0, 1579391.187 486274.732 0, 1579088.481 486240.639 0, 1578785.772 486206.564 0, 1578483.061 486172.507 0, 1578180.349 486138.468 0, 1577877.634 486104.446 0,
+ 1577574.917 486070.442 0, 1577272.198 486036.456 0, 1576969.478 486002.488 0, 1576666.755 485968.538 0, 1576362.657 485934.451 0, 1576061.303 485900.69 0, 1575758.575 485866.793 0, 1575455.844 485832.914 0, 1575153.111 485799.053 0, 1574850.376 485765.21 0,
+ 1574547.64 485731.384 0, 1574244.901 485697.576 0, 1573942.16 485663.786 0, 1573639.418 485630.014 0, 1573336.673 485596.26 0, 1573033.926 485562.523 0, 1572731.178 485528.804 0, 1572428.427 485495.103 0, 1572125.675 485461.42 0, 1571822.92 485427.755 0,
+ 1571520.163 485394.108 0, 1571217.405 485360.478 0, 1570914.644 485326.866 0, 1570611.882 485293.272 0, 1570309.117 485259.696 0, 1570006.351 485226.138 0, 1569703.582 485192.597 0, 1569400.812 485159.074 0, 1569096.665 485125.417 0, 1568485.904 490646.164 0,
+ 1567875.095 496167.334 0, 1568178.589 496200.919 0, 1568480.71 496234.369 0, 1568782.828 496267.838 0, 1569084.945 496301.324 0, 1569387.059 496334.828 0, 1569689.172 496368.35 0, 1569991.282 496401.89 0, 1570293.391 496435.447 0, 1570595.498 496469.023 0,
+ 1570897.603 496502.616 0, 1571199.705 496536.226 0, 1571501.806 496569.855 0, 1571803.905 496603.501 0, 1572106.002 496637.165 0, 1572408.096 496670.847 0, 1572710.189 496704.547 0, 1573012.28 496738.265 0, 1573314.369 496772 0, 1573616.456 496805.753 0,
+ 1573918.541 496839.524 0, 1574220.624 496873.312 0, 1574522.705 496907.119 0, 1574824.783 496940.943 0, 1575125.49 496974.631 0, 1575428.935 497008.644 0, 1575731.008 497042.522 0, 1576033.079 497076.417 0, 1576335.148 497110.33 0, 1576637.215 497144.261 0,
+ 1576939.28 497178.21 0, 1577241.343 497212.176 0, 1577543.404 497246.16 0, 1577845.463 497280.162 0, 1578147.52 497314.182 0, 1578449.575 497348.219 0, 1578751.628 497382.275 0, 1579053.679 497416.348 0, 1579355.728 497450.439 0, 1579657.775 497484.547 0,
+ 1579959.82 497518.674 0, 1580261.863 497552.818 0, 1580563.903 497586.98 0, 1580865.942 497621.159 0, 1581167.979 497655.357 0, 1581470.014 497689.572 0, 1581772.047 497723.805 0, 1582074.078 497758.056 0, 1582374.738 497792.169 0, 1583001.143 492272.747 0,
+ 1583627.499 486753.748 0))
+
+POLYGON ((1596869.733 499457.962 0, 1596569.168 499423 0, 1596267.235 499387.896 0, 1595965.3 499352.809 0, 1595663.363 499317.741 0, 1595361.424 499282.69 0, 1595059.483 499247.657 0, 1594757.539 499212.642 0, 1594455.594 499177.645 0, 1594153.647 499142.665 0,
+ 1593851.697 499107.703 0, 1593549.746 499072.759 0, 1593247.793 499037.833 0, 1592945.837 499002.925 0, 1592643.879 498968.034 0, 1592341.92 498933.161 0, 1592039.958 498898.306 0, 1591737.994 498863.468 0, 1591436.029 498828.649 0, 1591134.061 498793.847 0,
+ 1590832.091 498759.063 0, 1590530.119 498724.296 0, 1590228.145 498689.548 0, 1589926.169 498654.817 0, 1589622.824 498619.947 0, 1589322.211 498585.409 0, 1589020.229 498550.732 0, 1588718.244 498516.072 0, 1588416.258 498481.43 0, 1588114.27 498446.806 0,
+ 1587812.279 498412.199 0, 1587510.287 498377.611 0, 1587208.293 498343.04 0, 1586906.296 498308.487 0, 1586604.298 498273.952 0, 1586302.297 498239.434 0, 1586000.295 498204.935 0, 1585698.29 498170.453 0, 1585396.284 498135.989 0, 1585094.275 498101.542 0,
+ 1584792.265 498067.114 0, 1584490.252 498032.703 0, 1584188.237 497998.31 0, 1583886.22 497963.934 0, 1583584.202 497929.577 0, 1583282.181 497895.237 0, 1582980.158 497860.915 0, 1582678.133 497826.611 0, 1582374.738 497792.169 0, 1581748.286 503312.013 0,
+ 1581121.786 508832.274 0, 1581424.529 508866.642 0, 1581725.904 508900.872 0, 1582027.277 508935.121 0, 1582328.648 508969.386 0, 1582630.017 509003.67 0, 1582931.384 509037.971 0, 1583232.749 509072.29 0, 1583534.112 509106.627 0, 1583835.472 509140.982 0,
+ 1584136.831 509175.354 0, 1584438.188 509209.744 0, 1584739.543 509244.152 0, 1585040.896 509278.577 0, 1585342.246 509313.02 0, 1585643.595 509347.481 0, 1585944.942 509381.96 0, 1586246.286 509416.456 0, 1586547.629 509450.971 0, 1586848.97 509485.502 0,
+ 1587150.308 509520.052 0, 1587451.645 509554.619 0, 1587752.979 509589.205 0, 1588054.312 509623.807 0, 1588354.278 509658.271 0, 1588656.97 509693.066 0, 1588958.297 509727.722 0, 1589259.621 509762.396 0, 1589560.943 509797.088 0, 1589862.264 509831.797 0,
+ 1590163.582 509866.524 0, 1590464.898 509901.269 0, 1590766.212 509936.031 0, 1591067.524 509970.811 0, 1591368.834 510005.609 0, 1591670.142 510040.425 0, 1591971.448 510075.258 0, 1592272.752 510110.109 0, 1592574.054 510144.978 0, 1592875.353 510179.865 0,
+ 1593176.651 510214.769 0, 1593477.947 510249.691 0, 1593779.24 510284.631 0, 1594080.532 510319.589 0, 1594381.821 510354.564 0, 1594683.109 510389.557 0, 1594984.394 510424.568 0, 1595285.677 510459.596 0, 1595585.595 510494.484 0, 1596227.688 504976.014 0,
+ 1596869.733 499457.962 0))
+
+POLYGON ((1610044.651 512197.549 0, 1609744.83 512161.814 0, 1609443.647 512125.934 0, 1609142.462 512090.073 0, 1608841.274 512054.229 0, 1608540.085 512018.402 0, 1608238.893 511982.594 0, 1607937.7 511946.803 0, 1607636.504 511911.03 0, 1607335.306 511875.274 0,
+ 1607034.106 511839.537 0, 1606732.904 511803.817 0, 1606431.7 511768.114 0, 1606130.494 511732.43 0, 1605829.285 511696.763 0, 1605528.075 511661.114 0, 1605226.862 511625.483 0, 1604925.647 511589.869 0, 1604624.431 511554.273 0, 1604323.212 511518.695 0,
+ 1604021.991 511483.135 0, 1603720.768 511447.592 0, 1603419.543 511412.067 0, 1603118.315 511376.56 0, 1602815.725 511340.91 0, 1602515.855 511305.599 0, 1602214.621 511270.145 0, 1601913.386 511234.708 0, 1601612.148 511199.29 0, 1601310.908 511163.889 0,
+ 1601009.666 511128.506 0, 1600708.422 511093.141 0, 1600407.176 511057.793 0, 1600105.928 511022.463 0, 1599804.678 510987.151 0, 1599503.426 510951.856 0, 1599202.172 510916.58 0, 1598900.915 510881.321 0, 1598599.657 510846.079 0, 1598298.396 510810.856 0,
+ 1597997.134 510775.65 0, 1597695.869 510740.462 0, 1597394.602 510705.292 0, 1597093.333 510670.139 0, 1596792.063 510635.004 0, 1596490.79 510599.887 0, 1596189.515 510564.788 0, 1595888.237 510529.706 0, 1595585.595 510494.484 0, 1594943.454 516013.368 0,
+ 1594301.265 521532.664 0, 1594603.255 521567.81 0, 1594903.882 521602.816 0, 1595204.507 521637.84 0, 1595505.131 521672.882 0, 1595805.752 521707.941 0, 1596106.371 521743.017 0, 1596406.988 521778.112 0, 1596707.603 521813.224 0, 1597008.216 521848.354 0,
+ 1597308.827 521883.501 0, 1597609.436 521918.667 0, 1597910.043 521953.85 0, 1598210.647 521989.05 0, 1598511.25 522024.269 0, 1598811.851 522059.505 0, 1599112.449 522094.758 0, 1599413.045 522130.03 0, 1599713.64 522165.319 0, 1600014.232 522200.626 0,
+ 1600314.822 522235.95 0, 1600615.41 522271.292 0, 1600915.996 522306.652 0, 1601216.58 522342.03 0, 1601515.803 522377.265 0, 1601817.742 522412.838 0, 1602118.319 522448.269 0, 1602418.895 522483.717 0, 1602719.468 522519.183 0, 1603020.04 522554.667 0,
+ 1603320.609 522590.168 0, 1603621.176 522625.687 0, 1603921.741 522661.224 0, 1604222.304 522696.779 0, 1604522.865 522732.351 0, 1604823.424 522767.941 0, 1605123.981 522803.548 0, 1605424.536 522839.173 0, 1605725.088 522874.816 0, 1606025.639 522910.477 0,
+ 1606326.187 522946.155 0, 1606626.733 522981.851 0, 1606927.277 523017.565 0, 1607227.819 523053.296 0, 1607528.359 523089.045 0, 1607828.897 523124.812 0, 1608129.433 523160.597 0, 1608429.967 523196.399 0, 1608729.141 523232.057 0, 1609386.921 517714.597 0,
+ 1610044.651 512197.549 0))
+
+POLYGON ((1623152.158 524972.204 0, 1622853.083 524935.701 0, 1622552.652 524899.05 0, 1622252.219 524862.416 0, 1621951.783 524825.801 0, 1621651.345 524789.203 0, 1621350.905 524752.622 0, 1621050.463 524716.06 0, 1620750.019 524679.515 0, 1620449.573 524642.988 0,
+ 1620149.124 524606.478 0, 1619848.674 524569.986 0, 1619548.221 524533.512 0, 1619247.766 524497.055 0, 1618947.309 524460.616 0, 1618646.849 524424.195 0, 1618346.388 524387.792 0, 1618045.924 524351.406 0, 1617745.459 524315.038 0, 1617444.991 524278.687 0,
+ 1617144.521 524242.355 0, 1616844.049 524206.04 0, 1616543.575 524169.742 0, 1616243.098 524133.463 0, 1615941.264 524097.037 0, 1615642.139 524060.956 0, 1615341.656 524024.73 0, 1615041.172 523988.521 0, 1614740.685 523952.329 0, 1614440.195 523916.156 0,
+ 1614139.704 523880 0, 1613839.211 523843.862 0, 1613538.715 523807.741 0, 1613238.218 523771.638 0, 1612937.718 523735.553 0, 1612637.216 523699.486 0, 1612336.712 523663.436 0, 1612036.206 523627.404 0, 1611735.697 523591.39 0, 1611435.187 523555.393 0,
+ 1611134.674 523519.414 0, 1610834.16 523483.453 0, 1610533.643 523447.509 0, 1610233.124 523411.583 0, 1609932.603 523375.675 0, 1609632.08 523339.784 0, 1609331.555 523303.911 0, 1609031.028 523268.056 0, 1608729.141 523232.057 0, 1608071.313 528749.925 0,
+ 1607413.436 534268.199 0, 1607714.67 534304.12 0, 1608014.548 534339.898 0, 1608314.424 534375.693 0, 1608614.297 534411.506 0, 1608914.169 534447.337 0, 1609214.038 534483.185 0, 1609513.905 534519.051 0, 1609813.77 534554.935 0, 1610113.633 534590.836 0,
+ 1610413.494 534626.755 0, 1610713.353 534662.692 0, 1611013.21 534698.646 0, 1611313.064 534734.618 0, 1611612.917 534770.607 0, 1611912.767 534806.614 0, 1612212.615 534842.639 0, 1612512.461 534878.682 0, 1612812.305 534914.742 0, 1613112.147 534950.819 0,
+ 1613411.986 534986.915 0, 1613711.824 535023.028 0, 1614011.659 535059.158 0, 1614311.493 535095.307 0, 1614609.971 535131.31 0, 1614911.153 535167.656 0, 1615210.98 535203.858 0, 1615510.805 535240.077 0, 1615810.627 535276.313 0, 1616110.448 535312.567 0,
+ 1616410.266 535348.839 0, 1616710.082 535385.129 0, 1617009.897 535421.436 0, 1617309.709 535457.761 0, 1617609.518 535494.103 0, 1617909.326 535530.463 0, 1618209.132 535566.841 0, 1618508.935 535603.236 0, 1618808.736 535639.649 0, 1619108.535 535676.08 0,
+ 1619408.332 535712.528 0, 1619708.127 535748.994 0, 1620007.92 535785.478 0, 1620307.711 535821.979 0, 1620607.499 535858.498 0, 1620907.285 535895.035 0, 1621207.069 535931.589 0, 1621506.851 535968.161 0, 1621805.28 536004.585 0, 1622478.744 530488.192 0,
+ 1623152.158 524972.204 0))
+
+POLYGON ((1636192.16 537781.624 0, 1635893.833 537744.356 0, 1635594.156 537706.938 0, 1635294.476 537669.537 0, 1634994.794 537632.153 0, 1634695.11 537594.788 0, 1634395.424 537557.44 0, 1634095.736 537520.109 0, 1633796.045 537482.796 0, 1633496.352 537445.501 0,
+ 1633196.657 537408.224 0, 1632896.96 537370.964 0, 1632597.261 537333.722 0, 1632297.559 537296.497 0, 1631997.855 537259.29 0, 1631698.149 537222.101 0, 1631398.441 537184.929 0, 1631098.731 537147.775 0, 1630799.018 537110.639 0, 1630499.304 537073.52 0,
+ 1630199.587 537036.419 0, 1629899.868 536999.335 0, 1629600.146 536962.269 0, 1629300.423 536925.221 0, 1628999.347 536888.024 0, 1628700.969 536851.178 0, 1628401.239 536814.183 0, 1628101.507 536777.205 0, 1627801.773 536740.245 0, 1627502.036 536703.303 0,
+ 1627202.298 536666.378 0, 1626902.557 536629.471 0, 1626602.814 536592.581 0, 1626303.069 536555.71 0, 1626003.321 536518.856 0, 1625703.572 536482.019 0, 1625403.82 536445.2 0, 1625104.066 536408.399 0, 1624804.31 536371.615 0, 1624504.552 536334.849 0,
+ 1624204.792 536298.101 0, 1623905.029 536261.371 0, 1623605.264 536224.658 0, 1623305.498 536187.962 0, 1623005.729 536151.285 0, 1622705.957 536114.624 0, 1622406.184 536077.982 0, 1622106.409 536041.357 0, 1621805.28 536004.585 0, 1621131.766 541521.381 0,
+ 1620458.204 547038.576 0, 1620758.681 547075.268 0, 1621057.807 547111.814 0, 1621356.931 547148.377 0, 1621656.053 547184.957 0, 1621955.172 547221.556 0, 1622254.29 547258.171 0, 1622553.405 547294.805 0, 1622852.518 547331.456 0, 1623151.629 547368.125 0,
+ 1623450.738 547404.811 0, 1623749.845 547441.515 0, 1624048.949 547478.236 0, 1624348.051 547514.975 0, 1624647.152 547551.732 0, 1624946.25 547588.506 0, 1625245.345 547625.298 0, 1625544.439 547662.108 0, 1625843.531 547698.935 0, 1626142.62 547735.779 0,
+ 1626441.707 547772.642 0, 1626740.792 547809.522 0, 1627039.875 547846.419 0, 1627338.956 547883.334 0, 1627636.687 547920.101 0, 1627937.11 547957.217 0, 1628236.184 547994.185 0, 1628535.256 548031.171 0, 1628834.326 548068.174 0, 1629133.394 548105.195 0,
+ 1629432.459 548142.233 0, 1629731.522 548179.289 0, 1630030.583 548216.363 0, 1630329.642 548253.454 0, 1630628.699 548290.562 0, 1630927.753 548327.689 0, 1631226.806 548364.833 0, 1631525.856 548401.994 0, 1631824.904 548439.174 0, 1632123.95 548476.37 0,
+ 1632422.993 548513.585 0, 1632722.035 548550.817 0, 1633021.074 548588.066 0, 1633320.111 548625.333 0, 1633619.145 548662.618 0, 1633918.178 548699.92 0, 1634217.208 548737.24 0, 1634516.237 548774.578 0, 1634813.917 548811.765 0, 1635503.063 543296.495 0,
+ 1636192.16 537781.624 0))
+
+POLYGON ((1649164.563 550625.505 0, 1648866.986 550587.476 0, 1648568.065 550549.294 0, 1648269.141 550511.13 0, 1647970.215 550472.983 0, 1647671.287 550434.853 0, 1647372.356 550396.741 0, 1647073.423 550358.647 0, 1646774.488 550320.57 0, 1646475.551 550282.511 0,
+ 1646176.612 550244.47 0, 1645877.67 550206.446 0, 1645578.726 550168.44 0, 1645279.78 550130.451 0, 1644980.832 550092.48 0, 1644681.881 550054.526 0, 1644382.928 550016.591 0, 1644083.973 549978.672 0, 1643785.016 549940.772 0, 1643486.056 549902.888 0,
+ 1643187.094 549865.023 0, 1642888.13 549827.175 0, 1642589.164 549789.345 0, 1642290.195 549751.532 0, 1641989.88 549713.567 0, 1641692.252 549675.959 0, 1641393.277 549638.199 0, 1641094.299 549600.457 0, 1640795.32 549562.732 0, 1640496.338 549525.025 0,
+ 1640197.354 549487.336 0, 1639898.367 549449.664 0, 1639599.379 549412.009 0, 1639300.388 549374.373 0, 1639001.395 549336.753 0, 1638702.4 549299.152 0, 1638403.403 549261.568 0, 1638104.403 549224.002 0, 1637805.402 549186.453 0, 1637506.398 549148.922 0,
+ 1637207.391 549111.408 0, 1636908.383 549073.912 0, 1636609.372 549036.434 0, 1636310.36 548998.973 0, 1636011.345 548961.53 0, 1635712.328 548924.104 0, 1635413.308 548886.696 0, 1635114.286 548849.306 0, 1634813.917 548811.765 0, 1634124.721 554327.431 0,
+ 1633435.476 559843.49 0, 1633735.194 559880.95 0, 1634033.566 559918.259 0, 1634331.936 559955.586 0, 1634630.304 559992.93 0, 1634928.67 560030.292 0, 1635227.033 560067.671 0, 1635525.394 560105.068 0, 1635823.753 560142.483 0, 1636122.11 560179.915 0,
+ 1636420.465 560217.365 0, 1636718.818 560254.832 0, 1637017.168 560292.317 0, 1637315.516 560329.819 0, 1637613.862 560367.339 0, 1637912.206 560404.876 0, 1638210.547 560442.431 0, 1638508.886 560480.004 0, 1638807.223 560517.594 0, 1639105.558 560555.202 0,
+ 1639403.891 560592.827 0, 1639702.221 560630.47 0, 1640000.549 560668.13 0, 1640298.875 560705.808 0, 1640595.858 560743.334 0, 1640895.521 560781.217 0, 1641193.84 560818.947 0, 1641492.157 560856.696 0, 1641790.472 560894.461 0, 1642088.784 560932.245 0,
+ 1642387.095 560970.045 0, 1642685.403 561007.864 0, 1642983.709 561045.7 0, 1643282.013 561083.553 0, 1643580.314 561121.424 0, 1643878.614 561159.313 0, 1644176.911 561197.219 0, 1644475.205 561235.143 0, 1644773.498 561273.084 0, 1645071.788 561311.043 0,
+ 1645370.076 561349.02 0, 1645668.362 561387.014 0, 1645966.646 561425.025 0, 1646264.927 561463.054 0, 1646563.207 561501.101 0, 1646861.483 561539.165 0, 1647159.758 561577.247 0, 1647458.031 561615.346 0, 1647754.961 561653.292 0, 1648459.787 556139.202 0,
+ 1649164.563 550625.505 0))
+
+POLYGON ((1662069.275 563503.541 0, 1661772.451 563464.756 0, 1661474.287 563425.814 0, 1661176.121 563386.89 0, 1660877.953 563347.983 0, 1660579.783 563309.094 0, 1660281.61 563270.223 0, 1659983.435 563231.368 0, 1659685.258 563192.532 0, 1659387.078 563153.713 0,
+ 1659088.896 563114.912 0, 1658790.712 563076.128 0, 1658492.525 563037.361 0, 1658194.337 562998.613 0, 1657896.146 562959.881 0, 1657597.952 562921.168 0, 1657299.757 562882.471 0, 1657001.559 562843.793 0, 1656703.359 562805.132 0, 1656405.156 562766.488 0,
+ 1656106.951 562727.862 0, 1655808.745 562689.254 0, 1655510.535 562650.663 0, 1655212.324 562612.09 0, 1654912.771 562573.361 0, 1654615.894 562534.996 0, 1654317.676 562496.475 0, 1654019.455 562457.972 0, 1653721.232 562419.487 0, 1653423.007 562381.019 0,
+ 1653124.78 562342.569 0, 1652826.55 562304.136 0, 1652528.318 562265.72 0, 1652230.084 562227.323 0, 1651931.847 562188.942 0, 1651633.609 562150.58 0, 1651335.368 562112.235 0, 1651037.125 562073.907 0, 1650738.879 562035.597 0, 1650440.631 561997.305 0,
+ 1650142.381 561959.03 0, 1649844.129 561920.773 0, 1649545.875 561882.533 0, 1649247.618 561844.311 0, 1648949.359 561806.106 0, 1648651.098 561767.919 0, 1648352.834 561729.749 0, 1648054.569 561691.597 0, 1647754.961 561653.292 0, 1647050.085 567167.772 0,
+ 1646345.159 572682.638 0, 1646644.115 572720.861 0, 1646941.732 572758.93 0, 1647239.346 572797.016 0, 1647536.958 572835.12 0, 1647834.568 572873.242 0, 1648132.176 572911.381 0, 1648429.781 572949.537 0, 1648727.384 572987.711 0, 1649024.985 573025.903 0,
+ 1649322.584 573064.112 0, 1649620.18 573102.338 0, 1649917.774 573140.583 0, 1650215.366 573178.844 0, 1650512.955 573217.123 0, 1650810.543 573255.42 0, 1651108.128 573293.734 0, 1651405.711 573332.066 0, 1651703.291 573370.415 0, 1652000.87 573408.782 0,
+ 1652298.446 573447.166 0, 1652596.019 573485.568 0, 1652893.591 573523.987 0, 1653191.16 573562.424 0, 1653487.391 573600.705 0, 1653786.292 573639.35 0, 1654083.854 573677.839 0, 1654381.415 573716.346 0, 1654678.973 573754.87 0, 1654976.528 573793.412 0,
+ 1655274.082 573831.972 0, 1655571.633 573870.548 0, 1655869.182 573909.143 0, 1656166.728 573947.755 0, 1656464.273 573986.384 0, 1656761.815 574025.031 0, 1657059.354 574063.696 0, 1657356.892 574102.378 0, 1657654.427 574141.077 0, 1657951.96 574179.794 0,
+ 1658249.491 574218.529 0, 1658547.019 574257.281 0, 1658844.545 574296.05 0, 1659142.069 574334.837 0, 1659439.591 574373.642 0, 1659737.11 574412.464 0, 1660034.627 574451.303 0, 1660332.142 574490.16 0, 1660628.32 574528.861 0, 1661348.823 569016.007 0,
+ 1662069.275 563503.541 0))
+
+POLYGON ((1674906.207 576415.428 0, 1674610.137 576375.891 0, 1674312.733 576336.193 0, 1674015.327 576296.513 0, 1673717.919 576256.851 0, 1673420.508 576217.206 0, 1673123.095 576177.579 0, 1672825.68 576137.969 0, 1672528.262 576098.376 0, 1672230.842 576058.801 0,
+ 1671933.42 576019.244 0, 1671635.995 575979.704 0, 1671338.568 575940.182 0, 1671041.138 575900.677 0, 1670743.707 575861.189 0, 1670446.273 575821.719 0, 1670148.836 575782.267 0, 1669851.398 575742.832 0, 1669553.957 575703.415 0, 1669256.514 575664.015 0,
+ 1668959.068 575624.632 0, 1668661.62 575585.268 0, 1668364.17 575545.92 0, 1668066.717 575506.59 0, 1667767.929 575467.102 0, 1667471.805 575427.983 0, 1667174.346 575388.706 0, 1666876.884 575349.446 0, 1666579.42 575310.204 0, 1666281.953 575270.979 0,
+ 1665984.485 575231.772 0, 1665687.014 575192.582 0, 1665389.54 575153.41 0, 1665092.065 575114.255 0, 1664794.587 575075.118 0, 1664497.106 575035.998 0, 1664199.624 574996.896 0, 1663902.139 574957.811 0, 1663604.652 574918.744 0, 1663307.162 574879.694 0,
+ 1663009.671 574840.662 0, 1662712.177 574801.647 0, 1662414.68 574762.65 0, 1662117.182 574723.671 0, 1661819.681 574684.708 0, 1661522.177 574645.764 0, 1661224.672 574606.837 0, 1660927.164 574567.927 0, 1660628.32 574528.861 0, 1659907.766 580042.097 0,
+ 1659187.164 585555.715 0, 1659485.356 585594.696 0, 1659782.215 585633.521 0, 1660079.071 585672.363 0, 1660375.926 585711.222 0, 1660672.778 585750.1 0, 1660969.627 585788.994 0, 1661266.475 585827.906 0, 1661563.32 585866.836 0, 1661860.162 585905.783 0,
+ 1662157.003 585944.747 0, 1662453.841 585983.729 0, 1662750.677 586022.729 0, 1663047.511 586061.746 0, 1663344.342 586100.78 0, 1663641.171 586139.832 0, 1663937.998 586178.901 0, 1664234.822 586217.988 0, 1664531.644 586257.092 0, 1664828.464 586296.214 0,
+ 1665125.281 586335.353 0, 1665422.097 586374.51 0, 1665718.91 586413.684 0, 1666015.72 586452.876 0, 1666311.198 586491.909 0, 1666609.334 586531.312 0, 1666906.138 586570.556 0, 1667202.939 586609.817 0, 1667499.738 586649.096 0, 1667796.535 586688.393 0,
+ 1668093.33 586727.706 0, 1668390.122 586767.038 0, 1668686.911 586806.387 0, 1668983.699 586845.753 0, 1669280.484 586885.137 0, 1669577.267 586924.538 0, 1669874.047 586963.957 0, 1670170.826 587003.393 0, 1670467.601 587042.847 0, 1670764.375 587082.318 0,
+ 1671061.146 587121.806 0, 1671357.915 587161.312 0, 1671654.682 587200.836 0, 1671951.446 587240.377 0, 1672248.208 587279.935 0, 1672544.967 587319.511 0, 1672841.725 587359.105 0, 1673138.48 587398.716 0, 1673433.904 587438.166 0, 1674170.081 581926.607 0,
+ 1674906.207 576415.428 0))
+
+POLYGON ((1687675.268 589360.86 0, 1687379.955 589320.575 0, 1687083.313 589280.126 0, 1686786.669 589239.694 0, 1686490.022 589199.28 0, 1686193.373 589158.883 0, 1685896.722 589118.504 0, 1685600.068 589078.142 0, 1685303.412 589037.798 0, 1685006.754 588997.471 0,
+ 1684710.093 588957.161 0, 1684413.43 588916.87 0, 1684116.764 588876.595 0, 1683820.096 588836.338 0, 1683523.426 588796.098 0, 1683226.753 588755.876 0, 1682930.078 588715.672 0, 1682633.401 588675.485 0, 1682336.721 588635.315 0, 1682040.039 588595.163 0,
+ 1681743.354 588555.028 0, 1681446.667 588514.91 0, 1681149.978 588474.811 0, 1680853.286 588434.728 0, 1680555.265 588394.484 0, 1680259.896 588354.616 0, 1679963.197 588314.586 0, 1679666.496 588274.573 0, 1679369.793 588234.578 0, 1679073.087 588194.6 0,
+ 1678776.379 588154.64 0, 1678479.669 588114.698 0, 1678182.956 588074.772 0, 1677886.241 588034.865 0, 1677589.523 587994.974 0, 1677292.803 587955.101 0, 1676996.081 587915.246 0, 1676699.357 587875.408 0, 1676402.63 587835.588 0, 1676105.901 587795.785 0,
+ 1675809.169 587755.999 0, 1675512.435 587716.231 0, 1675215.699 587676.481 0, 1674918.96 587636.747 0, 1674622.219 587597.032 0, 1674325.476 587557.334 0, 1674028.73 587517.653 0, 1673731.983 587477.99 0, 1673433.904 587438.166 0, 1672697.676 592950.103 0,
+ 1671961.399 598462.414 0, 1672258.826 598502.15 0, 1672554.925 598541.727 0, 1672851.022 598581.32 0, 1673147.116 598620.932 0, 1673443.208 598660.561 0, 1673739.298 598700.207 0, 1674035.386 598739.871 0, 1674331.471 598779.552 0, 1674627.553 598819.25 0,
+ 1674923.634 598858.966 0, 1675219.712 598898.7 0, 1675515.788 598938.45 0, 1675811.861 598978.219 0, 1676107.932 599018.004 0, 1676404.001 599057.807 0, 1676700.067 599097.628 0, 1676996.131 599137.466 0, 1677292.193 599177.321 0, 1677588.252 599217.194 0,
+ 1677884.309 599257.084 0, 1678180.364 599296.992 0, 1678476.416 599336.917 0, 1678772.466 599376.859 0, 1679067.189 599416.64 0, 1679364.559 599456.797 0, 1679660.602 599496.791 0, 1679956.642 599536.803 0, 1680252.68 599576.833 0, 1680548.716 599616.88 0,
+ 1680844.749 599656.945 0, 1681140.781 599697.026 0, 1681436.809 599737.126 0, 1681732.836 599777.242 0, 1682028.86 599817.377 0, 1682324.881 599857.528 0, 1682620.901 599897.697 0, 1682916.917 599937.884 0, 1683212.932 599978.087 0, 1683508.944 600018.309 0,
+ 1683804.954 600058.547 0, 1684100.961 600098.804 0, 1684396.967 600139.077 0, 1684692.969 600179.368 0, 1684988.97 600219.676 0, 1685284.968 600260.002 0, 1685580.963 600300.345 0, 1685876.956 600340.706 0, 1686171.624 600380.904 0, 1686923.472 594870.695 0,
+ 1687675.268 589360.86 0))
+
+POLYGON ((1700376.373 602339.532 0, 1700081.817 602298.502 0, 1699785.939 602257.305 0, 1699490.059 602216.126 0, 1699194.176 602174.964 0, 1698898.291 602133.82 0, 1698602.403 602092.693 0, 1698306.513 602051.583 0, 1698010.62 602010.491 0, 1697714.725 601969.416 0,
+ 1697418.828 601928.359 0, 1697122.928 601887.319 0, 1696827.026 601846.296 0, 1696531.122 601805.291 0, 1696235.214 601764.303 0, 1695939.305 601723.333 0, 1695643.393 601682.38 0, 1695347.479 601641.444 0, 1695051.562 601600.526 0, 1694755.643 601559.626 0,
+ 1694459.722 601518.743 0, 1694163.798 601477.877 0, 1693867.872 601437.028 0, 1693571.943 601396.197 0, 1693274.69 601355.202 0, 1692980.078 601314.588 0, 1692684.142 601273.809 0, 1692388.204 601233.048 0, 1692092.263 601192.304 0, 1691796.32 601151.577 0,
+ 1691500.375 601110.868 0, 1691204.427 601070.177 0, 1690908.477 601029.502 0, 1690612.524 600988.846 0, 1690316.569 600948.206 0, 1690020.611 600907.584 0, 1689724.651 600866.98 0, 1689428.689 600826.393 0, 1689132.725 600785.823 0, 1688836.758 600745.271 0,
+ 1688540.788 600704.736 0, 1688244.816 600664.218 0, 1687948.842 600623.718 0, 1687652.866 600583.236 0, 1687356.887 600542.771 0, 1687060.905 600502.323 0, 1686764.922 600461.893 0, 1686468.936 600421.48 0, 1686171.624 600380.904 0, 1685419.726 605891.483 0,
+ 1684667.777 611402.43 0, 1684964.437 611442.917 0, 1685259.775 611483.242 0, 1685555.11 611523.583 0, 1685850.442 611563.943 0, 1686145.773 611604.319 0, 1686441.1 611644.713 0, 1686736.426 611685.124 0, 1687031.749 611725.553 0, 1687327.07 611765.999 0,
+ 1687622.388 611806.462 0, 1687917.704 611846.943 0, 1688213.018 611887.441 0, 1688508.329 611927.957 0, 1688803.638 611968.49 0, 1689098.944 612009.04 0, 1689394.248 612049.608 0, 1689689.55 612090.193 0, 1689984.849 612130.795 0, 1690280.146 612171.415 0,
+ 1690575.441 612212.052 0, 1690870.733 612252.707 0, 1691166.022 612293.379 0, 1691461.31 612334.068 0, 1691755.276 612374.593 0, 1692051.877 612415.499 0, 1692347.157 612456.24 0, 1692642.435 612496.999 0, 1692937.71 612537.776 0, 1693232.983 612578.569 0,
+ 1693528.254 612619.38 0, 1693823.522 612660.209 0, 1694118.788 612701.054 0, 1694414.051 612741.917 0, 1694709.312 612782.798 0, 1695004.57 612823.696 0, 1695299.827 612864.611 0, 1695595.08 612905.544 0, 1695890.331 612946.494 0, 1696185.58 612987.461 0,
+ 1696480.827 613028.446 0, 1696776.071 613069.448 0, 1697071.312 613110.468 0, 1697366.552 613151.505 0, 1697661.788 613192.559 0, 1697957.023 613233.631 0, 1698252.255 613274.72 0, 1698547.484 613315.826 0, 1698841.394 613356.766 0, 1699608.909 607847.966 0,
+ 1700376.373 602339.532 0))
+
+POLYGON ((1713009.433 615351.138 0, 1712715.638 615309.367 0, 1712420.525 615267.427 0, 1712125.411 615225.504 0, 1711830.294 615183.598 0, 1711535.174 615141.71 0, 1711240.052 615099.839 0, 1710944.927 615057.985 0, 1710649.8 615016.149 0, 1710354.671 614974.331 0,
+ 1710059.539 614932.529 0, 1709764.404 614890.745 0, 1709469.268 614848.978 0, 1709174.128 614807.229 0, 1708878.987 614765.497 0, 1708583.842 614723.783 0, 1708288.696 614682.086 0, 1707993.546 614640.406 0, 1707698.395 614598.743 0, 1707403.241 614557.098 0,
+ 1707108.084 614515.471 0, 1706812.925 614473.86 0, 1706517.764 614432.268 0, 1706222.6 614390.692 0, 1705926.118 614348.949 0, 1705632.265 614307.593 0, 1705337.094 614266.07 0, 1705041.92 614224.564 0, 1704746.744 614183.075 0, 1704451.566 614141.604 0,
+ 1704156.385 614100.15 0, 1703861.201 614058.713 0, 1703566.016 614017.294 0, 1703270.827 613975.892 0, 1702975.637 613934.508 0, 1702680.443 613893.141 0, 1702385.248 613851.791 0, 1702090.05 613810.459 0, 1701794.849 613769.144 0, 1701499.647 613727.846 0,
+ 1701204.441 613686.566 0, 1700909.234 613645.303 0, 1700614.023 613604.058 0, 1700318.811 613562.83 0, 1700023.596 613521.619 0, 1699728.378 613480.426 0, 1699433.158 613439.25 0, 1699137.936 613398.091 0, 1698841.394 613356.766 0, 1698073.829 618865.932 0,
+ 1697306.213 624375.458 0, 1697602.103 624416.692 0, 1697896.677 624457.76 0, 1698191.248 624498.846 0, 1698485.817 624539.949 0, 1698780.384 624581.069 0, 1699074.948 624622.206 0, 1699369.509 624663.361 0, 1699664.069 624704.533 0, 1699958.625 624745.723 0,
+ 1700253.18 624786.93 0, 1700547.732 624828.154 0, 1700842.281 624869.395 0, 1701136.828 624910.654 0, 1701431.373 624951.93 0, 1701725.915 624993.224 0, 1702020.455 625034.535 0, 1702314.992 625075.863 0, 1702609.527 625117.208 0, 1702904.06 625158.571 0,
+ 1703198.59 625199.952 0, 1703493.118 625241.349 0, 1703787.643 625282.764 0, 1704082.166 625324.196 0, 1704375.373 625365.461 0, 1704671.204 625407.113 0, 1704965.719 625448.597 0, 1705260.232 625490.098 0, 1705554.743 625531.617 0, 1705849.251 625573.153 0,
+ 1706143.757 625614.707 0, 1706438.26 625656.278 0, 1706732.761 625697.866 0, 1707027.259 625739.472 0, 1707321.755 625781.095 0, 1707616.248 625822.735 0, 1707910.739 625864.392 0, 1708205.228 625906.067 0, 1708499.714 625947.759 0, 1708794.197 625989.469 0,
+ 1709088.679 626031.196 0, 1709383.157 626072.94 0, 1709677.633 626114.702 0, 1709972.107 626156.481 0, 1710266.579 626198.277 0, 1710561.047 626240.09 0, 1710855.514 626281.921 0, 1711149.978 626323.769 0, 1711443.128 626365.448 0, 1712226.306 620858.112 0,
+ 1713009.433 615351.138 0))
+
+POLYGON ((1725574.364 628395.37 0, 1725281.331 628352.863 0, 1724986.987 628310.183 0, 1724692.639 628267.52 0, 1724398.29 628224.875 0, 1724103.938 628182.247 0, 1723809.583 628139.636 0, 1723515.226 628097.043 0, 1723220.867 628054.467 0, 1722926.505 628011.908 0,
+ 1722632.14 627969.367 0, 1722337.773 627926.843 0, 1722043.403 627884.336 0, 1721749.031 627841.847 0, 1721454.656 627799.374 0, 1721160.279 627756.92 0, 1720865.9 627714.482 0, 1720571.518 627672.062 0, 1720277.133 627629.66 0, 1719982.746 627587.274 0,
+ 1719688.356 627544.906 0, 1719393.964 627502.555 0, 1719099.57 627460.222 0, 1718805.173 627417.906 0, 1718509.463 627375.419 0, 1718216.371 627333.325 0, 1717921.966 627291.061 0, 1717627.559 627248.815 0, 1717333.15 627206.585 0, 1717038.738 627164.373 0,
+ 1716744.323 627122.178 0, 1716449.907 627080.001 0, 1716155.487 627037.841 0, 1715861.065 626995.698 0, 1715566.641 626953.572 0, 1715272.214 626911.464 0, 1714977.785 626869.373 0, 1714683.353 626827.3 0, 1714388.918 626785.244 0, 1714094.482 626743.205 0,
+ 1713800.042 626701.183 0, 1713505.601 626659.179 0, 1713211.156 626617.192 0, 1712916.71 626575.223 0, 1712622.261 626533.27 0, 1712327.809 626491.336 0, 1712033.355 626449.418 0, 1711738.898 626407.518 0, 1711443.128 626365.448 0, 1710659.898 631873.142 0,
+ 1709876.619 637381.191 0, 1710171.738 637423.168 0, 1710465.546 637464.976 0, 1710759.352 637506.801 0, 1711053.155 637548.643 0, 1711346.956 637590.503 0, 1711640.754 637632.38 0, 1711934.55 637674.275 0, 1712228.344 637716.187 0, 1712522.135 637758.116 0,
+ 1712815.923 637800.062 0, 1713109.709 637842.025 0, 1713403.493 637884.006 0, 1713697.274 637926.004 0, 1713991.052 637968.02 0, 1714284.828 638010.053 0, 1714578.602 638052.103 0, 1714872.373 638094.17 0, 1715166.142 638136.255 0, 1715459.908 638178.356 0,
+ 1715753.672 638220.476 0, 1716047.433 638262.612 0, 1716341.192 638304.766 0, 1716634.948 638346.937 0, 1716927.395 638388.938 0, 1717222.453 638431.331 0, 1717516.202 638473.554 0, 1717809.949 638515.794 0, 1718103.692 638558.052 0, 1718397.434 638600.326 0,
+ 1718691.173 638642.619 0, 1718984.909 638684.928 0, 1719278.643 638727.255 0, 1719572.374 638769.599 0, 1719866.103 638811.96 0, 1720159.83 638854.338 0, 1720453.554 638896.734 0, 1720747.275 638939.147 0, 1721040.994 638981.578 0, 1721334.711 639024.025 0,
+ 1721628.425 639066.49 0, 1721922.136 639108.973 0, 1722215.845 639151.472 0, 1722509.551 639193.989 0, 1722803.255 639236.523 0, 1723096.957 639279.074 0, 1723390.656 639321.643 0, 1723684.352 639364.229 0, 1723976.74 639406.643 0, 1724775.578 633900.829 0,
+ 1725574.364 628395.37 0))
+
+POLYGON ((1738071.083 641471.922 0, 1737778.814 641428.682 0, 1737485.239 641385.267 0, 1737191.661 641341.868 0, 1736898.081 641298.487 0, 1736604.499 641255.124 0, 1736310.913 641211.777 0, 1736017.326 641168.448 0, 1735723.736 641125.136 0, 1735430.143 641081.842 0,
+ 1735136.547 641038.564 0, 1734842.949 640995.304 0, 1734549.349 640952.061 0, 1734255.746 640908.836 0, 1733962.14 640865.628 0, 1733668.532 640822.437 0, 1733374.922 640779.263 0, 1733081.309 640736.107 0, 1732787.693 640692.968 0, 1732494.075 640649.846 0,
+ 1732200.454 640606.741 0, 1731906.831 640563.654 0, 1731613.205 640520.584 0, 1731319.576 640477.532 0, 1731024.641 640434.305 0, 1730732.312 640391.478 0, 1730438.676 640348.477 0, 1730145.038 640305.494 0, 1729851.396 640262.528 0, 1729557.753 640219.579 0,
+ 1729264.107 640176.647 0, 1728970.458 640133.733 0, 1728676.807 640090.835 0, 1728383.153 640047.956 0, 1728089.497 640005.093 0, 1727795.838 639962.248 0, 1727502.177 639919.42 0, 1727208.513 639876.609 0, 1726914.847 639833.816 0, 1726621.178 639791.04 0,
+ 1726327.507 639748.281 0, 1726033.833 639705.539 0, 1725740.157 639662.815 0, 1725446.478 639620.108 0, 1725152.797 639577.418 0, 1724859.113 639534.746 0, 1724565.426 639492.091 0, 1724271.737 639449.453 0, 1723976.74 639406.643 0, 1723177.851 644912.808 0,
+ 1722378.912 650419.322 0, 1722673.258 650462.037 0, 1722966.299 650504.581 0, 1723259.337 650547.142 0, 1723552.373 650589.72 0, 1723845.406 650632.316 0, 1724138.437 650674.929 0, 1724431.465 650717.559 0, 1724724.491 650760.206 0, 1725017.514 650802.87 0,
+ 1725310.535 650845.552 0, 1725603.553 650888.251 0, 1725896.568 650930.967 0, 1726189.582 650973.701 0, 1726482.592 651016.451 0, 1726775.6 651059.219 0, 1727068.606 651102.004 0, 1727361.609 651144.807 0, 1727654.609 651187.627 0, 1727947.607 651230.463 0,
+ 1728240.603 651273.318 0, 1728533.596 651316.189 0, 1728826.586 651359.078 0, 1729119.574 651401.984 0, 1729411.258 651444.716 0, 1729705.542 651487.847 0, 1729998.523 651530.805 0, 1730291.501 651573.78 0, 1730584.476 651616.772 0, 1730877.449 651659.781 0,
+ 1731170.419 651702.808 0, 1731463.387 651745.852 0, 1731756.352 651788.913 0, 1732049.314 651831.991 0, 1732342.274 651875.087 0, 1732635.232 651918.2 0, 1732928.187 651961.33 0, 1733221.139 652004.477 0, 1733514.089 652047.641 0, 1733807.037 652090.823 0,
+ 1734099.982 652134.022 0, 1734392.924 652177.239 0, 1734685.864 652220.472 0, 1734978.801 652263.723 0, 1735271.735 652306.991 0, 1735564.668 652350.276 0, 1735857.597 652393.579 0, 1736150.524 652436.898 0, 1736442.148 652480.043 0, 1737256.641 646975.808 0,
+ 1738071.083 641471.922 0))
+
+POLYGON ((1750499.507 654580.487 0, 1750208.003 654536.518 0, 1749915.2 654492.371 0, 1749622.394 654448.241 0, 1749329.585 654404.129 0, 1749036.774 654360.033 0, 1748743.96 654315.955 0, 1748451.144 654271.894 0, 1748158.325 654227.85 0, 1747865.503 654183.824 0,
+ 1747572.679 654139.815 0, 1747279.852 654095.823 0, 1746987.023 654051.848 0, 1746694.191 654007.89 0, 1746401.356 653963.95 0, 1746108.519 653920.027 0, 1745815.679 653876.121 0, 1745522.837 653832.232 0, 1745229.992 653788.361 0, 1744937.144 653744.507 0,
+ 1744644.294 653700.67 0, 1744351.442 653656.85 0, 1744058.586 653613.048 0, 1743765.729 653569.263 0, 1743471.569 653525.301 0, 1743180.005 653481.744 0, 1742887.14 653438.011 0, 1742594.272 653394.294 0, 1742301.401 653350.595 0, 1742008.528 653306.914 0,
+ 1741715.652 653263.249 0, 1741422.773 653219.602 0, 1741129.893 653175.972 0, 1740837.009 653132.359 0, 1740544.123 653088.763 0, 1740251.234 653045.185 0, 1739958.343 653001.624 0, 1739665.449 652958.08 0, 1739372.553 652914.553 0, 1739079.654 652871.044 0,
+ 1738786.752 652827.552 0, 1738493.848 652784.077 0, 1738200.942 652740.619 0, 1737908.033 652697.179 0, 1737615.121 652653.756 0, 1737322.207 652610.35 0, 1737029.29 652566.961 0, 1736736.371 652523.59 0, 1736442.148 652480.043 0, 1735627.604 657984.622 0,
+ 1734813.01 663489.544 0, 1735106.581 663532.994 0, 1735398.852 663576.27 0, 1735691.121 663619.562 0, 1735983.387 663662.872 0, 1736275.651 663706.199 0, 1736567.912 663749.544 0, 1736860.171 663792.905 0, 1737152.427 663836.284 0, 1737444.681 663879.68 0,
+ 1737736.932 663923.093 0, 1738029.18 663966.523 0, 1738321.426 664009.971 0, 1738613.669 664053.436 0, 1738905.91 664096.917 0, 1739198.148 664140.417 0, 1739490.384 664183.933 0, 1739782.617 664227.466 0, 1740074.847 664271.017 0, 1740367.075 664314.585 0,
+ 1740659.3 664358.17 0, 1740951.523 664401.773 0, 1741243.744 664445.392 0, 1741535.961 664489.029 0, 1741826.88 664532.489 0, 1742120.389 664576.354 0, 1742412.599 664620.042 0, 1742704.806 664663.748 0, 1742997.011 664707.471 0, 1743289.213 664751.21 0,
+ 1743581.413 664794.968 0, 1743873.61 664838.742 0, 1744165.804 664882.533 0, 1744457.996 664926.342 0, 1744750.186 664970.168 0, 1745042.372 665014.011 0, 1745334.557 665057.871 0, 1745626.738 665101.749 0, 1745918.917 665145.644 0, 1746211.094 665189.556 0,
+ 1746503.268 665233.485 0, 1746795.439 665277.431 0, 1747087.608 665321.394 0, 1747379.774 665365.375 0, 1747671.937 665409.373 0, 1747964.098 665453.388 0, 1748256.256 665497.42 0, 1748548.412 665541.47 0, 1748839.271 665585.341 0, 1749669.414 660082.743 0,
+ 1750499.507 654580.487 0))
+
+POLYGON ((1762859.555 667720.757 0, 1762568.819 667676.064 0, 1762276.789 667631.189 0, 1761984.756 667586.332 0, 1761692.721 667541.491 0, 1761400.683 667496.668 0, 1761108.642 667451.862 0, 1760816.599 667407.074 0, 1760524.553 667362.302 0, 1760232.504 667317.548 0,
+ 1759940.453 667272.81 0, 1759648.399 667228.09 0, 1759356.343 667183.388 0, 1759064.284 667138.702 0, 1758772.222 667094.034 0, 1758480.157 667049.382 0, 1758188.09 667004.748 0, 1757896.021 666960.132 0, 1757603.949 666915.532 0, 1757311.874 666870.949 0,
+ 1757019.796 666826.384 0, 1756727.716 666781.836 0, 1756435.633 666737.305 0, 1756143.548 666692.791 0, 1755850.167 666648.098 0, 1755559.369 666603.816 0, 1755267.276 666559.353 0, 1754975.18 666514.909 0, 1754683.082 666470.481 0, 1754390.981 666426.07 0,
+ 1754098.877 666381.677 0, 1753806.771 666337.301 0, 1753514.662 666292.942 0, 1753222.55 666248.6 0, 1752930.436 666204.275 0, 1752638.32 666159.968 0, 1752346.2 666115.678 0, 1752054.078 666071.405 0, 1751761.954 666027.149 0, 1751469.827 665982.91 0,
+ 1751177.697 665938.689 0, 1750885.565 665894.485 0, 1750593.43 665850.298 0, 1750301.292 665806.128 0, 1750009.152 665761.975 0, 1749717.009 665717.84 0, 1749424.864 665673.721 0, 1749132.716 665629.62 0, 1748839.271 665585.341 0, 1748009.076 671088.278 0,
+ 1747178.83 676591.549 0, 1747471.625 676635.73 0, 1747763.125 676679.733 0, 1748054.623 676723.754 0, 1748346.118 676767.791 0, 1748637.61 676811.846 0, 1748929.1 676855.918 0, 1749220.587 676900.007 0, 1749512.071 676944.113 0, 1749803.553 676988.237 0,
+ 1750095.033 677032.377 0, 1750386.51 677076.535 0, 1750677.984 677120.71 0, 1750969.456 677164.902 0, 1751260.925 677209.111 0, 1751552.391 677253.337 0, 1751843.855 677297.581 0, 1752135.316 677341.841 0, 1752426.774 677386.119 0, 1752718.23 677430.414 0,
+ 1753009.684 677474.726 0, 1753301.135 677519.055 0, 1753592.583 677563.402 0, 1753884.028 677607.765 0, 1754174.181 677651.949 0, 1754466.912 677696.544 0, 1754758.349 677740.959 0, 1755049.784 677785.391 0, 1755341.217 677829.84 0, 1755632.647 677874.307 0,
+ 1755924.074 677918.79 0, 1756215.499 677963.291 0, 1756506.921 678007.809 0, 1756798.34 678052.344 0, 1757089.757 678096.896 0, 1757381.171 678141.465 0, 1757672.582 678186.052 0, 1757963.991 678230.656 0, 1758255.397 678275.277 0, 1758546.801 678319.914 0,
+ 1758838.202 678364.57 0, 1759129.601 678409.242 0, 1759420.996 678453.931 0, 1759712.389 678498.638 0, 1760003.78 678543.362 0, 1760295.168 678588.103 0, 1760586.553 678632.861 0, 1760877.936 678677.636 0, 1761168.026 678722.23 0, 1762013.816 673221.326 0,
+ 1762859.555 667720.757 0))
+
+POLYGON ((1555751.475 472494.53 0, 1555449.338 472461.977 0, 1555145.818 472429.294 0, 1554842.296 472396.628 0, 1554538.773 472363.98 0, 1554235.247 472331.35 0, 1553931.72 472298.738 0, 1553628.191 472266.143 0, 1553324.66 472233.567 0, 1553021.127 472201.008 0,
+ 1552717.591 472168.467 0, 1552414.055 472135.944 0, 1552110.516 472103.439 0, 1551806.975 472070.952 0, 1551503.432 472038.483 0, 1551199.888 472006.031 0, 1550896.341 471973.598 0, 1550592.793 471941.182 0, 1550289.242 471908.784 0, 1549985.69 471876.404 0,
+ 1549682.136 471844.042 0, 1549378.58 471811.698 0, 1549075.022 471779.371 0, 1548771.462 471747.063 0, 1548466.519 471714.625 0, 1548164.337 471682.499 0, 1547860.771 471650.244 0, 1547557.204 471618.007 0, 1547253.635 471585.788 0, 1546950.063 471553.587 0,
+ 1546646.49 471521.403 0, 1546342.915 471489.238 0, 1546039.338 471457.09 0, 1545735.759 471424.96 0, 1545432.179 471392.848 0, 1545128.596 471360.754 0, 1544825.012 471328.678 0, 1544521.425 471296.619 0, 1544217.837 471264.579 0, 1543914.247 471232.556 0,
+ 1543610.655 471200.551 0, 1543307.061 471168.564 0, 1543003.465 471136.595 0, 1542699.868 471104.644 0, 1542396.268 471072.711 0, 1542092.667 471040.796 0, 1541789.063 471008.898 0, 1541485.458 470977.018 0, 1541180.468 470945.011 0, 1540601.001 476468.263 0,
+ 1540021.488 481991.945 0, 1540325.824 482023.883 0, 1540628.779 482055.695 0, 1540931.732 482087.524 0, 1541234.684 482119.371 0, 1541537.633 482151.236 0, 1541840.58 482183.119 0, 1542143.526 482215.019 0, 1542446.47 482246.938 0, 1542749.412 482278.874 0,
+ 1543052.352 482310.828 0, 1543355.29 482342.8 0, 1543658.226 482374.79 0, 1543961.16 482406.797 0, 1544264.093 482438.823 0, 1544567.023 482470.866 0, 1544869.952 482502.927 0, 1545172.879 482535.006 0, 1545475.803 482567.102 0, 1545778.726 482599.217 0,
+ 1546081.648 482631.349 0, 1546384.567 482663.5 0, 1546687.484 482695.668 0, 1546990.4 482727.853 0, 1547291.935 482759.911 0, 1547596.225 482792.279 0, 1547899.134 482824.518 0, 1548202.042 482856.775 0, 1548504.948 482889.05 0, 1548807.852 482921.343 0,
+ 1549110.754 482953.654 0, 1549413.655 482985.982 0, 1549716.553 483018.328 0, 1550019.449 483050.693 0, 1550322.344 483083.075 0, 1550625.237 483115.474 0, 1550928.127 483147.892 0, 1551231.016 483180.327 0, 1551533.903 483212.781 0, 1551836.788 483245.252 0,
+ 1552139.671 483277.741 0, 1552442.552 483310.247 0, 1552745.431 483342.772 0, 1553048.309 483375.314 0, 1553351.184 483407.875 0, 1553654.058 483440.453 0, 1553956.929 483473.049 0, 1554259.799 483505.662 0, 1554561.29 483538.145 0, 1555156.406 478016.123 0,
+ 1555751.475 472494.53 0))
+
+POLYGON ((1569096.665 485125.417 0, 1568795.265 485092.082 0, 1568492.489 485058.613 0, 1568189.711 485025.162 0, 1567886.931 484991.728 0, 1567584.148 484958.312 0, 1567281.364 484924.914 0, 1566978.578 484891.534 0, 1566675.79 484858.172 0, 1566373 484824.827 0,
+ 1566070.208 484791.501 0, 1565767.414 484758.192 0, 1565464.618 484724.901 0, 1565161.82 484691.628 0, 1564859.02 484658.372 0, 1564556.218 484625.135 0, 1564253.414 484591.915 0, 1563950.609 484558.713 0, 1563647.801 484525.529 0, 1563344.991 484492.363 0,
+ 1563042.18 484459.214 0, 1562739.366 484426.083 0, 1562436.551 484392.971 0, 1562133.733 484359.876 0, 1561829.538 484326.648 0, 1561528.092 484293.739 0, 1561225.269 484260.698 0, 1560922.444 484227.674 0, 1560619.617 484194.668 0, 1560316.788 484161.68 0,
+ 1560013.957 484128.71 0, 1559711.124 484095.757 0, 1559408.289 484062.823 0, 1559105.452 484029.906 0, 1558802.613 483997.007 0, 1558499.772 483964.126 0, 1558196.929 483931.263 0, 1557894.085 483898.417 0, 1557591.238 483865.59 0, 1557288.39 483832.78 0,
+ 1556985.539 483799.988 0, 1556682.687 483767.214 0, 1556379.833 483734.457 0, 1556076.977 483701.719 0, 1555774.118 483668.998 0, 1555471.258 483636.295 0, 1555168.396 483603.61 0, 1554865.533 483570.943 0, 1554561.29 483538.145 0, 1553966.128 489060.595 0,
+ 1553370.92 494583.469 0, 1553674.51 494616.197 0, 1553976.723 494648.794 0, 1554278.935 494681.409 0, 1554581.145 494714.041 0, 1554883.353 494746.692 0, 1555185.559 494779.36 0, 1555487.764 494812.046 0, 1555789.966 494844.75 0, 1556092.166 494877.471 0,
+ 1556394.365 494910.211 0, 1556696.561 494942.968 0, 1556998.756 494975.743 0, 1557300.948 495008.535 0, 1557603.139 495041.346 0, 1557905.328 495074.174 0, 1558207.515 495107.02 0, 1558509.699 495139.884 0, 1558811.882 495172.766 0, 1559114.063 495205.665 0,
+ 1559416.243 495238.583 0, 1559718.42 495271.518 0, 1560020.595 495304.47 0, 1560322.768 495337.441 0, 1560623.567 495370.279 0, 1560927.109 495403.436 0, 1561229.276 495436.459 0, 1561531.442 495469.501 0, 1561833.605 495502.561 0, 1562135.767 495535.638 0,
+ 1562437.927 495568.733 0, 1562740.084 495601.846 0, 1563042.24 495634.977 0, 1563344.394 495668.125 0, 1563646.546 495701.291 0, 1563948.696 495734.475 0, 1564250.844 495767.677 0, 1564552.99 495800.897 0, 1564855.134 495834.134 0, 1565157.276 495867.389 0,
+ 1565459.416 495900.662 0, 1565761.554 495933.953 0, 1566063.69 495967.261 0, 1566365.825 496000.588 0, 1566667.957 496033.932 0, 1566970.087 496067.293 0, 1567272.216 496100.673 0, 1567574.342 496134.071 0, 1567875.095 496167.334 0, 1568485.904 490646.164 0,
+ 1569096.665 485125.417 0))
+
+POLYGON ((1582374.738 497792.169 0, 1582074.078 497758.056 0, 1581772.047 497723.805 0, 1581470.014 497689.572 0, 1581167.979 497655.357 0, 1580865.942 497621.159 0, 1580563.903 497586.98 0, 1580261.863 497552.818 0, 1579959.82 497518.674 0, 1579657.775 497484.547 0,
+ 1579355.728 497450.439 0, 1579053.679 497416.348 0, 1578751.628 497382.275 0, 1578449.575 497348.219 0, 1578147.52 497314.182 0, 1577845.463 497280.162 0, 1577543.404 497246.16 0, 1577241.343 497212.176 0, 1576939.28 497178.21 0, 1576637.215 497144.261 0,
+ 1576335.148 497110.33 0, 1576033.079 497076.417 0, 1575731.008 497042.522 0, 1575428.935 497008.644 0, 1575125.49 496974.631 0, 1574824.783 496940.943 0, 1574522.705 496907.119 0, 1574220.624 496873.312 0, 1573918.541 496839.524 0, 1573616.456 496805.753 0,
+ 1573314.369 496772 0, 1573012.28 496738.265 0, 1572710.189 496704.547 0, 1572408.096 496670.847 0, 1572106.002 496637.165 0, 1571803.905 496603.501 0, 1571501.806 496569.855 0, 1571199.705 496536.226 0, 1570897.603 496502.616 0, 1570595.498 496469.023 0,
+ 1570293.391 496435.447 0, 1569991.282 496401.89 0, 1569689.172 496368.35 0, 1569387.059 496334.828 0, 1569084.945 496301.324 0, 1568782.828 496267.838 0, 1568480.71 496234.369 0, 1568178.589 496200.919 0, 1567875.095 496167.334 0, 1567264.24 501688.925 0,
+ 1566653.339 507210.935 0, 1566956.18 507244.447 0, 1567257.65 507277.826 0, 1567559.119 507311.223 0, 1567860.585 507344.637 0, 1568162.05 507378.069 0, 1568463.512 507411.519 0, 1568764.973 507444.986 0, 1569066.432 507478.471 0, 1569367.888 507511.974 0,
+ 1569669.343 507545.495 0, 1569970.796 507579.034 0, 1570272.247 507612.59 0, 1570573.696 507646.164 0, 1570875.142 507679.755 0, 1571176.587 507713.365 0, 1571478.03 507746.992 0, 1571779.471 507780.637 0, 1572080.91 507814.3 0, 1572382.347 507847.98 0,
+ 1572683.782 507881.678 0, 1572985.215 507915.394 0, 1573286.646 507949.128 0, 1573588.075 507982.879 0, 1573888.135 508016.495 0, 1574190.927 508050.435 0, 1574492.35 508084.24 0, 1574793.771 508118.062 0, 1575095.19 508151.902 0, 1575396.607 508185.76 0,
+ 1575698.022 508219.636 0, 1575999.436 508253.529 0, 1576300.847 508287.44 0, 1576602.256 508321.369 0, 1576903.663 508355.315 0, 1577205.068 508389.28 0, 1577506.471 508423.262 0, 1577807.872 508457.261 0, 1578109.271 508491.279 0, 1578410.668 508525.314 0,
+ 1578712.063 508559.367 0, 1579013.456 508593.438 0, 1579314.848 508627.526 0, 1579616.237 508661.632 0, 1579917.624 508695.756 0, 1580219.009 508729.898 0, 1580520.392 508764.057 0, 1580821.773 508798.235 0, 1581121.786 508832.274 0, 1581748.286 503312.013 0,
+ 1582374.738 497792.169 0))
+
+POLYGON ((1595585.595 510494.484 0, 1595285.677 510459.596 0, 1594984.394 510424.568 0, 1594683.109 510389.557 0, 1594381.821 510354.564 0, 1594080.532 510319.589 0, 1593779.24 510284.631 0, 1593477.947 510249.691 0, 1593176.651 510214.769 0, 1592875.353 510179.865 0,
+ 1592574.054 510144.978 0, 1592272.752 510110.109 0, 1591971.448 510075.258 0, 1591670.142 510040.425 0, 1591368.834 510005.609 0, 1591067.524 509970.811 0, 1590766.212 509936.031 0, 1590464.898 509901.269 0, 1590163.582 509866.524 0, 1589862.264 509831.797 0,
+ 1589560.943 509797.088 0, 1589259.621 509762.396 0, 1588958.297 509727.722 0, 1588656.97 509693.066 0, 1588354.278 509658.271 0, 1588054.312 509623.807 0, 1587752.979 509589.205 0, 1587451.645 509554.619 0, 1587150.308 509520.052 0, 1586848.97 509485.502 0,
+ 1586547.629 509450.971 0, 1586246.286 509416.456 0, 1585944.942 509381.96 0, 1585643.595 509347.481 0, 1585342.246 509313.02 0, 1585040.896 509278.577 0, 1584739.543 509244.152 0, 1584438.188 509209.744 0, 1584136.831 509175.354 0, 1583835.472 509140.982 0,
+ 1583534.112 509106.627 0, 1583232.749 509072.29 0, 1582931.384 509037.971 0, 1582630.017 509003.67 0, 1582328.648 508969.386 0, 1582027.277 508935.121 0, 1581725.904 508900.872 0, 1581424.529 508866.642 0, 1581121.786 508832.274 0, 1580495.24 514352.951 0,
+ 1579868.646 519874.039 0, 1580170.736 519908.333 0, 1580471.461 519942.489 0, 1580772.184 519976.663 0, 1581072.905 520010.855 0, 1581373.624 520045.065 0, 1581674.341 520079.292 0, 1581975.056 520113.537 0, 1582275.769 520147.8 0, 1582576.48 520182.081 0,
+ 1582877.189 520216.379 0, 1583177.896 520250.695 0, 1583478.601 520285.028 0, 1583779.304 520319.379 0, 1584080.005 520353.748 0, 1584380.704 520388.135 0, 1584681.401 520422.539 0, 1584982.096 520456.961 0, 1585282.788 520491.401 0, 1585583.479 520525.858 0,
+ 1585884.168 520560.334 0, 1586184.855 520594.826 0, 1586485.539 520629.337 0, 1586786.222 520663.865 0, 1587085.541 520698.255 0, 1587387.581 520732.975 0, 1587688.258 520767.556 0, 1587988.932 520802.155 0, 1588289.605 520836.772 0, 1588590.275 520871.406 0,
+ 1588890.944 520906.058 0, 1589191.61 520940.728 0, 1589492.274 520975.415 0, 1589792.937 521010.121 0, 1590093.597 521044.844 0, 1590394.255 521079.584 0, 1590694.911 521114.342 0, 1590995.565 521149.118 0, 1591296.217 521183.912 0, 1591596.867 521218.723 0,
+ 1591897.515 521253.553 0, 1592198.161 521288.399 0, 1592498.805 521323.264 0, 1592799.447 521358.146 0, 1593100.087 521393.046 0, 1593400.724 521427.963 0, 1593701.36 521462.899 0, 1594001.994 521497.851 0, 1594301.265 521532.664 0, 1594943.454 516013.368 0,
+ 1595585.595 510494.484 0))
+
+POLYGON ((1608729.141 523232.057 0, 1608429.967 523196.399 0, 1608129.433 523160.597 0, 1607828.897 523124.812 0, 1607528.359 523089.045 0, 1607227.819 523053.296 0, 1606927.277 523017.565 0, 1606626.733 522981.851 0, 1606326.187 522946.155 0, 1606025.639 522910.477 0,
+ 1605725.088 522874.816 0, 1605424.536 522839.173 0, 1605123.981 522803.548 0, 1604823.424 522767.941 0, 1604522.865 522732.351 0, 1604222.304 522696.779 0, 1603921.741 522661.224 0, 1603621.176 522625.687 0, 1603320.609 522590.168 0, 1603020.04 522554.667 0,
+ 1602719.468 522519.183 0, 1602418.895 522483.717 0, 1602118.319 522448.269 0, 1601817.742 522412.838 0, 1601515.803 522377.265 0, 1601216.58 522342.03 0, 1600915.996 522306.652 0, 1600615.41 522271.292 0, 1600314.822 522235.95 0, 1600014.232 522200.626 0,
+ 1599713.64 522165.319 0, 1599413.045 522130.03 0, 1599112.449 522094.758 0, 1598811.851 522059.505 0, 1598511.25 522024.269 0, 1598210.647 521989.05 0, 1597910.043 521953.85 0, 1597609.436 521918.667 0, 1597308.827 521883.501 0, 1597008.216 521848.354 0,
+ 1596707.603 521813.224 0, 1596406.988 521778.112 0, 1596106.371 521743.017 0, 1595805.752 521707.941 0, 1595505.131 521672.882 0, 1595204.507 521637.84 0, 1594903.882 521602.816 0, 1594603.255 521567.81 0, 1594301.265 521532.664 0, 1593659.029 527052.369 0,
+ 1593016.745 532572.479 0, 1593318.082 532607.55 0, 1593618.059 532642.48 0, 1593918.035 532677.428 0, 1594218.008 532712.394 0, 1594517.98 532747.377 0, 1594817.949 532782.378 0, 1595117.917 532817.397 0, 1595417.882 532852.433 0, 1595717.845 532887.487 0,
+ 1596017.806 532922.558 0, 1596317.765 532957.648 0, 1596617.722 532992.755 0, 1596917.677 533027.879 0, 1597217.63 533063.021 0, 1597517.581 533098.181 0, 1597817.53 533133.359 0, 1598117.476 533168.554 0, 1598417.421 533203.767 0, 1598717.364 533238.997 0,
+ 1599017.304 533274.245 0, 1599317.242 533309.511 0, 1599617.179 533344.795 0, 1599917.113 533380.096 0, 1600215.689 533415.255 0, 1600516.975 533450.751 0, 1600816.903 533486.105 0, 1601116.829 533521.477 0, 1601416.753 533556.866 0, 1601716.675 533592.273 0,
+ 1602016.594 533627.698 0, 1602316.512 533663.14 0, 1602616.427 533698.6 0, 1602916.341 533734.078 0, 1603216.252 533769.573 0, 1603516.161 533805.086 0, 1603816.068 533840.616 0, 1604115.973 533876.165 0, 1604415.876 533911.731 0, 1604715.777 533947.314 0,
+ 1605015.676 533982.915 0, 1605315.573 534018.534 0, 1605615.467 534054.171 0, 1605915.36 534089.825 0, 1606215.25 534125.497 0, 1606515.138 534161.186 0, 1606815.025 534196.893 0, 1607114.909 534232.618 0, 1607413.436 534268.199 0, 1608071.313 528749.925 0,
+ 1608729.141 523232.057 0))
+
+POLYGON ((1621805.28 536004.585 0, 1621506.851 535968.161 0, 1621207.069 535931.589 0, 1620907.285 535895.035 0, 1620607.499 535858.498 0, 1620307.711 535821.979 0, 1620007.92 535785.478 0, 1619708.127 535748.994 0, 1619408.332 535712.528 0, 1619108.535 535676.08 0,
+ 1618808.736 535639.649 0, 1618508.935 535603.236 0, 1618209.132 535566.841 0, 1617909.326 535530.463 0, 1617609.518 535494.103 0, 1617309.709 535457.761 0, 1617009.897 535421.436 0, 1616710.082 535385.129 0, 1616410.266 535348.839 0, 1616110.448 535312.567 0,
+ 1615810.627 535276.313 0, 1615510.805 535240.077 0, 1615210.98 535203.858 0, 1614911.153 535167.656 0, 1614609.971 535131.31 0, 1614311.493 535095.307 0, 1614011.659 535059.158 0, 1613711.824 535023.028 0, 1613411.986 534986.915 0, 1613112.147 534950.819 0,
+ 1612812.305 534914.742 0, 1612512.461 534878.682 0, 1612212.615 534842.639 0, 1611912.767 534806.614 0, 1611612.917 534770.607 0, 1611313.064 534734.618 0, 1611013.21 534698.646 0, 1610713.353 534662.692 0, 1610413.494 534626.755 0, 1610113.633 534590.836 0,
+ 1609813.77 534554.935 0, 1609513.905 534519.051 0, 1609214.038 534483.185 0, 1608914.169 534447.337 0, 1608614.297 534411.506 0, 1608314.424 534375.693 0, 1608014.548 534339.898 0, 1607714.67 534304.12 0, 1607413.436 534268.199 0, 1606755.512 539786.875 0,
+ 1606097.54 545305.951 0, 1606398.121 545341.795 0, 1606697.349 545377.495 0, 1606996.575 545413.213 0, 1607295.799 545448.948 0, 1607595.021 545484.701 0, 1607894.241 545520.472 0, 1608193.458 545556.26 0, 1608492.674 545592.066 0, 1608791.887 545627.889 0,
+ 1609091.098 545663.731 0, 1609390.307 545699.589 0, 1609689.514 545735.466 0, 1609988.719 545771.359 0, 1610287.922 545807.271 0, 1610587.123 545843.2 0, 1610886.321 545879.147 0, 1611185.518 545915.111 0, 1611484.712 545951.093 0, 1611783.904 545987.093 0,
+ 1612083.095 546023.11 0, 1612382.283 546059.145 0, 1612681.468 546095.197 0, 1612980.652 546131.267 0, 1613278.484 546167.192 0, 1613579.013 546203.46 0, 1613878.191 546239.583 0, 1614177.366 546275.723 0, 1614476.539 546311.881 0, 1614775.71 546348.057 0,
+ 1615074.879 546384.25 0, 1615374.046 546420.461 0, 1615673.21 546456.69 0, 1615972.373 546492.936 0, 1616271.533 546529.2 0, 1616570.691 546565.481 0, 1616869.847 546601.78 0, 1617169.001 546638.096 0, 1617468.153 546674.431 0, 1617767.303 546710.782 0,
+ 1618066.45 546747.152 0, 1618365.595 546783.539 0, 1618664.739 546819.943 0, 1618963.88 546856.365 0, 1619263.019 546892.805 0, 1619562.155 546929.263 0, 1619861.29 546965.738 0, 1620160.423 547002.23 0, 1620458.204 547038.576 0, 1621131.766 541521.381 0,
+ 1621805.28 536004.585 0))
+
+POLYGON ((1634813.917 548811.765 0, 1634516.237 548774.578 0, 1634217.208 548737.24 0, 1633918.178 548699.92 0, 1633619.145 548662.618 0, 1633320.111 548625.333 0, 1633021.074 548588.066 0, 1632722.035 548550.817 0, 1632422.993 548513.585 0, 1632123.95 548476.37 0,
+ 1631824.904 548439.174 0, 1631525.856 548401.994 0, 1631226.806 548364.833 0, 1630927.753 548327.689 0, 1630628.699 548290.562 0, 1630329.642 548253.454 0, 1630030.583 548216.363 0, 1629731.522 548179.289 0, 1629432.459 548142.233 0, 1629133.394 548105.195 0,
+ 1628834.326 548068.174 0, 1628535.256 548031.171 0, 1628236.184 547994.185 0, 1627937.11 547957.217 0, 1627636.687 547920.101 0, 1627338.956 547883.334 0, 1627039.875 547846.419 0, 1626740.792 547809.522 0, 1626441.707 547772.642 0, 1626142.62 547735.779 0,
+ 1625843.531 547698.935 0, 1625544.439 547662.108 0, 1625245.345 547625.298 0, 1624946.25 547588.506 0, 1624647.152 547551.732 0, 1624348.051 547514.975 0, 1624048.949 547478.236 0, 1623749.845 547441.515 0, 1623450.738 547404.811 0, 1623151.629 547368.125 0,
+ 1622852.518 547331.456 0, 1622553.405 547294.805 0, 1622254.29 547258.171 0, 1621955.172 547221.556 0, 1621656.053 547184.957 0, 1621356.931 547148.377 0, 1621057.807 547111.814 0, 1620758.681 547075.268 0, 1620458.204 547038.576 0, 1619784.594 552556.167 0,
+ 1619110.936 558074.152 0, 1619410.76 558110.764 0, 1619709.237 558147.23 0, 1620007.711 558183.714 0, 1620306.183 558220.215 0, 1620604.653 558256.734 0, 1620903.121 558293.27 0, 1621201.587 558329.824 0, 1621500.051 558366.396 0, 1621798.512 558402.985 0,
+ 1622096.971 558439.591 0, 1622395.429 558476.216 0, 1622693.884 558512.857 0, 1622992.336 558549.517 0, 1623290.787 558586.193 0, 1623589.236 558622.888 0, 1623887.682 558659.6 0, 1624186.126 558696.33 0, 1624484.568 558733.077 0, 1624783.008 558769.841 0,
+ 1625081.446 558806.624 0, 1625379.881 558843.423 0, 1625678.315 558880.241 0, 1625976.746 558917.076 0, 1626273.831 558953.762 0, 1626573.602 558990.798 0, 1626872.027 559027.686 0, 1627170.449 559064.591 0, 1627468.87 559101.514 0, 1627767.288 559138.454 0,
+ 1628065.704 559175.412 0, 1628364.118 559212.388 0, 1628662.529 559249.381 0, 1628960.939 559286.392 0, 1629259.346 559323.42 0, 1629557.751 559360.465 0, 1629856.154 559397.529 0, 1630154.555 559434.61 0, 1630452.953 559471.708 0, 1630751.35 559508.824 0,
+ 1631049.744 559545.958 0, 1631348.136 559583.109 0, 1631646.526 559620.277 0, 1631944.914 559657.464 0, 1632243.299 559694.667 0, 1632541.682 559731.889 0, 1632840.063 559769.128 0, 1633138.442 559806.384 0, 1633435.476 559843.49 0, 1634124.721 554327.431 0,
+ 1634813.917 548811.765 0))
+
+POLYGON ((1647754.961 561653.292 0, 1647458.031 561615.346 0, 1647159.758 561577.247 0, 1646861.483 561539.165 0, 1646563.207 561501.101 0, 1646264.927 561463.054 0, 1645966.646 561425.025 0, 1645668.362 561387.014 0, 1645370.076 561349.02 0, 1645071.788 561311.043 0,
+ 1644773.498 561273.084 0, 1644475.205 561235.143 0, 1644176.911 561197.219 0, 1643878.614 561159.313 0, 1643580.314 561121.424 0, 1643282.013 561083.553 0, 1642983.709 561045.7 0, 1642685.403 561007.864 0, 1642387.095 560970.045 0, 1642088.784 560932.245 0,
+ 1641790.472 560894.461 0, 1641492.157 560856.696 0, 1641193.84 560818.947 0, 1640895.521 560781.217 0, 1640595.858 560743.334 0, 1640298.875 560705.808 0, 1640000.549 560668.13 0, 1639702.221 560630.47 0, 1639403.891 560592.827 0, 1639105.558 560555.202 0,
+ 1638807.223 560517.594 0, 1638508.886 560480.004 0, 1638210.547 560442.431 0, 1637912.206 560404.876 0, 1637613.862 560367.339 0, 1637315.516 560329.819 0, 1637017.168 560292.317 0, 1636718.818 560254.832 0, 1636420.465 560217.365 0, 1636122.11 560179.915 0,
+ 1635823.753 560142.483 0, 1635525.394 560105.068 0, 1635227.033 560067.671 0, 1634928.67 560030.292 0, 1634630.304 559992.93 0, 1634331.936 559955.586 0, 1634033.566 559918.259 0, 1633735.194 559880.95 0, 1633435.476 559843.49 0, 1632746.182 565359.94 0,
+ 1632056.84 570876.776 0, 1632355.905 570914.154 0, 1632653.628 570951.382 0, 1632951.349 570988.627 0, 1633249.068 571025.89 0, 1633546.784 571063.171 0, 1633844.498 571100.469 0, 1634142.21 571137.785 0, 1634439.92 571175.118 0, 1634737.627 571212.468 0,
+ 1635035.333 571249.836 0, 1635333.036 571287.222 0, 1635630.737 571324.625 0, 1635928.436 571362.046 0, 1636226.132 571399.484 0, 1636523.826 571436.94 0, 1636821.519 571474.413 0, 1637119.209 571511.904 0, 1637416.896 571549.413 0, 1637714.582 571586.938 0,
+ 1638012.265 571624.482 0, 1638309.946 571662.043 0, 1638607.625 571699.621 0, 1638905.302 571737.217 0, 1639201.638 571774.661 0, 1639500.648 571812.461 0, 1639798.319 571850.11 0, 1640095.986 571887.776 0, 1640393.652 571925.459 0, 1640691.315 571963.161 0,
+ 1640988.976 572000.879 0, 1641286.635 572038.615 0, 1641584.292 572076.369 0, 1641881.947 572114.14 0, 1642179.599 572151.929 0, 1642477.249 572189.735 0, 1642774.897 572227.558 0, 1643072.542 572265.4 0, 1643370.186 572303.258 0, 1643667.827 572341.135 0,
+ 1643965.466 572379.028 0, 1644263.102 572416.94 0, 1644560.737 572454.869 0, 1644858.369 572492.815 0, 1645155.999 572530.779 0, 1645453.627 572568.76 0, 1645751.252 572606.759 0, 1646048.876 572644.775 0, 1646345.159 572682.638 0, 1647050.085 567167.772 0,
+ 1647754.961 561653.292 0))
+
+POLYGON ((1660628.32 574528.861 0, 1660332.142 574490.16 0, 1660034.627 574451.303 0, 1659737.11 574412.464 0, 1659439.591 574373.642 0, 1659142.069 574334.837 0, 1658844.545 574296.05 0, 1658547.019 574257.281 0, 1658249.491 574218.529 0, 1657951.96 574179.794 0,
+ 1657654.427 574141.077 0, 1657356.892 574102.378 0, 1657059.354 574063.696 0, 1656761.815 574025.031 0, 1656464.273 573986.384 0, 1656166.728 573947.755 0, 1655869.182 573909.143 0, 1655571.633 573870.548 0, 1655274.082 573831.972 0, 1654976.528 573793.412 0,
+ 1654678.973 573754.87 0, 1654381.415 573716.346 0, 1654083.854 573677.839 0, 1653786.292 573639.35 0, 1653487.391 573600.705 0, 1653191.16 573562.424 0, 1652893.591 573523.987 0, 1652596.019 573485.568 0, 1652298.446 573447.166 0, 1652000.87 573408.782 0,
+ 1651703.291 573370.415 0, 1651405.711 573332.066 0, 1651108.128 573293.734 0, 1650810.543 573255.42 0, 1650512.955 573217.123 0, 1650215.366 573178.844 0, 1649917.774 573140.583 0, 1649620.18 573102.338 0, 1649322.584 573064.112 0, 1649024.985 573025.903 0,
+ 1648727.384 572987.711 0, 1648429.781 572949.537 0, 1648132.176 572911.381 0, 1647834.568 572873.242 0, 1647536.958 572835.12 0, 1647239.346 572797.016 0, 1646941.732 572758.93 0, 1646644.115 572720.861 0, 1646345.159 572682.638 0, 1645640.185 578197.889 0,
+ 1644935.162 583713.52 0, 1645233.466 583751.659 0, 1645530.433 583789.645 0, 1645827.398 583827.648 0, 1646124.361 583865.669 0, 1646421.322 583903.707 0, 1646718.28 583941.763 0, 1647015.236 583979.836 0, 1647312.19 584017.927 0, 1647609.142 584056.035 0,
+ 1647906.091 584094.161 0, 1648203.038 584132.304 0, 1648499.983 584170.465 0, 1648796.926 584208.643 0, 1649093.866 584246.839 0, 1649390.804 584285.052 0, 1649687.74 584323.283 0, 1649984.674 584361.531 0, 1650281.605 584399.796 0, 1650578.534 584438.079 0,
+ 1650875.461 584476.38 0, 1651172.386 584514.698 0, 1651469.308 584553.033 0, 1651766.228 584591.386 0, 1652061.813 584629.584 0, 1652360.062 584668.144 0, 1652656.975 584706.55 0, 1652953.886 584744.972 0, 1653250.795 584783.413 0, 1653547.702 584821.871 0,
+ 1653844.606 584860.346 0, 1654141.508 584898.839 0, 1654438.408 584937.349 0, 1654735.305 584975.876 0, 1655032.2 585014.422 0, 1655329.093 585052.984 0, 1655625.984 585091.564 0, 1655922.873 585130.162 0, 1656219.759 585168.777 0, 1656516.643 585207.41 0,
+ 1656813.524 585246.06 0, 1657110.403 585284.727 0, 1657407.281 585323.412 0, 1657704.155 585362.114 0, 1658001.028 585400.834 0, 1658297.898 585439.572 0, 1658594.766 585478.326 0, 1658891.632 585517.099 0, 1659187.164 585555.715 0, 1659907.766 580042.097 0,
+ 1660628.32 574528.861 0))
+
+POLYGON ((1673433.904 587438.166 0, 1673138.48 587398.716 0, 1672841.725 587359.105 0, 1672544.967 587319.511 0, 1672248.208 587279.935 0, 1671951.446 587240.377 0, 1671654.682 587200.836 0, 1671357.915 587161.312 0, 1671061.146 587121.806 0, 1670764.375 587082.318 0,
+ 1670467.601 587042.847 0, 1670170.826 587003.393 0, 1669874.047 586963.957 0, 1669577.267 586924.538 0, 1669280.484 586885.137 0, 1668983.699 586845.753 0, 1668686.911 586806.387 0, 1668390.122 586767.038 0, 1668093.33 586727.706 0, 1667796.535 586688.393 0,
+ 1667499.738 586649.096 0, 1667202.939 586609.817 0, 1666906.138 586570.556 0, 1666609.334 586531.312 0, 1666311.198 586491.909 0, 1666015.72 586452.876 0, 1665718.91 586413.684 0, 1665422.097 586374.51 0, 1665125.281 586335.353 0, 1664828.464 586296.214 0,
+ 1664531.644 586257.092 0, 1664234.822 586217.988 0, 1663937.998 586178.901 0, 1663641.171 586139.832 0, 1663344.342 586100.78 0, 1663047.511 586061.746 0, 1662750.677 586022.729 0, 1662453.841 585983.729 0, 1662157.003 585944.747 0, 1661860.162 585905.783 0,
+ 1661563.32 585866.836 0, 1661266.475 585827.906 0, 1660969.627 585788.994 0, 1660672.778 585750.1 0, 1660375.926 585711.222 0, 1660079.071 585672.363 0, 1659782.215 585633.521 0, 1659485.356 585594.696 0, 1659187.164 585555.715 0, 1658466.511 591069.709 0,
+ 1657745.81 596584.078 0, 1658043.351 596622.974 0, 1658339.56 596661.714 0, 1658635.768 596700.471 0, 1658931.973 596739.246 0, 1659228.176 596778.038 0, 1659524.376 596816.848 0, 1659820.575 596855.675 0, 1660116.771 596894.519 0, 1660412.964 596933.381 0,
+ 1660709.156 596972.26 0, 1661005.345 597011.157 0, 1661301.532 597050.071 0, 1661597.716 597089.003 0, 1661893.899 597127.952 0, 1662190.079 597166.918 0, 1662486.256 597205.902 0, 1662782.432 597244.904 0, 1663078.605 597283.922 0, 1663374.776 597322.959 0,
+ 1663670.944 597362.012 0, 1663967.11 597401.083 0, 1664263.274 597440.172 0, 1664559.436 597479.278 0, 1664854.268 597518.226 0, 1665151.752 597557.542 0, 1665447.907 597596.7 0, 1665744.059 597635.876 0, 1666040.209 597675.069 0, 1666336.357 597714.279 0,
+ 1666632.502 597753.507 0, 1666928.646 597792.753 0, 1667224.786 597832.015 0, 1667520.925 597871.296 0, 1667817.061 597910.593 0, 1668113.195 597949.909 0, 1668409.327 597989.241 0, 1668705.456 598028.591 0, 1669001.583 598067.958 0, 1669297.707 598107.343 0,
+ 1669593.83 598146.745 0, 1669889.95 598186.165 0, 1670186.067 598225.602 0, 1670482.183 598265.057 0, 1670778.296 598304.529 0, 1671074.406 598344.018 0, 1671370.515 598383.525 0, 1671666.621 598423.049 0, 1671961.399 598462.414 0, 1672697.676 592950.103 0,
+ 1673433.904 587438.166 0))
+
+POLYGON ((1686171.624 600380.904 0, 1685876.956 600340.706 0, 1685580.963 600300.345 0, 1685284.968 600260.002 0, 1684988.97 600219.676 0, 1684692.969 600179.368 0, 1684396.967 600139.077 0, 1684100.961 600098.804 0, 1683804.954 600058.547 0, 1683508.944 600018.309 0,
+ 1683212.932 599978.087 0, 1682916.917 599937.884 0, 1682620.901 599897.697 0, 1682324.881 599857.528 0, 1682028.86 599817.377 0, 1681732.836 599777.242 0, 1681436.809 599737.126 0, 1681140.781 599697.026 0, 1680844.749 599656.945 0, 1680548.716 599616.88 0,
+ 1680252.68 599576.833 0, 1679956.642 599536.803 0, 1679660.602 599496.791 0, 1679364.559 599456.797 0, 1679067.189 599416.64 0, 1678772.466 599376.859 0, 1678476.416 599336.917 0, 1678180.364 599296.992 0, 1677884.309 599257.084 0, 1677588.252 599217.194 0,
+ 1677292.193 599177.321 0, 1676996.131 599137.466 0, 1676700.067 599097.628 0, 1676404.001 599057.807 0, 1676107.932 599018.004 0, 1675811.861 598978.219 0, 1675515.788 598938.45 0, 1675219.712 598898.7 0, 1674923.634 598858.966 0, 1674627.553 598819.25 0,
+ 1674331.471 598779.552 0, 1674035.386 598739.871 0, 1673739.298 598700.207 0, 1673443.208 598660.561 0, 1673147.116 598620.932 0, 1672851.022 598581.32 0, 1672554.925 598541.727 0, 1672258.826 598502.15 0, 1671961.399 598462.414 0, 1671225.072 603975.096 0,
+ 1670488.696 609488.145 0, 1670785.471 609527.794 0, 1671080.921 609567.284 0, 1671376.369 609606.791 0, 1671671.815 609646.316 0, 1671967.258 609685.858 0, 1672262.699 609725.417 0, 1672558.137 609764.994 0, 1672853.573 609804.588 0, 1673149.007 609844.2 0,
+ 1673444.439 609883.828 0, 1673739.868 609923.475 0, 1674035.295 609963.138 0, 1674330.719 610002.819 0, 1674626.141 610042.518 0, 1674921.561 610082.234 0, 1675216.979 610121.967 0, 1675512.394 610161.718 0, 1675807.807 610201.486 0, 1676103.217 610241.271 0,
+ 1676398.625 610281.074 0, 1676694.031 610320.894 0, 1676989.434 610360.732 0, 1677284.835 610400.587 0, 1677578.913 610440.28 0, 1677875.631 610480.349 0, 1678171.025 610520.256 0, 1678466.416 610560.18 0, 1678761.806 610600.122 0, 1679057.193 610640.081 0,
+ 1679352.577 610680.058 0, 1679647.96 610720.052 0, 1679943.34 610760.063 0, 1680238.717 610800.092 0, 1680534.092 610840.138 0, 1680829.465 610880.202 0, 1681124.836 610920.283 0, 1681420.204 610960.381 0, 1681715.57 611000.497 0, 1682010.933 611040.63 0,
+ 1682306.294 611080.781 0, 1682601.653 611120.949 0, 1682897.009 611161.134 0, 1683192.363 611201.336 0, 1683487.715 611241.557 0, 1683783.064 611281.794 0, 1684078.411 611322.049 0, 1684373.755 611362.321 0, 1684667.777 611402.43 0, 1685419.726 605891.483 0,
+ 1686171.624 600380.904 0))
+
+POLYGON ((1698841.394 613356.766 0, 1698547.484 613315.826 0, 1698252.255 613274.72 0, 1697957.023 613233.631 0, 1697661.788 613192.559 0, 1697366.552 613151.505 0, 1697071.312 613110.468 0, 1696776.071 613069.448 0, 1696480.827 613028.446 0, 1696185.58 612987.461 0,
+ 1695890.331 612946.494 0, 1695595.08 612905.544 0, 1695299.827 612864.611 0, 1695004.57 612823.696 0, 1694709.312 612782.798 0, 1694414.051 612741.917 0, 1694118.788 612701.054 0, 1693823.522 612660.209 0, 1693528.254 612619.38 0, 1693232.983 612578.569 0,
+ 1692937.71 612537.776 0, 1692642.435 612496.999 0, 1692347.157 612456.24 0, 1692051.877 612415.499 0, 1691755.276 612374.593 0, 1691461.31 612334.068 0, 1691166.022 612293.379 0, 1690870.733 612252.707 0, 1690575.441 612212.052 0, 1690280.146 612171.415 0,
+ 1689984.849 612130.795 0, 1689689.55 612090.193 0, 1689394.248 612049.608 0, 1689098.944 612009.04 0, 1688803.638 611968.49 0, 1688508.329 611927.957 0, 1688213.018 611887.441 0, 1687917.704 611846.943 0, 1687622.388 611806.462 0, 1687327.07 611765.999 0,
+ 1687031.749 611725.553 0, 1686736.426 611685.124 0, 1686441.1 611644.713 0, 1686145.773 611604.319 0, 1685850.442 611563.943 0, 1685555.11 611523.583 0, 1685259.775 611483.242 0, 1684964.437 611442.917 0, 1684667.777 611402.43 0, 1683915.779 616913.742 0,
+ 1683163.732 622425.415 0, 1683459.74 622465.814 0, 1683754.429 622506.049 0, 1684049.115 622546.302 0, 1684343.799 622586.573 0, 1684638.48 622626.861 0, 1684933.159 622667.166 0, 1685227.836 622707.488 0, 1685522.51 622747.828 0, 1685817.182 622788.185 0,
+ 1686111.852 622828.56 0, 1686406.519 622868.952 0, 1686701.184 622909.361 0, 1686995.847 622949.787 0, 1687290.507 622990.231 0, 1687585.164 623030.692 0, 1687879.82 623071.171 0, 1688174.473 623111.667 0, 1688469.123 623152.18 0, 1688763.771 623192.711 0,
+ 1689058.417 623233.259 0, 1689353.061 623273.824 0, 1689647.702 623314.407 0, 1689942.34 623355.007 0, 1690235.661 623395.442 0, 1690531.61 623436.259 0, 1690826.242 623476.911 0, 1691120.871 623517.58 0, 1691415.498 623558.267 0, 1691710.122 623598.971 0,
+ 1692004.744 623639.692 0, 1692299.363 623680.431 0, 1692593.98 623721.187 0, 1692888.595 623761.96 0, 1693183.207 623802.751 0, 1693477.817 623843.559 0, 1693772.425 623884.384 0, 1694067.03 623925.227 0, 1694361.633 623966.087 0, 1694656.233 624006.964 0,
+ 1694950.831 624047.859 0, 1695245.426 624088.771 0, 1695540.019 624129.701 0, 1695834.61 624170.647 0, 1696129.198 624211.612 0, 1696423.784 624252.593 0, 1696718.367 624293.592 0, 1697012.948 624334.608 0, 1697306.213 624375.458 0, 1698073.829 618865.932 0,
+ 1698841.394 613356.766 0))
+
+POLYGON ((1711443.128 626365.448 0, 1711149.978 626323.769 0, 1710855.514 626281.921 0, 1710561.047 626240.09 0, 1710266.579 626198.277 0, 1709972.107 626156.481 0, 1709677.633 626114.702 0, 1709383.157 626072.94 0, 1709088.679 626031.196 0, 1708794.197 625989.469 0,
+ 1708499.714 625947.759 0, 1708205.228 625906.067 0, 1707910.739 625864.392 0, 1707616.248 625822.735 0, 1707321.755 625781.095 0, 1707027.259 625739.472 0, 1706732.761 625697.866 0, 1706438.26 625656.278 0, 1706143.757 625614.707 0, 1705849.251 625573.153 0,
+ 1705554.743 625531.617 0, 1705260.232 625490.098 0, 1704965.719 625448.597 0, 1704671.204 625407.113 0, 1704375.373 625365.461 0, 1704082.166 625324.196 0, 1703787.643 625282.764 0, 1703493.118 625241.349 0, 1703198.59 625199.952 0, 1702904.06 625158.571 0,
+ 1702609.527 625117.208 0, 1702314.992 625075.863 0, 1702020.455 625034.535 0, 1701725.915 624993.224 0, 1701431.373 624951.93 0, 1701136.828 624910.654 0, 1700842.281 624869.395 0, 1700547.732 624828.154 0, 1700253.18 624786.93 0, 1699958.625 624745.723 0,
+ 1699664.069 624704.533 0, 1699369.509 624663.361 0, 1699074.948 624622.206 0, 1698780.384 624581.069 0, 1698485.817 624539.949 0, 1698191.248 624498.846 0, 1697896.677 624457.76 0, 1697602.103 624416.692 0, 1697306.213 624375.458 0, 1696538.547 629885.343 0,
+ 1695770.831 635395.583 0, 1696066.07 635436.726 0, 1696359.996 635477.703 0, 1696653.918 635518.698 0, 1696947.839 635559.711 0, 1697241.756 635600.74 0, 1697535.672 635641.787 0, 1697829.585 635682.852 0, 1698123.496 635723.933 0, 1698417.404 635765.032 0,
+ 1698711.31 635806.148 0, 1699005.213 635847.281 0, 1699299.114 635888.432 0, 1699593.013 635929.6 0, 1699886.909 635970.785 0, 1700180.802 636011.988 0, 1700474.694 636053.208 0, 1700768.583 636094.445 0, 1701062.469 636135.7 0, 1701356.353 636176.971 0,
+ 1701650.234 636218.26 0, 1701944.114 636259.567 0, 1702237.99 636300.891 0, 1702531.865 636342.232 0, 1702824.426 636383.405 0, 1703119.606 636424.965 0, 1703413.473 636466.358 0, 1703707.337 636507.768 0, 1704001.199 636549.196 0, 1704295.059 636590.641 0,
+ 1704588.916 636632.103 0, 1704882.771 636673.582 0, 1705176.623 636715.079 0, 1705470.473 636756.593 0, 1705764.321 636798.124 0, 1706058.166 636839.672 0, 1706352.008 636881.238 0, 1706645.848 636922.821 0, 1706939.686 636964.422 0, 1707233.521 637006.039 0,
+ 1707527.354 637047.674 0, 1707821.184 637089.327 0, 1708115.012 637130.996 0, 1708408.837 637172.683 0, 1708702.66 637214.387 0, 1708996.481 637256.109 0, 1709290.299 637297.848 0, 1709584.114 637339.604 0, 1709876.619 637381.191 0, 1710659.898 631873.142 0,
+ 1711443.128 626365.448 0))
+
+POLYGON ((1723976.74 639406.643 0, 1723684.352 639364.229 0, 1723390.656 639321.643 0, 1723096.957 639279.074 0, 1722803.255 639236.523 0, 1722509.551 639193.989 0, 1722215.845 639151.472 0, 1721922.136 639108.973 0, 1721628.425 639066.49 0, 1721334.711 639024.025 0,
+ 1721040.994 638981.578 0, 1720747.275 638939.147 0, 1720453.554 638896.734 0, 1720159.83 638854.338 0, 1719866.103 638811.96 0, 1719572.374 638769.599 0, 1719278.643 638727.255 0, 1718984.909 638684.928 0, 1718691.173 638642.619 0, 1718397.434 638600.326 0,
+ 1718103.692 638558.052 0, 1717809.949 638515.794 0, 1717516.202 638473.554 0, 1717222.453 638431.331 0, 1716927.395 638388.938 0, 1716634.948 638346.937 0, 1716341.192 638304.766 0, 1716047.433 638262.612 0, 1715753.672 638220.476 0, 1715459.908 638178.356 0,
+ 1715166.142 638136.255 0, 1714872.373 638094.17 0, 1714578.602 638052.103 0, 1714284.828 638010.053 0, 1713991.052 637968.02 0, 1713697.274 637926.004 0, 1713403.493 637884.006 0, 1713109.709 637842.025 0, 1712815.923 637800.062 0, 1712522.135 637758.116 0,
+ 1712228.344 637716.187 0, 1711934.55 637674.275 0, 1711640.754 637632.38 0, 1711346.956 637590.503 0, 1711053.155 637548.643 0, 1710759.352 637506.801 0, 1710465.546 637464.976 0, 1710171.738 637423.168 0, 1709876.619 637381.191 0, 1709093.289 642889.591 0,
+ 1708309.91 648398.34 0, 1708604.378 648440.224 0, 1708897.538 648481.94 0, 1709190.695 648523.673 0, 1709483.85 648565.423 0, 1709777.002 648607.191 0, 1710070.152 648648.975 0, 1710363.299 648690.777 0, 1710656.444 648732.596 0, 1710949.587 648774.433 0,
+ 1711242.727 648816.287 0, 1711535.865 648858.157 0, 1711829 648900.046 0, 1712122.133 648941.951 0, 1712415.263 648983.874 0, 1712708.391 649025.814 0, 1713001.516 649067.771 0, 1713294.639 649109.746 0, 1713587.759 649151.737 0, 1713880.877 649193.746 0,
+ 1714173.992 649235.773 0, 1714467.105 649277.816 0, 1714760.216 649319.877 0, 1715053.324 649361.955 0, 1715345.125 649403.863 0, 1715639.532 649446.162 0, 1715932.633 649488.292 0, 1716225.731 649530.439 0, 1716518.826 649572.603 0, 1716811.919 649614.785 0,
+ 1717105.01 649656.984 0, 1717398.098 649699.2 0, 1717691.184 649741.433 0, 1717984.267 649783.683 0, 1718277.347 649825.951 0, 1718570.426 649868.236 0, 1718863.501 649910.538 0, 1719156.575 649952.858 0, 1719449.645 649995.195 0, 1719742.713 650037.549 0,
+ 1720035.779 650079.92 0, 1720328.842 650122.308 0, 1720621.903 650164.714 0, 1720914.961 650207.137 0, 1721208.017 650249.577 0, 1721501.07 650292.035 0, 1721794.121 650334.51 0, 1722087.169 650377.002 0, 1722378.912 650419.322 0, 1723177.851 644912.808 0,
+ 1723976.74 639406.643 0))
+
+POLYGON ((1736442.148 652480.043 0, 1736150.524 652436.898 0, 1735857.597 652393.579 0, 1735564.668 652350.276 0, 1735271.735 652306.991 0, 1734978.801 652263.723 0, 1734685.864 652220.472 0, 1734392.924 652177.239 0, 1734099.982 652134.022 0, 1733807.037 652090.823 0,
+ 1733514.089 652047.641 0, 1733221.139 652004.477 0, 1732928.187 651961.33 0, 1732635.232 651918.2 0, 1732342.274 651875.087 0, 1732049.314 651831.991 0, 1731756.352 651788.913 0, 1731463.387 651745.852 0, 1731170.419 651702.808 0, 1730877.449 651659.781 0,
+ 1730584.476 651616.772 0, 1730291.501 651573.78 0, 1729998.523 651530.805 0, 1729705.542 651487.847 0, 1729411.258 651444.716 0, 1729119.574 651401.984 0, 1728826.586 651359.078 0, 1728533.596 651316.189 0, 1728240.603 651273.318 0, 1727947.607 651230.463 0,
+ 1727654.609 651187.627 0, 1727361.609 651144.807 0, 1727068.606 651102.004 0, 1726775.6 651059.219 0, 1726482.592 651016.451 0, 1726189.582 650973.701 0, 1725896.568 650930.967 0, 1725603.553 650888.251 0, 1725310.535 650845.552 0, 1725017.514 650802.87 0,
+ 1724724.491 650760.206 0, 1724431.465 650717.559 0, 1724138.437 650674.929 0, 1723845.406 650632.316 0, 1723552.373 650589.72 0, 1723259.337 650547.142 0, 1722966.299 650504.581 0, 1722673.258 650462.037 0, 1722378.912 650419.322 0, 1721579.923 655926.181 0,
+ 1720780.884 661433.381 0, 1721074.579 661476.002 0, 1721366.971 661518.452 0, 1721659.361 661560.919 0, 1721951.749 661603.403 0, 1722244.134 661645.904 0, 1722536.516 661688.423 0, 1722828.896 661730.958 0, 1723121.273 661773.511 0, 1723413.648 661816.081 0,
+ 1723706.021 661858.668 0, 1723998.391 661901.273 0, 1724290.758 661943.895 0, 1724583.123 661986.534 0, 1724875.486 662029.19 0, 1725167.846 662071.863 0, 1725460.203 662114.554 0, 1725752.558 662157.261 0, 1726044.91 662199.986 0, 1726337.26 662242.728 0,
+ 1726629.607 662285.488 0, 1726921.952 662328.264 0, 1727214.294 662371.058 0, 1727506.634 662413.869 0, 1727797.673 662456.507 0, 1728091.306 662499.543 0, 1728383.638 662542.405 0, 1728675.968 662585.285 0, 1728968.295 662628.182 0, 1729260.62 662671.096 0,
+ 1729552.942 662714.028 0, 1729845.262 662756.977 0, 1730137.579 662799.942 0, 1730429.893 662842.925 0, 1730722.205 662885.926 0, 1731014.515 662928.943 0, 1731306.822 662971.978 0, 1731599.126 663015.03 0, 1731891.428 663058.099 0, 1732183.727 663101.185 0,
+ 1732476.024 663144.289 0, 1732768.318 663187.409 0, 1733060.61 663230.547 0, 1733352.899 663273.702 0, 1733645.186 663316.874 0, 1733937.47 663360.064 0, 1734229.752 663403.271 0, 1734522.031 663446.495 0, 1734813.01 663489.544 0, 1735627.604 657984.622 0,
+ 1736442.148 652480.043 0))
+
+POLYGON ((1748839.271 665585.341 0, 1748548.412 665541.47 0, 1748256.256 665497.42 0, 1747964.098 665453.388 0, 1747671.937 665409.373 0, 1747379.774 665365.375 0, 1747087.608 665321.394 0, 1746795.439 665277.431 0, 1746503.268 665233.485 0, 1746211.094 665189.556 0,
+ 1745918.917 665145.644 0, 1745626.738 665101.749 0, 1745334.557 665057.871 0, 1745042.372 665014.011 0, 1744750.186 664970.168 0, 1744457.996 664926.342 0, 1744165.804 664882.533 0, 1743873.61 664838.742 0, 1743581.413 664794.968 0, 1743289.213 664751.21 0,
+ 1742997.011 664707.471 0, 1742704.806 664663.748 0, 1742412.599 664620.042 0, 1742120.389 664576.354 0, 1741826.88 664532.489 0, 1741535.961 664489.029 0, 1741243.744 664445.392 0, 1740951.523 664401.773 0, 1740659.3 664358.17 0, 1740367.075 664314.585 0,
+ 1740074.847 664271.017 0, 1739782.617 664227.466 0, 1739490.384 664183.933 0, 1739198.148 664140.417 0, 1738905.91 664096.917 0, 1738613.669 664053.436 0, 1738321.426 664009.971 0, 1738029.18 663966.523 0, 1737736.932 663923.093 0, 1737444.681 663879.68 0,
+ 1737152.427 663836.284 0, 1736860.171 663792.905 0, 1736567.912 663749.544 0, 1736275.651 663706.199 0, 1735983.387 663662.872 0, 1735691.121 663619.562 0, 1735398.852 663576.27 0, 1735106.581 663532.994 0, 1734813.01 663489.544 0, 1733998.365 668994.803 0,
+ 1733183.67 674500.399 0, 1733476.591 674543.753 0, 1733768.214 674586.932 0, 1734059.835 674630.129 0, 1734351.453 674673.343 0, 1734643.069 674716.574 0, 1734934.682 674759.822 0, 1735226.293 674803.087 0, 1735517.901 674846.37 0, 1735809.506 674889.67 0,
+ 1736101.109 674932.986 0, 1736392.709 674976.32 0, 1736684.307 675019.672 0, 1736975.903 675063.04 0, 1737267.495 675106.426 0, 1737559.085 675149.828 0, 1737850.673 675193.248 0, 1738142.258 675236.685 0, 1738433.841 675280.139 0, 1738725.421 675323.611 0,
+ 1739016.998 675367.099 0, 1739308.573 675410.605 0, 1739600.145 675454.128 0, 1739891.715 675497.668 0, 1740181.989 675541.031 0, 1740474.847 675584.799 0, 1740766.409 675628.39 0, 1741057.968 675671.999 0, 1741349.525 675715.625 0, 1741641.079 675759.268 0,
+ 1741932.631 675802.928 0, 1742224.18 675846.605 0, 1742515.727 675890.3 0, 1742807.271 675934.011 0, 1743098.812 675977.74 0, 1743390.351 676021.486 0, 1743681.888 676065.249 0, 1743973.421 676109.029 0, 1744264.952 676152.826 0, 1744556.481 676196.641 0,
+ 1744848.007 676240.473 0, 1745139.53 676284.321 0, 1745431.051 676328.187 0, 1745722.57 676372.071 0, 1746014.085 676415.971 0, 1746305.598 676459.888 0, 1746597.109 676503.823 0, 1746888.617 676547.775 0, 1747178.83 676591.549 0, 1748009.076 671088.278 0,
+ 1748839.271 665585.341 0))
+
+POLYGON ((1761168.026 678722.23 0, 1760877.936 678677.636 0, 1760586.553 678632.861 0, 1760295.168 678588.103 0, 1760003.78 678543.362 0, 1759712.389 678498.638 0, 1759420.996 678453.931 0, 1759129.601 678409.242 0, 1758838.202 678364.57 0, 1758546.801 678319.914 0,
+ 1758255.397 678275.277 0, 1757963.991 678230.656 0, 1757672.582 678186.052 0, 1757381.171 678141.465 0, 1757089.757 678096.896 0, 1756798.34 678052.344 0, 1756506.921 678007.809 0, 1756215.499 677963.291 0, 1755924.074 677918.79 0, 1755632.647 677874.307 0,
+ 1755341.217 677829.84 0, 1755049.784 677785.391 0, 1754758.349 677740.959 0, 1754466.912 677696.544 0, 1754174.181 677651.949 0, 1753884.028 677607.765 0, 1753592.583 677563.402 0, 1753301.135 677519.055 0, 1753009.684 677474.726 0, 1752718.23 677430.414 0,
+ 1752426.774 677386.119 0, 1752135.316 677341.841 0, 1751843.855 677297.581 0, 1751552.391 677253.337 0, 1751260.925 677209.111 0, 1750969.456 677164.902 0, 1750677.984 677120.71 0, 1750386.51 677076.535 0, 1750095.033 677032.377 0, 1749803.553 676988.237 0,
+ 1749512.071 676944.113 0, 1749220.587 676900.007 0, 1748929.1 676855.918 0, 1748637.61 676811.846 0, 1748346.118 676767.791 0, 1748054.623 676723.754 0, 1747763.125 676679.733 0, 1747471.625 676635.73 0, 1747178.83 676591.549 0, 1746348.535 682095.152 0,
+ 1745518.19 687599.085 0, 1745810.333 687643.167 0, 1746101.186 687687.073 0, 1746392.035 687730.995 0, 1746682.883 687774.935 0, 1746973.727 687818.892 0, 1747264.569 687862.866 0, 1747555.408 687906.857 0, 1747846.245 687950.865 0, 1748137.079 687994.89 0,
+ 1748427.911 688038.933 0, 1748718.74 688082.992 0, 1749009.566 688127.069 0, 1749300.39 688171.163 0, 1749591.211 688215.274 0, 1749882.03 688259.402 0, 1750172.846 688303.547 0, 1750463.659 688347.709 0, 1750754.47 688391.888 0, 1751045.278 688436.085 0,
+ 1751336.084 688480.299 0, 1751626.887 688524.529 0, 1751917.687 688568.777 0, 1752208.485 688613.042 0, 1752497.993 688657.128 0, 1752790.073 688701.623 0, 1753080.863 688745.939 0, 1753371.65 688790.273 0, 1753662.435 688834.623 0, 1753953.217 688878.991 0,
+ 1754243.997 688923.376 0, 1754534.773 688967.778 0, 1754825.548 689012.197 0, 1755116.319 689056.633 0, 1755407.089 689101.086 0, 1755697.855 689145.556 0, 1755988.619 689190.044 0, 1756279.38 689234.548 0, 1756570.139 689279.07 0, 1756860.895 689323.609 0,
+ 1757151.648 689368.165 0, 1757442.399 689412.738 0, 1757733.147 689457.328 0, 1758023.892 689501.935 0, 1758314.635 689546.559 0, 1758605.375 689591.201 0, 1758896.113 689635.859 0, 1759186.848 689680.535 0, 1759476.294 689725.03 0, 1760322.186 684223.466 0,
+ 1761168.026 678722.23 0))
+
+POLYGON ((1541180.468 470945.011 0, 1540878.242 470913.313 0, 1540574.631 470881.486 0, 1540271.019 470849.678 0, 1539967.404 470817.888 0, 1539663.788 470786.115 0, 1539360.17 470754.361 0, 1539056.549 470722.624 0, 1538752.927 470690.905 0, 1538449.303 470659.204 0,
+ 1538145.678 470627.521 0, 1537842.05 470595.856 0, 1537538.421 470564.208 0, 1537234.789 470532.579 0, 1536931.156 470500.967 0, 1536627.521 470469.374 0, 1536323.884 470437.798 0, 1536020.245 470406.24 0, 1535716.605 470374.699 0, 1535412.962 470343.177 0,
+ 1535109.318 470311.673 0, 1534805.672 470280.186 0, 1534502.024 470248.718 0, 1534198.374 470217.267 0, 1533893.338 470185.691 0, 1533591.068 470154.419 0, 1533287.413 470123.022 0, 1532983.756 470091.642 0, 1532680.096 470060.281 0, 1532376.435 470028.937 0,
+ 1532072.773 469997.612 0, 1531769.108 469966.304 0, 1531465.441 469935.014 0, 1531161.773 469903.742 0, 1530858.103 469872.488 0, 1530554.431 469841.251 0, 1530250.757 469810.033 0, 1529947.081 469778.832 0, 1529643.404 469747.65 0, 1529339.724 469716.485 0,
+ 1529036.043 469685.338 0, 1528732.36 469654.209 0, 1528428.675 469623.098 0, 1528124.988 469592.004 0, 1527821.3 469560.929 0, 1527517.609 469529.871 0, 1527213.917 469498.832 0, 1526910.223 469467.81 0, 1526605.142 469436.664 0, 1526041.281 474961.531 0,
+ 1525477.375 480486.828 0, 1525781.803 480517.907 0, 1526084.847 480548.862 0, 1526387.889 480579.836 0, 1526690.929 480610.827 0, 1526993.967 480641.835 0, 1527297.003 480672.862 0, 1527600.038 480703.907 0, 1527903.07 480734.969 0, 1528206.101 480766.049 0,
+ 1528509.13 480797.148 0, 1528812.158 480828.263 0, 1529115.183 480859.397 0, 1529418.206 480890.549 0, 1529721.228 480921.718 0, 1530024.248 480952.905 0, 1530327.266 480984.111 0, 1530630.282 481015.333 0, 1530933.297 481046.574 0, 1531236.309 481077.833 0,
+ 1531539.32 481109.109 0, 1531842.329 481140.404 0, 1532145.336 481171.716 0, 1532448.341 481203.046 0, 1532749.963 481234.25 0, 1533054.346 481265.759 0, 1533357.345 481297.142 0, 1533660.343 481328.544 0, 1533963.339 481359.963 0, 1534266.333 481391.4 0,
+ 1534569.325 481422.854 0, 1534872.316 481454.327 0, 1535175.304 481485.817 0, 1535478.291 481517.326 0, 1535781.276 481548.852 0, 1536084.258 481580.396 0, 1536387.24 481611.958 0, 1536690.219 481643.537 0, 1536993.196 481675.135 0, 1537296.172 481706.75 0,
+ 1537599.145 481738.383 0, 1537902.117 481770.034 0, 1538205.087 481801.703 0, 1538508.055 481833.389 0, 1538811.021 481865.094 0, 1539113.986 481896.816 0, 1539416.948 481928.556 0, 1539719.909 481960.314 0, 1540021.488 481991.945 0, 1540601.001 476468.263 0,
+ 1541180.468 470945.011 0))
+
+POLYGON ((1554561.29 483538.145 0, 1554259.799 483505.662 0, 1553956.929 483473.049 0, 1553654.058 483440.453 0, 1553351.184 483407.875 0, 1553048.309 483375.314 0, 1552745.431 483342.772 0, 1552442.552 483310.247 0, 1552139.671 483277.741 0, 1551836.788 483245.252 0,
+ 1551533.903 483212.781 0, 1551231.016 483180.327 0, 1550928.127 483147.892 0, 1550625.237 483115.474 0, 1550322.344 483083.075 0, 1550019.449 483050.693 0, 1549716.553 483018.328 0, 1549413.655 482985.982 0, 1549110.754 482953.654 0, 1548807.852 482921.343 0,
+ 1548504.948 482889.05 0, 1548202.042 482856.775 0, 1547899.134 482824.518 0, 1547596.225 482792.279 0, 1547291.935 482759.911 0, 1546990.4 482727.853 0, 1546687.484 482695.668 0, 1546384.567 482663.5 0, 1546081.648 482631.349 0, 1545778.726 482599.217 0,
+ 1545475.803 482567.102 0, 1545172.879 482535.006 0, 1544869.952 482502.927 0, 1544567.023 482470.866 0, 1544264.093 482438.823 0, 1543961.16 482406.797 0, 1543658.226 482374.79 0, 1543355.29 482342.8 0, 1543052.352 482310.828 0, 1542749.412 482278.874 0,
+ 1542446.47 482246.938 0, 1542143.526 482215.019 0, 1541840.58 482183.119 0, 1541537.633 482151.236 0, 1541234.684 482119.371 0, 1540931.732 482087.524 0, 1540628.779 482055.695 0, 1540325.824 482023.883 0, 1540021.488 481991.945 0, 1539441.93 487516.054 0,
+ 1538862.328 493040.588 0, 1539166.011 493072.457 0, 1539468.316 493104.201 0, 1539770.618 493135.961 0, 1540072.919 493167.74 0, 1540375.218 493199.537 0, 1540677.516 493231.351 0, 1540979.811 493263.183 0, 1541282.104 493295.033 0, 1541584.396 493326.901 0,
+ 1541886.686 493358.786 0, 1542188.973 493390.689 0, 1542491.259 493422.611 0, 1542793.544 493454.549 0, 1543095.826 493486.506 0, 1543398.106 493518.48 0, 1543700.384 493550.473 0, 1544002.661 493582.483 0, 1544304.936 493614.511 0, 1544607.208 493646.556 0,
+ 1544909.479 493678.62 0, 1545211.748 493710.701 0, 1545514.015 493742.8 0, 1545816.281 493774.916 0, 1546117.169 493806.905 0, 1546420.805 493839.203 0, 1546723.065 493871.373 0, 1547025.323 493903.561 0, 1547327.578 493935.767 0, 1547629.832 493967.991 0,
+ 1547932.084 494000.232 0, 1548234.334 494032.491 0, 1548536.582 494064.768 0, 1548838.829 494097.063 0, 1549141.073 494129.375 0, 1549443.315 494161.705 0, 1549745.556 494194.053 0, 1550047.795 494226.419 0, 1550350.031 494258.803 0, 1550652.266 494291.204 0,
+ 1550954.499 494323.623 0, 1551256.73 494356.06 0, 1551558.959 494388.515 0, 1551861.187 494420.988 0, 1552163.412 494453.478 0, 1552465.635 494485.986 0, 1552767.857 494518.512 0, 1553070.076 494551.056 0, 1553370.92 494583.469 0, 1553966.128 489060.595 0,
+ 1554561.29 483538.145 0))
+
+POLYGON ((1567875.095 496167.334 0, 1567574.342 496134.071 0, 1567272.216 496100.673 0, 1566970.087 496067.293 0, 1566667.957 496033.932 0, 1566365.825 496000.588 0, 1566063.69 495967.261 0, 1565761.554 495933.953 0, 1565459.416 495900.662 0, 1565157.276 495867.389 0,
+ 1564855.134 495834.134 0, 1564552.99 495800.897 0, 1564250.844 495767.677 0, 1563948.696 495734.475 0, 1563646.546 495701.291 0, 1563344.394 495668.125 0, 1563042.24 495634.977 0, 1562740.084 495601.846 0, 1562437.927 495568.733 0, 1562135.767 495535.638 0,
+ 1561833.605 495502.561 0, 1561531.442 495469.501 0, 1561229.276 495436.459 0, 1560927.109 495403.436 0, 1560623.567 495370.279 0, 1560322.768 495337.441 0, 1560020.595 495304.47 0, 1559718.42 495271.518 0, 1559416.243 495238.583 0, 1559114.063 495205.665 0,
+ 1558811.882 495172.766 0, 1558509.699 495139.884 0, 1558207.515 495107.02 0, 1557905.328 495074.174 0, 1557603.139 495041.346 0, 1557300.948 495008.535 0, 1556998.756 494975.743 0, 1556696.561 494942.968 0, 1556394.365 494910.211 0, 1556092.166 494877.471 0,
+ 1555789.966 494844.75 0, 1555487.764 494812.046 0, 1555185.559 494779.36 0, 1554883.353 494746.692 0, 1554581.145 494714.041 0, 1554278.935 494681.409 0, 1553976.723 494648.794 0, 1553674.51 494616.197 0, 1553370.92 494583.469 0, 1552775.667 500106.764 0,
+ 1552180.368 505630.478 0, 1552483.305 505663.135 0, 1552784.869 505695.661 0, 1553086.43 505728.206 0, 1553387.99 505760.769 0, 1553689.548 505793.349 0, 1553991.104 505825.947 0, 1554292.658 505858.562 0, 1554594.21 505891.196 0, 1554895.76 505923.847 0,
+ 1555197.308 505956.516 0, 1555498.855 505989.203 0, 1555800.399 506021.907 0, 1556101.941 506054.629 0, 1556403.482 506087.369 0, 1556705.021 506120.127 0, 1557006.557 506152.902 0, 1557308.092 506185.696 0, 1557609.625 506218.506 0, 1557911.156 506251.335 0,
+ 1558212.685 506284.182 0, 1558514.212 506317.046 0, 1558815.737 506349.928 0, 1559117.26 506382.827 0, 1559417.412 506415.595 0, 1559720.301 506448.68 0, 1560021.818 506481.633 0, 1560323.333 506514.603 0, 1560624.847 506547.592 0, 1560926.358 506580.598 0,
+ 1561227.868 506613.622 0, 1561529.376 506646.663 0, 1561830.881 506679.723 0, 1562132.385 506712.8 0, 1562433.887 506745.895 0, 1562735.387 506779.007 0, 1563036.885 506812.138 0, 1563338.381 506845.286 0, 1563639.875 506878.452 0, 1563941.367 506911.635 0,
+ 1564242.857 506944.837 0, 1564544.345 506978.056 0, 1564845.831 507011.293 0, 1565147.315 507044.547 0, 1565448.798 507077.819 0, 1565750.278 507111.11 0, 1566051.756 507144.417 0, 1566353.233 507177.743 0, 1566653.339 507210.935 0, 1567264.24 501688.925 0,
+ 1567875.095 496167.334 0))
+
+POLYGON ((1581121.786 508832.274 0, 1580821.773 508798.235 0, 1580520.392 508764.057 0, 1580219.009 508729.898 0, 1579917.624 508695.756 0, 1579616.237 508661.632 0, 1579314.848 508627.526 0, 1579013.456 508593.438 0, 1578712.063 508559.367 0, 1578410.668 508525.314 0,
+ 1578109.271 508491.279 0, 1577807.872 508457.261 0, 1577506.471 508423.262 0, 1577205.068 508389.28 0, 1576903.663 508355.315 0, 1576602.256 508321.369 0, 1576300.847 508287.44 0, 1575999.436 508253.529 0, 1575698.022 508219.636 0, 1575396.607 508185.76 0,
+ 1575095.19 508151.902 0, 1574793.771 508118.062 0, 1574492.35 508084.24 0, 1574190.927 508050.435 0, 1573888.135 508016.495 0, 1573588.075 507982.879 0, 1573286.646 507949.128 0, 1572985.215 507915.394 0, 1572683.782 507881.678 0, 1572382.347 507847.98 0,
+ 1572080.91 507814.3 0, 1571779.471 507780.637 0, 1571478.03 507746.992 0, 1571176.587 507713.365 0, 1570875.142 507679.755 0, 1570573.696 507646.164 0, 1570272.247 507612.59 0, 1569970.796 507579.034 0, 1569669.343 507545.495 0, 1569367.888 507511.974 0,
+ 1569066.432 507478.471 0, 1568764.973 507444.986 0, 1568463.512 507411.519 0, 1568162.05 507378.069 0, 1567860.585 507344.637 0, 1567559.119 507311.223 0, 1567257.65 507277.826 0, 1566956.18 507244.447 0, 1566653.339 507210.935 0, 1566042.391 512733.359 0,
+ 1565431.399 518256.196 0, 1565733.586 518289.636 0, 1566034.407 518322.943 0, 1566335.225 518356.267 0, 1566636.042 518389.609 0, 1566936.856 518422.969 0, 1567237.669 518456.347 0, 1567538.479 518489.742 0, 1567839.288 518523.155 0, 1568140.095 518556.586 0,
+ 1568440.899 518590.035 0, 1568741.702 518623.501 0, 1569042.503 518656.985 0, 1569343.302 518690.486 0, 1569644.098 518724.005 0, 1569944.893 518757.542 0, 1570245.686 518791.097 0, 1570546.477 518824.669 0, 1570847.266 518858.259 0, 1571148.053 518891.867 0,
+ 1571448.838 518925.493 0, 1571749.621 518959.136 0, 1572050.402 518992.797 0, 1572351.181 519026.475 0, 1572650.594 519060.019 0, 1572952.733 519093.886 0, 1573253.506 519127.617 0, 1573554.277 519161.367 0, 1573855.046 519195.134 0, 1574155.813 519228.919 0,
+ 1574456.578 519262.721 0, 1574757.341 519296.542 0, 1575058.102 519330.379 0, 1575358.862 519364.235 0, 1575659.619 519398.108 0, 1575960.374 519431.999 0, 1576261.127 519465.908 0, 1576561.878 519499.835 0, 1576862.627 519533.779 0, 1577163.374 519567.741 0,
+ 1577464.12 519601.72 0, 1577764.863 519635.717 0, 1578065.604 519669.732 0, 1578366.343 519703.765 0, 1578667.08 519737.815 0, 1578967.815 519771.883 0, 1579268.548 519805.969 0, 1579569.28 519840.073 0, 1579868.646 519874.039 0, 1580495.24 514352.951 0,
+ 1581121.786 508832.274 0))
+
+POLYGON ((1594301.265 521532.664 0, 1594001.994 521497.851 0, 1593701.36 521462.899 0, 1593400.724 521427.963 0, 1593100.087 521393.046 0, 1592799.447 521358.146 0, 1592498.805 521323.264 0, 1592198.161 521288.399 0, 1591897.515 521253.553 0, 1591596.867 521218.723 0,
+ 1591296.217 521183.912 0, 1590995.565 521149.118 0, 1590694.911 521114.342 0, 1590394.255 521079.584 0, 1590093.597 521044.844 0, 1589792.937 521010.121 0, 1589492.274 520975.415 0, 1589191.61 520940.728 0, 1588890.944 520906.058 0, 1588590.275 520871.406 0,
+ 1588289.605 520836.772 0, 1587988.932 520802.155 0, 1587688.258 520767.556 0, 1587387.581 520732.975 0, 1587085.541 520698.255 0, 1586786.222 520663.865 0, 1586485.539 520629.337 0, 1586184.855 520594.826 0, 1585884.168 520560.334 0, 1585583.479 520525.858 0,
+ 1585282.788 520491.401 0, 1584982.096 520456.961 0, 1584681.401 520422.539 0, 1584380.704 520388.135 0, 1584080.005 520353.748 0, 1583779.304 520319.379 0, 1583478.601 520285.028 0, 1583177.896 520250.695 0, 1582877.189 520216.379 0, 1582576.48 520182.081 0,
+ 1582275.769 520147.8 0, 1581975.056 520113.537 0, 1581674.341 520079.292 0, 1581373.624 520045.065 0, 1581072.905 520010.855 0, 1580772.184 519976.663 0, 1580471.461 519942.489 0, 1580170.736 519908.333 0, 1579868.646 519874.039 0, 1579242.006 525395.536 0,
+ 1578615.32 530917.439 0, 1578916.757 530951.659 0, 1579216.832 530985.741 0, 1579516.905 531019.842 0, 1579816.976 531053.96 0, 1580117.046 531088.095 0, 1580417.113 531122.249 0, 1580717.178 531156.42 0, 1581017.241 531190.609 0, 1581317.302 531224.815 0,
+ 1581617.361 531259.039 0, 1581917.418 531293.281 0, 1582217.473 531327.54 0, 1582517.526 531361.817 0, 1582817.577 531396.112 0, 1583117.626 531430.424 0, 1583417.673 531464.754 0, 1583717.718 531499.101 0, 1584017.761 531533.467 0, 1584317.801 531567.85 0,
+ 1584617.84 531602.25 0, 1584917.877 531636.669 0, 1585217.912 531671.105 0, 1585517.945 531705.558 0, 1585816.617 531739.873 0, 1586118.004 531774.518 0, 1586418.031 531809.025 0, 1586718.055 531843.549 0, 1587018.078 531878.091 0, 1587318.099 531912.651 0,
+ 1587618.117 531947.228 0, 1587918.134 531981.823 0, 1588218.148 532016.435 0, 1588518.161 532051.065 0, 1588818.171 532085.713 0, 1589118.179 532120.379 0, 1589418.186 532155.062 0, 1589718.19 532189.763 0, 1590018.192 532224.481 0, 1590318.192 532259.217 0,
+ 1590618.191 532293.971 0, 1590918.187 532328.742 0, 1591218.181 532363.532 0, 1591518.173 532398.338 0, 1591818.163 532433.163 0, 1592118.151 532468.005 0, 1592418.136 532502.864 0, 1592718.12 532537.742 0, 1593016.745 532572.479 0, 1593659.029 527052.369 0,
+ 1594301.265 521532.664 0))
+
+POLYGON ((1607413.436 534268.199 0, 1607114.909 534232.618 0, 1606815.025 534196.893 0, 1606515.138 534161.186 0, 1606215.25 534125.497 0, 1605915.36 534089.825 0, 1605615.467 534054.171 0, 1605315.573 534018.534 0, 1605015.676 533982.915 0, 1604715.777 533947.314 0,
+ 1604415.876 533911.731 0, 1604115.973 533876.165 0, 1603816.068 533840.616 0, 1603516.161 533805.086 0, 1603216.252 533769.573 0, 1602916.341 533734.078 0, 1602616.427 533698.6 0, 1602316.512 533663.14 0, 1602016.594 533627.698 0, 1601716.675 533592.273 0,
+ 1601416.753 533556.866 0, 1601116.829 533521.477 0, 1600816.903 533486.105 0, 1600516.975 533450.751 0, 1600215.689 533415.255 0, 1599917.113 533380.096 0, 1599617.179 533344.795 0, 1599317.242 533309.511 0, 1599017.304 533274.245 0, 1598717.364 533238.997 0,
+ 1598417.421 533203.767 0, 1598117.476 533168.554 0, 1597817.53 533133.359 0, 1597517.581 533098.181 0, 1597217.63 533063.021 0, 1596917.677 533027.879 0, 1596617.722 532992.755 0, 1596317.765 532957.648 0, 1596017.806 532922.558 0, 1595717.845 532887.487 0,
+ 1595417.882 532852.433 0, 1595117.917 532817.397 0, 1594817.949 532782.378 0, 1594517.98 532747.377 0, 1594218.008 532712.394 0, 1593918.035 532677.428 0, 1593618.059 532642.48 0, 1593318.082 532607.55 0, 1593016.745 532572.479 0, 1592374.414 538092.992 0,
+ 1591732.037 543613.905 0, 1592032.721 543648.899 0, 1592332.049 543683.754 0, 1592631.374 543718.626 0, 1592930.698 543753.516 0, 1593230.02 543788.424 0, 1593529.339 543823.349 0, 1593828.657 543858.292 0, 1594127.972 543893.252 0, 1594427.286 543928.23 0,
+ 1594726.597 543963.226 0, 1595025.906 543998.239 0, 1595325.213 544033.27 0, 1595624.518 544068.318 0, 1595923.822 544103.384 0, 1596223.123 544138.468 0, 1596522.422 544173.569 0, 1596821.718 544208.688 0, 1597121.013 544243.825 0, 1597420.306 544278.979 0,
+ 1597719.597 544314.151 0, 1598018.885 544349.34 0, 1598318.172 544384.547 0, 1598617.456 544419.772 0, 1598915.386 544454.855 0, 1599216.019 544490.274 0, 1599515.297 544525.552 0, 1599814.573 544560.847 0, 1600113.847 544596.159 0, 1600413.119 544631.49 0,
+ 1600712.389 544666.838 0, 1601011.657 544702.203 0, 1601310.923 544737.586 0, 1601610.187 544772.987 0, 1601909.448 544808.405 0, 1602208.708 544843.841 0, 1602507.965 544879.295 0, 1602807.22 544914.766 0, 1603106.474 544950.255 0, 1603405.725 544985.762 0,
+ 1603704.974 545021.286 0, 1604004.221 545056.827 0, 1604303.466 545092.387 0, 1604602.708 545127.963 0, 1604901.949 545163.558 0, 1605201.188 545199.17 0, 1605500.424 545234.8 0, 1605799.659 545270.447 0, 1606097.54 545305.951 0, 1606755.512 539786.875 0,
+ 1607413.436 534268.199 0))
+
+POLYGON ((1620458.204 547038.576 0, 1620160.423 547002.23 0, 1619861.29 546965.738 0, 1619562.155 546929.263 0, 1619263.019 546892.805 0, 1618963.88 546856.365 0, 1618664.739 546819.943 0, 1618365.595 546783.539 0, 1618066.45 546747.152 0, 1617767.303 546710.782 0,
+ 1617468.153 546674.431 0, 1617169.001 546638.096 0, 1616869.847 546601.78 0, 1616570.691 546565.481 0, 1616271.533 546529.2 0, 1615972.373 546492.936 0, 1615673.21 546456.69 0, 1615374.046 546420.461 0, 1615074.879 546384.25 0, 1614775.71 546348.057 0,
+ 1614476.539 546311.881 0, 1614177.366 546275.723 0, 1613878.191 546239.583 0, 1613579.013 546203.46 0, 1613278.484 546167.192 0, 1612980.652 546131.267 0, 1612681.468 546095.197 0, 1612382.283 546059.145 0, 1612083.095 546023.11 0, 1611783.904 545987.093 0,
+ 1611484.712 545951.093 0, 1611185.518 545915.111 0, 1610886.321 545879.147 0, 1610587.123 545843.2 0, 1610287.922 545807.271 0, 1609988.719 545771.359 0, 1609689.514 545735.466 0, 1609390.307 545699.589 0, 1609091.098 545663.731 0, 1608791.887 545627.889 0,
+ 1608492.674 545592.066 0, 1608193.458 545556.26 0, 1607894.241 545520.472 0, 1607595.021 545484.701 0, 1607295.799 545448.948 0, 1606996.575 545413.213 0, 1606697.349 545377.495 0, 1606398.121 545341.795 0, 1606097.54 545305.951 0, 1605439.52 550825.423 0,
+ 1604781.454 556345.289 0, 1605081.383 556381.055 0, 1605379.961 556416.678 0, 1605678.537 556452.318 0, 1605977.111 556487.976 0, 1606275.683 556523.651 0, 1606574.253 556559.344 0, 1606872.821 556595.055 0, 1607171.387 556630.783 0, 1607469.951 556666.528 0,
+ 1607768.512 556702.292 0, 1608067.072 556738.073 0, 1608365.629 556773.871 0, 1608664.184 556809.687 0, 1608962.737 556845.52 0, 1609261.288 556881.372 0, 1609559.837 556917.24 0, 1609858.384 556953.127 0, 1610156.929 556989.03 0, 1610455.471 557024.952 0,
+ 1610754.012 557060.891 0, 1611052.55 557096.847 0, 1611351.086 557132.821 0, 1611649.62 557168.813 0, 1611946.805 557204.66 0, 1612246.682 557240.849 0, 1612545.21 557276.894 0, 1612843.736 557312.956 0, 1613142.259 557349.035 0, 1613440.78 557385.132 0,
+ 1613739.3 557421.247 0, 1614037.817 557457.379 0, 1614336.332 557493.529 0, 1614634.845 557529.697 0, 1614933.355 557565.881 0, 1615231.864 557602.084 0, 1615530.37 557638.304 0, 1615828.875 557674.542 0, 1616127.377 557710.797 0, 1616425.877 557747.07 0,
+ 1616724.375 557783.36 0, 1617022.871 557819.668 0, 1617321.364 557855.994 0, 1617619.856 557892.337 0, 1617918.345 557928.697 0, 1618216.833 557965.076 0, 1618515.318 558001.472 0, 1618813.801 558037.885 0, 1619110.936 558074.152 0, 1619784.594 552556.167 0,
+ 1620458.204 547038.576 0))
+
+POLYGON ((1633435.476 559843.49 0, 1633138.442 559806.384 0, 1632840.063 559769.128 0, 1632541.682 559731.889 0, 1632243.299 559694.667 0, 1631944.914 559657.464 0, 1631646.526 559620.277 0, 1631348.136 559583.109 0, 1631049.744 559545.958 0, 1630751.35 559508.824 0,
+ 1630452.953 559471.708 0, 1630154.555 559434.61 0, 1629856.154 559397.529 0, 1629557.751 559360.465 0, 1629259.346 559323.42 0, 1628960.939 559286.392 0, 1628662.529 559249.381 0, 1628364.118 559212.388 0, 1628065.704 559175.412 0, 1627767.288 559138.454 0,
+ 1627468.87 559101.514 0, 1627170.449 559064.591 0, 1626872.027 559027.686 0, 1626573.602 558990.798 0, 1626273.831 558953.762 0, 1625976.746 558917.076 0, 1625678.315 558880.241 0, 1625379.881 558843.423 0, 1625081.446 558806.624 0, 1624783.008 558769.841 0,
+ 1624484.568 558733.077 0, 1624186.126 558696.33 0, 1623887.682 558659.6 0, 1623589.236 558622.888 0, 1623290.787 558586.193 0, 1622992.336 558549.517 0, 1622693.884 558512.857 0, 1622395.429 558476.216 0, 1622096.971 558439.591 0, 1621798.512 558402.985 0,
+ 1621500.051 558366.396 0, 1621201.587 558329.824 0, 1620903.121 558293.27 0, 1620604.653 558256.734 0, 1620306.183 558220.215 0, 1620007.711 558183.714 0, 1619709.237 558147.23 0, 1619410.76 558110.764 0, 1619110.936 558074.152 0, 1618437.23 563592.526 0,
+ 1617763.477 569111.288 0, 1618062.648 569147.821 0, 1618360.475 569184.208 0, 1618658.3 569220.612 0, 1618956.123 569257.034 0, 1619253.943 569293.473 0, 1619551.761 569329.93 0, 1619849.578 569366.404 0, 1620147.392 569402.896 0, 1620445.204 569439.406 0,
+ 1620743.013 569475.932 0, 1621040.821 569512.477 0, 1621338.626 569549.039 0, 1621636.43 569585.618 0, 1621934.231 569622.215 0, 1622232.03 569658.83 0, 1622529.826 569695.462 0, 1622827.621 569732.112 0, 1623125.414 569768.779 0, 1623423.204 569805.464 0,
+ 1623720.992 569842.166 0, 1624018.778 569878.886 0, 1624316.562 569915.623 0, 1624614.344 569952.378 0, 1624910.782 569988.984 0, 1625209.901 570025.94 0, 1625507.676 570062.747 0, 1625805.449 570099.572 0, 1626103.22 570136.415 0, 1626400.989 570173.275 0,
+ 1626698.755 570210.152 0, 1626996.519 570247.047 0, 1627294.282 570283.96 0, 1627592.042 570320.89 0, 1627889.799 570357.837 0, 1628187.555 570394.802 0, 1628485.309 570431.785 0, 1628783.06 570468.785 0, 1629080.809 570505.803 0, 1629378.556 570542.838 0,
+ 1629676.301 570579.891 0, 1629974.043 570616.961 0, 1630271.784 570654.049 0, 1630569.522 570691.154 0, 1630867.258 570728.277 0, 1631164.992 570765.417 0, 1631462.724 570802.575 0, 1631760.453 570839.751 0, 1632056.84 570876.776 0, 1632746.182 565359.94 0,
+ 1633435.476 559843.49 0))
+
+POLYGON ((1646345.159 572682.638 0, 1646048.876 572644.775 0, 1645751.252 572606.759 0, 1645453.627 572568.76 0, 1645155.999 572530.779 0, 1644858.369 572492.815 0, 1644560.737 572454.869 0, 1644263.102 572416.94 0, 1643965.466 572379.028 0, 1643667.827 572341.135 0,
+ 1643370.186 572303.258 0, 1643072.542 572265.4 0, 1642774.897 572227.558 0, 1642477.249 572189.735 0, 1642179.599 572151.929 0, 1641881.947 572114.14 0, 1641584.292 572076.369 0, 1641286.635 572038.615 0, 1640988.976 572000.879 0, 1640691.315 571963.161 0,
+ 1640393.652 571925.459 0, 1640095.986 571887.776 0, 1639798.319 571850.11 0, 1639500.648 571812.461 0, 1639201.638 571774.661 0, 1638905.302 571737.217 0, 1638607.625 571699.621 0, 1638309.946 571662.043 0, 1638012.265 571624.482 0, 1637714.582 571586.938 0,
+ 1637416.896 571549.413 0, 1637119.209 571511.904 0, 1636821.519 571474.413 0, 1636523.826 571436.94 0, 1636226.132 571399.484 0, 1635928.436 571362.046 0, 1635630.737 571324.625 0, 1635333.036 571287.222 0, 1635035.333 571249.836 0, 1634737.627 571212.468 0,
+ 1634439.92 571175.118 0, 1634142.21 571137.785 0, 1633844.498 571100.469 0, 1633546.784 571063.171 0, 1633249.068 571025.89 0, 1632951.349 570988.627 0, 1632653.628 570951.382 0, 1632355.905 570914.154 0, 1632056.84 570876.776 0, 1631367.45 576393.996 0,
+ 1630678.013 581911.597 0, 1630976.426 581948.893 0, 1631273.499 581986.04 0, 1631570.57 582023.204 0, 1631867.639 582060.386 0, 1632164.706 582097.585 0, 1632461.771 582134.802 0, 1632758.833 582172.036 0, 1633055.894 582209.288 0, 1633352.952 582246.557 0,
+ 1633650.008 582283.844 0, 1633947.061 582321.148 0, 1634244.113 582358.469 0, 1634541.162 582395.808 0, 1634838.209 582433.165 0, 1635135.254 582470.539 0, 1635432.297 582507.931 0, 1635729.337 582545.34 0, 1636026.376 582582.766 0, 1636323.412 582620.21 0,
+ 1636620.446 582657.672 0, 1636917.478 582695.151 0, 1637214.507 582732.647 0, 1637511.534 582770.161 0, 1637807.224 582807.524 0, 1638105.582 582845.241 0, 1638402.603 582882.808 0, 1638699.621 582920.391 0, 1638996.638 582957.993 0, 1639293.652 582995.612 0,
+ 1639590.664 583033.248 0, 1639887.673 583070.902 0, 1640184.68 583108.573 0, 1640481.686 583146.262 0, 1640778.689 583183.968 0, 1641075.689 583221.692 0, 1641372.688 583259.433 0, 1641669.684 583297.191 0, 1641966.678 583334.968 0, 1642263.67 583372.761 0,
+ 1642560.66 583410.572 0, 1642857.647 583448.401 0, 1643154.632 583486.247 0, 1643451.615 583524.11 0, 1643748.596 583561.992 0, 1644045.574 583599.89 0, 1644342.55 583637.806 0, 1644639.524 583675.739 0, 1644935.162 583713.52 0, 1645640.185 578197.889 0,
+ 1646345.159 572682.638 0))
+
+POLYGON ((1659187.164 585555.715 0, 1658891.632 585517.099 0, 1658594.766 585478.326 0, 1658297.898 585439.572 0, 1658001.028 585400.834 0, 1657704.155 585362.114 0, 1657407.281 585323.412 0, 1657110.403 585284.727 0, 1656813.524 585246.06 0, 1656516.643 585207.41 0,
+ 1656219.759 585168.777 0, 1655922.873 585130.162 0, 1655625.984 585091.564 0, 1655329.093 585052.984 0, 1655032.2 585014.422 0, 1654735.305 584975.876 0, 1654438.408 584937.349 0, 1654141.508 584898.839 0, 1653844.606 584860.346 0, 1653547.702 584821.871 0,
+ 1653250.795 584783.413 0, 1652953.886 584744.972 0, 1652656.975 584706.55 0, 1652360.062 584668.144 0, 1652061.813 584629.584 0, 1651766.228 584591.386 0, 1651469.308 584553.033 0, 1651172.386 584514.698 0, 1650875.461 584476.38 0, 1650578.534 584438.079 0,
+ 1650281.605 584399.796 0, 1649984.674 584361.531 0, 1649687.74 584323.283 0, 1649390.804 584285.052 0, 1649093.866 584246.839 0, 1648796.926 584208.643 0, 1648499.983 584170.465 0, 1648203.038 584132.304 0, 1647906.091 584094.161 0, 1647609.142 584056.035 0,
+ 1647312.19 584017.927 0, 1647015.236 583979.836 0, 1646718.28 583941.763 0, 1646421.322 583903.707 0, 1646124.361 583865.669 0, 1645827.398 583827.648 0, 1645530.433 583789.645 0, 1645233.466 583751.659 0, 1644935.162 583713.52 0, 1644230.091 589229.528 0,
+ 1643524.972 594745.911 0, 1643822.623 594783.967 0, 1644118.941 594821.87 0, 1644415.257 594859.79 0, 1644711.57 594897.728 0, 1645007.882 594935.683 0, 1645304.191 594973.656 0, 1645600.497 595011.646 0, 1645896.802 595049.653 0, 1646193.104 595087.678 0,
+ 1646489.404 595125.72 0, 1646785.702 595163.78 0, 1647081.998 595201.857 0, 1647378.291 595239.952 0, 1647674.582 595278.064 0, 1647970.871 595316.194 0, 1648267.158 595354.341 0, 1648563.442 595392.505 0, 1648859.724 595430.687 0, 1649156.004 595468.886 0,
+ 1649452.282 595507.103 0, 1649748.557 595545.337 0, 1650044.83 595583.589 0, 1650341.101 595621.858 0, 1650636.04 595659.973 0, 1650933.636 595698.449 0, 1651229.9 595736.77 0, 1651526.162 595775.109 0, 1651822.422 595813.465 0, 1652118.679 595851.839 0,
+ 1652414.934 595890.23 0, 1652711.187 595928.638 0, 1653007.438 595967.064 0, 1653303.686 596005.508 0, 1653599.932 596043.969 0, 1653896.176 596082.447 0, 1654192.418 596120.943 0, 1654488.657 596159.456 0, 1654784.894 596197.987 0, 1655081.128 596236.535 0,
+ 1655377.361 596275.1 0, 1655673.591 596313.683 0, 1655969.819 596352.283 0, 1656266.045 596390.901 0, 1656562.268 596429.536 0, 1656858.489 596468.189 0, 1657154.708 596506.859 0, 1657450.924 596545.547 0, 1657745.81 596584.078 0, 1658466.511 591069.709 0,
+ 1659187.164 585555.715 0))
+
+POLYGON ((1671961.399 598462.414 0, 1671666.621 598423.049 0, 1671370.515 598383.525 0, 1671074.406 598344.018 0, 1670778.296 598304.529 0, 1670482.183 598265.057 0, 1670186.067 598225.602 0, 1669889.95 598186.165 0, 1669593.83 598146.745 0, 1669297.707 598107.343 0,
+ 1669001.583 598067.958 0, 1668705.456 598028.591 0, 1668409.327 597989.241 0, 1668113.195 597949.909 0, 1667817.061 597910.593 0, 1667520.925 597871.296 0, 1667224.786 597832.015 0, 1666928.646 597792.753 0, 1666632.502 597753.507 0, 1666336.357 597714.279 0,
+ 1666040.209 597675.069 0, 1665744.059 597635.876 0, 1665447.907 597596.7 0, 1665151.752 597557.542 0, 1664854.268 597518.226 0, 1664559.436 597479.278 0, 1664263.274 597440.172 0, 1663967.11 597401.083 0, 1663670.944 597362.012 0, 1663374.776 597322.959 0,
+ 1663078.605 597283.922 0, 1662782.432 597244.904 0, 1662486.256 597205.902 0, 1662190.079 597166.918 0, 1661893.899 597127.952 0, 1661597.716 597089.003 0, 1661301.532 597050.071 0, 1661005.345 597011.157 0, 1660709.156 596972.26 0, 1660412.964 596933.381 0,
+ 1660116.771 596894.519 0, 1659820.575 596855.675 0, 1659524.376 596816.848 0, 1659228.176 596778.038 0, 1658931.973 596739.246 0, 1658635.768 596700.471 0, 1658339.56 596661.714 0, 1658043.351 596622.974 0, 1657745.81 596584.078 0, 1657025.061 602098.818 0,
+ 1656304.263 607613.926 0, 1656601.151 607652.737 0, 1656896.712 607691.392 0, 1657192.27 607730.064 0, 1657487.826 607768.754 0, 1657783.38 607807.461 0, 1658078.931 607846.186 0, 1658374.48 607884.927 0, 1658670.027 607923.687 0, 1658965.572 607962.463 0,
+ 1659261.114 608001.258 0, 1659556.654 608040.069 0, 1659852.192 608078.898 0, 1660147.727 608117.744 0, 1660443.26 608156.608 0, 1660738.791 608195.489 0, 1661034.32 608234.387 0, 1661329.846 608273.303 0, 1661625.37 608312.237 0, 1661920.892 608351.187 0,
+ 1662216.411 608390.155 0, 1662511.928 608429.141 0, 1662807.443 608468.144 0, 1663102.955 608507.164 0, 1663397.141 608546.026 0, 1663693.973 608585.256 0, 1663989.479 608624.329 0, 1664284.982 608663.419 0, 1664580.483 608702.526 0, 1664875.982 608741.65 0,
+ 1665171.479 608780.792 0, 1665466.973 608819.952 0, 1665762.464 608859.128 0, 1666057.954 608898.323 0, 1666353.441 608937.534 0, 1666648.926 608976.763 0, 1666944.409 609016.009 0, 1667239.889 609055.273 0, 1667535.367 609094.554 0, 1667830.842 609133.853 0,
+ 1668126.316 609173.169 0, 1668421.787 609212.502 0, 1668717.255 609251.853 0, 1669012.722 609291.221 0, 1669308.186 609330.606 0, 1669603.648 609370.009 0, 1669899.107 609409.429 0, 1670194.564 609448.867 0, 1670488.696 609488.145 0, 1671225.072 603975.096 0,
+ 1671961.399 598462.414 0))
+
+POLYGON ((1684667.777 611402.43 0, 1684373.755 611362.321 0, 1684078.411 611322.049 0, 1683783.064 611281.794 0, 1683487.715 611241.557 0, 1683192.363 611201.336 0, 1682897.009 611161.134 0, 1682601.653 611120.949 0, 1682306.294 611080.781 0, 1682010.933 611040.63 0,
+ 1681715.57 611000.497 0, 1681420.204 610960.381 0, 1681124.836 610920.283 0, 1680829.465 610880.202 0, 1680534.092 610840.138 0, 1680238.717 610800.092 0, 1679943.34 610760.063 0, 1679647.96 610720.052 0, 1679352.577 610680.058 0, 1679057.193 610640.081 0,
+ 1678761.806 610600.122 0, 1678466.416 610560.18 0, 1678171.025 610520.256 0, 1677875.631 610480.349 0, 1677578.913 610440.28 0, 1677284.835 610400.587 0, 1676989.434 610360.732 0, 1676694.031 610320.894 0, 1676398.625 610281.074 0, 1676103.217 610241.271 0,
+ 1675807.807 610201.486 0, 1675512.394 610161.718 0, 1675216.979 610121.967 0, 1674921.561 610082.234 0, 1674626.141 610042.518 0, 1674330.719 610002.819 0, 1674035.295 609963.138 0, 1673739.868 609923.475 0, 1673444.439 609883.828 0, 1673149.007 609844.2 0,
+ 1672853.573 609804.588 0, 1672558.137 609764.994 0, 1672262.699 609725.417 0, 1671967.258 609685.858 0, 1671671.815 609646.316 0, 1671376.369 609606.791 0, 1671080.921 609567.284 0, 1670785.471 609527.794 0, 1670488.696 609488.145 0, 1669752.271 615001.56 0,
+ 1669015.798 620515.335 0, 1669311.922 620554.897 0, 1669606.723 620594.3 0, 1669901.521 620633.721 0, 1670196.318 620673.159 0, 1670491.112 620712.614 0, 1670785.904 620752.086 0, 1671080.693 620791.576 0, 1671375.481 620831.083 0, 1671670.265 620870.608 0,
+ 1671965.048 620910.149 0, 1672259.828 620949.709 0, 1672554.606 620989.285 0, 1672849.381 621028.879 0, 1673144.155 621068.49 0, 1673438.925 621108.119 0, 1673733.694 621147.765 0, 1674028.46 621187.428 0, 1674323.224 621227.109 0, 1674617.986 621266.807 0,
+ 1674912.745 621306.522 0, 1675207.502 621346.255 0, 1675502.256 621386.005 0, 1675797.008 621425.772 0, 1676090.44 621465.379 0, 1676386.506 621505.359 0, 1676681.251 621545.179 0, 1676975.994 621585.015 0, 1677270.734 621624.87 0, 1677565.472 621664.741 0,
+ 1677860.208 621704.63 0, 1678154.941 621744.536 0, 1678449.672 621784.46 0, 1678744.401 621824.4 0, 1679039.127 621864.359 0, 1679333.851 621904.334 0, 1679628.573 621944.327 0, 1679923.292 621984.337 0, 1680218.009 622024.365 0, 1680512.724 622064.41 0,
+ 1680807.436 622104.472 0, 1681102.146 622144.552 0, 1681396.853 622184.649 0, 1681691.559 622224.763 0, 1681986.261 622264.895 0, 1682280.962 622305.044 0, 1682575.66 622345.21 0, 1682870.356 622385.394 0, 1683163.732 622425.415 0, 1683915.779 616913.742 0,
+ 1684667.777 611402.43 0))
+
+POLYGON ((1697306.213 624375.458 0, 1697012.948 624334.608 0, 1696718.367 624293.592 0, 1696423.784 624252.593 0, 1696129.198 624211.612 0, 1695834.61 624170.647 0, 1695540.019 624129.701 0, 1695245.426 624088.771 0, 1694950.831 624047.859 0, 1694656.233 624006.964 0,
+ 1694361.633 623966.087 0, 1694067.03 623925.227 0, 1693772.425 623884.384 0, 1693477.817 623843.559 0, 1693183.207 623802.751 0, 1692888.595 623761.96 0, 1692593.98 623721.187 0, 1692299.363 623680.431 0, 1692004.744 623639.692 0, 1691710.122 623598.971 0,
+ 1691415.498 623558.267 0, 1691120.871 623517.58 0, 1690826.242 623476.911 0, 1690531.61 623436.259 0, 1690235.661 623395.442 0, 1689942.34 623355.007 0, 1689647.702 623314.407 0, 1689353.061 623273.824 0, 1689058.417 623233.259 0, 1688763.771 623192.711 0,
+ 1688469.123 623152.18 0, 1688174.473 623111.667 0, 1687879.82 623071.171 0, 1687585.164 623030.692 0, 1687290.507 622990.231 0, 1686995.847 622949.787 0, 1686701.184 622909.361 0, 1686406.519 622868.952 0, 1686111.852 622828.56 0, 1685817.182 622788.185 0,
+ 1685522.51 622747.828 0, 1685227.836 622707.488 0, 1684933.159 622667.166 0, 1684638.48 622626.861 0, 1684343.799 622586.573 0, 1684049.115 622546.302 0, 1683754.429 622506.049 0, 1683459.74 622465.814 0, 1683163.732 622425.415 0, 1682411.635 627937.447 0,
+ 1681659.491 633449.833 0, 1681954.847 633490.143 0, 1682248.887 633530.29 0, 1682542.924 633570.454 0, 1682836.959 633610.636 0, 1683130.992 633650.835 0, 1683425.022 633691.052 0, 1683719.05 633731.285 0, 1684013.075 633771.536 0, 1684307.099 633811.805 0,
+ 1684601.119 633852.09 0, 1684895.138 633892.393 0, 1685189.154 633932.713 0, 1685483.167 633973.051 0, 1685777.179 634013.406 0, 1686071.188 634053.778 0, 1686365.194 634094.167 0, 1686659.198 634134.574 0, 1686953.2 634174.998 0, 1687247.2 634215.439 0,
+ 1687541.197 634255.898 0, 1687835.191 634296.374 0, 1688129.184 634336.867 0, 1688423.173 634377.378 0, 1688715.848 634417.725 0, 1689011.146 634458.451 0, 1689305.129 634499.013 0, 1689599.109 634539.593 0, 1689893.087 634580.19 0, 1690187.063 634620.805 0,
+ 1690481.036 634661.436 0, 1690775.007 634702.085 0, 1691068.975 634742.752 0, 1691362.941 634783.435 0, 1691656.905 634824.136 0, 1691950.866 634864.854 0, 1692244.825 634905.59 0, 1692538.781 634946.343 0, 1692832.735 634987.113 0, 1693126.687 635027.9 0,
+ 1693420.636 635068.705 0, 1693714.583 635109.527 0, 1694008.527 635150.366 0, 1694302.469 635191.223 0, 1694596.409 635232.097 0, 1694890.346 635272.988 0, 1695184.281 635313.896 0, 1695478.213 635354.822 0, 1695770.831 635395.583 0, 1696538.547 629885.343 0,
+ 1697306.213 624375.458 0))
+
+POLYGON ((1709876.619 637381.191 0, 1709584.114 637339.604 0, 1709290.299 637297.848 0, 1708996.481 637256.109 0, 1708702.66 637214.387 0, 1708408.837 637172.683 0, 1708115.012 637130.996 0, 1707821.184 637089.327 0, 1707527.354 637047.674 0, 1707233.521 637006.039 0,
+ 1706939.686 636964.422 0, 1706645.848 636922.821 0, 1706352.008 636881.238 0, 1706058.166 636839.672 0, 1705764.321 636798.124 0, 1705470.473 636756.593 0, 1705176.623 636715.079 0, 1704882.771 636673.582 0, 1704588.916 636632.103 0, 1704295.059 636590.641 0,
+ 1704001.199 636549.196 0, 1703707.337 636507.768 0, 1703413.473 636466.358 0, 1703119.606 636424.965 0, 1702824.426 636383.405 0, 1702531.865 636342.232 0, 1702237.99 636300.891 0, 1701944.114 636259.567 0, 1701650.234 636218.26 0, 1701356.353 636176.971 0,
+ 1701062.469 636135.7 0, 1700768.583 636094.445 0, 1700474.694 636053.208 0, 1700180.802 636011.988 0, 1699886.909 635970.785 0, 1699593.013 635929.6 0, 1699299.114 635888.432 0, 1699005.213 635847.281 0, 1698711.31 635806.148 0, 1698417.404 635765.032 0,
+ 1698123.496 635723.933 0, 1697829.585 635682.852 0, 1697535.672 635641.787 0, 1697241.756 635600.74 0, 1696947.839 635559.711 0, 1696653.918 635518.698 0, 1696359.996 635477.703 0, 1696066.07 635436.726 0, 1695770.831 635395.583 0, 1695003.067 640906.174 0,
+ 1694235.254 646417.114 0, 1694529.842 646458.166 0, 1694823.118 646499.054 0, 1695116.392 646539.958 0, 1695409.664 646580.88 0, 1695702.933 646621.819 0, 1695996.2 646662.775 0, 1696289.464 646703.749 0, 1696582.726 646744.74 0, 1696875.986 646785.748 0,
+ 1697169.243 646826.773 0, 1697462.497 646867.816 0, 1697755.75 646908.876 0, 1698049 646949.953 0, 1698342.247 646991.047 0, 1698635.492 647032.159 0, 1698928.735 647073.288 0, 1699221.975 647114.434 0, 1699515.213 647155.598 0, 1699808.448 647196.778 0,
+ 1700101.681 647237.976 0, 1700394.912 647279.191 0, 1700688.14 647320.424 0, 1700981.366 647361.674 0, 1701273.282 647402.757 0, 1701567.81 647444.225 0, 1701861.028 647485.526 0, 1702154.244 647526.845 0, 1702447.458 647568.181 0, 1702740.669 647609.535 0,
+ 1703033.877 647650.905 0, 1703327.083 647692.293 0, 1703620.287 647733.698 0, 1703913.489 647775.12 0, 1704206.688 647816.56 0, 1704499.884 647858.017 0, 1704793.078 647899.491 0, 1705086.27 647940.982 0, 1705379.459 647982.491 0, 1705672.645 648024.017 0,
+ 1705965.83 648065.56 0, 1706259.012 648107.12 0, 1706552.191 648148.698 0, 1706845.368 648190.293 0, 1707138.542 648231.905 0, 1707431.714 648273.534 0, 1707724.884 648315.181 0, 1708018.051 648356.845 0, 1708309.91 648398.34 0, 1709093.289 642889.591 0,
+ 1709876.619 637381.191 0))
+
+POLYGON ((1722378.912 650419.322 0, 1722087.169 650377.002 0, 1721794.121 650334.51 0, 1721501.07 650292.035 0, 1721208.017 650249.577 0, 1720914.961 650207.137 0, 1720621.903 650164.714 0, 1720328.842 650122.308 0, 1720035.779 650079.92 0, 1719742.713 650037.549 0,
+ 1719449.645 649995.195 0, 1719156.575 649952.858 0, 1718863.501 649910.538 0, 1718570.426 649868.236 0, 1718277.347 649825.951 0, 1717984.267 649783.683 0, 1717691.184 649741.433 0, 1717398.098 649699.2 0, 1717105.01 649656.984 0, 1716811.919 649614.785 0,
+ 1716518.826 649572.603 0, 1716225.731 649530.439 0, 1715932.633 649488.292 0, 1715639.532 649446.162 0, 1715345.125 649403.863 0, 1715053.324 649361.955 0, 1714760.216 649319.877 0, 1714467.105 649277.816 0, 1714173.992 649235.773 0, 1713880.877 649193.746 0,
+ 1713587.759 649151.737 0, 1713294.639 649109.746 0, 1713001.516 649067.771 0, 1712708.391 649025.814 0, 1712415.263 648983.874 0, 1712122.133 648941.951 0, 1711829 648900.046 0, 1711535.865 648858.157 0, 1711242.727 648816.287 0, 1710949.587 648774.433 0,
+ 1710656.444 648732.596 0, 1710363.299 648690.777 0, 1710070.152 648648.975 0, 1709777.002 648607.191 0, 1709483.85 648565.423 0, 1709190.695 648523.673 0, 1708897.538 648481.94 0, 1708604.378 648440.224 0, 1708309.91 648398.34 0, 1707526.481 653907.434 0,
+ 1706743.004 659416.87 0, 1707036.821 659458.662 0, 1707329.332 659500.285 0, 1707621.841 659541.926 0, 1707914.347 659583.584 0, 1708206.851 659625.259 0, 1708499.353 659666.951 0, 1708791.852 659708.66 0, 1709084.348 659750.387 0, 1709376.842 659792.131 0,
+ 1709669.334 659833.892 0, 1709961.823 659875.67 0, 1710254.31 659917.466 0, 1710546.794 659959.279 0, 1710839.276 660001.109 0, 1711131.755 660042.956 0, 1711424.232 660084.82 0, 1711716.706 660126.702 0, 1712009.178 660168.601 0, 1712301.648 660210.517 0,
+ 1712594.115 660252.45 0, 1712886.579 660294.401 0, 1713179.041 660336.368 0, 1713471.501 660378.353 0, 1713762.656 660420.168 0, 1714056.412 660462.375 0, 1714348.864 660504.411 0, 1714641.314 660546.465 0, 1714933.761 660588.536 0, 1715226.206 660630.624 0,
+ 1715518.648 660672.73 0, 1715811.088 660714.852 0, 1716103.525 660756.992 0, 1716395.96 660799.149 0, 1716688.392 660841.323 0, 1716980.822 660883.515 0, 1717273.25 660925.723 0, 1717565.674 660967.949 0, 1717858.097 661010.192 0, 1718150.517 661052.453 0,
+ 1718442.934 661094.73 0, 1718735.349 661137.025 0, 1719027.762 661179.337 0, 1719320.171 661221.666 0, 1719612.579 661264.012 0, 1719904.984 661306.376 0, 1720197.386 661348.757 0, 1720489.786 661391.155 0, 1720780.884 661433.381 0, 1721579.923 655926.181 0,
+ 1722378.912 650419.322 0))
+
+POLYGON ((1734813.01 663489.544 0, 1734522.031 663446.495 0, 1734229.752 663403.271 0, 1733937.47 663360.064 0, 1733645.186 663316.874 0, 1733352.899 663273.702 0, 1733060.61 663230.547 0, 1732768.318 663187.409 0, 1732476.024 663144.289 0, 1732183.727 663101.185 0,
+ 1731891.428 663058.099 0, 1731599.126 663015.03 0, 1731306.822 662971.978 0, 1731014.515 662928.943 0, 1730722.205 662885.926 0, 1730429.893 662842.925 0, 1730137.579 662799.942 0, 1729845.262 662756.977 0, 1729552.942 662714.028 0, 1729260.62 662671.096 0,
+ 1728968.295 662628.182 0, 1728675.968 662585.285 0, 1728383.638 662542.405 0, 1728091.306 662499.543 0, 1727797.673 662456.507 0, 1727506.634 662413.869 0, 1727214.294 662371.058 0, 1726921.952 662328.264 0, 1726629.607 662285.488 0, 1726337.26 662242.728 0,
+ 1726044.91 662199.986 0, 1725752.558 662157.261 0, 1725460.203 662114.554 0, 1725167.846 662071.863 0, 1724875.486 662029.19 0, 1724583.123 661986.534 0, 1724290.758 661943.895 0, 1723998.391 661901.273 0, 1723706.021 661858.668 0, 1723413.648 661816.081 0,
+ 1723121.273 661773.511 0, 1722828.896 661730.958 0, 1722536.516 661688.423 0, 1722244.134 661645.904 0, 1721951.749 661603.403 0, 1721659.361 661560.919 0, 1721366.971 661518.452 0, 1721074.579 661476.002 0, 1720780.884 661433.381 0, 1719981.795 666940.921 0,
+ 1719182.659 672448.795 0, 1719475.702 672491.322 0, 1719767.447 672533.677 0, 1720059.188 672576.05 0, 1720350.927 672618.44 0, 1720642.664 672660.847 0, 1720934.398 672703.271 0, 1721226.13 672745.712 0, 1721517.859 672788.171 0, 1721809.586 672830.647 0,
+ 1722101.31 672873.14 0, 1722393.032 672915.65 0, 1722684.751 672958.177 0, 1722976.467 673000.721 0, 1723268.181 673043.283 0, 1723559.893 673085.861 0, 1723851.602 673128.457 0, 1724143.309 673171.07 0, 1724435.013 673213.701 0, 1724726.715 673256.348 0,
+ 1725018.414 673299.013 0, 1725310.11 673341.694 0, 1725601.804 673384.393 0, 1725893.496 673427.109 0, 1726183.889 673469.653 0, 1726476.871 673512.593 0, 1726768.555 673555.36 0, 1727060.237 673598.145 0, 1727351.916 673640.947 0, 1727643.592 673683.766 0,
+ 1727935.266 673726.602 0, 1728226.938 673769.456 0, 1728518.607 673812.326 0, 1728810.273 673855.214 0, 1729101.937 673898.119 0, 1729393.598 673941.041 0, 1729685.257 673983.98 0, 1729976.913 674026.937 0, 1730268.567 674069.91 0, 1730560.218 674112.901 0,
+ 1730851.867 674155.909 0, 1731143.513 674198.934 0, 1731435.157 674241.976 0, 1731726.798 674285.036 0, 1732018.436 674328.112 0, 1732310.072 674371.206 0, 1732601.706 674414.317 0, 1732893.337 674457.445 0, 1733183.67 674500.399 0, 1733998.365 668994.803 0,
+ 1734813.01 663489.544 0))
+
+POLYGON ((1747178.83 676591.549 0, 1746888.617 676547.775 0, 1746597.109 676503.823 0, 1746305.598 676459.888 0, 1746014.085 676415.971 0, 1745722.57 676372.071 0, 1745431.051 676328.187 0, 1745139.53 676284.321 0, 1744848.007 676240.473 0, 1744556.481 676196.641 0,
+ 1744264.952 676152.826 0, 1743973.421 676109.029 0, 1743681.888 676065.249 0, 1743390.351 676021.486 0, 1743098.812 675977.74 0, 1742807.271 675934.011 0, 1742515.727 675890.3 0, 1742224.18 675846.605 0, 1741932.631 675802.928 0, 1741641.079 675759.268 0,
+ 1741349.525 675715.625 0, 1741057.968 675671.999 0, 1740766.409 675628.39 0, 1740474.847 675584.799 0, 1740181.989 675541.031 0, 1739891.715 675497.668 0, 1739600.145 675454.128 0, 1739308.573 675410.605 0, 1739016.998 675367.099 0, 1738725.421 675323.611 0,
+ 1738433.841 675280.139 0, 1738142.258 675236.685 0, 1737850.673 675193.248 0, 1737559.085 675149.828 0, 1737267.495 675106.426 0, 1736975.903 675063.04 0, 1736684.307 675019.672 0, 1736392.709 674976.32 0, 1736101.109 674932.986 0, 1735809.506 674889.67 0,
+ 1735517.901 674846.37 0, 1735226.293 674803.087 0, 1734934.682 674759.822 0, 1734643.069 674716.574 0, 1734351.453 674673.343 0, 1734059.835 674630.129 0, 1733768.214 674586.932 0, 1733476.591 674543.753 0, 1733183.67 674500.399 0, 1732368.927 680006.326 0,
+ 1731554.135 685512.582 0, 1731846.404 685555.839 0, 1732137.379 685598.923 0, 1732428.352 685642.024 0, 1732719.322 685685.142 0, 1733010.29 685728.276 0, 1733301.255 685771.429 0, 1733592.217 685814.598 0, 1733883.177 685857.784 0, 1734174.134 685900.988 0,
+ 1734465.089 685944.208 0, 1734756.041 685987.446 0, 1735046.991 686030.701 0, 1735337.938 686073.973 0, 1735628.883 686117.262 0, 1735919.825 686160.568 0, 1736210.765 686203.891 0, 1736501.702 686247.232 0, 1736792.636 686290.589 0, 1737083.568 686333.964 0,
+ 1737374.497 686377.356 0, 1737665.424 686420.765 0, 1737956.349 686464.191 0, 1738247.27 686507.634 0, 1738536.899 686550.902 0, 1738829.106 686594.572 0, 1739120.02 686638.067 0, 1739410.931 686681.578 0, 1739701.84 686725.107 0, 1739992.747 686768.653 0,
+ 1740283.65 686812.216 0, 1740574.552 686855.796 0, 1740865.45 686899.394 0, 1741156.346 686943.008 0, 1741447.24 686986.64 0, 1741738.131 687030.288 0, 1742029.019 687073.954 0, 1742319.905 687117.637 0, 1742610.788 687161.337 0, 1742901.669 687205.054 0,
+ 1743192.547 687248.788 0, 1743483.422 687292.54 0, 1743774.295 687336.308 0, 1744065.166 687380.094 0, 1744356.033 687423.897 0, 1744646.899 687467.717 0, 1744937.761 687511.554 0, 1745228.621 687555.408 0, 1745518.19 687599.085 0, 1746348.535 682095.152 0,
+ 1747178.83 676591.549 0))
+
+POLYGON ((1759476.294 689725.03 0, 1759186.848 689680.535 0, 1758896.113 689635.859 0, 1758605.375 689591.201 0, 1758314.635 689546.559 0, 1758023.892 689501.935 0, 1757733.147 689457.328 0, 1757442.399 689412.738 0, 1757151.648 689368.165 0, 1756860.895 689323.609 0,
+ 1756570.139 689279.07 0, 1756279.38 689234.548 0, 1755988.619 689190.044 0, 1755697.855 689145.556 0, 1755407.089 689101.086 0, 1755116.319 689056.633 0, 1754825.548 689012.197 0, 1754534.773 688967.778 0, 1754243.997 688923.376 0, 1753953.217 688878.991 0,
+ 1753662.435 688834.623 0, 1753371.65 688790.273 0, 1753080.863 688745.939 0, 1752790.073 688701.623 0, 1752497.993 688657.128 0, 1752208.485 688613.042 0, 1751917.687 688568.777 0, 1751626.887 688524.529 0, 1751336.084 688480.299 0, 1751045.278 688436.085 0,
+ 1750754.47 688391.888 0, 1750463.659 688347.709 0, 1750172.846 688303.547 0, 1749882.03 688259.402 0, 1749591.211 688215.274 0, 1749300.39 688171.163 0, 1749009.566 688127.069 0, 1748718.74 688082.992 0, 1748427.911 688038.933 0, 1748137.079 687994.89 0,
+ 1747846.245 687950.865 0, 1747555.408 687906.857 0, 1747264.569 687862.866 0, 1746973.727 687818.892 0, 1746682.883 687774.935 0, 1746392.035 687730.995 0, 1746101.186 687687.073 0, 1745810.333 687643.167 0, 1745518.19 687599.085 0, 1744687.796 693103.342 0,
+ 1743857.353 698607.922 0, 1744148.846 698651.906 0, 1744439.05 698695.714 0, 1744729.252 698739.539 0, 1745019.451 698783.381 0, 1745309.647 698827.24 0, 1745599.841 698871.115 0, 1745890.033 698915.009 0, 1746180.222 698958.919 0, 1746470.408 699002.846 0,
+ 1746760.592 699046.79 0, 1747050.773 699090.752 0, 1747340.951 699134.73 0, 1747631.127 699178.726 0, 1747921.301 699222.738 0, 1748211.471 699266.768 0, 1748501.639 699310.815 0, 1748791.805 699354.879 0, 1749081.968 699398.96 0, 1749372.128 699443.058 0,
+ 1749662.286 699487.173 0, 1749952.441 699531.305 0, 1750242.594 699575.454 0, 1750532.744 699619.62 0, 1750821.606 699663.608 0, 1751113.036 699708.004 0, 1751403.178 699752.222 0, 1751693.317 699796.456 0, 1751983.454 699840.708 0, 1752273.589 699884.977 0,
+ 1752563.721 699929.263 0, 1752853.85 699973.566 0, 1753143.976 700017.886 0, 1753434.1 700062.223 0, 1753724.221 700106.577 0, 1754014.34 700150.948 0, 1754304.456 700195.337 0, 1754594.57 700239.742 0, 1754884.681 700284.165 0, 1755174.789 700328.604 0,
+ 1755464.894 700373.061 0, 1755754.997 700417.534 0, 1756045.098 700462.025 0, 1756335.196 700506.533 0, 1756625.291 700551.058 0, 1756915.383 700595.6 0, 1757205.473 700640.159 0, 1757495.56 700684.735 0, 1757784.362 700729.131 0, 1758630.353 695226.919 0,
+ 1759476.294 689725.03 0))
+
+POLYGON ((1526605.142 469436.664 0, 1526302.83 469405.82 0, 1525999.13 469374.852 0, 1525695.429 469343.901 0, 1525391.726 469312.969 0, 1525088.021 469282.054 0, 1524784.314 469251.157 0, 1524480.605 469220.279 0, 1524176.895 469189.418 0, 1523873.183 469158.575 0,
+ 1523569.469 469127.749 0, 1523265.753 469096.942 0, 1522962.035 469066.153 0, 1522658.316 469035.381 0, 1522354.594 469004.627 0, 1522050.871 468973.892 0, 1521747.146 468943.174 0, 1521443.42 468912.474 0, 1521139.691 468881.791 0, 1520835.961 468851.127 0,
+ 1520532.229 468820.481 0, 1520228.495 468789.852 0, 1519924.759 468759.241 0, 1519621.021 468728.649 0, 1519315.895 468697.934 0, 1519013.541 468667.517 0, 1518709.798 468636.977 0, 1518406.053 468606.456 0, 1518102.307 468575.953 0, 1517798.558 468545.467 0,
+ 1517494.808 468515 0, 1517191.056 468484.55 0, 1516887.303 468454.118 0, 1516583.547 468423.704 0, 1516279.79 468393.308 0, 1515976.031 468362.93 0, 1515672.27 468332.569 0, 1515368.507 468302.227 0, 1515064.743 468271.902 0, 1514760.976 468241.595 0,
+ 1514457.208 468211.306 0, 1514153.439 468181.035 0, 1513849.667 468150.782 0, 1513545.894 468120.547 0, 1513242.119 468090.33 0, 1512938.342 468060.13 0, 1512634.563 468029.949 0, 1512330.783 467999.785 0, 1512025.612 467969.501 0, 1511477.362 473495.939 0,
+ 1510929.069 479022.807 0, 1511233.586 479053.026 0, 1511536.716 479083.125 0, 1511839.844 479113.242 0, 1512142.97 479143.377 0, 1512446.095 479173.529 0, 1512749.217 479203.7 0, 1513052.338 479233.888 0, 1513355.458 479264.094 0, 1513658.575 479294.318 0,
+ 1513961.691 479324.56 0, 1514264.805 479354.82 0, 1514567.917 479385.097 0, 1514871.027 479415.393 0, 1515174.136 479445.706 0, 1515477.242 479476.037 0, 1515780.347 479506.386 0, 1516083.451 479536.753 0, 1516386.552 479567.137 0, 1516689.652 479597.54 0,
+ 1516992.75 479627.96 0, 1517295.846 479658.398 0, 1517598.94 479688.854 0, 1517902.032 479719.328 0, 1518203.739 479749.68 0, 1518508.212 479780.329 0, 1518811.299 479810.856 0, 1519114.384 479841.401 0, 1519417.468 479871.964 0, 1519720.549 479902.545 0,
+ 1520023.629 479933.144 0, 1520326.707 479963.76 0, 1520629.783 479994.394 0, 1520932.858 480025.046 0, 1521235.931 480055.716 0, 1521539.001 480086.404 0, 1521842.071 480117.11 0, 1522145.138 480147.833 0, 1522448.203 480178.575 0, 1522751.267 480209.334 0,
+ 1523054.329 480240.111 0, 1523357.389 480270.906 0, 1523660.447 480301.719 0, 1523963.503 480332.549 0, 1524266.558 480363.397 0, 1524569.61 480394.264 0, 1524872.661 480425.148 0, 1525175.711 480456.05 0, 1525477.375 480486.828 0, 1526041.281 474961.531 0,
+ 1526605.142 469436.664 0))
+
+POLYGON ((1540021.488 481991.945 0, 1539719.909 481960.314 0, 1539416.948 481928.556 0, 1539113.986 481896.816 0, 1538811.021 481865.094 0, 1538508.055 481833.389 0, 1538205.087 481801.703 0, 1537902.117 481770.034 0, 1537599.145 481738.383 0, 1537296.172 481706.75 0,
+ 1536993.196 481675.135 0, 1536690.219 481643.537 0, 1536387.24 481611.958 0, 1536084.258 481580.396 0, 1535781.276 481548.852 0, 1535478.291 481517.326 0, 1535175.304 481485.817 0, 1534872.316 481454.327 0, 1534569.325 481422.854 0, 1534266.333 481391.4 0,
+ 1533963.339 481359.963 0, 1533660.343 481328.544 0, 1533357.345 481297.142 0, 1533054.346 481265.759 0, 1532749.963 481234.25 0, 1532448.341 481203.046 0, 1532145.336 481171.716 0, 1531842.329 481140.404 0, 1531539.32 481109.109 0, 1531236.309 481077.833 0,
+ 1530933.297 481046.574 0, 1530630.282 481015.333 0, 1530327.266 480984.111 0, 1530024.248 480952.905 0, 1529721.228 480921.718 0, 1529418.206 480890.549 0, 1529115.183 480859.397 0, 1528812.158 480828.263 0, 1528509.13 480797.148 0, 1528206.101 480766.049 0,
+ 1527903.07 480734.969 0, 1527600.038 480703.907 0, 1527297.003 480672.862 0, 1526993.967 480641.835 0, 1526690.929 480610.827 0, 1526387.889 480579.836 0, 1526084.847 480548.862 0, 1525781.803 480517.907 0, 1525477.375 480486.828 0, 1524913.426 486012.553 0,
+ 1524349.434 491538.702 0, 1524653.209 491569.714 0, 1524955.602 491600.603 0, 1525257.993 491631.509 0, 1525560.383 491662.434 0, 1525862.77 491693.376 0, 1526165.156 491724.336 0, 1526467.54 491755.314 0, 1526769.923 491786.31 0, 1527072.303 491817.323 0,
+ 1527374.682 491848.355 0, 1527677.058 491879.404 0, 1527979.433 491910.471 0, 1528281.806 491941.556 0, 1528584.178 491972.658 0, 1528886.547 492003.778 0, 1529188.915 492034.917 0, 1529491.28 492066.072 0, 1529793.644 492097.246 0, 1530096.006 492128.438 0,
+ 1530398.367 492159.647 0, 1530700.725 492190.874 0, 1531003.082 492222.119 0, 1531305.437 492253.382 0, 1531606.411 492284.519 0, 1531910.14 492315.96 0, 1532212.49 492347.276 0, 1532514.837 492378.61 0, 1532817.183 492409.962 0, 1533119.526 492441.331 0,
+ 1533421.868 492472.719 0, 1533724.208 492504.124 0, 1534026.546 492535.547 0, 1534328.883 492566.987 0, 1534631.217 492598.446 0, 1534933.55 492629.922 0, 1535235.88 492661.416 0, 1535538.209 492692.928 0, 1535840.536 492724.457 0, 1536142.861 492756.005 0,
+ 1536445.185 492787.57 0, 1536747.506 492819.153 0, 1537049.826 492850.754 0, 1537352.144 492882.372 0, 1537654.459 492914.009 0, 1537956.773 492945.663 0, 1538259.086 492977.335 0, 1538561.396 493009.025 0, 1538862.328 493040.588 0, 1539441.93 487516.054 0,
+ 1540021.488 481991.945 0))
+
+POLYGON ((1553370.92 494583.469 0, 1553070.076 494551.056 0, 1552767.857 494518.512 0, 1552465.635 494485.986 0, 1552163.412 494453.478 0, 1551861.187 494420.988 0, 1551558.959 494388.515 0, 1551256.73 494356.06 0, 1550954.499 494323.623 0, 1550652.266 494291.204 0,
+ 1550350.031 494258.803 0, 1550047.795 494226.419 0, 1549745.556 494194.053 0, 1549443.315 494161.705 0, 1549141.073 494129.375 0, 1548838.829 494097.063 0, 1548536.582 494064.768 0, 1548234.334 494032.491 0, 1547932.084 494000.232 0, 1547629.832 493967.991 0,
+ 1547327.578 493935.767 0, 1547025.323 493903.561 0, 1546723.065 493871.373 0, 1546420.805 493839.203 0, 1546117.169 493806.905 0, 1545816.281 493774.916 0, 1545514.015 493742.8 0, 1545211.748 493710.701 0, 1544909.479 493678.62 0, 1544607.208 493646.556 0,
+ 1544304.936 493614.511 0, 1544002.661 493582.483 0, 1543700.384 493550.473 0, 1543398.106 493518.48 0, 1543095.826 493486.506 0, 1542793.544 493454.549 0, 1542491.259 493422.611 0, 1542188.973 493390.689 0, 1541886.686 493358.786 0, 1541584.396 493326.901 0,
+ 1541282.104 493295.033 0, 1540979.811 493263.183 0, 1540677.516 493231.351 0, 1540375.218 493199.537 0, 1540072.919 493167.74 0, 1539770.618 493135.961 0, 1539468.316 493104.201 0, 1539166.011 493072.457 0, 1538862.328 493040.588 0, 1538282.681 498565.542 0,
+ 1537702.991 504090.915 0, 1538006.021 504122.717 0, 1538307.675 504154.392 0, 1538609.327 504186.084 0, 1538910.978 504217.794 0, 1539212.627 504249.523 0, 1539514.273 504281.268 0, 1539815.918 504313.032 0, 1540117.561 504344.813 0, 1540419.203 504376.613 0,
+ 1540720.842 504408.429 0, 1541022.479 504440.264 0, 1541324.115 504472.116 0, 1541625.749 504503.987 0, 1541927.381 504535.874 0, 1542229.011 504567.78 0, 1542530.639 504599.704 0, 1542832.265 504631.645 0, 1543133.889 504663.604 0, 1543435.512 504695.58 0,
+ 1543737.132 504727.575 0, 1544038.751 504759.587 0, 1544340.368 504791.617 0, 1544641.983 504823.664 0, 1544942.223 504855.584 0, 1545245.207 504887.813 0, 1545546.816 504919.914 0, 1545848.423 504952.033 0, 1546150.029 504984.169 0, 1546451.632 505016.323 0,
+ 1546753.234 505048.495 0, 1547054.834 505080.685 0, 1547356.432 505112.892 0, 1547658.028 505145.117 0, 1547959.622 505177.36 0, 1548261.214 505209.621 0, 1548562.804 505241.9 0, 1548864.393 505274.196 0, 1549165.979 505306.51 0, 1549467.564 505338.841 0,
+ 1549769.147 505371.191 0, 1550070.727 505403.558 0, 1550372.306 505435.943 0, 1550673.883 505468.346 0, 1550975.458 505500.766 0, 1551277.031 505533.204 0, 1551578.603 505565.66 0, 1551880.172 505598.134 0, 1552180.368 505630.478 0, 1552775.667 500106.764 0,
+ 1553370.92 494583.469 0))
+
+POLYGON ((1566653.339 507210.935 0, 1566353.233 507177.743 0, 1566051.756 507144.417 0, 1565750.278 507111.11 0, 1565448.798 507077.819 0, 1565147.315 507044.547 0, 1564845.831 507011.293 0, 1564544.345 506978.056 0, 1564242.857 506944.837 0, 1563941.367 506911.635 0,
+ 1563639.875 506878.452 0, 1563338.381 506845.286 0, 1563036.885 506812.138 0, 1562735.387 506779.007 0, 1562433.887 506745.895 0, 1562132.385 506712.8 0, 1561830.881 506679.723 0, 1561529.376 506646.663 0, 1561227.868 506613.622 0, 1560926.358 506580.598 0,
+ 1560624.847 506547.592 0, 1560323.333 506514.603 0, 1560021.818 506481.633 0, 1559720.301 506448.68 0, 1559417.412 506415.595 0, 1559117.26 506382.827 0, 1558815.737 506349.928 0, 1558514.212 506317.046 0, 1558212.685 506284.182 0, 1557911.156 506251.335 0,
+ 1557609.625 506218.506 0, 1557308.092 506185.696 0, 1557006.557 506152.902 0, 1556705.021 506120.127 0, 1556403.482 506087.369 0, 1556101.941 506054.629 0, 1555800.399 506021.907 0, 1555498.855 505989.203 0, 1555197.308 505956.516 0, 1554895.76 505923.847 0,
+ 1554594.21 505891.196 0, 1554292.658 505858.562 0, 1553991.104 505825.947 0, 1553689.548 505793.349 0, 1553387.99 505760.769 0, 1553086.43 505728.206 0, 1552784.869 505695.661 0, 1552483.305 505663.135 0, 1552180.368 505630.478 0, 1551585.025 511154.606 0,
+ 1550989.638 516679.147 0, 1551291.921 516711.733 0, 1551592.835 516744.19 0, 1551893.746 516776.664 0, 1552194.655 516809.157 0, 1552495.563 516841.667 0, 1552796.469 516874.194 0, 1553097.372 516906.74 0, 1553398.274 516939.303 0, 1553699.174 516971.883 0,
+ 1554000.072 517004.482 0, 1554300.968 517037.098 0, 1554601.862 517069.732 0, 1554902.755 517102.384 0, 1555203.645 517135.053 0, 1555504.533 517167.74 0, 1555805.42 517200.445 0, 1556106.304 517233.167 0, 1556407.187 517265.907 0, 1556708.067 517298.665 0,
+ 1557008.946 517331.441 0, 1557309.823 517364.234 0, 1557610.698 517397.045 0, 1557911.571 517429.874 0, 1558211.075 517462.571 0, 1558513.311 517495.584 0, 1558814.178 517528.466 0, 1559115.043 517561.366 0, 1559415.907 517594.283 0, 1559716.768 517627.218 0,
+ 1560017.627 517660.171 0, 1560318.485 517693.141 0, 1560619.34 517726.129 0, 1560920.194 517759.135 0, 1561221.046 517792.158 0, 1561521.895 517825.2 0, 1561822.743 517858.259 0, 1562123.589 517891.335 0, 1562424.433 517924.43 0, 1562725.275 517957.542 0,
+ 1563026.115 517990.671 0, 1563326.953 518023.819 0, 1563627.789 518056.984 0, 1563928.623 518090.167 0, 1564229.455 518123.367 0, 1564530.285 518156.586 0, 1564831.113 518189.822 0, 1565131.94 518223.075 0, 1565431.399 518256.196 0, 1566042.391 512733.359 0,
+ 1566653.339 507210.935 0))
+
+POLYGON ((1579868.646 519874.039 0, 1579569.28 519840.073 0, 1579268.548 519805.969 0, 1578967.815 519771.883 0, 1578667.08 519737.815 0, 1578366.343 519703.765 0, 1578065.604 519669.732 0, 1577764.863 519635.717 0, 1577464.12 519601.72 0, 1577163.374 519567.741 0,
+ 1576862.627 519533.779 0, 1576561.878 519499.835 0, 1576261.127 519465.908 0, 1575960.374 519431.999 0, 1575659.619 519398.108 0, 1575358.862 519364.235 0, 1575058.102 519330.379 0, 1574757.341 519296.542 0, 1574456.578 519262.721 0, 1574155.813 519228.919 0,
+ 1573855.046 519195.134 0, 1573554.277 519161.367 0, 1573253.506 519127.617 0, 1572952.733 519093.886 0, 1572650.594 519060.019 0, 1572351.181 519026.475 0, 1572050.402 518992.797 0, 1571749.621 518959.136 0, 1571448.838 518925.493 0, 1571148.053 518891.867 0,
+ 1570847.266 518858.259 0, 1570546.477 518824.669 0, 1570245.686 518791.097 0, 1569944.893 518757.542 0, 1569644.098 518724.005 0, 1569343.302 518690.486 0, 1569042.503 518656.985 0, 1568741.702 518623.501 0, 1568440.899 518590.035 0, 1568140.095 518556.586 0,
+ 1567839.288 518523.155 0, 1567538.479 518489.742 0, 1567237.669 518456.347 0, 1566936.856 518422.969 0, 1566636.042 518389.609 0, 1566335.225 518356.267 0, 1566034.407 518322.943 0, 1565733.586 518289.636 0, 1565431.399 518256.196 0, 1564820.36 523779.441 0,
+ 1564209.277 529303.093 0, 1564510.812 529336.461 0, 1564810.982 529369.695 0, 1565111.15 529402.948 0, 1565411.317 529436.218 0, 1565711.481 529469.506 0, 1566011.643 529502.811 0, 1566311.804 529536.134 0, 1566611.962 529569.475 0, 1566912.119 529602.834 0,
+ 1567212.273 529636.21 0, 1567512.426 529669.604 0, 1567812.577 529703.015 0, 1568112.725 529736.444 0, 1568412.872 529769.891 0, 1568713.017 529803.356 0, 1569013.159 529836.838 0, 1569313.3 529870.338 0, 1569613.439 529903.855 0, 1569913.576 529937.39 0,
+ 1570213.71 529970.943 0, 1570513.843 530004.514 0, 1570813.974 530038.102 0, 1571114.103 530071.707 0, 1571412.869 530105.178 0, 1571714.355 530138.972 0, 1572014.478 530172.631 0, 1572314.599 530206.307 0, 1572614.718 530240.002 0, 1572914.835 530273.713 0,
+ 1573214.95 530307.443 0, 1573515.063 530341.19 0, 1573815.174 530374.955 0, 1574115.283 530408.737 0, 1574415.39 530442.537 0, 1574715.495 530476.355 0, 1575015.598 530510.19 0, 1575315.7 530544.044 0, 1575615.799 530577.914 0, 1575915.896 530611.803 0,
+ 1576215.991 530645.709 0, 1576516.084 530679.633 0, 1576816.175 530713.574 0, 1577116.264 530747.533 0, 1577416.351 530781.51 0, 1577716.437 530815.504 0, 1578016.52 530849.516 0, 1578316.601 530883.546 0, 1578615.32 530917.439 0, 1579242.006 525395.536 0,
+ 1579868.646 519874.039 0))
+
+POLYGON ((1593016.745 532572.479 0, 1592718.12 532537.742 0, 1592418.136 532502.864 0, 1592118.151 532468.005 0, 1591818.163 532433.163 0, 1591518.173 532398.338 0, 1591218.181 532363.532 0, 1590918.187 532328.742 0, 1590618.191 532293.971 0, 1590318.192 532259.217 0,
+ 1590018.192 532224.481 0, 1589718.19 532189.763 0, 1589418.186 532155.062 0, 1589118.179 532120.379 0, 1588818.171 532085.713 0, 1588518.161 532051.065 0, 1588218.148 532016.435 0, 1587918.134 531981.823 0, 1587618.117 531947.228 0, 1587318.099 531912.651 0,
+ 1587018.078 531878.091 0, 1586718.055 531843.549 0, 1586418.031 531809.025 0, 1586118.004 531774.518 0, 1585816.617 531739.873 0, 1585517.945 531705.558 0, 1585217.912 531671.105 0, 1584917.877 531636.669 0, 1584617.84 531602.25 0, 1584317.801 531567.85 0,
+ 1584017.761 531533.467 0, 1583717.718 531499.101 0, 1583417.673 531464.754 0, 1583117.626 531430.424 0, 1582817.577 531396.112 0, 1582517.526 531361.817 0, 1582217.473 531327.54 0, 1581917.418 531293.281 0, 1581617.361 531259.039 0, 1581317.302 531224.815 0,
+ 1581017.241 531190.609 0, 1580717.178 531156.42 0, 1580417.113 531122.249 0, 1580117.046 531088.095 0, 1579816.976 531053.96 0, 1579516.905 531019.842 0, 1579216.832 530985.741 0, 1578916.757 530951.659 0, 1578615.32 530917.439 0, 1577988.589 536439.745 0,
+ 1577361.812 541962.451 0, 1577662.595 541996.596 0, 1577962.02 542030.605 0, 1578261.444 542064.631 0, 1578560.865 542098.675 0, 1578860.284 542132.737 0, 1579159.701 542166.816 0, 1579459.116 542200.913 0, 1579758.529 542235.028 0, 1580057.94 542269.16 0,
+ 1580357.349 542303.31 0, 1580656.756 542337.478 0, 1580956.161 542371.663 0, 1581255.564 542405.866 0, 1581554.965 542440.086 0, 1581854.363 542474.324 0, 1582153.76 542508.579 0, 1582453.155 542542.853 0, 1582752.548 542577.144 0, 1583051.939 542611.452 0,
+ 1583351.328 542645.778 0, 1583650.715 542680.122 0, 1583950.099 542714.483 0, 1584249.482 542748.862 0, 1584547.508 542783.103 0, 1584848.242 542817.673 0, 1585147.618 542852.105 0, 1585446.993 542886.554 0, 1585746.366 542921.021 0, 1586045.736 542955.506 0,
+ 1586345.105 542990.008 0, 1586644.472 543024.528 0, 1586943.836 543059.066 0, 1587243.199 543093.621 0, 1587542.559 543128.194 0, 1587841.917 543162.784 0, 1588141.274 543197.392 0, 1588440.628 543232.018 0, 1588739.98 543266.661 0, 1589039.331 543301.322 0,
+ 1589338.679 543336 0, 1589638.025 543370.696 0, 1589937.369 543405.41 0, 1590236.711 543440.141 0, 1590536.051 543474.89 0, 1590835.389 543509.657 0, 1591134.725 543544.441 0, 1591434.059 543579.243 0, 1591732.037 543613.905 0, 1592374.414 538092.992 0,
+ 1593016.745 532572.479 0))
+
+POLYGON ((1606097.54 545305.951 0, 1605799.659 545270.447 0, 1605500.424 545234.8 0, 1605201.188 545199.17 0, 1604901.949 545163.558 0, 1604602.708 545127.963 0, 1604303.466 545092.387 0, 1604004.221 545056.827 0, 1603704.974 545021.286 0, 1603405.725 544985.762 0,
+ 1603106.474 544950.255 0, 1602807.22 544914.766 0, 1602507.965 544879.295 0, 1602208.708 544843.841 0, 1601909.448 544808.405 0, 1601610.187 544772.987 0, 1601310.923 544737.586 0, 1601011.657 544702.203 0, 1600712.389 544666.838 0, 1600413.119 544631.49 0,
+ 1600113.847 544596.159 0, 1599814.573 544560.847 0, 1599515.297 544525.552 0, 1599216.019 544490.274 0, 1598915.386 544454.855 0, 1598617.456 544419.772 0, 1598318.172 544384.547 0, 1598018.885 544349.34 0, 1597719.597 544314.151 0, 1597420.306 544278.979 0,
+ 1597121.013 544243.825 0, 1596821.718 544208.688 0, 1596522.422 544173.569 0, 1596223.123 544138.468 0, 1595923.822 544103.384 0, 1595624.518 544068.318 0, 1595325.213 544033.27 0, 1595025.906 543998.239 0, 1594726.597 543963.226 0, 1594427.286 543928.23 0,
+ 1594127.972 543893.252 0, 1593828.657 543858.292 0, 1593529.339 543823.349 0, 1593230.02 543788.424 0, 1592930.698 543753.516 0, 1592631.374 543718.626 0, 1592332.049 543683.754 0, 1592032.721 543648.899 0, 1591732.037 543613.905 0, 1591089.614 549135.214 0,
+ 1590447.145 554656.917 0, 1590747.176 554691.836 0, 1591045.853 554726.615 0, 1591344.529 554761.411 0, 1591643.203 554796.225 0, 1591941.875 554831.057 0, 1592240.544 554865.906 0, 1592539.212 554900.773 0, 1592837.877 554935.658 0, 1593136.541 554970.56 0,
+ 1593435.202 555005.479 0, 1593733.861 555040.417 0, 1594032.519 555075.371 0, 1594331.174 555110.344 0, 1594629.827 555145.334 0, 1594928.478 555180.341 0, 1595227.127 555215.366 0, 1595525.774 555250.409 0, 1595824.419 555285.469 0, 1596123.062 555320.547 0,
+ 1596421.703 555355.643 0, 1596720.342 555390.756 0, 1597018.978 555425.886 0, 1597317.613 555461.034 0, 1597614.896 555496.041 0, 1597914.876 555531.383 0, 1598213.504 555566.584 0, 1598512.13 555601.803 0, 1598810.755 555637.039 0, 1599109.377 555672.292 0,
+ 1599407.997 555707.563 0, 1599706.615 555742.852 0, 1600005.231 555778.158 0, 1600303.845 555813.482 0, 1600602.456 555848.824 0, 1600901.066 555884.183 0, 1601199.674 555919.559 0, 1601498.279 555954.954 0, 1601796.883 555990.365 0, 1602095.484 556025.795 0,
+ 1602394.083 556061.242 0, 1602692.68 556096.706 0, 1602991.276 556132.188 0, 1603289.869 556167.688 0, 1603588.459 556203.205 0, 1603887.048 556238.74 0, 1604185.635 556274.292 0, 1604484.22 556309.862 0, 1604781.454 556345.289 0, 1605439.52 550825.423 0,
+ 1606097.54 545305.951 0))
+
+POLYGON ((1619110.936 558074.152 0, 1618813.801 558037.885 0, 1618515.318 558001.472 0, 1618216.833 557965.076 0, 1617918.345 557928.697 0, 1617619.856 557892.337 0, 1617321.364 557855.994 0, 1617022.871 557819.668 0, 1616724.375 557783.36 0, 1616425.877 557747.07 0,
+ 1616127.377 557710.797 0, 1615828.875 557674.542 0, 1615530.37 557638.304 0, 1615231.864 557602.084 0, 1614933.355 557565.881 0, 1614634.845 557529.697 0, 1614336.332 557493.529 0, 1614037.817 557457.379 0, 1613739.3 557421.247 0, 1613440.78 557385.132 0,
+ 1613142.259 557349.035 0, 1612843.736 557312.956 0, 1612545.21 557276.894 0, 1612246.682 557240.849 0, 1611946.805 557204.66 0, 1611649.62 557168.813 0, 1611351.086 557132.821 0, 1611052.55 557096.847 0, 1610754.012 557060.891 0, 1610455.471 557024.952 0,
+ 1610156.929 556989.03 0, 1609858.384 556953.127 0, 1609559.837 556917.24 0, 1609261.288 556881.372 0, 1608962.737 556845.52 0, 1608664.184 556809.687 0, 1608365.629 556773.871 0, 1608067.072 556738.073 0, 1607768.512 556702.292 0, 1607469.951 556666.528 0,
+ 1607171.387 556630.783 0, 1606872.821 556595.055 0, 1606574.253 556559.344 0, 1606275.683 556523.651 0, 1605977.111 556487.976 0, 1605678.537 556452.318 0, 1605379.961 556416.678 0, 1605081.383 556381.055 0, 1604781.454 556345.289 0, 1604123.341 561865.545 0,
+ 1603465.182 567386.188 0, 1603764.458 567421.876 0, 1604062.387 567457.421 0, 1604360.313 567492.984 0, 1604658.237 567528.564 0, 1604956.159 567564.162 0, 1605254.08 567599.777 0, 1605551.998 567635.41 0, 1605849.914 567671.061 0, 1606147.827 567706.728 0,
+ 1606445.739 567742.414 0, 1606743.649 567778.117 0, 1607041.556 567813.837 0, 1607339.462 567849.575 0, 1607637.365 567885.331 0, 1607935.266 567921.104 0, 1608233.166 567956.895 0, 1608531.063 567992.703 0, 1608828.957 568028.529 0, 1609126.85 568064.372 0,
+ 1609424.741 568100.233 0, 1609722.629 568136.111 0, 1610020.516 568172.007 0, 1610318.4 568207.92 0, 1610614.939 568243.689 0, 1610914.163 568279.799 0, 1611212.041 568315.765 0, 1611509.917 568351.749 0, 1611807.79 568387.75 0, 1612105.662 568423.768 0,
+ 1612403.532 568459.804 0, 1612701.399 568495.858 0, 1612999.264 568531.929 0, 1613297.127 568568.018 0, 1613594.988 568604.124 0, 1613892.847 568640.248 0, 1614190.704 568676.389 0, 1614488.559 568712.548 0, 1614786.411 568748.724 0, 1615084.262 568784.918 0,
+ 1615382.11 568821.13 0, 1615679.956 568857.359 0, 1615977.8 568893.605 0, 1616275.642 568929.869 0, 1616573.482 568966.15 0, 1616871.319 569002.45 0, 1617169.155 569038.766 0, 1617466.988 569075.1 0, 1617763.477 569111.288 0, 1618437.23 563592.526 0,
+ 1619110.936 558074.152 0))
+
+POLYGON ((1632056.84 570876.776 0, 1631760.453 570839.751 0, 1631462.724 570802.575 0, 1631164.992 570765.417 0, 1630867.258 570728.277 0, 1630569.522 570691.154 0, 1630271.784 570654.049 0, 1629974.043 570616.961 0, 1629676.301 570579.891 0, 1629378.556 570542.838 0,
+ 1629080.809 570505.803 0, 1628783.06 570468.785 0, 1628485.309 570431.785 0, 1628187.555 570394.802 0, 1627889.799 570357.837 0, 1627592.042 570320.89 0, 1627294.282 570283.96 0, 1626996.519 570247.047 0, 1626698.755 570210.152 0, 1626400.989 570173.275 0,
+ 1626103.22 570136.415 0, 1625805.449 570099.572 0, 1625507.676 570062.747 0, 1625209.901 570025.94 0, 1624910.782 569988.984 0, 1624614.344 569952.378 0, 1624316.562 569915.623 0, 1624018.778 569878.886 0, 1623720.992 569842.166 0, 1623423.204 569805.464 0,
+ 1623125.414 569768.779 0, 1622827.621 569732.112 0, 1622529.826 569695.462 0, 1622232.03 569658.83 0, 1621934.231 569622.215 0, 1621636.43 569585.618 0, 1621338.626 569549.039 0, 1621040.821 569512.477 0, 1620743.013 569475.932 0, 1620445.204 569439.406 0,
+ 1620147.392 569402.896 0, 1619849.578 569366.404 0, 1619551.761 569329.93 0, 1619253.943 569293.473 0, 1618956.123 569257.034 0, 1618658.3 569220.612 0, 1618360.475 569184.208 0, 1618062.648 569147.821 0, 1617763.477 569111.288 0, 1617089.677 574630.434 0,
+ 1616415.83 580149.96 0, 1616714.349 580186.414 0, 1617011.526 580222.721 0, 1617308.701 580259.046 0, 1617605.874 580295.388 0, 1617903.045 580331.748 0, 1618200.214 580368.125 0, 1618497.38 580404.52 0, 1618794.544 580440.932 0, 1619091.707 580477.362 0,
+ 1619388.867 580513.809 0, 1619686.025 580550.274 0, 1619983.18 580586.756 0, 1620280.334 580623.256 0, 1620577.486 580659.773 0, 1620874.635 580696.308 0, 1621171.782 580732.86 0, 1621468.927 580769.43 0, 1621766.07 580806.017 0, 1622063.211 580842.622 0,
+ 1622360.349 580879.244 0, 1622657.486 580915.883 0, 1622954.62 580952.541 0, 1623251.752 580989.215 0, 1623547.544 581025.742 0, 1623846.01 581062.617 0, 1624143.135 581099.344 0, 1624440.259 581136.089 0, 1624737.38 581172.851 0, 1625034.499 581209.63 0,
+ 1625331.616 581246.427 0, 1625628.731 581283.242 0, 1625925.844 581320.074 0, 1626222.954 581356.923 0, 1626520.062 581393.79 0, 1626817.168 581430.675 0, 1627114.272 581467.577 0, 1627411.374 581504.496 0, 1627708.474 581541.433 0, 1628005.571 581578.387 0,
+ 1628302.666 581615.359 0, 1628599.759 581652.349 0, 1628896.85 581689.356 0, 1629193.939 581726.38 0, 1629491.026 581763.422 0, 1629788.11 581800.481 0, 1630085.192 581837.558 0, 1630382.272 581874.652 0, 1630678.013 581911.597 0, 1631367.45 576393.996 0,
+ 1632056.84 570876.776 0))
+
+POLYGON ((1644935.162 583713.52 0, 1644639.524 583675.739 0, 1644342.55 583637.806 0, 1644045.574 583599.89 0, 1643748.596 583561.992 0, 1643451.615 583524.11 0, 1643154.632 583486.247 0, 1642857.647 583448.401 0, 1642560.66 583410.572 0, 1642263.67 583372.761 0,
+ 1641966.678 583334.968 0, 1641669.684 583297.191 0, 1641372.688 583259.433 0, 1641075.689 583221.692 0, 1640778.689 583183.968 0, 1640481.686 583146.262 0, 1640184.68 583108.573 0, 1639887.673 583070.902 0, 1639590.664 583033.248 0, 1639293.652 582995.612 0,
+ 1638996.638 582957.993 0, 1638699.621 582920.391 0, 1638402.603 582882.808 0, 1638105.582 582845.241 0, 1637807.224 582807.524 0, 1637511.534 582770.161 0, 1637214.507 582732.647 0, 1636917.478 582695.151 0, 1636620.446 582657.672 0, 1636323.412 582620.21 0,
+ 1636026.376 582582.766 0, 1635729.337 582545.34 0, 1635432.297 582507.931 0, 1635135.254 582470.539 0, 1634838.209 582433.165 0, 1634541.162 582395.808 0, 1634244.113 582358.469 0, 1633947.061 582321.148 0, 1633650.008 582283.844 0, 1633352.952 582246.557 0,
+ 1633055.894 582209.288 0, 1632758.833 582172.036 0, 1632461.771 582134.802 0, 1632164.706 582097.585 0, 1631867.639 582060.386 0, 1631570.57 582023.204 0, 1631273.499 581986.04 0, 1630976.426 581948.893 0, 1630678.013 581911.597 0, 1629988.528 587429.576 0,
+ 1629298.997 592947.929 0, 1629596.757 592985.143 0, 1629893.181 593022.209 0, 1630189.602 593059.292 0, 1630486.022 593096.392 0, 1630782.439 593133.51 0, 1631078.854 593170.646 0, 1631375.267 593207.798 0, 1631671.678 593244.969 0, 1631968.086 593282.156 0,
+ 1632264.493 593319.361 0, 1632560.897 593356.584 0, 1632857.299 593393.824 0, 1633153.699 593431.081 0, 1633450.096 593468.356 0, 1633746.492 593505.649 0, 1634042.885 593542.958 0, 1634339.276 593580.286 0, 1634635.665 593617.63 0, 1634932.052 593654.992 0,
+ 1635228.436 593692.372 0, 1635524.818 593729.769 0, 1635821.198 593767.183 0, 1636117.576 593804.615 0, 1636412.619 593841.896 0, 1636710.325 593879.531 0, 1637006.696 593917.016 0, 1637303.065 593954.517 0, 1637599.432 593992.036 0, 1637895.797 594029.573 0,
+ 1638192.159 594067.127 0, 1638488.519 594104.698 0, 1638784.877 594142.287 0, 1639081.233 594179.894 0, 1639377.587 594217.517 0, 1639673.938 594255.159 0, 1639970.287 594292.817 0, 1640266.634 594330.493 0, 1640562.978 594368.187 0, 1640859.321 594405.898 0,
+ 1641155.661 594443.626 0, 1641451.999 594481.372 0, 1641748.335 594519.135 0, 1642044.669 594556.916 0, 1642341 594594.714 0, 1642637.329 594632.53 0, 1642933.656 594670.363 0, 1643229.98 594708.214 0, 1643524.972 594745.911 0, 1644230.091 589229.528 0,
+ 1644935.162 583713.52 0))
+
+POLYGON ((1657745.81 596584.078 0, 1657450.924 596545.547 0, 1657154.708 596506.859 0, 1656858.489 596468.189 0, 1656562.268 596429.536 0, 1656266.045 596390.901 0, 1655969.819 596352.283 0, 1655673.591 596313.683 0, 1655377.361 596275.1 0, 1655081.128 596236.535 0,
+ 1654784.894 596197.987 0, 1654488.657 596159.456 0, 1654192.418 596120.943 0, 1653896.176 596082.447 0, 1653599.932 596043.969 0, 1653303.686 596005.508 0, 1653007.438 595967.064 0, 1652711.187 595928.638 0, 1652414.934 595890.23 0, 1652118.679 595851.839 0,
+ 1651822.422 595813.465 0, 1651526.162 595775.109 0, 1651229.9 595736.77 0, 1650933.636 595698.449 0, 1650636.04 595659.973 0, 1650341.101 595621.858 0, 1650044.83 595583.589 0, 1649748.557 595545.337 0, 1649452.282 595507.103 0, 1649156.004 595468.886 0,
+ 1648859.724 595430.687 0, 1648563.442 595392.505 0, 1648267.158 595354.341 0, 1647970.871 595316.194 0, 1647674.582 595278.064 0, 1647378.291 595239.952 0, 1647081.998 595201.857 0, 1646785.702 595163.78 0, 1646489.404 595125.72 0, 1646193.104 595087.678 0,
+ 1645896.802 595049.653 0, 1645600.497 595011.646 0, 1645304.191 594973.656 0, 1645007.882 594935.683 0, 1644711.57 594897.728 0, 1644415.257 594859.79 0, 1644118.941 594821.87 0, 1643822.623 594783.967 0, 1643524.972 594745.911 0, 1642819.805 600262.666 0,
+ 1642114.591 605779.788 0, 1642411.59 605817.76 0, 1642707.259 605855.58 0, 1643002.925 605893.417 0, 1643298.589 605931.272 0, 1643594.251 605969.144 0, 1643889.911 606007.033 0, 1644185.568 606044.94 0, 1644481.223 606082.864 0, 1644776.876 606120.806 0,
+ 1645072.527 606158.765 0, 1645368.176 606196.741 0, 1645663.822 606234.735 0, 1645959.466 606272.746 0, 1646255.108 606310.775 0, 1646550.747 606348.821 0, 1646846.384 606386.884 0, 1647142.019 606424.965 0, 1647437.652 606463.063 0, 1647733.283 606501.179 0,
+ 1648028.911 606539.312 0, 1648324.537 606577.462 0, 1648620.161 606615.63 0, 1648915.783 606653.815 0, 1649210.075 606691.846 0, 1649507.019 606730.238 0, 1649802.634 606768.475 0, 1650098.246 606806.73 0, 1650393.857 606845.002 0, 1650689.465 606883.292 0,
+ 1650985.07 606921.598 0, 1651280.674 606959.923 0, 1651576.275 606998.265 0, 1651871.874 607036.624 0, 1652167.471 607075 0, 1652463.066 607113.394 0, 1652758.658 607151.806 0, 1653054.248 607190.235 0, 1653349.836 607228.681 0, 1653645.421 607267.144 0,
+ 1653941.004 607305.625 0, 1654236.585 607344.124 0, 1654532.164 607382.639 0, 1654827.74 607421.173 0, 1655123.315 607459.723 0, 1655418.886 607498.291 0, 1655714.456 607536.876 0, 1656010.023 607575.479 0, 1656304.263 607613.926 0, 1657025.061 602098.818 0,
+ 1657745.81 596584.078 0))
+
+POLYGON ((1670488.696 609488.145 0, 1670194.564 609448.867 0, 1669899.107 609409.429 0, 1669603.648 609370.009 0, 1669308.186 609330.606 0, 1669012.722 609291.221 0, 1668717.255 609251.853 0, 1668421.787 609212.502 0, 1668126.316 609173.169 0, 1667830.842 609133.853 0,
+ 1667535.367 609094.554 0, 1667239.889 609055.273 0, 1666944.409 609016.009 0, 1666648.926 608976.763 0, 1666353.441 608937.534 0, 1666057.954 608898.323 0, 1665762.464 608859.128 0, 1665466.973 608819.952 0, 1665171.479 608780.792 0, 1664875.982 608741.65 0,
+ 1664580.483 608702.526 0, 1664284.982 608663.419 0, 1663989.479 608624.329 0, 1663693.973 608585.256 0, 1663397.141 608546.026 0, 1663102.955 608507.164 0, 1662807.443 608468.144 0, 1662511.928 608429.141 0, 1662216.411 608390.155 0, 1661920.892 608351.187 0,
+ 1661625.37 608312.237 0, 1661329.846 608273.303 0, 1661034.32 608234.387 0, 1660738.791 608195.489 0, 1660443.26 608156.608 0, 1660147.727 608117.744 0, 1659852.192 608078.898 0, 1659556.654 608040.069 0, 1659261.114 608001.258 0, 1658965.572 607962.463 0,
+ 1658670.027 607923.687 0, 1658374.48 607884.927 0, 1658078.931 607846.186 0, 1657783.38 607807.461 0, 1657487.826 607768.754 0, 1657192.27 607730.064 0, 1656896.712 607691.392 0, 1656601.151 607652.737 0, 1656304.263 607613.926 0, 1655583.417 613129.399 0,
+ 1654862.525 618645.234 0, 1655158.761 618683.959 0, 1655453.672 618722.529 0, 1655748.581 618761.116 0, 1656043.488 618799.721 0, 1656338.392 618838.343 0, 1656633.294 618876.983 0, 1656928.194 618915.64 0, 1657223.092 618954.314 0, 1657517.987 618993.005 0,
+ 1657812.88 619031.714 0, 1658107.771 619070.44 0, 1658402.66 619109.184 0, 1658697.546 619147.945 0, 1658992.43 619186.723 0, 1659287.311 619225.519 0, 1659582.191 619264.332 0, 1659877.068 619303.162 0, 1660171.943 619342.01 0, 1660466.815 619380.875 0,
+ 1660761.685 619419.758 0, 1661056.553 619458.657 0, 1661351.419 619497.574 0, 1661646.282 619536.509 0, 1661939.822 619575.286 0, 1662236.002 619614.43 0, 1662530.858 619653.417 0, 1662825.713 619692.421 0, 1663120.565 619731.442 0, 1663415.414 619770.481 0,
+ 1663710.261 619809.536 0, 1664005.106 619848.61 0, 1664299.949 619887.701 0, 1664594.789 619926.809 0, 1664889.627 619965.934 0, 1665184.463 620005.077 0, 1665479.297 620044.237 0, 1665774.128 620083.414 0, 1666068.957 620122.609 0, 1666363.783 620161.821 0,
+ 1666658.607 620201.051 0, 1666953.429 620240.298 0, 1667248.249 620279.562 0, 1667543.066 620318.844 0, 1667837.881 620358.142 0, 1668132.694 620397.459 0, 1668427.504 620436.792 0, 1668722.312 620476.143 0, 1669015.798 620515.335 0, 1669752.271 615001.56 0,
+ 1670488.696 609488.145 0))
+
+POLYGON ((1683163.732 622425.415 0, 1682870.356 622385.394 0, 1682575.66 622345.21 0, 1682280.962 622305.044 0, 1681986.261 622264.895 0, 1681691.559 622224.763 0, 1681396.853 622184.649 0, 1681102.146 622144.552 0, 1680807.436 622104.472 0, 1680512.724 622064.41 0,
+ 1680218.009 622024.365 0, 1679923.292 621984.337 0, 1679628.573 621944.327 0, 1679333.851 621904.334 0, 1679039.127 621864.359 0, 1678744.401 621824.4 0, 1678449.672 621784.46 0, 1678154.941 621744.536 0, 1677860.208 621704.63 0, 1677565.472 621664.741 0,
+ 1677270.734 621624.87 0, 1676975.994 621585.015 0, 1676681.251 621545.179 0, 1676386.506 621505.359 0, 1676090.44 621465.379 0, 1675797.008 621425.772 0, 1675502.256 621386.005 0, 1675207.502 621346.255 0, 1674912.745 621306.522 0, 1674617.986 621266.807 0,
+ 1674323.224 621227.109 0, 1674028.46 621187.428 0, 1673733.694 621147.765 0, 1673438.925 621108.119 0, 1673144.155 621068.49 0, 1672849.381 621028.879 0, 1672554.606 620989.285 0, 1672259.828 620949.709 0, 1671965.048 620910.149 0, 1671670.265 620870.608 0,
+ 1671375.481 620831.083 0, 1671080.693 620791.576 0, 1670785.904 620752.086 0, 1670491.112 620712.614 0, 1670196.318 620673.159 0, 1669901.521 620633.721 0, 1669606.723 620594.3 0, 1669311.922 620554.897 0, 1669015.798 620515.335 0, 1668279.277 626029.47 0,
+ 1667542.709 631543.959 0, 1667838.18 631583.434 0, 1668132.332 631622.75 0, 1668426.482 631662.084 0, 1668720.629 631701.435 0, 1669014.774 631740.803 0, 1669308.917 631780.189 0, 1669603.057 631819.592 0, 1669897.196 631859.012 0, 1670191.331 631898.449 0,
+ 1670485.465 631937.904 0, 1670779.596 631977.376 0, 1671073.725 632016.865 0, 1671367.851 632056.372 0, 1671661.975 632095.896 0, 1671956.097 632135.438 0, 1672250.217 632174.996 0, 1672544.334 632214.572 0, 1672838.448 632254.166 0, 1673132.561 632293.776 0,
+ 1673426.671 632333.404 0, 1673720.779 632373.049 0, 1674014.884 632412.712 0, 1674308.988 632452.392 0, 1674601.773 632491.911 0, 1674897.187 632531.803 0, 1675191.283 632571.535 0, 1675485.377 632611.284 0, 1675779.468 632651.05 0, 1676073.558 632690.834 0,
+ 1676367.644 632730.635 0, 1676661.729 632770.453 0, 1676955.811 632810.289 0, 1677249.891 632850.142 0, 1677543.968 632890.012 0, 1677838.043 632929.9 0, 1678132.116 632969.805 0, 1678426.186 633009.727 0, 1678720.254 633049.666 0, 1679014.32 633089.623 0,
+ 1679308.383 633129.597 0, 1679602.444 633169.588 0, 1679896.503 633209.597 0, 1680190.559 633249.623 0, 1680484.613 633289.666 0, 1680778.664 633329.727 0, 1681072.714 633369.805 0, 1681366.76 633409.9 0, 1681659.491 633449.833 0, 1682411.635 627937.447 0,
+ 1683163.732 622425.415 0))
+
+POLYGON ((1695770.831 635395.583 0, 1695478.213 635354.822 0, 1695184.281 635313.896 0, 1694890.346 635272.988 0, 1694596.409 635232.097 0, 1694302.469 635191.223 0, 1694008.527 635150.366 0, 1693714.583 635109.527 0, 1693420.636 635068.705 0, 1693126.687 635027.9 0,
+ 1692832.735 634987.113 0, 1692538.781 634946.343 0, 1692244.825 634905.59 0, 1691950.866 634864.854 0, 1691656.905 634824.136 0, 1691362.941 634783.435 0, 1691068.975 634742.752 0, 1690775.007 634702.085 0, 1690481.036 634661.436 0, 1690187.063 634620.805 0,
+ 1689893.087 634580.19 0, 1689599.109 634539.593 0, 1689305.129 634499.013 0, 1689011.146 634458.451 0, 1688715.848 634417.725 0, 1688423.173 634377.378 0, 1688129.184 634336.867 0, 1687835.191 634296.374 0, 1687541.197 634255.898 0, 1687247.2 634215.439 0,
+ 1686953.2 634174.998 0, 1686659.198 634134.574 0, 1686365.194 634094.167 0, 1686071.188 634053.778 0, 1685777.179 634013.406 0, 1685483.167 633973.051 0, 1685189.154 633932.713 0, 1684895.138 633892.393 0, 1684601.119 633852.09 0, 1684307.099 633811.805 0,
+ 1684013.075 633771.536 0, 1683719.05 633731.285 0, 1683425.022 633691.052 0, 1683130.992 633650.835 0, 1682836.959 633610.636 0, 1682542.924 633570.454 0, 1682248.887 633530.29 0, 1681954.847 633490.143 0, 1681659.491 633449.833 0, 1680907.298 638962.572 0,
+ 1680155.057 644475.659 0, 1680449.762 644515.879 0, 1680743.153 644555.938 0, 1681036.541 644596.014 0, 1681329.927 644636.107 0, 1681623.311 644676.217 0, 1681916.692 644716.345 0, 1682210.071 644756.49 0, 1682503.448 644796.652 0, 1682796.822 644836.831 0,
+ 1683090.194 644877.028 0, 1683383.563 644917.242 0, 1683676.93 644957.473 0, 1683970.295 644997.722 0, 1684263.658 645037.988 0, 1684557.018 645078.271 0, 1684850.375 645118.571 0, 1685143.731 645158.888 0, 1685437.084 645199.223 0, 1685730.434 645239.575 0,
+ 1686023.782 645279.945 0, 1686317.128 645320.331 0, 1686610.472 645360.735 0, 1686903.813 645401.156 0, 1687195.841 645441.414 0, 1687490.488 645482.051 0, 1687783.821 645522.524 0, 1688077.153 645563.014 0, 1688370.482 645603.521 0, 1688663.809 645644.046 0,
+ 1688957.133 645684.588 0, 1689250.455 645725.147 0, 1689543.775 645765.724 0, 1689837.092 645806.318 0, 1690130.407 645846.929 0, 1690423.719 645887.557 0, 1690717.029 645928.203 0, 1691010.337 645968.865 0, 1691303.642 646009.546 0, 1691596.945 646050.243 0,
+ 1691890.245 646090.958 0, 1692183.544 646131.69 0, 1692476.839 646172.439 0, 1692770.132 646213.205 0, 1693063.423 646253.989 0, 1693356.712 646294.79 0, 1693649.998 646335.608 0, 1693943.281 646376.444 0, 1694235.254 646417.114 0, 1695003.067 640906.174 0,
+ 1695770.831 635395.583 0))
+
+POLYGON ((1708309.91 648398.34 0, 1708018.051 648356.845 0, 1707724.884 648315.181 0, 1707431.714 648273.534 0, 1707138.542 648231.905 0, 1706845.368 648190.293 0, 1706552.191 648148.698 0, 1706259.012 648107.12 0, 1705965.83 648065.56 0, 1705672.645 648024.017 0,
+ 1705379.459 647982.491 0, 1705086.27 647940.982 0, 1704793.078 647899.491 0, 1704499.884 647858.017 0, 1704206.688 647816.56 0, 1703913.489 647775.12 0, 1703620.287 647733.698 0, 1703327.083 647692.293 0, 1703033.877 647650.905 0, 1702740.669 647609.535 0,
+ 1702447.458 647568.181 0, 1702154.244 647526.845 0, 1701861.028 647485.526 0, 1701567.81 647444.225 0, 1701273.282 647402.757 0, 1700981.366 647361.674 0, 1700688.14 647320.424 0, 1700394.912 647279.191 0, 1700101.681 647237.976 0, 1699808.448 647196.778 0,
+ 1699515.213 647155.598 0, 1699221.975 647114.434 0, 1698928.735 647073.288 0, 1698635.492 647032.159 0, 1698342.247 646991.047 0, 1698049 646949.953 0, 1697755.75 646908.876 0, 1697462.497 646867.816 0, 1697169.243 646826.773 0, 1696875.986 646785.748 0,
+ 1696582.726 646744.74 0, 1696289.464 646703.749 0, 1695996.2 646662.775 0, 1695702.933 646621.819 0, 1695409.664 646580.88 0, 1695116.392 646539.958 0, 1694823.118 646499.054 0, 1694529.842 646458.166 0, 1694235.254 646417.114 0, 1693467.393 651928.399 0,
+ 1692699.484 657440.027 0, 1692993.42 657480.989 0, 1693286.048 657521.785 0, 1693578.673 657562.599 0, 1693871.296 657603.431 0, 1694163.916 657644.279 0, 1694456.534 657685.145 0, 1694749.15 657726.028 0, 1695041.763 657766.928 0, 1695334.374 657807.845 0,
+ 1695626.983 657848.78 0, 1695919.589 657889.732 0, 1696212.192 657930.701 0, 1696504.793 657971.687 0, 1696797.392 658012.691 0, 1697089.988 658053.711 0, 1697382.582 658094.749 0, 1697675.174 658135.804 0, 1697967.763 658176.877 0, 1698260.35 658217.966 0,
+ 1698552.934 658259.073 0, 1698845.516 658300.197 0, 1699138.095 658341.339 0, 1699430.672 658382.497 0, 1699721.942 658423.489 0, 1700015.819 658464.866 0, 1700308.389 658506.076 0, 1700600.956 658547.303 0, 1700893.521 658588.548 0, 1701186.083 658629.81 0,
+ 1701478.643 658671.089 0, 1701771.201 658712.385 0, 1702063.756 658753.698 0, 1702356.309 658795.029 0, 1702648.859 658836.377 0, 1702941.407 658877.742 0, 1703233.953 658919.124 0, 1703526.496 658960.524 0, 1703819.036 659001.941 0, 1704111.574 659043.375 0,
+ 1704404.11 659084.826 0, 1704696.643 659126.294 0, 1704989.174 659167.78 0, 1705281.702 659209.283 0, 1705574.228 659250.803 0, 1705866.752 659292.34 0, 1706159.273 659333.895 0, 1706451.791 659375.467 0, 1706743.004 659416.87 0, 1707526.481 653907.434 0,
+ 1708309.91 648398.34 0))
+
+POLYGON ((1720780.884 661433.381 0, 1720489.786 661391.155 0, 1720197.386 661348.757 0, 1719904.984 661306.376 0, 1719612.579 661264.012 0, 1719320.171 661221.666 0, 1719027.762 661179.337 0, 1718735.349 661137.025 0, 1718442.934 661094.73 0, 1718150.517 661052.453 0,
+ 1717858.097 661010.192 0, 1717565.674 660967.949 0, 1717273.25 660925.723 0, 1716980.822 660883.515 0, 1716688.392 660841.323 0, 1716395.96 660799.149 0, 1716103.525 660756.992 0, 1715811.088 660714.852 0, 1715518.648 660672.73 0, 1715226.206 660630.624 0,
+ 1714933.761 660588.536 0, 1714641.314 660546.465 0, 1714348.864 660504.411 0, 1714056.412 660462.375 0, 1713762.656 660420.168 0, 1713471.501 660378.353 0, 1713179.041 660336.368 0, 1712886.579 660294.401 0, 1712594.115 660252.45 0, 1712301.648 660210.517 0,
+ 1712009.178 660168.601 0, 1711716.706 660126.702 0, 1711424.232 660084.82 0, 1711131.755 660042.956 0, 1710839.276 660001.109 0, 1710546.794 659959.279 0, 1710254.31 659917.466 0, 1709961.823 659875.67 0, 1709669.334 659833.892 0, 1709376.842 659792.131 0,
+ 1709084.348 659750.387 0, 1708791.852 659708.66 0, 1708499.353 659666.951 0, 1708206.851 659625.259 0, 1707914.347 659583.584 0, 1707621.841 659541.926 0, 1707329.332 659500.285 0, 1707036.821 659458.662 0, 1706743.004 659416.87 0, 1705959.479 664926.645 0,
+ 1705175.906 670436.756 0, 1705469.072 670478.455 0, 1705760.934 670519.986 0, 1706052.794 670561.534 0, 1706344.652 670603.099 0, 1706636.507 670644.682 0, 1706928.36 670686.282 0, 1707220.211 670727.899 0, 1707512.059 670769.533 0, 1707803.904 670811.184 0,
+ 1708095.747 670852.853 0, 1708387.588 670894.539 0, 1708679.426 670936.241 0, 1708971.262 670977.961 0, 1709263.095 671019.699 0, 1709554.926 671061.453 0, 1709846.754 671103.225 0, 1710138.58 671145.013 0, 1710430.403 671186.819 0, 1710722.224 671228.642 0,
+ 1711014.042 671270.483 0, 1711305.858 671312.34 0, 1711597.672 671354.215 0, 1711889.483 671396.107 0, 1712179.993 671437.829 0, 1712473.098 671479.942 0, 1712764.902 671521.885 0, 1713056.703 671563.846 0, 1713348.501 671605.823 0, 1713640.298 671647.818 0,
+ 1713932.092 671689.83 0, 1714223.883 671731.859 0, 1714515.672 671773.906 0, 1714807.458 671815.969 0, 1715099.242 671858.05 0, 1715391.023 671900.148 0, 1715682.802 671942.263 0, 1715974.579 671984.395 0, 1716266.353 672026.545 0, 1716558.124 672068.711 0,
+ 1716849.893 672110.895 0, 1717141.66 672153.096 0, 1717433.424 672195.314 0, 1717725.185 672237.55 0, 1718016.944 672279.802 0, 1718308.701 672322.072 0, 1718600.455 672364.358 0, 1718892.207 672406.662 0, 1719182.659 672448.795 0, 1719981.795 666940.921 0,
+ 1720780.884 661433.381 0))
+
+POLYGON ((1733183.67 674500.399 0, 1732893.337 674457.445 0, 1732601.706 674414.317 0, 1732310.072 674371.206 0, 1732018.436 674328.112 0, 1731726.798 674285.036 0, 1731435.157 674241.976 0, 1731143.513 674198.934 0, 1730851.867 674155.909 0, 1730560.218 674112.901 0,
+ 1730268.567 674069.91 0, 1729976.913 674026.937 0, 1729685.257 673983.98 0, 1729393.598 673941.041 0, 1729101.937 673898.119 0, 1728810.273 673855.214 0, 1728518.607 673812.326 0, 1728226.938 673769.456 0, 1727935.266 673726.602 0, 1727643.592 673683.766 0,
+ 1727351.916 673640.947 0, 1727060.237 673598.145 0, 1726768.555 673555.36 0, 1726476.871 673512.593 0, 1726183.889 673469.653 0, 1725893.496 673427.109 0, 1725601.804 673384.393 0, 1725310.11 673341.694 0, 1725018.414 673299.013 0, 1724726.715 673256.348 0,
+ 1724435.013 673213.701 0, 1724143.309 673171.07 0, 1723851.602 673128.457 0, 1723559.893 673085.861 0, 1723268.181 673043.283 0, 1722976.467 673000.721 0, 1722684.751 672958.177 0, 1722393.032 672915.65 0, 1722101.31 672873.14 0, 1721809.586 672830.647 0,
+ 1721517.859 672788.171 0, 1721226.13 672745.712 0, 1720934.398 672703.271 0, 1720642.664 672660.847 0, 1720350.927 672618.44 0, 1720059.188 672576.05 0, 1719767.447 672533.677 0, 1719475.702 672491.322 0, 1719182.659 672448.795 0, 1718383.474 677957.002 0,
+ 1717584.241 683465.538 0, 1717876.633 683507.97 0, 1718167.729 683550.232 0, 1718458.822 683592.51 0, 1718749.913 683634.806 0, 1719041.001 683677.119 0, 1719332.087 683719.449 0, 1719623.17 683761.796 0, 1719914.251 683804.16 0, 1720205.329 683846.541 0,
+ 1720496.405 683888.939 0, 1720787.479 683931.355 0, 1721078.549 683973.788 0, 1721369.618 684016.237 0, 1721660.683 684058.704 0, 1721951.747 684101.188 0, 1722242.807 684143.69 0, 1722533.866 684186.208 0, 1722824.922 684228.744 0, 1723115.975 684271.296 0,
+ 1723407.026 684313.866 0, 1723698.074 684356.453 0, 1723989.12 684399.057 0, 1724280.163 684441.678 0, 1724569.911 684484.127 0, 1724862.242 684526.971 0, 1725153.278 684569.644 0, 1725444.311 684612.334 0, 1725735.342 684655.04 0, 1726026.37 684697.764 0,
+ 1726317.395 684740.505 0, 1726608.419 684783.264 0, 1726899.439 684826.039 0, 1727190.457 684868.831 0, 1727481.473 684911.641 0, 1727772.486 684954.467 0, 1728063.497 684997.311 0, 1728354.505 685040.172 0, 1728645.51 685083.05 0, 1728936.513 685125.945 0,
+ 1729227.514 685168.858 0, 1729518.512 685211.787 0, 1729809.507 685254.734 0, 1730100.5 685297.698 0, 1730391.49 685340.678 0, 1730682.478 685383.676 0, 1730973.463 685426.691 0, 1731264.446 685469.724 0, 1731554.135 685512.582 0, 1732368.927 680006.326 0,
+ 1733183.67 674500.399 0))
+
+POLYGON ((1745518.19 687599.085 0, 1745228.621 687555.408 0, 1744937.761 687511.554 0, 1744646.899 687467.717 0, 1744356.033 687423.897 0, 1744065.166 687380.094 0, 1743774.295 687336.308 0, 1743483.422 687292.54 0, 1743192.547 687248.788 0, 1742901.669 687205.054 0,
+ 1742610.788 687161.337 0, 1742319.905 687117.637 0, 1742029.019 687073.954 0, 1741738.131 687030.288 0, 1741447.24 686986.64 0, 1741156.346 686943.008 0, 1740865.45 686899.394 0, 1740574.552 686855.796 0, 1740283.65 686812.216 0, 1739992.747 686768.653 0,
+ 1739701.84 686725.107 0, 1739410.931 686681.578 0, 1739120.02 686638.067 0, 1738829.106 686594.572 0, 1738536.899 686550.902 0, 1738247.27 686507.634 0, 1737956.349 686464.191 0, 1737665.424 686420.765 0, 1737374.497 686377.356 0, 1737083.568 686333.964 0,
+ 1736792.636 686290.589 0, 1736501.702 686247.232 0, 1736210.765 686203.891 0, 1735919.825 686160.568 0, 1735628.883 686117.262 0, 1735337.938 686073.973 0, 1735046.991 686030.701 0, 1734756.041 685987.446 0, 1734465.089 685944.208 0, 1734174.134 685900.988 0,
+ 1733883.177 685857.784 0, 1733592.217 685814.598 0, 1733301.255 685771.429 0, 1733010.29 685728.276 0, 1732719.322 685685.142 0, 1732428.352 685642.024 0, 1732137.379 685598.923 0, 1731846.404 685555.839 0, 1731554.135 685512.582 0, 1730739.294 691019.163 0,
+ 1729924.406 696526.067 0, 1730216.025 696569.229 0, 1730506.352 696612.216 0, 1730796.676 696655.221 0, 1731086.998 696698.243 0, 1731377.317 696741.281 0, 1731667.634 696784.337 0, 1731957.948 696827.41 0, 1732248.26 696870.501 0, 1732538.569 696913.608 0,
+ 1732828.876 696956.732 0, 1733119.18 696999.874 0, 1733409.482 697043.032 0, 1733699.781 697086.208 0, 1733990.077 697129.4 0, 1734280.371 697172.61 0, 1734570.662 697215.837 0, 1734860.951 697259.081 0, 1735151.238 697302.342 0, 1735441.521 697345.62 0,
+ 1735731.803 697388.915 0, 1736022.081 697432.227 0, 1736312.358 697475.557 0, 1736602.631 697518.903 0, 1736891.615 697562.074 0, 1737183.171 697605.647 0, 1737473.437 697649.045 0, 1737763.7 697692.46 0, 1738053.961 697735.891 0, 1738344.219 697779.34 0,
+ 1738634.475 697822.806 0, 1738924.728 697866.289 0, 1739214.978 697909.79 0, 1739505.226 697953.307 0, 1739795.472 697996.841 0, 1740085.715 698040.393 0, 1740375.955 698083.961 0, 1740666.193 698127.547 0, 1740956.428 698171.149 0, 1741246.661 698214.769 0,
+ 1741536.891 698258.406 0, 1741827.118 698302.06 0, 1742117.343 698345.731 0, 1742407.566 698389.419 0, 1742697.785 698433.124 0, 1742988.003 698476.847 0, 1743278.217 698520.586 0, 1743568.429 698564.342 0, 1743857.353 698607.922 0, 1744687.796 693103.342 0,
+ 1745518.19 687599.085 0))
+
+POLYGON ((1512025.612 467969.501 0, 1511723.216 467939.511 0, 1511419.431 467909.401 0, 1511115.643 467879.309 0, 1510811.854 467849.235 0, 1510508.063 467819.178 0, 1510204.27 467789.14 0, 1509900.475 467759.119 0, 1509596.679 467729.116 0, 1509292.881 467699.131 0,
+ 1508989.081 467669.164 0, 1508685.279 467639.215 0, 1508381.476 467609.284 0, 1508077.67 467579.37 0, 1507773.863 467549.475 0, 1507470.055 467519.597 0, 1507166.244 467489.738 0, 1506862.432 467459.896 0, 1506558.618 467430.072 0, 1506254.802 467400.266 0,
+ 1505950.985 467370.477 0, 1505647.165 467340.707 0, 1505343.344 467310.955 0, 1505039.522 467281.22 0, 1504734.308 467251.368 0, 1504431.871 467221.805 0, 1504128.043 467192.124 0, 1503824.213 467162.461 0, 1503520.382 467132.815 0, 1503216.548 467103.188 0,
+ 1502912.713 467073.579 0, 1502608.877 467043.987 0, 1502305.038 467014.414 0, 1502001.198 466984.858 0, 1501697.356 466955.32 0, 1501393.512 466925.8 0, 1501089.667 466896.298 0, 1500785.82 466866.814 0, 1500481.971 466837.348 0, 1500178.12 466807.899 0,
+ 1499874.268 466778.469 0, 1499570.414 466749.056 0, 1499266.558 466719.661 0, 1498962.7 466690.284 0, 1498658.841 466660.925 0, 1498354.98 466631.584 0, 1498051.117 466602.261 0, 1497747.253 466572.956 0, 1497441.996 466543.534 0, 1496909.361 472071.499 0,
+ 1496376.684 477599.894 0, 1496681.288 477629.252 0, 1496984.501 477658.495 0, 1497287.713 477687.755 0, 1497590.924 477717.034 0, 1497894.132 477746.33 0, 1498197.339 477775.644 0, 1498500.544 477804.975 0, 1498803.747 477834.325 0, 1499106.949 477863.693 0,
+ 1499410.149 477893.078 0, 1499713.347 477922.481 0, 1500016.544 477951.902 0, 1500319.738 477981.341 0, 1500622.931 478010.798 0, 1500926.123 478040.273 0, 1501229.312 478069.765 0, 1501532.5 478099.275 0, 1501835.686 478128.803 0, 1502138.87 478158.349 0,
+ 1502442.053 478187.913 0, 1502745.234 478217.495 0, 1503048.413 478247.094 0, 1503351.59 478276.712 0, 1503653.379 478306.211 0, 1503957.939 478336 0, 1504261.112 478365.671 0, 1504564.282 478395.36 0, 1504867.451 478425.066 0, 1505170.617 478454.791 0,
+ 1505473.782 478484.533 0, 1505776.946 478514.293 0, 1506080.107 478544.071 0, 1506383.267 478573.867 0, 1506686.425 478603.68 0, 1506989.582 478633.512 0, 1507292.736 478663.361 0, 1507595.889 478693.228 0, 1507899.04 478723.113 0, 1508202.19 478753.016 0,
+ 1508505.337 478782.937 0, 1508808.483 478812.875 0, 1509111.627 478842.832 0, 1509414.769 478872.806 0, 1509717.91 478902.798 0, 1510021.048 478932.808 0, 1510324.185 478962.836 0, 1510627.321 478992.881 0, 1510929.069 479022.807 0, 1511477.362 473495.939 0,
+ 1512025.612 467969.501 0))
+
+POLYGON ((1525477.375 480486.828 0, 1525175.711 480456.05 0, 1524872.661 480425.148 0, 1524569.61 480394.264 0, 1524266.558 480363.397 0, 1523963.503 480332.549 0, 1523660.447 480301.719 0, 1523357.389 480270.906 0, 1523054.329 480240.111 0, 1522751.267 480209.334 0,
+ 1522448.203 480178.575 0, 1522145.138 480147.833 0, 1521842.071 480117.11 0, 1521539.001 480086.404 0, 1521235.931 480055.716 0, 1520932.858 480025.046 0, 1520629.783 479994.394 0, 1520326.707 479963.76 0, 1520023.629 479933.144 0, 1519720.549 479902.545 0,
+ 1519417.468 479871.964 0, 1519114.384 479841.401 0, 1518811.299 479810.856 0, 1518508.212 479780.329 0, 1518203.739 479749.68 0, 1517902.032 479719.328 0, 1517598.94 479688.854 0, 1517295.846 479658.398 0, 1516992.75 479627.96 0, 1516689.652 479597.54 0,
+ 1516386.552 479567.137 0, 1516083.451 479536.753 0, 1515780.347 479506.386 0, 1515477.242 479476.037 0, 1515174.136 479445.706 0, 1514871.027 479415.393 0, 1514567.917 479385.097 0, 1514264.805 479354.82 0, 1513961.691 479324.56 0, 1513658.575 479294.318 0,
+ 1513355.458 479264.094 0, 1513052.338 479233.888 0, 1512749.217 479203.7 0, 1512446.095 479173.529 0, 1512142.97 479143.377 0, 1511839.844 479113.242 0, 1511536.716 479083.125 0, 1511233.586 479053.026 0, 1510929.069 479022.807 0, 1510380.733 484550.103 0,
+ 1509832.356 490077.823 0, 1510136.219 490107.977 0, 1510438.698 490138.012 0, 1510741.176 490168.064 0, 1511043.651 490198.134 0, 1511346.125 490228.222 0, 1511648.597 490258.328 0, 1511951.068 490288.451 0, 1512253.536 490318.592 0, 1512556.003 490348.752 0,
+ 1512858.468 490378.928 0, 1513160.931 490409.123 0, 1513463.393 490439.336 0, 1513765.853 490469.566 0, 1514068.311 490499.814 0, 1514370.767 490530.08 0, 1514673.221 490560.364 0, 1514975.674 490590.665 0, 1515278.125 490620.985 0, 1515580.574 490651.322 0,
+ 1515883.021 490681.677 0, 1516185.466 490712.05 0, 1516487.91 490742.44 0, 1516790.352 490772.849 0, 1517091.411 490803.136 0, 1517395.23 490833.719 0, 1517697.667 490864.18 0, 1518000.101 490894.66 0, 1518302.534 490925.157 0, 1518604.965 490955.672 0,
+ 1518907.395 490986.205 0, 1519209.822 491016.756 0, 1519512.248 491047.325 0, 1519814.672 491077.911 0, 1520117.094 491108.515 0, 1520419.514 491139.137 0, 1520721.933 491169.777 0, 1521024.349 491200.435 0, 1521326.764 491231.11 0, 1521629.177 491261.803 0,
+ 1521931.589 491292.514 0, 1522233.998 491323.243 0, 1522536.406 491353.989 0, 1522838.812 491384.754 0, 1523141.216 491415.536 0, 1523443.618 491446.336 0, 1523746.018 491477.154 0, 1524048.417 491507.989 0, 1524349.434 491538.702 0, 1524913.426 486012.553 0,
+ 1525477.375 480486.828 0))
+
+POLYGON ((1538862.328 493040.588 0, 1538561.396 493009.025 0, 1538259.086 492977.335 0, 1537956.773 492945.663 0, 1537654.459 492914.009 0, 1537352.144 492882.372 0, 1537049.826 492850.754 0, 1536747.506 492819.153 0, 1536445.185 492787.57 0, 1536142.861 492756.005 0,
+ 1535840.536 492724.457 0, 1535538.209 492692.928 0, 1535235.88 492661.416 0, 1534933.55 492629.922 0, 1534631.217 492598.446 0, 1534328.883 492566.987 0, 1534026.546 492535.547 0, 1533724.208 492504.124 0, 1533421.868 492472.719 0, 1533119.526 492441.331 0,
+ 1532817.183 492409.962 0, 1532514.837 492378.61 0, 1532212.49 492347.276 0, 1531910.14 492315.96 0, 1531606.411 492284.519 0, 1531305.437 492253.382 0, 1531003.082 492222.119 0, 1530700.725 492190.874 0, 1530398.367 492159.647 0, 1530096.006 492128.438 0,
+ 1529793.644 492097.246 0, 1529491.28 492066.072 0, 1529188.915 492034.917 0, 1528886.547 492003.778 0, 1528584.178 491972.658 0, 1528281.806 491941.556 0, 1527979.433 491910.471 0, 1527677.058 491879.404 0, 1527374.682 491848.355 0, 1527072.303 491817.323 0,
+ 1526769.923 491786.31 0, 1526467.54 491755.314 0, 1526165.156 491724.336 0, 1525862.77 491693.376 0, 1525560.383 491662.434 0, 1525257.993 491631.509 0, 1524955.602 491600.603 0, 1524653.209 491569.714 0, 1524349.434 491538.702 0, 1523785.399 497065.272 0,
+ 1523221.321 502592.261 0, 1523524.442 502623.206 0, 1523826.185 502654.028 0, 1524127.925 502684.869 0, 1524429.664 502715.727 0, 1524731.401 502746.602 0, 1525033.137 502777.496 0, 1525334.87 502808.407 0, 1525636.602 502839.336 0, 1525938.332 502870.283 0,
+ 1526240.06 502901.248 0, 1526541.786 502932.23 0, 1526843.51 502963.23 0, 1527145.233 502994.248 0, 1527446.954 503025.284 0, 1527748.673 503056.337 0, 1528050.39 503087.408 0, 1528352.105 503118.497 0, 1528653.818 503149.603 0, 1528955.53 503180.728 0,
+ 1529257.24 503211.87 0, 1529558.948 503243.03 0, 1529860.654 503274.208 0, 1530162.358 503305.403 0, 1530462.685 503336.474 0, 1530765.761 503367.847 0, 1531067.46 503399.096 0, 1531369.156 503430.362 0, 1531670.852 503461.647 0, 1531972.545 503492.948 0,
+ 1532274.236 503524.268 0, 1532575.926 503555.606 0, 1532877.613 503586.961 0, 1533179.299 503618.334 0, 1533480.983 503649.725 0, 1533782.665 503681.133 0, 1534084.346 503712.559 0, 1534386.024 503744.003 0, 1534687.701 503775.465 0, 1534989.375 503806.945 0,
+ 1535291.048 503838.442 0, 1535592.719 503869.957 0, 1535894.388 503901.49 0, 1536196.056 503933.04 0, 1536497.721 503964.609 0, 1536799.385 503996.195 0, 1537101.047 504027.799 0, 1537402.706 504059.42 0, 1537702.991 504090.915 0, 1538282.681 498565.542 0,
+ 1538862.328 493040.588 0))
+
+POLYGON ((1552180.368 505630.478 0, 1551880.172 505598.134 0, 1551578.603 505565.66 0, 1551277.031 505533.204 0, 1550975.458 505500.766 0, 1550673.883 505468.346 0, 1550372.306 505435.943 0, 1550070.727 505403.558 0, 1549769.147 505371.191 0, 1549467.564 505338.841 0,
+ 1549165.979 505306.51 0, 1548864.393 505274.196 0, 1548562.804 505241.9 0, 1548261.214 505209.621 0, 1547959.622 505177.36 0, 1547658.028 505145.117 0, 1547356.432 505112.892 0, 1547054.834 505080.685 0, 1546753.234 505048.495 0, 1546451.632 505016.323 0,
+ 1546150.029 504984.169 0, 1545848.423 504952.033 0, 1545546.816 504919.914 0, 1545245.207 504887.813 0, 1544942.223 504855.584 0, 1544641.983 504823.664 0, 1544340.368 504791.617 0, 1544038.751 504759.587 0, 1543737.132 504727.575 0, 1543435.512 504695.58 0,
+ 1543133.889 504663.604 0, 1542832.265 504631.645 0, 1542530.639 504599.704 0, 1542229.011 504567.78 0, 1541927.381 504535.874 0, 1541625.749 504503.987 0, 1541324.115 504472.116 0, 1541022.479 504440.264 0, 1540720.842 504408.429 0, 1540419.203 504376.613 0,
+ 1540117.561 504344.813 0, 1539815.918 504313.032 0, 1539514.273 504281.268 0, 1539212.627 504249.523 0, 1538910.978 504217.794 0, 1538609.327 504186.084 0, 1538307.675 504154.392 0, 1538006.021 504122.717 0, 1537702.991 504090.915 0, 1537123.257 509616.704 0,
+ 1536543.479 515142.904 0, 1536845.856 515174.637 0, 1537146.86 515206.244 0, 1537447.862 515237.868 0, 1537748.862 515269.51 0, 1538049.86 515301.17 0, 1538350.856 515332.847 0, 1538651.851 515364.542 0, 1538952.843 515396.255 0, 1539253.834 515427.985 0,
+ 1539554.823 515459.734 0, 1539855.81 515491.5 0, 1540156.795 515523.283 0, 1540457.778 515555.085 0, 1540758.76 515586.904 0, 1541059.739 515618.741 0, 1541360.717 515650.595 0, 1541661.693 515682.468 0, 1541962.667 515714.358 0, 1542263.639 515746.265 0,
+ 1542564.609 515778.191 0, 1542865.577 515810.134 0, 1543166.544 515842.095 0, 1543467.508 515874.073 0, 1543767.101 515905.924 0, 1544069.431 515938.084 0, 1544370.39 515970.115 0, 1544671.347 516002.165 0, 1544972.302 516034.232 0, 1545273.255 516066.317 0,
+ 1545574.207 516098.419 0, 1545875.156 516130.539 0, 1546176.104 516162.677 0, 1546477.049 516194.833 0, 1546777.993 516227.007 0, 1547078.935 516259.198 0, 1547379.875 516291.406 0, 1547680.813 516323.633 0, 1547981.749 516355.877 0, 1548282.683 516388.139 0,
+ 1548583.616 516420.419 0, 1548884.546 516452.716 0, 1549185.475 516485.031 0, 1549486.401 516517.364 0, 1549787.326 516549.715 0, 1550088.249 516582.083 0, 1550389.17 516614.469 0, 1550690.089 516646.873 0, 1550989.638 516679.147 0, 1551585.025 511154.606 0,
+ 1552180.368 505630.478 0))
+
+POLYGON ((1565431.399 518256.196 0, 1565131.94 518223.075 0, 1564831.113 518189.822 0, 1564530.285 518156.586 0, 1564229.455 518123.367 0, 1563928.623 518090.167 0, 1563627.789 518056.984 0, 1563326.953 518023.819 0, 1563026.115 517990.671 0, 1562725.275 517957.542 0,
+ 1562424.433 517924.43 0, 1562123.589 517891.335 0, 1561822.743 517858.259 0, 1561521.895 517825.2 0, 1561221.046 517792.158 0, 1560920.194 517759.135 0, 1560619.34 517726.129 0, 1560318.485 517693.141 0, 1560017.627 517660.171 0, 1559716.768 517627.218 0,
+ 1559415.907 517594.283 0, 1559115.043 517561.366 0, 1558814.178 517528.466 0, 1558513.311 517495.584 0, 1558211.075 517462.571 0, 1557911.571 517429.874 0, 1557610.698 517397.045 0, 1557309.823 517364.234 0, 1557008.946 517331.441 0, 1556708.067 517298.665 0,
+ 1556407.187 517265.907 0, 1556106.304 517233.167 0, 1555805.42 517200.445 0, 1555504.533 517167.74 0, 1555203.645 517135.053 0, 1554902.755 517102.384 0, 1554601.862 517069.732 0, 1554300.968 517037.098 0, 1554000.072 517004.482 0, 1553699.174 516971.883 0,
+ 1553398.274 516939.303 0, 1553097.372 516906.74 0, 1552796.469 516874.194 0, 1552495.563 516841.667 0, 1552194.655 516809.157 0, 1551893.746 516776.664 0, 1551592.835 516744.19 0, 1551291.921 516711.733 0, 1550989.638 516679.147 0, 1550394.206 522204.096 0,
+ 1549798.731 527729.452 0, 1550100.361 527761.968 0, 1550400.624 527794.355 0, 1550700.885 527826.759 0, 1551001.144 527859.181 0, 1551301.401 527891.621 0, 1551601.657 527924.078 0, 1551901.91 527956.553 0, 1552202.161 527989.046 0, 1552502.411 528021.556 0,
+ 1552802.659 528054.084 0, 1553102.904 528086.63 0, 1553403.148 528119.193 0, 1553703.39 528151.774 0, 1554003.63 528184.373 0, 1554303.868 528216.99 0, 1554604.104 528249.624 0, 1554904.338 528282.275 0, 1555204.571 528314.945 0, 1555504.801 528347.632 0,
+ 1555805.029 528380.337 0, 1556105.256 528413.059 0, 1556405.48 528445.799 0, 1556705.703 528478.557 0, 1557004.56 528511.183 0, 1557306.143 528544.125 0, 1557606.359 528576.936 0, 1557906.574 528609.765 0, 1558206.787 528642.611 0, 1558506.998 528675.474 0,
+ 1558807.208 528708.356 0, 1559107.415 528741.255 0, 1559407.62 528774.172 0, 1559707.823 528807.106 0, 1560008.025 528840.058 0, 1560308.224 528873.028 0, 1560608.422 528906.016 0, 1560908.617 528939.021 0, 1561208.811 528972.044 0, 1561509.002 529005.084 0,
+ 1561809.192 529038.142 0, 1562109.38 529071.218 0, 1562409.566 529104.311 0, 1562709.75 529137.423 0, 1563009.932 529170.551 0, 1563310.112 529203.698 0, 1563610.29 529236.862 0, 1563910.466 529270.044 0, 1564209.277 529303.093 0, 1564820.36 523779.441 0,
+ 1565431.399 518256.196 0))
+
+POLYGON ((1578615.32 530917.439 0, 1578316.601 530883.546 0, 1578016.52 530849.516 0, 1577716.437 530815.504 0, 1577416.351 530781.51 0, 1577116.264 530747.533 0, 1576816.175 530713.574 0, 1576516.084 530679.633 0, 1576215.991 530645.709 0, 1575915.896 530611.803 0,
+ 1575615.799 530577.914 0, 1575315.7 530544.044 0, 1575015.598 530510.19 0, 1574715.495 530476.355 0, 1574415.39 530442.537 0, 1574115.283 530408.737 0, 1573815.174 530374.955 0, 1573515.063 530341.19 0, 1573214.95 530307.443 0, 1572914.835 530273.713 0,
+ 1572614.718 530240.002 0, 1572314.599 530206.307 0, 1572014.478 530172.631 0, 1571714.355 530138.972 0, 1571412.869 530105.178 0, 1571114.103 530071.707 0, 1570813.974 530038.102 0, 1570513.843 530004.514 0, 1570213.71 529970.943 0, 1569913.576 529937.39 0,
+ 1569613.439 529903.855 0, 1569313.3 529870.338 0, 1569013.159 529836.838 0, 1568713.017 529803.356 0, 1568412.872 529769.891 0, 1568112.725 529736.444 0, 1567812.577 529703.015 0, 1567512.426 529669.604 0, 1567212.273 529636.21 0, 1566912.119 529602.834 0,
+ 1566611.962 529569.475 0, 1566311.804 529536.134 0, 1566011.643 529502.811 0, 1565711.481 529469.506 0, 1565411.317 529436.218 0, 1565111.15 529402.948 0, 1564810.982 529369.695 0, 1564510.812 529336.461 0, 1564209.277 529303.093 0, 1563598.15 534827.147 0,
+ 1562986.978 540351.601 0, 1563287.859 540384.897 0, 1563587.379 540418.06 0, 1563886.897 540451.24 0, 1564186.413 540484.438 0, 1564485.927 540517.654 0, 1564785.439 540550.887 0, 1565084.949 540584.138 0, 1565384.458 540617.407 0, 1565683.964 540650.693 0,
+ 1565983.468 540683.997 0, 1566282.971 540717.318 0, 1566582.471 540750.657 0, 1566881.969 540784.014 0, 1567181.466 540817.389 0, 1567480.96 540850.781 0, 1567780.453 540884.19 0, 1568079.943 540917.617 0, 1568379.432 540951.062 0, 1568678.918 540984.525 0,
+ 1568978.403 541018.005 0, 1569277.886 541051.503 0, 1569577.366 541085.018 0, 1569876.845 541118.551 0, 1570174.964 541151.949 0, 1570475.797 541185.67 0, 1570775.269 541219.256 0, 1571074.74 541252.859 0, 1571374.209 541286.48 0, 1571673.676 541320.119 0,
+ 1571973.141 541353.776 0, 1572272.604 541387.45 0, 1572572.064 541421.141 0, 1572871.523 541454.851 0, 1573170.98 541488.577 0, 1573470.435 541522.322 0, 1573769.888 541556.084 0, 1574069.339 541589.864 0, 1574368.788 541623.661 0, 1574668.235 541657.476 0,
+ 1574967.68 541691.309 0, 1575267.123 541725.159 0, 1575566.564 541759.027 0, 1575866.003 541792.913 0, 1576165.44 541826.816 0, 1576464.875 541860.736 0, 1576764.308 541894.675 0, 1577063.739 541928.631 0, 1577361.812 541962.451 0, 1577988.589 536439.745 0,
+ 1578615.32 530917.439 0))
+
+POLYGON ((1591732.037 543613.905 0, 1591434.059 543579.243 0, 1591134.725 543544.441 0, 1590835.389 543509.657 0, 1590536.051 543474.89 0, 1590236.711 543440.141 0, 1589937.369 543405.41 0, 1589638.025 543370.696 0, 1589338.679 543336 0, 1589039.331 543301.322 0,
+ 1588739.98 543266.661 0, 1588440.628 543232.018 0, 1588141.274 543197.392 0, 1587841.917 543162.784 0, 1587542.559 543128.194 0, 1587243.199 543093.621 0, 1586943.836 543059.066 0, 1586644.472 543024.528 0, 1586345.105 542990.008 0, 1586045.736 542955.506 0,
+ 1585746.366 542921.021 0, 1585446.993 542886.554 0, 1585147.618 542852.105 0, 1584848.242 542817.673 0, 1584547.508 542783.103 0, 1584249.482 542748.862 0, 1583950.099 542714.483 0, 1583650.715 542680.122 0, 1583351.328 542645.778 0, 1583051.939 542611.452 0,
+ 1582752.548 542577.144 0, 1582453.155 542542.853 0, 1582153.76 542508.579 0, 1581854.363 542474.324 0, 1581554.965 542440.086 0, 1581255.564 542405.866 0, 1580956.161 542371.663 0, 1580656.756 542337.478 0, 1580357.349 542303.31 0, 1580057.94 542269.16 0,
+ 1579758.529 542235.028 0, 1579459.116 542200.913 0, 1579159.701 542166.816 0, 1578860.284 542132.737 0, 1578560.865 542098.675 0, 1578261.444 542064.631 0, 1577962.02 542030.605 0, 1577662.595 541996.596 0, 1577361.812 541962.451 0, 1576734.99 547485.553 0,
+ 1576108.123 553009.049 0, 1576408.254 553043.12 0, 1576707.028 553077.055 0, 1577005.801 553111.007 0, 1577304.572 553144.978 0, 1577603.341 553178.965 0, 1577902.108 553212.971 0, 1578200.873 553246.994 0, 1578499.636 553281.034 0, 1578798.397 553315.092 0,
+ 1579097.155 553349.168 0, 1579395.912 553383.261 0, 1579694.667 553417.372 0, 1579993.42 553451.501 0, 1580292.171 553485.647 0, 1580590.92 553519.81 0, 1580889.666 553553.992 0, 1581188.411 553588.191 0, 1581487.154 553622.407 0, 1581785.895 553656.641 0,
+ 1582084.633 553690.892 0, 1582383.37 553725.162 0, 1582682.105 553759.448 0, 1582980.838 553793.753 0, 1583278.216 553827.919 0, 1583578.297 553862.414 0, 1583877.024 553896.771 0, 1584175.748 553931.146 0, 1584474.471 553965.538 0, 1584773.191 553999.948 0,
+ 1585071.91 554034.375 0, 1585370.626 554068.82 0, 1585669.341 554103.283 0, 1585968.053 554137.763 0, 1586266.764 554172.26 0, 1586565.472 554206.776 0, 1586864.178 554241.308 0, 1587162.883 554275.859 0, 1587461.585 554310.427 0, 1587760.285 554345.013 0,
+ 1588058.984 554379.616 0, 1588357.68 554414.237 0, 1588656.374 554448.875 0, 1588955.066 554483.531 0, 1589253.756 554518.204 0, 1589552.444 554552.895 0, 1589851.13 554587.604 0, 1590149.814 554622.33 0, 1590447.145 554656.917 0, 1591089.614 549135.214 0,
+ 1591732.037 543613.905 0))
+
+POLYGON ((1604781.454 556345.289 0, 1604484.22 556309.862 0, 1604185.635 556274.292 0, 1603887.048 556238.74 0, 1603588.459 556203.205 0, 1603289.869 556167.688 0, 1602991.276 556132.188 0, 1602692.68 556096.706 0, 1602394.083 556061.242 0, 1602095.484 556025.795 0,
+ 1601796.883 555990.365 0, 1601498.279 555954.954 0, 1601199.674 555919.559 0, 1600901.066 555884.183 0, 1600602.456 555848.824 0, 1600303.845 555813.482 0, 1600005.231 555778.158 0, 1599706.615 555742.852 0, 1599407.997 555707.563 0, 1599109.377 555672.292 0,
+ 1598810.755 555637.039 0, 1598512.13 555601.803 0, 1598213.504 555566.584 0, 1597914.876 555531.383 0, 1597614.896 555496.041 0, 1597317.613 555461.034 0, 1597018.978 555425.886 0, 1596720.342 555390.756 0, 1596421.703 555355.643 0, 1596123.062 555320.547 0,
+ 1595824.419 555285.469 0, 1595525.774 555250.409 0, 1595227.127 555215.366 0, 1594928.478 555180.341 0, 1594629.827 555145.334 0, 1594331.174 555110.344 0, 1594032.519 555075.371 0, 1593733.861 555040.417 0, 1593435.202 555005.479 0, 1593136.541 554970.56 0,
+ 1592837.877 554935.658 0, 1592539.212 554900.773 0, 1592240.544 554865.906 0, 1591941.875 554831.057 0, 1591643.203 554796.225 0, 1591344.529 554761.411 0, 1591045.853 554726.615 0, 1590747.176 554691.836 0, 1590447.145 554656.917 0, 1589804.63 560179.01 0,
+ 1589162.071 565701.491 0, 1589461.449 565736.333 0, 1589759.476 565771.037 0, 1590057.502 565805.758 0, 1590355.526 565840.496 0, 1590653.547 565875.252 0, 1590951.567 565910.025 0, 1591249.584 565944.816 0, 1591547.6 565979.625 0, 1591845.613 566014.451 0,
+ 1592143.625 566049.295 0, 1592441.634 566084.156 0, 1592739.641 566119.035 0, 1593037.647 566153.931 0, 1593335.65 566188.845 0, 1593633.651 566223.776 0, 1593931.65 566258.725 0, 1594229.647 566293.691 0, 1594527.642 566328.675 0, 1594825.635 566363.677 0,
+ 1595123.625 566398.696 0, 1595421.614 566433.732 0, 1595719.601 566468.786 0, 1596017.585 566503.858 0, 1596314.221 566538.788 0, 1596613.549 566574.054 0, 1596911.527 566609.178 0, 1597209.503 566644.32 0, 1597507.478 566679.479 0, 1597805.45 566714.656 0,
+ 1598103.42 566749.851 0, 1598401.388 566785.062 0, 1598699.354 566820.292 0, 1598997.318 566855.539 0, 1599295.28 566890.804 0, 1599593.24 566926.086 0, 1599891.197 566961.385 0, 1600189.153 566996.702 0, 1600487.107 567032.037 0, 1600785.058 567067.389 0,
+ 1601083.007 567102.759 0, 1601380.955 567138.146 0, 1601678.9 567173.551 0, 1601976.843 567208.974 0, 1602274.784 567244.414 0, 1602572.723 567279.871 0, 1602870.66 567315.346 0, 1603168.595 567350.839 0, 1603465.182 567386.188 0, 1604123.341 561865.545 0,
+ 1604781.454 556345.289 0))
+
+POLYGON ((1617763.477 569111.288 0, 1617466.988 569075.1 0, 1617169.155 569038.766 0, 1616871.319 569002.45 0, 1616573.482 568966.15 0, 1616275.642 568929.869 0, 1615977.8 568893.605 0, 1615679.956 568857.359 0, 1615382.11 568821.13 0, 1615084.262 568784.918 0,
+ 1614786.411 568748.724 0, 1614488.559 568712.548 0, 1614190.704 568676.389 0, 1613892.847 568640.248 0, 1613594.988 568604.124 0, 1613297.127 568568.018 0, 1612999.264 568531.929 0, 1612701.399 568495.858 0, 1612403.532 568459.804 0, 1612105.662 568423.768 0,
+ 1611807.79 568387.75 0, 1611509.917 568351.749 0, 1611212.041 568315.765 0, 1610914.163 568279.799 0, 1610614.939 568243.689 0, 1610318.4 568207.92 0, 1610020.516 568172.007 0, 1609722.629 568136.111 0, 1609424.741 568100.233 0, 1609126.85 568064.372 0,
+ 1608828.957 568028.529 0, 1608531.063 567992.703 0, 1608233.166 567956.895 0, 1607935.266 567921.104 0, 1607637.365 567885.331 0, 1607339.462 567849.575 0, 1607041.556 567813.837 0, 1606743.649 567778.117 0, 1606445.739 567742.414 0, 1606147.827 567706.728 0,
+ 1605849.914 567671.061 0, 1605551.998 567635.41 0, 1605254.08 567599.777 0, 1604956.159 567564.162 0, 1604658.237 567528.564 0, 1604360.313 567492.984 0, 1604062.387 567457.421 0, 1603764.458 567421.876 0, 1603465.182 567386.188 0, 1602806.977 572907.216 0,
+ 1602148.727 578428.624 0, 1602447.35 578464.234 0, 1602744.629 578499.702 0, 1603041.905 578535.187 0, 1603339.18 578570.689 0, 1603636.452 578606.21 0, 1603933.722 578641.747 0, 1604230.99 578677.302 0, 1604528.256 578712.875 0, 1604825.52 578748.465 0,
+ 1605122.782 578784.072 0, 1605420.042 578819.698 0, 1605717.299 578855.34 0, 1606014.555 578891 0, 1606311.809 578926.678 0, 1606609.06 578962.373 0, 1606906.309 578998.085 0, 1607203.556 579033.815 0, 1607500.801 579069.563 0, 1607798.044 579105.328 0,
+ 1608095.285 579141.111 0, 1608392.524 579176.911 0, 1608689.76 579212.728 0, 1608986.995 579248.563 0, 1609282.886 579284.254 0, 1609581.458 579320.286 0, 1609878.686 579356.173 0, 1610175.912 579392.078 0, 1610473.136 579428.001 0, 1610770.358 579463.941 0,
+ 1611067.578 579499.898 0, 1611364.795 579535.873 0, 1611662.011 579571.865 0, 1611959.224 579607.875 0, 1612256.435 579643.903 0, 1612553.644 579679.948 0, 1612850.851 579716.01 0, 1613148.056 579752.09 0, 1613445.259 579788.188 0, 1613742.46 579824.303 0,
+ 1614039.658 579860.435 0, 1614336.855 579896.585 0, 1614634.049 579932.752 0, 1614931.241 579968.937 0, 1615228.431 580005.14 0, 1615525.619 580041.359 0, 1615822.805 580077.597 0, 1616119.988 580113.852 0, 1616415.83 580149.96 0, 1617089.677 574630.434 0,
+ 1617763.477 569111.288 0))
+
+POLYGON ((1630678.013 581911.597 0, 1630382.272 581874.652 0, 1630085.192 581837.558 0, 1629788.11 581800.481 0, 1629491.026 581763.422 0, 1629193.939 581726.38 0, 1628896.85 581689.356 0, 1628599.759 581652.349 0, 1628302.666 581615.359 0, 1628005.571 581578.387 0,
+ 1627708.474 581541.433 0, 1627411.374 581504.496 0, 1627114.272 581467.577 0, 1626817.168 581430.675 0, 1626520.062 581393.79 0, 1626222.954 581356.923 0, 1625925.844 581320.074 0, 1625628.731 581283.242 0, 1625331.616 581246.427 0, 1625034.499 581209.63 0,
+ 1624737.38 581172.851 0, 1624440.259 581136.089 0, 1624143.135 581099.344 0, 1623846.01 581062.617 0, 1623547.544 581025.742 0, 1623251.752 580989.215 0, 1622954.62 580952.541 0, 1622657.486 580915.883 0, 1622360.349 580879.244 0, 1622063.211 580842.622 0,
+ 1621766.07 580806.017 0, 1621468.927 580769.43 0, 1621171.782 580732.86 0, 1620874.635 580696.308 0, 1620577.486 580659.773 0, 1620280.334 580623.256 0, 1619983.18 580586.756 0, 1619686.025 580550.274 0, 1619388.867 580513.809 0, 1619091.707 580477.362 0,
+ 1618794.544 580440.932 0, 1618497.38 580404.52 0, 1618200.214 580368.125 0, 1617903.045 580331.748 0, 1617605.874 580295.388 0, 1617308.701 580259.046 0, 1617011.526 580222.721 0, 1616714.349 580186.414 0, 1616415.83 580149.96 0, 1615741.937 585669.865 0,
+ 1615067.999 591190.144 0, 1615365.865 591226.518 0, 1615662.393 591262.746 0, 1615958.918 591298.991 0, 1616255.441 591335.254 0, 1616551.962 591371.534 0, 1616848.481 591407.832 0, 1617144.997 591444.147 0, 1617441.512 591480.48 0, 1617738.025 591516.83 0,
+ 1618034.535 591553.197 0, 1618331.043 591589.582 0, 1618627.549 591625.985 0, 1618924.053 591662.405 0, 1619220.555 591698.842 0, 1619517.054 591735.297 0, 1619813.552 591771.769 0, 1620110.047 591808.259 0, 1620406.54 591844.766 0, 1620703.031 591881.291 0,
+ 1620999.52 591917.833 0, 1621296.007 591954.392 0, 1621592.491 591990.969 0, 1621888.974 592027.564 0, 1622184.118 592064.011 0, 1622481.932 592100.805 0, 1622778.408 592137.452 0, 1623074.882 592174.116 0, 1623371.353 592210.798 0, 1623667.823 592247.497 0,
+ 1623964.29 592284.213 0, 1624260.755 592320.947 0, 1624557.218 592357.699 0, 1624853.679 592394.468 0, 1625150.138 592431.254 0, 1625446.594 592468.058 0, 1625743.048 592504.879 0, 1626039.5 592541.718 0, 1626335.95 592578.574 0, 1626632.398 592615.448 0,
+ 1626928.844 592652.339 0, 1627225.287 592689.247 0, 1627521.729 592726.173 0, 1627818.168 592763.117 0, 1628114.605 592800.077 0, 1628411.039 592837.056 0, 1628707.472 592874.051 0, 1629003.902 592911.065 0, 1629298.997 592947.929 0, 1629988.528 587429.576 0,
+ 1630678.013 581911.597 0))
+
+POLYGON ((1643524.972 594745.911 0, 1643229.98 594708.214 0, 1642933.656 594670.363 0, 1642637.329 594632.53 0, 1642341 594594.714 0, 1642044.669 594556.916 0, 1641748.335 594519.135 0, 1641451.999 594481.372 0, 1641155.661 594443.626 0, 1640859.321 594405.898 0,
+ 1640562.978 594368.187 0, 1640266.634 594330.493 0, 1639970.287 594292.817 0, 1639673.938 594255.159 0, 1639377.587 594217.517 0, 1639081.233 594179.894 0, 1638784.877 594142.287 0, 1638488.519 594104.698 0, 1638192.159 594067.127 0, 1637895.797 594029.573 0,
+ 1637599.432 593992.036 0, 1637303.065 593954.517 0, 1637006.696 593917.016 0, 1636710.325 593879.531 0, 1636412.619 593841.896 0, 1636117.576 593804.615 0, 1635821.198 593767.183 0, 1635524.818 593729.769 0, 1635228.436 593692.372 0, 1634932.052 593654.992 0,
+ 1634635.665 593617.63 0, 1634339.276 593580.286 0, 1634042.885 593542.958 0, 1633746.492 593505.649 0, 1633450.096 593468.356 0, 1633153.699 593431.081 0, 1632857.299 593393.824 0, 1632560.897 593356.584 0, 1632264.493 593319.361 0, 1631968.086 593282.156 0,
+ 1631671.678 593244.969 0, 1631375.267 593207.798 0, 1631078.854 593170.646 0, 1630782.439 593133.51 0, 1630486.022 593096.392 0, 1630189.602 593059.292 0, 1629893.181 593022.209 0, 1629596.757 592985.143 0, 1629298.997 592947.929 0, 1628609.419 598466.653 0,
+ 1627919.795 603985.746 0, 1628216.902 604022.879 0, 1628512.676 604059.863 0, 1628808.448 604096.865 0, 1629104.218 604133.884 0, 1629399.986 604170.921 0, 1629695.751 604207.975 0, 1629991.515 604245.046 0, 1630287.276 604282.135 0, 1630583.035 604319.241 0,
+ 1630878.792 604356.364 0, 1631174.546 604393.505 0, 1631470.299 604430.664 0, 1631766.049 604467.84 0, 1632061.797 604505.033 0, 1632357.543 604542.243 0, 1632653.286 604579.471 0, 1632949.028 604616.717 0, 1633244.767 604653.98 0, 1633540.504 604691.26 0,
+ 1633836.239 604728.558 0, 1634131.972 604765.873 0, 1634427.702 604803.205 0, 1634723.43 604840.555 0, 1635017.827 604877.754 0, 1635314.88 604915.307 0, 1635610.602 604952.709 0, 1635906.321 604990.128 0, 1636202.039 605027.565 0, 1636497.754 605065.02 0,
+ 1636793.467 605102.491 0, 1637089.177 605139.98 0, 1637384.886 605177.487 0, 1637680.592 605215.011 0, 1637976.296 605252.552 0, 1638271.998 605290.111 0, 1638567.697 605327.687 0, 1638863.395 605365.28 0, 1639159.09 605402.891 0, 1639454.783 605440.52 0,
+ 1639750.474 605478.165 0, 1640046.162 605515.829 0, 1640341.848 605553.509 0, 1640637.533 605591.207 0, 1640933.214 605628.922 0, 1641228.894 605666.655 0, 1641524.572 605704.405 0, 1641820.247 605742.173 0, 1642114.591 605779.788 0, 1642819.805 600262.666 0,
+ 1643524.972 594745.911 0))
+
+POLYGON ((1656304.263 607613.926 0, 1656010.023 607575.479 0, 1655714.456 607536.876 0, 1655418.886 607498.291 0, 1655123.315 607459.723 0, 1654827.74 607421.173 0, 1654532.164 607382.639 0, 1654236.585 607344.124 0, 1653941.004 607305.625 0, 1653645.421 607267.144 0,
+ 1653349.836 607228.681 0, 1653054.248 607190.235 0, 1652758.658 607151.806 0, 1652463.066 607113.394 0, 1652167.471 607075 0, 1651871.874 607036.624 0, 1651576.275 606998.265 0, 1651280.674 606959.923 0, 1650985.07 606921.598 0, 1650689.465 606883.292 0,
+ 1650393.857 606845.002 0, 1650098.246 606806.73 0, 1649802.634 606768.475 0, 1649507.019 606730.238 0, 1649210.075 606691.846 0, 1648915.783 606653.815 0, 1648620.161 606615.63 0, 1648324.537 606577.462 0, 1648028.911 606539.312 0, 1647733.283 606501.179 0,
+ 1647437.652 606463.063 0, 1647142.019 606424.965 0, 1646846.384 606386.884 0, 1646550.747 606348.821 0, 1646255.108 606310.775 0, 1645959.466 606272.746 0, 1645663.822 606234.735 0, 1645368.176 606196.741 0, 1645072.527 606158.765 0, 1644776.876 606120.806 0,
+ 1644481.223 606082.864 0, 1644185.568 606044.94 0, 1643889.911 606007.033 0, 1643594.251 605969.144 0, 1643298.589 605931.272 0, 1643002.925 605893.417 0, 1642707.259 605855.58 0, 1642411.59 605817.76 0, 1642114.591 605779.788 0, 1641409.331 611297.275 0,
+ 1640704.024 616815.125 0, 1641000.371 616853.013 0, 1641295.39 616890.75 0, 1641590.407 616928.504 0, 1641885.422 616966.276 0, 1642180.434 617004.064 0, 1642475.444 617041.871 0, 1642770.452 617079.694 0, 1643065.458 617117.535 0, 1643360.461 617155.393 0,
+ 1643655.462 617193.269 0, 1643950.461 617231.162 0, 1644245.458 617269.072 0, 1644540.453 617307 0, 1644835.445 617344.945 0, 1645130.435 617382.907 0, 1645425.423 617420.887 0, 1645720.409 617458.884 0, 1646015.392 617496.899 0, 1646310.373 617534.93 0,
+ 1646605.352 617572.98 0, 1646900.329 617611.046 0, 1647195.303 617649.13 0, 1647490.275 617687.232 0, 1647783.921 617725.179 0, 1648080.213 617763.486 0, 1648375.178 617801.64 0, 1648670.141 617839.81 0, 1648965.102 617877.999 0, 1649260.061 617916.204 0,
+ 1649555.017 617954.427 0, 1649849.972 617992.667 0, 1650144.923 618030.925 0, 1650439.873 618069.199 0, 1650734.821 618107.492 0, 1651029.766 618145.801 0, 1651324.709 618184.128 0, 1651619.649 618222.473 0, 1651914.588 618260.834 0, 1652209.524 618299.214 0,
+ 1652504.458 618337.61 0, 1652799.389 618376.024 0, 1653094.319 618414.455 0, 1653389.246 618452.903 0, 1653684.171 618491.369 0, 1653979.093 618529.853 0, 1654274.014 618568.353 0, 1654568.932 618606.871 0, 1654862.525 618645.234 0, 1655583.417 613129.399 0,
+ 1656304.263 607613.926 0))
+
+POLYGON ((1669015.798 620515.335 0, 1668722.312 620476.143 0, 1668427.504 620436.792 0, 1668132.694 620397.459 0, 1667837.881 620358.142 0, 1667543.066 620318.844 0, 1667248.249 620279.562 0, 1666953.429 620240.298 0, 1666658.607 620201.051 0, 1666363.783 620161.821 0,
+ 1666068.957 620122.609 0, 1665774.128 620083.414 0, 1665479.297 620044.237 0, 1665184.463 620005.077 0, 1664889.627 619965.934 0, 1664594.789 619926.809 0, 1664299.949 619887.701 0, 1664005.106 619848.61 0, 1663710.261 619809.536 0, 1663415.414 619770.481 0,
+ 1663120.565 619731.442 0, 1662825.713 619692.421 0, 1662530.858 619653.417 0, 1662236.002 619614.43 0, 1661939.822 619575.286 0, 1661646.282 619536.509 0, 1661351.419 619497.574 0, 1661056.553 619458.657 0, 1660761.685 619419.758 0, 1660466.815 619380.875 0,
+ 1660171.943 619342.01 0, 1659877.068 619303.162 0, 1659582.191 619264.332 0, 1659287.311 619225.519 0, 1658992.43 619186.723 0, 1658697.546 619147.945 0, 1658402.66 619109.184 0, 1658107.771 619070.44 0, 1657812.88 619031.714 0, 1657517.987 618993.005 0,
+ 1657223.092 618954.314 0, 1656928.194 618915.64 0, 1656633.294 618876.983 0, 1656338.392 618838.343 0, 1656043.488 618799.721 0, 1655748.581 618761.116 0, 1655453.672 618722.529 0, 1655158.761 618683.959 0, 1654862.525 618645.234 0, 1654141.585 624161.427 0,
+ 1653420.599 629677.975 0, 1653716.183 629716.615 0, 1654010.445 629755.1 0, 1654304.705 629793.603 0, 1654598.962 629832.123 0, 1654893.217 629870.66 0, 1655187.47 629909.214 0, 1655481.721 629947.786 0, 1655775.969 629986.375 0, 1656070.215 630024.981 0,
+ 1656364.459 630063.605 0, 1656658.7 630102.246 0, 1656952.939 630140.904 0, 1657247.176 630179.58 0, 1657541.411 630218.273 0, 1657835.643 630256.983 0, 1658129.873 630295.71 0, 1658424.101 630334.455 0, 1658718.326 630373.217 0, 1659012.55 630411.997 0,
+ 1659306.771 630450.794 0, 1659600.989 630489.608 0, 1659895.206 630528.439 0, 1660189.42 630567.288 0, 1660482.313 630605.98 0, 1660777.841 630645.038 0, 1661072.048 630683.938 0, 1661366.253 630722.856 0, 1661660.456 630761.792 0, 1661954.656 630800.744 0,
+ 1662248.854 630839.714 0, 1662543.05 630878.702 0, 1662837.243 630917.706 0, 1663131.435 630956.728 0, 1663425.624 630995.768 0, 1663719.81 631034.824 0, 1664013.994 631073.898 0, 1664308.176 631112.989 0, 1664602.356 631152.098 0, 1664896.533 631191.224 0,
+ 1665190.708 631230.367 0, 1665484.881 631269.527 0, 1665779.052 631308.705 0, 1666073.22 631347.9 0, 1666367.386 631387.112 0, 1666661.549 631426.342 0, 1666955.71 631465.589 0, 1667249.869 631504.854 0, 1667542.709 631543.959 0, 1668279.277 626029.47 0,
+ 1669015.798 620515.335 0))
+
+POLYGON ((1681659.491 633449.833 0, 1681366.76 633409.9 0, 1681072.714 633369.805 0, 1680778.664 633329.727 0, 1680484.613 633289.666 0, 1680190.559 633249.623 0, 1679896.503 633209.597 0, 1679602.444 633169.588 0, 1679308.383 633129.597 0, 1679014.32 633089.623 0,
+ 1678720.254 633049.666 0, 1678426.186 633009.727 0, 1678132.116 632969.805 0, 1677838.043 632929.9 0, 1677543.968 632890.012 0, 1677249.891 632850.142 0, 1676955.811 632810.289 0, 1676661.729 632770.453 0, 1676367.644 632730.635 0, 1676073.558 632690.834 0,
+ 1675779.468 632651.05 0, 1675485.377 632611.284 0, 1675191.283 632571.535 0, 1674897.187 632531.803 0, 1674601.773 632491.911 0, 1674308.988 632452.392 0, 1674014.884 632412.712 0, 1673720.779 632373.049 0, 1673426.671 632333.404 0, 1673132.561 632293.776 0,
+ 1672838.448 632254.166 0, 1672544.334 632214.572 0, 1672250.217 632174.996 0, 1671956.097 632135.438 0, 1671661.975 632095.896 0, 1671367.851 632056.372 0, 1671073.725 632016.865 0, 1670779.596 631977.376 0, 1670485.465 631937.904 0, 1670191.331 631898.449 0,
+ 1669897.196 631859.012 0, 1669603.057 631819.592 0, 1669308.917 631780.189 0, 1669014.774 631740.803 0, 1668720.629 631701.435 0, 1668426.482 631662.084 0, 1668132.332 631622.75 0, 1667838.18 631583.434 0, 1667542.709 631543.959 0, 1666806.094 637058.801 0,
+ 1666069.432 642573.991 0, 1666364.251 642613.379 0, 1666657.754 642652.609 0, 1666951.254 642691.855 0, 1667244.752 642731.119 0, 1667538.248 642770.401 0, 1667831.742 642809.699 0, 1668125.233 642849.015 0, 1668418.722 642888.348 0, 1668712.208 642927.699 0,
+ 1669005.693 642967.067 0, 1669299.175 643006.452 0, 1669592.654 643045.854 0, 1669886.132 643085.273 0, 1670179.607 643124.71 0, 1670473.079 643164.164 0, 1670766.55 643203.636 0, 1671060.018 643243.124 0, 1671353.483 643282.63 0, 1671646.947 643322.153 0,
+ 1671940.408 643361.694 0, 1672233.867 643401.251 0, 1672527.323 643440.826 0, 1672820.777 643480.419 0, 1673112.916 643519.851 0, 1673407.678 643559.655 0, 1673701.125 643599.299 0, 1673994.57 643638.96 0, 1674288.012 643678.639 0, 1674581.452 643718.335 0,
+ 1674874.89 643758.048 0, 1675168.326 643797.779 0, 1675461.759 643837.526 0, 1675755.189 643877.291 0, 1676048.618 643917.073 0, 1676342.044 643956.873 0, 1676635.467 643996.69 0, 1676928.889 644036.524 0, 1677222.308 644076.375 0, 1677515.724 644116.244 0,
+ 1677809.139 644156.13 0, 1678102.551 644196.033 0, 1678395.96 644235.953 0, 1678689.368 644275.891 0, 1678982.773 644315.846 0, 1679276.175 644355.818 0, 1679569.575 644395.807 0, 1679862.973 644435.814 0, 1680155.057 644475.659 0, 1680907.298 638962.572 0,
+ 1681659.491 633449.833 0))
+
+POLYGON ((1694235.254 646417.114 0, 1693943.281 646376.444 0, 1693649.998 646335.608 0, 1693356.712 646294.79 0, 1693063.423 646253.989 0, 1692770.132 646213.205 0, 1692476.839 646172.439 0, 1692183.544 646131.69 0, 1691890.245 646090.958 0, 1691596.945 646050.243 0,
+ 1691303.642 646009.546 0, 1691010.337 645968.865 0, 1690717.029 645928.203 0, 1690423.719 645887.557 0, 1690130.407 645846.929 0, 1689837.092 645806.318 0, 1689543.775 645765.724 0, 1689250.455 645725.147 0, 1688957.133 645684.588 0, 1688663.809 645644.046 0,
+ 1688370.482 645603.521 0, 1688077.153 645563.014 0, 1687783.821 645522.524 0, 1687490.488 645482.051 0, 1687195.841 645441.414 0, 1686903.813 645401.156 0, 1686610.472 645360.735 0, 1686317.128 645320.331 0, 1686023.782 645279.945 0, 1685730.434 645239.575 0,
+ 1685437.084 645199.223 0, 1685143.731 645158.888 0, 1684850.375 645118.571 0, 1684557.018 645078.271 0, 1684263.658 645037.988 0, 1683970.295 644997.722 0, 1683676.93 644957.473 0, 1683383.563 644917.242 0, 1683090.194 644877.028 0, 1682796.822 644836.831 0,
+ 1682503.448 644796.652 0, 1682210.071 644756.49 0, 1681916.692 644716.345 0, 1681623.311 644676.217 0, 1681329.927 644636.107 0, 1681036.541 644596.014 0, 1680743.153 644555.938 0, 1680449.762 644515.879 0, 1680155.057 644475.659 0, 1679402.77 649989.092 0,
+ 1678650.435 655502.867 0, 1678944.488 655542.998 0, 1679237.23 655582.968 0, 1679529.969 655622.955 0, 1679822.706 655662.96 0, 1680115.441 655702.981 0, 1680408.173 655743.02 0, 1680700.903 655783.076 0, 1680993.631 655823.15 0, 1681286.356 655863.24 0,
+ 1681579.079 655903.348 0, 1681871.799 655943.473 0, 1682164.518 655983.615 0, 1682457.233 656023.775 0, 1682749.947 656063.951 0, 1683042.658 656104.145 0, 1683335.367 656144.356 0, 1683628.073 656184.585 0, 1683920.777 656224.83 0, 1684213.479 656265.093 0,
+ 1684506.178 656305.373 0, 1684798.875 656345.671 0, 1685091.569 656385.985 0, 1685384.261 656426.317 0, 1685675.644 656466.486 0, 1685969.638 656507.032 0, 1686262.323 656547.415 0, 1686555.006 656587.816 0, 1686847.686 656628.234 0, 1687140.364 656668.669 0,
+ 1687433.04 656709.121 0, 1687725.713 656749.591 0, 1688018.383 656790.078 0, 1688311.052 656830.582 0, 1688603.718 656871.103 0, 1688896.381 656911.641 0, 1689189.042 656952.197 0, 1689481.701 656992.77 0, 1689774.358 657033.36 0, 1690067.012 657073.968 0,
+ 1690359.663 657114.592 0, 1690652.313 657155.234 0, 1690944.959 657195.893 0, 1691237.604 657236.569 0, 1691530.246 657277.263 0, 1691822.885 657317.973 0, 1692115.523 657358.701 0, 1692408.158 657399.447 0, 1692699.484 657440.027 0, 1693467.393 651928.399 0,
+ 1694235.254 646417.114 0))
+
+POLYGON ((1706743.004 659416.87 0, 1706451.791 659375.467 0, 1706159.273 659333.895 0, 1705866.752 659292.34 0, 1705574.228 659250.803 0, 1705281.702 659209.283 0, 1704989.174 659167.78 0, 1704696.643 659126.294 0, 1704404.11 659084.826 0, 1704111.574 659043.375 0,
+ 1703819.036 659001.941 0, 1703526.496 658960.524 0, 1703233.953 658919.124 0, 1702941.407 658877.742 0, 1702648.859 658836.377 0, 1702356.309 658795.029 0, 1702063.756 658753.698 0, 1701771.201 658712.385 0, 1701478.643 658671.089 0, 1701186.083 658629.81 0,
+ 1700893.521 658588.548 0, 1700600.956 658547.303 0, 1700308.389 658506.076 0, 1700015.819 658464.866 0, 1699721.942 658423.489 0, 1699430.672 658382.497 0, 1699138.095 658341.339 0, 1698845.516 658300.197 0, 1698552.934 658259.073 0, 1698260.35 658217.966 0,
+ 1697967.763 658176.877 0, 1697675.174 658135.804 0, 1697382.582 658094.749 0, 1697089.988 658053.711 0, 1696797.392 658012.691 0, 1696504.793 657971.687 0, 1696212.192 657930.701 0, 1695919.589 657889.732 0, 1695626.983 657848.78 0, 1695334.374 657807.845 0,
+ 1695041.763 657766.928 0, 1694749.15 657726.028 0, 1694456.534 657685.145 0, 1694163.916 657644.279 0, 1693871.296 657603.431 0, 1693578.673 657562.599 0, 1693286.048 657521.785 0, 1692993.42 657480.989 0, 1692699.484 657440.027 0, 1691931.528 662951.994 0,
+ 1691163.526 668464.296 0, 1691456.81 668505.166 0, 1691748.789 668545.873 0, 1692040.765 668586.596 0, 1692332.739 668627.337 0, 1692624.711 668668.095 0, 1692916.68 668708.87 0, 1693208.647 668749.662 0, 1693500.611 668790.472 0, 1693792.573 668831.299 0,
+ 1694084.533 668872.142 0, 1694376.49 668913.003 0, 1694668.445 668953.882 0, 1694960.397 668994.777 0, 1695252.347 669035.69 0, 1695544.294 669076.619 0, 1695836.24 669117.566 0, 1696128.182 669158.53 0, 1696420.123 669199.512 0, 1696712.061 669240.51 0,
+ 1697003.996 669281.526 0, 1697295.929 669322.559 0, 1697587.86 669363.609 0, 1697879.788 669404.676 0, 1698170.413 669445.577 0, 1698463.637 669486.862 0, 1698755.558 669527.981 0, 1699047.477 669569.117 0, 1699339.393 669610.27 0, 1699631.307 669651.44 0,
+ 1699923.218 669692.628 0, 1700215.127 669733.832 0, 1700507.034 669775.054 0, 1700798.938 669816.293 0, 1701090.839 669857.55 0, 1701382.739 669898.823 0, 1701674.635 669940.114 0, 1701966.53 669981.421 0, 1702258.421 670022.746 0, 1702550.311 670064.088 0,
+ 1702842.198 670105.448 0, 1703134.083 670146.824 0, 1703425.965 670188.218 0, 1703717.844 670229.629 0, 1704009.722 670271.057 0, 1704301.597 670312.502 0, 1704593.469 670353.964 0, 1704885.339 670395.444 0, 1705175.906 670436.756 0, 1705959.479 664926.645 0,
+ 1706743.004 659416.87 0))
+
+POLYGON ((1719182.659 672448.795 0, 1718892.207 672406.662 0, 1718600.455 672364.358 0, 1718308.701 672322.072 0, 1718016.944 672279.802 0, 1717725.185 672237.55 0, 1717433.424 672195.314 0, 1717141.66 672153.096 0, 1716849.893 672110.895 0, 1716558.124 672068.711 0,
+ 1716266.353 672026.545 0, 1715974.579 671984.395 0, 1715682.802 671942.263 0, 1715391.023 671900.148 0, 1715099.242 671858.05 0, 1714807.458 671815.969 0, 1714515.672 671773.906 0, 1714223.883 671731.859 0, 1713932.092 671689.83 0, 1713640.298 671647.818 0,
+ 1713348.501 671605.823 0, 1713056.703 671563.846 0, 1712764.902 671521.885 0, 1712473.098 671479.942 0, 1712179.993 671437.829 0, 1711889.483 671396.107 0, 1711597.672 671354.215 0, 1711305.858 671312.34 0, 1711014.042 671270.483 0, 1710722.224 671228.642 0,
+ 1710430.403 671186.819 0, 1710138.58 671145.013 0, 1709846.754 671103.225 0, 1709554.926 671061.453 0, 1709263.095 671019.699 0, 1708971.262 670977.961 0, 1708679.426 670936.241 0, 1708387.588 670894.539 0, 1708095.747 670852.853 0, 1707803.904 670811.184 0,
+ 1707512.059 670769.533 0, 1707220.211 670727.899 0, 1706928.36 670686.282 0, 1706636.507 670644.682 0, 1706344.652 670603.099 0, 1706052.794 670561.534 0, 1705760.934 670519.986 0, 1705469.072 670478.455 0, 1705175.906 670436.756 0, 1704392.286 675947.199 0,
+ 1703608.619 681457.971 0, 1703901.133 681499.577 0, 1704192.347 681541.016 0, 1704483.558 681582.471 0, 1704774.767 681623.945 0, 1705065.974 681665.435 0, 1705357.178 681706.942 0, 1705648.38 681748.467 0, 1705939.579 681790.008 0, 1706230.776 681831.567 0,
+ 1706521.97 681873.143 0, 1706813.162 681914.736 0, 1707104.352 681956.346 0, 1707395.539 681997.973 0, 1707686.724 682039.618 0, 1707977.906 682081.28 0, 1708269.086 682122.958 0, 1708560.263 682164.654 0, 1708851.438 682206.367 0, 1709142.61 682248.097 0,
+ 1709433.78 682289.845 0, 1709724.947 682331.609 0, 1710016.112 682373.391 0, 1710307.275 682415.189 0, 1710597.139 682456.819 0, 1710889.592 682498.838 0, 1711180.747 682540.688 0, 1711471.9 682582.556 0, 1711763.05 682624.44 0, 1712054.198 682666.341 0,
+ 1712345.343 682708.26 0, 1712636.486 682750.196 0, 1712927.626 682792.149 0, 1713218.764 682834.119 0, 1713509.9 682876.106 0, 1713801.033 682918.11 0, 1714092.163 682960.132 0, 1714383.291 683002.171 0, 1714674.417 683044.226 0, 1714965.54 683086.299 0,
+ 1715256.66 683128.389 0, 1715547.778 683170.496 0, 1715838.894 683212.621 0, 1716130.007 683254.762 0, 1716421.118 683296.921 0, 1716712.226 683339.096 0, 1717003.331 683381.289 0, 1717294.434 683423.499 0, 1717584.241 683465.538 0, 1718383.474 677957.002 0,
+ 1719182.659 672448.795 0))
+
+POLYGON ((1731554.135 685512.582 0, 1731264.446 685469.724 0, 1730973.463 685426.691 0, 1730682.478 685383.676 0, 1730391.49 685340.678 0, 1730100.5 685297.698 0, 1729809.507 685254.734 0, 1729518.512 685211.787 0, 1729227.514 685168.858 0, 1728936.513 685125.945 0,
+ 1728645.51 685083.05 0, 1728354.505 685040.172 0, 1728063.497 684997.311 0, 1727772.486 684954.467 0, 1727481.473 684911.641 0, 1727190.457 684868.831 0, 1726899.439 684826.039 0, 1726608.419 684783.264 0, 1726317.395 684740.505 0, 1726026.37 684697.764 0,
+ 1725735.342 684655.04 0, 1725444.311 684612.334 0, 1725153.278 684569.644 0, 1724862.242 684526.971 0, 1724569.911 684484.127 0, 1724280.163 684441.678 0, 1723989.12 684399.057 0, 1723698.074 684356.453 0, 1723407.026 684313.866 0, 1723115.975 684271.296 0,
+ 1722824.922 684228.744 0, 1722533.866 684186.208 0, 1722242.807 684143.69 0, 1721951.747 684101.188 0, 1721660.683 684058.704 0, 1721369.618 684016.237 0, 1721078.549 683973.788 0, 1720787.479 683931.355 0, 1720496.405 683888.939 0, 1720205.329 683846.541 0,
+ 1719914.251 683804.16 0, 1719623.17 683761.796 0, 1719332.087 683719.449 0, 1719041.001 683677.119 0, 1718749.913 683634.806 0, 1718458.822 683592.51 0, 1718167.729 683550.232 0, 1717876.633 683507.97 0, 1717584.241 683465.538 0, 1716784.961 688974.4 0,
+ 1715985.634 694483.584 0, 1716277.375 694525.922 0, 1716567.822 694568.089 0, 1716858.267 694610.273 0, 1717148.709 694652.475 0, 1717439.149 694694.693 0, 1717729.586 694736.929 0, 1718020.021 694779.181 0, 1718310.454 694821.451 0, 1718600.883 694863.738 0,
+ 1718891.311 694906.042 0, 1719181.736 694948.363 0, 1719472.158 694990.701 0, 1719762.578 695033.056 0, 1720052.995 695075.429 0, 1720343.41 695117.818 0, 1720633.822 695160.225 0, 1720924.232 695202.648 0, 1721214.64 695245.089 0, 1721505.045 695287.547 0,
+ 1721795.447 695330.022 0, 1722085.847 695372.514 0, 1722376.244 695415.023 0, 1722666.639 695457.549 0, 1722955.741 695499.903 0, 1723247.421 695542.653 0, 1723537.809 695585.23 0, 1723828.194 695627.825 0, 1724118.576 695670.436 0, 1724408.956 695713.065 0,
+ 1724699.333 695755.711 0, 1724989.708 695798.374 0, 1725280.08 695841.054 0, 1725570.45 695883.751 0, 1725860.818 695926.465 0, 1726151.182 695969.196 0, 1726441.545 696011.945 0, 1726731.904 696054.71 0, 1727022.262 696097.493 0, 1727312.616 696140.292 0,
+ 1727602.968 696183.109 0, 1727893.318 696225.943 0, 1728183.665 696268.794 0, 1728474.01 696311.662 0, 1728764.352 696354.547 0, 1729054.692 696397.449 0, 1729345.029 696440.368 0, 1729635.363 696483.305 0, 1729924.406 696526.067 0, 1730739.294 691019.163 0,
+ 1731554.135 685512.582 0))
+
+POLYGON ((1743857.353 698607.922 0, 1743568.429 698564.342 0, 1743278.217 698520.586 0, 1742988.003 698476.847 0, 1742697.785 698433.124 0, 1742407.566 698389.419 0, 1742117.343 698345.731 0, 1741827.118 698302.06 0, 1741536.891 698258.406 0, 1741246.661 698214.769 0,
+ 1740956.428 698171.149 0, 1740666.193 698127.547 0, 1740375.955 698083.961 0, 1740085.715 698040.393 0, 1739795.472 697996.841 0, 1739505.226 697953.307 0, 1739214.978 697909.79 0, 1738924.728 697866.289 0, 1738634.475 697822.806 0, 1738344.219 697779.34 0,
+ 1738053.961 697735.891 0, 1737763.7 697692.46 0, 1737473.437 697649.045 0, 1737183.171 697605.647 0, 1736891.615 697562.074 0, 1736602.631 697518.903 0, 1736312.358 697475.557 0, 1736022.081 697432.227 0, 1735731.803 697388.915 0, 1735441.521 697345.62 0,
+ 1735151.238 697302.342 0, 1734860.951 697259.081 0, 1734570.662 697215.837 0, 1734280.371 697172.61 0, 1733990.077 697129.4 0, 1733699.781 697086.208 0, 1733409.482 697043.032 0, 1733119.18 696999.874 0, 1732828.876 696956.732 0, 1732538.569 696913.608 0,
+ 1732248.26 696870.501 0, 1731957.948 696827.41 0, 1731667.634 696784.337 0, 1731377.317 696741.281 0, 1731086.998 696698.243 0, 1730796.676 696655.221 0, 1730506.352 696612.216 0, 1730216.025 696569.229 0, 1729924.406 696526.067 0, 1729109.471 702033.29 0,
+ 1728294.489 707540.829 0, 1728585.456 707583.894 0, 1728875.135 707626.785 0, 1729164.811 707669.694 0, 1729454.484 707712.62 0, 1729744.156 707755.563 0, 1730033.824 707798.522 0, 1730323.49 707841.499 0, 1730613.154 707884.493 0, 1730902.814 707927.504 0,
+ 1731192.473 707970.532 0, 1731482.129 708013.577 0, 1731771.782 708056.639 0, 1732061.433 708099.718 0, 1732351.081 708142.815 0, 1732640.727 708185.928 0, 1732930.37 708229.058 0, 1733220.011 708272.206 0, 1733509.649 708315.37 0, 1733799.285 708358.551 0,
+ 1734088.918 708401.75 0, 1734378.548 708444.965 0, 1734668.176 708488.198 0, 1734957.801 708531.448 0, 1735246.14 708574.522 0, 1735537.045 708617.998 0, 1735826.662 708661.299 0, 1736116.278 708704.617 0, 1736405.89 708747.951 0, 1736695.5 708791.303 0,
+ 1736985.108 708834.672 0, 1737274.713 708878.058 0, 1737564.315 708921.461 0, 1737853.915 708964.881 0, 1738143.513 709008.319 0, 1738433.107 709051.773 0, 1738722.7 709095.244 0, 1739012.289 709138.732 0, 1739301.876 709182.238 0, 1739591.461 709225.76 0,
+ 1739881.043 709269.299 0, 1740170.622 709312.856 0, 1740460.199 709356.429 0, 1740749.773 709400.02 0, 1741039.345 709443.627 0, 1741328.914 709487.252 0, 1741618.481 709530.894 0, 1741908.045 709574.552 0, 1742196.323 709618.035 0, 1743026.862 704112.82 0,
+ 1743857.353 698607.922 0))
+
+POLYGON ((1497441.996 466543.534 0, 1497139.519 466514.398 0, 1496835.649 466485.147 0, 1496531.778 466455.913 0, 1496227.905 466426.697 0, 1495924.03 466397.499 0, 1495620.153 466368.319 0, 1495316.275 466339.157 0, 1495012.395 466310.012 0, 1494708.513 466280.886 0,
+ 1494404.63 466251.777 0, 1494100.745 466222.686 0, 1493796.858 466193.613 0, 1493492.97 466164.558 0, 1493189.079 466135.521 0, 1492885.188 466106.502 0, 1492581.294 466077.501 0, 1492277.399 466048.517 0, 1491973.501 466019.552 0, 1491669.603 465990.604 0,
+ 1491365.702 465961.675 0, 1491061.8 465932.763 0, 1490757.896 465903.869 0, 1490453.991 465874.993 0, 1490148.691 465846.002 0, 1489846.174 465817.294 0, 1489542.264 465788.472 0, 1489238.351 465759.667 0, 1488934.437 465730.881 0, 1488630.522 465702.112 0,
+ 1488326.604 465673.361 0, 1488022.685 465644.628 0, 1487718.764 465615.913 0, 1487414.842 465587.216 0, 1487110.918 465558.536 0, 1486806.992 465529.875 0, 1486503.064 465501.231 0, 1486199.135 465472.606 0, 1485895.204 465443.998 0, 1485591.271 465415.408 0,
+ 1485287.337 465386.836 0, 1484983.401 465358.282 0, 1484679.463 465329.746 0, 1484375.524 465301.227 0, 1484071.583 465272.727 0, 1483767.64 465244.244 0, 1483463.696 465215.78 0, 1483159.75 465187.333 0, 1482854.409 465158.774 0, 1482337.393 470688.221 0,
+ 1481820.338 476218.099 0, 1482125.025 476246.597 0, 1482428.32 476274.983 0, 1482731.614 476303.387 0, 1483034.906 476331.808 0, 1483338.196 476360.248 0, 1483641.484 476388.705 0, 1483944.771 476417.18 0, 1484248.056 476445.673 0, 1484551.339 476474.184 0,
+ 1484854.621 476502.712 0, 1485157.901 476531.259 0, 1485461.179 476559.823 0, 1485764.456 476588.405 0, 1486067.731 476617.005 0, 1486371.004 476645.623 0, 1486674.276 476674.259 0, 1486977.546 476702.913 0, 1487280.814 476731.584 0, 1487584.081 476760.273 0,
+ 1487887.346 476788.981 0, 1488190.609 476817.706 0, 1488493.87 476846.448 0, 1488797.13 476875.209 0, 1489098.999 476903.856 0, 1489403.645 476932.784 0, 1489706.899 476961.598 0, 1490010.152 476990.43 0, 1490313.404 477019.28 0, 1490616.653 477048.148 0,
+ 1490919.901 477077.034 0, 1491223.148 477105.937 0, 1491526.392 477134.859 0, 1491829.635 477163.798 0, 1492132.876 477192.755 0, 1492436.115 477221.73 0, 1492739.353 477250.723 0, 1493042.589 477279.733 0, 1493345.823 477308.762 0, 1493649.056 477337.808 0,
+ 1493952.287 477366.872 0, 1494255.516 477395.954 0, 1494558.743 477425.054 0, 1494861.969 477454.171 0, 1495165.193 477483.307 0, 1495468.416 477512.46 0, 1495771.636 477541.631 0, 1496074.855 477570.821 0, 1496376.684 477599.894 0, 1496909.361 472071.499 0,
+ 1497441.996 466543.534 0))
+
+POLYGON ((1510929.069 479022.807 0, 1510627.321 478992.881 0, 1510324.185 478962.836 0, 1510021.048 478932.808 0, 1509717.91 478902.798 0, 1509414.769 478872.806 0, 1509111.627 478842.832 0, 1508808.483 478812.875 0, 1508505.337 478782.937 0, 1508202.19 478753.016 0,
+ 1507899.04 478723.113 0, 1507595.889 478693.228 0, 1507292.736 478663.361 0, 1506989.582 478633.512 0, 1506686.425 478603.68 0, 1506383.267 478573.867 0, 1506080.107 478544.071 0, 1505776.946 478514.293 0, 1505473.782 478484.533 0, 1505170.617 478454.791 0,
+ 1504867.451 478425.066 0, 1504564.282 478395.36 0, 1504261.112 478365.671 0, 1503957.939 478336 0, 1503653.379 478306.211 0, 1503351.59 478276.712 0, 1503048.413 478247.094 0, 1502745.234 478217.495 0, 1502442.053 478187.913 0, 1502138.87 478158.349 0,
+ 1501835.686 478128.803 0, 1501532.5 478099.275 0, 1501229.312 478069.765 0, 1500926.123 478040.273 0, 1500622.931 478010.798 0, 1500319.738 477981.341 0, 1500016.544 477951.902 0, 1499713.347 477922.481 0, 1499410.149 477893.078 0, 1499106.949 477863.693 0,
+ 1498803.747 477834.325 0, 1498500.544 477804.975 0, 1498197.339 477775.644 0, 1497894.132 477746.33 0, 1497590.924 477717.034 0, 1497287.713 477687.755 0, 1496984.501 477658.495 0, 1496681.288 477629.252 0, 1496376.684 477599.894 0, 1495843.967 483128.717 0,
+ 1495311.208 488657.964 0, 1495615.158 488687.259 0, 1495917.72 488716.439 0, 1496220.282 488745.637 0, 1496522.841 488774.852 0, 1496825.399 488804.086 0, 1497127.955 488833.337 0, 1497430.509 488862.605 0, 1497733.061 488891.892 0, 1498035.612 488921.197 0,
+ 1498338.161 488950.519 0, 1498640.709 488979.859 0, 1498943.254 489009.217 0, 1499245.798 489038.593 0, 1499548.34 489067.986 0, 1499850.881 489097.397 0, 1500153.42 489126.827 0, 1500455.957 489156.274 0, 1500758.492 489185.738 0, 1501061.025 489215.221 0,
+ 1501363.557 489244.721 0, 1501666.087 489274.239 0, 1501968.616 489303.775 0, 1502271.142 489333.329 0, 1502572.283 489362.765 0, 1502876.19 489392.49 0, 1503178.711 489422.097 0, 1503481.231 489451.722 0, 1503783.749 489481.365 0, 1504086.265 489511.026 0,
+ 1504388.779 489540.704 0, 1504691.292 489570.4 0, 1504993.803 489600.114 0, 1505296.312 489629.846 0, 1505598.819 489659.596 0, 1505901.325 489689.363 0, 1506203.829 489719.149 0, 1506506.331 489748.952 0, 1506808.831 489778.772 0, 1507111.33 489808.611 0,
+ 1507413.827 489838.468 0, 1507716.322 489868.342 0, 1508018.815 489898.234 0, 1508321.307 489928.144 0, 1508623.796 489958.072 0, 1508926.284 489988.017 0, 1509228.771 490017.98 0, 1509531.255 490047.961 0, 1509832.356 490077.823 0, 1510380.733 484550.103 0,
+ 1510929.069 479022.807 0))
+
+POLYGON ((1524349.434 491538.702 0, 1524048.417 491507.989 0, 1523746.018 491477.154 0, 1523443.618 491446.336 0, 1523141.216 491415.536 0, 1522838.812 491384.754 0, 1522536.406 491353.989 0, 1522233.998 491323.243 0, 1521931.589 491292.514 0, 1521629.177 491261.803 0,
+ 1521326.764 491231.11 0, 1521024.349 491200.435 0, 1520721.933 491169.777 0, 1520419.514 491139.137 0, 1520117.094 491108.515 0, 1519814.672 491077.911 0, 1519512.248 491047.325 0, 1519209.822 491016.756 0, 1518907.395 490986.205 0, 1518604.965 490955.672 0,
+ 1518302.534 490925.157 0, 1518000.101 490894.66 0, 1517697.667 490864.18 0, 1517395.23 490833.719 0, 1517091.411 490803.136 0, 1516790.352 490772.849 0, 1516487.91 490742.44 0, 1516185.466 490712.05 0, 1515883.021 490681.677 0, 1515580.574 490651.322 0,
+ 1515278.125 490620.985 0, 1514975.674 490590.665 0, 1514673.221 490560.364 0, 1514370.767 490530.08 0, 1514068.311 490499.814 0, 1513765.853 490469.566 0, 1513463.393 490439.336 0, 1513160.931 490409.123 0, 1512858.468 490378.928 0, 1512556.003 490348.752 0,
+ 1512253.536 490318.592 0, 1511951.068 490288.451 0, 1511648.597 490258.328 0, 1511346.125 490228.222 0, 1511043.651 490198.134 0, 1510741.176 490168.064 0, 1510438.698 490138.012 0, 1510136.219 490107.977 0, 1509832.356 490077.823 0, 1509283.936 495605.965 0,
+ 1508735.475 501134.525 0, 1509038.685 501164.614 0, 1509340.513 501194.584 0, 1509642.34 501224.572 0, 1509944.165 501254.577 0, 1510245.988 501284.6 0, 1510547.81 501314.641 0, 1510849.629 501344.7 0, 1511151.447 501374.776 0, 1511453.263 501404.871 0,
+ 1511755.077 501434.983 0, 1512056.89 501465.112 0, 1512358.701 501495.26 0, 1512660.51 501525.425 0, 1512962.317 501555.608 0, 1513264.122 501585.809 0, 1513565.926 501616.028 0, 1513867.728 501646.264 0, 1514169.528 501676.518 0, 1514471.326 501706.79 0,
+ 1514773.123 501737.08 0, 1515074.917 501767.387 0, 1515376.71 501797.712 0, 1515678.502 501828.055 0, 1515978.913 501858.277 0, 1516282.079 501888.794 0, 1516583.864 501919.191 0, 1516885.648 501949.605 0, 1517187.431 501980.036 0, 1517489.211 502010.486 0,
+ 1517790.99 502040.953 0, 1518092.767 502071.438 0, 1518394.542 502101.941 0, 1518696.315 502132.462 0, 1518998.086 502163 0, 1519299.856 502193.556 0, 1519601.624 502224.13 0, 1519903.39 502254.721 0, 1520205.154 502285.331 0, 1520506.917 502315.958 0,
+ 1520808.677 502346.603 0, 1521110.436 502377.265 0, 1521412.193 502407.946 0, 1521713.949 502438.644 0, 1522015.702 502469.36 0, 1522317.454 502500.094 0, 1522619.203 502530.845 0, 1522920.951 502561.614 0, 1523221.321 502592.261 0, 1523785.399 497065.272 0,
+ 1524349.434 491538.702 0))
+
+POLYGON ((1537702.991 504090.915 0, 1537402.706 504059.42 0, 1537101.047 504027.799 0, 1536799.385 503996.195 0, 1536497.721 503964.609 0, 1536196.056 503933.04 0, 1535894.388 503901.49 0, 1535592.719 503869.957 0, 1535291.048 503838.442 0, 1534989.375 503806.945 0,
+ 1534687.701 503775.465 0, 1534386.024 503744.003 0, 1534084.346 503712.559 0, 1533782.665 503681.133 0, 1533480.983 503649.725 0, 1533179.299 503618.334 0, 1532877.613 503586.961 0, 1532575.926 503555.606 0, 1532274.236 503524.268 0, 1531972.545 503492.948 0,
+ 1531670.852 503461.647 0, 1531369.156 503430.362 0, 1531067.46 503399.096 0, 1530765.761 503367.847 0, 1530462.685 503336.474 0, 1530162.358 503305.403 0, 1529860.654 503274.208 0, 1529558.948 503243.03 0, 1529257.24 503211.87 0, 1528955.53 503180.728 0,
+ 1528653.818 503149.603 0, 1528352.105 503118.497 0, 1528050.39 503087.408 0, 1527748.673 503056.337 0, 1527446.954 503025.284 0, 1527145.233 502994.248 0, 1526843.51 502963.23 0, 1526541.786 502932.23 0, 1526240.06 502901.248 0, 1525938.332 502870.283 0,
+ 1525636.602 502839.336 0, 1525334.87 502808.407 0, 1525033.137 502777.496 0, 1524731.401 502746.602 0, 1524429.664 502715.727 0, 1524127.925 502684.869 0, 1523826.185 502654.028 0, 1523524.442 502623.206 0, 1523221.321 502592.261 0, 1522657.201 508119.665 0,
+ 1522093.038 513647.481 0, 1522395.506 513678.36 0, 1522696.598 513709.116 0, 1522997.688 513739.89 0, 1523298.776 513770.681 0, 1523599.862 513801.49 0, 1523900.947 513832.317 0, 1524202.03 513863.162 0, 1524503.111 513894.024 0, 1524804.19 513924.904 0,
+ 1525105.267 513955.802 0, 1525406.343 513986.718 0, 1525707.417 514017.651 0, 1526008.489 514048.602 0, 1526309.559 514079.57 0, 1526610.627 514110.557 0, 1526911.693 514141.561 0, 1527212.758 514172.583 0, 1527513.821 514203.622 0, 1527814.882 514234.68 0,
+ 1528115.941 514265.755 0, 1528416.998 514296.847 0, 1528718.054 514327.958 0, 1529019.107 514359.086 0, 1529318.787 514390.09 0, 1529621.209 514421.395 0, 1529922.257 514452.577 0, 1530223.304 514483.776 0, 1530524.348 514514.992 0, 1530825.391 514546.227 0,
+ 1531126.432 514577.479 0, 1531427.471 514608.749 0, 1531728.508 514640.037 0, 1532029.543 514671.342 0, 1532330.576 514702.665 0, 1532631.608 514734.006 0, 1532932.638 514765.364 0, 1533233.666 514796.741 0, 1533534.692 514828.134 0, 1533835.716 514859.546 0,
+ 1534136.738 514890.975 0, 1534437.759 514922.423 0, 1534738.777 514953.887 0, 1535039.794 514985.37 0, 1535340.809 515016.87 0, 1535641.822 515048.388 0, 1535942.833 515079.924 0, 1536243.843 515111.477 0, 1536543.479 515142.904 0, 1537123.257 509616.704 0,
+ 1537702.991 504090.915 0))
+
+POLYGON ((1550989.638 516679.147 0, 1550690.089 516646.873 0, 1550389.17 516614.469 0, 1550088.249 516582.083 0, 1549787.326 516549.715 0, 1549486.401 516517.364 0, 1549185.475 516485.031 0, 1548884.546 516452.716 0, 1548583.616 516420.419 0, 1548282.683 516388.139 0,
+ 1547981.749 516355.877 0, 1547680.813 516323.633 0, 1547379.875 516291.406 0, 1547078.935 516259.198 0, 1546777.993 516227.007 0, 1546477.049 516194.833 0, 1546176.104 516162.677 0, 1545875.156 516130.539 0, 1545574.207 516098.419 0, 1545273.255 516066.317 0,
+ 1544972.302 516034.232 0, 1544671.347 516002.165 0, 1544370.39 515970.115 0, 1544069.431 515938.084 0, 1543767.101 515905.924 0, 1543467.508 515874.073 0, 1543166.544 515842.095 0, 1542865.577 515810.134 0, 1542564.609 515778.191 0, 1542263.639 515746.265 0,
+ 1541962.667 515714.358 0, 1541661.693 515682.468 0, 1541360.717 515650.595 0, 1541059.739 515618.741 0, 1540758.76 515586.904 0, 1540457.778 515555.085 0, 1540156.795 515523.283 0, 1539855.81 515491.5 0, 1539554.823 515459.734 0, 1539253.834 515427.985 0,
+ 1538952.843 515396.255 0, 1538651.851 515364.542 0, 1538350.856 515332.847 0, 1538049.86 515301.17 0, 1537748.862 515269.51 0, 1537447.862 515237.868 0, 1537146.86 515206.244 0, 1536845.856 515174.637 0, 1536543.479 515142.904 0, 1535963.659 520669.514 0,
+ 1535383.796 526196.53 0, 1535685.519 526228.194 0, 1535985.873 526259.733 0, 1536286.224 526291.289 0, 1536586.573 526322.862 0, 1536886.921 526354.453 0, 1537187.267 526386.062 0, 1537487.611 526417.689 0, 1537787.953 526449.333 0, 1538088.293 526480.995 0,
+ 1538388.631 526512.675 0, 1538688.968 526544.372 0, 1538989.302 526576.087 0, 1539289.635 526607.82 0, 1539589.966 526639.57 0, 1539890.295 526671.338 0, 1540190.622 526703.124 0, 1540490.947 526734.927 0, 1540791.271 526766.748 0, 1541091.592 526798.587 0,
+ 1541391.912 526830.444 0, 1541692.23 526862.318 0, 1541992.546 526894.209 0, 1542292.86 526926.119 0, 1542591.805 526957.901 0, 1542893.482 526989.991 0, 1543193.79 527021.953 0, 1543494.097 527053.933 0, 1543794.401 527085.931 0, 1544094.704 527117.947 0,
+ 1544395.005 527149.98 0, 1544695.304 527182.031 0, 1544995.601 527214.099 0, 1545295.896 527246.185 0, 1545596.189 527278.289 0, 1545896.481 527310.411 0, 1546196.77 527342.55 0, 1546497.058 527374.707 0, 1546797.343 527406.882 0, 1547097.627 527439.074 0,
+ 1547397.909 527471.284 0, 1547698.189 527503.511 0, 1547998.467 527535.757 0, 1548298.744 527568.02 0, 1548599.018 527600.3 0, 1548899.29 527632.598 0, 1549199.561 527664.914 0, 1549499.83 527697.248 0, 1549798.731 527729.452 0, 1550394.206 522204.096 0,
+ 1550989.638 516679.147 0))
+
+POLYGON ((1564209.277 529303.093 0, 1563910.466 529270.044 0, 1563610.29 529236.862 0, 1563310.112 529203.698 0, 1563009.932 529170.551 0, 1562709.75 529137.423 0, 1562409.566 529104.311 0, 1562109.38 529071.218 0, 1561809.192 529038.142 0, 1561509.002 529005.084 0,
+ 1561208.811 528972.044 0, 1560908.617 528939.021 0, 1560608.422 528906.016 0, 1560308.224 528873.028 0, 1560008.025 528840.058 0, 1559707.823 528807.106 0, 1559407.62 528774.172 0, 1559107.415 528741.255 0, 1558807.208 528708.356 0, 1558506.998 528675.474 0,
+ 1558206.787 528642.611 0, 1557906.574 528609.765 0, 1557606.359 528576.936 0, 1557306.143 528544.125 0, 1557004.56 528511.183 0, 1556705.703 528478.557 0, 1556405.48 528445.799 0, 1556105.256 528413.059 0, 1555805.029 528380.337 0, 1555504.801 528347.632 0,
+ 1555204.571 528314.945 0, 1554904.338 528282.275 0, 1554604.104 528249.624 0, 1554303.868 528216.99 0, 1554003.63 528184.373 0, 1553703.39 528151.774 0, 1553403.148 528119.193 0, 1553102.904 528086.63 0, 1552802.659 528054.084 0, 1552502.411 528021.556 0,
+ 1552202.161 527989.046 0, 1551901.91 527956.553 0, 1551601.657 527924.078 0, 1551301.401 527891.621 0, 1551001.144 527859.181 0, 1550700.885 527826.759 0, 1550400.624 527794.355 0, 1550100.361 527761.968 0, 1549798.731 527729.452 0, 1549203.212 533255.211 0,
+ 1548607.65 538781.37 0, 1548908.627 538813.816 0, 1549208.239 538846.132 0, 1549507.85 538878.466 0, 1549807.459 538910.818 0, 1550107.065 538943.187 0, 1550406.67 538975.574 0, 1550706.273 539007.979 0, 1551005.874 539040.401 0, 1551305.473 539072.841 0,
+ 1551605.07 539105.299 0, 1551904.666 539137.774 0, 1552204.259 539170.267 0, 1552503.85 539202.777 0, 1552803.44 539235.305 0, 1553103.027 539267.851 0, 1553402.613 539300.415 0, 1553702.197 539332.996 0, 1554001.779 539365.594 0, 1554301.359 539398.21 0,
+ 1554600.937 539430.844 0, 1554900.513 539463.496 0, 1555200.087 539496.165 0, 1555499.659 539528.852 0, 1555797.869 539561.408 0, 1556098.798 539594.278 0, 1556398.364 539627.018 0, 1556697.929 539659.775 0, 1556997.492 539692.55 0, 1557297.052 539725.343 0,
+ 1557596.611 539758.153 0, 1557896.168 539790.981 0, 1558195.723 539823.826 0, 1558495.276 539856.689 0, 1558794.827 539889.57 0, 1559094.376 539922.469 0, 1559393.923 539955.385 0, 1559693.468 539988.318 0, 1559993.011 540021.269 0, 1560292.553 540054.238 0,
+ 1560592.092 540087.225 0, 1560891.63 540120.229 0, 1561191.165 540153.251 0, 1561490.699 540186.29 0, 1561790.23 540219.347 0, 1562089.76 540252.422 0, 1562389.288 540285.514 0, 1562688.814 540318.624 0, 1562986.978 540351.601 0, 1563598.15 534827.147 0,
+ 1564209.277 529303.093 0))
+
+POLYGON ((1577361.812 541962.451 0, 1577063.739 541928.631 0, 1576764.308 541894.675 0, 1576464.875 541860.736 0, 1576165.44 541826.816 0, 1575866.003 541792.913 0, 1575566.564 541759.027 0, 1575267.123 541725.159 0, 1574967.68 541691.309 0, 1574668.235 541657.476 0,
+ 1574368.788 541623.661 0, 1574069.339 541589.864 0, 1573769.888 541556.084 0, 1573470.435 541522.322 0, 1573170.98 541488.577 0, 1572871.523 541454.851 0, 1572572.064 541421.141 0, 1572272.604 541387.45 0, 1571973.141 541353.776 0, 1571673.676 541320.119 0,
+ 1571374.209 541286.48 0, 1571074.74 541252.859 0, 1570775.269 541219.256 0, 1570475.797 541185.67 0, 1570174.964 541151.949 0, 1569876.845 541118.551 0, 1569577.366 541085.018 0, 1569277.886 541051.503 0, 1568978.403 541018.005 0, 1568678.918 540984.525 0,
+ 1568379.432 540951.062 0, 1568079.943 540917.617 0, 1567780.453 540884.19 0, 1567480.96 540850.781 0, 1567181.466 540817.389 0, 1566881.969 540784.014 0, 1566582.471 540750.657 0, 1566282.971 540717.318 0, 1565983.468 540683.997 0, 1565683.964 540650.693 0,
+ 1565384.458 540617.407 0, 1565084.949 540584.138 0, 1564785.439 540550.887 0, 1564485.927 540517.654 0, 1564186.413 540484.438 0, 1563886.897 540451.24 0, 1563587.379 540418.06 0, 1563287.859 540384.897 0, 1562986.978 540351.601 0, 1562375.762 545876.452 0,
+ 1561764.503 551401.697 0, 1562064.731 551434.92 0, 1562363.6 551468.011 0, 1562662.468 551501.12 0, 1562961.334 551534.246 0, 1563260.197 551567.389 0, 1563559.059 551600.55 0, 1563857.919 551633.729 0, 1564156.777 551666.926 0, 1564455.633 551700.139 0,
+ 1564754.487 551733.371 0, 1565053.338 551766.62 0, 1565352.189 551799.887 0, 1565651.037 551833.171 0, 1565949.883 551866.473 0, 1566248.727 551899.793 0, 1566547.569 551933.13 0, 1566846.409 551966.484 0, 1567145.247 551999.857 0, 1567444.084 552033.246 0,
+ 1567742.918 552066.654 0, 1568041.75 552100.079 0, 1568340.581 552133.521 0, 1568639.409 552166.982 0, 1568936.88 552200.308 0, 1569237.06 552233.955 0, 1569535.883 552267.468 0, 1569834.703 552300.998 0, 1570133.522 552334.546 0, 1570432.338 552368.112 0,
+ 1570731.153 552401.695 0, 1571029.966 552435.296 0, 1571328.776 552468.915 0, 1571627.585 552502.551 0, 1571926.392 552536.204 0, 1572225.196 552569.876 0, 1572523.999 552603.565 0, 1572822.8 552637.271 0, 1573121.599 552670.995 0, 1573420.395 552704.737 0,
+ 1573719.19 552738.496 0, 1574017.983 552772.273 0, 1574316.774 552806.067 0, 1574615.563 552839.879 0, 1574914.349 552873.708 0, 1575213.134 552907.555 0, 1575511.917 552941.42 0, 1575810.698 552975.302 0, 1576108.123 553009.049 0, 1576734.99 547485.553 0,
+ 1577361.812 541962.451 0))
+
+POLYGON ((1590447.145 554656.917 0, 1590149.814 554622.33 0, 1589851.13 554587.604 0, 1589552.444 554552.895 0, 1589253.756 554518.204 0, 1588955.066 554483.531 0, 1588656.374 554448.875 0, 1588357.68 554414.237 0, 1588058.984 554379.616 0, 1587760.285 554345.013 0,
+ 1587461.585 554310.427 0, 1587162.883 554275.859 0, 1586864.178 554241.308 0, 1586565.472 554206.776 0, 1586266.764 554172.26 0, 1585968.053 554137.763 0, 1585669.341 554103.283 0, 1585370.626 554068.82 0, 1585071.91 554034.375 0, 1584773.191 553999.948 0,
+ 1584474.471 553965.538 0, 1584175.748 553931.146 0, 1583877.024 553896.771 0, 1583578.297 553862.414 0, 1583278.216 553827.919 0, 1582980.838 553793.753 0, 1582682.105 553759.448 0, 1582383.37 553725.162 0, 1582084.633 553690.892 0, 1581785.895 553656.641 0,
+ 1581487.154 553622.407 0, 1581188.411 553588.191 0, 1580889.666 553553.992 0, 1580590.92 553519.81 0, 1580292.171 553485.647 0, 1579993.42 553451.501 0, 1579694.667 553417.372 0, 1579395.912 553383.261 0, 1579097.155 553349.168 0, 1578798.397 553315.092 0,
+ 1578499.636 553281.034 0, 1578200.873 553246.994 0, 1577902.108 553212.971 0, 1577603.341 553178.965 0, 1577304.572 553144.978 0, 1577005.801 553111.007 0, 1576707.028 553077.055 0, 1576408.254 553043.12 0, 1576108.123 553009.049 0, 1575481.212 558532.935 0,
+ 1574854.257 564057.209 0, 1575153.734 564091.206 0, 1575451.859 564125.067 0, 1575749.982 564158.946 0, 1576048.102 564192.842 0, 1576346.221 564226.756 0, 1576644.337 564260.687 0, 1576942.452 564294.636 0, 1577240.565 564328.603 0, 1577538.675 564362.587 0,
+ 1577836.784 564396.588 0, 1578134.891 564430.607 0, 1578432.995 564464.644 0, 1578731.098 564498.698 0, 1579029.198 564532.77 0, 1579327.297 564566.859 0, 1579625.394 564600.966 0, 1579923.488 564635.09 0, 1580221.581 564669.232 0, 1580519.671 564703.392 0,
+ 1580817.76 564737.569 0, 1581115.846 564771.763 0, 1581413.931 564805.975 0, 1581712.013 564840.205 0, 1582008.744 564874.297 0, 1582308.172 564908.717 0, 1582606.249 564942.999 0, 1582904.323 564977.299 0, 1583202.396 565011.616 0, 1583500.466 565045.951 0,
+ 1583798.535 565080.304 0, 1584096.601 565114.674 0, 1584394.665 565149.061 0, 1584692.728 565183.466 0, 1584990.788 565217.889 0, 1585288.846 565252.329 0, 1585586.902 565286.787 0, 1585884.957 565321.262 0, 1586183.009 565355.755 0, 1586481.059 565390.265 0,
+ 1586779.107 565424.793 0, 1587077.153 565459.339 0, 1587375.197 565493.902 0, 1587673.239 565528.482 0, 1587971.279 565563.08 0, 1588269.317 565597.696 0, 1588567.353 565632.329 0, 1588865.387 565666.98 0, 1589162.071 565701.491 0, 1589804.63 560179.01 0,
+ 1590447.145 554656.917 0))
+
+POLYGON ((1603465.182 567386.188 0, 1603168.595 567350.839 0, 1602870.66 567315.346 0, 1602572.723 567279.871 0, 1602274.784 567244.414 0, 1601976.843 567208.974 0, 1601678.9 567173.551 0, 1601380.955 567138.146 0, 1601083.007 567102.759 0, 1600785.058 567067.389 0,
+ 1600487.107 567032.037 0, 1600189.153 566996.702 0, 1599891.197 566961.385 0, 1599593.24 566926.086 0, 1599295.28 566890.804 0, 1598997.318 566855.539 0, 1598699.354 566820.292 0, 1598401.388 566785.062 0, 1598103.42 566749.851 0, 1597805.45 566714.656 0,
+ 1597507.478 566679.479 0, 1597209.503 566644.32 0, 1596911.527 566609.178 0, 1596613.549 566574.054 0, 1596314.221 566538.788 0, 1596017.585 566503.858 0, 1595719.601 566468.786 0, 1595421.614 566433.732 0, 1595123.625 566398.696 0, 1594825.635 566363.677 0,
+ 1594527.642 566328.675 0, 1594229.647 566293.691 0, 1593931.65 566258.725 0, 1593633.651 566223.776 0, 1593335.65 566188.845 0, 1593037.647 566153.931 0, 1592739.641 566119.035 0, 1592441.634 566084.156 0, 1592143.625 566049.295 0, 1591845.613 566014.451 0,
+ 1591547.6 565979.625 0, 1591249.584 565944.816 0, 1590951.567 565910.025 0, 1590653.547 565875.252 0, 1590355.526 565840.496 0, 1590057.502 565805.758 0, 1589759.476 565771.037 0, 1589461.449 565736.333 0, 1589162.071 565701.491 0, 1588519.466 571224.356 0,
+ 1587876.818 576747.602 0, 1588175.543 576782.368 0, 1588472.92 576816.996 0, 1588770.296 576851.641 0, 1589067.669 576886.304 0, 1589365.041 576920.984 0, 1589662.41 576955.681 0, 1589959.778 576990.396 0, 1590257.143 577025.129 0, 1590554.506 577059.879 0,
+ 1590851.868 577094.647 0, 1591149.227 577129.432 0, 1591446.584 577164.235 0, 1591743.939 577199.055 0, 1592041.292 577233.892 0, 1592338.643 577268.747 0, 1592635.992 577303.62 0, 1592933.339 577338.51 0, 1593230.684 577373.418 0, 1593528.027 577408.343 0,
+ 1593825.367 577443.286 0, 1594122.706 577478.246 0, 1594420.043 577513.223 0, 1594717.377 577548.218 0, 1595013.366 577583.073 0, 1595312.04 577618.261 0, 1595609.369 577653.309 0, 1595906.695 577688.374 0, 1596204.019 577723.457 0, 1596501.341 577758.557 0,
+ 1596798.662 577793.674 0, 1597095.98 577828.809 0, 1597393.296 577863.962 0, 1597690.61 577899.132 0, 1597987.921 577934.32 0, 1598285.231 577969.525 0, 1598582.539 578004.748 0, 1598879.845 578039.988 0, 1599177.148 578075.245 0, 1599474.45 578110.521 0,
+ 1599771.749 578145.813 0, 1600069.046 578181.123 0, 1600366.342 578216.451 0, 1600663.635 578251.796 0, 1600960.926 578287.159 0, 1601258.215 578322.539 0, 1601555.502 578357.936 0, 1601852.787 578393.351 0, 1602148.727 578428.624 0, 1602806.977 572907.216 0,
+ 1603465.182 567386.188 0))
+
+POLYGON ((1616415.83 580149.96 0, 1616119.988 580113.852 0, 1615822.805 580077.597 0, 1615525.619 580041.359 0, 1615228.431 580005.14 0, 1614931.241 579968.937 0, 1614634.049 579932.752 0, 1614336.855 579896.585 0, 1614039.658 579860.435 0, 1613742.46 579824.303 0,
+ 1613445.259 579788.188 0, 1613148.056 579752.09 0, 1612850.851 579716.01 0, 1612553.644 579679.948 0, 1612256.435 579643.903 0, 1611959.224 579607.875 0, 1611662.011 579571.865 0, 1611364.795 579535.873 0, 1611067.578 579499.898 0, 1610770.358 579463.941 0,
+ 1610473.136 579428.001 0, 1610175.912 579392.078 0, 1609878.686 579356.173 0, 1609581.458 579320.286 0, 1609282.886 579284.254 0, 1608986.995 579248.563 0, 1608689.76 579212.728 0, 1608392.524 579176.911 0, 1608095.285 579141.111 0, 1607798.044 579105.328 0,
+ 1607500.801 579069.563 0, 1607203.556 579033.815 0, 1606906.309 578998.085 0, 1606609.06 578962.373 0, 1606311.809 578926.678 0, 1606014.555 578891 0, 1605717.299 578855.34 0, 1605420.042 578819.698 0, 1605122.782 578784.072 0, 1604825.52 578748.465 0,
+ 1604528.256 578712.875 0, 1604230.99 578677.302 0, 1603933.722 578641.747 0, 1603636.452 578606.21 0, 1603339.18 578570.689 0, 1603041.905 578535.187 0, 1602744.629 578499.702 0, 1602447.35 578464.234 0, 1602148.727 578428.624 0, 1601490.432 583950.41 0,
+ 1600832.092 589472.571 0, 1601130.062 589508.104 0, 1601426.69 589543.494 0, 1601723.317 589578.901 0, 1602019.941 589614.326 0, 1602316.564 589649.769 0, 1602613.184 589685.228 0, 1602909.802 589720.706 0, 1603206.418 589756.201 0, 1603503.032 589791.713 0,
+ 1603799.644 589827.243 0, 1604096.254 589862.79 0, 1604392.861 589898.354 0, 1604689.467 589933.937 0, 1604986.07 589969.536 0, 1605282.672 590005.153 0, 1605579.271 590040.788 0, 1605875.868 590076.439 0, 1606172.463 590112.109 0, 1606469.056 590147.796 0,
+ 1606765.647 590183.5 0, 1607062.236 590219.222 0, 1607358.823 590254.961 0, 1607655.407 590290.718 0, 1607950.652 590326.33 0, 1608248.57 590362.283 0, 1608545.149 590398.092 0, 1608841.725 590433.919 0, 1609138.299 590469.763 0, 1609434.871 590505.624 0,
+ 1609731.441 590541.503 0, 1610028.008 590577.399 0, 1610324.574 590613.313 0, 1610621.137 590649.244 0, 1610917.699 590685.193 0, 1611214.258 590721.159 0, 1611510.815 590757.143 0, 1611807.37 590793.144 0, 1612103.923 590829.162 0, 1612400.474 590865.198 0,
+ 1612697.023 590901.252 0, 1612993.569 590937.322 0, 1613290.114 590973.411 0, 1613586.656 591009.516 0, 1613883.196 591045.64 0, 1614179.734 591081.78 0, 1614476.27 591117.938 0, 1614772.804 591154.114 0, 1615067.999 591190.144 0, 1615741.937 585669.865 0,
+ 1616415.83 580149.96 0))
+
+POLYGON ((1629298.997 592947.929 0, 1629003.902 592911.065 0, 1628707.472 592874.051 0, 1628411.039 592837.056 0, 1628114.605 592800.077 0, 1627818.168 592763.117 0, 1627521.729 592726.173 0, 1627225.287 592689.247 0, 1626928.844 592652.339 0, 1626632.398 592615.448 0,
+ 1626335.95 592578.574 0, 1626039.5 592541.718 0, 1625743.048 592504.879 0, 1625446.594 592468.058 0, 1625150.138 592431.254 0, 1624853.679 592394.468 0, 1624557.218 592357.699 0, 1624260.755 592320.947 0, 1623964.29 592284.213 0, 1623667.823 592247.497 0,
+ 1623371.353 592210.798 0, 1623074.882 592174.116 0, 1622778.408 592137.452 0, 1622481.932 592100.805 0, 1622184.118 592064.011 0, 1621888.974 592027.564 0, 1621592.491 591990.969 0, 1621296.007 591954.392 0, 1620999.52 591917.833 0, 1620703.031 591881.291 0,
+ 1620406.54 591844.766 0, 1620110.047 591808.259 0, 1619813.552 591771.769 0, 1619517.054 591735.297 0, 1619220.555 591698.842 0, 1618924.053 591662.405 0, 1618627.549 591625.985 0, 1618331.043 591589.582 0, 1618034.535 591553.197 0, 1617738.025 591516.83 0,
+ 1617441.512 591480.48 0, 1617144.997 591444.147 0, 1616848.481 591407.832 0, 1616551.962 591371.534 0, 1616255.441 591335.254 0, 1615958.918 591298.991 0, 1615662.393 591262.746 0, 1615365.865 591226.518 0, 1615067.999 591190.144 0, 1614394.015 596710.795 0,
+ 1613719.986 602231.814 0, 1614017.2 602268.108 0, 1614313.077 602304.256 0, 1614608.953 602340.422 0, 1614904.826 602376.605 0, 1615200.697 602412.806 0, 1615496.566 602449.024 0, 1615792.433 602485.26 0, 1616088.298 602521.513 0, 1616384.16 602557.783 0,
+ 1616680.021 602594.071 0, 1616975.879 602630.377 0, 1617271.735 602666.699 0, 1617567.589 602703.039 0, 1617863.441 602739.397 0, 1618159.291 602775.772 0, 1618455.139 602812.164 0, 1618750.984 602848.574 0, 1619046.827 602885.001 0, 1619342.669 602921.446 0,
+ 1619638.508 602957.908 0, 1619934.344 602994.387 0, 1620230.179 603030.884 0, 1620526.012 603067.398 0, 1620820.51 603103.765 0, 1621117.671 603140.479 0, 1621413.497 603177.045 0, 1621709.321 603213.629 0, 1622005.143 603250.23 0, 1622300.962 603286.849 0,
+ 1622596.78 603323.485 0, 1622892.595 603360.139 0, 1623188.408 603396.81 0, 1623484.22 603433.498 0, 1623780.028 603470.204 0, 1624075.835 603506.927 0, 1624371.64 603543.667 0, 1624667.442 603580.425 0, 1624963.242 603617.201 0, 1625259.041 603653.993 0,
+ 1625554.837 603690.804 0, 1625850.63 603727.631 0, 1626146.422 603764.476 0, 1626442.211 603801.339 0, 1626737.999 603838.219 0, 1627033.784 603875.116 0, 1627329.567 603912.031 0, 1627625.347 603948.963 0, 1627919.795 603985.746 0, 1628609.419 598466.653 0,
+ 1629298.997 592947.929 0))
+
+POLYGON ((1642114.591 605779.788 0, 1641820.247 605742.173 0, 1641524.572 605704.405 0, 1641228.894 605666.655 0, 1640933.214 605628.922 0, 1640637.533 605591.207 0, 1640341.848 605553.509 0, 1640046.162 605515.829 0, 1639750.474 605478.165 0, 1639454.783 605440.52 0,
+ 1639159.09 605402.891 0, 1638863.395 605365.28 0, 1638567.697 605327.687 0, 1638271.998 605290.111 0, 1637976.296 605252.552 0, 1637680.592 605215.011 0, 1637384.886 605177.487 0, 1637089.177 605139.98 0, 1636793.467 605102.491 0, 1636497.754 605065.02 0,
+ 1636202.039 605027.565 0, 1635906.321 604990.128 0, 1635610.602 604952.709 0, 1635314.88 604915.307 0, 1635017.827 604877.754 0, 1634723.43 604840.555 0, 1634427.702 604803.205 0, 1634131.972 604765.873 0, 1633836.239 604728.558 0, 1633540.504 604691.26 0,
+ 1633244.767 604653.98 0, 1632949.028 604616.717 0, 1632653.286 604579.471 0, 1632357.543 604542.243 0, 1632061.797 604505.033 0, 1631766.049 604467.84 0, 1631470.299 604430.664 0, 1631174.546 604393.505 0, 1630878.792 604356.364 0, 1630583.035 604319.241 0,
+ 1630287.276 604282.135 0, 1629991.515 604245.046 0, 1629695.751 604207.975 0, 1629399.986 604170.921 0, 1629104.218 604133.884 0, 1628808.448 604096.865 0, 1628512.676 604059.863 0, 1628216.902 604022.879 0, 1627919.795 603985.746 0, 1627230.125 609505.204 0,
+ 1626540.41 615025.023 0, 1626836.865 615062.075 0, 1627131.99 615098.978 0, 1627427.112 615135.899 0, 1627722.232 615172.836 0, 1628017.35 615209.792 0, 1628312.466 615246.764 0, 1628607.579 615283.754 0, 1628902.691 615320.761 0, 1629197.8 615357.786 0,
+ 1629492.907 615394.828 0, 1629788.012 615431.887 0, 1630083.115 615468.964 0, 1630378.215 615506.058 0, 1630673.313 615543.17 0, 1630968.41 615580.299 0, 1631263.504 615617.445 0, 1631558.595 615654.608 0, 1631853.685 615691.789 0, 1632148.772 615728.988 0,
+ 1632443.857 615766.203 0, 1632738.94 615803.436 0, 1633034.021 615840.687 0, 1633329.1 615877.955 0, 1633622.85 615915.072 0, 1633919.251 615952.542 0, 1634214.323 615989.862 0, 1634509.392 616027.2 0, 1634804.46 616064.554 0, 1635099.526 616101.926 0,
+ 1635394.589 616139.316 0, 1635689.65 616176.722 0, 1635984.709 616214.147 0, 1636279.765 616251.588 0, 1636574.82 616289.047 0, 1636869.872 616326.523 0, 1637164.922 616364.017 0, 1637459.97 616401.528 0, 1637755.015 616439.056 0, 1638050.059 616476.602 0,
+ 1638345.1 616514.165 0, 1638640.139 616551.745 0, 1638935.176 616589.343 0, 1639230.21 616626.958 0, 1639525.243 616664.59 0, 1639820.273 616702.24 0, 1640115.301 616739.908 0, 1640410.326 616777.592 0, 1640704.024 616815.125 0, 1641409.331 611297.275 0,
+ 1642114.591 605779.788 0))
+
+POLYGON ((1654862.525 618645.234 0, 1654568.932 618606.871 0, 1654274.014 618568.353 0, 1653979.093 618529.853 0, 1653684.171 618491.369 0, 1653389.246 618452.903 0, 1653094.319 618414.455 0, 1652799.389 618376.024 0, 1652504.458 618337.61 0, 1652209.524 618299.214 0,
+ 1651914.588 618260.834 0, 1651619.649 618222.473 0, 1651324.709 618184.128 0, 1651029.766 618145.801 0, 1650734.821 618107.492 0, 1650439.873 618069.199 0, 1650144.923 618030.925 0, 1649849.972 617992.667 0, 1649555.017 617954.427 0, 1649260.061 617916.204 0,
+ 1648965.102 617877.999 0, 1648670.141 617839.81 0, 1648375.178 617801.64 0, 1648080.213 617763.486 0, 1647783.921 617725.179 0, 1647490.275 617687.232 0, 1647195.303 617649.13 0, 1646900.329 617611.046 0, 1646605.352 617572.98 0, 1646310.373 617534.93 0,
+ 1646015.392 617496.899 0, 1645720.409 617458.884 0, 1645425.423 617420.887 0, 1645130.435 617382.907 0, 1644835.445 617344.945 0, 1644540.453 617307 0, 1644245.458 617269.072 0, 1643950.461 617231.162 0, 1643655.462 617193.269 0, 1643360.461 617155.393 0,
+ 1643065.458 617117.535 0, 1642770.452 617079.694 0, 1642475.444 617041.871 0, 1642180.434 617004.064 0, 1641885.422 616966.276 0, 1641590.407 616928.504 0, 1641295.39 616890.75 0, 1641000.371 616853.013 0, 1640704.024 616815.125 0, 1639998.672 622333.333 0,
+ 1639293.274 627851.896 0, 1639588.968 627889.701 0, 1639883.338 627927.355 0, 1640177.705 627965.026 0, 1640472.07 628002.714 0, 1640766.433 628040.42 0, 1641060.793 628078.143 0, 1641355.152 628115.883 0, 1641649.508 628153.64 0, 1641943.862 628191.415 0,
+ 1642238.213 628229.207 0, 1642532.563 628267.017 0, 1642826.91 628304.844 0, 1643121.255 628342.688 0, 1643415.598 628380.549 0, 1643709.938 628418.428 0, 1644004.277 628456.324 0, 1644298.613 628494.238 0, 1644592.947 628532.169 0, 1644887.278 628570.117 0,
+ 1645181.608 628608.082 0, 1645475.935 628646.065 0, 1645770.26 628684.065 0, 1646064.582 628722.083 0, 1646357.582 628759.946 0, 1646653.221 628798.169 0, 1646947.537 628836.239 0, 1647241.851 628874.325 0, 1647536.162 628912.429 0, 1647830.471 628950.551 0,
+ 1648124.778 628988.689 0, 1648419.083 629026.845 0, 1648713.386 629065.019 0, 1649007.686 629103.209 0, 1649301.984 629141.417 0, 1649596.28 629179.643 0, 1649890.573 629217.885 0, 1650184.864 629256.145 0, 1650479.153 629294.422 0, 1650773.44 629332.717 0,
+ 1651067.724 629371.029 0, 1651362.007 629409.358 0, 1651656.287 629447.705 0, 1651950.564 629486.069 0, 1652244.84 629524.45 0, 1652539.113 629562.848 0, 1652833.384 629601.264 0, 1653127.653 629639.697 0, 1653420.599 629677.975 0, 1654141.585 624161.427 0,
+ 1654862.525 618645.234 0))
+
+POLYGON ((1667542.709 631543.959 0, 1667249.869 631504.854 0, 1666955.71 631465.589 0, 1666661.549 631426.342 0, 1666367.386 631387.112 0, 1666073.22 631347.9 0, 1665779.052 631308.705 0, 1665484.881 631269.527 0, 1665190.708 631230.367 0, 1664896.533 631191.224 0,
+ 1664602.356 631152.098 0, 1664308.176 631112.989 0, 1664013.994 631073.898 0, 1663719.81 631034.824 0, 1663425.624 630995.768 0, 1663131.435 630956.728 0, 1662837.243 630917.706 0, 1662543.05 630878.702 0, 1662248.854 630839.714 0, 1661954.656 630800.744 0,
+ 1661660.456 630761.792 0, 1661366.253 630722.856 0, 1661072.048 630683.938 0, 1660777.841 630645.038 0, 1660482.313 630605.98 0, 1660189.42 630567.288 0, 1659895.206 630528.439 0, 1659600.989 630489.608 0, 1659306.771 630450.794 0, 1659012.55 630411.997 0,
+ 1658718.326 630373.217 0, 1658424.101 630334.455 0, 1658129.873 630295.71 0, 1657835.643 630256.983 0, 1657541.411 630218.273 0, 1657247.176 630179.58 0, 1656952.939 630140.904 0, 1656658.7 630102.246 0, 1656364.459 630063.605 0, 1656070.215 630024.981 0,
+ 1655775.969 629986.375 0, 1655481.721 629947.786 0, 1655187.47 629909.214 0, 1654893.217 629870.66 0, 1654598.962 629832.123 0, 1654304.705 629793.603 0, 1654010.445 629755.1 0, 1653716.183 629716.615 0, 1653420.599 629677.975 0, 1652699.567 635194.876 0,
+ 1651978.49 640712.125 0, 1652273.421 640750.68 0, 1652567.034 640789.081 0, 1652860.644 640827.498 0, 1653154.252 640865.933 0, 1653447.857 640904.385 0, 1653741.461 640942.854 0, 1654035.062 640981.341 0, 1654328.661 641019.844 0, 1654622.257 641058.366 0,
+ 1654915.852 641096.904 0, 1655209.444 641135.46 0, 1655503.034 641174.033 0, 1655796.621 641212.623 0, 1656090.206 641251.23 0, 1656383.789 641289.855 0, 1656677.37 641328.497 0, 1656970.948 641367.157 0, 1657264.525 641405.833 0, 1657558.098 641444.527 0,
+ 1657851.67 641483.238 0, 1658145.239 641521.967 0, 1658438.806 641560.713 0, 1658732.371 641599.476 0, 1659024.618 641638.082 0, 1659319.494 641677.054 0, 1659613.052 641715.868 0, 1659906.607 641754.701 0, 1660200.161 641793.55 0, 1660493.712 641832.417 0,
+ 1660787.261 641871.301 0, 1661080.807 641910.202 0, 1661374.351 641949.121 0, 1661667.893 641988.056 0, 1661961.433 642027.009 0, 1662254.97 642065.98 0, 1662548.505 642104.967 0, 1662842.038 642143.972 0, 1663135.568 642182.995 0, 1663429.096 642222.034 0,
+ 1663722.622 642261.091 0, 1664016.146 642300.165 0, 1664309.667 642339.256 0, 1664603.186 642378.365 0, 1664896.702 642417.491 0, 1665190.217 642456.634 0, 1665483.729 642495.794 0, 1665777.238 642534.972 0, 1666069.432 642573.991 0, 1666806.094 637058.801 0,
+ 1667542.709 631543.959 0))
+
+POLYGON ((1680155.057 644475.659 0, 1679862.973 644435.814 0, 1679569.575 644395.807 0, 1679276.175 644355.818 0, 1678982.773 644315.846 0, 1678689.368 644275.891 0, 1678395.96 644235.953 0, 1678102.551 644196.033 0, 1677809.139 644156.13 0, 1677515.724 644116.244 0,
+ 1677222.308 644076.375 0, 1676928.889 644036.524 0, 1676635.467 643996.69 0, 1676342.044 643956.873 0, 1676048.618 643917.073 0, 1675755.189 643877.291 0, 1675461.759 643837.526 0, 1675168.326 643797.779 0, 1674874.89 643758.048 0, 1674581.452 643718.335 0,
+ 1674288.012 643678.639 0, 1673994.57 643638.96 0, 1673701.125 643599.299 0, 1673407.678 643559.655 0, 1673112.916 643519.851 0, 1672820.777 643480.419 0, 1672527.323 643440.826 0, 1672233.867 643401.251 0, 1671940.408 643361.694 0, 1671646.947 643322.153 0,
+ 1671353.483 643282.63 0, 1671060.018 643243.124 0, 1670766.55 643203.636 0, 1670473.079 643164.164 0, 1670179.607 643124.71 0, 1669886.132 643085.273 0, 1669592.654 643045.854 0, 1669299.175 643006.452 0, 1669005.693 642967.067 0, 1668712.208 642927.699 0,
+ 1668418.722 642888.348 0, 1668125.233 642849.015 0, 1667831.742 642809.699 0, 1667538.248 642770.401 0, 1667244.752 642731.119 0, 1666951.254 642691.855 0, 1666657.754 642652.609 0, 1666364.251 642613.379 0, 1666069.432 642573.991 0, 1665332.723 648089.527 0,
+ 1664595.97 653605.406 0, 1664890.137 653644.707 0, 1665182.99 653683.849 0, 1665475.841 653723.009 0, 1665768.69 653762.186 0, 1666061.537 653801.381 0, 1666354.381 653840.593 0, 1666647.223 653879.822 0, 1666940.063 653919.068 0, 1667232.9 653958.331 0,
+ 1667525.735 653997.612 0, 1667818.568 654036.91 0, 1668111.398 654076.225 0, 1668404.226 654115.557 0, 1668697.052 654154.906 0, 1668989.876 654194.273 0, 1669282.697 654233.657 0, 1669575.516 654273.059 0, 1669868.332 654312.477 0, 1670161.146 654351.913 0,
+ 1670453.958 654391.366 0, 1670746.768 654430.836 0, 1671039.575 654470.323 0, 1671332.38 654509.828 0, 1671623.873 654549.173 0, 1671917.983 654588.889 0, 1672210.781 654628.446 0, 1672503.576 654668.019 0, 1672796.369 654707.61 0, 1673089.16 654747.218 0,
+ 1673381.949 654786.843 0, 1673674.735 654826.486 0, 1673967.519 654866.146 0, 1674260.301 654905.823 0, 1674553.08 654945.517 0, 1674845.857 654985.228 0, 1675138.632 655024.957 0, 1675431.404 655064.703 0, 1675724.174 655104.466 0, 1676016.941 655144.247 0,
+ 1676309.706 655184.044 0, 1676602.469 655223.859 0, 1676895.23 655263.691 0, 1677187.988 655303.541 0, 1677480.744 655343.407 0, 1677773.497 655383.291 0, 1678066.249 655423.192 0, 1678358.997 655463.11 0, 1678650.435 655502.867 0, 1679402.77 649989.092 0,
+ 1680155.057 644475.659 0))
+
+POLYGON ((1692699.484 657440.027 0, 1692408.158 657399.447 0, 1692115.523 657358.701 0, 1691822.885 657317.973 0, 1691530.246 657277.263 0, 1691237.604 657236.569 0, 1690944.959 657195.893 0, 1690652.313 657155.234 0, 1690359.663 657114.592 0, 1690067.012 657073.968 0,
+ 1689774.358 657033.36 0, 1689481.701 656992.77 0, 1689189.042 656952.197 0, 1688896.381 656911.641 0, 1688603.718 656871.103 0, 1688311.052 656830.582 0, 1688018.383 656790.078 0, 1687725.713 656749.591 0, 1687433.04 656709.121 0, 1687140.364 656668.669 0,
+ 1686847.686 656628.234 0, 1686555.006 656587.816 0, 1686262.323 656547.415 0, 1685969.638 656507.032 0, 1685675.644 656466.486 0, 1685384.261 656426.317 0, 1685091.569 656385.985 0, 1684798.875 656345.671 0, 1684506.178 656305.373 0, 1684213.479 656265.093 0,
+ 1683920.777 656224.83 0, 1683628.073 656184.585 0, 1683335.367 656144.356 0, 1683042.658 656104.145 0, 1682749.947 656063.951 0, 1682457.233 656023.775 0, 1682164.518 655983.615 0, 1681871.799 655943.473 0, 1681579.079 655903.348 0, 1681286.356 655863.24 0,
+ 1680993.631 655823.15 0, 1680700.903 655783.076 0, 1680408.173 655743.02 0, 1680115.441 655702.981 0, 1679822.706 655662.96 0, 1679529.969 655622.955 0, 1679237.23 655582.968 0, 1678944.488 655542.998 0, 1678650.435 655502.867 0, 1677898.055 661016.981 0,
+ 1677145.628 666531.431 0, 1677439.029 666571.473 0, 1677731.122 666611.355 0, 1678023.212 666651.253 0, 1678315.3 666691.169 0, 1678607.385 666731.102 0, 1678899.469 666771.052 0, 1679191.55 666811.019 0, 1679483.628 666851.004 0, 1679775.704 666891.005 0,
+ 1680067.778 666931.024 0, 1680359.85 666971.06 0, 1680651.919 667011.113 0, 1680943.985 667051.184 0, 1681236.05 667091.271 0, 1681528.112 667131.376 0, 1681820.172 667171.498 0, 1682112.229 667211.637 0, 1682404.284 667251.794 0, 1682696.336 667291.967 0,
+ 1682988.387 667332.158 0, 1683280.434 667372.366 0, 1683572.48 667412.591 0, 1683864.523 667452.833 0, 1684155.26 667492.913 0, 1684448.602 667533.37 0, 1684740.638 667573.663 0, 1685032.672 667613.975 0, 1685324.703 667654.303 0, 1685616.732 667694.648 0,
+ 1685908.759 667735.011 0, 1686200.783 667775.391 0, 1686492.804 667815.788 0, 1686784.824 667856.202 0, 1687076.841 667896.633 0, 1687368.855 667937.082 0, 1687660.868 667977.548 0, 1687952.878 668018.031 0, 1688244.885 668058.531 0, 1688536.89 668099.048 0,
+ 1688828.893 668139.583 0, 1689120.893 668180.134 0, 1689412.891 668220.703 0, 1689704.887 668261.289 0, 1689996.88 668301.892 0, 1690288.871 668342.513 0, 1690580.859 668383.15 0, 1690872.845 668423.805 0, 1691163.526 668464.296 0, 1691931.528 662951.994 0,
+ 1692699.484 657440.027 0))
+
+POLYGON ((1705175.906 670436.756 0, 1704885.339 670395.444 0, 1704593.469 670353.964 0, 1704301.597 670312.502 0, 1704009.722 670271.057 0, 1703717.844 670229.629 0, 1703425.965 670188.218 0, 1703134.083 670146.824 0, 1702842.198 670105.448 0, 1702550.311 670064.088 0,
+ 1702258.421 670022.746 0, 1701966.53 669981.421 0, 1701674.635 669940.114 0, 1701382.739 669898.823 0, 1701090.839 669857.55 0, 1700798.938 669816.293 0, 1700507.034 669775.054 0, 1700215.127 669733.832 0, 1699923.218 669692.628 0, 1699631.307 669651.44 0,
+ 1699339.393 669610.27 0, 1699047.477 669569.117 0, 1698755.558 669527.981 0, 1698463.637 669486.862 0, 1698170.413 669445.577 0, 1697879.788 669404.676 0, 1697587.86 669363.609 0, 1697295.929 669322.559 0, 1697003.996 669281.526 0, 1696712.061 669240.51 0,
+ 1696420.123 669199.512 0, 1696128.182 669158.53 0, 1695836.24 669117.566 0, 1695544.294 669076.619 0, 1695252.347 669035.69 0, 1694960.397 668994.777 0, 1694668.445 668953.882 0, 1694376.49 668913.003 0, 1694084.533 668872.142 0, 1693792.573 668831.299 0,
+ 1693500.611 668790.472 0, 1693208.647 668749.662 0, 1692916.68 668708.87 0, 1692624.711 668668.095 0, 1692332.739 668627.337 0, 1692040.765 668586.596 0, 1691748.789 668545.873 0, 1691456.81 668505.166 0, 1691163.526 668464.296 0, 1690395.477 673976.931 0,
+ 1689627.382 679489.895 0, 1689920.014 679530.674 0, 1690211.344 679571.29 0, 1690502.671 679611.923 0, 1690793.996 679652.573 0, 1691085.319 679693.241 0, 1691376.639 679733.925 0, 1691667.957 679774.627 0, 1691959.273 679815.346 0, 1692250.586 679856.082 0,
+ 1692541.897 679896.835 0, 1692833.205 679937.605 0, 1693124.511 679978.392 0, 1693415.814 680019.197 0, 1693707.115 680060.018 0, 1693998.414 680100.857 0, 1694289.71 680141.713 0, 1694581.004 680182.586 0, 1694872.296 680223.476 0, 1695163.585 680264.384 0,
+ 1695454.872 680305.308 0, 1695746.156 680346.25 0, 1696037.438 680387.209 0, 1696328.717 680428.185 0, 1696618.696 680468.995 0, 1696911.269 680510.188 0, 1697202.541 680551.216 0, 1697493.811 680592.26 0, 1697785.078 680633.322 0, 1698076.343 680674.401 0,
+ 1698367.606 680715.496 0, 1698658.866 680756.61 0, 1698950.123 680797.74 0, 1699241.379 680838.887 0, 1699532.631 680880.052 0, 1699823.882 680921.233 0, 1700115.13 680962.432 0, 1700406.375 681003.648 0, 1700697.619 681044.881 0, 1700988.859 681086.132 0,
+ 1701280.098 681127.399 0, 1701571.333 681168.683 0, 1701862.567 681209.985 0, 1702153.798 681251.304 0, 1702445.026 681292.64 0, 1702736.253 681333.993 0, 1703027.476 681375.363 0, 1703318.698 681416.751 0, 1703608.619 681457.971 0, 1704392.286 675947.199 0,
+ 1705175.906 670436.756 0))
+
+POLYGON ((1717584.241 683465.538 0, 1717294.434 683423.499 0, 1717003.331 683381.289 0, 1716712.226 683339.096 0, 1716421.118 683296.921 0, 1716130.007 683254.762 0, 1715838.894 683212.621 0, 1715547.778 683170.496 0, 1715256.66 683128.389 0, 1714965.54 683086.299 0,
+ 1714674.417 683044.226 0, 1714383.291 683002.171 0, 1714092.163 682960.132 0, 1713801.033 682918.11 0, 1713509.9 682876.106 0, 1713218.764 682834.119 0, 1712927.626 682792.149 0, 1712636.486 682750.196 0, 1712345.343 682708.26 0, 1712054.198 682666.341 0,
+ 1711763.05 682624.44 0, 1711471.9 682582.556 0, 1711180.747 682540.688 0, 1710889.592 682498.838 0, 1710597.139 682456.819 0, 1710307.275 682415.189 0, 1710016.112 682373.391 0, 1709724.947 682331.609 0, 1709433.78 682289.845 0, 1709142.61 682248.097 0,
+ 1708851.438 682206.367 0, 1708560.263 682164.654 0, 1708269.086 682122.958 0, 1707977.906 682081.28 0, 1707686.724 682039.618 0, 1707395.539 681997.973 0, 1707104.352 681956.346 0, 1706813.162 681914.736 0, 1706521.97 681873.143 0, 1706230.776 681831.567 0,
+ 1705939.579 681790.008 0, 1705648.38 681748.467 0, 1705357.178 681706.942 0, 1705065.974 681665.435 0, 1704774.767 681623.945 0, 1704483.558 681582.471 0, 1704192.347 681541.016 0, 1703901.133 681499.577 0, 1703608.619 681457.971 0, 1702824.906 686969.068 0,
+ 1702041.147 692480.489 0, 1702333.009 692522.002 0, 1702623.574 692563.349 0, 1702914.137 692604.712 0, 1703204.697 692646.093 0, 1703495.255 692687.491 0, 1703785.81 692728.906 0, 1704076.363 692770.338 0, 1704366.914 692811.787 0, 1704657.462 692853.253 0,
+ 1704948.008 692894.736 0, 1705238.551 692936.237 0, 1705529.092 692977.754 0, 1705819.63 693019.289 0, 1706110.166 693060.84 0, 1706400.7 693102.409 0, 1706691.231 693143.995 0, 1706981.759 693185.598 0, 1707272.285 693227.218 0, 1707562.809 693268.855 0,
+ 1707853.33 693310.51 0, 1708143.849 693352.181 0, 1708434.365 693393.869 0, 1708724.879 693435.575 0, 1709014.098 693477.112 0, 1709305.9 693519.038 0, 1709596.406 693560.794 0, 1709886.91 693602.568 0, 1710177.412 693644.359 0, 1710467.911 693686.168 0,
+ 1710758.408 693727.993 0, 1711048.902 693769.835 0, 1711339.393 693811.695 0, 1711629.883 693853.571 0, 1711920.37 693895.465 0, 1712210.854 693937.376 0, 1712501.336 693979.304 0, 1712791.815 694021.249 0, 1713082.292 694063.211 0, 1713372.767 694105.19 0,
+ 1713663.239 694147.186 0, 1713953.708 694189.199 0, 1714244.175 694231.23 0, 1714534.64 694273.277 0, 1714825.102 694315.342 0, 1715115.561 694357.424 0, 1715406.019 694399.523 0, 1715696.473 694441.639 0, 1715985.634 694483.584 0, 1716784.961 688974.4 0,
+ 1717584.241 683465.538 0))
+
+POLYGON ((1729924.406 696526.067 0, 1729635.363 696483.305 0, 1729345.029 696440.368 0, 1729054.692 696397.449 0, 1728764.352 696354.547 0, 1728474.01 696311.662 0, 1728183.665 696268.794 0, 1727893.318 696225.943 0, 1727602.968 696183.109 0, 1727312.616 696140.292 0,
+ 1727022.262 696097.493 0, 1726731.904 696054.71 0, 1726441.545 696011.945 0, 1726151.182 695969.196 0, 1725860.818 695926.465 0, 1725570.45 695883.751 0, 1725280.08 695841.054 0, 1724989.708 695798.374 0, 1724699.333 695755.711 0, 1724408.956 695713.065 0,
+ 1724118.576 695670.436 0, 1723828.194 695627.825 0, 1723537.809 695585.23 0, 1723247.421 695542.653 0, 1722955.741 695499.903 0, 1722666.639 695457.549 0, 1722376.244 695415.023 0, 1722085.847 695372.514 0, 1721795.447 695330.022 0, 1721505.045 695287.547 0,
+ 1721214.64 695245.089 0, 1720924.232 695202.648 0, 1720633.822 695160.225 0, 1720343.41 695117.818 0, 1720052.995 695075.429 0, 1719762.578 695033.056 0, 1719472.158 694990.701 0, 1719181.736 694948.363 0, 1718891.311 694906.042 0, 1718600.883 694863.738 0,
+ 1718310.454 694821.451 0, 1718020.021 694779.181 0, 1717729.586 694736.929 0, 1717439.149 694694.693 0, 1717148.709 694652.475 0, 1716858.267 694610.273 0, 1716567.822 694568.089 0, 1716277.375 694525.922 0, 1715985.634 694483.584 0, 1715186.261 699993.087 0,
+ 1714386.842 705502.907 0, 1714677.932 705545.15 0, 1714967.73 705587.223 0, 1715257.527 705629.313 0, 1715547.32 705671.42 0, 1715837.111 705713.544 0, 1716126.9 705755.685 0, 1716416.686 705797.844 0, 1716706.47 705840.019 0, 1716996.252 705882.212 0,
+ 1717286.03 705924.421 0, 1717575.807 705966.648 0, 1717865.581 706008.891 0, 1718155.352 706051.152 0, 1718445.121 706093.43 0, 1718734.887 706135.724 0, 1719024.651 706178.036 0, 1719314.412 706220.365 0, 1719604.171 706262.711 0, 1719893.928 706305.074 0,
+ 1720183.682 706347.454 0, 1720473.433 706389.851 0, 1720763.182 706432.265 0, 1721052.929 706474.697 0, 1721341.385 706516.956 0, 1721632.414 706559.61 0, 1721922.153 706602.093 0, 1722211.889 706644.592 0, 1722501.623 706687.109 0, 1722791.355 706729.642 0,
+ 1723081.084 706772.193 0, 1723370.81 706814.76 0, 1723660.534 706857.345 0, 1723950.255 706899.947 0, 1724239.974 706942.566 0, 1724529.691 706985.201 0, 1724819.404 707027.854 0, 1725109.116 707070.524 0, 1725398.825 707113.211 0, 1725688.531 707155.915 0,
+ 1725978.235 707198.636 0, 1726267.936 707241.375 0, 1726557.635 707284.13 0, 1726847.331 707326.902 0, 1727137.025 707369.691 0, 1727426.716 707412.498 0, 1727716.405 707455.321 0, 1728006.091 707498.162 0, 1728294.489 707540.829 0, 1729109.471 702033.29 0,
+ 1729924.406 696526.067 0))
+
+POLYGON ((1742196.323 709618.035 0, 1741908.045 709574.552 0, 1741618.481 709530.894 0, 1741328.914 709487.252 0, 1741039.345 709443.627 0, 1740749.773 709400.02 0, 1740460.199 709356.429 0, 1740170.622 709312.856 0, 1739881.043 709269.299 0, 1739591.461 709225.76 0,
+ 1739301.876 709182.238 0, 1739012.289 709138.732 0, 1738722.7 709095.244 0, 1738433.107 709051.773 0, 1738143.513 709008.319 0, 1737853.915 708964.881 0, 1737564.315 708921.461 0, 1737274.713 708878.058 0, 1736985.108 708834.672 0, 1736695.5 708791.303 0,
+ 1736405.89 708747.951 0, 1736116.278 708704.617 0, 1735826.662 708661.299 0, 1735537.045 708617.998 0, 1735246.14 708574.522 0, 1734957.801 708531.448 0, 1734668.176 708488.198 0, 1734378.548 708444.965 0, 1734088.918 708401.75 0, 1733799.285 708358.551 0,
+ 1733509.649 708315.37 0, 1733220.011 708272.206 0, 1732930.37 708229.058 0, 1732640.727 708185.928 0, 1732351.081 708142.815 0, 1732061.433 708099.718 0, 1731771.782 708056.639 0, 1731482.129 708013.577 0, 1731192.473 707970.532 0, 1730902.814 707927.504 0,
+ 1730613.154 707884.493 0, 1730323.49 707841.499 0, 1730033.824 707798.522 0, 1729744.156 707755.563 0, 1729454.484 707712.62 0, 1729164.811 707669.694 0, 1728875.135 707626.785 0, 1728585.456 707583.894 0, 1728294.489 707540.829 0, 1727479.461 713048.68 0,
+ 1726664.387 718556.84 0, 1726954.703 718599.809 0, 1727243.733 718642.604 0, 1727532.761 718685.417 0, 1727821.786 718728.247 0, 1728110.809 718771.093 0, 1728399.829 718813.957 0, 1728688.846 718856.838 0, 1728977.862 718899.735 0, 1729266.874 718942.65 0,
+ 1729555.884 718985.582 0, 1729844.892 719028.53 0, 1730133.897 719071.496 0, 1730422.899 719114.479 0, 1730711.899 719157.479 0, 1731000.897 719200.495 0, 1731289.892 719243.529 0, 1731578.884 719286.58 0, 1731867.874 719329.648 0, 1732156.861 719372.732 0,
+ 1732445.846 719415.834 0, 1732734.828 719458.953 0, 1733023.808 719502.089 0, 1733312.785 719545.242 0, 1733600.478 719588.22 0, 1733890.732 719631.598 0, 1734179.701 719674.802 0, 1734468.668 719718.023 0, 1734757.633 719761.261 0, 1735046.595 719804.516 0,
+ 1735335.554 719847.788 0, 1735624.511 719891.077 0, 1735913.465 719934.383 0, 1736202.417 719977.705 0, 1736491.366 720021.045 0, 1736780.312 720064.402 0, 1737069.256 720107.776 0, 1737358.198 720151.167 0, 1737647.137 720194.575 0, 1737936.073 720238 0,
+ 1738225.007 720281.442 0, 1738513.938 720324.901 0, 1738802.867 720368.377 0, 1739091.793 720411.87 0, 1739380.717 720455.38 0, 1739669.638 720498.907 0, 1739958.556 720542.451 0, 1740247.472 720586.012 0, 1740535.105 720629.397 0, 1741365.738 715123.561 0,
+ 1742196.323 709618.035 0))
+
+POLYGON ((1482854.409 465158.774 0, 1482551.853 465130.493 0, 1482247.902 465102.1 0, 1481943.949 465073.725 0, 1481639.995 465045.367 0, 1481336.039 465017.028 0, 1481032.081 464988.706 0, 1480728.121 464960.403 0, 1480424.16 464932.117 0, 1480120.198 464903.849 0,
+ 1479816.233 464875.599 0, 1479512.267 464847.367 0, 1479208.299 464819.153 0, 1478904.33 464790.957 0, 1478600.359 464762.778 0, 1478296.386 464734.618 0, 1477992.412 464706.475 0, 1477688.436 464678.35 0, 1477384.458 464650.243 0, 1477080.479 464622.155 0,
+ 1476776.498 464594.083 0, 1476472.515 464566.03 0, 1476168.531 464537.995 0, 1475864.545 464509.978 0, 1475559.163 464481.85 0, 1475256.568 464453.997 0, 1474952.578 464426.033 0, 1474648.585 464398.087 0, 1474344.591 464370.159 0, 1474040.595 464342.249 0,
+ 1473736.598 464314.357 0, 1473432.599 464286.483 0, 1473128.598 464258.626 0, 1472824.595 464230.788 0, 1472520.591 464202.967 0, 1472216.586 464175.165 0, 1471912.579 464147.38 0, 1471608.57 464119.613 0, 1471304.559 464091.864 0, 1471000.547 464064.133 0,
+ 1470696.533 464036.42 0, 1470392.518 464008.724 0, 1470088.501 463981.047 0, 1469784.482 463953.387 0, 1469480.462 463925.746 0, 1469176.44 463898.122 0, 1468872.416 463870.516 0, 1468568.391 463842.928 0, 1468262.968 463815.232 0, 1467761.576 469346.117 0,
+ 1467260.146 474877.434 0, 1467564.915 474905.071 0, 1467868.289 474932.6 0, 1468171.661 474960.147 0, 1468475.032 474987.712 0, 1468778.401 475015.294 0, 1469081.769 475042.894 0, 1469385.135 475070.512 0, 1469688.499 475098.148 0, 1469991.862 475125.802 0,
+ 1470295.223 475153.474 0, 1470598.583 475181.164 0, 1470901.94 475208.871 0, 1471205.297 475236.596 0, 1471508.651 475264.339 0, 1471812.004 475292.1 0, 1472115.355 475319.879 0, 1472418.705 475347.676 0, 1472722.053 475375.491 0, 1473025.4 475403.323 0,
+ 1473328.744 475431.173 0, 1473632.088 475459.041 0, 1473935.429 475486.927 0, 1474238.769 475514.831 0, 1474540.715 475542.625 0, 1474845.444 475570.692 0, 1475148.779 475598.65 0, 1475452.112 475626.625 0, 1475755.443 475654.618 0, 1476058.773 475682.629 0,
+ 1476362.102 475710.658 0, 1476665.428 475738.704 0, 1476968.753 475766.769 0, 1477272.077 475794.851 0, 1477575.399 475822.952 0, 1477878.719 475851.07 0, 1478182.037 475879.206 0, 1478485.354 475907.359 0, 1478788.669 475935.531 0, 1479091.982 475963.72 0,
+ 1479395.294 475991.928 0, 1479698.604 476020.153 0, 1480001.913 476048.396 0, 1480305.219 476076.657 0, 1480608.525 476104.936 0, 1480911.828 476133.232 0, 1481215.13 476161.547 0, 1481518.43 476189.879 0, 1481820.338 476218.099 0, 1482337.393 470688.221 0,
+ 1482854.409 465158.774 0))
+
+POLYGON ((1496376.684 477599.894 0, 1496074.855 477570.821 0, 1495771.636 477541.631 0, 1495468.416 477512.46 0, 1495165.193 477483.307 0, 1494861.969 477454.171 0, 1494558.743 477425.054 0, 1494255.516 477395.954 0, 1493952.287 477366.872 0, 1493649.056 477337.808 0,
+ 1493345.823 477308.762 0, 1493042.589 477279.733 0, 1492739.353 477250.723 0, 1492436.115 477221.73 0, 1492132.876 477192.755 0, 1491829.635 477163.798 0, 1491526.392 477134.859 0, 1491223.148 477105.937 0, 1490919.901 477077.034 0, 1490616.653 477048.148 0,
+ 1490313.404 477019.28 0, 1490010.152 476990.43 0, 1489706.899 476961.598 0, 1489403.645 476932.784 0, 1489098.999 476903.856 0, 1488797.13 476875.209 0, 1488493.87 476846.448 0, 1488190.609 476817.706 0, 1487887.346 476788.981 0, 1487584.081 476760.273 0,
+ 1487280.814 476731.584 0, 1486977.546 476702.913 0, 1486674.276 476674.259 0, 1486371.004 476645.623 0, 1486067.731 476617.005 0, 1485764.456 476588.405 0, 1485461.179 476559.823 0, 1485157.901 476531.259 0, 1484854.621 476502.712 0, 1484551.339 476474.184 0,
+ 1484248.056 476445.673 0, 1483944.771 476417.18 0, 1483641.484 476388.705 0, 1483338.196 476360.248 0, 1483034.906 476331.808 0, 1482731.614 476303.387 0, 1482428.32 476274.983 0, 1482125.025 476246.597 0, 1481820.338 476218.099 0, 1481303.242 481748.405 0,
+ 1480786.107 487279.135 0, 1481090.14 487307.572 0, 1481392.784 487335.897 0, 1481695.427 487364.24 0, 1481998.068 487392.6 0, 1482300.707 487420.979 0, 1482603.344 487449.375 0, 1482905.98 487477.789 0, 1483208.614 487506.221 0, 1483511.246 487534.67 0,
+ 1483813.877 487563.138 0, 1484116.506 487591.623 0, 1484419.133 487620.126 0, 1484721.759 487648.647 0, 1485024.383 487677.185 0, 1485327.005 487705.742 0, 1485629.626 487734.316 0, 1485932.245 487762.908 0, 1486234.862 487791.518 0, 1486537.478 487820.146 0,
+ 1486840.092 487848.791 0, 1487142.704 487877.455 0, 1487445.315 487906.136 0, 1487747.923 487934.835 0, 1488049.144 487963.42 0, 1488353.136 487992.286 0, 1488655.74 488021.039 0, 1488958.342 488049.809 0, 1489260.942 488078.597 0, 1489563.541 488107.403 0,
+ 1489866.138 488136.226 0, 1490168.733 488165.068 0, 1490471.327 488193.927 0, 1490773.919 488222.804 0, 1491076.509 488251.699 0, 1491379.098 488280.612 0, 1491681.684 488309.542 0, 1491984.27 488338.491 0, 1492286.853 488367.457 0, 1492589.435 488396.441 0,
+ 1492892.015 488425.442 0, 1493194.593 488454.462 0, 1493497.169 488483.499 0, 1493799.744 488512.554 0, 1494102.317 488541.627 0, 1494404.889 488570.718 0, 1494707.459 488599.827 0, 1495010.027 488628.953 0, 1495311.208 488657.964 0, 1495843.967 483128.717 0,
+ 1496376.684 477599.894 0))
+
+POLYGON ((1509832.356 490077.823 0, 1509531.255 490047.961 0, 1509228.771 490017.98 0, 1508926.284 489988.017 0, 1508623.796 489958.072 0, 1508321.307 489928.144 0, 1508018.815 489898.234 0, 1507716.322 489868.342 0, 1507413.827 489838.468 0, 1507111.33 489808.611 0,
+ 1506808.831 489778.772 0, 1506506.331 489748.952 0, 1506203.829 489719.149 0, 1505901.325 489689.363 0, 1505598.819 489659.596 0, 1505296.312 489629.846 0, 1504993.803 489600.114 0, 1504691.292 489570.4 0, 1504388.779 489540.704 0, 1504086.265 489511.026 0,
+ 1503783.749 489481.365 0, 1503481.231 489451.722 0, 1503178.711 489422.097 0, 1502876.19 489392.49 0, 1502572.283 489362.765 0, 1502271.142 489333.329 0, 1501968.616 489303.775 0, 1501666.087 489274.239 0, 1501363.557 489244.721 0, 1501061.025 489215.221 0,
+ 1500758.492 489185.738 0, 1500455.957 489156.274 0, 1500153.42 489126.827 0, 1499850.881 489097.397 0, 1499548.34 489067.986 0, 1499245.798 489038.593 0, 1498943.254 489009.217 0, 1498640.709 488979.859 0, 1498338.161 488950.519 0, 1498035.612 488921.197 0,
+ 1497733.061 488891.892 0, 1497430.509 488862.605 0, 1497127.955 488833.337 0, 1496825.399 488804.086 0, 1496522.841 488774.852 0, 1496220.282 488745.637 0, 1495917.72 488716.439 0, 1495615.158 488687.259 0, 1495311.208 488657.964 0, 1494778.409 494187.633 0,
+ 1494245.569 499717.721 0, 1494548.865 499746.953 0, 1494850.777 499776.07 0, 1495152.687 499805.205 0, 1495454.595 499834.358 0, 1495756.502 499863.528 0, 1496058.407 499892.716 0, 1496360.311 499921.922 0, 1496662.212 499951.146 0, 1496964.112 499980.387 0,
+ 1497266.01 500009.646 0, 1497567.907 500038.923 0, 1497869.801 500068.218 0, 1498171.694 500097.531 0, 1498473.586 500126.861 0, 1498775.475 500156.209 0, 1499077.363 500185.575 0, 1499379.249 500214.958 0, 1499681.134 500244.36 0, 1499983.016 500273.779 0,
+ 1500284.897 500303.216 0, 1500586.776 500332.67 0, 1500888.654 500362.143 0, 1501190.529 500391.633 0, 1501491.023 500421.006 0, 1501794.276 500450.667 0, 1502096.146 500480.21 0, 1502398.015 500509.771 0, 1502699.882 500539.35 0, 1503001.747 500568.947 0,
+ 1503303.611 500598.562 0, 1503605.472 500628.194 0, 1503907.332 500657.844 0, 1504209.191 500687.512 0, 1504511.047 500717.198 0, 1504812.902 500746.901 0, 1505114.755 500776.622 0, 1505416.606 500806.361 0, 1505718.456 500836.118 0, 1506020.304 500865.892 0,
+ 1506322.15 500895.685 0, 1506623.994 500925.495 0, 1506925.836 500955.322 0, 1507227.677 500985.168 0, 1507529.516 501015.031 0, 1507831.354 501044.912 0, 1508133.189 501074.811 0, 1508435.023 501104.728 0, 1508735.475 501134.525 0, 1509283.936 495605.965 0,
+ 1509832.356 490077.823 0))
+
+POLYGON ((1523221.321 502592.261 0, 1522920.951 502561.614 0, 1522619.203 502530.845 0, 1522317.454 502500.094 0, 1522015.702 502469.36 0, 1521713.949 502438.644 0, 1521412.193 502407.946 0, 1521110.436 502377.265 0, 1520808.677 502346.603 0, 1520506.917 502315.958 0,
+ 1520205.154 502285.331 0, 1519903.39 502254.721 0, 1519601.624 502224.13 0, 1519299.856 502193.556 0, 1518998.086 502163 0, 1518696.315 502132.462 0, 1518394.542 502101.941 0, 1518092.767 502071.438 0, 1517790.99 502040.953 0, 1517489.211 502010.486 0,
+ 1517187.431 501980.036 0, 1516885.648 501949.605 0, 1516583.864 501919.191 0, 1516282.079 501888.794 0, 1515978.913 501858.277 0, 1515678.502 501828.055 0, 1515376.71 501797.712 0, 1515074.917 501767.387 0, 1514773.123 501737.08 0, 1514471.326 501706.79 0,
+ 1514169.528 501676.518 0, 1513867.728 501646.264 0, 1513565.926 501616.028 0, 1513264.122 501585.809 0, 1512962.317 501555.608 0, 1512660.51 501525.425 0, 1512358.701 501495.26 0, 1512056.89 501465.112 0, 1511755.077 501434.983 0, 1511453.263 501404.871 0,
+ 1511151.447 501374.776 0, 1510849.629 501344.7 0, 1510547.81 501314.641 0, 1510245.988 501284.6 0, 1509944.165 501254.577 0, 1509642.34 501224.572 0, 1509340.513 501194.584 0, 1509038.685 501164.614 0, 1508735.475 501134.525 0, 1508186.973 506663.501 0,
+ 1507638.43 512192.889 0, 1507940.986 512222.914 0, 1508242.163 512252.819 0, 1508543.339 512282.742 0, 1508844.513 512312.682 0, 1509145.686 512342.641 0, 1509446.856 512372.617 0, 1509748.025 512402.611 0, 1510049.192 512432.623 0, 1510350.357 512462.652 0,
+ 1510651.521 512492.699 0, 1510952.682 512522.764 0, 1511253.842 512552.846 0, 1511555 512582.947 0, 1511856.157 512613.065 0, 1512157.311 512643.2 0, 1512458.464 512673.354 0, 1512759.615 512703.525 0, 1513060.765 512733.714 0, 1513361.912 512763.92 0,
+ 1513663.058 512794.145 0, 1513964.202 512824.387 0, 1514265.344 512854.646 0, 1514566.484 512884.924 0, 1514866.248 512915.081 0, 1515168.76 512945.532 0, 1515469.895 512975.863 0, 1515771.028 513006.211 0, 1516072.16 513036.577 0, 1516373.289 513066.961 0,
+ 1516674.417 513097.363 0, 1516975.543 513127.782 0, 1517276.668 513158.219 0, 1517577.79 513188.674 0, 1517878.911 513219.146 0, 1518180.03 513249.636 0, 1518481.147 513280.144 0, 1518782.262 513310.67 0, 1519083.376 513341.213 0, 1519384.487 513371.774 0,
+ 1519685.597 513402.353 0, 1519986.706 513432.95 0, 1520287.812 513463.564 0, 1520588.916 513494.196 0, 1520890.019 513524.846 0, 1521191.12 513555.513 0, 1521492.219 513586.198 0, 1521793.316 513616.901 0, 1522093.038 513647.481 0, 1522657.201 508119.665 0,
+ 1523221.321 502592.261 0))
+
+POLYGON ((1536543.479 515142.904 0, 1536243.843 515111.477 0, 1535942.833 515079.924 0, 1535641.822 515048.388 0, 1535340.809 515016.87 0, 1535039.794 514985.37 0, 1534738.777 514953.887 0, 1534437.759 514922.423 0, 1534136.738 514890.975 0, 1533835.716 514859.546 0,
+ 1533534.692 514828.134 0, 1533233.666 514796.741 0, 1532932.638 514765.364 0, 1532631.608 514734.006 0, 1532330.576 514702.665 0, 1532029.543 514671.342 0, 1531728.508 514640.037 0, 1531427.471 514608.749 0, 1531126.432 514577.479 0, 1530825.391 514546.227 0,
+ 1530524.348 514514.992 0, 1530223.304 514483.776 0, 1529922.257 514452.577 0, 1529621.209 514421.395 0, 1529318.787 514390.09 0, 1529019.107 514359.086 0, 1528718.054 514327.958 0, 1528416.998 514296.847 0, 1528115.941 514265.755 0, 1527814.882 514234.68 0,
+ 1527513.821 514203.622 0, 1527212.758 514172.583 0, 1526911.693 514141.561 0, 1526610.627 514110.557 0, 1526309.559 514079.57 0, 1526008.489 514048.602 0, 1525707.417 514017.651 0, 1525406.343 513986.718 0, 1525105.267 513955.802 0, 1524804.19 513924.904 0,
+ 1524503.111 513894.024 0, 1524202.03 513863.162 0, 1523900.947 513832.317 0, 1523599.862 513801.49 0, 1523298.776 513770.681 0, 1522997.688 513739.89 0, 1522696.598 513709.116 0, 1522395.506 513678.36 0, 1522093.038 513647.481 0, 1521528.834 519175.707 0,
+ 1520964.589 524704.34 0, 1521266.402 524735.151 0, 1521566.843 524765.841 0, 1521867.283 524796.548 0, 1522167.72 524827.273 0, 1522468.156 524858.016 0, 1522768.59 524888.776 0, 1523069.022 524919.554 0, 1523369.452 524950.349 0, 1523669.88 524981.163 0,
+ 1523970.307 525011.994 0, 1524270.732 525042.843 0, 1524571.155 525073.709 0, 1524871.576 525104.593 0, 1525171.995 525135.495 0, 1525472.413 525166.414 0, 1525772.829 525197.351 0, 1526073.243 525228.306 0, 1526373.655 525259.278 0, 1526674.065 525290.269 0,
+ 1526974.473 525321.276 0, 1527274.88 525352.302 0, 1527575.285 525383.345 0, 1527875.688 525414.406 0, 1528174.72 525445.343 0, 1528476.488 525476.581 0, 1528776.886 525507.695 0, 1529077.281 525538.826 0, 1529377.675 525569.976 0, 1529678.067 525601.143 0,
+ 1529978.457 525632.327 0, 1530278.845 525663.53 0, 1530579.232 525694.75 0, 1530879.616 525725.987 0, 1531179.999 525757.243 0, 1531480.38 525788.516 0, 1531780.759 525819.806 0, 1532081.136 525851.115 0, 1532381.512 525882.441 0, 1532681.885 525913.785 0,
+ 1532982.257 525945.146 0, 1533282.627 525976.525 0, 1533582.995 526007.922 0, 1533883.361 526039.336 0, 1534183.726 526070.769 0, 1534484.088 526102.218 0, 1534784.449 526133.686 0, 1535084.807 526165.171 0, 1535383.796 526196.53 0, 1535963.659 520669.514 0,
+ 1536543.479 515142.904 0))
+
+POLYGON ((1549798.731 527729.452 0, 1549499.83 527697.248 0, 1549199.561 527664.914 0, 1548899.29 527632.598 0, 1548599.018 527600.3 0, 1548298.744 527568.02 0, 1547998.467 527535.757 0, 1547698.189 527503.511 0, 1547397.909 527471.284 0, 1547097.627 527439.074 0,
+ 1546797.343 527406.882 0, 1546497.058 527374.707 0, 1546196.77 527342.55 0, 1545896.481 527310.411 0, 1545596.189 527278.289 0, 1545295.896 527246.185 0, 1544995.601 527214.099 0, 1544695.304 527182.031 0, 1544395.005 527149.98 0, 1544094.704 527117.947 0,
+ 1543794.401 527085.931 0, 1543494.097 527053.933 0, 1543193.79 527021.953 0, 1542893.482 526989.991 0, 1542591.805 526957.901 0, 1542292.86 526926.119 0, 1541992.546 526894.209 0, 1541692.23 526862.318 0, 1541391.912 526830.444 0, 1541091.592 526798.587 0,
+ 1540791.271 526766.748 0, 1540490.947 526734.927 0, 1540190.622 526703.124 0, 1539890.295 526671.338 0, 1539589.966 526639.57 0, 1539289.635 526607.82 0, 1538989.302 526576.087 0, 1538688.968 526544.372 0, 1538388.631 526512.675 0, 1538088.293 526480.995 0,
+ 1537787.953 526449.333 0, 1537487.611 526417.689 0, 1537187.267 526386.062 0, 1536886.921 526354.453 0, 1536586.573 526322.862 0, 1536286.224 526291.289 0, 1535985.873 526259.733 0, 1535685.519 526228.194 0, 1535383.796 526196.53 0, 1534803.891 531723.95 0,
+ 1534223.944 537251.769 0, 1534525.014 537283.365 0, 1534824.716 537314.834 0, 1535124.417 537346.322 0, 1535424.116 537377.827 0, 1535723.813 537409.35 0, 1536023.508 537440.89 0, 1536323.201 537472.449 0, 1536622.892 537504.024 0, 1536922.582 537535.618 0,
+ 1537222.27 537567.229 0, 1537521.955 537598.857 0, 1537821.639 537630.504 0, 1538121.321 537662.168 0, 1538421.002 537693.849 0, 1538720.68 537725.548 0, 1539020.357 537757.265 0, 1539320.031 537789 0, 1539619.704 537820.752 0, 1539919.375 537852.522 0,
+ 1540219.044 537884.309 0, 1540518.711 537916.114 0, 1540818.376 537947.937 0, 1541118.04 537979.777 0, 1541416.338 538011.49 0, 1541717.361 538043.511 0, 1542017.019 538075.404 0, 1542316.674 538107.315 0, 1542616.328 538139.243 0, 1542915.981 538171.189 0,
+ 1543215.631 538203.153 0, 1543515.279 538235.134 0, 1543814.926 538267.133 0, 1544114.57 538299.15 0, 1544414.213 538331.185 0, 1544713.854 538363.236 0, 1545013.493 538395.306 0, 1545313.13 538427.393 0, 1545612.765 538459.498 0, 1545912.398 538491.621 0,
+ 1546212.03 538523.761 0, 1546511.659 538555.919 0, 1546811.287 538588.094 0, 1547110.913 538620.287 0, 1547410.536 538652.498 0, 1547710.158 538684.726 0, 1548009.778 538716.972 0, 1548309.396 538749.236 0, 1548607.65 538781.37 0, 1549203.212 533255.211 0,
+ 1549798.731 527729.452 0))
+
+POLYGON ((1562986.978 540351.601 0, 1562688.814 540318.624 0, 1562389.288 540285.514 0, 1562089.76 540252.422 0, 1561790.23 540219.347 0, 1561490.699 540186.29 0, 1561191.165 540153.251 0, 1560891.63 540120.229 0, 1560592.092 540087.225 0, 1560292.553 540054.238 0,
+ 1559993.011 540021.269 0, 1559693.468 539988.318 0, 1559393.923 539955.385 0, 1559094.376 539922.469 0, 1558794.827 539889.57 0, 1558495.276 539856.689 0, 1558195.723 539823.826 0, 1557896.168 539790.981 0, 1557596.611 539758.153 0, 1557297.052 539725.343 0,
+ 1556997.492 539692.55 0, 1556697.929 539659.775 0, 1556398.364 539627.018 0, 1556098.798 539594.278 0, 1555797.869 539561.408 0, 1555499.659 539528.852 0, 1555200.087 539496.165 0, 1554900.513 539463.496 0, 1554600.937 539430.844 0, 1554301.359 539398.21 0,
+ 1554001.779 539365.594 0, 1553702.197 539332.996 0, 1553402.613 539300.415 0, 1553103.027 539267.851 0, 1552803.44 539235.305 0, 1552503.85 539202.777 0, 1552204.259 539170.267 0, 1551904.666 539137.774 0, 1551605.07 539105.299 0, 1551305.473 539072.841 0,
+ 1551005.874 539040.401 0, 1550706.273 539007.979 0, 1550406.67 538975.574 0, 1550107.065 538943.187 0, 1549807.459 538910.818 0, 1549507.85 538878.466 0, 1549208.239 538846.132 0, 1548908.627 538813.816 0, 1548607.65 538781.37 0, 1548012.046 544307.926 0,
+ 1547416.399 549834.875 0, 1547716.722 549867.251 0, 1548015.684 549899.497 0, 1548314.644 549931.761 0, 1548613.602 549964.042 0, 1548912.558 549996.342 0, 1549211.512 550028.658 0, 1549510.464 550060.993 0, 1549809.415 550093.344 0, 1550108.363 550125.714 0,
+ 1550407.31 550158.101 0, 1550706.255 550190.506 0, 1551005.197 550222.928 0, 1551304.138 550255.368 0, 1551603.077 550287.825 0, 1551902.014 550320.3 0, 1552200.95 550352.793 0, 1552499.883 550385.303 0, 1552798.814 550417.831 0, 1553097.744 550450.377 0,
+ 1553396.671 550482.94 0, 1553695.597 550515.52 0, 1553994.52 550548.118 0, 1554293.442 550580.734 0, 1554591.004 550613.219 0, 1554891.28 550646.019 0, 1555190.196 550678.687 0, 1555489.11 550711.373 0, 1555788.022 550744.077 0, 1556086.932 550776.799 0,
+ 1556385.841 550809.538 0, 1556684.747 550842.294 0, 1556983.651 550875.068 0, 1557282.554 550907.86 0, 1557581.455 550940.669 0, 1557880.353 550973.496 0, 1558179.25 551006.341 0, 1558478.145 551039.203 0, 1558777.038 551072.083 0, 1559075.928 551104.98 0,
+ 1559374.817 551137.895 0, 1559673.704 551170.827 0, 1559972.59 551203.777 0, 1560271.473 551236.745 0, 1560570.354 551269.73 0, 1560869.233 551302.733 0, 1561168.11 551335.754 0, 1561466.986 551368.792 0, 1561764.503 551401.697 0, 1562375.762 545876.452 0,
+ 1562986.978 540351.601 0))
+
+POLYGON ((1576108.123 553009.049 0, 1575810.698 552975.302 0, 1575511.917 552941.42 0, 1575213.134 552907.555 0, 1574914.349 552873.708 0, 1574615.563 552839.879 0, 1574316.774 552806.067 0, 1574017.983 552772.273 0, 1573719.19 552738.496 0, 1573420.395 552704.737 0,
+ 1573121.599 552670.995 0, 1572822.8 552637.271 0, 1572523.999 552603.565 0, 1572225.196 552569.876 0, 1571926.392 552536.204 0, 1571627.585 552502.551 0, 1571328.776 552468.915 0, 1571029.966 552435.296 0, 1570731.153 552401.695 0, 1570432.338 552368.112 0,
+ 1570133.522 552334.546 0, 1569834.703 552300.998 0, 1569535.883 552267.468 0, 1569237.06 552233.955 0, 1568936.88 552200.308 0, 1568639.409 552166.982 0, 1568340.581 552133.521 0, 1568041.75 552100.079 0, 1567742.918 552066.654 0, 1567444.084 552033.246 0,
+ 1567145.247 551999.857 0, 1566846.409 551966.484 0, 1566547.569 551933.13 0, 1566248.727 551899.793 0, 1565949.883 551866.473 0, 1565651.037 551833.171 0, 1565352.189 551799.887 0, 1565053.338 551766.62 0, 1564754.487 551733.371 0, 1564455.633 551700.139 0,
+ 1564156.777 551666.926 0, 1563857.919 551633.729 0, 1563559.059 551600.55 0, 1563260.197 551567.389 0, 1562961.334 551534.246 0, 1562662.468 551501.12 0, 1562363.6 551468.011 0, 1562064.731 551434.92 0, 1561764.503 551401.697 0, 1561153.2 556927.333 0,
+ 1560541.855 562453.356 0, 1560841.429 562486.507 0, 1561139.648 562519.526 0, 1561437.866 562552.562 0, 1561736.081 562585.616 0, 1562034.294 562618.687 0, 1562332.505 562651.776 0, 1562630.715 562684.883 0, 1562928.922 562718.007 0, 1563227.128 562751.149 0,
+ 1563525.331 562784.308 0, 1563823.533 562817.485 0, 1564121.732 562850.679 0, 1564419.93 562883.891 0, 1564718.125 562917.12 0, 1565016.319 562950.367 0, 1565314.511 562983.632 0, 1565612.701 563016.914 0, 1565910.889 563050.213 0, 1566209.074 563083.53 0,
+ 1566507.258 563116.865 0, 1566805.44 563150.217 0, 1567103.62 563183.587 0, 1567401.798 563216.975 0, 1567698.622 563250.228 0, 1567998.149 563283.802 0, 1568296.321 563317.242 0, 1568594.491 563350.7 0, 1568892.659 563384.175 0, 1569190.825 563417.667 0,
+ 1569488.99 563451.178 0, 1569787.152 563484.705 0, 1570085.312 563518.251 0, 1570383.47 563551.814 0, 1570681.627 563585.394 0, 1570979.781 563618.992 0, 1571277.934 563652.607 0, 1571576.084 563686.24 0, 1571874.232 563719.891 0, 1572172.379 563753.559 0,
+ 1572470.523 563787.245 0, 1572768.666 563820.948 0, 1573066.806 563854.669 0, 1573364.945 563888.407 0, 1573663.081 563922.163 0, 1573961.216 563955.937 0, 1574259.349 563989.728 0, 1574557.479 564023.536 0, 1574854.257 564057.209 0, 1575481.212 558532.935 0,
+ 1576108.123 553009.049 0))
+
+POLYGON ((1589162.071 565701.491 0, 1588865.387 565666.98 0, 1588567.353 565632.329 0, 1588269.317 565597.696 0, 1587971.279 565563.08 0, 1587673.239 565528.482 0, 1587375.197 565493.902 0, 1587077.153 565459.339 0, 1586779.107 565424.793 0, 1586481.059 565390.265 0,
+ 1586183.009 565355.755 0, 1585884.957 565321.262 0, 1585586.902 565286.787 0, 1585288.846 565252.329 0, 1584990.788 565217.889 0, 1584692.728 565183.466 0, 1584394.665 565149.061 0, 1584096.601 565114.674 0, 1583798.535 565080.304 0, 1583500.466 565045.951 0,
+ 1583202.396 565011.616 0, 1582904.323 564977.299 0, 1582606.249 564942.999 0, 1582308.172 564908.717 0, 1582008.744 564874.297 0, 1581712.013 564840.205 0, 1581413.931 564805.975 0, 1581115.846 564771.763 0, 1580817.76 564737.569 0, 1580519.671 564703.392 0,
+ 1580221.581 564669.232 0, 1579923.488 564635.09 0, 1579625.394 564600.966 0, 1579327.297 564566.859 0, 1579029.198 564532.77 0, 1578731.098 564498.698 0, 1578432.995 564464.644 0, 1578134.891 564430.607 0, 1577836.784 564396.588 0, 1577538.675 564362.587 0,
+ 1577240.565 564328.603 0, 1576942.452 564294.636 0, 1576644.337 564260.687 0, 1576346.221 564226.756 0, 1576048.102 564192.842 0, 1575749.982 564158.946 0, 1575451.859 564125.067 0, 1575153.734 564091.206 0, 1574854.257 564057.209 0, 1574227.258 569581.867 0,
+ 1573600.216 575106.907 0, 1573899.041 575140.83 0, 1574196.515 575174.617 0, 1574493.987 575208.422 0, 1574791.457 575242.244 0, 1575088.926 575276.084 0, 1575386.392 575309.941 0, 1575683.856 575343.816 0, 1575981.318 575377.708 0, 1576278.779 575411.618 0,
+ 1576576.237 575445.546 0, 1576873.693 575479.491 0, 1577171.148 575513.453 0, 1577468.6 575547.433 0, 1577766.05 575581.43 0, 1578063.499 575615.445 0, 1578360.945 575649.478 0, 1578658.389 575683.528 0, 1578955.831 575717.595 0, 1579253.272 575751.68 0,
+ 1579550.71 575785.782 0, 1579848.146 575819.902 0, 1580145.581 575854.04 0, 1580443.013 575888.195 0, 1580739.096 575922.213 0, 1581037.871 575956.557 0, 1581335.297 575990.765 0, 1581632.722 576024.99 0, 1581930.144 576059.232 0, 1582227.564 576093.492 0,
+ 1582524.982 576127.77 0, 1582822.398 576162.065 0, 1583119.812 576196.377 0, 1583417.225 576230.707 0, 1583714.635 576265.055 0, 1584012.043 576299.42 0, 1584309.449 576333.802 0, 1584606.853 576368.202 0, 1584904.255 576402.62 0, 1585201.655 576437.055 0,
+ 1585499.053 576471.508 0, 1585796.449 576505.978 0, 1586093.842 576540.465 0, 1586391.234 576574.97 0, 1586688.624 576609.493 0, 1586986.012 576644.033 0, 1587283.398 576678.591 0, 1587580.781 576713.166 0, 1587876.818 576747.602 0, 1588519.466 571224.356 0,
+ 1589162.071 565701.491 0))
+
+POLYGON ((1602148.727 578428.624 0, 1601852.787 578393.351 0, 1601555.502 578357.936 0, 1601258.215 578322.539 0, 1600960.926 578287.159 0, 1600663.635 578251.796 0, 1600366.342 578216.451 0, 1600069.046 578181.123 0, 1599771.749 578145.813 0, 1599474.45 578110.521 0,
+ 1599177.148 578075.245 0, 1598879.845 578039.988 0, 1598582.539 578004.748 0, 1598285.231 577969.525 0, 1597987.921 577934.32 0, 1597690.61 577899.132 0, 1597393.296 577863.962 0, 1597095.98 577828.809 0, 1596798.662 577793.674 0, 1596501.341 577758.557 0,
+ 1596204.019 577723.457 0, 1595906.695 577688.374 0, 1595609.369 577653.309 0, 1595312.04 577618.261 0, 1595013.366 577583.073 0, 1594717.377 577548.218 0, 1594420.043 577513.223 0, 1594122.706 577478.246 0, 1593825.367 577443.286 0, 1593528.027 577408.343 0,
+ 1593230.684 577373.418 0, 1592933.339 577338.51 0, 1592635.992 577303.62 0, 1592338.643 577268.747 0, 1592041.292 577233.892 0, 1591743.939 577199.055 0, 1591446.584 577164.235 0, 1591149.227 577129.432 0, 1590851.868 577094.647 0, 1590554.506 577059.879 0,
+ 1590257.143 577025.129 0, 1589959.778 576990.396 0, 1589662.41 576955.681 0, 1589365.041 576920.984 0, 1589067.669 576886.304 0, 1588770.296 576851.641 0, 1588472.92 576816.996 0, 1588175.543 576782.368 0, 1587876.818 576747.602 0, 1587234.125 582271.226 0,
+ 1586591.389 587795.225 0, 1586889.461 587829.915 0, 1587186.188 587864.467 0, 1587482.913 587899.037 0, 1587779.637 587933.623 0, 1588076.358 587968.228 0, 1588373.077 588002.849 0, 1588669.794 588037.489 0, 1588966.509 588072.145 0, 1589263.222 588106.819 0,
+ 1589559.934 588141.511 0, 1589856.643 588176.22 0, 1590153.35 588210.946 0, 1590450.054 588245.69 0, 1590746.757 588280.452 0, 1591043.458 588315.231 0, 1591340.157 588350.027 0, 1591636.854 588384.841 0, 1591933.548 588419.672 0, 1592230.241 588454.521 0,
+ 1592526.932 588489.387 0, 1592823.62 588524.271 0, 1593120.307 588559.172 0, 1593416.991 588594.091 0, 1593712.333 588628.869 0, 1594010.354 588663.98 0, 1594307.032 588698.951 0, 1594603.708 588733.94 0, 1594900.382 588768.946 0, 1595197.055 588803.969 0,
+ 1595493.725 588839.01 0, 1595790.393 588874.068 0, 1596087.058 588909.144 0, 1596383.722 588944.237 0, 1596680.384 588979.348 0, 1596977.044 589014.476 0, 1597273.701 589049.622 0, 1597570.357 589084.785 0, 1597867.01 589119.965 0, 1598163.662 589155.163 0,
+ 1598460.311 589190.379 0, 1598756.958 589225.612 0, 1599053.604 589260.862 0, 1599350.247 589296.13 0, 1599646.888 589331.415 0, 1599943.527 589366.718 0, 1600240.164 589402.038 0, 1600536.798 589437.376 0, 1600832.092 589472.571 0, 1601490.432 583950.41 0,
+ 1602148.727 578428.624 0))
+
+POLYGON ((1615067.999 591190.144 0, 1614772.804 591154.114 0, 1614476.27 591117.938 0, 1614179.734 591081.78 0, 1613883.196 591045.64 0, 1613586.656 591009.516 0, 1613290.114 590973.411 0, 1612993.569 590937.322 0, 1612697.023 590901.252 0, 1612400.474 590865.198 0,
+ 1612103.923 590829.162 0, 1611807.37 590793.144 0, 1611510.815 590757.143 0, 1611214.258 590721.159 0, 1610917.699 590685.193 0, 1610621.137 590649.244 0, 1610324.574 590613.313 0, 1610028.008 590577.399 0, 1609731.441 590541.503 0, 1609434.871 590505.624 0,
+ 1609138.299 590469.763 0, 1608841.725 590433.919 0, 1608545.149 590398.092 0, 1608248.57 590362.283 0, 1607950.652 590326.33 0, 1607655.407 590290.718 0, 1607358.823 590254.961 0, 1607062.236 590219.222 0, 1606765.647 590183.5 0, 1606469.056 590147.796 0,
+ 1606172.463 590112.109 0, 1605875.868 590076.439 0, 1605579.271 590040.788 0, 1605282.672 590005.153 0, 1604986.07 589969.536 0, 1604689.467 589933.937 0, 1604392.861 589898.354 0, 1604096.254 589862.79 0, 1603799.644 589827.243 0, 1603503.032 589791.713 0,
+ 1603206.418 589756.201 0, 1602909.802 589720.706 0, 1602613.184 589685.228 0, 1602316.564 589649.769 0, 1602019.941 589614.326 0, 1601723.317 589578.901 0, 1601426.69 589543.494 0, 1601130.062 589508.104 0, 1600832.092 589472.571 0, 1600173.707 594995.104 0,
+ 1599515.279 600518.005 0, 1599812.596 600553.46 0, 1600108.575 600588.772 0, 1600404.551 600624.102 0, 1600700.525 600659.449 0, 1600996.498 600694.814 0, 1601292.468 600730.196 0, 1601588.436 600765.596 0, 1601884.402 600801.013 0, 1602180.366 600836.447 0,
+ 1602476.328 600871.899 0, 1602772.287 600907.369 0, 1603068.245 600942.855 0, 1603364.2 600978.359 0, 1603660.154 601013.881 0, 1603956.105 601049.42 0, 1604252.054 601084.976 0, 1604548.002 601120.55 0, 1604843.947 601156.141 0, 1605139.89 601191.75 0,
+ 1605435.831 601227.376 0, 1605731.769 601263.019 0, 1606027.706 601298.68 0, 1606323.641 601334.358 0, 1606618.238 601369.893 0, 1606915.504 601405.767 0, 1607211.432 601441.498 0, 1607507.358 601477.246 0, 1607803.282 601513.011 0, 1608099.204 601548.794 0,
+ 1608395.124 601584.594 0, 1608691.042 601620.412 0, 1608986.957 601656.247 0, 1609282.871 601692.099 0, 1609578.782 601727.969 0, 1609874.692 601763.857 0, 1610170.599 601799.761 0, 1610466.504 601835.683 0, 1610762.407 601871.623 0, 1611058.308 601907.58 0,
+ 1611354.206 601943.554 0, 1611650.103 601979.546 0, 1611945.998 602015.555 0, 1612241.89 602051.582 0, 1612537.78 602087.626 0, 1612833.668 602123.687 0, 1613129.554 602159.766 0, 1613425.438 602195.863 0, 1613719.986 602231.814 0, 1614394.015 596710.795 0,
+ 1615067.999 591190.144 0))
+
+POLYGON ((1627919.795 603985.746 0, 1627625.347 603948.963 0, 1627329.567 603912.031 0, 1627033.784 603875.116 0, 1626737.999 603838.219 0, 1626442.211 603801.339 0, 1626146.422 603764.476 0, 1625850.63 603727.631 0, 1625554.837 603690.804 0, 1625259.041 603653.993 0,
+ 1624963.242 603617.201 0, 1624667.442 603580.425 0, 1624371.64 603543.667 0, 1624075.835 603506.927 0, 1623780.028 603470.204 0, 1623484.22 603433.498 0, 1623188.408 603396.81 0, 1622892.595 603360.139 0, 1622596.78 603323.485 0, 1622300.962 603286.849 0,
+ 1622005.143 603250.23 0, 1621709.321 603213.629 0, 1621413.497 603177.045 0, 1621117.671 603140.479 0, 1620820.51 603103.765 0, 1620526.012 603067.398 0, 1620230.179 603030.884 0, 1619934.344 602994.387 0, 1619638.508 602957.908 0, 1619342.669 602921.446 0,
+ 1619046.827 602885.001 0, 1618750.984 602848.574 0, 1618455.139 602812.164 0, 1618159.291 602775.772 0, 1617863.441 602739.397 0, 1617567.589 602703.039 0, 1617271.735 602666.699 0, 1616975.879 602630.377 0, 1616680.021 602594.071 0, 1616384.16 602557.783 0,
+ 1616088.298 602521.513 0, 1615792.433 602485.26 0, 1615496.566 602449.024 0, 1615200.697 602412.806 0, 1614904.826 602376.605 0, 1614608.953 602340.422 0, 1614313.077 602304.256 0, 1614017.2 602268.108 0, 1613719.986 602231.814 0, 1613045.913 607753.198 0,
+ 1612371.795 613274.944 0, 1612668.356 613311.158 0, 1612963.583 613347.228 0, 1613258.809 613383.314 0, 1613554.032 613419.418 0, 1613849.253 613455.539 0, 1614144.472 613491.678 0, 1614439.689 613527.834 0, 1614734.904 613564.007 0, 1615030.117 613600.198 0,
+ 1615325.327 613636.406 0, 1615620.536 613672.632 0, 1615915.742 613708.875 0, 1616210.946 613745.135 0, 1616506.148 613781.412 0, 1616801.348 613817.707 0, 1617096.546 613854.02 0, 1617391.741 613890.35 0, 1617686.935 613926.697 0, 1617982.126 613963.061 0,
+ 1618277.315 613999.443 0, 1618572.502 614035.842 0, 1618867.687 614072.259 0, 1619162.87 614108.693 0, 1619456.721 614144.98 0, 1619753.229 614181.613 0, 1620048.405 614218.099 0, 1620343.579 614254.603 0, 1620638.751 614291.124 0, 1620933.921 614327.662 0,
+ 1621229.089 614364.218 0, 1621524.254 614400.791 0, 1621819.418 614437.381 0, 1622114.579 614473.989 0, 1622409.738 614510.614 0, 1622704.895 614547.256 0, 1623000.05 614583.916 0, 1623295.202 614620.593 0, 1623590.353 614657.288 0, 1623885.501 614694 0,
+ 1624180.647 614730.729 0, 1624475.791 614767.476 0, 1624770.933 614804.24 0, 1625066.073 614841.022 0, 1625361.21 614877.82 0, 1625656.346 614914.637 0, 1625951.479 614951.47 0, 1626246.61 614988.321 0, 1626540.41 615025.023 0, 1627230.125 609505.204 0,
+ 1627919.795 603985.746 0))
+
+POLYGON ((1640704.024 616815.125 0, 1640410.326 616777.592 0, 1640115.301 616739.908 0, 1639820.273 616702.24 0, 1639525.243 616664.59 0, 1639230.21 616626.958 0, 1638935.176 616589.343 0, 1638640.139 616551.745 0, 1638345.1 616514.165 0, 1638050.059 616476.602 0,
+ 1637755.015 616439.056 0, 1637459.97 616401.528 0, 1637164.922 616364.017 0, 1636869.872 616326.523 0, 1636574.82 616289.047 0, 1636279.765 616251.588 0, 1635984.709 616214.147 0, 1635689.65 616176.722 0, 1635394.589 616139.316 0, 1635099.526 616101.926 0,
+ 1634804.46 616064.554 0, 1634509.392 616027.2 0, 1634214.323 615989.862 0, 1633919.251 615952.542 0, 1633622.85 615915.072 0, 1633329.1 615877.955 0, 1633034.021 615840.687 0, 1632738.94 615803.436 0, 1632443.857 615766.203 0, 1632148.772 615728.988 0,
+ 1631853.685 615691.789 0, 1631558.595 615654.608 0, 1631263.504 615617.445 0, 1630968.41 615580.299 0, 1630673.313 615543.17 0, 1630378.215 615506.058 0, 1630083.115 615468.964 0, 1629788.012 615431.887 0, 1629492.907 615394.828 0, 1629197.8 615357.786 0,
+ 1628902.691 615320.761 0, 1628607.579 615283.754 0, 1628312.466 615246.764 0, 1628017.35 615209.792 0, 1627722.232 615172.836 0, 1627427.112 615135.899 0, 1627131.99 615098.978 0, 1626836.865 615062.075 0, 1626540.41 615025.023 0, 1625850.651 620545.202 0,
+ 1625160.846 626065.736 0, 1625456.649 626102.706 0, 1625751.123 626139.528 0, 1626045.596 626176.367 0, 1626340.066 626213.224 0, 1626634.534 626250.098 0, 1626929 626286.989 0, 1627223.464 626323.897 0, 1627517.926 626360.823 0, 1627812.385 626397.766 0,
+ 1628106.842 626434.727 0, 1628401.297 626471.704 0, 1628695.75 626508.699 0, 1628990.201 626545.712 0, 1629284.65 626582.742 0, 1629579.096 626619.789 0, 1629873.54 626656.853 0, 1630167.982 626693.935 0, 1630462.422 626731.034 0, 1630756.86 626768.15 0,
+ 1631051.295 626805.284 0, 1631345.728 626842.435 0, 1631640.159 626879.604 0, 1631934.588 626916.79 0, 1632227.691 626953.825 0, 1632523.44 626991.213 0, 1632817.862 627028.451 0, 1633112.282 627065.706 0, 1633406.7 627102.978 0, 1633701.116 627140.268 0,
+ 1633995.529 627177.575 0, 1634289.941 627214.899 0, 1634584.35 627252.241 0, 1634878.757 627289.6 0, 1635173.162 627326.976 0, 1635467.564 627364.37 0, 1635761.964 627401.781 0, 1636056.363 627439.21 0, 1636350.759 627476.655 0, 1636645.152 627514.118 0,
+ 1636939.544 627551.599 0, 1637233.933 627589.096 0, 1637528.32 627626.611 0, 1637822.705 627664.144 0, 1638117.088 627701.693 0, 1638411.469 627739.26 0, 1638705.847 627776.844 0, 1639000.223 627814.446 0, 1639293.274 627851.896 0, 1639998.672 622333.333 0,
+ 1640704.024 616815.125 0))
+
+POLYGON ((1653420.599 629677.975 0, 1653127.653 629639.697 0, 1652833.384 629601.264 0, 1652539.113 629562.848 0, 1652244.84 629524.45 0, 1651950.564 629486.069 0, 1651656.287 629447.705 0, 1651362.007 629409.358 0, 1651067.724 629371.029 0, 1650773.44 629332.717 0,
+ 1650479.153 629294.422 0, 1650184.864 629256.145 0, 1649890.573 629217.885 0, 1649596.28 629179.643 0, 1649301.984 629141.417 0, 1649007.686 629103.209 0, 1648713.386 629065.019 0, 1648419.083 629026.845 0, 1648124.778 628988.689 0, 1647830.471 628950.551 0,
+ 1647536.162 628912.429 0, 1647241.851 628874.325 0, 1646947.537 628836.239 0, 1646653.221 628798.169 0, 1646357.582 628759.946 0, 1646064.582 628722.083 0, 1645770.26 628684.065 0, 1645475.935 628646.065 0, 1645181.608 628608.082 0, 1644887.278 628570.117 0,
+ 1644592.947 628532.169 0, 1644298.613 628494.238 0, 1644004.277 628456.324 0, 1643709.938 628418.428 0, 1643415.598 628380.549 0, 1643121.255 628342.688 0, 1642826.91 628304.844 0, 1642532.563 628267.017 0, 1642238.213 628229.207 0, 1641943.862 628191.415 0,
+ 1641649.508 628153.64 0, 1641355.152 628115.883 0, 1641060.793 628078.143 0, 1640766.433 628040.42 0, 1640472.07 628002.714 0, 1640177.705 627965.026 0, 1639883.338 627927.355 0, 1639588.968 627889.701 0, 1639293.274 627851.896 0, 1638587.831 633370.812 0,
+ 1637882.344 638890.076 0, 1638177.385 638927.798 0, 1638471.105 638965.369 0, 1638764.823 639002.957 0, 1639058.538 639040.562 0, 1639352.251 639078.184 0, 1639645.962 639115.824 0, 1639939.671 639153.481 0, 1640233.377 639191.155 0, 1640527.081 639228.846 0,
+ 1640820.784 639266.555 0, 1641114.483 639304.281 0, 1641408.181 639342.025 0, 1641701.876 639379.785 0, 1641995.569 639417.563 0, 1642289.26 639455.358 0, 1642582.949 639493.171 0, 1642876.636 639531.001 0, 1643170.32 639568.848 0, 1643464.002 639606.712 0,
+ 1643757.682 639644.594 0, 1644051.359 639682.493 0, 1644345.034 639720.409 0, 1644638.708 639758.342 0, 1644931.06 639796.123 0, 1645226.047 639834.261 0, 1645519.713 639872.247 0, 1645813.378 639910.249 0, 1646107.04 639948.269 0, 1646400.699 639986.307 0,
+ 1646694.357 640024.361 0, 1646988.012 640062.433 0, 1647281.665 640100.522 0, 1647575.316 640138.628 0, 1647868.964 640176.752 0, 1648162.61 640214.893 0, 1648456.254 640253.051 0, 1648749.896 640291.226 0, 1649043.535 640329.419 0, 1649337.173 640367.629 0,
+ 1649630.808 640405.857 0, 1649924.44 640444.101 0, 1650218.071 640482.363 0, 1650511.699 640520.642 0, 1650805.325 640558.939 0, 1651098.949 640597.253 0, 1651392.57 640635.584 0, 1651686.19 640673.932 0, 1651978.49 640712.125 0, 1652699.567 635194.876 0,
+ 1653420.599 629677.975 0))
+
+POLYGON ((1666069.432 642573.991 0, 1665777.238 642534.972 0, 1665483.729 642495.794 0, 1665190.217 642456.634 0, 1664896.702 642417.491 0, 1664603.186 642378.365 0, 1664309.667 642339.256 0, 1664016.146 642300.165 0, 1663722.622 642261.091 0, 1663429.096 642222.034 0,
+ 1663135.568 642182.995 0, 1662842.038 642143.972 0, 1662548.505 642104.967 0, 1662254.97 642065.98 0, 1661961.433 642027.009 0, 1661667.893 641988.056 0, 1661374.351 641949.121 0, 1661080.807 641910.202 0, 1660787.261 641871.301 0, 1660493.712 641832.417 0,
+ 1660200.161 641793.55 0, 1659906.607 641754.701 0, 1659613.052 641715.868 0, 1659319.494 641677.054 0, 1659024.618 641638.082 0, 1658732.371 641599.476 0, 1658438.806 641560.713 0, 1658145.239 641521.967 0, 1657851.67 641483.238 0, 1657558.098 641444.527 0,
+ 1657264.525 641405.833 0, 1656970.948 641367.157 0, 1656677.37 641328.497 0, 1656383.789 641289.855 0, 1656090.206 641251.23 0, 1655796.621 641212.623 0, 1655503.034 641174.033 0, 1655209.444 641135.46 0, 1654915.852 641096.904 0, 1654622.257 641058.366 0,
+ 1654328.661 641019.844 0, 1654035.062 640981.341 0, 1653741.461 640942.854 0, 1653447.857 640904.385 0, 1653154.252 640865.933 0, 1652860.644 640827.498 0, 1652567.034 640789.081 0, 1652273.421 640750.68 0, 1651978.49 640712.125 0, 1651257.367 646229.721 0,
+ 1650536.199 651747.659 0, 1650830.478 651786.129 0, 1651123.441 651824.444 0, 1651416.402 651862.776 0, 1651709.36 651901.126 0, 1652002.317 651939.493 0, 1652295.27 651977.877 0, 1652588.222 652016.278 0, 1652881.171 652054.697 0, 1653174.119 652093.133 0,
+ 1653467.063 652131.586 0, 1653760.006 652170.057 0, 1654052.946 652208.544 0, 1654345.884 652247.049 0, 1654638.82 652285.571 0, 1654931.754 652324.111 0, 1655224.685 652362.667 0, 1655517.614 652401.241 0, 1655810.541 652439.832 0, 1656103.465 652478.44 0,
+ 1656396.387 652517.066 0, 1656689.307 652555.709 0, 1656982.225 652594.369 0, 1657275.14 652633.046 0, 1657566.74 652671.567 0, 1657860.964 652710.452 0, 1658153.872 652749.181 0, 1658446.779 652787.928 0, 1658739.683 652826.691 0, 1659032.584 652865.472 0,
+ 1659325.484 652904.27 0, 1659618.381 652943.085 0, 1659911.275 652981.917 0, 1660204.168 653020.767 0, 1660497.058 653059.634 0, 1660789.946 653098.518 0, 1661082.832 653137.42 0, 1661375.715 653176.338 0, 1661668.596 653215.274 0, 1661961.475 653254.227 0,
+ 1662254.352 653293.198 0, 1662547.226 653332.185 0, 1662840.098 653371.19 0, 1663132.967 653410.212 0, 1663425.835 653449.251 0, 1663718.7 653488.308 0, 1664011.562 653527.382 0, 1664304.423 653566.473 0, 1664595.97 653605.406 0, 1665332.723 648089.527 0,
+ 1666069.432 642573.991 0))
+
+POLYGON ((1678650.435 655502.867 0, 1678358.997 655463.11 0, 1678066.249 655423.192 0, 1677773.497 655383.291 0, 1677480.744 655343.407 0, 1677187.988 655303.541 0, 1676895.23 655263.691 0, 1676602.469 655223.859 0, 1676309.706 655184.044 0, 1676016.941 655144.247 0,
+ 1675724.174 655104.466 0, 1675431.404 655064.703 0, 1675138.632 655024.957 0, 1674845.857 654985.228 0, 1674553.08 654945.517 0, 1674260.301 654905.823 0, 1673967.519 654866.146 0, 1673674.735 654826.486 0, 1673381.949 654786.843 0, 1673089.16 654747.218 0,
+ 1672796.369 654707.61 0, 1672503.576 654668.019 0, 1672210.781 654628.446 0, 1671917.983 654588.889 0, 1671623.873 654549.173 0, 1671332.38 654509.828 0, 1671039.575 654470.323 0, 1670746.768 654430.836 0, 1670453.958 654391.366 0, 1670161.146 654351.913 0,
+ 1669868.332 654312.477 0, 1669575.516 654273.059 0, 1669282.697 654233.657 0, 1668989.876 654194.273 0, 1668697.052 654154.906 0, 1668404.226 654115.557 0, 1668111.398 654076.225 0, 1667818.568 654036.91 0, 1667525.735 653997.612 0, 1667232.9 653958.331 0,
+ 1666940.063 653919.068 0, 1666647.223 653879.822 0, 1666354.381 653840.593 0, 1666061.537 653801.381 0, 1665768.69 653762.186 0, 1665475.841 653723.009 0, 1665182.99 653683.849 0, 1664890.137 653644.707 0, 1664595.97 653605.406 0, 1663859.17 659121.624 0,
+ 1663122.326 664638.177 0, 1663415.841 664677.391 0, 1663708.045 664716.447 0, 1664000.247 664755.52 0, 1664292.447 664794.61 0, 1664584.644 664833.718 0, 1664876.839 664872.843 0, 1665169.031 664911.985 0, 1665461.222 664951.144 0, 1665753.41 664990.32 0,
+ 1666045.596 665029.513 0, 1666337.779 665068.724 0, 1666629.96 665107.952 0, 1666922.139 665147.197 0, 1667214.315 665186.46 0, 1667506.49 665225.739 0, 1667798.661 665265.036 0, 1668090.831 665304.35 0, 1668382.998 665343.681 0, 1668675.163 665383.029 0,
+ 1668967.326 665422.395 0, 1669259.486 665461.777 0, 1669551.644 665501.177 0, 1669843.8 665540.594 0, 1670134.646 665579.852 0, 1670428.104 665619.48 0, 1670720.253 665658.949 0, 1671012.399 665698.434 0, 1671304.543 665737.938 0, 1671596.685 665777.458 0,
+ 1671888.824 665816.995 0, 1672180.961 665856.55 0, 1672473.096 665896.122 0, 1672765.228 665935.711 0, 1673057.358 665975.317 0, 1673349.486 666014.94 0, 1673641.611 666054.581 0, 1673933.735 666094.239 0, 1674225.855 666133.914 0, 1674517.974 666173.606 0,
+ 1674810.09 666213.315 0, 1675102.203 666253.042 0, 1675394.315 666292.786 0, 1675686.424 666332.547 0, 1675978.531 666372.325 0, 1676270.635 666412.12 0, 1676562.737 666451.933 0, 1676854.837 666491.762 0, 1677145.628 666531.431 0, 1677898.055 661016.981 0,
+ 1678650.435 655502.867 0))
+
+POLYGON ((1691163.526 668464.296 0, 1690872.845 668423.805 0, 1690580.859 668383.15 0, 1690288.871 668342.513 0, 1689996.88 668301.892 0, 1689704.887 668261.289 0, 1689412.891 668220.703 0, 1689120.893 668180.134 0, 1688828.893 668139.583 0, 1688536.89 668099.048 0,
+ 1688244.885 668058.531 0, 1687952.878 668018.031 0, 1687660.868 667977.548 0, 1687368.855 667937.082 0, 1687076.841 667896.633 0, 1686784.824 667856.202 0, 1686492.804 667815.788 0, 1686200.783 667775.391 0, 1685908.759 667735.011 0, 1685616.732 667694.648 0,
+ 1685324.703 667654.303 0, 1685032.672 667613.975 0, 1684740.638 667573.663 0, 1684448.602 667533.37 0, 1684155.26 667492.913 0, 1683864.523 667452.833 0, 1683572.48 667412.591 0, 1683280.434 667372.366 0, 1682988.387 667332.158 0, 1682696.336 667291.967 0,
+ 1682404.284 667251.794 0, 1682112.229 667211.637 0, 1681820.172 667171.498 0, 1681528.112 667131.376 0, 1681236.05 667091.271 0, 1680943.985 667051.184 0, 1680651.919 667011.113 0, 1680359.85 666971.06 0, 1680067.778 666931.024 0, 1679775.704 666891.005 0,
+ 1679483.628 666851.004 0, 1679191.55 666811.019 0, 1678899.469 666771.052 0, 1678607.385 666731.102 0, 1678315.3 666691.169 0, 1678023.212 666651.253 0, 1677731.122 666611.355 0, 1677439.029 666571.473 0, 1677145.628 666531.431 0, 1676393.157 672046.214 0,
+ 1675640.64 677561.326 0, 1675933.388 677601.279 0, 1676224.832 677641.072 0, 1676516.273 677680.882 0, 1676807.712 677720.709 0, 1677099.148 677760.553 0, 1677390.582 677800.414 0, 1677682.014 677840.292 0, 1677973.443 677880.188 0, 1678264.87 677920.101 0,
+ 1678556.295 677960.031 0, 1678847.717 677999.978 0, 1679139.137 678039.942 0, 1679430.555 678079.923 0, 1679721.97 678119.922 0, 1680013.383 678159.937 0, 1680304.794 678199.97 0, 1680596.202 678240.02 0, 1680887.608 678280.087 0, 1681179.011 678320.172 0,
+ 1681470.412 678360.273 0, 1681761.811 678400.392 0, 1682053.207 678440.527 0, 1682344.602 678480.68 0, 1682634.692 678520.671 0, 1682927.383 678561.037 0, 1683218.769 678601.242 0, 1683510.154 678641.463 0, 1683801.536 678681.702 0, 1684092.916 678721.958 0,
+ 1684384.294 678762.23 0, 1684675.669 678802.521 0, 1684967.041 678842.828 0, 1685258.412 678883.152 0, 1685549.78 678923.494 0, 1685841.145 678963.852 0, 1686132.509 679004.228 0, 1686423.869 679044.621 0, 1686715.228 679085.031 0, 1687006.584 679125.459 0,
+ 1687297.938 679165.903 0, 1687589.289 679206.365 0, 1687880.638 679246.843 0, 1688171.985 679287.339 0, 1688463.329 679327.852 0, 1688754.671 679368.382 0, 1689046.01 679408.93 0, 1689337.347 679449.494 0, 1689627.382 679489.895 0, 1690395.477 673976.931 0,
+ 1691163.526 668464.296 0))
+
+POLYGON ((1703608.619 681457.971 0, 1703318.698 681416.751 0, 1703027.476 681375.363 0, 1702736.253 681333.993 0, 1702445.026 681292.64 0, 1702153.798 681251.304 0, 1701862.567 681209.985 0, 1701571.333 681168.683 0, 1701280.098 681127.399 0, 1700988.859 681086.132 0,
+ 1700697.619 681044.881 0, 1700406.375 681003.648 0, 1700115.13 680962.432 0, 1699823.882 680921.233 0, 1699532.631 680880.052 0, 1699241.379 680838.887 0, 1698950.123 680797.74 0, 1698658.866 680756.61 0, 1698367.606 680715.496 0, 1698076.343 680674.401 0,
+ 1697785.078 680633.322 0, 1697493.811 680592.26 0, 1697202.541 680551.216 0, 1696911.269 680510.188 0, 1696618.696 680468.995 0, 1696328.717 680428.185 0, 1696037.438 680387.209 0, 1695746.156 680346.25 0, 1695454.872 680305.308 0, 1695163.585 680264.384 0,
+ 1694872.296 680223.476 0, 1694581.004 680182.586 0, 1694289.71 680141.713 0, 1693998.414 680100.857 0, 1693707.115 680060.018 0, 1693415.814 680019.197 0, 1693124.511 679978.392 0, 1692833.205 679937.605 0, 1692541.897 679896.835 0, 1692250.586 679856.082 0,
+ 1691959.273 679815.346 0, 1691667.957 679774.627 0, 1691376.639 679733.925 0, 1691085.319 679693.241 0, 1690793.996 679652.573 0, 1690502.671 679611.923 0, 1690211.344 679571.29 0, 1689920.014 679530.674 0, 1689627.382 679489.895 0, 1688859.241 685003.184 0,
+ 1688091.056 690516.797 0, 1688383.036 690557.486 0, 1688673.717 690598.012 0, 1688964.396 690638.554 0, 1689255.072 690679.114 0, 1689545.746 690719.69 0, 1689836.417 690760.284 0, 1690127.086 690800.895 0, 1690417.752 690841.523 0, 1690708.416 690882.168 0,
+ 1690999.078 690922.831 0, 1691289.737 690963.51 0, 1691580.394 691004.207 0, 1691871.049 691044.92 0, 1692161.701 691085.651 0, 1692452.351 691126.399 0, 1692742.998 691167.164 0, 1693033.643 691207.946 0, 1693324.286 691248.745 0, 1693614.926 691289.561 0,
+ 1693905.564 691330.394 0, 1694196.199 691371.245 0, 1694486.832 691412.112 0, 1694777.462 691452.997 0, 1695066.795 691493.717 0, 1695358.716 691534.818 0, 1695649.34 691575.754 0, 1695939.961 691616.707 0, 1696230.579 691657.677 0, 1696521.195 691698.664 0,
+ 1696811.809 691739.669 0, 1697102.42 691780.69 0, 1697393.029 691821.729 0, 1697683.635 691862.785 0, 1697974.239 691903.857 0, 1698264.841 691944.947 0, 1698555.44 691986.054 0, 1698846.037 692027.179 0, 1699136.631 692068.32 0, 1699427.223 692109.478 0,
+ 1699717.813 692150.654 0, 1700008.4 692191.846 0, 1700298.984 692233.056 0, 1700589.566 692274.283 0, 1700880.146 692315.526 0, 1701170.724 692356.787 0, 1701461.299 692398.065 0, 1701751.871 692439.361 0, 1702041.147 692480.489 0, 1702824.906 686969.068 0,
+ 1703608.619 681457.971 0))
+
+POLYGON ((1715985.634 694483.584 0, 1715696.473 694441.639 0, 1715406.019 694399.523 0, 1715115.561 694357.424 0, 1714825.102 694315.342 0, 1714534.64 694273.277 0, 1714244.175 694231.23 0, 1713953.708 694189.199 0, 1713663.239 694147.186 0, 1713372.767 694105.19 0,
+ 1713082.292 694063.211 0, 1712791.815 694021.249 0, 1712501.336 693979.304 0, 1712210.854 693937.376 0, 1711920.37 693895.465 0, 1711629.883 693853.571 0, 1711339.393 693811.695 0, 1711048.902 693769.835 0, 1710758.408 693727.993 0, 1710467.911 693686.168 0,
+ 1710177.412 693644.359 0, 1709886.91 693602.568 0, 1709596.406 693560.794 0, 1709305.9 693519.038 0, 1709014.098 693477.112 0, 1708724.879 693435.575 0, 1708434.365 693393.869 0, 1708143.849 693352.181 0, 1707853.33 693310.51 0, 1707562.809 693268.855 0,
+ 1707272.285 693227.218 0, 1706981.759 693185.598 0, 1706691.231 693143.995 0, 1706400.7 693102.409 0, 1706110.166 693060.84 0, 1705819.63 693019.289 0, 1705529.092 692977.754 0, 1705238.551 692936.237 0, 1704948.008 692894.736 0, 1704657.462 692853.253 0,
+ 1704366.914 692811.787 0, 1704076.363 692770.338 0, 1703785.81 692728.906 0, 1703495.255 692687.491 0, 1703204.697 692646.093 0, 1702914.137 692604.712 0, 1702623.574 692563.349 0, 1702333.009 692522.002 0, 1702041.147 692480.489 0, 1701257.342 697992.228 0,
+ 1700473.493 703504.284 0, 1700764.703 703545.705 0, 1701054.619 703586.959 0, 1701344.533 703628.23 0, 1701634.445 703669.519 0, 1701924.354 703710.824 0, 1702214.26 703752.146 0, 1702504.165 703793.486 0, 1702794.066 703834.842 0, 1703083.966 703876.216 0,
+ 1703373.863 703917.607 0, 1703663.757 703959.014 0, 1703953.649 704000.439 0, 1704243.539 704041.881 0, 1704533.426 704083.34 0, 1704823.311 704124.816 0, 1705113.193 704166.309 0, 1705403.073 704207.819 0, 1705692.95 704249.346 0, 1705982.825 704290.89 0,
+ 1706272.698 704332.452 0, 1706562.568 704374.03 0, 1706852.435 704415.625 0, 1707142.3 704457.238 0, 1707430.873 704498.682 0, 1707722.023 704540.514 0, 1708011.881 704582.177 0, 1708301.737 704623.858 0, 1708591.589 704665.556 0, 1708881.44 704707.271 0,
+ 1709171.288 704749.003 0, 1709461.133 704790.752 0, 1709750.976 704832.518 0, 1710040.817 704874.301 0, 1710330.655 704916.101 0, 1710620.491 704957.918 0, 1710910.324 704999.752 0, 1711200.155 705041.603 0, 1711489.983 705083.472 0, 1711779.809 705125.357 0,
+ 1712069.632 705167.26 0, 1712359.453 705209.179 0, 1712649.272 705251.116 0, 1712939.088 705293.07 0, 1713228.901 705335.04 0, 1713518.712 705377.028 0, 1713808.521 705419.033 0, 1714098.327 705461.055 0, 1714386.842 705502.907 0, 1715186.261 699993.087 0,
+ 1715985.634 694483.584 0))
+
+POLYGON ((1728294.489 707540.829 0, 1728006.091 707498.162 0, 1727716.405 707455.321 0, 1727426.716 707412.498 0, 1727137.025 707369.691 0, 1726847.331 707326.902 0, 1726557.635 707284.13 0, 1726267.936 707241.375 0, 1725978.235 707198.636 0, 1725688.531 707155.915 0,
+ 1725398.825 707113.211 0, 1725109.116 707070.524 0, 1724819.404 707027.854 0, 1724529.691 706985.201 0, 1724239.974 706942.566 0, 1723950.255 706899.947 0, 1723660.534 706857.345 0, 1723370.81 706814.76 0, 1723081.084 706772.193 0, 1722791.355 706729.642 0,
+ 1722501.623 706687.109 0, 1722211.889 706644.592 0, 1721922.153 706602.093 0, 1721632.414 706559.61 0, 1721341.385 706516.956 0, 1721052.929 706474.697 0, 1720763.182 706432.265 0, 1720473.433 706389.851 0, 1720183.682 706347.454 0, 1719893.928 706305.074 0,
+ 1719604.171 706262.711 0, 1719314.412 706220.365 0, 1719024.651 706178.036 0, 1718734.887 706135.724 0, 1718445.121 706093.43 0, 1718155.352 706051.152 0, 1717865.581 706008.891 0, 1717575.807 705966.648 0, 1717286.03 705924.421 0, 1716996.252 705882.212 0,
+ 1716706.47 705840.019 0, 1716416.686 705797.844 0, 1716126.9 705755.685 0, 1715837.111 705713.544 0, 1715547.32 705671.42 0, 1715257.527 705629.313 0, 1714967.73 705587.223 0, 1714677.932 705545.15 0, 1714386.842 705502.907 0, 1713587.378 711013.038 0,
+ 1712787.868 716523.479 0, 1713078.307 716565.628 0, 1713367.457 716607.607 0, 1713656.604 716649.603 0, 1713945.749 716691.616 0, 1714234.892 716733.645 0, 1714524.032 716775.692 0, 1714813.17 716817.756 0, 1715102.305 716859.837 0, 1715391.438 716901.935 0,
+ 1715680.568 716944.05 0, 1715969.696 716986.182 0, 1716258.821 717028.332 0, 1716547.944 717070.498 0, 1716837.064 717112.681 0, 1717126.182 717154.881 0, 1717415.297 717197.098 0, 1717704.41 717239.332 0, 1717993.52 717281.583 0, 1718282.628 717323.851 0,
+ 1718571.733 717366.137 0, 1718860.836 717408.439 0, 1719149.937 717450.758 0, 1719439.035 717493.094 0, 1719726.846 717535.259 0, 1720017.223 717577.818 0, 1720306.313 717620.205 0, 1720595.401 717662.609 0, 1720884.487 717705.031 0, 1721173.57 717747.469 0,
+ 1721462.65 717789.924 0, 1721751.728 717832.397 0, 1722040.804 717874.886 0, 1722329.877 717917.393 0, 1722618.947 717959.916 0, 1722908.015 718002.456 0, 1723197.08 718045.014 0, 1723486.143 718087.588 0, 1723775.204 718130.18 0, 1724064.262 718172.788 0,
+ 1724353.317 718215.414 0, 1724642.37 718258.056 0, 1724931.42 718300.716 0, 1725220.468 718343.392 0, 1725509.514 718386.086 0, 1725798.556 718428.796 0, 1726087.597 718471.524 0, 1726376.635 718514.269 0, 1726664.387 718556.84 0, 1727479.461 713048.68 0,
+ 1728294.489 707540.829 0))
+
+POLYGON ((1468262.968 463815.232 0, 1467960.336 463787.806 0, 1467656.306 463760.272 0, 1467352.274 463732.755 0, 1467048.241 463705.257 0, 1466744.206 463677.776 0, 1466440.169 463650.314 0, 1466136.131 463622.869 0, 1465832.091 463595.442 0, 1465528.05 463568.033 0,
+ 1465224.007 463540.642 0, 1464919.962 463513.269 0, 1464615.916 463485.913 0, 1464311.868 463458.576 0, 1464007.819 463431.256 0, 1463703.768 463403.955 0, 1463399.715 463376.671 0, 1463095.661 463349.405 0, 1462791.605 463322.157 0, 1462487.547 463294.927 0,
+ 1462183.488 463267.715 0, 1461879.428 463240.521 0, 1461575.365 463213.344 0, 1461271.302 463186.186 0, 1460965.838 463158.921 0, 1460663.169 463131.923 0, 1460359.1 463104.818 0, 1460055.03 463077.731 0, 1459750.958 463050.662 0, 1459446.885 463023.611 0,
+ 1459142.81 462996.578 0, 1458838.733 462969.562 0, 1458534.655 462942.565 0, 1458230.575 462915.586 0, 1457926.494 462888.624 0, 1457622.411 462861.68 0, 1457318.326 462834.754 0, 1457014.24 462807.847 0, 1456710.152 462780.957 0, 1456406.063 462754.084 0,
+ 1456101.972 462727.23 0, 1455797.88 462700.394 0, 1455493.786 462673.576 0, 1455189.69 462646.775 0, 1454885.593 462619.992 0, 1454581.494 462593.228 0, 1454277.394 462566.481 0, 1453973.292 462539.752 0, 1453667.789 462512.918 0, 1453182.025 468045.198 0,
+ 1452696.224 473577.91 0, 1453001.072 473604.686 0, 1453304.523 473631.358 0, 1453607.972 473658.047 0, 1453911.419 473684.755 0, 1454214.865 473711.48 0, 1454518.31 473738.223 0, 1454821.752 473764.984 0, 1455125.194 473791.763 0, 1455428.633 473818.56 0,
+ 1455732.071 473845.374 0, 1456035.508 473872.207 0, 1456338.943 473899.057 0, 1456642.376 473925.925 0, 1456945.808 473952.811 0, 1457249.238 473979.715 0, 1457552.667 474006.637 0, 1457856.094 474033.576 0, 1458159.519 474060.534 0, 1458462.943 474087.509 0,
+ 1458766.365 474114.502 0, 1459069.786 474141.513 0, 1459373.205 474168.542 0, 1459676.622 474195.589 0, 1459978.644 474222.529 0, 1460283.453 474249.736 0, 1460586.865 474276.836 0, 1460890.276 474303.954 0, 1461193.686 474331.09 0, 1461497.094 474358.244 0,
+ 1461800.5 474385.416 0, 1462103.905 474412.605 0, 1462407.308 474439.813 0, 1462710.709 474467.038 0, 1463014.109 474494.281 0, 1463317.507 474521.542 0, 1463620.904 474548.821 0, 1463924.299 474576.118 0, 1464227.693 474603.432 0, 1464531.085 474630.765 0,
+ 1464834.475 474658.115 0, 1465137.864 474685.483 0, 1465441.251 474712.869 0, 1465744.636 474740.273 0, 1466048.02 474767.695 0, 1466351.402 474795.134 0, 1466654.783 474822.592 0, 1466958.161 474850.067 0, 1467260.146 474877.434 0, 1467761.576 469346.117 0,
+ 1468262.968 463815.232 0))
+
+POLYGON ((1481820.338 476218.099 0, 1481518.43 476189.879 0, 1481215.13 476161.547 0, 1480911.828 476133.232 0, 1480608.525 476104.936 0, 1480305.219 476076.657 0, 1480001.913 476048.396 0, 1479698.604 476020.153 0, 1479395.294 475991.928 0, 1479091.982 475963.72 0,
+ 1478788.669 475935.531 0, 1478485.354 475907.359 0, 1478182.037 475879.206 0, 1477878.719 475851.07 0, 1477575.399 475822.952 0, 1477272.077 475794.851 0, 1476968.753 475766.769 0, 1476665.428 475738.704 0, 1476362.102 475710.658 0, 1476058.773 475682.629 0,
+ 1475755.443 475654.618 0, 1475452.112 475626.625 0, 1475148.779 475598.65 0, 1474845.444 475570.692 0, 1474540.715 475542.625 0, 1474238.769 475514.831 0, 1473935.429 475486.927 0, 1473632.088 475459.041 0, 1473328.744 475431.173 0, 1473025.4 475403.323 0,
+ 1472722.053 475375.491 0, 1472418.705 475347.676 0, 1472115.355 475319.879 0, 1471812.004 475292.1 0, 1471508.651 475264.339 0, 1471205.297 475236.596 0, 1470901.94 475208.871 0, 1470598.583 475181.164 0, 1470295.223 475153.474 0, 1469991.862 475125.802 0,
+ 1469688.499 475098.148 0, 1469385.135 475070.512 0, 1469081.769 475042.894 0, 1468778.401 475015.294 0, 1468475.032 474987.712 0, 1468171.661 474960.147 0, 1467868.289 474932.6 0, 1467564.915 474905.071 0, 1467260.146 474877.434 0, 1466758.676 480409.179 0,
+ 1466257.168 485941.348 0, 1466561.283 485968.926 0, 1466864.006 485996.396 0, 1467166.727 486023.883 0, 1467469.447 486051.389 0, 1467772.165 486078.912 0, 1468074.881 486106.453 0, 1468377.596 486134.012 0, 1468680.309 486161.589 0, 1468983.021 486189.183 0,
+ 1469285.731 486216.796 0, 1469588.439 486244.426 0, 1469891.146 486272.074 0, 1470193.851 486299.739 0, 1470496.554 486327.423 0, 1470799.256 486355.124 0, 1471101.956 486382.844 0, 1471404.655 486410.581 0, 1471707.352 486438.335 0, 1472010.047 486466.108 0,
+ 1472312.741 486493.899 0, 1472615.433 486521.707 0, 1472918.123 486549.533 0, 1473220.812 486577.377 0, 1473522.11 486605.111 0, 1473826.184 486633.118 0, 1474128.868 486661.016 0, 1474431.55 486688.931 0, 1474734.231 486716.864 0, 1475036.91 486744.815 0,
+ 1475339.587 486772.783 0, 1475642.263 486800.77 0, 1475944.936 486828.774 0, 1476247.609 486856.796 0, 1476550.279 486884.836 0, 1476852.948 486912.894 0, 1477155.616 486940.969 0, 1477458.281 486969.063 0, 1477760.945 486997.174 0, 1478063.608 487025.303 0,
+ 1478366.268 487053.449 0, 1478668.928 487081.614 0, 1478971.585 487109.796 0, 1479274.241 487137.997 0, 1479576.895 487166.215 0, 1479879.547 487194.451 0, 1480182.198 487222.704 0, 1480484.847 487250.976 0, 1480786.107 487279.135 0, 1481303.242 481748.405 0,
+ 1481820.338 476218.099 0))
+
+POLYGON ((1495311.208 488657.964 0, 1495010.027 488628.953 0, 1494707.459 488599.827 0, 1494404.889 488570.718 0, 1494102.317 488541.627 0, 1493799.744 488512.554 0, 1493497.169 488483.499 0, 1493194.593 488454.462 0, 1492892.015 488425.442 0, 1492589.435 488396.441 0,
+ 1492286.853 488367.457 0, 1491984.27 488338.491 0, 1491681.684 488309.542 0, 1491379.098 488280.612 0, 1491076.509 488251.699 0, 1490773.919 488222.804 0, 1490471.327 488193.927 0, 1490168.733 488165.068 0, 1489866.138 488136.226 0, 1489563.541 488107.403 0,
+ 1489260.942 488078.597 0, 1488958.342 488049.809 0, 1488655.74 488021.039 0, 1488353.136 487992.286 0, 1488049.144 487963.42 0, 1487747.923 487934.835 0, 1487445.315 487906.136 0, 1487142.704 487877.455 0, 1486840.092 487848.791 0, 1486537.478 487820.146 0,
+ 1486234.862 487791.518 0, 1485932.245 487762.908 0, 1485629.626 487734.316 0, 1485327.005 487705.742 0, 1485024.383 487677.185 0, 1484721.759 487648.647 0, 1484419.133 487620.126 0, 1484116.506 487591.623 0, 1483813.877 487563.138 0, 1483511.246 487534.67 0,
+ 1483208.614 487506.221 0, 1482905.98 487477.789 0, 1482603.344 487449.375 0, 1482300.707 487420.979 0, 1481998.068 487392.6 0, 1481695.427 487364.24 0, 1481392.784 487335.897 0, 1481090.14 487307.572 0, 1480786.107 487279.135 0, 1480268.932 492810.288 0,
+ 1479751.718 498341.859 0, 1480055.097 498370.234 0, 1480357.09 498398.498 0, 1480659.082 498426.78 0, 1480961.071 498455.079 0, 1481263.059 498483.397 0, 1481565.046 498511.732 0, 1481867.03 498540.085 0, 1482169.013 498568.455 0, 1482470.995 498596.844 0,
+ 1482772.974 498625.25 0, 1483074.952 498653.674 0, 1483376.928 498682.116 0, 1483678.903 498710.575 0, 1483980.876 498739.052 0, 1484282.847 498767.547 0, 1484584.817 498796.06 0, 1484886.785 498824.591 0, 1485188.751 498853.139 0, 1485490.715 498881.705 0,
+ 1485792.678 498910.289 0, 1486094.639 498938.891 0, 1486396.599 498967.51 0, 1486698.557 498996.148 0, 1486999.13 499024.671 0, 1487302.467 499053.475 0, 1487604.42 499082.166 0, 1487906.371 499110.874 0, 1488208.32 499139.6 0, 1488510.268 499168.344 0,
+ 1488812.214 499197.106 0, 1489114.158 499225.885 0, 1489416.101 499254.682 0, 1489718.042 499283.497 0, 1490019.981 499312.33 0, 1490321.919 499341.18 0, 1490623.854 499370.049 0, 1490925.789 499398.935 0, 1491227.721 499427.839 0, 1491529.652 499456.76 0,
+ 1491831.581 499485.699 0, 1492133.508 499514.657 0, 1492435.434 499543.631 0, 1492737.357 499572.624 0, 1493039.28 499601.635 0, 1493341.2 499630.663 0, 1493643.119 499659.709 0, 1493945.036 499688.772 0, 1494245.569 499717.721 0, 1494778.409 494187.633 0,
+ 1495311.208 488657.964 0))
+
+POLYGON ((1508735.475 501134.525 0, 1508435.023 501104.728 0, 1508133.189 501074.811 0, 1507831.354 501044.912 0, 1507529.516 501015.031 0, 1507227.677 500985.168 0, 1506925.836 500955.322 0, 1506623.994 500925.495 0, 1506322.15 500895.685 0, 1506020.304 500865.892 0,
+ 1505718.456 500836.118 0, 1505416.606 500806.361 0, 1505114.755 500776.622 0, 1504812.902 500746.901 0, 1504511.047 500717.198 0, 1504209.191 500687.512 0, 1503907.332 500657.844 0, 1503605.472 500628.194 0, 1503303.611 500598.562 0, 1503001.747 500568.947 0,
+ 1502699.882 500539.35 0, 1502398.015 500509.771 0, 1502096.146 500480.21 0, 1501794.276 500450.667 0, 1501491.023 500421.006 0, 1501190.529 500391.633 0, 1500888.654 500362.143 0, 1500586.776 500332.67 0, 1500284.897 500303.216 0, 1499983.016 500273.779 0,
+ 1499681.134 500244.36 0, 1499379.249 500214.958 0, 1499077.363 500185.575 0, 1498775.475 500156.209 0, 1498473.586 500126.861 0, 1498171.694 500097.531 0, 1497869.801 500068.218 0, 1497567.907 500038.923 0, 1497266.01 500009.646 0, 1496964.112 499980.387 0,
+ 1496662.212 499951.146 0, 1496360.311 499921.922 0, 1496058.407 499892.716 0, 1495756.502 499863.528 0, 1495454.595 499834.358 0, 1495152.687 499805.205 0, 1494850.777 499776.07 0, 1494548.865 499746.953 0, 1494245.569 499717.721 0, 1493712.69 505248.224 0,
+ 1493179.77 510779.14 0, 1493482.412 510808.31 0, 1493783.673 510837.364 0, 1494084.932 510866.436 0, 1494386.189 510895.526 0, 1494687.445 510924.633 0, 1494988.699 510953.758 0, 1495289.951 510982.901 0, 1495591.202 511012.062 0, 1495892.451 511041.24 0,
+ 1496193.698 511070.436 0, 1496494.943 511099.65 0, 1496796.187 511128.882 0, 1497097.429 511158.131 0, 1497398.669 511187.398 0, 1497699.908 511216.683 0, 1498001.145 511245.985 0, 1498302.38 511275.305 0, 1498603.613 511304.643 0, 1498904.845 511333.999 0,
+ 1499206.075 511363.373 0, 1499507.303 511392.764 0, 1499808.529 511422.173 0, 1500109.754 511451.599 0, 1500409.6 511480.909 0, 1500712.198 511510.506 0, 1501013.418 511539.985 0, 1501314.636 511569.483 0, 1501615.852 511598.998 0, 1501917.066 511628.531 0,
+ 1502218.279 511658.082 0, 1502519.49 511687.65 0, 1502820.699 511717.236 0, 1503121.906 511746.84 0, 1503423.112 511776.462 0, 1503724.315 511806.101 0, 1504025.518 511835.758 0, 1504326.718 511865.433 0, 1504627.917 511895.126 0, 1504929.113 511924.836 0,
+ 1505230.309 511954.564 0, 1505531.502 511984.31 0, 1505832.694 512014.073 0, 1506133.884 512043.854 0, 1506435.072 512073.653 0, 1506736.258 512103.47 0, 1507037.443 512133.304 0, 1507338.625 512163.156 0, 1507638.43 512192.889 0, 1508186.973 506663.501 0,
+ 1508735.475 501134.525 0))
+
+POLYGON ((1522093.038 513647.481 0, 1521793.316 513616.901 0, 1521492.219 513586.198 0, 1521191.12 513555.513 0, 1520890.019 513524.846 0, 1520588.916 513494.196 0, 1520287.812 513463.564 0, 1519986.706 513432.95 0, 1519685.597 513402.353 0, 1519384.487 513371.774 0,
+ 1519083.376 513341.213 0, 1518782.262 513310.67 0, 1518481.147 513280.144 0, 1518180.03 513249.636 0, 1517878.911 513219.146 0, 1517577.79 513188.674 0, 1517276.668 513158.219 0, 1516975.543 513127.782 0, 1516674.417 513097.363 0, 1516373.289 513066.961 0,
+ 1516072.16 513036.577 0, 1515771.028 513006.211 0, 1515469.895 512975.863 0, 1515168.76 512945.532 0, 1514866.248 512915.081 0, 1514566.484 512884.924 0, 1514265.344 512854.646 0, 1513964.202 512824.387 0, 1513663.058 512794.145 0, 1513361.912 512763.92 0,
+ 1513060.765 512733.714 0, 1512759.615 512703.525 0, 1512458.464 512673.354 0, 1512157.311 512643.2 0, 1511856.157 512613.065 0, 1511555 512582.947 0, 1511253.842 512552.846 0, 1510952.682 512522.764 0, 1510651.521 512492.699 0, 1510350.357 512462.652 0,
+ 1510049.192 512432.623 0, 1509748.025 512402.611 0, 1509446.856 512372.617 0, 1509145.686 512342.641 0, 1508844.513 512312.682 0, 1508543.339 512282.742 0, 1508242.163 512252.819 0, 1507940.986 512222.914 0, 1507638.43 512192.889 0, 1507089.847 517722.687 0,
+ 1506541.223 523252.892 0, 1506843.124 523282.851 0, 1507143.651 523312.691 0, 1507444.176 523342.55 0, 1507744.699 523372.426 0, 1508045.22 523402.319 0, 1508345.74 523432.231 0, 1508646.258 523462.16 0, 1508946.774 523492.107 0, 1509247.288 523522.071 0,
+ 1509547.8 523552.053 0, 1509848.311 523582.053 0, 1510148.82 523612.07 0, 1510449.327 523642.106 0, 1510749.833 523672.159 0, 1511050.337 523702.229 0, 1511350.839 523732.317 0, 1511651.339 523762.423 0, 1511951.837 523792.547 0, 1512252.334 523822.688 0,
+ 1512552.829 523852.847 0, 1512853.322 523883.024 0, 1513153.813 523913.218 0, 1513454.302 523943.43 0, 1513753.418 523973.522 0, 1514055.276 524003.907 0, 1514355.76 524034.173 0, 1514656.243 524064.455 0, 1514956.723 524094.756 0, 1515257.202 524125.074 0,
+ 1515557.679 524155.41 0, 1515858.154 524185.763 0, 1516158.628 524216.135 0, 1516459.099 524246.524 0, 1516759.569 524276.93 0, 1517060.037 524307.354 0, 1517360.504 524337.796 0, 1517660.968 524368.256 0, 1517961.431 524398.733 0, 1518261.892 524429.228 0,
+ 1518562.351 524459.741 0, 1518862.808 524490.272 0, 1519163.264 524520.82 0, 1519463.718 524551.385 0, 1519764.17 524581.969 0, 1520064.62 524612.57 0, 1520365.068 524643.189 0, 1520665.514 524673.825 0, 1520964.589 524704.34 0, 1521528.834 519175.707 0,
+ 1522093.038 513647.481 0))
+
+POLYGON ((1535383.796 526196.53 0, 1535084.807 526165.171 0, 1534784.449 526133.686 0, 1534484.088 526102.218 0, 1534183.726 526070.769 0, 1533883.361 526039.336 0, 1533582.995 526007.922 0, 1533282.627 525976.525 0, 1532982.257 525945.146 0, 1532681.885 525913.785 0,
+ 1532381.512 525882.441 0, 1532081.136 525851.115 0, 1531780.759 525819.806 0, 1531480.38 525788.516 0, 1531179.999 525757.243 0, 1530879.616 525725.987 0, 1530579.232 525694.75 0, 1530278.845 525663.53 0, 1529978.457 525632.327 0, 1529678.067 525601.143 0,
+ 1529377.675 525569.976 0, 1529077.281 525538.826 0, 1528776.886 525507.695 0, 1528476.488 525476.581 0, 1528174.72 525445.343 0, 1527875.688 525414.406 0, 1527575.285 525383.345 0, 1527274.88 525352.302 0, 1526974.473 525321.276 0, 1526674.065 525290.269 0,
+ 1526373.655 525259.278 0, 1526073.243 525228.306 0, 1525772.829 525197.351 0, 1525472.413 525166.414 0, 1525171.995 525135.495 0, 1524871.576 525104.593 0, 1524571.155 525073.709 0, 1524270.732 525042.843 0, 1523970.307 525011.994 0, 1523669.88 524981.163 0,
+ 1523369.452 524950.349 0, 1523069.022 524919.554 0, 1522768.59 524888.776 0, 1522468.156 524858.016 0, 1522167.72 524827.273 0, 1521867.283 524796.548 0, 1521566.843 524765.841 0, 1521266.402 524735.151 0, 1520964.589 524704.34 0, 1520400.302 530233.375 0,
+ 1519835.974 535762.811 0, 1520137.134 535793.556 0, 1520436.924 535824.179 0, 1520736.713 535854.82 0, 1521036.499 535885.478 0, 1521336.284 535916.154 0, 1521636.067 535946.848 0, 1521935.848 535977.559 0, 1522235.628 536008.288 0, 1522535.405 536039.034 0,
+ 1522835.181 536069.799 0, 1523134.955 536100.581 0, 1523434.727 536131.38 0, 1523734.497 536162.197 0, 1524034.266 536193.032 0, 1524334.033 536223.884 0, 1524633.798 536254.755 0, 1524933.561 536285.642 0, 1525233.322 536316.548 0, 1525533.081 536347.471 0,
+ 1525832.839 536378.411 0, 1526132.595 536409.37 0, 1526432.349 536440.346 0, 1526732.101 536471.339 0, 1527030.485 536502.209 0, 1527331.6 536533.379 0, 1527631.347 536564.426 0, 1527931.091 536595.49 0, 1528230.834 536626.572 0, 1528530.576 536657.671 0,
+ 1528830.315 536688.788 0, 1529130.053 536719.923 0, 1529429.788 536751.075 0, 1529729.522 536782.245 0, 1530029.254 536813.433 0, 1530328.984 536844.638 0, 1530628.713 536875.861 0, 1530928.439 536907.102 0, 1531228.164 536938.36 0, 1531527.887 536969.636 0,
+ 1531827.608 537000.929 0, 1532127.327 537032.24 0, 1532427.044 537063.569 0, 1532726.76 537094.916 0, 1533026.473 537126.28 0, 1533326.185 537157.661 0, 1533625.895 537189.061 0, 1533925.603 537220.478 0, 1534223.944 537251.769 0, 1534803.891 531723.95 0,
+ 1535383.796 526196.53 0))
+
+POLYGON ((1548607.65 538781.37 0, 1548309.396 538749.236 0, 1548009.778 538716.972 0, 1547710.158 538684.726 0, 1547410.536 538652.498 0, 1547110.913 538620.287 0, 1546811.287 538588.094 0, 1546511.659 538555.919 0, 1546212.03 538523.761 0, 1545912.398 538491.621 0,
+ 1545612.765 538459.498 0, 1545313.13 538427.393 0, 1545013.493 538395.306 0, 1544713.854 538363.236 0, 1544414.213 538331.185 0, 1544114.57 538299.15 0, 1543814.926 538267.133 0, 1543515.279 538235.134 0, 1543215.631 538203.153 0, 1542915.981 538171.189 0,
+ 1542616.328 538139.243 0, 1542316.674 538107.315 0, 1542017.019 538075.404 0, 1541717.361 538043.511 0, 1541416.338 538011.49 0, 1541118.04 537979.777 0, 1540818.376 537947.937 0, 1540518.711 537916.114 0, 1540219.044 537884.309 0, 1539919.375 537852.522 0,
+ 1539619.704 537820.752 0, 1539320.031 537789 0, 1539020.357 537757.265 0, 1538720.68 537725.548 0, 1538421.002 537693.849 0, 1538121.321 537662.168 0, 1537821.639 537630.504 0, 1537521.955 537598.857 0, 1537222.27 537567.229 0, 1536922.582 537535.618 0,
+ 1536622.892 537504.024 0, 1536323.201 537472.449 0, 1536023.508 537440.89 0, 1535723.813 537409.35 0, 1535424.116 537377.827 0, 1535124.417 537346.322 0, 1534824.716 537314.834 0, 1534525.014 537283.365 0, 1534223.944 537251.769 0, 1533643.956 542779.986 0,
+ 1533063.926 548308.596 0, 1533364.341 548340.123 0, 1533663.393 548371.524 0, 1533962.443 548402.944 0, 1534261.491 548434.38 0, 1534560.537 548465.835 0, 1534859.581 548497.307 0, 1535158.624 548528.796 0, 1535457.665 548560.303 0, 1535756.703 548591.828 0,
+ 1536055.74 548623.371 0, 1536354.775 548654.931 0, 1536653.809 548686.508 0, 1536952.84 548718.103 0, 1537251.869 548749.716 0, 1537550.897 548781.347 0, 1537849.923 548812.994 0, 1538148.947 548844.66 0, 1538447.969 548876.343 0, 1538746.989 548908.044 0,
+ 1539046.007 548939.762 0, 1539345.024 548971.498 0, 1539644.038 549003.252 0, 1539943.051 549035.023 0, 1540240.701 549066.667 0, 1540541.071 549098.618 0, 1540840.078 549130.442 0, 1541139.083 549162.284 0, 1541438.086 549194.143 0, 1541737.088 549226.02 0,
+ 1542036.087 549257.914 0, 1542335.085 549289.826 0, 1542634.081 549321.756 0, 1542933.075 549353.703 0, 1543232.067 549385.668 0, 1543531.057 549417.65 0, 1543830.046 549449.65 0, 1544129.032 549481.667 0, 1544428.017 549513.703 0, 1544726.999 549545.755 0,
+ 1545025.98 549577.826 0, 1545324.959 549609.914 0, 1545623.936 549642.019 0, 1545922.911 549674.142 0, 1546221.884 549706.283 0, 1546520.855 549738.441 0, 1546819.825 549770.617 0, 1547118.792 549802.811 0, 1547416.399 549834.875 0, 1548012.046 544307.926 0,
+ 1548607.65 538781.37 0))
+
+POLYGON ((1561764.503 551401.697 0, 1561466.986 551368.792 0, 1561168.11 551335.754 0, 1560869.233 551302.733 0, 1560570.354 551269.73 0, 1560271.473 551236.745 0, 1559972.59 551203.777 0, 1559673.704 551170.827 0, 1559374.817 551137.895 0, 1559075.928 551104.98 0,
+ 1558777.038 551072.083 0, 1558478.145 551039.203 0, 1558179.25 551006.341 0, 1557880.353 550973.496 0, 1557581.455 550940.669 0, 1557282.554 550907.86 0, 1556983.651 550875.068 0, 1556684.747 550842.294 0, 1556385.841 550809.538 0, 1556086.932 550776.799 0,
+ 1555788.022 550744.077 0, 1555489.11 550711.373 0, 1555190.196 550678.687 0, 1554891.28 550646.019 0, 1554591.004 550613.219 0, 1554293.442 550580.734 0, 1553994.52 550548.118 0, 1553695.597 550515.52 0, 1553396.671 550482.94 0, 1553097.744 550450.377 0,
+ 1552798.814 550417.831 0, 1552499.883 550385.303 0, 1552200.95 550352.793 0, 1551902.014 550320.3 0, 1551603.077 550287.825 0, 1551304.138 550255.368 0, 1551005.197 550222.928 0, 1550706.255 550190.506 0, 1550407.31 550158.101 0, 1550108.363 550125.714 0,
+ 1549809.415 550093.344 0, 1549510.464 550060.993 0, 1549211.512 550028.658 0, 1548912.558 549996.342 0, 1548613.602 549964.042 0, 1548314.644 549931.761 0, 1548015.684 549899.497 0, 1547716.722 549867.251 0, 1547416.399 549834.875 0, 1546820.71 555362.216 0,
+ 1546224.979 560889.944 0, 1546524.648 560922.249 0, 1546822.959 560954.425 0, 1547121.268 560986.619 0, 1547419.576 561018.83 0, 1547717.881 561051.059 0, 1548016.185 561083.305 0, 1548314.487 561115.569 0, 1548612.786 561147.851 0, 1548911.084 561180.15 0,
+ 1549209.38 561212.466 0, 1549507.674 561244.8 0, 1549805.967 561277.152 0, 1550104.257 561309.521 0, 1550402.545 561341.908 0, 1550700.832 561374.313 0, 1550999.116 561406.735 0, 1551297.399 561439.174 0, 1551595.68 561471.631 0, 1551893.958 561504.106 0,
+ 1552192.235 561536.598 0, 1552490.51 561569.108 0, 1552788.783 561601.635 0, 1553087.055 561634.18 0, 1553383.969 561666.594 0, 1553683.591 561699.322 0, 1553981.857 561731.919 0, 1554280.12 561764.535 0, 1554578.382 561797.167 0, 1554876.641 561829.817 0,
+ 1555174.899 561862.485 0, 1555473.155 561895.17 0, 1555771.409 561927.873 0, 1556069.661 561960.593 0, 1556367.911 561993.331 0, 1556666.159 562026.087 0, 1556964.405 562058.86 0, 1557262.649 562091.651 0, 1557560.892 562124.459 0, 1557859.132 562157.284 0,
+ 1558157.37 562190.128 0, 1558455.607 562222.988 0, 1558753.842 562255.867 0, 1559052.074 562288.763 0, 1559350.305 562321.676 0, 1559648.534 562354.607 0, 1559946.761 562387.556 0, 1560244.985 562420.522 0, 1560541.855 562453.356 0, 1561153.2 556927.333 0,
+ 1561764.503 551401.697 0))
+
+POLYGON ((1574854.257 564057.209 0, 1574557.479 564023.536 0, 1574259.349 563989.728 0, 1573961.216 563955.937 0, 1573663.081 563922.163 0, 1573364.945 563888.407 0, 1573066.806 563854.669 0, 1572768.666 563820.948 0, 1572470.523 563787.245 0, 1572172.379 563753.559 0,
+ 1571874.232 563719.891 0, 1571576.084 563686.24 0, 1571277.934 563652.607 0, 1570979.781 563618.992 0, 1570681.627 563585.394 0, 1570383.47 563551.814 0, 1570085.312 563518.251 0, 1569787.152 563484.705 0, 1569488.99 563451.178 0, 1569190.825 563417.667 0,
+ 1568892.659 563384.175 0, 1568594.491 563350.7 0, 1568296.321 563317.242 0, 1567998.149 563283.802 0, 1567698.622 563250.228 0, 1567401.798 563216.975 0, 1567103.62 563183.587 0, 1566805.44 563150.217 0, 1566507.258 563116.865 0, 1566209.074 563083.53 0,
+ 1565910.889 563050.213 0, 1565612.701 563016.914 0, 1565314.511 562983.632 0, 1565016.319 562950.367 0, 1564718.125 562917.12 0, 1564419.93 562883.891 0, 1564121.732 562850.679 0, 1563823.533 562817.485 0, 1563525.331 562784.308 0, 1563227.128 562751.149 0,
+ 1562928.922 562718.007 0, 1562630.715 562684.883 0, 1562332.505 562651.776 0, 1562034.294 562618.687 0, 1561736.081 562585.616 0, 1561437.866 562552.562 0, 1561139.648 562519.526 0, 1560841.429 562486.507 0, 1560541.855 562453.356 0, 1559930.467 567979.763 0,
+ 1559319.037 573506.552 0, 1559617.958 573539.631 0, 1559915.526 573572.578 0, 1560213.093 573605.542 0, 1560510.657 573638.524 0, 1560808.22 573671.523 0, 1561105.781 573704.54 0, 1561403.34 573737.574 0, 1561700.897 573770.626 0, 1561998.451 573803.696 0,
+ 1562296.004 573836.782 0, 1562593.555 573869.887 0, 1562891.105 573903.009 0, 1563188.652 573936.148 0, 1563486.197 573969.305 0, 1563783.74 574002.48 0, 1564081.281 574035.671 0, 1564378.821 574068.881 0, 1564676.358 574102.108 0, 1564973.893 574135.352 0,
+ 1565271.427 574168.614 0, 1565568.958 574201.894 0, 1565866.488 574235.191 0, 1566164.015 574268.505 0, 1566460.192 574301.686 0, 1566759.065 574335.187 0, 1567056.586 574368.554 0, 1567354.106 574401.939 0, 1567651.624 574435.341 0, 1567949.14 574468.76 0,
+ 1568246.653 574502.197 0, 1568544.165 574535.652 0, 1568841.675 574569.124 0, 1569139.183 574602.614 0, 1569436.689 574636.121 0, 1569734.193 574669.646 0, 1570031.695 574703.188 0, 1570329.195 574736.748 0, 1570626.693 574770.325 0, 1570924.189 574803.919 0,
+ 1571221.683 574837.532 0, 1571519.175 574871.161 0, 1571816.665 574904.809 0, 1572114.153 574938.473 0, 1572411.64 574972.156 0, 1572709.124 575005.855 0, 1573006.606 575039.573 0, 1573304.086 575073.308 0, 1573600.216 575106.907 0, 1574227.258 569581.867 0,
+ 1574854.257 564057.209 0))
+
+POLYGON ((1587876.818 576747.602 0, 1587580.781 576713.166 0, 1587283.398 576678.591 0, 1586986.012 576644.033 0, 1586688.624 576609.493 0, 1586391.234 576574.97 0, 1586093.842 576540.465 0, 1585796.449 576505.978 0, 1585499.053 576471.508 0, 1585201.655 576437.055 0,
+ 1584904.255 576402.62 0, 1584606.853 576368.202 0, 1584309.449 576333.802 0, 1584012.043 576299.42 0, 1583714.635 576265.055 0, 1583417.225 576230.707 0, 1583119.812 576196.377 0, 1582822.398 576162.065 0, 1582524.982 576127.77 0, 1582227.564 576093.492 0,
+ 1581930.144 576059.232 0, 1581632.722 576024.99 0, 1581335.297 575990.765 0, 1581037.871 575956.557 0, 1580739.096 575922.213 0, 1580443.013 575888.195 0, 1580145.581 575854.04 0, 1579848.146 575819.902 0, 1579550.71 575785.782 0, 1579253.272 575751.68 0,
+ 1578955.831 575717.595 0, 1578658.389 575683.528 0, 1578360.945 575649.478 0, 1578063.499 575615.445 0, 1577766.05 575581.43 0, 1577468.6 575547.433 0, 1577171.148 575513.453 0, 1576873.693 575479.491 0, 1576576.237 575445.546 0, 1576278.779 575411.618 0,
+ 1575981.318 575377.708 0, 1575683.856 575343.816 0, 1575386.392 575309.941 0, 1575088.926 575276.084 0, 1574791.457 575242.244 0, 1574493.987 575208.422 0, 1574196.515 575174.617 0, 1573899.041 575140.83 0, 1573600.216 575106.907 0, 1572973.132 580632.325 0,
+ 1572346.004 586158.117 0, 1572644.175 586191.966 0, 1572940.999 586225.679 0, 1573237.821 586259.41 0, 1573534.64 586293.159 0, 1573831.458 586326.924 0, 1574128.274 586360.708 0, 1574425.088 586394.509 0, 1574721.9 586428.327 0, 1575018.71 586462.163 0,
+ 1575315.518 586496.016 0, 1575612.323 586529.886 0, 1575909.127 586563.775 0, 1576205.929 586597.68 0, 1576502.729 586631.603 0, 1576799.527 586665.544 0, 1577096.323 586699.502 0, 1577393.117 586733.477 0, 1577689.909 586767.47 0, 1577986.699 586801.481 0,
+ 1578283.487 586835.508 0, 1578580.273 586869.554 0, 1578877.057 586903.617 0, 1579173.838 586937.697 0, 1579469.275 586971.64 0, 1579767.396 587005.91 0, 1580064.172 587040.043 0, 1580360.946 587074.193 0, 1580657.718 587108.36 0, 1580954.488 587142.545 0,
+ 1581251.255 587176.748 0, 1581548.021 587210.968 0, 1581844.785 587245.206 0, 1582141.547 587279.461 0, 1582438.307 587313.733 0, 1582735.064 587348.023 0, 1583031.82 587382.33 0, 1583328.574 587416.655 0, 1583625.326 587450.997 0, 1583922.075 587485.357 0,
+ 1584218.823 587519.734 0, 1584515.569 587554.129 0, 1584812.312 587588.541 0, 1585109.054 587622.971 0, 1585405.793 587657.418 0, 1585702.531 587691.882 0, 1585999.266 587726.364 0, 1586296 587760.864 0, 1586591.389 587795.225 0, 1587234.125 582271.226 0,
+ 1587876.818 576747.602 0))
+
+POLYGON ((1600832.092 589472.571 0, 1600536.798 589437.376 0, 1600240.164 589402.038 0, 1599943.527 589366.718 0, 1599646.888 589331.415 0, 1599350.247 589296.13 0, 1599053.604 589260.862 0, 1598756.958 589225.612 0, 1598460.311 589190.379 0, 1598163.662 589155.163 0,
+ 1597867.01 589119.965 0, 1597570.357 589084.785 0, 1597273.701 589049.622 0, 1596977.044 589014.476 0, 1596680.384 588979.348 0, 1596383.722 588944.237 0, 1596087.058 588909.144 0, 1595790.393 588874.068 0, 1595493.725 588839.01 0, 1595197.055 588803.969 0,
+ 1594900.382 588768.946 0, 1594603.708 588733.94 0, 1594307.032 588698.951 0, 1594010.354 588663.98 0, 1593712.333 588628.869 0, 1593416.991 588594.091 0, 1593120.307 588559.172 0, 1592823.62 588524.271 0, 1592526.932 588489.387 0, 1592230.241 588454.521 0,
+ 1591933.548 588419.672 0, 1591636.854 588384.841 0, 1591340.157 588350.027 0, 1591043.458 588315.231 0, 1590746.757 588280.452 0, 1590450.054 588245.69 0, 1590153.35 588210.946 0, 1589856.643 588176.22 0, 1589559.934 588141.511 0, 1589263.222 588106.819 0,
+ 1588966.509 588072.145 0, 1588669.794 588037.489 0, 1588373.077 588002.849 0, 1588076.358 587968.228 0, 1587779.637 587933.623 0, 1587482.913 587899.037 0, 1587186.188 587864.467 0, 1586889.461 587829.915 0, 1586591.389 587795.225 0, 1585948.609 593319.595 0,
+ 1585305.787 598844.335 0, 1585603.205 598878.949 0, 1585899.282 598913.426 0, 1586195.357 598947.919 0, 1586491.43 598982.43 0, 1586787.501 599016.959 0, 1587083.57 599051.504 0, 1587379.637 599086.068 0, 1587675.702 599120.648 0, 1587971.765 599155.247 0,
+ 1588267.826 599189.862 0, 1588563.884 599224.495 0, 1588859.941 599259.145 0, 1589155.996 599293.813 0, 1589452.048 599328.499 0, 1589748.099 599363.201 0, 1590044.147 599397.921 0, 1590340.194 599432.659 0, 1590636.238 599467.414 0, 1590932.281 599502.186 0,
+ 1591228.321 599536.976 0, 1591524.359 599571.783 0, 1591820.396 599606.608 0, 1592116.43 599641.45 0, 1592411.124 599676.152 0, 1592708.492 599711.187 0, 1593004.52 599746.081 0, 1593300.546 599780.993 0, 1593596.57 599815.922 0, 1593892.592 599850.868 0,
+ 1594188.612 599885.833 0, 1594484.63 599920.814 0, 1594780.645 599955.813 0, 1595076.659 599990.829 0, 1595372.671 600025.863 0, 1595668.68 600060.914 0, 1595964.688 600095.983 0, 1596260.693 600131.069 0, 1596556.696 600166.172 0, 1596852.698 600201.293 0,
+ 1597148.697 600236.431 0, 1597444.694 600271.587 0, 1597740.689 600306.76 0, 1598036.682 600341.951 0, 1598332.673 600377.159 0, 1598628.662 600412.384 0, 1598924.648 600447.627 0, 1599220.633 600482.887 0, 1599515.279 600518.005 0, 1600173.707 594995.104 0,
+ 1600832.092 589472.571 0))
+
+POLYGON ((1613719.986 602231.814 0, 1613425.438 602195.863 0, 1613129.554 602159.766 0, 1612833.668 602123.687 0, 1612537.78 602087.626 0, 1612241.89 602051.582 0, 1611945.998 602015.555 0, 1611650.103 601979.546 0, 1611354.206 601943.554 0, 1611058.308 601907.58 0,
+ 1610762.407 601871.623 0, 1610466.504 601835.683 0, 1610170.599 601799.761 0, 1609874.692 601763.857 0, 1609578.782 601727.969 0, 1609282.871 601692.099 0, 1608986.957 601656.247 0, 1608691.042 601620.412 0, 1608395.124 601584.594 0, 1608099.204 601548.794 0,
+ 1607803.282 601513.011 0, 1607507.358 601477.246 0, 1607211.432 601441.498 0, 1606915.504 601405.767 0, 1606618.238 601369.893 0, 1606323.641 601334.358 0, 1606027.706 601298.68 0, 1605731.769 601263.019 0, 1605435.831 601227.376 0, 1605139.89 601191.75 0,
+ 1604843.947 601156.141 0, 1604548.002 601120.55 0, 1604252.054 601084.976 0, 1603956.105 601049.42 0, 1603660.154 601013.881 0, 1603364.2 600978.359 0, 1603068.245 600942.855 0, 1602772.287 600907.369 0, 1602476.328 600871.899 0, 1602180.366 600836.447 0,
+ 1601884.402 600801.013 0, 1601588.436 600765.596 0, 1601292.468 600730.196 0, 1600996.498 600694.814 0, 1600700.525 600659.449 0, 1600404.551 600624.102 0, 1600108.575 600588.772 0, 1599812.596 600553.46 0, 1599515.279 600518.005 0, 1598856.807 606041.272 0,
+ 1598198.292 611564.901 0, 1598494.956 611600.277 0, 1598790.285 611635.512 0, 1599085.611 611670.764 0, 1599380.935 611706.034 0, 1599676.257 611741.321 0, 1599971.577 611776.626 0, 1600266.895 611811.947 0, 1600562.211 611847.287 0, 1600857.524 611882.643 0,
+ 1601152.836 611918.017 0, 1601448.146 611953.409 0, 1601743.453 611988.817 0, 1602038.759 612024.243 0, 1602334.062 612059.687 0, 1602629.363 612095.148 0, 1602924.662 612130.626 0, 1603219.959 612166.122 0, 1603515.254 612201.635 0, 1603810.547 612237.165 0,
+ 1604105.838 612272.713 0, 1604401.127 612308.278 0, 1604696.413 612343.861 0, 1604991.698 612379.461 0, 1605285.648 612414.917 0, 1605582.26 612450.713 0, 1605877.539 612486.365 0, 1606172.815 612522.034 0, 1606468.089 612557.721 0, 1606763.361 612593.425 0,
+ 1607058.63 612629.147 0, 1607353.898 612664.886 0, 1607649.164 612700.642 0, 1607944.427 612736.416 0, 1608239.689 612772.207 0, 1608534.948 612808.015 0, 1608830.205 612843.841 0, 1609125.46 612879.684 0, 1609420.713 612915.545 0, 1609715.964 612951.423 0,
+ 1610011.213 612987.318 0, 1610306.459 613023.231 0, 1610601.704 613059.161 0, 1610896.946 613095.109 0, 1611192.186 613131.073 0, 1611487.424 613167.056 0, 1611782.66 613203.055 0, 1612077.894 613239.072 0, 1612371.795 613274.944 0, 1613045.913 607753.198 0,
+ 1613719.986 602231.814 0))
+
+POLYGON ((1626540.41 615025.023 0, 1626246.61 614988.321 0, 1625951.479 614951.47 0, 1625656.346 614914.637 0, 1625361.21 614877.82 0, 1625066.073 614841.022 0, 1624770.933 614804.24 0, 1624475.791 614767.476 0, 1624180.647 614730.729 0, 1623885.501 614694 0,
+ 1623590.353 614657.288 0, 1623295.202 614620.593 0, 1623000.05 614583.916 0, 1622704.895 614547.256 0, 1622409.738 614510.614 0, 1622114.579 614473.989 0, 1621819.418 614437.381 0, 1621524.254 614400.791 0, 1621229.089 614364.218 0, 1620933.921 614327.662 0,
+ 1620638.751 614291.124 0, 1620343.579 614254.603 0, 1620048.405 614218.099 0, 1619753.229 614181.613 0, 1619456.721 614144.98 0, 1619162.87 614108.693 0, 1618867.687 614072.259 0, 1618572.502 614035.842 0, 1618277.315 613999.443 0, 1617982.126 613963.061 0,
+ 1617686.935 613926.697 0, 1617391.741 613890.35 0, 1617096.546 613854.02 0, 1616801.348 613817.707 0, 1616506.148 613781.412 0, 1616210.946 613745.135 0, 1615915.742 613708.875 0, 1615620.536 613672.632 0, 1615325.327 613636.406 0, 1615030.117 613600.198 0,
+ 1614734.904 613564.007 0, 1614439.689 613527.834 0, 1614144.472 613491.678 0, 1613849.253 613455.539 0, 1613554.032 613419.418 0, 1613258.809 613383.314 0, 1612963.583 613347.228 0, 1612668.356 613311.158 0, 1612371.795 613274.944 0, 1611697.634 618797.049 0,
+ 1611023.429 624319.51 0, 1611319.337 624355.645 0, 1611613.914 624391.635 0, 1611908.489 624427.642 0, 1612203.063 624463.666 0, 1612497.634 624499.708 0, 1612792.203 624535.767 0, 1613086.77 624571.843 0, 1613381.335 624607.937 0, 1613675.897 624644.048 0,
+ 1613970.458 624680.177 0, 1614265.016 624716.322 0, 1614559.572 624752.485 0, 1614854.126 624788.666 0, 1615148.678 624824.864 0, 1615443.228 624861.079 0, 1615737.776 624897.311 0, 1616032.322 624933.561 0, 1616326.865 624969.828 0, 1616621.406 625006.112 0,
+ 1616915.946 625042.414 0, 1617210.483 625078.733 0, 1617505.018 625115.07 0, 1617799.55 625151.424 0, 1618092.754 625187.631 0, 1618388.61 625224.183 0, 1618683.136 625260.589 0, 1618977.66 625297.012 0, 1619272.182 625333.452 0, 1619566.702 625369.91 0,
+ 1619861.22 625406.385 0, 1620155.736 625442.878 0, 1620450.249 625479.388 0, 1620744.76 625515.915 0, 1621039.27 625552.459 0, 1621333.777 625589.021 0, 1621628.281 625625.6 0, 1621922.784 625662.197 0, 1622217.285 625698.81 0, 1622511.783 625735.442 0,
+ 1622806.279 625772.09 0, 1623100.774 625808.756 0, 1623395.265 625845.439 0, 1623689.755 625882.14 0, 1623984.243 625918.857 0, 1624278.728 625955.592 0, 1624573.212 625992.345 0, 1624867.693 626029.115 0, 1625160.846 626065.736 0, 1625850.651 620545.202 0,
+ 1626540.41 615025.023 0))
+
+POLYGON ((1639293.274 627851.896 0, 1639000.223 627814.446 0, 1638705.847 627776.844 0, 1638411.469 627739.26 0, 1638117.088 627701.693 0, 1637822.705 627664.144 0, 1637528.32 627626.611 0, 1637233.933 627589.096 0, 1636939.544 627551.599 0, 1636645.152 627514.118 0,
+ 1636350.759 627476.655 0, 1636056.363 627439.21 0, 1635761.964 627401.781 0, 1635467.564 627364.37 0, 1635173.162 627326.976 0, 1634878.757 627289.6 0, 1634584.35 627252.241 0, 1634289.941 627214.899 0, 1633995.529 627177.575 0, 1633701.116 627140.268 0,
+ 1633406.7 627102.978 0, 1633112.282 627065.706 0, 1632817.862 627028.451 0, 1632523.44 626991.213 0, 1632227.691 626953.825 0, 1631934.588 626916.79 0, 1631640.159 626879.604 0, 1631345.728 626842.435 0, 1631051.295 626805.284 0, 1630756.86 626768.15 0,
+ 1630462.422 626731.034 0, 1630167.982 626693.935 0, 1629873.54 626656.853 0, 1629579.096 626619.789 0, 1629284.65 626582.742 0, 1628990.201 626545.712 0, 1628695.75 626508.699 0, 1628401.297 626471.704 0, 1628106.842 626434.727 0, 1627812.385 626397.766 0,
+ 1627517.926 626360.823 0, 1627223.464 626323.897 0, 1626929 626286.989 0, 1626634.534 626250.098 0, 1626340.066 626213.224 0, 1626045.596 626176.367 0, 1625751.123 626139.528 0, 1625456.649 626102.706 0, 1625160.846 626065.736 0, 1624470.998 631586.623 0,
+ 1623781.107 637107.859 0, 1624076.256 637144.747 0, 1624370.081 637181.488 0, 1624663.903 637218.246 0, 1624957.724 637255.021 0, 1625251.542 637291.813 0, 1625545.358 637328.623 0, 1625839.172 637365.45 0, 1626132.983 637402.294 0, 1626426.793 637439.156 0,
+ 1626720.6 637476.035 0, 1627014.406 637512.931 0, 1627308.209 637549.844 0, 1627602.01 637586.775 0, 1627895.808 637623.723 0, 1628189.605 637660.689 0, 1628483.399 637697.671 0, 1628777.191 637734.671 0, 1629070.981 637771.688 0, 1629364.769 637808.723 0,
+ 1629658.555 637845.775 0, 1629952.338 637882.844 0, 1630246.12 637919.93 0, 1630539.899 637957.034 0, 1630832.355 637993.988 0, 1631127.45 638031.293 0, 1631421.223 638068.449 0, 1631714.993 638105.621 0, 1632008.761 638142.812 0, 1632302.527 638180.019 0,
+ 1632596.291 638217.244 0, 1632890.053 638254.486 0, 1633183.812 638291.745 0, 1633477.569 638329.022 0, 1633771.324 638366.315 0, 1634065.077 638403.627 0, 1634358.828 638440.955 0, 1634652.576 638478.301 0, 1634946.322 638515.664 0, 1635240.066 638553.044 0,
+ 1635533.808 638590.442 0, 1635827.548 638627.857 0, 1636121.285 638665.289 0, 1636415.02 638702.738 0, 1636708.753 638740.205 0, 1637002.484 638777.689 0, 1637296.213 638815.191 0, 1637589.939 638852.709 0, 1637882.344 638890.076 0, 1638587.831 633370.812 0,
+ 1639293.274 627851.896 0))
+
+POLYGON ((1651978.49 640712.125 0, 1651686.19 640673.932 0, 1651392.57 640635.584 0, 1651098.949 640597.253 0, 1650805.325 640558.939 0, 1650511.699 640520.642 0, 1650218.071 640482.363 0, 1649924.44 640444.101 0, 1649630.808 640405.857 0, 1649337.173 640367.629 0,
+ 1649043.535 640329.419 0, 1648749.896 640291.226 0, 1648456.254 640253.051 0, 1648162.61 640214.893 0, 1647868.964 640176.752 0, 1647575.316 640138.628 0, 1647281.665 640100.522 0, 1646988.012 640062.433 0, 1646694.357 640024.361 0, 1646400.699 639986.307 0,
+ 1646107.04 639948.269 0, 1645813.378 639910.249 0, 1645519.713 639872.247 0, 1645226.047 639834.261 0, 1644931.06 639796.123 0, 1644638.708 639758.342 0, 1644345.034 639720.409 0, 1644051.359 639682.493 0, 1643757.682 639644.594 0, 1643464.002 639606.712 0,
+ 1643170.32 639568.848 0, 1642876.636 639531.001 0, 1642582.949 639493.171 0, 1642289.26 639455.358 0, 1641995.569 639417.563 0, 1641701.876 639379.785 0, 1641408.181 639342.025 0, 1641114.483 639304.281 0, 1640820.784 639266.555 0, 1640527.081 639228.846 0,
+ 1640233.377 639191.155 0, 1639939.671 639153.481 0, 1639645.962 639115.824 0, 1639352.251 639078.184 0, 1639058.538 639040.562 0, 1638764.823 639002.957 0, 1638471.105 638965.369 0, 1638177.385 638927.798 0, 1637882.344 638890.076 0, 1637176.812 644409.687 0,
+ 1636471.237 649929.64 0, 1636765.625 649967.279 0, 1637058.695 650004.766 0, 1637351.763 650042.271 0, 1637644.829 650079.793 0, 1637937.892 650117.332 0, 1638230.953 650154.888 0, 1638524.012 650192.462 0, 1638817.069 650230.053 0, 1639110.124 650267.661 0,
+ 1639403.176 650305.286 0, 1639696.226 650342.929 0, 1639989.274 650380.589 0, 1640282.32 650418.266 0, 1640575.363 650455.96 0, 1640868.404 650493.672 0, 1641161.443 650531.401 0, 1641454.48 650569.147 0, 1641747.515 650606.91 0, 1642040.547 650644.691 0,
+ 1642333.577 650682.489 0, 1642626.605 650720.304 0, 1642919.631 650758.136 0, 1643212.654 650795.986 0, 1643504.36 650833.683 0, 1643798.694 650871.737 0, 1644091.711 650909.638 0, 1644384.726 650947.557 0, 1644677.738 650985.492 0, 1644970.748 651023.446 0,
+ 1645263.756 651061.416 0, 1645556.761 651099.403 0, 1645849.765 651137.408 0, 1646142.766 651175.43 0, 1646435.765 651213.47 0, 1646728.761 651251.526 0, 1647021.756 651289.6 0, 1647314.748 651327.691 0, 1647607.738 651365.799 0, 1647900.725 651403.925 0,
+ 1648193.711 651442.068 0, 1648486.694 651480.228 0, 1648779.675 651518.405 0, 1649072.654 651556.599 0, 1649365.63 651594.811 0, 1649658.604 651633.04 0, 1649951.576 651671.286 0, 1650244.546 651709.55 0, 1650536.199 651747.659 0, 1651257.367 646229.721 0,
+ 1651978.49 640712.125 0))
+
+POLYGON ((1664595.97 653605.406 0, 1664304.423 653566.473 0, 1664011.562 653527.382 0, 1663718.7 653488.308 0, 1663425.835 653449.251 0, 1663132.967 653410.212 0, 1662840.098 653371.19 0, 1662547.226 653332.185 0, 1662254.352 653293.198 0, 1661961.475 653254.227 0,
+ 1661668.596 653215.274 0, 1661375.715 653176.338 0, 1661082.832 653137.42 0, 1660789.946 653098.518 0, 1660497.058 653059.634 0, 1660204.168 653020.767 0, 1659911.275 652981.917 0, 1659618.381 652943.085 0, 1659325.484 652904.27 0, 1659032.584 652865.472 0,
+ 1658739.683 652826.691 0, 1658446.779 652787.928 0, 1658153.872 652749.181 0, 1657860.964 652710.452 0, 1657566.74 652671.567 0, 1657275.14 652633.046 0, 1656982.225 652594.369 0, 1656689.307 652555.709 0, 1656396.387 652517.066 0, 1656103.465 652478.44 0,
+ 1655810.541 652439.832 0, 1655517.614 652401.241 0, 1655224.685 652362.667 0, 1654931.754 652324.111 0, 1654638.82 652285.571 0, 1654345.884 652247.049 0, 1654052.946 652208.544 0, 1653760.006 652170.057 0, 1653467.063 652131.586 0, 1653174.119 652093.133 0,
+ 1652881.171 652054.697 0, 1652588.222 652016.278 0, 1652295.27 651977.877 0, 1652002.317 651939.493 0, 1651709.36 651901.126 0, 1651416.402 651862.776 0, 1651123.441 651824.444 0, 1650830.478 651786.129 0, 1650536.199 651747.659 0, 1649814.987 657265.936 0,
+ 1649093.731 662784.55 0, 1649387.358 662822.934 0, 1649679.671 662861.164 0, 1649971.982 662899.412 0, 1650264.291 662937.676 0, 1650556.598 662975.958 0, 1650848.902 663014.257 0, 1651141.204 663052.574 0, 1651433.504 663090.907 0, 1651725.802 663129.258 0,
+ 1652018.097 663167.626 0, 1652310.39 663206.011 0, 1652602.681 663244.413 0, 1652894.969 663282.832 0, 1653187.255 663321.269 0, 1653479.539 663359.723 0, 1653771.821 663398.194 0, 1654064.101 663436.683 0, 1654356.378 663475.188 0, 1654648.653 663513.711 0,
+ 1654940.925 663552.251 0, 1655233.196 663590.808 0, 1655525.464 663629.382 0, 1655817.73 663667.974 0, 1656108.683 663706.409 0, 1656402.254 663745.208 0, 1656694.514 663783.851 0, 1656986.77 663822.512 0, 1657279.025 663861.189 0, 1657571.277 663899.884 0,
+ 1657863.527 663938.596 0, 1658155.774 663977.325 0, 1658448.02 664016.071 0, 1658740.263 664054.835 0, 1659032.504 664093.616 0, 1659324.742 664132.414 0, 1659616.978 664171.229 0, 1659909.212 664210.061 0, 1660201.444 664248.911 0, 1660493.673 664287.777 0,
+ 1660785.9 664326.661 0, 1661078.125 664365.563 0, 1661370.348 664404.481 0, 1661662.568 664443.416 0, 1661954.786 664482.369 0, 1662247.002 664521.339 0, 1662539.215 664560.326 0, 1662831.426 664599.331 0, 1663122.326 664638.177 0, 1663859.17 659121.624 0,
+ 1664595.97 653605.406 0))
+
+POLYGON ((1677145.628 666531.431 0, 1676854.837 666491.762 0, 1676562.737 666451.933 0, 1676270.635 666412.12 0, 1675978.531 666372.325 0, 1675686.424 666332.547 0, 1675394.315 666292.786 0, 1675102.203 666253.042 0, 1674810.09 666213.315 0, 1674517.974 666173.606 0,
+ 1674225.855 666133.914 0, 1673933.735 666094.239 0, 1673641.611 666054.581 0, 1673349.486 666014.94 0, 1673057.358 665975.317 0, 1672765.228 665935.711 0, 1672473.096 665896.122 0, 1672180.961 665856.55 0, 1671888.824 665816.995 0, 1671596.685 665777.458 0,
+ 1671304.543 665737.938 0, 1671012.399 665698.434 0, 1670720.253 665658.949 0, 1670428.104 665619.48 0, 1670134.646 665579.852 0, 1669843.8 665540.594 0, 1669551.644 665501.177 0, 1669259.486 665461.777 0, 1668967.326 665422.395 0, 1668675.163 665383.029 0,
+ 1668382.998 665343.681 0, 1668090.831 665304.35 0, 1667798.661 665265.036 0, 1667506.49 665225.739 0, 1667214.315 665186.46 0, 1666922.139 665147.197 0, 1666629.96 665107.952 0, 1666337.779 665068.724 0, 1666045.596 665029.513 0, 1665753.41 664990.32 0,
+ 1665461.222 664951.144 0, 1665169.031 664911.985 0, 1664876.839 664872.843 0, 1664584.644 664833.718 0, 1664292.447 664794.61 0, 1664000.247 664755.52 0, 1663708.045 664716.447 0, 1663415.841 664677.391 0, 1663122.326 664638.177 0, 1662385.438 670155.064 0,
+ 1661648.505 675672.28 0, 1661941.368 675711.406 0, 1662232.922 675750.375 0, 1662524.475 675789.362 0, 1662816.025 675828.365 0, 1663107.573 675867.386 0, 1663399.118 675906.423 0, 1663690.662 675945.478 0, 1663982.202 675984.551 0, 1664273.741 676023.64 0,
+ 1664565.277 676062.746 0, 1664856.811 676101.87 0, 1665148.343 676141.01 0, 1665439.873 676180.168 0, 1665731.4 676219.343 0, 1666022.924 676258.536 0, 1666314.447 676297.745 0, 1666605.967 676336.972 0, 1666897.485 676376.215 0, 1667189.001 676415.476 0,
+ 1667480.514 676454.754 0, 1667772.025 676494.049 0, 1668063.533 676533.361 0, 1668355.04 676572.691 0, 1668645.24 676611.862 0, 1668938.045 676651.401 0, 1669229.545 676690.782 0, 1669521.042 676730.18 0, 1669812.537 676769.596 0, 1670104.029 676809.028 0,
+ 1670395.519 676848.478 0, 1670687.007 676887.944 0, 1670978.492 676927.428 0, 1671269.975 676966.929 0, 1671561.456 677006.448 0, 1671852.935 677045.983 0, 1672144.411 677085.535 0, 1672435.885 677125.105 0, 1672727.356 677164.692 0, 1673018.825 677204.296 0,
+ 1673310.292 677243.917 0, 1673601.757 677283.555 0, 1673893.219 677323.211 0, 1674184.679 677362.883 0, 1674476.136 677402.573 0, 1674767.591 677442.28 0, 1675059.044 677482.004 0, 1675350.494 677521.745 0, 1675640.64 677561.326 0, 1676393.157 672046.214 0,
+ 1677145.628 666531.431 0))
+
+POLYGON ((1689627.382 679489.895 0, 1689337.347 679449.494 0, 1689046.01 679408.93 0, 1688754.671 679368.382 0, 1688463.329 679327.852 0, 1688171.985 679287.339 0, 1687880.638 679246.843 0, 1687589.289 679206.365 0, 1687297.938 679165.903 0, 1687006.584 679125.459 0,
+ 1686715.228 679085.031 0, 1686423.869 679044.621 0, 1686132.509 679004.228 0, 1685841.145 678963.852 0, 1685549.78 678923.494 0, 1685258.412 678883.152 0, 1684967.041 678842.828 0, 1684675.669 678802.521 0, 1684384.294 678762.23 0, 1684092.916 678721.958 0,
+ 1683801.536 678681.702 0, 1683510.154 678641.463 0, 1683218.769 678601.242 0, 1682927.383 678561.037 0, 1682634.692 678520.671 0, 1682344.602 678480.68 0, 1682053.207 678440.527 0, 1681761.811 678400.392 0, 1681470.412 678360.273 0, 1681179.011 678320.172 0,
+ 1680887.608 678280.087 0, 1680596.202 678240.02 0, 1680304.794 678199.97 0, 1680013.383 678159.937 0, 1679721.97 678119.922 0, 1679430.555 678079.923 0, 1679139.137 678039.942 0, 1678847.717 677999.978 0, 1678556.295 677960.031 0, 1678264.87 677920.101 0,
+ 1677973.443 677880.188 0, 1677682.014 677840.292 0, 1677390.582 677800.414 0, 1677099.148 677760.553 0, 1676807.712 677720.709 0, 1676516.273 677680.882 0, 1676224.832 677641.072 0, 1675933.388 677601.279 0, 1675640.64 677561.326 0, 1674888.079 683076.764 0,
+ 1674135.473 688592.525 0, 1674427.57 688632.389 0, 1674718.364 688672.093 0, 1675009.156 688711.814 0, 1675299.945 688751.552 0, 1675590.732 688791.308 0, 1675881.517 688831.08 0, 1676172.3 688870.87 0, 1676463.08 688910.677 0, 1676753.858 688950.5 0,
+ 1677044.633 688990.341 0, 1677335.406 689030.199 0, 1677626.177 689070.075 0, 1677916.945 689109.967 0, 1678207.711 689149.876 0, 1678498.475 689189.803 0, 1678789.237 689229.746 0, 1679079.996 689269.707 0, 1679370.752 689309.685 0, 1679661.507 689349.68 0,
+ 1679952.259 689389.692 0, 1680243.008 689429.721 0, 1680533.755 689469.768 0, 1680824.5 689509.831 0, 1681113.944 689549.733 0, 1681405.983 689590.009 0, 1681696.721 689630.124 0, 1681987.456 689670.256 0, 1682278.189 689710.405 0, 1682568.92 689750.571 0,
+ 1682859.648 689790.754 0, 1683150.374 689830.954 0, 1683441.098 689871.172 0, 1683731.819 689911.406 0, 1684022.538 689951.658 0, 1684313.255 689991.927 0, 1684603.969 690032.213 0, 1684894.681 690072.516 0, 1685185.39 690112.836 0, 1685476.097 690153.173 0,
+ 1685766.802 690193.527 0, 1686057.504 690233.899 0, 1686348.204 690274.287 0, 1686638.901 690314.693 0, 1686929.596 690355.116 0, 1687220.289 690395.556 0, 1687510.98 690436.013 0, 1687801.668 690476.487 0, 1688091.056 690516.797 0, 1688859.241 685003.184 0,
+ 1689627.382 679489.895 0))
+
+POLYGON ((1702041.147 692480.489 0, 1701751.871 692439.361 0, 1701461.299 692398.065 0, 1701170.724 692356.787 0, 1700880.146 692315.526 0, 1700589.566 692274.283 0, 1700298.984 692233.056 0, 1700008.4 692191.846 0, 1699717.813 692150.654 0, 1699427.223 692109.478 0,
+ 1699136.631 692068.32 0, 1698846.037 692027.179 0, 1698555.44 691986.054 0, 1698264.841 691944.947 0, 1697974.239 691903.857 0, 1697683.635 691862.785 0, 1697393.029 691821.729 0, 1697102.42 691780.69 0, 1696811.809 691739.669 0, 1696521.195 691698.664 0,
+ 1696230.579 691657.677 0, 1695939.961 691616.707 0, 1695649.34 691575.754 0, 1695358.716 691534.818 0, 1695066.795 691493.717 0, 1694777.462 691452.997 0, 1694486.832 691412.112 0, 1694196.199 691371.245 0, 1693905.564 691330.394 0, 1693614.926 691289.561 0,
+ 1693324.286 691248.745 0, 1693033.643 691207.946 0, 1692742.998 691167.164 0, 1692452.351 691126.399 0, 1692161.701 691085.651 0, 1691871.049 691044.92 0, 1691580.394 691004.207 0, 1691289.737 690963.51 0, 1690999.078 690922.831 0, 1690708.416 690882.168 0,
+ 1690417.752 690841.523 0, 1690127.086 690800.895 0, 1689836.417 690760.284 0, 1689545.746 690719.69 0, 1689255.072 690679.114 0, 1688964.396 690638.554 0, 1688673.717 690598.012 0, 1688383.036 690557.486 0, 1688091.056 690516.797 0, 1687322.826 696030.729 0,
+ 1686554.553 701544.977 0, 1686845.881 701585.576 0, 1687135.913 701626.01 0, 1687425.942 701666.462 0, 1687715.969 701706.932 0, 1688005.994 701747.418 0, 1688296.016 701787.921 0, 1688586.036 701828.441 0, 1688876.053 701868.978 0, 1689166.068 701909.533 0,
+ 1689456.081 701950.104 0, 1689746.091 701990.693 0, 1690036.099 702031.299 0, 1690326.105 702071.921 0, 1690616.108 702112.561 0, 1690906.109 702153.218 0, 1691196.107 702193.892 0, 1691486.103 702234.583 0, 1691776.096 702275.291 0, 1692066.088 702316.016 0,
+ 1692356.076 702356.758 0, 1692646.063 702397.517 0, 1692936.047 702438.294 0, 1693226.028 702479.087 0, 1693514.715 702519.715 0, 1693805.984 702560.725 0, 1694095.958 702601.569 0, 1694385.93 702642.431 0, 1694675.9 702683.31 0, 1694965.867 702724.206 0,
+ 1695255.832 702765.118 0, 1695545.794 702806.048 0, 1695835.754 702846.995 0, 1696125.712 702887.959 0, 1696415.667 702928.94 0, 1696705.619 702969.939 0, 1696995.57 703010.954 0, 1697285.517 703051.986 0, 1697575.463 703093.036 0, 1697865.406 703134.102 0,
+ 1698155.346 703175.185 0, 1698445.285 703216.286 0, 1698735.22 703257.404 0, 1699025.154 703298.538 0, 1699315.085 703339.69 0, 1699605.013 703380.859 0, 1699894.939 703422.045 0, 1700184.863 703463.248 0, 1700473.493 703504.284 0, 1701257.342 697992.228 0,
+ 1702041.147 692480.489 0))
+
+POLYGON ((1714386.842 705502.907 0, 1714098.327 705461.055 0, 1713808.521 705419.033 0, 1713518.712 705377.028 0, 1713228.901 705335.04 0, 1712939.088 705293.07 0, 1712649.272 705251.116 0, 1712359.453 705209.179 0, 1712069.632 705167.26 0, 1711779.809 705125.357 0,
+ 1711489.983 705083.472 0, 1711200.155 705041.603 0, 1710910.324 704999.752 0, 1710620.491 704957.918 0, 1710330.655 704916.101 0, 1710040.817 704874.301 0, 1709750.976 704832.518 0, 1709461.133 704790.752 0, 1709171.288 704749.003 0, 1708881.44 704707.271 0,
+ 1708591.589 704665.556 0, 1708301.737 704623.858 0, 1708011.881 704582.177 0, 1707722.023 704540.514 0, 1707430.873 704498.682 0, 1707142.3 704457.238 0, 1706852.435 704415.625 0, 1706562.568 704374.03 0, 1706272.698 704332.452 0, 1705982.825 704290.89 0,
+ 1705692.95 704249.346 0, 1705403.073 704207.819 0, 1705113.193 704166.309 0, 1704823.311 704124.816 0, 1704533.426 704083.34 0, 1704243.539 704041.881 0, 1703953.649 704000.439 0, 1703663.757 703959.014 0, 1703373.863 703917.607 0, 1703083.966 703876.216 0,
+ 1702794.066 703834.842 0, 1702504.165 703793.486 0, 1702214.26 703752.146 0, 1701924.354 703710.824 0, 1701634.445 703669.519 0, 1701344.533 703628.23 0, 1701054.619 703586.959 0, 1700764.703 703545.705 0, 1700473.493 703504.284 0, 1699689.599 709016.653 0,
+ 1698905.661 714529.33 0, 1699196.219 714570.658 0, 1699485.487 714611.82 0, 1699774.752 714652.999 0, 1700064.014 714694.195 0, 1700353.274 714735.408 0, 1700642.532 714776.638 0, 1700931.788 714817.885 0, 1701221.04 714859.149 0, 1701510.291 714900.43 0,
+ 1701799.539 714941.728 0, 1702088.785 714983.043 0, 1702378.028 715024.375 0, 1702667.269 715065.724 0, 1702956.507 715107.09 0, 1703245.743 715148.473 0, 1703534.976 715189.873 0, 1703824.207 715231.29 0, 1704113.436 715272.725 0, 1704402.662 715314.176 0,
+ 1704691.886 715355.644 0, 1704981.107 715397.129 0, 1705270.326 715438.632 0, 1705559.542 715480.151 0, 1705847.469 715521.502 0, 1706137.967 715563.241 0, 1706427.176 715604.811 0, 1706716.383 715646.398 0, 1707005.587 715688.003 0, 1707294.789 715729.624 0,
+ 1707583.988 715771.263 0, 1707873.185 715812.918 0, 1708162.379 715854.591 0, 1708451.571 715896.28 0, 1708740.761 715937.987 0, 1709029.947 715979.711 0, 1709319.132 716021.451 0, 1709608.314 716063.209 0, 1709897.494 716104.983 0, 1710186.671 716146.775 0,
+ 1710475.845 716188.584 0, 1710765.018 716230.409 0, 1711054.187 716272.252 0, 1711343.355 716314.112 0, 1711632.52 716355.989 0, 1711921.682 716397.883 0, 1712210.842 716439.793 0, 1712499.999 716481.721 0, 1712787.868 716523.479 0, 1713587.378 711013.038 0,
+ 1714386.842 705502.907 0))
+
+POLYGON ((1726664.387 718556.84 0, 1726376.635 718514.269 0, 1726087.597 718471.524 0, 1725798.556 718428.796 0, 1725509.514 718386.086 0, 1725220.468 718343.392 0, 1724931.42 718300.716 0, 1724642.37 718258.056 0, 1724353.317 718215.414 0, 1724064.262 718172.788 0,
+ 1723775.204 718130.18 0, 1723486.143 718087.588 0, 1723197.08 718045.014 0, 1722908.015 718002.456 0, 1722618.947 717959.916 0, 1722329.877 717917.393 0, 1722040.804 717874.886 0, 1721751.728 717832.397 0, 1721462.65 717789.924 0, 1721173.57 717747.469 0,
+ 1720884.487 717705.031 0, 1720595.401 717662.609 0, 1720306.313 717620.205 0, 1720017.223 717577.818 0, 1719726.846 717535.259 0, 1719439.035 717493.094 0, 1719149.937 717450.758 0, 1718860.836 717408.439 0, 1718571.733 717366.137 0, 1718282.628 717323.851 0,
+ 1717993.52 717281.583 0, 1717704.41 717239.332 0, 1717415.297 717197.098 0, 1717126.182 717154.881 0, 1716837.064 717112.681 0, 1716547.944 717070.498 0, 1716258.821 717028.332 0, 1715969.696 716986.182 0, 1715680.568 716944.05 0, 1715391.438 716901.935 0,
+ 1715102.305 716859.837 0, 1714813.17 716817.756 0, 1714524.032 716775.692 0, 1714234.892 716733.645 0, 1713945.749 716691.616 0, 1713656.604 716649.603 0, 1713367.457 716607.607 0, 1713078.307 716565.628 0, 1712787.868 716523.479 0, 1711988.315 722034.226 0,
+ 1711188.717 727545.276 0, 1711478.504 727587.33 0, 1711767.005 727629.215 0, 1712055.504 727671.116 0, 1712344.001 727713.035 0, 1712632.494 727754.971 0, 1712920.986 727796.923 0, 1713209.475 727838.893 0, 1713497.961 727880.879 0, 1713786.445 727922.883 0,
+ 1714074.927 727964.903 0, 1714363.406 728006.941 0, 1714651.883 728048.995 0, 1714940.357 728091.067 0, 1715228.828 728133.155 0, 1715517.298 728175.261 0, 1715805.764 728217.383 0, 1716094.229 728259.523 0, 1716382.69 728301.679 0, 1716671.15 728343.852 0,
+ 1716959.606 728386.043 0, 1717248.061 728428.25 0, 1717536.512 728470.474 0, 1717824.962 728512.716 0, 1718112.127 728554.786 0, 1718401.853 728597.249 0, 1718690.295 728639.541 0, 1718978.734 728681.85 0, 1719267.171 728724.177 0, 1719555.605 728766.52 0,
+ 1719844.037 728808.88 0, 1720132.467 728851.257 0, 1720420.894 728893.651 0, 1720709.318 728936.062 0, 1720997.74 728978.49 0, 1721286.159 729020.935 0, 1721574.576 729063.397 0, 1721862.991 729105.876 0, 1722151.402 729148.372 0, 1722439.812 729190.885 0,
+ 1722728.219 729233.414 0, 1723016.623 729275.961 0, 1723305.025 729318.525 0, 1723593.424 729361.106 0, 1723881.821 729403.704 0, 1724170.216 729446.318 0, 1724458.608 729488.95 0, 1724746.997 729531.599 0, 1725034.104 729574.075 0, 1725849.268 724065.306 0,
+ 1726664.387 718556.84 0))
+
+POLYGON ((1453667.789 462512.918 0, 1453365.083 462486.348 0, 1453060.977 462459.673 0, 1452756.868 462433.015 0, 1452452.759 462406.376 0, 1452148.647 462379.754 0, 1451844.534 462353.151 0, 1451540.42 462326.565 0, 1451236.304 462299.997 0, 1450932.186 462273.447 0,
+ 1450628.067 462246.915 0, 1450323.946 462220.401 0, 1450019.824 462193.905 0, 1449715.7 462167.427 0, 1449411.575 462140.966 0, 1449107.448 462114.524 0, 1448803.319 462088.099 0, 1448499.189 462061.692 0, 1448195.058 462035.303 0, 1447890.924 462008.933 0,
+ 1447586.79 461982.58 0, 1447282.653 461956.244 0, 1446978.516 461929.927 0, 1446674.376 461903.628 0, 1446368.835 461877.226 0, 1446066.093 461851.083 0, 1445761.949 461824.837 0, 1445457.803 461798.61 0, 1445153.656 461772.4 0, 1444849.507 461746.208 0,
+ 1444545.357 461720.034 0, 1444241.205 461693.878 0, 1443937.052 461667.74 0, 1443632.897 461641.619 0, 1443328.741 461615.517 0, 1443024.583 461589.432 0, 1442720.424 461563.366 0, 1442416.263 461537.317 0, 1442112.1 461511.286 0, 1441807.936 461485.273 0,
+ 1441503.771 461459.278 0, 1441199.604 461433.301 0, 1440895.435 461407.342 0, 1440591.265 461381.401 0, 1440287.093 461355.478 0, 1439982.92 461329.572 0, 1439678.745 461303.684 0, 1439374.569 461277.815 0, 1439068.99 461251.844 0, 1438598.858 466785.475 0,
+ 1438128.689 472319.536 0, 1438433.614 472345.451 0, 1438737.139 472371.266 0, 1439040.662 472397.098 0, 1439344.184 472422.948 0, 1439647.704 472448.816 0, 1439951.223 472474.701 0, 1440254.74 472500.605 0, 1440558.256 472526.526 0, 1440861.77 472552.466 0,
+ 1441165.282 472578.423 0, 1441468.793 472604.398 0, 1441772.303 472630.391 0, 1442075.811 472656.402 0, 1442379.317 472682.43 0, 1442682.822 472708.477 0, 1442986.326 472734.541 0, 1443289.828 472760.623 0, 1443593.328 472786.724 0, 1443896.827 472812.841 0,
+ 1444200.324 472838.977 0, 1444503.82 472865.131 0, 1444807.314 472891.303 0, 1445110.807 472917.492 0, 1445412.901 472943.578 0, 1445717.788 472969.924 0, 1446021.276 472996.167 0, 1446324.762 473022.428 0, 1446628.247 473048.707 0, 1446931.731 473075.003 0,
+ 1447235.212 473101.318 0, 1447538.693 473127.65 0, 1447842.171 473154 0, 1448145.649 473180.368 0, 1448449.124 473206.754 0, 1448752.598 473233.158 0, 1449056.071 473259.58 0, 1449359.542 473286.019 0, 1449663.011 473312.477 0, 1449966.479 473338.952 0,
+ 1450269.946 473365.445 0, 1450573.41 473391.956 0, 1450876.873 473418.484 0, 1451180.335 473445.031 0, 1451483.795 473471.596 0, 1451787.254 473498.178 0, 1452090.711 473524.778 0, 1452394.166 473551.396 0, 1452696.224 473577.91 0, 1453182.025 468045.198 0,
+ 1453667.789 462512.918 0))
+
+POLYGON ((1467260.146 474877.434 0, 1466958.161 474850.067 0, 1466654.783 474822.592 0, 1466351.402 474795.134 0, 1466048.02 474767.695 0, 1465744.636 474740.273 0, 1465441.251 474712.869 0, 1465137.864 474685.483 0, 1464834.475 474658.115 0, 1464531.085 474630.765 0,
+ 1464227.693 474603.432 0, 1463924.299 474576.118 0, 1463620.904 474548.821 0, 1463317.507 474521.542 0, 1463014.109 474494.281 0, 1462710.709 474467.038 0, 1462407.308 474439.813 0, 1462103.905 474412.605 0, 1461800.5 474385.416 0, 1461497.094 474358.244 0,
+ 1461193.686 474331.09 0, 1460890.276 474303.954 0, 1460586.865 474276.836 0, 1460283.453 474249.736 0, 1459978.644 474222.529 0, 1459676.622 474195.589 0, 1459373.205 474168.542 0, 1459069.786 474141.513 0, 1458766.365 474114.502 0, 1458462.943 474087.509 0,
+ 1458159.519 474060.534 0, 1457856.094 474033.576 0, 1457552.667 474006.637 0, 1457249.238 473979.715 0, 1456945.808 473952.811 0, 1456642.376 473925.925 0, 1456338.943 473899.057 0, 1456035.508 473872.207 0, 1455732.071 473845.374 0, 1455428.633 473818.56 0,
+ 1455125.194 473791.763 0, 1454821.752 473764.984 0, 1454518.31 473738.223 0, 1454214.865 473711.48 0, 1453911.419 473684.755 0, 1453607.972 473658.047 0, 1453304.523 473631.358 0, 1453001.072 473604.686 0, 1452696.224 473577.91 0, 1452210.385 479111.049 0,
+ 1451724.508 484644.613 0, 1452028.702 484671.332 0, 1452331.501 484697.946 0, 1452634.299 484724.579 0, 1452937.095 484751.229 0, 1453239.89 484777.897 0, 1453542.683 484804.582 0, 1453845.474 484831.286 0, 1454148.264 484858.007 0, 1454451.052 484884.746 0,
+ 1454753.839 484911.503 0, 1455056.624 484938.278 0, 1455359.408 484965.071 0, 1455662.19 484991.881 0, 1455964.97 485018.71 0, 1456267.749 485045.556 0, 1456570.527 485072.42 0, 1456873.302 485099.301 0, 1457176.076 485126.201 0, 1457478.849 485153.118 0,
+ 1457781.62 485180.054 0, 1458084.389 485207.007 0, 1458387.157 485233.977 0, 1458689.923 485260.966 0, 1458991.296 485287.848 0, 1459295.451 485314.997 0, 1459598.212 485342.039 0, 1459900.972 485369.099 0, 1460203.73 485396.177 0, 1460506.487 485423.272 0,
+ 1460809.242 485450.386 0, 1461111.995 485477.517 0, 1461414.747 485504.666 0, 1461717.497 485531.833 0, 1462020.246 485559.018 0, 1462322.993 485586.22 0, 1462625.738 485613.44 0, 1462928.482 485640.679 0, 1463231.225 485667.935 0, 1463533.965 485695.208 0,
+ 1463836.704 485722.5 0, 1464139.442 485749.809 0, 1464442.177 485777.137 0, 1464744.912 485804.482 0, 1465047.644 485831.844 0, 1465350.375 485859.225 0, 1465653.105 485886.624 0, 1465955.832 485914.04 0, 1466257.168 485941.348 0, 1466758.676 480409.179 0,
+ 1467260.146 474877.434 0))
+
+POLYGON ((1480786.107 487279.135 0, 1480484.847 487250.976 0, 1480182.198 487222.704 0, 1479879.547 487194.451 0, 1479576.895 487166.215 0, 1479274.241 487137.997 0, 1478971.585 487109.796 0, 1478668.928 487081.614 0, 1478366.268 487053.449 0, 1478063.608 487025.303 0,
+ 1477760.945 486997.174 0, 1477458.281 486969.063 0, 1477155.616 486940.969 0, 1476852.948 486912.894 0, 1476550.279 486884.836 0, 1476247.609 486856.796 0, 1475944.936 486828.774 0, 1475642.263 486800.77 0, 1475339.587 486772.783 0, 1475036.91 486744.815 0,
+ 1474734.231 486716.864 0, 1474431.55 486688.931 0, 1474128.868 486661.016 0, 1473826.184 486633.118 0, 1473522.11 486605.111 0, 1473220.812 486577.377 0, 1472918.123 486549.533 0, 1472615.433 486521.707 0, 1472312.741 486493.899 0, 1472010.047 486466.108 0,
+ 1471707.352 486438.335 0, 1471404.655 486410.581 0, 1471101.956 486382.844 0, 1470799.256 486355.124 0, 1470496.554 486327.423 0, 1470193.851 486299.739 0, 1469891.146 486272.074 0, 1469588.439 486244.426 0, 1469285.731 486216.796 0, 1468983.021 486189.183 0,
+ 1468680.309 486161.589 0, 1468377.596 486134.012 0, 1468074.881 486106.453 0, 1467772.165 486078.912 0, 1467469.447 486051.389 0, 1467166.727 486023.883 0, 1466864.006 485996.396 0, 1466561.283 485968.926 0, 1466257.168 485941.348 0, 1465755.622 491473.939 0,
+ 1465254.038 497006.95 0, 1465557.498 497034.468 0, 1465859.57 497061.879 0, 1466161.64 497089.307 0, 1466463.708 497116.754 0, 1466765.775 497144.218 0, 1467067.84 497171.699 0, 1467369.904 497199.199 0, 1467671.966 497226.716 0, 1467974.026 497254.251 0,
+ 1468276.085 497281.804 0, 1468578.142 497309.375 0, 1468880.197 497336.964 0, 1469182.251 497364.57 0, 1469484.303 497392.194 0, 1469786.354 497419.836 0, 1470088.403 497447.495 0, 1470390.45 497475.173 0, 1470692.496 497502.868 0, 1470994.54 497530.581 0,
+ 1471296.582 497558.311 0, 1471598.623 497586.06 0, 1471900.662 497613.826 0, 1472202.7 497641.61 0, 1472503.349 497669.284 0, 1472806.77 497697.231 0, 1473108.802 497725.069 0, 1473410.833 497752.924 0, 1473712.863 497780.797 0, 1474014.89 497808.688 0,
+ 1474316.916 497836.596 0, 1474618.941 497864.522 0, 1474920.963 497892.466 0, 1475222.984 497920.428 0, 1475525.004 497948.408 0, 1475827.022 497976.405 0, 1476129.038 498004.42 0, 1476431.052 498032.453 0, 1476733.065 498060.504 0, 1477035.076 498088.572 0,
+ 1477337.086 498116.658 0, 1477639.094 498144.762 0, 1477941.1 498172.884 0, 1478243.105 498201.024 0, 1478545.108 498229.181 0, 1478847.109 498257.356 0, 1479149.109 498285.549 0, 1479451.107 498313.76 0, 1479751.718 498341.859 0, 1480268.932 492810.288 0,
+ 1480786.107 487279.135 0))
+
+POLYGON ((1494245.569 499717.721 0, 1493945.036 499688.772 0, 1493643.119 499659.709 0, 1493341.2 499630.663 0, 1493039.28 499601.635 0, 1492737.357 499572.624 0, 1492435.434 499543.631 0, 1492133.508 499514.657 0, 1491831.581 499485.699 0, 1491529.652 499456.76 0,
+ 1491227.721 499427.839 0, 1490925.789 499398.935 0, 1490623.854 499370.049 0, 1490321.919 499341.18 0, 1490019.981 499312.33 0, 1489718.042 499283.497 0, 1489416.101 499254.682 0, 1489114.158 499225.885 0, 1488812.214 499197.106 0, 1488510.268 499168.344 0,
+ 1488208.32 499139.6 0, 1487906.371 499110.874 0, 1487604.42 499082.166 0, 1487302.467 499053.475 0, 1486999.13 499024.671 0, 1486698.557 498996.148 0, 1486396.599 498967.51 0, 1486094.639 498938.891 0, 1485792.678 498910.289 0, 1485490.715 498881.705 0,
+ 1485188.751 498853.139 0, 1484886.785 498824.591 0, 1484584.817 498796.06 0, 1484282.847 498767.547 0, 1483980.876 498739.052 0, 1483678.903 498710.575 0, 1483376.928 498682.116 0, 1483074.952 498653.674 0, 1482772.974 498625.25 0, 1482470.995 498596.844 0,
+ 1482169.013 498568.455 0, 1481867.03 498540.085 0, 1481565.046 498511.732 0, 1481263.059 498483.397 0, 1480961.071 498455.079 0, 1480659.082 498426.78 0, 1480357.09 498398.498 0, 1480055.097 498370.234 0, 1479751.718 498341.859 0, 1479234.465 503873.845 0,
+ 1478717.174 509406.245 0, 1479019.899 509434.559 0, 1479321.241 509462.762 0, 1479622.581 509490.983 0, 1479923.919 509519.222 0, 1480225.256 509547.478 0, 1480526.591 509575.752 0, 1480827.925 509604.044 0, 1481129.256 509632.353 0, 1481430.586 509660.68 0,
+ 1481731.915 509689.025 0, 1482033.242 509717.388 0, 1482334.567 509745.768 0, 1482635.89 509774.166 0, 1482937.212 509802.582 0, 1483238.532 509831.016 0, 1483539.85 509859.467 0, 1483841.167 509887.936 0, 1484142.482 509916.423 0, 1484443.796 509944.927 0,
+ 1484745.107 509973.45 0, 1485046.417 510001.99 0, 1485347.726 510030.547 0, 1485649.032 510059.123 0, 1485948.957 510087.585 0, 1486251.641 510116.327 0, 1486552.942 510144.956 0, 1486854.242 510173.602 0, 1487155.54 510202.266 0, 1487456.837 510230.948 0,
+ 1487758.132 510259.648 0, 1488059.425 510288.365 0, 1488360.716 510317.1 0, 1488662.006 510345.853 0, 1488963.294 510374.624 0, 1489264.581 510403.412 0, 1489565.865 510432.218 0, 1489867.148 510461.042 0, 1490168.43 510489.883 0, 1490469.709 510518.742 0,
+ 1490770.987 510547.619 0, 1491072.263 510576.514 0, 1491373.538 510605.426 0, 1491674.811 510634.356 0, 1491976.082 510663.304 0, 1492277.351 510692.27 0, 1492578.619 510721.253 0, 1492879.885 510750.254 0, 1493179.77 510779.14 0, 1493712.69 505248.224 0,
+ 1494245.569 499717.721 0))
+
+POLYGON ((1507638.43 512192.889 0, 1507338.625 512163.156 0, 1507037.443 512133.304 0, 1506736.258 512103.47 0, 1506435.072 512073.653 0, 1506133.884 512043.854 0, 1505832.694 512014.073 0, 1505531.502 511984.31 0, 1505230.309 511954.564 0, 1504929.113 511924.836 0,
+ 1504627.917 511895.126 0, 1504326.718 511865.433 0, 1504025.518 511835.758 0, 1503724.315 511806.101 0, 1503423.112 511776.462 0, 1503121.906 511746.84 0, 1502820.699 511717.236 0, 1502519.49 511687.65 0, 1502218.279 511658.082 0, 1501917.066 511628.531 0,
+ 1501615.852 511598.998 0, 1501314.636 511569.483 0, 1501013.418 511539.985 0, 1500712.198 511510.506 0, 1500409.6 511480.909 0, 1500109.754 511451.599 0, 1499808.529 511422.173 0, 1499507.303 511392.764 0, 1499206.075 511363.373 0, 1498904.845 511333.999 0,
+ 1498603.613 511304.643 0, 1498302.38 511275.305 0, 1498001.145 511245.985 0, 1497699.908 511216.683 0, 1497398.669 511187.398 0, 1497097.429 511158.131 0, 1496796.187 511128.882 0, 1496494.943 511099.65 0, 1496193.698 511070.436 0, 1495892.451 511041.24 0,
+ 1495591.202 511012.062 0, 1495289.951 510982.901 0, 1494988.699 510953.758 0, 1494687.445 510924.633 0, 1494386.189 510895.526 0, 1494084.932 510866.436 0, 1493783.673 510837.364 0, 1493482.412 510808.31 0, 1493179.77 510779.14 0, 1492646.812 516310.466 0,
+ 1492113.814 521842.198 0, 1492415.801 521871.304 0, 1492716.411 521900.296 0, 1493017.019 521929.305 0, 1493317.625 521958.332 0, 1493618.23 521987.376 0, 1493918.832 522016.439 0, 1494219.434 522045.518 0, 1494520.033 522074.616 0, 1494820.631 522103.731 0,
+ 1495121.227 522132.864 0, 1495421.821 522162.015 0, 1495722.414 522191.184 0, 1496023.005 522220.37 0, 1496323.594 522249.573 0, 1496624.181 522278.795 0, 1496924.767 522308.034 0, 1497225.351 522337.291 0, 1497525.933 522366.565 0, 1497826.514 522395.858 0,
+ 1498127.093 522425.168 0, 1498427.67 522454.495 0, 1498728.245 522483.84 0, 1499028.819 522513.203 0, 1499328.016 522542.45 0, 1499629.961 522571.983 0, 1499930.53 522601.399 0, 1500231.096 522630.832 0, 1500531.661 522660.284 0, 1500832.225 522689.753 0,
+ 1501132.786 522719.24 0, 1501433.346 522748.744 0, 1501733.904 522778.267 0, 1502034.46 522807.806 0, 1502335.015 522837.364 0, 1502635.568 522866.939 0, 1502936.119 522896.532 0, 1503236.668 522926.143 0, 1503537.216 522955.771 0, 1503837.762 522985.417 0,
+ 1504138.306 523015.081 0, 1504438.848 523044.763 0, 1504739.389 523074.462 0, 1505039.928 523104.178 0, 1505340.465 523133.913 0, 1505641 523163.665 0, 1505941.534 523193.435 0, 1506242.066 523223.223 0, 1506541.223 523252.892 0, 1507089.847 517722.687 0,
+ 1507638.43 512192.889 0))
+
+POLYGON ((1520964.589 524704.34 0, 1520665.514 524673.825 0, 1520365.068 524643.189 0, 1520064.62 524612.57 0, 1519764.17 524581.969 0, 1519463.718 524551.385 0, 1519163.264 524520.82 0, 1518862.808 524490.272 0, 1518562.351 524459.741 0, 1518261.892 524429.228 0,
+ 1517961.431 524398.733 0, 1517660.968 524368.256 0, 1517360.504 524337.796 0, 1517060.037 524307.354 0, 1516759.569 524276.93 0, 1516459.099 524246.524 0, 1516158.628 524216.135 0, 1515858.154 524185.763 0, 1515557.679 524155.41 0, 1515257.202 524125.074 0,
+ 1514956.723 524094.756 0, 1514656.243 524064.455 0, 1514355.76 524034.173 0, 1514055.276 524003.907 0, 1513753.418 523973.522 0, 1513454.302 523943.43 0, 1513153.813 523913.218 0, 1512853.322 523883.024 0, 1512552.829 523852.847 0, 1512252.334 523822.688 0,
+ 1511951.837 523792.547 0, 1511651.339 523762.423 0, 1511350.839 523732.317 0, 1511050.337 523702.229 0, 1510749.833 523672.159 0, 1510449.327 523642.106 0, 1510148.82 523612.07 0, 1509848.311 523582.053 0, 1509547.8 523552.053 0, 1509247.288 523522.071 0,
+ 1508946.774 523492.107 0, 1508646.258 523462.16 0, 1508345.74 523432.231 0, 1508045.22 523402.319 0, 1507744.699 523372.426 0, 1507444.176 523342.55 0, 1507143.651 523312.691 0, 1506843.124 523282.851 0, 1506541.223 523252.892 0, 1505992.559 528783.499 0,
+ 1505443.855 534314.507 0, 1505745.102 534344.402 0, 1506044.978 534374.178 0, 1506344.852 534403.971 0, 1506644.724 534433.782 0, 1506944.594 534463.611 0, 1507244.463 534493.458 0, 1507544.33 534523.322 0, 1507844.195 534553.204 0, 1508144.058 534583.104 0,
+ 1508443.919 534613.021 0, 1508743.779 534642.956 0, 1509043.637 534672.908 0, 1509343.493 534702.878 0, 1509643.348 534732.866 0, 1509943.2 534762.871 0, 1510243.051 534792.894 0, 1510542.9 534822.935 0, 1510842.748 534852.994 0, 1511142.593 534883.07 0,
+ 1511442.437 534913.163 0, 1511742.279 534943.275 0, 1512042.12 534973.403 0, 1512341.958 535003.55 0, 1512640.426 535033.577 0, 1512941.63 535063.896 0, 1513241.463 535094.096 0, 1513541.295 535124.313 0, 1513841.124 535154.548 0, 1514140.952 535184.8 0,
+ 1514440.778 535215.07 0, 1514740.602 535245.358 0, 1515040.425 535275.664 0, 1515340.246 535305.987 0, 1515640.065 535336.327 0, 1515939.882 535366.686 0, 1516239.697 535397.062 0, 1516539.511 535427.456 0, 1516839.323 535457.867 0, 1517139.133 535488.296 0,
+ 1517438.941 535518.742 0, 1517738.747 535549.207 0, 1518038.552 535579.689 0, 1518338.355 535610.188 0, 1518638.156 535640.705 0, 1518937.955 535671.24 0, 1519237.752 535701.793 0, 1519537.548 535732.363 0, 1519835.974 535762.811 0, 1520400.302 530233.375 0,
+ 1520964.589 524704.34 0))
+
+POLYGON ((1534223.944 537251.769 0, 1533925.603 537220.478 0, 1533625.895 537189.061 0, 1533326.185 537157.661 0, 1533026.473 537126.28 0, 1532726.76 537094.916 0, 1532427.044 537063.569 0, 1532127.327 537032.24 0, 1531827.608 537000.929 0, 1531527.887 536969.636 0,
+ 1531228.164 536938.36 0, 1530928.439 536907.102 0, 1530628.713 536875.861 0, 1530328.984 536844.638 0, 1530029.254 536813.433 0, 1529729.522 536782.245 0, 1529429.788 536751.075 0, 1529130.053 536719.923 0, 1528830.315 536688.788 0, 1528530.576 536657.671 0,
+ 1528230.834 536626.572 0, 1527931.091 536595.49 0, 1527631.347 536564.426 0, 1527331.6 536533.379 0, 1527030.485 536502.209 0, 1526732.101 536471.339 0, 1526432.349 536440.346 0, 1526132.595 536409.37 0, 1525832.839 536378.411 0, 1525533.081 536347.471 0,
+ 1525233.322 536316.548 0, 1524933.561 536285.642 0, 1524633.798 536254.755 0, 1524334.033 536223.884 0, 1524034.266 536193.032 0, 1523734.497 536162.197 0, 1523434.727 536131.38 0, 1523134.955 536100.581 0, 1522835.181 536069.799 0, 1522535.405 536039.034 0,
+ 1522235.628 536008.288 0, 1521935.848 535977.559 0, 1521636.067 535946.848 0, 1521336.284 535916.154 0, 1521036.499 535885.478 0, 1520736.713 535854.82 0, 1520436.924 535824.179 0, 1520137.134 535793.556 0, 1519835.974 535762.811 0, 1519271.606 541292.644 0,
+ 1518707.198 546822.871 0, 1519007.703 546853.549 0, 1519306.843 546884.106 0, 1519605.98 546914.68 0, 1519905.116 546945.272 0, 1520204.25 546975.881 0, 1520503.382 547006.508 0, 1520802.512 547037.153 0, 1521101.64 547067.815 0, 1521400.767 547098.495 0,
+ 1521699.892 547129.192 0, 1521999.015 547159.907 0, 1522298.136 547190.64 0, 1522597.256 547221.39 0, 1522896.373 547252.158 0, 1523195.489 547282.943 0, 1523494.603 547313.746 0, 1523793.715 547344.567 0, 1524092.826 547375.405 0, 1524391.934 547406.261 0,
+ 1524691.041 547437.135 0, 1524990.146 547468.026 0, 1525289.249 547498.934 0, 1525588.35 547529.861 0, 1525886.086 547560.663 0, 1526186.547 547591.766 0, 1526485.643 547622.745 0, 1526784.737 547653.742 0, 1527083.829 547684.756 0, 1527382.919 547715.788 0,
+ 1527682.008 547746.838 0, 1527981.095 547777.905 0, 1528280.18 547808.989 0, 1528579.263 547840.092 0, 1528878.344 547871.212 0, 1529177.423 547902.349 0, 1529476.501 547933.504 0, 1529775.576 547964.677 0, 1530074.65 547995.867 0, 1530373.722 548027.075 0,
+ 1530672.792 548058.301 0, 1530971.861 548089.544 0, 1531270.927 548120.805 0, 1531569.992 548152.083 0, 1531869.055 548183.379 0, 1532168.116 548214.693 0, 1532467.175 548246.024 0, 1532766.232 548277.373 0, 1533063.926 548308.596 0, 1533643.956 542779.986 0,
+ 1534223.944 537251.769 0))
+
+POLYGON ((1547416.399 549834.875 0, 1547118.792 549802.811 0, 1546819.825 549770.617 0, 1546520.855 549738.441 0, 1546221.884 549706.283 0, 1545922.911 549674.142 0, 1545623.936 549642.019 0, 1545324.959 549609.914 0, 1545025.98 549577.826 0, 1544726.999 549545.755 0,
+ 1544428.017 549513.703 0, 1544129.032 549481.667 0, 1543830.046 549449.65 0, 1543531.057 549417.65 0, 1543232.067 549385.668 0, 1542933.075 549353.703 0, 1542634.081 549321.756 0, 1542335.085 549289.826 0, 1542036.087 549257.914 0, 1541737.088 549226.02 0,
+ 1541438.086 549194.143 0, 1541139.083 549162.284 0, 1540840.078 549130.442 0, 1540541.071 549098.618 0, 1540240.701 549066.667 0, 1539943.051 549035.023 0, 1539644.038 549003.252 0, 1539345.024 548971.498 0, 1539046.007 548939.762 0, 1538746.989 548908.044 0,
+ 1538447.969 548876.343 0, 1538148.947 548844.66 0, 1537849.923 548812.994 0, 1537550.897 548781.347 0, 1537251.869 548749.716 0, 1536952.84 548718.103 0, 1536653.809 548686.508 0, 1536354.775 548654.931 0, 1536055.74 548623.371 0, 1535756.703 548591.828 0,
+ 1535457.665 548560.303 0, 1535158.624 548528.796 0, 1534859.581 548497.307 0, 1534560.537 548465.835 0, 1534261.491 548434.38 0, 1533962.443 548402.944 0, 1533663.393 548371.524 0, 1533364.341 548340.123 0, 1533063.926 548308.596 0, 1532483.854 553837.597 0,
+ 1531903.743 559366.987 0, 1532203.504 559398.445 0, 1532501.905 559429.778 0, 1532800.304 559461.129 0, 1533098.702 559492.497 0, 1533397.097 559523.883 0, 1533695.49 559555.287 0, 1533993.882 559586.708 0, 1534292.272 559618.146 0, 1534590.66 559649.602 0,
+ 1534889.046 559681.076 0, 1535187.43 559712.567 0, 1535485.813 559744.076 0, 1535784.193 559775.603 0, 1536082.572 559807.147 0, 1536380.949 559838.708 0, 1536679.324 559870.287 0, 1536977.697 559901.884 0, 1537276.068 559933.498 0, 1537574.437 559965.13 0,
+ 1537872.805 559996.779 0, 1538171.17 560028.446 0, 1538469.534 560060.131 0, 1538767.896 560091.833 0, 1539064.899 560123.408 0, 1539364.614 560155.289 0, 1539662.971 560187.044 0, 1539961.325 560218.816 0, 1540259.678 560250.606 0, 1540558.028 560282.414 0,
+ 1540856.377 560314.239 0, 1541154.724 560346.081 0, 1541453.069 560377.941 0, 1541751.413 560409.819 0, 1542049.754 560441.714 0, 1542348.093 560473.627 0, 1542646.431 560505.557 0, 1542944.767 560537.505 0, 1543243.1 560569.47 0, 1543541.432 560601.453 0,
+ 1543839.762 560633.454 0, 1544138.091 560665.472 0, 1544436.417 560697.508 0, 1544734.741 560729.561 0, 1545033.064 560761.632 0, 1545331.384 560793.72 0, 1545629.703 560825.826 0, 1545928.02 560857.949 0, 1546224.979 560889.944 0, 1546820.71 555362.216 0,
+ 1547416.399 549834.875 0))
+
+POLYGON ((1560541.855 562453.356 0, 1560244.985 562420.522 0, 1559946.761 562387.556 0, 1559648.534 562354.607 0, 1559350.305 562321.676 0, 1559052.074 562288.763 0, 1558753.842 562255.867 0, 1558455.607 562222.988 0, 1558157.37 562190.128 0, 1557859.132 562157.284 0,
+ 1557560.892 562124.459 0, 1557262.649 562091.651 0, 1556964.405 562058.86 0, 1556666.159 562026.087 0, 1556367.911 561993.331 0, 1556069.661 561960.593 0, 1555771.409 561927.873 0, 1555473.155 561895.17 0, 1555174.899 561862.485 0, 1554876.641 561829.817 0,
+ 1554578.382 561797.167 0, 1554280.12 561764.535 0, 1553981.857 561731.919 0, 1553683.591 561699.322 0, 1553383.969 561666.594 0, 1553087.055 561634.18 0, 1552788.783 561601.635 0, 1552490.51 561569.108 0, 1552192.235 561536.598 0, 1551893.958 561504.106 0,
+ 1551595.68 561471.631 0, 1551297.399 561439.174 0, 1550999.116 561406.735 0, 1550700.832 561374.313 0, 1550402.545 561341.908 0, 1550104.257 561309.521 0, 1549805.967 561277.152 0, 1549507.674 561244.8 0, 1549209.38 561212.466 0, 1548911.084 561180.15 0,
+ 1548612.786 561147.851 0, 1548314.487 561115.569 0, 1548016.185 561083.305 0, 1547717.881 561051.059 0, 1547419.576 561018.83 0, 1547121.268 560986.619 0, 1546822.959 560954.425 0, 1546524.648 560922.249 0, 1546224.979 560889.944 0, 1545629.206 566418.057 0,
+ 1545033.393 571946.551 0, 1545332.408 571978.786 0, 1545630.069 572010.892 0, 1545927.727 572043.015 0, 1546225.384 572075.156 0, 1546523.039 572107.315 0, 1546820.691 572139.491 0, 1547118.342 572171.684 0, 1547415.991 572203.895 0, 1547713.639 572236.124 0,
+ 1548011.284 572268.37 0, 1548308.927 572300.633 0, 1548606.569 572332.915 0, 1548904.208 572365.213 0, 1549201.846 572397.529 0, 1549499.482 572429.863 0, 1549797.115 572462.214 0, 1550094.747 572494.583 0, 1550392.377 572526.969 0, 1550690.006 572559.373 0,
+ 1550987.632 572591.794 0, 1551285.256 572624.233 0, 1551582.879 572656.689 0, 1551880.499 572689.163 0, 1552176.766 572721.507 0, 1552475.734 572754.164 0, 1552773.349 572786.69 0, 1553070.962 572819.234 0, 1553368.573 572851.795 0, 1553666.182 572884.374 0,
+ 1553963.789 572916.971 0, 1554261.394 572949.585 0, 1554558.997 572982.216 0, 1554856.599 573014.865 0, 1555154.198 573047.532 0, 1555451.796 573080.216 0, 1555749.391 573112.917 0, 1556046.985 573145.636 0, 1556344.576 573178.373 0, 1556642.166 573211.127 0,
+ 1556939.754 573243.898 0, 1557237.34 573276.688 0, 1557534.924 573309.494 0, 1557832.506 573342.318 0, 1558130.086 573375.16 0, 1558427.664 573408.019 0, 1558725.241 573440.896 0, 1559022.815 573473.79 0, 1559319.037 573506.552 0, 1559930.467 567979.763 0,
+ 1560541.855 562453.356 0))
+
+POLYGON ((1573600.216 575106.907 0, 1573304.086 575073.308 0, 1573006.606 575039.573 0, 1572709.124 575005.855 0, 1572411.64 574972.156 0, 1572114.153 574938.473 0, 1571816.665 574904.809 0, 1571519.175 574871.161 0, 1571221.683 574837.532 0, 1570924.189 574803.919 0,
+ 1570626.693 574770.325 0, 1570329.195 574736.748 0, 1570031.695 574703.188 0, 1569734.193 574669.646 0, 1569436.689 574636.121 0, 1569139.183 574602.614 0, 1568841.675 574569.124 0, 1568544.165 574535.652 0, 1568246.653 574502.197 0, 1567949.14 574468.76 0,
+ 1567651.624 574435.341 0, 1567354.106 574401.939 0, 1567056.586 574368.554 0, 1566759.065 574335.187 0, 1566460.192 574301.686 0, 1566164.015 574268.505 0, 1565866.488 574235.191 0, 1565568.958 574201.894 0, 1565271.427 574168.614 0, 1564973.893 574135.352 0,
+ 1564676.358 574102.108 0, 1564378.821 574068.881 0, 1564081.281 574035.671 0, 1563783.74 574002.48 0, 1563486.197 573969.305 0, 1563188.652 573936.148 0, 1562891.105 573903.009 0, 1562593.555 573869.887 0, 1562296.004 573836.782 0, 1561998.451 573803.696 0,
+ 1561700.897 573770.626 0, 1561403.34 573737.574 0, 1561105.781 573704.54 0, 1560808.22 573671.523 0, 1560510.657 573638.524 0, 1560213.093 573605.542 0, 1559915.526 573572.578 0, 1559617.958 573539.631 0, 1559319.037 573506.552 0, 1558707.565 579033.72 0,
+ 1558096.051 584561.262 0, 1558394.319 584594.269 0, 1558691.237 584627.143 0, 1558988.152 584660.035 0, 1559285.066 584692.945 0, 1559581.978 584725.872 0, 1559878.889 584758.817 0, 1560175.797 584791.779 0, 1560472.703 584824.759 0, 1560769.607 584857.756 0,
+ 1561066.51 584890.77 0, 1561363.41 584923.802 0, 1561660.308 584956.852 0, 1561957.205 584989.919 0, 1562254.1 585023.003 0, 1562550.992 585056.105 0, 1562847.883 585089.224 0, 1563144.772 585122.361 0, 1563441.658 585155.515 0, 1563738.543 585188.687 0,
+ 1564035.426 585221.876 0, 1564332.307 585255.083 0, 1564629.186 585288.307 0, 1564926.063 585321.549 0, 1565221.592 585354.657 0, 1565519.811 585388.085 0, 1565816.682 585421.379 0, 1566113.551 585454.691 0, 1566410.419 585488.02 0, 1566707.284 585521.366 0,
+ 1567004.147 585554.73 0, 1567301.008 585588.112 0, 1567597.868 585621.511 0, 1567894.725 585654.927 0, 1568191.58 585688.361 0, 1568488.434 585721.812 0, 1568785.285 585755.281 0, 1569082.135 585788.767 0, 1569378.982 585822.271 0, 1569675.828 585855.792 0,
+ 1569972.672 585889.331 0, 1570269.513 585922.887 0, 1570566.353 585956.461 0, 1570863.191 585990.052 0, 1571160.026 586023.661 0, 1571456.86 586057.287 0, 1571753.692 586090.93 0, 1572050.521 586124.591 0, 1572346.004 586158.117 0, 1572973.132 580632.325 0,
+ 1573600.216 575106.907 0))
+
+POLYGON ((1586591.389 587795.225 0, 1586296 587760.864 0, 1585999.266 587726.364 0, 1585702.531 587691.882 0, 1585405.793 587657.418 0, 1585109.054 587622.971 0, 1584812.312 587588.541 0, 1584515.569 587554.129 0, 1584218.823 587519.734 0, 1583922.075 587485.357 0,
+ 1583625.326 587450.997 0, 1583328.574 587416.655 0, 1583031.82 587382.33 0, 1582735.064 587348.023 0, 1582438.307 587313.733 0, 1582141.547 587279.461 0, 1581844.785 587245.206 0, 1581548.021 587210.968 0, 1581251.255 587176.748 0, 1580954.488 587142.545 0,
+ 1580657.718 587108.36 0, 1580360.946 587074.193 0, 1580064.172 587040.043 0, 1579767.396 587005.91 0, 1579469.275 586971.64 0, 1579173.838 586937.697 0, 1578877.057 586903.617 0, 1578580.273 586869.554 0, 1578283.487 586835.508 0, 1577986.699 586801.481 0,
+ 1577689.909 586767.47 0, 1577393.117 586733.477 0, 1577096.323 586699.502 0, 1576799.527 586665.544 0, 1576502.729 586631.603 0, 1576205.929 586597.68 0, 1575909.127 586563.775 0, 1575612.323 586529.886 0, 1575315.518 586496.016 0, 1575018.71 586462.163 0,
+ 1574721.9 586428.327 0, 1574425.088 586394.509 0, 1574128.274 586360.708 0, 1573831.458 586326.924 0, 1573534.64 586293.159 0, 1573237.821 586259.41 0, 1572940.999 586225.679 0, 1572644.175 586191.966 0, 1572346.004 586158.117 0, 1571718.835 591684.282 0,
+ 1571091.623 597210.815 0, 1571389.14 597244.59 0, 1571685.314 597278.229 0, 1571981.485 597311.886 0, 1572277.654 597345.561 0, 1572573.822 597379.253 0, 1572869.987 597412.962 0, 1573166.15 597446.689 0, 1573462.312 597480.433 0, 1573758.471 597514.194 0,
+ 1574054.628 597547.973 0, 1574350.784 597581.77 0, 1574646.937 597615.584 0, 1574943.089 597649.415 0, 1575239.238 597683.264 0, 1575535.386 597717.13 0, 1575831.531 597751.013 0, 1576127.674 597784.914 0, 1576423.816 597818.833 0, 1576719.955 597852.769 0,
+ 1577016.093 597886.722 0, 1577312.228 597920.693 0, 1577608.362 597954.681 0, 1577904.493 597988.686 0, 1578199.282 598022.555 0, 1578496.75 598056.75 0, 1578792.876 598090.808 0, 1579088.999 598124.883 0, 1579385.12 598158.976 0, 1579681.24 598193.086 0,
+ 1579977.357 598227.214 0, 1580273.473 598261.359 0, 1580569.586 598295.521 0, 1580865.697 598329.701 0, 1581161.807 598363.898 0, 1581457.914 598398.113 0, 1581754.02 598432.345 0, 1582050.123 598466.595 0, 1582346.224 598500.862 0, 1582642.324 598535.146 0,
+ 1582938.421 598569.448 0, 1583234.516 598603.767 0, 1583530.609 598638.104 0, 1583826.701 598672.458 0, 1584122.79 598706.83 0, 1584418.877 598741.219 0, 1584714.962 598775.625 0, 1585011.045 598810.049 0, 1585305.787 598844.335 0, 1585948.609 593319.595 0,
+ 1586591.389 587795.225 0))
+
+POLYGON ((1599515.279 600518.005 0, 1599220.633 600482.887 0, 1598924.648 600447.627 0, 1598628.662 600412.384 0, 1598332.673 600377.159 0, 1598036.682 600341.951 0, 1597740.689 600306.76 0, 1597444.694 600271.587 0, 1597148.697 600236.431 0, 1596852.698 600201.293 0,
+ 1596556.696 600166.172 0, 1596260.693 600131.069 0, 1595964.688 600095.983 0, 1595668.68 600060.914 0, 1595372.671 600025.863 0, 1595076.659 599990.829 0, 1594780.645 599955.813 0, 1594484.63 599920.814 0, 1594188.612 599885.833 0, 1593892.592 599850.868 0,
+ 1593596.57 599815.922 0, 1593300.546 599780.993 0, 1593004.52 599746.081 0, 1592708.492 599711.187 0, 1592411.124 599676.152 0, 1592116.43 599641.45 0, 1591820.396 599606.608 0, 1591524.359 599571.783 0, 1591228.321 599536.976 0, 1590932.281 599502.186 0,
+ 1590636.238 599467.414 0, 1590340.194 599432.659 0, 1590044.147 599397.921 0, 1589748.099 599363.201 0, 1589452.048 599328.499 0, 1589155.996 599293.813 0, 1588859.941 599259.145 0, 1588563.884 599224.495 0, 1588267.826 599189.862 0, 1587971.765 599155.247 0,
+ 1587675.702 599120.648 0, 1587379.637 599086.068 0, 1587083.57 599051.504 0, 1586787.501 599016.959 0, 1586491.43 598982.43 0, 1586195.357 598947.919 0, 1585899.282 598913.426 0, 1585603.205 598878.949 0, 1585305.787 598844.335 0, 1584662.922 604369.44 0,
+ 1584020.015 609894.907 0, 1584316.78 609929.445 0, 1584612.207 609963.846 0, 1584907.631 609998.264 0, 1585203.054 610032.699 0, 1585498.474 610067.151 0, 1585793.893 610101.621 0, 1586089.309 610136.109 0, 1586384.724 610170.613 0, 1586680.136 610205.136 0,
+ 1586975.547 610239.675 0, 1587270.955 610274.232 0, 1587566.362 610308.806 0, 1587861.766 610343.398 0, 1588157.168 610378.007 0, 1588452.568 610412.634 0, 1588747.966 610447.277 0, 1589043.363 610481.939 0, 1589338.757 610516.617 0, 1589634.149 610551.313 0,
+ 1589929.539 610586.027 0, 1590224.927 610620.757 0, 1590520.313 610655.506 0, 1590815.697 610690.271 0, 1591109.743 610724.897 0, 1591406.458 610759.854 0, 1591701.836 610794.672 0, 1591997.212 610829.507 0, 1592292.585 610864.36 0, 1592587.957 610899.229 0,
+ 1592883.327 610934.117 0, 1593178.694 610969.021 0, 1593474.059 611003.943 0, 1593769.423 611038.883 0, 1594064.784 611073.84 0, 1594360.143 611108.814 0, 1594655.501 611143.805 0, 1594950.856 611178.814 0, 1595246.209 611213.84 0, 1595541.56 611248.884 0,
+ 1595836.909 611283.945 0, 1596132.256 611319.024 0, 1596427.601 611354.12 0, 1596722.943 611389.233 0, 1597018.284 611424.363 0, 1597313.623 611459.511 0, 1597608.959 611494.677 0, 1597904.294 611529.86 0, 1598198.292 611564.901 0, 1598856.807 606041.272 0,
+ 1599515.279 600518.005 0))
+
+POLYGON ((1612371.795 613274.944 0, 1612077.894 613239.072 0, 1611782.66 613203.055 0, 1611487.424 613167.056 0, 1611192.186 613131.073 0, 1610896.946 613095.109 0, 1610601.704 613059.161 0, 1610306.459 613023.231 0, 1610011.213 612987.318 0, 1609715.964 612951.423 0,
+ 1609420.713 612915.545 0, 1609125.46 612879.684 0, 1608830.205 612843.841 0, 1608534.948 612808.015 0, 1608239.689 612772.207 0, 1607944.427 612736.416 0, 1607649.164 612700.642 0, 1607353.898 612664.886 0, 1607058.63 612629.147 0, 1606763.361 612593.425 0,
+ 1606468.089 612557.721 0, 1606172.815 612522.034 0, 1605877.539 612486.365 0, 1605582.26 612450.713 0, 1605285.648 612414.917 0, 1604991.698 612379.461 0, 1604696.413 612343.861 0, 1604401.127 612308.278 0, 1604105.838 612272.713 0, 1603810.547 612237.165 0,
+ 1603515.254 612201.635 0, 1603219.959 612166.122 0, 1602924.662 612130.626 0, 1602629.363 612095.148 0, 1602334.062 612059.687 0, 1602038.759 612024.243 0, 1601743.453 611988.817 0, 1601448.146 611953.409 0, 1601152.836 611918.017 0, 1600857.524 611882.643 0,
+ 1600562.211 611847.287 0, 1600266.895 611811.947 0, 1599971.577 611776.626 0, 1599676.257 611741.321 0, 1599380.935 611706.034 0, 1599085.611 611670.764 0, 1598790.285 611635.512 0, 1598494.956 611600.277 0, 1598198.292 611564.901 0, 1597539.735 617088.889 0,
+ 1596881.134 622613.232 0, 1597177.145 622648.531 0, 1597471.823 622683.688 0, 1597766.499 622718.863 0, 1598061.173 622754.055 0, 1598355.845 622789.264 0, 1598650.515 622824.491 0, 1598945.182 622859.735 0, 1599239.848 622894.997 0, 1599534.511 622930.275 0,
+ 1599829.173 622965.571 0, 1600123.832 623000.885 0, 1600418.489 623036.216 0, 1600713.144 623071.564 0, 1601007.797 623106.929 0, 1601302.448 623142.312 0, 1601597.097 623177.712 0, 1601891.744 623213.13 0, 1602186.389 623248.564 0, 1602481.032 623284.016 0,
+ 1602775.672 623319.486 0, 1603070.311 623354.973 0, 1603364.947 623390.477 0, 1603659.581 623425.999 0, 1603952.884 623461.377 0, 1604248.844 623497.094 0, 1604543.472 623532.667 0, 1604838.098 623568.258 0, 1605132.722 623603.866 0, 1605427.343 623639.492 0,
+ 1605721.963 623675.135 0, 1606016.581 623710.795 0, 1606311.196 623746.473 0, 1606605.809 623782.168 0, 1606900.421 623817.88 0, 1607195.03 623853.61 0, 1607489.637 623889.357 0, 1607784.242 623925.121 0, 1608078.845 623960.902 0, 1608373.445 623996.701 0,
+ 1608668.044 624032.518 0, 1608962.641 624068.351 0, 1609257.235 624104.202 0, 1609551.827 624140.071 0, 1609846.417 624175.956 0, 1610141.005 624211.859 0, 1610435.591 624247.78 0, 1610730.175 624283.718 0, 1611023.429 624319.51 0, 1611697.634 618797.049 0,
+ 1612371.795 613274.944 0))
+
+POLYGON ((1625160.846 626065.736 0, 1624867.693 626029.115 0, 1624573.212 625992.345 0, 1624278.728 625955.592 0, 1623984.243 625918.857 0, 1623689.755 625882.14 0, 1623395.265 625845.439 0, 1623100.774 625808.756 0, 1622806.279 625772.09 0, 1622511.783 625735.442 0,
+ 1622217.285 625698.81 0, 1621922.784 625662.197 0, 1621628.281 625625.6 0, 1621333.777 625589.021 0, 1621039.27 625552.459 0, 1620744.76 625515.915 0, 1620450.249 625479.388 0, 1620155.736 625442.878 0, 1619861.22 625406.385 0, 1619566.702 625369.91 0,
+ 1619272.182 625333.452 0, 1618977.66 625297.012 0, 1618683.136 625260.589 0, 1618388.61 625224.183 0, 1618092.754 625187.631 0, 1617799.55 625151.424 0, 1617505.018 625115.07 0, 1617210.483 625078.733 0, 1616915.946 625042.414 0, 1616621.406 625006.112 0,
+ 1616326.865 624969.828 0, 1616032.322 624933.561 0, 1615737.776 624897.311 0, 1615443.228 624861.079 0, 1615148.678 624824.864 0, 1614854.126 624788.666 0, 1614559.572 624752.485 0, 1614265.016 624716.322 0, 1613970.458 624680.177 0, 1613675.897 624644.048 0,
+ 1613381.335 624607.937 0, 1613086.77 624571.843 0, 1612792.203 624535.767 0, 1612497.634 624499.708 0, 1612203.063 624463.666 0, 1611908.489 624427.642 0, 1611613.914 624391.635 0, 1611319.337 624355.645 0, 1611023.429 624319.51 0, 1610349.181 629842.324 0,
+ 1609674.891 635365.487 0, 1609970.145 635401.542 0, 1610264.072 635437.452 0, 1610557.998 635473.38 0, 1610851.921 635509.324 0, 1611145.842 635545.287 0, 1611439.761 635581.266 0, 1611733.678 635617.263 0, 1612027.592 635653.277 0, 1612321.505 635689.308 0,
+ 1612615.415 635725.357 0, 1612909.323 635761.423 0, 1613203.23 635797.506 0, 1613497.134 635833.607 0, 1613791.036 635869.725 0, 1614084.935 635905.86 0, 1614378.833 635942.012 0, 1614672.729 635978.182 0, 1614966.622 636014.369 0, 1615260.513 636050.574 0,
+ 1615554.402 636086.795 0, 1615848.289 636123.034 0, 1616142.174 636159.29 0, 1616436.057 636195.564 0, 1616728.614 636231.691 0, 1617023.816 636268.163 0, 1617317.692 636304.488 0, 1617611.567 636340.831 0, 1617905.439 636377.191 0, 1618199.309 636413.569 0,
+ 1618493.176 636449.963 0, 1618787.042 636486.375 0, 1619080.905 636522.804 0, 1619374.767 636559.251 0, 1619668.626 636595.715 0, 1619962.483 636632.196 0, 1620256.338 636668.694 0, 1620550.191 636705.21 0, 1620844.041 636741.743 0, 1621137.89 636778.293 0,
+ 1621431.736 636814.861 0, 1621725.58 636851.446 0, 1622019.422 636888.048 0, 1622313.262 636924.667 0, 1622607.1 636961.304 0, 1622900.935 636997.958 0, 1623194.769 637034.629 0, 1623488.6 637071.318 0, 1623781.107 637107.859 0, 1624470.998 631586.623 0,
+ 1625160.846 626065.736 0))
+
+POLYGON ((1637882.344 638890.076 0, 1637589.939 638852.709 0, 1637296.213 638815.191 0, 1637002.484 638777.689 0, 1636708.753 638740.205 0, 1636415.02 638702.738 0, 1636121.285 638665.289 0, 1635827.548 638627.857 0, 1635533.808 638590.442 0, 1635240.066 638553.044 0,
+ 1634946.322 638515.664 0, 1634652.576 638478.301 0, 1634358.828 638440.955 0, 1634065.077 638403.627 0, 1633771.324 638366.315 0, 1633477.569 638329.022 0, 1633183.812 638291.745 0, 1632890.053 638254.486 0, 1632596.291 638217.244 0, 1632302.527 638180.019 0,
+ 1632008.761 638142.812 0, 1631714.993 638105.621 0, 1631421.223 638068.449 0, 1631127.45 638031.293 0, 1630832.355 637993.988 0, 1630539.899 637957.034 0, 1630246.12 637919.93 0, 1629952.338 637882.844 0, 1629658.555 637845.775 0, 1629364.769 637808.723 0,
+ 1629070.981 637771.688 0, 1628777.191 637734.671 0, 1628483.399 637697.671 0, 1628189.605 637660.689 0, 1627895.808 637623.723 0, 1627602.01 637586.775 0, 1627308.209 637549.844 0, 1627014.406 637512.931 0, 1626720.6 637476.035 0, 1626426.793 637439.156 0,
+ 1626132.983 637402.294 0, 1625839.172 637365.45 0, 1625545.358 637328.623 0, 1625251.542 637291.813 0, 1624957.724 637255.021 0, 1624663.903 637218.246 0, 1624370.081 637181.488 0, 1624076.256 637144.747 0, 1623781.107 637107.859 0, 1623091.172 642629.441 0,
+ 1622401.194 648151.366 0, 1622695.69 648188.172 0, 1622988.865 648224.832 0, 1623282.037 648261.508 0, 1623575.208 648298.202 0, 1623868.376 648334.913 0, 1624161.542 648371.641 0, 1624454.706 648408.387 0, 1624747.868 648445.15 0, 1625041.027 648481.93 0,
+ 1625334.185 648518.727 0, 1625627.34 648555.541 0, 1625920.493 648592.373 0, 1626213.644 648629.222 0, 1626506.793 648666.089 0, 1626799.94 648702.972 0, 1627093.084 648739.873 0, 1627386.226 648776.791 0, 1627679.366 648813.726 0, 1627972.504 648850.679 0,
+ 1628265.64 648887.649 0, 1628558.774 648924.636 0, 1628851.905 648961.64 0, 1629145.034 648998.662 0, 1629436.843 649035.534 0, 1629731.286 649072.757 0, 1630024.409 649109.83 0, 1630317.529 649146.921 0, 1630610.647 649184.029 0, 1630903.764 649221.154 0,
+ 1631196.878 649258.296 0, 1631489.989 649295.456 0, 1631783.099 649332.633 0, 1632076.206 649369.827 0, 1632369.311 649407.038 0, 1632662.414 649444.267 0, 1632955.515 649481.513 0, 1633248.614 649518.776 0, 1633541.71 649556.056 0, 1633834.804 649593.354 0,
+ 1634127.896 649630.669 0, 1634420.986 649668.001 0, 1634714.074 649705.35 0, 1635007.159 649742.717 0, 1635300.242 649780.101 0, 1635593.323 649817.502 0, 1635886.402 649854.92 0, 1636179.479 649892.356 0, 1636471.237 649929.64 0, 1637176.812 644409.687 0,
+ 1637882.344 638890.076 0))
+
+POLYGON ((1650536.199 651747.659 0, 1650244.546 651709.55 0, 1649951.576 651671.286 0, 1649658.604 651633.04 0, 1649365.63 651594.811 0, 1649072.654 651556.599 0, 1648779.675 651518.405 0, 1648486.694 651480.228 0, 1648193.711 651442.068 0, 1647900.725 651403.925 0,
+ 1647607.738 651365.799 0, 1647314.748 651327.691 0, 1647021.756 651289.6 0, 1646728.761 651251.526 0, 1646435.765 651213.47 0, 1646142.766 651175.43 0, 1645849.765 651137.408 0, 1645556.761 651099.403 0, 1645263.756 651061.416 0, 1644970.748 651023.446 0,
+ 1644677.738 650985.492 0, 1644384.726 650947.557 0, 1644091.711 650909.638 0, 1643798.694 650871.737 0, 1643504.36 650833.683 0, 1643212.654 650795.986 0, 1642919.631 650758.136 0, 1642626.605 650720.304 0, 1642333.577 650682.489 0, 1642040.547 650644.691 0,
+ 1641747.515 650606.91 0, 1641454.48 650569.147 0, 1641161.443 650531.401 0, 1640868.404 650493.672 0, 1640575.363 650455.96 0, 1640282.32 650418.266 0, 1639989.274 650380.589 0, 1639696.226 650342.929 0, 1639403.176 650305.286 0, 1639110.124 650267.661 0,
+ 1638817.069 650230.053 0, 1638524.012 650192.462 0, 1638230.953 650154.888 0, 1637937.892 650117.332 0, 1637644.829 650079.793 0, 1637351.763 650042.271 0, 1637058.695 650004.766 0, 1636765.625 649967.279 0, 1636471.237 649929.64 0, 1635765.618 655449.933 0,
+ 1635059.956 660970.562 0, 1635353.692 661008.117 0, 1635646.112 661045.522 0, 1635938.53 661082.943 0, 1636230.946 661120.382 0, 1636523.359 661157.838 0, 1636815.771 661195.311 0, 1637108.18 661232.801 0, 1637400.587 661270.309 0, 1637692.991 661307.833 0,
+ 1637985.394 661345.375 0, 1638277.794 661382.935 0, 1638570.192 661420.511 0, 1638862.588 661458.104 0, 1639154.982 661495.715 0, 1639447.373 661533.343 0, 1639739.763 661570.988 0, 1640032.15 661608.651 0, 1640324.534 661646.331 0, 1640616.917 661684.027 0,
+ 1640909.297 661721.741 0, 1641201.676 661759.473 0, 1641494.051 661797.221 0, 1641786.425 661834.987 0, 1642077.484 661872.6 0, 1642371.166 661910.57 0, 1642663.533 661948.387 0, 1642955.898 661986.222 0, 1643248.26 662024.073 0, 1643540.621 662061.942 0,
+ 1643832.979 662099.828 0, 1644125.335 662137.732 0, 1644417.688 662175.652 0, 1644710.04 662213.59 0, 1645002.389 662251.545 0, 1645294.736 662289.517 0, 1645587.081 662327.506 0, 1645879.423 662365.513 0, 1646171.763 662403.537 0, 1646464.101 662441.578 0,
+ 1646756.437 662479.636 0, 1647048.771 662517.711 0, 1647341.102 662555.804 0, 1647633.431 662593.914 0, 1647925.758 662632.041 0, 1648218.082 662670.185 0, 1648510.405 662708.346 0, 1648802.725 662746.525 0, 1649093.731 662784.55 0, 1649814.987 657265.936 0,
+ 1650536.199 651747.659 0))
+
+POLYGON ((1663122.326 664638.177 0, 1662831.426 664599.331 0, 1662539.215 664560.326 0, 1662247.002 664521.339 0, 1661954.786 664482.369 0, 1661662.568 664443.416 0, 1661370.348 664404.481 0, 1661078.125 664365.563 0, 1660785.9 664326.661 0, 1660493.673 664287.777 0,
+ 1660201.444 664248.911 0, 1659909.212 664210.061 0, 1659616.978 664171.229 0, 1659324.742 664132.414 0, 1659032.504 664093.616 0, 1658740.263 664054.835 0, 1658448.02 664016.071 0, 1658155.774 663977.325 0, 1657863.527 663938.596 0, 1657571.277 663899.884 0,
+ 1657279.025 663861.189 0, 1656986.77 663822.512 0, 1656694.514 663783.851 0, 1656402.254 663745.208 0, 1656108.683 663706.409 0, 1655817.73 663667.974 0, 1655525.464 663629.382 0, 1655233.196 663590.808 0, 1654940.925 663552.251 0, 1654648.653 663513.711 0,
+ 1654356.378 663475.188 0, 1654064.101 663436.683 0, 1653771.821 663398.194 0, 1653479.539 663359.723 0, 1653187.255 663321.269 0, 1652894.969 663282.832 0, 1652602.681 663244.413 0, 1652310.39 663206.011 0, 1652018.097 663167.626 0, 1651725.802 663129.258 0,
+ 1651433.504 663090.907 0, 1651141.204 663052.574 0, 1650848.902 663014.257 0, 1650556.598 662975.958 0, 1650264.291 662937.676 0, 1649971.982 662899.412 0, 1649679.671 662861.164 0, 1649387.358 662822.934 0, 1649093.731 662784.55 0, 1648372.432 668303.496 0,
+ 1647651.09 673822.772 0, 1647944.064 673861.071 0, 1648235.727 673899.216 0, 1648527.389 673937.379 0, 1648819.048 673975.558 0, 1649110.705 674013.755 0, 1649402.359 674051.969 0, 1649694.012 674090.2 0, 1649985.662 674128.448 0, 1650277.31 674166.714 0,
+ 1650568.955 674204.996 0, 1650860.599 674243.296 0, 1651152.24 674281.613 0, 1651443.879 674319.947 0, 1651735.516 674358.299 0, 1652027.15 674396.667 0, 1652318.782 674435.053 0, 1652610.412 674473.455 0, 1652902.039 674511.875 0, 1653193.665 674550.312 0,
+ 1653485.288 674588.767 0, 1653776.909 674627.238 0, 1654068.527 674665.727 0, 1654360.143 674704.232 0, 1654650.451 674742.583 0, 1654943.369 674781.295 0, 1655234.979 674819.853 0, 1655526.586 674858.427 0, 1655818.191 674897.019 0, 1656109.793 674935.627 0,
+ 1656401.394 674974.253 0, 1656692.992 675012.896 0, 1656984.588 675051.557 0, 1657276.181 675090.234 0, 1657567.773 675128.929 0, 1657859.362 675167.64 0, 1658150.948 675206.369 0, 1658442.533 675245.115 0, 1658734.115 675283.878 0, 1659025.695 675322.659 0,
+ 1659317.272 675361.456 0, 1659608.848 675400.271 0, 1659900.421 675439.103 0, 1660191.991 675477.952 0, 1660483.56 675516.818 0, 1660775.126 675555.701 0, 1661066.69 675594.602 0, 1661358.251 675633.519 0, 1661648.505 675672.28 0, 1662385.438 670155.064 0,
+ 1663122.326 664638.177 0))
+
+POLYGON ((1675640.64 677561.326 0, 1675350.494 677521.745 0, 1675059.044 677482.004 0, 1674767.591 677442.28 0, 1674476.136 677402.573 0, 1674184.679 677362.883 0, 1673893.219 677323.211 0, 1673601.757 677283.555 0, 1673310.292 677243.917 0, 1673018.825 677204.296 0,
+ 1672727.356 677164.692 0, 1672435.885 677125.105 0, 1672144.411 677085.535 0, 1671852.935 677045.983 0, 1671561.456 677006.448 0, 1671269.975 676966.929 0, 1670978.492 676927.428 0, 1670687.007 676887.944 0, 1670395.519 676848.478 0, 1670104.029 676809.028 0,
+ 1669812.537 676769.596 0, 1669521.042 676730.18 0, 1669229.545 676690.782 0, 1668938.045 676651.401 0, 1668645.24 676611.862 0, 1668355.04 676572.691 0, 1668063.533 676533.361 0, 1667772.025 676494.049 0, 1667480.514 676454.754 0, 1667189.001 676415.476 0,
+ 1666897.485 676376.215 0, 1666605.967 676336.972 0, 1666314.447 676297.745 0, 1666022.924 676258.536 0, 1665731.4 676219.343 0, 1665439.873 676180.168 0, 1665148.343 676141.01 0, 1664856.811 676101.87 0, 1664565.277 676062.746 0, 1664273.741 676023.64 0,
+ 1663982.202 675984.551 0, 1663690.662 675945.478 0, 1663399.118 675906.423 0, 1663107.573 675867.386 0, 1662816.025 675828.365 0, 1662524.475 675789.362 0, 1662232.922 675750.375 0, 1661941.368 675711.406 0, 1661648.505 675672.28 0, 1660911.529 681189.822 0,
+ 1660174.51 686707.687 0, 1660466.72 686746.726 0, 1660757.625 686785.609 0, 1661048.528 686824.508 0, 1661339.429 686863.425 0, 1661630.327 686902.358 0, 1661921.223 686941.309 0, 1662212.117 686980.277 0, 1662503.008 687019.262 0, 1662793.897 687058.264 0,
+ 1663084.784 687097.284 0, 1663375.669 687136.32 0, 1663666.551 687175.374 0, 1663957.431 687214.444 0, 1664248.309 687253.532 0, 1664539.184 687292.637 0, 1664830.057 687331.759 0, 1665120.928 687370.898 0, 1665411.796 687410.054 0, 1665702.662 687449.228 0,
+ 1665993.526 687488.418 0, 1666284.388 687527.626 0, 1666575.247 687566.851 0, 1666866.104 687606.092 0, 1667155.657 687645.176 0, 1667447.811 687684.627 0, 1667738.661 687723.921 0, 1668029.508 687763.231 0, 1668320.354 687802.558 0, 1668611.197 687841.903 0,
+ 1668902.038 687881.265 0, 1669192.876 687920.644 0, 1669483.712 687960.039 0, 1669774.546 687999.452 0, 1670065.377 688038.883 0, 1670356.206 688078.33 0, 1670647.033 688117.794 0, 1670937.858 688157.276 0, 1671228.68 688196.774 0, 1671519.5 688236.29 0,
+ 1671810.317 688275.823 0, 1672101.132 688315.373 0, 1672391.945 688354.94 0, 1672682.756 688394.524 0, 1672973.564 688434.126 0, 1673264.37 688473.744 0, 1673555.173 688513.38 0, 1673845.974 688553.032 0, 1674135.473 688592.525 0, 1674888.079 683076.764 0,
+ 1675640.64 677561.326 0))
+
+POLYGON ((1688091.056 690516.797 0, 1687801.668 690476.487 0, 1687510.98 690436.013 0, 1687220.289 690395.556 0, 1686929.596 690355.116 0, 1686638.901 690314.693 0, 1686348.204 690274.287 0, 1686057.504 690233.899 0, 1685766.802 690193.527 0, 1685476.097 690153.173 0,
+ 1685185.39 690112.836 0, 1684894.681 690072.516 0, 1684603.969 690032.213 0, 1684313.255 689991.927 0, 1684022.538 689951.658 0, 1683731.819 689911.406 0, 1683441.098 689871.172 0, 1683150.374 689830.954 0, 1682859.648 689790.754 0, 1682568.92 689750.571 0,
+ 1682278.189 689710.405 0, 1681987.456 689670.256 0, 1681696.721 689630.124 0, 1681405.983 689590.009 0, 1681113.944 689549.733 0, 1680824.5 689509.831 0, 1680533.755 689469.768 0, 1680243.008 689429.721 0, 1679952.259 689389.692 0, 1679661.507 689349.68 0,
+ 1679370.752 689309.685 0, 1679079.996 689269.707 0, 1678789.237 689229.746 0, 1678498.475 689189.803 0, 1678207.711 689149.876 0, 1677916.945 689109.967 0, 1677626.177 689070.075 0, 1677335.406 689030.199 0, 1677044.633 688990.341 0, 1676753.858 688950.5 0,
+ 1676463.08 688910.677 0, 1676172.3 688870.87 0, 1675881.517 688831.08 0, 1675590.732 688791.308 0, 1675299.945 688751.552 0, 1675009.156 688711.814 0, 1674718.364 688672.093 0, 1674427.57 688632.389 0, 1674135.473 688592.525 0, 1673382.825 694108.605 0,
+ 1672630.133 699625.002 0, 1672921.577 699664.777 0, 1673211.721 699704.393 0, 1673501.864 699744.025 0, 1673792.004 699783.675 0, 1674082.142 699823.341 0, 1674372.277 699863.025 0, 1674662.411 699902.726 0, 1674952.541 699942.443 0, 1675242.67 699982.178 0,
+ 1675532.796 700021.93 0, 1675822.92 700061.699 0, 1676113.041 700101.485 0, 1676403.161 700141.289 0, 1676693.277 700181.109 0, 1676983.392 700220.946 0, 1677273.504 700260.801 0, 1677563.614 700300.672 0, 1677853.721 700340.561 0, 1678143.826 700380.467 0,
+ 1678433.929 700420.389 0, 1678724.029 700460.329 0, 1679014.127 700500.286 0, 1679304.223 700540.26 0, 1679593.021 700580.072 0, 1679884.407 700620.259 0, 1680174.496 700660.284 0, 1680464.582 700700.326 0, 1680754.666 700740.386 0, 1681044.747 700780.462 0,
+ 1681334.826 700820.556 0, 1681624.903 700860.666 0, 1681914.978 700900.794 0, 1682205.05 700940.939 0, 1682495.119 700981.1 0, 1682785.187 701021.279 0, 1683075.252 701061.475 0, 1683365.314 701101.688 0, 1683655.375 701141.918 0, 1683945.433 701182.165 0,
+ 1684235.488 701222.429 0, 1684525.541 701262.711 0, 1684815.592 701303.009 0, 1685105.64 701343.325 0, 1685395.686 701383.657 0, 1685685.73 701424.007 0, 1685975.771 701464.373 0, 1686265.81 701504.757 0, 1686554.553 701544.977 0, 1687322.826 696030.729 0,
+ 1688091.056 690516.797 0))
+
+POLYGON ((1700473.493 703504.284 0, 1700184.863 703463.248 0, 1699894.939 703422.045 0, 1699605.013 703380.859 0, 1699315.085 703339.69 0, 1699025.154 703298.538 0, 1698735.22 703257.404 0, 1698445.285 703216.286 0, 1698155.346 703175.185 0, 1697865.406 703134.102 0,
+ 1697575.463 703093.036 0, 1697285.517 703051.986 0, 1696995.57 703010.954 0, 1696705.619 702969.939 0, 1696415.667 702928.94 0, 1696125.712 702887.959 0, 1695835.754 702846.995 0, 1695545.794 702806.048 0, 1695255.832 702765.118 0, 1694965.867 702724.206 0,
+ 1694675.9 702683.31 0, 1694385.93 702642.431 0, 1694095.958 702601.569 0, 1693805.984 702560.725 0, 1693514.715 702519.715 0, 1693226.028 702479.087 0, 1692936.047 702438.294 0, 1692646.063 702397.517 0, 1692356.076 702356.758 0, 1692066.088 702316.016 0,
+ 1691776.096 702275.291 0, 1691486.103 702234.583 0, 1691196.107 702193.892 0, 1690906.109 702153.218 0, 1690616.108 702112.561 0, 1690326.105 702071.921 0, 1690036.099 702031.299 0, 1689746.091 701990.693 0, 1689456.081 701950.104 0, 1689166.068 701909.533 0,
+ 1688876.053 701868.978 0, 1688586.036 701828.441 0, 1688296.016 701787.921 0, 1688005.994 701747.418 0, 1687715.969 701706.932 0, 1687425.942 701666.462 0, 1687135.913 701626.01 0, 1686845.881 701585.576 0, 1686554.553 701544.977 0, 1685786.235 707059.538 0,
+ 1685017.875 712574.409 0, 1685308.551 712614.916 0, 1685597.933 712655.261 0, 1685887.314 712695.622 0, 1686176.691 712736.001 0, 1686466.067 712776.396 0, 1686755.44 712816.809 0, 1687044.811 712857.238 0, 1687334.179 712897.685 0, 1687623.545 712938.149 0,
+ 1687912.909 712978.629 0, 1688202.27 713019.127 0, 1688491.629 713059.642 0, 1688780.985 713100.173 0, 1689070.339 713140.722 0, 1689359.691 713181.288 0, 1689649.04 713221.871 0, 1689938.387 713262.471 0, 1690227.731 713303.088 0, 1690517.073 713343.722 0,
+ 1690806.413 713384.373 0, 1691095.75 713425.041 0, 1691385.085 713465.726 0, 1691674.418 713506.428 0, 1691962.458 713546.965 0, 1692253.076 713587.883 0, 1692542.401 713628.636 0, 1692831.724 713669.406 0, 1693121.044 713710.193 0, 1693410.363 713750.998 0,
+ 1693699.678 713791.819 0, 1693988.992 713832.657 0, 1694278.302 713873.513 0, 1694567.611 713914.385 0, 1694856.917 713955.274 0, 1695146.221 713996.181 0, 1695435.522 714037.104 0, 1695724.821 714078.045 0, 1696014.117 714119.002 0, 1696303.411 714159.977 0,
+ 1696592.703 714200.968 0, 1696881.992 714241.977 0, 1697171.279 714283.002 0, 1697460.564 714324.045 0, 1697749.845 714365.105 0, 1698039.125 714406.181 0, 1698328.402 714447.275 0, 1698617.677 714488.386 0, 1698905.661 714529.33 0, 1699689.599 709016.653 0,
+ 1700473.493 703504.284 0))
+
+POLYGON ((1712787.868 716523.479 0, 1712499.999 716481.721 0, 1712210.842 716439.793 0, 1711921.682 716397.883 0, 1711632.52 716355.989 0, 1711343.355 716314.112 0, 1711054.187 716272.252 0, 1710765.018 716230.409 0, 1710475.845 716188.584 0, 1710186.671 716146.775 0,
+ 1709897.494 716104.983 0, 1709608.314 716063.209 0, 1709319.132 716021.451 0, 1709029.947 715979.711 0, 1708740.761 715937.987 0, 1708451.571 715896.28 0, 1708162.379 715854.591 0, 1707873.185 715812.918 0, 1707583.988 715771.263 0, 1707294.789 715729.624 0,
+ 1707005.587 715688.003 0, 1706716.383 715646.398 0, 1706427.176 715604.811 0, 1706137.967 715563.241 0, 1705847.469 715521.502 0, 1705559.542 715480.151 0, 1705270.326 715438.632 0, 1704981.107 715397.129 0, 1704691.886 715355.644 0, 1704402.662 715314.176 0,
+ 1704113.436 715272.725 0, 1703824.207 715231.29 0, 1703534.976 715189.873 0, 1703245.743 715148.473 0, 1702956.507 715107.09 0, 1702667.269 715065.724 0, 1702378.028 715024.375 0, 1702088.785 714983.043 0, 1701799.539 714941.728 0, 1701510.291 714900.43 0,
+ 1701221.04 714859.149 0, 1700931.788 714817.885 0, 1700642.532 714776.638 0, 1700353.274 714735.408 0, 1700064.014 714694.195 0, 1699774.752 714652.999 0, 1699485.487 714611.82 0, 1699196.219 714570.658 0, 1698905.661 714529.33 0, 1698121.679 720042.314 0,
+ 1697337.655 725555.601 0, 1697627.561 725596.836 0, 1697916.18 725637.906 0, 1698204.796 725678.992 0, 1698493.409 725720.095 0, 1698782.021 725761.216 0, 1699070.629 725802.353 0, 1699359.236 725843.508 0, 1699647.84 725884.679 0, 1699936.441 725925.867 0,
+ 1700225.04 725967.073 0, 1700513.637 726008.295 0, 1700802.231 726049.535 0, 1701090.823 726090.791 0, 1701379.413 726132.064 0, 1701668 726173.354 0, 1701956.584 726214.662 0, 1702245.166 726255.986 0, 1702533.746 726297.327 0, 1702822.323 726338.685 0,
+ 1703110.898 726380.061 0, 1703399.47 726421.453 0, 1703688.04 726462.862 0, 1703976.608 726504.288 0, 1704263.889 726545.547 0, 1704553.736 726587.192 0, 1704842.296 726628.669 0, 1705130.853 726670.163 0, 1705419.409 726711.674 0, 1705707.962 726753.202 0,
+ 1705996.512 726794.747 0, 1706285.06 726836.309 0, 1706573.606 726877.888 0, 1706862.149 726919.484 0, 1707150.689 726961.097 0, 1707439.227 727002.727 0, 1707727.763 727044.374 0, 1708016.296 727086.038 0, 1708304.827 727127.719 0, 1708593.356 727169.417 0,
+ 1708881.881 727211.132 0, 1709170.405 727252.864 0, 1709458.926 727294.612 0, 1709747.444 727336.378 0, 1710035.961 727378.161 0, 1710324.474 727419.961 0, 1710612.985 727461.778 0, 1710901.494 727503.611 0, 1711188.717 727545.276 0, 1711988.315 722034.226 0,
+ 1712787.868 716523.479 0))
+
+POLYGON ((1439068.99 461251.844 0, 1438766.212 461226.129 0, 1438462.031 461200.313 0, 1438157.849 461174.515 0, 1437853.665 461148.735 0, 1437549.48 461122.973 0, 1437245.293 461097.228 0, 1436941.105 461071.502 0, 1436636.915 461045.793 0, 1436332.723 461020.103 0,
+ 1436028.53 460994.43 0, 1435724.336 460968.775 0, 1435420.14 460943.138 0, 1435115.943 460917.519 0, 1434811.744 460891.918 0, 1434507.543 460866.335 0, 1434203.341 460840.77 0, 1433899.138 460815.222 0, 1433594.933 460789.693 0, 1433290.726 460764.181 0,
+ 1432986.518 460738.688 0, 1432682.309 460713.212 0, 1432378.098 460687.754 0, 1432073.886 460662.314 0, 1431768.269 460636.775 0, 1431465.456 460611.488 0, 1431161.239 460586.102 0, 1430857.021 460560.733 0, 1430552.801 460535.383 0, 1430248.579 460510.05 0,
+ 1429944.356 460484.736 0, 1429640.132 460459.439 0, 1429335.906 460434.16 0, 1429031.679 460408.899 0, 1428727.45 460383.656 0, 1428423.22 460358.431 0, 1428118.988 460333.224 0, 1427814.754 460308.035 0, 1427510.52 460282.863 0, 1427206.283 460257.71 0,
+ 1426902.045 460232.574 0, 1426597.806 460207.457 0, 1426293.565 460182.357 0, 1425989.323 460157.275 0, 1425685.08 460132.211 0, 1425380.834 460107.165 0, 1425076.588 460082.137 0, 1424772.34 460057.127 0, 1424466.686 460032.019 0, 1424012.189 465566.956 0,
+ 1423557.657 471102.324 0, 1423862.656 471127.378 0, 1424166.253 471152.334 0, 1424469.848 471177.309 0, 1424773.441 471202.301 0, 1425077.033 471227.311 0, 1425380.624 471252.34 0, 1425684.213 471277.386 0, 1425987.801 471302.449 0, 1426291.387 471327.531 0,
+ 1426594.972 471352.631 0, 1426898.555 471377.748 0, 1427202.137 471402.884 0, 1427505.717 471428.037 0, 1427809.296 471453.208 0, 1428112.873 471478.397 0, 1428416.449 471503.604 0, 1428720.024 471528.828 0, 1429023.597 471554.071 0, 1429327.168 471579.331 0,
+ 1429630.738 471604.609 0, 1429934.306 471629.906 0, 1430237.873 471655.22 0, 1430541.439 471680.551 0, 1430843.603 471705.784 0, 1431148.565 471731.269 0, 1431452.126 471756.654 0, 1431755.686 471782.058 0, 1432059.244 471807.479 0, 1432362.8 471832.918 0,
+ 1432666.355 471858.375 0, 1432969.909 471883.85 0, 1433273.461 471909.342 0, 1433577.011 471934.853 0, 1433880.56 471960.381 0, 1434184.107 471985.928 0, 1434487.653 472011.492 0, 1434791.198 472037.074 0, 1435094.741 472062.674 0, 1435398.282 472088.291 0,
+ 1435701.822 472113.927 0, 1436005.361 472139.581 0, 1436308.898 472165.252 0, 1436612.433 472190.941 0, 1436915.967 472216.648 0, 1437219.499 472242.373 0, 1437523.03 472268.116 0, 1437826.56 472293.877 0, 1438128.689 472319.536 0, 1438598.858 466785.475 0,
+ 1439068.99 461251.844 0))
+
+POLYGON ((1452696.224 473577.91 0, 1452394.166 473551.396 0, 1452090.711 473524.778 0, 1451787.254 473498.178 0, 1451483.795 473471.596 0, 1451180.335 473445.031 0, 1450876.873 473418.484 0, 1450573.41 473391.956 0, 1450269.946 473365.445 0, 1449966.479 473338.952 0,
+ 1449663.011 473312.477 0, 1449359.542 473286.019 0, 1449056.071 473259.58 0, 1448752.598 473233.158 0, 1448449.124 473206.754 0, 1448145.649 473180.368 0, 1447842.171 473154 0, 1447538.693 473127.65 0, 1447235.212 473101.318 0, 1446931.731 473075.003 0,
+ 1446628.247 473048.707 0, 1446324.762 473022.428 0, 1446021.276 472996.167 0, 1445717.788 472969.924 0, 1445412.901 472943.578 0, 1445110.807 472917.492 0, 1444807.314 472891.303 0, 1444503.82 472865.131 0, 1444200.324 472838.977 0, 1443896.827 472812.841 0,
+ 1443593.328 472786.724 0, 1443289.828 472760.623 0, 1442986.326 472734.541 0, 1442682.822 472708.477 0, 1442379.317 472682.43 0, 1442075.811 472656.402 0, 1441772.303 472630.391 0, 1441468.793 472604.398 0, 1441165.282 472578.423 0, 1440861.77 472552.466 0,
+ 1440558.256 472526.526 0, 1440254.74 472500.605 0, 1439951.223 472474.701 0, 1439647.704 472448.816 0, 1439344.184 472422.948 0, 1439040.662 472397.098 0, 1438737.139 472371.266 0, 1438433.614 472345.451 0, 1438128.689 472319.536 0, 1437658.484 477854.026 0,
+ 1437188.242 483388.941 0, 1437492.513 483414.8 0, 1437795.386 483440.559 0, 1438098.258 483466.336 0, 1438401.128 483492.13 0, 1438703.997 483517.943 0, 1439006.864 483543.773 0, 1439309.73 483569.621 0, 1439612.594 483595.487 0, 1439915.457 483621.37 0,
+ 1440218.318 483647.272 0, 1440521.177 483673.191 0, 1440824.035 483699.128 0, 1441126.892 483725.083 0, 1441429.747 483751.056 0, 1441732.6 483777.047 0, 1442035.452 483803.055 0, 1442338.303 483829.081 0, 1442641.152 483855.125 0, 1442943.999 483881.187 0,
+ 1443246.845 483907.267 0, 1443549.689 483933.364 0, 1443852.532 483959.48 0, 1444155.373 483985.613 0, 1444456.819 484011.644 0, 1444761.051 484037.933 0, 1445063.888 484064.119 0, 1445366.723 484090.324 0, 1445669.556 484116.546 0, 1445972.388 484142.786 0,
+ 1446275.219 484169.044 0, 1446578.048 484195.32 0, 1446880.875 484221.614 0, 1447183.701 484247.925 0, 1447486.525 484274.254 0, 1447789.348 484300.602 0, 1448092.169 484326.966 0, 1448394.988 484353.349 0, 1448697.806 484379.75 0, 1449000.623 484406.168 0,
+ 1449303.438 484432.604 0, 1449606.251 484459.058 0, 1449909.063 484485.53 0, 1450211.873 484512.02 0, 1450514.682 484538.527 0, 1450817.489 484565.053 0, 1451120.295 484591.596 0, 1451423.099 484618.157 0, 1451724.508 484644.613 0, 1452210.385 479111.049 0,
+ 1452696.224 473577.91 0))
+
+POLYGON ((1466257.168 485941.348 0, 1465955.832 485914.04 0, 1465653.105 485886.624 0, 1465350.375 485859.225 0, 1465047.644 485831.844 0, 1464744.912 485804.482 0, 1464442.177 485777.137 0, 1464139.442 485749.809 0, 1463836.704 485722.5 0, 1463533.965 485695.208 0,
+ 1463231.225 485667.935 0, 1462928.482 485640.679 0, 1462625.738 485613.44 0, 1462322.993 485586.22 0, 1462020.246 485559.018 0, 1461717.497 485531.833 0, 1461414.747 485504.666 0, 1461111.995 485477.517 0, 1460809.242 485450.386 0, 1460506.487 485423.272 0,
+ 1460203.73 485396.177 0, 1459900.972 485369.099 0, 1459598.212 485342.039 0, 1459295.451 485314.997 0, 1458991.296 485287.848 0, 1458689.923 485260.966 0, 1458387.157 485233.977 0, 1458084.389 485207.007 0, 1457781.62 485180.054 0, 1457478.849 485153.118 0,
+ 1457176.076 485126.201 0, 1456873.302 485099.301 0, 1456570.527 485072.42 0, 1456267.749 485045.556 0, 1455964.97 485018.71 0, 1455662.19 484991.881 0, 1455359.408 484965.071 0, 1455056.624 484938.278 0, 1454753.839 484911.503 0, 1454451.052 484884.746 0,
+ 1454148.264 484858.007 0, 1453845.474 484831.286 0, 1453542.683 484804.582 0, 1453239.89 484777.897 0, 1452937.095 484751.229 0, 1452634.299 484724.579 0, 1452331.501 484697.946 0, 1452028.702 484671.332 0, 1451724.508 484644.613 0, 1451238.594 490178.599 0,
+ 1450752.644 495713.005 0, 1451056.183 495739.666 0, 1451358.331 495766.223 0, 1451660.478 495792.798 0, 1451962.622 495819.391 0, 1452264.765 495846.001 0, 1452566.907 495872.63 0, 1452869.047 495899.276 0, 1453171.185 495925.94 0, 1453473.322 495952.621 0,
+ 1453775.458 495979.321 0, 1454077.591 496006.038 0, 1454379.724 496032.773 0, 1454681.854 496059.526 0, 1454983.983 496086.296 0, 1455286.111 496113.085 0, 1455588.237 496139.891 0, 1455890.361 496166.715 0, 1456192.484 496193.556 0, 1456494.605 496220.416 0,
+ 1456796.724 496247.293 0, 1457098.842 496274.188 0, 1457400.959 496301.101 0, 1457703.073 496328.031 0, 1458003.798 496354.856 0, 1458307.298 496381.946 0, 1458609.408 496408.93 0, 1458911.517 496435.932 0, 1459213.623 496462.951 0, 1459515.729 496489.988 0,
+ 1459817.832 496517.044 0, 1460119.935 496544.116 0, 1460422.035 496571.207 0, 1460724.134 496598.315 0, 1461026.231 496625.442 0, 1461328.327 496652.586 0, 1461630.421 496679.747 0, 1461932.513 496706.927 0, 1462234.604 496734.124 0, 1462536.694 496761.339 0,
+ 1462838.781 496788.572 0, 1463140.867 496815.823 0, 1463442.952 496843.091 0, 1463745.035 496870.378 0, 1464047.116 496897.682 0, 1464349.196 496925.003 0, 1464651.274 496952.343 0, 1464953.35 496979.7 0, 1465254.038 497006.95 0, 1465755.622 491473.939 0,
+ 1466257.168 485941.348 0))
+
+POLYGON ((1479751.718 498341.859 0, 1479451.107 498313.76 0, 1479149.109 498285.549 0, 1478847.109 498257.356 0, 1478545.108 498229.181 0, 1478243.105 498201.024 0, 1477941.1 498172.884 0, 1477639.094 498144.762 0, 1477337.086 498116.658 0, 1477035.076 498088.572 0,
+ 1476733.065 498060.504 0, 1476431.052 498032.453 0, 1476129.038 498004.42 0, 1475827.022 497976.405 0, 1475525.004 497948.408 0, 1475222.984 497920.428 0, 1474920.963 497892.466 0, 1474618.941 497864.522 0, 1474316.916 497836.596 0, 1474014.89 497808.688 0,
+ 1473712.863 497780.797 0, 1473410.833 497752.924 0, 1473108.802 497725.069 0, 1472806.77 497697.231 0, 1472503.349 497669.284 0, 1472202.7 497641.61 0, 1471900.662 497613.826 0, 1471598.623 497586.06 0, 1471296.582 497558.311 0, 1470994.54 497530.581 0,
+ 1470692.496 497502.868 0, 1470390.45 497475.173 0, 1470088.403 497447.495 0, 1469786.354 497419.836 0, 1469484.303 497392.194 0, 1469182.251 497364.57 0, 1468880.197 497336.964 0, 1468578.142 497309.375 0, 1468276.085 497281.804 0, 1467974.026 497254.251 0,
+ 1467671.966 497226.716 0, 1467369.904 497199.199 0, 1467067.84 497171.699 0, 1466765.775 497144.218 0, 1466463.708 497116.754 0, 1466161.64 497089.307 0, 1465859.57 497061.879 0, 1465557.498 497034.468 0, 1465254.038 497006.95 0, 1464752.416 502540.376 0,
+ 1464250.757 508074.215 0, 1464553.563 508101.674 0, 1464854.983 508129.025 0, 1465156.402 508156.395 0, 1465457.819 508183.782 0, 1465759.234 508211.187 0, 1466060.648 508238.609 0, 1466362.06 508266.049 0, 1466663.471 508293.507 0, 1466964.88 508320.983 0,
+ 1467266.287 508348.477 0, 1467567.693 508375.988 0, 1467869.097 508403.517 0, 1468170.499 508431.064 0, 1468471.9 508458.628 0, 1468773.299 508486.21 0, 1469074.697 508513.81 0, 1469376.093 508541.428 0, 1469677.487 508569.063 0, 1469978.88 508596.716 0,
+ 1470280.271 508624.387 0, 1470581.66 508652.076 0, 1470883.048 508679.782 0, 1471184.434 508707.506 0, 1471484.436 508735.121 0, 1471787.202 508763.008 0, 1472088.583 508790.785 0, 1472389.963 508818.58 0, 1472691.341 508846.393 0, 1472992.717 508874.224 0,
+ 1473294.092 508902.072 0, 1473595.465 508929.938 0, 1473896.836 508957.822 0, 1474198.206 508985.723 0, 1474499.574 509013.642 0, 1474800.941 509041.579 0, 1475102.306 509069.534 0, 1475403.669 509097.507 0, 1475705.031 509125.497 0, 1476006.39 509153.505 0,
+ 1476307.749 509181.53 0, 1476609.105 509209.574 0, 1476910.46 509237.635 0, 1477211.814 509265.714 0, 1477513.165 509293.81 0, 1477814.515 509321.925 0, 1478115.864 509350.057 0, 1478417.211 509378.207 0, 1478717.174 509406.245 0, 1479234.465 503873.845 0,
+ 1479751.718 498341.859 0))
+
+POLYGON ((1493179.77 510779.14 0, 1492879.885 510750.254 0, 1492578.619 510721.253 0, 1492277.351 510692.27 0, 1491976.082 510663.304 0, 1491674.811 510634.356 0, 1491373.538 510605.426 0, 1491072.263 510576.514 0, 1490770.987 510547.619 0, 1490469.709 510518.742 0,
+ 1490168.43 510489.883 0, 1489867.148 510461.042 0, 1489565.865 510432.218 0, 1489264.581 510403.412 0, 1488963.294 510374.624 0, 1488662.006 510345.853 0, 1488360.716 510317.1 0, 1488059.425 510288.365 0, 1487758.132 510259.648 0, 1487456.837 510230.948 0,
+ 1487155.54 510202.266 0, 1486854.242 510173.602 0, 1486552.942 510144.956 0, 1486251.641 510116.327 0, 1485948.957 510087.585 0, 1485649.032 510059.123 0, 1485347.726 510030.547 0, 1485046.417 510001.99 0, 1484745.107 509973.45 0, 1484443.796 509944.927 0,
+ 1484142.482 509916.423 0, 1483841.167 509887.936 0, 1483539.85 509859.467 0, 1483238.532 509831.016 0, 1482937.212 509802.582 0, 1482635.89 509774.166 0, 1482334.567 509745.768 0, 1482033.242 509717.388 0, 1481731.915 509689.025 0, 1481430.586 509660.68 0,
+ 1481129.256 509632.353 0, 1480827.925 509604.044 0, 1480526.591 509575.752 0, 1480225.256 509547.478 0, 1479923.919 509519.222 0, 1479622.581 509490.983 0, 1479321.241 509462.762 0, 1479019.899 509434.559 0, 1478717.174 509406.245 0, 1478199.844 514939.054 0,
+ 1477682.477 520472.27 0, 1477984.547 520500.523 0, 1478285.238 520528.665 0, 1478585.927 520556.825 0, 1478886.614 520585.003 0, 1479187.299 520613.198 0, 1479487.983 520641.411 0, 1479788.665 520669.641 0, 1480089.346 520697.889 0, 1480390.024 520726.155 0,
+ 1480690.701 520754.439 0, 1480991.377 520782.74 0, 1481292.051 520811.059 0, 1481592.723 520839.396 0, 1481893.393 520867.751 0, 1482194.062 520896.123 0, 1482494.729 520924.513 0, 1482795.395 520952.92 0, 1483096.059 520981.345 0, 1483396.721 521009.788 0,
+ 1483697.381 521038.249 0, 1483998.04 521066.727 0, 1484298.697 521095.223 0, 1484599.352 521123.737 0, 1484898.629 521152.138 0, 1485200.658 521180.817 0, 1485501.309 521209.384 0, 1485801.957 521237.969 0, 1486102.604 521266.571 0, 1486403.25 521295.191 0,
+ 1486703.893 521323.828 0, 1487004.535 521352.484 0, 1487305.176 521381.157 0, 1487605.814 521409.847 0, 1487906.451 521438.556 0, 1488207.086 521467.282 0, 1488507.72 521496.025 0, 1488808.352 521524.787 0, 1489108.982 521553.566 0, 1489409.61 521582.363 0,
+ 1489710.237 521611.177 0, 1490010.862 521640.01 0, 1490311.485 521668.86 0, 1490612.107 521697.727 0, 1490912.727 521726.612 0, 1491213.345 521755.515 0, 1491513.962 521784.436 0, 1491814.576 521813.374 0, 1492113.814 521842.198 0, 1492646.812 516310.466 0,
+ 1493179.77 510779.14 0))
+
+POLYGON ((1506541.223 523252.892 0, 1506242.066 523223.223 0, 1505941.534 523193.435 0, 1505641 523163.665 0, 1505340.465 523133.913 0, 1505039.928 523104.178 0, 1504739.389 523074.462 0, 1504438.848 523044.763 0, 1504138.306 523015.081 0, 1503837.762 522985.417 0,
+ 1503537.216 522955.771 0, 1503236.668 522926.143 0, 1502936.119 522896.532 0, 1502635.568 522866.939 0, 1502335.015 522837.364 0, 1502034.46 522807.806 0, 1501733.904 522778.267 0, 1501433.346 522748.744 0, 1501132.786 522719.24 0, 1500832.225 522689.753 0,
+ 1500531.661 522660.284 0, 1500231.096 522630.832 0, 1499930.53 522601.399 0, 1499629.961 522571.983 0, 1499328.016 522542.45 0, 1499028.819 522513.203 0, 1498728.245 522483.84 0, 1498427.67 522454.495 0, 1498127.093 522425.168 0, 1497826.514 522395.858 0,
+ 1497525.933 522366.565 0, 1497225.351 522337.291 0, 1496924.767 522308.034 0, 1496624.181 522278.795 0, 1496323.594 522249.573 0, 1496023.005 522220.37 0, 1495722.414 522191.184 0, 1495421.821 522162.015 0, 1495121.227 522132.864 0, 1494820.631 522103.731 0,
+ 1494520.033 522074.616 0, 1494219.434 522045.518 0, 1493918.832 522016.439 0, 1493618.23 521987.376 0, 1493317.625 521958.332 0, 1493017.019 521929.305 0, 1492716.411 521900.296 0, 1492415.801 521871.304 0, 1492113.814 521842.198 0, 1491580.777 527374.334 0,
+ 1491047.701 532906.87 0, 1491349.034 532935.913 0, 1491648.993 532964.842 0, 1491948.95 532993.788 0, 1492248.905 533022.752 0, 1492548.858 533051.734 0, 1492848.81 533080.733 0, 1493148.76 533109.75 0, 1493448.708 533138.784 0, 1493748.655 533167.837 0,
+ 1494048.599 533196.907 0, 1494348.542 533225.994 0, 1494648.484 533255.099 0, 1494948.424 533284.222 0, 1495248.362 533313.363 0, 1495548.298 533342.521 0, 1495848.232 533371.697 0, 1496148.165 533400.89 0, 1496448.096 533430.101 0, 1496748.026 533459.33 0,
+ 1497047.953 533488.576 0, 1497347.879 533517.841 0, 1497647.804 533547.122 0, 1497947.726 533576.422 0, 1498246.275 533605.605 0, 1498547.566 533635.073 0, 1498847.483 533664.426 0, 1499147.399 533693.796 0, 1499447.313 533723.183 0, 1499747.225 533752.589 0,
+ 1500047.135 533782.012 0, 1500347.044 533811.452 0, 1500646.951 533840.911 0, 1500946.856 533870.386 0, 1501246.759 533899.88 0, 1501546.661 533929.391 0, 1501846.561 533958.92 0, 1502146.459 533988.467 0, 1502446.356 534018.031 0, 1502746.251 534047.613 0,
+ 1503046.144 534077.212 0, 1503346.035 534106.829 0, 1503645.925 534136.464 0, 1503945.812 534166.116 0, 1504245.698 534195.786 0, 1504545.583 534225.474 0, 1504845.465 534255.18 0, 1505145.346 534284.903 0, 1505443.855 534314.507 0, 1505992.559 528783.499 0,
+ 1506541.223 523252.892 0))
+
+POLYGON ((1519835.974 535762.811 0, 1519537.548 535732.363 0, 1519237.752 535701.793 0, 1518937.955 535671.24 0, 1518638.156 535640.705 0, 1518338.355 535610.188 0, 1518038.552 535579.689 0, 1517738.747 535549.207 0, 1517438.941 535518.742 0, 1517139.133 535488.296 0,
+ 1516839.323 535457.867 0, 1516539.511 535427.456 0, 1516239.697 535397.062 0, 1515939.882 535366.686 0, 1515640.065 535336.327 0, 1515340.246 535305.987 0, 1515040.425 535275.664 0, 1514740.602 535245.358 0, 1514440.778 535215.07 0, 1514140.952 535184.8 0,
+ 1513841.124 535154.548 0, 1513541.295 535124.313 0, 1513241.463 535094.096 0, 1512941.63 535063.896 0, 1512640.426 535033.577 0, 1512341.958 535003.55 0, 1512042.12 534973.403 0, 1511742.279 534943.275 0, 1511442.437 534913.163 0, 1511142.593 534883.07 0,
+ 1510842.748 534852.994 0, 1510542.9 534822.935 0, 1510243.051 534792.894 0, 1509943.2 534762.871 0, 1509643.348 534732.866 0, 1509343.493 534702.878 0, 1509043.637 534672.908 0, 1508743.779 534642.956 0, 1508443.919 534613.021 0, 1508144.058 534583.104 0,
+ 1507844.195 534553.204 0, 1507544.33 534523.322 0, 1507244.463 534493.458 0, 1506944.594 534463.611 0, 1506644.724 534433.782 0, 1506344.852 534403.971 0, 1506044.978 534374.178 0, 1505745.102 534344.402 0, 1505443.855 534314.507 0, 1504895.112 539845.913 0,
+ 1504346.329 545377.712 0, 1504646.923 545407.542 0, 1504946.147 545437.253 0, 1505245.37 545466.982 0, 1505544.591 545496.728 0, 1505843.81 545526.493 0, 1506143.027 545556.274 0, 1506442.243 545586.074 0, 1506741.457 545615.891 0, 1507040.669 545645.725 0,
+ 1507339.88 545675.578 0, 1507639.088 545705.447 0, 1507938.295 545735.335 0, 1508237.5 545765.24 0, 1508536.703 545795.162 0, 1508835.905 545825.103 0, 1509135.105 545855.061 0, 1509434.303 545885.036 0, 1509733.499 545915.029 0, 1510032.694 545945.04 0,
+ 1510331.886 545975.068 0, 1510631.077 546005.114 0, 1510930.267 546035.178 0, 1511229.454 546065.259 0, 1511527.274 546095.22 0, 1511827.824 546125.474 0, 1512127.006 546155.608 0, 1512426.186 546185.76 0, 1512725.365 546215.929 0, 1513024.542 546246.115 0,
+ 1513323.717 546276.32 0, 1513622.89 546306.542 0, 1513922.061 546336.782 0, 1514221.231 546367.039 0, 1514520.399 546397.314 0, 1514819.565 546427.606 0, 1515118.73 546457.916 0, 1515417.892 546488.244 0, 1515717.053 546518.589 0, 1516016.212 546548.952 0,
+ 1516315.369 546579.332 0, 1516614.524 546609.731 0, 1516913.678 546640.146 0, 1517212.83 546670.58 0, 1517511.98 546701.031 0, 1517811.128 546731.499 0, 1518110.275 546761.985 0, 1518409.419 546792.489 0, 1518707.198 546822.871 0, 1519271.606 541292.644 0,
+ 1519835.974 535762.811 0))
+
+POLYGON ((1533063.926 548308.596 0, 1532766.232 548277.373 0, 1532467.175 548246.024 0, 1532168.116 548214.693 0, 1531869.055 548183.379 0, 1531569.992 548152.083 0, 1531270.927 548120.805 0, 1530971.861 548089.544 0, 1530672.792 548058.301 0, 1530373.722 548027.075 0,
+ 1530074.65 547995.867 0, 1529775.576 547964.677 0, 1529476.501 547933.504 0, 1529177.423 547902.349 0, 1528878.344 547871.212 0, 1528579.263 547840.092 0, 1528280.18 547808.989 0, 1527981.095 547777.905 0, 1527682.008 547746.838 0, 1527382.919 547715.788 0,
+ 1527083.829 547684.756 0, 1526784.737 547653.742 0, 1526485.643 547622.745 0, 1526186.547 547591.766 0, 1525886.086 547560.663 0, 1525588.35 547529.861 0, 1525289.249 547498.934 0, 1524990.146 547468.026 0, 1524691.041 547437.135 0, 1524391.934 547406.261 0,
+ 1524092.826 547375.405 0, 1523793.715 547344.567 0, 1523494.603 547313.746 0, 1523195.489 547282.943 0, 1522896.373 547252.158 0, 1522597.256 547221.39 0, 1522298.136 547190.64 0, 1521999.015 547159.907 0, 1521699.892 547129.192 0, 1521400.767 547098.495 0,
+ 1521101.64 547067.815 0, 1520802.512 547037.153 0, 1520503.382 547006.508 0, 1520204.25 546975.881 0, 1519905.116 546945.272 0, 1519605.98 546914.68 0, 1519306.843 546884.106 0, 1519007.703 546853.549 0, 1518707.198 546822.871 0, 1518142.749 552353.489 0,
+ 1517578.261 557884.495 0, 1517878.113 557915.107 0, 1518176.601 557945.597 0, 1518475.088 557976.104 0, 1518773.572 558006.63 0, 1519072.055 558037.172 0, 1519370.536 558067.733 0, 1519669.015 558098.311 0, 1519967.493 558128.906 0, 1520265.968 558159.519 0,
+ 1520564.442 558190.15 0, 1520862.914 558220.798 0, 1521161.384 558251.464 0, 1521459.853 558282.147 0, 1521758.319 558312.848 0, 1522056.784 558343.566 0, 1522355.247 558374.302 0, 1522653.708 558405.056 0, 1522952.168 558435.827 0, 1523250.625 558466.616 0,
+ 1523549.081 558497.422 0, 1523847.535 558528.246 0, 1524145.987 558559.087 0, 1524444.437 558589.946 0, 1524741.526 558620.682 0, 1525041.333 558651.717 0, 1525339.777 558682.628 0, 1525638.22 558713.558 0, 1525936.662 558744.504 0, 1526235.101 558775.469 0,
+ 1526533.539 558806.451 0, 1526831.974 558837.45 0, 1527130.408 558868.467 0, 1527428.84 558899.502 0, 1527727.271 558930.554 0, 1528025.699 558961.624 0, 1528324.126 558992.711 0, 1528622.55 559023.816 0, 1528920.973 559054.939 0, 1529219.394 559086.079 0,
+ 1529517.814 559117.236 0, 1529816.231 559148.411 0, 1530114.647 559179.604 0, 1530413.06 559210.814 0, 1530711.472 559242.042 0, 1531009.883 559273.288 0, 1531308.291 559304.551 0, 1531606.697 559335.831 0, 1531903.743 559366.987 0, 1532483.854 553837.597 0,
+ 1533063.926 548308.596 0))
+
+POLYGON ((1546224.979 560889.944 0, 1545928.02 560857.949 0, 1545629.703 560825.826 0, 1545331.384 560793.72 0, 1545033.064 560761.632 0, 1544734.741 560729.561 0, 1544436.417 560697.508 0, 1544138.091 560665.472 0, 1543839.762 560633.454 0, 1543541.432 560601.453 0,
+ 1543243.1 560569.47 0, 1542944.767 560537.505 0, 1542646.431 560505.557 0, 1542348.093 560473.627 0, 1542049.754 560441.714 0, 1541751.413 560409.819 0, 1541453.069 560377.941 0, 1541154.724 560346.081 0, 1540856.377 560314.239 0, 1540558.028 560282.414 0,
+ 1540259.678 560250.606 0, 1539961.325 560218.816 0, 1539662.971 560187.044 0, 1539364.614 560155.289 0, 1539064.899 560123.408 0, 1538767.896 560091.833 0, 1538469.534 560060.131 0, 1538171.17 560028.446 0, 1537872.805 559996.779 0, 1537574.437 559965.13 0,
+ 1537276.068 559933.498 0, 1536977.697 559901.884 0, 1536679.324 559870.287 0, 1536380.949 559838.708 0, 1536082.572 559807.147 0, 1535784.193 559775.603 0, 1535485.813 559744.076 0, 1535187.43 559712.567 0, 1534889.046 559681.076 0, 1534590.66 559649.602 0,
+ 1534292.272 559618.146 0, 1533993.882 559586.708 0, 1533695.49 559555.287 0, 1533397.097 559523.883 0, 1533098.702 559492.497 0, 1532800.304 559461.129 0, 1532501.905 559429.778 0, 1532203.504 559398.445 0, 1531903.743 559366.987 0, 1531323.591 564896.761 0,
+ 1530743.398 570426.916 0, 1531042.506 570458.306 0, 1531340.256 570489.571 0, 1531638.004 570520.853 0, 1531935.75 570552.153 0, 1532233.495 570583.47 0, 1532531.237 570614.805 0, 1532828.978 570646.158 0, 1533126.717 570677.528 0, 1533424.454 570708.915 0,
+ 1533722.189 570740.32 0, 1534019.923 570771.743 0, 1534317.654 570803.183 0, 1534615.384 570834.641 0, 1534913.111 570866.116 0, 1535210.837 570897.609 0, 1535508.561 570929.119 0, 1535806.284 570960.647 0, 1536104.004 570992.192 0, 1536401.722 571023.755 0,
+ 1536699.439 571055.335 0, 1536997.154 571086.933 0, 1537294.867 571118.548 0, 1537592.578 571150.181 0, 1537888.932 571181.687 0, 1538187.994 571213.499 0, 1538485.7 571245.185 0, 1538783.403 571276.888 0, 1539081.105 571308.608 0, 1539378.805 571340.346 0,
+ 1539676.503 571372.102 0, 1539974.199 571403.875 0, 1540271.893 571435.665 0, 1540569.586 571467.473 0, 1540867.276 571499.299 0, 1541164.965 571531.142 0, 1541462.652 571563.003 0, 1541760.336 571594.881 0, 1542058.019 571626.777 0, 1542355.701 571658.69 0,
+ 1542653.38 571690.621 0, 1542951.057 571722.569 0, 1543248.733 571754.535 0, 1543546.406 571786.518 0, 1543844.078 571818.519 0, 1544141.748 571850.537 0, 1544439.416 571882.573 0, 1544737.082 571914.626 0, 1545033.393 571946.551 0, 1545629.206 566418.057 0,
+ 1546224.979 560889.944 0))
+
+POLYGON ((1559319.037 573506.552 0, 1559022.815 573473.79 0, 1558725.241 573440.896 0, 1558427.664 573408.019 0, 1558130.086 573375.16 0, 1557832.506 573342.318 0, 1557534.924 573309.494 0, 1557237.34 573276.688 0, 1556939.754 573243.898 0, 1556642.166 573211.127 0,
+ 1556344.576 573178.373 0, 1556046.985 573145.636 0, 1555749.391 573112.917 0, 1555451.796 573080.216 0, 1555154.198 573047.532 0, 1554856.599 573014.865 0, 1554558.997 572982.216 0, 1554261.394 572949.585 0, 1553963.789 572916.971 0, 1553666.182 572884.374 0,
+ 1553368.573 572851.795 0, 1553070.962 572819.234 0, 1552773.349 572786.69 0, 1552475.734 572754.164 0, 1552176.766 572721.507 0, 1551880.499 572689.163 0, 1551582.879 572656.689 0, 1551285.256 572624.233 0, 1550987.632 572591.794 0, 1550690.006 572559.373 0,
+ 1550392.377 572526.969 0, 1550094.747 572494.583 0, 1549797.115 572462.214 0, 1549499.482 572429.863 0, 1549201.846 572397.529 0, 1548904.208 572365.213 0, 1548606.569 572332.915 0, 1548308.927 572300.633 0, 1548011.284 572268.37 0, 1547713.639 572236.124 0,
+ 1547415.991 572203.895 0, 1547118.342 572171.684 0, 1546820.691 572139.491 0, 1546523.039 572107.315 0, 1546225.384 572075.156 0, 1545927.727 572043.015 0, 1545630.069 572010.892 0, 1545332.408 571978.786 0, 1545033.393 571946.551 0, 1544437.538 577475.424 0,
+ 1543841.644 583004.672 0, 1544140.005 583036.836 0, 1544437.015 583068.872 0, 1544734.023 583100.925 0, 1545031.028 583132.996 0, 1545328.032 583165.084 0, 1545625.034 583197.19 0, 1545922.034 583229.313 0, 1546219.033 583261.453 0, 1546516.029 583293.611 0,
+ 1546813.023 583325.787 0, 1547110.016 583357.98 0, 1547407.007 583390.191 0, 1547703.995 583422.419 0, 1548000.982 583454.664 0, 1548297.967 583486.927 0, 1548594.95 583519.208 0, 1548891.931 583551.506 0, 1549188.911 583583.821 0, 1549485.888 583616.154 0,
+ 1549782.863 583648.504 0, 1550079.837 583680.872 0, 1550376.809 583713.257 0, 1550673.778 583745.66 0, 1550969.397 583777.933 0, 1551267.712 583810.518 0, 1551564.676 583842.974 0, 1551861.638 583875.446 0, 1552158.598 583907.937 0, 1552455.557 583940.444 0,
+ 1552752.513 583972.969 0, 1553049.467 584005.512 0, 1553346.42 584038.072 0, 1553643.371 584070.65 0, 1553940.319 584103.245 0, 1554237.266 584135.858 0, 1554534.211 584168.488 0, 1554831.154 584201.135 0, 1555128.095 584233.8 0, 1555425.034 584266.483 0,
+ 1555721.971 584299.183 0, 1556018.906 584331.9 0, 1556315.84 584364.635 0, 1556612.771 584397.387 0, 1556909.7 584430.157 0, 1557206.628 584462.944 0, 1557503.553 584495.749 0, 1557800.477 584528.572 0, 1558096.051 584561.262 0, 1558707.565 579033.72 0,
+ 1559319.037 573506.552 0))
+
+POLYGON ((1572346.004 586158.117 0, 1572050.521 586124.591 0, 1571753.692 586090.93 0, 1571456.86 586057.287 0, 1571160.026 586023.661 0, 1570863.191 585990.052 0, 1570566.353 585956.461 0, 1570269.513 585922.887 0, 1569972.672 585889.331 0, 1569675.828 585855.792 0,
+ 1569378.982 585822.271 0, 1569082.135 585788.767 0, 1568785.285 585755.281 0, 1568488.434 585721.812 0, 1568191.58 585688.361 0, 1567894.725 585654.927 0, 1567597.868 585621.511 0, 1567301.008 585588.112 0, 1567004.147 585554.73 0, 1566707.284 585521.366 0,
+ 1566410.419 585488.02 0, 1566113.551 585454.691 0, 1565816.682 585421.379 0, 1565519.811 585388.085 0, 1565221.592 585354.657 0, 1564926.063 585321.549 0, 1564629.186 585288.307 0, 1564332.307 585255.083 0, 1564035.426 585221.876 0, 1563738.543 585188.687 0,
+ 1563441.658 585155.515 0, 1563144.772 585122.361 0, 1562847.883 585089.224 0, 1562550.992 585056.105 0, 1562254.1 585023.003 0, 1561957.205 584989.919 0, 1561660.308 584956.852 0, 1561363.41 584923.802 0, 1561066.51 584890.77 0, 1560769.607 584857.756 0,
+ 1560472.703 584824.759 0, 1560175.797 584791.779 0, 1559878.889 584758.817 0, 1559581.978 584725.872 0, 1559285.066 584692.945 0, 1558988.152 584660.035 0, 1558691.237 584627.143 0, 1558394.319 584594.269 0, 1558096.051 584561.262 0, 1557484.497 590089.177 0,
+ 1556872.901 595617.46 0, 1557170.515 595650.394 0, 1557466.782 595683.197 0, 1557763.047 595716.017 0, 1558059.31 595748.854 0, 1558355.572 595781.709 0, 1558651.831 595814.582 0, 1558948.089 595847.472 0, 1559244.344 595880.379 0, 1559540.598 595913.304 0,
+ 1559836.849 595946.246 0, 1560133.099 595979.205 0, 1560429.347 596012.182 0, 1560725.593 596045.177 0, 1561021.836 596078.189 0, 1561318.078 596111.218 0, 1561614.318 596144.265 0, 1561910.556 596177.329 0, 1562206.793 596210.411 0, 1562503.027 596243.51 0,
+ 1562799.259 596276.626 0, 1563095.489 596309.76 0, 1563391.717 596342.912 0, 1563687.944 596376.081 0, 1563982.825 596409.116 0, 1564280.391 596442.471 0, 1564576.611 596475.692 0, 1564872.83 596508.93 0, 1565169.046 596542.186 0, 1565465.261 596575.46 0,
+ 1565761.473 596608.751 0, 1566057.684 596642.059 0, 1566353.893 596675.385 0, 1566650.1 596708.728 0, 1566946.305 596742.089 0, 1567242.507 596775.467 0, 1567538.708 596808.862 0, 1567834.907 596842.275 0, 1568131.104 596875.705 0, 1568427.299 596909.153 0,
+ 1568723.492 596942.618 0, 1569019.683 596976.101 0, 1569315.872 597009.601 0, 1569612.059 597043.119 0, 1569908.244 597076.654 0, 1570204.428 597110.206 0, 1570500.609 597143.776 0, 1570796.788 597177.363 0, 1571091.623 597210.815 0, 1571718.835 591684.282 0,
+ 1572346.004 586158.117 0))
+
+POLYGON ((1585305.787 598844.335 0, 1585011.045 598810.049 0, 1584714.962 598775.625 0, 1584418.877 598741.219 0, 1584122.79 598706.83 0, 1583826.701 598672.458 0, 1583530.609 598638.104 0, 1583234.516 598603.767 0, 1582938.421 598569.448 0, 1582642.324 598535.146 0,
+ 1582346.224 598500.862 0, 1582050.123 598466.595 0, 1581754.02 598432.345 0, 1581457.914 598398.113 0, 1581161.807 598363.898 0, 1580865.697 598329.701 0, 1580569.586 598295.521 0, 1580273.473 598261.359 0, 1579977.357 598227.214 0, 1579681.24 598193.086 0,
+ 1579385.12 598158.976 0, 1579088.999 598124.883 0, 1578792.876 598090.808 0, 1578496.75 598056.75 0, 1578199.282 598022.555 0, 1577904.493 597988.686 0, 1577608.362 597954.681 0, 1577312.228 597920.693 0, 1577016.093 597886.722 0, 1576719.955 597852.769 0,
+ 1576423.816 597818.833 0, 1576127.674 597784.914 0, 1575831.531 597751.013 0, 1575535.386 597717.13 0, 1575239.238 597683.264 0, 1574943.089 597649.415 0, 1574646.937 597615.584 0, 1574350.784 597581.77 0, 1574054.628 597547.973 0, 1573758.471 597514.194 0,
+ 1573462.312 597480.433 0, 1573166.15 597446.689 0, 1572869.987 597412.962 0, 1572573.822 597379.253 0, 1572277.654 597345.561 0, 1571981.485 597311.886 0, 1571685.314 597278.229 0, 1571389.14 597244.59 0, 1571091.623 597210.815 0, 1570464.37 602737.714 0,
+ 1569837.076 608264.976 0, 1570133.94 608298.676 0, 1570429.463 608332.242 0, 1570724.983 608365.825 0, 1571020.502 608399.425 0, 1571316.019 608433.043 0, 1571611.533 608466.678 0, 1571907.046 608500.331 0, 1572202.557 608534.001 0, 1572498.066 608567.688 0,
+ 1572793.572 608601.393 0, 1573089.077 608635.115 0, 1573384.58 608668.855 0, 1573680.081 608702.612 0, 1573975.58 608736.386 0, 1574271.077 608770.178 0, 1574566.572 608803.987 0, 1574862.064 608837.814 0, 1575157.555 608871.658 0, 1575453.044 608905.519 0,
+ 1575748.531 608939.398 0, 1576044.016 608973.294 0, 1576339.499 609007.207 0, 1576634.98 609041.138 0, 1576929.121 609074.933 0, 1577225.936 609109.052 0, 1577521.411 609143.035 0, 1577816.884 609177.036 0, 1578112.355 609211.053 0, 1578407.824 609245.089 0,
+ 1578703.291 609279.141 0, 1578998.755 609313.211 0, 1579294.218 609347.299 0, 1579589.679 609381.404 0, 1579885.138 609415.526 0, 1580180.595 609449.665 0, 1580476.05 609483.822 0, 1580771.503 609517.997 0, 1581066.954 609552.188 0, 1581362.403 609586.398 0,
+ 1581657.849 609620.624 0, 1581953.294 609654.868 0, 1582248.737 609689.129 0, 1582544.178 609723.408 0, 1582839.617 609757.704 0, 1583135.053 609792.018 0, 1583430.488 609826.348 0, 1583725.921 609860.697 0, 1584020.015 609894.907 0, 1584662.922 604369.44 0,
+ 1585305.787 598844.335 0))
+
+POLYGON ((1598198.292 611564.901 0, 1597904.294 611529.86 0, 1597608.959 611494.677 0, 1597313.623 611459.511 0, 1597018.284 611424.363 0, 1596722.943 611389.233 0, 1596427.601 611354.12 0, 1596132.256 611319.024 0, 1595836.909 611283.945 0, 1595541.56 611248.884 0,
+ 1595246.209 611213.84 0, 1594950.856 611178.814 0, 1594655.501 611143.805 0, 1594360.143 611108.814 0, 1594064.784 611073.84 0, 1593769.423 611038.883 0, 1593474.059 611003.943 0, 1593178.694 610969.021 0, 1592883.327 610934.117 0, 1592587.957 610899.229 0,
+ 1592292.585 610864.36 0, 1591997.212 610829.507 0, 1591701.836 610794.672 0, 1591406.458 610759.854 0, 1591109.743 610724.897 0, 1590815.697 610690.271 0, 1590520.313 610655.506 0, 1590224.927 610620.757 0, 1589929.539 610586.027 0, 1589634.149 610551.313 0,
+ 1589338.757 610516.617 0, 1589043.363 610481.939 0, 1588747.966 610447.277 0, 1588452.568 610412.634 0, 1588157.168 610378.007 0, 1587861.766 610343.398 0, 1587566.362 610308.806 0, 1587270.955 610274.232 0, 1586975.547 610239.675 0, 1586680.136 610205.136 0,
+ 1586384.724 610170.613 0, 1586089.309 610136.109 0, 1585793.893 610101.621 0, 1585498.474 610067.151 0, 1585203.054 610032.699 0, 1584907.631 609998.264 0, 1584612.207 609963.846 0, 1584316.78 609929.445 0, 1584020.015 609894.907 0, 1583377.066 615420.733 0,
+ 1582734.076 620946.916 0, 1583030.187 620981.378 0, 1583324.964 621015.703 0, 1583619.738 621050.045 0, 1583914.51 621084.404 0, 1584209.28 621118.781 0, 1584504.048 621153.175 0, 1584798.814 621187.586 0, 1585093.578 621222.015 0, 1585388.34 621256.461 0,
+ 1585683.1 621290.925 0, 1585977.858 621325.406 0, 1586272.614 621359.904 0, 1586567.368 621394.419 0, 1586862.119 621428.952 0, 1587156.869 621463.502 0, 1587451.617 621498.07 0, 1587746.363 621532.655 0, 1588041.106 621567.257 0, 1588335.848 621601.877 0,
+ 1588630.588 621636.514 0, 1588925.325 621671.168 0, 1589220.061 621705.84 0, 1589514.794 621740.529 0, 1589808.194 621775.078 0, 1590104.255 621809.959 0, 1590398.982 621844.7 0, 1590693.708 621879.458 0, 1590988.431 621914.234 0, 1591283.152 621949.027 0,
+ 1591577.871 621983.837 0, 1591872.589 622018.665 0, 1592167.304 622053.51 0, 1592462.017 622088.373 0, 1592756.728 622123.252 0, 1593051.437 622158.15 0, 1593346.143 622193.064 0, 1593640.848 622227.996 0, 1593935.551 622262.945 0, 1594230.252 622297.912 0,
+ 1594524.95 622332.895 0, 1594819.647 622367.897 0, 1595114.341 622402.915 0, 1595409.034 622437.951 0, 1595703.724 622473.004 0, 1595998.413 622508.075 0, 1596293.099 622543.163 0, 1596587.783 622578.268 0, 1596881.134 622613.232 0, 1597539.735 617088.889 0,
+ 1598198.292 611564.901 0))
+
+POLYGON ((1611023.429 624319.51 0, 1610730.175 624283.718 0, 1610435.591 624247.78 0, 1610141.005 624211.859 0, 1609846.417 624175.956 0, 1609551.827 624140.071 0, 1609257.235 624104.202 0, 1608962.641 624068.351 0, 1608668.044 624032.518 0, 1608373.445 623996.701 0,
+ 1608078.845 623960.902 0, 1607784.242 623925.121 0, 1607489.637 623889.357 0, 1607195.03 623853.61 0, 1606900.421 623817.88 0, 1606605.809 623782.168 0, 1606311.196 623746.473 0, 1606016.581 623710.795 0, 1605721.963 623675.135 0, 1605427.343 623639.492 0,
+ 1605132.722 623603.866 0, 1604838.098 623568.258 0, 1604543.472 623532.667 0, 1604248.844 623497.094 0, 1603952.884 623461.377 0, 1603659.581 623425.999 0, 1603364.947 623390.477 0, 1603070.311 623354.973 0, 1602775.672 623319.486 0, 1602481.032 623284.016 0,
+ 1602186.389 623248.564 0, 1601891.744 623213.13 0, 1601597.097 623177.712 0, 1601302.448 623142.312 0, 1601007.797 623106.929 0, 1600713.144 623071.564 0, 1600418.489 623036.216 0, 1600123.832 623000.885 0, 1599829.173 622965.571 0, 1599534.511 622930.275 0,
+ 1599239.848 622894.997 0, 1598945.182 622859.735 0, 1598650.515 622824.491 0, 1598355.845 622789.264 0, 1598061.173 622754.055 0, 1597766.499 622718.863 0, 1597471.823 622683.688 0, 1597177.145 622648.531 0, 1596881.134 622613.232 0, 1596222.492 628137.929 0,
+ 1595563.808 633662.975 0, 1595859.166 633698.195 0, 1596153.193 633733.275 0, 1596447.219 633768.372 0, 1596741.243 633803.486 0, 1597035.264 633838.618 0, 1597329.283 633873.767 0, 1597623.301 633908.933 0, 1597917.316 633944.117 0, 1598211.329 633979.318 0,
+ 1598505.34 634014.536 0, 1598799.349 634049.771 0, 1599093.356 634085.024 0, 1599387.361 634120.294 0, 1599681.364 634155.582 0, 1599975.364 634190.886 0, 1600269.363 634226.208 0, 1600563.36 634261.548 0, 1600857.354 634296.904 0, 1601151.346 634332.278 0,
+ 1601445.337 634367.67 0, 1601739.325 634403.078 0, 1602033.311 634438.504 0, 1602327.295 634473.947 0, 1602619.951 634509.247 0, 1602915.257 634544.885 0, 1603209.235 634580.38 0, 1603503.21 634615.893 0, 1603797.184 634651.422 0, 1604091.156 634686.969 0,
+ 1604385.125 634722.534 0, 1604679.092 634758.115 0, 1604973.058 634793.714 0, 1605267.021 634829.33 0, 1605560.982 634864.964 0, 1605854.941 634900.614 0, 1606148.898 634936.282 0, 1606442.852 634971.968 0, 1606736.805 635007.67 0, 1607030.756 635043.39 0,
+ 1607324.704 635079.128 0, 1607618.65 635114.882 0, 1607912.595 635150.654 0, 1608206.537 635186.443 0, 1608500.477 635222.25 0, 1608794.415 635258.074 0, 1609088.35 635293.915 0, 1609382.284 635329.773 0, 1609674.891 635365.487 0, 1610349.181 629842.324 0,
+ 1611023.429 624319.51 0))
+
+POLYGON ((1623781.107 637107.859 0, 1623488.6 637071.318 0, 1623194.769 637034.629 0, 1622900.935 636997.958 0, 1622607.1 636961.304 0, 1622313.262 636924.667 0, 1622019.422 636888.048 0, 1621725.58 636851.446 0, 1621431.736 636814.861 0, 1621137.89 636778.293 0,
+ 1620844.041 636741.743 0, 1620550.191 636705.21 0, 1620256.338 636668.694 0, 1619962.483 636632.196 0, 1619668.626 636595.715 0, 1619374.767 636559.251 0, 1619080.905 636522.804 0, 1618787.042 636486.375 0, 1618493.176 636449.963 0, 1618199.309 636413.569 0,
+ 1617905.439 636377.191 0, 1617611.567 636340.831 0, 1617317.692 636304.488 0, 1617023.816 636268.163 0, 1616728.614 636231.691 0, 1616436.057 636195.564 0, 1616142.174 636159.29 0, 1615848.289 636123.034 0, 1615554.402 636086.795 0, 1615260.513 636050.574 0,
+ 1614966.622 636014.369 0, 1614672.729 635978.182 0, 1614378.833 635942.012 0, 1614084.935 635905.86 0, 1613791.036 635869.725 0, 1613497.134 635833.607 0, 1613203.23 635797.506 0, 1612909.323 635761.423 0, 1612615.415 635725.357 0, 1612321.505 635689.308 0,
+ 1612027.592 635653.277 0, 1611733.678 635617.263 0, 1611439.761 635581.266 0, 1611145.842 635545.287 0, 1610851.921 635509.324 0, 1610557.998 635473.38 0, 1610264.072 635437.452 0, 1609970.145 635401.542 0, 1609674.891 635365.487 0, 1609000.558 640888.996 0,
+ 1608326.183 646412.848 0, 1608620.785 646448.823 0, 1608914.062 646484.654 0, 1609207.337 646520.502 0, 1609500.61 646556.367 0, 1609793.88 646592.25 0, 1610087.149 646628.15 0, 1610380.416 646664.067 0, 1610673.68 646700.001 0, 1610966.943 646735.953 0,
+ 1611260.203 646771.922 0, 1611553.461 646807.908 0, 1611846.717 646843.912 0, 1612139.971 646879.932 0, 1612433.222 646915.97 0, 1612726.472 646952.026 0, 1613019.72 646988.098 0, 1613312.965 647024.188 0, 1613606.208 647060.295 0, 1613899.449 647096.419 0,
+ 1614192.688 647132.561 0, 1614485.925 647168.719 0, 1614779.16 647204.895 0, 1615072.393 647241.089 0, 1615364.302 647277.136 0, 1615658.852 647313.527 0, 1615952.078 647349.772 0, 1616245.302 647386.035 0, 1616538.524 647422.314 0, 1616831.744 647458.611 0,
+ 1617124.961 647494.925 0, 1617418.177 647531.257 0, 1617711.39 647567.605 0, 1618004.602 647603.971 0, 1618297.811 647640.354 0, 1618591.018 647676.755 0, 1618884.223 647713.172 0, 1619177.425 647749.607 0, 1619470.626 647786.059 0, 1619763.824 647822.529 0,
+ 1620057.02 647859.016 0, 1620350.215 647895.52 0, 1620643.407 647932.041 0, 1620936.596 647968.579 0, 1621229.784 648005.135 0, 1621522.97 648041.708 0, 1621816.153 648078.298 0, 1622109.334 648114.906 0, 1622401.194 648151.366 0, 1623091.172 642629.441 0,
+ 1623781.107 637107.859 0))
+
+POLYGON ((1636471.237 649929.64 0, 1636179.479 649892.356 0, 1635886.402 649854.92 0, 1635593.323 649817.502 0, 1635300.242 649780.101 0, 1635007.159 649742.717 0, 1634714.074 649705.35 0, 1634420.986 649668.001 0, 1634127.896 649630.669 0, 1633834.804 649593.354 0,
+ 1633541.71 649556.056 0, 1633248.614 649518.776 0, 1632955.515 649481.513 0, 1632662.414 649444.267 0, 1632369.311 649407.038 0, 1632076.206 649369.827 0, 1631783.099 649332.633 0, 1631489.989 649295.456 0, 1631196.878 649258.296 0, 1630903.764 649221.154 0,
+ 1630610.647 649184.029 0, 1630317.529 649146.921 0, 1630024.409 649109.83 0, 1629731.286 649072.757 0, 1629436.843 649035.534 0, 1629145.034 648998.662 0, 1628851.905 648961.64 0, 1628558.774 648924.636 0, 1628265.64 648887.649 0, 1627972.504 648850.679 0,
+ 1627679.366 648813.726 0, 1627386.226 648776.791 0, 1627093.084 648739.873 0, 1626799.94 648702.972 0, 1626506.793 648666.089 0, 1626213.644 648629.222 0, 1625920.493 648592.373 0, 1625627.34 648555.541 0, 1625334.185 648518.727 0, 1625041.027 648481.93 0,
+ 1624747.868 648445.15 0, 1624454.706 648408.387 0, 1624161.542 648371.641 0, 1623868.376 648334.913 0, 1623575.208 648298.202 0, 1623282.037 648261.508 0, 1622988.865 648224.832 0, 1622695.69 648188.172 0, 1622401.194 648151.366 0, 1621711.173 653673.63 0,
+ 1621021.111 659196.231 0, 1621314.954 659232.956 0, 1621607.479 659269.534 0, 1621900.002 659306.129 0, 1622192.522 659342.741 0, 1622485.04 659379.371 0, 1622777.556 659416.018 0, 1623070.07 659452.682 0, 1623362.582 659489.363 0, 1623655.091 659526.062 0,
+ 1623947.599 659562.777 0, 1624240.104 659599.51 0, 1624532.607 659636.26 0, 1624825.108 659673.028 0, 1625117.607 659709.812 0, 1625410.103 659746.614 0, 1625702.598 659783.433 0, 1625995.09 659820.269 0, 1626287.58 659857.123 0, 1626580.068 659893.993 0,
+ 1626872.554 659930.881 0, 1627165.038 659967.786 0, 1627457.519 660004.709 0, 1627749.998 660041.648 0, 1628041.16 660078.439 0, 1628334.95 660115.579 0, 1628627.423 660152.57 0, 1628919.893 660189.578 0, 1629212.362 660226.604 0, 1629504.828 660263.647 0,
+ 1629797.292 660300.707 0, 1630089.754 660337.784 0, 1630382.213 660374.878 0, 1630674.671 660411.99 0, 1630967.126 660449.119 0, 1631259.579 660486.265 0, 1631552.03 660523.428 0, 1631844.479 660560.609 0, 1632136.925 660597.807 0, 1632429.369 660635.021 0,
+ 1632721.812 660672.254 0, 1633014.251 660709.503 0, 1633306.689 660746.77 0, 1633599.125 660784.053 0, 1633891.558 660821.354 0, 1634183.989 660858.673 0, 1634476.418 660896.008 0, 1634768.845 660933.361 0, 1635059.956 660970.562 0, 1635765.618 655449.933 0,
+ 1636471.237 649929.64 0))
+
+POLYGON ((1649093.731 662784.55 0, 1648802.725 662746.525 0, 1648510.405 662708.346 0, 1648218.082 662670.185 0, 1647925.758 662632.041 0, 1647633.431 662593.914 0, 1647341.102 662555.804 0, 1647048.771 662517.711 0, 1646756.437 662479.636 0, 1646464.101 662441.578 0,
+ 1646171.763 662403.537 0, 1645879.423 662365.513 0, 1645587.081 662327.506 0, 1645294.736 662289.517 0, 1645002.389 662251.545 0, 1644710.04 662213.59 0, 1644417.688 662175.652 0, 1644125.335 662137.732 0, 1643832.979 662099.828 0, 1643540.621 662061.942 0,
+ 1643248.26 662024.073 0, 1642955.898 661986.222 0, 1642663.533 661948.387 0, 1642371.166 661910.57 0, 1642077.484 661872.6 0, 1641786.425 661834.987 0, 1641494.051 661797.221 0, 1641201.676 661759.473 0, 1640909.297 661721.741 0, 1640616.917 661684.027 0,
+ 1640324.534 661646.331 0, 1640032.15 661608.651 0, 1639739.763 661570.988 0, 1639447.373 661533.343 0, 1639154.982 661495.715 0, 1638862.588 661458.104 0, 1638570.192 661420.511 0, 1638277.794 661382.935 0, 1637985.394 661345.375 0, 1637692.991 661307.833 0,
+ 1637400.587 661270.309 0, 1637108.18 661232.801 0, 1636815.771 661195.311 0, 1636523.359 661157.838 0, 1636230.946 661120.382 0, 1635938.53 661082.943 0, 1635646.112 661045.522 0, 1635353.692 661008.117 0, 1635059.956 660970.562 0, 1634354.251 666491.525 0,
+ 1633648.505 672012.816 0, 1633941.588 672050.288 0, 1634233.358 672087.609 0, 1634525.126 672124.947 0, 1634816.892 672162.303 0, 1635108.656 672199.675 0, 1635400.417 672237.065 0, 1635692.176 672274.472 0, 1635983.933 672311.896 0, 1636275.688 672349.338 0,
+ 1636567.441 672386.796 0, 1636859.191 672424.272 0, 1637150.94 672461.765 0, 1637442.686 672499.275 0, 1637734.429 672536.802 0, 1638026.171 672574.346 0, 1638317.91 672611.908 0, 1638609.648 672649.487 0, 1638901.383 672687.082 0, 1639193.115 672724.696 0,
+ 1639484.846 672762.326 0, 1639776.574 672799.973 0, 1640068.3 672837.638 0, 1640360.024 672875.319 0, 1640650.436 672912.849 0, 1640943.465 672950.734 0, 1641235.183 672988.468 0, 1641526.898 673026.218 0, 1641818.61 673063.986 0, 1642110.321 673101.77 0,
+ 1642402.029 673139.572 0, 1642693.735 673177.391 0, 1642985.439 673215.228 0, 1643277.141 673253.081 0, 1643568.84 673290.952 0, 1643860.538 673328.839 0, 1644152.232 673366.744 0, 1644443.925 673404.667 0, 1644735.616 673442.606 0, 1645027.304 673480.562 0,
+ 1645318.99 673518.536 0, 1645610.674 673556.527 0, 1645902.355 673594.535 0, 1646194.035 673632.56 0, 1646485.712 673670.602 0, 1646777.387 673708.661 0, 1647069.059 673746.738 0, 1647360.73 673784.832 0, 1647651.09 673822.772 0, 1648372.432 668303.496 0,
+ 1649093.731 662784.55 0))
+
+POLYGON ((1661648.505 675672.28 0, 1661358.251 675633.519 0, 1661066.69 675594.602 0, 1660775.126 675555.701 0, 1660483.56 675516.818 0, 1660191.991 675477.952 0, 1659900.421 675439.103 0, 1659608.848 675400.271 0, 1659317.272 675361.456 0, 1659025.695 675322.659 0,
+ 1658734.115 675283.878 0, 1658442.533 675245.115 0, 1658150.948 675206.369 0, 1657859.362 675167.64 0, 1657567.773 675128.929 0, 1657276.181 675090.234 0, 1656984.588 675051.557 0, 1656692.992 675012.896 0, 1656401.394 674974.253 0, 1656109.793 674935.627 0,
+ 1655818.191 674897.019 0, 1655526.586 674858.427 0, 1655234.979 674819.853 0, 1654943.369 674781.295 0, 1654650.451 674742.583 0, 1654360.143 674704.232 0, 1654068.527 674665.727 0, 1653776.909 674627.238 0, 1653485.288 674588.767 0, 1653193.665 674550.312 0,
+ 1652902.039 674511.875 0, 1652610.412 674473.455 0, 1652318.782 674435.053 0, 1652027.15 674396.667 0, 1651735.516 674358.299 0, 1651443.879 674319.947 0, 1651152.24 674281.613 0, 1650860.599 674243.296 0, 1650568.955 674204.996 0, 1650277.31 674166.714 0,
+ 1649985.662 674128.448 0, 1649694.012 674090.2 0, 1649402.359 674051.969 0, 1649110.705 674013.755 0, 1648819.048 673975.558 0, 1648527.389 673937.379 0, 1648235.727 673899.216 0, 1647944.064 673861.071 0, 1647651.09 673822.772 0, 1646929.705 679342.374 0,
+ 1646208.277 684862.299 0, 1646500.599 684900.513 0, 1646791.612 684938.573 0, 1647082.624 684976.651 0, 1647373.634 685014.745 0, 1647664.641 685052.857 0, 1647955.646 685090.986 0, 1648246.648 685129.132 0, 1648537.649 685167.295 0, 1648828.647 685205.475 0,
+ 1649119.643 685243.673 0, 1649410.636 685281.887 0, 1649701.628 685320.119 0, 1649992.617 685358.367 0, 1650283.604 685396.633 0, 1650574.589 685434.916 0, 1650865.571 685473.216 0, 1651156.551 685511.533 0, 1651447.529 685549.868 0, 1651738.505 685588.219 0,
+ 1652029.478 685626.588 0, 1652320.449 685664.974 0, 1652611.418 685703.376 0, 1652902.385 685741.796 0, 1653192.045 685780.061 0, 1653484.311 685818.688 0, 1653775.271 685857.159 0, 1654066.229 685895.648 0, 1654357.184 685934.153 0, 1654648.137 685972.676 0,
+ 1654939.088 686011.216 0, 1655230.036 686049.773 0, 1655520.982 686088.347 0, 1655811.926 686126.938 0, 1656102.868 686165.546 0, 1656393.807 686204.172 0, 1656684.745 686242.814 0, 1656975.679 686281.474 0, 1657266.612 686320.151 0, 1657557.542 686358.845 0,
+ 1657848.47 686397.556 0, 1658139.396 686436.284 0, 1658430.32 686475.03 0, 1658721.241 686513.792 0, 1659012.16 686552.572 0, 1659303.076 686591.368 0, 1659593.991 686630.182 0, 1659884.903 686669.013 0, 1660174.51 686707.687 0, 1660911.529 681189.822 0,
+ 1661648.505 675672.28 0))
+
+POLYGON ((1674135.473 688592.525 0, 1673845.974 688553.032 0, 1673555.173 688513.38 0, 1673264.37 688473.744 0, 1672973.564 688434.126 0, 1672682.756 688394.524 0, 1672391.945 688354.94 0, 1672101.132 688315.373 0, 1671810.317 688275.823 0, 1671519.5 688236.29 0,
+ 1671228.68 688196.774 0, 1670937.858 688157.276 0, 1670647.033 688117.794 0, 1670356.206 688078.33 0, 1670065.377 688038.883 0, 1669774.546 687999.452 0, 1669483.712 687960.039 0, 1669192.876 687920.644 0, 1668902.038 687881.265 0, 1668611.197 687841.903 0,
+ 1668320.354 687802.558 0, 1668029.508 687763.231 0, 1667738.661 687723.921 0, 1667447.811 687684.627 0, 1667155.657 687645.176 0, 1666866.104 687606.092 0, 1666575.247 687566.851 0, 1666284.388 687527.626 0, 1665993.526 687488.418 0, 1665702.662 687449.228 0,
+ 1665411.796 687410.054 0, 1665120.928 687370.898 0, 1664830.057 687331.759 0, 1664539.184 687292.637 0, 1664248.309 687253.532 0, 1663957.431 687214.444 0, 1663666.551 687175.374 0, 1663375.669 687136.32 0, 1663084.784 687097.284 0, 1662793.897 687058.264 0,
+ 1662503.008 687019.262 0, 1662212.117 686980.277 0, 1661921.223 686941.309 0, 1661630.327 686902.358 0, 1661339.429 686863.425 0, 1661048.528 686824.508 0, 1660757.625 686785.609 0, 1660466.72 686746.726 0, 1660174.51 686707.687 0, 1659437.448 692225.872 0,
+ 1658700.344 697744.373 0, 1658991.901 697783.325 0, 1659282.157 697822.121 0, 1659572.41 697860.933 0, 1659862.661 697899.763 0, 1660152.91 697938.61 0, 1660443.157 697977.474 0, 1660733.401 698016.354 0, 1661023.643 698055.252 0, 1661313.882 698094.168 0,
+ 1661604.119 698133.1 0, 1661894.354 698172.049 0, 1662184.587 698211.015 0, 1662474.818 698249.999 0, 1662765.046 698288.999 0, 1663055.272 698328.017 0, 1663345.495 698367.051 0, 1663635.716 698406.103 0, 1663925.935 698445.172 0, 1664216.152 698484.258 0,
+ 1664506.366 698523.361 0, 1664796.578 698562.481 0, 1665086.788 698601.618 0, 1665376.995 698640.772 0, 1665665.902 698679.768 0, 1665957.403 698719.132 0, 1666247.604 698758.337 0, 1666537.802 698797.56 0, 1666827.998 698836.8 0, 1667118.192 698876.056 0,
+ 1667408.383 698915.33 0, 1667698.572 698954.621 0, 1667988.758 698993.929 0, 1668278.943 699033.254 0, 1668569.125 699072.596 0, 1668859.305 699111.955 0, 1669149.482 699151.332 0, 1669439.657 699190.725 0, 1669729.83 699230.135 0, 1670020 699269.563 0,
+ 1670310.168 699309.007 0, 1670600.334 699348.469 0, 1670890.498 699387.948 0, 1671180.659 699427.444 0, 1671470.817 699466.957 0, 1671760.974 699506.487 0, 1672051.128 699546.034 0, 1672341.28 699585.598 0, 1672630.133 699625.002 0, 1673382.825 694108.605 0,
+ 1674135.473 688592.525 0))
+
+POLYGON ((1686554.553 701544.977 0, 1686265.81 701504.757 0, 1685975.771 701464.373 0, 1685685.73 701424.007 0, 1685395.686 701383.657 0, 1685105.64 701343.325 0, 1684815.592 701303.009 0, 1684525.541 701262.711 0, 1684235.488 701222.429 0, 1683945.433 701182.165 0,
+ 1683655.375 701141.918 0, 1683365.314 701101.688 0, 1683075.252 701061.475 0, 1682785.187 701021.279 0, 1682495.119 700981.1 0, 1682205.05 700940.939 0, 1681914.978 700900.794 0, 1681624.903 700860.666 0, 1681334.826 700820.556 0, 1681044.747 700780.462 0,
+ 1680754.666 700740.386 0, 1680464.582 700700.326 0, 1680174.496 700660.284 0, 1679884.407 700620.259 0, 1679593.021 700580.072 0, 1679304.223 700540.26 0, 1679014.127 700500.286 0, 1678724.029 700460.329 0, 1678433.929 700420.389 0, 1678143.826 700380.467 0,
+ 1677853.721 700340.561 0, 1677563.614 700300.672 0, 1677273.504 700260.801 0, 1676983.392 700220.946 0, 1676693.277 700181.109 0, 1676403.161 700141.289 0, 1676113.041 700101.485 0, 1675822.92 700061.699 0, 1675532.796 700021.93 0, 1675242.67 699982.178 0,
+ 1674952.541 699942.443 0, 1674662.411 699902.726 0, 1674372.277 699863.025 0, 1674082.142 699823.341 0, 1673792.004 699783.675 0, 1673501.864 699744.025 0, 1673211.721 699704.393 0, 1672921.577 699664.777 0, 1672630.133 699625.002 0, 1671877.398 705141.712 0,
+ 1671124.621 710658.731 0, 1671415.413 710698.417 0, 1671704.908 710737.944 0, 1671994.401 710777.488 0, 1672283.892 710817.048 0, 1672573.38 710856.626 0, 1672862.866 710896.221 0, 1673152.35 710935.833 0, 1673441.832 710975.462 0, 1673731.311 711015.108 0,
+ 1674020.788 711054.771 0, 1674310.262 711094.451 0, 1674599.734 711134.148 0, 1674889.204 711173.862 0, 1675178.671 711213.593 0, 1675468.136 711253.341 0, 1675757.599 711293.107 0, 1676047.06 711332.889 0, 1676336.518 711372.688 0, 1676625.973 711412.505 0,
+ 1676915.427 711452.338 0, 1677204.878 711492.188 0, 1677494.327 711532.056 0, 1677783.773 711571.94 0, 1678071.924 711611.664 0, 1678362.659 711651.76 0, 1678652.098 711691.696 0, 1678941.535 711731.649 0, 1679230.969 711771.618 0, 1679520.402 711811.605 0,
+ 1679809.831 711851.609 0, 1680099.259 711891.629 0, 1680388.684 711931.667 0, 1680678.107 711971.722 0, 1680967.528 712011.794 0, 1681256.946 712051.883 0, 1681546.361 712091.989 0, 1681835.775 712132.112 0, 1682125.186 712172.252 0, 1682414.594 712212.409 0,
+ 1682704.001 712252.583 0, 1682993.405 712292.774 0, 1683282.806 712332.982 0, 1683572.205 712373.207 0, 1683861.602 712413.45 0, 1684150.997 712453.709 0, 1684440.389 712493.985 0, 1684729.778 712534.279 0, 1685017.875 712574.409 0, 1685786.235 707059.538 0,
+ 1686554.553 701544.977 0))
+
+POLYGON ((1698905.661 714529.33 0, 1698617.677 714488.386 0, 1698328.402 714447.275 0, 1698039.125 714406.181 0, 1697749.845 714365.105 0, 1697460.564 714324.045 0, 1697171.279 714283.002 0, 1696881.992 714241.977 0, 1696592.703 714200.968 0, 1696303.411 714159.977 0,
+ 1696014.117 714119.002 0, 1695724.821 714078.045 0, 1695435.522 714037.104 0, 1695146.221 713996.181 0, 1694856.917 713955.274 0, 1694567.611 713914.385 0, 1694278.302 713873.513 0, 1693988.992 713832.657 0, 1693699.678 713791.819 0, 1693410.363 713750.998 0,
+ 1693121.044 713710.193 0, 1692831.724 713669.406 0, 1692542.401 713628.636 0, 1692253.076 713587.883 0, 1691962.458 713546.965 0, 1691674.418 713506.428 0, 1691385.085 713465.726 0, 1691095.75 713425.041 0, 1690806.413 713384.373 0, 1690517.073 713343.722 0,
+ 1690227.731 713303.088 0, 1689938.387 713262.471 0, 1689649.04 713221.871 0, 1689359.691 713181.288 0, 1689070.339 713140.722 0, 1688780.985 713100.173 0, 1688491.629 713059.642 0, 1688202.27 713019.127 0, 1687912.909 712978.629 0, 1687623.545 712938.149 0,
+ 1687334.179 712897.685 0, 1687044.811 712857.238 0, 1686755.44 712816.809 0, 1686466.067 712776.396 0, 1686176.691 712736.001 0, 1685887.314 712695.622 0, 1685597.933 712655.261 0, 1685308.551 712614.916 0, 1685017.875 712574.409 0, 1684249.471 718089.586 0,
+ 1683481.026 723605.065 0, 1683771.05 723645.482 0, 1684059.783 723685.736 0, 1684348.514 723726.007 0, 1684637.243 723766.294 0, 1684925.969 723806.599 0, 1685214.693 723846.921 0, 1685503.415 723887.26 0, 1685792.134 723927.616 0, 1686080.851 723967.989 0,
+ 1686369.565 724008.379 0, 1686658.277 724048.786 0, 1686946.987 724089.209 0, 1687235.694 724129.65 0, 1687524.399 724170.108 0, 1687813.101 724210.583 0, 1688101.801 724251.075 0, 1688390.499 724291.583 0, 1688679.194 724332.109 0, 1688967.887 724372.652 0,
+ 1689256.578 724413.212 0, 1689545.266 724453.789 0, 1689833.952 724494.382 0, 1690122.635 724534.993 0, 1690410.029 724575.44 0, 1690699.995 724616.266 0, 1690988.671 724656.927 0, 1691277.345 724697.606 0, 1691566.016 724738.302 0, 1691854.685 724779.014 0,
+ 1692143.352 724819.744 0, 1692432.016 724860.491 0, 1692720.678 724901.254 0, 1693009.337 724942.035 0, 1693297.994 724982.833 0, 1693586.649 725023.647 0, 1693875.301 725064.479 0, 1694163.951 725105.328 0, 1694452.599 725146.193 0, 1694741.244 725187.076 0,
+ 1695029.886 725227.975 0, 1695318.526 725268.892 0, 1695607.164 725309.826 0, 1695895.8 725350.776 0, 1696184.433 725391.744 0, 1696473.063 725432.728 0, 1696761.691 725473.73 0, 1697050.317 725514.748 0, 1697337.655 725555.601 0, 1698121.679 720042.314 0,
+ 1698905.661 714529.33 0))
+
+POLYGON ((1711188.717 727545.276 0, 1710901.494 727503.611 0, 1710612.985 727461.778 0, 1710324.474 727419.961 0, 1710035.961 727378.161 0, 1709747.444 727336.378 0, 1709458.926 727294.612 0, 1709170.405 727252.864 0, 1708881.881 727211.132 0, 1708593.356 727169.417 0,
+ 1708304.827 727127.719 0, 1708016.296 727086.038 0, 1707727.763 727044.374 0, 1707439.227 727002.727 0, 1707150.689 726961.097 0, 1706862.149 726919.484 0, 1706573.606 726877.888 0, 1706285.06 726836.309 0, 1705996.512 726794.747 0, 1705707.962 726753.202 0,
+ 1705419.409 726711.674 0, 1705130.853 726670.163 0, 1704842.296 726628.669 0, 1704553.736 726587.192 0, 1704263.889 726545.547 0, 1703976.608 726504.288 0, 1703688.04 726462.862 0, 1703399.47 726421.453 0, 1703110.898 726380.061 0, 1702822.323 726338.685 0,
+ 1702533.746 726297.327 0, 1702245.166 726255.986 0, 1701956.584 726214.662 0, 1701668 726173.354 0, 1701379.413 726132.064 0, 1701090.823 726090.791 0, 1700802.231 726049.535 0, 1700513.637 726008.295 0, 1700225.04 725967.073 0, 1699936.441 725925.867 0,
+ 1699647.84 725884.679 0, 1699359.236 725843.508 0, 1699070.629 725802.353 0, 1698782.021 725761.216 0, 1698493.409 725720.095 0, 1698204.796 725678.992 0, 1697916.18 725637.906 0, 1697627.561 725596.836 0, 1697337.655 725555.601 0, 1696553.588 731069.187 0,
+ 1695769.478 736583.069 0, 1696058.733 736624.211 0, 1696346.702 736665.189 0, 1696634.669 736706.183 0, 1696922.634 736747.194 0, 1697210.596 736788.222 0, 1697498.556 736829.266 0, 1697786.513 736870.328 0, 1698074.468 736911.407 0, 1698362.421 736952.503 0,
+ 1698650.371 736993.616 0, 1698938.319 737034.745 0, 1699226.264 737075.892 0, 1699514.207 737117.055 0, 1699802.147 737158.236 0, 1700090.085 737199.433 0, 1700378.021 737240.648 0, 1700665.954 737281.879 0, 1700953.885 737323.127 0, 1701241.813 737364.393 0,
+ 1701529.739 737405.675 0, 1701817.662 737446.974 0, 1702105.583 737488.29 0, 1702393.502 737529.623 0, 1702680.137 737570.789 0, 1702969.332 737612.34 0, 1703257.243 737653.724 0, 1703545.152 737695.124 0, 1703833.058 737736.542 0, 1704120.962 737777.977 0,
+ 1704408.864 737819.428 0, 1704696.763 737860.897 0, 1704984.659 737902.383 0, 1705272.554 737943.885 0, 1705560.445 737985.404 0, 1705848.335 738026.941 0, 1706136.221 738068.494 0, 1706424.106 738110.064 0, 1706711.988 738151.652 0, 1706999.867 738193.256 0,
+ 1707287.744 738234.877 0, 1707575.619 738276.515 0, 1707863.491 738318.17 0, 1708151.361 738359.842 0, 1708439.228 738401.531 0, 1708727.093 738443.236 0, 1709014.955 738484.959 0, 1709302.815 738526.699 0, 1709589.393 738568.27 0, 1710389.076 733056.625 0,
+ 1711188.717 727545.276 0))
+
+POLYGON ((1424466.686 460032.019 0, 1424163.839 460007.16 0, 1423859.587 459982.204 0, 1423555.333 459957.265 0, 1423251.077 459932.344 0, 1422946.82 459907.442 0, 1422642.562 459882.557 0, 1422338.302 459857.69 0, 1422034.041 459832.841 0, 1421729.778 459808.01 0,
+ 1421425.514 459783.196 0, 1421121.248 459758.401 0, 1420816.981 459733.624 0, 1420512.712 459708.864 0, 1420208.442 459684.123 0, 1419904.171 459659.399 0, 1419599.898 459634.693 0, 1419295.623 459610.005 0, 1418991.347 459585.335 0, 1418687.07 459560.683 0,
+ 1418382.791 459536.049 0, 1418078.511 459511.433 0, 1417774.229 459486.835 0, 1417469.946 459462.254 0, 1417164.256 459437.578 0, 1416861.376 459413.147 0, 1416557.088 459388.62 0, 1416252.799 459364.112 0, 1415948.509 459339.621 0, 1415644.217 459315.148 0,
+ 1415339.924 459290.693 0, 1415035.629 459266.256 0, 1414731.333 459241.836 0, 1414427.036 459217.435 0, 1414122.737 459193.052 0, 1413818.436 459168.686 0, 1413514.134 459144.339 0, 1413209.831 459120.009 0, 1412905.526 459095.697 0, 1412601.22 459071.403 0,
+ 1412296.913 459047.127 0, 1411992.604 459022.869 0, 1411688.293 458998.629 0, 1411383.981 458974.407 0, 1411079.668 458950.203 0, 1410775.354 458926.016 0, 1410471.037 458901.848 0, 1410166.72 458877.697 0, 1409860.994 458853.453 0, 1409422.136 464389.652 0,
+ 1408983.244 469926.282 0, 1409288.315 469950.474 0, 1409591.981 469974.573 0, 1409895.646 469998.69 0, 1410199.309 470022.824 0, 1410502.97 470046.977 0, 1410806.63 470071.147 0, 1411110.289 470095.335 0, 1411413.946 470119.541 0, 1411717.602 470143.765 0,
+ 1412021.257 470168.007 0, 1412324.91 470192.267 0, 1412628.561 470216.544 0, 1412932.211 470240.84 0, 1413235.86 470265.153 0, 1413539.507 470289.484 0, 1413843.153 470313.833 0, 1414146.798 470338.2 0, 1414450.441 470362.585 0, 1414754.082 470386.988 0,
+ 1415057.722 470411.408 0, 1415361.361 470435.847 0, 1415664.998 470460.303 0, 1415968.634 470484.777 0, 1416270.866 470509.156 0, 1416575.901 470533.779 0, 1416879.533 470558.307 0, 1417183.163 470582.852 0, 1417486.791 470607.416 0, 1417790.419 470631.997 0,
+ 1418094.044 470656.597 0, 1418397.669 470681.214 0, 1418701.291 470705.849 0, 1419004.913 470730.501 0, 1419308.533 470755.172 0, 1419612.151 470779.861 0, 1419915.768 470804.567 0, 1420219.384 470829.292 0, 1420522.998 470854.034 0, 1420826.61 470878.794 0,
+ 1421130.221 470903.572 0, 1421433.831 470928.368 0, 1421737.439 470953.181 0, 1422041.046 470978.013 0, 1422344.651 471002.862 0, 1422648.255 471027.73 0, 1422951.858 471052.615 0, 1423255.459 471077.518 0, 1423557.657 471102.324 0, 1424012.189 465566.956 0,
+ 1424466.686 460032.019 0))
+
+POLYGON ((1438128.689 472319.536 0, 1437826.56 472293.877 0, 1437523.03 472268.116 0, 1437219.499 472242.373 0, 1436915.967 472216.648 0, 1436612.433 472190.941 0, 1436308.898 472165.252 0, 1436005.361 472139.581 0, 1435701.822 472113.927 0, 1435398.282 472088.291 0,
+ 1435094.741 472062.674 0, 1434791.198 472037.074 0, 1434487.653 472011.492 0, 1434184.107 471985.928 0, 1433880.56 471960.381 0, 1433577.011 471934.853 0, 1433273.461 471909.342 0, 1432969.909 471883.85 0, 1432666.355 471858.375 0, 1432362.8 471832.918 0,
+ 1432059.244 471807.479 0, 1431755.686 471782.058 0, 1431452.126 471756.654 0, 1431148.565 471731.269 0, 1430843.603 471705.784 0, 1430541.439 471680.551 0, 1430237.873 471655.22 0, 1429934.306 471629.906 0, 1429630.738 471604.609 0, 1429327.168 471579.331 0,
+ 1429023.597 471554.071 0, 1428720.024 471528.828 0, 1428416.449 471503.604 0, 1428112.873 471478.397 0, 1427809.296 471453.208 0, 1427505.717 471428.037 0, 1427202.137 471402.884 0, 1426898.555 471377.748 0, 1426594.972 471352.631 0, 1426291.387 471327.531 0,
+ 1425987.801 471302.449 0, 1425684.213 471277.386 0, 1425380.624 471252.34 0, 1425077.033 471227.311 0, 1424773.441 471202.301 0, 1424469.848 471177.309 0, 1424166.253 471152.334 0, 1423862.656 471127.378 0, 1423557.657 471102.324 0, 1423103.089 476638.12 0,
+ 1422648.487 482174.341 0, 1422952.832 482199.341 0, 1423255.777 482224.244 0, 1423558.72 482249.165 0, 1423861.662 482274.104 0, 1424164.602 482299.06 0, 1424467.541 482324.035 0, 1424770.479 482349.027 0, 1425073.415 482374.037 0, 1425376.35 482399.065 0,
+ 1425679.283 482424.111 0, 1425982.214 482449.174 0, 1426285.144 482474.256 0, 1426588.073 482499.355 0, 1426891 482524.472 0, 1427193.926 482549.607 0, 1427496.85 482574.759 0, 1427799.773 482599.93 0, 1428102.694 482625.118 0, 1428405.614 482650.325 0,
+ 1428708.532 482675.549 0, 1429011.449 482700.79 0, 1429314.364 482726.05 0, 1429617.278 482751.328 0, 1429918.794 482776.506 0, 1430223.102 482801.936 0, 1430526.011 482827.267 0, 1430828.919 482852.616 0, 1431131.825 482877.983 0, 1431434.73 482903.367 0,
+ 1431737.633 482928.769 0, 1432040.535 482954.189 0, 1432343.436 482979.627 0, 1432646.335 483005.083 0, 1432949.232 483030.557 0, 1433252.128 483056.048 0, 1433555.022 483081.558 0, 1433857.915 483107.085 0, 1434160.807 483132.63 0, 1434463.697 483158.192 0,
+ 1434766.585 483183.773 0, 1435069.472 483209.371 0, 1435372.357 483234.988 0, 1435675.241 483260.622 0, 1435978.124 483286.274 0, 1436281.004 483311.943 0, 1436583.884 483337.631 0, 1436886.762 483363.336 0, 1437188.242 483388.941 0, 1437658.484 477854.026 0,
+ 1438128.689 472319.536 0))
+
+POLYGON ((1451724.508 484644.613 0, 1451423.099 484618.157 0, 1451120.295 484591.596 0, 1450817.489 484565.053 0, 1450514.682 484538.527 0, 1450211.873 484512.02 0, 1449909.063 484485.53 0, 1449606.251 484459.058 0, 1449303.438 484432.604 0, 1449000.623 484406.168 0,
+ 1448697.806 484379.75 0, 1448394.988 484353.349 0, 1448092.169 484326.966 0, 1447789.348 484300.602 0, 1447486.525 484274.254 0, 1447183.701 484247.925 0, 1446880.875 484221.614 0, 1446578.048 484195.32 0, 1446275.219 484169.044 0, 1445972.388 484142.786 0,
+ 1445669.556 484116.546 0, 1445366.723 484090.324 0, 1445063.888 484064.119 0, 1444761.051 484037.933 0, 1444456.819 484011.644 0, 1444155.373 483985.613 0, 1443852.532 483959.48 0, 1443549.689 483933.364 0, 1443246.845 483907.267 0, 1442943.999 483881.187 0,
+ 1442641.152 483855.125 0, 1442338.303 483829.081 0, 1442035.452 483803.055 0, 1441732.6 483777.047 0, 1441429.747 483751.056 0, 1441126.892 483725.083 0, 1440824.035 483699.128 0, 1440521.177 483673.191 0, 1440218.318 483647.272 0, 1439915.457 483621.37 0,
+ 1439612.594 483595.487 0, 1439309.73 483569.621 0, 1439006.864 483543.773 0, 1438703.997 483517.943 0, 1438401.128 483492.13 0, 1438098.258 483466.336 0, 1437795.386 483440.559 0, 1437492.513 483414.8 0, 1437188.242 483388.941 0, 1436717.965 488924.278 0,
+ 1436247.652 494460.034 0, 1436551.268 494485.838 0, 1436853.49 494511.541 0, 1437155.71 494537.262 0, 1437457.929 494563.001 0, 1437760.146 494588.758 0, 1438062.361 494614.533 0, 1438364.576 494640.325 0, 1438666.788 494666.135 0, 1438968.999 494691.963 0,
+ 1439271.209 494717.809 0, 1439573.417 494743.672 0, 1439875.623 494769.554 0, 1440177.828 494795.453 0, 1440480.032 494821.37 0, 1440782.234 494847.304 0, 1441084.434 494873.257 0, 1441386.633 494899.227 0, 1441688.83 494925.215 0, 1441991.026 494951.221 0,
+ 1442293.22 494977.245 0, 1442595.413 495003.286 0, 1442897.604 495029.345 0, 1443199.794 495055.422 0, 1443500.591 495081.397 0, 1443804.169 495107.629 0, 1444106.354 495133.76 0, 1444408.537 495159.908 0, 1444710.719 495186.074 0, 1445012.9 495212.257 0,
+ 1445315.079 495238.459 0, 1445617.256 495264.678 0, 1445919.432 495290.915 0, 1446221.606 495317.17 0, 1446523.779 495343.443 0, 1446825.95 495369.733 0, 1447128.12 495396.041 0, 1447430.288 495422.367 0, 1447732.454 495448.711 0, 1448034.619 495475.072 0,
+ 1448336.783 495501.452 0, 1448638.944 495527.849 0, 1448941.105 495554.264 0, 1449243.264 495580.696 0, 1449545.421 495607.147 0, 1449847.576 495633.615 0, 1450149.73 495660.101 0, 1450451.883 495686.605 0, 1450752.644 495713.005 0, 1451238.594 490178.599 0,
+ 1451724.508 484644.613 0))
+
+POLYGON ((1465254.038 497006.95 0, 1464953.35 496979.7 0, 1464651.274 496952.343 0, 1464349.196 496925.003 0, 1464047.116 496897.682 0, 1463745.035 496870.378 0, 1463442.952 496843.091 0, 1463140.867 496815.823 0, 1462838.781 496788.572 0, 1462536.694 496761.339 0,
+ 1462234.604 496734.124 0, 1461932.513 496706.927 0, 1461630.421 496679.747 0, 1461328.327 496652.586 0, 1461026.231 496625.442 0, 1460724.134 496598.315 0, 1460422.035 496571.207 0, 1460119.935 496544.116 0, 1459817.832 496517.044 0, 1459515.729 496489.988 0,
+ 1459213.623 496462.951 0, 1458911.517 496435.932 0, 1458609.408 496408.93 0, 1458307.298 496381.946 0, 1458003.798 496354.856 0, 1457703.073 496328.031 0, 1457400.959 496301.101 0, 1457098.842 496274.188 0, 1456796.724 496247.293 0, 1456494.605 496220.416 0,
+ 1456192.484 496193.556 0, 1455890.361 496166.715 0, 1455588.237 496139.891 0, 1455286.111 496113.085 0, 1454983.983 496086.296 0, 1454681.854 496059.526 0, 1454379.724 496032.773 0, 1454077.591 496006.038 0, 1453775.458 495979.321 0, 1453473.322 495952.621 0,
+ 1453171.185 495925.94 0, 1452869.047 495899.276 0, 1452566.907 495872.63 0, 1452264.765 495846.001 0, 1451962.622 495819.391 0, 1451660.478 495792.798 0, 1451358.331 495766.223 0, 1451056.183 495739.666 0, 1450752.644 495713.005 0, 1450266.657 501247.826 0,
+ 1449780.634 506783.06 0, 1450083.519 506809.664 0, 1450385.015 506836.164 0, 1450686.51 506862.681 0, 1450988.003 506889.217 0, 1451289.495 506915.77 0, 1451590.985 506942.341 0, 1451892.473 506968.929 0, 1452193.96 506995.536 0, 1452495.445 507022.16 0,
+ 1452796.929 507048.802 0, 1453098.411 507075.461 0, 1453399.892 507102.139 0, 1453701.371 507128.834 0, 1454002.849 507155.546 0, 1454304.325 507182.277 0, 1454605.799 507209.025 0, 1454907.272 507235.791 0, 1455208.743 507262.575 0, 1455510.212 507289.377 0,
+ 1455811.681 507316.196 0, 1456113.147 507343.033 0, 1456414.612 507369.888 0, 1456716.075 507396.76 0, 1457016.151 507423.527 0, 1457318.997 507450.559 0, 1457620.456 507477.484 0, 1457921.913 507504.428 0, 1458223.368 507531.389 0, 1458524.822 507558.368 0,
+ 1458826.274 507585.365 0, 1459127.725 507612.379 0, 1459429.174 507639.412 0, 1459730.621 507666.462 0, 1460032.067 507693.529 0, 1460333.511 507720.615 0, 1460634.954 507747.718 0, 1460936.395 507774.839 0, 1461237.834 507801.978 0, 1461539.272 507829.134 0,
+ 1461840.709 507856.308 0, 1462142.143 507883.5 0, 1462443.576 507910.71 0, 1462745.008 507937.937 0, 1463046.438 507965.182 0, 1463347.866 507992.445 0, 1463649.293 508019.726 0, 1463950.718 508047.024 0, 1464250.757 508074.215 0, 1464752.416 502540.376 0,
+ 1465254.038 497006.95 0))
+
+POLYGON ((1478717.174 509406.245 0, 1478417.211 509378.207 0, 1478115.864 509350.057 0, 1477814.515 509321.925 0, 1477513.165 509293.81 0, 1477211.814 509265.714 0, 1476910.46 509237.635 0, 1476609.105 509209.574 0, 1476307.749 509181.53 0, 1476006.39 509153.505 0,
+ 1475705.031 509125.497 0, 1475403.669 509097.507 0, 1475102.306 509069.534 0, 1474800.941 509041.579 0, 1474499.574 509013.642 0, 1474198.206 508985.723 0, 1473896.836 508957.822 0, 1473595.465 508929.938 0, 1473294.092 508902.072 0, 1472992.717 508874.224 0,
+ 1472691.341 508846.393 0, 1472389.963 508818.58 0, 1472088.583 508790.785 0, 1471787.202 508763.008 0, 1471484.436 508735.121 0, 1471184.434 508707.506 0, 1470883.048 508679.782 0, 1470581.66 508652.076 0, 1470280.271 508624.387 0, 1469978.88 508596.716 0,
+ 1469677.487 508569.063 0, 1469376.093 508541.428 0, 1469074.697 508513.81 0, 1468773.299 508486.21 0, 1468471.9 508458.628 0, 1468170.499 508431.064 0, 1467869.097 508403.517 0, 1467567.693 508375.988 0, 1467266.287 508348.477 0, 1466964.88 508320.983 0,
+ 1466663.471 508293.507 0, 1466362.06 508266.049 0, 1466060.648 508238.609 0, 1465759.234 508211.187 0, 1465457.819 508183.782 0, 1465156.402 508156.395 0, 1464854.983 508129.025 0, 1464553.563 508101.674 0, 1464250.757 508074.215 0, 1463749.06 513608.463 0,
+ 1463247.327 519143.119 0, 1463549.479 519170.519 0, 1463850.247 519197.811 0, 1464151.014 519225.121 0, 1464451.78 519252.449 0, 1464752.544 519279.795 0, 1465053.306 519307.158 0, 1465354.067 519334.539 0, 1465654.826 519361.938 0, 1465955.583 519389.354 0,
+ 1466256.339 519416.788 0, 1466557.094 519444.24 0, 1466857.846 519471.709 0, 1467158.597 519499.197 0, 1467459.347 519526.701 0, 1467760.094 519554.224 0, 1468060.84 519581.764 0, 1468361.585 519609.322 0, 1468662.328 519636.898 0, 1468963.069 519664.491 0,
+ 1469263.809 519692.102 0, 1469564.547 519719.731 0, 1469865.283 519747.378 0, 1470166.018 519775.042 0, 1470465.371 519802.597 0, 1470767.483 519830.423 0, 1471068.213 519858.141 0, 1471368.941 519885.876 0, 1471669.667 519913.628 0, 1471970.392 519941.399 0,
+ 1472271.116 519969.187 0, 1472571.837 519996.993 0, 1472872.558 520024.816 0, 1473173.276 520052.657 0, 1473473.993 520080.516 0, 1473774.708 520108.393 0, 1474075.421 520136.287 0, 1474376.133 520164.199 0, 1474676.844 520192.129 0, 1474977.552 520220.076 0,
+ 1475278.259 520248.041 0, 1475578.964 520276.024 0, 1475879.668 520304.024 0, 1476180.37 520332.043 0, 1476481.07 520360.078 0, 1476781.769 520388.132 0, 1477082.466 520416.203 0, 1477383.162 520444.292 0, 1477682.477 520472.27 0, 1478199.844 514939.054 0,
+ 1478717.174 509406.245 0))
+
+POLYGON ((1492113.814 521842.198 0, 1491814.576 521813.374 0, 1491513.962 521784.436 0, 1491213.345 521755.515 0, 1490912.727 521726.612 0, 1490612.107 521697.727 0, 1490311.485 521668.86 0, 1490010.862 521640.01 0, 1489710.237 521611.177 0, 1489409.61 521582.363 0,
+ 1489108.982 521553.566 0, 1488808.352 521524.787 0, 1488507.72 521496.025 0, 1488207.086 521467.282 0, 1487906.451 521438.556 0, 1487605.814 521409.847 0, 1487305.176 521381.157 0, 1487004.535 521352.484 0, 1486703.893 521323.828 0, 1486403.25 521295.191 0,
+ 1486102.604 521266.571 0, 1485801.957 521237.969 0, 1485501.309 521209.384 0, 1485200.658 521180.817 0, 1484898.629 521152.138 0, 1484599.352 521123.737 0, 1484298.697 521095.223 0, 1483998.04 521066.727 0, 1483697.381 521038.249 0, 1483396.721 521009.788 0,
+ 1483096.059 520981.345 0, 1482795.395 520952.92 0, 1482494.729 520924.513 0, 1482194.062 520896.123 0, 1481893.393 520867.751 0, 1481592.723 520839.396 0, 1481292.051 520811.059 0, 1480991.377 520782.74 0, 1480690.701 520754.439 0, 1480390.024 520726.155 0,
+ 1480089.346 520697.889 0, 1479788.665 520669.641 0, 1479487.983 520641.411 0, 1479187.299 520613.198 0, 1478886.614 520585.003 0, 1478585.927 520556.825 0, 1478285.238 520528.665 0, 1477984.547 520500.523 0, 1477682.477 520472.27 0, 1477165.071 526005.89 0,
+ 1476647.628 531539.91 0, 1476949.045 531568.102 0, 1477249.084 531596.183 0, 1477549.121 531624.282 0, 1477849.157 531652.398 0, 1478149.191 531680.532 0, 1478449.223 531708.684 0, 1478749.254 531736.853 0, 1479049.283 531765.04 0, 1479349.31 531793.245 0,
+ 1479649.336 531821.467 0, 1479949.36 531849.708 0, 1480249.383 531877.965 0, 1480549.403 531906.241 0, 1480849.423 531934.534 0, 1481149.44 531962.844 0, 1481449.456 531991.173 0, 1481749.47 532019.519 0, 1482049.482 532047.882 0, 1482349.493 532076.264 0,
+ 1482649.502 532104.662 0, 1482949.51 532133.079 0, 1483249.515 532161.513 0, 1483549.519 532189.965 0, 1483848.147 532218.304 0, 1484149.523 532246.922 0, 1484449.522 532275.427 0, 1484749.519 532303.95 0, 1485049.515 532332.49 0, 1485349.509 532361.048 0,
+ 1485649.501 532389.623 0, 1485949.492 532418.216 0, 1486249.481 532446.827 0, 1486549.468 532475.456 0, 1486849.453 532504.102 0, 1487149.437 532532.766 0, 1487449.42 532561.447 0, 1487749.4 532590.146 0, 1488049.379 532618.863 0, 1488349.356 532647.598 0,
+ 1488649.332 532676.35 0, 1488949.305 532705.119 0, 1489249.277 532733.907 0, 1489549.248 532762.712 0, 1489849.216 532791.535 0, 1490149.183 532820.375 0, 1490449.149 532849.233 0, 1490749.112 532878.109 0, 1491047.701 532906.87 0, 1491580.777 527374.334 0,
+ 1492113.814 521842.198 0))
+
+POLYGON ((1505443.855 534314.507 0, 1505145.346 534284.903 0, 1504845.465 534255.18 0, 1504545.583 534225.474 0, 1504245.698 534195.786 0, 1503945.812 534166.116 0, 1503645.925 534136.464 0, 1503346.035 534106.829 0, 1503046.144 534077.212 0, 1502746.251 534047.613 0,
+ 1502446.356 534018.031 0, 1502146.459 533988.467 0, 1501846.561 533958.92 0, 1501546.661 533929.391 0, 1501246.759 533899.88 0, 1500946.856 533870.386 0, 1500646.951 533840.911 0, 1500347.044 533811.452 0, 1500047.135 533782.012 0, 1499747.225 533752.589 0,
+ 1499447.313 533723.183 0, 1499147.399 533693.796 0, 1498847.483 533664.426 0, 1498547.566 533635.073 0, 1498246.275 533605.605 0, 1497947.726 533576.422 0, 1497647.804 533547.122 0, 1497347.879 533517.841 0, 1497047.953 533488.576 0, 1496748.026 533459.33 0,
+ 1496448.096 533430.101 0, 1496148.165 533400.89 0, 1495848.232 533371.697 0, 1495548.298 533342.521 0, 1495248.362 533313.363 0, 1494948.424 533284.222 0, 1494648.484 533255.099 0, 1494348.542 533225.994 0, 1494048.599 533196.907 0, 1493748.655 533167.837 0,
+ 1493448.708 533138.784 0, 1493148.76 533109.75 0, 1492848.81 533080.733 0, 1492548.858 533051.734 0, 1492248.905 533022.752 0, 1491948.95 532993.788 0, 1491648.993 532964.842 0, 1491349.034 532935.913 0, 1491047.701 532906.87 0, 1490514.587 538439.803 0,
+ 1489981.436 543973.131 0, 1490282.115 544002.112 0, 1490581.422 544030.977 0, 1490880.727 544059.861 0, 1491180.031 544088.762 0, 1491479.333 544117.681 0, 1491778.633 544146.617 0, 1492077.932 544175.571 0, 1492377.229 544204.542 0, 1492676.524 544233.532 0,
+ 1492975.818 544262.538 0, 1493275.11 544291.563 0, 1493574.4 544320.605 0, 1493873.688 544349.664 0, 1494172.975 544378.742 0, 1494472.26 544407.836 0, 1494771.543 544436.949 0, 1495070.825 544466.079 0, 1495370.104 544495.227 0, 1495669.382 544524.392 0,
+ 1495968.659 544553.575 0, 1496267.934 544582.775 0, 1496567.207 544611.994 0, 1496866.478 544641.229 0, 1497164.379 544670.349 0, 1497465.015 544699.754 0, 1497764.281 544729.042 0, 1498063.546 544758.349 0, 1498362.808 544787.672 0, 1498662.069 544817.014 0,
+ 1498961.328 544846.373 0, 1499260.586 544875.75 0, 1499559.841 544905.144 0, 1499859.095 544934.556 0, 1500158.348 544963.985 0, 1500457.598 544993.432 0, 1500756.847 545022.897 0, 1501056.094 545052.38 0, 1501355.339 545081.879 0, 1501654.583 545111.397 0,
+ 1501953.825 545140.932 0, 1502253.065 545170.485 0, 1502552.303 545200.056 0, 1502851.54 545229.644 0, 1503150.775 545259.249 0, 1503450.008 545288.872 0, 1503749.239 545318.513 0, 1504048.469 545348.172 0, 1504346.329 545377.712 0, 1504895.112 539845.913 0,
+ 1505443.855 534314.507 0))
+
+POLYGON ((1518707.198 546822.871 0, 1518409.419 546792.489 0, 1518110.275 546761.985 0, 1517811.128 546731.499 0, 1517511.98 546701.031 0, 1517212.83 546670.58 0, 1516913.678 546640.146 0, 1516614.524 546609.731 0, 1516315.369 546579.332 0, 1516016.212 546548.952 0,
+ 1515717.053 546518.589 0, 1515417.892 546488.244 0, 1515118.73 546457.916 0, 1514819.565 546427.606 0, 1514520.399 546397.314 0, 1514221.231 546367.039 0, 1513922.061 546336.782 0, 1513622.89 546306.542 0, 1513323.717 546276.32 0, 1513024.542 546246.115 0,
+ 1512725.365 546215.929 0, 1512426.186 546185.76 0, 1512127.006 546155.608 0, 1511827.824 546125.474 0, 1511527.274 546095.22 0, 1511229.454 546065.259 0, 1510930.267 546035.178 0, 1510631.077 546005.114 0, 1510331.886 545975.068 0, 1510032.694 545945.04 0,
+ 1509733.499 545915.029 0, 1509434.303 545885.036 0, 1509135.105 545855.061 0, 1508835.905 545825.103 0, 1508536.703 545795.162 0, 1508237.5 545765.24 0, 1507938.295 545735.335 0, 1507639.088 545705.447 0, 1507339.88 545675.578 0, 1507040.669 545645.725 0,
+ 1506741.457 545615.891 0, 1506442.243 545586.074 0, 1506143.027 545556.274 0, 1505843.81 545526.493 0, 1505544.591 545496.728 0, 1505245.37 545466.982 0, 1504946.147 545437.253 0, 1504646.923 545407.542 0, 1504346.329 545377.712 0, 1503797.508 550909.903 0,
+ 1503248.649 556442.482 0, 1503548.588 556472.246 0, 1503847.161 556501.893 0, 1504145.733 556531.557 0, 1504444.302 556561.239 0, 1504742.87 556590.938 0, 1505041.436 556620.655 0, 1505340.001 556650.39 0, 1505638.563 556680.142 0, 1505937.124 556709.911 0,
+ 1506235.684 556739.699 0, 1506534.241 556769.504 0, 1506832.797 556799.326 0, 1507131.351 556829.166 0, 1507429.903 556859.023 0, 1507728.453 556888.899 0, 1508027.002 556918.791 0, 1508325.549 556948.701 0, 1508624.094 556978.629 0, 1508922.637 557008.575 0,
+ 1509221.179 557038.538 0, 1509519.718 557068.518 0, 1509818.257 557098.516 0, 1510116.793 557128.532 0, 1510413.964 557158.428 0, 1510713.86 557188.616 0, 1511012.391 557218.684 0, 1511310.92 557248.77 0, 1511609.448 557278.874 0, 1511907.973 557308.995 0,
+ 1512206.497 557339.134 0, 1512505.019 557369.29 0, 1512803.54 557399.464 0, 1513102.058 557429.655 0, 1513400.575 557459.864 0, 1513699.09 557490.091 0, 1513997.603 557520.335 0, 1514296.115 557550.596 0, 1514594.625 557580.876 0, 1514893.132 557611.172 0,
+ 1515191.639 557641.487 0, 1515490.143 557671.819 0, 1515788.645 557702.168 0, 1516087.146 557732.535 0, 1516385.645 557762.92 0, 1516684.142 557793.322 0, 1516982.638 557823.742 0, 1517281.131 557854.179 0, 1517578.261 557884.495 0, 1518142.749 552353.489 0,
+ 1518707.198 546822.871 0))
+
+POLYGON ((1531903.743 559366.987 0, 1531606.697 559335.831 0, 1531308.291 559304.551 0, 1531009.883 559273.288 0, 1530711.472 559242.042 0, 1530413.06 559210.814 0, 1530114.647 559179.604 0, 1529816.231 559148.411 0, 1529517.814 559117.236 0, 1529219.394 559086.079 0,
+ 1528920.973 559054.939 0, 1528622.55 559023.816 0, 1528324.126 558992.711 0, 1528025.699 558961.624 0, 1527727.271 558930.554 0, 1527428.84 558899.502 0, 1527130.408 558868.467 0, 1526831.974 558837.45 0, 1526533.539 558806.451 0, 1526235.101 558775.469 0,
+ 1525936.662 558744.504 0, 1525638.22 558713.558 0, 1525339.777 558682.628 0, 1525041.333 558651.717 0, 1524741.526 558620.682 0, 1524444.437 558589.946 0, 1524145.987 558559.087 0, 1523847.535 558528.246 0, 1523549.081 558497.422 0, 1523250.625 558466.616 0,
+ 1522952.168 558435.827 0, 1522653.708 558405.056 0, 1522355.247 558374.302 0, 1522056.784 558343.566 0, 1521758.319 558312.848 0, 1521459.853 558282.147 0, 1521161.384 558251.464 0, 1520862.914 558220.798 0, 1520564.442 558190.15 0, 1520265.968 558159.519 0,
+ 1519967.493 558128.906 0, 1519669.015 558098.311 0, 1519370.536 558067.733 0, 1519072.055 558037.172 0, 1518773.572 558006.63 0, 1518475.088 557976.104 0, 1518176.601 557945.597 0, 1517878.113 557915.107 0, 1517578.261 557884.495 0, 1517013.734 563415.886 0,
+ 1516449.168 568947.659 0, 1516748.366 568978.203 0, 1517046.203 569008.627 0, 1517344.038 569039.068 0, 1517641.871 569069.527 0, 1517939.703 569100.003 0, 1518237.533 569130.496 0, 1518535.361 569161.008 0, 1518833.187 569191.536 0, 1519131.012 569222.083 0,
+ 1519428.835 569252.646 0, 1519726.655 569283.228 0, 1520024.475 569313.827 0, 1520322.292 569344.443 0, 1520620.107 569375.077 0, 1520917.921 569405.728 0, 1521215.733 569436.397 0, 1521513.543 569467.084 0, 1521811.351 569497.788 0, 1522109.158 569528.509 0,
+ 1522406.962 569559.248 0, 1522704.765 569590.005 0, 1523002.566 569620.779 0, 1523300.366 569651.571 0, 1523596.806 569682.239 0, 1523895.959 569713.207 0, 1524193.752 569744.051 0, 1524491.544 569774.913 0, 1524789.335 569805.792 0, 1525087.123 569836.689 0,
+ 1525384.909 569867.603 0, 1525682.694 569898.535 0, 1525980.477 569929.484 0, 1526278.258 569960.451 0, 1526576.037 569991.436 0, 1526873.815 570022.438 0, 1527171.59 570053.457 0, 1527469.364 570084.494 0, 1527767.136 570115.549 0, 1528064.906 570146.621 0,
+ 1528362.674 570177.711 0, 1528660.441 570208.818 0, 1528958.205 570239.942 0, 1529255.968 570271.085 0, 1529553.729 570302.244 0, 1529851.488 570333.422 0, 1530149.245 570364.616 0, 1530447.001 570395.829 0, 1530743.398 570426.916 0, 1531323.591 564896.761 0,
+ 1531903.743 559366.987 0))
+
+POLYGON ((1545033.393 571946.551 0, 1544737.082 571914.626 0, 1544439.416 571882.573 0, 1544141.748 571850.537 0, 1543844.078 571818.519 0, 1543546.406 571786.518 0, 1543248.733 571754.535 0, 1542951.057 571722.569 0, 1542653.38 571690.621 0, 1542355.701 571658.69 0,
+ 1542058.019 571626.777 0, 1541760.336 571594.881 0, 1541462.652 571563.003 0, 1541164.965 571531.142 0, 1540867.276 571499.299 0, 1540569.586 571467.473 0, 1540271.893 571435.665 0, 1539974.199 571403.875 0, 1539676.503 571372.102 0, 1539378.805 571340.346 0,
+ 1539081.105 571308.608 0, 1538783.403 571276.888 0, 1538485.7 571245.185 0, 1538187.994 571213.499 0, 1537888.932 571181.687 0, 1537592.578 571150.181 0, 1537294.867 571118.548 0, 1536997.154 571086.933 0, 1536699.439 571055.335 0, 1536401.722 571023.755 0,
+ 1536104.004 570992.192 0, 1535806.284 570960.647 0, 1535508.561 570929.119 0, 1535210.837 570897.609 0, 1534913.111 570866.116 0, 1534615.384 570834.641 0, 1534317.654 570803.183 0, 1534019.923 570771.743 0, 1533722.189 570740.32 0, 1533424.454 570708.915 0,
+ 1533126.717 570677.528 0, 1532828.978 570646.158 0, 1532531.237 570614.805 0, 1532233.495 570583.47 0, 1531935.75 570552.153 0, 1531638.004 570520.853 0, 1531340.256 570489.571 0, 1531042.506 570458.306 0, 1530743.398 570426.916 0, 1530163.167 575957.45 0,
+ 1529582.895 581488.36 0, 1529881.349 581519.681 0, 1530178.448 581550.877 0, 1530475.545 581582.091 0, 1530772.64 581613.323 0, 1531069.734 581644.572 0, 1531366.825 581675.838 0, 1531663.915 581707.122 0, 1531961.003 581738.423 0, 1532258.089 581769.742 0,
+ 1532555.173 581801.079 0, 1532852.255 581832.433 0, 1533149.336 581863.804 0, 1533446.414 581895.193 0, 1533743.491 581926.599 0, 1534040.566 581958.023 0, 1534337.639 581989.464 0, 1534634.71 582020.923 0, 1534931.779 582052.399 0, 1535228.847 582083.893 0,
+ 1535525.913 582115.404 0, 1535822.976 582146.933 0, 1536120.038 582178.479 0, 1536417.098 582210.043 0, 1536712.805 582241.481 0, 1537011.213 582273.223 0, 1537308.268 582304.839 0, 1537605.32 582336.473 0, 1537902.371 582368.124 0, 1538199.42 582399.792 0,
+ 1538496.467 582431.479 0, 1538793.512 582463.182 0, 1539090.556 582494.903 0, 1539387.597 582526.642 0, 1539684.637 582558.398 0, 1539981.674 582590.171 0, 1540278.71 582621.962 0, 1540575.744 582653.771 0, 1540872.776 582685.597 0, 1541169.806 582717.44 0,
+ 1541466.835 582749.301 0, 1541763.861 582781.179 0, 1542060.886 582813.075 0, 1542357.909 582844.989 0, 1542654.929 582876.92 0, 1542951.948 582908.868 0, 1543248.965 582940.834 0, 1543545.981 582972.817 0, 1543841.644 583004.672 0, 1544437.538 577475.424 0,
+ 1545033.393 571946.551 0))
+
+POLYGON ((1558096.051 584561.262 0, 1557800.477 584528.572 0, 1557503.553 584495.749 0, 1557206.628 584462.944 0, 1556909.7 584430.157 0, 1556612.771 584397.387 0, 1556315.84 584364.635 0, 1556018.906 584331.9 0, 1555721.971 584299.183 0, 1555425.034 584266.483 0,
+ 1555128.095 584233.8 0, 1554831.154 584201.135 0, 1554534.211 584168.488 0, 1554237.266 584135.858 0, 1553940.319 584103.245 0, 1553643.371 584070.65 0, 1553346.42 584038.072 0, 1553049.467 584005.512 0, 1552752.513 583972.969 0, 1552455.557 583940.444 0,
+ 1552158.598 583907.937 0, 1551861.638 583875.446 0, 1551564.676 583842.974 0, 1551267.712 583810.518 0, 1550969.397 583777.933 0, 1550673.778 583745.66 0, 1550376.809 583713.257 0, 1550079.837 583680.872 0, 1549782.863 583648.504 0, 1549485.888 583616.154 0,
+ 1549188.911 583583.821 0, 1548891.931 583551.506 0, 1548594.95 583519.208 0, 1548297.967 583486.927 0, 1548000.982 583454.664 0, 1547703.995 583422.419 0, 1547407.007 583390.191 0, 1547110.016 583357.98 0, 1546813.023 583325.787 0, 1546516.029 583293.611 0,
+ 1546219.033 583261.453 0, 1545922.034 583229.313 0, 1545625.034 583197.19 0, 1545328.032 583165.084 0, 1545031.028 583132.996 0, 1544734.023 583100.925 0, 1544437.015 583068.872 0, 1544140.005 583036.836 0, 1543841.644 583004.672 0, 1543245.709 588534.292 0,
+ 1542649.734 594064.282 0, 1542947.442 594096.375 0, 1543243.801 594128.34 0, 1543540.157 594160.323 0, 1543836.512 594192.324 0, 1544132.865 594224.342 0, 1544429.216 594256.377 0, 1544725.565 594288.43 0, 1545021.913 594320.5 0, 1545318.258 594352.587 0,
+ 1545614.602 594384.693 0, 1545910.943 594416.815 0, 1546207.283 594448.955 0, 1546503.621 594481.112 0, 1546799.957 594513.287 0, 1547096.291 594545.48 0, 1547392.623 594577.689 0, 1547688.953 594609.916 0, 1547985.282 594642.161 0, 1548281.608 594674.423 0,
+ 1548577.933 594706.703 0, 1548874.256 594738.999 0, 1549170.576 594771.314 0, 1549466.895 594803.646 0, 1549761.866 594835.848 0, 1550059.527 594868.362 0, 1550355.84 594900.746 0, 1550652.152 594933.147 0, 1550948.461 594965.566 0, 1551244.768 594998.003 0,
+ 1551541.074 595030.457 0, 1551837.378 595062.928 0, 1552133.679 595095.417 0, 1552429.979 595127.923 0, 1552726.277 595160.447 0, 1553022.573 595192.988 0, 1553318.867 595225.546 0, 1553615.159 595258.122 0, 1553911.449 595290.716 0, 1554207.738 595323.326 0,
+ 1554504.024 595355.955 0, 1554800.308 595388.6 0, 1555096.591 595421.264 0, 1555392.872 595453.944 0, 1555689.15 595486.642 0, 1555985.427 595519.358 0, 1556281.702 595552.091 0, 1556577.975 595584.841 0, 1556872.901 595617.46 0, 1557484.497 590089.177 0,
+ 1558096.051 584561.262 0))
+
+POLYGON ((1571091.623 597210.815 0, 1570796.788 597177.363 0, 1570500.609 597143.776 0, 1570204.428 597110.206 0, 1569908.244 597076.654 0, 1569612.059 597043.119 0, 1569315.872 597009.601 0, 1569019.683 596976.101 0, 1568723.492 596942.618 0, 1568427.299 596909.153 0,
+ 1568131.104 596875.705 0, 1567834.907 596842.275 0, 1567538.708 596808.862 0, 1567242.507 596775.467 0, 1566946.305 596742.089 0, 1566650.1 596708.728 0, 1566353.893 596675.385 0, 1566057.684 596642.059 0, 1565761.473 596608.751 0, 1565465.261 596575.46 0,
+ 1565169.046 596542.186 0, 1564872.83 596508.93 0, 1564576.611 596475.692 0, 1564280.391 596442.471 0, 1563982.825 596409.116 0, 1563687.944 596376.081 0, 1563391.717 596342.912 0, 1563095.489 596309.76 0, 1562799.259 596276.626 0, 1562503.027 596243.51 0,
+ 1562206.793 596210.411 0, 1561910.556 596177.329 0, 1561614.318 596144.265 0, 1561318.078 596111.218 0, 1561021.836 596078.189 0, 1560725.593 596045.177 0, 1560429.347 596012.182 0, 1560133.099 595979.205 0, 1559836.849 595946.246 0, 1559540.598 595913.304 0,
+ 1559244.344 595880.379 0, 1558948.089 595847.472 0, 1558651.831 595814.582 0, 1558355.572 595781.709 0, 1558059.31 595748.854 0, 1557763.047 595716.017 0, 1557466.782 595683.197 0, 1557170.515 595650.394 0, 1556872.901 595617.46 0, 1556261.265 601146.109 0,
+ 1555649.589 606675.121 0, 1555946.549 606707.982 0, 1556242.165 606740.713 0, 1556537.78 606773.461 0, 1556833.392 606806.226 0, 1557129.003 606839.009 0, 1557424.611 606871.809 0, 1557720.218 606904.627 0, 1558015.823 606937.462 0, 1558311.425 606970.314 0,
+ 1558607.026 607003.184 0, 1558902.625 607036.071 0, 1559198.222 607068.976 0, 1559493.817 607101.898 0, 1559789.41 607134.837 0, 1560085.001 607167.794 0, 1560380.591 607200.768 0, 1560676.178 607233.76 0, 1560971.763 607266.769 0, 1561267.347 607299.795 0,
+ 1561562.928 607332.839 0, 1561858.508 607365.9 0, 1562154.085 607398.979 0, 1562449.661 607432.075 0, 1562743.894 607465.038 0, 1563040.806 607498.319 0, 1563336.376 607531.467 0, 1563631.944 607564.633 0, 1563927.51 607597.816 0, 1564223.074 607631.016 0,
+ 1564518.636 607664.234 0, 1564814.196 607697.469 0, 1565109.754 607730.721 0, 1565405.31 607763.991 0, 1565700.864 607797.279 0, 1565996.416 607830.583 0, 1566291.966 607863.906 0, 1566587.514 607897.245 0, 1566883.061 607930.602 0, 1567178.605 607963.976 0,
+ 1567474.147 607997.368 0, 1567769.688 608030.777 0, 1568065.226 608064.204 0, 1568360.763 608097.647 0, 1568656.297 608131.109 0, 1568951.83 608164.587 0, 1569247.36 608198.084 0, 1569542.889 608231.597 0, 1569837.076 608264.976 0, 1570464.37 602737.714 0,
+ 1571091.623 597210.815 0))
+
+POLYGON ((1584020.015 609894.907 0, 1583725.921 609860.697 0, 1583430.488 609826.348 0, 1583135.053 609792.018 0, 1582839.617 609757.704 0, 1582544.178 609723.408 0, 1582248.737 609689.129 0, 1581953.294 609654.868 0, 1581657.849 609620.624 0, 1581362.403 609586.398 0,
+ 1581066.954 609552.188 0, 1580771.503 609517.997 0, 1580476.05 609483.822 0, 1580180.595 609449.665 0, 1579885.138 609415.526 0, 1579589.679 609381.404 0, 1579294.218 609347.299 0, 1578998.755 609313.211 0, 1578703.291 609279.141 0, 1578407.824 609245.089 0,
+ 1578112.355 609211.053 0, 1577816.884 609177.036 0, 1577521.411 609143.035 0, 1577225.936 609109.052 0, 1576929.121 609074.933 0, 1576634.98 609041.138 0, 1576339.499 609007.207 0, 1576044.016 608973.294 0, 1575748.531 608939.398 0, 1575453.044 608905.519 0,
+ 1575157.555 608871.658 0, 1574862.064 608837.814 0, 1574566.572 608803.987 0, 1574271.077 608770.178 0, 1573975.58 608736.386 0, 1573680.081 608702.612 0, 1573384.58 608668.855 0, 1573089.077 608635.115 0, 1572793.572 608601.393 0, 1572498.066 608567.688 0,
+ 1572202.557 608534.001 0, 1571907.046 608500.331 0, 1571611.533 608466.678 0, 1571316.019 608433.043 0, 1571020.502 608399.425 0, 1570724.983 608365.825 0, 1570429.463 608332.242 0, 1570133.94 608298.676 0, 1569837.076 608264.976 0, 1569209.741 613792.597 0,
+ 1568582.366 619320.573 0, 1568878.576 619354.2 0, 1569173.448 619387.691 0, 1569468.318 619421.2 0, 1569763.186 619454.727 0, 1570058.052 619488.271 0, 1570352.916 619521.832 0, 1570647.778 619555.41 0, 1570942.638 619589.006 0, 1571237.496 619622.619 0,
+ 1571532.353 619656.25 0, 1571827.207 619689.898 0, 1572122.059 619723.563 0, 1572416.909 619757.246 0, 1572711.757 619790.946 0, 1573006.603 619824.663 0, 1573301.448 619858.398 0, 1573596.29 619892.15 0, 1573891.13 619925.919 0, 1574185.969 619959.706 0,
+ 1574480.805 619993.51 0, 1574775.639 620027.332 0, 1575070.471 620061.171 0, 1575365.302 620095.027 0, 1575658.795 620128.747 0, 1575954.956 620162.791 0, 1576249.781 620196.699 0, 1576544.603 620230.625 0, 1576839.423 620264.568 0, 1577134.242 620298.528 0,
+ 1577429.058 620332.506 0, 1577723.872 620366.501 0, 1578018.685 620400.513 0, 1578313.495 620434.543 0, 1578608.304 620468.59 0, 1578903.11 620502.654 0, 1579197.914 620536.736 0, 1579492.716 620570.835 0, 1579787.517 620604.952 0, 1580082.315 620639.086 0,
+ 1580377.111 620673.237 0, 1580671.906 620707.405 0, 1580966.698 620741.591 0, 1581261.488 620775.794 0, 1581556.276 620810.015 0, 1581851.063 620844.253 0, 1582145.847 620878.508 0, 1582440.629 620912.781 0, 1582734.076 620946.916 0, 1583377.066 615420.733 0,
+ 1584020.015 609894.907 0))
+
+POLYGON ((1596881.134 622613.232 0, 1596587.783 622578.268 0, 1596293.099 622543.163 0, 1595998.413 622508.075 0, 1595703.724 622473.004 0, 1595409.034 622437.951 0, 1595114.341 622402.915 0, 1594819.647 622367.897 0, 1594524.95 622332.895 0, 1594230.252 622297.912 0,
+ 1593935.551 622262.945 0, 1593640.848 622227.996 0, 1593346.143 622193.064 0, 1593051.437 622158.15 0, 1592756.728 622123.252 0, 1592462.017 622088.373 0, 1592167.304 622053.51 0, 1591872.589 622018.665 0, 1591577.871 621983.837 0, 1591283.152 621949.027 0,
+ 1590988.431 621914.234 0, 1590693.708 621879.458 0, 1590398.982 621844.7 0, 1590104.255 621809.959 0, 1589808.194 621775.078 0, 1589514.794 621740.529 0, 1589220.061 621705.84 0, 1588925.325 621671.168 0, 1588630.588 621636.514 0, 1588335.848 621601.877 0,
+ 1588041.106 621567.257 0, 1587746.363 621532.655 0, 1587451.617 621498.07 0, 1587156.869 621463.502 0, 1586862.119 621428.952 0, 1586567.368 621394.419 0, 1586272.614 621359.904 0, 1585977.858 621325.406 0, 1585683.1 621290.925 0, 1585388.34 621256.461 0,
+ 1585093.578 621222.015 0, 1584798.814 621187.586 0, 1584504.048 621153.175 0, 1584209.28 621118.781 0, 1583914.51 621084.404 0, 1583619.738 621050.045 0, 1583324.964 621015.703 0, 1583030.187 620981.378 0, 1582734.076 620946.916 0, 1582091.045 626473.451 0,
+ 1581447.973 632000.335 0, 1581743.431 632034.722 0, 1582037.556 632068.971 0, 1582331.68 632103.237 0, 1582625.801 632137.521 0, 1582919.921 632171.821 0, 1583214.038 632206.14 0, 1583508.154 632240.475 0, 1583802.267 632274.828 0, 1584096.379 632309.198 0,
+ 1584390.488 632343.585 0, 1584684.595 632377.99 0, 1584978.701 632412.412 0, 1585272.804 632446.851 0, 1585566.905 632481.308 0, 1585861.005 632515.782 0, 1586155.102 632550.273 0, 1586449.197 632584.782 0, 1586743.29 632619.308 0, 1587037.381 632653.851 0,
+ 1587331.471 632688.411 0, 1587625.558 632722.989 0, 1587919.643 632757.584 0, 1588213.726 632792.197 0, 1588506.478 632826.67 0, 1588801.886 632861.474 0, 1589095.963 632896.138 0, 1589390.037 632930.82 0, 1589684.11 632965.519 0, 1589978.181 633000.235 0,
+ 1590272.25 633034.969 0, 1590566.316 633069.719 0, 1590860.381 633104.488 0, 1591154.444 633139.273 0, 1591448.504 633174.076 0, 1591742.563 633208.896 0, 1592036.619 633243.734 0, 1592330.673 633278.588 0, 1592624.726 633313.46 0, 1592918.776 633348.35 0,
+ 1593212.824 633383.256 0, 1593506.871 633418.18 0, 1593800.915 633453.122 0, 1594094.957 633488.08 0, 1594388.997 633523.056 0, 1594683.035 633558.049 0, 1594977.071 633593.06 0, 1595271.104 633628.088 0, 1595563.808 633662.975 0, 1596222.492 628137.929 0,
+ 1596881.134 622613.232 0))
+
+POLYGON ((1609674.891 635365.487 0, 1609382.284 635329.773 0, 1609088.35 635293.915 0, 1608794.415 635258.074 0, 1608500.477 635222.25 0, 1608206.537 635186.443 0, 1607912.595 635150.654 0, 1607618.65 635114.882 0, 1607324.704 635079.128 0, 1607030.756 635043.39 0,
+ 1606736.805 635007.67 0, 1606442.852 634971.968 0, 1606148.898 634936.282 0, 1605854.941 634900.614 0, 1605560.982 634864.964 0, 1605267.021 634829.33 0, 1604973.058 634793.714 0, 1604679.092 634758.115 0, 1604385.125 634722.534 0, 1604091.156 634686.969 0,
+ 1603797.184 634651.422 0, 1603503.21 634615.893 0, 1603209.235 634580.38 0, 1602915.257 634544.885 0, 1602619.951 634509.247 0, 1602327.295 634473.947 0, 1602033.311 634438.504 0, 1601739.325 634403.078 0, 1601445.337 634367.67 0, 1601151.346 634332.278 0,
+ 1600857.354 634296.904 0, 1600563.36 634261.548 0, 1600269.363 634226.208 0, 1599975.364 634190.886 0, 1599681.364 634155.582 0, 1599387.361 634120.294 0, 1599093.356 634085.024 0, 1598799.349 634049.771 0, 1598505.34 634014.536 0, 1598211.329 633979.318 0,
+ 1597917.316 633944.117 0, 1597623.301 633908.933 0, 1597329.283 633873.767 0, 1597035.264 633838.618 0, 1596741.243 633803.486 0, 1596447.219 633768.372 0, 1596153.193 633733.275 0, 1595859.166 633698.195 0, 1595563.808 633662.975 0, 1594905.083 639188.367 0,
+ 1594246.317 644714.102 0, 1594541.021 644749.245 0, 1594834.398 644784.247 0, 1595127.774 644819.266 0, 1595421.147 644854.303 0, 1595714.518 644889.357 0, 1596007.887 644924.428 0, 1596301.253 644959.517 0, 1596594.618 644994.622 0, 1596887.981 645029.745 0,
+ 1597181.342 645064.886 0, 1597474.7 645100.043 0, 1597768.057 645135.218 0, 1598061.411 645170.41 0, 1598354.764 645205.619 0, 1598648.114 645240.846 0, 1598941.462 645276.09 0, 1599234.808 645311.351 0, 1599528.153 645346.629 0, 1599821.495 645381.925 0,
+ 1600114.835 645417.238 0, 1600408.172 645452.568 0, 1600701.508 645487.916 0, 1600994.842 645523.28 0, 1601286.85 645558.503 0, 1601581.503 645594.062 0, 1601874.831 645629.478 0, 1602168.156 645664.912 0, 1602461.479 645700.363 0, 1602754.8 645735.831 0,
+ 1603048.119 645771.317 0, 1603341.437 645806.82 0, 1603634.751 645842.34 0, 1603928.064 645877.877 0, 1604221.375 645913.432 0, 1604514.684 645949.004 0, 1604807.99 645984.593 0, 1605101.295 646020.199 0, 1605394.597 646055.823 0, 1605687.897 646091.464 0,
+ 1605981.196 646127.122 0, 1606274.492 646162.798 0, 1606567.786 646198.49 0, 1606861.077 646234.2 0, 1607154.367 646269.928 0, 1607447.655 646305.672 0, 1607740.94 646341.434 0, 1608034.224 646377.213 0, 1608326.183 646412.848 0, 1609000.558 640888.996 0,
+ 1609674.891 635365.487 0))
+
+POLYGON ((1622401.194 648151.366 0, 1622109.334 648114.906 0, 1621816.153 648078.298 0, 1621522.97 648041.708 0, 1621229.784 648005.135 0, 1620936.596 647968.579 0, 1620643.407 647932.041 0, 1620350.215 647895.52 0, 1620057.02 647859.016 0, 1619763.824 647822.529 0,
+ 1619470.626 647786.059 0, 1619177.425 647749.607 0, 1618884.223 647713.172 0, 1618591.018 647676.755 0, 1618297.811 647640.354 0, 1618004.602 647603.971 0, 1617711.39 647567.605 0, 1617418.177 647531.257 0, 1617124.961 647494.925 0, 1616831.744 647458.611 0,
+ 1616538.524 647422.314 0, 1616245.302 647386.035 0, 1615952.078 647349.772 0, 1615658.852 647313.527 0, 1615364.302 647277.136 0, 1615072.393 647241.089 0, 1614779.16 647204.895 0, 1614485.925 647168.719 0, 1614192.688 647132.561 0, 1613899.449 647096.419 0,
+ 1613606.208 647060.295 0, 1613312.965 647024.188 0, 1613019.72 646988.098 0, 1612726.472 646952.026 0, 1612433.222 646915.97 0, 1612139.971 646879.932 0, 1611846.717 646843.912 0, 1611553.461 646807.908 0, 1611260.203 646771.922 0, 1610966.943 646735.953 0,
+ 1610673.68 646700.001 0, 1610380.416 646664.067 0, 1610087.149 646628.15 0, 1609793.88 646592.25 0, 1609500.61 646556.367 0, 1609207.337 646520.502 0, 1608914.062 646484.654 0, 1608620.785 646448.823 0, 1608326.183 646412.848 0, 1607651.767 651937.04 0,
+ 1606977.31 657461.568 0, 1607271.258 657497.463 0, 1607563.885 657533.215 0, 1607856.51 657568.983 0, 1608149.132 657604.769 0, 1608441.753 657640.572 0, 1608734.371 657676.392 0, 1609026.987 657712.23 0, 1609319.602 657748.085 0, 1609612.214 657783.957 0,
+ 1609904.824 657819.846 0, 1610197.432 657855.752 0, 1610490.037 657891.676 0, 1610782.641 657927.617 0, 1611075.242 657963.575 0, 1611367.842 657999.55 0, 1611660.439 658035.542 0, 1611953.034 658071.552 0, 1612245.627 658107.579 0, 1612538.218 658143.623 0,
+ 1612830.807 658179.685 0, 1613123.394 658215.763 0, 1613415.978 658251.859 0, 1613708.561 658287.972 0, 1613999.823 658323.94 0, 1614293.719 658360.25 0, 1614586.295 658396.415 0, 1614878.869 658432.597 0, 1615171.441 658468.796 0, 1615464.011 658505.012 0,
+ 1615756.578 658541.246 0, 1616049.143 658577.497 0, 1616341.707 658613.765 0, 1616634.268 658650.05 0, 1616926.827 658686.352 0, 1617219.384 658722.672 0, 1617511.938 658759.009 0, 1617804.491 658795.363 0, 1618097.041 658831.734 0, 1618389.59 658868.123 0,
+ 1618682.136 658904.529 0, 1618974.68 658940.952 0, 1619267.222 658977.392 0, 1619559.761 659013.85 0, 1619852.299 659050.324 0, 1620144.834 659086.816 0, 1620437.368 659123.325 0, 1620729.899 659159.851 0, 1621021.111 659196.231 0, 1621711.173 653673.63 0,
+ 1622401.194 648151.366 0))
+
+POLYGON ((1635059.956 660970.562 0, 1634768.845 660933.361 0, 1634476.418 660896.008 0, 1634183.989 660858.673 0, 1633891.558 660821.354 0, 1633599.125 660784.053 0, 1633306.689 660746.77 0, 1633014.251 660709.503 0, 1632721.812 660672.254 0, 1632429.369 660635.021 0,
+ 1632136.925 660597.807 0, 1631844.479 660560.609 0, 1631552.03 660523.428 0, 1631259.579 660486.265 0, 1630967.126 660449.119 0, 1630674.671 660411.99 0, 1630382.213 660374.878 0, 1630089.754 660337.784 0, 1629797.292 660300.707 0, 1629504.828 660263.647 0,
+ 1629212.362 660226.604 0, 1628919.893 660189.578 0, 1628627.423 660152.57 0, 1628334.95 660115.579 0, 1628041.16 660078.439 0, 1627749.998 660041.648 0, 1627457.519 660004.709 0, 1627165.038 659967.786 0, 1626872.554 659930.881 0, 1626580.068 659893.993 0,
+ 1626287.58 659857.123 0, 1625995.09 659820.269 0, 1625702.598 659783.433 0, 1625410.103 659746.614 0, 1625117.607 659709.812 0, 1624825.108 659673.028 0, 1624532.607 659636.26 0, 1624240.104 659599.51 0, 1623947.599 659562.777 0, 1623655.091 659526.062 0,
+ 1623362.582 659489.363 0, 1623070.07 659452.682 0, 1622777.556 659416.018 0, 1622485.04 659379.371 0, 1622192.522 659342.741 0, 1621900.002 659306.129 0, 1621607.479 659269.534 0, 1621314.954 659232.956 0, 1621021.111 659196.231 0, 1620331.007 664719.164 0,
+ 1619640.862 670242.428 0, 1619934.052 670279.072 0, 1620225.927 670315.568 0, 1620517.799 670352.082 0, 1620809.669 670388.613 0, 1621101.538 670425.161 0, 1621393.403 670461.727 0, 1621685.267 670498.309 0, 1621977.129 670534.909 0, 1622268.988 670571.526 0,
+ 1622560.846 670608.16 0, 1622852.701 670644.811 0, 1623144.554 670681.48 0, 1623436.404 670718.166 0, 1623728.253 670754.868 0, 1624020.1 670791.588 0, 1624311.944 670828.325 0, 1624603.786 670865.08 0, 1624895.626 670901.851 0, 1625187.464 670938.64 0,
+ 1625479.3 670975.446 0, 1625771.133 671012.269 0, 1626062.965 671049.109 0, 1626354.794 671085.967 0, 1626645.309 671122.675 0, 1626938.446 671159.733 0, 1627230.268 671196.642 0, 1627522.089 671233.568 0, 1627813.907 671270.511 0, 1628105.723 671307.472 0,
+ 1628397.537 671344.449 0, 1628689.349 671381.444 0, 1628981.159 671418.456 0, 1629272.966 671455.485 0, 1629564.771 671492.532 0, 1629856.574 671529.595 0, 1630148.375 671566.676 0, 1630440.174 671603.774 0, 1630731.971 671640.889 0, 1631023.765 671678.021 0,
+ 1631315.557 671715.171 0, 1631607.347 671752.337 0, 1631899.135 671789.521 0, 1632190.92 671826.722 0, 1632482.704 671863.94 0, 1632774.485 671901.175 0, 1633066.264 671938.428 0, 1633358.041 671975.697 0, 1633648.505 672012.816 0, 1634354.251 666491.525 0,
+ 1635059.956 660970.562 0))
+
+POLYGON ((1647651.09 673822.772 0, 1647360.73 673784.832 0, 1647069.059 673746.738 0, 1646777.387 673708.661 0, 1646485.712 673670.602 0, 1646194.035 673632.56 0, 1645902.355 673594.535 0, 1645610.674 673556.527 0, 1645318.99 673518.536 0, 1645027.304 673480.562 0,
+ 1644735.616 673442.606 0, 1644443.925 673404.667 0, 1644152.232 673366.744 0, 1643860.538 673328.839 0, 1643568.84 673290.952 0, 1643277.141 673253.081 0, 1642985.439 673215.228 0, 1642693.735 673177.391 0, 1642402.029 673139.572 0, 1642110.321 673101.77 0,
+ 1641818.61 673063.986 0, 1641526.898 673026.218 0, 1641235.183 672988.468 0, 1640943.465 672950.734 0, 1640650.436 672912.849 0, 1640360.024 672875.319 0, 1640068.3 672837.638 0, 1639776.574 672799.973 0, 1639484.846 672762.326 0, 1639193.115 672724.696 0,
+ 1638901.383 672687.082 0, 1638609.648 672649.487 0, 1638317.91 672611.908 0, 1638026.171 672574.346 0, 1637734.429 672536.802 0, 1637442.686 672499.275 0, 1637150.94 672461.765 0, 1636859.191 672424.272 0, 1636567.441 672386.796 0, 1636275.688 672349.338 0,
+ 1635983.933 672311.896 0, 1635692.176 672274.472 0, 1635400.417 672237.065 0, 1635108.656 672199.675 0, 1634816.892 672162.303 0, 1634525.126 672124.947 0, 1634233.358 672087.609 0, 1633941.588 672050.288 0, 1633648.505 672012.816 0, 1632942.716 677534.435 0,
+ 1632236.887 683056.376 0, 1632529.317 683093.764 0, 1632820.437 683131.002 0, 1633111.555 683168.257 0, 1633402.671 683205.53 0, 1633693.785 683242.819 0, 1633984.896 683280.125 0, 1634276.006 683317.449 0, 1634567.113 683354.79 0, 1634858.218 683392.148 0,
+ 1635149.32 683429.523 0, 1635440.421 683466.915 0, 1635731.519 683504.324 0, 1636022.615 683541.751 0, 1636313.709 683579.194 0, 1636604.801 683616.655 0, 1636895.89 683654.133 0, 1637186.977 683691.628 0, 1637478.062 683729.14 0, 1637769.145 683766.669 0,
+ 1638060.226 683804.216 0, 1638351.304 683841.779 0, 1638642.381 683879.36 0, 1638933.455 683916.958 0, 1639223.22 683954.404 0, 1639515.596 683992.205 0, 1639806.663 684029.854 0, 1640097.728 684067.52 0, 1640388.791 684105.204 0, 1640679.852 684142.904 0,
+ 1640970.91 684180.622 0, 1641261.967 684218.357 0, 1641553.021 684256.109 0, 1641844.073 684293.878 0, 1642135.122 684331.664 0, 1642426.17 684369.467 0, 1642717.215 684407.288 0, 1643008.258 684445.126 0, 1643299.298 684482.98 0, 1643590.337 684520.852 0,
+ 1643881.373 684558.741 0, 1644172.407 684596.647 0, 1644463.439 684634.571 0, 1644754.468 684672.511 0, 1645045.496 684710.469 0, 1645336.521 684748.443 0, 1645627.544 684786.435 0, 1645918.564 684824.444 0, 1646208.277 684862.299 0, 1646929.705 679342.374 0,
+ 1647651.09 673822.772 0))
+
+POLYGON ((1660174.51 686707.687 0, 1659884.903 686669.013 0, 1659593.991 686630.182 0, 1659303.076 686591.368 0, 1659012.16 686552.572 0, 1658721.241 686513.792 0, 1658430.32 686475.03 0, 1658139.396 686436.284 0, 1657848.47 686397.556 0, 1657557.542 686358.845 0,
+ 1657266.612 686320.151 0, 1656975.679 686281.474 0, 1656684.745 686242.814 0, 1656393.807 686204.172 0, 1656102.868 686165.546 0, 1655811.926 686126.938 0, 1655520.982 686088.347 0, 1655230.036 686049.773 0, 1654939.088 686011.216 0, 1654648.137 685972.676 0,
+ 1654357.184 685934.153 0, 1654066.229 685895.648 0, 1653775.271 685857.159 0, 1653484.311 685818.688 0, 1653192.045 685780.061 0, 1652902.385 685741.796 0, 1652611.418 685703.376 0, 1652320.449 685664.974 0, 1652029.478 685626.588 0, 1651738.505 685588.219 0,
+ 1651447.529 685549.868 0, 1651156.551 685511.533 0, 1650865.571 685473.216 0, 1650574.589 685434.916 0, 1650283.604 685396.633 0, 1649992.617 685358.367 0, 1649701.628 685320.119 0, 1649410.636 685281.887 0, 1649119.643 685243.673 0, 1648828.647 685205.475 0,
+ 1648537.649 685167.295 0, 1648246.648 685129.132 0, 1647955.646 685090.986 0, 1647664.641 685052.857 0, 1647373.634 685014.745 0, 1647082.624 684976.651 0, 1646791.612 684938.573 0, 1646500.599 684900.513 0, 1646208.277 684862.299 0, 1645486.808 690382.545 0,
+ 1644765.298 695903.106 0, 1645056.966 695941.235 0, 1645347.33 695979.21 0, 1645637.692 696017.202 0, 1645928.052 696055.212 0, 1646218.409 696093.238 0, 1646508.764 696131.282 0, 1646799.117 696169.343 0, 1647089.468 696207.421 0, 1647379.816 696245.516 0,
+ 1647670.162 696283.628 0, 1647960.506 696321.757 0, 1648250.848 696359.903 0, 1648541.187 696398.066 0, 1648831.524 696436.247 0, 1649121.859 696474.444 0, 1649412.192 696512.659 0, 1649702.522 696550.89 0, 1649992.85 696589.139 0, 1650283.176 696627.405 0,
+ 1650573.5 696665.688 0, 1650863.821 696703.988 0, 1651154.14 696742.305 0, 1651444.457 696780.639 0, 1651733.471 696818.819 0, 1652025.084 696857.359 0, 1652315.394 696895.744 0, 1652605.702 696934.147 0, 1652896.008 696972.566 0, 1653186.311 697011.003 0,
+ 1653476.612 697049.457 0, 1653766.911 697087.928 0, 1654057.208 697126.416 0, 1654347.502 697164.921 0, 1654637.794 697203.443 0, 1654928.084 697241.982 0, 1655218.371 697280.538 0, 1655508.656 697319.112 0, 1655798.939 697357.702 0, 1656089.22 697396.31 0,
+ 1656379.498 697434.935 0, 1656669.774 697473.576 0, 1656960.048 697512.235 0, 1657250.32 697550.911 0, 1657540.589 697589.604 0, 1657830.856 697628.314 0, 1658121.121 697667.041 0, 1658411.383 697705.785 0, 1658700.344 697744.373 0, 1659437.448 692225.872 0,
+ 1660174.51 686707.687 0))
+
+POLYGON ((1672630.133 699625.002 0, 1672341.28 699585.598 0, 1672051.128 699546.034 0, 1671760.974 699506.487 0, 1671470.817 699466.957 0, 1671180.659 699427.444 0, 1670890.498 699387.948 0, 1670600.334 699348.469 0, 1670310.168 699309.007 0, 1670020 699269.563 0,
+ 1669729.83 699230.135 0, 1669439.657 699190.725 0, 1669149.482 699151.332 0, 1668859.305 699111.955 0, 1668569.125 699072.596 0, 1668278.943 699033.254 0, 1667988.758 698993.929 0, 1667698.572 698954.621 0, 1667408.383 698915.33 0, 1667118.192 698876.056 0,
+ 1666827.998 698836.8 0, 1666537.802 698797.56 0, 1666247.604 698758.337 0, 1665957.403 698719.132 0, 1665665.902 698679.768 0, 1665376.995 698640.772 0, 1665086.788 698601.618 0, 1664796.578 698562.481 0, 1664506.366 698523.361 0, 1664216.152 698484.258 0,
+ 1663925.935 698445.172 0, 1663635.716 698406.103 0, 1663345.495 698367.051 0, 1663055.272 698328.017 0, 1662765.046 698288.999 0, 1662474.818 698249.999 0, 1662184.587 698211.015 0, 1661894.354 698172.049 0, 1661604.119 698133.1 0, 1661313.882 698094.168 0,
+ 1661023.643 698055.252 0, 1660733.401 698016.354 0, 1660443.157 697977.474 0, 1660152.91 697938.61 0, 1659862.661 697899.763 0, 1659572.41 697860.933 0, 1659282.157 697822.121 0, 1658991.901 697783.325 0, 1658700.344 697744.373 0, 1657963.198 703263.187 0,
+ 1657226.01 708782.312 0, 1657516.915 708821.176 0, 1657806.521 708859.885 0, 1658096.125 708898.611 0, 1658385.726 708937.353 0, 1658675.325 708976.113 0, 1658964.922 709014.89 0, 1659254.517 709053.684 0, 1659544.109 709092.495 0, 1659833.699 709131.323 0,
+ 1660123.287 709170.168 0, 1660412.872 709209.03 0, 1660702.455 709247.909 0, 1660992.036 709286.805 0, 1661281.615 709325.718 0, 1661571.191 709364.649 0, 1661860.765 709403.596 0, 1662150.336 709442.56 0, 1662439.906 709481.542 0, 1662729.473 709520.54 0,
+ 1663019.038 709559.556 0, 1663308.6 709598.588 0, 1663598.16 709637.638 0, 1663887.718 709676.704 0, 1664175.978 709715.613 0, 1664466.827 709754.889 0, 1664756.378 709794.006 0, 1665045.927 709833.141 0, 1665335.473 709872.293 0, 1665625.017 709911.462 0,
+ 1665914.559 709950.648 0, 1666204.098 709989.85 0, 1666493.635 710029.07 0, 1666783.17 710068.307 0, 1667072.703 710107.561 0, 1667362.233 710146.833 0, 1667651.761 710186.121 0, 1667941.286 710225.426 0, 1668230.81 710264.748 0, 1668520.331 710304.087 0,
+ 1668809.849 710343.444 0, 1669099.366 710382.817 0, 1669388.88 710422.207 0, 1669678.391 710461.615 0, 1669967.901 710501.039 0, 1670257.408 710540.481 0, 1670546.912 710579.939 0, 1670836.415 710619.415 0, 1671124.621 710658.731 0, 1671877.398 705141.712 0,
+ 1672630.133 699625.002 0))
+
+POLYGON ((1685017.875 712574.409 0, 1684729.778 712534.279 0, 1684440.389 712493.985 0, 1684150.997 712453.709 0, 1683861.602 712413.45 0, 1683572.205 712373.207 0, 1683282.806 712332.982 0, 1682993.405 712292.774 0, 1682704.001 712252.583 0, 1682414.594 712212.409 0,
+ 1682125.186 712172.252 0, 1681835.775 712132.112 0, 1681546.361 712091.989 0, 1681256.946 712051.883 0, 1680967.528 712011.794 0, 1680678.107 711971.722 0, 1680388.684 711931.667 0, 1680099.259 711891.629 0, 1679809.831 711851.609 0, 1679520.402 711811.605 0,
+ 1679230.969 711771.618 0, 1678941.535 711731.649 0, 1678652.098 711691.696 0, 1678362.659 711651.76 0, 1678071.924 711611.664 0, 1677783.773 711571.94 0, 1677494.327 711532.056 0, 1677204.878 711492.188 0, 1676915.427 711452.338 0, 1676625.973 711412.505 0,
+ 1676336.518 711372.688 0, 1676047.06 711332.889 0, 1675757.599 711293.107 0, 1675468.136 711253.341 0, 1675178.671 711213.593 0, 1674889.204 711173.862 0, 1674599.734 711134.148 0, 1674310.262 711094.451 0, 1674020.788 711054.771 0, 1673731.311 711015.108 0,
+ 1673441.832 710975.462 0, 1673152.35 710935.833 0, 1672862.866 710896.221 0, 1672573.38 710856.626 0, 1672283.892 710817.048 0, 1671994.401 710777.488 0, 1671704.908 710737.944 0, 1671415.413 710698.417 0, 1671124.621 710658.731 0, 1670371.802 716176.057 0,
+ 1669618.942 721693.685 0, 1669909.081 721733.282 0, 1670197.927 721772.72 0, 1670486.771 721812.175 0, 1670775.612 721851.647 0, 1671064.451 721891.136 0, 1671353.288 721930.642 0, 1671642.122 721970.165 0, 1671930.954 722009.705 0, 1672219.784 722049.263 0,
+ 1672508.611 722088.837 0, 1672797.436 722128.428 0, 1673086.259 722168.036 0, 1673375.079 722207.661 0, 1673663.897 722247.303 0, 1673952.713 722286.962 0, 1674241.526 722326.638 0, 1674530.337 722366.331 0, 1674819.146 722406.041 0, 1675107.952 722445.768 0,
+ 1675396.756 722485.512 0, 1675685.558 722525.273 0, 1675974.357 722565.051 0, 1676263.154 722604.846 0, 1676550.659 722644.48 0, 1676840.741 722684.487 0, 1677129.531 722724.333 0, 1677418.319 722764.196 0, 1677707.104 722804.076 0, 1677995.887 722843.973 0,
+ 1678284.667 722883.887 0, 1678573.445 722923.818 0, 1678862.221 722963.766 0, 1679150.995 723003.731 0, 1679439.766 723043.713 0, 1679728.535 723083.712 0, 1680017.301 723123.728 0, 1680306.065 723163.761 0, 1680594.827 723203.81 0, 1680883.586 723243.877 0,
+ 1681172.343 723283.961 0, 1681461.098 723324.062 0, 1681749.85 723364.18 0, 1682038.6 723404.315 0, 1682327.348 723444.467 0, 1682616.093 723484.636 0, 1682904.836 723524.822 0, 1683193.576 723565.025 0, 1683481.026 723605.065 0, 1684249.471 718089.586 0,
+ 1685017.875 712574.409 0))
+
+POLYGON ((1697337.655 725555.601 0, 1697050.317 725514.748 0, 1696761.691 725473.73 0, 1696473.063 725432.728 0, 1696184.433 725391.744 0, 1695895.8 725350.776 0, 1695607.164 725309.826 0, 1695318.526 725268.892 0, 1695029.886 725227.975 0, 1694741.244 725187.076 0,
+ 1694452.599 725146.193 0, 1694163.951 725105.328 0, 1693875.301 725064.479 0, 1693586.649 725023.647 0, 1693297.994 724982.833 0, 1693009.337 724942.035 0, 1692720.678 724901.254 0, 1692432.016 724860.491 0, 1692143.352 724819.744 0, 1691854.685 724779.014 0,
+ 1691566.016 724738.302 0, 1691277.345 724697.606 0, 1690988.671 724656.927 0, 1690699.995 724616.266 0, 1690410.029 724575.44 0, 1690122.635 724534.993 0, 1689833.952 724494.382 0, 1689545.266 724453.789 0, 1689256.578 724413.212 0, 1688967.887 724372.652 0,
+ 1688679.194 724332.109 0, 1688390.499 724291.583 0, 1688101.801 724251.075 0, 1687813.101 724210.583 0, 1687524.399 724170.108 0, 1687235.694 724129.65 0, 1686946.987 724089.209 0, 1686658.277 724048.786 0, 1686369.565 724008.379 0, 1686080.851 723967.989 0,
+ 1685792.134 723927.616 0, 1685503.415 723887.26 0, 1685214.693 723846.921 0, 1684925.969 723806.599 0, 1684637.243 723766.294 0, 1684348.514 723726.007 0, 1684059.783 723685.736 0, 1683771.05 723645.482 0, 1683481.026 723605.065 0, 1682712.539 729120.844 0,
+ 1681944.01 734636.92 0, 1682233.382 734677.245 0, 1682521.466 734717.409 0, 1682809.548 734757.589 0, 1683097.627 734797.786 0, 1683385.704 734838.001 0, 1683673.779 734878.232 0, 1683961.851 734918.48 0, 1684249.921 734958.745 0, 1684537.989 734999.027 0,
+ 1684826.054 735039.326 0, 1685114.116 735079.642 0, 1685402.177 735119.975 0, 1685690.235 735160.325 0, 1685978.29 735200.692 0, 1686266.344 735241.076 0, 1686554.395 735281.476 0, 1686842.443 735321.894 0, 1687130.489 735362.329 0, 1687418.533 735402.78 0,
+ 1687706.574 735443.249 0, 1687994.613 735483.734 0, 1688282.65 735524.237 0, 1688570.684 735564.756 0, 1688857.432 735605.112 0, 1689146.745 735645.846 0, 1689434.772 735686.416 0, 1689722.797 735727.003 0, 1690010.819 735767.608 0, 1690298.839 735808.229 0,
+ 1690586.856 735848.867 0, 1690874.872 735889.522 0, 1691162.884 735930.194 0, 1691450.895 735970.883 0, 1691738.902 736011.589 0, 1692026.908 736052.312 0, 1692314.911 736093.051 0, 1692602.912 736133.808 0, 1692890.91 736174.582 0, 1693178.906 736215.373 0,
+ 1693466.9 736256.18 0, 1693754.891 736297.005 0, 1694042.879 736337.846 0, 1694330.866 736378.705 0, 1694618.85 736419.58 0, 1694906.831 736460.472 0, 1695194.81 736501.382 0, 1695482.787 736542.308 0, 1695769.478 736583.069 0, 1696553.588 731069.187 0,
+ 1697337.655 725555.601 0))
+
+POLYGON ((1409860.994 458853.453 0, 1409558.08 458829.45 0, 1409253.759 458805.353 0, 1408949.435 458781.274 0, 1408645.111 458757.213 0, 1408340.785 458733.17 0, 1408036.457 458709.145 0, 1407732.128 458685.138 0, 1407427.798 458661.148 0, 1407123.466 458637.177 0,
+ 1406819.133 458613.224 0, 1406514.799 458589.288 0, 1406210.463 458565.37 0, 1405906.126 458541.47 0, 1405601.787 458517.589 0, 1405297.447 458493.725 0, 1404993.105 458469.879 0, 1404688.762 458446.05 0, 1404384.418 458422.24 0, 1404080.072 458398.448 0,
+ 1403775.725 458374.674 0, 1403471.376 458350.917 0, 1403167.026 458327.178 0, 1402862.675 458303.458 0, 1402556.914 458279.645 0, 1402253.968 458256.07 0, 1401949.612 458232.403 0, 1401645.256 458208.754 0, 1401340.897 458185.123 0, 1401036.538 458161.51 0,
+ 1400732.176 458137.915 0, 1400427.814 458114.337 0, 1400123.45 458090.778 0, 1399819.085 458067.237 0, 1399514.718 458043.713 0, 1399210.35 458020.207 0, 1398905.981 457996.719 0, 1398601.61 457973.25 0, 1398297.238 457949.798 0, 1397992.864 457926.364 0,
+ 1397688.489 457902.948 0, 1397384.113 457879.549 0, 1397079.735 457856.169 0, 1396775.356 457832.807 0, 1396470.976 457809.462 0, 1396166.594 457786.136 0, 1395862.211 457762.827 0, 1395557.826 457739.536 0, 1395252.031 457716.156 0, 1394828.815 463253.572 0,
+ 1394405.567 468791.42 0, 1394710.708 468814.751 0, 1395014.44 468837.991 0, 1395318.172 468861.25 0, 1395621.902 468884.527 0, 1395925.63 468907.821 0, 1396229.358 468931.133 0, 1396533.083 468954.464 0, 1396836.808 468977.812 0, 1397140.531 469001.178 0,
+ 1397444.253 469024.562 0, 1397747.973 469047.963 0, 1398051.692 469071.383 0, 1398355.41 469094.82 0, 1398659.126 469118.276 0, 1398962.841 469141.749 0, 1399266.554 469165.24 0, 1399570.266 469188.749 0, 1399873.977 469212.276 0, 1400177.686 469235.821 0,
+ 1400481.394 469259.383 0, 1400785.1 469282.964 0, 1401088.806 469306.562 0, 1401392.509 469330.178 0, 1401694.806 469353.703 0, 1401999.913 469377.464 0, 1402303.612 469401.134 0, 1402607.31 469424.822 0, 1402911.007 469448.527 0, 1403214.702 469472.251 0,
+ 1403518.396 469495.992 0, 1403822.089 469519.752 0, 1404125.78 469543.529 0, 1404429.47 469567.324 0, 1404733.158 469591.136 0, 1405036.845 469614.967 0, 1405340.531 469638.816 0, 1405644.215 469662.682 0, 1405947.898 469686.567 0, 1406251.579 469710.469 0,
+ 1406555.259 469734.389 0, 1406858.938 469758.327 0, 1407162.615 469782.283 0, 1407466.291 469806.256 0, 1407769.965 469830.248 0, 1408073.638 469854.258 0, 1408377.309 469878.285 0, 1408680.979 469902.33 0, 1408983.244 469926.282 0, 1409422.136 464389.652 0,
+ 1409860.994 458853.453 0))
+
+POLYGON ((1423557.657 471102.324 0, 1423255.459 471077.518 0, 1422951.858 471052.615 0, 1422648.255 471027.73 0, 1422344.651 471002.862 0, 1422041.046 470978.013 0, 1421737.439 470953.181 0, 1421433.831 470928.368 0, 1421130.221 470903.572 0, 1420826.61 470878.794 0,
+ 1420522.998 470854.034 0, 1420219.384 470829.292 0, 1419915.768 470804.567 0, 1419612.151 470779.861 0, 1419308.533 470755.172 0, 1419004.913 470730.501 0, 1418701.291 470705.849 0, 1418397.669 470681.214 0, 1418094.044 470656.597 0, 1417790.419 470631.997 0,
+ 1417486.791 470607.416 0, 1417183.163 470582.852 0, 1416879.533 470558.307 0, 1416575.901 470533.779 0, 1416270.866 470509.156 0, 1415968.634 470484.777 0, 1415664.998 470460.303 0, 1415361.361 470435.847 0, 1415057.722 470411.408 0, 1414754.082 470386.988 0,
+ 1414450.441 470362.585 0, 1414146.798 470338.2 0, 1413843.153 470313.833 0, 1413539.507 470289.484 0, 1413235.86 470265.153 0, 1412932.211 470240.84 0, 1412628.561 470216.544 0, 1412324.91 470192.267 0, 1412021.257 470168.007 0, 1411717.602 470143.765 0,
+ 1411413.946 470119.541 0, 1411110.289 470095.335 0, 1410806.63 470071.147 0, 1410502.97 470046.977 0, 1410199.309 470022.824 0, 1409895.646 469998.69 0, 1409591.981 469974.573 0, 1409288.315 469950.474 0, 1408983.244 469926.282 0, 1408544.318 475463.34 0,
+ 1408105.359 481000.824 0, 1408409.775 481024.964 0, 1408712.789 481049.011 0, 1409015.802 481073.076 0, 1409318.813 481097.159 0, 1409621.822 481121.259 0, 1409924.831 481145.378 0, 1410227.838 481169.514 0, 1410530.843 481193.668 0, 1410833.847 481217.84 0,
+ 1411136.85 481242.03 0, 1411439.851 481266.238 0, 1411742.851 481290.463 0, 1412045.849 481314.706 0, 1412348.846 481338.967 0, 1412651.842 481363.246 0, 1412954.836 481387.543 0, 1413257.828 481411.858 0, 1413560.82 481436.19 0, 1413863.809 481460.54 0,
+ 1414166.798 481484.909 0, 1414469.785 481509.295 0, 1414772.77 481533.698 0, 1415075.754 481558.12 0, 1415377.337 481582.446 0, 1415681.718 481607.017 0, 1415984.698 481631.492 0, 1416287.676 481655.985 0, 1416590.653 481680.496 0, 1416893.628 481705.024 0,
+ 1417196.602 481729.571 0, 1417499.575 481754.135 0, 1417802.546 481778.717 0, 1418105.516 481803.317 0, 1418408.484 481827.935 0, 1418711.45 481852.57 0, 1419014.416 481877.224 0, 1419317.38 481901.895 0, 1419620.342 481926.584 0, 1419923.303 481951.291 0,
+ 1420226.262 481976.016 0, 1420529.22 482000.758 0, 1420832.177 482025.519 0, 1421135.132 482050.297 0, 1421438.086 482075.093 0, 1421741.038 482099.907 0, 1422043.988 482124.739 0, 1422346.938 482149.588 0, 1422648.487 482174.341 0, 1423103.089 476638.12 0,
+ 1423557.657 471102.324 0))
+
+POLYGON ((1437188.242 483388.941 0, 1436886.762 483363.336 0, 1436583.884 483337.631 0, 1436281.004 483311.943 0, 1435978.124 483286.274 0, 1435675.241 483260.622 0, 1435372.357 483234.988 0, 1435069.472 483209.371 0, 1434766.585 483183.773 0, 1434463.697 483158.192 0,
+ 1434160.807 483132.63 0, 1433857.915 483107.085 0, 1433555.022 483081.558 0, 1433252.128 483056.048 0, 1432949.232 483030.557 0, 1432646.335 483005.083 0, 1432343.436 482979.627 0, 1432040.535 482954.189 0, 1431737.633 482928.769 0, 1431434.73 482903.367 0,
+ 1431131.825 482877.983 0, 1430828.919 482852.616 0, 1430526.011 482827.267 0, 1430223.102 482801.936 0, 1429918.794 482776.506 0, 1429617.278 482751.328 0, 1429314.364 482726.05 0, 1429011.449 482700.79 0, 1428708.532 482675.549 0, 1428405.614 482650.325 0,
+ 1428102.694 482625.118 0, 1427799.773 482599.93 0, 1427496.85 482574.759 0, 1427193.926 482549.607 0, 1426891 482524.472 0, 1426588.073 482499.355 0, 1426285.144 482474.256 0, 1425982.214 482449.174 0, 1425679.283 482424.111 0, 1425376.35 482399.065 0,
+ 1425073.415 482374.037 0, 1424770.479 482349.027 0, 1424467.541 482324.035 0, 1424164.602 482299.06 0, 1423861.662 482274.104 0, 1423558.72 482249.165 0, 1423255.777 482224.244 0, 1422952.832 482199.341 0, 1422648.487 482174.341 0, 1422193.85 487710.984 0,
+ 1421739.179 493248.047 0, 1422042.869 493272.993 0, 1422345.162 493297.843 0, 1422647.453 493322.71 0, 1422949.744 493347.595 0, 1423252.032 493372.498 0, 1423554.319 493397.419 0, 1423856.605 493422.357 0, 1424158.89 493447.314 0, 1424461.172 493472.288 0,
+ 1424763.454 493497.279 0, 1425065.734 493522.289 0, 1425368.012 493547.316 0, 1425670.289 493572.362 0, 1425972.564 493597.425 0, 1426274.838 493622.505 0, 1426577.111 493647.604 0, 1426879.382 493672.72 0, 1427181.651 493697.855 0, 1427483.92 493723.007 0,
+ 1427786.186 493748.176 0, 1428088.451 493773.364 0, 1428390.715 493798.569 0, 1428692.977 493823.792 0, 1428993.844 493848.917 0, 1429297.497 493874.292 0, 1429599.754 493899.568 0, 1429902.011 493924.863 0, 1430204.265 493950.175 0, 1430506.519 493975.505 0,
+ 1430808.77 494000.852 0, 1431111.021 494026.218 0, 1431413.269 494051.601 0, 1431715.517 494077.002 0, 1432017.762 494102.421 0, 1432320.007 494127.857 0, 1432622.249 494153.312 0, 1432924.491 494178.784 0, 1433226.73 494204.274 0, 1433528.969 494229.782 0,
+ 1433831.205 494255.307 0, 1434133.441 494280.851 0, 1434435.674 494306.412 0, 1434737.906 494331.991 0, 1435040.137 494357.587 0, 1435342.366 494383.202 0, 1435644.594 494408.834 0, 1435946.82 494434.484 0, 1436247.652 494460.034 0, 1436717.965 488924.278 0,
+ 1437188.242 483388.941 0))
+
+POLYGON ((1450752.644 495713.005 0, 1450451.883 495686.605 0, 1450149.73 495660.101 0, 1449847.576 495633.615 0, 1449545.421 495607.147 0, 1449243.264 495580.696 0, 1448941.105 495554.264 0, 1448638.944 495527.849 0, 1448336.783 495501.452 0, 1448034.619 495475.072 0,
+ 1447732.454 495448.711 0, 1447430.288 495422.367 0, 1447128.12 495396.041 0, 1446825.95 495369.733 0, 1446523.779 495343.443 0, 1446221.606 495317.17 0, 1445919.432 495290.915 0, 1445617.256 495264.678 0, 1445315.079 495238.459 0, 1445012.9 495212.257 0,
+ 1444710.719 495186.074 0, 1444408.537 495159.908 0, 1444106.354 495133.76 0, 1443804.169 495107.629 0, 1443500.591 495081.397 0, 1443199.794 495055.422 0, 1442897.604 495029.345 0, 1442595.413 495003.286 0, 1442293.22 494977.245 0, 1441991.026 494951.221 0,
+ 1441688.83 494925.215 0, 1441386.633 494899.227 0, 1441084.434 494873.257 0, 1440782.234 494847.304 0, 1440480.032 494821.37 0, 1440177.828 494795.453 0, 1439875.623 494769.554 0, 1439573.417 494743.672 0, 1439271.209 494717.809 0, 1438968.999 494691.963 0,
+ 1438666.788 494666.135 0, 1438364.576 494640.325 0, 1438062.361 494614.533 0, 1437760.146 494588.758 0, 1437457.929 494563.001 0, 1437155.71 494537.262 0, 1436853.49 494511.541 0, 1436551.268 494485.838 0, 1436247.652 494460.034 0, 1435777.304 499996.206 0,
+ 1435306.921 505532.791 0, 1435609.882 505558.539 0, 1435911.452 505584.187 0, 1436213.021 505609.853 0, 1436514.588 505635.536 0, 1436816.153 505661.238 0, 1437117.717 505686.957 0, 1437419.279 505712.693 0, 1437720.84 505738.448 0, 1438022.4 505764.22 0,
+ 1438323.957 505790.01 0, 1438625.514 505815.818 0, 1438927.069 505841.643 0, 1439228.622 505867.487 0, 1439530.174 505893.348 0, 1439831.724 505919.226 0, 1440133.273 505945.123 0, 1440434.82 505971.037 0, 1440736.365 505996.969 0, 1441037.91 506022.919 0,
+ 1441339.452 506048.886 0, 1441640.993 506074.872 0, 1441942.533 506100.875 0, 1442244.071 506126.895 0, 1442544.219 506152.814 0, 1442847.142 506178.99 0, 1443148.676 506205.064 0, 1443450.208 506231.156 0, 1443751.738 506257.265 0, 1444053.267 506283.392 0,
+ 1444354.794 506309.537 0, 1444656.32 506335.7 0, 1444957.844 506361.881 0, 1445259.367 506388.079 0, 1445560.888 506414.295 0, 1445862.407 506440.528 0, 1446163.925 506466.78 0, 1446465.442 506493.049 0, 1446766.957 506519.336 0, 1447068.47 506545.641 0,
+ 1447369.982 506571.963 0, 1447671.492 506598.303 0, 1447973.001 506624.661 0, 1448274.508 506651.037 0, 1448576.014 506677.43 0, 1448877.518 506703.842 0, 1449179.021 506730.27 0, 1449480.521 506756.717 0, 1449780.634 506783.06 0, 1450266.657 501247.826 0,
+ 1450752.644 495713.005 0))
+
+POLYGON ((1464250.757 508074.215 0, 1463950.718 508047.024 0, 1463649.293 508019.726 0, 1463347.866 507992.445 0, 1463046.438 507965.182 0, 1462745.008 507937.937 0, 1462443.576 507910.71 0, 1462142.143 507883.5 0, 1461840.709 507856.308 0, 1461539.272 507829.134 0,
+ 1461237.834 507801.978 0, 1460936.395 507774.839 0, 1460634.954 507747.718 0, 1460333.511 507720.615 0, 1460032.067 507693.529 0, 1459730.621 507666.462 0, 1459429.174 507639.412 0, 1459127.725 507612.379 0, 1458826.274 507585.365 0, 1458524.822 507558.368 0,
+ 1458223.368 507531.389 0, 1457921.913 507504.428 0, 1457620.456 507477.484 0, 1457318.997 507450.559 0, 1457016.151 507423.527 0, 1456716.075 507396.76 0, 1456414.612 507369.888 0, 1456113.147 507343.033 0, 1455811.681 507316.196 0, 1455510.212 507289.377 0,
+ 1455208.743 507262.575 0, 1454907.272 507235.791 0, 1454605.799 507209.025 0, 1454304.325 507182.277 0, 1454002.849 507155.546 0, 1453701.371 507128.834 0, 1453399.892 507102.139 0, 1453098.411 507075.461 0, 1452796.929 507048.802 0, 1452495.445 507022.16 0,
+ 1452193.96 506995.536 0, 1451892.473 506968.929 0, 1451590.985 506942.341 0, 1451289.495 506915.77 0, 1450988.003 506889.217 0, 1450686.51 506862.681 0, 1450385.015 506836.164 0, 1450083.519 506809.664 0, 1449780.634 506783.06 0, 1449294.575 512318.704 0,
+ 1448808.48 517854.755 0, 1449110.71 517881.301 0, 1449411.555 517907.744 0, 1449712.398 517934.204 0, 1450013.239 517960.682 0, 1450314.079 517987.178 0, 1450614.918 518013.691 0, 1450915.754 518040.222 0, 1451216.59 518066.771 0, 1451517.424 518093.338 0,
+ 1451818.256 518119.922 0, 1452119.086 518146.524 0, 1452419.915 518173.144 0, 1452720.743 518199.781 0, 1453021.569 518226.436 0, 1453322.393 518253.109 0, 1453623.216 518279.8 0, 1453924.037 518306.508 0, 1454224.856 518333.234 0, 1454525.675 518359.977 0,
+ 1454826.491 518386.739 0, 1455127.306 518413.518 0, 1455428.119 518440.314 0, 1455728.931 518467.129 0, 1456028.358 518493.838 0, 1456330.55 518520.811 0, 1456631.357 518547.678 0, 1456932.162 518574.564 0, 1457232.966 518601.467 0, 1457533.768 518628.387 0,
+ 1457834.569 518655.326 0, 1458135.368 518682.282 0, 1458436.165 518709.256 0, 1458736.961 518736.247 0, 1459037.755 518763.256 0, 1459338.548 518790.283 0, 1459639.339 518817.328 0, 1459940.129 518844.39 0, 1460240.917 518871.47 0, 1460541.703 518898.568 0,
+ 1460842.488 518925.683 0, 1461143.271 518952.816 0, 1461444.053 518979.967 0, 1461744.833 519007.136 0, 1462045.611 519034.322 0, 1462346.388 519061.526 0, 1462647.163 519088.748 0, 1462947.936 519115.987 0, 1463247.327 519143.119 0, 1463749.06 513608.463 0,
+ 1464250.757 508074.215 0))
+
+POLYGON ((1477682.477 520472.27 0, 1477383.162 520444.292 0, 1477082.466 520416.203 0, 1476781.769 520388.132 0, 1476481.07 520360.078 0, 1476180.37 520332.043 0, 1475879.668 520304.024 0, 1475578.964 520276.024 0, 1475278.259 520248.041 0, 1474977.552 520220.076 0,
+ 1474676.844 520192.129 0, 1474376.133 520164.199 0, 1474075.421 520136.287 0, 1473774.708 520108.393 0, 1473473.993 520080.516 0, 1473173.276 520052.657 0, 1472872.558 520024.816 0, 1472571.837 519996.993 0, 1472271.116 519969.187 0, 1471970.392 519941.399 0,
+ 1471669.667 519913.628 0, 1471368.941 519885.876 0, 1471068.213 519858.141 0, 1470767.483 519830.423 0, 1470465.371 519802.597 0, 1470166.018 519775.042 0, 1469865.283 519747.378 0, 1469564.547 519719.731 0, 1469263.809 519692.102 0, 1468963.069 519664.491 0,
+ 1468662.328 519636.898 0, 1468361.585 519609.322 0, 1468060.84 519581.764 0, 1467760.094 519554.224 0, 1467459.347 519526.701 0, 1467158.597 519499.197 0, 1466857.846 519471.709 0, 1466557.094 519444.24 0, 1466256.339 519416.788 0, 1465955.583 519389.354 0,
+ 1465654.826 519361.938 0, 1465354.067 519334.539 0, 1465053.306 519307.158 0, 1464752.544 519279.795 0, 1464451.78 519252.449 0, 1464151.014 519225.121 0, 1463850.247 519197.811 0, 1463549.479 519170.519 0, 1463247.327 519143.119 0, 1462745.557 524678.178 0,
+ 1462243.751 530213.638 0, 1462545.248 530240.979 0, 1462845.365 530268.212 0, 1463145.481 530295.463 0, 1463445.595 530322.731 0, 1463745.707 530350.018 0, 1464045.818 530377.322 0, 1464345.927 530404.643 0, 1464646.034 530431.983 0, 1464946.14 530459.34 0,
+ 1465246.244 530486.714 0, 1465546.347 530514.107 0, 1465846.448 530541.517 0, 1466146.548 530568.944 0, 1466446.646 530596.39 0, 1466746.742 530623.852 0, 1467046.836 530651.333 0, 1467346.929 530678.831 0, 1467647.021 530706.347 0, 1467947.11 530733.881 0,
+ 1468247.199 530761.432 0, 1468547.285 530789.001 0, 1468847.37 530816.588 0, 1469147.453 530844.192 0, 1469446.158 530871.687 0, 1469747.615 530899.453 0, 1470047.693 530927.111 0, 1470347.77 530954.786 0, 1470647.845 530982.478 0, 1470947.919 531010.188 0,
+ 1471247.991 531037.916 0, 1471548.061 531065.662 0, 1471848.129 531093.425 0, 1472148.196 531121.206 0, 1472448.262 531149.004 0, 1472748.325 531176.821 0, 1473048.387 531204.655 0, 1473348.448 531232.506 0, 1473648.507 531260.375 0, 1473948.564 531288.262 0,
+ 1474248.619 531316.167 0, 1474548.673 531344.089 0, 1474848.725 531372.029 0, 1475148.776 531399.986 0, 1475448.825 531427.961 0, 1475748.872 531455.954 0, 1476048.918 531483.964 0, 1476348.962 531511.993 0, 1476647.628 531539.91 0, 1477165.071 526005.89 0,
+ 1477682.477 520472.27 0))
+
+POLYGON ((1491047.701 532906.87 0, 1490749.112 532878.109 0, 1490449.149 532849.233 0, 1490149.183 532820.375 0, 1489849.216 532791.535 0, 1489549.248 532762.712 0, 1489249.277 532733.907 0, 1488949.305 532705.119 0, 1488649.332 532676.35 0, 1488349.356 532647.598 0,
+ 1488049.379 532618.863 0, 1487749.4 532590.146 0, 1487449.42 532561.447 0, 1487149.437 532532.766 0, 1486849.453 532504.102 0, 1486549.468 532475.456 0, 1486249.481 532446.827 0, 1485949.492 532418.216 0, 1485649.501 532389.623 0, 1485349.509 532361.048 0,
+ 1485049.515 532332.49 0, 1484749.519 532303.95 0, 1484449.522 532275.427 0, 1484149.523 532246.922 0, 1483848.147 532218.304 0, 1483549.519 532189.965 0, 1483249.515 532161.513 0, 1482949.51 532133.079 0, 1482649.502 532104.662 0, 1482349.493 532076.264 0,
+ 1482049.482 532047.882 0, 1481749.47 532019.519 0, 1481449.456 531991.173 0, 1481149.44 531962.844 0, 1480849.423 531934.534 0, 1480549.403 531906.241 0, 1480249.383 531877.965 0, 1479949.36 531849.708 0, 1479649.336 531821.467 0, 1479349.31 531793.245 0,
+ 1479049.283 531765.04 0, 1478749.254 531736.853 0, 1478449.223 531708.684 0, 1478149.191 531680.532 0, 1477849.157 531652.398 0, 1477549.121 531624.282 0, 1477249.084 531596.183 0, 1476949.045 531568.102 0, 1476647.628 531539.91 0, 1476130.148 537074.327 0,
+ 1475612.631 542609.139 0, 1475913.393 542637.27 0, 1476212.781 542665.29 0, 1476512.166 542693.328 0, 1476811.551 542721.384 0, 1477110.933 542749.457 0, 1477410.314 542777.547 0, 1477709.693 542805.655 0, 1478009.071 542833.781 0, 1478308.447 542861.925 0,
+ 1478607.821 542890.086 0, 1478907.194 542918.265 0, 1479206.565 542946.461 0, 1479505.934 542974.675 0, 1479805.302 543002.906 0, 1480104.668 543031.156 0, 1480404.032 543059.422 0, 1480703.395 543087.707 0, 1481002.756 543116.009 0, 1481302.115 543144.329 0,
+ 1481601.473 543172.666 0, 1481900.829 543201.021 0, 1482200.183 543229.393 0, 1482499.536 543257.783 0, 1482797.515 543286.061 0, 1483098.236 543314.617 0, 1483397.583 543343.06 0, 1483696.929 543371.52 0, 1483996.274 543399.999 0, 1484295.616 543428.494 0,
+ 1484594.957 543457.008 0, 1484894.296 543485.539 0, 1485193.634 543514.088 0, 1485492.97 543542.654 0, 1485792.304 543571.238 0, 1486091.637 543599.84 0, 1486390.967 543628.459 0, 1486690.297 543657.096 0, 1486989.624 543685.75 0, 1487288.95 543714.422 0,
+ 1487588.274 543743.112 0, 1487887.596 543771.819 0, 1488186.917 543800.544 0, 1488486.236 543829.286 0, 1488785.553 543858.047 0, 1489084.869 543886.824 0, 1489384.183 543915.62 0, 1489683.495 543944.433 0, 1489981.436 543973.131 0, 1490514.587 538439.803 0,
+ 1491047.701 532906.87 0))
+
+POLYGON ((1504346.329 545377.712 0, 1504048.469 545348.172 0, 1503749.239 545318.513 0, 1503450.008 545288.872 0, 1503150.775 545259.249 0, 1502851.54 545229.644 0, 1502552.303 545200.056 0, 1502253.065 545170.485 0, 1501953.825 545140.932 0, 1501654.583 545111.397 0,
+ 1501355.339 545081.879 0, 1501056.094 545052.38 0, 1500756.847 545022.897 0, 1500457.598 544993.432 0, 1500158.348 544963.985 0, 1499859.095 544934.556 0, 1499559.841 544905.144 0, 1499260.586 544875.75 0, 1498961.328 544846.373 0, 1498662.069 544817.014 0,
+ 1498362.808 544787.672 0, 1498063.546 544758.349 0, 1497764.281 544729.042 0, 1497465.015 544699.754 0, 1497164.379 544670.349 0, 1496866.478 544641.229 0, 1496567.207 544611.994 0, 1496267.934 544582.775 0, 1495968.659 544553.575 0, 1495669.382 544524.392 0,
+ 1495370.104 544495.227 0, 1495070.825 544466.079 0, 1494771.543 544436.949 0, 1494472.26 544407.836 0, 1494172.975 544378.742 0, 1493873.688 544349.664 0, 1493574.4 544320.605 0, 1493275.11 544291.563 0, 1492975.818 544262.538 0, 1492676.524 544233.532 0,
+ 1492377.229 544204.542 0, 1492077.932 544175.571 0, 1491778.633 544146.617 0, 1491479.333 544117.681 0, 1491180.031 544088.762 0, 1490880.727 544059.861 0, 1490581.422 544030.977 0, 1490282.115 544002.112 0, 1489981.436 543973.131 0, 1489448.246 549506.851 0,
+ 1488915.019 555040.958 0, 1489215.044 555069.875 0, 1489513.7 555098.678 0, 1489812.354 555127.499 0, 1490111.006 555156.337 0, 1490409.657 555185.193 0, 1490708.306 555214.066 0, 1491006.953 555242.957 0, 1491305.598 555271.865 0, 1491604.242 555300.791 0,
+ 1491902.884 555329.735 0, 1492201.525 555358.696 0, 1492500.163 555387.675 0, 1492798.801 555416.671 0, 1493097.436 555445.685 0, 1493396.069 555474.717 0, 1493694.701 555503.766 0, 1493993.331 555532.833 0, 1494291.96 555561.917 0, 1494590.587 555591.019 0,
+ 1494889.212 555620.138 0, 1495187.835 555649.275 0, 1495486.457 555678.43 0, 1495785.077 555707.602 0, 1496082.329 555736.658 0, 1496382.311 555765.999 0, 1496680.926 555795.224 0, 1496979.539 555824.466 0, 1497278.15 555853.726 0, 1497576.76 555883.004 0,
+ 1497875.368 555912.299 0, 1498173.974 555941.612 0, 1498472.578 555970.942 0, 1498771.181 556000.29 0, 1499069.782 556029.655 0, 1499368.381 556059.038 0, 1499666.979 556088.439 0, 1499965.574 556117.857 0, 1500264.168 556147.293 0, 1500562.761 556176.746 0,
+ 1500861.351 556206.217 0, 1501159.94 556235.706 0, 1501458.527 556265.212 0, 1501757.112 556294.735 0, 1502055.696 556324.277 0, 1502354.278 556353.835 0, 1502652.858 556383.412 0, 1502951.437 556413.006 0, 1503248.649 556442.482 0, 1503797.508 550909.903 0,
+ 1504346.329 545377.712 0))
+
+POLYGON ((1517578.261 557884.495 0, 1517281.131 557854.179 0, 1516982.638 557823.742 0, 1516684.142 557793.322 0, 1516385.645 557762.92 0, 1516087.146 557732.535 0, 1515788.645 557702.168 0, 1515490.143 557671.819 0, 1515191.639 557641.487 0, 1514893.132 557611.172 0,
+ 1514594.625 557580.876 0, 1514296.115 557550.596 0, 1513997.603 557520.335 0, 1513699.09 557490.091 0, 1513400.575 557459.864 0, 1513102.058 557429.655 0, 1512803.54 557399.464 0, 1512505.019 557369.29 0, 1512206.497 557339.134 0, 1511907.973 557308.995 0,
+ 1511609.448 557278.874 0, 1511310.92 557248.77 0, 1511012.391 557218.684 0, 1510713.86 557188.616 0, 1510413.964 557158.428 0, 1510116.793 557128.532 0, 1509818.257 557098.516 0, 1509519.718 557068.518 0, 1509221.179 557038.538 0, 1508922.637 557008.575 0,
+ 1508624.094 556978.629 0, 1508325.549 556948.701 0, 1508027.002 556918.791 0, 1507728.453 556888.899 0, 1507429.903 556859.023 0, 1507131.351 556829.166 0, 1506832.797 556799.326 0, 1506534.241 556769.504 0, 1506235.684 556739.699 0, 1505937.124 556709.911 0,
+ 1505638.563 556680.142 0, 1505340.001 556650.39 0, 1505041.436 556620.655 0, 1504742.87 556590.938 0, 1504444.302 556561.239 0, 1504145.733 556531.557 0, 1503847.161 556501.893 0, 1503548.588 556472.246 0, 1503248.649 556442.482 0, 1502699.751 561975.445 0,
+ 1502150.815 567508.791 0, 1502450.1 567538.491 0, 1502748.022 567568.073 0, 1503045.942 567597.672 0, 1503343.861 567627.289 0, 1503641.777 567656.924 0, 1503939.692 567686.576 0, 1504237.605 567716.245 0, 1504535.517 567745.933 0, 1504833.426 567775.637 0,
+ 1505131.334 567805.36 0, 1505429.24 567835.099 0, 1505727.144 567864.857 0, 1506025.047 567894.632 0, 1506322.948 567924.424 0, 1506620.847 567954.234 0, 1506918.744 567984.061 0, 1507216.64 568013.906 0, 1507514.534 568043.769 0, 1507812.426 568073.649 0,
+ 1508110.316 568103.547 0, 1508408.205 568133.462 0, 1508706.092 568163.394 0, 1509003.977 568193.345 0, 1509300.5 568223.175 0, 1509599.741 568253.298 0, 1509897.621 568283.3 0, 1510195.499 568313.321 0, 1510493.375 568343.359 0, 1510791.25 568373.414 0,
+ 1511089.122 568403.487 0, 1511386.993 568433.577 0, 1511684.862 568463.685 0, 1511982.73 568493.811 0, 1512280.595 568523.954 0, 1512578.459 568554.115 0, 1512876.321 568584.293 0, 1513174.181 568614.488 0, 1513472.04 568644.701 0, 1513769.897 568674.932 0,
+ 1514067.752 568705.18 0, 1514365.605 568735.446 0, 1514663.456 568765.729 0, 1514961.306 568796.03 0, 1515259.153 568826.349 0, 1515556.999 568856.685 0, 1515854.844 568887.038 0, 1516152.686 568917.409 0, 1516449.168 568947.659 0, 1517013.734 563415.886 0,
+ 1517578.261 557884.495 0))
+
+POLYGON ((1530743.398 570426.916 0, 1530447.001 570395.829 0, 1530149.245 570364.616 0, 1529851.488 570333.422 0, 1529553.729 570302.244 0, 1529255.968 570271.085 0, 1528958.205 570239.942 0, 1528660.441 570208.818 0, 1528362.674 570177.711 0, 1528064.906 570146.621 0,
+ 1527767.136 570115.549 0, 1527469.364 570084.494 0, 1527171.59 570053.457 0, 1526873.815 570022.438 0, 1526576.037 569991.436 0, 1526278.258 569960.451 0, 1525980.477 569929.484 0, 1525682.694 569898.535 0, 1525384.909 569867.603 0, 1525087.123 569836.689 0,
+ 1524789.335 569805.792 0, 1524491.544 569774.913 0, 1524193.752 569744.051 0, 1523895.959 569713.207 0, 1523596.806 569682.239 0, 1523300.366 569651.571 0, 1523002.566 569620.779 0, 1522704.765 569590.005 0, 1522406.962 569559.248 0, 1522109.158 569528.509 0,
+ 1521811.351 569497.788 0, 1521513.543 569467.084 0, 1521215.733 569436.397 0, 1520917.921 569405.728 0, 1520620.107 569375.077 0, 1520322.292 569344.443 0, 1520024.475 569313.827 0, 1519726.655 569283.228 0, 1519428.835 569252.646 0, 1519131.012 569222.083 0,
+ 1518833.187 569191.536 0, 1518535.361 569161.008 0, 1518237.533 569130.496 0, 1517939.703 569100.003 0, 1517641.871 569069.527 0, 1517344.038 569039.068 0, 1517046.203 569008.627 0, 1516748.366 568978.203 0, 1516449.168 568947.659 0, 1515884.563 574479.81 0,
+ 1515319.92 580012.337 0, 1515618.463 580042.815 0, 1515915.649 580073.172 0, 1516212.833 580103.546 0, 1516510.016 580133.938 0, 1516807.196 580164.348 0, 1517104.375 580194.775 0, 1517401.552 580225.219 0, 1517698.727 580255.681 0, 1517995.9 580286.161 0,
+ 1518293.071 580316.658 0, 1518590.241 580347.172 0, 1518887.409 580377.704 0, 1519184.575 580408.253 0, 1519481.739 580438.82 0, 1519778.902 580469.405 0, 1520076.063 580500.007 0, 1520373.222 580530.626 0, 1520670.379 580561.263 0, 1520967.534 580591.917 0,
+ 1521264.687 580622.589 0, 1521561.839 580653.278 0, 1521858.989 580683.985 0, 1522156.137 580714.71 0, 1522451.929 580745.311 0, 1522750.428 580776.211 0, 1523047.57 580806.988 0, 1523344.711 580837.782 0, 1523641.85 580868.594 0, 1523938.988 580899.423 0,
+ 1524236.123 580930.27 0, 1524533.256 580961.134 0, 1524830.388 580992.016 0, 1525127.518 581022.915 0, 1525424.646 581053.832 0, 1525721.773 581084.766 0, 1526018.897 581115.717 0, 1526316.02 581146.687 0, 1526613.141 581177.673 0, 1526910.26 581208.677 0,
+ 1527207.377 581239.699 0, 1527504.492 581270.738 0, 1527801.606 581301.795 0, 1528098.717 581332.869 0, 1528395.827 581363.96 0, 1528692.935 581395.07 0, 1528990.041 581426.196 0, 1529287.146 581457.34 0, 1529582.895 581488.36 0, 1530163.167 575957.45 0,
+ 1530743.398 570426.916 0))
+
+POLYGON ((1543841.644 583004.672 0, 1543545.981 582972.817 0, 1543248.965 582940.834 0, 1542951.948 582908.868 0, 1542654.929 582876.92 0, 1542357.909 582844.989 0, 1542060.886 582813.075 0, 1541763.861 582781.179 0, 1541466.835 582749.301 0, 1541169.806 582717.44 0,
+ 1540872.776 582685.597 0, 1540575.744 582653.771 0, 1540278.71 582621.962 0, 1539981.674 582590.171 0, 1539684.637 582558.398 0, 1539387.597 582526.642 0, 1539090.556 582494.903 0, 1538793.512 582463.182 0, 1538496.467 582431.479 0, 1538199.42 582399.792 0,
+ 1537902.371 582368.124 0, 1537605.32 582336.473 0, 1537308.268 582304.839 0, 1537011.213 582273.223 0, 1536712.805 582241.481 0, 1536417.098 582210.043 0, 1536120.038 582178.479 0, 1535822.976 582146.933 0, 1535525.913 582115.404 0, 1535228.847 582083.893 0,
+ 1534931.779 582052.399 0, 1534634.71 582020.923 0, 1534337.639 581989.464 0, 1534040.566 581958.023 0, 1533743.491 581926.599 0, 1533446.414 581895.193 0, 1533149.336 581863.804 0, 1532852.255 581832.433 0, 1532555.173 581801.079 0, 1532258.089 581769.742 0,
+ 1531961.003 581738.423 0, 1531663.915 581707.122 0, 1531366.825 581675.838 0, 1531069.734 581644.572 0, 1530772.64 581613.323 0, 1530475.545 581582.091 0, 1530178.448 581550.877 0, 1529881.349 581519.681 0, 1529582.895 581488.36 0, 1529002.585 587019.641 0,
+ 1528422.236 592551.292 0, 1528720.036 592582.545 0, 1529016.483 592613.673 0, 1529312.929 592644.818 0, 1529609.373 592675.981 0, 1529905.816 592707.162 0, 1530202.256 592738.36 0, 1530498.695 592769.575 0, 1530795.131 592800.808 0, 1531091.566 592832.058 0,
+ 1531387.999 592863.326 0, 1531684.43 592894.611 0, 1531980.86 592925.914 0, 1532277.287 592957.234 0, 1532573.713 592988.571 0, 1532870.137 593019.926 0, 1533166.559 593051.299 0, 1533462.979 593082.688 0, 1533759.397 593114.096 0, 1534055.814 593145.52 0,
+ 1534352.228 593176.963 0, 1534648.641 593208.422 0, 1534945.052 593239.899 0, 1535241.461 593271.394 0, 1535536.519 593302.762 0, 1535834.273 593334.435 0, 1536130.677 593365.982 0, 1536427.079 593397.546 0, 1536723.478 593429.128 0, 1537019.876 593460.727 0,
+ 1537316.272 593492.344 0, 1537612.666 593523.978 0, 1537909.059 593555.63 0, 1538205.449 593587.299 0, 1538501.838 593618.985 0, 1538798.224 593650.689 0, 1539094.609 593682.41 0, 1539390.992 593714.149 0, 1539687.373 593745.905 0, 1539983.753 593777.679 0,
+ 1540280.13 593809.47 0, 1540576.506 593841.279 0, 1540872.879 593873.105 0, 1541169.251 593904.948 0, 1541465.621 593936.809 0, 1541761.989 593968.687 0, 1542058.355 594000.583 0, 1542354.719 594032.496 0, 1542649.734 594064.282 0, 1543245.709 588534.292 0,
+ 1543841.644 583004.672 0))
+
+POLYGON ((1556872.901 595617.46 0, 1556577.975 595584.841 0, 1556281.702 595552.091 0, 1555985.427 595519.358 0, 1555689.15 595486.642 0, 1555392.872 595453.944 0, 1555096.591 595421.264 0, 1554800.308 595388.6 0, 1554504.024 595355.955 0, 1554207.738 595323.326 0,
+ 1553911.449 595290.716 0, 1553615.159 595258.122 0, 1553318.867 595225.546 0, 1553022.573 595192.988 0, 1552726.277 595160.447 0, 1552429.979 595127.923 0, 1552133.679 595095.417 0, 1551837.378 595062.928 0, 1551541.074 595030.457 0, 1551244.768 594998.003 0,
+ 1550948.461 594965.566 0, 1550652.152 594933.147 0, 1550355.84 594900.746 0, 1550059.527 594868.362 0, 1549761.866 594835.848 0, 1549466.895 594803.646 0, 1549170.576 594771.314 0, 1548874.256 594738.999 0, 1548577.933 594706.703 0, 1548281.608 594674.423 0,
+ 1547985.282 594642.161 0, 1547688.953 594609.916 0, 1547392.623 594577.689 0, 1547096.291 594545.48 0, 1546799.957 594513.287 0, 1546503.621 594481.112 0, 1546207.283 594448.955 0, 1545910.943 594416.815 0, 1545614.602 594384.693 0, 1545318.258 594352.587 0,
+ 1545021.913 594320.5 0, 1544725.565 594288.43 0, 1544429.216 594256.377 0, 1544132.865 594224.342 0, 1543836.512 594192.324 0, 1543540.157 594160.323 0, 1543243.801 594128.34 0, 1542947.442 594096.375 0, 1542649.734 594064.282 0, 1542053.72 599594.637 0,
+ 1541457.667 605125.354 0, 1541754.721 605157.377 0, 1542050.428 605189.272 0, 1542346.134 605221.185 0, 1542641.838 605253.115 0, 1542937.54 605285.063 0, 1543233.24 605317.028 0, 1543528.938 605349.01 0, 1543824.634 605381.01 0, 1544120.329 605413.027 0,
+ 1544416.021 605445.061 0, 1544711.712 605477.113 0, 1545007.401 605509.183 0, 1545303.088 605541.269 0, 1545598.773 605573.374 0, 1545894.456 605605.495 0, 1546190.137 605637.634 0, 1546485.816 605669.79 0, 1546781.494 605701.964 0, 1547077.169 605734.155 0,
+ 1547372.843 605766.364 0, 1547668.515 605798.59 0, 1547964.184 605830.833 0, 1548259.852 605863.094 0, 1548554.175 605895.226 0, 1548851.183 605927.668 0, 1549146.845 605959.981 0, 1549442.505 605992.311 0, 1549738.164 606024.659 0, 1550033.82 606057.024 0,
+ 1550329.475 606089.407 0, 1550625.127 606121.807 0, 1550920.778 606154.224 0, 1551216.427 606186.659 0, 1551512.074 606219.111 0, 1551807.719 606251.581 0, 1552103.362 606284.068 0, 1552399.004 606316.572 0, 1552694.643 606349.094 0, 1552990.28 606381.633 0,
+ 1553285.916 606414.19 0, 1553581.549 606446.764 0, 1553877.181 606479.355 0, 1554172.811 606511.964 0, 1554468.439 606544.59 0, 1554764.065 606577.234 0, 1555059.689 606609.895 0, 1555355.311 606642.573 0, 1555649.589 606675.121 0, 1556261.265 601146.109 0,
+ 1556872.901 595617.46 0))
+
+POLYGON ((1569837.076 608264.976 0, 1569542.889 608231.597 0, 1569247.36 608198.084 0, 1568951.83 608164.587 0, 1568656.297 608131.109 0, 1568360.763 608097.647 0, 1568065.226 608064.204 0, 1567769.688 608030.777 0, 1567474.147 607997.368 0, 1567178.605 607963.976 0,
+ 1566883.061 607930.602 0, 1566587.514 607897.245 0, 1566291.966 607863.906 0, 1565996.416 607830.583 0, 1565700.864 607797.279 0, 1565405.31 607763.991 0, 1565109.754 607730.721 0, 1564814.196 607697.469 0, 1564518.636 607664.234 0, 1564223.074 607631.016 0,
+ 1563927.51 607597.816 0, 1563631.944 607564.633 0, 1563336.376 607531.467 0, 1563040.806 607498.319 0, 1562743.894 607465.038 0, 1562449.661 607432.075 0, 1562154.085 607398.979 0, 1561858.508 607365.9 0, 1561562.928 607332.839 0, 1561267.347 607299.795 0,
+ 1560971.763 607266.769 0, 1560676.178 607233.76 0, 1560380.591 607200.768 0, 1560085.001 607167.794 0, 1559789.41 607134.837 0, 1559493.817 607101.898 0, 1559198.222 607068.976 0, 1558902.625 607036.071 0, 1558607.026 607003.184 0, 1558311.425 606970.314 0,
+ 1558015.823 606937.462 0, 1557720.218 606904.627 0, 1557424.611 606871.809 0, 1557129.003 606839.009 0, 1556833.392 606806.226 0, 1556537.78 606773.461 0, 1556242.165 606740.713 0, 1555946.549 606707.982 0, 1555649.589 606675.121 0, 1555037.873 612204.492 0,
+ 1554426.118 617734.219 0, 1554722.424 617767.008 0, 1555017.39 617799.667 0, 1555312.353 617832.343 0, 1555607.315 617865.036 0, 1555902.274 617897.747 0, 1556197.232 617930.475 0, 1556492.188 617963.22 0, 1556787.141 617995.983 0, 1557082.093 618028.763 0,
+ 1557377.043 618061.56 0, 1557671.991 618094.375 0, 1557966.937 618127.207 0, 1558261.882 618160.057 0, 1558556.824 618192.923 0, 1558851.764 618225.808 0, 1559146.703 618258.709 0, 1559441.639 618291.628 0, 1559736.574 618324.565 0, 1560031.506 618357.518 0,
+ 1560326.437 618390.489 0, 1560621.365 618423.478 0, 1560916.292 618456.483 0, 1561211.217 618489.506 0, 1561504.802 618522.397 0, 1561801.061 618555.605 0, 1562095.98 618588.68 0, 1562390.897 618621.772 0, 1562685.812 618654.882 0, 1562980.725 618688.01 0,
+ 1563275.636 618721.154 0, 1563570.545 618754.316 0, 1563865.452 618787.495 0, 1564160.358 618820.692 0, 1564455.261 618853.906 0, 1564750.162 618887.138 0, 1565045.062 618920.386 0, 1565339.959 618953.652 0, 1565634.855 618986.936 0, 1565929.748 619020.237 0,
+ 1566224.64 619053.555 0, 1566519.53 619086.89 0, 1566814.417 619120.243 0, 1567109.303 619153.614 0, 1567404.187 619187.001 0, 1567699.069 619220.406 0, 1567993.948 619253.828 0, 1568288.826 619287.268 0, 1568582.366 619320.573 0, 1569209.741 613792.597 0,
+ 1569837.076 608264.976 0))
+
+POLYGON ((1582734.076 620946.916 0, 1582440.629 620912.781 0, 1582145.847 620878.508 0, 1581851.063 620844.253 0, 1581556.276 620810.015 0, 1581261.488 620775.794 0, 1580966.698 620741.591 0, 1580671.906 620707.405 0, 1580377.111 620673.237 0, 1580082.315 620639.086 0,
+ 1579787.517 620604.952 0, 1579492.716 620570.835 0, 1579197.914 620536.736 0, 1578903.11 620502.654 0, 1578608.304 620468.59 0, 1578313.495 620434.543 0, 1578018.685 620400.513 0, 1577723.872 620366.501 0, 1577429.058 620332.506 0, 1577134.242 620298.528 0,
+ 1576839.423 620264.568 0, 1576544.603 620230.625 0, 1576249.781 620196.699 0, 1575954.956 620162.791 0, 1575658.795 620128.747 0, 1575365.302 620095.027 0, 1575070.471 620061.171 0, 1574775.639 620027.332 0, 1574480.805 619993.51 0, 1574185.969 619959.706 0,
+ 1573891.13 619925.919 0, 1573596.29 619892.15 0, 1573301.448 619858.398 0, 1573006.603 619824.663 0, 1572711.757 619790.946 0, 1572416.909 619757.246 0, 1572122.059 619723.563 0, 1571827.207 619689.898 0, 1571532.353 619656.25 0, 1571237.496 619622.619 0,
+ 1570942.638 619589.006 0, 1570647.778 619555.41 0, 1570352.916 619521.832 0, 1570058.052 619488.271 0, 1569763.186 619454.727 0, 1569468.318 619421.2 0, 1569173.448 619387.691 0, 1568878.576 619354.2 0, 1568582.366 619320.573 0, 1567954.951 624848.903 0,
+ 1567327.496 630377.583 0, 1567623.052 630411.135 0, 1567917.273 630444.552 0, 1568211.492 630477.987 0, 1568505.71 630511.44 0, 1568799.925 630544.91 0, 1569094.138 630578.397 0, 1569388.349 630611.901 0, 1569682.559 630645.423 0, 1569976.766 630678.962 0,
+ 1570270.972 630712.518 0, 1570565.175 630746.092 0, 1570859.376 630779.683 0, 1571153.576 630813.291 0, 1571447.773 630846.917 0, 1571741.969 630880.56 0, 1572036.162 630914.22 0, 1572330.354 630947.898 0, 1572624.543 630981.593 0, 1572918.731 631015.305 0,
+ 1573212.917 631049.034 0, 1573507.1 631082.781 0, 1573801.282 631116.545 0, 1574095.461 631150.327 0, 1574388.307 631183.972 0, 1574683.815 631217.942 0, 1574977.988 631251.775 0, 1575272.16 631285.626 0, 1575566.33 631319.494 0, 1575860.497 631353.379 0,
+ 1576154.663 631387.282 0, 1576448.827 631421.202 0, 1576742.988 631455.139 0, 1577037.148 631489.094 0, 1577331.306 631523.066 0, 1577625.461 631557.055 0, 1577919.615 631591.061 0, 1578213.767 631625.085 0, 1578507.917 631659.126 0, 1578802.064 631693.185 0,
+ 1579096.21 631727.261 0, 1579390.354 631761.354 0, 1579684.495 631795.464 0, 1579978.635 631829.592 0, 1580272.773 631863.737 0, 1580566.908 631897.899 0, 1580861.042 631932.079 0, 1581155.173 631966.276 0, 1581447.973 632000.335 0, 1582091.045 626473.451 0,
+ 1582734.076 620946.916 0))
+
+POLYGON ((1595563.808 633662.975 0, 1595271.104 633628.088 0, 1594977.071 633593.06 0, 1594683.035 633558.049 0, 1594388.997 633523.056 0, 1594094.957 633488.08 0, 1593800.915 633453.122 0, 1593506.871 633418.18 0, 1593212.824 633383.256 0, 1592918.776 633348.35 0,
+ 1592624.726 633313.46 0, 1592330.673 633278.588 0, 1592036.619 633243.734 0, 1591742.563 633208.896 0, 1591448.504 633174.076 0, 1591154.444 633139.273 0, 1590860.381 633104.488 0, 1590566.316 633069.719 0, 1590272.25 633034.969 0, 1589978.181 633000.235 0,
+ 1589684.11 632965.519 0, 1589390.037 632930.82 0, 1589095.963 632896.138 0, 1588801.886 632861.474 0, 1588506.478 632826.67 0, 1588213.726 632792.197 0, 1587919.643 632757.584 0, 1587625.558 632722.989 0, 1587331.471 632688.411 0, 1587037.381 632653.851 0,
+ 1586743.29 632619.308 0, 1586449.197 632584.782 0, 1586155.102 632550.273 0, 1585861.005 632515.782 0, 1585566.905 632481.308 0, 1585272.804 632446.851 0, 1584978.701 632412.412 0, 1584684.595 632377.99 0, 1584390.488 632343.585 0, 1584096.379 632309.198 0,
+ 1583802.267 632274.828 0, 1583508.154 632240.475 0, 1583214.038 632206.14 0, 1582919.921 632171.821 0, 1582625.801 632137.521 0, 1582331.68 632103.237 0, 1582037.556 632068.971 0, 1581743.431 632034.722 0, 1581447.973 632000.335 0, 1580804.86 637527.567 0,
+ 1580161.708 643055.141 0, 1580456.512 643089.451 0, 1580749.987 643123.624 0, 1581043.46 643157.815 0, 1581336.931 643192.022 0, 1581630.4 643226.247 0, 1581923.867 643260.49 0, 1582217.332 643294.749 0, 1582510.795 643329.026 0, 1582804.255 643363.32 0,
+ 1583097.714 643397.631 0, 1583391.171 643431.96 0, 1583684.626 643466.306 0, 1583978.078 643500.669 0, 1584271.529 643535.049 0, 1584564.978 643569.447 0, 1584858.424 643603.862 0, 1585151.869 643638.294 0, 1585445.312 643672.744 0, 1585738.752 643707.211 0,
+ 1586032.191 643741.695 0, 1586325.627 643776.196 0, 1586619.062 643810.715 0, 1586912.494 643845.251 0, 1587204.598 643879.647 0, 1587499.353 643914.374 0, 1587792.779 643948.962 0, 1588086.204 643983.567 0, 1588379.626 644018.189 0, 1588673.046 644052.828 0,
+ 1588966.464 644087.485 0, 1589259.88 644122.159 0, 1589553.295 644156.851 0, 1589846.707 644191.559 0, 1590140.117 644226.285 0, 1590433.525 644261.028 0, 1590726.931 644295.788 0, 1591020.334 644330.566 0, 1591313.736 644365.361 0, 1591607.136 644400.173 0,
+ 1591900.534 644435.003 0, 1592193.93 644469.849 0, 1592487.323 644504.713 0, 1592780.715 644539.595 0, 1593074.104 644574.493 0, 1593367.492 644609.409 0, 1593660.877 644644.342 0, 1593954.261 644679.292 0, 1594246.317 644714.102 0, 1594905.083 639188.367 0,
+ 1595563.808 633662.975 0))
+
+POLYGON ((1608326.183 646412.848 0, 1608034.224 646377.213 0, 1607740.94 646341.434 0, 1607447.655 646305.672 0, 1607154.367 646269.928 0, 1606861.077 646234.2 0, 1606567.786 646198.49 0, 1606274.492 646162.798 0, 1605981.196 646127.122 0, 1605687.897 646091.464 0,
+ 1605394.597 646055.823 0, 1605101.295 646020.199 0, 1604807.99 645984.593 0, 1604514.684 645949.004 0, 1604221.375 645913.432 0, 1603928.064 645877.877 0, 1603634.751 645842.34 0, 1603341.437 645806.82 0, 1603048.119 645771.317 0, 1602754.8 645735.831 0,
+ 1602461.479 645700.363 0, 1602168.156 645664.912 0, 1601874.831 645629.478 0, 1601581.503 645594.062 0, 1601286.85 645558.503 0, 1600994.842 645523.28 0, 1600701.508 645487.916 0, 1600408.172 645452.568 0, 1600114.835 645417.238 0, 1599821.495 645381.925 0,
+ 1599528.153 645346.629 0, 1599234.808 645311.351 0, 1598941.462 645276.09 0, 1598648.114 645240.846 0, 1598354.764 645205.619 0, 1598061.411 645170.41 0, 1597768.057 645135.218 0, 1597474.7 645100.043 0, 1597181.342 645064.886 0, 1596887.981 645029.745 0,
+ 1596594.618 644994.622 0, 1596301.253 644959.517 0, 1596007.887 644924.428 0, 1595714.518 644889.357 0, 1595421.147 644854.303 0, 1595127.774 644819.266 0, 1594834.398 644784.247 0, 1594541.021 644749.245 0, 1594246.317 644714.102 0, 1593587.51 650240.177 0,
+ 1592928.664 655766.589 0, 1593222.714 655801.654 0, 1593515.441 655836.578 0, 1593808.166 655871.52 0, 1594100.888 655906.479 0, 1594393.609 655941.455 0, 1594686.327 655976.448 0, 1594979.044 656011.459 0, 1595271.758 656046.487 0, 1595564.47 656081.532 0,
+ 1595857.18 656116.594 0, 1596149.889 656151.674 0, 1596442.595 656186.771 0, 1596735.299 656221.885 0, 1597028.001 656257.016 0, 1597320.7 656292.165 0, 1597613.398 656327.33 0, 1597906.094 656362.513 0, 1598198.788 656397.714 0, 1598491.479 656432.931 0,
+ 1598784.169 656468.166 0, 1599076.856 656503.417 0, 1599369.541 656538.687 0, 1599662.225 656573.973 0, 1599953.585 656609.117 0, 1600247.585 656644.597 0, 1600540.262 656679.935 0, 1600832.937 656715.29 0, 1601125.61 656750.663 0, 1601418.281 656786.052 0,
+ 1601710.949 656821.459 0, 1602003.616 656856.883 0, 1602296.281 656892.325 0, 1602588.943 656927.783 0, 1602881.604 656963.259 0, 1603174.262 656998.752 0, 1603466.918 657034.262 0, 1603759.572 657069.79 0, 1604052.224 657105.335 0, 1604344.874 657140.897 0,
+ 1604637.522 657176.476 0, 1604930.168 657212.072 0, 1605222.811 657247.686 0, 1605515.453 657283.317 0, 1605808.092 657318.965 0, 1606100.73 657354.63 0, 1606393.365 657390.312 0, 1606685.998 657426.012 0, 1606977.31 657461.568 0, 1607651.767 651937.04 0,
+ 1608326.183 646412.848 0))
+
+POLYGON ((1621021.111 659196.231 0, 1620729.899 659159.851 0, 1620437.368 659123.325 0, 1620144.834 659086.816 0, 1619852.299 659050.324 0, 1619559.761 659013.85 0, 1619267.222 658977.392 0, 1618974.68 658940.952 0, 1618682.136 658904.529 0, 1618389.59 658868.123 0,
+ 1618097.041 658831.734 0, 1617804.491 658795.363 0, 1617511.938 658759.009 0, 1617219.384 658722.672 0, 1616926.827 658686.352 0, 1616634.268 658650.05 0, 1616341.707 658613.765 0, 1616049.143 658577.497 0, 1615756.578 658541.246 0, 1615464.011 658505.012 0,
+ 1615171.441 658468.796 0, 1614878.869 658432.597 0, 1614586.295 658396.415 0, 1614293.719 658360.25 0, 1613999.823 658323.94 0, 1613708.561 658287.972 0, 1613415.978 658251.859 0, 1613123.394 658215.763 0, 1612830.807 658179.685 0, 1612538.218 658143.623 0,
+ 1612245.627 658107.579 0, 1611953.034 658071.552 0, 1611660.439 658035.542 0, 1611367.842 657999.55 0, 1611075.242 657963.575 0, 1610782.641 657927.617 0, 1610490.037 657891.676 0, 1610197.432 657855.752 0, 1609904.824 657819.846 0, 1609612.214 657783.957 0,
+ 1609319.602 657748.085 0, 1609026.987 657712.23 0, 1608734.371 657676.392 0, 1608441.753 657640.572 0, 1608149.132 657604.769 0, 1607856.51 657568.983 0, 1607563.885 657533.215 0, 1607271.258 657497.463 0, 1606977.31 657461.568 0, 1606302.812 662986.429 0,
+ 1605628.274 668511.621 0, 1605921.569 668547.436 0, 1606213.545 668583.108 0, 1606505.519 668618.797 0, 1606797.492 668654.504 0, 1607089.462 668690.227 0, 1607381.43 668725.968 0, 1607673.396 668761.726 0, 1607965.36 668797.501 0, 1608257.321 668833.293 0,
+ 1608549.281 668869.102 0, 1608841.239 668904.929 0, 1609133.194 668940.773 0, 1609425.147 668976.634 0, 1609717.099 669012.512 0, 1610009.048 669048.407 0, 1610300.995 669084.32 0, 1610592.939 669120.249 0, 1610884.882 669156.196 0, 1611176.823 669192.16 0,
+ 1611468.761 669228.141 0, 1611760.698 669264.14 0, 1612052.632 669300.156 0, 1612344.564 669336.188 0, 1612635.179 669372.076 0, 1612928.422 669408.305 0, 1613220.348 669444.39 0, 1613512.271 669480.491 0, 1613804.193 669516.61 0, 1614096.112 669552.746 0,
+ 1614388.03 669588.899 0, 1614679.945 669625.069 0, 1614971.858 669661.257 0, 1615263.769 669697.461 0, 1615555.677 669733.683 0, 1615847.584 669769.922 0, 1616139.489 669806.178 0, 1616431.391 669842.452 0, 1616723.291 669878.742 0, 1617015.189 669915.05 0,
+ 1617307.085 669951.375 0, 1617598.979 669987.717 0, 1617890.871 670024.076 0, 1618182.76 670060.452 0, 1618474.648 670096.846 0, 1618766.533 670133.257 0, 1619058.416 670169.685 0, 1619350.297 670206.13 0, 1619640.862 670242.428 0, 1620331.007 664719.164 0,
+ 1621021.111 659196.231 0))
+
+POLYGON ((1633648.505 672012.816 0, 1633358.041 671975.697 0, 1633066.264 671938.428 0, 1632774.485 671901.175 0, 1632482.704 671863.94 0, 1632190.92 671826.722 0, 1631899.135 671789.521 0, 1631607.347 671752.337 0, 1631315.557 671715.171 0, 1631023.765 671678.021 0,
+ 1630731.971 671640.889 0, 1630440.174 671603.774 0, 1630148.375 671566.676 0, 1629856.574 671529.595 0, 1629564.771 671492.532 0, 1629272.966 671455.485 0, 1628981.159 671418.456 0, 1628689.349 671381.444 0, 1628397.537 671344.449 0, 1628105.723 671307.472 0,
+ 1627813.907 671270.511 0, 1627522.089 671233.568 0, 1627230.268 671196.642 0, 1626938.446 671159.733 0, 1626645.309 671122.675 0, 1626354.794 671085.967 0, 1626062.965 671049.109 0, 1625771.133 671012.269 0, 1625479.3 670975.446 0, 1625187.464 670938.64 0,
+ 1624895.626 670901.851 0, 1624603.786 670865.08 0, 1624311.944 670828.325 0, 1624020.1 670791.588 0, 1623728.253 670754.868 0, 1623436.404 670718.166 0, 1623144.554 670681.48 0, 1622852.701 670644.811 0, 1622560.846 670608.16 0, 1622268.988 670571.526 0,
+ 1621977.129 670534.909 0, 1621685.267 670498.309 0, 1621393.403 670461.727 0, 1621101.538 670425.161 0, 1620809.669 670388.613 0, 1620517.799 670352.082 0, 1620225.927 670315.568 0, 1619934.052 670279.072 0, 1619640.862 670242.428 0, 1618950.676 675766.018 0,
+ 1618260.45 681289.932 0, 1618552.987 681326.494 0, 1618844.211 681362.909 0, 1619135.433 681399.342 0, 1619426.653 681435.791 0, 1619717.871 681472.258 0, 1620009.087 681508.742 0, 1620300.3 681545.243 0, 1620591.512 681581.761 0, 1620882.721 681618.297 0,
+ 1621173.928 681654.849 0, 1621465.133 681691.419 0, 1621756.336 681728.006 0, 1622047.537 681764.609 0, 1622338.735 681801.23 0, 1622629.931 681837.869 0, 1622921.126 681874.524 0, 1623212.318 681911.196 0, 1623503.508 681947.886 0, 1623794.695 681984.593 0,
+ 1624085.881 682021.317 0, 1624377.064 682058.058 0, 1624668.245 682094.816 0, 1624959.424 682131.591 0, 1625249.292 682168.218 0, 1625541.776 682205.193 0, 1625832.949 682242.02 0, 1626124.119 682278.864 0, 1626415.287 682315.725 0, 1626706.453 682352.603 0,
+ 1626997.617 682389.498 0, 1627288.779 682426.411 0, 1627579.938 682463.34 0, 1627871.096 682500.287 0, 1628162.251 682537.251 0, 1628453.404 682574.232 0, 1628744.555 682611.23 0, 1629035.703 682648.245 0, 1629326.85 682685.277 0, 1629617.994 682722.327 0,
+ 1629909.136 682759.393 0, 1630200.276 682796.477 0, 1630491.414 682833.578 0, 1630782.55 682870.696 0, 1631073.683 682907.831 0, 1631364.814 682944.984 0, 1631655.943 682982.153 0, 1631947.07 683019.34 0, 1632236.887 683056.376 0, 1632942.716 677534.435 0,
+ 1633648.505 672012.816 0))
+
+POLYGON ((1646208.277 684862.299 0, 1645918.564 684824.444 0, 1645627.544 684786.435 0, 1645336.521 684748.443 0, 1645045.496 684710.469 0, 1644754.468 684672.511 0, 1644463.439 684634.571 0, 1644172.407 684596.647 0, 1643881.373 684558.741 0, 1643590.337 684520.852 0,
+ 1643299.298 684482.98 0, 1643008.258 684445.126 0, 1642717.215 684407.288 0, 1642426.17 684369.467 0, 1642135.122 684331.664 0, 1641844.073 684293.878 0, 1641553.021 684256.109 0, 1641261.967 684218.357 0, 1640970.91 684180.622 0, 1640679.852 684142.904 0,
+ 1640388.791 684105.204 0, 1640097.728 684067.52 0, 1639806.663 684029.854 0, 1639515.596 683992.205 0, 1639223.22 683954.404 0, 1638933.455 683916.958 0, 1638642.381 683879.36 0, 1638351.304 683841.779 0, 1638060.226 683804.216 0, 1637769.145 683766.669 0,
+ 1637478.062 683729.14 0, 1637186.977 683691.628 0, 1636895.89 683654.133 0, 1636604.801 683616.655 0, 1636313.709 683579.194 0, 1636022.615 683541.751 0, 1635731.519 683504.324 0, 1635440.421 683466.915 0, 1635149.32 683429.523 0, 1634858.218 683392.148 0,
+ 1634567.113 683354.79 0, 1634276.006 683317.449 0, 1633984.896 683280.125 0, 1633693.785 683242.819 0, 1633402.671 683205.53 0, 1633111.555 683168.257 0, 1632820.437 683131.002 0, 1632529.317 683093.764 0, 1632236.887 683056.376 0, 1631531.016 688578.637 0,
+ 1630825.105 694101.215 0, 1631116.882 694138.52 0, 1631407.353 694175.675 0, 1631697.821 694212.847 0, 1631988.286 694250.036 0, 1632278.75 694287.242 0, 1632569.211 694324.465 0, 1632859.671 694361.705 0, 1633150.128 694398.963 0, 1633440.583 694436.237 0,
+ 1633731.035 694473.529 0, 1634021.486 694510.838 0, 1634311.934 694548.163 0, 1634602.38 694585.506 0, 1634892.824 694622.866 0, 1635183.266 694660.243 0, 1635473.705 694697.638 0, 1635764.142 694735.049 0, 1636054.577 694772.477 0, 1636345.01 694809.923 0,
+ 1636635.441 694847.385 0, 1636925.869 694884.865 0, 1637216.296 694922.362 0, 1637506.72 694959.875 0, 1637795.838 694997.238 0, 1638087.561 695034.954 0, 1638377.978 695072.52 0, 1638668.394 695110.102 0, 1638958.807 695147.701 0, 1639249.217 695185.317 0,
+ 1639539.626 695222.951 0, 1639830.032 695260.601 0, 1640120.436 695298.269 0, 1640410.838 695335.954 0, 1640701.238 695373.656 0, 1640991.635 695411.375 0, 1641282.031 695449.111 0, 1641572.424 695486.864 0, 1641862.814 695524.634 0, 1642153.203 695562.421 0,
+ 1642443.589 695600.226 0, 1642733.973 695638.047 0, 1643024.355 695675.886 0, 1643314.735 695713.742 0, 1643605.112 695751.614 0, 1643895.488 695789.504 0, 1644185.861 695827.411 0, 1644476.231 695865.335 0, 1644765.298 695903.106 0, 1645486.808 690382.545 0,
+ 1646208.277 684862.299 0))
+
+POLYGON ((1658700.344 697744.373 0, 1658411.383 697705.785 0, 1658121.121 697667.041 0, 1657830.856 697628.314 0, 1657540.589 697589.604 0, 1657250.32 697550.911 0, 1656960.048 697512.235 0, 1656669.774 697473.576 0, 1656379.498 697434.935 0, 1656089.22 697396.31 0,
+ 1655798.939 697357.702 0, 1655508.656 697319.112 0, 1655218.371 697280.538 0, 1654928.084 697241.982 0, 1654637.794 697203.443 0, 1654347.502 697164.921 0, 1654057.208 697126.416 0, 1653766.911 697087.928 0, 1653476.612 697049.457 0, 1653186.311 697011.003 0,
+ 1652896.008 696972.566 0, 1652605.702 696934.147 0, 1652315.394 696895.744 0, 1652025.084 696857.359 0, 1651733.471 696818.819 0, 1651444.457 696780.639 0, 1651154.14 696742.305 0, 1650863.821 696703.988 0, 1650573.5 696665.688 0, 1650283.176 696627.405 0,
+ 1649992.85 696589.139 0, 1649702.522 696550.89 0, 1649412.192 696512.659 0, 1649121.859 696474.444 0, 1648831.524 696436.247 0, 1648541.187 696398.066 0, 1648250.848 696359.903 0, 1647960.506 696321.757 0, 1647670.162 696283.628 0, 1647379.816 696245.516 0,
+ 1647089.468 696207.421 0, 1646799.117 696169.343 0, 1646508.764 696131.282 0, 1646218.409 696093.238 0, 1645928.052 696055.212 0, 1645637.692 696017.202 0, 1645347.33 695979.21 0, 1645056.966 695941.235 0, 1644765.298 695903.106 0, 1644043.746 701423.981 0,
+ 1643322.154 706945.166 0, 1643613.17 706983.209 0, 1643902.884 707021.099 0, 1644192.596 707059.006 0, 1644482.306 707096.931 0, 1644772.013 707134.872 0, 1645061.718 707172.831 0, 1645351.421 707210.806 0, 1645641.122 707248.799 0, 1645930.821 707286.809 0,
+ 1646220.517 707324.835 0, 1646510.211 707362.879 0, 1646799.903 707400.94 0, 1647089.592 707439.018 0, 1647379.28 707477.113 0, 1647668.965 707515.225 0, 1647958.648 707553.354 0, 1648248.328 707591.5 0, 1648538.006 707629.663 0, 1648827.683 707667.843 0,
+ 1649117.356 707706.041 0, 1649407.028 707744.255 0, 1649696.697 707782.486 0, 1649986.364 707820.735 0, 1650274.731 707858.828 0, 1650565.692 707897.282 0, 1650855.352 707935.582 0, 1651145.01 707973.899 0, 1651434.666 708012.232 0, 1651724.32 708050.583 0,
+ 1652013.971 708088.951 0, 1652303.62 708127.335 0, 1652593.267 708165.737 0, 1652882.911 708204.156 0, 1653172.554 708242.592 0, 1653462.194 708281.045 0, 1653751.831 708319.515 0, 1654041.467 708358.002 0, 1654331.1 708396.506 0, 1654620.731 708435.027 0,
+ 1654910.36 708473.565 0, 1655199.986 708512.121 0, 1655489.61 708550.693 0, 1655779.232 708589.282 0, 1656068.852 708627.889 0, 1656358.469 708666.512 0, 1656648.084 708705.153 0, 1656937.697 708743.81 0, 1657226.01 708782.312 0, 1657963.198 703263.187 0,
+ 1658700.344 697744.373 0))
+
+POLYGON ((1671124.621 710658.731 0, 1670836.415 710619.415 0, 1670546.912 710579.939 0, 1670257.408 710540.481 0, 1669967.901 710501.039 0, 1669678.391 710461.615 0, 1669388.88 710422.207 0, 1669099.366 710382.817 0, 1668809.849 710343.444 0, 1668520.331 710304.087 0,
+ 1668230.81 710264.748 0, 1667941.286 710225.426 0, 1667651.761 710186.121 0, 1667362.233 710146.833 0, 1667072.703 710107.561 0, 1666783.17 710068.307 0, 1666493.635 710029.07 0, 1666204.098 709989.85 0, 1665914.559 709950.648 0, 1665625.017 709911.462 0,
+ 1665335.473 709872.293 0, 1665045.927 709833.141 0, 1664756.378 709794.006 0, 1664466.827 709754.889 0, 1664175.978 709715.613 0, 1663887.718 709676.704 0, 1663598.16 709637.638 0, 1663308.6 709598.588 0, 1663019.038 709559.556 0, 1662729.473 709520.54 0,
+ 1662439.906 709481.542 0, 1662150.336 709442.56 0, 1661860.765 709403.596 0, 1661571.191 709364.649 0, 1661281.615 709325.718 0, 1660992.036 709286.805 0, 1660702.455 709247.909 0, 1660412.872 709209.03 0, 1660123.287 709170.168 0, 1659833.699 709131.323 0,
+ 1659544.109 709092.495 0, 1659254.517 709053.684 0, 1658964.922 709014.89 0, 1658675.325 708976.113 0, 1658385.726 708937.353 0, 1658096.125 708898.611 0, 1657806.521 708859.885 0, 1657516.915 708821.176 0, 1657226.01 708782.312 0, 1656488.782 714301.742 0,
+ 1655751.513 719821.476 0, 1656041.766 719860.253 0, 1656330.722 719898.875 0, 1656619.676 719937.514 0, 1656908.627 719976.17 0, 1657197.577 720014.842 0, 1657486.524 720053.532 0, 1657775.469 720092.239 0, 1658064.411 720130.963 0, 1658353.352 720169.704 0,
+ 1658642.29 720208.462 0, 1658931.225 720247.237 0, 1659220.159 720286.029 0, 1659509.09 720324.837 0, 1659798.019 720363.663 0, 1660086.945 720402.506 0, 1660375.869 720441.366 0, 1660664.791 720480.243 0, 1660953.711 720519.137 0, 1661242.629 720558.048 0,
+ 1661531.544 720596.976 0, 1661820.457 720635.921 0, 1662109.367 720674.883 0, 1662398.275 720713.862 0, 1662685.889 720752.683 0, 1662976.085 720791.871 0, 1663264.986 720830.9 0, 1663553.885 720869.947 0, 1663842.782 720909.011 0, 1664131.677 720948.092 0,
+ 1664420.569 720987.19 0, 1664709.459 721026.305 0, 1664998.346 721065.437 0, 1665287.231 721104.586 0, 1665576.114 721143.752 0, 1665864.995 721182.935 0, 1666153.873 721222.135 0, 1666442.749 721261.352 0, 1666731.623 721300.586 0, 1667020.495 721339.837 0,
+ 1667309.364 721379.105 0, 1667598.23 721418.39 0, 1667887.095 721457.692 0, 1668175.957 721497.011 0, 1668464.817 721536.347 0, 1668753.674 721575.7 0, 1669042.53 721615.07 0, 1669331.383 721654.457 0, 1669618.942 721693.685 0, 1670371.802 716176.057 0,
+ 1671124.621 710658.731 0))
+
+POLYGON ((1683481.026 723605.065 0, 1683193.576 723565.025 0, 1682904.836 723524.822 0, 1682616.093 723484.636 0, 1682327.348 723444.467 0, 1682038.6 723404.315 0, 1681749.85 723364.18 0, 1681461.098 723324.062 0, 1681172.343 723283.961 0, 1680883.586 723243.877 0,
+ 1680594.827 723203.81 0, 1680306.065 723163.761 0, 1680017.301 723123.728 0, 1679728.535 723083.712 0, 1679439.766 723043.713 0, 1679150.995 723003.731 0, 1678862.221 722963.766 0, 1678573.445 722923.818 0, 1678284.667 722883.887 0, 1677995.887 722843.973 0,
+ 1677707.104 722804.076 0, 1677418.319 722764.196 0, 1677129.531 722724.333 0, 1676840.741 722684.487 0, 1676550.659 722644.48 0, 1676263.154 722604.846 0, 1675974.357 722565.051 0, 1675685.558 722525.273 0, 1675396.756 722485.512 0, 1675107.952 722445.768 0,
+ 1674819.146 722406.041 0, 1674530.337 722366.331 0, 1674241.526 722326.638 0, 1673952.713 722286.962 0, 1673663.897 722247.303 0, 1673375.079 722207.661 0, 1673086.259 722168.036 0, 1672797.436 722128.428 0, 1672508.611 722088.837 0, 1672219.784 722049.263 0,
+ 1671930.954 722009.705 0, 1671642.122 721970.165 0, 1671353.288 721930.642 0, 1671064.451 721891.136 0, 1670775.612 721851.647 0, 1670486.771 721812.175 0, 1670197.927 721772.72 0, 1669909.081 721733.282 0, 1669618.942 721693.685 0, 1668866.041 727211.613 0,
+ 1668113.1 732729.838 0, 1668402.587 732769.346 0, 1668690.783 732808.695 0, 1668978.977 732848.062 0, 1669267.169 732887.445 0, 1669555.358 732926.845 0, 1669843.545 732966.262 0, 1670131.73 733005.696 0, 1670419.912 733045.148 0, 1670708.093 733084.616 0,
+ 1670996.27 733124.101 0, 1671284.446 733163.603 0, 1671572.619 733203.122 0, 1671860.79 733242.657 0, 1672148.958 733282.21 0, 1672437.125 733321.78 0, 1672725.288 733361.367 0, 1673013.45 733400.971 0, 1673301.609 733440.591 0, 1673589.766 733480.229 0,
+ 1673877.921 733519.884 0, 1674166.073 733559.555 0, 1674454.223 733599.244 0, 1674742.37 733638.949 0, 1675029.229 733678.494 0, 1675318.658 733718.411 0, 1675606.799 733758.168 0, 1675894.937 733797.941 0, 1676183.073 733837.731 0, 1676471.206 733877.539 0,
+ 1676759.337 733917.363 0, 1677047.466 733957.204 0, 1677335.593 733997.062 0, 1677623.717 734036.937 0, 1677911.838 734076.829 0, 1678199.958 734116.738 0, 1678488.075 734156.664 0, 1678776.19 734196.607 0, 1679064.302 734236.567 0, 1679352.412 734276.544 0,
+ 1679640.52 734316.538 0, 1679928.625 734356.549 0, 1680216.728 734396.576 0, 1680504.828 734436.621 0, 1680792.927 734476.683 0, 1681081.023 734516.761 0, 1681369.116 734556.857 0, 1681657.207 734596.969 0, 1681944.01 734636.92 0, 1682712.539 729120.844 0,
+ 1683481.026 723605.065 0))
+
+POLYGON ((1695769.478 736583.069 0, 1695482.787 736542.308 0, 1695194.81 736501.382 0, 1694906.831 736460.472 0, 1694618.85 736419.58 0, 1694330.866 736378.705 0, 1694042.879 736337.846 0, 1693754.891 736297.005 0, 1693466.9 736256.18 0, 1693178.906 736215.373 0,
+ 1692890.91 736174.582 0, 1692602.912 736133.808 0, 1692314.911 736093.051 0, 1692026.908 736052.312 0, 1691738.902 736011.589 0, 1691450.895 735970.883 0, 1691162.884 735930.194 0, 1690874.872 735889.522 0, 1690586.856 735848.867 0, 1690298.839 735808.229 0,
+ 1690010.819 735767.608 0, 1689722.797 735727.003 0, 1689434.772 735686.416 0, 1689146.745 735645.846 0, 1688857.432 735605.112 0, 1688570.684 735564.756 0, 1688282.65 735524.237 0, 1687994.613 735483.734 0, 1687706.574 735443.249 0, 1687418.533 735402.78 0,
+ 1687130.489 735362.329 0, 1686842.443 735321.894 0, 1686554.395 735281.476 0, 1686266.344 735241.076 0, 1685978.29 735200.692 0, 1685690.235 735160.325 0, 1685402.177 735119.975 0, 1685114.116 735079.642 0, 1684826.054 735039.326 0, 1684537.989 734999.027 0,
+ 1684249.921 734958.745 0, 1683961.851 734918.48 0, 1683673.779 734878.232 0, 1683385.704 734838.001 0, 1683097.627 734797.786 0, 1682809.548 734757.589 0, 1682521.466 734717.409 0, 1682233.382 734677.245 0, 1681944.01 734636.92 0, 1681175.441 740153.288 0,
+ 1680406.832 745669.945 0, 1680695.551 745710.18 0, 1680982.986 745750.253 0, 1681270.418 745790.343 0, 1681557.848 745830.449 0, 1681845.276 745870.573 0, 1682132.701 745910.713 0, 1682420.124 745950.871 0, 1682707.545 745991.045 0, 1682994.963 746031.236 0,
+ 1683282.379 746071.445 0, 1683569.792 746111.67 0, 1683857.203 746151.912 0, 1684144.612 746192.171 0, 1684432.018 746232.447 0, 1684719.422 746272.739 0, 1685006.824 746313.049 0, 1685294.223 746353.376 0, 1685581.62 746393.719 0, 1685869.014 746434.08 0,
+ 1686156.406 746474.457 0, 1686443.796 746514.851 0, 1686731.183 746555.262 0, 1687018.568 746595.69 0, 1687304.669 746635.955 0, 1687593.331 746676.597 0, 1687880.709 746717.076 0, 1688168.084 746757.572 0, 1688455.457 746798.085 0, 1688742.828 746838.614 0,
+ 1689030.196 746879.161 0, 1689317.562 746919.724 0, 1689604.925 746960.304 0, 1689892.286 747000.902 0, 1690179.645 747041.516 0, 1690467.001 747082.147 0, 1690754.355 747122.795 0, 1691041.707 747163.46 0, 1691329.056 747204.141 0, 1691616.403 747244.84 0,
+ 1691903.747 747285.556 0, 1692191.089 747326.288 0, 1692478.428 747367.038 0, 1692765.766 747407.804 0, 1693053.1 747448.587 0, 1693340.433 747489.388 0, 1693627.763 747530.205 0, 1693915.09 747571.039 0, 1694201.135 747611.708 0, 1694985.327 742097.244 0,
+ 1695769.478 736583.069 0))
+
+POLYGON ((1395252.031 457716.156 0, 1394949.053 457693.009 0, 1394644.664 457669.772 0, 1394340.274 457646.553 0, 1394035.883 457623.352 0, 1393731.49 457600.168 0, 1393427.096 457577.003 0, 1393122.7 457553.856 0, 1392818.304 457530.726 0, 1392513.905 457507.615 0,
+ 1392209.506 457484.521 0, 1391905.105 457461.445 0, 1391600.703 457438.388 0, 1391296.299 457415.348 0, 1390991.894 457392.326 0, 1390687.488 457369.322 0, 1390383.08 457346.336 0, 1390078.671 457323.367 0, 1389774.26 457300.417 0, 1389469.849 457277.485 0,
+ 1389165.435 457254.57 0, 1388861.021 457231.674 0, 1388556.605 457208.795 0, 1388252.188 457185.934 0, 1387946.359 457162.986 0, 1387643.35 457140.267 0, 1387338.929 457117.46 0, 1387034.506 457094.671 0, 1386730.082 457071.9 0, 1386425.657 457049.146 0,
+ 1386121.23 457026.411 0, 1385816.802 457003.694 0, 1385512.373 456980.994 0, 1385207.943 456958.313 0, 1384903.511 456935.649 0, 1384599.078 456913.003 0, 1384294.643 456890.376 0, 1383990.207 456867.766 0, 1383685.77 456845.174 0, 1383381.331 456822.6 0,
+ 1383076.891 456800.044 0, 1382772.45 456777.505 0, 1382468.008 456754.985 0, 1382163.564 456732.483 0, 1381859.119 456709.998 0, 1381554.672 456687.532 0, 1381250.224 456665.083 0, 1380945.775 456642.653 0, 1380639.913 456620.136 0, 1380232.343 462158.726 0,
+ 1379824.742 467697.747 0, 1380129.95 467720.216 0, 1380433.747 467742.599 0, 1380737.543 467764.999 0, 1381041.337 467787.417 0, 1381345.13 467809.854 0, 1381648.922 467832.308 0, 1381952.713 467854.78 0, 1382256.502 467877.27 0, 1382560.29 467899.778 0,
+ 1382864.076 467922.303 0, 1383167.862 467944.847 0, 1383471.646 467967.408 0, 1383775.428 467989.988 0, 1384079.209 468012.585 0, 1384382.989 468035.2 0, 1384686.768 468057.833 0, 1384990.545 468080.484 0, 1385294.321 468103.152 0, 1385598.096 468125.839 0,
+ 1385901.869 468148.543 0, 1386205.641 468171.266 0, 1386509.412 468194.006 0, 1386813.181 468216.764 0, 1387115.541 468239.435 0, 1387420.715 468262.334 0, 1387724.48 468285.146 0, 1388028.244 468307.975 0, 1388332.007 468330.823 0, 1388635.768 468353.688 0,
+ 1388939.528 468376.572 0, 1389243.286 468399.473 0, 1389547.044 468422.392 0, 1389850.799 468445.329 0, 1390154.554 468468.283 0, 1390458.307 468491.256 0, 1390762.059 468514.247 0, 1391065.809 468537.255 0, 1391369.558 468560.281 0, 1391673.306 468583.326 0,
+ 1391977.052 468606.388 0, 1392280.797 468629.468 0, 1392584.541 468652.565 0, 1392888.283 468675.681 0, 1393192.024 468698.815 0, 1393495.763 468721.966 0, 1393799.501 468745.135 0, 1394103.238 468768.323 0, 1394405.567 468791.42 0, 1394828.815 463253.572 0,
+ 1395252.031 457716.156 0))
+
+POLYGON ((1408983.244 469926.282 0, 1408680.979 469902.33 0, 1408377.309 469878.285 0, 1408073.638 469854.258 0, 1407769.965 469830.248 0, 1407466.291 469806.256 0, 1407162.615 469782.283 0, 1406858.938 469758.327 0, 1406555.259 469734.389 0, 1406251.579 469710.469 0,
+ 1405947.898 469686.567 0, 1405644.215 469662.682 0, 1405340.531 469638.816 0, 1405036.845 469614.967 0, 1404733.158 469591.136 0, 1404429.47 469567.324 0, 1404125.78 469543.529 0, 1403822.089 469519.752 0, 1403518.396 469495.992 0, 1403214.702 469472.251 0,
+ 1402911.007 469448.527 0, 1402607.31 469424.822 0, 1402303.612 469401.134 0, 1401999.913 469377.464 0, 1401694.806 469353.703 0, 1401392.509 469330.178 0, 1401088.806 469306.562 0, 1400785.1 469282.964 0, 1400481.394 469259.383 0, 1400177.686 469235.821 0,
+ 1399873.977 469212.276 0, 1399570.266 469188.749 0, 1399266.554 469165.24 0, 1398962.841 469141.749 0, 1398659.126 469118.276 0, 1398355.41 469094.82 0, 1398051.692 469071.383 0, 1397747.973 469047.963 0, 1397444.253 469024.562 0, 1397140.531 469001.178 0,
+ 1396836.808 468977.812 0, 1396533.083 468954.464 0, 1396229.358 468931.133 0, 1395925.63 468907.821 0, 1395621.902 468884.527 0, 1395318.172 468861.25 0, 1395014.44 468837.991 0, 1394710.708 468814.751 0, 1394405.567 468791.42 0, 1393982.286 474329.696 0,
+ 1393558.973 479868.398 0, 1393863.458 479891.678 0, 1394166.539 479914.869 0, 1394469.618 479938.078 0, 1394772.696 479961.304 0, 1395075.773 479984.549 0, 1395378.848 480007.811 0, 1395681.922 480031.091 0, 1395984.995 480054.389 0, 1396288.066 480077.705 0,
+ 1396591.136 480101.039 0, 1396894.204 480124.39 0, 1397197.271 480147.76 0, 1397500.337 480171.147 0, 1397803.401 480194.552 0, 1398106.464 480217.975 0, 1398409.525 480241.415 0, 1398712.586 480264.874 0, 1399015.644 480288.35 0, 1399318.702 480311.844 0,
+ 1399621.758 480335.356 0, 1399924.812 480358.886 0, 1400227.865 480382.434 0, 1400530.917 480405.999 0, 1400832.565 480429.474 0, 1401137.017 480453.184 0, 1401440.064 480476.803 0, 1401743.111 480500.44 0, 1402046.156 480524.095 0, 1402349.199 480547.767 0,
+ 1402652.241 480571.458 0, 1402955.282 480595.166 0, 1403258.321 480618.892 0, 1403561.359 480642.636 0, 1403864.396 480666.398 0, 1404167.431 480690.177 0, 1404470.465 480713.975 0, 1404773.497 480737.79 0, 1405076.528 480761.623 0, 1405379.557 480785.474 0,
+ 1405682.585 480809.343 0, 1405985.612 480833.229 0, 1406288.637 480857.134 0, 1406591.661 480881.056 0, 1406894.684 480904.996 0, 1407197.705 480928.954 0, 1407500.724 480952.93 0, 1407803.743 480976.923 0, 1408105.359 481000.824 0, 1408544.318 475463.34 0,
+ 1408983.244 469926.282 0))
+
+POLYGON ((1422648.487 482174.341 0, 1422346.938 482149.588 0, 1422043.988 482124.739 0, 1421741.038 482099.907 0, 1421438.086 482075.093 0, 1421135.132 482050.297 0, 1420832.177 482025.519 0, 1420529.22 482000.758 0, 1420226.262 481976.016 0, 1419923.303 481951.291 0,
+ 1419620.342 481926.584 0, 1419317.38 481901.895 0, 1419014.416 481877.224 0, 1418711.45 481852.57 0, 1418408.484 481827.935 0, 1418105.516 481803.317 0, 1417802.546 481778.717 0, 1417499.575 481754.135 0, 1417196.602 481729.571 0, 1416893.628 481705.024 0,
+ 1416590.653 481680.496 0, 1416287.676 481655.985 0, 1415984.698 481631.492 0, 1415681.718 481607.017 0, 1415377.337 481582.446 0, 1415075.754 481558.12 0, 1414772.77 481533.698 0, 1414469.785 481509.295 0, 1414166.798 481484.909 0, 1413863.809 481460.54 0,
+ 1413560.82 481436.19 0, 1413257.828 481411.858 0, 1412954.836 481387.543 0, 1412651.842 481363.246 0, 1412348.846 481338.967 0, 1412045.849 481314.706 0, 1411742.851 481290.463 0, 1411439.851 481266.238 0, 1411136.85 481242.03 0, 1410833.847 481217.84 0,
+ 1410530.843 481193.668 0, 1410227.838 481169.514 0, 1409924.831 481145.378 0, 1409621.822 481121.259 0, 1409318.813 481097.159 0, 1409015.802 481073.076 0, 1408712.789 481049.011 0, 1408409.775 481024.964 0, 1408105.359 481000.824 0, 1407666.365 486538.729 0,
+ 1407227.339 492077.054 0, 1407531.101 492101.143 0, 1407833.463 492125.138 0, 1408135.823 492149.151 0, 1408438.183 492173.182 0, 1408740.54 492197.231 0, 1409042.897 492221.298 0, 1409345.252 492245.382 0, 1409647.605 492269.484 0, 1409949.958 492293.604 0,
+ 1410252.308 492317.742 0, 1410554.658 492341.897 0, 1410857.006 492366.071 0, 1411159.352 492390.262 0, 1411461.697 492414.471 0, 1411764.041 492438.697 0, 1412066.383 492462.942 0, 1412368.724 492487.204 0, 1412671.063 492511.484 0, 1412973.401 492535.782 0,
+ 1413275.737 492560.098 0, 1413578.073 492584.431 0, 1413880.406 492608.783 0, 1414182.738 492633.152 0, 1414483.673 492657.426 0, 1414787.398 492681.943 0, 1415089.726 492706.366 0, 1415392.053 492730.806 0, 1415694.378 492755.264 0, 1415996.701 492779.74 0,
+ 1416299.023 492804.234 0, 1416601.344 492828.745 0, 1416903.663 492853.274 0, 1417205.981 492877.821 0, 1417508.298 492902.386 0, 1417810.612 492926.969 0, 1418112.926 492951.569 0, 1418415.238 492976.187 0, 1418717.548 493000.823 0, 1419019.858 493025.477 0,
+ 1419322.165 493050.149 0, 1419624.471 493074.838 0, 1419926.776 493099.545 0, 1420229.08 493124.27 0, 1420531.381 493149.013 0, 1420833.682 493173.773 0, 1421135.981 493198.552 0, 1421438.278 493223.348 0, 1421739.179 493248.047 0, 1422193.85 487710.984 0,
+ 1422648.487 482174.341 0))
+
+POLYGON ((1436247.652 494460.034 0, 1435946.82 494434.484 0, 1435644.594 494408.834 0, 1435342.366 494383.202 0, 1435040.137 494357.587 0, 1434737.906 494331.991 0, 1434435.674 494306.412 0, 1434133.441 494280.851 0, 1433831.205 494255.307 0, 1433528.969 494229.782 0,
+ 1433226.73 494204.274 0, 1432924.491 494178.784 0, 1432622.249 494153.312 0, 1432320.007 494127.857 0, 1432017.762 494102.421 0, 1431715.517 494077.002 0, 1431413.269 494051.601 0, 1431111.021 494026.218 0, 1430808.77 494000.852 0, 1430506.519 493975.505 0,
+ 1430204.265 493950.175 0, 1429902.011 493924.863 0, 1429599.754 493899.568 0, 1429297.497 493874.292 0, 1428993.844 493848.917 0, 1428692.977 493823.792 0, 1428390.715 493798.569 0, 1428088.451 493773.364 0, 1427786.186 493748.176 0, 1427483.92 493723.007 0,
+ 1427181.651 493697.855 0, 1426879.382 493672.72 0, 1426577.111 493647.604 0, 1426274.838 493622.505 0, 1425972.564 493597.425 0, 1425670.289 493572.362 0, 1425368.012 493547.316 0, 1425065.734 493522.289 0, 1424763.454 493497.279 0, 1424461.172 493472.288 0,
+ 1424158.89 493447.314 0, 1423856.605 493422.357 0, 1423554.319 493397.419 0, 1423252.032 493372.498 0, 1422949.744 493347.595 0, 1422647.453 493322.71 0, 1422345.162 493297.843 0, 1422042.869 493272.993 0, 1421739.179 493248.047 0, 1421284.473 498785.526 0,
+ 1420829.734 504323.418 0, 1421132.769 504348.31 0, 1421434.41 504373.106 0, 1421736.05 504397.92 0, 1422037.688 504422.751 0, 1422339.325 504447.6 0, 1422640.96 504472.467 0, 1422942.594 504497.352 0, 1423244.227 504522.255 0, 1423545.858 504547.175 0,
+ 1423847.487 504572.113 0, 1424149.115 504597.068 0, 1424450.742 504622.042 0, 1424752.367 504647.033 0, 1425053.99 504672.042 0, 1425355.613 504697.069 0, 1425657.233 504722.113 0, 1425958.852 504747.175 0, 1426260.47 504772.255 0, 1426562.086 504797.353 0,
+ 1426863.701 504822.469 0, 1427165.315 504847.602 0, 1427466.926 504872.753 0, 1427768.537 504897.921 0, 1428068.755 504922.992 0, 1428371.753 504948.312 0, 1428673.359 504973.534 0, 1428974.963 504998.774 0, 1429276.566 505024.031 0, 1429578.168 505049.307 0,
+ 1429879.767 505074.6 0, 1430181.366 505099.91 0, 1430482.963 505125.239 0, 1430784.558 505150.585 0, 1431086.152 505175.949 0, 1431387.745 505201.331 0, 1431689.336 505226.73 0, 1431990.925 505252.148 0, 1432292.513 505277.583 0, 1432594.1 505303.035 0,
+ 1432895.685 505328.506 0, 1433197.268 505353.994 0, 1433498.85 505379.5 0, 1433800.431 505405.024 0, 1434102.01 505430.565 0, 1434403.587 505456.125 0, 1434705.163 505481.702 0, 1435006.738 505507.296 0, 1435306.921 505532.791 0, 1435777.304 499996.206 0,
+ 1436247.652 494460.034 0))
+
+POLYGON ((1449780.634 506783.06 0, 1449480.521 506756.717 0, 1449179.021 506730.27 0, 1448877.518 506703.842 0, 1448576.014 506677.43 0, 1448274.508 506651.037 0, 1447973.001 506624.661 0, 1447671.492 506598.303 0, 1447369.982 506571.963 0, 1447068.47 506545.641 0,
+ 1446766.957 506519.336 0, 1446465.442 506493.049 0, 1446163.925 506466.78 0, 1445862.407 506440.528 0, 1445560.888 506414.295 0, 1445259.367 506388.079 0, 1444957.844 506361.881 0, 1444656.32 506335.7 0, 1444354.794 506309.537 0, 1444053.267 506283.392 0,
+ 1443751.738 506257.265 0, 1443450.208 506231.156 0, 1443148.676 506205.064 0, 1442847.142 506178.99 0, 1442544.219 506152.814 0, 1442244.071 506126.895 0, 1441942.533 506100.875 0, 1441640.993 506074.872 0, 1441339.452 506048.886 0, 1441037.91 506022.919 0,
+ 1440736.365 505996.969 0, 1440434.82 505971.037 0, 1440133.273 505945.123 0, 1439831.724 505919.226 0, 1439530.174 505893.348 0, 1439228.622 505867.487 0, 1438927.069 505841.643 0, 1438625.514 505815.818 0, 1438323.957 505790.01 0, 1438022.4 505764.22 0,
+ 1437720.84 505738.448 0, 1437419.279 505712.693 0, 1437117.717 505686.957 0, 1436816.153 505661.238 0, 1436514.588 505635.536 0, 1436213.021 505609.853 0, 1435911.452 505584.187 0, 1435609.882 505558.539 0, 1435306.921 505532.791 0, 1434836.503 511069.786 0,
+ 1434366.05 516607.188 0, 1434668.357 516632.881 0, 1434969.275 516658.473 0, 1435270.192 516684.084 0, 1435571.107 516709.712 0, 1435872.02 516735.357 0, 1436172.932 516761.021 0, 1436473.843 516786.702 0, 1436774.752 516812.401 0, 1437075.66 516838.117 0,
+ 1437376.566 516863.852 0, 1437677.47 516889.603 0, 1437978.373 516915.373 0, 1438279.275 516941.161 0, 1438580.175 516966.966 0, 1438881.073 516992.788 0, 1439181.97 517018.629 0, 1439482.866 517044.487 0, 1439783.76 517070.363 0, 1440084.652 517096.257 0,
+ 1440385.543 517122.168 0, 1440686.432 517148.097 0, 1440987.32 517174.044 0, 1441288.206 517200.009 0, 1441587.706 517225.871 0, 1441889.974 517251.991 0, 1442190.856 517278.008 0, 1442491.736 517304.044 0, 1442792.615 517330.097 0, 1443093.492 517356.167 0,
+ 1443394.367 517382.256 0, 1443695.241 517408.362 0, 1443996.114 517434.486 0, 1444296.985 517460.627 0, 1444597.854 517486.787 0, 1444898.722 517512.964 0, 1445199.588 517539.158 0, 1445500.453 517565.371 0, 1445801.317 517591.601 0, 1446102.178 517617.849 0,
+ 1446403.038 517644.114 0, 1446703.897 517670.398 0, 1447004.754 517696.699 0, 1447305.61 517723.017 0, 1447606.463 517749.354 0, 1447907.316 517775.708 0, 1448208.167 517802.079 0, 1448509.016 517828.469 0, 1448808.48 517854.755 0, 1449294.575 512318.704 0,
+ 1449780.634 506783.06 0))
+
+POLYGON ((1463247.327 519143.119 0, 1462947.936 519115.987 0, 1462647.163 519088.748 0, 1462346.388 519061.526 0, 1462045.611 519034.322 0, 1461744.833 519007.136 0, 1461444.053 518979.967 0, 1461143.271 518952.816 0, 1460842.488 518925.683 0, 1460541.703 518898.568 0,
+ 1460240.917 518871.47 0, 1459940.129 518844.39 0, 1459639.339 518817.328 0, 1459338.548 518790.283 0, 1459037.755 518763.256 0, 1458736.961 518736.247 0, 1458436.165 518709.256 0, 1458135.368 518682.282 0, 1457834.569 518655.326 0, 1457533.768 518628.387 0,
+ 1457232.966 518601.467 0, 1456932.162 518574.564 0, 1456631.357 518547.678 0, 1456330.55 518520.811 0, 1456028.358 518493.838 0, 1455728.931 518467.129 0, 1455428.119 518440.314 0, 1455127.306 518413.518 0, 1454826.491 518386.739 0, 1454525.675 518359.977 0,
+ 1454224.856 518333.234 0, 1453924.037 518306.508 0, 1453623.216 518279.8 0, 1453322.393 518253.109 0, 1453021.569 518226.436 0, 1452720.743 518199.781 0, 1452419.915 518173.144 0, 1452119.086 518146.524 0, 1451818.256 518119.922 0, 1451517.424 518093.338 0,
+ 1451216.59 518066.771 0, 1450915.754 518040.222 0, 1450614.918 518013.691 0, 1450314.079 517987.178 0, 1450013.239 517960.682 0, 1449712.398 517934.204 0, 1449411.555 517907.744 0, 1449110.71 517881.301 0, 1448808.48 517854.755 0, 1448322.349 523391.209 0,
+ 1447836.184 528928.065 0, 1448137.759 528954.554 0, 1448437.952 528980.939 0, 1448738.144 529007.342 0, 1449038.333 529033.763 0, 1449338.522 529060.201 0, 1449638.708 529086.657 0, 1449938.893 529113.131 0, 1450239.077 529139.622 0, 1450539.259 529166.131 0,
+ 1450839.439 529192.658 0, 1451139.618 529219.202 0, 1451439.796 529245.764 0, 1451739.971 529272.344 0, 1452040.146 529298.941 0, 1452340.318 529325.556 0, 1452640.489 529352.189 0, 1452940.659 529378.839 0, 1453240.827 529405.507 0, 1453540.993 529432.193 0,
+ 1453841.158 529458.896 0, 1454141.321 529485.617 0, 1454441.483 529512.356 0, 1454741.643 529539.112 0, 1455040.421 529565.763 0, 1455341.958 529592.678 0, 1455642.113 529619.488 0, 1455942.267 529646.315 0, 1456242.419 529673.159 0, 1456542.57 529700.022 0,
+ 1456842.719 529726.902 0, 1457142.866 529753.799 0, 1457443.012 529780.715 0, 1457743.156 529807.648 0, 1458043.299 529834.598 0, 1458343.44 529861.567 0, 1458643.579 529888.553 0, 1458943.717 529915.556 0, 1459243.854 529942.578 0, 1459543.988 529969.617 0,
+ 1459844.122 529996.673 0, 1460144.253 530023.748 0, 1460444.383 530050.84 0, 1460744.511 530077.95 0, 1461044.638 530105.077 0, 1461344.763 530132.222 0, 1461644.887 530159.385 0, 1461945.009 530186.565 0, 1462243.751 530213.638 0, 1462745.557 524678.178 0,
+ 1463247.327 519143.119 0))
+
+POLYGON ((1476647.628 531539.91 0, 1476348.962 531511.993 0, 1476048.918 531483.964 0, 1475748.872 531455.954 0, 1475448.825 531427.961 0, 1475148.776 531399.986 0, 1474848.725 531372.029 0, 1474548.673 531344.089 0, 1474248.619 531316.167 0, 1473948.564 531288.262 0,
+ 1473648.507 531260.375 0, 1473348.448 531232.506 0, 1473048.387 531204.655 0, 1472748.325 531176.821 0, 1472448.262 531149.004 0, 1472148.196 531121.206 0, 1471848.129 531093.425 0, 1471548.061 531065.662 0, 1471247.991 531037.916 0, 1470947.919 531010.188 0,
+ 1470647.845 530982.478 0, 1470347.77 530954.786 0, 1470047.693 530927.111 0, 1469747.615 530899.453 0, 1469446.158 530871.687 0, 1469147.453 530844.192 0, 1468847.37 530816.588 0, 1468547.285 530789.001 0, 1468247.199 530761.432 0, 1467947.11 530733.881 0,
+ 1467647.021 530706.347 0, 1467346.929 530678.831 0, 1467046.836 530651.333 0, 1466746.742 530623.852 0, 1466446.646 530596.39 0, 1466146.548 530568.944 0, 1465846.448 530541.517 0, 1465546.347 530514.107 0, 1465246.244 530486.714 0, 1464946.14 530459.34 0,
+ 1464646.034 530431.983 0, 1464345.927 530404.643 0, 1464045.818 530377.322 0, 1463745.707 530350.018 0, 1463445.595 530322.731 0, 1463145.481 530295.463 0, 1462845.365 530268.212 0, 1462545.248 530240.979 0, 1462243.751 530213.638 0, 1461741.909 535749.495 0,
+ 1461240.03 541285.748 0, 1461540.873 541313.029 0, 1461840.338 541340.203 0, 1462139.802 541367.395 0, 1462439.265 541394.604 0, 1462738.725 541421.831 0, 1463038.184 541449.076 0, 1463337.642 541476.338 0, 1463637.098 541503.618 0, 1463936.552 541530.916 0,
+ 1464236.005 541558.231 0, 1464535.456 541585.564 0, 1464834.905 541612.914 0, 1465134.353 541640.282 0, 1465433.799 541667.668 0, 1465733.244 541695.071 0, 1466032.687 541722.492 0, 1466332.128 541749.931 0, 1466631.568 541777.387 0, 1466931.006 541804.861 0,
+ 1467230.442 541832.352 0, 1467529.877 541859.861 0, 1467829.311 541887.388 0, 1468128.742 541914.932 0, 1468426.798 541942.368 0, 1468727.601 541970.074 0, 1469027.027 541997.671 0, 1469326.453 542025.286 0, 1469625.876 542052.918 0, 1469925.298 542080.568 0,
+ 1470224.718 542108.236 0, 1470524.137 542135.921 0, 1470823.554 542163.624 0, 1471122.969 542191.345 0, 1471422.383 542219.083 0, 1471721.795 542246.839 0, 1472021.206 542274.612 0, 1472320.615 542302.403 0, 1472620.022 542330.212 0, 1472919.427 542358.038 0,
+ 1473218.831 542385.882 0, 1473518.234 542413.744 0, 1473817.634 542441.623 0, 1474117.033 542469.52 0, 1474416.431 542497.434 0, 1474715.827 542525.366 0, 1475015.221 542553.316 0, 1475314.613 542581.283 0, 1475612.631 542609.139 0, 1476130.148 537074.327 0,
+ 1476647.628 531539.91 0))
+
+POLYGON ((1489981.436 543973.131 0, 1489683.495 543944.433 0, 1489384.183 543915.62 0, 1489084.869 543886.824 0, 1488785.553 543858.047 0, 1488486.236 543829.286 0, 1488186.917 543800.544 0, 1487887.596 543771.819 0, 1487588.274 543743.112 0, 1487288.95 543714.422 0,
+ 1486989.624 543685.75 0, 1486690.297 543657.096 0, 1486390.967 543628.459 0, 1486091.637 543599.84 0, 1485792.304 543571.238 0, 1485492.97 543542.654 0, 1485193.634 543514.088 0, 1484894.296 543485.539 0, 1484594.957 543457.008 0, 1484295.616 543428.494 0,
+ 1483996.274 543399.999 0, 1483696.929 543371.52 0, 1483397.583 543343.06 0, 1483098.236 543314.617 0, 1482797.515 543286.061 0, 1482499.536 543257.783 0, 1482200.183 543229.393 0, 1481900.829 543201.021 0, 1481601.473 543172.666 0, 1481302.115 543144.329 0,
+ 1481002.756 543116.009 0, 1480703.395 543087.707 0, 1480404.032 543059.422 0, 1480104.668 543031.156 0, 1479805.302 543002.906 0, 1479505.934 542974.675 0, 1479206.565 542946.461 0, 1478907.194 542918.265 0, 1478607.821 542890.086 0, 1478308.447 542861.925 0,
+ 1478009.071 542833.781 0, 1477709.693 542805.655 0, 1477410.314 542777.547 0, 1477110.933 542749.457 0, 1476811.551 542721.384 0, 1476512.166 542693.328 0, 1476212.781 542665.29 0, 1475913.393 542637.27 0, 1475612.631 542609.139 0, 1475095.078 548144.343 0,
+ 1474577.488 553679.935 0, 1474877.595 553708.004 0, 1475176.331 553735.963 0, 1475475.065 553763.94 0, 1475773.798 553791.934 0, 1476072.529 553819.946 0, 1476371.258 553847.976 0, 1476669.986 553876.023 0, 1476968.712 553904.087 0, 1477267.436 553932.17 0,
+ 1477566.159 553960.269 0, 1477864.88 553988.387 0, 1478163.599 554016.522 0, 1478462.317 554044.674 0, 1478761.033 554072.845 0, 1479059.748 554101.032 0, 1479358.46 554129.238 0, 1479657.171 554157.46 0, 1479955.881 554185.701 0, 1480254.589 554213.959 0,
+ 1480553.295 554242.235 0, 1480851.999 554270.528 0, 1481150.702 554298.839 0, 1481449.403 554327.167 0, 1481746.734 554355.383 0, 1482046.8 554383.876 0, 1482345.497 554412.257 0, 1482644.191 554440.656 0, 1482942.884 554469.072 0, 1483241.575 554497.506 0,
+ 1483540.264 554525.958 0, 1483838.952 554554.427 0, 1484137.638 554582.913 0, 1484436.323 554611.417 0, 1484735.005 554639.939 0, 1485033.686 554668.479 0, 1485332.366 554697.035 0, 1485631.043 554725.61 0, 1485929.719 554754.202 0, 1486228.394 554782.812 0,
+ 1486527.066 554811.439 0, 1486825.737 554840.084 0, 1487124.406 554868.746 0, 1487423.074 554897.426 0, 1487721.74 554926.124 0, 1488020.404 554954.839 0, 1488319.067 554983.571 0, 1488617.727 555012.322 0, 1488915.019 555040.958 0, 1489448.246 549506.851 0,
+ 1489981.436 543973.131 0))
+
+POLYGON ((1503248.649 556442.482 0, 1502951.437 556413.006 0, 1502652.858 556383.412 0, 1502354.278 556353.835 0, 1502055.696 556324.277 0, 1501757.112 556294.735 0, 1501458.527 556265.212 0, 1501159.94 556235.706 0, 1500861.351 556206.217 0, 1500562.761 556176.746 0,
+ 1500264.168 556147.293 0, 1499965.574 556117.857 0, 1499666.979 556088.439 0, 1499368.381 556059.038 0, 1499069.782 556029.655 0, 1498771.181 556000.29 0, 1498472.578 555970.942 0, 1498173.974 555941.612 0, 1497875.368 555912.299 0, 1497576.76 555883.004 0,
+ 1497278.15 555853.726 0, 1496979.539 555824.466 0, 1496680.926 555795.224 0, 1496382.311 555765.999 0, 1496082.329 555736.658 0, 1495785.077 555707.602 0, 1495486.457 555678.43 0, 1495187.835 555649.275 0, 1494889.212 555620.138 0, 1494590.587 555591.019 0,
+ 1494291.96 555561.917 0, 1493993.331 555532.833 0, 1493694.701 555503.766 0, 1493396.069 555474.717 0, 1493097.436 555445.685 0, 1492798.801 555416.671 0, 1492500.163 555387.675 0, 1492201.525 555358.696 0, 1491902.884 555329.735 0, 1491604.242 555300.791 0,
+ 1491305.598 555271.865 0, 1491006.953 555242.957 0, 1490708.306 555214.066 0, 1490409.657 555185.193 0, 1490111.006 555156.337 0, 1489812.354 555127.499 0, 1489513.7 555098.678 0, 1489215.044 555069.875 0, 1488915.019 555040.958 0, 1488381.756 560575.45 0,
+ 1487848.455 566110.325 0, 1488147.825 566139.179 0, 1488445.829 566167.919 0, 1488743.831 566196.677 0, 1489041.832 566225.452 0, 1489339.831 566254.245 0, 1489637.829 566283.055 0, 1489935.825 566311.883 0, 1490233.819 566340.728 0, 1490531.811 566369.591 0,
+ 1490829.802 566398.472 0, 1491127.791 566427.37 0, 1491425.778 566456.285 0, 1491723.763 566485.218 0, 1492021.747 566514.169 0, 1492319.729 566543.137 0, 1492617.71 566572.123 0, 1492915.689 566601.126 0, 1493213.666 566630.147 0, 1493511.641 566659.185 0,
+ 1493809.614 566688.241 0, 1494107.586 566717.315 0, 1494405.556 566746.406 0, 1494703.525 566775.514 0, 1495000.129 566804.507 0, 1495299.457 566833.784 0, 1495597.42 566862.945 0, 1495895.382 566892.124 0, 1496193.342 566921.32 0, 1496491.3 566950.533 0,
+ 1496789.256 566979.765 0, 1497087.211 567009.014 0, 1497385.164 567038.28 0, 1497683.115 567067.564 0, 1497981.065 567096.865 0, 1498279.012 567126.184 0, 1498576.959 567155.521 0, 1498874.903 567184.875 0, 1499172.846 567214.246 0, 1499470.787 567243.635 0,
+ 1499768.726 567273.042 0, 1500066.663 567302.466 0, 1500364.599 567331.908 0, 1500662.533 567361.367 0, 1500960.465 567390.844 0, 1501258.396 567420.338 0, 1501556.324 567449.85 0, 1501854.251 567479.379 0, 1502150.815 567508.791 0, 1502699.751 561975.445 0,
+ 1503248.649 556442.482 0))
+
+POLYGON ((1516449.168 568947.659 0, 1516152.686 568917.409 0, 1515854.844 568887.038 0, 1515556.999 568856.685 0, 1515259.153 568826.349 0, 1514961.306 568796.03 0, 1514663.456 568765.729 0, 1514365.605 568735.446 0, 1514067.752 568705.18 0, 1513769.897 568674.932 0,
+ 1513472.04 568644.701 0, 1513174.181 568614.488 0, 1512876.321 568584.293 0, 1512578.459 568554.115 0, 1512280.595 568523.954 0, 1511982.73 568493.811 0, 1511684.862 568463.685 0, 1511386.993 568433.577 0, 1511089.122 568403.487 0, 1510791.25 568373.414 0,
+ 1510493.375 568343.359 0, 1510195.499 568313.321 0, 1509897.621 568283.3 0, 1509599.741 568253.298 0, 1509300.5 568223.175 0, 1509003.977 568193.345 0, 1508706.092 568163.394 0, 1508408.205 568133.462 0, 1508110.316 568103.547 0, 1507812.426 568073.649 0,
+ 1507514.534 568043.769 0, 1507216.64 568013.906 0, 1506918.744 567984.061 0, 1506620.847 567954.234 0, 1506322.948 567924.424 0, 1506025.047 567894.632 0, 1505727.144 567864.857 0, 1505429.24 567835.099 0, 1505131.334 567805.36 0, 1504833.426 567775.637 0,
+ 1504535.517 567745.933 0, 1504237.605 567716.245 0, 1503939.692 567686.576 0, 1503641.777 567656.924 0, 1503343.861 567627.289 0, 1503045.942 567597.672 0, 1502748.022 567568.073 0, 1502450.1 567538.491 0, 1502150.815 567508.791 0, 1501601.842 573042.515 0,
+ 1501052.832 578576.615 0, 1501351.462 578606.25 0, 1501648.733 578635.767 0, 1501946.001 578665.302 0, 1502243.268 578694.854 0, 1502540.533 578724.424 0, 1502837.797 578754.011 0, 1503135.059 578783.616 0, 1503432.319 578813.238 0, 1503729.577 578842.878 0,
+ 1504026.833 578872.535 0, 1504324.088 578902.21 0, 1504621.341 578931.902 0, 1504918.592 578961.612 0, 1505215.842 578991.339 0, 1505513.089 579021.084 0, 1505810.335 579050.846 0, 1506107.58 579080.626 0, 1506404.822 579110.423 0, 1506702.063 579140.238 0,
+ 1506999.302 579170.07 0, 1507296.539 579199.92 0, 1507593.774 579229.787 0, 1507891.008 579259.672 0, 1508186.883 579289.438 0, 1508485.47 579319.494 0, 1508782.699 579349.431 0, 1509079.925 579379.386 0, 1509377.15 579409.358 0, 1509674.373 579439.348 0,
+ 1509971.595 579469.355 0, 1510268.814 579499.379 0, 1510566.032 579529.422 0, 1510863.248 579559.481 0, 1511160.462 579589.558 0, 1511457.675 579619.653 0, 1511754.886 579649.765 0, 1512052.095 579679.895 0, 1512349.302 579710.042 0, 1512646.507 579740.207 0,
+ 1512943.711 579770.389 0, 1513240.913 579800.588 0, 1513538.113 579830.805 0, 1513835.311 579861.04 0, 1514132.508 579891.292 0, 1514429.702 579921.562 0, 1514726.895 579951.849 0, 1515024.086 579982.153 0, 1515319.92 580012.337 0, 1515884.563 574479.81 0,
+ 1516449.168 568947.659 0))
+
+POLYGON ((1529582.895 581488.36 0, 1529287.146 581457.34 0, 1528990.041 581426.196 0, 1528692.935 581395.07 0, 1528395.827 581363.96 0, 1528098.717 581332.869 0, 1527801.606 581301.795 0, 1527504.492 581270.738 0, 1527207.377 581239.699 0, 1526910.26 581208.677 0,
+ 1526613.141 581177.673 0, 1526316.02 581146.687 0, 1526018.897 581115.717 0, 1525721.773 581084.766 0, 1525424.646 581053.832 0, 1525127.518 581022.915 0, 1524830.388 580992.016 0, 1524533.256 580961.134 0, 1524236.123 580930.27 0, 1523938.988 580899.423 0,
+ 1523641.85 580868.594 0, 1523344.711 580837.782 0, 1523047.57 580806.988 0, 1522750.428 580776.211 0, 1522451.929 580745.311 0, 1522156.137 580714.71 0, 1521858.989 580683.985 0, 1521561.839 580653.278 0, 1521264.687 580622.589 0, 1520967.534 580591.917 0,
+ 1520670.379 580561.263 0, 1520373.222 580530.626 0, 1520076.063 580500.007 0, 1519778.902 580469.405 0, 1519481.739 580438.82 0, 1519184.575 580408.253 0, 1518887.409 580377.704 0, 1518590.241 580347.172 0, 1518293.071 580316.658 0, 1517995.9 580286.161 0,
+ 1517698.727 580255.681 0, 1517401.552 580225.219 0, 1517104.375 580194.775 0, 1516807.196 580164.348 0, 1516510.016 580133.938 0, 1516212.833 580103.546 0, 1515915.649 580073.172 0, 1515618.463 580042.815 0, 1515319.92 580012.337 0, 1514755.239 585545.236 0,
+ 1514190.52 591078.504 0, 1514488.409 591108.915 0, 1514784.944 591139.206 0, 1515081.476 591169.514 0, 1515378.007 591199.839 0, 1515674.537 591230.182 0, 1515971.064 591260.542 0, 1516267.589 591290.92 0, 1516564.113 591321.315 0, 1516860.635 591351.728 0,
+ 1517157.155 591382.158 0, 1517453.674 591412.606 0, 1517750.19 591443.071 0, 1518046.705 591473.553 0, 1518343.218 591504.053 0, 1518639.73 591534.57 0, 1518936.239 591565.105 0, 1519232.747 591595.658 0, 1519529.252 591626.227 0, 1519825.756 591656.815 0,
+ 1520122.259 591687.419 0, 1520418.759 591718.041 0, 1520715.258 591748.681 0, 1521011.755 591779.338 0, 1521306.898 591809.872 0, 1521604.743 591840.704 0, 1521901.234 591871.413 0, 1522197.724 591902.14 0, 1522494.212 591932.884 0, 1522790.698 591963.646 0,
+ 1523087.182 591994.425 0, 1523383.664 592025.222 0, 1523680.145 592056.036 0, 1523976.623 592086.867 0, 1524273.1 592117.716 0, 1524569.575 592148.583 0, 1524866.049 592179.467 0, 1525162.52 592210.368 0, 1525458.99 592241.287 0, 1525755.458 592272.223 0,
+ 1526051.924 592303.177 0, 1526348.388 592334.148 0, 1526644.85 592365.136 0, 1526941.311 592396.142 0, 1527237.77 592427.166 0, 1527534.226 592458.207 0, 1527830.681 592489.265 0, 1528127.135 592520.341 0, 1528422.236 592551.292 0, 1529002.585 587019.641 0,
+ 1529582.895 581488.36 0))
+
+POLYGON ((1542649.734 594064.282 0, 1542354.719 594032.496 0, 1542058.355 594000.583 0, 1541761.989 593968.687 0, 1541465.621 593936.809 0, 1541169.251 593904.948 0, 1540872.879 593873.105 0, 1540576.506 593841.279 0, 1540280.13 593809.47 0, 1539983.753 593777.679 0,
+ 1539687.373 593745.905 0, 1539390.992 593714.149 0, 1539094.609 593682.41 0, 1538798.224 593650.689 0, 1538501.838 593618.985 0, 1538205.449 593587.299 0, 1537909.059 593555.63 0, 1537612.666 593523.978 0, 1537316.272 593492.344 0, 1537019.876 593460.727 0,
+ 1536723.478 593429.128 0, 1536427.079 593397.546 0, 1536130.677 593365.982 0, 1535834.273 593334.435 0, 1535536.519 593302.762 0, 1535241.461 593271.394 0, 1534945.052 593239.899 0, 1534648.641 593208.422 0, 1534352.228 593176.963 0, 1534055.814 593145.52 0,
+ 1533759.397 593114.096 0, 1533462.979 593082.688 0, 1533166.559 593051.299 0, 1532870.137 593019.926 0, 1532573.713 592988.571 0, 1532277.287 592957.234 0, 1531980.86 592925.914 0, 1531684.43 592894.611 0, 1531387.999 592863.326 0, 1531091.566 592832.058 0,
+ 1530795.131 592800.808 0, 1530498.695 592769.575 0, 1530202.256 592738.36 0, 1529905.816 592707.162 0, 1529609.373 592675.981 0, 1529312.929 592644.818 0, 1529016.483 592613.673 0, 1528720.036 592582.545 0, 1528422.236 592551.292 0, 1527841.849 598083.309 0,
+ 1527261.423 603615.689 0, 1527558.569 603646.872 0, 1527854.365 603677.932 0, 1528150.16 603709.009 0, 1528445.953 603740.104 0, 1528741.744 603771.216 0, 1529037.533 603802.345 0, 1529333.32 603833.492 0, 1529629.106 603864.656 0, 1529924.889 603895.838 0,
+ 1530220.671 603927.037 0, 1530516.451 603958.253 0, 1530812.229 603989.487 0, 1531108.006 604020.738 0, 1531403.78 604052.007 0, 1531699.553 604083.293 0, 1531995.324 604114.597 0, 1532291.093 604145.917 0, 1532586.86 604177.256 0, 1532882.625 604208.611 0,
+ 1533178.389 604239.985 0, 1533474.15 604271.375 0, 1533769.91 604302.783 0, 1534065.668 604334.208 0, 1534360.078 604365.508 0, 1534657.178 604397.111 0, 1534952.93 604428.589 0, 1535248.681 604460.084 0, 1535544.43 604491.596 0, 1535840.176 604523.126 0,
+ 1536135.921 604554.673 0, 1536431.664 604586.238 0, 1536727.406 604617.82 0, 1537023.145 604649.419 0, 1537318.882 604681.036 0, 1537614.618 604712.67 0, 1537910.352 604744.322 0, 1538206.084 604775.991 0, 1538501.814 604807.677 0, 1538797.542 604839.381 0,
+ 1539093.268 604871.102 0, 1539388.993 604902.841 0, 1539684.715 604934.597 0, 1539980.436 604966.371 0, 1540276.155 604998.162 0, 1540571.872 605029.97 0, 1540867.587 605061.795 0, 1541163.3 605093.639 0, 1541457.667 605125.354 0, 1542053.72 599594.637 0,
+ 1542649.734 594064.282 0))
+
+POLYGON ((1555649.589 606675.121 0, 1555355.311 606642.573 0, 1555059.689 606609.895 0, 1554764.065 606577.234 0, 1554468.439 606544.59 0, 1554172.811 606511.964 0, 1553877.181 606479.355 0, 1553581.549 606446.764 0, 1553285.916 606414.19 0, 1552990.28 606381.633 0,
+ 1552694.643 606349.094 0, 1552399.004 606316.572 0, 1552103.362 606284.068 0, 1551807.719 606251.581 0, 1551512.074 606219.111 0, 1551216.427 606186.659 0, 1550920.778 606154.224 0, 1550625.127 606121.807 0, 1550329.475 606089.407 0, 1550033.82 606057.024 0,
+ 1549738.164 606024.659 0, 1549442.505 605992.311 0, 1549146.845 605959.981 0, 1548851.183 605927.668 0, 1548554.175 605895.226 0, 1548259.852 605863.094 0, 1547964.184 605830.833 0, 1547668.515 605798.59 0, 1547372.843 605766.364 0, 1547077.169 605734.155 0,
+ 1546781.494 605701.964 0, 1546485.816 605669.79 0, 1546190.137 605637.634 0, 1545894.456 605605.495 0, 1545598.773 605573.374 0, 1545303.088 605541.269 0, 1545007.401 605509.183 0, 1544711.712 605477.113 0, 1544416.021 605445.061 0, 1544120.329 605413.027 0,
+ 1543824.634 605381.01 0, 1543528.938 605349.01 0, 1543233.24 605317.028 0, 1542937.54 605285.063 0, 1542641.838 605253.115 0, 1542346.134 605221.185 0, 1542050.428 605189.272 0, 1541754.721 605157.377 0, 1541457.667 605125.354 0, 1540861.575 610656.431 0,
+ 1540265.445 616187.865 0, 1540561.845 616219.817 0, 1540856.901 616251.642 0, 1541151.956 616283.485 0, 1541447.008 616315.344 0, 1541742.059 616347.222 0, 1542037.108 616379.116 0, 1542332.155 616411.028 0, 1542627.201 616442.957 0, 1542922.244 616474.904 0,
+ 1543217.285 616506.868 0, 1543512.325 616538.849 0, 1543807.363 616570.848 0, 1544102.398 616602.864 0, 1544397.432 616634.898 0, 1544692.464 616666.949 0, 1544987.495 616699.017 0, 1545282.523 616731.102 0, 1545577.549 616763.205 0, 1545872.574 616795.326 0,
+ 1546167.596 616827.463 0, 1546462.617 616859.618 0, 1546757.636 616891.791 0, 1547052.653 616923.98 0, 1547346.327 616956.041 0, 1547642.681 616988.412 0, 1547937.692 617020.654 0, 1548232.701 617052.913 0, 1548527.709 617085.19 0, 1548822.714 617117.483 0,
+ 1549117.718 617149.795 0, 1549412.72 617182.123 0, 1549707.719 617214.469 0, 1550002.717 617246.833 0, 1550297.713 617279.214 0, 1550592.707 617311.612 0, 1550887.7 617344.027 0, 1551182.69 617376.46 0, 1551477.678 617408.91 0, 1551772.665 617441.378 0,
+ 1552067.649 617473.863 0, 1552362.632 617506.365 0, 1552657.613 617538.885 0, 1552952.592 617571.422 0, 1553247.568 617603.976 0, 1553542.543 617636.548 0, 1553837.516 617669.137 0, 1554132.488 617701.743 0, 1554426.118 617734.219 0, 1555037.873 612204.492 0,
+ 1555649.589 606675.121 0))
+
+POLYGON ((1568582.366 619320.573 0, 1568288.826 619287.268 0, 1567993.948 619253.828 0, 1567699.069 619220.406 0, 1567404.187 619187.001 0, 1567109.303 619153.614 0, 1566814.417 619120.243 0, 1566519.53 619086.89 0, 1566224.64 619053.555 0, 1565929.748 619020.237 0,
+ 1565634.855 618986.936 0, 1565339.959 618953.652 0, 1565045.062 618920.386 0, 1564750.162 618887.138 0, 1564455.261 618853.906 0, 1564160.358 618820.692 0, 1563865.452 618787.495 0, 1563570.545 618754.316 0, 1563275.636 618721.154 0, 1562980.725 618688.01 0,
+ 1562685.812 618654.882 0, 1562390.897 618621.772 0, 1562095.98 618588.68 0, 1561801.061 618555.605 0, 1561504.802 618522.397 0, 1561211.217 618489.506 0, 1560916.292 618456.483 0, 1560621.365 618423.478 0, 1560326.437 618390.489 0, 1560031.506 618357.518 0,
+ 1559736.574 618324.565 0, 1559441.639 618291.628 0, 1559146.703 618258.709 0, 1558851.764 618225.808 0, 1558556.824 618192.923 0, 1558261.882 618160.057 0, 1557966.937 618127.207 0, 1557671.991 618094.375 0, 1557377.043 618061.56 0, 1557082.093 618028.763 0,
+ 1556787.141 617995.983 0, 1556492.188 617963.22 0, 1556197.232 617930.475 0, 1555902.274 617897.747 0, 1555607.315 617865.036 0, 1555312.353 617832.343 0, 1555017.39 617799.667 0, 1554722.424 617767.008 0, 1554426.118 617734.219 0, 1553814.324 623264.299 0,
+ 1553202.491 628794.729 0, 1553498.143 628827.446 0, 1553792.457 628860.033 0, 1554086.77 628892.637 0, 1554381.08 628925.258 0, 1554675.389 628957.896 0, 1554969.696 628990.552 0, 1555264.001 629023.225 0, 1555558.303 629055.915 0, 1555852.604 629088.623 0,
+ 1556146.903 629121.348 0, 1556441.2 629154.09 0, 1556735.496 629186.85 0, 1557029.789 629219.627 0, 1557324.08 629252.421 0, 1557618.369 629285.233 0, 1557912.657 629318.062 0, 1558206.942 629350.908 0, 1558501.226 629383.772 0, 1558795.508 629416.653 0,
+ 1559089.787 629449.551 0, 1559384.065 629482.467 0, 1559678.341 629515.4 0, 1559972.615 629548.35 0, 1560265.552 629581.168 0, 1560561.157 629614.302 0, 1560855.425 629647.304 0, 1561149.691 629680.324 0, 1561443.955 629713.361 0, 1561738.217 629746.415 0,
+ 1562032.478 629779.486 0, 1562326.736 629812.575 0, 1562620.992 629845.681 0, 1562915.247 629878.805 0, 1563209.499 629911.945 0, 1563503.75 629945.103 0, 1563797.998 629978.279 0, 1564092.245 630011.471 0, 1564386.49 630044.681 0, 1564680.733 630077.909 0,
+ 1564974.973 630111.153 0, 1565269.212 630144.415 0, 1565563.449 630177.695 0, 1565857.684 630210.991 0, 1566151.917 630244.305 0, 1566446.148 630277.636 0, 1566740.377 630310.985 0, 1567034.604 630344.351 0, 1567327.496 630377.583 0, 1567954.951 624848.903 0,
+ 1568582.366 619320.573 0))
+
+POLYGON ((1581447.973 632000.335 0, 1581155.173 631966.276 0, 1580861.042 631932.079 0, 1580566.908 631897.899 0, 1580272.773 631863.737 0, 1579978.635 631829.592 0, 1579684.495 631795.464 0, 1579390.354 631761.354 0, 1579096.21 631727.261 0, 1578802.064 631693.185 0,
+ 1578507.917 631659.126 0, 1578213.767 631625.085 0, 1577919.615 631591.061 0, 1577625.461 631557.055 0, 1577331.306 631523.066 0, 1577037.148 631489.094 0, 1576742.988 631455.139 0, 1576448.827 631421.202 0, 1576154.663 631387.282 0, 1575860.497 631353.379 0,
+ 1575566.33 631319.494 0, 1575272.16 631285.626 0, 1574977.988 631251.775 0, 1574683.815 631217.942 0, 1574388.307 631183.972 0, 1574095.461 631150.327 0, 1573801.282 631116.545 0, 1573507.1 631082.781 0, 1573212.917 631049.034 0, 1572918.731 631015.305 0,
+ 1572624.543 630981.593 0, 1572330.354 630947.898 0, 1572036.162 630914.22 0, 1571741.969 630880.56 0, 1571447.773 630846.917 0, 1571153.576 630813.291 0, 1570859.376 630779.683 0, 1570565.175 630746.092 0, 1570270.972 630712.518 0, 1569976.766 630678.962 0,
+ 1569682.559 630645.423 0, 1569388.349 630611.901 0, 1569094.138 630578.397 0, 1568799.925 630544.91 0, 1568505.71 630511.44 0, 1568211.492 630477.987 0, 1567917.273 630444.552 0, 1567623.052 630411.135 0, 1567327.496 630377.583 0, 1566700.001 635906.609 0,
+ 1566072.468 641435.978 0, 1566367.371 641469.456 0, 1566660.941 641502.799 0, 1566954.509 641536.161 0, 1567248.076 641569.539 0, 1567541.64 641602.935 0, 1567835.202 641636.348 0, 1568128.763 641669.778 0, 1568422.321 641703.226 0, 1568715.878 641736.691 0,
+ 1569009.432 641770.173 0, 1569302.985 641803.672 0, 1569596.536 641837.189 0, 1569890.084 641870.723 0, 1570183.631 641904.274 0, 1570477.176 641937.842 0, 1570770.718 641971.428 0, 1571064.259 642005.031 0, 1571357.798 642038.652 0, 1571651.335 642072.289 0,
+ 1571944.869 642105.944 0, 1572238.402 642139.616 0, 1572531.933 642173.306 0, 1572825.462 642207.013 0, 1573117.66 642240.584 0, 1573412.514 642274.478 0, 1573706.037 642308.236 0, 1573999.557 642342.012 0, 1574293.076 642375.805 0, 1574586.593 642409.616 0,
+ 1574880.108 642443.443 0, 1575173.621 642477.288 0, 1575467.132 642511.151 0, 1575760.641 642545.03 0, 1576054.148 642578.927 0, 1576347.653 642612.841 0, 1576641.156 642646.772 0, 1576934.657 642680.721 0, 1577228.156 642714.687 0, 1577521.653 642748.67 0,
+ 1577815.148 642782.67 0, 1578108.641 642816.688 0, 1578402.132 642850.723 0, 1578695.621 642884.775 0, 1578989.108 642918.845 0, 1579282.593 642952.931 0, 1579576.076 642987.035 0, 1579869.557 643021.157 0, 1580161.708 643055.141 0, 1580804.86 637527.567 0,
+ 1581447.973 632000.335 0))
+
+POLYGON ((1594246.317 644714.102 0, 1593954.261 644679.292 0, 1593660.877 644644.342 0, 1593367.492 644609.409 0, 1593074.104 644574.493 0, 1592780.715 644539.595 0, 1592487.323 644504.713 0, 1592193.93 644469.849 0, 1591900.534 644435.003 0, 1591607.136 644400.173 0,
+ 1591313.736 644365.361 0, 1591020.334 644330.566 0, 1590726.931 644295.788 0, 1590433.525 644261.028 0, 1590140.117 644226.285 0, 1589846.707 644191.559 0, 1589553.295 644156.851 0, 1589259.88 644122.159 0, 1588966.464 644087.485 0, 1588673.046 644052.828 0,
+ 1588379.626 644018.189 0, 1588086.204 643983.567 0, 1587792.779 643948.962 0, 1587499.353 643914.374 0, 1587204.598 643879.647 0, 1586912.494 643845.251 0, 1586619.062 643810.715 0, 1586325.627 643776.196 0, 1586032.191 643741.695 0, 1585738.752 643707.211 0,
+ 1585445.312 643672.744 0, 1585151.869 643638.294 0, 1584858.424 643603.862 0, 1584564.978 643569.447 0, 1584271.529 643535.049 0, 1583978.078 643500.669 0, 1583684.626 643466.306 0, 1583391.171 643431.96 0, 1583097.714 643397.631 0, 1582804.255 643363.32 0,
+ 1582510.795 643329.026 0, 1582217.332 643294.749 0, 1581923.867 643260.49 0, 1581630.4 643226.247 0, 1581336.931 643192.022 0, 1581043.46 643157.815 0, 1580749.987 643123.624 0, 1580456.512 643089.451 0, 1580161.708 643055.141 0, 1579518.516 648583.055 0,
+ 1578875.285 654111.306 0, 1579169.436 654145.54 0, 1579462.26 654179.638 0, 1579755.082 654213.752 0, 1580047.902 654247.884 0, 1580340.721 654282.033 0, 1580633.537 654316.2 0, 1580926.351 654350.383 0, 1581219.163 654384.584 0, 1581511.973 654418.802 0,
+ 1581804.781 654453.037 0, 1582097.587 654487.29 0, 1582390.391 654521.559 0, 1582683.193 654555.846 0, 1582975.993 654590.151 0, 1583268.791 654624.472 0, 1583561.587 654658.811 0, 1583854.381 654693.166 0, 1584147.173 654727.54 0, 1584439.963 654761.93 0,
+ 1584732.751 654796.338 0, 1585025.537 654830.762 0, 1585318.321 654865.204 0, 1585611.103 654899.664 0, 1585902.559 654933.984 0, 1586196.66 654968.634 0, 1586489.436 655003.145 0, 1586782.209 655037.673 0, 1587074.981 655072.219 0, 1587367.751 655106.781 0,
+ 1587660.518 655141.361 0, 1587953.284 655175.958 0, 1588246.047 655210.573 0, 1588538.809 655245.204 0, 1588831.568 655279.853 0, 1589124.326 655314.519 0, 1589417.081 655349.203 0, 1589709.834 655383.903 0, 1590002.586 655418.621 0, 1590295.335 655453.356 0,
+ 1590588.082 655488.108 0, 1590880.827 655522.878 0, 1591173.57 655557.664 0, 1591466.311 655592.468 0, 1591759.05 655627.289 0, 1592051.787 655662.128 0, 1592344.522 655696.983 0, 1592637.255 655731.856 0, 1592928.664 655766.589 0, 1593587.51 650240.177 0,
+ 1594246.317 644714.102 0))
+
+POLYGON ((1606977.31 657461.568 0, 1606685.998 657426.012 0, 1606393.365 657390.312 0, 1606100.73 657354.63 0, 1605808.092 657318.965 0, 1605515.453 657283.317 0, 1605222.811 657247.686 0, 1604930.168 657212.072 0, 1604637.522 657176.476 0, 1604344.874 657140.897 0,
+ 1604052.224 657105.335 0, 1603759.572 657069.79 0, 1603466.918 657034.262 0, 1603174.262 656998.752 0, 1602881.604 656963.259 0, 1602588.943 656927.783 0, 1602296.281 656892.325 0, 1602003.616 656856.883 0, 1601710.949 656821.459 0, 1601418.281 656786.052 0,
+ 1601125.61 656750.663 0, 1600832.937 656715.29 0, 1600540.262 656679.935 0, 1600247.585 656644.597 0, 1599953.585 656609.117 0, 1599662.225 656573.973 0, 1599369.541 656538.687 0, 1599076.856 656503.417 0, 1598784.169 656468.166 0, 1598491.479 656432.931 0,
+ 1598198.788 656397.714 0, 1597906.094 656362.513 0, 1597613.398 656327.33 0, 1597320.7 656292.165 0, 1597028.001 656257.016 0, 1596735.299 656221.885 0, 1596442.595 656186.771 0, 1596149.889 656151.674 0, 1595857.18 656116.594 0, 1595564.47 656081.532 0,
+ 1595271.758 656046.487 0, 1594979.044 656011.459 0, 1594686.327 655976.448 0, 1594393.609 655941.455 0, 1594100.888 655906.479 0, 1593808.166 655871.52 0, 1593515.441 655836.578 0, 1593222.714 655801.654 0, 1592928.664 655766.589 0, 1592269.777 661293.334 0,
+ 1591610.852 666820.409 0, 1591904.249 666855.396 0, 1592196.325 666890.242 0, 1592488.399 666925.107 0, 1592780.471 666959.988 0, 1593072.541 666994.886 0, 1593364.608 667029.802 0, 1593656.674 667064.735 0, 1593948.738 667099.685 0, 1594240.8 667134.652 0,
+ 1594532.859 667169.637 0, 1594824.917 667204.638 0, 1595116.972 667239.657 0, 1595409.026 667274.693 0, 1595701.077 667309.746 0, 1595993.127 667344.817 0, 1596285.174 667379.904 0, 1596577.219 667415.009 0, 1596869.262 667450.131 0, 1597161.303 667485.27 0,
+ 1597453.342 667520.426 0, 1597745.379 667555.6 0, 1598037.414 667590.79 0, 1598329.447 667625.998 0, 1598620.16 667661.064 0, 1598913.506 667696.466 0, 1599205.533 667731.725 0, 1599497.557 667767.002 0, 1599789.58 667802.296 0, 1600081.6 667837.607 0,
+ 1600373.618 667872.935 0, 1600665.634 667908.28 0, 1600957.648 667943.643 0, 1601249.66 667979.023 0, 1601541.67 668014.42 0, 1601833.678 668049.834 0, 1602125.684 668085.265 0, 1602417.688 668120.714 0, 1602709.689 668156.179 0, 1603001.689 668191.662 0,
+ 1603293.686 668227.162 0, 1603585.681 668262.679 0, 1603877.675 668298.214 0, 1604169.666 668333.766 0, 1604461.655 668369.334 0, 1604753.642 668404.92 0, 1605045.627 668440.524 0, 1605337.609 668476.144 0, 1605628.274 668511.621 0, 1606302.812 662986.429 0,
+ 1606977.31 657461.568 0))
+
+POLYGON ((1619640.862 670242.428 0, 1619350.297 670206.13 0, 1619058.416 670169.685 0, 1618766.533 670133.257 0, 1618474.648 670096.846 0, 1618182.76 670060.452 0, 1617890.871 670024.076 0, 1617598.979 669987.717 0, 1617307.085 669951.375 0, 1617015.189 669915.05 0,
+ 1616723.291 669878.742 0, 1616431.391 669842.452 0, 1616139.489 669806.178 0, 1615847.584 669769.922 0, 1615555.677 669733.683 0, 1615263.769 669697.461 0, 1614971.858 669661.257 0, 1614679.945 669625.069 0, 1614388.03 669588.899 0, 1614096.112 669552.746 0,
+ 1613804.193 669516.61 0, 1613512.271 669480.491 0, 1613220.348 669444.39 0, 1612928.422 669408.305 0, 1612635.179 669372.076 0, 1612344.564 669336.188 0, 1612052.632 669300.156 0, 1611760.698 669264.14 0, 1611468.761 669228.141 0, 1611176.823 669192.16 0,
+ 1610884.882 669156.196 0, 1610592.939 669120.249 0, 1610300.995 669084.32 0, 1610009.048 669048.407 0, 1609717.099 669012.512 0, 1609425.147 668976.634 0, 1609133.194 668940.773 0, 1608841.239 668904.929 0, 1608549.281 668869.102 0, 1608257.321 668833.293 0,
+ 1607965.36 668797.501 0, 1607673.396 668761.726 0, 1607381.43 668725.968 0, 1607089.462 668690.227 0, 1606797.492 668654.504 0, 1606505.519 668618.797 0, 1606213.545 668583.108 0, 1605921.569 668547.436 0, 1605628.274 668511.621 0, 1604953.696 674037.139 0,
+ 1604279.078 679562.98 0, 1604571.72 679598.716 0, 1604863.046 679634.308 0, 1605154.37 679669.918 0, 1605445.691 679705.545 0, 1605737.011 679741.189 0, 1606028.329 679776.85 0, 1606319.644 679812.528 0, 1606610.958 679848.223 0, 1606902.269 679883.936 0,
+ 1607193.578 679919.665 0, 1607484.885 679955.412 0, 1607776.19 679991.176 0, 1608067.493 680026.957 0, 1608358.794 680062.755 0, 1608650.093 680098.571 0, 1608941.389 680134.403 0, 1609232.684 680170.253 0, 1609523.976 680206.12 0, 1609815.266 680242.004 0,
+ 1610106.554 680277.905 0, 1610397.84 680313.823 0, 1610689.124 680349.758 0, 1610980.406 680385.711 0, 1611270.374 680421.519 0, 1611562.963 680457.667 0, 1611854.239 680493.671 0, 1612145.512 680529.692 0, 1612436.783 680565.731 0, 1612728.052 680601.786 0,
+ 1613019.319 680637.859 0, 1613310.584 680673.948 0, 1613601.847 680710.055 0, 1613893.108 680746.179 0, 1614184.366 680782.32 0, 1614475.622 680818.478 0, 1614766.876 680854.654 0, 1615058.129 680890.846 0, 1615349.378 680927.056 0, 1615640.626 680963.283 0,
+ 1615931.872 680999.527 0, 1616223.116 681035.788 0, 1616514.357 681072.066 0, 1616805.596 681108.361 0, 1617096.833 681144.674 0, 1617388.068 681181.004 0, 1617679.301 681217.35 0, 1617970.532 681253.714 0, 1618260.45 681289.932 0, 1618950.676 675766.018 0,
+ 1619640.862 670242.428 0))
+
+POLYGON ((1632236.887 683056.376 0, 1631947.07 683019.34 0, 1631655.943 682982.153 0, 1631364.814 682944.984 0, 1631073.683 682907.831 0, 1630782.55 682870.696 0, 1630491.414 682833.578 0, 1630200.276 682796.477 0, 1629909.136 682759.393 0, 1629617.994 682722.327 0,
+ 1629326.85 682685.277 0, 1629035.703 682648.245 0, 1628744.555 682611.23 0, 1628453.404 682574.232 0, 1628162.251 682537.251 0, 1627871.096 682500.287 0, 1627579.938 682463.34 0, 1627288.779 682426.411 0, 1626997.617 682389.498 0, 1626706.453 682352.603 0,
+ 1626415.287 682315.725 0, 1626124.119 682278.864 0, 1625832.949 682242.02 0, 1625541.776 682205.193 0, 1625249.292 682168.218 0, 1624959.424 682131.591 0, 1624668.245 682094.816 0, 1624377.064 682058.058 0, 1624085.881 682021.317 0, 1623794.695 681984.593 0,
+ 1623503.508 681947.886 0, 1623212.318 681911.196 0, 1622921.126 681874.524 0, 1622629.931 681837.869 0, 1622338.735 681801.23 0, 1622047.537 681764.609 0, 1621756.336 681728.006 0, 1621465.133 681691.419 0, 1621173.928 681654.849 0, 1620882.721 681618.297 0,
+ 1620591.512 681581.761 0, 1620300.3 681545.243 0, 1620009.087 681508.742 0, 1619717.871 681472.258 0, 1619426.653 681435.791 0, 1619135.433 681399.342 0, 1618844.211 681362.909 0, 1618552.987 681326.494 0, 1618260.45 681289.932 0, 1617570.183 686814.165 0,
+ 1616879.878 692338.716 0, 1617171.761 692375.196 0, 1617462.335 692411.53 0, 1617752.907 692447.881 0, 1618043.477 692484.249 0, 1618334.045 692520.635 0, 1618624.61 692557.037 0, 1618915.173 692593.457 0, 1619205.734 692629.893 0, 1619496.293 692666.347 0,
+ 1619786.85 692702.818 0, 1620077.405 692739.306 0, 1620367.957 692775.811 0, 1620658.508 692812.333 0, 1620949.056 692848.873 0, 1621239.602 692885.429 0, 1621530.146 692922.002 0, 1621820.688 692958.593 0, 1622111.228 692995.201 0, 1622401.765 693031.825 0,
+ 1622692.3 693068.467 0, 1622982.834 693105.126 0, 1623273.365 693141.802 0, 1623563.893 693178.496 0, 1623853.114 693215.041 0, 1624144.945 693251.933 0, 1624435.467 693288.678 0, 1624725.987 693325.439 0, 1625016.505 693362.218 0, 1625307.021 693399.014 0,
+ 1625597.535 693435.827 0, 1625888.046 693472.657 0, 1626178.556 693509.504 0, 1626469.063 693546.368 0, 1626759.568 693583.249 0, 1627050.071 693620.148 0, 1627340.572 693657.063 0, 1627631.07 693693.996 0, 1627921.566 693730.945 0, 1628212.061 693767.912 0,
+ 1628502.553 693804.896 0, 1628793.042 693841.897 0, 1629083.53 693878.915 0, 1629374.016 693915.95 0, 1629664.499 693953.002 0, 1629954.98 693990.072 0, 1630245.459 694027.158 0, 1630535.936 694064.262 0, 1630825.105 694101.215 0, 1631531.016 688578.637 0,
+ 1632236.887 683056.376 0))
+
+POLYGON ((1644765.298 695903.106 0, 1644476.231 695865.335 0, 1644185.861 695827.411 0, 1643895.488 695789.504 0, 1643605.112 695751.614 0, 1643314.735 695713.742 0, 1643024.355 695675.886 0, 1642733.973 695638.047 0, 1642443.589 695600.226 0, 1642153.203 695562.421 0,
+ 1641862.814 695524.634 0, 1641572.424 695486.864 0, 1641282.031 695449.111 0, 1640991.635 695411.375 0, 1640701.238 695373.656 0, 1640410.838 695335.954 0, 1640120.436 695298.269 0, 1639830.032 695260.601 0, 1639539.626 695222.951 0, 1639249.217 695185.317 0,
+ 1638958.807 695147.701 0, 1638668.394 695110.102 0, 1638377.978 695072.52 0, 1638087.561 695034.954 0, 1637795.838 694997.238 0, 1637506.72 694959.875 0, 1637216.296 694922.362 0, 1636925.869 694884.865 0, 1636635.441 694847.385 0, 1636345.01 694809.923 0,
+ 1636054.577 694772.477 0, 1635764.142 694735.049 0, 1635473.705 694697.638 0, 1635183.266 694660.243 0, 1634892.824 694622.866 0, 1634602.38 694585.506 0, 1634311.934 694548.163 0, 1634021.486 694510.838 0, 1633731.035 694473.529 0, 1633440.583 694436.237 0,
+ 1633150.128 694398.963 0, 1632859.671 694361.705 0, 1632569.211 694324.465 0, 1632278.75 694287.242 0, 1631988.286 694250.036 0, 1631697.821 694212.847 0, 1631407.353 694175.675 0, 1631116.882 694138.52 0, 1630825.105 694101.215 0, 1630119.154 699624.107 0,
+ 1629413.163 705147.308 0, 1629704.288 705184.529 0, 1629994.108 705221.601 0, 1630283.926 705258.69 0, 1630573.741 705295.795 0, 1630863.555 705332.918 0, 1631153.366 705370.058 0, 1631443.175 705407.215 0, 1631732.982 705444.389 0, 1632022.787 705481.58 0,
+ 1632312.589 705518.788 0, 1632602.39 705556.013 0, 1632892.188 705593.256 0, 1633181.984 705630.515 0, 1633471.778 705667.791 0, 1633761.569 705705.085 0, 1634051.359 705742.395 0, 1634341.146 705779.723 0, 1634630.931 705817.067 0, 1634920.714 705854.429 0,
+ 1635210.494 705891.808 0, 1635500.273 705929.203 0, 1635790.049 705966.616 0, 1636079.823 706004.046 0, 1636368.294 706041.325 0, 1636659.364 706078.957 0, 1636949.131 706116.438 0, 1637238.897 706153.936 0, 1637528.66 706191.451 0, 1637818.42 706228.983 0,
+ 1638108.179 706266.533 0, 1638397.935 706304.099 0, 1638687.689 706341.682 0, 1638977.441 706379.283 0, 1639267.191 706416.9 0, 1639556.938 706454.535 0, 1639846.684 706492.186 0, 1640136.427 706529.855 0, 1640426.168 706567.541 0, 1640715.906 706605.243 0,
+ 1641005.643 706642.963 0, 1641295.377 706680.7 0, 1641585.109 706718.454 0, 1641874.838 706756.225 0, 1642164.566 706794.013 0, 1642454.291 706831.818 0, 1642744.014 706869.64 0, 1643033.735 706907.479 0, 1643322.154 706945.166 0, 1644043.746 701423.981 0,
+ 1644765.298 695903.106 0))
+
+POLYGON ((1657226.01 708782.312 0, 1656937.697 708743.81 0, 1656648.084 708705.153 0, 1656358.469 708666.512 0, 1656068.852 708627.889 0, 1655779.232 708589.282 0, 1655489.61 708550.693 0, 1655199.986 708512.121 0, 1654910.36 708473.565 0, 1654620.731 708435.027 0,
+ 1654331.1 708396.506 0, 1654041.467 708358.002 0, 1653751.831 708319.515 0, 1653462.194 708281.045 0, 1653172.554 708242.592 0, 1652882.911 708204.156 0, 1652593.267 708165.737 0, 1652303.62 708127.335 0, 1652013.971 708088.951 0, 1651724.32 708050.583 0,
+ 1651434.666 708012.232 0, 1651145.01 707973.899 0, 1650855.352 707935.582 0, 1650565.692 707897.282 0, 1650274.731 707858.828 0, 1649986.364 707820.735 0, 1649696.697 707782.486 0, 1649407.028 707744.255 0, 1649117.356 707706.041 0, 1648827.683 707667.843 0,
+ 1648538.006 707629.663 0, 1648248.328 707591.5 0, 1647958.648 707553.354 0, 1647668.965 707515.225 0, 1647379.28 707477.113 0, 1647089.592 707439.018 0, 1646799.903 707400.94 0, 1646510.211 707362.879 0, 1646220.517 707324.835 0, 1645930.821 707286.809 0,
+ 1645641.122 707248.799 0, 1645351.421 707210.806 0, 1645061.718 707172.831 0, 1644772.013 707134.872 0, 1644482.306 707096.931 0, 1644192.596 707059.006 0, 1643902.884 707021.099 0, 1643613.17 706983.209 0, 1643322.154 706945.166 0, 1642600.522 712466.657 0,
+ 1641878.851 717988.451 0, 1642169.214 718026.409 0, 1642458.278 718064.214 0, 1642747.34 718102.037 0, 1643036.399 718139.876 0, 1643325.457 718177.732 0, 1643614.512 718215.606 0, 1643903.565 718253.496 0, 1644192.616 718291.404 0, 1644481.665 718329.328 0,
+ 1644770.711 718367.269 0, 1645059.755 718405.228 0, 1645348.797 718443.203 0, 1645637.836 718481.196 0, 1645926.874 718519.205 0, 1646215.909 718557.232 0, 1646504.942 718595.275 0, 1646793.973 718633.336 0, 1647083.001 718671.413 0, 1647372.027 718709.508 0,
+ 1647661.051 718747.619 0, 1647950.073 718785.748 0, 1648239.092 718823.893 0, 1648528.11 718862.056 0, 1648815.829 718900.064 0, 1649106.137 718938.432 0, 1649395.148 718976.646 0, 1649684.156 719014.876 0, 1649973.162 719053.124 0, 1650262.166 719091.388 0,
+ 1650551.167 719129.67 0, 1650840.166 719167.969 0, 1651129.163 719206.284 0, 1651418.158 719244.617 0, 1651707.15 719282.967 0, 1651996.141 719321.334 0, 1652285.129 719359.717 0, 1652574.114 719398.118 0, 1652863.098 719436.536 0, 1653152.079 719474.97 0,
+ 1653441.058 719513.422 0, 1653730.034 719551.891 0, 1654019.009 719590.377 0, 1654307.981 719628.879 0, 1654596.951 719667.399 0, 1654885.918 719705.936 0, 1655174.883 719744.49 0, 1655463.846 719783.061 0, 1655751.513 719821.476 0, 1656488.782 714301.742 0,
+ 1657226.01 708782.312 0))
+
+POLYGON ((1669618.942 721693.685 0, 1669331.383 721654.457 0, 1669042.53 721615.07 0, 1668753.674 721575.7 0, 1668464.817 721536.347 0, 1668175.957 721497.011 0, 1667887.095 721457.692 0, 1667598.23 721418.39 0, 1667309.364 721379.105 0, 1667020.495 721339.837 0,
+ 1666731.623 721300.586 0, 1666442.749 721261.352 0, 1666153.873 721222.135 0, 1665864.995 721182.935 0, 1665576.114 721143.752 0, 1665287.231 721104.586 0, 1664998.346 721065.437 0, 1664709.459 721026.305 0, 1664420.569 720987.19 0, 1664131.677 720948.092 0,
+ 1663842.782 720909.011 0, 1663553.885 720869.947 0, 1663264.986 720830.9 0, 1662976.085 720791.871 0, 1662685.889 720752.683 0, 1662398.275 720713.862 0, 1662109.367 720674.883 0, 1661820.457 720635.921 0, 1661531.544 720596.976 0, 1661242.629 720558.048 0,
+ 1660953.711 720519.137 0, 1660664.791 720480.243 0, 1660375.869 720441.366 0, 1660086.945 720402.506 0, 1659798.019 720363.663 0, 1659509.09 720324.837 0, 1659220.159 720286.029 0, 1658931.225 720247.237 0, 1658642.29 720208.462 0, 1658353.352 720169.704 0,
+ 1658064.411 720130.963 0, 1657775.469 720092.239 0, 1657486.524 720053.532 0, 1657197.577 720014.842 0, 1656908.627 719976.17 0, 1656619.676 719937.514 0, 1656330.722 719898.875 0, 1656041.766 719860.253 0, 1655751.513 719821.476 0, 1655014.205 725341.509 0,
+ 1654276.856 730861.838 0, 1654566.456 730900.529 0, 1654854.762 730939.064 0, 1655143.066 730977.616 0, 1655431.368 731016.185 0, 1655719.668 731054.771 0, 1656007.965 731093.373 0, 1656296.26 731131.993 0, 1656584.553 731170.63 0, 1656872.843 731209.284 0,
+ 1657161.131 731247.954 0, 1657449.417 731286.642 0, 1657737.701 731325.347 0, 1658025.982 731364.068 0, 1658314.262 731402.807 0, 1658602.538 731441.563 0, 1658890.813 731480.335 0, 1659179.085 731519.125 0, 1659467.355 731557.931 0, 1659755.623 731596.754 0,
+ 1660043.888 731635.595 0, 1660332.151 731674.452 0, 1660620.412 731713.326 0, 1660908.671 731752.218 0, 1661195.638 731790.952 0, 1661485.181 731830.051 0, 1661773.433 731868.993 0, 1662061.682 731907.953 0, 1662349.929 731946.929 0, 1662638.174 731985.922 0,
+ 1662926.416 732024.932 0, 1663214.657 732063.959 0, 1663502.895 732103.003 0, 1663791.13 732142.064 0, 1664079.364 732181.142 0, 1664367.595 732220.237 0, 1664655.823 732259.348 0, 1664944.05 732298.477 0, 1665232.274 732337.623 0, 1665520.496 732376.786 0,
+ 1665808.715 732415.965 0, 1666096.932 732455.162 0, 1666385.147 732494.376 0, 1666673.36 732533.606 0, 1666961.57 732572.854 0, 1667249.778 732612.118 0, 1667537.983 732651.4 0, 1667826.187 732690.698 0, 1668113.1 732729.838 0, 1668866.041 727211.613 0,
+ 1669618.942 721693.685 0))
+
+POLYGON ((1681944.01 734636.92 0, 1681657.207 734596.969 0, 1681369.116 734556.857 0, 1681081.023 734516.761 0, 1680792.927 734476.683 0, 1680504.828 734436.621 0, 1680216.728 734396.576 0, 1679928.625 734356.549 0, 1679640.52 734316.538 0, 1679352.412 734276.544 0,
+ 1679064.302 734236.567 0, 1678776.19 734196.607 0, 1678488.075 734156.664 0, 1678199.958 734116.738 0, 1677911.838 734076.829 0, 1677623.717 734036.937 0, 1677335.593 733997.062 0, 1677047.466 733957.204 0, 1676759.337 733917.363 0, 1676471.206 733877.539 0,
+ 1676183.073 733837.731 0, 1675894.937 733797.941 0, 1675606.799 733758.168 0, 1675318.658 733718.411 0, 1675029.229 733678.494 0, 1674742.37 733638.949 0, 1674454.223 733599.244 0, 1674166.073 733559.555 0, 1673877.921 733519.884 0, 1673589.766 733480.229 0,
+ 1673301.609 733440.591 0, 1673013.45 733400.971 0, 1672725.288 733361.367 0, 1672437.125 733321.78 0, 1672148.958 733282.21 0, 1671860.79 733242.657 0, 1671572.619 733203.122 0, 1671284.446 733163.603 0, 1670996.27 733124.101 0, 1670708.093 733084.616 0,
+ 1670419.912 733045.148 0, 1670131.73 733005.696 0, 1669843.545 732966.262 0, 1669555.358 732926.845 0, 1669267.169 732887.445 0, 1668978.977 732848.062 0, 1668690.783 732808.695 0, 1668402.587 732769.346 0, 1668113.1 732729.838 0, 1667360.118 738248.355 0,
+ 1666607.097 743767.162 0, 1666895.932 743806.581 0, 1667183.478 743845.842 0, 1667471.023 743885.12 0, 1667758.565 743924.414 0, 1668046.105 743963.725 0, 1668333.642 744003.054 0, 1668621.178 744042.399 0, 1668908.71 744081.761 0, 1669196.241 744121.14 0,
+ 1669483.769 744160.536 0, 1669771.295 744199.949 0, 1670058.819 744239.379 0, 1670346.34 744278.826 0, 1670633.859 744318.29 0, 1670921.376 744357.77 0, 1671208.89 744397.268 0, 1671496.402 744436.782 0, 1671783.911 744476.314 0, 1672071.419 744515.862 0,
+ 1672358.924 744555.427 0, 1672646.426 744595.009 0, 1672933.927 744634.609 0, 1673221.425 744674.225 0, 1673507.637 744713.68 0, 1673796.414 744753.507 0, 1674083.905 744793.174 0, 1674371.393 744832.858 0, 1674658.88 744872.558 0, 1674946.364 744912.276 0,
+ 1675233.845 744952.01 0, 1675521.325 744991.762 0, 1675808.802 745031.53 0, 1676096.276 745071.315 0, 1676383.749 745111.117 0, 1676671.219 745150.937 0, 1676958.686 745190.773 0, 1677246.152 745230.625 0, 1677533.614 745270.495 0, 1677821.075 745310.382 0,
+ 1678108.533 745350.286 0, 1678395.989 745390.206 0, 1678683.443 745430.144 0, 1678970.894 745470.098 0, 1679258.343 745510.07 0, 1679545.789 745550.058 0, 1679833.233 745590.063 0, 1680120.675 745630.085 0, 1680406.832 745669.945 0, 1681175.441 740153.288 0,
+ 1681944.01 734636.92 0))
+
+POLYGON ((1694201.135 747611.708 0, 1693915.09 747571.039 0, 1693627.763 747530.205 0, 1693340.433 747489.388 0, 1693053.1 747448.587 0, 1692765.766 747407.804 0, 1692478.428 747367.038 0, 1692191.089 747326.288 0, 1691903.747 747285.556 0, 1691616.403 747244.84 0,
+ 1691329.056 747204.141 0, 1691041.707 747163.46 0, 1690754.355 747122.795 0, 1690467.001 747082.147 0, 1690179.645 747041.516 0, 1689892.286 747000.902 0, 1689604.925 746960.304 0, 1689317.562 746919.724 0, 1689030.196 746879.161 0, 1688742.828 746838.614 0,
+ 1688455.457 746798.085 0, 1688168.084 746757.572 0, 1687880.709 746717.076 0, 1687593.331 746676.597 0, 1687304.669 746635.955 0, 1687018.568 746595.69 0, 1686731.183 746555.262 0, 1686443.796 746514.851 0, 1686156.406 746474.457 0, 1685869.014 746434.08 0,
+ 1685581.62 746393.719 0, 1685294.223 746353.376 0, 1685006.824 746313.049 0, 1684719.422 746272.739 0, 1684432.018 746232.447 0, 1684144.612 746192.171 0, 1683857.203 746151.912 0, 1683569.792 746111.67 0, 1683282.379 746071.445 0, 1682994.963 746031.236 0,
+ 1682707.545 745991.045 0, 1682420.124 745950.871 0, 1682132.701 745910.713 0, 1681845.276 745870.573 0, 1681557.848 745830.449 0, 1681270.418 745790.343 0, 1680982.986 745750.253 0, 1680695.551 745710.18 0, 1680406.832 745669.945 0, 1679638.182 751186.889 0,
+ 1678869.494 756704.115 0, 1679157.561 756744.259 0, 1679444.346 756784.241 0, 1679731.129 756824.24 0, 1680017.91 756864.256 0, 1680304.688 756904.289 0, 1680591.464 756944.339 0, 1680878.237 756984.406 0, 1681165.008 757024.489 0, 1681451.777 757064.59 0,
+ 1681738.543 757104.707 0, 1682025.307 757144.841 0, 1682312.069 757184.992 0, 1682598.828 757225.16 0, 1682885.585 757265.345 0, 1683172.34 757305.547 0, 1683459.092 757345.766 0, 1683745.842 757386.001 0, 1684032.589 757426.253 0, 1684319.334 757466.523 0,
+ 1684606.077 757506.809 0, 1684892.818 757547.112 0, 1685179.555 757587.432 0, 1685466.291 757627.768 0, 1685751.746 757667.942 0, 1686039.755 757708.493 0, 1686326.484 757748.88 0, 1686613.21 757789.284 0, 1686899.933 757829.705 0, 1687186.655 757870.143 0,
+ 1687473.374 757910.598 0, 1687760.09 757951.07 0, 1688046.805 757991.559 0, 1688333.516 758032.064 0, 1688620.226 758072.586 0, 1688906.933 758113.126 0, 1689193.638 758153.682 0, 1689480.34 758194.255 0, 1689767.04 758234.845 0, 1690053.737 758275.451 0,
+ 1690340.432 758316.075 0, 1690627.125 758356.716 0, 1690913.815 758397.373 0, 1691200.503 758438.047 0, 1691487.189 758478.738 0, 1691773.872 758519.446 0, 1692060.553 758560.171 0, 1692347.231 758600.913 0, 1692632.63 758641.49 0, 1693416.903 753126.458 0,
+ 1694201.135 747611.708 0))
+
+POLYGON ((1380639.913 456620.136 0, 1380336.873 456597.845 0, 1380032.42 456575.468 0, 1379727.965 456553.109 0, 1379423.51 456530.768 0, 1379119.053 456508.445 0, 1378814.594 456486.14 0, 1378510.135 456463.852 0, 1378205.674 456441.583 0, 1377901.211 456419.332 0,
+ 1377596.748 456397.098 0, 1377292.283 456374.882 0, 1376987.817 456352.685 0, 1376683.349 456330.505 0, 1376378.88 456308.343 0, 1376074.41 456286.199 0, 1375769.939 456264.073 0, 1375465.466 456241.965 0, 1375160.992 456219.875 0, 1374856.517 456197.802 0,
+ 1374552.04 456175.748 0, 1374247.562 456153.712 0, 1373943.083 456131.693 0, 1373638.602 456109.693 0, 1373332.707 456087.608 0, 1373029.637 456065.745 0, 1372725.153 456043.798 0, 1372420.667 456021.869 0, 1372116.18 455999.958 0, 1371811.692 455978.065 0,
+ 1371507.202 455956.19 0, 1371202.712 455934.333 0, 1370898.219 455912.494 0, 1370593.726 455890.672 0, 1370289.231 455868.869 0, 1369984.735 455847.083 0, 1369680.238 455825.316 0, 1369375.739 455803.566 0, 1369071.24 455781.834 0, 1368766.739 455760.12 0,
+ 1368462.236 455738.425 0, 1368157.732 455716.747 0, 1367853.228 455695.086 0, 1367548.721 455673.444 0, 1367244.214 455651.82 0, 1366939.705 455630.214 0, 1366635.195 455608.625 0, 1366330.684 455587.055 0, 1366024.756 455565.402 0, 1365632.836 461105.122 0,
+ 1365240.885 466645.273 0, 1365546.158 466666.879 0, 1365850.017 466688.403 0, 1366153.875 466709.945 0, 1366457.731 466731.505 0, 1366761.587 466753.083 0, 1367065.441 466774.679 0, 1367369.294 466796.293 0, 1367673.145 466817.924 0, 1367976.995 466839.574 0,
+ 1368280.844 466861.241 0, 1368584.692 466882.926 0, 1368888.539 466904.629 0, 1369192.384 466926.35 0, 1369496.228 466948.089 0, 1369800.07 466969.846 0, 1370103.912 466991.621 0, 1370407.752 467013.413 0, 1370711.59 467035.224 0, 1371015.428 467057.052 0,
+ 1371319.264 467078.898 0, 1371623.099 467100.762 0, 1371926.933 467122.644 0, 1372230.765 467144.544 0, 1372533.185 467166.36 0, 1372838.426 467188.397 0, 1373142.254 467210.351 0, 1373446.081 467232.322 0, 1373749.907 467254.311 0, 1374053.732 467276.318 0,
+ 1374357.555 467298.343 0, 1374661.377 467320.386 0, 1374965.198 467342.447 0, 1375269.017 467364.526 0, 1375572.835 467386.622 0, 1375876.652 467408.737 0, 1376180.467 467430.869 0, 1376484.282 467453.019 0, 1376788.094 467475.187 0, 1377091.906 467497.373 0,
+ 1377395.716 467519.577 0, 1377699.525 467541.799 0, 1378003.333 467564.038 0, 1378307.139 467586.296 0, 1378610.944 467608.571 0, 1378914.748 467630.864 0, 1379218.55 467653.175 0, 1379522.351 467675.504 0, 1379824.742 467697.747 0, 1380232.343 462158.726 0,
+ 1380639.913 456620.136 0))
+
+POLYGON ((1394405.567 468791.42 0, 1394103.238 468768.323 0, 1393799.501 468745.135 0, 1393495.763 468721.966 0, 1393192.024 468698.815 0, 1392888.283 468675.681 0, 1392584.541 468652.565 0, 1392280.797 468629.468 0, 1391977.052 468606.388 0, 1391673.306 468583.326 0,
+ 1391369.558 468560.281 0, 1391065.809 468537.255 0, 1390762.059 468514.247 0, 1390458.307 468491.256 0, 1390154.554 468468.283 0, 1389850.799 468445.329 0, 1389547.044 468422.392 0, 1389243.286 468399.473 0, 1388939.528 468376.572 0, 1388635.768 468353.688 0,
+ 1388332.007 468330.823 0, 1388028.244 468307.975 0, 1387724.48 468285.146 0, 1387420.715 468262.334 0, 1387115.541 468239.435 0, 1386813.181 468216.764 0, 1386509.412 468194.006 0, 1386205.641 468171.266 0, 1385901.869 468148.543 0, 1385598.096 468125.839 0,
+ 1385294.321 468103.152 0, 1384990.545 468080.484 0, 1384686.768 468057.833 0, 1384382.989 468035.2 0, 1384079.209 468012.585 0, 1383775.428 467989.988 0, 1383471.646 467967.408 0, 1383167.862 467944.847 0, 1382864.076 467922.303 0, 1382560.29 467899.778 0,
+ 1382256.502 467877.27 0, 1381952.713 467854.78 0, 1381648.922 467832.308 0, 1381345.13 467809.854 0, 1381041.337 467787.417 0, 1380737.543 467764.999 0, 1380433.747 467742.599 0, 1380129.95 467720.216 0, 1379824.742 467697.747 0, 1379417.109 473237.197 0,
+ 1379009.445 478777.073 0, 1379313.998 478799.493 0, 1379617.143 478821.827 0, 1379920.287 478844.18 0, 1380223.429 478866.55 0, 1380526.57 478888.938 0, 1380829.71 478911.344 0, 1381132.848 478933.768 0, 1381435.986 478956.21 0, 1381739.121 478978.669 0,
+ 1382042.256 479001.147 0, 1382345.389 479023.642 0, 1382648.521 479046.155 0, 1382951.651 479068.686 0, 1383254.781 479091.234 0, 1383557.908 479113.801 0, 1383861.035 479136.385 0, 1384164.16 479158.987 0, 1384467.284 479181.607 0, 1384770.407 479204.245 0,
+ 1385073.528 479226.901 0, 1385376.648 479249.575 0, 1385679.766 479272.266 0, 1385982.883 479294.975 0, 1386284.594 479317.597 0, 1386589.114 479340.447 0, 1386892.227 479363.21 0, 1387195.339 479385.991 0, 1387498.449 479408.789 0, 1387801.559 479431.606 0,
+ 1388104.666 479454.44 0, 1388407.773 479477.292 0, 1388710.878 479500.162 0, 1389013.982 479523.049 0, 1389317.084 479545.955 0, 1389620.185 479568.878 0, 1389923.285 479591.819 0, 1390226.383 479614.778 0, 1390529.48 479637.755 0, 1390832.576 479660.75 0,
+ 1391135.67 479683.762 0, 1391438.763 479706.793 0, 1391741.855 479729.841 0, 1392044.945 479752.907 0, 1392348.034 479775.991 0, 1392651.122 479799.093 0, 1392954.208 479822.212 0, 1393257.293 479845.35 0, 1393558.973 479868.398 0, 1393982.286 474329.696 0,
+ 1394405.567 468791.42 0))
+
+POLYGON ((1408105.359 481000.824 0, 1407803.743 480976.923 0, 1407500.724 480952.93 0, 1407197.705 480928.954 0, 1406894.684 480904.996 0, 1406591.661 480881.056 0, 1406288.637 480857.134 0, 1405985.612 480833.229 0, 1405682.585 480809.343 0, 1405379.557 480785.474 0,
+ 1405076.528 480761.623 0, 1404773.497 480737.79 0, 1404470.465 480713.975 0, 1404167.431 480690.177 0, 1403864.396 480666.398 0, 1403561.359 480642.636 0, 1403258.321 480618.892 0, 1402955.282 480595.166 0, 1402652.241 480571.458 0, 1402349.199 480547.767 0,
+ 1402046.156 480524.095 0, 1401743.111 480500.44 0, 1401440.064 480476.803 0, 1401137.017 480453.184 0, 1400832.565 480429.474 0, 1400530.917 480405.999 0, 1400227.865 480382.434 0, 1399924.812 480358.886 0, 1399621.758 480335.356 0, 1399318.702 480311.844 0,
+ 1399015.644 480288.35 0, 1398712.586 480264.874 0, 1398409.525 480241.415 0, 1398106.464 480217.975 0, 1397803.401 480194.552 0, 1397500.337 480171.147 0, 1397197.271 480147.76 0, 1396894.204 480124.39 0, 1396591.136 480101.039 0, 1396288.066 480077.705 0,
+ 1395984.995 480054.389 0, 1395681.922 480031.091 0, 1395378.848 480007.811 0, 1395075.773 479984.549 0, 1394772.696 479961.304 0, 1394469.618 479938.078 0, 1394166.539 479914.869 0, 1393863.458 479891.678 0, 1393558.973 479868.398 0, 1393135.627 485407.522 0,
+ 1392712.249 490947.065 0, 1393016.08 490970.295 0, 1393318.508 490993.436 0, 1393620.936 491016.595 0, 1393923.362 491039.772 0, 1394225.786 491062.966 0, 1394528.209 491086.178 0, 1394830.631 491109.409 0, 1395133.052 491132.656 0, 1395435.471 491155.922 0,
+ 1395737.888 491179.205 0, 1396040.305 491202.507 0, 1396342.72 491225.826 0, 1396645.133 491249.163 0, 1396947.546 491272.517 0, 1397249.957 491295.89 0, 1397552.366 491319.28 0, 1397854.774 491342.688 0, 1398157.181 491366.114 0, 1398459.586 491389.557 0,
+ 1398761.99 491413.019 0, 1399064.393 491436.498 0, 1399366.794 491459.995 0, 1399669.194 491483.51 0, 1399970.193 491506.934 0, 1400273.989 491530.593 0, 1400576.385 491554.161 0, 1400878.779 491577.747 0, 1401181.172 491601.351 0, 1401483.564 491624.973 0,
+ 1401785.954 491648.612 0, 1402088.343 491672.269 0, 1402390.73 491695.944 0, 1402693.116 491719.637 0, 1402995.5 491743.348 0, 1403297.884 491767.076 0, 1403600.265 491790.822 0, 1403902.646 491814.586 0, 1404205.025 491838.368 0, 1404507.402 491862.168 0,
+ 1404809.778 491885.985 0, 1405112.153 491909.821 0, 1405414.526 491933.673 0, 1405716.898 491957.544 0, 1406019.269 491981.433 0, 1406321.638 492005.339 0, 1406624.006 492029.263 0, 1406926.372 492053.205 0, 1407227.339 492077.054 0, 1407666.365 486538.729 0,
+ 1408105.359 481000.824 0))
+
+POLYGON ((1421739.179 493248.047 0, 1421438.278 493223.348 0, 1421135.981 493198.552 0, 1420833.682 493173.773 0, 1420531.381 493149.013 0, 1420229.08 493124.27 0, 1419926.776 493099.545 0, 1419624.471 493074.838 0, 1419322.165 493050.149 0, 1419019.858 493025.477 0,
+ 1418717.548 493000.823 0, 1418415.238 492976.187 0, 1418112.926 492951.569 0, 1417810.612 492926.969 0, 1417508.298 492902.386 0, 1417205.981 492877.821 0, 1416903.663 492853.274 0, 1416601.344 492828.745 0, 1416299.023 492804.234 0, 1415996.701 492779.74 0,
+ 1415694.378 492755.264 0, 1415392.053 492730.806 0, 1415089.726 492706.366 0, 1414787.398 492681.943 0, 1414483.673 492657.426 0, 1414182.738 492633.152 0, 1413880.406 492608.783 0, 1413578.073 492584.431 0, 1413275.737 492560.098 0, 1412973.401 492535.782 0,
+ 1412671.063 492511.484 0, 1412368.724 492487.204 0, 1412066.383 492462.942 0, 1411764.041 492438.697 0, 1411461.697 492414.471 0, 1411159.352 492390.262 0, 1410857.006 492366.071 0, 1410554.658 492341.897 0, 1410252.308 492317.742 0, 1409949.958 492293.604 0,
+ 1409647.605 492269.484 0, 1409345.252 492245.382 0, 1409042.897 492221.298 0, 1408740.54 492197.231 0, 1408438.183 492173.182 0, 1408135.823 492149.151 0, 1407833.463 492125.138 0, 1407531.101 492101.143 0, 1407227.339 492077.054 0, 1406788.28 497615.796 0,
+ 1406349.188 503154.95 0, 1406652.294 503178.987 0, 1406954.004 503202.93 0, 1407255.713 503226.892 0, 1407557.42 503250.871 0, 1407859.126 503274.868 0, 1408160.83 503298.882 0, 1408462.533 503322.915 0, 1408764.235 503346.965 0, 1409065.935 503371.033 0,
+ 1409367.634 503395.119 0, 1409669.331 503419.222 0, 1409971.027 503443.343 0, 1410272.722 503467.482 0, 1410574.415 503491.639 0, 1410876.106 503515.813 0, 1411177.797 503540.006 0, 1411479.485 503564.216 0, 1411781.173 503588.443 0, 1412082.859 503612.689 0,
+ 1412384.543 503636.952 0, 1412686.226 503661.233 0, 1412987.908 503685.532 0, 1413289.588 503709.848 0, 1413589.873 503734.07 0, 1413892.944 503758.535 0, 1414194.62 503782.905 0, 1414496.295 503807.292 0, 1414797.968 503831.697 0, 1415099.64 503856.12 0,
+ 1415401.31 503880.561 0, 1415702.978 503905.02 0, 1416004.646 503929.496 0, 1416306.312 503953.99 0, 1416607.976 503978.502 0, 1416909.639 504003.032 0, 1417211.301 504027.579 0, 1417512.961 504052.144 0, 1417814.619 504076.727 0, 1418116.277 504101.328 0,
+ 1418417.932 504125.946 0, 1418719.587 504150.582 0, 1419021.24 504175.236 0, 1419322.891 504199.908 0, 1419624.541 504224.597 0, 1419926.189 504249.304 0, 1420227.836 504274.029 0, 1420529.482 504298.772 0, 1420829.734 504323.418 0, 1421284.473 498785.526 0,
+ 1421739.179 493248.047 0))
+
+POLYGON ((1435306.921 505532.791 0, 1435006.738 505507.296 0, 1434705.163 505481.702 0, 1434403.587 505456.125 0, 1434102.01 505430.565 0, 1433800.431 505405.024 0, 1433498.85 505379.5 0, 1433197.268 505353.994 0, 1432895.685 505328.506 0, 1432594.1 505303.035 0,
+ 1432292.513 505277.583 0, 1431990.925 505252.148 0, 1431689.336 505226.73 0, 1431387.745 505201.331 0, 1431086.152 505175.949 0, 1430784.558 505150.585 0, 1430482.963 505125.239 0, 1430181.366 505099.91 0, 1429879.767 505074.6 0, 1429578.168 505049.307 0,
+ 1429276.566 505024.031 0, 1428974.963 504998.774 0, 1428673.359 504973.534 0, 1428371.753 504948.312 0, 1428068.755 504922.992 0, 1427768.537 504897.921 0, 1427466.926 504872.753 0, 1427165.315 504847.602 0, 1426863.701 504822.469 0, 1426562.086 504797.353 0,
+ 1426260.47 504772.255 0, 1425958.852 504747.175 0, 1425657.233 504722.113 0, 1425355.613 504697.069 0, 1425053.99 504672.042 0, 1424752.367 504647.033 0, 1424450.742 504622.042 0, 1424149.115 504597.068 0, 1423847.487 504572.113 0, 1423545.858 504547.175 0,
+ 1423244.227 504522.255 0, 1422942.594 504497.352 0, 1422640.96 504472.467 0, 1422339.325 504447.6 0, 1422037.688 504422.751 0, 1421736.05 504397.92 0, 1421434.41 504373.106 0, 1421132.769 504348.31 0, 1420829.734 504323.418 0, 1420374.961 509861.72 0,
+ 1419920.154 515400.429 0, 1420222.534 515425.268 0, 1420523.523 515450.01 0, 1420824.511 515474.77 0, 1421125.497 515499.548 0, 1421426.482 515524.343 0, 1421727.466 515549.156 0, 1422028.448 515573.987 0, 1422329.428 515598.836 0, 1422630.407 515623.702 0,
+ 1422931.385 515648.586 0, 1423232.361 515673.488 0, 1423533.336 515698.408 0, 1423834.309 515723.345 0, 1424135.28 515748.3 0, 1424436.251 515773.272 0, 1424737.219 515798.263 0, 1425038.187 515823.271 0, 1425339.153 515848.296 0, 1425640.117 515873.34 0,
+ 1425941.08 515898.401 0, 1426242.041 515923.48 0, 1426543.001 515948.577 0, 1426843.959 515973.691 0, 1427143.528 515998.707 0, 1427445.872 516023.973 0, 1427746.826 516049.14 0, 1428047.778 516074.325 0, 1428348.729 516099.528 0, 1428649.679 516124.749 0,
+ 1428950.627 516149.987 0, 1429251.574 516175.243 0, 1429552.519 516200.517 0, 1429853.462 516225.808 0, 1430154.404 516251.118 0, 1430455.345 516276.445 0, 1430756.284 516301.789 0, 1431057.222 516327.151 0, 1431358.158 516352.531 0, 1431659.093 516377.929 0,
+ 1431960.026 516403.345 0, 1432260.957 516428.778 0, 1432561.888 516454.229 0, 1432862.816 516479.697 0, 1433163.743 516505.184 0, 1433464.669 516530.688 0, 1433765.593 516556.209 0, 1434066.516 516581.749 0, 1434366.05 516607.188 0, 1434836.503 511069.786 0,
+ 1435306.921 505532.791 0))
+
+POLYGON ((1448808.48 517854.755 0, 1448509.016 517828.469 0, 1448208.167 517802.079 0, 1447907.316 517775.708 0, 1447606.463 517749.354 0, 1447305.61 517723.017 0, 1447004.754 517696.699 0, 1446703.897 517670.398 0, 1446403.038 517644.114 0, 1446102.178 517617.849 0,
+ 1445801.317 517591.601 0, 1445500.453 517565.371 0, 1445199.588 517539.158 0, 1444898.722 517512.964 0, 1444597.854 517486.787 0, 1444296.985 517460.627 0, 1443996.114 517434.486 0, 1443695.241 517408.362 0, 1443394.367 517382.256 0, 1443093.492 517356.167 0,
+ 1442792.615 517330.097 0, 1442491.736 517304.044 0, 1442190.856 517278.008 0, 1441889.974 517251.991 0, 1441587.706 517225.871 0, 1441288.206 517200.009 0, 1440987.32 517174.044 0, 1440686.432 517148.097 0, 1440385.543 517122.168 0, 1440084.652 517096.257 0,
+ 1439783.76 517070.363 0, 1439482.866 517044.487 0, 1439181.97 517018.629 0, 1438881.073 516992.788 0, 1438580.175 516966.966 0, 1438279.275 516941.161 0, 1437978.373 516915.373 0, 1437677.47 516889.603 0, 1437376.566 516863.852 0, 1437075.66 516838.117 0,
+ 1436774.752 516812.401 0, 1436473.843 516786.702 0, 1436172.932 516761.021 0, 1435872.02 516735.357 0, 1435571.107 516709.712 0, 1435270.192 516684.084 0, 1434969.275 516658.473 0, 1434668.357 516632.881 0, 1434366.05 516607.188 0, 1433895.564 522144.994 0,
+ 1433425.043 527683.201 0, 1433726.694 527708.838 0, 1434026.96 527734.375 0, 1434327.225 527759.93 0, 1434627.488 527785.502 0, 1434927.75 527811.093 0, 1435228.01 527836.7 0, 1435528.269 527862.326 0, 1435828.526 527887.969 0, 1436128.782 527913.63 0,
+ 1436429.036 527939.308 0, 1436729.289 527965.005 0, 1437029.54 527990.718 0, 1437329.789 528016.45 0, 1437630.037 528042.199 0, 1437930.284 528067.966 0, 1438230.529 528093.751 0, 1438530.773 528119.553 0, 1438831.015 528145.373 0, 1439131.255 528171.21 0,
+ 1439431.494 528197.066 0, 1439731.732 528222.938 0, 1440031.968 528248.829 0, 1440332.202 528274.737 0, 1440631.053 528300.544 0, 1440932.667 528326.607 0, 1441232.896 528352.568 0, 1441533.125 528378.547 0, 1441833.352 528404.543 0, 1442133.577 528430.558 0,
+ 1442433.801 528456.59 0, 1442734.023 528482.639 0, 1443034.243 528508.707 0, 1443334.463 528534.792 0, 1443634.68 528560.894 0, 1443934.896 528587.014 0, 1444235.111 528613.152 0, 1444535.324 528639.308 0, 1444835.535 528665.481 0, 1445135.745 528691.672 0,
+ 1445435.954 528717.881 0, 1445736.16 528744.107 0, 1446036.366 528770.351 0, 1446336.569 528796.613 0, 1446636.772 528822.892 0, 1446936.972 528849.189 0, 1447237.171 528875.504 0, 1447537.369 528901.836 0, 1447836.184 528928.065 0, 1448322.349 523391.209 0,
+ 1448808.48 517854.755 0))
+
+POLYGON ((1462243.751 530213.638 0, 1461945.009 530186.565 0, 1461644.887 530159.385 0, 1461344.763 530132.222 0, 1461044.638 530105.077 0, 1460744.511 530077.95 0, 1460444.383 530050.84 0, 1460144.253 530023.748 0, 1459844.122 529996.673 0, 1459543.988 529969.617 0,
+ 1459243.854 529942.578 0, 1458943.717 529915.556 0, 1458643.579 529888.553 0, 1458343.44 529861.567 0, 1458043.299 529834.598 0, 1457743.156 529807.648 0, 1457443.012 529780.715 0, 1457142.866 529753.799 0, 1456842.719 529726.902 0, 1456542.57 529700.022 0,
+ 1456242.419 529673.159 0, 1455942.267 529646.315 0, 1455642.113 529619.488 0, 1455341.958 529592.678 0, 1455040.421 529565.763 0, 1454741.643 529539.112 0, 1454441.483 529512.356 0, 1454141.321 529485.617 0, 1453841.158 529458.896 0, 1453540.993 529432.193 0,
+ 1453240.827 529405.507 0, 1452940.659 529378.839 0, 1452640.489 529352.189 0, 1452340.318 529325.556 0, 1452040.146 529298.941 0, 1451739.971 529272.344 0, 1451439.796 529245.764 0, 1451139.618 529219.202 0, 1450839.439 529192.658 0, 1450539.259 529166.131 0,
+ 1450239.077 529139.622 0, 1449938.893 529113.131 0, 1449638.708 529086.657 0, 1449338.522 529060.201 0, 1449038.333 529033.763 0, 1448738.144 529007.342 0, 1448437.952 528980.939 0, 1448137.759 528954.554 0, 1447836.184 528928.065 0, 1447349.983 534465.318 0,
+ 1446863.748 540002.966 0, 1447164.669 540029.397 0, 1447464.21 540055.725 0, 1447763.749 540082.071 0, 1448063.287 540108.434 0, 1448362.824 540134.815 0, 1448662.359 540161.214 0, 1448961.892 540187.63 0, 1449261.424 540214.064 0, 1449560.954 540240.515 0,
+ 1449860.482 540266.984 0, 1450160.01 540293.471 0, 1450459.535 540319.976 0, 1450759.059 540346.497 0, 1451058.581 540373.037 0, 1451358.102 540399.594 0, 1451657.621 540426.169 0, 1451957.139 540452.762 0, 1452256.655 540479.372 0, 1452556.17 540506 0,
+ 1452855.683 540532.645 0, 1453155.194 540559.308 0, 1453454.704 540585.989 0, 1453754.212 540612.687 0, 1454052.342 540639.28 0, 1454353.224 540666.136 0, 1454652.728 540692.887 0, 1454952.23 540719.656 0, 1455251.73 540746.442 0, 1455551.229 540773.246 0,
+ 1455850.726 540800.068 0, 1456150.222 540826.907 0, 1456449.716 540853.764 0, 1456749.209 540880.639 0, 1457048.7 540907.531 0, 1457348.189 540934.441 0, 1457647.677 540961.368 0, 1457947.163 540988.313 0, 1458246.647 541015.276 0, 1458546.13 541042.256 0,
+ 1458845.612 541069.254 0, 1459145.092 541096.27 0, 1459444.57 541123.303 0, 1459744.047 541150.354 0, 1460043.522 541177.422 0, 1460342.995 541204.508 0, 1460642.467 541231.612 0, 1460941.937 541258.733 0, 1461240.03 541285.748 0, 1461741.909 535749.495 0,
+ 1462243.751 530213.638 0))
+
+POLYGON ((1475612.631 542609.139 0, 1475314.613 542581.283 0, 1475015.221 542553.316 0, 1474715.827 542525.366 0, 1474416.431 542497.434 0, 1474117.033 542469.52 0, 1473817.634 542441.623 0, 1473518.234 542413.744 0, 1473218.831 542385.882 0, 1472919.427 542358.038 0,
+ 1472620.022 542330.212 0, 1472320.615 542302.403 0, 1472021.206 542274.612 0, 1471721.795 542246.839 0, 1471422.383 542219.083 0, 1471122.969 542191.345 0, 1470823.554 542163.624 0, 1470524.137 542135.921 0, 1470224.718 542108.236 0, 1469925.298 542080.568 0,
+ 1469625.876 542052.918 0, 1469326.453 542025.286 0, 1469027.027 541997.671 0, 1468727.601 541970.074 0, 1468426.798 541942.368 0, 1468128.742 541914.932 0, 1467829.311 541887.388 0, 1467529.877 541859.861 0, 1467230.442 541832.352 0, 1466931.006 541804.861 0,
+ 1466631.568 541777.387 0, 1466332.128 541749.931 0, 1466032.687 541722.492 0, 1465733.244 541695.071 0, 1465433.799 541667.668 0, 1465134.353 541640.282 0, 1464834.905 541612.914 0, 1464535.456 541585.564 0, 1464236.005 541558.231 0, 1463936.552 541530.916 0,
+ 1463637.098 541503.618 0, 1463337.642 541476.338 0, 1463038.184 541449.076 0, 1462738.725 541421.831 0, 1462439.265 541394.604 0, 1462139.802 541367.395 0, 1461840.338 541340.203 0, 1461540.873 541313.029 0, 1461240.03 541285.748 0, 1460738.117 546822.391 0,
+ 1460236.168 552359.423 0, 1460536.356 552386.645 0, 1460835.17 552413.76 0, 1461133.982 552440.892 0, 1461432.792 552468.043 0, 1461731.601 552495.211 0, 1462030.408 552522.396 0, 1462329.214 552549.599 0, 1462628.018 552576.819 0, 1462926.821 552604.058 0,
+ 1463225.622 552631.313 0, 1463524.421 552658.587 0, 1463823.219 552685.878 0, 1464122.015 552713.186 0, 1464420.809 552740.512 0, 1464719.602 552767.856 0, 1465018.393 552795.217 0, 1465317.183 552822.596 0, 1465615.971 552849.992 0, 1465914.757 552877.406 0,
+ 1466213.542 552904.838 0, 1466512.326 552932.287 0, 1466811.107 552959.754 0, 1467109.887 552987.238 0, 1467407.294 553014.614 0, 1467707.442 553042.26 0, 1468006.217 553069.797 0, 1468304.991 553097.352 0, 1468603.763 553124.924 0, 1468902.533 553152.514 0,
+ 1469201.301 553180.121 0, 1469500.068 553207.746 0, 1469798.834 553235.389 0, 1470097.598 553263.049 0, 1470396.36 553290.727 0, 1470695.12 553318.422 0, 1470993.879 553346.135 0, 1471292.636 553373.866 0, 1471591.392 553401.614 0, 1471890.146 553429.38 0,
+ 1472188.898 553457.163 0, 1472487.649 553484.964 0, 1472786.398 553512.783 0, 1473085.145 553540.619 0, 1473383.891 553568.472 0, 1473682.635 553596.343 0, 1473981.377 553624.232 0, 1474280.118 553652.139 0, 1474577.488 553679.935 0, 1475095.078 548144.343 0,
+ 1475612.631 542609.139 0))
+
+POLYGON ((1488915.019 555040.958 0, 1488617.727 555012.322 0, 1488319.067 554983.571 0, 1488020.404 554954.839 0, 1487721.74 554926.124 0, 1487423.074 554897.426 0, 1487124.406 554868.746 0, 1486825.737 554840.084 0, 1486527.066 554811.439 0, 1486228.394 554782.812 0,
+ 1485929.719 554754.202 0, 1485631.043 554725.61 0, 1485332.366 554697.035 0, 1485033.686 554668.479 0, 1484735.005 554639.939 0, 1484436.323 554611.417 0, 1484137.638 554582.913 0, 1483838.952 554554.427 0, 1483540.264 554525.958 0, 1483241.575 554497.506 0,
+ 1482942.884 554469.072 0, 1482644.191 554440.656 0, 1482345.497 554412.257 0, 1482046.8 554383.876 0, 1481746.734 554355.383 0, 1481449.403 554327.167 0, 1481150.702 554298.839 0, 1480851.999 554270.528 0, 1480553.295 554242.235 0, 1480254.589 554213.959 0,
+ 1479955.881 554185.701 0, 1479657.171 554157.46 0, 1479358.46 554129.238 0, 1479059.748 554101.032 0, 1478761.033 554072.845 0, 1478462.317 554044.674 0, 1478163.599 554016.522 0, 1477864.88 553988.387 0, 1477566.159 553960.269 0, 1477267.436 553932.17 0,
+ 1476968.712 553904.087 0, 1476669.986 553876.023 0, 1476371.258 553847.976 0, 1476072.529 553819.946 0, 1475773.798 553791.934 0, 1475475.065 553763.94 0, 1475176.331 553735.963 0, 1474877.595 553708.004 0, 1474577.488 553679.935 0, 1474059.862 559215.911 0,
+ 1473542.2 564752.27 0, 1473841.653 564780.279 0, 1474139.737 564808.177 0, 1474437.82 564836.093 0, 1474735.901 564864.026 0, 1475033.98 564891.977 0, 1475332.058 564919.945 0, 1475630.134 564947.931 0, 1475928.208 564975.934 0, 1476226.281 565003.955 0,
+ 1476524.352 565031.994 0, 1476822.421 565060.05 0, 1477120.489 565088.123 0, 1477418.555 565116.215 0, 1477716.619 565144.323 0, 1478014.682 565172.449 0, 1478312.743 565200.593 0, 1478610.803 565228.754 0, 1478908.861 565256.933 0, 1479206.917 565285.13 0,
+ 1479504.971 565313.344 0, 1479803.024 565341.575 0, 1480101.075 565369.824 0, 1480399.125 565398.091 0, 1480695.807 565426.245 0, 1480995.219 565454.677 0, 1481293.263 565482.996 0, 1481591.306 565511.332 0, 1481889.347 565539.687 0, 1482187.387 565568.059 0,
+ 1482485.425 565596.448 0, 1482783.461 565624.855 0, 1483081.495 565653.279 0, 1483379.528 565681.721 0, 1483677.559 565710.181 0, 1483975.589 565738.658 0, 1484273.616 565767.152 0, 1484571.643 565795.665 0, 1484869.667 565824.194 0, 1485167.69 565852.742 0,
+ 1485465.711 565881.306 0, 1485763.73 565909.889 0, 1486061.748 565938.488 0, 1486359.764 565967.106 0, 1486657.778 565995.741 0, 1486955.791 566024.393 0, 1487253.802 566053.063 0, 1487551.811 566081.751 0, 1487848.455 566110.325 0, 1488381.756 560575.45 0,
+ 1488915.019 555040.958 0))
+
+POLYGON ((1502150.815 567508.791 0, 1501854.251 567479.379 0, 1501556.324 567449.85 0, 1501258.396 567420.338 0, 1500960.465 567390.844 0, 1500662.533 567361.367 0, 1500364.599 567331.908 0, 1500066.663 567302.466 0, 1499768.726 567273.042 0, 1499470.787 567243.635 0,
+ 1499172.846 567214.246 0, 1498874.903 567184.875 0, 1498576.959 567155.521 0, 1498279.012 567126.184 0, 1497981.065 567096.865 0, 1497683.115 567067.564 0, 1497385.164 567038.28 0, 1497087.211 567009.014 0, 1496789.256 566979.765 0, 1496491.3 566950.533 0,
+ 1496193.342 566921.32 0, 1495895.382 566892.124 0, 1495597.42 566862.945 0, 1495299.457 566833.784 0, 1495000.129 566804.507 0, 1494703.525 566775.514 0, 1494405.556 566746.406 0, 1494107.586 566717.315 0, 1493809.614 566688.241 0, 1493511.641 566659.185 0,
+ 1493213.666 566630.147 0, 1492915.689 566601.126 0, 1492617.71 566572.123 0, 1492319.729 566543.137 0, 1492021.747 566514.169 0, 1491723.763 566485.218 0, 1491425.778 566456.285 0, 1491127.791 566427.37 0, 1490829.802 566398.472 0, 1490531.811 566369.591 0,
+ 1490233.819 566340.728 0, 1489935.825 566311.883 0, 1489637.829 566283.055 0, 1489339.831 566254.245 0, 1489041.832 566225.452 0, 1488743.831 566196.677 0, 1488445.829 566167.919 0, 1488147.825 566139.179 0, 1487848.455 566110.325 0, 1487315.118 571645.578 0,
+ 1486781.744 577181.207 0, 1487080.459 577209.998 0, 1487377.812 577238.675 0, 1487675.163 577267.37 0, 1487972.512 577296.082 0, 1488269.86 577324.812 0, 1488567.206 577353.559 0, 1488864.55 577382.324 0, 1489161.892 577411.106 0, 1489459.233 577439.906 0,
+ 1489756.572 577468.724 0, 1490053.909 577497.559 0, 1490351.245 577526.411 0, 1490648.579 577555.281 0, 1490945.911 577584.168 0, 1491243.242 577613.073 0, 1491540.571 577641.995 0, 1491837.898 577670.935 0, 1492135.223 577699.892 0, 1492432.547 577728.867 0,
+ 1492729.869 577757.86 0, 1493027.19 577786.87 0, 1493324.508 577815.897 0, 1493621.825 577844.942 0, 1493917.781 577873.871 0, 1494216.454 577903.084 0, 1494513.766 577932.181 0, 1494811.076 577961.296 0, 1495108.384 577990.428 0, 1495405.691 578019.578 0,
+ 1495702.996 578048.746 0, 1496000.299 578077.931 0, 1496297.601 578107.133 0, 1496594.9 578136.353 0, 1496892.198 578165.59 0, 1497189.495 578194.845 0, 1497486.789 578224.117 0, 1497784.082 578253.407 0, 1498081.373 578282.714 0, 1498378.663 578312.039 0,
+ 1498675.951 578341.382 0, 1498973.237 578370.741 0, 1499270.521 578400.119 0, 1499567.803 578429.513 0, 1499865.084 578458.926 0, 1500162.363 578488.356 0, 1500459.641 578517.803 0, 1500756.916 578547.268 0, 1501052.832 578576.615 0, 1501601.842 573042.515 0,
+ 1502150.815 567508.791 0))
+
+POLYGON ((1515319.92 580012.337 0, 1515024.086 579982.153 0, 1514726.895 579951.849 0, 1514429.702 579921.562 0, 1514132.508 579891.292 0, 1513835.311 579861.04 0, 1513538.113 579830.805 0, 1513240.913 579800.588 0, 1512943.711 579770.389 0, 1512646.507 579740.207 0,
+ 1512349.302 579710.042 0, 1512052.095 579679.895 0, 1511754.886 579649.765 0, 1511457.675 579619.653 0, 1511160.462 579589.558 0, 1510863.248 579559.481 0, 1510566.032 579529.422 0, 1510268.814 579499.379 0, 1509971.595 579469.355 0, 1509674.373 579439.348 0,
+ 1509377.15 579409.358 0, 1509079.925 579379.386 0, 1508782.699 579349.431 0, 1508485.47 579319.494 0, 1508186.883 579289.438 0, 1507891.008 579259.672 0, 1507593.774 579229.787 0, 1507296.539 579199.92 0, 1506999.302 579170.07 0, 1506702.063 579140.238 0,
+ 1506404.822 579110.423 0, 1506107.58 579080.626 0, 1505810.335 579050.846 0, 1505513.089 579021.084 0, 1505215.842 578991.339 0, 1504918.592 578961.612 0, 1504621.341 578931.902 0, 1504324.088 578902.21 0, 1504026.833 578872.535 0, 1503729.577 578842.878 0,
+ 1503432.319 578813.238 0, 1503135.059 578783.616 0, 1502837.797 578754.011 0, 1502540.533 578724.424 0, 1502243.268 578694.854 0, 1501946.001 578665.302 0, 1501648.733 578635.767 0, 1501351.462 578606.25 0, 1501052.832 578576.615 0, 1500503.784 584111.088 0,
+ 1499954.7 589645.929 0, 1500252.676 589675.499 0, 1500549.295 589704.952 0, 1500845.912 589734.422 0, 1501142.528 589763.909 0, 1501439.141 589793.414 0, 1501735.753 589822.937 0, 1502032.364 589852.476 0, 1502328.972 589882.034 0, 1502625.579 589911.609 0,
+ 1502922.184 589941.201 0, 1503218.787 589970.811 0, 1503515.389 590000.438 0, 1503811.988 590030.082 0, 1504108.586 590059.745 0, 1504405.183 590089.424 0, 1504701.777 590119.121 0, 1504998.37 590148.836 0, 1505294.961 590178.568 0, 1505591.55 590208.317 0,
+ 1505888.138 590238.084 0, 1506184.723 590267.868 0, 1506481.307 590297.67 0, 1506777.89 590327.489 0, 1507073.116 590357.189 0, 1507371.049 590387.18 0, 1507667.626 590417.051 0, 1507964.201 590446.94 0, 1508260.775 590476.847 0, 1508557.346 590506.771 0,
+ 1508853.916 590536.712 0, 1509150.485 590566.671 0, 1509447.051 590596.647 0, 1509743.616 590626.641 0, 1510040.178 590656.652 0, 1510336.74 590686.681 0, 1510633.299 590716.727 0, 1510929.857 590746.791 0, 1511226.412 590776.872 0, 1511522.966 590806.97 0,
+ 1511819.519 590837.086 0, 1512116.069 590867.22 0, 1512412.618 590897.371 0, 1512709.165 590927.539 0, 1513005.71 590957.725 0, 1513302.253 590987.928 0, 1513598.795 591018.149 0, 1513895.335 591048.387 0, 1514190.52 591078.504 0, 1514755.239 585545.236 0,
+ 1515319.92 580012.337 0))
+
+POLYGON ((1528422.236 592551.292 0, 1528127.135 592520.341 0, 1527830.681 592489.265 0, 1527534.226 592458.207 0, 1527237.77 592427.166 0, 1526941.311 592396.142 0, 1526644.85 592365.136 0, 1526348.388 592334.148 0, 1526051.924 592303.177 0, 1525755.458 592272.223 0,
+ 1525458.99 592241.287 0, 1525162.52 592210.368 0, 1524866.049 592179.467 0, 1524569.575 592148.583 0, 1524273.1 592117.716 0, 1523976.623 592086.867 0, 1523680.145 592056.036 0, 1523383.664 592025.222 0, 1523087.182 591994.425 0, 1522790.698 591963.646 0,
+ 1522494.212 591932.884 0, 1522197.724 591902.14 0, 1521901.234 591871.413 0, 1521604.743 591840.704 0, 1521306.898 591809.872 0, 1521011.755 591779.338 0, 1520715.258 591748.681 0, 1520418.759 591718.041 0, 1520122.259 591687.419 0, 1519825.756 591656.815 0,
+ 1519529.252 591626.227 0, 1519232.747 591595.658 0, 1518936.239 591565.105 0, 1518639.73 591534.57 0, 1518343.218 591504.053 0, 1518046.705 591473.553 0, 1517750.19 591443.071 0, 1517453.674 591412.606 0, 1517157.155 591382.158 0, 1516860.635 591351.728 0,
+ 1516564.113 591321.315 0, 1516267.589 591290.92 0, 1515971.064 591260.542 0, 1515674.537 591230.182 0, 1515378.007 591199.839 0, 1515081.476 591169.514 0, 1514784.944 591139.206 0, 1514488.409 591108.915 0, 1514190.52 591078.504 0, 1513625.764 596612.139 0,
+ 1513060.971 602146.136 0, 1513358.205 602176.48 0, 1513654.089 602206.704 0, 1513949.97 602236.946 0, 1514245.849 602267.204 0, 1514541.727 602297.481 0, 1514837.603 602327.774 0, 1515133.477 602358.085 0, 1515429.35 602388.414 0, 1515725.22 602418.759 0,
+ 1516021.089 602449.123 0, 1516316.956 602479.503 0, 1516612.821 602509.902 0, 1516908.685 602540.317 0, 1517204.546 602570.75 0, 1517500.406 602601.2 0, 1517796.264 602631.668 0, 1518092.121 602662.153 0, 1518387.975 602692.656 0, 1518683.828 602723.176 0,
+ 1518979.679 602753.713 0, 1519275.528 602784.268 0, 1519571.375 602814.84 0, 1519867.221 602845.43 0, 1520161.716 602875.897 0, 1520458.906 602906.661 0, 1520754.746 602937.303 0, 1521050.585 602967.963 0, 1521346.421 602998.639 0, 1521642.256 603029.333 0,
+ 1521938.089 603060.045 0, 1522233.92 603090.774 0, 1522529.749 603121.52 0, 1522825.576 603152.284 0, 1523121.402 603183.065 0, 1523417.226 603213.864 0, 1523713.048 603244.68 0, 1524008.868 603275.513 0, 1524304.687 603306.364 0, 1524600.503 603337.232 0,
+ 1524896.318 603368.118 0, 1525192.131 603399.021 0, 1525487.942 603429.941 0, 1525783.751 603460.879 0, 1526079.559 603491.835 0, 1526375.364 603522.807 0, 1526671.168 603553.797 0, 1526966.97 603584.805 0, 1527261.423 603615.689 0, 1527841.849 598083.309 0,
+ 1528422.236 592551.292 0))
+
+POLYGON ((1541457.667 605125.354 0, 1541163.3 605093.639 0, 1540867.587 605061.795 0, 1540571.872 605029.97 0, 1540276.155 604998.162 0, 1539980.436 604966.371 0, 1539684.715 604934.597 0, 1539388.993 604902.841 0, 1539093.268 604871.102 0, 1538797.542 604839.381 0,
+ 1538501.814 604807.677 0, 1538206.084 604775.991 0, 1537910.352 604744.322 0, 1537614.618 604712.67 0, 1537318.882 604681.036 0, 1537023.145 604649.419 0, 1536727.406 604617.82 0, 1536431.664 604586.238 0, 1536135.921 604554.673 0, 1535840.176 604523.126 0,
+ 1535544.43 604491.596 0, 1535248.681 604460.084 0, 1534952.93 604428.589 0, 1534657.178 604397.111 0, 1534360.078 604365.508 0, 1534065.668 604334.208 0, 1533769.91 604302.783 0, 1533474.15 604271.375 0, 1533178.389 604239.985 0, 1532882.625 604208.611 0,
+ 1532586.86 604177.256 0, 1532291.093 604145.917 0, 1531995.324 604114.597 0, 1531699.553 604083.293 0, 1531403.78 604052.007 0, 1531108.006 604020.738 0, 1530812.229 603989.487 0, 1530516.451 603958.253 0, 1530220.671 603927.037 0, 1529924.889 603895.838 0,
+ 1529629.106 603864.656 0, 1529333.32 603833.492 0, 1529037.533 603802.345 0, 1528741.744 603771.216 0, 1528445.953 603740.104 0, 1528150.16 603709.009 0, 1527854.365 603677.932 0, 1527558.569 603646.872 0, 1527261.423 603615.689 0, 1526680.96 609148.428 0,
+ 1526100.459 614681.523 0, 1526396.95 614712.638 0, 1526692.096 614743.63 0, 1526987.239 614774.638 0, 1527282.381 614805.665 0, 1527577.52 614836.708 0, 1527872.658 614867.769 0, 1528167.794 614898.847 0, 1528462.929 614929.943 0, 1528758.061 614961.056 0,
+ 1529053.192 614992.186 0, 1529348.32 615023.334 0, 1529643.447 615054.499 0, 1529938.572 615085.681 0, 1530233.696 615116.881 0, 1530528.817 615148.098 0, 1530823.937 615179.333 0, 1531119.054 615210.585 0, 1531414.17 615241.854 0, 1531709.284 615273.141 0,
+ 1532004.396 615304.445 0, 1532299.507 615335.766 0, 1532594.615 615367.105 0, 1532889.722 615398.461 0, 1533183.484 615429.692 0, 1533479.93 615461.225 0, 1533775.031 615492.634 0, 1534070.13 615524.059 0, 1534365.228 615555.502 0, 1534660.323 615586.963 0,
+ 1534955.417 615618.44 0, 1535250.509 615649.935 0, 1535545.599 615681.448 0, 1535840.687 615712.978 0, 1536135.773 615744.525 0, 1536430.858 615776.09 0, 1536725.94 615807.672 0, 1537021.021 615839.271 0, 1537316.1 615870.887 0, 1537611.177 615902.522 0,
+ 1537906.252 615934.173 0, 1538201.325 615965.842 0, 1538496.397 615997.528 0, 1538791.466 616029.231 0, 1539086.534 616060.952 0, 1539381.6 616092.69 0, 1539676.664 616124.446 0, 1539971.726 616156.219 0, 1540265.445 616187.865 0, 1540861.575 610656.431 0,
+ 1541457.667 605125.354 0))
+
+POLYGON ((1554426.118 617734.219 0, 1554132.488 617701.743 0, 1553837.516 617669.137 0, 1553542.543 617636.548 0, 1553247.568 617603.976 0, 1552952.592 617571.422 0, 1552657.613 617538.885 0, 1552362.632 617506.365 0, 1552067.649 617473.863 0, 1551772.665 617441.378 0,
+ 1551477.678 617408.91 0, 1551182.69 617376.46 0, 1550887.7 617344.027 0, 1550592.707 617311.612 0, 1550297.713 617279.214 0, 1550002.717 617246.833 0, 1549707.719 617214.469 0, 1549412.72 617182.123 0, 1549117.718 617149.795 0, 1548822.714 617117.483 0,
+ 1548527.709 617085.19 0, 1548232.701 617052.913 0, 1547937.692 617020.654 0, 1547642.681 616988.412 0, 1547346.327 616956.041 0, 1547052.653 616923.98 0, 1546757.636 616891.791 0, 1546462.617 616859.618 0, 1546167.596 616827.463 0, 1545872.574 616795.326 0,
+ 1545577.549 616763.205 0, 1545282.523 616731.102 0, 1544987.495 616699.017 0, 1544692.464 616666.949 0, 1544397.432 616634.898 0, 1544102.398 616602.864 0, 1543807.363 616570.848 0, 1543512.325 616538.849 0, 1543217.285 616506.868 0, 1542922.244 616474.904 0,
+ 1542627.201 616442.957 0, 1542332.155 616411.028 0, 1542037.108 616379.116 0, 1541742.059 616347.222 0, 1541447.008 616315.344 0, 1541151.956 616283.485 0, 1540856.901 616251.642 0, 1540561.845 616219.817 0, 1540265.445 616187.865 0, 1539669.276 621719.651 0,
+ 1539073.07 627251.788 0, 1539368.816 627283.67 0, 1539663.221 627315.425 0, 1539957.625 627347.197 0, 1540252.026 627378.986 0, 1540546.426 627410.793 0, 1540840.824 627442.617 0, 1541135.22 627474.459 0, 1541429.614 627506.318 0, 1541724.006 627538.194 0,
+ 1542018.396 627570.087 0, 1542312.785 627601.998 0, 1542607.171 627633.926 0, 1542901.556 627665.872 0, 1543195.939 627697.834 0, 1543490.319 627729.814 0, 1543784.698 627761.812 0, 1544079.076 627793.827 0, 1544373.451 627825.859 0, 1544667.824 627857.908 0,
+ 1544962.196 627889.975 0, 1545256.565 627922.059 0, 1545550.933 627954.16 0, 1545845.299 627986.279 0, 1546138.325 628018.269 0, 1546434.025 628050.568 0, 1546728.385 628082.739 0, 1547022.743 628114.927 0, 1547317.099 628147.132 0, 1547611.454 628179.355 0,
+ 1547905.806 628211.595 0, 1548200.157 628243.852 0, 1548494.506 628276.127 0, 1548788.853 628308.419 0, 1549083.198 628340.728 0, 1549377.541 628373.055 0, 1549671.882 628405.399 0, 1549966.221 628437.76 0, 1550260.558 628470.139 0, 1550554.894 628502.534 0,
+ 1550849.227 628534.948 0, 1551143.559 628567.378 0, 1551437.889 628599.826 0, 1551732.216 628632.291 0, 1552026.542 628664.774 0, 1552320.866 628697.274 0, 1552615.188 628729.791 0, 1552909.508 628762.325 0, 1553202.491 628794.729 0, 1553814.324 623264.299 0,
+ 1554426.118 617734.219 0))
+
+POLYGON ((1567327.496 630377.583 0, 1567034.604 630344.351 0, 1566740.377 630310.985 0, 1566446.148 630277.636 0, 1566151.917 630244.305 0, 1565857.684 630210.991 0, 1565563.449 630177.695 0, 1565269.212 630144.415 0, 1564974.973 630111.153 0, 1564680.733 630077.909 0,
+ 1564386.49 630044.681 0, 1564092.245 630011.471 0, 1563797.998 629978.279 0, 1563503.75 629945.103 0, 1563209.499 629911.945 0, 1562915.247 629878.805 0, 1562620.992 629845.681 0, 1562326.736 629812.575 0, 1562032.478 629779.486 0, 1561738.217 629746.415 0,
+ 1561443.955 629713.361 0, 1561149.691 629680.324 0, 1560855.425 629647.304 0, 1560561.157 629614.302 0, 1560265.552 629581.168 0, 1559972.615 629548.35 0, 1559678.341 629515.4 0, 1559384.065 629482.467 0, 1559089.787 629449.551 0, 1558795.508 629416.653 0,
+ 1558501.226 629383.772 0, 1558206.942 629350.908 0, 1557912.657 629318.062 0, 1557618.369 629285.233 0, 1557324.08 629252.421 0, 1557029.789 629219.627 0, 1556735.496 629186.85 0, 1556441.2 629154.09 0, 1556146.903 629121.348 0, 1555852.604 629088.623 0,
+ 1555558.303 629055.915 0, 1555264.001 629023.225 0, 1554969.696 628990.552 0, 1554675.389 628957.896 0, 1554381.08 628925.258 0, 1554086.77 628892.637 0, 1553792.457 628860.033 0, 1553498.143 628827.446 0, 1553202.491 628794.729 0, 1552590.619 634325.506 0,
+ 1551978.71 639856.626 0, 1552273.708 639889.271 0, 1552567.372 639921.785 0, 1552861.033 639954.317 0, 1553154.693 639986.866 0, 1553448.35 640019.432 0, 1553742.006 640052.015 0, 1554035.659 640084.616 0, 1554329.311 640117.234 0, 1554622.961 640149.87 0,
+ 1554916.609 640182.522 0, 1555210.255 640215.192 0, 1555503.899 640247.879 0, 1555797.542 640280.584 0, 1556091.182 640313.306 0, 1556384.82 640346.045 0, 1556678.457 640378.801 0, 1556972.091 640411.575 0, 1557265.724 640444.366 0, 1557559.354 640477.174 0,
+ 1557852.983 640509.999 0, 1558146.61 640542.842 0, 1558440.235 640575.702 0, 1558733.858 640608.579 0, 1559026.147 640641.325 0, 1559321.098 640674.386 0, 1559614.715 640707.315 0, 1559908.33 640740.262 0, 1560201.943 640773.225 0, 1560495.554 640806.206 0,
+ 1560789.164 640839.205 0, 1561082.771 640872.22 0, 1561376.376 640905.253 0, 1561669.98 640938.303 0, 1561963.581 640971.371 0, 1562257.181 641004.455 0, 1562550.779 641037.557 0, 1562844.374 641070.677 0, 1563137.968 641103.813 0, 1563431.56 641136.967 0,
+ 1563725.15 641170.138 0, 1564018.738 641203.326 0, 1564312.324 641236.532 0, 1564605.908 641269.755 0, 1564899.49 641302.995 0, 1565193.07 641336.253 0, 1565486.648 641369.528 0, 1565780.224 641402.82 0, 1566072.468 641435.978 0, 1566700.001 635906.609 0,
+ 1567327.496 630377.583 0))
+
+POLYGON ((1580161.708 643055.141 0, 1579869.557 643021.157 0, 1579576.076 642987.035 0, 1579282.593 642952.931 0, 1578989.108 642918.845 0, 1578695.621 642884.775 0, 1578402.132 642850.723 0, 1578108.641 642816.688 0, 1577815.148 642782.67 0, 1577521.653 642748.67 0,
+ 1577228.156 642714.687 0, 1576934.657 642680.721 0, 1576641.156 642646.772 0, 1576347.653 642612.841 0, 1576054.148 642578.927 0, 1575760.641 642545.03 0, 1575467.132 642511.151 0, 1575173.621 642477.288 0, 1574880.108 642443.443 0, 1574586.593 642409.616 0,
+ 1574293.076 642375.805 0, 1573999.557 642342.012 0, 1573706.037 642308.236 0, 1573412.514 642274.478 0, 1573117.66 642240.584 0, 1572825.462 642207.013 0, 1572531.933 642173.306 0, 1572238.402 642139.616 0, 1571944.869 642105.944 0, 1571651.335 642072.289 0,
+ 1571357.798 642038.652 0, 1571064.259 642005.031 0, 1570770.718 641971.428 0, 1570477.176 641937.842 0, 1570183.631 641904.274 0, 1569890.084 641870.723 0, 1569596.536 641837.189 0, 1569302.985 641803.672 0, 1569009.432 641770.173 0, 1568715.878 641736.691 0,
+ 1568422.321 641703.226 0, 1568128.763 641669.778 0, 1567835.202 641636.348 0, 1567541.64 641602.935 0, 1567248.076 641569.539 0, 1566954.509 641536.161 0, 1566660.941 641502.799 0, 1566367.371 641469.456 0, 1566072.468 641435.978 0, 1565444.896 646965.687 0,
+ 1564817.286 652495.733 0, 1565111.535 652529.137 0, 1565404.454 652562.407 0, 1565697.372 652595.694 0, 1565990.287 652628.998 0, 1566283.2 652662.32 0, 1566576.112 652695.659 0, 1566869.021 652729.015 0, 1567161.929 652762.388 0, 1567454.835 652795.779 0,
+ 1567747.738 652829.187 0, 1568040.64 652862.612 0, 1568333.54 652896.054 0, 1568626.437 652929.514 0, 1568919.333 652962.991 0, 1569212.227 652996.485 0, 1569505.119 653029.996 0, 1569798.009 653063.525 0, 1570090.896 653097.071 0, 1570383.782 653130.634 0,
+ 1570676.666 653164.214 0, 1570969.548 653197.812 0, 1571262.428 653231.426 0, 1571555.306 653265.058 0, 1571846.856 653298.555 0, 1572141.056 653332.374 0, 1572433.928 653366.058 0, 1572726.798 653399.759 0, 1573019.666 653433.477 0, 1573312.532 653467.212 0,
+ 1573605.397 653500.965 0, 1573898.259 653534.735 0, 1574191.119 653568.522 0, 1574483.977 653602.326 0, 1574776.833 653636.148 0, 1575069.687 653669.987 0, 1575362.539 653703.843 0, 1575655.39 653737.716 0, 1575948.238 653771.607 0, 1576241.084 653805.514 0,
+ 1576533.928 653839.439 0, 1576826.77 653873.382 0, 1577119.611 653907.341 0, 1577412.449 653941.318 0, 1577705.285 653975.312 0, 1577998.119 654009.323 0, 1578290.951 654043.352 0, 1578583.782 654077.397 0, 1578875.285 654111.306 0, 1579518.516 648583.055 0,
+ 1580161.708 643055.141 0))
+
+POLYGON ((1592928.664 655766.589 0, 1592637.255 655731.856 0, 1592344.522 655696.983 0, 1592051.787 655662.128 0, 1591759.05 655627.289 0, 1591466.311 655592.468 0, 1591173.57 655557.664 0, 1590880.827 655522.878 0, 1590588.082 655488.108 0, 1590295.335 655453.356 0,
+ 1590002.586 655418.621 0, 1589709.834 655383.903 0, 1589417.081 655349.203 0, 1589124.326 655314.519 0, 1588831.568 655279.853 0, 1588538.809 655245.204 0, 1588246.047 655210.573 0, 1587953.284 655175.958 0, 1587660.518 655141.361 0, 1587367.751 655106.781 0,
+ 1587074.981 655072.219 0, 1586782.209 655037.673 0, 1586489.436 655003.145 0, 1586196.66 654968.634 0, 1585902.559 654933.984 0, 1585611.103 654899.664 0, 1585318.321 654865.204 0, 1585025.537 654830.762 0, 1584732.751 654796.338 0, 1584439.963 654761.93 0,
+ 1584147.173 654727.54 0, 1583854.381 654693.166 0, 1583561.587 654658.811 0, 1583268.791 654624.472 0, 1582975.993 654590.151 0, 1582683.193 654555.846 0, 1582390.391 654521.559 0, 1582097.587 654487.29 0, 1581804.781 654453.037 0, 1581511.973 654418.802 0,
+ 1581219.163 654384.584 0, 1580926.351 654350.383 0, 1580633.537 654316.2 0, 1580340.721 654282.033 0, 1580047.902 654247.884 0, 1579755.082 654213.752 0, 1579462.26 654179.638 0, 1579169.436 654145.54 0, 1578875.285 654111.306 0, 1578232.015 659639.89 0,
+ 1577588.707 665168.805 0, 1577882.204 665202.963 0, 1578174.378 665236.985 0, 1578466.549 665271.023 0, 1578758.718 665305.079 0, 1579050.886 665339.153 0, 1579343.051 665373.243 0, 1579635.214 665407.351 0, 1579927.376 665441.475 0, 1580219.535 665475.617 0,
+ 1580511.692 665509.777 0, 1580803.848 665543.953 0, 1581096.001 665578.146 0, 1581388.152 665612.357 0, 1581680.301 665646.585 0, 1581972.449 665680.83 0, 1582264.594 665715.093 0, 1582556.737 665749.372 0, 1582848.878 665783.669 0, 1583141.017 665817.983 0,
+ 1583433.155 665852.314 0, 1583725.29 665886.662 0, 1584017.423 665921.028 0, 1584309.554 665955.41 0, 1584600.363 665989.655 0, 1584893.81 666024.227 0, 1585185.935 666058.662 0, 1585478.058 666093.113 0, 1585770.179 666127.582 0, 1586062.298 666162.068 0,
+ 1586354.415 666196.571 0, 1586646.53 666231.091 0, 1586938.642 666265.629 0, 1587230.753 666300.183 0, 1587522.862 666334.755 0, 1587814.969 666369.344 0, 1588107.073 666403.95 0, 1588399.176 666438.574 0, 1588691.277 666473.214 0, 1588983.375 666507.872 0,
+ 1589275.472 666542.547 0, 1589567.566 666577.239 0, 1589859.659 666611.949 0, 1590151.749 666646.675 0, 1590443.838 666681.419 0, 1590735.924 666716.18 0, 1591028.008 666750.958 0, 1591320.09 666785.753 0, 1591610.852 666820.409 0, 1592269.777 661293.334 0,
+ 1592928.664 655766.589 0))
+
+POLYGON ((1605628.274 668511.621 0, 1605337.609 668476.144 0, 1605045.627 668440.524 0, 1604753.642 668404.92 0, 1604461.655 668369.334 0, 1604169.666 668333.766 0, 1603877.675 668298.214 0, 1603585.681 668262.679 0, 1603293.686 668227.162 0, 1603001.689 668191.662 0,
+ 1602709.689 668156.179 0, 1602417.688 668120.714 0, 1602125.684 668085.265 0, 1601833.678 668049.834 0, 1601541.67 668014.42 0, 1601249.66 667979.023 0, 1600957.648 667943.643 0, 1600665.634 667908.28 0, 1600373.618 667872.935 0, 1600081.6 667837.607 0,
+ 1599789.58 667802.296 0, 1599497.557 667767.002 0, 1599205.533 667731.725 0, 1598913.506 667696.466 0, 1598620.16 667661.064 0, 1598329.447 667625.998 0, 1598037.414 667590.79 0, 1597745.379 667555.6 0, 1597453.342 667520.426 0, 1597161.303 667485.27 0,
+ 1596869.262 667450.131 0, 1596577.219 667415.009 0, 1596285.174 667379.904 0, 1595993.127 667344.817 0, 1595701.077 667309.746 0, 1595409.026 667274.693 0, 1595116.972 667239.657 0, 1594824.917 667204.638 0, 1594532.859 667169.637 0, 1594240.8 667134.652 0,
+ 1593948.738 667099.685 0, 1593656.674 667064.735 0, 1593364.608 667029.802 0, 1593072.541 666994.886 0, 1592780.471 666959.988 0, 1592488.399 666925.107 0, 1592196.325 666890.242 0, 1591904.249 666855.396 0, 1591610.852 666820.409 0, 1590951.887 672347.81 0,
+ 1590292.883 677875.536 0, 1590585.627 677910.445 0, 1590877.052 677945.214 0, 1591168.476 677980.001 0, 1591459.897 678014.804 0, 1591751.316 678049.625 0, 1592042.733 678084.463 0, 1592334.149 678119.318 0, 1592625.562 678154.19 0, 1592916.973 678189.079 0,
+ 1593208.382 678223.986 0, 1593499.789 678258.909 0, 1593791.194 678293.85 0, 1594082.596 678328.808 0, 1594373.997 678363.783 0, 1594665.396 678398.775 0, 1594956.792 678433.785 0, 1595248.187 678468.811 0, 1595539.58 678503.855 0, 1595830.97 678538.916 0,
+ 1596122.358 678573.994 0, 1596413.745 678609.089 0, 1596705.129 678644.201 0, 1596996.511 678679.331 0, 1597286.577 678714.319 0, 1597579.269 678749.641 0, 1597870.645 678784.822 0, 1598162.019 678820.02 0, 1598453.391 678855.235 0, 1598744.761 678890.468 0,
+ 1599036.129 678925.717 0, 1599327.494 678960.984 0, 1599618.858 678996.268 0, 1599910.219 679031.569 0, 1600201.579 679066.887 0, 1600492.936 679102.222 0, 1600784.291 679137.574 0, 1601075.644 679172.944 0, 1601366.996 679208.331 0, 1601658.345 679243.734 0,
+ 1601949.691 679279.155 0, 1602241.036 679314.594 0, 1602532.379 679350.049 0, 1602823.72 679385.521 0, 1603115.058 679421.011 0, 1603406.395 679456.518 0, 1603697.729 679492.042 0, 1603989.061 679527.583 0, 1604279.078 679562.98 0, 1604953.696 674037.139 0,
+ 1605628.274 668511.621 0))
+
+POLYGON ((1618260.45 681289.932 0, 1617970.532 681253.714 0, 1617679.301 681217.35 0, 1617388.068 681181.004 0, 1617096.833 681144.674 0, 1616805.596 681108.361 0, 1616514.357 681072.066 0, 1616223.116 681035.788 0, 1615931.872 680999.527 0, 1615640.626 680963.283 0,
+ 1615349.378 680927.056 0, 1615058.129 680890.846 0, 1614766.876 680854.654 0, 1614475.622 680818.478 0, 1614184.366 680782.32 0, 1613893.108 680746.179 0, 1613601.847 680710.055 0, 1613310.584 680673.948 0, 1613019.319 680637.859 0, 1612728.052 680601.786 0,
+ 1612436.783 680565.731 0, 1612145.512 680529.692 0, 1611854.239 680493.671 0, 1611562.963 680457.667 0, 1611270.374 680421.519 0, 1610980.406 680385.711 0, 1610689.124 680349.758 0, 1610397.84 680313.823 0, 1610106.554 680277.905 0, 1609815.266 680242.004 0,
+ 1609523.976 680206.12 0, 1609232.684 680170.253 0, 1608941.389 680134.403 0, 1608650.093 680098.571 0, 1608358.794 680062.755 0, 1608067.493 680026.957 0, 1607776.19 679991.176 0, 1607484.885 679955.412 0, 1607193.578 679919.665 0, 1606902.269 679883.936 0,
+ 1606610.958 679848.223 0, 1606319.644 679812.528 0, 1606028.329 679776.85 0, 1605737.011 679741.189 0, 1605445.691 679705.545 0, 1605154.37 679669.918 0, 1604863.046 679634.308 0, 1604571.72 679598.716 0, 1604279.078 679562.98 0, 1603604.422 685089.142 0,
+ 1602929.726 690615.62 0, 1603221.714 690651.276 0, 1603512.39 690686.789 0, 1603803.063 690722.319 0, 1604093.734 690757.867 0, 1604384.404 690793.431 0, 1604675.071 690829.012 0, 1604965.736 690864.611 0, 1605256.399 690900.227 0, 1605547.059 690935.859 0,
+ 1605837.718 690971.509 0, 1606128.375 691007.176 0, 1606419.029 691042.86 0, 1606709.682 691078.561 0, 1607000.332 691114.28 0, 1607290.98 691150.015 0, 1607581.626 691185.767 0, 1607872.27 691221.537 0, 1608162.912 691257.324 0, 1608453.552 691293.128 0,
+ 1608744.19 691328.948 0, 1609034.825 691364.787 0, 1609325.459 691400.642 0, 1609616.09 691436.514 0, 1609905.41 691472.242 0, 1610197.347 691508.31 0, 1610487.972 691544.233 0, 1610778.595 691580.174 0, 1611069.215 691616.132 0, 1611359.834 691652.107 0,
+ 1611650.451 691688.099 0, 1611941.065 691724.108 0, 1612231.677 691760.134 0, 1612522.288 691796.177 0, 1612812.896 691832.237 0, 1613103.502 691868.315 0, 1613394.105 691904.41 0, 1613684.707 691940.521 0, 1613975.307 691976.65 0, 1614265.904 692012.796 0,
+ 1614556.499 692048.959 0, 1614847.093 692085.139 0, 1615137.684 692121.336 0, 1615428.273 692157.551 0, 1615718.859 692193.782 0, 1616009.444 692230.031 0, 1616300.027 692266.296 0, 1616590.607 692302.579 0, 1616879.878 692338.716 0, 1617570.183 686814.165 0,
+ 1618260.45 681289.932 0))
+
+POLYGON ((1630825.105 694101.215 0, 1630535.936 694064.262 0, 1630245.459 694027.158 0, 1629954.98 693990.072 0, 1629664.499 693953.002 0, 1629374.016 693915.95 0, 1629083.53 693878.915 0, 1628793.042 693841.897 0, 1628502.553 693804.896 0, 1628212.061 693767.912 0,
+ 1627921.566 693730.945 0, 1627631.07 693693.996 0, 1627340.572 693657.063 0, 1627050.071 693620.148 0, 1626759.568 693583.249 0, 1626469.063 693546.368 0, 1626178.556 693509.504 0, 1625888.046 693472.657 0, 1625597.535 693435.827 0, 1625307.021 693399.014 0,
+ 1625016.505 693362.218 0, 1624725.987 693325.439 0, 1624435.467 693288.678 0, 1624144.945 693251.933 0, 1623853.114 693215.041 0, 1623563.893 693178.496 0, 1623273.365 693141.802 0, 1622982.834 693105.126 0, 1622692.3 693068.467 0, 1622401.765 693031.825 0,
+ 1622111.228 692995.201 0, 1621820.688 692958.593 0, 1621530.146 692922.002 0, 1621239.602 692885.429 0, 1620949.056 692848.873 0, 1620658.508 692812.333 0, 1620367.957 692775.811 0, 1620077.405 692739.306 0, 1619786.85 692702.818 0, 1619496.293 692666.347 0,
+ 1619205.734 692629.893 0, 1618915.173 692593.457 0, 1618624.61 692557.037 0, 1618334.045 692520.635 0, 1618043.477 692484.249 0, 1617752.907 692447.881 0, 1617462.335 692411.53 0, 1617171.761 692375.196 0, 1616879.878 692338.716 0, 1616189.532 697863.579 0,
+ 1615499.149 703388.753 0, 1615790.379 703425.152 0, 1616080.303 703461.404 0, 1616370.224 703497.674 0, 1616660.144 703533.961 0, 1616950.061 703570.265 0, 1617239.976 703606.586 0, 1617529.889 703642.924 0, 1617819.8 703679.279 0, 1618109.708 703715.651 0,
+ 1618399.615 703752.041 0, 1618689.519 703788.447 0, 1618979.421 703824.87 0, 1619269.321 703861.311 0, 1619559.219 703897.768 0, 1619849.115 703934.243 0, 1620139.009 703970.734 0, 1620428.9 704007.243 0, 1620718.79 704043.769 0, 1621008.677 704080.312 0,
+ 1621298.562 704116.871 0, 1621588.445 704153.448 0, 1621878.325 704190.042 0, 1622168.204 704226.653 0, 1622456.777 704263.117 0, 1622747.955 704299.927 0, 1623037.827 704336.589 0, 1623327.697 704373.268 0, 1623617.565 704409.965 0, 1623907.43 704446.678 0,
+ 1624197.294 704483.409 0, 1624487.155 704520.156 0, 1624777.014 704556.921 0, 1625066.871 704593.702 0, 1625356.726 704630.501 0, 1625646.579 704667.317 0, 1625936.429 704704.15 0, 1626226.277 704741 0, 1626516.124 704777.867 0, 1626805.968 704814.751 0,
+ 1627095.809 704851.652 0, 1627385.649 704888.57 0, 1627675.486 704925.505 0, 1627965.322 704962.457 0, 1628255.155 704999.427 0, 1628544.986 705036.413 0, 1628834.815 705073.416 0, 1629124.641 705110.437 0, 1629413.163 705147.308 0, 1630119.154 699624.107 0,
+ 1630825.105 694101.215 0))
+
+POLYGON ((1643322.154 706945.166 0, 1643033.735 706907.479 0, 1642744.014 706869.64 0, 1642454.291 706831.818 0, 1642164.566 706794.013 0, 1641874.838 706756.225 0, 1641585.109 706718.454 0, 1641295.377 706680.7 0, 1641005.643 706642.963 0, 1640715.906 706605.243 0,
+ 1640426.168 706567.541 0, 1640136.427 706529.855 0, 1639846.684 706492.186 0, 1639556.938 706454.535 0, 1639267.191 706416.9 0, 1638977.441 706379.283 0, 1638687.689 706341.682 0, 1638397.935 706304.099 0, 1638108.179 706266.533 0, 1637818.42 706228.983 0,
+ 1637528.66 706191.451 0, 1637238.897 706153.936 0, 1636949.131 706116.438 0, 1636659.364 706078.957 0, 1636368.294 706041.325 0, 1636079.823 706004.046 0, 1635790.049 705966.616 0, 1635500.273 705929.203 0, 1635210.494 705891.808 0, 1634920.714 705854.429 0,
+ 1634630.931 705817.067 0, 1634341.146 705779.723 0, 1634051.359 705742.395 0, 1633761.569 705705.085 0, 1633471.778 705667.791 0, 1633181.984 705630.515 0, 1632892.188 705593.256 0, 1632602.39 705556.013 0, 1632312.589 705518.788 0, 1632022.787 705481.58 0,
+ 1631732.982 705444.389 0, 1631443.175 705407.215 0, 1631153.366 705370.058 0, 1630863.555 705332.918 0, 1630573.741 705295.795 0, 1630283.926 705258.69 0, 1629994.108 705221.601 0, 1629704.288 705184.529 0, 1629413.163 705147.308 0, 1628707.133 710670.816 0,
+ 1628001.065 716194.627 0, 1628291.536 716231.765 0, 1628580.706 716268.753 0, 1628869.873 716305.759 0, 1629159.039 716342.781 0, 1629448.202 716379.821 0, 1629737.363 716416.877 0, 1630026.522 716453.951 0, 1630315.679 716491.042 0, 1630604.834 716528.149 0,
+ 1630893.986 716565.274 0, 1631183.136 716602.416 0, 1631472.284 716639.574 0, 1631761.43 716676.75 0, 1632050.574 716713.943 0, 1632339.715 716751.153 0, 1632628.854 716788.379 0, 1632917.991 716825.623 0, 1633207.126 716862.884 0, 1633496.259 716900.162 0,
+ 1633785.389 716937.457 0, 1634074.517 716974.768 0, 1634363.644 717012.097 0, 1634652.767 717049.443 0, 1634940.591 717086.638 0, 1635231.009 717124.186 0, 1635520.126 717161.583 0, 1635809.241 717198.997 0, 1636098.354 717236.428 0, 1636387.464 717273.876 0,
+ 1636676.573 717311.341 0, 1636965.679 717348.823 0, 1637254.783 717386.322 0, 1637543.885 717423.838 0, 1637832.985 717461.371 0, 1638122.082 717498.921 0, 1638411.177 717536.488 0, 1638700.27 717574.072 0, 1638989.361 717611.674 0, 1639278.45 717649.292 0,
+ 1639567.536 717686.927 0, 1639856.62 717724.579 0, 1640145.702 717762.248 0, 1640434.782 717799.934 0, 1640723.859 717837.638 0, 1641012.935 717875.358 0, 1641302.008 717913.095 0, 1641591.079 717950.849 0, 1641878.851 717988.451 0, 1642600.522 712466.657 0,
+ 1643322.154 706945.166 0))
+
+POLYGON ((1655751.513 719821.476 0, 1655463.846 719783.061 0, 1655174.883 719744.49 0, 1654885.918 719705.936 0, 1654596.951 719667.399 0, 1654307.981 719628.879 0, 1654019.009 719590.377 0, 1653730.034 719551.891 0, 1653441.058 719513.422 0, 1653152.079 719474.97 0,
+ 1652863.098 719436.536 0, 1652574.114 719398.118 0, 1652285.129 719359.717 0, 1651996.141 719321.334 0, 1651707.15 719282.967 0, 1651418.158 719244.617 0, 1651129.163 719206.284 0, 1650840.166 719167.969 0, 1650551.167 719129.67 0, 1650262.166 719091.388 0,
+ 1649973.162 719053.124 0, 1649684.156 719014.876 0, 1649395.148 718976.646 0, 1649106.137 718938.432 0, 1648815.829 718900.064 0, 1648528.11 718862.056 0, 1648239.092 718823.893 0, 1647950.073 718785.748 0, 1647661.051 718747.619 0, 1647372.027 718709.508 0,
+ 1647083.001 718671.413 0, 1646793.973 718633.336 0, 1646504.942 718595.275 0, 1646215.909 718557.232 0, 1645926.874 718519.205 0, 1645637.836 718481.196 0, 1645348.797 718443.203 0, 1645059.755 718405.228 0, 1644770.711 718367.269 0, 1644481.665 718329.328 0,
+ 1644192.616 718291.404 0, 1643903.565 718253.496 0, 1643614.512 718215.606 0, 1643325.457 718177.732 0, 1643036.399 718139.876 0, 1642747.34 718102.037 0, 1642458.278 718064.214 0, 1642169.214 718026.409 0, 1641878.851 717988.451 0, 1641157.14 723510.546 0,
+ 1640435.39 729032.936 0, 1640725.1 729070.809 0, 1641013.514 729108.529 0, 1641301.926 729146.266 0, 1641590.336 729184.021 0, 1641878.743 729221.792 0, 1642167.149 729259.58 0, 1642455.552 729297.385 0, 1642743.952 729335.207 0, 1643032.351 729373.046 0,
+ 1643320.747 729410.903 0, 1643609.141 729448.776 0, 1643897.533 729486.666 0, 1644185.923 729524.573 0, 1644474.31 729562.497 0, 1644762.695 729600.438 0, 1645051.078 729638.396 0, 1645339.459 729676.37 0, 1645627.838 729714.362 0, 1645916.214 729752.371 0,
+ 1646204.588 729790.397 0, 1646492.96 729828.44 0, 1646781.329 729866.5 0, 1647069.696 729904.576 0, 1647356.769 729942.499 0, 1647646.424 729980.781 0, 1647934.785 730018.908 0, 1648223.143 730057.053 0, 1648511.499 730095.215 0, 1648799.853 730133.393 0,
+ 1649088.204 730171.589 0, 1649376.554 730209.801 0, 1649664.901 730248.031 0, 1649953.246 730286.277 0, 1650241.588 730324.541 0, 1650529.928 730362.821 0, 1650818.267 730401.119 0, 1651106.602 730439.433 0, 1651394.936 730477.764 0, 1651683.267 730516.113 0,
+ 1651971.596 730554.478 0, 1652259.923 730592.86 0, 1652548.247 730631.259 0, 1652836.57 730669.675 0, 1653124.89 730708.109 0, 1653413.207 730746.559 0, 1653701.523 730785.026 0, 1653989.836 730823.51 0, 1654276.856 730861.838 0, 1655014.205 725341.509 0,
+ 1655751.513 719821.476 0))
+
+POLYGON ((1668113.1 732729.838 0, 1667826.187 732690.698 0, 1667537.983 732651.4 0, 1667249.778 732612.118 0, 1666961.57 732572.854 0, 1666673.36 732533.606 0, 1666385.147 732494.376 0, 1666096.932 732455.162 0, 1665808.715 732415.965 0, 1665520.496 732376.786 0,
+ 1665232.274 732337.623 0, 1664944.05 732298.477 0, 1664655.823 732259.348 0, 1664367.595 732220.237 0, 1664079.364 732181.142 0, 1663791.13 732142.064 0, 1663502.895 732103.003 0, 1663214.657 732063.959 0, 1662926.416 732024.932 0, 1662638.174 731985.922 0,
+ 1662349.929 731946.929 0, 1662061.682 731907.953 0, 1661773.433 731868.993 0, 1661485.181 731830.051 0, 1661195.638 731790.952 0, 1660908.671 731752.218 0, 1660620.412 731713.326 0, 1660332.151 731674.452 0, 1660043.888 731635.595 0, 1659755.623 731596.754 0,
+ 1659467.355 731557.931 0, 1659179.085 731519.125 0, 1658890.813 731480.335 0, 1658602.538 731441.563 0, 1658314.262 731402.807 0, 1658025.982 731364.068 0, 1657737.701 731325.347 0, 1657449.417 731286.642 0, 1657161.131 731247.954 0, 1656872.843 731209.284 0,
+ 1656584.553 731170.63 0, 1656296.26 731131.993 0, 1656007.965 731093.373 0, 1655719.668 731054.771 0, 1655431.368 731016.185 0, 1655143.066 730977.616 0, 1654854.762 730939.064 0, 1654566.456 730900.529 0, 1654276.856 730861.838 0, 1653539.469 736382.461 0,
+ 1652802.042 741903.374 0, 1653090.989 741941.977 0, 1653378.646 741980.425 0, 1653666.3 742018.89 0, 1653953.952 742057.372 0, 1654241.602 742095.871 0, 1654529.249 742134.387 0, 1654816.894 742172.919 0, 1655104.537 742211.469 0, 1655392.178 742250.036 0,
+ 1655679.816 742288.619 0, 1655967.452 742327.22 0, 1656255.086 742365.837 0, 1656542.718 742404.471 0, 1656830.347 742443.123 0, 1657117.974 742481.791 0, 1657405.599 742520.476 0, 1657693.221 742559.178 0, 1657980.841 742597.897 0, 1658268.459 742636.633 0,
+ 1658556.075 742675.386 0, 1658843.688 742714.155 0, 1659131.299 742752.942 0, 1659418.908 742791.746 0, 1659705.228 742830.393 0, 1659994.119 742869.404 0, 1660281.721 742908.258 0, 1660569.32 742947.13 0, 1660856.918 742986.018 0, 1661144.513 743024.923 0,
+ 1661432.106 743063.845 0, 1661719.696 743102.784 0, 1662007.284 743141.74 0, 1662294.87 743180.713 0, 1662582.454 743219.703 0, 1662870.035 743258.71 0, 1663157.614 743297.733 0, 1663445.191 743336.774 0, 1663732.765 743375.831 0, 1664020.337 743414.906 0,
+ 1664307.907 743453.997 0, 1664595.475 743493.106 0, 1664883.04 743532.231 0, 1665170.603 743571.373 0, 1665458.163 743610.532 0, 1665745.722 743649.708 0, 1666033.278 743688.901 0, 1666320.831 743728.111 0, 1666607.097 743767.162 0, 1667360.118 738248.355 0,
+ 1668113.1 732729.838 0))
+
+POLYGON ((1680406.832 745669.945 0, 1680120.675 745630.085 0, 1679833.233 745590.063 0, 1679545.789 745550.058 0, 1679258.343 745510.07 0, 1678970.894 745470.098 0, 1678683.443 745430.144 0, 1678395.989 745390.206 0, 1678108.533 745350.286 0, 1677821.075 745310.382 0,
+ 1677533.614 745270.495 0, 1677246.152 745230.625 0, 1676958.686 745190.773 0, 1676671.219 745150.937 0, 1676383.749 745111.117 0, 1676096.276 745071.315 0, 1675808.802 745031.53 0, 1675521.325 744991.762 0, 1675233.845 744952.01 0, 1674946.364 744912.276 0,
+ 1674658.88 744872.558 0, 1674371.393 744832.858 0, 1674083.905 744793.174 0, 1673796.414 744753.507 0, 1673507.637 744713.68 0, 1673221.425 744674.225 0, 1672933.927 744634.609 0, 1672646.426 744595.009 0, 1672358.924 744555.427 0, 1672071.419 744515.862 0,
+ 1671783.911 744476.314 0, 1671496.402 744436.782 0, 1671208.89 744397.268 0, 1670921.376 744357.77 0, 1670633.859 744318.29 0, 1670346.34 744278.826 0, 1670058.819 744239.379 0, 1669771.295 744199.949 0, 1669483.769 744160.536 0, 1669196.241 744121.14 0,
+ 1668908.71 744081.761 0, 1668621.178 744042.399 0, 1668333.642 744003.054 0, 1668046.105 743963.725 0, 1667758.565 743924.414 0, 1667471.023 743885.12 0, 1667183.478 743845.842 0, 1666895.932 743806.581 0, 1666607.097 743767.162 0, 1665854.037 749286.255 0,
+ 1665100.939 754805.631 0, 1665389.121 754844.961 0, 1665676.018 754884.133 0, 1665962.912 754923.322 0, 1666249.805 754962.528 0, 1666536.695 755001.75 0, 1666823.583 755040.99 0, 1667110.468 755080.246 0, 1667397.352 755119.519 0, 1667684.233 755158.809 0,
+ 1667971.111 755198.116 0, 1668257.987 755237.44 0, 1668544.861 755276.781 0, 1668831.733 755316.139 0, 1669118.602 755355.513 0, 1669405.469 755394.905 0, 1669692.334 755434.313 0, 1669979.196 755473.738 0, 1670266.056 755513.18 0, 1670552.914 755552.639 0,
+ 1670839.769 755592.115 0, 1671126.623 755631.608 0, 1671413.473 755671.118 0, 1671700.322 755710.644 0, 1671985.887 755750.011 0, 1672274.012 755789.748 0, 1672560.853 755829.325 0, 1672847.692 755868.919 0, 1673134.529 755908.53 0, 1673421.363 755948.158 0,
+ 1673708.195 755987.802 0, 1673995.025 756027.464 0, 1674281.853 756067.142 0, 1674568.678 756106.838 0, 1674855.501 756146.55 0, 1675142.321 756186.279 0, 1675429.139 756226.025 0, 1675715.955 756265.788 0, 1676002.768 756305.567 0, 1676289.579 756345.364 0,
+ 1676576.388 756385.178 0, 1676863.194 756425.008 0, 1677149.998 756464.855 0, 1677436.8 756504.719 0, 1677723.599 756544.6 0, 1678010.396 756584.498 0, 1678297.191 756624.413 0, 1678583.983 756664.345 0, 1678869.494 756704.115 0, 1679638.182 751186.889 0,
+ 1680406.832 745669.945 0))
+
+POLYGON ((1366024.756 455565.402 0, 1365721.657 455543.968 0, 1365417.142 455522.451 0, 1365112.626 455500.952 0, 1364808.108 455479.472 0, 1364503.589 455458.009 0, 1364199.069 455436.564 0, 1363894.548 455415.137 0, 1363590.025 455393.727 0, 1363285.501 455372.336 0,
+ 1362980.976 455350.963 0, 1362676.449 455329.607 0, 1362371.922 455308.27 0, 1362067.393 455286.95 0, 1361762.863 455265.649 0, 1361458.331 455244.365 0, 1361153.798 455223.099 0, 1360849.264 455201.852 0, 1360544.729 455180.622 0, 1360240.193 455159.41 0,
+ 1359935.655 455138.216 0, 1359631.116 455117.04 0, 1359326.576 455095.881 0, 1359022.034 455074.741 0, 1358716.075 455053.52 0, 1358412.948 455032.514 0, 1358108.402 455011.428 0, 1357803.856 454990.359 0, 1357499.308 454969.308 0, 1357194.759 454948.276 0,
+ 1356890.209 454927.261 0, 1356585.658 454906.264 0, 1356281.105 454885.285 0, 1355976.551 454864.324 0, 1355671.996 454843.381 0, 1355367.44 454822.456 0, 1355062.882 454801.548 0, 1354758.324 454780.659 0, 1354453.764 454759.788 0, 1354149.202 454738.934 0,
+ 1353844.64 454718.099 0, 1353540.076 454697.281 0, 1353235.511 454676.481 0, 1352930.945 454655.7 0, 1352626.378 454634.936 0, 1352321.809 454614.19 0, 1352017.239 454593.462 0, 1351712.668 454572.752 0, 1351406.679 454551.963 0, 1351030.411 460092.768 0,
+ 1350654.113 465634.004 0, 1350959.448 465654.748 0, 1351263.367 465675.414 0, 1351567.284 465696.097 0, 1351871.2 465716.799 0, 1352175.116 465737.518 0, 1352479.029 465758.255 0, 1352782.942 465779.01 0, 1353086.854 465799.784 0, 1353390.764 465820.574 0,
+ 1353694.673 465841.383 0, 1353998.581 465862.21 0, 1354302.487 465883.055 0, 1354606.392 465903.917 0, 1354910.296 465924.797 0, 1355214.199 465945.696 0, 1355518.101 465966.612 0, 1355822.001 465987.546 0, 1356125.901 466008.498 0, 1356429.798 466029.468 0,
+ 1356733.695 466050.455 0, 1357037.591 466071.461 0, 1357341.485 466092.484 0, 1357645.378 466113.526 0, 1357947.856 466134.487 0, 1358253.16 466155.662 0, 1358557.049 466176.757 0, 1358860.937 466197.87 0, 1359164.824 466219.001 0, 1359468.71 466240.149 0,
+ 1359772.594 466261.316 0, 1360076.477 466282.5 0, 1360380.359 466303.703 0, 1360684.239 466324.923 0, 1360988.119 466346.161 0, 1361291.997 466367.417 0, 1361595.874 466388.691 0, 1361899.749 466409.983 0, 1362203.623 466431.292 0, 1362507.496 466452.62 0,
+ 1362811.368 466473.965 0, 1363115.239 466495.329 0, 1363419.108 466516.71 0, 1363722.976 466538.109 0, 1364026.843 466559.526 0, 1364330.708 466580.961 0, 1364634.572 466602.413 0, 1364938.435 466623.884 0, 1365240.885 466645.273 0, 1365632.836 461105.122 0,
+ 1366024.756 455565.402 0))
+
+POLYGON ((1379824.742 467697.747 0, 1379522.351 467675.504 0, 1379218.55 467653.175 0, 1378914.748 467630.864 0, 1378610.944 467608.571 0, 1378307.139 467586.296 0, 1378003.333 467564.038 0, 1377699.525 467541.799 0, 1377395.716 467519.577 0, 1377091.906 467497.373 0,
+ 1376788.094 467475.187 0, 1376484.282 467453.019 0, 1376180.467 467430.869 0, 1375876.652 467408.737 0, 1375572.835 467386.622 0, 1375269.017 467364.526 0, 1374965.198 467342.447 0, 1374661.377 467320.386 0, 1374357.555 467298.343 0, 1374053.732 467276.318 0,
+ 1373749.907 467254.311 0, 1373446.081 467232.322 0, 1373142.254 467210.351 0, 1372838.426 467188.397 0, 1372533.185 467166.36 0, 1372230.765 467144.544 0, 1371926.933 467122.644 0, 1371623.099 467100.762 0, 1371319.264 467078.898 0, 1371015.428 467057.052 0,
+ 1370711.59 467035.224 0, 1370407.752 467013.413 0, 1370103.912 466991.621 0, 1369800.07 466969.846 0, 1369496.228 466948.089 0, 1369192.384 466926.35 0, 1368888.539 466904.629 0, 1368584.692 466882.926 0, 1368280.844 466861.241 0, 1367976.995 466839.574 0,
+ 1367673.145 466817.924 0, 1367369.294 466796.293 0, 1367065.441 466774.679 0, 1366761.587 466753.083 0, 1366457.731 466731.505 0, 1366153.875 466709.945 0, 1365850.017 466688.403 0, 1365546.158 466666.879 0, 1365240.885 466645.273 0, 1364848.904 472185.852 0,
+ 1364456.893 477726.857 0, 1364761.51 477748.417 0, 1365064.717 477769.895 0, 1365367.923 477791.391 0, 1365671.127 477812.905 0, 1365974.33 477834.436 0, 1366277.532 477855.986 0, 1366580.733 477877.553 0, 1366883.932 477899.138 0, 1367187.13 477920.741 0,
+ 1367490.327 477942.362 0, 1367793.522 477964.001 0, 1368096.717 477985.657 0, 1368399.909 478007.331 0, 1368703.101 478029.024 0, 1369006.292 478050.734 0, 1369309.481 478072.462 0, 1369612.669 478094.207 0, 1369915.855 478115.971 0, 1370219.04 478137.752 0,
+ 1370522.224 478159.552 0, 1370825.407 478181.369 0, 1371128.589 478203.204 0, 1371431.769 478225.057 0, 1371733.54 478246.826 0, 1372038.125 478268.816 0, 1372341.301 478290.722 0, 1372644.476 478312.646 0, 1372947.65 478334.588 0, 1373250.823 478356.548 0,
+ 1373553.994 478378.526 0, 1373857.164 478400.521 0, 1374160.332 478422.535 0, 1374463.499 478444.566 0, 1374766.665 478466.615 0, 1375069.83 478488.682 0, 1375372.993 478510.767 0, 1375676.155 478532.87 0, 1375979.316 478554.99 0, 1376282.475 478577.128 0,
+ 1376585.634 478599.285 0, 1376888.79 478621.459 0, 1377191.946 478643.65 0, 1377495.1 478665.86 0, 1377798.253 478688.088 0, 1378101.405 478710.333 0, 1378404.555 478732.596 0, 1378707.704 478754.877 0, 1379009.445 478777.073 0, 1379417.109 473237.197 0,
+ 1379824.742 467697.747 0))
+
+POLYGON ((1393558.973 479868.398 0, 1393257.293 479845.35 0, 1392954.208 479822.212 0, 1392651.122 479799.093 0, 1392348.034 479775.991 0, 1392044.945 479752.907 0, 1391741.855 479729.841 0, 1391438.763 479706.793 0, 1391135.67 479683.762 0, 1390832.576 479660.75 0,
+ 1390529.48 479637.755 0, 1390226.383 479614.778 0, 1389923.285 479591.819 0, 1389620.185 479568.878 0, 1389317.084 479545.955 0, 1389013.982 479523.049 0, 1388710.878 479500.162 0, 1388407.773 479477.292 0, 1388104.666 479454.44 0, 1387801.559 479431.606 0,
+ 1387498.449 479408.789 0, 1387195.339 479385.991 0, 1386892.227 479363.21 0, 1386589.114 479340.447 0, 1386284.594 479317.597 0, 1385982.883 479294.975 0, 1385679.766 479272.266 0, 1385376.648 479249.575 0, 1385073.528 479226.901 0, 1384770.407 479204.245 0,
+ 1384467.284 479181.607 0, 1384164.16 479158.987 0, 1383861.035 479136.385 0, 1383557.908 479113.801 0, 1383254.781 479091.234 0, 1382951.651 479068.686 0, 1382648.521 479046.155 0, 1382345.389 479023.642 0, 1382042.256 479001.147 0, 1381739.121 478978.669 0,
+ 1381435.986 478956.21 0, 1381132.848 478933.768 0, 1380829.71 478911.344 0, 1380526.57 478888.938 0, 1380223.429 478866.55 0, 1379920.287 478844.18 0, 1379617.143 478821.827 0, 1379313.998 478799.493 0, 1379009.445 478777.073 0, 1378601.75 484317.37 0,
+ 1378194.024 489858.088 0, 1378497.922 489880.46 0, 1378800.415 489902.746 0, 1379102.906 489925.051 0, 1379405.396 489947.373 0, 1379707.885 489969.713 0, 1380010.373 489992.07 0, 1380312.859 490014.446 0, 1380615.344 490036.839 0, 1380917.828 490059.251 0,
+ 1381220.31 490081.68 0, 1381522.791 490104.126 0, 1381825.271 490126.591 0, 1382127.749 490149.073 0, 1382430.226 490171.573 0, 1382732.702 490194.091 0, 1383035.176 490216.627 0, 1383337.649 490239.181 0, 1383640.121 490261.752 0, 1383942.591 490284.341 0,
+ 1384245.06 490306.948 0, 1384547.528 490329.573 0, 1384849.994 490352.216 0, 1385152.459 490374.876 0, 1385453.521 490397.449 0, 1385757.386 490420.25 0, 1386059.847 490442.964 0, 1386362.306 490465.696 0, 1386664.765 490488.445 0, 1386967.222 490511.213 0,
+ 1387269.677 490533.998 0, 1387572.132 490556.8 0, 1387874.585 490579.621 0, 1388177.036 490602.459 0, 1388479.487 490625.316 0, 1388781.936 490648.19 0, 1389084.383 490671.082 0, 1389386.83 490693.991 0, 1389689.275 490716.919 0, 1389991.718 490739.864 0,
+ 1390294.16 490762.827 0, 1390596.601 490785.808 0, 1390899.041 490808.806 0, 1391201.479 490831.823 0, 1391503.916 490854.857 0, 1391806.351 490877.909 0, 1392108.785 490900.979 0, 1392411.218 490924.067 0, 1392712.249 490947.065 0, 1393135.627 485407.522 0,
+ 1393558.973 479868.398 0))
+
+POLYGON ((1407227.339 492077.054 0, 1406926.372 492053.205 0, 1406624.006 492029.263 0, 1406321.638 492005.339 0, 1406019.269 491981.433 0, 1405716.898 491957.544 0, 1405414.526 491933.673 0, 1405112.153 491909.821 0, 1404809.778 491885.985 0, 1404507.402 491862.168 0,
+ 1404205.025 491838.368 0, 1403902.646 491814.586 0, 1403600.265 491790.822 0, 1403297.884 491767.076 0, 1402995.5 491743.348 0, 1402693.116 491719.637 0, 1402390.73 491695.944 0, 1402088.343 491672.269 0, 1401785.954 491648.612 0, 1401483.564 491624.973 0,
+ 1401181.172 491601.351 0, 1400878.779 491577.747 0, 1400576.385 491554.161 0, 1400273.989 491530.593 0, 1399970.193 491506.934 0, 1399669.194 491483.51 0, 1399366.794 491459.995 0, 1399064.393 491436.498 0, 1398761.99 491413.019 0, 1398459.586 491389.557 0,
+ 1398157.181 491366.114 0, 1397854.774 491342.688 0, 1397552.366 491319.28 0, 1397249.957 491295.89 0, 1396947.546 491272.517 0, 1396645.133 491249.163 0, 1396342.72 491225.826 0, 1396040.305 491202.507 0, 1395737.888 491179.205 0, 1395435.471 491155.922 0,
+ 1395133.052 491132.656 0, 1394830.631 491109.409 0, 1394528.209 491086.178 0, 1394225.786 491062.966 0, 1393923.362 491039.772 0, 1393620.936 491016.595 0, 1393318.508 490993.436 0, 1393016.08 490970.295 0, 1392712.249 490947.065 0, 1392288.839 496487.025 0,
+ 1391865.398 502027.398 0, 1392168.574 502050.578 0, 1392470.35 502073.669 0, 1392772.125 502096.778 0, 1393073.899 502119.904 0, 1393375.671 502143.049 0, 1393677.442 502166.211 0, 1393979.212 502189.391 0, 1394280.98 502212.589 0, 1394582.747 502235.804 0,
+ 1394884.513 502259.037 0, 1395186.277 502282.288 0, 1395488.04 502305.557 0, 1395789.802 502328.844 0, 1396091.562 502352.148 0, 1396393.32 502375.47 0, 1396695.078 502398.81 0, 1396996.834 502422.167 0, 1397298.588 502445.543 0, 1397600.342 502468.936 0,
+ 1397902.094 502492.347 0, 1398203.844 502515.775 0, 1398505.593 502539.222 0, 1398807.341 502562.686 0, 1399107.691 502586.059 0, 1399410.832 502609.667 0, 1399712.576 502633.185 0, 1400014.318 502656.72 0, 1400316.059 502680.273 0, 1400617.798 502703.843 0,
+ 1400919.536 502727.432 0, 1401221.273 502751.038 0, 1401523.008 502774.662 0, 1401824.742 502798.304 0, 1402126.475 502821.963 0, 1402428.206 502845.641 0, 1402729.935 502869.336 0, 1403031.664 502893.048 0, 1403333.391 502916.779 0, 1403635.116 502940.527 0,
+ 1403936.84 502964.293 0, 1404238.563 502988.077 0, 1404540.284 503011.879 0, 1404842.004 503035.698 0, 1405143.723 503059.535 0, 1405445.44 503083.39 0, 1405747.155 503107.262 0, 1406048.87 503131.153 0, 1406349.188 503154.95 0, 1406788.28 497615.796 0,
+ 1407227.339 492077.054 0))
+
+POLYGON ((1420829.734 504323.418 0, 1420529.482 504298.772 0, 1420227.836 504274.029 0, 1419926.189 504249.304 0, 1419624.541 504224.597 0, 1419322.891 504199.908 0, 1419021.24 504175.236 0, 1418719.587 504150.582 0, 1418417.932 504125.946 0, 1418116.277 504101.328 0,
+ 1417814.619 504076.727 0, 1417512.961 504052.144 0, 1417211.301 504027.579 0, 1416909.639 504003.032 0, 1416607.976 503978.502 0, 1416306.312 503953.99 0, 1416004.646 503929.496 0, 1415702.978 503905.02 0, 1415401.31 503880.561 0, 1415099.64 503856.12 0,
+ 1414797.968 503831.697 0, 1414496.295 503807.292 0, 1414194.62 503782.905 0, 1413892.944 503758.535 0, 1413589.873 503734.07 0, 1413289.588 503709.848 0, 1412987.908 503685.532 0, 1412686.226 503661.233 0, 1412384.543 503636.952 0, 1412082.859 503612.689 0,
+ 1411781.173 503588.443 0, 1411479.485 503564.216 0, 1411177.797 503540.006 0, 1410876.106 503515.813 0, 1410574.415 503491.639 0, 1410272.722 503467.482 0, 1409971.027 503443.343 0, 1409669.331 503419.222 0, 1409367.634 503395.119 0, 1409065.935 503371.033 0,
+ 1408764.235 503346.965 0, 1408462.533 503322.915 0, 1408160.83 503298.882 0, 1407859.126 503274.868 0, 1407557.42 503250.871 0, 1407255.713 503226.892 0, 1406954.004 503202.93 0, 1406652.294 503178.987 0, 1406349.188 503154.95 0, 1405910.063 508694.515 0,
+ 1405470.906 514234.487 0, 1405773.357 514258.471 0, 1406074.415 514282.363 0, 1406375.472 514306.273 0, 1406676.527 514330.2 0, 1406977.581 514354.145 0, 1407278.633 514378.108 0, 1407579.684 514402.088 0, 1407880.733 514426.087 0, 1408181.782 514450.103 0,
+ 1408482.828 514474.136 0, 1408783.873 514498.188 0, 1409084.917 514522.257 0, 1409385.96 514546.343 0, 1409687.001 514570.448 0, 1409988.04 514594.57 0, 1410289.078 514618.71 0, 1410590.115 514642.868 0, 1410891.151 514667.043 0, 1411192.184 514691.236 0,
+ 1411493.217 514715.447 0, 1411794.248 514739.676 0, 1412095.278 514763.922 0, 1412396.306 514788.186 0, 1412695.942 514812.355 0, 1412998.358 514836.767 0, 1413299.382 514861.084 0, 1413600.404 514885.419 0, 1413901.425 514909.771 0, 1414202.445 514934.142 0,
+ 1414503.463 514958.53 0, 1414804.48 514982.935 0, 1415105.495 515007.359 0, 1415406.509 515031.8 0, 1415707.521 515056.259 0, 1416008.532 515080.735 0, 1416309.542 515105.23 0, 1416610.55 515129.742 0, 1416911.557 515154.271 0, 1417212.562 515178.819 0,
+ 1417513.565 515203.384 0, 1417814.568 515227.967 0, 1418115.569 515252.567 0, 1418416.568 515277.186 0, 1418717.566 515301.822 0, 1419018.563 515326.476 0, 1419319.558 515351.147 0, 1419620.551 515375.836 0, 1419920.154 515400.429 0, 1420374.961 509861.72 0,
+ 1420829.734 504323.418 0))
+
+POLYGON ((1434366.05 516607.188 0, 1434066.516 516581.749 0, 1433765.593 516556.209 0, 1433464.669 516530.688 0, 1433163.743 516505.184 0, 1432862.816 516479.697 0, 1432561.888 516454.229 0, 1432260.957 516428.778 0, 1431960.026 516403.345 0, 1431659.093 516377.929 0,
+ 1431358.158 516352.531 0, 1431057.222 516327.151 0, 1430756.284 516301.789 0, 1430455.345 516276.445 0, 1430154.404 516251.118 0, 1429853.462 516225.808 0, 1429552.519 516200.517 0, 1429251.574 516175.243 0, 1428950.627 516149.987 0, 1428649.679 516124.749 0,
+ 1428348.729 516099.528 0, 1428047.778 516074.325 0, 1427746.826 516049.14 0, 1427445.872 516023.973 0, 1427143.528 515998.707 0, 1426843.959 515973.691 0, 1426543.001 515948.577 0, 1426242.041 515923.48 0, 1425941.08 515898.401 0, 1425640.117 515873.34 0,
+ 1425339.153 515848.296 0, 1425038.187 515823.271 0, 1424737.219 515798.263 0, 1424436.251 515773.272 0, 1424135.28 515748.3 0, 1423834.309 515723.345 0, 1423533.336 515698.408 0, 1423232.361 515673.488 0, 1422931.385 515648.586 0, 1422630.407 515623.702 0,
+ 1422329.428 515598.836 0, 1422028.448 515573.987 0, 1421727.466 515549.156 0, 1421426.482 515524.343 0, 1421125.497 515499.548 0, 1420824.511 515474.77 0, 1420523.523 515450.01 0, 1420222.534 515425.268 0, 1419920.154 515400.429 0, 1419465.314 520939.542 0,
+ 1419010.442 526479.056 0, 1419312.167 526503.841 0, 1419612.504 526528.53 0, 1419912.84 526553.236 0, 1420213.174 526577.96 0, 1420513.507 526602.702 0, 1420813.838 526627.462 0, 1421114.168 526652.239 0, 1421414.496 526677.033 0, 1421714.823 526701.846 0,
+ 1422015.149 526726.676 0, 1422315.473 526751.524 0, 1422615.796 526776.389 0, 1422916.117 526801.272 0, 1423216.436 526826.173 0, 1423516.755 526851.092 0, 1423817.071 526876.028 0, 1424117.387 526900.982 0, 1424417.7 526925.953 0, 1424718.013 526950.943 0,
+ 1425018.324 526975.95 0, 1425318.633 527000.974 0, 1425618.941 527026.016 0, 1425919.247 527051.076 0, 1426218.167 527076.038 0, 1426519.856 527101.249 0, 1426820.158 527126.362 0, 1427120.458 527151.493 0, 1427420.757 527176.641 0, 1427721.055 527201.807 0,
+ 1428021.351 527226.991 0, 1428321.646 527252.192 0, 1428621.939 527277.411 0, 1428922.23 527302.648 0, 1429222.521 527327.902 0, 1429522.809 527353.174 0, 1429823.096 527378.464 0, 1430123.382 527403.771 0, 1430423.666 527429.096 0, 1430723.949 527454.439 0,
+ 1431024.23 527479.799 0, 1431324.51 527505.177 0, 1431624.788 527530.573 0, 1431925.065 527555.986 0, 1432225.34 527581.418 0, 1432525.614 527606.866 0, 1432825.886 527632.333 0, 1433126.157 527657.817 0, 1433425.043 527683.201 0, 1433895.564 522144.994 0,
+ 1434366.05 516607.188 0))
+
+POLYGON ((1447836.184 528928.065 0, 1447537.369 528901.836 0, 1447237.171 528875.504 0, 1446936.972 528849.189 0, 1446636.772 528822.892 0, 1446336.569 528796.613 0, 1446036.366 528770.351 0, 1445736.16 528744.107 0, 1445435.954 528717.881 0, 1445135.745 528691.672 0,
+ 1444835.535 528665.481 0, 1444535.324 528639.308 0, 1444235.111 528613.152 0, 1443934.896 528587.014 0, 1443634.68 528560.894 0, 1443334.463 528534.792 0, 1443034.243 528508.707 0, 1442734.023 528482.639 0, 1442433.801 528456.59 0, 1442133.577 528430.558 0,
+ 1441833.352 528404.543 0, 1441533.125 528378.547 0, 1441232.896 528352.568 0, 1440932.667 528326.607 0, 1440631.053 528300.544 0, 1440332.202 528274.737 0, 1440031.968 528248.829 0, 1439731.732 528222.938 0, 1439431.494 528197.066 0, 1439131.255 528171.21 0,
+ 1438831.015 528145.373 0, 1438530.773 528119.553 0, 1438230.529 528093.751 0, 1437930.284 528067.966 0, 1437630.037 528042.199 0, 1437329.789 528016.45 0, 1437029.54 527990.718 0, 1436729.289 527965.005 0, 1436429.036 527939.308 0, 1436128.782 527913.63 0,
+ 1435828.526 527887.969 0, 1435528.269 527862.326 0, 1435228.01 527836.7 0, 1434927.75 527811.093 0, 1434627.488 527785.502 0, 1434327.225 527759.93 0, 1434026.96 527734.375 0, 1433726.694 527708.838 0, 1433425.043 527683.201 0, 1432954.488 533221.806 0,
+ 1432483.899 538760.805 0, 1432784.896 538786.387 0, 1433084.51 538811.868 0, 1433384.123 538837.368 0, 1433683.734 538862.885 0, 1433983.344 538888.419 0, 1434282.952 538913.971 0, 1434582.559 538939.541 0, 1434882.164 538965.129 0, 1435181.768 538990.734 0,
+ 1435481.37 539016.357 0, 1435780.971 539041.997 0, 1436080.57 539067.655 0, 1436380.167 539093.331 0, 1436679.764 539119.024 0, 1436979.358 539144.735 0, 1437278.951 539170.463 0, 1437578.543 539196.21 0, 1437878.133 539221.973 0, 1438177.722 539247.755 0,
+ 1438477.309 539273.554 0, 1438776.894 539299.371 0, 1439076.478 539325.205 0, 1439376.061 539351.057 0, 1439674.263 539376.807 0, 1439975.221 539402.814 0, 1440274.799 539428.719 0, 1440574.376 539454.641 0, 1440873.951 539480.581 0, 1441173.524 539506.539 0,
+ 1441473.096 539532.515 0, 1441772.666 539558.508 0, 1442072.235 539584.518 0, 1442371.802 539610.547 0, 1442671.368 539636.593 0, 1442970.932 539662.656 0, 1443270.495 539688.737 0, 1443570.056 539714.836 0, 1443869.615 539740.953 0, 1444169.173 539767.087 0,
+ 1444468.73 539793.238 0, 1444768.285 539819.408 0, 1445067.838 539845.595 0, 1445367.39 539871.799 0, 1445666.94 539898.022 0, 1445966.489 539924.262 0, 1446266.036 539950.519 0, 1446565.582 539976.794 0, 1446863.748 540002.966 0, 1447349.983 534465.318 0,
+ 1447836.184 528928.065 0))
+
+POLYGON ((1461240.03 541285.748 0, 1460941.937 541258.733 0, 1460642.467 541231.612 0, 1460342.995 541204.508 0, 1460043.522 541177.422 0, 1459744.047 541150.354 0, 1459444.57 541123.303 0, 1459145.092 541096.27 0, 1458845.612 541069.254 0, 1458546.13 541042.256 0,
+ 1458246.647 541015.276 0, 1457947.163 540988.313 0, 1457647.677 540961.368 0, 1457348.189 540934.441 0, 1457048.7 540907.531 0, 1456749.209 540880.639 0, 1456449.716 540853.764 0, 1456150.222 540826.907 0, 1455850.726 540800.068 0, 1455551.229 540773.246 0,
+ 1455251.73 540746.442 0, 1454952.23 540719.656 0, 1454652.728 540692.887 0, 1454353.224 540666.136 0, 1454052.342 540639.28 0, 1453754.212 540612.687 0, 1453454.704 540585.989 0, 1453155.194 540559.308 0, 1452855.683 540532.645 0, 1452556.17 540506 0,
+ 1452256.655 540479.372 0, 1451957.139 540452.762 0, 1451657.621 540426.169 0, 1451358.102 540399.594 0, 1451058.581 540373.037 0, 1450759.059 540346.497 0, 1450459.535 540319.976 0, 1450160.01 540293.471 0, 1449860.482 540266.984 0, 1449560.954 540240.515 0,
+ 1449261.424 540214.064 0, 1448961.892 540187.63 0, 1448662.359 540161.214 0, 1448362.824 540134.815 0, 1448063.287 540108.434 0, 1447763.749 540082.071 0, 1447464.21 540055.725 0, 1447164.669 540029.397 0, 1446863.748 540002.966 0, 1446377.479 545541.005 0,
+ 1445891.175 551079.433 0, 1446191.441 551105.807 0, 1446490.33 551132.078 0, 1446789.218 551158.366 0, 1447088.104 551184.672 0, 1447386.988 551210.996 0, 1447685.871 551237.337 0, 1447984.752 551263.696 0, 1448283.632 551290.072 0, 1448582.51 551316.466 0,
+ 1448881.387 551342.877 0, 1449180.262 551369.306 0, 1449479.136 551395.753 0, 1449778.008 551422.217 0, 1450076.878 551448.699 0, 1450375.747 551475.198 0, 1450674.615 551501.715 0, 1450973.481 551528.25 0, 1451272.345 551554.802 0, 1451571.207 551581.372 0,
+ 1451870.069 551607.959 0, 1452168.928 551634.564 0, 1452467.786 551661.187 0, 1452766.643 551687.827 0, 1453064.124 551714.362 0, 1453364.351 551741.16 0, 1453663.202 551767.853 0, 1453962.053 551794.564 0, 1454260.901 551821.292 0, 1454559.748 551848.037 0,
+ 1454858.594 551874.801 0, 1455157.437 551901.581 0, 1455456.28 551928.38 0, 1455755.12 551955.196 0, 1456053.959 551982.03 0, 1456352.797 552008.881 0, 1456651.633 552035.75 0, 1456950.467 552062.636 0, 1457249.3 552089.54 0, 1457548.131 552116.462 0,
+ 1457846.961 552143.401 0, 1458145.789 552170.358 0, 1458444.615 552197.332 0, 1458743.44 552224.324 0, 1459042.263 552251.333 0, 1459341.085 552278.36 0, 1459639.905 552305.405 0, 1459938.724 552332.467 0, 1460236.168 552359.423 0, 1460738.117 546822.391 0,
+ 1461240.03 541285.748 0))
+
+POLYGON ((1474577.488 553679.935 0, 1474280.118 553652.139 0, 1473981.377 553624.232 0, 1473682.635 553596.343 0, 1473383.891 553568.472 0, 1473085.145 553540.619 0, 1472786.398 553512.783 0, 1472487.649 553484.964 0, 1472188.898 553457.163 0, 1471890.146 553429.38 0,
+ 1471591.392 553401.614 0, 1471292.636 553373.866 0, 1470993.879 553346.135 0, 1470695.12 553318.422 0, 1470396.36 553290.727 0, 1470097.598 553263.049 0, 1469798.834 553235.389 0, 1469500.068 553207.746 0, 1469201.301 553180.121 0, 1468902.533 553152.514 0,
+ 1468603.763 553124.924 0, 1468304.991 553097.352 0, 1468006.217 553069.797 0, 1467707.442 553042.26 0, 1467407.294 553014.614 0, 1467109.887 552987.238 0, 1466811.107 552959.754 0, 1466512.326 552932.287 0, 1466213.542 552904.838 0, 1465914.757 552877.406 0,
+ 1465615.971 552849.992 0, 1465317.183 552822.596 0, 1465018.393 552795.217 0, 1464719.602 552767.856 0, 1464420.809 552740.512 0, 1464122.015 552713.186 0, 1463823.219 552685.878 0, 1463524.421 552658.587 0, 1463225.622 552631.313 0, 1462926.821 552604.058 0,
+ 1462628.018 552576.819 0, 1462329.214 552549.599 0, 1462030.408 552522.396 0, 1461731.601 552495.211 0, 1461432.792 552468.043 0, 1461133.982 552440.892 0, 1460835.17 552413.76 0, 1460536.356 552386.645 0, 1460236.168 552359.423 0, 1459734.185 557896.84 0,
+ 1459232.166 563434.639 0, 1459531.699 563461.802 0, 1459829.861 563488.858 0, 1460128.021 563515.931 0, 1460426.18 563543.022 0, 1460724.337 563570.131 0, 1461022.492 563597.257 0, 1461320.646 563624.401 0, 1461618.798 563651.562 0, 1461916.949 563678.74 0,
+ 1462215.098 563705.937 0, 1462513.246 563733.151 0, 1462811.392 563760.382 0, 1463109.536 563787.631 0, 1463407.679 563814.897 0, 1463705.82 563842.181 0, 1464003.959 563869.483 0, 1464302.097 563896.802 0, 1464600.233 563924.139 0, 1464898.368 563951.493 0,
+ 1465196.501 563978.865 0, 1465494.632 564006.254 0, 1465792.762 564033.661 0, 1466090.89 564061.085 0, 1466387.649 564088.401 0, 1466687.142 564115.987 0, 1466985.265 564143.464 0, 1467283.387 564170.958 0, 1467581.507 564198.471 0, 1467879.625 564226 0,
+ 1468177.742 564253.548 0, 1468475.857 564281.112 0, 1468773.971 564308.695 0, 1469072.083 564336.295 0, 1469370.193 564363.912 0, 1469668.302 564391.547 0, 1469966.409 564419.199 0, 1470264.515 564446.869 0, 1470562.618 564474.557 0, 1470860.721 564502.262 0,
+ 1471158.821 564529.985 0, 1471456.92 564557.725 0, 1471755.018 564585.483 0, 1472053.113 564613.258 0, 1472351.207 564641.051 0, 1472649.3 564668.862 0, 1472947.39 564696.69 0, 1473245.48 564724.535 0, 1473542.2 564752.27 0, 1474059.862 559215.911 0,
+ 1474577.488 553679.935 0))
+
+POLYGON ((1487848.455 566110.325 0, 1487551.811 566081.751 0, 1487253.802 566053.063 0, 1486955.791 566024.393 0, 1486657.778 565995.741 0, 1486359.764 565967.106 0, 1486061.748 565938.488 0, 1485763.73 565909.889 0, 1485465.711 565881.306 0, 1485167.69 565852.742 0,
+ 1484869.667 565824.194 0, 1484571.643 565795.665 0, 1484273.616 565767.152 0, 1483975.589 565738.658 0, 1483677.559 565710.181 0, 1483379.528 565681.721 0, 1483081.495 565653.279 0, 1482783.461 565624.855 0, 1482485.425 565596.448 0, 1482187.387 565568.059 0,
+ 1481889.347 565539.687 0, 1481591.306 565511.332 0, 1481293.263 565482.996 0, 1480995.219 565454.677 0, 1480695.807 565426.245 0, 1480399.125 565398.091 0, 1480101.075 565369.824 0, 1479803.024 565341.575 0, 1479504.971 565313.344 0, 1479206.917 565285.13 0,
+ 1478908.861 565256.933 0, 1478610.803 565228.754 0, 1478312.743 565200.593 0, 1478014.682 565172.449 0, 1477716.619 565144.323 0, 1477418.555 565116.215 0, 1477120.489 565088.123 0, 1476822.421 565060.05 0, 1476524.352 565031.994 0, 1476226.281 565003.955 0,
+ 1475928.208 564975.934 0, 1475630.134 564947.931 0, 1475332.058 564919.945 0, 1475033.98 564891.977 0, 1474735.901 564864.026 0, 1474437.82 564836.093 0, 1474139.737 564808.177 0, 1473841.653 564780.279 0, 1473542.2 564752.27 0, 1473024.503 570289.008 0,
+ 1472506.771 575826.122 0, 1472805.569 575854.069 0, 1473103.001 575881.906 0, 1473400.432 575909.761 0, 1473697.861 575937.633 0, 1473995.289 575965.523 0, 1474292.715 575993.43 0, 1474590.139 576021.355 0, 1474887.562 576049.297 0, 1475184.983 576077.256 0,
+ 1475482.402 576105.234 0, 1475779.819 576133.228 0, 1476077.235 576161.241 0, 1476374.65 576189.27 0, 1476672.063 576217.317 0, 1476969.474 576245.382 0, 1477266.883 576273.464 0, 1477564.291 576301.564 0, 1477861.697 576329.681 0, 1478159.101 576357.816 0,
+ 1478456.504 576385.968 0, 1478753.905 576414.138 0, 1479051.305 576442.325 0, 1479348.702 576470.53 0, 1479644.736 576498.623 0, 1479943.493 576526.992 0, 1480240.886 576555.249 0, 1480538.277 576583.524 0, 1480835.667 576611.816 0, 1481133.054 576640.126 0,
+ 1481430.441 576668.454 0, 1481727.825 576696.798 0, 1482025.208 576725.161 0, 1482322.589 576753.54 0, 1482619.968 576781.938 0, 1482917.346 576810.353 0, 1483214.722 576838.785 0, 1483512.097 576867.235 0, 1483809.47 576895.702 0, 1484106.841 576924.187 0,
+ 1484404.21 576952.689 0, 1484701.578 576981.209 0, 1484998.944 577009.746 0, 1485296.308 577038.301 0, 1485593.671 577066.873 0, 1485891.032 577095.463 0, 1486188.392 577124.071 0, 1486485.749 577152.695 0, 1486781.744 577181.207 0, 1487315.118 571645.578 0,
+ 1487848.455 566110.325 0))
+
+POLYGON ((1501052.832 578576.615 0, 1500756.916 578547.268 0, 1500459.641 578517.803 0, 1500162.363 578488.356 0, 1499865.084 578458.926 0, 1499567.803 578429.513 0, 1499270.521 578400.119 0, 1498973.237 578370.741 0, 1498675.951 578341.382 0, 1498378.663 578312.039 0,
+ 1498081.373 578282.714 0, 1497784.082 578253.407 0, 1497486.789 578224.117 0, 1497189.495 578194.845 0, 1496892.198 578165.59 0, 1496594.9 578136.353 0, 1496297.601 578107.133 0, 1496000.299 578077.931 0, 1495702.996 578048.746 0, 1495405.691 578019.578 0,
+ 1495108.384 577990.428 0, 1494811.076 577961.296 0, 1494513.766 577932.181 0, 1494216.454 577903.084 0, 1493917.781 577873.871 0, 1493621.825 577844.942 0, 1493324.508 577815.897 0, 1493027.19 577786.87 0, 1492729.869 577757.86 0, 1492432.547 577728.867 0,
+ 1492135.223 577699.892 0, 1491837.898 577670.935 0, 1491540.571 577641.995 0, 1491243.242 577613.073 0, 1490945.911 577584.168 0, 1490648.579 577555.281 0, 1490351.245 577526.411 0, 1490053.909 577497.559 0, 1489756.572 577468.724 0, 1489459.233 577439.906 0,
+ 1489161.892 577411.106 0, 1488864.55 577382.324 0, 1488567.206 577353.559 0, 1488269.86 577324.812 0, 1487972.512 577296.082 0, 1487675.163 577267.37 0, 1487377.812 577238.675 0, 1487080.459 577209.998 0, 1486781.744 577181.207 0, 1486248.335 582717.208 0,
+ 1485714.89 588253.579 0, 1486012.951 588282.307 0, 1486309.651 588310.921 0, 1486606.351 588339.553 0, 1486903.048 588368.203 0, 1487199.744 588396.87 0, 1487496.438 588425.554 0, 1487793.131 588454.256 0, 1488089.822 588482.975 0, 1488386.511 588511.712 0,
+ 1488683.198 588540.466 0, 1488979.884 588569.237 0, 1489276.568 588598.027 0, 1489573.25 588626.833 0, 1489869.931 588655.657 0, 1490166.61 588684.499 0, 1490463.287 588713.358 0, 1490759.962 588742.234 0, 1491056.636 588771.128 0, 1491353.308 588800.039 0,
+ 1491649.979 588828.968 0, 1491946.648 588857.914 0, 1492243.315 588886.878 0, 1492539.98 588915.859 0, 1492835.287 588944.725 0, 1493133.305 588973.874 0, 1493429.966 589002.908 0, 1493726.624 589031.959 0, 1494023.281 589061.027 0, 1494319.936 589090.113 0,
+ 1494616.589 589119.217 0, 1494913.241 589148.338 0, 1495209.891 589177.476 0, 1495506.539 589206.632 0, 1495803.186 589235.805 0, 1496099.83 589264.996 0, 1496396.473 589294.204 0, 1496693.115 589323.429 0, 1496989.754 589352.673 0, 1497286.392 589381.933 0,
+ 1497583.028 589411.211 0, 1497879.663 589440.507 0, 1498176.296 589469.82 0, 1498472.927 589499.15 0, 1498769.556 589528.498 0, 1499066.183 589557.863 0, 1499362.809 589587.246 0, 1499659.433 589616.646 0, 1499954.7 589645.929 0, 1500503.784 584111.088 0,
+ 1501052.832 578576.615 0))
+
+POLYGON ((1514190.52 591078.504 0, 1513895.335 591048.387 0, 1513598.795 591018.149 0, 1513302.253 590987.928 0, 1513005.71 590957.725 0, 1512709.165 590927.539 0, 1512412.618 590897.371 0, 1512116.069 590867.22 0, 1511819.519 590837.086 0, 1511522.966 590806.97 0,
+ 1511226.412 590776.872 0, 1510929.857 590746.791 0, 1510633.299 590716.727 0, 1510336.74 590686.681 0, 1510040.178 590656.652 0, 1509743.616 590626.641 0, 1509447.051 590596.647 0, 1509150.485 590566.671 0, 1508853.916 590536.712 0, 1508557.346 590506.771 0,
+ 1508260.775 590476.847 0, 1507964.201 590446.94 0, 1507667.626 590417.051 0, 1507371.049 590387.18 0, 1507073.116 590357.189 0, 1506777.89 590327.489 0, 1506481.307 590297.67 0, 1506184.723 590267.868 0, 1505888.138 590238.084 0, 1505591.55 590208.317 0,
+ 1505294.961 590178.568 0, 1504998.37 590148.836 0, 1504701.777 590119.121 0, 1504405.183 590089.424 0, 1504108.586 590059.745 0, 1503811.988 590030.082 0, 1503515.389 590000.438 0, 1503218.787 589970.811 0, 1502922.184 589941.201 0, 1502625.579 589911.609 0,
+ 1502328.972 589882.034 0, 1502032.364 589852.476 0, 1501735.753 589822.937 0, 1501439.141 589793.414 0, 1501142.528 589763.909 0, 1500845.912 589734.422 0, 1500549.295 589704.952 0, 1500252.676 589675.499 0, 1499954.7 589645.929 0, 1499405.58 595181.137 0,
+ 1498856.423 600716.708 0, 1499153.745 600746.213 0, 1499449.712 600775.601 0, 1499745.678 600805.006 0, 1500041.642 600834.429 0, 1500337.604 600863.869 0, 1500633.564 600893.326 0, 1500929.523 600922.801 0, 1501225.48 600952.294 0, 1501521.435 600981.804 0,
+ 1501817.388 601011.331 0, 1502113.34 601040.876 0, 1502409.29 601070.438 0, 1502705.238 601100.017 0, 1503001.184 601129.614 0, 1503297.129 601159.229 0, 1503593.072 601188.86 0, 1503889.013 601218.51 0, 1504184.953 601248.176 0, 1504480.891 601277.86 0,
+ 1504776.827 601307.562 0, 1505072.761 601337.281 0, 1505368.693 601367.017 0, 1505664.624 601396.771 0, 1505959.202 601426.406 0, 1506256.48 601456.33 0, 1506552.406 601486.136 0, 1506848.33 601515.96 0, 1507144.251 601545.8 0, 1507440.172 601575.659 0,
+ 1507736.09 601605.534 0, 1508032.007 601635.427 0, 1508327.922 601665.338 0, 1508623.835 601695.266 0, 1508919.746 601725.211 0, 1509215.656 601755.174 0, 1509511.564 601785.154 0, 1509807.47 601815.151 0, 1510103.374 601845.166 0, 1510399.277 601875.199 0,
+ 1510695.178 601905.248 0, 1510991.077 601935.316 0, 1511286.974 601965.4 0, 1511582.87 601995.502 0, 1511878.763 602025.622 0, 1512174.655 602055.759 0, 1512470.546 602085.913 0, 1512766.434 602116.085 0, 1513060.971 602146.136 0, 1513625.764 596612.139 0,
+ 1514190.52 591078.504 0))
+
+POLYGON ((1527261.423 603615.689 0, 1526966.97 603584.805 0, 1526671.168 603553.797 0, 1526375.364 603522.807 0, 1526079.559 603491.835 0, 1525783.751 603460.879 0, 1525487.942 603429.941 0, 1525192.131 603399.021 0, 1524896.318 603368.118 0, 1524600.503 603337.232 0,
+ 1524304.687 603306.364 0, 1524008.868 603275.513 0, 1523713.048 603244.68 0, 1523417.226 603213.864 0, 1523121.402 603183.065 0, 1522825.576 603152.284 0, 1522529.749 603121.52 0, 1522233.92 603090.774 0, 1521938.089 603060.045 0, 1521642.256 603029.333 0,
+ 1521346.421 602998.639 0, 1521050.585 602967.963 0, 1520754.746 602937.303 0, 1520458.906 602906.661 0, 1520161.716 602875.897 0, 1519867.221 602845.43 0, 1519571.375 602814.84 0, 1519275.528 602784.268 0, 1518979.679 602753.713 0, 1518683.828 602723.176 0,
+ 1518387.975 602692.656 0, 1518092.121 602662.153 0, 1517796.264 602631.668 0, 1517500.406 602601.2 0, 1517204.546 602570.75 0, 1516908.685 602540.317 0, 1516612.821 602509.902 0, 1516316.956 602479.503 0, 1516021.089 602449.123 0, 1515725.22 602418.759 0,
+ 1515429.35 602388.414 0, 1515133.477 602358.085 0, 1514837.603 602327.774 0, 1514541.727 602297.481 0, 1514245.849 602267.204 0, 1513949.97 602236.946 0, 1513654.089 602206.704 0, 1513358.205 602176.48 0, 1513060.971 602146.136 0, 1512496.141 607680.493 0,
+ 1511931.275 613215.206 0, 1512227.855 613245.484 0, 1512523.086 613275.641 0, 1512818.316 613305.816 0, 1513113.544 613336.008 0, 1513408.77 613366.218 0, 1513703.995 613396.445 0, 1513999.218 613426.689 0, 1514294.439 613456.951 0, 1514589.658 613487.23 0,
+ 1514884.875 613517.526 0, 1515180.091 613547.84 0, 1515475.304 613578.171 0, 1515770.516 613608.52 0, 1516065.727 613638.886 0, 1516360.935 613669.269 0, 1516656.142 613699.669 0, 1516951.347 613730.088 0, 1517246.55 613760.523 0, 1517541.751 613790.976 0,
+ 1517836.95 613821.446 0, 1518132.148 613851.933 0, 1518427.344 613882.438 0, 1518722.538 613912.961 0, 1519016.385 613943.361 0, 1519312.921 613974.057 0, 1519608.109 614004.632 0, 1519903.296 614035.224 0, 1520198.481 614065.833 0, 1520493.665 614096.459 0,
+ 1520788.846 614127.103 0, 1521084.026 614157.764 0, 1521379.204 614188.443 0, 1521674.38 614219.139 0, 1521969.554 614249.853 0, 1522264.727 614280.583 0, 1522559.897 614311.331 0, 1522855.066 614342.097 0, 1523150.233 614372.88 0, 1523445.398 614403.68 0,
+ 1523740.562 614434.498 0, 1524035.723 614465.333 0, 1524330.883 614496.185 0, 1524626.041 614527.055 0, 1524921.197 614557.942 0, 1525216.351 614588.847 0, 1525511.504 614619.768 0, 1525806.655 614650.708 0, 1526100.459 614681.523 0, 1526680.96 609148.428 0,
+ 1527261.423 603615.689 0))
+
+POLYGON ((1540265.445 616187.865 0, 1539971.726 616156.219 0, 1539676.664 616124.446 0, 1539381.6 616092.69 0, 1539086.534 616060.952 0, 1538791.466 616029.231 0, 1538496.397 615997.528 0, 1538201.325 615965.842 0, 1537906.252 615934.173 0, 1537611.177 615902.522 0,
+ 1537316.1 615870.887 0, 1537021.021 615839.271 0, 1536725.94 615807.672 0, 1536430.858 615776.09 0, 1536135.773 615744.525 0, 1535840.687 615712.978 0, 1535545.599 615681.448 0, 1535250.509 615649.935 0, 1534955.417 615618.44 0, 1534660.323 615586.963 0,
+ 1534365.228 615555.502 0, 1534070.13 615524.059 0, 1533775.031 615492.634 0, 1533479.93 615461.225 0, 1533183.484 615429.692 0, 1532889.722 615398.461 0, 1532594.615 615367.105 0, 1532299.507 615335.766 0, 1532004.396 615304.445 0, 1531709.284 615273.141 0,
+ 1531414.17 615241.854 0, 1531119.054 615210.585 0, 1530823.937 615179.333 0, 1530528.817 615148.098 0, 1530233.696 615116.881 0, 1529938.572 615085.681 0, 1529643.447 615054.499 0, 1529348.32 615023.334 0, 1529053.192 614992.186 0, 1528758.061 614961.056 0,
+ 1528462.929 614929.943 0, 1528167.794 614898.847 0, 1527872.658 614867.769 0, 1527577.52 614836.708 0, 1527282.381 614805.665 0, 1526987.239 614774.638 0, 1526692.096 614743.63 0, 1526396.95 614712.638 0, 1526100.459 614681.523 0, 1525519.922 620214.972 0,
+ 1524939.347 625748.771 0, 1525235.184 625779.817 0, 1525529.678 625810.74 0, 1525824.17 625841.681 0, 1526118.66 625872.638 0, 1526413.148 625903.613 0, 1526707.635 625934.606 0, 1527002.12 625965.615 0, 1527296.603 625996.642 0, 1527591.084 626027.686 0,
+ 1527885.563 626058.748 0, 1528180.04 626089.827 0, 1528474.516 626120.923 0, 1528768.989 626152.037 0, 1529063.461 626183.168 0, 1529357.931 626214.316 0, 1529652.4 626245.482 0, 1529946.866 626276.665 0, 1530241.331 626307.865 0, 1530535.793 626339.083 0,
+ 1530830.254 626370.318 0, 1531124.713 626401.57 0, 1531419.171 626432.84 0, 1531713.626 626464.126 0, 1532006.74 626495.288 0, 1532302.531 626526.752 0, 1532596.981 626558.091 0, 1532891.429 626589.448 0, 1533185.875 626620.821 0, 1533480.319 626652.212 0,
+ 1533774.762 626683.62 0, 1534069.202 626715.046 0, 1534363.641 626746.489 0, 1534658.078 626777.949 0, 1534952.513 626809.427 0, 1535246.946 626840.922 0, 1535541.378 626872.434 0, 1535835.807 626903.963 0, 1536130.235 626935.51 0, 1536424.661 626967.074 0,
+ 1536719.085 626998.656 0, 1537013.507 627030.255 0, 1537307.927 627061.871 0, 1537602.345 627093.505 0, 1537896.762 627125.156 0, 1538191.176 627156.824 0, 1538485.589 627188.509 0, 1538780 627220.212 0, 1539073.07 627251.788 0, 1539669.276 621719.651 0,
+ 1540265.445 616187.865 0))
+
+POLYGON ((1553202.491 628794.729 0, 1552909.508 628762.325 0, 1552615.188 628729.791 0, 1552320.866 628697.274 0, 1552026.542 628664.774 0, 1551732.216 628632.291 0, 1551437.889 628599.826 0, 1551143.559 628567.378 0, 1550849.227 628534.948 0, 1550554.894 628502.534 0,
+ 1550260.558 628470.139 0, 1549966.221 628437.76 0, 1549671.882 628405.399 0, 1549377.541 628373.055 0, 1549083.198 628340.728 0, 1548788.853 628308.419 0, 1548494.506 628276.127 0, 1548200.157 628243.852 0, 1547905.806 628211.595 0, 1547611.454 628179.355 0,
+ 1547317.099 628147.132 0, 1547022.743 628114.927 0, 1546728.385 628082.739 0, 1546434.025 628050.568 0, 1546138.325 628018.269 0, 1545845.299 627986.279 0, 1545550.933 627954.16 0, 1545256.565 627922.059 0, 1544962.196 627889.975 0, 1544667.824 627857.908 0,
+ 1544373.451 627825.859 0, 1544079.076 627793.827 0, 1543784.698 627761.812 0, 1543490.319 627729.814 0, 1543195.939 627697.834 0, 1542901.556 627665.872 0, 1542607.171 627633.926 0, 1542312.785 627601.998 0, 1542018.396 627570.087 0, 1541724.006 627538.194 0,
+ 1541429.614 627506.318 0, 1541135.22 627474.459 0, 1540840.824 627442.617 0, 1540546.426 627410.793 0, 1540252.026 627378.986 0, 1539957.625 627347.197 0, 1539663.221 627315.425 0, 1539368.816 627283.67 0, 1539073.07 627251.788 0, 1538476.827 632784.271 0,
+ 1537880.546 638317.098 0, 1538175.638 638348.909 0, 1538469.392 638380.594 0, 1538763.144 638412.296 0, 1539056.894 638444.015 0, 1539350.643 638475.751 0, 1539644.389 638507.505 0, 1539938.134 638539.276 0, 1540231.877 638571.065 0, 1540525.618 638602.87 0,
+ 1540819.357 638634.693 0, 1541113.094 638666.533 0, 1541406.829 638698.391 0, 1541700.563 638730.266 0, 1541994.294 638762.158 0, 1542288.024 638794.067 0, 1542581.752 638825.994 0, 1542875.478 638857.937 0, 1543169.202 638889.899 0, 1543462.924 638921.877 0,
+ 1543756.644 638953.873 0, 1544050.362 638985.886 0, 1544344.079 639017.916 0, 1544637.794 639049.964 0, 1544930.172 639081.883 0, 1545225.217 639114.111 0, 1545518.926 639146.211 0, 1545812.633 639178.328 0, 1546106.338 639210.462 0, 1546400.042 639242.613 0,
+ 1546693.743 639274.782 0, 1546987.442 639306.968 0, 1547281.14 639339.171 0, 1547574.836 639371.391 0, 1547868.53 639403.629 0, 1548162.221 639435.884 0, 1548455.911 639468.157 0, 1548749.6 639500.446 0, 1549043.286 639532.753 0, 1549336.97 639565.078 0,
+ 1549630.653 639597.419 0, 1549924.333 639629.778 0, 1550218.012 639662.154 0, 1550511.688 639694.547 0, 1550805.363 639726.958 0, 1551099.036 639759.386 0, 1551392.707 639791.831 0, 1551686.376 639824.294 0, 1551978.71 639856.626 0, 1552590.619 634325.506 0,
+ 1553202.491 628794.729 0))
+
+POLYGON ((1566072.468 641435.978 0, 1565780.224 641402.82 0, 1565486.648 641369.528 0, 1565193.07 641336.253 0, 1564899.49 641302.995 0, 1564605.908 641269.755 0, 1564312.324 641236.532 0, 1564018.738 641203.326 0, 1563725.15 641170.138 0, 1563431.56 641136.967 0,
+ 1563137.968 641103.813 0, 1562844.374 641070.677 0, 1562550.779 641037.557 0, 1562257.181 641004.455 0, 1561963.581 640971.371 0, 1561669.98 640938.303 0, 1561376.376 640905.253 0, 1561082.771 640872.22 0, 1560789.164 640839.205 0, 1560495.554 640806.206 0,
+ 1560201.943 640773.225 0, 1559908.33 640740.262 0, 1559614.715 640707.315 0, 1559321.098 640674.386 0, 1559026.147 640641.325 0, 1558733.858 640608.579 0, 1558440.235 640575.702 0, 1558146.61 640542.842 0, 1557852.983 640509.999 0, 1557559.354 640477.174 0,
+ 1557265.724 640444.366 0, 1556972.091 640411.575 0, 1556678.457 640378.801 0, 1556384.82 640346.045 0, 1556091.182 640313.306 0, 1555797.542 640280.584 0, 1555503.899 640247.879 0, 1555210.255 640215.192 0, 1554916.609 640182.522 0, 1554622.961 640149.87 0,
+ 1554329.311 640117.234 0, 1554035.659 640084.616 0, 1553742.006 640052.015 0, 1553448.35 640019.432 0, 1553154.693 639986.866 0, 1552861.033 639954.317 0, 1552567.372 639921.785 0, 1552273.708 639889.271 0, 1551978.71 639856.626 0, 1551366.763 645388.086 0,
+ 1550754.779 650919.884 0, 1551049.123 650952.456 0, 1551342.135 650984.898 0, 1551635.145 651017.357 0, 1551928.154 651049.834 0, 1552221.16 651082.328 0, 1552514.165 651114.84 0, 1552807.167 651147.368 0, 1553100.168 651179.914 0, 1553393.167 651212.477 0,
+ 1553686.164 651245.057 0, 1553979.159 651277.655 0, 1554272.152 651310.269 0, 1554565.143 651342.901 0, 1554858.132 651375.55 0, 1555151.119 651408.217 0, 1555444.104 651440.901 0, 1555737.088 651473.602 0, 1556030.069 651506.32 0, 1556323.049 651539.055 0,
+ 1556616.027 651571.808 0, 1556909.002 651604.578 0, 1557201.976 651637.365 0, 1557494.948 651670.169 0, 1557786.589 651702.842 0, 1558080.886 651735.83 0, 1558373.852 651768.686 0, 1558666.816 651801.56 0, 1558959.778 651834.45 0, 1559252.738 651867.358 0,
+ 1559545.697 651900.283 0, 1559838.653 651933.226 0, 1560131.607 651966.185 0, 1560424.56 651999.162 0, 1560717.51 652032.156 0, 1561010.459 652065.168 0, 1561303.406 652098.196 0, 1561596.35 652131.242 0, 1561889.293 652164.305 0, 1562182.234 652197.385 0,
+ 1562475.173 652230.483 0, 1562768.11 652263.598 0, 1563061.045 652296.73 0, 1563353.978 652329.879 0, 1563646.909 652363.045 0, 1563939.838 652396.229 0, 1564232.765 652429.43 0, 1564525.69 652462.648 0, 1564817.286 652495.733 0, 1565444.896 646965.687 0,
+ 1566072.468 641435.978 0))
+
+POLYGON ((1578875.285 654111.306 0, 1578583.782 654077.397 0, 1578290.951 654043.352 0, 1577998.119 654009.323 0, 1577705.285 653975.312 0, 1577412.449 653941.318 0, 1577119.611 653907.341 0, 1576826.77 653873.382 0, 1576533.928 653839.439 0, 1576241.084 653805.514 0,
+ 1575948.238 653771.607 0, 1575655.39 653737.716 0, 1575362.539 653703.843 0, 1575069.687 653669.987 0, 1574776.833 653636.148 0, 1574483.977 653602.326 0, 1574191.119 653568.522 0, 1573898.259 653534.735 0, 1573605.397 653500.965 0, 1573312.532 653467.212 0,
+ 1573019.666 653433.477 0, 1572726.798 653399.759 0, 1572433.928 653366.058 0, 1572141.056 653332.374 0, 1571846.856 653298.555 0, 1571555.306 653265.058 0, 1571262.428 653231.426 0, 1570969.548 653197.812 0, 1570676.666 653164.214 0, 1570383.782 653130.634 0,
+ 1570090.896 653097.071 0, 1569798.009 653063.525 0, 1569505.119 653029.996 0, 1569212.227 652996.485 0, 1568919.333 652962.991 0, 1568626.437 652929.514 0, 1568333.54 652896.054 0, 1568040.64 652862.612 0, 1567747.738 652829.187 0, 1567454.835 652795.779 0,
+ 1567161.929 652762.388 0, 1566869.021 652729.015 0, 1566576.112 652695.659 0, 1566283.2 652662.32 0, 1565990.287 652628.998 0, 1565697.372 652595.694 0, 1565404.454 652562.407 0, 1565111.535 652529.137 0, 1564817.286 652495.733 0, 1564189.638 658026.113 0,
+ 1563561.953 663556.823 0, 1563855.547 663590.152 0, 1564147.816 663623.348 0, 1564440.082 663656.561 0, 1564732.346 663689.792 0, 1565024.609 663723.039 0, 1565316.869 663756.304 0, 1565609.128 663789.586 0, 1565901.385 663822.885 0, 1566193.639 663856.202 0,
+ 1566485.892 663889.535 0, 1566778.142 663922.886 0, 1567070.391 663956.254 0, 1567362.638 663989.64 0, 1567654.883 664023.042 0, 1567947.126 664056.462 0, 1568239.366 664089.899 0, 1568531.605 664123.353 0, 1568823.842 664156.824 0, 1569116.077 664190.312 0,
+ 1569408.31 664223.818 0, 1569700.541 664257.341 0, 1569992.77 664290.881 0, 1570284.997 664324.438 0, 1570575.899 664357.86 0, 1570869.445 664391.604 0, 1571161.667 664425.213 0, 1571453.886 664458.839 0, 1571746.103 664492.482 0, 1572038.318 664526.143 0,
+ 1572330.531 664559.82 0, 1572622.742 664593.515 0, 1572914.952 664627.227 0, 1573207.159 664660.956 0, 1573499.364 664694.703 0, 1573791.567 664728.466 0, 1574083.769 664762.247 0, 1574375.968 664796.045 0, 1574668.165 664829.861 0, 1574960.361 664863.693 0,
+ 1575252.554 664897.543 0, 1575544.745 664931.409 0, 1575836.935 664965.293 0, 1576129.122 664999.195 0, 1576421.307 665033.113 0, 1576713.491 665067.049 0, 1577005.672 665101.001 0, 1577297.852 665134.972 0, 1577588.707 665168.805 0, 1578232.015 659639.89 0,
+ 1578875.285 654111.306 0))
+
+POLYGON ((1591610.852 666820.409 0, 1591320.09 666785.753 0, 1591028.008 666750.958 0, 1590735.924 666716.18 0, 1590443.838 666681.419 0, 1590151.749 666646.675 0, 1589859.659 666611.949 0, 1589567.566 666577.239 0, 1589275.472 666542.547 0, 1588983.375 666507.872 0,
+ 1588691.277 666473.214 0, 1588399.176 666438.574 0, 1588107.073 666403.95 0, 1587814.969 666369.344 0, 1587522.862 666334.755 0, 1587230.753 666300.183 0, 1586938.642 666265.629 0, 1586646.53 666231.091 0, 1586354.415 666196.571 0, 1586062.298 666162.068 0,
+ 1585770.179 666127.582 0, 1585478.058 666093.113 0, 1585185.935 666058.662 0, 1584893.81 666024.227 0, 1584600.363 665989.655 0, 1584309.554 665955.41 0, 1584017.423 665921.028 0, 1583725.29 665886.662 0, 1583433.155 665852.314 0, 1583141.017 665817.983 0,
+ 1582848.878 665783.669 0, 1582556.737 665749.372 0, 1582264.594 665715.093 0, 1581972.449 665680.83 0, 1581680.301 665646.585 0, 1581388.152 665612.357 0, 1581096.001 665578.146 0, 1580803.848 665543.953 0, 1580511.692 665509.777 0, 1580219.535 665475.617 0,
+ 1579927.376 665441.475 0, 1579635.214 665407.351 0, 1579343.051 665373.243 0, 1579050.886 665339.153 0, 1578758.718 665305.079 0, 1578466.549 665271.023 0, 1578174.378 665236.985 0, 1577882.204 665202.963 0, 1577588.707 665168.805 0, 1576945.361 670698.046 0,
+ 1576301.977 676227.612 0, 1576594.82 676261.694 0, 1576886.343 676295.639 0, 1577177.863 676329.602 0, 1577469.382 676363.582 0, 1577760.898 676397.58 0, 1578052.413 676431.594 0, 1578343.925 676465.626 0, 1578635.436 676499.675 0, 1578926.944 676533.74 0,
+ 1579218.45 676567.824 0, 1579509.955 676601.924 0, 1579801.457 676636.041 0, 1580092.958 676670.176 0, 1580384.456 676704.327 0, 1580675.953 676738.496 0, 1580967.447 676772.682 0, 1581258.939 676806.885 0, 1581550.43 676841.106 0, 1581841.918 676875.343 0,
+ 1582133.404 676909.598 0, 1582424.889 676943.87 0, 1582716.371 676978.159 0, 1583007.851 677012.465 0, 1583298.012 677046.633 0, 1583590.806 677081.128 0, 1583882.28 677115.486 0, 1584173.752 677149.861 0, 1584465.222 677184.253 0, 1584756.691 677218.662 0,
+ 1585048.157 677253.088 0, 1585339.621 677287.531 0, 1585631.083 677321.992 0, 1585922.543 677356.469 0, 1586214.001 677390.964 0, 1586505.457 677425.476 0, 1586796.911 677460.005 0, 1587088.363 677494.551 0, 1587379.813 677529.115 0, 1587671.261 677563.696 0,
+ 1587962.706 677598.293 0, 1588254.15 677632.908 0, 1588545.592 677667.54 0, 1588837.032 677702.189 0, 1589128.469 677736.856 0, 1589419.905 677771.539 0, 1589711.338 677806.24 0, 1590002.77 677840.958 0, 1590292.883 677875.536 0, 1590951.887 672347.81 0,
+ 1591610.852 666820.409 0))
+
+POLYGON ((1604279.078 679562.98 0, 1603989.061 679527.583 0, 1603697.729 679492.042 0, 1603406.395 679456.518 0, 1603115.058 679421.011 0, 1602823.72 679385.521 0, 1602532.379 679350.049 0, 1602241.036 679314.594 0, 1601949.691 679279.155 0, 1601658.345 679243.734 0,
+ 1601366.996 679208.331 0, 1601075.644 679172.944 0, 1600784.291 679137.574 0, 1600492.936 679102.222 0, 1600201.579 679066.887 0, 1599910.219 679031.569 0, 1599618.858 678996.268 0, 1599327.494 678960.984 0, 1599036.129 678925.717 0, 1598744.761 678890.468 0,
+ 1598453.391 678855.235 0, 1598162.019 678820.02 0, 1597870.645 678784.822 0, 1597579.269 678749.641 0, 1597286.577 678714.319 0, 1596996.511 678679.331 0, 1596705.129 678644.201 0, 1596413.745 678609.089 0, 1596122.358 678573.994 0, 1595830.97 678538.916 0,
+ 1595539.58 678503.855 0, 1595248.187 678468.811 0, 1594956.792 678433.785 0, 1594665.396 678398.775 0, 1594373.997 678363.783 0, 1594082.596 678328.808 0, 1593791.194 678293.85 0, 1593499.789 678258.909 0, 1593208.382 678223.986 0, 1592916.973 678189.079 0,
+ 1592625.562 678154.19 0, 1592334.149 678119.318 0, 1592042.733 678084.463 0, 1591751.316 678049.625 0, 1591459.897 678014.804 0, 1591168.476 677980.001 0, 1590877.052 677945.214 0, 1590585.627 677910.445 0, 1590292.883 677875.536 0, 1589633.842 683403.581 0,
+ 1588974.763 688931.944 0, 1589266.852 688966.775 0, 1589557.627 689001.467 0, 1589848.4 689036.175 0, 1590139.17 689070.901 0, 1590429.939 689105.644 0, 1590720.705 689140.404 0, 1591011.47 689175.182 0, 1591302.232 689209.976 0, 1591592.992 689244.787 0,
+ 1591883.751 689279.616 0, 1592174.507 689314.461 0, 1592465.261 689349.324 0, 1592756.013 689384.204 0, 1593046.763 689419.101 0, 1593337.511 689454.015 0, 1593628.257 689488.946 0, 1593919.001 689523.895 0, 1594209.743 689558.86 0, 1594500.483 689593.843 0,
+ 1594791.22 689628.842 0, 1595081.956 689663.859 0, 1595372.69 689698.893 0, 1595663.421 689733.944 0, 1595952.839 689768.854 0, 1596244.878 689804.098 0, 1596535.604 689839.2 0, 1596826.327 689874.319 0, 1597117.048 689909.456 0, 1597407.767 689944.61 0,
+ 1597698.484 689979.78 0, 1597989.199 690014.968 0, 1598279.912 690050.173 0, 1598570.623 690085.395 0, 1598861.332 690120.635 0, 1599152.039 690155.891 0, 1599442.743 690191.164 0, 1599733.446 690226.455 0, 1600024.146 690261.763 0, 1600314.845 690297.087 0,
+ 1600605.541 690332.429 0, 1600896.235 690367.788 0, 1601186.927 690403.164 0, 1601477.618 690438.558 0, 1601768.306 690473.968 0, 1602058.991 690509.395 0, 1602349.675 690544.84 0, 1602640.357 690580.302 0, 1602929.726 690615.62 0, 1603604.422 685089.142 0,
+ 1604279.078 679562.98 0))
+
+POLYGON ((1616879.878 692338.716 0, 1616590.607 692302.579 0, 1616300.027 692266.296 0, 1616009.444 692230.031 0, 1615718.859 692193.782 0, 1615428.273 692157.551 0, 1615137.684 692121.336 0, 1614847.093 692085.139 0, 1614556.499 692048.959 0, 1614265.904 692012.796 0,
+ 1613975.307 691976.65 0, 1613684.707 691940.521 0, 1613394.105 691904.41 0, 1613103.502 691868.315 0, 1612812.896 691832.237 0, 1612522.288 691796.177 0, 1612231.677 691760.134 0, 1611941.065 691724.108 0, 1611650.451 691688.099 0, 1611359.834 691652.107 0,
+ 1611069.215 691616.132 0, 1610778.595 691580.174 0, 1610487.972 691544.233 0, 1610197.347 691508.31 0, 1609905.41 691472.242 0, 1609616.09 691436.514 0, 1609325.459 691400.642 0, 1609034.825 691364.787 0, 1608744.19 691328.948 0, 1608453.552 691293.128 0,
+ 1608162.912 691257.324 0, 1607872.27 691221.537 0, 1607581.626 691185.767 0, 1607290.98 691150.015 0, 1607000.332 691114.28 0, 1606709.682 691078.561 0, 1606419.029 691042.86 0, 1606128.375 691007.176 0, 1605837.718 690971.509 0, 1605547.059 690935.859 0,
+ 1605256.399 690900.227 0, 1604965.736 690864.611 0, 1604675.071 690829.012 0, 1604384.404 690793.431 0, 1604093.734 690757.867 0, 1603803.063 690722.319 0, 1603512.39 690686.789 0, 1603221.714 690651.276 0, 1602929.726 690615.62 0, 1602254.993 696142.412 0,
+ 1601580.221 701669.515 0, 1601871.556 701705.091 0, 1602161.581 701740.524 0, 1602451.603 701775.975 0, 1602741.624 701811.442 0, 1603031.643 701846.927 0, 1603321.659 701882.429 0, 1603611.674 701917.948 0, 1603901.686 701953.484 0, 1604191.696 701989.037 0,
+ 1604481.704 702024.607 0, 1604771.71 702060.194 0, 1605061.714 702095.798 0, 1605351.716 702131.419 0, 1605641.716 702167.058 0, 1605931.714 702202.713 0, 1606221.709 702238.386 0, 1606511.703 702274.075 0, 1606801.694 702309.782 0, 1607091.683 702345.505 0,
+ 1607381.671 702381.246 0, 1607671.656 702417.004 0, 1607961.639 702452.779 0, 1608251.619 702488.571 0, 1608540.292 702524.218 0, 1608831.575 702560.206 0, 1609121.549 702596.049 0, 1609411.522 702631.909 0, 1609701.492 702667.786 0, 1609991.46 702703.681 0,
+ 1610281.426 702739.592 0, 1610571.39 702775.521 0, 1610861.352 702811.466 0, 1611151.312 702847.429 0, 1611441.27 702883.409 0, 1611731.225 702919.405 0, 1612021.179 702955.419 0, 1612311.13 702991.45 0, 1612601.079 703027.498 0, 1612891.026 703063.563 0,
+ 1613180.971 703099.645 0, 1613470.914 703135.744 0, 1613760.854 703171.86 0, 1614050.793 703207.994 0, 1614340.729 703244.144 0, 1614630.663 703280.311 0, 1614920.596 703316.496 0, 1615210.526 703352.697 0, 1615499.149 703388.753 0, 1616189.532 697863.579 0,
+ 1616879.878 692338.716 0))
+
+POLYGON ((1629413.163 705147.308 0, 1629124.641 705110.437 0, 1628834.815 705073.416 0, 1628544.986 705036.413 0, 1628255.155 704999.427 0, 1627965.322 704962.457 0, 1627675.486 704925.505 0, 1627385.649 704888.57 0, 1627095.809 704851.652 0, 1626805.968 704814.751 0,
+ 1626516.124 704777.867 0, 1626226.277 704741 0, 1625936.429 704704.15 0, 1625646.579 704667.317 0, 1625356.726 704630.501 0, 1625066.871 704593.702 0, 1624777.014 704556.921 0, 1624487.155 704520.156 0, 1624197.294 704483.409 0, 1623907.43 704446.678 0,
+ 1623617.565 704409.965 0, 1623327.697 704373.268 0, 1623037.827 704336.589 0, 1622747.955 704299.927 0, 1622456.777 704263.117 0, 1622168.204 704226.653 0, 1621878.325 704190.042 0, 1621588.445 704153.448 0, 1621298.562 704116.871 0, 1621008.677 704080.312 0,
+ 1620718.79 704043.769 0, 1620428.9 704007.243 0, 1620139.009 703970.734 0, 1619849.115 703934.243 0, 1619559.219 703897.768 0, 1619269.321 703861.311 0, 1618979.421 703824.87 0, 1618689.519 703788.447 0, 1618399.615 703752.041 0, 1618109.708 703715.651 0,
+ 1617819.8 703679.279 0, 1617529.889 703642.924 0, 1617239.976 703606.586 0, 1616950.061 703570.265 0, 1616660.144 703533.961 0, 1616370.224 703497.674 0, 1616080.303 703461.404 0, 1615790.379 703425.152 0, 1615499.149 703388.753 0, 1614808.726 708914.234 0,
+ 1614118.266 714440.018 0, 1614408.844 714476.335 0, 1614698.117 714512.506 0, 1614987.388 714548.694 0, 1615276.657 714584.9 0, 1615565.923 714621.122 0, 1615855.188 714657.362 0, 1616144.451 714693.618 0, 1616433.711 714729.892 0, 1616722.969 714766.182 0,
+ 1617012.225 714802.49 0, 1617301.479 714838.815 0, 1617590.731 714875.156 0, 1617879.981 714911.515 0, 1618169.228 714947.891 0, 1618458.474 714984.283 0, 1618747.717 715020.693 0, 1619036.958 715057.12 0, 1619326.197 715093.564 0, 1619615.434 715130.025 0,
+ 1619904.669 715166.502 0, 1620193.901 715202.997 0, 1620483.131 715239.509 0, 1620772.36 715276.038 0, 1621060.285 715312.42 0, 1621350.81 715349.147 0, 1621640.032 715385.727 0, 1621929.251 715422.324 0, 1622218.469 715458.938 0, 1622507.684 715495.569 0,
+ 1622796.897 715532.217 0, 1623086.108 715568.882 0, 1623375.317 715605.564 0, 1623664.524 715642.264 0, 1623953.728 715678.98 0, 1624242.93 715715.713 0, 1624532.131 715752.463 0, 1624821.329 715789.23 0, 1625110.525 715826.015 0, 1625399.718 715862.816 0,
+ 1625688.91 715899.634 0, 1625978.099 715936.469 0, 1626267.286 715973.322 0, 1626556.471 716010.191 0, 1626845.654 716047.078 0, 1627134.835 716083.981 0, 1627424.014 716120.901 0, 1627713.19 716157.839 0, 1628001.065 716194.627 0, 1628707.133 710670.816 0,
+ 1629413.163 705147.308 0))
+
+POLYGON ((1641878.851 717988.451 0, 1641591.079 717950.849 0, 1641302.008 717913.095 0, 1641012.935 717875.358 0, 1640723.859 717837.638 0, 1640434.782 717799.934 0, 1640145.702 717762.248 0, 1639856.62 717724.579 0, 1639567.536 717686.927 0, 1639278.45 717649.292 0,
+ 1638989.361 717611.674 0, 1638700.27 717574.072 0, 1638411.177 717536.488 0, 1638122.082 717498.921 0, 1637832.985 717461.371 0, 1637543.885 717423.838 0, 1637254.783 717386.322 0, 1636965.679 717348.823 0, 1636676.573 717311.341 0, 1636387.464 717273.876 0,
+ 1636098.354 717236.428 0, 1635809.241 717198.997 0, 1635520.126 717161.583 0, 1635231.009 717124.186 0, 1634940.591 717086.638 0, 1634652.767 717049.443 0, 1634363.644 717012.097 0, 1634074.517 716974.768 0, 1633785.389 716937.457 0, 1633496.259 716900.162 0,
+ 1633207.126 716862.884 0, 1632917.991 716825.623 0, 1632628.854 716788.379 0, 1632339.715 716751.153 0, 1632050.574 716713.943 0, 1631761.43 716676.75 0, 1631472.284 716639.574 0, 1631183.136 716602.416 0, 1630893.986 716565.274 0, 1630604.834 716528.149 0,
+ 1630315.679 716491.042 0, 1630026.522 716453.951 0, 1629737.363 716416.877 0, 1629448.202 716379.821 0, 1629159.039 716342.781 0, 1628869.873 716305.759 0, 1628580.706 716268.753 0, 1628291.536 716231.765 0, 1628001.065 716194.627 0, 1627294.958 721718.738 0,
+ 1626588.813 727243.146 0, 1626878.631 727280.2 0, 1627167.15 727317.106 0, 1627455.668 727354.028 0, 1627744.183 727390.967 0, 1628032.696 727427.923 0, 1628321.207 727464.897 0, 1628609.715 727501.887 0, 1628898.222 727538.894 0, 1629186.726 727575.918 0,
+ 1629475.228 727612.96 0, 1629763.728 727650.018 0, 1630052.226 727687.093 0, 1630340.722 727724.185 0, 1630629.215 727761.294 0, 1630917.706 727798.42 0, 1631206.195 727835.563 0, 1631494.682 727872.723 0, 1631783.167 727909.9 0, 1632071.649 727947.094 0,
+ 1632360.129 727984.305 0, 1632648.608 728021.533 0, 1632937.083 728058.778 0, 1633225.557 728096.04 0, 1633512.734 728133.151 0, 1633802.498 728170.615 0, 1634090.965 728207.928 0, 1634379.43 728245.257 0, 1634667.893 728282.604 0, 1634956.353 728319.968 0,
+ 1635244.812 728357.349 0, 1635533.268 728394.746 0, 1635821.722 728432.161 0, 1636110.173 728469.593 0, 1636398.623 728507.042 0, 1636687.07 728544.507 0, 1636975.515 728581.99 0, 1637263.958 728619.489 0, 1637552.399 728657.006 0, 1637840.837 728694.54 0,
+ 1638129.274 728732.09 0, 1638417.708 728769.658 0, 1638706.139 728807.242 0, 1638994.569 728844.844 0, 1639282.996 728882.462 0, 1639571.422 728920.097 0, 1639859.845 728957.75 0, 1640148.265 728995.419 0, 1640435.39 729032.936 0, 1641157.14 723510.546 0,
+ 1641878.851 717988.451 0))
+
+POLYGON ((1654276.856 730861.838 0, 1653989.836 730823.51 0, 1653701.523 730785.026 0, 1653413.207 730746.559 0, 1653124.89 730708.109 0, 1652836.57 730669.675 0, 1652548.247 730631.259 0, 1652259.923 730592.86 0, 1651971.596 730554.478 0, 1651683.267 730516.113 0,
+ 1651394.936 730477.764 0, 1651106.602 730439.433 0, 1650818.267 730401.119 0, 1650529.928 730362.821 0, 1650241.588 730324.541 0, 1649953.246 730286.277 0, 1649664.901 730248.031 0, 1649376.554 730209.801 0, 1649088.204 730171.589 0, 1648799.853 730133.393 0,
+ 1648511.499 730095.215 0, 1648223.143 730057.053 0, 1647934.785 730018.908 0, 1647646.424 729980.781 0, 1647356.769 729942.499 0, 1647069.696 729904.576 0, 1646781.329 729866.5 0, 1646492.96 729828.44 0, 1646204.588 729790.397 0, 1645916.214 729752.371 0,
+ 1645627.838 729714.362 0, 1645339.459 729676.37 0, 1645051.078 729638.396 0, 1644762.695 729600.438 0, 1644474.31 729562.497 0, 1644185.923 729524.573 0, 1643897.533 729486.666 0, 1643609.141 729448.776 0, 1643320.747 729410.903 0, 1643032.351 729373.046 0,
+ 1642743.952 729335.207 0, 1642455.552 729297.385 0, 1642167.149 729259.58 0, 1641878.743 729221.792 0, 1641590.336 729184.021 0, 1641301.926 729146.266 0, 1641013.514 729108.529 0, 1640725.1 729070.809 0, 1640435.39 729032.936 0, 1639713.603 734555.62 0,
+ 1638991.777 740078.594 0, 1639280.834 740116.381 0, 1639568.598 740154.016 0, 1639856.359 740191.668 0, 1640144.119 740229.338 0, 1640431.876 740267.024 0, 1640719.632 740304.727 0, 1641007.384 740342.447 0, 1641295.135 740380.184 0, 1641582.884 740417.937 0,
+ 1641870.63 740455.708 0, 1642158.374 740493.496 0, 1642446.116 740531.3 0, 1642733.855 740569.122 0, 1643021.593 740606.961 0, 1643309.328 740644.816 0, 1643597.061 740682.688 0, 1643884.791 740720.578 0, 1644172.52 740758.484 0, 1644460.246 740796.407 0,
+ 1644747.97 740834.347 0, 1645035.692 740872.304 0, 1645323.411 740910.278 0, 1645611.128 740948.269 0, 1645897.554 740986.107 0, 1646186.556 741024.302 0, 1646474.267 741062.344 0, 1646761.975 741100.402 0, 1647049.681 741138.478 0, 1647337.385 741176.57 0,
+ 1647625.086 741214.68 0, 1647912.786 741252.806 0, 1648200.483 741290.95 0, 1648488.178 741329.11 0, 1648775.87 741367.287 0, 1649063.561 741405.481 0, 1649351.249 741443.692 0, 1649638.935 741481.92 0, 1649926.618 741520.165 0, 1650214.3 741558.427 0,
+ 1650501.979 741596.706 0, 1650789.656 741635.001 0, 1651077.33 741673.314 0, 1651365.002 741711.644 0, 1651652.673 741749.99 0, 1651940.34 741788.354 0, 1652228.006 741826.734 0, 1652515.669 741865.131 0, 1652802.042 741903.374 0, 1653539.469 736382.461 0,
+ 1654276.856 730861.838 0))
+
+POLYGON ((1666607.097 743767.162 0, 1666320.831 743728.111 0, 1666033.278 743688.901 0, 1665745.722 743649.708 0, 1665458.163 743610.532 0, 1665170.603 743571.373 0, 1664883.04 743532.231 0, 1664595.475 743493.106 0, 1664307.907 743453.997 0, 1664020.337 743414.906 0,
+ 1663732.765 743375.831 0, 1663445.191 743336.774 0, 1663157.614 743297.733 0, 1662870.035 743258.71 0, 1662582.454 743219.703 0, 1662294.87 743180.713 0, 1662007.284 743141.74 0, 1661719.696 743102.784 0, 1661432.106 743063.845 0, 1661144.513 743024.923 0,
+ 1660856.918 742986.018 0, 1660569.32 742947.13 0, 1660281.721 742908.258 0, 1659994.119 742869.404 0, 1659705.228 742830.393 0, 1659418.908 742791.746 0, 1659131.299 742752.942 0, 1658843.688 742714.155 0, 1658556.075 742675.386 0, 1658268.459 742636.633 0,
+ 1657980.841 742597.897 0, 1657693.221 742559.178 0, 1657405.599 742520.476 0, 1657117.974 742481.791 0, 1656830.347 742443.123 0, 1656542.718 742404.471 0, 1656255.086 742365.837 0, 1655967.452 742327.22 0, 1655679.816 742288.619 0, 1655392.178 742250.036 0,
+ 1655104.537 742211.469 0, 1654816.894 742172.919 0, 1654529.249 742134.387 0, 1654241.602 742095.871 0, 1653953.952 742057.372 0, 1653666.3 742018.89 0, 1653378.646 741980.425 0, 1653090.989 741941.977 0, 1652802.042 741903.374 0, 1652064.578 747424.572 0,
+ 1651327.076 752946.054 0, 1651615.369 752984.57 0, 1651902.376 753022.931 0, 1652189.38 753061.309 0, 1652476.382 753099.704 0, 1652763.382 753138.116 0, 1653050.38 753176.545 0, 1653337.375 753214.99 0, 1653624.368 753253.453 0, 1653911.359 753291.932 0,
+ 1654198.347 753330.429 0, 1654485.334 753368.942 0, 1654772.317 753407.472 0, 1655059.299 753446.019 0, 1655346.279 753484.583 0, 1655633.256 753523.164 0, 1655920.231 753561.762 0, 1656207.203 753600.376 0, 1656494.174 753639.008 0, 1656781.142 753677.656 0,
+ 1657068.107 753716.321 0, 1657355.071 753755.004 0, 1657642.032 753793.703 0, 1657928.991 753832.419 0, 1658214.664 753870.978 0, 1658502.902 753909.901 0, 1658789.854 753948.668 0, 1659076.804 753987.451 0, 1659363.752 754026.252 0, 1659650.697 754065.069 0,
+ 1659937.64 754103.903 0, 1660224.58 754142.754 0, 1660511.519 754181.622 0, 1660798.455 754220.507 0, 1661085.389 754259.409 0, 1661372.32 754298.327 0, 1661659.25 754337.263 0, 1661946.176 754376.215 0, 1662233.101 754415.185 0, 1662520.024 754454.171 0,
+ 1662806.944 754493.174 0, 1663093.861 754532.194 0, 1663380.777 754571.231 0, 1663667.69 754610.284 0, 1663954.601 754649.355 0, 1664241.509 754688.442 0, 1664528.416 754727.547 0, 1664815.32 754766.668 0, 1665100.939 754805.631 0, 1665854.037 749286.255 0,
+ 1666607.097 743767.162 0))
+
+POLYGON ((1678869.494 756704.115 0, 1678583.983 756664.345 0, 1678297.191 756624.413 0, 1678010.396 756584.498 0, 1677723.599 756544.6 0, 1677436.8 756504.719 0, 1677149.998 756464.855 0, 1676863.194 756425.008 0, 1676576.388 756385.178 0, 1676289.579 756345.364 0,
+ 1676002.768 756305.567 0, 1675715.955 756265.788 0, 1675429.139 756226.025 0, 1675142.321 756186.279 0, 1674855.501 756146.55 0, 1674568.678 756106.838 0, 1674281.853 756067.142 0, 1673995.025 756027.464 0, 1673708.195 755987.802 0, 1673421.363 755948.158 0,
+ 1673134.529 755908.53 0, 1672847.692 755868.919 0, 1672560.853 755829.325 0, 1672274.012 755789.748 0, 1671985.887 755750.011 0, 1671700.322 755710.644 0, 1671413.473 755671.118 0, 1671126.623 755631.608 0, 1670839.769 755592.115 0, 1670552.914 755552.639 0,
+ 1670266.056 755513.18 0, 1669979.196 755473.738 0, 1669692.334 755434.313 0, 1669405.469 755394.905 0, 1669118.602 755355.513 0, 1668831.733 755316.139 0, 1668544.861 755276.781 0, 1668257.987 755237.44 0, 1667971.111 755198.116 0, 1667684.233 755158.809 0,
+ 1667397.352 755119.519 0, 1667110.468 755080.246 0, 1666823.583 755040.99 0, 1666536.695 755001.75 0, 1666249.805 754962.528 0, 1665962.912 754923.322 0, 1665676.018 754884.133 0, 1665389.121 754844.961 0, 1665100.939 754805.631 0, 1664347.802 760325.286 0,
+ 1663594.628 765845.217 0, 1663882.157 765884.458 0, 1664168.404 765923.542 0, 1664454.649 765962.642 0, 1664740.892 766001.759 0, 1665027.133 766040.892 0, 1665313.371 766080.043 0, 1665599.606 766119.21 0, 1665885.84 766158.395 0, 1666172.071 766197.596 0,
+ 1666458.3 766236.814 0, 1666744.526 766276.049 0, 1667030.751 766315.3 0, 1667316.973 766354.569 0, 1667603.192 766393.854 0, 1667889.41 766433.156 0, 1668175.625 766472.475 0, 1668461.837 766511.811 0, 1668748.048 766551.164 0, 1669034.256 766590.534 0,
+ 1669320.461 766629.92 0, 1669606.665 766669.323 0, 1669892.866 766708.744 0, 1670179.065 766748.181 0, 1670463.983 766787.458 0, 1670751.455 766827.105 0, 1671037.647 766866.593 0, 1671323.836 766906.097 0, 1671610.024 766945.618 0, 1671896.208 766985.156 0,
+ 1672182.391 767024.711 0, 1672468.571 767064.283 0, 1672754.749 767103.871 0, 1673040.924 767143.477 0, 1673327.098 767183.099 0, 1673613.269 767222.738 0, 1673899.437 767262.394 0, 1674185.603 767302.067 0, 1674471.767 767341.757 0, 1674757.929 767381.463 0,
+ 1675044.088 767421.187 0, 1675330.245 767460.927 0, 1675616.399 767500.684 0, 1675902.551 767540.458 0, 1676188.701 767580.248 0, 1676474.848 767620.056 0, 1676760.994 767659.88 0, 1677047.136 767699.721 0, 1677332 767739.402 0, 1678100.766 762221.62 0,
+ 1678869.494 756704.115 0))
+
+POLYGON ((1351406.679 454551.963 0, 1351103.523 454531.385 0, 1350798.948 454510.729 0, 1350494.372 454490.091 0, 1350189.795 454469.47 0, 1349885.217 454448.868 0, 1349580.637 454428.283 0, 1349276.056 454407.717 0, 1348971.474 454387.168 0, 1348666.891 454366.637 0,
+ 1348362.307 454346.124 0, 1348057.721 454325.629 0, 1347753.134 454305.152 0, 1347448.547 454284.693 0, 1347143.957 454264.252 0, 1346839.367 454243.829 0, 1346534.775 454223.423 0, 1346230.183 454203.036 0, 1345925.589 454182.667 0, 1345620.993 454162.315 0,
+ 1345316.397 454141.981 0, 1345011.799 454121.666 0, 1344707.201 454101.368 0, 1344402.601 454081.088 0, 1344096.581 454060.732 0, 1343793.397 454040.582 0, 1343488.794 454020.356 0, 1343184.189 454000.148 0, 1342879.583 453979.958 0, 1342574.976 453959.786 0,
+ 1342270.367 453939.631 0, 1341965.758 453919.495 0, 1341661.147 453899.377 0, 1341356.535 453879.276 0, 1341051.922 453859.193 0, 1340747.308 453839.129 0, 1340442.693 453819.082 0, 1340138.076 453799.053 0, 1339833.458 453779.042 0, 1339528.839 453759.049 0,
+ 1339224.219 453739.074 0, 1338919.598 453719.117 0, 1338614.976 453699.178 0, 1338310.352 453679.257 0, 1338005.727 453659.354 0, 1337701.101 453639.468 0, 1337396.474 453619.601 0, 1337091.846 453599.751 0, 1336785.796 453579.827 0, 1336425.183 459121.673 0,
+ 1336064.543 464663.95 0, 1336369.937 464683.831 0, 1336673.913 464703.638 0, 1336977.887 464723.463 0, 1337281.861 464743.306 0, 1337585.834 464763.166 0, 1337889.805 464783.045 0, 1338193.775 464802.941 0, 1338497.744 464822.856 0, 1338801.712 464842.788 0,
+ 1339105.678 464862.738 0, 1339409.644 464882.706 0, 1339713.608 464902.692 0, 1340017.571 464922.696 0, 1340321.533 464942.718 0, 1340625.493 464962.757 0, 1340929.453 464982.815 0, 1341233.411 465002.89 0, 1341537.368 465022.983 0, 1341841.324 465043.095 0,
+ 1342145.279 465063.224 0, 1342449.233 465083.371 0, 1342753.185 465103.535 0, 1343057.136 465123.718 0, 1343359.671 465143.825 0, 1343665.035 465164.137 0, 1343968.983 465184.374 0, 1344272.929 465204.628 0, 1344576.875 465224.9 0, 1344880.819 465245.19 0,
+ 1345184.761 465265.498 0, 1345488.703 465285.824 0, 1345792.644 465306.168 0, 1346096.583 465326.529 0, 1346400.521 465346.909 0, 1346704.458 465367.306 0, 1347008.394 465387.721 0, 1347312.328 465408.155 0, 1347616.261 465428.606 0, 1347920.193 465449.075 0,
+ 1348224.124 465469.561 0, 1348528.054 465490.066 0, 1348831.982 465510.589 0, 1349135.91 465531.129 0, 1349439.836 465551.688 0, 1349743.761 465572.264 0, 1350047.684 465592.858 0, 1350351.607 465613.47 0, 1350654.113 465634.004 0, 1351030.411 460092.768 0,
+ 1351406.679 454551.963 0))
+
+POLYGON ((1365240.885 466645.273 0, 1364938.435 466623.884 0, 1364634.572 466602.413 0, 1364330.708 466580.961 0, 1364026.843 466559.526 0, 1363722.976 466538.109 0, 1363419.108 466516.71 0, 1363115.239 466495.329 0, 1362811.368 466473.965 0, 1362507.496 466452.62 0,
+ 1362203.623 466431.292 0, 1361899.749 466409.983 0, 1361595.874 466388.691 0, 1361291.997 466367.417 0, 1360988.119 466346.161 0, 1360684.239 466324.923 0, 1360380.359 466303.703 0, 1360076.477 466282.5 0, 1359772.594 466261.316 0, 1359468.71 466240.149 0,
+ 1359164.824 466219.001 0, 1358860.937 466197.87 0, 1358557.049 466176.757 0, 1358253.16 466155.662 0, 1357947.856 466134.487 0, 1357645.378 466113.526 0, 1357341.485 466092.484 0, 1357037.591 466071.461 0, 1356733.695 466050.455 0, 1356429.798 466029.468 0,
+ 1356125.901 466008.498 0, 1355822.001 465987.546 0, 1355518.101 465966.612 0, 1355214.199 465945.696 0, 1354910.296 465924.797 0, 1354606.392 465903.917 0, 1354302.487 465883.055 0, 1353998.581 465862.21 0, 1353694.673 465841.383 0, 1353390.764 465820.574 0,
+ 1353086.854 465799.784 0, 1352782.942 465779.01 0, 1352479.029 465758.255 0, 1352175.116 465737.518 0, 1351871.2 465716.799 0, 1351567.284 465696.097 0, 1351263.367 465675.414 0, 1350959.448 465654.748 0, 1350654.113 465634.004 0, 1350277.787 471175.669 0,
+ 1349901.432 476717.759 0, 1350206.111 476738.458 0, 1350509.377 476759.08 0, 1350812.642 476779.719 0, 1351115.906 476800.376 0, 1351419.169 476821.051 0, 1351722.431 476841.744 0, 1352025.691 476862.454 0, 1352328.95 476883.183 0, 1352632.208 476903.929 0,
+ 1352935.465 476924.693 0, 1353238.72 476945.475 0, 1353541.974 476966.275 0, 1353845.227 476987.093 0, 1354148.479 477007.928 0, 1354451.729 477028.782 0, 1354754.979 477049.653 0, 1355058.227 477070.542 0, 1355361.474 477091.449 0, 1355664.719 477112.374 0,
+ 1355967.964 477133.316 0, 1356271.207 477154.277 0, 1356574.449 477175.255 0, 1356877.689 477196.252 0, 1357179.519 477217.168 0, 1357484.167 477238.297 0, 1357787.404 477259.347 0, 1358090.64 477280.415 0, 1358393.874 477301.5 0, 1358697.107 477322.603 0,
+ 1359000.339 477343.725 0, 1359303.57 477364.864 0, 1359606.8 477386.02 0, 1359910.028 477407.195 0, 1360213.255 477428.388 0, 1360516.481 477449.598 0, 1360819.705 477470.826 0, 1361122.929 477492.072 0, 1361426.151 477513.336 0, 1361729.371 477534.618 0,
+ 1362032.591 477555.917 0, 1362335.809 477577.235 0, 1362639.026 477598.57 0, 1362942.242 477619.923 0, 1363245.456 477641.294 0, 1363548.67 477662.683 0, 1363851.882 477684.09 0, 1364155.092 477705.514 0, 1364456.893 477726.857 0, 1364848.904 472185.852 0,
+ 1365240.885 466645.273 0))
+
+POLYGON ((1379009.445 478777.073 0, 1378707.704 478754.877 0, 1378404.555 478732.596 0, 1378101.405 478710.333 0, 1377798.253 478688.088 0, 1377495.1 478665.86 0, 1377191.946 478643.65 0, 1376888.79 478621.459 0, 1376585.634 478599.285 0, 1376282.475 478577.128 0,
+ 1375979.316 478554.99 0, 1375676.155 478532.87 0, 1375372.993 478510.767 0, 1375069.83 478488.682 0, 1374766.665 478466.615 0, 1374463.499 478444.566 0, 1374160.332 478422.535 0, 1373857.164 478400.521 0, 1373553.994 478378.526 0, 1373250.823 478356.548 0,
+ 1372947.65 478334.588 0, 1372644.476 478312.646 0, 1372341.301 478290.722 0, 1372038.125 478268.816 0, 1371733.54 478246.826 0, 1371431.769 478225.057 0, 1371128.589 478203.204 0, 1370825.407 478181.369 0, 1370522.224 478159.552 0, 1370219.04 478137.752 0,
+ 1369915.855 478115.971 0, 1369612.669 478094.207 0, 1369309.481 478072.462 0, 1369006.292 478050.734 0, 1368703.101 478029.024 0, 1368399.909 478007.331 0, 1368096.717 477985.657 0, 1367793.522 477964.001 0, 1367490.327 477942.362 0, 1367187.13 477920.741 0,
+ 1366883.932 477899.138 0, 1366580.733 477877.553 0, 1366277.532 477855.986 0, 1365974.33 477834.436 0, 1365671.127 477812.905 0, 1365367.923 477791.391 0, 1365064.717 477769.895 0, 1364761.51 477748.417 0, 1364456.893 477726.857 0, 1364064.852 483268.284 0,
+ 1363672.781 488810.132 0, 1363976.743 488831.645 0, 1364279.297 488853.077 0, 1364581.851 488874.527 0, 1364884.403 488895.994 0, 1365186.954 488917.479 0, 1365489.503 488938.982 0, 1365792.051 488960.503 0, 1366094.598 488982.042 0, 1366397.144 489003.598 0,
+ 1366699.689 489025.173 0, 1367002.232 489046.765 0, 1367304.774 489068.375 0, 1367607.314 489090.003 0, 1367909.854 489111.648 0, 1368212.392 489133.311 0, 1368514.929 489154.993 0, 1368817.464 489176.692 0, 1369119.999 489198.408 0, 1369422.532 489220.143 0,
+ 1369725.063 489241.895 0, 1370027.594 489263.665 0, 1370330.123 489285.453 0, 1370632.651 489307.259 0, 1370933.773 489328.982 0, 1371237.703 489350.924 0, 1371540.227 489372.783 0, 1371842.749 489394.661 0, 1372145.271 489416.555 0, 1372447.791 489438.468 0,
+ 1372750.31 489460.398 0, 1373052.827 489482.347 0, 1373355.344 489504.313 0, 1373657.859 489526.297 0, 1373960.372 489548.298 0, 1374262.885 489570.318 0, 1374565.396 489592.355 0, 1374867.906 489614.41 0, 1375170.414 489636.483 0, 1375472.921 489658.574 0,
+ 1375775.427 489680.682 0, 1376077.932 489702.808 0, 1376380.435 489724.953 0, 1376682.937 489747.114 0, 1376985.438 489769.294 0, 1377287.937 489791.492 0, 1377590.435 489813.707 0, 1377892.932 489835.94 0, 1378194.024 489858.088 0, 1378601.75 484317.37 0,
+ 1379009.445 478777.073 0))
+
+POLYGON ((1392712.249 490947.065 0, 1392411.218 490924.067 0, 1392108.785 490900.979 0, 1391806.351 490877.909 0, 1391503.916 490854.857 0, 1391201.479 490831.823 0, 1390899.041 490808.806 0, 1390596.601 490785.808 0, 1390294.16 490762.827 0, 1389991.718 490739.864 0,
+ 1389689.275 490716.919 0, 1389386.83 490693.991 0, 1389084.383 490671.082 0, 1388781.936 490648.19 0, 1388479.487 490625.316 0, 1388177.036 490602.459 0, 1387874.585 490579.621 0, 1387572.132 490556.8 0, 1387269.677 490533.998 0, 1386967.222 490511.213 0,
+ 1386664.765 490488.445 0, 1386362.306 490465.696 0, 1386059.847 490442.964 0, 1385757.386 490420.25 0, 1385453.521 490397.449 0, 1385152.459 490374.876 0, 1384849.994 490352.216 0, 1384547.528 490329.573 0, 1384245.06 490306.948 0, 1383942.591 490284.341 0,
+ 1383640.121 490261.752 0, 1383337.649 490239.181 0, 1383035.176 490216.627 0, 1382732.702 490194.091 0, 1382430.226 490171.573 0, 1382127.749 490149.073 0, 1381825.271 490126.591 0, 1381522.791 490104.126 0, 1381220.31 490081.68 0, 1380917.828 490059.251 0,
+ 1380615.344 490036.839 0, 1380312.859 490014.446 0, 1380010.373 489992.07 0, 1379707.885 489969.713 0, 1379405.396 489947.373 0, 1379102.906 489925.051 0, 1378800.415 489902.746 0, 1378497.922 489880.46 0, 1378194.024 489858.088 0, 1377786.268 495399.221 0,
+ 1377378.481 500940.769 0, 1377681.723 500963.092 0, 1377983.563 500985.331 0, 1378285.403 501007.587 0, 1378587.241 501029.861 0, 1378889.077 501052.153 0, 1379190.912 501074.462 0, 1379492.746 501096.79 0, 1379794.579 501119.135 0, 1380096.41 501141.498 0,
+ 1380398.24 501163.878 0, 1380700.069 501186.277 0, 1381001.897 501208.693 0, 1381303.723 501231.127 0, 1381605.547 501253.578 0, 1381907.371 501276.048 0, 1382209.193 501298.535 0, 1382511.014 501321.04 0, 1382812.833 501343.563 0, 1383114.651 501366.103 0,
+ 1383416.468 501388.661 0, 1383718.284 501411.237 0, 1384020.098 501433.831 0, 1384321.911 501456.443 0, 1384622.323 501478.967 0, 1384925.532 501501.719 0, 1385227.341 501524.384 0, 1385529.149 501547.066 0, 1385830.955 501569.767 0, 1386132.76 501592.485 0,
+ 1386434.563 501615.221 0, 1386736.365 501637.975 0, 1387038.166 501660.746 0, 1387339.965 501683.535 0, 1387641.764 501706.342 0, 1387943.56 501729.167 0, 1388245.356 501752.009 0, 1388547.15 501774.869 0, 1388848.943 501797.747 0, 1389150.734 501820.643 0,
+ 1389452.524 501843.557 0, 1389754.313 501866.488 0, 1390056.1 501889.437 0, 1390357.886 501912.404 0, 1390659.671 501935.388 0, 1390961.454 501958.391 0, 1391263.236 501981.411 0, 1391565.016 502004.449 0, 1391865.398 502027.398 0, 1392288.839 496487.025 0,
+ 1392712.249 490947.065 0))
+
+POLYGON ((1406349.188 503154.95 0, 1406048.87 503131.153 0, 1405747.155 503107.262 0, 1405445.44 503083.39 0, 1405143.723 503059.535 0, 1404842.004 503035.698 0, 1404540.284 503011.879 0, 1404238.563 502988.077 0, 1403936.84 502964.293 0, 1403635.116 502940.527 0,
+ 1403333.391 502916.779 0, 1403031.664 502893.048 0, 1402729.935 502869.336 0, 1402428.206 502845.641 0, 1402126.475 502821.963 0, 1401824.742 502798.304 0, 1401523.008 502774.662 0, 1401221.273 502751.038 0, 1400919.536 502727.432 0, 1400617.798 502703.843 0,
+ 1400316.059 502680.273 0, 1400014.318 502656.72 0, 1399712.576 502633.185 0, 1399410.832 502609.667 0, 1399107.691 502586.059 0, 1398807.341 502562.686 0, 1398505.593 502539.222 0, 1398203.844 502515.775 0, 1397902.094 502492.347 0, 1397600.342 502468.936 0,
+ 1397298.588 502445.543 0, 1396996.834 502422.167 0, 1396695.078 502398.81 0, 1396393.32 502375.47 0, 1396091.562 502352.148 0, 1395789.802 502328.844 0, 1395488.04 502305.557 0, 1395186.277 502282.288 0, 1394884.513 502259.037 0, 1394582.747 502235.804 0,
+ 1394280.98 502212.589 0, 1393979.212 502189.391 0, 1393677.442 502166.211 0, 1393375.671 502143.049 0, 1393073.899 502119.904 0, 1392772.125 502096.778 0, 1392470.35 502073.669 0, 1392168.574 502050.578 0, 1391865.398 502027.398 0, 1391441.926 507568.181 0,
+ 1391018.422 513109.371 0, 1391320.942 513132.501 0, 1391622.066 513155.543 0, 1391923.189 513178.602 0, 1392224.311 513201.678 0, 1392525.431 513224.773 0, 1392826.55 513247.885 0, 1393127.667 513271.015 0, 1393428.783 513294.162 0, 1393729.898 513317.328 0,
+ 1394031.011 513340.511 0, 1394332.123 513363.711 0, 1394633.234 513386.93 0, 1394934.343 513410.166 0, 1395235.451 513433.42 0, 1395536.558 513456.692 0, 1395837.663 513479.981 0, 1396138.766 513503.288 0, 1396439.869 513526.613 0, 1396740.97 513549.955 0,
+ 1397042.07 513573.316 0, 1397343.168 513596.693 0, 1397644.265 513620.089 0, 1397945.36 513643.503 0, 1398245.061 513666.825 0, 1398547.547 513690.383 0, 1398848.639 513713.849 0, 1399149.729 513737.333 0, 1399450.817 513760.835 0, 1399751.905 513784.355 0,
+ 1400052.99 513807.893 0, 1400354.075 513831.448 0, 1400655.158 513855.021 0, 1400956.24 513878.611 0, 1401257.32 513902.22 0, 1401558.399 513925.846 0, 1401859.477 513949.49 0, 1402160.553 513973.151 0, 1402461.627 513996.83 0, 1402762.701 514020.527 0,
+ 1403063.773 514044.242 0, 1403364.843 514067.974 0, 1403665.912 514091.724 0, 1403966.98 514115.492 0, 1404268.047 514139.278 0, 1404569.112 514163.081 0, 1404870.175 514186.902 0, 1405171.237 514210.741 0, 1405470.906 514234.487 0, 1405910.063 508694.515 0,
+ 1406349.188 503154.95 0))
+
+POLYGON ((1419920.154 515400.429 0, 1419620.551 515375.836 0, 1419319.558 515351.147 0, 1419018.563 515326.476 0, 1418717.566 515301.822 0, 1418416.568 515277.186 0, 1418115.569 515252.567 0, 1417814.568 515227.967 0, 1417513.565 515203.384 0, 1417212.562 515178.819 0,
+ 1416911.557 515154.271 0, 1416610.55 515129.742 0, 1416309.542 515105.23 0, 1416008.532 515080.735 0, 1415707.521 515056.259 0, 1415406.509 515031.8 0, 1415105.495 515007.359 0, 1414804.48 514982.935 0, 1414503.463 514958.53 0, 1414202.445 514934.142 0,
+ 1413901.425 514909.771 0, 1413600.404 514885.419 0, 1413299.382 514861.084 0, 1412998.358 514836.767 0, 1412695.942 514812.355 0, 1412396.306 514788.186 0, 1412095.278 514763.922 0, 1411794.248 514739.676 0, 1411493.217 514715.447 0, 1411192.184 514691.236 0,
+ 1410891.151 514667.043 0, 1410590.115 514642.868 0, 1410289.078 514618.71 0, 1409988.04 514594.57 0, 1409687.001 514570.448 0, 1409385.96 514546.343 0, 1409084.917 514522.257 0, 1408783.873 514498.188 0, 1408482.828 514474.136 0, 1408181.782 514450.103 0,
+ 1407880.733 514426.087 0, 1407579.684 514402.088 0, 1407278.633 514378.108 0, 1406977.581 514354.145 0, 1406676.527 514330.2 0, 1406375.472 514306.273 0, 1406074.415 514282.363 0, 1405773.357 514258.471 0, 1405470.906 514234.487 0, 1405031.717 519774.863 0,
+ 1404592.496 525315.64 0, 1404894.293 525339.573 0, 1405194.698 525363.413 0, 1405495.103 525387.271 0, 1405795.506 525411.146 0, 1406095.907 525435.039 0, 1406396.307 525458.95 0, 1406696.706 525482.879 0, 1406997.103 525506.825 0, 1407297.499 525530.789 0,
+ 1407597.894 525554.77 0, 1407898.287 525578.769 0, 1408198.678 525602.786 0, 1408499.069 525626.821 0, 1408799.457 525650.873 0, 1409099.845 525674.943 0, 1409400.231 525699.031 0, 1409700.615 525723.136 0, 1410000.998 525747.259 0, 1410301.38 525771.4 0,
+ 1410601.761 525795.558 0, 1410902.139 525819.734 0, 1411202.517 525843.928 0, 1411502.893 525868.139 0, 1411801.88 525892.257 0, 1412103.641 525916.615 0, 1412404.012 525940.88 0, 1412704.383 525965.162 0, 1413004.752 525989.462 0, 1413305.119 526013.779 0,
+ 1413605.485 526038.114 0, 1413905.85 526062.467 0, 1414206.213 526086.838 0, 1414506.575 526111.226 0, 1414806.935 526135.632 0, 1415107.294 526160.055 0, 1415407.651 526184.496 0, 1415708.007 526208.955 0, 1416008.362 526233.432 0, 1416308.715 526257.926 0,
+ 1416609.067 526282.438 0, 1416909.417 526306.968 0, 1417209.766 526331.515 0, 1417510.113 526356.08 0, 1417810.459 526380.663 0, 1418110.803 526405.263 0, 1418411.146 526429.881 0, 1418711.488 526454.517 0, 1419010.442 526479.056 0, 1419465.314 520939.542 0,
+ 1419920.154 515400.429 0))
+
+POLYGON ((1433425.043 527683.201 0, 1433126.157 527657.817 0, 1432825.886 527632.333 0, 1432525.614 527606.866 0, 1432225.34 527581.418 0, 1431925.065 527555.986 0, 1431624.788 527530.573 0, 1431324.51 527505.177 0, 1431024.23 527479.799 0, 1430723.949 527454.439 0,
+ 1430423.666 527429.096 0, 1430123.382 527403.771 0, 1429823.096 527378.464 0, 1429522.809 527353.174 0, 1429222.521 527327.902 0, 1428922.23 527302.648 0, 1428621.939 527277.411 0, 1428321.646 527252.192 0, 1428021.351 527226.991 0, 1427721.055 527201.807 0,
+ 1427420.757 527176.641 0, 1427120.458 527151.493 0, 1426820.158 527126.362 0, 1426519.856 527101.249 0, 1426218.167 527076.038 0, 1425919.247 527051.076 0, 1425618.941 527026.016 0, 1425318.633 527000.974 0, 1425018.324 526975.95 0, 1424718.013 526950.943 0,
+ 1424417.7 526925.953 0, 1424117.387 526900.982 0, 1423817.071 526876.028 0, 1423516.755 526851.092 0, 1423216.436 526826.173 0, 1422916.117 526801.272 0, 1422615.796 526776.389 0, 1422315.473 526751.524 0, 1422015.149 526726.676 0, 1421714.823 526701.846 0,
+ 1421414.496 526677.033 0, 1421114.168 526652.239 0, 1420813.838 526627.462 0, 1420513.507 526602.702 0, 1420213.174 526577.96 0, 1419912.84 526553.236 0, 1419612.504 526528.53 0, 1419312.167 526503.841 0, 1419010.442 526479.056 0, 1418555.536 532018.968 0,
+ 1418100.599 537559.275 0, 1418401.668 537584.006 0, 1418701.353 537608.641 0, 1419001.037 537633.294 0, 1419300.719 537657.964 0, 1419600.4 537682.652 0, 1419900.079 537707.358 0, 1420199.757 537732.081 0, 1420499.433 537756.822 0, 1420799.108 537781.581 0,
+ 1421098.781 537806.357 0, 1421398.453 537831.151 0, 1421698.124 537855.963 0, 1421997.793 537880.792 0, 1422297.46 537905.638 0, 1422597.126 537930.503 0, 1422896.791 537955.385 0, 1423196.454 537980.285 0, 1423496.116 538005.202 0, 1423795.776 538030.137 0,
+ 1424095.435 538055.089 0, 1424395.092 538080.06 0, 1424694.748 538105.048 0, 1424994.402 538130.053 0, 1425292.673 538154.961 0, 1425593.707 538180.117 0, 1425893.357 538205.175 0, 1426193.005 538230.251 0, 1426492.652 538255.345 0, 1426792.298 538280.456 0,
+ 1427091.942 538305.585 0, 1427391.584 538330.732 0, 1427691.225 538355.896 0, 1427990.865 538381.078 0, 1428290.503 538406.278 0, 1428590.14 538431.495 0, 1428889.775 538456.73 0, 1429189.408 538481.982 0, 1429489.04 538507.252 0, 1429788.671 538532.54 0,
+ 1430088.3 538557.845 0, 1430387.928 538583.168 0, 1430687.554 538608.509 0, 1430987.179 538633.867 0, 1431286.802 538659.243 0, 1431586.424 538684.636 0, 1431886.044 538710.047 0, 1432185.663 538735.476 0, 1432483.899 538760.805 0, 1432954.488 533221.806 0,
+ 1433425.043 527683.201 0))
+
+POLYGON ((1446863.748 540002.966 0, 1446565.582 539976.794 0, 1446266.036 539950.519 0, 1445966.489 539924.262 0, 1445666.94 539898.022 0, 1445367.39 539871.799 0, 1445067.838 539845.595 0, 1444768.285 539819.408 0, 1444468.73 539793.238 0, 1444169.173 539767.087 0,
+ 1443869.615 539740.953 0, 1443570.056 539714.836 0, 1443270.495 539688.737 0, 1442970.932 539662.656 0, 1442671.368 539636.593 0, 1442371.802 539610.547 0, 1442072.235 539584.518 0, 1441772.666 539558.508 0, 1441473.096 539532.515 0, 1441173.524 539506.539 0,
+ 1440873.951 539480.581 0, 1440574.376 539454.641 0, 1440274.799 539428.719 0, 1439975.221 539402.814 0, 1439674.263 539376.807 0, 1439376.061 539351.057 0, 1439076.478 539325.205 0, 1438776.894 539299.371 0, 1438477.309 539273.554 0, 1438177.722 539247.755 0,
+ 1437878.133 539221.973 0, 1437578.543 539196.21 0, 1437278.951 539170.463 0, 1436979.358 539144.735 0, 1436679.764 539119.024 0, 1436380.167 539093.331 0, 1436080.57 539067.655 0, 1435780.971 539041.997 0, 1435481.37 539016.357 0, 1435181.768 538990.734 0,
+ 1434882.164 538965.129 0, 1434582.559 538939.541 0, 1434282.952 538913.971 0, 1433983.344 538888.419 0, 1433683.734 538862.885 0, 1433384.123 538837.368 0, 1433084.51 538811.868 0, 1432784.896 538786.387 0, 1432483.899 538760.805 0, 1432013.278 544300.196 0,
+ 1431542.623 549839.976 0, 1431842.964 549865.502 0, 1432141.927 549890.928 0, 1432440.887 549916.372 0, 1432739.846 549941.833 0, 1433038.804 549967.312 0, 1433337.76 549992.809 0, 1433636.715 550018.323 0, 1433935.668 550043.855 0, 1434234.62 550069.404 0,
+ 1434533.57 550094.971 0, 1434832.518 550120.556 0, 1435131.466 550146.158 0, 1435430.411 550171.778 0, 1435729.355 550197.415 0, 1436028.298 550223.07 0, 1436327.239 550248.743 0, 1436626.179 550274.433 0, 1436925.117 550300.14 0, 1437224.053 550325.866 0,
+ 1437522.988 550351.609 0, 1437821.922 550377.369 0, 1438120.854 550403.147 0, 1438419.784 550428.943 0, 1438717.337 550454.638 0, 1439017.641 550480.587 0, 1439316.567 550506.436 0, 1439615.491 550532.302 0, 1439914.414 550558.186 0, 1440213.335 550584.087 0,
+ 1440512.255 550610.006 0, 1440811.173 550635.942 0, 1441110.09 550661.896 0, 1441409.005 550687.868 0, 1441707.919 550713.857 0, 1442006.831 550739.864 0, 1442305.742 550765.889 0, 1442604.651 550791.931 0, 1442903.559 550817.99 0, 1443202.465 550844.067 0,
+ 1443501.369 550870.162 0, 1443800.272 550896.275 0, 1444099.174 550922.405 0, 1444398.074 550948.552 0, 1444696.972 550974.717 0, 1444995.869 551000.9 0, 1445294.764 551027.101 0, 1445593.658 551053.319 0, 1445891.175 551079.433 0, 1446377.479 545541.005 0,
+ 1446863.748 540002.966 0))
+
+POLYGON ((1460236.168 552359.423 0, 1459938.724 552332.467 0, 1459639.905 552305.405 0, 1459341.085 552278.36 0, 1459042.263 552251.333 0, 1458743.44 552224.324 0, 1458444.615 552197.332 0, 1458145.789 552170.358 0, 1457846.961 552143.401 0, 1457548.131 552116.462 0,
+ 1457249.3 552089.54 0, 1456950.467 552062.636 0, 1456651.633 552035.75 0, 1456352.797 552008.881 0, 1456053.959 551982.03 0, 1455755.12 551955.196 0, 1455456.28 551928.38 0, 1455157.437 551901.581 0, 1454858.594 551874.801 0, 1454559.748 551848.037 0,
+ 1454260.901 551821.292 0, 1453962.053 551794.564 0, 1453663.202 551767.853 0, 1453364.351 551741.16 0, 1453064.124 551714.362 0, 1452766.643 551687.827 0, 1452467.786 551661.187 0, 1452168.928 551634.564 0, 1451870.069 551607.959 0, 1451571.207 551581.372 0,
+ 1451272.345 551554.802 0, 1450973.481 551528.25 0, 1450674.615 551501.715 0, 1450375.747 551475.198 0, 1450076.878 551448.699 0, 1449778.008 551422.217 0, 1449479.136 551395.753 0, 1449180.262 551369.306 0, 1448881.387 551342.877 0, 1448582.51 551316.466 0,
+ 1448283.632 551290.072 0, 1447984.752 551263.696 0, 1447685.871 551237.337 0, 1447386.988 551210.996 0, 1447088.104 551184.672 0, 1446789.218 551158.366 0, 1446490.33 551132.078 0, 1446191.441 551105.807 0, 1445891.175 551079.433 0, 1445404.838 556618.247 0,
+ 1444918.467 562157.442 0, 1445218.077 562183.758 0, 1445516.314 562209.972 0, 1445814.55 562236.203 0, 1446112.784 562262.451 0, 1446411.016 562288.717 0, 1446709.247 562315.001 0, 1447007.477 562341.302 0, 1447305.705 562367.621 0, 1447603.931 562393.957 0,
+ 1447902.156 562420.311 0, 1448200.379 562446.683 0, 1448498.6 562473.072 0, 1448796.82 562499.478 0, 1449095.039 562525.902 0, 1449393.256 562552.344 0, 1449691.471 562578.803 0, 1449989.685 562605.28 0, 1450287.897 562631.774 0, 1450586.108 562658.286 0,
+ 1450884.317 562684.815 0, 1451182.525 562711.362 0, 1451480.731 562737.927 0, 1451778.935 562764.509 0, 1452075.768 562790.986 0, 1452375.34 562817.725 0, 1452673.539 562844.36 0, 1452971.738 562871.012 0, 1453269.934 562897.682 0, 1453568.129 562924.369 0,
+ 1453866.323 562951.074 0, 1454164.515 562977.797 0, 1454462.705 563004.537 0, 1454760.894 563031.294 0, 1455059.081 563058.069 0, 1455357.267 563084.862 0, 1455655.451 563111.672 0, 1455953.633 563138.5 0, 1456251.814 563165.345 0, 1456549.993 563192.208 0,
+ 1456848.171 563219.089 0, 1457146.347 563245.986 0, 1457444.522 563272.902 0, 1457742.695 563299.835 0, 1458040.866 563326.786 0, 1458339.036 563353.754 0, 1458637.204 563380.739 0, 1458935.371 563407.743 0, 1459232.166 563434.639 0, 1459734.185 557896.84 0,
+ 1460236.168 552359.423 0))
+
+POLYGON ((1473542.2 564752.27 0, 1473245.48 564724.535 0, 1472947.39 564696.69 0, 1472649.3 564668.862 0, 1472351.207 564641.051 0, 1472053.113 564613.258 0, 1471755.018 564585.483 0, 1471456.92 564557.725 0, 1471158.821 564529.985 0, 1470860.721 564502.262 0,
+ 1470562.618 564474.557 0, 1470264.515 564446.869 0, 1469966.409 564419.199 0, 1469668.302 564391.547 0, 1469370.193 564363.912 0, 1469072.083 564336.295 0, 1468773.971 564308.695 0, 1468475.857 564281.112 0, 1468177.742 564253.548 0, 1467879.625 564226 0,
+ 1467581.507 564198.471 0, 1467283.387 564170.958 0, 1466985.265 564143.464 0, 1466687.142 564115.987 0, 1466387.649 564088.401 0, 1466090.89 564061.085 0, 1465792.762 564033.661 0, 1465494.632 564006.254 0, 1465196.501 563978.865 0, 1464898.368 563951.493 0,
+ 1464600.233 563924.139 0, 1464302.097 563896.802 0, 1464003.959 563869.483 0, 1463705.82 563842.181 0, 1463407.679 563814.897 0, 1463109.536 563787.631 0, 1462811.392 563760.382 0, 1462513.246 563733.151 0, 1462215.098 563705.937 0, 1461916.949 563678.74 0,
+ 1461618.798 563651.562 0, 1461320.646 563624.401 0, 1461022.492 563597.257 0, 1460724.337 563570.131 0, 1460426.18 563543.022 0, 1460128.021 563515.931 0, 1459829.861 563488.858 0, 1459531.699 563461.802 0, 1459232.166 563434.639 0, 1458730.114 568972.818 0,
+ 1458228.027 574511.372 0, 1458526.905 574538.475 0, 1458824.415 574565.472 0, 1459121.923 574592.486 0, 1459419.43 574619.518 0, 1459716.935 574646.567 0, 1460014.438 574673.634 0, 1460311.94 574700.718 0, 1460609.441 574727.82 0, 1460906.939 574754.939 0,
+ 1461204.436 574782.076 0, 1461501.932 574809.23 0, 1461799.426 574836.402 0, 1462096.918 574863.592 0, 1462394.409 574890.798 0, 1462691.898 574918.023 0, 1462989.386 574945.265 0, 1463286.872 574972.524 0, 1463584.356 574999.801 0, 1463881.839 575027.095 0,
+ 1464179.32 575054.407 0, 1464476.799 575081.737 0, 1464774.277 575109.084 0, 1465071.754 575136.448 0, 1465367.863 575163.704 0, 1465666.701 575191.23 0, 1465964.173 575218.647 0, 1466261.643 575246.081 0, 1466559.111 575273.533 0, 1466856.578 575301.003 0,
+ 1467154.043 575328.49 0, 1467451.506 575355.994 0, 1467748.968 575383.516 0, 1468046.428 575411.056 0, 1468343.886 575438.613 0, 1468641.343 575466.187 0, 1468938.799 575493.779 0, 1469236.252 575521.389 0, 1469533.704 575549.016 0, 1469831.155 575576.66 0,
+ 1470128.603 575604.323 0, 1470426.051 575632.002 0, 1470723.496 575659.699 0, 1471020.94 575687.414 0, 1471318.382 575715.146 0, 1471615.823 575742.896 0, 1471913.262 575770.663 0, 1472210.699 575798.447 0, 1472506.771 575826.122 0, 1473024.503 570289.008 0,
+ 1473542.2 564752.27 0))
+
+POLYGON ((1486781.744 577181.207 0, 1486485.749 577152.695 0, 1486188.392 577124.071 0, 1485891.032 577095.463 0, 1485593.671 577066.873 0, 1485296.308 577038.301 0, 1484998.944 577009.746 0, 1484701.578 576981.209 0, 1484404.21 576952.689 0, 1484106.841 576924.187 0,
+ 1483809.47 576895.702 0, 1483512.097 576867.235 0, 1483214.722 576838.785 0, 1482917.346 576810.353 0, 1482619.968 576781.938 0, 1482322.589 576753.54 0, 1482025.208 576725.161 0, 1481727.825 576696.798 0, 1481430.441 576668.454 0, 1481133.054 576640.126 0,
+ 1480835.667 576611.816 0, 1480538.277 576583.524 0, 1480240.886 576555.249 0, 1479943.493 576526.992 0, 1479644.736 576498.623 0, 1479348.702 576470.53 0, 1479051.305 576442.325 0, 1478753.905 576414.138 0, 1478456.504 576385.968 0, 1478159.101 576357.816 0,
+ 1477861.697 576329.681 0, 1477564.291 576301.564 0, 1477266.883 576273.464 0, 1476969.474 576245.382 0, 1476672.063 576217.317 0, 1476374.65 576189.27 0, 1476077.235 576161.241 0, 1475779.819 576133.228 0, 1475482.402 576105.234 0, 1475184.983 576077.256 0,
+ 1474887.562 576049.297 0, 1474590.139 576021.355 0, 1474292.715 575993.43 0, 1473995.289 575965.523 0, 1473697.861 575937.633 0, 1473400.432 575909.761 0, 1473103.001 575881.906 0, 1472805.569 575854.069 0, 1472506.771 575826.122 0, 1471989.004 581363.608 0,
+ 1471471.203 586901.464 0, 1471769.346 586929.35 0, 1472066.126 586957.126 0, 1472362.905 586984.92 0, 1472659.682 587012.731 0, 1472956.458 587040.559 0, 1473253.232 587068.405 0, 1473550.004 587096.269 0, 1473846.775 587124.15 0, 1474143.544 587152.048 0,
+ 1474440.312 587179.964 0, 1474737.078 587207.897 0, 1475033.842 587235.848 0, 1475330.604 587263.817 0, 1475627.365 587291.802 0, 1475924.124 587319.805 0, 1476220.882 587347.826 0, 1476517.638 587375.864 0, 1476814.392 587403.92 0, 1477111.145 587431.993 0,
+ 1477407.896 587460.084 0, 1477704.645 587488.192 0, 1478001.393 587516.317 0, 1478298.139 587544.46 0, 1478593.524 587572.491 0, 1478891.626 587600.798 0, 1479188.367 587628.994 0, 1479485.106 587657.206 0, 1479781.844 587685.437 0, 1480078.58 587713.684 0,
+ 1480375.314 587741.95 0, 1480672.047 587770.232 0, 1480968.778 587798.532 0, 1481265.508 587826.85 0, 1481562.235 587855.185 0, 1481858.961 587883.538 0, 1482155.686 587911.908 0, 1482452.409 587940.295 0, 1482749.13 587968.7 0, 1483045.849 587997.122 0,
+ 1483342.567 588025.562 0, 1483639.283 588054.02 0, 1483935.997 588082.494 0, 1484232.71 588110.987 0, 1484529.421 588139.496 0, 1484826.13 588168.023 0, 1485122.838 588196.568 0, 1485419.544 588225.13 0, 1485714.89 588253.579 0, 1486248.335 582717.208 0,
+ 1486781.744 577181.207 0))
+
+POLYGON ((1499954.7 589645.929 0, 1499659.433 589616.646 0, 1499362.809 589587.246 0, 1499066.183 589557.863 0, 1498769.556 589528.498 0, 1498472.927 589499.15 0, 1498176.296 589469.82 0, 1497879.663 589440.507 0, 1497583.028 589411.211 0, 1497286.392 589381.933 0,
+ 1496989.754 589352.673 0, 1496693.115 589323.429 0, 1496396.473 589294.204 0, 1496099.83 589264.996 0, 1495803.186 589235.805 0, 1495506.539 589206.632 0, 1495209.891 589177.476 0, 1494913.241 589148.338 0, 1494616.589 589119.217 0, 1494319.936 589090.113 0,
+ 1494023.281 589061.027 0, 1493726.624 589031.959 0, 1493429.966 589002.908 0, 1493133.305 588973.874 0, 1492835.287 588944.725 0, 1492539.98 588915.859 0, 1492243.315 588886.878 0, 1491946.648 588857.914 0, 1491649.979 588828.968 0, 1491353.308 588800.039 0,
+ 1491056.636 588771.128 0, 1490759.962 588742.234 0, 1490463.287 588713.358 0, 1490166.61 588684.499 0, 1489869.931 588655.657 0, 1489573.25 588626.833 0, 1489276.568 588598.027 0, 1488979.884 588569.237 0, 1488683.198 588540.466 0, 1488386.511 588511.712 0,
+ 1488089.822 588482.975 0, 1487793.131 588454.256 0, 1487496.438 588425.554 0, 1487199.744 588396.87 0, 1486903.048 588368.203 0, 1486606.351 588339.553 0, 1486309.651 588310.921 0, 1486012.951 588282.307 0, 1485714.89 588253.579 0, 1485181.41 593790.316 0,
+ 1484647.894 599327.416 0, 1484945.3 599356.081 0, 1485241.349 599384.633 0, 1485537.397 599413.202 0, 1485833.443 599441.788 0, 1486129.487 599470.392 0, 1486425.529 599499.013 0, 1486721.57 599527.652 0, 1487017.609 599556.308 0, 1487313.646 599584.982 0,
+ 1487609.682 599613.673 0, 1487905.716 599642.381 0, 1488201.748 599671.107 0, 1488497.779 599699.851 0, 1488793.808 599728.611 0, 1489089.835 599757.389 0, 1489385.86 599786.185 0, 1489681.884 599814.998 0, 1489977.906 599843.828 0, 1490273.927 599872.676 0,
+ 1490569.945 599901.542 0, 1490865.962 599930.424 0, 1491161.978 599959.324 0, 1491457.991 599988.242 0, 1491752.65 600017.044 0, 1492050.014 600046.129 0, 1492346.022 600075.099 0, 1492642.029 600104.086 0, 1492938.034 600133.091 0, 1493234.037 600162.113 0,
+ 1493530.039 600191.152 0, 1493826.039 600220.209 0, 1494122.037 600249.284 0, 1494418.034 600278.375 0, 1494714.029 600307.485 0, 1495010.022 600336.611 0, 1495306.013 600365.755 0, 1495602.003 600394.917 0, 1495897.991 600424.095 0, 1496193.977 600453.292 0,
+ 1496489.962 600482.505 0, 1496785.944 600511.737 0, 1497081.926 600540.985 0, 1497377.905 600570.251 0, 1497673.883 600599.534 0, 1497969.858 600628.835 0, 1498265.833 600658.153 0, 1498561.805 600687.489 0, 1498856.423 600716.708 0, 1499405.58 595181.137 0,
+ 1499954.7 589645.929 0))
+
+POLYGON ((1513060.971 602146.136 0, 1512766.434 602116.085 0, 1512470.546 602085.913 0, 1512174.655 602055.759 0, 1511878.763 602025.622 0, 1511582.87 601995.502 0, 1511286.974 601965.4 0, 1510991.077 601935.316 0, 1510695.178 601905.248 0, 1510399.277 601875.199 0,
+ 1510103.374 601845.166 0, 1509807.47 601815.151 0, 1509511.564 601785.154 0, 1509215.656 601755.174 0, 1508919.746 601725.211 0, 1508623.835 601695.266 0, 1508327.922 601665.338 0, 1508032.007 601635.427 0, 1507736.09 601605.534 0, 1507440.172 601575.659 0,
+ 1507144.251 601545.8 0, 1506848.33 601515.96 0, 1506552.406 601486.136 0, 1506256.48 601456.33 0, 1505959.202 601426.406 0, 1505664.624 601396.771 0, 1505368.693 601367.017 0, 1505072.761 601337.281 0, 1504776.827 601307.562 0, 1504480.891 601277.86 0,
+ 1504184.953 601248.176 0, 1503889.013 601218.51 0, 1503593.072 601188.86 0, 1503297.129 601159.229 0, 1503001.184 601129.614 0, 1502705.238 601100.017 0, 1502409.29 601070.438 0, 1502113.34 601040.876 0, 1501817.388 601011.331 0, 1501521.435 600981.804 0,
+ 1501225.48 600952.294 0, 1500929.523 600922.801 0, 1500633.564 600893.326 0, 1500337.604 600863.869 0, 1500041.642 600834.429 0, 1499745.678 600805.006 0, 1499449.712 600775.601 0, 1499153.745 600746.213 0, 1498856.423 600716.708 0, 1498307.231 606252.639 0,
+ 1497758.004 611788.926 0, 1498054.671 611818.366 0, 1498349.986 611847.689 0, 1498645.3 611877.029 0, 1498940.612 611906.387 0, 1499235.923 611935.763 0, 1499531.231 611965.155 0, 1499826.538 611994.566 0, 1500121.844 612023.993 0, 1500417.147 612053.438 0,
+ 1500712.449 612082.9 0, 1501007.749 612112.38 0, 1501303.047 612141.877 0, 1501598.344 612171.391 0, 1501893.639 612200.923 0, 1502188.932 612230.472 0, 1502484.223 612260.039 0, 1502779.513 612289.623 0, 1503074.801 612319.224 0, 1503370.087 612348.843 0,
+ 1503665.371 612378.479 0, 1503960.654 612408.132 0, 1504255.935 612437.803 0, 1504551.214 612467.491 0, 1504845.143 612497.061 0, 1505141.767 612526.92 0, 1505437.041 612556.66 0, 1505732.313 612586.418 0, 1506027.583 612616.193 0, 1506322.852 612645.985 0,
+ 1506618.119 612675.795 0, 1506913.384 612705.622 0, 1507208.647 612735.467 0, 1507503.909 612765.329 0, 1507799.169 612795.208 0, 1508094.427 612825.105 0, 1508389.683 612855.019 0, 1508684.938 612884.951 0, 1508980.19 612914.899 0, 1509275.442 612944.866 0,
+ 1509570.691 612974.849 0, 1509865.938 613004.85 0, 1510161.184 613034.869 0, 1510456.428 613064.904 0, 1510751.67 613094.958 0, 1511046.911 613125.028 0, 1511342.149 613155.116 0, 1511637.386 613185.221 0, 1511931.275 613215.206 0, 1512496.141 607680.493 0,
+ 1513060.971 602146.136 0))
+
+POLYGON ((1526100.459 614681.523 0, 1525806.655 614650.708 0, 1525511.504 614619.768 0, 1525216.351 614588.847 0, 1524921.197 614557.942 0, 1524626.041 614527.055 0, 1524330.883 614496.185 0, 1524035.723 614465.333 0, 1523740.562 614434.498 0, 1523445.398 614403.68 0,
+ 1523150.233 614372.88 0, 1522855.066 614342.097 0, 1522559.897 614311.331 0, 1522264.727 614280.583 0, 1521969.554 614249.853 0, 1521674.38 614219.139 0, 1521379.204 614188.443 0, 1521084.026 614157.764 0, 1520788.846 614127.103 0, 1520493.665 614096.459 0,
+ 1520198.481 614065.833 0, 1519903.296 614035.224 0, 1519608.109 614004.632 0, 1519312.921 613974.057 0, 1519016.385 613943.361 0, 1518722.538 613912.961 0, 1518427.344 613882.438 0, 1518132.148 613851.933 0, 1517836.95 613821.446 0, 1517541.751 613790.976 0,
+ 1517246.55 613760.523 0, 1516951.347 613730.088 0, 1516656.142 613699.669 0, 1516360.935 613669.269 0, 1516065.727 613638.886 0, 1515770.516 613608.52 0, 1515475.304 613578.171 0, 1515180.091 613547.84 0, 1514884.875 613517.526 0, 1514589.658 613487.23 0,
+ 1514294.439 613456.951 0, 1513999.218 613426.689 0, 1513703.995 613396.445 0, 1513408.77 613366.218 0, 1513113.544 613336.008 0, 1512818.316 613305.816 0, 1512523.086 613275.641 0, 1512227.855 613245.484 0, 1511931.275 613215.206 0, 1511366.372 618750.273 0,
+ 1510801.434 624285.69 0, 1511097.36 624315.901 0, 1511391.94 624345.992 0, 1511686.518 624376.1 0, 1511981.095 624406.226 0, 1512275.669 624436.368 0, 1512570.242 624466.529 0, 1512864.813 624496.706 0, 1513159.383 624526.901 0, 1513453.95 624557.113 0,
+ 1513748.516 624587.343 0, 1514043.08 624617.59 0, 1514337.642 624647.854 0, 1514632.203 624678.135 0, 1514926.761 624708.434 0, 1515221.318 624738.751 0, 1515515.873 624769.084 0, 1515810.427 624799.435 0, 1516104.978 624829.803 0, 1516399.528 624860.189 0,
+ 1516694.076 624890.592 0, 1516988.622 624921.012 0, 1517283.167 624951.45 0, 1517577.709 624981.905 0, 1517870.907 625012.238 0, 1518166.789 625042.866 0, 1518461.326 625073.373 0, 1518755.862 625103.898 0, 1519050.395 625134.439 0, 1519344.927 625164.998 0,
+ 1519639.457 625195.574 0, 1519933.985 625226.168 0, 1520228.512 625256.779 0, 1520523.036 625287.407 0, 1520817.559 625318.053 0, 1521112.08 625348.716 0, 1521406.599 625379.396 0, 1521701.117 625410.094 0, 1521995.632 625440.809 0, 1522290.146 625471.541 0,
+ 1522584.658 625502.291 0, 1522879.168 625533.058 0, 1523173.676 625563.842 0, 1523468.183 625594.644 0, 1523762.688 625625.463 0, 1524057.191 625656.299 0, 1524351.692 625687.152 0, 1524646.191 625718.023 0, 1524939.347 625748.771 0, 1525519.922 620214.972 0,
+ 1526100.459 614681.523 0))
+
+POLYGON ((1539073.07 627251.788 0, 1538780 627220.212 0, 1538485.589 627188.509 0, 1538191.176 627156.824 0, 1537896.762 627125.156 0, 1537602.345 627093.505 0, 1537307.927 627061.871 0, 1537013.507 627030.255 0, 1536719.085 626998.656 0, 1536424.661 626967.074 0,
+ 1536130.235 626935.51 0, 1535835.807 626903.963 0, 1535541.378 626872.434 0, 1535246.946 626840.922 0, 1534952.513 626809.427 0, 1534658.078 626777.949 0, 1534363.641 626746.489 0, 1534069.202 626715.046 0, 1533774.762 626683.62 0, 1533480.319 626652.212 0,
+ 1533185.875 626620.821 0, 1532891.429 626589.448 0, 1532596.981 626558.091 0, 1532302.531 626526.752 0, 1532006.74 626495.288 0, 1531713.626 626464.126 0, 1531419.171 626432.84 0, 1531124.713 626401.57 0, 1530830.254 626370.318 0, 1530535.793 626339.083 0,
+ 1530241.331 626307.865 0, 1529946.866 626276.665 0, 1529652.4 626245.482 0, 1529357.931 626214.316 0, 1529063.461 626183.168 0, 1528768.989 626152.037 0, 1528474.516 626120.923 0, 1528180.04 626089.827 0, 1527885.563 626058.748 0, 1527591.084 626027.686 0,
+ 1527296.603 625996.642 0, 1527002.12 625965.615 0, 1526707.635 625934.606 0, 1526413.148 625903.613 0, 1526118.66 625872.638 0, 1525824.17 625841.681 0, 1525529.678 625810.74 0, 1525235.184 625779.817 0, 1524939.347 625748.771 0, 1524358.736 631282.917 0,
+ 1523778.09 636817.406 0, 1524073.272 636848.384 0, 1524367.114 636879.238 0, 1524660.955 636910.11 0, 1524954.794 636940.999 0, 1525248.63 636971.906 0, 1525542.466 637002.829 0, 1525836.299 637033.77 0, 1526130.13 637064.729 0, 1526423.96 637095.704 0,
+ 1526717.788 637126.697 0, 1527011.614 637157.708 0, 1527305.438 637188.735 0, 1527599.26 637219.78 0, 1527893.081 637250.842 0, 1528186.899 637281.921 0, 1528480.716 637313.018 0, 1528774.531 637344.132 0, 1529068.344 637375.263 0, 1529362.155 637406.412 0,
+ 1529655.965 637437.578 0, 1529949.773 637468.761 0, 1530243.578 637499.961 0, 1530537.382 637531.179 0, 1530829.848 637562.272 0, 1531124.985 637593.666 0, 1531418.783 637624.936 0, 1531712.58 637656.223 0, 1532006.375 637687.527 0, 1532300.168 637718.848 0,
+ 1532593.959 637750.187 0, 1532887.748 637781.543 0, 1533181.535 637812.917 0, 1533475.321 637844.307 0, 1533769.105 637875.715 0, 1534062.887 637907.14 0, 1534356.667 637938.583 0, 1534650.445 637970.043 0, 1534944.221 638001.52 0, 1535237.996 638033.014 0,
+ 1535531.768 638064.526 0, 1535825.539 638096.055 0, 1536119.308 638127.601 0, 1536413.075 638159.165 0, 1536706.84 638190.746 0, 1537000.603 638222.344 0, 1537294.365 638253.959 0, 1537588.124 638285.592 0, 1537880.546 638317.098 0, 1538476.827 632784.271 0,
+ 1539073.07 627251.788 0))
+
+POLYGON ((1551978.71 639856.626 0, 1551686.376 639824.294 0, 1551392.707 639791.831 0, 1551099.036 639759.386 0, 1550805.363 639726.958 0, 1550511.688 639694.547 0, 1550218.012 639662.154 0, 1549924.333 639629.778 0, 1549630.653 639597.419 0, 1549336.97 639565.078 0,
+ 1549043.286 639532.753 0, 1548749.6 639500.446 0, 1548455.911 639468.157 0, 1548162.221 639435.884 0, 1547868.53 639403.629 0, 1547574.836 639371.391 0, 1547281.14 639339.171 0, 1546987.442 639306.968 0, 1546693.743 639274.782 0, 1546400.042 639242.613 0,
+ 1546106.338 639210.462 0, 1545812.633 639178.328 0, 1545518.926 639146.211 0, 1545225.217 639114.111 0, 1544930.172 639081.883 0, 1544637.794 639049.964 0, 1544344.079 639017.916 0, 1544050.362 638985.886 0, 1543756.644 638953.873 0, 1543462.924 638921.877 0,
+ 1543169.202 638889.899 0, 1542875.478 638857.937 0, 1542581.752 638825.994 0, 1542288.024 638794.067 0, 1541994.294 638762.158 0, 1541700.563 638730.266 0, 1541406.829 638698.391 0, 1541113.094 638666.533 0, 1540819.357 638634.693 0, 1540525.618 638602.87 0,
+ 1540231.877 638571.065 0, 1539938.134 638539.276 0, 1539644.389 638507.505 0, 1539350.643 638475.751 0, 1539056.894 638444.015 0, 1538763.144 638412.296 0, 1538469.392 638380.594 0, 1538175.638 638348.909 0, 1537880.546 638317.098 0, 1537284.229 643850.265 0,
+ 1536687.876 649383.769 0, 1536982.313 649415.51 0, 1537275.416 649447.124 0, 1537568.516 649478.756 0, 1537861.615 649510.405 0, 1538154.712 649542.071 0, 1538447.808 649573.754 0, 1538740.901 649605.455 0, 1539033.992 649637.172 0, 1539327.082 649668.908 0,
+ 1539620.17 649700.66 0, 1539913.256 649732.429 0, 1540206.34 649764.216 0, 1540499.422 649796.02 0, 1540792.502 649827.842 0, 1541085.58 649859.68 0, 1541378.657 649891.536 0, 1541671.732 649923.409 0, 1541964.804 649955.3 0, 1542257.875 649987.207 0,
+ 1542550.944 650019.132 0, 1542844.011 650051.074 0, 1543137.076 650083.034 0, 1543430.14 650115.01 0, 1543721.87 650146.859 0, 1544016.261 650179.015 0, 1544309.319 650211.043 0, 1544602.374 650243.089 0, 1544895.428 650275.152 0, 1545188.48 650307.232 0,
+ 1545481.53 650339.329 0, 1545774.579 650371.444 0, 1546067.625 650403.576 0, 1546360.67 650435.725 0, 1546653.712 650467.891 0, 1546946.753 650500.075 0, 1547239.792 650532.275 0, 1547532.829 650564.494 0, 1547825.864 650596.729 0, 1548118.897 650628.981 0,
+ 1548411.928 650661.251 0, 1548704.957 650693.538 0, 1548997.985 650725.843 0, 1549291.01 650758.164 0, 1549584.034 650790.503 0, 1549877.055 650822.859 0, 1550170.075 650855.232 0, 1550463.093 650887.623 0, 1550754.779 650919.884 0, 1551366.763 645388.086 0,
+ 1551978.71 639856.626 0))
+
+POLYGON ((1564817.286 652495.733 0, 1564525.69 652462.648 0, 1564232.765 652429.43 0, 1563939.838 652396.229 0, 1563646.909 652363.045 0, 1563353.978 652329.879 0, 1563061.045 652296.73 0, 1562768.11 652263.598 0, 1562475.173 652230.483 0, 1562182.234 652197.385 0,
+ 1561889.293 652164.305 0, 1561596.35 652131.242 0, 1561303.406 652098.196 0, 1561010.459 652065.168 0, 1560717.51 652032.156 0, 1560424.56 651999.162 0, 1560131.607 651966.185 0, 1559838.653 651933.226 0, 1559545.697 651900.283 0, 1559252.738 651867.358 0,
+ 1558959.778 651834.45 0, 1558666.816 651801.56 0, 1558373.852 651768.686 0, 1558080.886 651735.83 0, 1557786.589 651702.842 0, 1557494.948 651670.169 0, 1557201.976 651637.365 0, 1556909.002 651604.578 0, 1556616.027 651571.808 0, 1556323.049 651539.055 0,
+ 1556030.069 651506.32 0, 1555737.088 651473.602 0, 1555444.104 651440.901 0, 1555151.119 651408.217 0, 1554858.132 651375.55 0, 1554565.143 651342.901 0, 1554272.152 651310.269 0, 1553979.159 651277.655 0, 1553686.164 651245.057 0, 1553393.167 651212.477 0,
+ 1553100.168 651179.914 0, 1552807.167 651147.368 0, 1552514.165 651114.84 0, 1552221.16 651082.328 0, 1551928.154 651049.834 0, 1551635.145 651017.357 0, 1551342.135 650984.898 0, 1551049.123 650952.456 0, 1550754.779 650919.884 0, 1550142.758 656452.014 0,
+ 1549530.7 661984.476 0, 1549824.39 662016.975 0, 1550116.751 662049.345 0, 1550409.11 662081.733 0, 1550701.467 662114.137 0, 1550993.822 662146.559 0, 1551286.176 662178.998 0, 1551578.527 662211.454 0, 1551870.877 662243.928 0, 1552163.224 662276.419 0,
+ 1552455.57 662308.926 0, 1552747.913 662341.451 0, 1553040.255 662373.994 0, 1553332.595 662406.553 0, 1553624.933 662439.13 0, 1553917.269 662471.724 0, 1554209.603 662504.335 0, 1554501.936 662536.963 0, 1554794.266 662569.608 0, 1555086.594 662602.271 0,
+ 1555378.921 662634.951 0, 1555671.245 662667.648 0, 1555963.568 662700.362 0, 1556255.889 662733.094 0, 1556546.882 662765.694 0, 1556840.524 662798.609 0, 1557132.839 662831.392 0, 1557425.152 662864.192 0, 1557717.463 662897.01 0, 1558009.772 662929.844 0,
+ 1558302.08 662962.696 0, 1558594.385 662995.565 0, 1558886.688 663028.452 0, 1559178.99 663061.355 0, 1559471.289 663094.276 0, 1559763.586 663127.214 0, 1560055.882 663160.169 0, 1560348.176 663193.142 0, 1560640.467 663226.131 0, 1560932.757 663259.138 0,
+ 1561225.045 663292.162 0, 1561517.331 663325.203 0, 1561809.615 663358.262 0, 1562101.897 663391.337 0, 1562394.177 663424.43 0, 1562686.455 663457.54 0, 1562978.731 663490.667 0, 1563271.005 663523.812 0, 1563561.953 663556.823 0, 1564189.638 658026.113 0,
+ 1564817.286 652495.733 0))
+
+POLYGON ((1577588.707 665168.805 0, 1577297.852 665134.972 0, 1577005.672 665101.001 0, 1576713.491 665067.049 0, 1576421.307 665033.113 0, 1576129.122 664999.195 0, 1575836.935 664965.293 0, 1575544.745 664931.409 0, 1575252.554 664897.543 0, 1574960.361 664863.693 0,
+ 1574668.165 664829.861 0, 1574375.968 664796.045 0, 1574083.769 664762.247 0, 1573791.567 664728.466 0, 1573499.364 664694.703 0, 1573207.159 664660.956 0, 1572914.952 664627.227 0, 1572622.742 664593.515 0, 1572330.531 664559.82 0, 1572038.318 664526.143 0,
+ 1571746.103 664492.482 0, 1571453.886 664458.839 0, 1571161.667 664425.213 0, 1570869.445 664391.604 0, 1570575.899 664357.86 0, 1570284.997 664324.438 0, 1569992.77 664290.881 0, 1569700.541 664257.341 0, 1569408.31 664223.818 0, 1569116.077 664190.312 0,
+ 1568823.842 664156.824 0, 1568531.605 664123.353 0, 1568239.366 664089.899 0, 1567947.126 664056.462 0, 1567654.883 664023.042 0, 1567362.638 663989.64 0, 1567070.391 663956.254 0, 1566778.142 663922.886 0, 1566485.892 663889.535 0, 1566193.639 663856.202 0,
+ 1565901.385 663822.885 0, 1565609.128 663789.586 0, 1565316.869 663756.304 0, 1565024.609 663723.039 0, 1564732.346 663689.792 0, 1564440.082 663656.561 0, 1564147.816 663623.348 0, 1563855.547 663590.152 0, 1563561.953 663556.823 0, 1562934.23 669087.86 0,
+ 1562306.471 674619.221 0, 1562599.412 674652.476 0, 1562891.029 674685.598 0, 1563182.644 674718.737 0, 1563474.257 674751.893 0, 1563765.869 674785.067 0, 1564057.478 674818.257 0, 1564349.085 674851.465 0, 1564640.691 674884.69 0, 1564932.295 674917.933 0,
+ 1565223.896 674951.192 0, 1565515.496 674984.469 0, 1565807.093 675017.762 0, 1566098.689 675051.073 0, 1566390.283 675084.401 0, 1566681.875 675117.746 0, 1566973.464 675151.109 0, 1567265.052 675184.488 0, 1567556.638 675217.885 0, 1567848.222 675251.299 0,
+ 1568139.804 675284.73 0, 1568431.384 675318.178 0, 1568722.962 675351.643 0, 1569014.538 675385.126 0, 1569304.792 675418.474 0, 1569597.684 675452.142 0, 1569889.254 675485.676 0, 1570180.822 675519.227 0, 1570472.389 675552.795 0, 1570763.953 675586.381 0,
+ 1571055.515 675619.984 0, 1571347.075 675653.603 0, 1571638.634 675687.24 0, 1571930.19 675720.894 0, 1572221.744 675754.566 0, 1572513.297 675788.254 0, 1572804.847 675821.96 0, 1573096.395 675855.682 0, 1573387.942 675889.422 0, 1573679.486 675923.179 0,
+ 1573971.028 675956.953 0, 1574262.569 675990.745 0, 1574554.107 676024.553 0, 1574845.644 676058.379 0, 1575137.178 676092.222 0, 1575428.71 676126.082 0, 1575720.241 676159.959 0, 1576011.769 676193.853 0, 1576301.977 676227.612 0, 1576945.361 670698.046 0,
+ 1577588.707 665168.805 0))
+
+POLYGON ((1590292.883 677875.536 0, 1590002.77 677840.958 0, 1589711.338 677806.24 0, 1589419.905 677771.539 0, 1589128.469 677736.856 0, 1588837.032 677702.189 0, 1588545.592 677667.54 0, 1588254.15 677632.908 0, 1587962.706 677598.293 0, 1587671.261 677563.696 0,
+ 1587379.813 677529.115 0, 1587088.363 677494.551 0, 1586796.911 677460.005 0, 1586505.457 677425.476 0, 1586214.001 677390.964 0, 1585922.543 677356.469 0, 1585631.083 677321.992 0, 1585339.621 677287.531 0, 1585048.157 677253.088 0, 1584756.691 677218.662 0,
+ 1584465.222 677184.253 0, 1584173.752 677149.861 0, 1583882.28 677115.486 0, 1583590.806 677081.128 0, 1583298.012 677046.633 0, 1583007.851 677012.465 0, 1582716.371 676978.159 0, 1582424.889 676943.87 0, 1582133.404 676909.598 0, 1581841.918 676875.343 0,
+ 1581550.43 676841.106 0, 1581258.939 676806.885 0, 1580967.447 676772.682 0, 1580675.953 676738.496 0, 1580384.456 676704.327 0, 1580092.958 676670.176 0, 1579801.457 676636.041 0, 1579509.955 676601.924 0, 1579218.45 676567.824 0, 1578926.944 676533.74 0,
+ 1578635.436 676499.675 0, 1578343.925 676465.626 0, 1578052.413 676431.594 0, 1577760.898 676397.58 0, 1577469.382 676363.582 0, 1577177.863 676329.602 0, 1576886.343 676295.639 0, 1576594.82 676261.694 0, 1576301.977 676227.612 0, 1575658.556 681757.497 0,
+ 1575015.098 687287.699 0, 1575307.287 687321.705 0, 1575598.159 687355.575 0, 1575889.028 687389.463 0, 1576179.896 687423.367 0, 1576470.761 687457.288 0, 1576761.625 687491.227 0, 1577052.486 687525.182 0, 1577343.346 687559.155 0, 1577634.203 687593.145 0,
+ 1577925.059 687627.152 0, 1578215.912 687661.176 0, 1578506.764 687695.217 0, 1578797.613 687729.275 0, 1579088.461 687763.351 0, 1579379.306 687797.443 0, 1579670.15 687831.553 0, 1579960.991 687865.68 0, 1580251.831 687899.824 0, 1580542.668 687933.985 0,
+ 1580833.504 687968.163 0, 1581124.337 688002.358 0, 1581415.169 688036.571 0, 1581705.998 688070.8 0, 1581995.511 688104.892 0, 1582287.651 688139.31 0, 1582578.474 688173.591 0, 1582869.295 688207.889 0, 1583160.115 688242.204 0, 1583450.932 688276.537 0,
+ 1583741.747 688310.886 0, 1584032.561 688345.252 0, 1584323.372 688379.636 0, 1584614.181 688414.037 0, 1584904.988 688448.454 0, 1585195.793 688482.889 0, 1585486.597 688517.341 0, 1585777.398 688551.81 0, 1586068.197 688586.297 0, 1586358.994 688620.8 0,
+ 1586649.789 688655.32 0, 1586940.582 688689.858 0, 1587231.373 688724.413 0, 1587522.162 688758.985 0, 1587812.949 688793.574 0, 1588103.733 688828.18 0, 1588394.516 688862.803 0, 1588685.297 688897.443 0, 1588974.763 688931.944 0, 1589633.842 683403.581 0,
+ 1590292.883 677875.536 0))
+
+POLYGON ((1602929.726 690615.62 0, 1602640.357 690580.302 0, 1602349.675 690544.84 0, 1602058.991 690509.395 0, 1601768.306 690473.968 0, 1601477.618 690438.558 0, 1601186.927 690403.164 0, 1600896.235 690367.788 0, 1600605.541 690332.429 0, 1600314.845 690297.087 0,
+ 1600024.146 690261.763 0, 1599733.446 690226.455 0, 1599442.743 690191.164 0, 1599152.039 690155.891 0, 1598861.332 690120.635 0, 1598570.623 690085.395 0, 1598279.912 690050.173 0, 1597989.199 690014.968 0, 1597698.484 689979.78 0, 1597407.767 689944.61 0,
+ 1597117.048 689909.456 0, 1596826.327 689874.319 0, 1596535.604 689839.2 0, 1596244.878 689804.098 0, 1595952.839 689768.854 0, 1595663.421 689733.944 0, 1595372.69 689698.893 0, 1595081.956 689663.859 0, 1594791.22 689628.842 0, 1594500.483 689593.843 0,
+ 1594209.743 689558.86 0, 1593919.001 689523.895 0, 1593628.257 689488.946 0, 1593337.511 689454.015 0, 1593046.763 689419.101 0, 1592756.013 689384.204 0, 1592465.261 689349.324 0, 1592174.507 689314.461 0, 1591883.751 689279.616 0, 1591592.992 689244.787 0,
+ 1591302.232 689209.976 0, 1591011.47 689175.182 0, 1590720.705 689140.404 0, 1590429.939 689105.644 0, 1590139.17 689070.901 0, 1589848.4 689036.175 0, 1589557.627 689001.467 0, 1589266.852 688966.775 0, 1588974.763 688931.944 0, 1588315.646 694460.62 0,
+ 1587656.492 699989.607 0, 1587947.928 700024.36 0, 1588238.052 700058.974 0, 1588528.174 700093.605 0, 1588818.294 700128.253 0, 1589108.411 700162.918 0, 1589398.527 700197.6 0, 1589688.641 700232.3 0, 1589978.752 700267.016 0, 1590268.862 700301.75 0,
+ 1590558.969 700336.5 0, 1590849.075 700371.268 0, 1591139.178 700406.053 0, 1591429.279 700440.855 0, 1591719.379 700475.673 0, 1592009.476 700510.509 0, 1592299.571 700545.362 0, 1592589.664 700580.233 0, 1592879.755 700615.12 0, 1593169.844 700650.024 0,
+ 1593459.931 700684.945 0, 1593750.016 700719.884 0, 1594040.099 700754.839 0, 1594330.18 700789.812 0, 1594618.95 700824.643 0, 1594910.336 700859.808 0, 1595200.41 700894.832 0, 1595490.483 700929.873 0, 1595780.553 700964.931 0, 1596070.622 701000.006 0,
+ 1596360.688 701035.098 0, 1596650.752 701070.207 0, 1596940.815 701105.333 0, 1597230.875 701140.476 0, 1597520.933 701175.637 0, 1597810.989 701210.814 0, 1598101.043 701246.009 0, 1598391.095 701281.22 0, 1598681.145 701316.449 0, 1598971.192 701351.695 0,
+ 1599261.238 701386.957 0, 1599551.282 701422.237 0, 1599841.323 701457.534 0, 1600131.363 701492.848 0, 1600421.4 701528.179 0, 1600711.435 701563.527 0, 1601001.469 701598.893 0, 1601291.5 701634.275 0, 1601580.221 701669.515 0, 1602254.993 696142.412 0,
+ 1602929.726 690615.62 0))
+
+POLYGON ((1615499.149 703388.753 0, 1615210.526 703352.697 0, 1614920.596 703316.496 0, 1614630.663 703280.311 0, 1614340.729 703244.144 0, 1614050.793 703207.994 0, 1613760.854 703171.86 0, 1613470.914 703135.744 0, 1613180.971 703099.645 0, 1612891.026 703063.563 0,
+ 1612601.079 703027.498 0, 1612311.13 702991.45 0, 1612021.179 702955.419 0, 1611731.225 702919.405 0, 1611441.27 702883.409 0, 1611151.312 702847.429 0, 1610861.352 702811.466 0, 1610571.39 702775.521 0, 1610281.426 702739.592 0, 1609991.46 702703.681 0,
+ 1609701.492 702667.786 0, 1609411.522 702631.909 0, 1609121.549 702596.049 0, 1608831.575 702560.206 0, 1608540.292 702524.218 0, 1608251.619 702488.571 0, 1607961.639 702452.779 0, 1607671.656 702417.004 0, 1607381.671 702381.246 0, 1607091.683 702345.505 0,
+ 1606801.694 702309.782 0, 1606511.703 702274.075 0, 1606221.709 702238.386 0, 1605931.714 702202.713 0, 1605641.716 702167.058 0, 1605351.716 702131.419 0, 1605061.714 702095.798 0, 1604771.71 702060.194 0, 1604481.704 702024.607 0, 1604191.696 701989.037 0,
+ 1603901.686 701953.484 0, 1603611.674 701917.948 0, 1603321.659 701882.429 0, 1603031.643 701846.927 0, 1602741.624 701811.442 0, 1602451.603 701775.975 0, 1602161.581 701740.524 0, 1601871.556 701705.091 0, 1601580.221 701669.515 0, 1600905.412 707196.924 0,
+ 1600230.566 712724.636 0, 1600521.247 712760.133 0, 1600810.621 712795.487 0, 1601099.994 712830.858 0, 1601389.364 712866.246 0, 1601678.731 712901.651 0, 1601968.097 712937.073 0, 1602257.461 712972.512 0, 1602546.823 713007.968 0, 1602836.182 713043.441 0,
+ 1603125.54 713078.932 0, 1603414.895 713114.439 0, 1603704.249 713149.963 0, 1603993.6 713185.505 0, 1604282.949 713221.063 0, 1604572.296 713256.638 0, 1604861.641 713292.231 0, 1605150.984 713327.84 0, 1605440.325 713363.467 0, 1605729.663 713399.11 0,
+ 1606019 713434.771 0, 1606308.335 713470.449 0, 1606597.667 713506.143 0, 1606886.997 713541.855 0, 1607175.022 713577.423 0, 1607465.651 713613.329 0, 1607754.975 713649.092 0, 1608044.297 713684.872 0, 1608333.617 713720.668 0, 1608622.935 713756.482 0,
+ 1608912.25 713792.313 0, 1609201.564 713828.161 0, 1609490.875 713864.026 0, 1609780.184 713899.908 0, 1610069.491 713935.807 0, 1610358.796 713971.723 0, 1610648.099 714007.656 0, 1610937.4 714043.606 0, 1611226.699 714079.573 0, 1611515.995 714115.557 0,
+ 1611805.289 714151.558 0, 1612094.582 714187.576 0, 1612383.872 714223.612 0, 1612673.16 714259.664 0, 1612962.446 714295.733 0, 1613251.73 714331.819 0, 1613541.011 714367.923 0, 1613830.291 714404.043 0, 1614118.266 714440.018 0, 1614808.726 708914.234 0,
+ 1615499.149 703388.753 0))
+
+POLYGON ((1628001.065 716194.627 0, 1627713.19 716157.839 0, 1627424.014 716120.901 0, 1627134.835 716083.981 0, 1626845.654 716047.078 0, 1626556.471 716010.191 0, 1626267.286 715973.322 0, 1625978.099 715936.469 0, 1625688.91 715899.634 0, 1625399.718 715862.816 0,
+ 1625110.525 715826.015 0, 1624821.329 715789.23 0, 1624532.131 715752.463 0, 1624242.93 715715.713 0, 1623953.728 715678.98 0, 1623664.524 715642.264 0, 1623375.317 715605.564 0, 1623086.108 715568.882 0, 1622796.897 715532.217 0, 1622507.684 715495.569 0,
+ 1622218.469 715458.938 0, 1621929.251 715422.324 0, 1621640.032 715385.727 0, 1621350.81 715349.147 0, 1621060.285 715312.42 0, 1620772.36 715276.038 0, 1620483.131 715239.509 0, 1620193.901 715202.997 0, 1619904.669 715166.502 0, 1619615.434 715130.025 0,
+ 1619326.197 715093.564 0, 1619036.958 715057.12 0, 1618747.717 715020.693 0, 1618458.474 714984.283 0, 1618169.228 714947.891 0, 1617879.981 714911.515 0, 1617590.731 714875.156 0, 1617301.479 714838.815 0, 1617012.225 714802.49 0, 1616722.969 714766.182 0,
+ 1616433.711 714729.892 0, 1616144.451 714693.618 0, 1615855.188 714657.362 0, 1615565.923 714621.122 0, 1615276.657 714584.9 0, 1614987.388 714548.694 0, 1614698.117 714512.506 0, 1614408.844 714476.335 0, 1614118.266 714440.018 0, 1613427.769 719966.102 0,
+ 1612737.234 725492.482 0, 1613027.158 725528.718 0, 1613315.781 725564.808 0, 1613604.401 725600.915 0, 1613893.02 725637.039 0, 1614181.636 725673.18 0, 1614470.25 725709.338 0, 1614758.862 725745.513 0, 1615047.472 725781.705 0, 1615336.08 725817.914 0,
+ 1615624.685 725854.14 0, 1615913.289 725890.383 0, 1616201.89 725926.643 0, 1616490.489 725962.92 0, 1616779.086 725999.213 0, 1617067.681 726035.524 0, 1617356.274 726071.852 0, 1617644.865 726108.197 0, 1617933.453 726144.559 0, 1618222.04 726180.938 0,
+ 1618510.624 726217.334 0, 1618799.206 726253.746 0, 1619087.786 726290.176 0, 1619376.364 726326.623 0, 1619663.642 726362.923 0, 1619953.513 726399.567 0, 1620242.084 726436.065 0, 1620530.654 726472.58 0, 1620819.221 726509.112 0, 1621107.786 726545.66 0,
+ 1621396.348 726582.226 0, 1621684.909 726618.809 0, 1621973.467 726655.408 0, 1622262.024 726692.025 0, 1622550.578 726728.658 0, 1622839.13 726765.309 0, 1623127.68 726801.977 0, 1623416.227 726838.661 0, 1623704.773 726875.363 0, 1623993.316 726912.081 0,
+ 1624281.858 726948.817 0, 1624570.397 726985.569 0, 1624858.933 727022.339 0, 1625147.468 727059.125 0, 1625436.001 727095.928 0, 1625724.531 727132.749 0, 1626013.059 727169.586 0, 1626301.585 727206.441 0, 1626588.813 727243.146 0, 1627294.958 721718.738 0,
+ 1628001.065 716194.627 0))
+
+POLYGON ((1640435.39 729032.936 0, 1640148.265 728995.419 0, 1639859.845 728957.75 0, 1639571.422 728920.097 0, 1639282.996 728882.462 0, 1638994.569 728844.844 0, 1638706.139 728807.242 0, 1638417.708 728769.658 0, 1638129.274 728732.09 0, 1637840.837 728694.54 0,
+ 1637552.399 728657.006 0, 1637263.958 728619.489 0, 1636975.515 728581.99 0, 1636687.07 728544.507 0, 1636398.623 728507.042 0, 1636110.173 728469.593 0, 1635821.722 728432.161 0, 1635533.268 728394.746 0, 1635244.812 728357.349 0, 1634956.353 728319.968 0,
+ 1634667.893 728282.604 0, 1634379.43 728245.257 0, 1634090.965 728207.928 0, 1633802.498 728170.615 0, 1633512.734 728133.151 0, 1633225.557 728096.04 0, 1632937.083 728058.778 0, 1632648.608 728021.533 0, 1632360.129 727984.305 0, 1632071.649 727947.094 0,
+ 1631783.167 727909.9 0, 1631494.682 727872.723 0, 1631206.195 727835.563 0, 1630917.706 727798.42 0, 1630629.215 727761.294 0, 1630340.722 727724.185 0, 1630052.226 727687.093 0, 1629763.728 727650.018 0, 1629475.228 727612.96 0, 1629186.726 727575.918 0,
+ 1628898.222 727538.894 0, 1628609.715 727501.887 0, 1628321.207 727464.897 0, 1628032.696 727427.923 0, 1627744.183 727390.967 0, 1627455.668 727354.028 0, 1627167.15 727317.106 0, 1626878.631 727280.2 0, 1626588.813 727243.146 0, 1625882.631 732767.847 0,
+ 1625176.411 738292.838 0, 1625465.576 738329.809 0, 1625753.445 738366.631 0, 1626041.312 738403.47 0, 1626329.177 738440.326 0, 1626617.039 738477.199 0, 1626904.9 738514.089 0, 1627192.758 738550.996 0, 1627480.614 738587.919 0, 1627768.468 738624.86 0,
+ 1628056.32 738661.818 0, 1628344.17 738698.793 0, 1628632.017 738735.784 0, 1628919.863 738772.793 0, 1629207.706 738809.818 0, 1629495.547 738846.86 0, 1629783.385 738883.92 0, 1630071.222 738920.996 0, 1630359.056 738958.089 0, 1630646.888 738995.199 0,
+ 1630934.718 739032.326 0, 1631222.546 739069.471 0, 1631510.372 739106.631 0, 1631798.195 739143.809 0, 1632084.725 739180.837 0, 1632373.836 739218.216 0, 1632661.653 739255.445 0, 1632949.467 739292.69 0, 1633237.28 739329.953 0, 1633525.09 739367.233 0,
+ 1633812.898 739404.529 0, 1634100.704 739441.843 0, 1634388.508 739479.173 0, 1634676.309 739516.52 0, 1634964.109 739553.885 0, 1635251.906 739591.266 0, 1635539.701 739628.664 0, 1635827.493 739666.079 0, 1636115.284 739703.511 0, 1636403.072 739740.96 0,
+ 1636690.858 739778.426 0, 1636978.642 739815.909 0, 1637266.424 739853.408 0, 1637554.203 739890.925 0, 1637841.981 739928.459 0, 1638129.756 739966.009 0, 1638417.528 740003.577 0, 1638705.299 740041.161 0, 1638991.777 740078.594 0, 1639713.603 734555.62 0,
+ 1640435.39 729032.936 0))
+
+POLYGON ((1652802.042 741903.374 0, 1652515.669 741865.131 0, 1652228.006 741826.734 0, 1651940.34 741788.354 0, 1651652.673 741749.99 0, 1651365.002 741711.644 0, 1651077.33 741673.314 0, 1650789.656 741635.001 0, 1650501.979 741596.706 0, 1650214.3 741558.427 0,
+ 1649926.618 741520.165 0, 1649638.935 741481.92 0, 1649351.249 741443.692 0, 1649063.561 741405.481 0, 1648775.87 741367.287 0, 1648488.178 741329.11 0, 1648200.483 741290.95 0, 1647912.786 741252.806 0, 1647625.086 741214.68 0, 1647337.385 741176.57 0,
+ 1647049.681 741138.478 0, 1646761.975 741100.402 0, 1646474.267 741062.344 0, 1646186.556 741024.302 0, 1645897.554 740986.107 0, 1645611.128 740948.269 0, 1645323.411 740910.278 0, 1645035.692 740872.304 0, 1644747.97 740834.347 0, 1644460.246 740796.407 0,
+ 1644172.52 740758.484 0, 1643884.791 740720.578 0, 1643597.061 740682.688 0, 1643309.328 740644.816 0, 1643021.593 740606.961 0, 1642733.855 740569.122 0, 1642446.116 740531.3 0, 1642158.374 740493.496 0, 1641870.63 740455.708 0, 1641582.884 740417.937 0,
+ 1641295.135 740380.184 0, 1641007.384 740342.447 0, 1640719.632 740304.727 0, 1640431.876 740267.024 0, 1640144.119 740229.338 0, 1639856.359 740191.668 0, 1639568.598 740154.016 0, 1639280.834 740116.381 0, 1638991.777 740078.594 0, 1638269.914 745601.854 0,
+ 1637548.014 751125.397 0, 1637836.417 751163.099 0, 1638123.531 751200.649 0, 1638410.643 751238.216 0, 1638697.752 751275.8 0, 1638984.859 751313.401 0, 1639271.964 751351.019 0, 1639559.067 751388.654 0, 1639846.168 751426.305 0, 1640133.266 751463.974 0,
+ 1640420.362 751501.659 0, 1640707.456 751539.361 0, 1640994.547 751577.081 0, 1641281.637 751614.817 0, 1641568.724 751652.57 0, 1641855.809 751690.34 0, 1642142.892 751728.126 0, 1642429.972 751765.93 0, 1642717.051 751803.751 0, 1643004.127 751841.588 0,
+ 1643291.201 751879.443 0, 1643578.272 751917.314 0, 1643865.342 751955.202 0, 1644152.409 751993.107 0, 1644438.188 752030.859 0, 1644726.537 752068.968 0, 1645013.597 752106.924 0, 1645300.655 752144.897 0, 1645587.711 752182.886 0, 1645874.765 752220.893 0,
+ 1646161.817 752258.916 0, 1646448.866 752296.956 0, 1646735.913 752335.013 0, 1647022.958 752373.087 0, 1647310 752411.178 0, 1647597.041 752449.286 0, 1647884.079 752487.411 0, 1648171.115 752525.552 0, 1648458.148 752563.711 0, 1648745.18 752601.886 0,
+ 1649032.209 752640.079 0, 1649319.236 752678.288 0, 1649606.26 752716.514 0, 1649893.283 752754.757 0, 1650180.303 752793.017 0, 1650467.321 752831.294 0, 1650754.336 752869.587 0, 1651041.35 752907.898 0, 1651327.076 752946.054 0, 1652064.578 747424.572 0,
+ 1652802.042 741903.374 0))
+
+POLYGON ((1665100.939 754805.631 0, 1664815.32 754766.668 0, 1664528.416 754727.547 0, 1664241.509 754688.442 0, 1663954.601 754649.355 0, 1663667.69 754610.284 0, 1663380.777 754571.231 0, 1663093.861 754532.194 0, 1662806.944 754493.174 0, 1662520.024 754454.171 0,
+ 1662233.101 754415.185 0, 1661946.176 754376.215 0, 1661659.25 754337.263 0, 1661372.32 754298.327 0, 1661085.389 754259.409 0, 1660798.455 754220.507 0, 1660511.519 754181.622 0, 1660224.58 754142.754 0, 1659937.64 754103.903 0, 1659650.697 754065.069 0,
+ 1659363.752 754026.252 0, 1659076.804 753987.451 0, 1658789.854 753948.668 0, 1658502.902 753909.901 0, 1658214.664 753870.978 0, 1657928.991 753832.419 0, 1657642.032 753793.703 0, 1657355.071 753755.004 0, 1657068.107 753716.321 0, 1656781.142 753677.656 0,
+ 1656494.174 753639.008 0, 1656207.203 753600.376 0, 1655920.231 753561.762 0, 1655633.256 753523.164 0, 1655346.279 753484.583 0, 1655059.299 753446.019 0, 1654772.317 753407.472 0, 1654485.334 753368.942 0, 1654198.347 753330.429 0, 1653911.359 753291.932 0,
+ 1653624.368 753253.453 0, 1653337.375 753214.99 0, 1653050.38 753176.545 0, 1652763.382 753138.116 0, 1652476.382 753099.704 0, 1652189.38 753061.309 0, 1651902.376 753022.931 0, 1651615.369 752984.57 0, 1651327.076 752946.054 0, 1650589.536 758467.814 0,
+ 1649851.96 763989.851 0, 1650139.601 764028.28 0, 1650425.957 764066.554 0, 1650712.311 764104.846 0, 1650998.663 764143.154 0, 1651285.013 764181.479 0, 1651571.361 764219.82 0, 1651857.706 764258.179 0, 1652144.049 764296.554 0, 1652430.39 764334.947 0,
+ 1652716.728 764373.356 0, 1653003.065 764411.782 0, 1653289.399 764450.225 0, 1653575.73 764488.685 0, 1653862.06 764527.161 0, 1654148.387 764565.655 0, 1654434.712 764604.165 0, 1654721.035 764642.692 0, 1655007.355 764681.236 0, 1655293.673 764719.797 0,
+ 1655579.989 764758.375 0, 1655866.303 764796.969 0, 1656152.614 764835.581 0, 1656438.923 764874.209 0, 1656723.949 764912.681 0, 1657011.534 764951.516 0, 1657297.837 764990.195 0, 1657584.137 765028.891 0, 1657870.434 765067.603 0, 1658156.73 765106.332 0,
+ 1658443.023 765145.079 0, 1658729.313 765183.842 0, 1659015.602 765222.622 0, 1659301.888 765261.418 0, 1659588.172 765300.232 0, 1659874.454 765339.063 0, 1660160.733 765377.91 0, 1660447.01 765416.774 0, 1660733.285 765455.655 0, 1661019.558 765494.553 0,
+ 1661305.828 765533.468 0, 1661592.096 765572.399 0, 1661878.362 765611.348 0, 1662164.625 765650.313 0, 1662450.886 765689.295 0, 1662737.145 765728.294 0, 1663023.401 765767.31 0, 1663309.656 765806.342 0, 1663594.628 765845.217 0, 1664347.802 760325.286 0,
+ 1665100.939 754805.631 0))
+
+POLYGON ((1677332 767739.402 0, 1677047.136 767699.721 0, 1676760.994 767659.88 0, 1676474.848 767620.056 0, 1676188.701 767580.248 0, 1675902.551 767540.458 0, 1675616.399 767500.684 0, 1675330.245 767460.927 0, 1675044.088 767421.187 0, 1674757.929 767381.463 0,
+ 1674471.767 767341.757 0, 1674185.603 767302.067 0, 1673899.437 767262.394 0, 1673613.269 767222.738 0, 1673327.098 767183.099 0, 1673040.924 767143.477 0, 1672754.749 767103.871 0, 1672468.571 767064.283 0, 1672182.391 767024.711 0, 1671896.208 766985.156 0,
+ 1671610.024 766945.618 0, 1671323.836 766906.097 0, 1671037.647 766866.593 0, 1670751.455 766827.105 0, 1670463.983 766787.458 0, 1670179.065 766748.181 0, 1669892.866 766708.744 0, 1669606.665 766669.323 0, 1669320.461 766629.92 0, 1669034.256 766590.534 0,
+ 1668748.048 766551.164 0, 1668461.837 766511.811 0, 1668175.625 766472.475 0, 1667889.41 766433.156 0, 1667603.192 766393.854 0, 1667316.973 766354.569 0, 1667030.751 766315.3 0, 1666744.526 766276.049 0, 1666458.3 766236.814 0, 1666172.071 766197.596 0,
+ 1665885.84 766158.395 0, 1665599.606 766119.21 0, 1665313.371 766080.043 0, 1665027.133 766040.892 0, 1664740.892 766001.759 0, 1664454.649 765962.642 0, 1664168.404 765923.542 0, 1663882.157 765884.458 0, 1663594.628 765845.217 0, 1662841.417 771365.421 0,
+ 1662088.168 776885.894 0, 1662375.045 776925.045 0, 1662660.642 776964.04 0, 1662946.237 777003.051 0, 1663231.83 777042.079 0, 1663517.421 777081.124 0, 1663803.009 777120.186 0, 1664088.595 777159.264 0, 1664374.179 777198.36 0, 1664659.76 777237.472 0,
+ 1664945.339 777276.601 0, 1665230.916 777315.747 0, 1665516.491 777354.909 0, 1665802.063 777394.089 0, 1666087.633 777433.285 0, 1666373.2 777472.498 0, 1666658.765 777511.728 0, 1666944.328 777550.974 0, 1667229.889 777590.238 0, 1667515.447 777629.518 0,
+ 1667801.003 777668.815 0, 1668086.557 777708.129 0, 1668372.108 777747.459 0, 1668657.657 777786.807 0, 1668941.929 777825.995 0, 1669228.749 777865.552 0, 1669514.291 777904.95 0, 1669799.83 777944.365 0, 1670085.368 777983.796 0, 1670370.903 778023.245 0,
+ 1670656.436 778062.71 0, 1670941.966 778102.192 0, 1671227.495 778141.69 0, 1671513.02 778181.206 0, 1671798.544 778220.738 0, 1672084.065 778260.287 0, 1672369.584 778299.853 0, 1672655.101 778339.436 0, 1672940.615 778379.035 0, 1673226.127 778418.652 0,
+ 1673511.636 778458.285 0, 1673797.143 778497.935 0, 1674082.648 778537.602 0, 1674368.151 778577.285 0, 1674653.651 778616.986 0, 1674939.149 778656.703 0, 1675224.644 778696.437 0, 1675510.138 778736.188 0, 1675794.355 778775.778 0, 1676563.196 773257.455 0,
+ 1677332 767739.402 0))
+
+POLYGON ((1336785.796 453579.827 0, 1336482.586 453560.106 0, 1336177.954 453540.31 0, 1335873.321 453520.532 0, 1335568.687 453500.772 0, 1335264.051 453481.031 0, 1334959.415 453461.307 0, 1334654.777 453441.6 0, 1334350.138 453421.912 0, 1334045.498 453402.242 0,
+ 1333740.857 453382.59 0, 1333436.215 453362.955 0, 1333131.572 453343.339 0, 1332826.927 453323.741 0, 1332522.281 453304.16 0, 1332217.634 453284.597 0, 1331912.986 453265.053 0, 1331608.337 453245.526 0, 1331303.687 453226.017 0, 1330999.035 453206.526 0,
+ 1330694.383 453187.053 0, 1330389.729 453167.598 0, 1330085.074 453148.161 0, 1329780.418 453128.742 0, 1329474.339 453109.25 0, 1329171.103 453089.957 0, 1328866.443 453070.592 0, 1328561.782 453051.244 0, 1328257.121 453031.915 0, 1327952.458 453012.603 0,
+ 1327647.794 452993.31 0, 1327343.129 452974.034 0, 1327038.462 452954.776 0, 1326733.795 452935.536 0, 1326429.126 452916.314 0, 1326124.457 452897.11 0, 1325819.786 452877.924 0, 1325515.114 452858.756 0, 1325210.441 452839.606 0, 1324905.767 452820.474 0,
+ 1324601.091 452801.359 0, 1324296.415 452782.263 0, 1323991.737 452763.184 0, 1323687.058 452744.124 0, 1323382.379 452725.081 0, 1323077.698 452706.056 0, 1322773.016 452687.05 0, 1322468.332 452668.061 0, 1322162.225 452649.001 0, 1321817.271 458191.844 0,
+ 1321472.29 463735.117 0, 1321777.741 463754.136 0, 1322081.772 463773.084 0, 1322385.801 463792.05 0, 1322689.83 463811.034 0, 1322993.857 463830.036 0, 1323297.883 463849.056 0, 1323601.908 463868.093 0, 1323905.932 463887.149 0, 1324209.955 463906.222 0,
+ 1324513.977 463925.314 0, 1324817.997 463944.423 0, 1325122.017 463963.55 0, 1325426.035 463982.695 0, 1325730.052 464001.858 0, 1326034.069 464021.038 0, 1326338.084 464040.237 0, 1326642.097 464059.454 0, 1326946.11 464078.688 0, 1327250.122 464097.94 0,
+ 1327554.132 464117.211 0, 1327858.141 464136.499 0, 1328162.15 464155.805 0, 1328466.157 464175.129 0, 1328768.744 464194.38 0, 1329074.167 464213.83 0, 1329378.171 464233.208 0, 1329682.173 464252.603 0, 1329986.175 464272.017 0, 1330290.175 464291.448 0,
+ 1330594.174 464310.897 0, 1330898.172 464330.364 0, 1331202.168 464349.849 0, 1331506.164 464369.352 0, 1331810.159 464388.873 0, 1332114.152 464408.411 0, 1332418.144 464427.968 0, 1332722.135 464447.542 0, 1333026.125 464467.135 0, 1333330.114 464486.745 0,
+ 1333634.101 464506.373 0, 1333938.087 464526.019 0, 1334242.073 464545.683 0, 1334546.057 464565.365 0, 1334850.04 464585.064 0, 1335154.021 464604.782 0, 1335458.002 464624.517 0, 1335761.981 464644.271 0, 1336064.543 464663.95 0, 1336425.183 459121.673 0,
+ 1336785.796 453579.827 0))
+
+POLYGON ((1350654.113 465634.004 0, 1350351.607 465613.47 0, 1350047.684 465592.858 0, 1349743.761 465572.264 0, 1349439.836 465551.688 0, 1349135.91 465531.129 0, 1348831.982 465510.589 0, 1348528.054 465490.066 0, 1348224.124 465469.561 0, 1347920.193 465449.075 0,
+ 1347616.261 465428.606 0, 1347312.328 465408.155 0, 1347008.394 465387.721 0, 1346704.458 465367.306 0, 1346400.521 465346.909 0, 1346096.583 465326.529 0, 1345792.644 465306.168 0, 1345488.703 465285.824 0, 1345184.761 465265.498 0, 1344880.819 465245.19 0,
+ 1344576.875 465224.9 0, 1344272.929 465204.628 0, 1343968.983 465184.374 0, 1343665.035 465164.137 0, 1343359.671 465143.825 0, 1343057.136 465123.718 0, 1342753.185 465103.535 0, 1342449.233 465083.371 0, 1342145.279 465063.224 0, 1341841.324 465043.095 0,
+ 1341537.368 465022.983 0, 1341233.411 465002.89 0, 1340929.453 464982.815 0, 1340625.493 464962.757 0, 1340321.533 464942.718 0, 1340017.571 464922.696 0, 1339713.608 464902.692 0, 1339409.644 464882.706 0, 1339105.678 464862.738 0, 1338801.712 464842.788 0,
+ 1338497.744 464822.856 0, 1338193.775 464802.941 0, 1337889.805 464783.045 0, 1337585.834 464763.166 0, 1337281.861 464743.306 0, 1336977.887 464723.463 0, 1336673.913 464703.638 0, 1336369.937 464683.831 0, 1336064.543 464663.95 0, 1335703.874 470206.655 0,
+ 1335343.178 475749.787 0, 1335647.916 475769.626 0, 1335951.24 475789.39 0, 1336254.562 475809.172 0, 1336557.883 475828.973 0, 1336861.203 475848.791 0, 1337164.522 475868.627 0, 1337467.839 475888.48 0, 1337771.156 475908.352 0, 1338074.471 475928.241 0,
+ 1338377.785 475948.149 0, 1338681.098 475968.074 0, 1338984.41 475988.017 0, 1339287.721 476007.978 0, 1339591.03 476027.957 0, 1339894.338 476047.953 0, 1340197.645 476067.968 0, 1340500.951 476088 0, 1340804.256 476108.05 0, 1341107.559 476128.118 0,
+ 1341410.862 476148.204 0, 1341714.163 476168.308 0, 1342017.463 476188.429 0, 1342320.762 476208.568 0, 1342622.646 476228.632 0, 1342927.356 476248.901 0, 1343230.651 476269.094 0, 1343533.945 476289.305 0, 1343837.238 476309.533 0, 1344140.529 476329.78 0,
+ 1344443.82 476350.044 0, 1344747.109 476370.326 0, 1345050.397 476390.626 0, 1345353.684 476410.944 0, 1345656.97 476431.28 0, 1345960.254 476451.634 0, 1346263.538 476472.005 0, 1346566.82 476492.394 0, 1346870.101 476512.802 0, 1347173.38 476533.227 0,
+ 1347476.659 476553.669 0, 1347779.936 476574.13 0, 1348083.212 476594.609 0, 1348386.487 476615.105 0, 1348689.761 476635.619 0, 1348993.033 476656.151 0, 1349296.304 476676.701 0, 1349599.574 476697.269 0, 1349901.432 476717.759 0, 1350277.787 471175.669 0,
+ 1350654.113 465634.004 0))
+
+POLYGON ((1364456.893 477726.857 0, 1364155.092 477705.514 0, 1363851.882 477684.09 0, 1363548.67 477662.683 0, 1363245.456 477641.294 0, 1362942.242 477619.923 0, 1362639.026 477598.57 0, 1362335.809 477577.235 0, 1362032.591 477555.917 0, 1361729.371 477534.618 0,
+ 1361426.151 477513.336 0, 1361122.929 477492.072 0, 1360819.705 477470.826 0, 1360516.481 477449.598 0, 1360213.255 477428.388 0, 1359910.028 477407.195 0, 1359606.8 477386.02 0, 1359303.57 477364.864 0, 1359000.339 477343.725 0, 1358697.107 477322.603 0,
+ 1358393.874 477301.5 0, 1358090.64 477280.415 0, 1357787.404 477259.347 0, 1357484.167 477238.297 0, 1357179.519 477217.168 0, 1356877.689 477196.252 0, 1356574.449 477175.255 0, 1356271.207 477154.277 0, 1355967.964 477133.316 0, 1355664.719 477112.374 0,
+ 1355361.474 477091.449 0, 1355058.227 477070.542 0, 1354754.979 477049.653 0, 1354451.729 477028.782 0, 1354148.479 477007.928 0, 1353845.227 476987.093 0, 1353541.974 476966.275 0, 1353238.72 476945.475 0, 1352935.465 476924.693 0, 1352632.208 476903.929 0,
+ 1352328.95 476883.183 0, 1352025.691 476862.454 0, 1351722.431 476841.744 0, 1351419.169 476821.051 0, 1351115.906 476800.376 0, 1350812.642 476779.719 0, 1350509.377 476759.08 0, 1350206.111 476738.458 0, 1349901.432 476717.759 0, 1349525.048 482260.272 0,
+ 1349148.635 487803.205 0, 1349452.659 487823.859 0, 1349755.273 487844.436 0, 1350057.885 487865.031 0, 1350360.497 487885.644 0, 1350663.107 487906.274 0, 1350965.716 487926.923 0, 1351268.324 487947.589 0, 1351570.931 487968.272 0, 1351873.536 487988.974 0,
+ 1352176.141 488009.694 0, 1352478.743 488030.431 0, 1352781.345 488051.186 0, 1353083.946 488071.959 0, 1353386.545 488092.75 0, 1353689.143 488113.558 0, 1353991.74 488134.385 0, 1354294.336 488155.229 0, 1354596.93 488176.091 0, 1354899.523 488196.97 0,
+ 1355202.115 488217.868 0, 1355504.706 488238.783 0, 1355807.296 488259.717 0, 1356109.884 488280.668 0, 1356411.064 488301.539 0, 1356715.057 488322.623 0, 1357017.641 488343.628 0, 1357320.225 488364.65 0, 1357622.807 488385.69 0, 1357925.388 488406.748 0,
+ 1358227.967 488427.823 0, 1358530.546 488448.917 0, 1358833.123 488470.028 0, 1359135.699 488491.157 0, 1359438.273 488512.304 0, 1359740.847 488533.469 0, 1360043.419 488554.652 0, 1360345.99 488575.852 0, 1360648.559 488597.07 0, 1360951.128 488618.306 0,
+ 1361253.695 488639.56 0, 1361556.261 488660.831 0, 1361858.825 488682.121 0, 1362161.389 488703.428 0, 1362463.951 488724.753 0, 1362766.512 488746.096 0, 1363069.071 488767.456 0, 1363371.63 488788.835 0, 1363672.781 488810.132 0, 1364064.852 483268.284 0,
+ 1364456.893 477726.857 0))
+
+POLYGON ((1378194.024 489858.088 0, 1377892.932 489835.94 0, 1377590.435 489813.707 0, 1377287.937 489791.492 0, 1376985.438 489769.294 0, 1376682.937 489747.114 0, 1376380.435 489724.953 0, 1376077.932 489702.808 0, 1375775.427 489680.682 0, 1375472.921 489658.574 0,
+ 1375170.414 489636.483 0, 1374867.906 489614.41 0, 1374565.396 489592.355 0, 1374262.885 489570.318 0, 1373960.372 489548.298 0, 1373657.859 489526.297 0, 1373355.344 489504.313 0, 1373052.827 489482.347 0, 1372750.31 489460.398 0, 1372447.791 489438.468 0,
+ 1372145.271 489416.555 0, 1371842.749 489394.661 0, 1371540.227 489372.783 0, 1371237.703 489350.924 0, 1370933.773 489328.982 0, 1370632.651 489307.259 0, 1370330.123 489285.453 0, 1370027.594 489263.665 0, 1369725.063 489241.895 0, 1369422.532 489220.143 0,
+ 1369119.999 489198.408 0, 1368817.464 489176.692 0, 1368514.929 489154.993 0, 1368212.392 489133.311 0, 1367909.854 489111.648 0, 1367607.314 489090.003 0, 1367304.774 489068.375 0, 1367002.232 489046.765 0, 1366699.689 489025.173 0, 1366397.144 489003.598 0,
+ 1366094.598 488982.042 0, 1365792.051 488960.503 0, 1365489.503 488938.982 0, 1365186.954 488917.479 0, 1364884.403 488895.994 0, 1364581.851 488874.527 0, 1364279.297 488853.077 0, 1363976.743 488831.645 0, 1363672.781 488810.132 0, 1363280.681 494352.395 0,
+ 1362888.551 499895.072 0, 1363191.858 499916.539 0, 1363493.76 499937.925 0, 1363795.661 499959.328 0, 1364097.56 499980.75 0, 1364399.459 500002.189 0, 1364701.356 500023.645 0, 1365003.252 500045.12 0, 1365305.146 500066.612 0, 1365607.04 500088.122 0,
+ 1365908.932 500109.65 0, 1366210.822 500131.195 0, 1366512.712 500152.759 0, 1366814.6 500174.34 0, 1367116.487 500195.939 0, 1367418.373 500217.555 0, 1367720.257 500239.19 0, 1368022.141 500260.842 0, 1368324.022 500282.512 0, 1368625.903 500304.199 0,
+ 1368927.782 500325.905 0, 1369229.66 500347.628 0, 1369531.537 500369.369 0, 1369833.413 500391.128 0, 1370133.885 500412.803 0, 1370437.16 500434.699 0, 1370739.031 500456.511 0, 1371040.902 500478.341 0, 1371342.771 500500.188 0, 1371644.639 500522.054 0,
+ 1371946.505 500543.937 0, 1372248.37 500565.838 0, 1372550.234 500587.756 0, 1372852.097 500609.693 0, 1373153.958 500631.647 0, 1373455.818 500653.619 0, 1373757.677 500675.609 0, 1374059.535 500697.616 0, 1374361.391 500719.642 0, 1374663.246 500741.685 0,
+ 1374965.099 500763.746 0, 1375266.952 500785.824 0, 1375568.803 500807.92 0, 1375870.652 500830.035 0, 1376172.501 500852.166 0, 1376474.348 500874.316 0, 1376776.193 500896.484 0, 1377078.038 500918.669 0, 1377378.481 500940.769 0, 1377786.268 495399.221 0,
+ 1378194.024 489858.088 0))
+
+POLYGON ((1391865.398 502027.398 0, 1391565.016 502004.449 0, 1391263.236 501981.411 0, 1390961.454 501958.391 0, 1390659.671 501935.388 0, 1390357.886 501912.404 0, 1390056.1 501889.437 0, 1389754.313 501866.488 0, 1389452.524 501843.557 0, 1389150.734 501820.643 0,
+ 1388848.943 501797.747 0, 1388547.15 501774.869 0, 1388245.356 501752.009 0, 1387943.56 501729.167 0, 1387641.764 501706.342 0, 1387339.965 501683.535 0, 1387038.166 501660.746 0, 1386736.365 501637.975 0, 1386434.563 501615.221 0, 1386132.76 501592.485 0,
+ 1385830.955 501569.767 0, 1385529.149 501547.066 0, 1385227.341 501524.384 0, 1384925.532 501501.719 0, 1384622.323 501478.967 0, 1384321.911 501456.443 0, 1384020.098 501433.831 0, 1383718.284 501411.237 0, 1383416.468 501388.661 0, 1383114.651 501366.103 0,
+ 1382812.833 501343.563 0, 1382511.014 501321.04 0, 1382209.193 501298.535 0, 1381907.371 501276.048 0, 1381605.547 501253.578 0, 1381303.723 501231.127 0, 1381001.897 501208.693 0, 1380700.069 501186.277 0, 1380398.24 501163.878 0, 1380096.41 501141.498 0,
+ 1379794.579 501119.135 0, 1379492.746 501096.79 0, 1379190.912 501074.462 0, 1378889.077 501052.153 0, 1378587.241 501029.861 0, 1378285.403 501007.587 0, 1377983.563 500985.331 0, 1377681.723 500963.092 0, 1377378.481 500940.769 0, 1376970.664 506482.726 0,
+ 1376562.816 512025.091 0, 1376865.403 512047.367 0, 1377166.591 512069.557 0, 1377467.778 512091.765 0, 1377768.964 512113.991 0, 1378070.148 512136.235 0, 1378371.331 512158.496 0, 1378672.512 512180.775 0, 1378973.693 512203.072 0, 1379274.872 512225.386 0,
+ 1379576.049 512247.718 0, 1379877.226 512270.068 0, 1380178.401 512292.436 0, 1380479.574 512314.821 0, 1380780.747 512337.225 0, 1381081.918 512359.645 0, 1381383.088 512382.084 0, 1381684.256 512404.54 0, 1381985.423 512427.014 0, 1382286.589 512449.506 0,
+ 1382587.753 512472.016 0, 1382888.916 512494.543 0, 1383190.078 512517.088 0, 1383491.239 512539.651 0, 1383791.002 512562.126 0, 1384093.556 512584.829 0, 1384394.712 512607.445 0, 1384695.867 512630.078 0, 1384997.021 512652.73 0, 1385298.174 512675.399 0,
+ 1385599.325 512698.086 0, 1385900.475 512720.79 0, 1386201.623 512743.512 0, 1386502.77 512766.252 0, 1386803.916 512789.01 0, 1387105.061 512811.785 0, 1387406.204 512834.578 0, 1387707.346 512857.389 0, 1388008.486 512880.218 0, 1388309.625 512903.064 0,
+ 1388610.763 512925.928 0, 1388911.899 512948.81 0, 1389213.034 512971.709 0, 1389514.168 512994.626 0, 1389815.3 513017.561 0, 1390116.431 513040.514 0, 1390417.561 513063.484 0, 1390718.689 513086.472 0, 1391018.422 513109.371 0, 1391441.926 507568.181 0,
+ 1391865.398 502027.398 0))
+
+POLYGON ((1405470.906 514234.487 0, 1405171.237 514210.741 0, 1404870.175 514186.902 0, 1404569.112 514163.081 0, 1404268.047 514139.278 0, 1403966.98 514115.492 0, 1403665.912 514091.724 0, 1403364.843 514067.974 0, 1403063.773 514044.242 0, 1402762.701 514020.527 0,
+ 1402461.627 513996.83 0, 1402160.553 513973.151 0, 1401859.477 513949.49 0, 1401558.399 513925.846 0, 1401257.32 513902.22 0, 1400956.24 513878.611 0, 1400655.158 513855.021 0, 1400354.075 513831.448 0, 1400052.99 513807.893 0, 1399751.905 513784.355 0,
+ 1399450.817 513760.835 0, 1399149.729 513737.333 0, 1398848.639 513713.849 0, 1398547.547 513690.383 0, 1398245.061 513666.825 0, 1397945.36 513643.503 0, 1397644.265 513620.089 0, 1397343.168 513596.693 0, 1397042.07 513573.316 0, 1396740.97 513549.955 0,
+ 1396439.869 513526.613 0, 1396138.766 513503.288 0, 1395837.663 513479.981 0, 1395536.558 513456.692 0, 1395235.451 513433.42 0, 1394934.343 513410.166 0, 1394633.234 513386.93 0, 1394332.123 513363.711 0, 1394031.011 513340.511 0, 1393729.898 513317.328 0,
+ 1393428.783 513294.162 0, 1393127.667 513271.015 0, 1392826.55 513247.885 0, 1392525.431 513224.773 0, 1392224.311 513201.678 0, 1391923.189 513178.602 0, 1391622.066 513155.543 0, 1391320.942 513132.501 0, 1391018.422 513109.371 0, 1390594.887 518650.966 0,
+ 1390171.322 524192.962 0, 1390473.187 524216.042 0, 1390773.659 524239.033 0, 1391074.129 524262.042 0, 1391374.598 524285.069 0, 1391675.066 524308.113 0, 1391975.533 524331.175 0, 1392275.998 524354.255 0, 1392576.461 524377.353 0, 1392876.924 524400.468 0,
+ 1393177.385 524423.6 0, 1393477.845 524446.751 0, 1393778.303 524469.919 0, 1394078.76 524493.105 0, 1394379.215 524516.308 0, 1394679.67 524539.53 0, 1394980.122 524562.769 0, 1395280.574 524586.025 0, 1395581.024 524609.299 0, 1395881.473 524632.591 0,
+ 1396181.92 524655.901 0, 1396482.366 524679.228 0, 1396782.811 524702.573 0, 1397083.254 524725.936 0, 1397382.306 524749.208 0, 1397684.136 524772.714 0, 1397984.575 524796.13 0, 1398285.013 524819.564 0, 1398585.45 524843.015 0, 1398885.885 524866.484 0,
+ 1399186.318 524889.97 0, 1399486.75 524913.474 0, 1399787.181 524936.996 0, 1400087.611 524960.536 0, 1400388.039 524984.093 0, 1400688.465 525007.668 0, 1400988.891 525031.26 0, 1401289.315 525054.87 0, 1401589.737 525078.498 0, 1401890.158 525102.144 0,
+ 1402190.578 525125.807 0, 1402490.996 525149.488 0, 1402791.413 525173.187 0, 1403091.829 525196.903 0, 1403392.243 525220.637 0, 1403692.656 525244.389 0, 1403993.067 525268.158 0, 1404293.477 525291.945 0, 1404592.496 525315.64 0, 1405031.717 519774.863 0,
+ 1405470.906 514234.487 0))
+
+POLYGON ((1419010.442 526479.056 0, 1418711.488 526454.517 0, 1418411.146 526429.881 0, 1418110.803 526405.263 0, 1417810.459 526380.663 0, 1417510.113 526356.08 0, 1417209.766 526331.515 0, 1416909.417 526306.968 0, 1416609.067 526282.438 0, 1416308.715 526257.926 0,
+ 1416008.362 526233.432 0, 1415708.007 526208.955 0, 1415407.651 526184.496 0, 1415107.294 526160.055 0, 1414806.935 526135.632 0, 1414506.575 526111.226 0, 1414206.213 526086.838 0, 1413905.85 526062.467 0, 1413605.485 526038.114 0, 1413305.119 526013.779 0,
+ 1413004.752 525989.462 0, 1412704.383 525965.162 0, 1412404.012 525940.88 0, 1412103.641 525916.615 0, 1411801.88 525892.257 0, 1411502.893 525868.139 0, 1411202.517 525843.928 0, 1410902.139 525819.734 0, 1410601.761 525795.558 0, 1410301.38 525771.4 0,
+ 1410000.998 525747.259 0, 1409700.615 525723.136 0, 1409400.231 525699.031 0, 1409099.845 525674.943 0, 1408799.457 525650.873 0, 1408499.069 525626.821 0, 1408198.678 525602.786 0, 1407898.287 525578.769 0, 1407597.894 525554.77 0, 1407297.499 525530.789 0,
+ 1406997.103 525506.825 0, 1406696.706 525482.879 0, 1406396.307 525458.95 0, 1406095.907 525435.039 0, 1405795.506 525411.146 0, 1405495.103 525387.271 0, 1405194.698 525363.413 0, 1404894.293 525339.573 0, 1404592.496 525315.64 0, 1404153.244 530856.815 0,
+ 1403713.961 536398.385 0, 1404015.101 536422.266 0, 1404314.855 536446.054 0, 1404614.607 536469.86 0, 1404914.357 536493.684 0, 1405214.107 536517.525 0, 1405513.854 536541.384 0, 1405813.601 536565.261 0, 1406113.346 536589.155 0, 1406413.09 536613.067 0,
+ 1406712.832 536636.996 0, 1407012.573 536660.943 0, 1407312.312 536684.908 0, 1407612.05 536708.89 0, 1407911.786 536732.89 0, 1408211.522 536756.908 0, 1408511.255 536780.944 0, 1408810.988 536804.996 0, 1409110.719 536829.067 0, 1409410.448 536853.155 0,
+ 1409710.176 536877.261 0, 1410009.903 536901.385 0, 1410309.628 536925.526 0, 1410609.352 536949.685 0, 1410907.69 536973.75 0, 1411208.795 536998.055 0, 1411508.515 537022.267 0, 1411808.233 537046.497 0, 1412107.949 537070.744 0, 1412407.665 537095.008 0,
+ 1412707.378 537119.291 0, 1413007.091 537143.591 0, 1413306.802 537167.908 0, 1413606.511 537192.243 0, 1413906.219 537216.596 0, 1414205.926 537240.967 0, 1414505.631 537265.355 0, 1414805.335 537289.761 0, 1415105.038 537314.184 0, 1415404.738 537338.625 0,
+ 1415704.438 537363.084 0, 1416004.136 537387.56 0, 1416303.833 537412.054 0, 1416603.528 537436.566 0, 1416903.221 537461.095 0, 1417202.914 537485.642 0, 1417502.605 537510.207 0, 1417802.294 537534.789 0, 1418100.599 537559.275 0, 1418555.536 532018.968 0,
+ 1419010.442 526479.056 0))
+
+POLYGON ((1432483.899 538760.805 0, 1432185.663 538735.476 0, 1431886.044 538710.047 0, 1431586.424 538684.636 0, 1431286.802 538659.243 0, 1430987.179 538633.867 0, 1430687.554 538608.509 0, 1430387.928 538583.168 0, 1430088.3 538557.845 0, 1429788.671 538532.54 0,
+ 1429489.04 538507.252 0, 1429189.408 538481.982 0, 1428889.775 538456.73 0, 1428590.14 538431.495 0, 1428290.503 538406.278 0, 1427990.865 538381.078 0, 1427691.225 538355.896 0, 1427391.584 538330.732 0, 1427091.942 538305.585 0, 1426792.298 538280.456 0,
+ 1426492.652 538255.345 0, 1426193.005 538230.251 0, 1425893.357 538205.175 0, 1425593.707 538180.117 0, 1425292.673 538154.961 0, 1424994.402 538130.053 0, 1424694.748 538105.048 0, 1424395.092 538080.06 0, 1424095.435 538055.089 0, 1423795.776 538030.137 0,
+ 1423496.116 538005.202 0, 1423196.454 537980.285 0, 1422896.791 537955.385 0, 1422597.126 537930.503 0, 1422297.46 537905.638 0, 1421997.793 537880.792 0, 1421698.124 537855.963 0, 1421398.453 537831.151 0, 1421098.781 537806.357 0, 1420799.108 537781.581 0,
+ 1420499.433 537756.822 0, 1420199.757 537732.081 0, 1419900.079 537707.358 0, 1419600.4 537682.652 0, 1419300.719 537657.964 0, 1419001.037 537633.294 0, 1418701.353 537608.641 0, 1418401.668 537584.006 0, 1418100.599 537559.275 0, 1417645.629 543099.974 0,
+ 1417190.627 548641.061 0, 1417491.041 548665.738 0, 1417790.074 548690.32 0, 1418089.105 548714.919 0, 1418388.135 548739.536 0, 1418687.164 548764.17 0, 1418986.191 548788.822 0, 1419285.216 548813.491 0, 1419584.24 548838.178 0, 1419883.263 548862.883 0,
+ 1420182.284 548887.605 0, 1420481.304 548912.345 0, 1420780.322 548937.103 0, 1421079.339 548961.878 0, 1421378.354 548986.67 0, 1421677.368 549011.481 0, 1421976.381 549036.309 0, 1422275.392 549061.154 0, 1422574.401 549086.017 0, 1422873.409 549110.898 0,
+ 1423172.416 549135.796 0, 1423471.421 549160.712 0, 1423770.424 549185.646 0, 1424069.427 549210.597 0, 1424367.048 549235.45 0, 1424667.427 549260.552 0, 1424966.424 549285.556 0, 1425265.421 549310.577 0, 1425564.415 549335.616 0, 1425863.409 549360.673 0,
+ 1426162.401 549385.747 0, 1426461.391 549410.839 0, 1426760.38 549435.948 0, 1427059.367 549461.075 0, 1427358.353 549486.22 0, 1427657.338 549511.382 0, 1427956.321 549536.562 0, 1428255.302 549561.76 0, 1428554.282 549586.975 0, 1428853.261 549612.207 0,
+ 1429152.238 549637.458 0, 1429451.214 549662.725 0, 1429750.188 549688.011 0, 1430049.16 549713.314 0, 1430348.131 549738.635 0, 1430647.101 549763.973 0, 1430946.069 549789.329 0, 1431245.036 549814.702 0, 1431542.623 549839.976 0, 1432013.278 544300.196 0,
+ 1432483.899 538760.805 0))
+
+POLYGON ((1445891.175 551079.433 0, 1445593.658 551053.319 0, 1445294.764 551027.101 0, 1444995.869 551000.9 0, 1444696.972 550974.717 0, 1444398.074 550948.552 0, 1444099.174 550922.405 0, 1443800.272 550896.275 0, 1443501.369 550870.162 0, 1443202.465 550844.067 0,
+ 1442903.559 550817.99 0, 1442604.651 550791.931 0, 1442305.742 550765.889 0, 1442006.831 550739.864 0, 1441707.919 550713.857 0, 1441409.005 550687.868 0, 1441110.09 550661.896 0, 1440811.173 550635.942 0, 1440512.255 550610.006 0, 1440213.335 550584.087 0,
+ 1439914.414 550558.186 0, 1439615.491 550532.302 0, 1439316.567 550506.436 0, 1439017.641 550480.587 0, 1438717.337 550454.638 0, 1438419.784 550428.943 0, 1438120.854 550403.147 0, 1437821.922 550377.369 0, 1437522.988 550351.609 0, 1437224.053 550325.866 0,
+ 1436925.117 550300.14 0, 1436626.179 550274.433 0, 1436327.239 550248.743 0, 1436028.298 550223.07 0, 1435729.355 550197.415 0, 1435430.411 550171.778 0, 1435131.466 550146.158 0, 1434832.518 550120.556 0, 1434533.57 550094.971 0, 1434234.62 550069.404 0,
+ 1433935.668 550043.855 0, 1433636.715 550018.323 0, 1433337.76 549992.809 0, 1433038.804 549967.312 0, 1432739.846 549941.833 0, 1432440.887 549916.372 0, 1432141.927 549890.928 0, 1431842.964 549865.502 0, 1431542.623 549839.976 0, 1431071.936 555380.141 0,
+ 1430601.216 560920.689 0, 1430900.902 560946.159 0, 1431199.212 560971.529 0, 1431497.521 560996.918 0, 1431795.827 561022.324 0, 1432094.133 561047.747 0, 1432392.437 561073.188 0, 1432690.739 561098.647 0, 1432989.04 561124.123 0, 1433287.34 561149.616 0,
+ 1433585.638 561175.128 0, 1433883.934 561200.656 0, 1434182.229 561226.203 0, 1434480.523 561251.766 0, 1434778.815 561277.348 0, 1435077.105 561302.947 0, 1435375.394 561328.563 0, 1435673.682 561354.198 0, 1435971.968 561379.849 0, 1436270.252 561405.518 0,
+ 1436568.535 561431.205 0, 1436866.816 561456.91 0, 1437165.096 561482.631 0, 1437463.375 561508.371 0, 1437760.278 561534.009 0, 1438059.927 561559.902 0, 1438358.201 561585.695 0, 1438656.473 561611.504 0, 1438954.744 561637.332 0, 1439253.013 561663.176 0,
+ 1439551.281 561689.039 0, 1439849.547 561714.919 0, 1440147.812 561740.816 0, 1440446.075 561766.731 0, 1440744.336 561792.664 0, 1441042.597 561818.614 0, 1441340.855 561844.581 0, 1441639.112 561870.567 0, 1441937.368 561896.569 0, 1442235.622 561922.59 0,
+ 1442533.874 561948.628 0, 1442832.125 561974.683 0, 1443130.375 562000.756 0, 1443428.622 562026.847 0, 1443726.869 562052.955 0, 1444025.114 562079.08 0, 1444323.357 562105.223 0, 1444621.599 562131.384 0, 1444918.467 562157.442 0, 1445404.838 556618.247 0,
+ 1445891.175 551079.433 0))
+
+POLYGON ((1459232.166 563434.639 0, 1458935.371 563407.743 0, 1458637.204 563380.739 0, 1458339.036 563353.754 0, 1458040.866 563326.786 0, 1457742.695 563299.835 0, 1457444.522 563272.902 0, 1457146.347 563245.986 0, 1456848.171 563219.089 0, 1456549.993 563192.208 0,
+ 1456251.814 563165.345 0, 1455953.633 563138.5 0, 1455655.451 563111.672 0, 1455357.267 563084.862 0, 1455059.081 563058.069 0, 1454760.894 563031.294 0, 1454462.705 563004.537 0, 1454164.515 562977.797 0, 1453866.323 562951.074 0, 1453568.129 562924.369 0,
+ 1453269.934 562897.682 0, 1452971.738 562871.012 0, 1452673.539 562844.36 0, 1452375.34 562817.725 0, 1452075.768 562790.986 0, 1451778.935 562764.509 0, 1451480.731 562737.927 0, 1451182.525 562711.362 0, 1450884.317 562684.815 0, 1450586.108 562658.286 0,
+ 1450287.897 562631.774 0, 1449989.685 562605.28 0, 1449691.471 562578.803 0, 1449393.256 562552.344 0, 1449095.039 562525.902 0, 1448796.82 562499.478 0, 1448498.6 562473.072 0, 1448200.379 562446.683 0, 1447902.156 562420.311 0, 1447603.931 562393.957 0,
+ 1447305.705 562367.621 0, 1447007.477 562341.302 0, 1446709.247 562315.001 0, 1446411.016 562288.717 0, 1446112.784 562262.451 0, 1445814.55 562236.203 0, 1445516.314 562209.972 0, 1445218.077 562183.758 0, 1444918.467 562157.442 0, 1444432.062 567697.017 0,
+ 1443945.625 573236.967 0, 1444244.581 573263.226 0, 1444542.166 573289.382 0, 1444839.749 573315.556 0, 1445137.331 573341.747 0, 1445434.911 573367.956 0, 1445732.49 573394.182 0, 1446030.067 573420.426 0, 1446327.643 573446.687 0, 1446625.217 573472.965 0,
+ 1446922.79 573499.262 0, 1447220.361 573525.575 0, 1447517.931 573551.907 0, 1447815.499 573578.255 0, 1448113.065 573604.622 0, 1448410.63 573631.006 0, 1448708.193 573657.407 0, 1449005.755 573683.826 0, 1449303.315 573710.262 0, 1449600.874 573736.716 0,
+ 1449898.431 573763.187 0, 1450195.986 573789.676 0, 1450493.54 573816.183 0, 1450791.093 573842.706 0, 1451087.276 573869.126 0, 1451386.193 573895.807 0, 1451683.741 573922.383 0, 1451981.287 573948.977 0, 1452278.832 573975.589 0, 1452576.375 574002.218 0,
+ 1452873.916 574028.864 0, 1453171.456 574055.528 0, 1453468.994 574082.21 0, 1453766.531 574108.909 0, 1454064.066 574135.625 0, 1454361.6 574162.359 0, 1454659.132 574189.111 0, 1454956.662 574215.88 0, 1455254.191 574242.667 0, 1455551.719 574269.471 0,
+ 1455849.244 574296.292 0, 1456146.768 574323.132 0, 1456444.291 574349.988 0, 1456741.812 574376.862 0, 1457039.331 574403.754 0, 1457336.849 574430.663 0, 1457634.365 574457.59 0, 1457931.88 574484.534 0, 1458228.027 574511.372 0, 1458730.114 568972.818 0,
+ 1459232.166 563434.639 0))
+
+POLYGON ((1472506.771 575826.122 0, 1472210.699 575798.447 0, 1471913.262 575770.663 0, 1471615.823 575742.896 0, 1471318.382 575715.146 0, 1471020.94 575687.414 0, 1470723.496 575659.699 0, 1470426.051 575632.002 0, 1470128.603 575604.323 0, 1469831.155 575576.66 0,
+ 1469533.704 575549.016 0, 1469236.252 575521.389 0, 1468938.799 575493.779 0, 1468641.343 575466.187 0, 1468343.886 575438.613 0, 1468046.428 575411.056 0, 1467748.968 575383.516 0, 1467451.506 575355.994 0, 1467154.043 575328.49 0, 1466856.578 575301.003 0,
+ 1466559.111 575273.533 0, 1466261.643 575246.081 0, 1465964.173 575218.647 0, 1465666.701 575191.23 0, 1465367.863 575163.704 0, 1465071.754 575136.448 0, 1464774.277 575109.084 0, 1464476.799 575081.737 0, 1464179.32 575054.407 0, 1463881.839 575027.095 0,
+ 1463584.356 574999.801 0, 1463286.872 574972.524 0, 1462989.386 574945.265 0, 1462691.898 574918.023 0, 1462394.409 574890.798 0, 1462096.918 574863.592 0, 1461799.426 574836.402 0, 1461501.932 574809.23 0, 1461204.436 574782.076 0, 1460906.939 574754.939 0,
+ 1460609.441 574727.82 0, 1460311.94 574700.718 0, 1460014.438 574673.634 0, 1459716.935 574646.567 0, 1459419.43 574619.518 0, 1459121.923 574592.486 0, 1458824.415 574565.472 0, 1458526.905 574538.475 0, 1458228.027 574511.372 0, 1457725.906 580050.299 0,
+ 1457223.752 585589.596 0, 1457521.975 585616.639 0, 1457818.833 585643.577 0, 1458115.689 585670.532 0, 1458412.544 585697.504 0, 1458709.397 585724.494 0, 1459006.249 585751.502 0, 1459303.098 585778.527 0, 1459599.947 585805.569 0, 1459896.794 585832.629 0,
+ 1460193.639 585859.706 0, 1460490.482 585886.801 0, 1460787.324 585913.914 0, 1461084.165 585941.043 0, 1461381.003 585968.191 0, 1461677.84 585995.355 0, 1461974.676 586022.537 0, 1462271.51 586049.737 0, 1462568.342 586076.954 0, 1462865.173 586104.189 0,
+ 1463162.002 586131.441 0, 1463458.83 586158.71 0, 1463755.656 586185.997 0, 1464052.48 586213.302 0, 1464347.941 586240.498 0, 1464646.124 586267.963 0, 1464942.943 586295.32 0, 1465239.761 586322.694 0, 1465536.578 586350.086 0, 1465833.392 586377.496 0,
+ 1466130.205 586404.922 0, 1466427.017 586432.367 0, 1466723.827 586459.828 0, 1467020.635 586487.307 0, 1467317.441 586514.804 0, 1467614.246 586542.318 0, 1467911.05 586569.85 0, 1468207.852 586597.399 0, 1468504.652 586624.965 0, 1468801.45 586652.549 0,
+ 1469098.247 586680.151 0, 1469395.042 586707.77 0, 1469691.836 586735.406 0, 1469988.628 586763.06 0, 1470285.418 586790.731 0, 1470582.207 586818.42 0, 1470878.994 586846.126 0, 1471175.78 586873.85 0, 1471471.203 586901.464 0, 1471989.004 581363.608 0,
+ 1472506.771 575826.122 0))
+
+POLYGON ((1485714.89 588253.579 0, 1485419.544 588225.13 0, 1485122.838 588196.568 0, 1484826.13 588168.023 0, 1484529.421 588139.496 0, 1484232.71 588110.987 0, 1483935.997 588082.494 0, 1483639.283 588054.02 0, 1483342.567 588025.562 0, 1483045.849 587997.122 0,
+ 1482749.13 587968.7 0, 1482452.409 587940.295 0, 1482155.686 587911.908 0, 1481858.961 587883.538 0, 1481562.235 587855.185 0, 1481265.508 587826.85 0, 1480968.778 587798.532 0, 1480672.047 587770.232 0, 1480375.314 587741.95 0, 1480078.58 587713.684 0,
+ 1479781.844 587685.437 0, 1479485.106 587657.206 0, 1479188.367 587628.994 0, 1478891.626 587600.798 0, 1478593.524 587572.491 0, 1478298.139 587544.46 0, 1478001.393 587516.317 0, 1477704.645 587488.192 0, 1477407.896 587460.084 0, 1477111.145 587431.993 0,
+ 1476814.392 587403.92 0, 1476517.638 587375.864 0, 1476220.882 587347.826 0, 1475924.124 587319.805 0, 1475627.365 587291.802 0, 1475330.604 587263.817 0, 1475033.842 587235.848 0, 1474737.078 587207.897 0, 1474440.312 587179.964 0, 1474143.544 587152.048 0,
+ 1473846.775 587124.15 0, 1473550.004 587096.269 0, 1473253.232 587068.405 0, 1472956.458 587040.559 0, 1472659.682 587012.731 0, 1472362.905 586984.92 0, 1472066.126 586957.126 0, 1471769.346 586929.35 0, 1471471.203 586901.464 0, 1470953.367 592439.686 0,
+ 1470435.497 597978.272 0, 1470732.985 598006.096 0, 1471029.114 598033.811 0, 1471325.241 598061.544 0, 1471621.366 598089.294 0, 1471917.49 598117.061 0, 1472213.612 598144.846 0, 1472509.732 598172.648 0, 1472805.851 598200.468 0, 1473101.968 598228.305 0,
+ 1473398.084 598256.16 0, 1473694.198 598284.032 0, 1473990.31 598311.921 0, 1474286.421 598339.828 0, 1474582.53 598367.752 0, 1474878.637 598395.694 0, 1475174.743 598423.653 0, 1475470.847 598451.63 0, 1475766.949 598479.624 0, 1476063.05 598507.635 0,
+ 1476359.149 598535.664 0, 1476655.246 598563.71 0, 1476951.342 598591.774 0, 1477247.436 598619.855 0, 1477542.172 598647.825 0, 1477839.619 598676.07 0, 1478135.709 598704.203 0, 1478431.796 598732.354 0, 1478727.882 598760.522 0, 1479023.966 598788.708 0,
+ 1479320.049 598816.911 0, 1479616.13 598845.131 0, 1479912.209 598873.369 0, 1480208.286 598901.625 0, 1480504.362 598929.898 0, 1480800.436 598958.188 0, 1481096.509 598986.496 0, 1481392.58 599014.821 0, 1481688.649 599043.163 0, 1481984.717 599071.523 0,
+ 1482280.783 599099.9 0, 1482576.847 599128.295 0, 1482872.909 599156.708 0, 1483168.97 599185.137 0, 1483465.029 599213.584 0, 1483761.087 599242.049 0, 1484057.143 599270.531 0, 1484353.197 599299.03 0, 1484647.894 599327.416 0, 1485181.41 593790.316 0,
+ 1485714.89 588253.579 0))
+
+POLYGON ((1498856.423 600716.708 0, 1498561.805 600687.489 0, 1498265.833 600658.153 0, 1497969.858 600628.835 0, 1497673.883 600599.534 0, 1497377.905 600570.251 0, 1497081.926 600540.985 0, 1496785.944 600511.737 0, 1496489.962 600482.505 0, 1496193.977 600453.292 0,
+ 1495897.991 600424.095 0, 1495602.003 600394.917 0, 1495306.013 600365.755 0, 1495010.022 600336.611 0, 1494714.029 600307.485 0, 1494418.034 600278.375 0, 1494122.037 600249.284 0, 1493826.039 600220.209 0, 1493530.039 600191.152 0, 1493234.037 600162.113 0,
+ 1492938.034 600133.091 0, 1492642.029 600104.086 0, 1492346.022 600075.099 0, 1492050.014 600046.129 0, 1491752.65 600017.044 0, 1491457.991 599988.242 0, 1491161.978 599959.324 0, 1490865.962 599930.424 0, 1490569.945 599901.542 0, 1490273.927 599872.676 0,
+ 1489977.906 599843.828 0, 1489681.884 599814.998 0, 1489385.86 599786.185 0, 1489089.835 599757.389 0, 1488793.808 599728.611 0, 1488497.779 599699.851 0, 1488201.748 599671.107 0, 1487905.716 599642.381 0, 1487609.682 599613.673 0, 1487313.646 599584.982 0,
+ 1487017.609 599556.308 0, 1486721.57 599527.652 0, 1486425.529 599499.013 0, 1486129.487 599470.392 0, 1485833.443 599441.788 0, 1485537.397 599413.202 0, 1485241.349 599384.633 0, 1484945.3 599356.081 0, 1484647.894 599327.416 0, 1484114.345 604864.876 0,
+ 1483580.76 610402.693 0, 1483877.511 610431.295 0, 1484172.909 610459.784 0, 1484468.304 610488.29 0, 1484763.698 610516.813 0, 1485059.09 610545.354 0, 1485354.481 610573.913 0, 1485649.87 610602.488 0, 1485945.257 610631.081 0, 1486240.642 610659.692 0,
+ 1486536.026 610688.32 0, 1486831.408 610716.965 0, 1487126.789 610745.628 0, 1487422.168 610774.308 0, 1487717.545 610803.005 0, 1488012.92 610831.72 0, 1488308.294 610860.452 0, 1488603.666 610889.201 0, 1488899.036 610917.968 0, 1489194.405 610946.753 0,
+ 1489489.772 610975.554 0, 1489785.137 611004.373 0, 1490080.5 611033.21 0, 1490375.862 611062.064 0, 1490669.872 611090.803 0, 1490966.581 611119.824 0, 1491261.938 611148.73 0, 1491557.293 611177.653 0, 1491852.646 611206.594 0, 1492147.998 611235.552 0,
+ 1492443.348 611264.528 0, 1492738.696 611293.52 0, 1493034.042 611322.531 0, 1493329.387 611351.558 0, 1493624.73 611380.604 0, 1493920.072 611409.666 0, 1494215.411 611438.746 0, 1494510.749 611467.843 0, 1494806.085 611496.958 0, 1495101.42 611526.09 0,
+ 1495396.753 611555.239 0, 1495692.084 611584.406 0, 1495987.413 611613.59 0, 1496282.741 611642.792 0, 1496578.067 611672.01 0, 1496873.391 611701.247 0, 1497168.714 611730.5 0, 1497464.034 611759.771 0, 1497758.004 611788.926 0, 1498307.231 606252.639 0,
+ 1498856.423 600716.708 0))
+
+POLYGON ((1511931.275 613215.206 0, 1511637.386 613185.221 0, 1511342.149 613155.116 0, 1511046.911 613125.028 0, 1510751.67 613094.958 0, 1510456.428 613064.904 0, 1510161.184 613034.869 0, 1509865.938 613004.85 0, 1509570.691 612974.849 0, 1509275.442 612944.866 0,
+ 1508980.19 612914.899 0, 1508684.938 612884.951 0, 1508389.683 612855.019 0, 1508094.427 612825.105 0, 1507799.169 612795.208 0, 1507503.909 612765.329 0, 1507208.647 612735.467 0, 1506913.384 612705.622 0, 1506618.119 612675.795 0, 1506322.852 612645.985 0,
+ 1506027.583 612616.193 0, 1505732.313 612586.418 0, 1505437.041 612556.66 0, 1505141.767 612526.92 0, 1504845.143 612497.061 0, 1504551.214 612467.491 0, 1504255.935 612437.803 0, 1503960.654 612408.132 0, 1503665.371 612378.479 0, 1503370.087 612348.843 0,
+ 1503074.801 612319.224 0, 1502779.513 612289.623 0, 1502484.223 612260.039 0, 1502188.932 612230.472 0, 1501893.639 612200.923 0, 1501598.344 612171.391 0, 1501303.047 612141.877 0, 1501007.749 612112.38 0, 1500712.449 612082.9 0, 1500417.147 612053.438 0,
+ 1500121.844 612023.993 0, 1499826.538 611994.566 0, 1499531.231 611965.155 0, 1499235.923 611935.763 0, 1498940.612 611906.387 0, 1498645.3 611877.029 0, 1498349.986 611847.689 0, 1498054.671 611818.366 0, 1497758.004 611788.926 0, 1497208.741 617325.567 0,
+ 1496659.444 622862.558 0, 1496955.456 622891.932 0, 1497250.12 622921.191 0, 1497544.782 622950.467 0, 1497839.443 622979.76 0, 1498134.101 623009.07 0, 1498428.758 623038.398 0, 1498723.413 623067.743 0, 1499018.067 623097.106 0, 1499312.719 623126.486 0,
+ 1499607.369 623155.883 0, 1499902.017 623185.298 0, 1500196.664 623214.73 0, 1500491.308 623244.179 0, 1500785.951 623273.645 0, 1501080.593 623303.129 0, 1501375.232 623332.631 0, 1501669.87 623362.149 0, 1501964.507 623391.685 0, 1502259.141 623421.239 0,
+ 1502553.774 623450.809 0, 1502848.405 623480.397 0, 1503143.034 623510.002 0, 1503437.661 623539.625 0, 1503730.942 623569.13 0, 1504026.911 623598.923 0, 1504321.533 623628.597 0, 1504616.154 623658.289 0, 1504910.772 623687.999 0, 1505205.389 623717.725 0,
+ 1505500.004 623747.469 0, 1505794.618 623777.231 0, 1506089.23 623807.01 0, 1506383.84 623836.806 0, 1506678.448 623866.619 0, 1506973.054 623896.45 0, 1507267.659 623926.298 0, 1507562.262 623956.163 0, 1507856.863 623986.046 0, 1508151.463 624015.946 0,
+ 1508446.06 624045.864 0, 1508740.656 624075.798 0, 1509035.25 624105.751 0, 1509329.843 624135.72 0, 1509624.433 624165.707 0, 1509919.022 624195.711 0, 1510213.609 624225.733 0, 1510508.194 624255.771 0, 1510801.434 624285.69 0, 1511366.372 618750.273 0,
+ 1511931.275 613215.206 0))
+
+POLYGON ((1524939.347 625748.771 0, 1524646.191 625718.023 0, 1524351.692 625687.152 0, 1524057.191 625656.299 0, 1523762.688 625625.463 0, 1523468.183 625594.644 0, 1523173.676 625563.842 0, 1522879.168 625533.058 0, 1522584.658 625502.291 0, 1522290.146 625471.541 0,
+ 1521995.632 625440.809 0, 1521701.117 625410.094 0, 1521406.599 625379.396 0, 1521112.08 625348.716 0, 1520817.559 625318.053 0, 1520523.036 625287.407 0, 1520228.512 625256.779 0, 1519933.985 625226.168 0, 1519639.457 625195.574 0, 1519344.927 625164.998 0,
+ 1519050.395 625134.439 0, 1518755.862 625103.898 0, 1518461.326 625073.373 0, 1518166.789 625042.866 0, 1517870.907 625012.238 0, 1517577.709 624981.905 0, 1517283.167 624951.45 0, 1516988.622 624921.012 0, 1516694.076 624890.592 0, 1516399.528 624860.189 0,
+ 1516104.978 624829.803 0, 1515810.427 624799.435 0, 1515515.873 624769.084 0, 1515221.318 624738.751 0, 1514926.761 624708.434 0, 1514632.203 624678.135 0, 1514337.642 624647.854 0, 1514043.08 624617.59 0, 1513748.516 624587.343 0, 1513453.95 624557.113 0,
+ 1513159.383 624526.901 0, 1512864.813 624496.706 0, 1512570.242 624466.529 0, 1512275.669 624436.368 0, 1511981.095 624406.226 0, 1511686.518 624376.1 0, 1511391.94 624345.992 0, 1511097.36 624315.901 0, 1510801.434 624285.69 0, 1510236.461 629821.454 0,
+ 1509671.452 635357.562 0, 1509966.723 635387.706 0, 1510260.651 635417.73 0, 1510554.578 635447.772 0, 1510848.503 635477.83 0, 1511142.426 635507.907 0, 1511436.347 635538 0, 1511730.267 635568.111 0, 1512024.184 635598.239 0, 1512318.1 635628.384 0,
+ 1512612.014 635658.547 0, 1512905.927 635688.727 0, 1513199.837 635718.924 0, 1513493.746 635749.139 0, 1513787.653 635779.371 0, 1514081.559 635809.62 0, 1514375.462 635839.886 0, 1514669.364 635870.17 0, 1514963.264 635900.471 0, 1515257.162 635930.79 0,
+ 1515551.058 635961.125 0, 1515844.953 635991.478 0, 1516138.846 636021.848 0, 1516432.737 636052.236 0, 1516725.286 636082.502 0, 1517020.513 636113.063 0, 1517314.399 636143.502 0, 1517608.283 636173.959 0, 1517902.165 636204.433 0, 1518196.045 636234.925 0,
+ 1518489.924 636265.433 0, 1518783.8 636295.959 0, 1519077.675 636326.502 0, 1519371.548 636357.063 0, 1519665.42 636387.641 0, 1519959.289 636418.236 0, 1520253.157 636448.848 0, 1520547.023 636479.478 0, 1520840.887 636510.125 0, 1521134.749 636540.789 0,
+ 1521428.609 636571.471 0, 1521722.468 636602.17 0, 1522016.325 636632.886 0, 1522310.18 636663.619 0, 1522604.033 636694.37 0, 1522897.884 636725.138 0, 1523191.734 636755.924 0, 1523485.582 636786.726 0, 1523778.09 636817.406 0, 1524358.736 631282.917 0,
+ 1524939.347 625748.771 0))
+
+POLYGON ((1537880.546 638317.098 0, 1537588.124 638285.592 0, 1537294.365 638253.959 0, 1537000.603 638222.344 0, 1536706.84 638190.746 0, 1536413.075 638159.165 0, 1536119.308 638127.601 0, 1535825.539 638096.055 0, 1535531.768 638064.526 0, 1535237.996 638033.014 0,
+ 1534944.221 638001.52 0, 1534650.445 637970.043 0, 1534356.667 637938.583 0, 1534062.887 637907.14 0, 1533769.105 637875.715 0, 1533475.321 637844.307 0, 1533181.535 637812.917 0, 1532887.748 637781.543 0, 1532593.959 637750.187 0, 1532300.168 637718.848 0,
+ 1532006.375 637687.527 0, 1531712.58 637656.223 0, 1531418.783 637624.936 0, 1531124.985 637593.666 0, 1530829.848 637562.272 0, 1530537.382 637531.179 0, 1530243.578 637499.961 0, 1529949.773 637468.761 0, 1529655.965 637437.578 0, 1529362.155 637406.412 0,
+ 1529068.344 637375.263 0, 1528774.531 637344.132 0, 1528480.716 637313.018 0, 1528186.899 637281.921 0, 1527893.081 637250.842 0, 1527599.26 637219.78 0, 1527305.438 637188.735 0, 1527011.614 637157.708 0, 1526717.788 637126.697 0, 1526423.96 637095.704 0,
+ 1526130.13 637064.729 0, 1525836.299 637033.77 0, 1525542.466 637002.829 0, 1525248.63 636971.906 0, 1524954.794 636940.999 0, 1524660.955 636910.11 0, 1524367.114 636879.238 0, 1524073.272 636848.384 0, 1523778.09 636817.406 0, 1523197.407 642352.236 0,
+ 1522616.689 647887.402 0, 1522911.217 647918.311 0, 1523204.408 647949.098 0, 1523497.597 647979.901 0, 1523790.784 648010.722 0, 1524083.969 648041.559 0, 1524377.153 648072.415 0, 1524670.335 648103.287 0, 1524963.515 648134.177 0, 1525256.693 648165.084 0,
+ 1525549.869 648196.008 0, 1525843.043 648226.949 0, 1526136.216 648257.908 0, 1526429.387 648288.884 0, 1526722.556 648319.877 0, 1527015.723 648350.888 0, 1527308.888 648381.915 0, 1527602.052 648412.96 0, 1527895.213 648444.023 0, 1528188.373 648475.102 0,
+ 1528481.531 648506.199 0, 1528774.687 648537.313 0, 1529067.842 648568.444 0, 1529360.994 648599.593 0, 1529652.811 648630.617 0, 1529947.294 648661.941 0, 1530240.441 648693.142 0, 1530533.586 648724.359 0, 1530826.729 648755.594 0, 1531119.871 648786.846 0,
+ 1531413.01 648818.115 0, 1531706.148 648849.402 0, 1531999.284 648880.706 0, 1532292.418 648912.027 0, 1532585.551 648943.365 0, 1532878.681 648974.721 0, 1533171.81 649006.093 0, 1533464.936 649037.483 0, 1533758.061 649068.891 0, 1534051.184 649100.315 0,
+ 1534344.306 649131.757 0, 1534637.425 649163.216 0, 1534930.543 649194.692 0, 1535223.658 649226.186 0, 1535516.772 649257.697 0, 1535809.884 649289.225 0, 1536102.994 649320.77 0, 1536396.102 649352.333 0, 1536687.876 649383.769 0, 1537284.229 643850.265 0,
+ 1537880.546 638317.098 0))
+
+POLYGON ((1550754.779 650919.884 0, 1550463.093 650887.623 0, 1550170.075 650855.232 0, 1549877.055 650822.859 0, 1549584.034 650790.503 0, 1549291.01 650758.164 0, 1548997.985 650725.843 0, 1548704.957 650693.538 0, 1548411.928 650661.251 0, 1548118.897 650628.981 0,
+ 1547825.864 650596.729 0, 1547532.829 650564.494 0, 1547239.792 650532.275 0, 1546946.753 650500.075 0, 1546653.712 650467.891 0, 1546360.67 650435.725 0, 1546067.625 650403.576 0, 1545774.579 650371.444 0, 1545481.53 650339.329 0, 1545188.48 650307.232 0,
+ 1544895.428 650275.152 0, 1544602.374 650243.089 0, 1544309.319 650211.043 0, 1544016.261 650179.015 0, 1543721.87 650146.859 0, 1543430.14 650115.01 0, 1543137.076 650083.034 0, 1542844.011 650051.074 0, 1542550.944 650019.132 0, 1542257.875 649987.207 0,
+ 1541964.804 649955.3 0, 1541671.732 649923.409 0, 1541378.657 649891.536 0, 1541085.58 649859.68 0, 1540792.502 649827.842 0, 1540499.422 649796.02 0, 1540206.34 649764.216 0, 1539913.256 649732.429 0, 1539620.17 649700.66 0, 1539327.082 649668.908 0,
+ 1539033.992 649637.172 0, 1538740.901 649605.455 0, 1538447.808 649573.754 0, 1538154.712 649542.071 0, 1537861.615 649510.405 0, 1537568.516 649478.756 0, 1537275.416 649447.124 0, 1536982.313 649415.51 0, 1536687.876 649383.769 0, 1536091.487 654917.607 0,
+ 1535495.062 660451.775 0, 1535788.844 660483.445 0, 1536081.295 660514.989 0, 1536373.745 660546.551 0, 1536666.192 660578.129 0, 1536958.638 660609.725 0, 1537251.082 660641.338 0, 1537543.524 660672.968 0, 1537835.964 660704.615 0, 1538128.402 660736.28 0,
+ 1538420.838 660767.962 0, 1538713.273 660799.661 0, 1539005.705 660831.377 0, 1539298.136 660863.11 0, 1539590.565 660894.861 0, 1539882.992 660926.629 0, 1540175.417 660958.414 0, 1540467.84 660990.216 0, 1540760.262 661022.036 0, 1541052.681 661053.872 0,
+ 1541345.099 661085.726 0, 1541637.514 661117.597 0, 1541929.928 661149.485 0, 1542222.34 661181.391 0, 1542513.422 661213.169 0, 1542807.159 661245.254 0, 1543099.565 661277.211 0, 1543391.97 661309.185 0, 1543684.372 661341.177 0, 1543976.773 661373.186 0,
+ 1544269.172 661405.212 0, 1544561.569 661437.255 0, 1544853.964 661469.315 0, 1545146.357 661501.393 0, 1545438.748 661533.488 0, 1545731.138 661565.6 0, 1546023.525 661597.729 0, 1546315.911 661629.875 0, 1546608.294 661662.039 0, 1546900.676 661694.22 0,
+ 1547193.056 661726.418 0, 1547485.434 661758.633 0, 1547777.81 661790.866 0, 1548070.185 661823.116 0, 1548362.557 661855.383 0, 1548654.927 661887.667 0, 1548947.296 661919.968 0, 1549239.663 661952.287 0, 1549530.7 661984.476 0, 1550142.758 656452.014 0,
+ 1550754.779 650919.884 0))
+
+POLYGON ((1563561.953 663556.823 0, 1563271.005 663523.812 0, 1562978.731 663490.667 0, 1562686.455 663457.54 0, 1562394.177 663424.43 0, 1562101.897 663391.337 0, 1561809.615 663358.262 0, 1561517.331 663325.203 0, 1561225.045 663292.162 0, 1560932.757 663259.138 0,
+ 1560640.467 663226.131 0, 1560348.176 663193.142 0, 1560055.882 663160.169 0, 1559763.586 663127.214 0, 1559471.289 663094.276 0, 1559178.99 663061.355 0, 1558886.688 663028.452 0, 1558594.385 662995.565 0, 1558302.08 662962.696 0, 1558009.772 662929.844 0,
+ 1557717.463 662897.01 0, 1557425.152 662864.192 0, 1557132.839 662831.392 0, 1556840.524 662798.609 0, 1556546.882 662765.694 0, 1556255.889 662733.094 0, 1555963.568 662700.362 0, 1555671.245 662667.648 0, 1555378.921 662634.951 0, 1555086.594 662602.271 0,
+ 1554794.266 662569.608 0, 1554501.936 662536.963 0, 1554209.603 662504.335 0, 1553917.269 662471.724 0, 1553624.933 662439.13 0, 1553332.595 662406.553 0, 1553040.255 662373.994 0, 1552747.913 662341.451 0, 1552455.57 662308.926 0, 1552163.224 662276.419 0,
+ 1551870.877 662243.928 0, 1551578.527 662211.454 0, 1551286.176 662178.998 0, 1550993.822 662146.559 0, 1550701.467 662114.137 0, 1550409.11 662081.733 0, 1550116.751 662049.345 0, 1549824.39 662016.975 0, 1549530.7 661984.476 0, 1548918.606 667517.264 0,
+ 1548306.477 673050.376 0, 1548599.512 673082.803 0, 1548891.222 673115.101 0, 1549182.93 673147.417 0, 1549474.635 673179.749 0, 1549766.339 673212.099 0, 1550058.041 673244.465 0, 1550349.741 673276.849 0, 1550641.44 673309.25 0, 1550933.136 673341.669 0,
+ 1551224.83 673374.104 0, 1551516.523 673406.557 0, 1551808.213 673439.026 0, 1552099.902 673471.513 0, 1552391.589 673504.017 0, 1552683.274 673536.539 0, 1552974.956 673569.077 0, 1553266.637 673601.633 0, 1553558.316 673634.205 0, 1553849.994 673666.795 0,
+ 1554141.669 673699.402 0, 1554433.342 673732.027 0, 1554725.014 673764.668 0, 1555016.683 673797.327 0, 1555307.028 673829.854 0, 1555600.016 673862.695 0, 1555891.68 673895.406 0, 1556183.342 673928.133 0, 1556475.002 673960.877 0, 1556766.659 673993.639 0,
+ 1557058.315 674026.418 0, 1557349.97 674059.213 0, 1557641.622 674092.027 0, 1557933.272 674124.857 0, 1558224.92 674157.704 0, 1558516.566 674190.569 0, 1558808.211 674223.451 0, 1559099.853 674256.35 0, 1559391.494 674289.266 0, 1559683.132 674322.199 0,
+ 1559974.769 674355.149 0, 1560266.404 674388.117 0, 1560558.037 674421.102 0, 1560849.667 674454.104 0, 1561141.296 674487.123 0, 1561432.923 674520.159 0, 1561724.548 674553.212 0, 1562016.171 674586.283 0, 1562306.471 674619.221 0, 1562934.23 669087.86 0,
+ 1563561.953 663556.823 0))
+
+POLYGON ((1576301.977 676227.612 0, 1576011.769 676193.853 0, 1575720.241 676159.959 0, 1575428.71 676126.082 0, 1575137.178 676092.222 0, 1574845.644 676058.379 0, 1574554.107 676024.553 0, 1574262.569 675990.745 0, 1573971.028 675956.953 0, 1573679.486 675923.179 0,
+ 1573387.942 675889.422 0, 1573096.395 675855.682 0, 1572804.847 675821.96 0, 1572513.297 675788.254 0, 1572221.744 675754.566 0, 1571930.19 675720.894 0, 1571638.634 675687.24 0, 1571347.075 675653.603 0, 1571055.515 675619.984 0, 1570763.953 675586.381 0,
+ 1570472.389 675552.795 0, 1570180.822 675519.227 0, 1569889.254 675485.676 0, 1569597.684 675452.142 0, 1569304.792 675418.474 0, 1569014.538 675385.126 0, 1568722.962 675351.643 0, 1568431.384 675318.178 0, 1568139.804 675284.73 0, 1567848.222 675251.299 0,
+ 1567556.638 675217.885 0, 1567265.052 675184.488 0, 1566973.464 675151.109 0, 1566681.875 675117.746 0, 1566390.283 675084.401 0, 1566098.689 675051.073 0, 1565807.093 675017.762 0, 1565515.496 674984.469 0, 1565223.896 674951.192 0, 1564932.295 674917.933 0,
+ 1564640.691 674884.69 0, 1564349.085 674851.465 0, 1564057.478 674818.257 0, 1563765.869 674785.067 0, 1563474.257 674751.893 0, 1563182.644 674718.737 0, 1562891.029 674685.598 0, 1562599.412 674652.476 0, 1562306.471 674619.221 0, 1561678.675 680150.902 0,
+ 1561050.844 685682.9 0, 1561343.13 685716.081 0, 1561634.096 685749.129 0, 1561925.06 685782.194 0, 1562216.022 685815.276 0, 1562506.982 685848.376 0, 1562797.941 685881.493 0, 1563088.897 685914.626 0, 1563379.851 685947.777 0, 1563670.804 685980.945 0,
+ 1563961.754 686014.13 0, 1564252.703 686047.332 0, 1564543.649 686080.552 0, 1564834.594 686113.788 0, 1565125.536 686147.042 0, 1565416.477 686180.313 0, 1565707.416 686213.6 0, 1565998.352 686246.905 0, 1566289.287 686280.228 0, 1566580.22 686313.567 0,
+ 1566871.151 686346.923 0, 1567162.08 686380.297 0, 1567453.007 686413.687 0, 1567743.932 686447.095 0, 1568033.538 686480.368 0, 1568325.776 686513.962 0, 1568616.695 686547.421 0, 1568907.612 686580.897 0, 1569198.527 686614.39 0, 1569489.44 686647.901 0,
+ 1569780.351 686681.428 0, 1570071.26 686714.973 0, 1570362.168 686748.535 0, 1570653.073 686782.114 0, 1570943.976 686815.71 0, 1571234.877 686849.323 0, 1571525.777 686882.953 0, 1571816.674 686916.601 0, 1572107.569 686950.265 0, 1572398.463 686983.947 0,
+ 1572689.354 687017.646 0, 1572980.244 687051.362 0, 1573271.131 687085.095 0, 1573562.016 687118.845 0, 1573852.9 687152.612 0, 1574143.781 687186.397 0, 1574434.661 687220.198 0, 1574725.538 687254.017 0, 1575015.098 687287.699 0, 1575658.556 681757.497 0,
+ 1576301.977 676227.612 0))
+
+POLYGON ((1588974.763 688931.944 0, 1588685.297 688897.443 0, 1588394.516 688862.803 0, 1588103.733 688828.18 0, 1587812.949 688793.574 0, 1587522.162 688758.985 0, 1587231.373 688724.413 0, 1586940.582 688689.858 0, 1586649.789 688655.32 0, 1586358.994 688620.8 0,
+ 1586068.197 688586.297 0, 1585777.398 688551.81 0, 1585486.597 688517.341 0, 1585195.793 688482.889 0, 1584904.988 688448.454 0, 1584614.181 688414.037 0, 1584323.372 688379.636 0, 1584032.561 688345.252 0, 1583741.747 688310.886 0, 1583450.932 688276.537 0,
+ 1583160.115 688242.204 0, 1582869.295 688207.889 0, 1582578.474 688173.591 0, 1582287.651 688139.31 0, 1581995.511 688104.892 0, 1581705.998 688070.8 0, 1581415.169 688036.571 0, 1581124.337 688002.358 0, 1580833.504 687968.163 0, 1580542.668 687933.985 0,
+ 1580251.831 687899.824 0, 1579960.991 687865.68 0, 1579670.15 687831.553 0, 1579379.306 687797.443 0, 1579088.461 687763.351 0, 1578797.613 687729.275 0, 1578506.764 687695.217 0, 1578215.912 687661.176 0, 1577925.059 687627.152 0, 1577634.203 687593.145 0,
+ 1577343.346 687559.155 0, 1577052.486 687525.182 0, 1576761.625 687491.227 0, 1576470.761 687457.288 0, 1576179.896 687423.367 0, 1575889.028 687389.463 0, 1575598.159 687355.575 0, 1575307.287 687321.705 0, 1575015.098 687287.699 0, 1574371.603 692818.216 0,
+ 1573728.073 698349.042 0, 1574019.608 698382.972 0, 1574309.828 698416.766 0, 1574600.047 698450.578 0, 1574890.263 698484.406 0, 1575180.478 698518.251 0, 1575470.69 698552.114 0, 1575760.901 698585.994 0, 1576051.109 698619.89 0, 1576341.316 698653.804 0,
+ 1576631.52 698687.735 0, 1576921.723 698721.683 0, 1577211.923 698755.648 0, 1577502.122 698789.63 0, 1577792.318 698823.629 0, 1578082.513 698857.645 0, 1578372.705 698891.679 0, 1578662.896 698925.729 0, 1578953.084 698959.797 0, 1579243.271 698993.881 0,
+ 1579533.455 699027.983 0, 1579823.638 699062.102 0, 1580113.818 699096.237 0, 1580403.997 699130.39 0, 1580692.862 699164.406 0, 1580984.348 699198.747 0, 1581274.52 699232.951 0, 1581564.691 699267.173 0, 1581854.859 699301.411 0, 1582145.025 699335.666 0,
+ 1582435.19 699369.939 0, 1582725.352 699404.228 0, 1583015.512 699438.535 0, 1583305.671 699472.858 0, 1583595.827 699507.199 0, 1583885.981 699541.557 0, 1584176.134 699575.932 0, 1584466.284 699610.324 0, 1584756.432 699644.733 0, 1585046.578 699679.159 0,
+ 1585336.722 699713.602 0, 1585626.864 699748.063 0, 1585917.004 699782.54 0, 1586207.143 699817.034 0, 1586497.279 699851.546 0, 1586787.413 699886.075 0, 1587077.545 699920.62 0, 1587367.674 699955.183 0, 1587656.492 699989.607 0, 1588315.646 694460.62 0,
+ 1588974.763 688931.944 0))
+
+POLYGON ((1601580.221 701669.515 0, 1601291.5 701634.275 0, 1601001.469 701598.893 0, 1600711.435 701563.527 0, 1600421.4 701528.179 0, 1600131.363 701492.848 0, 1599841.323 701457.534 0, 1599551.282 701422.237 0, 1599261.238 701386.957 0, 1598971.192 701351.695 0,
+ 1598681.145 701316.449 0, 1598391.095 701281.22 0, 1598101.043 701246.009 0, 1597810.989 701210.814 0, 1597520.933 701175.637 0, 1597230.875 701140.476 0, 1596940.815 701105.333 0, 1596650.752 701070.207 0, 1596360.688 701035.098 0, 1596070.622 701000.006 0,
+ 1595780.553 700964.931 0, 1595490.483 700929.873 0, 1595200.41 700894.832 0, 1594910.336 700859.808 0, 1594618.95 700824.643 0, 1594330.18 700789.812 0, 1594040.099 700754.839 0, 1593750.016 700719.884 0, 1593459.931 700684.945 0, 1593169.844 700650.024 0,
+ 1592879.755 700615.12 0, 1592589.664 700580.233 0, 1592299.571 700545.362 0, 1592009.476 700510.509 0, 1591719.379 700475.673 0, 1591429.279 700440.855 0, 1591139.178 700406.053 0, 1590849.075 700371.268 0, 1590558.969 700336.5 0, 1590268.862 700301.75 0,
+ 1589978.752 700267.016 0, 1589688.641 700232.3 0, 1589398.527 700197.6 0, 1589108.411 700162.918 0, 1588818.294 700128.253 0, 1588528.174 700093.605 0, 1588238.052 700058.974 0, 1587947.928 700024.36 0, 1587656.492 699989.607 0, 1586997.302 705518.9 0,
+ 1586338.075 711048.497 0, 1586628.858 711083.172 0, 1586918.331 711117.709 0, 1587207.801 711152.262 0, 1587497.27 711186.832 0, 1587786.737 711221.42 0, 1588076.202 711256.024 0, 1588365.665 711290.646 0, 1588655.125 711325.284 0, 1588944.584 711359.94 0,
+ 1589234.041 711394.613 0, 1589523.495 711429.302 0, 1589812.948 711464.009 0, 1590102.398 711498.733 0, 1590391.847 711533.473 0, 1590681.293 711568.231 0, 1590970.738 711603.006 0, 1591260.18 711637.798 0, 1591549.62 711672.607 0, 1591839.058 711707.433 0,
+ 1592128.495 711742.276 0, 1592417.929 711777.136 0, 1592707.361 711812.013 0, 1592996.791 711846.907 0, 1593284.913 711881.661 0, 1593575.645 711916.746 0, 1593865.068 711951.692 0, 1594154.49 711986.654 0, 1594443.91 712021.633 0, 1594733.328 712056.629 0,
+ 1595022.743 712091.643 0, 1595312.157 712126.673 0, 1595601.568 712161.72 0, 1595890.978 712196.785 0, 1596180.385 712231.866 0, 1596469.79 712266.965 0, 1596759.194 712302.08 0, 1597048.595 712337.213 0, 1597337.994 712372.363 0, 1597627.391 712407.529 0,
+ 1597916.786 712442.713 0, 1598206.179 712477.914 0, 1598495.57 712513.131 0, 1598784.958 712548.366 0, 1599074.345 712583.618 0, 1599363.73 712618.887 0, 1599653.112 712654.173 0, 1599942.493 712689.476 0, 1600230.566 712724.636 0, 1600905.412 707196.924 0,
+ 1601580.221 701669.515 0))
+
+POLYGON ((1614118.266 714440.018 0, 1613830.291 714404.043 0, 1613541.011 714367.923 0, 1613251.73 714331.819 0, 1612962.446 714295.733 0, 1612673.16 714259.664 0, 1612383.872 714223.612 0, 1612094.582 714187.576 0, 1611805.289 714151.558 0, 1611515.995 714115.557 0,
+ 1611226.699 714079.573 0, 1610937.4 714043.606 0, 1610648.099 714007.656 0, 1610358.796 713971.723 0, 1610069.491 713935.807 0, 1609780.184 713899.908 0, 1609490.875 713864.026 0, 1609201.564 713828.161 0, 1608912.25 713792.313 0, 1608622.935 713756.482 0,
+ 1608333.617 713720.668 0, 1608044.297 713684.872 0, 1607754.975 713649.092 0, 1607465.651 713613.329 0, 1607175.022 713577.423 0, 1606886.997 713541.855 0, 1606597.667 713506.143 0, 1606308.335 713470.449 0, 1606019 713434.771 0, 1605729.663 713399.11 0,
+ 1605440.325 713363.467 0, 1605150.984 713327.84 0, 1604861.641 713292.231 0, 1604572.296 713256.638 0, 1604282.949 713221.063 0, 1603993.6 713185.505 0, 1603704.249 713149.963 0, 1603414.895 713114.439 0, 1603125.54 713078.932 0, 1602836.182 713043.441 0,
+ 1602546.823 713007.968 0, 1602257.461 712972.512 0, 1601968.097 712937.073 0, 1601678.731 712901.651 0, 1601389.364 712866.246 0, 1601099.994 712830.858 0, 1600810.621 712795.487 0, 1600521.247 712760.133 0, 1600230.566 712724.636 0, 1599555.684 718252.649 0,
+ 1598880.765 723780.959 0, 1599170.792 723816.375 0, 1599459.515 723851.65 0, 1599748.237 723886.941 0, 1600036.956 723922.25 0, 1600325.673 723957.575 0, 1600614.389 723992.918 0, 1600903.102 724028.277 0, 1601191.813 724063.653 0, 1601480.521 724099.047 0,
+ 1601769.228 724134.457 0, 1602057.933 724169.885 0, 1602346.636 724205.329 0, 1602635.336 724240.791 0, 1602924.035 724276.269 0, 1603212.731 724311.764 0, 1603501.425 724347.277 0, 1603790.118 724382.806 0, 1604078.808 724418.353 0, 1604367.496 724453.916 0,
+ 1604656.182 724489.496 0, 1604944.865 724525.094 0, 1605233.547 724560.708 0, 1605522.227 724596.339 0, 1605809.604 724631.827 0, 1606099.58 724667.653 0, 1606388.253 724703.335 0, 1606676.924 724739.035 0, 1606965.593 724774.751 0, 1607254.26 724810.484 0,
+ 1607542.925 724846.235 0, 1607831.588 724882.002 0, 1608120.249 724917.786 0, 1608408.908 724953.587 0, 1608697.564 724989.406 0, 1608986.218 725025.241 0, 1609274.871 725061.093 0, 1609563.521 725096.962 0, 1609852.169 725132.848 0, 1610140.815 725168.752 0,
+ 1610429.459 725204.672 0, 1610718.1 725240.609 0, 1611006.74 725276.563 0, 1611295.378 725312.534 0, 1611584.013 725348.522 0, 1611872.646 725384.527 0, 1612161.277 725420.55 0, 1612449.906 725456.589 0, 1612737.234 725492.482 0, 1613427.769 719966.102 0,
+ 1614118.266 714440.018 0))
+
+POLYGON ((1626588.813 727243.146 0, 1626301.585 727206.441 0, 1626013.059 727169.586 0, 1625724.531 727132.749 0, 1625436.001 727095.928 0, 1625147.468 727059.125 0, 1624858.933 727022.339 0, 1624570.397 726985.569 0, 1624281.858 726948.817 0, 1623993.316 726912.081 0,
+ 1623704.773 726875.363 0, 1623416.227 726838.661 0, 1623127.68 726801.977 0, 1622839.13 726765.309 0, 1622550.578 726728.658 0, 1622262.024 726692.025 0, 1621973.467 726655.408 0, 1621684.909 726618.809 0, 1621396.348 726582.226 0, 1621107.786 726545.66 0,
+ 1620819.221 726509.112 0, 1620530.654 726472.58 0, 1620242.084 726436.065 0, 1619953.513 726399.567 0, 1619663.642 726362.923 0, 1619376.364 726326.623 0, 1619087.786 726290.176 0, 1618799.206 726253.746 0, 1618510.624 726217.334 0, 1618222.04 726180.938 0,
+ 1617933.453 726144.559 0, 1617644.865 726108.197 0, 1617356.274 726071.852 0, 1617067.681 726035.524 0, 1616779.086 725999.213 0, 1616490.489 725962.92 0, 1616201.89 725926.643 0, 1615913.289 725890.383 0, 1615624.685 725854.14 0, 1615336.08 725817.914 0,
+ 1615047.472 725781.705 0, 1614758.862 725745.513 0, 1614470.25 725709.338 0, 1614181.636 725673.18 0, 1613893.02 725637.039 0, 1613604.401 725600.915 0, 1613315.781 725564.808 0, 1613027.158 725528.718 0, 1612737.234 725492.482 0, 1612046.663 731019.156 0,
+ 1611356.055 736546.121 0, 1611645.326 736582.274 0, 1611933.298 736618.283 0, 1612221.268 736654.309 0, 1612509.235 736690.351 0, 1612797.201 736726.411 0, 1613085.165 736762.487 0, 1613373.126 736798.581 0, 1613661.085 736834.691 0, 1613949.043 736870.818 0,
+ 1614236.998 736906.963 0, 1614524.951 736943.124 0, 1614812.901 736979.302 0, 1615100.85 737015.497 0, 1615388.797 737051.709 0, 1615676.741 737087.938 0, 1615964.683 737124.184 0, 1616252.624 737160.447 0, 1616540.562 737196.727 0, 1616828.497 737233.024 0,
+ 1617116.431 737269.338 0, 1617404.363 737305.669 0, 1617692.292 737342.016 0, 1617980.22 737378.381 0, 1618266.85 737414.599 0, 1618556.068 737451.161 0, 1618843.989 737487.576 0, 1619131.908 737524.009 0, 1619419.824 737560.458 0, 1619707.739 737596.924 0,
+ 1619995.651 737633.408 0, 1620283.561 737669.908 0, 1620571.469 737706.425 0, 1620859.375 737742.959 0, 1621147.279 737779.51 0, 1621435.18 737816.078 0, 1621723.08 737852.663 0, 1622010.977 737889.265 0, 1622298.872 737925.884 0, 1622586.765 737962.519 0,
+ 1622874.656 737999.172 0, 1623162.544 738035.842 0, 1623450.431 738072.528 0, 1623738.315 738109.232 0, 1624026.197 738145.952 0, 1624314.077 738182.69 0, 1624601.955 738219.444 0, 1624889.831 738256.215 0, 1625176.411 738292.838 0, 1625882.631 732767.847 0,
+ 1626588.813 727243.146 0))
+
+POLYGON ((1638991.777 740078.594 0, 1638705.299 740041.161 0, 1638417.528 740003.577 0, 1638129.756 739966.009 0, 1637841.981 739928.459 0, 1637554.203 739890.925 0, 1637266.424 739853.408 0, 1636978.642 739815.909 0, 1636690.858 739778.426 0, 1636403.072 739740.96 0,
+ 1636115.284 739703.511 0, 1635827.493 739666.079 0, 1635539.701 739628.664 0, 1635251.906 739591.266 0, 1634964.109 739553.885 0, 1634676.309 739516.52 0, 1634388.508 739479.173 0, 1634100.704 739441.843 0, 1633812.898 739404.529 0, 1633525.09 739367.233 0,
+ 1633237.28 739329.953 0, 1632949.467 739292.69 0, 1632661.653 739255.445 0, 1632373.836 739218.216 0, 1632084.725 739180.837 0, 1631798.195 739143.809 0, 1631510.372 739106.631 0, 1631222.546 739069.471 0, 1630934.718 739032.326 0, 1630646.888 738995.199 0,
+ 1630359.056 738958.089 0, 1630071.222 738920.996 0, 1629783.385 738883.92 0, 1629495.547 738846.86 0, 1629207.706 738809.818 0, 1628919.863 738772.793 0, 1628632.017 738735.784 0, 1628344.17 738698.793 0, 1628056.32 738661.818 0, 1627768.468 738624.86 0,
+ 1627480.614 738587.919 0, 1627192.758 738550.996 0, 1626904.9 738514.089 0, 1626617.039 738477.199 0, 1626329.177 738440.326 0, 1626041.312 738403.47 0, 1625753.445 738366.631 0, 1625465.576 738329.809 0, 1625176.411 738292.838 0, 1624470.155 743818.116 0,
+ 1623763.863 749343.676 0, 1624052.374 749380.563 0, 1624339.593 749417.302 0, 1624626.809 749454.058 0, 1624914.024 749490.831 0, 1625201.236 749527.62 0, 1625488.446 749564.427 0, 1625775.654 749601.25 0, 1626062.86 749638.091 0, 1626350.064 749674.948 0,
+ 1626637.265 749711.822 0, 1626924.464 749748.713 0, 1627211.661 749785.621 0, 1627498.856 749822.546 0, 1627786.049 749859.488 0, 1628073.239 749896.446 0, 1628360.428 749933.422 0, 1628647.614 749970.415 0, 1628934.798 750007.424 0, 1629221.98 750044.45 0,
+ 1629509.16 750081.493 0, 1629796.337 750118.554 0, 1630083.512 750155.631 0, 1630370.686 750192.724 0, 1630656.567 750229.669 0, 1630945.025 750266.963 0, 1631232.192 750304.108 0, 1631519.356 750341.269 0, 1631806.518 750378.448 0, 1632093.678 750415.643 0,
+ 1632380.836 750452.855 0, 1632667.992 750490.084 0, 1632955.145 750527.33 0, 1633242.296 750564.593 0, 1633529.446 750601.873 0, 1633816.592 750639.17 0, 1634103.737 750676.483 0, 1634390.88 750713.814 0, 1634678.02 750751.161 0, 1634965.158 750788.526 0,
+ 1635252.294 750825.907 0, 1635539.427 750863.305 0, 1635826.559 750900.72 0, 1636113.688 750938.152 0, 1636400.815 750975.601 0, 1636687.94 751013.067 0, 1636975.063 751050.549 0, 1637262.183 751088.049 0, 1637548.014 751125.397 0, 1638269.914 745601.854 0,
+ 1638991.777 740078.594 0))
+
+POLYGON ((1651327.076 752946.054 0, 1651041.35 752907.898 0, 1650754.336 752869.587 0, 1650467.321 752831.294 0, 1650180.303 752793.017 0, 1649893.283 752754.757 0, 1649606.26 752716.514 0, 1649319.236 752678.288 0, 1649032.209 752640.079 0, 1648745.18 752601.886 0,
+ 1648458.148 752563.711 0, 1648171.115 752525.552 0, 1647884.079 752487.411 0, 1647597.041 752449.286 0, 1647310 752411.178 0, 1647022.958 752373.087 0, 1646735.913 752335.013 0, 1646448.866 752296.956 0, 1646161.817 752258.916 0, 1645874.765 752220.893 0,
+ 1645587.711 752182.886 0, 1645300.655 752144.897 0, 1645013.597 752106.924 0, 1644726.537 752068.968 0, 1644438.188 752030.859 0, 1644152.409 751993.107 0, 1643865.342 751955.202 0, 1643578.272 751917.314 0, 1643291.201 751879.443 0, 1643004.127 751841.588 0,
+ 1642717.051 751803.751 0, 1642429.972 751765.93 0, 1642142.892 751728.126 0, 1641855.809 751690.34 0, 1641568.724 751652.57 0, 1641281.637 751614.817 0, 1640994.547 751577.081 0, 1640707.456 751539.361 0, 1640420.362 751501.659 0, 1640133.266 751463.974 0,
+ 1639846.168 751426.305 0, 1639559.067 751388.654 0, 1639271.964 751351.019 0, 1638984.859 751313.401 0, 1638697.752 751275.8 0, 1638410.643 751238.216 0, 1638123.531 751200.649 0, 1637836.417 751163.099 0, 1637548.014 751125.397 0, 1636826.077 756649.22 0,
+ 1636104.104 762173.318 0, 1636391.855 762210.934 0, 1636678.318 762248.4 0, 1636964.78 762285.882 0, 1637251.239 762323.381 0, 1637537.696 762360.896 0, 1637824.15 762398.429 0, 1638110.603 762435.978 0, 1638397.053 762473.545 0, 1638683.501 762511.128 0,
+ 1638969.947 762548.728 0, 1639256.391 762586.345 0, 1639542.832 762623.979 0, 1639829.272 762661.629 0, 1640115.709 762699.297 0, 1640402.144 762736.981 0, 1640688.576 762774.683 0, 1640975.006 762812.401 0, 1641261.435 762850.136 0, 1641547.861 762887.887 0,
+ 1641834.284 762925.656 0, 1642120.706 762963.442 0, 1642407.125 763001.244 0, 1642693.542 763039.063 0, 1642978.673 763076.73 0, 1643266.369 763114.752 0, 1643552.78 763152.622 0, 1643839.188 763190.509 0, 1644125.594 763228.412 0, 1644411.997 763266.333 0,
+ 1644698.399 763304.27 0, 1644984.798 763342.224 0, 1645271.195 763380.195 0, 1645557.59 763418.183 0, 1645843.982 763456.187 0, 1646130.373 763494.209 0, 1646416.761 763532.247 0, 1646703.146 763570.303 0, 1646989.53 763608.375 0, 1647275.911 763646.464 0,
+ 1647562.29 763684.569 0, 1647848.667 763722.692 0, 1648135.042 763760.832 0, 1648421.414 763798.988 0, 1648707.784 763837.161 0, 1648994.152 763875.351 0, 1649280.517 763913.558 0, 1649566.881 763951.782 0, 1649851.96 763989.851 0, 1650589.536 758467.814 0,
+ 1651327.076 752946.054 0))
+
+POLYGON ((1663594.628 765845.217 0, 1663309.656 765806.342 0, 1663023.401 765767.31 0, 1662737.145 765728.294 0, 1662450.886 765689.295 0, 1662164.625 765650.313 0, 1661878.362 765611.348 0, 1661592.096 765572.399 0, 1661305.828 765533.468 0, 1661019.558 765494.553 0,
+ 1660733.285 765455.655 0, 1660447.01 765416.774 0, 1660160.733 765377.91 0, 1659874.454 765339.063 0, 1659588.172 765300.232 0, 1659301.888 765261.418 0, 1659015.602 765222.622 0, 1658729.313 765183.842 0, 1658443.023 765145.079 0, 1658156.73 765106.332 0,
+ 1657870.434 765067.603 0, 1657584.137 765028.891 0, 1657297.837 764990.195 0, 1657011.534 764951.516 0, 1656723.949 764912.681 0, 1656438.923 764874.209 0, 1656152.614 764835.581 0, 1655866.303 764796.969 0, 1655579.989 764758.375 0, 1655293.673 764719.797 0,
+ 1655007.355 764681.236 0, 1654721.035 764642.692 0, 1654434.712 764604.165 0, 1654148.387 764565.655 0, 1653862.06 764527.161 0, 1653575.73 764488.685 0, 1653289.399 764450.225 0, 1653003.065 764411.782 0, 1652716.728 764373.356 0, 1652430.39 764334.947 0,
+ 1652144.049 764296.554 0, 1651857.706 764258.179 0, 1651571.361 764219.82 0, 1651285.013 764181.479 0, 1650998.663 764143.154 0, 1650712.311 764104.846 0, 1650425.957 764066.554 0, 1650139.601 764028.28 0, 1649851.96 763989.851 0, 1649114.347 769512.161 0,
+ 1648376.698 775034.739 0, 1648663.686 775073.081 0, 1648949.392 775111.268 0, 1649235.097 775149.473 0, 1649520.799 775187.694 0, 1649806.498 775225.932 0, 1650092.196 775264.186 0, 1650377.891 775302.458 0, 1650663.584 775340.746 0, 1650949.275 775379.051 0,
+ 1651234.963 775417.373 0, 1651520.65 775455.712 0, 1651806.334 775494.068 0, 1652092.015 775532.44 0, 1652377.695 775570.83 0, 1652663.372 775609.236 0, 1652949.047 775647.658 0, 1653234.72 775686.098 0, 1653520.39 775724.555 0, 1653806.058 775763.028 0,
+ 1654091.724 775801.518 0, 1654377.388 775840.025 0, 1654663.049 775878.549 0, 1654948.708 775917.089 0, 1655233.087 775955.474 0, 1655520.019 775994.221 0, 1655805.672 776032.812 0, 1656091.322 776071.42 0, 1656376.969 776110.044 0, 1656662.615 776148.686 0,
+ 1656948.258 776187.344 0, 1657233.899 776226.019 0, 1657519.538 776264.711 0, 1657805.174 776303.42 0, 1658090.808 776342.145 0, 1658376.44 776380.888 0, 1658662.069 776419.647 0, 1658947.696 776458.423 0, 1659233.321 776497.216 0, 1659518.944 776536.025 0,
+ 1659804.564 776574.851 0, 1660090.183 776613.695 0, 1660375.798 776652.555 0, 1660661.412 776691.431 0, 1660947.023 776730.325 0, 1661232.632 776769.236 0, 1661518.239 776808.163 0, 1661803.843 776847.107 0, 1662088.168 776885.894 0, 1662841.417 771365.421 0,
+ 1663594.628 765845.217 0))
+
+POLYGON ((1208602.088 357964.03 0, 1208293.297 357951.82 0, 1207983.038 357939.569 0, 1207672.779 357927.337 0, 1207362.518 357915.123 0, 1207052.257 357902.927 0, 1206741.996 357890.749 0, 1206431.733 357878.59 0, 1206121.47 357866.449 0, 1205811.206 357854.326 0,
+ 1205500.941 357842.222 0, 1205190.676 357830.135 0, 1204880.41 357818.067 0, 1204570.143 357806.018 0, 1204259.876 357793.986 0, 1203949.607 357781.973 0, 1203639.339 357769.978 0, 1203329.069 357758.001 0, 1203018.799 357746.043 0, 1202708.528 357734.103 0,
+ 1202398.256 357722.181 0, 1202087.983 357710.277 0, 1201777.71 357698.392 0, 1201467.437 357686.525 0, 1201155.693 357674.62 0, 1200846.887 357662.845 0, 1200536.611 357651.033 0, 1200226.334 357639.239 0, 1199916.057 357627.463 0, 1199605.779 357615.706 0,
+ 1199295.5 357603.967 0, 1198985.221 357592.246 0, 1198674.941 357580.543 0, 1198364.66 357568.858 0, 1198054.379 357557.192 0, 1197744.097 357545.544 0, 1197433.814 357533.914 0, 1197123.53 357522.303 0, 1196813.246 357510.71 0, 1196502.961 357499.135 0,
+ 1196192.676 357487.578 0, 1195882.39 357476.04 0, 1195572.103 357464.52 0, 1195261.815 357453.018 0, 1194951.527 357441.534 0, 1194641.238 357430.069 0, 1194330.948 357418.622 0, 1194020.658 357407.193 0, 1193708.897 357395.729 0, 1193505.243 362938.233 0,
+ 1193301.572 368481.217 0, 1193612.678 368492.657 0, 1193922.316 368504.062 0, 1194231.953 368515.485 0, 1194541.589 368526.926 0, 1194851.225 368538.386 0, 1195160.86 368549.863 0, 1195470.495 368561.359 0, 1195780.129 368572.873 0, 1196089.762 368584.406 0,
+ 1196399.394 368595.956 0, 1196709.026 368607.525 0, 1197018.657 368619.112 0, 1197328.287 368630.717 0, 1197637.917 368642.341 0, 1197947.546 368653.982 0, 1198257.174 368665.642 0, 1198566.802 368677.32 0, 1198876.429 368689.017 0, 1199186.055 368700.731 0,
+ 1199495.68 368712.464 0, 1199805.305 368724.215 0, 1200114.929 368735.985 0, 1200424.553 368747.772 0, 1200732.71 368759.522 0, 1201043.798 368771.402 0, 1201353.419 368783.244 0, 1201663.04 368795.104 0, 1201972.66 368806.983 0, 1202282.279 368818.88 0,
+ 1202591.898 368830.795 0, 1202901.516 368842.728 0, 1203211.133 368854.679 0, 1203520.749 368866.649 0, 1203830.365 368878.637 0, 1204139.98 368890.643 0, 1204449.594 368902.668 0, 1204759.208 368914.71 0, 1205068.821 368926.771 0, 1205378.433 368938.85 0,
+ 1205688.045 368950.947 0, 1205997.656 368963.063 0, 1206307.266 368975.197 0, 1206616.875 368987.349 0, 1206926.484 368999.519 0, 1207236.092 369011.707 0, 1207545.699 369023.914 0, 1207855.305 369036.139 0, 1208163.446 369048.324 0, 1208382.777 363505.938 0,
+ 1208602.088 357964.03 0))
+
+POLYGON ((1223023.659 369657.416 0, 1222715.551 369644.36 0, 1222405.981 369631.261 0, 1222096.409 369618.179 0, 1221786.837 369605.116 0, 1221477.264 369592.071 0, 1221167.69 369579.045 0, 1220858.115 369566.036 0, 1220548.54 369553.046 0, 1220238.964 369540.074 0,
+ 1219929.387 369527.121 0, 1219619.809 369514.185 0, 1219310.231 369501.268 0, 1219000.652 369488.369 0, 1218691.072 369475.488 0, 1218381.491 369462.625 0, 1218071.91 369449.781 0, 1217762.328 369436.955 0, 1217452.745 369424.147 0, 1217143.161 369411.357 0,
+ 1216833.577 369398.586 0, 1216523.991 369385.832 0, 1216214.405 369373.097 0, 1215904.819 369360.38 0, 1215593.768 369347.622 0, 1215285.643 369335.001 0, 1214976.054 369322.339 0, 1214666.465 369309.695 0, 1214356.874 369297.07 0, 1214047.283 369284.462 0,
+ 1213737.691 369271.873 0, 1213428.098 369259.302 0, 1213118.505 369246.749 0, 1212808.911 369234.214 0, 1212499.316 369221.698 0, 1212189.72 369209.2 0, 1211880.124 369196.72 0, 1211570.527 369184.258 0, 1211260.929 369171.814 0, 1210951.331 369159.389 0,
+ 1210641.731 369146.982 0, 1210332.131 369134.593 0, 1210022.531 369122.223 0, 1209712.929 369109.87 0, 1209403.327 369097.536 0, 1209093.724 369085.22 0, 1208784.121 369072.922 0, 1208474.516 369060.643 0, 1208163.446 369048.324 0, 1207944.098 374591.186 0,
+ 1207724.73 380134.521 0, 1208035.144 380146.814 0, 1208344.096 380159.068 0, 1208653.047 380171.34 0, 1208961.997 380183.63 0, 1209270.947 380195.938 0, 1209579.896 380208.264 0, 1209888.844 380220.609 0, 1210197.792 380232.971 0, 1210506.738 380245.352 0,
+ 1210815.685 380257.751 0, 1211124.63 380270.169 0, 1211433.574 380282.604 0, 1211742.518 380295.058 0, 1212051.461 380307.53 0, 1212360.404 380320.02 0, 1212669.345 380332.528 0, 1212978.286 380345.054 0, 1213287.226 380357.599 0, 1213596.166 380370.162 0,
+ 1213905.104 380382.743 0, 1214214.042 380395.342 0, 1214522.98 380407.959 0, 1214831.916 380420.594 0, 1215139.391 380433.188 0, 1215449.787 380445.92 0, 1215758.721 380458.61 0, 1216067.654 380471.318 0, 1216376.587 380484.045 0, 1216685.519 380496.789 0,
+ 1216994.45 380509.552 0, 1217303.381 380522.333 0, 1217612.311 380535.132 0, 1217921.24 380547.949 0, 1218230.168 380560.785 0, 1218539.095 380573.639 0, 1218848.022 380586.51 0, 1219156.948 380599.401 0, 1219465.873 380612.309 0, 1219774.797 380625.235 0,
+ 1220083.721 380638.18 0, 1220392.644 380651.143 0, 1220701.566 380664.124 0, 1221010.487 380677.123 0, 1221319.408 380690.14 0, 1221628.328 380703.176 0, 1221937.247 380716.229 0, 1222246.165 380729.301 0, 1222553.624 380742.329 0, 1222788.651 375199.636 0,
+ 1223023.659 369657.416 0))
+
+POLYGON ((1322162.225 452649.001 0, 1321858.963 452630.137 0, 1321554.276 452611.202 0, 1321249.589 452592.285 0, 1320944.9 452573.386 0, 1320640.21 452554.505 0, 1320335.519 452535.641 0, 1320030.827 452516.796 0, 1319726.134 452497.969 0, 1319421.439 452479.159 0,
+ 1319116.744 452460.368 0, 1318812.047 452441.594 0, 1318507.35 452422.838 0, 1318202.651 452404.101 0, 1317897.951 452385.381 0, 1317593.25 452366.679 0, 1317288.548 452347.995 0, 1316983.845 452329.329 0, 1316679.141 452310.681 0, 1316374.436 452292.051 0,
+ 1316069.729 452273.438 0, 1315765.022 452254.844 0, 1315460.313 452236.268 0, 1315155.603 452217.709 0, 1314849.469 452199.082 0, 1314546.181 452180.646 0, 1314241.468 452162.142 0, 1313936.754 452143.655 0, 1313632.038 452125.187 0, 1313327.322 452106.736 0,
+ 1313022.605 452088.303 0, 1312717.887 452069.888 0, 1312413.167 452051.491 0, 1312108.446 452033.112 0, 1311803.725 452014.751 0, 1311499.002 451996.408 0, 1311194.278 451978.082 0, 1310889.553 451959.775 0, 1310584.827 451941.486 0, 1310280.1 451923.214 0,
+ 1309975.372 451904.961 0, 1309670.643 451886.725 0, 1309365.913 451868.508 0, 1309061.181 451850.308 0, 1308756.449 451832.126 0, 1308451.716 451813.962 0, 1308146.981 451795.816 0, 1307842.245 451777.688 0, 1307536.083 451759.494 0, 1307206.79 457303.288 0,
+ 1306877.471 462847.515 0, 1307182.977 462865.67 0, 1307487.06 462883.759 0, 1307791.142 462901.867 0, 1308095.223 462919.991 0, 1308399.302 462938.134 0, 1308703.381 462956.295 0, 1309007.459 462974.474 0, 1309311.535 462992.67 0, 1309615.611 463010.885 0,
+ 1309919.685 463029.117 0, 1310223.759 463047.367 0, 1310527.831 463065.635 0, 1310831.902 463083.921 0, 1311135.972 463102.225 0, 1311440.041 463120.547 0, 1311744.109 463138.887 0, 1312048.176 463157.244 0, 1312352.242 463175.62 0, 1312656.307 463194.013 0,
+ 1312960.371 463212.424 0, 1313264.433 463230.853 0, 1313568.495 463249.3 0, 1313872.555 463267.765 0, 1314175.193 463286.162 0, 1314480.673 463304.749 0, 1314784.73 463323.268 0, 1315088.786 463341.804 0, 1315392.841 463360.359 0, 1315696.895 463378.931 0,
+ 1316000.947 463397.521 0, 1316304.999 463416.129 0, 1316609.05 463434.755 0, 1316913.099 463453.399 0, 1317217.148 463472.061 0, 1317521.195 463490.741 0, 1317825.241 463509.439 0, 1318129.286 463528.154 0, 1318433.33 463546.887 0, 1318737.373 463565.639 0,
+ 1319041.415 463584.408 0, 1319345.455 463603.195 0, 1319649.495 463622 0, 1319953.534 463640.823 0, 1320257.571 463659.664 0, 1320561.607 463678.522 0, 1320865.642 463697.399 0, 1321169.676 463716.293 0, 1321472.29 463735.117 0, 1321817.271 458191.844 0,
+ 1322162.225 452649.001 0))
+
+POLYGON ((1336064.543 464663.95 0, 1335761.981 464644.271 0, 1335458.002 464624.517 0, 1335154.021 464604.782 0, 1334850.04 464585.064 0, 1334546.057 464565.365 0, 1334242.073 464545.683 0, 1333938.087 464526.019 0, 1333634.101 464506.373 0, 1333330.114 464486.745 0,
+ 1333026.125 464467.135 0, 1332722.135 464447.542 0, 1332418.144 464427.968 0, 1332114.152 464408.411 0, 1331810.159 464388.873 0, 1331506.164 464369.352 0, 1331202.168 464349.849 0, 1330898.172 464330.364 0, 1330594.174 464310.897 0, 1330290.175 464291.448 0,
+ 1329986.175 464272.017 0, 1329682.173 464252.603 0, 1329378.171 464233.208 0, 1329074.167 464213.83 0, 1328768.744 464194.38 0, 1328466.157 464175.129 0, 1328162.15 464155.805 0, 1327858.141 464136.499 0, 1327554.132 464117.211 0, 1327250.122 464097.94 0,
+ 1326946.11 464078.688 0, 1326642.097 464059.454 0, 1326338.084 464040.237 0, 1326034.069 464021.038 0, 1325730.052 464001.858 0, 1325426.035 463982.695 0, 1325122.017 463963.55 0, 1324817.997 463944.423 0, 1324513.977 463925.314 0, 1324209.955 463906.222 0,
+ 1323905.932 463887.149 0, 1323601.908 463868.093 0, 1323297.883 463849.056 0, 1322993.857 463830.036 0, 1322689.83 463811.034 0, 1322385.801 463792.05 0, 1322081.772 463773.084 0, 1321777.741 463754.136 0, 1321472.29 463735.117 0, 1321127.281 469278.82 0,
+ 1320782.247 474822.948 0, 1321087.043 474841.926 0, 1321390.421 474860.834 0, 1321693.798 474879.759 0, 1321997.174 474898.702 0, 1322300.548 474917.663 0, 1322603.922 474936.642 0, 1322907.294 474955.639 0, 1323210.666 474974.654 0, 1323514.036 474993.686 0,
+ 1323817.405 475012.736 0, 1324120.773 475031.805 0, 1324424.14 475050.891 0, 1324727.506 475069.994 0, 1325030.871 475089.116 0, 1325334.234 475108.256 0, 1325637.596 475127.413 0, 1325940.958 475146.589 0, 1326244.318 475165.782 0, 1326547.677 475184.993 0,
+ 1326851.035 475204.222 0, 1327154.391 475223.468 0, 1327457.747 475242.733 0, 1327761.102 475262.015 0, 1328063.04 475281.226 0, 1328367.807 475300.634 0, 1328671.158 475319.97 0, 1328974.508 475339.324 0, 1329277.857 475358.695 0, 1329581.204 475378.085 0,
+ 1329884.551 475397.492 0, 1330187.896 475416.918 0, 1330491.241 475436.361 0, 1330794.584 475455.822 0, 1331097.926 475475.301 0, 1331401.266 475494.797 0, 1331704.606 475514.312 0, 1332007.944 475533.844 0, 1332311.282 475553.395 0, 1332614.618 475572.963 0,
+ 1332917.953 475592.549 0, 1333221.287 475612.152 0, 1333524.62 475631.774 0, 1333827.951 475651.414 0, 1334131.282 475671.071 0, 1334434.611 475690.746 0, 1334737.939 475710.439 0, 1335041.266 475730.15 0, 1335343.178 475749.787 0, 1335703.874 470206.655 0,
+ 1336064.543 464663.95 0))
+
+POLYGON ((1349901.432 476717.759 0, 1349599.574 476697.269 0, 1349296.304 476676.701 0, 1348993.033 476656.151 0, 1348689.761 476635.619 0, 1348386.487 476615.105 0, 1348083.212 476594.609 0, 1347779.936 476574.13 0, 1347476.659 476553.669 0, 1347173.38 476533.227 0,
+ 1346870.101 476512.802 0, 1346566.82 476492.394 0, 1346263.538 476472.005 0, 1345960.254 476451.634 0, 1345656.97 476431.28 0, 1345353.684 476410.944 0, 1345050.397 476390.626 0, 1344747.109 476370.326 0, 1344443.82 476350.044 0, 1344140.529 476329.78 0,
+ 1343837.238 476309.533 0, 1343533.945 476289.305 0, 1343230.651 476269.094 0, 1342927.356 476248.901 0, 1342622.646 476228.632 0, 1342320.762 476208.568 0, 1342017.463 476188.429 0, 1341714.163 476168.308 0, 1341410.862 476148.204 0, 1341107.559 476128.118 0,
+ 1340804.256 476108.05 0, 1340500.951 476088 0, 1340197.645 476067.968 0, 1339894.338 476047.953 0, 1339591.03 476027.957 0, 1339287.721 476007.978 0, 1338984.41 475988.017 0, 1338681.098 475968.074 0, 1338377.785 475948.149 0, 1338074.471 475928.241 0,
+ 1337771.156 475908.352 0, 1337467.839 475888.48 0, 1337164.522 475868.627 0, 1336861.203 475848.791 0, 1336557.883 475828.973 0, 1336254.562 475809.172 0, 1335951.24 475789.39 0, 1335647.916 475769.626 0, 1335343.178 475749.787 0, 1334982.454 481293.341 0,
+ 1334621.703 486837.315 0, 1334925.786 486857.111 0, 1335228.456 486876.833 0, 1335531.126 486896.573 0, 1335833.795 486916.33 0, 1336136.462 486936.106 0, 1336439.128 486955.899 0, 1336741.793 486975.71 0, 1337044.457 486995.539 0, 1337347.12 487015.386 0,
+ 1337649.781 487035.25 0, 1337952.442 487055.133 0, 1338255.101 487075.033 0, 1338557.759 487094.951 0, 1338860.416 487114.886 0, 1339163.072 487134.84 0, 1339465.726 487154.811 0, 1339768.379 487174.8 0, 1340071.032 487194.807 0, 1340373.683 487214.832 0,
+ 1340676.332 487234.875 0, 1340978.981 487254.935 0, 1341281.628 487275.014 0, 1341584.275 487295.11 0, 1341885.51 487315.13 0, 1342189.564 487335.355 0, 1342492.206 487355.505 0, 1342794.848 487375.672 0, 1343097.488 487395.857 0, 1343400.127 487416.06 0,
+ 1343702.765 487436.281 0, 1344005.402 487456.519 0, 1344308.038 487476.776 0, 1344610.672 487497.05 0, 1344913.305 487517.342 0, 1345215.937 487537.652 0, 1345518.568 487557.979 0, 1345821.197 487578.325 0, 1346123.826 487598.688 0, 1346426.453 487619.069 0,
+ 1346729.079 487639.468 0, 1347031.704 487659.885 0, 1347334.327 487680.319 0, 1347636.95 487700.772 0, 1347939.571 487721.242 0, 1348242.191 487741.73 0, 1348544.81 487762.235 0, 1348847.427 487782.759 0, 1349148.635 487803.205 0, 1349525.048 482260.272 0,
+ 1349901.432 476717.759 0))
+
+POLYGON ((1363672.781 488810.132 0, 1363371.63 488788.835 0, 1363069.071 488767.456 0, 1362766.512 488746.096 0, 1362463.951 488724.753 0, 1362161.389 488703.428 0, 1361858.825 488682.121 0, 1361556.261 488660.831 0, 1361253.695 488639.56 0, 1360951.128 488618.306 0,
+ 1360648.559 488597.07 0, 1360345.99 488575.852 0, 1360043.419 488554.652 0, 1359740.847 488533.469 0, 1359438.273 488512.304 0, 1359135.699 488491.157 0, 1358833.123 488470.028 0, 1358530.546 488448.917 0, 1358227.967 488427.823 0, 1357925.388 488406.748 0,
+ 1357622.807 488385.69 0, 1357320.225 488364.65 0, 1357017.641 488343.628 0, 1356715.057 488322.623 0, 1356411.064 488301.539 0, 1356109.884 488280.668 0, 1355807.296 488259.717 0, 1355504.706 488238.783 0, 1355202.115 488217.868 0, 1354899.523 488196.97 0,
+ 1354596.93 488176.091 0, 1354294.336 488155.229 0, 1353991.74 488134.385 0, 1353689.143 488113.558 0, 1353386.545 488092.75 0, 1353083.946 488071.959 0, 1352781.345 488051.186 0, 1352478.743 488030.431 0, 1352176.141 488009.694 0, 1351873.536 487988.974 0,
+ 1351570.931 487968.272 0, 1351268.324 487947.589 0, 1350965.716 487926.923 0, 1350663.107 487906.274 0, 1350360.497 487885.644 0, 1350057.885 487865.031 0, 1349755.273 487844.436 0, 1349452.659 487823.859 0, 1349148.635 487803.205 0, 1348772.194 493346.554 0,
+ 1348395.726 498890.317 0, 1348699.094 498910.927 0, 1349001.055 498931.46 0, 1349303.015 498952.01 0, 1349604.974 498972.578 0, 1349906.932 498993.164 0, 1350208.888 499013.768 0, 1350510.844 499034.389 0, 1350812.798 499055.029 0, 1351114.751 499075.686 0,
+ 1351416.702 499096.36 0, 1351718.653 499117.053 0, 1352020.602 499137.763 0, 1352322.55 499158.491 0, 1352624.497 499179.237 0, 1352926.442 499200.001 0, 1353228.387 499220.782 0, 1353530.33 499241.582 0, 1353832.272 499262.399 0, 1354134.212 499283.233 0,
+ 1354436.152 499304.086 0, 1354738.09 499324.956 0, 1355040.027 499345.844 0, 1355341.963 499366.75 0, 1355642.493 499387.576 0, 1355945.831 499408.615 0, 1356247.763 499429.574 0, 1356549.694 499450.551 0, 1356851.623 499471.546 0, 1357153.552 499492.558 0,
+ 1357455.479 499513.589 0, 1357757.405 499534.637 0, 1358059.329 499555.702 0, 1358361.253 499576.786 0, 1358663.175 499597.887 0, 1358965.096 499619.006 0, 1359267.015 499640.143 0, 1359568.934 499661.298 0, 1359870.851 499682.47 0, 1360172.767 499703.66 0,
+ 1360474.682 499724.868 0, 1360776.595 499746.094 0, 1361078.507 499767.337 0, 1361380.418 499788.599 0, 1361682.328 499809.878 0, 1361984.236 499831.175 0, 1362286.144 499852.489 0, 1362588.05 499873.821 0, 1362888.551 499895.072 0, 1363280.681 494352.395 0,
+ 1363672.781 488810.132 0))
+
+POLYGON ((1377378.481 500940.769 0, 1377078.038 500918.669 0, 1376776.193 500896.484 0, 1376474.348 500874.316 0, 1376172.501 500852.166 0, 1375870.652 500830.035 0, 1375568.803 500807.92 0, 1375266.952 500785.824 0, 1374965.099 500763.746 0, 1374663.246 500741.685 0,
+ 1374361.391 500719.642 0, 1374059.535 500697.616 0, 1373757.677 500675.609 0, 1373455.818 500653.619 0, 1373153.958 500631.647 0, 1372852.097 500609.693 0, 1372550.234 500587.756 0, 1372248.37 500565.838 0, 1371946.505 500543.937 0, 1371644.639 500522.054 0,
+ 1371342.771 500500.188 0, 1371040.902 500478.341 0, 1370739.031 500456.511 0, 1370437.16 500434.699 0, 1370133.885 500412.803 0, 1369833.413 500391.128 0, 1369531.537 500369.369 0, 1369229.66 500347.628 0, 1368927.782 500325.905 0, 1368625.903 500304.199 0,
+ 1368324.022 500282.512 0, 1368022.141 500260.842 0, 1367720.257 500239.19 0, 1367418.373 500217.555 0, 1367116.487 500195.939 0, 1366814.6 500174.34 0, 1366512.712 500152.759 0, 1366210.822 500131.195 0, 1365908.932 500109.65 0, 1365607.04 500088.122 0,
+ 1365305.146 500066.612 0, 1365003.252 500045.12 0, 1364701.356 500023.645 0, 1364399.459 500002.189 0, 1364097.56 499980.75 0, 1363795.661 499959.328 0, 1363493.76 499937.925 0, 1363191.858 499916.539 0, 1362888.551 499895.072 0, 1362496.393 505438.16 0,
+ 1362104.206 510981.655 0, 1362406.856 511003.076 0, 1362708.106 511024.415 0, 1363009.354 511045.772 0, 1363310.601 511067.147 0, 1363611.847 511088.54 0, 1363913.092 511109.95 0, 1364214.335 511131.378 0, 1364515.577 511152.824 0, 1364816.818 511174.287 0,
+ 1365118.058 511195.769 0, 1365419.296 511217.268 0, 1365720.533 511238.784 0, 1366021.769 511260.319 0, 1366323.003 511281.871 0, 1366624.236 511303.441 0, 1366925.468 511325.028 0, 1367226.699 511346.634 0, 1367527.928 511368.257 0, 1367829.156 511389.898 0,
+ 1368130.383 511411.556 0, 1368431.609 511433.233 0, 1368732.833 511454.927 0, 1369034.056 511476.638 0, 1369333.88 511498.267 0, 1369636.498 511520.115 0, 1369937.718 511541.88 0, 1370238.936 511563.663 0, 1370540.152 511585.463 0, 1370841.367 511607.281 0,
+ 1371142.582 511629.117 0, 1371443.794 511650.971 0, 1371745.006 511672.842 0, 1372046.216 511694.731 0, 1372347.425 511716.638 0, 1372648.632 511738.562 0, 1372949.839 511760.504 0, 1373251.044 511782.464 0, 1373552.248 511804.442 0, 1373853.45 511826.437 0,
+ 1374154.651 511848.451 0, 1374455.851 511870.481 0, 1374757.05 511892.53 0, 1375058.247 511914.596 0, 1375359.443 511936.68 0, 1375660.637 511958.782 0, 1375961.831 511980.902 0, 1376263.023 512003.039 0, 1376562.816 512025.091 0, 1376970.664 506482.726 0,
+ 1377378.481 500940.769 0))
+
+POLYGON ((1391018.422 513109.371 0, 1390718.689 513086.472 0, 1390417.561 513063.484 0, 1390116.431 513040.514 0, 1389815.3 513017.561 0, 1389514.168 512994.626 0, 1389213.034 512971.709 0, 1388911.899 512948.81 0, 1388610.763 512925.928 0, 1388309.625 512903.064 0,
+ 1388008.486 512880.218 0, 1387707.346 512857.389 0, 1387406.204 512834.578 0, 1387105.061 512811.785 0, 1386803.916 512789.01 0, 1386502.77 512766.252 0, 1386201.623 512743.512 0, 1385900.475 512720.79 0, 1385599.325 512698.086 0, 1385298.174 512675.399 0,
+ 1384997.021 512652.73 0, 1384695.867 512630.078 0, 1384394.712 512607.445 0, 1384093.556 512584.829 0, 1383791.002 512562.126 0, 1383491.239 512539.651 0, 1383190.078 512517.088 0, 1382888.916 512494.543 0, 1382587.753 512472.016 0, 1382286.589 512449.506 0,
+ 1381985.423 512427.014 0, 1381684.256 512404.54 0, 1381383.088 512382.084 0, 1381081.918 512359.645 0, 1380780.747 512337.225 0, 1380479.574 512314.821 0, 1380178.401 512292.436 0, 1379877.226 512270.068 0, 1379576.049 512247.718 0, 1379274.872 512225.386 0,
+ 1378973.693 512203.072 0, 1378672.512 512180.775 0, 1378371.331 512158.496 0, 1378070.148 512136.235 0, 1377768.964 512113.991 0, 1377467.778 512091.765 0, 1377166.591 512069.557 0, 1376865.403 512047.367 0, 1376562.816 512025.091 0, 1376154.94 517567.86 0,
+ 1375747.033 523111.031 0, 1376048.964 523133.258 0, 1376349.5 523155.4 0, 1376650.034 523177.56 0, 1376950.567 523199.738 0, 1377251.099 523221.933 0, 1377551.629 523244.146 0, 1377852.159 523266.377 0, 1378152.686 523288.626 0, 1378453.213 523310.892 0,
+ 1378753.738 523333.176 0, 1379054.262 523355.477 0, 1379354.784 523377.797 0, 1379655.306 523400.133 0, 1379955.826 523422.488 0, 1380256.344 523444.86 0, 1380556.862 523467.25 0, 1380857.378 523489.658 0, 1381157.892 523512.083 0, 1381458.406 523534.526 0,
+ 1381758.918 523556.987 0, 1382059.428 523579.465 0, 1382359.938 523601.962 0, 1382660.446 523624.475 0, 1382959.56 523646.902 0, 1383261.458 523669.556 0, 1383561.962 523692.123 0, 1383862.465 523714.707 0, 1384162.966 523737.31 0, 1384463.466 523759.93 0,
+ 1384763.965 523782.567 0, 1385064.462 523805.222 0, 1385364.958 523827.895 0, 1385665.453 523850.586 0, 1385965.947 523873.294 0, 1386266.439 523896.02 0, 1386566.929 523918.764 0, 1386867.419 523941.526 0, 1387167.907 523964.305 0, 1387468.394 523987.101 0,
+ 1387768.879 524009.916 0, 1388069.363 524032.748 0, 1388369.846 524055.598 0, 1388670.327 524078.465 0, 1388970.807 524101.351 0, 1389271.286 524124.253 0, 1389571.763 524147.174 0, 1389872.239 524170.112 0, 1390171.322 524192.962 0, 1390594.887 518650.966 0,
+ 1391018.422 513109.371 0))
+
+POLYGON ((1404592.496 525315.64 0, 1404293.477 525291.945 0, 1403993.067 525268.158 0, 1403692.656 525244.389 0, 1403392.243 525220.637 0, 1403091.829 525196.903 0, 1402791.413 525173.187 0, 1402490.996 525149.488 0, 1402190.578 525125.807 0, 1401890.158 525102.144 0,
+ 1401589.737 525078.498 0, 1401289.315 525054.87 0, 1400988.891 525031.26 0, 1400688.465 525007.668 0, 1400388.039 524984.093 0, 1400087.611 524960.536 0, 1399787.181 524936.996 0, 1399486.75 524913.474 0, 1399186.318 524889.97 0, 1398885.885 524866.484 0,
+ 1398585.45 524843.015 0, 1398285.013 524819.564 0, 1397984.575 524796.13 0, 1397684.136 524772.714 0, 1397382.306 524749.208 0, 1397083.254 524725.936 0, 1396782.811 524702.573 0, 1396482.366 524679.228 0, 1396181.92 524655.901 0, 1395881.473 524632.591 0,
+ 1395581.024 524609.299 0, 1395280.574 524586.025 0, 1394980.122 524562.769 0, 1394679.67 524539.53 0, 1394379.215 524516.308 0, 1394078.76 524493.105 0, 1393778.303 524469.919 0, 1393477.845 524446.751 0, 1393177.385 524423.6 0, 1392876.924 524400.468 0,
+ 1392576.461 524377.353 0, 1392275.998 524354.255 0, 1391975.533 524331.175 0, 1391675.066 524308.113 0, 1391374.598 524285.069 0, 1391074.129 524262.042 0, 1390773.659 524239.033 0, 1390473.187 524216.042 0, 1390171.322 524192.962 0, 1389747.726 529735.356 0,
+ 1389324.1 535278.145 0, 1389625.31 535301.175 0, 1389925.129 535324.116 0, 1390224.947 535347.075 0, 1390524.764 535370.052 0, 1390824.579 535393.046 0, 1391124.393 535416.058 0, 1391424.206 535439.088 0, 1391724.017 535462.135 0, 1392023.827 535485.2 0,
+ 1392323.636 535508.283 0, 1392623.443 535531.383 0, 1392923.249 535554.501 0, 1393223.054 535577.636 0, 1393522.857 535600.789 0, 1393822.659 535623.96 0, 1394122.459 535647.149 0, 1394422.258 535670.355 0, 1394722.056 535693.578 0, 1395021.852 535716.82 0,
+ 1395321.647 535740.079 0, 1395621.441 535763.355 0, 1395921.233 535786.65 0, 1396221.024 535809.962 0, 1396519.426 535833.183 0, 1396820.601 535856.639 0, 1397120.388 535880.003 0, 1397420.173 535903.386 0, 1397719.957 535926.786 0, 1398019.74 535950.204 0,
+ 1398319.521 535973.639 0, 1398619.301 535997.093 0, 1398919.08 536020.563 0, 1399218.857 536044.052 0, 1399518.632 536067.558 0, 1399818.407 536091.082 0, 1400118.18 536114.623 0, 1400417.951 536138.182 0, 1400717.721 536161.758 0, 1401017.49 536185.353 0,
+ 1401317.258 536208.965 0, 1401617.024 536232.594 0, 1401916.788 536256.241 0, 1402216.551 536279.906 0, 1402516.313 536303.589 0, 1402816.074 536327.289 0, 1403115.833 536351.007 0, 1403415.59 536374.742 0, 1403713.961 536398.385 0, 1404153.244 530856.815 0,
+ 1404592.496 525315.64 0))
+
+POLYGON ((1418100.599 537559.275 0, 1417802.294 537534.789 0, 1417502.605 537510.207 0, 1417202.914 537485.642 0, 1416903.221 537461.095 0, 1416603.528 537436.566 0, 1416303.833 537412.054 0, 1416004.136 537387.56 0, 1415704.438 537363.084 0, 1415404.738 537338.625 0,
+ 1415105.038 537314.184 0, 1414805.335 537289.761 0, 1414505.631 537265.355 0, 1414205.926 537240.967 0, 1413906.219 537216.596 0, 1413606.511 537192.243 0, 1413306.802 537167.908 0, 1413007.091 537143.591 0, 1412707.378 537119.291 0, 1412407.665 537095.008 0,
+ 1412107.949 537070.744 0, 1411808.233 537046.497 0, 1411508.515 537022.267 0, 1411208.795 536998.055 0, 1410907.69 536973.75 0, 1410609.352 536949.685 0, 1410309.628 536925.526 0, 1410009.903 536901.385 0, 1409710.176 536877.261 0, 1409410.448 536853.155 0,
+ 1409110.719 536829.067 0, 1408810.988 536804.996 0, 1408511.255 536780.944 0, 1408211.522 536756.908 0, 1407911.786 536732.89 0, 1407612.05 536708.89 0, 1407312.312 536684.908 0, 1407012.573 536660.943 0, 1406712.832 536636.996 0, 1406413.09 536613.067 0,
+ 1406113.346 536589.155 0, 1405813.601 536565.261 0, 1405513.854 536541.384 0, 1405214.107 536517.525 0, 1404914.357 536493.684 0, 1404614.607 536469.86 0, 1404314.855 536446.054 0, 1404015.101 536422.266 0, 1403713.961 536398.385 0, 1403274.646 541940.347 0,
+ 1402835.301 547482.698 0, 1403135.786 547506.526 0, 1403434.887 547530.263 0, 1403733.986 547554.017 0, 1404033.085 547577.789 0, 1404332.182 547601.578 0, 1404631.277 547625.385 0, 1404930.371 547649.21 0, 1405229.464 547673.052 0, 1405528.555 547696.912 0,
+ 1405827.645 547720.789 0, 1406126.733 547744.684 0, 1406425.82 547768.597 0, 1406724.906 547792.527 0, 1407023.99 547816.475 0, 1407323.073 547840.44 0, 1407622.154 547864.423 0, 1407921.234 547888.424 0, 1408220.313 547912.442 0, 1408519.39 547936.478 0,
+ 1408818.466 547960.532 0, 1409117.54 547984.603 0, 1409416.613 548008.691 0, 1409715.684 548032.797 0, 1410013.373 548056.81 0, 1410313.823 548081.063 0, 1410612.89 548105.222 0, 1410911.956 548129.398 0, 1411211.02 548153.593 0, 1411510.083 548177.805 0,
+ 1411809.145 548202.034 0, 1412108.205 548226.281 0, 1412407.263 548250.546 0, 1412706.321 548274.828 0, 1413005.377 548299.128 0, 1413304.431 548323.445 0, 1413603.484 548347.781 0, 1413902.535 548372.133 0, 1414201.585 548396.503 0, 1414500.634 548420.891 0,
+ 1414799.681 548445.297 0, 1415098.727 548469.72 0, 1415397.771 548494.161 0, 1415696.814 548518.619 0, 1415995.856 548543.095 0, 1416294.896 548567.588 0, 1416593.934 548592.099 0, 1416892.971 548616.628 0, 1417190.627 548641.061 0, 1417645.629 543099.974 0,
+ 1418100.599 537559.275 0))
+
+POLYGON ((1431542.623 549839.976 0, 1431245.036 549814.702 0, 1430946.069 549789.329 0, 1430647.101 549763.973 0, 1430348.131 549738.635 0, 1430049.16 549713.314 0, 1429750.188 549688.011 0, 1429451.214 549662.725 0, 1429152.238 549637.458 0, 1428853.261 549612.207 0,
+ 1428554.282 549586.975 0, 1428255.302 549561.76 0, 1427956.321 549536.562 0, 1427657.338 549511.382 0, 1427358.353 549486.22 0, 1427059.367 549461.075 0, 1426760.38 549435.948 0, 1426461.391 549410.839 0, 1426162.401 549385.747 0, 1425863.409 549360.673 0,
+ 1425564.415 549335.616 0, 1425265.421 549310.577 0, 1424966.424 549285.556 0, 1424667.427 549260.552 0, 1424367.048 549235.45 0, 1424069.427 549210.597 0, 1423770.424 549185.646 0, 1423471.421 549160.712 0, 1423172.416 549135.796 0, 1422873.409 549110.898 0,
+ 1422574.401 549086.017 0, 1422275.392 549061.154 0, 1421976.381 549036.309 0, 1421677.368 549011.481 0, 1421378.354 548986.67 0, 1421079.339 548961.878 0, 1420780.322 548937.103 0, 1420481.304 548912.345 0, 1420182.284 548887.605 0, 1419883.263 548862.883 0,
+ 1419584.24 548838.178 0, 1419285.216 548813.491 0, 1418986.191 548788.822 0, 1418687.164 548764.17 0, 1418388.135 548739.536 0, 1418089.105 548714.919 0, 1417790.074 548690.32 0, 1417491.041 548665.738 0, 1417190.627 548641.061 0, 1416735.593 554182.534 0,
+ 1416280.528 559724.389 0, 1416580.288 559749.012 0, 1416878.668 559773.54 0, 1417177.047 559798.086 0, 1417475.425 559822.649 0, 1417773.801 559847.229 0, 1418072.175 559871.827 0, 1418370.549 559896.443 0, 1418668.92 559921.076 0, 1418967.291 559945.727 0,
+ 1419265.659 559970.396 0, 1419564.027 559995.081 0, 1419862.393 560019.785 0, 1420160.757 560044.506 0, 1420459.12 560069.245 0, 1420757.482 560094.001 0, 1421055.842 560118.774 0, 1421354.201 560143.566 0, 1421652.558 560168.375 0, 1421950.914 560193.201 0,
+ 1422249.268 560218.045 0, 1422547.621 560242.907 0, 1422845.972 560267.786 0, 1423144.322 560292.682 0, 1423441.295 560317.482 0, 1423741.018 560342.528 0, 1424039.363 560367.478 0, 1424337.707 560392.445 0, 1424636.05 560417.429 0, 1424934.391 560442.431 0,
+ 1425232.73 560467.451 0, 1425531.069 560492.488 0, 1425829.405 560517.542 0, 1426127.74 560542.615 0, 1426426.074 560567.704 0, 1426724.406 560592.812 0, 1427022.737 560617.937 0, 1427321.066 560643.079 0, 1427619.394 560668.239 0, 1427917.721 560693.417 0,
+ 1428216.045 560718.612 0, 1428514.369 560743.825 0, 1428812.691 560769.055 0, 1429111.011 560794.303 0, 1429409.33 560819.568 0, 1429707.647 560844.851 0, 1430005.963 560870.152 0, 1430304.278 560895.47 0, 1430601.216 560920.689 0, 1431071.936 555380.141 0,
+ 1431542.623 549839.976 0))
+
+POLYGON ((1444918.467 562157.442 0, 1444621.599 562131.384 0, 1444323.357 562105.223 0, 1444025.114 562079.08 0, 1443726.869 562052.955 0, 1443428.622 562026.847 0, 1443130.375 562000.756 0, 1442832.125 561974.683 0, 1442533.874 561948.628 0, 1442235.622 561922.59 0,
+ 1441937.368 561896.569 0, 1441639.112 561870.567 0, 1441340.855 561844.581 0, 1441042.597 561818.614 0, 1440744.336 561792.664 0, 1440446.075 561766.731 0, 1440147.812 561740.816 0, 1439849.547 561714.919 0, 1439551.281 561689.039 0, 1439253.013 561663.176 0,
+ 1438954.744 561637.332 0, 1438656.473 561611.504 0, 1438358.201 561585.695 0, 1438059.927 561559.902 0, 1437760.278 561534.009 0, 1437463.375 561508.371 0, 1437165.096 561482.631 0, 1436866.816 561456.91 0, 1436568.535 561431.205 0, 1436270.252 561405.518 0,
+ 1435971.968 561379.849 0, 1435673.682 561354.198 0, 1435375.394 561328.563 0, 1435077.105 561302.947 0, 1434778.815 561277.348 0, 1434480.523 561251.766 0, 1434182.229 561226.203 0, 1433883.934 561200.656 0, 1433585.638 561175.128 0, 1433287.34 561149.616 0,
+ 1432989.04 561124.123 0, 1432690.739 561098.647 0, 1432392.437 561073.188 0, 1432094.133 561047.747 0, 1431795.827 561022.324 0, 1431497.521 560996.918 0, 1431199.212 560971.529 0, 1430900.902 560946.159 0, 1430601.216 560920.689 0, 1430130.464 566461.615 0,
+ 1429659.68 572002.918 0, 1429958.711 572028.333 0, 1430256.368 572053.648 0, 1430554.025 572078.981 0, 1430851.679 572104.331 0, 1431149.333 572129.699 0, 1431446.984 572155.084 0, 1431744.634 572180.487 0, 1432042.283 572205.907 0, 1432339.93 572231.345 0,
+ 1432637.576 572256.801 0, 1432935.22 572282.274 0, 1433232.863 572307.764 0, 1433530.504 572333.272 0, 1433828.144 572358.798 0, 1434125.782 572384.341 0, 1434423.419 572409.901 0, 1434721.054 572435.479 0, 1435018.688 572461.075 0, 1435316.32 572486.688 0,
+ 1435613.951 572512.318 0, 1435911.58 572537.967 0, 1436209.208 572563.632 0, 1436506.834 572589.315 0, 1436803.088 572614.898 0, 1437102.082 572640.734 0, 1437399.703 572666.47 0, 1437697.324 572692.223 0, 1437994.942 572717.994 0, 1438292.559 572743.782 0,
+ 1438590.175 572769.588 0, 1438887.789 572795.411 0, 1439185.401 572821.252 0, 1439483.012 572847.111 0, 1439780.622 572872.986 0, 1440078.23 572898.88 0, 1440375.836 572924.791 0, 1440673.441 572950.719 0, 1440971.045 572976.665 0, 1441268.646 573002.628 0,
+ 1441566.247 573028.609 0, 1441863.845 573054.608 0, 1442161.443 573080.624 0, 1442459.038 573106.657 0, 1442756.633 573132.708 0, 1443054.225 573158.777 0, 1443351.816 573184.863 0, 1443649.406 573210.967 0, 1443945.625 573236.967 0, 1444432.062 567697.017 0,
+ 1444918.467 562157.442 0))
+
+POLYGON ((1458228.027 574511.372 0, 1457931.88 574484.534 0, 1457634.365 574457.59 0, 1457336.849 574430.663 0, 1457039.331 574403.754 0, 1456741.812 574376.862 0, 1456444.291 574349.988 0, 1456146.768 574323.132 0, 1455849.244 574296.292 0, 1455551.719 574269.471 0,
+ 1455254.191 574242.667 0, 1454956.662 574215.88 0, 1454659.132 574189.111 0, 1454361.6 574162.359 0, 1454064.066 574135.625 0, 1453766.531 574108.909 0, 1453468.994 574082.21 0, 1453171.456 574055.528 0, 1452873.916 574028.864 0, 1452576.375 574002.218 0,
+ 1452278.832 573975.589 0, 1451981.287 573948.977 0, 1451683.741 573922.383 0, 1451386.193 573895.807 0, 1451087.276 573869.126 0, 1450791.093 573842.706 0, 1450493.54 573816.183 0, 1450195.986 573789.676 0, 1449898.431 573763.187 0, 1449600.874 573736.716 0,
+ 1449303.315 573710.262 0, 1449005.755 573683.826 0, 1448708.193 573657.407 0, 1448410.63 573631.006 0, 1448113.065 573604.622 0, 1447815.499 573578.255 0, 1447517.931 573551.907 0, 1447220.361 573525.575 0, 1446922.79 573499.262 0, 1446625.217 573472.965 0,
+ 1446327.643 573446.687 0, 1446030.067 573420.426 0, 1445732.49 573394.182 0, 1445434.911 573367.956 0, 1445137.331 573341.747 0, 1444839.749 573315.556 0, 1444542.166 573289.382 0, 1444244.581 573263.226 0, 1443945.625 573236.967 0, 1443459.155 578777.291 0,
+ 1442972.653 584317.984 0, 1443270.953 584344.185 0, 1443567.886 584370.284 0, 1443864.817 584396.4 0, 1444161.747 584422.534 0, 1444458.675 584448.685 0, 1444755.601 584474.854 0, 1445052.526 584501.04 0, 1445349.45 584527.244 0, 1445646.372 584553.465 0,
+ 1445943.292 584579.704 0, 1446240.211 584605.96 0, 1446537.129 584632.233 0, 1446834.045 584658.524 0, 1447130.959 584684.833 0, 1447427.872 584711.159 0, 1447724.783 584737.502 0, 1448021.692 584763.863 0, 1448318.6 584790.241 0, 1448615.507 584816.637 0,
+ 1448912.412 584843.051 0, 1449209.315 584869.482 0, 1449506.217 584895.93 0, 1449803.117 584922.396 0, 1450098.651 584948.757 0, 1450396.913 584975.38 0, 1450693.809 585001.898 0, 1450990.703 585028.433 0, 1451287.596 585054.987 0, 1451584.486 585081.557 0,
+ 1451881.376 585108.145 0, 1452178.264 585134.751 0, 1452475.15 585161.374 0, 1452772.034 585188.015 0, 1453068.918 585214.673 0, 1453365.799 585241.348 0, 1453662.679 585268.041 0, 1453959.557 585294.751 0, 1454256.434 585321.479 0, 1454553.309 585348.225 0,
+ 1454850.183 585374.987 0, 1455147.055 585401.768 0, 1455443.926 585428.566 0, 1455740.795 585455.381 0, 1456037.662 585482.214 0, 1456334.528 585509.064 0, 1456631.392 585535.931 0, 1456928.255 585562.817 0, 1457223.752 585589.596 0, 1457725.906 580050.299 0,
+ 1458228.027 574511.372 0))
+
+POLYGON ((1471471.203 586901.464 0, 1471175.78 586873.85 0, 1470878.994 586846.126 0, 1470582.207 586818.42 0, 1470285.418 586790.731 0, 1469988.628 586763.06 0, 1469691.836 586735.406 0, 1469395.042 586707.77 0, 1469098.247 586680.151 0, 1468801.45 586652.549 0,
+ 1468504.652 586624.965 0, 1468207.852 586597.399 0, 1467911.05 586569.85 0, 1467614.246 586542.318 0, 1467317.441 586514.804 0, 1467020.635 586487.307 0, 1466723.827 586459.828 0, 1466427.017 586432.367 0, 1466130.205 586404.922 0, 1465833.392 586377.496 0,
+ 1465536.578 586350.086 0, 1465239.761 586322.694 0, 1464942.943 586295.32 0, 1464646.124 586267.963 0, 1464347.941 586240.498 0, 1464052.48 586213.302 0, 1463755.656 586185.997 0, 1463458.83 586158.71 0, 1463162.002 586131.441 0, 1462865.173 586104.189 0,
+ 1462568.342 586076.954 0, 1462271.51 586049.737 0, 1461974.676 586022.537 0, 1461677.84 585995.355 0, 1461381.003 585968.191 0, 1461084.165 585941.043 0, 1460787.324 585913.914 0, 1460490.482 585886.801 0, 1460193.639 585859.706 0, 1459896.794 585832.629 0,
+ 1459599.947 585805.569 0, 1459303.098 585778.527 0, 1459006.249 585751.502 0, 1458709.397 585724.494 0, 1458412.544 585697.504 0, 1458115.689 585670.532 0, 1457818.833 585643.577 0, 1457521.975 585616.639 0, 1457223.752 585589.596 0, 1456721.565 591129.259 0,
+ 1456219.345 596669.285 0, 1456516.913 596696.269 0, 1456813.118 596723.148 0, 1457109.322 596750.044 0, 1457405.525 596776.957 0, 1457701.726 596803.888 0, 1457997.925 596830.836 0, 1458294.123 596857.801 0, 1458590.319 596884.784 0, 1458886.514 596911.785 0,
+ 1459182.707 596938.803 0, 1459478.899 596965.838 0, 1459775.088 596992.891 0, 1460071.277 597019.961 0, 1460367.463 597047.048 0, 1460663.648 597074.153 0, 1460959.832 597101.276 0, 1461256.014 597128.416 0, 1461552.194 597155.573 0, 1461848.373 597182.748 0,
+ 1462144.55 597209.94 0, 1462440.725 597237.15 0, 1462736.899 597264.377 0, 1463033.072 597291.621 0, 1463327.883 597318.758 0, 1463625.411 597346.162 0, 1463921.579 597373.459 0, 1464217.745 597400.773 0, 1464513.909 597428.105 0, 1464810.072 597455.454 0,
+ 1465106.233 597482.821 0, 1465402.392 597510.205 0, 1465698.55 597537.606 0, 1465994.706 597565.025 0, 1466290.861 597592.461 0, 1466587.014 597619.915 0, 1466883.165 597647.386 0, 1467179.315 597674.874 0, 1467475.463 597702.38 0, 1467771.609 597729.904 0,
+ 1468067.754 597757.445 0, 1468363.897 597785.003 0, 1468660.039 597812.578 0, 1468956.179 597840.172 0, 1469252.318 597867.782 0, 1469548.454 597895.41 0, 1469844.589 597923.056 0, 1470140.723 597950.718 0, 1470435.497 597978.272 0, 1470953.367 592439.686 0,
+ 1471471.203 586901.464 0))
+
+POLYGON ((1484647.894 599327.416 0, 1484353.197 599299.03 0, 1484057.143 599270.531 0, 1483761.087 599242.049 0, 1483465.029 599213.584 0, 1483168.97 599185.137 0, 1482872.909 599156.708 0, 1482576.847 599128.295 0, 1482280.783 599099.9 0, 1481984.717 599071.523 0,
+ 1481688.649 599043.163 0, 1481392.58 599014.821 0, 1481096.509 598986.496 0, 1480800.436 598958.188 0, 1480504.362 598929.898 0, 1480208.286 598901.625 0, 1479912.209 598873.369 0, 1479616.13 598845.131 0, 1479320.049 598816.911 0, 1479023.966 598788.708 0,
+ 1478727.882 598760.522 0, 1478431.796 598732.354 0, 1478135.709 598704.203 0, 1477839.619 598676.07 0, 1477542.172 598647.825 0, 1477247.436 598619.855 0, 1476951.342 598591.774 0, 1476655.246 598563.71 0, 1476359.149 598535.664 0, 1476063.05 598507.635 0,
+ 1475766.949 598479.624 0, 1475470.847 598451.63 0, 1475174.743 598423.653 0, 1474878.637 598395.694 0, 1474582.53 598367.752 0, 1474286.421 598339.828 0, 1473990.31 598311.921 0, 1473694.198 598284.032 0, 1473398.084 598256.16 0, 1473101.968 598228.305 0,
+ 1472805.851 598200.468 0, 1472509.732 598172.648 0, 1472213.612 598144.846 0, 1471917.49 598117.061 0, 1471621.366 598089.294 0, 1471325.241 598061.544 0, 1471029.114 598033.811 0, 1470732.985 598006.096 0, 1470435.497 597978.272 0, 1469917.594 603517.217 0,
+ 1469399.657 609056.519 0, 1469696.49 609084.283 0, 1469991.966 609111.937 0, 1470287.441 609139.608 0, 1470582.915 609167.297 0, 1470878.386 609195.003 0, 1471173.856 609222.727 0, 1471469.325 609250.468 0, 1471764.792 609278.227 0, 1472060.257 609306.002 0,
+ 1472355.72 609333.796 0, 1472651.182 609361.606 0, 1472946.642 609389.434 0, 1473242.101 609417.28 0, 1473537.558 609445.142 0, 1473833.013 609473.023 0, 1474128.467 609500.92 0, 1474423.919 609528.835 0, 1474719.37 609556.767 0, 1475014.818 609584.717 0,
+ 1475310.265 609612.684 0, 1475605.711 609640.669 0, 1475901.155 609668.671 0, 1476196.597 609696.69 0, 1476490.684 609724.598 0, 1476787.476 609752.781 0, 1477082.913 609780.852 0, 1477378.349 609808.941 0, 1477673.783 609837.047 0, 1477969.215 609865.171 0,
+ 1478264.646 609893.312 0, 1478560.075 609921.47 0, 1478855.502 609949.646 0, 1479150.928 609977.839 0, 1479446.352 610006.05 0, 1479741.774 610034.278 0, 1480037.195 610062.523 0, 1480332.614 610090.786 0, 1480628.031 610119.066 0, 1480923.447 610147.364 0,
+ 1481218.861 610175.678 0, 1481514.273 610204.011 0, 1481809.684 610232.36 0, 1482105.093 610260.727 0, 1482400.5 610289.112 0, 1482695.905 610317.514 0, 1482991.309 610345.933 0, 1483286.712 610374.37 0, 1483580.76 610402.693 0, 1484114.345 604864.876 0,
+ 1484647.894 599327.416 0))
+
+POLYGON ((1497758.004 611788.926 0, 1497464.034 611759.771 0, 1497168.714 611730.5 0, 1496873.391 611701.247 0, 1496578.067 611672.01 0, 1496282.741 611642.792 0, 1495987.413 611613.59 0, 1495692.084 611584.406 0, 1495396.753 611555.239 0, 1495101.42 611526.09 0,
+ 1494806.085 611496.958 0, 1494510.749 611467.843 0, 1494215.411 611438.746 0, 1493920.072 611409.666 0, 1493624.73 611380.604 0, 1493329.387 611351.558 0, 1493034.042 611322.531 0, 1492738.696 611293.52 0, 1492443.348 611264.528 0, 1492147.998 611235.552 0,
+ 1491852.646 611206.594 0, 1491557.293 611177.653 0, 1491261.938 611148.73 0, 1490966.581 611119.824 0, 1490669.872 611090.803 0, 1490375.862 611062.064 0, 1490080.5 611033.21 0, 1489785.137 611004.373 0, 1489489.772 610975.554 0, 1489194.405 610946.753 0,
+ 1488899.036 610917.968 0, 1488603.666 610889.201 0, 1488308.294 610860.452 0, 1488012.92 610831.72 0, 1487717.545 610803.005 0, 1487422.168 610774.308 0, 1487126.789 610745.628 0, 1486831.408 610716.965 0, 1486536.026 610688.32 0, 1486240.642 610659.692 0,
+ 1485945.257 610631.081 0, 1485649.87 610602.488 0, 1485354.481 610573.913 0, 1485059.09 610545.354 0, 1484763.698 610516.813 0, 1484468.304 610488.29 0, 1484172.909 610459.784 0, 1483877.511 610431.295 0, 1483580.76 610402.693 0, 1483047.142 615940.864 0,
+ 1482513.49 621479.384 0, 1482809.586 621507.923 0, 1483104.331 621536.349 0, 1483399.075 621564.792 0, 1483693.817 621593.253 0, 1483988.557 621621.731 0, 1484283.296 621650.226 0, 1484578.033 621678.738 0, 1484872.768 621707.268 0, 1485167.502 621735.816 0,
+ 1485462.234 621764.38 0, 1485756.964 621792.962 0, 1486051.692 621821.562 0, 1486346.419 621850.179 0, 1486641.144 621878.813 0, 1486935.868 621907.464 0, 1487230.59 621936.133 0, 1487525.31 621964.819 0, 1487820.028 621993.522 0, 1488114.745 622022.243 0,
+ 1488409.46 622050.981 0, 1488704.173 622079.737 0, 1488998.885 622108.51 0, 1489293.595 622137.3 0, 1489586.955 622165.975 0, 1489883.01 622194.932 0, 1490177.715 622223.774 0, 1490472.418 622252.634 0, 1490767.119 622281.511 0, 1491061.819 622310.405 0,
+ 1491356.517 622339.317 0, 1491651.214 622368.246 0, 1491945.908 622397.192 0, 1492240.601 622426.155 0, 1492535.293 622455.136 0, 1492829.982 622484.135 0, 1493124.67 622513.15 0, 1493419.356 622542.183 0, 1493714.041 622571.234 0, 1494008.723 622600.301 0,
+ 1494303.404 622629.387 0, 1494598.084 622658.489 0, 1494892.761 622687.609 0, 1495187.437 622716.746 0, 1495482.111 622745.9 0, 1495776.784 622775.072 0, 1496071.454 622804.261 0, 1496366.123 622833.467 0, 1496659.444 622862.558 0, 1497208.741 617325.567 0,
+ 1497758.004 611788.926 0))
+
+POLYGON ((1510801.434 624285.69 0, 1510508.194 624255.771 0, 1510213.609 624225.733 0, 1509919.022 624195.711 0, 1509624.433 624165.707 0, 1509329.843 624135.72 0, 1509035.25 624105.751 0, 1508740.656 624075.798 0, 1508446.06 624045.864 0, 1508151.463 624015.946 0,
+ 1507856.863 623986.046 0, 1507562.262 623956.163 0, 1507267.659 623926.298 0, 1506973.054 623896.45 0, 1506678.448 623866.619 0, 1506383.84 623836.806 0, 1506089.23 623807.01 0, 1505794.618 623777.231 0, 1505500.004 623747.469 0, 1505205.389 623717.725 0,
+ 1504910.772 623687.999 0, 1504616.154 623658.289 0, 1504321.533 623628.597 0, 1504026.911 623598.923 0, 1503730.942 623569.13 0, 1503437.661 623539.625 0, 1503143.034 623510.002 0, 1502848.405 623480.397 0, 1502553.774 623450.809 0, 1502259.141 623421.239 0,
+ 1501964.507 623391.685 0, 1501669.87 623362.149 0, 1501375.232 623332.631 0, 1501080.593 623303.129 0, 1500785.951 623273.645 0, 1500491.308 623244.179 0, 1500196.664 623214.73 0, 1499902.017 623185.298 0, 1499607.369 623155.883 0, 1499312.719 623126.486 0,
+ 1499018.067 623097.106 0, 1498723.413 623067.743 0, 1498428.758 623038.398 0, 1498134.101 623009.07 0, 1497839.443 622979.76 0, 1497544.782 622950.467 0, 1497250.12 622921.191 0, 1496955.456 622891.932 0, 1496659.444 622862.558 0, 1496110.112 628399.896 0,
+ 1495560.747 633937.577 0, 1495856.104 633966.887 0, 1496150.116 633996.081 0, 1496444.126 634025.292 0, 1496738.135 634054.52 0, 1497032.141 634083.766 0, 1497326.147 634113.029 0, 1497620.15 634142.309 0, 1497914.152 634171.607 0, 1498208.152 634200.922 0,
+ 1498502.15 634230.254 0, 1498796.146 634259.603 0, 1499090.141 634288.97 0, 1499384.134 634318.354 0, 1499678.125 634347.756 0, 1499972.115 634377.175 0, 1500266.103 634406.611 0, 1500560.089 634436.064 0, 1500854.073 634465.534 0, 1501148.056 634495.022 0,
+ 1501442.037 634524.528 0, 1501736.016 634554.05 0, 1502029.993 634583.59 0, 1502323.969 634613.147 0, 1502616.601 634642.587 0, 1502911.915 634672.313 0, 1503205.886 634701.922 0, 1503499.854 634731.549 0, 1503793.821 634761.192 0, 1504087.787 634790.853 0,
+ 1504381.75 634820.532 0, 1504675.712 634850.227 0, 1504969.672 634879.94 0, 1505263.63 634909.67 0, 1505557.587 634939.418 0, 1505851.541 634969.182 0, 1506145.494 634998.964 0, 1506439.445 635028.764 0, 1506733.395 635058.581 0, 1507027.343 635088.414 0,
+ 1507321.289 635118.266 0, 1507615.233 635148.134 0, 1507909.175 635178.02 0, 1508203.116 635207.923 0, 1508497.055 635237.844 0, 1508790.992 635267.782 0, 1509084.927 635297.737 0, 1509378.861 635327.709 0, 1509671.452 635357.562 0, 1510236.461 629821.454 0,
+ 1510801.434 624285.69 0))
+
+POLYGON ((1523778.09 636817.406 0, 1523485.582 636786.726 0, 1523191.734 636755.924 0, 1522897.884 636725.138 0, 1522604.033 636694.37 0, 1522310.18 636663.619 0, 1522016.325 636632.886 0, 1521722.468 636602.17 0, 1521428.609 636571.471 0, 1521134.749 636540.789 0,
+ 1520840.887 636510.125 0, 1520547.023 636479.478 0, 1520253.157 636448.848 0, 1519959.289 636418.236 0, 1519665.42 636387.641 0, 1519371.548 636357.063 0, 1519077.675 636326.502 0, 1518783.8 636295.959 0, 1518489.924 636265.433 0, 1518196.045 636234.925 0,
+ 1517902.165 636204.433 0, 1517608.283 636173.959 0, 1517314.399 636143.502 0, 1517020.513 636113.063 0, 1516725.286 636082.502 0, 1516432.737 636052.236 0, 1516138.846 636021.848 0, 1515844.953 635991.478 0, 1515551.058 635961.125 0, 1515257.162 635930.79 0,
+ 1514963.264 635900.471 0, 1514669.364 635870.17 0, 1514375.462 635839.886 0, 1514081.559 635809.62 0, 1513787.653 635779.371 0, 1513493.746 635749.139 0, 1513199.837 635718.924 0, 1512905.927 635688.727 0, 1512612.014 635658.547 0, 1512318.1 635628.384 0,
+ 1512024.184 635598.239 0, 1511730.267 635568.111 0, 1511436.347 635538 0, 1511142.426 635507.907 0, 1510848.503 635477.83 0, 1510554.578 635447.772 0, 1510260.651 635417.73 0, 1509966.723 635387.706 0, 1509671.452 635357.562 0, 1509106.409 640894.01 0,
+ 1508541.331 646430.795 0, 1508835.947 646460.872 0, 1509129.224 646490.83 0, 1509422.499 646520.805 0, 1509715.772 646550.797 0, 1510009.043 646580.807 0, 1510302.313 646610.833 0, 1510595.58 646640.877 0, 1510888.846 646670.939 0, 1511182.111 646701.017 0,
+ 1511475.373 646731.113 0, 1511768.634 646761.226 0, 1512061.893 646791.356 0, 1512355.15 646821.504 0, 1512648.405 646851.669 0, 1512941.659 646881.851 0, 1513234.911 646912.05 0, 1513528.161 646942.267 0, 1513821.409 646972.501 0, 1514114.655 647002.752 0,
+ 1514407.9 647033.02 0, 1514701.143 647063.306 0, 1514994.384 647093.609 0, 1515287.624 647123.929 0, 1515579.525 647154.128 0, 1515874.097 647184.621 0, 1516167.331 647214.993 0, 1516460.563 647245.382 0, 1516753.793 647275.789 0, 1517047.022 647306.213 0,
+ 1517340.249 647336.654 0, 1517633.474 647367.112 0, 1517926.697 647397.587 0, 1518219.919 647428.08 0, 1518513.138 647458.59 0, 1518806.356 647489.117 0, 1519099.572 647519.662 0, 1519392.787 647550.224 0, 1519685.999 647580.803 0, 1519979.21 647611.399 0,
+ 1520272.419 647642.013 0, 1520565.626 647672.643 0, 1520858.831 647703.292 0, 1521152.034 647733.957 0, 1521445.236 647764.639 0, 1521738.436 647795.339 0, 1522031.634 647826.056 0, 1522324.83 647856.791 0, 1522616.689 647887.402 0, 1523197.407 642352.236 0,
+ 1523778.09 636817.406 0))
+
+POLYGON ((1536687.876 649383.769 0, 1536396.102 649352.333 0, 1536102.994 649320.77 0, 1535809.884 649289.225 0, 1535516.772 649257.697 0, 1535223.658 649226.186 0, 1534930.543 649194.692 0, 1534637.425 649163.216 0, 1534344.306 649131.757 0, 1534051.184 649100.315 0,
+ 1533758.061 649068.891 0, 1533464.936 649037.483 0, 1533171.81 649006.093 0, 1532878.681 648974.721 0, 1532585.551 648943.365 0, 1532292.418 648912.027 0, 1531999.284 648880.706 0, 1531706.148 648849.402 0, 1531413.01 648818.115 0, 1531119.871 648786.846 0,
+ 1530826.729 648755.594 0, 1530533.586 648724.359 0, 1530240.441 648693.142 0, 1529947.294 648661.941 0, 1529652.811 648630.617 0, 1529360.994 648599.593 0, 1529067.842 648568.444 0, 1528774.687 648537.313 0, 1528481.531 648506.199 0, 1528188.373 648475.102 0,
+ 1527895.213 648444.023 0, 1527602.052 648412.96 0, 1527308.888 648381.915 0, 1527015.723 648350.888 0, 1526722.556 648319.877 0, 1526429.387 648288.884 0, 1526136.216 648257.908 0, 1525843.043 648226.949 0, 1525549.869 648196.008 0, 1525256.693 648165.084 0,
+ 1524963.515 648134.177 0, 1524670.335 648103.287 0, 1524377.153 648072.415 0, 1524083.969 648041.559 0, 1523790.784 648010.722 0, 1523497.597 647979.901 0, 1523204.408 647949.098 0, 1522911.217 647918.311 0, 1522616.689 647887.402 0, 1522035.936 653422.903 0,
+ 1521455.149 658958.734 0, 1521749.022 658989.575 0, 1522041.561 659020.292 0, 1522334.098 659051.027 0, 1522626.634 659081.779 0, 1522919.168 659112.549 0, 1523211.7 659143.335 0, 1523504.23 659174.139 0, 1523796.758 659204.96 0, 1524089.285 659235.798 0,
+ 1524381.809 659266.654 0, 1524674.332 659297.527 0, 1524966.853 659328.416 0, 1525259.372 659359.324 0, 1525551.89 659390.248 0, 1525844.405 659421.189 0, 1526136.919 659452.148 0, 1526429.431 659483.124 0, 1526721.941 659514.117 0, 1527014.449 659545.128 0,
+ 1527306.956 659576.155 0, 1527599.46 659607.2 0, 1527891.963 659638.262 0, 1528184.464 659669.342 0, 1528475.632 659700.297 0, 1528769.461 659731.552 0, 1529061.956 659762.683 0, 1529354.45 659793.831 0, 1529646.942 659824.996 0, 1529939.432 659856.179 0,
+ 1530231.92 659887.379 0, 1530524.406 659918.596 0, 1530816.89 659949.83 0, 1531109.373 659981.081 0, 1531401.854 660012.35 0, 1531694.333 660043.636 0, 1531986.81 660074.939 0, 1532279.285 660106.259 0, 1532571.759 660137.597 0, 1532864.23 660168.951 0,
+ 1533156.7 660200.323 0, 1533449.168 660231.712 0, 1533741.634 660263.119 0, 1534034.098 660294.542 0, 1534326.56 660325.983 0, 1534619.021 660357.441 0, 1534911.479 660388.916 0, 1535203.936 660420.409 0, 1535495.062 660451.775 0, 1536091.487 654917.607 0,
+ 1536687.876 649383.769 0))
+
+POLYGON ((1549530.7 661984.476 0, 1549239.663 661952.287 0, 1548947.296 661919.968 0, 1548654.927 661887.667 0, 1548362.557 661855.383 0, 1548070.185 661823.116 0, 1547777.81 661790.866 0, 1547485.434 661758.633 0, 1547193.056 661726.418 0, 1546900.676 661694.22 0,
+ 1546608.294 661662.039 0, 1546315.911 661629.875 0, 1546023.525 661597.729 0, 1545731.138 661565.6 0, 1545438.748 661533.488 0, 1545146.357 661501.393 0, 1544853.964 661469.315 0, 1544561.569 661437.255 0, 1544269.172 661405.212 0, 1543976.773 661373.186 0,
+ 1543684.372 661341.177 0, 1543391.97 661309.185 0, 1543099.565 661277.211 0, 1542807.159 661245.254 0, 1542513.422 661213.169 0, 1542222.34 661181.391 0, 1541929.928 661149.485 0, 1541637.514 661117.597 0, 1541345.099 661085.726 0, 1541052.681 661053.872 0,
+ 1540760.262 661022.036 0, 1540467.84 660990.216 0, 1540175.417 660958.414 0, 1539882.992 660926.629 0, 1539590.565 660894.861 0, 1539298.136 660863.11 0, 1539005.705 660831.377 0, 1538713.273 660799.661 0, 1538420.838 660767.962 0, 1538128.402 660736.28 0,
+ 1537835.964 660704.615 0, 1537543.524 660672.968 0, 1537251.082 660641.338 0, 1536958.638 660609.725 0, 1536666.192 660578.129 0, 1536373.745 660546.551 0, 1536081.295 660514.989 0, 1535788.844 660483.445 0, 1535495.062 660451.775 0, 1534898.601 665986.271 0,
+ 1534302.106 671521.09 0, 1534595.234 671552.69 0, 1534887.034 671584.164 0, 1535178.832 671615.655 0, 1535470.628 671647.163 0, 1535762.422 671678.688 0, 1536054.214 671710.231 0, 1536346.005 671741.79 0, 1536637.793 671773.367 0, 1536929.58 671804.961 0,
+ 1537221.365 671836.572 0, 1537513.148 671868.201 0, 1537804.929 671899.846 0, 1538096.708 671931.509 0, 1538388.486 671963.189 0, 1538680.261 671994.886 0, 1538972.035 672026.6 0, 1539263.807 672058.332 0, 1539555.576 672090.08 0, 1539847.345 672121.846 0,
+ 1540139.111 672153.629 0, 1540430.875 672185.429 0, 1540722.638 672217.246 0, 1541014.398 672249.081 0, 1541304.831 672280.788 0, 1541597.914 672312.801 0, 1541889.669 672344.687 0, 1542181.422 672376.59 0, 1542473.173 672408.51 0, 1542764.922 672440.448 0,
+ 1543056.67 672472.403 0, 1543348.415 672504.374 0, 1543640.159 672536.363 0, 1543931.901 672568.37 0, 1544223.641 672600.393 0, 1544515.379 672632.433 0, 1544807.115 672664.491 0, 1545098.849 672696.566 0, 1545390.581 672728.658 0, 1545682.312 672760.767 0,
+ 1545974.04 672792.893 0, 1546265.767 672825.037 0, 1546557.492 672857.198 0, 1546849.215 672889.376 0, 1547140.936 672921.571 0, 1547432.655 672953.783 0, 1547724.372 672986.012 0, 1548016.087 673018.259 0, 1548306.477 673050.376 0, 1548918.606 667517.264 0,
+ 1549530.7 661984.476 0))
+
+POLYGON ((1562306.471 674619.221 0, 1562016.171 674586.283 0, 1561724.548 674553.212 0, 1561432.923 674520.159 0, 1561141.296 674487.123 0, 1560849.667 674454.104 0, 1560558.037 674421.102 0, 1560266.404 674388.117 0, 1559974.769 674355.149 0, 1559683.132 674322.199 0,
+ 1559391.494 674289.266 0, 1559099.853 674256.35 0, 1558808.211 674223.451 0, 1558516.566 674190.569 0, 1558224.92 674157.704 0, 1557933.272 674124.857 0, 1557641.622 674092.027 0, 1557349.97 674059.213 0, 1557058.315 674026.418 0, 1556766.659 673993.639 0,
+ 1556475.002 673960.877 0, 1556183.342 673928.133 0, 1555891.68 673895.406 0, 1555600.016 673862.695 0, 1555307.028 673829.854 0, 1555016.683 673797.327 0, 1554725.014 673764.668 0, 1554433.342 673732.027 0, 1554141.669 673699.402 0, 1553849.994 673666.795 0,
+ 1553558.316 673634.205 0, 1553266.637 673601.633 0, 1552974.956 673569.077 0, 1552683.274 673536.539 0, 1552391.589 673504.017 0, 1552099.902 673471.513 0, 1551808.213 673439.026 0, 1551516.523 673406.557 0, 1551224.83 673374.104 0, 1550933.136 673341.669 0,
+ 1550641.44 673309.25 0, 1550349.741 673276.849 0, 1550058.041 673244.465 0, 1549766.339 673212.099 0, 1549474.635 673179.749 0, 1549182.93 673147.417 0, 1548891.222 673115.101 0, 1548599.512 673082.803 0, 1548306.477 673050.376 0, 1547694.312 678583.809 0,
+ 1547082.111 684117.559 0, 1547374.493 684149.914 0, 1547665.551 684182.14 0, 1547956.607 684214.383 0, 1548247.662 684246.643 0, 1548538.714 684278.92 0, 1548829.765 684311.215 0, 1549120.813 684343.526 0, 1549411.86 684375.855 0, 1549702.905 684408.201 0,
+ 1549993.948 684440.564 0, 1550284.989 684472.944 0, 1550576.029 684505.341 0, 1550867.066 684537.756 0, 1551158.101 684570.187 0, 1551449.135 684602.636 0, 1551740.166 684635.102 0, 1552031.196 684667.584 0, 1552322.224 684700.084 0, 1552613.25 684732.602 0,
+ 1552904.274 684765.136 0, 1553195.296 684797.687 0, 1553486.316 684830.256 0, 1553777.334 684862.842 0, 1554067.03 684895.296 0, 1554359.364 684928.064 0, 1554650.377 684960.701 0, 1554941.387 684993.355 0, 1555232.396 685026.027 0, 1555523.403 685058.715 0,
+ 1555814.407 685091.421 0, 1556105.41 685124.143 0, 1556396.411 685156.883 0, 1556687.41 685189.64 0, 1556978.407 685222.414 0, 1557269.402 685255.206 0, 1557560.395 685288.014 0, 1557851.386 685320.839 0, 1558142.376 685353.682 0, 1558433.363 685386.542 0,
+ 1558724.348 685419.418 0, 1559015.332 685452.312 0, 1559306.313 685485.224 0, 1559597.293 685518.152 0, 1559888.271 685551.097 0, 1560179.247 685584.06 0, 1560470.22 685617.039 0, 1560761.192 685650.036 0, 1561050.844 685682.9 0, 1561678.675 680150.902 0,
+ 1562306.471 674619.221 0))
+
+POLYGON ((1575015.098 687287.699 0, 1574725.538 687254.017 0, 1574434.661 687220.198 0, 1574143.781 687186.397 0, 1573852.9 687152.612 0, 1573562.016 687118.845 0, 1573271.131 687085.095 0, 1572980.244 687051.362 0, 1572689.354 687017.646 0, 1572398.463 686983.947 0,
+ 1572107.569 686950.265 0, 1571816.674 686916.601 0, 1571525.777 686882.953 0, 1571234.877 686849.323 0, 1570943.976 686815.71 0, 1570653.073 686782.114 0, 1570362.168 686748.535 0, 1570071.26 686714.973 0, 1569780.351 686681.428 0, 1569489.44 686647.901 0,
+ 1569198.527 686614.39 0, 1568907.612 686580.897 0, 1568616.695 686547.421 0, 1568325.776 686513.962 0, 1568033.538 686480.368 0, 1567743.932 686447.095 0, 1567453.007 686413.687 0, 1567162.08 686380.297 0, 1566871.151 686346.923 0, 1566580.22 686313.567 0,
+ 1566289.287 686280.228 0, 1565998.352 686246.905 0, 1565707.416 686213.6 0, 1565416.477 686180.313 0, 1565125.536 686147.042 0, 1564834.594 686113.788 0, 1564543.649 686080.552 0, 1564252.703 686047.332 0, 1563961.754 686014.13 0, 1563670.804 685980.945 0,
+ 1563379.851 685947.777 0, 1563088.897 685914.626 0, 1562797.941 685881.493 0, 1562506.982 685848.376 0, 1562216.022 685815.276 0, 1561925.06 685782.194 0, 1561634.096 685749.129 0, 1561343.13 685716.081 0, 1561050.844 685682.9 0, 1560422.976 691215.212 0,
+ 1559795.074 696747.835 0, 1560086.706 696780.941 0, 1560377.021 696813.915 0, 1560667.334 696846.907 0, 1560957.645 696879.915 0, 1561247.954 696912.94 0, 1561538.261 696945.983 0, 1561828.566 696979.042 0, 1562118.869 697012.119 0, 1562409.17 697045.213 0,
+ 1562699.469 697078.324 0, 1562989.766 697111.452 0, 1563280.062 697144.597 0, 1563570.355 697177.759 0, 1563860.646 697210.938 0, 1564150.936 697244.134 0, 1564441.223 697277.347 0, 1564731.509 697310.578 0, 1565021.793 697343.825 0, 1565312.074 697377.09 0,
+ 1565602.354 697410.372 0, 1565892.632 697443.67 0, 1566182.907 697476.986 0, 1566473.181 697510.319 0, 1566762.139 697543.518 0, 1567053.723 697577.036 0, 1567343.991 697610.421 0, 1567634.257 697643.822 0, 1567924.521 697677.24 0, 1568214.783 697710.676 0,
+ 1568505.043 697744.128 0, 1568795.301 697777.598 0, 1569085.557 697811.085 0, 1569375.811 697844.588 0, 1569666.063 697878.109 0, 1569956.313 697911.647 0, 1570246.561 697945.202 0, 1570536.808 697978.774 0, 1570827.052 698012.364 0, 1571117.294 698045.97 0,
+ 1571407.535 698079.593 0, 1571697.773 698113.234 0, 1571988.009 698146.891 0, 1572278.244 698180.566 0, 1572568.476 698214.257 0, 1572858.706 698247.966 0, 1573148.935 698281.692 0, 1573439.161 698315.435 0, 1573728.073 698349.042 0, 1574371.603 692818.216 0,
+ 1575015.098 687287.699 0))
+
+POLYGON ((1587656.492 699989.607 0, 1587367.674 699955.183 0, 1587077.545 699920.62 0, 1586787.413 699886.075 0, 1586497.279 699851.546 0, 1586207.143 699817.034 0, 1585917.004 699782.54 0, 1585626.864 699748.063 0, 1585336.722 699713.602 0, 1585046.578 699679.159 0,
+ 1584756.432 699644.733 0, 1584466.284 699610.324 0, 1584176.134 699575.932 0, 1583885.981 699541.557 0, 1583595.827 699507.199 0, 1583305.671 699472.858 0, 1583015.512 699438.535 0, 1582725.352 699404.228 0, 1582435.19 699369.939 0, 1582145.025 699335.666 0,
+ 1581854.859 699301.411 0, 1581564.691 699267.173 0, 1581274.52 699232.951 0, 1580984.348 699198.747 0, 1580692.862 699164.406 0, 1580403.997 699130.39 0, 1580113.818 699096.237 0, 1579823.638 699062.102 0, 1579533.455 699027.983 0, 1579243.271 698993.881 0,
+ 1578953.084 698959.797 0, 1578662.896 698925.729 0, 1578372.705 698891.679 0, 1578082.513 698857.645 0, 1577792.318 698823.629 0, 1577502.122 698789.63 0, 1577211.923 698755.648 0, 1576921.723 698721.683 0, 1576631.52 698687.735 0, 1576341.316 698653.804 0,
+ 1576051.109 698619.89 0, 1575760.901 698585.994 0, 1575470.69 698552.114 0, 1575180.478 698518.251 0, 1574890.263 698484.406 0, 1574600.047 698450.578 0, 1574309.828 698416.766 0, 1574019.608 698382.972 0, 1573728.073 698349.042 0, 1573084.506 703880.176 0,
+ 1572440.905 709411.614 0, 1572731.786 709445.467 0, 1573021.355 709479.186 0, 1573310.922 709512.921 0, 1573600.488 709546.674 0, 1573890.051 709580.443 0, 1574179.613 709614.23 0, 1574469.172 709648.033 0, 1574758.729 709681.854 0, 1575048.285 709715.692 0,
+ 1575337.838 709749.546 0, 1575627.39 709783.418 0, 1575916.939 709817.307 0, 1576206.487 709851.213 0, 1576496.032 709885.136 0, 1576785.576 709919.075 0, 1577075.117 709953.032 0, 1577364.656 709987.006 0, 1577654.194 710020.998 0, 1577943.729 710055.006 0,
+ 1578233.263 710089.031 0, 1578522.794 710123.073 0, 1578812.324 710157.132 0, 1579101.851 710191.208 0, 1579390.068 710225.148 0, 1579680.9 710259.412 0, 1579970.421 710293.539 0, 1580259.941 710327.684 0, 1580549.458 710361.845 0, 1580838.974 710396.024 0,
+ 1581128.487 710430.219 0, 1581417.998 710464.432 0, 1581707.508 710498.662 0, 1581997.015 710532.908 0, 1582286.52 710567.172 0, 1582576.024 710601.453 0, 1582865.525 710635.751 0, 1583155.024 710670.065 0, 1583444.522 710704.397 0, 1583734.017 710738.746 0,
+ 1584023.51 710773.112 0, 1584313.001 710807.495 0, 1584602.49 710841.895 0, 1584891.977 710876.312 0, 1585181.463 710910.746 0, 1585470.946 710945.197 0, 1585760.427 710979.666 0, 1586049.906 711014.151 0, 1586338.075 711048.497 0, 1586997.302 705518.9 0,
+ 1587656.492 699989.607 0))
+
+POLYGON ((1600230.566 712724.636 0, 1599942.493 712689.476 0, 1599653.112 712654.173 0, 1599363.73 712618.887 0, 1599074.345 712583.618 0, 1598784.958 712548.366 0, 1598495.57 712513.131 0, 1598206.179 712477.914 0, 1597916.786 712442.713 0, 1597627.391 712407.529 0,
+ 1597337.994 712372.363 0, 1597048.595 712337.213 0, 1596759.194 712302.08 0, 1596469.79 712266.965 0, 1596180.385 712231.866 0, 1595890.978 712196.785 0, 1595601.568 712161.72 0, 1595312.157 712126.673 0, 1595022.743 712091.643 0, 1594733.328 712056.629 0,
+ 1594443.91 712021.633 0, 1594154.49 711986.654 0, 1593865.068 711951.692 0, 1593575.645 711916.746 0, 1593284.913 711881.661 0, 1592996.791 711846.907 0, 1592707.361 711812.013 0, 1592417.929 711777.136 0, 1592128.495 711742.276 0, 1591839.058 711707.433 0,
+ 1591549.62 711672.607 0, 1591260.18 711637.798 0, 1590970.738 711603.006 0, 1590681.293 711568.231 0, 1590391.847 711533.473 0, 1590102.398 711498.733 0, 1589812.948 711464.009 0, 1589523.495 711429.302 0, 1589234.041 711394.613 0, 1588944.584 711359.94 0,
+ 1588655.125 711325.284 0, 1588365.665 711290.646 0, 1588076.202 711256.024 0, 1587786.737 711221.42 0, 1587497.27 711186.832 0, 1587207.801 711152.262 0, 1586918.331 711117.709 0, 1586628.858 711083.172 0, 1586338.075 711048.497 0, 1585678.813 716578.395 0,
+ 1585019.515 722108.589 0, 1585309.644 722143.186 0, 1585598.466 722177.645 0, 1585887.286 722212.12 0, 1586176.104 722246.613 0, 1586464.919 722281.123 0, 1586753.733 722315.649 0, 1587042.545 722350.193 0, 1587331.355 722384.754 0, 1587620.163 722419.331 0,
+ 1587908.968 722453.926 0, 1588197.772 722488.538 0, 1588486.574 722523.166 0, 1588775.373 722557.812 0, 1589064.171 722592.475 0, 1589352.966 722627.154 0, 1589641.76 722661.851 0, 1589930.551 722696.564 0, 1590219.34 722731.295 0, 1590508.128 722766.043 0,
+ 1590796.913 722800.807 0, 1591085.696 722835.589 0, 1591374.477 722870.388 0, 1591663.257 722905.203 0, 1591950.731 722939.879 0, 1592240.809 722974.886 0, 1592529.582 723009.752 0, 1592818.353 723044.636 0, 1593107.122 723079.536 0, 1593395.888 723114.454 0,
+ 1593684.653 723149.389 0, 1593973.416 723184.34 0, 1594262.177 723219.309 0, 1594550.935 723254.294 0, 1594839.692 723289.297 0, 1595128.446 723324.317 0, 1595417.199 723359.353 0, 1595705.949 723394.407 0, 1595994.697 723429.477 0, 1596283.444 723464.565 0,
+ 1596572.188 723499.669 0, 1596860.93 723534.791 0, 1597149.67 723569.929 0, 1597438.408 723605.085 0, 1597727.144 723640.258 0, 1598015.877 723675.447 0, 1598304.609 723710.654 0, 1598593.339 723745.877 0, 1598880.765 723780.959 0, 1599555.684 718252.649 0,
+ 1600230.566 712724.636 0))
+
+POLYGON ((1612737.234 725492.482 0, 1612449.906 725456.589 0, 1612161.277 725420.55 0, 1611872.646 725384.527 0, 1611584.013 725348.522 0, 1611295.378 725312.534 0, 1611006.74 725276.563 0, 1610718.1 725240.609 0, 1610429.459 725204.672 0, 1610140.815 725168.752 0,
+ 1609852.169 725132.848 0, 1609563.521 725096.962 0, 1609274.871 725061.093 0, 1608986.218 725025.241 0, 1608697.564 724989.406 0, 1608408.908 724953.587 0, 1608120.249 724917.786 0, 1607831.588 724882.002 0, 1607542.925 724846.235 0, 1607254.26 724810.484 0,
+ 1606965.593 724774.751 0, 1606676.924 724739.035 0, 1606388.253 724703.335 0, 1606099.58 724667.653 0, 1605809.604 724631.827 0, 1605522.227 724596.339 0, 1605233.547 724560.708 0, 1604944.865 724525.094 0, 1604656.182 724489.496 0, 1604367.496 724453.916 0,
+ 1604078.808 724418.353 0, 1603790.118 724382.806 0, 1603501.425 724347.277 0, 1603212.731 724311.764 0, 1602924.035 724276.269 0, 1602635.336 724240.791 0, 1602346.636 724205.329 0, 1602057.933 724169.885 0, 1601769.228 724134.457 0, 1601480.521 724099.047 0,
+ 1601191.813 724063.653 0, 1600903.102 724028.277 0, 1600614.389 723992.918 0, 1600325.673 723957.575 0, 1600036.956 723922.25 0, 1599748.237 723886.941 0, 1599459.515 723851.65 0, 1599170.792 723816.375 0, 1598880.765 723780.959 0, 1598205.81 729309.562 0,
+ 1597530.82 734838.455 0, 1597820.194 734873.791 0, 1598108.266 734908.986 0, 1598396.337 734944.198 0, 1598684.405 734979.427 0, 1598972.472 735014.673 0, 1599260.536 735049.936 0, 1599548.598 735085.216 0, 1599836.658 735120.512 0, 1600124.717 735155.826 0,
+ 1600412.773 735191.157 0, 1600700.827 735226.504 0, 1600988.878 735261.869 0, 1601276.928 735297.25 0, 1601564.976 735332.649 0, 1601853.022 735368.064 0, 1602141.065 735403.496 0, 1602429.107 735438.946 0, 1602717.146 735474.412 0, 1603005.183 735509.895 0,
+ 1603293.218 735545.395 0, 1603581.251 735580.913 0, 1603869.282 735616.447 0, 1604157.311 735651.998 0, 1604444.041 735687.405 0, 1604733.363 735723.151 0, 1605021.386 735758.752 0, 1605309.406 735794.371 0, 1605597.425 735830.007 0, 1605885.441 735865.66 0,
+ 1606173.455 735901.329 0, 1606461.467 735937.016 0, 1606749.477 735972.72 0, 1607037.485 736008.44 0, 1607325.491 736044.178 0, 1607613.495 736079.932 0, 1607901.496 736115.704 0, 1608189.496 736151.492 0, 1608477.493 736187.297 0, 1608765.489 736223.119 0,
+ 1609053.482 736258.959 0, 1609341.473 736294.815 0, 1609629.462 736330.688 0, 1609917.449 736366.578 0, 1610205.434 736402.485 0, 1610493.416 736438.409 0, 1610781.397 736474.35 0, 1611069.375 736510.308 0, 1611356.055 736546.121 0, 1612046.663 731019.156 0,
+ 1612737.234 725492.482 0))
+
+POLYGON ((1625176.411 738292.838 0, 1624889.831 738256.215 0, 1624601.955 738219.444 0, 1624314.077 738182.69 0, 1624026.197 738145.952 0, 1623738.315 738109.232 0, 1623450.431 738072.528 0, 1623162.544 738035.842 0, 1622874.656 737999.172 0, 1622586.765 737962.519 0,
+ 1622298.872 737925.884 0, 1622010.977 737889.265 0, 1621723.08 737852.663 0, 1621435.18 737816.078 0, 1621147.279 737779.51 0, 1620859.375 737742.959 0, 1620571.469 737706.425 0, 1620283.561 737669.908 0, 1619995.651 737633.408 0, 1619707.739 737596.924 0,
+ 1619419.824 737560.458 0, 1619131.908 737524.009 0, 1618843.989 737487.576 0, 1618556.068 737451.161 0, 1618266.85 737414.599 0, 1617980.22 737378.381 0, 1617692.292 737342.016 0, 1617404.363 737305.669 0, 1617116.431 737269.338 0, 1616828.497 737233.024 0,
+ 1616540.562 737196.727 0, 1616252.624 737160.447 0, 1615964.683 737124.184 0, 1615676.741 737087.938 0, 1615388.797 737051.709 0, 1615100.85 737015.497 0, 1614812.901 736979.302 0, 1614524.951 736943.124 0, 1614236.998 736906.963 0, 1613949.043 736870.818 0,
+ 1613661.085 736834.691 0, 1613373.126 736798.581 0, 1613085.165 736762.487 0, 1612797.201 736726.411 0, 1612509.235 736690.351 0, 1612221.268 736654.309 0, 1611933.298 736618.283 0, 1611645.326 736582.274 0, 1611356.055 736546.121 0, 1610665.412 742073.371 0,
+ 1609974.733 747600.905 0, 1610263.35 747636.977 0, 1610550.671 747672.904 0, 1610837.991 747708.849 0, 1611125.308 747744.81 0, 1611412.623 747780.788 0, 1611699.936 747816.783 0, 1611987.247 747852.795 0, 1612274.555 747888.824 0, 1612561.862 747924.869 0,
+ 1612849.166 747960.932 0, 1613136.469 747997.011 0, 1613423.769 748033.108 0, 1613711.067 748069.221 0, 1613998.363 748105.351 0, 1614285.657 748141.499 0, 1614572.948 748177.663 0, 1614860.238 748213.844 0, 1615147.525 748250.042 0, 1615434.811 748286.256 0,
+ 1615722.094 748322.488 0, 1616009.375 748358.737 0, 1616296.654 748395.002 0, 1616583.931 748431.285 0, 1616869.914 748467.421 0, 1617158.478 748503.9 0, 1617445.748 748540.234 0, 1617733.016 748576.584 0, 1618020.282 748612.951 0, 1618307.546 748649.335 0,
+ 1618594.808 748685.735 0, 1618882.068 748722.153 0, 1619169.325 748758.588 0, 1619456.581 748795.039 0, 1619743.834 748831.508 0, 1620031.085 748867.993 0, 1620318.334 748904.495 0, 1620605.581 748941.014 0, 1620892.825 748977.551 0, 1621180.068 749014.103 0,
+ 1621467.308 749050.673 0, 1621754.546 749087.26 0, 1622041.782 749123.864 0, 1622329.016 749160.484 0, 1622616.248 749197.122 0, 1622903.478 749233.776 0, 1623190.705 749270.448 0, 1623477.93 749307.136 0, 1623763.863 749343.676 0, 1624470.155 743818.116 0,
+ 1625176.411 738292.838 0))
+
+POLYGON ((1637548.014 751125.397 0, 1637262.183 751088.049 0, 1636975.063 751050.549 0, 1636687.94 751013.067 0, 1636400.815 750975.601 0, 1636113.688 750938.152 0, 1635826.559 750900.72 0, 1635539.427 750863.305 0, 1635252.294 750825.907 0, 1634965.158 750788.526 0,
+ 1634678.02 750751.161 0, 1634390.88 750713.814 0, 1634103.737 750676.483 0, 1633816.592 750639.17 0, 1633529.446 750601.873 0, 1633242.296 750564.593 0, 1632955.145 750527.33 0, 1632667.992 750490.084 0, 1632380.836 750452.855 0, 1632093.678 750415.643 0,
+ 1631806.518 750378.448 0, 1631519.356 750341.269 0, 1631232.192 750304.108 0, 1630945.025 750266.963 0, 1630656.567 750229.669 0, 1630370.686 750192.724 0, 1630083.512 750155.631 0, 1629796.337 750118.554 0, 1629509.16 750081.493 0, 1629221.98 750044.45 0,
+ 1628934.798 750007.424 0, 1628647.614 749970.415 0, 1628360.428 749933.422 0, 1628073.239 749896.446 0, 1627786.049 749859.488 0, 1627498.856 749822.546 0, 1627211.661 749785.621 0, 1626924.464 749748.713 0, 1626637.265 749711.822 0, 1626350.064 749674.948 0,
+ 1626062.86 749638.091 0, 1625775.654 749601.25 0, 1625488.446 749564.427 0, 1625201.236 749527.62 0, 1624914.024 749490.831 0, 1624626.809 749454.058 0, 1624339.593 749417.302 0, 1624052.374 749380.563 0, 1623763.863 749343.676 0, 1623057.535 754869.516 0,
+ 1622351.172 760395.632 0, 1622639.029 760432.436 0, 1622925.598 760469.092 0, 1623212.164 760505.764 0, 1623498.728 760542.454 0, 1623785.29 760579.16 0, 1624071.849 760615.883 0, 1624358.407 760652.623 0, 1624644.962 760689.38 0, 1624931.515 760726.154 0,
+ 1625218.066 760762.945 0, 1625504.615 760799.752 0, 1625791.162 760836.577 0, 1626077.706 760873.418 0, 1626364.248 760910.276 0, 1626650.788 760947.151 0, 1626937.326 760984.043 0, 1627223.862 761020.952 0, 1627510.396 761057.877 0, 1627796.927 761094.82 0,
+ 1628083.456 761131.779 0, 1628369.984 761168.755 0, 1628656.508 761205.748 0, 1628943.031 761242.758 0, 1629228.266 761279.618 0, 1629516.07 761316.828 0, 1629802.586 761353.889 0, 1630089.1 761390.966 0, 1630375.612 761428.06 0, 1630662.122 761465.172 0,
+ 1630948.629 761502.299 0, 1631235.135 761539.444 0, 1631521.638 761576.606 0, 1631808.139 761613.785 0, 1632094.637 761650.98 0, 1632381.134 761688.192 0, 1632667.628 761725.421 0, 1632954.12 761762.667 0, 1633240.61 761799.93 0, 1633527.098 761837.21 0,
+ 1633813.584 761874.506 0, 1634100.067 761911.82 0, 1634386.548 761949.15 0, 1634673.027 761986.497 0, 1634959.504 762023.861 0, 1635245.978 762061.242 0, 1635532.451 762098.64 0, 1635818.921 762136.055 0, 1636104.104 762173.318 0, 1636826.077 756649.22 0,
+ 1637548.014 751125.397 0))
+
+POLYGON ((1649851.96 763989.851 0, 1649566.881 763951.782 0, 1649280.517 763913.558 0, 1648994.152 763875.351 0, 1648707.784 763837.161 0, 1648421.414 763798.988 0, 1648135.042 763760.832 0, 1647848.667 763722.692 0, 1647562.29 763684.569 0, 1647275.911 763646.464 0,
+ 1646989.53 763608.375 0, 1646703.146 763570.303 0, 1646416.761 763532.247 0, 1646130.373 763494.209 0, 1645843.982 763456.187 0, 1645557.59 763418.183 0, 1645271.195 763380.195 0, 1644984.798 763342.224 0, 1644698.399 763304.27 0, 1644411.997 763266.333 0,
+ 1644125.594 763228.412 0, 1643839.188 763190.509 0, 1643552.78 763152.622 0, 1643266.369 763114.752 0, 1642978.673 763076.73 0, 1642693.542 763039.063 0, 1642407.125 763001.244 0, 1642120.706 762963.442 0, 1641834.284 762925.656 0, 1641547.861 762887.887 0,
+ 1641261.435 762850.136 0, 1640975.006 762812.401 0, 1640688.576 762774.683 0, 1640402.144 762736.981 0, 1640115.709 762699.297 0, 1639829.272 762661.629 0, 1639542.832 762623.979 0, 1639256.391 762586.345 0, 1638969.947 762548.728 0, 1638683.501 762511.128 0,
+ 1638397.053 762473.545 0, 1638110.603 762435.978 0, 1637824.15 762398.429 0, 1637537.696 762360.896 0, 1637251.239 762323.381 0, 1636964.78 762285.882 0, 1636678.318 762248.4 0, 1636391.855 762210.934 0, 1636104.104 762173.318 0, 1635382.096 767697.689 0,
+ 1634660.052 773222.33 0, 1634947.15 773259.861 0, 1635232.963 773297.241 0, 1635518.774 773334.638 0, 1635804.583 773372.052 0, 1636090.389 773409.482 0, 1636376.194 773446.93 0, 1636661.996 773484.394 0, 1636947.796 773521.875 0, 1637233.594 773559.373 0,
+ 1637519.389 773596.888 0, 1637805.183 773634.419 0, 1638090.974 773671.968 0, 1638376.763 773709.533 0, 1638662.55 773747.115 0, 1638948.334 773784.714 0, 1639234.117 773822.329 0, 1639519.897 773859.962 0, 1639805.675 773897.611 0, 1640091.45 773935.277 0,
+ 1640377.224 773972.96 0, 1640662.995 774010.66 0, 1640948.764 774048.376 0, 1641234.531 774086.11 0, 1641519.015 774123.691 0, 1641806.058 774161.627 0, 1642091.818 774199.411 0, 1642377.576 774237.211 0, 1642663.332 774275.029 0, 1642949.085 774312.863 0,
+ 1643234.837 774350.714 0, 1643520.586 774388.582 0, 1643806.332 774426.467 0, 1644092.077 774464.369 0, 1644377.819 774502.287 0, 1644663.559 774540.222 0, 1644949.297 774578.174 0, 1645235.033 774616.143 0, 1645520.766 774654.129 0, 1645806.497 774692.131 0,
+ 1646092.226 774730.15 0, 1646377.953 774768.187 0, 1646663.678 774806.24 0, 1646949.4 774844.309 0, 1647235.12 774882.396 0, 1647520.837 774920.499 0, 1647806.553 774958.619 0, 1648092.266 774996.756 0, 1648376.698 775034.739 0, 1649114.347 769512.161 0,
+ 1649851.96 763989.851 0))
+
+POLYGON ((1662088.168 776885.894 0, 1661803.843 776847.107 0, 1661518.239 776808.163 0, 1661232.632 776769.236 0, 1660947.023 776730.325 0, 1660661.412 776691.431 0, 1660375.798 776652.555 0, 1660090.183 776613.695 0, 1659804.564 776574.851 0, 1659518.944 776536.025 0,
+ 1659233.321 776497.216 0, 1658947.696 776458.423 0, 1658662.069 776419.647 0, 1658376.44 776380.888 0, 1658090.808 776342.145 0, 1657805.174 776303.42 0, 1657519.538 776264.711 0, 1657233.899 776226.019 0, 1656948.258 776187.344 0, 1656662.615 776148.686 0,
+ 1656376.969 776110.044 0, 1656091.322 776071.42 0, 1655805.672 776032.812 0, 1655520.019 775994.221 0, 1655233.087 775955.474 0, 1654948.708 775917.089 0, 1654663.049 775878.549 0, 1654377.388 775840.025 0, 1654091.724 775801.518 0, 1653806.058 775763.028 0,
+ 1653520.39 775724.555 0, 1653234.72 775686.098 0, 1652949.047 775647.658 0, 1652663.372 775609.236 0, 1652377.695 775570.83 0, 1652092.015 775532.44 0, 1651806.334 775494.068 0, 1651520.65 775455.712 0, 1651234.963 775417.373 0, 1650949.275 775379.051 0,
+ 1650663.584 775340.746 0, 1650377.891 775302.458 0, 1650092.196 775264.186 0, 1649806.498 775225.932 0, 1649520.799 775187.694 0, 1649235.097 775149.473 0, 1648949.392 775111.268 0, 1648663.686 775073.081 0, 1648376.698 775034.739 0, 1647639.014 780557.584 0,
+ 1646901.294 786080.69 0, 1647187.629 786118.944 0, 1647472.686 786157.045 0, 1647757.74 786195.162 0, 1648042.792 786233.296 0, 1648327.841 786271.447 0, 1648612.889 786309.615 0, 1648897.934 786347.8 0, 1649182.977 786386.001 0, 1649468.017 786424.219 0,
+ 1649753.056 786462.454 0, 1650038.092 786500.705 0, 1650323.126 786538.973 0, 1650608.157 786577.259 0, 1650893.187 786615.56 0, 1651178.214 786653.879 0, 1651463.239 786692.215 0, 1651748.261 786730.567 0, 1652033.282 786768.936 0, 1652318.3 786807.322 0,
+ 1652603.316 786845.724 0, 1652888.329 786884.143 0, 1653173.341 786922.58 0, 1653458.35 786961.032 0, 1653742.081 786999.33 0, 1654028.361 787037.988 0, 1654313.363 787076.492 0, 1654598.363 787115.012 0, 1654883.361 787153.548 0, 1655168.356 787192.102 0,
+ 1655453.35 787230.672 0, 1655738.34 787269.259 0, 1656023.329 787307.863 0, 1656308.315 787346.484 0, 1656593.3 787385.121 0, 1656878.281 787423.775 0, 1657163.261 787462.446 0, 1657448.238 787501.134 0, 1657733.213 787539.838 0, 1658018.186 787578.56 0,
+ 1658303.156 787617.298 0, 1658588.124 787656.052 0, 1658873.09 787694.824 0, 1659158.054 787733.612 0, 1659443.015 787772.418 0, 1659727.974 787811.239 0, 1660012.931 787850.078 0, 1660297.885 787888.934 0, 1660581.564 787927.632 0, 1661334.884 782406.632 0,
+ 1662088.168 776885.894 0))
+
+POLYGON ((1193708.897 357395.729 0, 1193400.075 357384.39 0, 1193089.783 357373.016 0, 1192779.49 357361.661 0, 1192469.197 357350.323 0, 1192158.902 357339.004 0, 1191848.607 357327.703 0, 1191538.312 357316.42 0, 1191228.015 357305.156 0, 1190917.719 357293.91 0,
+ 1190607.421 357282.682 0, 1190297.123 357271.472 0, 1189986.824 357260.281 0, 1189676.524 357249.108 0, 1189366.224 357237.953 0, 1189055.923 357226.816 0, 1188745.621 357215.698 0, 1188435.319 357204.598 0, 1188125.016 357193.516 0, 1187814.713 357182.452 0,
+ 1187504.409 357171.407 0, 1187194.104 357160.38 0, 1186883.798 357149.371 0, 1186573.492 357138.381 0, 1186261.714 357127.357 0, 1185952.878 357116.455 0, 1185642.57 357105.519 0, 1185332.261 357094.602 0, 1185021.952 357083.702 0, 1184711.642 357072.822 0,
+ 1184401.332 357061.959 0, 1184091.02 357051.115 0, 1183780.708 357040.288 0, 1183470.396 357029.481 0, 1183160.083 357018.691 0, 1182849.769 357007.92 0, 1182539.455 356997.167 0, 1182229.139 356986.432 0, 1181918.824 356975.715 0, 1181608.507 356965.017 0,
+ 1181298.191 356954.337 0, 1180987.873 356943.675 0, 1180677.555 356933.032 0, 1180367.236 356922.407 0, 1180056.916 356911.8 0, 1179746.596 356901.211 0, 1179436.276 356890.641 0, 1179125.954 356880.089 0, 1178814.16 356869.505 0, 1178626.166 362412.563 0,
+ 1178438.155 367956.1 0, 1178749.295 367966.661 0, 1179058.963 367977.191 0, 1179368.631 367987.739 0, 1179678.299 367998.306 0, 1179987.966 368008.89 0, 1180297.632 368019.493 0, 1180607.298 368030.114 0, 1180916.963 368040.754 0, 1181226.627 368051.411 0,
+ 1181536.291 368062.087 0, 1181845.954 368072.781 0, 1182155.617 368083.493 0, 1182465.279 368094.223 0, 1182774.94 368104.972 0, 1183084.601 368115.739 0, 1183394.261 368126.524 0, 1183703.92 368137.327 0, 1184013.579 368148.149 0, 1184323.237 368158.989 0,
+ 1184632.894 368169.847 0, 1184942.551 368180.723 0, 1185252.207 368191.618 0, 1185561.863 368202.53 0, 1185870.049 368213.409 0, 1186181.172 368224.41 0, 1186490.826 368235.378 0, 1186800.479 368246.363 0, 1187110.131 368257.367 0, 1187419.783 368268.389 0,
+ 1187729.434 368279.429 0, 1188039.084 368290.488 0, 1188348.734 368301.565 0, 1188658.383 368312.659 0, 1188968.031 368323.773 0, 1189277.679 368334.904 0, 1189587.326 368346.054 0, 1189896.972 368357.222 0, 1190206.618 368368.408 0, 1190516.263 368379.612 0,
+ 1190825.908 368390.834 0, 1191135.552 368402.075 0, 1191445.195 368413.334 0, 1191754.837 368424.611 0, 1192064.479 368435.907 0, 1192374.12 368447.22 0, 1192683.761 368458.552 0, 1192993.4 368469.902 0, 1193301.572 368481.217 0, 1193505.243 362938.233 0,
+ 1193708.897 357395.729 0))
+
+POLYGON ((1208163.446 369048.324 0, 1207855.305 369036.139 0, 1207545.699 369023.914 0, 1207236.092 369011.707 0, 1206926.484 368999.519 0, 1206616.875 368987.349 0, 1206307.266 368975.197 0, 1205997.656 368963.063 0, 1205688.045 368950.947 0, 1205378.433 368938.85 0,
+ 1205068.821 368926.771 0, 1204759.208 368914.71 0, 1204449.594 368902.668 0, 1204139.98 368890.643 0, 1203830.365 368878.637 0, 1203520.749 368866.649 0, 1203211.133 368854.679 0, 1202901.516 368842.728 0, 1202591.898 368830.795 0, 1202282.279 368818.88 0,
+ 1201972.66 368806.983 0, 1201663.04 368795.104 0, 1201353.419 368783.244 0, 1201043.798 368771.402 0, 1200732.71 368759.522 0, 1200424.553 368747.772 0, 1200114.929 368735.985 0, 1199805.305 368724.215 0, 1199495.68 368712.464 0, 1199186.055 368700.731 0,
+ 1198876.429 368689.017 0, 1198566.802 368677.32 0, 1198257.174 368665.642 0, 1197947.546 368653.982 0, 1197637.917 368642.341 0, 1197328.287 368630.717 0, 1197018.657 368619.112 0, 1196709.026 368607.525 0, 1196399.394 368595.956 0, 1196089.762 368584.406 0,
+ 1195780.129 368572.873 0, 1195470.495 368561.359 0, 1195160.86 368549.863 0, 1194851.225 368538.386 0, 1194541.589 368526.926 0, 1194231.953 368515.485 0, 1193922.316 368504.062 0, 1193612.678 368492.657 0, 1193301.572 368481.217 0, 1193097.884 374024.676 0,
+ 1192894.178 379568.609 0, 1193204.628 379580.026 0, 1193513.613 379591.406 0, 1193822.598 379602.805 0, 1194131.582 379614.222 0, 1194440.565 379625.658 0, 1194749.547 379637.111 0, 1195058.529 379648.583 0, 1195367.51 379660.073 0, 1195676.491 379671.581 0,
+ 1195985.471 379683.107 0, 1196294.45 379694.651 0, 1196603.428 379706.214 0, 1196912.406 379717.795 0, 1197221.383 379729.394 0, 1197530.36 379741.011 0, 1197839.336 379752.646 0, 1198148.311 379764.3 0, 1198457.285 379775.971 0, 1198766.259 379787.661 0,
+ 1199075.232 379799.369 0, 1199384.204 379811.096 0, 1199693.176 379822.84 0, 1200002.146 379834.603 0, 1200309.654 379846.328 0, 1200620.086 379858.182 0, 1200929.055 379870 0, 1201238.023 379881.835 0, 1201546.991 379893.689 0, 1201855.957 379905.56 0,
+ 1202164.923 379917.45 0, 1202473.889 379929.358 0, 1202782.853 379941.285 0, 1203091.817 379953.229 0, 1203400.781 379965.192 0, 1203709.743 379977.173 0, 1204018.705 379989.172 0, 1204327.666 380001.189 0, 1204636.627 380013.224 0, 1204945.586 380025.278 0,
+ 1205254.545 380037.35 0, 1205563.503 380049.44 0, 1205872.461 380061.548 0, 1206181.418 380073.674 0, 1206490.374 380085.819 0, 1206799.329 380097.981 0, 1207108.284 380110.162 0, 1207417.238 380122.361 0, 1207724.73 380134.521 0, 1207944.098 374591.186 0,
+ 1208163.446 369048.324 0))
+
+POLYGON ((1222553.624 380742.329 0, 1222246.165 380729.301 0, 1221937.247 380716.229 0, 1221628.328 380703.176 0, 1221319.408 380690.14 0, 1221010.487 380677.123 0, 1220701.566 380664.124 0, 1220392.644 380651.143 0, 1220083.721 380638.18 0, 1219774.797 380625.235 0,
+ 1219465.873 380612.309 0, 1219156.948 380599.401 0, 1218848.022 380586.51 0, 1218539.095 380573.639 0, 1218230.168 380560.785 0, 1217921.24 380547.949 0, 1217612.311 380535.132 0, 1217303.381 380522.333 0, 1216994.45 380509.552 0, 1216685.519 380496.789 0,
+ 1216376.587 380484.045 0, 1216067.654 380471.318 0, 1215758.721 380458.61 0, 1215449.787 380445.92 0, 1215139.391 380433.188 0, 1214831.916 380420.594 0, 1214522.98 380407.959 0, 1214214.042 380395.342 0, 1213905.104 380382.743 0, 1213596.166 380370.162 0,
+ 1213287.226 380357.599 0, 1212978.286 380345.054 0, 1212669.345 380332.528 0, 1212360.404 380320.02 0, 1212051.461 380307.53 0, 1211742.518 380295.058 0, 1211433.574 380282.604 0, 1211124.63 380270.169 0, 1210815.685 380257.751 0, 1210506.738 380245.352 0,
+ 1210197.792 380232.971 0, 1209888.844 380220.609 0, 1209579.896 380208.264 0, 1209270.947 380195.938 0, 1208961.997 380183.63 0, 1208653.047 380171.34 0, 1208344.096 380159.068 0, 1208035.144 380146.814 0, 1207724.73 380134.521 0, 1207505.344 385678.326 0,
+ 1207285.939 391222.599 0, 1207595.697 391234.867 0, 1207903.996 391247.094 0, 1208212.295 391259.34 0, 1208520.593 391271.604 0, 1208828.89 391283.886 0, 1209137.186 391296.187 0, 1209445.482 391308.505 0, 1209753.777 391320.842 0, 1210062.071 391333.197 0,
+ 1210370.364 391345.569 0, 1210678.657 391357.961 0, 1210986.949 391370.37 0, 1211295.24 391382.797 0, 1211603.531 391395.243 0, 1211911.82 391407.706 0, 1212220.109 391420.188 0, 1212528.398 391432.688 0, 1212836.685 391445.206 0, 1213144.972 391457.742 0,
+ 1213453.258 391470.297 0, 1213761.544 391482.869 0, 1214069.828 391495.46 0, 1214378.112 391508.069 0, 1214684.938 391520.636 0, 1214994.678 391533.341 0, 1215302.959 391546.004 0, 1215611.24 391558.685 0, 1215919.52 391571.385 0, 1216227.8 391584.102 0,
+ 1216536.078 391596.838 0, 1216844.356 391609.592 0, 1217152.633 391622.364 0, 1217460.91 391635.154 0, 1217769.185 391647.963 0, 1218077.46 391660.789 0, 1218385.734 391673.634 0, 1218694.008 391686.497 0, 1219002.28 391699.378 0, 1219310.552 391712.277 0,
+ 1219618.823 391725.194 0, 1219927.094 391738.13 0, 1220235.363 391751.083 0, 1220543.632 391764.055 0, 1220851.9 391777.045 0, 1221160.167 391790.053 0, 1221468.434 391803.079 0, 1221776.7 391816.123 0, 1222083.509 391829.124 0, 1222318.576 386285.493 0,
+ 1222553.624 380742.329 0))
+
+POLYGON ((1307536.083 451759.494 0, 1307232.771 451741.486 0, 1306928.032 451723.412 0, 1306623.292 451705.356 0, 1306318.551 451687.318 0, 1306013.809 451669.297 0, 1305709.066 451651.295 0, 1305404.322 451633.311 0, 1305099.577 451615.344 0, 1304794.831 451597.395 0,
+ 1304490.083 451579.465 0, 1304185.335 451561.552 0, 1303880.586 451543.657 0, 1303575.835 451525.78 0, 1303271.084 451507.922 0, 1302966.331 451490.081 0, 1302661.578 451472.258 0, 1302356.823 451454.452 0, 1302052.067 451436.665 0, 1301747.311 451418.896 0,
+ 1301442.553 451401.145 0, 1301137.794 451383.411 0, 1300833.034 451365.696 0, 1300528.273 451347.999 0, 1300222.085 451330.236 0, 1299918.748 451312.657 0, 1299613.984 451295.014 0, 1299309.219 451277.388 0, 1299004.453 451259.78 0, 1298699.686 451242.19 0,
+ 1298394.918 451224.619 0, 1298090.148 451207.065 0, 1297785.378 451189.529 0, 1297480.607 451172.011 0, 1297175.835 451154.51 0, 1296871.061 451137.028 0, 1296566.287 451119.564 0, 1296261.511 451102.118 0, 1295956.735 451084.689 0, 1295651.958 451067.279 0,
+ 1295347.179 451049.886 0, 1295042.4 451032.512 0, 1294737.619 451015.155 0, 1294432.838 450997.816 0, 1294128.055 450980.496 0, 1293823.271 450963.193 0, 1293518.487 450945.908 0, 1293213.701 450928.641 0, 1292907.487 450911.311 0, 1292593.857 456456.014 0,
+ 1292280.202 462001.148 0, 1292585.761 462018.441 0, 1292889.894 462035.671 0, 1293194.026 462052.919 0, 1293498.156 462070.185 0, 1293802.286 462087.468 0, 1294106.415 462104.77 0, 1294410.543 462122.089 0, 1294714.67 462139.427 0, 1295018.796 462156.782 0,
+ 1295322.92 462174.155 0, 1295627.044 462191.546 0, 1295931.167 462208.955 0, 1296235.288 462226.382 0, 1296539.409 462243.827 0, 1296843.529 462261.29 0, 1297147.647 462278.77 0, 1297451.765 462296.269 0, 1297755.881 462313.785 0, 1298059.997 462331.319 0,
+ 1298364.111 462348.871 0, 1298668.225 462366.441 0, 1298972.337 462384.029 0, 1299276.448 462401.635 0, 1299579.135 462419.177 0, 1299884.668 462436.901 0, 1300188.776 462454.56 0, 1300492.884 462472.238 0, 1300796.99 462489.933 0, 1301101.095 462507.646 0,
+ 1301405.199 462525.378 0, 1301709.302 462543.127 0, 1302013.404 462560.894 0, 1302317.505 462578.678 0, 1302621.605 462596.481 0, 1302925.704 462614.302 0, 1303229.801 462632.14 0, 1303533.898 462649.997 0, 1303837.994 462667.871 0, 1304142.088 462685.763 0,
+ 1304446.182 462703.674 0, 1304750.275 462721.602 0, 1305054.366 462739.548 0, 1305358.457 462757.511 0, 1305662.546 462775.493 0, 1305966.634 462793.493 0, 1306270.721 462811.51 0, 1306574.808 462829.546 0, 1306877.471 462847.515 0, 1307206.79 457303.288 0,
+ 1307536.083 451759.494 0))
+
+POLYGON ((1321472.29 463735.117 0, 1321169.676 463716.293 0, 1320865.642 463697.399 0, 1320561.607 463678.522 0, 1320257.571 463659.664 0, 1319953.534 463640.823 0, 1319649.495 463622 0, 1319345.455 463603.195 0, 1319041.415 463584.408 0, 1318737.373 463565.639 0,
+ 1318433.33 463546.887 0, 1318129.286 463528.154 0, 1317825.241 463509.439 0, 1317521.195 463490.741 0, 1317217.148 463472.061 0, 1316913.099 463453.399 0, 1316609.05 463434.755 0, 1316304.999 463416.129 0, 1316000.947 463397.521 0, 1315696.895 463378.931 0,
+ 1315392.841 463360.359 0, 1315088.786 463341.804 0, 1314784.73 463323.268 0, 1314480.673 463304.749 0, 1314175.193 463286.162 0, 1313872.555 463267.765 0, 1313568.495 463249.3 0, 1313264.433 463230.853 0, 1312960.371 463212.424 0, 1312656.307 463194.013 0,
+ 1312352.242 463175.62 0, 1312048.176 463157.244 0, 1311744.109 463138.887 0, 1311440.041 463120.547 0, 1311135.972 463102.225 0, 1310831.902 463083.921 0, 1310527.831 463065.635 0, 1310223.759 463047.367 0, 1309919.685 463029.117 0, 1309615.611 463010.885 0,
+ 1309311.535 462992.67 0, 1309007.459 462974.474 0, 1308703.381 462956.295 0, 1308399.302 462938.134 0, 1308095.223 462919.991 0, 1307791.142 462901.867 0, 1307487.06 462883.759 0, 1307182.977 462865.67 0, 1306877.471 462847.515 0, 1306548.126 468392.17 0,
+ 1306218.756 473937.251 0, 1306523.606 473955.368 0, 1306827.037 473973.418 0, 1307130.466 473991.486 0, 1307433.894 474009.572 0, 1307737.321 474027.676 0, 1308040.747 474045.798 0, 1308344.172 474063.937 0, 1308647.596 474082.095 0, 1308951.019 474100.27 0,
+ 1309254.44 474118.463 0, 1309557.861 474136.674 0, 1309861.281 474154.903 0, 1310164.699 474173.15 0, 1310468.117 474191.415 0, 1310771.533 474209.697 0, 1311074.948 474227.997 0, 1311378.363 474246.316 0, 1311681.776 474264.652 0, 1311985.188 474283.006 0,
+ 1312288.599 474301.377 0, 1312592.009 474319.767 0, 1312895.418 474338.174 0, 1313198.825 474356.6 0, 1313500.814 474374.957 0, 1313805.638 474393.504 0, 1314109.042 474411.983 0, 1314412.445 474430.48 0, 1314715.848 474448.994 0, 1315019.249 474467.527 0,
+ 1315322.649 474486.077 0, 1315626.048 474504.645 0, 1315929.446 474523.231 0, 1316232.843 474541.835 0, 1316536.239 474560.457 0, 1316839.633 474579.097 0, 1317143.027 474597.754 0, 1317446.419 474616.429 0, 1317749.811 474635.123 0, 1318053.201 474653.834 0,
+ 1318356.59 474672.563 0, 1318659.978 474691.309 0, 1318963.365 474710.074 0, 1319266.751 474728.856 0, 1319570.136 474747.657 0, 1319873.519 474766.475 0, 1320176.902 474785.311 0, 1320480.283 474804.165 0, 1320782.247 474822.948 0, 1321127.281 469278.82 0,
+ 1321472.29 463735.117 0))
+
+POLYGON ((1335343.178 475749.787 0, 1335041.266 475730.15 0, 1334737.939 475710.439 0, 1334434.611 475690.746 0, 1334131.282 475671.071 0, 1333827.951 475651.414 0, 1333524.62 475631.774 0, 1333221.287 475612.152 0, 1332917.953 475592.549 0, 1332614.618 475572.963 0,
+ 1332311.282 475553.395 0, 1332007.944 475533.844 0, 1331704.606 475514.312 0, 1331401.266 475494.797 0, 1331097.926 475475.301 0, 1330794.584 475455.822 0, 1330491.241 475436.361 0, 1330187.896 475416.918 0, 1329884.551 475397.492 0, 1329581.204 475378.085 0,
+ 1329277.857 475358.695 0, 1328974.508 475339.324 0, 1328671.158 475319.97 0, 1328367.807 475300.634 0, 1328063.04 475281.226 0, 1327761.102 475262.015 0, 1327457.747 475242.733 0, 1327154.391 475223.468 0, 1326851.035 475204.222 0, 1326547.677 475184.993 0,
+ 1326244.318 475165.782 0, 1325940.958 475146.589 0, 1325637.596 475127.413 0, 1325334.234 475108.256 0, 1325030.871 475089.116 0, 1324727.506 475069.994 0, 1324424.14 475050.891 0, 1324120.773 475031.805 0, 1323817.405 475012.736 0, 1323514.036 474993.686 0,
+ 1323210.666 474974.654 0, 1322907.294 474955.639 0, 1322603.922 474936.642 0, 1322300.548 474917.663 0, 1321997.174 474898.702 0, 1321693.798 474879.759 0, 1321390.421 474860.834 0, 1321087.043 474841.926 0, 1320782.247 474822.948 0, 1320437.186 480367.5 0,
+ 1320092.099 485912.471 0, 1320396.239 485931.408 0, 1320698.964 485950.274 0, 1321001.689 485969.159 0, 1321304.412 485988.061 0, 1321607.134 486006.982 0, 1321909.855 486025.92 0, 1322212.575 486044.876 0, 1322515.293 486063.849 0, 1322818.011 486082.841 0,
+ 1323120.727 486101.85 0, 1323423.443 486120.877 0, 1323726.157 486139.922 0, 1324028.87 486158.985 0, 1324331.582 486178.066 0, 1324634.293 486197.164 0, 1324937.002 486216.28 0, 1325239.711 486235.414 0, 1325542.419 486254.566 0, 1325845.125 486273.736 0,
+ 1326147.83 486292.924 0, 1326450.534 486312.129 0, 1326753.237 486331.352 0, 1327055.939 486350.593 0, 1327357.227 486369.762 0, 1327661.339 486389.128 0, 1327964.038 486408.423 0, 1328266.735 486427.735 0, 1328569.431 486447.065 0, 1328872.126 486466.413 0,
+ 1329174.82 486485.778 0, 1329477.513 486505.162 0, 1329780.204 486524.563 0, 1330082.895 486543.982 0, 1330385.584 486563.419 0, 1330688.272 486582.874 0, 1330990.959 486602.347 0, 1331293.645 486621.837 0, 1331596.33 486641.345 0, 1331899.013 486660.871 0,
+ 1332201.696 486680.415 0, 1332504.377 486699.977 0, 1332807.057 486719.556 0, 1333109.736 486739.153 0, 1333412.414 486758.768 0, 1333715.09 486778.401 0, 1334017.766 486798.052 0, 1334320.44 486817.721 0, 1334621.703 486837.315 0, 1334982.454 481293.341 0,
+ 1335343.178 475749.787 0))
+
+POLYGON ((1349148.635 487803.205 0, 1348847.427 487782.759 0, 1348544.81 487762.235 0, 1348242.191 487741.73 0, 1347939.571 487721.242 0, 1347636.95 487700.772 0, 1347334.327 487680.319 0, 1347031.704 487659.885 0, 1346729.079 487639.468 0, 1346426.453 487619.069 0,
+ 1346123.826 487598.688 0, 1345821.197 487578.325 0, 1345518.568 487557.979 0, 1345215.937 487537.652 0, 1344913.305 487517.342 0, 1344610.672 487497.05 0, 1344308.038 487476.776 0, 1344005.402 487456.519 0, 1343702.765 487436.281 0, 1343400.127 487416.06 0,
+ 1343097.488 487395.857 0, 1342794.848 487375.672 0, 1342492.206 487355.505 0, 1342189.564 487335.355 0, 1341885.51 487315.13 0, 1341584.275 487295.11 0, 1341281.628 487275.014 0, 1340978.981 487254.935 0, 1340676.332 487234.875 0, 1340373.683 487214.832 0,
+ 1340071.032 487194.807 0, 1339768.379 487174.8 0, 1339465.726 487154.811 0, 1339163.072 487134.84 0, 1338860.416 487114.886 0, 1338557.759 487094.951 0, 1338255.101 487075.033 0, 1337952.442 487055.133 0, 1337649.781 487035.25 0, 1337347.12 487015.386 0,
+ 1337044.457 486995.539 0, 1336741.793 486975.71 0, 1336439.128 486955.899 0, 1336136.462 486936.106 0, 1335833.795 486916.33 0, 1335531.126 486896.573 0, 1335228.456 486876.833 0, 1334925.786 486857.111 0, 1334621.703 486837.315 0, 1334260.924 492381.706 0,
+ 1333900.119 497926.51 0, 1334203.546 497946.263 0, 1334505.564 497965.943 0, 1334807.581 497985.64 0, 1335109.597 498005.355 0, 1335411.612 498025.088 0, 1335713.626 498044.838 0, 1336015.638 498064.607 0, 1336317.649 498084.393 0, 1336619.659 498104.197 0,
+ 1336921.668 498124.018 0, 1337223.676 498143.858 0, 1337525.682 498163.715 0, 1337827.688 498183.59 0, 1338129.692 498203.483 0, 1338431.695 498223.393 0, 1338733.697 498243.321 0, 1339035.697 498263.268 0, 1339337.697 498283.231 0, 1339639.695 498303.213 0,
+ 1339941.692 498323.212 0, 1340243.688 498343.23 0, 1340545.683 498363.265 0, 1340847.677 498383.317 0, 1341148.263 498403.294 0, 1341451.661 498423.476 0, 1341753.651 498443.582 0, 1342055.64 498463.706 0, 1342357.627 498483.848 0, 1342659.614 498504.007 0,
+ 1342961.599 498524.184 0, 1343263.583 498544.379 0, 1343565.566 498564.592 0, 1343867.548 498584.822 0, 1344169.529 498605.07 0, 1344471.508 498625.336 0, 1344773.486 498645.62 0, 1345075.463 498665.922 0, 1345377.439 498686.241 0, 1345679.414 498706.578 0,
+ 1345981.387 498726.933 0, 1346283.359 498747.306 0, 1346585.33 498767.696 0, 1346887.3 498788.105 0, 1347189.269 498808.53 0, 1347491.236 498828.974 0, 1347793.202 498849.436 0, 1348095.167 498869.915 0, 1348395.726 498890.317 0, 1348772.194 493346.554 0,
+ 1349148.635 487803.205 0))
+
+POLYGON ((1362888.551 499895.072 0, 1362588.05 499873.821 0, 1362286.144 499852.489 0, 1361984.236 499831.175 0, 1361682.328 499809.878 0, 1361380.418 499788.599 0, 1361078.507 499767.337 0, 1360776.595 499746.094 0, 1360474.682 499724.868 0, 1360172.767 499703.66 0,
+ 1359870.851 499682.47 0, 1359568.934 499661.298 0, 1359267.015 499640.143 0, 1358965.096 499619.006 0, 1358663.175 499597.887 0, 1358361.253 499576.786 0, 1358059.329 499555.702 0, 1357757.405 499534.637 0, 1357455.479 499513.589 0, 1357153.552 499492.558 0,
+ 1356851.623 499471.546 0, 1356549.694 499450.551 0, 1356247.763 499429.574 0, 1355945.831 499408.615 0, 1355642.493 499387.576 0, 1355341.963 499366.75 0, 1355040.027 499345.844 0, 1354738.09 499324.956 0, 1354436.152 499304.086 0, 1354134.212 499283.233 0,
+ 1353832.272 499262.399 0, 1353530.33 499241.582 0, 1353228.387 499220.782 0, 1352926.442 499200.001 0, 1352624.497 499179.237 0, 1352322.55 499158.491 0, 1352020.602 499137.763 0, 1351718.653 499117.053 0, 1351416.702 499096.36 0, 1351114.751 499075.686 0,
+ 1350812.798 499055.029 0, 1350510.844 499034.389 0, 1350208.888 499013.768 0, 1349906.932 498993.164 0, 1349604.974 498972.578 0, 1349303.015 498952.01 0, 1349001.055 498931.46 0, 1348699.094 498910.927 0, 1348395.726 498890.317 0, 1348019.229 504434.49 0,
+ 1347642.704 509979.071 0, 1347945.417 509999.637 0, 1348246.725 510020.125 0, 1348548.033 510040.631 0, 1348849.339 510061.155 0, 1349150.644 510081.696 0, 1349451.948 510102.255 0, 1349753.251 510122.832 0, 1350054.552 510143.427 0, 1350355.853 510164.039 0,
+ 1350657.152 510184.669 0, 1350958.449 510205.317 0, 1351259.746 510225.983 0, 1351561.041 510246.666 0, 1351862.336 510267.367 0, 1352163.629 510288.086 0, 1352464.92 510308.822 0, 1352766.211 510329.577 0, 1353067.5 510350.349 0, 1353368.788 510371.138 0,
+ 1353670.075 510391.946 0, 1353971.361 510412.771 0, 1354272.645 510433.614 0, 1354573.928 510454.475 0, 1354873.809 510475.256 0, 1355176.491 510496.249 0, 1355477.77 510517.163 0, 1355779.049 510538.095 0, 1356080.326 510559.044 0, 1356381.601 510580.011 0,
+ 1356682.876 510600.996 0, 1356984.149 510621.998 0, 1357285.421 510643.018 0, 1357586.692 510664.056 0, 1357887.962 510685.112 0, 1358189.23 510706.186 0, 1358490.497 510727.277 0, 1358791.763 510748.386 0, 1359093.028 510769.512 0, 1359394.291 510790.657 0,
+ 1359695.553 510811.819 0, 1359996.814 510832.999 0, 1360298.074 510854.196 0, 1360599.332 510875.411 0, 1360900.589 510896.644 0, 1361201.845 510917.895 0, 1361503.1 510939.164 0, 1361804.353 510960.45 0, 1362104.206 510981.655 0, 1362496.393 505438.16 0,
+ 1362888.551 499895.072 0))
+
+POLYGON ((1376562.816 512025.091 0, 1376263.023 512003.039 0, 1375961.831 511980.902 0, 1375660.637 511958.782 0, 1375359.443 511936.68 0, 1375058.247 511914.596 0, 1374757.05 511892.53 0, 1374455.851 511870.481 0, 1374154.651 511848.451 0, 1373853.45 511826.437 0,
+ 1373552.248 511804.442 0, 1373251.044 511782.464 0, 1372949.839 511760.504 0, 1372648.632 511738.562 0, 1372347.425 511716.638 0, 1372046.216 511694.731 0, 1371745.006 511672.842 0, 1371443.794 511650.971 0, 1371142.582 511629.117 0, 1370841.367 511607.281 0,
+ 1370540.152 511585.463 0, 1370238.936 511563.663 0, 1369937.718 511541.88 0, 1369636.498 511520.115 0, 1369333.88 511498.267 0, 1369034.056 511476.638 0, 1368732.833 511454.927 0, 1368431.609 511433.233 0, 1368130.383 511411.556 0, 1367829.156 511389.898 0,
+ 1367527.928 511368.257 0, 1367226.699 511346.634 0, 1366925.468 511325.028 0, 1366624.236 511303.441 0, 1366323.003 511281.871 0, 1366021.769 511260.319 0, 1365720.533 511238.784 0, 1365419.296 511217.268 0, 1365118.058 511195.769 0, 1364816.818 511174.287 0,
+ 1364515.577 511152.824 0, 1364214.335 511131.378 0, 1363913.092 511109.95 0, 1363611.847 511088.54 0, 1363310.601 511067.147 0, 1363009.354 511045.772 0, 1362708.106 511024.415 0, 1362406.856 511003.076 0, 1362104.206 510981.655 0, 1361711.99 516525.554 0,
+ 1361319.745 522069.855 0, 1361621.74 522091.229 0, 1361922.337 522112.522 0, 1362222.933 522133.833 0, 1362523.527 522155.162 0, 1362824.121 522176.508 0, 1363124.713 522197.872 0, 1363425.303 522219.254 0, 1363725.893 522240.653 0, 1364026.481 522262.07 0,
+ 1364327.068 522283.505 0, 1364627.654 522304.957 0, 1364928.238 522326.427 0, 1365228.821 522347.915 0, 1365529.403 522369.421 0, 1365829.984 522390.944 0, 1366130.563 522412.485 0, 1366431.141 522434.043 0, 1366731.718 522455.619 0, 1367032.294 522477.213 0,
+ 1367332.868 522498.825 0, 1367633.441 522520.454 0, 1367934.013 522542.101 0, 1368234.583 522563.766 0, 1368533.757 522585.348 0, 1368835.72 522607.149 0, 1369136.287 522628.866 0, 1369436.852 522650.602 0, 1369737.416 522672.355 0, 1370037.979 522694.126 0,
+ 1370338.541 522715.914 0, 1370639.101 522737.721 0, 1370939.66 522759.545 0, 1371240.217 522781.386 0, 1371540.774 522803.246 0, 1371841.329 522825.123 0, 1372141.883 522847.017 0, 1372442.435 522868.93 0, 1372742.986 522890.86 0, 1373043.536 522912.807 0,
+ 1373344.085 522934.773 0, 1373644.632 522956.756 0, 1373945.178 522978.757 0, 1374245.723 523000.775 0, 1374546.266 523022.812 0, 1374846.809 523044.865 0, 1375147.349 523066.937 0, 1375447.889 523089.026 0, 1375747.033 523111.031 0, 1376154.94 517567.86 0,
+ 1376562.816 512025.091 0))
+
+POLYGON ((1390171.322 524192.962 0, 1389872.239 524170.112 0, 1389571.763 524147.174 0, 1389271.286 524124.253 0, 1388970.807 524101.351 0, 1388670.327 524078.465 0, 1388369.846 524055.598 0, 1388069.363 524032.748 0, 1387768.879 524009.916 0, 1387468.394 523987.101 0,
+ 1387167.907 523964.305 0, 1386867.419 523941.526 0, 1386566.929 523918.764 0, 1386266.439 523896.02 0, 1385965.947 523873.294 0, 1385665.453 523850.586 0, 1385364.958 523827.895 0, 1385064.462 523805.222 0, 1384763.965 523782.567 0, 1384463.466 523759.93 0,
+ 1384162.966 523737.31 0, 1383862.465 523714.707 0, 1383561.962 523692.123 0, 1383261.458 523669.556 0, 1382959.56 523646.902 0, 1382660.446 523624.475 0, 1382359.938 523601.962 0, 1382059.428 523579.465 0, 1381758.918 523556.987 0, 1381458.406 523534.526 0,
+ 1381157.892 523512.083 0, 1380857.378 523489.658 0, 1380556.862 523467.25 0, 1380256.344 523444.86 0, 1379955.826 523422.488 0, 1379655.306 523400.133 0, 1379354.784 523377.797 0, 1379054.262 523355.477 0, 1378753.738 523333.176 0, 1378453.213 523310.892 0,
+ 1378152.686 523288.626 0, 1377852.159 523266.377 0, 1377551.629 523244.146 0, 1377251.099 523221.933 0, 1376950.567 523199.738 0, 1376650.034 523177.56 0, 1376349.5 523155.4 0, 1376048.964 523133.258 0, 1375747.033 523111.031 0, 1375339.097 528654.599 0,
+ 1374931.133 534198.563 0, 1375232.408 534220.742 0, 1375532.291 534242.836 0, 1375832.173 534264.948 0, 1376132.053 534287.078 0, 1376431.932 534309.225 0, 1376731.81 534331.39 0, 1377031.687 534353.572 0, 1377331.562 534375.772 0, 1377631.436 534397.99 0,
+ 1377931.309 534420.226 0, 1378231.18 534442.479 0, 1378531.05 534464.75 0, 1378830.919 534487.038 0, 1379130.786 534509.344 0, 1379430.652 534531.668 0, 1379730.517 534554.009 0, 1380030.38 534576.368 0, 1380330.242 534598.745 0, 1380630.103 534621.139 0,
+ 1380929.963 534643.551 0, 1381229.821 534665.981 0, 1381529.678 534688.428 0, 1381829.533 534710.893 0, 1382127.998 534733.271 0, 1382429.24 534755.875 0, 1382729.092 534778.393 0, 1383028.942 534800.929 0, 1383328.791 534823.482 0, 1383628.639 534846.053 0,
+ 1383928.485 534868.641 0, 1384228.33 534891.247 0, 1384528.173 534913.871 0, 1384828.016 534936.512 0, 1385127.857 534959.171 0, 1385427.696 534981.848 0, 1385727.534 535004.543 0, 1386027.371 535027.254 0, 1386327.207 535049.984 0, 1386627.041 535072.731 0,
+ 1386926.874 535095.496 0, 1387226.706 535118.279 0, 1387526.536 535141.079 0, 1387826.365 535163.897 0, 1388126.192 535186.732 0, 1388426.018 535209.586 0, 1388725.843 535232.456 0, 1389025.667 535255.345 0, 1389324.1 535278.145 0, 1389747.726 529735.356 0,
+ 1390171.322 524192.962 0))
+
+POLYGON ((1403713.961 536398.385 0, 1403415.59 536374.742 0, 1403115.833 536351.007 0, 1402816.074 536327.289 0, 1402516.313 536303.589 0, 1402216.551 536279.906 0, 1401916.788 536256.241 0, 1401617.024 536232.594 0, 1401317.258 536208.965 0, 1401017.49 536185.353 0,
+ 1400717.721 536161.758 0, 1400417.951 536138.182 0, 1400118.18 536114.623 0, 1399818.407 536091.082 0, 1399518.632 536067.558 0, 1399218.857 536044.052 0, 1398919.08 536020.563 0, 1398619.301 535997.093 0, 1398319.521 535973.639 0, 1398019.74 535950.204 0,
+ 1397719.957 535926.786 0, 1397420.173 535903.386 0, 1397120.388 535880.003 0, 1396820.601 535856.639 0, 1396519.426 535833.183 0, 1396221.024 535809.962 0, 1395921.233 535786.65 0, 1395621.441 535763.355 0, 1395321.647 535740.079 0, 1395021.852 535716.82 0,
+ 1394722.056 535693.578 0, 1394422.258 535670.355 0, 1394122.459 535647.149 0, 1393822.659 535623.96 0, 1393522.857 535600.789 0, 1393223.054 535577.636 0, 1392923.249 535554.501 0, 1392623.443 535531.383 0, 1392323.636 535508.283 0, 1392023.827 535485.2 0,
+ 1391724.017 535462.135 0, 1391424.206 535439.088 0, 1391124.393 535416.058 0, 1390824.579 535393.046 0, 1390524.764 535370.052 0, 1390224.947 535347.075 0, 1389925.129 535324.116 0, 1389625.31 535301.175 0, 1389324.1 535278.145 0, 1388900.444 540821.326 0,
+ 1388476.759 546364.896 0, 1388777.313 546387.875 0, 1389076.48 546410.767 0, 1389375.645 546433.676 0, 1389674.809 546456.602 0, 1389973.972 546479.547 0, 1390273.134 546502.509 0, 1390572.294 546525.488 0, 1390871.453 546548.485 0, 1391170.61 546571.5 0,
+ 1391469.766 546594.532 0, 1391768.921 546617.582 0, 1392068.074 546640.65 0, 1392367.226 546663.735 0, 1392666.377 546686.838 0, 1392965.526 546709.958 0, 1393264.674 546733.096 0, 1393563.821 546756.252 0, 1393862.966 546779.425 0, 1394162.11 546802.616 0,
+ 1394461.252 546825.824 0, 1394760.393 546849.05 0, 1395059.533 546872.294 0, 1395358.672 546895.555 0, 1395656.424 546918.726 0, 1395956.944 546942.13 0, 1396256.079 546965.444 0, 1396555.211 546988.776 0, 1396854.343 547012.125 0, 1397153.473 547035.492 0,
+ 1397452.602 547058.876 0, 1397751.729 547082.278 0, 1398050.855 547105.698 0, 1398349.98 547129.135 0, 1398649.103 547152.59 0, 1398948.225 547176.063 0, 1399247.346 547199.553 0, 1399546.465 547223.061 0, 1399845.582 547246.586 0, 1400144.699 547270.129 0,
+ 1400443.814 547293.689 0, 1400742.927 547317.268 0, 1401042.039 547340.863 0, 1401341.15 547364.477 0, 1401640.26 547388.108 0, 1401939.368 547411.756 0, 1402238.474 547435.422 0, 1402537.58 547459.106 0, 1402835.301 547482.698 0, 1403274.646 541940.347 0,
+ 1403713.961 536398.385 0))
+
+POLYGON ((1417190.627 548641.061 0, 1416892.971 548616.628 0, 1416593.934 548592.099 0, 1416294.896 548567.588 0, 1415995.856 548543.095 0, 1415696.814 548518.619 0, 1415397.771 548494.161 0, 1415098.727 548469.72 0, 1414799.681 548445.297 0, 1414500.634 548420.891 0,
+ 1414201.585 548396.503 0, 1413902.535 548372.133 0, 1413603.484 548347.781 0, 1413304.431 548323.445 0, 1413005.377 548299.128 0, 1412706.321 548274.828 0, 1412407.263 548250.546 0, 1412108.205 548226.281 0, 1411809.145 548202.034 0, 1411510.083 548177.805 0,
+ 1411211.02 548153.593 0, 1410911.956 548129.398 0, 1410612.89 548105.222 0, 1410313.823 548081.063 0, 1410013.373 548056.81 0, 1409715.684 548032.797 0, 1409416.613 548008.691 0, 1409117.54 547984.603 0, 1408818.466 547960.532 0, 1408519.39 547936.478 0,
+ 1408220.313 547912.442 0, 1407921.234 547888.424 0, 1407622.154 547864.423 0, 1407323.073 547840.44 0, 1407023.99 547816.475 0, 1406724.906 547792.527 0, 1406425.82 547768.597 0, 1406126.733 547744.684 0, 1405827.645 547720.789 0, 1405528.555 547696.912 0,
+ 1405229.464 547673.052 0, 1404930.371 547649.21 0, 1404631.277 547625.385 0, 1404332.182 547601.578 0, 1404033.085 547577.789 0, 1403733.986 547554.017 0, 1403434.887 547530.263 0, 1403135.786 547506.526 0, 1402835.301 547482.698 0, 1402395.924 553025.434 0,
+ 1401956.518 558568.553 0, 1402256.348 558592.329 0, 1402554.796 558616.014 0, 1402853.244 558639.717 0, 1403151.689 558663.436 0, 1403450.134 558687.174 0, 1403748.577 558710.929 0, 1404047.018 558734.702 0, 1404345.458 558758.492 0, 1404643.897 558782.3 0,
+ 1404942.335 558806.125 0, 1405240.771 558829.968 0, 1405539.205 558853.828 0, 1405837.638 558877.706 0, 1406136.07 558901.602 0, 1406434.5 558925.515 0, 1406732.929 558949.446 0, 1407031.357 558973.394 0, 1407329.783 558997.36 0, 1407628.208 559021.343 0,
+ 1407926.631 559045.344 0, 1408225.053 559069.363 0, 1408523.473 559093.399 0, 1408821.892 559117.452 0, 1409118.931 559141.412 0, 1409418.726 559165.612 0, 1409717.141 559189.719 0, 1410015.554 559213.843 0, 1410313.966 559237.984 0, 1410612.377 559262.143 0,
+ 1410910.786 559286.32 0, 1411209.194 559310.514 0, 1411507.6 559334.726 0, 1411806.005 559358.955 0, 1412104.408 559383.202 0, 1412402.81 559407.466 0, 1412701.211 559431.748 0, 1412999.61 559456.048 0, 1413298.008 559480.365 0, 1413596.404 559504.7 0,
+ 1413894.799 559529.052 0, 1414193.192 559553.422 0, 1414491.584 559577.809 0, 1414789.975 559602.214 0, 1415088.364 559626.637 0, 1415386.751 559651.077 0, 1415685.138 559675.534 0, 1415983.522 559700.009 0, 1416280.528 559724.389 0, 1416735.593 554182.534 0,
+ 1417190.627 548641.061 0))
+
+POLYGON ((1430601.216 560920.689 0, 1430304.278 560895.47 0, 1430005.963 560870.152 0, 1429707.647 560844.851 0, 1429409.33 560819.568 0, 1429111.011 560794.303 0, 1428812.691 560769.055 0, 1428514.369 560743.825 0, 1428216.045 560718.612 0, 1427917.721 560693.417 0,
+ 1427619.394 560668.239 0, 1427321.066 560643.079 0, 1427022.737 560617.937 0, 1426724.406 560592.812 0, 1426426.074 560567.704 0, 1426127.74 560542.615 0, 1425829.405 560517.542 0, 1425531.069 560492.488 0, 1425232.73 560467.451 0, 1424934.391 560442.431 0,
+ 1424636.05 560417.429 0, 1424337.707 560392.445 0, 1424039.363 560367.478 0, 1423741.018 560342.528 0, 1423441.295 560317.482 0, 1423144.322 560292.682 0, 1422845.972 560267.786 0, 1422547.621 560242.907 0, 1422249.268 560218.045 0, 1421950.914 560193.201 0,
+ 1421652.558 560168.375 0, 1421354.201 560143.566 0, 1421055.842 560118.774 0, 1420757.482 560094.001 0, 1420459.12 560069.245 0, 1420160.757 560044.506 0, 1419862.393 560019.785 0, 1419564.027 559995.081 0, 1419265.659 559970.396 0, 1418967.291 559945.727 0,
+ 1418668.92 559921.076 0, 1418370.549 559896.443 0, 1418072.175 559871.827 0, 1417773.801 559847.229 0, 1417475.425 559822.649 0, 1417177.047 559798.086 0, 1416878.668 559773.54 0, 1416580.288 559749.012 0, 1416280.528 559724.389 0, 1415825.432 565266.624 0,
+ 1415370.305 570809.234 0, 1415669.409 570833.804 0, 1415967.137 570858.278 0, 1416264.864 570882.77 0, 1416562.589 570907.279 0, 1416860.312 570931.806 0, 1417158.035 570956.35 0, 1417455.756 570980.912 0, 1417753.475 571005.492 0, 1418051.193 571030.088 0,
+ 1418348.909 571054.703 0, 1418646.624 571079.335 0, 1418944.338 571103.984 0, 1419242.05 571128.651 0, 1419539.761 571153.336 0, 1419837.47 571178.038 0, 1420135.178 571202.757 0, 1420432.884 571227.495 0, 1420730.589 571252.249 0, 1421028.292 571277.021 0,
+ 1421325.994 571301.811 0, 1421623.695 571326.618 0, 1421921.394 571351.443 0, 1422219.091 571376.285 0, 1422515.414 571401.03 0, 1422814.482 571426.022 0, 1423112.175 571450.917 0, 1423409.867 571475.829 0, 1423707.557 571500.759 0, 1424005.246 571525.706 0,
+ 1424302.933 571550.671 0, 1424600.619 571575.653 0, 1424898.303 571600.653 0, 1425195.986 571625.671 0, 1425493.667 571650.706 0, 1425791.347 571675.758 0, 1426089.026 571700.828 0, 1426386.703 571725.916 0, 1426684.378 571751.021 0, 1426982.052 571776.143 0,
+ 1427279.725 571801.283 0, 1427577.396 571826.441 0, 1427875.065 571851.616 0, 1428172.733 571876.809 0, 1428470.4 571902.019 0, 1428768.065 571927.247 0, 1429065.729 571952.492 0, 1429363.391 571977.755 0, 1429659.68 572002.918 0, 1430130.464 566461.615 0,
+ 1430601.216 560920.689 0))
+
+POLYGON ((1443945.625 573236.967 0, 1443649.406 573210.967 0, 1443351.816 573184.863 0, 1443054.225 573158.777 0, 1442756.633 573132.708 0, 1442459.038 573106.657 0, 1442161.443 573080.624 0, 1441863.845 573054.608 0, 1441566.247 573028.609 0, 1441268.646 573002.628 0,
+ 1440971.045 572976.665 0, 1440673.441 572950.719 0, 1440375.836 572924.791 0, 1440078.23 572898.88 0, 1439780.622 572872.986 0, 1439483.012 572847.111 0, 1439185.401 572821.252 0, 1438887.789 572795.411 0, 1438590.175 572769.588 0, 1438292.559 572743.782 0,
+ 1437994.942 572717.994 0, 1437697.324 572692.223 0, 1437399.703 572666.47 0, 1437102.082 572640.734 0, 1436803.088 572614.898 0, 1436506.834 572589.315 0, 1436209.208 572563.632 0, 1435911.58 572537.967 0, 1435613.951 572512.318 0, 1435316.32 572486.688 0,
+ 1435018.688 572461.075 0, 1434721.054 572435.479 0, 1434423.419 572409.901 0, 1434125.782 572384.341 0, 1433828.144 572358.798 0, 1433530.504 572333.272 0, 1433232.863 572307.764 0, 1432935.22 572282.274 0, 1432637.576 572256.801 0, 1432339.93 572231.345 0,
+ 1432042.283 572205.907 0, 1431744.634 572180.487 0, 1431446.984 572155.084 0, 1431149.333 572129.699 0, 1430851.679 572104.331 0, 1430554.025 572078.981 0, 1430256.368 572053.648 0, 1429958.711 572028.333 0, 1429659.68 572002.918 0, 1429188.864 577544.594 0,
+ 1428718.017 583086.64 0, 1429016.393 583111.998 0, 1429313.398 583137.258 0, 1429610.402 583162.535 0, 1429907.404 583187.83 0, 1430204.405 583213.142 0, 1430501.404 583238.472 0, 1430798.402 583263.819 0, 1431095.399 583289.184 0, 1431392.393 583314.566 0,
+ 1431689.387 583339.966 0, 1431986.379 583365.383 0, 1432283.369 583390.817 0, 1432580.358 583416.269 0, 1432877.346 583441.739 0, 1433174.331 583467.226 0, 1433471.316 583492.73 0, 1433768.299 583518.252 0, 1434065.28 583543.792 0, 1434362.26 583569.349 0,
+ 1434659.238 583594.923 0, 1434956.215 583620.515 0, 1435253.191 583646.125 0, 1435550.165 583671.752 0, 1435845.77 583697.278 0, 1436144.108 583723.058 0, 1436441.077 583748.737 0, 1436738.045 583774.434 0, 1437035.011 583800.148 0, 1437331.976 583825.88 0,
+ 1437628.939 583851.629 0, 1437925.901 583877.396 0, 1438222.862 583903.18 0, 1438519.82 583928.982 0, 1438816.777 583954.801 0, 1439113.733 583980.637 0, 1439410.687 584006.492 0, 1439707.64 584032.363 0, 1440004.591 584058.252 0, 1440301.541 584084.159 0,
+ 1440598.489 584110.083 0, 1440895.435 584136.024 0, 1441192.38 584161.983 0, 1441489.324 584187.96 0, 1441786.266 584213.954 0, 1442083.206 584239.965 0, 1442380.145 584265.994 0, 1442677.083 584292.04 0, 1442972.653 584317.984 0, 1443459.155 578777.291 0,
+ 1443945.625 573236.967 0))
+
+POLYGON ((1457223.752 585589.596 0, 1456928.255 585562.817 0, 1456631.392 585535.931 0, 1456334.528 585509.064 0, 1456037.662 585482.214 0, 1455740.795 585455.381 0, 1455443.926 585428.566 0, 1455147.055 585401.768 0, 1454850.183 585374.987 0, 1454553.309 585348.225 0,
+ 1454256.434 585321.479 0, 1453959.557 585294.751 0, 1453662.679 585268.041 0, 1453365.799 585241.348 0, 1453068.918 585214.673 0, 1452772.034 585188.015 0, 1452475.15 585161.374 0, 1452178.264 585134.751 0, 1451881.376 585108.145 0, 1451584.486 585081.557 0,
+ 1451287.596 585054.987 0, 1450990.703 585028.433 0, 1450693.809 585001.898 0, 1450396.913 584975.38 0, 1450098.651 584948.757 0, 1449803.117 584922.396 0, 1449506.217 584895.93 0, 1449209.315 584869.482 0, 1448912.412 584843.051 0, 1448615.507 584816.637 0,
+ 1448318.6 584790.241 0, 1448021.692 584763.863 0, 1447724.783 584737.502 0, 1447427.872 584711.159 0, 1447130.959 584684.833 0, 1446834.045 584658.524 0, 1446537.129 584632.233 0, 1446240.211 584605.96 0, 1445943.292 584579.704 0, 1445646.372 584553.465 0,
+ 1445349.45 584527.244 0, 1445052.526 584501.04 0, 1444755.601 584474.854 0, 1444458.675 584448.685 0, 1444161.747 584422.534 0, 1443864.817 584396.4 0, 1443567.886 584370.284 0, 1443270.953 584344.185 0, 1442972.653 584317.984 0, 1442486.118 589859.044 0,
+ 1441999.551 595400.467 0, 1442297.196 595426.611 0, 1442593.477 595452.652 0, 1442889.756 595478.711 0, 1443186.033 595504.787 0, 1443482.309 595530.881 0, 1443778.583 595556.992 0, 1444074.856 595583.121 0, 1444371.127 595609.267 0, 1444667.397 595635.431 0,
+ 1444963.665 595661.611 0, 1445259.932 595687.81 0, 1445556.197 595714.026 0, 1445852.461 595740.259 0, 1446148.723 595766.51 0, 1446444.983 595792.778 0, 1446741.242 595819.063 0, 1447037.5 595845.366 0, 1447333.755 595871.687 0, 1447630.01 595898.025 0,
+ 1447926.262 595924.38 0, 1448222.514 595950.753 0, 1448518.763 595977.143 0, 1448815.011 596003.551 0, 1449109.896 596029.854 0, 1449407.503 596056.418 0, 1449703.746 596082.878 0, 1449999.988 596109.356 0, 1450296.228 596135.85 0, 1450592.467 596162.363 0,
+ 1450888.704 596188.892 0, 1451184.94 596215.44 0, 1451481.174 596242.004 0, 1451777.406 596268.586 0, 1452073.637 596295.186 0, 1452369.867 596321.802 0, 1452666.094 596348.437 0, 1452962.321 596375.089 0, 1453258.545 596401.758 0, 1453554.768 596428.444 0,
+ 1453850.99 596455.148 0, 1454147.21 596481.87 0, 1454443.428 596508.609 0, 1454739.645 596535.365 0, 1455035.86 596562.139 0, 1455332.074 596588.93 0, 1455628.286 596615.739 0, 1455924.496 596642.565 0, 1456219.345 596669.285 0, 1456721.565 591129.259 0,
+ 1457223.752 585589.596 0))
+
+POLYGON ((1470435.497 597978.272 0, 1470140.723 597950.718 0, 1469844.589 597923.056 0, 1469548.454 597895.41 0, 1469252.318 597867.782 0, 1468956.179 597840.172 0, 1468660.039 597812.578 0, 1468363.897 597785.003 0, 1468067.754 597757.445 0, 1467771.609 597729.904 0,
+ 1467475.463 597702.38 0, 1467179.315 597674.874 0, 1466883.165 597647.386 0, 1466587.014 597619.915 0, 1466290.861 597592.461 0, 1465994.706 597565.025 0, 1465698.55 597537.606 0, 1465402.392 597510.205 0, 1465106.233 597482.821 0, 1464810.072 597455.454 0,
+ 1464513.909 597428.105 0, 1464217.745 597400.773 0, 1463921.579 597373.459 0, 1463625.411 597346.162 0, 1463327.883 597318.758 0, 1463033.072 597291.621 0, 1462736.899 597264.377 0, 1462440.725 597237.15 0, 1462144.55 597209.94 0, 1461848.373 597182.748 0,
+ 1461552.194 597155.573 0, 1461256.014 597128.416 0, 1460959.832 597101.276 0, 1460663.648 597074.153 0, 1460367.463 597047.048 0, 1460071.277 597019.961 0, 1459775.088 596992.891 0, 1459478.899 596965.838 0, 1459182.707 596938.803 0, 1458886.514 596911.785 0,
+ 1458590.319 596884.784 0, 1458294.123 596857.801 0, 1457997.925 596830.836 0, 1457701.726 596803.888 0, 1457405.525 596776.957 0, 1457109.322 596750.044 0, 1456813.118 596723.148 0, 1456516.913 596696.269 0, 1456219.345 596669.285 0, 1455717.092 602209.672 0,
+ 1455214.807 607750.415 0, 1455511.719 607777.34 0, 1455807.273 607804.159 0, 1456102.825 607830.996 0, 1456398.375 607857.85 0, 1456693.924 607884.721 0, 1456989.471 607911.61 0, 1457285.017 607938.516 0, 1457580.561 607965.44 0, 1457876.103 607992.381 0,
+ 1458171.644 608019.339 0, 1458467.183 608046.315 0, 1458762.721 608073.308 0, 1459058.257 608100.318 0, 1459353.792 608127.346 0, 1459649.325 608154.392 0, 1459944.856 608181.455 0, 1460240.386 608208.535 0, 1460535.914 608235.632 0, 1460831.44 608262.747 0,
+ 1461126.965 608289.879 0, 1461422.489 608317.029 0, 1461718.01 608344.196 0, 1462013.531 608371.381 0, 1462307.693 608398.458 0, 1462604.566 608425.802 0, 1462900.081 608453.039 0, 1463195.595 608480.293 0, 1463491.107 608507.564 0, 1463786.618 608534.853 0,
+ 1464082.127 608562.159 0, 1464377.634 608589.483 0, 1464673.14 608616.824 0, 1464968.644 608644.182 0, 1465264.146 608671.558 0, 1465559.647 608698.951 0, 1465855.147 608726.362 0, 1466150.644 608753.79 0, 1466446.14 608781.235 0, 1466741.635 608808.698 0,
+ 1467037.127 608836.178 0, 1467332.619 608863.676 0, 1467628.108 608891.191 0, 1467923.596 608918.723 0, 1468219.082 608946.273 0, 1468514.567 608973.84 0, 1468810.05 609001.425 0, 1469105.532 609029.027 0, 1469399.657 609056.519 0, 1469917.594 603517.217 0,
+ 1470435.497 597978.272 0))
+
+POLYGON ((1483580.76 610402.693 0, 1483286.712 610374.37 0, 1482991.309 610345.933 0, 1482695.905 610317.514 0, 1482400.5 610289.112 0, 1482105.093 610260.727 0, 1481809.684 610232.36 0, 1481514.273 610204.011 0, 1481218.861 610175.678 0, 1480923.447 610147.364 0,
+ 1480628.031 610119.066 0, 1480332.614 610090.786 0, 1480037.195 610062.523 0, 1479741.774 610034.278 0, 1479446.352 610006.05 0, 1479150.928 609977.839 0, 1478855.502 609949.646 0, 1478560.075 609921.47 0, 1478264.646 609893.312 0, 1477969.215 609865.171 0,
+ 1477673.783 609837.047 0, 1477378.349 609808.941 0, 1477082.913 609780.852 0, 1476787.476 609752.781 0, 1476490.684 609724.598 0, 1476196.597 609696.69 0, 1475901.155 609668.671 0, 1475605.711 609640.669 0, 1475310.265 609612.684 0, 1475014.818 609584.717 0,
+ 1474719.37 609556.767 0, 1474423.919 609528.835 0, 1474128.467 609500.92 0, 1473833.013 609473.023 0, 1473537.558 609445.142 0, 1473242.101 609417.28 0, 1472946.642 609389.434 0, 1472651.182 609361.606 0, 1472355.72 609333.796 0, 1472060.257 609306.002 0,
+ 1471764.792 609278.227 0, 1471469.325 609250.468 0, 1471173.856 609222.727 0, 1470878.386 609195.003 0, 1470582.915 609167.297 0, 1470287.441 609139.608 0, 1469991.966 609111.937 0, 1469696.49 609084.283 0, 1469399.657 609056.519 0, 1468881.687 614596.175 0,
+ 1468363.684 620136.181 0, 1468659.862 620163.884 0, 1468954.687 620191.477 0, 1469249.509 620219.087 0, 1469544.331 620246.715 0, 1469839.15 620274.36 0, 1470133.968 620302.022 0, 1470428.785 620329.702 0, 1470723.599 620357.399 0, 1471018.412 620385.114 0,
+ 1471313.224 620412.846 0, 1471608.034 620440.595 0, 1471902.842 620468.362 0, 1472197.648 620496.146 0, 1472492.453 620523.947 0, 1472787.256 620551.766 0, 1473082.058 620579.602 0, 1473376.858 620607.455 0, 1473671.656 620635.326 0, 1473966.453 620663.214 0,
+ 1474261.248 620691.119 0, 1474556.042 620719.042 0, 1474850.833 620746.982 0, 1475145.623 620774.939 0, 1475439.061 620802.786 0, 1475735.199 620830.906 0, 1476029.984 620858.916 0, 1476324.767 620886.943 0, 1476619.549 620914.987 0, 1476914.33 620943.048 0,
+ 1477209.108 620971.127 0, 1477503.885 620999.224 0, 1477798.66 621027.337 0, 1478093.434 621055.468 0, 1478388.206 621083.616 0, 1478682.976 621111.782 0, 1478977.745 621139.965 0, 1479272.512 621168.165 0, 1479567.277 621196.383 0, 1479862.041 621224.618 0,
+ 1480156.803 621252.871 0, 1480451.563 621281.14 0, 1480746.322 621309.427 0, 1481041.079 621337.732 0, 1481335.834 621366.054 0, 1481630.588 621394.393 0, 1481925.34 621422.749 0, 1482220.09 621451.123 0, 1482513.49 621479.384 0, 1483047.142 615940.864 0,
+ 1483580.76 610402.693 0))
+
+POLYGON ((1496659.444 622862.558 0, 1496366.123 622833.467 0, 1496071.454 622804.261 0, 1495776.784 622775.072 0, 1495482.111 622745.9 0, 1495187.437 622716.746 0, 1494892.761 622687.609 0, 1494598.084 622658.489 0, 1494303.404 622629.387 0, 1494008.723 622600.301 0,
+ 1493714.041 622571.234 0, 1493419.356 622542.183 0, 1493124.67 622513.15 0, 1492829.982 622484.135 0, 1492535.293 622455.136 0, 1492240.601 622426.155 0, 1491945.908 622397.192 0, 1491651.214 622368.246 0, 1491356.517 622339.317 0, 1491061.819 622310.405 0,
+ 1490767.119 622281.511 0, 1490472.418 622252.634 0, 1490177.715 622223.774 0, 1489883.01 622194.932 0, 1489586.955 622165.975 0, 1489293.595 622137.3 0, 1488998.885 622108.51 0, 1488704.173 622079.737 0, 1488409.46 622050.981 0, 1488114.745 622022.243 0,
+ 1487820.028 621993.522 0, 1487525.31 621964.819 0, 1487230.59 621936.133 0, 1486935.868 621907.464 0, 1486641.144 621878.813 0, 1486346.419 621850.179 0, 1486051.692 621821.562 0, 1485756.964 621792.962 0, 1485462.234 621764.38 0, 1485167.502 621735.816 0,
+ 1484872.768 621707.268 0, 1484578.033 621678.738 0, 1484283.296 621650.226 0, 1483988.557 621621.731 0, 1483693.817 621593.253 0, 1483399.075 621564.792 0, 1483104.331 621536.349 0, 1482809.586 621507.923 0, 1482513.49 621479.384 0, 1481979.804 627018.252 0,
+ 1481446.086 632557.464 0, 1481741.527 632585.939 0, 1482035.62 632614.302 0, 1482329.712 632642.683 0, 1482623.802 632671.08 0, 1482917.89 632699.495 0, 1483211.977 632727.927 0, 1483506.061 632756.377 0, 1483800.145 632784.844 0, 1484094.226 632813.328 0,
+ 1484388.306 632841.83 0, 1484682.384 632870.348 0, 1484976.461 632898.884 0, 1485270.536 632927.438 0, 1485564.609 632956.009 0, 1485858.681 632984.597 0, 1486152.75 633013.202 0, 1486446.819 633041.825 0, 1486740.885 633070.464 0, 1487034.95 633099.122 0,
+ 1487329.013 633127.796 0, 1487623.074 633156.488 0, 1487917.134 633185.197 0, 1488211.192 633213.924 0, 1488503.903 633242.536 0, 1488799.303 633271.429 0, 1489093.356 633300.207 0, 1489387.407 633329.003 0, 1489681.457 633357.816 0, 1489975.505 633386.646 0,
+ 1490269.551 633415.494 0, 1490563.595 633444.359 0, 1490857.638 633473.241 0, 1491151.679 633502.141 0, 1491445.718 633531.057 0, 1491739.756 633559.992 0, 1492033.792 633588.943 0, 1492327.826 633617.912 0, 1492621.859 633646.898 0, 1492915.89 633675.901 0,
+ 1493209.919 633704.922 0, 1493503.946 633733.96 0, 1493797.972 633763.015 0, 1494091.996 633792.088 0, 1494386.018 633821.178 0, 1494680.039 633850.285 0, 1494974.058 633879.41 0, 1495268.075 633908.552 0, 1495560.747 633937.577 0, 1496110.112 628399.896 0,
+ 1496659.444 622862.558 0))
+
+POLYGON ((1509671.452 635357.562 0, 1509378.861 635327.709 0, 1509084.927 635297.737 0, 1508790.992 635267.782 0, 1508497.055 635237.844 0, 1508203.116 635207.923 0, 1507909.175 635178.02 0, 1507615.233 635148.134 0, 1507321.289 635118.266 0, 1507027.343 635088.414 0,
+ 1506733.395 635058.581 0, 1506439.445 635028.764 0, 1506145.494 634998.964 0, 1505851.541 634969.182 0, 1505557.587 634939.418 0, 1505263.63 634909.67 0, 1504969.672 634879.94 0, 1504675.712 634850.227 0, 1504381.75 634820.532 0, 1504087.787 634790.853 0,
+ 1503793.821 634761.192 0, 1503499.854 634731.549 0, 1503205.886 634701.922 0, 1502911.915 634672.313 0, 1502616.601 634642.587 0, 1502323.969 634613.147 0, 1502029.993 634583.59 0, 1501736.016 634554.05 0, 1501442.037 634524.528 0, 1501148.056 634495.022 0,
+ 1500854.073 634465.534 0, 1500560.089 634436.064 0, 1500266.103 634406.611 0, 1499972.115 634377.175 0, 1499678.125 634347.756 0, 1499384.134 634318.354 0, 1499090.141 634288.97 0, 1498796.146 634259.603 0, 1498502.15 634230.254 0, 1498208.152 634200.922 0,
+ 1497914.152 634171.607 0, 1497620.15 634142.309 0, 1497326.147 634113.029 0, 1497032.141 634083.766 0, 1496738.135 634054.52 0, 1496444.126 634025.292 0, 1496150.116 633996.081 0, 1495856.104 633966.887 0, 1495560.747 633937.577 0, 1495011.347 639475.6 0,
+ 1494461.914 645013.959 0, 1494756.616 645043.204 0, 1495049.976 645072.333 0, 1495343.335 645101.48 0, 1495636.691 645130.643 0, 1495930.046 645159.824 0, 1496223.399 645189.022 0, 1496516.751 645218.237 0, 1496810.101 645247.47 0, 1497103.449 645276.72 0,
+ 1497396.795 645305.987 0, 1497690.14 645335.271 0, 1497983.482 645364.573 0, 1498276.824 645393.892 0, 1498570.163 645423.228 0, 1498863.501 645452.582 0, 1499156.837 645481.953 0, 1499450.171 645511.341 0, 1499743.503 645540.746 0, 1500036.834 645570.168 0,
+ 1500330.163 645599.608 0, 1500623.491 645629.065 0, 1500916.816 645658.54 0, 1501210.14 645688.031 0, 1501502.123 645717.405 0, 1501796.782 645747.066 0, 1502090.101 645776.61 0, 1502383.418 645806.17 0, 1502676.733 645835.748 0, 1502970.047 645865.343 0,
+ 1503263.358 645894.956 0, 1503556.668 645924.585 0, 1503849.976 645954.232 0, 1504143.283 645983.897 0, 1504436.587 646013.578 0, 1504729.89 646043.277 0, 1505023.191 646072.993 0, 1505316.491 646102.726 0, 1505609.789 646132.477 0, 1505903.085 646162.245 0,
+ 1506196.379 646192.03 0, 1506489.671 646221.832 0, 1506782.962 646251.652 0, 1507076.251 646281.489 0, 1507369.538 646311.343 0, 1507662.823 646341.214 0, 1507956.107 646371.103 0, 1508249.389 646401.009 0, 1508541.331 646430.795 0, 1509106.409 640894.01 0,
+ 1509671.452 635357.562 0))
+
+POLYGON ((1522616.689 647887.402 0, 1522324.83 647856.791 0, 1522031.634 647826.056 0, 1521738.436 647795.339 0, 1521445.236 647764.639 0, 1521152.034 647733.957 0, 1520858.831 647703.292 0, 1520565.626 647672.643 0, 1520272.419 647642.013 0, 1519979.21 647611.399 0,
+ 1519685.999 647580.803 0, 1519392.787 647550.224 0, 1519099.572 647519.662 0, 1518806.356 647489.117 0, 1518513.138 647458.59 0, 1518219.919 647428.08 0, 1517926.697 647397.587 0, 1517633.474 647367.112 0, 1517340.249 647336.654 0, 1517047.022 647306.213 0,
+ 1516753.793 647275.789 0, 1516460.563 647245.382 0, 1516167.331 647214.993 0, 1515874.097 647184.621 0, 1515579.525 647154.128 0, 1515287.624 647123.929 0, 1514994.384 647093.609 0, 1514701.143 647063.306 0, 1514407.9 647033.02 0, 1514114.655 647002.752 0,
+ 1513821.409 646972.501 0, 1513528.161 646942.267 0, 1513234.911 646912.05 0, 1512941.659 646881.851 0, 1512648.405 646851.669 0, 1512355.15 646821.504 0, 1512061.893 646791.356 0, 1511768.634 646761.226 0, 1511475.373 646731.113 0, 1511182.111 646701.017 0,
+ 1510888.846 646670.939 0, 1510595.58 646640.877 0, 1510302.313 646610.833 0, 1510009.043 646580.807 0, 1509715.772 646550.797 0, 1509422.499 646520.805 0, 1509129.224 646490.83 0, 1508835.947 646460.872 0, 1508541.331 646430.795 0, 1507976.219 651967.915 0,
+ 1507411.074 657505.365 0, 1507705.035 657535.375 0, 1507997.66 657565.266 0, 1508290.283 657595.174 0, 1508582.904 657625.1 0, 1508875.524 657655.042 0, 1509168.141 657685.002 0, 1509460.757 657714.98 0, 1509753.372 657744.974 0, 1510045.984 657774.986 0,
+ 1510338.595 657805.015 0, 1510631.204 657835.061 0, 1510923.811 657865.124 0, 1511216.416 657895.205 0, 1511509.02 657925.303 0, 1511801.622 657955.418 0, 1512094.222 657985.55 0, 1512386.82 658015.699 0, 1512679.416 658045.866 0, 1512972.011 658076.05 0,
+ 1513264.604 658106.251 0, 1513557.195 658136.469 0, 1513849.785 658166.705 0, 1514142.372 658196.958 0, 1514433.624 658227.09 0, 1514727.542 658257.515 0, 1515020.124 658287.819 0, 1515312.705 658318.141 0, 1515605.284 658348.48 0, 1515897.86 658378.836 0,
+ 1516190.436 658409.209 0, 1516483.009 658439.6 0, 1516775.58 658470.008 0, 1517068.15 658500.433 0, 1517360.718 658530.875 0, 1517653.284 658561.334 0, 1517945.849 658591.811 0, 1518238.411 658622.305 0, 1518530.972 658652.816 0, 1518823.531 658683.344 0,
+ 1519116.088 658713.89 0, 1519408.644 658744.453 0, 1519701.197 658775.033 0, 1519993.749 658805.63 0, 1520286.299 658836.244 0, 1520578.847 658866.876 0, 1520871.394 658897.525 0, 1521163.938 658928.191 0, 1521455.149 658958.734 0, 1522035.936 653422.903 0,
+ 1522616.689 647887.402 0))
+
+POLYGON ((1535495.062 660451.775 0, 1535203.936 660420.409 0, 1534911.479 660388.916 0, 1534619.021 660357.441 0, 1534326.56 660325.983 0, 1534034.098 660294.542 0, 1533741.634 660263.119 0, 1533449.168 660231.712 0, 1533156.7 660200.323 0, 1532864.23 660168.951 0,
+ 1532571.759 660137.597 0, 1532279.285 660106.259 0, 1531986.81 660074.939 0, 1531694.333 660043.636 0, 1531401.854 660012.35 0, 1531109.373 659981.081 0, 1530816.89 659949.83 0, 1530524.406 659918.596 0, 1530231.92 659887.379 0, 1529939.432 659856.179 0,
+ 1529646.942 659824.996 0, 1529354.45 659793.831 0, 1529061.956 659762.683 0, 1528769.461 659731.552 0, 1528475.632 659700.297 0, 1528184.464 659669.342 0, 1527891.963 659638.262 0, 1527599.46 659607.2 0, 1527306.956 659576.155 0, 1527014.449 659545.128 0,
+ 1526721.941 659514.117 0, 1526429.431 659483.124 0, 1526136.919 659452.148 0, 1525844.405 659421.189 0, 1525551.89 659390.248 0, 1525259.372 659359.324 0, 1524966.853 659328.416 0, 1524674.332 659297.527 0, 1524381.809 659266.654 0, 1524089.285 659235.798 0,
+ 1523796.758 659204.96 0, 1523504.23 659174.139 0, 1523211.7 659143.335 0, 1522919.168 659112.549 0, 1522626.634 659081.779 0, 1522334.098 659051.027 0, 1522041.561 659020.292 0, 1521749.022 658989.575 0, 1521455.149 658958.734 0, 1520874.327 664494.893 0,
+ 1520293.471 670031.375 0, 1520586.689 670062.147 0, 1520878.577 670092.796 0, 1521170.462 670123.463 0, 1521462.346 670154.146 0, 1521754.228 670184.847 0, 1522046.109 670215.565 0, 1522337.987 670246.3 0, 1522629.864 670277.053 0, 1522921.738 670307.822 0,
+ 1523213.611 670338.609 0, 1523505.483 670369.413 0, 1523797.352 670400.234 0, 1524089.219 670431.072 0, 1524381.085 670461.928 0, 1524672.949 670492.8 0, 1524964.811 670523.69 0, 1525256.672 670554.597 0, 1525548.53 670585.521 0, 1525840.387 670616.463 0,
+ 1526132.241 670647.421 0, 1526424.094 670678.397 0, 1526715.946 670709.39 0, 1527007.795 670740.4 0, 1527298.314 670771.286 0, 1527591.488 670802.471 0, 1527883.332 670833.533 0, 1528175.174 670864.612 0, 1528467.014 670895.708 0, 1528758.853 670926.821 0,
+ 1529050.689 670957.951 0, 1529342.524 670989.098 0, 1529634.357 671020.263 0, 1529926.188 671051.445 0, 1530218.017 671082.644 0, 1530509.844 671113.86 0, 1530801.67 671145.093 0, 1531093.494 671176.344 0, 1531385.316 671207.612 0, 1531677.136 671238.896 0,
+ 1531968.954 671270.198 0, 1532260.77 671301.518 0, 1532552.585 671332.854 0, 1532844.397 671364.208 0, 1533136.208 671395.578 0, 1533428.017 671426.966 0, 1533719.824 671458.371 0, 1534011.629 671489.794 0, 1534302.106 671521.09 0, 1534898.601 665986.271 0,
+ 1535495.062 660451.775 0))
+
+POLYGON ((1548306.477 673050.376 0, 1548016.087 673018.259 0, 1547724.372 672986.012 0, 1547432.655 672953.783 0, 1547140.936 672921.571 0, 1546849.215 672889.376 0, 1546557.492 672857.198 0, 1546265.767 672825.037 0, 1545974.04 672792.893 0, 1545682.312 672760.767 0,
+ 1545390.581 672728.658 0, 1545098.849 672696.566 0, 1544807.115 672664.491 0, 1544515.379 672632.433 0, 1544223.641 672600.393 0, 1543931.901 672568.37 0, 1543640.159 672536.363 0, 1543348.415 672504.374 0, 1543056.67 672472.403 0, 1542764.922 672440.448 0,
+ 1542473.173 672408.51 0, 1542181.422 672376.59 0, 1541889.669 672344.687 0, 1541597.914 672312.801 0, 1541304.831 672280.788 0, 1541014.398 672249.081 0, 1540722.638 672217.246 0, 1540430.875 672185.429 0, 1540139.111 672153.629 0, 1539847.345 672121.846 0,
+ 1539555.576 672090.08 0, 1539263.807 672058.332 0, 1538972.035 672026.6 0, 1538680.261 671994.886 0, 1538388.486 671963.189 0, 1538096.708 671931.509 0, 1537804.929 671899.846 0, 1537513.148 671868.201 0, 1537221.365 671836.572 0, 1536929.58 671804.961 0,
+ 1536637.793 671773.367 0, 1536346.005 671741.79 0, 1536054.214 671710.231 0, 1535762.422 671678.688 0, 1535470.628 671647.163 0, 1535178.832 671615.655 0, 1534887.034 671584.164 0, 1534595.234 671552.69 0, 1534302.106 671521.09 0, 1533705.576 677056.23 0,
+ 1533109.012 682591.688 0, 1533401.486 682623.217 0, 1533692.634 682654.62 0, 1533983.78 682686.041 0, 1534274.925 682717.479 0, 1534566.067 682748.934 0, 1534857.208 682780.406 0, 1535148.347 682811.895 0, 1535439.484 682843.401 0, 1535730.619 682874.925 0,
+ 1536021.752 682906.465 0, 1536312.884 682938.023 0, 1536604.013 682969.598 0, 1536895.141 683001.19 0, 1537186.267 683032.799 0, 1537477.391 683064.425 0, 1537768.513 683096.069 0, 1538059.633 683127.729 0, 1538350.752 683159.407 0, 1538641.868 683191.102 0,
+ 1538932.983 683222.814 0, 1539224.096 683254.543 0, 1539515.207 683286.289 0, 1539806.316 683318.053 0, 1540096.101 683349.689 0, 1540388.528 683381.631 0, 1540679.632 683413.446 0, 1540970.733 683445.277 0, 1541261.833 683477.126 0, 1541552.931 683508.993 0,
+ 1541844.027 683540.876 0, 1542135.121 683572.776 0, 1542426.213 683604.694 0, 1542717.304 683636.629 0, 1543008.392 683668.58 0, 1543299.479 683700.549 0, 1543590.563 683732.535 0, 1543881.646 683764.539 0, 1544172.727 683796.559 0, 1544463.806 683828.597 0,
+ 1544754.883 683860.651 0, 1545045.958 683892.723 0, 1545337.032 683924.812 0, 1545628.103 683956.918 0, 1545919.173 683989.041 0, 1546210.241 684021.181 0, 1546501.306 684053.339 0, 1546792.37 684085.513 0, 1547082.111 684117.559 0, 1547694.312 678583.809 0,
+ 1548306.477 673050.376 0))
+
+POLYGON ((1561050.844 685682.9 0, 1560761.192 685650.036 0, 1560470.22 685617.039 0, 1560179.247 685584.06 0, 1559888.271 685551.097 0, 1559597.293 685518.152 0, 1559306.313 685485.224 0, 1559015.332 685452.312 0, 1558724.348 685419.418 0, 1558433.363 685386.542 0,
+ 1558142.376 685353.682 0, 1557851.386 685320.839 0, 1557560.395 685288.014 0, 1557269.402 685255.206 0, 1556978.407 685222.414 0, 1556687.41 685189.64 0, 1556396.411 685156.883 0, 1556105.41 685124.143 0, 1555814.407 685091.421 0, 1555523.403 685058.715 0,
+ 1555232.396 685026.027 0, 1554941.387 684993.355 0, 1554650.377 684960.701 0, 1554359.364 684928.064 0, 1554067.03 684895.296 0, 1553777.334 684862.842 0, 1553486.316 684830.256 0, 1553195.296 684797.687 0, 1552904.274 684765.136 0, 1552613.25 684732.602 0,
+ 1552322.224 684700.084 0, 1552031.196 684667.584 0, 1551740.166 684635.102 0, 1551449.135 684602.636 0, 1551158.101 684570.187 0, 1550867.066 684537.756 0, 1550576.029 684505.341 0, 1550284.989 684472.944 0, 1549993.948 684440.564 0, 1549702.905 684408.201 0,
+ 1549411.86 684375.855 0, 1549120.813 684343.526 0, 1548829.765 684311.215 0, 1548538.714 684278.92 0, 1548247.662 684246.643 0, 1547956.607 684214.383 0, 1547665.551 684182.14 0, 1547374.493 684149.914 0, 1547082.111 684117.559 0, 1546469.876 689651.623 0,
+ 1545857.607 695185.997 0, 1546149.334 695218.28 0, 1546439.741 695250.434 0, 1546730.145 695282.604 0, 1547020.548 695314.792 0, 1547310.949 695346.998 0, 1547601.349 695379.22 0, 1547891.746 695411.459 0, 1548182.141 695443.715 0, 1548472.535 695475.989 0,
+ 1548762.926 695508.279 0, 1549053.316 695540.587 0, 1549343.704 695572.912 0, 1549634.09 695605.254 0, 1549924.474 695637.612 0, 1550214.856 695669.988 0, 1550505.236 695702.382 0, 1550795.614 695734.792 0, 1551085.991 695767.219 0, 1551376.365 695799.663 0,
+ 1551666.738 695832.125 0, 1551957.108 695864.603 0, 1552247.477 695897.099 0, 1552537.844 695929.612 0, 1552826.892 695961.994 0, 1553118.572 695994.689 0, 1553408.933 696027.253 0, 1553699.292 696059.834 0, 1553989.649 696092.432 0, 1554280.005 696125.047 0,
+ 1554570.358 696157.679 0, 1554860.709 696190.329 0, 1555151.059 696222.995 0, 1555441.407 696255.679 0, 1555731.752 696288.38 0, 1556022.096 696321.098 0, 1556312.438 696353.833 0, 1556602.778 696386.585 0, 1556893.116 696419.354 0, 1557183.452 696452.14 0,
+ 1557473.786 696484.943 0, 1557764.118 696517.763 0, 1558054.448 696550.601 0, 1558344.777 696583.455 0, 1558635.103 696616.327 0, 1558925.428 696649.216 0, 1559215.75 696682.121 0, 1559506.071 696715.044 0, 1559795.074 696747.835 0, 1560422.976 691215.212 0,
+ 1561050.844 685682.9 0))
+
+POLYGON ((1573728.073 698349.042 0, 1573439.161 698315.435 0, 1573148.935 698281.692 0, 1572858.706 698247.966 0, 1572568.476 698214.257 0, 1572278.244 698180.566 0, 1571988.009 698146.891 0, 1571697.773 698113.234 0, 1571407.535 698079.593 0, 1571117.294 698045.97 0,
+ 1570827.052 698012.364 0, 1570536.808 697978.774 0, 1570246.561 697945.202 0, 1569956.313 697911.647 0, 1569666.063 697878.109 0, 1569375.811 697844.588 0, 1569085.557 697811.085 0, 1568795.301 697777.598 0, 1568505.043 697744.128 0, 1568214.783 697710.676 0,
+ 1567924.521 697677.24 0, 1567634.257 697643.822 0, 1567343.991 697610.421 0, 1567053.723 697577.036 0, 1566762.139 697543.518 0, 1566473.181 697510.319 0, 1566182.907 697476.986 0, 1565892.632 697443.67 0, 1565602.354 697410.372 0, 1565312.074 697377.09 0,
+ 1565021.793 697343.825 0, 1564731.509 697310.578 0, 1564441.223 697277.347 0, 1564150.936 697244.134 0, 1563860.646 697210.938 0, 1563570.355 697177.759 0, 1563280.062 697144.597 0, 1562989.766 697111.452 0, 1562699.469 697078.324 0, 1562409.17 697045.213 0,
+ 1562118.869 697012.119 0, 1561828.566 696979.042 0, 1561538.261 696945.983 0, 1561247.954 696912.94 0, 1560957.645 696879.915 0, 1560667.334 696846.907 0, 1560377.021 696813.915 0, 1560086.706 696780.941 0, 1559795.074 696747.835 0, 1559167.137 702280.765 0,
+ 1558539.165 707813.998 0, 1558830.143 707847.031 0, 1559119.806 707879.931 0, 1559409.468 707912.848 0, 1559699.127 707945.782 0, 1559988.785 707978.733 0, 1560278.44 708011.702 0, 1560568.094 708044.687 0, 1560857.746 708077.69 0, 1561147.396 708110.709 0,
+ 1561437.044 708143.746 0, 1561726.69 708176.799 0, 1562016.334 708209.87 0, 1562305.976 708242.958 0, 1562595.616 708276.062 0, 1562885.254 708309.184 0, 1563174.89 708342.323 0, 1563464.525 708375.479 0, 1563754.157 708408.652 0, 1564043.787 708441.842 0,
+ 1564333.416 708475.049 0, 1564623.042 708508.273 0, 1564912.667 708541.514 0, 1565202.289 708574.772 0, 1565490.599 708607.897 0, 1565781.529 708641.34 0, 1566071.145 708674.649 0, 1566360.76 708707.975 0, 1566650.373 708741.319 0, 1566939.984 708774.679 0,
+ 1567229.592 708808.057 0, 1567519.199 708841.451 0, 1567808.804 708874.863 0, 1568098.407 708908.291 0, 1568388.008 708941.737 0, 1568677.607 708975.2 0, 1568967.204 709008.679 0, 1569256.799 709042.176 0, 1569546.392 709075.69 0, 1569835.983 709109.221 0,
+ 1570125.573 709142.769 0, 1570415.16 709176.334 0, 1570704.745 709209.916 0, 1570994.328 709243.515 0, 1571283.909 709277.131 0, 1571573.489 709310.764 0, 1571863.066 709344.414 0, 1572152.641 709378.082 0, 1572440.905 709411.614 0, 1573084.506 703880.176 0,
+ 1573728.073 698349.042 0))
+
+POLYGON ((1586338.075 711048.497 0, 1586049.906 711014.151 0, 1585760.427 710979.666 0, 1585470.946 710945.197 0, 1585181.463 710910.746 0, 1584891.977 710876.312 0, 1584602.49 710841.895 0, 1584313.001 710807.495 0, 1584023.51 710773.112 0, 1583734.017 710738.746 0,
+ 1583444.522 710704.397 0, 1583155.024 710670.065 0, 1582865.525 710635.751 0, 1582576.024 710601.453 0, 1582286.52 710567.172 0, 1581997.015 710532.908 0, 1581707.508 710498.662 0, 1581417.998 710464.432 0, 1581128.487 710430.219 0, 1580838.974 710396.024 0,
+ 1580549.458 710361.845 0, 1580259.941 710327.684 0, 1579970.421 710293.539 0, 1579680.9 710259.412 0, 1579390.068 710225.148 0, 1579101.851 710191.208 0, 1578812.324 710157.132 0, 1578522.794 710123.073 0, 1578233.263 710089.031 0, 1577943.729 710055.006 0,
+ 1577654.194 710020.998 0, 1577364.656 709987.006 0, 1577075.117 709953.032 0, 1576785.576 709919.075 0, 1576496.032 709885.136 0, 1576206.487 709851.213 0, 1575916.939 709817.307 0, 1575627.39 709783.418 0, 1575337.838 709749.546 0, 1575048.285 709715.692 0,
+ 1574758.729 709681.854 0, 1574469.172 709648.033 0, 1574179.613 709614.23 0, 1573890.051 709580.443 0, 1573600.488 709546.674 0, 1573310.922 709512.921 0, 1573021.355 709479.186 0, 1572731.786 709445.467 0, 1572440.905 709411.614 0, 1571797.268 714943.351 0,
+ 1571153.597 720475.386 0, 1571443.824 720509.164 0, 1571732.742 720542.806 0, 1572021.658 720576.466 0, 1572310.572 720610.143 0, 1572599.484 720643.836 0, 1572888.395 720677.547 0, 1573177.303 720711.274 0, 1573466.209 720745.019 0, 1573755.113 720778.78 0,
+ 1574044.016 720812.559 0, 1574332.916 720846.355 0, 1574621.814 720880.167 0, 1574910.711 720913.997 0, 1575199.605 720947.843 0, 1575488.497 720981.707 0, 1575777.388 721015.588 0, 1576066.276 721049.485 0, 1576355.162 721083.4 0, 1576644.047 721117.331 0,
+ 1576932.929 721151.28 0, 1577221.809 721185.246 0, 1577510.688 721219.228 0, 1577799.564 721253.228 0, 1578087.133 721287.091 0, 1578377.311 721321.278 0, 1578666.181 721355.329 0, 1578955.049 721389.397 0, 1579243.916 721423.481 0, 1579532.78 721457.583 0,
+ 1579821.642 721491.701 0, 1580110.503 721525.837 0, 1580399.361 721559.99 0, 1580688.217 721594.159 0, 1580977.072 721628.346 0, 1581265.924 721662.55 0, 1581554.774 721696.77 0, 1581843.622 721731.008 0, 1582132.469 721765.263 0, 1582421.313 721799.534 0,
+ 1582710.155 721833.823 0, 1582998.995 721868.129 0, 1583287.833 721902.451 0, 1583576.669 721936.791 0, 1583865.504 721971.148 0, 1584154.336 722005.521 0, 1584443.166 722039.912 0, 1584731.994 722074.32 0, 1585019.515 722108.589 0, 1585678.813 716578.395 0,
+ 1586338.075 711048.497 0))
+
+POLYGON ((1598880.765 723780.959 0, 1598593.339 723745.877 0, 1598304.609 723710.654 0, 1598015.877 723675.447 0, 1597727.144 723640.258 0, 1597438.408 723605.085 0, 1597149.67 723569.929 0, 1596860.93 723534.791 0, 1596572.188 723499.669 0, 1596283.444 723464.565 0,
+ 1595994.697 723429.477 0, 1595705.949 723394.407 0, 1595417.199 723359.353 0, 1595128.446 723324.317 0, 1594839.692 723289.297 0, 1594550.935 723254.294 0, 1594262.177 723219.309 0, 1593973.416 723184.34 0, 1593684.653 723149.389 0, 1593395.888 723114.454 0,
+ 1593107.122 723079.536 0, 1592818.353 723044.636 0, 1592529.582 723009.752 0, 1592240.809 722974.886 0, 1591950.731 722939.879 0, 1591663.257 722905.203 0, 1591374.477 722870.388 0, 1591085.696 722835.589 0, 1590796.913 722800.807 0, 1590508.128 722766.043 0,
+ 1590219.34 722731.295 0, 1589930.551 722696.564 0, 1589641.76 722661.851 0, 1589352.966 722627.154 0, 1589064.171 722592.475 0, 1588775.373 722557.812 0, 1588486.574 722523.166 0, 1588197.772 722488.538 0, 1587908.968 722453.926 0, 1587620.163 722419.331 0,
+ 1587331.355 722384.754 0, 1587042.545 722350.193 0, 1586753.733 722315.649 0, 1586464.919 722281.123 0, 1586176.104 722246.613 0, 1585887.286 722212.12 0, 1585598.466 722177.645 0, 1585309.644 722143.186 0, 1585019.515 722108.589 0, 1584360.183 727639.077 0,
+ 1583700.816 733169.855 0, 1583990.29 733204.374 0, 1584278.461 733238.755 0, 1584566.63 733273.153 0, 1584854.797 733307.568 0, 1585142.961 733342 0, 1585431.124 733376.448 0, 1585719.285 733410.914 0, 1586007.444 733445.397 0, 1586295.6 733479.897 0,
+ 1586583.755 733514.413 0, 1586871.908 733548.947 0, 1587160.058 733583.498 0, 1587448.207 733618.065 0, 1587736.354 733652.65 0, 1588024.498 733687.251 0, 1588312.641 733721.87 0, 1588600.781 733756.505 0, 1588888.919 733791.157 0, 1589177.056 733825.827 0,
+ 1589465.19 733860.513 0, 1589753.322 733895.216 0, 1590041.453 733929.936 0, 1590329.581 733964.673 0, 1590616.407 733999.271 0, 1590905.831 734034.199 0, 1591193.953 734068.987 0, 1591482.073 734103.792 0, 1591770.191 734138.614 0, 1592058.307 734173.452 0,
+ 1592346.421 734208.308 0, 1592634.533 734243.181 0, 1592922.643 734278.071 0, 1593210.75 734312.978 0, 1593498.856 734347.901 0, 1593786.96 734382.842 0, 1594075.061 734417.8 0, 1594363.161 734452.774 0, 1594651.258 734487.766 0, 1594939.353 734522.774 0,
+ 1595227.447 734557.8 0, 1595515.538 734592.842 0, 1595803.627 734627.901 0, 1596091.714 734662.978 0, 1596379.799 734698.071 0, 1596667.882 734733.181 0, 1596955.963 734768.308 0, 1597244.042 734803.452 0, 1597530.82 734838.455 0, 1598205.81 729309.562 0,
+ 1598880.765 723780.959 0))
+
+POLYGON ((1611356.055 736546.121 0, 1611069.375 736510.308 0, 1610781.397 736474.35 0, 1610493.416 736438.409 0, 1610205.434 736402.485 0, 1609917.449 736366.578 0, 1609629.462 736330.688 0, 1609341.473 736294.815 0, 1609053.482 736258.959 0, 1608765.489 736223.119 0,
+ 1608477.493 736187.297 0, 1608189.496 736151.492 0, 1607901.496 736115.704 0, 1607613.495 736079.932 0, 1607325.491 736044.178 0, 1607037.485 736008.44 0, 1606749.477 735972.72 0, 1606461.467 735937.016 0, 1606173.455 735901.329 0, 1605885.441 735865.66 0,
+ 1605597.425 735830.007 0, 1605309.406 735794.371 0, 1605021.386 735758.752 0, 1604733.363 735723.151 0, 1604444.041 735687.405 0, 1604157.311 735651.998 0, 1603869.282 735616.447 0, 1603581.251 735580.913 0, 1603293.218 735545.395 0, 1603005.183 735509.895 0,
+ 1602717.146 735474.412 0, 1602429.107 735438.946 0, 1602141.065 735403.496 0, 1601853.022 735368.064 0, 1601564.976 735332.649 0, 1601276.928 735297.25 0, 1600988.878 735261.869 0, 1600700.827 735226.504 0, 1600412.773 735191.157 0, 1600124.717 735155.826 0,
+ 1599836.658 735120.512 0, 1599548.598 735085.216 0, 1599260.536 735049.936 0, 1598972.472 735014.673 0, 1598684.405 734979.427 0, 1598396.337 734944.198 0, 1598108.266 734908.986 0, 1597820.194 734873.791 0, 1597530.82 734838.455 0, 1596855.795 740367.635 0,
+ 1596180.735 745897.098 0, 1596469.455 745932.354 0, 1596756.877 745967.47 0, 1597044.296 746002.602 0, 1597331.714 746037.752 0, 1597619.13 746072.918 0, 1597906.543 746108.101 0, 1598193.954 746143.301 0, 1598481.364 746178.518 0, 1598768.771 746213.752 0,
+ 1599056.176 746249.003 0, 1599343.579 746284.27 0, 1599630.98 746319.555 0, 1599918.379 746354.856 0, 1600205.776 746390.175 0, 1600493.171 746425.51 0, 1600780.564 746460.863 0, 1601067.954 746496.232 0, 1601355.343 746531.618 0, 1601642.729 746567.021 0,
+ 1601930.114 746602.441 0, 1602217.496 746637.878 0, 1602504.876 746673.332 0, 1602792.254 746708.802 0, 1603078.336 746744.13 0, 1603367.004 746779.794 0, 1603654.376 746815.316 0, 1603941.746 746850.854 0, 1604229.114 746886.409 0, 1604516.479 746921.982 0,
+ 1604803.843 746957.571 0, 1605091.204 746993.177 0, 1605378.564 747028.8 0, 1605665.921 747064.439 0, 1605953.276 747100.096 0, 1606240.629 747135.77 0, 1606527.98 747171.46 0, 1606815.329 747207.168 0, 1607102.675 747242.892 0, 1607390.02 747278.634 0,
+ 1607677.362 747314.392 0, 1607964.703 747350.167 0, 1608252.041 747385.959 0, 1608539.377 747421.768 0, 1608826.711 747457.594 0, 1609114.043 747493.437 0, 1609401.373 747529.296 0, 1609688.701 747565.173 0, 1609974.733 747600.905 0, 1610665.412 742073.371 0,
+ 1611356.055 736546.121 0))
+
+POLYGON ((1623763.863 749343.676 0, 1623477.93 749307.136 0, 1623190.705 749270.448 0, 1622903.478 749233.776 0, 1622616.248 749197.122 0, 1622329.016 749160.484 0, 1622041.782 749123.864 0, 1621754.546 749087.26 0, 1621467.308 749050.673 0, 1621180.068 749014.103 0,
+ 1620892.825 748977.551 0, 1620605.581 748941.014 0, 1620318.334 748904.495 0, 1620031.085 748867.993 0, 1619743.834 748831.508 0, 1619456.581 748795.039 0, 1619169.325 748758.588 0, 1618882.068 748722.153 0, 1618594.808 748685.735 0, 1618307.546 748649.335 0,
+ 1618020.282 748612.951 0, 1617733.016 748576.584 0, 1617445.748 748540.234 0, 1617158.478 748503.9 0, 1616869.914 748467.421 0, 1616583.931 748431.285 0, 1616296.654 748395.002 0, 1616009.375 748358.737 0, 1615722.094 748322.488 0, 1615434.811 748286.256 0,
+ 1615147.525 748250.042 0, 1614860.238 748213.844 0, 1614572.948 748177.663 0, 1614285.657 748141.499 0, 1613998.363 748105.351 0, 1613711.067 748069.221 0, 1613423.769 748033.108 0, 1613136.469 747997.011 0, 1612849.166 747960.932 0, 1612561.862 747924.869 0,
+ 1612274.555 747888.824 0, 1611987.247 747852.795 0, 1611699.936 747816.783 0, 1611412.623 747780.788 0, 1611125.308 747744.81 0, 1610837.991 747708.849 0, 1610550.671 747672.904 0, 1610263.35 747636.977 0, 1609974.733 747600.905 0, 1609284.02 753128.719 0,
+ 1608593.272 758656.808 0, 1608881.235 758692.799 0, 1609167.905 758728.645 0, 1609454.574 758764.507 0, 1609741.24 758800.387 0, 1610027.905 758836.284 0, 1610314.567 758872.197 0, 1610601.227 758908.128 0, 1610887.885 758944.075 0, 1611174.541 758980.039 0,
+ 1611461.195 759016.02 0, 1611747.846 759052.018 0, 1612034.496 759088.032 0, 1612321.143 759124.064 0, 1612607.788 759160.112 0, 1612894.432 759196.178 0, 1613181.073 759232.26 0, 1613467.712 759268.359 0, 1613754.348 759304.475 0, 1614040.983 759340.608 0,
+ 1614327.616 759376.757 0, 1614614.246 759412.924 0, 1614900.874 759449.107 0, 1615187.5 759485.308 0, 1615472.836 759521.362 0, 1615760.746 759557.759 0, 1616047.366 759594.01 0, 1616333.984 759630.277 0, 1616620.599 759666.562 0, 1616907.213 759702.864 0,
+ 1617193.824 759739.182 0, 1617480.433 759775.517 0, 1617767.04 759811.869 0, 1618053.645 759848.238 0, 1618340.247 759884.624 0, 1618626.848 759921.027 0, 1618913.446 759957.446 0, 1619200.042 759993.883 0, 1619486.636 760030.336 0, 1619773.228 760066.806 0,
+ 1620059.818 760103.293 0, 1620346.406 760139.797 0, 1620632.991 760176.318 0, 1620919.575 760212.856 0, 1621206.156 760249.41 0, 1621492.735 760285.982 0, 1621779.312 760322.57 0, 1622065.886 760359.175 0, 1622351.172 760395.632 0, 1623057.535 754869.516 0,
+ 1623763.863 749343.676 0))
+
+POLYGON ((1636104.104 762173.318 0, 1635818.921 762136.055 0, 1635532.451 762098.64 0, 1635245.978 762061.242 0, 1634959.504 762023.861 0, 1634673.027 761986.497 0, 1634386.548 761949.15 0, 1634100.067 761911.82 0, 1633813.584 761874.506 0, 1633527.098 761837.21 0,
+ 1633240.61 761799.93 0, 1632954.12 761762.667 0, 1632667.628 761725.421 0, 1632381.134 761688.192 0, 1632094.637 761650.98 0, 1631808.139 761613.785 0, 1631521.638 761576.606 0, 1631235.135 761539.444 0, 1630948.629 761502.299 0, 1630662.122 761465.172 0,
+ 1630375.612 761428.06 0, 1630089.1 761390.966 0, 1629802.586 761353.889 0, 1629516.07 761316.828 0, 1629228.266 761279.618 0, 1628943.031 761242.758 0, 1628656.508 761205.748 0, 1628369.984 761168.755 0, 1628083.456 761131.779 0, 1627796.927 761094.82 0,
+ 1627510.396 761057.877 0, 1627223.862 761020.952 0, 1626937.326 760984.043 0, 1626650.788 760947.151 0, 1626364.248 760910.276 0, 1626077.706 760873.418 0, 1625791.162 760836.577 0, 1625504.615 760799.752 0, 1625218.066 760762.945 0, 1624931.515 760726.154 0,
+ 1624644.962 760689.38 0, 1624358.407 760652.623 0, 1624071.849 760615.883 0, 1623785.29 760579.16 0, 1623498.728 760542.454 0, 1623212.164 760505.764 0, 1622925.598 760469.092 0, 1622639.029 760432.436 0, 1622351.172 760395.632 0, 1621644.773 765922.022 0,
+ 1620938.341 771448.68 0, 1621225.545 771485.4 0, 1621511.463 771521.972 0, 1621797.379 771558.562 0, 1622083.292 771595.168 0, 1622369.203 771631.791 0, 1622655.112 771668.431 0, 1622941.019 771705.087 0, 1623226.924 771741.761 0, 1623512.827 771778.451 0,
+ 1623798.727 771815.158 0, 1624084.625 771851.882 0, 1624370.521 771888.623 0, 1624656.415 771925.381 0, 1624942.307 771962.155 0, 1625228.197 771998.946 0, 1625514.084 772035.755 0, 1625799.97 772072.579 0, 1626085.853 772109.421 0, 1626371.734 772146.28 0,
+ 1626657.613 772183.155 0, 1626943.489 772220.047 0, 1627229.364 772256.956 0, 1627515.236 772293.882 0, 1627799.823 772330.659 0, 1628086.974 772367.785 0, 1628372.84 772404.761 0, 1628658.703 772441.754 0, 1628944.565 772478.764 0, 1629230.424 772515.791 0,
+ 1629516.281 772552.835 0, 1629802.136 772589.895 0, 1630087.989 772626.972 0, 1630373.839 772664.067 0, 1630659.687 772701.178 0, 1630945.534 772738.305 0, 1631231.378 772775.45 0, 1631517.219 772812.611 0, 1631803.059 772849.79 0, 1632088.896 772886.985 0,
+ 1632374.731 772924.197 0, 1632660.564 772961.425 0, 1632946.395 772998.671 0, 1633232.224 773035.933 0, 1633518.05 773073.213 0, 1633803.875 773110.509 0, 1634089.697 773147.821 0, 1634375.516 773185.151 0, 1634660.052 773222.33 0, 1635382.096 767697.689 0,
+ 1636104.104 762173.318 0))
+
+POLYGON ((1648376.698 775034.739 0, 1648092.266 774996.756 0, 1647806.553 774958.619 0, 1647520.837 774920.499 0, 1647235.12 774882.396 0, 1646949.4 774844.309 0, 1646663.678 774806.24 0, 1646377.953 774768.187 0, 1646092.226 774730.15 0, 1645806.497 774692.131 0,
+ 1645520.766 774654.129 0, 1645235.033 774616.143 0, 1644949.297 774578.174 0, 1644663.559 774540.222 0, 1644377.819 774502.287 0, 1644092.077 774464.369 0, 1643806.332 774426.467 0, 1643520.586 774388.582 0, 1643234.837 774350.714 0, 1642949.085 774312.863 0,
+ 1642663.332 774275.029 0, 1642377.576 774237.211 0, 1642091.818 774199.411 0, 1641806.058 774161.627 0, 1641519.015 774123.691 0, 1641234.531 774086.11 0, 1640948.764 774048.376 0, 1640662.995 774010.66 0, 1640377.224 773972.96 0, 1640091.45 773935.277 0,
+ 1639805.675 773897.611 0, 1639519.897 773859.962 0, 1639234.117 773822.329 0, 1638948.334 773784.714 0, 1638662.55 773747.115 0, 1638376.763 773709.533 0, 1638090.974 773671.968 0, 1637805.183 773634.419 0, 1637519.389 773596.888 0, 1637233.594 773559.373 0,
+ 1636947.796 773521.875 0, 1636661.996 773484.394 0, 1636376.194 773446.93 0, 1636090.389 773409.482 0, 1635804.583 773372.052 0, 1635518.774 773334.638 0, 1635232.963 773297.241 0, 1634947.15 773259.861 0, 1634660.052 773222.33 0, 1633937.974 778747.236 0,
+ 1633215.861 784272.405 0, 1633502.305 784309.85 0, 1633787.468 784347.146 0, 1634072.629 784384.457 0, 1634357.787 784421.786 0, 1634642.944 784459.132 0, 1634928.098 784496.494 0, 1635213.25 784533.873 0, 1635498.399 784571.268 0, 1635783.547 784608.681 0,
+ 1636068.692 784646.11 0, 1636353.835 784683.557 0, 1636638.976 784721.019 0, 1636924.115 784758.499 0, 1637209.251 784795.996 0, 1637494.385 784833.509 0, 1637779.517 784871.039 0, 1638064.647 784908.586 0, 1638349.775 784946.149 0, 1638634.9 784983.73 0,
+ 1638920.023 785021.327 0, 1639205.144 785058.941 0, 1639490.263 785096.572 0, 1639775.38 785134.219 0, 1640059.216 785171.715 0, 1640345.606 785209.565 0, 1640630.716 785247.262 0, 1640915.824 785284.977 0, 1641200.929 785322.708 0, 1641486.032 785360.457 0,
+ 1641771.133 785398.222 0, 1642056.232 785436.003 0, 1642341.329 785473.802 0, 1642626.423 785511.617 0, 1642911.515 785549.449 0, 1643196.605 785587.298 0, 1643481.693 785625.164 0, 1643766.778 785663.046 0, 1644051.861 785700.946 0, 1644336.942 785738.862 0,
+ 1644622.021 785776.794 0, 1644907.098 785814.744 0, 1645192.172 785852.71 0, 1645477.244 785890.693 0, 1645762.314 785928.693 0, 1646047.381 785966.71 0, 1646332.447 786004.743 0, 1646617.51 786042.794 0, 1646901.294 786080.69 0, 1647639.014 780557.584 0,
+ 1648376.698 775034.739 0))
+
+POLYGON ((1660581.564 787927.632 0, 1660297.885 787888.934 0, 1660012.931 787850.078 0, 1659727.974 787811.239 0, 1659443.015 787772.418 0, 1659158.054 787733.612 0, 1658873.09 787694.824 0, 1658588.124 787656.052 0, 1658303.156 787617.298 0, 1658018.186 787578.56 0,
+ 1657733.213 787539.838 0, 1657448.238 787501.134 0, 1657163.261 787462.446 0, 1656878.281 787423.775 0, 1656593.3 787385.121 0, 1656308.315 787346.484 0, 1656023.329 787307.863 0, 1655738.34 787269.259 0, 1655453.35 787230.672 0, 1655168.356 787192.102 0,
+ 1654883.361 787153.548 0, 1654598.363 787115.012 0, 1654313.363 787076.492 0, 1654028.361 787037.988 0, 1653742.081 786999.33 0, 1653458.35 786961.032 0, 1653173.341 786922.58 0, 1652888.329 786884.143 0, 1652603.316 786845.724 0, 1652318.3 786807.322 0,
+ 1652033.282 786768.936 0, 1651748.261 786730.567 0, 1651463.239 786692.215 0, 1651178.214 786653.879 0, 1650893.187 786615.56 0, 1650608.157 786577.259 0, 1650323.126 786538.973 0, 1650038.092 786500.705 0, 1649753.056 786462.454 0, 1649468.017 786424.219 0,
+ 1649182.977 786386.001 0, 1648897.934 786347.8 0, 1648612.889 786309.615 0, 1648327.841 786271.447 0, 1648042.792 786233.296 0, 1647757.74 786195.162 0, 1647472.686 786157.045 0, 1647187.629 786118.944 0, 1646901.294 786080.69 0, 1646163.54 791604.055 0,
+ 1645425.752 797127.676 0, 1645711.434 797165.843 0, 1645995.84 797203.857 0, 1646280.244 797241.887 0, 1646564.646 797279.934 0, 1646849.046 797317.998 0, 1647133.443 797356.079 0, 1647417.838 797394.176 0, 1647702.23 797432.29 0, 1647986.621 797470.421 0,
+ 1648271.009 797508.568 0, 1648555.395 797546.733 0, 1648839.779 797584.914 0, 1649124.16 797623.112 0, 1649408.54 797661.326 0, 1649692.917 797699.557 0, 1649977.291 797737.805 0, 1650261.664 797776.07 0, 1650546.034 797814.352 0, 1650830.402 797852.65 0,
+ 1651114.768 797890.965 0, 1651399.131 797929.296 0, 1651683.493 797967.645 0, 1651967.851 798006.01 0, 1652250.936 798044.22 0, 1652536.563 798082.791 0, 1652820.915 798121.206 0, 1653105.265 798159.638 0, 1653389.612 798198.087 0, 1653673.958 798236.553 0,
+ 1653958.301 798275.035 0, 1654242.642 798313.534 0, 1654526.98 798352.05 0, 1654811.317 798390.582 0, 1655095.651 798429.131 0, 1655379.983 798467.697 0, 1655664.312 798506.28 0, 1655948.639 798544.88 0, 1656232.964 798583.496 0, 1656517.287 798622.129 0,
+ 1656801.608 798660.778 0, 1657085.926 798699.445 0, 1657370.242 798738.128 0, 1657654.555 798776.828 0, 1657938.867 798815.544 0, 1658223.176 798854.278 0, 1658507.482 798893.028 0, 1658791.787 798931.795 0, 1659074.818 798970.405 0, 1659828.209 793448.891 0,
+ 1660581.564 787927.632 0))
+
+POLYGON ((1193301.572 368481.217 0, 1192993.4 368469.902 0, 1192683.761 368458.552 0, 1192374.12 368447.22 0, 1192064.479 368435.907 0, 1191754.837 368424.611 0, 1191445.195 368413.334 0, 1191135.552 368402.075 0, 1190825.908 368390.834 0, 1190516.263 368379.612 0,
+ 1190206.618 368368.408 0, 1189896.972 368357.222 0, 1189587.326 368346.054 0, 1189277.679 368334.904 0, 1188968.031 368323.773 0, 1188658.383 368312.659 0, 1188348.734 368301.565 0, 1188039.084 368290.488 0, 1187729.434 368279.429 0, 1187419.783 368268.389 0,
+ 1187110.131 368257.367 0, 1186800.479 368246.363 0, 1186490.826 368235.378 0, 1186181.172 368224.41 0, 1185870.049 368213.409 0, 1185561.863 368202.53 0, 1185252.207 368191.618 0, 1184942.551 368180.723 0, 1184632.894 368169.847 0, 1184323.237 368158.989 0,
+ 1184013.579 368148.149 0, 1183703.92 368137.327 0, 1183394.261 368126.524 0, 1183084.601 368115.739 0, 1182774.94 368104.972 0, 1182465.279 368094.223 0, 1182155.617 368083.493 0, 1181845.954 368072.781 0, 1181536.291 368062.087 0, 1181226.627 368051.411 0,
+ 1180916.963 368040.754 0, 1180607.298 368030.114 0, 1180297.632 368019.493 0, 1179987.966 368008.89 0, 1179678.299 367998.306 0, 1179368.631 367987.739 0, 1179058.963 367977.191 0, 1178749.295 367966.661 0, 1178438.155 367956.1 0, 1178250.129 373500.113 0,
+ 1178062.086 379044.599 0, 1178372.57 379055.138 0, 1178681.586 379065.646 0, 1178990.602 379076.172 0, 1179299.616 379086.716 0, 1179608.631 379097.278 0, 1179917.644 379107.859 0, 1180226.657 379118.457 0, 1180535.67 379129.074 0, 1180844.682 379139.709 0,
+ 1181153.693 379150.363 0, 1181462.703 379161.034 0, 1181771.713 379171.724 0, 1182080.723 379182.432 0, 1182389.731 379193.158 0, 1182698.739 379203.902 0, 1183007.747 379214.664 0, 1183316.753 379225.445 0, 1183625.759 379236.243 0, 1183934.765 379247.06 0,
+ 1184243.77 379257.895 0, 1184552.774 379268.749 0, 1184861.778 379279.62 0, 1185170.78 379290.51 0, 1185478.317 379301.366 0, 1185788.784 379312.344 0, 1186097.785 379323.288 0, 1186406.786 379334.251 0, 1186715.785 379345.231 0, 1187024.784 379356.23 0,
+ 1187333.783 379367.247 0, 1187642.781 379378.282 0, 1187951.778 379389.336 0, 1188260.774 379400.407 0, 1188569.77 379411.497 0, 1188878.765 379422.605 0, 1189187.76 379433.731 0, 1189496.753 379444.875 0, 1189805.747 379456.038 0, 1190114.739 379467.218 0,
+ 1190423.731 379478.417 0, 1190732.722 379489.634 0, 1191041.713 379500.87 0, 1191350.703 379512.123 0, 1191659.692 379523.395 0, 1191968.68 379534.684 0, 1192277.668 379545.992 0, 1192586.656 379557.319 0, 1192894.178 379568.609 0, 1193097.884 374024.676 0,
+ 1193301.572 368481.217 0))
+
+POLYGON ((1207724.73 380134.521 0, 1207417.238 380122.361 0, 1207108.284 380110.162 0, 1206799.329 380097.981 0, 1206490.374 380085.819 0, 1206181.418 380073.674 0, 1205872.461 380061.548 0, 1205563.503 380049.44 0, 1205254.545 380037.35 0, 1204945.586 380025.278 0,
+ 1204636.627 380013.224 0, 1204327.666 380001.189 0, 1204018.705 379989.172 0, 1203709.743 379977.173 0, 1203400.781 379965.192 0, 1203091.817 379953.229 0, 1202782.853 379941.285 0, 1202473.889 379929.358 0, 1202164.923 379917.45 0, 1201855.957 379905.56 0,
+ 1201546.991 379893.689 0, 1201238.023 379881.835 0, 1200929.055 379870 0, 1200620.086 379858.182 0, 1200309.654 379846.328 0, 1200002.146 379834.603 0, 1199693.176 379822.84 0, 1199384.204 379811.096 0, 1199075.232 379799.369 0, 1198766.259 379787.661 0,
+ 1198457.285 379775.971 0, 1198148.311 379764.3 0, 1197839.336 379752.646 0, 1197530.36 379741.011 0, 1197221.383 379729.394 0, 1196912.406 379717.795 0, 1196603.428 379706.214 0, 1196294.45 379694.651 0, 1195985.471 379683.107 0, 1195676.491 379671.581 0,
+ 1195367.51 379660.073 0, 1195058.529 379648.583 0, 1194749.547 379637.111 0, 1194440.565 379625.658 0, 1194131.582 379614.222 0, 1193822.598 379602.805 0, 1193513.613 379591.406 0, 1193204.628 379580.026 0, 1192894.178 379568.609 0, 1192690.455 385113.012 0,
+ 1192486.715 390657.883 0, 1192796.509 390669.275 0, 1193104.841 390680.632 0, 1193413.173 390692.007 0, 1193721.504 390703.4 0, 1194029.835 390714.811 0, 1194338.165 390726.24 0, 1194646.494 390737.688 0, 1194954.822 390749.153 0, 1195263.15 390760.637 0,
+ 1195571.477 390772.139 0, 1195879.804 390783.659 0, 1196188.13 390795.197 0, 1196496.455 390806.753 0, 1196804.779 390818.328 0, 1197113.103 390829.92 0, 1197421.426 390841.531 0, 1197729.748 390853.16 0, 1198038.07 390864.807 0, 1198346.391 390876.472 0,
+ 1198654.711 390888.156 0, 1198963.031 390899.857 0, 1199271.35 390911.577 0, 1199579.668 390923.315 0, 1199886.526 390935.015 0, 1200196.303 390946.845 0, 1200504.619 390958.637 0, 1200812.934 390970.447 0, 1201121.249 390982.276 0, 1201429.563 390994.122 0,
+ 1201737.877 391005.987 0, 1202046.189 391017.87 0, 1202354.501 391029.771 0, 1202662.813 391041.691 0, 1202971.123 391053.628 0, 1203279.433 391065.583 0, 1203587.742 391077.557 0, 1203896.051 391089.549 0, 1204204.359 391101.559 0, 1204512.666 391113.587 0,
+ 1204820.972 391125.633 0, 1205129.278 391137.698 0, 1205437.583 391149.78 0, 1205745.887 391161.881 0, 1206054.19 391174 0, 1206362.493 391186.137 0, 1206670.795 391198.292 0, 1206979.097 391210.466 0, 1207285.939 391222.599 0, 1207505.344 385678.326 0,
+ 1207724.73 380134.521 0))
+
+POLYGON ((1222083.509 391829.124 0, 1221776.7 391816.123 0, 1221468.434 391803.079 0, 1221160.167 391790.053 0, 1220851.9 391777.045 0, 1220543.632 391764.055 0, 1220235.363 391751.083 0, 1219927.094 391738.13 0, 1219618.823 391725.194 0, 1219310.552 391712.277 0,
+ 1219002.28 391699.378 0, 1218694.008 391686.497 0, 1218385.734 391673.634 0, 1218077.46 391660.789 0, 1217769.185 391647.963 0, 1217460.91 391635.154 0, 1217152.633 391622.364 0, 1216844.356 391609.592 0, 1216536.078 391596.838 0, 1216227.8 391584.102 0,
+ 1215919.52 391571.385 0, 1215611.24 391558.685 0, 1215302.959 391546.004 0, 1214994.678 391533.341 0, 1214684.938 391520.636 0, 1214378.112 391508.069 0, 1214069.828 391495.46 0, 1213761.544 391482.869 0, 1213453.258 391470.297 0, 1213144.972 391457.742 0,
+ 1212836.685 391445.206 0, 1212528.398 391432.688 0, 1212220.109 391420.188 0, 1211911.82 391407.706 0, 1211603.531 391395.243 0, 1211295.24 391382.797 0, 1210986.949 391370.37 0, 1210678.657 391357.961 0, 1210370.364 391345.569 0, 1210062.071 391333.197 0,
+ 1209753.777 391320.842 0, 1209445.482 391308.505 0, 1209137.186 391296.187 0, 1208828.89 391283.886 0, 1208520.593 391271.604 0, 1208212.295 391259.34 0, 1207903.996 391247.094 0, 1207595.697 391234.867 0, 1207285.939 391222.599 0, 1207066.516 396767.337 0,
+ 1206847.074 402312.536 0, 1207156.177 402324.777 0, 1207463.823 402336.979 0, 1207771.469 402349.199 0, 1208079.114 402361.437 0, 1208386.758 402373.693 0, 1208694.402 402385.967 0, 1209002.045 402398.26 0, 1209309.687 402410.57 0, 1209617.329 402422.899 0,
+ 1209924.969 402435.246 0, 1210232.609 402447.61 0, 1210540.249 402459.993 0, 1210847.887 402472.394 0, 1211155.525 402484.814 0, 1211463.162 402497.251 0, 1211770.798 402509.706 0, 1212078.434 402522.18 0, 1212386.069 402534.671 0, 1212693.703 402547.181 0,
+ 1213001.336 402559.709 0, 1213308.969 402572.255 0, 1213616.601 402584.818 0, 1213924.232 402597.401 0, 1214230.408 402609.941 0, 1214539.492 402622.619 0, 1214847.121 402635.256 0, 1215154.749 402647.91 0, 1215462.377 402660.583 0, 1215770.003 402673.273 0,
+ 1216077.629 402685.982 0, 1216385.255 402698.709 0, 1216692.879 402711.454 0, 1217000.503 402724.217 0, 1217308.126 402736.999 0, 1217615.748 402749.798 0, 1217923.369 402762.616 0, 1218230.99 402775.451 0, 1218538.61 402788.305 0, 1218846.229 402801.177 0,
+ 1219153.848 402814.067 0, 1219461.465 402826.975 0, 1219769.082 402839.901 0, 1220076.698 402852.845 0, 1220384.314 402865.807 0, 1220691.928 402878.788 0, 1220999.542 402891.786 0, 1221307.155 402904.803 0, 1221613.315 402917.776 0, 1221848.421 397373.219 0,
+ 1222083.509 391829.124 0))
+
+POLYGON ((1292907.487 450911.311 0, 1292604.127 450894.161 0, 1292299.338 450876.948 0, 1291994.549 450859.752 0, 1291689.758 450842.575 0, 1291384.966 450825.416 0, 1291080.174 450808.275 0, 1290775.38 450791.151 0, 1290470.585 450774.046 0, 1290165.789 450756.958 0,
+ 1289860.993 450739.888 0, 1289556.195 450722.837 0, 1289251.396 450705.803 0, 1288946.596 450688.787 0, 1288641.796 450671.789 0, 1288336.994 450654.809 0, 1288032.191 450637.848 0, 1287727.388 450620.903 0, 1287422.583 450603.977 0, 1287117.777 450587.069 0,
+ 1286812.97 450570.179 0, 1286508.163 450553.307 0, 1286203.354 450536.452 0, 1285898.544 450519.616 0, 1285592.304 450502.719 0, 1285288.922 450485.997 0, 1284984.109 450469.215 0, 1284679.296 450452.45 0, 1284374.481 450435.703 0, 1284069.665 450418.974 0,
+ 1283764.849 450402.264 0, 1283460.031 450385.571 0, 1283155.212 450368.896 0, 1282850.393 450352.239 0, 1282545.572 450335.6 0, 1282240.751 450318.979 0, 1281935.928 450302.376 0, 1281631.105 450285.79 0, 1281326.28 450269.223 0, 1281021.455 450252.674 0,
+ 1280716.629 450236.142 0, 1280411.801 450219.629 0, 1280106.973 450203.133 0, 1279802.144 450186.656 0, 1279497.313 450170.196 0, 1279192.482 450153.754 0, 1278887.65 450137.331 0, 1278582.817 450120.925 0, 1278276.552 450104.46 0, 1277978.588 455650.027 0,
+ 1277680.601 461196.026 0, 1277986.21 461212.455 0, 1278290.39 461228.826 0, 1278594.569 461245.214 0, 1278898.748 461261.621 0, 1279202.925 461278.045 0, 1279507.102 461294.487 0, 1279811.277 461310.948 0, 1280115.452 461327.426 0, 1280419.625 461343.922 0,
+ 1280723.798 461360.436 0, 1281027.97 461376.967 0, 1281332.14 461393.517 0, 1281636.31 461410.085 0, 1281940.479 461426.67 0, 1282244.646 461443.274 0, 1282548.813 461459.895 0, 1282852.979 461476.534 0, 1283157.144 461493.191 0, 1283461.308 461509.866 0,
+ 1283765.47 461526.559 0, 1284069.632 461543.27 0, 1284373.793 461559.999 0, 1284677.953 461576.745 0, 1284980.686 461593.431 0, 1285286.27 461610.292 0, 1285590.427 461627.093 0, 1285894.583 461643.911 0, 1286198.738 461660.747 0, 1286502.892 461677.601 0,
+ 1286807.045 461694.473 0, 1287111.197 461711.363 0, 1287415.348 461728.271 0, 1287719.498 461745.196 0, 1288023.646 461762.14 0, 1288327.794 461779.101 0, 1288631.941 461796.081 0, 1288936.087 461813.078 0, 1289240.232 461830.093 0, 1289544.376 461847.126 0,
+ 1289848.519 461864.177 0, 1290152.661 461881.246 0, 1290456.802 461898.333 0, 1290760.942 461915.437 0, 1291065.081 461932.56 0, 1291369.219 461949.7 0, 1291673.356 461966.859 0, 1291977.492 461984.035 0, 1292280.202 462001.148 0, 1292593.857 456456.014 0,
+ 1292907.487 450911.311 0))
+
+POLYGON ((1306877.471 462847.515 0, 1306574.808 462829.546 0, 1306270.721 462811.51 0, 1305966.634 462793.493 0, 1305662.546 462775.493 0, 1305358.457 462757.511 0, 1305054.366 462739.548 0, 1304750.275 462721.602 0, 1304446.182 462703.674 0, 1304142.088 462685.763 0,
+ 1303837.994 462667.871 0, 1303533.898 462649.997 0, 1303229.801 462632.14 0, 1302925.704 462614.302 0, 1302621.605 462596.481 0, 1302317.505 462578.678 0, 1302013.404 462560.894 0, 1301709.302 462543.127 0, 1301405.199 462525.378 0, 1301101.095 462507.646 0,
+ 1300796.99 462489.933 0, 1300492.884 462472.238 0, 1300188.776 462454.56 0, 1299884.668 462436.901 0, 1299579.135 462419.177 0, 1299276.448 462401.635 0, 1298972.337 462384.029 0, 1298668.225 462366.441 0, 1298364.111 462348.871 0, 1298059.997 462331.319 0,
+ 1297755.881 462313.785 0, 1297451.765 462296.269 0, 1297147.647 462278.77 0, 1296843.529 462261.29 0, 1296539.409 462243.827 0, 1296235.288 462226.382 0, 1295931.167 462208.955 0, 1295627.044 462191.546 0, 1295322.92 462174.155 0, 1295018.796 462156.782 0,
+ 1294714.67 462139.427 0, 1294410.543 462122.089 0, 1294106.415 462104.77 0, 1293802.286 462087.468 0, 1293498.156 462070.185 0, 1293194.026 462052.919 0, 1292889.894 462035.671 0, 1292585.761 462018.441 0, 1292280.202 462001.148 0, 1291966.523 467546.712 0,
+ 1291652.821 473092.701 0, 1291957.723 473109.957 0, 1292261.203 473127.15 0, 1292564.682 473144.361 0, 1292868.161 473161.59 0, 1293171.638 473178.836 0, 1293475.114 473196.101 0, 1293778.589 473213.383 0, 1294082.063 473230.683 0, 1294385.535 473248.001 0,
+ 1294689.007 473265.337 0, 1294992.478 473282.691 0, 1295295.948 473300.062 0, 1295599.417 473317.452 0, 1295902.885 473334.859 0, 1296206.352 473352.284 0, 1296509.818 473369.727 0, 1296813.282 473387.188 0, 1297116.746 473404.667 0, 1297420.209 473422.164 0,
+ 1297723.67 473439.678 0, 1298027.131 473457.21 0, 1298330.591 473474.761 0, 1298634.049 473492.329 0, 1298936.086 473509.832 0, 1299240.963 473527.518 0, 1299544.419 473545.14 0, 1299847.873 473562.78 0, 1300151.327 473580.437 0, 1300454.779 473598.112 0,
+ 1300758.23 473615.805 0, 1301061.681 473633.516 0, 1301365.13 473651.245 0, 1301668.578 473668.992 0, 1301972.025 473686.756 0, 1302275.471 473704.539 0, 1302578.916 473722.339 0, 1302882.36 473740.157 0, 1303185.803 473757.993 0, 1303489.245 473775.847 0,
+ 1303792.686 473793.719 0, 1304096.126 473811.608 0, 1304399.565 473829.516 0, 1304703.002 473847.441 0, 1305006.439 473865.384 0, 1305309.875 473883.345 0, 1305613.309 473901.324 0, 1305916.743 473919.321 0, 1306218.756 473937.251 0, 1306548.126 468392.17 0,
+ 1306877.471 462847.515 0))
+
+POLYGON ((1320782.247 474822.948 0, 1320480.283 474804.165 0, 1320176.902 474785.311 0, 1319873.519 474766.475 0, 1319570.136 474747.657 0, 1319266.751 474728.856 0, 1318963.365 474710.074 0, 1318659.978 474691.309 0, 1318356.59 474672.563 0, 1318053.201 474653.834 0,
+ 1317749.811 474635.123 0, 1317446.419 474616.429 0, 1317143.027 474597.754 0, 1316839.633 474579.097 0, 1316536.239 474560.457 0, 1316232.843 474541.835 0, 1315929.446 474523.231 0, 1315626.048 474504.645 0, 1315322.649 474486.077 0, 1315019.249 474467.527 0,
+ 1314715.848 474448.994 0, 1314412.445 474430.48 0, 1314109.042 474411.983 0, 1313805.638 474393.504 0, 1313500.814 474374.957 0, 1313198.825 474356.6 0, 1312895.418 474338.174 0, 1312592.009 474319.767 0, 1312288.599 474301.377 0, 1311985.188 474283.006 0,
+ 1311681.776 474264.652 0, 1311378.363 474246.316 0, 1311074.948 474227.997 0, 1310771.533 474209.697 0, 1310468.117 474191.415 0, 1310164.699 474173.15 0, 1309861.281 474154.903 0, 1309557.861 474136.674 0, 1309254.44 474118.463 0, 1308951.019 474100.27 0,
+ 1308647.596 474082.095 0, 1308344.172 474063.937 0, 1308040.747 474045.798 0, 1307737.321 474027.676 0, 1307433.894 474009.572 0, 1307130.466 473991.486 0, 1306827.037 473973.418 0, 1306523.606 473955.368 0, 1306218.756 473937.251 0, 1305889.361 479482.755 0,
+ 1305559.941 485028.679 0, 1305864.135 485046.756 0, 1306166.913 485064.768 0, 1306469.689 485082.797 0, 1306772.464 485100.844 0, 1307075.239 485118.909 0, 1307378.012 485136.992 0, 1307680.784 485155.093 0, 1307983.555 485173.211 0, 1308286.325 485191.347 0,
+ 1308589.094 485209.501 0, 1308891.862 485227.673 0, 1309194.629 485245.863 0, 1309497.395 485264.07 0, 1309800.159 485282.296 0, 1310102.923 485300.539 0, 1310405.685 485318.8 0, 1310708.447 485337.078 0, 1311011.207 485355.375 0, 1311313.966 485373.689 0,
+ 1311616.725 485392.022 0, 1311919.482 485410.372 0, 1312222.238 485428.74 0, 1312524.993 485447.125 0, 1312826.332 485465.443 0, 1313130.5 485483.95 0, 1313433.251 485502.389 0, 1313736.002 485520.846 0, 1314038.751 485539.321 0, 1314341.5 485557.814 0,
+ 1314644.247 485576.324 0, 1314946.994 485594.852 0, 1315249.739 485613.398 0, 1315552.483 485631.962 0, 1315855.226 485650.544 0, 1316157.968 485669.143 0, 1316460.709 485687.761 0, 1316763.448 485706.396 0, 1317066.187 485725.049 0, 1317368.924 485743.72 0,
+ 1317671.661 485762.408 0, 1317974.396 485781.115 0, 1318277.13 485799.839 0, 1318579.864 485818.581 0, 1318882.596 485837.341 0, 1319185.326 485856.119 0, 1319488.056 485874.914 0, 1319790.785 485893.728 0, 1320092.099 485912.471 0, 1320437.186 480367.5 0,
+ 1320782.247 474822.948 0))
+
+POLYGON ((1334621.703 486837.315 0, 1334320.44 486817.721 0, 1334017.766 486798.052 0, 1333715.09 486778.401 0, 1333412.414 486758.768 0, 1333109.736 486739.153 0, 1332807.057 486719.556 0, 1332504.377 486699.977 0, 1332201.696 486680.415 0, 1331899.013 486660.871 0,
+ 1331596.33 486641.345 0, 1331293.645 486621.837 0, 1330990.959 486602.347 0, 1330688.272 486582.874 0, 1330385.584 486563.419 0, 1330082.895 486543.982 0, 1329780.204 486524.563 0, 1329477.513 486505.162 0, 1329174.82 486485.778 0, 1328872.126 486466.413 0,
+ 1328569.431 486447.065 0, 1328266.735 486427.735 0, 1327964.038 486408.423 0, 1327661.339 486389.128 0, 1327357.227 486369.762 0, 1327055.939 486350.593 0, 1326753.237 486331.352 0, 1326450.534 486312.129 0, 1326147.83 486292.924 0, 1325845.125 486273.736 0,
+ 1325542.419 486254.566 0, 1325239.711 486235.414 0, 1324937.002 486216.28 0, 1324634.293 486197.164 0, 1324331.582 486178.066 0, 1324028.87 486158.985 0, 1323726.157 486139.922 0, 1323423.443 486120.877 0, 1323120.727 486101.85 0, 1322818.011 486082.841 0,
+ 1322515.293 486063.849 0, 1322212.575 486044.876 0, 1321909.855 486025.92 0, 1321607.134 486006.982 0, 1321304.412 485988.061 0, 1321001.689 485969.159 0, 1320698.964 485950.274 0, 1320396.239 485931.408 0, 1320092.099 485912.471 0, 1319746.986 491457.858 0,
+ 1319401.847 497003.66 0, 1319705.332 497022.556 0, 1320007.404 497041.382 0, 1320309.476 497060.226 0, 1320611.546 497079.088 0, 1320913.615 497097.967 0, 1321215.683 497116.864 0, 1321517.75 497135.779 0, 1321819.816 497154.712 0, 1322121.881 497173.663 0,
+ 1322423.945 497192.631 0, 1322726.007 497211.617 0, 1323028.069 497230.621 0, 1323330.129 497249.643 0, 1323632.188 497268.682 0, 1323934.246 497287.74 0, 1324236.303 497306.815 0, 1324538.359 497325.907 0, 1324840.414 497345.018 0, 1325142.467 497364.146 0,
+ 1325444.52 497383.292 0, 1325746.571 497402.456 0, 1326048.621 497421.638 0, 1326350.67 497440.837 0, 1326651.309 497459.965 0, 1326954.765 497479.29 0, 1327256.811 497498.542 0, 1327558.855 497517.813 0, 1327860.899 497537.101 0, 1328162.941 497556.408 0,
+ 1328464.982 497575.731 0, 1328767.022 497595.073 0, 1329069.061 497614.433 0, 1329371.099 497633.81 0, 1329673.135 497653.205 0, 1329975.171 497672.618 0, 1330277.205 497692.048 0, 1330579.238 497711.497 0, 1330881.27 497730.963 0, 1331183.301 497750.447 0,
+ 1331485.331 497769.948 0, 1331787.359 497789.468 0, 1332089.387 497809.005 0, 1332391.413 497828.56 0, 1332693.438 497848.133 0, 1332995.462 497867.723 0, 1333297.485 497887.332 0, 1333599.506 497906.958 0, 1333900.119 497926.51 0, 1334260.924 492381.706 0,
+ 1334621.703 486837.315 0))
+
+POLYGON ((1348395.726 498890.317 0, 1348095.167 498869.915 0, 1347793.202 498849.436 0, 1347491.236 498828.974 0, 1347189.269 498808.53 0, 1346887.3 498788.105 0, 1346585.33 498767.696 0, 1346283.359 498747.306 0, 1345981.387 498726.933 0, 1345679.414 498706.578 0,
+ 1345377.439 498686.241 0, 1345075.463 498665.922 0, 1344773.486 498645.62 0, 1344471.508 498625.336 0, 1344169.529 498605.07 0, 1343867.548 498584.822 0, 1343565.566 498564.592 0, 1343263.583 498544.379 0, 1342961.599 498524.184 0, 1342659.614 498504.007 0,
+ 1342357.627 498483.848 0, 1342055.64 498463.706 0, 1341753.651 498443.582 0, 1341451.661 498423.476 0, 1341148.263 498403.294 0, 1340847.677 498383.317 0, 1340545.683 498363.265 0, 1340243.688 498343.23 0, 1339941.692 498323.212 0, 1339639.695 498303.213 0,
+ 1339337.697 498283.231 0, 1339035.697 498263.268 0, 1338733.697 498243.321 0, 1338431.695 498223.393 0, 1338129.692 498203.483 0, 1337827.688 498183.59 0, 1337525.682 498163.715 0, 1337223.676 498143.858 0, 1336921.668 498124.018 0, 1336619.659 498104.197 0,
+ 1336317.649 498084.393 0, 1336015.638 498064.607 0, 1335713.626 498044.838 0, 1335411.612 498025.088 0, 1335109.597 498005.355 0, 1334807.581 497985.64 0, 1334505.564 497965.943 0, 1334203.546 497946.263 0, 1333900.119 497926.51 0, 1333539.287 503471.725 0,
+ 1333178.429 509017.347 0, 1333481.2 509037.058 0, 1333782.565 509056.695 0, 1334083.93 509076.35 0, 1334385.293 509096.022 0, 1334686.655 509115.712 0, 1334988.015 509135.42 0, 1335289.375 509155.146 0, 1335590.734 509174.889 0, 1335892.091 509194.65 0,
+ 1336193.447 509214.429 0, 1336494.802 509234.225 0, 1336796.156 509254.04 0, 1337097.508 509273.872 0, 1337398.86 509293.721 0, 1337700.21 509313.589 0, 1338001.559 509333.474 0, 1338302.907 509353.377 0, 1338604.254 509373.298 0, 1338905.599 509393.236 0,
+ 1339206.944 509413.192 0, 1339508.287 509433.166 0, 1339809.629 509453.158 0, 1340110.97 509473.167 0, 1340410.906 509493.101 0, 1340713.648 509513.239 0, 1341014.986 509533.302 0, 1341316.322 509553.382 0, 1341617.657 509573.48 0, 1341918.991 509593.596 0,
+ 1342220.323 509613.73 0, 1342521.655 509633.881 0, 1342822.985 509654.05 0, 1343124.314 509674.237 0, 1343425.642 509694.441 0, 1343726.969 509714.663 0, 1344028.294 509734.903 0, 1344329.618 509755.161 0, 1344630.942 509775.437 0, 1344932.263 509795.73 0,
+ 1345233.584 509816.041 0, 1345534.904 509836.369 0, 1345836.222 509856.716 0, 1346137.539 509877.08 0, 1346438.855 509897.462 0, 1346740.17 509917.861 0, 1347041.483 509938.278 0, 1347342.796 509958.713 0, 1347642.704 509979.071 0, 1348019.229 504434.49 0,
+ 1348395.726 498890.317 0))
+
+POLYGON ((1362104.206 510981.655 0, 1361804.353 510960.45 0, 1361503.1 510939.164 0, 1361201.845 510917.895 0, 1360900.589 510896.644 0, 1360599.332 510875.411 0, 1360298.074 510854.196 0, 1359996.814 510832.999 0, 1359695.553 510811.819 0, 1359394.291 510790.657 0,
+ 1359093.028 510769.512 0, 1358791.763 510748.386 0, 1358490.497 510727.277 0, 1358189.23 510706.186 0, 1357887.962 510685.112 0, 1357586.692 510664.056 0, 1357285.421 510643.018 0, 1356984.149 510621.998 0, 1356682.876 510600.996 0, 1356381.601 510580.011 0,
+ 1356080.326 510559.044 0, 1355779.049 510538.095 0, 1355477.77 510517.163 0, 1355176.491 510496.249 0, 1354873.809 510475.256 0, 1354573.928 510454.475 0, 1354272.645 510433.614 0, 1353971.361 510412.771 0, 1353670.075 510391.946 0, 1353368.788 510371.138 0,
+ 1353067.5 510350.349 0, 1352766.211 510329.577 0, 1352464.92 510308.822 0, 1352163.629 510288.086 0, 1351862.336 510267.367 0, 1351561.041 510246.666 0, 1351259.746 510225.983 0, 1350958.449 510205.317 0, 1350657.152 510184.669 0, 1350355.853 510164.039 0,
+ 1350054.552 510143.427 0, 1349753.251 510122.832 0, 1349451.948 510102.255 0, 1349150.644 510081.696 0, 1348849.339 510061.155 0, 1348548.033 510040.631 0, 1348246.725 510020.125 0, 1347945.417 509999.637 0, 1347642.704 509979.071 0, 1347266.153 515524.056 0,
+ 1346889.573 521069.443 0, 1347191.63 521089.964 0, 1347492.286 521110.408 0, 1347792.941 521130.87 0, 1348093.594 521151.349 0, 1348394.247 521171.846 0, 1348694.898 521192.36 0, 1348995.548 521212.893 0, 1349296.196 521233.443 0, 1349596.844 521254.011 0,
+ 1349897.49 521274.596 0, 1350198.135 521295.199 0, 1350498.779 521315.82 0, 1350799.422 521336.458 0, 1351100.063 521357.115 0, 1351400.703 521377.789 0, 1351701.343 521398.48 0, 1352001.98 521419.189 0, 1352302.617 521439.916 0, 1352603.252 521460.661 0,
+ 1352903.886 521481.423 0, 1353204.519 521502.204 0, 1353505.151 521523.001 0, 1353805.781 521543.817 0, 1354105.013 521564.553 0, 1354407.039 521585.501 0, 1354707.665 521606.369 0, 1355008.291 521627.256 0, 1355308.915 521648.159 0, 1355609.538 521669.081 0,
+ 1355910.16 521690.02 0, 1356210.781 521710.977 0, 1356511.4 521731.952 0, 1356812.018 521752.945 0, 1357112.635 521773.955 0, 1357413.251 521794.982 0, 1357713.866 521816.028 0, 1358014.479 521837.091 0, 1358315.091 521858.172 0, 1358615.701 521879.271 0,
+ 1358916.311 521900.387 0, 1359216.919 521921.521 0, 1359517.526 521942.672 0, 1359818.132 521963.842 0, 1360118.736 521985.029 0, 1360419.34 522006.233 0, 1360719.942 522027.456 0, 1361020.542 522048.696 0, 1361319.745 522069.855 0, 1361711.99 516525.554 0,
+ 1362104.206 510981.655 0))
+
+POLYGON ((1375747.033 523111.031 0, 1375447.889 523089.026 0, 1375147.349 523066.937 0, 1374846.809 523044.865 0, 1374546.266 523022.812 0, 1374245.723 523000.775 0, 1373945.178 522978.757 0, 1373644.632 522956.756 0, 1373344.085 522934.773 0, 1373043.536 522912.807 0,
+ 1372742.986 522890.86 0, 1372442.435 522868.93 0, 1372141.883 522847.017 0, 1371841.329 522825.123 0, 1371540.774 522803.246 0, 1371240.217 522781.386 0, 1370939.66 522759.545 0, 1370639.101 522737.721 0, 1370338.541 522715.914 0, 1370037.979 522694.126 0,
+ 1369737.416 522672.355 0, 1369436.852 522650.602 0, 1369136.287 522628.866 0, 1368835.72 522607.149 0, 1368533.757 522585.348 0, 1368234.583 522563.766 0, 1367934.013 522542.101 0, 1367633.441 522520.454 0, 1367332.868 522498.825 0, 1367032.294 522477.213 0,
+ 1366731.718 522455.619 0, 1366431.141 522434.043 0, 1366130.563 522412.485 0, 1365829.984 522390.944 0, 1365529.403 522369.421 0, 1365228.821 522347.915 0, 1364928.238 522326.427 0, 1364627.654 522304.957 0, 1364327.068 522283.505 0, 1364026.481 522262.07 0,
+ 1363725.893 522240.653 0, 1363425.303 522219.254 0, 1363124.713 522197.872 0, 1362824.121 522176.508 0, 1362523.527 522155.162 0, 1362222.933 522133.833 0, 1361922.337 522112.522 0, 1361621.74 522091.229 0, 1361319.745 522069.855 0, 1360927.473 527614.554 0,
+ 1360535.172 533159.648 0, 1360836.511 533180.976 0, 1361136.456 533202.223 0, 1361436.399 533223.487 0, 1361736.341 533244.77 0, 1362036.281 533266.07 0, 1362336.22 533287.387 0, 1362636.158 533308.722 0, 1362936.095 533330.075 0, 1363236.031 533351.446 0,
+ 1363535.965 533372.834 0, 1363835.898 533394.24 0, 1364135.83 533415.663 0, 1364435.76 533437.104 0, 1364735.689 533458.563 0, 1365035.617 533480.04 0, 1365335.544 533501.534 0, 1365635.469 533523.046 0, 1365935.393 533544.575 0, 1366235.316 533566.122 0,
+ 1366535.238 533587.687 0, 1366835.158 533609.269 0, 1367135.077 533630.869 0, 1367434.995 533652.487 0, 1367733.519 533674.022 0, 1368034.827 533695.775 0, 1368334.741 533717.446 0, 1368634.654 533739.134 0, 1368934.565 533760.84 0, 1369234.475 533782.563 0,
+ 1369534.384 533804.305 0, 1369834.292 533826.064 0, 1370134.198 533847.84 0, 1370434.103 533869.634 0, 1370734.007 533891.446 0, 1371033.909 533913.276 0, 1371333.81 533935.123 0, 1371633.71 533956.988 0, 1371933.609 533978.87 0, 1372233.506 534000.77 0,
+ 1372533.402 534022.688 0, 1372833.297 534044.623 0, 1373133.19 534066.576 0, 1373433.082 534088.547 0, 1373732.973 534110.535 0, 1374032.863 534132.541 0, 1374332.751 534154.565 0, 1374632.638 534176.606 0, 1374931.133 534198.563 0, 1375339.097 528654.599 0,
+ 1375747.033 523111.031 0))
+
+POLYGON ((1389324.1 535278.145 0, 1389025.667 535255.345 0, 1388725.843 535232.456 0, 1388426.018 535209.586 0, 1388126.192 535186.732 0, 1387826.365 535163.897 0, 1387526.536 535141.079 0, 1387226.706 535118.279 0, 1386926.874 535095.496 0, 1386627.041 535072.731 0,
+ 1386327.207 535049.984 0, 1386027.371 535027.254 0, 1385727.534 535004.543 0, 1385427.696 534981.848 0, 1385127.857 534959.171 0, 1384828.016 534936.512 0, 1384528.173 534913.871 0, 1384228.33 534891.247 0, 1383928.485 534868.641 0, 1383628.639 534846.053 0,
+ 1383328.791 534823.482 0, 1383028.942 534800.929 0, 1382729.092 534778.393 0, 1382429.24 534755.875 0, 1382127.998 534733.271 0, 1381829.533 534710.893 0, 1381529.678 534688.428 0, 1381229.821 534665.981 0, 1380929.963 534643.551 0, 1380630.103 534621.139 0,
+ 1380330.242 534598.745 0, 1380030.38 534576.368 0, 1379730.517 534554.009 0, 1379430.652 534531.668 0, 1379130.786 534509.344 0, 1378830.919 534487.038 0, 1378531.05 534464.75 0, 1378231.18 534442.479 0, 1377931.309 534420.226 0, 1377631.436 534397.99 0,
+ 1377331.562 534375.772 0, 1377031.687 534353.572 0, 1376731.81 534331.39 0, 1376431.932 534309.225 0, 1376132.053 534287.078 0, 1375832.173 534264.948 0, 1375532.291 534242.836 0, 1375232.408 534220.742 0, 1374931.133 534198.563 0, 1374523.139 539742.919 0,
+ 1374115.117 545287.663 0, 1374415.736 545309.794 0, 1374714.967 545331.84 0, 1375014.196 545353.904 0, 1375313.424 545375.985 0, 1375612.65 545398.084 0, 1375911.875 545420.201 0, 1376211.099 545442.335 0, 1376510.322 545464.487 0, 1376809.543 545486.656 0,
+ 1377108.763 545508.843 0, 1377407.982 545531.048 0, 1377707.199 545553.27 0, 1378006.415 545575.51 0, 1378305.63 545597.768 0, 1378604.843 545620.043 0, 1378904.055 545642.336 0, 1379203.266 545664.646 0, 1379502.476 545686.974 0, 1379801.684 545709.32 0,
+ 1380100.891 545731.683 0, 1380400.096 545754.064 0, 1380699.3 545776.462 0, 1380998.503 545798.878 0, 1381296.318 545821.208 0, 1381596.905 545843.763 0, 1381896.104 545866.232 0, 1382195.302 545888.718 0, 1382494.498 545911.222 0, 1382793.693 545933.744 0,
+ 1383092.887 545956.283 0, 1383392.079 545978.84 0, 1383691.27 546001.415 0, 1383990.46 546024.007 0, 1384289.648 546046.616 0, 1384588.835 546069.244 0, 1384888.021 546091.889 0, 1385187.205 546114.551 0, 1385486.388 546137.231 0, 1385785.57 546159.929 0,
+ 1386084.75 546182.644 0, 1386383.929 546205.377 0, 1386683.107 546228.128 0, 1386982.283 546250.896 0, 1387281.458 546273.682 0, 1387580.632 546296.485 0, 1387879.804 546319.307 0, 1388178.975 546342.145 0, 1388476.759 546364.896 0, 1388900.444 540821.326 0,
+ 1389324.1 535278.145 0))
+
+POLYGON ((1402835.301 547482.698 0, 1402537.58 547459.106 0, 1402238.474 547435.422 0, 1401939.368 547411.756 0, 1401640.26 547388.108 0, 1401341.15 547364.477 0, 1401042.039 547340.863 0, 1400742.927 547317.268 0, 1400443.814 547293.689 0, 1400144.699 547270.129 0,
+ 1399845.582 547246.586 0, 1399546.465 547223.061 0, 1399247.346 547199.553 0, 1398948.225 547176.063 0, 1398649.103 547152.59 0, 1398349.98 547129.135 0, 1398050.855 547105.698 0, 1397751.729 547082.278 0, 1397452.602 547058.876 0, 1397153.473 547035.492 0,
+ 1396854.343 547012.125 0, 1396555.211 546988.776 0, 1396256.079 546965.444 0, 1395956.944 546942.13 0, 1395656.424 546918.726 0, 1395358.672 546895.555 0, 1395059.533 546872.294 0, 1394760.393 546849.05 0, 1394461.252 546825.824 0, 1394162.11 546802.616 0,
+ 1393862.966 546779.425 0, 1393563.821 546756.252 0, 1393264.674 546733.096 0, 1392965.526 546709.958 0, 1392666.377 546686.838 0, 1392367.226 546663.735 0, 1392068.074 546640.65 0, 1391768.921 546617.582 0, 1391469.766 546594.532 0, 1391170.61 546571.5 0,
+ 1390871.453 546548.485 0, 1390572.294 546525.488 0, 1390273.134 546502.509 0, 1389973.972 546479.547 0, 1389674.809 546456.602 0, 1389375.645 546433.676 0, 1389076.48 546410.767 0, 1388777.313 546387.875 0, 1388476.759 546364.896 0, 1388053.044 551908.851 0,
+ 1387629.3 557453.189 0, 1387929.198 557476.119 0, 1388227.712 557498.96 0, 1388526.225 557521.819 0, 1388824.736 557544.696 0, 1389123.247 557567.59 0, 1389421.756 557590.502 0, 1389720.263 557613.431 0, 1390018.769 557636.378 0, 1390317.274 557659.343 0,
+ 1390615.778 557682.325 0, 1390914.28 557705.325 0, 1391212.781 557728.342 0, 1391511.28 557751.377 0, 1391809.778 557774.429 0, 1392108.275 557797.499 0, 1392406.77 557820.586 0, 1392705.264 557843.691 0, 1393003.757 557866.814 0, 1393302.248 557889.954 0,
+ 1393600.738 557913.112 0, 1393899.226 557936.287 0, 1394197.714 557959.48 0, 1394496.199 557982.691 0, 1394793.303 558005.811 0, 1395093.167 558029.164 0, 1395391.649 558052.428 0, 1395690.129 558075.708 0, 1395988.608 558099.007 0, 1396287.086 558122.323 0,
+ 1396585.562 558145.656 0, 1396884.037 558169.007 0, 1397182.51 558192.376 0, 1397480.982 558215.762 0, 1397779.453 558239.165 0, 1398077.922 558262.587 0, 1398376.39 558286.026 0, 1398674.857 558309.482 0, 1398973.322 558332.956 0, 1399271.786 558356.448 0,
+ 1399570.248 558379.957 0, 1399868.709 558403.483 0, 1400167.169 558427.028 0, 1400465.627 558450.59 0, 1400764.084 558474.169 0, 1401062.54 558497.766 0, 1401360.994 558521.38 0, 1401659.447 558545.012 0, 1401956.518 558568.553 0, 1402395.924 553025.434 0,
+ 1402835.301 547482.698 0))
+
+POLYGON ((1416280.528 559724.389 0, 1415983.522 559700.009 0, 1415685.138 559675.534 0, 1415386.751 559651.077 0, 1415088.364 559626.637 0, 1414789.975 559602.214 0, 1414491.584 559577.809 0, 1414193.192 559553.422 0, 1413894.799 559529.052 0, 1413596.404 559504.7 0,
+ 1413298.008 559480.365 0, 1412999.61 559456.048 0, 1412701.211 559431.748 0, 1412402.81 559407.466 0, 1412104.408 559383.202 0, 1411806.005 559358.955 0, 1411507.6 559334.726 0, 1411209.194 559310.514 0, 1410910.786 559286.32 0, 1410612.377 559262.143 0,
+ 1410313.966 559237.984 0, 1410015.554 559213.843 0, 1409717.141 559189.719 0, 1409418.726 559165.612 0, 1409118.931 559141.412 0, 1408821.892 559117.452 0, 1408523.473 559093.399 0, 1408225.053 559069.363 0, 1407926.631 559045.344 0, 1407628.208 559021.343 0,
+ 1407329.783 558997.36 0, 1407031.357 558973.394 0, 1406732.929 558949.446 0, 1406434.5 558925.515 0, 1406136.07 558901.602 0, 1405837.638 558877.706 0, 1405539.205 558853.828 0, 1405240.771 558829.968 0, 1404942.335 558806.125 0, 1404643.897 558782.3 0,
+ 1404345.458 558758.492 0, 1404047.018 558734.702 0, 1403748.577 558710.929 0, 1403450.134 558687.174 0, 1403151.689 558663.436 0, 1402853.244 558639.717 0, 1402554.796 558616.014 0, 1402256.348 558592.329 0, 1401956.518 558568.553 0, 1401517.082 564112.051 0,
+ 1401077.615 569655.925 0, 1401376.79 569679.65 0, 1401674.586 569703.283 0, 1401972.38 569726.934 0, 1402270.173 569750.602 0, 1402567.965 569774.287 0, 1402865.756 569797.99 0, 1403163.545 569821.711 0, 1403461.332 569845.449 0, 1403759.118 569869.205 0,
+ 1404056.903 569892.978 0, 1404354.687 569916.769 0, 1404652.469 569940.577 0, 1404950.249 569964.403 0, 1405248.029 569988.246 0, 1405545.806 570012.107 0, 1405843.583 570035.985 0, 1406141.358 570059.881 0, 1406439.131 570083.795 0, 1406736.903 570107.726 0,
+ 1407034.674 570131.674 0, 1407332.444 570155.64 0, 1407630.212 570179.624 0, 1407927.978 570203.625 0, 1408224.368 570227.532 0, 1408523.507 570251.68 0, 1408821.269 570275.733 0, 1409119.03 570299.804 0, 1409416.79 570323.893 0, 1409714.548 570347.999 0,
+ 1410012.304 570372.123 0, 1410310.059 570396.264 0, 1410607.813 570420.423 0, 1410905.566 570444.599 0, 1411203.317 570468.793 0, 1411501.066 570493.005 0, 1411798.814 570517.234 0, 1412096.561 570541.48 0, 1412394.306 570565.744 0, 1412692.05 570590.025 0,
+ 1412989.792 570614.324 0, 1413287.533 570638.641 0, 1413585.273 570662.975 0, 1413883.011 570687.327 0, 1414180.747 570711.696 0, 1414478.483 570736.082 0, 1414776.216 570760.486 0, 1415073.949 570784.908 0, 1415370.305 570809.234 0, 1415825.432 565266.624 0,
+ 1416280.528 559724.389 0))
+
+POLYGON ((1429659.68 572002.918 0, 1429363.391 571977.755 0, 1429065.729 571952.492 0, 1428768.065 571927.247 0, 1428470.4 571902.019 0, 1428172.733 571876.809 0, 1427875.065 571851.616 0, 1427577.396 571826.441 0, 1427279.725 571801.283 0, 1426982.052 571776.143 0,
+ 1426684.378 571751.021 0, 1426386.703 571725.916 0, 1426089.026 571700.828 0, 1425791.347 571675.758 0, 1425493.667 571650.706 0, 1425195.986 571625.671 0, 1424898.303 571600.653 0, 1424600.619 571575.653 0, 1424302.933 571550.671 0, 1424005.246 571525.706 0,
+ 1423707.557 571500.759 0, 1423409.867 571475.829 0, 1423112.175 571450.917 0, 1422814.482 571426.022 0, 1422515.414 571401.03 0, 1422219.091 571376.285 0, 1421921.394 571351.443 0, 1421623.695 571326.618 0, 1421325.994 571301.811 0, 1421028.292 571277.021 0,
+ 1420730.589 571252.249 0, 1420432.884 571227.495 0, 1420135.178 571202.757 0, 1419837.47 571178.038 0, 1419539.761 571153.336 0, 1419242.05 571128.651 0, 1418944.338 571103.984 0, 1418646.624 571079.335 0, 1418348.909 571054.703 0, 1418051.193 571030.088 0,
+ 1417753.475 571005.492 0, 1417455.756 570980.912 0, 1417158.035 570956.35 0, 1416860.312 570931.806 0, 1416562.589 570907.279 0, 1416264.864 570882.77 0, 1415967.137 570858.278 0, 1415669.409 570833.804 0, 1415370.305 570809.234 0, 1414915.148 576352.218 0,
+ 1414459.96 581895.572 0, 1414758.408 581920.088 0, 1415055.484 581944.508 0, 1415352.558 581968.946 0, 1415649.63 581993.402 0, 1415946.701 582017.875 0, 1416243.771 582042.365 0, 1416540.839 582066.873 0, 1416837.906 582091.399 0, 1417134.972 582115.942 0,
+ 1417432.036 582140.502 0, 1417729.098 582165.08 0, 1418026.159 582189.676 0, 1418323.219 582214.289 0, 1418620.277 582238.919 0, 1418917.334 582263.567 0, 1419214.389 582288.232 0, 1419511.443 582312.915 0, 1419808.495 582337.616 0, 1420105.546 582362.333 0,
+ 1420402.596 582387.069 0, 1420699.644 582411.822 0, 1420996.69 582436.592 0, 1421293.735 582461.38 0, 1421589.409 582486.07 0, 1421887.821 582511.008 0, 1422184.862 582535.848 0, 1422481.901 582560.706 0, 1422778.939 582585.581 0, 1423075.975 582610.473 0,
+ 1423373.01 582635.384 0, 1423670.044 582660.311 0, 1423967.075 582685.256 0, 1424264.106 582710.219 0, 1424561.135 582735.199 0, 1424858.162 582760.197 0, 1425155.188 582785.212 0, 1425452.213 582810.244 0, 1425749.236 582835.294 0, 1426046.258 582860.362 0,
+ 1426343.278 582885.447 0, 1426640.297 582910.549 0, 1426937.314 582935.669 0, 1427234.329 582960.806 0, 1427531.344 582985.961 0, 1427828.356 583011.134 0, 1428125.368 583036.324 0, 1428422.377 583061.531 0, 1428718.017 583086.64 0, 1429188.864 577544.594 0,
+ 1429659.68 572002.918 0))
+
+POLYGON ((1442972.653 584317.984 0, 1442677.083 584292.04 0, 1442380.145 584265.994 0, 1442083.206 584239.965 0, 1441786.266 584213.954 0, 1441489.324 584187.96 0, 1441192.38 584161.983 0, 1440895.435 584136.024 0, 1440598.489 584110.083 0, 1440301.541 584084.159 0,
+ 1440004.591 584058.252 0, 1439707.64 584032.363 0, 1439410.687 584006.492 0, 1439113.733 583980.637 0, 1438816.777 583954.801 0, 1438519.82 583928.982 0, 1438222.862 583903.18 0, 1437925.901 583877.396 0, 1437628.939 583851.629 0, 1437331.976 583825.88 0,
+ 1437035.011 583800.148 0, 1436738.045 583774.434 0, 1436441.077 583748.737 0, 1436144.108 583723.058 0, 1435845.77 583697.278 0, 1435550.165 583671.752 0, 1435253.191 583646.125 0, 1434956.215 583620.515 0, 1434659.238 583594.923 0, 1434362.26 583569.349 0,
+ 1434065.28 583543.792 0, 1433768.299 583518.252 0, 1433471.316 583492.73 0, 1433174.331 583467.226 0, 1432877.346 583441.739 0, 1432580.358 583416.269 0, 1432283.369 583390.817 0, 1431986.379 583365.383 0, 1431689.387 583339.966 0, 1431392.393 583314.566 0,
+ 1431095.399 583289.184 0, 1430798.402 583263.819 0, 1430501.404 583238.472 0, 1430204.405 583213.142 0, 1429907.404 583187.83 0, 1429610.402 583162.535 0, 1429313.398 583137.258 0, 1429016.393 583111.998 0, 1428718.017 583086.64 0, 1428247.139 588629.052 0,
+ 1427776.23 594171.827 0, 1428073.95 594197.13 0, 1428370.303 594222.335 0, 1428666.654 594247.556 0, 1428963.004 594272.795 0, 1429259.352 594298.052 0, 1429555.699 594323.326 0, 1429852.045 594348.618 0, 1430148.389 594373.927 0, 1430444.731 594399.253 0,
+ 1430741.072 594424.597 0, 1431037.412 594449.958 0, 1431333.75 594475.337 0, 1431630.086 594500.733 0, 1431926.421 594526.147 0, 1432222.755 594551.578 0, 1432519.087 594577.026 0, 1432815.417 594602.492 0, 1433111.746 594627.976 0, 1433408.074 594653.476 0,
+ 1433704.4 594678.995 0, 1434000.724 594704.53 0, 1434297.047 594730.083 0, 1434593.369 594755.654 0, 1434888.324 594781.124 0, 1435186.007 594806.848 0, 1435482.324 594832.47 0, 1435778.64 594858.111 0, 1436074.954 594883.769 0, 1436371.266 594909.444 0,
+ 1436667.577 594935.136 0, 1436963.886 594960.847 0, 1437260.194 594986.574 0, 1437556.501 595012.319 0, 1437852.806 595038.081 0, 1438149.109 595063.861 0, 1438445.411 595089.659 0, 1438741.711 595115.473 0, 1439038.01 595141.306 0, 1439334.307 595167.155 0,
+ 1439630.603 595193.022 0, 1439926.897 595218.907 0, 1440223.19 595244.809 0, 1440519.481 595270.728 0, 1440815.771 595296.665 0, 1441112.059 595322.619 0, 1441408.346 595348.591 0, 1441704.631 595374.58 0, 1441999.551 595400.467 0, 1442486.118 589859.044 0,
+ 1442972.653 584317.984 0))
+
+POLYGON ((1456219.345 596669.285 0, 1455924.496 596642.565 0, 1455628.286 596615.739 0, 1455332.074 596588.93 0, 1455035.86 596562.139 0, 1454739.645 596535.365 0, 1454443.428 596508.609 0, 1454147.21 596481.87 0, 1453850.99 596455.148 0, 1453554.768 596428.444 0,
+ 1453258.545 596401.758 0, 1452962.321 596375.089 0, 1452666.094 596348.437 0, 1452369.867 596321.802 0, 1452073.637 596295.186 0, 1451777.406 596268.586 0, 1451481.174 596242.004 0, 1451184.94 596215.44 0, 1450888.704 596188.892 0, 1450592.467 596162.363 0,
+ 1450296.228 596135.85 0, 1449999.988 596109.356 0, 1449703.746 596082.878 0, 1449407.503 596056.418 0, 1449109.896 596029.854 0, 1448815.011 596003.551 0, 1448518.763 595977.143 0, 1448222.514 595950.753 0, 1447926.262 595924.38 0, 1447630.01 595898.025 0,
+ 1447333.755 595871.687 0, 1447037.5 595845.366 0, 1446741.242 595819.063 0, 1446444.983 595792.778 0, 1446148.723 595766.51 0, 1445852.461 595740.259 0, 1445556.197 595714.026 0, 1445259.932 595687.81 0, 1444963.665 595661.611 0, 1444667.397 595635.431 0,
+ 1444371.127 595609.267 0, 1444074.856 595583.121 0, 1443778.583 595556.992 0, 1443482.309 595530.881 0, 1443186.033 595504.787 0, 1442889.756 595478.711 0, 1442593.477 595452.652 0, 1442297.196 595426.611 0, 1441999.551 595400.467 0, 1441512.953 600942.25 0,
+ 1441026.323 606484.391 0, 1441323.313 606510.477 0, 1441618.941 606536.461 0, 1441914.568 606562.462 0, 1442210.193 606588.481 0, 1442505.816 606614.518 0, 1442801.438 606640.571 0, 1443097.059 606666.642 0, 1443392.678 606692.731 0, 1443688.295 606718.837 0,
+ 1443983.911 606744.96 0, 1444279.525 606771.101 0, 1444575.138 606797.259 0, 1444870.749 606823.434 0, 1445166.359 606849.627 0, 1445461.967 606875.838 0, 1445757.574 606902.065 0, 1446053.179 606928.31 0, 1446348.782 606954.573 0, 1446644.384 606980.853 0,
+ 1446939.985 607007.15 0, 1447235.584 607033.465 0, 1447531.181 607059.797 0, 1447826.777 607086.146 0, 1448121.012 607112.392 0, 1448417.964 607138.898 0, 1448713.555 607165.299 0, 1449009.144 607191.718 0, 1449304.732 607218.155 0, 1449600.319 607244.609 0,
+ 1449895.904 607271.08 0, 1450191.487 607297.569 0, 1450487.069 607324.075 0, 1450782.649 607350.598 0, 1451078.228 607377.139 0, 1451373.805 607403.697 0, 1451669.38 607430.273 0, 1451964.954 607456.866 0, 1452260.527 607483.477 0, 1452556.097 607510.104 0,
+ 1452851.667 607536.75 0, 1453147.234 607563.412 0, 1453442.8 607590.092 0, 1453738.365 607616.79 0, 1454033.928 607643.505 0, 1454329.489 607670.237 0, 1454625.049 607696.987 0, 1454920.607 607723.754 0, 1455214.807 607750.415 0, 1455717.092 602209.672 0,
+ 1456219.345 596669.285 0))
+
+POLYGON ((1469399.657 609056.519 0, 1469105.532 609029.027 0, 1468810.05 609001.425 0, 1468514.567 608973.84 0, 1468219.082 608946.273 0, 1467923.596 608918.723 0, 1467628.108 608891.191 0, 1467332.619 608863.676 0, 1467037.127 608836.178 0, 1466741.635 608808.698 0,
+ 1466446.14 608781.235 0, 1466150.644 608753.79 0, 1465855.147 608726.362 0, 1465559.647 608698.951 0, 1465264.146 608671.558 0, 1464968.644 608644.182 0, 1464673.14 608616.824 0, 1464377.634 608589.483 0, 1464082.127 608562.159 0, 1463786.618 608534.853 0,
+ 1463491.107 608507.564 0, 1463195.595 608480.293 0, 1462900.081 608453.039 0, 1462604.566 608425.802 0, 1462307.693 608398.458 0, 1462013.531 608371.381 0, 1461718.01 608344.196 0, 1461422.489 608317.029 0, 1461126.965 608289.879 0, 1460831.44 608262.747 0,
+ 1460535.914 608235.632 0, 1460240.386 608208.535 0, 1459944.856 608181.455 0, 1459649.325 608154.392 0, 1459353.792 608127.346 0, 1459058.257 608100.318 0, 1458762.721 608073.308 0, 1458467.183 608046.315 0, 1458171.644 608019.339 0, 1457876.103 607992.381 0,
+ 1457580.561 607965.44 0, 1457285.017 607938.516 0, 1456989.471 607911.61 0, 1456693.924 607884.721 0, 1456398.375 607857.85 0, 1456102.825 607830.996 0, 1455807.273 607804.159 0, 1455511.719 607777.34 0, 1455214.807 607750.415 0, 1454712.49 613291.512 0,
+ 1454210.14 618832.96 0, 1454506.398 618859.825 0, 1454801.299 618886.585 0, 1455096.199 618913.363 0, 1455391.097 618940.157 0, 1455685.993 618966.969 0, 1455980.888 618993.799 0, 1456275.781 619020.646 0, 1456570.673 619047.51 0, 1456865.563 619074.391 0,
+ 1457160.452 619101.29 0, 1457455.339 619128.206 0, 1457750.224 619155.14 0, 1458045.108 619182.091 0, 1458339.991 619209.059 0, 1458634.871 619236.045 0, 1458929.75 619263.048 0, 1459224.628 619290.068 0, 1459519.504 619317.106 0, 1459814.378 619344.161 0,
+ 1460109.251 619371.234 0, 1460404.122 619398.323 0, 1460698.991 619425.431 0, 1460993.859 619452.555 0, 1461287.373 619479.572 0, 1461583.59 619506.856 0, 1461878.454 619534.033 0, 1462173.315 619561.227 0, 1462468.175 619588.438 0, 1462763.033 619615.667 0,
+ 1463057.89 619642.913 0, 1463352.745 619670.176 0, 1463647.599 619697.457 0, 1463942.451 619724.755 0, 1464237.301 619752.07 0, 1464532.15 619779.403 0, 1464826.997 619806.753 0, 1465121.842 619834.12 0, 1465416.686 619861.505 0, 1465711.528 619888.907 0,
+ 1466006.369 619916.327 0, 1466301.208 619943.764 0, 1466596.046 619971.218 0, 1466890.881 619998.69 0, 1467185.716 620026.179 0, 1467480.548 620053.685 0, 1467775.379 620081.209 0, 1468070.208 620108.75 0, 1468363.684 620136.181 0, 1468881.687 614596.175 0,
+ 1469399.657 609056.519 0))
+
+POLYGON ((1482513.49 621479.384 0, 1482220.09 621451.123 0, 1481925.34 621422.749 0, 1481630.588 621394.393 0, 1481335.834 621366.054 0, 1481041.079 621337.732 0, 1480746.322 621309.427 0, 1480451.563 621281.14 0, 1480156.803 621252.871 0, 1479862.041 621224.618 0,
+ 1479567.277 621196.383 0, 1479272.512 621168.165 0, 1478977.745 621139.965 0, 1478682.976 621111.782 0, 1478388.206 621083.616 0, 1478093.434 621055.468 0, 1477798.66 621027.337 0, 1477503.885 620999.224 0, 1477209.108 620971.127 0, 1476914.33 620943.048 0,
+ 1476619.549 620914.987 0, 1476324.767 620886.943 0, 1476029.984 620858.916 0, 1475735.199 620830.906 0, 1475439.061 620802.786 0, 1475145.623 620774.939 0, 1474850.833 620746.982 0, 1474556.042 620719.042 0, 1474261.248 620691.119 0, 1473966.453 620663.214 0,
+ 1473671.656 620635.326 0, 1473376.858 620607.455 0, 1473082.058 620579.602 0, 1472787.256 620551.766 0, 1472492.453 620523.947 0, 1472197.648 620496.146 0, 1471902.842 620468.362 0, 1471608.034 620440.595 0, 1471313.224 620412.846 0, 1471018.412 620385.114 0,
+ 1470723.599 620357.399 0, 1470428.785 620329.702 0, 1470133.968 620302.022 0, 1469839.15 620274.36 0, 1469544.331 620246.715 0, 1469249.509 620219.087 0, 1468954.687 620191.477 0, 1468659.862 620163.884 0, 1468363.684 620136.181 0, 1467845.649 625676.535 0,
+ 1467327.582 631217.232 0, 1467623.105 631244.873 0, 1467917.277 631272.405 0, 1468211.448 631299.955 0, 1468505.617 631327.521 0, 1468799.784 631355.105 0, 1469093.95 631382.707 0, 1469388.114 631410.325 0, 1469682.276 631437.961 0, 1469976.437 631465.614 0,
+ 1470270.596 631493.285 0, 1470564.754 631520.973 0, 1470858.91 631548.678 0, 1471153.064 631576.4 0, 1471447.217 631604.14 0, 1471741.368 631631.897 0, 1472035.518 631659.672 0, 1472329.666 631687.463 0, 1472623.812 631715.272 0, 1472917.956 631743.099 0,
+ 1473212.099 631770.942 0, 1473506.241 631798.803 0, 1473800.38 631826.682 0, 1474094.518 631854.577 0, 1474387.307 631882.362 0, 1474682.789 631910.42 0, 1474976.922 631938.368 0, 1475271.054 631966.333 0, 1475565.184 631994.315 0, 1475859.312 632022.314 0,
+ 1476153.438 632050.331 0, 1476447.563 632078.365 0, 1476741.686 632106.417 0, 1477035.808 632134.486 0, 1477329.928 632162.572 0, 1477624.046 632190.675 0, 1477918.162 632218.796 0, 1478212.277 632246.934 0, 1478506.391 632275.089 0, 1478800.502 632303.261 0,
+ 1479094.612 632331.451 0, 1479388.72 632359.659 0, 1479682.827 632387.883 0, 1479976.932 632416.125 0, 1480271.035 632444.384 0, 1480565.137 632472.66 0, 1480859.237 632500.954 0, 1481153.335 632529.265 0, 1481446.086 632557.464 0, 1481979.804 627018.252 0,
+ 1482513.49 621479.384 0))
+
+POLYGON ((1495560.747 633937.577 0, 1495268.075 633908.552 0, 1494974.058 633879.41 0, 1494680.039 633850.285 0, 1494386.018 633821.178 0, 1494091.996 633792.088 0, 1493797.972 633763.015 0, 1493503.946 633733.96 0, 1493209.919 633704.922 0, 1492915.89 633675.901 0,
+ 1492621.859 633646.898 0, 1492327.826 633617.912 0, 1492033.792 633588.943 0, 1491739.756 633559.992 0, 1491445.718 633531.057 0, 1491151.679 633502.141 0, 1490857.638 633473.241 0, 1490563.595 633444.359 0, 1490269.551 633415.494 0, 1489975.505 633386.646 0,
+ 1489681.457 633357.816 0, 1489387.407 633329.003 0, 1489093.356 633300.207 0, 1488799.303 633271.429 0, 1488503.903 633242.536 0, 1488211.192 633213.924 0, 1487917.134 633185.197 0, 1487623.074 633156.488 0, 1487329.013 633127.796 0, 1487034.95 633099.122 0,
+ 1486740.885 633070.464 0, 1486446.819 633041.825 0, 1486152.75 633013.202 0, 1485858.681 632984.597 0, 1485564.609 632956.009 0, 1485270.536 632927.438 0, 1484976.461 632898.884 0, 1484682.384 632870.348 0, 1484388.306 632841.83 0, 1484094.226 632813.328 0,
+ 1483800.145 632784.844 0, 1483506.061 632756.377 0, 1483211.977 632727.927 0, 1482917.89 632699.495 0, 1482623.802 632671.08 0, 1482329.712 632642.683 0, 1482035.62 632614.302 0, 1481741.527 632585.939 0, 1481446.086 632557.464 0, 1480912.334 638097.016 0,
+ 1480378.55 643636.906 0, 1480673.336 643665.318 0, 1480966.777 643693.619 0, 1481260.217 643721.936 0, 1481553.655 643750.271 0, 1481847.091 643778.623 0, 1482140.525 643806.992 0, 1482433.958 643835.378 0, 1482727.39 643863.782 0, 1483020.819 643892.203 0,
+ 1483314.247 643920.641 0, 1483607.673 643949.097 0, 1483901.097 643977.57 0, 1484194.52 644006.06 0, 1484487.941 644034.567 0, 1484781.361 644063.092 0, 1485074.779 644091.634 0, 1485368.195 644120.193 0, 1485661.609 644148.769 0, 1485955.022 644177.363 0,
+ 1486248.433 644205.974 0, 1486541.842 644234.602 0, 1486835.25 644263.248 0, 1487128.656 644291.91 0, 1487420.718 644320.459 0, 1487715.463 644349.288 0, 1488008.864 644378.002 0, 1488302.263 644406.734 0, 1488595.661 644435.483 0, 1488889.056 644464.25 0,
+ 1489182.451 644493.034 0, 1489475.843 644521.834 0, 1489769.234 644550.653 0, 1490062.623 644579.488 0, 1490356.01 644608.341 0, 1490649.396 644637.211 0, 1490942.78 644666.098 0, 1491236.162 644695.003 0, 1491529.543 644723.925 0, 1491822.921 644752.864 0,
+ 1492116.299 644781.82 0, 1492409.674 644810.794 0, 1492703.048 644839.784 0, 1492996.42 644868.793 0, 1493289.79 644897.818 0, 1493583.159 644926.861 0, 1493876.526 644955.921 0, 1494169.891 644984.998 0, 1494461.914 645013.959 0, 1495011.347 639475.6 0,
+ 1495560.747 633937.577 0))
+
+POLYGON ((1508541.331 646430.795 0, 1508249.389 646401.009 0, 1507956.107 646371.103 0, 1507662.823 646341.214 0, 1507369.538 646311.343 0, 1507076.251 646281.489 0, 1506782.962 646251.652 0, 1506489.671 646221.832 0, 1506196.379 646192.03 0, 1505903.085 646162.245 0,
+ 1505609.789 646132.477 0, 1505316.491 646102.726 0, 1505023.191 646072.993 0, 1504729.89 646043.277 0, 1504436.587 646013.578 0, 1504143.283 645983.897 0, 1503849.976 645954.232 0, 1503556.668 645924.585 0, 1503263.358 645894.956 0, 1502970.047 645865.343 0,
+ 1502676.733 645835.748 0, 1502383.418 645806.17 0, 1502090.101 645776.61 0, 1501796.782 645747.066 0, 1501502.123 645717.405 0, 1501210.14 645688.031 0, 1500916.816 645658.54 0, 1500623.491 645629.065 0, 1500330.163 645599.608 0, 1500036.834 645570.168 0,
+ 1499743.503 645540.746 0, 1499450.171 645511.341 0, 1499156.837 645481.953 0, 1498863.501 645452.582 0, 1498570.163 645423.228 0, 1498276.824 645393.892 0, 1497983.482 645364.573 0, 1497690.14 645335.271 0, 1497396.795 645305.987 0, 1497103.449 645276.72 0,
+ 1496810.101 645247.47 0, 1496516.751 645218.237 0, 1496223.399 645189.022 0, 1495930.046 645159.824 0, 1495636.691 645130.643 0, 1495343.335 645101.48 0, 1495049.976 645072.333 0, 1494756.616 645043.204 0, 1494461.914 645013.959 0, 1493912.448 650552.653 0,
+ 1493362.949 656091.678 0, 1493656.996 656120.857 0, 1493949.704 656149.922 0, 1494242.41 656179.003 0, 1494535.115 656208.102 0, 1494827.818 656237.218 0, 1495120.519 656266.351 0, 1495413.219 656295.502 0, 1495705.916 656324.669 0, 1495998.613 656353.854 0,
+ 1496291.307 656383.056 0, 1496584 656412.276 0, 1496876.69 656441.512 0, 1497169.38 656470.766 0, 1497462.067 656500.037 0, 1497754.753 656529.325 0, 1498047.437 656558.631 0, 1498340.119 656587.953 0, 1498632.8 656617.293 0, 1498925.478 656646.65 0,
+ 1499218.156 656676.025 0, 1499510.831 656705.416 0, 1499803.505 656734.825 0, 1500096.177 656764.251 0, 1500387.51 656793.56 0, 1500681.515 656823.155 0, 1500974.182 656852.633 0, 1501266.847 656882.128 0, 1501559.51 656911.64 0, 1501852.172 656941.169 0,
+ 1502144.831 656970.716 0, 1502437.489 657000.28 0, 1502730.146 657029.861 0, 1503022.8 657059.459 0, 1503315.453 657089.075 0, 1503608.104 657118.707 0, 1503900.753 657148.357 0, 1504193.401 657178.025 0, 1504486.047 657207.709 0, 1504778.691 657237.411 0,
+ 1505071.333 657267.13 0, 1505363.974 657296.866 0, 1505656.613 657326.619 0, 1505949.25 657356.39 0, 1506241.885 657386.177 0, 1506534.518 657415.982 0, 1506827.15 657445.805 0, 1507119.78 657475.644 0, 1507411.074 657505.365 0, 1507976.219 651967.915 0,
+ 1508541.331 646430.795 0))
+
+POLYGON ((1521455.149 658958.734 0, 1521163.938 658928.191 0, 1520871.394 658897.525 0, 1520578.847 658866.876 0, 1520286.299 658836.244 0, 1519993.749 658805.63 0, 1519701.197 658775.033 0, 1519408.644 658744.453 0, 1519116.088 658713.89 0, 1518823.531 658683.344 0,
+ 1518530.972 658652.816 0, 1518238.411 658622.305 0, 1517945.849 658591.811 0, 1517653.284 658561.334 0, 1517360.718 658530.875 0, 1517068.15 658500.433 0, 1516775.58 658470.008 0, 1516483.009 658439.6 0, 1516190.436 658409.209 0, 1515897.86 658378.836 0,
+ 1515605.284 658348.48 0, 1515312.705 658318.141 0, 1515020.124 658287.819 0, 1514727.542 658257.515 0, 1514433.624 658227.09 0, 1514142.372 658196.958 0, 1513849.785 658166.705 0, 1513557.195 658136.469 0, 1513264.604 658106.251 0, 1512972.011 658076.05 0,
+ 1512679.416 658045.866 0, 1512386.82 658015.699 0, 1512094.222 657985.55 0, 1511801.622 657955.418 0, 1511509.02 657925.303 0, 1511216.416 657895.205 0, 1510923.811 657865.124 0, 1510631.204 657835.061 0, 1510338.595 657805.015 0, 1510045.984 657774.986 0,
+ 1509753.372 657744.974 0, 1509460.757 657714.98 0, 1509168.141 657685.002 0, 1508875.524 657655.042 0, 1508582.904 657625.1 0, 1508290.283 657595.174 0, 1507997.66 657565.266 0, 1507705.035 657535.375 0, 1507411.074 657505.365 0, 1506845.895 663043.142 0,
+ 1506280.683 668581.243 0, 1506573.989 668611.187 0, 1506865.962 668641.011 0, 1507157.933 668670.853 0, 1507449.903 668700.712 0, 1507741.87 668730.588 0, 1508033.836 668760.481 0, 1508325.8 668790.392 0, 1508617.762 668820.319 0, 1508909.723 668850.264 0,
+ 1509201.682 668880.226 0, 1509493.639 668910.205 0, 1509785.594 668940.202 0, 1510077.548 668970.215 0, 1510369.499 669000.246 0, 1510661.449 669030.294 0, 1510953.398 669060.359 0, 1511245.344 669090.441 0, 1511537.289 669120.541 0, 1511829.232 669150.657 0,
+ 1512121.173 669180.791 0, 1512413.112 669210.942 0, 1512705.05 669241.111 0, 1512996.985 669271.296 0, 1513287.589 669301.361 0, 1513580.852 669331.718 0, 1513872.782 669361.955 0, 1514164.711 669392.209 0, 1514456.638 669422.481 0, 1514748.563 669452.769 0,
+ 1515040.486 669483.075 0, 1515332.408 669513.398 0, 1515624.327 669543.738 0, 1515916.245 669574.095 0, 1516208.162 669604.469 0, 1516500.076 669634.861 0, 1516791.989 669665.27 0, 1517083.899 669695.696 0, 1517375.808 669726.139 0, 1517667.716 669756.599 0,
+ 1517959.621 669787.076 0, 1518251.525 669817.571 0, 1518543.427 669848.083 0, 1518835.327 669878.612 0, 1519127.225 669909.158 0, 1519419.121 669939.722 0, 1519711.016 669970.302 0, 1520002.909 670000.9 0, 1520293.471 670031.375 0, 1520874.327 664494.893 0,
+ 1521455.149 658958.734 0))
+
+POLYGON ((1534302.106 671521.09 0, 1534011.629 671489.794 0, 1533719.824 671458.371 0, 1533428.017 671426.966 0, 1533136.208 671395.578 0, 1532844.397 671364.208 0, 1532552.585 671332.854 0, 1532260.77 671301.518 0, 1531968.954 671270.198 0, 1531677.136 671238.896 0,
+ 1531385.316 671207.612 0, 1531093.494 671176.344 0, 1530801.67 671145.093 0, 1530509.844 671113.86 0, 1530218.017 671082.644 0, 1529926.188 671051.445 0, 1529634.357 671020.263 0, 1529342.524 670989.098 0, 1529050.689 670957.951 0, 1528758.853 670926.821 0,
+ 1528467.014 670895.708 0, 1528175.174 670864.612 0, 1527883.332 670833.533 0, 1527591.488 670802.471 0, 1527298.314 670771.286 0, 1527007.795 670740.4 0, 1526715.946 670709.39 0, 1526424.094 670678.397 0, 1526132.241 670647.421 0, 1525840.387 670616.463 0,
+ 1525548.53 670585.521 0, 1525256.672 670554.597 0, 1524964.811 670523.69 0, 1524672.949 670492.8 0, 1524381.085 670461.928 0, 1524089.219 670431.072 0, 1523797.352 670400.234 0, 1523505.483 670369.413 0, 1523213.611 670338.609 0, 1522921.738 670307.822 0,
+ 1522629.864 670277.053 0, 1522337.987 670246.3 0, 1522046.109 670215.565 0, 1521754.228 670184.847 0, 1521462.346 670154.146 0, 1521170.462 670123.463 0, 1520878.577 670092.796 0, 1520586.689 670062.147 0, 1520293.471 670031.375 0, 1519712.581 675568.179 0,
+ 1519131.658 681105.299 0, 1519424.222 681136.002 0, 1519715.458 681166.583 0, 1520006.692 681197.181 0, 1520297.924 681227.796 0, 1520589.154 681258.429 0, 1520880.382 681289.078 0, 1521171.609 681319.745 0, 1521462.834 681350.428 0, 1521754.057 681381.129 0,
+ 1522045.278 681411.847 0, 1522336.498 681442.582 0, 1522627.715 681473.334 0, 1522918.931 681504.104 0, 1523210.145 681534.89 0, 1523501.357 681565.694 0, 1523792.568 681596.515 0, 1524083.776 681627.353 0, 1524374.983 681658.208 0, 1524666.188 681689.08 0,
+ 1524957.391 681719.97 0, 1525248.592 681750.876 0, 1525539.792 681781.8 0, 1525830.989 681812.741 0, 1526120.86 681843.558 0, 1526413.379 681874.674 0, 1526704.571 681905.666 0, 1526995.762 681936.675 0, 1527286.95 681967.702 0, 1527578.137 681998.745 0,
+ 1527869.322 682029.806 0, 1528160.505 682060.884 0, 1528451.686 682091.979 0, 1528742.866 682123.091 0, 1529034.043 682154.22 0, 1529325.219 682185.367 0, 1529616.393 682216.531 0, 1529907.565 682247.711 0, 1530198.735 682278.909 0, 1530489.903 682310.124 0,
+ 1530781.07 682341.356 0, 1531072.235 682372.606 0, 1531363.398 682403.872 0, 1531654.559 682435.156 0, 1531945.718 682466.456 0, 1532236.875 682497.774 0, 1532528.031 682529.109 0, 1532819.184 682560.461 0, 1533109.012 682591.688 0, 1533705.576 677056.23 0,
+ 1534302.106 671521.09 0))
+
+POLYGON ((1547082.111 684117.559 0, 1546792.37 684085.513 0, 1546501.306 684053.339 0, 1546210.241 684021.181 0, 1545919.173 683989.041 0, 1545628.103 683956.918 0, 1545337.032 683924.812 0, 1545045.958 683892.723 0, 1544754.883 683860.651 0, 1544463.806 683828.597 0,
+ 1544172.727 683796.559 0, 1543881.646 683764.539 0, 1543590.563 683732.535 0, 1543299.479 683700.549 0, 1543008.392 683668.58 0, 1542717.304 683636.629 0, 1542426.213 683604.694 0, 1542135.121 683572.776 0, 1541844.027 683540.876 0, 1541552.931 683508.993 0,
+ 1541261.833 683477.126 0, 1540970.733 683445.277 0, 1540679.632 683413.446 0, 1540388.528 683381.631 0, 1540096.101 683349.689 0, 1539806.316 683318.053 0, 1539515.207 683286.289 0, 1539224.096 683254.543 0, 1538932.983 683222.814 0, 1538641.868 683191.102 0,
+ 1538350.752 683159.407 0, 1538059.633 683127.729 0, 1537768.513 683096.069 0, 1537477.391 683064.425 0, 1537186.267 683032.799 0, 1536895.141 683001.19 0, 1536604.013 682969.598 0, 1536312.884 682938.023 0, 1536021.752 682906.465 0, 1535730.619 682874.925 0,
+ 1535439.484 682843.401 0, 1535148.347 682811.895 0, 1534857.208 682780.406 0, 1534566.067 682748.934 0, 1534274.925 682717.479 0, 1533983.78 682686.041 0, 1533692.634 682654.62 0, 1533401.486 682623.217 0, 1533109.012 682591.688 0, 1532512.414 688127.459 0,
+ 1531915.783 693663.542 0, 1532207.602 693695 0, 1532498.099 693726.333 0, 1532788.593 693757.684 0, 1533079.086 693789.051 0, 1533369.577 693820.436 0, 1533660.066 693851.837 0, 1533950.553 693883.256 0, 1534241.039 693914.692 0, 1534531.522 693946.145 0,
+ 1534822.004 693977.615 0, 1535112.484 694009.102 0, 1535402.962 694040.606 0, 1535693.438 694072.127 0, 1535983.912 694103.666 0, 1536274.384 694135.221 0, 1536564.855 694166.794 0, 1536855.324 694198.383 0, 1537145.79 694229.99 0, 1537436.255 694261.614 0,
+ 1537726.718 694293.255 0, 1538017.18 694324.913 0, 1538307.639 694356.588 0, 1538598.097 694388.281 0, 1538887.233 694419.846 0, 1539179.006 694451.716 0, 1539469.458 694483.46 0, 1539759.908 694515.221 0, 1540050.356 694546.998 0, 1540340.802 694578.793 0,
+ 1540631.247 694610.605 0, 1540921.689 694642.434 0, 1541212.13 694674.28 0, 1541502.569 694706.143 0, 1541793.006 694738.024 0, 1542083.441 694769.921 0, 1542373.874 694801.836 0, 1542664.305 694833.767 0, 1542954.735 694865.716 0, 1543245.162 694897.682 0,
+ 1543535.588 694929.665 0, 1543826.012 694961.665 0, 1544116.433 694993.682 0, 1544406.853 695025.716 0, 1544697.272 695057.767 0, 1544987.688 695089.835 0, 1545278.102 695121.921 0, 1545568.515 695154.023 0, 1545857.607 695185.997 0, 1546469.876 689651.623 0,
+ 1547082.111 684117.559 0))
+
+POLYGON ((1559795.074 696747.835 0, 1559506.071 696715.044 0, 1559215.75 696682.121 0, 1558925.428 696649.216 0, 1558635.103 696616.327 0, 1558344.777 696583.455 0, 1558054.448 696550.601 0, 1557764.118 696517.763 0, 1557473.786 696484.943 0, 1557183.452 696452.14 0,
+ 1556893.116 696419.354 0, 1556602.778 696386.585 0, 1556312.438 696353.833 0, 1556022.096 696321.098 0, 1555731.752 696288.38 0, 1555441.407 696255.679 0, 1555151.059 696222.995 0, 1554860.709 696190.329 0, 1554570.358 696157.679 0, 1554280.005 696125.047 0,
+ 1553989.649 696092.432 0, 1553699.292 696059.834 0, 1553408.933 696027.253 0, 1553118.572 695994.689 0, 1552826.892 695961.994 0, 1552537.844 695929.612 0, 1552247.477 695897.099 0, 1551957.108 695864.603 0, 1551666.738 695832.125 0, 1551376.365 695799.663 0,
+ 1551085.991 695767.219 0, 1550795.614 695734.792 0, 1550505.236 695702.382 0, 1550214.856 695669.988 0, 1549924.474 695637.612 0, 1549634.09 695605.254 0, 1549343.704 695572.912 0, 1549053.316 695540.587 0, 1548762.926 695508.279 0, 1548472.535 695475.989 0,
+ 1548182.141 695443.715 0, 1547891.746 695411.459 0, 1547601.349 695379.22 0, 1547310.949 695346.998 0, 1547020.548 695314.792 0, 1546730.145 695282.604 0, 1546439.741 695250.434 0, 1546149.334 695218.28 0, 1545857.607 695185.997 0, 1545245.304 700720.679 0,
+ 1544632.967 706255.665 0, 1544924.039 706287.875 0, 1545213.794 706319.957 0, 1545503.548 706352.055 0, 1545793.299 706384.171 0, 1546083.049 706416.304 0, 1546372.796 706448.454 0, 1546662.542 706480.621 0, 1546952.286 706512.805 0, 1547242.028 706545.006 0,
+ 1547531.768 706577.224 0, 1547821.506 706609.459 0, 1548111.243 706641.711 0, 1548400.977 706673.98 0, 1548690.709 706706.267 0, 1548980.44 706738.57 0, 1549270.169 706770.891 0, 1549559.896 706803.228 0, 1549849.62 706835.583 0, 1550139.343 706867.954 0,
+ 1550429.065 706900.343 0, 1550718.784 706932.749 0, 1551008.501 706965.171 0, 1551298.216 706997.611 0, 1551586.616 707029.921 0, 1551877.641 707062.542 0, 1552167.351 707095.033 0, 1552457.059 707127.541 0, 1552746.765 707160.066 0, 1553036.468 707192.608 0,
+ 1553326.17 707225.167 0, 1553615.87 707257.743 0, 1553905.569 707290.337 0, 1554195.265 707322.947 0, 1554484.959 707355.574 0, 1554774.652 707388.219 0, 1555064.342 707420.88 0, 1555354.03 707453.559 0, 1555643.717 707486.254 0, 1555933.402 707518.967 0,
+ 1556223.085 707551.696 0, 1556512.765 707584.443 0, 1556802.444 707617.207 0, 1557092.121 707649.988 0, 1557381.796 707682.786 0, 1557671.469 707715.6 0, 1557961.141 707748.432 0, 1558250.81 707781.281 0, 1558539.165 707813.998 0, 1559167.137 702280.765 0,
+ 1559795.074 696747.835 0))
+
+POLYGON ((1572440.905 709411.614 0, 1572152.641 709378.082 0, 1571863.066 709344.414 0, 1571573.489 709310.764 0, 1571283.909 709277.131 0, 1570994.328 709243.515 0, 1570704.745 709209.916 0, 1570415.16 709176.334 0, 1570125.573 709142.769 0, 1569835.983 709109.221 0,
+ 1569546.392 709075.69 0, 1569256.799 709042.176 0, 1568967.204 709008.679 0, 1568677.607 708975.2 0, 1568388.008 708941.737 0, 1568098.407 708908.291 0, 1567808.804 708874.863 0, 1567519.199 708841.451 0, 1567229.592 708808.057 0, 1566939.984 708774.679 0,
+ 1566650.373 708741.319 0, 1566360.76 708707.975 0, 1566071.145 708674.649 0, 1565781.529 708641.34 0, 1565490.599 708607.897 0, 1565202.289 708574.772 0, 1564912.667 708541.514 0, 1564623.042 708508.273 0, 1564333.416 708475.049 0, 1564043.787 708441.842 0,
+ 1563754.157 708408.652 0, 1563464.525 708375.479 0, 1563174.89 708342.323 0, 1562885.254 708309.184 0, 1562595.616 708276.062 0, 1562305.976 708242.958 0, 1562016.334 708209.87 0, 1561726.69 708176.799 0, 1561437.044 708143.746 0, 1561147.396 708110.709 0,
+ 1560857.746 708077.69 0, 1560568.094 708044.687 0, 1560278.44 708011.702 0, 1559988.785 707978.733 0, 1559699.127 707945.782 0, 1559409.468 707912.848 0, 1559119.806 707879.931 0, 1558830.143 707847.031 0, 1558539.165 707813.998 0, 1557911.159 713347.533 0,
+ 1557283.119 718881.364 0, 1557573.443 718914.322 0, 1557862.455 718947.148 0, 1558151.465 718979.991 0, 1558440.473 719012.851 0, 1558729.479 719045.728 0, 1559018.483 719078.623 0, 1559307.486 719111.534 0, 1559596.486 719144.462 0, 1559885.485 719177.407 0,
+ 1560174.481 719210.37 0, 1560463.476 719243.349 0, 1560752.469 719276.345 0, 1561041.459 719309.358 0, 1561330.448 719342.389 0, 1561619.435 719375.436 0, 1561908.42 719408.5 0, 1562197.403 719441.582 0, 1562486.384 719474.68 0, 1562775.363 719507.795 0,
+ 1563064.34 719540.928 0, 1563353.315 719574.077 0, 1563642.288 719607.243 0, 1563931.26 719640.427 0, 1564218.921 719673.477 0, 1564509.196 719706.845 0, 1564798.162 719740.079 0, 1565087.125 719773.33 0, 1565376.087 719806.599 0, 1565665.046 719839.884 0,
+ 1565954.004 719873.187 0, 1566242.959 719906.506 0, 1566531.913 719939.842 0, 1566820.865 719973.196 0, 1567109.814 720006.566 0, 1567398.762 720039.954 0, 1567687.708 720073.358 0, 1567976.652 720106.78 0, 1568265.594 720140.218 0, 1568554.533 720173.674 0,
+ 1568843.471 720207.146 0, 1569132.407 720240.636 0, 1569421.341 720274.142 0, 1569710.273 720307.666 0, 1569999.203 720341.206 0, 1570288.131 720374.764 0, 1570577.057 720408.338 0, 1570865.981 720441.93 0, 1571153.597 720475.386 0, 1571797.268 714943.351 0,
+ 1572440.905 709411.614 0))
+
+POLYGON ((1585019.515 722108.589 0, 1584731.994 722074.32 0, 1584443.166 722039.912 0, 1584154.336 722005.521 0, 1583865.504 721971.148 0, 1583576.669 721936.791 0, 1583287.833 721902.451 0, 1582998.995 721868.129 0, 1582710.155 721833.823 0, 1582421.313 721799.534 0,
+ 1582132.469 721765.263 0, 1581843.622 721731.008 0, 1581554.774 721696.77 0, 1581265.924 721662.55 0, 1580977.072 721628.346 0, 1580688.217 721594.159 0, 1580399.361 721559.99 0, 1580110.503 721525.837 0, 1579821.642 721491.701 0, 1579532.78 721457.583 0,
+ 1579243.916 721423.481 0, 1578955.049 721389.397 0, 1578666.181 721355.329 0, 1578377.311 721321.278 0, 1578087.133 721287.091 0, 1577799.564 721253.228 0, 1577510.688 721219.228 0, 1577221.809 721185.246 0, 1576932.929 721151.28 0, 1576644.047 721117.331 0,
+ 1576355.162 721083.4 0, 1576066.276 721049.485 0, 1575777.388 721015.588 0, 1575488.497 720981.707 0, 1575199.605 720947.843 0, 1574910.711 720913.997 0, 1574621.814 720880.167 0, 1574332.916 720846.355 0, 1574044.016 720812.559 0, 1573755.113 720778.78 0,
+ 1573466.209 720745.019 0, 1573177.303 720711.274 0, 1572888.395 720677.547 0, 1572599.484 720643.836 0, 1572310.572 720610.143 0, 1572021.658 720576.466 0, 1571732.742 720542.806 0, 1571443.824 720509.164 0, 1571153.597 720475.386 0, 1570509.891 726007.715 0,
+ 1569866.152 731540.334 0, 1570155.725 731574.035 0, 1570443.992 731607.602 0, 1570732.257 731641.185 0, 1571020.52 731674.786 0, 1571308.781 731708.404 0, 1571597.04 731742.038 0, 1571885.297 731775.69 0, 1572173.552 731809.358 0, 1572461.805 731843.044 0,
+ 1572750.056 731876.746 0, 1573038.305 731910.466 0, 1573326.552 731944.202 0, 1573614.797 731977.955 0, 1573903.04 732011.726 0, 1574191.281 732045.513 0, 1574479.52 732079.317 0, 1574767.758 732113.138 0, 1575055.993 732146.977 0, 1575344.226 732180.832 0,
+ 1575632.457 732214.704 0, 1575920.686 732248.593 0, 1576208.914 732282.499 0, 1576497.139 732316.422 0, 1576784.059 732350.208 0, 1577073.583 732384.319 0, 1577361.802 732418.293 0, 1577650.02 732452.284 0, 1577938.235 732486.291 0, 1578226.448 732520.316 0,
+ 1578514.659 732554.358 0, 1578802.868 732588.417 0, 1579091.075 732622.492 0, 1579379.281 732656.585 0, 1579667.484 732690.694 0, 1579955.685 732724.821 0, 1580243.884 732758.965 0, 1580532.081 732793.125 0, 1580820.276 732827.302 0, 1581108.47 732861.497 0,
+ 1581396.661 732895.708 0, 1581684.85 732929.937 0, 1581973.037 732964.182 0, 1582261.222 732998.444 0, 1582549.405 733032.723 0, 1582837.586 733067.02 0, 1583125.765 733101.333 0, 1583413.942 733135.663 0, 1583700.816 733169.855 0, 1584360.183 727639.077 0,
+ 1585019.515 722108.589 0))
+
+POLYGON ((1597530.82 734838.455 0, 1597244.042 734803.452 0, 1596955.963 734768.308 0, 1596667.882 734733.181 0, 1596379.799 734698.071 0, 1596091.714 734662.978 0, 1595803.627 734627.901 0, 1595515.538 734592.842 0, 1595227.447 734557.8 0, 1594939.353 734522.774 0,
+ 1594651.258 734487.766 0, 1594363.161 734452.774 0, 1594075.061 734417.8 0, 1593786.96 734382.842 0, 1593498.856 734347.901 0, 1593210.75 734312.978 0, 1592922.643 734278.071 0, 1592634.533 734243.181 0, 1592346.421 734208.308 0, 1592058.307 734173.452 0,
+ 1591770.191 734138.614 0, 1591482.073 734103.792 0, 1591193.953 734068.987 0, 1590905.831 734034.199 0, 1590616.407 733999.271 0, 1590329.581 733964.673 0, 1590041.453 733929.936 0, 1589753.322 733895.216 0, 1589465.19 733860.513 0, 1589177.056 733825.827 0,
+ 1588888.919 733791.157 0, 1588600.781 733756.505 0, 1588312.641 733721.87 0, 1588024.498 733687.251 0, 1587736.354 733652.65 0, 1587448.207 733618.065 0, 1587160.058 733583.498 0, 1586871.908 733548.947 0, 1586583.755 733514.413 0, 1586295.6 733479.897 0,
+ 1586007.444 733445.397 0, 1585719.285 733410.914 0, 1585431.124 733376.448 0, 1585142.961 733342 0, 1584854.797 733307.568 0, 1584566.63 733273.153 0, 1584278.461 733238.755 0, 1583990.29 733204.374 0, 1583700.816 733169.855 0, 1583041.414 738700.919 0,
+ 1582381.979 744232.268 0, 1582670.799 744266.709 0, 1582958.319 744301.012 0, 1583245.837 744335.332 0, 1583533.352 744369.669 0, 1583820.866 744404.024 0, 1584108.378 744438.395 0, 1584395.888 744472.782 0, 1584683.395 744507.187 0, 1584970.901 744541.609 0,
+ 1585258.405 744576.048 0, 1585545.906 744610.503 0, 1585833.406 744644.976 0, 1586120.903 744679.465 0, 1586408.399 744713.972 0, 1586695.892 744748.495 0, 1586983.384 744783.035 0, 1587270.873 744817.592 0, 1587558.361 744852.166 0, 1587845.846 744886.757 0,
+ 1588133.329 744921.365 0, 1588420.811 744955.99 0, 1588708.29 744990.632 0, 1588995.767 745025.291 0, 1589281.945 745059.81 0, 1589570.715 745094.659 0, 1589858.186 745129.368 0, 1590145.655 745164.094 0, 1590433.122 745198.838 0, 1590720.587 745233.598 0,
+ 1591008.05 745268.375 0, 1591295.511 745303.169 0, 1591582.97 745337.98 0, 1591870.427 745372.808 0, 1592157.881 745407.653 0, 1592445.334 745442.514 0, 1592732.784 745477.393 0, 1593020.233 745512.288 0, 1593307.679 745547.201 0, 1593595.124 745582.13 0,
+ 1593882.566 745617.076 0, 1594170.007 745652.04 0, 1594457.445 745687.02 0, 1594744.881 745722.017 0, 1595032.315 745757.031 0, 1595319.747 745792.062 0, 1595607.177 745827.109 0, 1595894.605 745862.174 0, 1596180.735 745897.098 0, 1596855.795 740367.635 0,
+ 1597530.82 734838.455 0))
+
+POLYGON ((1609974.733 747600.905 0, 1609688.701 747565.173 0, 1609401.373 747529.296 0, 1609114.043 747493.437 0, 1608826.711 747457.594 0, 1608539.377 747421.768 0, 1608252.041 747385.959 0, 1607964.703 747350.167 0, 1607677.362 747314.392 0, 1607390.02 747278.634 0,
+ 1607102.675 747242.892 0, 1606815.329 747207.168 0, 1606527.98 747171.46 0, 1606240.629 747135.77 0, 1605953.276 747100.096 0, 1605665.921 747064.439 0, 1605378.564 747028.8 0, 1605091.204 746993.177 0, 1604803.843 746957.571 0, 1604516.479 746921.982 0,
+ 1604229.114 746886.409 0, 1603941.746 746850.854 0, 1603654.376 746815.316 0, 1603367.004 746779.794 0, 1603078.336 746744.13 0, 1602792.254 746708.802 0, 1602504.876 746673.332 0, 1602217.496 746637.878 0, 1601930.114 746602.441 0, 1601642.729 746567.021 0,
+ 1601355.343 746531.618 0, 1601067.954 746496.232 0, 1600780.564 746460.863 0, 1600493.171 746425.51 0, 1600205.776 746390.175 0, 1599918.379 746354.856 0, 1599630.98 746319.555 0, 1599343.579 746284.27 0, 1599056.176 746249.003 0, 1598768.771 746213.752 0,
+ 1598481.364 746178.518 0, 1598193.954 746143.301 0, 1597906.543 746108.101 0, 1597619.13 746072.918 0, 1597331.714 746037.752 0, 1597044.296 746002.602 0, 1596756.877 745967.47 0, 1596469.455 745932.354 0, 1596180.735 745897.098 0, 1595505.642 751426.84 0,
+ 1594830.514 756956.86 0, 1595118.58 756992.037 0, 1595405.35 757027.073 0, 1595692.119 757062.125 0, 1595978.886 757097.195 0, 1596265.65 757132.282 0, 1596552.413 757167.385 0, 1596839.174 757202.505 0, 1597125.932 757237.643 0, 1597412.688 757272.797 0,
+ 1597699.443 757307.968 0, 1597986.195 757343.156 0, 1598272.945 757378.36 0, 1598559.693 757413.582 0, 1598846.439 757448.82 0, 1599133.183 757484.076 0, 1599419.925 757519.348 0, 1599706.664 757554.637 0, 1599993.402 757589.943 0, 1600280.138 757625.266 0,
+ 1600566.871 757660.606 0, 1600853.603 757695.962 0, 1601140.332 757731.336 0, 1601427.059 757766.726 0, 1601712.493 757801.974 0, 1602000.508 757837.557 0, 1602287.229 757872.998 0, 1602573.948 757908.456 0, 1602860.665 757943.931 0, 1603147.379 757979.423 0,
+ 1603434.092 758014.931 0, 1603720.803 758050.456 0, 1604007.511 758085.999 0, 1604294.217 758121.558 0, 1604580.922 758157.134 0, 1604867.624 758192.727 0, 1605154.324 758228.336 0, 1605441.022 758263.963 0, 1605727.718 758299.607 0, 1606014.412 758335.267 0,
+ 1606301.104 758370.944 0, 1606587.793 758406.638 0, 1606874.481 758442.349 0, 1607161.166 758478.077 0, 1607447.849 758513.822 0, 1607734.531 758549.583 0, 1608021.21 758585.362 0, 1608307.887 758621.157 0, 1608593.272 758656.808 0, 1609284.02 753128.719 0,
+ 1609974.733 747600.905 0))
+
+POLYGON ((1622351.172 760395.632 0, 1622065.886 760359.175 0, 1621779.312 760322.57 0, 1621492.735 760285.982 0, 1621206.156 760249.41 0, 1620919.575 760212.856 0, 1620632.991 760176.318 0, 1620346.406 760139.797 0, 1620059.818 760103.293 0, 1619773.228 760066.806 0,
+ 1619486.636 760030.336 0, 1619200.042 759993.883 0, 1618913.446 759957.446 0, 1618626.848 759921.027 0, 1618340.247 759884.624 0, 1618053.645 759848.238 0, 1617767.04 759811.869 0, 1617480.433 759775.517 0, 1617193.824 759739.182 0, 1616907.213 759702.864 0,
+ 1616620.599 759666.562 0, 1616333.984 759630.277 0, 1616047.366 759594.01 0, 1615760.746 759557.759 0, 1615472.836 759521.362 0, 1615187.5 759485.308 0, 1614900.874 759449.107 0, 1614614.246 759412.924 0, 1614327.616 759376.757 0, 1614040.983 759340.608 0,
+ 1613754.348 759304.475 0, 1613467.712 759268.359 0, 1613181.073 759232.26 0, 1612894.432 759196.178 0, 1612607.788 759160.112 0, 1612321.143 759124.064 0, 1612034.496 759088.032 0, 1611747.846 759052.018 0, 1611461.195 759016.02 0, 1611174.541 758980.039 0,
+ 1610887.885 758944.075 0, 1610601.227 758908.128 0, 1610314.567 758872.197 0, 1610027.905 758836.284 0, 1609741.24 758800.387 0, 1609454.574 758764.507 0, 1609167.905 758728.645 0, 1608881.235 758692.799 0, 1608593.272 758656.808 0, 1607902.489 764185.171 0,
+ 1607211.673 769713.803 0, 1607498.983 769749.712 0, 1607785.002 769785.476 0, 1608071.02 769821.258 0, 1608357.036 769857.056 0, 1608643.049 769892.871 0, 1608929.061 769928.703 0, 1609215.07 769964.552 0, 1609501.078 770000.418 0, 1609787.083 770036.3 0,
+ 1610073.086 770072.199 0, 1610359.087 770108.115 0, 1610645.085 770144.048 0, 1610931.082 770179.998 0, 1611217.077 770215.965 0, 1611503.069 770251.948 0, 1611789.059 770287.948 0, 1612075.048 770323.966 0, 1612361.034 770359.999 0, 1612647.018 770396.05 0,
+ 1612933 770432.118 0, 1613218.979 770468.202 0, 1613504.957 770504.304 0, 1613790.932 770540.422 0, 1614075.62 770576.394 0, 1614362.877 770612.708 0, 1614648.846 770648.877 0, 1614934.813 770685.062 0, 1615220.778 770721.265 0, 1615506.74 770757.484 0,
+ 1615792.701 770793.72 0, 1616078.659 770829.972 0, 1616364.616 770866.242 0, 1616650.57 770902.528 0, 1616936.522 770938.832 0, 1617222.472 770975.152 0, 1617508.42 771011.489 0, 1617794.365 771047.842 0, 1618080.309 771084.213 0, 1618366.25 771120.6 0,
+ 1618652.189 771157.004 0, 1618938.126 771193.426 0, 1619224.061 771229.863 0, 1619509.994 771266.318 0, 1619795.924 771302.79 0, 1620081.853 771339.278 0, 1620367.779 771375.783 0, 1620653.703 771412.305 0, 1620938.341 771448.68 0, 1621644.773 765922.022 0,
+ 1622351.172 760395.632 0))
+
+POLYGON ((1634660.052 773222.33 0, 1634375.516 773185.151 0, 1634089.697 773147.821 0, 1633803.875 773110.509 0, 1633518.05 773073.213 0, 1633232.224 773035.933 0, 1632946.395 772998.671 0, 1632660.564 772961.425 0, 1632374.731 772924.197 0, 1632088.896 772886.985 0,
+ 1631803.059 772849.79 0, 1631517.219 772812.611 0, 1631231.378 772775.45 0, 1630945.534 772738.305 0, 1630659.687 772701.178 0, 1630373.839 772664.067 0, 1630087.989 772626.972 0, 1629802.136 772589.895 0, 1629516.281 772552.835 0, 1629230.424 772515.791 0,
+ 1628944.565 772478.764 0, 1628658.703 772441.754 0, 1628372.84 772404.761 0, 1628086.974 772367.785 0, 1627799.823 772330.659 0, 1627515.236 772293.882 0, 1627229.364 772256.956 0, 1626943.489 772220.047 0, 1626657.613 772183.155 0, 1626371.734 772146.28 0,
+ 1626085.853 772109.421 0, 1625799.97 772072.579 0, 1625514.084 772035.755 0, 1625228.197 771998.946 0, 1624942.307 771962.155 0, 1624656.415 771925.381 0, 1624370.521 771888.623 0, 1624084.625 771851.882 0, 1623798.727 771815.158 0, 1623512.827 771778.451 0,
+ 1623226.924 771741.761 0, 1622941.019 771705.087 0, 1622655.112 771668.431 0, 1622369.203 771631.791 0, 1622083.292 771595.168 0, 1621797.379 771558.562 0, 1621511.463 771521.972 0, 1621225.545 771485.4 0, 1620938.341 771448.68 0, 1620231.874 776975.604 0,
+ 1619525.374 782502.791 0, 1619811.925 782539.427 0, 1620097.192 782575.917 0, 1620382.457 782612.423 0, 1620667.72 782648.946 0, 1620952.981 782685.485 0, 1621238.239 782722.042 0, 1621523.495 782758.615 0, 1621808.75 782795.205 0, 1622094.002 782831.812 0,
+ 1622379.251 782868.435 0, 1622664.499 782905.076 0, 1622949.745 782941.733 0, 1623234.988 782978.407 0, 1623520.229 783015.098 0, 1623805.469 783051.805 0, 1624090.705 783088.53 0, 1624375.94 783125.271 0, 1624661.173 783162.029 0, 1624946.403 783198.803 0,
+ 1625231.632 783235.595 0, 1625516.858 783272.403 0, 1625802.082 783309.228 0, 1626087.303 783346.07 0, 1626371.243 783382.763 0, 1626657.74 783419.804 0, 1626942.956 783456.696 0, 1627228.169 783493.605 0, 1627513.38 783530.531 0, 1627798.588 783567.474 0,
+ 1628083.795 783604.433 0, 1628368.999 783641.409 0, 1628654.202 783678.402 0, 1628939.402 783715.412 0, 1629224.6 783752.438 0, 1629509.795 783789.482 0, 1629794.989 783826.542 0, 1630080.18 783863.619 0, 1630365.369 783900.712 0, 1630650.556 783937.823 0,
+ 1630935.741 783974.95 0, 1631220.923 784012.094 0, 1631506.104 784049.255 0, 1631791.282 784086.432 0, 1632076.458 784123.627 0, 1632361.632 784160.838 0, 1632646.804 784198.066 0, 1632931.973 784235.311 0, 1633215.861 784272.405 0, 1633937.974 778747.236 0,
+ 1634660.052 773222.33 0))
+
+POLYGON ((1646901.294 786080.69 0, 1646617.51 786042.794 0, 1646332.447 786004.743 0, 1646047.381 785966.71 0, 1645762.314 785928.693 0, 1645477.244 785890.693 0, 1645192.172 785852.71 0, 1644907.098 785814.744 0, 1644622.021 785776.794 0, 1644336.942 785738.862 0,
+ 1644051.861 785700.946 0, 1643766.778 785663.046 0, 1643481.693 785625.164 0, 1643196.605 785587.298 0, 1642911.515 785549.449 0, 1642626.423 785511.617 0, 1642341.329 785473.802 0, 1642056.232 785436.003 0, 1641771.133 785398.222 0, 1641486.032 785360.457 0,
+ 1641200.929 785322.708 0, 1640915.824 785284.977 0, 1640630.716 785247.262 0, 1640345.606 785209.565 0, 1640059.216 785171.715 0, 1639775.38 785134.219 0, 1639490.263 785096.572 0, 1639205.144 785058.941 0, 1638920.023 785021.327 0, 1638634.9 784983.73 0,
+ 1638349.775 784946.149 0, 1638064.647 784908.586 0, 1637779.517 784871.039 0, 1637494.385 784833.509 0, 1637209.251 784795.996 0, 1636924.115 784758.499 0, 1636638.976 784721.019 0, 1636353.835 784683.557 0, 1636068.692 784646.11 0, 1635783.547 784608.681 0,
+ 1635498.399 784571.268 0, 1635213.25 784533.873 0, 1634928.098 784496.494 0, 1634642.944 784459.132 0, 1634357.787 784421.786 0, 1634072.629 784384.457 0, 1633787.468 784347.146 0, 1633502.305 784309.85 0, 1633215.861 784272.405 0, 1632493.715 789797.833 0,
+ 1631771.535 795323.515 0, 1632057.326 795360.875 0, 1632341.838 795398.085 0, 1632626.348 795435.312 0, 1632910.856 795472.556 0, 1633195.362 795509.816 0, 1633479.866 795547.093 0, 1633764.367 795584.387 0, 1634048.867 795621.697 0, 1634333.364 795659.024 0,
+ 1634617.859 795696.368 0, 1634902.351 795733.729 0, 1635186.842 795771.106 0, 1635471.33 795808.501 0, 1635755.816 795845.912 0, 1636040.3 795883.339 0, 1636324.782 795920.784 0, 1636609.261 795958.245 0, 1636893.738 795995.723 0, 1637178.213 796033.218 0,
+ 1637462.686 796070.729 0, 1637747.157 796108.257 0, 1638031.625 796145.802 0, 1638316.092 796183.364 0, 1638599.281 796220.774 0, 1638885.017 796258.537 0, 1639169.477 796296.149 0, 1639453.934 796333.778 0, 1639738.39 796371.423 0, 1640022.842 796409.085 0,
+ 1640307.293 796446.764 0, 1640591.742 796484.46 0, 1640876.188 796522.172 0, 1641160.632 796559.901 0, 1641445.074 796597.647 0, 1641729.513 796635.409 0, 1642013.951 796673.189 0, 1642298.386 796710.985 0, 1642582.819 796748.797 0, 1642867.25 796786.627 0,
+ 1643151.678 796824.473 0, 1643436.104 796862.336 0, 1643720.529 796900.216 0, 1644004.95 796938.112 0, 1644289.37 796976.026 0, 1644573.787 797013.956 0, 1644858.202 797051.902 0, 1645142.615 797089.866 0, 1645425.752 797127.676 0, 1646163.54 791604.055 0,
+ 1646901.294 786080.69 0))
+
+POLYGON ((1178438.155 367956.1 0, 1178129.955 367945.656 0, 1177820.284 367935.181 0, 1177510.613 367924.724 0, 1177200.941 367914.285 0, 1176891.269 367903.864 0, 1176581.596 367893.462 0, 1176271.922 367883.078 0, 1175962.248 367872.712 0, 1175652.573 367862.364 0,
+ 1175342.897 367852.035 0, 1175033.221 367841.724 0, 1174723.544 367831.431 0, 1174413.867 367821.156 0, 1174104.189 367810.899 0, 1173794.51 367800.661 0, 1173484.831 367790.441 0, 1173175.151 367780.239 0, 1172865.471 367770.055 0, 1172555.79 367759.89 0,
+ 1172246.109 367749.743 0, 1171936.426 367739.614 0, 1171626.744 367729.503 0, 1171317.06 367719.411 0, 1171005.905 367709.289 0, 1170697.692 367699.28 0, 1170388.007 367689.243 0, 1170078.321 367679.223 0, 1169768.635 367669.222 0, 1169458.948 367659.238 0,
+ 1169149.26 367649.274 0, 1168839.572 367639.327 0, 1168529.884 367629.398 0, 1168220.194 367619.488 0, 1167910.504 367609.596 0, 1167600.814 367599.722 0, 1167291.123 367589.867 0, 1166981.432 367580.03 0, 1166671.739 367570.211 0, 1166362.047 367560.41 0,
+ 1166052.353 367550.627 0, 1165742.659 367540.863 0, 1165432.965 367531.116 0, 1165123.27 367521.389 0, 1164813.574 367511.679 0, 1164503.878 367501.987 0, 1164194.182 367492.314 0, 1163884.484 367482.659 0, 1163573.314 367472.976 0, 1163400.951 373017.499 0,
+ 1163228.574 378562.494 0, 1163539.088 378572.156 0, 1163848.133 378581.791 0, 1164157.177 378591.444 0, 1164466.22 378601.115 0, 1164775.263 378610.804 0, 1165084.305 378620.511 0, 1165393.347 378630.237 0, 1165702.388 378639.981 0, 1166011.429 378649.743 0,
+ 1166320.469 378659.523 0, 1166629.508 378669.321 0, 1166938.547 378679.138 0, 1167247.586 378688.973 0, 1167556.623 378698.826 0, 1167865.66 378708.697 0, 1168174.697 378718.586 0, 1168483.733 378728.494 0, 1168792.768 378738.419 0, 1169101.803 378748.363 0,
+ 1169410.837 378758.325 0, 1169719.871 378768.306 0, 1170028.904 378778.304 0, 1170337.936 378788.321 0, 1170645.5 378798.308 0, 1170956 378808.409 0, 1171265.03 378818.48 0, 1171574.06 378828.569 0, 1171883.09 378838.677 0, 1172192.119 378848.803 0,
+ 1172501.147 378858.947 0, 1172810.175 378869.109 0, 1173119.202 378879.289 0, 1173428.228 378889.488 0, 1173737.254 378899.704 0, 1174046.28 378909.939 0, 1174355.304 378920.193 0, 1174664.328 378930.464 0, 1174973.352 378940.753 0, 1175282.375 378951.061 0,
+ 1175591.397 378961.387 0, 1175900.419 378971.731 0, 1176209.44 378982.093 0, 1176518.46 378992.474 0, 1176827.48 379002.872 0, 1177136.499 379013.289 0, 1177445.518 379023.724 0, 1177754.536 379034.177 0, 1178062.086 379044.599 0, 1178250.129 373500.113 0,
+ 1178438.155 367956.1 0))
+
+POLYGON ((1192894.178 379568.609 0, 1192586.656 379557.319 0, 1192277.668 379545.992 0, 1191968.68 379534.684 0, 1191659.692 379523.395 0, 1191350.703 379512.123 0, 1191041.713 379500.87 0, 1190732.722 379489.634 0, 1190423.731 379478.417 0, 1190114.739 379467.218 0,
+ 1189805.747 379456.038 0, 1189496.753 379444.875 0, 1189187.76 379433.731 0, 1188878.765 379422.605 0, 1188569.77 379411.497 0, 1188260.774 379400.407 0, 1187951.778 379389.336 0, 1187642.781 379378.282 0, 1187333.783 379367.247 0, 1187024.784 379356.23 0,
+ 1186715.785 379345.231 0, 1186406.786 379334.251 0, 1186097.785 379323.288 0, 1185788.784 379312.344 0, 1185478.317 379301.366 0, 1185170.78 379290.51 0, 1184861.778 379279.62 0, 1184552.774 379268.749 0, 1184243.77 379257.895 0, 1183934.765 379247.06 0,
+ 1183625.759 379236.243 0, 1183316.753 379225.445 0, 1183007.747 379214.664 0, 1182698.739 379203.902 0, 1182389.731 379193.158 0, 1182080.723 379182.432 0, 1181771.713 379171.724 0, 1181462.703 379161.034 0, 1181153.693 379150.363 0, 1180844.682 379139.709 0,
+ 1180535.67 379129.074 0, 1180226.657 379118.457 0, 1179917.644 379107.859 0, 1179608.631 379097.278 0, 1179299.616 379086.716 0, 1178990.602 379076.172 0, 1178681.586 379065.646 0, 1178372.57 379055.138 0, 1178062.086 379044.599 0, 1177874.028 384589.555 0,
+ 1177685.954 390134.98 0, 1177995.781 390145.497 0, 1178304.145 390155.982 0, 1178612.508 390166.486 0, 1178920.87 390177.008 0, 1179229.231 390187.548 0, 1179537.592 390198.106 0, 1179845.952 390208.682 0, 1180154.312 390219.277 0, 1180462.671 390229.889 0,
+ 1180771.03 390240.52 0, 1181079.387 390251.169 0, 1181387.745 390261.836 0, 1181696.101 390272.521 0, 1182004.457 390283.224 0, 1182312.812 390293.946 0, 1182621.167 390304.686 0, 1182929.521 390315.443 0, 1183237.874 390326.219 0, 1183546.227 390337.013 0,
+ 1183854.579 390347.826 0, 1184162.931 390358.656 0, 1184471.281 390369.505 0, 1184779.632 390380.371 0, 1185086.519 390391.204 0, 1185396.33 390402.159 0, 1185704.678 390413.08 0, 1186013.026 390424.019 0, 1186321.373 390434.977 0, 1186629.719 390445.952 0,
+ 1186938.065 390456.946 0, 1187246.41 390467.958 0, 1187554.754 390478.988 0, 1187863.098 390490.036 0, 1188171.441 390501.103 0, 1188479.784 390512.187 0, 1188788.125 390523.29 0, 1189096.467 390534.41 0, 1189404.807 390545.549 0, 1189713.147 390556.706 0,
+ 1190021.486 390567.882 0, 1190329.825 390579.075 0, 1190638.162 390590.287 0, 1190946.5 390601.516 0, 1191254.836 390612.764 0, 1191563.172 390624.03 0, 1191871.507 390635.314 0, 1192179.842 390646.616 0, 1192486.715 390657.883 0, 1192690.455 385113.012 0,
+ 1192894.178 379568.609 0))
+
+POLYGON ((1207285.939 391222.599 0, 1206979.097 391210.466 0, 1206670.795 391198.292 0, 1206362.493 391186.137 0, 1206054.19 391174 0, 1205745.887 391161.881 0, 1205437.583 391149.78 0, 1205129.278 391137.698 0, 1204820.972 391125.633 0, 1204512.666 391113.587 0,
+ 1204204.359 391101.559 0, 1203896.051 391089.549 0, 1203587.742 391077.557 0, 1203279.433 391065.583 0, 1202971.123 391053.628 0, 1202662.813 391041.691 0, 1202354.501 391029.771 0, 1202046.189 391017.87 0, 1201737.877 391005.987 0, 1201429.563 390994.122 0,
+ 1201121.249 390982.276 0, 1200812.934 390970.447 0, 1200504.619 390958.637 0, 1200196.303 390946.845 0, 1199886.526 390935.015 0, 1199579.668 390923.315 0, 1199271.35 390911.577 0, 1198963.031 390899.857 0, 1198654.711 390888.156 0, 1198346.391 390876.472 0,
+ 1198038.07 390864.807 0, 1197729.748 390853.16 0, 1197421.426 390841.531 0, 1197113.103 390829.92 0, 1196804.779 390818.328 0, 1196496.455 390806.753 0, 1196188.13 390795.197 0, 1195879.804 390783.659 0, 1195571.477 390772.139 0, 1195263.15 390760.637 0,
+ 1194954.822 390749.153 0, 1194646.494 390737.688 0, 1194338.165 390726.24 0, 1194029.835 390714.811 0, 1193721.504 390703.4 0, 1193413.173 390692.007 0, 1193104.841 390680.632 0, 1192796.509 390669.275 0, 1192486.715 390657.883 0, 1192282.957 396203.218 0,
+ 1192079.183 401749.015 0, 1192388.321 401760.383 0, 1192696.001 401771.716 0, 1193003.68 401783.067 0, 1193311.358 401794.435 0, 1193619.036 401805.822 0, 1193926.713 401817.228 0, 1194234.389 401828.651 0, 1194542.065 401840.092 0, 1194849.74 401851.551 0,
+ 1195157.415 401863.029 0, 1195465.088 401874.525 0, 1195772.761 401886.038 0, 1196080.434 401897.57 0, 1196388.105 401909.12 0, 1196695.776 401920.688 0, 1197003.447 401932.274 0, 1197311.116 401943.879 0, 1197618.785 401955.501 0, 1197926.453 401967.142 0,
+ 1198234.121 401978.8 0, 1198541.788 401990.477 0, 1198849.454 402002.172 0, 1199157.119 402013.885 0, 1199463.327 402025.56 0, 1199772.448 402037.365 0, 1200080.112 402049.132 0, 1200387.774 402060.918 0, 1200695.436 402072.721 0, 1201003.098 402084.543 0,
+ 1201310.758 402096.382 0, 1201618.418 402108.24 0, 1201926.078 402120.116 0, 1202233.736 402132.01 0, 1202541.394 402143.922 0, 1202849.051 402155.852 0, 1203156.708 402167.801 0, 1203464.363 402179.767 0, 1203772.018 402191.752 0, 1204079.673 402203.754 0,
+ 1204387.326 402215.775 0, 1204694.979 402227.814 0, 1205002.631 402239.871 0, 1205310.283 402251.946 0, 1205617.934 402264.039 0, 1205925.584 402276.151 0, 1206233.233 402288.28 0, 1206540.882 402300.428 0, 1206847.074 402312.536 0, 1207066.516 396767.337 0,
+ 1207285.939 391222.599 0))
+
+POLYGON ((1278276.552 450104.46 0, 1277973.147 450088.167 0, 1277668.311 450071.815 0, 1277363.474 450055.481 0, 1277058.636 450039.165 0, 1276753.797 450022.867 0, 1276448.958 450006.587 0, 1276144.117 449990.324 0, 1275839.275 449974.08 0, 1275534.432 449957.854 0,
+ 1275229.588 449941.645 0, 1274924.744 449925.455 0, 1274619.898 449909.282 0, 1274315.051 449893.128 0, 1274010.204 449876.991 0, 1273705.355 449860.872 0, 1273400.506 449844.771 0, 1273095.656 449828.689 0, 1272790.804 449812.624 0, 1272485.952 449796.577 0,
+ 1272181.099 449780.548 0, 1271876.245 449764.537 0, 1271571.389 449748.544 0, 1271266.533 449732.568 0, 1270960.245 449716.536 0, 1270656.818 449700.672 0, 1270351.96 449684.751 0, 1270047.1 449668.847 0, 1269742.239 449652.962 0, 1269437.377 449637.094 0,
+ 1269132.515 449621.245 0, 1268827.651 449605.413 0, 1268522.787 449589.599 0, 1268217.921 449573.803 0, 1267913.055 449558.026 0, 1267608.188 449542.266 0, 1267303.32 449526.524 0, 1266998.45 449510.8 0, 1266693.58 449495.094 0, 1266388.71 449479.406 0,
+ 1266083.838 449463.736 0, 1265778.965 449448.083 0, 1265474.091 449432.449 0, 1265169.216 449416.833 0, 1264864.341 449401.235 0, 1264559.464 449385.654 0, 1264254.587 449370.092 0, 1263949.709 449354.547 0, 1263643.397 449338.948 0, 1263361.101 454885.334 0,
+ 1263078.783 460432.152 0, 1263384.44 460447.718 0, 1263688.665 460463.23 0, 1263992.889 460478.759 0, 1264297.113 460494.306 0, 1264601.336 460509.871 0, 1264905.557 460525.454 0, 1265209.778 460541.054 0, 1265513.998 460556.673 0, 1265818.217 460572.31 0,
+ 1266122.435 460587.964 0, 1266426.652 460603.637 0, 1266730.868 460619.327 0, 1267035.084 460635.035 0, 1267339.298 460650.761 0, 1267643.511 460666.505 0, 1267947.724 460682.267 0, 1268251.936 460698.047 0, 1268556.146 460713.845 0, 1268860.356 460729.66 0,
+ 1269164.565 460745.494 0, 1269468.773 460761.345 0, 1269772.979 460777.215 0, 1270077.185 460793.102 0, 1270379.962 460808.932 0, 1270685.595 460824.93 0, 1270989.798 460840.871 0, 1271294 460856.83 0, 1271598.201 460872.807 0, 1271902.402 460888.801 0,
+ 1272206.601 460904.814 0, 1272510.8 460920.845 0, 1272814.997 460936.893 0, 1273119.194 460952.959 0, 1273423.389 460969.043 0, 1273727.584 460985.146 0, 1274031.778 461001.266 0, 1274335.971 461017.403 0, 1274640.162 461033.559 0, 1274944.353 461049.733 0,
+ 1275248.543 461065.925 0, 1275552.732 461082.134 0, 1275856.92 461098.362 0, 1276161.107 461114.607 0, 1276465.293 461130.87 0, 1276769.479 461147.151 0, 1277073.663 461163.45 0, 1277377.846 461179.767 0, 1277680.601 461196.026 0, 1277978.588 455650.027 0,
+ 1278276.552 450104.46 0))
+
+POLYGON ((1292280.202 462001.148 0, 1291977.492 461984.035 0, 1291673.356 461966.859 0, 1291369.219 461949.7 0, 1291065.081 461932.56 0, 1290760.942 461915.437 0, 1290456.802 461898.333 0, 1290152.661 461881.246 0, 1289848.519 461864.177 0, 1289544.376 461847.126 0,
+ 1289240.232 461830.093 0, 1288936.087 461813.078 0, 1288631.941 461796.081 0, 1288327.794 461779.101 0, 1288023.646 461762.14 0, 1287719.498 461745.196 0, 1287415.348 461728.271 0, 1287111.197 461711.363 0, 1286807.045 461694.473 0, 1286502.892 461677.601 0,
+ 1286198.738 461660.747 0, 1285894.583 461643.911 0, 1285590.427 461627.093 0, 1285286.27 461610.292 0, 1284980.686 461593.431 0, 1284677.953 461576.745 0, 1284373.793 461559.999 0, 1284069.632 461543.27 0, 1283765.47 461526.559 0, 1283461.308 461509.866 0,
+ 1283157.144 461493.191 0, 1282852.979 461476.534 0, 1282548.813 461459.895 0, 1282244.646 461443.274 0, 1281940.479 461426.67 0, 1281636.31 461410.085 0, 1281332.14 461393.517 0, 1281027.97 461376.967 0, 1280723.798 461360.436 0, 1280419.625 461343.922 0,
+ 1280115.452 461327.426 0, 1279811.277 461310.948 0, 1279507.102 461294.487 0, 1279202.925 461278.045 0, 1278898.748 461261.621 0, 1278594.569 461245.214 0, 1278290.39 461228.826 0, 1277986.21 461212.455 0, 1277680.601 461196.026 0, 1277382.591 466742.453 0,
+ 1277084.557 472289.307 0, 1277389.51 472305.701 0, 1277693.038 472322.036 0, 1277996.564 472338.39 0, 1278300.09 472354.761 0, 1278603.614 472371.15 0, 1278907.138 472387.557 0, 1279210.66 472403.982 0, 1279514.182 472420.425 0, 1279817.703 472436.885 0,
+ 1280121.222 472453.364 0, 1280424.741 472469.86 0, 1280728.259 472486.374 0, 1281031.776 472502.906 0, 1281335.291 472519.456 0, 1281638.806 472536.024 0, 1281942.32 472552.61 0, 1282245.833 472569.213 0, 1282549.345 472585.835 0, 1282852.856 472602.474 0,
+ 1283156.366 472619.131 0, 1283459.875 472635.806 0, 1283763.383 472652.499 0, 1284066.89 472669.209 0, 1284368.973 472685.859 0, 1284673.901 472702.684 0, 1284977.405 472719.449 0, 1285280.908 472736.231 0, 1285584.41 472753.031 0, 1285887.911 472769.849 0,
+ 1286191.411 472786.684 0, 1286494.91 472803.538 0, 1286798.408 472820.409 0, 1287101.905 472837.299 0, 1287405.402 472854.206 0, 1287708.897 472871.131 0, 1288012.391 472888.074 0, 1288315.884 472905.034 0, 1288619.376 472922.013 0, 1288922.867 472939.01 0,
+ 1289226.357 472956.024 0, 1289529.847 472973.056 0, 1289833.335 472990.106 0, 1290136.822 473007.174 0, 1290440.308 473024.26 0, 1290743.793 473041.364 0, 1291047.277 473058.485 0, 1291350.76 473075.625 0, 1291652.821 473092.701 0, 1291966.523 467546.712 0,
+ 1292280.202 462001.148 0))
+
+POLYGON ((1306218.756 473937.251 0, 1305916.743 473919.321 0, 1305613.309 473901.324 0, 1305309.875 473883.345 0, 1305006.439 473865.384 0, 1304703.002 473847.441 0, 1304399.565 473829.516 0, 1304096.126 473811.608 0, 1303792.686 473793.719 0, 1303489.245 473775.847 0,
+ 1303185.803 473757.993 0, 1302882.36 473740.157 0, 1302578.916 473722.339 0, 1302275.471 473704.539 0, 1301972.025 473686.756 0, 1301668.578 473668.992 0, 1301365.13 473651.245 0, 1301061.681 473633.516 0, 1300758.23 473615.805 0, 1300454.779 473598.112 0,
+ 1300151.327 473580.437 0, 1299847.873 473562.78 0, 1299544.419 473545.14 0, 1299240.963 473527.518 0, 1298936.086 473509.832 0, 1298634.049 473492.329 0, 1298330.591 473474.761 0, 1298027.131 473457.21 0, 1297723.67 473439.678 0, 1297420.209 473422.164 0,
+ 1297116.746 473404.667 0, 1296813.282 473387.188 0, 1296509.818 473369.727 0, 1296206.352 473352.284 0, 1295902.885 473334.859 0, 1295599.417 473317.452 0, 1295295.948 473300.062 0, 1294992.478 473282.691 0, 1294689.007 473265.337 0, 1294385.535 473248.001 0,
+ 1294082.063 473230.683 0, 1293778.589 473213.383 0, 1293475.114 473196.101 0, 1293171.638 473178.836 0, 1292868.161 473161.59 0, 1292564.682 473144.361 0, 1292261.203 473127.15 0, 1291957.723 473109.957 0, 1291652.821 473092.701 0, 1291339.094 478639.114 0,
+ 1291025.343 484185.946 0, 1291329.59 484203.165 0, 1291632.417 484220.321 0, 1291935.243 484237.494 0, 1292238.068 484254.686 0, 1292540.893 484271.896 0, 1292843.716 484289.123 0, 1293146.538 484306.368 0, 1293449.359 484323.631 0, 1293752.179 484340.912 0,
+ 1294054.998 484358.21 0, 1294357.816 484375.527 0, 1294660.633 484392.861 0, 1294963.449 484410.213 0, 1295266.264 484427.583 0, 1295569.078 484444.97 0, 1295871.891 484462.376 0, 1296174.703 484479.799 0, 1296477.513 484497.241 0, 1296780.323 484514.7 0,
+ 1297083.132 484532.176 0, 1297385.94 484549.671 0, 1297688.747 484567.183 0, 1297991.552 484584.714 0, 1298292.939 484602.18 0, 1298597.161 484619.828 0, 1298899.963 484637.411 0, 1299202.765 484655.013 0, 1299505.565 484672.632 0, 1299808.365 484690.27 0,
+ 1300111.163 484707.925 0, 1300413.961 484725.598 0, 1300716.757 484743.288 0, 1301019.552 484760.997 0, 1301322.347 484778.723 0, 1301625.14 484796.467 0, 1301927.932 484814.229 0, 1302230.723 484832.009 0, 1302533.513 484849.807 0, 1302836.302 484867.622 0,
+ 1303139.09 484885.455 0, 1303441.877 484903.306 0, 1303744.663 484921.175 0, 1304047.448 484939.062 0, 1304350.232 484956.966 0, 1304653.015 484974.889 0, 1304955.796 484992.829 0, 1305258.577 485010.787 0, 1305559.941 485028.679 0, 1305889.361 479482.755 0,
+ 1306218.756 473937.251 0))
+
+POLYGON ((1320092.099 485912.471 0, 1319790.785 485893.728 0, 1319488.056 485874.914 0, 1319185.326 485856.119 0, 1318882.596 485837.341 0, 1318579.864 485818.581 0, 1318277.13 485799.839 0, 1317974.396 485781.115 0, 1317671.661 485762.408 0, 1317368.924 485743.72 0,
+ 1317066.187 485725.049 0, 1316763.448 485706.396 0, 1316460.709 485687.761 0, 1316157.968 485669.143 0, 1315855.226 485650.544 0, 1315552.483 485631.962 0, 1315249.739 485613.398 0, 1314946.994 485594.852 0, 1314644.247 485576.324 0, 1314341.5 485557.814 0,
+ 1314038.751 485539.321 0, 1313736.002 485520.846 0, 1313433.251 485502.389 0, 1313130.5 485483.95 0, 1312826.332 485465.443 0, 1312524.993 485447.125 0, 1312222.238 485428.74 0, 1311919.482 485410.372 0, 1311616.725 485392.022 0, 1311313.966 485373.689 0,
+ 1311011.207 485355.375 0, 1310708.447 485337.078 0, 1310405.685 485318.8 0, 1310102.923 485300.539 0, 1309800.159 485282.296 0, 1309497.395 485264.07 0, 1309194.629 485245.863 0, 1308891.862 485227.673 0, 1308589.094 485209.501 0, 1308286.325 485191.347 0,
+ 1307983.555 485173.211 0, 1307680.784 485155.093 0, 1307378.012 485136.992 0, 1307075.239 485118.909 0, 1306772.464 485100.844 0, 1306469.689 485082.797 0, 1306166.913 485064.768 0, 1305864.135 485046.756 0, 1305559.941 485028.679 0, 1305230.496 490575.019 0,
+ 1304901.026 496121.774 0, 1305204.565 496139.813 0, 1305506.69 496157.785 0, 1305808.813 496175.776 0, 1306110.935 496193.784 0, 1306413.057 496211.81 0, 1306715.177 496229.854 0, 1307017.296 496247.915 0, 1307319.415 496265.994 0, 1307621.532 496284.091 0,
+ 1307923.648 496302.206 0, 1308225.763 496320.339 0, 1308527.877 496338.489 0, 1308829.989 496356.658 0, 1309132.101 496374.844 0, 1309434.212 496393.048 0, 1309736.322 496411.269 0, 1310038.43 496429.508 0, 1310340.538 496447.766 0, 1310642.644 496466.04 0,
+ 1310944.749 496484.333 0, 1311246.854 496502.644 0, 1311548.957 496520.972 0, 1311851.059 496539.318 0, 1312151.748 496557.596 0, 1312455.26 496576.063 0, 1312757.359 496594.463 0, 1313059.457 496612.88 0, 1313361.553 496631.315 0, 1313663.649 496649.768 0,
+ 1313965.743 496668.238 0, 1314267.837 496686.726 0, 1314569.929 496705.233 0, 1314872.02 496723.756 0, 1315174.111 496742.298 0, 1315476.2 496760.857 0, 1315778.288 496779.435 0, 1316080.375 496798.03 0, 1316382.46 496816.642 0, 1316684.545 496835.273 0,
+ 1316986.629 496853.921 0, 1317288.711 496872.587 0, 1317590.793 496891.271 0, 1317892.873 496909.973 0, 1318194.952 496928.692 0, 1318497.03 496947.429 0, 1318799.107 496966.184 0, 1319101.183 496984.957 0, 1319401.847 497003.66 0, 1319746.986 491457.858 0,
+ 1320092.099 485912.471 0))
+
+POLYGON ((1333900.119 497926.51 0, 1333599.506 497906.958 0, 1333297.485 497887.332 0, 1332995.462 497867.723 0, 1332693.438 497848.133 0, 1332391.413 497828.56 0, 1332089.387 497809.005 0, 1331787.359 497789.468 0, 1331485.331 497769.948 0, 1331183.301 497750.447 0,
+ 1330881.27 497730.963 0, 1330579.238 497711.497 0, 1330277.205 497692.048 0, 1329975.171 497672.618 0, 1329673.135 497653.205 0, 1329371.099 497633.81 0, 1329069.061 497614.433 0, 1328767.022 497595.073 0, 1328464.982 497575.731 0, 1328162.941 497556.408 0,
+ 1327860.899 497537.101 0, 1327558.855 497517.813 0, 1327256.811 497498.542 0, 1326954.765 497479.29 0, 1326651.309 497459.965 0, 1326350.67 497440.837 0, 1326048.621 497421.638 0, 1325746.571 497402.456 0, 1325444.52 497383.292 0, 1325142.467 497364.146 0,
+ 1324840.414 497345.018 0, 1324538.359 497325.907 0, 1324236.303 497306.815 0, 1323934.246 497287.74 0, 1323632.188 497268.682 0, 1323330.129 497249.643 0, 1323028.069 497230.621 0, 1322726.007 497211.617 0, 1322423.945 497192.631 0, 1322121.881 497173.663 0,
+ 1321819.816 497154.712 0, 1321517.75 497135.779 0, 1321215.683 497116.864 0, 1320913.615 497097.967 0, 1320611.546 497079.088 0, 1320309.476 497060.226 0, 1320007.404 497041.382 0, 1319705.332 497022.556 0, 1319401.847 497003.66 0, 1319056.683 502549.872 0,
+ 1318711.493 508096.492 0, 1319014.322 508115.347 0, 1319315.741 508134.133 0, 1319617.16 508152.936 0, 1319918.577 508171.757 0, 1320219.994 508190.595 0, 1320521.409 508209.452 0, 1320822.823 508228.326 0, 1321124.236 508247.218 0, 1321425.648 508266.127 0,
+ 1321727.059 508285.055 0, 1322028.468 508304 0, 1322329.877 508322.963 0, 1322631.285 508341.943 0, 1322932.691 508360.942 0, 1323234.096 508379.958 0, 1323535.5 508398.991 0, 1323836.903 508418.043 0, 1324138.305 508437.112 0, 1324439.706 508456.199 0,
+ 1324741.105 508475.304 0, 1325042.504 508494.426 0, 1325343.901 508513.567 0, 1325645.297 508532.725 0, 1325945.286 508551.811 0, 1326248.086 508571.094 0, 1326549.479 508590.305 0, 1326850.871 508609.534 0, 1327152.261 508628.781 0, 1327453.651 508648.045 0,
+ 1327755.039 508667.327 0, 1328056.426 508686.627 0, 1328357.812 508705.945 0, 1328659.197 508725.28 0, 1328960.581 508744.633 0, 1329261.964 508764.004 0, 1329563.345 508783.392 0, 1329864.726 508802.799 0, 1330166.105 508822.223 0, 1330467.483 508841.665 0,
+ 1330768.86 508861.124 0, 1331070.235 508880.601 0, 1331371.61 508900.096 0, 1331672.983 508919.609 0, 1331974.356 508939.14 0, 1332275.727 508958.688 0, 1332577.097 508978.254 0, 1332878.466 508997.837 0, 1333178.429 509017.347 0, 1333539.287 503471.725 0,
+ 1333900.119 497926.51 0))
+
+POLYGON ((1347642.704 509979.071 0, 1347342.796 509958.713 0, 1347041.483 509938.278 0, 1346740.17 509917.861 0, 1346438.855 509897.462 0, 1346137.539 509877.08 0, 1345836.222 509856.716 0, 1345534.904 509836.369 0, 1345233.584 509816.041 0, 1344932.263 509795.73 0,
+ 1344630.942 509775.437 0, 1344329.618 509755.161 0, 1344028.294 509734.903 0, 1343726.969 509714.663 0, 1343425.642 509694.441 0, 1343124.314 509674.237 0, 1342822.985 509654.05 0, 1342521.655 509633.881 0, 1342220.323 509613.73 0, 1341918.991 509593.596 0,
+ 1341617.657 509573.48 0, 1341316.322 509553.382 0, 1341014.986 509533.302 0, 1340713.648 509513.239 0, 1340410.906 509493.101 0, 1340110.97 509473.167 0, 1339809.629 509453.158 0, 1339508.287 509433.166 0, 1339206.944 509413.192 0, 1338905.599 509393.236 0,
+ 1338604.254 509373.298 0, 1338302.907 509353.377 0, 1338001.559 509333.474 0, 1337700.21 509313.589 0, 1337398.86 509293.721 0, 1337097.508 509273.872 0, 1336796.156 509254.04 0, 1336494.802 509234.225 0, 1336193.447 509214.429 0, 1335892.091 509194.65 0,
+ 1335590.734 509174.889 0, 1335289.375 509155.146 0, 1334988.015 509135.42 0, 1334686.655 509115.712 0, 1334385.293 509096.022 0, 1334083.93 509076.35 0, 1333782.565 509056.695 0, 1333481.2 509037.058 0, 1333178.429 509017.347 0, 1332817.544 514563.375 0,
+ 1332456.633 520109.803 0, 1332758.748 520129.471 0, 1333059.461 520149.065 0, 1333360.172 520168.677 0, 1333660.883 520188.307 0, 1333961.592 520207.955 0, 1334262.3 520227.62 0, 1334563.006 520247.303 0, 1334863.712 520267.003 0, 1335164.416 520286.721 0,
+ 1335465.12 520306.457 0, 1335765.822 520326.211 0, 1336066.523 520345.982 0, 1336367.222 520365.771 0, 1336667.921 520385.578 0, 1336968.618 520405.403 0, 1337269.315 520425.245 0, 1337570.01 520445.105 0, 1337870.704 520464.982 0, 1338171.396 520484.878 0,
+ 1338472.088 520504.79 0, 1338772.778 520524.721 0, 1339073.468 520544.669 0, 1339374.156 520564.635 0, 1339673.442 520584.526 0, 1339975.528 520604.621 0, 1340276.213 520624.64 0, 1340576.896 520644.677 0, 1340877.578 520664.731 0, 1341178.259 520684.803 0,
+ 1341478.939 520704.893 0, 1341779.618 520725.001 0, 1342080.295 520745.126 0, 1342380.972 520765.269 0, 1342681.647 520785.43 0, 1342982.321 520805.608 0, 1343282.993 520825.804 0, 1343583.665 520846.018 0, 1343884.335 520866.25 0, 1344185.004 520886.499 0,
+ 1344485.672 520906.766 0, 1344786.339 520927.05 0, 1345087.005 520947.353 0, 1345387.669 520967.673 0, 1345688.332 520988.01 0, 1345988.994 521008.366 0, 1346289.655 521028.739 0, 1346590.314 521049.13 0, 1346889.573 521069.443 0, 1347266.153 515524.056 0,
+ 1347642.704 509979.071 0))
+
+POLYGON ((1361319.745 522069.855 0, 1361020.542 522048.696 0, 1360719.942 522027.456 0, 1360419.34 522006.233 0, 1360118.736 521985.029 0, 1359818.132 521963.842 0, 1359517.526 521942.672 0, 1359216.919 521921.521 0, 1358916.311 521900.387 0, 1358615.701 521879.271 0,
+ 1358315.091 521858.172 0, 1358014.479 521837.091 0, 1357713.866 521816.028 0, 1357413.251 521794.982 0, 1357112.635 521773.955 0, 1356812.018 521752.945 0, 1356511.4 521731.952 0, 1356210.781 521710.977 0, 1355910.16 521690.02 0, 1355609.538 521669.081 0,
+ 1355308.915 521648.159 0, 1355008.291 521627.256 0, 1354707.665 521606.369 0, 1354407.039 521585.501 0, 1354105.013 521564.553 0, 1353805.781 521543.817 0, 1353505.151 521523.001 0, 1353204.519 521502.204 0, 1352903.886 521481.423 0, 1352603.252 521460.661 0,
+ 1352302.617 521439.916 0, 1352001.98 521419.189 0, 1351701.343 521398.48 0, 1351400.703 521377.789 0, 1351100.063 521357.115 0, 1350799.422 521336.458 0, 1350498.779 521315.82 0, 1350198.135 521295.199 0, 1349897.49 521274.596 0, 1349596.844 521254.011 0,
+ 1349296.196 521233.443 0, 1348995.548 521212.893 0, 1348694.898 521192.36 0, 1348394.247 521171.846 0, 1348093.594 521151.349 0, 1347792.941 521130.87 0, 1347492.286 521110.408 0, 1347191.63 521089.964 0, 1346889.573 521069.443 0, 1346512.967 526615.228 0,
+ 1346136.334 532161.408 0, 1346437.735 532181.885 0, 1346737.738 532202.285 0, 1347037.74 532222.702 0, 1347337.741 532243.136 0, 1347637.74 532263.589 0, 1347937.738 532284.059 0, 1348237.736 532304.547 0, 1348537.731 532325.052 0, 1348837.726 532345.575 0,
+ 1349137.72 532366.116 0, 1349437.712 532386.674 0, 1349737.703 532407.25 0, 1350037.693 532427.844 0, 1350337.681 532448.455 0, 1350637.669 532469.084 0, 1350937.655 532489.731 0, 1351237.64 532510.395 0, 1351537.624 532531.077 0, 1351837.606 532551.777 0,
+ 1352137.588 532572.494 0, 1352437.568 532593.229 0, 1352737.547 532613.982 0, 1353037.524 532634.752 0, 1353336.106 532655.443 0, 1353637.476 532676.346 0, 1353937.45 532697.169 0, 1354237.423 532718.01 0, 1354537.394 532738.868 0, 1354837.365 532759.744 0,
+ 1355137.334 532780.638 0, 1355437.302 532801.55 0, 1355737.268 532822.479 0, 1356037.234 532843.426 0, 1356337.198 532864.39 0, 1356637.161 532885.372 0, 1356937.122 532906.372 0, 1357237.083 532927.39 0, 1357537.042 532948.425 0, 1357837 532969.477 0,
+ 1358136.957 532990.548 0, 1358436.912 533011.636 0, 1358736.867 533032.742 0, 1359036.82 533053.865 0, 1359336.771 533075.006 0, 1359636.722 533096.165 0, 1359936.671 533117.341 0, 1360236.619 533138.535 0, 1360535.172 533159.648 0, 1360927.473 527614.554 0,
+ 1361319.745 522069.855 0))
+
+POLYGON ((1374931.133 534198.563 0, 1374632.638 534176.606 0, 1374332.751 534154.565 0, 1374032.863 534132.541 0, 1373732.973 534110.535 0, 1373433.082 534088.547 0, 1373133.19 534066.576 0, 1372833.297 534044.623 0, 1372533.402 534022.688 0, 1372233.506 534000.77 0,
+ 1371933.609 533978.87 0, 1371633.71 533956.988 0, 1371333.81 533935.123 0, 1371033.909 533913.276 0, 1370734.007 533891.446 0, 1370434.103 533869.634 0, 1370134.198 533847.84 0, 1369834.292 533826.064 0, 1369534.384 533804.305 0, 1369234.475 533782.563 0,
+ 1368934.565 533760.84 0, 1368634.654 533739.134 0, 1368334.741 533717.446 0, 1368034.827 533695.775 0, 1367733.519 533674.022 0, 1367434.995 533652.487 0, 1367135.077 533630.869 0, 1366835.158 533609.269 0, 1366535.238 533587.687 0, 1366235.316 533566.122 0,
+ 1365935.393 533544.575 0, 1365635.469 533523.046 0, 1365335.544 533501.534 0, 1365035.617 533480.04 0, 1364735.689 533458.563 0, 1364435.76 533437.104 0, 1364135.83 533415.663 0, 1363835.898 533394.24 0, 1363535.965 533372.834 0, 1363236.031 533351.446 0,
+ 1362936.095 533330.075 0, 1362636.158 533308.722 0, 1362336.22 533287.387 0, 1362036.281 533266.07 0, 1361736.341 533244.77 0, 1361436.399 533223.487 0, 1361136.456 533202.223 0, 1360836.511 533180.976 0, 1360535.172 533159.648 0, 1360142.844 538705.134 0,
+ 1359750.488 544251.009 0, 1360051.172 544272.291 0, 1360350.463 544293.492 0, 1360649.753 544314.71 0, 1360949.042 544335.946 0, 1361248.33 544357.199 0, 1361547.617 544378.471 0, 1361846.902 544399.759 0, 1362146.186 544421.066 0, 1362445.468 544442.39 0,
+ 1362744.75 544463.731 0, 1363044.03 544485.091 0, 1363343.309 544506.467 0, 1363642.587 544527.862 0, 1363941.863 544549.274 0, 1364241.138 544570.704 0, 1364540.412 544592.151 0, 1364839.685 544613.616 0, 1365138.956 544635.099 0, 1365438.226 544656.599 0,
+ 1365737.495 544678.116 0, 1366036.763 544699.652 0, 1366336.029 544721.205 0, 1366635.294 544742.775 0, 1366933.169 544764.263 0, 1367233.82 544785.97 0, 1367533.082 544807.593 0, 1367832.342 544829.234 0, 1368131.6 544850.893 0, 1368430.858 544872.569 0,
+ 1368730.114 544894.263 0, 1369029.369 544915.975 0, 1369328.622 544937.704 0, 1369627.875 544959.45 0, 1369927.126 544981.215 0, 1370226.375 545002.997 0, 1370525.624 545024.796 0, 1370824.871 545046.614 0, 1371124.117 545068.448 0, 1371423.361 545090.301 0,
+ 1371722.605 545112.171 0, 1372021.847 545134.059 0, 1372321.087 545155.964 0, 1372620.327 545177.887 0, 1372919.565 545199.827 0, 1373218.802 545221.785 0, 1373518.037 545243.761 0, 1373817.272 545265.754 0, 1374115.117 545287.663 0, 1374523.139 539742.919 0,
+ 1374931.133 534198.563 0))
+
+POLYGON ((1388476.759 546364.896 0, 1388178.975 546342.145 0, 1387879.804 546319.307 0, 1387580.632 546296.485 0, 1387281.458 546273.682 0, 1386982.283 546250.896 0, 1386683.107 546228.128 0, 1386383.929 546205.377 0, 1386084.75 546182.644 0, 1385785.57 546159.929 0,
+ 1385486.388 546137.231 0, 1385187.205 546114.551 0, 1384888.021 546091.889 0, 1384588.835 546069.244 0, 1384289.648 546046.616 0, 1383990.46 546024.007 0, 1383691.27 546001.415 0, 1383392.079 545978.84 0, 1383092.887 545956.283 0, 1382793.693 545933.744 0,
+ 1382494.498 545911.222 0, 1382195.302 545888.718 0, 1381896.104 545866.232 0, 1381596.905 545843.763 0, 1381296.318 545821.208 0, 1380998.503 545798.878 0, 1380699.3 545776.462 0, 1380400.096 545754.064 0, 1380100.891 545731.683 0, 1379801.684 545709.32 0,
+ 1379502.476 545686.974 0, 1379203.266 545664.646 0, 1378904.055 545642.336 0, 1378604.843 545620.043 0, 1378305.63 545597.768 0, 1378006.415 545575.51 0, 1377707.199 545553.27 0, 1377407.982 545531.048 0, 1377108.763 545508.843 0, 1376809.543 545486.656 0,
+ 1376510.322 545464.487 0, 1376211.099 545442.335 0, 1375911.875 545420.201 0, 1375612.65 545398.084 0, 1375313.424 545375.985 0, 1375014.196 545353.904 0, 1374714.967 545331.84 0, 1374415.736 545309.794 0, 1374115.117 545287.663 0, 1373707.066 550832.794 0,
+ 1373298.987 556378.307 0, 1373598.951 556400.389 0, 1373897.529 556422.387 0, 1374196.105 556444.403 0, 1374494.68 556466.436 0, 1374793.254 556488.487 0, 1375091.826 556510.555 0, 1375390.397 556532.641 0, 1375688.967 556554.745 0, 1375987.536 556576.866 0,
+ 1376286.103 556599.004 0, 1376584.669 556621.161 0, 1376883.233 556643.334 0, 1377181.797 556665.526 0, 1377480.359 556687.735 0, 1377778.919 556709.961 0, 1378077.479 556732.205 0, 1378376.037 556754.467 0, 1378674.594 556776.746 0, 1378973.149 556799.043 0,
+ 1379271.703 556821.358 0, 1379570.256 556843.69 0, 1379868.808 556866.039 0, 1380167.358 556888.406 0, 1380464.523 556910.687 0, 1380764.454 556933.193 0, 1381063.001 556955.613 0, 1381361.545 556978.05 0, 1381660.089 557000.505 0, 1381958.631 557022.978 0,
+ 1382257.172 557045.468 0, 1382555.712 557067.976 0, 1382854.25 557090.501 0, 1383152.787 557113.044 0, 1383451.323 557135.604 0, 1383749.857 557158.182 0, 1384048.39 557180.778 0, 1384346.922 557203.391 0, 1384645.452 557226.021 0, 1384943.981 557248.67 0,
+ 1385242.509 557271.336 0, 1385541.035 557294.019 0, 1385839.56 557316.72 0, 1386138.084 557339.438 0, 1386436.606 557362.175 0, 1386735.127 557384.928 0, 1387033.647 557407.699 0, 1387332.165 557430.488 0, 1387629.3 557453.189 0, 1388053.044 551908.851 0,
+ 1388476.759 546364.896 0))
+
+POLYGON ((1401956.518 558568.553 0, 1401659.447 558545.012 0, 1401360.994 558521.38 0, 1401062.54 558497.766 0, 1400764.084 558474.169 0, 1400465.627 558450.59 0, 1400167.169 558427.028 0, 1399868.709 558403.483 0, 1399570.248 558379.957 0, 1399271.786 558356.448 0,
+ 1398973.322 558332.956 0, 1398674.857 558309.482 0, 1398376.39 558286.026 0, 1398077.922 558262.587 0, 1397779.453 558239.165 0, 1397480.982 558215.762 0, 1397182.51 558192.376 0, 1396884.037 558169.007 0, 1396585.562 558145.656 0, 1396287.086 558122.323 0,
+ 1395988.608 558099.007 0, 1395690.129 558075.708 0, 1395391.649 558052.428 0, 1395093.167 558029.164 0, 1394793.303 558005.811 0, 1394496.199 557982.691 0, 1394197.714 557959.48 0, 1393899.226 557936.287 0, 1393600.738 557913.112 0, 1393302.248 557889.954 0,
+ 1393003.757 557866.814 0, 1392705.264 557843.691 0, 1392406.77 557820.586 0, 1392108.275 557797.499 0, 1391809.778 557774.429 0, 1391511.28 557751.377 0, 1391212.781 557728.342 0, 1390914.28 557705.325 0, 1390615.778 557682.325 0, 1390317.274 557659.343 0,
+ 1390018.769 557636.378 0, 1389720.263 557613.431 0, 1389421.756 557590.502 0, 1389123.247 557567.59 0, 1388824.736 557544.696 0, 1388526.225 557521.819 0, 1388227.712 557498.96 0, 1387929.198 557476.119 0, 1387629.3 557453.189 0, 1387205.526 562997.907 0,
+ 1386781.724 568543 0, 1387080.967 568565.88 0, 1387378.828 568588.671 0, 1387676.688 568611.481 0, 1387974.547 568634.307 0, 1388272.405 568657.151 0, 1388570.261 568680.013 0, 1388868.116 568702.892 0, 1389165.969 568725.789 0, 1389463.821 568748.703 0,
+ 1389761.672 568771.635 0, 1390059.522 568794.585 0, 1390357.37 568817.552 0, 1390655.216 568840.536 0, 1390953.062 568863.538 0, 1391250.906 568886.557 0, 1391548.749 568909.594 0, 1391846.59 568932.649 0, 1392144.43 568955.721 0, 1392442.268 568978.811 0,
+ 1392740.106 569001.918 0, 1393037.942 569025.042 0, 1393335.776 569048.185 0, 1393633.609 569071.344 0, 1393930.063 569094.414 0, 1394229.271 569117.716 0, 1394527.101 569140.929 0, 1394824.928 569164.159 0, 1395122.755 569187.406 0, 1395420.579 569210.671 0,
+ 1395718.403 569233.953 0, 1396016.225 569257.253 0, 1396314.046 569280.571 0, 1396611.866 569303.906 0, 1396909.684 569327.258 0, 1397207.5 569350.628 0, 1397505.316 569374.016 0, 1397803.13 569397.421 0, 1398100.942 569420.844 0, 1398398.754 569444.284 0,
+ 1398696.563 569467.742 0, 1398994.372 569491.217 0, 1399292.179 569514.71 0, 1399589.985 569538.22 0, 1399887.789 569561.748 0, 1400185.592 569585.293 0, 1400483.393 569608.856 0, 1400781.194 569632.437 0, 1401077.615 569655.925 0, 1401517.082 564112.051 0,
+ 1401956.518 558568.553 0))
+
+POLYGON ((1415370.305 570809.234 0, 1415073.949 570784.908 0, 1414776.216 570760.486 0, 1414478.483 570736.082 0, 1414180.747 570711.696 0, 1413883.011 570687.327 0, 1413585.273 570662.975 0, 1413287.533 570638.641 0, 1412989.792 570614.324 0, 1412692.05 570590.025 0,
+ 1412394.306 570565.744 0, 1412096.561 570541.48 0, 1411798.814 570517.234 0, 1411501.066 570493.005 0, 1411203.317 570468.793 0, 1410905.566 570444.599 0, 1410607.813 570420.423 0, 1410310.059 570396.264 0, 1410012.304 570372.123 0, 1409714.548 570347.999 0,
+ 1409416.79 570323.893 0, 1409119.03 570299.804 0, 1408821.269 570275.733 0, 1408523.507 570251.68 0, 1408224.368 570227.532 0, 1407927.978 570203.625 0, 1407630.212 570179.624 0, 1407332.444 570155.64 0, 1407034.674 570131.674 0, 1406736.903 570107.726 0,
+ 1406439.131 570083.795 0, 1406141.358 570059.881 0, 1405843.583 570035.985 0, 1405545.806 570012.107 0, 1405248.029 569988.246 0, 1404950.249 569964.403 0, 1404652.469 569940.577 0, 1404354.687 569916.769 0, 1404056.903 569892.978 0, 1403759.118 569869.205 0,
+ 1403461.332 569845.449 0, 1403163.545 569821.711 0, 1402865.756 569797.99 0, 1402567.965 569774.287 0, 1402270.173 569750.602 0, 1401972.38 569726.934 0, 1401674.586 569703.283 0, 1401376.79 569679.65 0, 1401077.615 569655.925 0, 1400638.12 575200.173 0,
+ 1400198.594 580744.79 0, 1400497.113 580768.463 0, 1400794.256 580792.044 0, 1401091.398 580815.643 0, 1401388.539 580839.259 0, 1401685.678 580862.893 0, 1401982.816 580886.544 0, 1402279.952 580910.213 0, 1402577.087 580933.899 0, 1402874.221 580957.602 0,
+ 1403171.353 580981.324 0, 1403468.484 581005.062 0, 1403765.613 581028.818 0, 1404062.741 581052.592 0, 1404359.867 581076.383 0, 1404656.993 581100.191 0, 1404954.116 581124.018 0, 1405251.239 581147.861 0, 1405548.36 581171.722 0, 1405845.479 581195.601 0,
+ 1406142.597 581219.497 0, 1406439.714 581243.41 0, 1406736.83 581267.341 0, 1407033.944 581291.29 0, 1407329.684 581315.145 0, 1407628.167 581339.239 0, 1407925.277 581363.24 0, 1408222.385 581387.258 0, 1408519.492 581411.294 0, 1408816.598 581435.348 0,
+ 1409113.702 581459.418 0, 1409410.804 581483.507 0, 1409707.905 581507.613 0, 1410005.005 581531.736 0, 1410302.104 581555.877 0, 1410599.201 581580.035 0, 1410896.296 581604.211 0, 1411193.39 581628.404 0, 1411490.483 581652.615 0, 1411787.574 581676.843 0,
+ 1412084.664 581701.089 0, 1412381.752 581725.352 0, 1412678.839 581749.633 0, 1412975.925 581773.931 0, 1413273.009 581798.247 0, 1413570.092 581822.58 0, 1413867.173 581846.931 0, 1414164.253 581871.299 0, 1414459.96 581895.572 0, 1414915.148 576352.218 0,
+ 1415370.305 570809.234 0))
+
+POLYGON ((1428718.017 583086.64 0, 1428422.377 583061.531 0, 1428125.368 583036.324 0, 1427828.356 583011.134 0, 1427531.344 582985.961 0, 1427234.329 582960.806 0, 1426937.314 582935.669 0, 1426640.297 582910.549 0, 1426343.278 582885.447 0, 1426046.258 582860.362 0,
+ 1425749.236 582835.294 0, 1425452.213 582810.244 0, 1425155.188 582785.212 0, 1424858.162 582760.197 0, 1424561.135 582735.199 0, 1424264.106 582710.219 0, 1423967.075 582685.256 0, 1423670.044 582660.311 0, 1423373.01 582635.384 0, 1423075.975 582610.473 0,
+ 1422778.939 582585.581 0, 1422481.901 582560.706 0, 1422184.862 582535.848 0, 1421887.821 582511.008 0, 1421589.409 582486.07 0, 1421293.735 582461.38 0, 1420996.69 582436.592 0, 1420699.644 582411.822 0, 1420402.596 582387.069 0, 1420105.546 582362.333 0,
+ 1419808.495 582337.616 0, 1419511.443 582312.915 0, 1419214.389 582288.232 0, 1418917.334 582263.567 0, 1418620.277 582238.919 0, 1418323.219 582214.289 0, 1418026.159 582189.676 0, 1417729.098 582165.08 0, 1417432.036 582140.502 0, 1417134.972 582115.942 0,
+ 1416837.906 582091.399 0, 1416540.839 582066.873 0, 1416243.771 582042.365 0, 1415946.701 582017.875 0, 1415649.63 581993.402 0, 1415352.558 581968.946 0, 1415055.484 581944.508 0, 1414758.408 581920.088 0, 1414459.96 581895.572 0, 1414004.742 587439.292 0,
+ 1413549.494 592983.376 0, 1413847.286 593007.838 0, 1414143.709 593032.205 0, 1414440.131 593056.589 0, 1414736.551 593080.991 0, 1415032.969 593105.41 0, 1415329.387 593129.847 0, 1415625.802 593154.301 0, 1415922.217 593178.773 0, 1416218.629 593203.262 0,
+ 1416515.041 593227.769 0, 1416811.451 593252.293 0, 1417107.859 593276.834 0, 1417404.266 593301.393 0, 1417700.672 593325.969 0, 1417997.076 593350.563 0, 1418293.479 593375.174 0, 1418589.88 593399.803 0, 1418886.28 593424.449 0, 1419182.678 593449.112 0,
+ 1419479.075 593473.793 0, 1419775.471 593498.492 0, 1420071.865 593523.208 0, 1420368.257 593547.941 0, 1420663.281 593572.578 0, 1420961.038 593597.46 0, 1421257.426 593622.246 0, 1421553.813 593647.049 0, 1421850.198 593671.869 0, 1422146.582 593696.707 0,
+ 1422442.964 593721.563 0, 1422739.345 593746.436 0, 1423035.725 593771.326 0, 1423332.103 593796.234 0, 1423628.479 593821.159 0, 1423924.854 593846.101 0, 1424221.228 593871.062 0, 1424517.6 593896.039 0, 1424813.97 593921.034 0, 1425110.339 593946.047 0,
+ 1425406.707 593971.076 0, 1425703.073 593996.124 0, 1425999.438 594021.188 0, 1426295.801 594046.271 0, 1426592.163 594071.37 0, 1426888.523 594096.487 0, 1427184.882 594121.622 0, 1427481.239 594146.774 0, 1427776.23 594171.827 0, 1428247.139 588629.052 0,
+ 1428718.017 583086.64 0))
+
+POLYGON ((1441999.551 595400.467 0, 1441704.631 595374.58 0, 1441408.346 595348.591 0, 1441112.059 595322.619 0, 1440815.771 595296.665 0, 1440519.481 595270.728 0, 1440223.19 595244.809 0, 1439926.897 595218.907 0, 1439630.603 595193.022 0, 1439334.307 595167.155 0,
+ 1439038.01 595141.306 0, 1438741.711 595115.473 0, 1438445.411 595089.659 0, 1438149.109 595063.861 0, 1437852.806 595038.081 0, 1437556.501 595012.319 0, 1437260.194 594986.574 0, 1436963.886 594960.847 0, 1436667.577 594935.136 0, 1436371.266 594909.444 0,
+ 1436074.954 594883.769 0, 1435778.64 594858.111 0, 1435482.324 594832.47 0, 1435186.007 594806.848 0, 1434888.324 594781.124 0, 1434593.369 594755.654 0, 1434297.047 594730.083 0, 1434000.724 594704.53 0, 1433704.4 594678.995 0, 1433408.074 594653.476 0,
+ 1433111.746 594627.976 0, 1432815.417 594602.492 0, 1432519.087 594577.026 0, 1432222.755 594551.578 0, 1431926.421 594526.147 0, 1431630.086 594500.733 0, 1431333.75 594475.337 0, 1431037.412 594449.958 0, 1430741.072 594424.597 0, 1430444.731 594399.253 0,
+ 1430148.389 594373.927 0, 1429852.045 594348.618 0, 1429555.699 594323.326 0, 1429259.352 594298.052 0, 1428963.004 594272.795 0, 1428666.654 594247.556 0, 1428370.303 594222.335 0, 1428073.95 594197.13 0, 1427776.23 594171.827 0, 1427305.29 599714.963 0,
+ 1426834.32 605258.456 0, 1427131.384 605283.703 0, 1427427.085 605308.852 0, 1427722.784 605334.018 0, 1428018.481 605359.202 0, 1428314.177 605384.403 0, 1428609.871 605409.622 0, 1428905.564 605434.857 0, 1429201.256 605460.111 0, 1429496.946 605485.381 0,
+ 1429792.634 605510.669 0, 1430088.321 605535.975 0, 1430384.007 605561.298 0, 1430679.691 605586.638 0, 1430975.373 605611.995 0, 1431271.054 605637.371 0, 1431566.734 605662.763 0, 1431862.412 605688.173 0, 1432158.088 605713.6 0, 1432453.763 605739.045 0,
+ 1432749.437 605764.507 0, 1433045.109 605789.986 0, 1433340.779 605815.483 0, 1433636.448 605840.997 0, 1433930.755 605866.412 0, 1434227.782 605892.078 0, 1434523.446 605917.645 0, 1434819.109 605943.229 0, 1435114.771 605968.83 0, 1435410.431 605994.449 0,
+ 1435706.089 606020.085 0, 1436001.746 606045.738 0, 1436297.402 606071.409 0, 1436593.056 606097.097 0, 1436888.708 606122.803 0, 1437184.359 606148.526 0, 1437480.009 606174.267 0, 1437775.657 606200.025 0, 1438071.303 606225.8 0, 1438366.948 606251.593 0,
+ 1438662.591 606277.403 0, 1438958.233 606303.23 0, 1439253.873 606329.075 0, 1439549.512 606354.937 0, 1439845.15 606380.817 0, 1440140.785 606406.714 0, 1440436.42 606432.629 0, 1440732.052 606458.561 0, 1441026.323 606484.391 0, 1441512.953 600942.25 0,
+ 1441999.551 595400.467 0))
+
+POLYGON ((1455214.807 607750.415 0, 1454920.607 607723.754 0, 1454625.049 607696.987 0, 1454329.489 607670.237 0, 1454033.928 607643.505 0, 1453738.365 607616.79 0, 1453442.8 607590.092 0, 1453147.234 607563.412 0, 1452851.667 607536.75 0, 1452556.097 607510.104 0,
+ 1452260.527 607483.477 0, 1451964.954 607456.866 0, 1451669.38 607430.273 0, 1451373.805 607403.697 0, 1451078.228 607377.139 0, 1450782.649 607350.598 0, 1450487.069 607324.075 0, 1450191.487 607297.569 0, 1449895.904 607271.08 0, 1449600.319 607244.609 0,
+ 1449304.732 607218.155 0, 1449009.144 607191.718 0, 1448713.555 607165.299 0, 1448417.964 607138.898 0, 1448121.012 607112.392 0, 1447826.777 607086.146 0, 1447531.181 607059.797 0, 1447235.584 607033.465 0, 1446939.985 607007.15 0, 1446644.384 606980.853 0,
+ 1446348.782 606954.573 0, 1446053.179 606928.31 0, 1445757.574 606902.065 0, 1445461.967 606875.838 0, 1445166.359 606849.627 0, 1444870.749 606823.434 0, 1444575.138 606797.259 0, 1444279.525 606771.101 0, 1443983.911 606744.96 0, 1443688.295 606718.837 0,
+ 1443392.678 606692.731 0, 1443097.059 606666.642 0, 1442801.438 606640.571 0, 1442505.816 606614.518 0, 1442210.193 606588.481 0, 1441914.568 606562.462 0, 1441618.941 606536.461 0, 1441323.313 606510.477 0, 1441026.323 606484.391 0, 1440539.663 612026.885 0,
+ 1440052.971 617569.729 0, 1440349.305 617595.758 0, 1440644.281 617621.685 0, 1440939.255 617647.629 0, 1441234.228 617673.59 0, 1441529.199 617699.569 0, 1441824.169 617725.565 0, 1442119.137 617751.579 0, 1442414.103 617777.61 0, 1442709.068 617803.658 0,
+ 1443004.031 617829.724 0, 1443298.993 617855.807 0, 1443593.954 617881.907 0, 1443888.912 617908.025 0, 1444183.87 617934.16 0, 1444478.825 617960.313 0, 1444773.78 617986.482 0, 1445068.732 618012.67 0, 1445363.683 618038.874 0, 1445658.633 618065.096 0,
+ 1445953.581 618091.335 0, 1446248.528 618117.592 0, 1446543.472 618143.866 0, 1446838.416 618170.157 0, 1447132.002 618196.345 0, 1447428.298 618222.792 0, 1447723.237 618249.135 0, 1448018.174 618275.496 0, 1448313.11 618301.874 0, 1448608.044 618328.27 0,
+ 1448902.976 618354.683 0, 1449197.907 618381.113 0, 1449492.837 618407.561 0, 1449787.764 618434.025 0, 1450082.691 618460.508 0, 1450377.616 618487.007 0, 1450672.539 618513.524 0, 1450967.46 618540.059 0, 1451262.38 618566.611 0, 1451557.299 618593.18 0,
+ 1451852.216 618619.766 0, 1452147.131 618646.37 0, 1452442.045 618672.991 0, 1452736.957 618699.63 0, 1453031.868 618726.285 0, 1453326.777 618752.959 0, 1453621.685 618779.649 0, 1453916.59 618806.357 0, 1454210.14 618832.96 0, 1454712.49 613291.512 0,
+ 1455214.807 607750.415 0))
+
+POLYGON ((1468363.684 620136.181 0, 1468070.208 620108.75 0, 1467775.379 620081.209 0, 1467480.548 620053.685 0, 1467185.716 620026.179 0, 1466890.881 619998.69 0, 1466596.046 619971.218 0, 1466301.208 619943.764 0, 1466006.369 619916.327 0, 1465711.528 619888.907 0,
+ 1465416.686 619861.505 0, 1465121.842 619834.12 0, 1464826.997 619806.753 0, 1464532.15 619779.403 0, 1464237.301 619752.07 0, 1463942.451 619724.755 0, 1463647.599 619697.457 0, 1463352.745 619670.176 0, 1463057.89 619642.913 0, 1462763.033 619615.667 0,
+ 1462468.175 619588.438 0, 1462173.315 619561.227 0, 1461878.454 619534.033 0, 1461583.59 619506.856 0, 1461287.373 619479.572 0, 1460993.859 619452.555 0, 1460698.991 619425.431 0, 1460404.122 619398.323 0, 1460109.251 619371.234 0, 1459814.378 619344.161 0,
+ 1459519.504 619317.106 0, 1459224.628 619290.068 0, 1458929.75 619263.048 0, 1458634.871 619236.045 0, 1458339.991 619209.059 0, 1458045.108 619182.091 0, 1457750.224 619155.14 0, 1457455.339 619128.206 0, 1457160.452 619101.29 0, 1456865.563 619074.391 0,
+ 1456570.673 619047.51 0, 1456275.781 619020.646 0, 1455980.888 618993.799 0, 1455685.993 618966.969 0, 1455391.097 618940.157 0, 1455096.199 618913.363 0, 1454801.299 618886.585 0, 1454506.398 618859.825 0, 1454210.14 618832.96 0, 1453707.76 624374.755 0,
+ 1453205.348 629916.894 0, 1453500.95 629943.7 0, 1453795.199 629970.401 0, 1454089.446 629997.119 0, 1454383.692 630023.854 0, 1454677.936 630050.607 0, 1454972.179 630077.377 0, 1455266.42 630104.164 0, 1455560.659 630130.969 0, 1455854.897 630157.791 0,
+ 1456149.133 630184.631 0, 1456443.368 630211.487 0, 1456737.601 630238.361 0, 1457031.832 630265.253 0, 1457326.062 630292.161 0, 1457620.291 630319.087 0, 1457914.518 630346.03 0, 1458208.743 630372.991 0, 1458502.966 630399.969 0, 1458797.188 630426.964 0,
+ 1459091.409 630453.977 0, 1459385.628 630481.007 0, 1459679.845 630508.054 0, 1459974.06 630535.118 0, 1460266.924 630562.076 0, 1460562.487 630589.299 0, 1460856.698 630616.416 0, 1461150.907 630643.55 0, 1461445.115 630670.701 0, 1461739.321 630697.869 0,
+ 1462033.525 630725.055 0, 1462327.728 630752.258 0, 1462621.929 630779.478 0, 1462916.129 630806.716 0, 1463210.327 630833.971 0, 1463504.523 630861.243 0, 1463798.718 630888.533 0, 1464092.912 630915.84 0, 1464387.103 630943.164 0, 1464681.293 630970.505 0,
+ 1464975.482 630997.864 0, 1465269.668 631025.24 0, 1465563.854 631052.634 0, 1465858.037 631080.045 0, 1466152.219 631107.473 0, 1466446.399 631134.918 0, 1466740.578 631162.381 0, 1467034.755 631189.861 0, 1467327.582 631217.232 0, 1467845.649 625676.535 0,
+ 1468363.684 620136.181 0))
+
+POLYGON ((1481446.086 632557.464 0, 1481153.335 632529.265 0, 1480859.237 632500.954 0, 1480565.137 632472.66 0, 1480271.035 632444.384 0, 1479976.932 632416.125 0, 1479682.827 632387.883 0, 1479388.72 632359.659 0, 1479094.612 632331.451 0, 1478800.502 632303.261 0,
+ 1478506.391 632275.089 0, 1478212.277 632246.934 0, 1477918.162 632218.796 0, 1477624.046 632190.675 0, 1477329.928 632162.572 0, 1477035.808 632134.486 0, 1476741.686 632106.417 0, 1476447.563 632078.365 0, 1476153.438 632050.331 0, 1475859.312 632022.314 0,
+ 1475565.184 631994.315 0, 1475271.054 631966.333 0, 1474976.922 631938.368 0, 1474682.789 631910.42 0, 1474387.307 631882.362 0, 1474094.518 631854.577 0, 1473800.38 631826.682 0, 1473506.241 631798.803 0, 1473212.099 631770.942 0, 1472917.956 631743.099 0,
+ 1472623.812 631715.272 0, 1472329.666 631687.463 0, 1472035.518 631659.672 0, 1471741.368 631631.897 0, 1471447.217 631604.14 0, 1471153.064 631576.4 0, 1470858.91 631548.678 0, 1470564.754 631520.973 0, 1470270.596 631493.285 0, 1469976.437 631465.614 0,
+ 1469682.276 631437.961 0, 1469388.114 631410.325 0, 1469093.95 631382.707 0, 1468799.784 631355.105 0, 1468505.617 631327.521 0, 1468211.448 631299.955 0, 1467917.277 631272.405 0, 1467623.105 631244.873 0, 1467327.582 631217.232 0, 1466809.483 636758.271 0,
+ 1466291.352 642299.646 0, 1466586.22 642327.226 0, 1466879.74 642354.697 0, 1467173.258 642382.185 0, 1467466.775 642409.691 0, 1467760.29 642437.214 0, 1468053.803 642464.754 0, 1468347.315 642492.311 0, 1468640.825 642519.886 0, 1468934.334 642547.477 0,
+ 1469227.841 642575.087 0, 1469521.346 642602.713 0, 1469814.85 642630.357 0, 1470108.352 642658.018 0, 1470401.853 642685.696 0, 1470695.352 642713.392 0, 1470988.849 642741.105 0, 1471282.344 642768.835 0, 1471575.838 642796.582 0, 1471869.331 642824.347 0,
+ 1472162.821 642852.129 0, 1472456.311 642879.928 0, 1472749.798 642907.744 0, 1473043.284 642935.578 0, 1473335.423 642963.301 0, 1473630.25 642991.297 0, 1473923.731 643019.183 0, 1474217.211 643047.086 0, 1474510.688 643075.006 0, 1474804.164 643102.943 0,
+ 1475097.638 643130.898 0, 1475391.111 643158.87 0, 1475684.582 643186.859 0, 1475978.051 643214.866 0, 1476271.519 643242.889 0, 1476564.985 643270.93 0, 1476858.45 643298.989 0, 1477151.912 643327.064 0, 1477445.373 643355.157 0, 1477738.833 643383.267 0,
+ 1478032.291 643411.395 0, 1478325.747 643439.539 0, 1478619.201 643467.701 0, 1478912.654 643495.88 0, 1479206.105 643524.077 0, 1479499.555 643552.291 0, 1479793.003 643580.522 0, 1480086.449 643608.77 0, 1480378.55 643636.906 0, 1480912.334 638097.016 0,
+ 1481446.086 632557.464 0))
+
+POLYGON ((1494461.914 645013.959 0, 1494169.891 644984.998 0, 1493876.526 644955.921 0, 1493583.159 644926.861 0, 1493289.79 644897.818 0, 1492996.42 644868.793 0, 1492703.048 644839.784 0, 1492409.674 644810.794 0, 1492116.299 644781.82 0, 1491822.921 644752.864 0,
+ 1491529.543 644723.925 0, 1491236.162 644695.003 0, 1490942.78 644666.098 0, 1490649.396 644637.211 0, 1490356.01 644608.341 0, 1490062.623 644579.488 0, 1489769.234 644550.653 0, 1489475.843 644521.834 0, 1489182.451 644493.034 0, 1488889.056 644464.25 0,
+ 1488595.661 644435.483 0, 1488302.263 644406.734 0, 1488008.864 644378.002 0, 1487715.463 644349.288 0, 1487420.718 644320.459 0, 1487128.656 644291.91 0, 1486835.25 644263.248 0, 1486541.842 644234.602 0, 1486248.433 644205.974 0, 1485955.022 644177.363 0,
+ 1485661.609 644148.769 0, 1485368.195 644120.193 0, 1485074.779 644091.634 0, 1484781.361 644063.092 0, 1484487.941 644034.567 0, 1484194.52 644006.06 0, 1483901.097 643977.57 0, 1483607.673 643949.097 0, 1483314.247 643920.641 0, 1483020.819 643892.203 0,
+ 1482727.39 643863.782 0, 1482433.958 643835.378 0, 1482140.525 643806.992 0, 1481847.091 643778.623 0, 1481553.655 643750.271 0, 1481260.217 643721.936 0, 1480966.777 643693.619 0, 1480673.336 643665.318 0, 1480378.55 643636.906 0, 1479844.734 649177.13 0,
+ 1479310.886 654717.685 0, 1479605.017 654746.034 0, 1479897.806 654774.271 0, 1480190.593 654802.526 0, 1480483.379 654830.797 0, 1480776.163 654859.086 0, 1481068.945 654887.392 0, 1481361.726 654915.716 0, 1481654.505 654944.056 0, 1481947.282 654972.414 0,
+ 1482240.058 655000.789 0, 1482532.832 655029.182 0, 1482825.604 655057.591 0, 1483118.375 655086.018 0, 1483411.144 655114.462 0, 1483703.911 655142.923 0, 1483996.677 655171.402 0, 1484289.441 655199.897 0, 1484582.203 655228.41 0, 1484874.964 655256.94 0,
+ 1485167.723 655285.488 0, 1485460.48 655314.052 0, 1485753.235 655342.634 0, 1486045.989 655371.233 0, 1486337.403 655399.719 0, 1486631.492 655428.483 0, 1486924.241 655457.134 0, 1487216.988 655485.802 0, 1487509.733 655514.487 0, 1487802.477 655543.19 0,
+ 1488095.219 655571.909 0, 1488387.96 655600.646 0, 1488680.698 655629.401 0, 1488973.435 655658.172 0, 1489266.171 655686.961 0, 1489558.904 655715.766 0, 1489851.636 655744.59 0, 1490144.366 655773.43 0, 1490437.095 655802.287 0, 1490729.822 655831.162 0,
+ 1491022.547 655860.054 0, 1491315.27 655888.963 0, 1491607.992 655917.89 0, 1491900.712 655946.834 0, 1492193.43 655975.794 0, 1492486.147 656004.773 0, 1492778.862 656033.768 0, 1493071.575 656062.781 0, 1493362.949 656091.678 0, 1493912.448 650552.653 0,
+ 1494461.914 645013.959 0))
+
+POLYGON ((1507411.074 657505.365 0, 1507119.78 657475.644 0, 1506827.15 657445.805 0, 1506534.518 657415.982 0, 1506241.885 657386.177 0, 1505949.25 657356.39 0, 1505656.613 657326.619 0, 1505363.974 657296.866 0, 1505071.333 657267.13 0, 1504778.691 657237.411 0,
+ 1504486.047 657207.709 0, 1504193.401 657178.025 0, 1503900.753 657148.357 0, 1503608.104 657118.707 0, 1503315.453 657089.075 0, 1503022.8 657059.459 0, 1502730.146 657029.861 0, 1502437.489 657000.28 0, 1502144.831 656970.716 0, 1501852.172 656941.169 0,
+ 1501559.51 656911.64 0, 1501266.847 656882.128 0, 1500974.182 656852.633 0, 1500681.515 656823.155 0, 1500387.51 656793.56 0, 1500096.177 656764.251 0, 1499803.505 656734.825 0, 1499510.831 656705.416 0, 1499218.156 656676.025 0, 1498925.478 656646.65 0,
+ 1498632.8 656617.293 0, 1498340.119 656587.953 0, 1498047.437 656558.631 0, 1497754.753 656529.325 0, 1497462.067 656500.037 0, 1497169.38 656470.766 0, 1496876.69 656441.512 0, 1496584 656412.276 0, 1496291.307 656383.056 0, 1495998.613 656353.854 0,
+ 1495705.916 656324.669 0, 1495413.219 656295.502 0, 1495120.519 656266.351 0, 1494827.818 656237.218 0, 1494535.115 656208.102 0, 1494242.41 656179.003 0, 1493949.704 656149.922 0, 1493656.996 656120.857 0, 1493362.949 656091.678 0, 1492813.417 661631.03 0,
+ 1492263.854 667170.706 0, 1492557.246 667199.821 0, 1492849.302 667228.82 0, 1493141.356 667257.837 0, 1493433.409 667286.871 0, 1493725.459 667315.922 0, 1494017.509 667344.99 0, 1494309.556 667374.076 0, 1494601.602 667403.178 0, 1494893.646 667432.298 0,
+ 1495185.688 667461.435 0, 1495477.729 667490.59 0, 1495769.767 667519.761 0, 1496061.805 667548.95 0, 1496353.84 667578.155 0, 1496645.874 667607.378 0, 1496937.906 667636.619 0, 1497229.936 667665.876 0, 1497521.965 667695.151 0, 1497813.991 667724.442 0,
+ 1498106.016 667753.751 0, 1498398.04 667783.077 0, 1498690.061 667812.421 0, 1498982.081 667841.781 0, 1499272.766 667871.025 0, 1499566.116 667900.554 0, 1499858.131 667929.966 0, 1500150.144 667959.395 0, 1500442.155 667988.841 0, 1500734.164 668018.305 0,
+ 1501026.172 668047.786 0, 1501318.178 668077.284 0, 1501610.183 668106.799 0, 1501902.185 668136.331 0, 1502194.186 668165.881 0, 1502486.185 668195.448 0, 1502778.182 668225.032 0, 1503070.178 668254.633 0, 1503362.172 668284.251 0, 1503654.164 668313.887 0,
+ 1503946.154 668343.539 0, 1504238.143 668373.209 0, 1504530.13 668402.896 0, 1504822.115 668432.6 0, 1505114.099 668462.322 0, 1505406.08 668492.06 0, 1505698.06 668521.816 0, 1505990.038 668551.589 0, 1506280.683 668581.243 0, 1506845.895 663043.142 0,
+ 1507411.074 657505.365 0))
+
+POLYGON ((1520293.471 670031.375 0, 1520002.909 670000.9 0, 1519711.016 669970.302 0, 1519419.121 669939.722 0, 1519127.225 669909.158 0, 1518835.327 669878.612 0, 1518543.427 669848.083 0, 1518251.525 669817.571 0, 1517959.621 669787.076 0, 1517667.716 669756.599 0,
+ 1517375.808 669726.139 0, 1517083.899 669695.696 0, 1516791.989 669665.27 0, 1516500.076 669634.861 0, 1516208.162 669604.469 0, 1515916.245 669574.095 0, 1515624.327 669543.738 0, 1515332.408 669513.398 0, 1515040.486 669483.075 0, 1514748.563 669452.769 0,
+ 1514456.638 669422.481 0, 1514164.711 669392.209 0, 1513872.782 669361.955 0, 1513580.852 669331.718 0, 1513287.589 669301.361 0, 1512996.985 669271.296 0, 1512705.05 669241.111 0, 1512413.112 669210.942 0, 1512121.173 669180.791 0, 1511829.232 669150.657 0,
+ 1511537.289 669120.541 0, 1511245.344 669090.441 0, 1510953.398 669060.359 0, 1510661.449 669030.294 0, 1510369.499 669000.246 0, 1510077.548 668970.215 0, 1509785.594 668940.202 0, 1509493.639 668910.205 0, 1509201.682 668880.226 0, 1508909.723 668850.264 0,
+ 1508617.762 668820.319 0, 1508325.8 668790.392 0, 1508033.836 668760.481 0, 1507741.87 668730.588 0, 1507449.903 668700.712 0, 1507157.933 668670.853 0, 1506865.962 668641.011 0, 1506573.989 668611.187 0, 1506280.683 668581.243 0, 1505715.438 674119.666 0,
+ 1505150.161 679658.406 0, 1505442.812 679688.282 0, 1505734.133 679718.04 0, 1506025.452 679747.815 0, 1506316.77 679777.607 0, 1506608.085 679807.417 0, 1506899.399 679837.243 0, 1507190.711 679867.087 0, 1507482.022 679896.948 0, 1507773.33 679926.826 0,
+ 1508064.637 679956.721 0, 1508355.942 679986.633 0, 1508647.246 680016.562 0, 1508938.547 680046.509 0, 1509229.847 680076.473 0, 1509521.145 680106.453 0, 1509812.441 680136.451 0, 1510103.736 680166.467 0, 1510395.029 680196.499 0, 1510686.32 680226.548 0,
+ 1510977.609 680256.615 0, 1511268.896 680286.698 0, 1511560.182 680316.799 0, 1511851.466 680346.917 0, 1512141.42 680376.915 0, 1512434.028 680407.205 0, 1512725.307 680437.374 0, 1513016.584 680467.561 0, 1513307.859 680497.764 0, 1513599.132 680527.985 0,
+ 1513890.404 680558.223 0, 1514181.673 680588.478 0, 1514472.941 680618.751 0, 1514764.207 680649.04 0, 1515055.472 680679.347 0, 1515346.734 680709.67 0, 1515637.995 680740.011 0, 1515929.254 680770.369 0, 1516220.511 680800.744 0, 1516511.767 680831.137 0,
+ 1516803.02 680861.546 0, 1517094.272 680891.973 0, 1517385.522 680922.416 0, 1517676.77 680952.877 0, 1517968.017 680983.355 0, 1518259.261 681013.85 0, 1518550.504 681044.363 0, 1518841.745 681074.892 0, 1519131.658 681105.299 0, 1519712.581 675568.179 0,
+ 1520293.471 670031.375 0))
+
+POLYGON ((1533109.012 682591.688 0, 1532819.184 682560.461 0, 1532528.031 682529.109 0, 1532236.875 682497.774 0, 1531945.718 682466.456 0, 1531654.559 682435.156 0, 1531363.398 682403.872 0, 1531072.235 682372.606 0, 1530781.07 682341.356 0, 1530489.903 682310.124 0,
+ 1530198.735 682278.909 0, 1529907.565 682247.711 0, 1529616.393 682216.531 0, 1529325.219 682185.367 0, 1529034.043 682154.22 0, 1528742.866 682123.091 0, 1528451.686 682091.979 0, 1528160.505 682060.884 0, 1527869.322 682029.806 0, 1527578.137 681998.745 0,
+ 1527286.95 681967.702 0, 1526995.762 681936.675 0, 1526704.571 681905.666 0, 1526413.379 681874.674 0, 1526120.86 681843.558 0, 1525830.989 681812.741 0, 1525539.792 681781.8 0, 1525248.592 681750.876 0, 1524957.391 681719.97 0, 1524666.188 681689.08 0,
+ 1524374.983 681658.208 0, 1524083.776 681627.353 0, 1523792.568 681596.515 0, 1523501.357 681565.694 0, 1523210.145 681534.89 0, 1522918.931 681504.104 0, 1522627.715 681473.334 0, 1522336.498 681442.582 0, 1522045.278 681411.847 0, 1521754.057 681381.129 0,
+ 1521462.834 681350.428 0, 1521171.609 681319.745 0, 1520880.382 681289.078 0, 1520589.154 681258.429 0, 1520297.924 681227.796 0, 1520006.692 681197.181 0, 1519715.458 681166.583 0, 1519424.222 681136.002 0, 1519131.658 681105.299 0, 1518550.702 686642.734 0,
+ 1517969.714 692180.48 0, 1518261.623 692211.114 0, 1518552.207 692241.627 0, 1518842.789 692272.156 0, 1519133.369 692302.703 0, 1519423.947 692333.266 0, 1519714.524 692363.847 0, 1520005.099 692394.445 0, 1520295.672 692425.06 0, 1520586.243 692455.692 0,
+ 1520876.812 692486.342 0, 1521167.38 692517.008 0, 1521457.946 692547.691 0, 1521748.51 692578.392 0, 1522039.072 692609.109 0, 1522329.632 692639.844 0, 1522620.191 692670.596 0, 1522910.748 692701.365 0, 1523201.303 692732.151 0, 1523491.856 692762.954 0,
+ 1523782.407 692793.774 0, 1524072.957 692824.612 0, 1524363.504 692855.466 0, 1524654.05 692886.338 0, 1524943.272 692917.086 0, 1525235.137 692948.132 0, 1525525.677 692979.055 0, 1525816.216 693009.995 0, 1526106.752 693040.952 0, 1526397.287 693071.926 0,
+ 1526687.821 693102.917 0, 1526978.352 693133.926 0, 1527268.881 693164.951 0, 1527559.409 693195.994 0, 1527849.935 693227.053 0, 1528140.459 693258.13 0, 1528430.981 693289.224 0, 1528721.501 693320.335 0, 1529012.02 693351.463 0, 1529302.537 693382.608 0,
+ 1529593.051 693413.77 0, 1529883.564 693444.95 0, 1530174.076 693476.146 0, 1530464.585 693507.36 0, 1530755.092 693538.59 0, 1531045.598 693569.838 0, 1531336.102 693601.103 0, 1531626.604 693632.385 0, 1531915.783 693663.542 0, 1532512.414 688127.459 0,
+ 1533109.012 682591.688 0))
+
+POLYGON ((1545857.607 695185.997 0, 1545568.515 695154.023 0, 1545278.102 695121.921 0, 1544987.688 695089.835 0, 1544697.272 695057.767 0, 1544406.853 695025.716 0, 1544116.433 694993.682 0, 1543826.012 694961.665 0, 1543535.588 694929.665 0, 1543245.162 694897.682 0,
+ 1542954.735 694865.716 0, 1542664.305 694833.767 0, 1542373.874 694801.836 0, 1542083.441 694769.921 0, 1541793.006 694738.024 0, 1541502.569 694706.143 0, 1541212.13 694674.28 0, 1540921.689 694642.434 0, 1540631.247 694610.605 0, 1540340.802 694578.793 0,
+ 1540050.356 694546.998 0, 1539759.908 694515.221 0, 1539469.458 694483.46 0, 1539179.006 694451.716 0, 1538887.233 694419.846 0, 1538598.097 694388.281 0, 1538307.639 694356.588 0, 1538017.18 694324.913 0, 1537726.718 694293.255 0, 1537436.255 694261.614 0,
+ 1537145.79 694229.99 0, 1536855.324 694198.383 0, 1536564.855 694166.794 0, 1536274.384 694135.221 0, 1535983.912 694103.666 0, 1535693.438 694072.127 0, 1535402.962 694040.606 0, 1535112.484 694009.102 0, 1534822.004 693977.615 0, 1534531.522 693946.145 0,
+ 1534241.039 693914.692 0, 1533950.553 693883.256 0, 1533660.066 693851.837 0, 1533369.577 693820.436 0, 1533079.086 693789.051 0, 1532788.593 693757.684 0, 1532498.099 693726.333 0, 1532207.602 693695 0, 1531915.783 693663.542 0, 1531319.119 699199.931 0,
+ 1530722.422 704736.625 0, 1531013.586 704768.013 0, 1531303.431 704799.276 0, 1531593.274 704830.556 0, 1531883.115 704861.853 0, 1532172.954 704893.167 0, 1532462.791 704924.498 0, 1532752.627 704955.846 0, 1533042.46 704987.211 0, 1533332.292 705018.594 0,
+ 1533622.122 705049.993 0, 1533911.95 705081.41 0, 1534201.776 705112.843 0, 1534491.601 705144.294 0, 1534781.423 705175.761 0, 1535071.244 705207.246 0, 1535361.063 705238.748 0, 1535650.88 705270.267 0, 1535940.695 705301.803 0, 1536230.509 705333.355 0,
+ 1536520.32 705364.925 0, 1536810.13 705396.513 0, 1537099.937 705428.117 0, 1537389.743 705459.738 0, 1537678.231 705491.232 0, 1537969.349 705523.031 0, 1538259.149 705554.704 0, 1538548.948 705586.393 0, 1538838.744 705618.099 0, 1539128.539 705649.823 0,
+ 1539418.332 705681.564 0, 1539708.123 705713.321 0, 1539997.912 705745.096 0, 1540287.699 705776.888 0, 1540577.484 705808.696 0, 1540867.268 705840.522 0, 1541157.049 705872.365 0, 1541446.829 705904.225 0, 1541736.607 705936.102 0, 1542026.383 705967.996 0,
+ 1542316.157 705999.907 0, 1542605.929 706031.835 0, 1542895.7 706063.781 0, 1543185.468 706095.743 0, 1543475.234 706127.722 0, 1543764.999 706159.719 0, 1544054.762 706191.732 0, 1544344.523 706223.763 0, 1544632.967 706255.665 0, 1545245.304 700720.679 0,
+ 1545857.607 695185.997 0))
+
+POLYGON ((1558539.165 707813.998 0, 1558250.81 707781.281 0, 1557961.141 707748.432 0, 1557671.469 707715.6 0, 1557381.796 707682.786 0, 1557092.121 707649.988 0, 1556802.444 707617.207 0, 1556512.765 707584.443 0, 1556223.085 707551.696 0, 1555933.402 707518.967 0,
+ 1555643.717 707486.254 0, 1555354.03 707453.559 0, 1555064.342 707420.88 0, 1554774.652 707388.219 0, 1554484.959 707355.574 0, 1554195.265 707322.947 0, 1553905.569 707290.337 0, 1553615.87 707257.743 0, 1553326.17 707225.167 0, 1553036.468 707192.608 0,
+ 1552746.765 707160.066 0, 1552457.059 707127.541 0, 1552167.351 707095.033 0, 1551877.641 707062.542 0, 1551586.616 707029.921 0, 1551298.216 706997.611 0, 1551008.501 706965.171 0, 1550718.784 706932.749 0, 1550429.065 706900.343 0, 1550139.343 706867.954 0,
+ 1549849.62 706835.583 0, 1549559.896 706803.228 0, 1549270.169 706770.891 0, 1548980.44 706738.57 0, 1548690.709 706706.267 0, 1548400.977 706673.98 0, 1548111.243 706641.711 0, 1547821.506 706609.459 0, 1547531.768 706577.224 0, 1547242.028 706545.006 0,
+ 1546952.286 706512.805 0, 1546662.542 706480.621 0, 1546372.796 706448.454 0, 1546083.049 706416.304 0, 1545793.299 706384.171 0, 1545503.548 706352.055 0, 1545213.794 706319.957 0, 1544924.039 706287.875 0, 1544632.967 706255.665 0, 1544020.596 711790.951 0,
+ 1543408.193 717326.535 0, 1543698.611 717358.672 0, 1543987.715 717390.682 0, 1544276.816 717422.708 0, 1544565.916 717454.752 0, 1544855.014 717486.812 0, 1545144.11 717518.89 0, 1545433.205 717550.985 0, 1545722.297 717583.096 0, 1546011.387 717615.225 0,
+ 1546300.476 717647.371 0, 1546589.563 717679.533 0, 1546878.647 717711.713 0, 1547167.73 717743.91 0, 1547456.811 717776.123 0, 1547745.89 717808.354 0, 1548034.967 717840.602 0, 1548324.043 717872.867 0, 1548613.116 717905.148 0, 1548902.187 717937.447 0,
+ 1549191.257 717969.763 0, 1549480.325 718002.096 0, 1549769.39 718034.446 0, 1550058.454 718066.812 0, 1550346.205 718099.049 0, 1550636.576 718131.597 0, 1550925.634 718164.015 0, 1551214.691 718196.45 0, 1551503.745 718228.902 0, 1551792.797 718261.371 0,
+ 1552081.848 718293.857 0, 1552370.896 718326.36 0, 1552659.943 718358.88 0, 1552948.988 718391.417 0, 1553238.031 718423.971 0, 1553527.072 718456.542 0, 1553816.111 718489.13 0, 1554105.148 718521.735 0, 1554394.183 718554.357 0, 1554683.216 718586.996 0,
+ 1554972.247 718619.652 0, 1555261.277 718652.325 0, 1555550.304 718685.015 0, 1555839.33 718717.722 0, 1556128.353 718750.446 0, 1556417.375 718783.187 0, 1556706.395 718815.945 0, 1556995.413 718848.72 0, 1557283.119 718881.364 0, 1557911.159 713347.533 0,
+ 1558539.165 707813.998 0))
+
+POLYGON ((1571153.597 720475.386 0, 1570865.981 720441.93 0, 1570577.057 720408.338 0, 1570288.131 720374.764 0, 1569999.203 720341.206 0, 1569710.273 720307.666 0, 1569421.341 720274.142 0, 1569132.407 720240.636 0, 1568843.471 720207.146 0, 1568554.533 720173.674 0,
+ 1568265.594 720140.218 0, 1567976.652 720106.78 0, 1567687.708 720073.358 0, 1567398.762 720039.954 0, 1567109.814 720006.566 0, 1566820.865 719973.196 0, 1566531.913 719939.842 0, 1566242.959 719906.506 0, 1565954.004 719873.187 0, 1565665.046 719839.884 0,
+ 1565376.087 719806.599 0, 1565087.125 719773.33 0, 1564798.162 719740.079 0, 1564509.196 719706.845 0, 1564218.921 719673.477 0, 1563931.26 719640.427 0, 1563642.288 719607.243 0, 1563353.315 719574.077 0, 1563064.34 719540.928 0, 1562775.363 719507.795 0,
+ 1562486.384 719474.68 0, 1562197.403 719441.582 0, 1561908.42 719408.5 0, 1561619.435 719375.436 0, 1561330.448 719342.389 0, 1561041.459 719309.358 0, 1560752.469 719276.345 0, 1560463.476 719243.349 0, 1560174.481 719210.37 0, 1559885.485 719177.407 0,
+ 1559596.486 719144.462 0, 1559307.486 719111.534 0, 1559018.483 719078.623 0, 1558729.479 719045.728 0, 1558440.473 719012.851 0, 1558151.465 718979.991 0, 1557862.455 718947.148 0, 1557573.443 718914.322 0, 1557283.119 718881.364 0, 1556655.046 724415.489 0,
+ 1556026.94 729949.904 0, 1556316.609 729982.788 0, 1556604.97 730015.54 0, 1556893.328 730048.309 0, 1557181.685 730081.095 0, 1557470.04 730113.898 0, 1557758.393 730146.718 0, 1558046.744 730179.555 0, 1558335.093 730212.409 0, 1558623.44 730245.28 0,
+ 1558911.785 730278.168 0, 1559200.128 730311.073 0, 1559488.469 730343.995 0, 1559776.809 730376.934 0, 1560065.146 730409.89 0, 1560353.482 730442.863 0, 1560641.815 730475.852 0, 1560930.147 730508.859 0, 1561218.476 730541.883 0, 1561506.804 730574.924 0,
+ 1561795.13 730607.981 0, 1562083.453 730641.056 0, 1562371.775 730674.148 0, 1562660.095 730707.256 0, 1562947.108 730740.232 0, 1563236.729 730773.524 0, 1563525.043 730806.684 0, 1563813.355 730839.86 0, 1564101.665 730873.054 0, 1564389.973 730906.264 0,
+ 1564678.28 730939.491 0, 1564966.584 730972.736 0, 1565254.886 731005.997 0, 1565543.187 731039.275 0, 1565831.485 731072.57 0, 1566119.781 731105.883 0, 1566408.076 731139.212 0, 1566696.368 731172.558 0, 1566984.659 731205.921 0, 1567272.947 731239.301 0,
+ 1567561.234 731272.698 0, 1567849.519 731306.112 0, 1568137.801 731339.543 0, 1568426.082 731372.991 0, 1568714.361 731406.456 0, 1569002.638 731439.938 0, 1569290.912 731473.437 0, 1569579.185 731506.952 0, 1569866.152 731540.334 0, 1570509.891 726007.715 0,
+ 1571153.597 720475.386 0))
+
+POLYGON ((1583700.816 733169.855 0, 1583413.942 733135.663 0, 1583125.765 733101.333 0, 1582837.586 733067.02 0, 1582549.405 733032.723 0, 1582261.222 732998.444 0, 1581973.037 732964.182 0, 1581684.85 732929.937 0, 1581396.661 732895.708 0, 1581108.47 732861.497 0,
+ 1580820.276 732827.302 0, 1580532.081 732793.125 0, 1580243.884 732758.965 0, 1579955.685 732724.821 0, 1579667.484 732690.694 0, 1579379.281 732656.585 0, 1579091.075 732622.492 0, 1578802.868 732588.417 0, 1578514.659 732554.358 0, 1578226.448 732520.316 0,
+ 1577938.235 732486.291 0, 1577650.02 732452.284 0, 1577361.802 732418.293 0, 1577073.583 732384.319 0, 1576784.059 732350.208 0, 1576497.139 732316.422 0, 1576208.914 732282.499 0, 1575920.686 732248.593 0, 1575632.457 732214.704 0, 1575344.226 732180.832 0,
+ 1575055.993 732146.977 0, 1574767.758 732113.138 0, 1574479.52 732079.317 0, 1574191.281 732045.513 0, 1573903.04 732011.726 0, 1573614.797 731977.955 0, 1573326.552 731944.202 0, 1573038.305 731910.466 0, 1572750.056 731876.746 0, 1572461.805 731843.044 0,
+ 1572173.552 731809.358 0, 1571885.297 731775.69 0, 1571597.04 731742.038 0, 1571308.781 731708.404 0, 1571020.52 731674.786 0, 1570732.257 731641.185 0, 1570443.992 731607.602 0, 1570155.725 731574.035 0, 1569866.152 731540.334 0, 1569222.379 737073.239 0,
+ 1568578.574 742606.428 0, 1568867.493 742640.054 0, 1569155.108 742673.544 0, 1569442.722 742707.052 0, 1569730.333 742740.577 0, 1570017.943 742774.119 0, 1570305.551 742807.677 0, 1570593.156 742841.253 0, 1570880.76 742874.845 0, 1571168.362 742908.455 0,
+ 1571455.962 742942.081 0, 1571743.559 742975.724 0, 1572031.155 743009.384 0, 1572318.749 743043.061 0, 1572606.341 743076.755 0, 1572893.931 743110.466 0, 1573181.519 743144.194 0, 1573469.105 743177.939 0, 1573756.689 743211.701 0, 1574044.27 743245.479 0,
+ 1574331.85 743279.275 0, 1574619.428 743313.087 0, 1574907.004 743346.917 0, 1575194.578 743380.763 0, 1575480.851 743414.473 0, 1575769.72 743448.507 0, 1576057.288 743482.404 0, 1576344.854 743516.318 0, 1576632.418 743550.249 0, 1576919.98 743584.197 0,
+ 1577207.54 743618.161 0, 1577495.098 743652.143 0, 1577782.654 743686.142 0, 1578070.208 743720.157 0, 1578357.76 743754.19 0, 1578645.31 743788.239 0, 1578932.858 743822.306 0, 1579220.404 743856.389 0, 1579507.948 743890.489 0, 1579795.49 743924.607 0,
+ 1580083.03 743958.741 0, 1580370.568 743992.892 0, 1580658.104 744027.059 0, 1580945.638 744061.244 0, 1581233.17 744095.446 0, 1581520.7 744129.665 0, 1581808.228 744163.9 0, 1582095.753 744198.153 0, 1582381.979 744232.268 0, 1583041.414 738700.919 0,
+ 1583700.816 733169.855 0))
+
+POLYGON ((1596180.735 745897.098 0, 1595894.605 745862.174 0, 1595607.177 745827.109 0, 1595319.747 745792.062 0, 1595032.315 745757.031 0, 1594744.881 745722.017 0, 1594457.445 745687.02 0, 1594170.007 745652.04 0, 1593882.566 745617.076 0, 1593595.124 745582.13 0,
+ 1593307.679 745547.201 0, 1593020.233 745512.288 0, 1592732.784 745477.393 0, 1592445.334 745442.514 0, 1592157.881 745407.653 0, 1591870.427 745372.808 0, 1591582.97 745337.98 0, 1591295.511 745303.169 0, 1591008.05 745268.375 0, 1590720.587 745233.598 0,
+ 1590433.122 745198.838 0, 1590145.655 745164.094 0, 1589858.186 745129.368 0, 1589570.715 745094.659 0, 1589281.945 745059.81 0, 1588995.767 745025.291 0, 1588708.29 744990.632 0, 1588420.811 744955.99 0, 1588133.329 744921.365 0, 1587845.846 744886.757 0,
+ 1587558.361 744852.166 0, 1587270.873 744817.592 0, 1586983.384 744783.035 0, 1586695.892 744748.495 0, 1586408.399 744713.972 0, 1586120.903 744679.465 0, 1585833.406 744644.976 0, 1585545.906 744610.503 0, 1585258.405 744576.048 0, 1584970.901 744541.609 0,
+ 1584683.395 744507.187 0, 1584395.888 744472.782 0, 1584108.378 744438.395 0, 1583820.866 744404.024 0, 1583533.352 744369.669 0, 1583245.837 744335.332 0, 1582958.319 744301.012 0, 1582670.799 744266.709 0, 1582381.979 744232.268 0, 1581722.51 749763.896 0,
+ 1581063.009 755295.8 0, 1581351.175 755330.163 0, 1581638.043 755364.389 0, 1581924.91 755398.632 0, 1582211.775 755432.891 0, 1582498.637 755467.167 0, 1582785.498 755501.46 0, 1583072.356 755535.77 0, 1583359.213 755570.097 0, 1583646.067 755604.441 0,
+ 1583932.92 755638.802 0, 1584219.77 755673.179 0, 1584506.619 755707.574 0, 1584793.465 755741.985 0, 1585080.31 755776.413 0, 1585367.152 755810.859 0, 1585653.992 755845.32 0, 1585940.831 755879.799 0, 1586227.667 755914.295 0, 1586514.501 755948.808 0,
+ 1586801.333 755983.337 0, 1587088.164 756017.884 0, 1587374.992 756052.447 0, 1587661.818 756087.027 0, 1587947.348 756121.468 0, 1588235.464 756156.238 0, 1588522.284 756190.869 0, 1588809.102 756225.517 0, 1589095.918 756260.181 0, 1589382.732 756294.863 0,
+ 1589669.544 756329.561 0, 1589956.354 756364.276 0, 1590243.161 756399.008 0, 1590529.967 756433.757 0, 1590816.771 756468.523 0, 1591103.572 756503.306 0, 1591390.372 756538.106 0, 1591677.169 756572.922 0, 1591963.965 756607.755 0, 1592250.758 756642.606 0,
+ 1592537.55 756677.473 0, 1592824.339 756712.357 0, 1593111.126 756747.258 0, 1593397.912 756782.175 0, 1593684.695 756817.11 0, 1593971.476 756852.062 0, 1594258.255 756887.03 0, 1594545.032 756922.015 0, 1594830.514 756956.86 0, 1595505.642 751426.84 0,
+ 1596180.735 745897.098 0))
+
+POLYGON ((1608593.272 758656.808 0, 1608307.887 758621.157 0, 1608021.21 758585.362 0, 1607734.531 758549.583 0, 1607447.849 758513.822 0, 1607161.166 758478.077 0, 1606874.481 758442.349 0, 1606587.793 758406.638 0, 1606301.104 758370.944 0, 1606014.412 758335.267 0,
+ 1605727.718 758299.607 0, 1605441.022 758263.963 0, 1605154.324 758228.336 0, 1604867.624 758192.727 0, 1604580.922 758157.134 0, 1604294.217 758121.558 0, 1604007.511 758085.999 0, 1603720.803 758050.456 0, 1603434.092 758014.931 0, 1603147.379 757979.423 0,
+ 1602860.665 757943.931 0, 1602573.948 757908.456 0, 1602287.229 757872.998 0, 1602000.508 757837.557 0, 1601712.493 757801.974 0, 1601427.059 757766.726 0, 1601140.332 757731.336 0, 1600853.603 757695.962 0, 1600566.871 757660.606 0, 1600280.138 757625.266 0,
+ 1599993.402 757589.943 0, 1599706.664 757554.637 0, 1599419.925 757519.348 0, 1599133.183 757484.076 0, 1598846.439 757448.82 0, 1598559.693 757413.582 0, 1598272.945 757378.36 0, 1597986.195 757343.156 0, 1597699.443 757307.968 0, 1597412.688 757272.797 0,
+ 1597125.932 757237.643 0, 1596839.174 757202.505 0, 1596552.413 757167.385 0, 1596265.65 757132.282 0, 1595978.886 757097.195 0, 1595692.119 757062.125 0, 1595405.35 757027.073 0, 1595118.58 756992.037 0, 1594830.514 756956.86 0, 1594155.353 762487.152 0,
+ 1593480.159 768017.714 0, 1593767.571 768052.811 0, 1594053.691 768087.767 0, 1594339.809 768122.74 0, 1594625.924 768157.731 0, 1594912.038 768192.737 0, 1595198.149 768227.761 0, 1595484.259 768262.802 0, 1595770.366 768297.859 0, 1596056.472 768332.934 0,
+ 1596342.575 768368.025 0, 1596628.676 768403.133 0, 1596914.775 768438.257 0, 1597200.872 768473.399 0, 1597486.968 768508.558 0, 1597773.06 768543.733 0, 1598059.151 768578.925 0, 1598345.24 768614.134 0, 1598631.327 768649.36 0, 1598917.412 768684.603 0,
+ 1599203.494 768719.862 0, 1599489.575 768755.138 0, 1599775.653 768790.432 0, 1600061.73 768825.742 0, 1600346.515 768860.909 0, 1600633.876 768896.412 0, 1600919.946 768931.773 0, 1601206.014 768967.15 0, 1601492.08 769002.544 0, 1601778.144 769037.955 0,
+ 1602064.206 769073.383 0, 1602350.266 769108.828 0, 1602636.323 769144.289 0, 1602922.379 769179.768 0, 1603208.432 769215.263 0, 1603494.484 769250.775 0, 1603780.533 769286.304 0, 1604066.58 769321.85 0, 1604352.625 769357.412 0, 1604638.668 769392.992 0,
+ 1604924.709 769428.588 0, 1605210.748 769464.201 0, 1605496.784 769499.831 0, 1605782.819 769535.478 0, 1606068.852 769571.141 0, 1606354.882 769606.822 0, 1606640.91 769642.519 0, 1606926.936 769678.233 0, 1607211.673 769713.803 0, 1607902.489 764185.171 0,
+ 1608593.272 758656.808 0))
+
+POLYGON ((1620938.341 771448.68 0, 1620653.703 771412.305 0, 1620367.779 771375.783 0, 1620081.853 771339.278 0, 1619795.924 771302.79 0, 1619509.994 771266.318 0, 1619224.061 771229.863 0, 1618938.126 771193.426 0, 1618652.189 771157.004 0, 1618366.25 771120.6 0,
+ 1618080.309 771084.213 0, 1617794.365 771047.842 0, 1617508.42 771011.489 0, 1617222.472 770975.152 0, 1616936.522 770938.832 0, 1616650.57 770902.528 0, 1616364.616 770866.242 0, 1616078.659 770829.972 0, 1615792.701 770793.72 0, 1615506.74 770757.484 0,
+ 1615220.778 770721.265 0, 1614934.813 770685.062 0, 1614648.846 770648.877 0, 1614362.877 770612.708 0, 1614075.62 770576.394 0, 1613790.932 770540.422 0, 1613504.957 770504.304 0, 1613218.979 770468.202 0, 1612933 770432.118 0, 1612647.018 770396.05 0,
+ 1612361.034 770359.999 0, 1612075.048 770323.966 0, 1611789.059 770287.948 0, 1611503.069 770251.948 0, 1611217.077 770215.965 0, 1610931.082 770179.998 0, 1610645.085 770144.048 0, 1610359.087 770108.115 0, 1610073.086 770072.199 0, 1609787.083 770036.3 0,
+ 1609501.078 770000.418 0, 1609215.07 769964.552 0, 1608929.061 769928.703 0, 1608643.049 769892.871 0, 1608357.036 769857.056 0, 1608071.02 769821.258 0, 1607785.002 769785.476 0, 1607498.983 769749.712 0, 1607211.673 769713.803 0, 1606520.824 775242.701 0,
+ 1605829.942 780771.862 0, 1606116.598 780807.689 0, 1606401.967 780843.372 0, 1606687.334 780879.072 0, 1606972.698 780914.789 0, 1607258.061 780950.523 0, 1607543.422 780986.273 0, 1607828.78 781022.04 0, 1608114.137 781057.824 0, 1608399.491 781093.625 0,
+ 1608684.843 781129.443 0, 1608970.193 781165.277 0, 1609255.541 781201.128 0, 1609540.887 781236.996 0, 1609826.231 781272.881 0, 1610111.573 781308.782 0, 1610396.912 781344.701 0, 1610682.25 781380.636 0, 1610967.585 781416.588 0, 1611252.918 781452.557 0,
+ 1611538.249 781488.542 0, 1611823.578 781524.544 0, 1612108.905 781560.563 0, 1612394.23 781596.599 0, 1612678.269 781632.49 0, 1612964.873 781668.722 0, 1613250.191 781704.808 0, 1613535.507 781740.911 0, 1613820.822 781777.031 0, 1614106.134 781813.168 0,
+ 1614391.443 781849.321 0, 1614676.751 781885.491 0, 1614962.057 781921.678 0, 1615247.36 781957.882 0, 1615532.661 781994.103 0, 1615817.961 782030.34 0, 1616103.258 782066.594 0, 1616388.553 782102.865 0, 1616673.845 782139.153 0, 1616959.136 782175.458 0,
+ 1617244.425 782211.779 0, 1617529.711 782248.117 0, 1617814.995 782284.472 0, 1618100.277 782320.844 0, 1618385.557 782357.233 0, 1618670.835 782393.638 0, 1618956.111 782430.06 0, 1619241.384 782466.499 0, 1619525.374 782502.791 0, 1620231.874 776975.604 0,
+ 1620938.341 771448.68 0))
+
+POLYGON ((1633215.861 784272.405 0, 1632931.973 784235.311 0, 1632646.804 784198.066 0, 1632361.632 784160.838 0, 1632076.458 784123.627 0, 1631791.282 784086.432 0, 1631506.104 784049.255 0, 1631220.923 784012.094 0, 1630935.741 783974.95 0, 1630650.556 783937.823 0,
+ 1630365.369 783900.712 0, 1630080.18 783863.619 0, 1629794.989 783826.542 0, 1629509.795 783789.482 0, 1629224.6 783752.438 0, 1628939.402 783715.412 0, 1628654.202 783678.402 0, 1628368.999 783641.409 0, 1628083.795 783604.433 0, 1627798.588 783567.474 0,
+ 1627513.38 783530.531 0, 1627228.169 783493.605 0, 1626942.956 783456.696 0, 1626657.74 783419.804 0, 1626371.243 783382.763 0, 1626087.303 783346.07 0, 1625802.082 783309.228 0, 1625516.858 783272.403 0, 1625231.632 783235.595 0, 1624946.403 783198.803 0,
+ 1624661.173 783162.029 0, 1624375.94 783125.271 0, 1624090.705 783088.53 0, 1623805.469 783051.805 0, 1623520.229 783015.098 0, 1623234.988 782978.407 0, 1622949.745 782941.733 0, 1622664.499 782905.076 0, 1622379.251 782868.435 0, 1622094.002 782831.812 0,
+ 1621808.75 782795.205 0, 1621523.495 782758.615 0, 1621238.239 782722.042 0, 1620952.981 782685.485 0, 1620667.72 782648.946 0, 1620382.457 782612.423 0, 1620097.192 782575.917 0, 1619811.925 782539.427 0, 1619525.374 782502.791 0, 1618818.841 788030.237 0,
+ 1618112.275 793557.938 0, 1618398.172 793594.49 0, 1618682.789 793630.896 0, 1618967.403 793667.319 0, 1619252.015 793703.759 0, 1619536.625 793740.215 0, 1619821.233 793776.688 0, 1620105.839 793813.178 0, 1620390.442 793849.685 0, 1620675.044 793886.208 0,
+ 1620959.643 793922.748 0, 1621244.24 793959.305 0, 1621528.835 793995.878 0, 1621813.428 794032.469 0, 1622098.018 794069.076 0, 1622382.607 794105.7 0, 1622667.193 794142.34 0, 1622951.777 794178.998 0, 1623236.359 794215.672 0, 1623520.939 794252.362 0,
+ 1623805.517 794289.07 0, 1624090.092 794325.794 0, 1624374.666 794362.535 0, 1624659.237 794399.293 0, 1624942.529 794435.903 0, 1625228.373 794472.859 0, 1625512.938 794509.667 0, 1625797.5 794546.492 0, 1626082.06 794583.334 0, 1626366.619 794620.192 0,
+ 1626651.175 794657.067 0, 1626935.729 794693.959 0, 1627220.28 794730.867 0, 1627504.83 794767.793 0, 1627789.377 794804.735 0, 1628073.922 794841.694 0, 1628358.465 794878.669 0, 1628643.006 794915.661 0, 1628927.545 794952.67 0, 1629212.081 794989.696 0,
+ 1629496.615 795026.739 0, 1629781.148 795063.798 0, 1630065.677 795100.874 0, 1630350.205 795137.967 0, 1630634.731 795175.076 0, 1630919.254 795212.203 0, 1631203.775 795249.346 0, 1631488.294 795286.506 0, 1631771.535 795323.515 0, 1632493.715 789797.833 0,
+ 1633215.861 784272.405 0))
+
+POLYGON ((1645425.752 797127.676 0, 1645142.615 797089.866 0, 1644858.202 797051.902 0, 1644573.787 797013.956 0, 1644289.37 796976.026 0, 1644004.95 796938.112 0, 1643720.529 796900.216 0, 1643436.104 796862.336 0, 1643151.678 796824.473 0, 1642867.25 796786.627 0,
+ 1642582.819 796748.797 0, 1642298.386 796710.985 0, 1642013.951 796673.189 0, 1641729.513 796635.409 0, 1641445.074 796597.647 0, 1641160.632 796559.901 0, 1640876.188 796522.172 0, 1640591.742 796484.46 0, 1640307.293 796446.764 0, 1640022.842 796409.085 0,
+ 1639738.39 796371.423 0, 1639453.934 796333.778 0, 1639169.477 796296.149 0, 1638885.017 796258.537 0, 1638599.281 796220.774 0, 1638316.092 796183.364 0, 1638031.625 796145.802 0, 1637747.157 796108.257 0, 1637462.686 796070.729 0, 1637178.213 796033.218 0,
+ 1636893.738 795995.723 0, 1636609.261 795958.245 0, 1636324.782 795920.784 0, 1636040.3 795883.339 0, 1635755.816 795845.912 0, 1635471.33 795808.501 0, 1635186.842 795771.106 0, 1634902.351 795733.729 0, 1634617.859 795696.368 0, 1634333.364 795659.024 0,
+ 1634048.867 795621.697 0, 1633764.367 795584.387 0, 1633479.866 795547.093 0, 1633195.362 795509.816 0, 1632910.856 795472.556 0, 1632626.348 795435.312 0, 1632341.838 795398.085 0, 1632057.326 795360.875 0, 1631771.535 795323.515 0, 1631049.322 800849.45 0,
+ 1630327.077 806375.633 0, 1630612.214 806412.908 0, 1630896.076 806450.032 0, 1631179.936 806487.174 0, 1631463.794 806524.332 0, 1631747.649 806561.507 0, 1632031.502 806598.699 0, 1632315.353 806635.908 0, 1632599.202 806673.133 0, 1632883.049 806710.375 0,
+ 1633166.893 806747.633 0, 1633450.735 806784.909 0, 1633734.575 806822.201 0, 1634018.413 806859.509 0, 1634302.249 806896.835 0, 1634586.082 806934.177 0, 1634869.913 806971.536 0, 1635153.743 807008.911 0, 1635437.569 807046.304 0, 1635721.394 807083.712 0,
+ 1636005.216 807121.138 0, 1636289.037 807158.58 0, 1636572.855 807196.04 0, 1636856.671 807233.515 0, 1637139.212 807270.84 0, 1637424.296 807308.517 0, 1637708.105 807346.043 0, 1637991.912 807383.585 0, 1638275.717 807421.145 0, 1638559.519 807458.721 0,
+ 1638843.32 807496.313 0, 1639127.118 807533.923 0, 1639410.914 807571.549 0, 1639694.707 807609.192 0, 1639978.499 807646.851 0, 1640262.288 807684.527 0, 1640546.075 807722.22 0, 1640829.86 807759.93 0, 1641113.643 807797.656 0, 1641397.423 807835.399 0,
+ 1641681.201 807873.159 0, 1641964.977 807910.935 0, 1642248.751 807948.729 0, 1642532.522 807986.538 0, 1642816.292 808024.365 0, 1643100.059 808062.208 0, 1643383.824 808100.068 0, 1643667.586 808137.945 0, 1643950.076 808175.668 0, 1644687.931 802651.548 0,
+ 1645425.752 797127.676 0))
+
+POLYGON ((1163573.314 367472.976 0, 1163265.088 367463.404 0, 1162955.389 367453.803 0, 1162645.689 367444.221 0, 1162335.989 367434.657 0, 1162026.289 367425.112 0, 1161716.587 367415.584 0, 1161406.885 367406.075 0, 1161097.183 367396.584 0, 1160787.48 367387.111 0,
+ 1160477.777 367377.657 0, 1160168.073 367368.221 0, 1159858.368 367358.802 0, 1159548.663 367349.403 0, 1159238.957 367340.021 0, 1158929.251 367330.658 0, 1158619.544 367321.313 0, 1158309.837 367311.986 0, 1158000.129 367302.677 0, 1157690.42 367293.386 0,
+ 1157380.711 367284.114 0, 1157071.002 367274.86 0, 1156761.292 367265.624 0, 1156451.581 367256.407 0, 1156140.396 367247.164 0, 1155832.158 367238.026 0, 1155522.446 367228.864 0, 1155212.733 367219.719 0, 1154903.02 367210.593 0, 1154593.306 367201.484 0,
+ 1154283.592 367192.394 0, 1153973.877 367183.323 0, 1153664.161 367174.269 0, 1153354.445 367165.234 0, 1153044.729 367156.217 0, 1152735.012 367147.218 0, 1152425.294 367138.238 0, 1152115.576 367129.275 0, 1151805.857 367120.331 0, 1151496.138 367111.405 0,
+ 1151186.418 367102.498 0, 1150876.698 367093.608 0, 1150566.977 367084.737 0, 1150257.256 367075.884 0, 1149947.534 367067.049 0, 1149637.812 367058.233 0, 1149328.089 367049.435 0, 1149018.366 367040.655 0, 1148707.167 367031.851 0, 1148550.469 372576.838 0,
+ 1148393.758 378122.298 0, 1148704.301 378131.083 0, 1149013.372 378139.845 0, 1149322.442 378148.624 0, 1149631.511 378157.422 0, 1149940.58 378166.238 0, 1150249.649 378175.073 0, 1150558.717 378183.925 0, 1150867.784 378192.796 0, 1151176.851 378201.685 0,
+ 1151485.918 378210.592 0, 1151794.983 378219.517 0, 1152104.049 378228.461 0, 1152413.114 378237.422 0, 1152722.178 378246.402 0, 1153031.242 378255.4 0, 1153340.305 378264.416 0, 1153649.368 378273.451 0, 1153958.43 378282.503 0, 1154267.492 378291.574 0,
+ 1154576.553 378300.663 0, 1154885.613 378309.77 0, 1155194.673 378318.895 0, 1155503.733 378328.039 0, 1155811.321 378337.157 0, 1156121.85 378346.381 0, 1156430.908 378355.579 0, 1156739.966 378364.795 0, 1157049.022 378374.03 0, 1157358.079 378383.282 0,
+ 1157667.134 378392.553 0, 1157976.19 378401.842 0, 1158285.244 378411.15 0, 1158594.298 378420.475 0, 1158903.352 378429.819 0, 1159212.405 378439.18 0, 1159521.457 378448.56 0, 1159830.509 378457.959 0, 1160139.56 378467.375 0, 1160448.611 378476.81 0,
+ 1160757.661 378486.262 0, 1161066.711 378495.733 0, 1161375.76 378505.223 0, 1161684.809 378514.73 0, 1161993.857 378524.255 0, 1162302.904 378533.799 0, 1162611.951 378543.361 0, 1162920.997 378552.941 0, 1163228.574 378562.494 0, 1163400.951 373017.499 0,
+ 1163573.314 367472.976 0))
+
+POLYGON ((1178062.086 379044.599 0, 1177754.536 379034.177 0, 1177445.518 379023.724 0, 1177136.499 379013.289 0, 1176827.48 379002.872 0, 1176518.46 378992.474 0, 1176209.44 378982.093 0, 1175900.419 378971.731 0, 1175591.397 378961.387 0, 1175282.375 378951.061 0,
+ 1174973.352 378940.753 0, 1174664.328 378930.464 0, 1174355.304 378920.193 0, 1174046.28 378909.939 0, 1173737.254 378899.704 0, 1173428.228 378889.488 0, 1173119.202 378879.289 0, 1172810.175 378869.109 0, 1172501.147 378858.947 0, 1172192.119 378848.803 0,
+ 1171883.09 378838.677 0, 1171574.06 378828.569 0, 1171265.03 378818.48 0, 1170956 378808.409 0, 1170645.5 378798.308 0, 1170337.936 378788.321 0, 1170028.904 378778.304 0, 1169719.871 378768.306 0, 1169410.837 378758.325 0, 1169101.803 378748.363 0,
+ 1168792.768 378738.419 0, 1168483.733 378728.494 0, 1168174.697 378718.586 0, 1167865.66 378708.697 0, 1167556.623 378698.826 0, 1167247.586 378688.973 0, 1166938.547 378679.138 0, 1166629.508 378669.321 0, 1166320.469 378659.523 0, 1166011.429 378649.743 0,
+ 1165702.388 378639.981 0, 1165393.347 378630.237 0, 1165084.305 378620.511 0, 1164775.263 378610.804 0, 1164466.22 378601.115 0, 1164157.177 378591.444 0, 1163848.133 378581.791 0, 1163539.088 378572.156 0, 1163228.574 378562.494 0, 1163056.182 384107.96 0,
+ 1162883.775 389653.893 0, 1163193.633 389663.535 0, 1163502.025 389673.149 0, 1163810.416 389682.781 0, 1164118.807 389692.432 0, 1164427.197 389702.101 0, 1164735.587 389711.788 0, 1165043.976 389721.493 0, 1165352.364 389731.216 0, 1165660.752 389740.958 0,
+ 1165969.139 389750.717 0, 1166277.526 389760.495 0, 1166585.912 389770.291 0, 1166894.297 389780.105 0, 1167202.682 389789.937 0, 1167511.066 389799.787 0, 1167819.45 389809.655 0, 1168127.833 389819.542 0, 1168436.216 389829.447 0, 1168744.598 389839.37 0,
+ 1169052.979 389849.311 0, 1169361.36 389859.27 0, 1169669.74 389869.247 0, 1169978.12 389879.243 0, 1170285.034 389889.209 0, 1170594.878 389899.288 0, 1170903.255 389909.338 0, 1171211.633 389919.406 0, 1171520.009 389929.493 0, 1171828.386 389939.597 0,
+ 1172136.761 389949.72 0, 1172445.136 389959.86 0, 1172753.51 389970.019 0, 1173061.884 389980.196 0, 1173370.257 389990.391 0, 1173678.63 390000.605 0, 1173987.002 390010.836 0, 1174295.373 390021.086 0, 1174603.744 390031.353 0, 1174912.114 390041.639 0,
+ 1175220.483 390051.943 0, 1175528.852 390062.266 0, 1175837.221 390072.606 0, 1176145.588 390082.964 0, 1176453.955 390093.341 0, 1176762.322 390103.736 0, 1177070.688 390114.149 0, 1177379.053 390124.58 0, 1177685.954 390134.98 0, 1177874.028 384589.555 0,
+ 1178062.086 379044.599 0))
+
+POLYGON ((1192486.715 390657.883 0, 1192179.842 390646.616 0, 1191871.507 390635.314 0, 1191563.172 390624.03 0, 1191254.836 390612.764 0, 1190946.5 390601.516 0, 1190638.162 390590.287 0, 1190329.825 390579.075 0, 1190021.486 390567.882 0, 1189713.147 390556.706 0,
+ 1189404.807 390545.549 0, 1189096.467 390534.41 0, 1188788.125 390523.29 0, 1188479.784 390512.187 0, 1188171.441 390501.103 0, 1187863.098 390490.036 0, 1187554.754 390478.988 0, 1187246.41 390467.958 0, 1186938.065 390456.946 0, 1186629.719 390445.952 0,
+ 1186321.373 390434.977 0, 1186013.026 390424.019 0, 1185704.678 390413.08 0, 1185396.33 390402.159 0, 1185086.519 390391.204 0, 1184779.632 390380.371 0, 1184471.281 390369.505 0, 1184162.931 390358.656 0, 1183854.579 390347.826 0, 1183546.227 390337.013 0,
+ 1183237.874 390326.219 0, 1182929.521 390315.443 0, 1182621.167 390304.686 0, 1182312.812 390293.946 0, 1182004.457 390283.224 0, 1181696.101 390272.521 0, 1181387.745 390261.836 0, 1181079.387 390251.169 0, 1180771.03 390240.52 0, 1180462.671 390229.889 0,
+ 1180154.312 390219.277 0, 1179845.952 390208.682 0, 1179537.592 390198.106 0, 1179229.231 390187.548 0, 1178920.87 390177.008 0, 1178612.508 390166.486 0, 1178304.145 390155.982 0, 1177995.781 390145.497 0, 1177685.954 390134.98 0, 1177497.864 395680.868 0,
+ 1177309.758 401227.219 0, 1177618.93 401237.713 0, 1177926.64 401248.177 0, 1178234.35 401258.658 0, 1178542.059 401269.158 0, 1178849.768 401279.676 0, 1179157.476 401290.211 0, 1179465.184 401300.765 0, 1179772.89 401311.337 0, 1180080.597 401321.927 0,
+ 1180388.302 401332.536 0, 1180696.007 401343.162 0, 1181003.711 401353.806 0, 1181311.415 401364.469 0, 1181619.118 401375.15 0, 1181926.821 401385.848 0, 1182234.522 401396.565 0, 1182542.224 401407.3 0, 1182849.924 401418.054 0, 1183157.624 401428.825 0,
+ 1183465.323 401439.614 0, 1183773.022 401450.422 0, 1184080.72 401461.247 0, 1184388.417 401472.091 0, 1184694.655 401482.901 0, 1185003.81 401493.833 0, 1185311.505 401504.731 0, 1185619.2 401515.647 0, 1185926.894 401526.581 0, 1186234.588 401537.533 0,
+ 1186542.281 401548.504 0, 1186849.973 401559.492 0, 1187157.665 401570.499 0, 1187465.355 401581.524 0, 1187773.046 401592.567 0, 1188080.735 401603.628 0, 1188388.424 401614.707 0, 1188696.113 401625.804 0, 1189003.8 401636.919 0, 1189311.487 401648.053 0,
+ 1189619.174 401659.204 0, 1189926.859 401670.374 0, 1190234.544 401681.562 0, 1190542.229 401692.768 0, 1190849.912 401703.992 0, 1191157.596 401715.234 0, 1191465.278 401726.494 0, 1191772.96 401737.772 0, 1192079.183 401749.015 0, 1192282.957 396203.218 0,
+ 1192486.715 390657.883 0))
+
+POLYGON ((1206847.074 402312.536 0, 1206540.882 402300.428 0, 1206233.233 402288.28 0, 1205925.584 402276.151 0, 1205617.934 402264.039 0, 1205310.283 402251.946 0, 1205002.631 402239.871 0, 1204694.979 402227.814 0, 1204387.326 402215.775 0, 1204079.673 402203.754 0,
+ 1203772.018 402191.752 0, 1203464.363 402179.767 0, 1203156.708 402167.801 0, 1202849.051 402155.852 0, 1202541.394 402143.922 0, 1202233.736 402132.01 0, 1201926.078 402120.116 0, 1201618.418 402108.24 0, 1201310.758 402096.382 0, 1201003.098 402084.543 0,
+ 1200695.436 402072.721 0, 1200387.774 402060.918 0, 1200080.112 402049.132 0, 1199772.448 402037.365 0, 1199463.327 402025.56 0, 1199157.119 402013.885 0, 1198849.454 402002.172 0, 1198541.788 401990.477 0, 1198234.121 401978.8 0, 1197926.453 401967.142 0,
+ 1197618.785 401955.501 0, 1197311.116 401943.879 0, 1197003.447 401932.274 0, 1196695.776 401920.688 0, 1196388.105 401909.12 0, 1196080.434 401897.57 0, 1195772.761 401886.038 0, 1195465.088 401874.525 0, 1195157.415 401863.029 0, 1194849.74 401851.551 0,
+ 1194542.065 401840.092 0, 1194234.389 401828.651 0, 1193926.713 401817.228 0, 1193619.036 401805.822 0, 1193311.358 401794.435 0, 1193003.68 401783.067 0, 1192696.001 401771.716 0, 1192388.321 401760.383 0, 1192079.183 401749.015 0, 1191875.392 407295.271 0,
+ 1191671.584 412841.982 0, 1191980.066 412853.326 0, 1192287.093 412864.635 0, 1192594.119 412875.962 0, 1192901.144 412887.306 0, 1193208.169 412898.669 0, 1193515.193 412910.05 0, 1193822.217 412921.449 0, 1194129.24 412932.866 0, 1194436.262 412944.301 0,
+ 1194743.283 412955.754 0, 1195050.304 412967.225 0, 1195357.324 412978.715 0, 1195664.344 412990.222 0, 1195971.362 413001.748 0, 1196278.38 413013.291 0, 1196585.398 413024.853 0, 1196892.415 413036.432 0, 1197199.431 413048.03 0, 1197506.446 413059.646 0,
+ 1197813.461 413071.28 0, 1198120.475 413082.932 0, 1198427.488 413094.602 0, 1198734.501 413106.29 0, 1199040.059 413117.94 0, 1199348.524 413129.72 0, 1199655.534 413141.462 0, 1199962.544 413153.223 0, 1200269.553 413165.001 0, 1200576.562 413176.798 0,
+ 1200883.569 413188.612 0, 1201190.577 413200.445 0, 1201497.583 413212.296 0, 1201804.589 413224.164 0, 1202111.594 413236.051 0, 1202418.598 413247.956 0, 1202725.601 413259.879 0, 1203032.604 413271.82 0, 1203339.607 413283.779 0, 1203646.608 413295.757 0,
+ 1203953.609 413307.752 0, 1204260.609 413319.765 0, 1204567.608 413331.797 0, 1204874.607 413343.846 0, 1205181.605 413355.914 0, 1205488.602 413367.999 0, 1205795.598 413380.103 0, 1206102.594 413392.225 0, 1206408.137 413404.307 0, 1206627.615 407858.193 0,
+ 1206847.074 402312.536 0))
+
+POLYGON ((1221143.043 414008.263 0, 1220837.533 413995.317 0, 1220530.573 413982.328 0, 1220223.612 413969.358 0, 1219916.65 413956.405 0, 1219609.687 413943.47 0, 1219302.724 413930.553 0, 1218995.76 413917.654 0, 1218688.795 413904.774 0, 1218381.829 413891.911 0,
+ 1218074.863 413879.067 0, 1217767.896 413866.24 0, 1217460.928 413853.432 0, 1217153.959 413840.642 0, 1216846.99 413827.869 0, 1216540.02 413815.115 0, 1216233.049 413802.379 0, 1215926.077 413789.661 0, 1215619.105 413776.961 0, 1215312.131 413764.279 0,
+ 1215005.157 413751.616 0, 1214698.183 413738.97 0, 1214391.207 413726.342 0, 1214084.231 413713.733 0, 1213775.803 413701.081 0, 1213470.277 413688.567 0, 1213163.298 413676.012 0, 1212856.319 413663.475 0, 1212549.339 413650.955 0, 1212242.359 413638.454 0,
+ 1211935.378 413625.971 0, 1211628.395 413613.506 0, 1211321.413 413601.059 0, 1211014.429 413588.63 0, 1210707.445 413576.219 0, 1210400.46 413563.827 0, 1210093.474 413551.452 0, 1209786.488 413539.095 0, 1209479.501 413526.757 0, 1209172.513 413514.436 0,
+ 1208865.524 413502.134 0, 1208558.535 413489.849 0, 1208251.545 413477.583 0, 1207944.554 413465.335 0, 1207637.563 413453.105 0, 1207330.57 413440.892 0, 1207023.577 413428.698 0, 1206716.584 413416.522 0, 1206408.137 413404.307 0, 1206188.641 418950.874 0,
+ 1205969.128 424497.89 0, 1206276.919 424510.079 0, 1206583.259 424522.23 0, 1206889.599 424534.398 0, 1207195.939 424546.584 0, 1207502.277 424558.788 0, 1207808.615 424571.01 0, 1208114.952 424583.25 0, 1208421.289 424595.509 0, 1208727.624 424607.785 0,
+ 1209033.959 424620.079 0, 1209340.293 424632.392 0, 1209646.627 424644.722 0, 1209952.96 424657.07 0, 1210259.292 424669.437 0, 1210565.623 424681.821 0, 1210871.954 424694.224 0, 1211178.284 424706.644 0, 1211484.613 424719.083 0, 1211790.941 424731.539 0,
+ 1212097.269 424744.014 0, 1212403.596 424756.507 0, 1212709.922 424769.017 0, 1213016.247 424781.546 0, 1213321.124 424794.033 0, 1213628.896 424806.657 0, 1213935.219 424819.24 0, 1214241.542 424831.841 0, 1214547.864 424844.46 0, 1214854.185 424857.097 0,
+ 1215160.505 424869.752 0, 1215466.824 424882.425 0, 1215773.143 424895.116 0, 1216079.461 424907.825 0, 1216385.778 424920.552 0, 1216692.095 424933.297 0, 1216998.411 424946.06 0, 1217304.726 424958.841 0, 1217611.04 424971.64 0, 1217917.354 424984.457 0,
+ 1218223.666 424997.292 0, 1218529.978 425010.146 0, 1218836.29 425023.017 0, 1219142.6 425035.906 0, 1219448.91 425048.813 0, 1219755.219 425061.739 0, 1220061.527 425074.682 0, 1220367.834 425087.643 0, 1220672.694 425100.562 0, 1220907.878 419554.187 0,
+ 1221143.043 414008.263 0))
+
+POLYGON ((1263643.397 449338.948 0, 1263339.949 449323.512 0, 1263035.068 449308.021 0, 1262730.186 449292.549 0, 1262425.303 449277.094 0, 1262120.42 449261.657 0, 1261815.535 449246.238 0, 1261510.649 449230.837 0, 1261205.763 449215.454 0, 1260900.875 449200.089 0,
+ 1260595.987 449184.742 0, 1260291.098 449169.413 0, 1259986.208 449154.101 0, 1259681.317 449138.808 0, 1259376.425 449123.533 0, 1259071.532 449108.275 0, 1258766.638 449093.036 0, 1258461.744 449077.814 0, 1258156.848 449062.611 0, 1257851.952 449047.425 0,
+ 1257547.055 449032.257 0, 1257242.156 449017.108 0, 1256937.257 449001.976 0, 1256632.357 448986.862 0, 1256326.022 448971.695 0, 1256022.555 448956.688 0, 1255717.652 448941.628 0, 1255412.749 448926.586 0, 1255107.844 448911.562 0, 1254802.939 448896.556 0,
+ 1254498.033 448881.568 0, 1254193.126 448866.597 0, 1253888.218 448851.645 0, 1253583.309 448836.711 0, 1253278.399 448821.794 0, 1252973.489 448806.896 0, 1252668.577 448792.015 0, 1252363.665 448777.153 0, 1252058.752 448762.308 0, 1251753.838 448747.481 0,
+ 1251448.923 448732.672 0, 1251144.007 448717.882 0, 1250839.09 448703.109 0, 1250534.173 448688.354 0, 1250229.254 448673.617 0, 1249924.335 448658.898 0, 1249619.415 448644.197 0, 1249314.494 448629.514 0, 1249008.137 448614.779 0, 1248741.512 454161.941 0,
+ 1248474.866 459709.535 0, 1248780.567 459724.238 0, 1249084.835 459738.889 0, 1249389.102 459753.559 0, 1249693.369 459768.246 0, 1249997.634 459782.952 0, 1250301.899 459797.675 0, 1250606.162 459812.416 0, 1250910.425 459827.175 0, 1251214.687 459841.953 0,
+ 1251518.948 459856.747 0, 1251823.208 459871.56 0, 1252127.468 459886.391 0, 1252431.726 459901.24 0, 1252735.984 459916.106 0, 1253040.24 459930.991 0, 1253344.496 459945.893 0, 1253648.751 459960.814 0, 1253953.005 459975.752 0, 1254257.258 459990.708 0,
+ 1254561.511 460005.682 0, 1254865.762 460020.674 0, 1255170.013 460035.684 0, 1255474.262 460050.711 0, 1255777.08 460065.686 0, 1256082.759 460080.821 0, 1256387.006 460095.902 0, 1256691.252 460111.002 0, 1256995.497 460126.119 0, 1257299.742 460141.254 0,
+ 1257603.985 460156.407 0, 1257908.227 460171.578 0, 1258212.469 460186.767 0, 1258516.71 460201.974 0, 1258820.95 460217.199 0, 1259125.189 460232.441 0, 1259429.427 460247.702 0, 1259733.664 460262.98 0, 1260037.9 460278.277 0, 1260342.136 460293.591 0,
+ 1260646.37 460308.923 0, 1260950.604 460324.273 0, 1261254.836 460339.641 0, 1261559.068 460355.027 0, 1261863.299 460370.431 0, 1262167.529 460385.853 0, 1262471.758 460401.292 0, 1262775.986 460416.75 0, 1263078.783 460432.152 0, 1263361.101 454885.334 0,
+ 1263643.397 449338.948 0))
+
+POLYGON ((1277680.601 461196.026 0, 1277377.846 461179.767 0, 1277073.663 461163.45 0, 1276769.479 461147.151 0, 1276465.293 461130.87 0, 1276161.107 461114.607 0, 1275856.92 461098.362 0, 1275552.732 461082.134 0, 1275248.543 461065.925 0, 1274944.353 461049.733 0,
+ 1274640.162 461033.559 0, 1274335.971 461017.403 0, 1274031.778 461001.266 0, 1273727.584 460985.146 0, 1273423.389 460969.043 0, 1273119.194 460952.959 0, 1272814.997 460936.893 0, 1272510.8 460920.845 0, 1272206.601 460904.814 0, 1271902.402 460888.801 0,
+ 1271598.201 460872.807 0, 1271294 460856.83 0, 1270989.798 460840.871 0, 1270685.595 460824.93 0, 1270379.962 460808.932 0, 1270077.185 460793.102 0, 1269772.979 460777.215 0, 1269468.773 460761.345 0, 1269164.565 460745.494 0, 1268860.356 460729.66 0,
+ 1268556.146 460713.845 0, 1268251.936 460698.047 0, 1267947.724 460682.267 0, 1267643.511 460666.505 0, 1267339.298 460650.761 0, 1267035.084 460635.035 0, 1266730.868 460619.327 0, 1266426.652 460603.637 0, 1266122.435 460587.964 0, 1265818.217 460572.31 0,
+ 1265513.998 460556.673 0, 1265209.778 460541.054 0, 1264905.557 460525.454 0, 1264601.336 460509.871 0, 1264297.113 460494.306 0, 1263992.889 460478.759 0, 1263688.665 460463.23 0, 1263384.44 460447.718 0, 1263078.783 460432.152 0, 1262796.444 465979.4 0,
+ 1262514.083 471527.073 0, 1262819.083 471542.606 0, 1263122.655 471558.084 0, 1263426.227 471573.58 0, 1263729.797 471589.093 0, 1264033.367 471604.625 0, 1264336.936 471620.174 0, 1264640.503 471635.742 0, 1264944.07 471651.327 0, 1265247.636 471666.93 0,
+ 1265551.201 471682.551 0, 1265854.765 471698.189 0, 1266158.329 471713.846 0, 1266461.891 471729.521 0, 1266765.452 471745.213 0, 1267069.013 471760.923 0, 1267372.572 471776.651 0, 1267676.131 471792.397 0, 1267979.688 471808.161 0, 1268283.245 471823.943 0,
+ 1268586.801 471839.742 0, 1268890.356 471855.56 0, 1269193.91 471871.395 0, 1269497.463 471887.248 0, 1269799.589 471903.044 0, 1270104.566 471919.008 0, 1270408.116 471934.915 0, 1270711.665 471950.839 0, 1271015.214 471966.782 0, 1271318.761 471982.742 0,
+ 1271622.308 471998.72 0, 1271925.853 472014.716 0, 1272229.398 472030.73 0, 1272532.941 472046.762 0, 1272836.484 472062.812 0, 1273140.026 472078.879 0, 1273443.566 472094.965 0, 1273747.106 472111.068 0, 1274050.645 472127.189 0, 1274354.183 472143.328 0,
+ 1274657.72 472159.485 0, 1274961.256 472175.66 0, 1275264.791 472191.852 0, 1275568.325 472208.063 0, 1275871.859 472224.291 0, 1276175.391 472240.537 0, 1276478.922 472256.802 0, 1276782.452 472273.083 0, 1277084.557 472289.307 0, 1277382.591 466742.453 0,
+ 1277680.601 461196.026 0))
+
+POLYGON ((1291652.821 473092.701 0, 1291350.76 473075.625 0, 1291047.277 473058.485 0, 1290743.793 473041.364 0, 1290440.308 473024.26 0, 1290136.822 473007.174 0, 1289833.335 472990.106 0, 1289529.847 472973.056 0, 1289226.357 472956.024 0, 1288922.867 472939.01 0,
+ 1288619.376 472922.013 0, 1288315.884 472905.034 0, 1288012.391 472888.074 0, 1287708.897 472871.131 0, 1287405.402 472854.206 0, 1287101.905 472837.299 0, 1286798.408 472820.409 0, 1286494.91 472803.538 0, 1286191.411 472786.684 0, 1285887.911 472769.849 0,
+ 1285584.41 472753.031 0, 1285280.908 472736.231 0, 1284977.405 472719.449 0, 1284673.901 472702.684 0, 1284368.973 472685.859 0, 1284066.89 472669.209 0, 1283763.383 472652.499 0, 1283459.875 472635.806 0, 1283156.366 472619.131 0, 1282852.856 472602.474 0,
+ 1282549.345 472585.835 0, 1282245.833 472569.213 0, 1281942.32 472552.61 0, 1281638.806 472536.024 0, 1281335.291 472519.456 0, 1281031.776 472502.906 0, 1280728.259 472486.374 0, 1280424.741 472469.86 0, 1280121.222 472453.364 0, 1279817.703 472436.885 0,
+ 1279514.182 472420.425 0, 1279210.66 472403.982 0, 1278907.138 472387.557 0, 1278603.614 472371.15 0, 1278300.09 472354.761 0, 1277996.564 472338.39 0, 1277693.038 472322.036 0, 1277389.51 472305.701 0, 1277084.557 472289.307 0, 1276786.502 477836.583 0,
+ 1276488.423 483384.28 0, 1276792.72 483400.639 0, 1277095.594 483416.939 0, 1277398.468 483433.258 0, 1277701.34 483449.594 0, 1278004.212 483465.947 0, 1278307.082 483482.319 0, 1278609.952 483498.709 0, 1278912.82 483515.116 0, 1279215.688 483531.541 0,
+ 1279518.555 483547.984 0, 1279821.42 483564.445 0, 1280124.285 483580.924 0, 1280427.149 483597.42 0, 1280730.012 483613.934 0, 1281032.874 483630.466 0, 1281335.734 483647.016 0, 1281638.594 483663.584 0, 1281941.453 483680.17 0, 1282244.311 483696.773 0,
+ 1282547.168 483713.394 0, 1282850.024 483730.034 0, 1283152.879 483746.69 0, 1283455.733 483763.365 0, 1283757.166 483779.979 0, 1284061.438 483796.768 0, 1284364.289 483813.496 0, 1284667.139 483830.242 0, 1284969.989 483847.006 0, 1285272.837 483863.788 0,
+ 1285575.684 483880.587 0, 1285878.53 483897.405 0, 1286181.375 483914.24 0, 1286484.219 483931.093 0, 1286787.062 483947.964 0, 1287089.905 483964.852 0, 1287392.746 483981.759 0, 1287695.586 483998.683 0, 1287998.425 484015.625 0, 1288301.263 484032.585 0,
+ 1288604.1 484049.563 0, 1288906.937 484066.558 0, 1289209.772 484083.572 0, 1289512.606 484100.603 0, 1289815.439 484117.652 0, 1290118.271 484134.719 0, 1290421.103 484151.804 0, 1290723.933 484168.906 0, 1291025.343 484185.946 0, 1291339.094 478639.114 0,
+ 1291652.821 473092.701 0))
+
+POLYGON ((1305559.941 485028.679 0, 1305258.577 485010.787 0, 1304955.796 484992.829 0, 1304653.015 484974.889 0, 1304350.232 484956.966 0, 1304047.448 484939.062 0, 1303744.663 484921.175 0, 1303441.877 484903.306 0, 1303139.09 484885.455 0, 1302836.302 484867.622 0,
+ 1302533.513 484849.807 0, 1302230.723 484832.009 0, 1301927.932 484814.229 0, 1301625.14 484796.467 0, 1301322.347 484778.723 0, 1301019.552 484760.997 0, 1300716.757 484743.288 0, 1300413.961 484725.598 0, 1300111.163 484707.925 0, 1299808.365 484690.27 0,
+ 1299505.565 484672.632 0, 1299202.765 484655.013 0, 1298899.963 484637.411 0, 1298597.161 484619.828 0, 1298292.939 484602.18 0, 1297991.552 484584.714 0, 1297688.747 484567.183 0, 1297385.94 484549.671 0, 1297083.132 484532.176 0, 1296780.323 484514.7 0,
+ 1296477.513 484497.241 0, 1296174.703 484479.799 0, 1295871.891 484462.376 0, 1295569.078 484444.97 0, 1295266.264 484427.583 0, 1294963.449 484410.213 0, 1294660.633 484392.861 0, 1294357.816 484375.527 0, 1294054.998 484358.21 0, 1293752.179 484340.912 0,
+ 1293449.359 484323.631 0, 1293146.538 484306.368 0, 1292843.716 484289.123 0, 1292540.893 484271.896 0, 1292238.068 484254.686 0, 1291935.243 484237.494 0, 1291632.417 484220.321 0, 1291329.59 484203.165 0, 1291025.343 484185.946 0, 1290711.569 489733.195 0,
+ 1290397.772 495280.859 0, 1290701.362 495298.04 0, 1291003.536 495315.159 0, 1291305.71 495332.296 0, 1291607.882 495349.45 0, 1291910.053 495366.623 0, 1292212.223 495383.813 0, 1292514.392 495401.021 0, 1292816.56 495418.246 0, 1293118.727 495435.49 0,
+ 1293420.893 495452.751 0, 1293723.058 495470.03 0, 1294025.222 495487.327 0, 1294327.385 495504.642 0, 1294629.547 495521.974 0, 1294931.708 495539.324 0, 1295233.868 495556.692 0, 1295536.027 495574.078 0, 1295838.185 495591.482 0, 1296140.341 495608.903 0,
+ 1296442.497 495626.342 0, 1296744.652 495643.799 0, 1297046.806 495661.274 0, 1297348.959 495678.766 0, 1297649.696 495696.194 0, 1297953.261 495713.804 0, 1298255.411 495731.35 0, 1298557.559 495748.914 0, 1298859.707 495766.495 0, 1299161.853 495784.094 0,
+ 1299463.999 495801.711 0, 1299766.143 495819.346 0, 1300068.287 495836.999 0, 1300370.429 495854.669 0, 1300672.57 495872.357 0, 1300974.711 495890.063 0, 1301276.85 495907.787 0, 1301578.988 495925.528 0, 1301881.125 495943.287 0, 1302183.261 495961.064 0,
+ 1302485.397 495978.859 0, 1302787.531 495996.672 0, 1303089.664 496014.502 0, 1303391.795 496032.35 0, 1303693.926 496050.216 0, 1303996.056 496068.1 0, 1304298.185 496086.001 0, 1304600.313 496103.921 0, 1304901.026 496121.774 0, 1305230.496 490575.019 0,
+ 1305559.941 485028.679 0))
+
+POLYGON ((1319401.847 497003.66 0, 1319101.183 496984.957 0, 1318799.107 496966.184 0, 1318497.03 496947.429 0, 1318194.952 496928.692 0, 1317892.873 496909.973 0, 1317590.793 496891.271 0, 1317288.711 496872.587 0, 1316986.629 496853.921 0, 1316684.545 496835.273 0,
+ 1316382.46 496816.642 0, 1316080.375 496798.03 0, 1315778.288 496779.435 0, 1315476.2 496760.857 0, 1315174.111 496742.298 0, 1314872.02 496723.756 0, 1314569.929 496705.233 0, 1314267.837 496686.726 0, 1313965.743 496668.238 0, 1313663.649 496649.768 0,
+ 1313361.553 496631.315 0, 1313059.457 496612.88 0, 1312757.359 496594.463 0, 1312455.26 496576.063 0, 1312151.748 496557.596 0, 1311851.059 496539.318 0, 1311548.957 496520.972 0, 1311246.854 496502.644 0, 1310944.749 496484.333 0, 1310642.644 496466.04 0,
+ 1310340.538 496447.766 0, 1310038.43 496429.508 0, 1309736.322 496411.269 0, 1309434.212 496393.048 0, 1309132.101 496374.844 0, 1308829.989 496356.658 0, 1308527.877 496338.489 0, 1308225.763 496320.339 0, 1307923.648 496302.206 0, 1307621.532 496284.091 0,
+ 1307319.415 496265.994 0, 1307017.296 496247.915 0, 1306715.177 496229.854 0, 1306413.057 496211.81 0, 1306110.935 496193.784 0, 1305808.813 496175.776 0, 1305506.69 496157.785 0, 1305204.565 496139.813 0, 1304901.026 496121.774 0, 1304571.532 501668.939 0,
+ 1304242.014 507216.512 0, 1304544.897 507234.512 0, 1304846.369 507252.446 0, 1305147.839 507270.397 0, 1305449.308 507288.366 0, 1305750.777 507306.353 0, 1306052.244 507324.358 0, 1306353.71 507342.381 0, 1306655.176 507360.421 0, 1306956.64 507378.479 0,
+ 1307258.103 507396.555 0, 1307559.565 507414.648 0, 1307861.026 507432.759 0, 1308162.486 507450.888 0, 1308463.944 507469.035 0, 1308765.402 507487.199 0, 1309066.859 507505.382 0, 1309368.314 507523.581 0, 1309669.769 507541.799 0, 1309971.222 507560.035 0,
+ 1310272.675 507578.288 0, 1310574.126 507596.559 0, 1310875.576 507614.847 0, 1311177.025 507633.154 0, 1311477.065 507651.392 0, 1311779.92 507669.82 0, 1312081.366 507688.179 0, 1312382.811 507706.557 0, 1312684.255 507724.952 0, 1312985.698 507743.365 0,
+ 1313287.139 507761.795 0, 1313588.58 507780.244 0, 1313890.019 507798.71 0, 1314191.457 507817.193 0, 1314492.895 507835.695 0, 1314794.331 507854.214 0, 1315095.766 507872.751 0, 1315397.2 507891.306 0, 1315698.633 507909.879 0, 1316000.064 507928.469 0,
+ 1316301.495 507947.077 0, 1316602.925 507965.703 0, 1316904.353 507984.346 0, 1317205.78 508003.007 0, 1317507.207 508021.686 0, 1317808.632 508040.383 0, 1318110.056 508059.097 0, 1318411.479 508077.83 0, 1318711.493 508096.492 0, 1319056.683 502549.872 0,
+ 1319401.847 497003.66 0))
+
+POLYGON ((1333178.429 509017.347 0, 1332878.466 508997.837 0, 1332577.097 508978.254 0, 1332275.727 508958.688 0, 1331974.356 508939.14 0, 1331672.983 508919.609 0, 1331371.61 508900.096 0, 1331070.235 508880.601 0, 1330768.86 508861.124 0, 1330467.483 508841.665 0,
+ 1330166.105 508822.223 0, 1329864.726 508802.799 0, 1329563.345 508783.392 0, 1329261.964 508764.004 0, 1328960.581 508744.633 0, 1328659.197 508725.28 0, 1328357.812 508705.945 0, 1328056.426 508686.627 0, 1327755.039 508667.327 0, 1327453.651 508648.045 0,
+ 1327152.261 508628.781 0, 1326850.871 508609.534 0, 1326549.479 508590.305 0, 1326248.086 508571.094 0, 1325945.286 508551.811 0, 1325645.297 508532.725 0, 1325343.901 508513.567 0, 1325042.504 508494.426 0, 1324741.105 508475.304 0, 1324439.706 508456.199 0,
+ 1324138.305 508437.112 0, 1323836.903 508418.043 0, 1323535.5 508398.991 0, 1323234.096 508379.958 0, 1322932.691 508360.942 0, 1322631.285 508341.943 0, 1322329.877 508322.963 0, 1322028.468 508304 0, 1321727.059 508285.055 0, 1321425.648 508266.127 0,
+ 1321124.236 508247.218 0, 1320822.823 508228.326 0, 1320521.409 508209.452 0, 1320219.994 508190.595 0, 1319918.577 508171.757 0, 1319617.16 508152.936 0, 1319315.741 508134.133 0, 1319014.322 508115.347 0, 1318711.493 508096.492 0, 1318366.279 513643.517 0,
+ 1318021.039 519190.943 0, 1318323.211 519209.757 0, 1318623.978 519228.502 0, 1318924.743 519247.264 0, 1319225.508 519266.044 0, 1319526.271 519284.842 0, 1319827.033 519303.658 0, 1320127.795 519322.491 0, 1320428.555 519341.342 0, 1320729.313 519360.21 0,
+ 1321030.071 519379.097 0, 1321330.828 519398.001 0, 1321631.584 519416.923 0, 1321932.338 519435.862 0, 1322233.091 519454.819 0, 1322533.844 519473.794 0, 1322834.595 519492.787 0, 1323135.345 519511.797 0, 1323436.094 519530.825 0, 1323736.842 519549.87 0,
+ 1324037.588 519568.934 0, 1324338.334 519588.015 0, 1324639.078 519607.114 0, 1324939.821 519626.23 0, 1325239.16 519645.275 0, 1325541.305 519664.516 0, 1325842.044 519683.686 0, 1326142.783 519702.873 0, 1326443.521 519722.078 0, 1326744.257 519741.301 0,
+ 1327044.993 519760.541 0, 1327345.727 519779.799 0, 1327646.46 519799.075 0, 1327947.192 519818.368 0, 1328247.923 519837.679 0, 1328548.653 519857.008 0, 1328849.381 519876.355 0, 1329150.109 519895.719 0, 1329450.835 519915.101 0, 1329751.56 519934.501 0,
+ 1330052.284 519953.918 0, 1330353.007 519973.353 0, 1330653.729 519992.806 0, 1330954.449 520012.276 0, 1331255.169 520031.765 0, 1331555.887 520051.27 0, 1331856.604 520070.794 0, 1332157.32 520090.335 0, 1332456.633 520109.803 0, 1332817.544 514563.375 0,
+ 1333178.429 509017.347 0))
+
+POLYGON ((1346889.573 521069.443 0, 1346590.314 521049.13 0, 1346289.655 521028.739 0, 1345988.994 521008.366 0, 1345688.332 520988.01 0, 1345387.669 520967.673 0, 1345087.005 520947.353 0, 1344786.339 520927.05 0, 1344485.672 520906.766 0, 1344185.004 520886.499 0,
+ 1343884.335 520866.25 0, 1343583.665 520846.018 0, 1343282.993 520825.804 0, 1342982.321 520805.608 0, 1342681.647 520785.43 0, 1342380.972 520765.269 0, 1342080.295 520745.126 0, 1341779.618 520725.001 0, 1341478.939 520704.893 0, 1341178.259 520684.803 0,
+ 1340877.578 520664.731 0, 1340576.896 520644.677 0, 1340276.213 520624.64 0, 1339975.528 520604.621 0, 1339673.442 520584.526 0, 1339374.156 520564.635 0, 1339073.468 520544.669 0, 1338772.778 520524.721 0, 1338472.088 520504.79 0, 1338171.396 520484.878 0,
+ 1337870.704 520464.982 0, 1337570.01 520445.105 0, 1337269.315 520425.245 0, 1336968.618 520405.403 0, 1336667.921 520385.578 0, 1336367.222 520365.771 0, 1336066.523 520345.982 0, 1335765.822 520326.211 0, 1335465.12 520306.457 0, 1335164.416 520286.721 0,
+ 1334863.712 520267.003 0, 1334563.006 520247.303 0, 1334262.3 520227.62 0, 1333961.592 520207.955 0, 1333660.883 520188.307 0, 1333360.172 520168.677 0, 1333059.461 520149.065 0, 1332758.748 520129.471 0, 1332456.633 520109.803 0, 1332095.696 525656.63 0,
+ 1331734.734 531203.852 0, 1332036.193 531223.477 0, 1332336.253 531243.029 0, 1332636.311 531262.599 0, 1332936.368 531282.186 0, 1333236.424 531301.791 0, 1333536.479 531321.413 0, 1333836.533 531341.053 0, 1334136.586 531360.711 0, 1334436.637 531380.386 0,
+ 1334736.687 531400.08 0, 1335036.737 531419.79 0, 1335336.785 531439.519 0, 1335636.831 531459.265 0, 1335936.877 531479.029 0, 1336236.922 531498.81 0, 1336536.965 531518.609 0, 1336837.007 531538.426 0, 1337137.048 531558.26 0, 1337437.088 531578.112 0,
+ 1337737.127 531597.982 0, 1338037.164 531617.869 0, 1338337.2 531637.774 0, 1338637.236 531657.697 0, 1338935.872 531677.544 0, 1339237.302 531697.595 0, 1339537.334 531717.571 0, 1339837.365 531737.564 0, 1340137.394 531757.575 0, 1340437.422 531777.604 0,
+ 1340737.449 531797.65 0, 1341037.475 531817.714 0, 1341337.499 531837.796 0, 1341637.522 531857.895 0, 1341937.545 531878.012 0, 1342237.566 531898.147 0, 1342537.586 531918.299 0, 1342837.604 531938.469 0, 1343137.622 531958.656 0, 1343437.638 531978.862 0,
+ 1343737.653 531999.084 0, 1344037.667 532019.325 0, 1344337.679 532039.583 0, 1344637.691 532059.859 0, 1344937.701 532080.153 0, 1345237.71 532100.464 0, 1345537.718 532120.793 0, 1345837.725 532141.139 0, 1346136.334 532161.408 0, 1346512.967 526615.228 0,
+ 1346889.573 521069.443 0))
+
+POLYGON ((1360535.172 533159.648 0, 1360236.619 533138.535 0, 1359936.671 533117.341 0, 1359636.722 533096.165 0, 1359336.771 533075.006 0, 1359036.82 533053.865 0, 1358736.867 533032.742 0, 1358436.912 533011.636 0, 1358136.957 532990.548 0, 1357837 532969.477 0,
+ 1357537.042 532948.425 0, 1357237.083 532927.39 0, 1356937.122 532906.372 0, 1356637.161 532885.372 0, 1356337.198 532864.39 0, 1356037.234 532843.426 0, 1355737.268 532822.479 0, 1355437.302 532801.55 0, 1355137.334 532780.638 0, 1354837.365 532759.744 0,
+ 1354537.394 532738.868 0, 1354237.423 532718.01 0, 1353937.45 532697.169 0, 1353637.476 532676.346 0, 1353336.106 532655.443 0, 1353037.524 532634.752 0, 1352737.547 532613.982 0, 1352437.568 532593.229 0, 1352137.588 532572.494 0, 1351837.606 532551.777 0,
+ 1351537.624 532531.077 0, 1351237.64 532510.395 0, 1350937.655 532489.731 0, 1350637.669 532469.084 0, 1350337.681 532448.455 0, 1350037.693 532427.844 0, 1349737.703 532407.25 0, 1349437.712 532386.674 0, 1349137.72 532366.116 0, 1348837.726 532345.575 0,
+ 1348537.731 532325.052 0, 1348237.736 532304.547 0, 1347937.738 532284.059 0, 1347637.74 532263.589 0, 1347337.741 532243.136 0, 1347037.74 532222.702 0, 1346737.738 532202.285 0, 1346437.735 532181.885 0, 1346136.334 532161.408 0, 1345759.675 537707.981 0,
+ 1345382.989 543254.942 0, 1345683.733 543275.375 0, 1345983.083 543295.73 0, 1346282.432 543316.102 0, 1346581.78 543336.493 0, 1346881.127 543356.901 0, 1347180.472 543377.326 0, 1347479.816 543397.769 0, 1347779.159 543418.23 0, 1348078.501 543438.708 0,
+ 1348377.841 543459.204 0, 1348677.181 543479.718 0, 1348976.519 543500.249 0, 1349275.856 543520.798 0, 1349575.192 543541.365 0, 1349874.526 543561.949 0, 1350173.859 543582.551 0, 1350473.192 543603.17 0, 1350772.522 543623.807 0, 1351071.852 543644.461 0,
+ 1351371.181 543665.134 0, 1351670.508 543685.823 0, 1351969.834 543706.531 0, 1352269.159 543727.256 0, 1352567.09 543747.902 0, 1352867.804 543768.759 0, 1353167.126 543789.537 0, 1353466.445 543810.332 0, 1353765.764 543831.145 0, 1354065.082 543851.976 0,
+ 1354364.398 543872.825 0, 1354663.713 543893.691 0, 1354963.027 543914.574 0, 1355262.339 543935.475 0, 1355561.65 543956.394 0, 1355860.961 543977.331 0, 1356160.269 543998.285 0, 1356459.577 544019.256 0, 1356758.883 544040.246 0, 1357058.188 544061.253 0,
+ 1357357.492 544082.277 0, 1357656.795 544103.319 0, 1357956.096 544124.379 0, 1358255.397 544145.457 0, 1358554.696 544166.552 0, 1358853.993 544187.664 0, 1359153.29 544208.794 0, 1359452.585 544229.942 0, 1359750.488 544251.009 0, 1360142.844 538705.134 0,
+ 1360535.172 533159.648 0))
+
+POLYGON ((1374115.117 545287.663 0, 1373817.272 545265.754 0, 1373518.037 545243.761 0, 1373218.802 545221.785 0, 1372919.565 545199.827 0, 1372620.327 545177.887 0, 1372321.087 545155.964 0, 1372021.847 545134.059 0, 1371722.605 545112.171 0, 1371423.361 545090.301 0,
+ 1371124.117 545068.448 0, 1370824.871 545046.614 0, 1370525.624 545024.796 0, 1370226.375 545002.997 0, 1369927.126 544981.215 0, 1369627.875 544959.45 0, 1369328.622 544937.704 0, 1369029.369 544915.975 0, 1368730.114 544894.263 0, 1368430.858 544872.569 0,
+ 1368131.6 544850.893 0, 1367832.342 544829.234 0, 1367533.082 544807.593 0, 1367233.82 544785.97 0, 1366933.169 544764.263 0, 1366635.294 544742.775 0, 1366336.029 544721.205 0, 1366036.763 544699.652 0, 1365737.495 544678.116 0, 1365438.226 544656.599 0,
+ 1365138.956 544635.099 0, 1364839.685 544613.616 0, 1364540.412 544592.151 0, 1364241.138 544570.704 0, 1363941.863 544549.274 0, 1363642.587 544527.862 0, 1363343.309 544506.467 0, 1363044.03 544485.091 0, 1362744.75 544463.731 0, 1362445.468 544442.39 0,
+ 1362146.186 544421.066 0, 1361846.902 544399.759 0, 1361547.617 544378.471 0, 1361248.33 544357.199 0, 1360949.042 544335.946 0, 1360649.753 544314.71 0, 1360350.463 544293.492 0, 1360051.172 544272.291 0, 1359750.488 544251.009 0, 1359358.105 549797.271 0,
+ 1358965.695 555343.914 0, 1359265.723 555365.149 0, 1359564.361 555386.304 0, 1359862.998 555407.476 0, 1360161.635 555428.665 0, 1360460.269 555449.873 0, 1360758.903 555471.097 0, 1361057.535 555492.34 0, 1361356.166 555513.6 0, 1361654.796 555534.877 0,
+ 1361953.425 555556.172 0, 1362252.052 555577.485 0, 1362550.678 555598.815 0, 1362849.303 555620.163 0, 1363147.927 555641.528 0, 1363446.549 555662.911 0, 1363745.17 555684.312 0, 1364043.79 555705.73 0, 1364342.408 555727.166 0, 1364641.025 555748.619 0,
+ 1364939.641 555770.09 0, 1365238.256 555791.578 0, 1365536.87 555813.084 0, 1365835.482 555834.608 0, 1366132.706 555856.049 0, 1366432.702 555877.707 0, 1366731.311 555899.284 0, 1367029.918 555920.878 0, 1367328.524 555942.489 0, 1367627.128 555964.118 0,
+ 1367925.732 555985.765 0, 1368224.334 556007.429 0, 1368522.934 556029.111 0, 1368821.534 556050.81 0, 1369120.132 556072.527 0, 1369418.729 556094.261 0, 1369717.325 556116.013 0, 1370015.919 556137.783 0, 1370314.512 556159.57 0, 1370613.104 556181.375 0,
+ 1370911.694 556203.197 0, 1371210.284 556225.037 0, 1371508.872 556246.895 0, 1371807.458 556268.77 0, 1372106.044 556290.662 0, 1372404.628 556312.573 0, 1372703.21 556334.5 0, 1373001.792 556356.446 0, 1373298.987 556378.307 0, 1373707.066 550832.794 0,
+ 1374115.117 545287.663 0))
+
+POLYGON ((1387629.3 557453.189 0, 1387332.165 557430.488 0, 1387033.647 557407.699 0, 1386735.127 557384.928 0, 1386436.606 557362.175 0, 1386138.084 557339.438 0, 1385839.56 557316.72 0, 1385541.035 557294.019 0, 1385242.509 557271.336 0, 1384943.981 557248.67 0,
+ 1384645.452 557226.021 0, 1384346.922 557203.391 0, 1384048.39 557180.778 0, 1383749.857 557158.182 0, 1383451.323 557135.604 0, 1383152.787 557113.044 0, 1382854.25 557090.501 0, 1382555.712 557067.976 0, 1382257.172 557045.468 0, 1381958.631 557022.978 0,
+ 1381660.089 557000.505 0, 1381361.545 556978.05 0, 1381063.001 556955.613 0, 1380764.454 556933.193 0, 1380464.523 556910.687 0, 1380167.358 556888.406 0, 1379868.808 556866.039 0, 1379570.256 556843.69 0, 1379271.703 556821.358 0, 1378973.149 556799.043 0,
+ 1378674.594 556776.746 0, 1378376.037 556754.467 0, 1378077.479 556732.205 0, 1377778.919 556709.961 0, 1377480.359 556687.735 0, 1377181.797 556665.526 0, 1376883.233 556643.334 0, 1376584.669 556621.161 0, 1376286.103 556599.004 0, 1375987.536 556576.866 0,
+ 1375688.967 556554.745 0, 1375390.397 556532.641 0, 1375091.826 556510.555 0, 1374793.254 556488.487 0, 1374494.68 556466.436 0, 1374196.105 556444.403 0, 1373897.529 556422.387 0, 1373598.951 556400.389 0, 1373298.987 556378.307 0, 1372890.88 561924.199 0,
+ 1372482.746 567470.468 0, 1372782.054 567492.503 0, 1373079.979 567514.452 0, 1373377.902 567536.42 0, 1373675.824 567558.405 0, 1373973.745 567580.408 0, 1374271.665 567602.428 0, 1374569.583 567624.465 0, 1374867.5 567646.521 0, 1375165.416 567668.593 0,
+ 1375463.33 567690.684 0, 1375761.243 567712.791 0, 1376059.155 567734.917 0, 1376357.066 567757.06 0, 1376654.975 567779.22 0, 1376952.883 567801.398 0, 1377250.789 567823.593 0, 1377548.694 567845.806 0, 1377846.598 567868.037 0, 1378144.501 567890.285 0,
+ 1378442.402 567912.551 0, 1378740.302 567934.834 0, 1379038.201 567957.134 0, 1379336.098 567979.453 0, 1379632.614 568001.685 0, 1379931.889 568024.142 0, 1380229.783 568046.512 0, 1380527.675 568068.901 0, 1380825.566 568091.307 0, 1381123.455 568113.73 0,
+ 1381421.343 568136.171 0, 1381719.23 568158.629 0, 1382017.116 568181.105 0, 1382315 568203.599 0, 1382612.883 568226.11 0, 1382910.764 568248.639 0, 1383208.645 568271.185 0, 1383506.524 568293.748 0, 1383804.401 568316.33 0, 1384102.277 568338.928 0,
+ 1384400.152 568361.545 0, 1384698.026 568384.178 0, 1384995.898 568406.83 0, 1385293.769 568429.499 0, 1385591.639 568452.185 0, 1385889.507 568474.889 0, 1386187.374 568497.61 0, 1386485.239 568520.349 0, 1386781.724 568543 0, 1387205.526 562997.907 0,
+ 1387629.3 557453.189 0))
+
+POLYGON ((1401077.615 569655.925 0, 1400781.194 569632.437 0, 1400483.393 569608.856 0, 1400185.592 569585.293 0, 1399887.789 569561.748 0, 1399589.985 569538.22 0, 1399292.179 569514.71 0, 1398994.372 569491.217 0, 1398696.563 569467.742 0, 1398398.754 569444.284 0,
+ 1398100.942 569420.844 0, 1397803.13 569397.421 0, 1397505.316 569374.016 0, 1397207.5 569350.628 0, 1396909.684 569327.258 0, 1396611.866 569303.906 0, 1396314.046 569280.571 0, 1396016.225 569257.253 0, 1395718.403 569233.953 0, 1395420.579 569210.671 0,
+ 1395122.755 569187.406 0, 1394824.928 569164.159 0, 1394527.101 569140.929 0, 1394229.271 569117.716 0, 1393930.063 569094.414 0, 1393633.609 569071.344 0, 1393335.776 569048.185 0, 1393037.942 569025.042 0, 1392740.106 569001.918 0, 1392442.268 568978.811 0,
+ 1392144.43 568955.721 0, 1391846.59 568932.649 0, 1391548.749 568909.594 0, 1391250.906 568886.557 0, 1390953.062 568863.538 0, 1390655.216 568840.536 0, 1390357.37 568817.552 0, 1390059.522 568794.585 0, 1389761.672 568771.635 0, 1389463.821 568748.703 0,
+ 1389165.969 568725.789 0, 1388868.116 568702.892 0, 1388570.261 568680.013 0, 1388272.405 568657.151 0, 1387974.547 568634.307 0, 1387676.688 568611.481 0, 1387378.828 568588.671 0, 1387080.967 568565.88 0, 1386781.724 568543 0, 1386357.894 574088.467 0,
+ 1385934.035 579634.305 0, 1386232.621 579657.134 0, 1386529.83 579679.876 0, 1386827.037 579702.635 0, 1387124.244 579725.411 0, 1387421.448 579748.205 0, 1387718.652 579771.017 0, 1388015.854 579793.846 0, 1388313.054 579816.693 0, 1388610.254 579839.557 0,
+ 1388907.452 579862.438 0, 1389204.648 579885.337 0, 1389501.844 579908.254 0, 1389799.038 579931.188 0, 1390096.23 579954.14 0, 1390393.422 579977.109 0, 1390690.611 580000.095 0, 1390987.8 580023.099 0, 1391284.987 580046.121 0, 1391582.173 580069.16 0,
+ 1391879.358 580092.216 0, 1392176.541 580115.29 0, 1392473.722 580138.382 0, 1392770.903 580161.491 0, 1393066.707 580184.51 0, 1393365.26 580207.761 0, 1393662.436 580230.922 0, 1393959.611 580254.101 0, 1394256.785 580277.298 0, 1394553.957 580300.512 0,
+ 1394851.128 580323.743 0, 1395148.297 580346.992 0, 1395445.465 580370.258 0, 1395742.632 580393.542 0, 1396039.797 580416.844 0, 1396336.961 580440.163 0, 1396634.124 580463.499 0, 1396931.285 580486.853 0, 1397228.445 580510.224 0, 1397525.604 580533.613 0,
+ 1397822.761 580557.019 0, 1398119.917 580580.443 0, 1398417.071 580603.884 0, 1398714.224 580627.343 0, 1399011.376 580650.819 0, 1399308.526 580674.313 0, 1399605.675 580697.824 0, 1399902.822 580721.353 0, 1400198.594 580744.79 0, 1400638.12 575200.173 0,
+ 1401077.615 569655.925 0))
+
+POLYGON ((1414459.96 581895.572 0, 1414164.253 581871.299 0, 1413867.173 581846.931 0, 1413570.092 581822.58 0, 1413273.009 581798.247 0, 1412975.925 581773.931 0, 1412678.839 581749.633 0, 1412381.752 581725.352 0, 1412084.664 581701.089 0, 1411787.574 581676.843 0,
+ 1411490.483 581652.615 0, 1411193.39 581628.404 0, 1410896.296 581604.211 0, 1410599.201 581580.035 0, 1410302.104 581555.877 0, 1410005.005 581531.736 0, 1409707.905 581507.613 0, 1409410.804 581483.507 0, 1409113.702 581459.418 0, 1408816.598 581435.348 0,
+ 1408519.492 581411.294 0, 1408222.385 581387.258 0, 1407925.277 581363.24 0, 1407628.167 581339.239 0, 1407329.684 581315.145 0, 1407033.944 581291.29 0, 1406736.83 581267.341 0, 1406439.714 581243.41 0, 1406142.597 581219.497 0, 1405845.479 581195.601 0,
+ 1405548.36 581171.722 0, 1405251.239 581147.861 0, 1404954.116 581124.018 0, 1404656.993 581100.191 0, 1404359.867 581076.383 0, 1404062.741 581052.592 0, 1403765.613 581028.818 0, 1403468.484 581005.062 0, 1403171.353 580981.324 0, 1402874.221 580957.602 0,
+ 1402577.087 580933.899 0, 1402279.952 580910.213 0, 1401982.816 580886.544 0, 1401685.678 580862.893 0, 1401388.539 580839.259 0, 1401091.398 580815.643 0, 1400794.256 580792.044 0, 1400497.113 580768.463 0, 1400198.594 580744.79 0, 1399759.04 586289.775 0,
+ 1399319.457 591835.123 0, 1399617.32 591858.743 0, 1399913.81 591882.273 0, 1400210.3 591905.82 0, 1400506.787 591929.384 0, 1400803.274 591952.966 0, 1401099.759 591976.565 0, 1401396.242 592000.182 0, 1401692.725 592023.816 0, 1401989.206 592047.467 0,
+ 1402285.685 592071.136 0, 1402582.163 592094.823 0, 1402878.64 592118.527 0, 1403175.115 592142.248 0, 1403471.589 592165.987 0, 1403768.061 592189.743 0, 1404064.532 592213.517 0, 1404361.002 592237.308 0, 1404657.47 592261.117 0, 1404953.937 592284.943 0,
+ 1405250.403 592308.786 0, 1405546.867 592332.647 0, 1405843.329 592356.525 0, 1406139.791 592380.421 0, 1406434.881 592404.224 0, 1406732.709 592428.265 0, 1407029.166 592452.214 0, 1407325.622 592476.179 0, 1407622.076 592500.162 0, 1407918.529 592524.163 0,
+ 1408214.98 592548.181 0, 1408511.43 592572.216 0, 1408807.879 592596.269 0, 1409104.326 592620.34 0, 1409400.771 592644.427 0, 1409697.216 592668.533 0, 1409993.659 592692.655 0, 1410290.1 592716.795 0, 1410586.54 592740.953 0, 1410882.979 592765.128 0,
+ 1411179.416 592789.321 0, 1411475.852 592813.53 0, 1411772.286 592837.758 0, 1412068.719 592862.003 0, 1412365.15 592886.265 0, 1412661.58 592910.545 0, 1412958.009 592934.842 0, 1413254.436 592959.156 0, 1413549.494 592983.376 0, 1414004.742 587439.292 0,
+ 1414459.96 581895.572 0))
+
+POLYGON ((1427776.23 594171.827 0, 1427481.239 594146.774 0, 1427184.882 594121.622 0, 1426888.523 594096.487 0, 1426592.163 594071.37 0, 1426295.801 594046.271 0, 1425999.438 594021.188 0, 1425703.073 593996.124 0, 1425406.707 593971.076 0, 1425110.339 593946.047 0,
+ 1424813.97 593921.034 0, 1424517.6 593896.039 0, 1424221.228 593871.062 0, 1423924.854 593846.101 0, 1423628.479 593821.159 0, 1423332.103 593796.234 0, 1423035.725 593771.326 0, 1422739.345 593746.436 0, 1422442.964 593721.563 0, 1422146.582 593696.707 0,
+ 1421850.198 593671.869 0, 1421553.813 593647.049 0, 1421257.426 593622.246 0, 1420961.038 593597.46 0, 1420663.281 593572.578 0, 1420368.257 593547.941 0, 1420071.865 593523.208 0, 1419775.471 593498.492 0, 1419479.075 593473.793 0, 1419182.678 593449.112 0,
+ 1418886.28 593424.449 0, 1418589.88 593399.803 0, 1418293.479 593375.174 0, 1417997.076 593350.563 0, 1417700.672 593325.969 0, 1417404.266 593301.393 0, 1417107.859 593276.834 0, 1416811.451 593252.293 0, 1416515.041 593227.769 0, 1416218.629 593203.262 0,
+ 1415922.217 593178.773 0, 1415625.802 593154.301 0, 1415329.387 593129.847 0, 1415032.969 593105.41 0, 1414736.551 593080.991 0, 1414440.131 593056.589 0, 1414143.709 593032.205 0, 1413847.286 593007.838 0, 1413549.494 592983.376 0, 1413094.216 598527.82 0,
+ 1412638.91 604072.622 0, 1412936.046 604097.03 0, 1413231.817 604121.343 0, 1413527.585 604145.674 0, 1413823.353 604170.022 0, 1414119.119 604194.388 0, 1414414.883 604218.77 0, 1414710.646 604243.171 0, 1415006.408 604267.589 0, 1415302.168 604292.024 0,
+ 1415597.927 604316.476 0, 1415893.684 604340.946 0, 1416189.44 604365.434 0, 1416485.194 604389.938 0, 1416780.947 604414.461 0, 1417076.699 604439 0, 1417372.449 604463.557 0, 1417668.197 604488.132 0, 1417963.945 604512.723 0, 1418259.69 604537.333 0,
+ 1418555.435 604561.959 0, 1418851.178 604586.603 0, 1419146.919 604611.265 0, 1419442.659 604635.944 0, 1419737.033 604660.526 0, 1420034.134 604685.354 0, 1420329.87 604710.085 0, 1420625.604 604734.833 0, 1420921.337 604759.599 0, 1421217.068 604784.382 0,
+ 1421512.798 604809.183 0, 1421808.526 604834.001 0, 1422104.253 604858.837 0, 1422399.978 604883.69 0, 1422695.702 604908.56 0, 1422991.425 604933.448 0, 1423287.145 604958.353 0, 1423582.865 604983.275 0, 1423878.583 605008.215 0, 1424174.3 605033.173 0,
+ 1424470.015 605058.147 0, 1424765.728 605083.14 0, 1425061.44 605108.149 0, 1425357.151 605133.176 0, 1425652.86 605158.221 0, 1425948.568 605183.282 0, 1426244.274 605208.361 0, 1426539.979 605233.458 0, 1426834.32 605258.456 0, 1427305.29 599714.963 0,
+ 1427776.23 594171.827 0))
+
+POLYGON ((1441026.323 606484.391 0, 1440732.052 606458.561 0, 1440436.42 606432.629 0, 1440140.785 606406.714 0, 1439845.15 606380.817 0, 1439549.512 606354.937 0, 1439253.873 606329.075 0, 1438958.233 606303.23 0, 1438662.591 606277.403 0, 1438366.948 606251.593 0,
+ 1438071.303 606225.8 0, 1437775.657 606200.025 0, 1437480.009 606174.267 0, 1437184.359 606148.526 0, 1436888.708 606122.803 0, 1436593.056 606097.097 0, 1436297.402 606071.409 0, 1436001.746 606045.738 0, 1435706.089 606020.085 0, 1435410.431 605994.449 0,
+ 1435114.771 605968.83 0, 1434819.109 605943.229 0, 1434523.446 605917.645 0, 1434227.782 605892.078 0, 1433930.755 605866.412 0, 1433636.448 605840.997 0, 1433340.779 605815.483 0, 1433045.109 605789.986 0, 1432749.437 605764.507 0, 1432453.763 605739.045 0,
+ 1432158.088 605713.6 0, 1431862.412 605688.173 0, 1431566.734 605662.763 0, 1431271.054 605637.371 0, 1430975.373 605611.995 0, 1430679.691 605586.638 0, 1430384.007 605561.298 0, 1430088.321 605535.975 0, 1429792.634 605510.669 0, 1429496.946 605485.381 0,
+ 1429201.256 605460.111 0, 1428905.564 605434.857 0, 1428609.871 605409.622 0, 1428314.177 605384.403 0, 1428018.481 605359.202 0, 1427722.784 605334.018 0, 1427427.085 605308.852 0, 1427131.384 605283.703 0, 1426834.32 605258.456 0, 1426363.32 610802.303 0,
+ 1425892.29 616346.501 0, 1426188.699 616371.692 0, 1426483.746 616396.786 0, 1426778.793 616421.896 0, 1427073.837 616447.024 0, 1427368.881 616472.17 0, 1427663.922 616497.332 0, 1427958.963 616522.513 0, 1428254.002 616547.71 0, 1428549.039 616572.925 0,
+ 1428844.075 616598.157 0, 1429139.109 616623.407 0, 1429434.142 616648.674 0, 1429729.174 616673.958 0, 1430024.204 616699.26 0, 1430319.232 616724.579 0, 1430614.259 616749.915 0, 1430909.284 616775.269 0, 1431204.308 616800.64 0, 1431499.331 616826.029 0,
+ 1431794.352 616851.435 0, 1432089.371 616876.858 0, 1432384.389 616902.298 0, 1432679.406 616927.756 0, 1432973.063 616953.114 0, 1433269.434 616978.724 0, 1433564.446 617004.234 0, 1433859.457 617029.762 0, 1434154.466 617055.307 0, 1434449.473 617080.869 0,
+ 1434744.479 617106.448 0, 1435039.484 617132.045 0, 1435334.487 617157.659 0, 1435629.488 617183.291 0, 1435924.488 617208.94 0, 1436219.487 617234.606 0, 1436514.483 617260.29 0, 1436809.479 617285.991 0, 1437104.473 617311.71 0, 1437399.465 617337.445 0,
+ 1437694.456 617363.198 0, 1437989.445 617388.969 0, 1438284.433 617414.757 0, 1438579.42 617440.562 0, 1438874.404 617466.385 0, 1439169.388 617492.225 0, 1439464.369 617518.082 0, 1439759.35 617543.957 0, 1440052.971 617569.729 0, 1440539.663 612026.885 0,
+ 1441026.323 606484.391 0))
+
+POLYGON ((1454210.14 618832.96 0, 1453916.59 618806.357 0, 1453621.685 618779.649 0, 1453326.777 618752.959 0, 1453031.868 618726.285 0, 1452736.957 618699.63 0, 1452442.045 618672.991 0, 1452147.131 618646.37 0, 1451852.216 618619.766 0, 1451557.299 618593.18 0,
+ 1451262.38 618566.611 0, 1450967.46 618540.059 0, 1450672.539 618513.524 0, 1450377.616 618487.007 0, 1450082.691 618460.508 0, 1449787.764 618434.025 0, 1449492.837 618407.561 0, 1449197.907 618381.113 0, 1448902.976 618354.683 0, 1448608.044 618328.27 0,
+ 1448313.11 618301.874 0, 1448018.174 618275.496 0, 1447723.237 618249.135 0, 1447428.298 618222.792 0, 1447132.002 618196.345 0, 1446838.416 618170.157 0, 1446543.472 618143.866 0, 1446248.528 618117.592 0, 1445953.581 618091.335 0, 1445658.633 618065.096 0,
+ 1445363.683 618038.874 0, 1445068.732 618012.67 0, 1444773.78 617986.482 0, 1444478.825 617960.313 0, 1444183.87 617934.16 0, 1443888.912 617908.025 0, 1443593.954 617881.907 0, 1443298.993 617855.807 0, 1443004.031 617829.724 0, 1442709.068 617803.658 0,
+ 1442414.103 617777.61 0, 1442119.137 617751.579 0, 1441824.169 617725.565 0, 1441529.199 617699.569 0, 1441234.228 617673.59 0, 1440939.255 617647.629 0, 1440644.281 617621.685 0, 1440349.305 617595.758 0, 1440052.971 617569.729 0, 1439566.249 623112.922 0,
+ 1439079.497 628656.458 0, 1439375.176 628682.429 0, 1439669.499 628708.298 0, 1439963.821 628734.185 0, 1440258.141 628760.089 0, 1440552.459 628786.01 0, 1440846.776 628811.949 0, 1441141.092 628837.905 0, 1441435.406 628863.879 0, 1441729.718 628889.869 0,
+ 1442024.029 628915.877 0, 1442318.338 628941.903 0, 1442612.646 628967.945 0, 1442906.953 628994.005 0, 1443201.257 629020.082 0, 1443495.561 629046.177 0, 1443789.862 629072.289 0, 1444084.162 629098.418 0, 1444378.461 629124.565 0, 1444672.758 629150.729 0,
+ 1444967.054 629176.91 0, 1445261.348 629203.108 0, 1445555.64 629229.324 0, 1445849.931 629255.557 0, 1446142.868 629281.687 0, 1446438.508 629308.076 0, 1446732.795 629334.361 0, 1447027.079 629360.663 0, 1447321.363 629386.983 0, 1447615.644 629413.32 0,
+ 1447909.924 629439.675 0, 1448204.203 629466.046 0, 1448498.48 629492.436 0, 1448792.755 629518.842 0, 1449087.029 629545.266 0, 1449381.301 629571.707 0, 1449675.572 629598.165 0, 1449969.841 629624.641 0, 1450264.109 629651.134 0, 1450558.375 629677.644 0,
+ 1450852.64 629704.172 0, 1451146.903 629730.717 0, 1451441.164 629757.279 0, 1451735.424 629783.858 0, 1452029.682 629810.455 0, 1452323.939 629837.07 0, 1452618.194 629863.701 0, 1452912.448 629890.35 0, 1453205.348 629916.894 0, 1453707.76 624374.755 0,
+ 1454210.14 618832.96 0))
+
+POLYGON ((1467327.582 631217.232 0, 1467034.755 631189.861 0, 1466740.578 631162.381 0, 1466446.399 631134.918 0, 1466152.219 631107.473 0, 1465858.037 631080.045 0, 1465563.854 631052.634 0, 1465269.668 631025.24 0, 1464975.482 630997.864 0, 1464681.293 630970.505 0,
+ 1464387.103 630943.164 0, 1464092.912 630915.84 0, 1463798.718 630888.533 0, 1463504.523 630861.243 0, 1463210.327 630833.971 0, 1462916.129 630806.716 0, 1462621.929 630779.478 0, 1462327.728 630752.258 0, 1462033.525 630725.055 0, 1461739.321 630697.869 0,
+ 1461445.115 630670.701 0, 1461150.907 630643.55 0, 1460856.698 630616.416 0, 1460562.487 630589.299 0, 1460266.924 630562.076 0, 1459974.06 630535.118 0, 1459679.845 630508.054 0, 1459385.628 630481.007 0, 1459091.409 630453.977 0, 1458797.188 630426.964 0,
+ 1458502.966 630399.969 0, 1458208.743 630372.991 0, 1457914.518 630346.03 0, 1457620.291 630319.087 0, 1457326.062 630292.161 0, 1457031.832 630265.253 0, 1456737.601 630238.361 0, 1456443.368 630211.487 0, 1456149.133 630184.631 0, 1455854.897 630157.791 0,
+ 1455560.659 630130.969 0, 1455266.42 630104.164 0, 1454972.179 630077.377 0, 1454677.936 630050.607 0, 1454383.692 630023.854 0, 1454089.446 629997.119 0, 1453795.199 629970.401 0, 1453500.95 629943.7 0, 1453205.348 629916.894 0, 1452702.906 635459.374 0,
+ 1452200.432 641002.191 0, 1452495.379 641028.938 0, 1452788.975 641055.579 0, 1453082.57 641082.238 0, 1453376.163 641108.914 0, 1453669.755 641135.608 0, 1453963.345 641162.318 0, 1454256.934 641189.046 0, 1454550.521 641215.792 0, 1454844.106 641242.554 0,
+ 1455137.69 641269.334 0, 1455431.272 641296.131 0, 1455724.853 641322.946 0, 1456018.432 641349.777 0, 1456312.01 641376.626 0, 1456605.585 641403.493 0, 1456899.16 641430.376 0, 1457192.733 641457.277 0, 1457486.304 641484.195 0, 1457779.873 641511.13 0,
+ 1458073.441 641538.083 0, 1458367.008 641565.053 0, 1458660.573 641592.04 0, 1458954.136 641619.045 0, 1459246.351 641645.943 0, 1459541.258 641673.106 0, 1459834.816 641700.162 0, 1460128.373 641727.236 0, 1460421.928 641754.326 0, 1460715.482 641781.435 0,
+ 1461009.034 641808.56 0, 1461302.585 641835.703 0, 1461596.134 641862.863 0, 1461889.681 641890.04 0, 1462183.227 641917.235 0, 1462476.771 641944.446 0, 1462770.313 641971.675 0, 1463063.854 641998.922 0, 1463357.393 642026.185 0, 1463650.931 642053.466 0,
+ 1463944.467 642080.765 0, 1464238.002 642108.08 0, 1464531.535 642135.413 0, 1464825.066 642162.763 0, 1465118.595 642190.13 0, 1465412.124 642217.515 0, 1465705.65 642244.917 0, 1465999.175 642272.336 0, 1466291.352 642299.646 0, 1466809.483 636758.271 0,
+ 1467327.582 631217.232 0))
+
+POLYGON ((1480378.55 643636.906 0, 1480086.449 643608.77 0, 1479793.003 643580.522 0, 1479499.555 643552.291 0, 1479206.105 643524.077 0, 1478912.654 643495.88 0, 1478619.201 643467.701 0, 1478325.747 643439.539 0, 1478032.291 643411.395 0, 1477738.833 643383.267 0,
+ 1477445.373 643355.157 0, 1477151.912 643327.064 0, 1476858.45 643298.989 0, 1476564.985 643270.93 0, 1476271.519 643242.889 0, 1475978.051 643214.866 0, 1475684.582 643186.859 0, 1475391.111 643158.87 0, 1475097.638 643130.898 0, 1474804.164 643102.943 0,
+ 1474510.688 643075.006 0, 1474217.211 643047.086 0, 1473923.731 643019.183 0, 1473630.25 642991.297 0, 1473335.423 642963.301 0, 1473043.284 642935.578 0, 1472749.798 642907.744 0, 1472456.311 642879.928 0, 1472162.821 642852.129 0, 1471869.331 642824.347 0,
+ 1471575.838 642796.582 0, 1471282.344 642768.835 0, 1470988.849 642741.105 0, 1470695.352 642713.392 0, 1470401.853 642685.696 0, 1470108.352 642658.018 0, 1469814.85 642630.357 0, 1469521.346 642602.713 0, 1469227.841 642575.087 0, 1468934.334 642547.477 0,
+ 1468640.825 642519.886 0, 1468347.315 642492.311 0, 1468053.803 642464.754 0, 1467760.29 642437.214 0, 1467466.775 642409.691 0, 1467173.258 642382.185 0, 1466879.74 642354.697 0, 1466586.22 642327.226 0, 1466291.352 642299.646 0, 1465773.19 647841.356 0,
+ 1465254.997 653383.397 0, 1465549.209 653410.916 0, 1465842.077 653438.325 0, 1466134.943 653465.753 0, 1466427.807 653493.197 0, 1466720.67 653520.659 0, 1467013.531 653548.138 0, 1467306.391 653575.634 0, 1467599.249 653603.147 0, 1467892.105 653630.678 0,
+ 1468184.96 653658.225 0, 1468477.813 653685.79 0, 1468770.664 653713.373 0, 1469063.514 653740.972 0, 1469356.362 653768.589 0, 1469649.209 653796.223 0, 1469942.054 653823.874 0, 1470234.897 653851.543 0, 1470527.739 653879.228 0, 1470820.579 653906.931 0,
+ 1471113.417 653934.652 0, 1471406.254 653962.389 0, 1471699.089 653990.144 0, 1471991.922 654017.916 0, 1472283.413 654045.577 0, 1472577.585 654073.511 0, 1472870.413 654101.335 0, 1473163.24 654129.175 0, 1473456.065 654157.034 0, 1473748.889 654184.909 0,
+ 1474041.711 654212.801 0, 1474334.532 654240.711 0, 1474627.35 654268.638 0, 1474920.167 654296.582 0, 1475212.983 654324.544 0, 1475505.797 654352.523 0, 1475798.609 654380.519 0, 1476091.419 654408.532 0, 1476384.228 654436.562 0, 1476677.036 654464.61 0,
+ 1476969.841 654492.675 0, 1477262.645 654520.757 0, 1477555.447 654548.856 0, 1477848.248 654576.973 0, 1478141.047 654605.106 0, 1478433.844 654633.258 0, 1478726.64 654661.426 0, 1479019.434 654689.611 0, 1479310.886 654717.685 0, 1479844.734 649177.13 0,
+ 1480378.55 643636.906 0))
+
+POLYGON ((1493362.949 656091.678 0, 1493071.575 656062.781 0, 1492778.862 656033.768 0, 1492486.147 656004.773 0, 1492193.43 655975.794 0, 1491900.712 655946.834 0, 1491607.992 655917.89 0, 1491315.27 655888.963 0, 1491022.547 655860.054 0, 1490729.822 655831.162 0,
+ 1490437.095 655802.287 0, 1490144.366 655773.43 0, 1489851.636 655744.59 0, 1489558.904 655715.766 0, 1489266.171 655686.961 0, 1488973.435 655658.172 0, 1488680.698 655629.401 0, 1488387.96 655600.646 0, 1488095.219 655571.909 0, 1487802.477 655543.19 0,
+ 1487509.733 655514.487 0, 1487216.988 655485.802 0, 1486924.241 655457.134 0, 1486631.492 655428.483 0, 1486337.403 655399.719 0, 1486045.989 655371.233 0, 1485753.235 655342.634 0, 1485460.48 655314.052 0, 1485167.723 655285.488 0, 1484874.964 655256.94 0,
+ 1484582.203 655228.41 0, 1484289.441 655199.897 0, 1483996.677 655171.402 0, 1483703.911 655142.923 0, 1483411.144 655114.462 0, 1483118.375 655086.018 0, 1482825.604 655057.591 0, 1482532.832 655029.182 0, 1482240.058 655000.789 0, 1481947.282 654972.414 0,
+ 1481654.505 654944.056 0, 1481361.726 654915.716 0, 1481068.945 654887.392 0, 1480776.163 654859.086 0, 1480483.379 654830.797 0, 1480190.593 654802.526 0, 1479897.806 654774.271 0, 1479605.017 654746.034 0, 1479310.886 654717.685 0, 1478777.006 660258.567 0,
+ 1478243.095 665799.774 0, 1478536.571 665828.06 0, 1478828.708 665856.234 0, 1479120.843 665884.426 0, 1479412.976 665912.635 0, 1479705.108 665940.86 0, 1479997.238 665969.104 0, 1480289.367 665997.364 0, 1480581.493 666025.641 0, 1480873.618 666053.936 0,
+ 1481165.742 666082.248 0, 1481457.864 666110.577 0, 1481749.984 666138.923 0, 1482042.102 666167.287 0, 1482334.219 666195.667 0, 1482626.334 666224.065 0, 1482918.447 666252.48 0, 1483210.559 666280.912 0, 1483502.669 666309.362 0, 1483794.778 666337.828 0,
+ 1484086.884 666366.312 0, 1484378.989 666394.813 0, 1484671.093 666423.331 0, 1484963.194 666451.867 0, 1485253.959 666480.289 0, 1485547.393 666508.989 0, 1485839.489 666537.576 0, 1486131.584 666566.18 0, 1486423.678 666594.801 0, 1486715.769 666623.44 0,
+ 1487007.859 666652.096 0, 1487299.947 666680.769 0, 1487592.034 666709.459 0, 1487884.119 666738.166 0, 1488176.202 666766.89 0, 1488468.283 666795.632 0, 1488760.363 666824.391 0, 1489052.441 666853.167 0, 1489344.518 666881.96 0, 1489636.592 666910.771 0,
+ 1489928.665 666939.598 0, 1490220.737 666968.443 0, 1490512.806 666997.305 0, 1490804.874 667026.184 0, 1491096.94 667055.081 0, 1491389.005 667083.994 0, 1491681.068 667112.925 0, 1491973.129 667141.873 0, 1492263.854 667170.706 0, 1492813.417 661631.03 0,
+ 1493362.949 656091.678 0))
+
+POLYGON ((1506280.683 668581.243 0, 1505990.038 668551.589 0, 1505698.06 668521.816 0, 1505406.08 668492.06 0, 1505114.099 668462.322 0, 1504822.115 668432.6 0, 1504530.13 668402.896 0, 1504238.143 668373.209 0, 1503946.154 668343.539 0, 1503654.164 668313.887 0,
+ 1503362.172 668284.251 0, 1503070.178 668254.633 0, 1502778.182 668225.032 0, 1502486.185 668195.448 0, 1502194.186 668165.881 0, 1501902.185 668136.331 0, 1501610.183 668106.799 0, 1501318.178 668077.284 0, 1501026.172 668047.786 0, 1500734.164 668018.305 0,
+ 1500442.155 667988.841 0, 1500150.144 667959.395 0, 1499858.131 667929.966 0, 1499566.116 667900.554 0, 1499272.766 667871.025 0, 1498982.081 667841.781 0, 1498690.061 667812.421 0, 1498398.04 667783.077 0, 1498106.016 667753.751 0, 1497813.991 667724.442 0,
+ 1497521.965 667695.151 0, 1497229.936 667665.876 0, 1496937.906 667636.619 0, 1496645.874 667607.378 0, 1496353.84 667578.155 0, 1496061.805 667548.95 0, 1495769.767 667519.761 0, 1495477.729 667490.59 0, 1495185.688 667461.435 0, 1494893.646 667432.298 0,
+ 1494601.602 667403.178 0, 1494309.556 667374.076 0, 1494017.509 667344.99 0, 1493725.459 667315.922 0, 1493433.409 667286.871 0, 1493141.356 667257.837 0, 1492849.302 667228.82 0, 1492557.246 667199.821 0, 1492263.854 667170.706 0, 1491714.258 672710.703 0,
+ 1491164.631 678251.018 0, 1491457.368 678280.068 0, 1491748.772 678309.002 0, 1492040.174 678337.954 0, 1492331.574 678366.923 0, 1492622.973 678395.91 0, 1492914.37 678424.913 0, 1493205.765 678453.934 0, 1493497.159 678482.971 0, 1493788.551 678512.026 0,
+ 1494079.941 678541.098 0, 1494371.33 678570.187 0, 1494662.716 678599.294 0, 1494954.101 678628.417 0, 1495245.485 678657.558 0, 1495536.866 678686.715 0, 1495828.246 678715.89 0, 1496119.624 678745.082 0, 1496411.001 678774.291 0, 1496702.375 678803.518 0,
+ 1496993.748 678832.761 0, 1497285.12 678862.022 0, 1497576.489 678891.3 0, 1497867.857 678920.595 0, 1498157.893 678949.773 0, 1498450.587 678979.236 0, 1498741.95 679008.582 0, 1499033.311 679037.946 0, 1499324.67 679067.327 0, 1499616.028 679096.724 0,
+ 1499907.383 679126.139 0, 1500198.737 679155.571 0, 1500490.09 679185.021 0, 1500781.44 679214.487 0, 1501072.789 679243.971 0, 1501364.136 679273.471 0, 1501655.481 679302.989 0, 1501946.825 679332.524 0, 1502238.167 679362.077 0, 1502529.507 679391.646 0,
+ 1502820.845 679421.232 0, 1503112.182 679450.836 0, 1503403.517 679480.457 0, 1503694.85 679510.095 0, 1503986.181 679539.75 0, 1504277.511 679569.422 0, 1504568.839 679599.111 0, 1504860.165 679628.818 0, 1505150.161 679658.406 0, 1505715.438 674119.666 0,
+ 1506280.683 668581.243 0))
+
+POLYGON ((1519131.658 681105.299 0, 1518841.745 681074.892 0, 1518550.504 681044.363 0, 1518259.261 681013.85 0, 1517968.017 680983.355 0, 1517676.77 680952.877 0, 1517385.522 680922.416 0, 1517094.272 680891.973 0, 1516803.02 680861.546 0, 1516511.767 680831.137 0,
+ 1516220.511 680800.744 0, 1515929.254 680770.369 0, 1515637.995 680740.011 0, 1515346.734 680709.67 0, 1515055.472 680679.347 0, 1514764.207 680649.04 0, 1514472.941 680618.751 0, 1514181.673 680588.478 0, 1513890.404 680558.223 0, 1513599.132 680527.985 0,
+ 1513307.859 680497.764 0, 1513016.584 680467.561 0, 1512725.307 680437.374 0, 1512434.028 680407.205 0, 1512141.42 680376.915 0, 1511851.466 680346.917 0, 1511560.182 680316.799 0, 1511268.896 680286.698 0, 1510977.609 680256.615 0, 1510686.32 680226.548 0,
+ 1510395.029 680196.499 0, 1510103.736 680166.467 0, 1509812.441 680136.451 0, 1509521.145 680106.453 0, 1509229.847 680076.473 0, 1508938.547 680046.509 0, 1508647.246 680016.562 0, 1508355.942 679986.633 0, 1508064.637 679956.721 0, 1507773.33 679926.826 0,
+ 1507482.022 679896.948 0, 1507190.711 679867.087 0, 1506899.399 679837.243 0, 1506608.085 679807.417 0, 1506316.77 679777.607 0, 1506025.452 679747.815 0, 1505734.133 679718.04 0, 1505442.812 679688.282 0, 1505150.161 679658.406 0, 1504584.851 685197.46 0,
+ 1504019.51 690736.825 0, 1504311.507 690766.634 0, 1504602.176 690796.326 0, 1504892.843 690826.034 0, 1505183.508 690855.76 0, 1505474.172 690885.502 0, 1505764.834 690915.262 0, 1506055.494 690945.039 0, 1506346.152 690974.833 0, 1506636.809 691004.644 0,
+ 1506927.464 691034.472 0, 1507218.117 691064.317 0, 1507508.768 691094.18 0, 1507799.418 691124.059 0, 1508090.065 691153.956 0, 1508380.711 691183.87 0, 1508671.356 691213.801 0, 1508961.998 691243.749 0, 1509252.639 691273.714 0, 1509543.278 691303.696 0,
+ 1509833.915 691333.695 0, 1510124.551 691363.711 0, 1510415.185 691393.745 0, 1510705.816 691423.795 0, 1510995.122 691453.726 0, 1511287.075 691483.948 0, 1511577.702 691514.05 0, 1511868.326 691544.169 0, 1512158.95 691574.305 0, 1512449.571 691604.458 0,
+ 1512740.19 691634.628 0, 1513030.808 691664.816 0, 1513321.424 691695.02 0, 1513612.038 691725.242 0, 1513902.651 691755.481 0, 1514193.261 691785.737 0, 1514483.87 691816.009 0, 1514774.477 691846.3 0, 1515065.083 691876.607 0, 1515355.686 691906.931 0,
+ 1515646.288 691937.272 0, 1515936.888 691967.631 0, 1516227.486 691998.006 0, 1516518.082 692028.399 0, 1516808.677 692058.809 0, 1517099.27 692089.236 0, 1517389.861 692119.68 0, 1517680.45 692150.141 0, 1517969.714 692180.48 0, 1518550.702 686642.734 0,
+ 1519131.658 681105.299 0))
+
+POLYGON ((1531915.783 693663.542 0, 1531626.604 693632.385 0, 1531336.102 693601.103 0, 1531045.598 693569.838 0, 1530755.092 693538.59 0, 1530464.585 693507.36 0, 1530174.076 693476.146 0, 1529883.564 693444.95 0, 1529593.051 693413.77 0, 1529302.537 693382.608 0,
+ 1529012.02 693351.463 0, 1528721.501 693320.335 0, 1528430.981 693289.224 0, 1528140.459 693258.13 0, 1527849.935 693227.053 0, 1527559.409 693195.994 0, 1527268.881 693164.951 0, 1526978.352 693133.926 0, 1526687.821 693102.917 0, 1526397.287 693071.926 0,
+ 1526106.752 693040.952 0, 1525816.216 693009.995 0, 1525525.677 692979.055 0, 1525235.137 692948.132 0, 1524943.272 692917.086 0, 1524654.05 692886.338 0, 1524363.504 692855.466 0, 1524072.957 692824.612 0, 1523782.407 692793.774 0, 1523491.856 692762.954 0,
+ 1523201.303 692732.151 0, 1522910.748 692701.365 0, 1522620.191 692670.596 0, 1522329.632 692639.844 0, 1522039.072 692609.109 0, 1521748.51 692578.392 0, 1521457.946 692547.691 0, 1521167.38 692517.008 0, 1520876.812 692486.342 0, 1520586.243 692455.692 0,
+ 1520295.672 692425.06 0, 1520005.099 692394.445 0, 1519714.524 692363.847 0, 1519423.947 692333.266 0, 1519133.369 692302.703 0, 1518842.789 692272.156 0, 1518552.207 692241.627 0, 1518261.623 692211.114 0, 1517969.714 692180.48 0, 1517388.693 697718.533 0,
+ 1516807.641 703256.891 0, 1517098.895 703287.456 0, 1517388.827 703317.9 0, 1517678.757 703348.361 0, 1517968.685 703378.839 0, 1518258.611 703409.334 0, 1518548.536 703439.846 0, 1518838.459 703470.376 0, 1519128.38 703500.922 0, 1519418.299 703531.485 0,
+ 1519708.217 703562.066 0, 1519998.133 703592.663 0, 1520288.047 703623.278 0, 1520577.959 703653.91 0, 1520867.869 703684.558 0, 1521157.778 703715.224 0, 1521447.684 703745.907 0, 1521737.589 703776.607 0, 1522027.492 703807.324 0, 1522317.394 703838.058 0,
+ 1522607.293 703868.809 0, 1522897.191 703899.577 0, 1523187.086 703930.362 0, 1523476.981 703961.165 0, 1523765.554 703991.844 0, 1524056.763 704022.82 0, 1524346.652 704053.674 0, 1524636.539 704084.544 0, 1524926.423 704115.432 0, 1525216.307 704146.337 0,
+ 1525506.188 704177.258 0, 1525796.067 704208.197 0, 1526085.945 704239.153 0, 1526375.821 704270.126 0, 1526665.695 704301.116 0, 1526955.567 704332.123 0, 1527245.438 704363.147 0, 1527535.306 704394.188 0, 1527825.173 704425.246 0, 1528115.038 704456.322 0,
+ 1528404.901 704487.414 0, 1528694.762 704518.523 0, 1528984.621 704549.65 0, 1529274.479 704580.793 0, 1529564.335 704611.954 0, 1529854.189 704643.131 0, 1530144.041 704674.326 0, 1530433.891 704705.538 0, 1530722.422 704736.625 0, 1531319.119 699199.931 0,
+ 1531915.783 693663.542 0))
+
+POLYGON ((1544632.967 706255.665 0, 1544344.523 706223.763 0, 1544054.762 706191.732 0, 1543764.999 706159.719 0, 1543475.234 706127.722 0, 1543185.468 706095.743 0, 1542895.7 706063.781 0, 1542605.929 706031.835 0, 1542316.157 705999.907 0, 1542026.383 705967.996 0,
+ 1541736.607 705936.102 0, 1541446.829 705904.225 0, 1541157.049 705872.365 0, 1540867.268 705840.522 0, 1540577.484 705808.696 0, 1540287.699 705776.888 0, 1539997.912 705745.096 0, 1539708.123 705713.321 0, 1539418.332 705681.564 0, 1539128.539 705649.823 0,
+ 1538838.744 705618.099 0, 1538548.948 705586.393 0, 1538259.149 705554.704 0, 1537969.349 705523.031 0, 1537678.231 705491.232 0, 1537389.743 705459.738 0, 1537099.937 705428.117 0, 1536810.13 705396.513 0, 1536520.32 705364.925 0, 1536230.509 705333.355 0,
+ 1535940.695 705301.803 0, 1535650.88 705270.267 0, 1535361.063 705238.748 0, 1535071.244 705207.246 0, 1534781.423 705175.761 0, 1534491.601 705144.294 0, 1534201.776 705112.843 0, 1533911.95 705081.41 0, 1533622.122 705049.993 0, 1533332.292 705018.594 0,
+ 1533042.46 704987.211 0, 1532752.627 704955.846 0, 1532462.791 704924.498 0, 1532172.954 704893.167 0, 1531883.115 704861.853 0, 1531593.274 704830.556 0, 1531303.431 704799.276 0, 1531013.586 704768.013 0, 1530722.422 704736.625 0, 1530125.692 710273.619 0,
+ 1529528.93 715810.911 0, 1529819.44 715842.228 0, 1530108.633 715873.421 0, 1530397.824 715904.63 0, 1530687.013 715935.857 0, 1530976.201 715967.101 0, 1531265.386 715998.361 0, 1531554.57 716029.639 0, 1531843.752 716060.934 0, 1532132.932 716092.246 0,
+ 1532422.11 716123.574 0, 1532711.286 716154.92 0, 1533000.461 716186.283 0, 1533289.634 716217.663 0, 1533578.804 716249.06 0, 1533867.973 716280.474 0, 1534157.14 716311.905 0, 1534446.306 716343.352 0, 1534735.469 716374.817 0, 1535024.631 716406.299 0,
+ 1535313.79 716437.798 0, 1535602.948 716469.314 0, 1535892.104 716500.847 0, 1536181.258 716532.397 0, 1536469.097 716563.821 0, 1536759.561 716595.549 0, 1537048.71 716627.15 0, 1537337.856 716658.768 0, 1537627.001 716690.403 0, 1537916.144 716722.055 0,
+ 1538205.285 716753.724 0, 1538494.425 716785.411 0, 1538783.562 716817.114 0, 1539072.697 716848.834 0, 1539361.831 716880.571 0, 1539650.963 716912.326 0, 1539940.093 716944.097 0, 1540229.221 716975.885 0, 1540518.347 717007.691 0, 1540807.471 717039.513 0,
+ 1541096.594 717071.352 0, 1541385.714 717103.209 0, 1541674.833 717135.082 0, 1541963.95 717166.972 0, 1542253.065 717198.88 0, 1542542.178 717230.804 0, 1542831.289 717262.746 0, 1543120.398 717294.704 0, 1543408.193 717326.535 0, 1544020.596 711790.951 0,
+ 1544632.967 706255.665 0))
+
+POLYGON ((1557283.119 718881.364 0, 1556995.413 718848.72 0, 1556706.395 718815.945 0, 1556417.375 718783.187 0, 1556128.353 718750.446 0, 1555839.33 718717.722 0, 1555550.304 718685.015 0, 1555261.277 718652.325 0, 1554972.247 718619.652 0, 1554683.216 718586.996 0,
+ 1554394.183 718554.357 0, 1554105.148 718521.735 0, 1553816.111 718489.13 0, 1553527.072 718456.542 0, 1553238.031 718423.971 0, 1552948.988 718391.417 0, 1552659.943 718358.88 0, 1552370.896 718326.36 0, 1552081.848 718293.857 0, 1551792.797 718261.371 0,
+ 1551503.745 718228.902 0, 1551214.691 718196.45 0, 1550925.634 718164.015 0, 1550636.576 718131.597 0, 1550346.205 718099.049 0, 1550058.454 718066.812 0, 1549769.39 718034.446 0, 1549480.325 718002.096 0, 1549191.257 717969.763 0, 1548902.187 717937.447 0,
+ 1548613.116 717905.148 0, 1548324.043 717872.867 0, 1548034.967 717840.602 0, 1547745.89 717808.354 0, 1547456.811 717776.123 0, 1547167.73 717743.91 0, 1546878.647 717711.713 0, 1546589.563 717679.533 0, 1546300.476 717647.371 0, 1546011.387 717615.225 0,
+ 1545722.297 717583.096 0, 1545433.205 717550.985 0, 1545144.11 717518.89 0, 1544855.014 717486.812 0, 1544565.916 717454.752 0, 1544276.816 717422.708 0, 1543987.715 717390.682 0, 1543698.611 717358.672 0, 1543408.193 717326.535 0, 1542795.758 722862.412 0,
+ 1542183.29 728398.58 0, 1542473.053 728430.645 0, 1542761.505 728462.582 0, 1543049.955 728494.537 0, 1543338.403 728526.508 0, 1543626.85 728558.496 0, 1543915.294 728590.502 0, 1544203.737 728622.524 0, 1544492.177 728654.563 0, 1544780.616 728686.619 0,
+ 1545069.053 728718.693 0, 1545357.488 728750.783 0, 1545645.921 728782.89 0, 1545934.352 728815.014 0, 1546222.782 728847.155 0, 1546511.209 728879.313 0, 1546799.635 728911.488 0, 1547088.058 728943.68 0, 1547376.48 728975.889 0, 1547664.9 729008.115 0,
+ 1547953.318 729040.358 0, 1548241.734 729072.618 0, 1548530.148 729104.895 0, 1548818.56 729137.189 0, 1549105.663 729169.353 0, 1549395.379 729201.828 0, 1549683.786 729234.172 0, 1549972.191 729266.534 0, 1550260.593 729298.913 0, 1550548.994 729331.309 0,
+ 1550837.393 729363.721 0, 1551125.79 729396.151 0, 1551414.185 729428.598 0, 1551702.578 729461.061 0, 1551990.97 729493.542 0, 1552279.359 729526.039 0, 1552567.747 729558.554 0, 1552856.132 729591.086 0, 1553144.516 729623.634 0, 1553432.898 729656.2 0,
+ 1553721.277 729688.782 0, 1554009.655 729721.381 0, 1554298.031 729753.998 0, 1554586.405 729786.631 0, 1554874.777 729819.282 0, 1555163.148 729851.949 0, 1555451.516 729884.633 0, 1555739.882 729917.334 0, 1556026.94 729949.904 0, 1556655.046 724415.489 0,
+ 1557283.119 718881.364 0))
+
+POLYGON ((1569866.152 731540.334 0, 1569579.185 731506.952 0, 1569290.912 731473.437 0, 1569002.638 731439.938 0, 1568714.361 731406.456 0, 1568426.082 731372.991 0, 1568137.801 731339.543 0, 1567849.519 731306.112 0, 1567561.234 731272.698 0, 1567272.947 731239.301 0,
+ 1566984.659 731205.921 0, 1566696.368 731172.558 0, 1566408.076 731139.212 0, 1566119.781 731105.883 0, 1565831.485 731072.57 0, 1565543.187 731039.275 0, 1565254.886 731005.997 0, 1564966.584 730972.736 0, 1564678.28 730939.491 0, 1564389.973 730906.264 0,
+ 1564101.665 730873.054 0, 1563813.355 730839.86 0, 1563525.043 730806.684 0, 1563236.729 730773.524 0, 1562947.108 730740.232 0, 1562660.095 730707.256 0, 1562371.775 730674.148 0, 1562083.453 730641.056 0, 1561795.13 730607.981 0, 1561506.804 730574.924 0,
+ 1561218.476 730541.883 0, 1560930.147 730508.859 0, 1560641.815 730475.852 0, 1560353.482 730442.863 0, 1560065.146 730409.89 0, 1559776.809 730376.934 0, 1559488.469 730343.995 0, 1559200.128 730311.073 0, 1558911.785 730278.168 0, 1558623.44 730245.28 0,
+ 1558335.093 730212.409 0, 1558046.744 730179.555 0, 1557758.393 730146.718 0, 1557470.04 730113.898 0, 1557181.685 730081.095 0, 1556893.328 730048.309 0, 1556604.97 730015.54 0, 1556316.609 729982.788 0, 1556026.94 729949.904 0, 1555398.802 735484.607 0,
+ 1554770.631 741019.592 0, 1555059.645 741052.402 0, 1555347.354 741085.08 0, 1555635.062 741117.775 0, 1555922.767 741150.487 0, 1556210.47 741183.216 0, 1556498.171 741215.962 0, 1556785.871 741248.725 0, 1557073.568 741281.505 0, 1557361.264 741314.301 0,
+ 1557648.958 741347.115 0, 1557936.649 741379.945 0, 1558224.339 741412.793 0, 1558512.027 741445.657 0, 1558799.713 741478.539 0, 1559087.397 741511.437 0, 1559375.079 741544.352 0, 1559662.759 741577.284 0, 1559950.437 741610.234 0, 1560238.113 741643.2 0,
+ 1560525.787 741676.183 0, 1560813.46 741709.182 0, 1561101.13 741742.199 0, 1561388.799 741775.233 0, 1561675.163 741808.134 0, 1561964.13 741841.351 0, 1562251.792 741874.436 0, 1562539.453 741907.537 0, 1562827.112 741940.656 0, 1563114.768 741973.791 0,
+ 1563402.423 742006.944 0, 1563690.076 742040.113 0, 1563977.727 742073.299 0, 1564265.376 742106.502 0, 1564553.023 742139.722 0, 1564840.668 742172.959 0, 1565128.311 742206.213 0, 1565415.952 742239.484 0, 1565703.591 742272.771 0, 1565991.228 742306.076 0,
+ 1566278.864 742339.398 0, 1566566.497 742372.736 0, 1566854.128 742406.091 0, 1567141.758 742439.464 0, 1567429.385 742472.853 0, 1567717.01 742506.259 0, 1568004.634 742539.683 0, 1568292.255 742573.123 0, 1568578.574 742606.428 0, 1569222.379 737073.239 0,
+ 1569866.152 731540.334 0))
+
+POLYGON ((1582381.979 744232.268 0, 1582095.753 744198.153 0, 1581808.228 744163.9 0, 1581520.7 744129.665 0, 1581233.17 744095.446 0, 1580945.638 744061.244 0, 1580658.104 744027.059 0, 1580370.568 743992.892 0, 1580083.03 743958.741 0, 1579795.49 743924.607 0,
+ 1579507.948 743890.489 0, 1579220.404 743856.389 0, 1578932.858 743822.306 0, 1578645.31 743788.239 0, 1578357.76 743754.19 0, 1578070.208 743720.157 0, 1577782.654 743686.142 0, 1577495.098 743652.143 0, 1577207.54 743618.161 0, 1576919.98 743584.197 0,
+ 1576632.418 743550.249 0, 1576344.854 743516.318 0, 1576057.288 743482.404 0, 1575769.72 743448.507 0, 1575480.851 743414.473 0, 1575194.578 743380.763 0, 1574907.004 743346.917 0, 1574619.428 743313.087 0, 1574331.85 743279.275 0, 1574044.27 743245.479 0,
+ 1573756.689 743211.701 0, 1573469.105 743177.939 0, 1573181.519 743144.194 0, 1572893.931 743110.466 0, 1572606.341 743076.755 0, 1572318.749 743043.061 0, 1572031.155 743009.384 0, 1571743.559 742975.724 0, 1571455.962 742942.081 0, 1571168.362 742908.455 0,
+ 1570880.76 742874.845 0, 1570593.156 742841.253 0, 1570305.551 742807.677 0, 1570017.943 742774.119 0, 1569730.333 742740.577 0, 1569442.722 742707.052 0, 1569155.108 742673.544 0, 1568867.493 742640.054 0, 1568578.574 742606.428 0, 1567934.736 748139.897 0,
+ 1567290.865 753673.643 0, 1567579.13 753707.192 0, 1567866.094 753740.607 0, 1568153.056 753774.039 0, 1568440.016 753807.488 0, 1568726.975 753840.954 0, 1569013.931 753874.436 0, 1569300.885 753907.936 0, 1569587.838 753941.452 0, 1569874.788 753974.985 0,
+ 1570161.737 754008.535 0, 1570448.683 754042.103 0, 1570735.628 754075.686 0, 1571022.57 754109.287 0, 1571309.511 754142.905 0, 1571596.449 754176.54 0, 1571883.386 754210.191 0, 1572170.32 754243.859 0, 1572457.253 754277.545 0, 1572744.183 754311.247 0,
+ 1573031.112 754344.966 0, 1573318.039 754378.702 0, 1573604.963 754412.455 0, 1573891.886 754446.224 0, 1574177.51 754479.858 0, 1574465.725 754513.814 0, 1574752.642 754547.635 0, 1575039.557 754581.472 0, 1575326.47 754615.326 0, 1575613.38 754649.197 0,
+ 1575900.289 754683.085 0, 1576187.196 754716.99 0, 1576474.1 754750.911 0, 1576761.003 754784.85 0, 1577047.904 754818.805 0, 1577334.803 754852.778 0, 1577621.699 754886.767 0, 1577908.594 754920.773 0, 1578195.487 754954.796 0, 1578482.378 754988.836 0,
+ 1578769.266 755022.893 0, 1579056.153 755056.966 0, 1579343.038 755091.057 0, 1579629.921 755125.164 0, 1579916.801 755159.289 0, 1580203.68 755193.43 0, 1580490.557 755227.588 0, 1580777.431 755261.763 0, 1581063.009 755295.8 0, 1581722.51 749763.896 0,
+ 1582381.979 744232.268 0))
+
+POLYGON ((1594830.514 756956.86 0, 1594545.032 756922.015 0, 1594258.255 756887.03 0, 1593971.476 756852.062 0, 1593684.695 756817.11 0, 1593397.912 756782.175 0, 1593111.126 756747.258 0, 1592824.339 756712.357 0, 1592537.55 756677.473 0, 1592250.758 756642.606 0,
+ 1591963.965 756607.755 0, 1591677.169 756572.922 0, 1591390.372 756538.106 0, 1591103.572 756503.306 0, 1590816.771 756468.523 0, 1590529.967 756433.757 0, 1590243.161 756399.008 0, 1589956.354 756364.276 0, 1589669.544 756329.561 0, 1589382.732 756294.863 0,
+ 1589095.918 756260.181 0, 1588809.102 756225.517 0, 1588522.284 756190.869 0, 1588235.464 756156.238 0, 1587947.348 756121.468 0, 1587661.818 756087.027 0, 1587374.992 756052.447 0, 1587088.164 756017.884 0, 1586801.333 755983.337 0, 1586514.501 755948.808 0,
+ 1586227.667 755914.295 0, 1585940.831 755879.799 0, 1585653.992 755845.32 0, 1585367.152 755810.859 0, 1585080.31 755776.413 0, 1584793.465 755741.985 0, 1584506.619 755707.574 0, 1584219.77 755673.179 0, 1583932.92 755638.802 0, 1583646.067 755604.441 0,
+ 1583359.213 755570.097 0, 1583072.356 755535.77 0, 1582785.498 755501.46 0, 1582498.637 755467.167 0, 1582211.775 755432.891 0, 1581924.91 755398.632 0, 1581638.043 755364.389 0, 1581351.175 755330.163 0, 1581063.009 755295.8 0, 1580403.475 760827.978 0,
+ 1579743.908 766360.425 0, 1580031.42 766394.71 0, 1580317.638 766428.858 0, 1580603.853 766463.023 0, 1580890.066 766497.205 0, 1581176.278 766531.403 0, 1581462.487 766565.618 0, 1581748.694 766599.851 0, 1582034.9 766634.1 0, 1582321.103 766668.365 0,
+ 1582607.304 766702.648 0, 1582893.504 766736.948 0, 1583179.701 766771.264 0, 1583465.896 766805.597 0, 1583752.089 766839.947 0, 1584038.281 766874.314 0, 1584324.47 766908.698 0, 1584610.657 766943.098 0, 1584896.842 766977.516 0, 1585183.025 767011.95 0,
+ 1585469.206 767046.401 0, 1585755.385 767080.869 0, 1586041.562 767115.354 0, 1586327.737 767149.856 0, 1586612.619 767184.219 0, 1586900.081 767218.91 0, 1587186.25 767253.462 0, 1587472.417 767288.031 0, 1587758.582 767322.617 0, 1588044.744 767357.22 0,
+ 1588330.905 767391.839 0, 1588617.064 767426.475 0, 1588903.221 767461.129 0, 1589189.375 767495.799 0, 1589475.528 767530.486 0, 1589761.678 767565.19 0, 1590047.827 767599.91 0, 1590333.973 767634.648 0, 1590620.118 767669.402 0, 1590906.26 767704.173 0,
+ 1591192.4 767738.961 0, 1591478.539 767773.766 0, 1591764.675 767808.588 0, 1592050.809 767843.426 0, 1592336.941 767878.281 0, 1592623.071 767913.154 0, 1592909.199 767948.043 0, 1593195.325 767982.949 0, 1593480.159 768017.714 0, 1594155.353 762487.152 0,
+ 1594830.514 756956.86 0))
+
+POLYGON ((1607211.673 769713.803 0, 1606926.936 769678.233 0, 1606640.91 769642.519 0, 1606354.882 769606.822 0, 1606068.852 769571.141 0, 1605782.819 769535.478 0, 1605496.784 769499.831 0, 1605210.748 769464.201 0, 1604924.709 769428.588 0, 1604638.668 769392.992 0,
+ 1604352.625 769357.412 0, 1604066.58 769321.85 0, 1603780.533 769286.304 0, 1603494.484 769250.775 0, 1603208.432 769215.263 0, 1602922.379 769179.768 0, 1602636.323 769144.289 0, 1602350.266 769108.828 0, 1602064.206 769073.383 0, 1601778.144 769037.955 0,
+ 1601492.08 769002.544 0, 1601206.014 768967.15 0, 1600919.946 768931.773 0, 1600633.876 768896.412 0, 1600346.515 768860.909 0, 1600061.73 768825.742 0, 1599775.653 768790.432 0, 1599489.575 768755.138 0, 1599203.494 768719.862 0, 1598917.412 768684.603 0,
+ 1598631.327 768649.36 0, 1598345.24 768614.134 0, 1598059.151 768578.925 0, 1597773.06 768543.733 0, 1597486.968 768508.558 0, 1597200.872 768473.399 0, 1596914.775 768438.257 0, 1596628.676 768403.133 0, 1596342.575 768368.025 0, 1596056.472 768332.934 0,
+ 1595770.366 768297.859 0, 1595484.259 768262.802 0, 1595198.149 768227.761 0, 1594912.038 768192.737 0, 1594625.924 768157.731 0, 1594339.809 768122.74 0, 1594053.691 768087.767 0, 1593767.571 768052.811 0, 1593480.159 768017.714 0, 1592804.933 773548.542 0,
+ 1592129.675 779079.632 0, 1592416.432 779114.649 0, 1592701.901 779149.526 0, 1592987.368 779184.42 0, 1593272.832 779219.33 0, 1593558.295 779254.257 0, 1593843.755 779289.202 0, 1594129.214 779324.162 0, 1594414.67 779359.14 0, 1594700.125 779394.135 0,
+ 1594985.577 779429.146 0, 1595271.027 779464.174 0, 1595556.475 779499.219 0, 1595841.921 779534.28 0, 1596127.365 779569.359 0, 1596412.807 779604.454 0, 1596698.247 779639.566 0, 1596983.685 779674.695 0, 1597269.121 779709.841 0, 1597554.554 779745.003 0,
+ 1597839.986 779780.183 0, 1598125.415 779815.379 0, 1598410.843 779850.591 0, 1598696.268 779885.821 0, 1598980.406 779920.909 0, 1599267.113 779956.331 0, 1599552.532 779991.611 0, 1599837.949 780026.908 0, 1600123.364 780062.221 0, 1600408.777 780097.552 0,
+ 1600694.188 780132.899 0, 1600979.597 780168.263 0, 1601265.003 780203.644 0, 1601550.408 780239.042 0, 1601835.811 780274.456 0, 1602121.211 780309.888 0, 1602406.609 780345.336 0, 1602692.006 780380.8 0, 1602977.4 780416.282 0, 1603262.792 780451.781 0,
+ 1603548.182 780487.296 0, 1603833.57 780522.828 0, 1604118.956 780558.377 0, 1604404.339 780593.942 0, 1604689.721 780629.525 0, 1604975.1 780665.124 0, 1605260.478 780700.74 0, 1605545.853 780736.373 0, 1605829.942 780771.862 0, 1606520.824 775242.701 0,
+ 1607211.673 769713.803 0))
+
+POLYGON ((1619525.374 782502.791 0, 1619241.384 782466.499 0, 1618956.111 782430.06 0, 1618670.835 782393.638 0, 1618385.557 782357.233 0, 1618100.277 782320.844 0, 1617814.995 782284.472 0, 1617529.711 782248.117 0, 1617244.425 782211.779 0, 1616959.136 782175.458 0,
+ 1616673.845 782139.153 0, 1616388.553 782102.865 0, 1616103.258 782066.594 0, 1615817.961 782030.34 0, 1615532.661 781994.103 0, 1615247.36 781957.882 0, 1614962.057 781921.678 0, 1614676.751 781885.491 0, 1614391.443 781849.321 0, 1614106.134 781813.168 0,
+ 1613820.822 781777.031 0, 1613535.507 781740.911 0, 1613250.191 781704.808 0, 1612964.873 781668.722 0, 1612678.269 781632.49 0, 1612394.23 781596.599 0, 1612108.905 781560.563 0, 1611823.578 781524.544 0, 1611538.249 781488.542 0, 1611252.918 781452.557 0,
+ 1610967.585 781416.588 0, 1610682.25 781380.636 0, 1610396.912 781344.701 0, 1610111.573 781308.782 0, 1609826.231 781272.881 0, 1609540.887 781236.996 0, 1609255.541 781201.128 0, 1608970.193 781165.277 0, 1608684.843 781129.443 0, 1608399.491 781093.625 0,
+ 1608114.137 781057.824 0, 1607828.78 781022.04 0, 1607543.422 780986.273 0, 1607258.061 780950.523 0, 1606972.698 780914.789 0, 1606687.334 780879.072 0, 1606401.967 780843.372 0, 1606116.598 780807.689 0, 1605829.942 780771.862 0, 1605139.028 786301.282 0,
+ 1604448.082 791830.957 0, 1604734.083 791866.702 0, 1605018.801 791902.304 0, 1605303.517 791937.922 0, 1605588.231 791973.558 0, 1605872.943 792009.21 0, 1606157.653 792044.879 0, 1606442.36 792080.564 0, 1606727.066 792116.267 0, 1607011.769 792151.986 0,
+ 1607296.471 792187.722 0, 1607581.17 792223.474 0, 1607865.867 792259.244 0, 1608150.562 792295.03 0, 1608435.255 792330.833 0, 1608719.946 792366.652 0, 1609004.635 792402.489 0, 1609289.321 792438.342 0, 1609574.006 792474.212 0, 1609858.688 792510.099 0,
+ 1610143.368 792546.002 0, 1610428.046 792581.922 0, 1610712.723 792617.859 0, 1610997.396 792653.813 0, 1611280.788 792689.622 0, 1611566.738 792725.771 0, 1611851.405 792761.775 0, 1612136.071 792797.795 0, 1612420.734 792833.833 0, 1612705.395 792869.887 0,
+ 1612990.055 792905.958 0, 1613274.711 792942.046 0, 1613559.366 792978.15 0, 1613844.019 793014.272 0, 1614128.67 793050.41 0, 1614413.318 793086.564 0, 1614697.964 793122.736 0, 1614982.609 793158.924 0, 1615267.251 793195.129 0, 1615551.891 793231.351 0,
+ 1615836.528 793267.59 0, 1616121.164 793303.845 0, 1616405.798 793340.117 0, 1616690.429 793376.406 0, 1616975.058 793412.711 0, 1617259.685 793449.034 0, 1617544.31 793485.373 0, 1617828.933 793521.728 0, 1618112.275 793557.938 0, 1618818.841 788030.237 0,
+ 1619525.374 782502.791 0))
+
+POLYGON ((1631771.535 795323.515 0, 1631488.294 795286.506 0, 1631203.775 795249.346 0, 1630919.254 795212.203 0, 1630634.731 795175.076 0, 1630350.205 795137.967 0, 1630065.677 795100.874 0, 1629781.148 795063.798 0, 1629496.615 795026.739 0, 1629212.081 794989.696 0,
+ 1628927.545 794952.67 0, 1628643.006 794915.661 0, 1628358.465 794878.669 0, 1628073.922 794841.694 0, 1627789.377 794804.735 0, 1627504.83 794767.793 0, 1627220.28 794730.867 0, 1626935.729 794693.959 0, 1626651.175 794657.067 0, 1626366.619 794620.192 0,
+ 1626082.06 794583.334 0, 1625797.5 794546.492 0, 1625512.938 794509.667 0, 1625228.373 794472.859 0, 1624942.529 794435.903 0, 1624659.237 794399.293 0, 1624374.666 794362.535 0, 1624090.092 794325.794 0, 1623805.517 794289.07 0, 1623520.939 794252.362 0,
+ 1623236.359 794215.672 0, 1622951.777 794178.998 0, 1622667.193 794142.34 0, 1622382.607 794105.7 0, 1622098.018 794069.076 0, 1621813.428 794032.469 0, 1621528.835 793995.878 0, 1621244.24 793959.305 0, 1620959.643 793922.748 0, 1620675.044 793886.208 0,
+ 1620390.442 793849.685 0, 1620105.839 793813.178 0, 1619821.233 793776.688 0, 1619536.625 793740.215 0, 1619252.015 793703.759 0, 1618967.403 793667.319 0, 1618682.789 793630.896 0, 1618398.172 793594.49 0, 1618112.275 793557.938 0, 1617405.677 799085.891 0,
+ 1616699.047 804614.092 0, 1616984.291 804650.561 0, 1617268.257 804686.884 0, 1617552.22 804723.223 0, 1617836.181 804759.58 0, 1618120.141 804795.953 0, 1618404.098 804832.342 0, 1618688.053 804868.749 0, 1618972.006 804905.172 0, 1619255.956 804941.612 0,
+ 1619539.905 804978.068 0, 1619823.851 805014.541 0, 1620107.796 805051.031 0, 1620391.738 805087.538 0, 1620675.678 805124.061 0, 1620959.615 805160.602 0, 1621243.551 805197.158 0, 1621527.485 805233.732 0, 1621811.416 805270.322 0, 1622095.345 805306.929 0,
+ 1622379.272 805343.553 0, 1622663.197 805380.193 0, 1622947.12 805416.85 0, 1623231.04 805453.524 0, 1623513.684 805490.05 0, 1623798.875 805526.922 0, 1624082.789 805563.646 0, 1624366.701 805600.386 0, 1624650.611 805637.144 0, 1624934.518 805673.918 0,
+ 1625218.424 805710.708 0, 1625502.327 805747.516 0, 1625786.228 805784.34 0, 1626070.127 805821.181 0, 1626354.024 805858.038 0, 1626637.919 805894.913 0, 1626921.811 805931.804 0, 1627205.701 805968.712 0, 1627489.589 806005.636 0, 1627773.475 806042.577 0,
+ 1628057.359 806079.535 0, 1628341.24 806116.51 0, 1628625.12 806153.501 0, 1628908.997 806190.509 0, 1629192.872 806227.533 0, 1629476.745 806264.575 0, 1629760.616 806301.633 0, 1630044.484 806338.708 0, 1630327.077 806375.633 0, 1631049.322 800849.45 0,
+ 1631771.535 795323.515 0))
+
+POLYGON ((1163228.574 378562.494 0, 1162920.997 378552.941 0, 1162611.951 378543.361 0, 1162302.904 378533.799 0, 1161993.857 378524.255 0, 1161684.809 378514.73 0, 1161375.76 378505.223 0, 1161066.711 378495.733 0, 1160757.661 378486.262 0, 1160448.611 378476.81 0,
+ 1160139.56 378467.375 0, 1159830.509 378457.959 0, 1159521.457 378448.56 0, 1159212.405 378439.18 0, 1158903.352 378429.819 0, 1158594.298 378420.475 0, 1158285.244 378411.15 0, 1157976.19 378401.842 0, 1157667.134 378392.553 0, 1157358.079 378383.282 0,
+ 1157049.022 378374.03 0, 1156739.966 378364.795 0, 1156430.908 378355.579 0, 1156121.85 378346.381 0, 1155811.321 378337.157 0, 1155503.733 378328.039 0, 1155194.673 378318.895 0, 1154885.613 378309.77 0, 1154576.553 378300.663 0, 1154267.492 378291.574 0,
+ 1153958.43 378282.503 0, 1153649.368 378273.451 0, 1153340.305 378264.416 0, 1153031.242 378255.4 0, 1152722.178 378246.402 0, 1152413.114 378237.422 0, 1152104.049 378228.461 0, 1151794.983 378219.517 0, 1151485.918 378210.592 0, 1151176.851 378201.685 0,
+ 1150867.784 378192.796 0, 1150558.717 378183.925 0, 1150249.649 378175.073 0, 1149940.58 378166.238 0, 1149631.511 378157.422 0, 1149322.442 378148.624 0, 1149013.372 378139.845 0, 1148704.301 378131.083 0, 1148393.758 378122.298 0, 1148237.034 383668.229 0,
+ 1148080.296 389214.627 0, 1148390.183 389223.393 0, 1148698.6 389232.137 0, 1149007.018 389240.898 0, 1149315.434 389249.677 0, 1149623.851 389258.475 0, 1149932.266 389267.29 0, 1150240.681 389276.124 0, 1150549.096 389284.976 0, 1150857.51 389293.846 0,
+ 1151165.924 389302.734 0, 1151474.337 389311.641 0, 1151782.749 389320.565 0, 1152091.161 389329.508 0, 1152399.573 389338.469 0, 1152707.983 389347.448 0, 1153016.394 389356.445 0, 1153324.804 389365.46 0, 1153633.213 389374.494 0, 1153941.622 389383.545 0,
+ 1154250.03 389392.615 0, 1154558.438 389401.703 0, 1154866.845 389410.809 0, 1155175.252 389419.933 0, 1155482.191 389429.032 0, 1155792.064 389438.236 0, 1156100.469 389447.415 0, 1156408.873 389456.612 0, 1156717.277 389465.827 0, 1157025.68 389475.06 0,
+ 1157334.083 389484.311 0, 1157642.486 389493.581 0, 1157950.887 389502.868 0, 1158259.289 389512.174 0, 1158567.689 389521.498 0, 1158876.09 389530.84 0, 1159184.489 389540.2 0, 1159492.888 389549.579 0, 1159801.287 389558.975 0, 1160109.685 389568.39 0,
+ 1160418.082 389577.823 0, 1160726.479 389587.273 0, 1161034.875 389596.743 0, 1161343.271 389606.23 0, 1161651.666 389615.735 0, 1161960.061 389625.259 0, 1162268.455 389634.801 0, 1162576.848 389644.36 0, 1162883.775 389653.893 0, 1163056.182 384107.96 0,
+ 1163228.574 378562.494 0))
+
+POLYGON ((1177685.954 390134.98 0, 1177379.053 390124.58 0, 1177070.688 390114.149 0, 1176762.322 390103.736 0, 1176453.955 390093.341 0, 1176145.588 390082.964 0, 1175837.221 390072.606 0, 1175528.852 390062.266 0, 1175220.483 390051.943 0, 1174912.114 390041.639 0,
+ 1174603.744 390031.353 0, 1174295.373 390021.086 0, 1173987.002 390010.836 0, 1173678.63 390000.605 0, 1173370.257 389990.391 0, 1173061.884 389980.196 0, 1172753.51 389970.019 0, 1172445.136 389959.86 0, 1172136.761 389949.72 0, 1171828.386 389939.597 0,
+ 1171520.009 389929.493 0, 1171211.633 389919.406 0, 1170903.255 389909.338 0, 1170594.878 389899.288 0, 1170285.034 389889.209 0, 1169978.12 389879.243 0, 1169669.74 389869.247 0, 1169361.36 389859.27 0, 1169052.979 389849.311 0, 1168744.598 389839.37 0,
+ 1168436.216 389829.447 0, 1168127.833 389819.542 0, 1167819.45 389809.655 0, 1167511.066 389799.787 0, 1167202.682 389789.937 0, 1166894.297 389780.105 0, 1166585.912 389770.291 0, 1166277.526 389760.495 0, 1165969.139 389750.717 0, 1165660.752 389740.958 0,
+ 1165352.364 389731.216 0, 1165043.976 389721.493 0, 1164735.587 389711.788 0, 1164427.197 389702.101 0, 1164118.807 389692.432 0, 1163810.416 389682.781 0, 1163502.025 389673.149 0, 1163193.633 389663.535 0, 1162883.775 389653.893 0, 1162711.354 395200.291 0,
+ 1162538.918 400747.151 0, 1162848.121 400756.772 0, 1163155.86 400766.366 0, 1163463.598 400775.978 0, 1163771.336 400785.608 0, 1164079.073 400795.257 0, 1164386.809 400804.923 0, 1164694.545 400814.608 0, 1165002.281 400824.31 0, 1165310.016 400834.031 0,
+ 1165617.75 400843.77 0, 1165925.484 400853.527 0, 1166233.217 400863.302 0, 1166540.949 400873.095 0, 1166848.681 400882.906 0, 1167156.413 400892.736 0, 1167464.144 400902.583 0, 1167771.874 400912.449 0, 1168079.604 400922.333 0, 1168387.333 400932.235 0,
+ 1168695.061 400942.155 0, 1169002.789 400952.093 0, 1169310.517 400962.049 0, 1169618.243 400972.023 0, 1169924.508 400981.968 0, 1170233.695 400992.026 0, 1170541.42 401002.055 0, 1170849.145 401012.102 0, 1171156.868 401022.167 0, 1171464.592 401032.25 0,
+ 1171772.314 401042.351 0, 1172080.036 401052.47 0, 1172387.758 401062.607 0, 1172695.478 401072.763 0, 1173003.199 401082.937 0, 1173310.918 401093.128 0, 1173618.637 401103.338 0, 1173926.356 401113.566 0, 1174234.074 401123.812 0, 1174541.791 401134.076 0,
+ 1174849.508 401144.358 0, 1175157.224 401154.659 0, 1175464.939 401164.977 0, 1175772.654 401175.314 0, 1176080.368 401185.668 0, 1176388.082 401196.041 0, 1176695.795 401206.432 0, 1177003.507 401216.841 0, 1177309.758 401227.219 0, 1177497.864 395680.868 0,
+ 1177685.954 390134.98 0))
+
+POLYGON ((1192079.183 401749.015 0, 1191772.96 401737.772 0, 1191465.278 401726.494 0, 1191157.596 401715.234 0, 1190849.912 401703.992 0, 1190542.229 401692.768 0, 1190234.544 401681.562 0, 1189926.859 401670.374 0, 1189619.174 401659.204 0, 1189311.487 401648.053 0,
+ 1189003.8 401636.919 0, 1188696.113 401625.804 0, 1188388.424 401614.707 0, 1188080.735 401603.628 0, 1187773.046 401592.567 0, 1187465.355 401581.524 0, 1187157.665 401570.499 0, 1186849.973 401559.492 0, 1186542.281 401548.504 0, 1186234.588 401537.533 0,
+ 1185926.894 401526.581 0, 1185619.2 401515.647 0, 1185311.505 401504.731 0, 1185003.81 401493.833 0, 1184694.655 401482.901 0, 1184388.417 401472.091 0, 1184080.72 401461.247 0, 1183773.022 401450.422 0, 1183465.323 401439.614 0, 1183157.624 401428.825 0,
+ 1182849.924 401418.054 0, 1182542.224 401407.3 0, 1182234.522 401396.565 0, 1181926.821 401385.848 0, 1181619.118 401375.15 0, 1181311.415 401364.469 0, 1181003.711 401353.806 0, 1180696.007 401343.162 0, 1180388.302 401332.536 0, 1180080.597 401321.927 0,
+ 1179772.89 401311.337 0, 1179465.184 401300.765 0, 1179157.476 401290.211 0, 1178849.768 401279.676 0, 1178542.059 401269.158 0, 1178234.35 401258.658 0, 1177926.64 401248.177 0, 1177618.93 401237.713 0, 1177309.758 401227.219 0, 1177121.637 406774.028 0,
+ 1176933.5 412321.293 0, 1177242.016 412331.766 0, 1177549.073 412342.207 0, 1177856.13 412352.666 0, 1178163.187 412363.143 0, 1178470.242 412373.639 0, 1178777.297 412384.152 0, 1179084.352 412394.684 0, 1179391.406 412405.233 0, 1179698.459 412415.801 0,
+ 1180005.511 412426.387 0, 1180312.563 412436.99 0, 1180619.615 412447.612 0, 1180926.666 412458.252 0, 1181233.716 412468.91 0, 1181540.765 412479.586 0, 1181847.814 412490.281 0, 1182154.862 412500.993 0, 1182461.91 412511.723 0, 1182768.957 412522.471 0,
+ 1183076.003 412533.238 0, 1183383.049 412544.022 0, 1183690.094 412554.825 0, 1183997.138 412565.646 0, 1184302.726 412576.433 0, 1184611.225 412587.341 0, 1184918.268 412598.216 0, 1185225.309 412609.109 0, 1185532.351 412620.02 0, 1185839.391 412630.949 0,
+ 1186146.431 412641.896 0, 1186453.47 412652.862 0, 1186760.509 412663.845 0, 1187067.547 412674.846 0, 1187374.584 412685.866 0, 1187681.621 412696.903 0, 1187988.657 412707.959 0, 1188295.692 412719.033 0, 1188602.727 412730.124 0, 1188909.761 412741.234 0,
+ 1189216.795 412752.362 0, 1189523.827 412763.508 0, 1189830.86 412774.672 0, 1190137.891 412785.854 0, 1190444.922 412797.054 0, 1190751.952 412808.273 0, 1191058.981 412819.509 0, 1191366.01 412830.763 0, 1191671.584 412841.982 0, 1191875.392 407295.271 0,
+ 1192079.183 401749.015 0))
+
+POLYGON ((1206408.137 413404.307 0, 1206102.594 413392.225 0, 1205795.598 413380.103 0, 1205488.602 413367.999 0, 1205181.605 413355.914 0, 1204874.607 413343.846 0, 1204567.608 413331.797 0, 1204260.609 413319.765 0, 1203953.609 413307.752 0, 1203646.608 413295.757 0,
+ 1203339.607 413283.779 0, 1203032.604 413271.82 0, 1202725.601 413259.879 0, 1202418.598 413247.956 0, 1202111.594 413236.051 0, 1201804.589 413224.164 0, 1201497.583 413212.296 0, 1201190.577 413200.445 0, 1200883.569 413188.612 0, 1200576.562 413176.798 0,
+ 1200269.553 413165.001 0, 1199962.544 413153.223 0, 1199655.534 413141.462 0, 1199348.524 413129.72 0, 1199040.059 413117.94 0, 1198734.501 413106.29 0, 1198427.488 413094.602 0, 1198120.475 413082.932 0, 1197813.461 413071.28 0, 1197506.446 413059.646 0,
+ 1197199.431 413048.03 0, 1196892.415 413036.432 0, 1196585.398 413024.853 0, 1196278.38 413013.291 0, 1195971.362 413001.748 0, 1195664.344 412990.222 0, 1195357.324 412978.715 0, 1195050.304 412967.225 0, 1194743.283 412955.754 0, 1194436.262 412944.301 0,
+ 1194129.24 412932.866 0, 1193822.217 412921.449 0, 1193515.193 412910.05 0, 1193208.169 412898.669 0, 1192901.144 412887.306 0, 1192594.119 412875.962 0, 1192287.093 412864.635 0, 1191980.066 412853.326 0, 1191671.584 412841.982 0, 1191467.759 418389.147 0,
+ 1191263.918 423936.761 0, 1191571.744 423948.081 0, 1191878.118 423959.366 0, 1192184.491 423970.668 0, 1192490.863 423981.989 0, 1192797.235 423993.328 0, 1193103.606 424004.684 0, 1193409.977 424016.059 0, 1193716.347 424027.452 0, 1194022.716 424038.862 0,
+ 1194329.084 424050.291 0, 1194635.452 424061.738 0, 1194941.819 424073.203 0, 1195248.186 424084.686 0, 1195554.551 424096.187 0, 1195860.916 424107.706 0, 1196167.281 424119.243 0, 1196473.645 424130.798 0, 1196780.008 424142.371 0, 1197086.37 424153.962 0,
+ 1197392.732 424165.571 0, 1197699.093 424177.198 0, 1198005.453 424188.843 0, 1198311.813 424200.507 0, 1198616.721 424212.133 0, 1198924.53 424223.887 0, 1199230.887 424235.605 0, 1199537.244 424247.34 0, 1199843.6 424259.093 0, 1200149.956 424270.865 0,
+ 1200456.311 424282.654 0, 1200762.665 424294.462 0, 1201069.018 424306.287 0, 1201375.371 424318.131 0, 1201681.723 424329.992 0, 1201988.074 424341.872 0, 1202294.425 424353.769 0, 1202600.775 424365.685 0, 1202907.124 424377.619 0, 1203213.473 424389.571 0,
+ 1203519.82 424401.54 0, 1203826.167 424413.528 0, 1204132.514 424425.534 0, 1204438.86 424437.558 0, 1204745.205 424449.6 0, 1205051.549 424461.66 0, 1205357.892 424473.737 0, 1205664.235 424485.833 0, 1205969.128 424497.89 0, 1206188.641 418950.874 0,
+ 1206408.137 413404.307 0))
+
+POLYGON ((1220672.694 425100.562 0, 1220367.834 425087.643 0, 1220061.527 425074.682 0, 1219755.219 425061.739 0, 1219448.91 425048.813 0, 1219142.6 425035.906 0, 1218836.29 425023.017 0, 1218529.978 425010.146 0, 1218223.666 424997.292 0, 1217917.354 424984.457 0,
+ 1217611.04 424971.64 0, 1217304.726 424958.841 0, 1216998.411 424946.06 0, 1216692.095 424933.297 0, 1216385.778 424920.552 0, 1216079.461 424907.825 0, 1215773.143 424895.116 0, 1215466.824 424882.425 0, 1215160.505 424869.752 0, 1214854.185 424857.097 0,
+ 1214547.864 424844.46 0, 1214241.542 424831.841 0, 1213935.219 424819.24 0, 1213628.896 424806.657 0, 1213321.124 424794.033 0, 1213016.247 424781.546 0, 1212709.922 424769.017 0, 1212403.596 424756.507 0, 1212097.269 424744.014 0, 1211790.941 424731.539 0,
+ 1211484.613 424719.083 0, 1211178.284 424706.644 0, 1210871.954 424694.224 0, 1210565.623 424681.821 0, 1210259.292 424669.437 0, 1209952.96 424657.07 0, 1209646.627 424644.722 0, 1209340.293 424632.392 0, 1209033.959 424620.079 0, 1208727.624 424607.785 0,
+ 1208421.289 424595.509 0, 1208114.952 424583.25 0, 1207808.615 424571.01 0, 1207502.277 424558.788 0, 1207195.939 424546.584 0, 1206889.599 424534.398 0, 1206583.259 424522.23 0, 1206276.919 424510.079 0, 1205969.128 424497.89 0, 1205749.597 430045.354 0,
+ 1205530.048 435593.261 0, 1205837.183 435605.425 0, 1206142.871 435617.549 0, 1206448.558 435629.691 0, 1206754.244 435641.851 0, 1207059.929 435654.029 0, 1207365.614 435666.225 0, 1207671.298 435678.44 0, 1207976.982 435690.672 0, 1208282.664 435702.922 0,
+ 1208588.346 435715.19 0, 1208894.027 435727.476 0, 1209199.708 435739.78 0, 1209505.387 435752.102 0, 1209811.066 435764.442 0, 1210116.745 435776.8 0, 1210422.422 435789.176 0, 1210728.099 435801.57 0, 1211033.775 435813.982 0, 1211339.451 435826.412 0,
+ 1211645.125 435838.86 0, 1211950.799 435851.326 0, 1212256.472 435863.81 0, 1212562.145 435876.312 0, 1212866.372 435888.773 0, 1213173.487 435901.37 0, 1213479.158 435913.926 0, 1213784.827 435926.5 0, 1214090.496 435939.092 0, 1214396.164 435951.702 0,
+ 1214701.831 435964.33 0, 1215007.498 435976.976 0, 1215313.164 435989.64 0, 1215618.829 436002.322 0, 1215924.493 436015.022 0, 1216230.156 436027.74 0, 1216535.819 436040.476 0, 1216841.481 436053.229 0, 1217147.142 436066.001 0, 1217452.803 436078.791 0,
+ 1217758.463 436091.599 0, 1218064.122 436104.425 0, 1218369.78 436117.269 0, 1218675.438 436130.13 0, 1218981.094 436143.01 0, 1219286.75 436155.908 0, 1219592.406 436168.824 0, 1219898.06 436181.757 0, 1220202.27 436194.648 0, 1220437.492 430647.383 0,
+ 1220672.694 425100.562 0))
+
+POLYGON ((1249008.137 448614.779 0, 1248704.649 448600.201 0, 1248399.726 448585.572 0, 1248094.801 448570.961 0, 1247789.876 448556.367 0, 1247484.95 448541.792 0, 1247180.023 448527.234 0, 1246875.095 448512.695 0, 1246570.166 448498.173 0, 1246265.236 448483.669 0,
+ 1245960.306 448469.184 0, 1245655.375 448454.716 0, 1245350.443 448440.266 0, 1245045.51 448425.834 0, 1244740.576 448411.42 0, 1244435.641 448397.024 0, 1244130.705 448382.646 0, 1243825.769 448368.286 0, 1243520.832 448353.944 0, 1243215.894 448339.62 0,
+ 1242910.955 448325.314 0, 1242606.015 448311.025 0, 1242301.074 448296.755 0, 1241996.133 448282.503 0, 1241689.754 448268.201 0, 1241386.248 448254.052 0, 1241081.304 448239.853 0, 1240776.359 448225.673 0, 1240471.413 448211.51 0, 1240166.467 448197.365 0,
+ 1239861.519 448183.239 0, 1239556.571 448169.13 0, 1239251.622 448155.039 0, 1238946.673 448140.966 0, 1238641.722 448126.911 0, 1238336.771 448112.874 0, 1238031.818 448098.855 0, 1237726.865 448084.854 0, 1237421.911 448070.871 0, 1237116.957 448056.906 0,
+ 1236812.001 448042.958 0, 1236507.045 448029.029 0, 1236202.087 448015.118 0, 1235897.129 448001.224 0, 1235592.171 447987.349 0, 1235287.211 447973.491 0, 1234982.25 447959.652 0, 1234677.289 447945.83 0, 1234370.889 447931.961 0, 1234119.937 453479.854 0,
+ 1233868.965 459028.179 0, 1234174.709 459042.018 0, 1234479.017 459055.81 0, 1234783.325 459069.62 0, 1235087.631 459083.448 0, 1235391.937 459097.294 0, 1235696.242 459111.157 0, 1236000.546 459125.039 0, 1236304.849 459138.938 0, 1236609.152 459152.856 0,
+ 1236913.453 459166.791 0, 1237217.754 459180.744 0, 1237522.054 459194.716 0, 1237826.353 459208.705 0, 1238130.652 459222.711 0, 1238434.949 459236.736 0, 1238739.246 459250.779 0, 1239043.542 459264.84 0, 1239347.837 459278.918 0, 1239652.131 459293.015 0,
+ 1239956.425 459307.129 0, 1240260.717 459321.262 0, 1240565.009 459335.412 0, 1240869.3 459349.58 0, 1241172.156 459363.699 0, 1241477.879 459377.97 0, 1241782.168 459392.192 0, 1242086.455 459406.432 0, 1242390.742 459420.689 0, 1242695.028 459434.965 0,
+ 1242999.313 459449.258 0, 1243303.597 459463.57 0, 1243607.88 459477.899 0, 1243912.163 459492.246 0, 1244216.444 459506.611 0, 1244520.725 459520.994 0, 1244825.005 459535.395 0, 1245129.284 459549.814 0, 1245433.563 459564.251 0, 1245737.84 459578.706 0,
+ 1246042.117 459593.178 0, 1246346.392 459607.669 0, 1246650.667 459622.177 0, 1246954.941 459636.704 0, 1247259.214 459651.248 0, 1247563.487 459665.81 0, 1247867.758 459680.39 0, 1248172.029 459694.988 0, 1248474.866 459709.535 0, 1248741.512 454161.941 0,
+ 1249008.137 448614.779 0))
+
+POLYGON ((1263078.783 460432.152 0, 1262775.986 460416.75 0, 1262471.758 460401.292 0, 1262167.529 460385.853 0, 1261863.299 460370.431 0, 1261559.068 460355.027 0, 1261254.836 460339.641 0, 1260950.604 460324.273 0, 1260646.37 460308.923 0, 1260342.136 460293.591 0,
+ 1260037.9 460278.277 0, 1259733.664 460262.98 0, 1259429.427 460247.702 0, 1259125.189 460232.441 0, 1258820.95 460217.199 0, 1258516.71 460201.974 0, 1258212.469 460186.767 0, 1257908.227 460171.578 0, 1257603.985 460156.407 0, 1257299.742 460141.254 0,
+ 1256995.497 460126.119 0, 1256691.252 460111.002 0, 1256387.006 460095.902 0, 1256082.759 460080.821 0, 1255777.08 460065.686 0, 1255474.262 460050.711 0, 1255170.013 460035.684 0, 1254865.762 460020.674 0, 1254561.511 460005.682 0, 1254257.258 459990.708 0,
+ 1253953.005 459975.752 0, 1253648.751 459960.814 0, 1253344.496 459945.893 0, 1253040.24 459930.991 0, 1252735.984 459916.106 0, 1252431.726 459901.24 0, 1252127.468 459886.391 0, 1251823.208 459871.56 0, 1251518.948 459856.747 0, 1251214.687 459841.953 0,
+ 1250910.425 459827.175 0, 1250606.162 459812.416 0, 1250301.899 459797.675 0, 1249997.634 459782.952 0, 1249693.369 459768.246 0, 1249389.102 459753.559 0, 1249084.835 459738.889 0, 1248780.567 459724.238 0, 1248474.866 459709.535 0, 1248208.2 465257.558 0,
+ 1247941.513 470806.007 0, 1248246.558 470820.678 0, 1248550.173 470835.298 0, 1248853.787 470849.936 0, 1249157.4 470864.592 0, 1249461.012 470879.266 0, 1249764.624 470893.958 0, 1250068.234 470908.668 0, 1250371.844 470923.395 0, 1250675.453 470938.14 0,
+ 1250979.061 470952.903 0, 1251282.668 470967.685 0, 1251586.274 470982.483 0, 1251889.879 470997.3 0, 1252193.484 471012.135 0, 1252497.088 471026.988 0, 1252800.69 471041.858 0, 1253104.292 471056.746 0, 1253407.893 471071.652 0, 1253711.493 471086.576 0,
+ 1254015.092 471101.518 0, 1254318.691 471116.478 0, 1254622.288 471131.456 0, 1254925.885 471146.451 0, 1255228.052 471161.394 0, 1255533.075 471176.496 0, 1255836.669 471191.545 0, 1256140.262 471206.612 0, 1256443.854 471221.697 0, 1256747.446 471236.799 0,
+ 1257051.036 471251.92 0, 1257354.626 471267.058 0, 1257658.214 471282.215 0, 1257961.802 471297.389 0, 1258265.389 471312.581 0, 1258568.975 471327.791 0, 1258872.56 471343.019 0, 1259176.144 471358.264 0, 1259479.727 471373.528 0, 1259783.309 471388.809 0,
+ 1260086.891 471404.109 0, 1260390.471 471419.426 0, 1260694.051 471434.761 0, 1260997.63 471450.114 0, 1261301.207 471465.484 0, 1261604.784 471480.873 0, 1261908.36 471496.279 0, 1262211.935 471511.704 0, 1262514.083 471527.073 0, 1262796.444 465979.4 0,
+ 1263078.783 460432.152 0))
+
+POLYGON ((1277084.557 472289.307 0, 1276782.452 472273.083 0, 1276478.922 472256.802 0, 1276175.391 472240.537 0, 1275871.859 472224.291 0, 1275568.325 472208.063 0, 1275264.791 472191.852 0, 1274961.256 472175.66 0, 1274657.72 472159.485 0, 1274354.183 472143.328 0,
+ 1274050.645 472127.189 0, 1273747.106 472111.068 0, 1273443.566 472094.965 0, 1273140.026 472078.879 0, 1272836.484 472062.812 0, 1272532.941 472046.762 0, 1272229.398 472030.73 0, 1271925.853 472014.716 0, 1271622.308 471998.72 0, 1271318.761 471982.742 0,
+ 1271015.214 471966.782 0, 1270711.665 471950.839 0, 1270408.116 471934.915 0, 1270104.566 471919.008 0, 1269799.589 471903.044 0, 1269497.463 471887.248 0, 1269193.91 471871.395 0, 1268890.356 471855.56 0, 1268586.801 471839.742 0, 1268283.245 471823.943 0,
+ 1267979.688 471808.161 0, 1267676.131 471792.397 0, 1267372.572 471776.651 0, 1267069.013 471760.923 0, 1266765.452 471745.213 0, 1266461.891 471729.521 0, 1266158.329 471713.846 0, 1265854.765 471698.189 0, 1265551.201 471682.551 0, 1265247.636 471666.93 0,
+ 1264944.07 471651.327 0, 1264640.503 471635.742 0, 1264336.936 471620.174 0, 1264033.367 471604.625 0, 1263729.797 471589.093 0, 1263426.227 471573.58 0, 1263122.655 471558.084 0, 1262819.083 471542.606 0, 1262514.083 471527.073 0, 1262231.7 477075.17 0,
+ 1261949.296 482623.686 0, 1262253.64 482639.186 0, 1262556.559 482654.63 0, 1262859.478 482670.093 0, 1263162.395 482685.573 0, 1263465.312 482701.071 0, 1263768.227 482716.587 0, 1264071.142 482732.121 0, 1264374.056 482747.673 0, 1264676.968 482763.242 0,
+ 1264979.88 482778.829 0, 1265282.791 482794.434 0, 1265585.701 482810.057 0, 1265888.611 482825.698 0, 1266191.519 482841.357 0, 1266494.426 482857.033 0, 1266797.333 482872.727 0, 1267100.238 482888.439 0, 1267403.143 482904.169 0, 1267706.046 482919.917 0,
+ 1268008.949 482935.683 0, 1268311.851 482951.466 0, 1268614.752 482967.267 0, 1268917.652 482983.086 0, 1269219.128 482998.849 0, 1269523.449 483014.778 0, 1269826.346 483030.65 0, 1270129.242 483046.541 0, 1270432.137 483062.449 0, 1270735.032 483078.375 0,
+ 1271037.925 483094.319 0, 1271340.817 483110.28 0, 1271643.709 483126.26 0, 1271946.6 483142.257 0, 1272249.489 483158.272 0, 1272552.378 483174.305 0, 1272855.266 483190.356 0, 1273158.152 483206.425 0, 1273461.038 483222.511 0, 1273763.923 483238.616 0,
+ 1274066.807 483254.738 0, 1274369.69 483270.878 0, 1274672.572 483287.035 0, 1274975.453 483303.211 0, 1275278.333 483319.404 0, 1275581.212 483335.616 0, 1275884.091 483351.845 0, 1276186.968 483368.092 0, 1276488.423 483384.28 0, 1276786.502 477836.583 0,
+ 1277084.557 472289.307 0))
+
+POLYGON ((1291025.343 484185.946 0, 1290723.933 484168.906 0, 1290421.103 484151.804 0, 1290118.271 484134.719 0, 1289815.439 484117.652 0, 1289512.606 484100.603 0, 1289209.772 484083.572 0, 1288906.937 484066.558 0, 1288604.1 484049.563 0, 1288301.263 484032.585 0,
+ 1287998.425 484015.625 0, 1287695.586 483998.683 0, 1287392.746 483981.759 0, 1287089.905 483964.852 0, 1286787.062 483947.964 0, 1286484.219 483931.093 0, 1286181.375 483914.24 0, 1285878.53 483897.405 0, 1285575.684 483880.587 0, 1285272.837 483863.788 0,
+ 1284969.989 483847.006 0, 1284667.139 483830.242 0, 1284364.289 483813.496 0, 1284061.438 483796.768 0, 1283757.166 483779.979 0, 1283455.733 483763.365 0, 1283152.879 483746.69 0, 1282850.024 483730.034 0, 1282547.168 483713.394 0, 1282244.311 483696.773 0,
+ 1281941.453 483680.17 0, 1281638.594 483663.584 0, 1281335.734 483647.016 0, 1281032.874 483630.466 0, 1280730.012 483613.934 0, 1280427.149 483597.42 0, 1280124.285 483580.924 0, 1279821.42 483564.445 0, 1279518.555 483547.984 0, 1279215.688 483531.541 0,
+ 1278912.82 483515.116 0, 1278609.952 483498.709 0, 1278307.082 483482.319 0, 1278004.212 483465.947 0, 1277701.34 483449.594 0, 1277398.468 483433.258 0, 1277095.594 483416.939 0, 1276792.72 483400.639 0, 1276488.423 483384.28 0, 1276190.322 488932.394 0,
+ 1275892.199 494480.921 0, 1276195.839 494497.245 0, 1276498.061 494513.51 0, 1276800.281 494529.793 0, 1277102.5 494546.094 0, 1277404.719 494562.412 0, 1277706.936 494578.749 0, 1278009.153 494595.103 0, 1278311.368 494611.475 0, 1278613.583 494627.865 0,
+ 1278915.796 494644.272 0, 1279218.009 494660.698 0, 1279520.221 494677.141 0, 1279822.431 494693.602 0, 1280124.641 494710.08 0, 1280426.85 494726.577 0, 1280729.058 494743.091 0, 1281031.264 494759.623 0, 1281333.47 494776.173 0, 1281635.675 494792.74 0,
+ 1281937.879 494809.326 0, 1282240.082 494825.929 0, 1282542.284 494842.55 0, 1282844.485 494859.189 0, 1283145.268 494875.767 0, 1283448.884 494892.52 0, 1283751.082 494909.212 0, 1284053.279 494925.922 0, 1284355.475 494942.649 0, 1284657.67 494959.395 0,
+ 1284959.864 494976.158 0, 1285262.057 494992.939 0, 1285564.249 495009.738 0, 1285866.44 495026.555 0, 1286168.63 495043.389 0, 1286470.819 495060.241 0, 1286773.008 495077.111 0, 1287075.195 495093.999 0, 1287377.381 495110.905 0, 1287679.566 495127.828 0,
+ 1287981.75 495144.769 0, 1288283.933 495161.728 0, 1288586.115 495178.705 0, 1288888.297 495195.699 0, 1289190.477 495212.712 0, 1289492.656 495229.742 0, 1289794.834 495246.79 0, 1290097.011 495263.855 0, 1290397.772 495280.859 0, 1290711.569 489733.195 0,
+ 1291025.343 484185.946 0))
+
+POLYGON ((1304901.026 496121.774 0, 1304600.313 496103.921 0, 1304298.185 496086.001 0, 1303996.056 496068.1 0, 1303693.926 496050.216 0, 1303391.795 496032.35 0, 1303089.664 496014.502 0, 1302787.531 495996.672 0, 1302485.397 495978.859 0, 1302183.261 495961.064 0,
+ 1301881.125 495943.287 0, 1301578.988 495925.528 0, 1301276.85 495907.787 0, 1300974.711 495890.063 0, 1300672.57 495872.357 0, 1300370.429 495854.669 0, 1300068.287 495836.999 0, 1299766.143 495819.346 0, 1299463.999 495801.711 0, 1299161.853 495784.094 0,
+ 1298859.707 495766.495 0, 1298557.559 495748.914 0, 1298255.411 495731.35 0, 1297953.261 495713.804 0, 1297649.696 495696.194 0, 1297348.959 495678.766 0, 1297046.806 495661.274 0, 1296744.652 495643.799 0, 1296442.497 495626.342 0, 1296140.341 495608.903 0,
+ 1295838.185 495591.482 0, 1295536.027 495574.078 0, 1295233.868 495556.692 0, 1294931.708 495539.324 0, 1294629.547 495521.974 0, 1294327.385 495504.642 0, 1294025.222 495487.327 0, 1293723.058 495470.03 0, 1293420.893 495452.751 0, 1293118.727 495435.49 0,
+ 1292816.56 495418.246 0, 1292514.392 495401.021 0, 1292212.223 495383.813 0, 1291910.053 495366.623 0, 1291607.882 495349.45 0, 1291305.71 495332.296 0, 1291003.536 495315.159 0, 1290701.362 495298.04 0, 1290397.772 495280.859 0, 1290083.951 500828.933 0,
+ 1289770.107 506377.414 0, 1290073.042 506394.558 0, 1290374.563 506411.64 0, 1290676.083 506428.74 0, 1290977.602 506445.858 0, 1291279.12 506462.993 0, 1291580.637 506480.146 0, 1291882.153 506497.317 0, 1292183.667 506514.505 0, 1292485.181 506531.711 0,
+ 1292786.694 506548.935 0, 1293088.206 506566.177 0, 1293389.717 506583.437 0, 1293691.227 506600.714 0, 1293992.736 506618.009 0, 1294294.244 506635.321 0, 1294595.751 506652.652 0, 1294897.256 506670 0, 1295198.761 506687.366 0, 1295500.265 506704.75 0,
+ 1295801.768 506722.151 0, 1296103.269 506739.57 0, 1296404.77 506757.007 0, 1296706.27 506774.462 0, 1297006.357 506791.852 0, 1297309.266 506809.424 0, 1297610.763 506826.932 0, 1297912.258 506844.458 0, 1298213.753 506862.001 0, 1298515.246 506879.563 0,
+ 1298816.738 506897.141 0, 1299118.23 506914.738 0, 1299419.72 506932.352 0, 1299721.21 506949.985 0, 1300022.698 506967.634 0, 1300324.185 506985.302 0, 1300625.671 507002.987 0, 1300927.157 507020.69 0, 1301228.641 507038.411 0, 1301530.124 507056.15 0,
+ 1301831.606 507073.906 0, 1302133.087 507091.68 0, 1302434.567 507109.472 0, 1302736.046 507127.282 0, 1303037.524 507145.109 0, 1303339 507162.954 0, 1303640.476 507180.817 0, 1303941.951 507198.697 0, 1304242.014 507216.512 0, 1304571.532 501668.939 0,
+ 1304901.026 496121.774 0))
+
+POLYGON ((1318711.493 508096.492 0, 1318411.479 508077.83 0, 1318110.056 508059.097 0, 1317808.632 508040.383 0, 1317507.207 508021.686 0, 1317205.78 508003.007 0, 1316904.353 507984.346 0, 1316602.925 507965.703 0, 1316301.495 507947.077 0, 1316000.064 507928.469 0,
+ 1315698.633 507909.879 0, 1315397.2 507891.306 0, 1315095.766 507872.751 0, 1314794.331 507854.214 0, 1314492.895 507835.695 0, 1314191.457 507817.193 0, 1313890.019 507798.71 0, 1313588.58 507780.244 0, 1313287.139 507761.795 0, 1312985.698 507743.365 0,
+ 1312684.255 507724.952 0, 1312382.811 507706.557 0, 1312081.366 507688.179 0, 1311779.92 507669.82 0, 1311477.065 507651.392 0, 1311177.025 507633.154 0, 1310875.576 507614.847 0, 1310574.126 507596.559 0, 1310272.675 507578.288 0, 1309971.222 507560.035 0,
+ 1309669.769 507541.799 0, 1309368.314 507523.581 0, 1309066.859 507505.382 0, 1308765.402 507487.199 0, 1308463.944 507469.035 0, 1308162.486 507450.888 0, 1307861.026 507432.759 0, 1307559.565 507414.648 0, 1307258.103 507396.555 0, 1306956.64 507378.479 0,
+ 1306655.176 507360.421 0, 1306353.71 507342.381 0, 1306052.244 507324.358 0, 1305750.777 507306.353 0, 1305449.308 507288.366 0, 1305147.839 507270.397 0, 1304846.369 507252.446 0, 1304544.897 507234.512 0, 1304242.014 507216.512 0, 1303912.472 512764.49 0,
+ 1303582.906 518312.869 0, 1303885.133 518330.83 0, 1304185.951 518348.725 0, 1304486.769 518366.637 0, 1304787.585 518384.568 0, 1305088.4 518402.516 0, 1305389.214 518420.481 0, 1305690.028 518438.465 0, 1305990.84 518456.466 0, 1306291.651 518474.485 0,
+ 1306592.461 518492.521 0, 1306893.27 518510.576 0, 1307194.077 518528.648 0, 1307494.884 518546.737 0, 1307795.69 518564.845 0, 1308096.495 518582.97 0, 1308397.298 518601.113 0, 1308698.101 518619.273 0, 1308998.902 518637.451 0, 1309299.703 518655.647 0,
+ 1309600.502 518673.861 0, 1309901.3 518692.092 0, 1310202.097 518710.341 0, 1310502.893 518728.608 0, 1310802.283 518746.807 0, 1311104.482 518765.195 0, 1311405.275 518783.514 0, 1311706.067 518801.852 0, 1312006.858 518820.207 0, 1312307.647 518838.58 0,
+ 1312608.436 518856.971 0, 1312909.223 518875.379 0, 1313210.01 518893.805 0, 1313510.795 518912.249 0, 1313811.579 518930.71 0, 1314112.362 518949.19 0, 1314413.144 518967.687 0, 1314713.925 518986.201 0, 1315014.705 519004.733 0, 1315315.484 519023.283 0,
+ 1315616.261 519041.851 0, 1315917.038 519060.436 0, 1316217.813 519079.04 0, 1316518.588 519097.66 0, 1316819.361 519116.299 0, 1317120.133 519134.955 0, 1317420.904 519153.629 0, 1317721.674 519172.321 0, 1318021.039 519190.943 0, 1318366.279 513643.517 0,
+ 1318711.493 508096.492 0))
+
+POLYGON ((1332456.633 520109.803 0, 1332157.32 520090.335 0, 1331856.604 520070.794 0, 1331555.887 520051.27 0, 1331255.169 520031.765 0, 1330954.449 520012.276 0, 1330653.729 519992.806 0, 1330353.007 519973.353 0, 1330052.284 519953.918 0, 1329751.56 519934.501 0,
+ 1329450.835 519915.101 0, 1329150.109 519895.719 0, 1328849.381 519876.355 0, 1328548.653 519857.008 0, 1328247.923 519837.679 0, 1327947.192 519818.368 0, 1327646.46 519799.075 0, 1327345.727 519779.799 0, 1327044.993 519760.541 0, 1326744.257 519741.301 0,
+ 1326443.521 519722.078 0, 1326142.783 519702.873 0, 1325842.044 519683.686 0, 1325541.305 519664.516 0, 1325239.16 519645.275 0, 1324939.821 519626.23 0, 1324639.078 519607.114 0, 1324338.334 519588.015 0, 1324037.588 519568.934 0, 1323736.842 519549.87 0,
+ 1323436.094 519530.825 0, 1323135.345 519511.797 0, 1322834.595 519492.787 0, 1322533.844 519473.794 0, 1322233.091 519454.819 0, 1321932.338 519435.862 0, 1321631.584 519416.923 0, 1321330.828 519398.001 0, 1321030.071 519379.097 0, 1320729.313 519360.21 0,
+ 1320428.555 519341.342 0, 1320127.795 519322.491 0, 1319827.033 519303.658 0, 1319526.271 519284.842 0, 1319225.508 519266.044 0, 1318924.743 519247.264 0, 1318623.978 519228.502 0, 1318323.211 519209.757 0, 1318021.039 519190.943 0, 1317675.774 524738.767 0,
+ 1317330.485 530286.987 0, 1317632.001 530305.76 0, 1317932.115 530324.465 0, 1318232.227 530343.186 0, 1318532.339 530361.926 0, 1318832.449 530380.683 0, 1319132.558 530399.457 0, 1319432.666 530418.25 0, 1319732.773 530437.06 0, 1320032.879 530455.887 0,
+ 1320332.984 530474.733 0, 1320633.087 530493.596 0, 1320933.19 530512.476 0, 1321233.291 530531.375 0, 1321533.392 530550.291 0, 1321833.491 530569.224 0, 1322133.589 530588.175 0, 1322433.686 530607.144 0, 1322733.782 530626.131 0, 1323033.876 530645.135 0,
+ 1323333.97 530664.157 0, 1323634.062 530683.197 0, 1323934.154 530702.254 0, 1324234.244 530721.329 0, 1324532.933 530740.333 0, 1324834.421 530759.532 0, 1325134.508 530778.66 0, 1325434.594 530797.806 0, 1325734.678 530816.969 0, 1326034.762 530836.15 0,
+ 1326334.844 530855.348 0, 1326634.925 530874.565 0, 1326935.006 530893.799 0, 1327235.085 530913.05 0, 1327535.162 530932.319 0, 1327835.239 530951.606 0, 1328135.315 530970.911 0, 1328435.389 530990.233 0, 1328735.462 531009.573 0, 1329035.534 531028.931 0,
+ 1329335.605 531048.306 0, 1329635.675 531067.699 0, 1329935.744 531087.109 0, 1330235.812 531106.537 0, 1330535.878 531125.983 0, 1330835.943 531145.447 0, 1331136.008 531164.928 0, 1331436.071 531184.427 0, 1331734.734 531203.852 0, 1332095.696 525656.63 0,
+ 1332456.633 520109.803 0))
+
+POLYGON ((1346136.334 532161.408 0, 1345837.725 532141.139 0, 1345537.718 532120.793 0, 1345237.71 532100.464 0, 1344937.701 532080.153 0, 1344637.691 532059.859 0, 1344337.679 532039.583 0, 1344037.667 532019.325 0, 1343737.653 531999.084 0, 1343437.638 531978.862 0,
+ 1343137.622 531958.656 0, 1342837.604 531938.469 0, 1342537.586 531918.299 0, 1342237.566 531898.147 0, 1341937.545 531878.012 0, 1341637.522 531857.895 0, 1341337.499 531837.796 0, 1341037.475 531817.714 0, 1340737.449 531797.65 0, 1340437.422 531777.604 0,
+ 1340137.394 531757.575 0, 1339837.365 531737.564 0, 1339537.334 531717.571 0, 1339237.302 531697.595 0, 1338935.872 531677.544 0, 1338637.236 531657.697 0, 1338337.2 531637.774 0, 1338037.164 531617.869 0, 1337737.127 531597.982 0, 1337437.088 531578.112 0,
+ 1337137.048 531558.26 0, 1336837.007 531538.426 0, 1336536.965 531518.609 0, 1336236.922 531498.81 0, 1335936.877 531479.029 0, 1335636.831 531459.265 0, 1335336.785 531439.519 0, 1335036.737 531419.79 0, 1334736.687 531400.08 0, 1334436.637 531380.386 0,
+ 1334136.586 531360.711 0, 1333836.533 531341.053 0, 1333536.479 531321.413 0, 1333236.424 531301.791 0, 1332936.368 531282.186 0, 1332636.311 531262.599 0, 1332336.253 531243.029 0, 1332036.193 531223.477 0, 1331734.734 531203.852 0, 1331373.745 536751.467 0,
+ 1331012.732 542299.47 0, 1331313.535 542319.053 0, 1331612.942 542338.562 0, 1331912.347 542358.089 0, 1332211.752 542377.633 0, 1332511.155 542397.196 0, 1332810.556 542416.775 0, 1333109.957 542436.373 0, 1333409.357 542455.988 0, 1333708.755 542475.62 0,
+ 1334008.152 542495.271 0, 1334307.549 542514.938 0, 1334606.944 542534.624 0, 1334906.337 542554.327 0, 1335205.73 542574.048 0, 1335505.121 542593.786 0, 1335804.512 542613.542 0, 1336103.901 542633.316 0, 1336403.289 542653.107 0, 1336702.676 542672.916 0,
+ 1337002.061 542692.742 0, 1337301.446 542712.586 0, 1337600.829 542732.448 0, 1337900.211 542752.327 0, 1338198.198 542772.132 0, 1338498.972 542792.139 0, 1338798.351 542812.071 0, 1339097.728 542832.021 0, 1339397.104 542851.988 0, 1339696.48 542871.973 0,
+ 1339995.853 542891.976 0, 1340295.226 542911.996 0, 1340594.598 542932.034 0, 1340893.968 542952.09 0, 1341193.337 542972.163 0, 1341492.705 542992.254 0, 1341792.072 543012.362 0, 1342091.438 543032.488 0, 1342390.802 543052.632 0, 1342690.166 543072.793 0,
+ 1342989.528 543092.972 0, 1343288.889 543113.168 0, 1343588.248 543133.382 0, 1343887.607 543153.614 0, 1344186.964 543173.863 0, 1344486.32 543194.13 0, 1344785.675 543214.415 0, 1345085.029 543234.717 0, 1345382.989 543254.942 0, 1345759.675 537707.981 0,
+ 1346136.334 532161.408 0))
+
+POLYGON ((1359750.488 544251.009 0, 1359452.585 544229.942 0, 1359153.29 544208.794 0, 1358853.993 544187.664 0, 1358554.696 544166.552 0, 1358255.397 544145.457 0, 1357956.096 544124.379 0, 1357656.795 544103.319 0, 1357357.492 544082.277 0, 1357058.188 544061.253 0,
+ 1356758.883 544040.246 0, 1356459.577 544019.256 0, 1356160.269 543998.285 0, 1355860.961 543977.331 0, 1355561.65 543956.394 0, 1355262.339 543935.475 0, 1354963.027 543914.574 0, 1354663.713 543893.691 0, 1354364.398 543872.825 0, 1354065.082 543851.976 0,
+ 1353765.764 543831.145 0, 1353466.445 543810.332 0, 1353167.126 543789.537 0, 1352867.804 543768.759 0, 1352567.09 543747.902 0, 1352269.159 543727.256 0, 1351969.834 543706.531 0, 1351670.508 543685.823 0, 1351371.181 543665.134 0, 1351071.852 543644.461 0,
+ 1350772.522 543623.807 0, 1350473.192 543603.17 0, 1350173.859 543582.551 0, 1349874.526 543561.949 0, 1349575.192 543541.365 0, 1349275.856 543520.798 0, 1348976.519 543500.249 0, 1348677.181 543479.718 0, 1348377.841 543459.204 0, 1348078.501 543438.708 0,
+ 1347779.159 543418.23 0, 1347479.816 543397.769 0, 1347180.472 543377.326 0, 1346881.127 543356.901 0, 1346581.78 543336.493 0, 1346282.432 543316.102 0, 1345983.083 543295.73 0, 1345683.733 543275.375 0, 1345382.989 543254.942 0, 1345006.276 548802.29 0,
+ 1344629.538 554350.02 0, 1344929.627 554370.408 0, 1345228.324 554390.718 0, 1345527.02 554411.047 0, 1345825.714 554431.393 0, 1346124.408 554451.756 0, 1346423.1 554472.137 0, 1346721.791 554492.535 0, 1347020.481 554512.952 0, 1347319.17 554533.385 0,
+ 1347617.858 554553.837 0, 1347916.544 554574.306 0, 1348215.229 554594.792 0, 1348513.913 554615.296 0, 1348812.596 554635.818 0, 1349111.277 554656.357 0, 1349409.958 554676.914 0, 1349708.637 554697.488 0, 1350007.315 554718.08 0, 1350305.991 554738.69 0,
+ 1350604.667 554759.317 0, 1350903.341 554779.961 0, 1351202.014 554800.624 0, 1351500.686 554821.303 0, 1351797.968 554841.905 0, 1352098.026 554862.716 0, 1352396.694 554883.448 0, 1352695.361 554904.199 0, 1352994.027 554924.966 0, 1353292.691 554945.752 0,
+ 1353591.354 554966.555 0, 1353890.016 554987.375 0, 1354188.677 555008.213 0, 1354487.337 555029.069 0, 1354785.995 555049.942 0, 1355084.652 555070.833 0, 1355383.308 555091.741 0, 1355681.963 555112.667 0, 1355980.616 555133.611 0, 1356279.269 555154.572 0,
+ 1356577.92 555175.55 0, 1356876.569 555196.547 0, 1357175.218 555217.56 0, 1357473.865 555238.592 0, 1357772.511 555259.641 0, 1358071.156 555280.707 0, 1358369.799 555301.791 0, 1358668.442 555322.893 0, 1358965.695 555343.914 0, 1359358.105 549797.271 0,
+ 1359750.488 544251.009 0))
+
+POLYGON ((1373298.987 556378.307 0, 1373001.792 556356.446 0, 1372703.21 556334.5 0, 1372404.628 556312.573 0, 1372106.044 556290.662 0, 1371807.458 556268.77 0, 1371508.872 556246.895 0, 1371210.284 556225.037 0, 1370911.694 556203.197 0, 1370613.104 556181.375 0,
+ 1370314.512 556159.57 0, 1370015.919 556137.783 0, 1369717.325 556116.013 0, 1369418.729 556094.261 0, 1369120.132 556072.527 0, 1368821.534 556050.81 0, 1368522.934 556029.111 0, 1368224.334 556007.429 0, 1367925.732 555985.765 0, 1367627.128 555964.118 0,
+ 1367328.524 555942.489 0, 1367029.918 555920.878 0, 1366731.311 555899.284 0, 1366432.702 555877.707 0, 1366132.706 555856.049 0, 1365835.482 555834.608 0, 1365536.87 555813.084 0, 1365238.256 555791.578 0, 1364939.641 555770.09 0, 1364641.025 555748.619 0,
+ 1364342.408 555727.166 0, 1364043.79 555705.73 0, 1363745.17 555684.312 0, 1363446.549 555662.911 0, 1363147.927 555641.528 0, 1362849.303 555620.163 0, 1362550.678 555598.815 0, 1362252.052 555577.485 0, 1361953.425 555556.172 0, 1361654.796 555534.877 0,
+ 1361356.166 555513.6 0, 1361057.535 555492.34 0, 1360758.903 555471.097 0, 1360460.269 555449.873 0, 1360161.635 555428.665 0, 1359862.998 555407.476 0, 1359564.361 555386.304 0, 1359265.723 555365.149 0, 1358965.695 555343.914 0, 1358573.258 560890.938 0,
+ 1358180.795 566438.338 0, 1358480.166 566459.526 0, 1358778.152 566480.635 0, 1359076.136 566501.76 0, 1359374.119 566522.904 0, 1359672.101 566544.064 0, 1359970.081 566565.243 0, 1360268.061 566586.439 0, 1360566.039 566607.652 0, 1360864.016 566628.883 0,
+ 1361161.991 566650.132 0, 1361459.966 566671.398 0, 1361757.939 566692.681 0, 1362055.911 566713.982 0, 1362353.881 566735.301 0, 1362651.851 566756.637 0, 1362949.819 566777.991 0, 1363247.786 566799.362 0, 1363545.751 566820.751 0, 1363843.715 566842.157 0,
+ 1364141.678 566863.581 0, 1364439.64 566885.023 0, 1364737.601 566906.482 0, 1365035.56 566927.958 0, 1365332.135 566949.352 0, 1365631.475 566970.964 0, 1365929.43 566992.493 0, 1366227.384 567014.04 0, 1366525.337 567035.604 0, 1366823.289 567057.185 0,
+ 1367121.239 567078.785 0, 1367419.189 567100.401 0, 1367717.136 567122.036 0, 1368015.083 567143.688 0, 1368313.028 567165.357 0, 1368610.972 567187.044 0, 1368908.915 567208.749 0, 1369206.856 567230.471 0, 1369504.797 567252.21 0, 1369802.736 567273.967 0,
+ 1370100.673 567295.742 0, 1370398.61 567317.534 0, 1370696.545 567339.344 0, 1370994.478 567361.171 0, 1371292.411 567383.016 0, 1371590.342 567404.878 0, 1371888.272 567426.758 0, 1372186.201 567448.655 0, 1372482.746 567470.468 0, 1372890.88 561924.199 0,
+ 1373298.987 556378.307 0))
+
+POLYGON ((1386781.724 568543 0, 1386485.239 568520.349 0, 1386187.374 568497.61 0, 1385889.507 568474.889 0, 1385591.639 568452.185 0, 1385293.769 568429.499 0, 1384995.898 568406.83 0, 1384698.026 568384.178 0, 1384400.152 568361.545 0, 1384102.277 568338.928 0,
+ 1383804.401 568316.33 0, 1383506.524 568293.748 0, 1383208.645 568271.185 0, 1382910.764 568248.639 0, 1382612.883 568226.11 0, 1382315 568203.599 0, 1382017.116 568181.105 0, 1381719.23 568158.629 0, 1381421.343 568136.171 0, 1381123.455 568113.73 0,
+ 1380825.566 568091.307 0, 1380527.675 568068.901 0, 1380229.783 568046.512 0, 1379931.889 568024.142 0, 1379632.614 568001.685 0, 1379336.098 567979.453 0, 1379038.201 567957.134 0, 1378740.302 567934.834 0, 1378442.402 567912.551 0, 1378144.501 567890.285 0,
+ 1377846.598 567868.037 0, 1377548.694 567845.806 0, 1377250.789 567823.593 0, 1376952.883 567801.398 0, 1376654.975 567779.22 0, 1376357.066 567757.06 0, 1376059.155 567734.917 0, 1375761.243 567712.791 0, 1375463.33 567690.684 0, 1375165.416 567668.593 0,
+ 1374867.5 567646.521 0, 1374569.583 567624.465 0, 1374271.665 567602.428 0, 1373973.745 567580.408 0, 1373675.824 567558.405 0, 1373377.902 567536.42 0, 1373079.979 567514.452 0, 1372782.054 567492.503 0, 1372482.746 567470.468 0, 1372074.584 573017.111 0,
+ 1371666.395 578564.123 0, 1371965.047 578586.109 0, 1372262.319 578608.011 0, 1372559.589 578629.93 0, 1372856.858 578651.867 0, 1373154.126 578673.821 0, 1373451.393 578695.793 0, 1373748.658 578717.783 0, 1374045.922 578739.79 0, 1374343.185 578761.814 0,
+ 1374640.447 578783.856 0, 1374937.707 578805.915 0, 1375234.966 578827.992 0, 1375532.223 578850.086 0, 1375829.48 578872.198 0, 1376126.735 578894.327 0, 1376423.988 578916.474 0, 1376721.241 578938.639 0, 1377018.492 578960.82 0, 1377315.741 578983.02 0,
+ 1377612.99 579005.236 0, 1377910.237 579027.471 0, 1378207.483 579049.723 0, 1378504.727 579071.992 0, 1378800.593 579094.175 0, 1379099.212 579116.583 0, 1379396.453 579138.905 0, 1379693.692 579161.244 0, 1379990.93 579183.601 0, 1380288.167 579205.975 0,
+ 1380585.402 579228.367 0, 1380882.636 579250.776 0, 1381179.869 579273.203 0, 1381477.1 579295.647 0, 1381774.33 579318.109 0, 1382071.559 579340.588 0, 1382368.786 579363.085 0, 1382666.012 579385.599 0, 1382963.237 579408.131 0, 1383260.46 579430.68 0,
+ 1383557.683 579453.246 0, 1383854.903 579475.831 0, 1384152.123 579498.432 0, 1384449.341 579521.052 0, 1384746.558 579543.688 0, 1385043.773 579566.342 0, 1385340.987 579589.014 0, 1385638.2 579611.703 0, 1385934.035 579634.305 0, 1386357.894 574088.467 0,
+ 1386781.724 568543 0))
+
+POLYGON ((1400198.594 580744.79 0, 1399902.822 580721.353 0, 1399605.675 580697.824 0, 1399308.526 580674.313 0, 1399011.376 580650.819 0, 1398714.224 580627.343 0, 1398417.071 580603.884 0, 1398119.917 580580.443 0, 1397822.761 580557.019 0, 1397525.604 580533.613 0,
+ 1397228.445 580510.224 0, 1396931.285 580486.853 0, 1396634.124 580463.499 0, 1396336.961 580440.163 0, 1396039.797 580416.844 0, 1395742.632 580393.542 0, 1395445.465 580370.258 0, 1395148.297 580346.992 0, 1394851.128 580323.743 0, 1394553.957 580300.512 0,
+ 1394256.785 580277.298 0, 1393959.611 580254.101 0, 1393662.436 580230.922 0, 1393365.26 580207.761 0, 1393066.707 580184.51 0, 1392770.903 580161.491 0, 1392473.722 580138.382 0, 1392176.541 580115.29 0, 1391879.358 580092.216 0, 1391582.173 580069.16 0,
+ 1391284.987 580046.121 0, 1390987.8 580023.099 0, 1390690.611 580000.095 0, 1390393.422 579977.109 0, 1390096.23 579954.14 0, 1389799.038 579931.188 0, 1389501.844 579908.254 0, 1389204.648 579885.337 0, 1388907.452 579862.438 0, 1388610.254 579839.557 0,
+ 1388313.054 579816.693 0, 1388015.854 579793.846 0, 1387718.652 579771.017 0, 1387421.448 579748.205 0, 1387124.244 579725.411 0, 1386827.037 579702.635 0, 1386529.83 579679.876 0, 1386232.621 579657.134 0, 1385934.035 579634.305 0, 1385510.148 585180.509 0,
+ 1385086.233 590727.076 0, 1385384.164 590749.856 0, 1385680.72 590772.547 0, 1385977.274 590795.256 0, 1386273.827 590817.983 0, 1386570.379 590840.727 0, 1386866.93 590863.488 0, 1387163.479 590886.267 0, 1387460.027 590909.064 0, 1387756.573 590931.878 0,
+ 1388053.118 590954.709 0, 1388349.662 590977.558 0, 1388646.205 591000.424 0, 1388942.746 591023.308 0, 1389239.285 591046.209 0, 1389535.824 591069.127 0, 1389832.361 591092.063 0, 1390128.897 591115.017 0, 1390425.431 591137.988 0, 1390721.964 591160.976 0,
+ 1391018.496 591183.982 0, 1391315.026 591207.005 0, 1391611.555 591230.046 0, 1391908.082 591253.104 0, 1392203.237 591276.073 0, 1392501.133 591299.273 0, 1392797.657 591322.384 0, 1393094.179 591345.512 0, 1393390.7 591368.657 0, 1393687.219 591391.82 0,
+ 1393983.737 591415 0, 1394280.254 591438.198 0, 1394576.769 591461.413 0, 1394873.283 591484.646 0, 1395169.796 591507.896 0, 1395466.307 591531.164 0, 1395762.817 591554.449 0, 1396059.325 591577.752 0, 1396355.833 591601.072 0, 1396652.338 591624.409 0,
+ 1396948.843 591647.764 0, 1397245.346 591671.136 0, 1397541.847 591694.526 0, 1397838.348 591717.933 0, 1398134.846 591741.358 0, 1398431.344 591764.8 0, 1398727.84 591788.26 0, 1399024.335 591811.737 0, 1399319.457 591835.123 0, 1399759.04 586289.775 0,
+ 1400198.594 580744.79 0))
+
+POLYGON ((1413549.494 592983.376 0, 1413254.436 592959.156 0, 1412958.009 592934.842 0, 1412661.58 592910.545 0, 1412365.15 592886.265 0, 1412068.719 592862.003 0, 1411772.286 592837.758 0, 1411475.852 592813.53 0, 1411179.416 592789.321 0, 1410882.979 592765.128 0,
+ 1410586.54 592740.953 0, 1410290.1 592716.795 0, 1409993.659 592692.655 0, 1409697.216 592668.533 0, 1409400.771 592644.427 0, 1409104.326 592620.34 0, 1408807.879 592596.269 0, 1408511.43 592572.216 0, 1408214.98 592548.181 0, 1407918.529 592524.163 0,
+ 1407622.076 592500.162 0, 1407325.622 592476.179 0, 1407029.166 592452.214 0, 1406732.709 592428.265 0, 1406434.881 592404.224 0, 1406139.791 592380.421 0, 1405843.329 592356.525 0, 1405546.867 592332.647 0, 1405250.403 592308.786 0, 1404953.937 592284.943 0,
+ 1404657.47 592261.117 0, 1404361.002 592237.308 0, 1404064.532 592213.517 0, 1403768.061 592189.743 0, 1403471.589 592165.987 0, 1403175.115 592142.248 0, 1402878.64 592118.527 0, 1402582.163 592094.823 0, 1402285.685 592071.136 0, 1401989.206 592047.467 0,
+ 1401692.725 592023.816 0, 1401396.242 592000.182 0, 1401099.759 591976.565 0, 1400803.274 591952.966 0, 1400506.787 591929.384 0, 1400210.3 591905.82 0, 1399913.81 591882.273 0, 1399617.32 591858.743 0, 1399319.457 591835.123 0, 1398879.846 597380.831 0,
+ 1398440.206 602926.897 0, 1398737.412 602950.465 0, 1399033.25 602973.943 0, 1399329.087 602997.438 0, 1399624.922 603020.95 0, 1399920.755 603044.48 0, 1400216.587 603068.028 0, 1400512.418 603091.592 0, 1400808.247 603115.174 0, 1401104.076 603138.774 0,
+ 1401399.902 603162.391 0, 1401695.727 603186.025 0, 1401991.551 603209.677 0, 1402287.374 603233.346 0, 1402583.195 603257.032 0, 1402879.014 603280.736 0, 1403174.833 603304.458 0, 1403470.65 603328.196 0, 1403766.465 603351.953 0, 1404062.279 603375.726 0,
+ 1404358.092 603399.517 0, 1404653.903 603423.326 0, 1404949.713 603447.151 0, 1405245.522 603470.995 0, 1405539.962 603494.745 0, 1405837.134 603518.733 0, 1406132.939 603542.629 0, 1406428.741 603566.542 0, 1406724.543 603590.472 0, 1407020.343 603614.42 0,
+ 1407316.142 603638.385 0, 1407611.939 603662.367 0, 1407907.735 603686.367 0, 1408203.529 603710.385 0, 1408499.322 603734.419 0, 1408795.114 603758.472 0, 1409090.904 603782.541 0, 1409386.692 603806.628 0, 1409682.48 603830.733 0, 1409978.266 603854.854 0,
+ 1410274.05 603878.994 0, 1410569.833 603903.15 0, 1410865.615 603927.324 0, 1411161.395 603951.516 0, 1411457.174 603975.725 0, 1411752.951 603999.951 0, 1412048.727 604024.194 0, 1412344.502 604048.456 0, 1412638.91 604072.622 0, 1413094.216 598527.82 0,
+ 1413549.494 592983.376 0))
+
+POLYGON ((1426834.32 605258.456 0, 1426539.979 605233.458 0, 1426244.274 605208.361 0, 1425948.568 605183.282 0, 1425652.86 605158.221 0, 1425357.151 605133.176 0, 1425061.44 605108.149 0, 1424765.728 605083.14 0, 1424470.015 605058.147 0, 1424174.3 605033.173 0,
+ 1423878.583 605008.215 0, 1423582.865 604983.275 0, 1423287.145 604958.353 0, 1422991.425 604933.448 0, 1422695.702 604908.56 0, 1422399.978 604883.69 0, 1422104.253 604858.837 0, 1421808.526 604834.001 0, 1421512.798 604809.183 0, 1421217.068 604784.382 0,
+ 1420921.337 604759.599 0, 1420625.604 604734.833 0, 1420329.87 604710.085 0, 1420034.134 604685.354 0, 1419737.033 604660.526 0, 1419442.659 604635.944 0, 1419146.919 604611.265 0, 1418851.178 604586.603 0, 1418555.435 604561.959 0, 1418259.69 604537.333 0,
+ 1417963.945 604512.723 0, 1417668.197 604488.132 0, 1417372.449 604463.557 0, 1417076.699 604439 0, 1416780.947 604414.461 0, 1416485.194 604389.938 0, 1416189.44 604365.434 0, 1415893.684 604340.946 0, 1415597.927 604316.476 0, 1415302.168 604292.024 0,
+ 1415006.408 604267.589 0, 1414710.646 604243.171 0, 1414414.883 604218.77 0, 1414119.119 604194.388 0, 1413823.353 604170.022 0, 1413527.585 604145.674 0, 1413231.817 604121.343 0, 1412936.046 604097.03 0, 1412638.91 604072.622 0, 1412183.574 609617.777 0,
+ 1411728.209 615163.284 0, 1412024.69 615187.638 0, 1412319.807 615211.897 0, 1412614.923 615236.174 0, 1412910.038 615260.469 0, 1413205.151 615284.781 0, 1413500.263 615309.11 0, 1413795.373 615333.456 0, 1414090.482 615357.82 0, 1414385.589 615382.201 0,
+ 1414680.695 615406.6 0, 1414975.8 615431.016 0, 1415270.903 615455.449 0, 1415566.005 615479.9 0, 1415861.105 615504.368 0, 1416156.204 615528.853 0, 1416451.301 615553.356 0, 1416746.397 615577.876 0, 1417041.492 615602.414 0, 1417336.585 615626.969 0,
+ 1417631.676 615651.541 0, 1417926.766 615676.131 0, 1418221.855 615700.738 0, 1418516.942 615725.362 0, 1418810.667 615749.89 0, 1419107.112 615774.663 0, 1419402.195 615799.34 0, 1419697.277 615824.033 0, 1419992.357 615848.745 0, 1420287.435 615873.473 0,
+ 1420582.512 615898.219 0, 1420877.588 615922.983 0, 1421172.662 615947.763 0, 1421467.735 615972.561 0, 1421762.806 615997.377 0, 1422057.876 616022.21 0, 1422352.944 616047.06 0, 1422648.011 616071.927 0, 1422943.076 616096.812 0, 1423238.14 616121.714 0,
+ 1423533.203 616146.634 0, 1423828.264 616171.571 0, 1424123.323 616196.525 0, 1424418.381 616221.497 0, 1424713.438 616246.486 0, 1425008.493 616271.493 0, 1425303.547 616296.517 0, 1425598.599 616321.558 0, 1425892.29 616346.501 0, 1426363.32 610802.303 0,
+ 1426834.32 605258.456 0))
+
+POLYGON ((1440052.971 617569.729 0, 1439759.35 617543.957 0, 1439464.369 617518.082 0, 1439169.388 617492.225 0, 1438874.404 617466.385 0, 1438579.42 617440.562 0, 1438284.433 617414.757 0, 1437989.445 617388.969 0, 1437694.456 617363.198 0, 1437399.465 617337.445 0,
+ 1437104.473 617311.71 0, 1436809.479 617285.991 0, 1436514.483 617260.29 0, 1436219.487 617234.606 0, 1435924.488 617208.94 0, 1435629.488 617183.291 0, 1435334.487 617157.659 0, 1435039.484 617132.045 0, 1434744.479 617106.448 0, 1434449.473 617080.869 0,
+ 1434154.466 617055.307 0, 1433859.457 617029.762 0, 1433564.446 617004.234 0, 1433269.434 616978.724 0, 1432973.063 616953.114 0, 1432679.406 616927.756 0, 1432384.389 616902.298 0, 1432089.371 616876.858 0, 1431794.352 616851.435 0, 1431499.331 616826.029 0,
+ 1431204.308 616800.64 0, 1430909.284 616775.269 0, 1430614.259 616749.915 0, 1430319.232 616724.579 0, 1430024.204 616699.26 0, 1429729.174 616673.958 0, 1429434.142 616648.674 0, 1429139.109 616623.407 0, 1428844.075 616598.157 0, 1428549.039 616572.925 0,
+ 1428254.002 616547.71 0, 1427958.963 616522.513 0, 1427663.922 616497.332 0, 1427368.881 616472.17 0, 1427073.837 616447.024 0, 1426778.793 616421.896 0, 1426483.746 616396.786 0, 1426188.699 616371.692 0, 1425892.29 616346.501 0, 1425421.23 621891.046 0,
+ 1424950.142 627435.935 0, 1425245.895 627461.071 0, 1425540.29 627486.109 0, 1425834.683 627511.164 0, 1426129.075 627536.236 0, 1426423.466 627561.326 0, 1426717.855 627586.433 0, 1427012.243 627611.558 0, 1427306.629 627636.699 0, 1427601.014 627661.859 0,
+ 1427895.397 627687.035 0, 1428189.779 627712.229 0, 1428484.159 627737.44 0, 1428778.538 627762.668 0, 1429072.915 627787.914 0, 1429367.291 627813.177 0, 1429661.665 627838.457 0, 1429956.038 627863.755 0, 1430250.409 627889.07 0, 1430544.779 627914.402 0,
+ 1430839.147 627939.752 0, 1431133.514 627965.119 0, 1431427.879 627990.503 0, 1431722.243 628015.905 0, 1432015.25 628041.207 0, 1432310.967 628066.76 0, 1432605.326 628092.214 0, 1432899.684 628117.685 0, 1433194.04 628143.173 0, 1433488.395 628168.679 0,
+ 1433782.748 628194.202 0, 1434077.1 628219.742 0, 1434371.451 628245.299 0, 1434665.8 628270.874 0, 1434960.147 628296.467 0, 1435254.493 628322.076 0, 1435548.837 628347.703 0, 1435843.18 628373.347 0, 1436137.521 628399.009 0, 1436431.861 628424.688 0,
+ 1436726.199 628450.384 0, 1437020.536 628476.097 0, 1437314.871 628501.828 0, 1437609.205 628527.576 0, 1437903.537 628553.342 0, 1438197.868 628579.124 0, 1438492.197 628604.925 0, 1438786.525 628630.742 0, 1439079.497 628656.458 0, 1439566.249 623112.922 0,
+ 1440052.971 617569.729 0))
+
+POLYGON ((1453205.348 629916.894 0, 1452912.448 629890.35 0, 1452618.194 629863.701 0, 1452323.939 629837.07 0, 1452029.682 629810.455 0, 1451735.424 629783.858 0, 1451441.164 629757.279 0, 1451146.903 629730.717 0, 1450852.64 629704.172 0, 1450558.375 629677.644 0,
+ 1450264.109 629651.134 0, 1449969.841 629624.641 0, 1449675.572 629598.165 0, 1449381.301 629571.707 0, 1449087.029 629545.266 0, 1448792.755 629518.842 0, 1448498.48 629492.436 0, 1448204.203 629466.046 0, 1447909.924 629439.675 0, 1447615.644 629413.32 0,
+ 1447321.363 629386.983 0, 1447027.079 629360.663 0, 1446732.795 629334.361 0, 1446438.508 629308.076 0, 1446142.868 629281.687 0, 1445849.931 629255.557 0, 1445555.64 629229.324 0, 1445261.348 629203.108 0, 1444967.054 629176.91 0, 1444672.758 629150.729 0,
+ 1444378.461 629124.565 0, 1444084.162 629098.418 0, 1443789.862 629072.289 0, 1443495.561 629046.177 0, 1443201.257 629020.082 0, 1442906.953 628994.005 0, 1442612.646 628967.945 0, 1442318.338 628941.903 0, 1442024.029 628915.877 0, 1441729.718 628889.869 0,
+ 1441435.406 628863.879 0, 1441141.092 628837.905 0, 1440846.776 628811.949 0, 1440552.459 628786.01 0, 1440258.141 628760.089 0, 1439963.821 628734.185 0, 1439669.499 628708.298 0, 1439375.176 628682.429 0, 1439079.497 628656.458 0, 1438592.715 634200.335 0,
+ 1438105.903 639744.55 0, 1438400.926 639770.463 0, 1438694.597 639796.275 0, 1438988.266 639822.105 0, 1439281.933 639847.951 0, 1439575.599 639873.815 0, 1439869.264 639899.696 0, 1440162.927 639925.595 0, 1440456.588 639951.511 0, 1440750.248 639977.444 0,
+ 1441043.906 640003.394 0, 1441337.563 640029.362 0, 1441631.218 640055.347 0, 1441924.872 640081.349 0, 1442218.524 640107.368 0, 1442512.175 640133.405 0, 1442805.824 640159.459 0, 1443099.472 640185.53 0, 1443393.118 640211.619 0, 1443686.762 640237.725 0,
+ 1443980.405 640263.848 0, 1444274.047 640289.988 0, 1444567.687 640316.146 0, 1444861.325 640342.321 0, 1445153.612 640368.393 0, 1445448.597 640394.723 0, 1445742.231 640420.95 0, 1446035.863 640447.194 0, 1446329.494 640473.455 0, 1446623.123 640499.734 0,
+ 1446916.75 640526.03 0, 1447210.376 640552.343 0, 1447504.001 640578.674 0, 1447797.624 640605.022 0, 1448091.245 640631.387 0, 1448384.865 640657.769 0, 1448678.483 640684.169 0, 1448972.1 640710.586 0, 1449265.715 640737.02 0, 1449559.329 640763.472 0,
+ 1449852.941 640789.941 0, 1450146.551 640816.427 0, 1450440.16 640842.93 0, 1450733.767 640869.451 0, 1451027.373 640895.989 0, 1451320.978 640922.544 0, 1451614.58 640949.116 0, 1451908.181 640975.706 0, 1452200.432 641002.191 0, 1452702.906 635459.374 0,
+ 1453205.348 629916.894 0))
+
+POLYGON ((1466291.352 642299.646 0, 1465999.175 642272.336 0, 1465705.65 642244.917 0, 1465412.124 642217.515 0, 1465118.595 642190.13 0, 1464825.066 642162.763 0, 1464531.535 642135.413 0, 1464238.002 642108.08 0, 1463944.467 642080.765 0, 1463650.931 642053.466 0,
+ 1463357.393 642026.185 0, 1463063.854 641998.922 0, 1462770.313 641971.675 0, 1462476.771 641944.446 0, 1462183.227 641917.235 0, 1461889.681 641890.04 0, 1461596.134 641862.863 0, 1461302.585 641835.703 0, 1461009.034 641808.56 0, 1460715.482 641781.435 0,
+ 1460421.928 641754.326 0, 1460128.373 641727.236 0, 1459834.816 641700.162 0, 1459541.258 641673.106 0, 1459246.351 641645.943 0, 1458954.136 641619.045 0, 1458660.573 641592.04 0, 1458367.008 641565.053 0, 1458073.441 641538.083 0, 1457779.873 641511.13 0,
+ 1457486.304 641484.195 0, 1457192.733 641457.277 0, 1456899.16 641430.376 0, 1456605.585 641403.493 0, 1456312.01 641376.626 0, 1456018.432 641349.777 0, 1455724.853 641322.946 0, 1455431.272 641296.131 0, 1455137.69 641269.334 0, 1454844.106 641242.554 0,
+ 1454550.521 641215.792 0, 1454256.934 641189.046 0, 1453963.345 641162.318 0, 1453669.755 641135.608 0, 1453376.163 641108.914 0, 1453082.57 641082.238 0, 1452788.975 641055.579 0, 1452495.379 641028.938 0, 1452200.432 641002.191 0, 1451697.929 646545.343 0,
+ 1451195.395 652088.825 0, 1451489.686 652115.513 0, 1451782.63 652142.095 0, 1452075.572 652168.695 0, 1452368.513 652195.312 0, 1452661.452 652221.946 0, 1452954.39 652248.597 0, 1453247.326 652275.266 0, 1453540.26 652301.952 0, 1453833.193 652328.655 0,
+ 1454126.125 652355.375 0, 1454419.054 652382.113 0, 1454711.983 652408.867 0, 1455004.909 652435.639 0, 1455297.834 652462.429 0, 1455590.758 652489.235 0, 1455883.68 652516.059 0, 1456176.6 652542.9 0, 1456469.519 652569.758 0, 1456762.436 652596.634 0,
+ 1457055.351 652623.527 0, 1457348.265 652650.437 0, 1457641.178 652677.364 0, 1457934.088 652704.308 0, 1458225.654 652731.146 0, 1458519.905 652758.249 0, 1458812.811 652785.245 0, 1459105.716 652812.259 0, 1459398.619 652839.289 0, 1459691.52 652866.337 0,
+ 1459984.42 652893.402 0, 1460277.318 652920.485 0, 1460570.214 652947.584 0, 1460863.109 652974.701 0, 1461156.002 653001.835 0, 1461448.894 653028.987 0, 1461741.784 653056.155 0, 1462034.673 653083.341 0, 1462327.559 653110.544 0, 1462620.445 653137.764 0,
+ 1462913.328 653165.002 0, 1463206.211 653192.257 0, 1463499.091 653219.529 0, 1463791.97 653246.818 0, 1464084.847 653274.125 0, 1464377.723 653301.448 0, 1464670.597 653328.789 0, 1464963.469 653356.147 0, 1465254.997 653383.397 0, 1465773.19 647841.356 0,
+ 1466291.352 642299.646 0))
+
+POLYGON ((1479310.886 654717.685 0, 1479019.434 654689.611 0, 1478726.64 654661.426 0, 1478433.844 654633.258 0, 1478141.047 654605.106 0, 1477848.248 654576.973 0, 1477555.447 654548.856 0, 1477262.645 654520.757 0, 1476969.841 654492.675 0, 1476677.036 654464.61 0,
+ 1476384.228 654436.562 0, 1476091.419 654408.532 0, 1475798.609 654380.519 0, 1475505.797 654352.523 0, 1475212.983 654324.544 0, 1474920.167 654296.582 0, 1474627.35 654268.638 0, 1474334.532 654240.711 0, 1474041.711 654212.801 0, 1473748.889 654184.909 0,
+ 1473456.065 654157.034 0, 1473163.24 654129.175 0, 1472870.413 654101.335 0, 1472577.585 654073.511 0, 1472283.413 654045.577 0, 1471991.922 654017.916 0, 1471699.089 653990.144 0, 1471406.254 653962.389 0, 1471113.417 653934.652 0, 1470820.579 653906.931 0,
+ 1470527.739 653879.228 0, 1470234.897 653851.543 0, 1469942.054 653823.874 0, 1469649.209 653796.223 0, 1469356.362 653768.589 0, 1469063.514 653740.972 0, 1468770.664 653713.373 0, 1468477.813 653685.79 0, 1468184.96 653658.225 0, 1467892.105 653630.678 0,
+ 1467599.249 653603.147 0, 1467306.391 653575.634 0, 1467013.531 653548.138 0, 1466720.67 653520.659 0, 1466427.807 653493.197 0, 1466134.943 653465.753 0, 1465842.077 653438.325 0, 1465549.209 653410.916 0, 1465254.997 653383.397 0, 1464736.774 658925.766 0,
+ 1464218.52 664468.459 0, 1464512.077 664495.916 0, 1464804.292 664523.265 0, 1465096.505 664550.631 0, 1465388.717 664578.014 0, 1465680.928 664605.415 0, 1465973.136 664632.832 0, 1466265.343 664660.267 0, 1466557.549 664687.719 0, 1466849.753 664715.188 0,
+ 1467141.955 664742.675 0, 1467434.156 664770.178 0, 1467726.355 664797.699 0, 1468018.552 664825.237 0, 1468310.748 664852.793 0, 1468602.942 664880.365 0, 1468895.135 664907.955 0, 1469187.326 664935.562 0, 1469479.515 664963.186 0, 1469771.703 664990.827 0,
+ 1470063.889 665018.485 0, 1470356.073 665046.161 0, 1470648.256 665073.854 0, 1470940.437 665101.564 0, 1471231.278 665129.164 0, 1471524.794 665157.035 0, 1471816.971 665184.797 0, 1472109.145 665212.576 0, 1472401.318 665240.372 0, 1472693.489 665268.185 0,
+ 1472985.659 665296.015 0, 1473277.827 665323.863 0, 1473569.994 665351.728 0, 1473862.158 665379.61 0, 1474154.322 665407.509 0, 1474446.483 665435.425 0, 1474738.643 665463.359 0, 1475030.801 665491.31 0, 1475322.958 665519.278 0, 1475615.113 665547.263 0,
+ 1475907.266 665575.265 0, 1476199.417 665603.285 0, 1476491.567 665631.321 0, 1476783.716 665659.375 0, 1477075.862 665687.446 0, 1477368.007 665715.535 0, 1477660.151 665743.64 0, 1477952.293 665771.763 0, 1478243.095 665799.774 0, 1478777.006 660258.567 0,
+ 1479310.886 654717.685 0))
+
+POLYGON ((1492263.854 667170.706 0, 1491973.129 667141.873 0, 1491681.068 667112.925 0, 1491389.005 667083.994 0, 1491096.94 667055.081 0, 1490804.874 667026.184 0, 1490512.806 666997.305 0, 1490220.737 666968.443 0, 1489928.665 666939.598 0, 1489636.592 666910.771 0,
+ 1489344.518 666881.96 0, 1489052.441 666853.167 0, 1488760.363 666824.391 0, 1488468.283 666795.632 0, 1488176.202 666766.89 0, 1487884.119 666738.166 0, 1487592.034 666709.459 0, 1487299.947 666680.769 0, 1487007.859 666652.096 0, 1486715.769 666623.44 0,
+ 1486423.678 666594.801 0, 1486131.584 666566.18 0, 1485839.489 666537.576 0, 1485547.393 666508.989 0, 1485253.959 666480.289 0, 1484963.194 666451.867 0, 1484671.093 666423.331 0, 1484378.989 666394.813 0, 1484086.884 666366.312 0, 1483794.778 666337.828 0,
+ 1483502.669 666309.362 0, 1483210.559 666280.912 0, 1482918.447 666252.48 0, 1482626.334 666224.065 0, 1482334.219 666195.667 0, 1482042.102 666167.287 0, 1481749.984 666138.923 0, 1481457.864 666110.577 0, 1481165.742 666082.248 0, 1480873.618 666053.936 0,
+ 1480581.493 666025.641 0, 1480289.367 665997.364 0, 1479997.238 665969.104 0, 1479705.108 665940.86 0, 1479412.976 665912.635 0, 1479120.843 665884.426 0, 1478828.708 665856.234 0, 1478536.571 665828.06 0, 1478243.095 665799.774 0, 1477709.154 671341.302 0,
+ 1477175.181 676883.147 0, 1477468.001 676911.37 0, 1477759.486 676939.482 0, 1478050.969 676967.61 0, 1478342.45 676995.756 0, 1478633.929 677023.919 0, 1478925.407 677052.099 0, 1479216.883 677080.296 0, 1479508.357 677108.51 0, 1479799.83 677136.742 0,
+ 1480091.301 677164.99 0, 1480382.771 677193.256 0, 1480674.239 677221.539 0, 1480965.705 677249.839 0, 1481257.169 677278.156 0, 1481548.632 677306.491 0, 1481840.093 677334.842 0, 1482131.553 677363.211 0, 1482423.01 677391.597 0, 1482714.467 677420 0,
+ 1483005.921 677448.42 0, 1483297.374 677476.858 0, 1483588.825 677505.312 0, 1483880.274 677533.784 0, 1484170.389 677562.142 0, 1484463.168 677590.779 0, 1484754.613 677619.302 0, 1485046.055 677647.842 0, 1485337.496 677676.399 0, 1485628.936 677704.974 0,
+ 1485920.373 677733.566 0, 1486211.809 677762.175 0, 1486503.244 677790.801 0, 1486794.676 677819.444 0, 1487086.107 677848.104 0, 1487377.536 677876.782 0, 1487668.964 677905.476 0, 1487960.39 677934.188 0, 1488251.814 677962.917 0, 1488543.237 677991.663 0,
+ 1488834.657 678020.426 0, 1489126.076 678049.207 0, 1489417.494 678078.004 0, 1489708.91 678106.819 0, 1490000.324 678135.651 0, 1490291.736 678164.5 0, 1490583.146 678193.366 0, 1490874.555 678222.25 0, 1491164.631 678251.018 0, 1491714.258 672710.703 0,
+ 1492263.854 667170.706 0))
+
+POLYGON ((1505150.161 679658.406 0, 1504860.165 679628.818 0, 1504568.839 679599.111 0, 1504277.511 679569.422 0, 1503986.181 679539.75 0, 1503694.85 679510.095 0, 1503403.517 679480.457 0, 1503112.182 679450.836 0, 1502820.845 679421.232 0, 1502529.507 679391.646 0,
+ 1502238.167 679362.077 0, 1501946.825 679332.524 0, 1501655.481 679302.989 0, 1501364.136 679273.471 0, 1501072.789 679243.971 0, 1500781.44 679214.487 0, 1500490.09 679185.021 0, 1500198.737 679155.571 0, 1499907.383 679126.139 0, 1499616.028 679096.724 0,
+ 1499324.67 679067.327 0, 1499033.311 679037.946 0, 1498741.95 679008.582 0, 1498450.587 678979.236 0, 1498157.893 678949.773 0, 1497867.857 678920.595 0, 1497576.489 678891.3 0, 1497285.12 678862.022 0, 1496993.748 678832.761 0, 1496702.375 678803.518 0,
+ 1496411.001 678774.291 0, 1496119.624 678745.082 0, 1495828.246 678715.89 0, 1495536.866 678686.715 0, 1495245.485 678657.558 0, 1494954.101 678628.417 0, 1494662.716 678599.294 0, 1494371.33 678570.187 0, 1494079.941 678541.098 0, 1493788.551 678512.026 0,
+ 1493497.159 678482.971 0, 1493205.765 678453.934 0, 1492914.37 678424.913 0, 1492622.973 678395.91 0, 1492331.574 678366.923 0, 1492040.174 678337.954 0, 1491748.772 678309.002 0, 1491457.368 678280.068 0, 1491164.631 678251.018 0, 1490614.973 683791.647 0,
+ 1490065.284 689332.587 0, 1490357.366 689361.572 0, 1490648.117 689390.442 0, 1490938.867 689419.329 0, 1491229.615 689448.233 0, 1491520.362 689477.155 0, 1491811.107 689506.093 0, 1492101.85 689535.049 0, 1492392.591 689564.021 0, 1492683.331 689593.011 0,
+ 1492974.069 689622.018 0, 1493264.805 689651.042 0, 1493555.539 689680.083 0, 1493846.272 689709.141 0, 1494137.003 689738.217 0, 1494427.733 689767.309 0, 1494718.46 689796.419 0, 1495009.186 689825.546 0, 1495299.911 689854.689 0, 1495590.633 689883.85 0,
+ 1495881.354 689913.028 0, 1496172.073 689942.224 0, 1496462.791 689971.436 0, 1496753.506 690000.665 0, 1497042.893 690029.778 0, 1497334.932 690059.175 0, 1497625.643 690088.456 0, 1497916.352 690117.754 0, 1498207.059 690147.069 0, 1498497.764 690176.401 0,
+ 1498788.468 690205.75 0, 1499079.17 690235.116 0, 1499369.87 690264.499 0, 1499660.568 690293.9 0, 1499951.265 690323.317 0, 1500241.96 690352.752 0, 1500532.653 690382.204 0, 1500823.345 690411.673 0, 1501114.034 690441.159 0, 1501404.722 690470.662 0,
+ 1501695.409 690500.182 0, 1501986.093 690529.72 0, 1502276.776 690559.274 0, 1502567.457 690588.846 0, 1502858.136 690618.434 0, 1503148.814 690648.04 0, 1503439.49 690677.663 0, 1503730.164 690707.303 0, 1504019.51 690736.825 0, 1504584.851 685197.46 0,
+ 1505150.161 679658.406 0))
+
+POLYGON ((1517969.714 692180.48 0, 1517680.45 692150.141 0, 1517389.861 692119.68 0, 1517099.27 692089.236 0, 1516808.677 692058.809 0, 1516518.082 692028.399 0, 1516227.486 691998.006 0, 1515936.888 691967.631 0, 1515646.288 691937.272 0, 1515355.686 691906.931 0,
+ 1515065.083 691876.607 0, 1514774.477 691846.3 0, 1514483.87 691816.009 0, 1514193.261 691785.737 0, 1513902.651 691755.481 0, 1513612.038 691725.242 0, 1513321.424 691695.02 0, 1513030.808 691664.816 0, 1512740.19 691634.628 0, 1512449.571 691604.458 0,
+ 1512158.95 691574.305 0, 1511868.326 691544.169 0, 1511577.702 691514.05 0, 1511287.075 691483.948 0, 1510995.122 691453.726 0, 1510705.816 691423.795 0, 1510415.185 691393.745 0, 1510124.551 691363.711 0, 1509833.915 691333.695 0, 1509543.278 691303.696 0,
+ 1509252.639 691273.714 0, 1508961.998 691243.749 0, 1508671.356 691213.801 0, 1508380.711 691183.87 0, 1508090.065 691153.956 0, 1507799.418 691124.059 0, 1507508.768 691094.18 0, 1507218.117 691064.317 0, 1506927.464 691034.472 0, 1506636.809 691004.644 0,
+ 1506346.152 690974.833 0, 1506055.494 690945.039 0, 1505764.834 690915.262 0, 1505474.172 690885.502 0, 1505183.508 690855.76 0, 1504892.843 690826.034 0, 1504602.176 690796.326 0, 1504311.507 690766.634 0, 1504019.51 690736.825 0, 1503454.138 696276.497 0,
+ 1502888.734 701816.474 0, 1503180.076 701846.217 0, 1503470.093 701875.842 0, 1503760.108 701905.483 0, 1504050.121 701935.142 0, 1504340.132 701964.818 0, 1504630.142 701994.511 0, 1504920.15 702024.221 0, 1505210.156 702053.948 0, 1505500.161 702083.692 0,
+ 1505790.164 702113.454 0, 1506080.165 702143.232 0, 1506370.164 702173.027 0, 1506660.161 702202.84 0, 1506950.157 702232.67 0, 1507240.151 702262.516 0, 1507530.143 702292.38 0, 1507820.134 702322.261 0, 1508110.123 702352.158 0, 1508400.11 702382.073 0,
+ 1508690.095 702412.005 0, 1508980.078 702441.954 0, 1509270.06 702471.92 0, 1509560.04 702501.903 0, 1509848.696 702531.767 0, 1510139.994 702561.921 0, 1510429.969 702591.955 0, 1510719.942 702622.007 0, 1511009.913 702652.075 0, 1511299.882 702682.161 0,
+ 1511589.85 702712.263 0, 1511879.815 702742.383 0, 1512169.779 702772.52 0, 1512459.741 702802.674 0, 1512749.702 702832.845 0, 1513039.661 702863.033 0, 1513329.617 702893.238 0, 1513619.573 702923.46 0, 1513909.526 702953.699 0, 1514199.477 702983.955 0,
+ 1514489.427 703014.228 0, 1514779.375 703044.519 0, 1515069.321 703074.826 0, 1515359.266 703105.151 0, 1515649.208 703135.492 0, 1515939.149 703165.851 0, 1516229.088 703196.227 0, 1516519.025 703226.619 0, 1516807.641 703256.891 0, 1517388.693 697718.533 0,
+ 1517969.714 692180.48 0))
+
+POLYGON ((1530722.422 704736.625 0, 1530433.891 704705.538 0, 1530144.041 704674.326 0, 1529854.189 704643.131 0, 1529564.335 704611.954 0, 1529274.479 704580.793 0, 1528984.621 704549.65 0, 1528694.762 704518.523 0, 1528404.901 704487.414 0, 1528115.038 704456.322 0,
+ 1527825.173 704425.246 0, 1527535.306 704394.188 0, 1527245.438 704363.147 0, 1526955.567 704332.123 0, 1526665.695 704301.116 0, 1526375.821 704270.126 0, 1526085.945 704239.153 0, 1525796.067 704208.197 0, 1525506.188 704177.258 0, 1525216.307 704146.337 0,
+ 1524926.423 704115.432 0, 1524636.539 704084.544 0, 1524346.652 704053.674 0, 1524056.763 704022.82 0, 1523765.554 703991.844 0, 1523476.981 703961.165 0, 1523187.086 703930.362 0, 1522897.191 703899.577 0, 1522607.293 703868.809 0, 1522317.394 703838.058 0,
+ 1522027.492 703807.324 0, 1521737.589 703776.607 0, 1521447.684 703745.907 0, 1521157.778 703715.224 0, 1520867.869 703684.558 0, 1520577.959 703653.91 0, 1520288.047 703623.278 0, 1519998.133 703592.663 0, 1519708.217 703562.066 0, 1519418.299 703531.485 0,
+ 1519128.38 703500.922 0, 1518838.459 703470.376 0, 1518548.536 703439.846 0, 1518258.611 703409.334 0, 1517968.685 703378.839 0, 1517678.757 703348.361 0, 1517388.827 703317.9 0, 1517098.895 703287.456 0, 1516807.641 703256.891 0, 1516226.556 708795.549 0,
+ 1515645.441 714334.504 0, 1515936.04 714365.001 0, 1516225.32 714395.376 0, 1516514.598 714425.769 0, 1516803.874 714456.178 0, 1517093.149 714486.605 0, 1517382.422 714517.048 0, 1517671.693 714547.509 0, 1517960.962 714577.987 0, 1518250.229 714608.481 0,
+ 1518539.495 714638.993 0, 1518828.758 714669.522 0, 1519118.02 714700.068 0, 1519407.28 714730.63 0, 1519696.539 714761.21 0, 1519985.795 714791.807 0, 1520275.05 714822.421 0, 1520564.303 714853.052 0, 1520853.554 714883.699 0, 1521142.804 714914.364 0,
+ 1521432.051 714945.046 0, 1521721.297 714975.745 0, 1522010.541 715006.461 0, 1522299.783 715037.194 0, 1522587.707 715067.804 0, 1522878.262 715098.711 0, 1523167.498 715129.496 0, 1523456.733 715160.297 0, 1523745.966 715191.115 0, 1524035.198 715221.95 0,
+ 1524324.427 715252.802 0, 1524613.655 715283.671 0, 1524902.88 715314.558 0, 1525192.104 715345.461 0, 1525481.327 715376.381 0, 1525770.547 715407.318 0, 1526059.765 715438.273 0, 1526348.982 715469.244 0, 1526638.197 715500.232 0, 1526927.41 715531.238 0,
+ 1527216.621 715562.26 0, 1527505.831 715593.3 0, 1527795.038 715624.356 0, 1528084.244 715655.43 0, 1528373.448 715686.52 0, 1528662.65 715717.628 0, 1528951.85 715748.752 0, 1529241.049 715779.894 0, 1529528.93 715810.911 0, 1530125.692 710273.619 0,
+ 1530722.422 704736.625 0))
+
+POLYGON ((1543408.193 717326.535 0, 1543120.398 717294.704 0, 1542831.289 717262.746 0, 1542542.178 717230.804 0, 1542253.065 717198.88 0, 1541963.95 717166.972 0, 1541674.833 717135.082 0, 1541385.714 717103.209 0, 1541096.594 717071.352 0, 1540807.471 717039.513 0,
+ 1540518.347 717007.691 0, 1540229.221 716975.885 0, 1539940.093 716944.097 0, 1539650.963 716912.326 0, 1539361.831 716880.571 0, 1539072.697 716848.834 0, 1538783.562 716817.114 0, 1538494.425 716785.411 0, 1538205.285 716753.724 0, 1537916.144 716722.055 0,
+ 1537627.001 716690.403 0, 1537337.856 716658.768 0, 1537048.71 716627.15 0, 1536759.561 716595.549 0, 1536469.097 716563.821 0, 1536181.258 716532.397 0, 1535892.104 716500.847 0, 1535602.948 716469.314 0, 1535313.79 716437.798 0, 1535024.631 716406.299 0,
+ 1534735.469 716374.817 0, 1534446.306 716343.352 0, 1534157.14 716311.905 0, 1533867.973 716280.474 0, 1533578.804 716249.06 0, 1533289.634 716217.663 0, 1533000.461 716186.283 0, 1532711.286 716154.92 0, 1532422.11 716123.574 0, 1532132.932 716092.246 0,
+ 1531843.752 716060.934 0, 1531554.57 716029.639 0, 1531265.386 715998.361 0, 1530976.201 715967.101 0, 1530687.013 715935.857 0, 1530397.824 715904.63 0, 1530108.633 715873.421 0, 1529819.44 715842.228 0, 1529528.93 715810.911 0, 1528932.137 721348.496 0,
+ 1528335.313 726886.372 0, 1528625.167 726917.619 0, 1528913.708 726948.741 0, 1529202.248 726979.88 0, 1529490.785 727011.037 0, 1529779.32 727042.21 0, 1530067.854 727073.4 0, 1530356.386 727104.607 0, 1530644.916 727135.832 0, 1530933.444 727167.073 0,
+ 1531221.971 727198.331 0, 1531510.495 727229.606 0, 1531799.018 727260.898 0, 1532087.539 727292.207 0, 1532376.058 727323.534 0, 1532664.575 727354.877 0, 1532953.09 727386.237 0, 1533241.603 727417.614 0, 1533530.115 727449.008 0, 1533818.625 727480.419 0,
+ 1534107.133 727511.847 0, 1534395.639 727543.292 0, 1534684.143 727574.754 0, 1534972.645 727606.233 0, 1535259.835 727637.586 0, 1535549.645 727669.242 0, 1535838.141 727700.771 0, 1536126.636 727732.318 0, 1536415.129 727763.882 0, 1536703.621 727795.463 0,
+ 1536992.11 727827.061 0, 1537280.597 727858.676 0, 1537569.083 727890.307 0, 1537857.567 727921.956 0, 1538146.049 727953.622 0, 1538434.529 727985.304 0, 1538723.007 728017.004 0, 1539011.483 728048.721 0, 1539299.958 728080.454 0, 1539588.43 728112.205 0,
+ 1539876.901 728143.973 0, 1540165.37 728175.757 0, 1540453.837 728207.559 0, 1540742.302 728239.377 0, 1541030.765 728271.213 0, 1541319.226 728303.065 0, 1541607.686 728334.935 0, 1541896.144 728366.821 0, 1542183.29 728398.58 0, 1542795.758 722862.412 0,
+ 1543408.193 717326.535 0))
+
+POLYGON ((1556026.94 729949.904 0, 1555739.882 729917.334 0, 1555451.516 729884.633 0, 1555163.148 729851.949 0, 1554874.777 729819.282 0, 1554586.405 729786.631 0, 1554298.031 729753.998 0, 1554009.655 729721.381 0, 1553721.277 729688.782 0, 1553432.898 729656.2 0,
+ 1553144.516 729623.634 0, 1552856.132 729591.086 0, 1552567.747 729558.554 0, 1552279.359 729526.039 0, 1551990.97 729493.542 0, 1551702.578 729461.061 0, 1551414.185 729428.598 0, 1551125.79 729396.151 0, 1550837.393 729363.721 0, 1550548.994 729331.309 0,
+ 1550260.593 729298.913 0, 1549972.191 729266.534 0, 1549683.786 729234.172 0, 1549395.379 729201.828 0, 1549105.663 729169.353 0, 1548818.56 729137.189 0, 1548530.148 729104.895 0, 1548241.734 729072.618 0, 1547953.318 729040.358 0, 1547664.9 729008.115 0,
+ 1547376.48 728975.889 0, 1547088.058 728943.68 0, 1546799.635 728911.488 0, 1546511.209 728879.313 0, 1546222.782 728847.155 0, 1545934.352 728815.014 0, 1545645.921 728782.89 0, 1545357.488 728750.783 0, 1545069.053 728718.693 0, 1544780.616 728686.619 0,
+ 1544492.177 728654.563 0, 1544203.737 728622.524 0, 1543915.294 728590.502 0, 1543626.85 728558.496 0, 1543338.403 728526.508 0, 1543049.955 728494.537 0, 1542761.505 728462.582 0, 1542473.053 728430.645 0, 1542183.29 728398.58 0, 1541570.791 733935.035 0,
+ 1540958.26 739471.773 0, 1541247.368 739503.766 0, 1541535.168 739535.631 0, 1541822.967 739567.513 0, 1542110.763 739599.412 0, 1542398.558 739631.328 0, 1542686.35 739663.261 0, 1542974.141 739695.211 0, 1543261.93 739727.178 0, 1543549.717 739759.162 0,
+ 1543837.502 739791.163 0, 1544125.286 739823.18 0, 1544413.067 739855.215 0, 1544700.847 739887.266 0, 1544988.624 739919.335 0, 1545276.4 739951.42 0, 1545564.174 739983.523 0, 1545851.946 740015.642 0, 1546139.716 740047.778 0, 1546427.484 740079.931 0,
+ 1546715.251 740112.101 0, 1547003.015 740144.288 0, 1547290.777 740176.492 0, 1547578.538 740208.713 0, 1547864.992 740240.805 0, 1548154.054 740273.206 0, 1548441.809 740305.478 0, 1548729.562 740337.766 0, 1549017.313 740370.072 0, 1549305.062 740402.394 0,
+ 1549592.809 740434.734 0, 1549880.555 740467.09 0, 1550168.298 740499.464 0, 1550456.04 740531.854 0, 1550743.779 740564.261 0, 1551031.517 740596.685 0, 1551319.253 740629.126 0, 1551606.987 740661.584 0, 1551894.719 740694.059 0, 1552182.449 740726.551 0,
+ 1552470.178 740759.06 0, 1552757.904 740791.586 0, 1553045.628 740824.129 0, 1553333.351 740856.688 0, 1553621.071 740889.265 0, 1553908.79 740921.858 0, 1554196.507 740954.469 0, 1554484.222 740987.096 0, 1554770.631 741019.592 0, 1555398.802 735484.607 0,
+ 1556026.94 729949.904 0))
+
+POLYGON ((1568578.574 742606.428 0, 1568292.255 742573.123 0, 1568004.634 742539.683 0, 1567717.01 742506.259 0, 1567429.385 742472.853 0, 1567141.758 742439.464 0, 1566854.128 742406.091 0, 1566566.497 742372.736 0, 1566278.864 742339.398 0, 1565991.228 742306.076 0,
+ 1565703.591 742272.771 0, 1565415.952 742239.484 0, 1565128.311 742206.213 0, 1564840.668 742172.959 0, 1564553.023 742139.722 0, 1564265.376 742106.502 0, 1563977.727 742073.299 0, 1563690.076 742040.113 0, 1563402.423 742006.944 0, 1563114.768 741973.791 0,
+ 1562827.112 741940.656 0, 1562539.453 741907.537 0, 1562251.792 741874.436 0, 1561964.13 741841.351 0, 1561675.163 741808.134 0, 1561388.799 741775.233 0, 1561101.13 741742.199 0, 1560813.46 741709.182 0, 1560525.787 741676.183 0, 1560238.113 741643.2 0,
+ 1559950.437 741610.234 0, 1559662.759 741577.284 0, 1559375.079 741544.352 0, 1559087.397 741511.437 0, 1558799.713 741478.539 0, 1558512.027 741445.657 0, 1558224.339 741412.793 0, 1557936.649 741379.945 0, 1557648.958 741347.115 0, 1557361.264 741314.301 0,
+ 1557073.568 741281.505 0, 1556785.871 741248.725 0, 1556498.171 741215.962 0, 1556210.47 741183.216 0, 1555922.767 741150.487 0, 1555635.062 741117.775 0, 1555347.354 741085.08 0, 1555059.645 741052.402 0, 1554770.631 741019.592 0, 1554142.428 746554.858 0,
+ 1553514.194 752090.401 0, 1553802.554 752123.136 0, 1554089.612 752155.74 0, 1554376.667 752188.361 0, 1554663.721 752220.999 0, 1554950.773 752253.654 0, 1555237.823 752286.326 0, 1555524.87 752319.014 0, 1555811.916 752351.72 0, 1556098.96 752384.442 0,
+ 1556386.002 752417.182 0, 1556673.042 752449.938 0, 1556960.081 752482.711 0, 1557247.117 752515.501 0, 1557534.151 752548.308 0, 1557821.184 752581.132 0, 1558108.214 752613.972 0, 1558395.243 752646.83 0, 1558682.269 752679.705 0, 1558969.294 752712.596 0,
+ 1559256.317 752745.504 0, 1559543.338 752778.429 0, 1559830.357 752811.371 0, 1560117.373 752844.33 0, 1560403.089 752877.157 0, 1560691.402 752910.299 0, 1560978.413 752943.309 0, 1561265.422 752976.335 0, 1561552.429 753009.379 0, 1561839.434 753042.439 0,
+ 1562126.438 753075.516 0, 1562413.439 753108.61 0, 1562700.438 753141.721 0, 1562987.436 753174.849 0, 1563274.431 753207.994 0, 1563561.425 753241.155 0, 1563848.417 753274.334 0, 1564135.406 753307.529 0, 1564422.394 753340.742 0, 1564709.38 753373.971 0,
+ 1564996.364 753407.217 0, 1565283.345 753440.48 0, 1565570.325 753473.76 0, 1565857.303 753507.057 0, 1566144.279 753540.37 0, 1566431.253 753573.701 0, 1566718.225 753607.048 0, 1567005.195 753640.413 0, 1567290.865 753673.643 0, 1567934.736 748139.897 0,
+ 1568578.574 742606.428 0))
+
+POLYGON ((1581063.009 755295.8 0, 1580777.431 755261.763 0, 1580490.557 755227.588 0, 1580203.68 755193.43 0, 1579916.801 755159.289 0, 1579629.921 755125.164 0, 1579343.038 755091.057 0, 1579056.153 755056.966 0, 1578769.266 755022.893 0, 1578482.378 754988.836 0,
+ 1578195.487 754954.796 0, 1577908.594 754920.773 0, 1577621.699 754886.767 0, 1577334.803 754852.778 0, 1577047.904 754818.805 0, 1576761.003 754784.85 0, 1576474.1 754750.911 0, 1576187.196 754716.99 0, 1575900.289 754683.085 0, 1575613.38 754649.197 0,
+ 1575326.47 754615.326 0, 1575039.557 754581.472 0, 1574752.642 754547.635 0, 1574465.725 754513.814 0, 1574177.51 754479.858 0, 1573891.886 754446.224 0, 1573604.963 754412.455 0, 1573318.039 754378.702 0, 1573031.112 754344.966 0, 1572744.183 754311.247 0,
+ 1572457.253 754277.545 0, 1572170.32 754243.859 0, 1571883.386 754210.191 0, 1571596.449 754176.54 0, 1571309.511 754142.905 0, 1571022.57 754109.287 0, 1570735.628 754075.686 0, 1570448.683 754042.103 0, 1570161.737 754008.535 0, 1569874.788 753974.985 0,
+ 1569587.838 753941.452 0, 1569300.885 753907.936 0, 1569013.931 753874.436 0, 1568726.975 753840.954 0, 1568440.016 753807.488 0, 1568153.056 753774.039 0, 1567866.094 753740.607 0, 1567579.13 753707.192 0, 1567290.865 753673.643 0, 1566646.963 759207.662 0,
+ 1566003.03 764741.95 0, 1566290.64 764775.423 0, 1566576.953 764808.763 0, 1566863.263 764842.119 0, 1567149.572 764875.492 0, 1567435.879 764908.881 0, 1567722.184 764942.288 0, 1568008.487 764975.711 0, 1568294.788 765009.152 0, 1568581.087 765042.609 0,
+ 1568867.384 765076.083 0, 1569153.679 765109.573 0, 1569439.972 765143.081 0, 1569726.263 765176.606 0, 1570012.552 765210.147 0, 1570298.839 765243.705 0, 1570585.124 765277.28 0, 1570871.408 765310.872 0, 1571157.689 765344.481 0, 1571443.968 765378.107 0,
+ 1571730.245 765411.749 0, 1572016.521 765445.409 0, 1572302.794 765479.085 0, 1572589.065 765512.778 0, 1572874.041 765546.335 0, 1573161.602 765580.214 0, 1573447.867 765613.958 0, 1573734.131 765647.718 0, 1574020.392 765681.496 0, 1574306.651 765715.29 0,
+ 1574592.909 765749.101 0, 1574879.164 765782.929 0, 1575165.418 765816.773 0, 1575451.669 765850.635 0, 1575737.918 765884.513 0, 1576024.166 765918.408 0, 1576310.411 765952.32 0, 1576596.655 765986.249 0, 1576882.896 766020.195 0, 1577169.136 766054.158 0,
+ 1577455.373 766088.137 0, 1577741.609 766122.133 0, 1578027.842 766156.147 0, 1578314.074 766190.177 0, 1578600.303 766224.223 0, 1578886.53 766258.287 0, 1579172.756 766292.368 0, 1579458.979 766326.465 0, 1579743.908 766360.425 0, 1580403.475 760827.978 0,
+ 1581063.009 755295.8 0))
+
+POLYGON ((1593480.159 768017.714 0, 1593195.325 767982.949 0, 1592909.199 767948.043 0, 1592623.071 767913.154 0, 1592336.941 767878.281 0, 1592050.809 767843.426 0, 1591764.675 767808.588 0, 1591478.539 767773.766 0, 1591192.4 767738.961 0, 1590906.26 767704.173 0,
+ 1590620.118 767669.402 0, 1590333.973 767634.648 0, 1590047.827 767599.91 0, 1589761.678 767565.19 0, 1589475.528 767530.486 0, 1589189.375 767495.799 0, 1588903.221 767461.129 0, 1588617.064 767426.475 0, 1588330.905 767391.839 0, 1588044.744 767357.22 0,
+ 1587758.582 767322.617 0, 1587472.417 767288.031 0, 1587186.25 767253.462 0, 1586900.081 767218.91 0, 1586612.619 767184.219 0, 1586327.737 767149.856 0, 1586041.562 767115.354 0, 1585755.385 767080.869 0, 1585469.206 767046.401 0, 1585183.025 767011.95 0,
+ 1584896.842 766977.516 0, 1584610.657 766943.098 0, 1584324.47 766908.698 0, 1584038.281 766874.314 0, 1583752.089 766839.947 0, 1583465.896 766805.597 0, 1583179.701 766771.264 0, 1582893.504 766736.948 0, 1582607.304 766702.648 0, 1582321.103 766668.365 0,
+ 1582034.9 766634.1 0, 1581748.694 766599.851 0, 1581462.487 766565.618 0, 1581176.278 766531.403 0, 1580890.066 766497.205 0, 1580603.853 766463.023 0, 1580317.638 766428.858 0, 1580031.42 766394.71 0, 1579743.908 766360.425 0, 1579084.31 771893.139 0,
+ 1578424.681 777426.115 0, 1578711.539 777460.322 0, 1578997.105 777494.392 0, 1579282.669 777528.479 0, 1579568.231 777562.583 0, 1579853.791 777596.703 0, 1580139.349 777630.841 0, 1580424.905 777664.995 0, 1580710.459 777699.166 0, 1580996.011 777733.354 0,
+ 1581281.561 777767.559 0, 1581567.109 777801.78 0, 1581852.655 777836.019 0, 1582138.199 777870.274 0, 1582423.741 777904.546 0, 1582709.281 777938.834 0, 1582994.819 777973.14 0, 1583280.355 778007.462 0, 1583565.889 778041.801 0, 1583851.421 778076.157 0,
+ 1584136.951 778110.53 0, 1584422.479 778144.919 0, 1584708.004 778179.326 0, 1584993.528 778213.749 0, 1585277.762 778248.033 0, 1585564.57 778282.646 0, 1585850.087 778317.119 0, 1586135.603 778351.61 0, 1586421.117 778386.117 0, 1586706.628 778420.641 0,
+ 1586992.138 778455.182 0, 1587277.645 778489.739 0, 1587563.151 778524.314 0, 1587848.654 778558.905 0, 1588134.156 778593.513 0, 1588419.655 778628.138 0, 1588705.153 778662.779 0, 1588990.648 778697.438 0, 1589276.141 778732.113 0, 1589561.632 778766.805 0,
+ 1589847.122 778801.514 0, 1590132.609 778836.239 0, 1590418.094 778870.982 0, 1590703.577 778905.741 0, 1590989.058 778940.517 0, 1591274.537 778975.31 0, 1591560.014 779010.119 0, 1591845.489 779044.946 0, 1592129.675 779079.632 0, 1592804.933 773548.542 0,
+ 1593480.159 768017.714 0))
+
+POLYGON ((1605829.942 780771.862 0, 1605545.853 780736.373 0, 1605260.478 780700.74 0, 1604975.1 780665.124 0, 1604689.721 780629.525 0, 1604404.339 780593.942 0, 1604118.956 780558.377 0, 1603833.57 780522.828 0, 1603548.182 780487.296 0, 1603262.792 780451.781 0,
+ 1602977.4 780416.282 0, 1602692.006 780380.8 0, 1602406.609 780345.336 0, 1602121.211 780309.888 0, 1601835.811 780274.456 0, 1601550.408 780239.042 0, 1601265.003 780203.644 0, 1600979.597 780168.263 0, 1600694.188 780132.899 0, 1600408.777 780097.552 0,
+ 1600123.364 780062.221 0, 1599837.949 780026.908 0, 1599552.532 779991.611 0, 1599267.113 779956.331 0, 1598980.406 779920.909 0, 1598696.268 779885.821 0, 1598410.843 779850.591 0, 1598125.415 779815.379 0, 1597839.986 779780.183 0, 1597554.554 779745.003 0,
+ 1597269.121 779709.841 0, 1596983.685 779674.695 0, 1596698.247 779639.566 0, 1596412.807 779604.454 0, 1596127.365 779569.359 0, 1595841.921 779534.28 0, 1595556.475 779499.219 0, 1595271.027 779464.174 0, 1594985.577 779429.146 0, 1594700.125 779394.135 0,
+ 1594414.67 779359.14 0, 1594129.214 779324.162 0, 1593843.755 779289.202 0, 1593558.295 779254.257 0, 1593272.832 779219.33 0, 1592987.368 779184.42 0, 1592701.901 779149.526 0, 1592416.432 779114.649 0, 1592129.675 779079.632 0, 1591454.385 784610.982 0,
+ 1590779.063 790142.587 0, 1591065.167 790177.524 0, 1591349.985 790212.321 0, 1591634.8 790247.135 0, 1591919.614 790281.966 0, 1592204.425 790316.814 0, 1592489.235 790351.678 0, 1592774.042 790386.559 0, 1593058.847 790421.457 0, 1593343.65 790456.372 0,
+ 1593628.452 790491.303 0, 1593913.251 790526.251 0, 1594198.048 790561.216 0, 1594482.843 790596.198 0, 1594767.636 790631.197 0, 1595052.426 790666.212 0, 1595337.215 790701.244 0, 1595622.002 790736.292 0, 1595906.787 790771.358 0, 1596191.569 790806.44 0,
+ 1596476.35 790841.539 0, 1596761.128 790876.655 0, 1597045.905 790911.788 0, 1597330.679 790946.937 0, 1597614.169 790981.945 0, 1597900.222 791017.286 0, 1598184.99 791052.485 0, 1598469.756 791087.702 0, 1598754.52 791122.935 0, 1599039.282 791158.185 0,
+ 1599324.042 791193.451 0, 1599608.799 791228.735 0, 1599893.555 791264.035 0, 1600178.309 791299.352 0, 1600463.06 791334.686 0, 1600747.81 791370.036 0, 1601032.557 791405.403 0, 1601317.302 791440.787 0, 1601602.046 791476.188 0, 1601886.787 791511.605 0,
+ 1602171.526 791547.04 0, 1602456.263 791582.491 0, 1602740.998 791617.958 0, 1603025.73 791653.443 0, 1603310.461 791688.944 0, 1603595.19 791724.462 0, 1603879.916 791759.997 0, 1604164.641 791795.549 0, 1604448.082 791830.957 0, 1605139.028 786301.282 0,
+ 1605829.942 780771.862 0))
+
+POLYGON ((1618112.275 793557.938 0, 1617828.933 793521.728 0, 1617544.31 793485.373 0, 1617259.685 793449.034 0, 1616975.058 793412.711 0, 1616690.429 793376.406 0, 1616405.798 793340.117 0, 1616121.164 793303.845 0, 1615836.528 793267.59 0, 1615551.891 793231.351 0,
+ 1615267.251 793195.129 0, 1614982.609 793158.924 0, 1614697.964 793122.736 0, 1614413.318 793086.564 0, 1614128.67 793050.41 0, 1613844.019 793014.272 0, 1613559.366 792978.15 0, 1613274.711 792942.046 0, 1612990.055 792905.958 0, 1612705.395 792869.887 0,
+ 1612420.734 792833.833 0, 1612136.071 792797.795 0, 1611851.405 792761.775 0, 1611566.738 792725.771 0, 1611280.788 792689.622 0, 1610997.396 792653.813 0, 1610712.723 792617.859 0, 1610428.046 792581.922 0, 1610143.368 792546.002 0, 1609858.688 792510.099 0,
+ 1609574.006 792474.212 0, 1609289.321 792438.342 0, 1609004.635 792402.489 0, 1608719.946 792366.652 0, 1608435.255 792330.833 0, 1608150.562 792295.03 0, 1607865.867 792259.244 0, 1607581.17 792223.474 0, 1607296.471 792187.722 0, 1607011.769 792151.986 0,
+ 1606727.066 792116.267 0, 1606442.36 792080.564 0, 1606157.653 792044.879 0, 1605872.943 792009.21 0, 1605588.231 791973.558 0, 1605303.517 791937.922 0, 1605018.801 791902.304 0, 1604734.083 791866.702 0, 1604448.082 791830.957 0, 1603757.104 797360.884 0,
+ 1603066.095 802891.06 0, 1603351.443 802926.723 0, 1603635.51 802962.244 0, 1603919.575 802997.781 0, 1604203.638 803033.335 0, 1604487.699 803068.905 0, 1604771.758 803104.492 0, 1605055.814 803140.096 0, 1605339.869 803175.717 0, 1605623.921 803211.355 0,
+ 1605907.972 803247.009 0, 1606192.02 803282.68 0, 1606476.066 803318.367 0, 1606760.11 803354.072 0, 1607044.152 803389.793 0, 1607328.192 803425.53 0, 1607612.23 803461.285 0, 1607896.266 803497.056 0, 1608180.299 803532.844 0, 1608464.331 803568.649 0,
+ 1608748.36 803604.47 0, 1609032.388 803640.308 0, 1609316.413 803676.163 0, 1609600.436 803712.034 0, 1609883.18 803747.761 0, 1610168.476 803783.828 0, 1610452.492 803819.749 0, 1610736.507 803855.688 0, 1611020.519 803891.643 0, 1611304.53 803927.615 0,
+ 1611588.538 803963.603 0, 1611872.544 803999.608 0, 1612156.548 804035.63 0, 1612440.55 804071.669 0, 1612724.55 804107.724 0, 1613008.547 804143.797 0, 1613292.543 804179.885 0, 1613576.536 804215.991 0, 1613860.527 804252.113 0, 1614144.517 804288.252 0,
+ 1614428.504 804324.408 0, 1614712.489 804360.58 0, 1614996.471 804396.769 0, 1615280.452 804432.975 0, 1615564.43 804469.198 0, 1615848.407 804505.437 0, 1616132.381 804541.693 0, 1616416.353 804577.966 0, 1616699.047 804614.092 0, 1617405.677 799085.891 0,
+ 1618112.275 793557.938 0))
+
+POLYGON ((1148393.758 378122.298 0, 1148086.158 378113.615 0, 1147777.086 378104.908 0, 1147468.014 378096.219 0, 1147158.94 378087.548 0, 1146849.867 378078.896 0, 1146540.793 378070.262 0, 1146231.718 378061.646 0, 1145922.643 378053.048 0, 1145613.567 378044.468 0,
+ 1145304.491 378035.907 0, 1144995.414 378027.364 0, 1144686.337 378018.839 0, 1144377.259 378010.332 0, 1144068.181 378001.843 0, 1143759.102 377993.373 0, 1143450.023 377984.92 0, 1143140.943 377976.486 0, 1142831.863 377968.07 0, 1142522.783 377959.673 0,
+ 1142213.701 377951.293 0, 1141904.62 377942.932 0, 1141595.538 377934.589 0, 1141286.455 377926.264 0, 1140975.899 377917.917 0, 1140668.288 377909.668 0, 1140359.204 377901.398 0, 1140050.119 377893.146 0, 1139741.034 377884.912 0, 1139431.949 377876.696 0,
+ 1139122.863 377868.499 0, 1138813.776 377860.319 0, 1138504.689 377852.158 0, 1138195.602 377844.015 0, 1137886.514 377835.89 0, 1137577.425 377827.783 0, 1137268.336 377819.695 0, 1136959.247 377811.625 0, 1136650.157 377803.573 0, 1136341.067 377795.539 0,
+ 1136031.976 377787.523 0, 1135722.885 377779.526 0, 1135413.793 377771.546 0, 1135104.701 377763.585 0, 1134795.608 377755.642 0, 1134486.515 377747.718 0, 1134177.421 377739.811 0, 1133868.327 377731.923 0, 1133557.758 377724.015 0, 1133416.703 383270.367 0,
+ 1133275.635 388817.186 0, 1133585.548 388825.076 0, 1133893.989 388832.948 0, 1134202.43 388840.838 0, 1134510.87 388848.746 0, 1134819.31 388856.672 0, 1135127.749 388864.616 0, 1135436.188 388872.579 0, 1135744.626 388880.559 0, 1136053.064 388888.558 0,
+ 1136361.502 388896.575 0, 1136669.939 388904.61 0, 1136978.375 388912.663 0, 1137286.811 388920.735 0, 1137595.247 388928.824 0, 1137903.682 388936.932 0, 1138212.116 388945.058 0, 1138520.55 388953.201 0, 1138828.984 388961.364 0, 1139137.417 388969.544 0,
+ 1139445.85 388977.742 0, 1139754.282 388985.959 0, 1140062.714 388994.194 0, 1140371.145 389002.447 0, 1140678.106 389010.678 0, 1140988.006 389019.007 0, 1141296.436 389027.314 0, 1141604.865 389035.64 0, 1141913.294 389043.983 0, 1142221.722 389052.345 0,
+ 1142530.15 389060.725 0, 1142838.577 389069.123 0, 1143147.004 389077.539 0, 1143455.43 389085.974 0, 1143763.856 389094.426 0, 1144072.281 389102.897 0, 1144380.706 389111.386 0, 1144689.13 389119.893 0, 1144997.554 389128.418 0, 1145305.978 389136.962 0,
+ 1145614.4 389145.523 0, 1145922.823 389154.103 0, 1146231.244 389162.701 0, 1146539.666 389171.317 0, 1146848.087 389179.951 0, 1147156.507 389188.603 0, 1147464.927 389197.273 0, 1147773.346 389205.962 0, 1148080.296 389214.627 0, 1148237.034 383668.229 0,
+ 1148393.758 378122.298 0))
+
+POLYGON ((1162883.775 389653.893 0, 1162576.848 389644.36 0, 1162268.455 389634.801 0, 1161960.061 389625.259 0, 1161651.666 389615.735 0, 1161343.271 389606.23 0, 1161034.875 389596.743 0, 1160726.479 389587.273 0, 1160418.082 389577.823 0, 1160109.685 389568.39 0,
+ 1159801.287 389558.975 0, 1159492.888 389549.579 0, 1159184.489 389540.2 0, 1158876.09 389530.84 0, 1158567.689 389521.498 0, 1158259.289 389512.174 0, 1157950.887 389502.868 0, 1157642.486 389493.581 0, 1157334.083 389484.311 0, 1157025.68 389475.06 0,
+ 1156717.277 389465.827 0, 1156408.873 389456.612 0, 1156100.469 389447.415 0, 1155792.064 389438.236 0, 1155482.191 389429.032 0, 1155175.252 389419.933 0, 1154866.845 389410.809 0, 1154558.438 389401.703 0, 1154250.03 389392.615 0, 1153941.622 389383.545 0,
+ 1153633.213 389374.494 0, 1153324.804 389365.46 0, 1153016.394 389356.445 0, 1152707.983 389347.448 0, 1152399.573 389338.469 0, 1152091.161 389329.508 0, 1151782.749 389320.565 0, 1151474.337 389311.641 0, 1151165.924 389302.734 0, 1150857.51 389293.846 0,
+ 1150549.096 389284.976 0, 1150240.681 389276.124 0, 1149932.266 389267.29 0, 1149623.851 389258.475 0, 1149315.434 389249.677 0, 1149007.018 389240.898 0, 1148698.6 389232.137 0, 1148390.183 389223.393 0, 1148080.296 389214.627 0, 1147923.545 394761.49 0,
+ 1147766.781 400308.815 0, 1148076.012 400317.563 0, 1148383.777 400326.287 0, 1148691.541 400335.03 0, 1148999.305 400343.791 0, 1149307.068 400352.569 0, 1149614.83 400361.366 0, 1149922.593 400370.181 0, 1150230.354 400379.015 0, 1150538.115 400387.866 0,
+ 1150845.876 400396.735 0, 1151153.636 400405.623 0, 1151461.396 400414.529 0, 1151769.155 400423.452 0, 1152076.913 400432.394 0, 1152384.671 400441.354 0, 1152692.428 400450.332 0, 1153000.185 400459.329 0, 1153307.942 400468.343 0, 1153615.698 400477.375 0,
+ 1153923.453 400486.426 0, 1154231.208 400495.495 0, 1154538.962 400504.581 0, 1154846.716 400513.686 0, 1155153.005 400522.766 0, 1155462.221 400531.951 0, 1155769.974 400541.11 0, 1156077.725 400550.287 0, 1156385.476 400559.483 0, 1156693.227 400568.696 0,
+ 1157000.977 400577.928 0, 1157308.726 400587.178 0, 1157616.475 400596.446 0, 1157924.223 400605.732 0, 1158231.971 400615.036 0, 1158539.718 400624.358 0, 1158847.465 400633.699 0, 1159155.211 400643.057 0, 1159462.956 400652.434 0, 1159770.701 400661.828 0,
+ 1160078.446 400671.241 0, 1160386.19 400680.672 0, 1160693.933 400690.121 0, 1161001.676 400699.589 0, 1161309.418 400709.074 0, 1161617.16 400718.577 0, 1161924.901 400728.099 0, 1162232.641 400737.638 0, 1162538.918 400747.151 0, 1162711.354 395200.291 0,
+ 1162883.775 389653.893 0))
+
+POLYGON ((1177309.758 401227.219 0, 1177003.507 401216.841 0, 1176695.795 401206.432 0, 1176388.082 401196.041 0, 1176080.368 401185.668 0, 1175772.654 401175.314 0, 1175464.939 401164.977 0, 1175157.224 401154.659 0, 1174849.508 401144.358 0, 1174541.791 401134.076 0,
+ 1174234.074 401123.812 0, 1173926.356 401113.566 0, 1173618.637 401103.338 0, 1173310.918 401093.128 0, 1173003.199 401082.937 0, 1172695.478 401072.763 0, 1172387.758 401062.607 0, 1172080.036 401052.47 0, 1171772.314 401042.351 0, 1171464.592 401032.25 0,
+ 1171156.868 401022.167 0, 1170849.145 401012.102 0, 1170541.42 401002.055 0, 1170233.695 400992.026 0, 1169924.508 400981.968 0, 1169618.243 400972.023 0, 1169310.517 400962.049 0, 1169002.789 400952.093 0, 1168695.061 400942.155 0, 1168387.333 400932.235 0,
+ 1168079.604 400922.333 0, 1167771.874 400912.449 0, 1167464.144 400902.583 0, 1167156.413 400892.736 0, 1166848.681 400882.906 0, 1166540.949 400873.095 0, 1166233.217 400863.302 0, 1165925.484 400853.527 0, 1165617.75 400843.77 0, 1165310.016 400834.031 0,
+ 1165002.281 400824.31 0, 1164694.545 400814.608 0, 1164386.809 400804.923 0, 1164079.073 400795.257 0, 1163771.336 400785.608 0, 1163463.598 400775.978 0, 1163155.86 400766.366 0, 1162848.121 400756.772 0, 1162538.918 400747.151 0, 1162366.469 406294.469 0,
+ 1162194.005 411842.244 0, 1162502.551 411851.845 0, 1162809.637 411861.418 0, 1163116.722 411871.01 0, 1163423.807 411880.62 0, 1163730.891 411890.248 0, 1164037.974 411899.894 0, 1164345.057 411909.558 0, 1164652.14 411919.24 0, 1164959.222 411928.94 0,
+ 1165266.303 411938.658 0, 1165573.384 411948.394 0, 1165880.464 411958.149 0, 1166187.543 411967.921 0, 1166494.622 411977.712 0, 1166801.701 411987.52 0, 1167108.779 411997.347 0, 1167415.856 412007.192 0, 1167722.932 412017.054 0, 1168030.009 412026.935 0,
+ 1168337.084 412036.834 0, 1168644.159 412046.751 0, 1168951.233 412056.686 0, 1169258.307 412066.639 0, 1169563.922 412076.563 0, 1169872.453 412086.6 0, 1170179.525 412096.607 0, 1170486.596 412106.633 0, 1170793.667 412116.676 0, 1171100.737 412126.738 0,
+ 1171407.807 412136.818 0, 1171714.876 412146.915 0, 1172021.944 412157.031 0, 1172329.012 412167.165 0, 1172636.079 412177.317 0, 1172943.146 412187.487 0, 1173250.212 412197.675 0, 1173557.278 412207.882 0, 1173864.342 412218.106 0, 1174171.407 412228.348 0,
+ 1174478.47 412238.609 0, 1174785.533 412248.887 0, 1175092.596 412259.184 0, 1175399.658 412269.498 0, 1175706.719 412279.831 0, 1176013.779 412290.182 0, 1176320.839 412300.551 0, 1176627.899 412310.938 0, 1176933.5 412321.293 0, 1177121.637 406774.028 0,
+ 1177309.758 401227.219 0))
+
+POLYGON ((1191671.584 412841.982 0, 1191366.01 412830.763 0, 1191058.981 412819.509 0, 1190751.952 412808.273 0, 1190444.922 412797.054 0, 1190137.891 412785.854 0, 1189830.86 412774.672 0, 1189523.827 412763.508 0, 1189216.795 412752.362 0, 1188909.761 412741.234 0,
+ 1188602.727 412730.124 0, 1188295.692 412719.033 0, 1187988.657 412707.959 0, 1187681.621 412696.903 0, 1187374.584 412685.866 0, 1187067.547 412674.846 0, 1186760.509 412663.845 0, 1186453.47 412652.862 0, 1186146.431 412641.896 0, 1185839.391 412630.949 0,
+ 1185532.351 412620.02 0, 1185225.309 412609.109 0, 1184918.268 412598.216 0, 1184611.225 412587.341 0, 1184302.726 412576.433 0, 1183997.138 412565.646 0, 1183690.094 412554.825 0, 1183383.049 412544.022 0, 1183076.003 412533.238 0, 1182768.957 412522.471 0,
+ 1182461.91 412511.723 0, 1182154.862 412500.993 0, 1181847.814 412490.281 0, 1181540.765 412479.586 0, 1181233.716 412468.91 0, 1180926.666 412458.252 0, 1180619.615 412447.612 0, 1180312.563 412436.99 0, 1180005.511 412426.387 0, 1179698.459 412415.801 0,
+ 1179391.406 412405.233 0, 1179084.352 412394.684 0, 1178777.297 412384.152 0, 1178470.242 412373.639 0, 1178163.187 412363.143 0, 1177856.13 412352.666 0, 1177549.073 412342.207 0, 1177242.016 412331.766 0, 1176933.5 412321.293 0, 1176745.348 417869.011 0,
+ 1176557.181 423417.18 0, 1176865.04 423427.63 0, 1177171.445 423438.049 0, 1177477.849 423448.486 0, 1177784.252 423458.941 0, 1178090.654 423469.414 0, 1178397.056 423479.905 0, 1178703.458 423490.414 0, 1179009.859 423500.941 0, 1179316.259 423511.486 0,
+ 1179622.658 423522.05 0, 1179929.057 423532.631 0, 1180235.455 423543.23 0, 1180541.853 423553.847 0, 1180848.25 423564.483 0, 1181154.647 423575.136 0, 1181461.042 423585.808 0, 1181767.437 423596.497 0, 1182073.832 423607.205 0, 1182380.226 423617.93 0,
+ 1182686.619 423628.674 0, 1182993.012 423639.435 0, 1183299.404 423650.215 0, 1183605.795 423661.012 0, 1183910.733 423671.777 0, 1184218.576 423682.662 0, 1184524.965 423693.514 0, 1184831.354 423704.383 0, 1185137.742 423715.271 0, 1185444.13 423726.177 0,
+ 1185750.517 423737.101 0, 1186056.903 423748.043 0, 1186363.289 423759.003 0, 1186669.674 423769.981 0, 1186976.058 423780.977 0, 1187282.441 423791.991 0, 1187588.824 423803.023 0, 1187895.207 423814.073 0, 1188201.589 423825.141 0, 1188507.97 423836.227 0,
+ 1188814.35 423847.332 0, 1189120.73 423858.454 0, 1189427.109 423869.594 0, 1189733.487 423880.753 0, 1190039.865 423891.929 0, 1190346.242 423903.123 0, 1190652.619 423914.336 0, 1190958.994 423925.566 0, 1191263.918 423936.761 0, 1191467.759 418389.147 0,
+ 1191671.584 412841.982 0))
+
+POLYGON ((1205969.128 424497.89 0, 1205664.235 424485.833 0, 1205357.892 424473.737 0, 1205051.549 424461.66 0, 1204745.205 424449.6 0, 1204438.86 424437.558 0, 1204132.514 424425.534 0, 1203826.167 424413.528 0, 1203519.82 424401.54 0, 1203213.473 424389.571 0,
+ 1202907.124 424377.619 0, 1202600.775 424365.685 0, 1202294.425 424353.769 0, 1201988.074 424341.872 0, 1201681.723 424329.992 0, 1201375.371 424318.131 0, 1201069.018 424306.287 0, 1200762.665 424294.462 0, 1200456.311 424282.654 0, 1200149.956 424270.865 0,
+ 1199843.6 424259.093 0, 1199537.244 424247.34 0, 1199230.887 424235.605 0, 1198924.53 424223.887 0, 1198616.721 424212.133 0, 1198311.813 424200.507 0, 1198005.453 424188.843 0, 1197699.093 424177.198 0, 1197392.732 424165.571 0, 1197086.37 424153.962 0,
+ 1196780.008 424142.371 0, 1196473.645 424130.798 0, 1196167.281 424119.243 0, 1195860.916 424107.706 0, 1195554.551 424096.187 0, 1195248.186 424084.686 0, 1194941.819 424073.203 0, 1194635.452 424061.738 0, 1194329.084 424050.291 0, 1194022.716 424038.862 0,
+ 1193716.347 424027.452 0, 1193409.977 424016.059 0, 1193103.606 424004.684 0, 1192797.235 423993.328 0, 1192490.863 423981.989 0, 1192184.491 423970.668 0, 1191878.118 423959.366 0, 1191571.744 423948.081 0, 1191263.918 423936.761 0, 1191060.06 429484.823 0,
+ 1190856.186 435033.329 0, 1191163.356 435044.624 0, 1191469.077 435055.885 0, 1191774.797 435067.163 0, 1192080.516 435078.46 0, 1192386.235 435089.774 0, 1192691.953 435101.107 0, 1192997.67 435112.457 0, 1193303.387 435123.826 0, 1193609.103 435135.212 0,
+ 1193914.819 435146.617 0, 1194220.533 435158.039 0, 1194526.247 435169.48 0, 1194831.961 435180.938 0, 1195137.673 435192.414 0, 1195443.385 435203.909 0, 1195749.097 435215.421 0, 1196054.807 435226.952 0, 1196360.517 435238.5 0, 1196666.226 435250.066 0,
+ 1196971.935 435261.651 0, 1197277.643 435273.253 0, 1197583.35 435284.873 0, 1197889.057 435296.512 0, 1198193.315 435308.113 0, 1198500.468 435319.843 0, 1198806.172 435331.535 0, 1199111.876 435343.245 0, 1199417.579 435354.974 0, 1199723.281 435366.72 0,
+ 1200028.983 435378.484 0, 1200334.684 435390.266 0, 1200640.385 435402.067 0, 1200946.084 435413.885 0, 1201251.783 435425.721 0, 1201557.481 435437.576 0, 1201863.179 435449.448 0, 1202168.876 435461.338 0, 1202474.572 435473.246 0, 1202780.267 435485.173 0,
+ 1203085.962 435497.117 0, 1203391.656 435509.079 0, 1203697.349 435521.059 0, 1204003.042 435533.058 0, 1204308.734 435545.074 0, 1204614.425 435557.108 0, 1204920.116 435569.16 0, 1205225.805 435581.23 0, 1205530.048 435593.261 0, 1205749.597 430045.354 0,
+ 1205969.128 424497.89 0))
+
+POLYGON ((1234370.889 447931.961 0, 1234067.364 447918.241 0, 1233762.4 447904.473 0, 1233457.436 447890.723 0, 1233152.471 447876.991 0, 1232847.504 447863.277 0, 1232542.538 447849.581 0, 1232237.57 447835.903 0, 1231932.601 447822.243 0, 1231627.632 447808.601 0,
+ 1231322.662 447794.977 0, 1231017.691 447781.371 0, 1230712.719 447767.783 0, 1230407.746 447754.212 0, 1230102.773 447740.66 0, 1229797.799 447727.125 0, 1229492.824 447713.609 0, 1229187.848 447700.11 0, 1228882.872 447686.63 0, 1228577.894 447673.167 0,
+ 1228272.916 447659.723 0, 1227967.937 447646.296 0, 1227662.958 447632.887 0, 1227357.977 447619.496 0, 1227051.556 447606.06 0, 1226748.014 447592.769 0, 1226443.031 447579.432 0, 1226138.047 447566.113 0, 1225833.063 447552.811 0, 1225528.078 447539.528 0,
+ 1225223.092 447526.263 0, 1224918.105 447513.016 0, 1224613.117 447499.787 0, 1224308.129 447486.575 0, 1224003.14 447473.382 0, 1223698.15 447460.207 0, 1223393.159 447447.049 0, 1223088.168 447433.91 0, 1222783.176 447420.788 0, 1222478.183 447407.685 0,
+ 1222173.189 447394.599 0, 1221868.195 447381.531 0, 1221563.199 447368.481 0, 1221258.203 447355.45 0, 1220953.206 447342.436 0, 1220648.209 447329.44 0, 1220343.21 447316.462 0, 1220038.211 447303.502 0, 1219731.771 447290.499 0, 1219496.494 452839.079 0,
+ 1219261.198 458388.091 0, 1219566.982 458401.066 0, 1219871.328 458413.998 0, 1220175.673 458426.948 0, 1220480.018 458439.916 0, 1220784.361 458452.902 0, 1221088.704 458465.906 0, 1221393.046 458478.928 0, 1221697.388 458491.968 0, 1222001.728 458505.025 0,
+ 1222306.068 458518.101 0, 1222610.407 458531.194 0, 1222914.745 458544.306 0, 1223219.083 458557.435 0, 1223523.419 458570.582 0, 1223827.755 458583.747 0, 1224132.091 458596.93 0, 1224436.425 458610.131 0, 1224740.759 458623.35 0, 1225045.091 458636.587 0,
+ 1225349.423 458649.841 0, 1225653.755 458663.114 0, 1225958.085 458676.404 0, 1226262.415 458689.713 0, 1226565.308 458702.976 0, 1226871.072 458716.383 0, 1227175.399 458729.745 0, 1227479.726 458743.126 0, 1227784.052 458756.523 0, 1228088.377 458769.939 0,
+ 1228392.701 458783.373 0, 1228697.024 458796.825 0, 1229001.347 458810.294 0, 1229305.669 458823.782 0, 1229609.99 458837.287 0, 1229914.31 458850.811 0, 1230218.629 458864.352 0, 1230522.948 458877.911 0, 1230827.266 458891.488 0, 1231131.583 458905.083 0,
+ 1231435.899 458918.696 0, 1231740.215 458932.327 0, 1232044.529 458945.976 0, 1232348.843 458959.642 0, 1232653.156 458973.327 0, 1232957.468 458987.029 0, 1233261.78 459000.75 0, 1233566.09 459014.488 0, 1233868.965 459028.179 0, 1234119.937 453479.854 0,
+ 1234370.889 447931.961 0))
+
+POLYGON ((1248474.866 459709.535 0, 1248172.029 459694.988 0, 1247867.758 459680.39 0, 1247563.487 459665.81 0, 1247259.214 459651.248 0, 1246954.941 459636.704 0, 1246650.667 459622.177 0, 1246346.392 459607.669 0, 1246042.117 459593.178 0, 1245737.84 459578.706 0,
+ 1245433.563 459564.251 0, 1245129.284 459549.814 0, 1244825.005 459535.395 0, 1244520.725 459520.994 0, 1244216.444 459506.611 0, 1243912.163 459492.246 0, 1243607.88 459477.899 0, 1243303.597 459463.57 0, 1242999.313 459449.258 0, 1242695.028 459434.965 0,
+ 1242390.742 459420.689 0, 1242086.455 459406.432 0, 1241782.168 459392.192 0, 1241477.879 459377.97 0, 1241172.156 459363.699 0, 1240869.3 459349.58 0, 1240565.009 459335.412 0, 1240260.717 459321.262 0, 1239956.425 459307.129 0, 1239652.131 459293.015 0,
+ 1239347.837 459278.918 0, 1239043.542 459264.84 0, 1238739.246 459250.779 0, 1238434.949 459236.736 0, 1238130.652 459222.711 0, 1237826.353 459208.705 0, 1237522.054 459194.716 0, 1237217.754 459180.744 0, 1236913.453 459166.791 0, 1236609.152 459152.856 0,
+ 1236304.849 459138.938 0, 1236000.546 459125.039 0, 1235696.242 459111.157 0, 1235391.937 459097.294 0, 1235087.631 459083.448 0, 1234783.325 459069.62 0, 1234479.017 459055.81 0, 1234174.709 459042.018 0, 1233868.965 459028.179 0, 1233617.974 464576.933 0,
+ 1233366.964 470126.114 0, 1233672.051 470139.923 0, 1233975.706 470153.686 0, 1234279.361 470167.466 0, 1234583.014 470181.264 0, 1234886.666 470195.08 0, 1235190.318 470208.914 0, 1235493.969 470222.766 0, 1235797.619 470236.635 0, 1236101.269 470250.523 0,
+ 1236404.917 470264.428 0, 1236708.565 470278.351 0, 1237012.211 470292.293 0, 1237315.857 470306.252 0, 1237619.503 470320.228 0, 1237923.147 470334.223 0, 1238226.791 470348.236 0, 1238530.433 470362.266 0, 1238834.075 470376.315 0, 1239137.716 470390.381 0,
+ 1239441.356 470404.465 0, 1239744.996 470418.567 0, 1240048.634 470432.687 0, 1240352.272 470446.825 0, 1240654.478 470460.913 0, 1240959.545 470475.154 0, 1241263.18 470489.345 0, 1241566.815 470503.554 0, 1241870.448 470517.781 0, 1242174.081 470532.026 0,
+ 1242477.713 470546.289 0, 1242781.344 470560.57 0, 1243084.974 470574.868 0, 1243388.603 470589.185 0, 1243692.232 470603.519 0, 1243995.86 470617.871 0, 1244299.486 470632.241 0, 1244603.112 470646.629 0, 1244906.738 470661.035 0, 1245210.362 470675.459 0,
+ 1245513.985 470689.9 0, 1245817.608 470704.36 0, 1246121.23 470718.837 0, 1246424.851 470733.332 0, 1246728.471 470747.845 0, 1247032.09 470762.376 0, 1247335.708 470776.925 0, 1247639.326 470791.491 0, 1247941.513 470806.007 0, 1248208.2 465257.558 0,
+ 1248474.866 459709.535 0))
+
+POLYGON ((1262514.083 471527.073 0, 1262211.935 471511.704 0, 1261908.36 471496.279 0, 1261604.784 471480.873 0, 1261301.207 471465.484 0, 1260997.63 471450.114 0, 1260694.051 471434.761 0, 1260390.471 471419.426 0, 1260086.891 471404.109 0, 1259783.309 471388.809 0,
+ 1259479.727 471373.528 0, 1259176.144 471358.264 0, 1258872.56 471343.019 0, 1258568.975 471327.791 0, 1258265.389 471312.581 0, 1257961.802 471297.389 0, 1257658.214 471282.215 0, 1257354.626 471267.058 0, 1257051.036 471251.92 0, 1256747.446 471236.799 0,
+ 1256443.854 471221.697 0, 1256140.262 471206.612 0, 1255836.669 471191.545 0, 1255533.075 471176.496 0, 1255228.052 471161.394 0, 1254925.885 471146.451 0, 1254622.288 471131.456 0, 1254318.691 471116.478 0, 1254015.092 471101.518 0, 1253711.493 471086.576 0,
+ 1253407.893 471071.652 0, 1253104.292 471056.746 0, 1252800.69 471041.858 0, 1252497.088 471026.988 0, 1252193.484 471012.135 0, 1251889.879 470997.3 0, 1251586.274 470982.483 0, 1251282.668 470967.685 0, 1250979.061 470952.903 0, 1250675.453 470938.14 0,
+ 1250371.844 470923.395 0, 1250068.234 470908.668 0, 1249764.624 470893.958 0, 1249461.012 470879.266 0, 1249157.4 470864.592 0, 1248853.787 470849.936 0, 1248550.173 470835.298 0, 1248246.558 470820.678 0, 1247941.513 470806.007 0, 1247674.806 476354.879 0,
+ 1247408.078 481904.171 0, 1247712.467 481918.811 0, 1248015.429 481933.4 0, 1248318.39 481948.006 0, 1248621.35 481962.631 0, 1248924.309 481977.273 0, 1249227.267 481991.933 0, 1249530.224 482006.611 0, 1249833.181 482021.307 0, 1250136.136 482036.02 0,
+ 1250439.091 482050.752 0, 1250742.045 482065.501 0, 1251044.998 482080.268 0, 1251347.95 482095.053 0, 1251650.901 482109.856 0, 1251953.852 482124.677 0, 1252256.801 482139.515 0, 1252559.75 482154.371 0, 1252862.698 482169.245 0, 1253165.645 482184.137 0,
+ 1253468.591 482199.047 0, 1253771.536 482213.975 0, 1254074.48 482228.92 0, 1254377.424 482243.883 0, 1254678.941 482258.794 0, 1254983.308 482273.863 0, 1255286.249 482288.88 0, 1255589.189 482303.914 0, 1255892.128 482318.967 0, 1256195.066 482334.037 0,
+ 1256498.003 482349.125 0, 1256800.939 482364.231 0, 1257103.875 482379.355 0, 1257406.809 482394.496 0, 1257709.743 482409.656 0, 1258012.676 482424.833 0, 1258315.607 482440.028 0, 1258618.538 482455.241 0, 1258921.469 482470.471 0, 1259224.398 482485.72 0,
+ 1259527.326 482500.986 0, 1259830.253 482516.27 0, 1260133.18 482531.572 0, 1260436.105 482546.892 0, 1260739.03 482562.23 0, 1261041.954 482577.585 0, 1261344.877 482592.959 0, 1261647.799 482608.35 0, 1261949.296 482623.686 0, 1262231.7 477075.17 0,
+ 1262514.083 471527.073 0))
+
+POLYGON ((1276488.423 483384.28 0, 1276186.968 483368.092 0, 1275884.091 483351.845 0, 1275581.212 483335.616 0, 1275278.333 483319.404 0, 1274975.453 483303.211 0, 1274672.572 483287.035 0, 1274369.69 483270.878 0, 1274066.807 483254.738 0, 1273763.923 483238.616 0,
+ 1273461.038 483222.511 0, 1273158.152 483206.425 0, 1272855.266 483190.356 0, 1272552.378 483174.305 0, 1272249.489 483158.272 0, 1271946.6 483142.257 0, 1271643.709 483126.26 0, 1271340.817 483110.28 0, 1271037.925 483094.319 0, 1270735.032 483078.375 0,
+ 1270432.137 483062.449 0, 1270129.242 483046.541 0, 1269826.346 483030.65 0, 1269523.449 483014.778 0, 1269219.128 482998.849 0, 1268917.652 482983.086 0, 1268614.752 482967.267 0, 1268311.851 482951.466 0, 1268008.949 482935.683 0, 1267706.046 482919.917 0,
+ 1267403.143 482904.169 0, 1267100.238 482888.439 0, 1266797.333 482872.727 0, 1266494.426 482857.033 0, 1266191.519 482841.357 0, 1265888.611 482825.698 0, 1265585.701 482810.057 0, 1265282.791 482794.434 0, 1264979.88 482778.829 0, 1264676.968 482763.242 0,
+ 1264374.056 482747.673 0, 1264071.142 482732.121 0, 1263768.227 482716.587 0, 1263465.312 482701.071 0, 1263162.395 482685.573 0, 1262859.478 482670.093 0, 1262556.559 482654.63 0, 1262253.64 482639.186 0, 1261949.296 482623.686 0, 1261666.871 488172.62 0,
+ 1261384.424 493721.968 0, 1261688.112 493737.433 0, 1261990.378 493752.845 0, 1262292.643 493768.274 0, 1262594.907 493783.721 0, 1262897.171 493799.186 0, 1263199.433 493814.668 0, 1263501.695 493830.168 0, 1263803.955 493845.686 0, 1264106.215 493861.222 0,
+ 1264408.474 493876.776 0, 1264710.731 493892.347 0, 1265012.988 493907.937 0, 1265315.244 493923.544 0, 1265617.499 493939.169 0, 1265919.753 493954.811 0, 1266222.007 493970.472 0, 1266524.259 493986.15 0, 1266826.51 494001.846 0, 1267128.761 494017.56 0,
+ 1267431.01 494033.291 0, 1267733.259 494049.04 0, 1268035.507 494064.808 0, 1268337.753 494080.592 0, 1268638.58 494096.321 0, 1268942.244 494112.216 0, 1269244.488 494128.054 0, 1269546.731 494143.91 0, 1269848.973 494159.784 0, 1270151.214 494175.676 0,
+ 1270453.455 494191.585 0, 1270755.694 494207.512 0, 1271057.932 494223.457 0, 1271360.17 494239.42 0, 1271662.406 494255.401 0, 1271964.642 494271.399 0, 1272266.876 494287.415 0, 1272569.11 494303.449 0, 1272871.342 494319.501 0, 1273173.574 494335.571 0,
+ 1273475.805 494351.658 0, 1273778.035 494367.763 0, 1274080.264 494383.886 0, 1274382.492 494400.027 0, 1274684.719 494416.185 0, 1274986.945 494432.362 0, 1275289.17 494448.556 0, 1275591.394 494464.768 0, 1275892.199 494480.921 0, 1276190.322 488932.394 0,
+ 1276488.423 483384.28 0))
+
+POLYGON ((1290397.772 495280.859 0, 1290097.011 495263.855 0, 1289794.834 495246.79 0, 1289492.656 495229.742 0, 1289190.477 495212.712 0, 1288888.297 495195.699 0, 1288586.115 495178.705 0, 1288283.933 495161.728 0, 1287981.75 495144.769 0, 1287679.566 495127.828 0,
+ 1287377.381 495110.905 0, 1287075.195 495093.999 0, 1286773.008 495077.111 0, 1286470.819 495060.241 0, 1286168.63 495043.389 0, 1285866.44 495026.555 0, 1285564.249 495009.738 0, 1285262.057 494992.939 0, 1284959.864 494976.158 0, 1284657.67 494959.395 0,
+ 1284355.475 494942.649 0, 1284053.279 494925.922 0, 1283751.082 494909.212 0, 1283448.884 494892.52 0, 1283145.268 494875.767 0, 1282844.485 494859.189 0, 1282542.284 494842.55 0, 1282240.082 494825.929 0, 1281937.879 494809.326 0, 1281635.675 494792.74 0,
+ 1281333.47 494776.173 0, 1281031.264 494759.623 0, 1280729.058 494743.091 0, 1280426.85 494726.577 0, 1280124.641 494710.08 0, 1279822.431 494693.602 0, 1279520.221 494677.141 0, 1279218.009 494660.698 0, 1278915.796 494644.272 0, 1278613.583 494627.865 0,
+ 1278311.368 494611.475 0, 1278009.153 494595.103 0, 1277706.936 494578.749 0, 1277404.719 494562.412 0, 1277102.5 494546.094 0, 1276800.281 494529.793 0, 1276498.061 494513.51 0, 1276195.839 494497.245 0, 1275892.199 494480.921 0, 1275594.054 500029.86 0,
+ 1275295.887 505579.206 0, 1275598.871 505595.494 0, 1275900.439 505611.724 0, 1276202.006 505627.972 0, 1276503.572 505644.238 0, 1276805.137 505660.521 0, 1277106.702 505676.822 0, 1277408.265 505693.141 0, 1277709.827 505709.477 0, 1278011.389 505725.832 0,
+ 1278312.949 505742.204 0, 1278614.508 505758.594 0, 1278916.067 505775.001 0, 1279217.624 505791.427 0, 1279519.181 505807.87 0, 1279820.736 505824.33 0, 1280122.291 505840.809 0, 1280423.845 505857.305 0, 1280725.397 505873.819 0, 1281026.949 505890.351 0,
+ 1281328.5 505906.901 0, 1281630.049 505923.468 0, 1281931.598 505940.053 0, 1282233.146 505956.656 0, 1282533.279 505973.199 0, 1282836.238 505989.915 0, 1283137.783 506006.571 0, 1283439.327 506023.245 0, 1283740.87 506039.936 0, 1284042.412 506056.645 0,
+ 1284343.953 506073.373 0, 1284645.493 506090.117 0, 1284947.032 506106.88 0, 1285248.57 506123.66 0, 1285550.107 506140.458 0, 1285851.642 506157.274 0, 1286153.177 506174.108 0, 1286454.711 506190.959 0, 1286756.244 506207.828 0, 1287057.776 506224.715 0,
+ 1287359.307 506241.619 0, 1287660.837 506258.541 0, 1287962.366 506275.481 0, 1288263.894 506292.439 0, 1288565.422 506309.415 0, 1288866.948 506326.408 0, 1289168.473 506343.419 0, 1289469.997 506360.448 0, 1289770.107 506377.414 0, 1290083.951 500828.933 0,
+ 1290397.772 495280.859 0))
+
+POLYGON ((1304242.014 507216.512 0, 1303941.951 507198.697 0, 1303640.476 507180.817 0, 1303339 507162.954 0, 1303037.524 507145.109 0, 1302736.046 507127.282 0, 1302434.567 507109.472 0, 1302133.087 507091.68 0, 1301831.606 507073.906 0, 1301530.124 507056.15 0,
+ 1301228.641 507038.411 0, 1300927.157 507020.69 0, 1300625.671 507002.987 0, 1300324.185 506985.302 0, 1300022.698 506967.634 0, 1299721.21 506949.985 0, 1299419.72 506932.352 0, 1299118.23 506914.738 0, 1298816.738 506897.141 0, 1298515.246 506879.563 0,
+ 1298213.753 506862.001 0, 1297912.258 506844.458 0, 1297610.763 506826.932 0, 1297309.266 506809.424 0, 1297006.357 506791.852 0, 1296706.27 506774.462 0, 1296404.77 506757.007 0, 1296103.269 506739.57 0, 1295801.768 506722.151 0, 1295500.265 506704.75 0,
+ 1295198.761 506687.366 0, 1294897.256 506670 0, 1294595.751 506652.652 0, 1294294.244 506635.321 0, 1293992.736 506618.009 0, 1293691.227 506600.714 0, 1293389.717 506583.437 0, 1293088.206 506566.177 0, 1292786.694 506548.935 0, 1292485.181 506531.711 0,
+ 1292183.667 506514.505 0, 1291882.153 506497.317 0, 1291580.637 506480.146 0, 1291279.12 506462.993 0, 1290977.602 506445.858 0, 1290676.083 506428.74 0, 1290374.563 506411.64 0, 1290073.042 506394.558 0, 1289770.107 506377.414 0, 1289456.24 511926.301 0,
+ 1289142.351 517475.589 0, 1289444.629 517492.696 0, 1289745.497 517509.741 0, 1290046.364 517526.804 0, 1290347.23 517543.884 0, 1290648.094 517560.982 0, 1290948.958 517578.098 0, 1291249.821 517595.232 0, 1291550.683 517612.383 0, 1291851.543 517629.552 0,
+ 1292152.403 517646.738 0, 1292453.262 517663.943 0, 1292754.119 517681.165 0, 1293054.976 517698.405 0, 1293355.832 517715.662 0, 1293656.686 517732.937 0, 1293957.54 517750.23 0, 1294258.393 517767.541 0, 1294559.244 517784.869 0, 1294860.095 517802.215 0,
+ 1295160.945 517819.579 0, 1295461.793 517836.96 0, 1295762.641 517854.36 0, 1296063.487 517871.776 0, 1296362.924 517889.129 0, 1296665.177 517906.663 0, 1296966.02 517924.133 0, 1297266.863 517941.621 0, 1297567.704 517959.126 0, 1297868.544 517976.649 0,
+ 1298169.384 517994.19 0, 1298470.222 518011.749 0, 1298771.059 518029.325 0, 1299071.895 518046.919 0, 1299372.731 518064.53 0, 1299673.565 518082.16 0, 1299974.398 518099.807 0, 1300275.23 518117.472 0, 1300576.061 518135.154 0, 1300876.891 518152.854 0,
+ 1301177.72 518170.572 0, 1301478.548 518188.308 0, 1301779.374 518206.061 0, 1302080.2 518223.832 0, 1302381.025 518241.621 0, 1302681.849 518259.427 0, 1302982.671 518277.251 0, 1303283.493 518295.093 0, 1303582.906 518312.869 0, 1303912.472 512764.49 0,
+ 1304242.014 507216.512 0))
+
+POLYGON ((1318021.039 519190.943 0, 1317721.674 519172.321 0, 1317420.904 519153.629 0, 1317120.133 519134.955 0, 1316819.361 519116.299 0, 1316518.588 519097.66 0, 1316217.813 519079.04 0, 1315917.038 519060.436 0, 1315616.261 519041.851 0, 1315315.484 519023.283 0,
+ 1315014.705 519004.733 0, 1314713.925 518986.201 0, 1314413.144 518967.687 0, 1314112.362 518949.19 0, 1313811.579 518930.71 0, 1313510.795 518912.249 0, 1313210.01 518893.805 0, 1312909.223 518875.379 0, 1312608.436 518856.971 0, 1312307.647 518838.58 0,
+ 1312006.858 518820.207 0, 1311706.067 518801.852 0, 1311405.275 518783.514 0, 1311104.482 518765.195 0, 1310802.283 518746.807 0, 1310502.893 518728.608 0, 1310202.097 518710.341 0, 1309901.3 518692.092 0, 1309600.502 518673.861 0, 1309299.703 518655.647 0,
+ 1308998.902 518637.451 0, 1308698.101 518619.273 0, 1308397.298 518601.113 0, 1308096.495 518582.97 0, 1307795.69 518564.845 0, 1307494.884 518546.737 0, 1307194.077 518528.648 0, 1306893.27 518510.576 0, 1306592.461 518492.521 0, 1306291.651 518474.485 0,
+ 1305990.84 518456.466 0, 1305690.028 518438.465 0, 1305389.214 518420.481 0, 1305088.4 518402.516 0, 1304787.585 518384.568 0, 1304486.769 518366.637 0, 1304185.951 518348.725 0, 1303885.133 518330.83 0, 1303582.906 518312.869 0, 1303253.317 523861.647 0,
+ 1302923.704 529410.82 0, 1303225.274 529428.742 0, 1303525.439 529446.598 0, 1303825.603 529464.471 0, 1304125.766 529482.363 0, 1304425.929 529500.272 0, 1304726.09 529518.199 0, 1305026.249 529536.143 0, 1305326.408 529554.105 0, 1305626.566 529572.085 0,
+ 1305926.723 529590.082 0, 1306226.879 529608.097 0, 1306527.033 529626.13 0, 1306827.187 529644.181 0, 1307127.34 529662.249 0, 1307427.491 529680.334 0, 1307727.642 529698.438 0, 1308027.791 529716.559 0, 1308327.939 529734.698 0, 1308628.086 529752.854 0,
+ 1308928.233 529771.028 0, 1309228.378 529789.22 0, 1309528.522 529807.429 0, 1309828.665 529825.656 0, 1310127.404 529843.816 0, 1310428.947 529862.163 0, 1310729.087 529880.443 0, 1311029.226 529898.741 0, 1311329.363 529917.057 0, 1311629.5 529935.39 0,
+ 1311929.635 529953.74 0, 1312229.769 529972.109 0, 1312529.903 529990.495 0, 1312830.035 530008.899 0, 1313130.166 530027.32 0, 1313430.296 530045.759 0, 1313730.425 530064.216 0, 1314030.552 530082.69 0, 1314330.679 530101.182 0, 1314630.805 530119.692 0,
+ 1314930.929 530138.219 0, 1315231.053 530156.764 0, 1315531.175 530175.327 0, 1315831.296 530193.907 0, 1316131.417 530212.505 0, 1316431.536 530231.121 0, 1316731.654 530249.754 0, 1317031.771 530268.405 0, 1317330.485 530286.987 0, 1317675.774 524738.767 0,
+ 1318021.039 519190.943 0))
+
+POLYGON ((1331734.734 531203.852 0, 1331436.071 531184.427 0, 1331136.008 531164.928 0, 1330835.943 531145.447 0, 1330535.878 531125.983 0, 1330235.812 531106.537 0, 1329935.744 531087.109 0, 1329635.675 531067.699 0, 1329335.605 531048.306 0, 1329035.534 531028.931 0,
+ 1328735.462 531009.573 0, 1328435.389 530990.233 0, 1328135.315 530970.911 0, 1327835.239 530951.606 0, 1327535.162 530932.319 0, 1327235.085 530913.05 0, 1326935.006 530893.799 0, 1326634.925 530874.565 0, 1326334.844 530855.348 0, 1326034.762 530836.15 0,
+ 1325734.678 530816.969 0, 1325434.594 530797.806 0, 1325134.508 530778.66 0, 1324834.421 530759.532 0, 1324532.933 530740.333 0, 1324234.244 530721.329 0, 1323934.154 530702.254 0, 1323634.062 530683.197 0, 1323333.97 530664.157 0, 1323033.876 530645.135 0,
+ 1322733.782 530626.131 0, 1322433.686 530607.144 0, 1322133.589 530588.175 0, 1321833.491 530569.224 0, 1321533.392 530550.291 0, 1321233.291 530531.375 0, 1320933.19 530512.476 0, 1320633.087 530493.596 0, 1320332.984 530474.733 0, 1320032.879 530455.887 0,
+ 1319732.773 530437.06 0, 1319432.666 530418.25 0, 1319132.558 530399.457 0, 1318832.449 530380.683 0, 1318532.339 530361.926 0, 1318232.227 530343.186 0, 1317932.115 530324.465 0, 1317632.001 530305.76 0, 1317330.485 530286.987 0, 1316985.171 535835.599 0,
+ 1316639.834 541384.6 0, 1316940.693 541403.333 0, 1317240.154 541421.997 0, 1317539.613 541440.677 0, 1317839.071 541459.376 0, 1318138.528 541478.092 0, 1318437.984 541496.826 0, 1318737.439 541515.577 0, 1319036.893 541534.347 0, 1319336.346 541553.133 0,
+ 1319635.797 541571.938 0, 1319935.248 541590.759 0, 1320234.697 541609.599 0, 1320534.146 541628.456 0, 1320833.593 541647.331 0, 1321133.039 541666.223 0, 1321432.484 541685.134 0, 1321731.928 541704.061 0, 1322031.37 541723.007 0, 1322330.812 541741.969 0,
+ 1322630.252 541760.95 0, 1322929.692 541779.948 0, 1323229.13 541798.964 0, 1323528.567 541817.997 0, 1323826.606 541836.96 0, 1324127.438 541856.117 0, 1324426.872 541875.204 0, 1324726.304 541894.307 0, 1325025.736 541913.429 0, 1325325.166 541932.568 0,
+ 1325624.595 541951.725 0, 1325924.023 541970.899 0, 1326223.45 541990.092 0, 1326522.876 542009.301 0, 1326822.301 542028.528 0, 1327121.725 542047.773 0, 1327421.147 542067.036 0, 1327720.568 542086.316 0, 1328019.989 542105.614 0, 1328319.408 542124.929 0,
+ 1328618.826 542144.262 0, 1328918.242 542163.613 0, 1329217.658 542182.981 0, 1329517.072 542202.367 0, 1329816.486 542221.771 0, 1330115.898 542241.192 0, 1330415.309 542260.631 0, 1330714.719 542280.087 0, 1331012.732 542299.47 0, 1331373.745 536751.467 0,
+ 1331734.734 531203.852 0))
+
+POLYGON ((1345382.989 543254.942 0, 1345085.029 543234.717 0, 1344785.675 543214.415 0, 1344486.32 543194.13 0, 1344186.964 543173.863 0, 1343887.607 543153.614 0, 1343588.248 543133.382 0, 1343288.889 543113.168 0, 1342989.528 543092.972 0, 1342690.166 543072.793 0,
+ 1342390.802 543052.632 0, 1342091.438 543032.488 0, 1341792.072 543012.362 0, 1341492.705 542992.254 0, 1341193.337 542972.163 0, 1340893.968 542952.09 0, 1340594.598 542932.034 0, 1340295.226 542911.996 0, 1339995.853 542891.976 0, 1339696.48 542871.973 0,
+ 1339397.104 542851.988 0, 1339097.728 542832.021 0, 1338798.351 542812.071 0, 1338498.972 542792.139 0, 1338198.198 542772.132 0, 1337900.211 542752.327 0, 1337600.829 542732.448 0, 1337301.446 542712.586 0, 1337002.061 542692.742 0, 1336702.676 542672.916 0,
+ 1336403.289 542653.107 0, 1336103.901 542633.316 0, 1335804.512 542613.542 0, 1335505.121 542593.786 0, 1335205.73 542574.048 0, 1334906.337 542554.327 0, 1334606.944 542534.624 0, 1334307.549 542514.938 0, 1334008.152 542495.271 0, 1333708.755 542475.62 0,
+ 1333409.357 542455.988 0, 1333109.957 542436.373 0, 1332810.556 542416.775 0, 1332511.155 542397.196 0, 1332211.752 542377.633 0, 1331912.347 542358.089 0, 1331612.942 542338.562 0, 1331313.535 542319.053 0, 1331012.732 542299.47 0, 1330651.694 547847.86 0,
+ 1330290.63 553396.632 0, 1330590.777 553416.172 0, 1330889.531 553435.639 0, 1331188.283 553455.123 0, 1331487.034 553474.625 0, 1331785.784 553494.145 0, 1332084.533 553513.682 0, 1332383.28 553533.236 0, 1332682.027 553552.808 0, 1332980.772 553572.398 0,
+ 1333279.516 553592.006 0, 1333578.259 553611.631 0, 1333877.001 553631.273 0, 1334175.741 553650.933 0, 1334474.481 553670.611 0, 1334773.219 553690.306 0, 1335071.957 553710.019 0, 1335370.693 553729.75 0, 1335669.427 553749.498 0, 1335968.161 553769.263 0,
+ 1336266.894 553789.046 0, 1336565.625 553808.847 0, 1336864.355 553828.666 0, 1337163.084 553848.502 0, 1337460.421 553868.263 0, 1337760.539 553888.226 0, 1338059.264 553908.115 0, 1338357.989 553928.021 0, 1338656.712 553947.945 0, 1338955.434 553967.887 0,
+ 1339254.155 553987.846 0, 1339552.875 554007.822 0, 1339851.593 554027.816 0, 1340150.31 554047.828 0, 1340449.027 554067.858 0, 1340747.741 554087.905 0, 1341046.455 554107.969 0, 1341345.168 554128.051 0, 1341643.879 554148.151 0, 1341942.59 554168.268 0,
+ 1342241.299 554188.403 0, 1342540.006 554208.555 0, 1342838.713 554228.725 0, 1343137.419 554248.913 0, 1343436.123 554269.118 0, 1343734.826 554289.341 0, 1344033.528 554309.581 0, 1344332.229 554329.839 0, 1344629.538 554350.02 0, 1345006.276 548802.29 0,
+ 1345382.989 543254.942 0))
+
+POLYGON ((1358965.695 555343.914 0, 1358668.442 555322.893 0, 1358369.799 555301.791 0, 1358071.156 555280.707 0, 1357772.511 555259.641 0, 1357473.865 555238.592 0, 1357175.218 555217.56 0, 1356876.569 555196.547 0, 1356577.92 555175.55 0, 1356279.269 555154.572 0,
+ 1355980.616 555133.611 0, 1355681.963 555112.667 0, 1355383.308 555091.741 0, 1355084.652 555070.833 0, 1354785.995 555049.942 0, 1354487.337 555029.069 0, 1354188.677 555008.213 0, 1353890.016 554987.375 0, 1353591.354 554966.555 0, 1353292.691 554945.752 0,
+ 1352994.027 554924.966 0, 1352695.361 554904.199 0, 1352396.694 554883.448 0, 1352098.026 554862.716 0, 1351797.968 554841.905 0, 1351500.686 554821.303 0, 1351202.014 554800.624 0, 1350903.341 554779.961 0, 1350604.667 554759.317 0, 1350305.991 554738.69 0,
+ 1350007.315 554718.08 0, 1349708.637 554697.488 0, 1349409.958 554676.914 0, 1349111.277 554656.357 0, 1348812.596 554635.818 0, 1348513.913 554615.296 0, 1348215.229 554594.792 0, 1347916.544 554574.306 0, 1347617.858 554553.837 0, 1347319.17 554533.385 0,
+ 1347020.481 554512.952 0, 1346721.791 554492.535 0, 1346423.1 554472.137 0, 1346124.408 554451.756 0, 1345825.714 554431.393 0, 1345527.02 554411.047 0, 1345228.324 554390.718 0, 1344929.627 554370.408 0, 1344629.538 554350.02 0, 1344252.774 559898.13 0,
+ 1343875.984 565446.617 0, 1344175.417 565466.96 0, 1344473.461 565487.226 0, 1344771.504 565507.51 0, 1345069.545 565527.811 0, 1345367.586 565548.13 0, 1345665.625 565568.467 0, 1345963.663 565588.821 0, 1346261.7 565609.192 0, 1346559.735 565629.581 0,
+ 1346857.77 565649.988 0, 1347155.803 565670.412 0, 1347453.835 565690.853 0, 1347751.866 565711.313 0, 1348049.896 565731.789 0, 1348347.924 565752.284 0, 1348645.951 565772.796 0, 1348943.977 565793.325 0, 1349242.002 565813.872 0, 1349540.026 565834.436 0,
+ 1349838.048 565855.018 0, 1350136.069 565875.618 0, 1350434.089 565896.235 0, 1350732.108 565916.87 0, 1351028.74 565937.426 0, 1351328.142 565958.191 0, 1351626.157 565978.879 0, 1351924.171 565999.583 0, 1352222.183 566020.306 0, 1352520.195 566041.046 0,
+ 1352818.205 566061.803 0, 1353116.214 566082.578 0, 1353414.222 566103.371 0, 1353712.228 566124.181 0, 1354010.234 566145.008 0, 1354308.238 566165.853 0, 1354606.241 566186.716 0, 1354904.242 566207.596 0, 1355202.243 566228.494 0, 1355500.242 566249.409 0,
+ 1355798.24 566270.342 0, 1356096.237 566291.292 0, 1356394.232 566312.26 0, 1356692.226 566333.246 0, 1356990.219 566354.249 0, 1357288.211 566375.269 0, 1357586.202 566396.307 0, 1357884.191 566417.363 0, 1358180.795 566438.338 0, 1358573.258 560890.938 0,
+ 1358965.695 555343.914 0))
+
+POLYGON ((1372482.746 567470.468 0, 1372186.201 567448.655 0, 1371888.272 567426.758 0, 1371590.342 567404.878 0, 1371292.411 567383.016 0, 1370994.478 567361.171 0, 1370696.545 567339.344 0, 1370398.61 567317.534 0, 1370100.673 567295.742 0, 1369802.736 567273.967 0,
+ 1369504.797 567252.21 0, 1369206.856 567230.471 0, 1368908.915 567208.749 0, 1368610.972 567187.044 0, 1368313.028 567165.357 0, 1368015.083 567143.688 0, 1367717.136 567122.036 0, 1367419.189 567100.401 0, 1367121.239 567078.785 0, 1366823.289 567057.185 0,
+ 1366525.337 567035.604 0, 1366227.384 567014.04 0, 1365929.43 566992.493 0, 1365631.475 566970.964 0, 1365332.135 566949.352 0, 1365035.56 566927.958 0, 1364737.601 566906.482 0, 1364439.64 566885.023 0, 1364141.678 566863.581 0, 1363843.715 566842.157 0,
+ 1363545.751 566820.751 0, 1363247.786 566799.362 0, 1362949.819 566777.991 0, 1362651.851 566756.637 0, 1362353.881 566735.301 0, 1362055.911 566713.982 0, 1361757.939 566692.681 0, 1361459.966 566671.398 0, 1361161.991 566650.132 0, 1360864.016 566628.883 0,
+ 1360566.039 566607.652 0, 1360268.061 566586.439 0, 1359970.081 566565.243 0, 1359672.101 566544.064 0, 1359374.119 566522.904 0, 1359076.136 566501.76 0, 1358778.152 566480.635 0, 1358480.166 566459.526 0, 1358180.795 566438.338 0, 1357788.305 571986.111 0,
+ 1357395.788 577534.255 0, 1357694.504 577555.397 0, 1357991.836 577576.459 0, 1358289.167 577597.538 0, 1358586.497 577618.635 0, 1358883.826 577639.75 0, 1359181.154 577660.882 0, 1359478.48 577682.031 0, 1359775.805 577703.198 0, 1360073.129 577724.382 0,
+ 1360370.451 577745.584 0, 1360667.773 577766.804 0, 1360965.093 577788.041 0, 1361262.412 577809.295 0, 1361559.729 577830.567 0, 1361857.045 577851.857 0, 1362154.36 577873.163 0, 1362451.674 577894.488 0, 1362748.987 577915.83 0, 1363046.298 577937.189 0,
+ 1363343.608 577958.566 0, 1363640.917 577979.961 0, 1363938.224 578001.373 0, 1364235.531 578022.802 0, 1364531.455 578044.149 0, 1364830.139 578065.713 0, 1365127.442 578087.195 0, 1365424.743 578108.695 0, 1365722.043 578130.212 0, 1366019.341 578151.746 0,
+ 1366316.639 578173.298 0, 1366613.935 578194.867 0, 1366911.23 578216.454 0, 1367208.523 578238.059 0, 1367505.816 578259.681 0, 1367803.107 578281.32 0, 1368100.396 578302.977 0, 1368397.685 578324.651 0, 1368694.972 578346.343 0, 1368992.258 578368.053 0,
+ 1369289.543 578389.78 0, 1369586.826 578411.524 0, 1369884.108 578433.286 0, 1370181.389 578455.065 0, 1370478.669 578476.862 0, 1370775.947 578498.677 0, 1371073.224 578520.508 0, 1371370.499 578542.358 0, 1371666.395 578564.123 0, 1372074.584 573017.111 0,
+ 1372482.746 567470.468 0))
+
+POLYGON ((1385934.035 579634.305 0, 1385638.2 579611.703 0, 1385340.987 579589.014 0, 1385043.773 579566.342 0, 1384746.558 579543.688 0, 1384449.341 579521.052 0, 1384152.123 579498.432 0, 1383854.903 579475.831 0, 1383557.683 579453.246 0, 1383260.46 579430.68 0,
+ 1382963.237 579408.131 0, 1382666.012 579385.599 0, 1382368.786 579363.085 0, 1382071.559 579340.588 0, 1381774.33 579318.109 0, 1381477.1 579295.647 0, 1381179.869 579273.203 0, 1380882.636 579250.776 0, 1380585.402 579228.367 0, 1380288.167 579205.975 0,
+ 1379990.93 579183.601 0, 1379693.692 579161.244 0, 1379396.453 579138.905 0, 1379099.212 579116.583 0, 1378800.593 579094.175 0, 1378504.727 579071.992 0, 1378207.483 579049.723 0, 1377910.237 579027.471 0, 1377612.99 579005.236 0, 1377315.741 578983.02 0,
+ 1377018.492 578960.82 0, 1376721.241 578938.639 0, 1376423.988 578916.474 0, 1376126.735 578894.327 0, 1375829.48 578872.198 0, 1375532.223 578850.086 0, 1375234.966 578827.992 0, 1374937.707 578805.915 0, 1374640.447 578783.856 0, 1374343.185 578761.814 0,
+ 1374045.922 578739.79 0, 1373748.658 578717.783 0, 1373451.393 578695.793 0, 1373154.126 578673.821 0, 1372856.858 578651.867 0, 1372559.589 578629.93 0, 1372262.319 578608.011 0, 1371965.047 578586.109 0, 1371666.395 578564.123 0, 1371258.179 584111.503 0,
+ 1370849.936 589659.246 0, 1371147.932 589681.183 0, 1371444.551 589703.037 0, 1371741.168 589724.908 0, 1372037.784 589746.797 0, 1372334.399 589768.703 0, 1372631.013 589790.627 0, 1372927.625 589812.568 0, 1373224.236 589834.526 0, 1373520.846 589856.502 0,
+ 1373817.454 589878.496 0, 1374114.061 589900.507 0, 1374410.667 589922.535 0, 1374707.272 589944.581 0, 1375003.875 589966.644 0, 1375300.477 589988.725 0, 1375597.078 590010.823 0, 1375893.677 590032.939 0, 1376190.275 590055.072 0, 1376486.872 590077.222 0,
+ 1376783.467 590099.39 0, 1377080.062 590121.576 0, 1377376.654 590143.779 0, 1377673.246 590165.999 0, 1377968.462 590188.134 0, 1378266.425 590210.492 0, 1378563.013 590232.765 0, 1378859.599 590255.055 0, 1379156.184 590277.363 0, 1379452.768 590299.688 0,
+ 1379749.35 590322.03 0, 1380045.931 590344.39 0, 1380342.511 590366.768 0, 1380639.089 590389.163 0, 1380935.666 590411.575 0, 1381232.242 590434.005 0, 1381528.817 590456.452 0, 1381825.39 590478.917 0, 1382121.962 590501.399 0, 1382418.532 590523.899 0,
+ 1382715.101 590546.416 0, 1383011.669 590568.951 0, 1383308.236 590591.503 0, 1383604.801 590614.072 0, 1383901.365 590636.659 0, 1384197.927 590659.263 0, 1384494.488 590681.885 0, 1384791.048 590704.525 0, 1385086.233 590727.076 0, 1385510.148 585180.509 0,
+ 1385934.035 579634.305 0))
+
+POLYGON ((1399319.457 591835.123 0, 1399024.335 591811.737 0, 1398727.84 591788.26 0, 1398431.344 591764.8 0, 1398134.846 591741.358 0, 1397838.348 591717.933 0, 1397541.847 591694.526 0, 1397245.346 591671.136 0, 1396948.843 591647.764 0, 1396652.338 591624.409 0,
+ 1396355.833 591601.072 0, 1396059.325 591577.752 0, 1395762.817 591554.449 0, 1395466.307 591531.164 0, 1395169.796 591507.896 0, 1394873.283 591484.646 0, 1394576.769 591461.413 0, 1394280.254 591438.198 0, 1393983.737 591415 0, 1393687.219 591391.82 0,
+ 1393390.7 591368.657 0, 1393094.179 591345.512 0, 1392797.657 591322.384 0, 1392501.133 591299.273 0, 1392203.237 591276.073 0, 1391908.082 591253.104 0, 1391611.555 591230.046 0, 1391315.026 591207.005 0, 1391018.496 591183.982 0, 1390721.964 591160.976 0,
+ 1390425.431 591137.988 0, 1390128.897 591115.017 0, 1389832.361 591092.063 0, 1389535.824 591069.127 0, 1389239.285 591046.209 0, 1388942.746 591023.308 0, 1388646.205 591000.424 0, 1388349.662 590977.558 0, 1388053.118 590954.709 0, 1387756.573 590931.878 0,
+ 1387460.027 590909.064 0, 1387163.479 590886.267 0, 1386866.93 590863.488 0, 1386570.379 590840.727 0, 1386273.827 590817.983 0, 1385977.274 590795.256 0, 1385680.72 590772.547 0, 1385384.164 590749.856 0, 1385086.233 590727.076 0, 1384662.291 596274.005 0,
+ 1384238.321 601821.29 0, 1384535.596 601844.019 0, 1384831.499 601866.661 0, 1385127.4 601889.32 0, 1385423.301 601911.997 0, 1385719.2 601934.691 0, 1386015.097 601957.402 0, 1386310.993 601980.131 0, 1386606.888 602002.877 0, 1386902.782 602025.641 0,
+ 1387198.674 602048.422 0, 1387494.565 602071.22 0, 1387790.454 602094.036 0, 1388086.342 602116.869 0, 1388382.229 602139.72 0, 1388678.115 602162.588 0, 1388973.999 602185.474 0, 1389269.881 602208.377 0, 1389565.763 602231.297 0, 1389861.643 602254.235 0,
+ 1390157.522 602277.19 0, 1390453.399 602300.162 0, 1390749.275 602323.152 0, 1391045.15 602346.16 0, 1391339.654 602369.078 0, 1391636.895 602392.227 0, 1391932.766 602415.287 0, 1392228.635 602438.364 0, 1392524.503 602461.458 0, 1392820.369 602484.57 0,
+ 1393116.234 602507.7 0, 1393412.098 602530.846 0, 1393707.961 602554.01 0, 1394003.822 602577.192 0, 1394299.681 602600.391 0, 1394595.54 602623.607 0, 1394891.397 602646.841 0, 1395187.252 602670.092 0, 1395483.107 602693.361 0, 1395778.959 602716.647 0,
+ 1396074.811 602739.951 0, 1396370.661 602763.272 0, 1396666.51 602786.61 0, 1396962.357 602809.966 0, 1397258.203 602833.339 0, 1397554.048 602856.729 0, 1397849.891 602880.137 0, 1398145.733 602903.562 0, 1398440.206 602926.897 0, 1398879.846 597380.831 0,
+ 1399319.457 591835.123 0))
+
+POLYGON ((1412638.91 604072.622 0, 1412344.502 604048.456 0, 1412048.727 604024.194 0, 1411752.951 603999.951 0, 1411457.174 603975.725 0, 1411161.395 603951.516 0, 1410865.615 603927.324 0, 1410569.833 603903.15 0, 1410274.05 603878.994 0, 1409978.266 603854.854 0,
+ 1409682.48 603830.733 0, 1409386.692 603806.628 0, 1409090.904 603782.541 0, 1408795.114 603758.472 0, 1408499.322 603734.419 0, 1408203.529 603710.385 0, 1407907.735 603686.367 0, 1407611.939 603662.367 0, 1407316.142 603638.385 0, 1407020.343 603614.42 0,
+ 1406724.543 603590.472 0, 1406428.741 603566.542 0, 1406132.939 603542.629 0, 1405837.134 603518.733 0, 1405539.962 603494.745 0, 1405245.522 603470.995 0, 1404949.713 603447.151 0, 1404653.903 603423.326 0, 1404358.092 603399.517 0, 1404062.279 603375.726 0,
+ 1403766.465 603351.953 0, 1403470.65 603328.196 0, 1403174.833 603304.458 0, 1402879.014 603280.736 0, 1402583.195 603257.032 0, 1402287.374 603233.346 0, 1401991.551 603209.677 0, 1401695.727 603186.025 0, 1401399.902 603162.391 0, 1401104.076 603138.774 0,
+ 1400808.247 603115.174 0, 1400512.418 603091.592 0, 1400216.587 603068.028 0, 1399920.755 603044.48 0, 1399624.922 603020.95 0, 1399329.087 602997.438 0, 1399033.25 602973.943 0, 1398737.412 602950.465 0, 1398440.206 602926.897 0, 1398000.538 608473.317 0,
+ 1397560.842 614020.087 0, 1397857.393 614043.604 0, 1398152.577 614067.03 0, 1398447.761 614090.473 0, 1398742.943 614113.933 0, 1399038.124 614137.411 0, 1399333.303 614160.906 0, 1399628.481 614184.419 0, 1399923.657 614207.949 0, 1400218.832 614231.496 0,
+ 1400514.006 614255.061 0, 1400809.179 614278.643 0, 1401104.35 614302.243 0, 1401399.519 614325.86 0, 1401694.687 614349.494 0, 1401989.854 614373.146 0, 1402285.02 614396.815 0, 1402580.184 614420.501 0, 1402875.346 614444.205 0, 1403170.507 614467.926 0,
+ 1403465.667 614491.664 0, 1403760.826 614515.42 0, 1404055.983 614539.194 0, 1404351.138 614562.984 0, 1404644.929 614586.682 0, 1404941.445 614610.618 0, 1405236.597 614634.46 0, 1405531.747 614658.32 0, 1405826.895 614682.198 0, 1406122.043 614706.093 0,
+ 1406417.188 614730.005 0, 1406712.333 614753.935 0, 1407007.476 614777.882 0, 1407302.617 614801.846 0, 1407597.758 614825.828 0, 1407892.896 614849.827 0, 1408188.034 614873.843 0, 1408483.17 614897.877 0, 1408778.304 614921.928 0, 1409073.437 614945.997 0,
+ 1409368.569 614970.083 0, 1409663.699 614994.186 0, 1409958.828 615018.307 0, 1410253.955 615042.445 0, 1410549.081 615066.6 0, 1410844.206 615090.773 0, 1411139.329 615114.963 0, 1411434.451 615139.171 0, 1411728.209 615163.284 0, 1412183.574 609617.777 0,
+ 1412638.91 604072.622 0))
+
+POLYGON ((1425892.29 616346.501 0, 1425598.599 616321.558 0, 1425303.547 616296.517 0, 1425008.493 616271.493 0, 1424713.438 616246.486 0, 1424418.381 616221.497 0, 1424123.323 616196.525 0, 1423828.264 616171.571 0, 1423533.203 616146.634 0, 1423238.14 616121.714 0,
+ 1422943.076 616096.812 0, 1422648.011 616071.927 0, 1422352.944 616047.06 0, 1422057.876 616022.21 0, 1421762.806 615997.377 0, 1421467.735 615972.561 0, 1421172.662 615947.763 0, 1420877.588 615922.983 0, 1420582.512 615898.219 0, 1420287.435 615873.473 0,
+ 1419992.357 615848.745 0, 1419697.277 615824.033 0, 1419402.195 615799.34 0, 1419107.112 615774.663 0, 1418810.667 615749.89 0, 1418516.942 615725.362 0, 1418221.855 615700.738 0, 1417926.766 615676.131 0, 1417631.676 615651.541 0, 1417336.585 615626.969 0,
+ 1417041.492 615602.414 0, 1416746.397 615577.876 0, 1416451.301 615553.356 0, 1416156.204 615528.853 0, 1415861.105 615504.368 0, 1415566.005 615479.9 0, 1415270.903 615455.449 0, 1414975.8 615431.016 0, 1414680.695 615406.6 0, 1414385.589 615382.201 0,
+ 1414090.482 615357.82 0, 1413795.373 615333.456 0, 1413500.263 615309.11 0, 1413205.151 615284.781 0, 1412910.038 615260.469 0, 1412614.923 615236.174 0, 1412319.807 615211.897 0, 1412024.69 615187.638 0, 1411728.209 615163.284 0, 1411272.816 620709.137 0,
+ 1410817.394 626255.336 0, 1411113.219 626279.636 0, 1411407.684 626303.842 0, 1411702.147 626328.065 0, 1411996.609 626352.306 0, 1412291.069 626376.564 0, 1412585.528 626400.839 0, 1412879.985 626425.132 0, 1413174.442 626449.442 0, 1413468.896 626473.769 0,
+ 1413763.349 626498.113 0, 1414057.801 626522.475 0, 1414352.251 626546.855 0, 1414646.7 626571.251 0, 1414941.148 626595.665 0, 1415235.594 626620.097 0, 1415530.038 626644.545 0, 1415824.481 626669.011 0, 1416118.923 626693.494 0, 1416413.363 626717.995 0,
+ 1416707.802 626742.513 0, 1417002.239 626767.048 0, 1417296.675 626791.601 0, 1417591.11 626816.171 0, 1417884.185 626840.644 0, 1418179.974 626865.362 0, 1418474.404 626889.984 0, 1418768.833 626914.624 0, 1419063.26 626939.28 0, 1419357.686 626963.954 0,
+ 1419652.11 626988.645 0, 1419946.533 627013.354 0, 1420240.954 627038.08 0, 1420535.374 627062.823 0, 1420829.793 627087.583 0, 1421124.21 627112.361 0, 1421418.626 627137.157 0, 1421713.04 627161.969 0, 1422007.452 627186.799 0, 1422301.863 627211.646 0,
+ 1422596.273 627236.511 0, 1422890.681 627261.392 0, 1423185.088 627286.292 0, 1423479.494 627311.208 0, 1423773.897 627336.142 0, 1424068.3 627361.093 0, 1424362.701 627386.062 0, 1424657.1 627411.047 0, 1424950.142 627435.935 0, 1425421.23 621891.046 0,
+ 1425892.29 616346.501 0))
+
+POLYGON ((1439079.497 628656.458 0, 1438786.525 628630.742 0, 1438492.197 628604.925 0, 1438197.868 628579.124 0, 1437903.537 628553.342 0, 1437609.205 628527.576 0, 1437314.871 628501.828 0, 1437020.536 628476.097 0, 1436726.199 628450.384 0, 1436431.861 628424.688 0,
+ 1436137.521 628399.009 0, 1435843.18 628373.347 0, 1435548.837 628347.703 0, 1435254.493 628322.076 0, 1434960.147 628296.467 0, 1434665.8 628270.874 0, 1434371.451 628245.299 0, 1434077.1 628219.742 0, 1433782.748 628194.202 0, 1433488.395 628168.679 0,
+ 1433194.04 628143.173 0, 1432899.684 628117.685 0, 1432605.326 628092.214 0, 1432310.967 628066.76 0, 1432015.25 628041.207 0, 1431722.243 628015.905 0, 1431427.879 627990.503 0, 1431133.514 627965.119 0, 1430839.147 627939.752 0, 1430544.779 627914.402 0,
+ 1430250.409 627889.07 0, 1429956.038 627863.755 0, 1429661.665 627838.457 0, 1429367.291 627813.177 0, 1429072.915 627787.914 0, 1428778.538 627762.668 0, 1428484.159 627737.44 0, 1428189.779 627712.229 0, 1427895.397 627687.035 0, 1427601.014 627661.859 0,
+ 1427306.629 627636.699 0, 1427012.243 627611.558 0, 1426717.855 627586.433 0, 1426423.466 627561.326 0, 1426129.075 627536.236 0, 1425834.683 627511.164 0, 1425540.29 627486.109 0, 1425245.895 627461.071 0, 1424950.142 627435.935 0, 1424479.024 632981.166 0,
+ 1424007.877 638526.734 0, 1424302.975 638551.814 0, 1424596.717 638576.796 0, 1424890.458 638601.796 0, 1425184.197 638626.812 0, 1425477.935 638651.847 0, 1425771.671 638676.898 0, 1426065.406 638701.967 0, 1426359.14 638727.053 0, 1426652.872 638752.156 0,
+ 1426946.602 638777.277 0, 1427240.331 638802.414 0, 1427534.059 638827.57 0, 1427827.785 638852.742 0, 1428121.509 638877.932 0, 1428415.232 638903.139 0, 1428708.954 638928.363 0, 1429002.674 638953.605 0, 1429296.392 638978.864 0, 1429590.11 639004.14 0,
+ 1429883.825 639029.433 0, 1430177.539 639054.744 0, 1430471.252 639080.072 0, 1430764.963 639105.417 0, 1431057.32 639130.663 0, 1431352.381 639156.16 0, 1431646.088 639181.557 0, 1431939.793 639206.972 0, 1432233.496 639232.403 0, 1432527.199 639257.852 0,
+ 1432820.899 639283.319 0, 1433114.599 639308.802 0, 1433408.296 639334.303 0, 1433701.992 639359.821 0, 1433995.687 639385.357 0, 1434289.38 639410.91 0, 1434583.072 639436.48 0, 1434876.762 639462.067 0, 1435170.451 639487.672 0, 1435464.138 639513.294 0,
+ 1435757.824 639538.933 0, 1436051.508 639564.589 0, 1436345.19 639590.263 0, 1436638.871 639615.954 0, 1436932.551 639641.662 0, 1437226.229 639667.388 0, 1437519.906 639693.131 0, 1437813.581 639718.891 0, 1438105.903 639744.55 0, 1438592.715 634200.335 0,
+ 1439079.497 628656.458 0))
+
+POLYGON ((1452200.432 641002.191 0, 1451908.181 640975.706 0, 1451614.58 640949.116 0, 1451320.978 640922.544 0, 1451027.373 640895.989 0, 1450733.767 640869.451 0, 1450440.16 640842.93 0, 1450146.551 640816.427 0, 1449852.941 640789.941 0, 1449559.329 640763.472 0,
+ 1449265.715 640737.02 0, 1448972.1 640710.586 0, 1448678.483 640684.169 0, 1448384.865 640657.769 0, 1448091.245 640631.387 0, 1447797.624 640605.022 0, 1447504.001 640578.674 0, 1447210.376 640552.343 0, 1446916.75 640526.03 0, 1446623.123 640499.734 0,
+ 1446329.494 640473.455 0, 1446035.863 640447.194 0, 1445742.231 640420.95 0, 1445448.597 640394.723 0, 1445153.612 640368.393 0, 1444861.325 640342.321 0, 1444567.687 640316.146 0, 1444274.047 640289.988 0, 1443980.405 640263.848 0, 1443686.762 640237.725 0,
+ 1443393.118 640211.619 0, 1443099.472 640185.53 0, 1442805.824 640159.459 0, 1442512.175 640133.405 0, 1442218.524 640107.368 0, 1441924.872 640081.349 0, 1441631.218 640055.347 0, 1441337.563 640029.362 0, 1441043.906 640003.394 0, 1440750.248 639977.444 0,
+ 1440456.588 639951.511 0, 1440162.927 639925.595 0, 1439869.264 639899.696 0, 1439575.599 639873.815 0, 1439281.933 639847.951 0, 1438988.266 639822.105 0, 1438694.597 639796.275 0, 1438400.926 639770.463 0, 1438105.903 639744.55 0, 1437619.062 645289.099 0,
+ 1437132.192 650833.98 0, 1437426.559 650859.836 0, 1437719.577 650885.59 0, 1438012.593 650911.362 0, 1438305.608 650937.151 0, 1438598.622 650962.958 0, 1438891.633 650988.781 0, 1439184.643 651014.622 0, 1439477.652 651040.48 0, 1439770.659 651066.356 0,
+ 1440063.665 651092.249 0, 1440356.669 651118.158 0, 1440649.672 651144.086 0, 1440942.673 651170.03 0, 1441235.672 651195.992 0, 1441528.67 651221.97 0, 1441821.667 651247.967 0, 1442114.662 651273.98 0, 1442407.655 651300.011 0, 1442700.647 651326.058 0,
+ 1442993.637 651352.124 0, 1443286.626 651378.206 0, 1443579.614 651404.305 0, 1443872.599 651430.422 0, 1444164.237 651456.436 0, 1444458.566 651482.708 0, 1444751.547 651508.876 0, 1445044.527 651535.062 0, 1445337.505 651561.265 0, 1445630.482 651587.485 0,
+ 1445923.457 651613.723 0, 1446216.43 651639.978 0, 1446509.402 651666.25 0, 1446802.372 651692.539 0, 1447095.341 651718.846 0, 1447388.308 651745.169 0, 1447681.274 651771.51 0, 1447974.238 651797.869 0, 1448267.201 651824.244 0, 1448560.162 651850.637 0,
+ 1448853.121 651877.047 0, 1449146.079 651903.474 0, 1449439.035 651929.919 0, 1449731.99 651956.38 0, 1450024.943 651982.859 0, 1450317.895 652009.355 0, 1450610.845 652035.869 0, 1450903.794 652062.4 0, 1451195.395 652088.825 0, 1451697.929 646545.343 0,
+ 1452200.432 641002.191 0))
+
+POLYGON ((1465254.997 653383.397 0, 1464963.469 653356.147 0, 1464670.597 653328.789 0, 1464377.723 653301.448 0, 1464084.847 653274.125 0, 1463791.97 653246.818 0, 1463499.091 653219.529 0, 1463206.211 653192.257 0, 1462913.328 653165.002 0, 1462620.445 653137.764 0,
+ 1462327.559 653110.544 0, 1462034.673 653083.341 0, 1461741.784 653056.155 0, 1461448.894 653028.987 0, 1461156.002 653001.835 0, 1460863.109 652974.701 0, 1460570.214 652947.584 0, 1460277.318 652920.485 0, 1459984.42 652893.402 0, 1459691.52 652866.337 0,
+ 1459398.619 652839.289 0, 1459105.716 652812.259 0, 1458812.811 652785.245 0, 1458519.905 652758.249 0, 1458225.654 652731.146 0, 1457934.088 652704.308 0, 1457641.178 652677.364 0, 1457348.265 652650.437 0, 1457055.351 652623.527 0, 1456762.436 652596.634 0,
+ 1456469.519 652569.758 0, 1456176.6 652542.9 0, 1455883.68 652516.059 0, 1455590.758 652489.235 0, 1455297.834 652462.429 0, 1455004.909 652435.639 0, 1454711.983 652408.867 0, 1454419.054 652382.113 0, 1454126.125 652355.375 0, 1453833.193 652328.655 0,
+ 1453540.26 652301.952 0, 1453247.326 652275.266 0, 1452954.39 652248.597 0, 1452661.452 652221.946 0, 1452368.513 652195.312 0, 1452075.572 652168.695 0, 1451782.63 652142.095 0, 1451489.686 652115.513 0, 1451195.395 652088.825 0, 1450692.832 657632.636 0,
+ 1450190.239 663176.771 0, 1450483.875 663203.399 0, 1450776.166 663229.922 0, 1451068.456 663256.462 0, 1451360.744 663283.02 0, 1451653.03 663309.595 0, 1451945.315 663336.187 0, 1452237.599 663362.796 0, 1452529.881 663389.422 0, 1452822.161 663416.066 0,
+ 1453114.44 663442.727 0, 1453406.717 663469.405 0, 1453698.993 663496.1 0, 1453991.267 663522.813 0, 1454283.539 663549.542 0, 1454575.81 663576.289 0, 1454868.079 663603.053 0, 1455160.347 663629.834 0, 1455452.613 663656.633 0, 1455744.878 663683.448 0,
+ 1456037.141 663710.281 0, 1456329.402 663737.131 0, 1456621.662 663763.998 0, 1456913.92 663790.883 0, 1457204.836 663817.661 0, 1457498.432 663844.703 0, 1457790.686 663871.639 0, 1458082.938 663898.593 0, 1458375.188 663925.563 0, 1458667.437 663952.551 0,
+ 1458959.684 663979.556 0, 1459251.929 664006.578 0, 1459544.173 664033.617 0, 1459836.416 664060.673 0, 1460128.657 664087.747 0, 1460420.896 664114.838 0, 1460713.133 664141.946 0, 1461005.369 664169.071 0, 1461297.604 664196.214 0, 1461589.837 664223.373 0,
+ 1461882.068 664250.55 0, 1462174.297 664277.744 0, 1462466.525 664304.956 0, 1462758.752 664332.184 0, 1463050.977 664359.43 0, 1463343.2 664386.692 0, 1463635.421 664413.973 0, 1463927.641 664441.27 0, 1464218.52 664468.459 0, 1464736.774 658925.766 0,
+ 1465254.997 653383.397 0))
+
+POLYGON ((1478243.095 665799.774 0, 1477952.293 665771.763 0, 1477660.151 665743.64 0, 1477368.007 665715.535 0, 1477075.862 665687.446 0, 1476783.716 665659.375 0, 1476491.567 665631.321 0, 1476199.417 665603.285 0, 1475907.266 665575.265 0, 1475615.113 665547.263 0,
+ 1475322.958 665519.278 0, 1475030.801 665491.31 0, 1474738.643 665463.359 0, 1474446.483 665435.425 0, 1474154.322 665407.509 0, 1473862.158 665379.61 0, 1473569.994 665351.728 0, 1473277.827 665323.863 0, 1472985.659 665296.015 0, 1472693.489 665268.185 0,
+ 1472401.318 665240.372 0, 1472109.145 665212.576 0, 1471816.971 665184.797 0, 1471524.794 665157.035 0, 1471231.278 665129.164 0, 1470940.437 665101.564 0, 1470648.256 665073.854 0, 1470356.073 665046.161 0, 1470063.889 665018.485 0, 1469771.703 664990.827 0,
+ 1469479.515 664963.186 0, 1469187.326 664935.562 0, 1468895.135 664907.955 0, 1468602.942 664880.365 0, 1468310.748 664852.793 0, 1468018.552 664825.237 0, 1467726.355 664797.699 0, 1467434.156 664770.178 0, 1467141.955 664742.675 0, 1466849.753 664715.188 0,
+ 1466557.549 664687.719 0, 1466265.343 664660.267 0, 1465973.136 664632.832 0, 1465680.928 664605.415 0, 1465388.717 664578.014 0, 1465096.505 664550.631 0, 1464804.292 664523.265 0, 1464512.077 664495.916 0, 1464218.52 664468.459 0, 1463700.236 670011.473 0,
+ 1463181.923 675554.805 0, 1463474.824 675582.201 0, 1463766.386 675609.488 0, 1464057.947 675636.793 0, 1464349.507 675664.116 0, 1464641.065 675691.455 0, 1464932.621 675718.811 0, 1465224.175 675746.185 0, 1465515.728 675773.576 0, 1465807.28 675800.984 0,
+ 1466098.83 675828.409 0, 1466390.378 675855.851 0, 1466681.924 675883.31 0, 1466973.469 675910.787 0, 1467265.013 675938.28 0, 1467556.554 675965.791 0, 1467848.094 675993.319 0, 1468139.633 676020.865 0, 1468431.17 676048.427 0, 1468722.705 676076.006 0,
+ 1469014.238 676103.603 0, 1469305.77 676131.217 0, 1469597.301 676158.848 0, 1469888.829 676186.496 0, 1470179.021 676214.035 0, 1470471.882 676241.844 0, 1470763.406 676269.543 0, 1471054.928 676297.26 0, 1471346.448 676324.994 0, 1471637.967 676352.745 0,
+ 1471929.485 676380.513 0, 1472221 676408.299 0, 1472512.514 676436.101 0, 1472804.027 676463.921 0, 1473095.538 676491.758 0, 1473387.047 676519.612 0, 1473678.554 676547.483 0, 1473970.06 676575.372 0, 1474261.564 676603.277 0, 1474553.067 676631.2 0,
+ 1474844.568 676659.14 0, 1475136.067 676687.097 0, 1475427.564 676715.071 0, 1475719.06 676743.062 0, 1476010.555 676771.071 0, 1476302.047 676799.096 0, 1476593.538 676827.139 0, 1476885.028 676855.199 0, 1477175.181 676883.147 0, 1477709.154 671341.302 0,
+ 1478243.095 665799.774 0))
+
+POLYGON ((1491164.631 678251.018 0, 1490874.555 678222.25 0, 1490583.146 678193.366 0, 1490291.736 678164.5 0, 1490000.324 678135.651 0, 1489708.91 678106.819 0, 1489417.494 678078.004 0, 1489126.076 678049.207 0, 1488834.657 678020.426 0, 1488543.237 677991.663 0,
+ 1488251.814 677962.917 0, 1487960.39 677934.188 0, 1487668.964 677905.476 0, 1487377.536 677876.782 0, 1487086.107 677848.104 0, 1486794.676 677819.444 0, 1486503.244 677790.801 0, 1486211.809 677762.175 0, 1485920.373 677733.566 0, 1485628.936 677704.974 0,
+ 1485337.496 677676.399 0, 1485046.055 677647.842 0, 1484754.613 677619.302 0, 1484463.168 677590.779 0, 1484170.389 677562.142 0, 1483880.274 677533.784 0, 1483588.825 677505.312 0, 1483297.374 677476.858 0, 1483005.921 677448.42 0, 1482714.467 677420 0,
+ 1482423.01 677391.597 0, 1482131.553 677363.211 0, 1481840.093 677334.842 0, 1481548.632 677306.491 0, 1481257.169 677278.156 0, 1480965.705 677249.839 0, 1480674.239 677221.539 0, 1480382.771 677193.256 0, 1480091.301 677164.99 0, 1479799.83 677136.742 0,
+ 1479508.357 677108.51 0, 1479216.883 677080.296 0, 1478925.407 677052.099 0, 1478633.929 677023.919 0, 1478342.45 676995.756 0, 1478050.969 676967.61 0, 1477759.486 676939.482 0, 1477468.001 676911.37 0, 1477175.181 676883.147 0, 1476641.178 682425.307 0,
+ 1476107.146 687967.778 0, 1476399.311 687995.938 0, 1476690.143 688023.986 0, 1476980.973 688052.052 0, 1477271.802 688080.135 0, 1477562.629 688108.234 0, 1477853.454 688136.351 0, 1478144.278 688164.485 0, 1478435.1 688192.637 0, 1478725.92 688220.805 0,
+ 1479016.739 688248.99 0, 1479307.556 688277.193 0, 1479598.371 688305.413 0, 1479889.185 688333.649 0, 1480179.997 688361.903 0, 1480470.808 688390.174 0, 1480761.617 688418.462 0, 1481052.424 688446.768 0, 1481343.229 688475.09 0, 1481634.033 688503.429 0,
+ 1481924.835 688531.786 0, 1482215.635 688560.16 0, 1482506.434 688588.55 0, 1482797.231 688616.958 0, 1483086.697 688645.253 0, 1483378.82 688673.826 0, 1483669.612 688702.285 0, 1483960.403 688730.761 0, 1484251.192 688759.255 0, 1484541.979 688787.765 0,
+ 1484832.764 688816.293 0, 1485123.548 688844.838 0, 1485414.33 688873.4 0, 1485705.11 688901.979 0, 1485995.889 688930.575 0, 1486286.666 688959.189 0, 1486577.441 688987.819 0, 1486868.214 689016.466 0, 1487158.986 689045.131 0, 1487449.757 689073.813 0,
+ 1487740.525 689102.512 0, 1488031.292 689131.228 0, 1488322.057 689159.961 0, 1488612.821 689188.711 0, 1488903.582 689217.478 0, 1489194.342 689246.263 0, 1489485.101 689275.064 0, 1489775.857 689303.883 0, 1490065.284 689332.587 0, 1490614.973 683791.647 0,
+ 1491164.631 678251.018 0))
+
+POLYGON ((1504019.51 690736.825 0, 1503730.164 690707.303 0, 1503439.49 690677.663 0, 1503148.814 690648.04 0, 1502858.136 690618.434 0, 1502567.457 690588.846 0, 1502276.776 690559.274 0, 1501986.093 690529.72 0, 1501695.409 690500.182 0, 1501404.722 690470.662 0,
+ 1501114.034 690441.159 0, 1500823.345 690411.673 0, 1500532.653 690382.204 0, 1500241.96 690352.752 0, 1499951.265 690323.317 0, 1499660.568 690293.9 0, 1499369.87 690264.499 0, 1499079.17 690235.116 0, 1498788.468 690205.75 0, 1498497.764 690176.401 0,
+ 1498207.059 690147.069 0, 1497916.352 690117.754 0, 1497625.643 690088.456 0, 1497334.932 690059.175 0, 1497042.893 690029.778 0, 1496753.506 690000.665 0, 1496462.791 689971.436 0, 1496172.073 689942.224 0, 1495881.354 689913.028 0, 1495590.633 689883.85 0,
+ 1495299.911 689854.689 0, 1495009.186 689825.546 0, 1494718.46 689796.419 0, 1494427.733 689767.309 0, 1494137.003 689738.217 0, 1493846.272 689709.141 0, 1493555.539 689680.083 0, 1493264.805 689651.042 0, 1492974.069 689622.018 0, 1492683.331 689593.011 0,
+ 1492392.591 689564.021 0, 1492101.85 689535.049 0, 1491811.107 689506.093 0, 1491520.362 689477.155 0, 1491229.615 689448.233 0, 1490938.867 689419.329 0, 1490648.117 689390.442 0, 1490357.366 689361.572 0, 1490065.284 689332.587 0, 1489515.564 694873.835 0,
+ 1488965.814 700415.387 0, 1489257.241 700444.307 0, 1489547.34 700473.112 0, 1489837.438 700501.934 0, 1490127.534 700530.774 0, 1490417.628 700559.63 0, 1490707.72 700588.504 0, 1490997.811 700617.394 0, 1491287.9 700646.302 0, 1491577.988 700675.227 0,
+ 1491868.073 700704.168 0, 1492158.157 700733.127 0, 1492448.24 700762.103 0, 1492738.32 700791.096 0, 1493028.399 700820.107 0, 1493318.476 700849.134 0, 1493608.552 700878.178 0, 1493898.625 700907.239 0, 1494188.697 700936.318 0, 1494478.768 700965.413 0,
+ 1494768.836 700994.526 0, 1495058.903 701023.656 0, 1495348.968 701052.802 0, 1495639.032 701081.966 0, 1495927.769 701111.014 0, 1496219.154 701140.345 0, 1496509.212 701169.56 0, 1496799.268 701198.792 0, 1497089.323 701228.041 0, 1497379.376 701257.307 0,
+ 1497669.428 701286.591 0, 1497959.478 701315.891 0, 1498249.526 701345.208 0, 1498539.572 701374.543 0, 1498829.616 701403.895 0, 1499119.659 701433.263 0, 1499409.7 701462.649 0, 1499699.739 701492.052 0, 1499989.777 701521.472 0, 1500279.813 701550.909 0,
+ 1500569.847 701580.363 0, 1500859.879 701609.834 0, 1501149.91 701639.322 0, 1501439.939 701668.827 0, 1501729.966 701698.349 0, 1502019.992 701727.889 0, 1502310.015 701757.445 0, 1502600.037 701787.019 0, 1502888.734 701816.474 0, 1503454.138 696276.497 0,
+ 1504019.51 690736.825 0))
+
+POLYGON ((1516807.641 703256.891 0, 1516519.025 703226.619 0, 1516229.088 703196.227 0, 1515939.149 703165.851 0, 1515649.208 703135.492 0, 1515359.266 703105.151 0, 1515069.321 703074.826 0, 1514779.375 703044.519 0, 1514489.427 703014.228 0, 1514199.477 702983.955 0,
+ 1513909.526 702953.699 0, 1513619.573 702923.46 0, 1513329.617 702893.238 0, 1513039.661 702863.033 0, 1512749.702 702832.845 0, 1512459.741 702802.674 0, 1512169.779 702772.52 0, 1511879.815 702742.383 0, 1511589.85 702712.263 0, 1511299.882 702682.161 0,
+ 1511009.913 702652.075 0, 1510719.942 702622.007 0, 1510429.969 702591.955 0, 1510139.994 702561.921 0, 1509848.696 702531.767 0, 1509560.04 702501.903 0, 1509270.06 702471.92 0, 1508980.078 702441.954 0, 1508690.095 702412.005 0, 1508400.11 702382.073 0,
+ 1508110.123 702352.158 0, 1507820.134 702322.261 0, 1507530.143 702292.38 0, 1507240.151 702262.516 0, 1506950.157 702232.67 0, 1506660.161 702202.84 0, 1506370.164 702173.027 0, 1506080.165 702143.232 0, 1505790.164 702113.454 0, 1505500.161 702083.692 0,
+ 1505210.156 702053.948 0, 1504920.15 702024.221 0, 1504630.142 701994.511 0, 1504340.132 701964.818 0, 1504050.121 701935.142 0, 1503760.108 701905.483 0, 1503470.093 701875.842 0, 1503180.076 701846.217 0, 1502888.734 701816.474 0, 1502323.3 707356.752 0,
+ 1501757.836 712897.327 0, 1502048.522 712927.003 0, 1502337.887 712956.561 0, 1502627.249 712986.136 0, 1502916.611 713015.728 0, 1503205.97 713045.337 0, 1503495.327 713074.963 0, 1503784.683 713104.607 0, 1504074.037 713134.267 0, 1504363.39 713163.944 0,
+ 1504652.74 713193.639 0, 1504942.089 713223.35 0, 1505231.436 713253.078 0, 1505520.782 713282.824 0, 1505810.125 713312.586 0, 1506099.467 713342.366 0, 1506388.807 713372.162 0, 1506678.145 713401.976 0, 1506967.482 713431.806 0, 1507256.817 713461.654 0,
+ 1507546.15 713491.519 0, 1507835.481 713521.4 0, 1508124.811 713551.299 0, 1508414.139 713581.215 0, 1508702.146 713611.011 0, 1508992.789 713641.097 0, 1509282.111 713671.064 0, 1509571.432 713701.048 0, 1509860.751 713731.049 0, 1510150.068 713761.067 0,
+ 1510439.384 713791.102 0, 1510728.697 713821.154 0, 1511018.009 713851.223 0, 1511307.319 713881.309 0, 1511596.628 713911.412 0, 1511885.934 713941.532 0, 1512175.239 713971.669 0, 1512464.542 714001.823 0, 1512753.844 714031.994 0, 1513043.143 714062.182 0,
+ 1513332.441 714092.388 0, 1513621.737 714122.61 0, 1513911.031 714152.849 0, 1514200.323 714183.105 0, 1514489.614 714213.379 0, 1514778.903 714243.669 0, 1515068.19 714273.976 0, 1515357.475 714304.301 0, 1515645.441 714334.504 0, 1516226.556 708795.549 0,
+ 1516807.641 703256.891 0))
+
+POLYGON ((1529528.93 715810.911 0, 1529241.049 715779.894 0, 1528951.85 715748.752 0, 1528662.65 715717.628 0, 1528373.448 715686.52 0, 1528084.244 715655.43 0, 1527795.038 715624.356 0, 1527505.831 715593.3 0, 1527216.621 715562.26 0, 1526927.41 715531.238 0,
+ 1526638.197 715500.232 0, 1526348.982 715469.244 0, 1526059.765 715438.273 0, 1525770.547 715407.318 0, 1525481.327 715376.381 0, 1525192.104 715345.461 0, 1524902.88 715314.558 0, 1524613.655 715283.671 0, 1524324.427 715252.802 0, 1524035.198 715221.95 0,
+ 1523745.966 715191.115 0, 1523456.733 715160.297 0, 1523167.498 715129.496 0, 1522878.262 715098.711 0, 1522587.707 715067.804 0, 1522299.783 715037.194 0, 1522010.541 715006.461 0, 1521721.297 714975.745 0, 1521432.051 714945.046 0, 1521142.804 714914.364 0,
+ 1520853.554 714883.699 0, 1520564.303 714853.052 0, 1520275.05 714822.421 0, 1519985.795 714791.807 0, 1519696.539 714761.21 0, 1519407.28 714730.63 0, 1519118.02 714700.068 0, 1518828.758 714669.522 0, 1518539.495 714638.993 0, 1518250.229 714608.481 0,
+ 1517960.962 714577.987 0, 1517671.693 714547.509 0, 1517382.422 714517.048 0, 1517093.149 714486.605 0, 1516803.874 714456.178 0, 1516514.598 714425.769 0, 1516225.32 714395.376 0, 1515936.04 714365.001 0, 1515645.441 714334.504 0, 1515064.295 719873.754 0,
+ 1514483.118 725413.294 0, 1514773.062 725443.722 0, 1515061.69 725474.029 0, 1515350.316 725504.353 0, 1515638.94 725534.694 0, 1515927.563 725565.052 0, 1516216.183 725595.426 0, 1516504.802 725625.818 0, 1516793.419 725656.227 0, 1517082.035 725686.653 0,
+ 1517370.648 725717.096 0, 1517659.26 725747.556 0, 1517947.87 725778.033 0, 1518236.478 725808.527 0, 1518525.084 725839.038 0, 1518813.689 725869.566 0, 1519102.292 725900.11 0, 1519390.892 725930.672 0, 1519679.492 725961.251 0, 1519968.089 725991.847 0,
+ 1520256.684 726022.46 0, 1520545.278 726053.089 0, 1520833.87 726083.736 0, 1521122.46 726114.4 0, 1521409.735 726144.941 0, 1521699.635 726175.778 0, 1521988.22 726206.493 0, 1522276.803 726237.225 0, 1522565.384 726267.973 0, 1522853.963 726298.739 0,
+ 1523142.541 726329.522 0, 1523431.116 726360.321 0, 1523719.69 726391.138 0, 1524008.262 726421.971 0, 1524296.832 726452.822 0, 1524585.401 726483.69 0, 1524873.967 726514.574 0, 1525162.532 726545.476 0, 1525451.095 726576.394 0, 1525739.656 726607.33 0,
+ 1526028.216 726638.282 0, 1526316.773 726669.252 0, 1526605.329 726700.238 0, 1526893.883 726731.242 0, 1527182.435 726762.262 0, 1527470.985 726793.299 0, 1527759.533 726824.354 0, 1528048.08 726855.425 0, 1528335.313 726886.372 0, 1528932.137 721348.496 0,
+ 1529528.93 715810.911 0))
+
+POLYGON ((1542183.29 728398.58 0, 1541896.144 728366.821 0, 1541607.686 728334.935 0, 1541319.226 728303.065 0, 1541030.765 728271.213 0, 1540742.302 728239.377 0, 1540453.837 728207.559 0, 1540165.37 728175.757 0, 1539876.901 728143.973 0, 1539588.43 728112.205 0,
+ 1539299.958 728080.454 0, 1539011.483 728048.721 0, 1538723.007 728017.004 0, 1538434.529 727985.304 0, 1538146.049 727953.622 0, 1537857.567 727921.956 0, 1537569.083 727890.307 0, 1537280.597 727858.676 0, 1536992.11 727827.061 0, 1536703.621 727795.463 0,
+ 1536415.129 727763.882 0, 1536126.636 727732.318 0, 1535838.141 727700.771 0, 1535549.645 727669.242 0, 1535259.835 727637.586 0, 1534972.645 727606.233 0, 1534684.143 727574.754 0, 1534395.639 727543.292 0, 1534107.133 727511.847 0, 1533818.625 727480.419 0,
+ 1533530.115 727449.008 0, 1533241.603 727417.614 0, 1532953.09 727386.237 0, 1532664.575 727354.877 0, 1532376.058 727323.534 0, 1532087.539 727292.207 0, 1531799.018 727260.898 0, 1531510.495 727229.606 0, 1531221.971 727198.331 0, 1530933.444 727167.073 0,
+ 1530644.916 727135.832 0, 1530356.386 727104.607 0, 1530067.854 727073.4 0, 1529779.32 727042.21 0, 1529490.785 727011.037 0, 1529202.248 726979.88 0, 1528913.708 726948.741 0, 1528625.167 726917.619 0, 1528335.313 726886.372 0, 1527738.457 732424.535 0,
+ 1527141.571 737962.982 0, 1527430.771 737994.158 0, 1527718.66 738025.21 0, 1528006.547 738056.279 0, 1528294.432 738087.365 0, 1528582.316 738118.468 0, 1528870.198 738149.588 0, 1529158.078 738180.724 0, 1529445.956 738211.878 0, 1529733.832 738243.049 0,
+ 1530021.707 738274.236 0, 1530309.579 738305.441 0, 1530597.45 738336.662 0, 1530885.319 738367.901 0, 1531173.186 738399.156 0, 1531461.051 738430.428 0, 1531748.915 738461.717 0, 1532036.776 738493.024 0, 1532324.636 738524.347 0, 1532612.494 738555.687 0,
+ 1532900.35 738587.044 0, 1533188.204 738618.418 0, 1533476.057 738649.808 0, 1533763.907 738681.216 0, 1534050.448 738712.498 0, 1534339.602 738744.083 0, 1534627.447 738775.541 0, 1534915.291 738807.017 0, 1535203.132 738838.509 0, 1535490.971 738870.019 0,
+ 1535778.809 738901.545 0, 1536066.644 738933.089 0, 1536354.478 738964.649 0, 1536642.31 738996.226 0, 1536930.14 739027.82 0, 1537217.969 739059.431 0, 1537505.795 739091.06 0, 1537793.619 739122.705 0, 1538081.442 739154.366 0, 1538369.263 739186.045 0,
+ 1538657.082 739217.741 0, 1538944.899 739249.454 0, 1539232.714 739281.184 0, 1539520.527 739312.93 0, 1539808.339 739344.694 0, 1540096.148 739376.474 0, 1540383.956 739408.272 0, 1540671.762 739440.086 0, 1540958.26 739471.773 0, 1541570.791 733935.035 0,
+ 1542183.29 728398.58 0))
+
+POLYGON ((1554770.631 741019.592 0, 1554484.222 740987.096 0, 1554196.507 740954.469 0, 1553908.79 740921.858 0, 1553621.071 740889.265 0, 1553333.351 740856.688 0, 1553045.628 740824.129 0, 1552757.904 740791.586 0, 1552470.178 740759.06 0, 1552182.449 740726.551 0,
+ 1551894.719 740694.059 0, 1551606.987 740661.584 0, 1551319.253 740629.126 0, 1551031.517 740596.685 0, 1550743.779 740564.261 0, 1550456.04 740531.854 0, 1550168.298 740499.464 0, 1549880.555 740467.09 0, 1549592.809 740434.734 0, 1549305.062 740402.394 0,
+ 1549017.313 740370.072 0, 1548729.562 740337.766 0, 1548441.809 740305.478 0, 1548154.054 740273.206 0, 1547864.992 740240.805 0, 1547578.538 740208.713 0, 1547290.777 740176.492 0, 1547003.015 740144.288 0, 1546715.251 740112.101 0, 1546427.484 740079.931 0,
+ 1546139.716 740047.778 0, 1545851.946 740015.642 0, 1545564.174 739983.523 0, 1545276.4 739951.42 0, 1544988.624 739919.335 0, 1544700.847 739887.266 0, 1544413.067 739855.215 0, 1544125.286 739823.18 0, 1543837.502 739791.163 0, 1543549.717 739759.162 0,
+ 1543261.93 739727.178 0, 1542974.141 739695.211 0, 1542686.35 739663.261 0, 1542398.558 739631.328 0, 1542110.763 739599.412 0, 1541822.967 739567.513 0, 1541535.168 739535.631 0, 1541247.368 739503.766 0, 1540958.26 739471.773 0, 1540345.698 745008.792 0,
+ 1539733.105 750546.087 0, 1540021.559 750578.007 0, 1540308.707 750609.801 0, 1540595.854 750641.61 0, 1540882.999 750673.437 0, 1541170.141 750705.281 0, 1541457.282 750737.142 0, 1541744.421 750769.019 0, 1542031.559 750800.914 0, 1542318.694 750832.825 0,
+ 1542605.827 750864.753 0, 1542892.959 750896.698 0, 1543180.088 750928.661 0, 1543467.216 750960.639 0, 1543754.342 750992.635 0, 1544041.466 751024.648 0, 1544328.588 751056.678 0, 1544615.708 751088.724 0, 1544902.827 751120.788 0, 1545189.943 751152.868 0,
+ 1545477.058 751184.965 0, 1545764.171 751217.079 0, 1546051.281 751249.21 0, 1546338.39 751281.358 0, 1546624.195 751313.377 0, 1546912.602 751345.705 0, 1547199.706 751377.904 0, 1547486.807 751410.119 0, 1547773.906 751442.352 0, 1548061.004 751474.601 0,
+ 1548348.1 751506.867 0, 1548635.193 751539.15 0, 1548922.285 751571.45 0, 1549209.375 751603.767 0, 1549496.463 751636.101 0, 1549783.549 751668.452 0, 1550070.633 751700.819 0, 1550357.716 751733.204 0, 1550644.796 751765.605 0, 1550931.875 751798.024 0,
+ 1551218.951 751830.459 0, 1551506.026 751862.911 0, 1551793.099 751895.38 0, 1552080.17 751927.866 0, 1552367.238 751960.369 0, 1552654.306 751992.888 0, 1552941.371 752025.425 0, 1553228.434 752057.978 0, 1553514.194 752090.401 0, 1554142.428 746554.858 0,
+ 1554770.631 741019.592 0))
+
+POLYGON ((1567290.865 753673.643 0, 1567005.195 753640.413 0, 1566718.225 753607.048 0, 1566431.253 753573.701 0, 1566144.279 753540.37 0, 1565857.303 753507.057 0, 1565570.325 753473.76 0, 1565283.345 753440.48 0, 1564996.364 753407.217 0, 1564709.38 753373.971 0,
+ 1564422.394 753340.742 0, 1564135.406 753307.529 0, 1563848.417 753274.334 0, 1563561.425 753241.155 0, 1563274.431 753207.994 0, 1562987.436 753174.849 0, 1562700.438 753141.721 0, 1562413.439 753108.61 0, 1562126.438 753075.516 0, 1561839.434 753042.439 0,
+ 1561552.429 753009.379 0, 1561265.422 752976.335 0, 1560978.413 752943.309 0, 1560691.402 752910.299 0, 1560403.089 752877.157 0, 1560117.373 752844.33 0, 1559830.357 752811.371 0, 1559543.338 752778.429 0, 1559256.317 752745.504 0, 1558969.294 752712.596 0,
+ 1558682.269 752679.705 0, 1558395.243 752646.83 0, 1558108.214 752613.972 0, 1557821.184 752581.132 0, 1557534.151 752548.308 0, 1557247.117 752515.501 0, 1556960.081 752482.711 0, 1556673.042 752449.938 0, 1556386.002 752417.182 0, 1556098.96 752384.442 0,
+ 1555811.916 752351.72 0, 1555524.87 752319.014 0, 1555237.823 752286.326 0, 1554950.773 752253.654 0, 1554663.721 752220.999 0, 1554376.667 752188.361 0, 1554089.612 752155.74 0, 1553802.554 752123.136 0, 1553514.194 752090.401 0, 1552885.929 757626.217 0,
+ 1552257.634 763162.303 0, 1552545.339 763194.963 0, 1552831.745 763227.493 0, 1553118.149 763260.04 0, 1553404.551 763292.604 0, 1553690.951 763325.185 0, 1553977.349 763357.783 0, 1554263.745 763390.397 0, 1554550.14 763423.028 0, 1554836.532 763455.677 0,
+ 1555122.922 763488.342 0, 1555409.311 763521.023 0, 1555695.698 763553.722 0, 1555982.082 763586.438 0, 1556268.465 763619.17 0, 1556554.846 763651.919 0, 1556841.225 763684.686 0, 1557127.602 763717.469 0, 1557413.977 763750.268 0, 1557700.35 763783.085 0,
+ 1557986.721 763815.919 0, 1558273.09 763848.769 0, 1558559.457 763881.636 0, 1558845.823 763914.52 0, 1559130.89 763947.272 0, 1559418.548 763980.339 0, 1559704.907 764013.274 0, 1559991.265 764046.226 0, 1560277.621 764079.194 0, 1560563.974 764112.179 0,
+ 1560850.326 764145.181 0, 1561136.676 764178.2 0, 1561423.024 764211.236 0, 1561709.37 764244.289 0, 1561995.714 764277.358 0, 1562282.056 764310.445 0, 1562568.396 764343.548 0, 1562854.734 764376.668 0, 1563141.07 764409.805 0, 1563427.405 764442.959 0,
+ 1563713.737 764476.129 0, 1564000.067 764509.317 0, 1564286.396 764542.521 0, 1564572.722 764575.742 0, 1564859.047 764608.98 0, 1565145.369 764642.235 0, 1565431.69 764675.507 0, 1565718.008 764708.796 0, 1566003.03 764741.95 0, 1566646.963 759207.662 0,
+ 1567290.865 753673.643 0))
+
+POLYGON ((1579743.908 766360.425 0, 1579458.979 766326.465 0, 1579172.756 766292.368 0, 1578886.53 766258.287 0, 1578600.303 766224.223 0, 1578314.074 766190.177 0, 1578027.842 766156.147 0, 1577741.609 766122.133 0, 1577455.373 766088.137 0, 1577169.136 766054.158 0,
+ 1576882.896 766020.195 0, 1576596.655 765986.249 0, 1576310.411 765952.32 0, 1576024.166 765918.408 0, 1575737.918 765884.513 0, 1575451.669 765850.635 0, 1575165.418 765816.773 0, 1574879.164 765782.929 0, 1574592.909 765749.101 0, 1574306.651 765715.29 0,
+ 1574020.392 765681.496 0, 1573734.131 765647.718 0, 1573447.867 765613.958 0, 1573161.602 765580.214 0, 1572874.041 765546.335 0, 1572589.065 765512.778 0, 1572302.794 765479.085 0, 1572016.521 765445.409 0, 1571730.245 765411.749 0, 1571443.968 765378.107 0,
+ 1571157.689 765344.481 0, 1570871.408 765310.872 0, 1570585.124 765277.28 0, 1570298.839 765243.705 0, 1570012.552 765210.147 0, 1569726.263 765176.606 0, 1569439.972 765143.081 0, 1569153.679 765109.573 0, 1568867.384 765076.083 0, 1568581.087 765042.609 0,
+ 1568294.788 765009.152 0, 1568008.487 764975.711 0, 1567722.184 764942.288 0, 1567435.879 764908.881 0, 1567149.572 764875.492 0, 1566863.263 764842.119 0, 1566576.953 764808.763 0, 1566290.64 764775.423 0, 1566003.03 764741.95 0, 1565359.065 770276.505 0,
+ 1564715.07 775811.323 0, 1565002.026 775844.72 0, 1565287.687 775877.983 0, 1565573.346 775911.263 0, 1565859.004 775944.56 0, 1566144.659 775977.874 0, 1566430.312 776011.204 0, 1566715.964 776044.552 0, 1567001.613 776077.916 0, 1567287.261 776111.297 0,
+ 1567572.906 776144.695 0, 1567858.55 776178.109 0, 1568144.191 776211.541 0, 1568429.831 776244.989 0, 1568715.469 776278.454 0, 1569001.104 776311.936 0, 1569286.738 776345.435 0, 1569572.37 776378.95 0, 1569858 776412.482 0, 1570143.627 776446.032 0,
+ 1570429.253 776479.597 0, 1570714.877 776513.18 0, 1571000.499 776546.78 0, 1571286.119 776580.396 0, 1571570.446 776613.877 0, 1571857.353 776647.679 0, 1572142.967 776681.346 0, 1572428.579 776715.03 0, 1572714.189 776748.73 0, 1572999.797 776782.447 0,
+ 1573285.403 776816.181 0, 1573571.007 776849.932 0, 1573856.609 776883.7 0, 1574142.209 776917.484 0, 1574427.807 776951.286 0, 1574713.403 776985.104 0, 1574998.997 777018.939 0, 1575284.589 777052.79 0, 1575570.179 777086.659 0, 1575855.767 777120.544 0,
+ 1576141.354 777154.446 0, 1576426.938 777188.365 0, 1576712.52 777222.301 0, 1576998.1 777256.253 0, 1577283.678 777290.223 0, 1577569.254 777324.209 0, 1577854.828 777358.212 0, 1578140.4 777392.232 0, 1578424.681 777426.115 0, 1579084.31 771893.139 0,
+ 1579743.908 766360.425 0))
+
+POLYGON ((1592129.675 779079.632 0, 1591845.489 779044.946 0, 1591560.014 779010.119 0, 1591274.537 778975.31 0, 1590989.058 778940.517 0, 1590703.577 778905.741 0, 1590418.094 778870.982 0, 1590132.609 778836.239 0, 1589847.122 778801.514 0, 1589561.632 778766.805 0,
+ 1589276.141 778732.113 0, 1588990.648 778697.438 0, 1588705.153 778662.779 0, 1588419.655 778628.138 0, 1588134.156 778593.513 0, 1587848.654 778558.905 0, 1587563.151 778524.314 0, 1587277.645 778489.739 0, 1586992.138 778455.182 0, 1586706.628 778420.641 0,
+ 1586421.117 778386.117 0, 1586135.603 778351.61 0, 1585850.087 778317.119 0, 1585564.57 778282.646 0, 1585277.762 778248.033 0, 1584993.528 778213.749 0, 1584708.004 778179.326 0, 1584422.479 778144.919 0, 1584136.951 778110.53 0, 1583851.421 778076.157 0,
+ 1583565.889 778041.801 0, 1583280.355 778007.462 0, 1582994.819 777973.14 0, 1582709.281 777938.834 0, 1582423.741 777904.546 0, 1582138.199 777870.274 0, 1581852.655 777836.019 0, 1581567.109 777801.78 0, 1581281.561 777767.559 0, 1580996.011 777733.354 0,
+ 1580710.459 777699.166 0, 1580424.905 777664.995 0, 1580139.349 777630.841 0, 1579853.791 777596.703 0, 1579568.231 777562.583 0, 1579282.669 777528.479 0, 1578997.105 777494.392 0, 1578711.539 777460.322 0, 1578424.681 777426.115 0, 1577765.021 782959.35 0,
+ 1577105.33 788492.841 0, 1577391.533 788526.97 0, 1577676.448 788560.962 0, 1577961.361 788594.972 0, 1578246.272 788628.998 0, 1578531.18 788663.041 0, 1578816.087 788697.1 0, 1579100.992 788731.177 0, 1579385.895 788765.27 0, 1579670.795 788799.38 0,
+ 1579955.694 788833.506 0, 1580240.591 788867.65 0, 1580525.485 788901.81 0, 1580810.378 788935.987 0, 1581095.269 788970.18 0, 1581380.157 789004.391 0, 1581665.044 789038.618 0, 1581949.929 789072.862 0, 1582234.811 789107.123 0, 1582519.692 789141.401 0,
+ 1582804.571 789175.695 0, 1583089.447 789210.006 0, 1583374.322 789244.334 0, 1583659.194 789278.679 0, 1583942.779 789312.885 0, 1584228.933 789347.418 0, 1584513.8 789381.813 0, 1584798.664 789416.225 0, 1585083.526 789450.653 0, 1585368.387 789485.099 0,
+ 1585653.245 789519.561 0, 1585938.101 789554.039 0, 1586222.956 789588.535 0, 1586507.808 789623.047 0, 1586792.658 789657.576 0, 1587077.506 789692.122 0, 1587362.353 789726.685 0, 1587647.197 789761.264 0, 1587932.039 789795.86 0, 1588216.879 789830.473 0,
+ 1588501.717 789865.103 0, 1588786.553 789899.749 0, 1589071.387 789934.412 0, 1589356.219 789969.092 0, 1589641.049 790003.789 0, 1589925.876 790038.502 0, 1590210.702 790073.233 0, 1590495.526 790107.98 0, 1590779.063 790142.587 0, 1591454.385 784610.982 0,
+ 1592129.675 779079.632 0))
+
+POLYGON ((1604448.082 791830.957 0, 1604164.641 791795.549 0, 1603879.916 791759.997 0, 1603595.19 791724.462 0, 1603310.461 791688.944 0, 1603025.73 791653.443 0, 1602740.998 791617.958 0, 1602456.263 791582.491 0, 1602171.526 791547.04 0, 1601886.787 791511.605 0,
+ 1601602.046 791476.188 0, 1601317.302 791440.787 0, 1601032.557 791405.403 0, 1600747.81 791370.036 0, 1600463.06 791334.686 0, 1600178.309 791299.352 0, 1599893.555 791264.035 0, 1599608.799 791228.735 0, 1599324.042 791193.451 0, 1599039.282 791158.185 0,
+ 1598754.52 791122.935 0, 1598469.756 791087.702 0, 1598184.99 791052.485 0, 1597900.222 791017.286 0, 1597614.169 790981.945 0, 1597330.679 790946.937 0, 1597045.905 790911.788 0, 1596761.128 790876.655 0, 1596476.35 790841.539 0, 1596191.569 790806.44 0,
+ 1595906.787 790771.358 0, 1595622.002 790736.292 0, 1595337.215 790701.244 0, 1595052.426 790666.212 0, 1594767.636 790631.197 0, 1594482.843 790596.198 0, 1594198.048 790561.216 0, 1593913.251 790526.251 0, 1593628.452 790491.303 0, 1593343.65 790456.372 0,
+ 1593058.847 790421.457 0, 1592774.042 790386.559 0, 1592489.235 790351.678 0, 1592204.425 790316.814 0, 1591919.614 790281.966 0, 1591634.8 790247.135 0, 1591349.985 790212.321 0, 1591065.167 790177.524 0, 1590779.063 790142.587 0, 1590103.711 795674.444 0,
+ 1589428.329 801206.55 0, 1589713.779 801241.407 0, 1589997.945 801276.125 0, 1590282.109 801310.859 0, 1590566.272 801345.611 0, 1590850.432 801380.379 0, 1591134.59 801415.163 0, 1591418.746 801449.965 0, 1591702.9 801484.783 0, 1591987.052 801519.617 0,
+ 1592271.203 801554.469 0, 1592555.35 801589.337 0, 1592839.496 801624.222 0, 1593123.64 801659.124 0, 1593407.782 801694.042 0, 1593691.922 801728.978 0, 1593976.059 801763.929 0, 1594260.195 801798.898 0, 1594544.329 801833.883 0, 1594828.46 801868.885 0,
+ 1595112.59 801903.904 0, 1595396.717 801938.94 0, 1595680.842 801973.992 0, 1595964.966 802009.061 0, 1596247.807 802043.989 0, 1596533.206 802079.249 0, 1596817.323 802114.368 0, 1597101.438 802149.504 0, 1597385.551 802184.657 0, 1597669.662 802219.826 0,
+ 1597953.77 802255.012 0, 1598237.877 802290.215 0, 1598521.982 802325.434 0, 1598806.084 802360.67 0, 1599090.185 802395.923 0, 1599374.283 802431.193 0, 1599658.38 802466.479 0, 1599942.474 802501.782 0, 1600226.566 802537.102 0, 1600510.656 802572.438 0,
+ 1600794.744 802607.792 0, 1601078.83 802643.162 0, 1601362.914 802678.548 0, 1601646.996 802713.952 0, 1601931.075 802749.372 0, 1602215.153 802784.809 0, 1602499.229 802820.262 0, 1602783.302 802855.732 0, 1603066.095 802891.06 0, 1603757.104 797360.884 0,
+ 1604448.082 791830.957 0))
+
+POLYGON ((1616699.047 804614.092 0, 1616416.353 804577.966 0, 1616132.381 804541.693 0, 1615848.407 804505.437 0, 1615564.43 804469.198 0, 1615280.452 804432.975 0, 1614996.471 804396.769 0, 1614712.489 804360.58 0, 1614428.504 804324.408 0, 1614144.517 804288.252 0,
+ 1613860.527 804252.113 0, 1613576.536 804215.991 0, 1613292.543 804179.885 0, 1613008.547 804143.797 0, 1612724.55 804107.724 0, 1612440.55 804071.669 0, 1612156.548 804035.63 0, 1611872.544 803999.608 0, 1611588.538 803963.603 0, 1611304.53 803927.615 0,
+ 1611020.519 803891.643 0, 1610736.507 803855.688 0, 1610452.492 803819.749 0, 1610168.476 803783.828 0, 1609883.18 803747.761 0, 1609600.436 803712.034 0, 1609316.413 803676.163 0, 1609032.388 803640.308 0, 1608748.36 803604.47 0, 1608464.331 803568.649 0,
+ 1608180.299 803532.844 0, 1607896.266 803497.056 0, 1607612.23 803461.285 0, 1607328.192 803425.53 0, 1607044.152 803389.793 0, 1606760.11 803354.072 0, 1606476.066 803318.367 0, 1606192.02 803282.68 0, 1605907.972 803247.009 0, 1605623.921 803211.355 0,
+ 1605339.869 803175.717 0, 1605055.814 803140.096 0, 1604771.758 803104.492 0, 1604487.699 803068.905 0, 1604203.638 803033.335 0, 1603919.575 802997.781 0, 1603635.51 802962.244 0, 1603351.443 802926.723 0, 1603066.095 802891.06 0, 1602375.056 808421.48 0,
+ 1601683.986 813952.142 0, 1601968.68 813987.724 0, 1602252.096 814023.163 0, 1602535.51 814058.619 0, 1602818.922 814094.091 0, 1603102.332 814129.58 0, 1603385.739 814165.086 0, 1603669.145 814200.608 0, 1603952.549 814236.147 0, 1604235.95 814271.703 0,
+ 1604519.35 814307.276 0, 1604802.747 814342.865 0, 1605086.142 814378.471 0, 1605369.535 814414.093 0, 1605652.926 814449.732 0, 1605936.315 814485.388 0, 1606219.702 814521.061 0, 1606503.087 814556.75 0, 1606786.47 814592.456 0, 1607069.85 814628.179 0,
+ 1607353.229 814663.918 0, 1607636.605 814699.674 0, 1607919.979 814735.446 0, 1608203.351 814771.236 0, 1608485.447 814806.881 0, 1608770.089 814842.864 0, 1609053.455 814878.704 0, 1609336.819 814914.56 0, 1609620.18 814950.432 0, 1609903.54 814986.322 0,
+ 1610186.897 815022.228 0, 1610470.252 815058.15 0, 1610753.605 815094.09 0, 1611036.956 815130.046 0, 1611320.305 815166.019 0, 1611603.652 815202.008 0, 1611886.997 815238.014 0, 1612170.339 815274.037 0, 1612453.68 815310.077 0, 1612737.018 815346.133 0,
+ 1613020.354 815382.206 0, 1613303.688 815418.295 0, 1613587.02 815454.401 0, 1613870.35 815490.524 0, 1614153.678 815526.664 0, 1614437.003 815562.82 0, 1614720.327 815598.993 0, 1615003.648 815635.182 0, 1615285.694 815671.226 0, 1615992.386 810142.538 0,
+ 1616699.047 804614.092 0))
+
+POLYGON ((1133557.758 377724.015 0, 1133250.137 377716.201 0, 1132941.042 377708.367 0, 1132631.946 377700.552 0, 1132322.85 377692.754 0, 1132013.753 377684.975 0, 1131704.655 377677.214 0, 1131395.558 377669.471 0, 1131086.459 377661.747 0, 1130777.361 377654.04 0,
+ 1130468.261 377646.352 0, 1130159.162 377638.682 0, 1129850.062 377631.03 0, 1129540.961 377623.397 0, 1129231.86 377615.781 0, 1128922.759 377608.184 0, 1128613.657 377600.605 0, 1128304.555 377593.044 0, 1127995.452 377585.501 0, 1127686.349 377577.977 0,
+ 1127377.245 377570.471 0, 1127068.141 377562.983 0, 1126759.037 377555.513 0, 1126449.932 377548.061 0, 1126139.351 377540.592 0, 1125831.721 377533.212 0, 1125522.614 377525.815 0, 1125213.508 377518.436 0, 1124904.401 377511.076 0, 1124595.293 377503.733 0,
+ 1124286.185 377496.409 0, 1123977.077 377489.103 0, 1123667.968 377481.815 0, 1123358.859 377474.545 0, 1123049.749 377467.293 0, 1122740.639 377460.06 0, 1122431.528 377452.845 0, 1122122.417 377445.648 0, 1121813.306 377438.469 0, 1121504.194 377431.308 0,
+ 1121195.082 377424.166 0, 1120885.969 377417.042 0, 1120576.856 377409.936 0, 1120267.743 377402.848 0, 1119958.629 377395.778 0, 1119649.514 377388.727 0, 1119340.4 377381.694 0, 1119031.284 377374.679 0, 1118720.692 377367.648 0, 1118595.307 382914.376 0,
+ 1118469.91 388461.571 0, 1118779.847 388468.587 0, 1119088.309 388475.587 0, 1119396.771 388482.605 0, 1119705.232 388489.642 0, 1120013.693 388496.697 0, 1120322.153 388503.769 0, 1120630.613 388510.86 0, 1120939.073 388517.97 0, 1121247.532 388525.097 0,
+ 1121555.991 388532.242 0, 1121864.45 388539.406 0, 1122172.908 388546.588 0, 1122481.365 388553.788 0, 1122789.823 388561.006 0, 1123098.279 388568.242 0, 1123406.736 388575.496 0, 1123715.191 388582.769 0, 1124023.647 388590.06 0, 1124332.102 388597.369 0,
+ 1124640.557 388604.696 0, 1124949.011 388612.041 0, 1125257.464 388619.404 0, 1125565.918 388626.786 0, 1125872.898 388634.15 0, 1126182.823 388641.603 0, 1126491.275 388649.039 0, 1126799.727 388656.493 0, 1127108.178 388663.965 0, 1127416.628 388671.456 0,
+ 1127725.079 388678.964 0, 1128033.528 388686.491 0, 1128341.978 388694.036 0, 1128650.427 388701.599 0, 1128958.875 388709.18 0, 1129267.323 388716.779 0, 1129575.771 388724.397 0, 1129884.218 388732.033 0, 1130192.664 388739.686 0, 1130501.111 388747.358 0,
+ 1130809.556 388755.048 0, 1131118.002 388762.757 0, 1131426.447 388770.483 0, 1131734.891 388778.228 0, 1132043.335 388785.99 0, 1132351.778 388793.771 0, 1132660.221 388801.57 0, 1132968.664 388809.388 0, 1133275.635 388817.186 0, 1133416.703 383270.367 0,
+ 1133557.758 377724.015 0))
+
+POLYGON ((1148080.296 389214.627 0, 1147773.346 389205.962 0, 1147464.927 389197.273 0, 1147156.507 389188.603 0, 1146848.087 389179.951 0, 1146539.666 389171.317 0, 1146231.244 389162.701 0, 1145922.823 389154.103 0, 1145614.4 389145.523 0, 1145305.978 389136.962 0,
+ 1144997.554 389128.418 0, 1144689.13 389119.893 0, 1144380.706 389111.386 0, 1144072.281 389102.897 0, 1143763.856 389094.426 0, 1143455.43 389085.974 0, 1143147.004 389077.539 0, 1142838.577 389069.123 0, 1142530.15 389060.725 0, 1142221.722 389052.345 0,
+ 1141913.294 389043.983 0, 1141604.865 389035.64 0, 1141296.436 389027.314 0, 1140988.006 389019.007 0, 1140678.106 389010.678 0, 1140371.145 389002.447 0, 1140062.714 388994.194 0, 1139754.282 388985.959 0, 1139445.85 388977.742 0, 1139137.417 388969.544 0,
+ 1138828.984 388961.364 0, 1138520.55 388953.201 0, 1138212.116 388945.058 0, 1137903.682 388936.932 0, 1137595.247 388928.824 0, 1137286.811 388920.735 0, 1136978.375 388912.663 0, 1136669.939 388904.61 0, 1136361.502 388896.575 0, 1136053.064 388888.558 0,
+ 1135744.626 388880.559 0, 1135436.188 388872.579 0, 1135127.749 388864.616 0, 1134819.31 388856.672 0, 1134510.87 388848.746 0, 1134202.43 388840.838 0, 1133893.989 388832.948 0, 1133585.548 388825.076 0, 1133275.635 388817.186 0, 1133134.556 394364.469 0,
+ 1132993.465 399912.215 0, 1133302.721 399920.089 0, 1133610.509 399927.944 0, 1133918.297 399935.817 0, 1134226.084 399943.708 0, 1134533.871 399951.618 0, 1134841.657 399959.545 0, 1135149.443 399967.491 0, 1135457.229 399975.454 0, 1135765.013 399983.436 0,
+ 1136072.798 399991.436 0, 1136380.582 399999.454 0, 1136688.365 400007.49 0, 1136996.148 400015.544 0, 1137303.931 400023.617 0, 1137611.713 400031.707 0, 1137919.494 400039.816 0, 1138227.276 400047.943 0, 1138535.056 400056.088 0, 1138842.836 400064.25 0,
+ 1139150.616 400072.432 0, 1139458.395 400080.631 0, 1139766.174 400088.848 0, 1140073.952 400097.083 0, 1140380.263 400105.298 0, 1140689.507 400113.609 0, 1140997.284 400121.898 0, 1141305.06 400130.206 0, 1141612.836 400138.532 0, 1141920.611 400146.876 0,
+ 1142228.386 400155.239 0, 1142536.16 400163.619 0, 1142843.934 400172.017 0, 1143151.707 400180.434 0, 1143459.48 400188.869 0, 1143767.252 400197.321 0, 1144075.024 400205.792 0, 1144382.795 400214.281 0, 1144690.566 400222.789 0, 1144998.337 400231.314 0,
+ 1145306.106 400239.857 0, 1145613.876 400248.419 0, 1145921.645 400256.998 0, 1146229.413 400265.596 0, 1146537.181 400274.212 0, 1146844.948 400282.846 0, 1147152.715 400291.498 0, 1147460.481 400300.168 0, 1147766.781 400308.815 0, 1147923.545 394761.49 0,
+ 1148080.296 389214.627 0))
+
+POLYGON ((1162538.918 400747.151 0, 1162232.641 400737.638 0, 1161924.901 400728.099 0, 1161617.16 400718.577 0, 1161309.418 400709.074 0, 1161001.676 400699.589 0, 1160693.933 400690.121 0, 1160386.19 400680.672 0, 1160078.446 400671.241 0, 1159770.701 400661.828 0,
+ 1159462.956 400652.434 0, 1159155.211 400643.057 0, 1158847.465 400633.699 0, 1158539.718 400624.358 0, 1158231.971 400615.036 0, 1157924.223 400605.732 0, 1157616.475 400596.446 0, 1157308.726 400587.178 0, 1157000.977 400577.928 0, 1156693.227 400568.696 0,
+ 1156385.476 400559.483 0, 1156077.725 400550.287 0, 1155769.974 400541.11 0, 1155462.221 400531.951 0, 1155153.005 400522.766 0, 1154846.716 400513.686 0, 1154538.962 400504.581 0, 1154231.208 400495.495 0, 1153923.453 400486.426 0, 1153615.698 400477.375 0,
+ 1153307.942 400468.343 0, 1153000.185 400459.329 0, 1152692.428 400450.332 0, 1152384.671 400441.354 0, 1152076.913 400432.394 0, 1151769.155 400423.452 0, 1151461.396 400414.529 0, 1151153.636 400405.623 0, 1150845.876 400396.735 0, 1150538.115 400387.866 0,
+ 1150230.354 400379.015 0, 1149922.593 400370.181 0, 1149614.83 400361.366 0, 1149307.068 400352.569 0, 1148999.305 400343.791 0, 1148691.541 400335.03 0, 1148383.777 400326.287 0, 1148076.012 400317.563 0, 1147766.781 400308.815 0, 1147610.004 405856.599 0,
+ 1147453.215 411404.838 0, 1147761.789 411413.567 0, 1148068.901 411422.273 0, 1148376.012 411430.998 0, 1148683.122 411439.74 0, 1148990.233 411448.5 0, 1149297.342 411457.278 0, 1149604.451 411466.075 0, 1149911.56 411474.889 0, 1150218.668 411483.722 0,
+ 1150525.775 411492.572 0, 1150832.882 411501.441 0, 1151139.989 411510.328 0, 1151447.095 411519.232 0, 1151754.2 411528.155 0, 1152061.305 411537.096 0, 1152368.409 411546.055 0, 1152675.513 411555.033 0, 1152982.617 411564.028 0, 1153289.719 411573.041 0,
+ 1153596.822 411582.072 0, 1153903.923 411591.122 0, 1154211.024 411600.189 0, 1154518.125 411609.275 0, 1154823.764 411618.335 0, 1155132.325 411627.5 0, 1155439.424 411636.64 0, 1155746.522 411645.798 0, 1156053.62 411654.974 0, 1156360.718 411664.168 0,
+ 1156667.815 411673.38 0, 1156974.911 411682.61 0, 1157282.007 411691.859 0, 1157589.102 411701.125 0, 1157896.197 411710.409 0, 1158203.291 411719.712 0, 1158510.384 411729.033 0, 1158817.477 411738.371 0, 1159124.57 411747.728 0, 1159431.662 411757.103 0,
+ 1159738.753 411766.496 0, 1160045.844 411775.907 0, 1160352.935 411785.336 0, 1160660.024 411794.783 0, 1160967.113 411804.248 0, 1161274.202 411813.731 0, 1161581.29 411823.232 0, 1161888.378 411832.752 0, 1162194.005 411842.244 0, 1162366.469 406294.469 0,
+ 1162538.918 400747.151 0))
+
+POLYGON ((1176933.5 412321.293 0, 1176627.899 412310.938 0, 1176320.839 412300.551 0, 1176013.779 412290.182 0, 1175706.719 412279.831 0, 1175399.658 412269.498 0, 1175092.596 412259.184 0, 1174785.533 412248.887 0, 1174478.47 412238.609 0, 1174171.407 412228.348 0,
+ 1173864.342 412218.106 0, 1173557.278 412207.882 0, 1173250.212 412197.675 0, 1172943.146 412187.487 0, 1172636.079 412177.317 0, 1172329.012 412167.165 0, 1172021.944 412157.031 0, 1171714.876 412146.915 0, 1171407.807 412136.818 0, 1171100.737 412126.738 0,
+ 1170793.667 412116.676 0, 1170486.596 412106.633 0, 1170179.525 412096.607 0, 1169872.453 412086.6 0, 1169563.922 412076.563 0, 1169258.307 412066.639 0, 1168951.233 412056.686 0, 1168644.159 412046.751 0, 1168337.084 412036.834 0, 1168030.009 412026.935 0,
+ 1167722.932 412017.054 0, 1167415.856 412007.192 0, 1167108.779 411997.347 0, 1166801.701 411987.52 0, 1166494.622 411977.712 0, 1166187.543 411967.921 0, 1165880.464 411958.149 0, 1165573.384 411948.394 0, 1165266.303 411938.658 0, 1164959.222 411928.94 0,
+ 1164652.14 411919.24 0, 1164345.057 411909.558 0, 1164037.974 411899.894 0, 1163730.891 411890.248 0, 1163423.807 411880.62 0, 1163116.722 411871.01 0, 1162809.637 411861.418 0, 1162502.551 411851.845 0, 1162194.005 411842.244 0, 1162021.527 417390.471 0,
+ 1161849.035 422939.149 0, 1162156.925 422948.73 0, 1162463.357 422958.283 0, 1162769.79 422967.854 0, 1163076.221 422977.444 0, 1163382.652 422987.051 0, 1163689.082 422996.676 0, 1163995.512 423006.32 0, 1164301.942 423015.981 0, 1164608.37 423025.661 0,
+ 1164914.799 423035.358 0, 1165221.226 423045.074 0, 1165527.653 423054.807 0, 1165834.08 423064.559 0, 1166140.505 423074.329 0, 1166446.931 423084.117 0, 1166753.355 423093.922 0, 1167059.779 423103.746 0, 1167366.203 423113.588 0, 1167672.626 423123.448 0,
+ 1167979.048 423133.326 0, 1168285.47 423143.222 0, 1168591.891 423153.136 0, 1168898.312 423163.068 0, 1169203.277 423172.97 0, 1169511.152 423182.986 0, 1169817.57 423192.972 0, 1170123.989 423202.976 0, 1170430.406 423212.998 0, 1170736.824 423223.038 0,
+ 1171043.24 423233.097 0, 1171349.656 423243.173 0, 1171656.071 423253.267 0, 1171962.486 423263.379 0, 1172268.9 423273.51 0, 1172575.314 423283.658 0, 1172881.727 423293.825 0, 1173188.139 423304.009 0, 1173494.551 423314.212 0, 1173800.962 423324.432 0,
+ 1174107.373 423334.671 0, 1174413.782 423344.928 0, 1174720.192 423355.202 0, 1175026.601 423365.495 0, 1175333.009 423375.806 0, 1175639.416 423386.134 0, 1175945.823 423396.481 0, 1176252.229 423406.846 0, 1176557.181 423417.18 0, 1176745.348 417869.011 0,
+ 1176933.5 412321.293 0))
+
+POLYGON ((1191263.918 423936.761 0, 1190958.994 423925.566 0, 1190652.619 423914.336 0, 1190346.242 423903.123 0, 1190039.865 423891.929 0, 1189733.487 423880.753 0, 1189427.109 423869.594 0, 1189120.73 423858.454 0, 1188814.35 423847.332 0, 1188507.97 423836.227 0,
+ 1188201.589 423825.141 0, 1187895.207 423814.073 0, 1187588.824 423803.023 0, 1187282.441 423791.991 0, 1186976.058 423780.977 0, 1186669.674 423769.981 0, 1186363.289 423759.003 0, 1186056.903 423748.043 0, 1185750.517 423737.101 0, 1185444.13 423726.177 0,
+ 1185137.742 423715.271 0, 1184831.354 423704.383 0, 1184524.965 423693.514 0, 1184218.576 423682.662 0, 1183910.733 423671.777 0, 1183605.795 423661.012 0, 1183299.404 423650.215 0, 1182993.012 423639.435 0, 1182686.619 423628.674 0, 1182380.226 423617.93 0,
+ 1182073.832 423607.205 0, 1181767.437 423596.497 0, 1181461.042 423585.808 0, 1181154.647 423575.136 0, 1180848.25 423564.483 0, 1180541.853 423553.847 0, 1180235.455 423543.23 0, 1179929.057 423532.631 0, 1179622.658 423522.05 0, 1179316.259 423511.486 0,
+ 1179009.859 423500.941 0, 1178703.458 423490.414 0, 1178397.056 423479.905 0, 1178090.654 423469.414 0, 1177784.252 423458.941 0, 1177477.849 423448.486 0, 1177171.445 423438.049 0, 1176865.04 423427.63 0, 1176557.181 423417.18 0, 1176368.998 428965.795 0,
+ 1176180.801 434514.855 0, 1176488.004 434525.283 0, 1176793.755 434535.679 0, 1177099.506 434546.094 0, 1177405.256 434556.527 0, 1177711.005 434566.978 0, 1178016.754 434577.446 0, 1178322.502 434587.933 0, 1178628.25 434598.438 0, 1178933.997 434608.96 0,
+ 1179239.743 434619.501 0, 1179545.489 434630.06 0, 1179851.234 434640.636 0, 1180156.979 434651.231 0, 1180462.722 434661.844 0, 1180768.466 434672.474 0, 1181074.208 434683.123 0, 1181379.95 434693.79 0, 1181685.692 434704.474 0, 1181991.432 434715.177 0,
+ 1182297.173 434725.898 0, 1182602.912 434736.636 0, 1182908.651 434747.393 0, 1183214.389 434758.168 0, 1183518.677 434768.909 0, 1183825.864 434779.771 0, 1184131.6 434790.6 0, 1184437.335 434801.446 0, 1184743.07 434812.311 0, 1185048.805 434823.193 0,
+ 1185354.539 434834.094 0, 1185660.272 434845.013 0, 1185966.004 434855.949 0, 1186271.736 434866.904 0, 1186577.467 434877.876 0, 1186883.198 434888.867 0, 1187188.927 434899.876 0, 1187494.657 434910.902 0, 1187800.385 434921.947 0, 1188106.113 434933.009 0,
+ 1188411.84 434944.09 0, 1188717.567 434955.188 0, 1189023.293 434966.305 0, 1189329.018 434977.439 0, 1189634.743 434988.592 0, 1189940.467 434999.762 0, 1190246.19 435010.951 0, 1190551.913 435022.157 0, 1190856.186 435033.329 0, 1191060.06 429484.823 0,
+ 1191263.918 423936.761 0))
+
+POLYGON ((1205530.048 435593.261 0, 1205225.805 435581.23 0, 1204920.116 435569.16 0, 1204614.425 435557.108 0, 1204308.734 435545.074 0, 1204003.042 435533.058 0, 1203697.349 435521.059 0, 1203391.656 435509.079 0, 1203085.962 435497.117 0, 1202780.267 435485.173 0,
+ 1202474.572 435473.246 0, 1202168.876 435461.338 0, 1201863.179 435449.448 0, 1201557.481 435437.576 0, 1201251.783 435425.721 0, 1200946.084 435413.885 0, 1200640.385 435402.067 0, 1200334.684 435390.266 0, 1200028.983 435378.484 0, 1199723.281 435366.72 0,
+ 1199417.579 435354.974 0, 1199111.876 435343.245 0, 1198806.172 435331.535 0, 1198500.468 435319.843 0, 1198193.315 435308.113 0, 1197889.057 435296.512 0, 1197583.35 435284.873 0, 1197277.643 435273.253 0, 1196971.935 435261.651 0, 1196666.226 435250.066 0,
+ 1196360.517 435238.5 0, 1196054.807 435226.952 0, 1195749.097 435215.421 0, 1195443.385 435203.909 0, 1195137.673 435192.414 0, 1194831.961 435180.938 0, 1194526.247 435169.48 0, 1194220.533 435158.039 0, 1193914.819 435146.617 0, 1193609.103 435135.212 0,
+ 1193303.387 435123.826 0, 1192997.67 435112.457 0, 1192691.953 435101.107 0, 1192386.235 435089.774 0, 1192080.516 435078.46 0, 1191774.797 435067.163 0, 1191469.077 435055.885 0, 1191163.356 435044.624 0, 1190856.186 435033.329 0, 1190652.296 440582.276 0,
+ 1190448.39 446131.661 0, 1190754.904 446142.933 0, 1191059.971 446154.169 0, 1191365.038 446165.423 0, 1191670.104 446176.696 0, 1191975.17 446187.986 0, 1192280.234 446199.294 0, 1192585.299 446210.62 0, 1192890.362 446221.965 0, 1193195.425 446233.327 0,
+ 1193500.487 446244.707 0, 1193805.548 446256.105 0, 1194110.609 446267.521 0, 1194415.669 446278.955 0, 1194720.729 446290.407 0, 1195025.788 446301.877 0, 1195330.846 446313.364 0, 1195635.903 446324.87 0, 1195940.96 446336.394 0, 1196246.016 446347.936 0,
+ 1196551.071 446359.495 0, 1196856.126 446371.073 0, 1197161.18 446382.668 0, 1197466.233 446394.282 0, 1197769.842 446405.858 0, 1198076.338 446417.563 0, 1198381.389 446429.23 0, 1198686.44 446440.915 0, 1198991.49 446452.619 0, 1199296.539 446464.34 0,
+ 1199601.588 446476.079 0, 1199906.635 446487.836 0, 1200211.683 446499.611 0, 1200516.729 446511.404 0, 1200821.775 446523.215 0, 1201126.82 446535.044 0, 1201431.864 446546.891 0, 1201736.908 446558.756 0, 1202041.951 446570.639 0, 1202346.993 446582.539 0,
+ 1202652.035 446594.458 0, 1202957.076 446606.395 0, 1203262.116 446618.349 0, 1203567.155 446630.322 0, 1203872.194 446642.313 0, 1204177.232 446654.321 0, 1204482.269 446666.348 0, 1204787.306 446678.392 0, 1205090.899 446690.397 0, 1205310.482 441141.61 0,
+ 1205530.048 435593.261 0))
+
+POLYGON ((1219731.771 447290.499 0, 1219428.211 447277.636 0, 1219123.209 447264.73 0, 1218818.207 447251.842 0, 1218513.204 447238.971 0, 1218208.201 447226.119 0, 1217903.196 447213.285 0, 1217598.191 447200.468 0, 1217293.185 447187.67 0, 1216988.179 447174.89 0,
+ 1216683.171 447162.127 0, 1216378.163 447149.382 0, 1216073.154 447136.656 0, 1215768.144 447123.947 0, 1215463.134 447111.256 0, 1215158.123 447098.584 0, 1214853.111 447085.929 0, 1214548.098 447073.292 0, 1214243.085 447060.673 0, 1213938.071 447048.072 0,
+ 1213633.056 447035.489 0, 1213328.04 447022.924 0, 1213023.024 447010.377 0, 1212718.006 446997.848 0, 1212411.547 446985.278 0, 1212107.97 446972.844 0, 1211802.951 446960.368 0, 1211497.931 446947.911 0, 1211192.91 446935.472 0, 1210887.888 446923.05 0,
+ 1210582.866 446910.647 0, 1210277.843 446898.261 0, 1209972.819 446885.894 0, 1209667.795 446873.544 0, 1209362.77 446861.212 0, 1209057.744 446848.899 0, 1208752.717 446836.603 0, 1208447.69 446824.325 0, 1208142.662 446812.065 0, 1207837.633 446799.823 0,
+ 1207532.604 446787.599 0, 1207227.574 446775.393 0, 1206922.543 446763.205 0, 1206617.511 446751.035 0, 1206312.479 446738.883 0, 1206007.445 446726.749 0, 1205702.412 446714.633 0, 1205397.377 446702.535 0, 1205090.899 446690.397 0, 1204871.298 452239.619 0,
+ 1204651.681 457789.274 0, 1204957.502 457801.385 0, 1205261.884 457813.458 0, 1205566.264 457825.548 0, 1205870.644 457837.656 0, 1206175.023 457849.782 0, 1206479.402 457861.926 0, 1206783.779 457874.088 0, 1207088.156 457886.268 0, 1207392.532 457898.466 0,
+ 1207696.908 457910.681 0, 1208001.283 457922.915 0, 1208305.657 457935.167 0, 1208610.03 457947.436 0, 1208914.403 457959.723 0, 1209218.775 457972.029 0, 1209523.146 457984.352 0, 1209827.517 457996.693 0, 1210131.886 458009.052 0, 1210436.255 458021.429 0,
+ 1210740.624 458033.823 0, 1211044.991 458046.236 0, 1211349.358 458058.667 0, 1211653.724 458071.115 0, 1211956.651 458083.523 0, 1212262.454 458096.066 0, 1212566.818 458108.569 0, 1212871.181 458121.089 0, 1213175.544 458133.627 0, 1213479.905 458146.183 0,
+ 1213784.266 458158.757 0, 1214088.626 458171.349 0, 1214392.986 458183.959 0, 1214697.345 458196.586 0, 1215001.702 458209.232 0, 1215306.06 458221.895 0, 1215610.416 458234.577 0, 1215914.772 458247.276 0, 1216219.127 458259.994 0, 1216523.481 458272.729 0,
+ 1216827.835 458285.482 0, 1217132.187 458298.253 0, 1217436.539 458311.042 0, 1217740.891 458323.849 0, 1218045.241 458336.673 0, 1218349.591 458349.516 0, 1218653.94 458362.377 0, 1218958.288 458375.255 0, 1219261.198 458388.091 0, 1219496.494 452839.079 0,
+ 1219731.771 447290.499 0))
+
+POLYGON ((1233868.965 459028.179 0, 1233566.09 459014.488 0, 1233261.78 459000.75 0, 1232957.468 458987.029 0, 1232653.156 458973.327 0, 1232348.843 458959.642 0, 1232044.529 458945.976 0, 1231740.215 458932.327 0, 1231435.899 458918.696 0, 1231131.583 458905.083 0,
+ 1230827.266 458891.488 0, 1230522.948 458877.911 0, 1230218.629 458864.352 0, 1229914.31 458850.811 0, 1229609.99 458837.287 0, 1229305.669 458823.782 0, 1229001.347 458810.294 0, 1228697.024 458796.825 0, 1228392.701 458783.373 0, 1228088.377 458769.939 0,
+ 1227784.052 458756.523 0, 1227479.726 458743.126 0, 1227175.399 458729.745 0, 1226871.072 458716.383 0, 1226565.308 458702.976 0, 1226262.415 458689.713 0, 1225958.085 458676.404 0, 1225653.755 458663.114 0, 1225349.423 458649.841 0, 1225045.091 458636.587 0,
+ 1224740.759 458623.35 0, 1224436.425 458610.131 0, 1224132.091 458596.93 0, 1223827.755 458583.747 0, 1223523.419 458570.582 0, 1223219.083 458557.435 0, 1222914.745 458544.306 0, 1222610.407 458531.194 0, 1222306.068 458518.101 0, 1222001.728 458505.025 0,
+ 1221697.388 458491.968 0, 1221393.046 458478.928 0, 1221088.704 458465.906 0, 1220784.361 458452.902 0, 1220480.018 458439.916 0, 1220175.673 458426.948 0, 1219871.328 458413.998 0, 1219566.982 458401.066 0, 1219261.198 458388.091 0, 1219025.884 463937.532 0,
+ 1218790.552 469487.399 0, 1219095.68 469500.346 0, 1219399.373 469513.251 0, 1219703.064 469526.173 0, 1220006.756 469539.113 0, 1220310.446 469552.072 0, 1220614.136 469565.048 0, 1220917.824 469578.041 0, 1221221.512 469591.053 0, 1221525.2 469604.083 0,
+ 1221828.886 469617.13 0, 1222132.572 469630.196 0, 1222436.257 469643.279 0, 1222739.941 469656.38 0, 1223043.625 469669.499 0, 1223347.307 469682.636 0, 1223650.989 469695.79 0, 1223954.67 469708.963 0, 1224258.351 469722.153 0, 1224562.03 469735.362 0,
+ 1224865.709 469748.588 0, 1225169.387 469761.832 0, 1225473.064 469775.094 0, 1225776.741 469788.374 0, 1226078.983 469801.609 0, 1226384.092 469814.987 0, 1226687.766 469828.321 0, 1226991.439 469841.672 0, 1227295.112 469855.041 0, 1227598.783 469868.428 0,
+ 1227902.454 469881.833 0, 1228206.124 469895.256 0, 1228509.794 469908.697 0, 1228813.462 469922.155 0, 1229117.13 469935.632 0, 1229420.797 469949.126 0, 1229724.463 469962.638 0, 1230028.129 469976.168 0, 1230331.793 469989.716 0, 1230635.457 470003.282 0,
+ 1230939.12 470016.866 0, 1231242.783 470030.467 0, 1231546.444 470044.087 0, 1231850.105 470057.724 0, 1232153.764 470071.379 0, 1232457.423 470085.052 0, 1232761.082 470098.743 0, 1233064.739 470112.452 0, 1233366.964 470126.114 0, 1233617.974 464576.933 0,
+ 1233868.965 459028.179 0))
+
+POLYGON ((1247941.513 470806.007 0, 1247639.326 470791.491 0, 1247335.708 470776.925 0, 1247032.09 470762.376 0, 1246728.471 470747.845 0, 1246424.851 470733.332 0, 1246121.23 470718.837 0, 1245817.608 470704.36 0, 1245513.985 470689.9 0, 1245210.362 470675.459 0,
+ 1244906.738 470661.035 0, 1244603.112 470646.629 0, 1244299.486 470632.241 0, 1243995.86 470617.871 0, 1243692.232 470603.519 0, 1243388.603 470589.185 0, 1243084.974 470574.868 0, 1242781.344 470560.57 0, 1242477.713 470546.289 0, 1242174.081 470532.026 0,
+ 1241870.448 470517.781 0, 1241566.815 470503.554 0, 1241263.18 470489.345 0, 1240959.545 470475.154 0, 1240654.478 470460.913 0, 1240352.272 470446.825 0, 1240048.634 470432.687 0, 1239744.996 470418.567 0, 1239441.356 470404.465 0, 1239137.716 470390.381 0,
+ 1238834.075 470376.315 0, 1238530.433 470362.266 0, 1238226.791 470348.236 0, 1237923.147 470334.223 0, 1237619.503 470320.228 0, 1237315.857 470306.252 0, 1237012.211 470292.293 0, 1236708.565 470278.351 0, 1236404.917 470264.428 0, 1236101.269 470250.523 0,
+ 1235797.619 470236.635 0, 1235493.969 470222.766 0, 1235190.318 470208.914 0, 1234886.666 470195.08 0, 1234583.014 470181.264 0, 1234279.361 470167.466 0, 1233975.706 470153.686 0, 1233672.051 470139.923 0, 1233366.964 470126.114 0, 1233115.934 475675.717 0,
+ 1232864.886 481225.741 0, 1233169.317 481239.521 0, 1233472.319 481253.253 0, 1233775.32 481267.004 0, 1234078.32 481280.773 0, 1234381.319 481294.559 0, 1234684.317 481308.363 0, 1234987.315 481322.185 0, 1235290.312 481336.025 0, 1235593.308 481349.882 0,
+ 1235896.303 481363.758 0, 1236199.297 481377.651 0, 1236502.291 481391.562 0, 1236805.284 481405.491 0, 1237108.275 481419.438 0, 1237411.267 481433.403 0, 1237714.257 481447.385 0, 1238017.246 481461.385 0, 1238320.235 481475.404 0, 1238623.223 481489.44 0,
+ 1238926.21 481503.493 0, 1239229.196 481517.565 0, 1239532.181 481531.654 0, 1239835.165 481545.762 0, 1240136.722 481559.82 0, 1240441.132 481574.03 0, 1240744.114 481588.191 0, 1241047.095 481602.369 0, 1241350.075 481616.566 0, 1241653.055 481630.78 0,
+ 1241956.033 481645.012 0, 1242259.011 481659.262 0, 1242561.988 481673.53 0, 1242864.964 481687.816 0, 1243167.94 481702.119 0, 1243470.914 481716.44 0, 1243773.888 481730.78 0, 1244076.86 481745.137 0, 1244379.832 481759.511 0, 1244682.803 481773.904 0,
+ 1244985.774 481788.314 0, 1245288.743 481802.743 0, 1245591.711 481817.189 0, 1245894.679 481831.653 0, 1246197.646 481846.135 0, 1246500.612 481860.634 0, 1246803.577 481875.152 0, 1247106.541 481889.687 0, 1247408.078 481904.171 0, 1247674.806 476354.879 0,
+ 1247941.513 470806.007 0))
+
+POLYGON ((1261949.296 482623.686 0, 1261647.799 482608.35 0, 1261344.877 482592.959 0, 1261041.954 482577.585 0, 1260739.03 482562.23 0, 1260436.105 482546.892 0, 1260133.18 482531.572 0, 1259830.253 482516.27 0, 1259527.326 482500.986 0, 1259224.398 482485.72 0,
+ 1258921.469 482470.471 0, 1258618.538 482455.241 0, 1258315.607 482440.028 0, 1258012.676 482424.833 0, 1257709.743 482409.656 0, 1257406.809 482394.496 0, 1257103.875 482379.355 0, 1256800.939 482364.231 0, 1256498.003 482349.125 0, 1256195.066 482334.037 0,
+ 1255892.128 482318.967 0, 1255589.189 482303.914 0, 1255286.249 482288.88 0, 1254983.308 482273.863 0, 1254678.941 482258.794 0, 1254377.424 482243.883 0, 1254074.48 482228.92 0, 1253771.536 482213.975 0, 1253468.591 482199.047 0, 1253165.645 482184.137 0,
+ 1252862.698 482169.245 0, 1252559.75 482154.371 0, 1252256.801 482139.515 0, 1251953.852 482124.677 0, 1251650.901 482109.856 0, 1251347.95 482095.053 0, 1251044.998 482080.268 0, 1250742.045 482065.501 0, 1250439.091 482050.752 0, 1250136.136 482036.02 0,
+ 1249833.181 482021.307 0, 1249530.224 482006.611 0, 1249227.267 481991.933 0, 1248924.309 481977.273 0, 1248621.35 481962.631 0, 1248318.39 481948.006 0, 1248015.429 481933.4 0, 1247712.467 481918.811 0, 1247408.078 481904.171 0, 1247141.331 487453.881 0,
+ 1246874.564 493004.004 0, 1247178.296 493018.612 0, 1247480.604 493033.17 0, 1247782.912 493047.745 0, 1248085.219 493062.338 0, 1248387.524 493076.948 0, 1248689.829 493091.577 0, 1248992.133 493106.223 0, 1249294.436 493120.887 0, 1249596.739 493135.569 0,
+ 1249899.04 493150.269 0, 1250201.341 493164.986 0, 1250503.641 493179.721 0, 1250805.94 493194.474 0, 1251108.238 493209.245 0, 1251410.535 493224.034 0, 1251712.831 493238.84 0, 1252015.126 493253.665 0, 1252317.421 493268.507 0, 1252619.714 493283.366 0,
+ 1252922.007 493298.244 0, 1253224.299 493313.139 0, 1253526.59 493328.052 0, 1253828.88 493342.983 0, 1254129.748 493357.862 0, 1254433.458 493372.899 0, 1254735.745 493387.883 0, 1255038.032 493402.885 0, 1255340.318 493417.905 0, 1255642.603 493432.943 0,
+ 1255944.887 493447.998 0, 1256247.17 493463.072 0, 1256549.452 493478.163 0, 1256851.733 493493.272 0, 1257154.014 493508.398 0, 1257456.293 493523.543 0, 1257758.572 493538.705 0, 1258060.849 493553.885 0, 1258363.126 493569.083 0, 1258665.402 493584.299 0,
+ 1258967.677 493599.532 0, 1259269.951 493614.783 0, 1259572.225 493630.052 0, 1259874.497 493645.339 0, 1260176.768 493660.644 0, 1260479.039 493675.966 0, 1260781.309 493691.306 0, 1261083.577 493706.664 0, 1261384.424 493721.968 0, 1261666.871 488172.62 0,
+ 1261949.296 482623.686 0))
+
+POLYGON ((1275892.199 494480.921 0, 1275591.394 494464.768 0, 1275289.17 494448.556 0, 1274986.945 494432.362 0, 1274684.719 494416.185 0, 1274382.492 494400.027 0, 1274080.264 494383.886 0, 1273778.035 494367.763 0, 1273475.805 494351.658 0, 1273173.574 494335.571 0,
+ 1272871.342 494319.501 0, 1272569.11 494303.449 0, 1272266.876 494287.415 0, 1271964.642 494271.399 0, 1271662.406 494255.401 0, 1271360.17 494239.42 0, 1271057.932 494223.457 0, 1270755.694 494207.512 0, 1270453.455 494191.585 0, 1270151.214 494175.676 0,
+ 1269848.973 494159.784 0, 1269546.731 494143.91 0, 1269244.488 494128.054 0, 1268942.244 494112.216 0, 1268638.58 494096.321 0, 1268337.753 494080.592 0, 1268035.507 494064.808 0, 1267733.259 494049.04 0, 1267431.01 494033.291 0, 1267128.761 494017.56 0,
+ 1266826.51 494001.846 0, 1266524.259 493986.15 0, 1266222.007 493970.472 0, 1265919.753 493954.811 0, 1265617.499 493939.169 0, 1265315.244 493923.544 0, 1265012.988 493907.937 0, 1264710.731 493892.347 0, 1264408.474 493876.776 0, 1264106.215 493861.222 0,
+ 1263803.955 493845.686 0, 1263501.695 493830.168 0, 1263199.433 493814.668 0, 1262897.171 493799.186 0, 1262594.907 493783.721 0, 1262292.643 493768.274 0, 1261990.378 493752.845 0, 1261688.112 493737.433 0, 1261384.424 493721.968 0, 1261101.957 499271.726 0,
+ 1260819.469 504821.893 0, 1261122.5 504837.325 0, 1261424.113 504852.703 0, 1261725.725 504868.099 0, 1262027.336 504883.513 0, 1262328.946 504898.944 0, 1262630.555 504914.393 0, 1262932.163 504929.86 0, 1263233.77 504945.344 0, 1263535.377 504960.846 0,
+ 1263836.982 504976.366 0, 1264138.587 504991.904 0, 1264440.19 505007.46 0, 1264741.793 505023.033 0, 1265043.395 505038.624 0, 1265344.996 505054.233 0, 1265646.596 505069.86 0, 1265948.195 505085.504 0, 1266249.793 505101.166 0, 1266551.39 505116.846 0,
+ 1266852.986 505132.543 0, 1267154.581 505148.259 0, 1267456.176 505163.992 0, 1267757.769 505179.742 0, 1268057.945 505195.437 0, 1268360.953 505211.297 0, 1268662.544 505227.101 0, 1268964.134 505242.923 0, 1269265.723 505258.763 0, 1269567.311 505274.62 0,
+ 1269868.898 505290.495 0, 1270170.484 505306.388 0, 1270472.069 505322.299 0, 1270773.653 505338.227 0, 1271075.236 505354.173 0, 1271376.818 505370.137 0, 1271678.4 505386.118 0, 1271979.98 505402.118 0, 1272281.559 505418.135 0, 1272583.138 505434.17 0,
+ 1272884.716 505450.222 0, 1273186.292 505466.293 0, 1273487.868 505482.381 0, 1273789.443 505498.486 0, 1274091.016 505514.61 0, 1274392.589 505530.751 0, 1274694.161 505546.91 0, 1274995.732 505563.087 0, 1275295.887 505579.206 0, 1275594.054 500029.86 0,
+ 1275892.199 494480.921 0))
+
+POLYGON ((1289770.107 506377.414 0, 1289469.997 506360.448 0, 1289168.473 506343.419 0, 1288866.948 506326.408 0, 1288565.422 506309.415 0, 1288263.894 506292.439 0, 1287962.366 506275.481 0, 1287660.837 506258.541 0, 1287359.307 506241.619 0, 1287057.776 506224.715 0,
+ 1286756.244 506207.828 0, 1286454.711 506190.959 0, 1286153.177 506174.108 0, 1285851.642 506157.274 0, 1285550.107 506140.458 0, 1285248.57 506123.66 0, 1284947.032 506106.88 0, 1284645.493 506090.117 0, 1284343.953 506073.373 0, 1284042.412 506056.645 0,
+ 1283740.87 506039.936 0, 1283439.327 506023.245 0, 1283137.783 506006.571 0, 1282836.238 505989.915 0, 1282533.279 505973.199 0, 1282233.146 505956.656 0, 1281931.598 505940.053 0, 1281630.049 505923.468 0, 1281328.5 505906.901 0, 1281026.949 505890.351 0,
+ 1280725.397 505873.819 0, 1280423.845 505857.305 0, 1280122.291 505840.809 0, 1279820.736 505824.33 0, 1279519.181 505807.87 0, 1279217.624 505791.427 0, 1278916.067 505775.001 0, 1278614.508 505758.594 0, 1278312.949 505742.204 0, 1278011.389 505725.832 0,
+ 1277709.827 505709.477 0, 1277408.265 505693.141 0, 1277106.702 505676.822 0, 1276805.137 505660.521 0, 1276503.572 505644.238 0, 1276202.006 505627.972 0, 1275900.439 505611.724 0, 1275598.871 505595.494 0, 1275295.887 505579.206 0, 1274997.698 511128.957 0,
+ 1274699.487 516679.11 0, 1275001.815 516695.363 0, 1275302.73 516711.558 0, 1275603.644 516727.77 0, 1275904.557 516744.001 0, 1276205.468 516760.249 0, 1276506.379 516776.514 0, 1276807.289 516792.798 0, 1277108.198 516809.099 0, 1277409.106 516825.418 0,
+ 1277710.013 516841.755 0, 1278010.92 516858.109 0, 1278311.825 516874.481 0, 1278612.729 516890.871 0, 1278913.632 516907.278 0, 1279214.534 516923.703 0, 1279515.436 516940.146 0, 1279816.336 516956.607 0, 1280117.235 516973.085 0, 1280418.134 516989.581 0,
+ 1280719.031 517006.095 0, 1281019.928 517022.626 0, 1281320.823 517039.175 0, 1281621.718 517055.742 0, 1281921.2 517072.249 0, 1282223.504 517088.929 0, 1282524.395 517105.549 0, 1282825.286 517122.187 0, 1283126.176 517138.842 0, 1283427.064 517155.515 0,
+ 1283727.952 517172.206 0, 1284028.838 517188.914 0, 1284329.724 517205.641 0, 1284630.609 517222.385 0, 1284931.493 517239.146 0, 1285232.375 517255.926 0, 1285533.257 517272.723 0, 1285834.138 517289.537 0, 1286135.017 517306.37 0, 1286435.896 517323.22 0,
+ 1286736.774 517340.088 0, 1287037.651 517356.974 0, 1287338.527 517373.877 0, 1287639.401 517390.798 0, 1287940.275 517407.737 0, 1288241.148 517424.693 0, 1288542.02 517441.667 0, 1288842.891 517458.659 0, 1289142.351 517475.589 0, 1289456.24 511926.301 0,
+ 1289770.107 506377.414 0))
+
+POLYGON ((1303582.906 518312.869 0, 1303283.493 518295.093 0, 1302982.671 518277.251 0, 1302681.849 518259.427 0, 1302381.025 518241.621 0, 1302080.2 518223.832 0, 1301779.374 518206.061 0, 1301478.548 518188.308 0, 1301177.72 518170.572 0, 1300876.891 518152.854 0,
+ 1300576.061 518135.154 0, 1300275.23 518117.472 0, 1299974.398 518099.807 0, 1299673.565 518082.16 0, 1299372.731 518064.53 0, 1299071.895 518046.919 0, 1298771.059 518029.325 0, 1298470.222 518011.749 0, 1298169.384 517994.19 0, 1297868.544 517976.649 0,
+ 1297567.704 517959.126 0, 1297266.863 517941.621 0, 1296966.02 517924.133 0, 1296665.177 517906.663 0, 1296362.924 517889.129 0, 1296063.487 517871.776 0, 1295762.641 517854.36 0, 1295461.793 517836.96 0, 1295160.945 517819.579 0, 1294860.095 517802.215 0,
+ 1294559.244 517784.869 0, 1294258.393 517767.541 0, 1293957.54 517750.23 0, 1293656.686 517732.937 0, 1293355.832 517715.662 0, 1293054.976 517698.405 0, 1292754.119 517681.165 0, 1292453.262 517663.943 0, 1292152.403 517646.738 0, 1291851.543 517629.552 0,
+ 1291550.683 517612.383 0, 1291249.821 517595.232 0, 1290948.958 517578.098 0, 1290648.094 517560.982 0, 1290347.23 517543.884 0, 1290046.364 517526.804 0, 1289745.497 517509.741 0, 1289444.629 517492.696 0, 1289142.351 517475.589 0, 1288828.439 523025.276 0,
+ 1288514.504 528575.358 0, 1288816.126 528592.428 0, 1289116.341 528609.436 0, 1289416.554 528626.462 0, 1289716.767 528643.505 0, 1290016.978 528660.566 0, 1290317.189 528677.645 0, 1290617.398 528694.741 0, 1290917.607 528711.855 0, 1291217.814 528728.987 0,
+ 1291518.021 528746.136 0, 1291818.226 528763.303 0, 1292118.43 528780.488 0, 1292418.634 528797.69 0, 1292718.836 528814.91 0, 1293019.038 528832.148 0, 1293319.238 528849.403 0, 1293619.437 528866.676 0, 1293919.636 528883.967 0, 1294219.833 528901.275 0,
+ 1294520.029 528918.601 0, 1294820.225 528935.945 0, 1295120.419 528953.306 0, 1295420.612 528970.685 0, 1295719.399 528988 0, 1296020.995 529005.496 0, 1296321.186 529022.928 0, 1296621.375 529040.378 0, 1296921.563 529057.845 0, 1297221.75 529075.33 0,
+ 1297521.936 529092.833 0, 1297822.121 529110.354 0, 1298122.305 529127.892 0, 1298422.488 529145.447 0, 1298722.67 529163.021 0, 1299022.851 529180.612 0, 1299323.031 529198.22 0, 1299623.209 529215.847 0, 1299923.387 529233.491 0, 1300223.564 529251.153 0,
+ 1300523.74 529268.832 0, 1300823.914 529286.529 0, 1301124.088 529304.244 0, 1301424.26 529321.976 0, 1301724.432 529339.726 0, 1302024.602 529357.494 0, 1302324.772 529375.279 0, 1302624.94 529393.083 0, 1302923.704 529410.82 0, 1303253.317 523861.647 0,
+ 1303582.906 518312.869 0))
+
+POLYGON ((1317330.485 530286.987 0, 1317031.771 530268.405 0, 1316731.654 530249.754 0, 1316431.536 530231.121 0, 1316131.417 530212.505 0, 1315831.296 530193.907 0, 1315531.175 530175.327 0, 1315231.053 530156.764 0, 1314930.929 530138.219 0, 1314630.805 530119.692 0,
+ 1314330.679 530101.182 0, 1314030.552 530082.69 0, 1313730.425 530064.216 0, 1313430.296 530045.759 0, 1313130.166 530027.32 0, 1312830.035 530008.899 0, 1312529.903 529990.495 0, 1312229.769 529972.109 0, 1311929.635 529953.74 0, 1311629.5 529935.39 0,
+ 1311329.363 529917.057 0, 1311029.226 529898.741 0, 1310729.087 529880.443 0, 1310428.947 529862.163 0, 1310127.404 529843.816 0, 1309828.665 529825.656 0, 1309528.522 529807.429 0, 1309228.378 529789.22 0, 1308928.233 529771.028 0, 1308628.086 529752.854 0,
+ 1308327.939 529734.698 0, 1308027.791 529716.559 0, 1307727.642 529698.438 0, 1307427.491 529680.334 0, 1307127.34 529662.249 0, 1306827.187 529644.181 0, 1306527.033 529626.13 0, 1306226.879 529608.097 0, 1305926.723 529590.082 0, 1305626.566 529572.085 0,
+ 1305326.408 529554.105 0, 1305026.249 529536.143 0, 1304726.09 529518.199 0, 1304425.929 529500.272 0, 1304125.766 529482.363 0, 1303825.603 529464.471 0, 1303525.439 529446.598 0, 1303225.274 529428.742 0, 1302923.704 529410.82 0, 1302594.067 534960.386 0,
+ 1302264.408 540510.34 0, 1302565.322 540528.223 0, 1302864.834 540546.04 0, 1303164.344 540563.875 0, 1303463.854 540581.728 0, 1303763.363 540599.598 0, 1304062.871 540617.486 0, 1304362.377 540635.391 0, 1304661.883 540653.314 0, 1304961.388 540671.254 0,
+ 1305260.891 540689.213 0, 1305560.394 540707.189 0, 1305859.895 540725.182 0, 1306159.395 540743.193 0, 1306458.895 540761.222 0, 1306758.393 540779.268 0, 1307057.89 540797.332 0, 1307357.386 540815.414 0, 1307656.881 540833.513 0, 1307956.375 540851.63 0,
+ 1308255.868 540869.765 0, 1308555.36 540887.917 0, 1308854.851 540906.086 0, 1309154.34 540924.274 0, 1309452.429 540942.394 0, 1309753.317 540960.702 0, 1310052.803 540978.942 0, 1310352.288 540997.2 0, 1310651.773 541015.475 0, 1310951.256 541033.768 0,
+ 1311250.738 541052.079 0, 1311550.219 541070.408 0, 1311849.699 541088.754 0, 1312149.178 541107.117 0, 1312448.656 541125.499 0, 1312748.133 541143.898 0, 1313047.609 541162.314 0, 1313347.083 541180.748 0, 1313646.557 541199.2 0, 1313946.029 541217.67 0,
+ 1314245.5 541236.157 0, 1314544.971 541254.661 0, 1314844.44 541273.184 0, 1315143.908 541291.723 0, 1315443.375 541310.281 0, 1315742.841 541328.856 0, 1316042.306 541347.449 0, 1316341.769 541366.059 0, 1316639.834 541384.6 0, 1316985.171 535835.599 0,
+ 1317330.485 530286.987 0))
+
+POLYGON ((1331012.732 542299.47 0, 1330714.719 542280.087 0, 1330415.309 542260.631 0, 1330115.898 542241.192 0, 1329816.486 542221.771 0, 1329517.072 542202.367 0, 1329217.658 542182.981 0, 1328918.242 542163.613 0, 1328618.826 542144.262 0, 1328319.408 542124.929 0,
+ 1328019.989 542105.614 0, 1327720.568 542086.316 0, 1327421.147 542067.036 0, 1327121.725 542047.773 0, 1326822.301 542028.528 0, 1326522.876 542009.301 0, 1326223.45 541990.092 0, 1325924.023 541970.899 0, 1325624.595 541951.725 0, 1325325.166 541932.568 0,
+ 1325025.736 541913.429 0, 1324726.304 541894.307 0, 1324426.872 541875.204 0, 1324127.438 541856.117 0, 1323826.606 541836.96 0, 1323528.567 541817.997 0, 1323229.13 541798.964 0, 1322929.692 541779.948 0, 1322630.252 541760.95 0, 1322330.812 541741.969 0,
+ 1322031.37 541723.007 0, 1321731.928 541704.061 0, 1321432.484 541685.134 0, 1321133.039 541666.223 0, 1320833.593 541647.331 0, 1320534.146 541628.456 0, 1320234.697 541609.599 0, 1319935.248 541590.759 0, 1319635.797 541571.938 0, 1319336.346 541553.133 0,
+ 1319036.893 541534.347 0, 1318737.439 541515.577 0, 1318437.984 541496.826 0, 1318138.528 541478.092 0, 1317839.071 541459.376 0, 1317539.613 541440.677 0, 1317240.154 541421.997 0, 1316940.693 541403.333 0, 1316639.834 541384.6 0, 1316294.472 546933.988 0,
+ 1315949.086 552483.758 0, 1316249.29 552502.45 0, 1316548.097 552521.073 0, 1316846.903 552539.713 0, 1317145.708 552558.371 0, 1317444.511 552577.046 0, 1317743.314 552595.739 0, 1318042.116 552614.45 0, 1318340.916 552633.178 0, 1318639.716 552651.924 0,
+ 1318938.514 552670.687 0, 1319237.311 552689.468 0, 1319536.108 552708.266 0, 1319834.903 552727.082 0, 1320133.696 552745.916 0, 1320432.489 552764.767 0, 1320731.281 552783.636 0, 1321030.072 552802.522 0, 1321328.861 552821.426 0, 1321627.649 552840.348 0,
+ 1321926.437 552859.287 0, 1322225.223 552878.244 0, 1322524.008 552897.218 0, 1322822.792 552916.21 0, 1323120.18 552935.131 0, 1323420.356 552954.247 0, 1323719.137 552973.291 0, 1324017.916 552992.354 0, 1324316.694 553011.433 0, 1324615.472 553030.531 0,
+ 1324914.248 553049.646 0, 1325213.022 553068.778 0, 1325511.796 553087.929 0, 1325810.569 553107.096 0, 1326109.34 553126.282 0, 1326408.111 553145.485 0, 1326706.88 553164.705 0, 1327005.648 553183.943 0, 1327304.415 553203.199 0, 1327603.181 553222.472 0,
+ 1327901.946 553241.763 0, 1328200.71 553261.072 0, 1328499.472 553280.398 0, 1328798.233 553299.741 0, 1329096.994 553319.102 0, 1329395.753 553338.481 0, 1329694.51 553357.878 0, 1329993.267 553377.292 0, 1330290.63 553396.632 0, 1330651.694 547847.86 0,
+ 1331012.732 542299.47 0))
+
+POLYGON ((1344629.538 554350.02 0, 1344332.229 554329.839 0, 1344033.528 554309.581 0, 1343734.826 554289.341 0, 1343436.123 554269.118 0, 1343137.419 554248.913 0, 1342838.713 554228.725 0, 1342540.006 554208.555 0, 1342241.299 554188.403 0, 1341942.59 554168.268 0,
+ 1341643.879 554148.151 0, 1341345.168 554128.051 0, 1341046.455 554107.969 0, 1340747.741 554087.905 0, 1340449.027 554067.858 0, 1340150.31 554047.828 0, 1339851.593 554027.816 0, 1339552.875 554007.822 0, 1339254.155 553987.846 0, 1338955.434 553967.887 0,
+ 1338656.712 553947.945 0, 1338357.989 553928.021 0, 1338059.264 553908.115 0, 1337760.539 553888.226 0, 1337460.421 553868.263 0, 1337163.084 553848.502 0, 1336864.355 553828.666 0, 1336565.625 553808.847 0, 1336266.894 553789.046 0, 1335968.161 553769.263 0,
+ 1335669.427 553749.498 0, 1335370.693 553729.75 0, 1335071.957 553710.019 0, 1334773.219 553690.306 0, 1334474.481 553670.611 0, 1334175.741 553650.933 0, 1333877.001 553631.273 0, 1333578.259 553611.631 0, 1333279.516 553592.006 0, 1332980.772 553572.398 0,
+ 1332682.027 553552.808 0, 1332383.28 553533.236 0, 1332084.533 553513.682 0, 1331785.784 553494.145 0, 1331487.034 553474.625 0, 1331188.283 553455.123 0, 1330889.531 553435.639 0, 1330590.777 553416.172 0, 1330290.63 553396.632 0, 1329929.542 558945.785 0,
+ 1329568.429 564495.314 0, 1329867.92 564514.811 0, 1330166.02 564534.235 0, 1330464.119 564553.677 0, 1330762.217 564573.136 0, 1331060.314 564592.613 0, 1331358.409 564612.107 0, 1331656.504 564631.619 0, 1331954.597 564651.148 0, 1332252.689 564670.695 0,
+ 1332550.78 564690.26 0, 1332848.87 564709.842 0, 1333146.958 564729.441 0, 1333445.046 564749.059 0, 1333743.132 564768.693 0, 1334041.217 564788.345 0, 1334339.301 564808.015 0, 1334637.384 564827.703 0, 1334935.466 564847.407 0, 1335233.546 564867.13 0,
+ 1335531.625 564886.87 0, 1335829.704 564906.627 0, 1336127.781 564926.402 0, 1336425.856 564946.195 0, 1336722.543 564965.913 0, 1337022.005 564985.833 0, 1337320.077 565005.678 0, 1337618.148 565025.541 0, 1337916.218 565045.421 0, 1338214.287 565065.319 0,
+ 1338512.355 565085.234 0, 1338810.421 565105.167 0, 1339108.487 565125.118 0, 1339406.551 565145.086 0, 1339704.614 565165.071 0, 1340002.676 565185.074 0, 1340300.736 565205.095 0, 1340598.796 565225.133 0, 1340896.854 565245.189 0, 1341194.911 565265.262 0,
+ 1341492.967 565285.353 0, 1341791.022 565305.461 0, 1342089.075 565325.587 0, 1342387.127 565345.731 0, 1342685.179 565365.892 0, 1342983.229 565386.07 0, 1343281.277 565406.266 0, 1343579.325 565426.48 0, 1343875.984 565446.617 0, 1344252.774 559898.13 0,
+ 1344629.538 554350.02 0))
+
+POLYGON ((1358180.795 566438.338 0, 1357884.191 566417.363 0, 1357586.202 566396.307 0, 1357288.211 566375.269 0, 1356990.219 566354.249 0, 1356692.226 566333.246 0, 1356394.232 566312.26 0, 1356096.237 566291.292 0, 1355798.24 566270.342 0, 1355500.242 566249.409 0,
+ 1355202.243 566228.494 0, 1354904.242 566207.596 0, 1354606.241 566186.716 0, 1354308.238 566165.853 0, 1354010.234 566145.008 0, 1353712.228 566124.181 0, 1353414.222 566103.371 0, 1353116.214 566082.578 0, 1352818.205 566061.803 0, 1352520.195 566041.046 0,
+ 1352222.183 566020.306 0, 1351924.171 565999.583 0, 1351626.157 565978.879 0, 1351328.142 565958.191 0, 1351028.74 565937.426 0, 1350732.108 565916.87 0, 1350434.089 565896.235 0, 1350136.069 565875.618 0, 1349838.048 565855.018 0, 1349540.026 565834.436 0,
+ 1349242.002 565813.872 0, 1348943.977 565793.325 0, 1348645.951 565772.796 0, 1348347.924 565752.284 0, 1348049.896 565731.789 0, 1347751.866 565711.313 0, 1347453.835 565690.853 0, 1347155.803 565670.412 0, 1346857.77 565649.988 0, 1346559.735 565629.581 0,
+ 1346261.7 565609.192 0, 1345963.663 565588.821 0, 1345665.625 565568.467 0, 1345367.586 565548.13 0, 1345069.545 565527.811 0, 1344771.504 565507.51 0, 1344473.461 565487.226 0, 1344175.417 565466.96 0, 1343875.984 565446.617 0, 1343499.169 570995.477 0,
+ 1343122.329 576544.707 0, 1343421.105 576565.006 0, 1343718.496 576585.228 0, 1344015.886 576605.467 0, 1344313.274 576625.724 0, 1344610.661 576645.998 0, 1344908.047 576666.29 0, 1345205.432 576686.599 0, 1345502.816 576706.926 0, 1345800.198 576727.27 0,
+ 1346097.58 576747.632 0, 1346394.96 576768.012 0, 1346692.339 576788.409 0, 1346989.716 576808.823 0, 1347287.093 576829.255 0, 1347584.468 576849.704 0, 1347881.842 576870.171 0, 1348179.215 576890.655 0, 1348476.587 576911.157 0, 1348773.957 576931.677 0,
+ 1349071.326 576952.214 0, 1349368.694 576972.768 0, 1349666.061 576993.34 0, 1349963.427 577013.929 0, 1350259.408 577034.44 0, 1350558.154 577055.161 0, 1350855.516 577075.803 0, 1351152.877 577096.462 0, 1351450.236 577117.139 0, 1351747.595 577137.833 0,
+ 1352044.952 577158.545 0, 1352342.308 577179.275 0, 1352639.662 577200.022 0, 1352937.016 577220.786 0, 1353234.368 577241.568 0, 1353531.719 577262.367 0, 1353829.069 577283.184 0, 1354126.417 577304.019 0, 1354423.765 577324.871 0, 1354721.111 577345.74 0,
+ 1355018.455 577366.627 0, 1355315.799 577387.531 0, 1355613.141 577408.453 0, 1355910.483 577429.393 0, 1356207.823 577450.35 0, 1356505.161 577471.324 0, 1356802.499 577492.316 0, 1357099.835 577513.325 0, 1357395.788 577534.255 0, 1357788.305 571986.111 0,
+ 1358180.795 566438.338 0))
+
+POLYGON ((1371666.395 578564.123 0, 1371370.499 578542.358 0, 1371073.224 578520.508 0, 1370775.947 578498.677 0, 1370478.669 578476.862 0, 1370181.389 578455.065 0, 1369884.108 578433.286 0, 1369586.826 578411.524 0, 1369289.543 578389.78 0, 1368992.258 578368.053 0,
+ 1368694.972 578346.343 0, 1368397.685 578324.651 0, 1368100.396 578302.977 0, 1367803.107 578281.32 0, 1367505.816 578259.681 0, 1367208.523 578238.059 0, 1366911.23 578216.454 0, 1366613.935 578194.867 0, 1366316.639 578173.298 0, 1366019.341 578151.746 0,
+ 1365722.043 578130.212 0, 1365424.743 578108.695 0, 1365127.442 578087.195 0, 1364830.139 578065.713 0, 1364531.455 578044.149 0, 1364235.531 578022.802 0, 1363938.224 578001.373 0, 1363640.917 577979.961 0, 1363343.608 577958.566 0, 1363046.298 577937.189 0,
+ 1362748.987 577915.83 0, 1362451.674 577894.488 0, 1362154.36 577873.163 0, 1361857.045 577851.857 0, 1361559.729 577830.567 0, 1361262.412 577809.295 0, 1360965.093 577788.041 0, 1360667.773 577766.804 0, 1360370.451 577745.584 0, 1360073.129 577724.382 0,
+ 1359775.805 577703.198 0, 1359478.48 577682.031 0, 1359181.154 577660.882 0, 1358883.826 577639.75 0, 1358586.497 577618.635 0, 1358289.167 577597.538 0, 1357991.836 577576.459 0, 1357694.504 577555.397 0, 1357395.788 577534.255 0, 1357003.246 583082.765 0,
+ 1356610.678 588631.64 0, 1356908.737 588652.735 0, 1357205.417 588673.751 0, 1357502.095 588694.784 0, 1357798.772 588715.835 0, 1358095.447 588736.903 0, 1358392.122 588757.988 0, 1358688.795 588779.091 0, 1358985.467 588800.212 0, 1359282.137 588821.35 0,
+ 1359578.807 588842.505 0, 1359875.475 588863.678 0, 1360172.142 588884.868 0, 1360468.807 588906.076 0, 1360765.472 588927.301 0, 1361062.135 588948.544 0, 1361358.797 588969.804 0, 1361655.458 588991.082 0, 1361952.117 589012.377 0, 1362248.775 589033.689 0,
+ 1362545.432 589055.019 0, 1362842.088 589076.367 0, 1363138.742 589097.731 0, 1363435.395 589119.114 0, 1363730.67 589140.414 0, 1364028.698 589161.931 0, 1364325.347 589183.366 0, 1364621.995 589204.818 0, 1364918.642 589226.287 0, 1365215.288 589247.775 0,
+ 1365511.932 589269.279 0, 1365808.575 589290.801 0, 1366105.217 589312.341 0, 1366401.857 589333.898 0, 1366698.496 589355.472 0, 1366995.134 589377.064 0, 1367291.771 589398.673 0, 1367588.406 589420.3 0, 1367885.041 589441.944 0, 1368181.673 589463.606 0,
+ 1368478.305 589485.285 0, 1368774.935 589506.982 0, 1369071.564 589528.696 0, 1369368.192 589550.427 0, 1369664.819 589572.176 0, 1369961.444 589593.943 0, 1370258.068 589615.727 0, 1370554.69 589637.528 0, 1370849.936 589659.246 0, 1371258.179 584111.503 0,
+ 1371666.395 578564.123 0))
+
+POLYGON ((1385086.233 590727.076 0, 1384791.048 590704.525 0, 1384494.488 590681.885 0, 1384197.927 590659.263 0, 1383901.365 590636.659 0, 1383604.801 590614.072 0, 1383308.236 590591.503 0, 1383011.669 590568.951 0, 1382715.101 590546.416 0, 1382418.532 590523.899 0,
+ 1382121.962 590501.399 0, 1381825.39 590478.917 0, 1381528.817 590456.452 0, 1381232.242 590434.005 0, 1380935.666 590411.575 0, 1380639.089 590389.163 0, 1380342.511 590366.768 0, 1380045.931 590344.39 0, 1379749.35 590322.03 0, 1379452.768 590299.688 0,
+ 1379156.184 590277.363 0, 1378859.599 590255.055 0, 1378563.013 590232.765 0, 1378266.425 590210.492 0, 1377968.462 590188.134 0, 1377673.246 590165.999 0, 1377376.654 590143.779 0, 1377080.062 590121.576 0, 1376783.467 590099.39 0, 1376486.872 590077.222 0,
+ 1376190.275 590055.072 0, 1375893.677 590032.939 0, 1375597.078 590010.823 0, 1375300.477 589988.725 0, 1375003.875 589966.644 0, 1374707.272 589944.581 0, 1374410.667 589922.535 0, 1374114.061 589900.507 0, 1373817.454 589878.496 0, 1373520.846 589856.502 0,
+ 1373224.236 589834.526 0, 1372927.625 589812.568 0, 1372631.013 589790.627 0, 1372334.399 589768.703 0, 1372037.784 589746.797 0, 1371741.168 589724.908 0, 1371444.551 589703.037 0, 1371147.932 589681.183 0, 1370849.936 589659.246 0, 1370441.666 595207.35 0,
+ 1370033.37 600755.811 0, 1370330.71 600777.7 0, 1370626.676 600799.506 0, 1370922.64 600821.329 0, 1371218.603 600843.169 0, 1371514.565 600865.027 0, 1371810.526 600886.903 0, 1372106.485 600908.795 0, 1372402.443 600930.706 0, 1372698.4 600952.633 0,
+ 1372994.355 600974.578 0, 1373290.309 600996.541 0, 1373586.262 601018.52 0, 1373882.213 601040.518 0, 1374178.163 601062.532 0, 1374474.112 601084.564 0, 1374770.06 601106.614 0, 1375066.006 601128.681 0, 1375361.951 601150.765 0, 1375657.895 601172.867 0,
+ 1375953.837 601194.986 0, 1376249.778 601217.123 0, 1376545.718 601239.277 0, 1376841.657 601261.448 0, 1377136.222 601283.534 0, 1377433.53 601305.843 0, 1377729.464 601328.067 0, 1378025.398 601350.308 0, 1378321.33 601372.567 0, 1378617.26 601394.843 0,
+ 1378913.189 601417.136 0, 1379209.117 601439.447 0, 1379505.044 601461.775 0, 1379800.97 601484.121 0, 1380096.894 601506.484 0, 1380392.816 601528.864 0, 1380688.738 601551.262 0, 1380984.658 601573.677 0, 1381280.577 601596.11 0, 1381576.494 601618.56 0,
+ 1381872.41 601641.028 0, 1382168.325 601663.513 0, 1382464.239 601686.015 0, 1382760.151 601708.535 0, 1383056.062 601731.072 0, 1383351.971 601753.627 0, 1383647.879 601776.199 0, 1383943.786 601798.788 0, 1384238.321 601821.29 0, 1384662.291 596274.005 0,
+ 1385086.233 590727.076 0))
+
+POLYGON ((1398440.206 602926.897 0, 1398145.733 602903.562 0, 1397849.891 602880.137 0, 1397554.048 602856.729 0, 1397258.203 602833.339 0, 1396962.357 602809.966 0, 1396666.51 602786.61 0, 1396370.661 602763.272 0, 1396074.811 602739.951 0, 1395778.959 602716.647 0,
+ 1395483.107 602693.361 0, 1395187.252 602670.092 0, 1394891.397 602646.841 0, 1394595.54 602623.607 0, 1394299.681 602600.391 0, 1394003.822 602577.192 0, 1393707.961 602554.01 0, 1393412.098 602530.846 0, 1393116.234 602507.7 0, 1392820.369 602484.57 0,
+ 1392524.503 602461.458 0, 1392228.635 602438.364 0, 1391932.766 602415.287 0, 1391636.895 602392.227 0, 1391339.654 602369.078 0, 1391045.15 602346.16 0, 1390749.275 602323.152 0, 1390453.399 602300.162 0, 1390157.522 602277.19 0, 1389861.643 602254.235 0,
+ 1389565.763 602231.297 0, 1389269.881 602208.377 0, 1388973.999 602185.474 0, 1388678.115 602162.588 0, 1388382.229 602139.72 0, 1388086.342 602116.869 0, 1387790.454 602094.036 0, 1387494.565 602071.22 0, 1387198.674 602048.422 0, 1386902.782 602025.641 0,
+ 1386606.888 602002.877 0, 1386310.993 601980.131 0, 1386015.097 601957.402 0, 1385719.2 601934.691 0, 1385423.301 601911.997 0, 1385127.4 601889.32 0, 1384831.499 601866.661 0, 1384535.596 601844.019 0, 1384238.321 601821.29 0, 1383814.325 607368.93 0,
+ 1383390.301 612916.921 0, 1383686.92 612939.6 0, 1383982.17 612962.191 0, 1384277.418 612984.8 0, 1384572.665 613007.427 0, 1384867.911 613030.071 0, 1385163.156 613052.732 0, 1385458.399 613075.411 0, 1385753.641 613098.107 0, 1386048.881 613120.82 0,
+ 1386344.12 613143.551 0, 1386639.358 613166.299 0, 1386934.594 613189.064 0, 1387229.83 613211.847 0, 1387525.063 613234.648 0, 1387820.296 613257.465 0, 1388115.527 613280.3 0, 1388410.757 613303.153 0, 1388705.985 613326.022 0, 1389001.212 613348.91 0,
+ 1389296.438 613371.814 0, 1389591.662 613394.736 0, 1389886.885 613417.675 0, 1390182.107 613440.632 0, 1390475.961 613463.5 0, 1390772.546 613486.597 0, 1391067.764 613509.606 0, 1391362.98 613532.632 0, 1391658.195 613555.676 0, 1391953.408 613578.737 0,
+ 1392248.621 613601.815 0, 1392543.831 613624.911 0, 1392839.041 613648.024 0, 1393134.249 613671.154 0, 1393429.456 613694.302 0, 1393724.661 613717.467 0, 1394019.865 613740.65 0, 1394315.068 613763.85 0, 1394610.269 613787.067 0, 1394905.469 613810.302 0,
+ 1395200.668 613833.554 0, 1395495.865 613856.823 0, 1395791.06 613880.11 0, 1396086.255 613903.414 0, 1396381.448 613926.735 0, 1396676.64 613950.074 0, 1396971.83 613973.431 0, 1397267.019 613996.804 0, 1397560.842 614020.087 0, 1398000.538 608473.317 0,
+ 1398440.206 602926.897 0))
+
+POLYGON ((1411728.209 615163.284 0, 1411434.451 615139.171 0, 1411139.329 615114.963 0, 1410844.206 615090.773 0, 1410549.081 615066.6 0, 1410253.955 615042.445 0, 1409958.828 615018.307 0, 1409663.699 614994.186 0, 1409368.569 614970.083 0, 1409073.437 614945.997 0,
+ 1408778.304 614921.928 0, 1408483.17 614897.877 0, 1408188.034 614873.843 0, 1407892.896 614849.827 0, 1407597.758 614825.828 0, 1407302.617 614801.846 0, 1407007.476 614777.882 0, 1406712.333 614753.935 0, 1406417.188 614730.005 0, 1406122.043 614706.093 0,
+ 1405826.895 614682.198 0, 1405531.747 614658.32 0, 1405236.597 614634.46 0, 1404941.445 614610.618 0, 1404644.929 614586.682 0, 1404351.138 614562.984 0, 1404055.983 614539.194 0, 1403760.826 614515.42 0, 1403465.667 614491.664 0, 1403170.507 614467.926 0,
+ 1402875.346 614444.205 0, 1402580.184 614420.501 0, 1402285.02 614396.815 0, 1401989.854 614373.146 0, 1401694.687 614349.494 0, 1401399.519 614325.86 0, 1401104.35 614302.243 0, 1400809.179 614278.643 0, 1400514.006 614255.061 0, 1400218.832 614231.496 0,
+ 1399923.657 614207.949 0, 1399628.481 614184.419 0, 1399333.303 614160.906 0, 1399038.124 614137.411 0, 1398742.943 614113.933 0, 1398447.761 614090.473 0, 1398152.577 614067.03 0, 1397857.393 614043.604 0, 1397560.842 614020.087 0, 1397121.118 619567.205 0,
+ 1396681.368 625114.668 0, 1396977.263 625138.133 0, 1397271.794 625161.507 0, 1397566.325 625184.898 0, 1397860.854 625208.306 0, 1398155.382 625231.732 0, 1398449.908 625255.176 0, 1398744.433 625278.636 0, 1399038.956 625302.114 0, 1399333.478 625325.61 0,
+ 1399627.999 625349.122 0, 1399922.519 625372.652 0, 1400217.037 625396.2 0, 1400511.553 625419.764 0, 1400806.068 625443.346 0, 1401100.582 625466.946 0, 1401395.095 625490.562 0, 1401689.606 625514.196 0, 1401984.115 625537.848 0, 1402278.624 625561.516 0,
+ 1402573.131 625585.202 0, 1402867.636 625608.905 0, 1403162.14 625632.626 0, 1403456.643 625656.364 0, 1403749.784 625680.01 0, 1404045.644 625703.892 0, 1404340.143 625727.682 0, 1404634.64 625751.489 0, 1404929.135 625775.314 0, 1405223.63 625799.156 0,
+ 1405518.123 625823.015 0, 1405812.614 625846.892 0, 1406107.104 625870.786 0, 1406401.593 625894.697 0, 1406696.08 625918.626 0, 1406990.566 625942.572 0, 1407285.05 625966.535 0, 1407579.533 625990.516 0, 1407874.015 626014.514 0, 1408168.495 626038.529 0,
+ 1408462.974 626062.562 0, 1408757.451 626086.612 0, 1409051.927 626110.679 0, 1409346.402 626134.764 0, 1409640.875 626158.866 0, 1409935.347 626182.985 0, 1410229.817 626207.122 0, 1410524.286 626231.276 0, 1410817.394 626255.336 0, 1411272.816 620709.137 0,
+ 1411728.209 615163.284 0))
+
+POLYGON ((1424950.142 627435.935 0, 1424657.1 627411.047 0, 1424362.701 627386.062 0, 1424068.3 627361.093 0, 1423773.897 627336.142 0, 1423479.494 627311.208 0, 1423185.088 627286.292 0, 1422890.681 627261.392 0, 1422596.273 627236.511 0, 1422301.863 627211.646 0,
+ 1422007.452 627186.799 0, 1421713.04 627161.969 0, 1421418.626 627137.157 0, 1421124.21 627112.361 0, 1420829.793 627087.583 0, 1420535.374 627062.823 0, 1420240.954 627038.08 0, 1419946.533 627013.354 0, 1419652.11 626988.645 0, 1419357.686 626963.954 0,
+ 1419063.26 626939.28 0, 1418768.833 626914.624 0, 1418474.404 626889.984 0, 1418179.974 626865.362 0, 1417884.185 626840.644 0, 1417591.11 626816.171 0, 1417296.675 626791.601 0, 1417002.239 626767.048 0, 1416707.802 626742.513 0, 1416413.363 626717.995 0,
+ 1416118.923 626693.494 0, 1415824.481 626669.011 0, 1415530.038 626644.545 0, 1415235.594 626620.097 0, 1414941.148 626595.665 0, 1414646.7 626571.251 0, 1414352.251 626546.855 0, 1414057.801 626522.475 0, 1413763.349 626498.113 0, 1413468.896 626473.769 0,
+ 1413174.442 626449.442 0, 1412879.985 626425.132 0, 1412585.528 626400.839 0, 1412291.069 626376.564 0, 1411996.609 626352.306 0, 1411702.147 626328.065 0, 1411407.684 626303.842 0, 1411113.219 626279.636 0, 1410817.394 626255.336 0, 1410361.945 631801.875 0,
+ 1409906.467 637348.752 0, 1410201.637 637372.998 0, 1410495.448 637397.15 0, 1410789.258 637421.32 0, 1411083.067 637445.507 0, 1411376.875 637469.711 0, 1411670.681 637493.933 0, 1411964.485 637518.171 0, 1412258.288 637542.427 0, 1412552.09 637566.701 0,
+ 1412845.89 637590.991 0, 1413139.689 637615.299 0, 1413433.486 637639.625 0, 1413727.282 637663.967 0, 1414021.077 637688.327 0, 1414314.87 637712.704 0, 1414608.662 637737.098 0, 1414902.452 637761.51 0, 1415196.241 637785.939 0, 1415490.028 637810.385 0,
+ 1415783.814 637834.849 0, 1416077.599 637859.33 0, 1416371.382 637883.828 0, 1416665.163 637908.343 0, 1416957.588 637932.763 0, 1417252.722 637957.426 0, 1417546.499 637981.993 0, 1417840.275 638006.578 0, 1418134.049 638031.18 0, 1418427.822 638055.799 0,
+ 1418721.594 638080.436 0, 1419015.364 638105.089 0, 1419309.132 638129.76 0, 1419602.899 638154.449 0, 1419896.665 638179.154 0, 1420190.429 638203.877 0, 1420484.192 638228.617 0, 1420777.953 638253.375 0, 1421071.713 638278.15 0, 1421365.472 638302.942 0,
+ 1421659.228 638327.751 0, 1421952.984 638352.578 0, 1422246.738 638377.422 0, 1422540.49 638402.283 0, 1422834.241 638427.162 0, 1423127.991 638452.057 0, 1423421.739 638476.971 0, 1423715.486 638501.901 0, 1424007.877 638526.734 0, 1424479.024 632981.166 0,
+ 1424950.142 627435.935 0))
+
+POLYGON ((1438105.903 639744.55 0, 1437813.581 639718.891 0, 1437519.906 639693.131 0, 1437226.229 639667.388 0, 1436932.551 639641.662 0, 1436638.871 639615.954 0, 1436345.19 639590.263 0, 1436051.508 639564.589 0, 1435757.824 639538.933 0, 1435464.138 639513.294 0,
+ 1435170.451 639487.672 0, 1434876.762 639462.067 0, 1434583.072 639436.48 0, 1434289.38 639410.91 0, 1433995.687 639385.357 0, 1433701.992 639359.821 0, 1433408.296 639334.303 0, 1433114.599 639308.802 0, 1432820.899 639283.319 0, 1432527.199 639257.852 0,
+ 1432233.496 639232.403 0, 1431939.793 639206.972 0, 1431646.088 639181.557 0, 1431352.381 639156.16 0, 1431057.32 639130.663 0, 1430764.963 639105.417 0, 1430471.252 639080.072 0, 1430177.539 639054.744 0, 1429883.825 639029.433 0, 1429590.11 639004.14 0,
+ 1429296.392 638978.864 0, 1429002.674 638953.605 0, 1428708.954 638928.363 0, 1428415.232 638903.139 0, 1428121.509 638877.932 0, 1427827.785 638852.742 0, 1427534.059 638827.57 0, 1427240.331 638802.414 0, 1426946.602 638777.277 0, 1426652.872 638752.156 0,
+ 1426359.14 638727.053 0, 1426065.406 638701.967 0, 1425771.671 638676.898 0, 1425477.935 638651.847 0, 1425184.197 638626.812 0, 1424890.458 638601.796 0, 1424596.717 638576.796 0, 1424302.975 638551.814 0, 1424007.877 638526.734 0, 1423536.703 644072.636 0,
+ 1423065.5 649618.87 0, 1423359.941 649643.894 0, 1423653.031 649668.821 0, 1423946.119 649693.765 0, 1424239.205 649718.726 0, 1424532.29 649743.705 0, 1424825.373 649768.701 0, 1425118.456 649793.714 0, 1425411.536 649818.744 0, 1425704.615 649843.791 0,
+ 1425997.693 649868.856 0, 1426290.769 649893.938 0, 1426583.844 649919.037 0, 1426876.917 649944.154 0, 1427169.989 649969.288 0, 1427463.059 649994.439 0, 1427756.128 650019.607 0, 1428049.195 650044.792 0, 1428342.261 650069.995 0, 1428635.325 650095.215 0,
+ 1428928.388 650120.452 0, 1429221.449 650145.707 0, 1429514.509 650170.979 0, 1429807.567 650196.268 0, 1430099.275 650221.457 0, 1430393.68 650246.897 0, 1430686.734 650272.238 0, 1430979.786 650297.596 0, 1431272.837 650322.971 0, 1431565.886 650348.364 0,
+ 1431858.934 650373.774 0, 1432151.981 650399.2 0, 1432445.026 650424.645 0, 1432738.069 650450.106 0, 1433031.111 650475.585 0, 1433324.151 650501.081 0, 1433617.19 650526.594 0, 1433910.228 650552.125 0, 1434203.264 650577.672 0, 1434496.298 650603.237 0,
+ 1434789.331 650628.819 0, 1435082.362 650654.419 0, 1435375.392 650680.036 0, 1435668.421 650705.67 0, 1435961.448 650731.321 0, 1436254.473 650756.989 0, 1436547.497 650782.675 0, 1436840.519 650808.378 0, 1437132.192 650833.98 0, 1437619.062 645289.099 0,
+ 1438105.903 639744.55 0))
+
+POLYGON ((1451195.395 652088.825 0, 1450903.794 652062.4 0, 1450610.845 652035.869 0, 1450317.895 652009.355 0, 1450024.943 651982.859 0, 1449731.99 651956.38 0, 1449439.035 651929.919 0, 1449146.079 651903.474 0, 1448853.121 651877.047 0, 1448560.162 651850.637 0,
+ 1448267.201 651824.244 0, 1447974.238 651797.869 0, 1447681.274 651771.51 0, 1447388.308 651745.169 0, 1447095.341 651718.846 0, 1446802.372 651692.539 0, 1446509.402 651666.25 0, 1446216.43 651639.978 0, 1445923.457 651613.723 0, 1445630.482 651587.485 0,
+ 1445337.505 651561.265 0, 1445044.527 651535.062 0, 1444751.547 651508.876 0, 1444458.566 651482.708 0, 1444164.237 651456.436 0, 1443872.599 651430.422 0, 1443579.614 651404.305 0, 1443286.626 651378.206 0, 1442993.637 651352.124 0, 1442700.647 651326.058 0,
+ 1442407.655 651300.011 0, 1442114.662 651273.98 0, 1441821.667 651247.967 0, 1441528.67 651221.97 0, 1441235.672 651195.992 0, 1440942.673 651170.03 0, 1440649.672 651144.086 0, 1440356.669 651118.158 0, 1440063.665 651092.249 0, 1439770.659 651066.356 0,
+ 1439477.652 651040.48 0, 1439184.643 651014.622 0, 1438891.633 650988.781 0, 1438598.622 650962.958 0, 1438305.608 650937.151 0, 1438012.593 650911.362 0, 1437719.577 650885.59 0, 1437426.559 650859.836 0, 1437132.192 650833.98 0, 1436645.293 656379.188 0,
+ 1436158.366 661924.721 0, 1436452.077 661950.519 0, 1436744.442 661976.216 0, 1437036.806 662001.931 0, 1437329.168 662027.663 0, 1437621.528 662053.412 0, 1437913.887 662079.178 0, 1438206.245 662104.961 0, 1438498.601 662130.762 0, 1438790.955 662156.579 0,
+ 1439083.308 662182.414 0, 1439375.659 662208.266 0, 1439668.009 662234.136 0, 1439960.358 662260.022 0, 1440252.704 662285.926 0, 1440545.05 662311.847 0, 1440837.393 662337.785 0, 1441129.736 662363.741 0, 1441422.076 662389.714 0, 1441714.416 662415.703 0,
+ 1442006.753 662441.71 0, 1442299.089 662467.735 0, 1442591.424 662493.776 0, 1442883.757 662519.835 0, 1443174.745 662545.791 0, 1443468.418 662572.004 0, 1443760.747 662598.114 0, 1444053.074 662624.241 0, 1444345.399 662650.386 0, 1444637.723 662676.548 0,
+ 1444930.045 662702.727 0, 1445222.366 662728.923 0, 1445514.685 662755.137 0, 1445807.003 662781.368 0, 1446099.319 662807.616 0, 1446391.634 662833.881 0, 1446683.947 662860.163 0, 1446976.258 662886.462 0, 1447268.568 662912.779 0, 1447560.876 662939.113 0,
+ 1447853.183 662965.464 0, 1448145.488 662991.833 0, 1448437.792 663018.218 0, 1448730.094 663044.621 0, 1449022.395 663071.041 0, 1449314.694 663097.478 0, 1449606.992 663123.932 0, 1449899.287 663150.404 0, 1450190.239 663176.771 0, 1450692.832 657632.636 0,
+ 1451195.395 652088.825 0))
+
+POLYGON ((1464218.52 664468.459 0, 1463927.641 664441.27 0, 1463635.421 664413.973 0, 1463343.2 664386.692 0, 1463050.977 664359.43 0, 1462758.752 664332.184 0, 1462466.525 664304.956 0, 1462174.297 664277.744 0, 1461882.068 664250.55 0, 1461589.837 664223.373 0,
+ 1461297.604 664196.214 0, 1461005.369 664169.071 0, 1460713.133 664141.946 0, 1460420.896 664114.838 0, 1460128.657 664087.747 0, 1459836.416 664060.673 0, 1459544.173 664033.617 0, 1459251.929 664006.578 0, 1458959.684 663979.556 0, 1458667.437 663952.551 0,
+ 1458375.188 663925.563 0, 1458082.938 663898.593 0, 1457790.686 663871.639 0, 1457498.432 663844.703 0, 1457204.836 663817.661 0, 1456913.92 663790.883 0, 1456621.662 663763.998 0, 1456329.402 663737.131 0, 1456037.141 663710.281 0, 1455744.878 663683.448 0,
+ 1455452.613 663656.633 0, 1455160.347 663629.834 0, 1454868.079 663603.053 0, 1454575.81 663576.289 0, 1454283.539 663549.542 0, 1453991.267 663522.813 0, 1453698.993 663496.1 0, 1453406.717 663469.405 0, 1453114.44 663442.727 0, 1452822.161 663416.066 0,
+ 1452529.881 663389.422 0, 1452237.599 663362.796 0, 1451945.315 663336.187 0, 1451653.03 663309.595 0, 1451360.744 663283.02 0, 1451068.456 663256.462 0, 1450776.166 663229.922 0, 1450483.875 663203.399 0, 1450190.239 663176.771 0, 1449687.618 668721.227 0,
+ 1449184.967 674266.002 0, 1449477.947 674292.57 0, 1449769.585 674319.034 0, 1450061.222 674345.515 0, 1450352.858 674372.013 0, 1450644.492 674398.529 0, 1450936.124 674425.061 0, 1451227.755 674451.611 0, 1451519.384 674478.178 0, 1451811.012 674504.762 0,
+ 1452102.638 674531.363 0, 1452394.262 674557.982 0, 1452685.885 674584.617 0, 1452977.507 674611.27 0, 1453269.126 674637.94 0, 1453560.745 674664.627 0, 1453852.361 674691.332 0, 1454143.976 674718.053 0, 1454435.59 674744.792 0, 1454727.202 674771.547 0,
+ 1455018.812 674798.32 0, 1455310.421 674825.11 0, 1455602.028 674851.918 0, 1455893.634 674878.742 0, 1456183.9 674905.46 0, 1456476.841 674932.442 0, 1456768.442 674959.318 0, 1457060.041 674986.211 0, 1457351.639 675013.121 0, 1457643.235 675040.049 0,
+ 1457934.829 675066.993 0, 1458226.422 675093.955 0, 1458518.014 675120.934 0, 1458809.604 675147.93 0, 1459101.192 675174.943 0, 1459392.778 675201.974 0, 1459684.363 675229.021 0, 1459975.947 675256.086 0, 1460267.529 675283.168 0, 1460559.109 675310.267 0,
+ 1460850.688 675337.383 0, 1461142.265 675364.516 0, 1461433.84 675391.667 0, 1461725.414 675418.834 0, 1462016.986 675446.019 0, 1462308.557 675473.221 0, 1462600.126 675500.44 0, 1462891.694 675527.677 0, 1463181.923 675554.805 0, 1463700.236 670011.473 0,
+ 1464218.52 664468.459 0))
+
+POLYGON ((1477175.181 676883.147 0, 1476885.028 676855.199 0, 1476593.538 676827.139 0, 1476302.047 676799.096 0, 1476010.555 676771.071 0, 1475719.06 676743.062 0, 1475427.564 676715.071 0, 1475136.067 676687.097 0, 1474844.568 676659.14 0, 1474553.067 676631.2 0,
+ 1474261.564 676603.277 0, 1473970.06 676575.372 0, 1473678.554 676547.483 0, 1473387.047 676519.612 0, 1473095.538 676491.758 0, 1472804.027 676463.921 0, 1472512.514 676436.101 0, 1472221 676408.299 0, 1471929.485 676380.513 0, 1471637.967 676352.745 0,
+ 1471346.448 676324.994 0, 1471054.928 676297.26 0, 1470763.406 676269.543 0, 1470471.882 676241.844 0, 1470179.021 676214.035 0, 1469888.829 676186.496 0, 1469597.301 676158.848 0, 1469305.77 676131.217 0, 1469014.238 676103.603 0, 1468722.705 676076.006 0,
+ 1468431.17 676048.427 0, 1468139.633 676020.865 0, 1467848.094 675993.319 0, 1467556.554 675965.791 0, 1467265.013 675938.28 0, 1466973.469 675910.787 0, 1466681.924 675883.31 0, 1466390.378 675855.851 0, 1466098.83 675828.409 0, 1465807.28 675800.984 0,
+ 1465515.728 675773.576 0, 1465224.175 675746.185 0, 1464932.621 675718.811 0, 1464641.065 675691.455 0, 1464349.507 675664.116 0, 1464057.947 675636.793 0, 1463766.386 675609.488 0, 1463474.824 675582.201 0, 1463181.923 675554.805 0, 1462663.58 681098.452 0,
+ 1462145.208 686642.409 0, 1462437.453 686669.743 0, 1462728.363 686696.97 0, 1463019.272 686724.214 0, 1463310.178 686751.475 0, 1463601.084 686778.753 0, 1463891.987 686806.048 0, 1464182.889 686833.36 0, 1464473.79 686860.69 0, 1464764.689 686888.036 0,
+ 1465055.586 686915.4 0, 1465346.481 686942.781 0, 1465637.375 686970.179 0, 1465928.268 686997.594 0, 1466219.159 687025.026 0, 1466510.048 687052.475 0, 1466800.935 687079.942 0, 1467091.821 687107.425 0, 1467382.705 687134.926 0, 1467673.588 687162.444 0,
+ 1467964.469 687189.979 0, 1468255.349 687217.531 0, 1468546.226 687245.1 0, 1468837.103 687272.686 0, 1469126.645 687300.163 0, 1469418.85 687327.91 0, 1469709.721 687355.548 0, 1470000.591 687383.202 0, 1470291.459 687410.874 0, 1470582.326 687438.563 0,
+ 1470873.19 687466.269 0, 1471164.054 687493.993 0, 1471454.915 687521.733 0, 1471745.775 687549.49 0, 1472036.633 687577.265 0, 1472327.49 687605.057 0, 1472618.345 687632.865 0, 1472909.198 687660.691 0, 1473200.05 687688.534 0, 1473490.9 687716.395 0,
+ 1473781.749 687744.272 0, 1474072.595 687772.166 0, 1474363.441 687800.078 0, 1474654.284 687828.006 0, 1474945.126 687855.952 0, 1475235.966 687883.915 0, 1475526.805 687911.895 0, 1475817.642 687939.892 0, 1476107.146 687967.778 0, 1476641.178 682425.307 0,
+ 1477175.181 676883.147 0))
+
+POLYGON ((1490065.284 689332.587 0, 1489775.857 689303.883 0, 1489485.101 689275.064 0, 1489194.342 689246.263 0, 1488903.582 689217.478 0, 1488612.821 689188.711 0, 1488322.057 689159.961 0, 1488031.292 689131.228 0, 1487740.525 689102.512 0, 1487449.757 689073.813 0,
+ 1487158.986 689045.131 0, 1486868.214 689016.466 0, 1486577.441 688987.819 0, 1486286.666 688959.189 0, 1485995.889 688930.575 0, 1485705.11 688901.979 0, 1485414.33 688873.4 0, 1485123.548 688844.838 0, 1484832.764 688816.293 0, 1484541.979 688787.765 0,
+ 1484251.192 688759.255 0, 1483960.403 688730.761 0, 1483669.612 688702.285 0, 1483378.82 688673.826 0, 1483086.697 688645.253 0, 1482797.231 688616.958 0, 1482506.434 688588.55 0, 1482215.635 688560.16 0, 1481924.835 688531.786 0, 1481634.033 688503.429 0,
+ 1481343.229 688475.09 0, 1481052.424 688446.768 0, 1480761.617 688418.462 0, 1480470.808 688390.174 0, 1480179.997 688361.903 0, 1479889.185 688333.649 0, 1479598.371 688305.413 0, 1479307.556 688277.193 0, 1479016.739 688248.99 0, 1478725.92 688220.805 0,
+ 1478435.1 688192.637 0, 1478144.278 688164.485 0, 1477853.454 688136.351 0, 1477562.629 688108.234 0, 1477271.802 688080.135 0, 1476980.973 688052.052 0, 1476690.143 688023.986 0, 1476399.311 687995.938 0, 1476107.146 687967.778 0, 1475573.083 693510.557 0,
+ 1475038.992 699053.64 0, 1475330.501 699081.736 0, 1475620.681 699109.722 0, 1475910.858 699137.725 0, 1476201.035 699165.744 0, 1476491.209 699193.781 0, 1476781.382 699221.835 0, 1477071.553 699249.906 0, 1477361.723 699277.994 0, 1477651.891 699306.099 0,
+ 1477942.057 699334.221 0, 1478232.222 699362.36 0, 1478522.385 699390.517 0, 1478812.546 699418.69 0, 1479102.706 699446.881 0, 1479392.864 699475.088 0, 1479683.02 699503.313 0, 1479973.175 699531.555 0, 1480263.328 699559.813 0, 1480553.479 699588.089 0,
+ 1480843.629 699616.382 0, 1481133.777 699644.692 0, 1481423.923 699673.019 0, 1481714.068 699701.364 0, 1482002.884 699729.595 0, 1482294.352 699758.103 0, 1482584.492 699786.499 0, 1482874.63 699814.911 0, 1483164.766 699843.341 0, 1483454.901 699871.787 0,
+ 1483745.034 699900.251 0, 1484035.165 699928.732 0, 1484325.295 699957.23 0, 1484615.423 699985.745 0, 1484905.549 700014.277 0, 1485195.674 700042.826 0, 1485485.797 700071.392 0, 1485775.918 700099.975 0, 1486066.037 700128.576 0, 1486356.155 700157.193 0,
+ 1486646.271 700185.828 0, 1486936.386 700214.479 0, 1487226.499 700243.148 0, 1487516.61 700271.834 0, 1487806.719 700300.536 0, 1488096.827 700329.256 0, 1488386.933 700357.993 0, 1488677.037 700386.747 0, 1488965.814 700415.387 0, 1489515.564 694873.835 0,
+ 1490065.284 689332.587 0))
+
+POLYGON ((1502888.734 701816.474 0, 1502600.037 701787.019 0, 1502310.015 701757.445 0, 1502019.992 701727.889 0, 1501729.966 701698.349 0, 1501439.939 701668.827 0, 1501149.91 701639.322 0, 1500859.879 701609.834 0, 1500569.847 701580.363 0, 1500279.813 701550.909 0,
+ 1499989.777 701521.472 0, 1499699.739 701492.052 0, 1499409.7 701462.649 0, 1499119.659 701433.263 0, 1498829.616 701403.895 0, 1498539.572 701374.543 0, 1498249.526 701345.208 0, 1497959.478 701315.891 0, 1497669.428 701286.591 0, 1497379.376 701257.307 0,
+ 1497089.323 701228.041 0, 1496799.268 701198.792 0, 1496509.212 701169.56 0, 1496219.154 701140.345 0, 1495927.769 701111.014 0, 1495639.032 701081.966 0, 1495348.968 701052.802 0, 1495058.903 701023.656 0, 1494768.836 700994.526 0, 1494478.768 700965.413 0,
+ 1494188.697 700936.318 0, 1493898.625 700907.239 0, 1493608.552 700878.178 0, 1493318.476 700849.134 0, 1493028.399 700820.107 0, 1492738.32 700791.096 0, 1492448.24 700762.103 0, 1492158.157 700733.127 0, 1491868.073 700704.168 0, 1491577.988 700675.227 0,
+ 1491287.9 700646.302 0, 1490997.811 700617.394 0, 1490707.72 700588.504 0, 1490417.628 700559.63 0, 1490127.534 700530.774 0, 1489837.438 700501.934 0, 1489547.34 700473.112 0, 1489257.241 700444.307 0, 1488965.814 700415.387 0, 1488416.035 705957.24 0,
+ 1487866.226 711499.39 0, 1488156.997 711528.245 0, 1488446.444 711556.985 0, 1488735.889 711585.743 0, 1489025.333 711614.518 0, 1489314.774 711643.309 0, 1489604.215 711672.118 0, 1489893.653 711700.943 0, 1490183.09 711729.786 0, 1490472.525 711758.646 0,
+ 1490761.958 711787.523 0, 1491051.39 711816.416 0, 1491340.82 711845.327 0, 1491630.248 711874.255 0, 1491919.674 711903.2 0, 1492209.099 711932.162 0, 1492498.522 711961.141 0, 1492787.944 711990.137 0, 1493077.363 712019.15 0, 1493366.781 712048.18 0,
+ 1493656.198 712077.227 0, 1493945.612 712106.291 0, 1494235.025 712135.372 0, 1494524.436 712164.471 0, 1494812.524 712193.453 0, 1495103.253 712222.718 0, 1495392.66 712251.867 0, 1495682.064 712281.034 0, 1495971.466 712310.217 0, 1496260.867 712339.417 0,
+ 1496550.266 712368.635 0, 1496839.664 712397.869 0, 1497129.06 712427.121 0, 1497418.453 712456.389 0, 1497707.846 712485.675 0, 1497997.236 712514.978 0, 1498286.625 712544.297 0, 1498576.012 712573.634 0, 1498865.398 712602.988 0, 1499154.781 712632.358 0,
+ 1499444.163 712661.746 0, 1499733.543 712691.151 0, 1500022.922 712720.573 0, 1500312.298 712750.012 0, 1500601.673 712779.468 0, 1500891.047 712808.941 0, 1501180.418 712838.431 0, 1501469.788 712867.938 0, 1501757.836 712897.327 0, 1502323.3 707356.752 0,
+ 1502888.734 701816.474 0))
+
+POLYGON ((1515645.441 714334.504 0, 1515357.475 714304.301 0, 1515068.19 714273.976 0, 1514778.903 714243.669 0, 1514489.614 714213.379 0, 1514200.323 714183.105 0, 1513911.031 714152.849 0, 1513621.737 714122.61 0, 1513332.441 714092.388 0, 1513043.143 714062.182 0,
+ 1512753.844 714031.994 0, 1512464.542 714001.823 0, 1512175.239 713971.669 0, 1511885.934 713941.532 0, 1511596.628 713911.412 0, 1511307.319 713881.309 0, 1511018.009 713851.223 0, 1510728.697 713821.154 0, 1510439.384 713791.102 0, 1510150.068 713761.067 0,
+ 1509860.751 713731.049 0, 1509571.432 713701.048 0, 1509282.111 713671.064 0, 1508992.789 713641.097 0, 1508702.146 713611.011 0, 1508414.139 713581.215 0, 1508124.811 713551.299 0, 1507835.481 713521.4 0, 1507546.15 713491.519 0, 1507256.817 713461.654 0,
+ 1506967.482 713431.806 0, 1506678.145 713401.976 0, 1506388.807 713372.162 0, 1506099.467 713342.366 0, 1505810.125 713312.586 0, 1505520.782 713282.824 0, 1505231.436 713253.078 0, 1504942.089 713223.35 0, 1504652.74 713193.639 0, 1504363.39 713163.944 0,
+ 1504074.037 713134.267 0, 1503784.683 713104.607 0, 1503495.327 713074.963 0, 1503205.97 713045.337 0, 1502916.611 713015.728 0, 1502627.249 712986.136 0, 1502337.887 712956.561 0, 1502048.522 712927.003 0, 1501757.836 712897.327 0, 1501192.341 718438.196 0,
+ 1500626.817 723979.356 0, 1500916.848 724008.965 0, 1501205.56 724038.456 0, 1501494.271 724067.965 0, 1501782.98 724097.49 0, 1502071.687 724127.033 0, 1502360.392 724156.592 0, 1502649.096 724186.169 0, 1502937.798 724215.762 0, 1503226.498 724245.372 0,
+ 1503515.196 724275 0, 1503803.893 724304.644 0, 1504092.588 724334.306 0, 1504381.281 724363.984 0, 1504669.972 724393.679 0, 1504958.662 724423.392 0, 1505247.35 724453.121 0, 1505536.036 724482.867 0, 1505824.72 724512.631 0, 1506113.403 724542.411 0,
+ 1506402.084 724572.208 0, 1506690.763 724602.023 0, 1506979.44 724631.854 0, 1507268.116 724661.702 0, 1507555.474 724691.431 0, 1507845.462 724721.45 0, 1508134.132 724751.349 0, 1508422.801 724781.265 0, 1508711.468 724811.199 0, 1509000.133 724841.149 0,
+ 1509288.796 724871.116 0, 1509577.457 724901.1 0, 1509866.117 724931.102 0, 1510154.775 724961.12 0, 1510443.431 724991.155 0, 1510732.086 725021.207 0, 1511020.739 725051.276 0, 1511309.389 725081.362 0, 1511598.039 725111.466 0, 1511886.686 725141.586 0,
+ 1512175.332 725171.723 0, 1512463.975 725201.877 0, 1512752.617 725232.048 0, 1513041.258 725262.236 0, 1513329.896 725292.441 0, 1513618.533 725322.663 0, 1513907.168 725352.902 0, 1514195.801 725383.158 0, 1514483.118 725413.294 0, 1515064.295 719873.754 0,
+ 1515645.441 714334.504 0))
+
+POLYGON ((1528335.313 726886.372 0, 1528048.08 726855.425 0, 1527759.533 726824.354 0, 1527470.985 726793.299 0, 1527182.435 726762.262 0, 1526893.883 726731.242 0, 1526605.329 726700.238 0, 1526316.773 726669.252 0, 1526028.216 726638.282 0, 1525739.656 726607.33 0,
+ 1525451.095 726576.394 0, 1525162.532 726545.476 0, 1524873.967 726514.574 0, 1524585.401 726483.69 0, 1524296.832 726452.822 0, 1524008.262 726421.971 0, 1523719.69 726391.138 0, 1523431.116 726360.321 0, 1523142.541 726329.522 0, 1522853.963 726298.739 0,
+ 1522565.384 726267.973 0, 1522276.803 726237.225 0, 1521988.22 726206.493 0, 1521699.635 726175.778 0, 1521409.735 726144.941 0, 1521122.46 726114.4 0, 1520833.87 726083.736 0, 1520545.278 726053.089 0, 1520256.684 726022.46 0, 1519968.089 725991.847 0,
+ 1519679.492 725961.251 0, 1519390.892 725930.672 0, 1519102.292 725900.11 0, 1518813.689 725869.566 0, 1518525.084 725839.038 0, 1518236.478 725808.527 0, 1517947.87 725778.033 0, 1517659.26 725747.556 0, 1517370.648 725717.096 0, 1517082.035 725686.653 0,
+ 1516793.419 725656.227 0, 1516504.802 725625.818 0, 1516216.183 725595.426 0, 1515927.563 725565.052 0, 1515638.94 725534.694 0, 1515350.316 725504.353 0, 1515061.69 725474.029 0, 1514773.062 725443.722 0, 1514483.118 725413.294 0, 1513901.911 730953.121 0,
+ 1513320.674 736493.232 0, 1513609.963 736523.591 0, 1513897.939 736553.83 0, 1514185.913 736584.085 0, 1514473.885 736614.358 0, 1514761.855 736644.647 0, 1515049.824 736674.953 0, 1515337.791 736705.277 0, 1515625.756 736735.617 0, 1515913.719 736765.974 0,
+ 1516201.68 736796.348 0, 1516489.64 736826.739 0, 1516777.598 736857.147 0, 1517065.554 736887.572 0, 1517353.508 736918.014 0, 1517641.461 736948.473 0, 1517929.411 736978.949 0, 1518217.36 737009.442 0, 1518505.307 737039.951 0, 1518793.252 737070.478 0,
+ 1519081.196 737101.022 0, 1519369.138 737131.582 0, 1519657.078 737162.16 0, 1519945.016 737192.754 0, 1520231.642 737223.226 0, 1520520.886 737253.994 0, 1520808.819 737284.639 0, 1521096.75 737315.301 0, 1521384.679 737345.981 0, 1521672.606 737376.677 0,
+ 1521960.532 737407.39 0, 1522248.455 737438.12 0, 1522536.377 737468.867 0, 1522824.297 737499.631 0, 1523112.215 737530.412 0, 1523400.132 737561.21 0, 1523688.046 737592.024 0, 1523975.959 737622.856 0, 1524263.87 737653.705 0, 1524551.779 737684.57 0,
+ 1524839.687 737715.453 0, 1525127.592 737746.352 0, 1525415.496 737777.269 0, 1525703.398 737808.202 0, 1525991.298 737839.152 0, 1526279.196 737870.12 0, 1526567.092 737901.104 0, 1526854.987 737932.105 0, 1527141.571 737962.982 0, 1527738.457 732424.535 0,
+ 1528335.313 726886.372 0))
+
+POLYGON ((1540958.26 739471.773 0, 1540671.762 739440.086 0, 1540383.956 739408.272 0, 1540096.148 739376.474 0, 1539808.339 739344.694 0, 1539520.527 739312.93 0, 1539232.714 739281.184 0, 1538944.899 739249.454 0, 1538657.082 739217.741 0, 1538369.263 739186.045 0,
+ 1538081.442 739154.366 0, 1537793.619 739122.705 0, 1537505.795 739091.06 0, 1537217.969 739059.431 0, 1536930.14 739027.82 0, 1536642.31 738996.226 0, 1536354.478 738964.649 0, 1536066.644 738933.089 0, 1535778.809 738901.545 0, 1535490.971 738870.019 0,
+ 1535203.132 738838.509 0, 1534915.291 738807.017 0, 1534627.447 738775.541 0, 1534339.602 738744.083 0, 1534050.448 738712.498 0, 1533763.907 738681.216 0, 1533476.057 738649.808 0, 1533188.204 738618.418 0, 1532900.35 738587.044 0, 1532612.494 738555.687 0,
+ 1532324.636 738524.347 0, 1532036.776 738493.024 0, 1531748.915 738461.717 0, 1531461.051 738430.428 0, 1531173.186 738399.156 0, 1530885.319 738367.901 0, 1530597.45 738336.662 0, 1530309.579 738305.441 0, 1530021.707 738274.236 0, 1529733.832 738243.049 0,
+ 1529445.956 738211.878 0, 1529158.078 738180.724 0, 1528870.198 738149.588 0, 1528582.316 738118.468 0, 1528294.432 738087.365 0, 1528006.547 738056.279 0, 1527718.66 738025.21 0, 1527430.771 737994.158 0, 1527141.571 737962.982 0, 1526544.654 743501.709 0,
+ 1525947.708 749040.713 0, 1526236.253 749071.819 0, 1526523.49 749102.801 0, 1526810.726 749133.799 0, 1527097.959 749164.815 0, 1527385.191 749195.847 0, 1527672.42 749226.896 0, 1527959.648 749257.963 0, 1528246.874 749289.046 0, 1528534.099 749320.146 0,
+ 1528821.321 749351.263 0, 1529108.542 749382.396 0, 1529395.761 749413.547 0, 1529682.978 749444.715 0, 1529970.193 749475.899 0, 1530257.406 749507.101 0, 1530544.618 749538.319 0, 1530831.827 749569.554 0, 1531119.035 749600.806 0, 1531406.241 749632.076 0,
+ 1531693.445 749663.362 0, 1531980.647 749694.664 0, 1532267.848 749725.984 0, 1532555.046 749757.321 0, 1532840.938 749788.532 0, 1533129.438 749820.045 0, 1533416.631 749851.432 0, 1533703.822 749882.837 0, 1533991.012 749914.258 0, 1534278.199 749945.696 0,
+ 1534565.385 749977.151 0, 1534852.568 750008.623 0, 1535139.75 750040.112 0, 1535426.931 750071.617 0, 1535714.109 750103.14 0, 1536001.285 750134.679 0, 1536288.46 750166.236 0, 1536575.632 750197.809 0, 1536862.803 750229.399 0, 1537149.972 750261.007 0,
+ 1537437.139 750292.631 0, 1537724.304 750324.272 0, 1538011.468 750355.929 0, 1538298.629 750387.604 0, 1538585.789 750419.296 0, 1538872.947 750451.004 0, 1539160.102 750482.73 0, 1539447.257 750514.472 0, 1539733.105 750546.087 0, 1540345.698 745008.792 0,
+ 1540958.26 739471.773 0))
+
+POLYGON ((1553514.194 752090.401 0, 1553228.434 752057.978 0, 1552941.371 752025.425 0, 1552654.306 751992.888 0, 1552367.238 751960.369 0, 1552080.17 751927.866 0, 1551793.099 751895.38 0, 1551506.026 751862.911 0, 1551218.951 751830.459 0, 1550931.875 751798.024 0,
+ 1550644.796 751765.605 0, 1550357.716 751733.204 0, 1550070.633 751700.819 0, 1549783.549 751668.452 0, 1549496.463 751636.101 0, 1549209.375 751603.767 0, 1548922.285 751571.45 0, 1548635.193 751539.15 0, 1548348.1 751506.867 0, 1548061.004 751474.601 0,
+ 1547773.906 751442.352 0, 1547486.807 751410.119 0, 1547199.706 751377.904 0, 1546912.602 751345.705 0, 1546624.195 751313.377 0, 1546338.39 751281.358 0, 1546051.281 751249.21 0, 1545764.171 751217.079 0, 1545477.058 751184.965 0, 1545189.943 751152.868 0,
+ 1544902.827 751120.788 0, 1544615.708 751088.724 0, 1544328.588 751056.678 0, 1544041.466 751024.648 0, 1543754.342 750992.635 0, 1543467.216 750960.639 0, 1543180.088 750928.661 0, 1542892.959 750896.698 0, 1542605.827 750864.753 0, 1542318.694 750832.825 0,
+ 1542031.559 750800.914 0, 1541744.421 750769.019 0, 1541457.282 750737.142 0, 1541170.141 750705.281 0, 1540882.999 750673.437 0, 1540595.854 750641.61 0, 1540308.707 750609.801 0, 1540021.559 750578.007 0, 1539733.105 750546.087 0, 1539120.483 756083.656 0,
+ 1538507.83 761621.495 0, 1538795.629 761653.342 0, 1539082.125 761685.063 0, 1539368.62 761716.801 0, 1539655.113 761748.556 0, 1539941.604 761780.327 0, 1540228.093 761812.115 0, 1540514.58 761843.921 0, 1540801.065 761875.743 0, 1541087.549 761907.582 0,
+ 1541374.03 761939.437 0, 1541660.51 761971.31 0, 1541946.988 762003.199 0, 1542233.464 762035.106 0, 1542519.938 762067.029 0, 1542806.41 762098.969 0, 1543092.881 762130.926 0, 1543379.349 762162.9 0, 1543665.815 762194.89 0, 1543952.28 762226.898 0,
+ 1544238.743 762258.922 0, 1544525.204 762290.964 0, 1544811.663 762323.022 0, 1545098.12 762355.097 0, 1545383.276 762387.043 0, 1545671.029 762419.297 0, 1545957.48 762451.423 0, 1546243.93 762483.565 0, 1546530.377 762515.724 0, 1546816.823 762547.901 0,
+ 1547103.267 762580.094 0, 1547389.709 762612.303 0, 1547676.149 762644.53 0, 1547962.587 762676.774 0, 1548249.023 762709.034 0, 1548535.458 762741.311 0, 1548821.89 762773.605 0, 1549108.321 762805.916 0, 1549394.75 762838.244 0, 1549681.176 762870.589 0,
+ 1549967.601 762902.951 0, 1550254.024 762935.329 0, 1550540.445 762967.724 0, 1550826.865 763000.136 0, 1551113.282 763032.565 0, 1551399.697 763065.011 0, 1551686.111 763097.474 0, 1551972.522 763129.954 0, 1552257.634 763162.303 0, 1552885.929 757626.217 0,
+ 1553514.194 752090.401 0))
+
+POLYGON ((1566003.03 764741.95 0, 1565718.008 764708.796 0, 1565431.69 764675.507 0, 1565145.369 764642.235 0, 1564859.047 764608.98 0, 1564572.722 764575.742 0, 1564286.396 764542.521 0, 1564000.067 764509.317 0, 1563713.737 764476.129 0, 1563427.405 764442.959 0,
+ 1563141.07 764409.805 0, 1562854.734 764376.668 0, 1562568.396 764343.548 0, 1562282.056 764310.445 0, 1561995.714 764277.358 0, 1561709.37 764244.289 0, 1561423.024 764211.236 0, 1561136.676 764178.2 0, 1560850.326 764145.181 0, 1560563.974 764112.179 0,
+ 1560277.621 764079.194 0, 1559991.265 764046.226 0, 1559704.907 764013.274 0, 1559418.548 763980.339 0, 1559130.89 763947.272 0, 1558845.823 763914.52 0, 1558559.457 763881.636 0, 1558273.09 763848.769 0, 1557986.721 763815.919 0, 1557700.35 763783.085 0,
+ 1557413.977 763750.268 0, 1557127.602 763717.469 0, 1556841.225 763684.686 0, 1556554.846 763651.919 0, 1556268.465 763619.17 0, 1555982.082 763586.438 0, 1555695.698 763553.722 0, 1555409.311 763521.023 0, 1555122.922 763488.342 0, 1554836.532 763455.677 0,
+ 1554550.14 763423.028 0, 1554263.745 763390.397 0, 1553977.349 763357.783 0, 1553690.951 763325.185 0, 1553404.551 763292.604 0, 1553118.149 763260.04 0, 1552831.745 763227.493 0, 1552545.339 763194.963 0, 1552257.634 763162.303 0, 1551629.308 768698.655 0,
+ 1551000.953 774235.27 0, 1551288.003 774267.856 0, 1551573.757 774300.312 0, 1551859.51 774332.785 0, 1552145.26 774365.275 0, 1552431.008 774397.781 0, 1552716.755 774430.305 0, 1553002.499 774462.845 0, 1553288.242 774495.402 0, 1553573.982 774527.976 0,
+ 1553859.721 774560.567 0, 1554145.458 774593.174 0, 1554431.193 774625.798 0, 1554716.926 774658.439 0, 1555002.657 774691.097 0, 1555288.386 774723.772 0, 1555574.113 774756.464 0, 1555859.839 774789.172 0, 1556145.562 774821.897 0, 1556431.283 774854.639 0,
+ 1556717.003 774887.398 0, 1557002.72 774920.174 0, 1557288.436 774952.966 0, 1557574.15 774985.776 0, 1557858.568 775018.453 0, 1558145.571 775051.445 0, 1558431.279 775084.304 0, 1558716.985 775117.181 0, 1559002.689 775150.074 0, 1559288.392 775182.985 0,
+ 1559574.092 775215.912 0, 1559859.79 775248.855 0, 1560145.486 775281.816 0, 1560431.181 775314.794 0, 1560716.873 775347.788 0, 1561002.564 775380.799 0, 1561288.252 775413.827 0, 1561573.939 775446.872 0, 1561859.623 775479.933 0, 1562145.306 775513.011 0,
+ 1562430.987 775546.107 0, 1562716.666 775579.219 0, 1563002.342 775612.347 0, 1563288.017 775645.493 0, 1563573.69 775678.655 0, 1563859.361 775711.835 0, 1564145.03 775745.031 0, 1564430.698 775778.244 0, 1564715.07 775811.323 0, 1565359.065 770276.505 0,
+ 1566003.03 764741.95 0))
+
+POLYGON ((1578424.681 777426.115 0, 1578140.4 777392.232 0, 1577854.828 777358.212 0, 1577569.254 777324.209 0, 1577283.678 777290.223 0, 1576998.1 777256.253 0, 1576712.52 777222.301 0, 1576426.938 777188.365 0, 1576141.354 777154.446 0, 1575855.767 777120.544 0,
+ 1575570.179 777086.659 0, 1575284.589 777052.79 0, 1574998.997 777018.939 0, 1574713.403 776985.104 0, 1574427.807 776951.286 0, 1574142.209 776917.484 0, 1573856.609 776883.7 0, 1573571.007 776849.932 0, 1573285.403 776816.181 0, 1572999.797 776782.447 0,
+ 1572714.189 776748.73 0, 1572428.579 776715.03 0, 1572142.967 776681.346 0, 1571857.353 776647.679 0, 1571570.446 776613.877 0, 1571286.119 776580.396 0, 1571000.499 776546.78 0, 1570714.877 776513.18 0, 1570429.253 776479.597 0, 1570143.627 776446.032 0,
+ 1569858 776412.482 0, 1569572.37 776378.95 0, 1569286.738 776345.435 0, 1569001.104 776311.936 0, 1568715.469 776278.454 0, 1568429.831 776244.989 0, 1568144.191 776211.541 0, 1567858.55 776178.109 0, 1567572.906 776144.695 0, 1567287.261 776111.297 0,
+ 1567001.613 776077.916 0, 1566715.964 776044.552 0, 1566430.312 776011.204 0, 1566144.659 775977.874 0, 1565859.004 775944.56 0, 1565573.346 775911.263 0, 1565287.687 775877.983 0, 1565002.026 775844.72 0, 1564715.07 775811.323 0, 1564071.045 781346.4 0,
+ 1563426.99 786881.732 0, 1563713.291 786915.053 0, 1563998.301 786948.24 0, 1564283.309 786981.445 0, 1564568.314 787014.666 0, 1564853.318 787047.903 0, 1565138.32 787081.158 0, 1565423.32 787114.429 0, 1565708.318 787147.717 0, 1565993.314 787181.022 0,
+ 1566278.308 787214.344 0, 1566563.3 787247.682 0, 1566848.29 787281.037 0, 1567133.278 787314.409 0, 1567418.264 787347.798 0, 1567703.248 787381.204 0, 1567988.23 787414.626 0, 1568273.211 787448.065 0, 1568558.189 787481.521 0, 1568843.165 787514.993 0,
+ 1569128.139 787548.483 0, 1569413.112 787581.989 0, 1569698.082 787615.512 0, 1569983.051 787649.051 0, 1570266.729 787682.456 0, 1570552.982 787716.181 0, 1570837.944 787749.771 0, 1571122.905 787783.378 0, 1571407.863 787817.001 0, 1571692.82 787850.642 0,
+ 1571977.774 787884.299 0, 1572262.727 787917.973 0, 1572547.677 787951.663 0, 1572832.626 787985.371 0, 1573117.573 788019.095 0, 1573402.517 788052.836 0, 1573687.46 788086.594 0, 1573972.401 788120.368 0, 1574257.339 788154.159 0, 1574542.276 788187.967 0,
+ 1574827.211 788221.792 0, 1575112.143 788255.634 0, 1575397.074 788289.492 0, 1575682.003 788323.367 0, 1575966.93 788357.259 0, 1576251.854 788391.168 0, 1576536.777 788425.093 0, 1576821.698 788459.035 0, 1577105.33 788492.841 0, 1577765.021 782959.35 0,
+ 1578424.681 777426.115 0))
+
+POLYGON ((1590779.063 790142.587 0, 1590495.526 790107.98 0, 1590210.702 790073.233 0, 1589925.876 790038.502 0, 1589641.049 790003.789 0, 1589356.219 789969.092 0, 1589071.387 789934.412 0, 1588786.553 789899.749 0, 1588501.717 789865.103 0, 1588216.879 789830.473 0,
+ 1587932.039 789795.86 0, 1587647.197 789761.264 0, 1587362.353 789726.685 0, 1587077.506 789692.122 0, 1586792.658 789657.576 0, 1586507.808 789623.047 0, 1586222.956 789588.535 0, 1585938.101 789554.039 0, 1585653.245 789519.561 0, 1585368.387 789485.099 0,
+ 1585083.526 789450.653 0, 1584798.664 789416.225 0, 1584513.8 789381.813 0, 1584228.933 789347.418 0, 1583942.779 789312.885 0, 1583659.194 789278.679 0, 1583374.322 789244.334 0, 1583089.447 789210.006 0, 1582804.571 789175.695 0, 1582519.692 789141.401 0,
+ 1582234.811 789107.123 0, 1581949.929 789072.862 0, 1581665.044 789038.618 0, 1581380.157 789004.391 0, 1581095.269 788970.18 0, 1580810.378 788935.987 0, 1580525.485 788901.81 0, 1580240.591 788867.65 0, 1579955.694 788833.506 0, 1579670.795 788799.38 0,
+ 1579385.895 788765.27 0, 1579100.992 788731.177 0, 1578816.087 788697.1 0, 1578531.18 788663.041 0, 1578246.272 788628.998 0, 1577961.361 788594.972 0, 1577676.448 788560.962 0, 1577391.533 788526.97 0, 1577105.33 788492.841 0, 1576445.609 794026.584 0,
+ 1575785.859 799560.576 0, 1576071.408 799594.627 0, 1576355.671 799628.542 0, 1576639.933 799662.473 0, 1576924.192 799696.421 0, 1577208.449 799730.386 0, 1577492.705 799764.368 0, 1577776.958 799798.367 0, 1578061.209 799832.382 0, 1578345.459 799866.414 0,
+ 1578629.706 799900.462 0, 1578913.951 799934.528 0, 1579198.195 799968.61 0, 1579482.436 800002.709 0, 1579766.675 800036.824 0, 1580050.912 800070.956 0, 1580335.148 800105.105 0, 1580619.381 800139.271 0, 1580903.612 800173.454 0, 1581187.842 800207.653 0,
+ 1581472.069 800241.869 0, 1581756.294 800276.101 0, 1582040.517 800310.351 0, 1582324.738 800344.617 0, 1582607.675 800378.745 0, 1582893.175 800413.199 0, 1583177.39 800447.516 0, 1583461.603 800481.849 0, 1583745.814 800516.198 0, 1584030.023 800550.565 0,
+ 1584314.23 800584.948 0, 1584598.435 800619.348 0, 1584882.638 800653.765 0, 1585166.839 800688.198 0, 1585451.038 800722.648 0, 1585735.235 800757.115 0, 1586019.43 800791.599 0, 1586303.623 800826.099 0, 1586587.814 800860.616 0, 1586872.003 800895.15 0,
+ 1587156.189 800929.7 0, 1587440.374 800964.267 0, 1587724.557 800998.851 0, 1588008.738 801033.452 0, 1588292.916 801068.069 0, 1588577.093 801102.703 0, 1588861.267 801137.354 0, 1589145.44 801172.022 0, 1589428.329 801206.55 0, 1590103.711 795674.444 0,
+ 1590779.063 790142.587 0))
+
+POLYGON ((1603066.095 802891.06 0, 1602783.302 802855.732 0, 1602499.229 802820.262 0, 1602215.153 802784.809 0, 1601931.075 802749.372 0, 1601646.996 802713.952 0, 1601362.914 802678.548 0, 1601078.83 802643.162 0, 1600794.744 802607.792 0, 1600510.656 802572.438 0,
+ 1600226.566 802537.102 0, 1599942.474 802501.782 0, 1599658.38 802466.479 0, 1599374.283 802431.193 0, 1599090.185 802395.923 0, 1598806.084 802360.67 0, 1598521.982 802325.434 0, 1598237.877 802290.215 0, 1597953.77 802255.012 0, 1597669.662 802219.826 0,
+ 1597385.551 802184.657 0, 1597101.438 802149.504 0, 1596817.323 802114.368 0, 1596533.206 802079.249 0, 1596247.807 802043.989 0, 1595964.966 802009.061 0, 1595680.842 801973.992 0, 1595396.717 801938.94 0, 1595112.59 801903.904 0, 1594828.46 801868.885 0,
+ 1594544.329 801833.883 0, 1594260.195 801798.898 0, 1593976.059 801763.929 0, 1593691.922 801728.978 0, 1593407.782 801694.042 0, 1593123.64 801659.124 0, 1592839.496 801624.222 0, 1592555.35 801589.337 0, 1592271.203 801554.469 0, 1591987.052 801519.617 0,
+ 1591702.9 801484.783 0, 1591418.746 801449.965 0, 1591134.59 801415.163 0, 1590850.432 801380.379 0, 1590566.272 801345.611 0, 1590282.109 801310.859 0, 1589997.945 801276.125 0, 1589713.779 801241.407 0, 1589428.329 801206.55 0, 1588752.917 806738.901 0,
+ 1588077.475 812271.493 0, 1588362.271 812306.271 0, 1588645.786 812340.909 0, 1588929.299 812375.564 0, 1589212.81 812410.235 0, 1589496.319 812444.923 0, 1589779.826 812479.628 0, 1590063.331 812514.35 0, 1590346.834 812549.088 0, 1590630.334 812583.843 0,
+ 1590913.833 812618.615 0, 1591197.33 812653.403 0, 1591480.825 812688.208 0, 1591764.317 812723.03 0, 1592047.808 812757.868 0, 1592331.296 812792.724 0, 1592614.783 812827.595 0, 1592898.267 812862.484 0, 1593181.75 812897.389 0, 1593465.23 812932.311 0,
+ 1593748.708 812967.249 0, 1594032.185 813002.205 0, 1594315.659 813037.176 0, 1594599.131 813072.165 0, 1594881.324 813107.013 0, 1595166.069 813142.192 0, 1595449.535 813177.231 0, 1595732.999 813212.286 0, 1596016.46 813247.358 0, 1596299.92 813282.447 0,
+ 1596583.378 813317.552 0, 1596866.833 813352.674 0, 1597150.287 813387.813 0, 1597433.738 813422.968 0, 1597717.188 813458.141 0, 1598000.635 813493.329 0, 1598284.08 813528.535 0, 1598567.524 813563.757 0, 1598850.965 813598.996 0, 1599134.404 813634.251 0,
+ 1599417.841 813669.523 0, 1599701.276 813704.812 0, 1599984.708 813740.118 0, 1600268.139 813775.44 0, 1600551.568 813810.779 0, 1600834.994 813846.135 0, 1601118.419 813881.507 0, 1601401.841 813916.896 0, 1601683.986 813952.142 0, 1602375.056 808421.48 0,
+ 1603066.095 802891.06 0))
+
+POLYGON ((1133275.635 388817.186 0, 1132968.664 388809.388 0, 1132660.221 388801.57 0, 1132351.778 388793.771 0, 1132043.335 388785.99 0, 1131734.891 388778.228 0, 1131426.447 388770.483 0, 1131118.002 388762.757 0, 1130809.556 388755.048 0, 1130501.111 388747.358 0,
+ 1130192.664 388739.686 0, 1129884.218 388732.033 0, 1129575.771 388724.397 0, 1129267.323 388716.779 0, 1128958.875 388709.18 0, 1128650.427 388701.599 0, 1128341.978 388694.036 0, 1128033.528 388686.491 0, 1127725.079 388678.964 0, 1127416.628 388671.456 0,
+ 1127108.178 388663.965 0, 1126799.727 388656.493 0, 1126491.275 388649.039 0, 1126182.823 388641.603 0, 1125872.898 388634.15 0, 1125565.918 388626.786 0, 1125257.464 388619.404 0, 1124949.011 388612.041 0, 1124640.557 388604.696 0, 1124332.102 388597.369 0,
+ 1124023.647 388590.06 0, 1123715.191 388582.769 0, 1123406.736 388575.496 0, 1123098.279 388568.242 0, 1122789.823 388561.006 0, 1122481.365 388553.788 0, 1122172.908 388546.588 0, 1121864.45 388539.406 0, 1121555.991 388532.242 0, 1121247.532 388525.097 0,
+ 1120939.073 388517.97 0, 1120630.613 388510.86 0, 1120322.153 388503.769 0, 1120013.693 388496.697 0, 1119705.232 388489.642 0, 1119396.771 388482.605 0, 1119088.309 388475.587 0, 1118779.847 388468.587 0, 1118469.91 388461.571 0, 1118344.504 394009.232 0,
+ 1118219.087 399557.354 0, 1118528.367 399564.354 0, 1118836.176 399571.339 0, 1119143.984 399578.343 0, 1119451.793 399585.365 0, 1119759.601 399592.404 0, 1120067.408 399599.462 0, 1120375.215 399606.538 0, 1120683.022 399613.632 0, 1120990.828 399620.745 0,
+ 1121298.634 399627.875 0, 1121606.439 399635.023 0, 1121914.244 399642.19 0, 1122222.049 399649.375 0, 1122529.853 399656.577 0, 1122837.656 399663.798 0, 1123145.46 399671.037 0, 1123453.262 399678.295 0, 1123761.065 399685.57 0, 1124068.867 399692.863 0,
+ 1124376.668 399700.175 0, 1124684.469 399707.504 0, 1124992.27 399714.852 0, 1125300.07 399722.218 0, 1125606.401 399729.567 0, 1125915.67 399737.004 0, 1126223.468 399744.424 0, 1126531.267 399751.862 0, 1126839.065 399759.319 0, 1127146.863 399766.793 0,
+ 1127454.66 399774.286 0, 1127762.457 399781.797 0, 1128070.253 399789.326 0, 1128378.049 399796.873 0, 1128685.844 399804.438 0, 1128993.639 399812.021 0, 1129301.434 399819.623 0, 1129609.228 399827.242 0, 1129917.021 399834.88 0, 1130224.814 399842.535 0,
+ 1130532.607 399850.209 0, 1130840.399 399857.901 0, 1131148.191 399865.611 0, 1131455.983 399873.339 0, 1131763.774 399881.086 0, 1132071.564 399888.85 0, 1132379.354 399896.633 0, 1132687.144 399904.433 0, 1132993.465 399912.215 0, 1133134.556 394364.469 0,
+ 1133275.635 388817.186 0))
+
+POLYGON ((1147766.781 400308.815 0, 1147460.481 400300.168 0, 1147152.715 400291.498 0, 1146844.948 400282.846 0, 1146537.181 400274.212 0, 1146229.413 400265.596 0, 1145921.645 400256.998 0, 1145613.876 400248.419 0, 1145306.106 400239.857 0, 1144998.337 400231.314 0,
+ 1144690.566 400222.789 0, 1144382.795 400214.281 0, 1144075.024 400205.792 0, 1143767.252 400197.321 0, 1143459.48 400188.869 0, 1143151.707 400180.434 0, 1142843.934 400172.017 0, 1142536.16 400163.619 0, 1142228.386 400155.239 0, 1141920.611 400146.876 0,
+ 1141612.836 400138.532 0, 1141305.06 400130.206 0, 1140997.284 400121.898 0, 1140689.507 400113.609 0, 1140380.263 400105.298 0, 1140073.952 400097.083 0, 1139766.174 400088.848 0, 1139458.395 400080.631 0, 1139150.616 400072.432 0, 1138842.836 400064.25 0,
+ 1138535.056 400056.088 0, 1138227.276 400047.943 0, 1137919.494 400039.816 0, 1137611.713 400031.707 0, 1137303.931 400023.617 0, 1136996.148 400015.544 0, 1136688.365 400007.49 0, 1136380.582 399999.454 0, 1136072.798 399991.436 0, 1135765.013 399983.436 0,
+ 1135457.229 399975.454 0, 1135149.443 399967.491 0, 1134841.657 399959.545 0, 1134533.871 399951.618 0, 1134226.084 399943.708 0, 1133918.297 399935.817 0, 1133610.509 399927.944 0, 1133302.721 399920.089 0, 1132993.465 399912.215 0, 1132852.362 405460.419 0,
+ 1132711.248 411009.08 0, 1133019.848 411016.937 0, 1133326.983 411024.776 0, 1133634.117 411032.632 0, 1133941.252 411040.506 0, 1134248.385 411048.399 0, 1134555.518 411056.31 0, 1134862.651 411064.238 0, 1135169.783 411072.185 0, 1135476.915 411080.15 0,
+ 1135784.046 411088.133 0, 1136091.177 411096.134 0, 1136398.307 411104.153 0, 1136705.437 411112.19 0, 1137012.567 411120.245 0, 1137319.696 411128.319 0, 1137626.824 411136.41 0, 1137933.952 411144.52 0, 1138241.08 411152.647 0, 1138548.207 411160.793 0,
+ 1138855.333 411168.957 0, 1139162.459 411177.138 0, 1139469.585 411185.338 0, 1139776.71 411193.556 0, 1140082.371 411201.753 0, 1140390.959 411210.046 0, 1140698.082 411218.318 0, 1141005.205 411226.609 0, 1141312.328 411234.917 0, 1141619.45 411243.243 0,
+ 1141926.572 411251.588 0, 1142233.693 411259.95 0, 1142540.814 411268.331 0, 1142847.934 411276.73 0, 1143155.054 411285.147 0, 1143462.173 411293.581 0, 1143769.292 411302.034 0, 1144076.41 411310.505 0, 1144383.527 411318.994 0, 1144690.645 411327.502 0,
+ 1144997.761 411336.027 0, 1145304.878 411344.57 0, 1145611.993 411353.132 0, 1145919.109 411361.711 0, 1146226.223 411370.309 0, 1146533.337 411378.924 0, 1146840.451 411387.558 0, 1147147.564 411396.21 0, 1147453.215 411404.838 0, 1147610.004 405856.599 0,
+ 1147766.781 400308.815 0))
+
+POLYGON ((1162194.005 411842.244 0, 1161888.378 411832.752 0, 1161581.29 411823.232 0, 1161274.202 411813.731 0, 1160967.113 411804.248 0, 1160660.024 411794.783 0, 1160352.935 411785.336 0, 1160045.844 411775.907 0, 1159738.753 411766.496 0, 1159431.662 411757.103 0,
+ 1159124.57 411747.728 0, 1158817.477 411738.371 0, 1158510.384 411729.033 0, 1158203.291 411719.712 0, 1157896.197 411710.409 0, 1157589.102 411701.125 0, 1157282.007 411691.859 0, 1156974.911 411682.61 0, 1156667.815 411673.38 0, 1156360.718 411664.168 0,
+ 1156053.62 411654.974 0, 1155746.522 411645.798 0, 1155439.424 411636.64 0, 1155132.325 411627.5 0, 1154823.764 411618.335 0, 1154518.125 411609.275 0, 1154211.024 411600.189 0, 1153903.923 411591.122 0, 1153596.822 411582.072 0, 1153289.719 411573.041 0,
+ 1152982.617 411564.028 0, 1152675.513 411555.033 0, 1152368.409 411546.055 0, 1152061.305 411537.096 0, 1151754.2 411528.155 0, 1151447.095 411519.232 0, 1151139.989 411510.328 0, 1150832.882 411501.441 0, 1150525.775 411492.572 0, 1150218.668 411483.722 0,
+ 1149911.56 411474.889 0, 1149604.451 411466.075 0, 1149297.342 411457.278 0, 1148990.233 411448.5 0, 1148683.122 411439.74 0, 1148376.012 411430.998 0, 1148068.901 411422.273 0, 1147761.789 411413.567 0, 1147453.215 411404.838 0, 1147296.412 416953.531 0,
+ 1147139.597 422502.674 0, 1147447.515 422511.385 0, 1147753.973 422520.072 0, 1148060.431 422528.778 0, 1148366.889 422537.501 0, 1148673.346 422546.243 0, 1148979.802 422555.002 0, 1149286.258 422563.78 0, 1149592.713 422572.576 0, 1149899.168 422581.39 0,
+ 1150205.622 422590.221 0, 1150512.076 422599.071 0, 1150818.53 422607.939 0, 1151124.982 422616.825 0, 1151431.435 422625.729 0, 1151737.886 422634.651 0, 1152044.337 422643.591 0, 1152350.788 422652.549 0, 1152657.238 422661.525 0, 1152963.688 422670.519 0,
+ 1153270.137 422679.531 0, 1153576.585 422688.561 0, 1153883.033 422697.61 0, 1154189.481 422706.676 0, 1154494.47 422715.717 0, 1154802.374 422724.863 0, 1155108.82 422733.983 0, 1155415.265 422743.121 0, 1155721.71 422752.278 0, 1156028.155 422761.452 0,
+ 1156334.598 422770.645 0, 1156641.041 422779.855 0, 1156947.484 422789.084 0, 1157253.926 422798.331 0, 1157560.368 422807.595 0, 1157866.809 422816.878 0, 1158173.249 422826.179 0, 1158479.689 422835.497 0, 1158786.128 422844.834 0, 1159092.567 422854.189 0,
+ 1159399.005 422863.562 0, 1159705.443 422872.953 0, 1160011.88 422882.362 0, 1160318.317 422891.789 0, 1160624.753 422901.234 0, 1160931.188 422910.697 0, 1161237.623 422920.178 0, 1161544.058 422929.677 0, 1161849.035 422939.149 0, 1162021.527 417390.471 0,
+ 1162194.005 411842.244 0))
+
+POLYGON ((1176557.181 423417.18 0, 1176252.229 423406.846 0, 1175945.823 423396.481 0, 1175639.416 423386.134 0, 1175333.009 423375.806 0, 1175026.601 423365.495 0, 1174720.192 423355.202 0, 1174413.782 423344.928 0, 1174107.373 423334.671 0, 1173800.962 423324.432 0,
+ 1173494.551 423314.212 0, 1173188.139 423304.009 0, 1172881.727 423293.825 0, 1172575.314 423283.658 0, 1172268.9 423273.51 0, 1171962.486 423263.379 0, 1171656.071 423253.267 0, 1171349.656 423243.173 0, 1171043.24 423233.097 0, 1170736.824 423223.038 0,
+ 1170430.406 423212.998 0, 1170123.989 423202.976 0, 1169817.57 423192.972 0, 1169511.152 423182.986 0, 1169203.277 423172.97 0, 1168898.312 423163.068 0, 1168591.891 423153.136 0, 1168285.47 423143.222 0, 1167979.048 423133.326 0, 1167672.626 423123.448 0,
+ 1167366.203 423113.588 0, 1167059.779 423103.746 0, 1166753.355 423093.922 0, 1166446.931 423084.117 0, 1166140.505 423074.329 0, 1165834.08 423064.559 0, 1165527.653 423054.807 0, 1165221.226 423045.074 0, 1164914.799 423035.358 0, 1164608.37 423025.661 0,
+ 1164301.942 423015.981 0, 1163995.512 423006.32 0, 1163689.082 422996.676 0, 1163382.652 422987.051 0, 1163076.221 422977.444 0, 1162769.79 422967.854 0, 1162463.357 422958.283 0, 1162156.925 422948.73 0, 1161849.035 422939.149 0, 1161676.529 428488.274 0,
+ 1161504.009 434037.843 0, 1161811.243 434047.403 0, 1162117.022 434056.936 0, 1162422.801 434066.487 0, 1162728.579 434076.056 0, 1163034.357 434085.643 0, 1163340.134 434095.248 0, 1163645.911 434104.871 0, 1163951.687 434114.512 0, 1164257.462 434124.17 0,
+ 1164563.237 434133.847 0, 1164869.012 434143.542 0, 1165174.786 434153.255 0, 1165480.559 434162.986 0, 1165786.331 434172.735 0, 1166092.103 434182.502 0, 1166397.875 434192.286 0, 1166703.646 434202.089 0, 1167009.416 434211.91 0, 1167315.186 434221.749 0,
+ 1167620.955 434231.606 0, 1167926.724 434241.481 0, 1168232.492 434251.373 0, 1168538.259 434261.284 0, 1168842.573 434271.166 0, 1169149.792 434281.16 0, 1169455.558 434291.125 0, 1169761.323 434301.108 0, 1170067.087 434311.108 0, 1170372.851 434321.127 0,
+ 1170678.615 434331.164 0, 1170984.377 434341.219 0, 1171290.139 434351.292 0, 1171595.901 434361.382 0, 1171901.662 434371.491 0, 1172207.422 434381.618 0, 1172513.182 434391.763 0, 1172818.941 434401.926 0, 1173124.7 434412.106 0, 1173430.458 434422.305 0,
+ 1173736.215 434432.522 0, 1174041.972 434442.757 0, 1174347.728 434453.009 0, 1174653.483 434463.28 0, 1174959.238 434473.569 0, 1175264.993 434483.876 0, 1175570.746 434494.2 0, 1175876.499 434504.543 0, 1176180.801 434514.855 0, 1176368.998 428965.795 0,
+ 1176557.181 423417.18 0))
+
+POLYGON ((1190856.186 435033.329 0, 1190551.913 435022.157 0, 1190246.19 435010.951 0, 1189940.467 434999.762 0, 1189634.743 434988.592 0, 1189329.018 434977.439 0, 1189023.293 434966.305 0, 1188717.567 434955.188 0, 1188411.84 434944.09 0, 1188106.113 434933.009 0,
+ 1187800.385 434921.947 0, 1187494.657 434910.902 0, 1187188.927 434899.876 0, 1186883.198 434888.867 0, 1186577.467 434877.876 0, 1186271.736 434866.904 0, 1185966.004 434855.949 0, 1185660.272 434845.013 0, 1185354.539 434834.094 0, 1185048.805 434823.193 0,
+ 1184743.07 434812.311 0, 1184437.335 434801.446 0, 1184131.6 434790.6 0, 1183825.864 434779.771 0, 1183518.677 434768.909 0, 1183214.389 434758.168 0, 1182908.651 434747.393 0, 1182602.912 434736.636 0, 1182297.173 434725.898 0, 1181991.432 434715.177 0,
+ 1181685.692 434704.474 0, 1181379.95 434693.79 0, 1181074.208 434683.123 0, 1180768.466 434672.474 0, 1180462.722 434661.844 0, 1180156.979 434651.231 0, 1179851.234 434640.636 0, 1179545.489 434630.06 0, 1179239.743 434619.501 0, 1178933.997 434608.96 0,
+ 1178628.25 434598.438 0, 1178322.502 434587.933 0, 1178016.754 434577.446 0, 1177711.005 434566.978 0, 1177405.256 434556.527 0, 1177099.506 434546.094 0, 1176793.755 434535.679 0, 1176488.004 434525.283 0, 1176180.801 434514.855 0, 1175992.588 440064.356 0,
+ 1175804.361 445614.295 0, 1176110.908 445624.7 0, 1176416.006 445635.075 0, 1176721.103 445645.467 0, 1177026.2 445655.878 0, 1177331.296 445666.306 0, 1177636.391 445676.753 0, 1177941.486 445687.217 0, 1178246.581 445697.699 0, 1178551.674 445708.199 0,
+ 1178856.767 445718.718 0, 1179161.86 445729.254 0, 1179466.952 445739.808 0, 1179772.043 445750.38 0, 1180077.134 445760.97 0, 1180382.224 445771.578 0, 1180687.313 445782.204 0, 1180992.402 445792.848 0, 1181297.49 445803.509 0, 1181602.577 445814.189 0,
+ 1181907.664 445824.887 0, 1182212.75 445835.603 0, 1182517.836 445846.336 0, 1182822.921 445857.088 0, 1183126.558 445867.806 0, 1183433.089 445878.645 0, 1183738.172 445889.45 0, 1184043.254 445900.274 0, 1184348.336 445911.115 0, 1184653.417 445921.975 0,
+ 1184958.497 445932.852 0, 1185263.577 445943.747 0, 1185568.656 445954.66 0, 1185873.735 445965.592 0, 1186178.813 445976.541 0, 1186483.89 445987.508 0, 1186788.967 445998.493 0, 1187094.043 446009.496 0, 1187399.118 446020.517 0, 1187704.193 446031.556 0,
+ 1188009.267 446042.613 0, 1188314.34 446053.688 0, 1188619.413 446064.78 0, 1188924.485 446075.891 0, 1189229.556 446087.02 0, 1189534.627 446098.166 0, 1189839.697 446109.331 0, 1190144.767 446120.514 0, 1190448.39 446131.661 0, 1190652.296 440582.276 0,
+ 1190856.186 435033.329 0))
+
+POLYGON ((1205090.899 446690.397 0, 1204787.306 446678.392 0, 1204482.269 446666.348 0, 1204177.232 446654.321 0, 1203872.194 446642.313 0, 1203567.155 446630.322 0, 1203262.116 446618.349 0, 1202957.076 446606.395 0, 1202652.035 446594.458 0, 1202346.993 446582.539 0,
+ 1202041.951 446570.639 0, 1201736.908 446558.756 0, 1201431.864 446546.891 0, 1201126.82 446535.044 0, 1200821.775 446523.215 0, 1200516.729 446511.404 0, 1200211.683 446499.611 0, 1199906.635 446487.836 0, 1199601.588 446476.079 0, 1199296.539 446464.34 0,
+ 1198991.49 446452.619 0, 1198686.44 446440.915 0, 1198381.389 446429.23 0, 1198076.338 446417.563 0, 1197769.842 446405.858 0, 1197466.233 446394.282 0, 1197161.18 446382.668 0, 1196856.126 446371.073 0, 1196551.071 446359.495 0, 1196246.016 446347.936 0,
+ 1195940.96 446336.394 0, 1195635.903 446324.87 0, 1195330.846 446313.364 0, 1195025.788 446301.877 0, 1194720.729 446290.407 0, 1194415.669 446278.955 0, 1194110.609 446267.521 0, 1193805.548 446256.105 0, 1193500.487 446244.707 0, 1193195.425 446233.327 0,
+ 1192890.362 446221.965 0, 1192585.299 446210.62 0, 1192280.234 446199.294 0, 1191975.17 446187.986 0, 1191670.104 446176.696 0, 1191365.038 446165.423 0, 1191059.971 446154.169 0, 1190754.904 446142.933 0, 1190448.39 446131.661 0, 1190244.468 451681.481 0,
+ 1190040.53 457231.734 0, 1190346.387 457242.982 0, 1190650.801 457254.194 0, 1190955.215 457265.424 0, 1191259.627 457276.673 0, 1191564.04 457287.939 0, 1191868.451 457299.223 0, 1192172.862 457310.525 0, 1192477.272 457321.845 0, 1192781.682 457333.182 0,
+ 1193086.09 457344.538 0, 1193390.498 457355.912 0, 1193694.906 457367.303 0, 1193999.313 457378.713 0, 1194303.719 457390.14 0, 1194608.124 457401.585 0, 1194912.529 457413.049 0, 1195216.933 457424.53 0, 1195521.337 457436.029 0, 1195825.74 457447.546 0,
+ 1196130.142 457459.081 0, 1196434.543 457470.633 0, 1196738.944 457482.204 0, 1197043.344 457493.793 0, 1197346.302 457505.344 0, 1197652.142 457517.024 0, 1197956.54 457528.666 0, 1198260.937 457540.326 0, 1198565.334 457552.005 0, 1198869.73 457563.701 0,
+ 1199174.125 457575.415 0, 1199478.52 457587.147 0, 1199782.913 457598.897 0, 1200087.307 457610.664 0, 1200391.699 457622.45 0, 1200696.091 457634.254 0, 1201000.482 457646.075 0, 1201304.872 457657.915 0, 1201609.262 457669.772 0, 1201913.651 457681.647 0,
+ 1202218.039 457693.54 0, 1202522.427 457705.452 0, 1202826.814 457717.381 0, 1203131.2 457729.328 0, 1203435.586 457741.292 0, 1203739.97 457753.275 0, 1204044.354 457765.276 0, 1204348.738 457777.294 0, 1204651.681 457789.274 0, 1204871.298 452239.619 0,
+ 1205090.899 446690.397 0))
+
+POLYGON ((1219261.198 458388.091 0, 1218958.288 458375.255 0, 1218653.94 458362.377 0, 1218349.591 458349.516 0, 1218045.241 458336.673 0, 1217740.891 458323.849 0, 1217436.539 458311.042 0, 1217132.187 458298.253 0, 1216827.835 458285.482 0, 1216523.481 458272.729 0,
+ 1216219.127 458259.994 0, 1215914.772 458247.276 0, 1215610.416 458234.577 0, 1215306.06 458221.895 0, 1215001.702 458209.232 0, 1214697.345 458196.586 0, 1214392.986 458183.959 0, 1214088.626 458171.349 0, 1213784.266 458158.757 0, 1213479.905 458146.183 0,
+ 1213175.544 458133.627 0, 1212871.181 458121.089 0, 1212566.818 458108.569 0, 1212262.454 458096.066 0, 1211956.651 458083.523 0, 1211653.724 458071.115 0, 1211349.358 458058.667 0, 1211044.991 458046.236 0, 1210740.624 458033.823 0, 1210436.255 458021.429 0,
+ 1210131.886 458009.052 0, 1209827.517 457996.693 0, 1209523.146 457984.352 0, 1209218.775 457972.029 0, 1208914.403 457959.723 0, 1208610.03 457947.436 0, 1208305.657 457935.167 0, 1208001.283 457922.915 0, 1207696.908 457910.681 0, 1207392.532 457898.466 0,
+ 1207088.156 457886.268 0, 1206783.779 457874.088 0, 1206479.402 457861.926 0, 1206175.023 457849.782 0, 1205870.644 457837.656 0, 1205566.264 457825.548 0, 1205261.884 457813.458 0, 1204957.502 457801.385 0, 1204651.681 457789.274 0, 1204432.046 463339.358 0,
+ 1204212.394 468889.868 0, 1204517.56 468901.953 0, 1204821.288 468914 0, 1205125.015 468926.064 0, 1205428.741 468938.146 0, 1205732.467 468950.246 0, 1206036.192 468962.364 0, 1206339.916 468974.5 0, 1206643.64 468986.654 0, 1206947.363 468998.825 0,
+ 1207251.085 469011.015 0, 1207554.807 469023.222 0, 1207858.527 469035.447 0, 1208162.247 469047.69 0, 1208465.967 469059.951 0, 1208769.685 469072.23 0, 1209073.403 469084.527 0, 1209377.12 469096.841 0, 1209680.837 469109.174 0, 1209984.552 469121.524 0,
+ 1210288.267 469133.892 0, 1210591.981 469146.279 0, 1210895.695 469158.682 0, 1211199.408 469171.104 0, 1211501.684 469183.485 0, 1211806.831 469196.002 0, 1212110.542 469208.477 0, 1212414.252 469220.97 0, 1212717.961 469233.482 0, 1213021.669 469246.011 0,
+ 1213325.377 469258.558 0, 1213629.084 469271.123 0, 1213932.79 469283.705 0, 1214236.495 469296.306 0, 1214540.2 469308.924 0, 1214843.904 469321.561 0, 1215147.607 469334.215 0, 1215451.309 469346.887 0, 1215755.011 469359.577 0, 1216058.712 469372.285 0,
+ 1216362.412 469385.011 0, 1216666.112 469397.754 0, 1216969.81 469410.516 0, 1217273.508 469423.295 0, 1217577.205 469436.092 0, 1217880.902 469448.907 0, 1218184.597 469461.74 0, 1218488.292 469474.591 0, 1218790.552 469487.399 0, 1219025.884 463937.532 0,
+ 1219261.198 458388.091 0))
+
+POLYGON ((1233366.964 470126.114 0, 1233064.739 470112.452 0, 1232761.082 470098.743 0, 1232457.423 470085.052 0, 1232153.764 470071.379 0, 1231850.105 470057.724 0, 1231546.444 470044.087 0, 1231242.783 470030.467 0, 1230939.12 470016.866 0, 1230635.457 470003.282 0,
+ 1230331.793 469989.716 0, 1230028.129 469976.168 0, 1229724.463 469962.638 0, 1229420.797 469949.126 0, 1229117.13 469935.632 0, 1228813.462 469922.155 0, 1228509.794 469908.697 0, 1228206.124 469895.256 0, 1227902.454 469881.833 0, 1227598.783 469868.428 0,
+ 1227295.112 469855.041 0, 1226991.439 469841.672 0, 1226687.766 469828.321 0, 1226384.092 469814.987 0, 1226078.983 469801.609 0, 1225776.741 469788.374 0, 1225473.064 469775.094 0, 1225169.387 469761.832 0, 1224865.709 469748.588 0, 1224562.03 469735.362 0,
+ 1224258.351 469722.153 0, 1223954.67 469708.963 0, 1223650.989 469695.79 0, 1223347.307 469682.636 0, 1223043.625 469669.499 0, 1222739.941 469656.38 0, 1222436.257 469643.279 0, 1222132.572 469630.196 0, 1221828.886 469617.13 0, 1221525.2 469604.083 0,
+ 1221221.512 469591.053 0, 1220917.824 469578.041 0, 1220614.136 469565.048 0, 1220310.446 469552.072 0, 1220006.756 469539.113 0, 1219703.064 469526.173 0, 1219399.373 469513.251 0, 1219095.68 469500.346 0, 1218790.552 469487.399 0, 1218555.202 475037.69 0,
+ 1218319.835 480588.4 0, 1218624.306 480601.32 0, 1218927.345 480614.197 0, 1219230.384 480627.091 0, 1219533.421 480640.004 0, 1219836.458 480652.934 0, 1220139.495 480665.882 0, 1220442.53 480678.848 0, 1220745.565 480691.832 0, 1221048.599 480704.833 0,
+ 1221351.632 480717.852 0, 1221654.664 480730.89 0, 1221957.696 480743.945 0, 1222260.727 480757.018 0, 1222563.757 480770.108 0, 1222866.786 480783.217 0, 1223169.815 480796.343 0, 1223472.843 480809.488 0, 1223775.87 480822.65 0, 1224078.896 480835.83 0,
+ 1224381.921 480849.027 0, 1224684.946 480862.243 0, 1224987.97 480875.476 0, 1225290.993 480888.728 0, 1225592.585 480901.934 0, 1225897.037 480915.284 0, 1226200.058 480928.589 0, 1226503.078 480941.911 0, 1226806.097 480955.252 0, 1227109.115 480968.61 0,
+ 1227412.133 480981.986 0, 1227715.15 480995.38 0, 1228018.166 481008.792 0, 1228321.181 481022.221 0, 1228624.196 481035.669 0, 1228927.209 481049.134 0, 1229230.222 481062.617 0, 1229533.234 481076.118 0, 1229836.245 481089.637 0, 1230139.256 481103.173 0,
+ 1230442.266 481116.728 0, 1230745.275 481130.3 0, 1231048.283 481143.89 0, 1231351.29 481157.498 0, 1231654.297 481171.124 0, 1231957.302 481184.768 0, 1232260.307 481198.429 0, 1232563.311 481212.109 0, 1232864.886 481225.741 0, 1233115.934 475675.717 0,
+ 1233366.964 470126.114 0))
+
+POLYGON ((1247408.078 481904.171 0, 1247106.541 481889.687 0, 1246803.577 481875.152 0, 1246500.612 481860.634 0, 1246197.646 481846.135 0, 1245894.679 481831.653 0, 1245591.711 481817.189 0, 1245288.743 481802.743 0, 1244985.774 481788.314 0, 1244682.803 481773.904 0,
+ 1244379.832 481759.511 0, 1244076.86 481745.137 0, 1243773.888 481730.78 0, 1243470.914 481716.44 0, 1243167.94 481702.119 0, 1242864.964 481687.816 0, 1242561.988 481673.53 0, 1242259.011 481659.262 0, 1241956.033 481645.012 0, 1241653.055 481630.78 0,
+ 1241350.075 481616.566 0, 1241047.095 481602.369 0, 1240744.114 481588.191 0, 1240441.132 481574.03 0, 1240136.722 481559.82 0, 1239835.165 481545.762 0, 1239532.181 481531.654 0, 1239229.196 481517.565 0, 1238926.21 481503.493 0, 1238623.223 481489.44 0,
+ 1238320.235 481475.404 0, 1238017.246 481461.385 0, 1237714.257 481447.385 0, 1237411.267 481433.403 0, 1237108.275 481419.438 0, 1236805.284 481405.491 0, 1236502.291 481391.562 0, 1236199.297 481377.651 0, 1235896.303 481363.758 0, 1235593.308 481349.882 0,
+ 1235290.312 481336.025 0, 1234987.315 481322.185 0, 1234684.317 481308.363 0, 1234381.319 481294.559 0, 1234078.32 481280.773 0, 1233775.32 481267.004 0, 1233472.319 481253.253 0, 1233169.317 481239.521 0, 1232864.886 481225.741 0, 1232613.818 486776.182 0,
+ 1232362.732 492327.037 0, 1232666.507 492340.787 0, 1232968.855 492354.49 0, 1233271.203 492368.211 0, 1233573.549 492381.95 0, 1233875.895 492395.706 0, 1234178.24 492409.481 0, 1234480.585 492423.273 0, 1234782.928 492437.083 0, 1235085.271 492450.91 0,
+ 1235387.612 492464.756 0, 1235689.953 492478.619 0, 1235992.294 492492.5 0, 1236294.633 492506.399 0, 1236596.971 492520.316 0, 1236899.309 492534.251 0, 1237201.646 492548.203 0, 1237503.982 492562.173 0, 1237806.317 492576.161 0, 1238108.652 492590.167 0,
+ 1238410.985 492604.19 0, 1238713.318 492618.232 0, 1239015.65 492632.291 0, 1239317.981 492646.368 0, 1239618.887 492660.396 0, 1239922.641 492674.575 0, 1240224.97 492688.705 0, 1240527.297 492702.853 0, 1240829.624 492717.019 0, 1241131.95 492731.202 0,
+ 1241434.276 492745.404 0, 1241736.6 492759.623 0, 1242038.924 492773.86 0, 1242341.247 492788.115 0, 1242643.568 492802.388 0, 1242945.89 492816.678 0, 1243248.21 492830.986 0, 1243550.529 492845.312 0, 1243852.848 492859.656 0, 1244155.165 492874.018 0,
+ 1244457.482 492888.397 0, 1244759.798 492902.794 0, 1245062.114 492917.209 0, 1245364.428 492931.642 0, 1245666.741 492946.093 0, 1245969.054 492960.561 0, 1246271.366 492975.047 0, 1246573.677 492989.551 0, 1246874.564 493004.004 0, 1247141.331 487453.881 0,
+ 1247408.078 481904.171 0))
+
+POLYGON ((1261384.424 493721.968 0, 1261083.577 493706.664 0, 1260781.309 493691.306 0, 1260479.039 493675.966 0, 1260176.768 493660.644 0, 1259874.497 493645.339 0, 1259572.225 493630.052 0, 1259269.951 493614.783 0, 1258967.677 493599.532 0, 1258665.402 493584.299 0,
+ 1258363.126 493569.083 0, 1258060.849 493553.885 0, 1257758.572 493538.705 0, 1257456.293 493523.543 0, 1257154.014 493508.398 0, 1256851.733 493493.272 0, 1256549.452 493478.163 0, 1256247.17 493463.072 0, 1255944.887 493447.998 0, 1255642.603 493432.943 0,
+ 1255340.318 493417.905 0, 1255038.032 493402.885 0, 1254735.745 493387.883 0, 1254433.458 493372.899 0, 1254129.748 493357.862 0, 1253828.88 493342.983 0, 1253526.59 493328.052 0, 1253224.299 493313.139 0, 1252922.007 493298.244 0, 1252619.714 493283.366 0,
+ 1252317.421 493268.507 0, 1252015.126 493253.665 0, 1251712.831 493238.84 0, 1251410.535 493224.034 0, 1251108.238 493209.245 0, 1250805.94 493194.474 0, 1250503.641 493179.721 0, 1250201.341 493164.986 0, 1249899.04 493150.269 0, 1249596.739 493135.569 0,
+ 1249294.436 493120.887 0, 1248992.133 493106.223 0, 1248689.829 493091.577 0, 1248387.524 493076.948 0, 1248085.219 493062.338 0, 1247782.912 493047.745 0, 1247480.604 493033.17 0, 1247178.296 493018.612 0, 1246874.564 493004.004 0, 1246607.777 498554.539 0,
+ 1246340.97 504105.481 0, 1246644.046 504120.058 0, 1246945.701 504134.583 0, 1247247.355 504149.127 0, 1247549.008 504163.688 0, 1247850.66 504178.268 0, 1248152.312 504192.864 0, 1248453.963 504207.479 0, 1248755.612 504222.111 0, 1249057.261 504236.762 0,
+ 1249358.91 504251.429 0, 1249660.557 504266.115 0, 1249962.203 504280.818 0, 1250263.849 504295.54 0, 1250565.493 504310.279 0, 1250867.137 504325.035 0, 1251168.78 504339.81 0, 1251470.422 504354.602 0, 1251772.063 504369.412 0, 1252073.703 504384.239 0,
+ 1252375.343 504399.085 0, 1252676.981 504413.948 0, 1252978.619 504428.829 0, 1253280.256 504443.728 0, 1253580.473 504458.574 0, 1253883.526 504473.578 0, 1254185.161 504488.53 0, 1254486.794 504503.5 0, 1254788.426 504518.487 0, 1255090.058 504533.493 0,
+ 1255391.688 504548.516 0, 1255693.318 504563.556 0, 1255994.947 504578.615 0, 1256296.575 504593.691 0, 1256598.202 504608.785 0, 1256899.828 504623.897 0, 1257201.453 504639.026 0, 1257503.078 504654.174 0, 1257804.701 504669.339 0, 1258106.324 504684.521 0,
+ 1258407.945 504699.722 0, 1258709.566 504714.94 0, 1259011.186 504730.176 0, 1259312.805 504745.43 0, 1259614.423 504760.701 0, 1259916.041 504775.991 0, 1260217.657 504791.298 0, 1260519.272 504806.622 0, 1260819.469 504821.893 0, 1261101.957 499271.726 0,
+ 1261384.424 493721.968 0))
+
+POLYGON ((1275295.887 505579.206 0, 1274995.732 505563.087 0, 1274694.161 505546.91 0, 1274392.589 505530.751 0, 1274091.016 505514.61 0, 1273789.443 505498.486 0, 1273487.868 505482.381 0, 1273186.292 505466.293 0, 1272884.716 505450.222 0, 1272583.138 505434.17 0,
+ 1272281.559 505418.135 0, 1271979.98 505402.118 0, 1271678.4 505386.118 0, 1271376.818 505370.137 0, 1271075.236 505354.173 0, 1270773.653 505338.227 0, 1270472.069 505322.299 0, 1270170.484 505306.388 0, 1269868.898 505290.495 0, 1269567.311 505274.62 0,
+ 1269265.723 505258.763 0, 1268964.134 505242.923 0, 1268662.544 505227.101 0, 1268360.953 505211.297 0, 1268057.945 505195.437 0, 1267757.769 505179.742 0, 1267456.176 505163.992 0, 1267154.581 505148.259 0, 1266852.986 505132.543 0, 1266551.39 505116.846 0,
+ 1266249.793 505101.166 0, 1265948.195 505085.504 0, 1265646.596 505069.86 0, 1265344.996 505054.233 0, 1265043.395 505038.624 0, 1264741.793 505023.033 0, 1264440.19 505007.46 0, 1264138.587 504991.904 0, 1263836.982 504976.366 0, 1263535.377 504960.846 0,
+ 1263233.77 504945.344 0, 1262932.163 504929.86 0, 1262630.555 504914.393 0, 1262328.946 504898.944 0, 1262027.336 504883.513 0, 1261725.725 504868.099 0, 1261424.113 504852.703 0, 1261122.5 504837.325 0, 1260819.469 504821.893 0, 1260536.961 510372.464 0,
+ 1260254.432 515923.437 0, 1260556.806 515938.836 0, 1260857.766 515954.181 0, 1261158.724 515969.543 0, 1261459.681 515984.924 0, 1261760.638 516000.321 0, 1262061.594 516015.737 0, 1262362.548 516031.17 0, 1262663.502 516046.621 0, 1262964.455 516062.09 0,
+ 1263265.407 516077.576 0, 1263566.358 516093.081 0, 1263867.309 516108.602 0, 1264168.258 516124.142 0, 1264469.206 516139.699 0, 1264770.154 516155.274 0, 1265071.1 516170.867 0, 1265372.046 516186.477 0, 1265672.991 516202.105 0, 1265973.935 516217.751 0,
+ 1266274.877 516233.415 0, 1266575.819 516249.096 0, 1266876.76 516264.795 0, 1267177.7 516280.512 0, 1267477.226 516296.172 0, 1267779.578 516311.998 0, 1268080.515 516327.768 0, 1268381.452 516343.556 0, 1268682.387 516359.361 0, 1268983.322 516375.184 0,
+ 1269284.255 516391.025 0, 1269585.188 516406.883 0, 1269886.12 516422.759 0, 1270187.05 516438.653 0, 1270487.98 516454.564 0, 1270788.909 516470.494 0, 1271089.837 516486.441 0, 1271390.764 516502.405 0, 1271691.69 516518.388 0, 1271992.616 516534.388 0,
+ 1272293.54 516550.406 0, 1272594.463 516566.441 0, 1272895.385 516582.494 0, 1273196.307 516598.565 0, 1273497.227 516614.654 0, 1273798.147 516630.76 0, 1274099.065 516646.884 0, 1274399.983 516663.026 0, 1274699.487 516679.11 0, 1274997.698 511128.957 0,
+ 1275295.887 505579.206 0))
+
+POLYGON ((1289142.351 517475.589 0, 1288842.891 517458.659 0, 1288542.02 517441.667 0, 1288241.148 517424.693 0, 1287940.275 517407.737 0, 1287639.401 517390.798 0, 1287338.527 517373.877 0, 1287037.651 517356.974 0, 1286736.774 517340.088 0, 1286435.896 517323.22 0,
+ 1286135.017 517306.37 0, 1285834.138 517289.537 0, 1285533.257 517272.723 0, 1285232.375 517255.926 0, 1284931.493 517239.146 0, 1284630.609 517222.385 0, 1284329.724 517205.641 0, 1284028.838 517188.914 0, 1283727.952 517172.206 0, 1283427.064 517155.515 0,
+ 1283126.176 517138.842 0, 1282825.286 517122.187 0, 1282524.395 517105.549 0, 1282223.504 517088.929 0, 1281921.2 517072.249 0, 1281621.718 517055.742 0, 1281320.823 517039.175 0, 1281019.928 517022.626 0, 1280719.031 517006.095 0, 1280418.134 516989.581 0,
+ 1280117.235 516973.085 0, 1279816.336 516956.607 0, 1279515.436 516940.146 0, 1279214.534 516923.703 0, 1278913.632 516907.278 0, 1278612.729 516890.871 0, 1278311.825 516874.481 0, 1278010.92 516858.109 0, 1277710.013 516841.755 0, 1277409.106 516825.418 0,
+ 1277108.198 516809.099 0, 1276807.289 516792.798 0, 1276506.379 516776.514 0, 1276205.468 516760.249 0, 1275904.557 516744.001 0, 1275603.644 516727.77 0, 1275302.73 516711.558 0, 1275001.815 516695.363 0, 1274699.487 516679.11 0, 1274401.256 522229.661 0,
+ 1274103.002 527780.608 0, 1274404.674 527796.826 0, 1274704.935 527812.986 0, 1275005.195 527829.163 0, 1275305.455 527845.358 0, 1275605.713 527861.571 0, 1275905.971 527877.802 0, 1276206.227 527894.05 0, 1276506.483 527910.315 0, 1276806.738 527926.599 0,
+ 1277106.991 527942.9 0, 1277407.244 527959.219 0, 1277707.496 527975.555 0, 1278007.747 527991.909 0, 1278307.997 528008.281 0, 1278608.245 528024.671 0, 1278908.493 528041.078 0, 1279208.74 528057.503 0, 1279508.986 528073.945 0, 1279809.231 528090.405 0,
+ 1280109.475 528106.883 0, 1280409.718 528123.379 0, 1280709.961 528139.892 0, 1281010.202 528156.423 0, 1281309.034 528172.894 0, 1281610.681 528189.538 0, 1281910.919 528206.122 0, 1282211.156 528222.723 0, 1282511.393 528239.342 0, 1282811.628 528255.979 0,
+ 1283111.862 528272.634 0, 1283412.096 528289.306 0, 1283712.328 528305.996 0, 1284012.559 528322.704 0, 1284312.79 528339.429 0, 1284613.019 528356.172 0, 1284913.247 528372.932 0, 1285213.475 528389.711 0, 1285513.701 528406.506 0, 1285813.927 528423.32 0,
+ 1286114.151 528440.151 0, 1286414.375 528457 0, 1286714.597 528473.867 0, 1287014.819 528490.751 0, 1287315.039 528507.653 0, 1287615.258 528524.573 0, 1287915.477 528541.51 0, 1288215.694 528558.465 0, 1288514.504 528575.358 0, 1288828.439 523025.276 0,
+ 1289142.351 517475.589 0))
+
+POLYGON ((1302923.704 529410.82 0, 1302624.94 529393.083 0, 1302324.772 529375.279 0, 1302024.602 529357.494 0, 1301724.432 529339.726 0, 1301424.26 529321.976 0, 1301124.088 529304.244 0, 1300823.914 529286.529 0, 1300523.74 529268.832 0, 1300223.564 529251.153 0,
+ 1299923.387 529233.491 0, 1299623.209 529215.847 0, 1299323.031 529198.22 0, 1299022.851 529180.612 0, 1298722.67 529163.021 0, 1298422.488 529145.447 0, 1298122.305 529127.892 0, 1297822.121 529110.354 0, 1297521.936 529092.833 0, 1297221.75 529075.33 0,
+ 1296921.563 529057.845 0, 1296621.375 529040.378 0, 1296321.186 529022.928 0, 1296020.995 529005.496 0, 1295719.399 528988 0, 1295420.612 528970.685 0, 1295120.419 528953.306 0, 1294820.225 528935.945 0, 1294520.029 528918.601 0, 1294219.833 528901.275 0,
+ 1293919.636 528883.967 0, 1293619.437 528866.676 0, 1293319.238 528849.403 0, 1293019.038 528832.148 0, 1292718.836 528814.91 0, 1292418.634 528797.69 0, 1292118.43 528780.488 0, 1291818.226 528763.303 0, 1291518.021 528746.136 0, 1291217.814 528728.987 0,
+ 1290917.607 528711.855 0, 1290617.398 528694.741 0, 1290317.189 528677.645 0, 1290016.978 528660.566 0, 1289716.767 528643.505 0, 1289416.554 528626.462 0, 1289116.341 528609.436 0, 1288816.126 528592.428 0, 1288514.504 528575.358 0, 1288200.548 534125.833 0,
+ 1287886.569 539676.697 0, 1288187.535 539693.73 0, 1288487.096 539710.701 0, 1288786.656 539727.689 0, 1289086.215 539744.695 0, 1289385.773 539761.719 0, 1289685.33 539778.761 0, 1289984.886 539795.82 0, 1290284.441 539812.897 0, 1290583.995 539829.991 0,
+ 1290883.549 539847.103 0, 1291183.101 539864.233 0, 1291482.652 539881.38 0, 1291782.202 539898.545 0, 1292081.751 539915.727 0, 1292381.299 539932.928 0, 1292680.846 539950.145 0, 1292980.392 539967.381 0, 1293279.937 539984.634 0, 1293579.481 540001.905 0,
+ 1293879.024 540019.193 0, 1294178.565 540036.499 0, 1294478.106 540053.822 0, 1294777.646 540071.164 0, 1295075.783 540088.441 0, 1295376.723 540105.899 0, 1295676.26 540123.293 0, 1295975.796 540140.705 0, 1296275.33 540158.134 0, 1296574.864 540175.581 0,
+ 1296874.397 540193.046 0, 1297173.928 540210.528 0, 1297473.459 540228.028 0, 1297772.989 540245.545 0, 1298072.517 540263.081 0, 1298372.045 540280.633 0, 1298671.571 540298.204 0, 1298971.097 540315.792 0, 1299270.621 540333.397 0, 1299570.145 540351.021 0,
+ 1299869.667 540368.662 0, 1300169.188 540386.32 0, 1300468.709 540403.996 0, 1300768.228 540421.69 0, 1301067.746 540439.402 0, 1301367.263 540457.131 0, 1301666.779 540474.877 0, 1301966.295 540492.642 0, 1302264.408 540510.34 0, 1302594.067 534960.386 0,
+ 1302923.704 529410.82 0))
+
+POLYGON ((1316639.834 541384.6 0, 1316341.769 541366.059 0, 1316042.306 541347.449 0, 1315742.841 541328.856 0, 1315443.375 541310.281 0, 1315143.908 541291.723 0, 1314844.44 541273.184 0, 1314544.971 541254.661 0, 1314245.5 541236.157 0, 1313946.029 541217.67 0,
+ 1313646.557 541199.2 0, 1313347.083 541180.748 0, 1313047.609 541162.314 0, 1312748.133 541143.898 0, 1312448.656 541125.499 0, 1312149.178 541107.117 0, 1311849.699 541088.754 0, 1311550.219 541070.408 0, 1311250.738 541052.079 0, 1310951.256 541033.768 0,
+ 1310651.773 541015.475 0, 1310352.288 540997.2 0, 1310052.803 540978.942 0, 1309753.317 540960.702 0, 1309452.429 540942.394 0, 1309154.34 540924.274 0, 1308854.851 540906.086 0, 1308555.36 540887.917 0, 1308255.868 540869.765 0, 1307956.375 540851.63 0,
+ 1307656.881 540833.513 0, 1307357.386 540815.414 0, 1307057.89 540797.332 0, 1306758.393 540779.268 0, 1306458.895 540761.222 0, 1306159.395 540743.193 0, 1305859.895 540725.182 0, 1305560.394 540707.189 0, 1305260.891 540689.213 0, 1304961.388 540671.254 0,
+ 1304661.883 540653.314 0, 1304362.377 540635.391 0, 1304062.871 540617.486 0, 1303763.363 540599.598 0, 1303463.854 540581.728 0, 1303164.344 540563.875 0, 1302864.834 540546.04 0, 1302565.322 540528.223 0, 1302264.408 540510.34 0, 1301934.725 546060.681 0,
+ 1301605.02 551611.406 0, 1301905.277 551629.249 0, 1302204.136 551647.028 0, 1302502.994 551664.824 0, 1302801.85 551682.637 0, 1303100.705 551700.468 0, 1303399.56 551718.317 0, 1303698.413 551736.183 0, 1303997.265 551754.067 0, 1304296.117 551771.969 0,
+ 1304594.967 551789.888 0, 1304893.816 551807.824 0, 1305192.664 551825.779 0, 1305491.511 551843.75 0, 1305790.357 551861.74 0, 1306089.202 551879.747 0, 1306388.045 551897.771 0, 1306686.888 551915.814 0, 1306985.73 551933.873 0, 1307284.571 551951.951 0,
+ 1307583.41 551970.046 0, 1307882.249 551988.158 0, 1308181.086 552006.288 0, 1308479.922 552024.436 0, 1308777.361 552042.516 0, 1309077.592 552060.784 0, 1309376.425 552078.985 0, 1309675.257 552097.203 0, 1309974.088 552115.438 0, 1310272.918 552133.692 0,
+ 1310571.747 552151.963 0, 1310870.575 552170.251 0, 1311169.401 552188.557 0, 1311468.227 552206.881 0, 1311767.052 552225.222 0, 1312065.875 552243.581 0, 1312364.697 552261.957 0, 1312663.519 552280.351 0, 1312962.339 552298.763 0, 1313261.158 552317.192 0,
+ 1313559.976 552335.638 0, 1313858.793 552354.103 0, 1314157.609 552372.585 0, 1314456.424 552391.084 0, 1314755.237 552409.601 0, 1315054.05 552428.136 0, 1315352.862 552446.688 0, 1315651.672 552465.258 0, 1315949.086 552483.758 0, 1316294.472 546933.988 0,
+ 1316639.834 541384.6 0))
+
+POLYGON ((1330290.63 553396.632 0, 1329993.267 553377.292 0, 1329694.51 553357.878 0, 1329395.753 553338.481 0, 1329096.994 553319.102 0, 1328798.233 553299.741 0, 1328499.472 553280.398 0, 1328200.71 553261.072 0, 1327901.946 553241.763 0, 1327603.181 553222.472 0,
+ 1327304.415 553203.199 0, 1327005.648 553183.943 0, 1326706.88 553164.705 0, 1326408.111 553145.485 0, 1326109.34 553126.282 0, 1325810.569 553107.096 0, 1325511.796 553087.929 0, 1325213.022 553068.778 0, 1324914.248 553049.646 0, 1324615.472 553030.531 0,
+ 1324316.694 553011.433 0, 1324017.916 552992.354 0, 1323719.137 552973.291 0, 1323420.356 552954.247 0, 1323120.18 552935.131 0, 1322822.792 552916.21 0, 1322524.008 552897.218 0, 1322225.223 552878.244 0, 1321926.437 552859.287 0, 1321627.649 552840.348 0,
+ 1321328.861 552821.426 0, 1321030.072 552802.522 0, 1320731.281 552783.636 0, 1320432.489 552764.767 0, 1320133.696 552745.916 0, 1319834.903 552727.082 0, 1319536.108 552708.266 0, 1319237.311 552689.468 0, 1318938.514 552670.687 0, 1318639.716 552651.924 0,
+ 1318340.916 552633.178 0, 1318042.116 552614.45 0, 1317743.314 552595.739 0, 1317444.511 552577.046 0, 1317145.708 552558.371 0, 1316846.903 552539.713 0, 1316548.097 552521.073 0, 1316249.29 552502.45 0, 1315949.086 552483.758 0, 1315603.677 558033.909 0,
+ 1315258.244 563584.436 0, 1315557.791 563603.087 0, 1315855.945 563621.669 0, 1316154.097 563640.268 0, 1316452.249 563658.885 0, 1316750.4 563677.52 0, 1317048.549 563696.172 0, 1317346.697 563714.841 0, 1317644.844 563733.528 0, 1317942.991 563752.233 0,
+ 1318241.135 563770.955 0, 1318539.279 563789.695 0, 1318837.422 563808.453 0, 1319135.564 563827.228 0, 1319433.704 563846.02 0, 1319731.844 563864.83 0, 1320029.982 563883.658 0, 1320328.12 563902.503 0, 1320626.256 563921.365 0, 1320924.391 563940.246 0,
+ 1321222.525 563959.143 0, 1321520.657 563978.059 0, 1321818.789 563996.991 0, 1322116.92 564015.942 0, 1322413.658 564034.821 0, 1322713.178 564053.895 0, 1323011.305 564072.898 0, 1323309.431 564091.919 0, 1323607.556 564110.957 0, 1323905.68 564130.013 0,
+ 1324203.803 564149.086 0, 1324501.924 564168.177 0, 1324800.045 564187.285 0, 1325098.164 564206.411 0, 1325396.282 564225.554 0, 1325694.399 564244.715 0, 1325992.515 564263.894 0, 1326290.63 564283.09 0, 1326588.744 564302.303 0, 1326886.857 564321.534 0,
+ 1327184.968 564340.783 0, 1327483.078 564360.049 0, 1327781.188 564379.333 0, 1328079.296 564398.634 0, 1328377.403 564417.953 0, 1328675.508 564437.29 0, 1328973.613 564456.644 0, 1329271.717 564476.015 0, 1329568.429 564495.314 0, 1329929.542 558945.785 0,
+ 1330290.63 553396.632 0))
+
+POLYGON ((1343875.984 565446.617 0, 1343579.325 565426.48 0, 1343281.277 565406.266 0, 1342983.229 565386.07 0, 1342685.179 565365.892 0, 1342387.127 565345.731 0, 1342089.075 565325.587 0, 1341791.022 565305.461 0, 1341492.967 565285.353 0, 1341194.911 565265.262 0,
+ 1340896.854 565245.189 0, 1340598.796 565225.133 0, 1340300.736 565205.095 0, 1340002.676 565185.074 0, 1339704.614 565165.071 0, 1339406.551 565145.086 0, 1339108.487 565125.118 0, 1338810.421 565105.167 0, 1338512.355 565085.234 0, 1338214.287 565065.319 0,
+ 1337916.218 565045.421 0, 1337618.148 565025.541 0, 1337320.077 565005.678 0, 1337022.005 564985.833 0, 1336722.543 564965.913 0, 1336425.856 564946.195 0, 1336127.781 564926.402 0, 1335829.704 564906.627 0, 1335531.625 564886.87 0, 1335233.546 564867.13 0,
+ 1334935.466 564847.407 0, 1334637.384 564827.703 0, 1334339.301 564808.015 0, 1334041.217 564788.345 0, 1333743.132 564768.693 0, 1333445.046 564749.059 0, 1333146.958 564729.441 0, 1332848.87 564709.842 0, 1332550.78 564690.26 0, 1332252.689 564670.695 0,
+ 1331954.597 564651.148 0, 1331656.504 564631.619 0, 1331358.409 564612.107 0, 1331060.314 564592.613 0, 1330762.217 564573.136 0, 1330464.119 564553.677 0, 1330166.02 564534.235 0, 1329867.92 564514.811 0, 1329568.429 564495.314 0, 1329207.292 570045.216 0,
+ 1328846.131 575595.489 0, 1329144.966 575614.943 0, 1329442.413 575634.325 0, 1329739.858 575653.724 0, 1330037.303 575673.141 0, 1330334.746 575692.575 0, 1330632.188 575712.026 0, 1330929.629 575731.495 0, 1331227.069 575750.982 0, 1331524.508 575770.486 0,
+ 1331821.946 575790.008 0, 1332119.382 575809.547 0, 1332416.817 575829.104 0, 1332714.251 575848.678 0, 1333011.684 575868.269 0, 1333309.116 575887.879 0, 1333606.547 575907.505 0, 1333903.977 575927.149 0, 1334201.405 575946.811 0, 1334498.832 575966.49 0,
+ 1334796.258 575986.187 0, 1335093.683 576005.901 0, 1335391.107 576025.633 0, 1335688.529 576045.382 0, 1335984.565 576065.057 0, 1336283.371 576084.933 0, 1336580.79 576104.735 0, 1336878.208 576124.554 0, 1337175.625 576144.391 0, 1337473.04 576164.245 0,
+ 1337770.455 576184.117 0, 1338067.868 576204.006 0, 1338365.28 576223.913 0, 1338662.691 576243.837 0, 1338960.101 576263.779 0, 1339257.509 576283.738 0, 1339554.917 576303.715 0, 1339852.323 576323.709 0, 1340149.728 576343.721 0, 1340447.132 576363.75 0,
+ 1340744.534 576383.797 0, 1341041.936 576403.861 0, 1341339.336 576423.943 0, 1341636.735 576444.042 0, 1341934.133 576464.159 0, 1342231.53 576484.293 0, 1342528.926 576504.445 0, 1342826.32 576524.615 0, 1343122.329 576544.707 0, 1343499.169 570995.477 0,
+ 1343875.984 565446.617 0))
+
+POLYGON ((1357395.788 577534.255 0, 1357099.835 577513.325 0, 1356802.499 577492.316 0, 1356505.161 577471.324 0, 1356207.823 577450.35 0, 1355910.483 577429.393 0, 1355613.141 577408.453 0, 1355315.799 577387.531 0, 1355018.455 577366.627 0, 1354721.111 577345.74 0,
+ 1354423.765 577324.871 0, 1354126.417 577304.019 0, 1353829.069 577283.184 0, 1353531.719 577262.367 0, 1353234.368 577241.568 0, 1352937.016 577220.786 0, 1352639.662 577200.022 0, 1352342.308 577179.275 0, 1352044.952 577158.545 0, 1351747.595 577137.833 0,
+ 1351450.236 577117.139 0, 1351152.877 577096.462 0, 1350855.516 577075.803 0, 1350558.154 577055.161 0, 1350259.408 577034.44 0, 1349963.427 577013.929 0, 1349666.061 576993.34 0, 1349368.694 576972.768 0, 1349071.326 576952.214 0, 1348773.957 576931.677 0,
+ 1348476.587 576911.157 0, 1348179.215 576890.655 0, 1347881.842 576870.171 0, 1347584.468 576849.704 0, 1347287.093 576829.255 0, 1346989.716 576808.823 0, 1346692.339 576788.409 0, 1346394.96 576768.012 0, 1346097.58 576747.632 0, 1345800.198 576727.27 0,
+ 1345502.816 576706.926 0, 1345205.432 576686.599 0, 1344908.047 576666.29 0, 1344610.661 576645.998 0, 1344313.274 576625.724 0, 1344015.886 576605.467 0, 1343718.496 576585.228 0, 1343421.105 576565.006 0, 1343122.329 576544.707 0, 1342745.464 582094.305 0,
+ 1342368.574 587644.266 0, 1342666.694 587664.52 0, 1342963.432 587684.697 0, 1343260.168 587704.892 0, 1343556.903 587725.105 0, 1343853.637 587745.334 0, 1344150.37 587765.582 0, 1344447.101 587785.846 0, 1344743.832 587806.129 0, 1345040.561 587826.428 0,
+ 1345337.289 587846.745 0, 1345634.016 587867.08 0, 1345930.741 587887.432 0, 1346227.466 587907.802 0, 1346524.189 587928.189 0, 1346820.911 587948.593 0, 1347117.632 587969.015 0, 1347414.351 587989.454 0, 1347711.07 588009.911 0, 1348007.787 588030.386 0,
+ 1348304.503 588050.877 0, 1348601.218 588071.387 0, 1348897.931 588091.913 0, 1349194.644 588112.457 0, 1349489.975 588132.923 0, 1349788.065 588153.598 0, 1350084.773 588174.195 0, 1350381.481 588194.809 0, 1350678.187 588215.44 0, 1350974.892 588236.089 0,
+ 1351271.596 588256.756 0, 1351568.299 588277.439 0, 1351865 588298.141 0, 1352161.7 588318.86 0, 1352458.399 588339.596 0, 1352755.097 588360.35 0, 1353051.794 588381.121 0, 1353348.489 588401.909 0, 1353645.183 588422.716 0, 1353941.876 588443.539 0,
+ 1354238.568 588464.38 0, 1354535.258 588485.239 0, 1354831.947 588506.115 0, 1355128.635 588527.008 0, 1355425.322 588547.919 0, 1355722.008 588568.847 0, 1356018.692 588589.793 0, 1356315.375 588610.757 0, 1356610.678 588631.64 0, 1357003.246 583082.765 0,
+ 1357395.788 577534.255 0))
+
+POLYGON ((1370849.936 589659.246 0, 1370554.69 589637.528 0, 1370258.068 589615.727 0, 1369961.444 589593.943 0, 1369664.819 589572.176 0, 1369368.192 589550.427 0, 1369071.564 589528.696 0, 1368774.935 589506.982 0, 1368478.305 589485.285 0, 1368181.673 589463.606 0,
+ 1367885.041 589441.944 0, 1367588.406 589420.3 0, 1367291.771 589398.673 0, 1366995.134 589377.064 0, 1366698.496 589355.472 0, 1366401.857 589333.898 0, 1366105.217 589312.341 0, 1365808.575 589290.801 0, 1365511.932 589269.279 0, 1365215.288 589247.775 0,
+ 1364918.642 589226.287 0, 1364621.995 589204.818 0, 1364325.347 589183.366 0, 1364028.698 589161.931 0, 1363730.67 589140.414 0, 1363435.395 589119.114 0, 1363138.742 589097.731 0, 1362842.088 589076.367 0, 1362545.432 589055.019 0, 1362248.775 589033.689 0,
+ 1361952.117 589012.377 0, 1361655.458 588991.082 0, 1361358.797 588969.804 0, 1361062.135 588948.544 0, 1360765.472 588927.301 0, 1360468.807 588906.076 0, 1360172.142 588884.868 0, 1359875.475 588863.678 0, 1359578.807 588842.505 0, 1359282.137 588821.35 0,
+ 1358985.467 588800.212 0, 1358688.795 588779.091 0, 1358392.122 588757.988 0, 1358095.447 588736.903 0, 1357798.772 588715.835 0, 1357502.095 588694.784 0, 1357205.417 588673.751 0, 1356908.737 588652.735 0, 1356610.678 588631.64 0, 1356218.085 594180.875 0,
+ 1355825.466 599730.468 0, 1356122.869 599751.517 0, 1356418.895 599772.486 0, 1356714.92 599793.473 0, 1357010.943 599814.477 0, 1357306.966 599835.499 0, 1357602.987 599856.538 0, 1357899.007 599877.595 0, 1358195.025 599898.668 0, 1358491.043 599919.76 0,
+ 1358787.059 599940.869 0, 1359083.074 599961.995 0, 1359379.088 599983.138 0, 1359675.1 600004.299 0, 1359971.111 600025.478 0, 1360267.121 600046.674 0, 1360563.13 600067.887 0, 1360859.137 600089.118 0, 1361155.144 600110.366 0, 1361451.149 600131.632 0,
+ 1361747.152 600152.915 0, 1362043.155 600174.215 0, 1362339.156 600195.533 0, 1362635.156 600216.868 0, 1362929.78 600238.122 0, 1363227.152 600259.591 0, 1363523.148 600280.979 0, 1363819.143 600302.384 0, 1364115.137 600323.806 0, 1364411.129 600345.246 0,
+ 1364707.12 600366.703 0, 1365003.11 600388.178 0, 1365299.099 600409.67 0, 1365595.086 600431.179 0, 1365891.072 600452.706 0, 1366187.057 600474.25 0, 1366483.04 600495.812 0, 1366779.023 600517.391 0, 1367075.004 600538.988 0, 1367370.983 600560.602 0,
+ 1367666.962 600582.233 0, 1367962.939 600603.882 0, 1368258.915 600625.549 0, 1368554.889 600647.232 0, 1368850.863 600668.933 0, 1369146.835 600690.652 0, 1369442.806 600712.388 0, 1369738.775 600734.141 0, 1370033.37 600755.811 0, 1370441.666 595207.35 0,
+ 1370849.936 589659.246 0))
+
+POLYGON ((1384238.321 601821.29 0, 1383943.786 601798.788 0, 1383647.879 601776.199 0, 1383351.971 601753.627 0, 1383056.062 601731.072 0, 1382760.151 601708.535 0, 1382464.239 601686.015 0, 1382168.325 601663.513 0, 1381872.41 601641.028 0, 1381576.494 601618.56 0,
+ 1381280.577 601596.11 0, 1380984.658 601573.677 0, 1380688.738 601551.262 0, 1380392.816 601528.864 0, 1380096.894 601506.484 0, 1379800.97 601484.121 0, 1379505.044 601461.775 0, 1379209.117 601439.447 0, 1378913.189 601417.136 0, 1378617.26 601394.843 0,
+ 1378321.33 601372.567 0, 1378025.398 601350.308 0, 1377729.464 601328.067 0, 1377433.53 601305.843 0, 1377136.222 601283.534 0, 1376841.657 601261.448 0, 1376545.718 601239.277 0, 1376249.778 601217.123 0, 1375953.837 601194.986 0, 1375657.895 601172.867 0,
+ 1375361.951 601150.765 0, 1375066.006 601128.681 0, 1374770.06 601106.614 0, 1374474.112 601084.564 0, 1374178.163 601062.532 0, 1373882.213 601040.518 0, 1373586.262 601018.52 0, 1373290.309 600996.541 0, 1372994.355 600974.578 0, 1372698.4 600952.633 0,
+ 1372402.443 600930.706 0, 1372106.485 600908.795 0, 1371810.526 600886.903 0, 1371514.565 600865.027 0, 1371218.603 600843.169 0, 1370922.64 600821.329 0, 1370626.676 600799.506 0, 1370330.71 600777.7 0, 1370033.37 600755.811 0, 1369625.049 606304.626 0,
+ 1369216.701 611853.793 0, 1369513.385 611875.634 0, 1369808.697 611897.391 0, 1370104.008 611919.166 0, 1370399.318 611940.959 0, 1370694.627 611962.768 0, 1370989.934 611984.595 0, 1371285.24 612006.44 0, 1371580.545 612028.301 0, 1371875.848 612050.181 0,
+ 1372171.151 612072.077 0, 1372466.451 612093.991 0, 1372761.751 612115.922 0, 1373057.049 612137.871 0, 1373352.346 612159.837 0, 1373647.642 612181.821 0, 1373942.936 612203.822 0, 1374238.23 612225.84 0, 1374533.521 612247.875 0, 1374828.812 612269.928 0,
+ 1375124.101 612291.999 0, 1375419.389 612314.087 0, 1375714.676 612336.192 0, 1376009.961 612358.314 0, 1376303.877 612380.351 0, 1376600.528 612402.611 0, 1376895.809 612424.786 0, 1377191.09 612446.978 0, 1377486.368 612469.187 0, 1377781.646 612491.414 0,
+ 1378076.922 612513.658 0, 1378372.197 612535.92 0, 1378667.471 612558.199 0, 1378962.743 612580.495 0, 1379258.014 612602.809 0, 1379553.283 612625.14 0, 1379848.552 612647.488 0, 1380143.819 612669.854 0, 1380439.084 612692.237 0, 1380734.349 612714.638 0,
+ 1381029.612 612737.056 0, 1381324.874 612759.491 0, 1381620.134 612781.944 0, 1381915.393 612804.414 0, 1382210.651 612826.902 0, 1382505.907 612849.406 0, 1382801.162 612871.929 0, 1383096.416 612894.468 0, 1383390.301 612916.921 0, 1383814.325 607368.93 0,
+ 1384238.321 601821.29 0))
+
+POLYGON ((1397560.842 614020.087 0, 1397267.019 613996.804 0, 1396971.83 613973.431 0, 1396676.64 613950.074 0, 1396381.448 613926.735 0, 1396086.255 613903.414 0, 1395791.06 613880.11 0, 1395495.865 613856.823 0, 1395200.668 613833.554 0, 1394905.469 613810.302 0,
+ 1394610.269 613787.067 0, 1394315.068 613763.85 0, 1394019.865 613740.65 0, 1393724.661 613717.467 0, 1393429.456 613694.302 0, 1393134.249 613671.154 0, 1392839.041 613648.024 0, 1392543.831 613624.911 0, 1392248.621 613601.815 0, 1391953.408 613578.737 0,
+ 1391658.195 613555.676 0, 1391362.98 613532.632 0, 1391067.764 613509.606 0, 1390772.546 613486.597 0, 1390475.961 613463.5 0, 1390182.107 613440.632 0, 1389886.885 613417.675 0, 1389591.662 613394.736 0, 1389296.438 613371.814 0, 1389001.212 613348.91 0,
+ 1388705.985 613326.022 0, 1388410.757 613303.153 0, 1388115.527 613280.3 0, 1387820.296 613257.465 0, 1387525.063 613234.648 0, 1387229.83 613211.847 0, 1386934.594 613189.064 0, 1386639.358 613166.299 0, 1386344.12 613143.551 0, 1386048.881 613120.82 0,
+ 1385753.641 613098.107 0, 1385458.399 613075.411 0, 1385163.156 613052.732 0, 1384867.911 613030.071 0, 1384572.665 613007.427 0, 1384277.418 612984.8 0, 1383982.17 612962.191 0, 1383686.92 612939.6 0, 1383390.301 612916.921 0, 1382966.251 618465.259 0,
+ 1382542.175 624013.942 0, 1382838.137 624036.571 0, 1383132.734 624059.112 0, 1383427.329 624081.671 0, 1383721.923 624104.248 0, 1384016.516 624126.842 0, 1384311.107 624149.453 0, 1384605.697 624172.081 0, 1384900.286 624194.727 0, 1385194.873 624217.39 0,
+ 1385489.459 624240.071 0, 1385784.044 624262.769 0, 1386078.628 624285.484 0, 1386373.21 624308.216 0, 1386667.79 624330.966 0, 1386962.37 624353.733 0, 1387256.948 624376.518 0, 1387551.524 624399.319 0, 1387846.099 624422.139 0, 1388140.673 624444.975 0,
+ 1388435.246 624467.829 0, 1388729.817 624490.7 0, 1389024.387 624513.589 0, 1389318.956 624536.495 0, 1389612.16 624559.312 0, 1389908.089 624582.358 0, 1390202.653 624605.316 0, 1390497.217 624628.292 0, 1390791.779 624651.284 0, 1391086.339 624674.294 0,
+ 1391380.898 624697.321 0, 1391675.456 624720.366 0, 1391970.012 624743.428 0, 1392264.567 624766.507 0, 1392559.121 624789.604 0, 1392853.673 624812.717 0, 1393148.224 624835.849 0, 1393442.774 624858.997 0, 1393737.322 624882.163 0, 1394031.869 624905.346 0,
+ 1394326.415 624928.547 0, 1394620.959 624951.765 0, 1394915.501 624975 0, 1395210.043 624998.253 0, 1395504.583 625021.523 0, 1395799.122 625044.81 0, 1396093.659 625068.115 0, 1396388.195 625091.437 0, 1396681.368 625114.668 0, 1397121.118 619567.205 0,
+ 1397560.842 614020.087 0))
+
+POLYGON ((1410817.394 626255.336 0, 1410524.286 626231.276 0, 1410229.817 626207.122 0, 1409935.347 626182.985 0, 1409640.875 626158.866 0, 1409346.402 626134.764 0, 1409051.927 626110.679 0, 1408757.451 626086.612 0, 1408462.974 626062.562 0, 1408168.495 626038.529 0,
+ 1407874.015 626014.514 0, 1407579.533 625990.516 0, 1407285.05 625966.535 0, 1406990.566 625942.572 0, 1406696.08 625918.626 0, 1406401.593 625894.697 0, 1406107.104 625870.786 0, 1405812.614 625846.892 0, 1405518.123 625823.015 0, 1405223.63 625799.156 0,
+ 1404929.135 625775.314 0, 1404634.64 625751.489 0, 1404340.143 625727.682 0, 1404045.644 625703.892 0, 1403749.784 625680.01 0, 1403456.643 625656.364 0, 1403162.14 625632.626 0, 1402867.636 625608.905 0, 1402573.131 625585.202 0, 1402278.624 625561.516 0,
+ 1401984.115 625537.848 0, 1401689.606 625514.196 0, 1401395.095 625490.562 0, 1401100.582 625466.946 0, 1400806.068 625443.346 0, 1400511.553 625419.764 0, 1400217.037 625396.2 0, 1399922.519 625372.652 0, 1399627.999 625349.122 0, 1399333.478 625325.61 0,
+ 1399038.956 625302.114 0, 1398744.433 625278.636 0, 1398449.908 625255.176 0, 1398155.382 625231.732 0, 1397860.854 625208.306 0, 1397566.325 625184.898 0, 1397271.794 625161.507 0, 1396977.263 625138.133 0, 1396681.368 625114.668 0, 1396241.59 630662.472 0,
+ 1395801.785 636210.614 0, 1396097.024 636234.026 0, 1396390.903 636257.348 0, 1396684.78 636280.688 0, 1396978.656 636304.044 0, 1397272.531 636327.418 0, 1397566.404 636350.81 0, 1397860.276 636374.218 0, 1398154.146 636397.644 0, 1398448.016 636421.087 0,
+ 1398741.883 636444.548 0, 1399035.75 636468.026 0, 1399329.615 636491.521 0, 1399623.478 636515.033 0, 1399917.34 636538.563 0, 1400211.201 636562.11 0, 1400505.06 636585.674 0, 1400798.919 636609.256 0, 1401092.775 636632.855 0, 1401386.63 636656.471 0,
+ 1401680.484 636680.104 0, 1401974.337 636703.755 0, 1402268.188 636727.423 0, 1402562.037 636751.108 0, 1402854.528 636774.702 0, 1403149.733 636798.531 0, 1403443.578 636822.268 0, 1403737.422 636846.023 0, 1404031.265 636869.795 0, 1404325.106 636893.584 0,
+ 1404618.946 636917.39 0, 1404912.785 636941.214 0, 1405206.622 636965.055 0, 1405500.457 636988.913 0, 1405794.292 637012.789 0, 1406088.124 637036.682 0, 1406381.956 637060.592 0, 1406675.786 637084.519 0, 1406969.615 637108.464 0, 1407263.442 637132.426 0,
+ 1407557.268 637156.406 0, 1407851.092 637180.402 0, 1408144.915 637204.416 0, 1408438.737 637228.447 0, 1408732.557 637252.496 0, 1409026.376 637276.562 0, 1409320.193 637300.645 0, 1409614.009 637324.745 0, 1409906.467 637348.752 0, 1410361.945 631801.875 0,
+ 1410817.394 626255.336 0))
+
+POLYGON ((1424007.877 638526.734 0, 1423715.486 638501.901 0, 1423421.739 638476.971 0, 1423127.991 638452.057 0, 1422834.241 638427.162 0, 1422540.49 638402.283 0, 1422246.738 638377.422 0, 1421952.984 638352.578 0, 1421659.228 638327.751 0, 1421365.472 638302.942 0,
+ 1421071.713 638278.15 0, 1420777.953 638253.375 0, 1420484.192 638228.617 0, 1420190.429 638203.877 0, 1419896.665 638179.154 0, 1419602.899 638154.449 0, 1419309.132 638129.76 0, 1419015.364 638105.089 0, 1418721.594 638080.436 0, 1418427.822 638055.799 0,
+ 1418134.049 638031.18 0, 1417840.275 638006.578 0, 1417546.499 637981.993 0, 1417252.722 637957.426 0, 1416957.588 637932.763 0, 1416665.163 637908.343 0, 1416371.382 637883.828 0, 1416077.599 637859.33 0, 1415783.814 637834.849 0, 1415490.028 637810.385 0,
+ 1415196.241 637785.939 0, 1414902.452 637761.51 0, 1414608.662 637737.098 0, 1414314.87 637712.704 0, 1414021.077 637688.327 0, 1413727.282 637663.967 0, 1413433.486 637639.625 0, 1413139.689 637615.299 0, 1412845.89 637590.991 0, 1412552.09 637566.701 0,
+ 1412258.288 637542.427 0, 1411964.485 637518.171 0, 1411670.681 637493.933 0, 1411376.875 637469.711 0, 1411083.067 637445.507 0, 1410789.258 637421.32 0, 1410495.448 637397.15 0, 1410201.637 637372.998 0, 1409906.467 637348.752 0, 1409450.963 642895.963 0,
+ 1408995.431 648443.506 0, 1409289.944 648467.699 0, 1409583.102 648491.797 0, 1409876.26 648515.913 0, 1410169.416 648540.046 0, 1410462.57 648564.197 0, 1410755.723 648588.364 0, 1411048.874 648612.549 0, 1411342.025 648636.751 0, 1411635.173 648660.971 0,
+ 1411928.321 648685.207 0, 1412221.466 648709.461 0, 1412514.611 648733.733 0, 1412807.754 648758.021 0, 1413100.895 648782.327 0, 1413394.036 648806.65 0, 1413687.174 648830.99 0, 1413980.311 648855.347 0, 1414273.447 648879.722 0, 1414566.582 648904.114 0,
+ 1414859.715 648928.523 0, 1415152.846 648952.949 0, 1415445.976 648977.393 0, 1415739.105 649001.854 0, 1416030.88 649026.219 0, 1416325.358 649050.828 0, 1416618.482 649075.34 0, 1416911.605 649099.87 0, 1417204.727 649124.418 0, 1417497.846 649148.982 0,
+ 1417790.965 649173.564 0, 1418084.082 649198.163 0, 1418377.198 649222.779 0, 1418670.312 649247.412 0, 1418963.425 649272.063 0, 1419256.536 649296.731 0, 1419549.646 649321.416 0, 1419842.754 649346.119 0, 1420135.861 649370.839 0, 1420428.967 649395.576 0,
+ 1420722.071 649420.33 0, 1421015.173 649445.101 0, 1421308.274 649469.89 0, 1421601.374 649494.696 0, 1421894.472 649519.519 0, 1422187.569 649544.36 0, 1422480.664 649569.218 0, 1422773.758 649594.093 0, 1423065.5 649618.87 0, 1423536.703 644072.636 0,
+ 1424007.877 638526.734 0))
+
+POLYGON ((1437132.192 650833.98 0, 1436840.519 650808.378 0, 1436547.497 650782.675 0, 1436254.473 650756.989 0, 1435961.448 650731.321 0, 1435668.421 650705.67 0, 1435375.392 650680.036 0, 1435082.362 650654.419 0, 1434789.331 650628.819 0, 1434496.298 650603.237 0,
+ 1434203.264 650577.672 0, 1433910.228 650552.125 0, 1433617.19 650526.594 0, 1433324.151 650501.081 0, 1433031.111 650475.585 0, 1432738.069 650450.106 0, 1432445.026 650424.645 0, 1432151.981 650399.2 0, 1431858.934 650373.774 0, 1431565.886 650348.364 0,
+ 1431272.837 650322.971 0, 1430979.786 650297.596 0, 1430686.734 650272.238 0, 1430393.68 650246.897 0, 1430099.275 650221.457 0, 1429807.567 650196.268 0, 1429514.509 650170.979 0, 1429221.449 650145.707 0, 1428928.388 650120.452 0, 1428635.325 650095.215 0,
+ 1428342.261 650069.995 0, 1428049.195 650044.792 0, 1427756.128 650019.607 0, 1427463.059 649994.439 0, 1427169.989 649969.288 0, 1426876.917 649944.154 0, 1426583.844 649919.037 0, 1426290.769 649893.938 0, 1425997.693 649868.856 0, 1425704.615 649843.791 0,
+ 1425411.536 649818.744 0, 1425118.456 649793.714 0, 1424825.373 649768.701 0, 1424532.29 649743.705 0, 1424239.205 649718.726 0, 1423946.119 649693.765 0, 1423653.031 649668.821 0, 1423359.941 649643.894 0, 1423065.5 649618.87 0, 1422594.269 655165.432 0,
+ 1422123.011 660712.318 0, 1422416.796 660737.287 0, 1422709.232 660762.158 0, 1423001.668 660787.046 0, 1423294.101 660811.952 0, 1423586.533 660836.875 0, 1423878.964 660861.815 0, 1424171.393 660886.772 0, 1424463.821 660911.747 0, 1424756.247 660936.738 0,
+ 1425048.671 660961.747 0, 1425341.095 660986.773 0, 1425633.516 661011.817 0, 1425925.937 661036.877 0, 1426218.356 661061.955 0, 1426510.773 661087.05 0, 1426803.189 661112.162 0, 1427095.603 661137.292 0, 1427388.016 661162.438 0, 1427680.428 661187.602 0,
+ 1427972.838 661212.783 0, 1428265.246 661237.981 0, 1428557.653 661263.197 0, 1428850.059 661288.429 0, 1429141.116 661313.563 0, 1429434.865 661338.946 0, 1429727.266 661364.231 0, 1430019.666 661389.532 0, 1430312.064 661414.851 0, 1430604.46 661440.187 0,
+ 1430896.855 661465.54 0, 1431189.249 661490.91 0, 1431481.641 661516.298 0, 1431774.032 661541.703 0, 1432066.421 661567.125 0, 1432358.808 661592.564 0, 1432651.194 661618.02 0, 1432943.579 661643.494 0, 1433235.962 661668.984 0, 1433528.344 661694.492 0,
+ 1433820.724 661720.018 0, 1434113.103 661745.56 0, 1434405.48 661771.12 0, 1434697.855 661796.697 0, 1434990.229 661822.291 0, 1435282.602 661847.902 0, 1435574.973 661873.53 0, 1435867.343 661899.176 0, 1436158.366 661924.721 0, 1436645.293 656379.188 0,
+ 1437132.192 650833.98 0))
+
+POLYGON ((1450190.239 663176.771 0, 1449899.287 663150.404 0, 1449606.992 663123.932 0, 1449314.694 663097.478 0, 1449022.395 663071.041 0, 1448730.094 663044.621 0, 1448437.792 663018.218 0, 1448145.488 662991.833 0, 1447853.183 662965.464 0, 1447560.876 662939.113 0,
+ 1447268.568 662912.779 0, 1446976.258 662886.462 0, 1446683.947 662860.163 0, 1446391.634 662833.881 0, 1446099.319 662807.616 0, 1445807.003 662781.368 0, 1445514.685 662755.137 0, 1445222.366 662728.923 0, 1444930.045 662702.727 0, 1444637.723 662676.548 0,
+ 1444345.399 662650.386 0, 1444053.074 662624.241 0, 1443760.747 662598.114 0, 1443468.418 662572.004 0, 1443174.745 662545.791 0, 1442883.757 662519.835 0, 1442591.424 662493.776 0, 1442299.089 662467.735 0, 1442006.753 662441.71 0, 1441714.416 662415.703 0,
+ 1441422.076 662389.714 0, 1441129.736 662363.741 0, 1440837.393 662337.785 0, 1440545.05 662311.847 0, 1440252.704 662285.926 0, 1439960.358 662260.022 0, 1439668.009 662234.136 0, 1439375.659 662208.266 0, 1439083.308 662182.414 0, 1438790.955 662156.579 0,
+ 1438498.601 662130.762 0, 1438206.245 662104.961 0, 1437913.887 662079.178 0, 1437621.528 662053.412 0, 1437329.168 662027.663 0, 1437036.806 662001.931 0, 1436744.442 661976.216 0, 1436452.077 661950.519 0, 1436158.366 661924.721 0, 1435671.41 667470.575 0,
+ 1435184.426 673016.747 0, 1435477.482 673042.488 0, 1435769.194 673068.128 0, 1436060.905 673093.785 0, 1436352.614 673119.459 0, 1436644.322 673145.15 0, 1436936.028 673170.859 0, 1437227.732 673196.585 0, 1437519.436 673222.328 0, 1437811.137 673248.088 0,
+ 1438102.837 673273.865 0, 1438394.536 673299.66 0, 1438686.233 673325.471 0, 1438977.928 673351.3 0, 1439269.622 673377.146 0, 1439561.315 673403.009 0, 1439853.006 673428.889 0, 1440144.695 673454.787 0, 1440436.383 673480.701 0, 1440728.07 673506.633 0,
+ 1441019.754 673532.582 0, 1441311.438 673558.548 0, 1441603.12 673584.532 0, 1441894.8 673610.532 0, 1442185.138 673636.43 0, 1442478.156 673662.585 0, 1442769.831 673688.636 0, 1443061.506 673714.706 0, 1443353.178 673740.792 0, 1443644.849 673766.895 0,
+ 1443936.519 673793.016 0, 1444228.187 673819.154 0, 1444519.853 673845.309 0, 1444811.518 673871.481 0, 1445103.182 673897.67 0, 1445394.843 673923.877 0, 1445686.504 673950.1 0, 1445978.162 673976.341 0, 1446269.82 674002.599 0, 1446561.475 674028.874 0,
+ 1446853.129 674055.167 0, 1447144.782 674081.476 0, 1447436.433 674107.803 0, 1447728.082 674134.146 0, 1448019.73 674160.507 0, 1448311.377 674186.886 0, 1448603.022 674213.281 0, 1448894.665 674239.693 0, 1449184.967 674266.002 0, 1449687.618 668721.227 0,
+ 1450190.239 663176.771 0))
+
+POLYGON ((1463181.923 675554.805 0, 1462891.694 675527.677 0, 1462600.126 675500.44 0, 1462308.557 675473.221 0, 1462016.986 675446.019 0, 1461725.414 675418.834 0, 1461433.84 675391.667 0, 1461142.265 675364.516 0, 1460850.688 675337.383 0, 1460559.109 675310.267 0,
+ 1460267.529 675283.168 0, 1459975.947 675256.086 0, 1459684.363 675229.021 0, 1459392.778 675201.974 0, 1459101.192 675174.943 0, 1458809.604 675147.93 0, 1458518.014 675120.934 0, 1458226.422 675093.955 0, 1457934.829 675066.993 0, 1457643.235 675040.049 0,
+ 1457351.639 675013.121 0, 1457060.041 674986.211 0, 1456768.442 674959.318 0, 1456476.841 674932.442 0, 1456183.9 674905.46 0, 1455893.634 674878.742 0, 1455602.028 674851.918 0, 1455310.421 674825.11 0, 1455018.812 674798.32 0, 1454727.202 674771.547 0,
+ 1454435.59 674744.792 0, 1454143.976 674718.053 0, 1453852.361 674691.332 0, 1453560.745 674664.627 0, 1453269.126 674637.94 0, 1452977.507 674611.27 0, 1452685.885 674584.617 0, 1452394.262 674557.982 0, 1452102.638 674531.363 0, 1451811.012 674504.762 0,
+ 1451519.384 674478.178 0, 1451227.755 674451.611 0, 1450936.124 674425.061 0, 1450644.492 674398.529 0, 1450352.858 674372.013 0, 1450061.222 674345.515 0, 1449769.585 674319.034 0, 1449477.947 674292.57 0, 1449184.967 674266.002 0, 1448682.288 679811.09 0,
+ 1448179.581 685356.49 0, 1448471.904 685382.999 0, 1448762.89 685409.404 0, 1449053.875 685435.826 0, 1449344.857 685462.265 0, 1449635.838 685488.721 0, 1449926.818 685515.194 0, 1450217.796 685541.684 0, 1450508.773 685568.192 0, 1450799.747 685594.716 0,
+ 1451090.721 685621.258 0, 1451381.693 685647.817 0, 1451672.663 685674.393 0, 1451963.632 685700.986 0, 1452254.599 685727.596 0, 1452545.564 685754.224 0, 1452836.528 685780.868 0, 1453127.491 685807.53 0, 1453418.451 685834.209 0, 1453709.411 685860.904 0,
+ 1454000.368 685887.617 0, 1454291.324 685914.348 0, 1454582.279 685941.095 0, 1454873.232 685967.859 0, 1455162.848 685994.518 0, 1455455.133 686021.439 0, 1455746.081 686048.255 0, 1456037.028 686075.088 0, 1456327.973 686101.938 0, 1456618.917 686128.805 0,
+ 1456909.859 686155.689 0, 1457200.799 686182.591 0, 1457491.738 686209.509 0, 1457782.675 686236.445 0, 1458073.61 686263.397 0, 1458364.544 686290.367 0, 1458655.477 686317.354 0, 1458946.408 686344.358 0, 1459237.337 686371.38 0, 1459528.264 686398.418 0,
+ 1459819.19 686425.474 0, 1460110.115 686452.546 0, 1460401.038 686479.636 0, 1460691.959 686506.743 0, 1460982.879 686533.867 0, 1461273.797 686561.008 0, 1461564.713 686588.166 0, 1461855.628 686615.341 0, 1462145.208 686642.409 0, 1462663.58 681098.452 0,
+ 1463181.923 675554.805 0))
+
+POLYGON ((1476107.146 687967.778 0, 1475817.642 687939.892 0, 1475526.805 687911.895 0, 1475235.966 687883.915 0, 1474945.126 687855.952 0, 1474654.284 687828.006 0, 1474363.441 687800.078 0, 1474072.595 687772.166 0, 1473781.749 687744.272 0, 1473490.9 687716.395 0,
+ 1473200.05 687688.534 0, 1472909.198 687660.691 0, 1472618.345 687632.865 0, 1472327.49 687605.057 0, 1472036.633 687577.265 0, 1471745.775 687549.49 0, 1471454.915 687521.733 0, 1471164.054 687493.993 0, 1470873.19 687466.269 0, 1470582.326 687438.563 0,
+ 1470291.459 687410.874 0, 1470000.591 687383.202 0, 1469709.721 687355.548 0, 1469418.85 687327.91 0, 1469126.645 687300.163 0, 1468837.103 687272.686 0, 1468546.226 687245.1 0, 1468255.349 687217.531 0, 1467964.469 687189.979 0, 1467673.588 687162.444 0,
+ 1467382.705 687134.926 0, 1467091.821 687107.425 0, 1466800.935 687079.942 0, 1466510.048 687052.475 0, 1466219.159 687025.026 0, 1465928.268 686997.594 0, 1465637.375 686970.179 0, 1465346.481 686942.781 0, 1465055.586 686915.4 0, 1464764.689 686888.036 0,
+ 1464473.79 686860.69 0, 1464182.889 686833.36 0, 1463891.987 686806.048 0, 1463601.084 686778.753 0, 1463310.178 686751.475 0, 1463019.272 686724.214 0, 1462728.363 686696.97 0, 1462437.453 686669.743 0, 1462145.208 686642.409 0, 1461626.807 692186.674 0,
+ 1461108.377 697731.244 0, 1461399.967 697758.517 0, 1461690.225 697785.683 0, 1461980.48 697812.866 0, 1462270.735 697840.065 0, 1462560.987 697867.282 0, 1462851.238 697894.516 0, 1463141.488 697921.767 0, 1463431.735 697949.035 0, 1463721.982 697976.321 0,
+ 1464012.226 698003.623 0, 1464302.469 698030.942 0, 1464592.711 698058.279 0, 1464882.95 698085.632 0, 1465173.188 698113.003 0, 1465463.425 698140.391 0, 1465753.66 698167.795 0, 1466043.893 698195.217 0, 1466334.125 698222.656 0, 1466624.355 698250.112 0,
+ 1466914.583 698277.585 0, 1467204.81 698305.076 0, 1467495.035 698332.583 0, 1467785.259 698360.107 0, 1468074.152 698387.523 0, 1468365.701 698415.207 0, 1468655.92 698442.783 0, 1468946.137 698470.376 0, 1469236.353 698497.985 0, 1469526.567 698525.612 0,
+ 1469816.779 698553.256 0, 1470106.99 698580.917 0, 1470397.198 698608.595 0, 1470687.406 698636.291 0, 1470977.612 698664.003 0, 1471267.816 698691.732 0, 1471558.018 698719.479 0, 1471848.219 698747.242 0, 1472138.418 698775.023 0, 1472428.616 698802.82 0,
+ 1472718.812 698830.635 0, 1473009.006 698858.467 0, 1473299.199 698886.316 0, 1473589.39 698914.182 0, 1473879.579 698942.065 0, 1474169.767 698969.965 0, 1474459.953 698997.882 0, 1474750.137 699025.817 0, 1475038.992 699053.64 0, 1475573.083 693510.557 0,
+ 1476107.146 687967.778 0))
+
+POLYGON ((1488965.814 700415.387 0, 1488677.037 700386.747 0, 1488386.933 700357.993 0, 1488096.827 700329.256 0, 1487806.719 700300.536 0, 1487516.61 700271.834 0, 1487226.499 700243.148 0, 1486936.386 700214.479 0, 1486646.271 700185.828 0, 1486356.155 700157.193 0,
+ 1486066.037 700128.576 0, 1485775.918 700099.975 0, 1485485.797 700071.392 0, 1485195.674 700042.826 0, 1484905.549 700014.277 0, 1484615.423 699985.745 0, 1484325.295 699957.23 0, 1484035.165 699928.732 0, 1483745.034 699900.251 0, 1483454.901 699871.787 0,
+ 1483164.766 699843.341 0, 1482874.63 699814.911 0, 1482584.492 699786.499 0, 1482294.352 699758.103 0, 1482002.884 699729.595 0, 1481714.068 699701.364 0, 1481423.923 699673.019 0, 1481133.777 699644.692 0, 1480843.629 699616.382 0, 1480553.479 699588.089 0,
+ 1480263.328 699559.813 0, 1479973.175 699531.555 0, 1479683.02 699503.313 0, 1479392.864 699475.088 0, 1479102.706 699446.881 0, 1478812.546 699418.69 0, 1478522.385 699390.517 0, 1478232.222 699362.36 0, 1477942.057 699334.221 0, 1477651.891 699306.099 0,
+ 1477361.723 699277.994 0, 1477071.553 699249.906 0, 1476781.382 699221.835 0, 1476491.209 699193.781 0, 1476201.035 699165.744 0, 1475910.858 699137.725 0, 1475620.681 699109.722 0, 1475330.501 699081.736 0, 1475038.992 699053.64 0, 1474504.871 704597.024 0,
+ 1473970.722 710140.706 0, 1474261.576 710168.739 0, 1474551.102 710196.662 0, 1474840.628 710224.601 0, 1475130.151 710252.558 0, 1475419.673 710280.532 0, 1475709.194 710308.522 0, 1475998.712 710336.53 0, 1476288.23 710364.555 0, 1476577.745 710392.597 0,
+ 1476867.259 710420.656 0, 1477156.771 710448.732 0, 1477446.281 710476.825 0, 1477735.79 710504.935 0, 1478025.297 710533.062 0, 1478314.803 710561.206 0, 1478604.307 710589.367 0, 1478893.809 710617.546 0, 1479183.309 710645.741 0, 1479472.808 710673.953 0,
+ 1479762.305 710702.183 0, 1480051.801 710730.429 0, 1480341.295 710758.692 0, 1480630.787 710786.973 0, 1480918.953 710815.141 0, 1481209.766 710843.585 0, 1481499.254 710871.916 0, 1481788.739 710900.265 0, 1482078.223 710928.631 0, 1482367.705 710957.013 0,
+ 1482657.186 710985.413 0, 1482946.665 711013.83 0, 1483236.142 711042.264 0, 1483525.617 711070.714 0, 1483815.091 711099.182 0, 1484104.563 711127.667 0, 1484394.034 711156.169 0, 1484683.503 711184.688 0, 1484972.97 711213.224 0, 1485262.435 711241.777 0,
+ 1485551.899 711270.347 0, 1485841.361 711298.935 0, 1486130.821 711327.539 0, 1486420.28 711356.16 0, 1486709.737 711384.798 0, 1486999.192 711413.453 0, 1487288.646 711442.126 0, 1487578.098 711470.815 0, 1487866.226 711499.39 0, 1488416.035 705957.24 0,
+ 1488965.814 700415.387 0))
+
+POLYGON ((1501757.836 712897.327 0, 1501469.788 712867.938 0, 1501180.418 712838.431 0, 1500891.047 712808.941 0, 1500601.673 712779.468 0, 1500312.298 712750.012 0, 1500022.922 712720.573 0, 1499733.543 712691.151 0, 1499444.163 712661.746 0, 1499154.781 712632.358 0,
+ 1498865.398 712602.988 0, 1498576.012 712573.634 0, 1498286.625 712544.297 0, 1497997.236 712514.978 0, 1497707.846 712485.675 0, 1497418.453 712456.389 0, 1497129.06 712427.121 0, 1496839.664 712397.869 0, 1496550.266 712368.635 0, 1496260.867 712339.417 0,
+ 1495971.466 712310.217 0, 1495682.064 712281.034 0, 1495392.66 712251.867 0, 1495103.253 712222.718 0, 1494812.524 712193.453 0, 1494524.436 712164.471 0, 1494235.025 712135.372 0, 1493945.612 712106.291 0, 1493656.198 712077.227 0, 1493366.781 712048.18 0,
+ 1493077.363 712019.15 0, 1492787.944 711990.137 0, 1492498.522 711961.141 0, 1492209.099 711932.162 0, 1491919.674 711903.2 0, 1491630.248 711874.255 0, 1491340.82 711845.327 0, 1491051.39 711816.416 0, 1490761.958 711787.523 0, 1490472.525 711758.646 0,
+ 1490183.09 711729.786 0, 1489893.653 711700.943 0, 1489604.215 711672.118 0, 1489314.774 711643.309 0, 1489025.333 711614.518 0, 1488735.889 711585.743 0, 1488446.444 711556.985 0, 1488156.997 711528.245 0, 1487866.226 711499.39 0, 1487316.387 717041.835 0,
+ 1486766.52 722584.571 0, 1487056.636 722613.36 0, 1487345.431 722642.036 0, 1487634.223 722670.729 0, 1487923.014 722699.438 0, 1488211.804 722728.165 0, 1488500.591 722756.909 0, 1488789.377 722785.669 0, 1489078.162 722814.447 0, 1489366.944 722843.242 0,
+ 1489655.725 722872.053 0, 1489944.504 722900.882 0, 1490233.282 722929.728 0, 1490522.058 722958.59 0, 1490810.832 722987.47 0, 1491099.604 723016.366 0, 1491388.375 723045.28 0, 1491677.144 723074.211 0, 1491965.911 723103.158 0, 1492254.677 723132.123 0,
+ 1492543.441 723161.105 0, 1492832.203 723190.103 0, 1493120.964 723219.119 0, 1493409.722 723248.152 0, 1493697.161 723277.068 0, 1493987.235 723306.268 0, 1494275.989 723335.351 0, 1494564.741 723364.452 0, 1494853.491 723393.57 0, 1495142.239 723422.704 0,
+ 1495430.986 723451.856 0, 1495719.731 723481.024 0, 1496008.475 723510.21 0, 1496297.216 723539.412 0, 1496585.956 723568.632 0, 1496874.694 723597.869 0, 1497163.431 723627.122 0, 1497452.166 723656.393 0, 1497740.899 723685.68 0, 1498029.63 723714.985 0,
+ 1498318.36 723744.306 0, 1498607.087 723773.645 0, 1498895.814 723803 0, 1499184.538 723832.373 0, 1499473.261 723861.762 0, 1499761.982 723891.169 0, 1500050.701 723920.592 0, 1500339.418 723950.033 0, 1500626.817 723979.356 0, 1501192.341 718438.196 0,
+ 1501757.836 712897.327 0))
+
+POLYGON ((1514483.118 725413.294 0, 1514195.801 725383.158 0, 1513907.168 725352.902 0, 1513618.533 725322.663 0, 1513329.896 725292.441 0, 1513041.258 725262.236 0, 1512752.617 725232.048 0, 1512463.975 725201.877 0, 1512175.332 725171.723 0, 1511886.686 725141.586 0,
+ 1511598.039 725111.466 0, 1511309.389 725081.362 0, 1511020.739 725051.276 0, 1510732.086 725021.207 0, 1510443.431 724991.155 0, 1510154.775 724961.12 0, 1509866.117 724931.102 0, 1509577.457 724901.1 0, 1509288.796 724871.116 0, 1509000.133 724841.149 0,
+ 1508711.468 724811.199 0, 1508422.801 724781.265 0, 1508134.132 724751.349 0, 1507845.462 724721.45 0, 1507555.474 724691.431 0, 1507268.116 724661.702 0, 1506979.44 724631.854 0, 1506690.763 724602.023 0, 1506402.084 724572.208 0, 1506113.403 724542.411 0,
+ 1505824.72 724512.631 0, 1505536.036 724482.867 0, 1505247.35 724453.121 0, 1504958.662 724423.392 0, 1504669.972 724393.679 0, 1504381.281 724363.984 0, 1504092.588 724334.306 0, 1503803.893 724304.644 0, 1503515.196 724275 0, 1503226.498 724245.372 0,
+ 1502937.798 724215.762 0, 1502649.096 724186.169 0, 1502360.392 724156.592 0, 1502071.687 724127.033 0, 1501782.98 724097.49 0, 1501494.271 724067.965 0, 1501205.56 724038.456 0, 1500916.848 724008.965 0, 1500626.817 723979.356 0, 1500061.263 729520.803 0,
+ 1499495.681 735062.534 0, 1499785.057 735092.076 0, 1500073.117 735121.501 0, 1500361.175 735150.943 0, 1500649.231 735180.402 0, 1500937.286 735209.877 0, 1501225.339 735239.37 0, 1501513.391 735268.879 0, 1501801.44 735298.406 0, 1502089.488 735327.95 0,
+ 1502377.534 735357.51 0, 1502665.578 735387.087 0, 1502953.621 735416.682 0, 1503241.662 735446.293 0, 1503529.701 735475.921 0, 1503817.738 735505.567 0, 1504105.774 735535.229 0, 1504393.808 735564.908 0, 1504681.84 735594.604 0, 1504969.87 735624.317 0,
+ 1505257.899 735654.047 0, 1505545.926 735683.794 0, 1505833.951 735713.558 0, 1506121.974 735743.339 0, 1506408.683 735773.001 0, 1506698.016 735802.951 0, 1506986.034 735832.783 0, 1507274.05 735862.632 0, 1507562.065 735892.497 0, 1507850.078 735922.38 0,
+ 1508138.089 735952.28 0, 1508426.098 735982.196 0, 1508714.106 736012.129 0, 1509002.111 736042.08 0, 1509290.115 736072.047 0, 1509578.118 736102.031 0, 1509866.118 736132.033 0, 1510154.117 736162.051 0, 1510442.114 736192.086 0, 1510730.109 736222.138 0,
+ 1511018.102 736252.207 0, 1511306.094 736282.293 0, 1511594.084 736312.396 0, 1511882.072 736342.516 0, 1512170.058 736372.653 0, 1512458.043 736402.806 0, 1512746.026 736432.977 0, 1513034.007 736463.165 0, 1513320.674 736493.232 0, 1513901.911 730953.121 0,
+ 1514483.118 725413.294 0))
+
+POLYGON ((1527141.571 737962.982 0, 1526854.987 737932.105 0, 1526567.092 737901.104 0, 1526279.196 737870.12 0, 1525991.298 737839.152 0, 1525703.398 737808.202 0, 1525415.496 737777.269 0, 1525127.592 737746.352 0, 1524839.687 737715.453 0, 1524551.779 737684.57 0,
+ 1524263.87 737653.705 0, 1523975.959 737622.856 0, 1523688.046 737592.024 0, 1523400.132 737561.21 0, 1523112.215 737530.412 0, 1522824.297 737499.631 0, 1522536.377 737468.867 0, 1522248.455 737438.12 0, 1521960.532 737407.39 0, 1521672.606 737376.677 0,
+ 1521384.679 737345.981 0, 1521096.75 737315.301 0, 1520808.819 737284.639 0, 1520520.886 737253.994 0, 1520231.642 737223.226 0, 1519945.016 737192.754 0, 1519657.078 737162.16 0, 1519369.138 737131.582 0, 1519081.196 737101.022 0, 1518793.252 737070.478 0,
+ 1518505.307 737039.951 0, 1518217.36 737009.442 0, 1517929.411 736978.949 0, 1517641.461 736948.473 0, 1517353.508 736918.014 0, 1517065.554 736887.572 0, 1516777.598 736857.147 0, 1516489.64 736826.739 0, 1516201.68 736796.348 0, 1515913.719 736765.974 0,
+ 1515625.756 736735.617 0, 1515337.791 736705.277 0, 1515049.824 736674.953 0, 1514761.855 736644.647 0, 1514473.885 736614.358 0, 1514185.913 736584.085 0, 1513897.939 736553.83 0, 1513609.963 736523.591 0, 1513320.674 736493.232 0, 1512739.408 742033.623 0,
+ 1512158.113 747574.292 0, 1512446.747 747604.582 0, 1512734.071 747634.752 0, 1513021.392 747664.939 0, 1513308.712 747695.143 0, 1513596.03 747725.364 0, 1513883.347 747755.602 0, 1514170.661 747785.856 0, 1514457.974 747816.128 0, 1514745.285 747846.416 0,
+ 1515032.594 747876.722 0, 1515319.902 747907.044 0, 1515607.208 747937.383 0, 1515894.511 747967.739 0, 1516181.813 747998.112 0, 1516469.114 748028.502 0, 1516756.412 748058.909 0, 1517043.709 748089.332 0, 1517331.004 748119.773 0, 1517618.297 748150.231 0,
+ 1517905.588 748180.705 0, 1518192.878 748211.196 0, 1518480.166 748241.705 0, 1518767.452 748272.23 0, 1519053.429 748302.633 0, 1519342.018 748333.331 0, 1519629.299 748363.907 0, 1519916.578 748394.5 0, 1520203.855 748425.109 0, 1520491.13 748455.736 0,
+ 1520778.403 748486.379 0, 1521065.675 748517.04 0, 1521352.944 748547.717 0, 1521640.212 748578.411 0, 1521927.479 748609.123 0, 1522214.743 748639.851 0, 1522502.005 748670.596 0, 1522789.266 748701.358 0, 1523076.525 748732.136 0, 1523363.782 748762.932 0,
+ 1523651.037 748793.745 0, 1523938.291 748824.574 0, 1524225.543 748855.421 0, 1524512.792 748886.284 0, 1524800.04 748917.164 0, 1525087.287 748948.061 0, 1525374.531 748978.975 0, 1525661.774 749009.906 0, 1525947.708 749040.713 0, 1526544.654 743501.709 0,
+ 1527141.571 737962.982 0))
+
+POLYGON ((1539733.105 750546.087 0, 1539447.257 750514.472 0, 1539160.102 750482.73 0, 1538872.947 750451.004 0, 1538585.789 750419.296 0, 1538298.629 750387.604 0, 1538011.468 750355.929 0, 1537724.304 750324.272 0, 1537437.139 750292.631 0, 1537149.972 750261.007 0,
+ 1536862.803 750229.399 0, 1536575.632 750197.809 0, 1536288.46 750166.236 0, 1536001.285 750134.679 0, 1535714.109 750103.14 0, 1535426.931 750071.617 0, 1535139.75 750040.112 0, 1534852.568 750008.623 0, 1534565.385 749977.151 0, 1534278.199 749945.696 0,
+ 1533991.012 749914.258 0, 1533703.822 749882.837 0, 1533416.631 749851.432 0, 1533129.438 749820.045 0, 1532840.938 749788.532 0, 1532555.046 749757.321 0, 1532267.848 749725.984 0, 1531980.647 749694.664 0, 1531693.445 749663.362 0, 1531406.241 749632.076 0,
+ 1531119.035 749600.806 0, 1530831.827 749569.554 0, 1530544.618 749538.319 0, 1530257.406 749507.101 0, 1529970.193 749475.899 0, 1529682.978 749444.715 0, 1529395.761 749413.547 0, 1529108.542 749382.396 0, 1528821.321 749351.263 0, 1528534.099 749320.146 0,
+ 1528246.874 749289.046 0, 1527959.648 749257.963 0, 1527672.42 749226.896 0, 1527385.191 749195.847 0, 1527097.959 749164.815 0, 1526810.726 749133.799 0, 1526523.49 749102.801 0, 1526236.253 749071.819 0, 1525947.708 749040.713 0, 1525350.733 754579.991 0,
+ 1524753.728 760119.538 0, 1525041.618 760150.573 0, 1525328.203 760181.484 0, 1525614.786 760212.413 0, 1525901.367 760243.358 0, 1526187.947 760274.32 0, 1526474.525 760305.299 0, 1526761.101 760336.294 0, 1527047.675 760367.307 0, 1527334.247 760398.336 0,
+ 1527620.817 760429.382 0, 1527907.386 760460.446 0, 1528193.953 760491.526 0, 1528480.518 760522.622 0, 1528767.081 760553.736 0, 1529053.642 760584.867 0, 1529340.202 760616.014 0, 1529626.759 760647.179 0, 1529913.315 760678.36 0, 1530199.869 760709.558 0,
+ 1530486.421 760740.773 0, 1530772.971 760772.005 0, 1531059.52 760803.253 0, 1531346.066 760834.519 0, 1531631.309 760865.659 0, 1531919.154 760897.101 0, 1532205.695 760928.417 0, 1532492.234 760959.75 0, 1532778.772 760991.1 0, 1533065.307 761022.466 0,
+ 1533351.841 761053.85 0, 1533638.373 761085.25 0, 1533924.903 761116.668 0, 1534211.431 761148.102 0, 1534497.957 761179.553 0, 1534784.482 761211.021 0, 1535071.004 761242.506 0, 1535357.525 761274.007 0, 1535644.044 761305.526 0, 1535930.561 761337.061 0,
+ 1536217.076 761368.613 0, 1536503.589 761400.183 0, 1536790.101 761431.769 0, 1537076.61 761463.371 0, 1537363.118 761494.991 0, 1537649.624 761526.628 0, 1537936.128 761558.281 0, 1538222.63 761589.951 0, 1538507.83 761621.495 0, 1539120.483 756083.656 0,
+ 1539733.105 750546.087 0))
+
+POLYGON ((1552257.634 763162.303 0, 1551972.522 763129.954 0, 1551686.111 763097.474 0, 1551399.697 763065.011 0, 1551113.282 763032.565 0, 1550826.865 763000.136 0, 1550540.445 762967.724 0, 1550254.024 762935.329 0, 1549967.601 762902.951 0, 1549681.176 762870.589 0,
+ 1549394.75 762838.244 0, 1549108.321 762805.916 0, 1548821.89 762773.605 0, 1548535.458 762741.311 0, 1548249.023 762709.034 0, 1547962.587 762676.774 0, 1547676.149 762644.53 0, 1547389.709 762612.303 0, 1547103.267 762580.094 0, 1546816.823 762547.901 0,
+ 1546530.377 762515.724 0, 1546243.93 762483.565 0, 1545957.48 762451.423 0, 1545671.029 762419.297 0, 1545383.276 762387.043 0, 1545098.12 762355.097 0, 1544811.663 762323.022 0, 1544525.204 762290.964 0, 1544238.743 762258.922 0, 1543952.28 762226.898 0,
+ 1543665.815 762194.89 0, 1543379.349 762162.9 0, 1543092.881 762130.926 0, 1542806.41 762098.969 0, 1542519.938 762067.029 0, 1542233.464 762035.106 0, 1541946.988 762003.199 0, 1541660.51 761971.31 0, 1541374.03 761939.437 0, 1541087.549 761907.582 0,
+ 1540801.065 761875.743 0, 1540514.58 761843.921 0, 1540228.093 761812.115 0, 1539941.604 761780.327 0, 1539655.113 761748.556 0, 1539368.62 761716.801 0, 1539082.125 761685.063 0, 1538795.629 761653.342 0, 1538507.83 761621.495 0, 1537895.148 767159.6 0,
+ 1537282.437 772697.968 0, 1537569.581 772729.743 0, 1537855.425 772761.392 0, 1538141.268 772793.057 0, 1538427.109 772824.74 0, 1538712.948 772856.439 0, 1538998.785 772888.155 0, 1539284.62 772919.888 0, 1539570.454 772951.637 0, 1539856.285 772983.404 0,
+ 1540142.115 773015.187 0, 1540427.943 773046.987 0, 1540713.769 773078.804 0, 1540999.593 773110.638 0, 1541285.415 773142.488 0, 1541571.235 773174.356 0, 1541857.054 773206.24 0, 1542142.87 773238.141 0, 1542428.685 773270.059 0, 1542714.498 773301.993 0,
+ 1543000.309 773333.945 0, 1543286.118 773365.913 0, 1543571.925 773397.898 0, 1543857.73 773429.9 0, 1544142.238 773461.774 0, 1544429.335 773493.955 0, 1544715.135 773526.007 0, 1545000.933 773558.077 0, 1545286.728 773590.163 0, 1545572.522 773622.266 0,
+ 1545858.314 773654.385 0, 1546144.105 773686.522 0, 1546429.893 773718.675 0, 1546715.679 773750.845 0, 1547001.464 773783.032 0, 1547287.246 773815.236 0, 1547573.027 773847.457 0, 1547858.806 773879.694 0, 1548144.583 773911.949 0, 1548430.358 773944.22 0,
+ 1548716.131 773976.508 0, 1549001.902 774008.812 0, 1549287.672 774041.134 0, 1549573.439 774073.472 0, 1549859.204 774105.828 0, 1550144.968 774138.2 0, 1550430.73 774170.588 0, 1550716.49 774202.994 0, 1551000.953 774235.27 0, 1551629.308 768698.655 0,
+ 1552257.634 763162.303 0))
+
+POLYGON ((1564715.07 775811.323 0, 1564430.698 775778.244 0, 1564145.03 775745.031 0, 1563859.361 775711.835 0, 1563573.69 775678.655 0, 1563288.017 775645.493 0, 1563002.342 775612.347 0, 1562716.666 775579.219 0, 1562430.987 775546.107 0, 1562145.306 775513.011 0,
+ 1561859.623 775479.933 0, 1561573.939 775446.872 0, 1561288.252 775413.827 0, 1561002.564 775380.799 0, 1560716.873 775347.788 0, 1560431.181 775314.794 0, 1560145.486 775281.816 0, 1559859.79 775248.855 0, 1559574.092 775215.912 0, 1559288.392 775182.985 0,
+ 1559002.689 775150.074 0, 1558716.985 775117.181 0, 1558431.279 775084.304 0, 1558145.571 775051.445 0, 1557858.568 775018.453 0, 1557574.15 774985.776 0, 1557288.436 774952.966 0, 1557002.72 774920.174 0, 1556717.003 774887.398 0, 1556431.283 774854.639 0,
+ 1556145.562 774821.897 0, 1555859.839 774789.172 0, 1555574.113 774756.464 0, 1555288.386 774723.772 0, 1555002.657 774691.097 0, 1554716.926 774658.439 0, 1554431.193 774625.798 0, 1554145.458 774593.174 0, 1553859.721 774560.567 0, 1553573.982 774527.976 0,
+ 1553288.242 774495.402 0, 1553002.499 774462.845 0, 1552716.755 774430.305 0, 1552431.008 774397.781 0, 1552145.26 774365.275 0, 1551859.51 774332.785 0, 1551573.757 774300.312 0, 1551288.003 774267.856 0, 1551000.953 774235.27 0, 1550372.568 779772.144 0,
+ 1549744.153 785309.274 0, 1550030.55 785341.786 0, 1550315.652 785374.168 0, 1550600.752 785406.567 0, 1550885.851 785438.983 0, 1551170.947 785471.415 0, 1551456.042 785503.864 0, 1551741.135 785536.33 0, 1552026.225 785568.813 0, 1552311.314 785601.313 0,
+ 1552596.401 785633.829 0, 1552881.486 785666.362 0, 1553166.57 785698.912 0, 1553451.651 785731.479 0, 1553736.73 785764.062 0, 1554021.808 785796.662 0, 1554306.883 785829.279 0, 1554591.957 785861.913 0, 1554877.028 785894.564 0, 1555162.098 785927.231 0,
+ 1555447.166 785959.915 0, 1555732.232 785992.616 0, 1556017.296 786025.334 0, 1556302.358 786058.068 0, 1556586.127 786090.671 0, 1556872.476 786123.587 0, 1557157.532 786156.372 0, 1557442.587 786189.174 0, 1557727.639 786221.992 0, 1558012.689 786254.827 0,
+ 1558297.738 786287.679 0, 1558582.784 786320.548 0, 1558867.829 786353.433 0, 1559152.872 786386.336 0, 1559437.913 786419.255 0, 1559722.951 786452.19 0, 1560007.988 786485.143 0, 1560293.023 786518.112 0, 1560578.056 786551.098 0, 1560863.087 786584.101 0,
+ 1561148.117 786617.121 0, 1561433.144 786650.157 0, 1561718.169 786683.211 0, 1562003.192 786716.281 0, 1562288.214 786749.367 0, 1562573.233 786782.471 0, 1562858.25 786815.591 0, 1563143.266 786848.728 0, 1563426.99 786881.732 0, 1564071.045 781346.4 0,
+ 1564715.07 775811.323 0))
+
+POLYGON ((1577105.33 788492.841 0, 1576821.698 788459.035 0, 1576536.777 788425.093 0, 1576251.854 788391.168 0, 1575966.93 788357.259 0, 1575682.003 788323.367 0, 1575397.074 788289.492 0, 1575112.143 788255.634 0, 1574827.211 788221.792 0, 1574542.276 788187.967 0,
+ 1574257.339 788154.159 0, 1573972.401 788120.368 0, 1573687.46 788086.594 0, 1573402.517 788052.836 0, 1573117.573 788019.095 0, 1572832.626 787985.371 0, 1572547.677 787951.663 0, 1572262.727 787917.973 0, 1571977.774 787884.299 0, 1571692.82 787850.642 0,
+ 1571407.863 787817.001 0, 1571122.905 787783.378 0, 1570837.944 787749.771 0, 1570552.982 787716.181 0, 1570266.729 787682.456 0, 1569983.051 787649.051 0, 1569698.082 787615.512 0, 1569413.112 787581.989 0, 1569128.139 787548.483 0, 1568843.165 787514.993 0,
+ 1568558.189 787481.521 0, 1568273.211 787448.065 0, 1567988.23 787414.626 0, 1567703.248 787381.204 0, 1567418.264 787347.798 0, 1567133.278 787314.409 0, 1566848.29 787281.037 0, 1566563.3 787247.682 0, 1566278.308 787214.344 0, 1565993.314 787181.022 0,
+ 1565708.318 787147.717 0, 1565423.32 787114.429 0, 1565138.32 787081.158 0, 1564853.318 787047.903 0, 1564568.314 787014.666 0, 1564283.309 786981.445 0, 1563998.301 786948.24 0, 1563713.291 786915.053 0, 1563426.99 786881.732 0, 1562782.906 792417.317 0,
+ 1562138.793 797953.151 0, 1562424.439 797986.395 0, 1562708.797 798019.507 0, 1562993.153 798052.635 0, 1563277.507 798085.78 0, 1563561.859 798118.942 0, 1563846.21 798152.12 0, 1564130.558 798185.316 0, 1564414.904 798218.528 0, 1564699.249 798251.756 0,
+ 1564983.591 798285.002 0, 1565267.931 798318.264 0, 1565552.27 798351.543 0, 1565836.606 798384.839 0, 1566120.941 798418.151 0, 1566405.273 798451.48 0, 1566689.604 798484.826 0, 1566973.933 798518.189 0, 1567258.26 798551.568 0, 1567542.584 798584.964 0,
+ 1567826.907 798618.377 0, 1568111.228 798651.806 0, 1568395.547 798685.253 0, 1568679.864 798718.716 0, 1568962.893 798752.044 0, 1569248.491 798785.692 0, 1569532.802 798819.205 0, 1569817.111 798852.735 0, 1570101.418 798886.282 0, 1570385.723 798919.845 0,
+ 1570670.026 798953.425 0, 1570954.328 798987.022 0, 1571238.627 799020.636 0, 1571522.924 799054.266 0, 1571807.219 799087.913 0, 1572091.512 799121.577 0, 1572375.803 799155.257 0, 1572660.092 799188.955 0, 1572944.38 799222.669 0, 1573228.665 799256.399 0,
+ 1573512.948 799290.147 0, 1573797.229 799323.911 0, 1574081.509 799357.692 0, 1574365.786 799391.49 0, 1574650.061 799425.304 0, 1574934.335 799459.135 0, 1575218.606 799492.983 0, 1575502.875 799526.848 0, 1575785.859 799560.576 0, 1576445.609 794026.584 0,
+ 1577105.33 788492.841 0))
+
+POLYGON ((1589428.329 801206.55 0, 1589145.44 801172.022 0, 1588861.267 801137.354 0, 1588577.093 801102.703 0, 1588292.916 801068.069 0, 1588008.738 801033.452 0, 1587724.557 800998.851 0, 1587440.374 800964.267 0, 1587156.189 800929.7 0, 1586872.003 800895.15 0,
+ 1586587.814 800860.616 0, 1586303.623 800826.099 0, 1586019.43 800791.599 0, 1585735.235 800757.115 0, 1585451.038 800722.648 0, 1585166.839 800688.198 0, 1584882.638 800653.765 0, 1584598.435 800619.348 0, 1584314.23 800584.948 0, 1584030.023 800550.565 0,
+ 1583745.814 800516.198 0, 1583461.603 800481.849 0, 1583177.39 800447.516 0, 1582893.175 800413.199 0, 1582607.675 800378.745 0, 1582324.738 800344.617 0, 1582040.517 800310.351 0, 1581756.294 800276.101 0, 1581472.069 800241.869 0, 1581187.842 800207.653 0,
+ 1580903.612 800173.454 0, 1580619.381 800139.271 0, 1580335.148 800105.105 0, 1580050.912 800070.956 0, 1579766.675 800036.824 0, 1579482.436 800002.709 0, 1579198.195 799968.61 0, 1578913.951 799934.528 0, 1578629.706 799900.462 0, 1578345.459 799866.414 0,
+ 1578061.209 799832.382 0, 1577776.958 799798.367 0, 1577492.705 799764.368 0, 1577208.449 799730.386 0, 1576924.192 799696.421 0, 1576639.933 799662.473 0, 1576355.671 799628.542 0, 1576071.408 799594.627 0, 1575785.859 799560.576 0, 1575126.079 805094.813 0,
+ 1574466.271 810629.291 0, 1574751.165 810663.264 0, 1575034.777 810697.101 0, 1575318.387 810730.955 0, 1575601.995 810764.826 0, 1575885.601 810798.713 0, 1576169.205 810832.617 0, 1576452.807 810866.537 0, 1576736.407 810900.474 0, 1577020.004 810934.428 0,
+ 1577303.6 810968.399 0, 1577587.194 811002.386 0, 1577870.786 811036.39 0, 1578154.376 811070.411 0, 1578437.964 811104.448 0, 1578721.55 811138.502 0, 1579005.134 811172.573 0, 1579288.716 811206.66 0, 1579572.295 811240.764 0, 1579855.873 811274.885 0,
+ 1580139.449 811309.023 0, 1580423.023 811343.177 0, 1580706.595 811377.348 0, 1580990.165 811411.535 0, 1581272.453 811445.585 0, 1581557.298 811479.961 0, 1581840.862 811514.198 0, 1582124.424 811548.453 0, 1582407.983 811582.724 0, 1582691.541 811617.011 0,
+ 1582975.097 811651.316 0, 1583258.651 811685.637 0, 1583542.202 811719.975 0, 1583825.752 811754.329 0, 1584109.3 811788.7 0, 1584392.845 811823.088 0, 1584676.389 811857.493 0, 1584959.93 811891.914 0, 1585243.47 811926.352 0, 1585527.007 811960.807 0,
+ 1585810.543 811995.278 0, 1586094.076 812029.766 0, 1586377.608 812064.271 0, 1586661.137 812098.792 0, 1586944.664 812133.33 0, 1587228.19 812167.885 0, 1587511.713 812202.456 0, 1587795.234 812237.044 0, 1588077.475 812271.493 0, 1588752.917 806738.901 0,
+ 1589428.329 801206.55 0))
+
+POLYGON ((1601683.986 813952.142 0, 1601401.841 813916.896 0, 1601118.419 813881.507 0, 1600834.994 813846.135 0, 1600551.568 813810.779 0, 1600268.139 813775.44 0, 1599984.708 813740.118 0, 1599701.276 813704.812 0, 1599417.841 813669.523 0, 1599134.404 813634.251 0,
+ 1598850.965 813598.996 0, 1598567.524 813563.757 0, 1598284.08 813528.535 0, 1598000.635 813493.329 0, 1597717.188 813458.141 0, 1597433.738 813422.968 0, 1597150.287 813387.813 0, 1596866.833 813352.674 0, 1596583.378 813317.552 0, 1596299.92 813282.447 0,
+ 1596016.46 813247.358 0, 1595732.999 813212.286 0, 1595449.535 813177.231 0, 1595166.069 813142.192 0, 1594881.324 813107.013 0, 1594599.131 813072.165 0, 1594315.659 813037.176 0, 1594032.185 813002.205 0, 1593748.708 812967.249 0, 1593465.23 812932.311 0,
+ 1593181.75 812897.389 0, 1592898.267 812862.484 0, 1592614.783 812827.595 0, 1592331.296 812792.724 0, 1592047.808 812757.868 0, 1591764.317 812723.03 0, 1591480.825 812688.208 0, 1591197.33 812653.403 0, 1590913.833 812618.615 0, 1590630.334 812583.843 0,
+ 1590346.834 812549.088 0, 1590063.331 812514.35 0, 1589779.826 812479.628 0, 1589496.319 812444.923 0, 1589212.81 812410.235 0, 1588929.299 812375.564 0, 1588645.786 812340.909 0, 1588362.271 812306.271 0, 1588077.475 812271.493 0, 1587402.004 817804.323 0,
+ 1586726.505 823337.388 0, 1587010.646 823372.086 0, 1587293.51 823406.644 0, 1587576.372 823441.22 0, 1587859.232 823475.811 0, 1588142.089 823510.42 0, 1588424.945 823545.045 0, 1588707.799 823579.687 0, 1588990.65 823614.346 0, 1589273.5 823649.021 0,
+ 1589556.347 823683.712 0, 1589839.193 823718.421 0, 1590122.036 823753.146 0, 1590404.878 823787.888 0, 1590687.717 823822.646 0, 1590970.554 823857.421 0, 1591253.389 823892.213 0, 1591536.223 823927.021 0, 1591819.054 823961.846 0, 1592101.883 823996.688 0,
+ 1592384.71 824031.546 0, 1592667.535 824066.421 0, 1592950.358 824101.312 0, 1593233.179 824136.221 0, 1593514.724 824170.988 0, 1593798.814 824206.087 0, 1594081.629 824241.045 0, 1594364.442 824276.02 0, 1594647.252 824311.011 0, 1594930.061 824346.019 0,
+ 1595212.867 824381.044 0, 1595495.672 824416.086 0, 1595778.474 824451.144 0, 1596061.275 824486.218 0, 1596344.073 824521.31 0, 1596626.869 824556.417 0, 1596909.663 824591.542 0, 1597192.455 824626.683 0, 1597475.245 824661.841 0, 1597758.033 824697.016 0,
+ 1598040.819 824732.207 0, 1598323.602 824767.415 0, 1598606.384 824802.639 0, 1598889.164 824837.88 0, 1599171.941 824873.138 0, 1599454.717 824908.412 0, 1599737.49 824943.703 0, 1600020.261 824979.011 0, 1600301.758 825014.176 0, 1600992.887 819483.042 0,
+ 1601683.986 813952.142 0))
+
+POLYGON ((1118469.91 388461.571 0, 1118162.921 388454.641 0, 1117854.458 388447.695 0, 1117545.994 388440.767 0, 1117237.529 388433.858 0, 1116929.065 388426.967 0, 1116620.6 388420.094 0, 1116312.134 388413.239 0, 1116003.668 388406.402 0, 1115695.202 388399.583 0,
+ 1115386.736 388392.783 0, 1115078.268 388386 0, 1114769.801 388379.236 0, 1114461.333 388372.49 0, 1114152.865 388365.762 0, 1113844.396 388359.052 0, 1113535.927 388352.361 0, 1113227.458 388345.687 0, 1112918.988 388339.032 0, 1112610.518 388332.395 0,
+ 1112302.047 388325.776 0, 1111993.576 388319.175 0, 1111685.105 388312.593 0, 1111376.633 388306.028 0, 1111066.686 388299.451 0, 1110759.688 388292.954 0, 1110451.215 388286.444 0, 1110142.742 388279.952 0, 1109834.268 388273.478 0, 1109525.794 388267.023 0,
+ 1109217.32 388260.585 0, 1108908.845 388254.166 0, 1108600.37 388247.765 0, 1108291.894 388241.382 0, 1107983.418 388235.017 0, 1107674.942 388228.671 0, 1107366.465 388222.342 0, 1107057.988 388216.032 0, 1106749.511 388209.74 0, 1106441.033 388203.466 0,
+ 1106132.555 388197.21 0, 1105824.076 388190.972 0, 1105515.597 388184.753 0, 1105207.118 388178.551 0, 1104898.638 388172.368 0, 1104590.158 388166.203 0, 1104281.678 388160.056 0, 1103973.197 388153.927 0, 1103663.24 388147.788 0, 1103553.507 393695.78 0,
+ 1103443.765 399244.234 0, 1103753.066 399250.361 0, 1104060.893 399256.477 0, 1104368.721 399262.61 0, 1104676.548 399268.762 0, 1104984.374 399274.933 0, 1105292.2 399281.121 0, 1105600.026 399287.327 0, 1105907.852 399293.552 0, 1106215.677 399299.794 0,
+ 1106523.501 399306.055 0, 1106831.326 399312.334 0, 1107139.15 399318.631 0, 1107446.973 399324.946 0, 1107754.796 399331.279 0, 1108062.619 399337.63 0, 1108370.442 399344 0, 1108678.264 399350.387 0, 1108986.086 399356.793 0, 1109293.907 399363.217 0,
+ 1109601.728 399369.658 0, 1109909.549 399376.118 0, 1110217.369 399382.597 0, 1110525.189 399389.093 0, 1110831.536 399395.576 0, 1111140.827 399402.14 0, 1111448.646 399408.69 0, 1111756.464 399415.259 0, 1112064.282 399421.846 0, 1112372.099 399428.451 0,
+ 1112679.917 399435.074 0, 1112987.733 399441.715 0, 1113295.55 399448.374 0, 1113603.366 399455.052 0, 1113911.181 399461.747 0, 1114218.996 399468.461 0, 1114526.811 399475.192 0, 1114834.625 399481.942 0, 1115142.439 399488.71 0, 1115450.253 399495.496 0,
+ 1115758.066 399502.301 0, 1116065.879 399509.123 0, 1116373.691 399515.964 0, 1116681.503 399522.822 0, 1116989.315 399529.699 0, 1117297.126 399536.594 0, 1117604.937 399543.507 0, 1117912.747 399550.438 0, 1118219.087 399557.354 0, 1118344.504 394009.232 0,
+ 1118469.91 388461.571 0))
+
+POLYGON ((1132993.465 399912.215 0, 1132687.144 399904.433 0, 1132379.354 399896.633 0, 1132071.564 399888.85 0, 1131763.774 399881.086 0, 1131455.983 399873.339 0, 1131148.191 399865.611 0, 1130840.399 399857.901 0, 1130532.607 399850.209 0, 1130224.814 399842.535 0,
+ 1129917.021 399834.88 0, 1129609.228 399827.242 0, 1129301.434 399819.623 0, 1128993.639 399812.021 0, 1128685.844 399804.438 0, 1128378.049 399796.873 0, 1128070.253 399789.326 0, 1127762.457 399781.797 0, 1127454.66 399774.286 0, 1127146.863 399766.793 0,
+ 1126839.065 399759.319 0, 1126531.267 399751.862 0, 1126223.468 399744.424 0, 1125915.67 399737.004 0, 1125606.401 399729.567 0, 1125300.07 399722.218 0, 1124992.27 399714.852 0, 1124684.469 399707.504 0, 1124376.668 399700.175 0, 1124068.867 399692.863 0,
+ 1123761.065 399685.57 0, 1123453.262 399678.295 0, 1123145.46 399671.037 0, 1122837.656 399663.798 0, 1122529.853 399656.577 0, 1122222.049 399649.375 0, 1121914.244 399642.19 0, 1121606.439 399635.023 0, 1121298.634 399627.875 0, 1120990.828 399620.745 0,
+ 1120683.022 399613.632 0, 1120375.215 399606.538 0, 1120067.408 399599.462 0, 1119759.601 399592.404 0, 1119451.793 399585.365 0, 1119143.984 399578.343 0, 1118836.176 399571.339 0, 1118528.367 399564.354 0, 1118219.087 399557.354 0, 1118093.659 405105.934 0,
+ 1117968.221 410654.972 0, 1118276.845 410661.957 0, 1118584.001 410668.928 0, 1118891.156 410675.916 0, 1119198.311 410682.923 0, 1119505.466 410689.948 0, 1119812.62 410696.991 0, 1120119.774 410704.052 0, 1120426.928 410711.131 0, 1120734.081 410718.228 0,
+ 1121041.233 410725.343 0, 1121348.386 410732.477 0, 1121655.537 410739.628 0, 1121962.689 410746.797 0, 1122269.84 410753.985 0, 1122576.99 410761.19 0, 1122884.14 410768.414 0, 1123191.29 410775.656 0, 1123498.439 410782.916 0, 1123805.588 410790.194 0,
+ 1124112.736 410797.49 0, 1124419.884 410804.804 0, 1124727.032 410812.136 0, 1125034.179 410819.486 0, 1125339.859 410826.819 0, 1125648.472 410834.241 0, 1125955.618 410841.645 0, 1126262.763 410849.068 0, 1126569.908 410856.508 0, 1126877.052 410863.967 0,
+ 1127184.196 410871.444 0, 1127491.34 410878.939 0, 1127798.483 410886.452 0, 1128105.626 410893.983 0, 1128412.768 410901.532 0, 1128719.91 410909.099 0, 1129027.051 410916.684 0, 1129334.192 410924.287 0, 1129641.333 410931.909 0, 1129948.473 410939.548 0,
+ 1130255.612 410947.206 0, 1130562.751 410954.881 0, 1130869.89 410962.575 0, 1131177.028 410970.287 0, 1131484.166 410978.017 0, 1131791.303 410985.765 0, 1132098.44 410993.531 0, 1132405.576 411001.315 0, 1132711.248 411009.08 0, 1132852.362 405460.419 0,
+ 1132993.465 399912.215 0))
+
+POLYGON ((1147453.215 411404.838 0, 1147147.564 411396.21 0, 1146840.451 411387.558 0, 1146533.337 411378.924 0, 1146226.223 411370.309 0, 1145919.109 411361.711 0, 1145611.993 411353.132 0, 1145304.878 411344.57 0, 1144997.761 411336.027 0, 1144690.645 411327.502 0,
+ 1144383.527 411318.994 0, 1144076.41 411310.505 0, 1143769.292 411302.034 0, 1143462.173 411293.581 0, 1143155.054 411285.147 0, 1142847.934 411276.73 0, 1142540.814 411268.331 0, 1142233.693 411259.95 0, 1141926.572 411251.588 0, 1141619.45 411243.243 0,
+ 1141312.328 411234.917 0, 1141005.205 411226.609 0, 1140698.082 411218.318 0, 1140390.959 411210.046 0, 1140082.371 411201.753 0, 1139776.71 411193.556 0, 1139469.585 411185.338 0, 1139162.459 411177.138 0, 1138855.333 411168.957 0, 1138548.207 411160.793 0,
+ 1138241.08 411152.647 0, 1137933.952 411144.52 0, 1137626.824 411136.41 0, 1137319.696 411128.319 0, 1137012.567 411120.245 0, 1136705.437 411112.19 0, 1136398.307 411104.153 0, 1136091.177 411096.134 0, 1135784.046 411088.133 0, 1135476.915 411080.15 0,
+ 1135169.783 411072.185 0, 1134862.651 411064.238 0, 1134555.518 411056.31 0, 1134248.385 411048.399 0, 1133941.252 411040.506 0, 1133634.117 411032.632 0, 1133326.983 411024.776 0, 1133019.848 411016.937 0, 1132711.248 411009.08 0, 1132570.122 416558.193 0,
+ 1132428.984 422107.757 0, 1132736.928 422115.598 0, 1133043.41 422123.42 0, 1133349.891 422131.259 0, 1133656.372 422139.117 0, 1133962.853 422146.993 0, 1134269.333 422154.887 0, 1134575.812 422162.798 0, 1134882.291 422170.728 0, 1135188.77 422178.676 0,
+ 1135495.248 422186.642 0, 1135801.725 422194.626 0, 1136108.202 422202.628 0, 1136414.679 422210.648 0, 1136721.155 422218.686 0, 1137027.631 422226.743 0, 1137334.106 422234.817 0, 1137640.581 422242.909 0, 1137947.055 422251.019 0, 1138253.529 422259.148 0,
+ 1138560.002 422267.294 0, 1138866.475 422275.458 0, 1139172.947 422283.641 0, 1139479.419 422291.841 0, 1139784.43 422300.02 0, 1140092.361 422308.296 0, 1140398.832 422316.551 0, 1140705.302 422324.823 0, 1141011.771 422333.114 0, 1141318.24 422341.423 0,
+ 1141624.709 422349.749 0, 1141931.177 422358.094 0, 1142237.644 422366.457 0, 1142544.111 422374.838 0, 1142850.578 422383.237 0, 1143157.044 422391.654 0, 1143463.509 422400.089 0, 1143769.974 422408.542 0, 1144076.439 422417.013 0, 1144382.903 422425.502 0,
+ 1144689.366 422434.009 0, 1144995.829 422442.534 0, 1145302.292 422451.077 0, 1145608.754 422459.638 0, 1145915.215 422468.218 0, 1146221.676 422476.815 0, 1146528.137 422485.43 0, 1146834.597 422494.064 0, 1147139.597 422502.674 0, 1147296.412 416953.531 0,
+ 1147453.215 411404.838 0))
+
+POLYGON ((1161849.035 422939.149 0, 1161544.058 422929.677 0, 1161237.623 422920.178 0, 1160931.188 422910.697 0, 1160624.753 422901.234 0, 1160318.317 422891.789 0, 1160011.88 422882.362 0, 1159705.443 422872.953 0, 1159399.005 422863.562 0, 1159092.567 422854.189 0,
+ 1158786.128 422844.834 0, 1158479.689 422835.497 0, 1158173.249 422826.179 0, 1157866.809 422816.878 0, 1157560.368 422807.595 0, 1157253.926 422798.331 0, 1156947.484 422789.084 0, 1156641.041 422779.855 0, 1156334.598 422770.645 0, 1156028.155 422761.452 0,
+ 1155721.71 422752.278 0, 1155415.265 422743.121 0, 1155108.82 422733.983 0, 1154802.374 422724.863 0, 1154494.47 422715.717 0, 1154189.481 422706.676 0, 1153883.033 422697.61 0, 1153576.585 422688.561 0, 1153270.137 422679.531 0, 1152963.688 422670.519 0,
+ 1152657.238 422661.525 0, 1152350.788 422652.549 0, 1152044.337 422643.591 0, 1151737.886 422634.651 0, 1151431.435 422625.729 0, 1151124.982 422616.825 0, 1150818.53 422607.939 0, 1150512.076 422599.071 0, 1150205.622 422590.221 0, 1149899.168 422581.39 0,
+ 1149592.713 422572.576 0, 1149286.258 422563.78 0, 1148979.802 422555.002 0, 1148673.346 422546.243 0, 1148366.889 422537.501 0, 1148060.431 422528.778 0, 1147753.973 422520.072 0, 1147447.515 422511.385 0, 1147139.597 422502.674 0, 1146982.769 428052.264 0,
+ 1146825.928 433602.298 0, 1147133.19 433610.991 0, 1147438.995 433619.66 0, 1147744.8 433628.346 0, 1148050.604 433637.051 0, 1148356.408 433645.774 0, 1148662.211 433654.515 0, 1148968.013 433663.274 0, 1149273.815 433672.051 0, 1149579.617 433680.846 0,
+ 1149885.418 433689.659 0, 1150191.219 433698.49 0, 1150497.019 433707.339 0, 1150802.818 433716.206 0, 1151108.617 433725.091 0, 1151414.415 433733.994 0, 1151720.213 433742.915 0, 1152026.011 433751.854 0, 1152331.807 433760.811 0, 1152637.604 433769.786 0,
+ 1152943.4 433778.779 0, 1153249.195 433787.79 0, 1153554.99 433796.819 0, 1153860.784 433805.866 0, 1154165.123 433814.887 0, 1154472.371 433824.013 0, 1154778.163 433833.114 0, 1155083.955 433842.233 0, 1155389.747 433851.37 0, 1155695.538 433860.525 0,
+ 1156001.328 433869.698 0, 1156307.118 433878.889 0, 1156612.907 433888.098 0, 1156918.696 433897.325 0, 1157224.485 433906.57 0, 1157530.272 433915.833 0, 1157836.059 433925.114 0, 1158141.846 433934.413 0, 1158447.632 433943.729 0, 1158753.418 433953.064 0,
+ 1159059.203 433962.417 0, 1159364.987 433971.788 0, 1159670.771 433981.177 0, 1159976.554 433990.584 0, 1160282.337 434000.009 0, 1160588.119 434009.452 0, 1160893.901 434018.913 0, 1161199.682 434028.392 0, 1161504.009 434037.843 0, 1161676.529 428488.274 0,
+ 1161849.035 422939.149 0))
+
+POLYGON ((1176180.801 434514.855 0, 1175876.499 434504.543 0, 1175570.746 434494.2 0, 1175264.993 434483.876 0, 1174959.238 434473.569 0, 1174653.483 434463.28 0, 1174347.728 434453.009 0, 1174041.972 434442.757 0, 1173736.215 434432.522 0, 1173430.458 434422.305 0,
+ 1173124.7 434412.106 0, 1172818.941 434401.926 0, 1172513.182 434391.763 0, 1172207.422 434381.618 0, 1171901.662 434371.491 0, 1171595.901 434361.382 0, 1171290.139 434351.292 0, 1170984.377 434341.219 0, 1170678.615 434331.164 0, 1170372.851 434321.127 0,
+ 1170067.087 434311.108 0, 1169761.323 434301.108 0, 1169455.558 434291.125 0, 1169149.792 434281.16 0, 1168842.573 434271.166 0, 1168538.259 434261.284 0, 1168232.492 434251.373 0, 1167926.724 434241.481 0, 1167620.955 434231.606 0, 1167315.186 434221.749 0,
+ 1167009.416 434211.91 0, 1166703.646 434202.089 0, 1166397.875 434192.286 0, 1166092.103 434182.502 0, 1165786.331 434172.735 0, 1165480.559 434162.986 0, 1165174.786 434153.255 0, 1164869.012 434143.542 0, 1164563.237 434133.847 0, 1164257.462 434124.17 0,
+ 1163951.687 434114.512 0, 1163645.911 434104.871 0, 1163340.134 434095.248 0, 1163034.357 434085.643 0, 1162728.579 434076.056 0, 1162422.801 434066.487 0, 1162117.022 434056.936 0, 1161811.243 434047.403 0, 1161504.009 434037.843 0, 1161331.476 439587.854 0,
+ 1161158.929 445138.303 0, 1161465.506 445147.842 0, 1161770.632 445157.355 0, 1162075.757 445166.885 0, 1162380.882 445176.434 0, 1162686.007 445186 0, 1162991.131 445195.584 0, 1163296.254 445205.187 0, 1163601.377 445214.807 0, 1163906.499 445224.445 0,
+ 1164211.62 445234.101 0, 1164516.741 445243.776 0, 1164821.862 445253.468 0, 1165126.982 445263.178 0, 1165432.101 445272.906 0, 1165737.22 445282.652 0, 1166042.338 445292.416 0, 1166347.455 445302.198 0, 1166652.572 445311.997 0, 1166957.689 445321.815 0,
+ 1167262.805 445331.651 0, 1167567.92 445341.505 0, 1167873.035 445351.376 0, 1168178.149 445361.266 0, 1168481.813 445371.127 0, 1168788.375 445381.099 0, 1169093.487 445391.043 0, 1169398.599 445401.004 0, 1169703.71 445410.984 0, 1170008.821 445420.981 0,
+ 1170313.931 445430.997 0, 1170619.04 445441.03 0, 1170924.149 445451.081 0, 1171229.257 445461.15 0, 1171534.365 445471.238 0, 1171839.472 445481.343 0, 1172144.579 445491.466 0, 1172449.684 445501.607 0, 1172754.79 445511.766 0, 1173059.894 445521.943 0,
+ 1173364.998 445532.138 0, 1173670.102 445542.351 0, 1173975.205 445552.582 0, 1174280.307 445562.83 0, 1174585.408 445573.097 0, 1174890.51 445583.382 0, 1175195.61 445593.685 0, 1175500.71 445604.005 0, 1175804.361 445614.295 0, 1175992.588 440064.356 0,
+ 1176180.801 434514.855 0))
+
+POLYGON ((1190448.39 446131.661 0, 1190144.767 446120.514 0, 1189839.697 446109.331 0, 1189534.627 446098.166 0, 1189229.556 446087.02 0, 1188924.485 446075.891 0, 1188619.413 446064.78 0, 1188314.34 446053.688 0, 1188009.267 446042.613 0, 1187704.193 446031.556 0,
+ 1187399.118 446020.517 0, 1187094.043 446009.496 0, 1186788.967 445998.493 0, 1186483.89 445987.508 0, 1186178.813 445976.541 0, 1185873.735 445965.592 0, 1185568.656 445954.66 0, 1185263.577 445943.747 0, 1184958.497 445932.852 0, 1184653.417 445921.975 0,
+ 1184348.336 445911.115 0, 1184043.254 445900.274 0, 1183738.172 445889.45 0, 1183433.089 445878.645 0, 1183126.558 445867.806 0, 1182822.921 445857.088 0, 1182517.836 445846.336 0, 1182212.75 445835.603 0, 1181907.664 445824.887 0, 1181602.577 445814.189 0,
+ 1181297.49 445803.509 0, 1180992.402 445792.848 0, 1180687.313 445782.204 0, 1180382.224 445771.578 0, 1180077.134 445760.97 0, 1179772.043 445750.38 0, 1179466.952 445739.808 0, 1179161.86 445729.254 0, 1178856.767 445718.718 0, 1178551.674 445708.199 0,
+ 1178246.581 445697.699 0, 1177941.486 445687.217 0, 1177636.391 445676.753 0, 1177331.296 445666.306 0, 1177026.2 445655.878 0, 1176721.103 445645.467 0, 1176416.006 445635.075 0, 1176110.908 445624.7 0, 1175804.361 445614.295 0, 1175616.119 451164.669 0,
+ 1175427.862 456715.476 0, 1175733.752 456725.859 0, 1176038.197 456736.212 0, 1176342.641 456746.582 0, 1176647.084 456756.97 0, 1176951.527 456767.376 0, 1177255.969 456777.8 0, 1177560.411 456788.242 0, 1177864.852 456798.702 0, 1178169.292 456809.18 0,
+ 1178473.732 456819.675 0, 1178778.171 456830.189 0, 1179082.609 456840.72 0, 1179387.047 456851.27 0, 1179691.484 456861.837 0, 1179995.921 456872.422 0, 1180300.357 456883.025 0, 1180604.792 456893.646 0, 1180909.227 456904.285 0, 1181213.661 456914.942 0,
+ 1181518.094 456925.617 0, 1181822.527 456936.31 0, 1182126.959 456947.021 0, 1182431.391 456957.749 0, 1182734.378 456968.445 0, 1183040.252 456979.26 0, 1183344.682 456990.043 0, 1183649.111 457000.843 0, 1183953.539 457011.661 0, 1184257.967 457022.497 0,
+ 1184562.394 457033.351 0, 1184866.821 457044.223 0, 1185171.247 457055.113 0, 1185475.672 457066.021 0, 1185780.096 457076.946 0, 1186084.52 457087.89 0, 1186388.943 457098.851 0, 1186693.366 457109.831 0, 1186997.788 457120.828 0, 1187302.209 457131.844 0,
+ 1187606.63 457142.877 0, 1187911.05 457153.928 0, 1188215.47 457164.997 0, 1188519.888 457176.084 0, 1188824.306 457187.189 0, 1189128.724 457198.311 0, 1189433.141 457209.452 0, 1189737.557 457220.611 0, 1190040.53 457231.734 0, 1190244.468 451681.481 0,
+ 1190448.39 446131.661 0))
+
+POLYGON ((1204651.681 457789.274 0, 1204348.738 457777.294 0, 1204044.354 457765.276 0, 1203739.97 457753.275 0, 1203435.586 457741.292 0, 1203131.2 457729.328 0, 1202826.814 457717.381 0, 1202522.427 457705.452 0, 1202218.039 457693.54 0, 1201913.651 457681.647 0,
+ 1201609.262 457669.772 0, 1201304.872 457657.915 0, 1201000.482 457646.075 0, 1200696.091 457634.254 0, 1200391.699 457622.45 0, 1200087.307 457610.664 0, 1199782.913 457598.897 0, 1199478.52 457587.147 0, 1199174.125 457575.415 0, 1198869.73 457563.701 0,
+ 1198565.334 457552.005 0, 1198260.937 457540.326 0, 1197956.54 457528.666 0, 1197652.142 457517.024 0, 1197346.302 457505.344 0, 1197043.344 457493.793 0, 1196738.944 457482.204 0, 1196434.543 457470.633 0, 1196130.142 457459.081 0, 1195825.74 457447.546 0,
+ 1195521.337 457436.029 0, 1195216.933 457424.53 0, 1194912.529 457413.049 0, 1194608.124 457401.585 0, 1194303.719 457390.14 0, 1193999.313 457378.713 0, 1193694.906 457367.303 0, 1193390.498 457355.912 0, 1193086.09 457344.538 0, 1192781.682 457333.182 0,
+ 1192477.272 457321.845 0, 1192172.862 457310.525 0, 1191868.451 457299.223 0, 1191564.04 457287.939 0, 1191259.627 457276.673 0, 1190955.215 457265.424 0, 1190650.801 457254.194 0, 1190346.387 457242.982 0, 1190040.53 457231.734 0, 1189836.576 462782.416 0,
+ 1189632.606 468333.525 0, 1189937.807 468344.748 0, 1190241.568 468355.937 0, 1190545.328 468367.143 0, 1190849.087 468378.367 0, 1191152.846 468389.609 0, 1191456.604 468400.869 0, 1191760.361 468412.146 0, 1192064.118 468423.442 0, 1192367.874 468434.755 0,
+ 1192671.63 468446.087 0, 1192975.384 468457.436 0, 1193279.138 468468.803 0, 1193582.892 468480.188 0, 1193886.645 468491.591 0, 1194190.397 468503.011 0, 1194494.148 468514.45 0, 1194797.899 468525.907 0, 1195101.649 468537.381 0, 1195405.398 468548.873 0,
+ 1195709.147 468560.383 0, 1196012.895 468571.911 0, 1196316.642 468583.457 0, 1196620.389 468595.021 0, 1196922.697 468606.548 0, 1197227.88 468618.202 0, 1197531.625 468629.819 0, 1197835.369 468641.455 0, 1198139.112 468653.108 0, 1198442.854 468664.779 0,
+ 1198746.596 468676.468 0, 1199050.337 468688.174 0, 1199354.078 468699.899 0, 1199657.818 468711.642 0, 1199961.557 468723.402 0, 1200265.295 468735.18 0, 1200569.033 468746.976 0, 1200872.77 468758.79 0, 1201176.506 468770.622 0, 1201480.242 468782.472 0,
+ 1201783.977 468794.34 0, 1202087.711 468806.225 0, 1202391.445 468818.129 0, 1202695.177 468830.05 0, 1202998.91 468841.989 0, 1203302.641 468853.946 0, 1203606.372 468865.921 0, 1203910.102 468877.914 0, 1204212.394 468889.868 0, 1204432.046 463339.358 0,
+ 1204651.681 457789.274 0))
+
+POLYGON ((1218790.552 469487.399 0, 1218488.292 469474.591 0, 1218184.597 469461.74 0, 1217880.902 469448.907 0, 1217577.205 469436.092 0, 1217273.508 469423.295 0, 1216969.81 469410.516 0, 1216666.112 469397.754 0, 1216362.412 469385.011 0, 1216058.712 469372.285 0,
+ 1215755.011 469359.577 0, 1215451.309 469346.887 0, 1215147.607 469334.215 0, 1214843.904 469321.561 0, 1214540.2 469308.924 0, 1214236.495 469296.306 0, 1213932.79 469283.705 0, 1213629.084 469271.123 0, 1213325.377 469258.558 0, 1213021.669 469246.011 0,
+ 1212717.961 469233.482 0, 1212414.252 469220.97 0, 1212110.542 469208.477 0, 1211806.831 469196.002 0, 1211501.684 469183.485 0, 1211199.408 469171.104 0, 1210895.695 469158.682 0, 1210591.981 469146.279 0, 1210288.267 469133.892 0, 1209984.552 469121.524 0,
+ 1209680.837 469109.174 0, 1209377.12 469096.841 0, 1209073.403 469084.527 0, 1208769.685 469072.23 0, 1208465.967 469059.951 0, 1208162.247 469047.69 0, 1207858.527 469035.447 0, 1207554.807 469023.222 0, 1207251.085 469011.015 0, 1206947.363 468998.825 0,
+ 1206643.64 468986.654 0, 1206339.916 468974.5 0, 1206036.192 468962.364 0, 1205732.467 468950.246 0, 1205428.741 468938.146 0, 1205125.015 468926.064 0, 1204821.288 468914 0, 1204517.56 468901.953 0, 1204212.394 468889.868 0, 1203992.726 474440.801 0,
+ 1203773.041 479992.155 0, 1204077.55 480004.214 0, 1204380.624 480016.235 0, 1204683.698 480028.273 0, 1204986.771 480040.329 0, 1205289.843 480052.403 0, 1205592.915 480064.495 0, 1205895.986 480076.605 0, 1206199.056 480088.732 0, 1206502.125 480100.878 0,
+ 1206805.194 480113.041 0, 1207108.262 480125.222 0, 1207411.329 480137.421 0, 1207714.396 480149.638 0, 1208017.462 480161.872 0, 1208320.527 480174.125 0, 1208623.591 480186.395 0, 1208926.655 480198.683 0, 1209229.718 480210.989 0, 1209532.78 480223.313 0,
+ 1209835.842 480235.654 0, 1210138.903 480248.014 0, 1210441.963 480260.391 0, 1210745.022 480272.786 0, 1211046.648 480285.14 0, 1211351.139 480297.63 0, 1211654.196 480310.079 0, 1211957.252 480322.545 0, 1212260.308 480335.029 0, 1212563.363 480347.531 0,
+ 1212866.417 480360.051 0, 1213169.471 480372.589 0, 1213472.523 480385.145 0, 1213775.575 480397.718 0, 1214078.627 480410.31 0, 1214381.677 480422.919 0, 1214684.727 480435.546 0, 1214987.776 480448.191 0, 1215290.824 480460.853 0, 1215593.872 480473.534 0,
+ 1215896.919 480486.232 0, 1216199.965 480498.948 0, 1216503.01 480511.682 0, 1216806.054 480524.434 0, 1217109.098 480537.204 0, 1217412.141 480549.992 0, 1217715.184 480562.797 0, 1218018.225 480575.62 0, 1218319.835 480588.4 0, 1218555.202 475037.69 0,
+ 1218790.552 469487.399 0))
+
+POLYGON ((1232864.886 481225.741 0, 1232563.311 481212.109 0, 1232260.307 481198.429 0, 1231957.302 481184.768 0, 1231654.297 481171.124 0, 1231351.29 481157.498 0, 1231048.283 481143.89 0, 1230745.275 481130.3 0, 1230442.266 481116.728 0, 1230139.256 481103.173 0,
+ 1229836.245 481089.637 0, 1229533.234 481076.118 0, 1229230.222 481062.617 0, 1228927.209 481049.134 0, 1228624.196 481035.669 0, 1228321.181 481022.221 0, 1228018.166 481008.792 0, 1227715.15 480995.38 0, 1227412.133 480981.986 0, 1227109.115 480968.61 0,
+ 1226806.097 480955.252 0, 1226503.078 480941.911 0, 1226200.058 480928.589 0, 1225897.037 480915.284 0, 1225592.585 480901.934 0, 1225290.993 480888.728 0, 1224987.97 480875.476 0, 1224684.946 480862.243 0, 1224381.921 480849.027 0, 1224078.896 480835.83 0,
+ 1223775.87 480822.65 0, 1223472.843 480809.488 0, 1223169.815 480796.343 0, 1222866.786 480783.217 0, 1222563.757 480770.108 0, 1222260.727 480757.018 0, 1221957.696 480743.945 0, 1221654.664 480730.89 0, 1221351.632 480717.852 0, 1221048.599 480704.833 0,
+ 1220745.565 480691.832 0, 1220442.53 480678.848 0, 1220139.495 480665.882 0, 1219836.458 480652.934 0, 1219533.421 480640.004 0, 1219230.384 480627.091 0, 1218927.345 480614.197 0, 1218624.306 480601.32 0, 1218319.835 480588.4 0, 1218084.449 486139.528 0,
+ 1217849.046 491691.071 0, 1218152.861 491703.962 0, 1218455.247 491716.811 0, 1218757.632 491729.678 0, 1219060.016 491742.563 0, 1219362.4 491755.465 0, 1219664.782 491768.385 0, 1219967.164 491781.323 0, 1220269.546 491794.279 0, 1220571.926 491807.252 0,
+ 1220874.306 491820.244 0, 1221176.685 491833.253 0, 1221479.063 491846.28 0, 1221781.44 491859.324 0, 1222083.817 491872.387 0, 1222386.193 491885.467 0, 1222688.568 491898.565 0, 1222990.942 491911.681 0, 1223293.316 491924.815 0, 1223595.689 491937.966 0,
+ 1223898.061 491951.136 0, 1224200.432 491964.323 0, 1224502.802 491977.528 0, 1224805.172 491990.75 0, 1225106.114 492003.928 0, 1225409.909 492017.249 0, 1225712.276 492030.525 0, 1226014.643 492043.819 0, 1226317.009 492057.131 0, 1226619.374 492070.46 0,
+ 1226921.738 492083.807 0, 1227224.101 492097.172 0, 1227526.464 492110.555 0, 1227828.826 492123.956 0, 1228131.187 492137.374 0, 1228433.547 492150.811 0, 1228735.906 492164.265 0, 1229038.265 492177.737 0, 1229340.623 492191.226 0, 1229642.98 492204.734 0,
+ 1229945.336 492218.259 0, 1230247.692 492231.802 0, 1230550.047 492245.363 0, 1230852.4 492258.941 0, 1231154.754 492272.538 0, 1231457.106 492286.152 0, 1231759.457 492299.784 0, 1232061.808 492313.434 0, 1232362.732 492327.037 0, 1232613.818 486776.182 0,
+ 1232864.886 481225.741 0))
+
+POLYGON ((1246874.564 493004.004 0, 1246573.677 492989.551 0, 1246271.366 492975.047 0, 1245969.054 492960.561 0, 1245666.741 492946.093 0, 1245364.428 492931.642 0, 1245062.114 492917.209 0, 1244759.798 492902.794 0, 1244457.482 492888.397 0, 1244155.165 492874.018 0,
+ 1243852.848 492859.656 0, 1243550.529 492845.312 0, 1243248.21 492830.986 0, 1242945.89 492816.678 0, 1242643.568 492802.388 0, 1242341.247 492788.115 0, 1242038.924 492773.86 0, 1241736.6 492759.623 0, 1241434.276 492745.404 0, 1241131.95 492731.202 0,
+ 1240829.624 492717.019 0, 1240527.297 492702.853 0, 1240224.97 492688.705 0, 1239922.641 492674.575 0, 1239618.887 492660.396 0, 1239317.981 492646.368 0, 1239015.65 492632.291 0, 1238713.318 492618.232 0, 1238410.985 492604.19 0, 1238108.652 492590.167 0,
+ 1237806.317 492576.161 0, 1237503.982 492562.173 0, 1237201.646 492548.203 0, 1236899.309 492534.251 0, 1236596.971 492520.316 0, 1236294.633 492506.399 0, 1235992.294 492492.5 0, 1235689.953 492478.619 0, 1235387.612 492464.756 0, 1235085.271 492450.91 0,
+ 1234782.928 492437.083 0, 1234480.585 492423.273 0, 1234178.24 492409.481 0, 1233875.895 492395.706 0, 1233573.549 492381.95 0, 1233271.203 492368.211 0, 1232968.855 492354.49 0, 1232666.507 492340.787 0, 1232362.732 492327.037 0, 1232111.627 497878.303 0,
+ 1231860.504 503429.977 0, 1232163.623 503443.697 0, 1232465.317 503457.371 0, 1232767.011 503471.062 0, 1233068.705 503484.771 0, 1233370.397 503498.498 0, 1233672.088 503512.242 0, 1233973.779 503526.005 0, 1234275.469 503539.785 0, 1234577.158 503553.583 0,
+ 1234878.847 503567.398 0, 1235180.534 503581.232 0, 1235482.221 503595.083 0, 1235783.907 503608.952 0, 1236085.592 503622.839 0, 1236387.276 503636.743 0, 1236688.959 503650.665 0, 1236990.642 503664.605 0, 1237292.324 503678.563 0, 1237594.005 503692.538 0,
+ 1237895.685 503706.531 0, 1238197.364 503720.542 0, 1238499.043 503734.571 0, 1238800.72 503748.617 0, 1239100.976 503762.615 0, 1239404.073 503776.764 0, 1239705.748 503790.863 0, 1240007.423 503804.981 0, 1240309.096 503819.116 0, 1240610.769 503833.269 0,
+ 1240912.441 503847.44 0, 1241214.112 503861.628 0, 1241515.782 503875.835 0, 1241817.451 503890.059 0, 1242119.12 503904.3 0, 1242420.787 503918.56 0, 1242722.454 503932.837 0, 1243024.12 503947.132 0, 1243325.785 503961.445 0, 1243627.449 503975.776 0,
+ 1243929.113 503990.124 0, 1244230.776 504004.49 0, 1244532.437 504018.874 0, 1244834.098 504033.275 0, 1245135.758 504047.695 0, 1245437.417 504062.132 0, 1245739.076 504076.587 0, 1246040.733 504091.059 0, 1246340.97 504105.481 0, 1246607.777 498554.539 0,
+ 1246874.564 493004.004 0))
+
+POLYGON ((1260819.469 504821.893 0, 1260519.272 504806.622 0, 1260217.657 504791.298 0, 1259916.041 504775.991 0, 1259614.423 504760.701 0, 1259312.805 504745.43 0, 1259011.186 504730.176 0, 1258709.566 504714.94 0, 1258407.945 504699.722 0, 1258106.324 504684.521 0,
+ 1257804.701 504669.339 0, 1257503.078 504654.174 0, 1257201.453 504639.026 0, 1256899.828 504623.897 0, 1256598.202 504608.785 0, 1256296.575 504593.691 0, 1255994.947 504578.615 0, 1255693.318 504563.556 0, 1255391.688 504548.516 0, 1255090.058 504533.493 0,
+ 1254788.426 504518.487 0, 1254486.794 504503.5 0, 1254185.161 504488.53 0, 1253883.526 504473.578 0, 1253580.473 504458.574 0, 1253280.256 504443.728 0, 1252978.619 504428.829 0, 1252676.981 504413.948 0, 1252375.343 504399.085 0, 1252073.703 504384.239 0,
+ 1251772.063 504369.412 0, 1251470.422 504354.602 0, 1251168.78 504339.81 0, 1250867.137 504325.035 0, 1250565.493 504310.279 0, 1250263.849 504295.54 0, 1249962.203 504280.818 0, 1249660.557 504266.115 0, 1249358.91 504251.429 0, 1249057.261 504236.762 0,
+ 1248755.612 504222.111 0, 1248453.963 504207.479 0, 1248152.312 504192.864 0, 1247850.66 504178.268 0, 1247549.008 504163.688 0, 1247247.355 504149.127 0, 1246945.701 504134.583 0, 1246644.046 504120.058 0, 1246340.97 504105.481 0, 1246074.144 509656.829 0,
+ 1245807.298 515208.578 0, 1246109.718 515223.123 0, 1246410.719 515237.617 0, 1246711.72 515252.129 0, 1247012.719 515266.659 0, 1247313.718 515281.206 0, 1247614.716 515295.772 0, 1247915.714 515310.355 0, 1248216.71 515324.955 0, 1248517.705 515339.574 0,
+ 1248818.7 515354.21 0, 1249119.694 515368.864 0, 1249420.687 515383.535 0, 1249721.679 515398.224 0, 1250022.67 515412.931 0, 1250323.66 515427.656 0, 1250624.649 515442.399 0, 1250925.638 515457.159 0, 1251226.626 515471.937 0, 1251527.612 515486.732 0,
+ 1251828.598 515501.545 0, 1252129.583 515516.376 0, 1252430.567 515531.225 0, 1252731.551 515546.091 0, 1253031.117 515560.906 0, 1253333.515 515575.877 0, 1253634.495 515590.797 0, 1253935.475 515605.734 0, 1254236.454 515620.689 0, 1254537.432 515635.662 0,
+ 1254838.409 515650.652 0, 1255139.386 515665.661 0, 1255440.361 515680.686 0, 1255741.335 515695.73 0, 1256042.309 515710.791 0, 1256343.282 515725.87 0, 1256644.254 515740.967 0, 1256945.225 515756.081 0, 1257246.195 515771.214 0, 1257547.164 515786.363 0,
+ 1257848.132 515801.531 0, 1258149.099 515816.716 0, 1258450.066 515831.919 0, 1258751.032 515847.14 0, 1259051.996 515862.378 0, 1259352.96 515877.635 0, 1259653.923 515892.908 0, 1259954.885 515908.2 0, 1260254.432 515923.437 0, 1260536.961 510372.464 0,
+ 1260819.469 504821.893 0))
+
+POLYGON ((1274699.487 516679.11 0, 1274399.983 516663.026 0, 1274099.065 516646.884 0, 1273798.147 516630.76 0, 1273497.227 516614.654 0, 1273196.307 516598.565 0, 1272895.385 516582.494 0, 1272594.463 516566.441 0, 1272293.54 516550.406 0, 1271992.616 516534.388 0,
+ 1271691.69 516518.388 0, 1271390.764 516502.405 0, 1271089.837 516486.441 0, 1270788.909 516470.494 0, 1270487.98 516454.564 0, 1270187.05 516438.653 0, 1269886.12 516422.759 0, 1269585.188 516406.883 0, 1269284.255 516391.025 0, 1268983.322 516375.184 0,
+ 1268682.387 516359.361 0, 1268381.452 516343.556 0, 1268080.515 516327.768 0, 1267779.578 516311.998 0, 1267477.226 516296.172 0, 1267177.7 516280.512 0, 1266876.76 516264.795 0, 1266575.819 516249.096 0, 1266274.877 516233.415 0, 1265973.935 516217.751 0,
+ 1265672.991 516202.105 0, 1265372.046 516186.477 0, 1265071.1 516170.867 0, 1264770.154 516155.274 0, 1264469.206 516139.699 0, 1264168.258 516124.142 0, 1263867.309 516108.602 0, 1263566.358 516093.081 0, 1263265.407 516077.576 0, 1262964.455 516062.09 0,
+ 1262663.502 516046.621 0, 1262362.548 516031.17 0, 1262061.594 516015.737 0, 1261760.638 516000.321 0, 1261459.681 515984.924 0, 1261158.724 515969.543 0, 1260857.766 515954.181 0, 1260556.806 515938.836 0, 1260254.432 515923.437 0, 1259971.882 521474.809 0,
+ 1259689.313 527026.577 0, 1259991.031 527041.942 0, 1260291.337 527057.254 0, 1260591.642 527072.583 0, 1260891.946 527087.93 0, 1261192.249 527103.294 0, 1261492.551 527118.676 0, 1261792.852 527134.076 0, 1262093.152 527149.493 0, 1262393.452 527164.928 0,
+ 1262693.75 527180.381 0, 1262994.048 527195.852 0, 1263294.345 527211.34 0, 1263594.641 527226.846 0, 1263894.936 527242.369 0, 1264195.23 527257.91 0, 1264495.523 527273.469 0, 1264795.815 527289.046 0, 1265096.106 527304.64 0, 1265396.396 527320.252 0,
+ 1265696.686 527335.881 0, 1265996.974 527351.528 0, 1266297.262 527367.193 0, 1266597.548 527382.876 0, 1266896.424 527398.502 0, 1267198.119 527414.294 0, 1267498.403 527430.03 0, 1267798.686 527445.783 0, 1268098.968 527461.554 0, 1268399.249 527477.342 0,
+ 1268699.529 527493.149 0, 1268999.808 527508.973 0, 1269300.086 527524.814 0, 1269600.364 527540.674 0, 1269900.64 527556.551 0, 1270200.916 527572.445 0, 1270501.19 527588.358 0, 1270801.464 527604.288 0, 1271101.737 527620.235 0, 1271402.008 527636.201 0,
+ 1271702.279 527652.184 0, 1272002.549 527668.184 0, 1272302.818 527684.203 0, 1272603.086 527700.239 0, 1272903.353 527716.292 0, 1273203.619 527732.364 0, 1273503.884 527748.453 0, 1273804.148 527764.56 0, 1274103.002 527780.608 0, 1274401.256 522229.661 0,
+ 1274699.487 516679.11 0))
+
+POLYGON ((1288514.504 528575.358 0, 1288215.694 528558.465 0, 1287915.477 528541.51 0, 1287615.258 528524.573 0, 1287315.039 528507.653 0, 1287014.819 528490.751 0, 1286714.597 528473.867 0, 1286414.375 528457 0, 1286114.151 528440.151 0, 1285813.927 528423.32 0,
+ 1285513.701 528406.506 0, 1285213.475 528389.711 0, 1284913.247 528372.932 0, 1284613.019 528356.172 0, 1284312.79 528339.429 0, 1284012.559 528322.704 0, 1283712.328 528305.996 0, 1283412.096 528289.306 0, 1283111.862 528272.634 0, 1282811.628 528255.979 0,
+ 1282511.393 528239.342 0, 1282211.156 528222.723 0, 1281910.919 528206.122 0, 1281610.681 528189.538 0, 1281309.034 528172.894 0, 1281010.202 528156.423 0, 1280709.961 528139.892 0, 1280409.718 528123.379 0, 1280109.475 528106.883 0, 1279809.231 528090.405 0,
+ 1279508.986 528073.945 0, 1279208.74 528057.503 0, 1278908.493 528041.078 0, 1278608.245 528024.671 0, 1278307.997 528008.281 0, 1278007.747 527991.909 0, 1277707.496 527975.555 0, 1277407.244 527959.219 0, 1277106.991 527942.9 0, 1276806.738 527926.599 0,
+ 1276506.483 527910.315 0, 1276206.227 527894.05 0, 1275905.971 527877.802 0, 1275605.713 527861.571 0, 1275305.455 527845.358 0, 1275005.195 527829.163 0, 1274704.935 527812.986 0, 1274404.674 527796.826 0, 1274103.002 527780.608 0, 1273804.728 533331.948 0,
+ 1273506.433 538883.677 0, 1273807.448 538899.859 0, 1274107.056 538915.984 0, 1274406.663 538932.126 0, 1274706.268 538948.286 0, 1275005.873 538964.463 0, 1275305.477 538980.659 0, 1275605.081 538996.871 0, 1275904.683 539013.102 0, 1276204.284 539029.35 0,
+ 1276503.884 539045.615 0, 1276803.483 539061.899 0, 1277103.082 539078.2 0, 1277402.679 539094.518 0, 1277702.275 539110.854 0, 1278001.871 539127.208 0, 1278301.465 539143.58 0, 1278601.059 539159.969 0, 1278900.651 539176.375 0, 1279200.243 539192.8 0,
+ 1279499.833 539209.242 0, 1279799.423 539225.701 0, 1280099.012 539242.179 0, 1280398.599 539258.674 0, 1280696.781 539275.109 0, 1280997.772 539291.716 0, 1281297.356 539308.264 0, 1281596.94 539324.829 0, 1281896.523 539341.412 0, 1282196.105 539358.013 0,
+ 1282495.686 539374.631 0, 1282795.266 539391.267 0, 1283094.844 539407.921 0, 1283394.422 539424.592 0, 1283693.999 539441.281 0, 1283993.575 539457.988 0, 1284293.15 539474.712 0, 1284592.724 539491.453 0, 1284892.297 539508.213 0, 1285191.869 539524.99 0,
+ 1285491.44 539541.784 0, 1285791.01 539558.597 0, 1286090.579 539575.427 0, 1286390.147 539592.274 0, 1286689.714 539609.139 0, 1286989.281 539626.022 0, 1287288.846 539642.923 0, 1287588.41 539659.841 0, 1287886.569 539676.697 0, 1288200.548 534125.833 0,
+ 1288514.504 528575.358 0))
+
+POLYGON ((1302264.408 540510.34 0, 1301966.295 540492.642 0, 1301666.779 540474.877 0, 1301367.263 540457.131 0, 1301067.746 540439.402 0, 1300768.228 540421.69 0, 1300468.709 540403.996 0, 1300169.188 540386.32 0, 1299869.667 540368.662 0, 1299570.145 540351.021 0,
+ 1299270.621 540333.397 0, 1298971.097 540315.792 0, 1298671.571 540298.204 0, 1298372.045 540280.633 0, 1298072.517 540263.081 0, 1297772.989 540245.545 0, 1297473.459 540228.028 0, 1297173.928 540210.528 0, 1296874.397 540193.046 0, 1296574.864 540175.581 0,
+ 1296275.33 540158.134 0, 1295975.796 540140.705 0, 1295676.26 540123.293 0, 1295376.723 540105.899 0, 1295075.783 540088.441 0, 1294777.646 540071.164 0, 1294478.106 540053.822 0, 1294178.565 540036.499 0, 1293879.024 540019.193 0, 1293579.481 540001.905 0,
+ 1293279.937 539984.634 0, 1292980.392 539967.381 0, 1292680.846 539950.145 0, 1292381.299 539932.928 0, 1292081.751 539915.727 0, 1291782.202 539898.545 0, 1291482.652 539881.38 0, 1291183.101 539864.233 0, 1290883.549 539847.103 0, 1290583.995 539829.991 0,
+ 1290284.441 539812.897 0, 1289984.886 539795.82 0, 1289685.33 539778.761 0, 1289385.773 539761.719 0, 1289086.215 539744.695 0, 1288786.656 539727.689 0, 1288487.096 539710.701 0, 1288187.535 539693.73 0, 1287886.569 539676.697 0, 1287572.569 545227.947 0,
+ 1287258.547 550779.581 0, 1287558.856 550796.576 0, 1287857.763 550813.51 0, 1288156.67 550830.462 0, 1288455.576 550847.431 0, 1288754.48 550864.418 0, 1289053.384 550881.422 0, 1289352.286 550898.444 0, 1289651.188 550915.483 0, 1289950.089 550932.54 0,
+ 1290248.988 550949.615 0, 1290547.887 550966.707 0, 1290846.784 550983.817 0, 1291145.681 551000.945 0, 1291444.576 551018.09 0, 1291743.471 551035.252 0, 1292042.364 551052.433 0, 1292341.257 551069.63 0, 1292640.149 551086.846 0, 1292939.039 551104.079 0,
+ 1293237.928 551121.329 0, 1293536.817 551138.598 0, 1293835.704 551155.883 0, 1294134.591 551173.187 0, 1294432.077 551190.427 0, 1294732.361 551207.846 0, 1295031.244 551225.203 0, 1295330.126 551242.576 0, 1295629.008 551259.968 0, 1295927.888 551277.377 0,
+ 1296226.767 551294.803 0, 1296525.646 551312.247 0, 1296824.523 551329.709 0, 1297123.399 551347.188 0, 1297422.274 551364.685 0, 1297721.148 551382.2 0, 1298020.021 551399.732 0, 1298318.893 551417.281 0, 1298617.765 551434.849 0, 1298916.635 551452.433 0,
+ 1299215.503 551470.036 0, 1299514.371 551487.656 0, 1299813.238 551505.293 0, 1300112.104 551522.949 0, 1300410.969 551540.621 0, 1300709.833 551558.312 0, 1301008.696 551576.02 0, 1301307.557 551593.745 0, 1301605.02 551611.406 0, 1301934.725 546060.681 0,
+ 1302264.408 540510.34 0))
+
+POLYGON ((1315949.086 552483.758 0, 1315651.672 552465.258 0, 1315352.862 552446.688 0, 1315054.05 552428.136 0, 1314755.237 552409.601 0, 1314456.424 552391.084 0, 1314157.609 552372.585 0, 1313858.793 552354.103 0, 1313559.976 552335.638 0, 1313261.158 552317.192 0,
+ 1312962.339 552298.763 0, 1312663.519 552280.351 0, 1312364.697 552261.957 0, 1312065.875 552243.581 0, 1311767.052 552225.222 0, 1311468.227 552206.881 0, 1311169.401 552188.557 0, 1310870.575 552170.251 0, 1310571.747 552151.963 0, 1310272.918 552133.692 0,
+ 1309974.088 552115.438 0, 1309675.257 552097.203 0, 1309376.425 552078.985 0, 1309077.592 552060.784 0, 1308777.361 552042.516 0, 1308479.922 552024.436 0, 1308181.086 552006.288 0, 1307882.249 551988.158 0, 1307583.41 551970.046 0, 1307284.571 551951.951 0,
+ 1306985.73 551933.873 0, 1306686.888 551915.814 0, 1306388.045 551897.771 0, 1306089.202 551879.747 0, 1305790.357 551861.74 0, 1305491.511 551843.75 0, 1305192.664 551825.779 0, 1304893.816 551807.824 0, 1304594.967 551789.888 0, 1304296.117 551771.969 0,
+ 1303997.265 551754.067 0, 1303698.413 551736.183 0, 1303399.56 551718.317 0, 1303100.705 551700.468 0, 1302801.85 551682.637 0, 1302502.994 551664.824 0, 1302204.136 551647.028 0, 1301905.277 551629.249 0, 1301605.02 551611.406 0, 1301275.292 557162.51 0,
+ 1300945.542 562713.99 0, 1301245.143 562731.795 0, 1301543.348 562749.535 0, 1301841.552 562767.292 0, 1302139.755 562785.066 0, 1302437.957 562802.858 0, 1302736.158 562820.668 0, 1303034.358 562838.495 0, 1303332.557 562856.34 0, 1303630.754 562874.202 0,
+ 1303928.951 562892.082 0, 1304227.147 562909.98 0, 1304525.341 562927.895 0, 1304823.535 562945.827 0, 1305121.727 562963.777 0, 1305419.919 562981.745 0, 1305718.109 562999.73 0, 1306016.298 563017.733 0, 1306314.487 563035.753 0, 1306612.674 563053.791 0,
+ 1306910.86 563071.846 0, 1307209.045 563089.919 0, 1307507.229 563108.01 0, 1307805.412 563126.118 0, 1308102.2 563144.159 0, 1308401.775 563162.386 0, 1308699.954 563180.547 0, 1308998.133 563198.725 0, 1309296.311 563216.921 0, 1309594.487 563235.135 0,
+ 1309892.663 563253.365 0, 1310190.837 563271.614 0, 1310489.01 563289.88 0, 1310787.183 563308.163 0, 1311085.354 563326.465 0, 1311383.524 563344.783 0, 1311681.693 563363.119 0, 1311979.861 563381.473 0, 1312278.027 563399.844 0, 1312576.193 563418.233 0,
+ 1312874.358 563436.64 0, 1313172.521 563455.064 0, 1313470.684 563473.505 0, 1313768.845 563491.964 0, 1314067.006 563510.441 0, 1314365.165 563528.935 0, 1314663.323 563547.446 0, 1314961.48 563565.976 0, 1315258.244 563584.436 0, 1315603.677 558033.909 0,
+ 1315949.086 552483.758 0))
+
+POLYGON ((1329568.429 564495.314 0, 1329271.717 564476.015 0, 1328973.613 564456.644 0, 1328675.508 564437.29 0, 1328377.403 564417.953 0, 1328079.296 564398.634 0, 1327781.188 564379.333 0, 1327483.078 564360.049 0, 1327184.968 564340.783 0, 1326886.857 564321.534 0,
+ 1326588.744 564302.303 0, 1326290.63 564283.09 0, 1325992.515 564263.894 0, 1325694.399 564244.715 0, 1325396.282 564225.554 0, 1325098.164 564206.411 0, 1324800.045 564187.285 0, 1324501.924 564168.177 0, 1324203.803 564149.086 0, 1323905.68 564130.013 0,
+ 1323607.556 564110.957 0, 1323309.431 564091.919 0, 1323011.305 564072.898 0, 1322713.178 564053.895 0, 1322413.658 564034.821 0, 1322116.92 564015.942 0, 1321818.789 563996.991 0, 1321520.657 563978.059 0, 1321222.525 563959.143 0, 1320924.391 563940.246 0,
+ 1320626.256 563921.365 0, 1320328.12 563902.503 0, 1320029.982 563883.658 0, 1319731.844 563864.83 0, 1319433.704 563846.02 0, 1319135.564 563827.228 0, 1318837.422 563808.453 0, 1318539.279 563789.695 0, 1318241.135 563770.955 0, 1317942.991 563752.233 0,
+ 1317644.844 563733.528 0, 1317346.697 563714.841 0, 1317048.549 563696.172 0, 1316750.4 563677.52 0, 1316452.249 563658.885 0, 1316154.097 563640.268 0, 1315855.945 563621.669 0, 1315557.791 563603.087 0, 1315258.244 563584.436 0, 1314912.788 569135.336 0,
+ 1314567.309 574686.607 0, 1314866.199 574705.218 0, 1315163.7 574723.759 0, 1315461.199 574742.317 0, 1315758.697 574760.894 0, 1316056.194 574779.487 0, 1316353.69 574798.098 0, 1316651.185 574816.727 0, 1316948.679 574835.373 0, 1317246.171 574854.037 0,
+ 1317543.663 574872.718 0, 1317841.153 574891.417 0, 1318138.643 574910.133 0, 1318436.131 574928.867 0, 1318733.618 574947.618 0, 1319031.104 574966.387 0, 1319328.589 574985.173 0, 1319626.073 575003.977 0, 1319923.556 575022.799 0, 1320221.037 575041.637 0,
+ 1320518.518 575060.494 0, 1320815.997 575079.368 0, 1321113.476 575098.259 0, 1321410.953 575117.168 0, 1321707.041 575136.006 0, 1322005.904 575155.038 0, 1322303.378 575173.999 0, 1322600.85 575192.978 0, 1322898.322 575211.975 0, 1323195.793 575230.989 0,
+ 1323493.262 575250.02 0, 1323790.73 575269.069 0, 1324088.197 575288.135 0, 1324385.663 575307.219 0, 1324683.128 575326.321 0, 1324980.592 575345.44 0, 1325278.055 575364.576 0, 1325575.516 575383.73 0, 1325872.976 575402.902 0, 1326170.436 575422.091 0,
+ 1326467.894 575441.297 0, 1326765.351 575460.521 0, 1327062.807 575479.763 0, 1327360.261 575499.022 0, 1327657.715 575518.298 0, 1327955.167 575537.592 0, 1328252.619 575556.904 0, 1328550.069 575576.233 0, 1328846.131 575595.489 0, 1329207.292 570045.216 0,
+ 1329568.429 564495.314 0))
+
+POLYGON ((1343122.329 576544.707 0, 1342826.32 576524.615 0, 1342528.926 576504.445 0, 1342231.53 576484.293 0, 1341934.133 576464.159 0, 1341636.735 576444.042 0, 1341339.336 576423.943 0, 1341041.936 576403.861 0, 1340744.534 576383.797 0, 1340447.132 576363.75 0,
+ 1340149.728 576343.721 0, 1339852.323 576323.709 0, 1339554.917 576303.715 0, 1339257.509 576283.738 0, 1338960.101 576263.779 0, 1338662.691 576243.837 0, 1338365.28 576223.913 0, 1338067.868 576204.006 0, 1337770.455 576184.117 0, 1337473.04 576164.245 0,
+ 1337175.625 576144.391 0, 1336878.208 576124.554 0, 1336580.79 576104.735 0, 1336283.371 576084.933 0, 1335984.565 576065.057 0, 1335688.529 576045.382 0, 1335391.107 576025.633 0, 1335093.683 576005.901 0, 1334796.258 575986.187 0, 1334498.832 575966.49 0,
+ 1334201.405 575946.811 0, 1333903.977 575927.149 0, 1333606.547 575907.505 0, 1333309.116 575887.879 0, 1333011.684 575868.269 0, 1332714.251 575848.678 0, 1332416.817 575829.104 0, 1332119.382 575809.547 0, 1331821.946 575790.008 0, 1331524.508 575770.486 0,
+ 1331227.069 575750.982 0, 1330929.629 575731.495 0, 1330632.188 575712.026 0, 1330334.746 575692.575 0, 1330037.303 575673.141 0, 1329739.858 575653.724 0, 1329442.413 575634.325 0, 1329144.966 575614.943 0, 1328846.131 575595.489 0, 1328484.946 581146.129 0,
+ 1328123.738 586697.133 0, 1328421.916 586716.545 0, 1328718.709 586735.884 0, 1329015.501 586755.24 0, 1329312.292 586774.614 0, 1329609.082 586794.005 0, 1329905.871 586813.414 0, 1330202.659 586832.841 0, 1330499.445 586852.285 0, 1330796.231 586871.746 0,
+ 1331093.015 586891.225 0, 1331389.798 586910.721 0, 1331686.58 586930.234 0, 1331983.361 586949.766 0, 1332280.14 586969.314 0, 1332576.919 586988.88 0, 1332873.696 587008.464 0, 1333170.472 587028.065 0, 1333467.247 587047.683 0, 1333764.021 587067.319 0,
+ 1334060.794 587086.973 0, 1334357.565 587106.644 0, 1334654.336 587126.332 0, 1334951.105 587146.038 0, 1335246.49 587165.669 0, 1335544.64 587185.502 0, 1335841.405 587205.26 0, 1336138.17 587225.036 0, 1336434.933 587244.829 0, 1336731.696 587264.64 0,
+ 1337028.457 587284.468 0, 1337325.217 587304.313 0, 1337621.975 587324.176 0, 1337918.733 587344.057 0, 1338215.489 587363.955 0, 1338512.245 587383.87 0, 1338808.999 587403.803 0, 1339105.751 587423.753 0, 1339402.503 587443.721 0, 1339699.254 587463.706 0,
+ 1339996.003 587483.709 0, 1340292.751 587503.729 0, 1340589.498 587523.767 0, 1340886.244 587543.822 0, 1341182.989 587563.895 0, 1341479.732 587583.985 0, 1341776.474 587604.092 0, 1342073.215 587624.218 0, 1342368.574 587644.266 0, 1342745.464 582094.305 0,
+ 1343122.329 576544.707 0))
+
+POLYGON ((1356610.678 588631.64 0, 1356315.375 588610.757 0, 1356018.692 588589.793 0, 1355722.008 588568.847 0, 1355425.322 588547.919 0, 1355128.635 588527.008 0, 1354831.947 588506.115 0, 1354535.258 588485.239 0, 1354238.568 588464.38 0, 1353941.876 588443.539 0,
+ 1353645.183 588422.716 0, 1353348.489 588401.909 0, 1353051.794 588381.121 0, 1352755.097 588360.35 0, 1352458.399 588339.596 0, 1352161.7 588318.86 0, 1351865 588298.141 0, 1351568.299 588277.439 0, 1351271.596 588256.756 0, 1350974.892 588236.089 0,
+ 1350678.187 588215.44 0, 1350381.481 588194.809 0, 1350084.773 588174.195 0, 1349788.065 588153.598 0, 1349489.975 588132.923 0, 1349194.644 588112.457 0, 1348897.931 588091.913 0, 1348601.218 588071.387 0, 1348304.503 588050.877 0, 1348007.787 588030.386 0,
+ 1347711.07 588009.911 0, 1347414.351 587989.454 0, 1347117.632 587969.015 0, 1346820.911 587948.593 0, 1346524.189 587928.189 0, 1346227.466 587907.802 0, 1345930.741 587887.432 0, 1345634.016 587867.08 0, 1345337.289 587846.745 0, 1345040.561 587826.428 0,
+ 1344743.832 587806.129 0, 1344447.101 587785.846 0, 1344150.37 587765.582 0, 1343853.637 587745.334 0, 1343556.903 587725.105 0, 1343260.168 587704.892 0, 1342963.432 587684.697 0, 1342666.694 587664.52 0, 1342368.574 587644.266 0, 1341991.66 593194.588 0,
+ 1341614.721 598745.268 0, 1341912.185 598765.477 0, 1342208.269 598785.61 0, 1342504.352 598805.761 0, 1342800.434 598825.928 0, 1343096.514 598846.114 0, 1343392.594 598866.316 0, 1343688.672 598886.537 0, 1343984.749 598906.774 0, 1344280.825 598927.029 0,
+ 1344576.899 598947.301 0, 1344872.973 598967.591 0, 1345169.045 598987.898 0, 1345465.116 599008.223 0, 1345761.186 599028.565 0, 1346057.255 599048.925 0, 1346353.322 599069.302 0, 1346649.388 599089.696 0, 1346945.453 599110.108 0, 1347241.517 599130.537 0,
+ 1347537.58 599150.984 0, 1347833.641 599171.448 0, 1348129.702 599191.929 0, 1348425.761 599212.428 0, 1348720.442 599232.849 0, 1349017.875 599253.479 0, 1349313.93 599274.03 0, 1349609.985 599294.598 0, 1349906.038 599315.184 0, 1350202.089 599335.788 0,
+ 1350498.14 599356.409 0, 1350794.189 599377.047 0, 1351090.237 599397.703 0, 1351386.284 599418.376 0, 1351682.33 599439.067 0, 1351978.375 599459.775 0, 1352274.418 599480.5 0, 1352570.46 599501.243 0, 1352866.501 599522.003 0, 1353162.54 599542.781 0,
+ 1353458.579 599563.576 0, 1353754.616 599584.389 0, 1354050.652 599605.219 0, 1354346.686 599626.066 0, 1354642.72 599646.931 0, 1354938.752 599667.813 0, 1355234.783 599688.713 0, 1355530.813 599709.63 0, 1355825.466 599730.468 0, 1356218.085 594180.875 0,
+ 1356610.678 588631.64 0))
+
+POLYGON ((1370033.37 600755.811 0, 1369738.775 600734.141 0, 1369442.806 600712.388 0, 1369146.835 600690.652 0, 1368850.863 600668.933 0, 1368554.889 600647.232 0, 1368258.915 600625.549 0, 1367962.939 600603.882 0, 1367666.962 600582.233 0, 1367370.983 600560.602 0,
+ 1367075.004 600538.988 0, 1366779.023 600517.391 0, 1366483.04 600495.812 0, 1366187.057 600474.25 0, 1365891.072 600452.706 0, 1365595.086 600431.179 0, 1365299.099 600409.67 0, 1365003.11 600388.178 0, 1364707.12 600366.703 0, 1364411.129 600345.246 0,
+ 1364115.137 600323.806 0, 1363819.143 600302.384 0, 1363523.148 600280.979 0, 1363227.152 600259.591 0, 1362929.78 600238.122 0, 1362635.156 600216.868 0, 1362339.156 600195.533 0, 1362043.155 600174.215 0, 1361747.152 600152.915 0, 1361451.149 600131.632 0,
+ 1361155.144 600110.366 0, 1360859.137 600089.118 0, 1360563.13 600067.887 0, 1360267.121 600046.674 0, 1359971.111 600025.478 0, 1359675.1 600004.299 0, 1359379.088 599983.138 0, 1359083.074 599961.995 0, 1358787.059 599940.869 0, 1358491.043 599919.76 0,
+ 1358195.025 599898.668 0, 1357899.007 599877.595 0, 1357602.987 599856.538 0, 1357306.966 599835.499 0, 1357010.943 599814.477 0, 1356714.92 599793.473 0, 1356418.895 599772.486 0, 1356122.869 599751.517 0, 1355825.466 599730.468 0, 1355432.822 605280.414 0,
+ 1355040.154 610830.712 0, 1355336.9 610851.715 0, 1355632.273 610872.638 0, 1355927.644 610893.579 0, 1356223.015 610914.537 0, 1356518.384 610935.512 0, 1356813.751 610956.505 0, 1357109.118 610977.515 0, 1357404.483 610998.542 0, 1357699.847 611019.587 0,
+ 1357995.21 611040.649 0, 1358290.572 611061.729 0, 1358585.932 611082.826 0, 1358881.291 611103.94 0, 1359176.649 611125.072 0, 1359472.006 611146.221 0, 1359767.361 611167.387 0, 1360062.716 611188.571 0, 1360358.068 611209.773 0, 1360653.42 611230.991 0,
+ 1360948.771 611252.227 0, 1361244.12 611273.481 0, 1361539.468 611294.751 0, 1361834.814 611316.04 0, 1362128.789 611337.246 0, 1362425.504 611358.668 0, 1362720.847 611380.008 0, 1363016.188 611401.366 0, 1363311.529 611422.741 0, 1363606.868 611444.134 0,
+ 1363902.206 611465.544 0, 1364197.542 611486.971 0, 1364492.878 611508.416 0, 1364788.212 611529.878 0, 1365083.545 611551.357 0, 1365378.876 611572.854 0, 1365674.206 611594.368 0, 1365969.535 611615.899 0, 1366264.863 611637.448 0, 1366560.19 611659.015 0,
+ 1366855.515 611680.598 0, 1367150.839 611702.199 0, 1367446.162 611723.818 0, 1367741.483 611745.454 0, 1368036.803 611767.107 0, 1368332.122 611788.778 0, 1368627.44 611810.466 0, 1368922.756 611832.171 0, 1369216.701 611853.793 0, 1369625.049 606304.626 0,
+ 1370033.37 600755.811 0))
+
+POLYGON ((1383390.301 612916.921 0, 1383096.416 612894.468 0, 1382801.162 612871.929 0, 1382505.907 612849.406 0, 1382210.651 612826.902 0, 1381915.393 612804.414 0, 1381620.134 612781.944 0, 1381324.874 612759.491 0, 1381029.612 612737.056 0, 1380734.349 612714.638 0,
+ 1380439.084 612692.237 0, 1380143.819 612669.854 0, 1379848.552 612647.488 0, 1379553.283 612625.14 0, 1379258.014 612602.809 0, 1378962.743 612580.495 0, 1378667.471 612558.199 0, 1378372.197 612535.92 0, 1378076.922 612513.658 0, 1377781.646 612491.414 0,
+ 1377486.368 612469.187 0, 1377191.09 612446.978 0, 1376895.809 612424.786 0, 1376600.528 612402.611 0, 1376303.877 612380.351 0, 1376009.961 612358.314 0, 1375714.676 612336.192 0, 1375419.389 612314.087 0, 1375124.101 612291.999 0, 1374828.812 612269.928 0,
+ 1374533.521 612247.875 0, 1374238.23 612225.84 0, 1373942.936 612203.822 0, 1373647.642 612181.821 0, 1373352.346 612159.837 0, 1373057.049 612137.871 0, 1372761.751 612115.922 0, 1372466.451 612093.991 0, 1372171.151 612072.077 0, 1371875.848 612050.181 0,
+ 1371580.545 612028.301 0, 1371285.24 612006.44 0, 1370989.934 611984.595 0, 1370694.627 611962.768 0, 1370399.318 611940.959 0, 1370104.008 611919.166 0, 1369808.697 611897.391 0, 1369513.385 611875.634 0, 1369216.701 611853.793 0, 1368808.328 617403.307 0,
+ 1368399.929 622953.166 0, 1368695.956 622974.959 0, 1368990.616 622996.668 0, 1369285.273 623018.395 0, 1369579.93 623040.139 0, 1369874.585 623061.9 0, 1370169.239 623083.679 0, 1370463.892 623105.475 0, 1370758.544 623127.289 0, 1371053.194 623149.119 0,
+ 1371347.843 623170.967 0, 1371642.49 623192.833 0, 1371937.137 623214.716 0, 1372231.782 623236.616 0, 1372526.426 623258.533 0, 1372821.068 623280.468 0, 1373115.709 623302.42 0, 1373410.349 623324.39 0, 1373704.988 623346.377 0, 1373999.625 623368.381 0,
+ 1374294.261 623390.402 0, 1374588.896 623412.441 0, 1374883.529 623434.498 0, 1375178.161 623456.571 0, 1375471.427 623478.56 0, 1375767.422 623500.77 0, 1376062.05 623522.896 0, 1376356.677 623545.039 0, 1376651.302 623567.199 0, 1376945.927 623589.377 0,
+ 1377240.55 623611.572 0, 1377535.171 623633.784 0, 1377829.792 623656.014 0, 1378124.411 623678.261 0, 1378419.029 623700.525 0, 1378713.645 623722.807 0, 1379008.26 623745.106 0, 1379302.874 623767.422 0, 1379597.487 623789.756 0, 1379892.098 623812.107 0,
+ 1380186.708 623834.475 0, 1380481.316 623856.861 0, 1380775.924 623879.264 0, 1381070.529 623901.684 0, 1381365.134 623924.122 0, 1381659.737 623946.577 0, 1381954.339 623969.049 0, 1382248.94 623991.539 0, 1382542.175 624013.942 0, 1382966.251 618465.259 0,
+ 1383390.301 612916.921 0))
+
+POLYGON ((1396681.368 625114.668 0, 1396388.195 625091.437 0, 1396093.659 625068.115 0, 1395799.122 625044.81 0, 1395504.583 625021.523 0, 1395210.043 624998.253 0, 1394915.501 624975 0, 1394620.959 624951.765 0, 1394326.415 624928.547 0, 1394031.869 624905.346 0,
+ 1393737.322 624882.163 0, 1393442.774 624858.997 0, 1393148.224 624835.849 0, 1392853.673 624812.717 0, 1392559.121 624789.604 0, 1392264.567 624766.507 0, 1391970.012 624743.428 0, 1391675.456 624720.366 0, 1391380.898 624697.321 0, 1391086.339 624674.294 0,
+ 1390791.779 624651.284 0, 1390497.217 624628.292 0, 1390202.653 624605.316 0, 1389908.089 624582.358 0, 1389612.16 624559.312 0, 1389318.956 624536.495 0, 1389024.387 624513.589 0, 1388729.817 624490.7 0, 1388435.246 624467.829 0, 1388140.673 624444.975 0,
+ 1387846.099 624422.139 0, 1387551.524 624399.319 0, 1387256.948 624376.518 0, 1386962.37 624353.733 0, 1386667.79 624330.966 0, 1386373.21 624308.216 0, 1386078.628 624285.484 0, 1385784.044 624262.769 0, 1385489.459 624240.071 0, 1385194.873 624217.39 0,
+ 1384900.286 624194.727 0, 1384605.697 624172.081 0, 1384311.107 624149.453 0, 1384016.516 624126.842 0, 1383721.923 624104.248 0, 1383427.329 624081.671 0, 1383132.734 624059.112 0, 1382838.137 624036.571 0, 1382542.175 624013.942 0, 1382118.073 629562.966 0,
+ 1381693.944 635112.328 0, 1381989.25 635134.907 0, 1382283.194 635157.398 0, 1382577.136 635179.907 0, 1382871.077 635202.434 0, 1383165.016 635224.978 0, 1383458.954 635247.539 0, 1383752.891 635270.117 0, 1384046.827 635292.712 0, 1384340.761 635315.325 0,
+ 1384634.694 635337.955 0, 1384928.625 635360.603 0, 1385222.555 635383.268 0, 1385516.484 635405.95 0, 1385810.412 635428.649 0, 1386104.338 635451.366 0, 1386398.263 635474.1 0, 1386692.186 635496.851 0, 1386986.108 635519.62 0, 1387280.029 635542.406 0,
+ 1387573.948 635565.209 0, 1387867.866 635588.029 0, 1388161.783 635610.867 0, 1388455.699 635633.722 0, 1388748.253 635656.489 0, 1389043.525 635679.484 0, 1389337.437 635702.391 0, 1389631.347 635725.315 0, 1389925.256 635748.257 0, 1390219.163 635771.216 0,
+ 1390513.069 635794.192 0, 1390806.973 635817.186 0, 1391100.877 635840.196 0, 1391394.779 635863.224 0, 1391688.679 635886.27 0, 1391982.578 635909.332 0, 1392276.476 635932.412 0, 1392570.373 635955.51 0, 1392864.268 635978.624 0, 1393158.162 636001.756 0,
+ 1393452.054 636024.905 0, 1393745.945 636048.072 0, 1394039.835 636071.255 0, 1394333.723 636094.457 0, 1394627.61 636117.675 0, 1394921.496 636140.91 0, 1395215.38 636164.163 0, 1395509.263 636187.434 0, 1395801.785 636210.614 0, 1396241.59 630662.472 0,
+ 1396681.368 625114.668 0))
+
+POLYGON ((1409906.467 637348.752 0, 1409614.009 637324.745 0, 1409320.193 637300.645 0, 1409026.376 637276.562 0, 1408732.557 637252.496 0, 1408438.737 637228.447 0, 1408144.915 637204.416 0, 1407851.092 637180.402 0, 1407557.268 637156.406 0, 1407263.442 637132.426 0,
+ 1406969.615 637108.464 0, 1406675.786 637084.519 0, 1406381.956 637060.592 0, 1406088.124 637036.682 0, 1405794.292 637012.789 0, 1405500.457 636988.913 0, 1405206.622 636965.055 0, 1404912.785 636941.214 0, 1404618.946 636917.39 0, 1404325.106 636893.584 0,
+ 1404031.265 636869.795 0, 1403737.422 636846.023 0, 1403443.578 636822.268 0, 1403149.733 636798.531 0, 1402854.528 636774.702 0, 1402562.037 636751.108 0, 1402268.188 636727.423 0, 1401974.337 636703.755 0, 1401680.484 636680.104 0, 1401386.63 636656.471 0,
+ 1401092.775 636632.855 0, 1400798.919 636609.256 0, 1400505.06 636585.674 0, 1400211.201 636562.11 0, 1399917.34 636538.563 0, 1399623.478 636515.033 0, 1399329.615 636491.521 0, 1399035.75 636468.026 0, 1398741.883 636444.548 0, 1398448.016 636421.087 0,
+ 1398154.146 636397.644 0, 1397860.276 636374.218 0, 1397566.404 636350.81 0, 1397272.531 636327.418 0, 1396978.656 636304.044 0, 1396684.78 636280.688 0, 1396390.903 636257.348 0, 1396097.024 636234.026 0, 1395801.785 636210.614 0, 1395361.954 641759.09 0,
+ 1394922.097 647307.898 0, 1395216.68 647331.258 0, 1395509.905 647354.528 0, 1395803.129 647377.816 0, 1396096.352 647401.121 0, 1396389.574 647424.443 0, 1396682.794 647447.782 0, 1396976.013 647471.139 0, 1397269.23 647494.513 0, 1397562.446 647517.904 0,
+ 1397855.66 647541.312 0, 1398148.874 647564.738 0, 1398442.085 647588.181 0, 1398735.296 647611.641 0, 1399028.505 647635.118 0, 1399321.713 647658.613 0, 1399614.919 647682.125 0, 1399908.124 647705.654 0, 1400201.327 647729.2 0, 1400494.529 647752.764 0,
+ 1400787.73 647776.345 0, 1401080.93 647799.943 0, 1401374.128 647823.559 0, 1401667.324 647847.191 0, 1401959.165 647870.732 0, 1402253.713 647894.508 0, 1402546.905 647918.193 0, 1402840.096 647941.895 0, 1403133.286 647965.614 0, 1403426.474 647989.35 0,
+ 1403719.661 648013.103 0, 1404012.847 648036.874 0, 1404306.031 648060.662 0, 1404599.213 648084.467 0, 1404892.394 648108.29 0, 1405185.574 648132.13 0, 1405478.753 648155.987 0, 1405771.93 648179.861 0, 1406065.105 648203.753 0, 1406358.279 648227.662 0,
+ 1406651.452 648251.588 0, 1406944.624 648275.531 0, 1407237.794 648299.492 0, 1407530.962 648323.469 0, 1407824.129 648347.464 0, 1408117.295 648371.477 0, 1408410.459 648395.506 0, 1408703.622 648419.553 0, 1408995.431 648443.506 0, 1409450.963 642895.963 0,
+ 1409906.467 637348.752 0))
+
+POLYGON ((1423065.5 649618.87 0, 1422773.758 649594.093 0, 1422480.664 649569.218 0, 1422187.569 649544.36 0, 1421894.472 649519.519 0, 1421601.374 649494.696 0, 1421308.274 649469.89 0, 1421015.173 649445.101 0, 1420722.071 649420.33 0, 1420428.967 649395.576 0,
+ 1420135.861 649370.839 0, 1419842.754 649346.119 0, 1419549.646 649321.416 0, 1419256.536 649296.731 0, 1418963.425 649272.063 0, 1418670.312 649247.412 0, 1418377.198 649222.779 0, 1418084.082 649198.163 0, 1417790.965 649173.564 0, 1417497.846 649148.982 0,
+ 1417204.727 649124.418 0, 1416911.605 649099.87 0, 1416618.482 649075.34 0, 1416325.358 649050.828 0, 1416030.88 649026.219 0, 1415739.105 649001.854 0, 1415445.976 648977.393 0, 1415152.846 648952.949 0, 1414859.715 648928.523 0, 1414566.582 648904.114 0,
+ 1414273.447 648879.722 0, 1413980.311 648855.347 0, 1413687.174 648830.99 0, 1413394.036 648806.65 0, 1413100.895 648782.327 0, 1412807.754 648758.021 0, 1412514.611 648733.733 0, 1412221.466 648709.461 0, 1411928.321 648685.207 0, 1411635.173 648660.971 0,
+ 1411342.025 648636.751 0, 1411048.874 648612.549 0, 1410755.723 648588.364 0, 1410462.57 648564.197 0, 1410169.416 648540.046 0, 1409876.26 648515.913 0, 1409583.102 648491.797 0, 1409289.944 648467.699 0, 1408995.431 648443.506 0, 1408539.872 653991.377 0,
+ 1408084.286 659539.573 0, 1408378.143 659563.711 0, 1408670.649 659587.756 0, 1408963.153 659611.818 0, 1409255.656 659635.898 0, 1409548.157 659659.994 0, 1409840.657 659684.108 0, 1410133.155 659708.239 0, 1410425.652 659732.387 0, 1410718.148 659756.553 0,
+ 1411010.642 659780.736 0, 1411303.135 659804.935 0, 1411595.626 659829.153 0, 1411888.116 659853.387 0, 1412180.605 659877.638 0, 1412473.092 659901.907 0, 1412765.578 659926.193 0, 1413058.062 659950.496 0, 1413350.545 659974.817 0, 1413643.026 659999.154 0,
+ 1413935.506 660023.509 0, 1414227.984 660047.881 0, 1414520.462 660072.27 0, 1414812.937 660096.677 0, 1415104.063 660120.988 0, 1415397.884 660145.541 0, 1415690.355 660169.999 0, 1415982.825 660194.475 0, 1416275.294 660218.967 0, 1416567.761 660243.477 0,
+ 1416860.226 660268.004 0, 1417152.69 660292.548 0, 1417445.153 660317.11 0, 1417737.614 660341.688 0, 1418030.074 660366.284 0, 1418322.532 660390.897 0, 1418614.989 660415.527 0, 1418907.445 660440.175 0, 1419199.899 660464.839 0, 1419492.351 660489.521 0,
+ 1419784.802 660514.22 0, 1420077.252 660538.937 0, 1420369.7 660563.67 0, 1420662.147 660588.421 0, 1420954.592 660613.189 0, 1421247.036 660637.974 0, 1421539.478 660662.776 0, 1421831.919 660687.596 0, 1422123.011 660712.318 0, 1422594.269 655165.432 0,
+ 1423065.5 649618.87 0))
+
+POLYGON ((1436158.366 661924.721 0, 1435867.343 661899.176 0, 1435574.973 661873.53 0, 1435282.602 661847.902 0, 1434990.229 661822.291 0, 1434697.855 661796.697 0, 1434405.48 661771.12 0, 1434113.103 661745.56 0, 1433820.724 661720.018 0, 1433528.344 661694.492 0,
+ 1433235.962 661668.984 0, 1432943.579 661643.494 0, 1432651.194 661618.02 0, 1432358.808 661592.564 0, 1432066.421 661567.125 0, 1431774.032 661541.703 0, 1431481.641 661516.298 0, 1431189.249 661490.91 0, 1430896.855 661465.54 0, 1430604.46 661440.187 0,
+ 1430312.064 661414.851 0, 1430019.666 661389.532 0, 1429727.266 661364.231 0, 1429434.865 661338.946 0, 1429141.116 661313.563 0, 1428850.059 661288.429 0, 1428557.653 661263.197 0, 1428265.246 661237.981 0, 1427972.838 661212.783 0, 1427680.428 661187.602 0,
+ 1427388.016 661162.438 0, 1427095.603 661137.292 0, 1426803.189 661112.162 0, 1426510.773 661087.05 0, 1426218.356 661061.955 0, 1425925.937 661036.877 0, 1425633.516 661011.817 0, 1425341.095 660986.773 0, 1425048.671 660961.747 0, 1424756.247 660936.738 0,
+ 1424463.821 660911.747 0, 1424171.393 660886.772 0, 1423878.964 660861.815 0, 1423586.533 660836.875 0, 1423294.101 660811.952 0, 1423001.668 660787.046 0, 1422709.232 660762.158 0, 1422416.796 660737.287 0, 1422123.011 660712.318 0, 1421651.725 666259.526 0,
+ 1421180.412 671807.052 0, 1421473.542 671831.964 0, 1421765.325 671856.78 0, 1422057.107 671881.613 0, 1422348.888 671906.463 0, 1422640.667 671931.33 0, 1422932.444 671956.215 0, 1423224.22 671981.116 0, 1423515.995 672006.035 0, 1423807.768 672030.971 0,
+ 1424099.54 672055.924 0, 1424391.31 672080.894 0, 1424683.079 672105.882 0, 1424974.846 672130.886 0, 1425266.612 672155.908 0, 1425558.377 672180.947 0, 1425850.14 672206.003 0, 1426141.901 672231.076 0, 1426433.661 672256.167 0, 1426725.419 672281.274 0,
+ 1427017.177 672306.399 0, 1427308.932 672331.541 0, 1427600.686 672356.7 0, 1427892.439 672381.876 0, 1428182.846 672406.954 0, 1428475.939 672432.281 0, 1428767.687 672457.508 0, 1429059.434 672482.753 0, 1429351.179 672508.016 0, 1429642.923 672533.295 0,
+ 1429934.665 672558.591 0, 1430226.406 672583.905 0, 1430518.145 672609.236 0, 1430809.883 672634.584 0, 1431101.619 672659.949 0, 1431393.353 672685.332 0, 1431685.087 672710.731 0, 1431976.818 672736.148 0, 1432268.549 672761.582 0, 1432560.277 672787.033 0,
+ 1432852.005 672812.501 0, 1433143.73 672837.986 0, 1433435.455 672863.489 0, 1433727.177 672889.009 0, 1434018.899 672914.546 0, 1434310.618 672940.1 0, 1434602.336 672965.671 0, 1434894.053 672991.259 0, 1435184.426 673016.747 0, 1435671.41 667470.575 0,
+ 1436158.366 661924.721 0))
+
+POLYGON ((1449184.967 674266.002 0, 1448894.665 674239.693 0, 1448603.022 674213.281 0, 1448311.377 674186.886 0, 1448019.73 674160.507 0, 1447728.082 674134.146 0, 1447436.433 674107.803 0, 1447144.782 674081.476 0, 1446853.129 674055.167 0, 1446561.475 674028.874 0,
+ 1446269.82 674002.599 0, 1445978.162 673976.341 0, 1445686.504 673950.1 0, 1445394.843 673923.877 0, 1445103.182 673897.67 0, 1444811.518 673871.481 0, 1444519.853 673845.309 0, 1444228.187 673819.154 0, 1443936.519 673793.016 0, 1443644.849 673766.895 0,
+ 1443353.178 673740.792 0, 1443061.506 673714.706 0, 1442769.831 673688.636 0, 1442478.156 673662.585 0, 1442185.138 673636.43 0, 1441894.8 673610.532 0, 1441603.12 673584.532 0, 1441311.438 673558.548 0, 1441019.754 673532.582 0, 1440728.07 673506.633 0,
+ 1440436.383 673480.701 0, 1440144.695 673454.787 0, 1439853.006 673428.889 0, 1439561.315 673403.009 0, 1439269.622 673377.146 0, 1438977.928 673351.3 0, 1438686.233 673325.471 0, 1438394.536 673299.66 0, 1438102.837 673273.865 0, 1437811.137 673248.088 0,
+ 1437519.436 673222.328 0, 1437227.732 673196.585 0, 1436936.028 673170.859 0, 1436644.322 673145.15 0, 1436352.614 673119.459 0, 1436060.905 673093.785 0, 1435769.194 673068.128 0, 1435477.482 673042.488 0, 1435184.426 673016.747 0, 1434697.415 678563.234 0,
+ 1434210.377 684110.032 0, 1434502.776 684135.715 0, 1434793.836 684161.297 0, 1435084.893 684186.897 0, 1435375.95 684212.514 0, 1435667.004 684238.148 0, 1435958.058 684263.799 0, 1436249.109 684289.467 0, 1436540.16 684315.152 0, 1436831.208 684340.855 0,
+ 1437122.255 684366.574 0, 1437413.301 684392.311 0, 1437704.345 684418.065 0, 1437995.388 684443.836 0, 1438286.429 684469.624 0, 1438577.469 684495.429 0, 1438868.507 684521.252 0, 1439159.543 684547.091 0, 1439450.578 684572.948 0, 1439741.612 684598.822 0,
+ 1440032.644 684624.712 0, 1440323.674 684650.62 0, 1440614.703 684676.546 0, 1440905.731 684702.488 0, 1441195.419 684728.328 0, 1441487.781 684754.424 0, 1441778.804 684780.417 0, 1442069.825 684806.428 0, 1442360.845 684832.456 0, 1442651.863 684858.501 0,
+ 1442942.88 684884.563 0, 1443233.895 684910.643 0, 1443524.909 684936.739 0, 1443815.921 684962.853 0, 1444106.931 684988.983 0, 1444397.94 685015.131 0, 1444688.948 685041.296 0, 1444979.954 685067.478 0, 1445270.958 685093.677 0, 1445561.961 685119.894 0,
+ 1445852.962 685146.127 0, 1446143.962 685172.378 0, 1446434.96 685198.645 0, 1446725.957 685224.93 0, 1447016.952 685251.232 0, 1447307.946 685277.551 0, 1447598.938 685303.888 0, 1447889.928 685330.241 0, 1448179.581 685356.49 0, 1448682.288 679811.09 0,
+ 1449184.967 674266.002 0))
+
+POLYGON ((1462145.208 686642.409 0, 1461855.628 686615.341 0, 1461564.713 686588.166 0, 1461273.797 686561.008 0, 1460982.879 686533.867 0, 1460691.959 686506.743 0, 1460401.038 686479.636 0, 1460110.115 686452.546 0, 1459819.19 686425.474 0, 1459528.264 686398.418 0,
+ 1459237.337 686371.38 0, 1458946.408 686344.358 0, 1458655.477 686317.354 0, 1458364.544 686290.367 0, 1458073.61 686263.397 0, 1457782.675 686236.445 0, 1457491.738 686209.509 0, 1457200.799 686182.591 0, 1456909.859 686155.689 0, 1456618.917 686128.805 0,
+ 1456327.973 686101.938 0, 1456037.028 686075.088 0, 1455746.081 686048.255 0, 1455455.133 686021.439 0, 1455162.848 685994.518 0, 1454873.232 685967.859 0, 1454582.279 685941.095 0, 1454291.324 685914.348 0, 1454000.368 685887.617 0, 1453709.411 685860.904 0,
+ 1453418.451 685834.209 0, 1453127.491 685807.53 0, 1452836.528 685780.868 0, 1452545.564 685754.224 0, 1452254.599 685727.596 0, 1451963.632 685700.986 0, 1451672.663 685674.393 0, 1451381.693 685647.817 0, 1451090.721 685621.258 0, 1450799.747 685594.716 0,
+ 1450508.773 685568.192 0, 1450217.796 685541.684 0, 1449926.818 685515.194 0, 1449635.838 685488.721 0, 1449344.857 685462.265 0, 1449053.875 685435.826 0, 1448762.89 685409.404 0, 1448471.904 685382.999 0, 1448179.581 685356.49 0, 1447676.845 690902.198 0,
+ 1447174.083 696448.21 0, 1447465.751 696474.66 0, 1447756.084 696501.005 0, 1448046.415 696527.368 0, 1448336.745 696553.747 0, 1448627.073 696580.144 0, 1448917.4 696606.558 0, 1449207.725 696632.989 0, 1449498.049 696659.437 0, 1449788.371 696685.902 0,
+ 1450078.692 696712.384 0, 1450369.011 696738.884 0, 1450659.328 696765.4 0, 1450949.644 696791.933 0, 1451239.958 696818.484 0, 1451530.271 696845.052 0, 1451820.582 696871.636 0, 1452110.892 696898.238 0, 1452401.2 696924.857 0, 1452691.506 696951.493 0,
+ 1452981.811 696978.146 0, 1453272.115 697004.816 0, 1453562.416 697031.503 0, 1453852.717 697058.208 0, 1454141.683 697084.806 0, 1454433.312 697111.668 0, 1454723.608 697138.423 0, 1455013.902 697165.196 0, 1455304.194 697191.986 0, 1455594.485 697218.793 0,
+ 1455884.774 697245.616 0, 1456175.062 697272.457 0, 1456465.348 697299.316 0, 1456755.632 697326.191 0, 1457045.915 697353.083 0, 1457336.196 697379.992 0, 1457626.476 697406.919 0, 1457916.754 697433.862 0, 1458207.03 697460.823 0, 1458497.305 697487.801 0,
+ 1458787.579 697514.795 0, 1459077.85 697541.807 0, 1459368.121 697568.836 0, 1459658.389 697595.882 0, 1459948.656 697622.945 0, 1460238.922 697650.026 0, 1460529.185 697677.123 0, 1460819.448 697704.237 0, 1461108.377 697731.244 0, 1461626.807 692186.674 0,
+ 1462145.208 686642.409 0))
+
+POLYGON ((1475038.992 699053.64 0, 1474750.137 699025.817 0, 1474459.953 698997.882 0, 1474169.767 698969.965 0, 1473879.579 698942.065 0, 1473589.39 698914.182 0, 1473299.199 698886.316 0, 1473009.006 698858.467 0, 1472718.812 698830.635 0, 1472428.616 698802.82 0,
+ 1472138.418 698775.023 0, 1471848.219 698747.242 0, 1471558.018 698719.479 0, 1471267.816 698691.732 0, 1470977.612 698664.003 0, 1470687.406 698636.291 0, 1470397.198 698608.595 0, 1470106.99 698580.917 0, 1469816.779 698553.256 0, 1469526.567 698525.612 0,
+ 1469236.353 698497.985 0, 1468946.137 698470.376 0, 1468655.92 698442.783 0, 1468365.701 698415.207 0, 1468074.152 698387.523 0, 1467785.259 698360.107 0, 1467495.035 698332.583 0, 1467204.81 698305.076 0, 1466914.583 698277.585 0, 1466624.355 698250.112 0,
+ 1466334.125 698222.656 0, 1466043.893 698195.217 0, 1465753.66 698167.795 0, 1465463.425 698140.391 0, 1465173.188 698113.003 0, 1464882.95 698085.632 0, 1464592.711 698058.279 0, 1464302.469 698030.942 0, 1464012.226 698003.623 0, 1463721.982 697976.321 0,
+ 1463431.735 697949.035 0, 1463141.488 697921.767 0, 1462851.238 697894.516 0, 1462560.987 697867.282 0, 1462270.735 697840.065 0, 1461980.48 697812.866 0, 1461690.225 697785.683 0, 1461399.967 697758.517 0, 1461108.377 697731.244 0, 1460589.92 703276.115 0,
+ 1460071.435 708821.284 0, 1460362.369 708848.496 0, 1460651.973 708875.6 0, 1460941.576 708902.722 0, 1461231.178 708929.86 0, 1461520.778 708957.016 0, 1461810.376 708984.189 0, 1462099.973 709011.378 0, 1462389.568 709038.585 0, 1462679.161 709065.809 0,
+ 1462968.753 709093.05 0, 1463258.343 709120.308 0, 1463547.932 709147.583 0, 1463837.519 709174.875 0, 1464127.105 709202.184 0, 1464416.688 709229.51 0, 1464706.271 709256.853 0, 1464995.851 709284.214 0, 1465285.43 709311.591 0, 1465575.008 709338.985 0,
+ 1465864.584 709366.396 0, 1466154.158 709393.825 0, 1466443.73 709421.27 0, 1466733.301 709448.733 0, 1467021.544 709476.086 0, 1467312.438 709503.709 0, 1467602.004 709531.222 0, 1467891.569 709558.753 0, 1468181.132 709586.301 0, 1468470.693 709613.865 0,
+ 1468760.253 709641.447 0, 1469049.811 709669.046 0, 1469339.367 709696.662 0, 1469628.922 709724.295 0, 1469918.475 709751.945 0, 1470208.026 709779.612 0, 1470497.576 709807.296 0, 1470787.124 709834.997 0, 1471076.671 709862.715 0, 1471366.216 709890.45 0,
+ 1471655.759 709918.202 0, 1471945.301 709945.972 0, 1472234.841 709973.758 0, 1472524.379 710001.561 0, 1472813.916 710029.382 0, 1473103.451 710057.219 0, 1473392.985 710085.073 0, 1473682.517 710112.945 0, 1473970.722 710140.706 0, 1474504.871 704597.024 0,
+ 1475038.992 699053.64 0))
+
+POLYGON ((1487866.226 711499.39 0, 1487578.098 711470.815 0, 1487288.646 711442.126 0, 1486999.192 711413.453 0, 1486709.737 711384.798 0, 1486420.28 711356.16 0, 1486130.821 711327.539 0, 1485841.361 711298.935 0, 1485551.899 711270.347 0, 1485262.435 711241.777 0,
+ 1484972.97 711213.224 0, 1484683.503 711184.688 0, 1484394.034 711156.169 0, 1484104.563 711127.667 0, 1483815.091 711099.182 0, 1483525.617 711070.714 0, 1483236.142 711042.264 0, 1482946.665 711013.83 0, 1482657.186 710985.413 0, 1482367.705 710957.013 0,
+ 1482078.223 710928.631 0, 1481788.739 710900.265 0, 1481499.254 710871.916 0, 1481209.766 710843.585 0, 1480918.953 710815.141 0, 1480630.787 710786.973 0, 1480341.295 710758.692 0, 1480051.801 710730.429 0, 1479762.305 710702.183 0, 1479472.808 710673.953 0,
+ 1479183.309 710645.741 0, 1478893.809 710617.546 0, 1478604.307 710589.367 0, 1478314.803 710561.206 0, 1478025.297 710533.062 0, 1477735.79 710504.935 0, 1477446.281 710476.825 0, 1477156.771 710448.732 0, 1476867.259 710420.656 0, 1476577.745 710392.597 0,
+ 1476288.23 710364.555 0, 1475998.712 710336.53 0, 1475709.194 710308.522 0, 1475419.673 710280.532 0, 1475130.151 710252.558 0, 1474840.628 710224.601 0, 1474551.102 710196.662 0, 1474261.576 710168.739 0, 1473970.722 710140.706 0, 1473436.544 715684.682 0,
+ 1472902.338 721228.949 0, 1473192.536 721256.919 0, 1473481.411 721284.778 0, 1473770.283 721312.655 0, 1474059.154 721340.549 0, 1474348.024 721368.459 0, 1474636.892 721396.387 0, 1474925.758 721424.332 0, 1475214.622 721452.293 0, 1475503.485 721480.272 0,
+ 1475792.346 721508.268 0, 1476081.206 721536.28 0, 1476370.064 721564.31 0, 1476658.92 721592.357 0, 1476947.774 721620.421 0, 1477236.627 721648.501 0, 1477525.478 721676.599 0, 1477814.328 721704.714 0, 1478103.176 721732.845 0, 1478392.022 721760.994 0,
+ 1478680.867 721789.16 0, 1478969.71 721817.342 0, 1479258.551 721845.542 0, 1479547.391 721873.759 0, 1479834.908 721901.863 0, 1480125.065 721930.243 0, 1480413.9 721958.511 0, 1480702.733 721986.796 0, 1480991.564 722015.097 0, 1481280.394 722043.416 0,
+ 1481569.222 722071.752 0, 1481858.048 722100.105 0, 1482146.873 722128.474 0, 1482435.696 722156.861 0, 1482724.517 722185.265 0, 1483013.337 722213.685 0, 1483302.155 722242.123 0, 1483590.971 722270.578 0, 1483879.786 722299.049 0, 1484168.599 722327.538 0,
+ 1484457.41 722356.044 0, 1484746.22 722384.567 0, 1485035.028 722413.106 0, 1485323.834 722441.663 0, 1485612.638 722470.237 0, 1485901.441 722498.827 0, 1486190.243 722527.435 0, 1486479.042 722556.06 0, 1486766.52 722584.571 0, 1487316.387 717041.835 0,
+ 1487866.226 711499.39 0))
+
+POLYGON ((1500626.817 723979.356 0, 1500339.418 723950.033 0, 1500050.701 723920.592 0, 1499761.982 723891.169 0, 1499473.261 723861.762 0, 1499184.538 723832.373 0, 1498895.814 723803 0, 1498607.087 723773.645 0, 1498318.36 723744.306 0, 1498029.63 723714.985 0,
+ 1497740.899 723685.68 0, 1497452.166 723656.393 0, 1497163.431 723627.122 0, 1496874.694 723597.869 0, 1496585.956 723568.632 0, 1496297.216 723539.412 0, 1496008.475 723510.21 0, 1495719.731 723481.024 0, 1495430.986 723451.856 0, 1495142.239 723422.704 0,
+ 1494853.491 723393.57 0, 1494564.741 723364.452 0, 1494275.989 723335.351 0, 1493987.235 723306.268 0, 1493697.161 723277.068 0, 1493409.722 723248.152 0, 1493120.964 723219.119 0, 1492832.203 723190.103 0, 1492543.441 723161.105 0, 1492254.677 723132.123 0,
+ 1491965.911 723103.158 0, 1491677.144 723074.211 0, 1491388.375 723045.28 0, 1491099.604 723016.366 0, 1490810.832 722987.47 0, 1490522.058 722958.59 0, 1490233.282 722929.728 0, 1489944.504 722900.882 0, 1489655.725 722872.053 0, 1489366.944 722843.242 0,
+ 1489078.162 722814.447 0, 1488789.377 722785.669 0, 1488500.591 722756.909 0, 1488211.804 722728.165 0, 1487923.014 722699.438 0, 1487634.223 722670.729 0, 1487345.431 722642.036 0, 1487056.636 722613.36 0, 1486766.52 722584.571 0, 1486216.625 728127.593 0,
+ 1485666.701 733670.9 0, 1485956.161 733699.625 0, 1486244.303 733728.236 0, 1486532.443 733756.864 0, 1486820.582 733785.508 0, 1487108.719 733814.17 0, 1487396.854 733842.849 0, 1487684.987 733871.545 0, 1487973.119 733900.257 0, 1488261.249 733928.987 0,
+ 1488549.378 733957.733 0, 1488837.505 733986.497 0, 1489125.63 734015.277 0, 1489413.753 734044.075 0, 1489701.875 734072.889 0, 1489989.995 734101.721 0, 1490278.113 734130.569 0, 1490566.229 734159.434 0, 1490854.344 734188.316 0, 1491142.457 734217.216 0,
+ 1491430.569 734246.132 0, 1491718.679 734275.065 0, 1492006.787 734304.015 0, 1492294.893 734332.982 0, 1492581.682 734361.834 0, 1492871.101 734390.967 0, 1493159.202 734419.985 0, 1493447.301 734449.02 0, 1493735.399 734478.071 0, 1494023.495 734507.14 0,
+ 1494311.59 734536.226 0, 1494599.682 734565.329 0, 1494887.773 734594.448 0, 1495175.863 734623.585 0, 1495463.95 734652.738 0, 1495752.036 734681.909 0, 1496040.12 734711.096 0, 1496328.203 734740.301 0, 1496616.283 734769.522 0, 1496904.362 734798.76 0,
+ 1497192.439 734828.016 0, 1497480.515 734857.288 0, 1497768.589 734886.577 0, 1498056.661 734915.883 0, 1498344.731 734945.206 0, 1498632.8 734974.546 0, 1498920.867 735003.903 0, 1499208.932 735033.277 0, 1499495.681 735062.534 0, 1500061.263 729520.803 0,
+ 1500626.817 723979.356 0))
+
+POLYGON ((1513320.674 736493.232 0, 1513034.007 736463.165 0, 1512746.026 736432.977 0, 1512458.043 736402.806 0, 1512170.058 736372.653 0, 1511882.072 736342.516 0, 1511594.084 736312.396 0, 1511306.094 736282.293 0, 1511018.102 736252.207 0, 1510730.109 736222.138 0,
+ 1510442.114 736192.086 0, 1510154.117 736162.051 0, 1509866.118 736132.033 0, 1509578.118 736102.031 0, 1509290.115 736072.047 0, 1509002.111 736042.08 0, 1508714.106 736012.129 0, 1508426.098 735982.196 0, 1508138.089 735952.28 0, 1507850.078 735922.38 0,
+ 1507562.065 735892.497 0, 1507274.05 735862.632 0, 1506986.034 735832.783 0, 1506698.016 735802.951 0, 1506408.683 735773.001 0, 1506121.974 735743.339 0, 1505833.951 735713.558 0, 1505545.926 735683.794 0, 1505257.899 735654.047 0, 1504969.87 735624.317 0,
+ 1504681.84 735594.604 0, 1504393.808 735564.908 0, 1504105.774 735535.229 0, 1503817.738 735505.567 0, 1503529.701 735475.921 0, 1503241.662 735446.293 0, 1502953.621 735416.682 0, 1502665.578 735387.087 0, 1502377.534 735357.51 0, 1502089.488 735327.95 0,
+ 1501801.44 735298.406 0, 1501513.391 735268.879 0, 1501225.339 735239.37 0, 1500937.286 735209.877 0, 1500649.231 735180.402 0, 1500361.175 735150.943 0, 1500073.117 735121.501 0, 1499785.057 735092.076 0, 1499495.681 735062.534 0, 1498930.07 740604.546 0,
+ 1498364.43 746146.834 0, 1498653.151 746176.309 0, 1498940.558 746205.668 0, 1499227.964 746235.043 0, 1499515.368 746264.435 0, 1499802.771 746293.844 0, 1500090.171 746323.27 0, 1500377.57 746352.712 0, 1500664.968 746382.172 0, 1500952.363 746411.649 0,
+ 1501239.757 746441.142 0, 1501527.149 746470.653 0, 1501814.539 746500.18 0, 1502101.927 746529.724 0, 1502389.314 746559.285 0, 1502676.699 746588.863 0, 1502964.082 746618.458 0, 1503251.464 746648.07 0, 1503538.844 746677.699 0, 1503826.222 746707.345 0,
+ 1504113.598 746737.008 0, 1504400.973 746766.687 0, 1504688.345 746796.384 0, 1504975.717 746826.097 0, 1505261.776 746855.692 0, 1505550.453 746885.575 0, 1505837.819 746915.339 0, 1506125.183 746945.12 0, 1506412.546 746974.918 0, 1506699.906 747004.733 0,
+ 1506987.265 747034.565 0, 1507274.622 747064.413 0, 1507561.977 747094.279 0, 1507849.331 747124.161 0, 1508136.683 747154.061 0, 1508424.033 747183.977 0, 1508711.381 747213.911 0, 1508998.727 747243.861 0, 1509286.072 747273.828 0, 1509573.415 747303.812 0,
+ 1509860.756 747333.813 0, 1510148.095 747363.831 0, 1510435.433 747393.865 0, 1510722.769 747423.917 0, 1511010.103 747453.986 0, 1511297.435 747484.071 0, 1511584.766 747514.174 0, 1511872.095 747544.293 0, 1512158.113 747574.292 0, 1512739.408 742033.623 0,
+ 1513320.674 736493.232 0))
+
+POLYGON ((1525947.708 749040.713 0, 1525661.774 749009.906 0, 1525374.531 748978.975 0, 1525087.287 748948.061 0, 1524800.04 748917.164 0, 1524512.792 748886.284 0, 1524225.543 748855.421 0, 1523938.291 748824.574 0, 1523651.037 748793.745 0, 1523363.782 748762.932 0,
+ 1523076.525 748732.136 0, 1522789.266 748701.358 0, 1522502.005 748670.596 0, 1522214.743 748639.851 0, 1521927.479 748609.123 0, 1521640.212 748578.411 0, 1521352.944 748547.717 0, 1521065.675 748517.04 0, 1520778.403 748486.379 0, 1520491.13 748455.736 0,
+ 1520203.855 748425.109 0, 1519916.578 748394.5 0, 1519629.299 748363.907 0, 1519342.018 748333.331 0, 1519053.429 748302.633 0, 1518767.452 748272.23 0, 1518480.166 748241.705 0, 1518192.878 748211.196 0, 1517905.588 748180.705 0, 1517618.297 748150.231 0,
+ 1517331.004 748119.773 0, 1517043.709 748089.332 0, 1516756.412 748058.909 0, 1516469.114 748028.502 0, 1516181.813 747998.112 0, 1515894.511 747967.739 0, 1515607.208 747937.383 0, 1515319.902 747907.044 0, 1515032.594 747876.722 0, 1514745.285 747846.416 0,
+ 1514457.974 747816.128 0, 1514170.661 747785.856 0, 1513883.347 747755.602 0, 1513596.03 747725.364 0, 1513308.712 747695.143 0, 1513021.392 747664.939 0, 1512734.071 747634.752 0, 1512446.747 747604.582 0, 1512158.113 747574.292 0, 1511576.79 753115.234 0,
+ 1510995.437 758656.446 0, 1511283.416 758686.667 0, 1511570.087 758716.769 0, 1511856.757 758746.887 0, 1512143.424 758777.023 0, 1512430.09 758807.175 0, 1512716.754 758837.344 0, 1513003.417 758867.53 0, 1513290.077 758897.733 0, 1513576.736 758927.952 0,
+ 1513863.393 758958.189 0, 1514150.048 758988.442 0, 1514436.702 759018.713 0, 1514723.353 759049 0, 1515010.003 759079.304 0, 1515296.651 759109.625 0, 1515583.298 759139.962 0, 1515869.942 759170.317 0, 1516156.585 759200.689 0, 1516443.226 759231.077 0,
+ 1516729.865 759261.482 0, 1517016.502 759291.904 0, 1517303.138 759322.343 0, 1517589.772 759352.799 0, 1517875.099 759383.133 0, 1518163.034 759413.762 0, 1518449.662 759444.268 0, 1518736.289 759474.791 0, 1519022.914 759505.332 0, 1519309.537 759535.889 0,
+ 1519596.158 759566.463 0, 1519882.777 759597.054 0, 1520169.395 759627.661 0, 1520456.011 759658.286 0, 1520742.625 759688.927 0, 1521029.237 759719.586 0, 1521315.847 759750.261 0, 1521602.456 759780.953 0, 1521889.063 759811.662 0, 1522175.668 759842.387 0,
+ 1522462.271 759873.13 0, 1522748.872 759903.89 0, 1523035.472 759934.666 0, 1523322.069 759965.459 0, 1523608.665 759996.269 0, 1523895.259 760027.096 0, 1524181.852 760057.94 0, 1524468.442 760088.801 0, 1524753.728 760119.538 0, 1525350.733 754579.991 0,
+ 1525947.708 749040.713 0))
+
+POLYGON ((1538507.83 761621.495 0, 1538222.63 761589.951 0, 1537936.128 761558.281 0, 1537649.624 761526.628 0, 1537363.118 761494.991 0, 1537076.61 761463.371 0, 1536790.101 761431.769 0, 1536503.589 761400.183 0, 1536217.076 761368.613 0, 1535930.561 761337.061 0,
+ 1535644.044 761305.526 0, 1535357.525 761274.007 0, 1535071.004 761242.506 0, 1534784.482 761211.021 0, 1534497.957 761179.553 0, 1534211.431 761148.102 0, 1533924.903 761116.668 0, 1533638.373 761085.25 0, 1533351.841 761053.85 0, 1533065.307 761022.466 0,
+ 1532778.772 760991.1 0, 1532492.234 760959.75 0, 1532205.695 760928.417 0, 1531919.154 760897.101 0, 1531631.309 760865.659 0, 1531346.066 760834.519 0, 1531059.52 760803.253 0, 1530772.971 760772.005 0, 1530486.421 760740.773 0, 1530199.869 760709.558 0,
+ 1529913.315 760678.36 0, 1529626.759 760647.179 0, 1529340.202 760616.014 0, 1529053.642 760584.867 0, 1528767.081 760553.736 0, 1528480.518 760522.622 0, 1528193.953 760491.526 0, 1527907.386 760460.446 0, 1527620.817 760429.382 0, 1527334.247 760398.336 0,
+ 1527047.675 760367.307 0, 1526761.101 760336.294 0, 1526474.525 760305.299 0, 1526187.947 760274.32 0, 1525901.367 760243.358 0, 1525614.786 760212.413 0, 1525328.203 760181.484 0, 1525041.618 760150.573 0, 1524753.728 760119.538 0, 1524156.694 765659.352 0,
+ 1523559.633 771199.429 0, 1523846.867 771230.393 0, 1524132.8 771261.234 0, 1524418.731 771292.092 0, 1524704.661 771322.967 0, 1524990.588 771353.858 0, 1525276.514 771384.767 0, 1525562.437 771415.692 0, 1525848.359 771446.634 0, 1526134.28 771477.593 0,
+ 1526420.198 771508.568 0, 1526706.114 771539.561 0, 1526992.029 771570.57 0, 1527277.942 771601.596 0, 1527563.853 771632.639 0, 1527849.762 771663.699 0, 1528135.67 771694.775 0, 1528421.575 771725.869 0, 1528707.479 771756.979 0, 1528993.381 771788.106 0,
+ 1529279.281 771819.25 0, 1529565.179 771850.411 0, 1529851.075 771881.588 0, 1530136.97 771912.783 0, 1530421.564 771943.852 0, 1530708.754 771975.222 0, 1530994.643 772006.467 0, 1531280.53 772037.729 0, 1531566.415 772069.007 0, 1531852.299 772100.303 0,
+ 1532138.18 772131.615 0, 1532424.06 772162.944 0, 1532709.938 772194.29 0, 1532995.814 772225.652 0, 1533281.689 772257.032 0, 1533567.561 772288.428 0, 1533853.432 772319.841 0, 1534139.3 772351.271 0, 1534425.167 772382.718 0, 1534711.032 772414.182 0,
+ 1534996.896 772445.662 0, 1535282.757 772477.159 0, 1535568.616 772508.673 0, 1535854.474 772540.204 0, 1536140.33 772571.752 0, 1536426.184 772603.317 0, 1536712.036 772634.898 0, 1536997.886 772666.496 0, 1537282.437 772697.968 0, 1537895.148 767159.6 0,
+ 1538507.83 761621.495 0))
+
+POLYGON ((1551000.953 774235.27 0, 1550716.49 774202.994 0, 1550430.73 774170.588 0, 1550144.968 774138.2 0, 1549859.204 774105.828 0, 1549573.439 774073.472 0, 1549287.672 774041.134 0, 1549001.902 774008.812 0, 1548716.131 773976.508 0, 1548430.358 773944.22 0,
+ 1548144.583 773911.949 0, 1547858.806 773879.694 0, 1547573.027 773847.457 0, 1547287.246 773815.236 0, 1547001.464 773783.032 0, 1546715.679 773750.845 0, 1546429.893 773718.675 0, 1546144.105 773686.522 0, 1545858.314 773654.385 0, 1545572.522 773622.266 0,
+ 1545286.728 773590.163 0, 1545000.933 773558.077 0, 1544715.135 773526.007 0, 1544429.335 773493.955 0, 1544142.238 773461.774 0, 1543857.73 773429.9 0, 1543571.925 773397.898 0, 1543286.118 773365.913 0, 1543000.309 773333.945 0, 1542714.498 773301.993 0,
+ 1542428.685 773270.059 0, 1542142.87 773238.141 0, 1541857.054 773206.24 0, 1541571.235 773174.356 0, 1541285.415 773142.488 0, 1540999.593 773110.638 0, 1540713.769 773078.804 0, 1540427.943 773046.987 0, 1540142.115 773015.187 0, 1539856.285 772983.404 0,
+ 1539570.454 772951.637 0, 1539284.62 772919.888 0, 1538998.785 772888.155 0, 1538712.948 772856.439 0, 1538427.109 772824.74 0, 1538141.268 772793.057 0, 1537855.425 772761.392 0, 1537569.581 772729.743 0, 1537282.437 772697.968 0, 1536669.697 778236.595 0,
+ 1536056.929 783775.479 0, 1536343.418 783807.181 0, 1536628.61 783838.758 0, 1536913.801 783870.351 0, 1537198.99 783901.961 0, 1537484.177 783933.588 0, 1537769.362 783965.232 0, 1538054.546 783996.892 0, 1538339.727 784028.569 0, 1538624.907 784060.263 0,
+ 1538910.084 784091.974 0, 1539195.26 784123.702 0, 1539480.434 784155.446 0, 1539765.606 784187.207 0, 1540050.777 784218.985 0, 1540335.945 784250.78 0, 1540621.111 784282.591 0, 1540906.276 784314.42 0, 1541191.439 784346.265 0, 1541476.6 784378.127 0,
+ 1541761.759 784410.005 0, 1542046.916 784441.901 0, 1542332.071 784473.813 0, 1542617.224 784505.742 0, 1542901.083 784537.543 0, 1543187.526 784569.65 0, 1543472.673 784601.629 0, 1543757.819 784633.626 0, 1544042.963 784665.638 0, 1544328.105 784697.668 0,
+ 1544613.245 784729.715 0, 1544898.384 784761.778 0, 1545183.52 784793.858 0, 1545468.655 784825.955 0, 1545753.787 784858.068 0, 1546038.918 784890.199 0, 1546324.047 784922.346 0, 1546609.174 784954.51 0, 1546894.299 784986.69 0, 1547179.422 785018.888 0,
+ 1547464.543 785051.102 0, 1547749.663 785083.333 0, 1548034.78 785115.581 0, 1548319.896 785147.846 0, 1548605.01 785180.127 0, 1548890.121 785212.425 0, 1549175.231 785244.74 0, 1549460.339 785277.072 0, 1549744.153 785309.274 0, 1550372.568 779772.144 0,
+ 1551000.953 774235.27 0))
+
+POLYGON ((1563426.99 786881.732 0, 1563143.266 786848.728 0, 1562858.25 786815.591 0, 1562573.233 786782.471 0, 1562288.214 786749.367 0, 1562003.192 786716.281 0, 1561718.169 786683.211 0, 1561433.144 786650.157 0, 1561148.117 786617.121 0, 1560863.087 786584.101 0,
+ 1560578.056 786551.098 0, 1560293.023 786518.112 0, 1560007.988 786485.143 0, 1559722.951 786452.19 0, 1559437.913 786419.255 0, 1559152.872 786386.336 0, 1558867.829 786353.433 0, 1558582.784 786320.548 0, 1558297.738 786287.679 0, 1558012.689 786254.827 0,
+ 1557727.639 786221.992 0, 1557442.587 786189.174 0, 1557157.532 786156.372 0, 1556872.476 786123.587 0, 1556586.127 786090.671 0, 1556302.358 786058.068 0, 1556017.296 786025.334 0, 1555732.232 785992.616 0, 1555447.166 785959.915 0, 1555162.098 785927.231 0,
+ 1554877.028 785894.564 0, 1554591.957 785861.913 0, 1554306.883 785829.279 0, 1554021.808 785796.662 0, 1553736.73 785764.062 0, 1553451.651 785731.479 0, 1553166.57 785698.912 0, 1552881.486 785666.362 0, 1552596.401 785633.829 0, 1552311.314 785601.313 0,
+ 1552026.225 785568.813 0, 1551741.135 785536.33 0, 1551456.042 785503.864 0, 1551170.947 785471.415 0, 1550885.851 785438.983 0, 1550600.752 785406.567 0, 1550315.652 785374.168 0, 1550030.55 785341.786 0, 1549744.153 785309.274 0, 1549115.711 790846.656 0,
+ 1548487.24 796384.288 0, 1548772.981 796416.725 0, 1549057.432 796449.033 0, 1549341.88 796481.358 0, 1549626.327 796513.7 0, 1549910.771 796546.058 0, 1550195.214 796578.433 0, 1550479.655 796610.825 0, 1550764.094 796643.233 0, 1551048.531 796675.659 0,
+ 1551332.966 796708.101 0, 1551617.4 796740.559 0, 1551901.831 796773.035 0, 1552186.26 796805.527 0, 1552470.688 796838.036 0, 1552755.114 796870.562 0, 1553039.537 796903.104 0, 1553323.959 796935.663 0, 1553608.379 796968.239 0, 1553892.797 797000.832 0,
+ 1554177.213 797033.441 0, 1554461.627 797066.067 0, 1554746.039 797098.71 0, 1555030.45 797131.37 0, 1555313.57 797163.898 0, 1555599.264 797196.739 0, 1555883.669 797229.449 0, 1556168.071 797262.176 0, 1556452.472 797294.919 0, 1556736.871 797327.679 0,
+ 1557021.268 797360.456 0, 1557305.663 797393.249 0, 1557590.055 797426.06 0, 1557874.446 797458.887 0, 1558158.836 797491.731 0, 1558443.223 797524.591 0, 1558727.608 797557.468 0, 1559011.991 797590.362 0, 1559296.372 797623.273 0, 1559580.752 797656.2 0,
+ 1559865.129 797689.145 0, 1560149.505 797722.105 0, 1560433.878 797755.083 0, 1560718.25 797788.078 0, 1561002.62 797821.089 0, 1561286.987 797854.117 0, 1561571.353 797887.161 0, 1561855.717 797920.222 0, 1562138.793 797953.151 0, 1562782.906 792417.317 0,
+ 1563426.99 786881.732 0))
+
+POLYGON ((1575785.859 799560.576 0, 1575502.875 799526.848 0, 1575218.606 799492.983 0, 1574934.335 799459.135 0, 1574650.061 799425.304 0, 1574365.786 799391.49 0, 1574081.509 799357.692 0, 1573797.229 799323.911 0, 1573512.948 799290.147 0, 1573228.665 799256.399 0,
+ 1572944.38 799222.669 0, 1572660.092 799188.955 0, 1572375.803 799155.257 0, 1572091.512 799121.577 0, 1571807.219 799087.913 0, 1571522.924 799054.266 0, 1571238.627 799020.636 0, 1570954.328 798987.022 0, 1570670.026 798953.425 0, 1570385.723 798919.845 0,
+ 1570101.418 798886.282 0, 1569817.111 798852.735 0, 1569532.802 798819.205 0, 1569248.491 798785.692 0, 1568962.893 798752.044 0, 1568679.864 798718.716 0, 1568395.547 798685.253 0, 1568111.228 798651.806 0, 1567826.907 798618.377 0, 1567542.584 798584.964 0,
+ 1567258.26 798551.568 0, 1566973.933 798518.189 0, 1566689.604 798484.826 0, 1566405.273 798451.48 0, 1566120.941 798418.151 0, 1565836.606 798384.839 0, 1565552.27 798351.543 0, 1565267.931 798318.264 0, 1564983.591 798285.002 0, 1564699.249 798251.756 0,
+ 1564414.904 798218.528 0, 1564130.558 798185.316 0, 1563846.21 798152.12 0, 1563561.859 798118.942 0, 1563277.507 798085.78 0, 1562993.153 798052.635 0, 1562708.797 798019.507 0, 1562424.439 797986.395 0, 1562138.793 797953.151 0, 1561494.651 803489.23 0,
+ 1560850.481 809025.55 0, 1561135.473 809058.719 0, 1561419.179 809091.754 0, 1561702.883 809124.807 0, 1561986.586 809157.876 0, 1562270.286 809190.961 0, 1562553.985 809224.064 0, 1562837.681 809257.183 0, 1563121.376 809290.319 0, 1563405.069 809323.471 0,
+ 1563688.76 809356.641 0, 1563972.448 809389.827 0, 1564256.135 809423.029 0, 1564539.82 809456.249 0, 1564823.503 809489.485 0, 1565107.184 809522.737 0, 1565390.863 809556.007 0, 1565674.54 809589.293 0, 1565958.215 809622.596 0, 1566241.888 809655.915 0,
+ 1566525.559 809689.252 0, 1566809.229 809722.604 0, 1567092.896 809755.974 0, 1567376.561 809789.36 0, 1567658.942 809822.612 0, 1567943.886 809856.183 0, 1568227.545 809889.619 0, 1568511.202 809923.073 0, 1568794.858 809956.542 0, 1569078.511 809990.029 0,
+ 1569362.163 810023.532 0, 1569645.812 810057.052 0, 1569929.46 810090.588 0, 1570213.105 810124.142 0, 1570496.749 810157.712 0, 1570780.391 810191.298 0, 1571064.03 810224.902 0, 1571347.668 810258.522 0, 1571631.304 810292.158 0, 1571914.937 810325.812 0,
+ 1572198.569 810359.482 0, 1572482.199 810393.169 0, 1572765.827 810426.872 0, 1573049.452 810460.593 0, 1573333.076 810494.329 0, 1573616.698 810528.083 0, 1573900.318 810561.853 0, 1574183.936 810595.64 0, 1574466.271 810629.291 0, 1575126.079 805094.813 0,
+ 1575785.859 799560.576 0))
+
+POLYGON ((1588077.475 812271.493 0, 1587795.234 812237.044 0, 1587511.713 812202.456 0, 1587228.19 812167.885 0, 1586944.664 812133.33 0, 1586661.137 812098.792 0, 1586377.608 812064.271 0, 1586094.076 812029.766 0, 1585810.543 811995.278 0, 1585527.007 811960.807 0,
+ 1585243.47 811926.352 0, 1584959.93 811891.914 0, 1584676.389 811857.493 0, 1584392.845 811823.088 0, 1584109.3 811788.7 0, 1583825.752 811754.329 0, 1583542.202 811719.975 0, 1583258.651 811685.637 0, 1582975.097 811651.316 0, 1582691.541 811617.011 0,
+ 1582407.983 811582.724 0, 1582124.424 811548.453 0, 1581840.862 811514.198 0, 1581557.298 811479.961 0, 1581272.453 811445.585 0, 1580990.165 811411.535 0, 1580706.595 811377.348 0, 1580423.023 811343.177 0, 1580139.449 811309.023 0, 1579855.873 811274.885 0,
+ 1579572.295 811240.764 0, 1579288.716 811206.66 0, 1579005.134 811172.573 0, 1578721.55 811138.502 0, 1578437.964 811104.448 0, 1578154.376 811070.411 0, 1577870.786 811036.39 0, 1577587.194 811002.386 0, 1577303.6 810968.399 0, 1577020.004 810934.428 0,
+ 1576736.407 810900.474 0, 1576452.807 810866.537 0, 1576169.205 810832.617 0, 1575885.601 810798.713 0, 1575601.995 810764.826 0, 1575318.387 810730.955 0, 1575034.777 810697.101 0, 1574751.165 810663.264 0, 1574466.271 810629.291 0, 1573806.434 816164.008 0,
+ 1573146.569 821698.959 0, 1573430.809 821732.854 0, 1573713.77 821766.613 0, 1573996.728 821800.389 0, 1574279.684 821834.182 0, 1574562.639 821867.991 0, 1574845.591 821901.817 0, 1575128.541 821935.66 0, 1575411.49 821969.519 0, 1575694.436 822003.395 0,
+ 1575977.381 822037.287 0, 1576260.323 822071.197 0, 1576543.263 822105.122 0, 1576826.202 822139.065 0, 1577109.138 822173.024 0, 1577392.073 822207 0, 1577675.005 822240.992 0, 1577957.935 822275.002 0, 1578240.864 822309.027 0, 1578523.79 822343.07 0,
+ 1578806.715 822377.129 0, 1579089.637 822411.205 0, 1579372.558 822445.297 0, 1579655.476 822479.406 0, 1579937.116 822513.378 0, 1580221.307 822547.674 0, 1580504.219 822581.833 0, 1580787.129 822616.009 0, 1581070.038 822650.201 0, 1581352.944 822684.41 0,
+ 1581635.848 822718.636 0, 1581918.751 822752.878 0, 1582201.651 822787.137 0, 1582484.549 822821.412 0, 1582767.445 822855.705 0, 1583050.34 822890.013 0, 1583333.232 822924.339 0, 1583616.122 822958.681 0, 1583899.01 822993.04 0, 1584181.896 823027.415 0,
+ 1584464.78 823061.807 0, 1584747.662 823096.216 0, 1585030.543 823130.642 0, 1585313.421 823165.084 0, 1585596.297 823199.542 0, 1585879.171 823234.018 0, 1586162.043 823268.51 0, 1586444.912 823303.018 0, 1586726.505 823337.388 0, 1587402.004 817804.323 0,
+ 1588077.475 812271.493 0))
+
+POLYGON ((1600301.758 825014.176 0, 1600020.261 824979.011 0, 1599737.49 824943.703 0, 1599454.717 824908.412 0, 1599171.941 824873.138 0, 1598889.164 824837.88 0, 1598606.384 824802.639 0, 1598323.602 824767.415 0, 1598040.819 824732.207 0, 1597758.033 824697.016 0,
+ 1597475.245 824661.841 0, 1597192.455 824626.683 0, 1596909.663 824591.542 0, 1596626.869 824556.417 0, 1596344.073 824521.31 0, 1596061.275 824486.218 0, 1595778.474 824451.144 0, 1595495.672 824416.086 0, 1595212.867 824381.044 0, 1594930.061 824346.019 0,
+ 1594647.252 824311.011 0, 1594364.442 824276.02 0, 1594081.629 824241.045 0, 1593798.814 824206.087 0, 1593514.724 824170.988 0, 1593233.179 824136.221 0, 1592950.358 824101.312 0, 1592667.535 824066.421 0, 1592384.71 824031.546 0, 1592101.883 823996.688 0,
+ 1591819.054 823961.846 0, 1591536.223 823927.021 0, 1591253.389 823892.213 0, 1590970.554 823857.421 0, 1590687.717 823822.646 0, 1590404.878 823787.888 0, 1590122.036 823753.146 0, 1589839.193 823718.421 0, 1589556.347 823683.712 0, 1589273.5 823649.021 0,
+ 1588990.65 823614.346 0, 1588707.799 823579.687 0, 1588424.945 823545.045 0, 1588142.089 823510.42 0, 1587859.232 823475.811 0, 1587576.372 823441.22 0, 1587293.51 823406.644 0, 1587010.646 823372.086 0, 1586726.505 823337.388 0, 1586050.978 828870.684 0,
+ 1585375.422 834404.206 0, 1585658.909 834438.824 0, 1585941.121 834473.303 0, 1586223.332 834507.799 0, 1586505.54 834542.311 0, 1586787.747 834576.84 0, 1587069.951 834611.385 0, 1587352.153 834645.947 0, 1587634.354 834680.526 0, 1587916.552 834715.121 0,
+ 1588198.748 834749.733 0, 1588480.942 834784.362 0, 1588763.134 834819.007 0, 1589045.324 834853.669 0, 1589327.512 834888.347 0, 1589609.698 834923.042 0, 1589891.882 834957.753 0, 1590174.064 834992.482 0, 1590456.244 835027.226 0, 1590738.422 835061.988 0,
+ 1591020.598 835096.766 0, 1591302.771 835131.56 0, 1591584.943 835166.372 0, 1591867.113 835201.199 0, 1592148.009 835235.887 0, 1592431.446 835270.905 0, 1592713.609 835305.782 0, 1592995.771 835340.677 0, 1593277.93 835375.588 0, 1593560.087 835410.515 0,
+ 1593842.243 835445.459 0, 1594124.396 835480.42 0, 1594406.547 835515.397 0, 1594688.696 835550.391 0, 1594970.843 835585.401 0, 1595252.988 835620.429 0, 1595535.131 835655.472 0, 1595817.272 835690.533 0, 1596099.411 835725.61 0, 1596381.547 835760.703 0,
+ 1596663.682 835795.813 0, 1596945.814 835830.94 0, 1597227.945 835866.083 0, 1597510.073 835901.243 0, 1597792.2 835936.42 0, 1598074.324 835971.613 0, 1598356.446 836006.823 0, 1598638.566 836042.049 0, 1598919.415 836077.133 0, 1599610.601 830545.541 0,
+ 1600301.758 825014.176 0))
+
+POLYGON ((1103663.24 388147.788 0, 1103356.235 388141.724 0, 1103047.753 388135.65 0, 1102739.271 388129.594 0, 1102430.788 388123.556 0, 1102122.305 388117.536 0, 1101813.822 388111.535 0, 1101505.338 388105.551 0, 1101196.855 388099.586 0, 1100888.37 388093.639 0,
+ 1100579.886 388087.71 0, 1100271.401 388081.799 0, 1099962.915 388075.906 0, 1099654.43 388070.032 0, 1099345.944 388064.175 0, 1099037.457 388058.337 0, 1098728.971 388052.517 0, 1098420.483 388046.715 0, 1098111.996 388040.931 0, 1097803.508 388035.166 0,
+ 1097495.02 388029.418 0, 1097186.532 388023.689 0, 1096878.043 388017.978 0, 1096569.554 388012.285 0, 1096259.587 388006.583 0, 1095952.575 388000.953 0, 1095644.085 387995.315 0, 1095335.594 387989.694 0, 1095027.104 387984.092 0, 1094718.613 387978.508 0,
+ 1094410.121 387972.942 0, 1094101.629 387967.395 0, 1093793.137 387961.865 0, 1093484.645 387956.354 0, 1093176.152 387950.86 0, 1092867.659 387945.385 0, 1092559.166 387939.928 0, 1092250.672 387934.49 0, 1091942.178 387929.069 0, 1091633.684 387923.667 0,
+ 1091325.189 387918.282 0, 1091016.694 387912.916 0, 1090708.199 387907.568 0, 1090399.703 387902.238 0, 1090091.208 387896.927 0, 1089782.711 387891.633 0, 1089474.215 387886.358 0, 1089165.718 387881.101 0, 1088855.743 387875.837 0, 1088761.684 393424.117 0,
+ 1088667.618 398972.859 0, 1088976.937 398978.112 0, 1089284.781 398983.358 0, 1089592.624 398988.622 0, 1089900.467 398993.904 0, 1090208.31 398999.205 0, 1090516.152 399004.523 0, 1090823.994 399009.86 0, 1091131.836 399015.215 0, 1091439.678 399020.588 0,
+ 1091747.519 399025.979 0, 1092055.36 399031.388 0, 1092363.2 399036.815 0, 1092671.04 399042.26 0, 1092978.88 399047.724 0, 1093286.72 399053.205 0, 1093594.559 399058.705 0, 1093902.398 399064.223 0, 1094210.237 399069.759 0, 1094518.075 399075.313 0,
+ 1094825.913 399080.885 0, 1095133.75 399086.476 0, 1095441.588 399092.084 0, 1095749.425 399097.711 0, 1096055.787 399103.328 0, 1096365.098 399109.018 0, 1096672.933 399114.699 0, 1096980.769 399120.398 0, 1097288.604 399126.115 0, 1097596.439 399131.85 0,
+ 1097904.274 399137.604 0, 1098212.108 399143.375 0, 1098519.942 399149.165 0, 1098827.776 399154.973 0, 1099135.609 399160.799 0, 1099443.442 399166.643 0, 1099751.274 399172.505 0, 1100059.107 399178.385 0, 1100366.938 399184.283 0, 1100674.77 399190.2 0,
+ 1100982.601 399196.134 0, 1101290.432 399202.087 0, 1101598.262 399208.058 0, 1101906.093 399214.047 0, 1102213.922 399220.054 0, 1102521.752 399226.079 0, 1102829.581 399232.122 0, 1103137.409 399238.184 0, 1103443.765 399244.234 0, 1103553.507 393695.78 0,
+ 1103663.24 388147.788 0))
+
+POLYGON ((1118219.087 399557.354 0, 1117912.747 399550.438 0, 1117604.937 399543.507 0, 1117297.126 399536.594 0, 1116989.315 399529.699 0, 1116681.503 399522.822 0, 1116373.691 399515.964 0, 1116065.879 399509.123 0, 1115758.066 399502.301 0, 1115450.253 399495.496 0,
+ 1115142.439 399488.71 0, 1114834.625 399481.942 0, 1114526.811 399475.192 0, 1114218.996 399468.461 0, 1113911.181 399461.747 0, 1113603.366 399455.052 0, 1113295.55 399448.374 0, 1112987.733 399441.715 0, 1112679.917 399435.074 0, 1112372.099 399428.451 0,
+ 1112064.282 399421.846 0, 1111756.464 399415.259 0, 1111448.646 399408.69 0, 1111140.827 399402.14 0, 1110831.536 399395.576 0, 1110525.189 399389.093 0, 1110217.369 399382.597 0, 1109909.549 399376.118 0, 1109601.728 399369.658 0, 1109293.907 399363.217 0,
+ 1108986.086 399356.793 0, 1108678.264 399350.387 0, 1108370.442 399344 0, 1108062.619 399337.63 0, 1107754.796 399331.279 0, 1107446.973 399324.946 0, 1107139.15 399318.631 0, 1106831.326 399312.334 0, 1106523.501 399306.055 0, 1106215.677 399299.794 0,
+ 1105907.852 399293.552 0, 1105600.026 399287.327 0, 1105292.2 399281.121 0, 1104984.374 399274.933 0, 1104676.548 399268.762 0, 1104368.721 399262.61 0, 1104060.893 399256.477 0, 1103753.066 399250.361 0, 1103443.765 399244.234 0, 1103334.014 404793.147 0,
+ 1103224.253 410342.516 0, 1103532.898 410348.63 0, 1103840.072 410354.733 0, 1104147.246 410360.854 0, 1104454.42 410366.993 0, 1104761.593 410373.15 0, 1105068.766 410379.325 0, 1105375.939 410385.518 0, 1105683.111 410391.729 0, 1105990.283 410397.959 0,
+ 1106297.454 410404.206 0, 1106604.626 410410.472 0, 1106911.796 410416.755 0, 1107218.967 410423.057 0, 1107526.137 410429.377 0, 1107833.306 410435.714 0, 1108140.476 410442.07 0, 1108447.645 410448.444 0, 1108754.813 410454.836 0, 1109061.981 410461.246 0,
+ 1109369.149 410467.675 0, 1109676.316 410474.121 0, 1109983.483 410480.585 0, 1110290.65 410487.068 0, 1110596.348 410493.537 0, 1110904.982 410500.087 0, 1111212.148 410506.624 0, 1111519.313 410513.178 0, 1111826.477 410519.751 0, 1112133.642 410526.342 0,
+ 1112440.806 410532.951 0, 1112747.969 410539.578 0, 1113055.132 410546.223 0, 1113362.295 410552.887 0, 1113669.457 410559.568 0, 1113976.619 410566.267 0, 1114283.781 410572.985 0, 1114590.942 410579.72 0, 1114898.103 410586.474 0, 1115205.263 410593.246 0,
+ 1115512.423 410600.036 0, 1115819.583 410606.843 0, 1116126.742 410613.669 0, 1116433.901 410620.513 0, 1116741.059 410627.375 0, 1117048.217 410634.256 0, 1117355.375 410641.154 0, 1117662.532 410648.07 0, 1117968.221 410654.972 0, 1118093.659 405105.934 0,
+ 1118219.087 399557.354 0))
+
+POLYGON ((1132711.248 411009.08 0, 1132405.576 411001.315 0, 1132098.44 410993.531 0, 1131791.303 410985.765 0, 1131484.166 410978.017 0, 1131177.028 410970.287 0, 1130869.89 410962.575 0, 1130562.751 410954.881 0, 1130255.612 410947.206 0, 1129948.473 410939.548 0,
+ 1129641.333 410931.909 0, 1129334.192 410924.287 0, 1129027.051 410916.684 0, 1128719.91 410909.099 0, 1128412.768 410901.532 0, 1128105.626 410893.983 0, 1127798.483 410886.452 0, 1127491.34 410878.939 0, 1127184.196 410871.444 0, 1126877.052 410863.967 0,
+ 1126569.908 410856.508 0, 1126262.763 410849.068 0, 1125955.618 410841.645 0, 1125648.472 410834.241 0, 1125339.859 410826.819 0, 1125034.179 410819.486 0, 1124727.032 410812.136 0, 1124419.884 410804.804 0, 1124112.736 410797.49 0, 1123805.588 410790.194 0,
+ 1123498.439 410782.916 0, 1123191.29 410775.656 0, 1122884.14 410768.414 0, 1122576.99 410761.19 0, 1122269.84 410753.985 0, 1121962.689 410746.797 0, 1121655.537 410739.628 0, 1121348.386 410732.477 0, 1121041.233 410725.343 0, 1120734.081 410718.228 0,
+ 1120426.928 410711.131 0, 1120119.774 410704.052 0, 1119812.62 410696.991 0, 1119505.466 410689.948 0, 1119198.311 410682.923 0, 1118891.156 410675.916 0, 1118584.001 410668.928 0, 1118276.845 410661.957 0, 1117968.221 410654.972 0, 1117842.773 416204.462 0,
+ 1117717.315 421754.402 0, 1118025.282 421761.373 0, 1118331.785 421768.329 0, 1118638.287 421775.302 0, 1118944.789 421782.294 0, 1119251.29 421789.304 0, 1119557.791 421796.332 0, 1119864.292 421803.378 0, 1120170.792 421810.442 0, 1120477.292 421817.524 0,
+ 1120783.791 421824.624 0, 1121090.29 421831.742 0, 1121396.789 421838.878 0, 1121703.287 421846.033 0, 1122009.784 421853.205 0, 1122316.282 421860.395 0, 1122622.778 421867.603 0, 1122929.275 421874.83 0, 1123235.771 421882.074 0, 1123542.266 421889.337 0,
+ 1123848.761 421896.617 0, 1124155.256 421903.916 0, 1124461.75 421911.232 0, 1124768.244 421918.567 0, 1125073.274 421925.884 0, 1125381.23 421933.29 0, 1125687.723 421940.679 0, 1125994.215 421948.085 0, 1126300.707 421955.51 0, 1126607.198 421962.953 0,
+ 1126913.689 421970.414 0, 1127220.179 421977.893 0, 1127526.669 421985.39 0, 1127833.158 421992.905 0, 1128139.647 422000.438 0, 1128446.136 422007.989 0, 1128752.624 422015.558 0, 1129059.112 422023.145 0, 1129365.599 422030.75 0, 1129672.086 422038.374 0,
+ 1129978.572 422046.015 0, 1130285.058 422053.674 0, 1130591.543 422061.351 0, 1130898.028 422069.047 0, 1131204.513 422076.76 0, 1131510.997 422084.492 0, 1131817.48 422092.241 0, 1132123.963 422100.009 0, 1132428.984 422107.757 0, 1132570.122 416558.193 0,
+ 1132711.248 411009.08 0))
+
+POLYGON ((1147139.597 422502.674 0, 1146834.597 422494.064 0, 1146528.137 422485.43 0, 1146221.676 422476.815 0, 1145915.215 422468.218 0, 1145608.754 422459.638 0, 1145302.292 422451.077 0, 1144995.829 422442.534 0, 1144689.366 422434.009 0, 1144382.903 422425.502 0,
+ 1144076.439 422417.013 0, 1143769.974 422408.542 0, 1143463.509 422400.089 0, 1143157.044 422391.654 0, 1142850.578 422383.237 0, 1142544.111 422374.838 0, 1142237.644 422366.457 0, 1141931.177 422358.094 0, 1141624.709 422349.749 0, 1141318.24 422341.423 0,
+ 1141011.771 422333.114 0, 1140705.302 422324.823 0, 1140398.832 422316.551 0, 1140092.361 422308.296 0, 1139784.43 422300.02 0, 1139479.419 422291.841 0, 1139172.947 422283.641 0, 1138866.475 422275.458 0, 1138560.002 422267.294 0, 1138253.529 422259.148 0,
+ 1137947.055 422251.019 0, 1137640.581 422242.909 0, 1137334.106 422234.817 0, 1137027.631 422226.743 0, 1136721.155 422218.686 0, 1136414.679 422210.648 0, 1136108.202 422202.628 0, 1135801.725 422194.626 0, 1135495.248 422186.642 0, 1135188.77 422178.676 0,
+ 1134882.291 422170.728 0, 1134575.812 422162.798 0, 1134269.333 422154.887 0, 1133962.853 422146.993 0, 1133656.372 422139.117 0, 1133349.891 422131.259 0, 1133043.41 422123.42 0, 1132736.928 422115.598 0, 1132428.984 422107.757 0, 1132287.836 427657.768 0,
+ 1132146.676 433208.224 0, 1132453.963 433216.048 0, 1132759.792 433223.853 0, 1133065.62 433231.676 0, 1133371.447 433239.517 0, 1133677.274 433247.376 0, 1133983.101 433255.253 0, 1134288.927 433263.148 0, 1134594.752 433271.06 0, 1134900.578 433278.991 0,
+ 1135206.402 433286.94 0, 1135512.227 433294.907 0, 1135818.05 433302.892 0, 1136123.874 433310.895 0, 1136429.696 433318.916 0, 1136735.519 433326.955 0, 1137041.341 433335.012 0, 1137347.162 433343.087 0, 1137652.983 433351.18 0, 1137958.803 433359.291 0,
+ 1138264.623 433367.42 0, 1138570.443 433375.567 0, 1138876.262 433383.732 0, 1139182.081 433391.915 0, 1139486.441 433400.077 0, 1139793.716 433408.335 0, 1140099.533 433416.572 0, 1140405.35 433424.827 0, 1140711.166 433433.1 0, 1141016.982 433441.391 0,
+ 1141322.797 433449.7 0, 1141628.611 433458.027 0, 1141934.426 433466.372 0, 1142240.239 433474.735 0, 1142546.052 433483.116 0, 1142851.865 433491.515 0, 1143157.677 433499.932 0, 1143463.489 433508.367 0, 1143769.3 433516.82 0, 1144075.111 433525.291 0,
+ 1144380.921 433533.78 0, 1144686.731 433542.287 0, 1144992.54 433550.812 0, 1145298.349 433559.355 0, 1145604.157 433567.916 0, 1145909.964 433576.495 0, 1146215.772 433585.092 0, 1146521.578 433593.707 0, 1146825.928 433602.298 0, 1146982.769 428052.264 0,
+ 1147139.597 422502.674 0))
+
+POLYGON ((1161504.009 434037.843 0, 1161199.682 434028.392 0, 1160893.901 434018.913 0, 1160588.119 434009.452 0, 1160282.337 434000.009 0, 1159976.554 433990.584 0, 1159670.771 433981.177 0, 1159364.987 433971.788 0, 1159059.203 433962.417 0, 1158753.418 433953.064 0,
+ 1158447.632 433943.729 0, 1158141.846 433934.413 0, 1157836.059 433925.114 0, 1157530.272 433915.833 0, 1157224.485 433906.57 0, 1156918.696 433897.325 0, 1156612.907 433888.098 0, 1156307.118 433878.889 0, 1156001.328 433869.698 0, 1155695.538 433860.525 0,
+ 1155389.747 433851.37 0, 1155083.955 433842.233 0, 1154778.163 433833.114 0, 1154472.371 433824.013 0, 1154165.123 433814.887 0, 1153860.784 433805.866 0, 1153554.99 433796.819 0, 1153249.195 433787.79 0, 1152943.4 433778.779 0, 1152637.604 433769.786 0,
+ 1152331.807 433760.811 0, 1152026.011 433751.854 0, 1151720.213 433742.915 0, 1151414.415 433733.994 0, 1151108.617 433725.091 0, 1150802.818 433716.206 0, 1150497.019 433707.339 0, 1150191.219 433698.49 0, 1149885.418 433689.659 0, 1149579.617 433680.846 0,
+ 1149273.815 433672.051 0, 1148968.013 433663.274 0, 1148662.211 433654.515 0, 1148356.408 433645.774 0, 1148050.604 433637.051 0, 1147744.8 433628.346 0, 1147438.995 433619.66 0, 1147133.19 433610.991 0, 1146825.928 433602.298 0, 1146669.075 439152.774 0,
+ 1146512.21 444703.688 0, 1146818.815 444712.362 0, 1147123.967 444721.012 0, 1147429.118 444729.681 0, 1147734.269 444738.367 0, 1148039.419 444747.071 0, 1148344.569 444755.794 0, 1148649.718 444764.534 0, 1148954.867 444773.292 0, 1149260.015 444782.068 0,
+ 1149565.163 444790.862 0, 1149870.31 444799.675 0, 1150175.456 444808.505 0, 1150480.602 444817.353 0, 1150785.748 444826.219 0, 1151090.893 444835.102 0, 1151396.038 444844.004 0, 1151701.182 444852.924 0, 1152006.325 444861.862 0, 1152311.468 444870.818 0,
+ 1152616.61 444879.792 0, 1152921.752 444888.783 0, 1153226.894 444897.793 0, 1153532.034 444906.82 0, 1153835.723 444915.823 0, 1154142.314 444924.93 0, 1154447.454 444934.011 0, 1154752.592 444943.111 0, 1155057.73 444952.228 0, 1155362.868 444961.363 0,
+ 1155668.005 444970.517 0, 1155973.142 444979.688 0, 1156278.278 444988.877 0, 1156583.413 444998.084 0, 1156888.548 445007.31 0, 1157193.682 445016.553 0, 1157498.816 445025.814 0, 1157803.949 445035.093 0, 1158109.082 445044.39 0, 1158414.214 445053.705 0,
+ 1158719.346 445063.038 0, 1159024.477 445072.389 0, 1159329.608 445081.757 0, 1159634.738 445091.144 0, 1159939.867 445100.549 0, 1160244.996 445109.972 0, 1160550.124 445119.412 0, 1160855.252 445128.871 0, 1161158.929 445138.303 0, 1161331.476 439587.854 0,
+ 1161504.009 434037.843 0))
+
+POLYGON ((1175804.361 445614.295 0, 1175500.71 445604.005 0, 1175195.61 445593.685 0, 1174890.51 445583.382 0, 1174585.408 445573.097 0, 1174280.307 445562.83 0, 1173975.205 445552.582 0, 1173670.102 445542.351 0, 1173364.998 445532.138 0, 1173059.894 445521.943 0,
+ 1172754.79 445511.766 0, 1172449.684 445501.607 0, 1172144.579 445491.466 0, 1171839.472 445481.343 0, 1171534.365 445471.238 0, 1171229.257 445461.15 0, 1170924.149 445451.081 0, 1170619.04 445441.03 0, 1170313.931 445430.997 0, 1170008.821 445420.981 0,
+ 1169703.71 445410.984 0, 1169398.599 445401.004 0, 1169093.487 445391.043 0, 1168788.375 445381.099 0, 1168481.813 445371.127 0, 1168178.149 445361.266 0, 1167873.035 445351.376 0, 1167567.92 445341.505 0, 1167262.805 445331.651 0, 1166957.689 445321.815 0,
+ 1166652.572 445311.997 0, 1166347.455 445302.198 0, 1166042.338 445292.416 0, 1165737.22 445282.652 0, 1165432.101 445272.906 0, 1165126.982 445263.178 0, 1164821.862 445253.468 0, 1164516.741 445243.776 0, 1164211.62 445234.101 0, 1163906.499 445224.445 0,
+ 1163601.377 445214.807 0, 1163296.254 445205.187 0, 1162991.131 445195.584 0, 1162686.007 445186 0, 1162380.882 445176.434 0, 1162075.757 445166.885 0, 1161770.632 445157.355 0, 1161465.506 445147.842 0, 1161158.929 445138.303 0, 1160986.368 450689.187 0,
+ 1160813.794 456240.503 0, 1161119.715 456250.023 0, 1161424.187 456259.515 0, 1161728.659 456269.025 0, 1162033.131 456278.553 0, 1162337.602 456288.099 0, 1162642.072 456297.662 0, 1162946.542 456307.244 0, 1163251.011 456316.844 0, 1163555.48 456326.461 0,
+ 1163859.948 456336.097 0, 1164164.416 456345.75 0, 1164468.883 456355.422 0, 1164773.349 456365.111 0, 1165077.815 456374.818 0, 1165382.28 456384.543 0, 1165686.745 456394.286 0, 1165991.209 456404.047 0, 1166295.673 456413.826 0, 1166600.136 456423.623 0,
+ 1166904.598 456433.438 0, 1167209.06 456443.27 0, 1167513.521 456453.121 0, 1167817.982 456462.989 0, 1168120.996 456472.829 0, 1168426.901 456482.78 0, 1168731.36 456492.702 0, 1169035.819 456502.642 0, 1169340.276 456512.601 0, 1169644.734 456522.577 0,
+ 1169949.19 456532.57 0, 1170253.646 456542.582 0, 1170558.102 456552.612 0, 1170862.556 456562.66 0, 1171167.011 456572.725 0, 1171471.464 456582.809 0, 1171775.917 456592.91 0, 1172080.37 456603.03 0, 1172384.822 456613.167 0, 1172689.273 456623.322 0,
+ 1172993.723 456633.495 0, 1173298.173 456643.686 0, 1173602.623 456653.895 0, 1173907.072 456664.122 0, 1174211.52 456674.367 0, 1174515.968 456684.629 0, 1174820.415 456694.91 0, 1175124.861 456705.209 0, 1175427.862 456715.476 0, 1175616.119 451164.669 0,
+ 1175804.361 445614.295 0))
+
+POLYGON ((1190040.53 457231.734 0, 1189737.557 457220.611 0, 1189433.141 457209.452 0, 1189128.724 457198.311 0, 1188824.306 457187.189 0, 1188519.888 457176.084 0, 1188215.47 457164.997 0, 1187911.05 457153.928 0, 1187606.63 457142.877 0, 1187302.209 457131.844 0,
+ 1186997.788 457120.828 0, 1186693.366 457109.831 0, 1186388.943 457098.851 0, 1186084.52 457087.89 0, 1185780.096 457076.946 0, 1185475.672 457066.021 0, 1185171.247 457055.113 0, 1184866.821 457044.223 0, 1184562.394 457033.351 0, 1184257.967 457022.497 0,
+ 1183953.539 457011.661 0, 1183649.111 457000.843 0, 1183344.682 456990.043 0, 1183040.252 456979.26 0, 1182734.378 456968.445 0, 1182431.391 456957.749 0, 1182126.959 456947.021 0, 1181822.527 456936.31 0, 1181518.094 456925.617 0, 1181213.661 456914.942 0,
+ 1180909.227 456904.285 0, 1180604.792 456893.646 0, 1180300.357 456883.025 0, 1179995.921 456872.422 0, 1179691.484 456861.837 0, 1179387.047 456851.27 0, 1179082.609 456840.72 0, 1178778.171 456830.189 0, 1178473.732 456819.675 0, 1178169.292 456809.18 0,
+ 1177864.852 456798.702 0, 1177560.411 456788.242 0, 1177255.969 456777.8 0, 1176951.527 456767.376 0, 1176647.084 456756.97 0, 1176342.641 456746.582 0, 1176038.197 456736.212 0, 1175733.752 456725.859 0, 1175427.862 456715.476 0, 1175239.591 462266.712 0,
+ 1175051.305 467818.375 0, 1175356.538 467828.736 0, 1175660.329 467839.066 0, 1175964.12 467849.414 0, 1176267.91 467859.78 0, 1176571.699 467870.164 0, 1176875.488 467880.565 0, 1177179.276 467890.985 0, 1177483.063 467901.422 0, 1177786.85 467911.877 0,
+ 1178090.636 467922.35 0, 1178394.422 467932.841 0, 1178698.207 467943.35 0, 1179001.991 467953.877 0, 1179305.775 467964.422 0, 1179609.558 467974.984 0, 1179913.341 467985.565 0, 1180217.122 467996.163 0, 1180520.904 468006.779 0, 1180824.684 468017.413 0,
+ 1181128.464 468028.065 0, 1181432.244 468038.735 0, 1181736.022 468049.422 0, 1182039.801 468060.128 0, 1182342.137 468070.801 0, 1182647.355 468081.593 0, 1182951.131 468092.352 0, 1183254.907 468103.129 0, 1183558.682 468113.924 0, 1183862.456 468124.737 0,
+ 1184166.23 468135.568 0, 1184470.003 468146.416 0, 1184773.775 468157.283 0, 1185077.547 468168.167 0, 1185381.318 468179.069 0, 1185685.088 468189.989 0, 1185988.858 468200.927 0, 1186292.627 468211.883 0, 1186596.396 468222.857 0, 1186900.164 468233.849 0,
+ 1187203.931 468244.858 0, 1187507.698 468255.885 0, 1187811.464 468266.931 0, 1188115.229 468277.994 0, 1188418.994 468289.075 0, 1188722.758 468300.174 0, 1189026.521 468311.291 0, 1189330.284 468322.425 0, 1189632.606 468333.525 0, 1189836.576 462782.416 0,
+ 1190040.53 457231.734 0))
+
+POLYGON ((1204212.394 468889.868 0, 1203910.102 468877.914 0, 1203606.372 468865.921 0, 1203302.641 468853.946 0, 1202998.91 468841.989 0, 1202695.177 468830.05 0, 1202391.445 468818.129 0, 1202087.711 468806.225 0, 1201783.977 468794.34 0, 1201480.242 468782.472 0,
+ 1201176.506 468770.622 0, 1200872.77 468758.79 0, 1200569.033 468746.976 0, 1200265.295 468735.18 0, 1199961.557 468723.402 0, 1199657.818 468711.642 0, 1199354.078 468699.899 0, 1199050.337 468688.174 0, 1198746.596 468676.468 0, 1198442.854 468664.779 0,
+ 1198139.112 468653.108 0, 1197835.369 468641.455 0, 1197531.625 468629.819 0, 1197227.88 468618.202 0, 1196922.697 468606.548 0, 1196620.389 468595.021 0, 1196316.642 468583.457 0, 1196012.895 468571.911 0, 1195709.147 468560.383 0, 1195405.398 468548.873 0,
+ 1195101.649 468537.381 0, 1194797.899 468525.907 0, 1194494.148 468514.45 0, 1194190.397 468503.011 0, 1193886.645 468491.591 0, 1193582.892 468480.188 0, 1193279.138 468468.803 0, 1192975.384 468457.436 0, 1192671.63 468446.087 0, 1192367.874 468434.755 0,
+ 1192064.118 468423.442 0, 1191760.361 468412.146 0, 1191456.604 468400.869 0, 1191152.846 468389.609 0, 1190849.087 468378.367 0, 1190545.328 468367.143 0, 1190241.568 468355.937 0, 1189937.807 468344.748 0, 1189632.606 468333.525 0, 1189428.621 473885.057 0,
+ 1189224.621 479437.009 0, 1189529.165 479448.208 0, 1189832.272 479459.372 0, 1190135.378 479470.554 0, 1190438.484 479481.754 0, 1190741.59 479492.972 0, 1191044.694 479504.208 0, 1191347.798 479515.461 0, 1191650.901 479526.732 0, 1191954.004 479538.021 0,
+ 1192257.106 479549.328 0, 1192560.207 479560.653 0, 1192863.307 479571.996 0, 1193166.407 479583.356 0, 1193469.507 479594.735 0, 1193772.605 479606.131 0, 1194075.703 479617.545 0, 1194378.8 479628.977 0, 1194681.897 479640.426 0, 1194984.993 479651.894 0,
+ 1195288.088 479663.379 0, 1195591.182 479674.882 0, 1195894.276 479686.403 0, 1196197.369 479697.942 0, 1196499.027 479709.444 0, 1196803.554 479721.073 0, 1197106.645 479732.666 0, 1197409.735 479744.276 0, 1197712.825 479755.904 0, 1198015.914 479767.55 0,
+ 1198319.002 479779.214 0, 1198622.09 479790.895 0, 1198925.177 479802.595 0, 1199228.263 479814.312 0, 1199531.349 479826.047 0, 1199834.434 479837.8 0, 1200137.518 479849.571 0, 1200440.602 479861.359 0, 1200743.685 479873.166 0, 1201046.767 479884.99 0,
+ 1201349.848 479896.832 0, 1201652.929 479908.692 0, 1201956.009 479920.57 0, 1202259.088 479932.466 0, 1202562.167 479944.379 0, 1202865.245 479956.311 0, 1203168.322 479968.26 0, 1203471.399 479980.227 0, 1203773.041 479992.155 0, 1203992.726 474440.801 0,
+ 1204212.394 468889.868 0))
+
+POLYGON ((1218319.835 480588.4 0, 1218018.225 480575.62 0, 1217715.184 480562.797 0, 1217412.141 480549.992 0, 1217109.098 480537.204 0, 1216806.054 480524.434 0, 1216503.01 480511.682 0, 1216199.965 480498.948 0, 1215896.919 480486.232 0, 1215593.872 480473.534 0,
+ 1215290.824 480460.853 0, 1214987.776 480448.191 0, 1214684.727 480435.546 0, 1214381.677 480422.919 0, 1214078.627 480410.31 0, 1213775.575 480397.718 0, 1213472.523 480385.145 0, 1213169.471 480372.589 0, 1212866.417 480360.051 0, 1212563.363 480347.531 0,
+ 1212260.308 480335.029 0, 1211957.252 480322.545 0, 1211654.196 480310.079 0, 1211351.139 480297.63 0, 1211046.648 480285.14 0, 1210745.022 480272.786 0, 1210441.963 480260.391 0, 1210138.903 480248.014 0, 1209835.842 480235.654 0, 1209532.78 480223.313 0,
+ 1209229.718 480210.989 0, 1208926.655 480198.683 0, 1208623.591 480186.395 0, 1208320.527 480174.125 0, 1208017.462 480161.872 0, 1207714.396 480149.638 0, 1207411.329 480137.421 0, 1207108.262 480125.222 0, 1206805.194 480113.041 0, 1206502.125 480100.878 0,
+ 1206199.056 480088.732 0, 1205895.986 480076.605 0, 1205592.915 480064.495 0, 1205289.843 480052.403 0, 1204986.771 480040.329 0, 1204683.698 480028.273 0, 1204380.624 480016.235 0, 1204077.55 480004.214 0, 1203773.041 479992.155 0, 1203553.339 485543.926 0,
+ 1203333.621 491096.111 0, 1203637.474 491108.144 0, 1203939.895 491120.139 0, 1204242.315 491132.151 0, 1204544.734 491144.181 0, 1204847.153 491156.229 0, 1205149.571 491168.295 0, 1205451.988 491180.379 0, 1205754.405 491192.48 0, 1206056.821 491204.599 0,
+ 1206359.236 491216.736 0, 1206661.651 491228.891 0, 1206964.064 491241.064 0, 1207266.477 491253.254 0, 1207568.89 491265.462 0, 1207871.301 491277.688 0, 1208173.712 491289.932 0, 1208476.122 491302.194 0, 1208778.532 491314.473 0, 1209080.941 491326.77 0,
+ 1209383.349 491339.085 0, 1209685.756 491351.418 0, 1209988.162 491363.769 0, 1210290.568 491376.137 0, 1210591.544 491388.465 0, 1210895.378 491400.927 0, 1211197.781 491413.349 0, 1211500.184 491425.788 0, 1211802.586 491438.246 0, 1212104.988 491450.721 0,
+ 1212407.389 491463.214 0, 1212709.789 491475.725 0, 1213012.188 491488.253 0, 1213314.586 491500.8 0, 1213616.984 491513.364 0, 1213919.381 491525.946 0, 1214221.777 491538.546 0, 1214524.173 491551.163 0, 1214826.568 491563.799 0, 1215128.962 491576.452 0,
+ 1215431.355 491589.123 0, 1215733.748 491601.811 0, 1216036.139 491614.518 0, 1216338.53 491627.242 0, 1216640.921 491639.985 0, 1216943.31 491652.745 0, 1217245.699 491665.522 0, 1217548.087 491678.318 0, 1217849.046 491691.071 0, 1218084.449 486139.528 0,
+ 1218319.835 480588.4 0))
+
+POLYGON ((1232362.732 492327.037 0, 1232061.808 492313.434 0, 1231759.457 492299.784 0, 1231457.106 492286.152 0, 1231154.754 492272.538 0, 1230852.4 492258.941 0, 1230550.047 492245.363 0, 1230247.692 492231.802 0, 1229945.336 492218.259 0, 1229642.98 492204.734 0,
+ 1229340.623 492191.226 0, 1229038.265 492177.737 0, 1228735.906 492164.265 0, 1228433.547 492150.811 0, 1228131.187 492137.374 0, 1227828.826 492123.956 0, 1227526.464 492110.555 0, 1227224.101 492097.172 0, 1226921.738 492083.807 0, 1226619.374 492070.46 0,
+ 1226317.009 492057.131 0, 1226014.643 492043.819 0, 1225712.276 492030.525 0, 1225409.909 492017.249 0, 1225106.114 492003.928 0, 1224805.172 491990.75 0, 1224502.802 491977.528 0, 1224200.432 491964.323 0, 1223898.061 491951.136 0, 1223595.689 491937.966 0,
+ 1223293.316 491924.815 0, 1222990.942 491911.681 0, 1222688.568 491898.565 0, 1222386.193 491885.467 0, 1222083.817 491872.387 0, 1221781.44 491859.324 0, 1221479.063 491846.28 0, 1221176.685 491833.253 0, 1220874.306 491820.244 0, 1220571.926 491807.252 0,
+ 1220269.546 491794.279 0, 1219967.164 491781.323 0, 1219664.782 491768.385 0, 1219362.4 491755.465 0, 1219060.016 491742.563 0, 1218757.632 491729.678 0, 1218455.247 491716.811 0, 1218152.861 491703.962 0, 1217849.046 491691.071 0, 1217613.626 497243.024 0,
+ 1217378.188 502795.385 0, 1217681.346 502808.249 0, 1217983.078 502821.07 0, 1218284.81 502833.909 0, 1218586.541 502846.766 0, 1218888.271 502859.64 0, 1219190 502872.533 0, 1219491.728 502885.443 0, 1219793.456 502898.37 0, 1220095.183 502911.316 0,
+ 1220396.909 502924.279 0, 1220698.634 502937.26 0, 1221000.359 502950.259 0, 1221302.083 502963.275 0, 1221603.806 502976.31 0, 1221905.528 502989.362 0, 1222207.25 503002.431 0, 1222508.97 503015.519 0, 1222810.69 503028.624 0, 1223112.41 503041.747 0,
+ 1223414.128 503054.888 0, 1223715.846 503068.047 0, 1224017.563 503081.223 0, 1224319.279 503094.417 0, 1224619.57 503107.567 0, 1224922.709 503120.859 0, 1225224.423 503134.106 0, 1225526.136 503147.371 0, 1225827.848 503160.654 0, 1226129.559 503173.955 0,
+ 1226431.27 503187.273 0, 1226732.98 503200.609 0, 1227034.689 503213.963 0, 1227336.397 503227.335 0, 1227638.105 503240.724 0, 1227939.812 503254.132 0, 1228241.518 503267.557 0, 1228543.223 503280.999 0, 1228844.927 503294.46 0, 1229146.631 503307.938 0,
+ 1229448.333 503321.434 0, 1229750.035 503334.948 0, 1230051.737 503348.479 0, 1230353.437 503362.029 0, 1230655.137 503375.596 0, 1230956.835 503389.18 0, 1231258.533 503402.783 0, 1231560.231 503416.403 0, 1231860.504 503429.977 0, 1232111.627 497878.303 0,
+ 1232362.732 492327.037 0))
+
+POLYGON ((1246340.97 504105.481 0, 1246040.733 504091.059 0, 1245739.076 504076.587 0, 1245437.417 504062.132 0, 1245135.758 504047.695 0, 1244834.098 504033.275 0, 1244532.437 504018.874 0, 1244230.776 504004.49 0, 1243929.113 503990.124 0, 1243627.449 503975.776 0,
+ 1243325.785 503961.445 0, 1243024.12 503947.132 0, 1242722.454 503932.837 0, 1242420.787 503918.56 0, 1242119.12 503904.3 0, 1241817.451 503890.059 0, 1241515.782 503875.835 0, 1241214.112 503861.628 0, 1240912.441 503847.44 0, 1240610.769 503833.269 0,
+ 1240309.096 503819.116 0, 1240007.423 503804.981 0, 1239705.748 503790.863 0, 1239404.073 503776.764 0, 1239100.976 503762.615 0, 1238800.72 503748.617 0, 1238499.043 503734.571 0, 1238197.364 503720.542 0, 1237895.685 503706.531 0, 1237594.005 503692.538 0,
+ 1237292.324 503678.563 0, 1236990.642 503664.605 0, 1236688.959 503650.665 0, 1236387.276 503636.743 0, 1236085.592 503622.839 0, 1235783.907 503608.952 0, 1235482.221 503595.083 0, 1235180.534 503581.232 0, 1234878.847 503567.398 0, 1234577.158 503553.583 0,
+ 1234275.469 503539.785 0, 1233973.779 503526.005 0, 1233672.088 503512.242 0, 1233370.397 503498.498 0, 1233068.705 503484.771 0, 1232767.011 503471.062 0, 1232465.317 503457.371 0, 1232163.623 503443.697 0, 1231860.504 503429.977 0, 1231609.363 508982.056 0,
+ 1231358.203 514534.537 0, 1231660.665 514548.227 0, 1231961.706 514561.871 0, 1232262.746 514575.533 0, 1232563.786 514589.212 0, 1232864.825 514602.909 0, 1233165.863 514616.624 0, 1233466.9 514630.357 0, 1233767.936 514644.107 0, 1234068.972 514657.875 0,
+ 1234370.006 514671.661 0, 1234671.04 514685.464 0, 1234972.074 514699.285 0, 1235273.106 514713.124 0, 1235574.137 514726.981 0, 1235875.168 514740.855 0, 1236176.198 514754.747 0, 1236477.227 514768.657 0, 1236778.255 514782.584 0, 1237079.282 514796.529 0,
+ 1237380.309 514810.492 0, 1237681.335 514824.473 0, 1237982.36 514838.471 0, 1238283.384 514852.487 0, 1238582.989 514866.455 0, 1238885.43 514880.572 0, 1239186.451 514894.641 0, 1239487.472 514908.728 0, 1239788.492 514922.833 0, 1240089.511 514936.955 0,
+ 1240390.529 514951.095 0, 1240691.547 514965.253 0, 1240992.563 514979.429 0, 1241293.579 514993.622 0, 1241594.594 515007.833 0, 1241895.608 515022.061 0, 1242196.622 515036.308 0, 1242497.634 515050.572 0, 1242798.646 515064.854 0, 1243099.656 515079.153 0,
+ 1243400.666 515093.47 0, 1243701.675 515107.805 0, 1244002.684 515122.158 0, 1244303.691 515136.528 0, 1244604.698 515150.916 0, 1244905.703 515165.322 0, 1245206.708 515179.746 0, 1245507.712 515194.187 0, 1245807.298 515208.578 0, 1246074.144 509656.829 0,
+ 1246340.97 504105.481 0))
+
+POLYGON ((1260254.432 515923.437 0, 1259954.885 515908.2 0, 1259653.923 515892.908 0, 1259352.96 515877.635 0, 1259051.996 515862.378 0, 1258751.032 515847.14 0, 1258450.066 515831.919 0, 1258149.099 515816.716 0, 1257848.132 515801.531 0, 1257547.164 515786.363 0,
+ 1257246.195 515771.214 0, 1256945.225 515756.081 0, 1256644.254 515740.967 0, 1256343.282 515725.87 0, 1256042.309 515710.791 0, 1255741.335 515695.73 0, 1255440.361 515680.686 0, 1255139.386 515665.661 0, 1254838.409 515650.652 0, 1254537.432 515635.662 0,
+ 1254236.454 515620.689 0, 1253935.475 515605.734 0, 1253634.495 515590.797 0, 1253333.515 515575.877 0, 1253031.117 515560.906 0, 1252731.551 515546.091 0, 1252430.567 515531.225 0, 1252129.583 515516.376 0, 1251828.598 515501.545 0, 1251527.612 515486.732 0,
+ 1251226.626 515471.937 0, 1250925.638 515457.159 0, 1250624.649 515442.399 0, 1250323.66 515427.656 0, 1250022.67 515412.931 0, 1249721.679 515398.224 0, 1249420.687 515383.535 0, 1249119.694 515368.864 0, 1248818.7 515354.21 0, 1248517.705 515339.574 0,
+ 1248216.71 515324.955 0, 1247915.714 515310.355 0, 1247614.716 515295.772 0, 1247313.718 515281.206 0, 1247012.719 515266.659 0, 1246711.72 515252.129 0, 1246410.719 515237.617 0, 1246109.718 515223.123 0, 1245807.298 515208.578 0, 1245540.434 520760.726 0,
+ 1245273.55 526313.27 0, 1245575.313 526327.783 0, 1245875.661 526342.246 0, 1246176.008 526356.726 0, 1246476.354 526371.224 0, 1246776.699 526385.74 0, 1247077.044 526400.274 0, 1247377.387 526414.825 0, 1247677.73 526429.394 0, 1247978.072 526443.981 0,
+ 1248278.413 526458.585 0, 1248578.753 526473.207 0, 1248879.092 526487.847 0, 1249179.431 526502.504 0, 1249479.768 526517.179 0, 1249780.105 526531.872 0, 1250080.441 526546.583 0, 1250380.776 526561.311 0, 1250681.11 526576.056 0, 1250981.443 526590.82 0,
+ 1251281.775 526605.601 0, 1251582.107 526620.4 0, 1251882.437 526635.216 0, 1252182.767 526650.05 0, 1252481.683 526664.832 0, 1252783.424 526679.772 0, 1253083.751 526694.659 0, 1253384.077 526709.564 0, 1253684.403 526724.486 0, 1253984.727 526739.426 0,
+ 1254285.051 526754.384 0, 1254585.374 526769.36 0, 1254885.695 526784.353 0, 1255186.016 526799.364 0, 1255486.336 526814.393 0, 1255786.656 526829.439 0, 1256086.974 526844.503 0, 1256387.291 526859.584 0, 1256687.608 526874.684 0, 1256987.924 526889.801 0,
+ 1257288.238 526904.935 0, 1257588.552 526920.088 0, 1257888.865 526935.257 0, 1258189.177 526950.445 0, 1258489.488 526965.65 0, 1258789.799 526980.874 0, 1259090.108 526996.114 0, 1259390.417 527011.373 0, 1259689.313 527026.577 0, 1259971.882 521474.809 0,
+ 1260254.432 515923.437 0))
+
+POLYGON ((1274103.002 527780.608 0, 1273804.148 527764.56 0, 1273503.884 527748.453 0, 1273203.619 527732.364 0, 1272903.353 527716.292 0, 1272603.086 527700.239 0, 1272302.818 527684.203 0, 1272002.549 527668.184 0, 1271702.279 527652.184 0, 1271402.008 527636.201 0,
+ 1271101.737 527620.235 0, 1270801.464 527604.288 0, 1270501.19 527588.358 0, 1270200.916 527572.445 0, 1269900.64 527556.551 0, 1269600.364 527540.674 0, 1269300.086 527524.814 0, 1268999.808 527508.973 0, 1268699.529 527493.149 0, 1268399.249 527477.342 0,
+ 1268098.968 527461.554 0, 1267798.686 527445.783 0, 1267498.403 527430.03 0, 1267198.119 527414.294 0, 1266896.424 527398.502 0, 1266597.548 527382.876 0, 1266297.262 527367.193 0, 1265996.974 527351.528 0, 1265696.686 527335.881 0, 1265396.396 527320.252 0,
+ 1265096.106 527304.64 0, 1264795.815 527289.046 0, 1264495.523 527273.469 0, 1264195.23 527257.91 0, 1263894.936 527242.369 0, 1263594.641 527226.846 0, 1263294.345 527211.34 0, 1262994.048 527195.852 0, 1262693.75 527180.381 0, 1262393.452 527164.928 0,
+ 1262093.152 527149.493 0, 1261792.852 527134.076 0, 1261492.551 527118.676 0, 1261192.249 527103.294 0, 1260891.946 527087.93 0, 1260591.642 527072.583 0, 1260291.337 527057.254 0, 1259991.031 527041.942 0, 1259689.313 527026.577 0, 1259406.723 532578.737 0,
+ 1259124.114 538131.286 0, 1259425.175 538146.619 0, 1259724.828 538161.897 0, 1260024.479 538177.192 0, 1260324.129 538192.506 0, 1260623.779 538207.837 0, 1260923.427 538223.185 0, 1261223.075 538238.552 0, 1261522.722 538253.935 0, 1261822.368 538269.337 0,
+ 1262122.013 538284.756 0, 1262421.657 538300.193 0, 1262721.3 538315.647 0, 1263020.942 538331.119 0, 1263320.583 538346.609 0, 1263620.224 538362.116 0, 1263919.863 538377.641 0, 1264219.502 538393.184 0, 1264519.14 538408.744 0, 1264818.776 538424.322 0,
+ 1265118.412 538439.918 0, 1265418.047 538455.531 0, 1265717.681 538471.162 0, 1266017.314 538486.81 0, 1266315.539 538502.403 0, 1266616.578 538518.16 0, 1266916.208 538533.861 0, 1267215.837 538549.58 0, 1267515.466 538565.317 0, 1267815.093 538581.071 0,
+ 1268114.72 538596.843 0, 1268414.346 538612.632 0, 1268713.97 538628.44 0, 1269013.594 538644.264 0, 1269313.217 538660.107 0, 1269612.839 538675.967 0, 1269912.46 538691.845 0, 1270212.08 538707.74 0, 1270511.699 538723.653 0, 1270811.317 538739.583 0,
+ 1271110.935 538755.532 0, 1271410.551 538771.498 0, 1271710.166 538787.481 0, 1272009.781 538803.482 0, 1272309.394 538819.501 0, 1272609.007 538835.537 0, 1272908.619 538851.591 0, 1273208.229 538867.663 0, 1273506.433 538883.677 0, 1273804.728 533331.948 0,
+ 1274103.002 527780.608 0))
+
+POLYGON ((1287886.569 539676.697 0, 1287588.41 539659.841 0, 1287288.846 539642.923 0, 1286989.281 539626.022 0, 1286689.714 539609.139 0, 1286390.147 539592.274 0, 1286090.579 539575.427 0, 1285791.01 539558.597 0, 1285491.44 539541.784 0, 1285191.869 539524.99 0,
+ 1284892.297 539508.213 0, 1284592.724 539491.453 0, 1284293.15 539474.712 0, 1283993.575 539457.988 0, 1283693.999 539441.281 0, 1283394.422 539424.592 0, 1283094.844 539407.921 0, 1282795.266 539391.267 0, 1282495.686 539374.631 0, 1282196.105 539358.013 0,
+ 1281896.523 539341.412 0, 1281596.94 539324.829 0, 1281297.356 539308.264 0, 1280997.772 539291.716 0, 1280696.781 539275.109 0, 1280398.599 539258.674 0, 1280099.012 539242.179 0, 1279799.423 539225.701 0, 1279499.833 539209.242 0, 1279200.243 539192.8 0,
+ 1278900.651 539176.375 0, 1278601.059 539159.969 0, 1278301.465 539143.58 0, 1278001.871 539127.208 0, 1277702.275 539110.854 0, 1277402.679 539094.518 0, 1277103.082 539078.2 0, 1276803.483 539061.899 0, 1276503.884 539045.615 0, 1276204.284 539029.35 0,
+ 1275904.683 539013.102 0, 1275605.081 538996.871 0, 1275305.477 538980.659 0, 1275005.873 538964.463 0, 1274706.268 538948.286 0, 1274406.663 538932.126 0, 1274107.056 538915.984 0, 1273807.448 538899.859 0, 1273506.433 538883.677 0, 1273208.117 544435.792 0,
+ 1272909.781 549988.291 0, 1273210.139 550004.438 0, 1273509.093 550020.527 0, 1273808.046 550036.634 0, 1274106.999 550052.759 0, 1274405.95 550068.901 0, 1274704.901 550085.061 0, 1275003.85 550101.238 0, 1275302.799 550117.433 0, 1275601.746 550133.646 0,
+ 1275900.693 550149.876 0, 1276199.638 550166.124 0, 1276498.583 550182.389 0, 1276797.527 550198.672 0, 1277096.47 550214.972 0, 1277395.412 550231.291 0, 1277694.352 550247.626 0, 1277993.292 550263.98 0, 1278292.231 550280.351 0, 1278591.169 550296.739 0,
+ 1278890.106 550313.145 0, 1279189.042 550329.569 0, 1279487.978 550346.01 0, 1279786.912 550362.469 0, 1280084.443 550378.868 0, 1280384.777 550395.44 0, 1280683.708 550411.952 0, 1280982.638 550428.481 0, 1281281.568 550445.028 0, 1281580.496 550461.592 0,
+ 1281879.423 550478.174 0, 1282178.35 550494.774 0, 1282477.275 550511.391 0, 1282776.199 550528.026 0, 1283075.123 550544.678 0, 1283374.045 550561.348 0, 1283672.967 550578.036 0, 1283971.887 550594.741 0, 1284270.807 550611.464 0, 1284569.725 550628.205 0,
+ 1284868.643 550644.963 0, 1285167.559 550661.738 0, 1285466.475 550678.531 0, 1285765.389 550695.342 0, 1286064.303 550712.17 0, 1286363.215 550729.016 0, 1286662.127 550745.88 0, 1286961.038 550762.761 0, 1287258.547 550779.581 0, 1287572.569 545227.947 0,
+ 1287886.569 539676.697 0))
+
+POLYGON ((1301605.02 551611.406 0, 1301307.557 551593.745 0, 1301008.696 551576.02 0, 1300709.833 551558.312 0, 1300410.969 551540.621 0, 1300112.104 551522.949 0, 1299813.238 551505.293 0, 1299514.371 551487.656 0, 1299215.503 551470.036 0, 1298916.635 551452.433 0,
+ 1298617.765 551434.849 0, 1298318.893 551417.281 0, 1298020.021 551399.732 0, 1297721.148 551382.2 0, 1297422.274 551364.685 0, 1297123.399 551347.188 0, 1296824.523 551329.709 0, 1296525.646 551312.247 0, 1296226.767 551294.803 0, 1295927.888 551277.377 0,
+ 1295629.008 551259.968 0, 1295330.126 551242.576 0, 1295031.244 551225.203 0, 1294732.361 551207.846 0, 1294432.077 551190.427 0, 1294134.591 551173.187 0, 1293835.704 551155.883 0, 1293536.817 551138.598 0, 1293237.928 551121.329 0, 1292939.039 551104.079 0,
+ 1292640.149 551086.846 0, 1292341.257 551069.63 0, 1292042.364 551052.433 0, 1291743.471 551035.252 0, 1291444.576 551018.09 0, 1291145.681 551000.945 0, 1290846.784 550983.817 0, 1290547.887 550966.707 0, 1290248.988 550949.615 0, 1289950.089 550932.54 0,
+ 1289651.188 550915.483 0, 1289352.286 550898.444 0, 1289053.384 550881.422 0, 1288754.48 550864.418 0, 1288455.576 550847.431 0, 1288156.67 550830.462 0, 1287857.763 550813.51 0, 1287558.856 550796.576 0, 1287258.547 550779.581 0, 1286944.503 556331.594 0,
+ 1286630.438 561883.984 0, 1286930.091 561900.943 0, 1287228.345 561917.84 0, 1287526.598 561934.754 0, 1287824.85 561951.686 0, 1288123.101 561968.636 0, 1288421.351 561985.603 0, 1288719.6 562002.588 0, 1289017.848 562019.59 0, 1289316.095 562036.61 0,
+ 1289614.341 562053.647 0, 1289912.586 562070.702 0, 1290210.83 562087.774 0, 1290509.073 562104.864 0, 1290807.315 562121.972 0, 1291105.556 562139.097 0, 1291403.796 562156.24 0, 1291702.035 562173.4 0, 1292000.273 562190.578 0, 1292298.51 562207.773 0,
+ 1292596.746 562224.986 0, 1292894.981 562242.216 0, 1293193.215 562259.464 0, 1293491.447 562276.73 0, 1293788.283 562293.932 0, 1294087.91 562311.314 0, 1294386.14 562328.632 0, 1294684.369 562345.968 0, 1294982.597 562363.321 0, 1295280.823 562380.692 0,
+ 1295579.049 562398.08 0, 1295877.274 562415.486 0, 1296175.498 562432.91 0, 1296473.72 562450.351 0, 1296771.942 562467.809 0, 1297070.163 562485.286 0, 1297368.382 562502.779 0, 1297666.601 562520.291 0, 1297964.818 562537.819 0, 1298263.035 562555.366 0,
+ 1298561.25 562572.93 0, 1298859.465 562590.511 0, 1299157.678 562608.11 0, 1299455.891 562625.727 0, 1299754.102 562643.361 0, 1300052.312 562661.013 0, 1300350.521 562678.682 0, 1300648.73 562696.369 0, 1300945.542 562713.99 0, 1301275.292 557162.51 0,
+ 1301605.02 551611.406 0))
+
+POLYGON ((1315258.244 563584.436 0, 1314961.48 563565.976 0, 1314663.323 563547.446 0, 1314365.165 563528.935 0, 1314067.006 563510.441 0, 1313768.845 563491.964 0, 1313470.684 563473.505 0, 1313172.521 563455.064 0, 1312874.358 563436.64 0, 1312576.193 563418.233 0,
+ 1312278.027 563399.844 0, 1311979.861 563381.473 0, 1311681.693 563363.119 0, 1311383.524 563344.783 0, 1311085.354 563326.465 0, 1310787.183 563308.163 0, 1310489.01 563289.88 0, 1310190.837 563271.614 0, 1309892.663 563253.365 0, 1309594.487 563235.135 0,
+ 1309296.311 563216.921 0, 1308998.133 563198.725 0, 1308699.954 563180.547 0, 1308401.775 563162.386 0, 1308102.2 563144.159 0, 1307805.412 563126.118 0, 1307507.229 563108.01 0, 1307209.045 563089.919 0, 1306910.86 563071.846 0, 1306612.674 563053.791 0,
+ 1306314.487 563035.753 0, 1306016.298 563017.733 0, 1305718.109 562999.73 0, 1305419.919 562981.745 0, 1305121.727 562963.777 0, 1304823.535 562945.827 0, 1304525.341 562927.895 0, 1304227.147 562909.98 0, 1303928.951 562892.082 0, 1303630.754 562874.202 0,
+ 1303332.557 562856.34 0, 1303034.358 562838.495 0, 1302736.158 562820.668 0, 1302437.957 562802.858 0, 1302139.755 562785.066 0, 1301841.552 562767.292 0, 1301543.348 562749.535 0, 1301245.143 562731.795 0, 1300945.542 562713.99 0, 1300615.77 568265.845 0,
+ 1300285.975 573818.07 0, 1300584.92 573835.835 0, 1300882.471 573853.536 0, 1301180.022 573871.254 0, 1301477.571 573888.99 0, 1301775.12 573906.743 0, 1302072.667 573924.514 0, 1302370.213 573942.302 0, 1302667.758 573960.107 0, 1302965.303 573977.931 0,
+ 1303262.846 573995.771 0, 1303560.388 574013.629 0, 1303857.929 574031.505 0, 1304155.469 574049.398 0, 1304453.008 574067.309 0, 1304750.546 574085.237 0, 1305048.083 574103.183 0, 1305345.618 574121.146 0, 1305643.153 574139.127 0, 1305940.687 574157.126 0,
+ 1306238.219 574175.141 0, 1306535.751 574193.175 0, 1306833.281 574211.226 0, 1307130.811 574229.294 0, 1307426.949 574247.295 0, 1307725.867 574265.483 0, 1308023.393 574283.604 0, 1308320.918 574301.742 0, 1308618.442 574319.898 0, 1308915.965 574338.072 0,
+ 1309213.487 574356.263 0, 1309511.008 574374.471 0, 1309808.528 574392.697 0, 1310106.046 574410.941 0, 1310403.564 574429.202 0, 1310701.081 574447.48 0, 1310998.596 574465.776 0, 1311296.111 574484.09 0, 1311593.624 574502.421 0, 1311891.136 574520.769 0,
+ 1312188.647 574539.135 0, 1312486.158 574557.519 0, 1312783.667 574575.92 0, 1313081.174 574594.338 0, 1313378.681 574612.774 0, 1313676.187 574631.228 0, 1313973.692 574649.699 0, 1314271.195 574668.188 0, 1314567.309 574686.607 0, 1314912.788 569135.336 0,
+ 1315258.244 563584.436 0))
+
+POLYGON ((1328846.131 575595.489 0, 1328550.069 575576.233 0, 1328252.619 575556.904 0, 1327955.167 575537.592 0, 1327657.715 575518.298 0, 1327360.261 575499.022 0, 1327062.807 575479.763 0, 1326765.351 575460.521 0, 1326467.894 575441.297 0, 1326170.436 575422.091 0,
+ 1325872.976 575402.902 0, 1325575.516 575383.73 0, 1325278.055 575364.576 0, 1324980.592 575345.44 0, 1324683.128 575326.321 0, 1324385.663 575307.219 0, 1324088.197 575288.135 0, 1323790.73 575269.069 0, 1323493.262 575250.02 0, 1323195.793 575230.989 0,
+ 1322898.322 575211.975 0, 1322600.85 575192.978 0, 1322303.378 575173.999 0, 1322005.904 575155.038 0, 1321707.041 575136.006 0, 1321410.953 575117.168 0, 1321113.476 575098.259 0, 1320815.997 575079.368 0, 1320518.518 575060.494 0, 1320221.037 575041.637 0,
+ 1319923.556 575022.799 0, 1319626.073 575003.977 0, 1319328.589 574985.173 0, 1319031.104 574966.387 0, 1318733.618 574947.618 0, 1318436.131 574928.867 0, 1318138.643 574910.133 0, 1317841.153 574891.417 0, 1317543.663 574872.718 0, 1317246.171 574854.037 0,
+ 1316948.679 574835.373 0, 1316651.185 574816.727 0, 1316353.69 574798.098 0, 1316056.194 574779.487 0, 1315758.697 574760.894 0, 1315461.199 574742.317 0, 1315163.7 574723.759 0, 1314866.199 574705.218 0, 1314567.309 574686.607 0, 1314221.807 580238.246 0,
+ 1313876.282 585790.248 0, 1314174.516 585808.817 0, 1314471.363 585827.318 0, 1314768.209 585845.836 0, 1315065.053 585864.371 0, 1315361.897 585882.924 0, 1315658.739 585901.494 0, 1315955.581 585920.082 0, 1316252.421 585938.687 0, 1316549.26 585957.31 0,
+ 1316846.098 585975.95 0, 1317142.935 585994.608 0, 1317439.771 586013.283 0, 1317736.606 586031.976 0, 1318033.439 586050.686 0, 1318330.272 586069.413 0, 1318627.103 586088.158 0, 1318923.934 586106.921 0, 1319220.763 586125.701 0, 1319517.591 586144.498 0,
+ 1319814.418 586163.313 0, 1320111.244 586182.145 0, 1320408.069 586200.995 0, 1320704.892 586219.863 0, 1321000.33 586238.659 0, 1321298.537 586257.65 0, 1321595.357 586276.569 0, 1321892.176 586295.506 0, 1322188.994 586314.461 0, 1322485.811 586333.433 0,
+ 1322782.627 586352.423 0, 1323079.442 586371.43 0, 1323376.256 586390.455 0, 1323673.068 586409.497 0, 1323969.88 586428.556 0, 1324266.69 586447.633 0, 1324563.499 586466.727 0, 1324860.307 586485.839 0, 1325157.114 586504.969 0, 1325453.92 586524.116 0,
+ 1325750.725 586543.28 0, 1326047.528 586562.462 0, 1326344.331 586581.661 0, 1326641.132 586600.878 0, 1326937.932 586620.112 0, 1327234.731 586639.363 0, 1327531.529 586658.633 0, 1327828.326 586677.919 0, 1328123.738 586697.133 0, 1328484.946 581146.129 0,
+ 1328846.131 575595.489 0))
+
+POLYGON ((1342368.574 587644.266 0, 1342073.215 587624.218 0, 1341776.474 587604.092 0, 1341479.732 587583.985 0, 1341182.989 587563.895 0, 1340886.244 587543.822 0, 1340589.498 587523.767 0, 1340292.751 587503.729 0, 1339996.003 587483.709 0, 1339699.254 587463.706 0,
+ 1339402.503 587443.721 0, 1339105.751 587423.753 0, 1338808.999 587403.803 0, 1338512.245 587383.87 0, 1338215.489 587363.955 0, 1337918.733 587344.057 0, 1337621.975 587324.176 0, 1337325.217 587304.313 0, 1337028.457 587284.468 0, 1336731.696 587264.64 0,
+ 1336434.933 587244.829 0, 1336138.17 587225.036 0, 1335841.405 587205.26 0, 1335544.64 587185.502 0, 1335246.49 587165.669 0, 1334951.105 587146.038 0, 1334654.336 587126.332 0, 1334357.565 587106.644 0, 1334060.794 587086.973 0, 1333764.021 587067.319 0,
+ 1333467.247 587047.683 0, 1333170.472 587028.065 0, 1332873.696 587008.464 0, 1332576.919 586988.88 0, 1332280.14 586969.314 0, 1331983.361 586949.766 0, 1331686.58 586930.234 0, 1331389.798 586910.721 0, 1331093.015 586891.225 0, 1330796.231 586871.746 0,
+ 1330499.445 586852.285 0, 1330202.659 586832.841 0, 1329905.871 586813.414 0, 1329609.082 586794.005 0, 1329312.292 586774.614 0, 1329015.501 586755.24 0, 1328718.709 586735.884 0, 1328421.916 586716.545 0, 1328123.738 586697.133 0, 1327762.506 592248.498 0,
+ 1327401.25 597800.22 0, 1327698.772 597819.589 0, 1327994.912 597838.886 0, 1328291.05 597858.2 0, 1328587.188 597877.531 0, 1328883.324 597896.88 0, 1329179.46 597916.246 0, 1329475.594 597935.629 0, 1329771.727 597955.03 0, 1330067.859 597974.449 0,
+ 1330363.989 597993.884 0, 1330660.119 598013.338 0, 1330956.247 598032.808 0, 1331252.375 598052.297 0, 1331548.501 598071.802 0, 1331844.626 598091.325 0, 1332140.75 598110.866 0, 1332436.872 598130.423 0, 1332732.994 598149.999 0, 1333029.114 598169.591 0,
+ 1333325.233 598189.202 0, 1333621.352 598208.829 0, 1333917.468 598228.474 0, 1334213.584 598248.137 0, 1334508.32 598267.725 0, 1334805.812 598287.514 0, 1335101.925 598307.229 0, 1335398.036 598326.961 0, 1335694.146 598346.71 0, 1335990.254 598366.477 0,
+ 1336286.362 598386.262 0, 1336582.469 598406.064 0, 1336878.574 598425.883 0, 1337174.678 598445.72 0, 1337470.781 598465.574 0, 1337766.883 598485.445 0, 1338062.983 598505.334 0, 1338359.083 598525.241 0, 1338655.181 598545.165 0, 1338951.278 598565.106 0,
+ 1339247.374 598585.065 0, 1339543.469 598605.041 0, 1339839.563 598625.034 0, 1340135.655 598645.045 0, 1340431.746 598665.074 0, 1340727.836 598685.12 0, 1341023.925 598705.183 0, 1341320.013 598725.263 0, 1341614.721 598745.268 0, 1341991.66 593194.588 0,
+ 1342368.574 587644.266 0))
+
+POLYGON ((1355825.466 599730.468 0, 1355530.813 599709.63 0, 1355234.783 599688.713 0, 1354938.752 599667.813 0, 1354642.72 599646.931 0, 1354346.686 599626.066 0, 1354050.652 599605.219 0, 1353754.616 599584.389 0, 1353458.579 599563.576 0, 1353162.54 599542.781 0,
+ 1352866.501 599522.003 0, 1352570.46 599501.243 0, 1352274.418 599480.5 0, 1351978.375 599459.775 0, 1351682.33 599439.067 0, 1351386.284 599418.376 0, 1351090.237 599397.703 0, 1350794.189 599377.047 0, 1350498.14 599356.409 0, 1350202.089 599335.788 0,
+ 1349906.038 599315.184 0, 1349609.985 599294.598 0, 1349313.93 599274.03 0, 1349017.875 599253.479 0, 1348720.442 599232.849 0, 1348425.761 599212.428 0, 1348129.702 599191.929 0, 1347833.641 599171.448 0, 1347537.58 599150.984 0, 1347241.517 599130.537 0,
+ 1346945.453 599110.108 0, 1346649.388 599089.696 0, 1346353.322 599069.302 0, 1346057.255 599048.925 0, 1345761.186 599028.565 0, 1345465.116 599008.223 0, 1345169.045 598987.898 0, 1344872.973 598967.591 0, 1344576.899 598947.301 0, 1344280.825 598927.029 0,
+ 1343984.749 598906.774 0, 1343688.672 598886.537 0, 1343392.594 598866.316 0, 1343096.514 598846.114 0, 1342800.434 598825.928 0, 1342504.352 598805.761 0, 1342208.269 598785.61 0, 1341912.185 598765.477 0, 1341614.721 598745.268 0, 1341237.759 604296.302 0,
+ 1340860.772 609847.687 0, 1341157.579 609867.852 0, 1341453.01 609887.94 0, 1341748.439 609908.046 0, 1342043.868 609928.17 0, 1342339.295 609948.31 0, 1342634.721 609968.468 0, 1342930.145 609988.644 0, 1343225.569 610008.837 0, 1343520.991 610029.047 0,
+ 1343816.413 610049.275 0, 1344111.833 610069.52 0, 1344407.251 610089.782 0, 1344702.669 610110.062 0, 1344998.085 610130.359 0, 1345293.501 610150.674 0, 1345588.915 610171.006 0, 1345884.328 610191.355 0, 1346179.739 610211.722 0, 1346475.15 610232.106 0,
+ 1346770.559 610252.508 0, 1347065.967 610272.927 0, 1347361.374 610293.363 0, 1347656.779 610313.817 0, 1347950.81 610334.192 0, 1348247.587 610354.776 0, 1348542.989 610375.282 0, 1348838.39 610395.805 0, 1349133.789 610416.346 0, 1349429.188 610436.904 0,
+ 1349724.585 610457.479 0, 1350019.981 610478.072 0, 1350315.376 610498.682 0, 1350610.769 610519.31 0, 1350906.162 610539.955 0, 1351201.553 610560.617 0, 1351496.943 610581.297 0, 1351792.331 610601.994 0, 1352087.719 610622.708 0, 1352383.105 610643.44 0,
+ 1352678.49 610664.19 0, 1352973.874 610684.956 0, 1353269.256 610705.74 0, 1353564.638 610726.542 0, 1353860.018 610747.36 0, 1354155.397 610768.197 0, 1354450.774 610789.05 0, 1354746.151 610809.921 0, 1355040.154 610830.712 0, 1355432.822 605280.414 0,
+ 1355825.466 599730.468 0))
+
+POLYGON ((1369216.701 611853.793 0, 1368922.756 611832.171 0, 1368627.44 611810.466 0, 1368332.122 611788.778 0, 1368036.803 611767.107 0, 1367741.483 611745.454 0, 1367446.162 611723.818 0, 1367150.839 611702.199 0, 1366855.515 611680.598 0, 1366560.19 611659.015 0,
+ 1366264.863 611637.448 0, 1365969.535 611615.899 0, 1365674.206 611594.368 0, 1365378.876 611572.854 0, 1365083.545 611551.357 0, 1364788.212 611529.878 0, 1364492.878 611508.416 0, 1364197.542 611486.971 0, 1363902.206 611465.544 0, 1363606.868 611444.134 0,
+ 1363311.529 611422.741 0, 1363016.188 611401.366 0, 1362720.847 611380.008 0, 1362425.504 611358.668 0, 1362128.789 611337.246 0, 1361834.814 611316.04 0, 1361539.468 611294.751 0, 1361244.12 611273.481 0, 1360948.771 611252.227 0, 1360653.42 611230.991 0,
+ 1360358.068 611209.773 0, 1360062.716 611188.571 0, 1359767.361 611167.387 0, 1359472.006 611146.221 0, 1359176.649 611125.072 0, 1358881.291 611103.94 0, 1358585.932 611082.826 0, 1358290.572 611061.729 0, 1357995.21 611040.649 0, 1357699.847 611019.587 0,
+ 1357404.483 610998.542 0, 1357109.118 610977.515 0, 1356813.751 610956.505 0, 1356518.384 610935.512 0, 1356223.015 610914.537 0, 1355927.644 610893.579 0, 1355632.273 610872.638 0, 1355336.9 610851.715 0, 1355040.154 610830.712 0, 1354647.46 616381.358 0,
+ 1354254.743 621932.349 0, 1354550.833 621953.305 0, 1354845.552 621974.182 0, 1355140.27 621995.076 0, 1355434.987 622015.988 0, 1355729.703 622036.917 0, 1356024.417 622057.863 0, 1356319.13 622078.826 0, 1356613.842 622099.807 0, 1356908.553 622120.805 0,
+ 1357203.262 622141.821 0, 1357497.971 622162.854 0, 1357792.678 622183.904 0, 1358087.383 622204.972 0, 1358382.088 622226.057 0, 1358676.791 622247.159 0, 1358971.493 622268.279 0, 1359266.194 622289.416 0, 1359560.893 622310.57 0, 1359855.592 622331.742 0,
+ 1360150.289 622352.931 0, 1360444.985 622374.137 0, 1360739.679 622395.361 0, 1361034.372 622416.602 0, 1361327.696 622437.762 0, 1361623.755 622459.137 0, 1361918.445 622480.43 0, 1362213.133 622501.74 0, 1362507.82 622523.068 0, 1362802.506 622544.413 0,
+ 1363097.19 622565.776 0, 1363391.874 622587.155 0, 1363686.556 622608.553 0, 1363981.237 622629.967 0, 1364275.916 622651.399 0, 1364570.594 622672.848 0, 1364865.271 622694.315 0, 1365159.947 622715.799 0, 1365454.621 622737.3 0, 1365749.295 622758.819 0,
+ 1366043.966 622780.355 0, 1366338.637 622801.908 0, 1366633.306 622823.479 0, 1366927.975 622845.067 0, 1367222.641 622866.672 0, 1367517.307 622888.295 0, 1367811.971 622909.935 0, 1368106.634 622931.592 0, 1368399.929 622953.166 0, 1368808.328 617403.307 0,
+ 1369216.701 611853.793 0))
+
+POLYGON ((1382542.175 624013.942 0, 1382248.94 623991.539 0, 1381954.339 623969.049 0, 1381659.737 623946.577 0, 1381365.134 623924.122 0, 1381070.529 623901.684 0, 1380775.924 623879.264 0, 1380481.316 623856.861 0, 1380186.708 623834.475 0, 1379892.098 623812.107 0,
+ 1379597.487 623789.756 0, 1379302.874 623767.422 0, 1379008.26 623745.106 0, 1378713.645 623722.807 0, 1378419.029 623700.525 0, 1378124.411 623678.261 0, 1377829.792 623656.014 0, 1377535.171 623633.784 0, 1377240.55 623611.572 0, 1376945.927 623589.377 0,
+ 1376651.302 623567.199 0, 1376356.677 623545.039 0, 1376062.05 623522.896 0, 1375767.422 623500.77 0, 1375471.427 623478.56 0, 1375178.161 623456.571 0, 1374883.529 623434.498 0, 1374588.896 623412.441 0, 1374294.261 623390.402 0, 1373999.625 623368.381 0,
+ 1373704.988 623346.377 0, 1373410.349 623324.39 0, 1373115.709 623302.42 0, 1372821.068 623280.468 0, 1372526.426 623258.533 0, 1372231.782 623236.616 0, 1371937.137 623214.716 0, 1371642.49 623192.833 0, 1371347.843 623170.967 0, 1371053.194 623149.119 0,
+ 1370758.544 623127.289 0, 1370463.892 623105.475 0, 1370169.239 623083.679 0, 1369874.585 623061.9 0, 1369579.93 623040.139 0, 1369285.273 623018.395 0, 1368990.616 622996.668 0, 1368695.956 622974.959 0, 1368399.929 622953.166 0, 1367991.505 628503.366 0,
+ 1367583.057 634053.904 0, 1367878.428 634075.649 0, 1368172.433 634097.31 0, 1368466.438 634118.988 0, 1368760.441 634140.684 0, 1369054.443 634162.397 0, 1369348.444 634184.128 0, 1369642.443 634205.876 0, 1369936.442 634227.641 0, 1370230.438 634249.423 0,
+ 1370524.434 634271.223 0, 1370818.428 634293.04 0, 1371112.421 634314.874 0, 1371406.413 634336.726 0, 1371700.403 634358.595 0, 1371994.393 634380.481 0, 1372288.38 634402.384 0, 1372582.367 634424.305 0, 1372876.352 634446.243 0, 1373170.336 634468.199 0,
+ 1373464.319 634490.171 0, 1373758.3 634512.161 0, 1374052.281 634534.169 0, 1374346.259 634556.193 0, 1374638.874 634578.133 0, 1374934.213 634600.294 0, 1375228.188 634622.371 0, 1375522.162 634644.465 0, 1375816.134 634666.576 0, 1376110.105 634688.704 0,
+ 1376404.075 634710.85 0, 1376698.043 634733.013 0, 1376992.01 634755.194 0, 1377285.976 634777.391 0, 1377579.94 634799.606 0, 1377873.904 634821.838 0, 1378167.866 634844.088 0, 1378461.826 634866.355 0, 1378755.785 634888.639 0, 1379049.743 634910.94 0,
+ 1379343.7 634933.259 0, 1379637.655 634955.595 0, 1379931.609 634977.949 0, 1380225.562 635000.319 0, 1380519.513 635022.707 0, 1380813.463 635045.113 0, 1381107.412 635067.535 0, 1381401.36 635089.975 0, 1381693.944 635112.328 0, 1382118.073 629562.966 0,
+ 1382542.175 624013.942 0))
+
+POLYGON ((1395801.785 636210.614 0, 1395509.263 636187.434 0, 1395215.38 636164.163 0, 1394921.496 636140.91 0, 1394627.61 636117.675 0, 1394333.723 636094.457 0, 1394039.835 636071.255 0, 1393745.945 636048.072 0, 1393452.054 636024.905 0, 1393158.162 636001.756 0,
+ 1392864.268 635978.624 0, 1392570.373 635955.51 0, 1392276.476 635932.412 0, 1391982.578 635909.332 0, 1391688.679 635886.27 0, 1391394.779 635863.224 0, 1391100.877 635840.196 0, 1390806.973 635817.186 0, 1390513.069 635794.192 0, 1390219.163 635771.216 0,
+ 1389925.256 635748.257 0, 1389631.347 635725.315 0, 1389337.437 635702.391 0, 1389043.525 635679.484 0, 1388748.253 635656.489 0, 1388455.699 635633.722 0, 1388161.783 635610.867 0, 1387867.866 635588.029 0, 1387573.948 635565.209 0, 1387280.029 635542.406 0,
+ 1386986.108 635519.62 0, 1386692.186 635496.851 0, 1386398.263 635474.1 0, 1386104.338 635451.366 0, 1385810.412 635428.649 0, 1385516.484 635405.95 0, 1385222.555 635383.268 0, 1384928.625 635360.603 0, 1384634.694 635337.955 0, 1384340.761 635315.325 0,
+ 1384046.827 635292.712 0, 1383752.891 635270.117 0, 1383458.954 635247.539 0, 1383165.016 635224.978 0, 1382871.077 635202.434 0, 1382577.136 635179.907 0, 1382283.194 635157.398 0, 1381989.25 635134.907 0, 1381693.944 635112.328 0, 1381269.79 640662.025 0,
+ 1380845.611 646212.053 0, 1381140.261 646234.582 0, 1381433.551 646257.023 0, 1381726.84 646279.482 0, 1382020.127 646301.959 0, 1382313.414 646324.452 0, 1382606.699 646346.963 0, 1382899.982 646369.491 0, 1383193.264 646392.037 0, 1383486.545 646414.599 0,
+ 1383779.825 646437.179 0, 1384073.103 646459.776 0, 1384366.38 646482.391 0, 1384659.655 646505.022 0, 1384952.929 646527.671 0, 1385246.202 646550.337 0, 1385539.474 646573.021 0, 1385832.744 646595.722 0, 1386126.013 646618.44 0, 1386419.281 646641.175 0,
+ 1386712.547 646663.927 0, 1387005.812 646686.697 0, 1387299.075 646709.484 0, 1387592.337 646732.288 0, 1387884.241 646755.004 0, 1388178.858 646777.949 0, 1388472.116 646800.805 0, 1388765.373 646823.678 0, 1389058.628 646846.569 0, 1389351.882 646869.477 0,
+ 1389645.135 646892.402 0, 1389938.386 646915.344 0, 1390231.636 646938.304 0, 1390524.885 646961.281 0, 1390818.132 646984.275 0, 1391111.378 647007.286 0, 1391404.623 647030.315 0, 1391697.866 647053.361 0, 1391991.108 647076.424 0, 1392284.349 647099.504 0,
+ 1392577.588 647122.602 0, 1392870.826 647145.717 0, 1393164.062 647168.849 0, 1393457.298 647191.999 0, 1393750.531 647215.165 0, 1394043.764 647238.349 0, 1394336.995 647261.551 0, 1394630.224 647284.769 0, 1394922.097 647307.898 0, 1395361.954 641759.09 0,
+ 1395801.785 636210.614 0))
+
+POLYGON ((1408995.431 648443.506 0, 1408703.622 648419.553 0, 1408410.459 648395.506 0, 1408117.295 648371.477 0, 1407824.129 648347.464 0, 1407530.962 648323.469 0, 1407237.794 648299.492 0, 1406944.624 648275.531 0, 1406651.452 648251.588 0, 1406358.279 648227.662 0,
+ 1406065.105 648203.753 0, 1405771.93 648179.861 0, 1405478.753 648155.987 0, 1405185.574 648132.13 0, 1404892.394 648108.29 0, 1404599.213 648084.467 0, 1404306.031 648060.662 0, 1404012.847 648036.874 0, 1403719.661 648013.103 0, 1403426.474 647989.35 0,
+ 1403133.286 647965.614 0, 1402840.096 647941.895 0, 1402546.905 647918.193 0, 1402253.713 647894.508 0, 1401959.165 647870.732 0, 1401667.324 647847.191 0, 1401374.128 647823.559 0, 1401080.93 647799.943 0, 1400787.73 647776.345 0, 1400494.529 647752.764 0,
+ 1400201.327 647729.2 0, 1399908.124 647705.654 0, 1399614.919 647682.125 0, 1399321.713 647658.613 0, 1399028.505 647635.118 0, 1398735.296 647611.641 0, 1398442.085 647588.181 0, 1398148.874 647564.738 0, 1397855.66 647541.312 0, 1397562.446 647517.904 0,
+ 1397269.23 647494.513 0, 1396976.013 647471.139 0, 1396682.794 647447.782 0, 1396389.574 647424.443 0, 1396096.352 647401.121 0, 1395803.129 647377.816 0, 1395509.905 647354.528 0, 1395216.68 647331.258 0, 1394922.097 647307.898 0, 1394482.214 652857.033 0,
+ 1394042.305 658406.494 0, 1394336.231 658429.802 0, 1394628.803 658453.021 0, 1394921.374 658476.257 0, 1395213.944 658499.51 0, 1395506.512 658522.78 0, 1395799.079 658546.067 0, 1396091.644 658569.372 0, 1396384.209 658592.693 0, 1396676.771 658616.032 0,
+ 1396969.333 658639.389 0, 1397261.893 658662.762 0, 1397554.451 658686.153 0, 1397847.009 658709.56 0, 1398139.564 658732.986 0, 1398432.119 658756.428 0, 1398724.672 658779.887 0, 1399017.224 658803.364 0, 1399309.774 658826.858 0, 1399602.323 658850.369 0,
+ 1399894.871 658873.898 0, 1400187.417 658897.443 0, 1400479.962 658921.006 0, 1400772.505 658944.586 0, 1401063.696 658968.075 0, 1401357.588 658991.798 0, 1401650.127 659015.43 0, 1401942.665 659039.079 0, 1402235.201 659062.745 0, 1402527.736 659086.428 0,
+ 1402820.27 659110.129 0, 1403112.802 659133.847 0, 1403405.333 659157.582 0, 1403697.863 659181.334 0, 1403990.391 659205.103 0, 1404282.917 659228.89 0, 1404575.443 659252.694 0, 1404867.966 659276.515 0, 1405160.489 659300.353 0, 1405453.01 659324.209 0,
+ 1405745.53 659348.082 0, 1406038.048 659371.972 0, 1406330.565 659395.879 0, 1406623.08 659419.803 0, 1406915.594 659443.745 0, 1407208.107 659467.704 0, 1407500.618 659491.68 0, 1407793.128 659515.673 0, 1408084.286 659539.573 0, 1408539.872 653991.377 0,
+ 1408995.431 648443.506 0))
+
+POLYGON ((1422123.011 660712.318 0, 1421831.919 660687.596 0, 1421539.478 660662.776 0, 1421247.036 660637.974 0, 1420954.592 660613.189 0, 1420662.147 660588.421 0, 1420369.7 660563.67 0, 1420077.252 660538.937 0, 1419784.802 660514.22 0, 1419492.351 660489.521 0,
+ 1419199.899 660464.839 0, 1418907.445 660440.175 0, 1418614.989 660415.527 0, 1418322.532 660390.897 0, 1418030.074 660366.284 0, 1417737.614 660341.688 0, 1417445.153 660317.11 0, 1417152.69 660292.548 0, 1416860.226 660268.004 0, 1416567.761 660243.477 0,
+ 1416275.294 660218.967 0, 1415982.825 660194.475 0, 1415690.355 660169.999 0, 1415397.884 660145.541 0, 1415104.063 660120.988 0, 1414812.937 660096.677 0, 1414520.462 660072.27 0, 1414227.984 660047.881 0, 1413935.506 660023.509 0, 1413643.026 659999.154 0,
+ 1413350.545 659974.817 0, 1413058.062 659950.496 0, 1412765.578 659926.193 0, 1412473.092 659901.907 0, 1412180.605 659877.638 0, 1411888.116 659853.387 0, 1411595.626 659829.153 0, 1411303.135 659804.935 0, 1411010.642 659780.736 0, 1410718.148 659756.553 0,
+ 1410425.652 659732.387 0, 1410133.155 659708.239 0, 1409840.657 659684.108 0, 1409548.157 659659.994 0, 1409255.656 659635.898 0, 1408963.153 659611.818 0, 1408670.649 659587.756 0, 1408378.143 659563.711 0, 1408084.286 659539.573 0, 1407628.674 665088.09 0,
+ 1407173.036 670636.925 0, 1407466.237 670661.01 0, 1407758.09 670685.001 0, 1408049.94 670709.009 0, 1408341.79 670733.035 0, 1408633.638 670757.078 0, 1408925.485 670781.138 0, 1409217.33 670805.215 0, 1409509.174 670829.309 0, 1409801.017 670853.421 0,
+ 1410092.858 670877.549 0, 1410384.697 670901.695 0, 1410676.536 670925.858 0, 1410968.372 670950.038 0, 1411260.208 670974.236 0, 1411552.042 670998.45 0, 1411843.874 671022.682 0, 1412135.705 671046.931 0, 1412427.535 671071.197 0, 1412719.363 671095.48 0,
+ 1413011.19 671119.781 0, 1413303.016 671144.098 0, 1413594.84 671168.433 0, 1413886.662 671192.785 0, 1414177.137 671217.042 0, 1414470.303 671241.54 0, 1414762.121 671265.944 0, 1415053.938 671290.365 0, 1415345.753 671314.802 0, 1415637.567 671339.257 0,
+ 1415929.38 671363.73 0, 1416221.191 671388.219 0, 1416513 671412.726 0, 1416804.808 671437.249 0, 1417096.615 671461.79 0, 1417388.42 671486.348 0, 1417680.224 671510.923 0, 1417972.026 671535.516 0, 1418263.827 671560.125 0, 1418555.627 671584.752 0,
+ 1418847.425 671609.396 0, 1419139.221 671634.057 0, 1419431.017 671658.736 0, 1419722.81 671683.431 0, 1420014.602 671708.144 0, 1420306.393 671732.873 0, 1420598.182 671757.62 0, 1420889.97 671782.385 0, 1421180.412 671807.052 0, 1421651.725 666259.526 0,
+ 1422123.011 660712.318 0))
+
+POLYGON ((1435184.426 673016.747 0, 1434894.053 672991.259 0, 1434602.336 672965.671 0, 1434310.618 672940.1 0, 1434018.899 672914.546 0, 1433727.177 672889.009 0, 1433435.455 672863.489 0, 1433143.73 672837.986 0, 1432852.005 672812.501 0, 1432560.277 672787.033 0,
+ 1432268.549 672761.582 0, 1431976.818 672736.148 0, 1431685.087 672710.731 0, 1431393.353 672685.332 0, 1431101.619 672659.949 0, 1430809.883 672634.584 0, 1430518.145 672609.236 0, 1430226.406 672583.905 0, 1429934.665 672558.591 0, 1429642.923 672533.295 0,
+ 1429351.179 672508.016 0, 1429059.434 672482.753 0, 1428767.687 672457.508 0, 1428475.939 672432.281 0, 1428182.846 672406.954 0, 1427892.439 672381.876 0, 1427600.686 672356.7 0, 1427308.932 672331.541 0, 1427017.177 672306.399 0, 1426725.419 672281.274 0,
+ 1426433.661 672256.167 0, 1426141.901 672231.076 0, 1425850.14 672206.003 0, 1425558.377 672180.947 0, 1425266.612 672155.908 0, 1424974.846 672130.886 0, 1424683.079 672105.882 0, 1424391.31 672080.894 0, 1424099.54 672055.924 0, 1423807.768 672030.971 0,
+ 1423515.995 672006.035 0, 1423224.22 671981.116 0, 1422932.444 671956.215 0, 1422640.667 671931.33 0, 1422348.888 671906.463 0, 1422057.107 671881.613 0, 1421765.325 671856.78 0, 1421473.542 671831.964 0, 1421180.412 671807.052 0, 1420709.073 677354.892 0,
+ 1420237.707 682903.044 0, 1420530.18 682927.901 0, 1420821.311 682952.661 0, 1421112.439 682977.439 0, 1421403.567 683002.233 0, 1421694.693 683027.044 0, 1421985.817 683051.873 0, 1422276.941 683076.719 0, 1422568.062 683101.582 0, 1422859.182 683126.462 0,
+ 1423150.301 683151.359 0, 1423441.418 683176.274 0, 1423732.534 683201.205 0, 1424023.648 683226.154 0, 1424314.761 683251.119 0, 1424605.872 683276.102 0, 1424896.982 683301.102 0, 1425188.091 683326.12 0, 1425479.198 683351.154 0, 1425770.303 683376.205 0,
+ 1426061.407 683401.274 0, 1426352.51 683426.359 0, 1426643.611 683451.462 0, 1426934.71 683476.582 0, 1427224.468 683501.604 0, 1427516.905 683526.874 0, 1427808 683552.045 0, 1428099.094 683577.233 0, 1428390.186 683602.439 0, 1428681.276 683627.662 0,
+ 1428972.365 683652.902 0, 1429263.453 683678.159 0, 1429554.539 683703.433 0, 1429845.624 683728.724 0, 1430136.707 683754.033 0, 1430427.789 683779.358 0, 1430718.869 683804.701 0, 1431009.948 683830.061 0, 1431301.025 683855.438 0, 1431592.101 683880.832 0,
+ 1431883.175 683906.243 0, 1432174.248 683931.671 0, 1432465.319 683957.117 0, 1432756.389 683982.579 0, 1433047.457 684008.059 0, 1433338.524 684033.556 0, 1433629.59 684059.07 0, 1433920.653 684084.601 0, 1434210.377 684110.032 0, 1434697.415 678563.234 0,
+ 1435184.426 673016.747 0))
+
+POLYGON ((1448179.581 685356.49 0, 1447889.928 685330.241 0, 1447598.938 685303.888 0, 1447307.946 685277.551 0, 1447016.952 685251.232 0, 1446725.957 685224.93 0, 1446434.96 685198.645 0, 1446143.962 685172.378 0, 1445852.962 685146.127 0, 1445561.961 685119.894 0,
+ 1445270.958 685093.677 0, 1444979.954 685067.478 0, 1444688.948 685041.296 0, 1444397.94 685015.131 0, 1444106.931 684988.983 0, 1443815.921 684962.853 0, 1443524.909 684936.739 0, 1443233.895 684910.643 0, 1442942.88 684884.563 0, 1442651.863 684858.501 0,
+ 1442360.845 684832.456 0, 1442069.825 684806.428 0, 1441778.804 684780.417 0, 1441487.781 684754.424 0, 1441195.419 684728.328 0, 1440905.731 684702.488 0, 1440614.703 684676.546 0, 1440323.674 684650.62 0, 1440032.644 684624.712 0, 1439741.612 684598.822 0,
+ 1439450.578 684572.948 0, 1439159.543 684547.091 0, 1438868.507 684521.252 0, 1438577.469 684495.429 0, 1438286.429 684469.624 0, 1437995.388 684443.836 0, 1437704.345 684418.065 0, 1437413.301 684392.311 0, 1437122.255 684366.574 0, 1436831.208 684340.855 0,
+ 1436540.16 684315.152 0, 1436249.109 684289.467 0, 1435958.058 684263.799 0, 1435667.004 684238.148 0, 1435375.95 684212.514 0, 1435084.893 684186.897 0, 1434793.836 684161.297 0, 1434502.776 684135.715 0, 1434210.377 684110.032 0, 1433723.311 689657.138 0,
+ 1433236.219 695204.549 0, 1433527.962 695230.174 0, 1433818.369 695255.699 0, 1434108.773 695281.241 0, 1434399.177 695306.801 0, 1434689.578 695332.377 0, 1434979.979 695357.971 0, 1435270.377 695383.581 0, 1435560.775 695409.209 0, 1435851.17 695434.854 0,
+ 1436141.565 695460.516 0, 1436431.957 695486.194 0, 1436722.348 695511.891 0, 1437012.738 695537.604 0, 1437303.126 695563.334 0, 1437593.513 695589.081 0, 1437883.898 695614.846 0, 1438174.282 695640.627 0, 1438464.664 695666.426 0, 1438755.044 695692.242 0,
+ 1439045.423 695718.074 0, 1439335.801 695743.924 0, 1439626.177 695769.791 0, 1439916.552 695795.675 0, 1440205.59 695821.457 0, 1440497.296 695847.495 0, 1440787.666 695873.43 0, 1441078.034 695899.382 0, 1441368.401 695925.352 0, 1441658.766 695951.339 0,
+ 1441949.13 695977.342 0, 1442239.493 696003.363 0, 1442529.853 696029.401 0, 1442820.212 696055.456 0, 1443110.57 696081.528 0, 1443400.926 696107.617 0, 1443691.281 696133.723 0, 1443981.634 696159.847 0, 1444271.986 696185.987 0, 1444562.336 696212.145 0,
+ 1444852.684 696238.319 0, 1445143.031 696264.511 0, 1445433.376 696290.72 0, 1445723.72 696316.946 0, 1446014.062 696343.189 0, 1446304.403 696369.449 0, 1446594.742 696395.726 0, 1446885.08 696422.02 0, 1447174.083 696448.21 0, 1447676.845 690902.198 0,
+ 1448179.581 685356.49 0))
+
+POLYGON ((1461108.377 697731.244 0, 1460819.448 697704.237 0, 1460529.185 697677.123 0, 1460238.922 697650.026 0, 1459948.656 697622.945 0, 1459658.389 697595.882 0, 1459368.121 697568.836 0, 1459077.85 697541.807 0, 1458787.579 697514.795 0, 1458497.305 697487.801 0,
+ 1458207.03 697460.823 0, 1457916.754 697433.862 0, 1457626.476 697406.919 0, 1457336.196 697379.992 0, 1457045.915 697353.083 0, 1456755.632 697326.191 0, 1456465.348 697299.316 0, 1456175.062 697272.457 0, 1455884.774 697245.616 0, 1455594.485 697218.793 0,
+ 1455304.194 697191.986 0, 1455013.902 697165.196 0, 1454723.608 697138.423 0, 1454433.312 697111.668 0, 1454141.683 697084.806 0, 1453852.717 697058.208 0, 1453562.416 697031.503 0, 1453272.115 697004.816 0, 1452981.811 696978.146 0, 1452691.506 696951.493 0,
+ 1452401.2 696924.857 0, 1452110.892 696898.238 0, 1451820.582 696871.636 0, 1451530.271 696845.052 0, 1451239.958 696818.484 0, 1450949.644 696791.933 0, 1450659.328 696765.4 0, 1450369.011 696738.884 0, 1450078.692 696712.384 0, 1449788.371 696685.902 0,
+ 1449498.049 696659.437 0, 1449207.725 696632.989 0, 1448917.4 696606.558 0, 1448627.073 696580.144 0, 1448336.745 696553.747 0, 1448046.415 696527.368 0, 1447756.084 696501.005 0, 1447465.751 696474.66 0, 1447174.083 696448.21 0, 1446671.292 701994.524 0,
+ 1446168.475 707541.135 0, 1446459.487 707567.525 0, 1446749.167 707593.811 0, 1447038.846 707620.115 0, 1447328.523 707646.435 0, 1447618.198 707672.772 0, 1447907.872 707699.127 0, 1448197.545 707725.498 0, 1448487.215 707751.887 0, 1448776.885 707778.292 0,
+ 1449066.552 707804.715 0, 1449356.219 707831.155 0, 1449645.883 707857.612 0, 1449935.546 707884.085 0, 1450225.208 707910.576 0, 1450514.867 707937.084 0, 1450804.526 707963.609 0, 1451094.183 707990.151 0, 1451383.838 708016.71 0, 1451673.491 708043.286 0,
+ 1451963.143 708069.879 0, 1452252.794 708096.489 0, 1452542.443 708123.117 0, 1452832.09 708149.761 0, 1453120.407 708176.3 0, 1453411.38 708203.101 0, 1453701.023 708229.796 0, 1453990.664 708256.508 0, 1454280.304 708283.238 0, 1454569.942 708309.984 0,
+ 1454859.578 708336.748 0, 1455149.213 708363.529 0, 1455438.846 708390.326 0, 1455728.478 708417.141 0, 1456018.108 708443.973 0, 1456307.736 708470.822 0, 1456597.363 708497.688 0, 1456886.988 708524.571 0, 1457176.612 708551.471 0, 1457466.234 708578.388 0,
+ 1457755.855 708605.322 0, 1458045.474 708632.273 0, 1458335.091 708659.241 0, 1458624.707 708686.226 0, 1458914.321 708713.229 0, 1459203.934 708740.248 0, 1459493.545 708767.284 0, 1459783.155 708794.338 0, 1460071.435 708821.284 0, 1460589.92 703276.115 0,
+ 1461108.377 697731.244 0))
+
+POLYGON ((1473970.722 710140.706 0, 1473682.517 710112.945 0, 1473392.985 710085.073 0, 1473103.451 710057.219 0, 1472813.916 710029.382 0, 1472524.379 710001.561 0, 1472234.841 709973.758 0, 1471945.301 709945.972 0, 1471655.759 709918.202 0, 1471366.216 709890.45 0,
+ 1471076.671 709862.715 0, 1470787.124 709834.997 0, 1470497.576 709807.296 0, 1470208.026 709779.612 0, 1469918.475 709751.945 0, 1469628.922 709724.295 0, 1469339.367 709696.662 0, 1469049.811 709669.046 0, 1468760.253 709641.447 0, 1468470.693 709613.865 0,
+ 1468181.132 709586.301 0, 1467891.569 709558.753 0, 1467602.004 709531.222 0, 1467312.438 709503.709 0, 1467021.544 709476.086 0, 1466733.301 709448.733 0, 1466443.73 709421.27 0, 1466154.158 709393.825 0, 1465864.584 709366.396 0, 1465575.008 709338.985 0,
+ 1465285.43 709311.591 0, 1464995.851 709284.214 0, 1464706.271 709256.853 0, 1464416.688 709229.51 0, 1464127.105 709202.184 0, 1463837.519 709174.875 0, 1463547.932 709147.583 0, 1463258.343 709120.308 0, 1462968.753 709093.05 0, 1462679.161 709065.809 0,
+ 1462389.568 709038.585 0, 1462099.973 709011.378 0, 1461810.376 708984.189 0, 1461520.778 708957.016 0, 1461231.178 708929.86 0, 1460941.576 708902.722 0, 1460651.973 708875.6 0, 1460362.369 708848.496 0, 1460071.435 708821.284 0, 1459552.922 714366.747 0,
+ 1459034.382 719912.501 0, 1459324.66 719939.651 0, 1459613.612 719966.695 0, 1459902.562 719993.755 0, 1460191.511 720020.832 0, 1460480.458 720047.927 0, 1460769.403 720075.038 0, 1461058.347 720102.167 0, 1461347.29 720129.312 0, 1461636.23 720156.475 0,
+ 1461925.169 720183.654 0, 1462214.107 720210.851 0, 1462503.043 720238.064 0, 1462791.977 720265.295 0, 1463080.91 720292.542 0, 1463369.841 720319.807 0, 1463658.77 720347.088 0, 1463947.698 720374.387 0, 1464236.625 720401.703 0, 1464525.549 720429.035 0,
+ 1464814.472 720456.385 0, 1465103.394 720483.751 0, 1465392.314 720511.135 0, 1465681.232 720538.535 0, 1465968.825 720565.827 0, 1466259.063 720593.387 0, 1466547.977 720620.839 0, 1466836.889 720648.308 0, 1467125.799 720675.793 0, 1467414.707 720703.296 0,
+ 1467703.614 720730.815 0, 1467992.519 720758.352 0, 1468281.423 720785.906 0, 1468570.325 720813.476 0, 1468859.226 720841.064 0, 1469148.124 720868.669 0, 1469437.022 720896.29 0, 1469725.917 720923.929 0, 1470014.811 720951.584 0, 1470303.703 720979.257 0,
+ 1470592.594 721006.947 0, 1470881.483 721034.653 0, 1471170.37 721062.377 0, 1471459.256 721090.118 0, 1471748.14 721117.875 0, 1472037.023 721145.65 0, 1472325.904 721173.442 0, 1472614.783 721201.25 0, 1472902.338 721228.949 0, 1473436.544 715684.682 0,
+ 1473970.722 710140.706 0))
+
+POLYGON ((1486766.52 722584.571 0, 1486479.042 722556.06 0, 1486190.243 722527.435 0, 1485901.441 722498.827 0, 1485612.638 722470.237 0, 1485323.834 722441.663 0, 1485035.028 722413.106 0, 1484746.22 722384.567 0, 1484457.41 722356.044 0, 1484168.599 722327.538 0,
+ 1483879.786 722299.049 0, 1483590.971 722270.578 0, 1483302.155 722242.123 0, 1483013.337 722213.685 0, 1482724.517 722185.265 0, 1482435.696 722156.861 0, 1482146.873 722128.474 0, 1481858.048 722100.105 0, 1481569.222 722071.752 0, 1481280.394 722043.416 0,
+ 1480991.564 722015.097 0, 1480702.733 721986.796 0, 1480413.9 721958.511 0, 1480125.065 721930.243 0, 1479834.908 721901.863 0, 1479547.391 721873.759 0, 1479258.551 721845.542 0, 1478969.71 721817.342 0, 1478680.867 721789.16 0, 1478392.022 721760.994 0,
+ 1478103.176 721732.845 0, 1477814.328 721704.714 0, 1477525.478 721676.599 0, 1477236.627 721648.501 0, 1476947.774 721620.421 0, 1476658.92 721592.357 0, 1476370.064 721564.31 0, 1476081.206 721536.28 0, 1475792.346 721508.268 0, 1475503.485 721480.272 0,
+ 1475214.622 721452.293 0, 1474925.758 721424.332 0, 1474636.892 721396.387 0, 1474348.024 721368.459 0, 1474059.154 721340.549 0, 1473770.283 721312.655 0, 1473481.411 721284.778 0, 1473192.536 721256.919 0, 1472902.338 721228.949 0, 1472368.105 726773.503 0,
+ 1471833.844 732318.341 0, 1472123.387 732346.248 0, 1472411.608 732374.045 0, 1472699.828 732401.859 0, 1472988.046 732429.689 0, 1473276.263 732457.537 0, 1473564.478 732485.401 0, 1473852.692 732513.283 0, 1474140.903 732541.181 0, 1474429.114 732569.097 0,
+ 1474717.322 732597.029 0, 1475005.529 732624.979 0, 1475293.734 732652.945 0, 1475581.938 732680.928 0, 1475870.14 732708.929 0, 1476158.34 732736.946 0, 1476446.539 732764.98 0, 1476734.736 732793.031 0, 1477022.931 732821.099 0, 1477311.124 732849.185 0,
+ 1477599.317 732877.287 0, 1477887.507 732905.406 0, 1478175.696 732933.542 0, 1478463.883 732961.695 0, 1478750.75 732989.736 0, 1479040.252 733018.051 0, 1479328.434 733046.255 0, 1479616.614 733074.476 0, 1479904.793 733102.714 0, 1480192.97 733130.969 0,
+ 1480481.145 733159.24 0, 1480769.319 733187.529 0, 1481057.491 733215.834 0, 1481345.662 733244.157 0, 1481633.83 733272.497 0, 1481921.998 733300.853 0, 1482210.163 733329.227 0, 1482498.327 733357.617 0, 1482786.489 733386.024 0, 1483074.649 733414.449 0,
+ 1483362.808 733442.89 0, 1483650.965 733471.348 0, 1483939.12 733499.823 0, 1484227.274 733528.316 0, 1484515.426 733556.825 0, 1484803.576 733585.351 0, 1485091.725 733613.894 0, 1485379.872 733642.454 0, 1485666.701 733670.9 0, 1486216.625 728127.593 0,
+ 1486766.52 722584.571 0))
+
+POLYGON ((1499495.681 735062.534 0, 1499208.932 735033.277 0, 1498920.867 735003.903 0, 1498632.8 734974.546 0, 1498344.731 734945.206 0, 1498056.661 734915.883 0, 1497768.589 734886.577 0, 1497480.515 734857.288 0, 1497192.439 734828.016 0, 1496904.362 734798.76 0,
+ 1496616.283 734769.522 0, 1496328.203 734740.301 0, 1496040.12 734711.096 0, 1495752.036 734681.909 0, 1495463.95 734652.738 0, 1495175.863 734623.585 0, 1494887.773 734594.448 0, 1494599.682 734565.329 0, 1494311.59 734536.226 0, 1494023.495 734507.14 0,
+ 1493735.399 734478.071 0, 1493447.301 734449.02 0, 1493159.202 734419.985 0, 1492871.101 734390.967 0, 1492581.682 734361.834 0, 1492294.893 734332.982 0, 1492006.787 734304.015 0, 1491718.679 734275.065 0, 1491430.569 734246.132 0, 1491142.457 734217.216 0,
+ 1490854.344 734188.316 0, 1490566.229 734159.434 0, 1490278.113 734130.569 0, 1489989.995 734101.721 0, 1489701.875 734072.889 0, 1489413.753 734044.075 0, 1489125.63 734015.277 0, 1488837.505 733986.497 0, 1488549.378 733957.733 0, 1488261.249 733928.987 0,
+ 1487973.119 733900.257 0, 1487684.987 733871.545 0, 1487396.854 733842.849 0, 1487108.719 733814.17 0, 1486820.582 733785.508 0, 1486532.443 733756.864 0, 1486244.303 733728.236 0, 1485956.161 733699.625 0, 1485666.701 733670.9 0, 1485116.749 739214.488 0,
+ 1484566.77 744758.352 0, 1484855.575 744787.012 0, 1485143.064 744815.558 0, 1485430.552 744844.121 0, 1485718.038 744872.701 0, 1486005.522 744901.298 0, 1486293.005 744929.911 0, 1486580.486 744958.542 0, 1486867.965 744987.19 0, 1487155.442 745015.854 0,
+ 1487442.918 745044.536 0, 1487730.392 745073.234 0, 1488017.865 745101.949 0, 1488305.336 745130.682 0, 1488592.805 745159.431 0, 1488880.272 745188.197 0, 1489167.738 745216.98 0, 1489455.202 745245.78 0, 1489742.665 745274.596 0, 1490030.125 745303.43 0,
+ 1490317.584 745332.281 0, 1490605.041 745361.148 0, 1490892.497 745390.033 0, 1491179.951 745418.934 0, 1491466.091 745447.721 0, 1491754.853 745476.788 0, 1492042.302 745505.74 0, 1492329.749 745534.709 0, 1492617.195 745563.695 0, 1492904.638 745592.698 0,
+ 1493192.08 745621.718 0, 1493479.52 745650.755 0, 1493766.959 745679.808 0, 1494054.396 745708.879 0, 1494341.831 745737.967 0, 1494629.264 745767.071 0, 1494916.696 745796.192 0, 1495204.126 745825.331 0, 1495491.554 745854.486 0, 1495778.98 745883.658 0,
+ 1496066.405 745912.847 0, 1496353.828 745942.053 0, 1496641.25 745971.276 0, 1496928.669 746000.515 0, 1497216.087 746029.772 0, 1497503.503 746059.046 0, 1497790.918 746088.336 0, 1498078.331 746117.644 0, 1498364.43 746146.834 0, 1498930.07 740604.546 0,
+ 1499495.681 735062.534 0))
+
+POLYGON ((1512158.113 747574.292 0, 1511872.095 747544.293 0, 1511584.766 747514.174 0, 1511297.435 747484.071 0, 1511010.103 747453.986 0, 1510722.769 747423.917 0, 1510435.433 747393.865 0, 1510148.095 747363.831 0, 1509860.756 747333.813 0, 1509573.415 747303.812 0,
+ 1509286.072 747273.828 0, 1508998.727 747243.861 0, 1508711.381 747213.911 0, 1508424.033 747183.977 0, 1508136.683 747154.061 0, 1507849.331 747124.161 0, 1507561.977 747094.279 0, 1507274.622 747064.413 0, 1506987.265 747034.565 0, 1506699.906 747004.733 0,
+ 1506412.546 746974.918 0, 1506125.183 746945.12 0, 1505837.819 746915.339 0, 1505550.453 746885.575 0, 1505261.776 746855.692 0, 1504975.717 746826.097 0, 1504688.345 746796.384 0, 1504400.973 746766.687 0, 1504113.598 746737.008 0, 1503826.222 746707.345 0,
+ 1503538.844 746677.699 0, 1503251.464 746648.07 0, 1502964.082 746618.458 0, 1502676.699 746588.863 0, 1502389.314 746559.285 0, 1502101.927 746529.724 0, 1501814.539 746500.18 0, 1501527.149 746470.653 0, 1501239.757 746441.142 0, 1500952.363 746411.649 0,
+ 1500664.968 746382.172 0, 1500377.57 746352.712 0, 1500090.171 746323.27 0, 1499802.771 746293.844 0, 1499515.368 746264.435 0, 1499227.964 746235.043 0, 1498940.558 746205.668 0, 1498653.151 746176.309 0, 1498364.43 746146.834 0, 1497798.763 751689.396 0,
+ 1497233.068 757232.229 0, 1497521.133 757261.637 0, 1497807.888 757290.928 0, 1498094.642 757320.237 0, 1498381.393 757349.562 0, 1498668.143 757378.904 0, 1498954.892 757408.263 0, 1499241.638 757437.639 0, 1499528.383 757467.032 0, 1499815.126 757496.442 0,
+ 1500101.867 757525.868 0, 1500388.607 757555.312 0, 1500675.344 757584.772 0, 1500962.081 757614.249 0, 1501248.815 757643.743 0, 1501535.547 757673.254 0, 1501822.278 757702.782 0, 1502109.008 757732.327 0, 1502395.735 757761.888 0, 1502682.461 757791.467 0,
+ 1502969.184 757821.062 0, 1503255.907 757850.674 0, 1503542.627 757880.304 0, 1503829.346 757909.949 0, 1504114.756 757939.477 0, 1504402.778 757969.292 0, 1504689.491 757998.989 0, 1504976.203 758028.702 0, 1505262.913 758058.432 0, 1505549.621 758088.18 0,
+ 1505836.328 758117.944 0, 1506123.032 758147.725 0, 1506409.735 758177.522 0, 1506696.436 758207.337 0, 1506983.136 758237.169 0, 1507269.834 758267.017 0, 1507556.529 758296.883 0, 1507843.224 758326.765 0, 1508129.916 758356.664 0, 1508416.607 758386.58 0,
+ 1508703.295 758416.513 0, 1508989.983 758446.462 0, 1509276.668 758476.429 0, 1509563.352 758506.412 0, 1509850.033 758536.413 0, 1510136.713 758566.43 0, 1510423.392 758596.464 0, 1510710.068 758626.515 0, 1510995.437 758656.446 0, 1511576.79 753115.234 0,
+ 1512158.113 747574.292 0))
+
+POLYGON ((1524753.728 760119.538 0, 1524468.442 760088.801 0, 1524181.852 760057.94 0, 1523895.259 760027.096 0, 1523608.665 759996.269 0, 1523322.069 759965.459 0, 1523035.472 759934.666 0, 1522748.872 759903.89 0, 1522462.271 759873.13 0, 1522175.668 759842.387 0,
+ 1521889.063 759811.662 0, 1521602.456 759780.953 0, 1521315.847 759750.261 0, 1521029.237 759719.586 0, 1520742.625 759688.927 0, 1520456.011 759658.286 0, 1520169.395 759627.661 0, 1519882.777 759597.054 0, 1519596.158 759566.463 0, 1519309.537 759535.889 0,
+ 1519022.914 759505.332 0, 1518736.289 759474.791 0, 1518449.662 759444.268 0, 1518163.034 759413.762 0, 1517875.099 759383.133 0, 1517589.772 759352.799 0, 1517303.138 759322.343 0, 1517016.502 759291.904 0, 1516729.865 759261.482 0, 1516443.226 759231.077 0,
+ 1516156.585 759200.689 0, 1515869.942 759170.317 0, 1515583.298 759139.962 0, 1515296.651 759109.625 0, 1515010.003 759079.304 0, 1514723.353 759049 0, 1514436.702 759018.713 0, 1514150.048 758988.442 0, 1513863.393 758958.189 0, 1513576.736 758927.952 0,
+ 1513290.077 758897.733 0, 1513003.417 758867.53 0, 1512716.754 758837.344 0, 1512430.09 758807.175 0, 1512143.424 758777.023 0, 1511856.757 758746.887 0, 1511570.087 758716.769 0, 1511283.416 758686.667 0, 1510995.437 758656.446 0, 1510414.057 764197.924 0,
+ 1509832.65 769739.666 0, 1510119.973 769769.819 0, 1510405.992 769799.852 0, 1510692.009 769829.902 0, 1510978.024 769859.968 0, 1511264.038 769890.052 0, 1511550.05 769920.152 0, 1511836.06 769950.27 0, 1512122.068 769980.404 0, 1512408.074 770010.555 0,
+ 1512694.079 770040.722 0, 1512980.082 770070.907 0, 1513266.083 770101.108 0, 1513552.082 770131.327 0, 1513838.08 770161.562 0, 1514124.076 770191.814 0, 1514410.07 770222.082 0, 1514696.062 770252.368 0, 1514982.053 770282.67 0, 1515268.041 770312.99 0,
+ 1515554.028 770343.326 0, 1515840.013 770373.678 0, 1516125.997 770404.048 0, 1516411.978 770434.435 0, 1516696.657 770464.7 0, 1516983.936 770495.258 0, 1517269.912 770525.695 0, 1517555.886 770556.149 0, 1517841.859 770586.62 0, 1518127.83 770617.108 0,
+ 1518413.799 770647.612 0, 1518699.766 770678.133 0, 1518985.731 770708.671 0, 1519271.695 770739.226 0, 1519557.657 770769.798 0, 1519843.617 770800.386 0, 1520129.575 770830.992 0, 1520415.531 770861.614 0, 1520701.486 770892.253 0, 1520987.439 770922.909 0,
+ 1521273.39 770953.582 0, 1521559.339 770984.271 0, 1521845.286 771014.978 0, 1522131.232 771045.701 0, 1522417.176 771076.441 0, 1522703.118 771107.198 0, 1522989.058 771137.971 0, 1523274.996 771168.762 0, 1523559.633 771199.429 0, 1524156.694 765659.352 0,
+ 1524753.728 760119.538 0))
+
+POLYGON ((1537282.437 772697.968 0, 1536997.886 772666.496 0, 1536712.036 772634.898 0, 1536426.184 772603.317 0, 1536140.33 772571.752 0, 1535854.474 772540.204 0, 1535568.616 772508.673 0, 1535282.757 772477.159 0, 1534996.896 772445.662 0, 1534711.032 772414.182 0,
+ 1534425.167 772382.718 0, 1534139.3 772351.271 0, 1533853.432 772319.841 0, 1533567.561 772288.428 0, 1533281.689 772257.032 0, 1532995.814 772225.652 0, 1532709.938 772194.29 0, 1532424.06 772162.944 0, 1532138.18 772131.615 0, 1531852.299 772100.303 0,
+ 1531566.415 772069.007 0, 1531280.53 772037.729 0, 1530994.643 772006.467 0, 1530708.754 771975.222 0, 1530421.564 771943.852 0, 1530136.97 771912.783 0, 1529851.075 771881.588 0, 1529565.179 771850.411 0, 1529279.281 771819.25 0, 1528993.381 771788.106 0,
+ 1528707.479 771756.979 0, 1528421.575 771725.869 0, 1528135.67 771694.775 0, 1527849.762 771663.699 0, 1527563.853 771632.639 0, 1527277.942 771601.596 0, 1526992.029 771570.57 0, 1526706.114 771539.561 0, 1526420.198 771508.568 0, 1526134.28 771477.593 0,
+ 1525848.359 771446.634 0, 1525562.437 771415.692 0, 1525276.514 771384.767 0, 1524990.588 771353.858 0, 1524704.661 771322.967 0, 1524418.731 771292.092 0, 1524132.8 771261.234 0, 1523846.867 771230.393 0, 1523559.633 771199.429 0, 1522962.543 776739.766 0,
+ 1522365.426 782280.358 0, 1522652.005 782311.252 0, 1522937.286 782342.022 0, 1523222.565 782372.81 0, 1523507.842 782403.614 0, 1523793.117 782434.435 0, 1524078.39 782465.273 0, 1524363.662 782496.127 0, 1524648.932 782526.999 0, 1524934.2 782557.887 0,
+ 1525219.466 782588.792 0, 1525504.73 782619.714 0, 1525789.993 782650.652 0, 1526075.254 782681.608 0, 1526360.512 782712.58 0, 1526645.77 782743.569 0, 1526931.025 782774.574 0, 1527216.278 782805.597 0, 1527501.53 782836.636 0, 1527786.78 782867.692 0,
+ 1528072.028 782898.765 0, 1528357.274 782929.855 0, 1528642.518 782960.961 0, 1528927.76 782992.085 0, 1529211.705 783023.083 0, 1529498.24 783054.381 0, 1529783.477 783085.555 0, 1530068.712 783116.745 0, 1530353.945 783147.953 0, 1530639.176 783179.177 0,
+ 1530924.406 783210.417 0, 1531209.634 783241.675 0, 1531494.86 783272.949 0, 1531780.084 783304.24 0, 1532065.306 783335.548 0, 1532350.526 783366.873 0, 1532635.745 783398.214 0, 1532920.962 783429.573 0, 1533206.177 783460.948 0, 1533491.39 783492.34 0,
+ 1533776.601 783523.748 0, 1534061.81 783555.174 0, 1534347.017 783586.616 0, 1534632.223 783618.075 0, 1534917.427 783649.551 0, 1535202.629 783681.043 0, 1535487.829 783712.553 0, 1535773.027 783744.079 0, 1536056.929 783775.479 0, 1536669.697 778236.595 0,
+ 1537282.437 772697.968 0))
+
+POLYGON ((1549744.153 785309.274 0, 1549460.339 785277.072 0, 1549175.231 785244.74 0, 1548890.121 785212.425 0, 1548605.01 785180.127 0, 1548319.896 785147.846 0, 1548034.78 785115.581 0, 1547749.663 785083.333 0, 1547464.543 785051.102 0, 1547179.422 785018.888 0,
+ 1546894.299 784986.69 0, 1546609.174 784954.51 0, 1546324.047 784922.346 0, 1546038.918 784890.199 0, 1545753.787 784858.068 0, 1545468.655 784825.955 0, 1545183.52 784793.858 0, 1544898.384 784761.778 0, 1544613.245 784729.715 0, 1544328.105 784697.668 0,
+ 1544042.963 784665.638 0, 1543757.819 784633.626 0, 1543472.673 784601.629 0, 1543187.526 784569.65 0, 1542901.083 784537.543 0, 1542617.224 784505.742 0, 1542332.071 784473.813 0, 1542046.916 784441.901 0, 1541761.759 784410.005 0, 1541476.6 784378.127 0,
+ 1541191.439 784346.265 0, 1540906.276 784314.42 0, 1540621.111 784282.591 0, 1540335.945 784250.78 0, 1540050.777 784218.985 0, 1539765.606 784187.207 0, 1539480.434 784155.446 0, 1539195.26 784123.702 0, 1538910.084 784091.974 0, 1538624.907 784060.263 0,
+ 1538339.727 784028.569 0, 1538054.546 783996.892 0, 1537769.362 783965.232 0, 1537484.177 783933.588 0, 1537198.99 783901.961 0, 1536913.801 783870.351 0, 1536628.61 783838.758 0, 1536343.418 783807.181 0, 1536056.929 783775.479 0, 1535444.133 789314.614 0,
+ 1534831.309 794853.999 0, 1535117.143 794885.63 0, 1535401.684 794917.134 0, 1535686.222 794948.655 0, 1535970.759 794980.193 0, 1536255.294 795011.747 0, 1536539.827 795043.319 0, 1536824.359 795074.907 0, 1537108.888 795106.511 0, 1537393.416 795138.133 0,
+ 1537677.941 795169.771 0, 1537962.465 795201.426 0, 1538246.987 795233.098 0, 1538531.507 795264.786 0, 1538816.025 795296.492 0, 1539100.542 795328.214 0, 1539385.056 795359.953 0, 1539669.569 795391.708 0, 1539954.08 795423.48 0, 1540238.589 795455.269 0,
+ 1540523.096 795487.075 0, 1540807.601 795518.897 0, 1541092.104 795550.737 0, 1541376.606 795582.593 0, 1541659.815 795614.321 0, 1541945.603 795646.355 0, 1542230.099 795678.261 0, 1542514.592 795710.184 0, 1542799.084 795742.124 0, 1543083.575 795774.08 0,
+ 1543368.063 795806.053 0, 1543652.549 795838.043 0, 1543937.034 795870.05 0, 1544221.516 795902.073 0, 1544505.997 795934.114 0, 1544790.476 795966.171 0, 1545074.953 795998.244 0, 1545359.428 796030.335 0, 1545643.901 796062.442 0, 1545928.372 796094.566 0,
+ 1546212.842 796126.706 0, 1546497.309 796158.864 0, 1546781.775 796191.038 0, 1547066.239 796223.229 0, 1547350.7 796255.436 0, 1547635.16 796287.661 0, 1547919.618 796319.902 0, 1548204.075 796352.159 0, 1548487.24 796384.288 0, 1549115.711 790846.656 0,
+ 1549744.153 785309.274 0))
+
+POLYGON ((1562138.793 797953.151 0, 1561855.717 797920.222 0, 1561571.353 797887.161 0, 1561286.987 797854.117 0, 1561002.62 797821.089 0, 1560718.25 797788.078 0, 1560433.878 797755.083 0, 1560149.505 797722.105 0, 1559865.129 797689.145 0, 1559580.752 797656.2 0,
+ 1559296.372 797623.273 0, 1559011.991 797590.362 0, 1558727.608 797557.468 0, 1558443.223 797524.591 0, 1558158.836 797491.731 0, 1557874.446 797458.887 0, 1557590.055 797426.06 0, 1557305.663 797393.249 0, 1557021.268 797360.456 0, 1556736.871 797327.679 0,
+ 1556452.472 797294.919 0, 1556168.071 797262.176 0, 1555883.669 797229.449 0, 1555599.264 797196.739 0, 1555313.57 797163.898 0, 1555030.45 797131.37 0, 1554746.039 797098.71 0, 1554461.627 797066.067 0, 1554177.213 797033.441 0, 1553892.797 797000.832 0,
+ 1553608.379 796968.239 0, 1553323.959 796935.663 0, 1553039.537 796903.104 0, 1552755.114 796870.562 0, 1552470.688 796838.036 0, 1552186.26 796805.527 0, 1551901.831 796773.035 0, 1551617.4 796740.559 0, 1551332.966 796708.101 0, 1551048.531 796675.659 0,
+ 1550764.094 796643.233 0, 1550479.655 796610.825 0, 1550195.214 796578.433 0, 1549910.771 796546.058 0, 1549626.327 796513.7 0, 1549341.88 796481.358 0, 1549057.432 796449.033 0, 1548772.981 796416.725 0, 1548487.24 796384.288 0, 1547858.741 801922.164 0,
+ 1547230.215 807460.283 0, 1547515.301 807492.646 0, 1547799.1 807524.88 0, 1548082.896 807557.131 0, 1548366.691 807589.398 0, 1548650.484 807621.682 0, 1548934.275 807653.983 0, 1549218.064 807686.301 0, 1549501.851 807718.635 0, 1549785.636 807750.986 0,
+ 1550069.42 807783.353 0, 1550353.201 807815.738 0, 1550636.98 807848.139 0, 1550920.758 807880.557 0, 1551204.534 807912.991 0, 1551488.307 807945.442 0, 1551772.079 807977.91 0, 1552055.849 808010.395 0, 1552339.617 808042.896 0, 1552623.383 808075.414 0,
+ 1552907.148 808107.948 0, 1553190.91 808140.5 0, 1553474.67 808173.068 0, 1553758.429 808205.653 0, 1554040.901 808238.106 0, 1554325.94 808270.872 0, 1554609.693 808303.507 0, 1554893.444 808336.159 0, 1555177.192 808368.827 0, 1555460.939 808401.512 0,
+ 1555744.684 808434.214 0, 1556028.427 808466.932 0, 1556312.169 808499.667 0, 1556595.908 808532.419 0, 1556879.645 808565.187 0, 1557163.38 808597.973 0, 1557447.114 808630.774 0, 1557730.845 808663.593 0, 1558014.575 808696.428 0, 1558298.303 808729.28 0,
+ 1558582.028 808762.149 0, 1558865.752 808795.034 0, 1559149.474 808827.936 0, 1559433.194 808860.855 0, 1559716.912 808893.791 0, 1560000.628 808926.743 0, 1560284.342 808959.712 0, 1560568.054 808992.697 0, 1560850.481 809025.55 0, 1561494.651 803489.23 0,
+ 1562138.793 797953.151 0))
+
+POLYGON ((1574466.271 810629.291 0, 1574183.936 810595.64 0, 1573900.318 810561.853 0, 1573616.698 810528.083 0, 1573333.076 810494.329 0, 1573049.452 810460.593 0, 1572765.827 810426.872 0, 1572482.199 810393.169 0, 1572198.569 810359.482 0, 1571914.937 810325.812 0,
+ 1571631.304 810292.158 0, 1571347.668 810258.522 0, 1571064.03 810224.902 0, 1570780.391 810191.298 0, 1570496.749 810157.712 0, 1570213.105 810124.142 0, 1569929.46 810090.588 0, 1569645.812 810057.052 0, 1569362.163 810023.532 0, 1569078.511 809990.029 0,
+ 1568794.858 809956.542 0, 1568511.202 809923.073 0, 1568227.545 809889.619 0, 1567943.886 809856.183 0, 1567658.942 809822.612 0, 1567376.561 809789.36 0, 1567092.896 809755.974 0, 1566809.229 809722.604 0, 1566525.559 809689.252 0, 1566241.888 809655.915 0,
+ 1565958.215 809622.596 0, 1565674.54 809589.293 0, 1565390.863 809556.007 0, 1565107.184 809522.737 0, 1564823.503 809489.485 0, 1564539.82 809456.249 0, 1564256.135 809423.029 0, 1563972.448 809389.827 0, 1563688.76 809356.641 0, 1563405.069 809323.471 0,
+ 1563121.376 809290.319 0, 1562837.681 809257.183 0, 1562553.985 809224.064 0, 1562270.286 809190.961 0, 1561986.586 809157.876 0, 1561702.883 809124.807 0, 1561419.179 809091.754 0, 1561135.473 809058.719 0, 1560850.481 809025.55 0, 1560206.283 814562.109 0,
+ 1559562.059 820098.902 0, 1559846.395 820131.994 0, 1560129.45 820164.954 0, 1560412.503 820197.93 0, 1560695.553 820230.923 0, 1560978.602 820263.933 0, 1561261.649 820296.96 0, 1561544.694 820330.003 0, 1561827.737 820363.062 0, 1562110.778 820396.139 0,
+ 1562393.817 820429.232 0, 1562676.854 820462.342 0, 1562959.889 820495.468 0, 1563242.922 820528.611 0, 1563525.953 820561.771 0, 1563808.983 820594.947 0, 1564092.01 820628.14 0, 1564375.035 820661.35 0, 1564658.059 820694.576 0, 1564941.08 820727.819 0,
+ 1565224.1 820761.079 0, 1565507.117 820794.355 0, 1565790.133 820827.648 0, 1566073.146 820860.958 0, 1566354.879 820894.133 0, 1566639.168 820927.627 0, 1566922.175 820960.986 0, 1567205.181 820994.363 0, 1567488.185 821027.755 0, 1567771.187 821061.165 0,
+ 1568054.187 821094.591 0, 1568337.185 821128.034 0, 1568620.181 821161.494 0, 1568903.175 821194.97 0, 1569186.167 821228.463 0, 1569469.157 821261.972 0, 1569752.145 821295.498 0, 1570035.131 821329.041 0, 1570318.115 821362.601 0, 1570601.097 821396.177 0,
+ 1570884.077 821429.769 0, 1571167.055 821463.379 0, 1571450.031 821497.005 0, 1571733.006 821530.648 0, 1572015.978 821564.307 0, 1572298.948 821597.983 0, 1572581.916 821631.676 0, 1572864.883 821665.385 0, 1573146.569 821698.959 0, 1573806.434 816164.008 0,
+ 1574466.271 810629.291 0))
+
+POLYGON ((1586726.505 823337.388 0, 1586444.912 823303.018 0, 1586162.043 823268.51 0, 1585879.171 823234.018 0, 1585596.297 823199.542 0, 1585313.421 823165.084 0, 1585030.543 823130.642 0, 1584747.662 823096.216 0, 1584464.78 823061.807 0, 1584181.896 823027.415 0,
+ 1583899.01 822993.04 0, 1583616.122 822958.681 0, 1583333.232 822924.339 0, 1583050.34 822890.013 0, 1582767.445 822855.705 0, 1582484.549 822821.412 0, 1582201.651 822787.137 0, 1581918.751 822752.878 0, 1581635.848 822718.636 0, 1581352.944 822684.41 0,
+ 1581070.038 822650.201 0, 1580787.129 822616.009 0, 1580504.219 822581.833 0, 1580221.307 822547.674 0, 1579937.116 822513.378 0, 1579655.476 822479.406 0, 1579372.558 822445.297 0, 1579089.637 822411.205 0, 1578806.715 822377.129 0, 1578523.79 822343.07 0,
+ 1578240.864 822309.027 0, 1577957.935 822275.002 0, 1577675.005 822240.992 0, 1577392.073 822207 0, 1577109.138 822173.024 0, 1576826.202 822139.065 0, 1576543.263 822105.122 0, 1576260.323 822071.197 0, 1575977.381 822037.287 0, 1575694.436 822003.395 0,
+ 1575411.49 821969.519 0, 1575128.541 821935.66 0, 1574845.591 821901.817 0, 1574562.639 821867.991 0, 1574279.684 821834.182 0, 1573996.728 821800.389 0, 1573713.77 821766.613 0, 1573430.809 821732.854 0, 1573146.569 821698.959 0, 1572486.677 827234.141 0,
+ 1571826.757 832769.55 0, 1572110.343 832803.367 0, 1572392.652 832837.049 0, 1572674.959 832870.747 0, 1572957.263 832904.462 0, 1573239.566 832938.193 0, 1573521.867 832971.941 0, 1573804.166 833005.706 0, 1574086.463 833039.487 0, 1574368.757 833073.285 0,
+ 1574651.05 833107.099 0, 1574933.341 833140.931 0, 1575215.63 833174.778 0, 1575497.917 833208.643 0, 1575780.202 833242.524 0, 1576062.485 833276.421 0, 1576344.766 833310.335 0, 1576627.044 833344.266 0, 1576909.321 833378.214 0, 1577191.596 833412.178 0,
+ 1577473.869 833446.158 0, 1577756.14 833480.156 0, 1578038.409 833514.17 0, 1578320.676 833548.2 0, 1578601.667 833582.093 0, 1578885.204 833616.311 0, 1579167.465 833650.391 0, 1579449.723 833684.488 0, 1579731.98 833718.602 0, 1580014.235 833752.732 0,
+ 1580296.488 833786.879 0, 1580578.739 833821.042 0, 1580860.988 833855.222 0, 1581143.234 833889.419 0, 1581425.479 833923.632 0, 1581707.722 833957.862 0, 1581989.963 833992.108 0, 1582272.202 834026.371 0, 1582554.438 834060.651 0, 1582836.673 834094.947 0,
+ 1583118.906 834129.26 0, 1583401.136 834163.59 0, 1583683.365 834197.936 0, 1583965.592 834232.299 0, 1584247.816 834266.678 0, 1584530.039 834301.074 0, 1584812.259 834335.487 0, 1585094.478 834369.916 0, 1585375.422 834404.206 0, 1586050.978 828870.684 0,
+ 1586726.505 823337.388 0))
+
+POLYGON ((1103443.765 399244.234 0, 1103137.409 399238.184 0, 1102829.581 399232.122 0, 1102521.752 399226.079 0, 1102213.922 399220.054 0, 1101906.093 399214.047 0, 1101598.262 399208.058 0, 1101290.432 399202.087 0, 1100982.601 399196.134 0, 1100674.77 399190.2 0,
+ 1100366.938 399184.283 0, 1100059.107 399178.385 0, 1099751.274 399172.505 0, 1099443.442 399166.643 0, 1099135.609 399160.799 0, 1098827.776 399154.973 0, 1098519.942 399149.165 0, 1098212.108 399143.375 0, 1097904.274 399137.604 0, 1097596.439 399131.85 0,
+ 1097288.604 399126.115 0, 1096980.769 399120.398 0, 1096672.933 399114.699 0, 1096365.098 399109.018 0, 1096055.787 399103.328 0, 1095749.425 399097.711 0, 1095441.588 399092.084 0, 1095133.75 399086.476 0, 1094825.913 399080.885 0, 1094518.075 399075.313 0,
+ 1094210.237 399069.759 0, 1093902.398 399064.223 0, 1093594.559 399058.705 0, 1093286.72 399053.205 0, 1092978.88 399047.724 0, 1092671.04 399042.26 0, 1092363.2 399036.815 0, 1092055.36 399031.388 0, 1091747.519 399025.979 0, 1091439.678 399020.588 0,
+ 1091131.836 399015.215 0, 1090823.994 399009.86 0, 1090516.152 399004.523 0, 1090208.31 398999.205 0, 1089900.467 398993.904 0, 1089592.624 398988.622 0, 1089284.781 398983.358 0, 1088976.937 398978.112 0, 1088667.618 398972.859 0, 1088573.544 404522.06 0,
+ 1088479.462 410071.717 0, 1088788.125 410076.959 0, 1089095.315 410082.194 0, 1089402.505 410087.447 0, 1089709.695 410092.718 0, 1090016.884 410098.007 0, 1090324.074 410103.314 0, 1090631.262 410108.64 0, 1090938.451 410113.983 0, 1091245.639 410119.345 0,
+ 1091552.827 410124.724 0, 1091860.015 410130.122 0, 1092167.202 410135.538 0, 1092474.389 410140.971 0, 1092781.576 410146.423 0, 1093088.762 410151.893 0, 1093395.948 410157.381 0, 1093703.134 410162.887 0, 1094010.319 410168.412 0, 1094317.504 410173.954 0,
+ 1094624.689 410179.514 0, 1094931.873 410185.093 0, 1095239.057 410190.689 0, 1095546.241 410196.304 0, 1095851.953 410201.91 0, 1096160.607 410207.587 0, 1096467.79 410213.256 0, 1096774.972 410218.943 0, 1097082.154 410224.648 0, 1097389.336 410230.371 0,
+ 1097696.517 410236.113 0, 1098003.698 410241.872 0, 1098310.879 410247.649 0, 1098618.059 410253.445 0, 1098925.239 410259.258 0, 1099232.419 410265.09 0, 1099539.598 410270.939 0, 1099846.777 410276.807 0, 1100153.956 410282.693 0, 1100461.134 410288.597 0,
+ 1100768.312 410294.519 0, 1101075.49 410300.459 0, 1101382.667 410306.417 0, 1101689.844 410312.393 0, 1101997.021 410318.388 0, 1102304.197 410324.4 0, 1102611.373 410330.43 0, 1102918.548 410336.479 0, 1103224.253 410342.516 0, 1103334.014 404793.147 0,
+ 1103443.765 399244.234 0))
+
+POLYGON ((1117968.221 410654.972 0, 1117662.532 410648.07 0, 1117355.375 410641.154 0, 1117048.217 410634.256 0, 1116741.059 410627.375 0, 1116433.901 410620.513 0, 1116126.742 410613.669 0, 1115819.583 410606.843 0, 1115512.423 410600.036 0, 1115205.263 410593.246 0,
+ 1114898.103 410586.474 0, 1114590.942 410579.72 0, 1114283.781 410572.985 0, 1113976.619 410566.267 0, 1113669.457 410559.568 0, 1113362.295 410552.887 0, 1113055.132 410546.223 0, 1112747.969 410539.578 0, 1112440.806 410532.951 0, 1112133.642 410526.342 0,
+ 1111826.477 410519.751 0, 1111519.313 410513.178 0, 1111212.148 410506.624 0, 1110904.982 410500.087 0, 1110596.348 410493.537 0, 1110290.65 410487.068 0, 1109983.483 410480.585 0, 1109676.316 410474.121 0, 1109369.149 410467.675 0, 1109061.981 410461.246 0,
+ 1108754.813 410454.836 0, 1108447.645 410448.444 0, 1108140.476 410442.07 0, 1107833.306 410435.714 0, 1107526.137 410429.377 0, 1107218.967 410423.057 0, 1106911.796 410416.755 0, 1106604.626 410410.472 0, 1106297.454 410404.206 0, 1105990.283 410397.959 0,
+ 1105683.111 410391.729 0, 1105375.939 410385.518 0, 1105068.766 410379.325 0, 1104761.593 410373.15 0, 1104454.42 410366.993 0, 1104147.246 410360.854 0, 1103840.072 410354.733 0, 1103532.898 410348.63 0, 1103224.253 410342.516 0, 1103114.484 415892.339 0,
+ 1103004.706 421442.612 0, 1103312.694 421448.712 0, 1103619.215 421454.802 0, 1103925.736 421460.91 0, 1104232.256 421467.036 0, 1104538.776 421473.18 0, 1104845.296 421479.342 0, 1105151.815 421485.522 0, 1105458.334 421491.72 0, 1105764.853 421497.936 0,
+ 1106071.371 421504.17 0, 1106377.889 421510.422 0, 1106684.406 421516.692 0, 1106990.923 421522.981 0, 1107297.44 421529.287 0, 1107603.956 421535.611 0, 1107910.472 421541.954 0, 1108216.988 421548.314 0, 1108523.503 421554.693 0, 1108830.018 421561.089 0,
+ 1109136.532 421567.504 0, 1109443.046 421573.936 0, 1109749.56 421580.387 0, 1110056.073 421586.855 0, 1110361.121 421593.311 0, 1110669.099 421599.847 0, 1110975.611 421606.37 0, 1111282.123 421612.911 0, 1111588.634 421619.469 0, 1111895.145 421626.046 0,
+ 1112201.656 421632.641 0, 1112508.166 421639.254 0, 1112814.676 421645.885 0, 1113121.185 421652.534 0, 1113427.694 421659.201 0, 1113734.203 421665.887 0, 1114040.711 421672.59 0, 1114347.219 421679.311 0, 1114653.726 421686.05 0, 1114960.233 421692.808 0,
+ 1115266.74 421699.583 0, 1115573.246 421706.376 0, 1115879.752 421713.188 0, 1116186.258 421720.017 0, 1116492.763 421726.865 0, 1116799.268 421733.73 0, 1117105.772 421740.614 0, 1117412.276 421747.516 0, 1117717.315 421754.402 0, 1117842.773 416204.462 0,
+ 1117968.221 410654.972 0))
+
+POLYGON ((1132428.984 422107.757 0, 1132123.963 422100.009 0, 1131817.48 422092.241 0, 1131510.997 422084.492 0, 1131204.513 422076.76 0, 1130898.028 422069.047 0, 1130591.543 422061.351 0, 1130285.058 422053.674 0, 1129978.572 422046.015 0, 1129672.086 422038.374 0,
+ 1129365.599 422030.75 0, 1129059.112 422023.145 0, 1128752.624 422015.558 0, 1128446.136 422007.989 0, 1128139.647 422000.438 0, 1127833.158 421992.905 0, 1127526.669 421985.39 0, 1127220.179 421977.893 0, 1126913.689 421970.414 0, 1126607.198 421962.953 0,
+ 1126300.707 421955.51 0, 1125994.215 421948.085 0, 1125687.723 421940.679 0, 1125381.23 421933.29 0, 1125073.274 421925.884 0, 1124768.244 421918.567 0, 1124461.75 421911.232 0, 1124155.256 421903.916 0, 1123848.761 421896.617 0, 1123542.266 421889.337 0,
+ 1123235.771 421882.074 0, 1122929.275 421874.83 0, 1122622.778 421867.603 0, 1122316.282 421860.395 0, 1122009.784 421853.205 0, 1121703.287 421846.033 0, 1121396.789 421838.878 0, 1121090.29 421831.742 0, 1120783.791 421824.624 0, 1120477.292 421817.524 0,
+ 1120170.792 421810.442 0, 1119864.292 421803.378 0, 1119557.791 421796.332 0, 1119251.29 421789.304 0, 1118944.789 421782.294 0, 1118638.287 421775.302 0, 1118331.785 421768.329 0, 1118025.282 421761.373 0, 1117717.315 421754.402 0, 1117591.847 427304.79 0,
+ 1117466.368 432855.622 0, 1117773.679 432862.578 0, 1118079.528 432869.519 0, 1118385.377 432876.478 0, 1118691.225 432883.455 0, 1118997.073 432890.449 0, 1119302.921 432897.462 0, 1119608.768 432904.493 0, 1119914.615 432911.542 0, 1120220.461 432918.609 0,
+ 1120526.307 432925.694 0, 1120832.153 432932.797 0, 1121137.998 432939.918 0, 1121443.843 432947.057 0, 1121749.687 432954.214 0, 1122055.531 432961.389 0, 1122361.374 432968.582 0, 1122667.217 432975.793 0, 1122973.06 432983.022 0, 1123278.902 432990.269 0,
+ 1123584.744 432997.534 0, 1123890.585 433004.817 0, 1124196.426 433012.118 0, 1124502.266 433019.436 0, 1124806.647 433026.738 0, 1125113.946 433034.128 0, 1125419.785 433041.501 0, 1125725.624 433048.892 0, 1126031.462 433056.301 0, 1126337.3 433063.728 0,
+ 1126643.137 433071.173 0, 1126948.974 433078.636 0, 1127254.811 433086.117 0, 1127560.647 433093.616 0, 1127866.482 433101.133 0, 1128172.318 433108.668 0, 1128478.152 433116.221 0, 1128783.987 433123.792 0, 1129089.821 433131.381 0, 1129395.654 433138.988 0,
+ 1129701.487 433146.613 0, 1130007.319 433154.256 0, 1130313.151 433161.917 0, 1130618.983 433169.596 0, 1130924.814 433177.293 0, 1131230.645 433185.008 0, 1131536.475 433192.741 0, 1131842.305 433200.492 0, 1132146.676 433208.224 0, 1132287.836 427657.768 0,
+ 1132428.984 422107.757 0))
+
+POLYGON ((1146825.928 433602.298 0, 1146521.578 433593.707 0, 1146215.772 433585.092 0, 1145909.964 433576.495 0, 1145604.157 433567.916 0, 1145298.349 433559.355 0, 1144992.54 433550.812 0, 1144686.731 433542.287 0, 1144380.921 433533.78 0, 1144075.111 433525.291 0,
+ 1143769.3 433516.82 0, 1143463.489 433508.367 0, 1143157.677 433499.932 0, 1142851.865 433491.515 0, 1142546.052 433483.116 0, 1142240.239 433474.735 0, 1141934.426 433466.372 0, 1141628.611 433458.027 0, 1141322.797 433449.7 0, 1141016.982 433441.391 0,
+ 1140711.166 433433.1 0, 1140405.35 433424.827 0, 1140099.533 433416.572 0, 1139793.716 433408.335 0, 1139486.441 433400.077 0, 1139182.081 433391.915 0, 1138876.262 433383.732 0, 1138570.443 433375.567 0, 1138264.623 433367.42 0, 1137958.803 433359.291 0,
+ 1137652.983 433351.18 0, 1137347.162 433343.087 0, 1137041.341 433335.012 0, 1136735.519 433326.955 0, 1136429.696 433318.916 0, 1136123.874 433310.895 0, 1135818.05 433302.892 0, 1135512.227 433294.907 0, 1135206.402 433286.94 0, 1134900.578 433278.991 0,
+ 1134594.752 433271.06 0, 1134288.927 433263.148 0, 1133983.101 433255.253 0, 1133677.274 433247.376 0, 1133371.447 433239.517 0, 1133065.62 433231.676 0, 1132759.792 433223.853 0, 1132453.963 433216.048 0, 1132146.676 433208.224 0, 1132005.504 438759.12 0,
+ 1131864.322 444310.455 0, 1132170.953 444318.263 0, 1132476.128 444326.051 0, 1132781.302 444333.857 0, 1133086.477 444341.682 0, 1133391.65 444349.524 0, 1133696.823 444357.384 0, 1134001.996 444365.262 0, 1134307.168 444373.158 0, 1134612.34 444381.072 0,
+ 1134917.511 444389.004 0, 1135222.682 444396.954 0, 1135527.852 444404.922 0, 1135833.022 444412.908 0, 1136138.191 444420.912 0, 1136443.36 444428.934 0, 1136748.529 444436.973 0, 1137053.697 444445.031 0, 1137358.864 444453.107 0, 1137664.031 444461.2 0,
+ 1137969.198 444469.312 0, 1138274.364 444477.442 0, 1138579.529 444485.589 0, 1138884.695 444493.755 0, 1139188.405 444501.899 0, 1139495.023 444510.139 0, 1139800.187 444518.359 0, 1140105.35 444526.596 0, 1140410.513 444534.852 0, 1140715.675 444543.125 0,
+ 1141020.837 444551.416 0, 1141325.998 444559.725 0, 1141631.159 444568.052 0, 1141936.319 444576.397 0, 1142241.479 444584.761 0, 1142546.638 444593.142 0, 1142851.797 444601.541 0, 1143156.955 444609.957 0, 1143462.113 444618.392 0, 1143767.27 444626.845 0,
+ 1144072.427 444635.316 0, 1144377.583 444643.805 0, 1144682.739 444652.312 0, 1144987.894 444660.836 0, 1145293.049 444669.379 0, 1145598.203 444677.94 0, 1145903.357 444686.518 0, 1146208.51 444695.115 0, 1146512.21 444703.688 0, 1146669.075 439152.774 0,
+ 1146825.928 433602.298 0))
+
+POLYGON ((1161158.929 445138.303 0, 1160855.252 445128.871 0, 1160550.124 445119.412 0, 1160244.996 445109.972 0, 1159939.867 445100.549 0, 1159634.738 445091.144 0, 1159329.608 445081.757 0, 1159024.477 445072.389 0, 1158719.346 445063.038 0, 1158414.214 445053.705 0,
+ 1158109.082 445044.39 0, 1157803.949 445035.093 0, 1157498.816 445025.814 0, 1157193.682 445016.553 0, 1156888.548 445007.31 0, 1156583.413 444998.084 0, 1156278.278 444988.877 0, 1155973.142 444979.688 0, 1155668.005 444970.517 0, 1155362.868 444961.363 0,
+ 1155057.73 444952.228 0, 1154752.592 444943.111 0, 1154447.454 444934.011 0, 1154142.314 444924.93 0, 1153835.723 444915.823 0, 1153532.034 444906.82 0, 1153226.894 444897.793 0, 1152921.752 444888.783 0, 1152616.61 444879.792 0, 1152311.468 444870.818 0,
+ 1152006.325 444861.862 0, 1151701.182 444852.924 0, 1151396.038 444844.004 0, 1151090.893 444835.102 0, 1150785.748 444826.219 0, 1150480.602 444817.353 0, 1150175.456 444808.505 0, 1149870.31 444799.675 0, 1149565.163 444790.862 0, 1149260.015 444782.068 0,
+ 1148954.867 444773.292 0, 1148649.718 444764.534 0, 1148344.569 444755.794 0, 1148039.419 444747.071 0, 1147734.269 444738.367 0, 1147429.118 444729.681 0, 1147123.967 444721.012 0, 1146818.815 444712.362 0, 1146512.21 444703.688 0, 1146355.332 450255.038 0,
+ 1146198.443 455806.82 0, 1146504.391 455815.475 0, 1146808.889 455824.107 0, 1147113.387 455832.757 0, 1147417.884 455841.424 0, 1147722.381 455850.11 0, 1148026.877 455858.814 0, 1148331.373 455867.535 0, 1148635.868 455876.275 0, 1148940.363 455885.032 0,
+ 1149244.857 455893.807 0, 1149549.351 455902.6 0, 1149853.844 455911.412 0, 1150158.336 455920.241 0, 1150462.828 455929.088 0, 1150767.32 455937.953 0, 1151071.811 455946.835 0, 1151376.301 455955.736 0, 1151680.791 455964.655 0, 1151985.281 455973.591 0,
+ 1152289.77 455982.546 0, 1152594.258 455991.518 0, 1152898.746 456000.509 0, 1153203.233 456009.517 0, 1153506.271 456018.5 0, 1153812.206 456027.587 0, 1154116.692 456036.649 0, 1154421.177 456045.729 0, 1154725.662 456054.827 0, 1155030.146 456063.943 0,
+ 1155334.63 456073.077 0, 1155639.113 456082.228 0, 1155943.595 456091.398 0, 1156248.077 456100.585 0, 1156552.559 456109.791 0, 1156857.04 456119.014 0, 1157161.52 456128.255 0, 1157466 456137.515 0, 1157770.479 456146.792 0, 1158074.958 456156.087 0,
+ 1158379.436 456165.4 0, 1158683.914 456174.73 0, 1158988.391 456184.079 0, 1159292.867 456193.446 0, 1159597.343 456202.831 0, 1159901.819 456212.233 0, 1160206.293 456221.654 0, 1160510.768 456231.092 0, 1160813.794 456240.503 0, 1160986.368 450689.187 0,
+ 1161158.929 445138.303 0))
+
+POLYGON ((1175427.862 456715.476 0, 1175124.861 456705.209 0, 1174820.415 456694.91 0, 1174515.968 456684.629 0, 1174211.52 456674.367 0, 1173907.072 456664.122 0, 1173602.623 456653.895 0, 1173298.173 456643.686 0, 1172993.723 456633.495 0, 1172689.273 456623.322 0,
+ 1172384.822 456613.167 0, 1172080.37 456603.03 0, 1171775.917 456592.91 0, 1171471.464 456582.809 0, 1171167.011 456572.725 0, 1170862.556 456562.66 0, 1170558.102 456552.612 0, 1170253.646 456542.582 0, 1169949.19 456532.57 0, 1169644.734 456522.577 0,
+ 1169340.276 456512.601 0, 1169035.819 456502.642 0, 1168731.36 456492.702 0, 1168426.901 456482.78 0, 1168120.996 456472.829 0, 1167817.982 456462.989 0, 1167513.521 456453.121 0, 1167209.06 456443.27 0, 1166904.598 456433.438 0, 1166600.136 456423.623 0,
+ 1166295.673 456413.826 0, 1165991.209 456404.047 0, 1165686.745 456394.286 0, 1165382.28 456384.543 0, 1165077.815 456374.818 0, 1164773.349 456365.111 0, 1164468.883 456355.422 0, 1164164.416 456345.75 0, 1163859.948 456336.097 0, 1163555.48 456326.461 0,
+ 1163251.011 456316.844 0, 1162946.542 456307.244 0, 1162642.072 456297.662 0, 1162337.602 456288.099 0, 1162033.131 456278.553 0, 1161728.659 456269.025 0, 1161424.187 456259.515 0, 1161119.715 456250.023 0, 1160813.794 456240.503 0, 1160641.207 461792.249 0,
+ 1160468.606 467344.422 0, 1160773.87 467353.92 0, 1161077.689 467363.392 0, 1161381.508 467372.882 0, 1161685.326 467382.389 0, 1161989.143 467391.915 0, 1162292.96 467401.458 0, 1162596.776 467411.019 0, 1162900.592 467420.598 0, 1163204.407 467430.195 0,
+ 1163508.222 467439.81 0, 1163812.036 467449.443 0, 1164115.849 467459.093 0, 1164419.662 467468.762 0, 1164723.474 467478.448 0, 1165027.286 467488.152 0, 1165331.097 467497.875 0, 1165634.908 467507.615 0, 1165938.718 467517.372 0, 1166242.527 467527.148 0,
+ 1166546.336 467536.942 0, 1166850.144 467546.753 0, 1167153.952 467556.583 0, 1167457.759 467566.43 0, 1167760.123 467576.248 0, 1168065.372 467586.178 0, 1168369.177 467596.079 0, 1168672.982 467605.998 0, 1168976.786 467615.935 0, 1169280.59 467625.889 0,
+ 1169584.393 467635.862 0, 1169888.195 467645.852 0, 1170191.997 467655.86 0, 1170495.799 467665.886 0, 1170799.599 467675.93 0, 1171103.399 467685.992 0, 1171407.199 467696.072 0, 1171710.998 467706.17 0, 1172014.796 467716.285 0, 1172318.594 467726.419 0,
+ 1172622.391 467736.57 0, 1172926.188 467746.739 0, 1173229.984 467756.926 0, 1173533.779 467767.131 0, 1173837.574 467777.354 0, 1174141.368 467787.594 0, 1174445.161 467797.853 0, 1174748.954 467808.129 0, 1175051.305 467818.375 0, 1175239.591 462266.712 0,
+ 1175427.862 456715.476 0))
+
+POLYGON ((1189632.606 468333.525 0, 1189330.284 468322.425 0, 1189026.521 468311.291 0, 1188722.758 468300.174 0, 1188418.994 468289.075 0, 1188115.229 468277.994 0, 1187811.464 468266.931 0, 1187507.698 468255.885 0, 1187203.931 468244.858 0, 1186900.164 468233.849 0,
+ 1186596.396 468222.857 0, 1186292.627 468211.883 0, 1185988.858 468200.927 0, 1185685.088 468189.989 0, 1185381.318 468179.069 0, 1185077.547 468168.167 0, 1184773.775 468157.283 0, 1184470.003 468146.416 0, 1184166.23 468135.568 0, 1183862.456 468124.737 0,
+ 1183558.682 468113.924 0, 1183254.907 468103.129 0, 1182951.131 468092.352 0, 1182647.355 468081.593 0, 1182342.137 468070.801 0, 1182039.801 468060.128 0, 1181736.022 468049.422 0, 1181432.244 468038.735 0, 1181128.464 468028.065 0, 1180824.684 468017.413 0,
+ 1180520.904 468006.779 0, 1180217.122 467996.163 0, 1179913.341 467985.565 0, 1179609.558 467974.984 0, 1179305.775 467964.422 0, 1179001.991 467953.877 0, 1178698.207 467943.35 0, 1178394.422 467932.841 0, 1178090.636 467922.35 0, 1177786.85 467911.877 0,
+ 1177483.063 467901.422 0, 1177179.276 467890.985 0, 1176875.488 467880.565 0, 1176571.699 467870.164 0, 1176267.91 467859.78 0, 1175964.12 467849.414 0, 1175660.329 467839.066 0, 1175356.538 467828.736 0, 1175051.305 467818.375 0, 1174863.005 473370.461 0,
+ 1174674.69 478922.967 0, 1174979.267 478933.306 0, 1175282.405 478943.614 0, 1175585.541 478953.939 0, 1175888.678 478964.283 0, 1176191.813 478974.644 0, 1176494.949 478985.024 0, 1176798.083 478995.421 0, 1177101.217 479005.836 0, 1177404.35 479016.268 0,
+ 1177707.483 479026.719 0, 1178010.615 479037.187 0, 1178313.746 479047.674 0, 1178616.877 479058.178 0, 1178920.007 479068.7 0, 1179223.137 479079.239 0, 1179526.266 479089.797 0, 1179829.394 479100.373 0, 1180132.522 479110.966 0, 1180435.649 479121.577 0,
+ 1180738.775 479132.206 0, 1181041.901 479142.853 0, 1181345.026 479153.518 0, 1181648.151 479164.2 0, 1181949.837 479174.85 0, 1182254.398 479185.619 0, 1182557.52 479196.355 0, 1182860.642 479207.109 0, 1183163.764 479217.88 0, 1183466.885 479228.67 0,
+ 1183770.005 479239.477 0, 1184073.124 479250.303 0, 1184376.243 479261.146 0, 1184679.361 479272.007 0, 1184982.479 479282.885 0, 1185285.596 479293.782 0, 1185588.712 479304.697 0, 1185891.828 479315.629 0, 1186194.943 479326.579 0, 1186498.057 479337.547 0,
+ 1186801.171 479348.533 0, 1187104.284 479359.536 0, 1187407.396 479370.558 0, 1187710.508 479381.597 0, 1188013.619 479392.654 0, 1188316.729 479403.729 0, 1188619.839 479414.822 0, 1188922.948 479425.933 0, 1189224.621 479437.009 0, 1189428.621 473885.057 0,
+ 1189632.606 468333.525 0))
+
+POLYGON ((1203773.041 479992.155 0, 1203471.399 479980.227 0, 1203168.322 479968.26 0, 1202865.245 479956.311 0, 1202562.167 479944.379 0, 1202259.088 479932.466 0, 1201956.009 479920.57 0, 1201652.929 479908.692 0, 1201349.848 479896.832 0, 1201046.767 479884.99 0,
+ 1200743.685 479873.166 0, 1200440.602 479861.359 0, 1200137.518 479849.571 0, 1199834.434 479837.8 0, 1199531.349 479826.047 0, 1199228.263 479814.312 0, 1198925.177 479802.595 0, 1198622.09 479790.895 0, 1198319.002 479779.214 0, 1198015.914 479767.55 0,
+ 1197712.825 479755.904 0, 1197409.735 479744.276 0, 1197106.645 479732.666 0, 1196803.554 479721.073 0, 1196499.027 479709.444 0, 1196197.369 479697.942 0, 1195894.276 479686.403 0, 1195591.182 479674.882 0, 1195288.088 479663.379 0, 1194984.993 479651.894 0,
+ 1194681.897 479640.426 0, 1194378.8 479628.977 0, 1194075.703 479617.545 0, 1193772.605 479606.131 0, 1193469.507 479594.735 0, 1193166.407 479583.356 0, 1192863.307 479571.996 0, 1192560.207 479560.653 0, 1192257.106 479549.328 0, 1191954.004 479538.021 0,
+ 1191650.901 479526.732 0, 1191347.798 479515.461 0, 1191044.694 479504.208 0, 1190741.59 479492.972 0, 1190438.484 479481.754 0, 1190135.378 479470.554 0, 1189832.272 479459.372 0, 1189529.165 479448.208 0, 1189224.621 479437.009 0, 1189020.605 484989.378 0,
+ 1188816.574 490542.162 0, 1189120.461 490553.337 0, 1189422.915 490564.477 0, 1189725.368 490575.635 0, 1190027.82 490586.811 0, 1190330.271 490598.004 0, 1190632.722 490609.216 0, 1190935.173 490620.445 0, 1191237.622 490631.692 0, 1191540.071 490642.957 0,
+ 1191842.519 490654.239 0, 1192144.967 490665.54 0, 1192447.414 490676.858 0, 1192749.86 490688.194 0, 1193052.306 490699.547 0, 1193354.751 490710.919 0, 1193657.195 490722.308 0, 1193959.639 490733.716 0, 1194262.082 490745.141 0, 1194564.524 490756.583 0,
+ 1194866.966 490768.044 0, 1195169.406 490779.522 0, 1195471.847 490791.019 0, 1195774.286 490802.532 0, 1196075.293 490814.01 0, 1196379.163 490825.614 0, 1196681.601 490837.181 0, 1196984.038 490848.766 0, 1197286.474 490860.369 0, 1197588.909 490871.99 0,
+ 1197891.344 490883.629 0, 1198193.778 490895.285 0, 1198496.212 490906.959 0, 1198798.644 490918.651 0, 1199101.076 490930.361 0, 1199403.508 490942.089 0, 1199705.938 490953.834 0, 1200008.368 490965.597 0, 1200310.798 490977.378 0, 1200613.226 490989.177 0,
+ 1200915.654 491000.994 0, 1201218.081 491012.828 0, 1201520.508 491024.68 0, 1201822.934 491036.55 0, 1202125.359 491048.438 0, 1202427.783 491060.344 0, 1202730.207 491072.267 0, 1203032.63 491084.208 0, 1203333.621 491096.111 0, 1203553.339 485543.926 0,
+ 1203773.041 479992.155 0))
+
+POLYGON ((1217849.046 491691.071 0, 1217548.087 491678.318 0, 1217245.699 491665.522 0, 1216943.31 491652.745 0, 1216640.921 491639.985 0, 1216338.53 491627.242 0, 1216036.139 491614.518 0, 1215733.748 491601.811 0, 1215431.355 491589.123 0, 1215128.962 491576.452 0,
+ 1214826.568 491563.799 0, 1214524.173 491551.163 0, 1214221.777 491538.546 0, 1213919.381 491525.946 0, 1213616.984 491513.364 0, 1213314.586 491500.8 0, 1213012.188 491488.253 0, 1212709.789 491475.725 0, 1212407.389 491463.214 0, 1212104.988 491450.721 0,
+ 1211802.586 491438.246 0, 1211500.184 491425.788 0, 1211197.781 491413.349 0, 1210895.378 491400.927 0, 1210591.544 491388.465 0, 1210290.568 491376.137 0, 1209988.162 491363.769 0, 1209685.756 491351.418 0, 1209383.349 491339.085 0, 1209080.941 491326.77 0,
+ 1208778.532 491314.473 0, 1208476.122 491302.194 0, 1208173.712 491289.932 0, 1207871.301 491277.688 0, 1207568.89 491265.462 0, 1207266.477 491253.254 0, 1206964.064 491241.064 0, 1206661.651 491228.891 0, 1206359.236 491216.736 0, 1206056.821 491204.599 0,
+ 1205754.405 491192.48 0, 1205451.988 491180.379 0, 1205149.571 491168.295 0, 1204847.153 491156.229 0, 1204544.734 491144.181 0, 1204242.315 491132.151 0, 1203939.895 491120.139 0, 1203637.474 491108.144 0, 1203333.621 491096.111 0, 1203113.887 496648.707 0,
+ 1202894.137 502201.711 0, 1203197.332 502213.719 0, 1203499.1 502225.687 0, 1203800.866 502237.674 0, 1204102.632 502249.678 0, 1204404.397 502261.7 0, 1204706.162 502273.74 0, 1205007.925 502285.797 0, 1205309.688 502297.872 0, 1205611.451 502309.965 0,
+ 1205913.212 502322.076 0, 1206214.973 502334.205 0, 1206516.733 502346.351 0, 1206818.492 502358.515 0, 1207120.251 502370.697 0, 1207422.009 502382.896 0, 1207723.766 502395.114 0, 1208025.523 502407.349 0, 1208327.279 502419.602 0, 1208629.034 502431.872 0,
+ 1208930.788 502444.161 0, 1209232.542 502456.467 0, 1209534.295 502468.791 0, 1209836.047 502481.132 0, 1210136.372 502493.433 0, 1210439.549 502505.869 0, 1210741.299 502518.264 0, 1211043.049 502530.677 0, 1211344.797 502543.107 0, 1211646.545 502555.555 0,
+ 1211948.292 502568.021 0, 1212250.038 502580.505 0, 1212551.784 502593.006 0, 1212853.529 502605.526 0, 1213155.273 502618.063 0, 1213457.017 502630.617 0, 1213758.759 502643.19 0, 1214060.501 502655.78 0, 1214362.242 502668.388 0, 1214663.983 502681.014 0,
+ 1214965.723 502693.658 0, 1215267.462 502706.319 0, 1215569.2 502718.998 0, 1215870.937 502731.695 0, 1216172.674 502744.41 0, 1216474.41 502757.142 0, 1216776.145 502769.892 0, 1217077.88 502782.66 0, 1217378.188 502795.385 0, 1217613.626 497243.024 0,
+ 1217849.046 491691.071 0))
+
+POLYGON ((1231860.504 503429.977 0, 1231560.231 503416.403 0, 1231258.533 503402.783 0, 1230956.835 503389.18 0, 1230655.137 503375.596 0, 1230353.437 503362.029 0, 1230051.737 503348.479 0, 1229750.035 503334.948 0, 1229448.333 503321.434 0, 1229146.631 503307.938 0,
+ 1228844.927 503294.46 0, 1228543.223 503280.999 0, 1228241.518 503267.557 0, 1227939.812 503254.132 0, 1227638.105 503240.724 0, 1227336.397 503227.335 0, 1227034.689 503213.963 0, 1226732.98 503200.609 0, 1226431.27 503187.273 0, 1226129.559 503173.955 0,
+ 1225827.848 503160.654 0, 1225526.136 503147.371 0, 1225224.423 503134.106 0, 1224922.709 503120.859 0, 1224619.57 503107.567 0, 1224319.279 503094.417 0, 1224017.563 503081.223 0, 1223715.846 503068.047 0, 1223414.128 503054.888 0, 1223112.41 503041.747 0,
+ 1222810.69 503028.624 0, 1222508.97 503015.519 0, 1222207.25 503002.431 0, 1221905.528 502989.362 0, 1221603.806 502976.31 0, 1221302.083 502963.275 0, 1221000.359 502950.259 0, 1220698.634 502937.26 0, 1220396.909 502924.279 0, 1220095.183 502911.316 0,
+ 1219793.456 502898.37 0, 1219491.728 502885.443 0, 1219190 502872.533 0, 1218888.271 502859.64 0, 1218586.541 502846.766 0, 1218284.81 502833.909 0, 1217983.078 502821.07 0, 1217681.346 502808.249 0, 1217378.188 502795.385 0, 1217142.733 508348.152 0,
+ 1216907.261 513901.32 0, 1217209.763 513914.156 0, 1217510.841 513926.949 0, 1217811.919 513939.761 0, 1218112.996 513952.589 0, 1218414.072 513965.436 0, 1218715.148 513978.3 0, 1219016.223 513991.182 0, 1219317.297 514004.082 0, 1219618.37 514016.999 0,
+ 1219919.442 514029.935 0, 1220220.514 514042.887 0, 1220521.585 514055.858 0, 1220822.655 514068.846 0, 1221123.725 514081.852 0, 1221424.793 514094.876 0, 1221725.861 514107.918 0, 1222026.928 514120.977 0, 1222327.995 514134.054 0, 1222629.06 514147.148 0,
+ 1222930.125 514160.261 0, 1223231.189 514173.391 0, 1223532.252 514186.539 0, 1223833.315 514199.704 0, 1224132.956 514212.825 0, 1224435.438 514226.088 0, 1224736.498 514239.307 0, 1225037.557 514252.543 0, 1225338.616 514265.798 0, 1225639.674 514279.069 0,
+ 1225940.731 514292.359 0, 1226241.787 514305.666 0, 1226542.842 514318.991 0, 1226843.897 514332.334 0, 1227144.951 514345.694 0, 1227446.004 514359.073 0, 1227747.057 514372.468 0, 1228048.108 514385.882 0, 1228349.159 514399.313 0, 1228650.209 514412.762 0,
+ 1228951.258 514426.229 0, 1229252.306 514439.714 0, 1229553.354 514453.216 0, 1229854.401 514466.736 0, 1230155.447 514480.273 0, 1230456.492 514493.829 0, 1230757.536 514507.402 0, 1231058.58 514520.993 0, 1231358.203 514534.537 0, 1231609.363 508982.056 0,
+ 1231860.504 503429.977 0))
+
+POLYGON ((1245807.298 515208.578 0, 1245507.712 515194.187 0, 1245206.708 515179.746 0, 1244905.703 515165.322 0, 1244604.698 515150.916 0, 1244303.691 515136.528 0, 1244002.684 515122.158 0, 1243701.675 515107.805 0, 1243400.666 515093.47 0, 1243099.656 515079.153 0,
+ 1242798.646 515064.854 0, 1242497.634 515050.572 0, 1242196.622 515036.308 0, 1241895.608 515022.061 0, 1241594.594 515007.833 0, 1241293.579 514993.622 0, 1240992.563 514979.429 0, 1240691.547 514965.253 0, 1240390.529 514951.095 0, 1240089.511 514936.955 0,
+ 1239788.492 514922.833 0, 1239487.472 514908.728 0, 1239186.451 514894.641 0, 1238885.43 514880.572 0, 1238582.989 514866.455 0, 1238283.384 514852.487 0, 1237982.36 514838.471 0, 1237681.335 514824.473 0, 1237380.309 514810.492 0, 1237079.282 514796.529 0,
+ 1236778.255 514782.584 0, 1236477.227 514768.657 0, 1236176.198 514754.747 0, 1235875.168 514740.855 0, 1235574.137 514726.981 0, 1235273.106 514713.124 0, 1234972.074 514699.285 0, 1234671.04 514685.464 0, 1234370.006 514671.661 0, 1234068.972 514657.875 0,
+ 1233767.936 514644.107 0, 1233466.9 514630.357 0, 1233165.863 514616.624 0, 1232864.825 514602.909 0, 1232563.786 514589.212 0, 1232262.746 514575.533 0, 1231961.706 514561.871 0, 1231660.665 514548.227 0, 1231358.203 514534.537 0, 1231107.025 520087.417 0,
+ 1230855.83 525640.692 0, 1231157.635 525654.353 0, 1231458.022 525667.967 0, 1231758.409 525681.599 0, 1232058.795 525695.249 0, 1232359.18 525708.916 0, 1232659.564 525722.601 0, 1232959.948 525736.304 0, 1233260.33 525750.024 0, 1233560.712 525763.763 0,
+ 1233861.093 525777.518 0, 1234161.474 525791.292 0, 1234461.853 525805.083 0, 1234762.232 525818.892 0, 1235062.609 525832.718 0, 1235362.986 525846.562 0, 1235663.363 525860.424 0, 1235963.738 525874.304 0, 1236264.113 525888.201 0, 1236564.486 525902.116 0,
+ 1236864.859 525916.048 0, 1237165.231 525929.999 0, 1237465.603 525943.966 0, 1237765.973 525957.952 0, 1238064.927 525971.889 0, 1238366.712 525985.976 0, 1238667.08 526000.015 0, 1238967.447 526014.071 0, 1239267.813 526028.145 0, 1239568.179 526042.237 0,
+ 1239868.543 526056.346 0, 1240168.907 526070.473 0, 1240469.27 526084.618 0, 1240769.632 526098.78 0, 1241069.994 526112.96 0, 1241370.354 526127.158 0, 1241670.714 526141.374 0, 1241971.073 526155.607 0, 1242271.431 526169.857 0, 1242571.788 526184.126 0,
+ 1242872.144 526198.412 0, 1243172.499 526212.716 0, 1243472.854 526227.037 0, 1243773.208 526241.376 0, 1244073.561 526255.733 0, 1244373.913 526270.108 0, 1244674.264 526284.5 0, 1244974.615 526298.91 0, 1245273.55 526313.27 0, 1245540.434 520760.726 0,
+ 1245807.298 515208.578 0))
+
+POLYGON ((1259689.313 527026.577 0, 1259390.417 527011.373 0, 1259090.108 526996.114 0, 1258789.799 526980.874 0, 1258489.488 526965.65 0, 1258189.177 526950.445 0, 1257888.865 526935.257 0, 1257588.552 526920.088 0, 1257288.238 526904.935 0, 1256987.924 526889.801 0,
+ 1256687.608 526874.684 0, 1256387.291 526859.584 0, 1256086.974 526844.503 0, 1255786.656 526829.439 0, 1255486.336 526814.393 0, 1255186.016 526799.364 0, 1254885.695 526784.353 0, 1254585.374 526769.36 0, 1254285.051 526754.384 0, 1253984.727 526739.426 0,
+ 1253684.403 526724.486 0, 1253384.077 526709.564 0, 1253083.751 526694.659 0, 1252783.424 526679.772 0, 1252481.683 526664.832 0, 1252182.767 526650.05 0, 1251882.437 526635.216 0, 1251582.107 526620.4 0, 1251281.775 526605.601 0, 1250981.443 526590.82 0,
+ 1250681.11 526576.056 0, 1250380.776 526561.311 0, 1250080.441 526546.583 0, 1249780.105 526531.872 0, 1249479.768 526517.179 0, 1249179.431 526502.504 0, 1248879.092 526487.847 0, 1248578.753 526473.207 0, 1248278.413 526458.585 0, 1247978.072 526443.981 0,
+ 1247677.73 526429.394 0, 1247377.387 526414.825 0, 1247077.044 526400.274 0, 1246776.699 526385.74 0, 1246476.354 526371.224 0, 1246176.008 526356.726 0, 1245875.661 526342.246 0, 1245575.313 526327.783 0, 1245273.55 526313.27 0, 1245006.648 531866.206 0,
+ 1244739.726 537419.532 0, 1245040.832 537434.013 0, 1245340.526 537448.445 0, 1245640.22 537462.894 0, 1245939.912 537477.361 0, 1246239.604 537491.845 0, 1246539.295 537506.347 0, 1246838.985 537520.866 0, 1247138.674 537535.404 0, 1247438.362 537549.959 0,
+ 1247738.049 537564.531 0, 1248037.736 537579.121 0, 1248337.421 537593.729 0, 1248637.106 537608.355 0, 1248936.79 537622.998 0, 1249236.473 537637.659 0, 1249536.155 537652.337 0, 1249835.836 537667.033 0, 1250135.517 537681.747 0, 1250435.196 537696.478 0,
+ 1250734.875 537711.227 0, 1251034.553 537725.993 0, 1251334.23 537740.778 0, 1251633.906 537755.58 0, 1251932.171 537770.329 0, 1252233.256 537785.236 0, 1252532.929 537800.091 0, 1252832.602 537814.963 0, 1253132.273 537829.853 0, 1253431.944 537844.761 0,
+ 1253731.614 537859.686 0, 1254031.283 537874.629 0, 1254330.951 537889.59 0, 1254630.619 537904.568 0, 1254930.285 537919.564 0, 1255229.951 537934.578 0, 1255529.615 537949.609 0, 1255829.279 537964.657 0, 1256128.942 537979.724 0, 1256428.604 537994.808 0,
+ 1256728.265 538009.91 0, 1257027.926 538025.029 0, 1257327.585 538040.166 0, 1257627.243 538055.321 0, 1257926.901 538070.493 0, 1258226.558 538085.683 0, 1258526.213 538100.89 0, 1258825.868 538116.115 0, 1259124.114 538131.286 0, 1259406.723 532578.737 0,
+ 1259689.313 527026.577 0))
+
+POLYGON ((1273506.433 538883.677 0, 1273208.229 538867.663 0, 1272908.619 538851.591 0, 1272609.007 538835.537 0, 1272309.394 538819.501 0, 1272009.781 538803.482 0, 1271710.166 538787.481 0, 1271410.551 538771.498 0, 1271110.935 538755.532 0, 1270811.317 538739.583 0,
+ 1270511.699 538723.653 0, 1270212.08 538707.74 0, 1269912.46 538691.845 0, 1269612.839 538675.967 0, 1269313.217 538660.107 0, 1269013.594 538644.264 0, 1268713.97 538628.44 0, 1268414.346 538612.632 0, 1268114.72 538596.843 0, 1267815.093 538581.071 0,
+ 1267515.466 538565.317 0, 1267215.837 538549.58 0, 1266916.208 538533.861 0, 1266616.578 538518.16 0, 1266315.539 538502.403 0, 1266017.314 538486.81 0, 1265717.681 538471.162 0, 1265418.047 538455.531 0, 1265118.412 538439.918 0, 1264818.776 538424.322 0,
+ 1264519.14 538408.744 0, 1264219.502 538393.184 0, 1263919.863 538377.641 0, 1263620.224 538362.116 0, 1263320.583 538346.609 0, 1263020.942 538331.119 0, 1262721.3 538315.647 0, 1262421.657 538300.193 0, 1262122.013 538284.756 0, 1261822.368 538269.337 0,
+ 1261522.722 538253.935 0, 1261223.075 538238.552 0, 1260923.427 538223.185 0, 1260623.779 538207.837 0, 1260324.129 538192.506 0, 1260024.479 538177.192 0, 1259724.828 538161.897 0, 1259425.175 538146.619 0, 1259124.114 538131.286 0, 1258841.485 543684.222 0,
+ 1258558.836 549237.542 0, 1258859.241 549252.84 0, 1259158.24 549268.085 0, 1259457.237 549283.347 0, 1259756.234 549298.627 0, 1260055.23 549313.925 0, 1260354.225 549329.24 0, 1260653.219 549344.573 0, 1260952.212 549359.923 0, 1261251.204 549375.291 0,
+ 1261550.195 549390.676 0, 1261849.186 549406.079 0, 1262148.175 549421.5 0, 1262447.164 549436.939 0, 1262746.151 549452.394 0, 1263045.138 549467.868 0, 1263344.124 549483.359 0, 1263643.109 549498.868 0, 1263942.093 549514.394 0, 1264241.076 549529.938 0,
+ 1264540.058 549545.5 0, 1264839.04 549561.079 0, 1265138.02 549576.675 0, 1265436.999 549592.29 0, 1265734.574 549607.848 0, 1266034.955 549623.571 0, 1266333.932 549639.238 0, 1266632.908 549654.923 0, 1266931.883 549670.625 0, 1267230.857 549686.345 0,
+ 1267529.83 549702.082 0, 1267828.802 549717.837 0, 1268127.773 549733.61 0, 1268426.743 549749.4 0, 1268725.712 549765.208 0, 1269024.681 549781.034 0, 1269323.648 549796.877 0, 1269622.614 549812.737 0, 1269921.58 549828.616 0, 1270220.544 549844.512 0,
+ 1270519.508 549860.425 0, 1270818.471 549876.356 0, 1271117.433 549892.305 0, 1271416.394 549908.271 0, 1271715.353 549924.255 0, 1272014.312 549940.256 0, 1272313.27 549956.275 0, 1272612.227 549972.312 0, 1272909.781 549988.291 0, 1273208.117 544435.792 0,
+ 1273506.433 538883.677 0))
+
+POLYGON ((1287258.547 550779.581 0, 1286961.038 550762.761 0, 1286662.127 550745.88 0, 1286363.215 550729.016 0, 1286064.303 550712.17 0, 1285765.389 550695.342 0, 1285466.475 550678.531 0, 1285167.559 550661.738 0, 1284868.643 550644.963 0, 1284569.725 550628.205 0,
+ 1284270.807 550611.464 0, 1283971.887 550594.741 0, 1283672.967 550578.036 0, 1283374.045 550561.348 0, 1283075.123 550544.678 0, 1282776.199 550528.026 0, 1282477.275 550511.391 0, 1282178.35 550494.774 0, 1281879.423 550478.174 0, 1281580.496 550461.592 0,
+ 1281281.568 550445.028 0, 1280982.638 550428.481 0, 1280683.708 550411.952 0, 1280384.777 550395.44 0, 1280084.443 550378.868 0, 1279786.912 550362.469 0, 1279487.978 550346.01 0, 1279189.042 550329.569 0, 1278890.106 550313.145 0, 1278591.169 550296.739 0,
+ 1278292.231 550280.351 0, 1277993.292 550263.98 0, 1277694.352 550247.626 0, 1277395.412 550231.291 0, 1277096.47 550214.972 0, 1276797.527 550198.672 0, 1276498.583 550182.389 0, 1276199.638 550166.124 0, 1275900.693 550149.876 0, 1275601.746 550133.646 0,
+ 1275302.799 550117.433 0, 1275003.85 550101.238 0, 1274704.901 550085.061 0, 1274405.95 550068.901 0, 1274106.999 550052.759 0, 1273808.046 550036.634 0, 1273509.093 550020.527 0, 1273210.139 550004.438 0, 1272909.781 549988.291 0, 1272611.424 555541.169 0,
+ 1272313.047 561094.424 0, 1272612.748 561110.536 0, 1272911.049 561126.591 0, 1273209.348 561142.662 0, 1273507.647 561158.752 0, 1273805.945 561174.859 0, 1274104.241 561190.983 0, 1274402.537 561207.125 0, 1274700.832 561223.285 0, 1274999.126 561239.462 0,
+ 1275297.419 561255.656 0, 1275595.711 561271.869 0, 1275894.002 561288.098 0, 1276192.292 561304.346 0, 1276490.581 561320.611 0, 1276788.869 561336.893 0, 1277087.157 561353.193 0, 1277385.443 561369.511 0, 1277683.728 561385.846 0, 1277982.013 561402.199 0,
+ 1278280.296 561418.569 0, 1278578.578 561434.957 0, 1278876.86 561451.362 0, 1279175.14 561467.785 0, 1279472.021 561484.148 0, 1279771.698 561500.683 0, 1280069.976 561517.159 0, 1280368.253 561533.652 0, 1280666.528 561550.163 0, 1280964.803 561566.691 0,
+ 1281263.077 561583.237 0, 1281561.349 561599.8 0, 1281859.621 561616.381 0, 1282157.892 561632.98 0, 1282456.162 561649.596 0, 1282754.43 561666.229 0, 1283052.698 561682.88 0, 1283350.965 561699.549 0, 1283649.231 561716.235 0, 1283947.496 561732.939 0,
+ 1284245.76 561749.661 0, 1284544.023 561766.399 0, 1284842.285 561783.156 0, 1285140.546 561799.93 0, 1285438.806 561816.722 0, 1285737.065 561833.531 0, 1286035.323 561850.357 0, 1286333.58 561867.202 0, 1286630.438 561883.984 0, 1286944.503 556331.594 0,
+ 1287258.547 550779.581 0))
+
+POLYGON ((1300945.542 562713.99 0, 1300648.73 562696.369 0, 1300350.521 562678.682 0, 1300052.312 562661.013 0, 1299754.102 562643.361 0, 1299455.891 562625.727 0, 1299157.678 562608.11 0, 1298859.465 562590.511 0, 1298561.25 562572.93 0, 1298263.035 562555.366 0,
+ 1297964.818 562537.819 0, 1297666.601 562520.291 0, 1297368.382 562502.779 0, 1297070.163 562485.286 0, 1296771.942 562467.809 0, 1296473.72 562450.351 0, 1296175.498 562432.91 0, 1295877.274 562415.486 0, 1295579.049 562398.08 0, 1295280.823 562380.692 0,
+ 1294982.597 562363.321 0, 1294684.369 562345.968 0, 1294386.14 562328.632 0, 1294087.91 562311.314 0, 1293788.283 562293.932 0, 1293491.447 562276.73 0, 1293193.215 562259.464 0, 1292894.981 562242.216 0, 1292596.746 562224.986 0, 1292298.51 562207.773 0,
+ 1292000.273 562190.578 0, 1291702.035 562173.4 0, 1291403.796 562156.24 0, 1291105.556 562139.097 0, 1290807.315 562121.972 0, 1290509.073 562104.864 0, 1290210.83 562087.774 0, 1289912.586 562070.702 0, 1289614.341 562053.647 0, 1289316.095 562036.61 0,
+ 1289017.848 562019.59 0, 1288719.6 562002.588 0, 1288421.351 561985.603 0, 1288123.101 561968.636 0, 1287824.85 561951.686 0, 1287526.598 561934.754 0, 1287228.345 561917.84 0, 1286930.091 561900.943 0, 1286630.438 561883.984 0, 1286316.352 567436.748 0,
+ 1286002.245 572989.883 0, 1286301.241 573006.804 0, 1286598.841 573023.664 0, 1286896.441 573040.541 0, 1287194.039 573057.436 0, 1287491.636 573074.349 0, 1287789.233 573091.279 0, 1288086.828 573108.226 0, 1288384.422 573125.191 0, 1288682.016 573142.174 0,
+ 1288979.608 573159.174 0, 1289277.199 573176.191 0, 1289574.79 573193.226 0, 1289872.379 573210.279 0, 1290169.968 573227.349 0, 1290467.555 573244.436 0, 1290765.141 573261.541 0, 1291062.727 573278.664 0, 1291360.311 573295.804 0, 1291657.894 573312.962 0,
+ 1291955.477 573330.137 0, 1292253.058 573347.33 0, 1292550.638 573364.54 0, 1292848.217 573381.768 0, 1293144.403 573398.932 0, 1293443.373 573416.276 0, 1293740.949 573433.556 0, 1294038.524 573450.854 0, 1294336.099 573468.169 0, 1294633.672 573485.502 0,
+ 1294931.244 573502.852 0, 1295228.815 573520.22 0, 1295526.385 573537.605 0, 1295823.954 573555.008 0, 1296121.522 573572.428 0, 1296419.089 573589.866 0, 1296716.655 573607.322 0, 1297014.22 573624.794 0, 1297311.784 573642.285 0, 1297609.347 573659.793 0,
+ 1297906.909 573677.318 0, 1298204.47 573694.861 0, 1298502.03 573712.422 0, 1298799.589 573730 0, 1299097.146 573747.595 0, 1299394.703 573765.208 0, 1299692.259 573782.839 0, 1299989.813 573800.487 0, 1300285.975 573818.07 0, 1300615.77 568265.845 0,
+ 1300945.542 562713.99 0))
+
+POLYGON ((1314567.309 574686.607 0, 1314271.195 574668.188 0, 1313973.692 574649.699 0, 1313676.187 574631.228 0, 1313378.681 574612.774 0, 1313081.174 574594.338 0, 1312783.667 574575.92 0, 1312486.158 574557.519 0, 1312188.647 574539.135 0, 1311891.136 574520.769 0,
+ 1311593.624 574502.421 0, 1311296.111 574484.09 0, 1310998.596 574465.776 0, 1310701.081 574447.48 0, 1310403.564 574429.202 0, 1310106.046 574410.941 0, 1309808.528 574392.697 0, 1309511.008 574374.471 0, 1309213.487 574356.263 0, 1308915.965 574338.072 0,
+ 1308618.442 574319.898 0, 1308320.918 574301.742 0, 1308023.393 574283.604 0, 1307725.867 574265.483 0, 1307426.949 574247.295 0, 1307130.811 574229.294 0, 1306833.281 574211.226 0, 1306535.751 574193.175 0, 1306238.219 574175.141 0, 1305940.687 574157.126 0,
+ 1305643.153 574139.127 0, 1305345.618 574121.146 0, 1305048.083 574103.183 0, 1304750.546 574085.237 0, 1304453.008 574067.309 0, 1304155.469 574049.398 0, 1303857.929 574031.505 0, 1303560.388 574013.629 0, 1303262.846 573995.771 0, 1302965.303 573977.931 0,
+ 1302667.758 573960.107 0, 1302370.213 573942.302 0, 1302072.667 573924.514 0, 1301775.12 573906.743 0, 1301477.571 573888.99 0, 1301180.022 573871.254 0, 1300882.471 573853.536 0, 1300584.92 573835.835 0, 1300285.975 573818.07 0, 1299956.159 579370.662 0,
+ 1299626.321 584923.618 0, 1299924.609 584941.345 0, 1300221.507 584959.007 0, 1300518.404 584976.686 0, 1300815.299 584994.383 0, 1301112.194 585012.097 0, 1301409.088 585029.828 0, 1301705.981 585047.577 0, 1302002.872 585065.344 0, 1302299.763 585083.128 0,
+ 1302596.652 585100.929 0, 1302893.541 585118.748 0, 1303190.428 585136.585 0, 1303487.315 585154.439 0, 1303784.2 585172.31 0, 1304081.084 585190.199 0, 1304377.967 585208.105 0, 1304674.85 585226.029 0, 1304971.731 585243.971 0, 1305268.611 585261.929 0,
+ 1305565.49 585279.906 0, 1305862.368 585297.899 0, 1306159.245 585315.91 0, 1306456.12 585333.939 0, 1306751.608 585351.901 0, 1307049.869 585370.049 0, 1307346.742 585388.13 0, 1307643.613 585406.228 0, 1307940.484 585424.345 0, 1308237.353 585442.478 0,
+ 1308534.221 585460.629 0, 1308831.089 585478.797 0, 1309127.955 585496.983 0, 1309424.82 585515.187 0, 1309721.684 585533.408 0, 1310018.547 585551.646 0, 1310315.409 585569.902 0, 1310612.27 585588.175 0, 1310909.13 585606.466 0, 1311205.989 585624.774 0,
+ 1311502.846 585643.1 0, 1311799.703 585661.443 0, 1312096.558 585679.804 0, 1312393.413 585698.182 0, 1312690.266 585716.577 0, 1312987.118 585734.99 0, 1313283.969 585753.421 0, 1313580.819 585771.869 0, 1313876.282 585790.248 0, 1314221.807 580238.246 0,
+ 1314567.309 574686.607 0))
+
+POLYGON ((1328123.738 586697.133 0, 1327828.326 586677.919 0, 1327531.529 586658.633 0, 1327234.731 586639.363 0, 1326937.932 586620.112 0, 1326641.132 586600.878 0, 1326344.331 586581.661 0, 1326047.528 586562.462 0, 1325750.725 586543.28 0, 1325453.92 586524.116 0,
+ 1325157.114 586504.969 0, 1324860.307 586485.839 0, 1324563.499 586466.727 0, 1324266.69 586447.633 0, 1323969.88 586428.556 0, 1323673.068 586409.497 0, 1323376.256 586390.455 0, 1323079.442 586371.43 0, 1322782.627 586352.423 0, 1322485.811 586333.433 0,
+ 1322188.994 586314.461 0, 1321892.176 586295.506 0, 1321595.357 586276.569 0, 1321298.537 586257.65 0, 1321000.33 586238.659 0, 1320704.892 586219.863 0, 1320408.069 586200.995 0, 1320111.244 586182.145 0, 1319814.418 586163.313 0, 1319517.591 586144.498 0,
+ 1319220.763 586125.701 0, 1318923.934 586106.921 0, 1318627.103 586088.158 0, 1318330.272 586069.413 0, 1318033.439 586050.686 0, 1317736.606 586031.976 0, 1317439.771 586013.283 0, 1317142.935 585994.608 0, 1316846.098 585975.95 0, 1316549.26 585957.31 0,
+ 1316252.421 585938.687 0, 1315955.581 585920.082 0, 1315658.739 585901.494 0, 1315361.897 585882.924 0, 1315065.053 585864.371 0, 1314768.209 585845.836 0, 1314471.363 585827.318 0, 1314174.516 585808.817 0, 1313876.282 585790.248 0, 1313530.735 591342.611 0,
+ 1313185.166 596895.332 0, 1313482.743 596913.861 0, 1313778.936 596932.32 0, 1314075.128 596950.797 0, 1314371.319 596969.292 0, 1314667.509 596987.804 0, 1314963.698 597006.333 0, 1315259.886 597024.88 0, 1315556.073 597043.444 0, 1315852.258 597062.026 0,
+ 1316148.443 597080.625 0, 1316444.626 597099.242 0, 1316740.808 597117.876 0, 1317036.989 597136.527 0, 1317333.169 597155.196 0, 1317629.348 597173.883 0, 1317925.526 597192.586 0, 1318221.703 597211.308 0, 1318517.879 597230.046 0, 1318814.053 597248.802 0,
+ 1319110.227 597267.576 0, 1319406.399 597286.367 0, 1319702.57 597305.175 0, 1319998.74 597324.001 0, 1320293.528 597342.756 0, 1320591.077 597361.705 0, 1320887.244 597380.583 0, 1321183.41 597399.478 0, 1321479.574 597418.391 0, 1321775.738 597437.321 0,
+ 1322071.9 597456.269 0, 1322368.061 597475.234 0, 1322664.222 597494.217 0, 1322960.381 597513.217 0, 1323256.538 597532.235 0, 1323552.695 597551.27 0, 1323848.851 597570.322 0, 1324145.005 597589.392 0, 1324441.159 597608.479 0, 1324737.311 597627.584 0,
+ 1325033.462 597646.706 0, 1325329.612 597665.845 0, 1325625.761 597685.002 0, 1325921.909 597704.177 0, 1326218.056 597723.369 0, 1326514.201 597742.578 0, 1326810.345 597761.805 0, 1327106.489 597781.049 0, 1327401.25 597800.22 0, 1327762.506 592248.498 0,
+ 1328123.738 586697.133 0))
+
+POLYGON ((1341614.721 598745.268 0, 1341320.013 598725.263 0, 1341023.925 598705.183 0, 1340727.836 598685.12 0, 1340431.746 598665.074 0, 1340135.655 598645.045 0, 1339839.563 598625.034 0, 1339543.469 598605.041 0, 1339247.374 598585.065 0, 1338951.278 598565.106 0,
+ 1338655.181 598545.165 0, 1338359.083 598525.241 0, 1338062.983 598505.334 0, 1337766.883 598485.445 0, 1337470.781 598465.574 0, 1337174.678 598445.72 0, 1336878.574 598425.883 0, 1336582.469 598406.064 0, 1336286.362 598386.262 0, 1335990.254 598366.477 0,
+ 1335694.146 598346.71 0, 1335398.036 598326.961 0, 1335101.925 598307.229 0, 1334805.812 598287.514 0, 1334508.32 598267.725 0, 1334213.584 598248.137 0, 1333917.468 598228.474 0, 1333621.352 598208.829 0, 1333325.233 598189.202 0, 1333029.114 598169.591 0,
+ 1332732.994 598149.999 0, 1332436.872 598130.423 0, 1332140.75 598110.866 0, 1331844.626 598091.325 0, 1331548.501 598071.802 0, 1331252.375 598052.297 0, 1330956.247 598032.808 0, 1330660.119 598013.338 0, 1330363.989 597993.884 0, 1330067.859 597974.449 0,
+ 1329771.727 597955.03 0, 1329475.594 597935.629 0, 1329179.46 597916.246 0, 1328883.324 597896.88 0, 1328587.188 597877.531 0, 1328291.05 597858.2 0, 1327994.912 597838.886 0, 1327698.772 597819.589 0, 1327401.25 597800.22 0, 1327039.972 603352.297 0,
+ 1326678.67 608904.725 0, 1326975.535 608924.052 0, 1327271.022 608943.305 0, 1327566.507 608962.577 0, 1327861.991 608981.865 0, 1328157.474 609001.171 0, 1328452.955 609020.495 0, 1328748.436 609039.835 0, 1329043.915 609059.194 0, 1329339.394 609078.569 0,
+ 1329634.871 609097.962 0, 1329930.347 609117.372 0, 1330225.822 609136.8 0, 1330521.295 609156.245 0, 1330816.768 609175.708 0, 1331112.239 609195.188 0, 1331407.71 609214.685 0, 1331703.179 609234.2 0, 1331998.647 609253.732 0, 1332294.114 609273.281 0,
+ 1332589.579 609292.848 0, 1332885.044 609312.432 0, 1333180.507 609332.034 0, 1333475.97 609351.653 0, 1333770.054 609371.198 0, 1334066.891 609390.943 0, 1334362.349 609410.615 0, 1334657.807 609430.303 0, 1334953.263 609450.009 0, 1335248.719 609469.732 0,
+ 1335544.173 609489.473 0, 1335839.626 609509.231 0, 1336135.078 609529.007 0, 1336430.528 609548.8 0, 1336725.978 609568.61 0, 1337021.426 609588.438 0, 1337316.873 609608.283 0, 1337612.319 609628.146 0, 1337907.764 609648.025 0, 1338203.207 609667.923 0,
+ 1338498.65 609687.837 0, 1338794.091 609707.769 0, 1339089.531 609727.719 0, 1339384.97 609747.686 0, 1339680.408 609767.67 0, 1339975.845 609787.672 0, 1340271.28 609807.691 0, 1340566.714 609827.727 0, 1340860.772 609847.687 0, 1341237.759 604296.302 0,
+ 1341614.721 598745.268 0))
+
+POLYGON ((1355040.154 610830.712 0, 1354746.151 610809.921 0, 1354450.774 610789.05 0, 1354155.397 610768.197 0, 1353860.018 610747.36 0, 1353564.638 610726.542 0, 1353269.256 610705.74 0, 1352973.874 610684.956 0, 1352678.49 610664.19 0, 1352383.105 610643.44 0,
+ 1352087.719 610622.708 0, 1351792.331 610601.994 0, 1351496.943 610581.297 0, 1351201.553 610560.617 0, 1350906.162 610539.955 0, 1350610.769 610519.31 0, 1350315.376 610498.682 0, 1350019.981 610478.072 0, 1349724.585 610457.479 0, 1349429.188 610436.904 0,
+ 1349133.789 610416.346 0, 1348838.39 610395.805 0, 1348542.989 610375.282 0, 1348247.587 610354.776 0, 1347950.81 610334.192 0, 1347656.779 610313.817 0, 1347361.374 610293.363 0, 1347065.967 610272.927 0, 1346770.559 610252.508 0, 1346475.15 610232.106 0,
+ 1346179.739 610211.722 0, 1345884.328 610191.355 0, 1345588.915 610171.006 0, 1345293.501 610150.674 0, 1344998.085 610130.359 0, 1344702.669 610110.062 0, 1344407.251 610089.782 0, 1344111.833 610069.52 0, 1343816.413 610049.275 0, 1343520.991 610029.047 0,
+ 1343225.569 610008.837 0, 1342930.145 609988.644 0, 1342634.721 609968.468 0, 1342339.295 609948.31 0, 1342043.868 609928.17 0, 1341748.439 609908.046 0, 1341453.01 609887.94 0, 1341157.579 609867.852 0, 1340860.772 609847.687 0, 1340483.762 615399.42 0,
+ 1340106.729 620951.498 0, 1340402.879 620971.618 0, 1340697.656 620991.662 0, 1340992.432 621011.724 0, 1341287.207 621031.803 0, 1341581.98 621051.899 0, 1341876.753 621072.012 0, 1342171.524 621092.143 0, 1342466.294 621112.291 0, 1342761.063 621132.457 0,
+ 1343055.831 621152.64 0, 1343350.597 621172.84 0, 1343645.362 621193.058 0, 1343940.127 621213.293 0, 1344234.889 621233.545 0, 1344529.651 621253.815 0, 1344824.412 621274.102 0, 1345119.171 621294.406 0, 1345413.929 621314.728 0, 1345708.686 621335.067 0,
+ 1346003.442 621355.423 0, 1346298.196 621375.797 0, 1346592.95 621396.188 0, 1346887.702 621416.596 0, 1347181.082 621436.927 0, 1347477.202 621457.465 0, 1347771.951 621477.926 0, 1348066.698 621498.404 0, 1348361.444 621518.899 0, 1348656.189 621539.411 0,
+ 1348950.933 621559.941 0, 1349245.676 621580.488 0, 1349540.417 621601.053 0, 1349835.157 621621.635 0, 1350129.896 621642.234 0, 1350424.633 621662.851 0, 1350719.37 621683.485 0, 1351014.105 621704.136 0, 1351308.839 621724.805 0, 1351603.572 621745.491 0,
+ 1351898.303 621766.194 0, 1352193.034 621786.915 0, 1352487.763 621807.653 0, 1352782.491 621828.408 0, 1353077.218 621849.181 0, 1353371.943 621869.971 0, 1353666.667 621890.779 0, 1353961.39 621911.603 0, 1354254.743 621932.349 0, 1354647.46 616381.358 0,
+ 1355040.154 610830.712 0))
+
+POLYGON ((1368399.929 622953.166 0, 1368106.634 622931.592 0, 1367811.971 622909.935 0, 1367517.307 622888.295 0, 1367222.641 622866.672 0, 1366927.975 622845.067 0, 1366633.306 622823.479 0, 1366338.637 622801.908 0, 1366043.966 622780.355 0, 1365749.295 622758.819 0,
+ 1365454.621 622737.3 0, 1365159.947 622715.799 0, 1364865.271 622694.315 0, 1364570.594 622672.848 0, 1364275.916 622651.399 0, 1363981.237 622629.967 0, 1363686.556 622608.553 0, 1363391.874 622587.155 0, 1363097.19 622565.776 0, 1362802.506 622544.413 0,
+ 1362507.82 622523.068 0, 1362213.133 622501.74 0, 1361918.445 622480.43 0, 1361623.755 622459.137 0, 1361327.696 622437.762 0, 1361034.372 622416.602 0, 1360739.679 622395.361 0, 1360444.985 622374.137 0, 1360150.289 622352.931 0, 1359855.592 622331.742 0,
+ 1359560.893 622310.57 0, 1359266.194 622289.416 0, 1358971.493 622268.279 0, 1358676.791 622247.159 0, 1358382.088 622226.057 0, 1358087.383 622204.972 0, 1357792.678 622183.904 0, 1357497.971 622162.854 0, 1357203.262 622141.821 0, 1356908.553 622120.805 0,
+ 1356613.842 622099.807 0, 1356319.13 622078.826 0, 1356024.417 622057.863 0, 1355729.703 622036.917 0, 1355434.987 622015.988 0, 1355140.27 621995.076 0, 1354845.552 621974.182 0, 1354550.833 621953.305 0, 1354254.743 621932.349 0, 1353862.001 627483.681 0,
+ 1353469.235 633035.351 0, 1353764.669 633056.26 0, 1354058.734 633077.091 0, 1354352.799 633097.939 0, 1354646.862 633118.804 0, 1354940.925 633139.686 0, 1355234.986 633160.586 0, 1355529.045 633181.503 0, 1355823.104 633202.438 0, 1356117.161 633223.389 0,
+ 1356411.217 633244.358 0, 1356705.272 633265.345 0, 1356999.325 633286.348 0, 1357293.377 633307.369 0, 1357587.429 633328.407 0, 1357881.478 633349.463 0, 1358175.527 633370.536 0, 1358469.574 633391.626 0, 1358763.62 633412.733 0, 1359057.665 633433.858 0,
+ 1359351.709 633455 0, 1359645.751 633476.16 0, 1359939.792 633497.336 0, 1360233.832 633518.53 0, 1360526.506 633539.643 0, 1360821.908 633560.97 0, 1361115.944 633582.216 0, 1361409.979 633603.479 0, 1361704.013 633624.76 0, 1361998.045 633646.058 0,
+ 1362292.076 633667.373 0, 1362586.106 633688.705 0, 1362880.135 633710.055 0, 1363174.162 633731.422 0, 1363468.188 633752.807 0, 1363762.213 633774.208 0, 1364056.236 633795.627 0, 1364350.259 633817.063 0, 1364644.28 633838.517 0, 1364938.3 633859.988 0,
+ 1365232.318 633881.476 0, 1365526.335 633902.982 0, 1365820.351 633924.504 0, 1366114.366 633946.045 0, 1366408.379 633967.602 0, 1366702.392 633989.177 0, 1366996.403 634010.769 0, 1367290.412 634032.378 0, 1367583.057 634053.904 0, 1367991.505 628503.366 0,
+ 1368399.929 622953.166 0))
+
+POLYGON ((1381693.944 635112.328 0, 1381401.36 635089.975 0, 1381107.412 635067.535 0, 1380813.463 635045.113 0, 1380519.513 635022.707 0, 1380225.562 635000.319 0, 1379931.609 634977.949 0, 1379637.655 634955.595 0, 1379343.7 634933.259 0, 1379049.743 634910.94 0,
+ 1378755.785 634888.639 0, 1378461.826 634866.355 0, 1378167.866 634844.088 0, 1377873.904 634821.838 0, 1377579.94 634799.606 0, 1377285.976 634777.391 0, 1376992.01 634755.194 0, 1376698.043 634733.013 0, 1376404.075 634710.85 0, 1376110.105 634688.704 0,
+ 1375816.134 634666.576 0, 1375522.162 634644.465 0, 1375228.188 634622.371 0, 1374934.213 634600.294 0, 1374638.874 634578.133 0, 1374346.259 634556.193 0, 1374052.281 634534.169 0, 1373758.3 634512.161 0, 1373464.319 634490.171 0, 1373170.336 634468.199 0,
+ 1372876.352 634446.243 0, 1372582.367 634424.305 0, 1372288.38 634402.384 0, 1371994.393 634380.481 0, 1371700.403 634358.595 0, 1371406.413 634336.726 0, 1371112.421 634314.874 0, 1370818.428 634293.04 0, 1370524.434 634271.223 0, 1370230.438 634249.423 0,
+ 1369936.442 634227.641 0, 1369642.443 634205.876 0, 1369348.444 634184.128 0, 1369054.443 634162.397 0, 1368760.441 634140.684 0, 1368466.438 634118.988 0, 1368172.433 634097.31 0, 1367878.428 634075.649 0, 1367583.057 634053.904 0, 1367174.583 639604.777 0,
+ 1366766.086 645155.982 0, 1367060.8 645177.678 0, 1367354.153 645199.291 0, 1367647.504 645220.921 0, 1367940.854 645242.569 0, 1368234.202 645264.234 0, 1368527.549 645285.916 0, 1368820.895 645307.615 0, 1369114.24 645329.332 0, 1369407.584 645351.066 0,
+ 1369700.926 645372.817 0, 1369994.267 645394.586 0, 1370287.606 645416.371 0, 1370580.945 645438.175 0, 1370874.282 645459.995 0, 1371167.617 645481.832 0, 1371460.952 645503.687 0, 1371754.285 645525.559 0, 1372047.617 645547.449 0, 1372340.947 645569.355 0,
+ 1372634.277 645591.279 0, 1372927.605 645613.22 0, 1373220.931 645635.179 0, 1373514.257 645657.154 0, 1373806.222 645679.045 0, 1374100.904 645701.157 0, 1374394.225 645723.185 0, 1374687.546 645745.23 0, 1374980.865 645767.292 0, 1375274.182 645789.371 0,
+ 1375567.499 645811.467 0, 1375860.814 645833.581 0, 1376154.127 645855.712 0, 1376447.44 645877.861 0, 1376740.751 645900.026 0, 1377034.061 645922.209 0, 1377327.369 645944.409 0, 1377620.677 645966.627 0, 1377913.983 645988.861 0, 1378207.287 646011.113 0,
+ 1378500.59 646033.382 0, 1378793.892 646055.669 0, 1379087.193 646077.972 0, 1379380.492 646100.293 0, 1379673.791 646122.632 0, 1379967.087 646144.987 0, 1380260.383 646167.36 0, 1380553.677 646189.75 0, 1380845.611 646212.053 0, 1381269.79 640662.025 0,
+ 1381693.944 635112.328 0))
+
+POLYGON ((1394922.097 647307.898 0, 1394630.224 647284.769 0, 1394336.995 647261.551 0, 1394043.764 647238.349 0, 1393750.531 647215.165 0, 1393457.298 647191.999 0, 1393164.062 647168.849 0, 1392870.826 647145.717 0, 1392577.588 647122.602 0, 1392284.349 647099.504 0,
+ 1391991.108 647076.424 0, 1391697.866 647053.361 0, 1391404.623 647030.315 0, 1391111.378 647007.286 0, 1390818.132 646984.275 0, 1390524.885 646961.281 0, 1390231.636 646938.304 0, 1389938.386 646915.344 0, 1389645.135 646892.402 0, 1389351.882 646869.477 0,
+ 1389058.628 646846.569 0, 1388765.373 646823.678 0, 1388472.116 646800.805 0, 1388178.858 646777.949 0, 1387884.241 646755.004 0, 1387592.337 646732.288 0, 1387299.075 646709.484 0, 1387005.812 646686.697 0, 1386712.547 646663.927 0, 1386419.281 646641.175 0,
+ 1386126.013 646618.44 0, 1385832.744 646595.722 0, 1385539.474 646573.021 0, 1385246.202 646550.337 0, 1384952.929 646527.671 0, 1384659.655 646505.022 0, 1384366.38 646482.391 0, 1384073.103 646459.776 0, 1383779.825 646437.179 0, 1383486.545 646414.599 0,
+ 1383193.264 646392.037 0, 1382899.982 646369.491 0, 1382606.699 646346.963 0, 1382313.414 646324.452 0, 1382020.127 646301.959 0, 1381726.84 646279.482 0, 1381433.551 646257.023 0, 1381140.261 646234.582 0, 1380845.611 646212.053 0, 1380421.407 651762.41 0,
+ 1379997.178 657313.091 0, 1380291.171 657335.569 0, 1380583.808 657357.961 0, 1380876.443 657380.37 0, 1381169.078 657402.796 0, 1381461.71 657425.24 0, 1381754.342 657447.7 0, 1382046.972 657470.178 0, 1382339.601 657492.673 0, 1382632.228 657515.186 0,
+ 1382924.855 657537.715 0, 1383217.479 657560.262 0, 1383510.103 657582.826 0, 1383802.725 657605.407 0, 1384095.346 657628.006 0, 1384387.966 657650.622 0, 1384680.584 657673.254 0, 1384973.201 657695.905 0, 1385265.816 657718.572 0, 1385558.43 657741.257 0,
+ 1385851.043 657763.958 0, 1386143.655 657786.677 0, 1386436.265 657809.414 0, 1386728.874 657832.167 0, 1387020.127 657854.832 0, 1387314.088 657877.726 0, 1387606.692 657900.531 0, 1387899.296 657923.353 0, 1388191.898 657946.193 0, 1388484.499 657969.05 0,
+ 1388777.098 657991.924 0, 1389069.696 658014.815 0, 1389362.293 658037.723 0, 1389654.889 658060.649 0, 1389947.483 658083.592 0, 1390240.075 658106.552 0, 1390532.667 658129.53 0, 1390825.257 658152.524 0, 1391117.845 658175.536 0, 1391410.433 658198.565 0,
+ 1391703.019 658221.611 0, 1391995.603 658244.675 0, 1392288.187 658267.755 0, 1392580.768 658290.853 0, 1392873.349 658313.968 0, 1393165.928 658337.101 0, 1393458.506 658360.25 0, 1393751.082 658383.417 0, 1394042.305 658406.494 0, 1394482.214 652857.033 0,
+ 1394922.097 647307.898 0))
+
+POLYGON ((1408084.286 659539.573 0, 1407793.128 659515.673 0, 1407500.618 659491.68 0, 1407208.107 659467.704 0, 1406915.594 659443.745 0, 1406623.08 659419.803 0, 1406330.565 659395.879 0, 1406038.048 659371.972 0, 1405745.53 659348.082 0, 1405453.01 659324.209 0,
+ 1405160.489 659300.353 0, 1404867.966 659276.515 0, 1404575.443 659252.694 0, 1404282.917 659228.89 0, 1403990.391 659205.103 0, 1403697.863 659181.334 0, 1403405.333 659157.582 0, 1403112.802 659133.847 0, 1402820.27 659110.129 0, 1402527.736 659086.428 0,
+ 1402235.201 659062.745 0, 1401942.665 659039.079 0, 1401650.127 659015.43 0, 1401357.588 658991.798 0, 1401063.696 658968.075 0, 1400772.505 658944.586 0, 1400479.962 658921.006 0, 1400187.417 658897.443 0, 1399894.871 658873.898 0, 1399602.323 658850.369 0,
+ 1399309.774 658826.858 0, 1399017.224 658803.364 0, 1398724.672 658779.887 0, 1398432.119 658756.428 0, 1398139.564 658732.986 0, 1397847.009 658709.56 0, 1397554.451 658686.153 0, 1397261.893 658662.762 0, 1396969.333 658639.389 0, 1396676.771 658616.032 0,
+ 1396384.209 658592.693 0, 1396091.644 658569.372 0, 1395799.079 658546.067 0, 1395506.512 658522.78 0, 1395213.944 658499.51 0, 1394921.374 658476.257 0, 1394628.803 658453.021 0, 1394336.231 658429.802 0, 1394042.305 658406.494 0, 1393602.37 663956.276 0,
+ 1393162.41 669506.376 0, 1393455.68 669529.633 0, 1393747.599 669552.799 0, 1394039.517 669575.983 0, 1394331.433 669599.184 0, 1394623.348 669622.402 0, 1394915.262 669645.638 0, 1395207.174 669668.89 0, 1395499.085 669692.16 0, 1395790.994 669715.447 0,
+ 1396082.902 669738.751 0, 1396374.809 669762.072 0, 1396666.714 669785.411 0, 1396958.618 669808.766 0, 1397250.521 669832.139 0, 1397542.422 669855.529 0, 1397834.322 669878.936 0, 1398126.22 669902.36 0, 1398418.117 669925.802 0, 1398710.013 669949.261 0,
+ 1399001.907 669972.736 0, 1399293.8 669996.229 0, 1399585.692 670019.74 0, 1399877.582 670043.267 0, 1400168.122 670066.703 0, 1400461.358 670090.373 0, 1400753.244 670113.952 0, 1401045.129 670137.549 0, 1401337.012 670161.162 0, 1401628.894 670184.792 0,
+ 1401920.774 670208.44 0, 1402212.653 670232.105 0, 1402504.531 670255.787 0, 1402796.407 670279.486 0, 1403088.282 670303.203 0, 1403380.156 670326.936 0, 1403672.028 670350.687 0, 1403963.898 670374.455 0, 1404255.768 670398.24 0, 1404547.636 670422.042 0,
+ 1404839.502 670445.862 0, 1405131.367 670469.698 0, 1405423.231 670493.552 0, 1405715.093 670517.423 0, 1406006.954 670541.311 0, 1406298.813 670565.217 0, 1406590.671 670589.139 0, 1406882.528 670613.079 0, 1407173.036 670636.925 0, 1407628.674 665088.09 0,
+ 1408084.286 659539.573 0))
+
+POLYGON ((1421180.412 671807.052 0, 1420889.97 671782.385 0, 1420598.182 671757.62 0, 1420306.393 671732.873 0, 1420014.602 671708.144 0, 1419722.81 671683.431 0, 1419431.017 671658.736 0, 1419139.221 671634.057 0, 1418847.425 671609.396 0, 1418555.627 671584.752 0,
+ 1418263.827 671560.125 0, 1417972.026 671535.516 0, 1417680.224 671510.923 0, 1417388.42 671486.348 0, 1417096.615 671461.79 0, 1416804.808 671437.249 0, 1416513 671412.726 0, 1416221.191 671388.219 0, 1415929.38 671363.73 0, 1415637.567 671339.257 0,
+ 1415345.753 671314.802 0, 1415053.938 671290.365 0, 1414762.121 671265.944 0, 1414470.303 671241.54 0, 1414177.137 671217.042 0, 1413886.662 671192.785 0, 1413594.84 671168.433 0, 1413303.016 671144.098 0, 1413011.19 671119.781 0, 1412719.363 671095.48 0,
+ 1412427.535 671071.197 0, 1412135.705 671046.931 0, 1411843.874 671022.682 0, 1411552.042 670998.45 0, 1411260.208 670974.236 0, 1410968.372 670950.038 0, 1410676.536 670925.858 0, 1410384.697 670901.695 0, 1410092.858 670877.549 0, 1409801.017 670853.421 0,
+ 1409509.174 670829.309 0, 1409217.33 670805.215 0, 1408925.485 670781.138 0, 1408633.638 670757.078 0, 1408341.79 670733.035 0, 1408049.94 670709.009 0, 1407758.09 670685.001 0, 1407466.237 670661.01 0, 1407173.036 670636.925 0, 1406717.372 676186.075 0,
+ 1406261.683 681735.536 0, 1406554.227 681759.567 0, 1406845.427 681783.505 0, 1407136.624 681807.459 0, 1407427.821 681831.431 0, 1407719.016 681855.42 0, 1408010.209 681879.426 0, 1408301.401 681903.45 0, 1408592.592 681927.49 0, 1408883.781 681951.548 0,
+ 1409174.969 681975.622 0, 1409466.156 681999.714 0, 1409757.341 682023.823 0, 1410048.524 682047.949 0, 1410339.706 682072.092 0, 1410630.887 682096.253 0, 1410922.066 682120.43 0, 1411213.244 682144.625 0, 1411504.421 682168.836 0, 1411795.596 682193.065 0,
+ 1412086.77 682217.311 0, 1412377.942 682241.575 0, 1412669.113 682265.855 0, 1412960.282 682290.152 0, 1413250.107 682314.355 0, 1413542.616 682338.799 0, 1413833.781 682363.147 0, 1414124.945 682387.513 0, 1414416.107 682411.897 0, 1414707.268 682436.297 0,
+ 1414998.427 682460.714 0, 1415289.585 682485.149 0, 1415580.742 682509.601 0, 1415871.897 682534.069 0, 1416163.05 682558.555 0, 1416454.202 682583.058 0, 1416745.353 682607.579 0, 1417036.502 682632.116 0, 1417327.65 682656.671 0, 1417618.796 682681.242 0,
+ 1417909.941 682705.831 0, 1418201.085 682730.437 0, 1418492.227 682755.06 0, 1418783.367 682779.7 0, 1419074.506 682804.357 0, 1419365.644 682829.032 0, 1419656.78 682853.724 0, 1419947.915 682878.432 0, 1420237.707 682903.044 0, 1420709.073 677354.892 0,
+ 1421180.412 671807.052 0))
+
+POLYGON ((1434210.377 684110.032 0, 1433920.653 684084.601 0, 1433629.59 684059.07 0, 1433338.524 684033.556 0, 1433047.457 684008.059 0, 1432756.389 683982.579 0, 1432465.319 683957.117 0, 1432174.248 683931.671 0, 1431883.175 683906.243 0, 1431592.101 683880.832 0,
+ 1431301.025 683855.438 0, 1431009.948 683830.061 0, 1430718.869 683804.701 0, 1430427.789 683779.358 0, 1430136.707 683754.033 0, 1429845.624 683728.724 0, 1429554.539 683703.433 0, 1429263.453 683678.159 0, 1428972.365 683652.902 0, 1428681.276 683627.662 0,
+ 1428390.186 683602.439 0, 1428099.094 683577.233 0, 1427808 683552.045 0, 1427516.905 683526.874 0, 1427224.468 683501.604 0, 1426934.71 683476.582 0, 1426643.611 683451.462 0, 1426352.51 683426.359 0, 1426061.407 683401.274 0, 1425770.303 683376.205 0,
+ 1425479.198 683351.154 0, 1425188.091 683326.12 0, 1424896.982 683301.102 0, 1424605.872 683276.102 0, 1424314.761 683251.119 0, 1424023.648 683226.154 0, 1423732.534 683201.205 0, 1423441.418 683176.274 0, 1423150.301 683151.359 0, 1422859.182 683126.462 0,
+ 1422568.062 683101.582 0, 1422276.941 683076.719 0, 1421985.817 683051.873 0, 1421694.693 683027.044 0, 1421403.567 683002.233 0, 1421112.439 682977.439 0, 1420821.311 682952.661 0, 1420530.18 682927.901 0, 1420237.707 682903.044 0, 1419766.315 688451.504 0,
+ 1419294.897 694000.269 0, 1419586.714 694025.07 0, 1419877.191 694049.774 0, 1420167.667 694074.496 0, 1420458.141 694099.235 0, 1420748.614 694123.991 0, 1421039.085 694148.764 0, 1421329.555 694173.554 0, 1421620.024 694198.361 0, 1421910.491 694223.185 0,
+ 1422200.956 694248.027 0, 1422491.421 694272.885 0, 1422781.883 694297.761 0, 1423072.344 694322.653 0, 1423362.804 694347.563 0, 1423653.262 694372.49 0, 1423943.719 694397.434 0, 1424234.174 694422.395 0, 1424524.628 694447.373 0, 1424815.081 694472.368 0,
+ 1425105.531 694497.381 0, 1425395.981 694522.41 0, 1425686.429 694547.456 0, 1425976.875 694572.52 0, 1426265.983 694597.485 0, 1426557.764 694622.699 0, 1426848.206 694647.813 0, 1427138.646 694672.945 0, 1427429.085 694698.095 0, 1427719.523 694723.261 0,
+ 1428009.959 694748.444 0, 1428300.394 694773.644 0, 1428590.827 694798.862 0, 1428881.259 694824.096 0, 1429171.689 694849.348 0, 1429462.117 694874.617 0, 1429752.545 694899.903 0, 1430042.97 694925.205 0, 1430333.395 694950.526 0, 1430623.817 694975.863 0,
+ 1430914.239 695001.217 0, 1431204.658 695026.588 0, 1431495.077 695051.977 0, 1431785.493 695077.382 0, 1432075.909 695102.805 0, 1432366.322 695128.244 0, 1432656.735 695153.701 0, 1432947.145 695179.175 0, 1433236.219 695204.549 0, 1433723.311 689657.138 0,
+ 1434210.377 684110.032 0))
+
+POLYGON ((1447174.083 696448.21 0, 1446885.08 696422.02 0, 1446594.742 696395.726 0, 1446304.403 696369.449 0, 1446014.062 696343.189 0, 1445723.72 696316.946 0, 1445433.376 696290.72 0, 1445143.031 696264.511 0, 1444852.684 696238.319 0, 1444562.336 696212.145 0,
+ 1444271.986 696185.987 0, 1443981.634 696159.847 0, 1443691.281 696133.723 0, 1443400.926 696107.617 0, 1443110.57 696081.528 0, 1442820.212 696055.456 0, 1442529.853 696029.401 0, 1442239.493 696003.363 0, 1441949.13 695977.342 0, 1441658.766 695951.339 0,
+ 1441368.401 695925.352 0, 1441078.034 695899.382 0, 1440787.666 695873.43 0, 1440497.296 695847.495 0, 1440205.59 695821.457 0, 1439916.552 695795.675 0, 1439626.177 695769.791 0, 1439335.801 695743.924 0, 1439045.423 695718.074 0, 1438755.044 695692.242 0,
+ 1438464.664 695666.426 0, 1438174.282 695640.627 0, 1437883.898 695614.846 0, 1437593.513 695589.081 0, 1437303.126 695563.334 0, 1437012.738 695537.604 0, 1436722.348 695511.891 0, 1436431.957 695486.194 0, 1436141.565 695460.516 0, 1435851.17 695434.854 0,
+ 1435560.775 695409.209 0, 1435270.377 695383.581 0, 1434979.979 695357.971 0, 1434689.578 695332.377 0, 1434399.177 695306.801 0, 1434108.773 695281.241 0, 1433818.369 695255.699 0, 1433527.962 695230.174 0, 1433236.219 695204.549 0, 1432749.1 700752.26 0,
+ 1432261.955 706300.27 0, 1432553.043 706325.838 0, 1432842.796 706351.306 0, 1433132.547 706376.79 0, 1433422.298 706402.292 0, 1433712.046 706427.811 0, 1434001.794 706453.347 0, 1434291.539 706478.9 0, 1434581.283 706504.47 0, 1434871.026 706530.057 0,
+ 1435160.767 706555.662 0, 1435450.507 706581.283 0, 1435740.245 706606.921 0, 1436029.982 706632.576 0, 1436319.717 706658.249 0, 1436609.451 706683.938 0, 1436899.183 706709.645 0, 1437188.913 706735.368 0, 1437478.642 706761.109 0, 1437768.37 706786.866 0,
+ 1438058.096 706812.641 0, 1438347.82 706838.433 0, 1438637.544 706864.242 0, 1438927.265 706890.068 0, 1439215.653 706915.792 0, 1439506.703 706941.77 0, 1439796.42 706967.647 0, 1440086.136 706993.542 0, 1440375.85 707019.453 0, 1440665.562 707045.381 0,
+ 1440955.273 707071.326 0, 1441244.982 707097.288 0, 1441534.69 707123.268 0, 1441824.396 707149.264 0, 1442114.101 707175.278 0, 1442403.804 707201.308 0, 1442693.506 707227.356 0, 1442983.206 707253.42 0, 1443272.904 707279.502 0, 1443562.602 707305.6 0,
+ 1443852.297 707331.716 0, 1444141.991 707357.849 0, 1444431.683 707383.999 0, 1444721.374 707410.166 0, 1445011.064 707436.35 0, 1445300.752 707462.551 0, 1445590.438 707488.769 0, 1445880.123 707515.004 0, 1446168.475 707541.135 0, 1446671.292 701994.524 0,
+ 1447174.083 696448.21 0))
+
+POLYGON ((1460071.435 708821.284 0, 1459783.155 708794.338 0, 1459493.545 708767.284 0, 1459203.934 708740.248 0, 1458914.321 708713.229 0, 1458624.707 708686.226 0, 1458335.091 708659.241 0, 1458045.474 708632.273 0, 1457755.855 708605.322 0, 1457466.234 708578.388 0,
+ 1457176.612 708551.471 0, 1456886.988 708524.571 0, 1456597.363 708497.688 0, 1456307.736 708470.822 0, 1456018.108 708443.973 0, 1455728.478 708417.141 0, 1455438.846 708390.326 0, 1455149.213 708363.529 0, 1454859.578 708336.748 0, 1454569.942 708309.984 0,
+ 1454280.304 708283.238 0, 1453990.664 708256.508 0, 1453701.023 708229.796 0, 1453411.38 708203.101 0, 1453120.407 708176.3 0, 1452832.09 708149.761 0, 1452542.443 708123.117 0, 1452252.794 708096.489 0, 1451963.143 708069.879 0, 1451673.491 708043.286 0,
+ 1451383.838 708016.71 0, 1451094.183 707990.151 0, 1450804.526 707963.609 0, 1450514.867 707937.084 0, 1450225.208 707910.576 0, 1449935.546 707884.085 0, 1449645.883 707857.612 0, 1449356.219 707831.155 0, 1449066.552 707804.715 0, 1448776.885 707778.292 0,
+ 1448487.215 707751.887 0, 1448197.545 707725.498 0, 1447907.872 707699.127 0, 1447618.198 707672.772 0, 1447328.523 707646.435 0, 1447038.846 707620.115 0, 1446749.167 707593.811 0, 1446459.487 707567.525 0, 1446168.475 707541.135 0, 1445665.631 713088.041 0,
+ 1445162.761 718635.238 0, 1445453.117 718661.568 0, 1445742.144 718687.795 0, 1446031.17 718714.039 0, 1446320.194 718740.3 0, 1446609.217 718766.578 0, 1446898.237 718792.873 0, 1447187.257 718819.185 0, 1447476.275 718845.514 0, 1447765.291 718871.86 0,
+ 1448054.306 718898.223 0, 1448343.319 718924.604 0, 1448632.331 718951.001 0, 1448921.341 718977.415 0, 1449210.349 719003.846 0, 1449499.356 719030.294 0, 1449788.362 719056.759 0, 1450077.365 719083.241 0, 1450366.368 719109.741 0, 1450655.368 719136.257 0,
+ 1450944.368 719162.79 0, 1451233.365 719189.34 0, 1451522.361 719215.907 0, 1451811.356 719242.491 0, 1452099.023 719268.971 0, 1452389.34 719295.711 0, 1452678.33 719322.346 0, 1452967.318 719348.998 0, 1453256.305 719375.668 0, 1453545.29 719402.354 0,
+ 1453834.273 719429.057 0, 1454123.255 719455.778 0, 1454412.236 719482.515 0, 1454701.214 719509.269 0, 1454990.192 719536.04 0, 1455279.167 719562.829 0, 1455568.141 719589.634 0, 1455857.114 719616.456 0, 1456146.085 719643.296 0, 1456435.054 719670.152 0,
+ 1456724.022 719697.026 0, 1457012.988 719723.916 0, 1457301.952 719750.823 0, 1457590.915 719777.748 0, 1457879.877 719804.689 0, 1458168.837 719831.647 0, 1458457.795 719858.623 0, 1458746.751 719885.615 0, 1459034.382 719912.501 0, 1459552.922 714366.747 0,
+ 1460071.435 708821.284 0))
+
+POLYGON ((1472902.338 721228.949 0, 1472614.783 721201.25 0, 1472325.904 721173.442 0, 1472037.023 721145.65 0, 1471748.14 721117.875 0, 1471459.256 721090.118 0, 1471170.37 721062.377 0, 1470881.483 721034.653 0, 1470592.594 721006.947 0, 1470303.703 720979.257 0,
+ 1470014.811 720951.584 0, 1469725.917 720923.929 0, 1469437.022 720896.29 0, 1469148.124 720868.669 0, 1468859.226 720841.064 0, 1468570.325 720813.476 0, 1468281.423 720785.906 0, 1467992.519 720758.352 0, 1467703.614 720730.815 0, 1467414.707 720703.296 0,
+ 1467125.799 720675.793 0, 1466836.889 720648.308 0, 1466547.977 720620.839 0, 1466259.063 720593.387 0, 1465968.825 720565.827 0, 1465681.232 720538.535 0, 1465392.314 720511.135 0, 1465103.394 720483.751 0, 1464814.472 720456.385 0, 1464525.549 720429.035 0,
+ 1464236.625 720401.703 0, 1463947.698 720374.387 0, 1463658.77 720347.088 0, 1463369.841 720319.807 0, 1463080.91 720292.542 0, 1462791.977 720265.295 0, 1462503.043 720238.064 0, 1462214.107 720210.851 0, 1461925.169 720183.654 0, 1461636.23 720156.475 0,
+ 1461347.29 720129.312 0, 1461058.347 720102.167 0, 1460769.403 720075.038 0, 1460480.458 720047.927 0, 1460191.511 720020.832 0, 1459902.562 719993.755 0, 1459613.612 719966.695 0, 1459324.66 719939.651 0, 1459034.382 719912.501 0, 1458515.815 725458.542 0,
+ 1457997.221 731004.868 0, 1458286.844 731031.957 0, 1458575.143 731058.939 0, 1458863.44 731085.939 0, 1459151.736 731112.955 0, 1459440.03 731139.988 0, 1459728.323 731167.038 0, 1460016.614 731194.105 0, 1460304.903 731221.19 0, 1460593.191 731248.291 0,
+ 1460881.477 731275.409 0, 1461169.762 731302.544 0, 1461458.045 731329.696 0, 1461746.327 731356.865 0, 1462034.607 731384.051 0, 1462322.885 731411.254 0, 1462611.161 731438.474 0, 1462899.437 731465.71 0, 1463187.71 731492.964 0, 1463475.982 731520.235 0,
+ 1463764.252 731547.523 0, 1464052.521 731574.828 0, 1464340.788 731602.149 0, 1464629.053 731629.488 0, 1464915.996 731656.718 0, 1465205.579 731684.216 0, 1465493.84 731711.606 0, 1465782.099 731739.012 0, 1466070.356 731766.436 0, 1466358.612 731793.876 0,
+ 1466646.866 731821.334 0, 1466935.119 731848.808 0, 1467223.37 731876.299 0, 1467511.619 731903.808 0, 1467799.866 731931.333 0, 1468088.113 731958.875 0, 1468376.357 731986.434 0, 1468664.6 732014.011 0, 1468952.841 732041.604 0, 1469241.081 732069.214 0,
+ 1469529.318 732096.841 0, 1469817.555 732124.485 0, 1470105.789 732152.146 0, 1470394.022 732179.824 0, 1470682.254 732207.519 0, 1470970.484 732235.231 0, 1471258.712 732262.96 0, 1471546.938 732290.706 0, 1471833.844 732318.341 0, 1472368.105 726773.503 0,
+ 1472902.338 721228.949 0))
+
+POLYGON ((1485666.701 733670.9 0, 1485379.872 733642.454 0, 1485091.725 733613.894 0, 1484803.576 733585.351 0, 1484515.426 733556.825 0, 1484227.274 733528.316 0, 1483939.12 733499.823 0, 1483650.965 733471.348 0, 1483362.808 733442.89 0, 1483074.649 733414.449 0,
+ 1482786.489 733386.024 0, 1482498.327 733357.617 0, 1482210.163 733329.227 0, 1481921.998 733300.853 0, 1481633.83 733272.497 0, 1481345.662 733244.157 0, 1481057.491 733215.834 0, 1480769.319 733187.529 0, 1480481.145 733159.24 0, 1480192.97 733130.969 0,
+ 1479904.793 733102.714 0, 1479616.614 733074.476 0, 1479328.434 733046.255 0, 1479040.252 733018.051 0, 1478750.75 732989.736 0, 1478463.883 732961.695 0, 1478175.696 732933.542 0, 1477887.507 732905.406 0, 1477599.317 732877.287 0, 1477311.124 732849.185 0,
+ 1477022.931 732821.099 0, 1476734.736 732793.031 0, 1476446.539 732764.98 0, 1476158.34 732736.946 0, 1475870.14 732708.929 0, 1475581.938 732680.928 0, 1475293.734 732652.945 0, 1475005.529 732624.979 0, 1474717.322 732597.029 0, 1474429.114 732569.097 0,
+ 1474140.903 732541.181 0, 1473852.692 732513.283 0, 1473564.478 732485.401 0, 1473276.263 732457.537 0, 1472988.046 732429.689 0, 1472699.828 732401.859 0, 1472411.608 732374.045 0, 1472123.387 732346.248 0, 1471833.844 732318.341 0, 1471299.556 737863.46 0,
+ 1470765.242 743408.856 0, 1471054.128 743436.7 0, 1471341.697 743464.434 0, 1471629.264 743492.184 0, 1471916.83 743519.952 0, 1472204.394 743547.737 0, 1472491.956 743575.538 0, 1472779.517 743603.357 0, 1473067.076 743631.192 0, 1473354.633 743659.044 0,
+ 1473642.189 743686.913 0, 1473929.743 743714.799 0, 1474217.296 743742.702 0, 1474504.847 743770.622 0, 1474792.396 743798.559 0, 1475079.943 743826.513 0, 1475367.489 743854.484 0, 1475655.034 743882.471 0, 1475942.576 743910.476 0, 1476230.117 743938.497 0,
+ 1476517.657 743966.536 0, 1476805.194 743994.591 0, 1477092.73 744022.663 0, 1477380.265 744050.753 0, 1477666.482 744078.73 0, 1477955.328 744106.982 0, 1478242.858 744135.122 0, 1478530.386 744163.279 0, 1478817.912 744191.452 0, 1479105.436 744219.643 0,
+ 1479392.959 744247.851 0, 1479680.48 744276.075 0, 1479967.999 744304.317 0, 1480255.517 744332.575 0, 1480543.033 744360.851 0, 1480830.548 744389.143 0, 1481118.06 744417.452 0, 1481405.572 744445.778 0, 1481693.081 744474.121 0, 1481980.589 744502.481 0,
+ 1482268.095 744530.858 0, 1482555.599 744559.252 0, 1482843.102 744587.663 0, 1483130.603 744616.09 0, 1483418.103 744644.535 0, 1483705.6 744672.996 0, 1483993.096 744701.475 0, 1484280.591 744729.97 0, 1484566.77 744758.352 0, 1485116.749 739214.488 0,
+ 1485666.701 733670.9 0))
+
+POLYGON ((1498364.43 746146.834 0, 1498078.331 746117.644 0, 1497790.918 746088.336 0, 1497503.503 746059.046 0, 1497216.087 746029.772 0, 1496928.669 746000.515 0, 1496641.25 745971.276 0, 1496353.828 745942.053 0, 1496066.405 745912.847 0, 1495778.98 745883.658 0,
+ 1495491.554 745854.486 0, 1495204.126 745825.331 0, 1494916.696 745796.192 0, 1494629.264 745767.071 0, 1494341.831 745737.967 0, 1494054.396 745708.879 0, 1493766.959 745679.808 0, 1493479.52 745650.755 0, 1493192.08 745621.718 0, 1492904.638 745592.698 0,
+ 1492617.195 745563.695 0, 1492329.749 745534.709 0, 1492042.302 745505.74 0, 1491754.853 745476.788 0, 1491466.091 745447.721 0, 1491179.951 745418.934 0, 1490892.497 745390.033 0, 1490605.041 745361.148 0, 1490317.584 745332.281 0, 1490030.125 745303.43 0,
+ 1489742.665 745274.596 0, 1489455.202 745245.78 0, 1489167.738 745216.98 0, 1488880.272 745188.197 0, 1488592.805 745159.431 0, 1488305.336 745130.682 0, 1488017.865 745101.949 0, 1487730.392 745073.234 0, 1487442.918 745044.536 0, 1487155.442 745015.854 0,
+ 1486867.965 744987.19 0, 1486580.486 744958.542 0, 1486293.005 744929.911 0, 1486005.522 744901.298 0, 1485718.038 744872.701 0, 1485430.552 744844.121 0, 1485143.064 744815.558 0, 1484855.575 744787.012 0, 1484566.77 744758.352 0, 1484016.764 750302.49 0,
+ 1483466.73 755846.899 0, 1483754.88 755875.493 0, 1484041.716 755903.974 0, 1484328.551 755932.472 0, 1484615.385 755960.988 0, 1484902.216 755989.519 0, 1485189.046 756018.068 0, 1485475.875 756046.634 0, 1485762.701 756075.217 0, 1486049.526 756103.816 0,
+ 1486336.35 756132.432 0, 1486623.171 756161.066 0, 1486909.991 756189.716 0, 1487196.809 756218.383 0, 1487483.626 756247.067 0, 1487770.441 756275.767 0, 1488057.254 756304.485 0, 1488344.065 756333.22 0, 1488630.875 756361.971 0, 1488917.683 756390.739 0,
+ 1489204.489 756419.524 0, 1489491.294 756448.326 0, 1489778.097 756477.145 0, 1490064.898 756505.981 0, 1490350.389 756534.702 0, 1490638.496 756563.703 0, 1490925.292 756592.59 0, 1491212.087 756621.493 0, 1491498.879 756650.413 0, 1491785.671 756679.35 0,
+ 1492072.46 756708.304 0, 1492359.248 756737.275 0, 1492646.034 756766.263 0, 1492932.818 756795.268 0, 1493219.6 756824.289 0, 1493506.381 756853.327 0, 1493793.16 756882.383 0, 1494079.938 756911.455 0, 1494366.714 756940.544 0, 1494653.488 756969.65 0,
+ 1494940.26 756998.772 0, 1495227.03 757027.912 0, 1495513.799 757057.069 0, 1495800.566 757086.242 0, 1496087.332 757115.432 0, 1496374.096 757144.639 0, 1496660.858 757173.864 0, 1496947.618 757203.104 0, 1497233.068 757232.229 0, 1497798.763 751689.396 0,
+ 1498364.43 746146.834 0))
+
+POLYGON ((1510995.437 758656.446 0, 1510710.068 758626.515 0, 1510423.392 758596.464 0, 1510136.713 758566.43 0, 1509850.033 758536.413 0, 1509563.352 758506.412 0, 1509276.668 758476.429 0, 1508989.983 758446.462 0, 1508703.295 758416.513 0, 1508416.607 758386.58 0,
+ 1508129.916 758356.664 0, 1507843.224 758326.765 0, 1507556.529 758296.883 0, 1507269.834 758267.017 0, 1506983.136 758237.169 0, 1506696.436 758207.337 0, 1506409.735 758177.522 0, 1506123.032 758147.725 0, 1505836.328 758117.944 0, 1505549.621 758088.18 0,
+ 1505262.913 758058.432 0, 1504976.203 758028.702 0, 1504689.491 757998.989 0, 1504402.778 757969.292 0, 1504114.756 757939.477 0, 1503829.346 757909.949 0, 1503542.627 757880.304 0, 1503255.907 757850.674 0, 1502969.184 757821.062 0, 1502682.461 757791.467 0,
+ 1502395.735 757761.888 0, 1502109.008 757732.327 0, 1501822.278 757702.782 0, 1501535.547 757673.254 0, 1501248.815 757643.743 0, 1500962.081 757614.249 0, 1500675.344 757584.772 0, 1500388.607 757555.312 0, 1500101.867 757525.868 0, 1499815.126 757496.442 0,
+ 1499528.383 757467.032 0, 1499241.638 757437.639 0, 1498954.892 757408.263 0, 1498668.143 757378.904 0, 1498381.393 757349.562 0, 1498094.642 757320.237 0, 1497807.888 757290.928 0, 1497521.133 757261.637 0, 1497233.068 757232.229 0, 1496667.346 762775.328 0,
+ 1496101.597 768318.69 0, 1496389.007 768348.031 0, 1496675.109 768377.256 0, 1496961.21 768406.498 0, 1497247.309 768435.756 0, 1497533.407 768465.032 0, 1497819.502 768494.324 0, 1498105.596 768523.633 0, 1498391.689 768552.959 0, 1498677.779 768582.302 0,
+ 1498963.868 768611.661 0, 1499249.955 768641.038 0, 1499536.04 768670.431 0, 1499822.124 768699.841 0, 1500108.206 768729.268 0, 1500394.286 768758.712 0, 1500680.364 768788.172 0, 1500966.441 768817.65 0, 1501252.516 768847.144 0, 1501538.589 768876.655 0,
+ 1501824.661 768906.183 0, 1502110.73 768935.728 0, 1502396.798 768965.29 0, 1502682.865 768994.868 0, 1502967.625 769024.329 0, 1503254.992 769054.076 0, 1503541.053 769083.705 0, 1503827.112 769113.351 0, 1504113.17 769143.013 0, 1504399.226 769172.693 0,
+ 1504685.28 769202.389 0, 1504971.332 769232.102 0, 1505257.382 769261.832 0, 1505543.431 769291.579 0, 1505829.478 769321.343 0, 1506115.523 769351.124 0, 1506401.567 769380.921 0, 1506687.609 769410.735 0, 1506973.649 769440.566 0, 1507259.687 769470.414 0,
+ 1507545.724 769500.279 0, 1507831.758 769530.16 0, 1508117.791 769560.059 0, 1508403.823 769589.974 0, 1508689.852 769619.906 0, 1508975.88 769649.855 0, 1509261.906 769679.821 0, 1509547.93 769709.803 0, 1509832.65 769739.666 0, 1510414.057 764197.924 0,
+ 1510995.437 758656.446 0))
+
+POLYGON ((1523559.633 771199.429 0, 1523274.996 771168.762 0, 1522989.058 771137.971 0, 1522703.118 771107.198 0, 1522417.176 771076.441 0, 1522131.232 771045.701 0, 1521845.286 771014.978 0, 1521559.339 770984.271 0, 1521273.39 770953.582 0, 1520987.439 770922.909 0,
+ 1520701.486 770892.253 0, 1520415.531 770861.614 0, 1520129.575 770830.992 0, 1519843.617 770800.386 0, 1519557.657 770769.798 0, 1519271.695 770739.226 0, 1518985.731 770708.671 0, 1518699.766 770678.133 0, 1518413.799 770647.612 0, 1518127.83 770617.108 0,
+ 1517841.859 770586.62 0, 1517555.886 770556.149 0, 1517269.912 770525.695 0, 1516983.936 770495.258 0, 1516696.657 770464.7 0, 1516411.978 770434.435 0, 1516125.997 770404.048 0, 1515840.013 770373.678 0, 1515554.028 770343.326 0, 1515268.041 770312.99 0,
+ 1514982.053 770282.67 0, 1514696.062 770252.368 0, 1514410.07 770222.082 0, 1514124.076 770191.814 0, 1513838.08 770161.562 0, 1513552.082 770131.327 0, 1513266.083 770101.108 0, 1512980.082 770070.907 0, 1512694.079 770040.722 0, 1512408.074 770010.555 0,
+ 1512122.068 769980.404 0, 1511836.06 769950.27 0, 1511550.05 769920.152 0, 1511264.038 769890.052 0, 1510978.024 769859.968 0, 1510692.009 769829.902 0, 1510405.992 769799.852 0, 1510119.973 769769.819 0, 1509832.65 769739.666 0, 1509251.215 775281.667 0,
+ 1508669.753 780823.924 0, 1508956.421 780854.009 0, 1509241.787 780883.973 0, 1509527.152 780913.954 0, 1509812.515 780943.953 0, 1510097.876 780973.968 0, 1510383.236 781003.999 0, 1510668.593 781034.048 0, 1510953.949 781064.113 0, 1511239.303 781094.195 0,
+ 1511524.656 781124.294 0, 1511810.006 781154.41 0, 1512095.355 781184.542 0, 1512380.702 781214.692 0, 1512666.047 781244.858 0, 1512951.391 781275.041 0, 1513236.732 781305.241 0, 1513522.072 781335.457 0, 1513807.41 781365.69 0, 1514092.747 781395.94 0,
+ 1514378.081 781426.207 0, 1514663.414 781456.491 0, 1514948.745 781486.791 0, 1515234.074 781517.109 0, 1515518.104 781547.305 0, 1515804.728 781577.794 0, 1516090.051 781608.161 0, 1516375.374 781638.546 0, 1516660.694 781668.947 0, 1516946.012 781699.365 0,
+ 1517231.329 781729.8 0, 1517516.644 781760.251 0, 1517801.957 781790.72 0, 1518087.268 781821.205 0, 1518372.578 781851.707 0, 1518657.886 781882.226 0, 1518943.192 781912.761 0, 1519228.496 781943.314 0, 1519513.798 781973.883 0, 1519799.099 782004.469 0,
+ 1520084.397 782035.071 0, 1520369.694 782065.691 0, 1520654.99 782096.327 0, 1520940.283 782126.98 0, 1521225.574 782157.65 0, 1521510.864 782188.337 0, 1521796.152 782219.04 0, 1522081.438 782249.761 0, 1522365.426 782280.358 0, 1522962.543 776739.766 0,
+ 1523559.633 771199.429 0))
+
+POLYGON ((1536056.929 783775.479 0, 1535773.027 783744.079 0, 1535487.829 783712.553 0, 1535202.629 783681.043 0, 1534917.427 783649.551 0, 1534632.223 783618.075 0, 1534347.017 783586.616 0, 1534061.81 783555.174 0, 1533776.601 783523.748 0, 1533491.39 783492.34 0,
+ 1533206.177 783460.948 0, 1532920.962 783429.573 0, 1532635.745 783398.214 0, 1532350.526 783366.873 0, 1532065.306 783335.548 0, 1531780.084 783304.24 0, 1531494.86 783272.949 0, 1531209.634 783241.675 0, 1530924.406 783210.417 0, 1530639.176 783179.177 0,
+ 1530353.945 783147.953 0, 1530068.712 783116.745 0, 1529783.477 783085.555 0, 1529498.24 783054.381 0, 1529211.705 783023.083 0, 1528927.76 782992.085 0, 1528642.518 782960.961 0, 1528357.274 782929.855 0, 1528072.028 782898.765 0, 1527786.78 782867.692 0,
+ 1527501.53 782836.636 0, 1527216.278 782805.597 0, 1526931.025 782774.574 0, 1526645.77 782743.569 0, 1526360.512 782712.58 0, 1526075.254 782681.608 0, 1525789.993 782650.652 0, 1525504.73 782619.714 0, 1525219.466 782588.792 0, 1524934.2 782557.887 0,
+ 1524648.932 782526.999 0, 1524363.662 782496.127 0, 1524078.39 782465.273 0, 1523793.117 782434.435 0, 1523507.842 782403.614 0, 1523222.565 782372.81 0, 1522937.286 782342.022 0, 1522652.005 782311.252 0, 1522365.426 782280.358 0, 1521768.281 787821.203 0,
+ 1521171.11 793362.297 0, 1521457.034 793393.12 0, 1521741.662 793423.82 0, 1522026.289 793454.537 0, 1522310.914 793485.271 0, 1522595.537 793516.022 0, 1522880.158 793546.789 0, 1523164.777 793577.573 0, 1523449.395 793608.374 0, 1523734.011 793639.191 0,
+ 1524018.625 793670.026 0, 1524303.237 793700.877 0, 1524587.847 793731.745 0, 1524872.456 793762.629 0, 1525157.062 793793.531 0, 1525441.667 793824.449 0, 1525726.27 793855.383 0, 1526010.871 793886.335 0, 1526295.471 793917.303 0, 1526580.068 793948.288 0,
+ 1526864.664 793979.29 0, 1527149.258 794010.309 0, 1527433.85 794041.344 0, 1527718.44 794072.396 0, 1528001.736 794103.324 0, 1528287.616 794134.551 0, 1528572.2 794165.653 0, 1528856.783 794196.772 0, 1529141.364 794227.908 0, 1529425.944 794259.061 0,
+ 1529710.521 794290.23 0, 1529995.097 794321.416 0, 1530279.671 794352.619 0, 1530564.242 794383.838 0, 1530848.813 794415.075 0, 1531133.381 794446.328 0, 1531417.947 794477.598 0, 1531702.512 794508.884 0, 1531987.075 794540.188 0, 1532271.636 794571.508 0,
+ 1532556.195 794602.844 0, 1532840.752 794634.198 0, 1533125.307 794665.568 0, 1533409.861 794696.955 0, 1533694.412 794728.359 0, 1533978.962 794759.78 0, 1534263.51 794791.217 0, 1534548.056 794822.671 0, 1534831.309 794853.999 0, 1535444.133 789314.614 0,
+ 1536056.929 783775.479 0))
+
+POLYGON ((1548487.24 796384.288 0, 1548204.075 796352.159 0, 1547919.618 796319.902 0, 1547635.16 796287.661 0, 1547350.7 796255.436 0, 1547066.239 796223.229 0, 1546781.775 796191.038 0, 1546497.309 796158.864 0, 1546212.842 796126.706 0, 1545928.372 796094.566 0,
+ 1545643.901 796062.442 0, 1545359.428 796030.335 0, 1545074.953 795998.244 0, 1544790.476 795966.171 0, 1544505.997 795934.114 0, 1544221.516 795902.073 0, 1543937.034 795870.05 0, 1543652.549 795838.043 0, 1543368.063 795806.053 0, 1543083.575 795774.08 0,
+ 1542799.084 795742.124 0, 1542514.592 795710.184 0, 1542230.099 795678.261 0, 1541945.603 795646.355 0, 1541659.815 795614.321 0, 1541376.606 795582.593 0, 1541092.104 795550.737 0, 1540807.601 795518.897 0, 1540523.096 795487.075 0, 1540238.589 795455.269 0,
+ 1539954.08 795423.48 0, 1539669.569 795391.708 0, 1539385.056 795359.953 0, 1539100.542 795328.214 0, 1538816.025 795296.492 0, 1538531.507 795264.786 0, 1538246.987 795233.098 0, 1537962.465 795201.426 0, 1537677.941 795169.771 0, 1537393.416 795138.133 0,
+ 1537108.888 795106.511 0, 1536824.359 795074.907 0, 1536539.827 795043.319 0, 1536255.294 795011.747 0, 1535970.759 794980.193 0, 1535686.222 794948.655 0, 1535401.684 794917.134 0, 1535117.143 794885.63 0, 1534831.309 794853.999 0, 1534218.458 800393.629 0,
+ 1533605.581 805933.501 0, 1533890.76 805965.059 0, 1534174.648 805996.491 0, 1534458.535 806027.94 0, 1534742.419 806059.405 0, 1535026.302 806090.888 0, 1535310.183 806122.387 0, 1535594.063 806153.902 0, 1535877.94 806185.435 0, 1536161.815 806216.984 0,
+ 1536445.689 806248.549 0, 1536729.561 806280.132 0, 1537013.431 806311.731 0, 1537297.299 806343.347 0, 1537581.165 806374.98 0, 1537865.029 806406.629 0, 1538148.892 806438.295 0, 1538432.752 806469.978 0, 1538716.611 806501.677 0, 1539000.468 806533.393 0,
+ 1539284.323 806565.126 0, 1539568.176 806596.876 0, 1539852.027 806628.642 0, 1540135.877 806660.425 0, 1540418.437 806692.08 0, 1540703.57 806724.041 0, 1540987.414 806755.874 0, 1541271.256 806787.724 0, 1541555.096 806819.59 0, 1541838.934 806851.474 0,
+ 1542122.77 806883.374 0, 1542406.604 806915.29 0, 1542690.437 806947.223 0, 1542974.268 806979.174 0, 1543258.096 807011.14 0, 1543541.923 807043.124 0, 1543825.748 807075.124 0, 1544109.571 807107.141 0, 1544393.392 807139.174 0, 1544677.212 807171.225 0,
+ 1544961.029 807203.292 0, 1545244.845 807235.375 0, 1545528.659 807267.476 0, 1545812.47 807299.593 0, 1546096.28 807331.726 0, 1546380.088 807363.877 0, 1546663.894 807396.044 0, 1546947.698 807428.228 0, 1547230.215 807460.283 0, 1547858.741 801922.164 0,
+ 1548487.24 796384.288 0))
+
+POLYGON ((1560850.481 809025.55 0, 1560568.054 808992.697 0, 1560284.342 808959.712 0, 1560000.628 808926.743 0, 1559716.912 808893.791 0, 1559433.194 808860.855 0, 1559149.474 808827.936 0, 1558865.752 808795.034 0, 1558582.028 808762.149 0, 1558298.303 808729.28 0,
+ 1558014.575 808696.428 0, 1557730.845 808663.593 0, 1557447.114 808630.774 0, 1557163.38 808597.973 0, 1556879.645 808565.187 0, 1556595.908 808532.419 0, 1556312.169 808499.667 0, 1556028.427 808466.932 0, 1555744.684 808434.214 0, 1555460.939 808401.512 0,
+ 1555177.192 808368.827 0, 1554893.444 808336.159 0, 1554609.693 808303.507 0, 1554325.94 808270.872 0, 1554040.901 808238.106 0, 1553758.429 808205.653 0, 1553474.67 808173.068 0, 1553190.91 808140.5 0, 1552907.148 808107.948 0, 1552623.383 808075.414 0,
+ 1552339.617 808042.896 0, 1552055.849 808010.395 0, 1551772.079 807977.91 0, 1551488.307 807945.442 0, 1551204.534 807912.991 0, 1550920.758 807880.557 0, 1550636.98 807848.139 0, 1550353.201 807815.738 0, 1550069.42 807783.353 0, 1549785.636 807750.986 0,
+ 1549501.851 807718.635 0, 1549218.064 807686.301 0, 1548934.275 807653.983 0, 1548650.484 807621.682 0, 1548366.691 807589.398 0, 1548082.896 807557.131 0, 1547799.1 807524.88 0, 1547515.301 807492.646 0, 1547230.215 807460.283 0, 1546601.662 812998.639 0,
+ 1545973.082 818537.23 0, 1546257.513 818569.519 0, 1546540.66 818601.679 0, 1546823.804 818633.856 0, 1547106.947 818666.049 0, 1547390.088 818698.259 0, 1547673.227 818730.486 0, 1547956.364 818762.729 0, 1548239.499 818794.989 0, 1548522.633 818827.266 0,
+ 1548805.764 818859.559 0, 1549088.893 818891.869 0, 1549372.021 818924.195 0, 1549655.147 818956.539 0, 1549938.271 818988.899 0, 1550221.392 819021.275 0, 1550504.512 819053.669 0, 1550787.63 819086.078 0, 1551070.747 819118.505 0, 1551353.861 819150.948 0,
+ 1551636.973 819183.408 0, 1551920.084 819215.885 0, 1552203.192 819248.378 0, 1552486.299 819280.888 0, 1552768.122 819313.267 0, 1553052.506 819345.958 0, 1553335.607 819378.518 0, 1553618.706 819411.094 0, 1553901.803 819443.688 0, 1554184.898 819476.297 0,
+ 1554467.991 819508.924 0, 1554751.082 819541.567 0, 1555034.172 819574.227 0, 1555317.259 819606.904 0, 1555600.345 819639.597 0, 1555883.428 819672.307 0, 1556166.51 819705.033 0, 1556449.59 819737.776 0, 1556732.667 819770.536 0, 1557015.743 819803.313 0,
+ 1557298.817 819836.106 0, 1557581.889 819868.916 0, 1557864.959 819901.742 0, 1558148.027 819934.585 0, 1558431.094 819967.445 0, 1558714.158 820000.322 0, 1558997.22 820033.215 0, 1559280.281 820066.125 0, 1559562.059 820098.902 0, 1560206.283 814562.109 0,
+ 1560850.481 809025.55 0))
+
+POLYGON ((1573146.569 821698.959 0, 1572864.883 821665.385 0, 1572581.916 821631.676 0, 1572298.948 821597.983 0, 1572015.978 821564.307 0, 1571733.006 821530.648 0, 1571450.031 821497.005 0, 1571167.055 821463.379 0, 1570884.077 821429.769 0, 1570601.097 821396.177 0,
+ 1570318.115 821362.601 0, 1570035.131 821329.041 0, 1569752.145 821295.498 0, 1569469.157 821261.972 0, 1569186.167 821228.463 0, 1568903.175 821194.97 0, 1568620.181 821161.494 0, 1568337.185 821128.034 0, 1568054.187 821094.591 0, 1567771.187 821061.165 0,
+ 1567488.185 821027.755 0, 1567205.181 820994.363 0, 1566922.175 820960.986 0, 1566639.168 820927.627 0, 1566354.879 820894.133 0, 1566073.146 820860.958 0, 1565790.133 820827.648 0, 1565507.117 820794.355 0, 1565224.1 820761.079 0, 1564941.08 820727.819 0,
+ 1564658.059 820694.576 0, 1564375.035 820661.35 0, 1564092.01 820628.14 0, 1563808.983 820594.947 0, 1563525.953 820561.771 0, 1563242.922 820528.611 0, 1562959.889 820495.468 0, 1562676.854 820462.342 0, 1562393.817 820429.232 0, 1562110.778 820396.139 0,
+ 1561827.737 820363.062 0, 1561544.694 820330.003 0, 1561261.649 820296.96 0, 1560978.602 820263.933 0, 1560695.553 820230.923 0, 1560412.503 820197.93 0, 1560129.45 820164.954 0, 1559846.395 820131.994 0, 1559562.059 820098.902 0, 1558917.807 825635.926 0,
+ 1558273.529 831173.178 0, 1558557.211 831206.194 0, 1558839.614 831239.077 0, 1559122.014 831271.978 0, 1559404.413 831304.895 0, 1559686.81 831337.829 0, 1559969.205 831370.779 0, 1560251.598 831403.746 0, 1560533.989 831436.73 0, 1560816.379 831469.73 0,
+ 1561098.766 831502.747 0, 1561381.151 831535.78 0, 1561663.535 831568.83 0, 1561945.916 831601.897 0, 1562228.295 831634.98 0, 1562510.673 831668.08 0, 1562793.049 831701.197 0, 1563075.422 831734.33 0, 1563357.794 831767.48 0, 1563640.164 831800.646 0,
+ 1563922.531 831833.829 0, 1564204.897 831867.029 0, 1564487.261 831900.245 0, 1564769.623 831933.478 0, 1565050.707 831966.578 0, 1565334.341 831999.994 0, 1565616.697 832033.277 0, 1565899.051 832066.576 0, 1566181.403 832099.892 0, 1566463.753 832133.225 0,
+ 1566746.102 832166.574 0, 1567028.448 832199.94 0, 1567310.792 832233.322 0, 1567593.134 832266.721 0, 1567875.475 832300.137 0, 1568157.813 832333.57 0, 1568440.149 832367.018 0, 1568722.484 832400.484 0, 1569004.816 832433.966 0, 1569287.147 832467.465 0,
+ 1569569.475 832500.98 0, 1569851.802 832534.512 0, 1570134.126 832568.061 0, 1570416.449 832601.626 0, 1570698.77 832635.208 0, 1570981.088 832668.807 0, 1571263.405 832702.422 0, 1571545.72 832736.054 0, 1571826.757 832769.55 0, 1572486.677 827234.141 0,
+ 1573146.569 821698.959 0))
+
+POLYGON ((1088667.618 398972.859 0, 1088361.249 398967.674 0, 1088053.404 398962.482 0, 1087745.559 398957.309 0, 1087437.714 398952.153 0, 1087129.868 398947.016 0, 1086822.023 398941.897 0, 1086514.177 398936.795 0, 1086206.33 398931.712 0, 1085898.483 398926.648 0,
+ 1085590.636 398921.601 0, 1085282.789 398916.572 0, 1084974.942 398911.562 0, 1084667.094 398906.569 0, 1084359.245 398901.595 0, 1084051.397 398896.639 0, 1083743.548 398891.701 0, 1083435.699 398886.781 0, 1083127.85 398881.879 0, 1082820 398876.995 0,
+ 1082512.15 398872.13 0, 1082204.3 398867.282 0, 1081896.45 398862.453 0, 1081588.599 398857.642 0, 1081279.271 398852.826 0, 1080972.896 398848.074 0, 1080665.045 398843.317 0, 1080357.193 398838.578 0, 1080049.341 398833.858 0, 1079741.488 398829.155 0,
+ 1079433.636 398824.471 0, 1079125.783 398819.805 0, 1078817.929 398815.156 0, 1078510.076 398810.526 0, 1078202.222 398805.915 0, 1077894.368 398801.321 0, 1077586.513 398796.745 0, 1077278.659 398792.188 0, 1076970.804 398787.648 0, 1076662.949 398783.127 0,
+ 1076355.093 398778.624 0, 1076047.238 398774.139 0, 1075739.382 398769.672 0, 1075431.525 398765.223 0, 1075123.669 398760.792 0, 1074815.812 398756.38 0, 1074507.955 398751.985 0, 1074200.098 398747.609 0, 1073890.763 398743.23 0, 1073812.366 404292.675 0,
+ 1073733.964 409842.575 0, 1074042.643 409846.945 0, 1074349.846 409851.312 0, 1074657.05 409855.697 0, 1074964.254 409860.101 0, 1075271.457 409864.522 0, 1075578.66 409868.961 0, 1075885.862 409873.419 0, 1076193.065 409877.894 0, 1076500.267 409882.388 0,
+ 1076807.469 409886.9 0, 1077114.671 409891.429 0, 1077421.872 409895.977 0, 1077729.073 409900.543 0, 1078036.274 409905.127 0, 1078343.474 409909.729 0, 1078650.675 409914.349 0, 1078957.875 409918.988 0, 1079265.074 409923.644 0, 1079572.274 409928.318 0,
+ 1079879.473 409933.011 0, 1080186.672 409937.722 0, 1080493.871 409942.45 0, 1080801.069 409947.197 0, 1081106.794 409951.939 0, 1081415.465 409956.745 0, 1081722.662 409961.546 0, 1082029.859 409966.365 0, 1082337.056 409971.202 0, 1082644.253 409976.057 0,
+ 1082951.449 409980.93 0, 1083258.646 409985.822 0, 1083565.841 409990.731 0, 1083873.037 409995.659 0, 1084180.232 410000.605 0, 1084487.427 410005.568 0, 1084794.622 410010.55 0, 1085101.816 410015.55 0, 1085409.01 410020.568 0, 1085716.204 410025.604 0,
+ 1086023.397 410030.658 0, 1086330.59 410035.73 0, 1086637.783 410040.821 0, 1086944.976 410045.929 0, 1087252.168 410051.055 0, 1087559.36 410056.2 0, 1087866.551 410061.363 0, 1088173.743 410066.543 0, 1088479.462 410071.717 0, 1088573.544 404522.06 0,
+ 1088667.618 398972.859 0))
+
+POLYGON ((1103224.253 410342.516 0, 1102918.548 410336.479 0, 1102611.373 410330.43 0, 1102304.197 410324.4 0, 1101997.021 410318.388 0, 1101689.844 410312.393 0, 1101382.667 410306.417 0, 1101075.49 410300.459 0, 1100768.312 410294.519 0, 1100461.134 410288.597 0,
+ 1100153.956 410282.693 0, 1099846.777 410276.807 0, 1099539.598 410270.939 0, 1099232.419 410265.09 0, 1098925.239 410259.258 0, 1098618.059 410253.445 0, 1098310.879 410247.649 0, 1098003.698 410241.872 0, 1097696.517 410236.113 0, 1097389.336 410230.371 0,
+ 1097082.154 410224.648 0, 1096774.972 410218.943 0, 1096467.79 410213.256 0, 1096160.607 410207.587 0, 1095851.953 410201.91 0, 1095546.241 410196.304 0, 1095239.057 410190.689 0, 1094931.873 410185.093 0, 1094624.689 410179.514 0, 1094317.504 410173.954 0,
+ 1094010.319 410168.412 0, 1093703.134 410162.887 0, 1093395.948 410157.381 0, 1093088.762 410151.893 0, 1092781.576 410146.423 0, 1092474.389 410140.971 0, 1092167.202 410135.538 0, 1091860.015 410130.122 0, 1091552.827 410124.724 0, 1091245.639 410119.345 0,
+ 1090938.451 410113.983 0, 1090631.262 410108.64 0, 1090324.074 410103.314 0, 1090016.884 410098.007 0, 1089709.695 410092.718 0, 1089402.505 410087.447 0, 1089095.315 410082.194 0, 1088788.125 410076.959 0, 1088479.462 410071.717 0, 1088385.372 415621.827 0,
+ 1088291.275 421172.388 0, 1088599.281 421177.619 0, 1088905.818 421182.843 0, 1089212.355 421188.084 0, 1089518.892 421193.344 0, 1089825.428 421198.622 0, 1090131.963 421203.918 0, 1090438.499 421209.232 0, 1090745.034 421214.564 0, 1091051.569 421219.914 0,
+ 1091358.104 421225.283 0, 1091664.638 421230.669 0, 1091971.172 421236.073 0, 1092277.705 421241.495 0, 1092584.239 421246.935 0, 1092890.772 421252.394 0, 1093197.304 421257.87 0, 1093503.837 421263.365 0, 1093810.369 421268.877 0, 1094116.9 421274.408 0,
+ 1094423.432 421279.956 0, 1094729.963 421285.523 0, 1095036.493 421291.107 0, 1095343.024 421296.71 0, 1095648.086 421302.304 0, 1095956.083 421307.97 0, 1096262.613 421313.626 0, 1096569.142 421319.301 0, 1096875.671 421324.994 0, 1097182.199 421330.705 0,
+ 1097488.727 421336.434 0, 1097795.255 421342.181 0, 1098101.782 421347.946 0, 1098408.309 421353.729 0, 1098714.836 421359.53 0, 1099021.362 421365.35 0, 1099327.888 421371.187 0, 1099634.414 421377.042 0, 1099940.939 421382.915 0, 1100247.464 421388.807 0,
+ 1100553.988 421394.716 0, 1100860.513 421400.643 0, 1101167.037 421406.589 0, 1101473.56 421412.552 0, 1101780.083 421418.534 0, 1102086.606 421424.534 0, 1102393.129 421430.551 0, 1102699.651 421436.587 0, 1103004.706 421442.612 0, 1103114.484 415892.339 0,
+ 1103224.253 410342.516 0))
+
+POLYGON ((1117717.315 421754.402 0, 1117412.276 421747.516 0, 1117105.772 421740.614 0, 1116799.268 421733.73 0, 1116492.763 421726.865 0, 1116186.258 421720.017 0, 1115879.752 421713.188 0, 1115573.246 421706.376 0, 1115266.74 421699.583 0, 1114960.233 421692.808 0,
+ 1114653.726 421686.05 0, 1114347.219 421679.311 0, 1114040.711 421672.59 0, 1113734.203 421665.887 0, 1113427.694 421659.201 0, 1113121.185 421652.534 0, 1112814.676 421645.885 0, 1112508.166 421639.254 0, 1112201.656 421632.641 0, 1111895.145 421626.046 0,
+ 1111588.634 421619.469 0, 1111282.123 421612.911 0, 1110975.611 421606.37 0, 1110669.099 421599.847 0, 1110361.121 421593.311 0, 1110056.073 421586.855 0, 1109749.56 421580.387 0, 1109443.046 421573.936 0, 1109136.532 421567.504 0, 1108830.018 421561.089 0,
+ 1108523.503 421554.693 0, 1108216.988 421548.314 0, 1107910.472 421541.954 0, 1107603.956 421535.611 0, 1107297.44 421529.287 0, 1106990.923 421522.981 0, 1106684.406 421516.692 0, 1106377.889 421510.422 0, 1106071.371 421504.17 0, 1105764.853 421497.936 0,
+ 1105458.334 421491.72 0, 1105151.815 421485.522 0, 1104845.296 421479.342 0, 1104538.776 421473.18 0, 1104232.256 421467.036 0, 1103925.736 421460.91 0, 1103619.215 421454.802 0, 1103312.694 421448.712 0, 1103004.706 421442.612 0, 1102894.919 426993.332 0,
+ 1102785.123 432544.496 0, 1103092.455 432550.584 0, 1103398.322 432556.661 0, 1103704.19 432562.755 0, 1104010.057 432568.868 0, 1104315.923 432574.999 0, 1104621.789 432581.148 0, 1104927.655 432587.315 0, 1105233.521 432593.5 0, 1105539.386 432599.702 0,
+ 1105845.25 432605.923 0, 1106151.115 432612.162 0, 1106456.979 432618.419 0, 1106762.843 432624.694 0, 1107068.706 432630.987 0, 1107374.569 432637.297 0, 1107680.431 432643.626 0, 1107986.293 432649.973 0, 1108292.155 432656.338 0, 1108598.017 432662.721 0,
+ 1108903.878 432669.122 0, 1109209.738 432675.541 0, 1109515.598 432681.977 0, 1109821.458 432688.432 0, 1110125.856 432694.874 0, 1110433.177 432701.396 0, 1110739.036 432707.905 0, 1111044.894 432714.432 0, 1111350.752 432720.977 0, 1111656.61 432727.54 0,
+ 1111962.467 432734.121 0, 1112268.324 432740.719 0, 1112574.18 432747.336 0, 1112880.036 432753.971 0, 1113185.892 432760.624 0, 1113491.747 432767.295 0, 1113797.602 432773.984 0, 1114103.456 432780.691 0, 1114409.311 432787.416 0, 1114715.164 432794.159 0,
+ 1115021.017 432800.92 0, 1115326.87 432807.698 0, 1115632.723 432814.495 0, 1115938.575 432821.31 0, 1116244.427 432828.143 0, 1116550.278 432834.994 0, 1116856.129 432841.863 0, 1117161.979 432848.75 0, 1117466.368 432855.622 0, 1117591.847 427304.79 0,
+ 1117717.315 421754.402 0))
+
+POLYGON ((1132146.676 433208.224 0, 1131842.305 433200.492 0, 1131536.475 433192.741 0, 1131230.645 433185.008 0, 1130924.814 433177.293 0, 1130618.983 433169.596 0, 1130313.151 433161.917 0, 1130007.319 433154.256 0, 1129701.487 433146.613 0, 1129395.654 433138.988 0,
+ 1129089.821 433131.381 0, 1128783.987 433123.792 0, 1128478.152 433116.221 0, 1128172.318 433108.668 0, 1127866.482 433101.133 0, 1127560.647 433093.616 0, 1127254.811 433086.117 0, 1126948.974 433078.636 0, 1126643.137 433071.173 0, 1126337.3 433063.728 0,
+ 1126031.462 433056.301 0, 1125725.624 433048.892 0, 1125419.785 433041.501 0, 1125113.946 433034.128 0, 1124806.647 433026.738 0, 1124502.266 433019.436 0, 1124196.426 433012.118 0, 1123890.585 433004.817 0, 1123584.744 432997.534 0, 1123278.902 432990.269 0,
+ 1122973.06 432983.022 0, 1122667.217 432975.793 0, 1122361.374 432968.582 0, 1122055.531 432961.389 0, 1121749.687 432954.214 0, 1121443.843 432947.057 0, 1121137.998 432939.918 0, 1120832.153 432932.797 0, 1120526.307 432925.694 0, 1120220.461 432918.609 0,
+ 1119914.615 432911.542 0, 1119608.768 432904.493 0, 1119302.921 432897.462 0, 1118997.073 432890.449 0, 1118691.225 432883.455 0, 1118385.377 432876.478 0, 1118079.528 432869.519 0, 1117773.679 432862.578 0, 1117466.368 432855.622 0, 1117340.88 438406.895 0,
+ 1117215.382 443958.607 0, 1117522.036 443965.548 0, 1117827.231 443972.474 0, 1118132.427 443979.418 0, 1118437.622 443986.38 0, 1118742.816 443993.36 0, 1119048.01 444000.358 0, 1119353.204 444007.374 0, 1119658.397 444014.408 0, 1119963.59 444021.46 0,
+ 1120268.783 444028.53 0, 1120573.975 444035.617 0, 1120879.166 444042.723 0, 1121184.358 444049.847 0, 1121489.548 444056.989 0, 1121794.739 444064.148 0, 1122099.929 444071.326 0, 1122405.118 444078.521 0, 1122710.307 444085.735 0, 1123015.496 444092.966 0,
+ 1123320.684 444100.216 0, 1123625.872 444107.483 0, 1123931.059 444114.768 0, 1124236.246 444122.072 0, 1124539.976 444129.358 0, 1124846.619 444136.732 0, 1125151.805 444144.089 0, 1125456.99 444151.465 0, 1125762.175 444158.858 0, 1126067.359 444166.269 0,
+ 1126372.543 444173.698 0, 1126677.726 444181.145 0, 1126982.909 444188.61 0, 1127288.092 444196.093 0, 1127593.274 444203.594 0, 1127898.456 444211.113 0, 1128203.637 444218.649 0, 1128508.818 444226.204 0, 1128813.998 444233.777 0, 1129119.178 444241.368 0,
+ 1129424.358 444248.976 0, 1129729.537 444256.603 0, 1130034.715 444264.248 0, 1130339.894 444271.91 0, 1130645.071 444279.591 0, 1130950.249 444287.289 0, 1131255.425 444295.006 0, 1131560.602 444302.74 0, 1131864.322 444310.455 0, 1132005.504 438759.12 0,
+ 1132146.676 433208.224 0))
+
+POLYGON ((1146512.21 444703.688 0, 1146208.51 444695.115 0, 1145903.357 444686.518 0, 1145598.203 444677.94 0, 1145293.049 444669.379 0, 1144987.894 444660.836 0, 1144682.739 444652.312 0, 1144377.583 444643.805 0, 1144072.427 444635.316 0, 1143767.27 444626.845 0,
+ 1143462.113 444618.392 0, 1143156.955 444609.957 0, 1142851.797 444601.541 0, 1142546.638 444593.142 0, 1142241.479 444584.761 0, 1141936.319 444576.397 0, 1141631.159 444568.052 0, 1141325.998 444559.725 0, 1141020.837 444551.416 0, 1140715.675 444543.125 0,
+ 1140410.513 444534.852 0, 1140105.35 444526.596 0, 1139800.187 444518.359 0, 1139495.023 444510.139 0, 1139188.405 444501.899 0, 1138884.695 444493.755 0, 1138579.529 444485.589 0, 1138274.364 444477.442 0, 1137969.198 444469.312 0, 1137664.031 444461.2 0,
+ 1137358.864 444453.107 0, 1137053.697 444445.031 0, 1136748.529 444436.973 0, 1136443.36 444428.934 0, 1136138.191 444420.912 0, 1135833.022 444412.908 0, 1135527.852 444404.922 0, 1135222.682 444396.954 0, 1134917.511 444389.004 0, 1134612.34 444381.072 0,
+ 1134307.168 444373.158 0, 1134001.996 444365.262 0, 1133696.823 444357.384 0, 1133391.65 444349.524 0, 1133086.477 444341.682 0, 1132781.302 444333.857 0, 1132476.128 444326.051 0, 1132170.953 444318.263 0, 1131864.322 444310.455 0, 1131723.129 449862.226 0,
+ 1131581.924 455414.429 0, 1131887.898 455422.22 0, 1132192.42 455429.991 0, 1132496.941 455437.781 0, 1132801.461 455445.588 0, 1133105.981 455453.414 0, 1133410.501 455461.257 0, 1133715.02 455469.118 0, 1134019.539 455476.997 0, 1134324.057 455484.895 0,
+ 1134628.575 455492.81 0, 1134933.092 455500.742 0, 1135237.609 455508.693 0, 1135542.125 455516.662 0, 1135846.641 455524.649 0, 1136151.156 455532.653 0, 1136455.671 455540.676 0, 1136760.185 455548.716 0, 1137064.699 455556.775 0, 1137369.213 455564.851 0,
+ 1137673.726 455572.945 0, 1137978.238 455581.058 0, 1138282.75 455589.188 0, 1138587.262 455597.336 0, 1138890.322 455605.463 0, 1139196.284 455613.685 0, 1139500.794 455621.887 0, 1139805.303 455630.107 0, 1140109.813 455638.345 0, 1140414.321 455646.6 0,
+ 1140718.83 455654.874 0, 1141023.337 455663.165 0, 1141327.844 455671.474 0, 1141632.351 455679.802 0, 1141936.857 455688.147 0, 1142241.363 455696.51 0, 1142545.868 455704.891 0, 1142850.373 455713.29 0, 1143154.877 455721.707 0, 1143459.381 455730.141 0,
+ 1143763.884 455738.594 0, 1144068.387 455747.065 0, 1144372.889 455755.553 0, 1144677.391 455764.06 0, 1144981.892 455772.584 0, 1145286.393 455781.126 0, 1145590.893 455789.687 0, 1145895.393 455798.265 0, 1146198.443 455806.82 0, 1146355.332 450255.038 0,
+ 1146512.21 444703.688 0))
+
+POLYGON ((1160813.794 456240.503 0, 1160510.768 456231.092 0, 1160206.293 456221.654 0, 1159901.819 456212.233 0, 1159597.343 456202.831 0, 1159292.867 456193.446 0, 1158988.391 456184.079 0, 1158683.914 456174.73 0, 1158379.436 456165.4 0, 1158074.958 456156.087 0,
+ 1157770.479 456146.792 0, 1157466 456137.515 0, 1157161.52 456128.255 0, 1156857.04 456119.014 0, 1156552.559 456109.791 0, 1156248.077 456100.585 0, 1155943.595 456091.398 0, 1155639.113 456082.228 0, 1155334.63 456073.077 0, 1155030.146 456063.943 0,
+ 1154725.662 456054.827 0, 1154421.177 456045.729 0, 1154116.692 456036.649 0, 1153812.206 456027.587 0, 1153506.271 456018.5 0, 1153203.233 456009.517 0, 1152898.746 456000.509 0, 1152594.258 455991.518 0, 1152289.77 455982.546 0, 1151985.281 455973.591 0,
+ 1151680.791 455964.655 0, 1151376.301 455955.736 0, 1151071.811 455946.835 0, 1150767.32 455937.953 0, 1150462.828 455929.088 0, 1150158.336 455920.241 0, 1149853.844 455911.412 0, 1149549.351 455902.6 0, 1149244.857 455893.807 0, 1148940.363 455885.032 0,
+ 1148635.868 455876.275 0, 1148331.373 455867.535 0, 1148026.877 455858.814 0, 1147722.381 455850.11 0, 1147417.884 455841.424 0, 1147113.387 455832.757 0, 1146808.889 455824.107 0, 1146504.391 455815.475 0, 1146198.443 455806.82 0, 1146041.541 461359.031 0,
+ 1145884.627 466911.669 0, 1146189.918 466920.305 0, 1146493.763 466928.919 0, 1146797.607 466937.55 0, 1147101.451 466946.199 0, 1147405.294 466954.866 0, 1147709.137 466963.551 0, 1148012.979 466972.254 0, 1148316.82 466980.975 0, 1148620.661 466989.713 0,
+ 1148924.502 466998.47 0, 1149228.342 467007.244 0, 1149532.181 467016.036 0, 1149836.02 467024.846 0, 1150139.859 467033.674 0, 1150443.697 467042.52 0, 1150747.534 467051.384 0, 1151051.371 467060.266 0, 1151355.207 467069.165 0, 1151659.043 467078.083 0,
+ 1151962.879 467087.018 0, 1152266.713 467095.971 0, 1152570.548 467104.942 0, 1152874.381 467113.931 0, 1153176.769 467122.895 0, 1153482.047 467131.963 0, 1153785.88 467141.005 0, 1154089.711 467150.066 0, 1154393.542 467159.144 0, 1154697.373 467168.24 0,
+ 1155001.203 467177.354 0, 1155305.032 467186.486 0, 1155608.861 467195.636 0, 1155912.69 467204.804 0, 1156216.518 467213.99 0, 1156520.345 467223.193 0, 1156824.172 467232.415 0, 1157127.998 467241.654 0, 1157431.824 467250.911 0, 1157735.649 467260.186 0,
+ 1158039.473 467269.479 0, 1158343.297 467278.79 0, 1158647.121 467288.119 0, 1158950.944 467297.465 0, 1159254.766 467306.83 0, 1159558.588 467316.212 0, 1159862.409 467325.612 0, 1160166.23 467335.03 0, 1160468.606 467344.422 0, 1160641.207 461792.249 0,
+ 1160813.794 456240.503 0))
+
+POLYGON ((1175051.305 467818.375 0, 1174748.954 467808.129 0, 1174445.161 467797.853 0, 1174141.368 467787.594 0, 1173837.574 467777.354 0, 1173533.779 467767.131 0, 1173229.984 467756.926 0, 1172926.188 467746.739 0, 1172622.391 467736.57 0, 1172318.594 467726.419 0,
+ 1172014.796 467716.285 0, 1171710.998 467706.17 0, 1171407.199 467696.072 0, 1171103.399 467685.992 0, 1170799.599 467675.93 0, 1170495.799 467665.886 0, 1170191.997 467655.86 0, 1169888.195 467645.852 0, 1169584.393 467635.862 0, 1169280.59 467625.889 0,
+ 1168976.786 467615.935 0, 1168672.982 467605.998 0, 1168369.177 467596.079 0, 1168065.372 467586.178 0, 1167760.123 467576.248 0, 1167457.759 467566.43 0, 1167153.952 467556.583 0, 1166850.144 467546.753 0, 1166546.336 467536.942 0, 1166242.527 467527.148 0,
+ 1165938.718 467517.372 0, 1165634.908 467507.615 0, 1165331.097 467497.875 0, 1165027.286 467488.152 0, 1164723.474 467478.448 0, 1164419.662 467468.762 0, 1164115.849 467459.093 0, 1163812.036 467449.443 0, 1163508.222 467439.81 0, 1163204.407 467430.195 0,
+ 1162900.592 467420.598 0, 1162596.776 467411.019 0, 1162292.96 467401.458 0, 1161989.143 467391.915 0, 1161685.326 467382.389 0, 1161381.508 467372.882 0, 1161077.689 467363.392 0, 1160773.87 467353.92 0, 1160468.606 467344.422 0, 1160295.992 472897.017 0,
+ 1160123.365 478450.034 0, 1160427.973 478459.512 0, 1160731.138 478468.963 0, 1161034.303 478478.432 0, 1161337.467 478487.92 0, 1161640.631 478497.424 0, 1161943.794 478506.947 0, 1162246.957 478516.488 0, 1162550.119 478526.046 0, 1162853.28 478535.623 0,
+ 1163156.441 478545.217 0, 1163459.602 478554.829 0, 1163762.762 478564.459 0, 1164065.921 478574.106 0, 1164369.079 478583.772 0, 1164672.238 478593.455 0, 1164975.395 478603.156 0, 1165278.552 478612.875 0, 1165581.708 478622.612 0, 1165884.864 478632.367 0,
+ 1166188.02 478642.14 0, 1166491.174 478651.93 0, 1166794.328 478661.738 0, 1167097.482 478671.564 0, 1167399.195 478681.362 0, 1167703.787 478691.27 0, 1168006.939 478701.15 0, 1168310.09 478711.047 0, 1168613.241 478720.963 0, 1168916.391 478730.896 0,
+ 1169219.54 478740.847 0, 1169522.689 478750.816 0, 1169825.837 478760.802 0, 1170128.985 478770.807 0, 1170432.132 478780.829 0, 1170735.279 478790.869 0, 1171038.424 478800.927 0, 1171341.57 478811.003 0, 1171644.715 478821.097 0, 1171947.859 478831.209 0,
+ 1172251.002 478841.338 0, 1172554.145 478851.485 0, 1172857.287 478861.65 0, 1173160.429 478871.833 0, 1173463.57 478882.034 0, 1173766.711 478892.253 0, 1174069.851 478902.489 0, 1174372.99 478912.744 0, 1174674.69 478922.967 0, 1174863.005 473370.461 0,
+ 1175051.305 467818.375 0))
+
+POLYGON ((1189224.621 479437.009 0, 1188922.948 479425.933 0, 1188619.839 479414.822 0, 1188316.729 479403.729 0, 1188013.619 479392.654 0, 1187710.508 479381.597 0, 1187407.396 479370.558 0, 1187104.284 479359.536 0, 1186801.171 479348.533 0, 1186498.057 479337.547 0,
+ 1186194.943 479326.579 0, 1185891.828 479315.629 0, 1185588.712 479304.697 0, 1185285.596 479293.782 0, 1184982.479 479282.885 0, 1184679.361 479272.007 0, 1184376.243 479261.146 0, 1184073.124 479250.303 0, 1183770.005 479239.477 0, 1183466.885 479228.67 0,
+ 1183163.764 479217.88 0, 1182860.642 479207.109 0, 1182557.52 479196.355 0, 1182254.398 479185.619 0, 1181949.837 479174.85 0, 1181648.151 479164.2 0, 1181345.026 479153.518 0, 1181041.901 479142.853 0, 1180738.775 479132.206 0, 1180435.649 479121.577 0,
+ 1180132.522 479110.966 0, 1179829.394 479100.373 0, 1179526.266 479089.797 0, 1179223.137 479079.239 0, 1178920.007 479068.7 0, 1178616.877 479058.178 0, 1178313.746 479047.674 0, 1178010.615 479037.187 0, 1177707.483 479026.719 0, 1177404.35 479016.268 0,
+ 1177101.217 479005.836 0, 1176798.083 478995.421 0, 1176494.949 478985.024 0, 1176191.813 478974.644 0, 1175888.678 478964.283 0, 1175585.541 478953.939 0, 1175282.405 478943.614 0, 1174979.267 478933.306 0, 1174674.69 478922.967 0, 1174486.362 484475.891 0,
+ 1174298.019 490029.229 0, 1174601.939 490039.545 0, 1174904.423 490049.831 0, 1175206.906 490060.134 0, 1175509.389 490070.455 0, 1175811.871 490080.794 0, 1176114.352 490091.151 0, 1176416.833 490101.526 0, 1176719.313 490111.918 0, 1177021.793 490122.329 0,
+ 1177324.272 490132.757 0, 1177626.75 490143.203 0, 1177929.228 490153.666 0, 1178231.705 490164.148 0, 1178534.181 490174.647 0, 1178836.657 490185.164 0, 1179139.132 490195.699 0, 1179441.607 490206.252 0, 1179744.081 490216.822 0, 1180046.554 490227.41 0,
+ 1180349.027 490238.016 0, 1180651.499 490248.64 0, 1180953.971 490259.282 0, 1181256.442 490269.941 0, 1181557.477 490280.568 0, 1181861.381 490291.314 0, 1182163.85 490302.027 0, 1182466.319 490312.757 0, 1182768.787 490323.506 0, 1183071.254 490334.272 0,
+ 1183373.72 490345.056 0, 1183676.186 490355.858 0, 1183978.651 490366.678 0, 1184281.116 490377.515 0, 1184583.58 490388.371 0, 1184886.043 490399.244 0, 1185188.506 490410.135 0, 1185490.968 490421.044 0, 1185793.429 490431.97 0, 1186095.89 490442.914 0,
+ 1186398.35 490453.877 0, 1186700.809 490464.857 0, 1187003.268 490475.854 0, 1187305.726 490486.87 0, 1187608.183 490497.903 0, 1187910.64 490508.954 0, 1188213.096 490520.023 0, 1188515.552 490531.11 0, 1188816.574 490542.162 0, 1189020.605 484989.378 0,
+ 1189224.621 479437.009 0))
+
+POLYGON ((1203333.621 491096.111 0, 1203032.63 491084.208 0, 1202730.207 491072.267 0, 1202427.783 491060.344 0, 1202125.359 491048.438 0, 1201822.934 491036.55 0, 1201520.508 491024.68 0, 1201218.081 491012.828 0, 1200915.654 491000.994 0, 1200613.226 490989.177 0,
+ 1200310.798 490977.378 0, 1200008.368 490965.597 0, 1199705.938 490953.834 0, 1199403.508 490942.089 0, 1199101.076 490930.361 0, 1198798.644 490918.651 0, 1198496.212 490906.959 0, 1198193.778 490895.285 0, 1197891.344 490883.629 0, 1197588.909 490871.99 0,
+ 1197286.474 490860.369 0, 1196984.038 490848.766 0, 1196681.601 490837.181 0, 1196379.163 490825.614 0, 1196075.293 490814.01 0, 1195774.286 490802.532 0, 1195471.847 490791.019 0, 1195169.406 490779.522 0, 1194866.966 490768.044 0, 1194564.524 490756.583 0,
+ 1194262.082 490745.141 0, 1193959.639 490733.716 0, 1193657.195 490722.308 0, 1193354.751 490710.919 0, 1193052.306 490699.547 0, 1192749.86 490688.194 0, 1192447.414 490676.858 0, 1192144.967 490665.54 0, 1191842.519 490654.239 0, 1191540.071 490642.957 0,
+ 1191237.622 490631.692 0, 1190935.173 490620.445 0, 1190632.722 490609.216 0, 1190330.271 490598.004 0, 1190027.82 490586.811 0, 1189725.368 490575.635 0, 1189422.915 490564.477 0, 1189120.461 490553.337 0, 1188816.574 490542.162 0, 1188612.527 496095.357 0,
+ 1188408.466 501648.96 0, 1188711.697 501660.111 0, 1189013.497 501671.227 0, 1189315.296 501682.361 0, 1189617.094 501693.512 0, 1189918.892 501704.682 0, 1190220.69 501715.869 0, 1190522.486 501727.074 0, 1190824.282 501738.296 0, 1191126.077 501749.537 0,
+ 1191427.872 501760.795 0, 1191729.666 501772.071 0, 1192031.459 501783.365 0, 1192333.252 501794.676 0, 1192635.043 501806.005 0, 1192936.835 501817.352 0, 1193238.625 501828.717 0, 1193540.415 501840.099 0, 1193842.204 501851.5 0, 1194143.993 501862.918 0,
+ 1194445.781 501874.354 0, 1194747.568 501885.807 0, 1195049.355 501897.279 0, 1195351.14 501908.768 0, 1195651.497 501920.22 0, 1195954.71 501931.799 0, 1196256.494 501943.342 0, 1196558.277 501954.902 0, 1196860.06 501966.48 0, 1197161.841 501978.075 0,
+ 1197463.623 501989.689 0, 1197765.403 502001.32 0, 1198067.183 502012.969 0, 1198368.962 502024.636 0, 1198670.74 502036.32 0, 1198972.518 502048.022 0, 1199274.295 502059.742 0, 1199576.071 502071.48 0, 1199877.847 502083.236 0, 1200179.622 502095.009 0,
+ 1200481.396 502106.8 0, 1200783.169 502118.609 0, 1201084.942 502130.435 0, 1201386.714 502142.28 0, 1201688.486 502154.142 0, 1201990.257 502166.022 0, 1202292.027 502177.919 0, 1202593.796 502189.835 0, 1202894.137 502201.711 0, 1203113.887 496648.707 0,
+ 1203333.621 491096.111 0))
+
+POLYGON ((1217378.188 502795.385 0, 1217077.88 502782.66 0, 1216776.145 502769.892 0, 1216474.41 502757.142 0, 1216172.674 502744.41 0, 1215870.937 502731.695 0, 1215569.2 502718.998 0, 1215267.462 502706.319 0, 1214965.723 502693.658 0, 1214663.983 502681.014 0,
+ 1214362.242 502668.388 0, 1214060.501 502655.78 0, 1213758.759 502643.19 0, 1213457.017 502630.617 0, 1213155.273 502618.063 0, 1212853.529 502605.526 0, 1212551.784 502593.006 0, 1212250.038 502580.505 0, 1211948.292 502568.021 0, 1211646.545 502555.555 0,
+ 1211344.797 502543.107 0, 1211043.049 502530.677 0, 1210741.299 502518.264 0, 1210439.549 502505.869 0, 1210136.372 502493.433 0, 1209836.047 502481.132 0, 1209534.295 502468.791 0, 1209232.542 502456.467 0, 1208930.788 502444.161 0, 1208629.034 502431.872 0,
+ 1208327.279 502419.602 0, 1208025.523 502407.349 0, 1207723.766 502395.114 0, 1207422.009 502382.896 0, 1207120.251 502370.697 0, 1206818.492 502358.515 0, 1206516.733 502346.351 0, 1206214.973 502334.205 0, 1205913.212 502322.076 0, 1205611.451 502309.965 0,
+ 1205309.688 502297.872 0, 1205007.925 502285.797 0, 1204706.162 502273.74 0, 1204404.397 502261.7 0, 1204102.632 502249.678 0, 1203800.866 502237.674 0, 1203499.1 502225.687 0, 1203197.332 502213.719 0, 1202894.137 502201.711 0, 1202674.371 507755.121 0,
+ 1202454.588 513308.932 0, 1202757.127 513320.914 0, 1203058.241 513332.856 0, 1203359.353 513344.817 0, 1203660.465 513356.795 0, 1203961.577 513368.791 0, 1204262.687 513380.805 0, 1204563.797 513392.836 0, 1204864.907 513404.885 0, 1205166.015 513416.952 0,
+ 1205467.123 513429.036 0, 1205768.23 513441.139 0, 1206069.337 513453.259 0, 1206370.442 513465.396 0, 1206671.547 513477.552 0, 1206972.651 513489.725 0, 1207273.755 513501.916 0, 1207574.858 513514.124 0, 1207875.96 513526.351 0, 1208177.061 513538.595 0,
+ 1208478.162 513550.856 0, 1208779.262 513563.136 0, 1209080.361 513575.433 0, 1209381.46 513587.748 0, 1209681.134 513600.022 0, 1209983.654 513612.431 0, 1210284.751 513624.799 0, 1210585.846 513637.185 0, 1210886.941 513649.588 0, 1211188.035 513662.01 0,
+ 1211489.129 513674.449 0, 1211790.221 513686.905 0, 1212091.313 513699.38 0, 1212392.404 513711.872 0, 1212693.495 513724.382 0, 1212994.585 513736.909 0, 1213295.674 513749.455 0, 1213596.762 513762.018 0, 1213897.849 513774.598 0, 1214198.936 513787.197 0,
+ 1214500.022 513799.813 0, 1214801.107 513812.447 0, 1215102.192 513825.098 0, 1215403.276 513837.768 0, 1215704.359 513850.455 0, 1216005.441 513863.16 0, 1216306.523 513875.882 0, 1216607.603 513888.622 0, 1216907.261 513901.32 0, 1217142.733 508348.152 0,
+ 1217378.188 502795.385 0))
+
+POLYGON ((1231358.203 514534.537 0, 1231058.58 514520.993 0, 1230757.536 514507.402 0, 1230456.492 514493.829 0, 1230155.447 514480.273 0, 1229854.401 514466.736 0, 1229553.354 514453.216 0, 1229252.306 514439.714 0, 1228951.258 514426.229 0, 1228650.209 514412.762 0,
+ 1228349.159 514399.313 0, 1228048.108 514385.882 0, 1227747.057 514372.468 0, 1227446.004 514359.073 0, 1227144.951 514345.694 0, 1226843.897 514332.334 0, 1226542.842 514318.991 0, 1226241.787 514305.666 0, 1225940.731 514292.359 0, 1225639.674 514279.069 0,
+ 1225338.616 514265.798 0, 1225037.557 514252.543 0, 1224736.498 514239.307 0, 1224435.438 514226.088 0, 1224132.956 514212.825 0, 1223833.315 514199.704 0, 1223532.252 514186.539 0, 1223231.189 514173.391 0, 1222930.125 514160.261 0, 1222629.06 514147.148 0,
+ 1222327.995 514134.054 0, 1222026.928 514120.977 0, 1221725.861 514107.918 0, 1221424.793 514094.876 0, 1221123.725 514081.852 0, 1220822.655 514068.846 0, 1220521.585 514055.858 0, 1220220.514 514042.887 0, 1219919.442 514029.935 0, 1219618.37 514016.999 0,
+ 1219317.297 514004.082 0, 1219016.223 513991.182 0, 1218715.148 513978.3 0, 1218414.072 513965.436 0, 1218112.996 513952.589 0, 1217811.919 513939.761 0, 1217510.841 513926.949 0, 1217209.763 513914.156 0, 1216907.261 513901.32 0, 1216671.773 519454.887 0,
+ 1216436.267 525008.85 0, 1216738.111 525021.658 0, 1217038.536 525034.424 0, 1217338.96 525047.207 0, 1217639.384 525060.008 0, 1217939.806 525072.827 0, 1218240.228 525085.663 0, 1218540.649 525098.517 0, 1218841.069 525111.389 0, 1219141.489 525124.278 0,
+ 1219441.907 525137.186 0, 1219742.325 525150.11 0, 1220042.742 525163.053 0, 1220343.159 525176.013 0, 1220643.575 525188.991 0, 1220943.99 525201.986 0, 1221244.404 525214.999 0, 1221544.817 525228.03 0, 1221845.23 525241.079 0, 1222145.642 525254.145 0,
+ 1222446.053 525267.229 0, 1222746.463 525280.33 0, 1223046.873 525293.45 0, 1223347.281 525306.587 0, 1223646.272 525319.679 0, 1223948.096 525332.913 0, 1224248.503 525346.103 0, 1224548.909 525359.311 0, 1224849.313 525372.536 0, 1225149.718 525385.78 0,
+ 1225450.121 525399.04 0, 1225750.523 525412.319 0, 1226050.925 525425.615 0, 1226351.326 525438.928 0, 1226651.726 525452.26 0, 1226952.126 525465.609 0, 1227252.524 525478.976 0, 1227552.922 525492.36 0, 1227853.319 525505.762 0, 1228153.716 525519.182 0,
+ 1228454.111 525532.62 0, 1228754.506 525546.075 0, 1229054.9 525559.548 0, 1229355.293 525573.038 0, 1229655.685 525586.547 0, 1229956.077 525600.073 0, 1230256.467 525613.616 0, 1230556.857 525627.177 0, 1230855.83 525640.692 0, 1231107.025 520087.417 0,
+ 1231358.203 514534.537 0))
+
+POLYGON ((1245273.55 526313.27 0, 1244974.615 526298.91 0, 1244674.264 526284.5 0, 1244373.913 526270.108 0, 1244073.561 526255.733 0, 1243773.208 526241.376 0, 1243472.854 526227.037 0, 1243172.499 526212.716 0, 1242872.144 526198.412 0, 1242571.788 526184.126 0,
+ 1242271.431 526169.857 0, 1241971.073 526155.607 0, 1241670.714 526141.374 0, 1241370.354 526127.158 0, 1241069.994 526112.96 0, 1240769.632 526098.78 0, 1240469.27 526084.618 0, 1240168.907 526070.473 0, 1239868.543 526056.346 0, 1239568.179 526042.237 0,
+ 1239267.813 526028.145 0, 1238967.447 526014.071 0, 1238667.08 526000.015 0, 1238366.712 525985.976 0, 1238064.927 525971.889 0, 1237765.973 525957.952 0, 1237465.603 525943.966 0, 1237165.231 525929.999 0, 1236864.859 525916.048 0, 1236564.486 525902.116 0,
+ 1236264.113 525888.201 0, 1235963.738 525874.304 0, 1235663.363 525860.424 0, 1235362.986 525846.562 0, 1235062.609 525832.718 0, 1234762.232 525818.892 0, 1234461.853 525805.083 0, 1234161.474 525791.292 0, 1233861.093 525777.518 0, 1233560.712 525763.763 0,
+ 1233260.33 525750.024 0, 1232959.948 525736.304 0, 1232659.564 525722.601 0, 1232359.18 525708.916 0, 1232058.795 525695.249 0, 1231758.409 525681.599 0, 1231458.022 525667.967 0, 1231157.635 525654.353 0, 1230855.83 525640.692 0, 1230604.616 531194.36 0,
+ 1230353.385 536748.418 0, 1230654.533 536762.049 0, 1230954.267 536775.634 0, 1231254 536789.236 0, 1231553.732 536802.856 0, 1231853.464 536816.494 0, 1232153.194 536830.149 0, 1232452.924 536843.822 0, 1232752.653 536857.513 0, 1233052.381 536871.221 0,
+ 1233352.108 536884.947 0, 1233651.835 536898.69 0, 1233951.56 536912.451 0, 1234251.285 536926.23 0, 1234551.009 536940.026 0, 1234850.733 536953.84 0, 1235150.455 536967.672 0, 1235450.177 536981.521 0, 1235749.897 536995.388 0, 1236049.617 537009.273 0,
+ 1236349.337 537023.175 0, 1236649.055 537037.095 0, 1236948.772 537051.032 0, 1237248.489 537064.988 0, 1237546.793 537078.894 0, 1237847.92 537092.951 0, 1238147.634 537106.959 0, 1238447.348 537120.985 0, 1238747.06 537135.028 0, 1239046.772 537149.089 0,
+ 1239346.483 537163.168 0, 1239646.193 537177.264 0, 1239945.903 537191.378 0, 1240245.611 537205.509 0, 1240545.319 537219.659 0, 1240845.025 537233.825 0, 1241144.731 537248.01 0, 1241444.436 537262.212 0, 1241744.141 537276.432 0, 1242043.844 537290.669 0,
+ 1242343.547 537304.924 0, 1242643.249 537319.197 0, 1242942.949 537333.487 0, 1243242.65 537347.795 0, 1243542.349 537362.121 0, 1243842.047 537376.464 0, 1244141.745 537390.825 0, 1244441.441 537405.203 0, 1244739.726 537419.532 0, 1245006.648 531866.206 0,
+ 1245273.55 526313.27 0))
+
+POLYGON ((1259124.114 538131.286 0, 1258825.868 538116.115 0, 1258526.213 538100.89 0, 1258226.558 538085.683 0, 1257926.901 538070.493 0, 1257627.243 538055.321 0, 1257327.585 538040.166 0, 1257027.926 538025.029 0, 1256728.265 538009.91 0, 1256428.604 537994.808 0,
+ 1256128.942 537979.724 0, 1255829.279 537964.657 0, 1255529.615 537949.609 0, 1255229.951 537934.578 0, 1254930.285 537919.564 0, 1254630.619 537904.568 0, 1254330.951 537889.59 0, 1254031.283 537874.629 0, 1253731.614 537859.686 0, 1253431.944 537844.761 0,
+ 1253132.273 537829.853 0, 1252832.602 537814.963 0, 1252532.929 537800.091 0, 1252233.256 537785.236 0, 1251932.171 537770.329 0, 1251633.906 537755.58 0, 1251334.23 537740.778 0, 1251034.553 537725.993 0, 1250734.875 537711.227 0, 1250435.196 537696.478 0,
+ 1250135.517 537681.747 0, 1249835.836 537667.033 0, 1249536.155 537652.337 0, 1249236.473 537637.659 0, 1248936.79 537622.998 0, 1248637.106 537608.355 0, 1248337.421 537593.729 0, 1248037.736 537579.121 0, 1247738.049 537564.531 0, 1247438.362 537549.959 0,
+ 1247138.674 537535.404 0, 1246838.985 537520.866 0, 1246539.295 537506.347 0, 1246239.604 537491.845 0, 1245939.912 537477.361 0, 1245640.22 537462.894 0, 1245340.526 537448.445 0, 1245040.832 537434.013 0, 1244739.726 537419.532 0, 1244472.787 542973.244 0,
+ 1244205.828 548527.339 0, 1244506.277 548541.789 0, 1244805.318 548556.189 0, 1245104.357 548570.607 0, 1245403.396 548585.042 0, 1245702.434 548599.495 0, 1246001.471 548613.965 0, 1246300.507 548628.453 0, 1246599.542 548642.959 0, 1246898.577 548657.482 0,
+ 1247197.61 548672.023 0, 1247496.643 548686.581 0, 1247795.675 548701.157 0, 1248094.706 548715.751 0, 1248393.736 548730.362 0, 1248692.765 548744.99 0, 1248991.794 548759.637 0, 1249290.821 548774.301 0, 1249589.848 548788.982 0, 1249888.874 548803.682 0,
+ 1250187.899 548818.398 0, 1250486.923 548833.133 0, 1250785.946 548847.885 0, 1251084.968 548862.654 0, 1251382.583 548877.372 0, 1251683.01 548892.246 0, 1251982.03 548907.068 0, 1252281.049 548921.908 0, 1252580.067 548936.766 0, 1252879.084 548951.641 0,
+ 1253178.1 548966.534 0, 1253477.116 548981.444 0, 1253776.13 548996.372 0, 1254075.144 549011.318 0, 1254374.157 549026.281 0, 1254673.168 549041.262 0, 1254972.179 549056.26 0, 1255271.189 549071.276 0, 1255570.199 549086.31 0, 1255869.207 549101.361 0,
+ 1256168.214 549116.429 0, 1256467.221 549131.516 0, 1256766.227 549146.62 0, 1257065.231 549161.741 0, 1257364.235 549176.88 0, 1257663.238 549192.037 0, 1257962.24 549207.212 0, 1258261.242 549222.403 0, 1258558.836 549237.542 0, 1258841.485 543684.222 0,
+ 1259124.114 538131.286 0))
+
+POLYGON ((1272909.781 549988.291 0, 1272612.227 549972.312 0, 1272313.27 549956.275 0, 1272014.312 549940.256 0, 1271715.353 549924.255 0, 1271416.394 549908.271 0, 1271117.433 549892.305 0, 1270818.471 549876.356 0, 1270519.508 549860.425 0, 1270220.544 549844.512 0,
+ 1269921.58 549828.616 0, 1269622.614 549812.737 0, 1269323.648 549796.877 0, 1269024.681 549781.034 0, 1268725.712 549765.208 0, 1268426.743 549749.4 0, 1268127.773 549733.61 0, 1267828.802 549717.837 0, 1267529.83 549702.082 0, 1267230.857 549686.345 0,
+ 1266931.883 549670.625 0, 1266632.908 549654.923 0, 1266333.932 549639.238 0, 1266034.955 549623.571 0, 1265734.574 549607.848 0, 1265436.999 549592.29 0, 1265138.02 549576.675 0, 1264839.04 549561.079 0, 1264540.058 549545.5 0, 1264241.076 549529.938 0,
+ 1263942.093 549514.394 0, 1263643.109 549498.868 0, 1263344.124 549483.359 0, 1263045.138 549467.868 0, 1262746.151 549452.394 0, 1262447.164 549436.939 0, 1262148.175 549421.5 0, 1261849.186 549406.079 0, 1261550.195 549390.676 0, 1261251.204 549375.291 0,
+ 1260952.212 549359.923 0, 1260653.219 549344.573 0, 1260354.225 549329.24 0, 1260055.23 549313.925 0, 1259756.234 549298.627 0, 1259457.237 549283.347 0, 1259158.24 549268.085 0, 1258859.241 549252.84 0, 1258558.836 549237.542 0, 1258276.169 554791.241 0,
+ 1257993.482 560345.317 0, 1258293.23 560360.582 0, 1258591.574 560375.794 0, 1258889.918 560391.023 0, 1259188.261 560406.269 0, 1259486.603 560421.533 0, 1259784.944 560436.815 0, 1260083.284 560452.114 0, 1260381.624 560467.431 0, 1260679.962 560482.765 0,
+ 1260978.3 560498.117 0, 1261276.636 560513.486 0, 1261574.972 560528.873 0, 1261873.307 560544.278 0, 1262171.641 560559.7 0, 1262469.974 560575.14 0, 1262768.306 560590.597 0, 1263066.637 560606.072 0, 1263364.967 560621.564 0, 1263663.297 560637.074 0,
+ 1263961.625 560652.602 0, 1264259.953 560668.147 0, 1264558.279 560683.709 0, 1264856.605 560699.289 0, 1265153.529 560714.814 0, 1265453.254 560730.502 0, 1265751.577 560746.135 0, 1266049.899 560761.786 0, 1266348.22 560777.454 0, 1266646.54 560793.139 0,
+ 1266944.859 560808.842 0, 1267243.177 560824.563 0, 1267541.495 560840.301 0, 1267839.811 560856.057 0, 1268138.127 560871.83 0, 1268436.441 560887.621 0, 1268734.755 560903.429 0, 1269033.068 560919.255 0, 1269331.38 560935.099 0, 1269629.691 560950.96 0,
+ 1269928.001 560966.838 0, 1270226.31 560982.735 0, 1270524.618 560998.648 0, 1270822.925 561014.58 0, 1271121.231 561030.529 0, 1271419.536 561046.495 0, 1271717.841 561062.479 0, 1272016.144 561078.481 0, 1272313.047 561094.424 0, 1272611.424 555541.169 0,
+ 1272909.781 549988.291 0))
+
+POLYGON ((1286630.438 561883.984 0, 1286333.58 561867.202 0, 1286035.323 561850.357 0, 1285737.065 561833.531 0, 1285438.806 561816.722 0, 1285140.546 561799.93 0, 1284842.285 561783.156 0, 1284544.023 561766.399 0, 1284245.76 561749.661 0, 1283947.496 561732.939 0,
+ 1283649.231 561716.235 0, 1283350.965 561699.549 0, 1283052.698 561682.88 0, 1282754.43 561666.229 0, 1282456.162 561649.596 0, 1282157.892 561632.98 0, 1281859.621 561616.381 0, 1281561.349 561599.8 0, 1281263.077 561583.237 0, 1280964.803 561566.691 0,
+ 1280666.528 561550.163 0, 1280368.253 561533.652 0, 1280069.976 561517.159 0, 1279771.698 561500.683 0, 1279472.021 561484.148 0, 1279175.14 561467.785 0, 1278876.86 561451.362 0, 1278578.578 561434.957 0, 1278280.296 561418.569 0, 1277982.013 561402.199 0,
+ 1277683.728 561385.846 0, 1277385.443 561369.511 0, 1277087.157 561353.193 0, 1276788.869 561336.893 0, 1276490.581 561320.611 0, 1276192.292 561304.346 0, 1275894.002 561288.098 0, 1275595.711 561271.869 0, 1275297.419 561255.656 0, 1274999.126 561239.462 0,
+ 1274700.832 561223.285 0, 1274402.537 561207.125 0, 1274104.241 561190.983 0, 1273805.945 561174.859 0, 1273507.647 561158.752 0, 1273209.348 561142.662 0, 1272911.049 561126.591 0, 1272612.748 561110.536 0, 1272313.047 561094.424 0, 1272014.65 566648.054 0,
+ 1271716.232 572202.053 0, 1272015.277 572218.13 0, 1272312.924 572234.149 0, 1272610.569 572250.185 0, 1272908.214 572266.24 0, 1273205.858 572282.311 0, 1273503.501 572298.4 0, 1273801.143 572314.507 0, 1274098.784 572330.631 0, 1274396.425 572346.773 0,
+ 1274694.064 572362.932 0, 1274991.702 572379.109 0, 1275289.339 572395.303 0, 1275586.976 572411.515 0, 1275884.611 572427.744 0, 1276182.246 572443.991 0, 1276479.879 572460.255 0, 1276777.512 572476.537 0, 1277075.143 572492.836 0, 1277372.774 572509.153 0,
+ 1277670.404 572525.487 0, 1277968.032 572541.839 0, 1278265.66 572558.209 0, 1278563.287 572574.596 0, 1278859.517 572590.923 0, 1279158.537 572607.422 0, 1279456.161 572623.861 0, 1279753.784 572640.318 0, 1280051.406 572656.793 0, 1280349.027 572673.285 0,
+ 1280646.647 572689.794 0, 1280944.266 572706.322 0, 1281241.884 572722.866 0, 1281539.501 572739.428 0, 1281837.117 572756.008 0, 1282134.732 572772.605 0, 1282432.346 572789.22 0, 1282729.96 572805.852 0, 1283027.572 572822.501 0, 1283325.183 572839.169 0,
+ 1283622.793 572855.853 0, 1283920.402 572872.556 0, 1284218.011 572889.275 0, 1284515.618 572906.013 0, 1284813.224 572922.767 0, 1285110.83 572939.54 0, 1285408.434 572956.33 0, 1285706.037 572973.137 0, 1286002.245 572989.883 0, 1286316.352 567436.748 0,
+ 1286630.438 561883.984 0))
+
+POLYGON ((1300285.975 573818.07 0, 1299989.813 573800.487 0, 1299692.259 573782.839 0, 1299394.703 573765.208 0, 1299097.146 573747.595 0, 1298799.589 573730 0, 1298502.03 573712.422 0, 1298204.47 573694.861 0, 1297906.909 573677.318 0, 1297609.347 573659.793 0,
+ 1297311.784 573642.285 0, 1297014.22 573624.794 0, 1296716.655 573607.322 0, 1296419.089 573589.866 0, 1296121.522 573572.428 0, 1295823.954 573555.008 0, 1295526.385 573537.605 0, 1295228.815 573520.22 0, 1294931.244 573502.852 0, 1294633.672 573485.502 0,
+ 1294336.099 573468.169 0, 1294038.524 573450.854 0, 1293740.949 573433.556 0, 1293443.373 573416.276 0, 1293144.403 573398.932 0, 1292848.217 573381.768 0, 1292550.638 573364.54 0, 1292253.058 573347.33 0, 1291955.477 573330.137 0, 1291657.894 573312.962 0,
+ 1291360.311 573295.804 0, 1291062.727 573278.664 0, 1290765.141 573261.541 0, 1290467.555 573244.436 0, 1290169.968 573227.349 0, 1289872.379 573210.279 0, 1289574.79 573193.226 0, 1289277.199 573176.191 0, 1288979.608 573159.174 0, 1288682.016 573142.174 0,
+ 1288384.422 573125.191 0, 1288086.828 573108.226 0, 1287789.233 573091.279 0, 1287491.636 573074.349 0, 1287194.039 573057.436 0, 1286896.441 573040.541 0, 1286598.841 573023.664 0, 1286301.241 573006.804 0, 1286002.245 572989.883 0, 1285688.117 578543.385 0,
+ 1285373.969 584097.251 0, 1285672.308 584114.135 0, 1285969.254 584130.958 0, 1286266.2 584147.798 0, 1286563.145 584164.656 0, 1286860.088 584181.531 0, 1287157.031 584198.424 0, 1287453.972 584215.334 0, 1287750.913 584232.262 0, 1288047.853 584249.207 0,
+ 1288344.791 584266.17 0, 1288641.729 584283.15 0, 1288938.666 584300.147 0, 1289235.601 584317.162 0, 1289532.536 584334.195 0, 1289829.47 584351.245 0, 1290126.402 584368.313 0, 1290423.334 584385.398 0, 1290720.264 584402.5 0, 1291017.194 584419.62 0,
+ 1291314.123 584436.757 0, 1291611.05 584453.912 0, 1291907.977 584471.085 0, 1292204.902 584488.275 0, 1292500.437 584505.401 0, 1292798.751 584522.707 0, 1293095.673 584539.949 0, 1293392.595 584557.209 0, 1293689.515 584574.486 0, 1293986.435 584591.781 0,
+ 1294283.353 584609.093 0, 1294580.27 584626.423 0, 1294877.187 584643.77 0, 1295174.102 584661.134 0, 1295471.017 584678.516 0, 1295767.93 584695.916 0, 1296064.842 584713.333 0, 1296361.754 584730.768 0, 1296658.664 584748.22 0, 1296955.573 584765.689 0,
+ 1297252.481 584783.176 0, 1297549.389 584800.681 0, 1297846.295 584818.202 0, 1298143.2 584835.742 0, 1298440.104 584853.299 0, 1298737.007 584870.873 0, 1299033.909 584888.465 0, 1299330.81 584906.074 0, 1299626.321 584923.618 0, 1299956.159 579370.662 0,
+ 1300285.975 573818.07 0))
+
+POLYGON ((1313876.282 585790.248 0, 1313580.819 585771.869 0, 1313283.969 585753.421 0, 1312987.118 585734.99 0, 1312690.266 585716.577 0, 1312393.413 585698.182 0, 1312096.558 585679.804 0, 1311799.703 585661.443 0, 1311502.846 585643.1 0, 1311205.989 585624.774 0,
+ 1310909.13 585606.466 0, 1310612.27 585588.175 0, 1310315.409 585569.902 0, 1310018.547 585551.646 0, 1309721.684 585533.408 0, 1309424.82 585515.187 0, 1309127.955 585496.983 0, 1308831.089 585478.797 0, 1308534.221 585460.629 0, 1308237.353 585442.478 0,
+ 1307940.484 585424.345 0, 1307643.613 585406.228 0, 1307346.742 585388.13 0, 1307049.869 585370.049 0, 1306751.608 585351.901 0, 1306456.12 585333.939 0, 1306159.245 585315.91 0, 1305862.368 585297.899 0, 1305565.49 585279.906 0, 1305268.611 585261.929 0,
+ 1304971.731 585243.971 0, 1304674.85 585226.029 0, 1304377.967 585208.105 0, 1304081.084 585190.199 0, 1303784.2 585172.31 0, 1303487.315 585154.439 0, 1303190.428 585136.585 0, 1302893.541 585118.748 0, 1302596.652 585100.929 0, 1302299.763 585083.128 0,
+ 1302002.872 585065.344 0, 1301705.981 585047.577 0, 1301409.088 585029.828 0, 1301112.194 585012.097 0, 1300815.299 584994.383 0, 1300518.404 584976.686 0, 1300221.507 584959.007 0, 1299924.609 584941.345 0, 1299626.321 584923.618 0, 1299296.462 590476.936 0,
+ 1298966.582 596030.611 0, 1299264.212 596048.298 0, 1299560.457 596065.921 0, 1299856.7 596083.561 0, 1300152.942 596101.219 0, 1300449.183 596118.894 0, 1300745.423 596136.587 0, 1301041.662 596154.297 0, 1301337.9 596172.024 0, 1301634.136 596189.769 0,
+ 1301930.372 596207.531 0, 1302226.607 596225.311 0, 1302522.841 596243.108 0, 1302819.073 596260.923 0, 1303115.305 596278.755 0, 1303411.536 596296.604 0, 1303707.765 596314.471 0, 1304003.994 596332.356 0, 1304300.221 596350.258 0, 1304596.447 596368.177 0,
+ 1304892.673 596386.113 0, 1305188.897 596404.068 0, 1305485.12 596422.039 0, 1305781.342 596440.028 0, 1306076.179 596457.95 0, 1306373.783 596476.058 0, 1306670.002 596494.1 0, 1306966.22 596512.158 0, 1307262.437 596530.234 0, 1307558.653 596548.328 0,
+ 1307854.868 596566.439 0, 1308151.081 596584.567 0, 1308447.294 596602.713 0, 1308743.505 596620.877 0, 1309039.716 596639.057 0, 1309335.925 596657.255 0, 1309632.133 596675.471 0, 1309928.341 596693.704 0, 1310224.547 596711.955 0, 1310520.752 596730.223 0,
+ 1310816.956 596748.508 0, 1311113.159 596766.811 0, 1311409.361 596785.131 0, 1311705.561 596803.469 0, 1312001.761 596821.824 0, 1312297.96 596840.196 0, 1312594.157 596858.586 0, 1312890.354 596876.994 0, 1313185.166 596895.332 0, 1313530.735 591342.611 0,
+ 1313876.282 585790.248 0))
+
+POLYGON ((1327401.25 597800.22 0, 1327106.489 597781.049 0, 1326810.345 597761.805 0, 1326514.201 597742.578 0, 1326218.056 597723.369 0, 1325921.909 597704.177 0, 1325625.761 597685.002 0, 1325329.612 597665.845 0, 1325033.462 597646.706 0, 1324737.311 597627.584 0,
+ 1324441.159 597608.479 0, 1324145.005 597589.392 0, 1323848.851 597570.322 0, 1323552.695 597551.27 0, 1323256.538 597532.235 0, 1322960.381 597513.217 0, 1322664.222 597494.217 0, 1322368.061 597475.234 0, 1322071.9 597456.269 0, 1321775.738 597437.321 0,
+ 1321479.574 597418.391 0, 1321183.41 597399.478 0, 1320887.244 597380.583 0, 1320591.077 597361.705 0, 1320293.528 597342.756 0, 1319998.74 597324.001 0, 1319702.57 597305.175 0, 1319406.399 597286.367 0, 1319110.227 597267.576 0, 1318814.053 597248.802 0,
+ 1318517.879 597230.046 0, 1318221.703 597211.308 0, 1317925.526 597192.586 0, 1317629.348 597173.883 0, 1317333.169 597155.196 0, 1317036.989 597136.527 0, 1316740.808 597117.876 0, 1316444.626 597099.242 0, 1316148.443 597080.625 0, 1315852.258 597062.026 0,
+ 1315556.073 597043.444 0, 1315259.886 597024.88 0, 1314963.698 597006.333 0, 1314667.509 596987.804 0, 1314371.319 596969.292 0, 1314075.128 596950.797 0, 1313778.936 596932.32 0, 1313482.743 596913.861 0, 1313185.166 596895.332 0, 1312839.574 602448.408 0,
+ 1312493.961 608001.834 0, 1312790.882 608020.322 0, 1313086.421 608038.741 0, 1313381.96 608057.177 0, 1313677.497 608075.631 0, 1313973.033 608094.102 0, 1314268.568 608112.59 0, 1314564.102 608131.096 0, 1314859.635 608149.62 0, 1315155.167 608168.16 0,
+ 1315450.698 608186.719 0, 1315746.228 608205.294 0, 1316041.756 608223.887 0, 1316337.284 608242.497 0, 1316632.81 608261.125 0, 1316928.335 608279.77 0, 1317223.86 608298.432 0, 1317519.383 608317.112 0, 1317814.905 608335.81 0, 1318110.426 608354.524 0,
+ 1318405.945 608373.256 0, 1318701.464 608392.006 0, 1318996.982 608410.773 0, 1319292.498 608429.557 0, 1319586.635 608448.271 0, 1319883.528 608467.177 0, 1320179.041 608486.014 0, 1320474.553 608504.868 0, 1320770.064 608523.739 0, 1321065.574 608542.627 0,
+ 1321361.082 608561.533 0, 1321656.59 608580.457 0, 1321952.097 608599.397 0, 1322247.602 608618.356 0, 1322543.106 608637.331 0, 1322838.609 608656.324 0, 1323134.111 608675.334 0, 1323429.612 608694.362 0, 1323725.112 608713.407 0, 1324020.611 608732.47 0,
+ 1324316.108 608751.55 0, 1324611.605 608770.647 0, 1324907.1 608789.762 0, 1325202.594 608808.894 0, 1325498.087 608828.043 0, 1325793.579 608847.21 0, 1326089.07 608866.394 0, 1326384.559 608885.596 0, 1326678.67 608904.725 0, 1327039.972 603352.297 0,
+ 1327401.25 597800.22 0))
+
+POLYGON ((1340860.772 609847.687 0, 1340566.714 609827.727 0, 1340271.28 609807.691 0, 1339975.845 609787.672 0, 1339680.408 609767.67 0, 1339384.97 609747.686 0, 1339089.531 609727.719 0, 1338794.091 609707.769 0, 1338498.65 609687.837 0, 1338203.207 609667.923 0,
+ 1337907.764 609648.025 0, 1337612.319 609628.146 0, 1337316.873 609608.283 0, 1337021.426 609588.438 0, 1336725.978 609568.61 0, 1336430.528 609548.8 0, 1336135.078 609529.007 0, 1335839.626 609509.231 0, 1335544.173 609489.473 0, 1335248.719 609469.732 0,
+ 1334953.263 609450.009 0, 1334657.807 609430.303 0, 1334362.349 609410.615 0, 1334066.891 609390.943 0, 1333770.054 609371.198 0, 1333475.97 609351.653 0, 1333180.507 609332.034 0, 1332885.044 609312.432 0, 1332589.579 609292.848 0, 1332294.114 609273.281 0,
+ 1331998.647 609253.732 0, 1331703.179 609234.2 0, 1331407.71 609214.685 0, 1331112.239 609195.188 0, 1330816.768 609175.708 0, 1330521.295 609156.245 0, 1330225.822 609136.8 0, 1329930.347 609117.372 0, 1329634.871 609097.962 0, 1329339.394 609078.569 0,
+ 1329043.915 609059.194 0, 1328748.436 609039.835 0, 1328452.955 609020.495 0, 1328157.474 609001.171 0, 1327861.991 608981.865 0, 1327566.507 608962.577 0, 1327271.022 608943.305 0, 1326975.535 608924.052 0, 1326678.67 608904.725 0, 1326317.347 614457.502 0,
+ 1325956 620010.622 0, 1326252.208 620029.906 0, 1326547.041 620049.117 0, 1326841.872 620068.346 0, 1327136.703 620087.591 0, 1327431.532 620106.855 0, 1327726.36 620126.135 0, 1328021.187 620145.433 0, 1328316.013 620164.749 0, 1328610.837 620184.081 0,
+ 1328905.661 620203.432 0, 1329200.483 620222.799 0, 1329495.304 620242.184 0, 1329790.125 620261.586 0, 1330084.943 620281.005 0, 1330379.761 620300.442 0, 1330674.578 620319.896 0, 1330969.393 620339.368 0, 1331264.208 620358.857 0, 1331559.021 620378.363 0,
+ 1331853.833 620397.886 0, 1332148.644 620417.427 0, 1332443.454 620436.986 0, 1332738.262 620456.561 0, 1333031.697 620476.063 0, 1333327.876 620495.765 0, 1333622.681 620515.392 0, 1333917.485 620535.037 0, 1334212.288 620554.7 0, 1334507.09 620574.38 0,
+ 1334801.89 620594.077 0, 1335096.69 620613.791 0, 1335391.488 620633.523 0, 1335686.285 620653.272 0, 1335981.081 620673.039 0, 1336275.876 620692.822 0, 1336570.669 620712.624 0, 1336865.462 620732.442 0, 1337160.253 620752.278 0, 1337455.043 620772.131 0,
+ 1337749.832 620792.002 0, 1338044.619 620811.89 0, 1338339.406 620831.795 0, 1338634.191 620851.718 0, 1338928.976 620871.658 0, 1339223.759 620891.615 0, 1339518.54 620911.59 0, 1339813.321 620931.582 0, 1340106.729 620951.498 0, 1340483.762 615399.42 0,
+ 1340860.772 609847.687 0))
+
+POLYGON ((1354254.743 621932.349 0, 1353961.39 621911.603 0, 1353666.667 621890.779 0, 1353371.943 621869.971 0, 1353077.218 621849.181 0, 1352782.491 621828.408 0, 1352487.763 621807.653 0, 1352193.034 621786.915 0, 1351898.303 621766.194 0, 1351603.572 621745.491 0,
+ 1351308.839 621724.805 0, 1351014.105 621704.136 0, 1350719.37 621683.485 0, 1350424.633 621662.851 0, 1350129.896 621642.234 0, 1349835.157 621621.635 0, 1349540.417 621601.053 0, 1349245.676 621580.488 0, 1348950.933 621559.941 0, 1348656.189 621539.411 0,
+ 1348361.444 621518.899 0, 1348066.698 621498.404 0, 1347771.951 621477.926 0, 1347477.202 621457.465 0, 1347181.082 621436.927 0, 1346887.702 621416.596 0, 1346592.95 621396.188 0, 1346298.196 621375.797 0, 1346003.442 621355.423 0, 1345708.686 621335.067 0,
+ 1345413.929 621314.728 0, 1345119.171 621294.406 0, 1344824.412 621274.102 0, 1344529.651 621253.815 0, 1344234.889 621233.545 0, 1343940.127 621213.293 0, 1343645.362 621193.058 0, 1343350.597 621172.84 0, 1343055.831 621152.64 0, 1342761.063 621132.457 0,
+ 1342466.294 621112.291 0, 1342171.524 621092.143 0, 1341876.753 621072.012 0, 1341581.98 621051.899 0, 1341287.207 621031.803 0, 1340992.432 621011.724 0, 1340697.656 620991.662 0, 1340402.879 620971.618 0, 1340106.729 620951.498 0, 1339729.672 626503.918 0,
+ 1339352.592 632056.675 0, 1339648.086 632076.75 0, 1339942.209 632096.75 0, 1340236.332 632116.767 0, 1340530.453 632136.801 0, 1340824.573 632156.853 0, 1341118.692 632176.922 0, 1341412.809 632197.008 0, 1341706.926 632217.111 0, 1342001.041 632237.232 0,
+ 1342295.155 632257.37 0, 1342589.268 632277.526 0, 1342883.38 632297.699 0, 1343177.49 632317.889 0, 1343471.599 632338.096 0, 1343765.708 632358.321 0, 1344059.815 632378.563 0, 1344353.92 632398.822 0, 1344648.025 632419.099 0, 1344942.128 632439.393 0,
+ 1345236.23 632459.704 0, 1345530.331 632480.033 0, 1345824.431 632500.379 0, 1346118.53 632520.742 0, 1346411.259 632541.027 0, 1346706.723 632561.52 0, 1347000.818 632581.935 0, 1347294.912 632602.368 0, 1347589.004 632622.817 0, 1347883.096 632643.284 0,
+ 1348177.186 632663.769 0, 1348471.275 632684.27 0, 1348765.363 632704.789 0, 1349059.449 632725.326 0, 1349353.535 632745.879 0, 1349647.619 632766.45 0, 1349941.702 632787.038 0, 1350235.783 632807.644 0, 1350529.864 632828.267 0, 1350823.943 632848.907 0,
+ 1351118.021 632869.564 0, 1351412.098 632890.239 0, 1351706.173 632910.931 0, 1352000.248 632931.641 0, 1352294.321 632952.367 0, 1352588.393 632973.111 0, 1352882.464 632993.873 0, 1353176.533 633014.651 0, 1353469.235 633035.351 0, 1353862.001 627483.681 0,
+ 1354254.743 621932.349 0))
+
+POLYGON ((1367583.057 634053.904 0, 1367290.412 634032.378 0, 1366996.403 634010.769 0, 1366702.392 633989.177 0, 1366408.379 633967.602 0, 1366114.366 633946.045 0, 1365820.351 633924.504 0, 1365526.335 633902.982 0, 1365232.318 633881.476 0, 1364938.3 633859.988 0,
+ 1364644.28 633838.517 0, 1364350.259 633817.063 0, 1364056.236 633795.627 0, 1363762.213 633774.208 0, 1363468.188 633752.807 0, 1363174.162 633731.422 0, 1362880.135 633710.055 0, 1362586.106 633688.705 0, 1362292.076 633667.373 0, 1361998.045 633646.058 0,
+ 1361704.013 633624.76 0, 1361409.979 633603.479 0, 1361115.944 633582.216 0, 1360821.908 633560.97 0, 1360526.506 633539.643 0, 1360233.832 633518.53 0, 1359939.792 633497.336 0, 1359645.751 633476.16 0, 1359351.709 633455 0, 1359057.665 633433.858 0,
+ 1358763.62 633412.733 0, 1358469.574 633391.626 0, 1358175.527 633370.536 0, 1357881.478 633349.463 0, 1357587.429 633328.407 0, 1357293.377 633307.369 0, 1356999.325 633286.348 0, 1356705.272 633265.345 0, 1356411.217 633244.358 0, 1356117.161 633223.389 0,
+ 1355823.104 633202.438 0, 1355529.045 633181.503 0, 1355234.986 633160.586 0, 1354940.925 633139.686 0, 1354646.862 633118.804 0, 1354352.799 633097.939 0, 1354058.734 633077.091 0, 1353764.669 633056.26 0, 1353469.235 633035.351 0, 1353076.446 638587.355 0,
+ 1352683.633 644139.692 0, 1352978.41 644160.555 0, 1353271.822 644181.339 0, 1353565.233 644202.141 0, 1353858.643 644222.96 0, 1354152.051 644243.796 0, 1354445.459 644264.649 0, 1354738.865 644285.52 0, 1355032.27 644306.408 0, 1355325.673 644327.313 0,
+ 1355619.076 644348.235 0, 1355912.477 644369.175 0, 1356205.877 644390.132 0, 1356499.276 644411.106 0, 1356792.673 644432.097 0, 1357086.07 644453.106 0, 1357379.465 644474.132 0, 1357672.858 644495.175 0, 1357966.251 644516.236 0, 1358259.642 644537.314 0,
+ 1358553.032 644558.409 0, 1358846.421 644579.521 0, 1359139.809 644600.651 0, 1359433.195 644621.798 0, 1359725.218 644642.864 0, 1360019.964 644664.143 0, 1360313.347 644685.342 0, 1360606.728 644706.558 0, 1360900.108 644727.791 0, 1361193.487 644749.042 0,
+ 1361486.865 644770.309 0, 1361780.241 644791.594 0, 1362073.616 644812.897 0, 1362366.99 644834.216 0, 1362660.363 644855.553 0, 1362953.734 644876.907 0, 1363247.104 644898.279 0, 1363540.473 644919.667 0, 1363833.84 644941.073 0, 1364127.207 644962.496 0,
+ 1364420.572 644983.937 0, 1364713.936 645005.395 0, 1365007.298 645026.869 0, 1365300.659 645048.362 0, 1365594.019 645069.871 0, 1365887.378 645091.398 0, 1366180.736 645112.942 0, 1366474.092 645134.503 0, 1366766.086 645155.982 0, 1367174.583 639604.777 0,
+ 1367583.057 634053.904 0))
+
+POLYGON ((1380845.611 646212.053 0, 1380553.677 646189.75 0, 1380260.383 646167.36 0, 1379967.087 646144.987 0, 1379673.791 646122.632 0, 1379380.492 646100.293 0, 1379087.193 646077.972 0, 1378793.892 646055.669 0, 1378500.59 646033.382 0, 1378207.287 646011.113 0,
+ 1377913.983 645988.861 0, 1377620.677 645966.627 0, 1377327.369 645944.409 0, 1377034.061 645922.209 0, 1376740.751 645900.026 0, 1376447.44 645877.861 0, 1376154.127 645855.712 0, 1375860.814 645833.581 0, 1375567.499 645811.467 0, 1375274.182 645789.371 0,
+ 1374980.865 645767.292 0, 1374687.546 645745.23 0, 1374394.225 645723.185 0, 1374100.904 645701.157 0, 1373806.222 645679.045 0, 1373514.257 645657.154 0, 1373220.931 645635.179 0, 1372927.605 645613.22 0, 1372634.277 645591.279 0, 1372340.947 645569.355 0,
+ 1372047.617 645547.449 0, 1371754.285 645525.559 0, 1371460.952 645503.687 0, 1371167.617 645481.832 0, 1370874.282 645459.995 0, 1370580.945 645438.175 0, 1370287.606 645416.371 0, 1369994.267 645394.586 0, 1369700.926 645372.817 0, 1369407.584 645351.066 0,
+ 1369114.24 645329.332 0, 1368820.895 645307.615 0, 1368527.549 645285.916 0, 1368234.202 645264.234 0, 1367940.854 645242.569 0, 1367647.504 645220.921 0, 1367354.153 645199.291 0, 1367060.8 645177.678 0, 1366766.086 645155.982 0, 1366357.564 650707.514 0,
+ 1365949.018 656259.372 0, 1366243.076 656281.02 0, 1366535.775 656302.585 0, 1366828.473 656324.167 0, 1367121.169 656345.766 0, 1367413.864 656367.383 0, 1367706.558 656389.017 0, 1367999.25 656410.668 0, 1368291.941 656432.336 0, 1368584.631 656454.022 0,
+ 1368877.32 656475.725 0, 1369170.007 656497.445 0, 1369462.694 656519.182 0, 1369755.378 656540.936 0, 1370048.062 656562.708 0, 1370340.744 656584.497 0, 1370633.425 656606.303 0, 1370926.105 656628.126 0, 1371218.783 656649.967 0, 1371511.46 656671.825 0,
+ 1371804.136 656693.7 0, 1372096.811 656715.592 0, 1372389.484 656737.502 0, 1372682.156 656759.428 0, 1372973.47 656781.27 0, 1373267.496 656803.333 0, 1373560.164 656825.312 0, 1373852.831 656847.307 0, 1374145.497 656869.32 0, 1374438.161 656891.35 0,
+ 1374730.824 656913.398 0, 1375023.485 656935.462 0, 1375316.146 656957.544 0, 1375608.805 656979.643 0, 1375901.462 657001.759 0, 1376194.119 657023.892 0, 1376486.774 657046.043 0, 1376779.428 657068.211 0, 1377072.08 657090.396 0, 1377364.731 657112.598 0,
+ 1377657.381 657134.818 0, 1377950.03 657157.055 0, 1378242.677 657179.309 0, 1378535.323 657201.58 0, 1378827.968 657223.868 0, 1379120.611 657246.174 0, 1379413.253 657268.497 0, 1379705.894 657290.837 0, 1379997.178 657313.091 0, 1380421.407 651762.41 0,
+ 1380845.611 646212.053 0))
+
+POLYGON ((1394042.305 658406.494 0, 1393751.082 658383.417 0, 1393458.506 658360.25 0, 1393165.928 658337.101 0, 1392873.349 658313.968 0, 1392580.768 658290.853 0, 1392288.187 658267.755 0, 1391995.603 658244.675 0, 1391703.019 658221.611 0, 1391410.433 658198.565 0,
+ 1391117.845 658175.536 0, 1390825.257 658152.524 0, 1390532.667 658129.53 0, 1390240.075 658106.552 0, 1389947.483 658083.592 0, 1389654.889 658060.649 0, 1389362.293 658037.723 0, 1389069.696 658014.815 0, 1388777.098 657991.924 0, 1388484.499 657969.05 0,
+ 1388191.898 657946.193 0, 1387899.296 657923.353 0, 1387606.692 657900.531 0, 1387314.088 657877.726 0, 1387020.127 657854.832 0, 1386728.874 657832.167 0, 1386436.265 657809.414 0, 1386143.655 657786.677 0, 1385851.043 657763.958 0, 1385558.43 657741.257 0,
+ 1385265.816 657718.572 0, 1384973.201 657695.905 0, 1384680.584 657673.254 0, 1384387.966 657650.622 0, 1384095.346 657628.006 0, 1383802.725 657605.407 0, 1383510.103 657582.826 0, 1383217.479 657560.262 0, 1382924.855 657537.715 0, 1382632.228 657515.186 0,
+ 1382339.601 657492.673 0, 1382046.972 657470.178 0, 1381754.342 657447.7 0, 1381461.71 657425.24 0, 1381169.078 657402.796 0, 1380876.443 657380.37 0, 1380583.808 657357.961 0, 1380291.171 657335.569 0, 1379997.178 657313.091 0, 1379572.924 662864.094 0,
+ 1379148.646 668415.415 0, 1379441.983 668437.843 0, 1379733.966 668460.185 0, 1380025.948 668482.544 0, 1380317.929 668504.92 0, 1380609.908 668527.313 0, 1380901.887 668549.724 0, 1381193.863 668572.151 0, 1381485.839 668594.596 0, 1381777.813 668617.058 0,
+ 1382069.785 668639.538 0, 1382361.757 668662.034 0, 1382653.727 668684.548 0, 1382945.696 668707.079 0, 1383237.663 668729.627 0, 1383529.629 668752.192 0, 1383821.594 668774.774 0, 1384113.558 668797.374 0, 1384405.52 668819.991 0, 1384697.481 668842.624 0,
+ 1384989.44 668865.276 0, 1385281.398 668887.944 0, 1385573.355 668910.629 0, 1385865.31 668933.332 0, 1386155.914 668955.947 0, 1386449.217 668978.789 0, 1386741.169 669001.543 0, 1387033.119 669024.315 0, 1387325.068 669047.103 0, 1387617.015 669069.909 0,
+ 1387908.961 669092.732 0, 1388200.906 669115.572 0, 1388492.849 669138.429 0, 1388784.791 669161.304 0, 1389076.732 669184.196 0, 1389368.671 669207.104 0, 1389660.609 669230.03 0, 1389952.546 669252.974 0, 1390244.481 669275.934 0, 1390536.415 669298.912 0,
+ 1390828.348 669321.907 0, 1391120.279 669344.919 0, 1391412.209 669367.948 0, 1391704.138 669390.994 0, 1391996.065 669414.058 0, 1392287.991 669437.138 0, 1392579.915 669460.236 0, 1392871.838 669483.351 0, 1393162.41 669506.376 0, 1393602.37 663956.276 0,
+ 1394042.305 658406.494 0))
+
+POLYGON ((1407173.036 670636.925 0, 1406882.528 670613.079 0, 1406590.671 670589.139 0, 1406298.813 670565.217 0, 1406006.954 670541.311 0, 1405715.093 670517.423 0, 1405423.231 670493.552 0, 1405131.367 670469.698 0, 1404839.502 670445.862 0, 1404547.636 670422.042 0,
+ 1404255.768 670398.24 0, 1403963.898 670374.455 0, 1403672.028 670350.687 0, 1403380.156 670326.936 0, 1403088.282 670303.203 0, 1402796.407 670279.486 0, 1402504.531 670255.787 0, 1402212.653 670232.105 0, 1401920.774 670208.44 0, 1401628.894 670184.792 0,
+ 1401337.012 670161.162 0, 1401045.129 670137.549 0, 1400753.244 670113.952 0, 1400461.358 670090.373 0, 1400168.122 670066.703 0, 1399877.582 670043.267 0, 1399585.692 670019.74 0, 1399293.8 669996.229 0, 1399001.907 669972.736 0, 1398710.013 669949.261 0,
+ 1398418.117 669925.802 0, 1398126.22 669902.36 0, 1397834.322 669878.936 0, 1397542.422 669855.529 0, 1397250.521 669832.139 0, 1396958.618 669808.766 0, 1396666.714 669785.411 0, 1396374.809 669762.072 0, 1396082.902 669738.751 0, 1395790.994 669715.447 0,
+ 1395499.085 669692.16 0, 1395207.174 669668.89 0, 1394915.262 669645.638 0, 1394623.348 669622.402 0, 1394331.433 669599.184 0, 1394039.517 669575.983 0, 1393747.599 669552.799 0, 1393455.68 669529.633 0, 1393162.41 669506.376 0, 1392722.426 675056.792 0,
+ 1392282.416 680607.518 0, 1392575.03 680630.723 0, 1392866.295 680653.837 0, 1393157.56 680676.969 0, 1393448.823 680700.118 0, 1393740.084 680723.285 0, 1394031.344 680746.468 0, 1394322.603 680769.668 0, 1394613.861 680792.886 0, 1394905.117 680816.121 0,
+ 1395196.371 680839.373 0, 1395487.625 680862.642 0, 1395778.877 680885.928 0, 1396070.127 680909.231 0, 1396361.377 680932.552 0, 1396652.624 680955.889 0, 1396943.871 680979.244 0, 1397235.116 681002.616 0, 1397526.36 681026.005 0, 1397817.602 681049.411 0,
+ 1398108.843 681072.834 0, 1398400.083 681096.275 0, 1398691.321 681119.733 0, 1398982.558 681143.207 0, 1399272.448 681166.591 0, 1399565.027 681190.208 0, 1399856.26 681213.734 0, 1400147.491 681237.278 0, 1400438.721 681260.838 0, 1400729.95 681284.416 0,
+ 1401021.177 681308.011 0, 1401312.403 681331.622 0, 1401603.627 681355.251 0, 1401894.85 681378.898 0, 1402186.072 681402.561 0, 1402477.292 681426.241 0, 1402768.51 681449.939 0, 1403059.728 681473.654 0, 1403350.944 681497.386 0, 1403642.158 681521.135 0,
+ 1403933.372 681544.901 0, 1404224.583 681568.684 0, 1404515.794 681592.484 0, 1404807.003 681616.302 0, 1405098.211 681640.137 0, 1405389.417 681663.988 0, 1405680.621 681687.857 0, 1405971.825 681711.744 0, 1406261.683 681735.536 0, 1406717.372 676186.075 0,
+ 1407173.036 670636.925 0))
+
+POLYGON ((1420237.707 682903.044 0, 1419947.915 682878.432 0, 1419656.78 682853.724 0, 1419365.644 682829.032 0, 1419074.506 682804.357 0, 1418783.367 682779.7 0, 1418492.227 682755.06 0, 1418201.085 682730.437 0, 1417909.941 682705.831 0, 1417618.796 682681.242 0,
+ 1417327.65 682656.671 0, 1417036.502 682632.116 0, 1416745.353 682607.579 0, 1416454.202 682583.058 0, 1416163.05 682558.555 0, 1415871.897 682534.069 0, 1415580.742 682509.601 0, 1415289.585 682485.149 0, 1414998.427 682460.714 0, 1414707.268 682436.297 0,
+ 1414416.107 682411.897 0, 1414124.945 682387.513 0, 1413833.781 682363.147 0, 1413542.616 682338.799 0, 1413250.107 682314.355 0, 1412960.282 682290.152 0, 1412669.113 682265.855 0, 1412377.942 682241.575 0, 1412086.77 682217.311 0, 1411795.596 682193.065 0,
+ 1411504.421 682168.836 0, 1411213.244 682144.625 0, 1410922.066 682120.43 0, 1410630.887 682096.253 0, 1410339.706 682072.092 0, 1410048.524 682047.949 0, 1409757.341 682023.823 0, 1409466.156 681999.714 0, 1409174.969 681975.622 0, 1408883.781 681951.548 0,
+ 1408592.592 681927.49 0, 1408301.401 681903.45 0, 1408010.209 681879.426 0, 1407719.016 681855.42 0, 1407427.821 681831.431 0, 1407136.624 681807.459 0, 1406845.427 681783.505 0, 1406554.227 681759.567 0, 1406261.683 681735.536 0, 1405805.968 687285.306 0,
+ 1405350.228 692835.38 0, 1405642.117 692859.357 0, 1405932.662 692883.241 0, 1406223.207 692907.142 0, 1406513.75 692931.06 0, 1406804.291 692954.995 0, 1407094.832 692978.947 0, 1407385.371 693002.917 0, 1407675.908 693026.903 0, 1407966.444 693050.907 0,
+ 1408256.979 693074.927 0, 1408547.512 693098.965 0, 1408838.043 693123.02 0, 1409128.574 693147.092 0, 1409419.103 693171.181 0, 1409709.63 693195.287 0, 1410000.156 693219.41 0, 1410290.681 693243.551 0, 1410581.204 693267.708 0, 1410871.726 693291.883 0,
+ 1411162.246 693316.074 0, 1411452.765 693340.283 0, 1411743.283 693364.509 0, 1412033.799 693388.752 0, 1412322.974 693412.9 0, 1412614.827 693437.289 0, 1412905.339 693461.583 0, 1413195.849 693485.895 0, 1413486.358 693510.223 0, 1413776.866 693534.569 0,
+ 1414067.372 693558.931 0, 1414357.876 693583.311 0, 1414648.38 693607.708 0, 1414938.881 693632.122 0, 1415229.382 693656.553 0, 1415519.881 693681.001 0, 1415810.378 693705.466 0, 1416100.874 693729.948 0, 1416391.369 693754.448 0, 1416681.862 693778.964 0,
+ 1416972.354 693803.498 0, 1417262.844 693828.049 0, 1417553.333 693852.616 0, 1417843.82 693877.201 0, 1418134.306 693901.803 0, 1418424.791 693926.423 0, 1418715.274 693951.059 0, 1419005.755 693975.712 0, 1419294.897 694000.269 0, 1419766.315 688451.504 0,
+ 1420237.707 682903.044 0))
+
+POLYGON ((1433236.219 695204.549 0, 1432947.145 695179.175 0, 1432656.735 695153.701 0, 1432366.322 695128.244 0, 1432075.909 695102.805 0, 1431785.493 695077.382 0, 1431495.077 695051.977 0, 1431204.658 695026.588 0, 1430914.239 695001.217 0, 1430623.817 694975.863 0,
+ 1430333.395 694950.526 0, 1430042.97 694925.205 0, 1429752.545 694899.903 0, 1429462.117 694874.617 0, 1429171.689 694849.348 0, 1428881.259 694824.096 0, 1428590.827 694798.862 0, 1428300.394 694773.644 0, 1428009.959 694748.444 0, 1427719.523 694723.261 0,
+ 1427429.085 694698.095 0, 1427138.646 694672.945 0, 1426848.206 694647.813 0, 1426557.764 694622.699 0, 1426265.983 694597.485 0, 1425976.875 694572.52 0, 1425686.429 694547.456 0, 1425395.981 694522.41 0, 1425105.531 694497.381 0, 1424815.081 694472.368 0,
+ 1424524.628 694447.373 0, 1424234.174 694422.395 0, 1423943.719 694397.434 0, 1423653.262 694372.49 0, 1423362.804 694347.563 0, 1423072.344 694322.653 0, 1422781.883 694297.761 0, 1422491.421 694272.885 0, 1422200.956 694248.027 0, 1421910.491 694223.185 0,
+ 1421620.024 694198.361 0, 1421329.555 694173.554 0, 1421039.085 694148.764 0, 1420748.614 694123.991 0, 1420458.141 694099.235 0, 1420167.667 694074.496 0, 1419877.191 694049.774 0, 1419586.714 694025.07 0, 1419294.897 694000.269 0, 1418823.453 699549.335 0,
+ 1418351.984 705098.699 0, 1418643.145 705123.444 0, 1418932.969 705148.093 0, 1419222.792 705172.759 0, 1419512.613 705197.442 0, 1419802.433 705222.142 0, 1420092.251 705246.86 0, 1420382.067 705271.594 0, 1420671.883 705296.345 0, 1420961.697 705321.114 0,
+ 1421251.509 705345.899 0, 1421541.32 705370.702 0, 1421831.129 705395.522 0, 1422120.937 705420.358 0, 1422410.744 705445.212 0, 1422700.549 705470.083 0, 1422990.352 705494.971 0, 1423280.154 705519.875 0, 1423569.955 705544.797 0, 1423859.754 705569.736 0,
+ 1424149.552 705594.692 0, 1424439.348 705619.666 0, 1424729.143 705644.656 0, 1425018.936 705669.663 0, 1425307.394 705694.572 0, 1425598.519 705719.729 0, 1425888.307 705744.787 0, 1426178.095 705769.863 0, 1426467.881 705794.955 0, 1426757.665 705820.065 0,
+ 1427047.448 705845.191 0, 1427337.23 705870.335 0, 1427627.01 705895.496 0, 1427916.788 705920.674 0, 1428206.565 705945.868 0, 1428496.341 705971.08 0, 1428786.115 705996.309 0, 1429075.888 706021.555 0, 1429365.659 706046.818 0, 1429655.428 706072.099 0,
+ 1429945.196 706097.396 0, 1430234.963 706122.71 0, 1430524.728 706148.041 0, 1430814.492 706173.39 0, 1431104.254 706198.755 0, 1431394.015 706224.138 0, 1431683.774 706249.537 0, 1431973.532 706274.954 0, 1432261.955 706300.27 0, 1432749.1 700752.26 0,
+ 1433236.219 695204.549 0))
+
+POLYGON ((1446168.475 707541.135 0, 1445880.123 707515.004 0, 1445590.438 707488.769 0, 1445300.752 707462.551 0, 1445011.064 707436.35 0, 1444721.374 707410.166 0, 1444431.683 707383.999 0, 1444141.991 707357.849 0, 1443852.297 707331.716 0, 1443562.602 707305.6 0,
+ 1443272.904 707279.502 0, 1442983.206 707253.42 0, 1442693.506 707227.356 0, 1442403.804 707201.308 0, 1442114.101 707175.278 0, 1441824.396 707149.264 0, 1441534.69 707123.268 0, 1441244.982 707097.288 0, 1440955.273 707071.326 0, 1440665.562 707045.381 0,
+ 1440375.85 707019.453 0, 1440086.136 706993.542 0, 1439796.42 706967.647 0, 1439506.703 706941.77 0, 1439215.653 706915.792 0, 1438927.265 706890.068 0, 1438637.544 706864.242 0, 1438347.82 706838.433 0, 1438058.096 706812.641 0, 1437768.37 706786.866 0,
+ 1437478.642 706761.109 0, 1437188.913 706735.368 0, 1436899.183 706709.645 0, 1436609.451 706683.938 0, 1436319.717 706658.249 0, 1436029.982 706632.576 0, 1435740.245 706606.921 0, 1435450.507 706581.283 0, 1435160.767 706555.662 0, 1434871.026 706530.057 0,
+ 1434581.283 706504.47 0, 1434291.539 706478.9 0, 1434001.794 706453.347 0, 1433712.046 706427.811 0, 1433422.298 706402.292 0, 1433132.547 706376.79 0, 1432842.796 706351.306 0, 1432553.043 706325.838 0, 1432261.955 706300.27 0, 1431774.784 711848.574 0,
+ 1431287.588 717397.17 0, 1431578.019 717422.68 0, 1431867.119 717448.09 0, 1432156.218 717473.518 0, 1432445.315 717498.962 0, 1432734.411 717524.423 0, 1433023.505 717549.902 0, 1433312.597 717575.397 0, 1433601.688 717600.91 0, 1433890.778 717626.439 0,
+ 1434179.866 717651.985 0, 1434468.952 717677.549 0, 1434758.037 717703.129 0, 1435047.121 717728.727 0, 1435336.203 717754.341 0, 1435625.284 717779.973 0, 1435914.363 717805.621 0, 1436203.44 717831.287 0, 1436492.516 717856.97 0, 1436781.591 717882.669 0,
+ 1437070.664 717908.386 0, 1437359.735 717934.119 0, 1437648.805 717959.87 0, 1437937.873 717985.638 0, 1438225.612 718011.304 0, 1438516.006 718037.224 0, 1438805.07 718063.043 0, 1439094.132 718088.878 0, 1439383.193 718114.731 0, 1439672.252 718140.601 0,
+ 1439961.31 718166.488 0, 1440250.366 718192.391 0, 1440539.421 718218.312 0, 1440828.474 718244.25 0, 1441117.526 718270.205 0, 1441406.576 718296.177 0, 1441695.625 718322.165 0, 1441984.672 718348.171 0, 1442273.717 718374.194 0, 1442562.761 718400.234 0,
+ 1442851.804 718426.291 0, 1443140.845 718452.365 0, 1443429.884 718478.456 0, 1443718.922 718504.563 0, 1444007.959 718530.688 0, 1444296.993 718556.83 0, 1444586.027 718582.989 0, 1444875.058 718609.165 0, 1445162.761 718635.238 0, 1445665.631 713088.041 0,
+ 1446168.475 707541.135 0))
+
+POLYGON ((1459034.382 719912.501 0, 1458746.751 719885.615 0, 1458457.795 719858.623 0, 1458168.837 719831.647 0, 1457879.877 719804.689 0, 1457590.915 719777.748 0, 1457301.952 719750.823 0, 1457012.988 719723.916 0, 1456724.022 719697.026 0, 1456435.054 719670.152 0,
+ 1456146.085 719643.296 0, 1455857.114 719616.456 0, 1455568.141 719589.634 0, 1455279.167 719562.829 0, 1454990.192 719536.04 0, 1454701.214 719509.269 0, 1454412.236 719482.515 0, 1454123.255 719455.778 0, 1453834.273 719429.057 0, 1453545.29 719402.354 0,
+ 1453256.305 719375.668 0, 1452967.318 719348.998 0, 1452678.33 719322.346 0, 1452389.34 719295.711 0, 1452099.023 719268.971 0, 1451811.356 719242.491 0, 1451522.361 719215.907 0, 1451233.365 719189.34 0, 1450944.368 719162.79 0, 1450655.368 719136.257 0,
+ 1450366.368 719109.741 0, 1450077.365 719083.241 0, 1449788.362 719056.759 0, 1449499.356 719030.294 0, 1449210.349 719003.846 0, 1448921.341 718977.415 0, 1448632.331 718951.001 0, 1448343.319 718924.604 0, 1448054.306 718898.223 0, 1447765.291 718871.86 0,
+ 1447476.275 718845.514 0, 1447187.257 718819.185 0, 1446898.237 718792.873 0, 1446609.217 718766.578 0, 1446320.194 718740.3 0, 1446031.17 718714.039 0, 1445742.144 718687.795 0, 1445453.117 718661.568 0, 1445162.761 718635.238 0, 1444659.865 724182.722 0,
+ 1444156.943 729730.491 0, 1444446.643 729756.762 0, 1444735.017 729782.929 0, 1445023.39 729809.114 0, 1445311.761 729835.316 0, 1445600.13 729861.534 0, 1445888.498 729887.77 0, 1446176.864 729914.023 0, 1446465.229 729940.292 0, 1446753.592 729966.579 0,
+ 1447041.954 729992.882 0, 1447330.314 730019.203 0, 1447618.673 730045.54 0, 1447907.03 730071.895 0, 1448195.386 730098.266 0, 1448483.74 730124.654 0, 1448772.092 730151.06 0, 1449060.443 730177.482 0, 1449348.792 730203.921 0, 1449637.14 730230.378 0,
+ 1449925.486 730256.851 0, 1450213.831 730283.341 0, 1450502.174 730309.848 0, 1450790.515 730336.372 0, 1451077.532 730362.792 0, 1451367.194 730389.472 0, 1451655.53 730416.047 0, 1451943.866 730442.639 0, 1452232.199 730469.248 0, 1452520.532 730495.874 0,
+ 1452808.862 730522.517 0, 1453097.191 730549.177 0, 1453385.519 730575.853 0, 1453673.844 730602.547 0, 1453962.169 730629.258 0, 1454250.491 730655.986 0, 1454538.813 730682.731 0, 1454827.132 730709.492 0, 1455115.45 730736.271 0, 1455403.767 730763.067 0,
+ 1455692.081 730789.879 0, 1455980.395 730816.709 0, 1456268.706 730843.556 0, 1456557.016 730870.419 0, 1456845.325 730897.3 0, 1457133.632 730924.197 0, 1457421.937 730951.112 0, 1457710.241 730978.043 0, 1457997.221 731004.868 0, 1458515.815 725458.542 0,
+ 1459034.382 719912.501 0))
+
+POLYGON ((1471833.844 732318.341 0, 1471546.938 732290.706 0, 1471258.712 732262.96 0, 1470970.484 732235.231 0, 1470682.254 732207.519 0, 1470394.022 732179.824 0, 1470105.789 732152.146 0, 1469817.555 732124.485 0, 1469529.318 732096.841 0, 1469241.081 732069.214 0,
+ 1468952.841 732041.604 0, 1468664.6 732014.011 0, 1468376.357 731986.434 0, 1468088.113 731958.875 0, 1467799.866 731931.333 0, 1467511.619 731903.808 0, 1467223.37 731876.299 0, 1466935.119 731848.808 0, 1466646.866 731821.334 0, 1466358.612 731793.876 0,
+ 1466070.356 731766.436 0, 1465782.099 731739.012 0, 1465493.84 731711.606 0, 1465205.579 731684.216 0, 1464915.996 731656.718 0, 1464629.053 731629.488 0, 1464340.788 731602.149 0, 1464052.521 731574.828 0, 1463764.252 731547.523 0, 1463475.982 731520.235 0,
+ 1463187.71 731492.964 0, 1462899.437 731465.71 0, 1462611.161 731438.474 0, 1462322.885 731411.254 0, 1462034.607 731384.051 0, 1461746.327 731356.865 0, 1461458.045 731329.696 0, 1461169.762 731302.544 0, 1460881.477 731275.409 0, 1460593.191 731248.291 0,
+ 1460304.903 731221.19 0, 1460016.614 731194.105 0, 1459728.323 731167.038 0, 1459440.03 731139.988 0, 1459151.736 731112.955 0, 1458863.44 731085.939 0, 1458575.143 731058.939 0, 1458286.844 731031.957 0, 1457997.221 731004.868 0, 1457478.602 736551.474 0,
+ 1456959.956 742098.358 0, 1457248.922 742125.385 0, 1457536.568 742152.307 0, 1457824.213 742179.245 0, 1458111.856 742206.2 0, 1458399.497 742233.172 0, 1458687.137 742260.161 0, 1458974.775 742287.167 0, 1459262.411 742314.189 0, 1459550.046 742341.229 0,
+ 1459837.68 742368.286 0, 1460125.312 742395.359 0, 1460412.942 742422.45 0, 1460700.57 742449.557 0, 1460988.197 742476.682 0, 1461275.823 742503.823 0, 1461563.446 742530.981 0, 1461851.069 742558.157 0, 1462138.689 742585.349 0, 1462426.308 742612.558 0,
+ 1462713.926 742639.784 0, 1463001.541 742667.027 0, 1463289.156 742694.286 0, 1463576.768 742721.563 0, 1463863.062 742748.732 0, 1464151.988 742776.167 0, 1464439.596 742803.495 0, 1464727.202 742830.839 0, 1465014.807 742858.201 0, 1465302.41 742885.579 0,
+ 1465590.011 742912.974 0, 1465877.611 742940.386 0, 1466165.209 742967.816 0, 1466452.805 742995.262 0, 1466740.4 743022.725 0, 1467027.993 743050.204 0, 1467315.585 743077.701 0, 1467603.175 743105.215 0, 1467890.763 743132.746 0, 1468178.35 743160.293 0,
+ 1468465.935 743187.858 0, 1468753.519 743215.439 0, 1469041.101 743243.038 0, 1469328.681 743270.653 0, 1469616.26 743298.285 0, 1469903.837 743325.934 0, 1470191.412 743353.6 0, 1470478.986 743381.283 0, 1470765.242 743408.856 0, 1471299.556 737863.46 0,
+ 1471833.844 732318.341 0))
+
+POLYGON ((1484566.77 744758.352 0, 1484280.591 744729.97 0, 1483993.096 744701.475 0, 1483705.6 744672.996 0, 1483418.103 744644.535 0, 1483130.603 744616.09 0, 1482843.102 744587.663 0, 1482555.599 744559.252 0, 1482268.095 744530.858 0, 1481980.589 744502.481 0,
+ 1481693.081 744474.121 0, 1481405.572 744445.778 0, 1481118.06 744417.452 0, 1480830.548 744389.143 0, 1480543.033 744360.851 0, 1480255.517 744332.575 0, 1479967.999 744304.317 0, 1479680.48 744276.075 0, 1479392.959 744247.851 0, 1479105.436 744219.643 0,
+ 1478817.912 744191.452 0, 1478530.386 744163.279 0, 1478242.858 744135.122 0, 1477955.328 744106.982 0, 1477666.482 744078.73 0, 1477380.265 744050.753 0, 1477092.73 744022.663 0, 1476805.194 743994.591 0, 1476517.657 743966.536 0, 1476230.117 743938.497 0,
+ 1475942.576 743910.476 0, 1475655.034 743882.471 0, 1475367.489 743854.484 0, 1475079.943 743826.513 0, 1474792.396 743798.559 0, 1474504.847 743770.622 0, 1474217.296 743742.702 0, 1473929.743 743714.799 0, 1473642.189 743686.913 0, 1473354.633 743659.044 0,
+ 1473067.076 743631.192 0, 1472779.517 743603.357 0, 1472491.956 743575.538 0, 1472204.394 743547.737 0, 1471916.83 743519.952 0, 1471629.264 743492.184 0, 1471341.697 743464.434 0, 1471054.128 743436.7 0, 1470765.242 743408.856 0, 1470230.901 748954.526 0,
+ 1469696.534 754500.466 0, 1469984.765 754528.247 0, 1470271.681 754555.918 0, 1470558.595 754583.605 0, 1470845.508 754611.31 0, 1471132.419 754639.031 0, 1471419.329 754666.77 0, 1471706.236 754694.525 0, 1471993.143 754722.297 0, 1472280.047 754750.086 0,
+ 1472566.95 754777.892 0, 1472853.852 754805.715 0, 1473140.751 754833.555 0, 1473427.649 754861.411 0, 1473714.546 754889.285 0, 1474001.441 754917.175 0, 1474288.334 754945.082 0, 1474575.225 754973.006 0, 1474862.115 755000.947 0, 1475149.003 755028.905 0,
+ 1475435.89 755056.88 0, 1475722.775 755084.872 0, 1476009.658 755112.88 0, 1476296.54 755140.906 0, 1476582.108 755168.82 0, 1476870.298 755197.007 0, 1477157.175 755225.083 0, 1477444.05 755253.176 0, 1477730.923 755281.286 0, 1478017.795 755309.413 0,
+ 1478304.665 755337.556 0, 1478591.533 755365.717 0, 1478878.4 755393.894 0, 1479165.265 755422.088 0, 1479452.128 755450.3 0, 1479738.99 755478.528 0, 1480025.85 755506.773 0, 1480312.709 755535.034 0, 1480599.565 755563.313 0, 1480886.42 755591.609 0,
+ 1481173.274 755619.921 0, 1481460.126 755648.25 0, 1481746.976 755676.597 0, 1482033.824 755704.96 0, 1482320.671 755733.34 0, 1482607.516 755761.737 0, 1482894.359 755790.15 0, 1483181.201 755818.581 0, 1483466.73 755846.899 0, 1484016.764 750302.49 0,
+ 1484566.77 744758.352 0))
+
+POLYGON ((1497233.068 757232.229 0, 1496947.618 757203.104 0, 1496660.858 757173.864 0, 1496374.096 757144.639 0, 1496087.332 757115.432 0, 1495800.566 757086.242 0, 1495513.799 757057.069 0, 1495227.03 757027.912 0, 1494940.26 756998.772 0, 1494653.488 756969.65 0,
+ 1494366.714 756940.544 0, 1494079.938 756911.455 0, 1493793.16 756882.383 0, 1493506.381 756853.327 0, 1493219.6 756824.289 0, 1492932.818 756795.268 0, 1492646.034 756766.263 0, 1492359.248 756737.275 0, 1492072.46 756708.304 0, 1491785.671 756679.35 0,
+ 1491498.879 756650.413 0, 1491212.087 756621.493 0, 1490925.292 756592.59 0, 1490638.496 756563.703 0, 1490350.389 756534.702 0, 1490064.898 756505.981 0, 1489778.097 756477.145 0, 1489491.294 756448.326 0, 1489204.489 756419.524 0, 1488917.683 756390.739 0,
+ 1488630.875 756361.971 0, 1488344.065 756333.22 0, 1488057.254 756304.485 0, 1487770.441 756275.767 0, 1487483.626 756247.067 0, 1487196.809 756218.383 0, 1486909.991 756189.716 0, 1486623.171 756161.066 0, 1486336.35 756132.432 0, 1486049.526 756103.816 0,
+ 1485762.701 756075.217 0, 1485475.875 756046.634 0, 1485189.046 756018.068 0, 1484902.216 755989.519 0, 1484615.385 755960.988 0, 1484328.551 755932.472 0, 1484041.716 755903.974 0, 1483754.88 755875.493 0, 1483466.73 755846.899 0, 1482916.671 761391.574 0,
+ 1482366.585 766936.512 0, 1482654.079 766965.041 0, 1482940.263 766993.458 0, 1483226.445 767021.891 0, 1483512.626 767050.341 0, 1483798.805 767078.808 0, 1484084.982 767107.292 0, 1484371.158 767135.793 0, 1484657.332 767164.31 0, 1484943.504 767192.845 0,
+ 1485229.674 767221.396 0, 1485515.843 767249.964 0, 1485802.011 767278.549 0, 1486088.176 767307.151 0, 1486374.34 767335.769 0, 1486660.502 767364.405 0, 1486946.663 767393.057 0, 1487232.821 767421.726 0, 1487518.979 767450.412 0, 1487805.134 767479.115 0,
+ 1488091.288 767507.835 0, 1488377.44 767536.571 0, 1488663.59 767565.325 0, 1488949.739 767594.095 0, 1489234.579 767622.75 0, 1489522.031 767651.686 0, 1489808.175 767680.506 0, 1490094.317 767709.344 0, 1490380.457 767738.198 0, 1490666.595 767767.07 0,
+ 1490952.732 767795.958 0, 1491238.867 767824.863 0, 1491525 767853.784 0, 1491811.132 767882.723 0, 1492097.262 767911.678 0, 1492383.39 767940.651 0, 1492669.517 767969.64 0, 1492955.642 767998.646 0, 1493241.765 768027.669 0, 1493527.886 768056.708 0,
+ 1493814.006 768085.765 0, 1494100.124 768114.838 0, 1494386.241 768143.928 0, 1494672.355 768173.035 0, 1494958.468 768202.159 0, 1495244.579 768231.3 0, 1495530.689 768260.457 0, 1495816.796 768289.632 0, 1496101.597 768318.69 0, 1496667.346 762775.328 0,
+ 1497233.068 757232.229 0))
+
+POLYGON ((1509832.65 769739.666 0, 1509547.93 769709.803 0, 1509261.906 769679.821 0, 1508975.88 769649.855 0, 1508689.852 769619.906 0, 1508403.823 769589.974 0, 1508117.791 769560.059 0, 1507831.758 769530.16 0, 1507545.724 769500.279 0, 1507259.687 769470.414 0,
+ 1506973.649 769440.566 0, 1506687.609 769410.735 0, 1506401.567 769380.921 0, 1506115.523 769351.124 0, 1505829.478 769321.343 0, 1505543.431 769291.579 0, 1505257.382 769261.832 0, 1504971.332 769232.102 0, 1504685.28 769202.389 0, 1504399.226 769172.693 0,
+ 1504113.17 769143.013 0, 1503827.112 769113.351 0, 1503541.053 769083.705 0, 1503254.992 769054.076 0, 1502967.625 769024.329 0, 1502682.865 768994.868 0, 1502396.798 768965.29 0, 1502110.73 768935.728 0, 1501824.661 768906.183 0, 1501538.589 768876.655 0,
+ 1501252.516 768847.144 0, 1500966.441 768817.65 0, 1500680.364 768788.172 0, 1500394.286 768758.712 0, 1500108.206 768729.268 0, 1499822.124 768699.841 0, 1499536.04 768670.431 0, 1499249.955 768641.038 0, 1498963.868 768611.661 0, 1498677.779 768582.302 0,
+ 1498391.689 768552.959 0, 1498105.596 768523.633 0, 1497819.502 768494.324 0, 1497533.407 768465.032 0, 1497247.309 768435.756 0, 1496961.21 768406.498 0, 1496675.109 768377.256 0, 1496389.007 768348.031 0, 1496101.597 768318.69 0, 1495535.822 773862.311 0,
+ 1494970.02 779406.189 0, 1495256.774 779435.464 0, 1495542.224 779464.622 0, 1495827.672 779493.797 0, 1496113.119 779522.989 0, 1496398.564 779552.197 0, 1496684.007 779581.423 0, 1496969.448 779610.665 0, 1497254.888 779639.924 0, 1497540.326 779669.2 0,
+ 1497825.762 779698.493 0, 1498111.197 779727.802 0, 1498396.63 779757.128 0, 1498682.061 779786.471 0, 1498967.49 779815.831 0, 1499252.918 779845.208 0, 1499538.343 779874.601 0, 1499823.768 779904.011 0, 1500109.19 779933.439 0, 1500394.611 779962.882 0,
+ 1500680.03 779992.343 0, 1500965.447 780021.82 0, 1501250.862 780051.315 0, 1501536.276 780080.826 0, 1501820.387 780110.219 0, 1502107.098 780139.898 0, 1502392.507 780169.46 0, 1502677.914 780199.038 0, 1502963.319 780228.633 0, 1503248.722 780258.245 0,
+ 1503534.124 780287.873 0, 1503819.523 780317.519 0, 1504104.922 780347.181 0, 1504390.318 780376.86 0, 1504675.712 780406.556 0, 1504961.105 780436.268 0, 1505246.496 780465.998 0, 1505531.886 780495.744 0, 1505817.273 780525.507 0, 1506102.659 780555.287 0,
+ 1506388.043 780585.083 0, 1506673.425 780614.897 0, 1506958.806 780644.727 0, 1507244.185 780674.574 0, 1507529.562 780704.438 0, 1507814.937 780734.318 0, 1508100.311 780764.216 0, 1508385.682 780794.13 0, 1508669.753 780823.924 0, 1509251.215 775281.667 0,
+ 1509832.65 769739.666 0))
+
+POLYGON ((1522365.426 782280.358 0, 1522081.438 782249.761 0, 1521796.152 782219.04 0, 1521510.864 782188.337 0, 1521225.574 782157.65 0, 1520940.283 782126.98 0, 1520654.99 782096.327 0, 1520369.694 782065.691 0, 1520084.397 782035.071 0, 1519799.099 782004.469 0,
+ 1519513.798 781973.883 0, 1519228.496 781943.314 0, 1518943.192 781912.761 0, 1518657.886 781882.226 0, 1518372.578 781851.707 0, 1518087.268 781821.205 0, 1517801.957 781790.72 0, 1517516.644 781760.251 0, 1517231.329 781729.8 0, 1516946.012 781699.365 0,
+ 1516660.694 781668.947 0, 1516375.374 781638.546 0, 1516090.051 781608.161 0, 1515804.728 781577.794 0, 1515518.104 781547.305 0, 1515234.074 781517.109 0, 1514948.745 781486.791 0, 1514663.414 781456.491 0, 1514378.081 781426.207 0, 1514092.747 781395.94 0,
+ 1513807.41 781365.69 0, 1513522.072 781335.457 0, 1513236.732 781305.241 0, 1512951.391 781275.041 0, 1512666.047 781244.858 0, 1512380.702 781214.692 0, 1512095.355 781184.542 0, 1511810.006 781154.41 0, 1511524.656 781124.294 0, 1511239.303 781094.195 0,
+ 1510953.949 781064.113 0, 1510668.593 781034.048 0, 1510383.236 781003.999 0, 1510097.876 780973.968 0, 1509812.515 780943.953 0, 1509527.152 780913.954 0, 1509241.787 780883.973 0, 1508956.421 780854.009 0, 1508669.753 780823.924 0, 1508088.265 786366.434 0,
+ 1507506.75 791909.193 0, 1507792.763 791939.209 0, 1508077.477 791969.105 0, 1508362.189 791999.017 0, 1508646.899 792028.947 0, 1508931.608 792058.893 0, 1509216.315 792088.856 0, 1509501.02 792118.836 0, 1509785.724 792148.833 0, 1510070.426 792178.846 0,
+ 1510355.125 792208.876 0, 1510639.824 792238.923 0, 1510924.52 792268.987 0, 1511209.215 792299.067 0, 1511493.907 792329.164 0, 1511778.599 792359.278 0, 1512063.288 792389.409 0, 1512347.975 792419.556 0, 1512632.661 792449.72 0, 1512917.345 792479.901 0,
+ 1513202.027 792510.099 0, 1513486.708 792540.314 0, 1513771.386 792570.545 0, 1514056.063 792600.793 0, 1514339.443 792630.92 0, 1514625.412 792661.339 0, 1514910.083 792691.637 0, 1515194.753 792721.952 0, 1515479.421 792752.284 0, 1515764.087 792782.632 0,
+ 1516048.751 792812.997 0, 1516333.414 792843.379 0, 1516618.075 792873.778 0, 1516902.734 792904.194 0, 1517187.391 792934.626 0, 1517472.046 792965.075 0, 1517756.7 792995.541 0, 1518041.352 793026.023 0, 1518326.002 793056.522 0, 1518610.65 793087.038 0,
+ 1518895.297 793117.571 0, 1519179.941 793148.121 0, 1519464.584 793178.687 0, 1519749.225 793209.27 0, 1520033.865 793239.87 0, 1520318.502 793270.486 0, 1520603.138 793301.12 0, 1520887.772 793331.77 0, 1521171.11 793362.297 0, 1521768.281 787821.203 0,
+ 1522365.426 782280.358 0))
+
+POLYGON ((1534831.309 794853.999 0, 1534548.056 794822.671 0, 1534263.51 794791.217 0, 1533978.962 794759.78 0, 1533694.412 794728.359 0, 1533409.861 794696.955 0, 1533125.307 794665.568 0, 1532840.752 794634.198 0, 1532556.195 794602.844 0, 1532271.636 794571.508 0,
+ 1531987.075 794540.188 0, 1531702.512 794508.884 0, 1531417.947 794477.598 0, 1531133.381 794446.328 0, 1530848.813 794415.075 0, 1530564.242 794383.838 0, 1530279.671 794352.619 0, 1529995.097 794321.416 0, 1529710.521 794290.23 0, 1529425.944 794259.061 0,
+ 1529141.364 794227.908 0, 1528856.783 794196.772 0, 1528572.2 794165.653 0, 1528287.616 794134.551 0, 1528001.736 794103.324 0, 1527718.44 794072.396 0, 1527433.85 794041.344 0, 1527149.258 794010.309 0, 1526864.664 793979.29 0, 1526580.068 793948.288 0,
+ 1526295.471 793917.303 0, 1526010.871 793886.335 0, 1525726.27 793855.383 0, 1525441.667 793824.449 0, 1525157.062 793793.531 0, 1524872.456 793762.629 0, 1524587.847 793731.745 0, 1524303.237 793700.877 0, 1524018.625 793670.026 0, 1523734.011 793639.191 0,
+ 1523449.395 793608.374 0, 1523164.777 793577.573 0, 1522880.158 793546.789 0, 1522595.537 793516.022 0, 1522310.914 793485.271 0, 1522026.289 793454.537 0, 1521741.662 793423.82 0, 1521457.034 793393.12 0, 1521171.11 793362.297 0, 1520573.912 798903.636 0,
+ 1519976.688 804445.218 0, 1520261.957 804475.97 0, 1520545.933 804506.6 0, 1520829.907 804537.247 0, 1521113.88 804567.91 0, 1521397.85 804598.59 0, 1521681.819 804629.287 0, 1521965.786 804660 0, 1522249.752 804690.731 0, 1522533.715 804721.478 0,
+ 1522817.677 804752.241 0, 1523101.637 804783.022 0, 1523385.595 804813.819 0, 1523669.551 804844.632 0, 1523953.505 804875.463 0, 1524237.458 804906.31 0, 1524521.409 804937.174 0, 1524805.358 804968.055 0, 1525089.305 804998.952 0, 1525373.25 805029.866 0,
+ 1525657.194 805060.797 0, 1525941.136 805091.744 0, 1526225.075 805122.709 0, 1526509.013 805153.69 0, 1526791.66 805184.546 0, 1527076.884 805215.702 0, 1527360.817 805246.733 0, 1527644.747 805277.78 0, 1527928.676 805308.845 0, 1528212.603 805339.926 0,
+ 1528496.529 805371.024 0, 1528780.452 805402.139 0, 1529064.374 805433.27 0, 1529348.293 805464.418 0, 1529632.211 805495.583 0, 1529916.128 805526.764 0, 1530200.042 805557.962 0, 1530483.954 805589.177 0, 1530767.865 805620.409 0, 1531051.774 805651.657 0,
+ 1531335.68 805682.922 0, 1531619.586 805714.204 0, 1531903.489 805745.502 0, 1532187.39 805776.817 0, 1532471.29 805808.149 0, 1532755.187 805839.498 0, 1533039.083 805870.863 0, 1533322.977 805902.245 0, 1533605.581 805933.501 0, 1534218.458 800393.629 0,
+ 1534831.309 794853.999 0))
+
+POLYGON ((1547230.215 807460.283 0, 1546947.698 807428.228 0, 1546663.894 807396.044 0, 1546380.088 807363.877 0, 1546096.28 807331.726 0, 1545812.47 807299.593 0, 1545528.659 807267.476 0, 1545244.845 807235.375 0, 1544961.029 807203.292 0, 1544677.212 807171.225 0,
+ 1544393.392 807139.174 0, 1544109.571 807107.141 0, 1543825.748 807075.124 0, 1543541.923 807043.124 0, 1543258.096 807011.14 0, 1542974.268 806979.174 0, 1542690.437 806947.223 0, 1542406.604 806915.29 0, 1542122.77 806883.374 0, 1541838.934 806851.474 0,
+ 1541555.096 806819.59 0, 1541271.256 806787.724 0, 1540987.414 806755.874 0, 1540703.57 806724.041 0, 1540418.437 806692.08 0, 1540135.877 806660.425 0, 1539852.027 806628.642 0, 1539568.176 806596.876 0, 1539284.323 806565.126 0, 1539000.468 806533.393 0,
+ 1538716.611 806501.677 0, 1538432.752 806469.978 0, 1538148.892 806438.295 0, 1537865.029 806406.629 0, 1537581.165 806374.98 0, 1537297.299 806343.347 0, 1537013.431 806311.731 0, 1536729.561 806280.132 0, 1536445.689 806248.549 0, 1536161.815 806216.984 0,
+ 1535877.94 806185.435 0, 1535594.063 806153.902 0, 1535310.183 806122.387 0, 1535026.302 806090.888 0, 1534742.419 806059.405 0, 1534458.535 806027.94 0, 1534174.648 805996.491 0, 1533890.76 805965.059 0, 1533605.581 805933.501 0, 1532992.677 811473.611 0,
+ 1532379.747 817013.956 0, 1532664.271 817045.442 0, 1532947.507 817076.802 0, 1533230.742 817108.178 0, 1533513.974 817139.571 0, 1533797.205 817170.981 0, 1534080.434 817202.408 0, 1534363.661 817233.851 0, 1534646.886 817265.311 0, 1534930.109 817296.788 0,
+ 1535213.331 817328.281 0, 1535496.551 817359.791 0, 1535779.768 817391.317 0, 1536062.984 817422.861 0, 1536346.198 817454.421 0, 1536629.411 817485.997 0, 1536912.621 817517.59 0, 1537195.829 817549.2 0, 1537479.036 817580.827 0, 1537762.241 817612.47 0,
+ 1538045.444 817644.13 0, 1538328.645 817675.807 0, 1538611.844 817707.5 0, 1538895.041 817739.21 0, 1539176.952 817770.793 0, 1539461.43 817802.68 0, 1539744.622 817834.44 0, 1540027.812 817866.217 0, 1540311 817898.01 0, 1540594.186 817929.82 0,
+ 1540877.37 817961.646 0, 1541160.552 817993.49 0, 1541443.733 818025.35 0, 1541726.911 818057.226 0, 1542010.088 818089.12 0, 1542293.263 818121.03 0, 1542576.436 818152.956 0, 1542859.607 818184.9 0, 1543142.776 818216.86 0, 1543425.944 818248.836 0,
+ 1543709.109 818280.83 0, 1543992.273 818312.84 0, 1544275.434 818344.866 0, 1544558.594 818376.909 0, 1544841.752 818408.969 0, 1545124.908 818441.046 0, 1545408.062 818473.139 0, 1545691.214 818505.249 0, 1545973.082 818537.23 0, 1546601.662 812998.639 0,
+ 1547230.215 807460.283 0))
+
+POLYGON ((1559562.059 820098.902 0, 1559280.281 820066.125 0, 1558997.22 820033.215 0, 1558714.158 820000.322 0, 1558431.094 819967.445 0, 1558148.027 819934.585 0, 1557864.959 819901.742 0, 1557581.889 819868.916 0, 1557298.817 819836.106 0, 1557015.743 819803.313 0,
+ 1556732.667 819770.536 0, 1556449.59 819737.776 0, 1556166.51 819705.033 0, 1555883.428 819672.307 0, 1555600.345 819639.597 0, 1555317.259 819606.904 0, 1555034.172 819574.227 0, 1554751.082 819541.567 0, 1554467.991 819508.924 0, 1554184.898 819476.297 0,
+ 1553901.803 819443.688 0, 1553618.706 819411.094 0, 1553335.607 819378.518 0, 1553052.506 819345.958 0, 1552768.122 819313.267 0, 1552486.299 819280.888 0, 1552203.192 819248.378 0, 1551920.084 819215.885 0, 1551636.973 819183.408 0, 1551353.861 819150.948 0,
+ 1551070.747 819118.505 0, 1550787.63 819086.078 0, 1550504.512 819053.669 0, 1550221.392 819021.275 0, 1549938.271 818988.899 0, 1549655.147 818956.539 0, 1549372.021 818924.195 0, 1549088.893 818891.869 0, 1548805.764 818859.559 0, 1548522.633 818827.266 0,
+ 1548239.499 818794.989 0, 1547956.364 818762.729 0, 1547673.227 818730.486 0, 1547390.088 818698.259 0, 1547106.947 818666.049 0, 1546823.804 818633.856 0, 1546540.66 818601.679 0, 1546257.513 818569.519 0, 1545973.082 818537.23 0, 1545344.476 824076.053 0,
+ 1544715.844 829615.102 0, 1544999.62 829647.317 0, 1545282.115 829679.403 0, 1545564.607 829711.505 0, 1545847.098 829743.624 0, 1546129.587 829775.76 0, 1546412.074 829807.912 0, 1546694.559 829840.082 0, 1546977.042 829872.267 0, 1547259.524 829904.47 0,
+ 1547542.003 829936.688 0, 1547824.481 829968.924 0, 1548106.956 830001.176 0, 1548389.43 830033.445 0, 1548671.902 830065.73 0, 1548954.372 830098.032 0, 1549236.84 830130.351 0, 1549519.306 830162.686 0, 1549801.77 830195.038 0, 1550084.232 830227.407 0,
+ 1550366.693 830259.792 0, 1550649.151 830292.194 0, 1550931.608 830324.612 0, 1551214.062 830357.047 0, 1551495.236 830389.352 0, 1551778.966 830421.967 0, 1552061.415 830454.452 0, 1552343.862 830486.954 0, 1552626.307 830519.472 0, 1552908.75 830552.007 0,
+ 1553191.192 830584.558 0, 1553473.631 830617.126 0, 1553756.068 830649.711 0, 1554038.504 830682.312 0, 1554320.938 830714.93 0, 1554603.369 830747.565 0, 1554885.799 830780.216 0, 1555168.227 830812.884 0, 1555450.653 830845.568 0, 1555733.077 830878.269 0,
+ 1556015.499 830910.987 0, 1556297.919 830943.721 0, 1556580.337 830976.472 0, 1556862.754 831009.239 0, 1557145.168 831042.024 0, 1557427.58 831074.824 0, 1557709.991 831107.642 0, 1557992.399 831140.476 0, 1558273.529 831173.178 0, 1558917.807 825635.926 0,
+ 1559562.059 820098.902 0))
+
+POLYGON ((1571826.757 832769.55 0, 1571545.72 832736.054 0, 1571263.405 832702.422 0, 1570981.088 832668.807 0, 1570698.77 832635.208 0, 1570416.449 832601.626 0, 1570134.126 832568.061 0, 1569851.802 832534.512 0, 1569569.475 832500.98 0, 1569287.147 832467.465 0,
+ 1569004.816 832433.966 0, 1568722.484 832400.484 0, 1568440.149 832367.018 0, 1568157.813 832333.57 0, 1567875.475 832300.137 0, 1567593.134 832266.721 0, 1567310.792 832233.322 0, 1567028.448 832199.94 0, 1566746.102 832166.574 0, 1566463.753 832133.225 0,
+ 1566181.403 832099.892 0, 1565899.051 832066.576 0, 1565616.697 832033.277 0, 1565334.341 831999.994 0, 1565050.707 831966.578 0, 1564769.623 831933.478 0, 1564487.261 831900.245 0, 1564204.897 831867.029 0, 1563922.531 831833.829 0, 1563640.164 831800.646 0,
+ 1563357.794 831767.48 0, 1563075.422 831734.33 0, 1562793.049 831701.197 0, 1562510.673 831668.08 0, 1562228.295 831634.98 0, 1561945.916 831601.897 0, 1561663.535 831568.83 0, 1561381.151 831535.78 0, 1561098.766 831502.747 0, 1560816.379 831469.73 0,
+ 1560533.989 831436.73 0, 1560251.598 831403.746 0, 1559969.205 831370.779 0, 1559686.81 831337.829 0, 1559404.413 831304.895 0, 1559122.014 831271.978 0, 1558839.614 831239.077 0, 1558557.211 831206.194 0, 1558273.529 831173.178 0, 1557629.224 836710.653 0,
+ 1556984.894 842248.348 0, 1557267.922 842281.288 0, 1557549.673 842314.096 0, 1557831.422 842346.921 0, 1558113.169 842379.762 0, 1558394.914 842412.62 0, 1558676.657 842445.494 0, 1558958.398 842478.385 0, 1559240.138 842511.292 0, 1559521.875 842544.216 0,
+ 1559803.61 842577.157 0, 1560085.344 842610.114 0, 1560367.075 842643.088 0, 1560648.805 842676.078 0, 1560930.533 842709.085 0, 1561212.259 842742.109 0, 1561493.982 842775.149 0, 1561775.704 842808.206 0, 1562057.424 842841.279 0, 1562339.142 842874.369 0,
+ 1562620.858 842907.475 0, 1562902.572 842940.598 0, 1563184.284 842973.738 0, 1563465.994 843006.894 0, 1563746.429 843039.917 0, 1564029.409 843073.256 0, 1564311.113 843106.462 0, 1564592.815 843139.685 0, 1564874.516 843172.924 0, 1565156.214 843206.179 0,
+ 1565437.911 843239.452 0, 1565719.605 843272.741 0, 1566001.298 843306.046 0, 1566282.988 843339.368 0, 1566564.677 843372.707 0, 1566846.364 843406.062 0, 1567128.048 843439.433 0, 1567409.731 843472.822 0, 1567691.412 843506.227 0, 1567973.091 843539.648 0,
+ 1568254.767 843573.086 0, 1568536.442 843606.541 0, 1568818.115 843640.012 0, 1569099.786 843673.5 0, 1569381.455 843707.004 0, 1569663.122 843740.525 0, 1569944.787 843774.063 0, 1570226.45 843807.617 0, 1570506.839 843841.036 0, 1571166.811 838305.183 0,
+ 1571826.757 832769.55 0))
+
+POLYGON ((1088479.462 410071.717 0, 1088173.743 410066.543 0, 1087866.551 410061.363 0, 1087559.36 410056.2 0, 1087252.168 410051.055 0, 1086944.976 410045.929 0, 1086637.783 410040.821 0, 1086330.59 410035.73 0, 1086023.397 410030.658 0, 1085716.204 410025.604 0,
+ 1085409.01 410020.568 0, 1085101.816 410015.55 0, 1084794.622 410010.55 0, 1084487.427 410005.568 0, 1084180.232 410000.605 0, 1083873.037 409995.659 0, 1083565.841 409990.731 0, 1083258.646 409985.822 0, 1082951.449 409980.93 0, 1082644.253 409976.057 0,
+ 1082337.056 409971.202 0, 1082029.859 409966.365 0, 1081722.662 409961.546 0, 1081415.465 409956.745 0, 1081106.794 409951.939 0, 1080801.069 409947.197 0, 1080493.871 409942.45 0, 1080186.672 409937.722 0, 1079879.473 409933.011 0, 1079572.274 409928.318 0,
+ 1079265.074 409923.644 0, 1078957.875 409918.988 0, 1078650.675 409914.349 0, 1078343.474 409909.729 0, 1078036.274 409905.127 0, 1077729.073 409900.543 0, 1077421.872 409895.977 0, 1077114.671 409891.429 0, 1076807.469 409886.9 0, 1076500.267 409882.388 0,
+ 1076193.065 409877.894 0, 1075885.862 409873.419 0, 1075578.66 409868.961 0, 1075271.457 409864.522 0, 1074964.254 409860.101 0, 1074657.05 409855.697 0, 1074349.846 409851.312 0, 1074042.643 409846.945 0, 1073733.964 409842.575 0, 1073655.555 415392.93 0,
+ 1073577.139 420943.734 0, 1073885.161 420948.094 0, 1074191.712 420952.452 0, 1074498.262 420956.828 0, 1074804.812 420961.222 0, 1075111.362 420965.634 0, 1075417.912 420970.064 0, 1075724.461 420974.512 0, 1076031.01 420978.978 0, 1076337.559 420983.462 0,
+ 1076644.107 420987.964 0, 1076950.656 420992.484 0, 1077257.204 420997.022 0, 1077563.751 421001.578 0, 1077870.299 421006.153 0, 1078176.846 421010.745 0, 1078483.393 421015.355 0, 1078789.939 421019.984 0, 1079096.486 421024.63 0, 1079403.032 421029.295 0,
+ 1079709.578 421033.977 0, 1080016.123 421038.678 0, 1080322.668 421043.396 0, 1080629.213 421048.133 0, 1080934.288 421052.865 0, 1081242.302 421057.66 0, 1081548.847 421062.451 0, 1081855.39 421067.26 0, 1082161.934 421072.087 0, 1082468.477 421076.932 0,
+ 1082775.02 421081.795 0, 1083081.563 421086.676 0, 1083388.105 421091.575 0, 1083694.647 421096.492 0, 1084001.189 421101.427 0, 1084307.731 421106.38 0, 1084614.272 421111.351 0, 1084920.813 421116.341 0, 1085227.354 421121.348 0, 1085533.894 421126.373 0,
+ 1085840.434 421131.417 0, 1086146.974 421136.478 0, 1086453.513 421141.557 0, 1086760.053 421146.655 0, 1087066.591 421151.77 0, 1087373.13 421156.904 0, 1087679.668 421162.056 0, 1087986.206 421167.225 0, 1088291.275 421172.388 0, 1088385.372 415621.827 0,
+ 1088479.462 410071.717 0))
+
+POLYGON ((1103004.706 421442.612 0, 1102699.651 421436.587 0, 1102393.129 421430.551 0, 1102086.606 421424.534 0, 1101780.083 421418.534 0, 1101473.56 421412.552 0, 1101167.037 421406.589 0, 1100860.513 421400.643 0, 1100553.988 421394.716 0, 1100247.464 421388.807 0,
+ 1099940.939 421382.915 0, 1099634.414 421377.042 0, 1099327.888 421371.187 0, 1099021.362 421365.35 0, 1098714.836 421359.53 0, 1098408.309 421353.729 0, 1098101.782 421347.946 0, 1097795.255 421342.181 0, 1097488.727 421336.434 0, 1097182.199 421330.705 0,
+ 1096875.671 421324.994 0, 1096569.142 421319.301 0, 1096262.613 421313.626 0, 1095956.083 421307.97 0, 1095648.086 421302.304 0, 1095343.024 421296.71 0, 1095036.493 421291.107 0, 1094729.963 421285.523 0, 1094423.432 421279.956 0, 1094116.9 421274.408 0,
+ 1093810.369 421268.877 0, 1093503.837 421263.365 0, 1093197.304 421257.87 0, 1092890.772 421252.394 0, 1092584.239 421246.935 0, 1092277.705 421241.495 0, 1091971.172 421236.073 0, 1091664.638 421230.669 0, 1091358.104 421225.283 0, 1091051.569 421219.914 0,
+ 1090745.034 421214.564 0, 1090438.499 421209.232 0, 1090131.963 421203.918 0, 1089825.428 421198.622 0, 1089518.892 421193.344 0, 1089212.355 421188.084 0, 1088905.818 421182.843 0, 1088599.281 421177.619 0, 1088291.275 421172.388 0, 1088197.17 426723.396 0,
+ 1088103.058 432274.849 0, 1088410.408 432280.068 0, 1088716.291 432285.281 0, 1089022.175 432290.511 0, 1089328.057 432295.76 0, 1089633.94 432301.027 0, 1089939.823 432306.311 0, 1090245.705 432311.614 0, 1090551.586 432316.935 0, 1090857.468 432322.274 0,
+ 1091163.349 432327.63 0, 1091469.23 432333.005 0, 1091775.11 432338.398 0, 1092080.99 432343.808 0, 1092386.87 432349.237 0, 1092692.749 432354.684 0, 1092998.629 432360.148 0, 1093304.508 432365.631 0, 1093610.386 432371.132 0, 1093916.264 432376.651 0,
+ 1094222.142 432382.187 0, 1094528.02 432387.742 0, 1094833.897 432393.315 0, 1095139.774 432398.906 0, 1095444.186 432404.487 0, 1095751.527 432410.141 0, 1096057.403 432415.786 0, 1096363.278 432421.448 0, 1096669.153 432427.129 0, 1096975.028 432432.828 0,
+ 1097280.903 432438.545 0, 1097586.777 432444.28 0, 1097892.651 432450.032 0, 1098198.525 432455.803 0, 1098504.398 432461.592 0, 1098810.271 432467.399 0, 1099116.143 432473.223 0, 1099422.016 432479.066 0, 1099727.887 432484.927 0, 1100033.759 432490.806 0,
+ 1100339.63 432496.703 0, 1100645.501 432502.617 0, 1100951.371 432508.55 0, 1101257.241 432514.501 0, 1101563.111 432520.47 0, 1101868.981 432526.457 0, 1102174.85 432532.461 0, 1102480.718 432538.484 0, 1102785.123 432544.496 0, 1102894.919 426993.332 0,
+ 1103004.706 421442.612 0))
+
+POLYGON ((1117466.368 432855.622 0, 1117161.979 432848.75 0, 1116856.129 432841.863 0, 1116550.278 432834.994 0, 1116244.427 432828.143 0, 1115938.575 432821.31 0, 1115632.723 432814.495 0, 1115326.87 432807.698 0, 1115021.017 432800.92 0, 1114715.164 432794.159 0,
+ 1114409.311 432787.416 0, 1114103.456 432780.691 0, 1113797.602 432773.984 0, 1113491.747 432767.295 0, 1113185.892 432760.624 0, 1112880.036 432753.971 0, 1112574.18 432747.336 0, 1112268.324 432740.719 0, 1111962.467 432734.121 0, 1111656.61 432727.54 0,
+ 1111350.752 432720.977 0, 1111044.894 432714.432 0, 1110739.036 432707.905 0, 1110433.177 432701.396 0, 1110125.856 432694.874 0, 1109821.458 432688.432 0, 1109515.598 432681.977 0, 1109209.738 432675.541 0, 1108903.878 432669.122 0, 1108598.017 432662.721 0,
+ 1108292.155 432656.338 0, 1107986.293 432649.973 0, 1107680.431 432643.626 0, 1107374.569 432637.297 0, 1107068.706 432630.987 0, 1106762.843 432624.694 0, 1106456.979 432618.419 0, 1106151.115 432612.162 0, 1105845.25 432605.923 0, 1105539.386 432599.702 0,
+ 1105233.521 432593.5 0, 1104927.655 432587.315 0, 1104621.789 432581.148 0, 1104315.923 432574.999 0, 1104010.057 432568.868 0, 1103704.19 432562.755 0, 1103398.322 432556.661 0, 1103092.455 432550.584 0, 1102785.123 432544.496 0, 1102675.319 438096.102 0,
+ 1102565.506 443648.146 0, 1102872.18 443654.221 0, 1103177.394 443660.285 0, 1103482.608 443666.366 0, 1103787.822 443672.466 0, 1104093.035 443678.584 0, 1104398.247 443684.72 0, 1104703.46 443690.873 0, 1105008.672 443697.045 0, 1105313.883 443703.234 0,
+ 1105619.094 443709.442 0, 1105924.305 443715.668 0, 1106229.516 443721.911 0, 1106534.726 443728.172 0, 1106839.935 443734.452 0, 1107145.145 443740.749 0, 1107450.354 443747.065 0, 1107755.562 443753.398 0, 1108060.771 443759.749 0, 1108365.979 443766.118 0,
+ 1108671.186 443772.506 0, 1108976.393 443778.911 0, 1109281.6 443785.334 0, 1109586.806 443791.775 0, 1109890.553 443798.203 0, 1110197.218 443804.711 0, 1110502.423 443811.206 0, 1110807.628 443817.719 0, 1111112.833 443824.25 0, 1111418.037 443830.799 0,
+ 1111723.24 443837.365 0, 1112028.444 443843.95 0, 1112333.647 443850.553 0, 1112638.849 443857.174 0, 1112944.051 443863.812 0, 1113249.253 443870.469 0, 1113554.454 443877.144 0, 1113859.655 443883.836 0, 1114164.856 443890.547 0, 1114470.056 443897.275 0,
+ 1114775.256 443904.022 0, 1115080.455 443910.786 0, 1115385.654 443917.568 0, 1115690.853 443924.369 0, 1115996.051 443931.187 0, 1116301.249 443938.023 0, 1116606.446 443944.878 0, 1116911.643 443951.75 0, 1117215.382 443958.607 0, 1117340.88 438406.895 0,
+ 1117466.368 432855.622 0))
+
+POLYGON ((1131864.322 444310.455 0, 1131560.602 444302.74 0, 1131255.425 444295.006 0, 1130950.249 444287.289 0, 1130645.071 444279.591 0, 1130339.894 444271.91 0, 1130034.715 444264.248 0, 1129729.537 444256.603 0, 1129424.358 444248.976 0, 1129119.178 444241.368 0,
+ 1128813.998 444233.777 0, 1128508.818 444226.204 0, 1128203.637 444218.649 0, 1127898.456 444211.113 0, 1127593.274 444203.594 0, 1127288.092 444196.093 0, 1126982.909 444188.61 0, 1126677.726 444181.145 0, 1126372.543 444173.698 0, 1126067.359 444166.269 0,
+ 1125762.175 444158.858 0, 1125456.99 444151.465 0, 1125151.805 444144.089 0, 1124846.619 444136.732 0, 1124539.976 444129.358 0, 1124236.246 444122.072 0, 1123931.059 444114.768 0, 1123625.872 444107.483 0, 1123320.684 444100.216 0, 1123015.496 444092.966 0,
+ 1122710.307 444085.735 0, 1122405.118 444078.521 0, 1122099.929 444071.326 0, 1121794.739 444064.148 0, 1121489.548 444056.989 0, 1121184.358 444049.847 0, 1120879.166 444042.723 0, 1120573.975 444035.617 0, 1120268.783 444028.53 0, 1119963.59 444021.46 0,
+ 1119658.397 444014.408 0, 1119353.204 444007.374 0, 1119048.01 444000.358 0, 1118742.816 443993.36 0, 1118437.622 443986.38 0, 1118132.427 443979.418 0, 1117827.231 443972.474 0, 1117522.036 443965.548 0, 1117215.382 443958.607 0, 1117089.874 449510.754 0,
+ 1116964.356 455063.334 0, 1117270.353 455070.26 0, 1117574.895 455077.172 0, 1117879.437 455084.101 0, 1118183.978 455091.048 0, 1118488.519 455098.013 0, 1118793.06 455104.996 0, 1119097.6 455111.997 0, 1119402.139 455119.016 0, 1119706.679 455126.052 0,
+ 1120011.218 455133.107 0, 1120315.756 455140.18 0, 1120620.294 455147.27 0, 1120924.832 455154.379 0, 1121229.369 455161.505 0, 1121533.906 455168.649 0, 1121838.442 455175.811 0, 1122142.978 455182.992 0, 1122447.513 455190.19 0, 1122752.048 455197.406 0,
+ 1123056.583 455204.64 0, 1123361.117 455211.891 0, 1123665.651 455219.161 0, 1123970.185 455226.449 0, 1124273.264 455233.719 0, 1124579.25 455241.078 0, 1124883.782 455248.419 0, 1125188.314 455255.779 0, 1125492.845 455263.156 0, 1125797.376 455270.551 0,
+ 1126101.906 455277.964 0, 1126406.436 455285.395 0, 1126710.965 455292.844 0, 1127015.494 455300.311 0, 1127320.023 455307.796 0, 1127624.551 455315.299 0, 1127929.079 455322.82 0, 1128233.606 455330.358 0, 1128538.133 455337.915 0, 1128842.659 455345.489 0,
+ 1129147.185 455353.082 0, 1129451.711 455360.692 0, 1129756.236 455368.32 0, 1130060.76 455375.966 0, 1130365.285 455383.63 0, 1130669.808 455391.312 0, 1130974.331 455399.012 0, 1131278.854 455406.73 0, 1131581.924 455414.429 0, 1131723.129 449862.226 0,
+ 1131864.322 444310.455 0))
+
+POLYGON ((1146198.443 455806.82 0, 1145895.393 455798.265 0, 1145590.893 455789.687 0, 1145286.393 455781.126 0, 1144981.892 455772.584 0, 1144677.391 455764.06 0, 1144372.889 455755.553 0, 1144068.387 455747.065 0, 1143763.884 455738.594 0, 1143459.381 455730.141 0,
+ 1143154.877 455721.707 0, 1142850.373 455713.29 0, 1142545.868 455704.891 0, 1142241.363 455696.51 0, 1141936.857 455688.147 0, 1141632.351 455679.802 0, 1141327.844 455671.474 0, 1141023.337 455663.165 0, 1140718.83 455654.874 0, 1140414.321 455646.6 0,
+ 1140109.813 455638.345 0, 1139805.303 455630.107 0, 1139500.794 455621.887 0, 1139196.284 455613.685 0, 1138890.322 455605.463 0, 1138587.262 455597.336 0, 1138282.75 455589.188 0, 1137978.238 455581.058 0, 1137673.726 455572.945 0, 1137369.213 455564.851 0,
+ 1137064.699 455556.775 0, 1136760.185 455548.716 0, 1136455.671 455540.676 0, 1136151.156 455532.653 0, 1135846.641 455524.649 0, 1135542.125 455516.662 0, 1135237.609 455508.693 0, 1134933.092 455500.742 0, 1134628.575 455492.81 0, 1134324.057 455484.895 0,
+ 1134019.539 455476.997 0, 1133715.02 455469.118 0, 1133410.501 455461.257 0, 1133105.981 455453.414 0, 1132801.461 455445.588 0, 1132496.941 455437.781 0, 1132192.42 455429.991 0, 1131887.898 455422.22 0, 1131581.924 455414.429 0, 1131440.709 460967.062 0,
+ 1131299.483 466520.121 0, 1131604.8 466527.894 0, 1131908.668 466535.649 0, 1132212.535 466543.422 0, 1132516.402 466551.213 0, 1132820.268 466559.022 0, 1133124.134 466566.848 0, 1133428 466574.692 0, 1133731.865 466582.555 0, 1134035.729 466590.435 0,
+ 1134339.593 466598.333 0, 1134643.457 466606.249 0, 1134947.32 466614.182 0, 1135251.183 466622.134 0, 1135555.045 466630.104 0, 1135858.907 466638.091 0, 1136162.768 466646.096 0, 1136466.629 466654.12 0, 1136770.489 466662.161 0, 1137074.349 466670.22 0,
+ 1137378.208 466678.297 0, 1137682.067 466686.391 0, 1137985.925 466694.504 0, 1138289.783 466702.635 0, 1138592.193 466710.744 0, 1138897.498 466718.949 0, 1139201.354 466727.133 0, 1139505.21 466735.335 0, 1139809.066 466743.555 0, 1140112.921 466751.793 0,
+ 1140416.775 466760.049 0, 1140720.63 466768.323 0, 1141024.483 466776.614 0, 1141328.336 466784.923 0, 1141632.189 466793.251 0, 1141936.041 466801.596 0, 1142239.893 466809.959 0, 1142543.744 466818.34 0, 1142847.594 466826.738 0, 1143151.445 466835.155 0,
+ 1143455.294 466843.59 0, 1143759.143 466852.042 0, 1144062.992 466860.512 0, 1144366.84 466869.001 0, 1144670.688 466877.507 0, 1144974.535 466886.031 0, 1145278.382 466894.573 0, 1145582.228 466903.132 0, 1145884.627 466911.669 0, 1146041.541 461359.031 0,
+ 1146198.443 455806.82 0))
+
+POLYGON ((1160468.606 467344.422 0, 1160166.23 467335.03 0, 1159862.409 467325.612 0, 1159558.588 467316.212 0, 1159254.766 467306.83 0, 1158950.944 467297.465 0, 1158647.121 467288.119 0, 1158343.297 467278.79 0, 1158039.473 467269.479 0, 1157735.649 467260.186 0,
+ 1157431.824 467250.911 0, 1157127.998 467241.654 0, 1156824.172 467232.415 0, 1156520.345 467223.193 0, 1156216.518 467213.99 0, 1155912.69 467204.804 0, 1155608.861 467195.636 0, 1155305.032 467186.486 0, 1155001.203 467177.354 0, 1154697.373 467168.24 0,
+ 1154393.542 467159.144 0, 1154089.711 467150.066 0, 1153785.88 467141.005 0, 1153482.047 467131.963 0, 1153176.769 467122.895 0, 1152874.381 467113.931 0, 1152570.548 467104.942 0, 1152266.713 467095.971 0, 1151962.879 467087.018 0, 1151659.043 467078.083 0,
+ 1151355.207 467069.165 0, 1151051.371 467060.266 0, 1150747.534 467051.384 0, 1150443.697 467042.52 0, 1150139.859 467033.674 0, 1149836.02 467024.846 0, 1149532.181 467016.036 0, 1149228.342 467007.244 0, 1148924.502 466998.47 0, 1148620.661 466989.713 0,
+ 1148316.82 466980.975 0, 1148012.979 466972.254 0, 1147709.137 466963.551 0, 1147405.294 466954.866 0, 1147101.451 466946.199 0, 1146797.607 466937.55 0, 1146493.763 466928.919 0, 1146189.918 466920.305 0, 1145884.627 466911.669 0, 1145727.701 472464.73 0,
+ 1145570.763 478018.212 0, 1145875.398 478026.83 0, 1146178.589 478035.425 0, 1146481.779 478044.037 0, 1146784.969 478052.668 0, 1147088.158 478061.316 0, 1147391.347 478069.983 0, 1147694.536 478078.667 0, 1147997.724 478087.369 0, 1148300.911 478096.088 0,
+ 1148604.098 478104.826 0, 1148907.284 478113.581 0, 1149210.47 478122.355 0, 1149513.655 478131.146 0, 1149816.84 478139.955 0, 1150120.024 478148.782 0, 1150423.208 478157.626 0, 1150726.391 478166.489 0, 1151029.574 478175.369 0, 1151332.756 478184.268 0,
+ 1151635.938 478193.184 0, 1151939.119 478202.118 0, 1152242.299 478211.069 0, 1152545.479 478220.039 0, 1152847.217 478228.984 0, 1153151.838 478238.032 0, 1153455.016 478247.055 0, 1153758.194 478256.096 0, 1154061.372 478265.155 0, 1154364.549 478274.231 0,
+ 1154667.725 478283.326 0, 1154970.901 478292.438 0, 1155274.076 478301.568 0, 1155577.251 478310.716 0, 1155880.425 478319.882 0, 1156183.599 478329.066 0, 1156486.772 478338.268 0, 1156789.944 478347.487 0, 1157093.116 478356.724 0, 1157396.288 478365.979 0,
+ 1157699.459 478375.252 0, 1158002.629 478384.543 0, 1158305.799 478393.852 0, 1158608.968 478403.178 0, 1158912.137 478412.523 0, 1159215.305 478421.885 0, 1159518.473 478431.265 0, 1159821.64 478440.663 0, 1160123.365 478450.034 0, 1160295.992 472897.017 0,
+ 1160468.606 467344.422 0))
+
+POLYGON ((1174674.69 478922.967 0, 1174372.99 478912.744 0, 1174069.851 478902.489 0, 1173766.711 478892.253 0, 1173463.57 478882.034 0, 1173160.429 478871.833 0, 1172857.287 478861.65 0, 1172554.145 478851.485 0, 1172251.002 478841.338 0, 1171947.859 478831.209 0,
+ 1171644.715 478821.097 0, 1171341.57 478811.003 0, 1171038.424 478800.927 0, 1170735.279 478790.869 0, 1170432.132 478780.829 0, 1170128.985 478770.807 0, 1169825.837 478760.802 0, 1169522.689 478750.816 0, 1169219.54 478740.847 0, 1168916.391 478730.896 0,
+ 1168613.241 478720.963 0, 1168310.09 478711.047 0, 1168006.939 478701.15 0, 1167703.787 478691.27 0, 1167399.195 478681.362 0, 1167097.482 478671.564 0, 1166794.328 478661.738 0, 1166491.174 478651.93 0, 1166188.02 478642.14 0, 1165884.864 478632.367 0,
+ 1165581.708 478622.612 0, 1165278.552 478612.875 0, 1164975.395 478603.156 0, 1164672.238 478593.455 0, 1164369.079 478583.772 0, 1164065.921 478574.106 0, 1163762.762 478564.459 0, 1163459.602 478554.829 0, 1163156.441 478545.217 0, 1162853.28 478535.623 0,
+ 1162550.119 478526.046 0, 1162246.957 478516.488 0, 1161943.794 478506.947 0, 1161640.631 478497.424 0, 1161337.467 478487.92 0, 1161034.303 478478.432 0, 1160731.138 478468.963 0, 1160427.973 478459.512 0, 1160123.365 478450.034 0, 1159950.726 484003.467 0,
+ 1159778.073 489557.315 0, 1160082.023 489566.773 0, 1160384.535 489576.204 0, 1160687.046 489585.653 0, 1160989.557 489595.119 0, 1161292.067 489604.604 0, 1161594.576 489614.106 0, 1161897.085 489623.626 0, 1162199.593 489633.164 0, 1162502.101 489642.719 0,
+ 1162804.608 489652.293 0, 1163107.115 489661.884 0, 1163409.621 489671.493 0, 1163712.126 489681.12 0, 1164014.631 489690.765 0, 1164317.136 489700.427 0, 1164619.64 489710.108 0, 1164922.143 489719.806 0, 1165224.645 489729.521 0, 1165527.148 489739.255 0,
+ 1165829.649 489749.007 0, 1166132.15 489758.776 0, 1166434.65 489768.563 0, 1166737.15 489778.368 0, 1167038.213 489788.144 0, 1167342.148 489798.031 0, 1167644.646 489807.89 0, 1167947.144 489817.766 0, 1168249.64 489827.66 0, 1168552.137 489837.571 0,
+ 1168854.632 489847.501 0, 1169157.128 489857.448 0, 1169459.622 489867.413 0, 1169762.116 489877.396 0, 1170064.61 489887.397 0, 1170367.102 489897.416 0, 1170669.595 489907.452 0, 1170972.086 489917.506 0, 1171274.577 489927.578 0, 1171577.068 489937.668 0,
+ 1171879.557 489947.776 0, 1172182.047 489957.901 0, 1172484.535 489968.044 0, 1172787.023 489978.205 0, 1173089.511 489988.384 0, 1173391.998 489998.581 0, 1173694.484 490008.795 0, 1173996.969 490019.027 0, 1174298.019 490029.229 0, 1174486.362 484475.891 0,
+ 1174674.69 478922.967 0))
+
+POLYGON ((1188816.574 490542.162 0, 1188515.552 490531.11 0, 1188213.096 490520.023 0, 1187910.64 490508.954 0, 1187608.183 490497.903 0, 1187305.726 490486.87 0, 1187003.268 490475.854 0, 1186700.809 490464.857 0, 1186398.35 490453.877 0, 1186095.89 490442.914 0,
+ 1185793.429 490431.97 0, 1185490.968 490421.044 0, 1185188.506 490410.135 0, 1184886.043 490399.244 0, 1184583.58 490388.371 0, 1184281.116 490377.515 0, 1183978.651 490366.678 0, 1183676.186 490355.858 0, 1183373.72 490345.056 0, 1183071.254 490334.272 0,
+ 1182768.787 490323.506 0, 1182466.319 490312.757 0, 1182163.85 490302.027 0, 1181861.381 490291.314 0, 1181557.477 490280.568 0, 1181256.442 490269.941 0, 1180953.971 490259.282 0, 1180651.499 490248.64 0, 1180349.027 490238.016 0, 1180046.554 490227.41 0,
+ 1179744.081 490216.822 0, 1179441.607 490206.252 0, 1179139.132 490195.699 0, 1178836.657 490185.164 0, 1178534.181 490174.647 0, 1178231.705 490164.148 0, 1177929.228 490153.666 0, 1177626.75 490143.203 0, 1177324.272 490132.757 0, 1177021.793 490122.329 0,
+ 1176719.313 490111.918 0, 1176416.833 490101.526 0, 1176114.352 490091.151 0, 1175811.871 490080.794 0, 1175509.389 490070.455 0, 1175206.906 490060.134 0, 1174904.423 490049.831 0, 1174601.939 490039.545 0, 1174298.019 490029.229 0, 1174109.662 495582.978 0,
+ 1173921.292 501137.135 0, 1174224.555 501147.429 0, 1174526.385 501157.693 0, 1174828.214 501167.974 0, 1175130.043 501178.273 0, 1175431.872 501188.59 0, 1175733.699 501198.924 0, 1176035.526 501209.276 0, 1176337.353 501219.646 0, 1176639.178 501230.034 0,
+ 1176941.004 501240.439 0, 1177242.828 501250.863 0, 1177544.652 501261.304 0, 1177846.475 501271.763 0, 1178148.298 501282.239 0, 1178450.12 501292.734 0, 1178751.942 501303.246 0, 1179053.763 501313.775 0, 1179355.583 501324.323 0, 1179657.402 501334.888 0,
+ 1179959.221 501345.472 0, 1180261.04 501356.073 0, 1180562.858 501366.691 0, 1180864.675 501377.328 0, 1181165.06 501387.931 0, 1181468.307 501398.654 0, 1181770.122 501409.344 0, 1182071.937 501420.051 0, 1182373.751 501430.776 0, 1182675.564 501441.519 0,
+ 1182977.377 501452.28 0, 1183279.189 501463.059 0, 1183581 501473.855 0, 1183882.811 501484.669 0, 1184184.621 501495.501 0, 1184486.431 501506.351 0, 1184788.24 501517.218 0, 1185090.048 501528.103 0, 1185391.856 501539.006 0, 1185693.663 501549.927 0,
+ 1185995.469 501560.865 0, 1186297.275 501571.822 0, 1186599.08 501582.796 0, 1186900.884 501593.787 0, 1187202.688 501604.797 0, 1187504.491 501615.824 0, 1187806.293 501626.869 0, 1188108.095 501637.932 0, 1188408.466 501648.96 0, 1188612.527 496095.357 0,
+ 1188816.574 490542.162 0))
+
+POLYGON ((1202894.137 502201.711 0, 1202593.796 502189.835 0, 1202292.027 502177.919 0, 1201990.257 502166.022 0, 1201688.486 502154.142 0, 1201386.714 502142.28 0, 1201084.942 502130.435 0, 1200783.169 502118.609 0, 1200481.396 502106.8 0, 1200179.622 502095.009 0,
+ 1199877.847 502083.236 0, 1199576.071 502071.48 0, 1199274.295 502059.742 0, 1198972.518 502048.022 0, 1198670.74 502036.32 0, 1198368.962 502024.636 0, 1198067.183 502012.969 0, 1197765.403 502001.32 0, 1197463.623 501989.689 0, 1197161.841 501978.075 0,
+ 1196860.06 501966.48 0, 1196558.277 501954.902 0, 1196256.494 501943.342 0, 1195954.71 501931.799 0, 1195651.497 501920.22 0, 1195351.14 501908.768 0, 1195049.355 501897.279 0, 1194747.568 501885.807 0, 1194445.781 501874.354 0, 1194143.993 501862.918 0,
+ 1193842.204 501851.5 0, 1193540.415 501840.099 0, 1193238.625 501828.717 0, 1192936.835 501817.352 0, 1192635.043 501806.005 0, 1192333.252 501794.676 0, 1192031.459 501783.365 0, 1191729.666 501772.071 0, 1191427.872 501760.795 0, 1191126.077 501749.537 0,
+ 1190824.282 501738.296 0, 1190522.486 501727.074 0, 1190220.69 501715.869 0, 1189918.892 501704.682 0, 1189617.094 501693.512 0, 1189315.296 501682.361 0, 1189013.497 501671.227 0, 1188711.697 501660.111 0, 1188408.466 501648.96 0, 1188204.39 507202.968 0,
+ 1188000.299 512757.378 0, 1188302.873 512768.505 0, 1188604.019 512779.597 0, 1188905.164 512790.707 0, 1189206.309 512801.834 0, 1189507.453 512812.979 0, 1189808.597 512824.142 0, 1190109.739 512835.323 0, 1190410.881 512846.521 0, 1190712.023 512857.737 0,
+ 1191013.164 512868.971 0, 1191314.304 512880.222 0, 1191615.443 512891.492 0, 1191916.582 512902.779 0, 1192217.72 512914.083 0, 1192518.857 512925.406 0, 1192819.994 512936.746 0, 1193121.13 512948.104 0, 1193422.266 512959.479 0, 1193723.401 512970.873 0,
+ 1194024.535 512982.284 0, 1194325.668 512993.712 0, 1194626.801 513005.159 0, 1194927.933 513016.623 0, 1195227.639 513028.051 0, 1195530.195 513039.605 0, 1195831.325 513051.122 0, 1196132.455 513062.657 0, 1196433.583 513074.21 0, 1196734.711 513085.781 0,
+ 1197035.839 513097.369 0, 1197336.965 513108.975 0, 1197638.091 513120.599 0, 1197939.216 513132.24 0, 1198240.341 513143.899 0, 1198541.465 513155.576 0, 1198842.588 513167.271 0, 1199143.711 513178.983 0, 1199444.833 513190.713 0, 1199745.954 513202.461 0,
+ 1200047.074 513214.226 0, 1200348.194 513226.01 0, 1200649.313 513237.811 0, 1200950.431 513249.629 0, 1201251.549 513261.466 0, 1201552.666 513273.32 0, 1201853.782 513285.192 0, 1202154.898 513297.081 0, 1202454.588 513308.932 0, 1202674.371 507755.121 0,
+ 1202894.137 502201.711 0))
+
+POLYGON ((1216907.261 513901.32 0, 1216607.603 513888.622 0, 1216306.523 513875.882 0, 1216005.441 513863.16 0, 1215704.359 513850.455 0, 1215403.276 513837.768 0, 1215102.192 513825.098 0, 1214801.107 513812.447 0, 1214500.022 513799.813 0, 1214198.936 513787.197 0,
+ 1213897.849 513774.598 0, 1213596.762 513762.018 0, 1213295.674 513749.455 0, 1212994.585 513736.909 0, 1212693.495 513724.382 0, 1212392.404 513711.872 0, 1212091.313 513699.38 0, 1211790.221 513686.905 0, 1211489.129 513674.449 0, 1211188.035 513662.01 0,
+ 1210886.941 513649.588 0, 1210585.846 513637.185 0, 1210284.751 513624.799 0, 1209983.654 513612.431 0, 1209681.134 513600.022 0, 1209381.46 513587.748 0, 1209080.361 513575.433 0, 1208779.262 513563.136 0, 1208478.162 513550.856 0, 1208177.061 513538.595 0,
+ 1207875.96 513526.351 0, 1207574.858 513514.124 0, 1207273.755 513501.916 0, 1206972.651 513489.725 0, 1206671.547 513477.552 0, 1206370.442 513465.396 0, 1206069.337 513453.259 0, 1205768.23 513441.139 0, 1205467.123 513429.036 0, 1205166.015 513416.952 0,
+ 1204864.907 513404.885 0, 1204563.797 513392.836 0, 1204262.687 513380.805 0, 1203961.577 513368.791 0, 1203660.465 513356.795 0, 1203359.353 513344.817 0, 1203058.241 513332.856 0, 1202757.127 513320.914 0, 1202454.588 513308.932 0, 1202234.79 518863.143 0,
+ 1202014.977 524417.749 0, 1202316.858 524429.704 0, 1202617.318 524441.621 0, 1202917.777 524453.556 0, 1203218.235 524465.508 0, 1203518.693 524477.478 0, 1203819.15 524489.465 0, 1204119.606 524501.47 0, 1204420.061 524513.493 0, 1204720.516 524525.534 0,
+ 1205020.97 524537.592 0, 1205321.423 524549.668 0, 1205621.876 524561.762 0, 1205922.328 524573.873 0, 1206222.779 524586.002 0, 1206523.229 524598.149 0, 1206823.679 524610.313 0, 1207124.128 524622.495 0, 1207424.576 524634.695 0, 1207725.024 524646.913 0,
+ 1208025.471 524659.148 0, 1208325.917 524671.4 0, 1208626.362 524683.671 0, 1208926.807 524695.959 0, 1209225.831 524708.207 0, 1209527.694 524720.589 0, 1209828.136 524732.93 0, 1210128.578 524745.289 0, 1210429.019 524757.665 0, 1210729.46 524770.06 0,
+ 1211029.899 524782.471 0, 1211330.338 524794.901 0, 1211630.776 524807.348 0, 1211931.214 524819.813 0, 1212231.65 524832.296 0, 1212532.086 524844.797 0, 1212832.521 524857.315 0, 1213132.956 524869.85 0, 1213433.39 524882.404 0, 1213733.823 524894.975 0,
+ 1214034.255 524907.564 0, 1214334.686 524920.17 0, 1214635.117 524932.794 0, 1214935.547 524945.436 0, 1215235.976 524958.096 0, 1215536.405 524970.773 0, 1215836.833 524983.468 0, 1216137.26 524996.18 0, 1216436.267 525008.85 0, 1216671.773 519454.887 0,
+ 1216907.261 513901.32 0))
+
+POLYGON ((1230855.83 525640.692 0, 1230556.857 525627.177 0, 1230256.467 525613.616 0, 1229956.077 525600.073 0, 1229655.685 525586.547 0, 1229355.293 525573.038 0, 1229054.9 525559.548 0, 1228754.506 525546.075 0, 1228454.111 525532.62 0, 1228153.716 525519.182 0,
+ 1227853.319 525505.762 0, 1227552.922 525492.36 0, 1227252.524 525478.976 0, 1226952.126 525465.609 0, 1226651.726 525452.26 0, 1226351.326 525438.928 0, 1226050.925 525425.615 0, 1225750.523 525412.319 0, 1225450.121 525399.04 0, 1225149.718 525385.78 0,
+ 1224849.313 525372.536 0, 1224548.909 525359.311 0, 1224248.503 525346.103 0, 1223948.096 525332.913 0, 1223646.272 525319.679 0, 1223347.281 525306.587 0, 1223046.873 525293.45 0, 1222746.463 525280.33 0, 1222446.053 525267.229 0, 1222145.642 525254.145 0,
+ 1221845.23 525241.079 0, 1221544.817 525228.03 0, 1221244.404 525214.999 0, 1220943.99 525201.986 0, 1220643.575 525188.991 0, 1220343.159 525176.013 0, 1220042.742 525163.053 0, 1219742.325 525150.11 0, 1219441.907 525137.186 0, 1219141.489 525124.278 0,
+ 1218841.069 525111.389 0, 1218540.649 525098.517 0, 1218240.228 525085.663 0, 1217939.806 525072.827 0, 1217639.384 525060.008 0, 1217338.96 525047.207 0, 1217038.536 525034.424 0, 1216738.111 525021.658 0, 1216436.267 525008.85 0, 1216200.745 530563.206 0,
+ 1215965.206 536117.952 0, 1216266.393 536130.732 0, 1216566.164 536143.47 0, 1216865.935 536156.225 0, 1217165.704 536168.998 0, 1217465.473 536181.789 0, 1217765.241 536194.597 0, 1218065.008 536207.423 0, 1218364.774 536220.267 0, 1218664.54 536233.128 0,
+ 1218964.305 536246.007 0, 1219264.069 536258.904 0, 1219563.832 536271.818 0, 1219863.595 536284.75 0, 1220163.357 536297.7 0, 1220463.118 536310.667 0, 1220762.878 536323.652 0, 1221062.638 536336.654 0, 1221362.396 536349.674 0, 1221662.154 536362.712 0,
+ 1221961.912 536375.768 0, 1222261.668 536388.841 0, 1222561.424 536401.931 0, 1222861.179 536415.04 0, 1223159.518 536428.104 0, 1223460.686 536441.309 0, 1223760.439 536454.471 0, 1224060.191 536467.65 0, 1224359.942 536480.846 0, 1224659.692 536494.06 0,
+ 1224959.442 536507.292 0, 1225259.191 536520.542 0, 1225558.938 536533.809 0, 1225858.686 536547.094 0, 1226158.432 536560.396 0, 1226458.178 536573.716 0, 1226757.922 536587.054 0, 1227057.667 536600.409 0, 1227357.41 536613.782 0, 1227657.152 536627.173 0,
+ 1227956.894 536640.581 0, 1228256.635 536654.007 0, 1228556.375 536667.45 0, 1228856.114 536680.912 0, 1229155.853 536694.39 0, 1229455.59 536707.887 0, 1229755.327 536721.401 0, 1230055.064 536734.933 0, 1230353.385 536748.418 0, 1230604.616 531194.36 0,
+ 1230855.83 525640.692 0))
+
+POLYGON ((1244739.726 537419.532 0, 1244441.441 537405.203 0, 1244141.745 537390.825 0, 1243842.047 537376.464 0, 1243542.349 537362.121 0, 1243242.65 537347.795 0, 1242942.949 537333.487 0, 1242643.249 537319.197 0, 1242343.547 537304.924 0, 1242043.844 537290.669 0,
+ 1241744.141 537276.432 0, 1241444.436 537262.212 0, 1241144.731 537248.01 0, 1240845.025 537233.825 0, 1240545.319 537219.659 0, 1240245.611 537205.509 0, 1239945.903 537191.378 0, 1239646.193 537177.264 0, 1239346.483 537163.168 0, 1239046.772 537149.089 0,
+ 1238747.06 537135.028 0, 1238447.348 537120.985 0, 1238147.634 537106.959 0, 1237847.92 537092.951 0, 1237546.793 537078.894 0, 1237248.489 537064.988 0, 1236948.772 537051.032 0, 1236649.055 537037.095 0, 1236349.337 537023.175 0, 1236049.617 537009.273 0,
+ 1235749.897 536995.388 0, 1235450.177 536981.521 0, 1235150.455 536967.672 0, 1234850.733 536953.84 0, 1234551.009 536940.026 0, 1234251.285 536926.23 0, 1233951.56 536912.451 0, 1233651.835 536898.69 0, 1233352.108 536884.947 0, 1233052.381 536871.221 0,
+ 1232752.653 536857.513 0, 1232452.924 536843.822 0, 1232153.194 536830.149 0, 1231853.464 536816.494 0, 1231553.732 536802.856 0, 1231254 536789.236 0, 1230954.267 536775.634 0, 1230654.533 536762.049 0, 1230353.385 536748.418 0, 1230102.137 542302.862 0,
+ 1229850.871 547857.69 0, 1230151.362 547871.291 0, 1230450.442 547884.846 0, 1230749.521 547898.419 0, 1231048.599 547912.009 0, 1231347.677 547925.617 0, 1231646.754 547939.243 0, 1231945.829 547952.886 0, 1232244.904 547966.546 0, 1232543.979 547980.225 0,
+ 1232843.052 547993.92 0, 1233142.125 548007.634 0, 1233441.197 548021.365 0, 1233740.268 548035.114 0, 1234039.338 548048.88 0, 1234338.407 548062.664 0, 1234637.476 548076.465 0, 1234936.544 548090.284 0, 1235235.611 548104.121 0, 1235534.677 548117.975 0,
+ 1235833.742 548131.847 0, 1236132.807 548145.737 0, 1236431.87 548159.644 0, 1236730.933 548173.569 0, 1237028.586 548187.445 0, 1237329.057 548201.471 0, 1237628.117 548215.448 0, 1237927.177 548229.444 0, 1238226.235 548243.456 0, 1238525.293 548257.487 0,
+ 1238824.35 548271.535 0, 1239123.407 548285.6 0, 1239422.462 548299.683 0, 1239721.517 548313.784 0, 1240020.571 548327.902 0, 1240319.624 548342.038 0, 1240618.676 548356.192 0, 1240917.727 548370.363 0, 1241216.778 548384.552 0, 1241515.827 548398.758 0,
+ 1241814.876 548412.982 0, 1242113.924 548427.223 0, 1242412.971 548441.483 0, 1242712.017 548455.759 0, 1243011.063 548470.054 0, 1243310.107 548484.366 0, 1243609.151 548498.695 0, 1243908.194 548513.042 0, 1244205.828 548527.339 0, 1244472.787 542973.244 0,
+ 1244739.726 537419.532 0))
+
+POLYGON ((1258558.836 549237.542 0, 1258261.242 549222.403 0, 1257962.24 549207.212 0, 1257663.238 549192.037 0, 1257364.235 549176.88 0, 1257065.231 549161.741 0, 1256766.227 549146.62 0, 1256467.221 549131.516 0, 1256168.214 549116.429 0, 1255869.207 549101.361 0,
+ 1255570.199 549086.31 0, 1255271.189 549071.276 0, 1254972.179 549056.26 0, 1254673.168 549041.262 0, 1254374.157 549026.281 0, 1254075.144 549011.318 0, 1253776.13 548996.372 0, 1253477.116 548981.444 0, 1253178.1 548966.534 0, 1252879.084 548951.641 0,
+ 1252580.067 548936.766 0, 1252281.049 548921.908 0, 1251982.03 548907.068 0, 1251683.01 548892.246 0, 1251382.583 548877.372 0, 1251084.968 548862.654 0, 1250785.946 548847.885 0, 1250486.923 548833.133 0, 1250187.899 548818.398 0, 1249888.874 548803.682 0,
+ 1249589.848 548788.982 0, 1249290.821 548774.301 0, 1248991.794 548759.637 0, 1248692.765 548744.99 0, 1248393.736 548730.362 0, 1248094.706 548715.751 0, 1247795.675 548701.157 0, 1247496.643 548686.581 0, 1247197.61 548672.023 0, 1246898.577 548657.482 0,
+ 1246599.542 548642.959 0, 1246300.507 548628.453 0, 1246001.471 548613.965 0, 1245702.434 548599.495 0, 1245403.396 548585.042 0, 1245104.357 548570.607 0, 1244805.318 548556.189 0, 1244506.277 548541.789 0, 1244205.828 548527.339 0, 1243938.852 554081.815 0,
+ 1243671.857 559636.668 0, 1243971.649 559651.086 0, 1244270.036 559665.455 0, 1244568.422 559679.841 0, 1244866.806 559694.244 0, 1245165.19 559708.665 0, 1245463.574 559723.104 0, 1245761.956 559737.56 0, 1246060.337 559752.034 0, 1246358.718 559766.526 0,
+ 1246657.097 559781.035 0, 1246955.476 559795.561 0, 1247253.854 559810.105 0, 1247552.231 559824.667 0, 1247850.608 559839.246 0, 1248148.983 559853.843 0, 1248447.358 559868.457 0, 1248745.731 559883.089 0, 1249044.104 559897.739 0, 1249342.476 559912.406 0,
+ 1249640.847 559927.09 0, 1249939.218 559941.792 0, 1250237.587 559956.512 0, 1250535.956 559971.249 0, 1250832.92 559985.935 0, 1251132.69 560000.777 0, 1251431.056 560015.566 0, 1251729.421 560030.374 0, 1252027.785 560045.199 0, 1252326.148 560060.042 0,
+ 1252624.511 560074.902 0, 1252922.872 560089.78 0, 1253221.233 560104.675 0, 1253519.593 560119.588 0, 1253817.952 560134.518 0, 1254116.31 560149.466 0, 1254414.667 560164.432 0, 1254713.023 560179.415 0, 1255011.379 560194.416 0, 1255309.733 560209.434 0,
+ 1255608.087 560224.47 0, 1255906.44 560239.523 0, 1256204.791 560254.594 0, 1256503.142 560269.682 0, 1256801.492 560284.789 0, 1257099.842 560299.912 0, 1257398.19 560315.053 0, 1257696.537 560330.212 0, 1257993.482 560345.317 0, 1258276.169 554791.241 0,
+ 1258558.836 549237.542 0))
+
+POLYGON ((1272313.047 561094.424 0, 1272016.144 561078.481 0, 1271717.841 561062.479 0, 1271419.536 561046.495 0, 1271121.231 561030.529 0, 1270822.925 561014.58 0, 1270524.618 560998.648 0, 1270226.31 560982.735 0, 1269928.001 560966.838 0, 1269629.691 560950.96 0,
+ 1269331.38 560935.099 0, 1269033.068 560919.255 0, 1268734.755 560903.429 0, 1268436.441 560887.621 0, 1268138.127 560871.83 0, 1267839.811 560856.057 0, 1267541.495 560840.301 0, 1267243.177 560824.563 0, 1266944.859 560808.842 0, 1266646.54 560793.139 0,
+ 1266348.22 560777.454 0, 1266049.899 560761.786 0, 1265751.577 560746.135 0, 1265453.254 560730.502 0, 1265153.529 560714.814 0, 1264856.605 560699.289 0, 1264558.279 560683.709 0, 1264259.953 560668.147 0, 1263961.625 560652.602 0, 1263663.297 560637.074 0,
+ 1263364.967 560621.564 0, 1263066.637 560606.072 0, 1262768.306 560590.597 0, 1262469.974 560575.14 0, 1262171.641 560559.7 0, 1261873.307 560544.278 0, 1261574.972 560528.873 0, 1261276.636 560513.486 0, 1260978.3 560498.117 0, 1260679.962 560482.765 0,
+ 1260381.624 560467.431 0, 1260083.284 560452.114 0, 1259784.944 560436.815 0, 1259486.603 560421.533 0, 1259188.261 560406.269 0, 1258889.918 560391.023 0, 1258591.574 560375.794 0, 1258293.23 560360.582 0, 1257993.482 560345.317 0, 1257710.776 565899.767 0,
+ 1257428.051 571454.588 0, 1257727.142 571469.819 0, 1258024.833 571484.997 0, 1258322.522 571500.193 0, 1258620.212 571515.406 0, 1258917.9 571530.637 0, 1259215.587 571545.885 0, 1259513.273 571561.151 0, 1259810.959 571576.434 0, 1260108.643 571591.734 0,
+ 1260406.327 571607.053 0, 1260704.01 571622.388 0, 1261001.692 571637.742 0, 1261299.373 571653.113 0, 1261597.053 571668.501 0, 1261894.732 571683.907 0, 1262192.41 571699.33 0, 1262490.088 571714.771 0, 1262787.764 571730.229 0, 1263085.44 571745.705 0,
+ 1263383.114 571761.199 0, 1263680.788 571776.71 0, 1263978.461 571792.238 0, 1264276.133 571807.784 0, 1264572.406 571823.275 0, 1264871.474 571838.929 0, 1265169.143 571854.527 0, 1265466.811 571870.143 0, 1265764.478 571885.777 0, 1266062.144 571901.428 0,
+ 1266359.81 571917.097 0, 1266657.474 571932.783 0, 1266955.138 571948.487 0, 1267252.801 571964.208 0, 1267550.462 571979.947 0, 1267848.123 571995.703 0, 1268145.783 572011.477 0, 1268443.442 572027.268 0, 1268741.1 572043.077 0, 1269038.757 572058.903 0,
+ 1269336.413 572074.747 0, 1269634.069 572090.608 0, 1269931.723 572106.487 0, 1270229.376 572122.384 0, 1270527.029 572138.297 0, 1270824.68 572154.229 0, 1271122.331 572170.178 0, 1271419.98 572186.144 0, 1271716.232 572202.053 0, 1272014.65 566648.054 0,
+ 1272313.047 561094.424 0))
+
+POLYGON ((1286002.245 572989.883 0, 1285706.037 572973.137 0, 1285408.434 572956.33 0, 1285110.83 572939.54 0, 1284813.224 572922.767 0, 1284515.618 572906.013 0, 1284218.011 572889.275 0, 1283920.402 572872.556 0, 1283622.793 572855.853 0, 1283325.183 572839.169 0,
+ 1283027.572 572822.501 0, 1282729.96 572805.852 0, 1282432.346 572789.22 0, 1282134.732 572772.605 0, 1281837.117 572756.008 0, 1281539.501 572739.428 0, 1281241.884 572722.866 0, 1280944.266 572706.322 0, 1280646.647 572689.794 0, 1280349.027 572673.285 0,
+ 1280051.406 572656.793 0, 1279753.784 572640.318 0, 1279456.161 572623.861 0, 1279158.537 572607.422 0, 1278859.517 572590.923 0, 1278563.287 572574.596 0, 1278265.66 572558.209 0, 1277968.032 572541.839 0, 1277670.404 572525.487 0, 1277372.774 572509.153 0,
+ 1277075.143 572492.836 0, 1276777.512 572476.537 0, 1276479.879 572460.255 0, 1276182.246 572443.991 0, 1275884.611 572427.744 0, 1275586.976 572411.515 0, 1275289.339 572395.303 0, 1274991.702 572379.109 0, 1274694.064 572362.932 0, 1274396.425 572346.773 0,
+ 1274098.784 572330.631 0, 1273801.143 572314.507 0, 1273503.501 572298.4 0, 1273205.858 572282.311 0, 1272908.214 572266.24 0, 1272610.569 572250.185 0, 1272312.924 572234.149 0, 1272015.277 572218.13 0, 1271716.232 572202.053 0, 1271417.795 577756.42 0,
+ 1271119.339 583311.152 0, 1271417.727 583327.193 0, 1271714.719 583343.177 0, 1272011.711 583359.178 0, 1272308.703 583375.197 0, 1272605.693 583391.233 0, 1272902.682 583407.287 0, 1273199.67 583423.358 0, 1273496.657 583439.447 0, 1273793.644 583455.553 0,
+ 1274090.629 583471.677 0, 1274387.613 583487.818 0, 1274684.597 583503.977 0, 1274981.579 583520.153 0, 1275278.561 583536.347 0, 1275575.542 583552.558 0, 1275872.521 583568.786 0, 1276169.5 583585.032 0, 1276466.478 583601.296 0, 1276763.455 583617.577 0,
+ 1277060.43 583633.875 0, 1277357.405 583650.191 0, 1277654.379 583666.525 0, 1277951.352 583682.876 0, 1278246.932 583699.167 0, 1278545.295 583715.63 0, 1278842.265 583732.033 0, 1279139.234 583748.454 0, 1279436.202 583764.893 0, 1279733.17 583781.348 0,
+ 1280030.136 583797.822 0, 1280327.101 583814.312 0, 1280624.065 583830.821 0, 1280921.028 583847.346 0, 1281217.991 583863.889 0, 1281514.952 583880.45 0, 1281811.912 583897.028 0, 1282108.872 583913.624 0, 1282405.83 583930.237 0, 1282702.788 583946.868 0,
+ 1282999.744 583963.516 0, 1283296.7 583980.181 0, 1283593.654 583996.864 0, 1283890.608 584013.565 0, 1284187.56 584030.283 0, 1284484.512 584047.018 0, 1284781.462 584063.771 0, 1285078.412 584080.542 0, 1285373.969 584097.251 0, 1285688.117 578543.385 0,
+ 1286002.245 572989.883 0))
+
+POLYGON ((1299626.321 584923.618 0, 1299330.81 584906.074 0, 1299033.909 584888.465 0, 1298737.007 584870.873 0, 1298440.104 584853.299 0, 1298143.2 584835.742 0, 1297846.295 584818.202 0, 1297549.389 584800.681 0, 1297252.481 584783.176 0, 1296955.573 584765.689 0,
+ 1296658.664 584748.22 0, 1296361.754 584730.768 0, 1296064.842 584713.333 0, 1295767.93 584695.916 0, 1295471.017 584678.516 0, 1295174.102 584661.134 0, 1294877.187 584643.77 0, 1294580.27 584626.423 0, 1294283.353 584609.093 0, 1293986.435 584591.781 0,
+ 1293689.515 584574.486 0, 1293392.595 584557.209 0, 1293095.673 584539.949 0, 1292798.751 584522.707 0, 1292500.437 584505.401 0, 1292204.902 584488.275 0, 1291907.977 584471.085 0, 1291611.05 584453.912 0, 1291314.123 584436.757 0, 1291017.194 584419.62 0,
+ 1290720.264 584402.5 0, 1290423.334 584385.398 0, 1290126.402 584368.313 0, 1289829.47 584351.245 0, 1289532.536 584334.195 0, 1289235.601 584317.162 0, 1288938.666 584300.147 0, 1288641.729 584283.15 0, 1288344.791 584266.17 0, 1288047.853 584249.207 0,
+ 1287750.913 584232.262 0, 1287453.972 584215.334 0, 1287157.031 584198.424 0, 1286860.088 584181.531 0, 1286563.145 584164.656 0, 1286266.2 584147.798 0, 1285969.254 584130.958 0, 1285672.308 584114.135 0, 1285373.969 584097.251 0, 1285059.8 589651.478 0,
+ 1284745.611 595206.063 0, 1285043.293 595222.91 0, 1285339.586 595239.695 0, 1285635.878 595256.499 0, 1285932.168 595273.319 0, 1286228.458 595290.157 0, 1286524.747 595307.013 0, 1286821.035 595323.886 0, 1287117.322 595340.776 0, 1287413.607 595357.684 0,
+ 1287709.892 595374.61 0, 1288006.176 595391.552 0, 1288302.459 595408.512 0, 1288598.741 595425.49 0, 1288895.021 595442.485 0, 1289191.301 595459.498 0, 1289487.58 595476.528 0, 1289783.858 595493.575 0, 1290080.135 595510.64 0, 1290376.411 595527.722 0,
+ 1290672.685 595544.822 0, 1290968.959 595561.939 0, 1291265.232 595579.074 0, 1291561.504 595596.226 0, 1291856.388 595613.315 0, 1292154.044 595630.582 0, 1292450.313 595647.786 0, 1292746.581 595665.008 0, 1293042.847 595682.247 0, 1293339.113 595699.504 0,
+ 1293635.378 595716.778 0, 1293931.641 595734.069 0, 1294227.904 595751.378 0, 1294524.166 595768.705 0, 1294820.426 595786.049 0, 1295116.686 595803.41 0, 1295412.945 595820.789 0, 1295709.202 595838.185 0, 1296005.459 595855.598 0, 1296301.714 595873.029 0,
+ 1296597.969 595890.478 0, 1296894.222 595907.944 0, 1297190.474 595925.427 0, 1297486.726 595942.928 0, 1297782.976 595960.446 0, 1298079.225 595977.981 0, 1298375.474 595995.535 0, 1298671.721 596013.105 0, 1298966.582 596030.611 0, 1299296.462 590476.936 0,
+ 1299626.321 584923.618 0))
+
+POLYGON ((1313185.166 596895.332 0, 1312890.354 596876.994 0, 1312594.157 596858.586 0, 1312297.96 596840.196 0, 1312001.761 596821.824 0, 1311705.561 596803.469 0, 1311409.361 596785.131 0, 1311113.159 596766.811 0, 1310816.956 596748.508 0, 1310520.752 596730.223 0,
+ 1310224.547 596711.955 0, 1309928.341 596693.704 0, 1309632.133 596675.471 0, 1309335.925 596657.255 0, 1309039.716 596639.057 0, 1308743.505 596620.877 0, 1308447.294 596602.713 0, 1308151.081 596584.567 0, 1307854.868 596566.439 0, 1307558.653 596548.328 0,
+ 1307262.437 596530.234 0, 1306966.22 596512.158 0, 1306670.002 596494.1 0, 1306373.783 596476.058 0, 1306076.179 596457.95 0, 1305781.342 596440.028 0, 1305485.12 596422.039 0, 1305188.897 596404.068 0, 1304892.673 596386.113 0, 1304596.447 596368.177 0,
+ 1304300.221 596350.258 0, 1304003.994 596332.356 0, 1303707.765 596314.471 0, 1303411.536 596296.604 0, 1303115.305 596278.755 0, 1302819.073 596260.923 0, 1302522.841 596243.108 0, 1302226.607 596225.311 0, 1301930.372 596207.531 0, 1301634.136 596189.769 0,
+ 1301337.9 596172.024 0, 1301041.662 596154.297 0, 1300745.423 596136.587 0, 1300449.183 596118.894 0, 1300152.942 596101.219 0, 1299856.7 596083.561 0, 1299560.457 596065.921 0, 1299264.212 596048.298 0, 1298966.582 596030.611 0, 1298636.68 601584.64 0,
+ 1298306.758 607139.021 0, 1298603.732 607156.67 0, 1298899.322 607174.254 0, 1299194.911 607191.855 0, 1299490.499 607209.474 0, 1299786.087 607227.11 0, 1300081.673 607244.763 0, 1300377.258 607262.434 0, 1300672.842 607280.123 0, 1300968.425 607297.828 0,
+ 1301264.007 607315.551 0, 1301559.588 607333.292 0, 1301855.168 607351.05 0, 1302150.747 607368.825 0, 1302446.325 607386.618 0, 1302741.902 607404.428 0, 1303037.477 607422.255 0, 1303333.052 607440.1 0, 1303628.626 607457.963 0, 1303924.198 607475.842 0,
+ 1304219.77 607493.739 0, 1304515.34 607511.654 0, 1304810.91 607529.586 0, 1305106.478 607547.535 0, 1305400.664 607565.418 0, 1305697.612 607583.486 0, 1305993.177 607601.487 0, 1306288.741 607619.506 0, 1306584.304 607637.542 0, 1306879.866 607655.596 0,
+ 1307175.427 607673.667 0, 1307470.987 607691.755 0, 1307766.546 607709.861 0, 1308062.103 607727.984 0, 1308357.66 607746.125 0, 1308653.216 607764.283 0, 1308948.77 607782.458 0, 1309244.324 607800.651 0, 1309539.876 607818.861 0, 1309835.428 607837.089 0,
+ 1310130.978 607855.334 0, 1310426.527 607873.596 0, 1310722.075 607891.876 0, 1311017.622 607910.173 0, 1311313.168 607928.488 0, 1311608.713 607946.82 0, 1311904.257 607965.169 0, 1312199.8 607983.536 0, 1312493.961 608001.834 0, 1312839.574 602448.408 0,
+ 1313185.166 596895.332 0))
+
+POLYGON ((1326678.67 608904.725 0, 1326384.559 608885.596 0, 1326089.07 608866.394 0, 1325793.579 608847.21 0, 1325498.087 608828.043 0, 1325202.594 608808.894 0, 1324907.1 608789.762 0, 1324611.605 608770.647 0, 1324316.108 608751.55 0, 1324020.611 608732.47 0,
+ 1323725.112 608713.407 0, 1323429.612 608694.362 0, 1323134.111 608675.334 0, 1322838.609 608656.324 0, 1322543.106 608637.331 0, 1322247.602 608618.356 0, 1321952.097 608599.397 0, 1321656.59 608580.457 0, 1321361.082 608561.533 0, 1321065.574 608542.627 0,
+ 1320770.064 608523.739 0, 1320474.553 608504.868 0, 1320179.041 608486.014 0, 1319883.528 608467.177 0, 1319586.635 608448.271 0, 1319292.498 608429.557 0, 1318996.982 608410.773 0, 1318701.464 608392.006 0, 1318405.945 608373.256 0, 1318110.426 608354.524 0,
+ 1317814.905 608335.81 0, 1317519.383 608317.112 0, 1317223.86 608298.432 0, 1316928.335 608279.77 0, 1316632.81 608261.125 0, 1316337.284 608242.497 0, 1316041.756 608223.887 0, 1315746.228 608205.294 0, 1315450.698 608186.719 0, 1315155.167 608168.16 0,
+ 1314859.635 608149.62 0, 1314564.102 608131.096 0, 1314268.568 608112.59 0, 1313973.033 608094.102 0, 1313677.497 608075.631 0, 1313381.96 608057.177 0, 1313086.421 608038.741 0, 1312790.882 608020.322 0, 1312493.961 608001.834 0, 1312148.326 613555.609 0,
+ 1311802.67 619109.729 0, 1312098.934 619128.175 0, 1312393.819 619146.553 0, 1312688.704 619164.949 0, 1312983.587 619183.362 0, 1313278.47 619201.792 0, 1313573.351 619220.24 0, 1313868.232 619238.705 0, 1314163.111 619257.187 0, 1314457.989 619275.687 0,
+ 1314752.866 619294.204 0, 1315047.742 619312.738 0, 1315342.617 619331.29 0, 1315637.49 619349.859 0, 1315932.363 619368.446 0, 1316227.234 619387.049 0, 1316522.105 619405.671 0, 1316816.974 619424.309 0, 1317111.842 619442.965 0, 1317406.71 619461.638 0,
+ 1317701.576 619480.329 0, 1317996.441 619499.037 0, 1318291.304 619517.762 0, 1318586.167 619536.505 0, 1318879.653 619555.177 0, 1319175.889 619574.042 0, 1319470.749 619592.837 0, 1319765.607 619611.649 0, 1320060.464 619630.479 0, 1320355.321 619649.325 0,
+ 1320650.176 619668.189 0, 1320945.029 619687.071 0, 1321239.882 619705.97 0, 1321534.734 619724.886 0, 1321829.584 619743.82 0, 1322124.434 619762.771 0, 1322419.282 619781.739 0, 1322714.129 619800.724 0, 1323008.975 619819.727 0, 1323303.82 619838.748 0,
+ 1323598.664 619857.786 0, 1323893.507 619876.841 0, 1324188.349 619895.913 0, 1324483.189 619915.003 0, 1324778.028 619934.11 0, 1325072.867 619953.234 0, 1325367.704 619972.376 0, 1325662.54 619991.535 0, 1325956 620010.622 0, 1326317.347 614457.502 0,
+ 1326678.67 608904.725 0))
+
+POLYGON ((1340106.729 620951.498 0, 1339813.321 620931.582 0, 1339518.54 620911.59 0, 1339223.759 620891.615 0, 1338928.976 620871.658 0, 1338634.191 620851.718 0, 1338339.406 620831.795 0, 1338044.619 620811.89 0, 1337749.832 620792.002 0, 1337455.043 620772.131 0,
+ 1337160.253 620752.278 0, 1336865.462 620732.442 0, 1336570.669 620712.624 0, 1336275.876 620692.822 0, 1335981.081 620673.039 0, 1335686.285 620653.272 0, 1335391.488 620633.523 0, 1335096.69 620613.791 0, 1334801.89 620594.077 0, 1334507.09 620574.38 0,
+ 1334212.288 620554.7 0, 1333917.485 620535.037 0, 1333622.681 620515.392 0, 1333327.876 620495.765 0, 1333031.697 620476.063 0, 1332738.262 620456.561 0, 1332443.454 620436.986 0, 1332148.644 620417.427 0, 1331853.833 620397.886 0, 1331559.021 620378.363 0,
+ 1331264.208 620358.857 0, 1330969.393 620339.368 0, 1330674.578 620319.896 0, 1330379.761 620300.442 0, 1330084.943 620281.005 0, 1329790.125 620261.586 0, 1329495.304 620242.184 0, 1329200.483 620222.799 0, 1328905.661 620203.432 0, 1328610.837 620184.081 0,
+ 1328316.013 620164.749 0, 1328021.187 620145.433 0, 1327726.36 620126.135 0, 1327431.532 620106.855 0, 1327136.703 620087.591 0, 1326841.872 620068.346 0, 1326547.041 620049.117 0, 1326252.208 620029.906 0, 1325956 620010.622 0, 1325594.632 625564.085 0,
+ 1325233.241 631117.885 0, 1325528.792 631137.126 0, 1325822.971 631156.295 0, 1326117.149 631175.48 0, 1326411.325 631194.684 0, 1326705.501 631213.904 0, 1326999.675 631233.142 0, 1327293.848 631252.397 0, 1327588.02 631271.67 0, 1327882.191 631290.96 0,
+ 1328176.361 631310.267 0, 1328470.53 631329.591 0, 1328764.697 631348.933 0, 1329058.864 631368.292 0, 1329353.029 631387.669 0, 1329647.193 631407.062 0, 1329941.356 631426.473 0, 1330235.518 631445.902 0, 1330529.678 631465.347 0, 1330823.838 631484.81 0,
+ 1331117.996 631504.291 0, 1331412.154 631523.788 0, 1331706.31 631543.303 0, 1332000.465 631562.835 0, 1332293.248 631582.294 0, 1332588.771 631601.952 0, 1332882.922 631621.536 0, 1333177.073 631641.138 0, 1333471.222 631660.756 0, 1333765.37 631680.392 0,
+ 1334059.517 631700.046 0, 1334353.662 631719.717 0, 1334647.807 631739.405 0, 1334941.95 631759.11 0, 1335236.093 631778.833 0, 1335530.234 631798.573 0, 1335824.374 631818.33 0, 1336118.512 631838.105 0, 1336412.65 631857.897 0, 1336706.786 631877.706 0,
+ 1337000.921 631897.532 0, 1337295.056 631917.376 0, 1337589.188 631937.237 0, 1337883.32 631957.116 0, 1338177.451 631977.012 0, 1338471.58 631996.925 0, 1338765.708 632016.855 0, 1339059.835 632036.803 0, 1339352.592 632056.675 0, 1339729.672 626503.918 0,
+ 1340106.729 620951.498 0))
+
+POLYGON ((1353469.235 633035.351 0, 1353176.533 633014.651 0, 1352882.464 632993.873 0, 1352588.393 632973.111 0, 1352294.321 632952.367 0, 1352000.248 632931.641 0, 1351706.173 632910.931 0, 1351412.098 632890.239 0, 1351118.021 632869.564 0, 1350823.943 632848.907 0,
+ 1350529.864 632828.267 0, 1350235.783 632807.644 0, 1349941.702 632787.038 0, 1349647.619 632766.45 0, 1349353.535 632745.879 0, 1349059.449 632725.326 0, 1348765.363 632704.789 0, 1348471.275 632684.27 0, 1348177.186 632663.769 0, 1347883.096 632643.284 0,
+ 1347589.004 632622.817 0, 1347294.912 632602.368 0, 1347000.818 632581.935 0, 1346706.723 632561.52 0, 1346411.259 632541.027 0, 1346118.53 632520.742 0, 1345824.431 632500.379 0, 1345530.331 632480.033 0, 1345236.23 632459.704 0, 1344942.128 632439.393 0,
+ 1344648.025 632419.099 0, 1344353.92 632398.822 0, 1344059.815 632378.563 0, 1343765.708 632358.321 0, 1343471.599 632338.096 0, 1343177.49 632317.889 0, 1342883.38 632297.699 0, 1342589.268 632277.526 0, 1342295.155 632257.37 0, 1342001.041 632237.232 0,
+ 1341706.926 632217.111 0, 1341412.809 632197.008 0, 1341118.692 632176.922 0, 1340824.573 632156.853 0, 1340530.453 632136.801 0, 1340236.332 632116.767 0, 1339942.209 632096.75 0, 1339648.086 632076.75 0, 1339352.592 632056.675 0, 1338975.49 637609.767 0,
+ 1338598.365 643163.191 0, 1338893.202 643183.222 0, 1339186.672 643203.177 0, 1339480.14 643223.15 0, 1339773.608 643243.14 0, 1340067.074 643263.147 0, 1340360.539 643283.171 0, 1340654.003 643303.212 0, 1340947.466 643323.271 0, 1341240.927 643343.347 0,
+ 1341534.388 643363.441 0, 1341827.847 643383.551 0, 1342121.305 643403.679 0, 1342414.762 643423.825 0, 1342708.217 643443.987 0, 1343001.672 643464.167 0, 1343295.125 643484.364 0, 1343588.577 643504.578 0, 1343882.028 643524.81 0, 1344175.478 643545.059 0,
+ 1344468.926 643565.325 0, 1344762.374 643585.608 0, 1345055.82 643605.909 0, 1345349.265 643626.227 0, 1345641.344 643646.467 0, 1345936.151 643666.914 0, 1346229.592 643687.284 0, 1346523.032 643707.671 0, 1346816.471 643728.076 0, 1347109.909 643748.497 0,
+ 1347403.346 643768.936 0, 1347696.781 643789.392 0, 1347990.215 643809.865 0, 1348283.648 643830.356 0, 1348577.08 643850.864 0, 1348870.51 643871.389 0, 1349163.939 643891.932 0, 1349457.367 643912.491 0, 1349750.794 643933.068 0, 1350044.22 643953.663 0,
+ 1350337.644 643974.274 0, 1350631.068 643994.903 0, 1350924.49 644015.549 0, 1351217.911 644036.212 0, 1351511.33 644056.893 0, 1351804.748 644077.591 0, 1352098.166 644098.306 0, 1352391.582 644119.039 0, 1352683.633 644139.692 0, 1353076.446 638587.355 0,
+ 1353469.235 633035.351 0))
+
+POLYGON ((1366766.086 645155.982 0, 1366474.092 645134.503 0, 1366180.736 645112.942 0, 1365887.378 645091.398 0, 1365594.019 645069.871 0, 1365300.659 645048.362 0, 1365007.298 645026.869 0, 1364713.936 645005.395 0, 1364420.572 644983.937 0, 1364127.207 644962.496 0,
+ 1363833.84 644941.073 0, 1363540.473 644919.667 0, 1363247.104 644898.279 0, 1362953.734 644876.907 0, 1362660.363 644855.553 0, 1362366.99 644834.216 0, 1362073.616 644812.897 0, 1361780.241 644791.594 0, 1361486.865 644770.309 0, 1361193.487 644749.042 0,
+ 1360900.108 644727.791 0, 1360606.728 644706.558 0, 1360313.347 644685.342 0, 1360019.964 644664.143 0, 1359725.218 644642.864 0, 1359433.195 644621.798 0, 1359139.809 644600.651 0, 1358846.421 644579.521 0, 1358553.032 644558.409 0, 1358259.642 644537.314 0,
+ 1357966.251 644516.236 0, 1357672.858 644495.175 0, 1357379.465 644474.132 0, 1357086.07 644453.106 0, 1356792.673 644432.097 0, 1356499.276 644411.106 0, 1356205.877 644390.132 0, 1355912.477 644369.175 0, 1355619.076 644348.235 0, 1355325.673 644327.313 0,
+ 1355032.27 644306.408 0, 1354738.865 644285.52 0, 1354445.459 644264.649 0, 1354152.051 644243.796 0, 1353858.643 644222.96 0, 1353565.233 644202.141 0, 1353271.822 644181.339 0, 1352978.41 644160.555 0, 1352683.633 644139.692 0, 1352290.797 649692.357 0,
+ 1351897.938 655245.346 0, 1352192.058 655266.163 0, 1352484.816 655286.901 0, 1352777.574 655307.656 0, 1353070.33 655328.429 0, 1353363.085 655349.218 0, 1353655.839 655370.025 0, 1353948.591 655390.849 0, 1354241.342 655411.691 0, 1354534.093 655432.549 0,
+ 1354826.841 655453.425 0, 1355119.589 655474.318 0, 1355412.335 655495.228 0, 1355705.08 655516.156 0, 1355997.824 655537.1 0, 1356290.567 655558.062 0, 1356583.308 655579.042 0, 1356876.049 655600.038 0, 1357168.787 655621.052 0, 1357461.525 655642.082 0,
+ 1357754.262 655663.13 0, 1358046.997 655684.196 0, 1358339.731 655705.278 0, 1358632.464 655726.378 0, 1358923.836 655747.397 0, 1359217.925 655768.629 0, 1359510.654 655789.781 0, 1359803.382 655810.95 0, 1360096.109 655832.135 0, 1360388.834 655853.339 0,
+ 1360681.558 655874.559 0, 1360974.281 655895.797 0, 1361267.002 655917.051 0, 1361559.723 655938.324 0, 1361852.442 655959.613 0, 1362145.159 655980.919 0, 1362437.876 656002.243 0, 1362730.591 656023.584 0, 1363023.305 656044.942 0, 1363316.018 656066.318 0,
+ 1363608.73 656087.71 0, 1363901.44 656109.12 0, 1364194.149 656130.548 0, 1364486.856 656151.992 0, 1364779.563 656173.453 0, 1365072.268 656194.932 0, 1365364.972 656216.428 0, 1365657.675 656237.942 0, 1365949.018 656259.372 0, 1366357.564 650707.514 0,
+ 1366766.086 645155.982 0))
+
+POLYGON ((1379997.178 657313.091 0, 1379705.894 657290.837 0, 1379413.253 657268.497 0, 1379120.611 657246.174 0, 1378827.968 657223.868 0, 1378535.323 657201.58 0, 1378242.677 657179.309 0, 1377950.03 657157.055 0, 1377657.381 657134.818 0, 1377364.731 657112.598 0,
+ 1377072.08 657090.396 0, 1376779.428 657068.211 0, 1376486.774 657046.043 0, 1376194.119 657023.892 0, 1375901.462 657001.759 0, 1375608.805 656979.643 0, 1375316.146 656957.544 0, 1375023.485 656935.462 0, 1374730.824 656913.398 0, 1374438.161 656891.35 0,
+ 1374145.497 656869.32 0, 1373852.831 656847.307 0, 1373560.164 656825.312 0, 1373267.496 656803.333 0, 1372973.47 656781.27 0, 1372682.156 656759.428 0, 1372389.484 656737.502 0, 1372096.811 656715.592 0, 1371804.136 656693.7 0, 1371511.46 656671.825 0,
+ 1371218.783 656649.967 0, 1370926.105 656628.126 0, 1370633.425 656606.303 0, 1370340.744 656584.497 0, 1370048.062 656562.708 0, 1369755.378 656540.936 0, 1369462.694 656519.182 0, 1369170.007 656497.445 0, 1368877.32 656475.725 0, 1368584.631 656454.022 0,
+ 1368291.941 656432.336 0, 1367999.25 656410.668 0, 1367706.558 656389.017 0, 1367413.864 656367.383 0, 1367121.169 656345.766 0, 1366828.473 656324.167 0, 1366535.775 656302.585 0, 1366243.076 656281.02 0, 1365949.018 656259.372 0, 1365540.449 661811.551 0,
+ 1365131.856 667364.049 0, 1365425.257 667385.648 0, 1365717.303 667407.165 0, 1366009.347 667428.699 0, 1366301.389 667450.25 0, 1366593.431 667471.819 0, 1366885.471 667493.404 0, 1367177.51 667515.007 0, 1367469.548 667536.627 0, 1367761.584 667558.264 0,
+ 1368053.619 667579.918 0, 1368345.653 667601.59 0, 1368637.685 667623.279 0, 1368929.717 667644.984 0, 1369221.747 667666.708 0, 1369513.775 667688.448 0, 1369805.803 667710.205 0, 1370097.829 667731.98 0, 1370389.854 667753.772 0, 1370681.877 667775.581 0,
+ 1370973.9 667797.407 0, 1371265.921 667819.25 0, 1371557.94 667841.111 0, 1371849.959 667862.989 0, 1372140.623 667884.782 0, 1372433.992 667906.796 0, 1372726.006 667928.725 0, 1373018.02 667950.671 0, 1373310.032 667972.635 0, 1373602.042 667994.616 0,
+ 1373894.052 668016.614 0, 1374186.06 668038.629 0, 1374478.067 668060.662 0, 1374770.072 668082.711 0, 1375062.076 668104.778 0, 1375354.079 668126.862 0, 1375646.081 668148.963 0, 1375938.081 668171.082 0, 1376230.08 668193.217 0, 1376522.078 668215.37 0,
+ 1376814.074 668237.54 0, 1377106.069 668259.727 0, 1377398.063 668281.931 0, 1377690.056 668304.153 0, 1377982.047 668326.392 0, 1378274.037 668348.648 0, 1378566.025 668370.921 0, 1378858.013 668393.211 0, 1379148.646 668415.415 0, 1379572.924 662864.094 0,
+ 1379997.178 657313.091 0))
+
+POLYGON ((1393162.41 669506.376 0, 1392871.838 669483.351 0, 1392579.915 669460.236 0, 1392287.991 669437.138 0, 1391996.065 669414.058 0, 1391704.138 669390.994 0, 1391412.209 669367.948 0, 1391120.279 669344.919 0, 1390828.348 669321.907 0, 1390536.415 669298.912 0,
+ 1390244.481 669275.934 0, 1389952.546 669252.974 0, 1389660.609 669230.03 0, 1389368.671 669207.104 0, 1389076.732 669184.196 0, 1388784.791 669161.304 0, 1388492.849 669138.429 0, 1388200.906 669115.572 0, 1387908.961 669092.732 0, 1387617.015 669069.909 0,
+ 1387325.068 669047.103 0, 1387033.119 669024.315 0, 1386741.169 669001.543 0, 1386449.217 668978.789 0, 1386155.914 668955.947 0, 1385865.31 668933.332 0, 1385573.355 668910.629 0, 1385281.398 668887.944 0, 1384989.44 668865.276 0, 1384697.481 668842.624 0,
+ 1384405.52 668819.991 0, 1384113.558 668797.374 0, 1383821.594 668774.774 0, 1383529.629 668752.192 0, 1383237.663 668729.627 0, 1382945.696 668707.079 0, 1382653.727 668684.548 0, 1382361.757 668662.034 0, 1382069.785 668639.538 0, 1381777.813 668617.058 0,
+ 1381485.839 668594.596 0, 1381193.863 668572.151 0, 1380901.887 668549.724 0, 1380609.908 668527.313 0, 1380317.929 668504.92 0, 1380025.948 668482.544 0, 1379733.966 668460.185 0, 1379441.983 668437.843 0, 1379148.646 668415.415 0, 1378724.344 673967.051 0,
+ 1378300.018 679518.999 0, 1378592.699 679541.376 0, 1378884.028 679563.668 0, 1379175.357 679585.977 0, 1379466.684 679608.303 0, 1379758.01 679630.646 0, 1380049.334 679653.007 0, 1380340.658 679675.384 0, 1380631.979 679697.779 0, 1380923.3 679720.191 0,
+ 1381214.619 679742.62 0, 1381505.937 679765.066 0, 1381797.254 679787.529 0, 1382088.569 679810.009 0, 1382379.883 679832.507 0, 1382671.196 679855.022 0, 1382962.507 679877.554 0, 1383253.817 679900.103 0, 1383545.126 679922.669 0, 1383836.433 679945.252 0,
+ 1384127.739 679967.852 0, 1384419.044 679990.47 0, 1384710.347 680013.105 0, 1385001.649 680035.757 0, 1385291.602 680058.321 0, 1385584.249 680081.112 0, 1385875.547 680103.815 0, 1386166.844 680126.535 0, 1386458.139 680149.273 0, 1386749.433 680172.028 0,
+ 1387040.726 680194.8 0, 1387332.017 680217.589 0, 1387623.307 680240.395 0, 1387914.595 680263.218 0, 1388205.883 680286.059 0, 1388497.169 680308.916 0, 1388788.453 680331.791 0, 1389079.736 680354.683 0, 1389371.018 680377.592 0, 1389662.299 680400.518 0,
+ 1389953.578 680423.461 0, 1390244.856 680446.422 0, 1390536.132 680469.399 0, 1390827.407 680492.394 0, 1391118.681 680515.406 0, 1391409.954 680538.435 0, 1391701.225 680561.481 0, 1391992.494 680584.545 0, 1392282.416 680607.518 0, 1392722.426 675056.792 0,
+ 1393162.41 669506.376 0))
+
+POLYGON ((1406261.683 681735.536 0, 1405971.825 681711.744 0, 1405680.621 681687.857 0, 1405389.417 681663.988 0, 1405098.211 681640.137 0, 1404807.003 681616.302 0, 1404515.794 681592.484 0, 1404224.583 681568.684 0, 1403933.372 681544.901 0, 1403642.158 681521.135 0,
+ 1403350.944 681497.386 0, 1403059.728 681473.654 0, 1402768.51 681449.939 0, 1402477.292 681426.241 0, 1402186.072 681402.561 0, 1401894.85 681378.898 0, 1401603.627 681355.251 0, 1401312.403 681331.622 0, 1401021.177 681308.011 0, 1400729.95 681284.416 0,
+ 1400438.721 681260.838 0, 1400147.491 681237.278 0, 1399856.26 681213.734 0, 1399565.027 681190.208 0, 1399272.448 681166.591 0, 1398982.558 681143.207 0, 1398691.321 681119.733 0, 1398400.083 681096.275 0, 1398108.843 681072.834 0, 1397817.602 681049.411 0,
+ 1397526.36 681026.005 0, 1397235.116 681002.616 0, 1396943.871 680979.244 0, 1396652.624 680955.889 0, 1396361.377 680932.552 0, 1396070.127 680909.231 0, 1395778.877 680885.928 0, 1395487.625 680862.642 0, 1395196.371 680839.373 0, 1394905.117 680816.121 0,
+ 1394613.861 680792.886 0, 1394322.603 680769.668 0, 1394031.344 680746.468 0, 1393740.084 680723.285 0, 1393448.823 680700.118 0, 1393157.56 680676.969 0, 1392866.295 680653.837 0, 1392575.03 680630.723 0, 1392282.416 680607.518 0, 1391842.382 686158.553 0,
+ 1391402.324 691709.893 0, 1391694.281 691733.045 0, 1391984.894 691756.108 0, 1392275.504 691779.188 0, 1392566.114 691802.285 0, 1392856.722 691825.399 0, 1393147.329 691848.531 0, 1393437.934 691871.679 0, 1393728.538 691894.845 0, 1394019.141 691918.027 0,
+ 1394309.742 691941.227 0, 1394600.342 691964.444 0, 1394890.94 691987.678 0, 1395181.538 692010.929 0, 1395472.133 692034.197 0, 1395762.728 692057.482 0, 1396053.321 692080.785 0, 1396343.913 692104.104 0, 1396634.503 692127.441 0, 1396925.092 692150.794 0,
+ 1397215.679 692174.165 0, 1397506.266 692197.553 0, 1397796.851 692220.958 0, 1398087.434 692244.38 0, 1398376.674 692267.711 0, 1398668.597 692291.276 0, 1398959.176 692314.749 0, 1399249.754 692338.239 0, 1399540.33 692361.747 0, 1399830.906 692385.272 0,
+ 1400121.479 692408.814 0, 1400412.052 692432.372 0, 1400702.623 692455.948 0, 1400993.192 692479.542 0, 1401283.761 692503.152 0, 1401574.327 692526.779 0, 1401864.893 692550.424 0, 1402155.457 692574.085 0, 1402446.02 692597.764 0, 1402736.581 692621.459 0,
+ 1403027.141 692645.172 0, 1403317.699 692668.902 0, 1403608.256 692692.649 0, 1403898.812 692716.413 0, 1404189.366 692740.195 0, 1404479.919 692763.993 0, 1404770.471 692787.808 0, 1405061.021 692811.641 0, 1405350.228 692835.38 0, 1405805.968 687285.306 0,
+ 1406261.683 681735.536 0))
+
+POLYGON ((1419294.897 694000.269 0, 1419005.755 693975.712 0, 1418715.274 693951.059 0, 1418424.791 693926.423 0, 1418134.306 693901.803 0, 1417843.82 693877.201 0, 1417553.333 693852.616 0, 1417262.844 693828.049 0, 1416972.354 693803.498 0, 1416681.862 693778.964 0,
+ 1416391.369 693754.448 0, 1416100.874 693729.948 0, 1415810.378 693705.466 0, 1415519.881 693681.001 0, 1415229.382 693656.553 0, 1414938.881 693632.122 0, 1414648.38 693607.708 0, 1414357.876 693583.311 0, 1414067.372 693558.931 0, 1413776.866 693534.569 0,
+ 1413486.358 693510.223 0, 1413195.849 693485.895 0, 1412905.339 693461.583 0, 1412614.827 693437.289 0, 1412322.974 693412.9 0, 1412033.799 693388.752 0, 1411743.283 693364.509 0, 1411452.765 693340.283 0, 1411162.246 693316.074 0, 1410871.726 693291.883 0,
+ 1410581.204 693267.708 0, 1410290.681 693243.551 0, 1410000.156 693219.41 0, 1409709.63 693195.287 0, 1409419.103 693171.181 0, 1409128.574 693147.092 0, 1408838.043 693123.02 0, 1408547.512 693098.965 0, 1408256.979 693074.927 0, 1407966.444 693050.907 0,
+ 1407675.908 693026.903 0, 1407385.371 693002.917 0, 1407094.832 692978.947 0, 1406804.291 692954.995 0, 1406513.75 692931.06 0, 1406223.207 692907.142 0, 1405932.662 692883.241 0, 1405642.117 692859.357 0, 1405350.228 692835.38 0, 1404894.464 698385.756 0,
+ 1404438.675 703936.43 0, 1404729.907 703960.353 0, 1405019.799 703984.183 0, 1405309.69 704008.03 0, 1405599.58 704031.894 0, 1405889.468 704055.776 0, 1406179.355 704079.674 0, 1406469.24 704103.589 0, 1406759.124 704127.522 0, 1407049.007 704151.472 0,
+ 1407338.888 704175.438 0, 1407628.768 704199.422 0, 1407918.646 704223.423 0, 1408208.523 704247.44 0, 1408498.399 704271.475 0, 1408788.273 704295.527 0, 1409078.146 704319.596 0, 1409368.017 704343.682 0, 1409657.887 704367.785 0, 1409947.756 704391.906 0,
+ 1410237.623 704416.043 0, 1410527.488 704440.197 0, 1410817.353 704464.368 0, 1411107.215 704488.557 0, 1411395.74 704512.651 0, 1411686.937 704536.985 0, 1411976.795 704561.225 0, 1412266.652 704585.481 0, 1412556.508 704609.755 0, 1412846.362 704634.046 0,
+ 1413136.215 704658.354 0, 1413426.066 704682.678 0, 1413715.916 704707.02 0, 1414005.765 704731.379 0, 1414295.612 704755.756 0, 1414585.458 704780.149 0, 1414875.302 704804.559 0, 1415165.145 704828.986 0, 1415454.986 704853.43 0, 1415744.826 704877.892 0,
+ 1416034.664 704902.37 0, 1416324.501 704926.866 0, 1416614.337 704951.378 0, 1416904.171 704975.908 0, 1417194.004 705000.455 0, 1417483.835 705025.018 0, 1417773.665 705049.599 0, 1418063.493 705074.197 0, 1418351.984 705098.699 0, 1418823.453 699549.335 0,
+ 1419294.897 694000.269 0))
+
+POLYGON ((1432261.955 706300.27 0, 1431973.532 706274.954 0, 1431683.774 706249.537 0, 1431394.015 706224.138 0, 1431104.254 706198.755 0, 1430814.492 706173.39 0, 1430524.728 706148.041 0, 1430234.963 706122.71 0, 1429945.196 706097.396 0, 1429655.428 706072.099 0,
+ 1429365.659 706046.818 0, 1429075.888 706021.555 0, 1428786.115 705996.309 0, 1428496.341 705971.08 0, 1428206.565 705945.868 0, 1427916.788 705920.674 0, 1427627.01 705895.496 0, 1427337.23 705870.335 0, 1427047.448 705845.191 0, 1426757.665 705820.065 0,
+ 1426467.881 705794.955 0, 1426178.095 705769.863 0, 1425888.307 705744.787 0, 1425598.519 705719.729 0, 1425307.394 705694.572 0, 1425018.936 705669.663 0, 1424729.143 705644.656 0, 1424439.348 705619.666 0, 1424149.552 705594.692 0, 1423859.754 705569.736 0,
+ 1423569.955 705544.797 0, 1423280.154 705519.875 0, 1422990.352 705494.971 0, 1422700.549 705470.083 0, 1422410.744 705445.212 0, 1422120.937 705420.358 0, 1421831.129 705395.522 0, 1421541.32 705370.702 0, 1421251.509 705345.899 0, 1420961.697 705321.114 0,
+ 1420671.883 705296.345 0, 1420382.067 705271.594 0, 1420092.251 705246.86 0, 1419802.433 705222.142 0, 1419512.613 705197.442 0, 1419222.792 705172.759 0, 1418932.969 705148.093 0, 1418643.145 705123.444 0, 1418351.984 705098.699 0, 1417880.49 710648.357 0,
+ 1417408.972 716198.307 0, 1417699.476 716222.996 0, 1417988.647 716247.59 0, 1418277.816 716272.2 0, 1418566.984 716296.828 0, 1418856.151 716321.472 0, 1419145.315 716346.134 0, 1419434.479 716370.812 0, 1419723.641 716395.508 0, 1420012.801 716420.221 0,
+ 1420301.96 716444.95 0, 1420591.118 716469.697 0, 1420880.274 716494.46 0, 1421169.429 716519.241 0, 1421458.582 716544.039 0, 1421747.734 716568.854 0, 1422036.884 716593.685 0, 1422326.033 716618.534 0, 1422615.181 716643.4 0, 1422904.327 716668.283 0,
+ 1423193.471 716693.183 0, 1423482.614 716718.099 0, 1423771.756 716743.033 0, 1424060.896 716767.984 0, 1424348.703 716792.837 0, 1424639.171 716817.937 0, 1424928.307 716842.939 0, 1425217.441 716867.958 0, 1425506.574 716892.994 0, 1425795.705 716918.047 0,
+ 1426084.835 716943.117 0, 1426373.963 716968.204 0, 1426663.09 716993.308 0, 1426952.216 717018.429 0, 1427241.339 717043.567 0, 1427530.462 717068.722 0, 1427819.583 717093.894 0, 1428108.702 717119.083 0, 1428397.82 717144.289 0, 1428686.937 717169.512 0,
+ 1428976.052 717194.753 0, 1429265.165 717220.01 0, 1429554.277 717245.284 0, 1429843.387 717270.575 0, 1430132.497 717295.883 0, 1430421.604 717321.209 0, 1430710.71 717346.551 0, 1430999.815 717371.91 0, 1431287.588 717397.17 0, 1431774.784 711848.574 0,
+ 1432261.955 706300.27 0))
+
+POLYGON ((1445162.761 718635.238 0, 1444875.058 718609.165 0, 1444586.027 718582.989 0, 1444296.993 718556.83 0, 1444007.959 718530.688 0, 1443718.922 718504.563 0, 1443429.884 718478.456 0, 1443140.845 718452.365 0, 1442851.804 718426.291 0, 1442562.761 718400.234 0,
+ 1442273.717 718374.194 0, 1441984.672 718348.171 0, 1441695.625 718322.165 0, 1441406.576 718296.177 0, 1441117.526 718270.205 0, 1440828.474 718244.25 0, 1440539.421 718218.312 0, 1440250.366 718192.391 0, 1439961.31 718166.488 0, 1439672.252 718140.601 0,
+ 1439383.193 718114.731 0, 1439094.132 718088.878 0, 1438805.07 718063.043 0, 1438516.006 718037.224 0, 1438225.612 718011.304 0, 1437937.873 717985.638 0, 1437648.805 717959.87 0, 1437359.735 717934.119 0, 1437070.664 717908.386 0, 1436781.591 717882.669 0,
+ 1436492.516 717856.97 0, 1436203.44 717831.287 0, 1435914.363 717805.621 0, 1435625.284 717779.973 0, 1435336.203 717754.341 0, 1435047.121 717728.727 0, 1434758.037 717703.129 0, 1434468.952 717677.549 0, 1434179.866 717651.985 0, 1433890.778 717626.439 0,
+ 1433601.688 717600.91 0, 1433312.597 717575.397 0, 1433023.505 717549.902 0, 1432734.411 717524.423 0, 1432445.315 717498.962 0, 1432156.218 717473.518 0, 1431867.119 717448.09 0, 1431578.019 717422.68 0, 1431287.588 717397.17 0, 1430800.366 722946.053 0,
+ 1430313.119 728495.22 0, 1430602.895 728520.673 0, 1430891.342 728546.025 0, 1431179.787 728571.395 0, 1431468.231 728596.782 0, 1431756.673 728622.186 0, 1432045.114 728647.607 0, 1432333.554 728673.045 0, 1432621.991 728698.5 0, 1432910.428 728723.971 0,
+ 1433198.863 728749.46 0, 1433487.296 728774.966 0, 1433775.728 728800.488 0, 1434064.158 728826.028 0, 1434352.587 728851.585 0, 1434641.015 728877.158 0, 1434929.44 728902.749 0, 1435217.865 728928.357 0, 1435506.288 728953.981 0, 1435794.709 728979.623 0,
+ 1436083.129 729005.281 0, 1436371.547 729030.957 0, 1436659.964 729056.649 0, 1436948.379 729082.358 0, 1437235.467 729107.967 0, 1437525.205 729133.828 0, 1437813.616 729159.589 0, 1438102.025 729185.366 0, 1438390.433 729211.16 0, 1438678.839 729236.971 0,
+ 1438967.244 729262.8 0, 1439255.647 729288.645 0, 1439544.049 729314.507 0, 1439832.449 729340.386 0, 1440120.848 729366.282 0, 1440409.245 729392.196 0, 1440697.64 729418.126 0, 1440986.034 729444.073 0, 1441274.427 729470.037 0, 1441562.818 729496.018 0,
+ 1441851.207 729522.016 0, 1442139.595 729548.031 0, 1442427.981 729574.063 0, 1442716.366 729600.112 0, 1443004.749 729626.178 0, 1443293.131 729652.26 0, 1443581.511 729678.36 0, 1443869.89 729704.477 0, 1444156.943 729730.491 0, 1444659.865 724182.722 0,
+ 1445162.761 718635.238 0))
+
+POLYGON ((1457997.221 731004.868 0, 1457710.241 730978.043 0, 1457421.937 730951.112 0, 1457133.632 730924.197 0, 1456845.325 730897.3 0, 1456557.016 730870.419 0, 1456268.706 730843.556 0, 1455980.395 730816.709 0, 1455692.081 730789.879 0, 1455403.767 730763.067 0,
+ 1455115.45 730736.271 0, 1454827.132 730709.492 0, 1454538.813 730682.731 0, 1454250.491 730655.986 0, 1453962.169 730629.258 0, 1453673.844 730602.547 0, 1453385.519 730575.853 0, 1453097.191 730549.177 0, 1452808.862 730522.517 0, 1452520.532 730495.874 0,
+ 1452232.199 730469.248 0, 1451943.866 730442.639 0, 1451655.53 730416.047 0, 1451367.194 730389.472 0, 1451077.532 730362.792 0, 1450790.515 730336.372 0, 1450502.174 730309.848 0, 1450213.831 730283.341 0, 1449925.486 730256.851 0, 1449637.14 730230.378 0,
+ 1449348.792 730203.921 0, 1449060.443 730177.482 0, 1448772.092 730151.06 0, 1448483.74 730124.654 0, 1448195.386 730098.266 0, 1447907.03 730071.895 0, 1447618.673 730045.54 0, 1447330.314 730019.203 0, 1447041.954 729992.882 0, 1446753.592 729966.579 0,
+ 1446465.229 729940.292 0, 1446176.864 729914.023 0, 1445888.498 729887.77 0, 1445600.13 729861.534 0, 1445311.761 729835.316 0, 1445023.39 729809.114 0, 1444735.017 729782.929 0, 1444446.643 729756.762 0, 1444156.943 729730.491 0, 1443653.995 735278.54 0,
+ 1443151.023 740826.867 0, 1443440.067 740853.078 0, 1443727.788 740879.187 0, 1444015.507 740905.312 0, 1444303.225 740931.454 0, 1444590.941 740957.614 0, 1444878.656 740983.79 0, 1445166.369 741009.983 0, 1445454.081 741036.193 0, 1445741.791 741062.42 0,
+ 1446029.5 741088.664 0, 1446317.207 741114.925 0, 1446604.913 741141.203 0, 1446892.617 741167.497 0, 1447180.319 741193.809 0, 1447468.02 741220.138 0, 1447755.719 741246.483 0, 1448043.417 741272.846 0, 1448331.114 741299.225 0, 1448618.808 741325.622 0,
+ 1448906.501 741352.035 0, 1449194.193 741378.465 0, 1449481.883 741404.912 0, 1449769.572 741431.376 0, 1450055.938 741457.736 0, 1450344.944 741484.355 0, 1450632.628 741510.87 0, 1450920.31 741537.402 0, 1451207.991 741563.951 0, 1451495.67 741590.516 0,
+ 1451783.347 741617.099 0, 1452071.023 741643.698 0, 1452358.698 741670.315 0, 1452646.371 741696.948 0, 1452934.042 741723.599 0, 1453221.712 741750.266 0, 1453509.38 741776.95 0, 1453797.046 741803.651 0, 1454084.711 741830.369 0, 1454372.375 741857.104 0,
+ 1454660.037 741883.856 0, 1454947.697 741910.625 0, 1455235.356 741937.411 0, 1455523.013 741964.214 0, 1455810.668 741991.033 0, 1456098.322 742017.87 0, 1456385.975 742044.723 0, 1456673.625 742071.594 0, 1456959.956 742098.358 0, 1457478.602 736551.474 0,
+ 1457997.221 731004.868 0))
+
+POLYGON ((1470765.242 743408.856 0, 1470478.986 743381.283 0, 1470191.412 743353.6 0, 1469903.837 743325.934 0, 1469616.26 743298.285 0, 1469328.681 743270.653 0, 1469041.101 743243.038 0, 1468753.519 743215.439 0, 1468465.935 743187.858 0, 1468178.35 743160.293 0,
+ 1467890.763 743132.746 0, 1467603.175 743105.215 0, 1467315.585 743077.701 0, 1467027.993 743050.204 0, 1466740.4 743022.725 0, 1466452.805 742995.262 0, 1466165.209 742967.816 0, 1465877.611 742940.386 0, 1465590.011 742912.974 0, 1465302.41 742885.579 0,
+ 1465014.807 742858.201 0, 1464727.202 742830.839 0, 1464439.596 742803.495 0, 1464151.988 742776.167 0, 1463863.062 742748.732 0, 1463576.768 742721.563 0, 1463289.156 742694.286 0, 1463001.541 742667.027 0, 1462713.926 742639.784 0, 1462426.308 742612.558 0,
+ 1462138.689 742585.349 0, 1461851.069 742558.157 0, 1461563.446 742530.981 0, 1461275.823 742503.823 0, 1460988.197 742476.682 0, 1460700.57 742449.557 0, 1460412.942 742422.45 0, 1460125.312 742395.359 0, 1459837.68 742368.286 0, 1459550.046 742341.229 0,
+ 1459262.411 742314.189 0, 1458974.775 742287.167 0, 1458687.137 742260.161 0, 1458399.497 742233.172 0, 1458111.856 742206.2 0, 1457824.213 742179.245 0, 1457536.568 742152.307 0, 1457248.922 742125.385 0, 1456959.956 742098.358 0, 1456441.285 747645.515 0,
+ 1455922.588 753192.943 0, 1456210.899 753219.909 0, 1456497.892 753246.769 0, 1456784.883 753273.646 0, 1457071.873 753300.54 0, 1457358.861 753327.451 0, 1457645.848 753354.379 0, 1457932.833 753381.323 0, 1458219.817 753408.285 0, 1458506.799 753435.263 0,
+ 1458793.779 753462.258 0, 1459080.758 753489.27 0, 1459367.735 753516.299 0, 1459654.711 753543.345 0, 1459941.685 753570.408 0, 1460228.657 753597.488 0, 1460515.628 753624.584 0, 1460802.597 753651.698 0, 1461089.565 753678.828 0, 1461376.531 753705.975 0,
+ 1461663.495 753733.14 0, 1461950.458 753760.321 0, 1462237.42 753787.519 0, 1462524.379 753814.733 0, 1462810.023 753841.84 0, 1463098.294 753869.214 0, 1463385.248 753896.479 0, 1463672.202 753923.762 0, 1463959.153 753951.061 0, 1464246.103 753978.377 0,
+ 1464533.052 754005.71 0, 1464819.999 754033.06 0, 1465106.944 754060.427 0, 1465393.887 754087.811 0, 1465680.829 754115.211 0, 1465967.77 754142.629 0, 1466254.708 754170.063 0, 1466541.646 754197.514 0, 1466828.581 754224.982 0, 1467115.515 754252.468 0,
+ 1467402.447 754279.969 0, 1467689.378 754307.488 0, 1467976.307 754335.024 0, 1468263.234 754362.577 0, 1468550.16 754390.146 0, 1468837.084 754417.732 0, 1469124.007 754445.336 0, 1469410.928 754472.956 0, 1469696.534 754500.466 0, 1470230.901 748954.526 0,
+ 1470765.242 743408.856 0))
+
+POLYGON ((1483466.73 755846.899 0, 1483181.201 755818.581 0, 1482894.359 755790.15 0, 1482607.516 755761.737 0, 1482320.671 755733.34 0, 1482033.824 755704.96 0, 1481746.976 755676.597 0, 1481460.126 755648.25 0, 1481173.274 755619.921 0, 1480886.42 755591.609 0,
+ 1480599.565 755563.313 0, 1480312.709 755535.034 0, 1480025.85 755506.773 0, 1479738.99 755478.528 0, 1479452.128 755450.3 0, 1479165.265 755422.088 0, 1478878.4 755393.894 0, 1478591.533 755365.717 0, 1478304.665 755337.556 0, 1478017.795 755309.413 0,
+ 1477730.923 755281.286 0, 1477444.05 755253.176 0, 1477157.175 755225.083 0, 1476870.298 755197.007 0, 1476582.108 755168.82 0, 1476296.54 755140.906 0, 1476009.658 755112.88 0, 1475722.775 755084.872 0, 1475435.89 755056.88 0, 1475149.003 755028.905 0,
+ 1474862.115 755000.947 0, 1474575.225 754973.006 0, 1474288.334 754945.082 0, 1474001.441 754917.175 0, 1473714.546 754889.285 0, 1473427.649 754861.411 0, 1473140.751 754833.555 0, 1472853.852 754805.715 0, 1472566.95 754777.892 0, 1472280.047 754750.086 0,
+ 1471993.143 754722.297 0, 1471706.236 754694.525 0, 1471419.329 754666.77 0, 1471132.419 754639.031 0, 1470845.508 754611.31 0, 1470558.595 754583.605 0, 1470271.681 754555.918 0, 1469984.765 754528.247 0, 1469696.534 754500.466 0, 1469162.141 760046.673 0,
+ 1468627.723 765593.144 0, 1468915.298 765620.861 0, 1469201.561 765648.469 0, 1469487.823 765676.093 0, 1469774.083 765703.735 0, 1470060.341 765731.393 0, 1470346.598 765759.069 0, 1470632.853 765786.761 0, 1470919.106 765814.47 0, 1471205.358 765842.195 0,
+ 1471491.608 765869.938 0, 1471777.856 765897.697 0, 1472064.103 765925.474 0, 1472350.348 765953.267 0, 1472636.592 765981.077 0, 1472922.834 766008.904 0, 1473209.074 766036.748 0, 1473495.313 766064.608 0, 1473781.55 766092.486 0, 1474067.785 766120.38 0,
+ 1474354.019 766148.291 0, 1474640.251 766176.219 0, 1474926.482 766204.164 0, 1475212.71 766232.125 0, 1475497.628 766259.976 0, 1475785.163 766288.099 0, 1476071.387 766316.111 0, 1476357.609 766344.14 0, 1476643.83 766372.186 0, 1476930.049 766400.249 0,
+ 1477216.266 766428.329 0, 1477502.481 766456.425 0, 1477788.695 766484.538 0, 1478074.908 766512.668 0, 1478361.118 766540.815 0, 1478647.327 766568.979 0, 1478933.535 766597.16 0, 1479219.74 766625.357 0, 1479505.944 766653.572 0, 1479792.147 766681.803 0,
+ 1480078.347 766710.051 0, 1480364.546 766738.316 0, 1480650.744 766766.598 0, 1480936.939 766794.896 0, 1481223.133 766823.212 0, 1481509.326 766851.544 0, 1481795.517 766879.893 0, 1482081.706 766908.259 0, 1482366.585 766936.512 0, 1482916.671 761391.574 0,
+ 1483466.73 755846.899 0))
+
+POLYGON ((1496101.597 768318.69 0, 1495816.796 768289.632 0, 1495530.689 768260.457 0, 1495244.579 768231.3 0, 1494958.468 768202.159 0, 1494672.355 768173.035 0, 1494386.241 768143.928 0, 1494100.124 768114.838 0, 1493814.006 768085.765 0, 1493527.886 768056.708 0,
+ 1493241.765 768027.669 0, 1492955.642 767998.646 0, 1492669.517 767969.64 0, 1492383.39 767940.651 0, 1492097.262 767911.678 0, 1491811.132 767882.723 0, 1491525 767853.784 0, 1491238.867 767824.863 0, 1490952.732 767795.958 0, 1490666.595 767767.07 0,
+ 1490380.457 767738.198 0, 1490094.317 767709.344 0, 1489808.175 767680.506 0, 1489522.031 767651.686 0, 1489234.579 767622.75 0, 1488949.739 767594.095 0, 1488663.59 767565.325 0, 1488377.44 767536.571 0, 1488091.288 767507.835 0, 1487805.134 767479.115 0,
+ 1487518.979 767450.412 0, 1487232.821 767421.726 0, 1486946.663 767393.057 0, 1486660.502 767364.405 0, 1486374.34 767335.769 0, 1486088.176 767307.151 0, 1485802.011 767278.549 0, 1485515.843 767249.964 0, 1485229.674 767221.396 0, 1484943.504 767192.845 0,
+ 1484657.332 767164.31 0, 1484371.158 767135.793 0, 1484084.982 767107.292 0, 1483798.805 767078.808 0, 1483512.626 767050.341 0, 1483226.445 767021.891 0, 1482940.263 766993.458 0, 1482654.079 766965.041 0, 1482366.585 766936.512 0, 1481816.474 772481.71 0,
+ 1481266.337 778027.164 0, 1481553.175 778055.629 0, 1481838.706 778083.98 0, 1482124.235 778112.349 0, 1482409.763 778140.734 0, 1482695.289 778169.136 0, 1482980.814 778197.555 0, 1483266.337 778225.991 0, 1483551.858 778254.443 0, 1483837.378 778282.912 0,
+ 1484122.896 778311.399 0, 1484408.412 778339.902 0, 1484693.926 778368.421 0, 1484979.439 778396.958 0, 1485264.95 778425.511 0, 1485550.46 778454.081 0, 1485835.967 778482.668 0, 1486121.474 778511.272 0, 1486406.978 778539.892 0, 1486692.481 778568.53 0,
+ 1486977.982 778597.184 0, 1487263.481 778625.855 0, 1487548.979 778654.543 0, 1487834.475 778683.247 0, 1488118.666 778711.837 0, 1488405.462 778740.707 0, 1488690.953 778769.462 0, 1488976.442 778798.234 0, 1489261.929 778827.022 0, 1489547.415 778855.828 0,
+ 1489832.899 778884.65 0, 1490118.382 778913.489 0, 1490403.862 778942.344 0, 1490689.341 778971.217 0, 1490974.819 779000.106 0, 1491260.294 779029.013 0, 1491545.768 779057.936 0, 1491831.241 779086.876 0, 1492116.711 779115.832 0, 1492402.18 779144.806 0,
+ 1492687.647 779173.796 0, 1492973.112 779202.803 0, 1493258.576 779231.827 0, 1493544.038 779260.867 0, 1493829.498 779289.925 0, 1494114.957 779318.999 0, 1494400.414 779348.09 0, 1494685.869 779377.198 0, 1494970.02 779406.189 0, 1495535.822 773862.311 0,
+ 1496101.597 768318.69 0))
+
+POLYGON ((1508669.753 780823.924 0, 1508385.682 780794.13 0, 1508100.311 780764.216 0, 1507814.937 780734.318 0, 1507529.562 780704.438 0, 1507244.185 780674.574 0, 1506958.806 780644.727 0, 1506673.425 780614.897 0, 1506388.043 780585.083 0, 1506102.659 780555.287 0,
+ 1505817.273 780525.507 0, 1505531.886 780495.744 0, 1505246.496 780465.998 0, 1504961.105 780436.268 0, 1504675.712 780406.556 0, 1504390.318 780376.86 0, 1504104.922 780347.181 0, 1503819.523 780317.519 0, 1503534.124 780287.873 0, 1503248.722 780258.245 0,
+ 1502963.319 780228.633 0, 1502677.914 780199.038 0, 1502392.507 780169.46 0, 1502107.098 780139.898 0, 1501820.387 780110.219 0, 1501536.276 780080.826 0, 1501250.862 780051.315 0, 1500965.447 780021.82 0, 1500680.03 779992.343 0, 1500394.611 779962.882 0,
+ 1500109.19 779933.439 0, 1499823.768 779904.011 0, 1499538.343 779874.601 0, 1499252.918 779845.208 0, 1498967.49 779815.831 0, 1498682.061 779786.471 0, 1498396.63 779757.128 0, 1498111.197 779727.802 0, 1497825.762 779698.493 0, 1497540.326 779669.2 0,
+ 1497254.888 779639.924 0, 1496969.448 779610.665 0, 1496684.007 779581.423 0, 1496398.564 779552.197 0, 1496113.119 779522.989 0, 1495827.672 779493.797 0, 1495542.224 779464.622 0, 1495256.774 779435.464 0, 1494970.02 779406.189 0, 1494404.193 784950.32 0,
+ 1493838.34 790494.7 0, 1494124.438 790523.907 0, 1494409.236 790552.999 0, 1494694.031 790582.107 0, 1494978.825 790611.232 0, 1495263.617 790640.374 0, 1495548.408 790669.533 0, 1495833.197 790698.708 0, 1496117.984 790727.9 0, 1496402.769 790757.109 0,
+ 1496687.553 790786.335 0, 1496972.335 790815.577 0, 1497257.115 790844.836 0, 1497541.893 790874.112 0, 1497826.67 790903.405 0, 1498111.445 790932.714 0, 1498396.218 790962.041 0, 1498680.99 790991.384 0, 1498965.76 791020.743 0, 1499250.528 791050.12 0,
+ 1499535.294 791079.513 0, 1499820.059 791108.923 0, 1500104.822 791138.35 0, 1500389.583 791167.794 0, 1500673.045 791197.12 0, 1500959.1 791226.731 0, 1501243.856 791256.225 0, 1501528.61 791285.735 0, 1501813.363 791315.263 0, 1502098.114 791344.807 0,
+ 1502382.863 791374.368 0, 1502667.61 791403.945 0, 1502952.356 791433.54 0, 1503237.099 791463.151 0, 1503521.842 791492.779 0, 1503806.582 791522.424 0, 1504091.32 791552.085 0, 1504376.057 791581.763 0, 1504660.792 791611.458 0, 1504945.526 791641.17 0,
+ 1505230.257 791670.898 0, 1505514.987 791700.644 0, 1505799.715 791730.405 0, 1506084.441 791760.184 0, 1506369.166 791789.98 0, 1506653.889 791819.792 0, 1506938.61 791849.621 0, 1507223.329 791879.467 0, 1507506.75 791909.193 0, 1508088.265 786366.434 0,
+ 1508669.753 780823.924 0))
+
+POLYGON ((1521171.11 793362.297 0, 1520887.772 793331.77 0, 1520603.138 793301.12 0, 1520318.502 793270.486 0, 1520033.865 793239.87 0, 1519749.225 793209.27 0, 1519464.584 793178.687 0, 1519179.941 793148.121 0, 1518895.297 793117.571 0, 1518610.65 793087.038 0,
+ 1518326.002 793056.522 0, 1518041.352 793026.023 0, 1517756.7 792995.541 0, 1517472.046 792965.075 0, 1517187.391 792934.626 0, 1516902.734 792904.194 0, 1516618.075 792873.778 0, 1516333.414 792843.379 0, 1516048.751 792812.997 0, 1515764.087 792782.632 0,
+ 1515479.421 792752.284 0, 1515194.753 792721.952 0, 1514910.083 792691.637 0, 1514625.412 792661.339 0, 1514339.443 792630.92 0, 1514056.063 792600.793 0, 1513771.386 792570.545 0, 1513486.708 792540.314 0, 1513202.027 792510.099 0, 1512917.345 792479.901 0,
+ 1512632.661 792449.72 0, 1512347.975 792419.556 0, 1512063.288 792389.409 0, 1511778.599 792359.278 0, 1511493.907 792329.164 0, 1511209.215 792299.067 0, 1510924.52 792268.987 0, 1510639.824 792238.923 0, 1510355.125 792208.876 0, 1510070.426 792178.846 0,
+ 1509785.724 792148.833 0, 1509501.02 792118.836 0, 1509216.315 792088.856 0, 1508931.608 792058.893 0, 1508646.899 792028.947 0, 1508362.189 791999.017 0, 1508077.477 791969.105 0, 1507792.763 791939.209 0, 1507506.75 791909.193 0, 1506925.21 797452.198 0,
+ 1506343.644 802995.444 0, 1506629.001 803025.391 0, 1506913.063 803055.218 0, 1507197.123 803085.063 0, 1507481.181 803114.924 0, 1507765.237 803144.801 0, 1508049.291 803174.696 0, 1508333.344 803204.607 0, 1508617.395 803234.535 0, 1508901.444 803264.479 0,
+ 1509185.492 803294.44 0, 1509469.537 803324.419 0, 1509753.581 803354.413 0, 1510037.624 803384.425 0, 1510321.664 803414.453 0, 1510605.703 803444.498 0, 1510889.739 803474.559 0, 1511173.774 803504.638 0, 1511457.808 803534.733 0, 1511741.839 803564.844 0,
+ 1512025.869 803594.973 0, 1512309.897 803625.118 0, 1512593.923 803655.28 0, 1512877.948 803685.459 0, 1513160.678 803715.516 0, 1513445.991 803745.866 0, 1513730.01 803776.095 0, 1514014.028 803806.34 0, 1514298.043 803836.602 0, 1514582.057 803866.881 0,
+ 1514866.069 803897.177 0, 1515150.079 803927.489 0, 1515434.088 803957.818 0, 1515718.094 803988.164 0, 1516002.099 804018.527 0, 1516286.102 804048.906 0, 1516570.103 804079.302 0, 1516854.103 804109.714 0, 1517138.101 804140.144 0, 1517422.097 804170.59 0,
+ 1517706.091 804201.053 0, 1517990.083 804231.532 0, 1518274.073 804262.028 0, 1518558.062 804292.541 0, 1518842.049 804323.071 0, 1519126.034 804353.617 0, 1519410.018 804384.18 0, 1519693.999 804414.76 0, 1519976.688 804445.218 0, 1520573.912 798903.636 0,
+ 1521171.11 793362.297 0))
+
+POLYGON ((1533605.581 805933.501 0, 1533322.977 805902.245 0, 1533039.083 805870.863 0, 1532755.187 805839.498 0, 1532471.29 805808.149 0, 1532187.39 805776.817 0, 1531903.489 805745.502 0, 1531619.586 805714.204 0, 1531335.68 805682.922 0, 1531051.774 805651.657 0,
+ 1530767.865 805620.409 0, 1530483.954 805589.177 0, 1530200.042 805557.962 0, 1529916.128 805526.764 0, 1529632.211 805495.583 0, 1529348.293 805464.418 0, 1529064.374 805433.27 0, 1528780.452 805402.139 0, 1528496.529 805371.024 0, 1528212.603 805339.926 0,
+ 1527928.676 805308.845 0, 1527644.747 805277.78 0, 1527360.817 805246.733 0, 1527076.884 805215.702 0, 1526791.66 805184.546 0, 1526509.013 805153.69 0, 1526225.075 805122.709 0, 1525941.136 805091.744 0, 1525657.194 805060.797 0, 1525373.25 805029.866 0,
+ 1525089.305 804998.952 0, 1524805.358 804968.055 0, 1524521.409 804937.174 0, 1524237.458 804906.31 0, 1523953.505 804875.463 0, 1523669.551 804844.632 0, 1523385.595 804813.819 0, 1523101.637 804783.022 0, 1522817.677 804752.241 0, 1522533.715 804721.478 0,
+ 1522249.752 804690.731 0, 1521965.786 804660 0, 1521681.819 804629.287 0, 1521397.85 804598.59 0, 1521113.88 804567.91 0, 1520829.907 804537.247 0, 1520545.933 804506.6 0, 1520261.957 804475.97 0, 1519976.688 804445.218 0, 1519379.438 809987.037 0,
+ 1518782.163 815529.092 0, 1519066.777 815559.773 0, 1519350.101 815590.333 0, 1519633.423 815620.909 0, 1519916.743 815651.502 0, 1520200.061 815682.112 0, 1520483.378 815712.738 0, 1520766.692 815743.381 0, 1521050.005 815774.041 0, 1521333.317 815804.717 0,
+ 1521616.626 815835.41 0, 1521899.933 815866.12 0, 1522183.239 815896.846 0, 1522466.543 815927.589 0, 1522749.845 815958.349 0, 1523033.145 815989.125 0, 1523316.444 816019.918 0, 1523599.741 816050.728 0, 1523883.035 816081.554 0, 1524166.328 816112.397 0,
+ 1524449.62 816143.257 0, 1524732.909 816174.133 0, 1525016.197 816205.026 0, 1525299.482 816235.936 0, 1525581.48 816266.722 0, 1525866.049 816297.806 0, 1526149.329 816328.765 0, 1526432.607 816359.742 0, 1526715.884 816390.735 0, 1526999.159 816421.745 0,
+ 1527282.432 816452.771 0, 1527565.703 816483.814 0, 1527848.972 816514.874 0, 1528132.24 816545.951 0, 1528415.506 816577.044 0, 1528698.769 816608.154 0, 1528982.031 816639.28 0, 1529265.292 816670.423 0, 1529548.55 816701.583 0, 1529831.807 816732.76 0,
+ 1530115.061 816763.953 0, 1530398.314 816795.163 0, 1530681.565 816826.389 0, 1530964.814 816857.632 0, 1531248.062 816888.892 0, 1531531.307 816920.169 0, 1531814.551 816951.462 0, 1532097.793 816982.772 0, 1532379.747 817013.956 0, 1532992.677 811473.611 0,
+ 1533605.581 805933.501 0))
+
+POLYGON ((1545973.082 818537.23 0, 1545691.214 818505.249 0, 1545408.062 818473.139 0, 1545124.908 818441.046 0, 1544841.752 818408.969 0, 1544558.594 818376.909 0, 1544275.434 818344.866 0, 1543992.273 818312.84 0, 1543709.109 818280.83 0, 1543425.944 818248.836 0,
+ 1543142.776 818216.86 0, 1542859.607 818184.9 0, 1542576.436 818152.956 0, 1542293.263 818121.03 0, 1542010.088 818089.12 0, 1541726.911 818057.226 0, 1541443.733 818025.35 0, 1541160.552 817993.49 0, 1540877.37 817961.646 0, 1540594.186 817929.82 0,
+ 1540311 817898.01 0, 1540027.812 817866.217 0, 1539744.622 817834.44 0, 1539461.43 817802.68 0, 1539176.952 817770.793 0, 1538895.041 817739.21 0, 1538611.844 817707.5 0, 1538328.645 817675.807 0, 1538045.444 817644.13 0, 1537762.241 817612.47 0,
+ 1537479.036 817580.827 0, 1537195.829 817549.2 0, 1536912.621 817517.59 0, 1536629.411 817485.997 0, 1536346.198 817454.421 0, 1536062.984 817422.861 0, 1535779.768 817391.317 0, 1535496.551 817359.791 0, 1535213.331 817328.281 0, 1534930.109 817296.788 0,
+ 1534646.886 817265.311 0, 1534363.661 817233.851 0, 1534080.434 817202.408 0, 1533797.205 817170.981 0, 1533513.974 817139.571 0, 1533230.742 817108.178 0, 1532947.507 817076.802 0, 1532664.271 817045.442 0, 1532379.747 817013.956 0, 1531766.792 822554.532 0,
+ 1531153.811 828095.336 0, 1531437.68 828126.749 0, 1531720.264 828158.036 0, 1532002.846 828189.341 0, 1532285.426 828220.662 0, 1532568.005 828251.999 0, 1532850.582 828283.353 0, 1533133.156 828314.724 0, 1533415.729 828346.112 0, 1533698.301 828377.516 0,
+ 1533980.87 828408.937 0, 1534263.437 828440.374 0, 1534546.003 828471.828 0, 1534828.567 828503.299 0, 1535111.129 828534.786 0, 1535393.689 828566.29 0, 1535676.247 828597.81 0, 1535958.803 828629.347 0, 1536241.358 828660.901 0, 1536523.91 828692.472 0,
+ 1536806.461 828724.059 0, 1537089.01 828755.662 0, 1537371.557 828787.283 0, 1537654.102 828818.92 0, 1537935.364 828850.429 0, 1538219.187 828882.243 0, 1538501.726 828913.93 0, 1538784.264 828945.634 0, 1539066.8 828977.354 0, 1539349.334 829009.09 0,
+ 1539631.866 829040.844 0, 1539914.396 829072.614 0, 1540196.925 829104.4 0, 1540479.451 829136.204 0, 1540761.976 829168.023 0, 1541044.499 829199.86 0, 1541327.02 829231.713 0, 1541609.539 829263.583 0, 1541892.056 829295.469 0, 1542174.571 829327.372 0,
+ 1542457.084 829359.292 0, 1542739.596 829391.228 0, 1543022.106 829423.181 0, 1543304.613 829455.15 0, 1543587.119 829487.137 0, 1543869.623 829519.139 0, 1544152.125 829551.159 0, 1544434.625 829583.195 0, 1544715.844 829615.102 0, 1545344.476 824076.053 0,
+ 1545973.082 818537.23 0))
+
+POLYGON ((1558273.529 831173.178 0, 1557992.399 831140.476 0, 1557709.991 831107.642 0, 1557427.58 831074.824 0, 1557145.168 831042.024 0, 1556862.754 831009.239 0, 1556580.337 830976.472 0, 1556297.919 830943.721 0, 1556015.499 830910.987 0, 1555733.077 830878.269 0,
+ 1555450.653 830845.568 0, 1555168.227 830812.884 0, 1554885.799 830780.216 0, 1554603.369 830747.565 0, 1554320.938 830714.93 0, 1554038.504 830682.312 0, 1553756.068 830649.711 0, 1553473.631 830617.126 0, 1553191.192 830584.558 0, 1552908.75 830552.007 0,
+ 1552626.307 830519.472 0, 1552343.862 830486.954 0, 1552061.415 830454.452 0, 1551778.966 830421.967 0, 1551495.236 830389.352 0, 1551214.062 830357.047 0, 1550931.608 830324.612 0, 1550649.151 830292.194 0, 1550366.693 830259.792 0, 1550084.232 830227.407 0,
+ 1549801.77 830195.038 0, 1549519.306 830162.686 0, 1549236.84 830130.351 0, 1548954.372 830098.032 0, 1548671.902 830065.73 0, 1548389.43 830033.445 0, 1548106.956 830001.176 0, 1547824.481 829968.924 0, 1547542.003 829936.688 0, 1547259.524 829904.47 0,
+ 1546977.042 829872.267 0, 1546694.559 829840.082 0, 1546412.074 829807.912 0, 1546129.587 829775.76 0, 1545847.098 829743.624 0, 1545564.607 829711.505 0, 1545282.115 829679.403 0, 1544999.62 829647.317 0, 1544715.844 829615.102 0, 1544087.186 835154.376 0,
+ 1543458.504 840693.869 0, 1543741.626 840726.009 0, 1544023.468 840758.021 0, 1544305.309 840790.05 0, 1544587.147 840822.095 0, 1544868.984 840854.156 0, 1545150.819 840886.235 0, 1545432.652 840918.329 0, 1545714.483 840950.441 0, 1545996.313 840982.569 0,
+ 1546278.14 841014.713 0, 1546559.965 841046.874 0, 1546841.789 841079.052 0, 1547123.611 841111.246 0, 1547405.43 841143.457 0, 1547687.248 841175.685 0, 1547969.064 841207.929 0, 1548250.879 841240.19 0, 1548532.691 841272.467 0, 1548814.501 841304.761 0,
+ 1549096.309 841337.071 0, 1549378.116 841369.398 0, 1549659.921 841401.742 0, 1549941.723 841434.102 0, 1550222.248 841466.332 0, 1550505.323 841498.872 0, 1550787.12 841531.282 0, 1551068.915 841563.708 0, 1551350.708 841596.152 0, 1551632.499 841628.611 0,
+ 1551914.289 841661.088 0, 1552196.076 841693.58 0, 1552477.862 841726.09 0, 1552759.645 841758.616 0, 1553041.427 841791.159 0, 1553323.207 841823.718 0, 1553604.985 841856.294 0, 1553886.761 841888.886 0, 1554168.535 841921.495 0, 1554450.307 841954.12 0,
+ 1554732.077 841986.763 0, 1555013.845 842019.421 0, 1555295.611 842052.097 0, 1555577.376 842084.789 0, 1555859.138 842117.497 0, 1556140.899 842150.222 0, 1556422.657 842182.964 0, 1556704.414 842215.722 0, 1556984.894 842248.348 0, 1557629.224 836710.653 0,
+ 1558273.529 831173.178 0))
+
+POLYGON ((1570506.839 843841.036 0, 1570226.45 843807.617 0, 1569944.787 843774.063 0, 1569663.122 843740.525 0, 1569381.455 843707.004 0, 1569099.786 843673.5 0, 1568818.115 843640.012 0, 1568536.442 843606.541 0, 1568254.767 843573.086 0, 1567973.091 843539.648 0,
+ 1567691.412 843506.227 0, 1567409.731 843472.822 0, 1567128.048 843439.433 0, 1566846.364 843406.062 0, 1566564.677 843372.707 0, 1566282.988 843339.368 0, 1566001.298 843306.046 0, 1565719.605 843272.741 0, 1565437.911 843239.452 0, 1565156.214 843206.179 0,
+ 1564874.516 843172.924 0, 1564592.815 843139.685 0, 1564311.113 843106.462 0, 1564029.409 843073.256 0, 1563746.429 843039.917 0, 1563465.994 843006.894 0, 1563184.284 842973.738 0, 1562902.572 842940.598 0, 1562620.858 842907.475 0, 1562339.142 842874.369 0,
+ 1562057.424 842841.279 0, 1561775.704 842808.206 0, 1561493.982 842775.149 0, 1561212.259 842742.109 0, 1560930.533 842709.085 0, 1560648.805 842676.078 0, 1560367.075 842643.088 0, 1560085.344 842610.114 0, 1559803.61 842577.157 0, 1559521.875 842544.216 0,
+ 1559240.138 842511.292 0, 1558958.398 842478.385 0, 1558676.657 842445.494 0, 1558394.914 842412.62 0, 1558113.169 842379.762 0, 1557831.422 842346.921 0, 1557549.673 842314.096 0, 1557267.922 842281.288 0, 1556984.894 842248.348 0, 1556340.539 847786.26 0,
+ 1555696.16 853324.385 0, 1555978.532 853357.249 0, 1556259.631 853389.981 0, 1556540.728 853422.729 0, 1556821.823 853455.494 0, 1557102.917 853488.276 0, 1557384.008 853521.074 0, 1557665.097 853553.889 0, 1557946.185 853586.721 0, 1558227.27 853619.568 0,
+ 1558508.354 853652.433 0, 1558789.435 853685.314 0, 1559070.515 853718.211 0, 1559351.593 853751.125 0, 1559632.669 853784.056 0, 1559913.742 853817.003 0, 1560194.814 853849.967 0, 1560475.884 853882.947 0, 1560756.952 853915.944 0, 1561038.019 853948.957 0,
+ 1561319.083 853981.987 0, 1561600.145 854015.033 0, 1561881.205 854048.096 0, 1562162.264 854081.176 0, 1562442.05 854114.122 0, 1562724.374 854147.384 0, 1563005.427 854180.513 0, 1563286.477 854213.659 0, 1563567.526 854246.821 0, 1563848.573 854280 0,
+ 1564129.617 854313.195 0, 1564410.66 854346.407 0, 1564691.701 854379.635 0, 1564972.74 854412.88 0, 1565253.777 854446.142 0, 1565534.811 854479.42 0, 1565815.844 854512.714 0, 1566096.875 854546.025 0, 1566377.904 854579.353 0, 1566658.931 854612.697 0,
+ 1566939.957 854646.058 0, 1567220.98 854679.435 0, 1567502.001 854712.829 0, 1567783.02 854746.239 0, 1568064.037 854779.666 0, 1568345.053 854813.109 0, 1568626.066 854846.569 0, 1568907.077 854880.046 0, 1569186.818 854913.388 0, 1569846.841 849377.105 0,
+ 1570506.839 843841.036 0))
+
+POLYGON ((1073733.964 409842.575 0, 1073428.234 409838.265 0, 1073121.029 409833.953 0, 1072813.824 409829.658 0, 1072506.619 409825.381 0, 1072199.413 409821.123 0, 1071892.208 409816.882 0, 1071585.002 409812.66 0, 1071277.795 409808.455 0, 1070970.589 409804.269 0,
+ 1070663.382 409800.101 0, 1070356.175 409795.951 0, 1070048.968 409791.819 0, 1069741.76 409787.705 0, 1069434.553 409783.609 0, 1069127.345 409779.532 0, 1068820.136 409775.472 0, 1068512.928 409771.43 0, 1068205.719 409767.407 0, 1067898.51 409763.401 0,
+ 1067591.301 409759.414 0, 1067284.092 409755.445 0, 1066976.882 409751.494 0, 1066669.673 409747.561 0, 1066360.987 409743.627 0, 1066055.252 409739.749 0, 1065748.042 409735.87 0, 1065440.831 409732.009 0, 1065133.62 409728.166 0, 1064826.409 409724.342 0,
+ 1064519.197 409720.535 0, 1064211.986 409716.747 0, 1063904.774 409712.977 0, 1063597.562 409709.224 0, 1063290.349 409705.49 0, 1062983.137 409701.774 0, 1062675.924 409698.076 0, 1062368.711 409694.396 0, 1062061.498 409690.734 0, 1061754.284 409687.09 0,
+ 1061447.071 409683.465 0, 1061139.857 409679.857 0, 1060832.643 409676.268 0, 1060525.429 409672.696 0, 1060218.214 409669.143 0, 1059910.999 409665.607 0, 1059603.785 409662.09 0, 1059296.569 409658.591 0, 1058987.877 409655.093 0, 1058925.149 415205.647 0,
+ 1058862.416 420756.651 0, 1059170.452 420760.141 0, 1059477.013 420763.633 0, 1059783.575 420767.142 0, 1060090.136 420770.67 0, 1060396.697 420774.216 0, 1060703.258 420777.78 0, 1061009.819 420781.362 0, 1061316.379 420784.962 0, 1061622.939 420788.58 0,
+ 1061929.499 420792.216 0, 1062236.059 420795.87 0, 1062542.619 420799.542 0, 1062849.178 420803.232 0, 1063155.737 420806.94 0, 1063462.296 420810.666 0, 1063768.855 420814.411 0, 1064075.413 420818.173 0, 1064381.972 420821.953 0, 1064688.53 420825.752 0,
+ 1064995.087 420829.568 0, 1065301.645 420833.403 0, 1065608.202 420837.255 0, 1065914.759 420841.126 0, 1066219.844 420844.996 0, 1066527.873 420848.921 0, 1066834.429 420852.846 0, 1067140.986 420856.789 0, 1067447.542 420860.749 0, 1067754.097 420864.728 0,
+ 1068060.653 420868.725 0, 1068367.208 420872.74 0, 1068673.763 420876.773 0, 1068980.318 420880.824 0, 1069286.872 420884.893 0, 1069593.427 420888.98 0, 1069899.981 420893.085 0, 1070206.535 420897.209 0, 1070513.088 420901.35 0, 1070819.642 420905.509 0,
+ 1071126.195 420909.687 0, 1071432.748 420913.882 0, 1071739.3 420918.095 0, 1072045.853 420922.327 0, 1072352.405 420926.576 0, 1072658.957 420930.844 0, 1072965.508 420935.129 0, 1073272.059 420939.433 0, 1073577.139 420943.734 0, 1073655.555 415392.93 0,
+ 1073733.964 409842.575 0))
+
+POLYGON ((1088291.275 421172.388 0, 1087986.206 421167.225 0, 1087679.668 421162.056 0, 1087373.13 421156.904 0, 1087066.591 421151.77 0, 1086760.053 421146.655 0, 1086453.513 421141.557 0, 1086146.974 421136.478 0, 1085840.434 421131.417 0, 1085533.894 421126.373 0,
+ 1085227.354 421121.348 0, 1084920.813 421116.341 0, 1084614.272 421111.351 0, 1084307.731 421106.38 0, 1084001.189 421101.427 0, 1083694.647 421096.492 0, 1083388.105 421091.575 0, 1083081.563 421086.676 0, 1082775.02 421081.795 0, 1082468.477 421076.932 0,
+ 1082161.934 421072.087 0, 1081855.39 421067.26 0, 1081548.847 421062.451 0, 1081242.302 421057.66 0, 1080934.288 421052.865 0, 1080629.213 421048.133 0, 1080322.668 421043.396 0, 1080016.123 421038.678 0, 1079709.578 421033.977 0, 1079403.032 421029.295 0,
+ 1079096.486 421024.63 0, 1078789.939 421019.984 0, 1078483.393 421015.355 0, 1078176.846 421010.745 0, 1077870.299 421006.153 0, 1077563.751 421001.578 0, 1077257.204 420997.022 0, 1076950.656 420992.484 0, 1076644.107 420987.964 0, 1076337.559 420983.462 0,
+ 1076031.01 420978.978 0, 1075724.461 420974.512 0, 1075417.912 420970.064 0, 1075111.362 420965.634 0, 1074804.812 420961.222 0, 1074498.262 420956.828 0, 1074191.712 420952.452 0, 1073885.161 420948.094 0, 1073577.139 420943.734 0, 1073498.717 426494.986 0,
+ 1073420.289 432046.682 0, 1073727.655 432051.033 0, 1074033.552 432055.381 0, 1074339.449 432059.748 0, 1074645.345 432064.132 0, 1074951.242 432068.535 0, 1075257.138 432072.955 0, 1075563.034 432077.394 0, 1075868.929 432081.85 0, 1076174.824 432086.325 0,
+ 1076480.719 432090.817 0, 1076786.614 432095.328 0, 1077092.509 432099.856 0, 1077398.403 432104.403 0, 1077704.297 432108.967 0, 1078010.19 432113.55 0, 1078316.084 432118.15 0, 1078621.977 432122.769 0, 1078927.87 432127.405 0, 1079233.762 432132.06 0,
+ 1079539.655 432136.733 0, 1079845.547 432141.423 0, 1080151.439 432146.132 0, 1080457.33 432150.858 0, 1080761.754 432155.58 0, 1081069.112 432160.365 0, 1081375.003 432165.146 0, 1081680.893 432169.944 0, 1081986.783 432174.761 0, 1082292.673 432179.596 0,
+ 1082598.563 432184.448 0, 1082904.452 432189.319 0, 1083210.341 432194.207 0, 1083516.229 432199.114 0, 1083822.118 432204.039 0, 1084128.006 432208.981 0, 1084433.894 432213.942 0, 1084739.781 432218.92 0, 1085045.668 432223.917 0, 1085351.555 432228.932 0,
+ 1085657.442 432233.964 0, 1085963.328 432239.015 0, 1086269.214 432244.084 0, 1086575.1 432249.17 0, 1086880.985 432254.275 0, 1087186.87 432259.397 0, 1087492.755 432264.538 0, 1087798.64 432269.697 0, 1088103.058 432274.849 0, 1088197.17 426723.396 0,
+ 1088291.275 421172.388 0))
+
+POLYGON ((1102785.123 432544.496 0, 1102480.718 432538.484 0, 1102174.85 432532.461 0, 1101868.981 432526.457 0, 1101563.111 432520.47 0, 1101257.241 432514.501 0, 1100951.371 432508.55 0, 1100645.501 432502.617 0, 1100339.63 432496.703 0, 1100033.759 432490.806 0,
+ 1099727.887 432484.927 0, 1099422.016 432479.066 0, 1099116.143 432473.223 0, 1098810.271 432467.399 0, 1098504.398 432461.592 0, 1098198.525 432455.803 0, 1097892.651 432450.032 0, 1097586.777 432444.28 0, 1097280.903 432438.545 0, 1096975.028 432432.828 0,
+ 1096669.153 432427.129 0, 1096363.278 432421.448 0, 1096057.403 432415.786 0, 1095751.527 432410.141 0, 1095444.186 432404.487 0, 1095139.774 432398.906 0, 1094833.897 432393.315 0, 1094528.02 432387.742 0, 1094222.142 432382.187 0, 1093916.264 432376.651 0,
+ 1093610.386 432371.132 0, 1093304.508 432365.631 0, 1092998.629 432360.148 0, 1092692.749 432354.684 0, 1092386.87 432349.237 0, 1092080.99 432343.808 0, 1091775.11 432338.398 0, 1091469.23 432333.005 0, 1091163.349 432327.63 0, 1090857.468 432322.274 0,
+ 1090551.586 432316.935 0, 1090245.705 432311.614 0, 1089939.823 432306.311 0, 1089633.94 432301.027 0, 1089328.057 432295.76 0, 1089022.175 432290.511 0, 1088716.291 432285.281 0, 1088410.408 432280.068 0, 1088103.058 432274.849 0, 1088008.938 437826.742 0,
+ 1087914.811 443379.075 0, 1088221.504 443384.283 0, 1088526.734 443389.485 0, 1088831.964 443394.704 0, 1089137.193 443399.942 0, 1089442.422 443405.197 0, 1089747.651 443410.47 0, 1090052.879 443415.762 0, 1090358.108 443421.071 0, 1090663.335 443426.398 0,
+ 1090968.563 443431.744 0, 1091273.79 443437.107 0, 1091579.017 443442.488 0, 1091884.244 443447.887 0, 1092189.47 443453.304 0, 1092494.696 443458.739 0, 1092799.921 443464.192 0, 1093105.147 443469.663 0, 1093410.372 443475.152 0, 1093715.596 443480.659 0,
+ 1094020.821 443486.184 0, 1094326.045 443491.727 0, 1094631.268 443497.288 0, 1094936.492 443502.867 0, 1095240.253 443508.437 0, 1095546.937 443514.078 0, 1095852.16 443519.711 0, 1096157.382 443525.361 0, 1096462.604 443531.03 0, 1096767.825 443536.717 0,
+ 1097073.046 443542.421 0, 1097378.267 443548.144 0, 1097683.487 443553.884 0, 1097988.707 443559.643 0, 1098293.927 443565.419 0, 1098599.146 443571.213 0, 1098904.365 443577.026 0, 1099209.584 443582.856 0, 1099514.802 443588.704 0, 1099820.02 443594.57 0,
+ 1100125.238 443600.455 0, 1100430.455 443606.357 0, 1100735.672 443612.277 0, 1101040.888 443618.215 0, 1101346.105 443624.171 0, 1101651.32 443630.145 0, 1101956.536 443636.137 0, 1102261.751 443642.147 0, 1102565.506 443648.146 0, 1102675.319 438096.102 0,
+ 1102785.123 432544.496 0))
+
+POLYGON ((1117215.382 443958.607 0, 1116911.643 443951.75 0, 1116606.446 443944.878 0, 1116301.249 443938.023 0, 1115996.051 443931.187 0, 1115690.853 443924.369 0, 1115385.654 443917.568 0, 1115080.455 443910.786 0, 1114775.256 443904.022 0, 1114470.056 443897.275 0,
+ 1114164.856 443890.547 0, 1113859.655 443883.836 0, 1113554.454 443877.144 0, 1113249.253 443870.469 0, 1112944.051 443863.812 0, 1112638.849 443857.174 0, 1112333.647 443850.553 0, 1112028.444 443843.95 0, 1111723.24 443837.365 0, 1111418.037 443830.799 0,
+ 1111112.833 443824.25 0, 1110807.628 443817.719 0, 1110502.423 443811.206 0, 1110197.218 443804.711 0, 1109890.553 443798.203 0, 1109586.806 443791.775 0, 1109281.6 443785.334 0, 1108976.393 443778.911 0, 1108671.186 443772.506 0, 1108365.979 443766.118 0,
+ 1108060.771 443759.749 0, 1107755.562 443753.398 0, 1107450.354 443747.065 0, 1107145.145 443740.749 0, 1106839.935 443734.452 0, 1106534.726 443728.172 0, 1106229.516 443721.911 0, 1105924.305 443715.668 0, 1105619.094 443709.442 0, 1105313.883 443703.234 0,
+ 1105008.672 443697.045 0, 1104703.46 443690.873 0, 1104398.247 443684.72 0, 1104093.035 443678.584 0, 1103787.822 443672.466 0, 1103482.608 443666.366 0, 1103177.394 443660.285 0, 1102872.18 443654.221 0, 1102565.506 443648.146 0, 1102455.684 449200.626 0,
+ 1102345.853 454753.538 0, 1102651.871 454759.6 0, 1102956.432 454765.651 0, 1103260.992 454771.719 0, 1103565.552 454777.806 0, 1103870.111 454783.911 0, 1104174.67 454790.033 0, 1104479.229 454796.174 0, 1104783.787 454802.332 0, 1105088.345 454808.508 0,
+ 1105392.903 454814.703 0, 1105697.46 454820.915 0, 1106002.017 454827.145 0, 1106306.573 454833.393 0, 1106611.129 454839.659 0, 1106915.685 454845.943 0, 1107220.24 454852.245 0, 1107524.795 454858.564 0, 1107829.35 454864.902 0, 1108133.904 454871.258 0,
+ 1108438.458 454877.631 0, 1108743.012 454884.023 0, 1109047.565 454890.432 0, 1109352.118 454896.859 0, 1109655.214 454903.274 0, 1109961.222 454909.768 0, 1110265.774 454916.249 0, 1110570.325 454922.748 0, 1110874.876 454929.265 0, 1111179.426 454935.799 0,
+ 1111483.976 454942.352 0, 1111788.526 454948.923 0, 1112093.075 454955.511 0, 1112397.624 454962.118 0, 1112702.173 454968.742 0, 1113006.721 454975.385 0, 1113311.268 454982.045 0, 1113615.816 454988.723 0, 1113920.363 454995.42 0, 1114224.909 455002.134 0,
+ 1114529.455 455008.866 0, 1114834.001 455015.616 0, 1115138.547 455022.383 0, 1115443.092 455029.169 0, 1115747.636 455035.973 0, 1116052.18 455042.795 0, 1116356.724 455049.634 0, 1116661.267 455056.492 0, 1116964.356 455063.334 0, 1117089.874 449510.754 0,
+ 1117215.382 443958.607 0))
+
+POLYGON ((1131581.924 455414.429 0, 1131278.854 455406.73 0, 1130974.331 455399.012 0, 1130669.808 455391.312 0, 1130365.285 455383.63 0, 1130060.76 455375.966 0, 1129756.236 455368.32 0, 1129451.711 455360.692 0, 1129147.185 455353.082 0, 1128842.659 455345.489 0,
+ 1128538.133 455337.915 0, 1128233.606 455330.358 0, 1127929.079 455322.82 0, 1127624.551 455315.299 0, 1127320.023 455307.796 0, 1127015.494 455300.311 0, 1126710.965 455292.844 0, 1126406.436 455285.395 0, 1126101.906 455277.964 0, 1125797.376 455270.551 0,
+ 1125492.845 455263.156 0, 1125188.314 455255.779 0, 1124883.782 455248.419 0, 1124579.25 455241.078 0, 1124273.264 455233.719 0, 1123970.185 455226.449 0, 1123665.651 455219.161 0, 1123361.117 455211.891 0, 1123056.583 455204.64 0, 1122752.048 455197.406 0,
+ 1122447.513 455190.19 0, 1122142.978 455182.992 0, 1121838.442 455175.811 0, 1121533.906 455168.649 0, 1121229.369 455161.505 0, 1120924.832 455154.379 0, 1120620.294 455147.27 0, 1120315.756 455140.18 0, 1120011.218 455133.107 0, 1119706.679 455126.052 0,
+ 1119402.139 455119.016 0, 1119097.6 455111.997 0, 1118793.06 455104.996 0, 1118488.519 455098.013 0, 1118183.978 455091.048 0, 1117879.437 455084.101 0, 1117574.895 455077.172 0, 1117270.353 455070.26 0, 1116964.356 455063.334 0, 1116838.828 460616.344 0,
+ 1116713.291 466169.779 0, 1117018.631 466176.691 0, 1117322.52 466183.587 0, 1117626.408 466190.501 0, 1117930.295 466197.434 0, 1118234.183 466204.384 0, 1118538.069 466211.352 0, 1118841.956 466218.338 0, 1119145.842 466225.341 0, 1119449.727 466232.363 0,
+ 1119753.613 466239.402 0, 1120057.497 466246.46 0, 1120361.382 466253.535 0, 1120665.266 466260.628 0, 1120969.149 466267.739 0, 1121273.032 466274.868 0, 1121576.915 466282.015 0, 1121880.797 466289.18 0, 1122184.679 466296.362 0, 1122488.56 466303.563 0,
+ 1122792.441 466310.781 0, 1123096.322 466318.018 0, 1123400.202 466325.272 0, 1123704.082 466332.544 0, 1124006.51 466339.799 0, 1124311.84 466347.141 0, 1124615.718 466354.467 0, 1124919.596 466361.811 0, 1125223.474 466369.172 0, 1125527.351 466376.552 0,
+ 1125831.227 466383.949 0, 1126135.104 466391.364 0, 1126438.979 466398.797 0, 1126742.855 466406.248 0, 1127046.73 466413.717 0, 1127350.604 466421.203 0, 1127654.478 466428.708 0, 1127958.352 466436.23 0, 1128262.225 466443.771 0, 1128566.098 466451.329 0,
+ 1128869.97 466458.905 0, 1129173.842 466466.499 0, 1129477.713 466474.111 0, 1129781.584 466481.74 0, 1130085.455 466489.388 0, 1130389.325 466497.054 0, 1130693.194 466504.737 0, 1130997.063 466512.438 0, 1131299.483 466520.121 0, 1131440.709 460967.062 0,
+ 1131581.924 455414.429 0))
+
+POLYGON ((1145884.627 466911.669 0, 1145582.228 466903.132 0, 1145278.382 466894.573 0, 1144974.535 466886.031 0, 1144670.688 466877.507 0, 1144366.84 466869.001 0, 1144062.992 466860.512 0, 1143759.143 466852.042 0, 1143455.294 466843.59 0, 1143151.445 466835.155 0,
+ 1142847.594 466826.738 0, 1142543.744 466818.34 0, 1142239.893 466809.959 0, 1141936.041 466801.596 0, 1141632.189 466793.251 0, 1141328.336 466784.923 0, 1141024.483 466776.614 0, 1140720.63 466768.323 0, 1140416.775 466760.049 0, 1140112.921 466751.793 0,
+ 1139809.066 466743.555 0, 1139505.21 466735.335 0, 1139201.354 466727.133 0, 1138897.498 466718.949 0, 1138592.193 466710.744 0, 1138289.783 466702.635 0, 1137985.925 466694.504 0, 1137682.067 466686.391 0, 1137378.208 466678.297 0, 1137074.349 466670.22 0,
+ 1136770.489 466662.161 0, 1136466.629 466654.12 0, 1136162.768 466646.096 0, 1135858.907 466638.091 0, 1135555.045 466630.104 0, 1135251.183 466622.134 0, 1134947.32 466614.182 0, 1134643.457 466606.249 0, 1134339.593 466598.333 0, 1134035.729 466590.435 0,
+ 1133731.865 466582.555 0, 1133428 466574.692 0, 1133124.134 466566.848 0, 1132820.268 466559.022 0, 1132516.402 466551.213 0, 1132212.535 466543.422 0, 1131908.668 466535.649 0, 1131604.8 466527.894 0, 1131299.483 466520.121 0, 1131158.246 472073.603 0,
+ 1131016.998 477627.506 0, 1131321.659 477635.263 0, 1131624.873 477643.001 0, 1131928.086 477650.757 0, 1132231.299 477658.531 0, 1132534.512 477666.323 0, 1132837.724 477674.133 0, 1133140.936 477681.96 0, 1133444.147 477689.806 0, 1133747.358 477697.669 0,
+ 1134050.568 477705.55 0, 1134353.778 477713.449 0, 1134656.987 477721.365 0, 1134960.196 477729.3 0, 1135263.405 477737.252 0, 1135566.613 477745.223 0, 1135869.82 477753.211 0, 1136173.027 477761.217 0, 1136476.234 477769.241 0, 1136779.44 477777.282 0,
+ 1137082.645 477785.342 0, 1137385.851 477793.419 0, 1137689.055 477801.514 0, 1137992.259 477809.627 0, 1138294.018 477817.719 0, 1138598.666 477825.907 0, 1138901.869 477834.073 0, 1139205.071 477842.258 0, 1139508.273 477850.46 0, 1139811.475 477858.68 0,
+ 1140114.675 477866.918 0, 1140417.876 477875.174 0, 1140721.076 477883.448 0, 1141024.275 477891.739 0, 1141327.474 477900.048 0, 1141630.672 477908.376 0, 1141933.87 477916.721 0, 1142237.068 477925.083 0, 1142540.264 477933.464 0, 1142843.461 477941.863 0,
+ 1143146.657 477950.279 0, 1143449.852 477958.713 0, 1143753.047 477967.165 0, 1144056.242 477975.635 0, 1144359.436 477984.123 0, 1144662.629 477992.629 0, 1144965.822 478001.152 0, 1145269.014 478009.694 0, 1145570.763 478018.212 0, 1145727.701 472464.73 0,
+ 1145884.627 466911.669 0))
+
+POLYGON ((1160123.365 478450.034 0, 1159821.64 478440.663 0, 1159518.473 478431.265 0, 1159215.305 478421.885 0, 1158912.137 478412.523 0, 1158608.968 478403.178 0, 1158305.799 478393.852 0, 1158002.629 478384.543 0, 1157699.459 478375.252 0, 1157396.288 478365.979 0,
+ 1157093.116 478356.724 0, 1156789.944 478347.487 0, 1156486.772 478338.268 0, 1156183.599 478329.066 0, 1155880.425 478319.882 0, 1155577.251 478310.716 0, 1155274.076 478301.568 0, 1154970.901 478292.438 0, 1154667.725 478283.326 0, 1154364.549 478274.231 0,
+ 1154061.372 478265.155 0, 1153758.194 478256.096 0, 1153455.016 478247.055 0, 1153151.838 478238.032 0, 1152847.217 478228.984 0, 1152545.479 478220.039 0, 1152242.299 478211.069 0, 1151939.119 478202.118 0, 1151635.938 478193.184 0, 1151332.756 478184.268 0,
+ 1151029.574 478175.369 0, 1150726.391 478166.489 0, 1150423.208 478157.626 0, 1150120.024 478148.782 0, 1149816.84 478139.955 0, 1149513.655 478131.146 0, 1149210.47 478122.355 0, 1148907.284 478113.581 0, 1148604.098 478104.826 0, 1148300.911 478096.088 0,
+ 1147997.724 478087.369 0, 1147694.536 478078.667 0, 1147391.347 478069.983 0, 1147088.158 478061.316 0, 1146784.969 478052.668 0, 1146481.779 478044.037 0, 1146178.589 478035.425 0, 1145875.398 478026.83 0, 1145570.763 478018.212 0, 1145413.813 483572.111 0,
+ 1145256.852 489126.425 0, 1145560.83 489135.024 0, 1145863.367 489143.6 0, 1146165.903 489152.194 0, 1146468.44 489160.806 0, 1146770.975 489169.436 0, 1147073.51 489178.083 0, 1147376.045 489186.749 0, 1147678.579 489195.432 0, 1147981.112 489204.133 0,
+ 1148283.646 489212.852 0, 1148586.178 489221.588 0, 1148888.71 489230.343 0, 1149191.242 489239.115 0, 1149493.773 489247.905 0, 1149796.303 489256.713 0, 1150098.833 489265.538 0, 1150401.362 489274.382 0, 1150703.891 489283.243 0, 1151006.42 489292.122 0,
+ 1151308.948 489301.019 0, 1151611.475 489309.933 0, 1151914.002 489318.866 0, 1152216.528 489327.816 0, 1152517.614 489336.742 0, 1152821.579 489345.77 0, 1153124.104 489354.774 0, 1153426.628 489363.795 0, 1153729.151 489372.835 0, 1154031.675 489381.892 0,
+ 1154334.197 489390.967 0, 1154636.719 489400.059 0, 1154939.241 489409.17 0, 1155241.762 489418.298 0, 1155544.282 489427.444 0, 1155846.802 489436.608 0, 1156149.321 489445.79 0, 1156451.84 489454.989 0, 1156754.358 489464.207 0, 1157056.876 489473.442 0,
+ 1157359.393 489482.695 0, 1157661.91 489491.966 0, 1157964.426 489501.254 0, 1158266.942 489510.561 0, 1158569.457 489519.885 0, 1158871.971 489529.227 0, 1159174.485 489538.587 0, 1159476.998 489547.964 0, 1159778.073 489557.315 0, 1159950.726 484003.467 0,
+ 1160123.365 478450.034 0))
+
+POLYGON ((1174298.019 490029.229 0, 1173996.969 490019.027 0, 1173694.484 490008.795 0, 1173391.998 489998.581 0, 1173089.511 489988.384 0, 1172787.023 489978.205 0, 1172484.535 489968.044 0, 1172182.047 489957.901 0, 1171879.557 489947.776 0, 1171577.068 489937.668 0,
+ 1171274.577 489927.578 0, 1170972.086 489917.506 0, 1170669.595 489907.452 0, 1170367.102 489897.416 0, 1170064.61 489887.397 0, 1169762.116 489877.396 0, 1169459.622 489867.413 0, 1169157.128 489857.448 0, 1168854.632 489847.501 0, 1168552.137 489837.571 0,
+ 1168249.64 489827.66 0, 1167947.144 489817.766 0, 1167644.646 489807.89 0, 1167342.148 489798.031 0, 1167038.213 489788.144 0, 1166737.15 489778.368 0, 1166434.65 489768.563 0, 1166132.15 489758.776 0, 1165829.649 489749.007 0, 1165527.148 489739.255 0,
+ 1165224.645 489729.521 0, 1164922.143 489719.806 0, 1164619.64 489710.108 0, 1164317.136 489700.427 0, 1164014.631 489690.765 0, 1163712.126 489681.12 0, 1163409.621 489671.493 0, 1163107.115 489661.884 0, 1162804.608 489652.293 0, 1162502.101 489642.719 0,
+ 1162199.593 489633.164 0, 1161897.085 489623.626 0, 1161594.576 489614.106 0, 1161292.067 489604.604 0, 1160989.557 489595.119 0, 1160687.046 489585.653 0, 1160384.535 489576.204 0, 1160082.023 489566.773 0, 1159778.073 489557.315 0, 1159605.407 495111.574 0,
+ 1159432.729 500666.241 0, 1159736.023 500675.679 0, 1160037.88 500685.09 0, 1160339.738 500694.518 0, 1160641.594 500703.964 0, 1160943.451 500713.428 0, 1161245.306 500722.91 0, 1161547.161 500732.409 0, 1161849.016 500741.926 0, 1162150.87 500751.461 0,
+ 1162452.723 500761.014 0, 1162754.576 500770.585 0, 1163056.428 500780.173 0, 1163358.28 500789.779 0, 1163660.131 500799.403 0, 1163961.981 500809.044 0, 1164263.831 500818.704 0, 1164565.681 500828.381 0, 1164867.53 500838.076 0, 1165169.378 500847.789 0,
+ 1165471.226 500857.519 0, 1165773.073 500867.267 0, 1166074.919 500877.033 0, 1166376.765 500886.817 0, 1166677.177 500896.572 0, 1166980.455 500906.438 0, 1167282.3 500916.275 0, 1167584.143 500926.129 0, 1167885.986 500936.002 0, 1168187.829 500945.892 0,
+ 1168489.671 500955.8 0, 1168791.512 500965.726 0, 1169093.353 500975.67 0, 1169395.193 500985.631 0, 1169697.033 500995.61 0, 1169998.872 501005.607 0, 1170300.71 501015.622 0, 1170602.548 501025.654 0, 1170904.385 501035.705 0, 1171206.222 501045.773 0,
+ 1171508.058 501055.858 0, 1171809.893 501065.962 0, 1172111.728 501076.083 0, 1172413.562 501086.222 0, 1172715.396 501096.379 0, 1173017.229 501106.553 0, 1173319.061 501116.746 0, 1173620.893 501126.956 0, 1173921.292 501137.135 0, 1174109.662 495582.978 0,
+ 1174298.019 490029.229 0))
+
+POLYGON ((1188408.466 501648.96 0, 1188108.095 501637.932 0, 1187806.293 501626.869 0, 1187504.491 501615.824 0, 1187202.688 501604.797 0, 1186900.884 501593.787 0, 1186599.08 501582.796 0, 1186297.275 501571.822 0, 1185995.469 501560.865 0, 1185693.663 501549.927 0,
+ 1185391.856 501539.006 0, 1185090.048 501528.103 0, 1184788.24 501517.218 0, 1184486.431 501506.351 0, 1184184.621 501495.501 0, 1183882.811 501484.669 0, 1183581 501473.855 0, 1183279.189 501463.059 0, 1182977.377 501452.28 0, 1182675.564 501441.519 0,
+ 1182373.751 501430.776 0, 1182071.937 501420.051 0, 1181770.122 501409.344 0, 1181468.307 501398.654 0, 1181165.06 501387.931 0, 1180864.675 501377.328 0, 1180562.858 501366.691 0, 1180261.04 501356.073 0, 1179959.221 501345.472 0, 1179657.402 501334.888 0,
+ 1179355.583 501324.323 0, 1179053.763 501313.775 0, 1178751.942 501303.246 0, 1178450.12 501292.734 0, 1178148.298 501282.239 0, 1177846.475 501271.763 0, 1177544.652 501261.304 0, 1177242.828 501250.863 0, 1176941.004 501240.439 0, 1176639.178 501230.034 0,
+ 1176337.353 501219.646 0, 1176035.526 501209.276 0, 1175733.699 501198.924 0, 1175431.872 501188.59 0, 1175130.043 501178.273 0, 1174828.214 501167.974 0, 1174526.385 501157.693 0, 1174224.555 501147.429 0, 1173921.292 501137.135 0, 1173732.908 506691.698 0,
+ 1173544.51 512246.662 0, 1173847.116 512256.934 0, 1174148.292 512267.175 0, 1174449.468 512277.434 0, 1174750.643 512287.711 0, 1175051.817 512298.005 0, 1175352.991 512308.317 0, 1175654.164 512318.647 0, 1175955.336 512328.995 0, 1176256.508 512339.36 0,
+ 1176557.68 512349.743 0, 1176858.85 512360.144 0, 1177160.02 512370.562 0, 1177461.19 512380.998 0, 1177762.359 512391.452 0, 1178063.527 512401.924 0, 1178364.695 512412.413 0, 1178665.862 512422.92 0, 1178967.028 512433.445 0, 1179268.194 512443.987 0,
+ 1179569.359 512454.548 0, 1179870.523 512465.125 0, 1180171.687 512475.721 0, 1180472.851 512486.335 0, 1180772.585 512496.915 0, 1181075.175 512507.615 0, 1181376.337 512518.281 0, 1181677.497 512528.965 0, 1181978.657 512539.668 0, 1182279.817 512550.387 0,
+ 1182580.976 512561.125 0, 1182882.134 512571.88 0, 1183183.292 512582.653 0, 1183484.449 512593.444 0, 1183785.605 512604.252 0, 1184086.761 512615.078 0, 1184387.916 512625.922 0, 1184689.07 512636.784 0, 1184990.224 512647.663 0, 1185291.377 512658.56 0,
+ 1185592.53 512669.475 0, 1185893.681 512680.407 0, 1186194.833 512691.357 0, 1186495.983 512702.325 0, 1186797.133 512713.311 0, 1187098.282 512724.314 0, 1187399.431 512735.335 0, 1187700.579 512746.374 0, 1188000.299 512757.378 0, 1188204.39 507202.968 0,
+ 1188408.466 501648.96 0))
+
+POLYGON ((1202454.588 513308.932 0, 1202154.898 513297.081 0, 1201853.782 513285.192 0, 1201552.666 513273.32 0, 1201251.549 513261.466 0, 1200950.431 513249.629 0, 1200649.313 513237.811 0, 1200348.194 513226.01 0, 1200047.074 513214.226 0, 1199745.954 513202.461 0,
+ 1199444.833 513190.713 0, 1199143.711 513178.983 0, 1198842.588 513167.271 0, 1198541.465 513155.576 0, 1198240.341 513143.899 0, 1197939.216 513132.24 0, 1197638.091 513120.599 0, 1197336.965 513108.975 0, 1197035.839 513097.369 0, 1196734.711 513085.781 0,
+ 1196433.583 513074.21 0, 1196132.455 513062.657 0, 1195831.325 513051.122 0, 1195530.195 513039.605 0, 1195227.639 513028.051 0, 1194927.933 513016.623 0, 1194626.801 513005.159 0, 1194325.668 512993.712 0, 1194024.535 512982.284 0, 1193723.401 512970.873 0,
+ 1193422.266 512959.479 0, 1193121.13 512948.104 0, 1192819.994 512936.746 0, 1192518.857 512925.406 0, 1192217.72 512914.083 0, 1191916.582 512902.779 0, 1191615.443 512891.492 0, 1191314.304 512880.222 0, 1191013.164 512868.971 0, 1190712.023 512857.737 0,
+ 1190410.881 512846.521 0, 1190109.739 512835.323 0, 1189808.597 512824.142 0, 1189507.453 512812.979 0, 1189206.309 512801.834 0, 1188905.164 512790.707 0, 1188604.019 512779.597 0, 1188302.873 512768.505 0, 1188000.299 512757.378 0, 1187796.194 518312.187 0,
+ 1187592.074 523867.392 0, 1187893.99 523878.495 0, 1188194.483 523889.563 0, 1188494.974 523900.649 0, 1188795.465 523911.752 0, 1189095.955 523922.873 0, 1189396.444 523934.011 0, 1189696.933 523945.168 0, 1189997.421 523956.342 0, 1190297.909 523967.534 0,
+ 1190598.396 523978.743 0, 1190898.882 523989.97 0, 1191199.368 524001.215 0, 1191499.853 524012.477 0, 1191800.337 524023.757 0, 1192100.82 524035.055 0, 1192401.303 524046.371 0, 1192701.785 524057.704 0, 1193002.267 524069.055 0, 1193302.748 524080.423 0,
+ 1193603.228 524091.81 0, 1193903.708 524103.214 0, 1194204.186 524114.635 0, 1194504.665 524126.075 0, 1194803.72 524137.477 0, 1195105.619 524149.006 0, 1195406.095 524160.499 0, 1195706.571 524172.009 0, 1196007.046 524183.536 0, 1196307.52 524195.082 0,
+ 1196607.993 524206.645 0, 1196908.466 524218.226 0, 1197208.938 524229.824 0, 1197509.409 524241.44 0, 1197809.88 524253.074 0, 1198110.35 524264.726 0, 1198410.82 524276.395 0, 1198711.288 524288.082 0, 1199011.756 524299.787 0, 1199312.224 524311.509 0,
+ 1199612.69 524323.249 0, 1199913.156 524335.006 0, 1200213.621 524346.782 0, 1200514.086 524358.575 0, 1200814.55 524370.385 0, 1201115.013 524382.214 0, 1201415.475 524394.06 0, 1201715.937 524405.924 0, 1202014.977 524417.749 0, 1202234.79 518863.143 0,
+ 1202454.588 513308.932 0))
+
+POLYGON ((1216436.267 525008.85 0, 1216137.26 524996.18 0, 1215836.833 524983.468 0, 1215536.405 524970.773 0, 1215235.976 524958.096 0, 1214935.547 524945.436 0, 1214635.117 524932.794 0, 1214334.686 524920.17 0, 1214034.255 524907.564 0, 1213733.823 524894.975 0,
+ 1213433.39 524882.404 0, 1213132.956 524869.85 0, 1212832.521 524857.315 0, 1212532.086 524844.797 0, 1212231.65 524832.296 0, 1211931.214 524819.813 0, 1211630.776 524807.348 0, 1211330.338 524794.901 0, 1211029.899 524782.471 0, 1210729.46 524770.06 0,
+ 1210429.019 524757.665 0, 1210128.578 524745.289 0, 1209828.136 524732.93 0, 1209527.694 524720.589 0, 1209225.831 524708.207 0, 1208926.807 524695.959 0, 1208626.362 524683.671 0, 1208325.917 524671.4 0, 1208025.471 524659.148 0, 1207725.024 524646.913 0,
+ 1207424.576 524634.695 0, 1207124.128 524622.495 0, 1206823.679 524610.313 0, 1206523.229 524598.149 0, 1206222.779 524586.002 0, 1205922.328 524573.873 0, 1205621.876 524561.762 0, 1205321.423 524549.668 0, 1205020.97 524537.592 0, 1204720.516 524525.534 0,
+ 1204420.061 524513.493 0, 1204119.606 524501.47 0, 1203819.15 524489.465 0, 1203518.693 524477.478 0, 1203218.235 524465.508 0, 1202917.777 524453.556 0, 1202617.318 524441.621 0, 1202316.858 524429.704 0, 1202014.977 524417.749 0, 1201795.147 529972.748 0,
+ 1201575.303 535528.137 0, 1201876.527 535540.066 0, 1202176.333 535551.957 0, 1202476.138 535563.865 0, 1202775.942 535575.791 0, 1203075.746 535587.735 0, 1203375.549 535599.697 0, 1203675.351 535611.676 0, 1203975.153 535623.673 0, 1204274.953 535635.687 0,
+ 1204574.754 535647.719 0, 1204874.553 535659.769 0, 1205174.352 535671.836 0, 1205474.149 535683.921 0, 1205773.947 535696.024 0, 1206073.743 535708.144 0, 1206373.539 535720.282 0, 1206673.334 535732.437 0, 1206973.129 535744.611 0, 1207272.922 535756.801 0,
+ 1207572.715 535769.01 0, 1207872.507 535781.236 0, 1208172.299 535793.48 0, 1208472.09 535805.741 0, 1208770.463 535817.962 0, 1209071.669 535830.317 0, 1209371.458 535842.631 0, 1209671.246 535854.963 0, 1209971.033 535867.313 0, 1210270.819 535879.68 0,
+ 1210570.605 535892.065 0, 1210870.39 535904.468 0, 1211170.174 535916.888 0, 1211469.958 535929.326 0, 1211769.74 535941.782 0, 1212069.522 535954.255 0, 1212369.304 535966.746 0, 1212669.084 535979.254 0, 1212968.864 535991.78 0, 1213268.643 536004.324 0,
+ 1213568.422 536016.885 0, 1213868.199 536029.464 0, 1214167.976 536042.061 0, 1214467.752 536054.675 0, 1214767.528 536067.307 0, 1215067.302 536079.957 0, 1215367.076 536092.624 0, 1215666.849 536105.309 0, 1215965.206 536117.952 0, 1216200.745 530563.206 0,
+ 1216436.267 525008.85 0))
+
+POLYGON ((1230353.385 536748.418 0, 1230055.064 536734.933 0, 1229755.327 536721.401 0, 1229455.59 536707.887 0, 1229155.853 536694.39 0, 1228856.114 536680.912 0, 1228556.375 536667.45 0, 1228256.635 536654.007 0, 1227956.894 536640.581 0, 1227657.152 536627.173 0,
+ 1227357.41 536613.782 0, 1227057.667 536600.409 0, 1226757.922 536587.054 0, 1226458.178 536573.716 0, 1226158.432 536560.396 0, 1225858.686 536547.094 0, 1225558.938 536533.809 0, 1225259.191 536520.542 0, 1224959.442 536507.292 0, 1224659.692 536494.06 0,
+ 1224359.942 536480.846 0, 1224060.191 536467.65 0, 1223760.439 536454.471 0, 1223460.686 536441.309 0, 1223159.518 536428.104 0, 1222861.179 536415.04 0, 1222561.424 536401.931 0, 1222261.668 536388.841 0, 1221961.912 536375.768 0, 1221662.154 536362.712 0,
+ 1221362.396 536349.674 0, 1221062.638 536336.654 0, 1220762.878 536323.652 0, 1220463.118 536310.667 0, 1220163.357 536297.7 0, 1219863.595 536284.75 0, 1219563.832 536271.818 0, 1219264.069 536258.904 0, 1218964.305 536246.007 0, 1218664.54 536233.128 0,
+ 1218364.774 536220.267 0, 1218065.008 536207.423 0, 1217765.241 536194.597 0, 1217465.473 536181.789 0, 1217165.704 536168.998 0, 1216865.935 536156.225 0, 1216566.164 536143.47 0, 1216266.393 536130.732 0, 1215965.206 536117.952 0, 1215729.651 541673.083 0,
+ 1215494.079 547228.599 0, 1215794.61 547241.351 0, 1216093.727 547254.061 0, 1216392.843 547266.789 0, 1216691.959 547279.534 0, 1216991.073 547292.297 0, 1217290.187 547305.077 0, 1217589.3 547317.875 0, 1217888.413 547330.691 0, 1218187.525 547343.524 0,
+ 1218486.636 547356.375 0, 1218785.746 547369.244 0, 1219084.855 547382.13 0, 1219383.964 547395.033 0, 1219683.072 547407.955 0, 1219982.179 547420.894 0, 1220281.285 547433.85 0, 1220580.391 547446.824 0, 1220879.496 547459.816 0, 1221178.6 547472.825 0,
+ 1221477.703 547485.852 0, 1221776.806 547498.897 0, 1222075.908 547511.959 0, 1222375.009 547525.039 0, 1222672.697 547538.074 0, 1222973.208 547551.251 0, 1223272.307 547564.384 0, 1223571.405 547577.534 0, 1223870.502 547590.702 0, 1224169.599 547603.887 0,
+ 1224468.694 547617.09 0, 1224767.789 547630.311 0, 1225066.883 547643.549 0, 1225365.977 547656.804 0, 1225665.069 547670.078 0, 1225964.161 547683.369 0, 1226263.252 547696.677 0, 1226562.342 547710.004 0, 1226861.431 547723.347 0, 1227160.52 547736.709 0,
+ 1227459.608 547750.088 0, 1227758.695 547763.485 0, 1228057.781 547776.899 0, 1228356.866 547790.331 0, 1228655.951 547803.78 0, 1228955.035 547817.247 0, 1229254.118 547830.732 0, 1229553.2 547844.234 0, 1229850.871 547857.69 0, 1230102.137 542302.862 0,
+ 1230353.385 536748.418 0))
+
+POLYGON ((1244205.828 548527.339 0, 1243908.194 548513.042 0, 1243609.151 548498.695 0, 1243310.107 548484.366 0, 1243011.063 548470.054 0, 1242712.017 548455.759 0, 1242412.971 548441.483 0, 1242113.924 548427.223 0, 1241814.876 548412.982 0, 1241515.827 548398.758 0,
+ 1241216.778 548384.552 0, 1240917.727 548370.363 0, 1240618.676 548356.192 0, 1240319.624 548342.038 0, 1240020.571 548327.902 0, 1239721.517 548313.784 0, 1239422.462 548299.683 0, 1239123.407 548285.6 0, 1238824.35 548271.535 0, 1238525.293 548257.487 0,
+ 1238226.235 548243.456 0, 1237927.177 548229.444 0, 1237628.117 548215.448 0, 1237329.057 548201.471 0, 1237028.586 548187.445 0, 1236730.933 548173.569 0, 1236431.87 548159.644 0, 1236132.807 548145.737 0, 1235833.742 548131.847 0, 1235534.677 548117.975 0,
+ 1235235.611 548104.121 0, 1234936.544 548090.284 0, 1234637.476 548076.465 0, 1234338.407 548062.664 0, 1234039.338 548048.88 0, 1233740.268 548035.114 0, 1233441.197 548021.365 0, 1233142.125 548007.634 0, 1232843.052 547993.92 0, 1232543.979 547980.225 0,
+ 1232244.904 547966.546 0, 1231945.829 547952.886 0, 1231646.754 547939.243 0, 1231347.677 547925.617 0, 1231048.599 547912.009 0, 1230749.521 547898.419 0, 1230450.442 547884.846 0, 1230151.362 547871.291 0, 1229850.871 547857.69 0, 1229599.588 553412.898 0,
+ 1229348.288 558968.483 0, 1229648.122 558982.054 0, 1229946.548 558995.579 0, 1230244.973 559009.122 0, 1230543.397 559022.683 0, 1230841.821 559036.261 0, 1231140.244 559049.857 0, 1231438.666 559063.47 0, 1231737.087 559077.101 0, 1232035.507 559090.749 0,
+ 1232333.926 559104.415 0, 1232632.345 559118.099 0, 1232930.763 559131.8 0, 1233229.18 559145.518 0, 1233527.596 559159.254 0, 1233826.012 559173.008 0, 1234124.427 559186.78 0, 1234422.84 559200.568 0, 1234721.254 559214.375 0, 1235019.666 559228.199 0,
+ 1235318.077 559242.04 0, 1235616.488 559255.9 0, 1235914.898 559269.776 0, 1236213.307 559283.671 0, 1236510.309 559297.517 0, 1236810.122 559311.512 0, 1237108.529 559325.459 0, 1237406.934 559339.423 0, 1237705.339 559353.405 0, 1238003.743 559367.405 0,
+ 1238302.146 559381.422 0, 1238600.549 559395.457 0, 1238898.95 559409.509 0, 1239197.351 559423.579 0, 1239495.751 559437.667 0, 1239794.15 559451.772 0, 1240092.548 559465.894 0, 1240390.946 559480.034 0, 1240689.342 559494.192 0, 1240987.738 559508.367 0,
+ 1241286.133 559522.56 0, 1241584.527 559536.771 0, 1241882.92 559550.999 0, 1242181.313 559565.244 0, 1242479.704 559579.507 0, 1242778.095 559593.788 0, 1243076.485 559608.086 0, 1243374.874 559622.402 0, 1243671.857 559636.668 0, 1243938.852 554081.815 0,
+ 1244205.828 548527.339 0))
+
+POLYGON ((1257993.482 560345.317 0, 1257696.537 560330.212 0, 1257398.19 560315.053 0, 1257099.842 560299.912 0, 1256801.492 560284.789 0, 1256503.142 560269.682 0, 1256204.791 560254.594 0, 1255906.44 560239.523 0, 1255608.087 560224.47 0, 1255309.733 560209.434 0,
+ 1255011.379 560194.416 0, 1254713.023 560179.415 0, 1254414.667 560164.432 0, 1254116.31 560149.466 0, 1253817.952 560134.518 0, 1253519.593 560119.588 0, 1253221.233 560104.675 0, 1252922.872 560089.78 0, 1252624.511 560074.902 0, 1252326.148 560060.042 0,
+ 1252027.785 560045.199 0, 1251729.421 560030.374 0, 1251431.056 560015.566 0, 1251132.69 560000.777 0, 1250832.92 559985.935 0, 1250535.956 559971.249 0, 1250237.587 559956.512 0, 1249939.218 559941.792 0, 1249640.847 559927.09 0, 1249342.476 559912.406 0,
+ 1249044.104 559897.739 0, 1248745.731 559883.089 0, 1248447.358 559868.457 0, 1248148.983 559853.843 0, 1247850.608 559839.246 0, 1247552.231 559824.667 0, 1247253.854 559810.105 0, 1246955.476 559795.561 0, 1246657.097 559781.035 0, 1246358.718 559766.526 0,
+ 1246060.337 559752.034 0, 1245761.956 559737.56 0, 1245463.574 559723.104 0, 1245165.19 559708.665 0, 1244866.806 559694.244 0, 1244568.422 559679.841 0, 1244270.036 559665.455 0, 1243971.649 559651.086 0, 1243671.857 559636.668 0, 1243404.845 565191.894 0,
+ 1243137.814 570747.491 0, 1243436.949 570761.878 0, 1243734.682 570776.215 0, 1244032.414 570790.57 0, 1244330.145 570804.942 0, 1244627.875 570819.331 0, 1244925.604 570833.738 0, 1245223.332 570848.163 0, 1245521.06 570862.605 0, 1245818.786 570877.065 0,
+ 1246116.512 570891.542 0, 1246414.237 570906.037 0, 1246711.961 570920.549 0, 1247009.684 570935.079 0, 1247307.406 570949.626 0, 1247605.128 570964.191 0, 1247902.849 570978.773 0, 1248200.568 570993.373 0, 1248498.287 571007.99 0, 1248796.005 571022.625 0,
+ 1249093.723 571037.277 0, 1249391.439 571051.947 0, 1249689.154 571066.635 0, 1249986.869 571081.34 0, 1250283.182 571095.993 0, 1250582.296 571110.802 0, 1250880.008 571125.56 0, 1251177.719 571140.335 0, 1251475.429 571155.127 0, 1251773.138 571169.938 0,
+ 1252070.847 571184.765 0, 1252368.555 571199.61 0, 1252666.261 571214.473 0, 1252963.967 571229.353 0, 1253261.672 571244.251 0, 1253559.376 571259.166 0, 1253857.08 571274.099 0, 1254154.782 571289.049 0, 1254452.484 571304.017 0, 1254750.184 571319.002 0,
+ 1255047.884 571334.005 0, 1255345.583 571349.026 0, 1255643.281 571364.063 0, 1255940.978 571379.119 0, 1256238.674 571394.192 0, 1256536.369 571409.282 0, 1256834.064 571424.39 0, 1257131.757 571439.516 0, 1257428.051 571454.588 0, 1257710.776 565899.767 0,
+ 1257993.482 560345.317 0))
+
+POLYGON ((1271716.232 572202.053 0, 1271419.98 572186.144 0, 1271122.331 572170.178 0, 1270824.68 572154.229 0, 1270527.029 572138.297 0, 1270229.376 572122.384 0, 1269931.723 572106.487 0, 1269634.069 572090.608 0, 1269336.413 572074.747 0, 1269038.757 572058.903 0,
+ 1268741.1 572043.077 0, 1268443.442 572027.268 0, 1268145.783 572011.477 0, 1267848.123 571995.703 0, 1267550.462 571979.947 0, 1267252.801 571964.208 0, 1266955.138 571948.487 0, 1266657.474 571932.783 0, 1266359.81 571917.097 0, 1266062.144 571901.428 0,
+ 1265764.478 571885.777 0, 1265466.811 571870.143 0, 1265169.143 571854.527 0, 1264871.474 571838.929 0, 1264572.406 571823.275 0, 1264276.133 571807.784 0, 1263978.461 571792.238 0, 1263680.788 571776.71 0, 1263383.114 571761.199 0, 1263085.44 571745.705 0,
+ 1262787.764 571730.229 0, 1262490.088 571714.771 0, 1262192.41 571699.33 0, 1261894.732 571683.907 0, 1261597.053 571668.501 0, 1261299.373 571653.113 0, 1261001.692 571637.742 0, 1260704.01 571622.388 0, 1260406.327 571607.053 0, 1260108.643 571591.734 0,
+ 1259810.959 571576.434 0, 1259513.273 571561.151 0, 1259215.587 571545.885 0, 1258917.9 571530.637 0, 1258620.212 571515.406 0, 1258322.522 571500.193 0, 1258024.833 571484.997 0, 1257727.142 571469.819 0, 1257428.051 571454.588 0, 1257145.307 577009.776 0,
+ 1256862.545 582565.328 0, 1257160.979 582580.526 0, 1257458.016 582595.671 0, 1257755.052 582610.833 0, 1258052.087 582626.013 0, 1258349.121 582641.21 0, 1258646.155 582656.425 0, 1258943.187 582671.657 0, 1259240.218 582686.907 0, 1259537.249 582702.174 0,
+ 1259834.279 582717.458 0, 1260131.308 582732.76 0, 1260428.336 582748.08 0, 1260725.363 582763.417 0, 1261022.389 582778.772 0, 1261319.414 582794.144 0, 1261616.438 582809.533 0, 1261913.462 582824.94 0, 1262210.484 582840.364 0, 1262507.506 582855.806 0,
+ 1262804.527 582871.266 0, 1263101.546 582886.743 0, 1263398.565 582902.237 0, 1263695.583 582917.749 0, 1263991.205 582933.205 0, 1264289.616 582948.825 0, 1264586.632 582964.389 0, 1264883.646 582979.971 0, 1265180.659 582995.57 0, 1265477.672 583011.187 0,
+ 1265774.683 583026.821 0, 1266071.694 583042.473 0, 1266368.704 583058.142 0, 1266665.712 583073.829 0, 1266962.72 583089.533 0, 1267259.727 583105.255 0, 1267556.733 583120.994 0, 1267853.738 583136.75 0, 1268150.742 583152.525 0, 1268447.746 583168.316 0,
+ 1268744.748 583184.125 0, 1269041.749 583199.952 0, 1269338.75 583215.796 0, 1269635.749 583231.657 0, 1269932.748 583247.536 0, 1270229.745 583263.433 0, 1270526.742 583279.346 0, 1270823.738 583295.278 0, 1271119.339 583311.152 0, 1271417.795 577756.42 0,
+ 1271716.232 572202.053 0))
+
+POLYGON ((1285373.969 584097.251 0, 1285078.412 584080.542 0, 1284781.462 584063.771 0, 1284484.512 584047.018 0, 1284187.56 584030.283 0, 1283890.608 584013.565 0, 1283593.654 583996.864 0, 1283296.7 583980.181 0, 1282999.744 583963.516 0, 1282702.788 583946.868 0,
+ 1282405.83 583930.237 0, 1282108.872 583913.624 0, 1281811.912 583897.028 0, 1281514.952 583880.45 0, 1281217.991 583863.889 0, 1280921.028 583847.346 0, 1280624.065 583830.821 0, 1280327.101 583814.312 0, 1280030.136 583797.822 0, 1279733.17 583781.348 0,
+ 1279436.202 583764.893 0, 1279139.234 583748.454 0, 1278842.265 583732.033 0, 1278545.295 583715.63 0, 1278246.932 583699.167 0, 1277951.352 583682.876 0, 1277654.379 583666.525 0, 1277357.405 583650.191 0, 1277060.43 583633.875 0, 1276763.455 583617.577 0,
+ 1276466.478 583601.296 0, 1276169.5 583585.032 0, 1275872.521 583568.786 0, 1275575.542 583552.558 0, 1275278.561 583536.347 0, 1274981.579 583520.153 0, 1274684.597 583503.977 0, 1274387.613 583487.818 0, 1274090.629 583471.677 0, 1273793.644 583455.553 0,
+ 1273496.657 583439.447 0, 1273199.67 583423.358 0, 1272902.682 583407.287 0, 1272605.693 583391.233 0, 1272308.703 583375.197 0, 1272011.711 583359.178 0, 1271714.719 583343.177 0, 1271417.727 583327.193 0, 1271119.339 583311.152 0, 1270820.863 588866.244 0,
+ 1270522.368 594421.695 0, 1270820.099 594437.701 0, 1271116.438 594453.649 0, 1271412.776 594469.615 0, 1271709.113 594485.599 0, 1272005.449 594501.6 0, 1272301.784 594517.618 0, 1272598.118 594533.654 0, 1272894.452 594549.708 0, 1273190.784 594565.778 0,
+ 1273487.116 594581.866 0, 1273783.446 594597.972 0, 1274079.776 594614.095 0, 1274376.104 594630.236 0, 1274672.432 594646.394 0, 1274968.759 594662.569 0, 1275265.084 594678.762 0, 1275561.409 594694.972 0, 1275857.733 594711.2 0, 1276154.056 594727.445 0,
+ 1276450.378 594743.708 0, 1276746.699 594759.988 0, 1277043.019 594776.285 0, 1277339.338 594792.6 0, 1277634.267 594808.856 0, 1277931.973 594825.282 0, 1278228.289 594841.649 0, 1278524.605 594858.034 0, 1278820.919 594874.436 0, 1279117.232 594890.856 0,
+ 1279413.544 594907.293 0, 1279709.856 594923.747 0, 1280006.166 594940.219 0, 1280302.475 594956.708 0, 1280598.784 594973.215 0, 1280895.091 594989.739 0, 1281191.398 595006.281 0, 1281487.703 595022.84 0, 1281784.008 595039.417 0, 1282080.311 595056.011 0,
+ 1282376.614 595072.622 0, 1282672.916 595089.251 0, 1282969.216 595105.897 0, 1283265.516 595122.561 0, 1283561.815 595139.242 0, 1283858.112 595155.941 0, 1284154.409 595172.657 0, 1284450.705 595189.39 0, 1284745.611 595206.063 0, 1285059.8 589651.478 0,
+ 1285373.969 584097.251 0))
+
+POLYGON ((1298966.582 596030.611 0, 1298671.721 596013.105 0, 1298375.474 595995.535 0, 1298079.225 595977.981 0, 1297782.976 595960.446 0, 1297486.726 595942.928 0, 1297190.474 595925.427 0, 1296894.222 595907.944 0, 1296597.969 595890.478 0, 1296301.714 595873.029 0,
+ 1296005.459 595855.598 0, 1295709.202 595838.185 0, 1295412.945 595820.789 0, 1295116.686 595803.41 0, 1294820.426 595786.049 0, 1294524.166 595768.705 0, 1294227.904 595751.378 0, 1293931.641 595734.069 0, 1293635.378 595716.778 0, 1293339.113 595699.504 0,
+ 1293042.847 595682.247 0, 1292746.581 595665.008 0, 1292450.313 595647.786 0, 1292154.044 595630.582 0, 1291856.388 595613.315 0, 1291561.504 595596.226 0, 1291265.232 595579.074 0, 1290968.959 595561.939 0, 1290672.685 595544.822 0, 1290376.411 595527.722 0,
+ 1290080.135 595510.64 0, 1289783.858 595493.575 0, 1289487.58 595476.528 0, 1289191.301 595459.498 0, 1288895.021 595442.485 0, 1288598.741 595425.49 0, 1288302.459 595408.512 0, 1288006.176 595391.552 0, 1287709.892 595374.61 0, 1287413.607 595357.684 0,
+ 1287117.322 595340.776 0, 1286821.035 595323.886 0, 1286524.747 595307.013 0, 1286228.458 595290.157 0, 1285932.168 595273.319 0, 1285635.878 595256.499 0, 1285339.586 595239.695 0, 1285043.293 595222.91 0, 1284745.611 595206.063 0, 1284431.402 600761.002 0,
+ 1284117.173 606316.293 0, 1284414.198 606333.103 0, 1284709.837 606349.851 0, 1285005.475 606366.618 0, 1285301.112 606383.401 0, 1285596.747 606400.202 0, 1285892.382 606417.02 0, 1286188.016 606433.856 0, 1286483.649 606450.709 0, 1286779.281 606467.58 0,
+ 1287074.912 606484.468 0, 1287370.542 606501.373 0, 1287666.171 606518.296 0, 1287961.799 606535.236 0, 1288257.426 606552.194 0, 1288553.051 606569.169 0, 1288848.676 606586.161 0, 1289144.3 606603.171 0, 1289439.923 606620.198 0, 1289735.545 606637.243 0,
+ 1290031.166 606654.305 0, 1290326.786 606671.384 0, 1290622.405 606688.481 0, 1290918.023 606705.595 0, 1291212.256 606722.646 0, 1291509.256 606739.875 0, 1291804.87 606757.042 0, 1292100.484 606774.225 0, 1292396.097 606791.427 0, 1292691.709 606808.645 0,
+ 1292987.32 606825.881 0, 1293282.93 606843.134 0, 1293578.538 606860.405 0, 1293874.146 606877.693 0, 1294169.753 606894.999 0, 1294465.359 606912.322 0, 1294760.963 606929.662 0, 1295056.567 606947.02 0, 1295352.17 606964.395 0, 1295647.772 606981.788 0,
+ 1295943.372 606999.198 0, 1296238.972 607016.625 0, 1296534.57 607034.07 0, 1296830.168 607051.532 0, 1297125.764 607069.011 0, 1297421.36 607086.508 0, 1297716.954 607104.023 0, 1298012.548 607121.554 0, 1298306.758 607139.021 0, 1298636.68 601584.64 0,
+ 1298966.582 596030.611 0))
+
+POLYGON ((1312493.961 608001.834 0, 1312199.8 607983.536 0, 1311904.257 607965.169 0, 1311608.713 607946.82 0, 1311313.168 607928.488 0, 1311017.622 607910.173 0, 1310722.075 607891.876 0, 1310426.527 607873.596 0, 1310130.978 607855.334 0, 1309835.428 607837.089 0,
+ 1309539.876 607818.861 0, 1309244.324 607800.651 0, 1308948.77 607782.458 0, 1308653.216 607764.283 0, 1308357.66 607746.125 0, 1308062.103 607727.984 0, 1307766.546 607709.861 0, 1307470.987 607691.755 0, 1307175.427 607673.667 0, 1306879.866 607655.596 0,
+ 1306584.304 607637.542 0, 1306288.741 607619.506 0, 1305993.177 607601.487 0, 1305697.612 607583.486 0, 1305400.664 607565.418 0, 1305106.478 607547.535 0, 1304810.91 607529.586 0, 1304515.34 607511.654 0, 1304219.77 607493.739 0, 1303924.198 607475.842 0,
+ 1303628.626 607457.963 0, 1303333.052 607440.1 0, 1303037.477 607422.255 0, 1302741.902 607404.428 0, 1302446.325 607386.618 0, 1302150.747 607368.825 0, 1301855.168 607351.05 0, 1301559.588 607333.292 0, 1301264.007 607315.551 0, 1300968.425 607297.828 0,
+ 1300672.842 607280.123 0, 1300377.258 607262.434 0, 1300081.673 607244.763 0, 1299786.087 607227.11 0, 1299490.499 607209.474 0, 1299194.911 607191.855 0, 1298899.322 607174.254 0, 1298603.732 607156.67 0, 1298306.758 607139.021 0, 1297976.815 612693.75 0,
+ 1297646.851 618248.824 0, 1297943.168 618266.434 0, 1298238.104 618283.979 0, 1298533.04 618301.541 0, 1298827.974 618319.121 0, 1299122.907 618336.718 0, 1299417.84 618354.333 0, 1299712.771 618371.964 0, 1300007.701 618389.614 0, 1300302.63 618407.28 0,
+ 1300597.559 618424.964 0, 1300892.486 618442.665 0, 1301187.412 618460.384 0, 1301482.337 618478.12 0, 1301777.261 618495.873 0, 1302072.184 618513.644 0, 1302367.105 618531.432 0, 1302662.026 618549.237 0, 1302956.946 618567.06 0, 1303251.865 618584.9 0,
+ 1303546.782 618602.758 0, 1303841.699 618620.632 0, 1304136.615 618638.525 0, 1304431.529 618656.434 0, 1304725.064 618674.277 0, 1305021.355 618692.305 0, 1305316.266 618710.267 0, 1305611.177 618728.246 0, 1305906.086 618746.242 0, 1306200.994 618764.256 0,
+ 1306495.901 618782.287 0, 1306790.807 618800.336 0, 1307085.712 618818.401 0, 1307380.616 618836.484 0, 1307675.519 618854.585 0, 1307970.421 618872.703 0, 1308265.322 618890.838 0, 1308560.221 618908.991 0, 1308855.12 618927.161 0, 1309150.017 618945.348 0,
+ 1309444.914 618963.552 0, 1309739.809 618981.774 0, 1310034.704 619000.014 0, 1310329.597 619018.27 0, 1310624.489 619036.545 0, 1310919.38 619054.836 0, 1311214.27 619073.145 0, 1311509.159 619091.471 0, 1311802.67 619109.729 0, 1312148.326 613555.609 0,
+ 1312493.961 608001.834 0))
+
+POLYGON ((1325956 620010.622 0, 1325662.54 619991.535 0, 1325367.704 619972.376 0, 1325072.867 619953.234 0, 1324778.028 619934.11 0, 1324483.189 619915.003 0, 1324188.349 619895.913 0, 1323893.507 619876.841 0, 1323598.664 619857.786 0, 1323303.82 619838.748 0,
+ 1323008.975 619819.727 0, 1322714.129 619800.724 0, 1322419.282 619781.739 0, 1322124.434 619762.771 0, 1321829.584 619743.82 0, 1321534.734 619724.886 0, 1321239.882 619705.97 0, 1320945.029 619687.071 0, 1320650.176 619668.189 0, 1320355.321 619649.325 0,
+ 1320060.464 619630.479 0, 1319765.607 619611.649 0, 1319470.749 619592.837 0, 1319175.889 619574.042 0, 1318879.653 619555.177 0, 1318586.167 619536.505 0, 1318291.304 619517.762 0, 1317996.441 619499.037 0, 1317701.576 619480.329 0, 1317406.71 619461.638 0,
+ 1317111.842 619442.965 0, 1316816.974 619424.309 0, 1316522.105 619405.671 0, 1316227.234 619387.049 0, 1315932.363 619368.446 0, 1315637.49 619349.859 0, 1315342.617 619331.29 0, 1315047.742 619312.738 0, 1314752.866 619294.204 0, 1314457.989 619275.687 0,
+ 1314163.111 619257.187 0, 1313868.232 619238.705 0, 1313573.351 619220.24 0, 1313278.47 619201.792 0, 1312983.587 619183.362 0, 1312688.704 619164.949 0, 1312393.819 619146.553 0, 1312098.934 619128.175 0, 1311802.67 619109.729 0, 1311456.992 624664.19 0,
+ 1311111.294 630218.989 0, 1311406.9 630237.395 0, 1311701.132 630255.732 0, 1311995.363 630274.087 0, 1312289.593 630292.459 0, 1312583.821 630310.849 0, 1312878.049 630329.255 0, 1313172.275 630347.679 0, 1313466.5 630366.121 0, 1313760.725 630384.579 0,
+ 1314054.948 630403.055 0, 1314349.17 630421.549 0, 1314643.391 630440.059 0, 1314937.611 630458.587 0, 1315231.83 630477.132 0, 1315526.047 630495.695 0, 1315820.264 630514.275 0, 1316114.479 630532.872 0, 1316408.694 630551.487 0, 1316702.907 630570.119 0,
+ 1316997.119 630588.768 0, 1317291.331 630607.434 0, 1317585.541 630626.118 0, 1317879.75 630644.819 0, 1318172.585 630663.45 0, 1318468.164 630682.273 0, 1318762.37 630701.026 0, 1319056.574 630719.797 0, 1319350.778 630738.584 0, 1319644.98 630757.389 0,
+ 1319939.181 630776.212 0, 1320233.381 630795.051 0, 1320527.58 630813.908 0, 1320821.778 630832.783 0, 1321115.975 630851.674 0, 1321410.171 630870.583 0, 1321704.365 630889.509 0, 1321998.559 630908.453 0, 1322292.751 630927.414 0, 1322586.942 630946.392 0,
+ 1322881.132 630965.387 0, 1323175.321 630984.4 0, 1323469.509 631003.43 0, 1323763.696 631022.478 0, 1324057.881 631041.542 0, 1324352.066 631060.625 0, 1324646.249 631079.724 0, 1324940.431 631098.841 0, 1325233.241 631117.885 0, 1325594.632 625564.085 0,
+ 1325956 620010.622 0))
+
+POLYGON ((1339352.592 632056.675 0, 1339059.835 632036.803 0, 1338765.708 632016.855 0, 1338471.58 631996.925 0, 1338177.451 631977.012 0, 1337883.32 631957.116 0, 1337589.188 631937.237 0, 1337295.056 631917.376 0, 1337000.921 631897.532 0, 1336706.786 631877.706 0,
+ 1336412.65 631857.897 0, 1336118.512 631838.105 0, 1335824.374 631818.33 0, 1335530.234 631798.573 0, 1335236.093 631778.833 0, 1334941.95 631759.11 0, 1334647.807 631739.405 0, 1334353.662 631719.717 0, 1334059.517 631700.046 0, 1333765.37 631680.392 0,
+ 1333471.222 631660.756 0, 1333177.073 631641.138 0, 1332882.922 631621.536 0, 1332588.771 631601.952 0, 1332293.248 631582.294 0, 1332000.465 631562.835 0, 1331706.31 631543.303 0, 1331412.154 631523.788 0, 1331117.996 631504.291 0, 1330823.838 631484.81 0,
+ 1330529.678 631465.347 0, 1330235.518 631445.902 0, 1329941.356 631426.473 0, 1329647.193 631407.062 0, 1329353.029 631387.669 0, 1329058.864 631368.292 0, 1328764.697 631348.933 0, 1328470.53 631329.591 0, 1328176.361 631310.267 0, 1327882.191 631290.96 0,
+ 1327588.02 631271.67 0, 1327293.848 631252.397 0, 1326999.675 631233.142 0, 1326705.501 631213.904 0, 1326411.325 631194.684 0, 1326117.149 631175.48 0, 1325822.971 631156.295 0, 1325528.792 631137.126 0, 1325233.241 631117.885 0, 1324871.829 636672.021 0,
+ 1324510.395 642226.488 0, 1324805.289 642245.686 0, 1325098.814 642264.812 0, 1325392.338 642283.955 0, 1325685.861 642303.116 0, 1325979.382 642322.294 0, 1326272.903 642341.489 0, 1326566.422 642360.701 0, 1326859.94 642379.931 0, 1327153.458 642399.178 0,
+ 1327446.974 642418.442 0, 1327740.488 642437.724 0, 1328034.002 642457.023 0, 1328327.515 642476.339 0, 1328621.026 642495.672 0, 1328914.536 642515.023 0, 1329208.046 642534.39 0, 1329501.554 642553.776 0, 1329795.06 642573.178 0, 1330088.566 642592.598 0,
+ 1330382.071 642612.035 0, 1330675.574 642631.489 0, 1330969.077 642650.961 0, 1331262.578 642670.449 0, 1331554.711 642689.865 0, 1331849.577 642709.479 0, 1332143.074 642729.02 0, 1332436.571 642748.577 0, 1332730.066 642768.153 0, 1333023.56 642787.745 0,
+ 1333317.054 642807.355 0, 1333610.545 642826.982 0, 1333904.036 642846.626 0, 1334197.526 642866.288 0, 1334491.014 642885.967 0, 1334784.502 642905.663 0, 1335077.988 642925.376 0, 1335371.473 642945.107 0, 1335664.957 642964.855 0, 1335958.439 642984.62 0,
+ 1336251.921 643004.402 0, 1336545.401 643024.202 0, 1336838.88 643044.019 0, 1337132.358 643063.853 0, 1337425.835 643083.705 0, 1337719.311 643103.574 0, 1338012.785 643123.46 0, 1338306.259 643143.363 0, 1338598.365 643163.191 0, 1338975.49 637609.767 0,
+ 1339352.592 632056.675 0))
+
+POLYGON ((1352683.633 644139.692 0, 1352391.582 644119.039 0, 1352098.166 644098.306 0, 1351804.748 644077.591 0, 1351511.33 644056.893 0, 1351217.911 644036.212 0, 1350924.49 644015.549 0, 1350631.068 643994.903 0, 1350337.644 643974.274 0, 1350044.22 643953.663 0,
+ 1349750.794 643933.068 0, 1349457.367 643912.491 0, 1349163.939 643891.932 0, 1348870.51 643871.389 0, 1348577.08 643850.864 0, 1348283.648 643830.356 0, 1347990.215 643809.865 0, 1347696.781 643789.392 0, 1347403.346 643768.936 0, 1347109.909 643748.497 0,
+ 1346816.471 643728.076 0, 1346523.032 643707.671 0, 1346229.592 643687.284 0, 1345936.151 643666.914 0, 1345641.344 643646.467 0, 1345349.265 643626.227 0, 1345055.82 643605.909 0, 1344762.374 643585.608 0, 1344468.926 643565.325 0, 1344175.478 643545.059 0,
+ 1343882.028 643524.81 0, 1343588.577 643504.578 0, 1343295.125 643484.364 0, 1343001.672 643464.167 0, 1342708.217 643443.987 0, 1342414.762 643423.825 0, 1342121.305 643403.679 0, 1341827.847 643383.551 0, 1341534.388 643363.441 0, 1341240.927 643343.347 0,
+ 1340947.466 643323.271 0, 1340654.003 643303.212 0, 1340360.539 643283.171 0, 1340067.074 643263.147 0, 1339773.608 643243.14 0, 1339480.14 643223.15 0, 1339186.672 643203.177 0, 1338893.202 643183.222 0, 1338598.365 643163.191 0, 1338221.218 648716.944 0,
+ 1337844.048 654271.021 0, 1338138.228 654291.007 0, 1338431.045 654310.918 0, 1338723.859 654330.846 0, 1339016.673 654350.791 0, 1339309.486 654370.754 0, 1339602.297 654390.733 0, 1339895.107 654410.73 0, 1340187.916 654430.745 0, 1340480.724 654450.776 0,
+ 1340773.53 654470.825 0, 1341066.336 654490.89 0, 1341359.14 654510.974 0, 1341651.943 654531.074 0, 1341944.745 654551.191 0, 1342237.546 654571.326 0, 1342530.345 654591.478 0, 1342823.144 654611.648 0, 1343115.941 654631.834 0, 1343408.737 654652.038 0,
+ 1343701.532 654672.259 0, 1343994.325 654692.497 0, 1344287.118 654712.752 0, 1344579.909 654733.025 0, 1344871.337 654753.221 0, 1345165.488 654773.622 0, 1345458.275 654793.947 0, 1345751.062 654814.288 0, 1346043.847 654834.647 0, 1346336.631 654855.023 0,
+ 1346629.414 654875.416 0, 1346922.195 654895.827 0, 1347214.976 654916.255 0, 1347507.755 654936.7 0, 1347800.533 654957.162 0, 1348093.31 654977.641 0, 1348386.085 654998.138 0, 1348678.86 655018.652 0, 1348971.633 655039.183 0, 1349264.405 655059.731 0,
+ 1349557.176 655080.297 0, 1349849.945 655100.88 0, 1350142.714 655121.48 0, 1350435.481 655142.097 0, 1350728.247 655162.732 0, 1351021.011 655183.384 0, 1351313.775 655204.053 0, 1351606.537 655224.739 0, 1351897.938 655245.346 0, 1352290.797 649692.357 0,
+ 1352683.633 644139.692 0))
+
+POLYGON ((1365949.018 656259.372 0, 1365657.675 656237.942 0, 1365364.972 656216.428 0, 1365072.268 656194.932 0, 1364779.563 656173.453 0, 1364486.856 656151.992 0, 1364194.149 656130.548 0, 1363901.44 656109.12 0, 1363608.73 656087.71 0, 1363316.018 656066.318 0,
+ 1363023.305 656044.942 0, 1362730.591 656023.584 0, 1362437.876 656002.243 0, 1362145.159 655980.919 0, 1361852.442 655959.613 0, 1361559.723 655938.324 0, 1361267.002 655917.051 0, 1360974.281 655895.797 0, 1360681.558 655874.559 0, 1360388.834 655853.339 0,
+ 1360096.109 655832.135 0, 1359803.382 655810.95 0, 1359510.654 655789.781 0, 1359217.925 655768.629 0, 1358923.836 655747.397 0, 1358632.464 655726.378 0, 1358339.731 655705.278 0, 1358046.997 655684.196 0, 1357754.262 655663.13 0, 1357461.525 655642.082 0,
+ 1357168.787 655621.052 0, 1356876.049 655600.038 0, 1356583.308 655579.042 0, 1356290.567 655558.062 0, 1355997.824 655537.1 0, 1355705.08 655516.156 0, 1355412.335 655495.228 0, 1355119.589 655474.318 0, 1354826.841 655453.425 0, 1354534.093 655432.549 0,
+ 1354241.342 655411.691 0, 1353948.591 655390.849 0, 1353655.839 655370.025 0, 1353363.085 655349.218 0, 1353070.33 655328.429 0, 1352777.574 655307.656 0, 1352484.816 655286.901 0, 1352192.058 655266.163 0, 1351897.938 655245.346 0, 1351505.056 660798.658 0,
+ 1351112.152 666352.287 0, 1351405.615 666373.058 0, 1351697.72 666393.75 0, 1351989.823 666414.458 0, 1352281.926 666435.184 0, 1352574.027 666455.928 0, 1352866.127 666476.688 0, 1353158.226 666497.466 0, 1353450.323 666518.26 0, 1353742.42 666539.072 0,
+ 1354034.515 666559.902 0, 1354326.609 666580.748 0, 1354618.701 666601.611 0, 1354910.793 666622.492 0, 1355202.883 666643.39 0, 1355494.972 666664.305 0, 1355787.06 666685.238 0, 1356079.146 666706.187 0, 1356371.232 666727.154 0, 1356663.316 666748.138 0,
+ 1356955.398 666769.139 0, 1357247.48 666790.157 0, 1357539.56 666811.193 0, 1357831.639 666832.245 0, 1358122.361 666853.217 0, 1358415.794 666874.402 0, 1358707.869 666895.506 0, 1358999.943 666916.628 0, 1359292.016 666937.766 0, 1359584.088 666958.922 0,
+ 1359876.158 666980.095 0, 1360168.227 667001.285 0, 1360460.295 667022.493 0, 1360752.362 667043.717 0, 1361044.427 667064.959 0, 1361336.491 667086.218 0, 1361628.554 667107.494 0, 1361920.616 667128.788 0, 1362212.676 667150.098 0, 1362504.735 667171.426 0,
+ 1362796.793 667192.771 0, 1363088.85 667214.133 0, 1363380.905 667235.512 0, 1363672.959 667256.909 0, 1363965.012 667278.322 0, 1364257.064 667299.753 0, 1364549.114 667321.201 0, 1364841.163 667342.666 0, 1365131.856 667364.049 0, 1365540.449 661811.551 0,
+ 1365949.018 656259.372 0))
+
+POLYGON ((1379148.646 668415.415 0, 1378858.013 668393.211 0, 1378566.025 668370.921 0, 1378274.037 668348.648 0, 1377982.047 668326.392 0, 1377690.056 668304.153 0, 1377398.063 668281.931 0, 1377106.069 668259.727 0, 1376814.074 668237.54 0, 1376522.078 668215.37 0,
+ 1376230.08 668193.217 0, 1375938.081 668171.082 0, 1375646.081 668148.963 0, 1375354.079 668126.862 0, 1375062.076 668104.778 0, 1374770.072 668082.711 0, 1374478.067 668060.662 0, 1374186.06 668038.629 0, 1373894.052 668016.614 0, 1373602.042 667994.616 0,
+ 1373310.032 667972.635 0, 1373018.02 667950.671 0, 1372726.006 667928.725 0, 1372433.992 667906.796 0, 1372140.623 667884.782 0, 1371849.959 667862.989 0, 1371557.94 667841.111 0, 1371265.921 667819.25 0, 1370973.9 667797.407 0, 1370681.877 667775.581 0,
+ 1370389.854 667753.772 0, 1370097.829 667731.98 0, 1369805.803 667710.205 0, 1369513.775 667688.448 0, 1369221.747 667666.708 0, 1368929.717 667644.984 0, 1368637.685 667623.279 0, 1368345.653 667601.59 0, 1368053.619 667579.918 0, 1367761.584 667558.264 0,
+ 1367469.548 667536.627 0, 1367177.51 667515.007 0, 1366885.471 667493.404 0, 1366593.431 667471.819 0, 1366301.389 667450.25 0, 1366009.347 667428.699 0, 1365717.303 667407.165 0, 1365425.257 667385.648 0, 1365131.856 667364.049 0, 1364723.24 672916.862 0,
+ 1364314.601 678469.986 0, 1364607.346 678491.537 0, 1364898.737 678513.006 0, 1365190.128 678534.491 0, 1365481.517 678555.994 0, 1365772.905 678577.514 0, 1366064.291 678599.052 0, 1366355.676 678620.606 0, 1366647.06 678642.178 0, 1366938.443 678663.766 0,
+ 1367229.824 678685.372 0, 1367521.205 678706.995 0, 1367812.584 678728.635 0, 1368103.961 678750.293 0, 1368395.338 678771.967 0, 1368686.713 678793.659 0, 1368978.086 678815.367 0, 1369269.459 678837.093 0, 1369560.83 678858.836 0, 1369852.2 678880.596 0,
+ 1370143.569 678902.374 0, 1370434.936 678924.168 0, 1370726.302 678945.98 0, 1371017.667 678967.809 0, 1371307.68 678989.553 0, 1371600.393 679011.518 0, 1371891.754 679033.398 0, 1372183.114 679055.295 0, 1372474.472 679077.21 0, 1372765.829 679099.142 0,
+ 1373057.185 679121.09 0, 1373348.539 679143.056 0, 1373639.893 679165.04 0, 1373931.245 679187.04 0, 1374222.595 679209.057 0, 1374513.945 679231.092 0, 1374805.293 679253.144 0, 1375096.639 679275.212 0, 1375387.985 679297.298 0, 1375679.329 679319.402 0,
+ 1375970.672 679341.522 0, 1376262.013 679363.659 0, 1376553.354 679385.814 0, 1376844.693 679407.986 0, 1377136.03 679430.175 0, 1377427.366 679452.381 0, 1377718.701 679474.604 0, 1378010.035 679496.844 0, 1378300.018 679518.999 0, 1378724.344 673967.051 0,
+ 1379148.646 668415.415 0))
+
+POLYGON ((1392282.416 680607.518 0, 1391992.494 680584.545 0, 1391701.225 680561.481 0, 1391409.954 680538.435 0, 1391118.681 680515.406 0, 1390827.407 680492.394 0, 1390536.132 680469.399 0, 1390244.856 680446.422 0, 1389953.578 680423.461 0, 1389662.299 680400.518 0,
+ 1389371.018 680377.592 0, 1389079.736 680354.683 0, 1388788.453 680331.791 0, 1388497.169 680308.916 0, 1388205.883 680286.059 0, 1387914.595 680263.218 0, 1387623.307 680240.395 0, 1387332.017 680217.589 0, 1387040.726 680194.8 0, 1386749.433 680172.028 0,
+ 1386458.139 680149.273 0, 1386166.844 680126.535 0, 1385875.547 680103.815 0, 1385584.249 680081.112 0, 1385291.602 680058.321 0, 1385001.649 680035.757 0, 1384710.347 680013.105 0, 1384419.044 679990.47 0, 1384127.739 679967.852 0, 1383836.433 679945.252 0,
+ 1383545.126 679922.669 0, 1383253.817 679900.103 0, 1382962.507 679877.554 0, 1382671.196 679855.022 0, 1382379.883 679832.507 0, 1382088.569 679810.009 0, 1381797.254 679787.529 0, 1381505.937 679765.066 0, 1381214.619 679742.62 0, 1380923.3 679720.191 0,
+ 1380631.979 679697.779 0, 1380340.658 679675.384 0, 1380049.334 679653.007 0, 1379758.01 679630.646 0, 1379466.684 679608.303 0, 1379175.357 679585.977 0, 1378884.028 679563.668 0, 1378592.699 679541.376 0, 1378300.018 679518.999 0, 1377875.669 685071.254 0,
+ 1377451.296 690623.815 0, 1377743.32 690646.143 0, 1378033.996 690668.385 0, 1378324.671 690690.643 0, 1378615.344 690712.919 0, 1378906.017 690735.213 0, 1379196.688 690757.523 0, 1379487.357 690779.85 0, 1379778.026 690802.195 0, 1380068.693 690824.556 0,
+ 1380359.358 690846.935 0, 1380650.023 690869.33 0, 1380940.686 690891.743 0, 1381231.347 690914.173 0, 1381522.008 690936.62 0, 1381812.667 690959.085 0, 1382103.324 690981.566 0, 1382393.981 691004.064 0, 1382684.636 691026.58 0, 1382975.29 691049.112 0,
+ 1383265.942 691071.662 0, 1383556.593 691094.229 0, 1383847.243 691116.813 0, 1384137.892 691139.414 0, 1384427.194 691161.927 0, 1384719.184 691184.667 0, 1385009.829 691207.32 0, 1385300.472 691229.989 0, 1385591.114 691252.676 0, 1385881.754 691275.379 0,
+ 1386172.393 691298.1 0, 1386463.031 691320.838 0, 1386753.668 691343.593 0, 1387044.303 691366.365 0, 1387334.937 691389.154 0, 1387625.569 691411.961 0, 1387916.2 691434.784 0, 1388206.83 691457.625 0, 1388497.458 691480.482 0, 1388788.085 691503.357 0,
+ 1389078.711 691526.249 0, 1389369.335 691549.158 0, 1389659.958 691572.084 0, 1389950.58 691595.027 0, 1390241.2 691617.987 0, 1390531.819 691640.965 0, 1390822.437 691663.959 0, 1391113.053 691686.971 0, 1391402.324 691709.893 0, 1391842.382 686158.553 0,
+ 1392282.416 680607.518 0))
+
+POLYGON ((1405350.228 692835.38 0, 1405061.021 692811.641 0, 1404770.471 692787.808 0, 1404479.919 692763.993 0, 1404189.366 692740.195 0, 1403898.812 692716.413 0, 1403608.256 692692.649 0, 1403317.699 692668.902 0, 1403027.141 692645.172 0, 1402736.581 692621.459 0,
+ 1402446.02 692597.764 0, 1402155.457 692574.085 0, 1401864.893 692550.424 0, 1401574.327 692526.779 0, 1401283.761 692503.152 0, 1400993.192 692479.542 0, 1400702.623 692455.948 0, 1400412.052 692432.372 0, 1400121.479 692408.814 0, 1399830.906 692385.272 0,
+ 1399540.33 692361.747 0, 1399249.754 692338.239 0, 1398959.176 692314.749 0, 1398668.597 692291.276 0, 1398376.674 692267.711 0, 1398087.434 692244.38 0, 1397796.851 692220.958 0, 1397506.266 692197.553 0, 1397215.679 692174.165 0, 1396925.092 692150.794 0,
+ 1396634.503 692127.441 0, 1396343.913 692104.104 0, 1396053.321 692080.785 0, 1395762.728 692057.482 0, 1395472.133 692034.197 0, 1395181.538 692010.929 0, 1394890.94 691987.678 0, 1394600.342 691964.444 0, 1394309.742 691941.227 0, 1394019.141 691918.027 0,
+ 1393728.538 691894.845 0, 1393437.934 691871.679 0, 1393147.329 691848.531 0, 1392856.722 691825.399 0, 1392566.114 691802.285 0, 1392275.504 691779.188 0, 1391984.894 691756.108 0, 1391694.281 691733.045 0, 1391402.324 691709.893 0, 1390962.242 697261.534 0,
+ 1390522.137 702813.473 0, 1390813.437 702836.574 0, 1391103.396 702859.585 0, 1391393.353 702882.613 0, 1391683.309 702905.658 0, 1391973.264 702928.72 0, 1392263.217 702951.799 0, 1392553.169 702974.896 0, 1392843.119 702998.009 0, 1393133.068 703021.14 0,
+ 1393423.016 703044.287 0, 1393712.963 703067.452 0, 1394002.908 703090.634 0, 1394292.851 703113.832 0, 1394582.794 703137.048 0, 1394872.735 703160.281 0, 1395162.674 703183.531 0, 1395452.612 703206.798 0, 1395742.549 703230.082 0, 1396032.485 703253.383 0,
+ 1396322.419 703276.702 0, 1396612.352 703300.037 0, 1396902.283 703323.389 0, 1397192.213 703346.759 0, 1397480.802 703370.037 0, 1397772.069 703393.549 0, 1398061.995 703416.969 0, 1398351.919 703440.407 0, 1398641.842 703463.862 0, 1398931.764 703487.333 0,
+ 1399221.684 703510.822 0, 1399511.603 703534.328 0, 1399801.521 703557.851 0, 1400091.437 703581.391 0, 1400381.352 703604.948 0, 1400671.265 703628.523 0, 1400961.177 703652.114 0, 1401251.088 703675.722 0, 1401540.997 703699.347 0, 1401830.905 703722.99 0,
+ 1402120.811 703746.649 0, 1402410.716 703770.326 0, 1402700.62 703794.02 0, 1402990.522 703817.73 0, 1403280.423 703841.458 0, 1403570.323 703865.203 0, 1403860.221 703888.965 0, 1404150.117 703912.744 0, 1404438.675 703936.43 0, 1404894.464 698385.756 0,
+ 1405350.228 692835.38 0))
+
+POLYGON ((1418351.984 705098.699 0, 1418063.493 705074.197 0, 1417773.665 705049.599 0, 1417483.835 705025.018 0, 1417194.004 705000.455 0, 1416904.171 704975.908 0, 1416614.337 704951.378 0, 1416324.501 704926.866 0, 1416034.664 704902.37 0, 1415744.826 704877.892 0,
+ 1415454.986 704853.43 0, 1415165.145 704828.986 0, 1414875.302 704804.559 0, 1414585.458 704780.149 0, 1414295.612 704755.756 0, 1414005.765 704731.379 0, 1413715.916 704707.02 0, 1413426.066 704682.678 0, 1413136.215 704658.354 0, 1412846.362 704634.046 0,
+ 1412556.508 704609.755 0, 1412266.652 704585.481 0, 1411976.795 704561.225 0, 1411686.937 704536.985 0, 1411395.74 704512.651 0, 1411107.215 704488.557 0, 1410817.353 704464.368 0, 1410527.488 704440.197 0, 1410237.623 704416.043 0, 1409947.756 704391.906 0,
+ 1409657.887 704367.785 0, 1409368.017 704343.682 0, 1409078.146 704319.596 0, 1408788.273 704295.527 0, 1408498.399 704271.475 0, 1408208.523 704247.44 0, 1407918.646 704223.423 0, 1407628.768 704199.422 0, 1407338.888 704175.438 0, 1407049.007 704151.472 0,
+ 1406759.124 704127.522 0, 1406469.24 704103.589 0, 1406179.355 704079.674 0, 1405889.468 704055.776 0, 1405599.58 704031.894 0, 1405309.69 704008.03 0, 1405019.799 703984.183 0, 1404729.907 703960.353 0, 1404438.675 703936.43 0, 1403982.861 709487.398 0,
+ 1403527.024 715038.658 0, 1403817.6 715062.527 0, 1404106.839 715086.303 0, 1404396.076 715110.097 0, 1404685.313 715133.907 0, 1404974.547 715157.735 0, 1405263.781 715181.579 0, 1405553.013 715205.441 0, 1405842.243 715229.319 0, 1406131.473 715253.215 0,
+ 1406420.7 715277.127 0, 1406709.927 715301.057 0, 1406999.152 715325.004 0, 1407288.375 715348.967 0, 1407577.598 715372.948 0, 1407866.818 715396.946 0, 1408156.038 715420.96 0, 1408445.256 715444.992 0, 1408734.472 715469.041 0, 1409023.687 715493.107 0,
+ 1409312.901 715517.19 0, 1409602.113 715541.289 0, 1409891.324 715565.406 0, 1410180.533 715589.54 0, 1410468.408 715613.58 0, 1410758.948 715637.859 0, 1411048.153 715662.044 0, 1411337.357 715686.246 0, 1411626.559 715710.465 0, 1411915.76 715734.701 0,
+ 1412204.959 715758.954 0, 1412494.157 715783.224 0, 1412783.354 715807.511 0, 1413072.549 715831.815 0, 1413361.743 715856.137 0, 1413650.935 715880.475 0, 1413940.126 715904.83 0, 1414229.315 715929.202 0, 1414518.503 715953.591 0, 1414807.69 715977.998 0,
+ 1415096.875 716002.421 0, 1415386.059 716026.861 0, 1415675.241 716051.318 0, 1415964.422 716075.793 0, 1416253.601 716100.284 0, 1416542.779 716124.793 0, 1416831.956 716149.318 0, 1417121.131 716173.86 0, 1417408.972 716198.307 0, 1417880.49 710648.357 0,
+ 1418351.984 705098.699 0))
+
+POLYGON ((1431287.588 717397.17 0, 1430999.815 717371.91 0, 1430710.71 717346.551 0, 1430421.604 717321.209 0, 1430132.497 717295.883 0, 1429843.387 717270.575 0, 1429554.277 717245.284 0, 1429265.165 717220.01 0, 1428976.052 717194.753 0, 1428686.937 717169.512 0,
+ 1428397.82 717144.289 0, 1428108.702 717119.083 0, 1427819.583 717093.894 0, 1427530.462 717068.722 0, 1427241.339 717043.567 0, 1426952.216 717018.429 0, 1426663.09 716993.308 0, 1426373.963 716968.204 0, 1426084.835 716943.117 0, 1425795.705 716918.047 0,
+ 1425506.574 716892.994 0, 1425217.441 716867.958 0, 1424928.307 716842.939 0, 1424639.171 716817.937 0, 1424348.703 716792.837 0, 1424060.896 716767.984 0, 1423771.756 716743.033 0, 1423482.614 716718.099 0, 1423193.471 716693.183 0, 1422904.327 716668.283 0,
+ 1422615.181 716643.4 0, 1422326.033 716618.534 0, 1422036.884 716593.685 0, 1421747.734 716568.854 0, 1421458.582 716544.039 0, 1421169.429 716519.241 0, 1420880.274 716494.46 0, 1420591.118 716469.697 0, 1420301.96 716444.95 0, 1420012.801 716420.221 0,
+ 1419723.641 716395.508 0, 1419434.479 716370.812 0, 1419145.315 716346.134 0, 1418856.151 716321.472 0, 1418566.984 716296.828 0, 1418277.816 716272.2 0, 1417988.647 716247.59 0, 1417699.476 716222.996 0, 1417408.972 716198.307 0, 1416937.429 721748.544 0,
+ 1416465.861 727299.066 0, 1416755.71 727323.7 0, 1417044.227 727348.237 0, 1417332.743 727372.792 0, 1417621.257 727397.364 0, 1417909.77 727421.953 0, 1418198.282 727446.559 0, 1418486.792 727471.182 0, 1418775.301 727495.821 0, 1419063.808 727520.478 0,
+ 1419352.314 727545.152 0, 1419640.818 727569.843 0, 1419929.321 727594.55 0, 1420217.822 727619.275 0, 1420506.322 727644.017 0, 1420794.821 727668.775 0, 1421083.318 727693.551 0, 1421371.813 727718.344 0, 1421660.307 727743.153 0, 1421948.8 727767.98 0,
+ 1422237.291 727792.823 0, 1422525.781 727817.684 0, 1422814.269 727842.562 0, 1423102.756 727867.456 0, 1423389.913 727892.253 0, 1423679.725 727917.296 0, 1423968.207 727942.241 0, 1424256.688 727967.204 0, 1424545.168 727992.183 0, 1424833.646 728017.18 0,
+ 1425122.122 728042.193 0, 1425410.597 728067.223 0, 1425699.071 728092.271 0, 1425987.543 728117.335 0, 1426276.013 728142.416 0, 1426564.483 728167.514 0, 1426852.95 728192.63 0, 1427141.416 728217.762 0, 1427429.881 728242.911 0, 1427718.344 728268.077 0,
+ 1428006.806 728293.26 0, 1428295.266 728318.46 0, 1428583.725 728343.678 0, 1428872.182 728368.912 0, 1429160.638 728394.163 0, 1429449.092 728419.431 0, 1429737.545 728444.716 0, 1430025.997 728470.018 0, 1430313.119 728495.22 0, 1430800.366 722946.053 0,
+ 1431287.588 717397.17 0))
+
+POLYGON ((1444156.943 729730.491 0, 1443869.89 729704.477 0, 1443581.511 729678.36 0, 1443293.131 729652.26 0, 1443004.749 729626.178 0, 1442716.366 729600.112 0, 1442427.981 729574.063 0, 1442139.595 729548.031 0, 1441851.207 729522.016 0, 1441562.818 729496.018 0,
+ 1441274.427 729470.037 0, 1440986.034 729444.073 0, 1440697.64 729418.126 0, 1440409.245 729392.196 0, 1440120.848 729366.282 0, 1439832.449 729340.386 0, 1439544.049 729314.507 0, 1439255.647 729288.645 0, 1438967.244 729262.8 0, 1438678.839 729236.971 0,
+ 1438390.433 729211.16 0, 1438102.025 729185.366 0, 1437813.616 729159.589 0, 1437525.205 729133.828 0, 1437235.467 729107.967 0, 1436948.379 729082.358 0, 1436659.964 729056.649 0, 1436371.547 729030.957 0, 1436083.129 729005.281 0, 1435794.709 728979.623 0,
+ 1435506.288 728953.981 0, 1435217.865 728928.357 0, 1434929.44 728902.749 0, 1434641.015 728877.158 0, 1434352.587 728851.585 0, 1434064.158 728826.028 0, 1433775.728 728800.488 0, 1433487.296 728774.966 0, 1433198.863 728749.46 0, 1432910.428 728723.971 0,
+ 1432621.991 728698.5 0, 1432333.554 728673.045 0, 1432045.114 728647.607 0, 1431756.673 728622.186 0, 1431468.231 728596.782 0, 1431179.787 728571.395 0, 1430891.342 728546.025 0, 1430602.895 728520.673 0, 1430313.119 728495.22 0, 1429825.848 734044.668 0,
+ 1429338.553 739594.394 0, 1429627.672 739619.789 0, 1429915.465 739645.084 0, 1430203.257 739670.397 0, 1430491.048 739695.726 0, 1430778.837 739721.072 0, 1431066.625 739746.435 0, 1431354.411 739771.816 0, 1431642.195 739797.213 0, 1431929.979 739822.627 0,
+ 1432217.76 739848.058 0, 1432505.54 739873.506 0, 1432793.319 739898.971 0, 1433081.096 739924.453 0, 1433368.872 739949.951 0, 1433656.646 739975.467 0, 1433944.419 740001 0, 1434232.19 740026.549 0, 1434519.959 740052.116 0, 1434807.728 740077.699 0,
+ 1435095.494 740103.3 0, 1435383.259 740128.917 0, 1435671.023 740154.551 0, 1435958.785 740180.202 0, 1436245.223 740205.752 0, 1436534.305 740231.556 0, 1436822.062 740257.258 0, 1437109.818 740282.977 0, 1437397.573 740308.712 0, 1437685.326 740334.465 0,
+ 1437973.077 740360.235 0, 1438260.827 740386.022 0, 1438548.576 740411.825 0, 1438836.323 740437.646 0, 1439124.068 740463.483 0, 1439411.812 740489.338 0, 1439699.555 740515.209 0, 1439987.295 740541.097 0, 1440275.035 740567.003 0, 1440562.773 740592.925 0,
+ 1440850.509 740618.864 0, 1441138.244 740644.82 0, 1441425.977 740670.793 0, 1441713.709 740696.783 0, 1442001.439 740722.79 0, 1442289.167 740748.814 0, 1442576.895 740774.854 0, 1442864.62 740800.912 0, 1443151.023 740826.867 0, 1443653.995 735278.54 0,
+ 1444156.943 729730.491 0))
+
+POLYGON ((1456959.956 742098.358 0, 1456673.625 742071.594 0, 1456385.975 742044.723 0, 1456098.322 742017.87 0, 1455810.668 741991.033 0, 1455523.013 741964.214 0, 1455235.356 741937.411 0, 1454947.697 741910.625 0, 1454660.037 741883.856 0, 1454372.375 741857.104 0,
+ 1454084.711 741830.369 0, 1453797.046 741803.651 0, 1453509.38 741776.95 0, 1453221.712 741750.266 0, 1452934.042 741723.599 0, 1452646.371 741696.948 0, 1452358.698 741670.315 0, 1452071.023 741643.698 0, 1451783.347 741617.099 0, 1451495.67 741590.516 0,
+ 1451207.991 741563.951 0, 1450920.31 741537.402 0, 1450632.628 741510.87 0, 1450344.944 741484.355 0, 1450055.938 741457.736 0, 1449769.572 741431.376 0, 1449481.883 741404.912 0, 1449194.193 741378.465 0, 1448906.501 741352.035 0, 1448618.808 741325.622 0,
+ 1448331.114 741299.225 0, 1448043.417 741272.846 0, 1447755.719 741246.483 0, 1447468.02 741220.138 0, 1447180.319 741193.809 0, 1446892.617 741167.497 0, 1446604.913 741141.203 0, 1446317.207 741114.925 0, 1446029.5 741088.664 0, 1445741.791 741062.42 0,
+ 1445454.081 741036.193 0, 1445166.369 741009.983 0, 1444878.656 740983.79 0, 1444590.941 740957.614 0, 1444303.225 740931.454 0, 1444015.507 740905.312 0, 1443727.788 740879.187 0, 1443440.067 740853.078 0, 1443151.023 740826.867 0, 1442648.025 746375.467 0,
+ 1442145.003 751924.338 0, 1442433.391 751950.49 0, 1442720.459 751976.539 0, 1443007.525 752002.606 0, 1443294.59 752028.688 0, 1443581.653 752054.788 0, 1443868.715 752080.905 0, 1444155.775 752107.039 0, 1444442.833 752133.189 0, 1444729.891 752159.357 0,
+ 1445016.946 752185.541 0, 1445304 752211.743 0, 1445591.052 752237.961 0, 1445878.103 752264.196 0, 1446165.153 752290.448 0, 1446452.2 752316.717 0, 1446739.247 752343.002 0, 1447026.291 752369.305 0, 1447313.335 752395.624 0, 1447600.376 752421.961 0,
+ 1447887.416 752448.314 0, 1448174.455 752474.684 0, 1448461.492 752501.071 0, 1448748.527 752527.475 0, 1449034.244 752553.775 0, 1449322.593 752580.334 0, 1449609.624 752606.789 0, 1449896.653 752633.26 0, 1450183.681 752659.749 0, 1450470.707 752686.254 0,
+ 1450757.731 752712.776 0, 1451044.754 752739.316 0, 1451331.775 752765.872 0, 1451618.795 752792.445 0, 1451905.813 752819.034 0, 1452192.83 752845.641 0, 1452479.845 752872.265 0, 1452766.859 752898.905 0, 1453053.871 752925.563 0, 1453340.881 752952.237 0,
+ 1453627.89 752978.928 0, 1453914.897 753005.636 0, 1454201.903 753032.361 0, 1454488.907 753059.103 0, 1454775.91 753085.862 0, 1455062.91 753112.638 0, 1455349.91 753139.43 0, 1455636.908 753166.24 0, 1455922.588 753192.943 0, 1456441.285 747645.515 0,
+ 1456959.956 742098.358 0))
+
+POLYGON ((1469696.534 754500.466 0, 1469410.928 754472.956 0, 1469124.007 754445.336 0, 1468837.084 754417.732 0, 1468550.16 754390.146 0, 1468263.234 754362.577 0, 1467976.307 754335.024 0, 1467689.378 754307.488 0, 1467402.447 754279.969 0, 1467115.515 754252.468 0,
+ 1466828.581 754224.982 0, 1466541.646 754197.514 0, 1466254.708 754170.063 0, 1465967.77 754142.629 0, 1465680.829 754115.211 0, 1465393.887 754087.811 0, 1465106.944 754060.427 0, 1464819.999 754033.06 0, 1464533.052 754005.71 0, 1464246.103 753978.377 0,
+ 1463959.153 753951.061 0, 1463672.202 753923.762 0, 1463385.248 753896.479 0, 1463098.294 753869.214 0, 1462810.023 753841.84 0, 1462524.379 753814.733 0, 1462237.42 753787.519 0, 1461950.458 753760.321 0, 1461663.495 753733.14 0, 1461376.531 753705.975 0,
+ 1461089.565 753678.828 0, 1460802.597 753651.698 0, 1460515.628 753624.584 0, 1460228.657 753597.488 0, 1459941.685 753570.408 0, 1459654.711 753543.345 0, 1459367.735 753516.299 0, 1459080.758 753489.27 0, 1458793.779 753462.258 0, 1458506.799 753435.263 0,
+ 1458219.817 753408.285 0, 1457932.833 753381.323 0, 1457645.848 753354.379 0, 1457358.861 753327.451 0, 1457071.873 753300.54 0, 1456784.883 753273.646 0, 1456497.892 753246.769 0, 1456210.899 753219.909 0, 1455922.588 753192.943 0, 1455403.867 758740.637 0,
+ 1454885.12 764288.595 0, 1455172.775 764315.5 0, 1455459.115 764342.299 0, 1455745.453 764369.115 0, 1456031.79 764395.948 0, 1456318.125 764422.797 0, 1456604.459 764449.664 0, 1456890.791 764476.547 0, 1457177.122 764503.447 0, 1457463.451 764530.364 0,
+ 1457749.778 764557.298 0, 1458036.104 764584.249 0, 1458322.428 764611.216 0, 1458608.751 764638.2 0, 1458895.072 764665.202 0, 1459181.391 764692.22 0, 1459467.709 764719.255 0, 1459754.025 764746.306 0, 1460040.34 764773.375 0, 1460326.653 764800.461 0,
+ 1460612.964 764827.563 0, 1460899.274 764854.682 0, 1461185.582 764881.818 0, 1461471.889 764908.971 0, 1461756.882 764936.016 0, 1462044.497 764963.327 0, 1462330.799 764990.531 0, 1462617.1 765017.751 0, 1462903.398 765044.988 0, 1463189.695 765072.242 0,
+ 1463475.991 765099.513 0, 1463762.285 765126.801 0, 1464048.577 765154.105 0, 1464334.867 765181.427 0, 1464621.156 765208.765 0, 1464907.444 765236.12 0, 1465193.73 765263.492 0, 1465480.014 765290.881 0, 1465766.296 765318.287 0, 1466052.577 765345.709 0,
+ 1466338.857 765373.148 0, 1466625.135 765400.605 0, 1466911.411 765428.078 0, 1467197.685 765455.568 0, 1467483.958 765483.074 0, 1467770.229 765510.598 0, 1468056.499 765538.138 0, 1468342.767 765565.696 0, 1468627.723 765593.144 0, 1469162.141 760046.673 0,
+ 1469696.534 754500.466 0))
+
+POLYGON ((1482366.585 766936.512 0, 1482081.706 766908.259 0, 1481795.517 766879.893 0, 1481509.326 766851.544 0, 1481223.133 766823.212 0, 1480936.939 766794.896 0, 1480650.744 766766.598 0, 1480364.546 766738.316 0, 1480078.347 766710.051 0, 1479792.147 766681.803 0,
+ 1479505.944 766653.572 0, 1479219.74 766625.357 0, 1478933.535 766597.16 0, 1478647.327 766568.979 0, 1478361.118 766540.815 0, 1478074.908 766512.668 0, 1477788.695 766484.538 0, 1477502.481 766456.425 0, 1477216.266 766428.329 0, 1476930.049 766400.249 0,
+ 1476643.83 766372.186 0, 1476357.609 766344.14 0, 1476071.387 766316.111 0, 1475785.163 766288.099 0, 1475497.628 766259.976 0, 1475212.71 766232.125 0, 1474926.482 766204.164 0, 1474640.251 766176.219 0, 1474354.019 766148.291 0, 1474067.785 766120.38 0,
+ 1473781.55 766092.486 0, 1473495.313 766064.608 0, 1473209.074 766036.748 0, 1472922.834 766008.904 0, 1472636.592 765981.077 0, 1472350.348 765953.267 0, 1472064.103 765925.474 0, 1471777.856 765897.697 0, 1471491.608 765869.938 0, 1471205.358 765842.195 0,
+ 1470919.106 765814.47 0, 1470632.853 765786.761 0, 1470346.598 765759.069 0, 1470060.341 765731.393 0, 1469774.083 765703.735 0, 1469487.823 765676.093 0, 1469201.561 765648.469 0, 1468915.298 765620.861 0, 1468627.723 765593.144 0, 1468093.28 771139.874 0,
+ 1467558.812 776686.86 0, 1467845.731 776714.514 0, 1468131.342 776742.059 0, 1468416.95 776769.621 0, 1468702.557 776797.199 0, 1468988.162 776824.794 0, 1469273.766 776852.407 0, 1469559.368 776880.036 0, 1469844.969 776907.681 0, 1470130.567 776935.344 0,
+ 1470416.165 776963.023 0, 1470701.76 776990.719 0, 1470987.354 777018.432 0, 1471272.946 777046.162 0, 1471558.537 777073.909 0, 1471844.126 777101.672 0, 1472129.714 777129.452 0, 1472415.299 777157.249 0, 1472700.883 777185.063 0, 1472986.466 777212.894 0,
+ 1473272.047 777240.741 0, 1473557.626 777268.605 0, 1473843.204 777296.487 0, 1474128.78 777324.384 0, 1474413.048 777352.171 0, 1474699.927 777380.231 0, 1474985.498 777408.179 0, 1475271.067 777436.144 0, 1475556.635 777464.126 0, 1475842.201 777492.125 0,
+ 1476127.765 777520.14 0, 1476413.328 777548.173 0, 1476698.889 777576.222 0, 1476984.448 777604.288 0, 1477270.006 777632.37 0, 1477555.562 777660.47 0, 1477841.117 777688.586 0, 1478126.67 777716.72 0, 1478412.221 777744.869 0, 1478697.771 777773.036 0,
+ 1478983.318 777801.22 0, 1479268.865 777829.42 0, 1479554.409 777857.638 0, 1479839.952 777885.872 0, 1480125.493 777914.122 0, 1480411.033 777942.39 0, 1480696.571 777970.674 0, 1480982.107 777998.976 0, 1481266.337 778027.164 0, 1481816.474 772481.71 0,
+ 1482366.585 766936.512 0))
+
+POLYGON ((1494970.02 779406.189 0, 1494685.869 779377.198 0, 1494400.414 779348.09 0, 1494114.957 779318.999 0, 1493829.498 779289.925 0, 1493544.038 779260.867 0, 1493258.576 779231.827 0, 1492973.112 779202.803 0, 1492687.647 779173.796 0, 1492402.18 779144.806 0,
+ 1492116.711 779115.832 0, 1491831.241 779086.876 0, 1491545.768 779057.936 0, 1491260.294 779029.013 0, 1490974.819 779000.106 0, 1490689.341 778971.217 0, 1490403.862 778942.344 0, 1490118.382 778913.489 0, 1489832.899 778884.65 0, 1489547.415 778855.828 0,
+ 1489261.929 778827.022 0, 1488976.442 778798.234 0, 1488690.953 778769.462 0, 1488405.462 778740.707 0, 1488118.666 778711.837 0, 1487834.475 778683.247 0, 1487548.979 778654.543 0, 1487263.481 778625.855 0, 1486977.982 778597.184 0, 1486692.481 778568.53 0,
+ 1486406.978 778539.892 0, 1486121.474 778511.272 0, 1485835.967 778482.668 0, 1485550.46 778454.081 0, 1485264.95 778425.511 0, 1484979.439 778396.958 0, 1484693.926 778368.421 0, 1484408.412 778339.902 0, 1484122.896 778311.399 0, 1483837.378 778282.912 0,
+ 1483551.858 778254.443 0, 1483266.337 778225.991 0, 1482980.814 778197.555 0, 1482695.289 778169.136 0, 1482409.763 778140.734 0, 1482124.235 778112.349 0, 1481838.706 778083.98 0, 1481553.175 778055.629 0, 1481266.337 778027.164 0, 1480716.175 783572.871 0,
+ 1480165.988 789118.828 0, 1480452.17 789147.227 0, 1480737.048 789175.514 0, 1481021.925 789203.817 0, 1481306.8 789232.138 0, 1481591.674 789260.475 0, 1481876.545 789288.829 0, 1482161.416 789317.199 0, 1482446.284 789345.587 0, 1482731.151 789373.991 0,
+ 1483016.016 789402.412 0, 1483300.879 789430.85 0, 1483585.741 789459.304 0, 1483870.601 789487.776 0, 1484155.459 789516.264 0, 1484440.316 789544.768 0, 1484725.171 789573.29 0, 1485010.024 789601.828 0, 1485294.876 789630.383 0, 1485579.726 789658.955 0,
+ 1485864.574 789687.544 0, 1486149.421 789716.149 0, 1486434.266 789744.772 0, 1486719.109 789773.41 0, 1487002.65 789801.935 0, 1487288.79 789830.739 0, 1487573.629 789859.428 0, 1487858.465 789888.134 0, 1488143.3 789916.857 0, 1488428.133 789945.596 0,
+ 1488712.964 789974.352 0, 1488997.794 790003.126 0, 1489282.622 790031.915 0, 1489567.448 790060.722 0, 1489852.273 790089.545 0, 1490137.096 790118.385 0, 1490421.917 790147.242 0, 1490706.737 790176.116 0, 1490991.555 790205.006 0, 1491276.371 790233.913 0,
+ 1491561.185 790262.837 0, 1491845.998 790291.778 0, 1492130.809 790320.736 0, 1492415.618 790349.71 0, 1492700.426 790378.701 0, 1492985.232 790407.709 0, 1493270.036 790436.733 0, 1493554.838 790465.774 0, 1493838.34 790494.7 0, 1494404.193 784950.32 0,
+ 1494970.02 779406.189 0))
+
+POLYGON ((1507506.75 791909.193 0, 1507223.329 791879.467 0, 1506938.61 791849.621 0, 1506653.889 791819.792 0, 1506369.166 791789.98 0, 1506084.441 791760.184 0, 1505799.715 791730.405 0, 1505514.987 791700.644 0, 1505230.257 791670.898 0, 1504945.526 791641.17 0,
+ 1504660.792 791611.458 0, 1504376.057 791581.763 0, 1504091.32 791552.085 0, 1503806.582 791522.424 0, 1503521.842 791492.779 0, 1503237.099 791463.151 0, 1502952.356 791433.54 0, 1502667.61 791403.945 0, 1502382.863 791374.368 0, 1502098.114 791344.807 0,
+ 1501813.363 791315.263 0, 1501528.61 791285.735 0, 1501243.856 791256.225 0, 1500959.1 791226.731 0, 1500673.045 791197.12 0, 1500389.583 791167.794 0, 1500104.822 791138.35 0, 1499820.059 791108.923 0, 1499535.294 791079.513 0, 1499250.528 791050.12 0,
+ 1498965.76 791020.743 0, 1498680.99 790991.384 0, 1498396.218 790962.041 0, 1498111.445 790932.714 0, 1497826.67 790903.405 0, 1497541.893 790874.112 0, 1497257.115 790844.836 0, 1496972.335 790815.577 0, 1496687.553 790786.335 0, 1496402.769 790757.109 0,
+ 1496117.984 790727.9 0, 1495833.197 790698.708 0, 1495548.408 790669.533 0, 1495263.617 790640.374 0, 1494978.825 790611.232 0, 1494694.031 790582.107 0, 1494409.236 790552.999 0, 1494124.438 790523.907 0, 1493838.34 790494.7 0, 1493272.462 796039.325 0,
+ 1492706.56 801584.192 0, 1492992.002 801613.333 0, 1493276.147 801642.358 0, 1493560.29 801671.399 0, 1493844.431 801700.458 0, 1494128.571 801729.533 0, 1494412.708 801758.625 0, 1494696.844 801787.733 0, 1494980.979 801816.858 0, 1495265.112 801846 0,
+ 1495549.243 801875.159 0, 1495833.372 801904.334 0, 1496117.499 801933.527 0, 1496401.625 801962.735 0, 1496685.749 801991.961 0, 1496969.872 802021.203 0, 1497253.992 802050.462 0, 1497538.111 802079.738 0, 1497822.228 802109.03 0, 1498106.344 802138.34 0,
+ 1498390.458 802167.666 0, 1498674.57 802197.008 0, 1498958.68 802226.368 0, 1499242.788 802255.744 0, 1499525.6 802285.002 0, 1499811 802314.546 0, 1500095.104 802343.972 0, 1500379.205 802373.415 0, 1500663.305 802402.875 0, 1500947.404 802432.351 0,
+ 1501231.5 802461.844 0, 1501515.595 802491.354 0, 1501799.688 802520.881 0, 1502083.779 802550.424 0, 1502367.868 802579.984 0, 1502651.956 802609.561 0, 1502936.042 802639.154 0, 1503220.126 802668.764 0, 1503504.209 802698.391 0, 1503788.29 802728.035 0,
+ 1504072.369 802757.695 0, 1504356.446 802787.372 0, 1504640.522 802817.066 0, 1504924.595 802846.777 0, 1505208.667 802876.504 0, 1505492.738 802906.248 0, 1505776.806 802936.008 0, 1506060.873 802965.786 0, 1506343.644 802995.444 0, 1506925.21 797452.198 0,
+ 1507506.75 791909.193 0))
+
+POLYGON ((1519976.688 804445.218 0, 1519693.999 804414.76 0, 1519410.018 804384.18 0, 1519126.034 804353.617 0, 1518842.049 804323.071 0, 1518558.062 804292.541 0, 1518274.073 804262.028 0, 1517990.083 804231.532 0, 1517706.091 804201.053 0, 1517422.097 804170.59 0,
+ 1517138.101 804140.144 0, 1516854.103 804109.714 0, 1516570.103 804079.302 0, 1516286.102 804048.906 0, 1516002.099 804018.527 0, 1515718.094 803988.164 0, 1515434.088 803957.818 0, 1515150.079 803927.489 0, 1514866.069 803897.177 0, 1514582.057 803866.881 0,
+ 1514298.043 803836.602 0, 1514014.028 803806.34 0, 1513730.01 803776.095 0, 1513445.991 803745.866 0, 1513160.678 803715.516 0, 1512877.948 803685.459 0, 1512593.923 803655.28 0, 1512309.897 803625.118 0, 1512025.869 803594.973 0, 1511741.839 803564.844 0,
+ 1511457.808 803534.733 0, 1511173.774 803504.638 0, 1510889.739 803474.559 0, 1510605.703 803444.498 0, 1510321.664 803414.453 0, 1510037.624 803384.425 0, 1509753.581 803354.413 0, 1509469.537 803324.419 0, 1509185.492 803294.44 0, 1508901.444 803264.479 0,
+ 1508617.395 803234.535 0, 1508333.344 803204.607 0, 1508049.291 803174.696 0, 1507765.237 803144.801 0, 1507481.181 803114.924 0, 1507197.123 803085.063 0, 1506913.063 803055.218 0, 1506629.001 803025.391 0, 1506343.644 802995.444 0, 1505762.054 808538.929 0,
+ 1505180.439 814082.649 0, 1505465.14 814112.527 0, 1505748.549 814142.286 0, 1506031.956 814172.061 0, 1506315.362 814201.854 0, 1506598.765 814231.663 0, 1506882.167 814261.488 0, 1507165.567 814291.331 0, 1507448.966 814321.19 0, 1507732.363 814351.066 0,
+ 1508015.757 814380.958 0, 1508299.151 814410.867 0, 1508582.542 814440.793 0, 1508865.932 814470.736 0, 1509149.32 814500.695 0, 1509432.706 814530.671 0, 1509716.09 814560.663 0, 1509999.473 814590.672 0, 1510282.853 814620.698 0, 1510566.232 814650.741 0,
+ 1510849.61 814680.8 0, 1511132.985 814710.876 0, 1511416.359 814740.969 0, 1511699.731 814771.078 0, 1511981.812 814801.067 0, 1512266.47 814831.347 0, 1512549.836 814861.506 0, 1512833.201 814891.682 0, 1513116.564 814921.875 0, 1513399.925 814952.084 0,
+ 1513683.285 814982.31 0, 1513966.643 815012.553 0, 1514249.999 815042.812 0, 1514533.353 815073.088 0, 1514816.705 815103.381 0, 1515100.056 815133.69 0, 1515383.405 815164.016 0, 1515666.752 815194.359 0, 1515950.097 815224.719 0, 1516233.441 815255.095 0,
+ 1516516.782 815285.488 0, 1516800.122 815315.897 0, 1517083.46 815346.323 0, 1517366.797 815376.766 0, 1517650.131 815407.226 0, 1517933.464 815437.702 0, 1518216.795 815468.195 0, 1518500.124 815498.704 0, 1518782.163 815529.092 0, 1519379.438 809987.037 0,
+ 1519976.688 804445.218 0))
+
+POLYGON ((1532379.747 817013.956 0, 1532097.793 816982.772 0, 1531814.551 816951.462 0, 1531531.307 816920.169 0, 1531248.062 816888.892 0, 1530964.814 816857.632 0, 1530681.565 816826.389 0, 1530398.314 816795.163 0, 1530115.061 816763.953 0, 1529831.807 816732.76 0,
+ 1529548.55 816701.583 0, 1529265.292 816670.423 0, 1528982.031 816639.28 0, 1528698.769 816608.154 0, 1528415.506 816577.044 0, 1528132.24 816545.951 0, 1527848.972 816514.874 0, 1527565.703 816483.814 0, 1527282.432 816452.771 0, 1526999.159 816421.745 0,
+ 1526715.884 816390.735 0, 1526432.607 816359.742 0, 1526149.329 816328.765 0, 1525866.049 816297.806 0, 1525581.48 816266.722 0, 1525299.482 816235.936 0, 1525016.197 816205.026 0, 1524732.909 816174.133 0, 1524449.62 816143.257 0, 1524166.328 816112.397 0,
+ 1523883.035 816081.554 0, 1523599.741 816050.728 0, 1523316.444 816019.918 0, 1523033.145 815989.125 0, 1522749.845 815958.349 0, 1522466.543 815927.589 0, 1522183.239 815896.846 0, 1521899.933 815866.12 0, 1521616.626 815835.41 0, 1521333.317 815804.717 0,
+ 1521050.005 815774.041 0, 1520766.692 815743.381 0, 1520483.378 815712.738 0, 1520200.061 815682.112 0, 1519916.743 815651.502 0, 1519633.423 815620.909 0, 1519350.101 815590.333 0, 1519066.777 815559.773 0, 1518782.163 815529.092 0, 1518184.863 821071.377 0,
+ 1517587.539 826613.89 0, 1517871.497 826644.502 0, 1518154.169 826674.991 0, 1518436.838 826705.497 0, 1518719.506 826736.019 0, 1519002.172 826766.558 0, 1519284.836 826797.114 0, 1519567.498 826827.686 0, 1519850.159 826858.275 0, 1520132.818 826888.881 0,
+ 1520415.475 826919.503 0, 1520698.13 826950.142 0, 1520980.783 826980.798 0, 1521263.435 827011.47 0, 1521546.084 827042.159 0, 1521828.732 827072.864 0, 1522111.378 827103.587 0, 1522394.023 827134.325 0, 1522676.665 827165.081 0, 1522959.306 827195.853 0,
+ 1523241.945 827226.641 0, 1523524.582 827257.447 0, 1523807.217 827288.269 0, 1524089.851 827319.107 0, 1524371.198 827349.822 0, 1524655.112 827380.834 0, 1524937.74 827411.723 0, 1525220.366 827442.628 0, 1525502.99 827473.55 0, 1525785.613 827504.488 0,
+ 1526068.234 827535.443 0, 1526350.853 827566.415 0, 1526633.47 827597.403 0, 1526916.085 827628.408 0, 1527198.698 827659.429 0, 1527481.31 827690.468 0, 1527763.92 827721.522 0, 1528046.527 827752.594 0, 1528329.134 827783.682 0, 1528611.738 827814.787 0,
+ 1528894.34 827845.908 0, 1529176.941 827877.046 0, 1529459.54 827908.201 0, 1529742.137 827939.372 0, 1530024.732 827970.56 0, 1530307.325 828001.764 0, 1530589.916 828032.985 0, 1530872.506 828064.223 0, 1531153.811 828095.336 0, 1531766.792 822554.532 0,
+ 1532379.747 817013.956 0))
+
+POLYGON ((1544715.844 829615.102 0, 1544434.625 829583.195 0, 1544152.125 829551.159 0, 1543869.623 829519.139 0, 1543587.119 829487.137 0, 1543304.613 829455.15 0, 1543022.106 829423.181 0, 1542739.596 829391.228 0, 1542457.084 829359.292 0, 1542174.571 829327.372 0,
+ 1541892.056 829295.469 0, 1541609.539 829263.583 0, 1541327.02 829231.713 0, 1541044.499 829199.86 0, 1540761.976 829168.023 0, 1540479.451 829136.204 0, 1540196.925 829104.4 0, 1539914.396 829072.614 0, 1539631.866 829040.844 0, 1539349.334 829009.09 0,
+ 1539066.8 828977.354 0, 1538784.264 828945.634 0, 1538501.726 828913.93 0, 1538219.187 828882.243 0, 1537935.364 828850.429 0, 1537654.102 828818.92 0, 1537371.557 828787.283 0, 1537089.01 828755.662 0, 1536806.461 828724.059 0, 1536523.91 828692.472 0,
+ 1536241.358 828660.901 0, 1535958.803 828629.347 0, 1535676.247 828597.81 0, 1535393.689 828566.29 0, 1535111.129 828534.786 0, 1534828.567 828503.299 0, 1534546.003 828471.828 0, 1534263.437 828440.374 0, 1533980.87 828408.937 0, 1533698.301 828377.516 0,
+ 1533415.729 828346.112 0, 1533133.156 828314.724 0, 1532850.582 828283.353 0, 1532568.005 828251.999 0, 1532285.426 828220.662 0, 1532002.846 828189.341 0, 1531720.264 828158.036 0, 1531437.68 828126.749 0, 1531153.811 828095.336 0, 1530540.806 833636.363 0,
+ 1529927.776 839177.611 0, 1530210.989 839208.951 0, 1530492.921 839240.167 0, 1530774.851 839271.399 0, 1531056.779 839302.647 0, 1531338.705 839333.913 0, 1531620.63 839365.194 0, 1531902.552 839396.493 0, 1532184.473 839427.808 0, 1532466.392 839459.14 0,
+ 1532748.309 839490.488 0, 1533030.224 839521.853 0, 1533312.138 839553.234 0, 1533594.049 839584.632 0, 1533875.959 839616.047 0, 1534157.867 839647.478 0, 1534439.773 839678.925 0, 1534721.677 839710.39 0, 1535003.579 839741.871 0, 1535285.48 839773.368 0,
+ 1535567.378 839804.882 0, 1535849.275 839836.413 0, 1536131.17 839867.961 0, 1536413.063 839899.524 0, 1536693.676 839930.962 0, 1536976.843 839962.702 0, 1537258.731 839994.316 0, 1537540.616 840025.946 0, 1537822.5 840057.593 0, 1538104.382 840089.256 0,
+ 1538386.262 840120.936 0, 1538668.14 840152.633 0, 1538950.016 840184.346 0, 1539231.89 840216.076 0, 1539513.763 840247.822 0, 1539795.633 840279.585 0, 1540077.502 840311.365 0, 1540359.369 840343.161 0, 1540641.234 840374.974 0, 1540923.097 840406.803 0,
+ 1541204.959 840438.649 0, 1541486.818 840470.512 0, 1541768.675 840502.391 0, 1542050.531 840534.287 0, 1542332.385 840566.199 0, 1542614.237 840598.128 0, 1542896.087 840630.073 0, 1543177.935 840662.036 0, 1543458.504 840693.869 0, 1544087.186 835154.376 0,
+ 1544715.844 829615.102 0))
+
+POLYGON ((1556984.894 842248.348 0, 1556704.414 842215.722 0, 1556422.657 842182.964 0, 1556140.899 842150.222 0, 1555859.138 842117.497 0, 1555577.376 842084.789 0, 1555295.611 842052.097 0, 1555013.845 842019.421 0, 1554732.077 841986.763 0, 1554450.307 841954.12 0,
+ 1554168.535 841921.495 0, 1553886.761 841888.886 0, 1553604.985 841856.294 0, 1553323.207 841823.718 0, 1553041.427 841791.159 0, 1552759.645 841758.616 0, 1552477.862 841726.09 0, 1552196.076 841693.58 0, 1551914.289 841661.088 0, 1551632.499 841628.611 0,
+ 1551350.708 841596.152 0, 1551068.915 841563.708 0, 1550787.12 841531.282 0, 1550505.323 841498.872 0, 1550222.248 841466.332 0, 1549941.723 841434.102 0, 1549659.921 841401.742 0, 1549378.116 841369.398 0, 1549096.309 841337.071 0, 1548814.501 841304.761 0,
+ 1548532.691 841272.467 0, 1548250.879 841240.19 0, 1547969.064 841207.929 0, 1547687.248 841175.685 0, 1547405.43 841143.457 0, 1547123.611 841111.246 0, 1546841.789 841079.052 0, 1546559.965 841046.874 0, 1546278.14 841014.713 0, 1545996.313 840982.569 0,
+ 1545714.483 840950.441 0, 1545432.652 840918.329 0, 1545150.819 840886.235 0, 1544868.984 840854.156 0, 1544587.147 840822.095 0, 1544305.309 840790.05 0, 1544023.468 840758.021 0, 1543741.626 840726.009 0, 1543458.504 840693.869 0, 1542829.797 846233.58 0,
+ 1542201.066 851773.503 0, 1542483.533 851805.569 0, 1542764.723 851837.506 0, 1543045.911 851869.461 0, 1543327.098 851901.432 0, 1543608.283 851933.419 0, 1543889.466 851965.423 0, 1544170.646 851997.443 0, 1544451.826 852029.481 0, 1544733.003 852061.534 0,
+ 1545014.178 852093.604 0, 1545295.351 852125.691 0, 1545576.523 852157.794 0, 1545857.693 852189.914 0, 1546138.86 852222.051 0, 1546420.026 852254.203 0, 1546701.19 852286.373 0, 1546982.352 852318.559 0, 1547263.512 852350.762 0, 1547544.671 852382.981 0,
+ 1547825.827 852415.216 0, 1548106.981 852447.469 0, 1548388.134 852479.737 0, 1548669.285 852512.023 0, 1548949.161 852544.178 0, 1549231.58 852576.643 0, 1549512.725 852608.978 0, 1549793.868 852641.329 0, 1550075.009 852673.697 0, 1550356.149 852706.082 0,
+ 1550637.286 852738.483 0, 1550918.421 852770.901 0, 1551199.555 852803.335 0, 1551480.687 852835.786 0, 1551761.816 852868.253 0, 1552042.944 852900.737 0, 1552324.07 852933.237 0, 1552605.194 852965.754 0, 1552886.316 852998.288 0, 1553167.436 853030.838 0,
+ 1553448.554 853063.405 0, 1553729.671 853095.988 0, 1554010.785 853128.587 0, 1554291.898 853161.204 0, 1554573.008 853193.837 0, 1554854.117 853226.486 0, 1555135.223 853259.152 0, 1555416.328 853291.834 0, 1555696.16 853324.385 0, 1556340.539 847786.26 0,
+ 1556984.894 842248.348 0))
+
+POLYGON ((1569186.818 854913.388 0, 1568907.077 854880.046 0, 1568626.066 854846.569 0, 1568345.053 854813.109 0, 1568064.037 854779.666 0, 1567783.02 854746.239 0, 1567502.001 854712.829 0, 1567220.98 854679.435 0, 1566939.957 854646.058 0, 1566658.931 854612.697 0,
+ 1566377.904 854579.353 0, 1566096.875 854546.025 0, 1565815.844 854512.714 0, 1565534.811 854479.42 0, 1565253.777 854446.142 0, 1564972.74 854412.88 0, 1564691.701 854379.635 0, 1564410.66 854346.407 0, 1564129.617 854313.195 0, 1563848.573 854280 0,
+ 1563567.526 854246.821 0, 1563286.477 854213.659 0, 1563005.427 854180.513 0, 1562724.374 854147.384 0, 1562442.05 854114.122 0, 1562162.264 854081.176 0, 1561881.205 854048.096 0, 1561600.145 854015.033 0, 1561319.083 853981.987 0, 1561038.019 853948.957 0,
+ 1560756.952 853915.944 0, 1560475.884 853882.947 0, 1560194.814 853849.967 0, 1559913.742 853817.003 0, 1559632.669 853784.056 0, 1559351.593 853751.125 0, 1559070.515 853718.211 0, 1558789.435 853685.314 0, 1558508.354 853652.433 0, 1558227.27 853619.568 0,
+ 1557946.185 853586.721 0, 1557665.097 853553.889 0, 1557384.008 853521.074 0, 1557102.917 853488.276 0, 1556821.823 853455.494 0, 1556540.728 853422.729 0, 1556259.631 853389.981 0, 1555978.532 853357.249 0, 1555696.16 853324.385 0, 1555051.755 858862.719 0,
+ 1554407.327 864401.259 0, 1554689.045 864434.046 0, 1554969.492 864466.702 0, 1555249.937 864499.375 0, 1555530.38 864532.064 0, 1555810.822 864564.77 0, 1556091.261 864597.492 0, 1556371.698 864630.231 0, 1556652.134 864662.986 0, 1556932.567 864695.757 0,
+ 1557212.999 864728.546 0, 1557493.429 864761.35 0, 1557773.857 864794.172 0, 1558054.282 864827.009 0, 1558334.706 864859.863 0, 1558615.128 864892.734 0, 1558895.548 864925.621 0, 1559175.966 864958.525 0, 1559456.383 864991.445 0, 1559736.797 865024.382 0,
+ 1560017.209 865057.335 0, 1560297.62 865090.305 0, 1560578.028 865123.291 0, 1560858.434 865156.294 0, 1561137.572 865189.164 0, 1561419.242 865222.349 0, 1561699.642 865255.401 0, 1561980.041 865288.47 0, 1562260.438 865321.556 0, 1562540.832 865354.657 0,
+ 1562821.225 865387.776 0, 1563101.616 865420.91 0, 1563382.005 865454.062 0, 1563662.392 865487.229 0, 1563942.777 865520.414 0, 1564223.16 865553.615 0, 1564503.541 865586.832 0, 1564783.921 865620.066 0, 1565064.298 865653.316 0, 1565344.673 865686.583 0,
+ 1565625.046 865719.866 0, 1565905.418 865753.166 0, 1566185.787 865786.482 0, 1566466.155 865819.815 0, 1566746.52 865853.164 0, 1567026.884 865886.53 0, 1567307.245 865919.913 0, 1567587.605 865953.311 0, 1567866.696 865986.576 0, 1568526.769 860449.879 0,
+ 1569186.818 854913.388 0))
+
+POLYGON ((1058987.877 409655.093 0, 1058682.139 409651.647 0, 1058374.923 409648.202 0, 1058067.707 409644.775 0, 1057760.491 409641.367 0, 1057453.275 409637.976 0, 1057146.058 409634.604 0, 1056838.841 409631.249 0, 1056531.625 409627.913 0, 1056224.407 409624.594 0,
+ 1055917.19 409621.294 0, 1055609.973 409618.012 0, 1055302.755 409614.748 0, 1054995.537 409611.502 0, 1054688.319 409608.274 0, 1054381.101 409605.064 0, 1054073.882 409601.873 0, 1053766.664 409598.699 0, 1053459.445 409595.543 0, 1053152.226 409592.406 0,
+ 1052845.007 409589.287 0, 1052537.787 409586.185 0, 1052230.568 409583.102 0, 1051923.348 409580.037 0, 1051614.65 409576.975 0, 1051308.908 409573.961 0, 1051001.688 409570.95 0, 1050694.467 409567.957 0, 1050387.247 409564.982 0, 1050080.026 409562.026 0,
+ 1049772.805 409559.087 0, 1049465.584 409556.167 0, 1049158.363 409553.264 0, 1048851.141 409550.38 0, 1048543.919 409547.514 0, 1048236.698 409544.666 0, 1047929.476 409541.836 0, 1047622.254 409539.024 0, 1047315.031 409536.23 0, 1047007.809 409533.454 0,
+ 1046700.586 409530.696 0, 1046393.363 409527.956 0, 1046086.14 409525.235 0, 1045778.917 409522.531 0, 1045471.694 409519.846 0, 1045164.471 409517.179 0, 1044857.247 409514.529 0, 1044550.023 409511.898 0, 1044241.32 409509.273 0, 1044194.273 415059.981 0,
+ 1044147.223 420611.14 0, 1044455.27 420613.76 0, 1044761.84 420616.385 0, 1045068.41 420619.029 0, 1045374.98 420621.691 0, 1045681.55 420624.37 0, 1045988.12 420627.068 0, 1046294.689 420629.784 0, 1046601.259 420632.518 0, 1046907.828 420635.27 0,
+ 1047214.397 420638.04 0, 1047520.966 420640.828 0, 1047827.535 420643.634 0, 1048134.103 420646.458 0, 1048440.672 420649.3 0, 1048747.24 420652.16 0, 1049053.808 420655.038 0, 1049360.376 420657.934 0, 1049666.943 420660.849 0, 1049973.511 420663.781 0,
+ 1050280.078 420666.731 0, 1050586.645 420669.7 0, 1050893.213 420672.686 0, 1051199.779 420675.691 0, 1051504.871 420678.699 0, 1051812.912 420681.754 0, 1052119.479 420684.812 0, 1052426.045 420687.889 0, 1052732.611 420690.984 0, 1053039.177 420694.097 0,
+ 1053345.742 420697.227 0, 1053652.308 420700.376 0, 1053958.873 420703.543 0, 1054265.438 420706.728 0, 1054572.003 420709.931 0, 1054878.567 420713.152 0, 1055185.132 420716.391 0, 1055491.696 420719.648 0, 1055798.26 420722.923 0, 1056104.824 420726.217 0,
+ 1056411.388 420729.528 0, 1056717.951 420732.857 0, 1057024.514 420736.204 0, 1057331.077 420739.57 0, 1057637.64 420742.953 0, 1057944.203 420746.355 0, 1058250.766 420749.774 0, 1058557.328 420753.212 0, 1058862.416 420756.651 0, 1058925.149 415205.647 0,
+ 1058987.877 409655.093 0))
+
+POLYGON ((1073577.139 420943.734 0, 1073272.059 420939.433 0, 1072965.508 420935.129 0, 1072658.957 420930.844 0, 1072352.405 420926.576 0, 1072045.853 420922.327 0, 1071739.3 420918.095 0, 1071432.748 420913.882 0, 1071126.195 420909.687 0, 1070819.642 420905.509 0,
+ 1070513.088 420901.35 0, 1070206.535 420897.209 0, 1069899.981 420893.085 0, 1069593.427 420888.98 0, 1069286.872 420884.893 0, 1068980.318 420880.824 0, 1068673.763 420876.773 0, 1068367.208 420872.74 0, 1068060.653 420868.725 0, 1067754.097 420864.728 0,
+ 1067447.542 420860.749 0, 1067140.986 420856.789 0, 1066834.429 420852.846 0, 1066527.873 420848.921 0, 1066219.844 420844.996 0, 1065914.759 420841.126 0, 1065608.202 420837.255 0, 1065301.645 420833.403 0, 1064995.087 420829.568 0, 1064688.53 420825.752 0,
+ 1064381.972 420821.953 0, 1064075.413 420818.173 0, 1063768.855 420814.411 0, 1063462.296 420810.666 0, 1063155.737 420806.94 0, 1062849.178 420803.232 0, 1062542.619 420799.542 0, 1062236.059 420795.87 0, 1061929.499 420792.216 0, 1061622.939 420788.58 0,
+ 1061316.379 420784.962 0, 1061009.819 420781.362 0, 1060703.258 420777.78 0, 1060396.697 420774.216 0, 1060090.136 420770.67 0, 1059783.575 420767.142 0, 1059477.013 420763.633 0, 1059170.452 420760.141 0, 1058862.416 420756.651 0, 1058799.678 426308.102 0,
+ 1058736.935 431859.997 0, 1059044.314 431863.48 0, 1059350.222 431866.964 0, 1059656.13 431870.467 0, 1059962.038 431873.987 0, 1060267.945 431877.525 0, 1060573.852 431881.081 0, 1060879.76 431884.656 0, 1061185.666 431888.248 0, 1061491.573 431891.858 0,
+ 1061797.48 431895.486 0, 1062103.386 431899.133 0, 1062409.292 431902.797 0, 1062715.198 431906.479 0, 1063021.103 431910.18 0, 1063327.009 431913.898 0, 1063632.914 431917.634 0, 1063938.819 431921.389 0, 1064244.724 431925.161 0, 1064550.628 431928.951 0,
+ 1064856.532 431932.759 0, 1065162.437 431936.586 0, 1065468.34 431940.43 0, 1065774.244 431944.292 0, 1066078.678 431948.154 0, 1066386.051 431952.071 0, 1066691.953 431955.988 0, 1066997.856 431959.922 0, 1067303.759 431963.874 0, 1067609.661 431967.845 0,
+ 1067915.563 431971.833 0, 1068221.465 431975.839 0, 1068527.366 431979.864 0, 1068833.267 431983.906 0, 1069139.169 431987.967 0, 1069445.069 431992.045 0, 1069750.97 431996.141 0, 1070056.87 432000.256 0, 1070362.77 432004.388 0, 1070668.67 432008.539 0,
+ 1070974.57 432012.707 0, 1071280.469 432016.893 0, 1071586.368 432021.098 0, 1071892.267 432025.32 0, 1072198.166 432029.561 0, 1072504.064 432033.819 0, 1072809.962 432038.096 0, 1073115.86 432042.39 0, 1073420.289 432046.682 0, 1073498.717 426494.986 0,
+ 1073577.139 420943.734 0))
+
+POLYGON ((1088103.058 432274.849 0, 1087798.64 432269.697 0, 1087492.755 432264.538 0, 1087186.87 432259.397 0, 1086880.985 432254.275 0, 1086575.1 432249.17 0, 1086269.214 432244.084 0, 1085963.328 432239.015 0, 1085657.442 432233.964 0, 1085351.555 432228.932 0,
+ 1085045.668 432223.917 0, 1084739.781 432218.92 0, 1084433.894 432213.942 0, 1084128.006 432208.981 0, 1083822.118 432204.039 0, 1083516.229 432199.114 0, 1083210.341 432194.207 0, 1082904.452 432189.319 0, 1082598.563 432184.448 0, 1082292.673 432179.596 0,
+ 1081986.783 432174.761 0, 1081680.893 432169.944 0, 1081375.003 432165.146 0, 1081069.112 432160.365 0, 1080761.754 432155.58 0, 1080457.33 432150.858 0, 1080151.439 432146.132 0, 1079845.547 432141.423 0, 1079539.655 432136.733 0, 1079233.762 432132.06 0,
+ 1078927.87 432127.405 0, 1078621.977 432122.769 0, 1078316.084 432118.15 0, 1078010.19 432113.55 0, 1077704.297 432108.967 0, 1077398.403 432104.403 0, 1077092.509 432099.856 0, 1076786.614 432095.328 0, 1076480.719 432090.817 0, 1076174.824 432086.325 0,
+ 1075868.929 432081.85 0, 1075563.034 432077.394 0, 1075257.138 432072.955 0, 1074951.242 432068.535 0, 1074645.345 432064.132 0, 1074339.449 432059.748 0, 1074033.552 432055.381 0, 1073727.655 432051.033 0, 1073420.289 432046.682 0, 1073341.855 437598.819 0,
+ 1073263.414 443151.395 0, 1073570.123 443155.737 0, 1073875.367 443160.077 0, 1074180.61 443164.434 0, 1074485.853 443168.809 0, 1074791.096 443173.202 0, 1075096.338 443177.613 0, 1075401.58 443182.042 0, 1075706.822 443186.489 0, 1076012.064 443190.954 0,
+ 1076317.306 443195.437 0, 1076622.547 443199.938 0, 1076927.788 443204.456 0, 1077233.028 443208.993 0, 1077538.269 443213.548 0, 1077843.509 443218.121 0, 1078148.748 443222.711 0, 1078453.988 443227.32 0, 1078759.227 443231.947 0, 1079064.466 443236.591 0,
+ 1079369.705 443241.254 0, 1079674.943 443245.934 0, 1079980.182 443250.633 0, 1080285.419 443255.349 0, 1080589.193 443260.061 0, 1080895.894 443264.836 0, 1081201.131 443269.607 0, 1081506.368 443274.395 0, 1081811.605 443279.201 0, 1082116.841 443284.025 0,
+ 1082422.077 443288.868 0, 1082727.312 443293.728 0, 1083032.548 443298.606 0, 1083337.783 443303.502 0, 1083643.018 443308.416 0, 1083948.252 443313.348 0, 1084253.486 443318.298 0, 1084558.72 443323.266 0, 1084863.954 443328.252 0, 1085169.187 443333.256 0,
+ 1085474.42 443338.278 0, 1085779.653 443343.318 0, 1086084.885 443348.375 0, 1086390.118 443353.451 0, 1086695.349 443358.545 0, 1087000.581 443363.657 0, 1087305.812 443368.786 0, 1087611.043 443373.934 0, 1087914.811 443379.075 0, 1088008.938 437826.742 0,
+ 1088103.058 432274.849 0))
+
+POLYGON ((1102565.506 443648.146 0, 1102261.751 443642.147 0, 1101956.536 443636.137 0, 1101651.32 443630.145 0, 1101346.105 443624.171 0, 1101040.888 443618.215 0, 1100735.672 443612.277 0, 1100430.455 443606.357 0, 1100125.238 443600.455 0, 1099820.02 443594.57 0,
+ 1099514.802 443588.704 0, 1099209.584 443582.856 0, 1098904.365 443577.026 0, 1098599.146 443571.213 0, 1098293.927 443565.419 0, 1097988.707 443559.643 0, 1097683.487 443553.884 0, 1097378.267 443548.144 0, 1097073.046 443542.421 0, 1096767.825 443536.717 0,
+ 1096462.604 443531.03 0, 1096157.382 443525.361 0, 1095852.16 443519.711 0, 1095546.937 443514.078 0, 1095240.253 443508.437 0, 1094936.492 443502.867 0, 1094631.268 443497.288 0, 1094326.045 443491.727 0, 1094020.821 443486.184 0, 1093715.596 443480.659 0,
+ 1093410.372 443475.152 0, 1093105.147 443469.663 0, 1092799.921 443464.192 0, 1092494.696 443458.739 0, 1092189.47 443453.304 0, 1091884.244 443447.887 0, 1091579.017 443442.488 0, 1091273.79 443437.107 0, 1090968.563 443431.744 0, 1090663.335 443426.398 0,
+ 1090358.108 443421.071 0, 1090052.879 443415.762 0, 1089747.651 443410.47 0, 1089442.422 443405.197 0, 1089137.193 443399.942 0, 1088831.964 443394.704 0, 1088526.734 443389.485 0, 1088221.504 443384.283 0, 1087914.811 443379.075 0, 1087820.676 448931.843 0,
+ 1087726.534 454485.043 0, 1088032.571 454490.24 0, 1088337.147 454495.431 0, 1088641.723 454500.639 0, 1088946.299 454505.865 0, 1089250.874 454511.109 0, 1089555.449 454516.371 0, 1089860.024 454521.651 0, 1090164.599 454526.949 0, 1090469.173 454532.265 0,
+ 1090773.747 454537.599 0, 1091078.32 454542.951 0, 1091382.893 454548.32 0, 1091687.466 454553.708 0, 1091992.039 454559.114 0, 1092296.611 454564.537 0, 1092601.183 454569.978 0, 1092905.755 454575.438 0, 1093210.326 454580.915 0, 1093514.897 454586.41 0,
+ 1093819.468 454591.923 0, 1094124.038 454597.454 0, 1094428.608 454603.003 0, 1094733.178 454608.57 0, 1095036.289 454614.128 0, 1095342.316 454619.757 0, 1095646.885 454625.378 0, 1095951.453 454631.016 0, 1096256.021 454636.673 0, 1096560.589 454642.347 0,
+ 1096865.156 454648.04 0, 1097169.723 454653.75 0, 1097474.29 454659.478 0, 1097778.856 454665.224 0, 1098083.422 454670.988 0, 1098387.988 454676.77 0, 1098692.554 454682.57 0, 1098997.119 454688.388 0, 1099301.683 454694.224 0, 1099606.247 454700.077 0,
+ 1099910.811 454705.949 0, 1100215.375 454711.838 0, 1100519.938 454717.746 0, 1100824.501 454723.671 0, 1101129.064 454729.614 0, 1101433.626 454735.576 0, 1101738.188 454741.555 0, 1102042.749 454747.552 0, 1102345.853 454753.538 0, 1102455.684 449200.626 0,
+ 1102565.506 443648.146 0))
+
+POLYGON ((1116964.356 455063.334 0, 1116661.267 455056.492 0, 1116356.724 455049.634 0, 1116052.18 455042.795 0, 1115747.636 455035.973 0, 1115443.092 455029.169 0, 1115138.547 455022.383 0, 1114834.001 455015.616 0, 1114529.455 455008.866 0, 1114224.909 455002.134 0,
+ 1113920.363 454995.42 0, 1113615.816 454988.723 0, 1113311.268 454982.045 0, 1113006.721 454975.385 0, 1112702.173 454968.742 0, 1112397.624 454962.118 0, 1112093.075 454955.511 0, 1111788.526 454948.923 0, 1111483.976 454942.352 0, 1111179.426 454935.799 0,
+ 1110874.876 454929.265 0, 1110570.325 454922.748 0, 1110265.774 454916.249 0, 1109961.222 454909.768 0, 1109655.214 454903.274 0, 1109352.118 454896.859 0, 1109047.565 454890.432 0, 1108743.012 454884.023 0, 1108438.458 454877.631 0, 1108133.904 454871.258 0,
+ 1107829.35 454864.902 0, 1107524.795 454858.564 0, 1107220.24 454852.245 0, 1106915.685 454845.943 0, 1106611.129 454839.659 0, 1106306.573 454833.393 0, 1106002.017 454827.145 0, 1105697.46 454820.915 0, 1105392.903 454814.703 0, 1105088.345 454808.508 0,
+ 1104783.787 454802.332 0, 1104479.229 454796.174 0, 1104174.67 454790.033 0, 1103870.111 454783.911 0, 1103565.552 454777.806 0, 1103260.992 454771.719 0, 1102956.432 454765.651 0, 1102651.871 454759.6 0, 1102345.853 454753.538 0, 1102236.015 460306.88 0,
+ 1102126.167 465860.648 0, 1102431.528 465866.697 0, 1102735.435 465872.735 0, 1103039.342 465878.79 0, 1103343.248 465884.864 0, 1103647.153 465890.956 0, 1103951.058 465897.065 0, 1104254.963 465903.192 0, 1104558.868 465909.338 0, 1104862.772 465915.501 0,
+ 1105166.676 465921.682 0, 1105470.579 465927.88 0, 1105774.483 465934.097 0, 1106078.385 465940.332 0, 1106382.288 465946.584 0, 1106686.19 465952.855 0, 1106990.091 465959.143 0, 1107293.993 465965.449 0, 1107597.894 465971.773 0, 1107901.794 465978.115 0,
+ 1108205.694 465984.475 0, 1108509.594 465990.853 0, 1108813.493 465997.248 0, 1109117.392 466003.662 0, 1109419.838 466010.062 0, 1109725.189 466016.542 0, 1110029.087 466023.01 0, 1110332.985 466029.495 0, 1110636.882 466035.997 0, 1110940.779 466042.518 0,
+ 1111244.675 466049.057 0, 1111548.571 466055.614 0, 1111852.466 466062.188 0, 1112156.362 466068.78 0, 1112460.257 466075.391 0, 1112764.151 466082.019 0, 1113068.045 466088.665 0, 1113371.939 466095.329 0, 1113675.832 466102.01 0, 1113979.725 466108.71 0,
+ 1114283.617 466115.428 0, 1114587.509 466122.163 0, 1114891.401 466128.917 0, 1115195.292 466135.688 0, 1115499.183 466142.477 0, 1115803.073 466149.284 0, 1116106.964 466156.109 0, 1116410.853 466162.951 0, 1116713.291 466169.779 0, 1116838.828 460616.344 0,
+ 1116964.356 455063.334 0))
+
+POLYGON ((1131299.483 466520.121 0, 1130997.063 466512.438 0, 1130693.194 466504.737 0, 1130389.325 466497.054 0, 1130085.455 466489.388 0, 1129781.584 466481.74 0, 1129477.713 466474.111 0, 1129173.842 466466.499 0, 1128869.97 466458.905 0, 1128566.098 466451.329 0,
+ 1128262.225 466443.771 0, 1127958.352 466436.23 0, 1127654.478 466428.708 0, 1127350.604 466421.203 0, 1127046.73 466413.717 0, 1126742.855 466406.248 0, 1126438.979 466398.797 0, 1126135.104 466391.364 0, 1125831.227 466383.949 0, 1125527.351 466376.552 0,
+ 1125223.474 466369.172 0, 1124919.596 466361.811 0, 1124615.718 466354.467 0, 1124311.84 466347.141 0, 1124006.51 466339.799 0, 1123704.082 466332.544 0, 1123400.202 466325.272 0, 1123096.322 466318.018 0, 1122792.441 466310.781 0, 1122488.56 466303.563 0,
+ 1122184.679 466296.362 0, 1121880.797 466289.18 0, 1121576.915 466282.015 0, 1121273.032 466274.868 0, 1120969.149 466267.739 0, 1120665.266 466260.628 0, 1120361.382 466253.535 0, 1120057.497 466246.46 0, 1119753.613 466239.402 0, 1119449.727 466232.363 0,
+ 1119145.842 466225.341 0, 1118841.956 466218.338 0, 1118538.069 466211.352 0, 1118234.183 466204.384 0, 1117930.295 466197.434 0, 1117626.408 466190.501 0, 1117322.52 466183.587 0, 1117018.631 466176.691 0, 1116713.291 466169.779 0, 1116587.744 471723.639 0,
+ 1116462.188 477277.918 0, 1116766.871 477284.815 0, 1117070.106 477291.696 0, 1117373.34 477298.596 0, 1117676.574 477305.513 0, 1117979.807 477312.448 0, 1118283.04 477319.401 0, 1118586.273 477326.372 0, 1118889.505 477333.361 0, 1119192.737 477340.367 0,
+ 1119495.968 477347.392 0, 1119799.199 477354.434 0, 1120102.43 477361.494 0, 1120405.66 477368.572 0, 1120708.89 477375.668 0, 1121012.119 477382.781 0, 1121315.348 477389.913 0, 1121618.576 477397.062 0, 1121921.804 477404.229 0, 1122225.032 477411.414 0,
+ 1122528.259 477418.617 0, 1122831.486 477425.838 0, 1123134.712 477433.076 0, 1123437.938 477440.333 0, 1123739.716 477447.572 0, 1124044.389 477454.899 0, 1124347.613 477462.209 0, 1124650.837 477469.537 0, 1124954.061 477476.882 0, 1125257.285 477484.246 0,
+ 1125560.507 477491.627 0, 1125863.73 477499.026 0, 1126166.952 477506.443 0, 1126470.173 477513.878 0, 1126773.395 477521.331 0, 1127076.615 477528.801 0, 1127379.836 477536.29 0, 1127683.055 477543.796 0, 1127986.275 477551.32 0, 1128289.494 477558.862 0,
+ 1128592.712 477566.422 0, 1128895.93 477574 0, 1129199.148 477581.595 0, 1129502.365 477589.208 0, 1129805.582 477596.84 0, 1130108.798 477604.489 0, 1130412.014 477612.155 0, 1130715.229 477619.84 0, 1131016.998 477627.506 0, 1131158.246 472073.603 0,
+ 1131299.483 466520.121 0))
+
+POLYGON ((1145570.763 478018.212 0, 1145269.014 478009.694 0, 1144965.822 478001.152 0, 1144662.629 477992.629 0, 1144359.436 477984.123 0, 1144056.242 477975.635 0, 1143753.047 477967.165 0, 1143449.852 477958.713 0, 1143146.657 477950.279 0, 1142843.461 477941.863 0,
+ 1142540.264 477933.464 0, 1142237.068 477925.083 0, 1141933.87 477916.721 0, 1141630.672 477908.376 0, 1141327.474 477900.048 0, 1141024.275 477891.739 0, 1140721.076 477883.448 0, 1140417.876 477875.174 0, 1140114.675 477866.918 0, 1139811.475 477858.68 0,
+ 1139508.273 477850.46 0, 1139205.071 477842.258 0, 1138901.869 477834.073 0, 1138598.666 477825.907 0, 1138294.018 477817.719 0, 1137992.259 477809.627 0, 1137689.055 477801.514 0, 1137385.851 477793.419 0, 1137082.645 477785.342 0, 1136779.44 477777.282 0,
+ 1136476.234 477769.241 0, 1136173.027 477761.217 0, 1135869.82 477753.211 0, 1135566.613 477745.223 0, 1135263.405 477737.252 0, 1134960.196 477729.3 0, 1134656.987 477721.365 0, 1134353.778 477713.449 0, 1134050.568 477705.55 0, 1133747.358 477697.669 0,
+ 1133444.147 477689.806 0, 1133140.936 477681.96 0, 1132837.724 477674.133 0, 1132534.512 477666.323 0, 1132231.299 477658.531 0, 1131928.086 477650.757 0, 1131624.873 477643.001 0, 1131321.659 477635.263 0, 1131016.998 477627.506 0, 1130875.74 483181.826 0,
+ 1130734.471 488736.561 0, 1131038.474 488744.301 0, 1131341.035 488752.023 0, 1131643.594 488759.762 0, 1131946.154 488767.52 0, 1132248.712 488775.295 0, 1132551.271 488783.087 0, 1132853.828 488790.898 0, 1133156.386 488798.726 0, 1133458.943 488806.573 0,
+ 1133761.499 488814.437 0, 1134064.055 488822.318 0, 1134366.611 488830.218 0, 1134669.166 488838.136 0, 1134971.72 488846.071 0, 1135274.275 488854.024 0, 1135576.828 488861.995 0, 1135879.381 488869.983 0, 1136181.934 488877.99 0, 1136484.486 488886.014 0,
+ 1136787.038 488894.056 0, 1137089.59 488902.116 0, 1137392.14 488910.194 0, 1137694.691 488918.29 0, 1137995.799 488926.364 0, 1138299.79 488934.534 0, 1138602.339 488942.683 0, 1138904.887 488950.85 0, 1139207.435 488959.034 0, 1139509.983 488967.237 0,
+ 1139812.53 488975.457 0, 1140115.076 488983.695 0, 1140417.622 488991.951 0, 1140720.168 489000.224 0, 1141022.713 489008.516 0, 1141325.258 489016.825 0, 1141627.802 489025.152 0, 1141930.345 489033.497 0, 1142232.888 489041.859 0, 1142535.431 489050.24 0,
+ 1142837.973 489058.638 0, 1143140.515 489067.054 0, 1143443.056 489075.488 0, 1143745.596 489083.94 0, 1144048.137 489092.409 0, 1144350.676 489100.897 0, 1144653.215 489109.402 0, 1144955.754 489117.925 0, 1145256.852 489126.425 0, 1145413.813 483572.111 0,
+ 1145570.763 478018.212 0))
+
+POLYGON ((1159778.073 489557.315 0, 1159476.998 489547.964 0, 1159174.485 489538.587 0, 1158871.971 489529.227 0, 1158569.457 489519.885 0, 1158266.942 489510.561 0, 1157964.426 489501.254 0, 1157661.91 489491.966 0, 1157359.393 489482.695 0, 1157056.876 489473.442 0,
+ 1156754.358 489464.207 0, 1156451.84 489454.989 0, 1156149.321 489445.79 0, 1155846.802 489436.608 0, 1155544.282 489427.444 0, 1155241.762 489418.298 0, 1154939.241 489409.17 0, 1154636.719 489400.059 0, 1154334.197 489390.967 0, 1154031.675 489381.892 0,
+ 1153729.151 489372.835 0, 1153426.628 489363.795 0, 1153124.104 489354.774 0, 1152821.579 489345.77 0, 1152517.614 489336.742 0, 1152216.528 489327.816 0, 1151914.002 489318.866 0, 1151611.475 489309.933 0, 1151308.948 489301.019 0, 1151006.42 489292.122 0,
+ 1150703.891 489283.243 0, 1150401.362 489274.382 0, 1150098.833 489265.538 0, 1149796.303 489256.713 0, 1149493.773 489247.905 0, 1149191.242 489239.115 0, 1148888.71 489230.343 0, 1148586.178 489221.588 0, 1148283.646 489212.852 0, 1147981.112 489204.133 0,
+ 1147678.579 489195.432 0, 1147376.045 489186.749 0, 1147073.51 489178.083 0, 1146770.975 489169.436 0, 1146468.44 489160.806 0, 1146165.903 489152.194 0, 1145863.367 489143.6 0, 1145560.83 489135.024 0, 1145256.852 489126.425 0, 1145099.879 494681.149 0,
+ 1144942.894 500236.282 0, 1145246.215 500244.863 0, 1145548.098 500253.421 0, 1145849.981 500261.996 0, 1146151.863 500270.59 0, 1146453.745 500279.201 0, 1146755.626 500287.83 0, 1147057.507 500296.476 0, 1147359.387 500305.141 0, 1147661.267 500313.823 0,
+ 1147963.146 500322.523 0, 1148265.024 500331.241 0, 1148566.903 500339.976 0, 1148868.78 500348.729 0, 1149170.657 500357.5 0, 1149472.534 500366.289 0, 1149774.41 500375.096 0, 1150076.285 500383.92 0, 1150378.16 500392.762 0, 1150680.035 500401.622 0,
+ 1150981.909 500410.499 0, 1151283.782 500419.395 0, 1151585.655 500428.308 0, 1151887.528 500437.239 0, 1152187.963 500446.145 0, 1152491.271 500455.154 0, 1152793.142 500464.138 0, 1153095.012 500473.14 0, 1153396.882 500482.16 0, 1153698.751 500491.197 0,
+ 1154000.62 500500.253 0, 1154302.488 500509.326 0, 1154604.356 500518.417 0, 1154906.223 500527.525 0, 1155208.089 500536.652 0, 1155509.955 500545.796 0, 1155811.821 500554.958 0, 1156113.686 500564.137 0, 1156415.55 500573.335 0, 1156717.414 500582.55 0,
+ 1157019.277 500591.783 0, 1157321.14 500601.034 0, 1157623.002 500610.302 0, 1157924.864 500619.588 0, 1158226.725 500628.892 0, 1158528.586 500638.214 0, 1158830.446 500647.554 0, 1159132.305 500656.911 0, 1159432.729 500666.241 0, 1159605.407 495111.574 0,
+ 1159778.073 489557.315 0))
+
+POLYGON ((1173921.292 501137.135 0, 1173620.893 501126.956 0, 1173319.061 501116.746 0, 1173017.229 501106.553 0, 1172715.396 501096.379 0, 1172413.562 501086.222 0, 1172111.728 501076.083 0, 1171809.893 501065.962 0, 1171508.058 501055.858 0, 1171206.222 501045.773 0,
+ 1170904.385 501035.705 0, 1170602.548 501025.654 0, 1170300.71 501015.622 0, 1169998.872 501005.607 0, 1169697.033 500995.61 0, 1169395.193 500985.631 0, 1169093.353 500975.67 0, 1168791.512 500965.726 0, 1168489.671 500955.8 0, 1168187.829 500945.892 0,
+ 1167885.986 500936.002 0, 1167584.143 500926.129 0, 1167282.3 500916.275 0, 1166980.455 500906.438 0, 1166677.177 500896.572 0, 1166376.765 500886.817 0, 1166074.919 500877.033 0, 1165773.073 500867.267 0, 1165471.226 500857.519 0, 1165169.378 500847.789 0,
+ 1164867.53 500838.076 0, 1164565.681 500828.381 0, 1164263.831 500818.704 0, 1163961.981 500809.044 0, 1163660.131 500799.403 0, 1163358.28 500789.779 0, 1163056.428 500780.173 0, 1162754.576 500770.585 0, 1162452.723 500761.014 0, 1162150.87 500751.461 0,
+ 1161849.016 500741.926 0, 1161547.161 500732.409 0, 1161245.306 500722.91 0, 1160943.451 500713.428 0, 1160641.594 500703.964 0, 1160339.738 500694.518 0, 1160037.88 500685.09 0, 1159736.023 500675.679 0, 1159432.729 500666.241 0, 1159260.038 506221.314 0,
+ 1159087.335 511776.789 0, 1159389.971 511786.206 0, 1159691.175 511795.596 0, 1159992.379 511805.004 0, 1160293.581 511814.43 0, 1160594.784 511823.873 0, 1160895.985 511833.334 0, 1161197.186 511842.813 0, 1161498.387 511852.31 0, 1161799.587 511861.824 0,
+ 1162100.786 511871.356 0, 1162401.985 511880.906 0, 1162703.184 511890.474 0, 1163004.381 511900.059 0, 1163305.579 511909.662 0, 1163606.775 511919.282 0, 1163907.971 511928.921 0, 1164209.167 511938.577 0, 1164510.362 511948.251 0, 1164811.556 511957.943 0,
+ 1165112.75 511967.652 0, 1165413.943 511977.379 0, 1165715.136 511987.124 0, 1166016.328 511996.886 0, 1166316.088 512006.62 0, 1166618.71 512016.465 0, 1166919.9 512026.28 0, 1167221.09 512036.114 0, 1167522.279 512045.965 0, 1167823.468 512055.834 0,
+ 1168124.656 512065.72 0, 1168425.843 512075.625 0, 1168727.03 512085.547 0, 1169028.216 512095.487 0, 1169329.402 512105.444 0, 1169630.587 512115.419 0, 1169931.772 512125.412 0, 1170232.955 512135.423 0, 1170534.139 512145.451 0, 1170835.321 512155.498 0,
+ 1171136.504 512165.562 0, 1171437.685 512175.643 0, 1171738.866 512185.743 0, 1172040.046 512195.86 0, 1172341.226 512205.994 0, 1172642.405 512216.147 0, 1172943.584 512226.317 0, 1173244.762 512236.505 0, 1173544.51 512246.662 0, 1173732.908 506691.698 0,
+ 1173921.292 501137.135 0))
+
+POLYGON ((1188000.299 512757.378 0, 1187700.579 512746.374 0, 1187399.431 512735.335 0, 1187098.282 512724.314 0, 1186797.133 512713.311 0, 1186495.983 512702.325 0, 1186194.833 512691.357 0, 1185893.681 512680.407 0, 1185592.53 512669.475 0, 1185291.377 512658.56 0,
+ 1184990.224 512647.663 0, 1184689.07 512636.784 0, 1184387.916 512625.922 0, 1184086.761 512615.078 0, 1183785.605 512604.252 0, 1183484.449 512593.444 0, 1183183.292 512582.653 0, 1182882.134 512571.88 0, 1182580.976 512561.125 0, 1182279.817 512550.387 0,
+ 1181978.657 512539.668 0, 1181677.497 512528.965 0, 1181376.337 512518.281 0, 1181075.175 512507.615 0, 1180772.585 512496.915 0, 1180472.851 512486.335 0, 1180171.687 512475.721 0, 1179870.523 512465.125 0, 1179569.359 512454.548 0, 1179268.194 512443.987 0,
+ 1178967.028 512433.445 0, 1178665.862 512422.92 0, 1178364.695 512412.413 0, 1178063.527 512401.924 0, 1177762.359 512391.452 0, 1177461.19 512380.998 0, 1177160.02 512370.562 0, 1176858.85 512360.144 0, 1176557.68 512349.743 0, 1176256.508 512339.36 0,
+ 1175955.336 512328.995 0, 1175654.164 512318.647 0, 1175352.991 512308.317 0, 1175051.817 512298.005 0, 1174750.643 512287.711 0, 1174449.468 512277.434 0, 1174148.292 512267.175 0, 1173847.116 512256.934 0, 1173544.51 512246.662 0, 1173356.098 517802.026 0,
+ 1173167.674 523357.786 0, 1173469.623 523368.035 0, 1173770.145 523378.254 0, 1174070.667 523388.491 0, 1174371.188 523398.745 0, 1174671.708 523409.017 0, 1174972.228 523419.307 0, 1175272.747 523429.614 0, 1175573.265 523439.939 0, 1175873.783 523450.282 0,
+ 1176174.301 523460.642 0, 1176474.817 523471.02 0, 1176775.334 523481.416 0, 1177075.849 523491.83 0, 1177376.364 523502.261 0, 1177676.878 523512.71 0, 1177977.392 523523.176 0, 1178277.905 523533.661 0, 1178578.417 523544.162 0, 1178878.929 523554.682 0,
+ 1179179.44 523565.219 0, 1179479.951 523575.774 0, 1179780.461 523586.347 0, 1180080.97 523596.937 0, 1180380.054 523607.495 0, 1180681.987 523618.171 0, 1180982.494 523628.815 0, 1181283.001 523639.476 0, 1181583.507 523650.155 0, 1181884.013 523660.851 0,
+ 1182184.518 523671.565 0, 1182485.022 523682.297 0, 1182785.526 523693.047 0, 1183086.029 523703.814 0, 1183386.531 523714.599 0, 1183687.033 523725.401 0, 1183987.534 523736.222 0, 1184288.035 523747.06 0, 1184588.534 523757.915 0, 1184889.034 523768.789 0,
+ 1185189.532 523779.68 0, 1185490.03 523790.588 0, 1185790.527 523801.515 0, 1186091.024 523812.459 0, 1186391.52 523823.421 0, 1186692.015 523834.4 0, 1186992.51 523845.397 0, 1187293.004 523856.412 0, 1187592.074 523867.392 0, 1187796.194 518312.187 0,
+ 1188000.299 512757.378 0))
+
+POLYGON ((1202014.977 524417.749 0, 1201715.937 524405.924 0, 1201415.475 524394.06 0, 1201115.013 524382.214 0, 1200814.55 524370.385 0, 1200514.086 524358.575 0, 1200213.621 524346.782 0, 1199913.156 524335.006 0, 1199612.69 524323.249 0, 1199312.224 524311.509 0,
+ 1199011.756 524299.787 0, 1198711.288 524288.082 0, 1198410.82 524276.395 0, 1198110.35 524264.726 0, 1197809.88 524253.074 0, 1197509.409 524241.44 0, 1197208.938 524229.824 0, 1196908.466 524218.226 0, 1196607.993 524206.645 0, 1196307.52 524195.082 0,
+ 1196007.046 524183.536 0, 1195706.571 524172.009 0, 1195406.095 524160.499 0, 1195105.619 524149.006 0, 1194803.72 524137.477 0, 1194504.665 524126.075 0, 1194204.186 524114.635 0, 1193903.708 524103.214 0, 1193603.228 524091.81 0, 1193302.748 524080.423 0,
+ 1193002.267 524069.055 0, 1192701.785 524057.704 0, 1192401.303 524046.371 0, 1192100.82 524035.055 0, 1191800.337 524023.757 0, 1191499.853 524012.477 0, 1191199.368 524001.215 0, 1190898.882 523989.97 0, 1190598.396 523978.743 0, 1190297.909 523967.534 0,
+ 1189997.421 523956.342 0, 1189696.933 523945.168 0, 1189396.444 523934.011 0, 1189095.955 523922.873 0, 1188795.465 523911.752 0, 1188494.974 523900.649 0, 1188194.483 523889.563 0, 1187893.99 523878.495 0, 1187592.074 523867.392 0, 1187387.939 529422.99 0,
+ 1187183.79 534978.978 0, 1187485.05 534990.056 0, 1187784.888 535001.1 0, 1188084.726 535012.162 0, 1188384.562 535023.241 0, 1188684.399 535034.338 0, 1188984.234 535045.452 0, 1189284.069 535056.584 0, 1189583.903 535067.734 0, 1189883.737 535078.901 0,
+ 1190183.569 535090.086 0, 1190483.402 535101.289 0, 1190783.233 535112.509 0, 1191083.064 535123.747 0, 1191382.894 535135.003 0, 1191682.724 535146.276 0, 1191982.553 535157.567 0, 1192282.381 535168.875 0, 1192582.209 535180.201 0, 1192882.036 535191.545 0,
+ 1193181.862 535202.907 0, 1193481.687 535214.286 0, 1193781.512 535225.683 0, 1194081.337 535237.097 0, 1194379.74 535248.475 0, 1194680.983 535259.979 0, 1194980.805 535271.446 0, 1195280.627 535282.931 0, 1195580.448 535294.434 0, 1195880.268 535305.954 0,
+ 1196180.087 535317.492 0, 1196479.906 535329.048 0, 1196779.724 535340.621 0, 1197079.542 535352.212 0, 1197379.358 535363.82 0, 1197679.175 535375.446 0, 1197978.99 535387.09 0, 1198278.805 535398.752 0, 1198578.619 535410.431 0, 1198878.432 535422.128 0,
+ 1199178.245 535433.842 0, 1199478.057 535445.574 0, 1199777.868 535457.324 0, 1200077.679 535469.091 0, 1200377.488 535480.876 0, 1200677.298 535492.679 0, 1200977.106 535504.499 0, 1201276.914 535516.337 0, 1201575.303 535528.137 0, 1201795.147 529972.748 0,
+ 1202014.977 524417.749 0))
+
+POLYGON ((1215965.206 536117.952 0, 1215666.849 536105.309 0, 1215367.076 536092.624 0, 1215067.302 536079.957 0, 1214767.528 536067.307 0, 1214467.752 536054.675 0, 1214167.976 536042.061 0, 1213868.199 536029.464 0, 1213568.422 536016.885 0, 1213268.643 536004.324 0,
+ 1212968.864 535991.78 0, 1212669.084 535979.254 0, 1212369.304 535966.746 0, 1212069.522 535954.255 0, 1211769.74 535941.782 0, 1211469.958 535929.326 0, 1211170.174 535916.888 0, 1210870.39 535904.468 0, 1210570.605 535892.065 0, 1210270.819 535879.68 0,
+ 1209971.033 535867.313 0, 1209671.246 535854.963 0, 1209371.458 535842.631 0, 1209071.669 535830.317 0, 1208770.463 535817.962 0, 1208472.09 535805.741 0, 1208172.299 535793.48 0, 1207872.507 535781.236 0, 1207572.715 535769.01 0, 1207272.922 535756.801 0,
+ 1206973.129 535744.611 0, 1206673.334 535732.437 0, 1206373.539 535720.282 0, 1206073.743 535708.144 0, 1205773.947 535696.024 0, 1205474.149 535683.921 0, 1205174.352 535671.836 0, 1204874.553 535659.769 0, 1204574.754 535647.719 0, 1204274.953 535635.687 0,
+ 1203975.153 535623.673 0, 1203675.351 535611.676 0, 1203375.549 535599.697 0, 1203075.746 535587.735 0, 1202775.942 535575.791 0, 1202476.138 535563.865 0, 1202176.333 535551.957 0, 1201876.527 535540.066 0, 1201575.303 535528.137 0, 1201355.443 541083.912 0,
+ 1201135.568 546640.07 0, 1201436.135 546651.974 0, 1201735.287 546663.839 0, 1202034.438 546675.721 0, 1202333.588 546687.621 0, 1202632.738 546699.539 0, 1202931.887 546711.474 0, 1203231.035 546723.427 0, 1203530.182 546735.398 0, 1203829.329 546747.386 0,
+ 1204128.475 546759.392 0, 1204427.62 546771.415 0, 1204726.765 546783.456 0, 1205025.909 546795.515 0, 1205325.052 546807.591 0, 1205624.195 546819.685 0, 1205923.337 546831.796 0, 1206222.478 546843.925 0, 1206521.618 546856.072 0, 1206820.758 546868.236 0,
+ 1207119.897 546880.418 0, 1207419.035 546892.618 0, 1207718.172 546904.835 0, 1208017.309 546917.069 0, 1208315.031 546929.264 0, 1208615.581 546941.592 0, 1208914.715 546953.879 0, 1209213.849 546966.184 0, 1209512.982 546978.507 0, 1209812.115 546990.847 0,
+ 1210111.247 547003.205 0, 1210410.378 547015.581 0, 1210709.508 547027.974 0, 1211008.637 547040.385 0, 1211307.766 547052.813 0, 1211606.894 547065.259 0, 1211906.022 547077.723 0, 1212205.148 547090.204 0, 1212504.274 547102.702 0, 1212803.399 547115.219 0,
+ 1213102.524 547127.753 0, 1213401.647 547140.304 0, 1213700.77 547152.874 0, 1213999.892 547165.46 0, 1214299.014 547178.065 0, 1214598.135 547190.687 0, 1214897.254 547203.326 0, 1215196.374 547215.984 0, 1215494.079 547228.599 0, 1215729.651 541673.083 0,
+ 1215965.206 536117.952 0))
+
+POLYGON ((1229850.871 547857.69 0, 1229553.2 547844.234 0, 1229254.118 547830.732 0, 1228955.035 547817.247 0, 1228655.951 547803.78 0, 1228356.866 547790.331 0, 1228057.781 547776.899 0, 1227758.695 547763.485 0, 1227459.608 547750.088 0, 1227160.52 547736.709 0,
+ 1226861.431 547723.347 0, 1226562.342 547710.004 0, 1226263.252 547696.677 0, 1225964.161 547683.369 0, 1225665.069 547670.078 0, 1225365.977 547656.804 0, 1225066.883 547643.549 0, 1224767.789 547630.311 0, 1224468.694 547617.09 0, 1224169.599 547603.887 0,
+ 1223870.502 547590.702 0, 1223571.405 547577.534 0, 1223272.307 547564.384 0, 1222973.208 547551.251 0, 1222672.697 547538.074 0, 1222375.009 547525.039 0, 1222075.908 547511.959 0, 1221776.806 547498.897 0, 1221477.703 547485.852 0, 1221178.6 547472.825 0,
+ 1220879.496 547459.816 0, 1220580.391 547446.824 0, 1220281.285 547433.85 0, 1219982.179 547420.894 0, 1219683.072 547407.955 0, 1219383.964 547395.033 0, 1219084.855 547382.13 0, 1218785.746 547369.244 0, 1218486.636 547356.375 0, 1218187.525 547343.524 0,
+ 1217888.413 547330.691 0, 1217589.3 547317.875 0, 1217290.187 547305.077 0, 1216991.073 547292.297 0, 1216691.959 547279.534 0, 1216392.843 547266.789 0, 1216093.727 547254.061 0, 1215794.61 547241.351 0, 1215494.079 547228.599 0, 1215258.492 552784.494 0,
+ 1215022.888 558340.767 0, 1215322.762 558353.491 0, 1215621.225 558366.173 0, 1215919.687 558378.873 0, 1216218.148 558391.591 0, 1216516.609 558404.326 0, 1216815.069 558417.078 0, 1217113.528 558429.848 0, 1217411.986 558442.636 0, 1217710.444 558455.441 0,
+ 1218008.901 558468.264 0, 1218307.357 558481.104 0, 1218605.813 558493.962 0, 1218904.267 558506.838 0, 1219202.721 558519.731 0, 1219501.174 558532.641 0, 1219799.627 558545.57 0, 1220098.078 558558.515 0, 1220396.529 558571.479 0, 1220694.979 558584.459 0,
+ 1220993.429 558597.458 0, 1221291.877 558610.474 0, 1221590.325 558623.508 0, 1221888.772 558636.559 0, 1222185.81 558649.566 0, 1222485.664 558662.714 0, 1222784.109 558675.818 0, 1223082.553 558688.939 0, 1223380.996 558702.078 0, 1223679.438 558715.234 0,
+ 1223977.88 558728.409 0, 1224276.321 558741.6 0, 1224574.761 558754.809 0, 1224873.2 558768.036 0, 1225171.638 558781.281 0, 1225470.076 558794.543 0, 1225768.513 558807.822 0, 1226066.949 558821.119 0, 1226365.385 558834.434 0, 1226663.819 558847.766 0,
+ 1226962.253 558861.116 0, 1227260.686 558874.483 0, 1227559.118 558887.868 0, 1227857.55 558901.27 0, 1228155.981 558914.69 0, 1228454.41 558928.128 0, 1228752.84 558941.583 0, 1229051.268 558955.056 0, 1229348.288 558968.483 0, 1229599.588 553412.898 0,
+ 1229850.871 547857.69 0))
+
+POLYGON ((1243671.857 559636.668 0, 1243374.874 559622.402 0, 1243076.485 559608.086 0, 1242778.095 559593.788 0, 1242479.704 559579.507 0, 1242181.313 559565.244 0, 1241882.92 559550.999 0, 1241584.527 559536.771 0, 1241286.133 559522.56 0, 1240987.738 559508.367 0,
+ 1240689.342 559494.192 0, 1240390.946 559480.034 0, 1240092.548 559465.894 0, 1239794.15 559451.772 0, 1239495.751 559437.667 0, 1239197.351 559423.579 0, 1238898.95 559409.509 0, 1238600.549 559395.457 0, 1238302.146 559381.422 0, 1238003.743 559367.405 0,
+ 1237705.339 559353.405 0, 1237406.934 559339.423 0, 1237108.529 559325.459 0, 1236810.122 559311.512 0, 1236510.309 559297.517 0, 1236213.307 559283.671 0, 1235914.898 559269.776 0, 1235616.488 559255.9 0, 1235318.077 559242.04 0, 1235019.666 559228.199 0,
+ 1234721.254 559214.375 0, 1234422.84 559200.568 0, 1234124.427 559186.78 0, 1233826.012 559173.008 0, 1233527.596 559159.254 0, 1233229.18 559145.518 0, 1232930.763 559131.8 0, 1232632.345 559118.099 0, 1232333.926 559104.415 0, 1232035.507 559090.749 0,
+ 1231737.087 559077.101 0, 1231438.666 559063.47 0, 1231140.244 559049.857 0, 1230841.821 559036.261 0, 1230543.397 559022.683 0, 1230244.973 559009.122 0, 1229946.548 558995.579 0, 1229648.122 558982.054 0, 1229348.288 558968.483 0, 1229096.971 564524.441 0,
+ 1228845.637 570080.771 0, 1229144.814 570094.313 0, 1229442.586 570107.808 0, 1229740.357 570121.322 0, 1230038.127 570134.852 0, 1230335.897 570148.401 0, 1230633.666 570161.967 0, 1230931.433 570175.55 0, 1231229.201 570189.151 0, 1231526.967 570202.769 0,
+ 1231824.732 570216.405 0, 1232122.497 570230.059 0, 1232420.261 570243.73 0, 1232718.024 570257.418 0, 1233015.786 570271.125 0, 1233313.548 570284.848 0, 1233611.308 570298.589 0, 1233909.068 570312.348 0, 1234206.827 570326.124 0, 1234504.585 570339.918 0,
+ 1234802.343 570353.729 0, 1235100.099 570367.558 0, 1235397.855 570381.404 0, 1235695.61 570395.268 0, 1235991.961 570409.084 0, 1236291.118 570423.048 0, 1236588.87 570436.965 0, 1236886.622 570450.898 0, 1237184.373 570464.85 0, 1237482.123 570478.819 0,
+ 1237779.872 570492.805 0, 1238077.62 570506.809 0, 1238375.368 570520.831 0, 1238673.115 570534.87 0, 1238970.861 570548.927 0, 1239268.606 570563.001 0, 1239566.35 570577.092 0, 1239864.093 570591.201 0, 1240161.836 570605.328 0, 1240459.578 570619.472 0,
+ 1240757.319 570633.634 0, 1241055.059 570647.813 0, 1241352.798 570662.01 0, 1241650.536 570676.224 0, 1241948.274 570690.456 0, 1242246.011 570704.706 0, 1242543.747 570718.973 0, 1242841.482 570733.257 0, 1243137.814 570747.491 0, 1243404.845 565191.894 0,
+ 1243671.857 559636.668 0))
+
+POLYGON ((1257428.051 571454.588 0, 1257131.757 571439.516 0, 1256834.064 571424.39 0, 1256536.369 571409.282 0, 1256238.674 571394.192 0, 1255940.978 571379.119 0, 1255643.281 571364.063 0, 1255345.583 571349.026 0, 1255047.884 571334.005 0, 1254750.184 571319.002 0,
+ 1254452.484 571304.017 0, 1254154.782 571289.049 0, 1253857.08 571274.099 0, 1253559.376 571259.166 0, 1253261.672 571244.251 0, 1252963.967 571229.353 0, 1252666.261 571214.473 0, 1252368.555 571199.61 0, 1252070.847 571184.765 0, 1251773.138 571169.938 0,
+ 1251475.429 571155.127 0, 1251177.719 571140.335 0, 1250880.008 571125.56 0, 1250582.296 571110.802 0, 1250283.182 571095.993 0, 1249986.869 571081.34 0, 1249689.154 571066.635 0, 1249391.439 571051.947 0, 1249093.723 571037.277 0, 1248796.005 571022.625 0,
+ 1248498.287 571007.99 0, 1248200.568 570993.373 0, 1247902.849 570978.773 0, 1247605.128 570964.191 0, 1247307.406 570949.626 0, 1247009.684 570935.079 0, 1246711.961 570920.549 0, 1246414.237 570906.037 0, 1246116.512 570891.542 0, 1245818.786 570877.065 0,
+ 1245521.06 570862.605 0, 1245223.332 570848.163 0, 1244925.604 570833.738 0, 1244627.875 570819.331 0, 1244330.145 570804.942 0, 1244032.414 570790.57 0, 1243734.682 570776.215 0, 1243436.949 570761.878 0, 1243137.814 570747.491 0, 1242870.766 576303.456 0,
+ 1242603.701 581859.785 0, 1242902.179 581874.141 0, 1243199.257 581888.446 0, 1243496.335 581902.769 0, 1243793.412 581917.11 0, 1244090.488 581931.467 0, 1244387.563 581945.843 0, 1244684.637 581960.236 0, 1244981.711 581974.646 0, 1245278.783 581989.074 0,
+ 1245575.855 582003.519 0, 1245872.926 582017.982 0, 1246169.996 582032.463 0, 1246467.065 582046.96 0, 1246764.133 582061.476 0, 1247061.201 582076.009 0, 1247358.267 582090.559 0, 1247655.333 582105.127 0, 1247952.398 582119.712 0, 1248249.462 582134.315 0,
+ 1248546.525 582148.935 0, 1248843.588 582163.572 0, 1249140.649 582178.228 0, 1249437.71 582192.9 0, 1249733.372 582207.521 0, 1250031.828 582222.298 0, 1250328.886 582237.023 0, 1250625.943 582251.766 0, 1250923 582266.526 0, 1251220.055 582281.303 0,
+ 1251517.11 582296.098 0, 1251814.163 582310.911 0, 1252111.216 582325.741 0, 1252408.268 582340.589 0, 1252705.319 582355.454 0, 1253002.369 582370.336 0, 1253299.418 582385.236 0, 1253596.467 582400.153 0, 1253893.514 582415.088 0, 1254190.561 582430.041 0,
+ 1254487.607 582445.011 0, 1254784.652 582459.998 0, 1255081.696 582475.003 0, 1255378.739 582490.025 0, 1255675.781 582505.065 0, 1255972.822 582520.122 0, 1256269.863 582535.197 0, 1256566.902 582550.289 0, 1256862.545 582565.328 0, 1257145.307 577009.776 0,
+ 1257428.051 571454.588 0))
+
+POLYGON ((1271119.339 583311.152 0, 1270823.738 583295.278 0, 1270526.742 583279.346 0, 1270229.745 583263.433 0, 1269932.748 583247.536 0, 1269635.749 583231.657 0, 1269338.75 583215.796 0, 1269041.749 583199.952 0, 1268744.748 583184.125 0, 1268447.746 583168.316 0,
+ 1268150.742 583152.525 0, 1267853.738 583136.75 0, 1267556.733 583120.994 0, 1267259.727 583105.255 0, 1266962.72 583089.533 0, 1266665.712 583073.829 0, 1266368.704 583058.142 0, 1266071.694 583042.473 0, 1265774.683 583026.821 0, 1265477.672 583011.187 0,
+ 1265180.659 582995.57 0, 1264883.646 582979.971 0, 1264586.632 582964.389 0, 1264289.616 582948.825 0, 1263991.205 582933.205 0, 1263695.583 582917.749 0, 1263398.565 582902.237 0, 1263101.546 582886.743 0, 1262804.527 582871.266 0, 1262507.506 582855.806 0,
+ 1262210.484 582840.364 0, 1261913.462 582824.94 0, 1261616.438 582809.533 0, 1261319.414 582794.144 0, 1261022.389 582778.772 0, 1260725.363 582763.417 0, 1260428.336 582748.08 0, 1260131.308 582732.76 0, 1259834.279 582717.458 0, 1259537.249 582702.174 0,
+ 1259240.218 582686.907 0, 1258943.187 582671.657 0, 1258646.155 582656.425 0, 1258349.121 582641.21 0, 1258052.087 582626.013 0, 1257755.052 582610.833 0, 1257458.016 582595.671 0, 1257160.979 582580.526 0, 1256862.545 582565.328 0, 1256579.764 588121.242 0,
+ 1256296.966 593677.513 0, 1256594.743 593692.678 0, 1256891.125 593707.789 0, 1257187.507 593722.918 0, 1257483.888 593738.064 0, 1257780.269 593753.228 0, 1258076.648 593768.409 0, 1258373.026 593783.608 0, 1258669.404 593798.824 0, 1258965.781 593814.057 0,
+ 1259262.156 593829.308 0, 1259558.531 593844.577 0, 1259854.905 593859.863 0, 1260151.278 593875.166 0, 1260447.65 593890.487 0, 1260744.021 593905.825 0, 1261040.392 593921.18 0, 1261336.761 593936.553 0, 1261633.13 593951.944 0, 1261929.497 593967.352 0,
+ 1262225.864 593982.777 0, 1262522.23 593998.22 0, 1262818.595 594013.68 0, 1263114.958 594029.158 0, 1263409.93 594044.58 0, 1263707.684 594060.166 0, 1264004.045 594075.696 0, 1264300.405 594091.243 0, 1264596.765 594106.808 0, 1264893.123 594122.39 0,
+ 1265189.481 594137.99 0, 1265485.837 594153.608 0, 1265782.193 594169.242 0, 1266078.548 594184.894 0, 1266374.902 594200.564 0, 1266671.255 594216.251 0, 1266967.607 594231.955 0, 1267263.958 594247.677 0, 1267560.308 594263.417 0, 1267856.657 594279.173 0,
+ 1268153.006 594294.948 0, 1268449.353 594310.739 0, 1268745.699 594326.548 0, 1269042.045 594342.375 0, 1269338.39 594358.219 0, 1269634.733 594374.08 0, 1269931.076 594389.959 0, 1270227.418 594405.856 0, 1270522.368 594421.695 0, 1270820.863 588866.244 0,
+ 1271119.339 583311.152 0))
+
+POLYGON ((1284745.611 595206.063 0, 1284450.705 595189.39 0, 1284154.409 595172.657 0, 1283858.112 595155.941 0, 1283561.815 595139.242 0, 1283265.516 595122.561 0, 1282969.216 595105.897 0, 1282672.916 595089.251 0, 1282376.614 595072.622 0, 1282080.311 595056.011 0,
+ 1281784.008 595039.417 0, 1281487.703 595022.84 0, 1281191.398 595006.281 0, 1280895.091 594989.739 0, 1280598.784 594973.215 0, 1280302.475 594956.708 0, 1280006.166 594940.219 0, 1279709.856 594923.747 0, 1279413.544 594907.293 0, 1279117.232 594890.856 0,
+ 1278820.919 594874.436 0, 1278524.605 594858.034 0, 1278228.289 594841.649 0, 1277931.973 594825.282 0, 1277634.267 594808.856 0, 1277339.338 594792.6 0, 1277043.019 594776.285 0, 1276746.699 594759.988 0, 1276450.378 594743.708 0, 1276154.056 594727.445 0,
+ 1275857.733 594711.2 0, 1275561.409 594694.972 0, 1275265.084 594678.762 0, 1274968.759 594662.569 0, 1274672.432 594646.394 0, 1274376.104 594630.236 0, 1274079.776 594614.095 0, 1273783.446 594597.972 0, 1273487.116 594581.866 0, 1273190.784 594565.778 0,
+ 1272894.452 594549.708 0, 1272598.118 594533.654 0, 1272301.784 594517.618 0, 1272005.449 594501.6 0, 1271709.113 594485.599 0, 1271412.776 594469.615 0, 1271116.438 594453.649 0, 1270820.099 594437.701 0, 1270522.368 594421.695 0, 1270223.854 599977.5 0,
+ 1269925.321 605533.656 0, 1270222.394 605549.627 0, 1270518.079 605565.54 0, 1270813.763 605581.471 0, 1271109.446 605597.419 0, 1271405.129 605613.385 0, 1271700.81 605629.368 0, 1271996.49 605645.369 0, 1272292.169 605661.386 0, 1272587.848 605677.422 0,
+ 1272883.525 605693.474 0, 1273179.202 605709.544 0, 1273474.877 605725.632 0, 1273770.552 605741.737 0, 1274066.226 605757.859 0, 1274361.898 605773.999 0, 1274657.57 605790.156 0, 1274953.241 605806.33 0, 1275248.911 605822.522 0, 1275544.58 605838.732 0,
+ 1275840.247 605854.958 0, 1276135.914 605871.202 0, 1276431.581 605887.464 0, 1276727.246 605903.743 0, 1277021.523 605919.963 0, 1277318.573 605936.353 0, 1277614.235 605952.684 0, 1277909.896 605969.033 0, 1278205.557 605985.399 0, 1278501.216 606001.782 0,
+ 1278796.874 606018.183 0, 1279092.532 606034.601 0, 1279388.188 606051.036 0, 1279683.843 606067.489 0, 1279979.498 606083.959 0, 1280275.151 606100.447 0, 1280570.804 606116.952 0, 1280866.455 606133.475 0, 1281162.106 606150.015 0, 1281457.756 606166.572 0,
+ 1281753.404 606183.147 0, 1282049.052 606199.739 0, 1282344.699 606216.349 0, 1282640.344 606232.976 0, 1282935.989 606249.62 0, 1283231.633 606266.282 0, 1283527.276 606282.961 0, 1283822.917 606299.657 0, 1284117.173 606316.293 0, 1284431.402 600761.002 0,
+ 1284745.611 595206.063 0))
+
+POLYGON ((1298306.758 607139.021 0, 1298012.548 607121.554 0, 1297716.954 607104.023 0, 1297421.36 607086.508 0, 1297125.764 607069.011 0, 1296830.168 607051.532 0, 1296534.57 607034.07 0, 1296238.972 607016.625 0, 1295943.372 606999.198 0, 1295647.772 606981.788 0,
+ 1295352.17 606964.395 0, 1295056.567 606947.02 0, 1294760.963 606929.662 0, 1294465.359 606912.322 0, 1294169.753 606894.999 0, 1293874.146 606877.693 0, 1293578.538 606860.405 0, 1293282.93 606843.134 0, 1292987.32 606825.881 0, 1292691.709 606808.645 0,
+ 1292396.097 606791.427 0, 1292100.484 606774.225 0, 1291804.87 606757.042 0, 1291509.256 606739.875 0, 1291212.256 606722.646 0, 1290918.023 606705.595 0, 1290622.405 606688.481 0, 1290326.786 606671.384 0, 1290031.166 606654.305 0, 1289735.545 606637.243 0,
+ 1289439.923 606620.198 0, 1289144.3 606603.171 0, 1288848.676 606586.161 0, 1288553.051 606569.169 0, 1288257.426 606552.194 0, 1287961.799 606535.236 0, 1287666.171 606518.296 0, 1287370.542 606501.373 0, 1287074.912 606484.468 0, 1286779.281 606467.58 0,
+ 1286483.649 606450.709 0, 1286188.016 606433.856 0, 1285892.382 606417.02 0, 1285596.747 606400.202 0, 1285301.112 606383.401 0, 1285005.475 606366.618 0, 1284709.837 606349.851 0, 1284414.198 606333.103 0, 1284117.173 606316.293 0, 1283802.924 611871.932 0,
+ 1283488.656 617427.916 0, 1283785.024 617444.689 0, 1284080.009 617461.4 0, 1284374.993 617478.129 0, 1284669.976 617494.876 0, 1284964.957 617511.639 0, 1285259.938 617528.421 0, 1285554.918 617545.219 0, 1285849.897 617562.035 0, 1286144.875 617578.868 0,
+ 1286439.852 617595.719 0, 1286734.828 617612.587 0, 1287029.803 617629.472 0, 1287324.777 617646.375 0, 1287619.75 617663.295 0, 1287914.722 617680.232 0, 1288209.693 617697.187 0, 1288504.663 617714.159 0, 1288799.632 617731.149 0, 1289094.6 617748.156 0,
+ 1289389.566 617765.18 0, 1289684.532 617782.221 0, 1289979.497 617799.28 0, 1290274.461 617816.357 0, 1290568.044 617833.37 0, 1290864.386 617850.561 0, 1291159.347 617867.69 0, 1291454.307 617884.835 0, 1291749.266 617901.998 0, 1292044.224 617919.179 0,
+ 1292339.181 617936.377 0, 1292634.137 617953.592 0, 1292929.091 617970.824 0, 1293224.045 617988.074 0, 1293518.998 618005.342 0, 1293813.95 618022.626 0, 1294108.901 618039.928 0, 1294403.85 618057.248 0, 1294698.799 618074.584 0, 1294993.747 618091.938 0,
+ 1295288.694 618109.31 0, 1295583.639 618126.699 0, 1295878.584 618144.105 0, 1296173.528 618161.528 0, 1296468.47 618178.969 0, 1296763.412 618196.427 0, 1297058.352 618213.903 0, 1297353.292 618231.396 0, 1297646.851 618248.824 0, 1297976.815 612693.75 0,
+ 1298306.758 607139.021 0))
+
+POLYGON ((1311802.67 619109.729 0, 1311509.159 619091.471 0, 1311214.27 619073.145 0, 1310919.38 619054.836 0, 1310624.489 619036.545 0, 1310329.597 619018.27 0, 1310034.704 619000.014 0, 1309739.809 618981.774 0, 1309444.914 618963.552 0, 1309150.017 618945.348 0,
+ 1308855.12 618927.161 0, 1308560.221 618908.991 0, 1308265.322 618890.838 0, 1307970.421 618872.703 0, 1307675.519 618854.585 0, 1307380.616 618836.484 0, 1307085.712 618818.401 0, 1306790.807 618800.336 0, 1306495.901 618782.287 0, 1306200.994 618764.256 0,
+ 1305906.086 618746.242 0, 1305611.177 618728.246 0, 1305316.266 618710.267 0, 1305021.355 618692.305 0, 1304725.064 618674.277 0, 1304431.529 618656.434 0, 1304136.615 618638.525 0, 1303841.699 618620.632 0, 1303546.782 618602.758 0, 1303251.865 618584.9 0,
+ 1302956.946 618567.06 0, 1302662.026 618549.237 0, 1302367.105 618531.432 0, 1302072.184 618513.644 0, 1301777.261 618495.873 0, 1301482.337 618478.12 0, 1301187.412 618460.384 0, 1300892.486 618442.665 0, 1300597.559 618424.964 0, 1300302.63 618407.28 0,
+ 1300007.701 618389.614 0, 1299712.771 618371.964 0, 1299417.84 618354.333 0, 1299122.907 618336.718 0, 1298827.974 618319.121 0, 1298533.04 618301.541 0, 1298238.104 618283.979 0, 1297943.168 618266.434 0, 1297646.851 618248.824 0, 1297316.867 623804.24 0,
+ 1296986.863 629359.994 0, 1297282.523 629377.564 0, 1297576.805 629395.07 0, 1297871.087 629412.594 0, 1298165.367 629430.135 0, 1298459.647 629447.693 0, 1298753.925 629465.268 0, 1299048.202 629482.861 0, 1299342.479 629500.471 0, 1299636.754 629518.098 0,
+ 1299931.028 629535.743 0, 1300225.301 629553.405 0, 1300519.573 629571.084 0, 1300813.844 629588.781 0, 1301108.114 629606.495 0, 1301402.383 629624.226 0, 1301696.651 629641.975 0, 1301990.918 629659.741 0, 1302285.184 629677.524 0, 1302579.449 629695.324 0,
+ 1302873.712 629713.142 0, 1303167.975 629730.978 0, 1303462.237 629748.83 0, 1303756.497 629766.7 0, 1304049.382 629784.503 0, 1304345.015 629802.492 0, 1304639.273 629820.413 0, 1304933.529 629838.352 0, 1305227.784 629856.309 0, 1305522.039 629874.283 0,
+ 1305816.292 629892.274 0, 1306110.544 629910.282 0, 1306404.795 629928.308 0, 1306699.045 629946.351 0, 1306993.294 629964.411 0, 1307287.542 629982.489 0, 1307581.789 630000.584 0, 1307876.035 630018.696 0, 1308170.279 630036.826 0, 1308464.523 630054.973 0,
+ 1308758.766 630073.137 0, 1309053.007 630091.319 0, 1309347.248 630109.518 0, 1309641.487 630127.734 0, 1309935.725 630145.967 0, 1310229.962 630164.218 0, 1310524.198 630182.486 0, 1310818.434 630200.772 0, 1311111.294 630218.989 0, 1311456.992 624664.19 0,
+ 1311802.67 619109.729 0))
+
+POLYGON ((1325233.241 631117.885 0, 1324940.431 631098.841 0, 1324646.249 631079.724 0, 1324352.066 631060.625 0, 1324057.881 631041.542 0, 1323763.696 631022.478 0, 1323469.509 631003.43 0, 1323175.321 630984.4 0, 1322881.132 630965.387 0, 1322586.942 630946.392 0,
+ 1322292.751 630927.414 0, 1321998.559 630908.453 0, 1321704.365 630889.509 0, 1321410.171 630870.583 0, 1321115.975 630851.674 0, 1320821.778 630832.783 0, 1320527.58 630813.908 0, 1320233.381 630795.051 0, 1319939.181 630776.212 0, 1319644.98 630757.389 0,
+ 1319350.778 630738.584 0, 1319056.574 630719.797 0, 1318762.37 630701.026 0, 1318468.164 630682.273 0, 1318172.585 630663.45 0, 1317879.75 630644.819 0, 1317585.541 630626.118 0, 1317291.331 630607.434 0, 1316997.119 630588.768 0, 1316702.907 630570.119 0,
+ 1316408.694 630551.487 0, 1316114.479 630532.872 0, 1315820.264 630514.275 0, 1315526.047 630495.695 0, 1315231.83 630477.132 0, 1314937.611 630458.587 0, 1314643.391 630440.059 0, 1314349.17 630421.549 0, 1314054.948 630403.055 0, 1313760.725 630384.579 0,
+ 1313466.5 630366.121 0, 1313172.275 630347.679 0, 1312878.049 630329.255 0, 1312583.821 630310.849 0, 1312289.593 630292.459 0, 1311995.363 630274.087 0, 1311701.132 630255.732 0, 1311406.9 630237.395 0, 1311111.294 630218.989 0, 1310765.574 635774.124 0,
+ 1310419.834 641329.59 0, 1310714.784 641347.955 0, 1311008.362 641366.251 0, 1311301.938 641384.565 0, 1311595.514 641402.897 0, 1311889.089 641421.245 0, 1312182.662 641439.611 0, 1312476.235 641457.994 0, 1312769.806 641476.394 0, 1313063.377 641494.812 0,
+ 1313356.946 641513.247 0, 1313650.514 641531.699 0, 1313944.081 641550.169 0, 1314237.647 641568.655 0, 1314531.212 641587.159 0, 1314824.776 641605.681 0, 1315118.338 641624.219 0, 1315411.9 641642.775 0, 1315705.46 641661.348 0, 1315999.02 641679.939 0,
+ 1316292.578 641698.547 0, 1316586.135 641717.172 0, 1316879.692 641735.814 0, 1317173.247 641754.473 0, 1317465.431 641773.063 0, 1317760.353 641791.844 0, 1318053.905 641810.556 0, 1318347.456 641829.284 0, 1318641.005 641848.03 0, 1318934.554 641866.794 0,
+ 1319228.101 641885.574 0, 1319521.647 641904.372 0, 1319815.192 641923.187 0, 1320108.736 641942.019 0, 1320402.279 641960.869 0, 1320695.821 641979.736 0, 1320989.362 641998.62 0, 1321282.901 642017.521 0, 1321576.44 642036.44 0, 1321869.977 642055.376 0,
+ 1322163.513 642074.329 0, 1322457.048 642093.3 0, 1322750.582 642112.288 0, 1323044.115 642131.293 0, 1323337.647 642150.315 0, 1323631.178 642169.355 0, 1323924.707 642188.412 0, 1324218.236 642207.486 0, 1324510.395 642226.488 0, 1324871.829 636672.021 0,
+ 1325233.241 631117.885 0))
+
+POLYGON ((1338598.365 643163.191 0, 1338306.259 643143.363 0, 1338012.785 643123.46 0, 1337719.311 643103.574 0, 1337425.835 643083.705 0, 1337132.358 643063.853 0, 1336838.88 643044.019 0, 1336545.401 643024.202 0, 1336251.921 643004.402 0, 1335958.439 642984.62 0,
+ 1335664.957 642964.855 0, 1335371.473 642945.107 0, 1335077.988 642925.376 0, 1334784.502 642905.663 0, 1334491.014 642885.967 0, 1334197.526 642866.288 0, 1333904.036 642846.626 0, 1333610.545 642826.982 0, 1333317.054 642807.355 0, 1333023.56 642787.745 0,
+ 1332730.066 642768.153 0, 1332436.571 642748.577 0, 1332143.074 642729.02 0, 1331849.577 642709.479 0, 1331554.711 642689.865 0, 1331262.578 642670.449 0, 1330969.077 642650.961 0, 1330675.574 642631.489 0, 1330382.071 642612.035 0, 1330088.566 642592.598 0,
+ 1329795.06 642573.178 0, 1329501.554 642553.776 0, 1329208.046 642534.39 0, 1328914.536 642515.023 0, 1328621.026 642495.672 0, 1328327.515 642476.339 0, 1328034.002 642457.023 0, 1327740.488 642437.724 0, 1327446.974 642418.442 0, 1327153.458 642399.178 0,
+ 1326859.94 642379.931 0, 1326566.422 642360.701 0, 1326272.903 642341.489 0, 1325979.382 642322.294 0, 1325685.861 642303.116 0, 1325392.338 642283.955 0, 1325098.814 642264.812 0, 1324805.289 642245.686 0, 1324510.395 642226.488 0, 1324148.939 647781.284 0,
+ 1323787.463 653336.405 0, 1324081.7 653355.56 0, 1324374.571 653374.643 0, 1324667.441 653393.744 0, 1324960.31 653412.862 0, 1325253.178 653431.997 0, 1325546.044 653451.149 0, 1325838.91 653470.319 0, 1326131.774 653489.506 0, 1326424.638 653508.71 0,
+ 1326717.5 653527.931 0, 1327010.361 653547.17 0, 1327303.22 653566.426 0, 1327596.079 653585.699 0, 1327888.937 653604.989 0, 1328181.793 653624.296 0, 1328474.648 653643.621 0, 1328767.503 653662.963 0, 1329060.356 653682.322 0, 1329353.207 653701.699 0,
+ 1329646.058 653721.093 0, 1329938.908 653740.503 0, 1330231.756 653759.932 0, 1330524.604 653779.377 0, 1330816.086 653798.749 0, 1331110.295 653818.32 0, 1331403.139 653837.817 0, 1331695.981 653857.331 0, 1331988.823 653876.863 0, 1332281.663 653896.411 0,
+ 1332574.503 653915.977 0, 1332867.341 653935.561 0, 1333160.178 653955.161 0, 1333453.013 653974.779 0, 1333745.848 653994.414 0, 1334038.682 654014.066 0, 1334331.514 654033.736 0, 1334624.345 654053.422 0, 1334917.175 654073.126 0, 1335210.004 654092.848 0,
+ 1335502.832 654112.586 0, 1335795.658 654132.342 0, 1336088.484 654152.115 0, 1336381.308 654171.905 0, 1336674.131 654191.712 0, 1336966.953 654211.537 0, 1337259.773 654231.378 0, 1337552.593 654251.237 0, 1337844.048 654271.021 0, 1338221.218 648716.944 0,
+ 1338598.365 643163.191 0))
+
+POLYGON ((1351897.938 655245.346 0, 1351606.537 655224.739 0, 1351313.775 655204.053 0, 1351021.011 655183.384 0, 1350728.247 655162.732 0, 1350435.481 655142.097 0, 1350142.714 655121.48 0, 1349849.945 655100.88 0, 1349557.176 655080.297 0, 1349264.405 655059.731 0,
+ 1348971.633 655039.183 0, 1348678.86 655018.652 0, 1348386.085 654998.138 0, 1348093.31 654977.641 0, 1347800.533 654957.162 0, 1347507.755 654936.7 0, 1347214.976 654916.255 0, 1346922.195 654895.827 0, 1346629.414 654875.416 0, 1346336.631 654855.023 0,
+ 1346043.847 654834.647 0, 1345751.062 654814.288 0, 1345458.275 654793.947 0, 1345165.488 654773.622 0, 1344871.337 654753.221 0, 1344579.909 654733.025 0, 1344287.118 654712.752 0, 1343994.325 654692.497 0, 1343701.532 654672.259 0, 1343408.737 654652.038 0,
+ 1343115.941 654631.834 0, 1342823.144 654611.648 0, 1342530.345 654591.478 0, 1342237.546 654571.326 0, 1341944.745 654551.191 0, 1341651.943 654531.074 0, 1341359.14 654510.974 0, 1341066.336 654490.89 0, 1340773.53 654470.825 0, 1340480.724 654450.776 0,
+ 1340187.916 654430.745 0, 1339895.107 654410.73 0, 1339602.297 654390.733 0, 1339309.486 654370.754 0, 1339016.673 654350.791 0, 1338723.859 654330.846 0, 1338431.045 654310.918 0, 1338138.228 654291.007 0, 1337844.048 654271.021 0, 1337466.857 659825.42 0,
+ 1337089.645 665380.138 0, 1337383.168 665400.08 0, 1337675.33 665419.946 0, 1337967.491 665439.829 0, 1338259.651 665459.73 0, 1338551.809 665479.648 0, 1338843.967 665499.583 0, 1339136.123 665519.535 0, 1339428.278 665539.505 0, 1339720.432 665559.491 0,
+ 1340012.585 665579.495 0, 1340304.737 665599.516 0, 1340596.887 665619.555 0, 1340889.036 665639.61 0, 1341181.184 665659.683 0, 1341473.331 665679.773 0, 1341765.477 665699.88 0, 1342057.621 665720.004 0, 1342349.765 665740.145 0, 1342641.907 665760.304 0,
+ 1342934.048 665780.48 0, 1343226.188 665800.673 0, 1343518.326 665820.883 0, 1343810.464 665841.11 0, 1344101.241 665861.261 0, 1344394.735 665881.617 0, 1344686.869 665901.896 0, 1344979.001 665922.192 0, 1345271.133 665942.505 0, 1345563.263 665962.836 0,
+ 1345855.392 665983.184 0, 1346147.52 666003.549 0, 1346439.647 666023.931 0, 1346731.772 666044.33 0, 1347023.896 666064.747 0, 1347316.019 666085.18 0, 1347608.141 666105.631 0, 1347900.262 666126.099 0, 1348192.381 666146.585 0, 1348484.499 666167.087 0,
+ 1348776.616 666187.607 0, 1349068.732 666208.144 0, 1349360.847 666228.698 0, 1349652.96 666249.269 0, 1349945.072 666269.858 0, 1350237.183 666290.463 0, 1350529.293 666311.086 0, 1350821.402 666331.726 0, 1351112.152 666352.287 0, 1351505.056 660798.658 0,
+ 1351897.938 655245.346 0))
+
+POLYGON ((1365131.856 667364.049 0, 1364841.163 667342.666 0, 1364549.114 667321.201 0, 1364257.064 667299.753 0, 1363965.012 667278.322 0, 1363672.959 667256.909 0, 1363380.905 667235.512 0, 1363088.85 667214.133 0, 1362796.793 667192.771 0, 1362504.735 667171.426 0,
+ 1362212.676 667150.098 0, 1361920.616 667128.788 0, 1361628.554 667107.494 0, 1361336.491 667086.218 0, 1361044.427 667064.959 0, 1360752.362 667043.717 0, 1360460.295 667022.493 0, 1360168.227 667001.285 0, 1359876.158 666980.095 0, 1359584.088 666958.922 0,
+ 1359292.016 666937.766 0, 1358999.943 666916.628 0, 1358707.869 666895.506 0, 1358415.794 666874.402 0, 1358122.361 666853.217 0, 1357831.639 666832.245 0, 1357539.56 666811.193 0, 1357247.48 666790.157 0, 1356955.398 666769.139 0, 1356663.316 666748.138 0,
+ 1356371.232 666727.154 0, 1356079.146 666706.187 0, 1355787.06 666685.238 0, 1355494.972 666664.305 0, 1355202.883 666643.39 0, 1354910.793 666622.492 0, 1354618.701 666601.611 0, 1354326.609 666580.748 0, 1354034.515 666559.902 0, 1353742.42 666539.072 0,
+ 1353450.323 666518.26 0, 1353158.226 666497.466 0, 1352866.127 666476.688 0, 1352574.027 666455.928 0, 1352281.926 666435.184 0, 1351989.823 666414.458 0, 1351697.72 666393.75 0, 1351405.615 666373.058 0, 1351112.152 666352.287 0, 1350719.225 671906.232 0,
+ 1350326.276 677460.489 0, 1350619.083 677481.213 0, 1350910.534 677501.858 0, 1351201.984 677522.521 0, 1351493.432 677543.2 0, 1351784.88 677563.897 0, 1352076.326 677584.611 0, 1352367.771 677605.342 0, 1352659.215 677626.09 0, 1352950.657 677646.856 0,
+ 1353242.099 677667.638 0, 1353533.539 677688.438 0, 1353824.978 677709.255 0, 1354116.415 677730.089 0, 1354407.852 677750.94 0, 1354699.287 677771.808 0, 1354990.721 677792.694 0, 1355282.154 677813.597 0, 1355573.585 677834.516 0, 1355865.015 677855.453 0,
+ 1356156.444 677876.407 0, 1356447.872 677897.379 0, 1356739.299 677918.367 0, 1357030.724 677939.372 0, 1357320.795 677960.298 0, 1357613.571 677981.435 0, 1357904.993 678002.492 0, 1358196.413 678023.566 0, 1358487.832 678044.657 0, 1358779.25 678065.766 0,
+ 1359070.667 678086.892 0, 1359362.082 678108.034 0, 1359653.496 678129.194 0, 1359944.909 678150.371 0, 1360236.321 678171.566 0, 1360527.731 678192.777 0, 1360819.141 678214.005 0, 1361110.548 678235.251 0, 1361401.955 678256.514 0, 1361693.361 678277.794 0,
+ 1361984.765 678299.091 0, 1362276.168 678320.405 0, 1362567.569 678341.737 0, 1362858.97 678363.085 0, 1363150.369 678384.451 0, 1363441.767 678405.834 0, 1363733.163 678427.234 0, 1364024.559 678448.651 0, 1364314.601 678469.986 0, 1364723.24 672916.862 0,
+ 1365131.856 667364.049 0))
+
+POLYGON ((1378300.018 679518.999 0, 1378010.035 679496.844 0, 1377718.701 679474.604 0, 1377427.366 679452.381 0, 1377136.03 679430.175 0, 1376844.693 679407.986 0, 1376553.354 679385.814 0, 1376262.013 679363.659 0, 1375970.672 679341.522 0, 1375679.329 679319.402 0,
+ 1375387.985 679297.298 0, 1375096.639 679275.212 0, 1374805.293 679253.144 0, 1374513.945 679231.092 0, 1374222.595 679209.057 0, 1373931.245 679187.04 0, 1373639.893 679165.04 0, 1373348.539 679143.056 0, 1373057.185 679121.09 0, 1372765.829 679099.142 0,
+ 1372474.472 679077.21 0, 1372183.114 679055.295 0, 1371891.754 679033.398 0, 1371600.393 679011.518 0, 1371307.68 678989.553 0, 1371017.667 678967.809 0, 1370726.302 678945.98 0, 1370434.936 678924.168 0, 1370143.569 678902.374 0, 1369852.2 678880.596 0,
+ 1369560.83 678858.836 0, 1369269.459 678837.093 0, 1368978.086 678815.367 0, 1368686.713 678793.659 0, 1368395.338 678771.967 0, 1368103.961 678750.293 0, 1367812.584 678728.635 0, 1367521.205 678706.995 0, 1367229.824 678685.372 0, 1366938.443 678663.766 0,
+ 1366647.06 678642.178 0, 1366355.676 678620.606 0, 1366064.291 678599.052 0, 1365772.905 678577.514 0, 1365481.517 678555.994 0, 1365190.128 678534.491 0, 1364898.737 678513.006 0, 1364607.346 678491.537 0, 1364314.601 678469.986 0, 1363905.94 684023.419 0,
+ 1363497.256 689577.156 0, 1363789.343 689598.659 0, 1364080.081 689620.079 0, 1364370.818 689641.517 0, 1364661.553 689662.972 0, 1364952.287 689684.443 0, 1365243.02 689705.932 0, 1365533.751 689727.438 0, 1365824.482 689748.961 0, 1366115.211 689770.502 0,
+ 1366405.938 689792.059 0, 1366696.665 689813.634 0, 1366987.39 689835.225 0, 1367278.114 689856.834 0, 1367568.837 689878.46 0, 1367859.558 689900.103 0, 1368150.278 689921.763 0, 1368440.997 689943.44 0, 1368731.715 689965.134 0, 1369022.431 689986.845 0,
+ 1369313.146 690008.574 0, 1369603.859 690030.32 0, 1369894.572 690052.082 0, 1370185.283 690073.862 0, 1370474.646 690095.558 0, 1370766.702 690117.473 0, 1371057.409 690139.304 0, 1371348.115 690161.152 0, 1371638.82 690183.018 0, 1371929.523 690204.9 0,
+ 1372220.225 690226.8 0, 1372510.926 690248.717 0, 1372801.626 690270.65 0, 1373092.324 690292.601 0, 1373383.021 690314.569 0, 1373673.717 690336.554 0, 1373964.411 690358.557 0, 1374255.104 690380.576 0, 1374545.796 690402.612 0, 1374836.486 690424.666 0,
+ 1375127.176 690446.737 0, 1375417.863 690468.825 0, 1375708.55 690490.929 0, 1375999.235 690513.051 0, 1376289.919 690535.191 0, 1376580.602 690557.347 0, 1376871.284 690579.52 0, 1377161.964 690601.711 0, 1377451.296 690623.815 0, 1377875.669 685071.254 0,
+ 1378300.018 679518.999 0))
+
+POLYGON ((1391402.324 691709.893 0, 1391113.053 691686.971 0, 1390822.437 691663.959 0, 1390531.819 691640.965 0, 1390241.2 691617.987 0, 1389950.58 691595.027 0, 1389659.958 691572.084 0, 1389369.335 691549.158 0, 1389078.711 691526.249 0, 1388788.085 691503.357 0,
+ 1388497.458 691480.482 0, 1388206.83 691457.625 0, 1387916.2 691434.784 0, 1387625.569 691411.961 0, 1387334.937 691389.154 0, 1387044.303 691366.365 0, 1386753.668 691343.593 0, 1386463.031 691320.838 0, 1386172.393 691298.1 0, 1385881.754 691275.379 0,
+ 1385591.114 691252.676 0, 1385300.472 691229.989 0, 1385009.829 691207.32 0, 1384719.184 691184.667 0, 1384427.194 691161.927 0, 1384137.892 691139.414 0, 1383847.243 691116.813 0, 1383556.593 691094.229 0, 1383265.942 691071.662 0, 1382975.29 691049.112 0,
+ 1382684.636 691026.58 0, 1382393.981 691004.064 0, 1382103.324 690981.566 0, 1381812.667 690959.085 0, 1381522.008 690936.62 0, 1381231.347 690914.173 0, 1380940.686 690891.743 0, 1380650.023 690869.33 0, 1380359.358 690846.935 0, 1380068.693 690824.556 0,
+ 1379778.026 690802.195 0, 1379487.357 690779.85 0, 1379196.688 690757.523 0, 1378906.017 690735.213 0, 1378615.344 690712.919 0, 1378324.671 690690.643 0, 1378033.996 690668.385 0, 1377743.32 690646.143 0, 1377451.296 690623.815 0, 1377026.9 696176.678 0,
+ 1376602.482 701729.838 0, 1376893.849 701752.115 0, 1377183.871 701774.307 0, 1377473.893 701796.516 0, 1377763.912 701818.742 0, 1378053.931 701840.985 0, 1378343.948 701863.245 0, 1378633.964 701885.522 0, 1378923.979 701907.816 0, 1379213.992 701930.127 0,
+ 1379504.004 701952.456 0, 1379794.015 701974.801 0, 1380084.024 701997.164 0, 1380374.032 702019.543 0, 1380664.039 702041.94 0, 1380954.045 702064.353 0, 1381244.049 702086.784 0, 1381534.051 702109.232 0, 1381824.053 702131.697 0, 1382114.053 702154.179 0,
+ 1382404.052 702176.678 0, 1382694.049 702199.194 0, 1382984.046 702221.727 0, 1383274.04 702244.277 0, 1383562.692 702266.74 0, 1383854.026 702289.429 0, 1384144.017 702312.03 0, 1384434.006 702334.649 0, 1384723.995 702357.284 0, 1385013.982 702379.937 0,
+ 1385303.967 702402.607 0, 1385593.951 702425.293 0, 1385883.934 702447.997 0, 1386173.916 702470.718 0, 1386463.896 702493.456 0, 1386753.875 702516.211 0, 1387043.852 702538.983 0, 1387333.828 702561.772 0, 1387623.803 702584.579 0, 1387913.777 702607.402 0,
+ 1388203.749 702630.242 0, 1388493.72 702653.1 0, 1388783.689 702675.974 0, 1389073.657 702698.866 0, 1389363.624 702721.774 0, 1389653.589 702744.7 0, 1389943.553 702767.643 0, 1390233.516 702790.603 0, 1390522.137 702813.473 0, 1390962.242 697261.534 0,
+ 1391402.324 691709.893 0))
+
+POLYGON ((1404438.675 703936.43 0, 1404150.117 703912.744 0, 1403860.221 703888.965 0, 1403570.323 703865.203 0, 1403280.423 703841.458 0, 1402990.522 703817.73 0, 1402700.62 703794.02 0, 1402410.716 703770.326 0, 1402120.811 703746.649 0, 1401830.905 703722.99 0,
+ 1401540.997 703699.347 0, 1401251.088 703675.722 0, 1400961.177 703652.114 0, 1400671.265 703628.523 0, 1400381.352 703604.948 0, 1400091.437 703581.391 0, 1399801.521 703557.851 0, 1399511.603 703534.328 0, 1399221.684 703510.822 0, 1398931.764 703487.333 0,
+ 1398641.842 703463.862 0, 1398351.919 703440.407 0, 1398061.995 703416.969 0, 1397772.069 703393.549 0, 1397480.802 703370.037 0, 1397192.213 703346.759 0, 1396902.283 703323.389 0, 1396612.352 703300.037 0, 1396322.419 703276.702 0, 1396032.485 703253.383 0,
+ 1395742.549 703230.082 0, 1395452.612 703206.798 0, 1395162.674 703183.531 0, 1394872.735 703160.281 0, 1394582.794 703137.048 0, 1394292.851 703113.832 0, 1394002.908 703090.634 0, 1393712.963 703067.452 0, 1393423.016 703044.287 0, 1393133.068 703021.14 0,
+ 1392843.119 702998.009 0, 1392553.169 702974.896 0, 1392263.217 702951.799 0, 1391973.264 702928.72 0, 1391683.309 702905.658 0, 1391393.353 702882.613 0, 1391103.396 702859.585 0, 1390813.437 702836.574 0, 1390522.137 702813.473 0, 1390082.008 708365.707 0,
+ 1389641.856 713918.233 0, 1389932.5 713941.281 0, 1390221.805 713964.24 0, 1390511.109 713987.216 0, 1390800.411 714010.209 0, 1391089.712 714033.22 0, 1391379.011 714056.247 0, 1391668.31 714079.291 0, 1391957.607 714102.352 0, 1392246.902 714125.431 0,
+ 1392536.196 714148.526 0, 1392825.489 714171.639 0, 1393114.781 714194.768 0, 1393404.071 714217.915 0, 1393693.36 714241.078 0, 1393982.647 714264.259 0, 1394271.933 714287.456 0, 1394561.218 714310.671 0, 1394850.501 714333.902 0, 1395139.783 714357.151 0,
+ 1395429.063 714380.417 0, 1395718.343 714403.699 0, 1396007.62 714426.999 0, 1396296.897 714450.316 0, 1396584.836 714473.542 0, 1396875.446 714497 0, 1397164.718 714520.368 0, 1397453.989 714543.753 0, 1397743.259 714567.155 0, 1398032.527 714590.574 0,
+ 1398321.794 714614.01 0, 1398611.059 714637.462 0, 1398900.323 714660.932 0, 1399189.586 714684.419 0, 1399478.847 714707.923 0, 1399768.107 714731.445 0, 1400057.365 714754.983 0, 1400346.623 714778.538 0, 1400635.878 714802.11 0, 1400925.133 714825.699 0,
+ 1401214.386 714849.305 0, 1401503.637 714872.928 0, 1401792.887 714896.569 0, 1402082.136 714920.226 0, 1402371.384 714943.9 0, 1402660.63 714967.591 0, 1402949.874 714991.3 0, 1403239.117 715015.025 0, 1403527.024 715038.658 0, 1403982.861 709487.398 0,
+ 1404438.675 703936.43 0))
+
+POLYGON ((1417408.972 716198.307 0, 1417121.131 716173.86 0, 1416831.956 716149.318 0, 1416542.779 716124.793 0, 1416253.601 716100.284 0, 1415964.422 716075.793 0, 1415675.241 716051.318 0, 1415386.059 716026.861 0, 1415096.875 716002.421 0, 1414807.69 715977.998 0,
+ 1414518.503 715953.591 0, 1414229.315 715929.202 0, 1413940.126 715904.83 0, 1413650.935 715880.475 0, 1413361.743 715856.137 0, 1413072.549 715831.815 0, 1412783.354 715807.511 0, 1412494.157 715783.224 0, 1412204.959 715758.954 0, 1411915.76 715734.701 0,
+ 1411626.559 715710.465 0, 1411337.357 715686.246 0, 1411048.153 715662.044 0, 1410758.948 715637.859 0, 1410468.408 715613.58 0, 1410180.533 715589.54 0, 1409891.324 715565.406 0, 1409602.113 715541.289 0, 1409312.901 715517.19 0, 1409023.687 715493.107 0,
+ 1408734.472 715469.041 0, 1408445.256 715444.992 0, 1408156.038 715420.96 0, 1407866.818 715396.946 0, 1407577.598 715372.948 0, 1407288.375 715348.967 0, 1406999.152 715325.004 0, 1406709.927 715301.057 0, 1406420.7 715277.127 0, 1406131.473 715253.215 0,
+ 1405842.243 715229.319 0, 1405553.013 715205.441 0, 1405263.781 715181.579 0, 1404974.547 715157.735 0, 1404685.313 715133.907 0, 1404396.076 715110.097 0, 1404106.839 715086.303 0, 1403817.6 715062.527 0, 1403527.024 715038.658 0, 1403071.163 720590.205 0,
+ 1402615.279 726142.037 0, 1402905.198 726165.852 0, 1403193.784 726189.575 0, 1403482.368 726213.314 0, 1403770.951 726237.071 0, 1404059.532 726260.845 0, 1404348.112 726284.635 0, 1404636.69 726308.443 0, 1404925.267 726332.268 0, 1405213.843 726356.109 0,
+ 1405502.417 726379.968 0, 1405790.99 726403.843 0, 1406079.562 726427.736 0, 1406368.132 726451.645 0, 1406656.701 726475.572 0, 1406945.268 726499.515 0, 1407233.834 726523.476 0, 1407522.398 726547.453 0, 1407810.961 726571.448 0, 1408099.523 726595.459 0,
+ 1408388.083 726619.488 0, 1408676.642 726643.533 0, 1408965.199 726667.595 0, 1409253.755 726691.675 0, 1409540.979 726715.66 0, 1409830.863 726739.885 0, 1410119.415 726764.015 0, 1410407.965 726788.162 0, 1410696.514 726812.326 0, 1410985.061 726836.508 0,
+ 1411273.607 726860.706 0, 1411562.152 726884.921 0, 1411850.695 726909.153 0, 1412139.237 726933.403 0, 1412427.777 726957.669 0, 1412716.316 726981.952 0, 1413004.853 727006.252 0, 1413293.389 727030.569 0, 1413581.924 727054.903 0, 1413870.457 727079.254 0,
+ 1414158.989 727103.623 0, 1414447.519 727128.008 0, 1414736.048 727152.41 0, 1415024.575 727176.829 0, 1415313.101 727201.265 0, 1415601.626 727225.718 0, 1415890.149 727250.188 0, 1416178.671 727274.675 0, 1416465.861 727299.066 0, 1416937.429 721748.544 0,
+ 1417408.972 716198.307 0))
+
+POLYGON ((1430313.119 728495.22 0, 1430025.997 728470.018 0, 1429737.545 728444.716 0, 1429449.092 728419.431 0, 1429160.638 728394.163 0, 1428872.182 728368.912 0, 1428583.725 728343.678 0, 1428295.266 728318.46 0, 1428006.806 728293.26 0, 1427718.344 728268.077 0,
+ 1427429.881 728242.911 0, 1427141.416 728217.762 0, 1426852.95 728192.63 0, 1426564.483 728167.514 0, 1426276.013 728142.416 0, 1425987.543 728117.335 0, 1425699.071 728092.271 0, 1425410.597 728067.223 0, 1425122.122 728042.193 0, 1424833.646 728017.18 0,
+ 1424545.168 727992.183 0, 1424256.688 727967.204 0, 1423968.207 727942.241 0, 1423679.725 727917.296 0, 1423389.913 727892.253 0, 1423102.756 727867.456 0, 1422814.269 727842.562 0, 1422525.781 727817.684 0, 1422237.291 727792.823 0, 1421948.8 727767.98 0,
+ 1421660.307 727743.153 0, 1421371.813 727718.344 0, 1421083.318 727693.551 0, 1420794.821 727668.775 0, 1420506.322 727644.017 0, 1420217.822 727619.275 0, 1419929.321 727594.55 0, 1419640.818 727569.843 0, 1419352.314 727545.152 0, 1419063.808 727520.478 0,
+ 1418775.301 727495.821 0, 1418486.792 727471.182 0, 1418198.282 727446.559 0, 1417909.77 727421.953 0, 1417621.257 727397.364 0, 1417332.743 727372.792 0, 1417044.227 727348.237 0, 1416755.71 727323.7 0, 1416465.861 727299.066 0, 1415994.27 732849.868 0,
+ 1415522.656 738400.948 0, 1415811.847 738425.526 0, 1416099.711 738450.009 0, 1416387.574 738474.508 0, 1416675.435 738499.024 0, 1416963.294 738523.557 0, 1417251.153 738548.108 0, 1417539.009 738572.675 0, 1417826.865 738597.259 0, 1418114.718 738621.859 0,
+ 1418402.571 738646.477 0, 1418690.422 738671.112 0, 1418978.271 738695.764 0, 1419266.119 738720.433 0, 1419553.966 738745.118 0, 1419841.811 738769.821 0, 1420129.654 738794.54 0, 1420417.496 738819.277 0, 1420705.337 738844.03 0, 1420993.176 738868.801 0,
+ 1421281.014 738893.588 0, 1421568.851 738918.392 0, 1421856.685 738943.213 0, 1422144.519 738968.051 0, 1422431.026 738992.792 0, 1422720.181 739017.778 0, 1423008.01 739042.667 0, 1423295.838 739067.573 0, 1423583.664 739092.496 0, 1423871.489 739117.436 0,
+ 1424159.312 739142.393 0, 1424447.134 739167.366 0, 1424734.954 739192.357 0, 1425022.773 739217.364 0, 1425310.59 739242.389 0, 1425598.406 739267.43 0, 1425886.22 739292.489 0, 1426174.033 739317.564 0, 1426461.844 739342.656 0, 1426749.654 739367.765 0,
+ 1427037.463 739392.891 0, 1427325.269 739418.034 0, 1427613.075 739443.194 0, 1427900.879 739468.371 0, 1428188.681 739493.565 0, 1428476.482 739518.776 0, 1428764.282 739544.004 0, 1429052.08 739569.248 0, 1429338.553 739594.394 0, 1429825.848 734044.668 0,
+ 1430313.119 728495.22 0))
+
+POLYGON ((1443151.023 740826.867 0, 1442864.62 740800.912 0, 1442576.895 740774.854 0, 1442289.167 740748.814 0, 1442001.439 740722.79 0, 1441713.709 740696.783 0, 1441425.977 740670.793 0, 1441138.244 740644.82 0, 1440850.509 740618.864 0, 1440562.773 740592.925 0,
+ 1440275.035 740567.003 0, 1439987.295 740541.097 0, 1439699.555 740515.209 0, 1439411.812 740489.338 0, 1439124.068 740463.483 0, 1438836.323 740437.646 0, 1438548.576 740411.825 0, 1438260.827 740386.022 0, 1437973.077 740360.235 0, 1437685.326 740334.465 0,
+ 1437397.573 740308.712 0, 1437109.818 740282.977 0, 1436822.062 740257.258 0, 1436534.305 740231.556 0, 1436245.223 740205.752 0, 1435958.785 740180.202 0, 1435671.023 740154.551 0, 1435383.259 740128.917 0, 1435095.494 740103.3 0, 1434807.728 740077.699 0,
+ 1434519.959 740052.116 0, 1434232.19 740026.549 0, 1433944.419 740001 0, 1433656.646 739975.467 0, 1433368.872 739949.951 0, 1433081.096 739924.453 0, 1432793.319 739898.971 0, 1432505.54 739873.506 0, 1432217.76 739848.058 0, 1431929.979 739822.627 0,
+ 1431642.195 739797.213 0, 1431354.411 739771.816 0, 1431066.625 739746.435 0, 1430778.837 739721.072 0, 1430491.048 739695.726 0, 1430203.257 739670.397 0, 1429915.465 739645.084 0, 1429627.672 739619.789 0, 1429338.553 739594.394 0, 1428851.233 745144.393 0,
+ 1428363.89 750694.663 0, 1428652.352 750720 0, 1428939.493 750745.238 0, 1429226.631 750770.493 0, 1429513.769 750795.765 0, 1429800.904 750821.054 0, 1430088.039 750846.36 0, 1430375.171 750871.682 0, 1430662.303 750897.022 0, 1430949.433 750922.378 0,
+ 1431236.561 750947.751 0, 1431523.688 750973.142 0, 1431810.813 750998.549 0, 1432097.937 751023.973 0, 1432385.059 751049.414 0, 1432672.18 751074.871 0, 1432959.3 751100.346 0, 1433246.417 751125.838 0, 1433533.534 751151.346 0, 1433820.649 751176.871 0,
+ 1434107.762 751202.414 0, 1434394.874 751227.973 0, 1434681.984 751253.549 0, 1434969.093 751279.142 0, 1435254.881 751304.634 0, 1435543.306 751330.379 0, 1435830.411 751356.022 0, 1436117.513 751381.683 0, 1436404.615 751407.36 0, 1436691.714 751433.055 0,
+ 1436978.813 751458.766 0, 1437265.909 751484.494 0, 1437553.005 751510.239 0, 1437840.098 751536.001 0, 1438127.191 751561.78 0, 1438414.281 751587.576 0, 1438701.37 751613.388 0, 1438988.458 751639.218 0, 1439275.544 751665.064 0, 1439562.629 751690.928 0,
+ 1439849.712 751716.808 0, 1440136.794 751742.705 0, 1440423.874 751768.619 0, 1440710.952 751794.55 0, 1440998.029 751820.498 0, 1441285.105 751846.462 0, 1441572.178 751872.444 0, 1441859.251 751898.443 0, 1442145.003 751924.338 0, 1442648.025 746375.467 0,
+ 1443151.023 740826.867 0))
+
+POLYGON ((1455922.588 753192.943 0, 1455636.908 753166.24 0, 1455349.91 753139.43 0, 1455062.91 753112.638 0, 1454775.91 753085.862 0, 1454488.907 753059.103 0, 1454201.903 753032.361 0, 1453914.897 753005.636 0, 1453627.89 752978.928 0, 1453340.881 752952.237 0,
+ 1453053.871 752925.563 0, 1452766.859 752898.905 0, 1452479.845 752872.265 0, 1452192.83 752845.641 0, 1451905.813 752819.034 0, 1451618.795 752792.445 0, 1451331.775 752765.872 0, 1451044.754 752739.316 0, 1450757.731 752712.776 0, 1450470.707 752686.254 0,
+ 1450183.681 752659.749 0, 1449896.653 752633.26 0, 1449609.624 752606.789 0, 1449322.593 752580.334 0, 1449034.244 752553.775 0, 1448748.527 752527.475 0, 1448461.492 752501.071 0, 1448174.455 752474.684 0, 1447887.416 752448.314 0, 1447600.376 752421.961 0,
+ 1447313.335 752395.624 0, 1447026.291 752369.305 0, 1446739.247 752343.002 0, 1446452.2 752316.717 0, 1446165.153 752290.448 0, 1445878.103 752264.196 0, 1445591.052 752237.961 0, 1445304 752211.743 0, 1445016.946 752185.541 0, 1444729.891 752159.357 0,
+ 1444442.833 752133.189 0, 1444155.775 752107.039 0, 1443868.715 752080.905 0, 1443581.653 752054.788 0, 1443294.59 752028.688 0, 1443007.525 752002.606 0, 1442720.459 751976.539 0, 1442433.391 751950.49 0, 1442145.003 751924.338 0, 1441641.957 757473.476 0,
+ 1441138.887 763022.878 0, 1441426.619 763048.97 0, 1441713.033 763074.96 0, 1441999.446 763100.967 0, 1442285.858 763126.99 0, 1442572.268 763153.031 0, 1442858.676 763179.088 0, 1443145.083 763205.162 0, 1443431.488 763231.253 0, 1443717.892 763257.361 0,
+ 1444004.295 763283.486 0, 1444290.695 763309.628 0, 1444577.095 763335.786 0, 1444863.492 763361.962 0, 1445149.888 763388.154 0, 1445436.283 763414.363 0, 1445722.676 763440.589 0, 1446009.068 763466.832 0, 1446295.458 763493.091 0, 1446581.846 763519.368 0,
+ 1446868.233 763545.661 0, 1447154.618 763571.971 0, 1447441.002 763598.298 0, 1447727.384 763624.642 0, 1448012.451 763650.882 0, 1448300.144 763677.381 0, 1448586.522 763703.775 0, 1448872.898 763730.187 0, 1449159.272 763756.615 0, 1449445.645 763783.06 0,
+ 1449732.016 763809.522 0, 1450018.386 763836 0, 1450304.754 763862.496 0, 1450591.121 763889.009 0, 1450877.486 763915.538 0, 1451163.85 763942.084 0, 1451450.212 763968.647 0, 1451736.572 763995.227 0, 1452022.931 764021.824 0, 1452309.288 764048.437 0,
+ 1452595.644 764075.068 0, 1452881.998 764101.715 0, 1453168.351 764128.379 0, 1453454.702 764155.06 0, 1453741.051 764181.758 0, 1454027.399 764208.473 0, 1454313.745 764235.204 0, 1454600.09 764261.953 0, 1454885.12 764288.595 0, 1455403.867 758740.637 0,
+ 1455922.588 753192.943 0))
+
+POLYGON ((1468627.723 765593.144 0, 1468342.767 765565.696 0, 1468056.499 765538.138 0, 1467770.229 765510.598 0, 1467483.958 765483.074 0, 1467197.685 765455.568 0, 1466911.411 765428.078 0, 1466625.135 765400.605 0, 1466338.857 765373.148 0, 1466052.577 765345.709 0,
+ 1465766.296 765318.287 0, 1465480.014 765290.881 0, 1465193.73 765263.492 0, 1464907.444 765236.12 0, 1464621.156 765208.765 0, 1464334.867 765181.427 0, 1464048.577 765154.105 0, 1463762.285 765126.801 0, 1463475.991 765099.513 0, 1463189.695 765072.242 0,
+ 1462903.398 765044.988 0, 1462617.1 765017.751 0, 1462330.799 764990.531 0, 1462044.497 764963.327 0, 1461756.882 764936.016 0, 1461471.889 764908.971 0, 1461185.582 764881.818 0, 1460899.274 764854.682 0, 1460612.964 764827.563 0, 1460326.653 764800.461 0,
+ 1460040.34 764773.375 0, 1459754.025 764746.306 0, 1459467.709 764719.255 0, 1459181.391 764692.22 0, 1458895.072 764665.202 0, 1458608.751 764638.2 0, 1458322.428 764611.216 0, 1458036.104 764584.249 0, 1457749.778 764557.298 0, 1457463.451 764530.364 0,
+ 1457177.122 764503.447 0, 1456890.791 764476.547 0, 1456604.459 764449.664 0, 1456318.125 764422.797 0, 1456031.79 764395.948 0, 1455745.453 764369.115 0, 1455459.115 764342.299 0, 1455172.775 764315.5 0, 1454885.12 764288.595 0, 1454366.35 769836.813 0,
+ 1453847.556 775385.287 0, 1454134.554 775412.131 0, 1454420.241 775438.869 0, 1454705.926 775465.624 0, 1454991.61 775492.395 0, 1455277.292 775519.183 0, 1455562.973 775545.988 0, 1455848.652 775572.81 0, 1456134.329 775599.649 0, 1456420.005 775626.505 0,
+ 1456705.679 775653.377 0, 1456991.352 775680.266 0, 1457277.023 775707.172 0, 1457562.692 775734.095 0, 1457848.36 775761.035 0, 1458134.027 775787.991 0, 1458419.691 775814.964 0, 1458705.355 775841.955 0, 1458991.016 775868.961 0, 1459276.676 775895.985 0,
+ 1459562.334 775923.026 0, 1459847.991 775950.083 0, 1460133.646 775977.157 0, 1460419.3 776004.248 0, 1460703.644 776031.232 0, 1460990.603 776058.48 0, 1461276.251 776085.622 0, 1461561.899 776112.78 0, 1461847.544 776139.955 0, 1462133.188 776167.147 0,
+ 1462418.831 776194.356 0, 1462704.472 776221.581 0, 1462990.111 776248.823 0, 1463275.748 776276.082 0, 1463561.384 776303.358 0, 1463847.019 776330.651 0, 1464132.652 776357.961 0, 1464418.283 776385.287 0, 1464703.912 776412.63 0, 1464989.54 776439.99 0,
+ 1465275.167 776467.367 0, 1465560.791 776494.76 0, 1465846.415 776522.171 0, 1466132.036 776549.598 0, 1466417.656 776577.042 0, 1466703.274 776604.503 0, 1466988.891 776631.98 0, 1467274.506 776659.475 0, 1467558.812 776686.86 0, 1468093.28 771139.874 0,
+ 1468627.723 765593.144 0))
+
+POLYGON ((1481266.337 778027.164 0, 1480982.107 777998.976 0, 1480696.571 777970.674 0, 1480411.033 777942.39 0, 1480125.493 777914.122 0, 1479839.952 777885.872 0, 1479554.409 777857.638 0, 1479268.865 777829.42 0, 1478983.318 777801.22 0, 1478697.771 777773.036 0,
+ 1478412.221 777744.869 0, 1478126.67 777716.72 0, 1477841.117 777688.586 0, 1477555.562 777660.47 0, 1477270.006 777632.37 0, 1476984.448 777604.288 0, 1476698.889 777576.222 0, 1476413.328 777548.173 0, 1476127.765 777520.14 0, 1475842.201 777492.125 0,
+ 1475556.635 777464.126 0, 1475271.067 777436.144 0, 1474985.498 777408.179 0, 1474699.927 777380.231 0, 1474413.048 777352.171 0, 1474128.78 777324.384 0, 1473843.204 777296.487 0, 1473557.626 777268.605 0, 1473272.047 777240.741 0, 1472986.466 777212.894 0,
+ 1472700.883 777185.063 0, 1472415.299 777157.249 0, 1472129.714 777129.452 0, 1471844.126 777101.672 0, 1471558.537 777073.909 0, 1471272.946 777046.162 0, 1470987.354 777018.432 0, 1470701.76 776990.719 0, 1470416.165 776963.023 0, 1470130.567 776935.344 0,
+ 1469844.969 776907.681 0, 1469559.368 776880.036 0, 1469273.766 776852.407 0, 1468988.162 776824.794 0, 1468702.557 776797.199 0, 1468416.95 776769.621 0, 1468131.342 776742.059 0, 1467845.731 776714.514 0, 1467558.812 776686.86 0, 1467024.32 782234.099 0,
+ 1466489.804 787781.588 0, 1466776.067 787809.179 0, 1467061.024 787836.66 0, 1467345.98 787864.159 0, 1467630.934 787891.675 0, 1467915.886 787919.207 0, 1468200.837 787946.756 0, 1468485.786 787974.322 0, 1468770.733 788001.904 0, 1469055.679 788029.503 0,
+ 1469340.623 788057.119 0, 1469625.566 788084.752 0, 1469910.507 788112.402 0, 1470195.446 788140.068 0, 1470480.384 788167.751 0, 1470765.32 788195.451 0, 1471050.255 788223.168 0, 1471335.187 788250.902 0, 1471620.119 788278.652 0, 1471905.048 788306.419 0,
+ 1472189.976 788334.203 0, 1472474.902 788362.003 0, 1472759.827 788389.82 0, 1473044.75 788417.655 0, 1473328.368 788445.378 0, 1473614.591 788473.373 0, 1473899.509 788501.257 0, 1474184.426 788529.159 0, 1474469.34 788557.077 0, 1474754.254 788585.011 0,
+ 1475039.165 788612.963 0, 1475324.075 788640.931 0, 1475608.983 788668.916 0, 1475893.89 788696.918 0, 1476178.795 788724.936 0, 1476463.698 788752.972 0, 1476748.6 788781.024 0, 1477033.5 788809.093 0, 1477318.398 788837.178 0, 1477603.295 788865.281 0,
+ 1477888.19 788893.4 0, 1478173.083 788921.536 0, 1478457.975 788949.688 0, 1478742.865 788977.858 0, 1479027.753 789006.044 0, 1479312.64 789034.247 0, 1479597.525 789062.467 0, 1479882.408 789090.703 0, 1480165.988 789118.828 0, 1480716.175 783572.871 0,
+ 1481266.337 778027.164 0))
+
+POLYGON ((1493838.34 790494.7 0, 1493554.838 790465.774 0, 1493270.036 790436.733 0, 1492985.232 790407.709 0, 1492700.426 790378.701 0, 1492415.618 790349.71 0, 1492130.809 790320.736 0, 1491845.998 790291.778 0, 1491561.185 790262.837 0, 1491276.371 790233.913 0,
+ 1490991.555 790205.006 0, 1490706.737 790176.116 0, 1490421.917 790147.242 0, 1490137.096 790118.385 0, 1489852.273 790089.545 0, 1489567.448 790060.722 0, 1489282.622 790031.915 0, 1488997.794 790003.126 0, 1488712.964 789974.352 0, 1488428.133 789945.596 0,
+ 1488143.3 789916.857 0, 1487858.465 789888.134 0, 1487573.629 789859.428 0, 1487288.79 789830.739 0, 1487002.65 789801.935 0, 1486719.109 789773.41 0, 1486434.266 789744.772 0, 1486149.421 789716.149 0, 1485864.574 789687.544 0, 1485579.726 789658.955 0,
+ 1485294.876 789630.383 0, 1485010.024 789601.828 0, 1484725.171 789573.29 0, 1484440.316 789544.768 0, 1484155.459 789516.264 0, 1483870.601 789487.776 0, 1483585.741 789459.304 0, 1483300.879 789430.85 0, 1483016.016 789402.412 0, 1482731.151 789373.991 0,
+ 1482446.284 789345.587 0, 1482161.416 789317.199 0, 1481876.545 789288.829 0, 1481591.674 789260.475 0, 1481306.8 789232.138 0, 1481021.925 789203.817 0, 1480737.048 789175.514 0, 1480452.17 789147.227 0, 1480165.988 789118.828 0, 1479615.777 794665.029 0,
+ 1479065.542 800211.474 0, 1479351.068 800239.808 0, 1479635.294 800268.03 0, 1479919.517 800296.268 0, 1480203.74 800324.524 0, 1480487.96 800352.796 0, 1480772.179 800381.085 0, 1481056.396 800409.391 0, 1481340.612 800437.713 0, 1481624.826 800466.052 0,
+ 1481909.038 800494.408 0, 1482193.248 800522.781 0, 1482477.457 800551.17 0, 1482761.665 800579.576 0, 1483045.87 800607.999 0, 1483330.074 800636.438 0, 1483614.276 800664.894 0, 1483898.477 800693.367 0, 1484182.675 800721.857 0, 1484466.873 800750.363 0,
+ 1484751.068 800778.886 0, 1485035.262 800807.426 0, 1485319.454 800835.983 0, 1485603.644 800864.556 0, 1485886.536 800893.016 0, 1486172.02 800921.753 0, 1486456.206 800950.376 0, 1486740.389 800979.017 0, 1487024.571 801007.674 0, 1487308.752 801036.347 0,
+ 1487592.93 801065.038 0, 1487877.107 801093.745 0, 1488161.282 801122.469 0, 1488445.456 801151.209 0, 1488729.628 801179.966 0, 1489013.798 801208.741 0, 1489297.966 801237.531 0, 1489582.133 801266.339 0, 1489866.298 801295.163 0, 1490150.462 801324.004 0,
+ 1490434.623 801352.861 0, 1490718.783 801381.736 0, 1491002.942 801410.627 0, 1491287.098 801439.535 0, 1491571.253 801468.459 0, 1491855.406 801497.401 0, 1492139.558 801526.359 0, 1492423.708 801555.333 0, 1492706.56 801584.192 0, 1493272.462 796039.325 0,
+ 1493838.34 790494.7 0))
+
+POLYGON ((1506343.644 802995.444 0, 1506060.873 802965.786 0, 1505776.806 802936.008 0, 1505492.738 802906.248 0, 1505208.667 802876.504 0, 1504924.595 802846.777 0, 1504640.522 802817.066 0, 1504356.446 802787.372 0, 1504072.369 802757.695 0, 1503788.29 802728.035 0,
+ 1503504.209 802698.391 0, 1503220.126 802668.764 0, 1502936.042 802639.154 0, 1502651.956 802609.561 0, 1502367.868 802579.984 0, 1502083.779 802550.424 0, 1501799.688 802520.881 0, 1501515.595 802491.354 0, 1501231.5 802461.844 0, 1500947.404 802432.351 0,
+ 1500663.305 802402.875 0, 1500379.205 802373.415 0, 1500095.104 802343.972 0, 1499811 802314.546 0, 1499525.6 802285.002 0, 1499242.788 802255.744 0, 1498958.68 802226.368 0, 1498674.57 802197.008 0, 1498390.458 802167.666 0, 1498106.344 802138.34 0,
+ 1497822.228 802109.03 0, 1497538.111 802079.738 0, 1497253.992 802050.462 0, 1496969.872 802021.203 0, 1496685.749 801991.961 0, 1496401.625 801962.735 0, 1496117.499 801933.527 0, 1495833.372 801904.334 0, 1495549.243 801875.159 0, 1495265.112 801846 0,
+ 1494980.979 801816.858 0, 1494696.844 801787.733 0, 1494412.708 801758.625 0, 1494128.571 801729.533 0, 1493844.431 801700.458 0, 1493560.29 801671.399 0, 1493276.147 801642.358 0, 1492992.002 801613.333 0, 1492706.56 801584.192 0, 1492140.633 807129.298 0,
+ 1491574.682 812674.639 0, 1491859.469 812703.713 0, 1492142.961 812732.671 0, 1492426.451 812761.646 0, 1492709.939 812790.637 0, 1492993.426 812819.646 0, 1493276.911 812848.67 0, 1493560.394 812877.712 0, 1493843.876 812906.77 0, 1494127.356 812935.845 0,
+ 1494410.834 812964.937 0, 1494694.311 812994.046 0, 1494977.786 813023.171 0, 1495261.259 813052.312 0, 1495544.73 813081.471 0, 1495828.2 813110.646 0, 1496111.668 813139.838 0, 1496395.134 813169.046 0, 1496678.598 813198.271 0, 1496962.061 813227.513 0,
+ 1497245.522 813256.772 0, 1497528.982 813286.047 0, 1497812.439 813315.339 0, 1498095.895 813344.648 0, 1498378.057 813373.839 0, 1498662.802 813403.315 0, 1498946.253 813432.673 0, 1499229.702 813462.049 0, 1499513.149 813491.441 0, 1499796.594 813520.849 0,
+ 1500080.038 813550.275 0, 1500363.48 813579.717 0, 1500646.921 813609.176 0, 1500930.359 813638.651 0, 1501213.796 813668.143 0, 1501497.231 813697.652 0, 1501780.664 813727.177 0, 1502064.096 813756.72 0, 1502347.526 813786.278 0, 1502630.954 813815.854 0,
+ 1502914.381 813845.446 0, 1503197.805 813875.055 0, 1503481.228 813904.681 0, 1503764.649 813934.323 0, 1504048.069 813963.982 0, 1504331.487 813993.657 0, 1504614.903 814023.35 0, 1504898.317 814053.059 0, 1505180.439 814082.649 0, 1505762.054 808538.929 0,
+ 1506343.644 802995.444 0))
+
+POLYGON ((1518782.163 815529.092 0, 1518500.124 815498.704 0, 1518216.795 815468.195 0, 1517933.464 815437.702 0, 1517650.131 815407.226 0, 1517366.797 815376.766 0, 1517083.46 815346.323 0, 1516800.122 815315.897 0, 1516516.782 815285.488 0, 1516233.441 815255.095 0,
+ 1515950.097 815224.719 0, 1515666.752 815194.359 0, 1515383.405 815164.016 0, 1515100.056 815133.69 0, 1514816.705 815103.381 0, 1514533.353 815073.088 0, 1514249.999 815042.812 0, 1513966.643 815012.553 0, 1513683.285 814982.31 0, 1513399.925 814952.084 0,
+ 1513116.564 814921.875 0, 1512833.201 814891.682 0, 1512549.836 814861.506 0, 1512266.47 814831.347 0, 1511981.812 814801.067 0, 1511699.731 814771.078 0, 1511416.359 814740.969 0, 1511132.985 814710.876 0, 1510849.61 814680.8 0, 1510566.232 814650.741 0,
+ 1510282.853 814620.698 0, 1509999.473 814590.672 0, 1509716.09 814560.663 0, 1509432.706 814530.671 0, 1509149.32 814500.695 0, 1508865.932 814470.736 0, 1508582.542 814440.793 0, 1508299.151 814410.867 0, 1508015.757 814380.958 0, 1507732.363 814351.066 0,
+ 1507448.966 814321.19 0, 1507165.567 814291.331 0, 1506882.167 814261.488 0, 1506598.765 814231.663 0, 1506315.362 814201.854 0, 1506031.956 814172.061 0, 1505748.549 814142.286 0, 1505465.14 814112.527 0, 1505180.439 814082.649 0, 1504598.799 819626.6 0,
+ 1504017.136 825170.778 0, 1504301.182 825200.587 0, 1504583.938 825230.278 0, 1504866.692 825259.985 0, 1505149.445 825289.709 0, 1505432.196 825319.449 0, 1505714.946 825349.206 0, 1505997.693 825378.98 0, 1506280.439 825408.77 0, 1506563.183 825438.577 0,
+ 1506845.926 825468.401 0, 1507128.666 825498.241 0, 1507411.405 825528.098 0, 1507694.142 825557.972 0, 1507976.877 825587.862 0, 1508259.611 825617.769 0, 1508542.343 825647.692 0, 1508825.073 825677.632 0, 1509107.801 825707.589 0, 1509390.527 825737.562 0,
+ 1509673.252 825767.552 0, 1509955.975 825797.559 0, 1510238.696 825827.582 0, 1510521.416 825857.622 0, 1510802.847 825887.542 0, 1511086.849 825917.752 0, 1511369.563 825947.842 0, 1511652.276 825977.949 0, 1511934.986 826008.072 0, 1512217.695 826038.211 0,
+ 1512500.402 826068.368 0, 1512783.107 826098.541 0, 1513065.811 826128.731 0, 1513348.513 826158.937 0, 1513631.213 826189.16 0, 1513913.911 826219.4 0, 1514196.607 826249.656 0, 1514479.302 826279.929 0, 1514761.994 826310.218 0, 1515044.685 826340.525 0,
+ 1515327.375 826370.847 0, 1515610.062 826401.187 0, 1515892.748 826431.543 0, 1516175.432 826461.916 0, 1516458.114 826492.305 0, 1516740.794 826522.711 0, 1517023.473 826553.134 0, 1517306.149 826583.573 0, 1517587.539 826613.89 0, 1518184.863 821071.377 0,
+ 1518782.163 815529.092 0))
+
+POLYGON ((1531153.811 828095.336 0, 1530872.506 828064.223 0, 1530589.916 828032.985 0, 1530307.325 828001.764 0, 1530024.732 827970.56 0, 1529742.137 827939.372 0, 1529459.54 827908.201 0, 1529176.941 827877.046 0, 1528894.34 827845.908 0, 1528611.738 827814.787 0,
+ 1528329.134 827783.682 0, 1528046.527 827752.594 0, 1527763.92 827721.522 0, 1527481.31 827690.468 0, 1527198.698 827659.429 0, 1526916.085 827628.408 0, 1526633.47 827597.403 0, 1526350.853 827566.415 0, 1526068.234 827535.443 0, 1525785.613 827504.488 0,
+ 1525502.99 827473.55 0, 1525220.366 827442.628 0, 1524937.74 827411.723 0, 1524655.112 827380.834 0, 1524371.198 827349.822 0, 1524089.851 827319.107 0, 1523807.217 827288.269 0, 1523524.582 827257.447 0, 1523241.945 827226.641 0, 1522959.306 827195.853 0,
+ 1522676.665 827165.081 0, 1522394.023 827134.325 0, 1522111.378 827103.587 0, 1521828.732 827072.864 0, 1521546.084 827042.159 0, 1521263.435 827011.47 0, 1520980.783 826980.798 0, 1520698.13 826950.142 0, 1520415.475 826919.503 0, 1520132.818 826888.881 0,
+ 1519850.159 826858.275 0, 1519567.498 826827.686 0, 1519284.836 826797.114 0, 1519002.172 826766.558 0, 1518719.506 826736.019 0, 1518436.838 826705.497 0, 1518154.169 826674.991 0, 1517871.497 826644.502 0, 1517587.539 826613.89 0, 1516990.19 832156.628 0,
+ 1516392.818 837699.585 0, 1516676.121 837730.126 0, 1516958.14 837760.544 0, 1517240.157 837790.98 0, 1517522.172 837821.432 0, 1517804.186 837851.9 0, 1518086.197 837882.386 0, 1518368.207 837912.888 0, 1518650.215 837943.406 0, 1518932.222 837973.941 0,
+ 1519214.226 838004.493 0, 1519496.229 838035.061 0, 1519778.23 838065.646 0, 1520060.229 838096.247 0, 1520342.226 838126.865 0, 1520624.222 838157.5 0, 1520906.216 838188.151 0, 1521188.207 838218.819 0, 1521470.197 838249.503 0, 1521752.186 838280.204 0,
+ 1522034.172 838310.922 0, 1522316.157 838341.656 0, 1522598.14 838372.407 0, 1522880.121 838403.174 0, 1523160.819 838433.818 0, 1523444.077 838464.759 0, 1523726.053 838495.576 0, 1524008.027 838526.41 0, 1524289.999 838557.26 0, 1524571.969 838588.127 0,
+ 1524853.937 838619.01 0, 1525135.904 838649.911 0, 1525417.869 838680.827 0, 1525699.831 838711.761 0, 1525981.793 838742.711 0, 1526263.752 838773.677 0, 1526545.709 838804.66 0, 1526827.665 838835.66 0, 1527109.619 838866.676 0, 1527391.571 838897.709 0,
+ 1527673.521 838928.759 0, 1527955.469 838959.825 0, 1528237.415 838990.908 0, 1528519.36 839022.007 0, 1528801.303 839053.123 0, 1529083.244 839084.255 0, 1529365.183 839115.404 0, 1529647.12 839146.57 0, 1529927.776 839177.611 0, 1530540.806 833636.363 0,
+ 1531153.811 828095.336 0))
+
+POLYGON ((1543458.504 840693.869 0, 1543177.935 840662.036 0, 1542896.087 840630.073 0, 1542614.237 840598.128 0, 1542332.385 840566.199 0, 1542050.531 840534.287 0, 1541768.675 840502.391 0, 1541486.818 840470.512 0, 1541204.959 840438.649 0, 1540923.097 840406.803 0,
+ 1540641.234 840374.974 0, 1540359.369 840343.161 0, 1540077.502 840311.365 0, 1539795.633 840279.585 0, 1539513.763 840247.822 0, 1539231.89 840216.076 0, 1538950.016 840184.346 0, 1538668.14 840152.633 0, 1538386.262 840120.936 0, 1538104.382 840089.256 0,
+ 1537822.5 840057.593 0, 1537540.616 840025.946 0, 1537258.731 839994.316 0, 1536976.843 839962.702 0, 1536693.676 839930.962 0, 1536413.063 839899.524 0, 1536131.17 839867.961 0, 1535849.275 839836.413 0, 1535567.378 839804.882 0, 1535285.48 839773.368 0,
+ 1535003.579 839741.871 0, 1534721.677 839710.39 0, 1534439.773 839678.925 0, 1534157.867 839647.478 0, 1533875.959 839616.047 0, 1533594.049 839584.632 0, 1533312.138 839553.234 0, 1533030.224 839521.853 0, 1532748.309 839490.488 0, 1532466.392 839459.14 0,
+ 1532184.473 839427.808 0, 1531902.552 839396.493 0, 1531620.63 839365.194 0, 1531338.705 839333.913 0, 1531056.779 839302.647 0, 1530774.851 839271.399 0, 1530492.921 839240.167 0, 1530210.989 839208.951 0, 1529927.776 839177.611 0, 1529314.722 844719.075 0,
+ 1528701.645 850260.753 0, 1528984.203 850292.02 0, 1529265.483 850323.164 0, 1529546.76 850354.323 0, 1529828.036 850385.5 0, 1530109.31 850416.693 0, 1530390.582 850447.902 0, 1530671.852 850479.128 0, 1530953.121 850510.371 0, 1531234.387 850541.63 0,
+ 1531515.652 850572.906 0, 1531796.915 850604.198 0, 1532078.176 850635.507 0, 1532359.435 850666.832 0, 1532640.693 850698.174 0, 1532921.948 850729.532 0, 1533203.202 850760.907 0, 1533484.454 850792.299 0, 1533765.704 850823.707 0, 1534046.952 850855.132 0,
+ 1534328.199 850886.573 0, 1534609.443 850918.031 0, 1534890.686 850949.505 0, 1535171.926 850980.996 0, 1535451.89 851012.36 0, 1535734.402 851044.027 0, 1536015.637 851075.568 0, 1536296.871 851107.125 0, 1536578.102 851138.699 0, 1536859.332 851170.289 0,
+ 1537140.56 851201.895 0, 1537421.786 851233.519 0, 1537703.01 851265.159 0, 1537984.232 851296.815 0, 1538265.452 851328.488 0, 1538546.671 851360.178 0, 1538827.887 851391.884 0, 1539109.102 851423.606 0, 1539390.315 851455.345 0, 1539671.526 851487.101 0,
+ 1539952.735 851518.873 0, 1540233.942 851550.662 0, 1540515.147 851582.468 0, 1540796.351 851614.289 0, 1541077.553 851646.128 0, 1541358.752 851677.983 0, 1541639.95 851709.855 0, 1541921.146 851741.743 0, 1542201.066 851773.503 0, 1542829.797 846233.58 0,
+ 1543458.504 840693.869 0))
+
+POLYGON ((1555696.16 853324.385 0, 1555416.328 853291.834 0, 1555135.223 853259.152 0, 1554854.117 853226.486 0, 1554573.008 853193.837 0, 1554291.898 853161.204 0, 1554010.785 853128.587 0, 1553729.671 853095.988 0, 1553448.554 853063.405 0, 1553167.436 853030.838 0,
+ 1552886.316 852998.288 0, 1552605.194 852965.754 0, 1552324.07 852933.237 0, 1552042.944 852900.737 0, 1551761.816 852868.253 0, 1551480.687 852835.786 0, 1551199.555 852803.335 0, 1550918.421 852770.901 0, 1550637.286 852738.483 0, 1550356.149 852706.082 0,
+ 1550075.009 852673.697 0, 1549793.868 852641.329 0, 1549512.725 852608.978 0, 1549231.58 852576.643 0, 1548949.161 852544.178 0, 1548669.285 852512.023 0, 1548388.134 852479.737 0, 1548106.981 852447.469 0, 1547825.827 852415.216 0, 1547544.671 852382.981 0,
+ 1547263.512 852350.762 0, 1546982.352 852318.559 0, 1546701.19 852286.373 0, 1546420.026 852254.203 0, 1546138.86 852222.051 0, 1545857.693 852189.914 0, 1545576.523 852157.794 0, 1545295.351 852125.691 0, 1545014.178 852093.604 0, 1544733.003 852061.534 0,
+ 1544451.826 852029.481 0, 1544170.646 851997.443 0, 1543889.466 851965.423 0, 1543608.283 851933.419 0, 1543327.098 851901.432 0, 1543045.911 851869.461 0, 1542764.723 851837.506 0, 1542483.533 851805.569 0, 1542201.066 851773.503 0, 1541572.311 857313.635 0,
+ 1540943.533 862853.973 0, 1541225.344 862885.965 0, 1541505.883 862917.829 0, 1541786.419 862949.709 0, 1542066.953 862981.605 0, 1542347.486 863013.519 0, 1542628.017 863045.448 0, 1542908.545 863077.395 0, 1543189.072 863109.357 0, 1543469.597 863141.337 0,
+ 1543750.121 863173.333 0, 1544030.642 863205.345 0, 1544311.161 863237.374 0, 1544591.679 863269.419 0, 1544872.194 863301.481 0, 1545152.708 863333.559 0, 1545433.22 863365.654 0, 1545713.73 863397.765 0, 1545994.238 863429.893 0, 1546274.744 863462.038 0,
+ 1546555.248 863494.199 0, 1546835.751 863526.376 0, 1547116.251 863558.57 0, 1547396.75 863590.78 0, 1547675.977 863622.861 0, 1547957.741 863655.251 0, 1548238.234 863687.511 0, 1548518.725 863719.787 0, 1548799.214 863752.08 0, 1549079.702 863784.39 0,
+ 1549360.187 863816.716 0, 1549640.67 863849.058 0, 1549921.152 863881.417 0, 1550201.631 863913.793 0, 1550482.109 863946.185 0, 1550762.585 863978.593 0, 1551043.059 864011.018 0, 1551323.531 864043.46 0, 1551604.001 864075.918 0, 1551884.469 864108.392 0,
+ 1552164.935 864140.884 0, 1552445.399 864173.391 0, 1552725.862 864205.915 0, 1553006.322 864238.456 0, 1553286.781 864271.013 0, 1553567.237 864303.587 0, 1553847.692 864336.177 0, 1554128.145 864368.783 0, 1554407.327 864401.259 0, 1555051.755 858862.719 0,
+ 1555696.16 853324.385 0))
+
+POLYGON ((1058862.416 420756.651 0, 1058557.328 420753.212 0, 1058250.766 420749.774 0, 1057944.203 420746.355 0, 1057637.64 420742.953 0, 1057331.077 420739.57 0, 1057024.514 420736.204 0, 1056717.951 420732.857 0, 1056411.388 420729.528 0, 1056104.824 420726.217 0,
+ 1055798.26 420722.923 0, 1055491.696 420719.648 0, 1055185.132 420716.391 0, 1054878.567 420713.152 0, 1054572.003 420709.931 0, 1054265.438 420706.728 0, 1053958.873 420703.543 0, 1053652.308 420700.376 0, 1053345.742 420697.227 0, 1053039.177 420694.097 0,
+ 1052732.611 420690.984 0, 1052426.045 420687.889 0, 1052119.479 420684.812 0, 1051812.912 420681.754 0, 1051504.871 420678.699 0, 1051199.779 420675.691 0, 1050893.213 420672.686 0, 1050586.645 420669.7 0, 1050280.078 420666.731 0, 1049973.511 420663.781 0,
+ 1049666.943 420660.849 0, 1049360.376 420657.934 0, 1049053.808 420655.038 0, 1048747.24 420652.16 0, 1048440.672 420649.3 0, 1048134.103 420646.458 0, 1047827.535 420643.634 0, 1047520.966 420640.828 0, 1047214.397 420638.04 0, 1046907.828 420635.27 0,
+ 1046601.259 420632.518 0, 1046294.689 420629.784 0, 1045988.12 420627.068 0, 1045681.55 420624.37 0, 1045374.98 420621.691 0, 1045068.41 420619.029 0, 1044761.84 420616.385 0, 1044455.27 420613.76 0, 1044147.223 420611.14 0, 1044100.169 426162.746 0,
+ 1044053.111 431714.797 0, 1044360.501 431717.411 0, 1044666.418 431720.031 0, 1044972.335 431722.669 0, 1045278.251 431725.325 0, 1045584.167 431727.999 0, 1045890.084 431730.691 0, 1046196 431733.401 0, 1046501.915 431736.129 0, 1046807.831 431738.875 0,
+ 1047113.747 431741.639 0, 1047419.662 431744.421 0, 1047725.577 431747.221 0, 1048031.492 431750.039 0, 1048337.407 431752.875 0, 1048643.322 431755.729 0, 1048949.236 431758.601 0, 1049255.151 431761.491 0, 1049561.065 431764.4 0, 1049866.979 431767.326 0,
+ 1050172.893 431770.27 0, 1050478.806 431773.232 0, 1050784.72 431776.212 0, 1051090.633 431779.21 0, 1051395.074 431782.211 0, 1051702.459 431785.26 0, 1052008.372 431788.312 0, 1052314.284 431791.382 0, 1052620.197 431794.47 0, 1052926.109 431797.577 0,
+ 1053232.021 431800.701 0, 1053537.933 431803.843 0, 1053843.845 431807.003 0, 1054149.756 431810.181 0, 1054455.667 431813.377 0, 1054761.579 431816.591 0, 1055067.489 431819.824 0, 1055373.4 431823.074 0, 1055679.311 431826.342 0, 1055985.221 431829.628 0,
+ 1056291.131 431832.932 0, 1056597.041 431836.254 0, 1056902.951 431839.595 0, 1057208.861 431842.953 0, 1057514.77 431846.329 0, 1057820.679 431849.723 0, 1058126.588 431853.136 0, 1058432.497 431856.566 0, 1058736.935 431859.997 0, 1058799.678 426308.102 0,
+ 1058862.416 420756.651 0))
+
+POLYGON ((1073420.289 432046.682 0, 1073115.86 432042.39 0, 1072809.962 432038.096 0, 1072504.064 432033.819 0, 1072198.166 432029.561 0, 1071892.267 432025.32 0, 1071586.368 432021.098 0, 1071280.469 432016.893 0, 1070974.57 432012.707 0, 1070668.67 432008.539 0,
+ 1070362.77 432004.388 0, 1070056.87 432000.256 0, 1069750.97 431996.141 0, 1069445.069 431992.045 0, 1069139.169 431987.967 0, 1068833.267 431983.906 0, 1068527.366 431979.864 0, 1068221.465 431975.839 0, 1067915.563 431971.833 0, 1067609.661 431967.845 0,
+ 1067303.759 431963.874 0, 1066997.856 431959.922 0, 1066691.953 431955.988 0, 1066386.051 431952.071 0, 1066078.678 431948.154 0, 1065774.244 431944.292 0, 1065468.34 431940.43 0, 1065162.437 431936.586 0, 1064856.532 431932.759 0, 1064550.628 431928.951 0,
+ 1064244.724 431925.161 0, 1063938.819 431921.389 0, 1063632.914 431917.634 0, 1063327.009 431913.898 0, 1063021.103 431910.18 0, 1062715.198 431906.479 0, 1062409.292 431902.797 0, 1062103.386 431899.133 0, 1061797.48 431895.486 0, 1061491.573 431891.858 0,
+ 1061185.666 431888.248 0, 1060879.76 431884.656 0, 1060573.852 431881.081 0, 1060267.945 431877.525 0, 1059962.038 431873.987 0, 1059656.13 431870.467 0, 1059350.222 431866.964 0, 1059044.314 431863.48 0, 1058736.935 431859.997 0, 1058674.186 437412.334 0,
+ 1058611.433 442965.11 0, 1058918.156 442968.585 0, 1059223.41 442972.062 0, 1059528.664 442975.557 0, 1059833.919 442979.07 0, 1060139.173 442982.6 0, 1060444.426 442986.149 0, 1060749.68 442989.716 0, 1061054.933 442993.3 0, 1061360.186 442996.903 0,
+ 1061665.439 443000.523 0, 1061970.692 443004.162 0, 1062275.944 443007.818 0, 1062581.196 443011.493 0, 1062886.448 443015.185 0, 1063191.7 443018.895 0, 1063496.952 443022.624 0, 1063802.203 443026.37 0, 1064107.454 443030.134 0, 1064412.705 443033.916 0,
+ 1064717.956 443037.717 0, 1065023.206 443041.535 0, 1065328.456 443045.371 0, 1065633.706 443049.225 0, 1065937.49 443053.078 0, 1066244.206 443056.987 0, 1066549.455 443060.895 0, 1066854.704 443064.821 0, 1067159.953 443068.765 0, 1067465.201 443072.727 0,
+ 1067770.45 443076.707 0, 1068075.698 443080.704 0, 1068380.946 443084.72 0, 1068686.194 443088.754 0, 1068991.441 443092.806 0, 1069296.688 443096.875 0, 1069601.935 443100.963 0, 1069907.182 443105.069 0, 1070212.428 443109.192 0, 1070517.675 443113.334 0,
+ 1070822.921 443117.493 0, 1071128.166 443121.671 0, 1071433.412 443125.866 0, 1071738.657 443130.08 0, 1072043.902 443134.311 0, 1072349.147 443138.56 0, 1072654.391 443142.828 0, 1072959.636 443147.113 0, 1073263.414 443151.395 0, 1073341.855 437598.819 0,
+ 1073420.289 432046.682 0))
+
+POLYGON ((1087914.811 443379.075 0, 1087611.043 443373.934 0, 1087305.812 443368.786 0, 1087000.581 443363.657 0, 1086695.349 443358.545 0, 1086390.118 443353.451 0, 1086084.885 443348.375 0, 1085779.653 443343.318 0, 1085474.42 443338.278 0, 1085169.187 443333.256 0,
+ 1084863.954 443328.252 0, 1084558.72 443323.266 0, 1084253.486 443318.298 0, 1083948.252 443313.348 0, 1083643.018 443308.416 0, 1083337.783 443303.502 0, 1083032.548 443298.606 0, 1082727.312 443293.728 0, 1082422.077 443288.868 0, 1082116.841 443284.025 0,
+ 1081811.605 443279.201 0, 1081506.368 443274.395 0, 1081201.131 443269.607 0, 1080895.894 443264.836 0, 1080589.193 443260.061 0, 1080285.419 443255.349 0, 1079980.182 443250.633 0, 1079674.943 443245.934 0, 1079369.705 443241.254 0, 1079064.466 443236.591 0,
+ 1078759.227 443231.947 0, 1078453.988 443227.32 0, 1078148.748 443222.711 0, 1077843.509 443218.121 0, 1077538.269 443213.548 0, 1077233.028 443208.993 0, 1076927.788 443204.456 0, 1076622.547 443199.938 0, 1076317.306 443195.437 0, 1076012.064 443190.954 0,
+ 1075706.822 443186.489 0, 1075401.58 443182.042 0, 1075096.338 443177.613 0, 1074791.096 443173.202 0, 1074485.853 443168.809 0, 1074180.61 443164.434 0, 1073875.367 443160.077 0, 1073570.123 443155.737 0, 1073263.414 443151.395 0, 1073184.968 448704.407 0,
+ 1073106.515 454257.851 0, 1073412.567 454262.184 0, 1073717.157 454266.514 0, 1074021.746 454270.862 0, 1074326.336 454275.227 0, 1074630.925 454279.611 0, 1074935.514 454284.013 0, 1075240.102 454288.432 0, 1075544.69 454292.87 0, 1075849.278 454297.325 0,
+ 1076153.866 454301.798 0, 1076458.453 454306.289 0, 1076763.041 454310.799 0, 1077067.628 454315.326 0, 1077372.214 454319.871 0, 1077676.801 454324.434 0, 1077981.387 454329.015 0, 1078285.973 454333.613 0, 1078590.558 454338.23 0, 1078895.143 454342.865 0,
+ 1079199.728 454347.517 0, 1079504.313 454352.188 0, 1079808.898 454356.876 0, 1080113.482 454361.583 0, 1080416.605 454366.284 0, 1080722.649 454371.049 0, 1081027.233 454375.809 0, 1081331.816 454380.587 0, 1081636.399 454385.383 0, 1081940.981 454390.197 0,
+ 1082245.563 454395.029 0, 1082550.145 454399.879 0, 1082854.727 454404.746 0, 1083159.308 454409.632 0, 1083463.89 454414.536 0, 1083768.47 454419.457 0, 1084073.051 454424.397 0, 1084377.631 454429.354 0, 1084682.211 454434.329 0, 1084986.791 454439.322 0,
+ 1085291.37 454444.333 0, 1085595.949 454449.363 0, 1085900.528 454454.409 0, 1086205.106 454459.474 0, 1086509.684 454464.557 0, 1086814.262 454469.658 0, 1087118.84 454474.777 0, 1087423.417 454479.913 0, 1087726.534 454485.043 0, 1087820.676 448931.843 0,
+ 1087914.811 443379.075 0))
+
+POLYGON ((1102345.853 454753.538 0, 1102042.749 454747.552 0, 1101738.188 454741.555 0, 1101433.626 454735.576 0, 1101129.064 454729.614 0, 1100824.501 454723.671 0, 1100519.938 454717.746 0, 1100215.375 454711.838 0, 1099910.811 454705.949 0, 1099606.247 454700.077 0,
+ 1099301.683 454694.224 0, 1098997.119 454688.388 0, 1098692.554 454682.57 0, 1098387.988 454676.77 0, 1098083.422 454670.988 0, 1097778.856 454665.224 0, 1097474.29 454659.478 0, 1097169.723 454653.75 0, 1096865.156 454648.04 0, 1096560.589 454642.347 0,
+ 1096256.021 454636.673 0, 1095951.453 454631.016 0, 1095646.885 454625.378 0, 1095342.316 454619.757 0, 1095036.289 454614.128 0, 1094733.178 454608.57 0, 1094428.608 454603.003 0, 1094124.038 454597.454 0, 1093819.468 454591.923 0, 1093514.897 454586.41 0,
+ 1093210.326 454580.915 0, 1092905.755 454575.438 0, 1092601.183 454569.978 0, 1092296.611 454564.537 0, 1091992.039 454559.114 0, 1091687.466 454553.708 0, 1091382.893 454548.32 0, 1091078.32 454542.951 0, 1090773.747 454537.599 0, 1090469.173 454532.265 0,
+ 1090164.599 454526.949 0, 1089860.024 454521.651 0, 1089555.449 454516.371 0, 1089250.874 454511.109 0, 1088946.299 454505.865 0, 1088641.723 454500.639 0, 1088337.147 454495.431 0, 1088032.571 454490.24 0, 1087726.534 454485.043 0, 1087632.385 460038.673 0,
+ 1087538.229 465592.729 0, 1087843.608 465597.915 0, 1088147.531 465603.095 0, 1088451.453 465608.292 0, 1088755.375 465613.507 0, 1089059.296 465618.74 0, 1089363.218 465623.991 0, 1089667.139 465629.259 0, 1089971.06 465634.546 0, 1090274.98 465639.85 0,
+ 1090578.9 465645.173 0, 1090882.82 465650.513 0, 1091186.739 465655.871 0, 1091490.658 465661.247 0, 1091794.577 465666.641 0, 1092098.496 465672.053 0, 1092402.414 465677.482 0, 1092706.332 465682.93 0, 1093010.249 465688.395 0, 1093314.167 465693.879 0,
+ 1093618.084 465699.38 0, 1093922 465704.899 0, 1094225.916 465710.436 0, 1094529.832 465715.991 0, 1094832.293 465721.537 0, 1095137.663 465727.154 0, 1095441.578 465732.763 0, 1095745.493 465738.389 0, 1096049.407 465744.034 0, 1096353.321 465749.696 0,
+ 1096657.235 465755.376 0, 1096961.148 465761.074 0, 1097265.061 465766.79 0, 1097568.973 465772.524 0, 1097872.886 465778.275 0, 1098176.798 465784.045 0, 1098480.709 465789.832 0, 1098784.62 465795.638 0, 1099088.531 465801.461 0, 1099392.442 465807.302 0,
+ 1099696.352 465813.161 0, 1100000.262 465819.038 0, 1100304.172 465824.933 0, 1100608.081 465830.845 0, 1100911.99 465836.776 0, 1101215.898 465842.724 0, 1101519.806 465848.691 0, 1101823.714 465854.675 0, 1102126.167 465860.648 0, 1102236.015 460306.88 0,
+ 1102345.853 454753.538 0))
+
+POLYGON ((1116713.291 466169.779 0, 1116410.853 466162.951 0, 1116106.964 466156.109 0, 1115803.073 466149.284 0, 1115499.183 466142.477 0, 1115195.292 466135.688 0, 1114891.401 466128.917 0, 1114587.509 466122.163 0, 1114283.617 466115.428 0, 1113979.725 466108.71 0,
+ 1113675.832 466102.01 0, 1113371.939 466095.329 0, 1113068.045 466088.665 0, 1112764.151 466082.019 0, 1112460.257 466075.391 0, 1112156.362 466068.78 0, 1111852.466 466062.188 0, 1111548.571 466055.614 0, 1111244.675 466049.057 0, 1110940.779 466042.518 0,
+ 1110636.882 466035.997 0, 1110332.985 466029.495 0, 1110029.087 466023.01 0, 1109725.189 466016.542 0, 1109419.838 466010.062 0, 1109117.392 466003.662 0, 1108813.493 465997.248 0, 1108509.594 465990.853 0, 1108205.694 465984.475 0, 1107901.794 465978.115 0,
+ 1107597.894 465971.773 0, 1107293.993 465965.449 0, 1106990.091 465959.143 0, 1106686.19 465952.855 0, 1106382.288 465946.584 0, 1106078.385 465940.332 0, 1105774.483 465934.097 0, 1105470.579 465927.88 0, 1105166.676 465921.682 0, 1104862.772 465915.501 0,
+ 1104558.868 465909.338 0, 1104254.963 465903.192 0, 1103951.058 465897.065 0, 1103647.153 465890.956 0, 1103343.248 465884.864 0, 1103039.342 465878.79 0, 1102735.435 465872.735 0, 1102431.528 465866.697 0, 1102126.167 465860.648 0, 1102016.312 471414.84 0,
+ 1101906.448 476969.452 0, 1102211.152 476975.488 0, 1102514.405 476981.513 0, 1102817.657 476987.556 0, 1103120.909 476993.616 0, 1103424.161 476999.695 0, 1103727.413 477005.791 0, 1104030.664 477011.905 0, 1104333.914 477018.037 0, 1104637.165 477024.187 0,
+ 1104940.415 477030.354 0, 1105243.665 477036.54 0, 1105546.914 477042.743 0, 1105850.163 477048.964 0, 1106153.411 477055.204 0, 1106456.659 477061.46 0, 1106759.907 477067.735 0, 1107063.155 477074.028 0, 1107366.402 477080.338 0, 1107669.648 477086.667 0,
+ 1107972.895 477093.013 0, 1108276.141 477099.377 0, 1108579.386 477105.759 0, 1108882.631 477112.158 0, 1109184.427 477118.545 0, 1109489.121 477125.011 0, 1109792.365 477131.464 0, 1110095.609 477137.935 0, 1110398.852 477144.424 0, 1110702.095 477150.931 0,
+ 1111005.337 477157.456 0, 1111308.579 477163.998 0, 1111611.821 477170.559 0, 1111915.063 477177.137 0, 1112218.304 477183.733 0, 1112521.544 477190.347 0, 1112824.784 477196.978 0, 1113128.024 477203.628 0, 1113431.264 477210.295 0, 1113734.503 477216.981 0,
+ 1114037.741 477223.684 0, 1114340.98 477230.405 0, 1114644.217 477237.144 0, 1114947.455 477243.9 0, 1115250.692 477250.675 0, 1115553.929 477257.467 0, 1115857.165 477264.277 0, 1116160.401 477271.105 0, 1116462.188 477277.918 0, 1116587.744 471723.639 0,
+ 1116713.291 466169.779 0))
+
+POLYGON ((1131016.998 477627.506 0, 1130715.229 477619.84 0, 1130412.014 477612.155 0, 1130108.798 477604.489 0, 1129805.582 477596.84 0, 1129502.365 477589.208 0, 1129199.148 477581.595 0, 1128895.93 477574 0, 1128592.712 477566.422 0, 1128289.494 477558.862 0,
+ 1127986.275 477551.32 0, 1127683.055 477543.796 0, 1127379.836 477536.29 0, 1127076.615 477528.801 0, 1126773.395 477521.331 0, 1126470.173 477513.878 0, 1126166.952 477506.443 0, 1125863.73 477499.026 0, 1125560.507 477491.627 0, 1125257.285 477484.246 0,
+ 1124954.061 477476.882 0, 1124650.837 477469.537 0, 1124347.613 477462.209 0, 1124044.389 477454.899 0, 1123739.716 477447.572 0, 1123437.938 477440.333 0, 1123134.712 477433.076 0, 1122831.486 477425.838 0, 1122528.259 477418.617 0, 1122225.032 477411.414 0,
+ 1121921.804 477404.229 0, 1121618.576 477397.062 0, 1121315.348 477389.913 0, 1121012.119 477382.781 0, 1120708.89 477375.668 0, 1120405.66 477368.572 0, 1120102.43 477361.494 0, 1119799.199 477354.434 0, 1119495.968 477347.392 0, 1119192.737 477340.367 0,
+ 1118889.505 477333.361 0, 1118586.273 477326.372 0, 1118283.04 477319.401 0, 1117979.807 477312.448 0, 1117676.574 477305.513 0, 1117373.34 477298.596 0, 1117070.106 477291.696 0, 1116766.871 477284.815 0, 1116462.188 477277.918 0, 1116336.622 482832.616 0,
+ 1116211.047 488387.727 0, 1116515.073 488394.609 0, 1116817.654 488401.476 0, 1117120.234 488408.36 0, 1117422.814 488415.263 0, 1117725.394 488422.183 0, 1118027.973 488429.121 0, 1118330.552 488436.077 0, 1118633.13 488443.05 0, 1118935.708 488450.042 0,
+ 1119238.285 488457.051 0, 1119540.862 488464.078 0, 1119843.439 488471.123 0, 1120146.015 488478.185 0, 1120448.591 488485.266 0, 1120751.167 488492.364 0, 1121053.741 488499.48 0, 1121356.316 488506.614 0, 1121658.89 488513.766 0, 1121961.464 488520.935 0,
+ 1122264.037 488528.123 0, 1122566.61 488535.328 0, 1122869.183 488542.551 0, 1123171.755 488549.791 0, 1123472.882 488557.015 0, 1123776.897 488564.326 0, 1124079.468 488571.62 0, 1124382.038 488578.932 0, 1124684.608 488586.262 0, 1124987.178 488593.61 0,
+ 1125289.747 488600.975 0, 1125592.315 488608.358 0, 1125894.884 488615.759 0, 1126197.451 488623.178 0, 1126500.018 488630.615 0, 1126802.585 488638.069 0, 1127105.152 488645.542 0, 1127407.718 488653.032 0, 1127710.283 488660.54 0, 1128012.848 488668.065 0,
+ 1128315.413 488675.609 0, 1128617.977 488683.17 0, 1128920.541 488690.749 0, 1129223.104 488698.346 0, 1129525.667 488705.961 0, 1129828.229 488713.593 0, 1130130.791 488721.244 0, 1130433.353 488728.912 0, 1130734.471 488736.561 0, 1130875.74 483181.826 0,
+ 1131016.998 477627.506 0))
+
+POLYGON ((1145256.852 489126.425 0, 1144955.754 489117.925 0, 1144653.215 489109.402 0, 1144350.676 489100.897 0, 1144048.137 489092.409 0, 1143745.596 489083.94 0, 1143443.056 489075.488 0, 1143140.515 489067.054 0, 1142837.973 489058.638 0, 1142535.431 489050.24 0,
+ 1142232.888 489041.859 0, 1141930.345 489033.497 0, 1141627.802 489025.152 0, 1141325.258 489016.825 0, 1141022.713 489008.516 0, 1140720.168 489000.224 0, 1140417.622 488991.951 0, 1140115.076 488983.695 0, 1139812.53 488975.457 0, 1139509.983 488967.237 0,
+ 1139207.435 488959.034 0, 1138904.887 488950.85 0, 1138602.339 488942.683 0, 1138299.79 488934.534 0, 1137995.799 488926.364 0, 1137694.691 488918.29 0, 1137392.14 488910.194 0, 1137089.59 488902.116 0, 1136787.038 488894.056 0, 1136484.486 488886.014 0,
+ 1136181.934 488877.99 0, 1135879.381 488869.983 0, 1135576.828 488861.995 0, 1135274.275 488854.024 0, 1134971.72 488846.071 0, 1134669.166 488838.136 0, 1134366.611 488830.218 0, 1134064.055 488822.318 0, 1133761.499 488814.437 0, 1133458.943 488806.573 0,
+ 1133156.386 488798.726 0, 1132853.828 488790.898 0, 1132551.271 488783.087 0, 1132248.712 488775.295 0, 1131946.154 488767.52 0, 1131643.594 488759.762 0, 1131341.035 488752.023 0, 1131038.474 488744.301 0, 1130734.471 488736.561 0, 1130593.192 494291.707 0,
+ 1130451.902 499847.262 0, 1130755.248 499854.985 0, 1131057.155 499862.69 0, 1131359.06 499870.413 0, 1131660.966 499878.153 0, 1131962.87 499885.911 0, 1132264.775 499893.687 0, 1132566.679 499901.481 0, 1132868.582 499909.293 0, 1133170.485 499917.122 0,
+ 1133472.388 499924.969 0, 1133774.29 499932.834 0, 1134076.191 499940.716 0, 1134378.092 499948.617 0, 1134679.993 499956.535 0, 1134981.893 499964.471 0, 1135283.793 499972.424 0, 1135585.692 499980.396 0, 1135887.591 499988.385 0, 1136189.489 499996.392 0,
+ 1136491.387 500004.417 0, 1136793.285 500012.459 0, 1137095.182 500020.519 0, 1137397.078 500028.597 0, 1137697.535 500036.655 0, 1138000.869 500044.807 0, 1138302.764 500052.938 0, 1138604.659 500061.087 0, 1138906.553 500069.254 0, 1139208.447 500077.439 0,
+ 1139510.34 500085.641 0, 1139812.232 500093.861 0, 1140114.124 500102.099 0, 1140416.016 500110.355 0, 1140717.907 500118.628 0, 1141019.798 500126.92 0, 1141321.688 500135.229 0, 1141623.578 500143.556 0, 1141925.467 500151.9 0, 1142227.356 500160.262 0,
+ 1142529.244 500168.643 0, 1142831.131 500177.04 0, 1143133.019 500185.456 0, 1143434.905 500193.889 0, 1143736.792 500202.341 0, 1144038.677 500210.81 0, 1144340.562 500219.296 0, 1144642.447 500227.801 0, 1144942.894 500236.282 0, 1145099.879 494681.149 0,
+ 1145256.852 489126.425 0))
+
+POLYGON ((1159432.729 500666.241 0, 1159132.305 500656.911 0, 1158830.446 500647.554 0, 1158528.586 500638.214 0, 1158226.725 500628.892 0, 1157924.864 500619.588 0, 1157623.002 500610.302 0, 1157321.14 500601.034 0, 1157019.277 500591.783 0, 1156717.414 500582.55 0,
+ 1156415.55 500573.335 0, 1156113.686 500564.137 0, 1155811.821 500554.958 0, 1155509.955 500545.796 0, 1155208.089 500536.652 0, 1154906.223 500527.525 0, 1154604.356 500518.417 0, 1154302.488 500509.326 0, 1154000.62 500500.253 0, 1153698.751 500491.197 0,
+ 1153396.882 500482.16 0, 1153095.012 500473.14 0, 1152793.142 500464.138 0, 1152491.271 500455.154 0, 1152187.963 500446.145 0, 1151887.528 500437.239 0, 1151585.655 500428.308 0, 1151283.782 500419.395 0, 1150981.909 500410.499 0, 1150680.035 500401.622 0,
+ 1150378.16 500392.762 0, 1150076.285 500383.92 0, 1149774.41 500375.096 0, 1149472.534 500366.289 0, 1149170.657 500357.5 0, 1148868.78 500348.729 0, 1148566.903 500339.976 0, 1148265.024 500331.241 0, 1147963.146 500322.523 0, 1147661.267 500313.823 0,
+ 1147359.387 500305.141 0, 1147057.507 500296.476 0, 1146755.626 500287.83 0, 1146453.745 500279.201 0, 1146151.863 500270.59 0, 1145849.981 500261.996 0, 1145548.098 500253.421 0, 1145246.215 500244.863 0, 1144942.894 500236.282 0, 1144785.898 505791.821 0,
+ 1144628.891 511347.761 0, 1144931.555 511356.323 0, 1145232.784 511364.863 0, 1145534.013 511373.42 0, 1145835.241 511381.994 0, 1146136.468 511390.587 0, 1146437.696 511399.197 0, 1146738.922 511407.825 0, 1147040.149 511416.47 0, 1147341.374 511425.134 0,
+ 1147642.599 511433.815 0, 1147943.824 511442.514 0, 1148245.048 511451.23 0, 1148546.272 511459.964 0, 1148847.495 511468.716 0, 1149148.718 511477.486 0, 1149449.94 511486.274 0, 1149751.161 511495.079 0, 1150052.382 511503.902 0, 1150353.603 511512.742 0,
+ 1150654.823 511521.601 0, 1150956.042 511530.477 0, 1151257.261 511539.371 0, 1151558.48 511548.282 0, 1151858.264 511557.169 0, 1152160.915 511566.159 0, 1152462.132 511575.123 0, 1152763.348 511584.106 0, 1153064.564 511593.106 0, 1153365.779 511602.124 0,
+ 1153666.994 511611.16 0, 1153968.208 511620.213 0, 1154269.422 511629.284 0, 1154570.635 511638.373 0, 1154871.847 511647.48 0, 1155173.059 511656.604 0, 1155474.271 511665.746 0, 1155775.482 511674.906 0, 1156076.692 511684.083 0, 1156377.902 511693.278 0,
+ 1156679.112 511702.491 0, 1156980.321 511711.722 0, 1157281.529 511720.971 0, 1157582.737 511730.237 0, 1157883.944 511739.521 0, 1158185.15 511748.822 0, 1158486.356 511758.141 0, 1158787.562 511767.479 0, 1159087.335 511776.789 0, 1159260.038 506221.314 0,
+ 1159432.729 500666.241 0))
+
+POLYGON ((1173544.51 512246.662 0, 1173244.762 512236.505 0, 1172943.584 512226.317 0, 1172642.405 512216.147 0, 1172341.226 512205.994 0, 1172040.046 512195.86 0, 1171738.866 512185.743 0, 1171437.685 512175.643 0, 1171136.504 512165.562 0, 1170835.321 512155.498 0,
+ 1170534.139 512145.451 0, 1170232.955 512135.423 0, 1169931.772 512125.412 0, 1169630.587 512115.419 0, 1169329.402 512105.444 0, 1169028.216 512095.487 0, 1168727.03 512085.547 0, 1168425.843 512075.625 0, 1168124.656 512065.72 0, 1167823.468 512055.834 0,
+ 1167522.279 512045.965 0, 1167221.09 512036.114 0, 1166919.9 512026.28 0, 1166618.71 512016.465 0, 1166316.088 512006.62 0, 1166016.328 511996.886 0, 1165715.136 511987.124 0, 1165413.943 511977.379 0, 1165112.75 511967.652 0, 1164811.556 511957.943 0,
+ 1164510.362 511948.251 0, 1164209.167 511938.577 0, 1163907.971 511928.921 0, 1163606.775 511919.282 0, 1163305.579 511909.662 0, 1163004.381 511900.059 0, 1162703.184 511890.474 0, 1162401.985 511880.906 0, 1162100.786 511871.356 0, 1161799.587 511861.824 0,
+ 1161498.387 511852.31 0, 1161197.186 511842.813 0, 1160895.985 511833.334 0, 1160594.784 511823.873 0, 1160293.581 511814.43 0, 1159992.379 511805.004 0, 1159691.175 511795.596 0, 1159389.971 511786.206 0, 1159087.335 511776.789 0, 1158914.619 517332.663 0,
+ 1158741.891 522888.932 0, 1159043.871 522898.329 0, 1159344.42 522907.699 0, 1159644.97 522917.086 0, 1159945.518 522926.492 0, 1160246.067 522935.914 0, 1160546.614 522945.355 0, 1160847.161 522954.813 0, 1161147.708 522964.289 0, 1161448.254 522973.783 0,
+ 1161748.799 522983.294 0, 1162049.344 522992.823 0, 1162349.888 523002.37 0, 1162650.432 523011.935 0, 1162950.975 523021.517 0, 1163251.518 523031.117 0, 1163552.06 523040.734 0, 1163852.601 523050.369 0, 1164153.142 523060.022 0, 1164453.683 523069.693 0,
+ 1164754.222 523079.381 0, 1165054.762 523089.087 0, 1165355.3 523098.811 0, 1165655.838 523108.552 0, 1165954.948 523118.265 0, 1166256.913 523128.088 0, 1166557.449 523137.882 0, 1166857.985 523147.694 0, 1167158.52 523157.524 0, 1167459.054 523167.371 0,
+ 1167759.588 523177.237 0, 1168060.122 523187.119 0, 1168360.655 523197.02 0, 1168661.187 523206.938 0, 1168961.719 523216.874 0, 1169262.25 523226.828 0, 1169562.78 523236.799 0, 1169863.31 523246.788 0, 1170163.839 523256.795 0, 1170464.368 523266.819 0,
+ 1170764.896 523276.861 0, 1171065.424 523286.921 0, 1171365.951 523296.998 0, 1171666.477 523307.093 0, 1171967.003 523317.206 0, 1172267.528 523327.336 0, 1172568.053 523337.485 0, 1172868.577 523347.65 0, 1173167.674 523357.786 0, 1173356.098 517802.026 0,
+ 1173544.51 512246.662 0))
+
+POLYGON ((1187592.074 523867.392 0, 1187293.004 523856.412 0, 1186992.51 523845.397 0, 1186692.015 523834.4 0, 1186391.52 523823.421 0, 1186091.024 523812.459 0, 1185790.527 523801.515 0, 1185490.03 523790.588 0, 1185189.532 523779.68 0, 1184889.034 523768.789 0,
+ 1184588.534 523757.915 0, 1184288.035 523747.06 0, 1183987.534 523736.222 0, 1183687.033 523725.401 0, 1183386.531 523714.599 0, 1183086.029 523703.814 0, 1182785.526 523693.047 0, 1182485.022 523682.297 0, 1182184.518 523671.565 0, 1181884.013 523660.851 0,
+ 1181583.507 523650.155 0, 1181283.001 523639.476 0, 1180982.494 523628.815 0, 1180681.987 523618.171 0, 1180380.054 523607.495 0, 1180080.97 523596.937 0, 1179780.461 523586.347 0, 1179479.951 523575.774 0, 1179179.44 523565.219 0, 1178878.929 523554.682 0,
+ 1178578.417 523544.162 0, 1178277.905 523533.661 0, 1177977.392 523523.176 0, 1177676.878 523512.71 0, 1177376.364 523502.261 0, 1177075.849 523491.83 0, 1176775.334 523481.416 0, 1176474.817 523471.02 0, 1176174.301 523460.642 0, 1175873.783 523450.282 0,
+ 1175573.265 523439.939 0, 1175272.747 523429.614 0, 1174972.228 523419.307 0, 1174671.708 523409.017 0, 1174371.188 523398.745 0, 1174070.667 523388.491 0, 1173770.145 523378.254 0, 1173469.623 523368.035 0, 1173167.674 523357.786 0, 1172979.236 528913.938 0,
+ 1172790.784 534470.48 0, 1173092.076 534480.708 0, 1173391.944 534490.904 0, 1173691.812 534501.119 0, 1173991.679 534511.351 0, 1174291.545 534521.6 0, 1174591.411 534531.867 0, 1174891.276 534542.152 0, 1175191.14 534552.455 0, 1175491.004 534562.775 0,
+ 1175790.867 534573.113 0, 1176090.73 534583.469 0, 1176390.592 534593.842 0, 1176690.454 534604.233 0, 1176990.314 534614.641 0, 1177290.175 534625.067 0, 1177590.034 534635.511 0, 1177889.893 534645.972 0, 1178189.752 534656.451 0, 1178489.609 534666.948 0,
+ 1178789.467 534677.462 0, 1179089.323 534687.995 0, 1179389.179 534698.544 0, 1179689.034 534709.111 0, 1179987.467 534719.646 0, 1180288.743 534730.299 0, 1180588.596 534740.919 0, 1180888.449 534751.557 0, 1181188.301 534762.213 0, 1181488.153 534772.886 0,
+ 1181788.004 534783.577 0, 1182087.854 534794.285 0, 1182387.704 534805.012 0, 1182687.553 534815.755 0, 1182987.401 534826.517 0, 1183287.249 534837.296 0, 1183587.096 534848.093 0, 1183886.942 534858.907 0, 1184186.788 534869.739 0, 1184486.633 534880.589 0,
+ 1184786.478 534891.456 0, 1185086.322 534902.341 0, 1185386.165 534913.244 0, 1185686.008 534924.164 0, 1185985.85 534935.102 0, 1186285.691 534946.058 0, 1186585.532 534957.031 0, 1186885.372 534968.022 0, 1187183.79 534978.978 0, 1187387.939 529422.99 0,
+ 1187592.074 523867.392 0))
+
+POLYGON ((1201575.303 535528.137 0, 1201276.914 535516.337 0, 1200977.106 535504.499 0, 1200677.298 535492.679 0, 1200377.488 535480.876 0, 1200077.679 535469.091 0, 1199777.868 535457.324 0, 1199478.057 535445.574 0, 1199178.245 535433.842 0, 1198878.432 535422.128 0,
+ 1198578.619 535410.431 0, 1198278.805 535398.752 0, 1197978.99 535387.09 0, 1197679.175 535375.446 0, 1197379.358 535363.82 0, 1197079.542 535352.212 0, 1196779.724 535340.621 0, 1196479.906 535329.048 0, 1196180.087 535317.492 0, 1195880.268 535305.954 0,
+ 1195580.448 535294.434 0, 1195280.627 535282.931 0, 1194980.805 535271.446 0, 1194680.983 535259.979 0, 1194379.74 535248.475 0, 1194081.337 535237.097 0, 1193781.512 535225.683 0, 1193481.687 535214.286 0, 1193181.862 535202.907 0, 1192882.036 535191.545 0,
+ 1192582.209 535180.201 0, 1192282.381 535168.875 0, 1191982.553 535157.567 0, 1191682.724 535146.276 0, 1191382.894 535135.003 0, 1191083.064 535123.747 0, 1190783.233 535112.509 0, 1190483.402 535101.289 0, 1190183.569 535090.086 0, 1189883.737 535078.901 0,
+ 1189583.903 535067.734 0, 1189284.069 535056.584 0, 1188984.234 535045.452 0, 1188684.399 535034.338 0, 1188384.562 535023.241 0, 1188084.726 535012.162 0, 1187784.888 535001.1 0, 1187485.05 534990.056 0, 1187183.79 534978.978 0, 1186979.627 540535.352 0,
+ 1186775.45 546092.11 0, 1187076.053 546103.164 0, 1187375.237 546114.184 0, 1187674.42 546125.221 0, 1187973.603 546136.276 0, 1188272.785 546147.349 0, 1188571.966 546158.439 0, 1188871.147 546169.546 0, 1189170.327 546180.672 0, 1189469.507 546191.815 0,
+ 1189768.685 546202.975 0, 1190067.863 546214.154 0, 1190367.041 546225.349 0, 1190666.218 546236.563 0, 1190965.394 546247.794 0, 1191264.569 546259.043 0, 1191563.744 546270.309 0, 1191862.918 546281.593 0, 1192162.092 546292.894 0, 1192461.265 546304.213 0,
+ 1192760.437 546315.55 0, 1193059.608 546326.904 0, 1193358.779 546338.276 0, 1193657.949 546349.666 0, 1193955.702 546361.019 0, 1194256.288 546372.498 0, 1194555.456 546383.94 0, 1194854.623 546395.4 0, 1195153.79 546406.877 0, 1195452.956 546418.373 0,
+ 1195752.122 546429.885 0, 1196051.287 546441.416 0, 1196350.451 546452.964 0, 1196649.614 546464.529 0, 1196948.777 546476.113 0, 1197247.939 546487.713 0, 1197547.1 546499.332 0, 1197846.261 546510.968 0, 1198145.421 546522.621 0, 1198444.58 546534.293 0,
+ 1198743.739 546545.982 0, 1199042.897 546557.688 0, 1199342.054 546569.412 0, 1199641.21 546581.154 0, 1199940.366 546592.913 0, 1200239.521 546604.69 0, 1200538.676 546616.484 0, 1200837.83 546628.297 0, 1201135.568 546640.07 0, 1201355.443 541083.912 0,
+ 1201575.303 535528.137 0))
+
+POLYGON ((1215494.079 547228.599 0, 1215196.374 547215.984 0, 1214897.254 547203.326 0, 1214598.135 547190.687 0, 1214299.014 547178.065 0, 1213999.892 547165.46 0, 1213700.77 547152.874 0, 1213401.647 547140.304 0, 1213102.524 547127.753 0, 1212803.399 547115.219 0,
+ 1212504.274 547102.702 0, 1212205.148 547090.204 0, 1211906.022 547077.723 0, 1211606.894 547065.259 0, 1211307.766 547052.813 0, 1211008.637 547040.385 0, 1210709.508 547027.974 0, 1210410.378 547015.581 0, 1210111.247 547003.205 0, 1209812.115 546990.847 0,
+ 1209512.982 546978.507 0, 1209213.849 546966.184 0, 1208914.715 546953.879 0, 1208615.581 546941.592 0, 1208315.031 546929.264 0, 1208017.309 546917.069 0, 1207718.172 546904.835 0, 1207419.035 546892.618 0, 1207119.897 546880.418 0, 1206820.758 546868.236 0,
+ 1206521.618 546856.072 0, 1206222.478 546843.925 0, 1205923.337 546831.796 0, 1205624.195 546819.685 0, 1205325.052 546807.591 0, 1205025.909 546795.515 0, 1204726.765 546783.456 0, 1204427.62 546771.415 0, 1204128.475 546759.392 0, 1203829.329 546747.386 0,
+ 1203530.182 546735.398 0, 1203231.035 546723.427 0, 1202931.887 546711.474 0, 1202632.738 546699.539 0, 1202333.588 546687.621 0, 1202034.438 546675.721 0, 1201735.287 546663.839 0, 1201436.135 546651.974 0, 1201135.568 546640.07 0, 1200915.677 552196.609 0,
+ 1200695.772 557753.525 0, 1200995.683 557765.403 0, 1201294.18 557777.242 0, 1201592.677 557789.098 0, 1201891.173 557800.972 0, 1202189.669 557812.864 0, 1202488.164 557824.773 0, 1202786.658 557836.7 0, 1203085.151 557848.644 0, 1203383.644 557860.606 0,
+ 1203682.136 557872.586 0, 1203980.627 557884.583 0, 1204279.117 557896.598 0, 1204577.607 557908.63 0, 1204876.096 557920.68 0, 1205174.585 557932.747 0, 1205473.073 557944.832 0, 1205771.56 557956.935 0, 1206070.046 557969.055 0, 1206368.531 557981.192 0,
+ 1206667.016 557993.348 0, 1206965.5 558005.52 0, 1207263.984 558017.711 0, 1207562.467 558029.919 0, 1207859.538 558042.086 0, 1208159.43 558054.387 0, 1208457.91 558066.648 0, 1208756.39 558078.926 0, 1209054.869 558091.222 0, 1209353.348 558103.535 0,
+ 1209651.825 558115.866 0, 1209950.302 558128.215 0, 1210248.779 558140.581 0, 1210547.254 558152.964 0, 1210845.729 558165.365 0, 1211144.203 558177.784 0, 1211442.676 558190.221 0, 1211741.149 558202.674 0, 1212039.62 558215.146 0, 1212338.091 558227.635 0,
+ 1212636.562 558240.141 0, 1212935.031 558252.666 0, 1213233.5 558265.207 0, 1213531.968 558277.767 0, 1213830.436 558290.343 0, 1214128.902 558302.938 0, 1214427.368 558315.55 0, 1214725.834 558328.179 0, 1215022.888 558340.767 0, 1215258.492 552784.494 0,
+ 1215494.079 547228.599 0))
+
+POLYGON ((1229348.288 558968.483 0, 1229051.268 558955.056 0, 1228752.84 558941.583 0, 1228454.41 558928.128 0, 1228155.981 558914.69 0, 1227857.55 558901.27 0, 1227559.118 558887.868 0, 1227260.686 558874.483 0, 1226962.253 558861.116 0, 1226663.819 558847.766 0,
+ 1226365.385 558834.434 0, 1226066.949 558821.119 0, 1225768.513 558807.822 0, 1225470.076 558794.543 0, 1225171.638 558781.281 0, 1224873.2 558768.036 0, 1224574.761 558754.809 0, 1224276.321 558741.6 0, 1223977.88 558728.409 0, 1223679.438 558715.234 0,
+ 1223380.996 558702.078 0, 1223082.553 558688.939 0, 1222784.109 558675.818 0, 1222485.664 558662.714 0, 1222185.81 558649.566 0, 1221888.772 558636.559 0, 1221590.325 558623.508 0, 1221291.877 558610.474 0, 1220993.429 558597.458 0, 1220694.979 558584.459 0,
+ 1220396.529 558571.479 0, 1220098.078 558558.515 0, 1219799.627 558545.57 0, 1219501.174 558532.641 0, 1219202.721 558519.731 0, 1218904.267 558506.838 0, 1218605.813 558493.962 0, 1218307.357 558481.104 0, 1218008.901 558468.264 0, 1217710.444 558455.441 0,
+ 1217411.986 558442.636 0, 1217113.528 558429.848 0, 1216815.069 558417.078 0, 1216516.609 558404.326 0, 1216218.148 558391.591 0, 1215919.687 558378.873 0, 1215621.225 558366.173 0, 1215322.762 558353.491 0, 1215022.888 558340.767 0, 1214787.269 563897.413 0,
+ 1214551.634 569454.431 0, 1214850.85 569467.127 0, 1215148.659 569479.782 0, 1215446.467 569492.454 0, 1215744.274 569505.143 0, 1216042.081 569517.85 0, 1216339.887 569530.575 0, 1216637.692 569543.317 0, 1216935.496 569556.077 0, 1217233.299 569568.854 0,
+ 1217531.102 569581.648 0, 1217828.904 569594.461 0, 1218126.706 569607.29 0, 1218424.506 569620.138 0, 1218722.306 569633.002 0, 1219020.105 569645.885 0, 1219317.903 569658.785 0, 1219615.701 569671.702 0, 1219913.498 569684.637 0, 1220211.294 569697.589 0,
+ 1220509.089 569710.559 0, 1220806.883 569723.547 0, 1221104.677 569736.552 0, 1221402.47 569749.574 0, 1221698.857 569762.553 0, 1221998.054 569775.672 0, 1222295.844 569788.747 0, 1222593.634 569801.84 0, 1222891.423 569814.95 0, 1223189.211 569828.078 0,
+ 1223486.999 569841.223 0, 1223784.786 569854.386 0, 1224082.572 569867.566 0, 1224380.357 569880.764 0, 1224678.141 569893.979 0, 1224975.925 569907.212 0, 1225273.708 569920.462 0, 1225571.49 569933.73 0, 1225869.271 569947.016 0, 1226167.052 569960.319 0,
+ 1226464.832 569973.639 0, 1226762.611 569986.977 0, 1227060.389 570000.333 0, 1227358.166 570013.706 0, 1227655.943 570027.097 0, 1227953.719 570040.505 0, 1228251.494 570053.93 0, 1228549.268 570067.374 0, 1228845.637 570080.771 0, 1229096.971 564524.441 0,
+ 1229348.288 558968.483 0))
+
+POLYGON ((1243137.814 570747.491 0, 1242841.482 570733.257 0, 1242543.747 570718.973 0, 1242246.011 570704.706 0, 1241948.274 570690.456 0, 1241650.536 570676.224 0, 1241352.798 570662.01 0, 1241055.059 570647.813 0, 1240757.319 570633.634 0, 1240459.578 570619.472 0,
+ 1240161.836 570605.328 0, 1239864.093 570591.201 0, 1239566.35 570577.092 0, 1239268.606 570563.001 0, 1238970.861 570548.927 0, 1238673.115 570534.87 0, 1238375.368 570520.831 0, 1238077.62 570506.809 0, 1237779.872 570492.805 0, 1237482.123 570478.819 0,
+ 1237184.373 570464.85 0, 1236886.622 570450.898 0, 1236588.87 570436.965 0, 1236291.118 570423.048 0, 1235991.961 570409.084 0, 1235695.61 570395.268 0, 1235397.855 570381.404 0, 1235100.099 570367.558 0, 1234802.343 570353.729 0, 1234504.585 570339.918 0,
+ 1234206.827 570326.124 0, 1233909.068 570312.348 0, 1233611.308 570298.589 0, 1233313.548 570284.848 0, 1233015.786 570271.125 0, 1232718.024 570257.418 0, 1232420.261 570243.73 0, 1232122.497 570230.059 0, 1231824.732 570216.405 0, 1231526.967 570202.769 0,
+ 1231229.201 570189.151 0, 1230931.433 570175.55 0, 1230633.666 570161.967 0, 1230335.897 570148.401 0, 1230038.127 570134.852 0, 1229740.357 570121.322 0, 1229442.586 570107.808 0, 1229144.814 570094.313 0, 1228845.637 570080.771 0, 1228594.287 575637.468 0,
+ 1228342.92 581194.529 0, 1228641.44 581208.041 0, 1228938.557 581221.507 0, 1229235.674 581234.991 0, 1229532.791 581248.492 0, 1229829.906 581262.011 0, 1230127.02 581275.547 0, 1230424.134 581289.1 0, 1230721.247 581302.671 0, 1231018.359 581316.26 0,
+ 1231315.471 581329.866 0, 1231612.581 581343.489 0, 1231909.691 581357.13 0, 1232206.8 581370.789 0, 1232503.908 581384.465 0, 1232801.015 581398.158 0, 1233098.122 581411.869 0, 1233395.228 581425.598 0, 1233692.333 581439.344 0, 1233989.437 581453.107 0,
+ 1234286.54 581466.888 0, 1234583.643 581480.686 0, 1234880.744 581494.502 0, 1235177.845 581508.336 0, 1235473.545 581522.121 0, 1235772.044 581536.055 0, 1236069.143 581549.941 0, 1236366.24 581563.844 0, 1236663.337 581577.765 0, 1236960.433 581591.703 0,
+ 1237257.528 581605.659 0, 1237554.623 581619.632 0, 1237851.716 581633.623 0, 1238148.809 581647.631 0, 1238445.901 581661.657 0, 1238742.992 581675.7 0, 1239040.082 581689.761 0, 1239337.171 581703.839 0, 1239634.26 581717.934 0, 1239931.348 581732.047 0,
+ 1240228.434 581746.178 0, 1240525.52 581760.326 0, 1240822.606 581774.492 0, 1241119.69 581788.675 0, 1241416.774 581802.875 0, 1241713.856 581817.094 0, 1242010.938 581831.329 0, 1242308.019 581845.582 0, 1242603.701 581859.785 0, 1242870.766 576303.456 0,
+ 1243137.814 570747.491 0))
+
+POLYGON ((1256862.545 582565.328 0, 1256566.902 582550.289 0, 1256269.863 582535.197 0, 1255972.822 582520.122 0, 1255675.781 582505.065 0, 1255378.739 582490.025 0, 1255081.696 582475.003 0, 1254784.652 582459.998 0, 1254487.607 582445.011 0, 1254190.561 582430.041 0,
+ 1253893.514 582415.088 0, 1253596.467 582400.153 0, 1253299.418 582385.236 0, 1253002.369 582370.336 0, 1252705.319 582355.454 0, 1252408.268 582340.589 0, 1252111.216 582325.741 0, 1251814.163 582310.911 0, 1251517.11 582296.098 0, 1251220.055 582281.303 0,
+ 1250923 582266.526 0, 1250625.943 582251.766 0, 1250328.886 582237.023 0, 1250031.828 582222.298 0, 1249733.372 582207.521 0, 1249437.71 582192.9 0, 1249140.649 582178.228 0, 1248843.588 582163.572 0, 1248546.525 582148.935 0, 1248249.462 582134.315 0,
+ 1247952.398 582119.712 0, 1247655.333 582105.127 0, 1247358.267 582090.559 0, 1247061.201 582076.009 0, 1246764.133 582061.476 0, 1246467.065 582046.96 0, 1246169.996 582032.463 0, 1245872.926 582017.982 0, 1245575.855 582003.519 0, 1245278.783 581989.074 0,
+ 1244981.711 581974.646 0, 1244684.637 581960.236 0, 1244387.563 581945.843 0, 1244090.488 581931.467 0, 1243793.412 581917.11 0, 1243496.335 581902.769 0, 1243199.257 581888.446 0, 1242902.179 581874.141 0, 1242603.701 581859.785 0, 1242336.618 587416.476 0,
+ 1242069.518 592973.524 0, 1242367.338 592987.848 0, 1242663.763 593002.122 0, 1242960.186 593016.413 0, 1243256.609 593030.722 0, 1243553.031 593045.048 0, 1243849.452 593059.392 0, 1244145.872 593073.753 0, 1244442.291 593088.132 0, 1244738.71 593102.528 0,
+ 1245035.127 593116.941 0, 1245331.544 593131.372 0, 1245627.96 593145.821 0, 1245924.375 593160.287 0, 1246220.789 593174.77 0, 1246517.203 593189.271 0, 1246813.615 593203.789 0, 1247110.027 593218.325 0, 1247406.438 593232.878 0, 1247702.848 593247.449 0,
+ 1247999.257 593262.037 0, 1248295.665 593276.642 0, 1248592.072 593291.265 0, 1248888.479 593305.905 0, 1249183.49 593320.494 0, 1249481.289 593335.238 0, 1249777.693 593349.931 0, 1250074.096 593364.641 0, 1250370.499 593379.369 0, 1250666.9 593394.114 0,
+ 1250963.3 593408.876 0, 1251259.7 593423.656 0, 1251556.099 593438.454 0, 1251852.496 593453.268 0, 1252148.893 593468.101 0, 1252445.29 593482.95 0, 1252741.685 593497.818 0, 1253038.079 593512.702 0, 1253334.473 593527.604 0, 1253630.865 593542.524 0,
+ 1253927.257 593557.461 0, 1254223.648 593572.415 0, 1254520.038 593587.387 0, 1254816.427 593602.376 0, 1255112.815 593617.383 0, 1255409.202 593632.407 0, 1255705.589 593647.449 0, 1256001.974 593662.508 0, 1256296.966 593677.513 0, 1256579.764 588121.242 0,
+ 1256862.545 582565.328 0))
+
+POLYGON ((1270522.368 594421.695 0, 1270227.418 594405.856 0, 1269931.076 594389.959 0, 1269634.733 594374.08 0, 1269338.39 594358.219 0, 1269042.045 594342.375 0, 1268745.699 594326.548 0, 1268449.353 594310.739 0, 1268153.006 594294.948 0, 1267856.657 594279.173 0,
+ 1267560.308 594263.417 0, 1267263.958 594247.677 0, 1266967.607 594231.955 0, 1266671.255 594216.251 0, 1266374.902 594200.564 0, 1266078.548 594184.894 0, 1265782.193 594169.242 0, 1265485.837 594153.608 0, 1265189.481 594137.99 0, 1264893.123 594122.39 0,
+ 1264596.765 594106.808 0, 1264300.405 594091.243 0, 1264004.045 594075.696 0, 1263707.684 594060.166 0, 1263409.93 594044.58 0, 1263114.958 594029.158 0, 1262818.595 594013.68 0, 1262522.23 593998.22 0, 1262225.864 593982.777 0, 1261929.497 593967.352 0,
+ 1261633.13 593951.944 0, 1261336.761 593936.553 0, 1261040.392 593921.18 0, 1260744.021 593905.825 0, 1260447.65 593890.487 0, 1260151.278 593875.166 0, 1259854.905 593859.863 0, 1259558.531 593844.577 0, 1259262.156 593829.308 0, 1258965.781 593814.057 0,
+ 1258669.404 593798.824 0, 1258373.026 593783.608 0, 1258076.648 593768.409 0, 1257780.269 593753.228 0, 1257483.888 593738.064 0, 1257187.507 593722.918 0, 1256891.125 593707.789 0, 1256594.743 593692.678 0, 1256296.966 593677.513 0, 1256014.149 599234.139 0,
+ 1255731.314 604791.117 0, 1256028.434 604806.248 0, 1256324.163 604821.326 0, 1256619.89 604836.422 0, 1256915.617 604851.535 0, 1257211.344 604866.665 0, 1257507.069 604881.813 0, 1257802.793 604896.978 0, 1258098.516 604912.16 0, 1258394.239 604927.36 0,
+ 1258689.961 604942.577 0, 1258985.681 604957.812 0, 1259281.401 604973.064 0, 1259577.12 604988.334 0, 1259872.838 605003.62 0, 1260168.555 605018.925 0, 1260464.271 605034.246 0, 1260759.987 605049.586 0, 1261055.701 605064.942 0, 1261351.415 605080.316 0,
+ 1261647.127 605095.707 0, 1261942.839 605111.116 0, 1262238.55 605126.542 0, 1262534.26 605141.986 0, 1262828.58 605157.374 0, 1263125.677 605172.925 0, 1263421.384 605188.421 0, 1263717.09 605203.934 0, 1264012.795 605219.465 0, 1264308.5 605235.012 0,
+ 1264604.203 605250.578 0, 1264899.906 605266.161 0, 1265195.608 605281.761 0, 1265491.308 605297.378 0, 1265787.008 605313.013 0, 1266082.707 605328.666 0, 1266378.405 605344.336 0, 1266674.102 605360.023 0, 1266969.798 605375.727 0, 1267265.493 605391.449 0,
+ 1267561.188 605407.189 0, 1267856.881 605422.946 0, 1268152.573 605438.72 0, 1268448.265 605454.512 0, 1268743.955 605470.321 0, 1269039.645 605486.147 0, 1269335.334 605501.991 0, 1269631.022 605517.852 0, 1269925.321 605533.656 0, 1270223.854 599977.5 0,
+ 1270522.368 594421.695 0))
+
+POLYGON ((1284117.173 606316.293 0, 1283822.917 606299.657 0, 1283527.276 606282.961 0, 1283231.633 606266.282 0, 1282935.989 606249.62 0, 1282640.344 606232.976 0, 1282344.699 606216.349 0, 1282049.052 606199.739 0, 1281753.404 606183.147 0, 1281457.756 606166.572 0,
+ 1281162.106 606150.015 0, 1280866.455 606133.475 0, 1280570.804 606116.952 0, 1280275.151 606100.447 0, 1279979.498 606083.959 0, 1279683.843 606067.489 0, 1279388.188 606051.036 0, 1279092.532 606034.601 0, 1278796.874 606018.183 0, 1278501.216 606001.782 0,
+ 1278205.557 605985.399 0, 1277909.896 605969.033 0, 1277614.235 605952.684 0, 1277318.573 605936.353 0, 1277021.523 605919.963 0, 1276727.246 605903.743 0, 1276431.581 605887.464 0, 1276135.914 605871.202 0, 1275840.247 605854.958 0, 1275544.58 605838.732 0,
+ 1275248.911 605822.522 0, 1274953.241 605806.33 0, 1274657.57 605790.156 0, 1274361.898 605773.999 0, 1274066.226 605757.859 0, 1273770.552 605741.737 0, 1273474.877 605725.632 0, 1273179.202 605709.544 0, 1272883.525 605693.474 0, 1272587.848 605677.422 0,
+ 1272292.169 605661.386 0, 1271996.49 605645.369 0, 1271700.81 605629.368 0, 1271405.129 605613.385 0, 1271109.446 605597.419 0, 1270813.763 605581.471 0, 1270518.079 605565.54 0, 1270222.394 605549.627 0, 1269925.321 605533.656 0, 1269626.769 611090.161 0,
+ 1269328.199 616647.011 0, 1269624.615 616662.946 0, 1269919.646 616678.824 0, 1270214.676 616694.72 0, 1270509.705 616710.633 0, 1270804.733 616726.563 0, 1271099.76 616742.511 0, 1271394.786 616758.476 0, 1271689.812 616774.458 0, 1271984.836 616790.458 0,
+ 1272279.859 616806.475 0, 1272574.882 616822.51 0, 1272869.903 616838.562 0, 1273164.924 616854.631 0, 1273459.943 616870.718 0, 1273754.962 616886.821 0, 1274049.979 616902.943 0, 1274344.996 616919.082 0, 1274640.012 616935.238 0, 1274935.027 616951.411 0,
+ 1275230.041 616967.602 0, 1275525.054 616983.81 0, 1275820.066 617000.036 0, 1276115.077 617016.279 0, 1276408.703 617032.463 0, 1276705.096 617048.816 0, 1277000.104 617065.111 0, 1277295.111 617081.424 0, 1277590.117 617097.753 0, 1277885.122 617114.101 0,
+ 1278180.127 617130.465 0, 1278475.13 617146.847 0, 1278770.132 617163.246 0, 1279065.134 617179.663 0, 1279360.134 617196.096 0, 1279655.134 617212.548 0, 1279950.132 617229.016 0, 1280245.13 617245.502 0, 1280540.126 617262.006 0, 1280835.122 617278.526 0,
+ 1281130.117 617295.064 0, 1281425.11 617311.62 0, 1281720.103 617328.193 0, 1282015.095 617344.783 0, 1282310.085 617361.39 0, 1282605.075 617378.015 0, 1282900.064 617394.658 0, 1283195.051 617411.317 0, 1283488.656 617427.916 0, 1283802.924 611871.932 0,
+ 1284117.173 606316.293 0))
+
+POLYGON ((1297646.851 618248.824 0, 1297353.292 618231.396 0, 1297058.352 618213.903 0, 1296763.412 618196.427 0, 1296468.47 618178.969 0, 1296173.528 618161.528 0, 1295878.584 618144.105 0, 1295583.639 618126.699 0, 1295288.694 618109.31 0, 1294993.747 618091.938 0,
+ 1294698.799 618074.584 0, 1294403.85 618057.248 0, 1294108.901 618039.928 0, 1293813.95 618022.626 0, 1293518.998 618005.342 0, 1293224.045 617988.074 0, 1292929.091 617970.824 0, 1292634.137 617953.592 0, 1292339.181 617936.377 0, 1292044.224 617919.179 0,
+ 1291749.266 617901.998 0, 1291454.307 617884.835 0, 1291159.347 617867.69 0, 1290864.386 617850.561 0, 1290568.044 617833.37 0, 1290274.461 617816.357 0, 1289979.497 617799.28 0, 1289684.532 617782.221 0, 1289389.566 617765.18 0, 1289094.6 617748.156 0,
+ 1288799.632 617731.149 0, 1288504.663 617714.159 0, 1288209.693 617697.187 0, 1287914.722 617680.232 0, 1287619.75 617663.295 0, 1287324.777 617646.375 0, 1287029.803 617629.472 0, 1286734.828 617612.587 0, 1286439.852 617595.719 0, 1286144.875 617578.868 0,
+ 1285849.897 617562.035 0, 1285554.918 617545.219 0, 1285259.938 617528.421 0, 1284964.957 617511.639 0, 1284669.976 617494.876 0, 1284374.993 617478.129 0, 1284080.009 617461.4 0, 1283785.024 617444.689 0, 1283488.656 617427.916 0, 1283174.369 622984.242 0,
+ 1282860.062 628540.906 0, 1283155.773 628557.641 0, 1283450.104 628574.316 0, 1283744.433 628591.008 0, 1284038.762 628607.717 0, 1284333.09 628624.444 0, 1284627.417 628641.188 0, 1284921.742 628657.949 0, 1285216.067 628674.727 0, 1285510.391 628691.523 0,
+ 1285804.714 628708.337 0, 1286099.036 628725.167 0, 1286393.357 628742.015 0, 1286687.677 628758.88 0, 1286981.995 628775.763 0, 1287276.313 628792.663 0, 1287570.63 628809.58 0, 1287864.946 628826.514 0, 1288159.261 628843.466 0, 1288453.575 628860.435 0,
+ 1288747.888 628877.422 0, 1289042.2 628894.425 0, 1289336.511 628911.447 0, 1289630.821 628928.485 0, 1289923.752 628945.461 0, 1290219.437 628962.614 0, 1290513.744 628979.704 0, 1290808.05 628996.812 0, 1291102.355 629013.937 0, 1291396.659 629031.079 0,
+ 1291690.962 629048.239 0, 1291985.264 629065.416 0, 1292279.565 629082.61 0, 1292573.864 629099.822 0, 1292868.163 629117.051 0, 1293162.461 629134.297 0, 1293456.758 629151.561 0, 1293751.053 629168.842 0, 1294045.348 629186.14 0, 1294339.642 629203.456 0,
+ 1294633.935 629220.789 0, 1294928.226 629238.139 0, 1295222.517 629255.506 0, 1295516.807 629272.891 0, 1295811.095 629290.293 0, 1296105.383 629307.713 0, 1296399.669 629325.15 0, 1296693.955 629342.604 0, 1296986.863 629359.994 0, 1297316.867 623804.24 0,
+ 1297646.851 618248.824 0))
+
+POLYGON ((1311111.294 630218.989 0, 1310818.434 630200.772 0, 1310524.198 630182.486 0, 1310229.962 630164.218 0, 1309935.725 630145.967 0, 1309641.487 630127.734 0, 1309347.248 630109.518 0, 1309053.007 630091.319 0, 1308758.766 630073.137 0, 1308464.523 630054.973 0,
+ 1308170.279 630036.826 0, 1307876.035 630018.696 0, 1307581.789 630000.584 0, 1307287.542 629982.489 0, 1306993.294 629964.411 0, 1306699.045 629946.351 0, 1306404.795 629928.308 0, 1306110.544 629910.282 0, 1305816.292 629892.274 0, 1305522.039 629874.283 0,
+ 1305227.784 629856.309 0, 1304933.529 629838.352 0, 1304639.273 629820.413 0, 1304345.015 629802.492 0, 1304049.382 629784.503 0, 1303756.497 629766.7 0, 1303462.237 629748.83 0, 1303167.975 629730.978 0, 1302873.712 629713.142 0, 1302579.449 629695.324 0,
+ 1302285.184 629677.524 0, 1301990.918 629659.741 0, 1301696.651 629641.975 0, 1301402.383 629624.226 0, 1301108.114 629606.495 0, 1300813.844 629588.781 0, 1300519.573 629571.084 0, 1300225.301 629553.405 0, 1299931.028 629535.743 0, 1299636.754 629518.098 0,
+ 1299342.479 629500.471 0, 1299048.202 629482.861 0, 1298753.925 629465.268 0, 1298459.647 629447.693 0, 1298165.367 629430.135 0, 1297871.087 629412.594 0, 1297576.805 629395.07 0, 1297282.523 629377.564 0, 1296986.863 629359.994 0, 1296656.839 634916.083 0,
+ 1296326.796 640472.504 0, 1296621.798 640490.035 0, 1296915.427 640507.502 0, 1297209.054 640524.987 0, 1297502.681 640542.489 0, 1297796.306 640560.008 0, 1298089.93 640577.544 0, 1298383.553 640595.098 0, 1298677.176 640612.669 0, 1298970.797 640630.257 0,
+ 1299264.417 640647.862 0, 1299558.036 640665.485 0, 1299851.654 640683.125 0, 1300145.271 640700.782 0, 1300438.887 640718.457 0, 1300732.502 640736.149 0, 1301026.116 640753.858 0, 1301319.729 640771.584 0, 1301613.341 640789.328 0, 1301906.951 640807.089 0,
+ 1302200.561 640824.867 0, 1302494.17 640842.663 0, 1302787.777 640860.476 0, 1303081.384 640878.306 0, 1303373.617 640896.07 0, 1303668.594 640914.018 0, 1303962.197 640931.9 0, 1304255.8 640949.799 0, 1304549.401 640967.716 0, 1304843.001 640985.65 0,
+ 1305136.601 641003.601 0, 1305430.199 641021.569 0, 1305723.796 641039.555 0, 1306017.392 641057.558 0, 1306310.987 641075.578 0, 1306604.581 641093.615 0, 1306898.174 641111.67 0, 1307191.765 641129.742 0, 1307485.356 641147.831 0, 1307778.946 641165.938 0,
+ 1308072.534 641184.062 0, 1308366.122 641202.203 0, 1308659.708 641220.362 0, 1308953.294 641238.537 0, 1309246.878 641256.73 0, 1309540.461 641274.941 0, 1309834.044 641293.168 0, 1310127.625 641311.413 0, 1310419.834 641329.59 0, 1310765.574 635774.124 0,
+ 1311111.294 630218.989 0))
+
+POLYGON ((1324510.395 642226.488 0, 1324218.236 642207.486 0, 1323924.707 642188.412 0, 1323631.178 642169.355 0, 1323337.647 642150.315 0, 1323044.115 642131.293 0, 1322750.582 642112.288 0, 1322457.048 642093.3 0, 1322163.513 642074.329 0, 1321869.977 642055.376 0,
+ 1321576.44 642036.44 0, 1321282.901 642017.521 0, 1320989.362 641998.62 0, 1320695.821 641979.736 0, 1320402.279 641960.869 0, 1320108.736 641942.019 0, 1319815.192 641923.187 0, 1319521.647 641904.372 0, 1319228.101 641885.574 0, 1318934.554 641866.794 0,
+ 1318641.005 641848.03 0, 1318347.456 641829.284 0, 1318053.905 641810.556 0, 1317760.353 641791.844 0, 1317465.431 641773.063 0, 1317173.247 641754.473 0, 1316879.692 641735.814 0, 1316586.135 641717.172 0, 1316292.578 641698.547 0, 1315999.02 641679.939 0,
+ 1315705.46 641661.348 0, 1315411.9 641642.775 0, 1315118.338 641624.219 0, 1314824.776 641605.681 0, 1314531.212 641587.159 0, 1314237.647 641568.655 0, 1313944.081 641550.169 0, 1313650.514 641531.699 0, 1313356.946 641513.247 0, 1313063.377 641494.812 0,
+ 1312769.806 641476.394 0, 1312476.235 641457.994 0, 1312182.662 641439.611 0, 1311889.089 641421.245 0, 1311595.514 641402.897 0, 1311301.938 641384.565 0, 1311008.362 641366.251 0, 1310714.784 641347.955 0, 1310419.834 641329.59 0, 1310074.073 646885.385 0,
+ 1309728.292 652441.505 0, 1310022.585 652459.828 0, 1310315.509 652478.084 0, 1310608.432 652496.358 0, 1310901.354 652514.648 0, 1311194.274 652532.956 0, 1311487.194 652551.281 0, 1311780.112 652569.623 0, 1312073.03 652587.982 0, 1312365.946 652606.359 0,
+ 1312658.861 652624.753 0, 1312951.775 652643.164 0, 1313244.688 652661.592 0, 1313537.6 652680.038 0, 1313830.511 652698.5 0, 1314123.421 652716.98 0, 1314416.33 652735.478 0, 1314709.237 652753.992 0, 1315002.144 652772.524 0, 1315295.049 652791.073 0,
+ 1315587.954 652809.639 0, 1315880.857 652828.223 0, 1316173.759 652846.824 0, 1316466.66 652865.442 0, 1316758.194 652883.99 0, 1317052.459 652902.729 0, 1317345.357 652921.399 0, 1317638.253 652940.086 0, 1317931.149 652958.79 0, 1318224.044 652977.511 0,
+ 1318516.937 652996.25 0, 1318809.829 653015.006 0, 1319102.72 653033.779 0, 1319395.61 653052.569 0, 1319688.499 653071.377 0, 1319981.387 653090.202 0, 1320274.274 653109.044 0, 1320567.16 653127.903 0, 1320860.044 653146.78 0, 1321152.927 653165.674 0,
+ 1321445.81 653184.585 0, 1321738.691 653203.513 0, 1322031.571 653222.459 0, 1322324.45 653241.421 0, 1322617.328 653260.401 0, 1322910.205 653279.399 0, 1323203.08 653298.413 0, 1323495.955 653317.445 0, 1323787.463 653336.405 0, 1324148.939 647781.284 0,
+ 1324510.395 642226.488 0))
+
+POLYGON ((1337844.048 654271.021 0, 1337552.593 654251.237 0, 1337259.773 654231.378 0, 1336966.953 654211.537 0, 1336674.131 654191.712 0, 1336381.308 654171.905 0, 1336088.484 654152.115 0, 1335795.658 654132.342 0, 1335502.832 654112.586 0, 1335210.004 654092.848 0,
+ 1334917.175 654073.126 0, 1334624.345 654053.422 0, 1334331.514 654033.736 0, 1334038.682 654014.066 0, 1333745.848 653994.414 0, 1333453.013 653974.779 0, 1333160.178 653955.161 0, 1332867.341 653935.561 0, 1332574.503 653915.977 0, 1332281.663 653896.411 0,
+ 1331988.823 653876.863 0, 1331695.981 653857.331 0, 1331403.139 653837.817 0, 1331110.295 653818.32 0, 1330816.086 653798.749 0, 1330524.604 653779.377 0, 1330231.756 653759.932 0, 1329938.908 653740.503 0, 1329646.058 653721.093 0, 1329353.207 653701.699 0,
+ 1329060.356 653682.322 0, 1328767.503 653662.963 0, 1328474.648 653643.621 0, 1328181.793 653624.296 0, 1327888.937 653604.989 0, 1327596.079 653585.699 0, 1327303.22 653566.426 0, 1327010.361 653547.17 0, 1326717.5 653527.931 0, 1326424.638 653508.71 0,
+ 1326131.774 653489.506 0, 1325838.91 653470.319 0, 1325546.044 653451.149 0, 1325253.178 653431.997 0, 1324960.31 653412.862 0, 1324667.441 653393.744 0, 1324374.571 653374.643 0, 1324081.7 653355.56 0, 1323787.463 653336.405 0, 1323425.965 658891.848 0,
+ 1323064.447 664447.609 0, 1323358.027 664466.721 0, 1323650.245 664485.762 0, 1323942.461 664504.82 0, 1324234.676 664523.895 0, 1324526.889 664542.987 0, 1324819.102 664562.097 0, 1325111.313 664581.224 0, 1325403.524 664600.368 0, 1325695.733 664619.529 0,
+ 1325987.941 664638.707 0, 1326280.148 664657.903 0, 1326572.354 664677.116 0, 1326864.559 664696.346 0, 1327156.762 664715.593 0, 1327448.965 664734.857 0, 1327741.166 664754.139 0, 1328033.367 664773.438 0, 1328325.566 664792.754 0, 1328617.764 664812.087 0,
+ 1328909.96 664831.437 0, 1329202.156 664850.805 0, 1329494.35 664870.19 0, 1329786.544 664889.592 0, 1330077.375 664908.92 0, 1330370.927 664928.447 0, 1330663.117 664947.901 0, 1330955.306 664967.372 0, 1331247.494 664986.86 0, 1331539.68 665006.365 0,
+ 1331831.865 665025.887 0, 1332124.05 665045.427 0, 1332416.233 665064.983 0, 1332708.415 665084.557 0, 1333000.595 665104.149 0, 1333292.775 665123.757 0, 1333584.953 665143.383 0, 1333877.131 665163.025 0, 1334169.307 665182.685 0, 1334461.482 665202.362 0,
+ 1334753.656 665222.057 0, 1335045.828 665241.768 0, 1335338 665261.497 0, 1335630.17 665281.243 0, 1335922.339 665301.006 0, 1336214.507 665320.786 0, 1336506.674 665340.584 0, 1336798.84 665360.399 0, 1337089.645 665380.138 0, 1337466.857 659825.42 0,
+ 1337844.048 654271.021 0))
+
+POLYGON ((1351112.152 666352.287 0, 1350821.402 666331.726 0, 1350529.293 666311.086 0, 1350237.183 666290.463 0, 1349945.072 666269.858 0, 1349652.96 666249.269 0, 1349360.847 666228.698 0, 1349068.732 666208.144 0, 1348776.616 666187.607 0, 1348484.499 666167.087 0,
+ 1348192.381 666146.585 0, 1347900.262 666126.099 0, 1347608.141 666105.631 0, 1347316.019 666085.18 0, 1347023.896 666064.747 0, 1346731.772 666044.33 0, 1346439.647 666023.931 0, 1346147.52 666003.549 0, 1345855.392 665983.184 0, 1345563.263 665962.836 0,
+ 1345271.133 665942.505 0, 1344979.001 665922.192 0, 1344686.869 665901.896 0, 1344394.735 665881.617 0, 1344101.241 665861.261 0, 1343810.464 665841.11 0, 1343518.326 665820.883 0, 1343226.188 665800.673 0, 1342934.048 665780.48 0, 1342641.907 665760.304 0,
+ 1342349.765 665740.145 0, 1342057.621 665720.004 0, 1341765.477 665699.88 0, 1341473.331 665679.773 0, 1341181.184 665659.683 0, 1340889.036 665639.61 0, 1340596.887 665619.555 0, 1340304.737 665599.516 0, 1340012.585 665579.495 0, 1339720.432 665559.491 0,
+ 1339428.278 665539.505 0, 1339136.123 665519.535 0, 1338843.967 665499.583 0, 1338551.809 665479.648 0, 1338259.651 665459.73 0, 1337967.491 665439.829 0, 1337675.33 665419.946 0, 1337383.168 665400.08 0, 1337089.645 665380.138 0, 1336712.41 670935.171 0,
+ 1336335.155 676490.516 0, 1336628.021 676510.412 0, 1336919.529 676530.234 0, 1337211.036 676550.073 0, 1337502.542 676569.929 0, 1337794.047 676589.803 0, 1338085.551 676609.693 0, 1338377.053 676629.601 0, 1338668.554 676649.525 0, 1338960.054 676669.467 0,
+ 1339251.553 676689.427 0, 1339543.051 676709.403 0, 1339834.547 676729.396 0, 1340126.043 676749.407 0, 1340417.537 676769.434 0, 1340709.03 676789.479 0, 1341000.522 676809.541 0, 1341292.012 676829.621 0, 1341583.502 676849.717 0, 1341874.99 676869.83 0,
+ 1342166.477 676889.961 0, 1342457.963 676910.109 0, 1342749.448 676930.274 0, 1343040.931 676950.456 0, 1343331.058 676970.561 0, 1343623.895 676990.872 0, 1343915.375 677011.105 0, 1344206.853 677031.356 0, 1344498.331 677051.624 0, 1344789.807 677071.909 0,
+ 1345081.283 677092.211 0, 1345372.757 677112.531 0, 1345664.229 677132.867 0, 1345955.701 677153.221 0, 1346247.171 677173.592 0, 1346538.641 677193.98 0, 1346830.109 677214.385 0, 1347121.575 677234.807 0, 1347413.041 677255.247 0, 1347704.505 677275.703 0,
+ 1347995.968 677296.177 0, 1348287.43 677316.668 0, 1348578.891 677337.176 0, 1348870.351 677357.701 0, 1349161.809 677378.244 0, 1349453.266 677398.803 0, 1349744.722 677419.38 0, 1350036.177 677439.974 0, 1350326.276 677460.489 0, 1350719.225 671906.232 0,
+ 1351112.152 666352.287 0))
+
+POLYGON ((1364314.601 678469.986 0, 1364024.559 678448.651 0, 1363733.163 678427.234 0, 1363441.767 678405.834 0, 1363150.369 678384.451 0, 1362858.97 678363.085 0, 1362567.569 678341.737 0, 1362276.168 678320.405 0, 1361984.765 678299.091 0, 1361693.361 678277.794 0,
+ 1361401.955 678256.514 0, 1361110.548 678235.251 0, 1360819.141 678214.005 0, 1360527.731 678192.777 0, 1360236.321 678171.566 0, 1359944.909 678150.371 0, 1359653.496 678129.194 0, 1359362.082 678108.034 0, 1359070.667 678086.892 0, 1358779.25 678065.766 0,
+ 1358487.832 678044.657 0, 1358196.413 678023.566 0, 1357904.993 678002.492 0, 1357613.571 677981.435 0, 1357320.795 677960.298 0, 1357030.724 677939.372 0, 1356739.299 677918.367 0, 1356447.872 677897.379 0, 1356156.444 677876.407 0, 1355865.015 677855.453 0,
+ 1355573.585 677834.516 0, 1355282.154 677813.597 0, 1354990.721 677792.694 0, 1354699.287 677771.808 0, 1354407.852 677750.94 0, 1354116.415 677730.089 0, 1353824.978 677709.255 0, 1353533.539 677688.438 0, 1353242.099 677667.638 0, 1352950.657 677646.856 0,
+ 1352659.215 677626.09 0, 1352367.771 677605.342 0, 1352076.326 677584.611 0, 1351784.88 677563.897 0, 1351493.432 677543.2 0, 1351201.984 677522.521 0, 1350910.534 677501.858 0, 1350619.083 677481.213 0, 1350326.276 677460.489 0, 1349933.306 683015.054 0,
+ 1349540.314 688569.924 0, 1349832.463 688590.601 0, 1350123.26 688611.2 0, 1350414.056 688631.817 0, 1350704.851 688652.45 0, 1350995.645 688673.1 0, 1351286.437 688693.768 0, 1351577.228 688714.452 0, 1351868.018 688735.154 0, 1352158.807 688755.873 0,
+ 1352449.594 688776.609 0, 1352740.381 688797.362 0, 1353031.166 688818.132 0, 1353321.949 688838.919 0, 1353612.732 688859.723 0, 1353903.513 688880.545 0, 1354194.293 688901.384 0, 1354485.072 688922.239 0, 1354775.85 688943.112 0, 1355066.626 688964.002 0,
+ 1355357.402 688984.909 0, 1355648.176 689005.833 0, 1355938.948 689026.775 0, 1356229.72 689047.733 0, 1356519.14 689068.611 0, 1356811.259 689089.701 0, 1357102.027 689110.711 0, 1357392.794 689131.738 0, 1357683.559 689152.782 0, 1357974.323 689173.843 0,
+ 1358265.086 689194.921 0, 1358555.848 689216.017 0, 1358846.608 689237.129 0, 1359137.367 689258.259 0, 1359428.125 689279.405 0, 1359718.882 689300.569 0, 1360009.637 689321.75 0, 1360300.391 689342.948 0, 1360591.144 689364.163 0, 1360881.896 689385.395 0,
+ 1361172.646 689406.645 0, 1361463.395 689427.911 0, 1361754.143 689449.195 0, 1362044.89 689470.495 0, 1362335.635 689491.813 0, 1362626.379 689513.148 0, 1362917.122 689534.5 0, 1363207.864 689555.869 0, 1363497.256 689577.156 0, 1363905.94 684023.419 0,
+ 1364314.601 678469.986 0))
+
+POLYGON ((1377451.296 690623.815 0, 1377161.964 690601.711 0, 1376871.284 690579.52 0, 1376580.602 690557.347 0, 1376289.919 690535.191 0, 1375999.235 690513.051 0, 1375708.55 690490.929 0, 1375417.863 690468.825 0, 1375127.176 690446.737 0, 1374836.486 690424.666 0,
+ 1374545.796 690402.612 0, 1374255.104 690380.576 0, 1373964.411 690358.557 0, 1373673.717 690336.554 0, 1373383.021 690314.569 0, 1373092.324 690292.601 0, 1372801.626 690270.65 0, 1372510.926 690248.717 0, 1372220.225 690226.8 0, 1371929.523 690204.9 0,
+ 1371638.82 690183.018 0, 1371348.115 690161.152 0, 1371057.409 690139.304 0, 1370766.702 690117.473 0, 1370474.646 690095.558 0, 1370185.283 690073.862 0, 1369894.572 690052.082 0, 1369603.859 690030.32 0, 1369313.146 690008.574 0, 1369022.431 689986.845 0,
+ 1368731.715 689965.134 0, 1368440.997 689943.44 0, 1368150.278 689921.763 0, 1367859.558 689900.103 0, 1367568.837 689878.46 0, 1367278.114 689856.834 0, 1366987.39 689835.225 0, 1366696.665 689813.634 0, 1366405.938 689792.059 0, 1366115.211 689770.502 0,
+ 1365824.482 689748.961 0, 1365533.751 689727.438 0, 1365243.02 689705.932 0, 1364952.287 689684.443 0, 1364661.553 689662.972 0, 1364370.818 689641.517 0, 1364080.081 689620.079 0, 1363789.343 689598.659 0, 1363497.256 689577.156 0, 1363088.549 695131.195 0,
+ 1362679.821 700685.533 0, 1362971.252 700706.987 0, 1363261.336 700728.359 0, 1363551.419 700749.749 0, 1363841.5 700771.155 0, 1364131.581 700792.579 0, 1364421.66 700814.019 0, 1364711.737 700835.477 0, 1365001.814 700856.952 0, 1365291.889 700878.443 0,
+ 1365581.963 700899.952 0, 1365872.036 700921.478 0, 1366162.107 700943.021 0, 1366452.177 700964.581 0, 1366742.246 700986.159 0, 1367032.314 701007.753 0, 1367322.38 701029.364 0, 1367612.445 701050.993 0, 1367902.509 701072.638 0, 1368192.571 701094.301 0,
+ 1368482.633 701115.98 0, 1368772.693 701137.677 0, 1369062.751 701159.391 0, 1369352.809 701181.122 0, 1369641.52 701202.769 0, 1369932.92 701224.634 0, 1370222.973 701246.417 0, 1370513.025 701268.216 0, 1370803.076 701290.032 0, 1371093.126 701311.865 0,
+ 1371383.174 701333.715 0, 1371673.222 701355.583 0, 1371963.267 701377.467 0, 1372253.312 701399.369 0, 1372543.355 701421.288 0, 1372833.397 701443.223 0, 1373123.438 701465.176 0, 1373413.477 701487.146 0, 1373703.515 701509.133 0, 1373993.552 701531.137 0,
+ 1374283.588 701553.158 0, 1374573.622 701575.196 0, 1374863.655 701597.251 0, 1375153.686 701619.323 0, 1375443.717 701641.413 0, 1375733.746 701663.519 0, 1376023.774 701685.643 0, 1376313.8 701707.783 0, 1376602.482 701729.838 0, 1377026.9 696176.678 0,
+ 1377451.296 690623.815 0))
+
+POLYGON ((1390522.137 702813.473 0, 1390233.516 702790.603 0, 1389943.553 702767.643 0, 1389653.589 702744.7 0, 1389363.624 702721.774 0, 1389073.657 702698.866 0, 1388783.689 702675.974 0, 1388493.72 702653.1 0, 1388203.749 702630.242 0, 1387913.777 702607.402 0,
+ 1387623.803 702584.579 0, 1387333.828 702561.772 0, 1387043.852 702538.983 0, 1386753.875 702516.211 0, 1386463.896 702493.456 0, 1386173.916 702470.718 0, 1385883.934 702447.997 0, 1385593.951 702425.293 0, 1385303.967 702402.607 0, 1385013.982 702379.937 0,
+ 1384723.995 702357.284 0, 1384434.006 702334.649 0, 1384144.017 702312.03 0, 1383854.026 702289.429 0, 1383562.692 702266.74 0, 1383274.04 702244.277 0, 1382984.046 702221.727 0, 1382694.049 702199.194 0, 1382404.052 702176.678 0, 1382114.053 702154.179 0,
+ 1381824.053 702131.697 0, 1381534.051 702109.232 0, 1381244.049 702086.784 0, 1380954.045 702064.353 0, 1380664.039 702041.94 0, 1380374.032 702019.543 0, 1380084.024 701997.164 0, 1379794.015 701974.801 0, 1379504.004 701952.456 0, 1379213.992 701930.127 0,
+ 1378923.979 701907.816 0, 1378633.964 701885.522 0, 1378343.948 701863.245 0, 1378053.931 701840.985 0, 1377763.912 701818.742 0, 1377473.893 701796.516 0, 1377183.871 701774.307 0, 1376893.849 701752.115 0, 1376602.482 701729.838 0, 1376178.041 707283.293 0,
+ 1375753.577 712837.04 0, 1376044.288 712859.267 0, 1376333.656 712881.409 0, 1376623.024 712903.568 0, 1376912.39 712925.743 0, 1377201.755 712947.936 0, 1377491.118 712970.146 0, 1377780.481 712992.373 0, 1378069.841 713014.617 0, 1378359.201 713036.878 0,
+ 1378648.559 713059.156 0, 1378937.916 713081.451 0, 1379227.272 713103.763 0, 1379516.626 713126.092 0, 1379805.979 713148.438 0, 1380095.331 713170.801 0, 1380384.682 713193.181 0, 1380674.031 713215.579 0, 1380963.378 713237.993 0, 1381252.725 713260.424 0,
+ 1381542.07 713282.872 0, 1381831.414 713305.338 0, 1382120.756 713327.82 0, 1382410.097 713350.319 0, 1382698.098 713372.732 0, 1382988.776 713395.369 0, 1383278.113 713417.92 0, 1383567.449 713440.487 0, 1383856.783 713463.072 0, 1384146.117 713485.673 0,
+ 1384435.448 713508.292 0, 1384724.779 713530.928 0, 1385014.108 713553.58 0, 1385303.436 713576.25 0, 1385592.763 713598.937 0, 1385882.088 713621.64 0, 1386171.412 713644.361 0, 1386460.734 713667.099 0, 1386750.055 713689.854 0, 1387039.375 713712.626 0,
+ 1387328.694 713735.414 0, 1387618.011 713758.22 0, 1387907.327 713781.043 0, 1388196.641 713803.883 0, 1388485.954 713826.74 0, 1388775.266 713849.614 0, 1389064.577 713872.505 0, 1389353.886 713895.413 0, 1389641.856 713918.233 0, 1390082.008 708365.707 0,
+ 1390522.137 702813.473 0))
+
+POLYGON ((1403527.024 715038.658 0, 1403239.117 715015.025 0, 1402949.874 714991.3 0, 1402660.63 714967.591 0, 1402371.384 714943.9 0, 1402082.136 714920.226 0, 1401792.887 714896.569 0, 1401503.637 714872.928 0, 1401214.386 714849.305 0, 1400925.133 714825.699 0,
+ 1400635.878 714802.11 0, 1400346.623 714778.538 0, 1400057.365 714754.983 0, 1399768.107 714731.445 0, 1399478.847 714707.923 0, 1399189.586 714684.419 0, 1398900.323 714660.932 0, 1398611.059 714637.462 0, 1398321.794 714614.01 0, 1398032.527 714590.574 0,
+ 1397743.259 714567.155 0, 1397453.989 714543.753 0, 1397164.718 714520.368 0, 1396875.446 714497 0, 1396584.836 714473.542 0, 1396296.897 714450.316 0, 1396007.62 714426.999 0, 1395718.343 714403.699 0, 1395429.063 714380.417 0, 1395139.783 714357.151 0,
+ 1394850.501 714333.902 0, 1394561.218 714310.671 0, 1394271.933 714287.456 0, 1393982.647 714264.259 0, 1393693.36 714241.078 0, 1393404.071 714217.915 0, 1393114.781 714194.768 0, 1392825.489 714171.639 0, 1392536.196 714148.526 0, 1392246.902 714125.431 0,
+ 1391957.607 714102.352 0, 1391668.31 714079.291 0, 1391379.011 714056.247 0, 1391089.712 714033.22 0, 1390800.411 714010.209 0, 1390511.109 713987.216 0, 1390221.805 713964.24 0, 1389932.5 713941.281 0, 1389641.856 713918.233 0, 1389201.681 719471.046 0,
+ 1388761.484 725024.143 0, 1389051.471 725047.139 0, 1389340.122 725070.047 0, 1389628.772 725092.971 0, 1389917.421 725115.912 0, 1390206.068 725138.871 0, 1390494.714 725161.846 0, 1390783.359 725184.838 0, 1391072.002 725207.847 0, 1391360.644 725230.873 0,
+ 1391649.285 725253.917 0, 1391937.924 725276.977 0, 1392226.562 725300.054 0, 1392515.198 725323.148 0, 1392803.833 725346.259 0, 1393092.467 725369.387 0, 1393381.099 725392.533 0, 1393669.73 725415.695 0, 1393958.36 725438.874 0, 1394246.988 725462.07 0,
+ 1394535.615 725485.283 0, 1394824.241 725508.513 0, 1395112.865 725531.76 0, 1395401.488 725555.024 0, 1395688.776 725578.198 0, 1395978.73 725601.603 0, 1396267.348 725624.918 0, 1396555.966 725648.25 0, 1396844.582 725671.599 0, 1397133.196 725694.965 0,
+ 1397421.81 725718.348 0, 1397710.421 725741.748 0, 1397999.032 725765.165 0, 1398287.641 725788.599 0, 1398576.249 725812.05 0, 1398864.855 725835.518 0, 1399153.46 725859.003 0, 1399442.064 725882.505 0, 1399730.666 725906.024 0, 1400019.267 725929.559 0,
+ 1400307.866 725953.112 0, 1400596.464 725976.682 0, 1400885.061 726000.269 0, 1401173.656 726023.873 0, 1401462.25 726047.493 0, 1401750.842 726071.131 0, 1402039.433 726094.786 0, 1402328.023 726118.458 0, 1402615.279 726142.037 0, 1403071.163 720590.205 0,
+ 1403527.024 715038.658 0))
+
+POLYGON ((1416465.861 727299.066 0, 1416178.671 727274.675 0, 1415890.149 727250.188 0, 1415601.626 727225.718 0, 1415313.101 727201.265 0, 1415024.575 727176.829 0, 1414736.048 727152.41 0, 1414447.519 727128.008 0, 1414158.989 727103.623 0, 1413870.457 727079.254 0,
+ 1413581.924 727054.903 0, 1413293.389 727030.569 0, 1413004.853 727006.252 0, 1412716.316 726981.952 0, 1412427.777 726957.669 0, 1412139.237 726933.403 0, 1411850.695 726909.153 0, 1411562.152 726884.921 0, 1411273.607 726860.706 0, 1410985.061 726836.508 0,
+ 1410696.514 726812.326 0, 1410407.965 726788.162 0, 1410119.415 726764.015 0, 1409830.863 726739.885 0, 1409540.979 726715.66 0, 1409253.755 726691.675 0, 1408965.199 726667.595 0, 1408676.642 726643.533 0, 1408388.083 726619.488 0, 1408099.523 726595.459 0,
+ 1407810.961 726571.448 0, 1407522.398 726547.453 0, 1407233.834 726523.476 0, 1406945.268 726499.515 0, 1406656.701 726475.572 0, 1406368.132 726451.645 0, 1406079.562 726427.736 0, 1405790.99 726403.843 0, 1405502.417 726379.968 0, 1405213.843 726356.109 0,
+ 1404925.267 726332.268 0, 1404636.69 726308.443 0, 1404348.112 726284.635 0, 1404059.532 726260.845 0, 1403770.951 726237.071 0, 1403482.368 726213.314 0, 1403193.784 726189.575 0, 1402905.198 726165.852 0, 1402615.279 726142.037 0, 1402159.372 731694.15 0,
+ 1401703.442 737246.54 0, 1401992.704 737270.301 0, 1402280.636 737293.97 0, 1402568.567 737317.656 0, 1402856.496 737341.359 0, 1403144.424 737365.079 0, 1403432.35 737388.816 0, 1403720.275 737412.569 0, 1404008.199 737436.34 0, 1404296.121 737460.127 0,
+ 1404584.041 737483.932 0, 1404871.961 737507.753 0, 1405159.879 737531.592 0, 1405447.795 737555.447 0, 1405735.71 737579.32 0, 1406023.624 737603.209 0, 1406311.536 737627.115 0, 1406599.447 737651.038 0, 1406887.357 737674.978 0, 1407175.265 737698.935 0,
+ 1407463.172 737722.909 0, 1407751.077 737746.9 0, 1408038.981 737770.908 0, 1408326.883 737794.933 0, 1408613.457 737818.864 0, 1408902.684 737843.034 0, 1409190.582 737867.109 0, 1409478.479 737891.202 0, 1409766.374 737915.311 0, 1410054.268 737939.438 0,
+ 1410342.161 737963.581 0, 1410630.052 737987.742 0, 1410917.942 738011.919 0, 1411205.83 738036.113 0, 1411493.717 738060.325 0, 1411781.602 738084.553 0, 1412069.486 738108.798 0, 1412357.369 738133.06 0, 1412645.25 738157.339 0, 1412933.129 738181.635 0,
+ 1413221.008 738205.948 0, 1413508.884 738230.278 0, 1413796.76 738254.625 0, 1414084.634 738278.988 0, 1414372.506 738303.369 0, 1414660.377 738327.767 0, 1414948.247 738352.181 0, 1415236.115 738376.613 0, 1415522.656 738400.948 0, 1415994.27 732849.868 0,
+ 1416465.861 727299.066 0))
+
+POLYGON ((1429338.553 739594.394 0, 1429052.08 739569.248 0, 1428764.282 739544.004 0, 1428476.482 739518.776 0, 1428188.681 739493.565 0, 1427900.879 739468.371 0, 1427613.075 739443.194 0, 1427325.269 739418.034 0, 1427037.463 739392.891 0, 1426749.654 739367.765 0,
+ 1426461.844 739342.656 0, 1426174.033 739317.564 0, 1425886.22 739292.489 0, 1425598.406 739267.43 0, 1425310.59 739242.389 0, 1425022.773 739217.364 0, 1424734.954 739192.357 0, 1424447.134 739167.366 0, 1424159.312 739142.393 0, 1423871.489 739117.436 0,
+ 1423583.664 739092.496 0, 1423295.838 739067.573 0, 1423008.01 739042.667 0, 1422720.181 739017.778 0, 1422431.026 738992.792 0, 1422144.519 738968.051 0, 1421856.685 738943.213 0, 1421568.851 738918.392 0, 1421281.014 738893.588 0, 1420993.176 738868.801 0,
+ 1420705.337 738844.03 0, 1420417.496 738819.277 0, 1420129.654 738794.54 0, 1419841.811 738769.821 0, 1419553.966 738745.118 0, 1419266.119 738720.433 0, 1418978.271 738695.764 0, 1418690.422 738671.112 0, 1418402.571 738646.477 0, 1418114.718 738621.859 0,
+ 1417826.865 738597.259 0, 1417539.009 738572.675 0, 1417251.153 738548.108 0, 1416963.294 738523.557 0, 1416675.435 738499.024 0, 1416387.574 738474.508 0, 1416099.711 738450.009 0, 1415811.847 738425.526 0, 1415522.656 738400.948 0, 1415051.018 743952.302 0,
+ 1414579.357 749503.927 0, 1414867.892 749528.449 0, 1415155.102 749552.876 0, 1415442.311 749577.32 0, 1415729.519 749601.78 0, 1416016.725 749626.258 0, 1416303.93 749650.752 0, 1416591.133 749675.263 0, 1416878.335 749699.792 0, 1417165.535 749724.337 0,
+ 1417452.734 749748.899 0, 1417739.931 749773.478 0, 1418027.127 749798.073 0, 1418314.322 749822.686 0, 1418601.515 749847.316 0, 1418888.707 749871.962 0, 1419175.897 749896.626 0, 1419463.085 749921.306 0, 1419750.273 749946.003 0, 1420037.459 749970.717 0,
+ 1420324.643 749995.448 0, 1420611.826 750020.196 0, 1420899.007 750044.961 0, 1421186.187 750069.743 0, 1421472.044 750094.427 0, 1421760.543 750119.357 0, 1422047.719 750144.189 0, 1422334.893 750169.039 0, 1422622.065 750193.905 0, 1422909.237 750218.788 0,
+ 1423196.406 750243.688 0, 1423483.575 750268.605 0, 1423770.742 750293.539 0, 1424057.907 750318.49 0, 1424345.071 750343.457 0, 1424632.233 750368.442 0, 1424919.394 750393.443 0, 1425206.554 750418.462 0, 1425493.712 750443.497 0, 1425780.868 750468.549 0,
+ 1426068.023 750493.618 0, 1426355.177 750518.704 0, 1426642.329 750543.807 0, 1426929.48 750568.927 0, 1427216.629 750594.064 0, 1427503.776 750619.217 0, 1427790.923 750644.388 0, 1428078.067 750669.575 0, 1428363.89 750694.663 0, 1428851.233 745144.393 0,
+ 1429338.553 739594.394 0))
+
+POLYGON ((1442145.003 751924.338 0, 1441859.251 751898.443 0, 1441572.178 751872.444 0, 1441285.105 751846.462 0, 1440998.029 751820.498 0, 1440710.952 751794.55 0, 1440423.874 751768.619 0, 1440136.794 751742.705 0, 1439849.712 751716.808 0, 1439562.629 751690.928 0,
+ 1439275.544 751665.064 0, 1438988.458 751639.218 0, 1438701.37 751613.388 0, 1438414.281 751587.576 0, 1438127.191 751561.78 0, 1437840.098 751536.001 0, 1437553.005 751510.239 0, 1437265.909 751484.494 0, 1436978.813 751458.766 0, 1436691.714 751433.055 0,
+ 1436404.615 751407.36 0, 1436117.513 751381.683 0, 1435830.411 751356.022 0, 1435543.306 751330.379 0, 1435254.881 751304.634 0, 1434969.093 751279.142 0, 1434681.984 751253.549 0, 1434394.874 751227.973 0, 1434107.762 751202.414 0, 1433820.649 751176.871 0,
+ 1433533.534 751151.346 0, 1433246.417 751125.838 0, 1432959.3 751100.346 0, 1432672.18 751074.871 0, 1432385.059 751049.414 0, 1432097.937 751023.973 0, 1431810.813 750998.549 0, 1431523.688 750973.142 0, 1431236.561 750947.751 0, 1430949.433 750922.378 0,
+ 1430662.303 750897.022 0, 1430375.171 750871.682 0, 1430088.039 750846.36 0, 1429800.904 750821.054 0, 1429513.769 750795.765 0, 1429226.631 750770.493 0, 1428939.493 750745.238 0, 1428652.352 750720 0, 1428363.89 750694.663 0, 1427876.523 756245.2 0,
+ 1427389.133 761796.001 0, 1427676.939 761821.28 0, 1427963.426 761846.461 0, 1428249.911 761871.658 0, 1428536.395 761896.873 0, 1428822.878 761922.104 0, 1429109.358 761947.352 0, 1429395.838 761972.617 0, 1429682.316 761997.899 0, 1429968.792 762023.197 0,
+ 1430255.267 762048.513 0, 1430541.741 762073.845 0, 1430828.213 762099.195 0, 1431114.683 762124.561 0, 1431401.152 762149.944 0, 1431687.62 762175.344 0, 1431974.086 762200.76 0, 1432260.55 762226.194 0, 1432547.013 762251.644 0, 1432833.475 762277.112 0,
+ 1433119.935 762302.596 0, 1433406.393 762328.097 0, 1433692.85 762353.615 0, 1433979.306 762379.149 0, 1434264.443 762404.583 0, 1434552.212 762430.269 0, 1434838.663 762455.855 0, 1435125.113 762481.457 0, 1435411.561 762507.076 0, 1435698.007 762532.712 0,
+ 1435984.452 762558.365 0, 1436270.896 762584.034 0, 1436557.338 762609.721 0, 1436843.778 762635.424 0, 1437130.217 762661.144 0, 1437416.654 762686.881 0, 1437703.09 762712.635 0, 1437989.525 762738.406 0, 1438275.958 762764.193 0, 1438562.389 762789.998 0,
+ 1438848.819 762815.819 0, 1439135.247 762841.658 0, 1439421.674 762867.513 0, 1439708.099 762893.384 0, 1439994.523 762919.273 0, 1440280.945 762945.179 0, 1440567.366 762971.101 0, 1440853.785 762997.041 0, 1441138.887 763022.878 0, 1441641.957 757473.476 0,
+ 1442145.003 751924.338 0))
+
+POLYGON ((1454885.12 764288.595 0, 1454600.09 764261.953 0, 1454313.745 764235.204 0, 1454027.399 764208.473 0, 1453741.051 764181.758 0, 1453454.702 764155.06 0, 1453168.351 764128.379 0, 1452881.998 764101.715 0, 1452595.644 764075.068 0, 1452309.288 764048.437 0,
+ 1452022.931 764021.824 0, 1451736.572 763995.227 0, 1451450.212 763968.647 0, 1451163.85 763942.084 0, 1450877.486 763915.538 0, 1450591.121 763889.009 0, 1450304.754 763862.496 0, 1450018.386 763836 0, 1449732.016 763809.522 0, 1449445.645 763783.06 0,
+ 1449159.272 763756.615 0, 1448872.898 763730.187 0, 1448586.522 763703.775 0, 1448300.144 763677.381 0, 1448012.451 763650.882 0, 1447727.384 763624.642 0, 1447441.002 763598.298 0, 1447154.618 763571.971 0, 1446868.233 763545.661 0, 1446581.846 763519.368 0,
+ 1446295.458 763493.091 0, 1446009.068 763466.832 0, 1445722.676 763440.589 0, 1445436.283 763414.363 0, 1445149.888 763388.154 0, 1444863.492 763361.962 0, 1444577.095 763335.786 0, 1444290.695 763309.628 0, 1444004.295 763283.486 0, 1443717.892 763257.361 0,
+ 1443431.488 763231.253 0, 1443145.083 763205.162 0, 1442858.676 763179.088 0, 1442572.268 763153.031 0, 1442285.858 763126.99 0, 1441999.446 763100.967 0, 1441713.033 763074.96 0, 1441426.619 763048.97 0, 1441138.887 763022.878 0, 1440635.793 768572.539 0,
+ 1440132.677 774122.457 0, 1440419.752 774148.49 0, 1440705.513 774174.42 0, 1440991.273 774200.368 0, 1441277.031 774226.332 0, 1441562.788 774252.313 0, 1441848.543 774278.311 0, 1442134.297 774304.326 0, 1442420.049 774330.357 0, 1442705.799 774356.406 0,
+ 1442991.548 774382.471 0, 1443277.296 774408.553 0, 1443563.042 774434.652 0, 1443848.786 774460.767 0, 1444134.529 774486.9 0, 1444420.27 774513.049 0, 1444706.01 774539.215 0, 1444991.748 774565.398 0, 1445277.485 774591.598 0, 1445563.22 774617.814 0,
+ 1445848.954 774644.048 0, 1446134.686 774670.298 0, 1446420.417 774696.565 0, 1446706.146 774722.849 0, 1446990.562 774749.029 0, 1447277.599 774775.467 0, 1447563.323 774801.801 0, 1447849.046 774828.152 0, 1448134.768 774854.52 0, 1448420.487 774880.905 0,
+ 1448706.205 774907.307 0, 1448991.922 774933.725 0, 1449277.637 774960.16 0, 1449563.351 774986.612 0, 1449849.062 775013.081 0, 1450134.773 775039.567 0, 1450420.482 775066.069 0, 1450706.189 775092.588 0, 1450991.895 775119.124 0, 1451277.599 775145.677 0,
+ 1451563.301 775172.247 0, 1451849.002 775198.833 0, 1452134.702 775225.437 0, 1452420.4 775252.057 0, 1452706.096 775278.694 0, 1452991.791 775305.348 0, 1453277.484 775332.018 0, 1453563.175 775358.706 0, 1453847.556 775385.287 0, 1454366.35 769836.813 0,
+ 1454885.12 764288.595 0))
+
+POLYGON ((1467558.812 776686.86 0, 1467274.506 776659.475 0, 1466988.891 776631.98 0, 1466703.274 776604.503 0, 1466417.656 776577.042 0, 1466132.036 776549.598 0, 1465846.415 776522.171 0, 1465560.791 776494.76 0, 1465275.167 776467.367 0, 1464989.54 776439.99 0,
+ 1464703.912 776412.63 0, 1464418.283 776385.287 0, 1464132.652 776357.961 0, 1463847.019 776330.651 0, 1463561.384 776303.358 0, 1463275.748 776276.082 0, 1462990.111 776248.823 0, 1462704.472 776221.581 0, 1462418.831 776194.356 0, 1462133.188 776167.147 0,
+ 1461847.544 776139.955 0, 1461561.899 776112.78 0, 1461276.251 776085.622 0, 1460990.603 776058.48 0, 1460703.644 776031.232 0, 1460419.3 776004.248 0, 1460133.646 775977.157 0, 1459847.991 775950.083 0, 1459562.334 775923.026 0, 1459276.676 775895.985 0,
+ 1458991.016 775868.961 0, 1458705.355 775841.955 0, 1458419.691 775814.964 0, 1458134.027 775787.991 0, 1457848.36 775761.035 0, 1457562.692 775734.095 0, 1457277.023 775707.172 0, 1456991.352 775680.266 0, 1456705.679 775653.377 0, 1456420.005 775626.505 0,
+ 1456134.329 775599.649 0, 1455848.652 775572.81 0, 1455562.973 775545.988 0, 1455277.292 775519.183 0, 1454991.61 775492.395 0, 1454705.926 775465.624 0, 1454420.241 775438.869 0, 1454134.554 775412.131 0, 1453847.556 775385.287 0, 1453328.738 780934.015 0,
+ 1452809.896 786482.991 0, 1453096.238 786509.773 0, 1453381.272 786536.45 0, 1453666.304 786563.143 0, 1453951.335 786589.854 0, 1454236.364 786616.581 0, 1454521.391 786643.325 0, 1454806.417 786670.085 0, 1455091.441 786696.863 0, 1455376.464 786723.657 0,
+ 1455661.485 786750.468 0, 1455946.505 786777.295 0, 1456231.522 786804.14 0, 1456516.539 786831.001 0, 1456801.554 786857.879 0, 1457086.567 786884.774 0, 1457371.578 786911.686 0, 1457656.588 786938.614 0, 1457941.597 786965.559 0, 1458226.604 786992.521 0,
+ 1458511.609 787019.5 0, 1458796.613 787046.495 0, 1459081.615 787073.508 0, 1459366.615 787100.537 0, 1459650.309 787127.458 0, 1459936.612 787154.645 0, 1460221.607 787181.724 0, 1460506.601 787208.82 0, 1460791.594 787235.933 0, 1461076.585 787263.063 0,
+ 1461361.574 787290.209 0, 1461646.562 787317.373 0, 1461931.548 787344.553 0, 1462216.533 787371.749 0, 1462501.516 787398.963 0, 1462786.497 787426.193 0, 1463071.477 787453.44 0, 1463356.455 787480.704 0, 1463641.431 787507.985 0, 1463926.406 787535.282 0,
+ 1464211.38 787562.596 0, 1464496.351 787589.927 0, 1464781.321 787617.275 0, 1465066.29 787644.639 0, 1465351.257 787672.021 0, 1465636.222 787699.419 0, 1465921.186 787726.834 0, 1466206.148 787754.265 0, 1466489.804 787781.588 0, 1467024.32 782234.099 0,
+ 1467558.812 776686.86 0))
+
+POLYGON ((1480165.988 789118.828 0, 1479882.408 789090.703 0, 1479597.525 789062.467 0, 1479312.64 789034.247 0, 1479027.753 789006.044 0, 1478742.865 788977.858 0, 1478457.975 788949.688 0, 1478173.083 788921.536 0, 1477888.19 788893.4 0, 1477603.295 788865.281 0,
+ 1477318.398 788837.178 0, 1477033.5 788809.093 0, 1476748.6 788781.024 0, 1476463.698 788752.972 0, 1476178.795 788724.936 0, 1475893.89 788696.918 0, 1475608.983 788668.916 0, 1475324.075 788640.931 0, 1475039.165 788612.963 0, 1474754.254 788585.011 0,
+ 1474469.34 788557.077 0, 1474184.426 788529.159 0, 1473899.509 788501.257 0, 1473614.591 788473.373 0, 1473328.368 788445.378 0, 1473044.75 788417.655 0, 1472759.827 788389.82 0, 1472474.902 788362.003 0, 1472189.976 788334.203 0, 1471905.048 788306.419 0,
+ 1471620.119 788278.652 0, 1471335.187 788250.902 0, 1471050.255 788223.168 0, 1470765.32 788195.451 0, 1470480.384 788167.751 0, 1470195.446 788140.068 0, 1469910.507 788112.402 0, 1469625.566 788084.752 0, 1469340.623 788057.119 0, 1469055.679 788029.503 0,
+ 1468770.733 788001.904 0, 1468485.786 787974.322 0, 1468200.837 787946.756 0, 1467915.886 787919.207 0, 1467630.934 787891.675 0, 1467345.98 787864.159 0, 1467061.024 787836.66 0, 1466776.067 787809.179 0, 1466489.804 787781.588 0, 1465955.264 793329.322 0,
+ 1465420.701 798877.298 0, 1465706.308 798904.826 0, 1465990.612 798932.245 0, 1466274.915 798959.681 0, 1466559.216 798987.133 0, 1466843.515 799014.602 0, 1467127.812 799042.088 0, 1467412.109 799069.59 0, 1467696.403 799097.11 0, 1467980.696 799124.646 0,
+ 1468264.987 799152.199 0, 1468549.276 799179.768 0, 1468833.564 799207.354 0, 1469117.851 799234.957 0, 1469402.135 799262.577 0, 1469686.418 799290.213 0, 1469970.7 799317.867 0, 1470254.98 799345.537 0, 1470539.258 799373.223 0, 1470823.534 799400.927 0,
+ 1471107.809 799428.647 0, 1471392.083 799456.384 0, 1471676.354 799484.137 0, 1471960.624 799511.907 0, 1472243.593 799539.567 0, 1472529.159 799567.498 0, 1472813.425 799595.319 0, 1473097.688 799623.156 0, 1473381.95 799651.01 0, 1473666.21 799678.881 0,
+ 1473950.469 799706.768 0, 1474234.726 799734.672 0, 1474518.981 799762.593 0, 1474803.234 799790.531 0, 1475087.486 799818.485 0, 1475371.737 799846.456 0, 1475655.985 799874.444 0, 1475940.232 799902.448 0, 1476224.478 799930.47 0, 1476508.722 799958.508 0,
+ 1476792.964 799986.562 0, 1477077.204 800014.634 0, 1477361.443 800042.722 0, 1477645.68 800070.827 0, 1477929.916 800098.949 0, 1478214.149 800127.087 0, 1478498.382 800155.242 0, 1478782.612 800183.414 0, 1479065.542 800211.474 0, 1479615.777 794665.029 0,
+ 1480165.988 789118.828 0))
+
+POLYGON ((1492706.56 801584.192 0, 1492423.708 801555.333 0, 1492139.558 801526.359 0, 1491855.406 801497.401 0, 1491571.253 801468.459 0, 1491287.098 801439.535 0, 1491002.942 801410.627 0, 1490718.783 801381.736 0, 1490434.623 801352.861 0, 1490150.462 801324.004 0,
+ 1489866.298 801295.163 0, 1489582.133 801266.339 0, 1489297.966 801237.531 0, 1489013.798 801208.741 0, 1488729.628 801179.966 0, 1488445.456 801151.209 0, 1488161.282 801122.469 0, 1487877.107 801093.745 0, 1487592.93 801065.038 0, 1487308.752 801036.347 0,
+ 1487024.571 801007.674 0, 1486740.389 800979.017 0, 1486456.206 800950.376 0, 1486172.02 800921.753 0, 1485886.536 800893.016 0, 1485603.644 800864.556 0, 1485319.454 800835.983 0, 1485035.262 800807.426 0, 1484751.068 800778.886 0, 1484466.873 800750.363 0,
+ 1484182.675 800721.857 0, 1483898.477 800693.367 0, 1483614.276 800664.894 0, 1483330.074 800636.438 0, 1483045.87 800607.999 0, 1482761.665 800579.576 0, 1482477.457 800551.17 0, 1482193.248 800522.781 0, 1481909.038 800494.408 0, 1481624.826 800466.052 0,
+ 1481340.612 800437.713 0, 1481056.396 800409.391 0, 1480772.179 800381.085 0, 1480487.96 800352.796 0, 1480203.74 800324.524 0, 1479919.517 800296.268 0, 1479635.294 800268.03 0, 1479351.068 800239.808 0, 1479065.542 800211.474 0, 1478515.283 805758.156 0,
+ 1477965.001 811305.074 0, 1478249.871 811333.343 0, 1478533.444 811361.5 0, 1478817.015 811389.674 0, 1479100.584 811417.864 0, 1479384.152 811446.072 0, 1479667.718 811474.295 0, 1479951.282 811502.536 0, 1480234.845 811530.793 0, 1480518.406 811559.067 0,
+ 1480801.965 811587.358 0, 1481085.523 811615.666 0, 1481369.078 811643.99 0, 1481652.633 811672.33 0, 1481936.185 811700.688 0, 1482219.736 811729.062 0, 1482503.286 811757.453 0, 1482786.833 811785.86 0, 1483070.379 811814.285 0, 1483353.923 811842.725 0,
+ 1483637.466 811871.183 0, 1483921.007 811899.657 0, 1484204.546 811928.148 0, 1484488.084 811956.656 0, 1484770.325 811985.05 0, 1485055.154 812013.721 0, 1485338.686 812042.279 0, 1485622.217 812070.854 0, 1485905.746 812099.445 0, 1486189.274 812128.052 0,
+ 1486472.8 812156.677 0, 1486756.324 812185.318 0, 1487039.846 812213.976 0, 1487323.367 812242.65 0, 1487606.886 812271.342 0, 1487890.403 812300.05 0, 1488173.919 812328.774 0, 1488457.433 812357.516 0, 1488740.945 812386.273 0, 1489024.456 812415.048 0,
+ 1489307.965 812443.84 0, 1489591.472 812472.648 0, 1489874.978 812501.472 0, 1490158.481 812530.314 0, 1490441.984 812559.172 0, 1490725.484 812588.047 0, 1491008.983 812616.938 0, 1491292.48 812645.846 0, 1491574.682 812674.639 0, 1492140.633 807129.298 0,
+ 1492706.56 801584.192 0))
+
+POLYGON ((1505180.439 814082.649 0, 1504898.317 814053.059 0, 1504614.903 814023.35 0, 1504331.487 813993.657 0, 1504048.069 813963.982 0, 1503764.649 813934.323 0, 1503481.228 813904.681 0, 1503197.805 813875.055 0, 1502914.381 813845.446 0, 1502630.954 813815.854 0,
+ 1502347.526 813786.278 0, 1502064.096 813756.72 0, 1501780.664 813727.177 0, 1501497.231 813697.652 0, 1501213.796 813668.143 0, 1500930.359 813638.651 0, 1500646.921 813609.176 0, 1500363.48 813579.717 0, 1500080.038 813550.275 0, 1499796.594 813520.849 0,
+ 1499513.149 813491.441 0, 1499229.702 813462.049 0, 1498946.253 813432.673 0, 1498662.802 813403.315 0, 1498378.057 813373.839 0, 1498095.895 813344.648 0, 1497812.439 813315.339 0, 1497528.982 813286.047 0, 1497245.522 813256.772 0, 1496962.061 813227.513 0,
+ 1496678.598 813198.271 0, 1496395.134 813169.046 0, 1496111.668 813139.838 0, 1495828.2 813110.646 0, 1495544.73 813081.471 0, 1495261.259 813052.312 0, 1494977.786 813023.171 0, 1494694.311 812994.046 0, 1494410.834 812964.937 0, 1494127.356 812935.845 0,
+ 1493843.876 812906.77 0, 1493560.394 812877.712 0, 1493276.911 812848.67 0, 1492993.426 812819.646 0, 1492709.939 812790.637 0, 1492426.451 812761.646 0, 1492142.961 812732.671 0, 1491859.469 812703.713 0, 1491574.682 812674.639 0, 1491008.707 818220.211 0,
+ 1490442.709 823766.011 0, 1490726.841 823795.017 0, 1491009.68 823823.909 0, 1491292.517 823852.817 0, 1491575.353 823881.742 0, 1491858.187 823910.683 0, 1492141.019 823939.642 0, 1492423.85 823968.616 0, 1492706.678 823997.608 0, 1492989.506 824026.616 0,
+ 1493272.331 824055.641 0, 1493555.155 824084.682 0, 1493837.977 824113.74 0, 1494120.797 824142.815 0, 1494403.616 824171.906 0, 1494686.433 824201.014 0, 1494969.248 824230.138 0, 1495252.061 824259.28 0, 1495534.873 824288.437 0, 1495817.683 824317.612 0,
+ 1496100.492 824346.803 0, 1496383.298 824376.011 0, 1496666.103 824405.235 0, 1496948.906 824434.477 0, 1497230.419 824463.601 0, 1497514.507 824493.009 0, 1497797.305 824522.3 0, 1498080.102 824551.607 0, 1498362.896 824580.932 0, 1498645.689 824610.273 0,
+ 1498928.48 824639.63 0, 1499211.27 824669.005 0, 1499494.057 824698.395 0, 1499776.843 824727.803 0, 1500059.627 824757.227 0, 1500342.41 824786.668 0, 1500625.19 824816.126 0, 1500907.969 824845.6 0, 1501190.747 824875.09 0, 1501473.522 824904.598 0,
+ 1501756.296 824934.122 0, 1502039.068 824963.663 0, 1502321.838 824993.22 0, 1502604.607 825022.794 0, 1502887.374 825052.385 0, 1503170.139 825081.992 0, 1503452.902 825111.616 0, 1503735.664 825141.256 0, 1504017.136 825170.778 0, 1504598.799 819626.6 0,
+ 1505180.439 814082.649 0))
+
+POLYGON ((1517587.539 826613.89 0, 1517306.149 826583.573 0, 1517023.473 826553.134 0, 1516740.794 826522.711 0, 1516458.114 826492.305 0, 1516175.432 826461.916 0, 1515892.748 826431.543 0, 1515610.062 826401.187 0, 1515327.375 826370.847 0, 1515044.685 826340.525 0,
+ 1514761.994 826310.218 0, 1514479.302 826279.929 0, 1514196.607 826249.656 0, 1513913.911 826219.4 0, 1513631.213 826189.16 0, 1513348.513 826158.937 0, 1513065.811 826128.731 0, 1512783.107 826098.541 0, 1512500.402 826068.368 0, 1512217.695 826038.211 0,
+ 1511934.986 826008.072 0, 1511652.276 825977.949 0, 1511369.563 825947.842 0, 1511086.849 825917.752 0, 1510802.847 825887.542 0, 1510521.416 825857.622 0, 1510238.696 825827.582 0, 1509955.975 825797.559 0, 1509673.252 825767.552 0, 1509390.527 825737.562 0,
+ 1509107.801 825707.589 0, 1508825.073 825677.632 0, 1508542.343 825647.692 0, 1508259.611 825617.769 0, 1507976.877 825587.862 0, 1507694.142 825557.972 0, 1507411.405 825528.098 0, 1507128.666 825498.241 0, 1506845.926 825468.401 0, 1506563.183 825438.577 0,
+ 1506280.439 825408.77 0, 1505997.693 825378.98 0, 1505714.946 825349.206 0, 1505432.196 825319.449 0, 1505149.445 825289.709 0, 1504866.692 825259.985 0, 1504583.938 825230.278 0, 1504301.182 825200.587 0, 1504017.136 825170.778 0, 1503435.449 830715.181 0,
+ 1502853.739 836259.804 0, 1503137.129 836289.544 0, 1503419.233 836319.166 0, 1503701.335 836348.805 0, 1503983.435 836378.46 0, 1504265.533 836408.132 0, 1504547.63 836437.82 0, 1504829.725 836467.525 0, 1505111.818 836497.247 0, 1505393.909 836526.985 0,
+ 1505675.999 836556.74 0, 1505958.087 836586.511 0, 1506240.173 836616.299 0, 1506522.258 836646.104 0, 1506804.34 836675.925 0, 1507086.421 836705.763 0, 1507368.501 836735.617 0, 1507650.578 836765.488 0, 1507932.654 836795.376 0, 1508214.727 836825.28 0,
+ 1508496.8 836855.201 0, 1508778.87 836885.138 0, 1509060.939 836915.092 0, 1509343.005 836945.063 0, 1509623.787 836974.913 0, 1509907.134 837005.054 0, 1510189.195 837035.074 0, 1510471.255 837065.111 0, 1510753.313 837095.165 0, 1511035.369 837125.235 0,
+ 1511317.424 837155.322 0, 1511599.477 837185.425 0, 1511881.527 837215.545 0, 1512163.577 837245.682 0, 1512445.624 837275.835 0, 1512727.67 837306.005 0, 1513009.713 837336.191 0, 1513291.755 837366.394 0, 1513573.796 837396.614 0, 1513855.834 837426.85 0,
+ 1514137.871 837457.103 0, 1514419.906 837487.373 0, 1514701.939 837517.659 0, 1514983.97 837547.961 0, 1515266 837578.28 0, 1515548.028 837608.616 0, 1515830.054 837638.969 0, 1516112.078 837669.338 0, 1516392.818 837699.585 0, 1516990.19 832156.628 0,
+ 1517587.539 826613.89 0))
+
+POLYGON ((1529927.776 839177.611 0, 1529647.12 839146.57 0, 1529365.183 839115.404 0, 1529083.244 839084.255 0, 1528801.303 839053.123 0, 1528519.36 839022.007 0, 1528237.415 838990.908 0, 1527955.469 838959.825 0, 1527673.521 838928.759 0, 1527391.571 838897.709 0,
+ 1527109.619 838866.676 0, 1526827.665 838835.66 0, 1526545.709 838804.66 0, 1526263.752 838773.677 0, 1525981.793 838742.711 0, 1525699.831 838711.761 0, 1525417.869 838680.827 0, 1525135.904 838649.911 0, 1524853.937 838619.01 0, 1524571.969 838588.127 0,
+ 1524289.999 838557.26 0, 1524008.027 838526.41 0, 1523726.053 838495.576 0, 1523444.077 838464.759 0, 1523160.819 838433.818 0, 1522880.121 838403.174 0, 1522598.14 838372.407 0, 1522316.157 838341.656 0, 1522034.172 838310.922 0, 1521752.186 838280.204 0,
+ 1521470.197 838249.503 0, 1521188.207 838218.819 0, 1520906.216 838188.151 0, 1520624.222 838157.5 0, 1520342.226 838126.865 0, 1520060.229 838096.247 0, 1519778.23 838065.646 0, 1519496.229 838035.061 0, 1519214.226 838004.493 0, 1518932.222 837973.941 0,
+ 1518650.215 837943.406 0, 1518368.207 837912.888 0, 1518086.197 837882.386 0, 1517804.186 837851.9 0, 1517522.172 837821.432 0, 1517240.157 837790.98 0, 1516958.14 837760.544 0, 1516676.121 837730.126 0, 1516392.818 837699.585 0, 1515795.423 843242.759 0,
+ 1515198.004 848786.147 0, 1515480.651 848816.616 0, 1515762.018 848846.965 0, 1516043.382 848877.33 0, 1516324.745 848907.711 0, 1516606.106 848938.11 0, 1516887.465 848968.524 0, 1517168.823 848998.956 0, 1517450.178 849029.403 0, 1517731.532 849059.868 0,
+ 1518012.884 849090.349 0, 1518294.234 849120.846 0, 1518575.583 849151.36 0, 1518856.929 849181.891 0, 1519138.274 849212.438 0, 1519419.617 849243.002 0, 1519700.958 849273.582 0, 1519982.298 849304.179 0, 1520263.635 849334.792 0, 1520544.971 849365.422 0,
+ 1520826.305 849396.069 0, 1521107.637 849426.732 0, 1521388.968 849457.411 0, 1521670.297 849488.108 0, 1521950.345 849518.681 0, 1522232.948 849549.55 0, 1522514.271 849580.296 0, 1522795.593 849611.058 0, 1523076.912 849641.837 0, 1523358.23 849672.633 0,
+ 1523639.546 849703.445 0, 1523920.86 849734.273 0, 1524202.173 849765.119 0, 1524483.483 849795.98 0, 1524764.792 849826.859 0, 1525046.099 849857.754 0, 1525327.404 849888.665 0, 1525608.707 849919.593 0, 1525890.008 849950.538 0, 1526171.308 849981.499 0,
+ 1526452.605 850012.476 0, 1526733.901 850043.471 0, 1527015.196 850074.481 0, 1527296.488 850105.509 0, 1527577.778 850136.553 0, 1527859.067 850167.613 0, 1528140.354 850198.69 0, 1528421.639 850229.784 0, 1528701.645 850260.753 0, 1529314.722 844719.075 0,
+ 1529927.776 839177.611 0))
+
+POLYGON ((1542201.066 851773.503 0, 1541921.146 851741.743 0, 1541639.95 851709.855 0, 1541358.752 851677.983 0, 1541077.553 851646.128 0, 1540796.351 851614.289 0, 1540515.147 851582.468 0, 1540233.942 851550.662 0, 1539952.735 851518.873 0, 1539671.526 851487.101 0,
+ 1539390.315 851455.345 0, 1539109.102 851423.606 0, 1538827.887 851391.884 0, 1538546.671 851360.178 0, 1538265.452 851328.488 0, 1537984.232 851296.815 0, 1537703.01 851265.159 0, 1537421.786 851233.519 0, 1537140.56 851201.895 0, 1536859.332 851170.289 0,
+ 1536578.102 851138.699 0, 1536296.871 851107.125 0, 1536015.637 851075.568 0, 1535734.402 851044.027 0, 1535451.89 851012.36 0, 1535171.926 850980.996 0, 1534890.686 850949.505 0, 1534609.443 850918.031 0, 1534328.199 850886.573 0, 1534046.952 850855.132 0,
+ 1533765.704 850823.707 0, 1533484.454 850792.299 0, 1533203.202 850760.907 0, 1532921.948 850729.532 0, 1532640.693 850698.174 0, 1532359.435 850666.832 0, 1532078.176 850635.507 0, 1531796.915 850604.198 0, 1531515.652 850572.906 0, 1531234.387 850541.63 0,
+ 1530953.121 850510.371 0, 1530671.852 850479.128 0, 1530390.582 850447.902 0, 1530109.31 850416.693 0, 1529828.036 850385.5 0, 1529546.76 850354.323 0, 1529265.483 850323.164 0, 1528984.203 850292.02 0, 1528701.645 850260.753 0, 1528088.545 855802.639 0,
+ 1527475.421 861344.732 0, 1527757.324 861375.927 0, 1528037.951 861406.998 0, 1528318.576 861438.086 0, 1528599.2 861469.19 0, 1528879.822 861500.31 0, 1529160.441 861531.447 0, 1529441.059 861562.601 0, 1529721.675 861593.771 0, 1530002.29 861624.958 0,
+ 1530282.902 861656.161 0, 1530563.513 861687.38 0, 1530844.121 861718.617 0, 1531124.728 861749.869 0, 1531405.333 861781.138 0, 1531685.937 861812.424 0, 1531966.538 861843.726 0, 1532247.138 861875.045 0, 1532527.735 861906.38 0, 1532808.331 861937.732 0,
+ 1533088.925 861969.101 0, 1533369.517 862000.485 0, 1533650.108 862031.887 0, 1533930.696 862063.305 0, 1534210.01 862094.596 0, 1534491.868 862126.19 0, 1534772.45 862157.657 0, 1535053.032 862189.141 0, 1535333.611 862220.641 0, 1535614.188 862252.158 0,
+ 1535894.764 862283.692 0, 1536175.337 862315.242 0, 1536455.909 862346.808 0, 1536736.479 862378.391 0, 1537017.047 862409.991 0, 1537297.613 862441.607 0, 1537578.178 862473.239 0, 1537858.74 862504.888 0, 1538139.301 862536.554 0, 1538419.86 862568.236 0,
+ 1538700.416 862599.935 0, 1538980.971 862631.65 0, 1539261.525 862663.381 0, 1539542.076 862695.129 0, 1539822.625 862726.894 0, 1540103.173 862758.675 0, 1540383.719 862790.473 0, 1540664.262 862822.287 0, 1540943.533 862853.973 0, 1541572.311 857313.635 0,
+ 1542201.066 851773.503 0))
+
+POLYGON ((1044147.223 420611.14 0, 1043842.129 420608.563 0, 1043535.558 420605.991 0, 1043228.987 420603.438 0, 1042922.416 420600.903 0, 1042615.845 420598.385 0, 1042309.273 420595.886 0, 1042002.702 420593.405 0, 1041696.13 420590.942 0, 1041389.558 420588.497 0,
+ 1041082.986 420586.07 0, 1040776.414 420583.661 0, 1040469.842 420581.27 0, 1040163.27 420578.897 0, 1039856.697 420576.542 0, 1039550.125 420574.205 0, 1039243.552 420571.886 0, 1038936.979 420569.585 0, 1038630.406 420567.302 0, 1038323.833 420565.038 0,
+ 1038017.259 420562.791 0, 1037710.686 420560.563 0, 1037404.112 420558.352 0, 1037097.538 420556.159 0, 1036789.487 420553.975 0, 1036484.391 420551.829 0, 1036177.817 420549.69 0, 1035871.242 420547.57 0, 1035564.668 420545.468 0, 1035258.093 420543.383 0,
+ 1034951.519 420541.317 0, 1034644.944 420539.269 0, 1034338.369 420537.239 0, 1034031.794 420535.227 0, 1033725.219 420533.233 0, 1033418.644 420531.257 0, 1033112.069 420529.299 0, 1032805.493 420527.359 0, 1032498.918 420525.437 0, 1032192.342 420523.533 0,
+ 1031885.766 420521.648 0, 1031579.191 420519.78 0, 1031272.615 420517.93 0, 1030966.039 420516.099 0, 1030659.462 420514.285 0, 1030352.886 420512.489 0, 1030046.31 420510.712 0, 1029739.733 420508.953 0, 1029431.678 420507.203 0, 1029400.308 426058.92 0,
+ 1029368.936 431611.081 0, 1029676.335 431612.827 0, 1029982.258 431614.583 0, 1030288.181 431616.357 0, 1030594.103 431618.148 0, 1030900.026 431619.958 0, 1031205.948 431621.786 0, 1031511.871 431623.632 0, 1031817.793 431625.495 0, 1032123.715 431627.377 0,
+ 1032429.637 431629.277 0, 1032735.559 431631.195 0, 1033041.481 431633.13 0, 1033347.403 431635.084 0, 1033653.325 431637.056 0, 1033959.246 431639.046 0, 1034265.168 431641.053 0, 1034571.089 431643.079 0, 1034877.01 431645.123 0, 1035182.931 431647.185 0,
+ 1035488.852 431649.264 0, 1035794.773 431651.362 0, 1036100.694 431653.478 0, 1036406.614 431655.612 0, 1036711.06 431657.753 0, 1037018.455 431659.934 0, 1037324.375 431662.121 0, 1037630.295 431664.327 0, 1037936.215 431666.551 0, 1038242.135 431668.793 0,
+ 1038548.054 431671.053 0, 1038853.974 431673.331 0, 1039159.893 431675.627 0, 1039465.813 431677.94 0, 1039771.732 431680.272 0, 1040077.651 431682.622 0, 1040383.57 431684.99 0, 1040689.488 431687.376 0, 1040995.407 431689.78 0, 1041301.325 431692.202 0,
+ 1041607.243 431694.642 0, 1041913.162 431697.1 0, 1042219.08 431699.576 0, 1042524.997 431702.07 0, 1042830.915 431704.581 0, 1043136.833 431707.111 0, 1043442.75 431709.659 0, 1043748.667 431712.225 0, 1044053.111 431714.797 0, 1044100.169 426162.746 0,
+ 1044147.223 420611.14 0))
+
+POLYGON ((1058736.935 431859.997 0, 1058432.497 431856.566 0, 1058126.588 431853.136 0, 1057820.679 431849.723 0, 1057514.77 431846.329 0, 1057208.861 431842.953 0, 1056902.951 431839.595 0, 1056597.041 431836.254 0, 1056291.131 431832.932 0, 1055985.221 431829.628 0,
+ 1055679.311 431826.342 0, 1055373.4 431823.074 0, 1055067.489 431819.824 0, 1054761.579 431816.591 0, 1054455.667 431813.377 0, 1054149.756 431810.181 0, 1053843.845 431807.003 0, 1053537.933 431803.843 0, 1053232.021 431800.701 0, 1052926.109 431797.577 0,
+ 1052620.197 431794.47 0, 1052314.284 431791.382 0, 1052008.372 431788.312 0, 1051702.459 431785.26 0, 1051395.074 431782.211 0, 1051090.633 431779.21 0, 1050784.72 431776.212 0, 1050478.806 431773.232 0, 1050172.893 431770.27 0, 1049866.979 431767.326 0,
+ 1049561.065 431764.4 0, 1049255.151 431761.491 0, 1048949.236 431758.601 0, 1048643.322 431755.729 0, 1048337.407 431752.875 0, 1048031.492 431750.039 0, 1047725.577 431747.221 0, 1047419.662 431744.421 0, 1047113.747 431741.639 0, 1046807.831 431738.875 0,
+ 1046501.915 431736.129 0, 1046196 431733.401 0, 1045890.084 431730.691 0, 1045584.167 431727.999 0, 1045278.251 431725.325 0, 1044972.335 431722.669 0, 1044666.418 431720.031 0, 1044360.501 431717.411 0, 1044053.111 431714.797 0, 1044006.05 437267.289 0,
+ 1043958.984 442820.22 0, 1044265.718 442822.828 0, 1044570.981 442825.443 0, 1044876.244 442828.075 0, 1045181.507 442830.726 0, 1045486.769 442833.394 0, 1045792.032 442836.08 0, 1046097.294 442838.784 0, 1046402.556 442841.506 0, 1046707.818 442844.247 0,
+ 1047013.08 442847.005 0, 1047318.342 442849.781 0, 1047623.603 442852.575 0, 1047928.865 442855.387 0, 1048234.126 442858.217 0, 1048539.387 442861.065 0, 1048844.648 442863.931 0, 1049149.909 442866.815 0, 1049455.169 442869.716 0, 1049760.43 442872.636 0,
+ 1050065.69 442875.574 0, 1050370.95 442878.53 0, 1050676.21 442881.503 0, 1050981.469 442884.495 0, 1051285.26 442887.49 0, 1051591.988 442890.532 0, 1051897.247 442893.578 0, 1052202.506 442896.642 0, 1052507.765 442899.723 0, 1052813.024 442902.823 0,
+ 1053118.282 442905.94 0, 1053423.54 442909.075 0, 1053728.798 442912.229 0, 1054034.056 442915.4 0, 1054339.314 442918.59 0, 1054644.571 442921.797 0, 1054949.829 442925.022 0, 1055255.086 442928.265 0, 1055560.343 442931.526 0, 1055865.599 442934.806 0,
+ 1056170.856 442938.103 0, 1056476.112 442941.418 0, 1056781.368 442944.751 0, 1057086.624 442948.102 0, 1057391.88 442951.471 0, 1057697.135 442954.858 0, 1058002.391 442958.263 0, 1058307.646 442961.686 0, 1058611.433 442965.11 0, 1058674.186 437412.334 0,
+ 1058736.935 431859.997 0))
+
+POLYGON ((1073263.414 443151.395 0, 1072959.636 443147.113 0, 1072654.391 443142.828 0, 1072349.147 443138.56 0, 1072043.902 443134.311 0, 1071738.657 443130.08 0, 1071433.412 443125.866 0, 1071128.166 443121.671 0, 1070822.921 443117.493 0, 1070517.675 443113.334 0,
+ 1070212.428 443109.192 0, 1069907.182 443105.069 0, 1069601.935 443100.963 0, 1069296.688 443096.875 0, 1068991.441 443092.806 0, 1068686.194 443088.754 0, 1068380.946 443084.72 0, 1068075.698 443080.704 0, 1067770.45 443076.707 0, 1067465.201 443072.727 0,
+ 1067159.953 443068.765 0, 1066854.704 443064.821 0, 1066549.455 443060.895 0, 1066244.206 443056.987 0, 1065937.49 443053.078 0, 1065633.706 443049.225 0, 1065328.456 443045.371 0, 1065023.206 443041.535 0, 1064717.956 443037.717 0, 1064412.705 443033.916 0,
+ 1064107.454 443030.134 0, 1063802.203 443026.37 0, 1063496.952 443022.624 0, 1063191.7 443018.895 0, 1062886.448 443015.185 0, 1062581.196 443011.493 0, 1062275.944 443007.818 0, 1061970.692 443004.162 0, 1061665.439 443000.523 0, 1061360.186 442996.903 0,
+ 1061054.933 442993.3 0, 1060749.68 442989.716 0, 1060444.426 442986.149 0, 1060139.173 442982.6 0, 1059833.919 442979.07 0, 1059528.664 442975.557 0, 1059223.41 442972.062 0, 1058918.156 442968.585 0, 1058611.433 442965.11 0, 1058548.675 448518.321 0,
+ 1058485.912 454071.965 0, 1058791.978 454075.433 0, 1059096.579 454078.902 0, 1059401.179 454082.389 0, 1059705.78 454085.894 0, 1060010.38 454089.418 0, 1060314.98 454092.959 0, 1060619.579 454096.518 0, 1060924.179 454100.095 0, 1061228.778 454103.689 0,
+ 1061533.378 454107.302 0, 1061837.976 454110.933 0, 1062142.575 454114.581 0, 1062447.174 454118.248 0, 1062751.772 454121.933 0, 1063056.37 454125.635 0, 1063360.968 454129.355 0, 1063665.565 454133.094 0, 1063970.163 454136.85 0, 1064274.76 454140.624 0,
+ 1064579.357 454144.416 0, 1064883.954 454148.226 0, 1065188.55 454152.054 0, 1065493.147 454155.9 0, 1065796.279 454159.745 0, 1066102.338 454163.645 0, 1066406.934 454167.545 0, 1066711.529 454171.462 0, 1067016.124 454175.398 0, 1067320.719 454179.351 0,
+ 1067625.314 454183.322 0, 1067929.909 454187.312 0, 1068234.503 454191.319 0, 1068539.097 454195.344 0, 1068843.69 454199.387 0, 1069148.284 454203.448 0, 1069452.877 454207.527 0, 1069757.47 454211.624 0, 1070062.063 454215.738 0, 1070366.655 454219.871 0,
+ 1070671.248 454224.022 0, 1070975.84 454228.19 0, 1071280.432 454232.377 0, 1071585.023 454236.581 0, 1071889.614 454240.803 0, 1072194.205 454245.044 0, 1072498.796 454249.302 0, 1072803.387 454253.578 0, 1073106.515 454257.851 0, 1073184.968 448704.407 0,
+ 1073263.414 443151.395 0))
+
+POLYGON ((1087726.534 454485.043 0, 1087423.417 454479.913 0, 1087118.84 454474.777 0, 1086814.262 454469.658 0, 1086509.684 454464.557 0, 1086205.106 454459.474 0, 1085900.528 454454.409 0, 1085595.949 454449.363 0, 1085291.37 454444.333 0, 1084986.791 454439.322 0,
+ 1084682.211 454434.329 0, 1084377.631 454429.354 0, 1084073.051 454424.397 0, 1083768.47 454419.457 0, 1083463.89 454414.536 0, 1083159.308 454409.632 0, 1082854.727 454404.746 0, 1082550.145 454399.879 0, 1082245.563 454395.029 0, 1081940.981 454390.197 0,
+ 1081636.399 454385.383 0, 1081331.816 454380.587 0, 1081027.233 454375.809 0, 1080722.649 454371.049 0, 1080416.605 454366.284 0, 1080113.482 454361.583 0, 1079808.898 454356.876 0, 1079504.313 454352.188 0, 1079199.728 454347.517 0, 1078895.143 454342.865 0,
+ 1078590.558 454338.23 0, 1078285.973 454333.613 0, 1077981.387 454329.015 0, 1077676.801 454324.434 0, 1077372.214 454319.871 0, 1077067.628 454315.326 0, 1076763.041 454310.799 0, 1076458.453 454306.289 0, 1076153.866 454301.798 0, 1075849.278 454297.325 0,
+ 1075544.69 454292.87 0, 1075240.102 454288.432 0, 1074935.514 454284.013 0, 1074630.925 454279.611 0, 1074326.336 454275.227 0, 1074021.746 454270.862 0, 1073717.157 454266.514 0, 1073412.567 454262.184 0, 1073106.515 454257.851 0, 1073028.056 459811.725 0,
+ 1072949.591 465366.025 0, 1073254.987 465370.349 0, 1073558.923 465374.669 0, 1073862.858 465379.008 0, 1074166.794 465383.364 0, 1074470.729 465387.738 0, 1074774.664 465392.131 0, 1075078.599 465396.541 0, 1075382.533 465400.968 0, 1075686.467 465405.414 0,
+ 1075990.401 465409.878 0, 1076294.335 465414.36 0, 1076598.268 465418.859 0, 1076902.201 465423.376 0, 1077206.134 465427.912 0, 1077510.067 465432.465 0, 1077813.999 465437.036 0, 1078117.931 465441.625 0, 1078421.863 465446.232 0, 1078725.794 465450.856 0,
+ 1079029.726 465455.499 0, 1079333.657 465460.159 0, 1079637.587 465464.838 0, 1079941.518 465469.534 0, 1080243.99 465474.225 0, 1080549.378 465478.98 0, 1080853.307 465483.73 0, 1081157.237 465488.498 0, 1081461.166 465493.284 0, 1081765.094 465498.087 0,
+ 1082069.023 465502.909 0, 1082372.951 465507.748 0, 1082676.879 465512.605 0, 1082980.806 465517.48 0, 1083284.734 465522.373 0, 1083588.661 465527.284 0, 1083892.587 465532.213 0, 1084196.514 465537.16 0, 1084500.44 465542.124 0, 1084804.366 465547.107 0,
+ 1085108.291 465552.107 0, 1085412.217 465557.126 0, 1085716.142 465562.162 0, 1086020.066 465567.216 0, 1086323.991 465572.288 0, 1086627.915 465577.377 0, 1086931.839 465582.485 0, 1087235.762 465587.611 0, 1087538.229 465592.729 0, 1087632.385 460038.673 0,
+ 1087726.534 454485.043 0))
+
+POLYGON ((1102126.167 465860.648 0, 1101823.714 465854.675 0, 1101519.806 465848.691 0, 1101215.898 465842.724 0, 1100911.99 465836.776 0, 1100608.081 465830.845 0, 1100304.172 465824.933 0, 1100000.262 465819.038 0, 1099696.352 465813.161 0, 1099392.442 465807.302 0,
+ 1099088.531 465801.461 0, 1098784.62 465795.638 0, 1098480.709 465789.832 0, 1098176.798 465784.045 0, 1097872.886 465778.275 0, 1097568.973 465772.524 0, 1097265.061 465766.79 0, 1096961.148 465761.074 0, 1096657.235 465755.376 0, 1096353.321 465749.696 0,
+ 1096049.407 465744.034 0, 1095745.493 465738.389 0, 1095441.578 465732.763 0, 1095137.663 465727.154 0, 1094832.293 465721.537 0, 1094529.832 465715.991 0, 1094225.916 465710.436 0, 1093922 465704.899 0, 1093618.084 465699.38 0, 1093314.167 465693.879 0,
+ 1093010.249 465688.395 0, 1092706.332 465682.93 0, 1092402.414 465677.482 0, 1092098.496 465672.053 0, 1091794.577 465666.641 0, 1091490.658 465661.247 0, 1091186.739 465655.871 0, 1090882.82 465650.513 0, 1090578.9 465645.173 0, 1090274.98 465639.85 0,
+ 1089971.06 465634.546 0, 1089667.139 465629.259 0, 1089363.218 465623.991 0, 1089059.296 465618.74 0, 1088755.375 465613.507 0, 1088451.453 465608.292 0, 1088147.531 465603.095 0, 1087843.608 465597.915 0, 1087538.229 465592.729 0, 1087444.065 471147.209 0,
+ 1087349.894 476702.11 0, 1087654.617 476707.285 0, 1087957.885 476712.453 0, 1088261.154 476717.639 0, 1088564.422 476722.843 0, 1088867.69 476728.064 0, 1089170.957 476733.304 0, 1089474.224 476738.561 0, 1089777.491 476743.836 0, 1090080.758 476749.13 0,
+ 1090384.024 476754.44 0, 1090687.29 476759.769 0, 1090990.555 476765.116 0, 1091293.821 476770.48 0, 1091597.086 476775.863 0, 1091900.35 476781.263 0, 1092203.615 476786.681 0, 1092506.879 476792.117 0, 1092810.142 476797.57 0, 1093113.406 476803.042 0,
+ 1093416.669 476808.531 0, 1093719.931 476814.038 0, 1094023.194 476819.563 0, 1094326.456 476825.106 0, 1094628.265 476830.641 0, 1094932.979 476836.246 0, 1095236.24 476841.842 0, 1095539.501 476847.457 0, 1095842.761 476853.089 0, 1096146.021 476858.739 0,
+ 1096449.281 476864.407 0, 1096752.541 476870.093 0, 1097055.8 476875.796 0, 1097359.058 476881.518 0, 1097662.317 476887.257 0, 1097965.575 476893.014 0, 1098268.833 476898.789 0, 1098572.09 476904.582 0, 1098875.347 476910.392 0, 1099178.604 476916.221 0,
+ 1099481.86 476922.067 0, 1099785.116 476927.932 0, 1100088.372 476933.814 0, 1100391.627 476939.714 0, 1100694.882 476945.631 0, 1100998.137 476951.567 0, 1101301.391 476957.521 0, 1101604.645 476963.492 0, 1101906.448 476969.452 0, 1102016.312 471414.84 0,
+ 1102126.167 465860.648 0))
+
+POLYGON ((1116462.188 477277.918 0, 1116160.401 477271.105 0, 1115857.165 477264.277 0, 1115553.929 477257.467 0, 1115250.692 477250.675 0, 1114947.455 477243.9 0, 1114644.217 477237.144 0, 1114340.98 477230.405 0, 1114037.741 477223.684 0, 1113734.503 477216.981 0,
+ 1113431.264 477210.295 0, 1113128.024 477203.628 0, 1112824.784 477196.978 0, 1112521.544 477190.347 0, 1112218.304 477183.733 0, 1111915.063 477177.137 0, 1111611.821 477170.559 0, 1111308.579 477163.998 0, 1111005.337 477157.456 0, 1110702.095 477150.931 0,
+ 1110398.852 477144.424 0, 1110095.609 477137.935 0, 1109792.365 477131.464 0, 1109489.121 477125.011 0, 1109184.427 477118.545 0, 1108882.631 477112.158 0, 1108579.386 477105.759 0, 1108276.141 477099.377 0, 1107972.895 477093.013 0, 1107669.648 477086.667 0,
+ 1107366.402 477080.338 0, 1107063.155 477074.028 0, 1106759.907 477067.735 0, 1106456.659 477061.46 0, 1106153.411 477055.204 0, 1105850.163 477048.964 0, 1105546.914 477042.743 0, 1105243.665 477036.54 0, 1104940.415 477030.354 0, 1104637.165 477024.187 0,
+ 1104333.914 477018.037 0, 1104030.664 477011.905 0, 1103727.413 477005.791 0, 1103424.161 476999.695 0, 1103120.909 476993.616 0, 1102817.657 476987.556 0, 1102514.405 476981.513 0, 1102211.152 476975.488 0, 1101906.448 476969.452 0, 1101796.575 482524.482 0,
+ 1101686.695 488079.926 0, 1101990.742 488085.949 0, 1102293.341 488091.961 0, 1102595.94 488097.991 0, 1102898.538 488104.038 0, 1103201.136 488110.104 0, 1103503.733 488116.187 0, 1103806.33 488122.288 0, 1104108.927 488128.406 0, 1104411.524 488134.543 0,
+ 1104714.12 488140.697 0, 1105016.715 488146.869 0, 1105319.311 488153.059 0, 1105621.906 488159.267 0, 1105924.5 488165.493 0, 1106227.095 488171.736 0, 1106529.688 488177.997 0, 1106832.282 488184.276 0, 1107134.875 488190.573 0, 1107437.468 488196.888 0,
+ 1107740.06 488203.22 0, 1108042.652 488209.571 0, 1108345.244 488215.939 0, 1108647.835 488222.325 0, 1108948.98 488228.698 0, 1109253.017 488235.15 0, 1109555.607 488241.589 0, 1109858.197 488248.046 0, 1110160.786 488254.521 0, 1110463.375 488261.014 0,
+ 1110765.964 488267.525 0, 1111068.552 488274.053 0, 1111371.14 488280.599 0, 1111673.727 488287.163 0, 1111976.314 488293.745 0, 1112278.901 488300.344 0, 1112581.487 488306.962 0, 1112884.073 488313.597 0, 1113186.659 488320.25 0, 1113489.244 488326.921 0,
+ 1113791.829 488333.61 0, 1114094.413 488340.316 0, 1114396.997 488347.04 0, 1114699.58 488353.782 0, 1115002.164 488360.542 0, 1115304.746 488367.32 0, 1115607.329 488374.116 0, 1115909.911 488380.929 0, 1116211.047 488387.727 0, 1116336.622 482832.616 0,
+ 1116462.188 477277.918 0))
+
+POLYGON ((1130734.471 488736.561 0, 1130433.353 488728.912 0, 1130130.791 488721.244 0, 1129828.229 488713.593 0, 1129525.667 488705.961 0, 1129223.104 488698.346 0, 1128920.541 488690.749 0, 1128617.977 488683.17 0, 1128315.413 488675.609 0, 1128012.848 488668.065 0,
+ 1127710.283 488660.54 0, 1127407.718 488653.032 0, 1127105.152 488645.542 0, 1126802.585 488638.069 0, 1126500.018 488630.615 0, 1126197.451 488623.178 0, 1125894.884 488615.759 0, 1125592.315 488608.358 0, 1125289.747 488600.975 0, 1124987.178 488593.61 0,
+ 1124684.608 488586.262 0, 1124382.038 488578.932 0, 1124079.468 488571.62 0, 1123776.897 488564.326 0, 1123472.882 488557.015 0, 1123171.755 488549.791 0, 1122869.183 488542.551 0, 1122566.61 488535.328 0, 1122264.037 488528.123 0, 1121961.464 488520.935 0,
+ 1121658.89 488513.766 0, 1121356.316 488506.614 0, 1121053.741 488499.48 0, 1120751.167 488492.364 0, 1120448.591 488485.266 0, 1120146.015 488478.185 0, 1119843.439 488471.123 0, 1119540.862 488464.078 0, 1119238.285 488457.051 0, 1118935.708 488450.042 0,
+ 1118633.13 488443.05 0, 1118330.552 488436.077 0, 1118027.973 488429.121 0, 1117725.394 488422.183 0, 1117422.814 488415.263 0, 1117120.234 488408.36 0, 1116817.654 488401.476 0, 1116515.073 488394.609 0, 1116211.047 488387.727 0, 1116085.462 493943.25 0,
+ 1115959.869 499499.182 0, 1116263.238 499506.049 0, 1116565.165 499512.901 0, 1116867.091 499519.77 0, 1117169.017 499526.658 0, 1117470.943 499533.563 0, 1117772.868 499540.486 0, 1118074.792 499547.427 0, 1118376.717 499554.385 0, 1118678.641 499561.361 0,
+ 1118980.564 499568.356 0, 1119282.487 499575.367 0, 1119584.41 499582.397 0, 1119886.332 499589.444 0, 1120188.254 499596.51 0, 1120490.175 499603.592 0, 1120792.096 499610.693 0, 1121094.017 499617.812 0, 1121395.937 499624.948 0, 1121697.857 499632.102 0,
+ 1121999.776 499639.274 0, 1122301.695 499646.463 0, 1122603.614 499653.671 0, 1122905.532 499660.896 0, 1123206.008 499668.104 0, 1123509.366 499675.399 0, 1123811.283 499682.678 0, 1124113.2 499689.974 0, 1124415.115 499697.288 0, 1124717.031 499704.619 0,
+ 1125018.946 499711.969 0, 1125320.861 499719.336 0, 1125622.775 499726.721 0, 1125924.689 499734.124 0, 1126226.602 499741.544 0, 1126528.515 499748.983 0, 1126830.427 499756.439 0, 1127132.339 499763.913 0, 1127434.251 499771.404 0, 1127736.162 499778.914 0,
+ 1128038.072 499786.441 0, 1128339.983 499793.986 0, 1128641.892 499801.549 0, 1128943.802 499809.129 0, 1129245.711 499816.727 0, 1129547.619 499824.343 0, 1129849.527 499831.977 0, 1130151.435 499839.629 0, 1130451.902 499847.262 0, 1130593.192 494291.707 0,
+ 1130734.471 488736.561 0))
+
+POLYGON ((1144942.894 500236.282 0, 1144642.447 500227.801 0, 1144340.562 500219.296 0, 1144038.677 500210.81 0, 1143736.792 500202.341 0, 1143434.905 500193.889 0, 1143133.019 500185.456 0, 1142831.131 500177.04 0, 1142529.244 500168.643 0, 1142227.356 500160.262 0,
+ 1141925.467 500151.9 0, 1141623.578 500143.556 0, 1141321.688 500135.229 0, 1141019.798 500126.92 0, 1140717.907 500118.628 0, 1140416.016 500110.355 0, 1140114.124 500102.099 0, 1139812.232 500093.861 0, 1139510.34 500085.641 0, 1139208.447 500077.439 0,
+ 1138906.553 500069.254 0, 1138604.659 500061.087 0, 1138302.764 500052.938 0, 1138000.869 500044.807 0, 1137697.535 500036.655 0, 1137397.078 500028.597 0, 1137095.182 500020.519 0, 1136793.285 500012.459 0, 1136491.387 500004.417 0, 1136189.489 499996.392 0,
+ 1135887.591 499988.385 0, 1135585.692 499980.396 0, 1135283.793 499972.424 0, 1134981.893 499964.471 0, 1134679.993 499956.535 0, 1134378.092 499948.617 0, 1134076.191 499940.716 0, 1133774.29 499932.834 0, 1133472.388 499924.969 0, 1133170.485 499917.122 0,
+ 1132868.582 499909.293 0, 1132566.679 499901.481 0, 1132264.775 499893.687 0, 1131962.87 499885.911 0, 1131660.966 499878.153 0, 1131359.06 499870.413 0, 1131057.155 499862.69 0, 1130755.248 499854.985 0, 1130451.902 499847.262 0, 1130310.602 505403.221 0,
+ 1130169.292 510959.583 0, 1130471.981 510967.29 0, 1130773.233 510974.978 0, 1131074.485 510982.684 0, 1131375.736 510990.408 0, 1131676.987 510998.149 0, 1131978.237 511005.908 0, 1132279.487 511013.685 0, 1132580.736 511021.48 0, 1132881.985 511029.292 0,
+ 1133183.234 511037.122 0, 1133484.482 511044.97 0, 1133785.73 511052.835 0, 1134086.977 511060.719 0, 1134388.223 511068.62 0, 1134689.469 511076.538 0, 1134990.715 511084.475 0, 1135291.96 511092.429 0, 1135593.205 511100.401 0, 1135894.449 511108.39 0,
+ 1136195.693 511116.398 0, 1136496.937 511124.423 0, 1136798.179 511132.466 0, 1137099.422 511140.526 0, 1137399.228 511148.566 0, 1137701.905 511156.7 0, 1138003.146 511164.814 0, 1138304.387 511172.946 0, 1138605.627 511181.095 0, 1138906.866 511189.262 0,
+ 1139208.105 511197.446 0, 1139509.344 511205.649 0, 1139810.582 511213.869 0, 1140111.82 511222.107 0, 1140413.057 511230.362 0, 1140714.293 511238.635 0, 1141015.53 511246.926 0, 1141316.765 511255.235 0, 1141618 511263.562 0, 1141919.235 511271.906 0,
+ 1142220.469 511280.268 0, 1142521.703 511288.648 0, 1142822.936 511297.045 0, 1143124.169 511305.46 0, 1143425.401 511313.893 0, 1143726.633 511322.344 0, 1144027.864 511330.812 0, 1144329.095 511339.298 0, 1144628.891 511347.761 0, 1144785.898 505791.821 0,
+ 1144942.894 500236.282 0))
+
+POLYGON ((1159087.335 511776.789 0, 1158787.562 511767.479 0, 1158486.356 511758.141 0, 1158185.15 511748.822 0, 1157883.944 511739.521 0, 1157582.737 511730.237 0, 1157281.529 511720.971 0, 1156980.321 511711.722 0, 1156679.112 511702.491 0, 1156377.902 511693.278 0,
+ 1156076.692 511684.083 0, 1155775.482 511674.906 0, 1155474.271 511665.746 0, 1155173.059 511656.604 0, 1154871.847 511647.48 0, 1154570.635 511638.373 0, 1154269.422 511629.284 0, 1153968.208 511620.213 0, 1153666.994 511611.16 0, 1153365.779 511602.124 0,
+ 1153064.564 511593.106 0, 1152763.348 511584.106 0, 1152462.132 511575.123 0, 1152160.915 511566.159 0, 1151858.264 511557.169 0, 1151558.48 511548.282 0, 1151257.261 511539.371 0, 1150956.042 511530.477 0, 1150654.823 511521.601 0, 1150353.603 511512.742 0,
+ 1150052.382 511503.902 0, 1149751.161 511495.079 0, 1149449.94 511486.274 0, 1149148.718 511477.486 0, 1148847.495 511468.716 0, 1148546.272 511459.964 0, 1148245.048 511451.23 0, 1147943.824 511442.514 0, 1147642.599 511433.815 0, 1147341.374 511425.134 0,
+ 1147040.149 511416.47 0, 1146738.922 511407.825 0, 1146437.696 511399.197 0, 1146136.468 511390.587 0, 1145835.241 511381.994 0, 1145534.013 511373.42 0, 1145232.784 511364.863 0, 1144931.555 511356.323 0, 1144628.891 511347.761 0, 1144471.872 516904.101 0,
+ 1144314.842 522460.836 0, 1144616.849 522469.38 0, 1144917.424 522477.901 0, 1145217.999 522486.439 0, 1145518.573 522494.995 0, 1145819.146 522503.569 0, 1146119.72 522512.16 0, 1146420.292 522520.769 0, 1146720.864 522529.396 0, 1147021.436 522538.041 0,
+ 1147322.007 522546.703 0, 1147622.577 522555.383 0, 1147923.148 522564.081 0, 1148223.717 522572.796 0, 1148524.286 522581.529 0, 1148824.855 522590.28 0, 1149125.423 522599.048 0, 1149425.99 522607.834 0, 1149726.557 522616.638 0, 1150027.124 522625.459 0,
+ 1150327.689 522634.298 0, 1150628.255 522643.155 0, 1150928.82 522652.03 0, 1151229.384 522660.922 0, 1151528.518 522669.789 0, 1151830.511 522678.759 0, 1152131.074 522687.705 0, 1152431.636 522696.668 0, 1152732.198 522705.648 0, 1153032.759 522714.647 0,
+ 1153333.32 522723.663 0, 1153633.88 522732.697 0, 1153934.44 522741.748 0, 1154234.999 522750.817 0, 1154535.557 522759.904 0, 1154836.115 522769.008 0, 1155136.673 522778.131 0, 1155437.23 522787.271 0, 1155737.786 522796.428 0, 1156038.342 522805.603 0,
+ 1156338.897 522814.796 0, 1156639.452 522824.007 0, 1156940.006 522833.235 0, 1157240.56 522842.481 0, 1157541.113 522851.745 0, 1157841.666 522861.026 0, 1158142.218 522870.325 0, 1158442.769 522879.642 0, 1158741.891 522888.932 0, 1158914.619 517332.663 0,
+ 1159087.335 511776.789 0))
+
+POLYGON ((1173167.674 523357.786 0, 1172868.577 523347.65 0, 1172568.053 523337.485 0, 1172267.528 523327.336 0, 1171967.003 523317.206 0, 1171666.477 523307.093 0, 1171365.951 523296.998 0, 1171065.424 523286.921 0, 1170764.896 523276.861 0, 1170464.368 523266.819 0,
+ 1170163.839 523256.795 0, 1169863.31 523246.788 0, 1169562.78 523236.799 0, 1169262.25 523226.828 0, 1168961.719 523216.874 0, 1168661.187 523206.938 0, 1168360.655 523197.02 0, 1168060.122 523187.119 0, 1167759.588 523177.237 0, 1167459.054 523167.371 0,
+ 1167158.52 523157.524 0, 1166857.985 523147.694 0, 1166557.449 523137.882 0, 1166256.913 523128.088 0, 1165954.948 523118.265 0, 1165655.838 523108.552 0, 1165355.3 523098.811 0, 1165054.762 523089.087 0, 1164754.222 523079.381 0, 1164453.683 523069.693 0,
+ 1164153.142 523060.022 0, 1163852.601 523050.369 0, 1163552.06 523040.734 0, 1163251.518 523031.117 0, 1162950.975 523021.517 0, 1162650.432 523011.935 0, 1162349.888 523002.37 0, 1162049.344 522992.823 0, 1161748.799 522983.294 0, 1161448.254 522973.783 0,
+ 1161147.708 522964.289 0, 1160847.161 522954.813 0, 1160546.614 522945.355 0, 1160246.067 522935.914 0, 1159945.518 522926.492 0, 1159644.97 522917.086 0, 1159344.42 522907.699 0, 1159043.871 522898.329 0, 1158741.891 522888.932 0, 1158569.151 528445.595 0,
+ 1158396.399 534002.647 0, 1158697.721 534012.023 0, 1158997.617 534021.373 0, 1159297.512 534030.74 0, 1159597.406 534040.125 0, 1159897.3 534049.527 0, 1160197.194 534058.947 0, 1160497.087 534068.385 0, 1160796.979 534077.84 0, 1161096.871 534087.313 0,
+ 1161396.762 534096.804 0, 1161696.653 534106.312 0, 1161996.543 534115.838 0, 1162296.433 534125.382 0, 1162596.322 534134.943 0, 1162896.21 534144.522 0, 1163196.098 534154.119 0, 1163495.986 534163.733 0, 1163795.872 534173.365 0, 1164095.759 534183.014 0,
+ 1164395.644 534192.682 0, 1164695.529 534202.366 0, 1164995.414 534212.069 0, 1165295.298 534221.789 0, 1165593.757 534231.48 0, 1165895.064 534241.282 0, 1166194.946 534251.055 0, 1166494.828 534260.846 0, 1166794.709 534270.654 0, 1167094.589 534280.48 0,
+ 1167394.469 534290.324 0, 1167694.349 534300.185 0, 1167994.227 534310.064 0, 1168294.106 534319.961 0, 1168593.983 534329.875 0, 1168893.86 534339.807 0, 1169193.737 534349.757 0, 1169493.612 534359.724 0, 1169793.488 534369.709 0, 1170093.362 534379.711 0,
+ 1170393.236 534389.732 0, 1170693.11 534399.769 0, 1170992.983 534409.825 0, 1171292.855 534419.898 0, 1171592.727 534429.989 0, 1171892.598 534440.097 0, 1172192.468 534450.223 0, 1172492.338 534460.367 0, 1172790.784 534470.48 0, 1172979.236 528913.938 0,
+ 1173167.674 523357.786 0))
+
+POLYGON ((1187183.79 534978.978 0, 1186885.372 534968.022 0, 1186585.532 534957.031 0, 1186285.691 534946.058 0, 1185985.85 534935.102 0, 1185686.008 534924.164 0, 1185386.165 534913.244 0, 1185086.322 534902.341 0, 1184786.478 534891.456 0, 1184486.633 534880.589 0,
+ 1184186.788 534869.739 0, 1183886.942 534858.907 0, 1183587.096 534848.093 0, 1183287.249 534837.296 0, 1182987.401 534826.517 0, 1182687.553 534815.755 0, 1182387.704 534805.012 0, 1182087.854 534794.285 0, 1181788.004 534783.577 0, 1181488.153 534772.886 0,
+ 1181188.301 534762.213 0, 1180888.449 534751.557 0, 1180588.596 534740.919 0, 1180288.743 534730.299 0, 1179987.467 534719.646 0, 1179689.034 534709.111 0, 1179389.179 534698.544 0, 1179089.323 534687.995 0, 1178789.467 534677.462 0, 1178489.609 534666.948 0,
+ 1178189.752 534656.451 0, 1177889.893 534645.972 0, 1177590.034 534635.511 0, 1177290.175 534625.067 0, 1176990.314 534614.641 0, 1176690.454 534604.233 0, 1176390.592 534593.842 0, 1176090.73 534583.469 0, 1175790.867 534573.113 0, 1175491.004 534562.775 0,
+ 1175191.14 534552.455 0, 1174891.276 534542.152 0, 1174591.411 534531.867 0, 1174291.545 534521.6 0, 1173991.679 534511.351 0, 1173691.812 534501.119 0, 1173391.944 534490.904 0, 1173092.076 534480.708 0, 1172790.784 534470.48 0, 1172602.32 540027.409 0,
+ 1172413.842 545584.721 0, 1172714.477 545594.926 0, 1173013.691 545605.101 0, 1173312.904 545615.293 0, 1173612.117 545625.502 0, 1173911.329 545635.73 0, 1174210.541 545645.975 0, 1174509.752 545656.237 0, 1174808.962 545666.517 0, 1175108.172 545676.815 0,
+ 1175407.381 545687.13 0, 1175706.589 545697.463 0, 1176005.797 545707.814 0, 1176305.005 545718.182 0, 1176604.211 545728.568 0, 1176903.417 545738.971 0, 1177202.623 545749.392 0, 1177501.828 545759.831 0, 1177801.032 545770.287 0, 1178100.236 545780.761 0,
+ 1178399.439 545791.252 0, 1178698.641 545801.761 0, 1178997.843 545812.288 0, 1179297.044 545822.832 0, 1179594.826 545833.344 0, 1179895.444 545843.973 0, 1180194.644 545854.57 0, 1180493.842 545865.185 0, 1180793.04 545875.817 0, 1181092.238 545886.467 0,
+ 1181391.435 545897.135 0, 1181690.631 545907.82 0, 1181989.826 545918.523 0, 1182289.021 545929.243 0, 1182588.215 545939.981 0, 1182887.409 545950.737 0, 1183186.602 545961.51 0, 1183485.794 545972.301 0, 1183784.986 545983.109 0, 1184084.177 545993.935 0,
+ 1184383.368 546004.779 0, 1184682.557 546015.64 0, 1184981.747 546026.519 0, 1185280.935 546037.415 0, 1185580.123 546048.329 0, 1185879.31 546059.261 0, 1186178.497 546070.21 0, 1186477.683 546081.177 0, 1186775.45 546092.11 0, 1186979.627 540535.352 0,
+ 1187183.79 534978.978 0))
+
+POLYGON ((1201135.568 546640.07 0, 1200837.83 546628.297 0, 1200538.676 546616.484 0, 1200239.521 546604.69 0, 1199940.366 546592.913 0, 1199641.21 546581.154 0, 1199342.054 546569.412 0, 1199042.897 546557.688 0, 1198743.739 546545.982 0, 1198444.58 546534.293 0,
+ 1198145.421 546522.621 0, 1197846.261 546510.968 0, 1197547.1 546499.332 0, 1197247.939 546487.713 0, 1196948.777 546476.113 0, 1196649.614 546464.529 0, 1196350.451 546452.964 0, 1196051.287 546441.416 0, 1195752.122 546429.885 0, 1195452.956 546418.373 0,
+ 1195153.79 546406.877 0, 1194854.623 546395.4 0, 1194555.456 546383.94 0, 1194256.288 546372.498 0, 1193955.702 546361.019 0, 1193657.949 546349.666 0, 1193358.779 546338.276 0, 1193059.608 546326.904 0, 1192760.437 546315.55 0, 1192461.265 546304.213 0,
+ 1192162.092 546292.894 0, 1191862.918 546281.593 0, 1191563.744 546270.309 0, 1191264.569 546259.043 0, 1190965.394 546247.794 0, 1190666.218 546236.563 0, 1190367.041 546225.349 0, 1190067.863 546214.154 0, 1189768.685 546202.975 0, 1189469.507 546191.815 0,
+ 1189170.327 546180.672 0, 1188871.147 546169.546 0, 1188571.966 546158.439 0, 1188272.785 546147.349 0, 1187973.603 546136.276 0, 1187674.42 546125.221 0, 1187375.237 546114.184 0, 1187076.053 546103.164 0, 1186775.45 546092.11 0, 1186571.259 551649.248 0,
+ 1186367.054 557206.763 0, 1186666.999 557217.793 0, 1186965.529 557228.789 0, 1187264.058 557239.802 0, 1187562.587 557250.833 0, 1187861.115 557261.881 0, 1188159.642 557272.947 0, 1188458.169 557284.03 0, 1188756.695 557295.131 0, 1189055.22 557306.25 0,
+ 1189353.744 557317.386 0, 1189652.268 557328.54 0, 1189950.792 557339.711 0, 1190249.314 557350.9 0, 1190547.836 557362.107 0, 1190846.358 557373.331 0, 1191144.878 557384.572 0, 1191443.398 557395.832 0, 1191741.918 557407.108 0, 1192040.436 557418.403 0,
+ 1192338.954 557429.715 0, 1192637.472 557441.044 0, 1192935.988 557452.391 0, 1193234.504 557463.756 0, 1193531.606 557475.084 0, 1193831.534 557486.538 0, 1194130.048 557497.955 0, 1194428.562 557509.39 0, 1194727.074 557520.842 0, 1195025.586 557532.312 0,
+ 1195324.098 557543.8 0, 1195622.608 557555.305 0, 1195921.118 557566.828 0, 1196219.628 557578.368 0, 1196518.136 557589.926 0, 1196816.644 557601.501 0, 1197115.151 557613.094 0, 1197413.658 557624.705 0, 1197712.164 557636.333 0, 1198010.669 557647.979 0,
+ 1198309.173 557659.642 0, 1198607.677 557671.323 0, 1198906.18 557683.022 0, 1199204.683 557694.738 0, 1199503.184 557706.471 0, 1199801.685 557718.222 0, 1200100.186 557729.991 0, 1200398.685 557741.777 0, 1200695.772 557753.525 0, 1200915.677 552196.609 0,
+ 1201135.568 546640.07 0))
+
+POLYGON ((1215022.888 558340.767 0, 1214725.834 558328.179 0, 1214427.368 558315.55 0, 1214128.902 558302.938 0, 1213830.436 558290.343 0, 1213531.968 558277.767 0, 1213233.5 558265.207 0, 1212935.031 558252.666 0, 1212636.562 558240.141 0, 1212338.091 558227.635 0,
+ 1212039.62 558215.146 0, 1211741.149 558202.674 0, 1211442.676 558190.221 0, 1211144.203 558177.784 0, 1210845.729 558165.365 0, 1210547.254 558152.964 0, 1210248.779 558140.581 0, 1209950.302 558128.215 0, 1209651.825 558115.866 0, 1209353.348 558103.535 0,
+ 1209054.869 558091.222 0, 1208756.39 558078.926 0, 1208457.91 558066.648 0, 1208159.43 558054.387 0, 1207859.538 558042.086 0, 1207562.467 558029.919 0, 1207263.984 558017.711 0, 1206965.5 558005.52 0, 1206667.016 557993.348 0, 1206368.531 557981.192 0,
+ 1206070.046 557969.055 0, 1205771.56 557956.935 0, 1205473.073 557944.832 0, 1205174.585 557932.747 0, 1204876.096 557920.68 0, 1204577.607 557908.63 0, 1204279.117 557896.598 0, 1203980.627 557884.583 0, 1203682.136 557872.586 0, 1203383.644 557860.606 0,
+ 1203085.151 557848.644 0, 1202786.658 557836.7 0, 1202488.164 557824.773 0, 1202189.669 557812.864 0, 1201891.173 557800.972 0, 1201592.677 557789.098 0, 1201294.18 557777.242 0, 1200995.683 557765.403 0, 1200695.772 557753.525 0, 1200475.852 563310.815 0,
+ 1200255.918 568868.476 0, 1200555.171 568880.327 0, 1200853.014 568892.141 0, 1201150.857 568903.971 0, 1201448.699 568915.819 0, 1201746.54 568927.685 0, 1202044.381 568939.568 0, 1202342.221 568951.469 0, 1202640.06 568963.387 0, 1202937.898 568975.323 0,
+ 1203235.736 568987.276 0, 1203533.573 568999.247 0, 1203831.41 569011.235 0, 1204129.245 569023.241 0, 1204427.08 569035.264 0, 1204724.914 569047.305 0, 1205022.748 569059.364 0, 1205320.581 569071.44 0, 1205618.413 569083.533 0, 1205916.244 569095.644 0,
+ 1206214.075 569107.773 0, 1206511.905 569119.919 0, 1206809.734 569132.083 0, 1207107.563 569144.264 0, 1207403.983 569156.405 0, 1207703.218 569168.679 0, 1208001.044 569180.913 0, 1208298.87 569193.164 0, 1208596.695 569205.433 0, 1208894.519 569217.719 0,
+ 1209192.342 569230.023 0, 1209490.165 569242.344 0, 1209787.987 569254.683 0, 1210085.809 569267.04 0, 1210383.629 569279.414 0, 1210681.449 569291.805 0, 1210979.268 569304.214 0, 1211277.087 569316.641 0, 1211574.904 569329.085 0, 1211872.721 569341.547 0,
+ 1212170.537 569354.026 0, 1212468.353 569366.523 0, 1212766.168 569379.037 0, 1213063.982 569391.569 0, 1213361.795 569404.118 0, 1213659.607 569416.685 0, 1213957.419 569429.269 0, 1214255.23 569441.871 0, 1214551.634 569454.431 0, 1214787.269 563897.413 0,
+ 1215022.888 558340.767 0))
+
+POLYGON ((1228845.637 570080.771 0, 1228549.268 570067.374 0, 1228251.494 570053.93 0, 1227953.719 570040.505 0, 1227655.943 570027.097 0, 1227358.166 570013.706 0, 1227060.389 570000.333 0, 1226762.611 569986.977 0, 1226464.832 569973.639 0, 1226167.052 569960.319 0,
+ 1225869.271 569947.016 0, 1225571.49 569933.73 0, 1225273.708 569920.462 0, 1224975.925 569907.212 0, 1224678.141 569893.979 0, 1224380.357 569880.764 0, 1224082.572 569867.566 0, 1223784.786 569854.386 0, 1223486.999 569841.223 0, 1223189.211 569828.078 0,
+ 1222891.423 569814.95 0, 1222593.634 569801.84 0, 1222295.844 569788.747 0, 1221998.054 569775.672 0, 1221698.857 569762.553 0, 1221402.47 569749.574 0, 1221104.677 569736.552 0, 1220806.883 569723.547 0, 1220509.089 569710.559 0, 1220211.294 569697.589 0,
+ 1219913.498 569684.637 0, 1219615.701 569671.702 0, 1219317.903 569658.785 0, 1219020.105 569645.885 0, 1218722.306 569633.002 0, 1218424.506 569620.138 0, 1218126.706 569607.29 0, 1217828.904 569594.461 0, 1217531.102 569581.648 0, 1217233.299 569568.854 0,
+ 1216935.496 569556.077 0, 1216637.692 569543.317 0, 1216339.887 569530.575 0, 1216042.081 569517.85 0, 1215744.274 569505.143 0, 1215446.467 569492.454 0, 1215148.659 569479.782 0, 1214850.85 569467.127 0, 1214551.634 569454.431 0, 1214315.983 575011.816 0,
+ 1214080.317 580569.565 0, 1214378.876 580582.234 0, 1214676.03 580594.86 0, 1214973.184 580607.505 0, 1215270.337 580620.166 0, 1215567.49 580632.845 0, 1215864.641 580645.542 0, 1216161.792 580658.256 0, 1216458.942 580670.988 0, 1216756.092 580683.737 0,
+ 1217053.24 580696.503 0, 1217350.388 580709.287 0, 1217647.535 580722.089 0, 1217944.682 580734.908 0, 1218241.827 580747.745 0, 1218538.972 580760.599 0, 1218836.116 580773.47 0, 1219133.26 580786.359 0, 1219430.402 580799.266 0, 1219727.544 580812.19 0,
+ 1220024.685 580825.131 0, 1220321.825 580838.09 0, 1220618.965 580851.066 0, 1220916.104 580864.06 0, 1221211.839 580877.01 0, 1221510.379 580890.101 0, 1221807.515 580903.147 0, 1222104.651 580916.211 0, 1222401.786 580929.292 0, 1222698.92 580942.391 0,
+ 1222996.053 580955.508 0, 1223293.186 580968.641 0, 1223590.318 580981.793 0, 1223887.449 580994.962 0, 1224184.579 581008.148 0, 1224481.709 581021.352 0, 1224778.837 581034.573 0, 1225075.965 581047.812 0, 1225373.093 581061.068 0, 1225670.219 581074.342 0,
+ 1225967.345 581087.633 0, 1226264.469 581100.942 0, 1226561.593 581114.268 0, 1226858.717 581127.612 0, 1227155.839 581140.973 0, 1227452.961 581154.352 0, 1227750.082 581167.748 0, 1228047.202 581181.161 0, 1228342.92 581194.529 0, 1228594.287 575637.468 0,
+ 1228845.637 570080.771 0))
+
+POLYGON ((1242603.701 581859.785 0, 1242308.019 581845.582 0, 1242010.938 581831.329 0, 1241713.856 581817.094 0, 1241416.774 581802.875 0, 1241119.69 581788.675 0, 1240822.606 581774.492 0, 1240525.52 581760.326 0, 1240228.434 581746.178 0, 1239931.348 581732.047 0,
+ 1239634.26 581717.934 0, 1239337.171 581703.839 0, 1239040.082 581689.761 0, 1238742.992 581675.7 0, 1238445.901 581661.657 0, 1238148.809 581647.631 0, 1237851.716 581633.623 0, 1237554.623 581619.632 0, 1237257.528 581605.659 0, 1236960.433 581591.703 0,
+ 1236663.337 581577.765 0, 1236366.24 581563.844 0, 1236069.143 581549.941 0, 1235772.044 581536.055 0, 1235473.545 581522.121 0, 1235177.845 581508.336 0, 1234880.744 581494.502 0, 1234583.643 581480.686 0, 1234286.54 581466.888 0, 1233989.437 581453.107 0,
+ 1233692.333 581439.344 0, 1233395.228 581425.598 0, 1233098.122 581411.869 0, 1232801.015 581398.158 0, 1232503.908 581384.465 0, 1232206.8 581370.789 0, 1231909.691 581357.13 0, 1231612.581 581343.489 0, 1231315.471 581329.866 0, 1231018.359 581316.26 0,
+ 1230721.247 581302.671 0, 1230424.134 581289.1 0, 1230127.02 581275.547 0, 1229829.906 581262.011 0, 1229532.791 581248.492 0, 1229235.674 581234.991 0, 1228938.557 581221.507 0, 1228641.44 581208.041 0, 1228342.92 581194.529 0, 1228091.537 586751.952 0,
+ 1227840.138 592309.733 0, 1228138 592323.215 0, 1228434.463 592336.651 0, 1228730.926 592350.105 0, 1229027.388 592363.577 0, 1229323.849 592377.065 0, 1229620.309 592390.572 0, 1229916.769 592404.095 0, 1230213.228 592417.637 0, 1230509.686 592431.195 0,
+ 1230806.143 592444.771 0, 1231102.599 592458.365 0, 1231399.055 592471.976 0, 1231695.51 592485.604 0, 1231991.964 592499.25 0, 1232288.417 592512.913 0, 1232584.869 592526.594 0, 1232881.321 592540.292 0, 1233177.771 592554.008 0, 1233474.221 592567.741 0,
+ 1233770.67 592581.492 0, 1234067.119 592595.26 0, 1234363.566 592609.045 0, 1234660.013 592622.848 0, 1234955.062 592636.603 0, 1235252.904 592650.506 0, 1235549.348 592664.361 0, 1235845.792 592678.234 0, 1236142.234 592692.124 0, 1236438.676 592706.032 0,
+ 1236735.117 592719.957 0, 1237031.557 592733.899 0, 1237327.996 592747.859 0, 1237624.435 592761.837 0, 1237920.873 592775.831 0, 1238217.309 592789.844 0, 1238513.745 592803.873 0, 1238810.181 592817.921 0, 1239106.615 592831.985 0, 1239403.049 592846.067 0,
+ 1239699.481 592860.167 0, 1239995.913 592874.284 0, 1240292.344 592888.418 0, 1240588.775 592902.57 0, 1240885.204 592916.739 0, 1241181.633 592930.926 0, 1241478.06 592945.13 0, 1241774.487 592959.352 0, 1242069.518 592973.524 0, 1242336.618 587416.476 0,
+ 1242603.701 581859.785 0))
+
+POLYGON ((1256296.966 593677.513 0, 1256001.974 593662.508 0, 1255705.589 593647.449 0, 1255409.202 593632.407 0, 1255112.815 593617.383 0, 1254816.427 593602.376 0, 1254520.038 593587.387 0, 1254223.648 593572.415 0, 1253927.257 593557.461 0, 1253630.865 593542.524 0,
+ 1253334.473 593527.604 0, 1253038.079 593512.702 0, 1252741.685 593497.818 0, 1252445.29 593482.95 0, 1252148.893 593468.101 0, 1251852.496 593453.268 0, 1251556.099 593438.454 0, 1251259.7 593423.656 0, 1250963.3 593408.876 0, 1250666.9 593394.114 0,
+ 1250370.499 593379.369 0, 1250074.096 593364.641 0, 1249777.693 593349.931 0, 1249481.289 593335.238 0, 1249183.49 593320.494 0, 1248888.479 593305.905 0, 1248592.072 593291.265 0, 1248295.665 593276.642 0, 1247999.257 593262.037 0, 1247702.848 593247.449 0,
+ 1247406.438 593232.878 0, 1247110.027 593218.325 0, 1246813.615 593203.789 0, 1246517.203 593189.271 0, 1246220.789 593174.77 0, 1245924.375 593160.287 0, 1245627.96 593145.821 0, 1245331.544 593131.372 0, 1245035.127 593116.941 0, 1244738.71 593102.528 0,
+ 1244442.291 593088.132 0, 1244145.872 593073.753 0, 1243849.452 593059.392 0, 1243553.031 593045.048 0, 1243256.609 593030.722 0, 1242960.186 593016.413 0, 1242663.763 593002.122 0, 1242367.338 592987.848 0, 1242069.518 592973.524 0, 1241802.4 598530.927 0,
+ 1241535.266 604088.682 0, 1241832.43 604102.974 0, 1242128.2 604117.216 0, 1242423.969 604131.476 0, 1242719.738 604145.753 0, 1243015.505 604160.048 0, 1243311.272 604174.36 0, 1243607.038 604188.69 0, 1243902.803 604203.036 0, 1244198.568 604217.401 0,
+ 1244494.331 604231.783 0, 1244790.094 604246.182 0, 1245085.855 604260.598 0, 1245381.616 604275.032 0, 1245677.376 604289.484 0, 1245973.135 604303.952 0, 1246268.894 604318.439 0, 1246564.651 604332.942 0, 1246860.408 604347.463 0, 1247156.164 604362.002 0,
+ 1247451.919 604376.557 0, 1247747.673 604391.131 0, 1248043.426 604405.721 0, 1248339.178 604420.329 0, 1248633.538 604434.886 0, 1248930.68 604449.598 0, 1249226.43 604464.258 0, 1249522.179 604478.936 0, 1249817.927 604493.631 0, 1250113.674 604508.343 0,
+ 1250409.42 604523.073 0, 1250705.166 604537.82 0, 1251000.91 604552.585 0, 1251296.654 604567.367 0, 1251592.397 604582.167 0, 1251888.139 604596.984 0, 1252183.88 604611.818 0, 1252479.62 604626.67 0, 1252775.359 604641.539 0, 1253071.098 604656.425 0,
+ 1253366.835 604671.329 0, 1253662.572 604686.251 0, 1253958.308 604701.19 0, 1254254.043 604716.146 0, 1254549.777 604731.119 0, 1254845.51 604746.11 0, 1255141.242 604761.119 0, 1255436.974 604776.145 0, 1255731.314 604791.117 0, 1256014.149 599234.139 0,
+ 1256296.966 593677.513 0))
+
+POLYGON ((1269925.321 605533.656 0, 1269631.022 605517.852 0, 1269335.334 605501.991 0, 1269039.645 605486.147 0, 1268743.955 605470.321 0, 1268448.265 605454.512 0, 1268152.573 605438.72 0, 1267856.881 605422.946 0, 1267561.188 605407.189 0, 1267265.493 605391.449 0,
+ 1266969.798 605375.727 0, 1266674.102 605360.023 0, 1266378.405 605344.336 0, 1266082.707 605328.666 0, 1265787.008 605313.013 0, 1265491.308 605297.378 0, 1265195.608 605281.761 0, 1264899.906 605266.161 0, 1264604.203 605250.578 0, 1264308.5 605235.012 0,
+ 1264012.795 605219.465 0, 1263717.09 605203.934 0, 1263421.384 605188.421 0, 1263125.677 605172.925 0, 1262828.58 605157.374 0, 1262534.26 605141.986 0, 1262238.55 605126.542 0, 1261942.839 605111.116 0, 1261647.127 605095.707 0, 1261351.415 605080.316 0,
+ 1261055.701 605064.942 0, 1260759.987 605049.586 0, 1260464.271 605034.246 0, 1260168.555 605018.925 0, 1259872.838 605003.62 0, 1259577.12 604988.334 0, 1259281.401 604973.064 0, 1258985.681 604957.812 0, 1258689.961 604942.577 0, 1258394.239 604927.36 0,
+ 1258098.516 604912.16 0, 1257802.793 604896.978 0, 1257507.069 604881.813 0, 1257211.344 604866.665 0, 1256915.617 604851.535 0, 1256619.89 604836.422 0, 1256324.163 604821.326 0, 1256028.434 604806.248 0, 1255731.314 604791.117 0, 1255448.462 610348.443 0,
+ 1255165.592 615906.114 0, 1255462.054 615921.212 0, 1255757.129 615936.257 0, 1256052.202 615951.319 0, 1256347.275 615966.398 0, 1256642.347 615981.495 0, 1256937.418 615996.609 0, 1257232.488 616011.74 0, 1257527.557 616026.889 0, 1257822.626 616042.056 0,
+ 1258117.693 616057.239 0, 1258412.76 616072.44 0, 1258707.825 616087.659 0, 1259002.89 616102.894 0, 1259297.954 616118.147 0, 1259593.017 616133.418 0, 1259888.079 616148.706 0, 1260183.14 616164.011 0, 1260478.2 616179.333 0, 1260773.26 616194.673 0,
+ 1261068.318 616210.03 0, 1261363.376 616225.405 0, 1261658.432 616240.797 0, 1261953.488 616256.207 0, 1262247.157 616271.561 0, 1262543.597 616287.077 0, 1262838.65 616302.539 0, 1263133.702 616318.018 0, 1263428.753 616333.514 0, 1263723.803 616349.027 0,
+ 1264018.853 616364.558 0, 1264313.901 616380.107 0, 1264608.948 616395.672 0, 1264903.995 616411.255 0, 1265199.041 616426.856 0, 1265494.086 616442.474 0, 1265789.129 616458.109 0, 1266084.172 616473.761 0, 1266379.214 616489.431 0, 1266674.255 616505.118 0,
+ 1266969.296 616520.823 0, 1267264.335 616536.545 0, 1267559.373 616552.284 0, 1267854.41 616568.041 0, 1268149.447 616583.815 0, 1268444.482 616599.606 0, 1268739.517 616615.415 0, 1269034.551 616631.241 0, 1269328.199 616647.011 0, 1269626.769 611090.161 0,
+ 1269925.321 605533.656 0))
+
+POLYGON ((1283488.656 617427.916 0, 1283195.051 617411.317 0, 1282900.064 617394.658 0, 1282605.075 617378.015 0, 1282310.085 617361.39 0, 1282015.095 617344.783 0, 1281720.103 617328.193 0, 1281425.11 617311.62 0, 1281130.117 617295.064 0, 1280835.122 617278.526 0,
+ 1280540.126 617262.006 0, 1280245.13 617245.502 0, 1279950.132 617229.016 0, 1279655.134 617212.548 0, 1279360.134 617196.096 0, 1279065.134 617179.663 0, 1278770.132 617163.246 0, 1278475.13 617146.847 0, 1278180.127 617130.465 0, 1277885.122 617114.101 0,
+ 1277590.117 617097.753 0, 1277295.111 617081.424 0, 1277000.104 617065.111 0, 1276705.096 617048.816 0, 1276408.703 617032.463 0, 1276115.077 617016.279 0, 1275820.066 617000.036 0, 1275525.054 616983.81 0, 1275230.041 616967.602 0, 1274935.027 616951.411 0,
+ 1274640.012 616935.238 0, 1274344.996 616919.082 0, 1274049.979 616902.943 0, 1273754.962 616886.821 0, 1273459.943 616870.718 0, 1273164.924 616854.631 0, 1272869.903 616838.562 0, 1272574.882 616822.51 0, 1272279.859 616806.475 0, 1271984.836 616790.458 0,
+ 1271689.812 616774.458 0, 1271394.786 616758.476 0, 1271099.76 616742.511 0, 1270804.733 616726.563 0, 1270509.705 616710.633 0, 1270214.676 616694.72 0, 1269919.646 616678.824 0, 1269624.615 616662.946 0, 1269328.199 616647.011 0, 1269029.61 622204.202 0,
+ 1268731.004 627761.732 0, 1269026.762 627777.632 0, 1269321.139 627793.475 0, 1269615.515 627809.335 0, 1269909.89 627825.213 0, 1270204.264 627841.108 0, 1270498.637 627857.02 0, 1270793.009 627872.95 0, 1271087.38 627888.897 0, 1271381.75 627904.861 0,
+ 1271676.119 627920.843 0, 1271970.487 627936.842 0, 1272264.854 627952.858 0, 1272559.221 627968.892 0, 1272853.586 627984.943 0, 1273147.951 628001.011 0, 1273442.314 628017.097 0, 1273736.677 628033.2 0, 1274031.038 628049.32 0, 1274325.399 628065.457 0,
+ 1274619.759 628081.612 0, 1274914.118 628097.785 0, 1275208.475 628113.974 0, 1275502.832 628130.181 0, 1275795.808 628146.329 0, 1276091.543 628162.647 0, 1276385.897 628178.906 0, 1276680.25 628195.182 0, 1276974.602 628211.475 0, 1277268.953 628227.786 0,
+ 1277563.303 628244.114 0, 1277857.653 628260.46 0, 1278152.001 628276.823 0, 1278446.348 628293.203 0, 1278740.695 628309.6 0, 1279035.04 628326.015 0, 1279329.384 628342.447 0, 1279623.728 628358.897 0, 1279918.07 628375.363 0, 1280212.412 628391.847 0,
+ 1280506.752 628408.349 0, 1280801.092 628424.868 0, 1281095.43 628441.404 0, 1281389.768 628457.957 0, 1281684.104 628474.528 0, 1281978.44 628491.116 0, 1282272.775 628507.721 0, 1282567.108 628524.344 0, 1282860.062 628540.906 0, 1283174.369 622984.242 0,
+ 1283488.656 617427.916 0))
+
+POLYGON ((1296986.863 629359.994 0, 1296693.955 629342.604 0, 1296399.669 629325.15 0, 1296105.383 629307.713 0, 1295811.095 629290.293 0, 1295516.807 629272.891 0, 1295222.517 629255.506 0, 1294928.226 629238.139 0, 1294633.935 629220.789 0, 1294339.642 629203.456 0,
+ 1294045.348 629186.14 0, 1293751.053 629168.842 0, 1293456.758 629151.561 0, 1293162.461 629134.297 0, 1292868.163 629117.051 0, 1292573.864 629099.822 0, 1292279.565 629082.61 0, 1291985.264 629065.416 0, 1291690.962 629048.239 0, 1291396.659 629031.079 0,
+ 1291102.355 629013.937 0, 1290808.05 628996.812 0, 1290513.744 628979.704 0, 1290219.437 628962.614 0, 1289923.752 628945.461 0, 1289630.821 628928.485 0, 1289336.511 628911.447 0, 1289042.2 628894.425 0, 1288747.888 628877.422 0, 1288453.575 628860.435 0,
+ 1288159.261 628843.466 0, 1287864.946 628826.514 0, 1287570.63 628809.58 0, 1287276.313 628792.663 0, 1286981.995 628775.763 0, 1286687.677 628758.88 0, 1286393.357 628742.015 0, 1286099.036 628725.167 0, 1285804.714 628708.337 0, 1285510.391 628691.523 0,
+ 1285216.067 628674.727 0, 1284921.742 628657.949 0, 1284627.417 628641.188 0, 1284333.09 628624.444 0, 1284038.762 628607.717 0, 1283744.433 628591.008 0, 1283450.104 628574.316 0, 1283155.773 628557.641 0, 1282860.062 628540.906 0, 1282545.737 634097.905 0,
+ 1282231.392 639655.236 0, 1282526.446 639671.934 0, 1282820.122 639688.572 0, 1283113.798 639705.227 0, 1283407.472 639721.899 0, 1283701.146 639738.588 0, 1283994.819 639755.295 0, 1284288.49 639772.019 0, 1284582.161 639788.76 0, 1284875.831 639805.519 0,
+ 1285169.499 639822.295 0, 1285463.167 639839.088 0, 1285756.834 639855.898 0, 1286050.5 639872.726 0, 1286344.164 639889.571 0, 1286637.828 639906.433 0, 1286931.491 639923.313 0, 1287225.153 639940.21 0, 1287518.813 639957.124 0, 1287812.473 639974.055 0,
+ 1288106.132 639991.004 0, 1288399.79 640007.97 0, 1288693.447 640024.953 0, 1288987.102 640041.954 0, 1289279.383 640058.892 0, 1289574.411 640076.007 0, 1289868.064 640093.059 0, 1290161.715 640110.129 0, 1290455.366 640127.216 0, 1290749.016 640144.32 0,
+ 1291042.665 640161.442 0, 1291336.312 640178.581 0, 1291629.959 640195.737 0, 1291923.605 640212.91 0, 1292217.25 640230.101 0, 1292510.893 640247.309 0, 1292804.536 640264.534 0, 1293098.178 640281.777 0, 1293391.818 640299.036 0, 1293685.458 640316.314 0,
+ 1293979.097 640333.608 0, 1294272.734 640350.92 0, 1294566.371 640368.249 0, 1294860.006 640385.595 0, 1295153.641 640402.958 0, 1295447.275 640420.339 0, 1295740.907 640437.737 0, 1296034.539 640455.153 0, 1296326.796 640472.504 0, 1296656.839 634916.083 0,
+ 1296986.863 629359.994 0))
+
+POLYGON ((1310419.834 641329.59 0, 1310127.625 641311.413 0, 1309834.044 641293.168 0, 1309540.461 641274.941 0, 1309246.878 641256.73 0, 1308953.294 641238.537 0, 1308659.708 641220.362 0, 1308366.122 641202.203 0, 1308072.534 641184.062 0, 1307778.946 641165.938 0,
+ 1307485.356 641147.831 0, 1307191.765 641129.742 0, 1306898.174 641111.67 0, 1306604.581 641093.615 0, 1306310.987 641075.578 0, 1306017.392 641057.558 0, 1305723.796 641039.555 0, 1305430.199 641021.569 0, 1305136.601 641003.601 0, 1304843.001 640985.65 0,
+ 1304549.401 640967.716 0, 1304255.8 640949.799 0, 1303962.197 640931.9 0, 1303668.594 640914.018 0, 1303373.617 640896.07 0, 1303081.384 640878.306 0, 1302787.777 640860.476 0, 1302494.17 640842.663 0, 1302200.561 640824.867 0, 1301906.951 640807.089 0,
+ 1301613.341 640789.328 0, 1301319.729 640771.584 0, 1301026.116 640753.858 0, 1300732.502 640736.149 0, 1300438.887 640718.457 0, 1300145.271 640700.782 0, 1299851.654 640683.125 0, 1299558.036 640665.485 0, 1299264.417 640647.862 0, 1298970.797 640630.257 0,
+ 1298677.176 640612.669 0, 1298383.553 640595.098 0, 1298089.93 640577.544 0, 1297796.306 640560.008 0, 1297502.681 640542.489 0, 1297209.054 640524.987 0, 1296915.427 640507.502 0, 1296621.798 640490.035 0, 1296326.796 640472.504 0, 1295996.733 646029.253 0,
+ 1295666.65 651586.328 0, 1295960.996 651603.82 0, 1296253.97 651621.248 0, 1296546.943 651638.694 0, 1296839.915 651656.157 0, 1297132.887 651673.637 0, 1297425.857 651691.134 0, 1297718.826 651708.649 0, 1298011.794 651726.18 0, 1298304.761 651743.729 0,
+ 1298597.727 651761.296 0, 1298890.692 651778.879 0, 1299183.656 651796.48 0, 1299476.619 651814.098 0, 1299769.581 651831.733 0, 1300062.542 651849.385 0, 1300355.501 651867.055 0, 1300648.46 651884.742 0, 1300941.418 651902.446 0, 1301234.375 651920.168 0,
+ 1301527.33 651937.906 0, 1301820.285 651955.662 0, 1302113.238 651973.436 0, 1302406.191 651991.226 0, 1302697.773 652008.95 0, 1302992.093 652026.858 0, 1303285.042 652044.701 0, 1303577.99 652062.56 0, 1303870.938 652080.437 0, 1304163.884 652098.33 0,
+ 1304456.829 652116.242 0, 1304749.773 652134.17 0, 1305042.716 652152.115 0, 1305335.658 652170.078 0, 1305628.599 652188.058 0, 1305921.539 652206.056 0, 1306214.478 652224.07 0, 1306507.415 652242.102 0, 1306800.352 652260.151 0, 1307093.288 652278.217 0,
+ 1307386.222 652296.301 0, 1307679.156 652314.402 0, 1307972.088 652332.52 0, 1308265.02 652350.655 0, 1308557.95 652368.807 0, 1308850.879 652386.977 0, 1309143.807 652405.164 0, 1309436.734 652423.368 0, 1309728.292 652441.505 0, 1310074.073 646885.385 0,
+ 1310419.834 641329.59 0))
+
+POLYGON ((1323787.463 653336.405 0, 1323495.955 653317.445 0, 1323203.08 653298.413 0, 1322910.205 653279.399 0, 1322617.328 653260.401 0, 1322324.45 653241.421 0, 1322031.571 653222.459 0, 1321738.691 653203.513 0, 1321445.81 653184.585 0, 1321152.927 653165.674 0,
+ 1320860.044 653146.78 0, 1320567.16 653127.903 0, 1320274.274 653109.044 0, 1319981.387 653090.202 0, 1319688.499 653071.377 0, 1319395.61 653052.569 0, 1319102.72 653033.779 0, 1318809.829 653015.006 0, 1318516.937 652996.25 0, 1318224.044 652977.511 0,
+ 1317931.149 652958.79 0, 1317638.253 652940.086 0, 1317345.357 652921.399 0, 1317052.459 652902.729 0, 1316758.194 652883.99 0, 1316466.66 652865.442 0, 1316173.759 652846.824 0, 1315880.857 652828.223 0, 1315587.954 652809.639 0, 1315295.049 652791.073 0,
+ 1315002.144 652772.524 0, 1314709.237 652753.992 0, 1314416.33 652735.478 0, 1314123.421 652716.98 0, 1313830.511 652698.5 0, 1313537.6 652680.038 0, 1313244.688 652661.592 0, 1312951.775 652643.164 0, 1312658.861 652624.753 0, 1312365.946 652606.359 0,
+ 1312073.03 652587.982 0, 1311780.112 652569.623 0, 1311487.194 652551.281 0, 1311194.274 652532.956 0, 1310901.354 652514.648 0, 1310608.432 652496.358 0, 1310315.509 652478.084 0, 1310022.585 652459.828 0, 1309728.292 652441.505 0, 1309382.492 657997.946 0,
+ 1309036.671 663554.707 0, 1309330.306 663572.99 0, 1309622.576 663591.205 0, 1309914.845 663609.437 0, 1310207.112 663627.687 0, 1310499.379 663645.954 0, 1310791.644 663664.238 0, 1311083.909 663682.539 0, 1311376.172 663700.857 0, 1311668.434 663719.193 0,
+ 1311960.696 663737.546 0, 1312252.956 663755.916 0, 1312545.215 663774.303 0, 1312837.473 663792.707 0, 1313129.729 663811.129 0, 1313421.985 663829.567 0, 1313714.24 663848.023 0, 1314006.493 663866.497 0, 1314298.746 663884.987 0, 1314590.997 663903.495 0,
+ 1314883.247 663922.019 0, 1315175.497 663940.561 0, 1315467.745 663959.121 0, 1315759.992 663977.697 0, 1316050.874 663996.204 0, 1316344.483 664014.901 0, 1316636.726 664033.53 0, 1316928.969 664052.175 0, 1317221.21 664070.837 0, 1317513.451 664089.517 0,
+ 1317805.69 664108.214 0, 1318097.929 664126.928 0, 1318390.166 664145.659 0, 1318682.402 664164.407 0, 1318974.637 664183.173 0, 1319266.87 664201.956 0, 1319559.103 664220.756 0, 1319851.335 664239.573 0, 1320143.565 664258.407 0, 1320435.795 664277.259 0,
+ 1320728.023 664296.128 0, 1321020.25 664315.014 0, 1321312.476 664333.917 0, 1321604.701 664352.837 0, 1321896.925 664371.775 0, 1322189.148 664390.73 0, 1322481.369 664409.702 0, 1322773.59 664428.691 0, 1323064.447 664447.609 0, 1323425.965 658891.848 0,
+ 1323787.463 653336.405 0))
+
+POLYGON ((1337089.645 665380.138 0, 1336798.84 665360.399 0, 1336506.674 665340.584 0, 1336214.507 665320.786 0, 1335922.339 665301.006 0, 1335630.17 665281.243 0, 1335338 665261.497 0, 1335045.828 665241.768 0, 1334753.656 665222.057 0, 1334461.482 665202.362 0,
+ 1334169.307 665182.685 0, 1333877.131 665163.025 0, 1333584.953 665143.383 0, 1333292.775 665123.757 0, 1333000.595 665104.149 0, 1332708.415 665084.557 0, 1332416.233 665064.983 0, 1332124.05 665045.427 0, 1331831.865 665025.887 0, 1331539.68 665006.365 0,
+ 1331247.494 664986.86 0, 1330955.306 664967.372 0, 1330663.117 664947.901 0, 1330370.927 664928.447 0, 1330077.375 664908.92 0, 1329786.544 664889.592 0, 1329494.35 664870.19 0, 1329202.156 664850.805 0, 1328909.96 664831.437 0, 1328617.764 664812.087 0,
+ 1328325.566 664792.754 0, 1328033.367 664773.438 0, 1327741.166 664754.139 0, 1327448.965 664734.857 0, 1327156.762 664715.593 0, 1326864.559 664696.346 0, 1326572.354 664677.116 0, 1326280.148 664657.903 0, 1325987.941 664638.707 0, 1325695.733 664619.529 0,
+ 1325403.524 664600.368 0, 1325111.313 664581.224 0, 1324819.102 664562.097 0, 1324526.889 664542.987 0, 1324234.676 664523.895 0, 1323942.461 664504.82 0, 1323650.245 664485.762 0, 1323358.027 664466.721 0, 1323064.447 664447.609 0, 1322702.908 670003.685 0,
+ 1322341.349 675560.073 0, 1322634.273 675579.143 0, 1322925.836 675598.141 0, 1323217.398 675617.156 0, 1323508.959 675636.189 0, 1323800.518 675655.239 0, 1324092.077 675674.305 0, 1324383.634 675693.389 0, 1324675.191 675712.491 0, 1324966.746 675731.609 0,
+ 1325258.3 675750.744 0, 1325549.853 675769.897 0, 1325841.405 675789.067 0, 1326132.956 675808.254 0, 1326424.505 675827.458 0, 1326716.054 675846.679 0, 1327007.601 675865.918 0, 1327299.147 675885.173 0, 1327590.692 675904.446 0, 1327882.236 675923.736 0,
+ 1328173.779 675943.043 0, 1328465.321 675962.367 0, 1328756.861 675981.709 0, 1329048.4 676001.067 0, 1329338.581 676020.353 0, 1329631.476 676039.836 0, 1329923.012 676059.246 0, 1330214.547 676078.673 0, 1330506.08 676098.117 0, 1330797.613 676117.579 0,
+ 1331089.144 676137.057 0, 1331380.674 676156.553 0, 1331672.203 676176.066 0, 1331963.731 676195.596 0, 1332255.258 676215.144 0, 1332546.784 676234.708 0, 1332838.308 676254.29 0, 1333129.832 676273.889 0, 1333421.354 676293.505 0, 1333712.875 676313.138 0,
+ 1334004.395 676332.788 0, 1334295.913 676352.455 0, 1334587.431 676372.14 0, 1334878.947 676391.842 0, 1335170.462 676411.561 0, 1335461.977 676431.297 0, 1335753.489 676451.05 0, 1336045.001 676470.82 0, 1336335.155 676490.516 0, 1336712.41 670935.171 0,
+ 1337089.645 665380.138 0))
+
+POLYGON ((1350326.276 677460.489 0, 1350036.177 677439.974 0, 1349744.722 677419.38 0, 1349453.266 677398.803 0, 1349161.809 677378.244 0, 1348870.351 677357.701 0, 1348578.891 677337.176 0, 1348287.43 677316.668 0, 1347995.968 677296.177 0, 1347704.505 677275.703 0,
+ 1347413.041 677255.247 0, 1347121.575 677234.807 0, 1346830.109 677214.385 0, 1346538.641 677193.98 0, 1346247.171 677173.592 0, 1345955.701 677153.221 0, 1345664.229 677132.867 0, 1345372.757 677112.531 0, 1345081.283 677092.211 0, 1344789.807 677071.909 0,
+ 1344498.331 677051.624 0, 1344206.853 677031.356 0, 1343915.375 677011.105 0, 1343623.895 676990.872 0, 1343331.058 676970.561 0, 1343040.931 676950.456 0, 1342749.448 676930.274 0, 1342457.963 676910.109 0, 1342166.477 676889.961 0, 1341874.99 676869.83 0,
+ 1341583.502 676849.717 0, 1341292.012 676829.621 0, 1341000.522 676809.541 0, 1340709.03 676789.479 0, 1340417.537 676769.434 0, 1340126.043 676749.407 0, 1339834.547 676729.396 0, 1339543.051 676709.403 0, 1339251.553 676689.427 0, 1338960.054 676669.467 0,
+ 1338668.554 676649.525 0, 1338377.053 676629.601 0, 1338085.551 676609.693 0, 1337794.047 676589.803 0, 1337502.542 676569.929 0, 1337211.036 676550.073 0, 1336919.529 676530.234 0, 1336628.021 676510.412 0, 1336335.155 676490.516 0, 1335957.879 682046.169 0,
+ 1335580.582 687602.127 0, 1335872.791 687621.979 0, 1336163.645 687641.756 0, 1336454.498 687661.551 0, 1336745.35 687681.362 0, 1337036.201 687701.191 0, 1337327.05 687721.037 0, 1337617.899 687740.9 0, 1337908.746 687760.78 0, 1338199.592 687780.677 0,
+ 1338490.437 687800.591 0, 1338781.281 687820.523 0, 1339072.123 687840.471 0, 1339362.965 687860.437 0, 1339653.805 687880.42 0, 1339944.644 687900.42 0, 1340235.482 687920.437 0, 1340526.318 687940.471 0, 1340817.154 687960.522 0, 1341107.988 687980.591 0,
+ 1341398.821 688000.676 0, 1341689.653 688020.779 0, 1341980.484 688040.898 0, 1342271.313 688061.035 0, 1342560.789 688081.095 0, 1342852.969 688101.36 0, 1343143.795 688121.549 0, 1343434.62 688141.754 0, 1343725.444 688161.976 0, 1344016.266 688182.216 0,
+ 1344307.087 688202.472 0, 1344597.907 688222.746 0, 1344888.726 688243.037 0, 1345179.544 688263.345 0, 1345470.36 688283.67 0, 1345761.176 688304.013 0, 1346051.99 688324.372 0, 1346342.802 688344.748 0, 1346633.614 688365.142 0, 1346924.425 688385.553 0,
+ 1347215.234 688405.981 0, 1347506.042 688426.426 0, 1347796.849 688446.888 0, 1348087.655 688467.367 0, 1348378.459 688487.863 0, 1348669.262 688508.377 0, 1348960.064 688528.907 0, 1349250.865 688549.455 0, 1349540.314 688569.924 0, 1349933.306 683015.054 0,
+ 1350326.276 677460.489 0))
+
+POLYGON ((1363497.256 689577.156 0, 1363207.864 689555.869 0, 1362917.122 689534.5 0, 1362626.379 689513.148 0, 1362335.635 689491.813 0, 1362044.89 689470.495 0, 1361754.143 689449.195 0, 1361463.395 689427.911 0, 1361172.646 689406.645 0, 1360881.896 689385.395 0,
+ 1360591.144 689364.163 0, 1360300.391 689342.948 0, 1360009.637 689321.75 0, 1359718.882 689300.569 0, 1359428.125 689279.405 0, 1359137.367 689258.259 0, 1358846.608 689237.129 0, 1358555.848 689216.017 0, 1358265.086 689194.921 0, 1357974.323 689173.843 0,
+ 1357683.559 689152.782 0, 1357392.794 689131.738 0, 1357102.027 689110.711 0, 1356811.259 689089.701 0, 1356519.14 689068.611 0, 1356229.72 689047.733 0, 1355938.948 689026.775 0, 1355648.176 689005.833 0, 1355357.402 688984.909 0, 1355066.626 688964.002 0,
+ 1354775.85 688943.112 0, 1354485.072 688922.239 0, 1354194.293 688901.384 0, 1353903.513 688880.545 0, 1353612.732 688859.723 0, 1353321.949 688838.919 0, 1353031.166 688818.132 0, 1352740.381 688797.362 0, 1352449.594 688776.609 0, 1352158.807 688755.873 0,
+ 1351868.018 688735.154 0, 1351577.228 688714.452 0, 1351286.437 688693.768 0, 1350995.645 688673.1 0, 1350704.851 688652.45 0, 1350414.056 688631.817 0, 1350123.26 688611.2 0, 1349832.463 688590.601 0, 1349540.314 688569.924 0, 1349147.3 694125.096 0,
+ 1348754.266 699680.566 0, 1349045.758 699701.197 0, 1349335.901 699721.749 0, 1349626.044 699742.319 0, 1349916.184 699762.906 0, 1350206.324 699783.51 0, 1350496.462 699804.131 0, 1350786.6 699824.769 0, 1351076.736 699845.424 0, 1351366.87 699866.096 0,
+ 1351657.004 699886.785 0, 1351947.136 699907.492 0, 1352237.267 699928.215 0, 1352527.397 699948.956 0, 1352817.526 699969.713 0, 1353107.653 699990.488 0, 1353397.78 700011.28 0, 1353687.905 700032.089 0, 1353978.028 700052.915 0, 1354268.151 700073.758 0,
+ 1354558.272 700094.618 0, 1354848.392 700115.495 0, 1355138.511 700136.389 0, 1355428.629 700157.3 0, 1355717.398 700178.131 0, 1356008.86 700199.174 0, 1356298.974 700220.137 0, 1356589.087 700241.116 0, 1356879.198 700262.113 0, 1357169.309 700283.127 0,
+ 1357459.418 700304.157 0, 1357749.525 700325.205 0, 1358039.632 700346.27 0, 1358329.737 700367.352 0, 1358619.841 700388.451 0, 1358909.944 700409.568 0, 1359200.046 700430.701 0, 1359490.146 700451.851 0, 1359780.245 700473.019 0, 1360070.343 700494.203 0,
+ 1360360.439 700515.405 0, 1360650.535 700536.623 0, 1360940.629 700557.859 0, 1361230.721 700579.112 0, 1361520.813 700600.382 0, 1361810.903 700621.669 0, 1362100.992 700642.973 0, 1362391.08 700664.294 0, 1362679.821 700685.533 0, 1363088.549 695131.195 0,
+ 1363497.256 689577.156 0))
+
+POLYGON ((1376602.482 701729.838 0, 1376313.8 701707.783 0, 1376023.774 701685.643 0, 1375733.746 701663.519 0, 1375443.717 701641.413 0, 1375153.686 701619.323 0, 1374863.655 701597.251 0, 1374573.622 701575.196 0, 1374283.588 701553.158 0, 1373993.552 701531.137 0,
+ 1373703.515 701509.133 0, 1373413.477 701487.146 0, 1373123.438 701465.176 0, 1372833.397 701443.223 0, 1372543.355 701421.288 0, 1372253.312 701399.369 0, 1371963.267 701377.467 0, 1371673.222 701355.583 0, 1371383.174 701333.715 0, 1371093.126 701311.865 0,
+ 1370803.076 701290.032 0, 1370513.025 701268.216 0, 1370222.973 701246.417 0, 1369932.92 701224.634 0, 1369641.52 701202.769 0, 1369352.809 701181.122 0, 1369062.751 701159.391 0, 1368772.693 701137.677 0, 1368482.633 701115.98 0, 1368192.571 701094.301 0,
+ 1367902.509 701072.638 0, 1367612.445 701050.993 0, 1367322.38 701029.364 0, 1367032.314 701007.753 0, 1366742.246 700986.159 0, 1366452.177 700964.581 0, 1366162.107 700943.021 0, 1365872.036 700921.478 0, 1365581.963 700899.952 0, 1365291.889 700878.443 0,
+ 1365001.814 700856.952 0, 1364711.737 700835.477 0, 1364421.66 700814.019 0, 1364131.581 700792.579 0, 1363841.5 700771.155 0, 1363551.419 700749.749 0, 1363261.336 700728.359 0, 1362971.252 700706.987 0, 1362679.821 700685.533 0, 1362271.071 706240.165 0,
+ 1361862.3 711795.089 0, 1362153.074 711816.494 0, 1362442.504 711837.819 0, 1362731.933 711859.16 0, 1363021.361 711880.518 0, 1363310.787 711901.893 0, 1363600.212 711923.285 0, 1363889.636 711944.695 0, 1364179.059 711966.121 0, 1364468.48 711987.564 0,
+ 1364757.9 712009.025 0, 1365047.319 712030.502 0, 1365336.736 712051.997 0, 1365626.153 712073.508 0, 1365915.568 712095.037 0, 1366204.981 712116.582 0, 1366494.394 712138.145 0, 1366783.805 712159.725 0, 1367073.215 712181.321 0, 1367362.624 712202.935 0,
+ 1367652.031 712224.566 0, 1367941.437 712246.214 0, 1368230.842 712267.878 0, 1368520.246 712289.56 0, 1368808.307 712311.159 0, 1369099.049 712332.975 0, 1369388.449 712354.708 0, 1369677.847 712376.458 0, 1369967.244 712398.225 0, 1370256.64 712420.009 0,
+ 1370546.035 712441.81 0, 1370835.428 712463.628 0, 1371124.82 712485.463 0, 1371414.211 712507.316 0, 1371703.601 712529.185 0, 1371992.989 712551.071 0, 1372282.376 712572.974 0, 1372571.761 712594.895 0, 1372861.146 712616.832 0, 1373150.529 712638.786 0,
+ 1373439.91 712660.758 0, 1373729.291 712682.746 0, 1374018.67 712704.752 0, 1374308.048 712726.774 0, 1374597.424 712748.814 0, 1374886.8 712770.87 0, 1375176.174 712792.944 0, 1375465.546 712815.035 0, 1375753.577 712837.04 0, 1376178.041 707283.293 0,
+ 1376602.482 701729.838 0))
+
+POLYGON ((1389641.856 713918.233 0, 1389353.886 713895.413 0, 1389064.577 713872.505 0, 1388775.266 713849.614 0, 1388485.954 713826.74 0, 1388196.641 713803.883 0, 1387907.327 713781.043 0, 1387618.011 713758.22 0, 1387328.694 713735.414 0, 1387039.375 713712.626 0,
+ 1386750.055 713689.854 0, 1386460.734 713667.099 0, 1386171.412 713644.361 0, 1385882.088 713621.64 0, 1385592.763 713598.937 0, 1385303.436 713576.25 0, 1385014.108 713553.58 0, 1384724.779 713530.928 0, 1384435.448 713508.292 0, 1384146.117 713485.673 0,
+ 1383856.783 713463.072 0, 1383567.449 713440.487 0, 1383278.113 713417.92 0, 1382988.776 713395.369 0, 1382698.098 713372.732 0, 1382410.097 713350.319 0, 1382120.756 713327.82 0, 1381831.414 713305.338 0, 1381542.07 713282.872 0, 1381252.725 713260.424 0,
+ 1380963.378 713237.993 0, 1380674.031 713215.579 0, 1380384.682 713193.181 0, 1380095.331 713170.801 0, 1379805.979 713148.438 0, 1379516.626 713126.092 0, 1379227.272 713103.763 0, 1378937.916 713081.451 0, 1378648.559 713059.156 0, 1378359.201 713036.878 0,
+ 1378069.841 713014.617 0, 1377780.481 712992.373 0, 1377491.118 712970.146 0, 1377201.755 712947.936 0, 1376912.39 712925.743 0, 1376623.024 712903.568 0, 1376333.656 712881.409 0, 1376044.288 712859.267 0, 1375753.577 712837.04 0, 1375329.092 718391.075 0,
+ 1374904.585 723945.394 0, 1375194.638 723967.571 0, 1375483.353 723989.662 0, 1375772.067 724011.771 0, 1376060.779 724033.897 0, 1376349.49 724056.039 0, 1376638.2 724078.199 0, 1376926.908 724100.376 0, 1377215.616 724122.569 0, 1377504.321 724144.78 0,
+ 1377793.026 724167.008 0, 1378081.729 724189.252 0, 1378370.431 724211.514 0, 1378659.132 724233.793 0, 1378947.831 724256.088 0, 1379236.529 724278.401 0, 1379525.225 724300.73 0, 1379813.921 724323.077 0, 1380102.615 724345.441 0, 1380391.307 724367.821 0,
+ 1380679.999 724390.219 0, 1380968.689 724412.633 0, 1381257.378 724435.065 0, 1381546.065 724457.513 0, 1381833.415 724479.875 0, 1382123.436 724502.461 0, 1382412.119 724524.961 0, 1382700.801 724547.477 0, 1382989.482 724570.011 0, 1383278.162 724592.561 0,
+ 1383566.84 724615.129 0, 1383855.517 724637.713 0, 1384144.192 724660.315 0, 1384432.866 724682.933 0, 1384721.539 724705.569 0, 1385010.211 724728.221 0, 1385298.881 724750.891 0, 1385587.55 724773.577 0, 1385876.217 724796.281 0, 1386164.883 724819.001 0,
+ 1386453.548 724841.738 0, 1386742.211 724864.493 0, 1387030.874 724887.264 0, 1387319.534 724910.052 0, 1387608.194 724932.858 0, 1387896.852 724955.68 0, 1388185.509 724978.519 0, 1388474.164 725001.376 0, 1388761.484 725024.143 0, 1389201.681 719471.046 0,
+ 1389641.856 713918.233 0))
+
+POLYGON ((1402615.279 726142.037 0, 1402328.023 726118.458 0, 1402039.433 726094.786 0, 1401750.842 726071.131 0, 1401462.25 726047.493 0, 1401173.656 726023.873 0, 1400885.061 726000.269 0, 1400596.464 725976.682 0, 1400307.866 725953.112 0, 1400019.267 725929.559 0,
+ 1399730.666 725906.024 0, 1399442.064 725882.505 0, 1399153.46 725859.003 0, 1398864.855 725835.518 0, 1398576.249 725812.05 0, 1398287.641 725788.599 0, 1397999.032 725765.165 0, 1397710.421 725741.748 0, 1397421.81 725718.348 0, 1397133.196 725694.965 0,
+ 1396844.582 725671.599 0, 1396555.966 725648.25 0, 1396267.348 725624.918 0, 1395978.73 725601.603 0, 1395688.776 725578.198 0, 1395401.488 725555.024 0, 1395112.865 725531.76 0, 1394824.241 725508.513 0, 1394535.615 725485.283 0, 1394246.988 725462.07 0,
+ 1393958.36 725438.874 0, 1393669.73 725415.695 0, 1393381.099 725392.533 0, 1393092.467 725369.387 0, 1392803.833 725346.259 0, 1392515.198 725323.148 0, 1392226.562 725300.054 0, 1391937.924 725276.977 0, 1391649.285 725253.917 0, 1391360.644 725230.873 0,
+ 1391072.002 725207.847 0, 1390783.359 725184.838 0, 1390494.714 725161.846 0, 1390206.068 725138.871 0, 1389917.421 725115.912 0, 1389628.772 725092.971 0, 1389340.122 725070.047 0, 1389051.471 725047.139 0, 1388761.484 725024.143 0, 1388321.264 730577.522 0,
+ 1387881.022 736131.178 0, 1388170.353 736154.122 0, 1388458.35 736176.978 0, 1388746.347 736199.85 0, 1389034.342 736222.739 0, 1389322.335 736245.646 0, 1389610.328 736268.569 0, 1389898.318 736291.509 0, 1390186.308 736314.466 0, 1390474.296 736337.44 0,
+ 1390762.283 736360.431 0, 1391050.269 736383.439 0, 1391338.253 736406.464 0, 1391626.235 736429.506 0, 1391914.217 736452.565 0, 1392202.197 736475.64 0, 1392490.176 736498.733 0, 1392778.153 736521.843 0, 1393066.129 736544.969 0, 1393354.104 736568.113 0,
+ 1393642.077 736591.274 0, 1393930.049 736614.451 0, 1394218.019 736637.645 0, 1394505.989 736660.857 0, 1394792.626 736683.978 0, 1395081.923 736707.33 0, 1395369.888 736730.593 0, 1395657.852 736753.872 0, 1395945.814 736777.168 0, 1396233.775 736800.481 0,
+ 1396521.734 736823.811 0, 1396809.693 736847.158 0, 1397097.649 736870.522 0, 1397385.605 736893.903 0, 1397673.559 736917.3 0, 1397961.512 736940.715 0, 1398249.463 736964.147 0, 1398537.413 736987.596 0, 1398825.362 737011.061 0, 1399113.309 737034.544 0,
+ 1399401.255 737058.043 0, 1399689.199 737081.56 0, 1399977.142 737105.093 0, 1400265.084 737128.643 0, 1400553.024 737152.211 0, 1400840.963 737175.795 0, 1401128.9 737199.396 0, 1401416.836 737223.014 0, 1401703.442 737246.54 0, 1402159.372 731694.15 0,
+ 1402615.279 726142.037 0))
+
+POLYGON ((1415522.656 738400.948 0, 1415236.115 738376.613 0, 1414948.247 738352.181 0, 1414660.377 738327.767 0, 1414372.506 738303.369 0, 1414084.634 738278.988 0, 1413796.76 738254.625 0, 1413508.884 738230.278 0, 1413221.008 738205.948 0, 1412933.129 738181.635 0,
+ 1412645.25 738157.339 0, 1412357.369 738133.06 0, 1412069.486 738108.798 0, 1411781.602 738084.553 0, 1411493.717 738060.325 0, 1411205.83 738036.113 0, 1410917.942 738011.919 0, 1410630.052 737987.742 0, 1410342.161 737963.581 0, 1410054.268 737939.438 0,
+ 1409766.374 737915.311 0, 1409478.479 737891.202 0, 1409190.582 737867.109 0, 1408902.684 737843.034 0, 1408613.457 737818.864 0, 1408326.883 737794.933 0, 1408038.981 737770.908 0, 1407751.077 737746.9 0, 1407463.172 737722.909 0, 1407175.265 737698.935 0,
+ 1406887.357 737674.978 0, 1406599.447 737651.038 0, 1406311.536 737627.115 0, 1406023.624 737603.209 0, 1405735.71 737579.32 0, 1405447.795 737555.447 0, 1405159.879 737531.592 0, 1404871.961 737507.753 0, 1404584.041 737483.932 0, 1404296.121 737460.127 0,
+ 1404008.199 737436.34 0, 1403720.275 737412.569 0, 1403432.35 737388.816 0, 1403144.424 737365.079 0, 1402856.496 737341.359 0, 1402568.567 737317.656 0, 1402280.636 737293.97 0, 1401992.704 737270.301 0, 1401703.442 737246.54 0, 1401247.49 742799.204 0,
+ 1400791.515 748352.14 0, 1401080.121 748375.847 0, 1401367.399 748399.462 0, 1401654.676 748423.094 0, 1401941.951 748446.743 0, 1402229.225 748470.409 0, 1402516.498 748494.092 0, 1402803.769 748517.792 0, 1403091.039 748541.508 0, 1403378.308 748565.242 0,
+ 1403665.575 748588.993 0, 1403952.841 748612.76 0, 1404240.105 748636.544 0, 1404527.368 748660.345 0, 1404814.629 748684.164 0, 1405101.889 748707.999 0, 1405389.148 748731.851 0, 1405676.406 748755.719 0, 1405963.661 748779.605 0, 1406250.916 748803.508 0,
+ 1406538.169 748827.427 0, 1406825.421 748851.364 0, 1407112.671 748875.317 0, 1407399.92 748899.288 0, 1407685.843 748923.164 0, 1407974.413 748947.279 0, 1408261.658 748971.3 0, 1408548.901 748995.338 0, 1408836.143 749019.393 0, 1409123.383 749043.464 0,
+ 1409410.622 749067.553 0, 1409697.86 749091.659 0, 1409985.096 749115.781 0, 1410272.331 749139.92 0, 1410559.564 749164.077 0, 1410846.796 749188.25 0, 1411134.026 749212.44 0, 1411421.255 749236.647 0, 1411708.483 749260.871 0, 1411995.709 749285.112 0,
+ 1412282.934 749309.369 0, 1412570.157 749333.644 0, 1412857.379 749357.935 0, 1413144.599 749382.244 0, 1413431.818 749406.569 0, 1413719.036 749430.911 0, 1414006.252 749455.271 0, 1414293.467 749479.647 0, 1414579.357 749503.927 0, 1415051.018 743952.302 0,
+ 1415522.656 738400.948 0))
+
+POLYGON ((1428363.89 750694.663 0, 1428078.067 750669.575 0, 1427790.923 750644.388 0, 1427503.776 750619.217 0, 1427216.629 750594.064 0, 1426929.48 750568.927 0, 1426642.329 750543.807 0, 1426355.177 750518.704 0, 1426068.023 750493.618 0, 1425780.868 750468.549 0,
+ 1425493.712 750443.497 0, 1425206.554 750418.462 0, 1424919.394 750393.443 0, 1424632.233 750368.442 0, 1424345.071 750343.457 0, 1424057.907 750318.49 0, 1423770.742 750293.539 0, 1423483.575 750268.605 0, 1423196.406 750243.688 0, 1422909.237 750218.788 0,
+ 1422622.065 750193.905 0, 1422334.893 750169.039 0, 1422047.719 750144.189 0, 1421760.543 750119.357 0, 1421472.044 750094.427 0, 1421186.187 750069.743 0, 1420899.007 750044.961 0, 1420611.826 750020.196 0, 1420324.643 749995.448 0, 1420037.459 749970.717 0,
+ 1419750.273 749946.003 0, 1419463.085 749921.306 0, 1419175.897 749896.626 0, 1418888.707 749871.962 0, 1418601.515 749847.316 0, 1418314.322 749822.686 0, 1418027.127 749798.073 0, 1417739.931 749773.478 0, 1417452.734 749748.899 0, 1417165.535 749724.337 0,
+ 1416878.335 749699.792 0, 1416591.133 749675.263 0, 1416303.93 749650.752 0, 1416016.725 749626.258 0, 1415729.519 749601.78 0, 1415442.311 749577.32 0, 1415155.102 749552.876 0, 1414867.892 749528.449 0, 1414579.357 749503.927 0, 1414107.673 755055.819 0,
+ 1413635.967 760607.974 0, 1413923.846 760632.441 0, 1414210.403 760656.812 0, 1414496.958 760681.2 0, 1414783.512 760705.605 0, 1415070.065 760730.026 0, 1415356.616 760754.465 0, 1415643.165 760778.921 0, 1415929.714 760803.393 0, 1416216.26 760827.882 0,
+ 1416502.806 760852.388 0, 1416789.35 760876.911 0, 1417075.892 760901.451 0, 1417362.433 760926.008 0, 1417648.973 760950.581 0, 1417935.511 760975.172 0, 1418222.047 760999.779 0, 1418508.583 761024.403 0, 1418795.116 761049.044 0, 1419081.649 761073.702 0,
+ 1419368.18 761098.377 0, 1419654.709 761123.068 0, 1419941.237 761147.777 0, 1420227.764 761172.502 0, 1420512.969 761197.13 0, 1420800.812 761222.004 0, 1421087.334 761246.779 0, 1421373.855 761271.572 0, 1421660.374 761296.382 0, 1421946.892 761321.208 0,
+ 1422233.408 761346.052 0, 1422519.923 761370.912 0, 1422806.437 761395.789 0, 1423092.948 761420.683 0, 1423379.459 761445.594 0, 1423665.968 761470.522 0, 1423952.475 761495.466 0, 1424238.981 761520.428 0, 1424525.486 761545.406 0, 1424811.989 761570.401 0,
+ 1425098.491 761595.413 0, 1425384.991 761620.442 0, 1425671.49 761645.488 0, 1425957.987 761670.55 0, 1426244.483 761695.63 0, 1426530.977 761720.726 0, 1426817.47 761745.839 0, 1427103.961 761770.969 0, 1427389.133 761796.001 0, 1427876.523 756245.2 0,
+ 1428363.89 750694.663 0))
+
+POLYGON ((1441138.887 763022.878 0, 1440853.785 762997.041 0, 1440567.366 762971.101 0, 1440280.945 762945.179 0, 1439994.523 762919.273 0, 1439708.099 762893.384 0, 1439421.674 762867.513 0, 1439135.247 762841.658 0, 1438848.819 762815.819 0, 1438562.389 762789.998 0,
+ 1438275.958 762764.193 0, 1437989.525 762738.406 0, 1437703.09 762712.635 0, 1437416.654 762686.881 0, 1437130.217 762661.144 0, 1436843.778 762635.424 0, 1436557.338 762609.721 0, 1436270.896 762584.034 0, 1435984.452 762558.365 0, 1435698.007 762532.712 0,
+ 1435411.561 762507.076 0, 1435125.113 762481.457 0, 1434838.663 762455.855 0, 1434552.212 762430.269 0, 1434264.443 762404.583 0, 1433979.306 762379.149 0, 1433692.85 762353.615 0, 1433406.393 762328.097 0, 1433119.935 762302.596 0, 1432833.475 762277.112 0,
+ 1432547.013 762251.644 0, 1432260.55 762226.194 0, 1431974.086 762200.76 0, 1431687.62 762175.344 0, 1431401.152 762149.944 0, 1431114.683 762124.561 0, 1430828.213 762099.195 0, 1430541.741 762073.845 0, 1430255.267 762048.513 0, 1429968.792 762023.197 0,
+ 1429682.316 761997.899 0, 1429395.838 761972.617 0, 1429109.358 761947.352 0, 1428822.878 761922.104 0, 1428536.395 761896.873 0, 1428249.911 761871.658 0, 1427963.426 761846.461 0, 1427676.939 761821.28 0, 1427389.133 761796.001 0, 1426901.72 767347.061 0,
+ 1426414.285 772898.378 0, 1426701.434 772923.6 0, 1426987.268 772948.723 0, 1427273.1 772973.863 0, 1427558.93 772999.02 0, 1427844.759 773024.194 0, 1428130.587 773049.384 0, 1428416.413 773074.592 0, 1428702.237 773099.816 0, 1428988.06 773125.057 0,
+ 1429273.882 773150.315 0, 1429559.702 773175.589 0, 1429845.52 773200.881 0, 1430131.337 773226.189 0, 1430417.153 773251.514 0, 1430702.967 773276.856 0, 1430988.78 773302.215 0, 1431274.591 773327.59 0, 1431560.4 773352.983 0, 1431846.208 773378.392 0,
+ 1432132.015 773403.818 0, 1432417.82 773429.261 0, 1432703.624 773454.72 0, 1432989.426 773480.197 0, 1433273.913 773505.573 0, 1433561.026 773531.2 0, 1433846.823 773556.727 0, 1434132.619 773582.271 0, 1434418.414 773607.832 0, 1434704.207 773633.409 0,
+ 1434989.999 773659.003 0, 1435275.789 773684.614 0, 1435561.577 773710.242 0, 1435847.364 773735.887 0, 1436133.15 773761.548 0, 1436418.934 773787.227 0, 1436704.717 773812.922 0, 1436990.498 773838.634 0, 1437276.277 773864.363 0, 1437562.055 773890.108 0,
+ 1437847.832 773915.871 0, 1438133.607 773941.65 0, 1438419.38 773967.446 0, 1438705.152 773993.259 0, 1438990.923 774019.089 0, 1439276.691 774044.935 0, 1439562.459 774070.799 0, 1439848.225 774096.679 0, 1440132.677 774122.457 0, 1440635.793 768572.539 0,
+ 1441138.887 763022.878 0))
+
+POLYGON ((1453847.556 775385.287 0, 1453563.175 775358.706 0, 1453277.484 775332.018 0, 1452991.791 775305.348 0, 1452706.096 775278.694 0, 1452420.4 775252.057 0, 1452134.702 775225.437 0, 1451849.002 775198.833 0, 1451563.301 775172.247 0, 1451277.599 775145.677 0,
+ 1450991.895 775119.124 0, 1450706.189 775092.588 0, 1450420.482 775066.069 0, 1450134.773 775039.567 0, 1449849.062 775013.081 0, 1449563.351 774986.612 0, 1449277.637 774960.16 0, 1448991.922 774933.725 0, 1448706.205 774907.307 0, 1448420.487 774880.905 0,
+ 1448134.768 774854.52 0, 1447849.046 774828.152 0, 1447563.323 774801.801 0, 1447277.599 774775.467 0, 1446990.562 774749.029 0, 1446706.146 774722.849 0, 1446420.417 774696.565 0, 1446134.686 774670.298 0, 1445848.954 774644.048 0, 1445563.22 774617.814 0,
+ 1445277.485 774591.598 0, 1444991.748 774565.398 0, 1444706.01 774539.215 0, 1444420.27 774513.049 0, 1444134.529 774486.9 0, 1443848.786 774460.767 0, 1443563.042 774434.652 0, 1443277.296 774408.553 0, 1442991.548 774382.471 0, 1442705.799 774356.406 0,
+ 1442420.049 774330.357 0, 1442134.297 774304.326 0, 1441848.543 774278.311 0, 1441562.788 774252.313 0, 1441277.031 774226.332 0, 1440991.273 774200.368 0, 1440705.513 774174.42 0, 1440419.752 774148.49 0, 1440132.677 774122.457 0, 1439629.537 779672.628 0,
+ 1439126.374 785223.048 0, 1439412.793 785249.021 0, 1439697.901 785274.892 0, 1439983.008 785300.78 0, 1440268.112 785326.685 0, 1440553.216 785352.607 0, 1440838.318 785378.546 0, 1441123.418 785404.501 0, 1441408.517 785430.473 0, 1441693.614 785456.462 0,
+ 1441978.71 785482.467 0, 1442263.804 785508.49 0, 1442548.896 785534.529 0, 1442833.988 785560.585 0, 1443119.077 785586.657 0, 1443404.165 785612.747 0, 1443689.252 785638.853 0, 1443974.337 785664.976 0, 1444259.42 785691.116 0, 1444544.502 785717.273 0,
+ 1444829.582 785743.446 0, 1445114.661 785769.636 0, 1445399.738 785795.843 0, 1445684.814 785822.067 0, 1445968.58 785848.187 0, 1446254.961 785874.565 0, 1446540.032 785900.839 0, 1446825.102 785927.13 0, 1447110.17 785953.437 0, 1447395.236 785979.762 0,
+ 1447680.301 786006.103 0, 1447965.364 786032.461 0, 1448250.426 786058.836 0, 1448535.486 786085.227 0, 1448820.545 786111.635 0, 1449105.602 786138.061 0, 1449390.658 786164.502 0, 1449675.712 786190.961 0, 1449960.764 786217.436 0, 1450245.815 786243.929 0,
+ 1450530.865 786270.438 0, 1450815.912 786296.963 0, 1451100.959 786323.506 0, 1451386.003 786350.065 0, 1451671.046 786376.641 0, 1451956.088 786403.234 0, 1452241.128 786429.844 0, 1452526.166 786456.47 0, 1452809.896 786482.991 0, 1453328.738 780934.015 0,
+ 1453847.556 775385.287 0))
+
+POLYGON ((1466489.804 787781.588 0, 1466206.148 787754.265 0, 1465921.186 787726.834 0, 1465636.222 787699.419 0, 1465351.257 787672.021 0, 1465066.29 787644.639 0, 1464781.321 787617.275 0, 1464496.351 787589.927 0, 1464211.38 787562.596 0, 1463926.406 787535.282 0,
+ 1463641.431 787507.985 0, 1463356.455 787480.704 0, 1463071.477 787453.44 0, 1462786.497 787426.193 0, 1462501.516 787398.963 0, 1462216.533 787371.749 0, 1461931.548 787344.553 0, 1461646.562 787317.373 0, 1461361.574 787290.209 0, 1461076.585 787263.063 0,
+ 1460791.594 787235.933 0, 1460506.601 787208.82 0, 1460221.607 787181.724 0, 1459936.612 787154.645 0, 1459650.309 787127.458 0, 1459366.615 787100.537 0, 1459081.615 787073.508 0, 1458796.613 787046.495 0, 1458511.609 787019.5 0, 1458226.604 786992.521 0,
+ 1457941.597 786965.559 0, 1457656.588 786938.614 0, 1457371.578 786911.686 0, 1457086.567 786884.774 0, 1456801.554 786857.879 0, 1456516.539 786831.001 0, 1456231.522 786804.14 0, 1455946.505 786777.295 0, 1455661.485 786750.468 0, 1455376.464 786723.657 0,
+ 1455091.441 786696.863 0, 1454806.417 786670.085 0, 1454521.391 786643.325 0, 1454236.364 786616.581 0, 1453951.335 786589.854 0, 1453666.304 786563.143 0, 1453381.272 786536.45 0, 1453096.238 786509.773 0, 1452809.896 786482.991 0, 1452291.032 792032.213 0,
+ 1451772.145 797581.678 0, 1452057.831 797608.399 0, 1452342.211 797635.014 0, 1452626.59 797661.646 0, 1452910.967 797688.296 0, 1453195.343 797714.961 0, 1453479.717 797741.644 0, 1453764.09 797768.343 0, 1454048.461 797795.059 0, 1454332.83 797821.792 0,
+ 1454617.198 797848.541 0, 1454901.565 797875.308 0, 1455185.929 797902.091 0, 1455470.293 797928.89 0, 1455754.654 797955.707 0, 1456039.014 797982.54 0, 1456323.373 798009.39 0, 1456607.729 798036.257 0, 1456892.085 798063.14 0, 1457176.438 798090.04 0,
+ 1457460.791 798116.957 0, 1457745.141 798143.891 0, 1458029.49 798170.841 0, 1458313.837 798197.808 0, 1458596.88 798224.668 0, 1458882.527 798251.792 0, 1459166.87 798278.81 0, 1459451.211 798305.844 0, 1459735.55 798332.894 0, 1460019.888 798359.962 0,
+ 1460304.224 798387.046 0, 1460588.559 798414.147 0, 1460872.892 798441.265 0, 1461157.223 798468.399 0, 1461441.553 798495.55 0, 1461725.881 798522.718 0, 1462010.208 798549.903 0, 1462294.533 798577.104 0, 1462578.856 798604.322 0, 1462863.178 798631.557 0,
+ 1463147.498 798658.809 0, 1463431.817 798686.077 0, 1463716.134 798713.362 0, 1464000.449 798740.664 0, 1464284.763 798767.982 0, 1464569.075 798795.318 0, 1464853.386 798822.67 0, 1465137.695 798850.038 0, 1465420.701 798877.298 0, 1465955.264 793329.322 0,
+ 1466489.804 787781.588 0))
+
+POLYGON ((1479065.542 800211.474 0, 1478782.612 800183.414 0, 1478498.382 800155.242 0, 1478214.149 800127.087 0, 1477929.916 800098.949 0, 1477645.68 800070.827 0, 1477361.443 800042.722 0, 1477077.204 800014.634 0, 1476792.964 799986.562 0, 1476508.722 799958.508 0,
+ 1476224.478 799930.47 0, 1475940.232 799902.448 0, 1475655.985 799874.444 0, 1475371.737 799846.456 0, 1475087.486 799818.485 0, 1474803.234 799790.531 0, 1474518.981 799762.593 0, 1474234.726 799734.672 0, 1473950.469 799706.768 0, 1473666.21 799678.881 0,
+ 1473381.95 799651.01 0, 1473097.688 799623.156 0, 1472813.425 799595.319 0, 1472529.159 799567.498 0, 1472243.593 799539.567 0, 1471960.624 799511.907 0, 1471676.354 799484.137 0, 1471392.083 799456.384 0, 1471107.809 799428.647 0, 1470823.534 799400.927 0,
+ 1470539.258 799373.223 0, 1470254.98 799345.537 0, 1469970.7 799317.867 0, 1469686.418 799290.213 0, 1469402.135 799262.577 0, 1469117.851 799234.957 0, 1468833.564 799207.354 0, 1468549.276 799179.768 0, 1468264.987 799152.199 0, 1467980.696 799124.646 0,
+ 1467696.403 799097.11 0, 1467412.109 799069.59 0, 1467127.812 799042.088 0, 1466843.515 799014.602 0, 1466559.216 798987.133 0, 1466274.915 798959.681 0, 1465990.612 798932.245 0, 1465706.308 798904.826 0, 1465420.701 798877.298 0, 1464886.115 804425.513 0,
+ 1464351.506 809973.963 0, 1464636.457 810001.428 0, 1464920.108 810028.784 0, 1465203.757 810056.156 0, 1465487.405 810083.546 0, 1465771.051 810110.952 0, 1466054.696 810138.374 0, 1466338.339 810165.814 0, 1466621.98 810193.27 0, 1466905.62 810220.743 0,
+ 1467189.258 810248.232 0, 1467472.894 810275.738 0, 1467756.529 810303.261 0, 1468040.162 810330.801 0, 1468323.794 810358.357 0, 1468607.424 810385.93 0, 1468891.052 810413.52 0, 1469174.679 810441.126 0, 1469458.304 810468.749 0, 1469741.928 810496.389 0,
+ 1470025.55 810524.045 0, 1470309.17 810551.718 0, 1470592.788 810579.408 0, 1470876.405 810607.115 0, 1471158.724 810634.711 0, 1471443.635 810662.578 0, 1471727.247 810690.334 0, 1472010.857 810718.108 0, 1472294.466 810745.897 0, 1472578.073 810773.704 0,
+ 1472861.679 810801.527 0, 1473145.282 810829.368 0, 1473428.885 810857.224 0, 1473712.485 810885.098 0, 1473996.084 810912.988 0, 1474279.682 810940.895 0, 1474563.277 810968.818 0, 1474846.871 810996.758 0, 1475130.464 811024.715 0, 1475414.055 811052.689 0,
+ 1475697.644 811080.679 0, 1475981.231 811108.686 0, 1476264.817 811136.71 0, 1476548.401 811164.75 0, 1476831.984 811192.807 0, 1477115.564 811220.881 0, 1477399.144 811248.971 0, 1477682.721 811277.078 0, 1477965.001 811305.074 0, 1478515.283 805758.156 0,
+ 1479065.542 800211.474 0))
+
+POLYGON ((1491574.682 812674.639 0, 1491292.48 812645.846 0, 1491008.983 812616.938 0, 1490725.484 812588.047 0, 1490441.984 812559.172 0, 1490158.481 812530.314 0, 1489874.978 812501.472 0, 1489591.472 812472.648 0, 1489307.965 812443.84 0, 1489024.456 812415.048 0,
+ 1488740.945 812386.273 0, 1488457.433 812357.516 0, 1488173.919 812328.774 0, 1487890.403 812300.05 0, 1487606.886 812271.342 0, 1487323.367 812242.65 0, 1487039.846 812213.976 0, 1486756.324 812185.318 0, 1486472.8 812156.677 0, 1486189.274 812128.052 0,
+ 1485905.746 812099.445 0, 1485622.217 812070.854 0, 1485338.686 812042.279 0, 1485055.154 812013.721 0, 1484770.325 811985.05 0, 1484488.084 811956.656 0, 1484204.546 811928.148 0, 1483921.007 811899.657 0, 1483637.466 811871.183 0, 1483353.923 811842.725 0,
+ 1483070.379 811814.285 0, 1482786.833 811785.86 0, 1482503.286 811757.453 0, 1482219.736 811729.062 0, 1481936.185 811700.688 0, 1481652.633 811672.33 0, 1481369.078 811643.99 0, 1481085.523 811615.666 0, 1480801.965 811587.358 0, 1480518.406 811559.067 0,
+ 1480234.845 811530.793 0, 1479951.282 811502.536 0, 1479667.718 811474.295 0, 1479384.152 811446.072 0, 1479100.584 811417.864 0, 1478817.015 811389.674 0, 1478533.444 811361.5 0, 1478249.871 811333.343 0, 1477965.001 811305.074 0, 1477414.696 816852.223 0,
+ 1476864.369 822399.599 0, 1477148.583 822427.803 0, 1477431.502 822455.896 0, 1477714.42 822484.005 0, 1477997.337 822512.13 0, 1478280.251 822540.272 0, 1478563.164 822568.431 0, 1478846.076 822596.607 0, 1479128.985 822624.799 0, 1479411.893 822653.008 0,
+ 1479694.799 822681.234 0, 1479977.704 822709.476 0, 1480260.607 822737.735 0, 1480543.509 822766.01 0, 1480826.408 822794.302 0, 1481109.306 822822.611 0, 1481392.203 822850.937 0, 1481675.097 822879.279 0, 1481957.99 822907.638 0, 1482240.882 822936.013 0,
+ 1482523.771 822964.405 0, 1482806.659 822992.814 0, 1483089.546 823021.239 0, 1483372.43 823049.681 0, 1483654.022 823078.01 0, 1483938.195 823106.615 0, 1484221.074 823135.107 0, 1484503.952 823163.616 0, 1484786.828 823192.141 0, 1485069.703 823220.683 0,
+ 1485352.576 823249.241 0, 1485635.447 823277.817 0, 1485918.317 823306.409 0, 1486201.184 823335.017 0, 1486484.051 823363.642 0, 1486766.915 823392.284 0, 1487049.778 823420.943 0, 1487332.639 823449.618 0, 1487615.499 823478.309 0, 1487898.356 823507.018 0,
+ 1488181.212 823535.743 0, 1488464.067 823564.485 0, 1488746.919 823593.243 0, 1489029.77 823622.018 0, 1489312.62 823650.81 0, 1489595.467 823679.618 0, 1489878.313 823708.443 0, 1490161.157 823737.284 0, 1490442.709 823766.011 0, 1491008.707 818220.211 0,
+ 1491574.682 812674.639 0))
+
+POLYGON ((1504017.136 825170.778 0, 1503735.664 825141.256 0, 1503452.902 825111.616 0, 1503170.139 825081.992 0, 1502887.374 825052.385 0, 1502604.607 825022.794 0, 1502321.838 824993.22 0, 1502039.068 824963.663 0, 1501756.296 824934.122 0, 1501473.522 824904.598 0,
+ 1501190.747 824875.09 0, 1500907.969 824845.6 0, 1500625.19 824816.126 0, 1500342.41 824786.668 0, 1500059.627 824757.227 0, 1499776.843 824727.803 0, 1499494.057 824698.395 0, 1499211.27 824669.005 0, 1498928.48 824639.63 0, 1498645.689 824610.273 0,
+ 1498362.896 824580.932 0, 1498080.102 824551.607 0, 1497797.305 824522.3 0, 1497514.507 824493.009 0, 1497230.419 824463.601 0, 1496948.906 824434.477 0, 1496666.103 824405.235 0, 1496383.298 824376.011 0, 1496100.492 824346.803 0, 1495817.683 824317.612 0,
+ 1495534.873 824288.437 0, 1495252.061 824259.28 0, 1494969.248 824230.138 0, 1494686.433 824201.014 0, 1494403.616 824171.906 0, 1494120.797 824142.815 0, 1493837.977 824113.74 0, 1493555.155 824084.682 0, 1493272.331 824055.641 0, 1492989.506 824026.616 0,
+ 1492706.678 823997.608 0, 1492423.85 823968.616 0, 1492141.019 823939.642 0, 1491858.187 823910.683 0, 1491575.353 823881.742 0, 1491292.517 823852.817 0, 1491009.68 823823.909 0, 1490726.841 823795.017 0, 1490442.709 823766.011 0, 1489876.689 829312.035 0,
+ 1489310.646 834858.279 0, 1489594.121 834887.219 0, 1489876.307 834916.044 0, 1490158.492 834944.885 0, 1490440.675 834973.743 0, 1490722.856 835002.618 0, 1491005.035 835031.509 0, 1491287.213 835060.417 0, 1491569.389 835089.341 0, 1491851.563 835118.283 0,
+ 1492133.736 835147.24 0, 1492415.907 835176.215 0, 1492698.076 835205.206 0, 1492980.244 835234.213 0, 1493262.409 835263.237 0, 1493544.573 835292.278 0, 1493826.736 835321.335 0, 1494108.897 835350.409 0, 1494391.055 835379.5 0, 1494673.213 835408.607 0,
+ 1494955.368 835437.731 0, 1495237.522 835466.871 0, 1495519.674 835496.028 0, 1495801.825 835525.202 0, 1496082.687 835554.259 0, 1496366.12 835583.599 0, 1496648.265 835612.822 0, 1496930.409 835642.062 0, 1497212.551 835671.319 0, 1497494.691 835700.592 0,
+ 1497776.829 835729.882 0, 1498058.966 835759.188 0, 1498341.101 835788.512 0, 1498623.234 835817.851 0, 1498905.365 835847.207 0, 1499187.495 835876.58 0, 1499469.623 835905.97 0, 1499751.749 835935.376 0, 1500033.874 835964.799 0, 1500315.997 835994.238 0,
+ 1500598.118 836023.694 0, 1500880.237 836053.166 0, 1501162.355 836082.655 0, 1501444.47 836112.161 0, 1501726.585 836141.684 0, 1502008.697 836171.222 0, 1502290.808 836200.778 0, 1502572.916 836230.35 0, 1502853.739 836259.804 0, 1503435.449 830715.181 0,
+ 1504017.136 825170.778 0))
+
+POLYGON ((1516392.818 837699.585 0, 1516112.078 837669.338 0, 1515830.054 837638.969 0, 1515548.028 837608.616 0, 1515266 837578.28 0, 1514983.97 837547.961 0, 1514701.939 837517.659 0, 1514419.906 837487.373 0, 1514137.871 837457.103 0, 1513855.834 837426.85 0,
+ 1513573.796 837396.614 0, 1513291.755 837366.394 0, 1513009.713 837336.191 0, 1512727.67 837306.005 0, 1512445.624 837275.835 0, 1512163.577 837245.682 0, 1511881.527 837215.545 0, 1511599.477 837185.425 0, 1511317.424 837155.322 0, 1511035.369 837125.235 0,
+ 1510753.313 837095.165 0, 1510471.255 837065.111 0, 1510189.195 837035.074 0, 1509907.134 837005.054 0, 1509623.787 836974.913 0, 1509343.005 836945.063 0, 1509060.939 836915.092 0, 1508778.87 836885.138 0, 1508496.8 836855.201 0, 1508214.727 836825.28 0,
+ 1507932.654 836795.376 0, 1507650.578 836765.488 0, 1507368.501 836735.617 0, 1507086.421 836705.763 0, 1506804.34 836675.925 0, 1506522.258 836646.104 0, 1506240.173 836616.299 0, 1505958.087 836586.511 0, 1505675.999 836556.74 0, 1505393.909 836526.985 0,
+ 1505111.818 836497.247 0, 1504829.725 836467.525 0, 1504547.63 836437.82 0, 1504265.533 836408.132 0, 1503983.435 836378.46 0, 1503701.335 836348.805 0, 1503419.233 836319.166 0, 1503137.129 836289.544 0, 1502853.739 836259.804 0, 1502272.006 841804.644 0,
+ 1501690.251 847349.697 0, 1501972.985 847379.368 0, 1502254.436 847408.922 0, 1502535.886 847438.492 0, 1502817.333 847468.078 0, 1503098.779 847497.681 0, 1503380.223 847527.301 0, 1503661.665 847556.937 0, 1503943.105 847586.59 0, 1504224.544 847616.259 0,
+ 1504505.981 847645.945 0, 1504787.417 847675.648 0, 1505068.85 847705.367 0, 1505350.282 847735.103 0, 1505631.712 847764.855 0, 1505913.14 847794.624 0, 1506194.567 847824.409 0, 1506475.991 847854.211 0, 1506757.414 847884.029 0, 1507038.835 847913.864 0,
+ 1507320.255 847943.716 0, 1507601.673 847973.584 0, 1507883.089 848003.469 0, 1508164.503 848033.37 0, 1508444.635 848063.152 0, 1508727.326 848093.222 0, 1509008.735 848123.173 0, 1509290.142 848153.141 0, 1509571.547 848183.125 0, 1509852.951 848213.125 0,
+ 1510134.353 848243.143 0, 1510415.753 848273.176 0, 1510697.151 848303.227 0, 1510978.548 848333.294 0, 1511259.943 848363.377 0, 1511541.336 848393.477 0, 1511822.727 848423.594 0, 1512104.116 848453.727 0, 1512385.504 848483.877 0, 1512666.89 848514.043 0,
+ 1512948.274 848544.226 0, 1513229.657 848574.425 0, 1513511.037 848604.641 0, 1513792.416 848634.874 0, 1514073.793 848665.123 0, 1514355.168 848695.388 0, 1514636.542 848725.67 0, 1514917.913 848755.969 0, 1515198.004 848786.147 0, 1515795.423 843242.759 0,
+ 1516392.818 837699.585 0))
+
+POLYGON ((1528701.645 850260.753 0, 1528421.639 850229.784 0, 1528140.354 850198.69 0, 1527859.067 850167.613 0, 1527577.778 850136.553 0, 1527296.488 850105.509 0, 1527015.196 850074.481 0, 1526733.901 850043.471 0, 1526452.605 850012.476 0, 1526171.308 849981.499 0,
+ 1525890.008 849950.538 0, 1525608.707 849919.593 0, 1525327.404 849888.665 0, 1525046.099 849857.754 0, 1524764.792 849826.859 0, 1524483.483 849795.98 0, 1524202.173 849765.119 0, 1523920.86 849734.273 0, 1523639.546 849703.445 0, 1523358.23 849672.633 0,
+ 1523076.912 849641.837 0, 1522795.593 849611.058 0, 1522514.271 849580.296 0, 1522232.948 849549.55 0, 1521950.345 849518.681 0, 1521670.297 849488.108 0, 1521388.968 849457.411 0, 1521107.637 849426.732 0, 1520826.305 849396.069 0, 1520544.971 849365.422 0,
+ 1520263.635 849334.792 0, 1519982.298 849304.179 0, 1519700.958 849273.582 0, 1519419.617 849243.002 0, 1519138.274 849212.438 0, 1518856.929 849181.891 0, 1518575.583 849151.36 0, 1518294.234 849120.846 0, 1518012.884 849090.349 0, 1517731.532 849059.868 0,
+ 1517450.178 849029.403 0, 1517168.823 848998.956 0, 1516887.465 848968.524 0, 1516606.106 848938.11 0, 1516324.745 848907.711 0, 1516043.382 848877.33 0, 1515762.018 848846.965 0, 1515480.651 848816.616 0, 1515198.004 848786.147 0, 1514600.563 854329.743 0,
+ 1514003.1 859873.546 0, 1514285.091 859903.945 0, 1514565.805 859934.223 0, 1514846.517 859964.518 0, 1515127.227 859994.829 0, 1515407.936 860025.156 0, 1515688.642 860055.501 0, 1515969.347 860085.861 0, 1516250.05 860116.238 0, 1516530.752 860146.632 0,
+ 1516811.451 860177.042 0, 1517092.149 860207.469 0, 1517372.845 860237.912 0, 1517653.539 860268.372 0, 1517934.231 860298.848 0, 1518214.921 860329.341 0, 1518495.61 860359.851 0, 1518776.297 860390.377 0, 1519056.982 860420.919 0, 1519337.666 860451.478 0,
+ 1519618.347 860482.053 0, 1519899.027 860512.645 0, 1520179.705 860543.254 0, 1520460.381 860573.879 0, 1520739.78 860604.381 0, 1521021.728 860635.178 0, 1521302.398 860665.853 0, 1521583.067 860696.544 0, 1521863.734 860727.252 0, 1522144.4 860757.976 0,
+ 1522425.063 860788.716 0, 1522705.725 860819.474 0, 1522986.385 860850.247 0, 1523267.043 860881.037 0, 1523547.699 860911.844 0, 1523828.353 860942.667 0, 1524109.006 860973.507 0, 1524389.657 861004.363 0, 1524670.306 861035.236 0, 1524950.953 861066.125 0,
+ 1525231.598 861097.031 0, 1525512.242 861127.954 0, 1525792.883 861158.893 0, 1526073.523 861189.848 0, 1526354.161 861220.82 0, 1526634.797 861251.808 0, 1526915.432 861282.813 0, 1527196.064 861313.835 0, 1527475.421 861344.732 0, 1528088.545 855802.639 0,
+ 1528701.645 850260.753 0))
+
+POLYGON ((1540943.533 862853.973 0, 1540664.262 862822.287 0, 1540383.719 862790.473 0, 1540103.173 862758.675 0, 1539822.625 862726.894 0, 1539542.076 862695.129 0, 1539261.525 862663.381 0, 1538980.971 862631.65 0, 1538700.416 862599.935 0, 1538419.86 862568.236 0,
+ 1538139.301 862536.554 0, 1537858.74 862504.888 0, 1537578.178 862473.239 0, 1537297.613 862441.607 0, 1537017.047 862409.991 0, 1536736.479 862378.391 0, 1536455.909 862346.808 0, 1536175.337 862315.242 0, 1535894.764 862283.692 0, 1535614.188 862252.158 0,
+ 1535333.611 862220.641 0, 1535053.032 862189.141 0, 1534772.45 862157.657 0, 1534491.868 862126.19 0, 1534210.01 862094.596 0, 1533930.696 862063.305 0, 1533650.108 862031.887 0, 1533369.517 862000.485 0, 1533088.925 861969.101 0, 1532808.331 861937.732 0,
+ 1532527.735 861906.38 0, 1532247.138 861875.045 0, 1531966.538 861843.726 0, 1531685.937 861812.424 0, 1531405.333 861781.138 0, 1531124.728 861749.869 0, 1530844.121 861718.617 0, 1530563.513 861687.38 0, 1530282.902 861656.161 0, 1530002.29 861624.958 0,
+ 1529721.675 861593.771 0, 1529441.059 861562.601 0, 1529160.441 861531.447 0, 1528879.822 861500.31 0, 1528599.2 861469.19 0, 1528318.576 861438.086 0, 1528037.951 861406.998 0, 1527757.324 861375.927 0, 1527475.421 861344.732 0, 1526862.276 866887.026 0,
+ 1526249.108 872429.519 0, 1526530.356 872460.642 0, 1526810.33 872491.641 0, 1527090.303 872522.656 0, 1527370.274 872553.687 0, 1527650.243 872584.736 0, 1527930.211 872615.8 0, 1528210.176 872646.882 0, 1528490.14 872677.979 0, 1528770.102 872709.093 0,
+ 1529050.062 872740.224 0, 1529330.02 872771.371 0, 1529609.977 872802.535 0, 1529889.931 872833.715 0, 1530169.884 872864.911 0, 1530449.835 872896.124 0, 1530729.784 872927.354 0, 1531009.731 872958.599 0, 1531289.676 872989.862 0, 1531569.62 873021.141 0,
+ 1531849.562 873052.436 0, 1532129.501 873083.748 0, 1532409.439 873115.076 0, 1532689.375 873146.421 0, 1532968.04 873177.64 0, 1533249.242 873209.16 0, 1533529.173 873240.554 0, 1533809.102 873271.965 0, 1534089.028 873303.392 0, 1534368.954 873334.836 0,
+ 1534648.877 873366.296 0, 1534928.798 873397.773 0, 1535208.718 873429.266 0, 1535488.635 873460.775 0, 1535768.551 873492.301 0, 1536048.465 873523.844 0, 1536328.377 873555.403 0, 1536608.287 873586.978 0, 1536888.196 873618.57 0, 1537168.102 873650.179 0,
+ 1537448.007 873681.803 0, 1537727.91 873713.445 0, 1538007.81 873745.103 0, 1538287.71 873776.777 0, 1538567.607 873808.468 0, 1538847.502 873840.175 0, 1539127.395 873871.899 0, 1539407.287 873903.639 0, 1539685.909 873935.252 0, 1540314.732 868394.513 0,
+ 1540943.533 862853.973 0))
+
+POLYGON ((1044053.111 431714.797 0, 1043748.667 431712.225 0, 1043442.75 431709.659 0, 1043136.833 431707.111 0, 1042830.915 431704.581 0, 1042524.997 431702.07 0, 1042219.08 431699.576 0, 1041913.162 431697.1 0, 1041607.243 431694.642 0, 1041301.325 431692.202 0,
+ 1040995.407 431689.78 0, 1040689.488 431687.376 0, 1040383.57 431684.99 0, 1040077.651 431682.622 0, 1039771.732 431680.272 0, 1039465.813 431677.94 0, 1039159.893 431675.627 0, 1038853.974 431673.331 0, 1038548.054 431671.053 0, 1038242.135 431668.793 0,
+ 1037936.215 431666.551 0, 1037630.295 431664.327 0, 1037324.375 431662.121 0, 1037018.455 431659.934 0, 1036711.06 431657.753 0, 1036406.614 431655.612 0, 1036100.694 431653.478 0, 1035794.773 431651.362 0, 1035488.852 431649.264 0, 1035182.931 431647.185 0,
+ 1034877.01 431645.123 0, 1034571.089 431643.079 0, 1034265.168 431641.053 0, 1033959.246 431639.046 0, 1033653.325 431637.056 0, 1033347.403 431635.084 0, 1033041.481 431633.13 0, 1032735.559 431631.195 0, 1032429.637 431629.277 0, 1032123.715 431627.377 0,
+ 1031817.793 431625.495 0, 1031511.871 431623.632 0, 1031205.948 431621.786 0, 1030900.026 431619.958 0, 1030594.103 431618.148 0, 1030288.181 431616.357 0, 1029982.258 431614.583 0, 1029676.335 431612.827 0, 1029368.936 431611.081 0, 1029337.562 437163.684 0,
+ 1029306.184 442716.726 0, 1029612.926 442718.468 0, 1029918.196 442720.22 0, 1030223.465 442721.99 0, 1030528.734 442723.778 0, 1030834.003 442725.584 0, 1031139.272 442727.407 0, 1031444.54 442729.249 0, 1031749.809 442731.109 0, 1032055.078 442732.987 0,
+ 1032360.346 442734.882 0, 1032665.614 442736.796 0, 1032970.883 442738.728 0, 1033276.151 442740.677 0, 1033581.419 442742.645 0, 1033886.687 442744.63 0, 1034191.954 442746.634 0, 1034497.222 442748.655 0, 1034802.49 442750.695 0, 1035107.757 442752.752 0,
+ 1035413.024 442754.827 0, 1035718.291 442756.921 0, 1036023.558 442759.032 0, 1036328.825 442761.161 0, 1036632.621 442763.298 0, 1036939.359 442765.474 0, 1037244.625 442767.657 0, 1037549.892 442769.858 0, 1037855.158 442772.077 0, 1038160.424 442774.314 0,
+ 1038465.69 442776.569 0, 1038770.956 442778.842 0, 1039076.222 442781.133 0, 1039381.487 442783.442 0, 1039686.753 442785.769 0, 1039992.018 442788.114 0, 1040297.283 442790.477 0, 1040602.548 442792.857 0, 1040907.813 442795.256 0, 1041213.078 442797.673 0,
+ 1041518.343 442800.108 0, 1041823.607 442802.56 0, 1042128.871 442805.031 0, 1042434.136 442807.52 0, 1042739.4 442810.026 0, 1043044.664 442812.551 0, 1043349.927 442815.093 0, 1043655.191 442817.654 0, 1043958.984 442820.22 0, 1044006.05 437267.289 0,
+ 1044053.111 431714.797 0))
+
+POLYGON ((1058611.433 442965.11 0, 1058307.646 442961.686 0, 1058002.391 442958.263 0, 1057697.135 442954.858 0, 1057391.88 442951.471 0, 1057086.624 442948.102 0, 1056781.368 442944.751 0, 1056476.112 442941.418 0, 1056170.856 442938.103 0, 1055865.599 442934.806 0,
+ 1055560.343 442931.526 0, 1055255.086 442928.265 0, 1054949.829 442925.022 0, 1054644.571 442921.797 0, 1054339.314 442918.59 0, 1054034.056 442915.4 0, 1053728.798 442912.229 0, 1053423.54 442909.075 0, 1053118.282 442905.94 0, 1052813.024 442902.823 0,
+ 1052507.765 442899.723 0, 1052202.506 442896.642 0, 1051897.247 442893.578 0, 1051591.988 442890.532 0, 1051285.26 442887.49 0, 1050981.469 442884.495 0, 1050676.21 442881.503 0, 1050370.95 442878.53 0, 1050065.69 442875.574 0, 1049760.43 442872.636 0,
+ 1049455.169 442869.716 0, 1049149.909 442866.815 0, 1048844.648 442863.931 0, 1048539.387 442861.065 0, 1048234.126 442858.217 0, 1047928.865 442855.387 0, 1047623.603 442852.575 0, 1047318.342 442849.781 0, 1047013.08 442847.005 0, 1046707.818 442844.247 0,
+ 1046402.556 442841.506 0, 1046097.294 442838.784 0, 1045792.032 442836.08 0, 1045486.769 442833.394 0, 1045181.507 442830.726 0, 1044876.244 442828.075 0, 1044570.981 442825.443 0, 1044265.718 442822.828 0, 1043958.984 442820.22 0, 1043911.915 448373.586 0,
+ 1043864.843 453927.385 0, 1044170.919 453929.988 0, 1044475.528 453932.597 0, 1044780.138 453935.223 0, 1045084.747 453937.868 0, 1045389.356 453940.531 0, 1045693.964 453943.211 0, 1045998.573 453945.91 0, 1046303.181 453948.626 0, 1046607.79 453951.36 0,
+ 1046912.398 453954.112 0, 1047217.006 453956.883 0, 1047521.614 453959.671 0, 1047826.221 453962.477 0, 1048130.829 453965.301 0, 1048435.436 453968.142 0, 1048740.043 453971.002 0, 1049044.65 453973.88 0, 1049349.257 453976.775 0, 1049653.864 453979.689 0,
+ 1049958.47 453982.621 0, 1050263.076 453985.57 0, 1050567.682 453988.537 0, 1050872.288 453991.523 0, 1051175.429 453994.511 0, 1051481.5 453997.547 0, 1051786.105 454000.586 0, 1052090.71 454003.643 0, 1052395.315 454006.718 0, 1052699.92 454009.811 0,
+ 1053004.525 454012.922 0, 1053309.129 454016.05 0, 1053613.734 454019.197 0, 1053918.338 454022.361 0, 1054222.942 454025.544 0, 1054527.546 454028.744 0, 1054832.149 454031.963 0, 1055136.752 454035.199 0, 1055441.356 454038.453 0, 1055745.959 454041.725 0,
+ 1056050.561 454045.015 0, 1056355.164 454048.323 0, 1056659.766 454051.649 0, 1056964.369 454054.993 0, 1057268.971 454058.355 0, 1057573.572 454061.735 0, 1057878.174 454065.132 0, 1058182.776 454068.548 0, 1058485.912 454071.965 0, 1058548.675 448518.321 0,
+ 1058611.433 442965.11 0))
+
+POLYGON ((1073106.515 454257.851 0, 1072803.387 454253.578 0, 1072498.796 454249.302 0, 1072194.205 454245.044 0, 1071889.614 454240.803 0, 1071585.023 454236.581 0, 1071280.432 454232.377 0, 1070975.84 454228.19 0, 1070671.248 454224.022 0, 1070366.655 454219.871 0,
+ 1070062.063 454215.738 0, 1069757.47 454211.624 0, 1069452.877 454207.527 0, 1069148.284 454203.448 0, 1068843.69 454199.387 0, 1068539.097 454195.344 0, 1068234.503 454191.319 0, 1067929.909 454187.312 0, 1067625.314 454183.322 0, 1067320.719 454179.351 0,
+ 1067016.124 454175.398 0, 1066711.529 454171.462 0, 1066406.934 454167.545 0, 1066102.338 454163.645 0, 1065796.279 454159.745 0, 1065493.147 454155.9 0, 1065188.55 454152.054 0, 1064883.954 454148.226 0, 1064579.357 454144.416 0, 1064274.76 454140.624 0,
+ 1063970.163 454136.85 0, 1063665.565 454133.094 0, 1063360.968 454129.355 0, 1063056.37 454125.635 0, 1062751.772 454121.933 0, 1062447.174 454118.248 0, 1062142.575 454114.581 0, 1061837.976 454110.933 0, 1061533.378 454107.302 0, 1061228.778 454103.689 0,
+ 1060924.179 454100.095 0, 1060619.579 454096.518 0, 1060314.98 454092.959 0, 1060010.38 454089.418 0, 1059705.78 454085.894 0, 1059401.179 454082.389 0, 1059096.579 454078.902 0, 1058791.978 454075.433 0, 1058485.912 454071.965 0, 1058423.144 459626.038 0,
+ 1058360.372 465180.538 0, 1058665.78 465183.998 0, 1058969.727 465187.46 0, 1059273.674 465190.94 0, 1059577.621 465194.438 0, 1059881.567 465197.953 0, 1060185.513 465201.487 0, 1060489.459 465205.038 0, 1060793.405 465208.607 0, 1061097.35 465212.194 0,
+ 1061401.296 465215.799 0, 1061705.241 465219.422 0, 1062009.186 465223.063 0, 1062313.13 465226.722 0, 1062617.075 465230.398 0, 1062921.019 465234.093 0, 1063224.963 465237.805 0, 1063528.907 465241.535 0, 1063832.85 465245.284 0, 1064136.794 465249.05 0,
+ 1064440.737 465252.833 0, 1064744.68 465256.635 0, 1065048.623 465260.455 0, 1065352.565 465264.293 0, 1065655.047 465268.129 0, 1065960.449 465272.021 0, 1066264.391 465275.913 0, 1066568.333 465279.822 0, 1066872.274 465283.749 0, 1067176.215 465287.694 0,
+ 1067480.156 465291.656 0, 1067784.096 465295.637 0, 1068088.037 465299.636 0, 1068391.977 465303.652 0, 1068695.917 465307.687 0, 1068999.857 465311.739 0, 1069303.796 465315.809 0, 1069607.735 465319.897 0, 1069911.674 465324.003 0, 1070215.613 465328.127 0,
+ 1070519.551 465332.268 0, 1070823.49 465336.428 0, 1071127.428 465340.605 0, 1071431.365 465344.801 0, 1071735.303 465349.014 0, 1072039.24 465353.245 0, 1072343.177 465357.494 0, 1072647.114 465361.761 0, 1072949.591 465366.025 0, 1073028.056 459811.725 0,
+ 1073106.515 454257.851 0))
+
+POLYGON ((1087538.229 465592.729 0, 1087235.762 465587.611 0, 1086931.839 465582.485 0, 1086627.915 465577.377 0, 1086323.991 465572.288 0, 1086020.066 465567.216 0, 1085716.142 465562.162 0, 1085412.217 465557.126 0, 1085108.291 465552.107 0, 1084804.366 465547.107 0,
+ 1084500.44 465542.124 0, 1084196.514 465537.16 0, 1083892.587 465532.213 0, 1083588.661 465527.284 0, 1083284.734 465522.373 0, 1082980.806 465517.48 0, 1082676.879 465512.605 0, 1082372.951 465507.748 0, 1082069.023 465502.909 0, 1081765.094 465498.087 0,
+ 1081461.166 465493.284 0, 1081157.237 465488.498 0, 1080853.307 465483.73 0, 1080549.378 465478.98 0, 1080243.99 465474.225 0, 1079941.518 465469.534 0, 1079637.587 465464.838 0, 1079333.657 465460.159 0, 1079029.726 465455.499 0, 1078725.794 465450.856 0,
+ 1078421.863 465446.232 0, 1078117.931 465441.625 0, 1077813.999 465437.036 0, 1077510.067 465432.465 0, 1077206.134 465427.912 0, 1076902.201 465423.376 0, 1076598.268 465418.859 0, 1076294.335 465414.36 0, 1075990.401 465409.878 0, 1075686.467 465405.414 0,
+ 1075382.533 465400.968 0, 1075078.599 465396.541 0, 1074774.664 465392.131 0, 1074470.729 465387.738 0, 1074166.794 465383.364 0, 1073862.858 465379.008 0, 1073558.923 465374.669 0, 1073254.987 465370.349 0, 1072949.591 465366.025 0, 1072871.121 470920.749 0,
+ 1072792.644 476475.894 0, 1073097.382 476480.208 0, 1073400.664 476484.519 0, 1073703.946 476488.848 0, 1074007.227 476493.195 0, 1074310.509 476497.56 0, 1074613.79 476501.943 0, 1074917.071 476506.343 0, 1075220.351 476510.762 0, 1075523.631 476515.198 0,
+ 1075826.911 476519.652 0, 1076130.191 476524.124 0, 1076433.471 476528.614 0, 1076736.75 476533.121 0, 1077040.029 476537.647 0, 1077343.307 476542.19 0, 1077646.586 476546.751 0, 1077949.864 476551.33 0, 1078253.142 476555.927 0, 1078556.42 476560.542 0,
+ 1078859.697 476565.175 0, 1079162.974 476569.825 0, 1079466.251 476574.493 0, 1079769.527 476579.18 0, 1080071.349 476583.861 0, 1080376.079 476588.605 0, 1080679.355 476593.345 0, 1080982.631 476598.103 0, 1081285.906 476602.878 0, 1081589.181 476607.671 0,
+ 1081892.455 476612.482 0, 1082195.729 476617.311 0, 1082499.003 476622.158 0, 1082802.277 476627.023 0, 1083105.55 476631.905 0, 1083408.824 476636.806 0, 1083712.096 476641.724 0, 1084015.369 476646.66 0, 1084318.641 476651.614 0, 1084621.913 476656.586 0,
+ 1084925.185 476661.575 0, 1085228.456 476666.583 0, 1085531.727 476671.608 0, 1085834.998 476676.651 0, 1086138.269 476681.712 0, 1086441.539 476686.791 0, 1086744.809 476691.888 0, 1087048.078 476697.002 0, 1087349.894 476702.11 0, 1087444.065 471147.209 0,
+ 1087538.229 465592.729 0))
+
+POLYGON ((1101906.448 476969.452 0, 1101604.645 476963.492 0, 1101301.391 476957.521 0, 1100998.137 476951.567 0, 1100694.882 476945.631 0, 1100391.627 476939.714 0, 1100088.372 476933.814 0, 1099785.116 476927.932 0, 1099481.86 476922.067 0, 1099178.604 476916.221 0,
+ 1098875.347 476910.392 0, 1098572.09 476904.582 0, 1098268.833 476898.789 0, 1097965.575 476893.014 0, 1097662.317 476887.257 0, 1097359.058 476881.518 0, 1097055.8 476875.796 0, 1096752.541 476870.093 0, 1096449.281 476864.407 0, 1096146.021 476858.739 0,
+ 1095842.761 476853.089 0, 1095539.501 476847.457 0, 1095236.24 476841.842 0, 1094932.979 476836.246 0, 1094628.265 476830.641 0, 1094326.456 476825.106 0, 1094023.194 476819.563 0, 1093719.931 476814.038 0, 1093416.669 476808.531 0, 1093113.406 476803.042 0,
+ 1092810.142 476797.57 0, 1092506.879 476792.117 0, 1092203.615 476786.681 0, 1091900.35 476781.263 0, 1091597.086 476775.863 0, 1091293.821 476770.48 0, 1090990.555 476765.116 0, 1090687.29 476759.769 0, 1090384.024 476754.44 0, 1090080.758 476749.13 0,
+ 1089777.491 476743.836 0, 1089474.224 476738.561 0, 1089170.957 476733.304 0, 1088867.69 476728.064 0, 1088564.422 476722.843 0, 1088261.154 476717.639 0, 1087957.885 476712.453 0, 1087654.617 476707.285 0, 1087349.894 476702.11 0, 1087255.716 482257.428 0,
+ 1087161.532 487813.161 0, 1087465.597 487818.324 0, 1087768.212 487823.481 0, 1088070.826 487828.656 0, 1088373.44 487833.849 0, 1088676.054 487839.059 0, 1088978.667 487844.287 0, 1089281.281 487849.533 0, 1089583.893 487854.797 0, 1089886.506 487860.079 0,
+ 1090189.118 487865.378 0, 1090491.73 487870.695 0, 1090794.342 487876.031 0, 1091096.953 487881.383 0, 1091399.564 487886.754 0, 1091702.175 487892.143 0, 1092004.785 487897.549 0, 1092307.395 487902.973 0, 1092610.005 487908.415 0, 1092912.614 487913.875 0,
+ 1093215.223 487919.352 0, 1093517.832 487924.848 0, 1093820.441 487930.361 0, 1094123.049 487935.892 0, 1094424.208 487941.414 0, 1094728.264 487947.007 0, 1095030.871 487952.592 0, 1095333.478 487958.194 0, 1095636.084 487963.814 0, 1095938.691 487969.452 0,
+ 1096241.296 487975.107 0, 1096543.902 487980.781 0, 1096846.507 487986.472 0, 1097149.112 487992.181 0, 1097451.716 487997.908 0, 1097754.32 488003.653 0, 1098056.924 488009.415 0, 1098359.528 488015.196 0, 1098662.131 488020.994 0, 1098964.733 488026.81 0,
+ 1099267.336 488032.644 0, 1099569.938 488038.495 0, 1099872.54 488044.365 0, 1100175.141 488050.252 0, 1100477.742 488056.157 0, 1100780.343 488062.08 0, 1101082.943 488068.02 0, 1101385.543 488073.979 0, 1101686.695 488079.926 0, 1101796.575 482524.482 0,
+ 1101906.448 476969.452 0))
+
+POLYGON ((1116211.047 488387.727 0, 1115909.911 488380.929 0, 1115607.329 488374.116 0, 1115304.746 488367.32 0, 1115002.164 488360.542 0, 1114699.58 488353.782 0, 1114396.997 488347.04 0, 1114094.413 488340.316 0, 1113791.829 488333.61 0, 1113489.244 488326.921 0,
+ 1113186.659 488320.25 0, 1112884.073 488313.597 0, 1112581.487 488306.962 0, 1112278.901 488300.344 0, 1111976.314 488293.745 0, 1111673.727 488287.163 0, 1111371.14 488280.599 0, 1111068.552 488274.053 0, 1110765.964 488267.525 0, 1110463.375 488261.014 0,
+ 1110160.786 488254.521 0, 1109858.197 488248.046 0, 1109555.607 488241.589 0, 1109253.017 488235.15 0, 1108948.98 488228.698 0, 1108647.835 488222.325 0, 1108345.244 488215.939 0, 1108042.652 488209.571 0, 1107740.06 488203.22 0, 1107437.468 488196.888 0,
+ 1107134.875 488190.573 0, 1106832.282 488184.276 0, 1106529.688 488177.997 0, 1106227.095 488171.736 0, 1105924.5 488165.493 0, 1105621.906 488159.267 0, 1105319.311 488153.059 0, 1105016.715 488146.869 0, 1104714.12 488140.697 0, 1104411.524 488134.543 0,
+ 1104108.927 488128.406 0, 1103806.33 488122.288 0, 1103503.733 488116.187 0, 1103201.136 488110.104 0, 1102898.538 488104.038 0, 1102595.94 488097.991 0, 1102293.341 488091.961 0, 1101990.742 488085.949 0, 1101686.695 488079.926 0, 1101576.806 493635.782 0,
+ 1101466.91 499192.046 0, 1101770.3 499198.056 0, 1102072.245 499204.055 0, 1102374.189 499210.071 0, 1102676.133 499216.106 0, 1102978.077 499222.158 0, 1103280.021 499228.228 0, 1103581.964 499234.316 0, 1103883.907 499240.421 0, 1104185.849 499246.545 0,
+ 1104487.791 499252.686 0, 1104789.733 499258.844 0, 1105091.674 499265.021 0, 1105393.615 499271.215 0, 1105695.556 499277.428 0, 1105997.496 499283.658 0, 1106299.436 499289.905 0, 1106601.375 499296.171 0, 1106903.314 499302.454 0, 1107205.253 499308.755 0,
+ 1107507.191 499315.074 0, 1107809.129 499321.41 0, 1108111.067 499327.765 0, 1108413.004 499334.137 0, 1108713.498 499340.496 0, 1109016.878 499346.934 0, 1109318.814 499353.36 0, 1109620.75 499359.803 0, 1109922.685 499366.264 0, 1110224.62 499372.742 0,
+ 1110526.554 499379.239 0, 1110828.489 499385.753 0, 1111130.423 499392.285 0, 1111432.356 499398.835 0, 1111734.289 499405.403 0, 1112036.222 499411.988 0, 1112338.154 499418.591 0, 1112640.086 499425.212 0, 1112942.017 499431.851 0, 1113243.949 499438.507 0,
+ 1113545.879 499445.181 0, 1113847.81 499451.873 0, 1114149.74 499458.583 0, 1114451.669 499465.31 0, 1114753.598 499472.056 0, 1115055.527 499478.819 0, 1115357.455 499485.6 0, 1115659.383 499492.398 0, 1115959.869 499499.182 0, 1116085.462 493943.25 0,
+ 1116211.047 488387.727 0))
+
+POLYGON ((1130451.902 499847.262 0, 1130151.435 499839.629 0, 1129849.527 499831.977 0, 1129547.619 499824.343 0, 1129245.711 499816.727 0, 1128943.802 499809.129 0, 1128641.892 499801.549 0, 1128339.983 499793.986 0, 1128038.072 499786.441 0, 1127736.162 499778.914 0,
+ 1127434.251 499771.404 0, 1127132.339 499763.913 0, 1126830.427 499756.439 0, 1126528.515 499748.983 0, 1126226.602 499741.544 0, 1125924.689 499734.124 0, 1125622.775 499726.721 0, 1125320.861 499719.336 0, 1125018.946 499711.969 0, 1124717.031 499704.619 0,
+ 1124415.115 499697.288 0, 1124113.2 499689.974 0, 1123811.283 499682.678 0, 1123509.366 499675.399 0, 1123206.008 499668.104 0, 1122905.532 499660.896 0, 1122603.614 499653.671 0, 1122301.695 499646.463 0, 1121999.776 499639.274 0, 1121697.857 499632.102 0,
+ 1121395.937 499624.948 0, 1121094.017 499617.812 0, 1120792.096 499610.693 0, 1120490.175 499603.592 0, 1120188.254 499596.51 0, 1119886.332 499589.444 0, 1119584.41 499582.397 0, 1119282.487 499575.367 0, 1118980.564 499568.356 0, 1118678.641 499561.361 0,
+ 1118376.717 499554.385 0, 1118074.792 499547.427 0, 1117772.868 499540.486 0, 1117470.943 499533.563 0, 1117169.017 499526.658 0, 1116867.091 499519.77 0, 1116565.165 499512.901 0, 1116263.238 499506.049 0, 1115959.869 499499.182 0, 1115834.266 505055.519 0,
+ 1115708.654 510612.258 0, 1116011.366 510619.109 0, 1116312.639 510625.946 0, 1116613.911 510632.801 0, 1116915.183 510639.674 0, 1117216.454 510646.564 0, 1117517.725 510653.472 0, 1117818.996 510660.398 0, 1118120.266 510667.341 0, 1118421.536 510674.302 0,
+ 1118722.805 510681.281 0, 1119024.074 510688.278 0, 1119325.343 510695.292 0, 1119626.611 510702.324 0, 1119927.879 510709.374 0, 1120229.146 510716.442 0, 1120530.413 510723.527 0, 1120831.68 510730.63 0, 1121132.946 510737.751 0, 1121434.211 510744.89 0,
+ 1121735.477 510752.046 0, 1122036.741 510759.22 0, 1122338.006 510766.412 0, 1122639.27 510773.621 0, 1122939.095 510780.814 0, 1123241.797 510788.093 0, 1123543.059 510795.356 0, 1123844.322 510802.636 0, 1124145.583 510809.934 0, 1124446.845 510817.25 0,
+ 1124748.106 510824.583 0, 1125049.366 510831.935 0, 1125350.626 510839.304 0, 1125651.886 510846.691 0, 1125953.145 510854.095 0, 1126254.404 510861.517 0, 1126555.663 510868.957 0, 1126856.92 510876.415 0, 1127158.178 510883.89 0, 1127459.435 510891.383 0,
+ 1127760.692 510898.894 0, 1128061.948 510906.423 0, 1128363.203 510913.969 0, 1128664.459 510921.533 0, 1128965.714 510929.115 0, 1129266.968 510936.715 0, 1129568.222 510944.332 0, 1129869.475 510951.967 0, 1130169.292 510959.583 0, 1130310.602 505403.221 0,
+ 1130451.902 499847.262 0))
+
+POLYGON ((1144628.891 511347.761 0, 1144329.095 511339.298 0, 1144027.864 511330.812 0, 1143726.633 511322.344 0, 1143425.401 511313.893 0, 1143124.169 511305.46 0, 1142822.936 511297.045 0, 1142521.703 511288.648 0, 1142220.469 511280.268 0, 1141919.235 511271.906 0,
+ 1141618 511263.562 0, 1141316.765 511255.235 0, 1141015.53 511246.926 0, 1140714.293 511238.635 0, 1140413.057 511230.362 0, 1140111.82 511222.107 0, 1139810.582 511213.869 0, 1139509.344 511205.649 0, 1139208.105 511197.446 0, 1138906.866 511189.262 0,
+ 1138605.627 511181.095 0, 1138304.387 511172.946 0, 1138003.146 511164.814 0, 1137701.905 511156.7 0, 1137399.228 511148.566 0, 1137099.422 511140.526 0, 1136798.179 511132.466 0, 1136496.937 511124.423 0, 1136195.693 511116.398 0, 1135894.449 511108.39 0,
+ 1135593.205 511100.401 0, 1135291.96 511092.429 0, 1134990.715 511084.475 0, 1134689.469 511076.538 0, 1134388.223 511068.62 0, 1134086.977 511060.719 0, 1133785.73 511052.835 0, 1133484.482 511044.97 0, 1133183.234 511037.122 0, 1132881.985 511029.292 0,
+ 1132580.736 511021.48 0, 1132279.487 511013.685 0, 1131978.237 511005.908 0, 1131676.987 510998.149 0, 1131375.736 510990.408 0, 1131074.485 510982.684 0, 1130773.233 510974.978 0, 1130471.981 510967.29 0, 1130169.292 510959.583 0, 1130027.971 516516.344 0,
+ 1129886.641 522073.501 0, 1130188.673 522081.191 0, 1130489.271 522088.863 0, 1130789.869 522096.552 0, 1131090.466 522104.259 0, 1131391.062 522111.984 0, 1131691.658 522119.726 0, 1131992.254 522127.486 0, 1132292.849 522135.263 0, 1132593.444 522143.059 0,
+ 1132894.039 522150.872 0, 1133194.633 522158.702 0, 1133495.226 522166.551 0, 1133795.819 522174.417 0, 1134096.411 522182.301 0, 1134397.003 522190.202 0, 1134697.595 522198.122 0, 1134998.186 522206.058 0, 1135298.777 522214.013 0, 1135599.367 522221.985 0,
+ 1135899.957 522229.975 0, 1136200.546 522237.983 0, 1136501.135 522246.008 0, 1136801.723 522254.051 0, 1137100.878 522262.073 0, 1137402.898 522270.19 0, 1137703.485 522278.286 0, 1138004.071 522286.4 0, 1138304.657 522294.532 0, 1138605.243 522302.681 0,
+ 1138905.828 522310.848 0, 1139206.412 522319.032 0, 1139506.996 522327.235 0, 1139807.58 522335.455 0, 1140108.163 522343.692 0, 1140408.745 522351.948 0, 1140709.327 522360.221 0, 1141009.909 522368.511 0, 1141310.49 522376.82 0, 1141611.07 522385.146 0,
+ 1141911.65 522393.49 0, 1142212.23 522401.851 0, 1142512.809 522410.23 0, 1142813.388 522418.627 0, 1143113.966 522427.042 0, 1143414.543 522435.474 0, 1143715.121 522443.924 0, 1144015.697 522452.391 0, 1144314.842 522460.836 0, 1144471.872 516904.101 0,
+ 1144628.891 511347.761 0))
+
+POLYGON ((1158741.891 522888.932 0, 1158442.769 522879.642 0, 1158142.218 522870.325 0, 1157841.666 522861.026 0, 1157541.113 522851.745 0, 1157240.56 522842.481 0, 1156940.006 522833.235 0, 1156639.452 522824.007 0, 1156338.897 522814.796 0, 1156038.342 522805.603 0,
+ 1155737.786 522796.428 0, 1155437.23 522787.271 0, 1155136.673 522778.131 0, 1154836.115 522769.008 0, 1154535.557 522759.904 0, 1154234.999 522750.817 0, 1153934.44 522741.748 0, 1153633.88 522732.697 0, 1153333.32 522723.663 0, 1153032.759 522714.647 0,
+ 1152732.198 522705.648 0, 1152431.636 522696.668 0, 1152131.074 522687.705 0, 1151830.511 522678.759 0, 1151528.518 522669.789 0, 1151229.384 522660.922 0, 1150928.82 522652.03 0, 1150628.255 522643.155 0, 1150327.689 522634.298 0, 1150027.124 522625.459 0,
+ 1149726.557 522616.638 0, 1149425.99 522607.834 0, 1149125.423 522599.048 0, 1148824.855 522590.28 0, 1148524.286 522581.529 0, 1148223.717 522572.796 0, 1147923.148 522564.081 0, 1147622.577 522555.383 0, 1147322.007 522546.703 0, 1147021.436 522538.041 0,
+ 1146720.864 522529.396 0, 1146420.292 522520.769 0, 1146119.72 522512.16 0, 1145819.146 522503.569 0, 1145518.573 522494.995 0, 1145217.999 522486.439 0, 1144917.424 522477.901 0, 1144616.849 522469.38 0, 1144314.842 522460.836 0, 1144157.801 528017.965 0,
+ 1144000.749 533575.483 0, 1144302.099 533584.008 0, 1144602.02 533592.51 0, 1144901.94 533601.03 0, 1145201.86 533609.567 0, 1145501.779 533618.123 0, 1145801.698 533626.695 0, 1146101.617 533635.286 0, 1146401.535 533643.894 0, 1146701.452 533652.52 0,
+ 1147001.369 533661.163 0, 1147301.285 533669.824 0, 1147601.201 533678.503 0, 1147901.117 533687.199 0, 1148201.032 533695.913 0, 1148500.946 533704.645 0, 1148800.86 533713.394 0, 1149100.773 533722.161 0, 1149400.686 533730.945 0, 1149700.598 533739.748 0,
+ 1150000.51 533748.568 0, 1150300.421 533757.405 0, 1150600.332 533766.26 0, 1150900.242 533775.133 0, 1151198.725 533783.981 0, 1151500.061 533792.932 0, 1151799.97 533801.858 0, 1152099.878 533810.801 0, 1152399.785 533819.762 0, 1152699.692 533828.741 0,
+ 1152999.599 533837.738 0, 1153299.505 533846.752 0, 1153599.41 533855.783 0, 1153899.315 533864.833 0, 1154199.22 533873.9 0, 1154499.123 533882.984 0, 1154799.027 533892.087 0, 1155098.93 533901.207 0, 1155398.832 533910.344 0, 1155698.734 533919.5 0,
+ 1155998.635 533928.673 0, 1156298.535 533937.863 0, 1156598.435 533947.072 0, 1156898.335 533956.297 0, 1157198.234 533965.541 0, 1157498.132 533974.802 0, 1157798.03 533984.081 0, 1158097.928 533993.378 0, 1158396.399 534002.647 0, 1158569.151 528445.595 0,
+ 1158741.891 522888.932 0))
+
+POLYGON ((1172790.784 534470.48 0, 1172492.338 534460.367 0, 1172192.468 534450.223 0, 1171892.598 534440.097 0, 1171592.727 534429.989 0, 1171292.855 534419.898 0, 1170992.983 534409.825 0, 1170693.11 534399.769 0, 1170393.236 534389.732 0, 1170093.362 534379.711 0,
+ 1169793.488 534369.709 0, 1169493.612 534359.724 0, 1169193.737 534349.757 0, 1168893.86 534339.807 0, 1168593.983 534329.875 0, 1168294.106 534319.961 0, 1167994.227 534310.064 0, 1167694.349 534300.185 0, 1167394.469 534290.324 0, 1167094.589 534280.48 0,
+ 1166794.709 534270.654 0, 1166494.828 534260.846 0, 1166194.946 534251.055 0, 1165895.064 534241.282 0, 1165593.757 534231.48 0, 1165295.298 534221.789 0, 1164995.414 534212.069 0, 1164695.529 534202.366 0, 1164395.644 534192.682 0, 1164095.759 534183.014 0,
+ 1163795.872 534173.365 0, 1163495.986 534163.733 0, 1163196.098 534154.119 0, 1162896.21 534144.522 0, 1162596.322 534134.943 0, 1162296.433 534125.382 0, 1161996.543 534115.838 0, 1161696.653 534106.312 0, 1161396.762 534096.804 0, 1161096.871 534087.313 0,
+ 1160796.979 534077.84 0, 1160497.087 534068.385 0, 1160197.194 534058.947 0, 1159897.3 534049.527 0, 1159597.406 534040.125 0, 1159297.512 534030.74 0, 1158997.617 534021.373 0, 1158697.721 534012.023 0, 1158396.399 534002.647 0, 1158223.634 539560.086 0,
+ 1158050.858 545117.909 0, 1158351.523 545127.265 0, 1158650.764 545136.594 0, 1158950.005 545145.94 0, 1159249.246 545155.305 0, 1159548.486 545164.687 0, 1159847.725 545174.086 0, 1160146.964 545183.503 0, 1160446.202 545192.938 0, 1160745.439 545202.39 0,
+ 1161044.676 545211.86 0, 1161343.913 545221.348 0, 1161643.149 545230.853 0, 1161942.384 545240.376 0, 1162241.619 545249.916 0, 1162540.853 545259.474 0, 1162840.087 545269.05 0, 1163139.32 545278.643 0, 1163438.553 545288.254 0, 1163737.785 545297.883 0,
+ 1164037.016 545307.529 0, 1164336.247 545317.192 0, 1164635.478 545326.874 0, 1164934.707 545336.573 0, 1165232.515 545346.243 0, 1165533.165 545356.023 0, 1165832.393 545365.775 0, 1166131.621 545375.544 0, 1166430.847 545385.331 0, 1166730.074 545395.136 0,
+ 1167029.299 545404.958 0, 1167328.525 545414.798 0, 1167627.749 545424.655 0, 1167926.973 545434.53 0, 1168226.197 545444.423 0, 1168525.419 545454.333 0, 1168824.642 545464.261 0, 1169123.863 545474.207 0, 1169423.084 545484.17 0, 1169722.305 545494.151 0,
+ 1170021.525 545504.149 0, 1170320.744 545514.165 0, 1170619.963 545524.198 0, 1170919.181 545534.249 0, 1171218.398 545544.318 0, 1171517.615 545554.405 0, 1171816.832 545564.509 0, 1172116.047 545574.63 0, 1172413.842 545584.721 0, 1172602.32 540027.409 0,
+ 1172790.784 534470.48 0))
+
+POLYGON ((1186775.45 546092.11 0, 1186477.683 546081.177 0, 1186178.497 546070.21 0, 1185879.31 546059.261 0, 1185580.123 546048.329 0, 1185280.935 546037.415 0, 1184981.747 546026.519 0, 1184682.557 546015.64 0, 1184383.368 546004.779 0, 1184084.177 545993.935 0,
+ 1183784.986 545983.109 0, 1183485.794 545972.301 0, 1183186.602 545961.51 0, 1182887.409 545950.737 0, 1182588.215 545939.981 0, 1182289.021 545929.243 0, 1181989.826 545918.523 0, 1181690.631 545907.82 0, 1181391.435 545897.135 0, 1181092.238 545886.467 0,
+ 1180793.04 545875.817 0, 1180493.842 545865.185 0, 1180194.644 545854.57 0, 1179895.444 545843.973 0, 1179594.826 545833.344 0, 1179297.044 545822.832 0, 1178997.843 545812.288 0, 1178698.641 545801.761 0, 1178399.439 545791.252 0, 1178100.236 545780.761 0,
+ 1177801.032 545770.287 0, 1177501.828 545759.831 0, 1177202.623 545749.392 0, 1176903.417 545738.971 0, 1176604.211 545728.568 0, 1176305.005 545718.182 0, 1176005.797 545707.814 0, 1175706.589 545697.463 0, 1175407.381 545687.13 0, 1175108.172 545676.815 0,
+ 1174808.962 545666.517 0, 1174509.752 545656.237 0, 1174210.541 545645.975 0, 1173911.329 545635.73 0, 1173612.117 545625.502 0, 1173312.904 545615.293 0, 1173013.691 545605.101 0, 1172714.477 545594.926 0, 1172413.842 545584.721 0, 1172225.352 551142.414 0,
+ 1172036.849 556700.484 0, 1172336.826 556710.667 0, 1172635.386 556720.819 0, 1172933.945 556730.988 0, 1173232.504 556741.176 0, 1173531.061 556751.381 0, 1173829.619 556761.603 0, 1174128.175 556771.843 0, 1174426.732 556782.101 0, 1174725.287 556792.376 0,
+ 1175023.842 556802.669 0, 1175322.396 556812.979 0, 1175620.95 556823.307 0, 1175919.503 556833.653 0, 1176218.055 556844.016 0, 1176516.607 556854.396 0, 1176815.158 556864.794 0, 1177113.709 556875.21 0, 1177412.259 556885.644 0, 1177710.808 556896.094 0,
+ 1178009.357 556906.563 0, 1178307.905 556917.049 0, 1178606.453 556927.553 0, 1178905 556938.074 0, 1179202.13 556948.563 0, 1179502.092 556959.169 0, 1179800.637 556969.743 0, 1180099.181 556980.334 0, 1180397.725 556990.944 0, 1180696.268 557001.57 0,
+ 1180994.811 557012.214 0, 1181293.353 557022.876 0, 1181591.894 557033.555 0, 1181890.435 557044.252 0, 1182188.975 557054.967 0, 1182487.514 557065.699 0, 1182786.053 557076.449 0, 1183084.591 557087.216 0, 1183383.129 557098.001 0, 1183681.666 557108.803 0,
+ 1183980.202 557119.623 0, 1184278.738 557130.46 0, 1184577.273 557141.315 0, 1184875.807 557152.188 0, 1185174.341 557163.078 0, 1185472.874 557173.986 0, 1185771.406 557184.911 0, 1186069.938 557195.854 0, 1186367.054 557206.763 0, 1186571.259 551649.248 0,
+ 1186775.45 546092.11 0))
+
+POLYGON ((1200695.772 557753.525 0, 1200398.685 557741.777 0, 1200100.186 557729.991 0, 1199801.685 557718.222 0, 1199503.184 557706.471 0, 1199204.683 557694.738 0, 1198906.18 557683.022 0, 1198607.677 557671.323 0, 1198309.173 557659.642 0, 1198010.669 557647.979 0,
+ 1197712.164 557636.333 0, 1197413.658 557624.705 0, 1197115.151 557613.094 0, 1196816.644 557601.501 0, 1196518.136 557589.926 0, 1196219.628 557578.368 0, 1195921.118 557566.828 0, 1195622.608 557555.305 0, 1195324.098 557543.8 0, 1195025.586 557532.312 0,
+ 1194727.074 557520.842 0, 1194428.562 557509.39 0, 1194130.048 557497.955 0, 1193831.534 557486.538 0, 1193531.606 557475.084 0, 1193234.504 557463.756 0, 1192935.988 557452.391 0, 1192637.472 557441.044 0, 1192338.954 557429.715 0, 1192040.436 557418.403 0,
+ 1191741.918 557407.108 0, 1191443.398 557395.832 0, 1191144.878 557384.572 0, 1190846.358 557373.331 0, 1190547.836 557362.107 0, 1190249.314 557350.9 0, 1189950.792 557339.711 0, 1189652.268 557328.54 0, 1189353.744 557317.386 0, 1189055.22 557306.25 0,
+ 1188756.695 557295.131 0, 1188458.169 557284.03 0, 1188159.642 557272.947 0, 1187861.115 557261.881 0, 1187562.587 557250.833 0, 1187264.058 557239.802 0, 1186965.529 557228.789 0, 1186666.999 557217.793 0, 1186367.054 557206.763 0, 1186162.836 562764.652 0,
+ 1185958.603 568322.912 0, 1186257.891 568333.918 0, 1186555.767 568344.89 0, 1186853.641 568355.879 0, 1187151.516 568366.885 0, 1187449.389 568377.909 0, 1187747.262 568388.951 0, 1188045.135 568400.01 0, 1188343.006 568411.087 0, 1188640.877 568422.181 0,
+ 1188938.748 568433.293 0, 1189236.617 568444.422 0, 1189534.486 568455.569 0, 1189832.355 568466.734 0, 1190130.223 568477.915 0, 1190428.09 568489.115 0, 1190725.956 568500.332 0, 1191023.822 568511.566 0, 1191321.687 568522.818 0, 1191619.551 568534.088 0,
+ 1191917.415 568545.375 0, 1192215.278 568556.68 0, 1192513.141 568568.002 0, 1192811.002 568579.342 0, 1193107.453 568590.645 0, 1193406.724 568602.074 0, 1193704.584 568613.466 0, 1194002.443 568624.876 0, 1194300.301 568636.303 0, 1194598.159 568647.748 0,
+ 1194896.016 568659.21 0, 1195193.872 568670.69 0, 1195491.728 568682.188 0, 1195789.583 568693.703 0, 1196087.438 568705.236 0, 1196385.291 568716.786 0, 1196683.144 568728.353 0, 1196980.997 568739.938 0, 1197278.848 568751.541 0, 1197576.699 568763.161 0,
+ 1197874.549 568774.799 0, 1198172.399 568786.454 0, 1198470.248 568798.127 0, 1198768.096 568809.817 0, 1199065.944 568821.525 0, 1199363.79 568833.251 0, 1199661.637 568844.994 0, 1199959.482 568856.754 0, 1200255.918 568868.476 0, 1200475.852 563310.815 0,
+ 1200695.772 557753.525 0))
+
+POLYGON ((1214551.634 569454.431 0, 1214255.23 569441.871 0, 1213957.419 569429.269 0, 1213659.607 569416.685 0, 1213361.795 569404.118 0, 1213063.982 569391.569 0, 1212766.168 569379.037 0, 1212468.353 569366.523 0, 1212170.537 569354.026 0, 1211872.721 569341.547 0,
+ 1211574.904 569329.085 0, 1211277.087 569316.641 0, 1210979.268 569304.214 0, 1210681.449 569291.805 0, 1210383.629 569279.414 0, 1210085.809 569267.04 0, 1209787.987 569254.683 0, 1209490.165 569242.344 0, 1209192.342 569230.023 0, 1208894.519 569217.719 0,
+ 1208596.695 569205.433 0, 1208298.87 569193.164 0, 1208001.044 569180.913 0, 1207703.218 569168.679 0, 1207403.983 569156.405 0, 1207107.563 569144.264 0, 1206809.734 569132.083 0, 1206511.905 569119.919 0, 1206214.075 569107.773 0, 1205916.244 569095.644 0,
+ 1205618.413 569083.533 0, 1205320.581 569071.44 0, 1205022.748 569059.364 0, 1204724.914 569047.305 0, 1204427.08 569035.264 0, 1204129.245 569023.241 0, 1203831.41 569011.235 0, 1203533.573 568999.247 0, 1203235.736 568987.276 0, 1202937.898 568975.323 0,
+ 1202640.06 568963.387 0, 1202342.221 568951.469 0, 1202044.381 568939.568 0, 1201746.54 568927.685 0, 1201448.699 568915.819 0, 1201150.857 568903.971 0, 1200853.014 568892.141 0, 1200555.171 568880.327 0, 1200255.918 568868.476 0, 1200035.969 574426.505 0,
+ 1199816.005 579984.898 0, 1200114.601 579996.723 0, 1200411.79 580008.51 0, 1200708.978 580020.315 0, 1201006.166 580032.137 0, 1201303.353 580043.976 0, 1201600.539 580055.833 0, 1201897.725 580067.708 0, 1202194.91 580079.6 0, 1202492.094 580091.51 0,
+ 1202789.277 580103.437 0, 1203086.46 580115.381 0, 1203383.642 580127.343 0, 1203680.824 580139.323 0, 1203978.004 580151.32 0, 1204275.184 580163.334 0, 1204572.364 580175.366 0, 1204869.542 580187.416 0, 1205166.72 580199.483 0, 1205463.897 580211.567 0,
+ 1205761.074 580223.669 0, 1206058.249 580235.788 0, 1206355.424 580247.925 0, 1206652.599 580260.08 0, 1206948.367 580272.194 0, 1207246.945 580284.441 0, 1207544.117 580296.648 0, 1207841.289 580308.872 0, 1208138.459 580321.114 0, 1208435.629 580333.374 0,
+ 1208732.799 580345.65 0, 1209029.967 580357.945 0, 1209327.135 580370.257 0, 1209624.302 580382.586 0, 1209921.468 580394.933 0, 1210218.634 580407.297 0, 1210515.799 580419.679 0, 1210812.963 580432.078 0, 1211110.126 580444.495 0, 1211407.289 580456.929 0,
+ 1211704.451 580469.381 0, 1212001.612 580481.85 0, 1212298.773 580494.337 0, 1212595.933 580506.841 0, 1212893.092 580519.363 0, 1213190.25 580531.902 0, 1213487.408 580544.459 0, 1213784.564 580557.033 0, 1214080.317 580569.565 0, 1214315.983 575011.816 0,
+ 1214551.634 569454.431 0))
+
+POLYGON ((1228342.92 581194.529 0, 1228047.202 581181.161 0, 1227750.082 581167.748 0, 1227452.961 581154.352 0, 1227155.839 581140.973 0, 1226858.717 581127.612 0, 1226561.593 581114.268 0, 1226264.469 581100.942 0, 1225967.345 581087.633 0, 1225670.219 581074.342 0,
+ 1225373.093 581061.068 0, 1225075.965 581047.812 0, 1224778.837 581034.573 0, 1224481.709 581021.352 0, 1224184.579 581008.148 0, 1223887.449 580994.962 0, 1223590.318 580981.793 0, 1223293.186 580968.641 0, 1222996.053 580955.508 0, 1222698.92 580942.391 0,
+ 1222401.786 580929.292 0, 1222104.651 580916.211 0, 1221807.515 580903.147 0, 1221510.379 580890.101 0, 1221211.839 580877.01 0, 1220916.104 580864.06 0, 1220618.965 580851.066 0, 1220321.825 580838.09 0, 1220024.685 580825.131 0, 1219727.544 580812.19 0,
+ 1219430.402 580799.266 0, 1219133.26 580786.359 0, 1218836.116 580773.47 0, 1218538.972 580760.599 0, 1218241.827 580747.745 0, 1217944.682 580734.908 0, 1217647.535 580722.089 0, 1217350.388 580709.287 0, 1217053.24 580696.503 0, 1216756.092 580683.737 0,
+ 1216458.942 580670.988 0, 1216161.792 580658.256 0, 1215864.641 580645.542 0, 1215567.49 580632.845 0, 1215270.337 580620.166 0, 1214973.184 580607.505 0, 1214676.03 580594.86 0, 1214378.876 580582.234 0, 1214080.317 580569.565 0, 1213844.635 586127.676 0,
+ 1213608.939 591686.145 0, 1213906.84 591698.785 0, 1214203.341 591711.384 0, 1214499.84 591724 0, 1214796.339 591736.634 0, 1215092.837 591749.285 0, 1215389.334 591761.954 0, 1215685.831 591774.64 0, 1215982.327 591787.344 0, 1216278.822 591800.065 0,
+ 1216575.316 591812.803 0, 1216871.81 591825.559 0, 1217168.303 591838.333 0, 1217464.795 591851.123 0, 1217761.286 591863.932 0, 1218057.777 591876.757 0, 1218354.266 591889.601 0, 1218650.755 591902.461 0, 1218947.244 591915.339 0, 1219243.731 591928.235 0,
+ 1219540.218 591941.148 0, 1219836.704 591954.078 0, 1220133.189 591967.026 0, 1220429.674 591979.991 0, 1220724.758 591992.913 0, 1221022.641 592005.974 0, 1221319.123 592018.992 0, 1221615.604 592032.027 0, 1221912.085 592045.08 0, 1222208.565 592058.15 0,
+ 1222505.044 592071.237 0, 1222801.522 592084.342 0, 1223098 592097.465 0, 1223394.477 592110.604 0, 1223690.953 592123.762 0, 1223987.428 592136.936 0, 1224283.902 592150.129 0, 1224580.376 592163.338 0, 1224876.849 592176.565 0, 1225173.321 592189.81 0,
+ 1225469.793 592203.072 0, 1225766.263 592216.351 0, 1226062.733 592229.648 0, 1226359.202 592242.962 0, 1226655.67 592256.294 0, 1226952.138 592269.643 0, 1227248.605 592283.01 0, 1227545.07 592296.394 0, 1227840.138 592309.733 0, 1228091.537 586751.952 0,
+ 1228342.92 581194.529 0))
+
+POLYGON ((1242069.518 592973.524 0, 1241774.487 592959.352 0, 1241478.06 592945.13 0, 1241181.633 592930.926 0, 1240885.204 592916.739 0, 1240588.775 592902.57 0, 1240292.344 592888.418 0, 1239995.913 592874.284 0, 1239699.481 592860.167 0, 1239403.049 592846.067 0,
+ 1239106.615 592831.985 0, 1238810.181 592817.921 0, 1238513.745 592803.873 0, 1238217.309 592789.844 0, 1237920.873 592775.831 0, 1237624.435 592761.837 0, 1237327.996 592747.859 0, 1237031.557 592733.899 0, 1236735.117 592719.957 0, 1236438.676 592706.032 0,
+ 1236142.234 592692.124 0, 1235845.792 592678.234 0, 1235549.348 592664.361 0, 1235252.904 592650.506 0, 1234955.062 592636.603 0, 1234660.013 592622.848 0, 1234363.566 592609.045 0, 1234067.119 592595.26 0, 1233770.67 592581.492 0, 1233474.221 592567.741 0,
+ 1233177.771 592554.008 0, 1232881.321 592540.292 0, 1232584.869 592526.594 0, 1232288.417 592512.913 0, 1231991.964 592499.25 0, 1231695.51 592485.604 0, 1231399.055 592471.976 0, 1231102.599 592458.365 0, 1230806.143 592444.771 0, 1230509.686 592431.195 0,
+ 1230213.228 592417.637 0, 1229916.769 592404.095 0, 1229620.309 592390.572 0, 1229323.849 592377.065 0, 1229027.388 592363.577 0, 1228730.926 592350.105 0, 1228434.463 592336.651 0, 1228138 592323.215 0, 1227840.138 592309.733 0, 1227588.722 597867.868 0,
+ 1227337.291 603426.355 0, 1227634.496 603439.808 0, 1227930.305 603453.215 0, 1228226.113 603466.639 0, 1228521.921 603480.08 0, 1228817.728 603493.539 0, 1229113.534 603507.016 0, 1229409.339 603520.51 0, 1229705.144 603534.021 0, 1230000.947 603547.55 0,
+ 1230296.75 603561.096 0, 1230592.552 603574.659 0, 1230888.353 603588.24 0, 1231184.154 603601.839 0, 1231479.954 603615.454 0, 1231775.753 603629.088 0, 1232071.551 603642.738 0, 1232367.348 603656.406 0, 1232663.144 603670.091 0, 1232958.94 603683.794 0,
+ 1233254.735 603697.514 0, 1233550.529 603711.252 0, 1233846.322 603725.007 0, 1234142.115 603738.78 0, 1234436.512 603752.504 0, 1234733.697 603766.377 0, 1235029.487 603780.201 0, 1235325.276 603794.043 0, 1235621.064 603807.903 0, 1235916.852 603821.78 0,
+ 1236212.639 603835.674 0, 1236508.425 603849.586 0, 1236804.21 603863.515 0, 1237099.994 603877.461 0, 1237395.777 603891.425 0, 1237691.56 603905.407 0, 1237987.342 603919.405 0, 1238283.123 603933.422 0, 1238578.903 603947.455 0, 1238874.682 603961.506 0,
+ 1239170.461 603975.575 0, 1239466.238 603989.66 0, 1239762.015 604003.764 0, 1240057.791 604017.884 0, 1240353.566 604032.022 0, 1240649.341 604046.178 0, 1240945.114 604060.351 0, 1241240.887 604074.541 0, 1241535.266 604088.682 0, 1241802.4 598530.927 0,
+ 1242069.518 592973.524 0))
+
+POLYGON ((1255731.314 604791.117 0, 1255436.974 604776.145 0, 1255141.242 604761.119 0, 1254845.51 604746.11 0, 1254549.777 604731.119 0, 1254254.043 604716.146 0, 1253958.308 604701.19 0, 1253662.572 604686.251 0, 1253366.835 604671.329 0, 1253071.098 604656.425 0,
+ 1252775.359 604641.539 0, 1252479.62 604626.67 0, 1252183.88 604611.818 0, 1251888.139 604596.984 0, 1251592.397 604582.167 0, 1251296.654 604567.367 0, 1251000.91 604552.585 0, 1250705.166 604537.82 0, 1250409.42 604523.073 0, 1250113.674 604508.343 0,
+ 1249817.927 604493.631 0, 1249522.179 604478.936 0, 1249226.43 604464.258 0, 1248930.68 604449.598 0, 1248633.538 604434.886 0, 1248339.178 604420.329 0, 1248043.426 604405.721 0, 1247747.673 604391.131 0, 1247451.919 604376.557 0, 1247156.164 604362.002 0,
+ 1246860.408 604347.463 0, 1246564.651 604332.942 0, 1246268.894 604318.439 0, 1245973.135 604303.952 0, 1245677.376 604289.484 0, 1245381.616 604275.032 0, 1245085.855 604260.598 0, 1244790.094 604246.182 0, 1244494.331 604231.783 0, 1244198.568 604217.401 0,
+ 1243902.803 604203.036 0, 1243607.038 604188.69 0, 1243311.272 604174.36 0, 1243015.505 604160.048 0, 1242719.738 604145.753 0, 1242423.969 604131.476 0, 1242128.2 604117.216 0, 1241832.43 604102.974 0, 1241535.266 604088.682 0, 1241268.116 609646.784 0,
+ 1241000.948 615205.232 0, 1241297.454 615219.493 0, 1241592.57 615233.704 0, 1241887.685 615247.932 0, 1242182.799 615262.178 0, 1242477.913 615276.441 0, 1242773.025 615290.721 0, 1243068.137 615305.019 0, 1243363.248 615319.334 0, 1243658.358 615333.667 0,
+ 1243953.467 615348.017 0, 1244248.575 615362.384 0, 1244543.683 615376.769 0, 1244838.789 615391.171 0, 1245133.895 615405.59 0, 1245429 615420.027 0, 1245724.104 615434.481 0, 1246019.207 615448.953 0, 1246314.31 615463.442 0, 1246609.411 615477.948 0,
+ 1246904.512 615492.471 0, 1247199.611 615507.012 0, 1247494.71 615521.571 0, 1247789.808 615536.147 0, 1248083.518 615550.671 0, 1248380.002 615565.35 0, 1248675.098 615579.978 0, 1248970.192 615594.623 0, 1249265.286 615609.286 0, 1249560.379 615623.966 0,
+ 1249855.471 615638.663 0, 1250150.562 615653.378 0, 1250445.652 615668.11 0, 1250740.742 615682.859 0, 1251035.83 615697.626 0, 1251330.918 615712.41 0, 1251626.005 615727.212 0, 1251921.091 615742.031 0, 1252216.176 615756.867 0, 1252511.26 615771.72 0,
+ 1252806.344 615786.591 0, 1253101.426 615801.48 0, 1253396.508 615816.385 0, 1253691.588 615831.309 0, 1253986.668 615846.249 0, 1254281.747 615861.207 0, 1254576.825 615876.182 0, 1254871.902 615891.175 0, 1255165.592 615906.114 0, 1255448.462 610348.443 0,
+ 1255731.314 604791.117 0))
+
+POLYGON ((1269328.199 616647.011 0, 1269034.551 616631.241 0, 1268739.517 616615.415 0, 1268444.482 616599.606 0, 1268149.447 616583.815 0, 1267854.41 616568.041 0, 1267559.373 616552.284 0, 1267264.335 616536.545 0, 1266969.296 616520.823 0, 1266674.255 616505.118 0,
+ 1266379.214 616489.431 0, 1266084.172 616473.761 0, 1265789.129 616458.109 0, 1265494.086 616442.474 0, 1265199.041 616426.856 0, 1264903.995 616411.255 0, 1264608.948 616395.672 0, 1264313.901 616380.107 0, 1264018.853 616364.558 0, 1263723.803 616349.027 0,
+ 1263428.753 616333.514 0, 1263133.702 616318.018 0, 1262838.65 616302.539 0, 1262543.597 616287.077 0, 1262247.157 616271.561 0, 1261953.488 616256.207 0, 1261658.432 616240.797 0, 1261363.376 616225.405 0, 1261068.318 616210.03 0, 1260773.26 616194.673 0,
+ 1260478.2 616179.333 0, 1260183.14 616164.011 0, 1259888.079 616148.706 0, 1259593.017 616133.418 0, 1259297.954 616118.147 0, 1259002.89 616102.894 0, 1258707.825 616087.659 0, 1258412.76 616072.44 0, 1258117.693 616057.239 0, 1257822.626 616042.056 0,
+ 1257527.557 616026.889 0, 1257232.488 616011.74 0, 1256937.418 615996.609 0, 1256642.347 615981.495 0, 1256347.275 615966.398 0, 1256052.202 615951.319 0, 1255757.129 615936.257 0, 1255462.054 615921.212 0, 1255165.592 615906.114 0, 1254882.705 621464.127 0,
+ 1254599.8 627022.478 0, 1254895.605 627037.543 0, 1255190.025 627052.554 0, 1255484.445 627067.582 0, 1255778.863 627082.628 0, 1256073.281 627097.692 0, 1256367.697 627112.772 0, 1256662.113 627127.87 0, 1256956.528 627142.986 0, 1257250.942 627158.118 0,
+ 1257545.355 627173.268 0, 1257839.768 627188.435 0, 1258134.179 627203.62 0, 1258428.589 627218.822 0, 1258722.999 627234.041 0, 1259017.408 627249.278 0, 1259311.815 627264.532 0, 1259606.222 627279.803 0, 1259900.628 627295.092 0, 1260195.033 627310.397 0,
+ 1260489.438 627325.721 0, 1260783.841 627341.061 0, 1261078.243 627356.419 0, 1261372.645 627371.794 0, 1261665.663 627387.115 0, 1261961.445 627402.597 0, 1262255.844 627418.024 0, 1262550.242 627433.468 0, 1262844.639 627448.93 0, 1263139.035 627464.409 0,
+ 1263433.43 627479.906 0, 1263727.824 627495.42 0, 1264022.217 627510.951 0, 1264316.61 627526.499 0, 1264611.001 627542.065 0, 1264905.392 627557.648 0, 1265199.781 627573.249 0, 1265494.17 627588.867 0, 1265788.558 627604.502 0, 1266082.945 627620.154 0,
+ 1266377.331 627635.824 0, 1266671.716 627651.511 0, 1266966.1 627667.216 0, 1267260.483 627682.937 0, 1267554.865 627698.676 0, 1267849.246 627714.433 0, 1268143.627 627730.207 0, 1268438.006 627745.998 0, 1268731.004 627761.732 0, 1269029.61 622204.202 0,
+ 1269328.199 616647.011 0))
+
+POLYGON ((1282860.062 628540.906 0, 1282567.108 628524.344 0, 1282272.775 628507.721 0, 1281978.44 628491.116 0, 1281684.104 628474.528 0, 1281389.768 628457.957 0, 1281095.43 628441.404 0, 1280801.092 628424.868 0, 1280506.752 628408.349 0, 1280212.412 628391.847 0,
+ 1279918.07 628375.363 0, 1279623.728 628358.897 0, 1279329.384 628342.447 0, 1279035.04 628326.015 0, 1278740.695 628309.6 0, 1278446.348 628293.203 0, 1278152.001 628276.823 0, 1277857.653 628260.46 0, 1277563.303 628244.114 0, 1277268.953 628227.786 0,
+ 1276974.602 628211.475 0, 1276680.25 628195.182 0, 1276385.897 628178.906 0, 1276091.543 628162.647 0, 1275795.808 628146.329 0, 1275502.832 628130.181 0, 1275208.475 628113.974 0, 1274914.118 628097.785 0, 1274619.759 628081.612 0, 1274325.399 628065.457 0,
+ 1274031.038 628049.32 0, 1273736.677 628033.2 0, 1273442.314 628017.097 0, 1273147.951 628001.011 0, 1272853.586 627984.943 0, 1272559.221 627968.892 0, 1272264.854 627952.858 0, 1271970.487 627936.842 0, 1271676.119 627920.843 0, 1271381.75 627904.861 0,
+ 1271087.38 627888.897 0, 1270793.009 627872.95 0, 1270498.637 627857.02 0, 1270204.264 627841.108 0, 1269909.89 627825.213 0, 1269615.515 627809.335 0, 1269321.139 627793.475 0, 1269026.762 627777.632 0, 1268731.004 627761.732 0, 1268432.379 633319.597 0,
+ 1268133.736 638877.794 0, 1268428.838 638893.658 0, 1268722.56 638909.466 0, 1269016.282 638925.291 0, 1269310.002 638941.134 0, 1269603.722 638956.994 0, 1269897.44 638972.871 0, 1270191.158 638988.765 0, 1270484.875 639004.676 0, 1270778.591 639020.605 0,
+ 1271072.306 639036.551 0, 1271366.02 639052.515 0, 1271659.733 639068.495 0, 1271953.445 639084.493 0, 1272247.156 639100.509 0, 1272540.866 639116.541 0, 1272834.576 639132.591 0, 1273128.284 639148.658 0, 1273421.991 639164.743 0, 1273715.698 639180.844 0,
+ 1274009.403 639196.963 0, 1274303.108 639213.1 0, 1274596.811 639229.253 0, 1274890.514 639245.424 0, 1275182.839 639261.536 0, 1275477.916 639277.818 0, 1275771.616 639294.041 0, 1276065.315 639310.281 0, 1276359.013 639326.538 0, 1276652.71 639342.812 0,
+ 1276946.406 639359.104 0, 1277240.101 639375.413 0, 1277533.795 639391.74 0, 1277827.488 639408.084 0, 1278121.18 639424.445 0, 1278414.871 639440.823 0, 1278708.561 639457.219 0, 1279002.251 639473.631 0, 1279295.939 639490.062 0, 1279589.626 639506.509 0,
+ 1279883.312 639522.974 0, 1280176.998 639539.456 0, 1280470.682 639555.955 0, 1280764.366 639572.472 0, 1281058.048 639589.006 0, 1281351.729 639605.557 0, 1281645.41 639622.125 0, 1281939.089 639638.711 0, 1282231.392 639655.236 0, 1282545.737 634097.905 0,
+ 1282860.062 628540.906 0))
+
+POLYGON ((1296326.796 640472.504 0, 1296034.539 640455.153 0, 1295740.907 640437.737 0, 1295447.275 640420.339 0, 1295153.641 640402.958 0, 1294860.006 640385.595 0, 1294566.371 640368.249 0, 1294272.734 640350.92 0, 1293979.097 640333.608 0, 1293685.458 640316.314 0,
+ 1293391.818 640299.036 0, 1293098.178 640281.777 0, 1292804.536 640264.534 0, 1292510.893 640247.309 0, 1292217.25 640230.101 0, 1291923.605 640212.91 0, 1291629.959 640195.737 0, 1291336.312 640178.581 0, 1291042.665 640161.442 0, 1290749.016 640144.32 0,
+ 1290455.366 640127.216 0, 1290161.715 640110.129 0, 1289868.064 640093.059 0, 1289574.411 640076.007 0, 1289279.383 640058.892 0, 1288987.102 640041.954 0, 1288693.447 640024.953 0, 1288399.79 640007.97 0, 1288106.132 639991.004 0, 1287812.473 639974.055 0,
+ 1287518.813 639957.124 0, 1287225.153 639940.21 0, 1286931.491 639923.313 0, 1286637.828 639906.433 0, 1286344.164 639889.571 0, 1286050.5 639872.726 0, 1285756.834 639855.898 0, 1285463.167 639839.088 0, 1285169.499 639822.295 0, 1284875.831 639805.519 0,
+ 1284582.161 639788.76 0, 1284288.49 639772.019 0, 1283994.819 639755.295 0, 1283701.146 639738.588 0, 1283407.472 639721.899 0, 1283113.798 639705.227 0, 1282820.122 639688.572 0, 1282526.446 639671.934 0, 1282231.392 639655.236 0, 1281917.029 645212.896 0,
+ 1281602.648 650770.881 0, 1281897.044 650787.542 0, 1282190.066 650804.142 0, 1282483.088 650820.76 0, 1282776.108 650837.395 0, 1283069.127 650854.047 0, 1283362.146 650870.717 0, 1283655.163 650887.404 0, 1283948.18 650904.108 0, 1284241.195 650920.829 0,
+ 1284534.21 650937.567 0, 1284827.223 650954.323 0, 1285120.236 650971.096 0, 1285413.247 650987.886 0, 1285706.258 651004.694 0, 1285999.267 651021.518 0, 1286292.276 651038.36 0, 1286585.283 651055.22 0, 1286878.29 651072.096 0, 1287171.296 651088.99 0,
+ 1287464.3 651105.901 0, 1287757.304 651122.829 0, 1288050.306 651139.774 0, 1288343.308 651156.737 0, 1288634.937 651173.638 0, 1288929.308 651190.714 0, 1289222.307 651207.729 0, 1289515.304 651224.76 0, 1289808.301 651241.809 0, 1290101.296 651258.875 0,
+ 1290394.291 651275.959 0, 1290687.285 651293.06 0, 1290980.277 651310.177 0, 1291273.269 651327.313 0, 1291566.259 651344.465 0, 1291859.249 651361.635 0, 1292152.237 651378.821 0, 1292445.225 651396.026 0, 1292738.211 651413.247 0, 1293031.197 651430.486 0,
+ 1293324.181 651447.741 0, 1293617.165 651465.015 0, 1293910.147 651482.305 0, 1294203.129 651499.612 0, 1294496.109 651516.937 0, 1294789.088 651534.279 0, 1295082.067 651551.639 0, 1295375.044 651569.015 0, 1295666.65 651586.328 0, 1295996.733 646029.253 0,
+ 1296326.796 640472.504 0))
+
+POLYGON ((1309728.292 652441.505 0, 1309436.734 652423.368 0, 1309143.807 652405.164 0, 1308850.879 652386.977 0, 1308557.95 652368.807 0, 1308265.02 652350.655 0, 1307972.088 652332.52 0, 1307679.156 652314.402 0, 1307386.222 652296.301 0, 1307093.288 652278.217 0,
+ 1306800.352 652260.151 0, 1306507.415 652242.102 0, 1306214.478 652224.07 0, 1305921.539 652206.056 0, 1305628.599 652188.058 0, 1305335.658 652170.078 0, 1305042.716 652152.115 0, 1304749.773 652134.17 0, 1304456.829 652116.242 0, 1304163.884 652098.33 0,
+ 1303870.938 652080.437 0, 1303577.99 652062.56 0, 1303285.042 652044.701 0, 1302992.093 652026.858 0, 1302697.773 652008.95 0, 1302406.191 651991.226 0, 1302113.238 651973.436 0, 1301820.285 651955.662 0, 1301527.33 651937.906 0, 1301234.375 651920.168 0,
+ 1300941.418 651902.446 0, 1300648.46 651884.742 0, 1300355.501 651867.055 0, 1300062.542 651849.385 0, 1299769.581 651831.733 0, 1299476.619 651814.098 0, 1299183.656 651796.48 0, 1298890.692 651778.879 0, 1298597.727 651761.296 0, 1298304.761 651743.729 0,
+ 1298011.794 651726.18 0, 1297718.826 651708.649 0, 1297425.857 651691.134 0, 1297132.887 651673.637 0, 1296839.915 651656.157 0, 1296546.943 651638.694 0, 1296253.97 651621.248 0, 1295960.996 651603.82 0, 1295666.65 651586.328 0, 1295336.549 657143.724 0,
+ 1295006.428 662701.439 0, 1295300.116 662718.893 0, 1295592.436 662736.282 0, 1295884.755 662753.689 0, 1296177.073 662771.113 0, 1296469.39 662788.554 0, 1296761.706 662806.012 0, 1297054.021 662823.487 0, 1297346.335 662840.98 0, 1297638.648 662858.49 0,
+ 1297930.96 662876.017 0, 1298223.271 662893.561 0, 1298515.58 662911.122 0, 1298807.889 662928.701 0, 1299100.197 662946.297 0, 1299392.504 662963.91 0, 1299684.809 662981.54 0, 1299977.114 662999.188 0, 1300269.417 663016.852 0, 1300561.72 663034.534 0,
+ 1300854.021 663052.233 0, 1301146.322 663069.949 0, 1301438.621 663087.683 0, 1301730.919 663105.434 0, 1302021.851 663123.118 0, 1302315.513 663140.987 0, 1302607.808 663158.789 0, 1302900.102 663176.608 0, 1303192.395 663194.445 0, 1303484.688 663212.299 0,
+ 1303776.979 663230.17 0, 1304069.268 663248.058 0, 1304361.557 663265.964 0, 1304653.845 663283.887 0, 1304946.132 663301.827 0, 1305238.418 663319.784 0, 1305530.702 663337.758 0, 1305822.986 663355.75 0, 1306115.269 663373.758 0, 1306407.55 663391.784 0,
+ 1306699.83 663409.827 0, 1306992.11 663427.888 0, 1307284.388 663445.965 0, 1307576.665 663464.06 0, 1307868.942 663482.172 0, 1308161.217 663500.301 0, 1308453.491 663518.447 0, 1308745.764 663536.611 0, 1309036.671 663554.707 0, 1309382.492 657997.946 0,
+ 1309728.292 652441.505 0))
+
+POLYGON ((1323064.447 664447.609 0, 1322773.59 664428.691 0, 1322481.369 664409.702 0, 1322189.148 664390.73 0, 1321896.925 664371.775 0, 1321604.701 664352.837 0, 1321312.476 664333.917 0, 1321020.25 664315.014 0, 1320728.023 664296.128 0, 1320435.795 664277.259 0,
+ 1320143.565 664258.407 0, 1319851.335 664239.573 0, 1319559.103 664220.756 0, 1319266.87 664201.956 0, 1318974.637 664183.173 0, 1318682.402 664164.407 0, 1318390.166 664145.659 0, 1318097.929 664126.928 0, 1317805.69 664108.214 0, 1317513.451 664089.517 0,
+ 1317221.21 664070.837 0, 1316928.969 664052.175 0, 1316636.726 664033.53 0, 1316344.483 664014.901 0, 1316050.874 663996.204 0, 1315759.992 663977.697 0, 1315467.745 663959.121 0, 1315175.497 663940.561 0, 1314883.247 663922.019 0, 1314590.997 663903.495 0,
+ 1314298.746 663884.987 0, 1314006.493 663866.497 0, 1313714.24 663848.023 0, 1313421.985 663829.567 0, 1313129.729 663811.129 0, 1312837.473 663792.707 0, 1312545.215 663774.303 0, 1312252.956 663755.916 0, 1311960.696 663737.546 0, 1311668.434 663719.193 0,
+ 1311376.172 663700.857 0, 1311083.909 663682.539 0, 1310791.644 663664.238 0, 1310499.379 663645.954 0, 1310207.112 663627.687 0, 1309914.845 663609.437 0, 1309622.576 663591.205 0, 1309330.306 663572.99 0, 1309036.671 663554.707 0, 1308690.83 669111.782 0,
+ 1308344.971 674669.17 0, 1308637.949 674687.412 0, 1308929.565 674705.586 0, 1309221.179 674723.778 0, 1309512.793 674741.987 0, 1309804.405 674760.213 0, 1310096.016 674778.456 0, 1310387.627 674796.716 0, 1310679.236 674814.993 0, 1310970.844 674833.288 0,
+ 1311262.451 674851.599 0, 1311554.057 674869.928 0, 1311845.662 674888.274 0, 1312137.265 674906.638 0, 1312428.868 674925.018 0, 1312720.47 674943.415 0, 1313012.07 674961.83 0, 1313303.67 674980.262 0, 1313595.268 674998.711 0, 1313886.865 675017.177 0,
+ 1314178.461 675035.66 0, 1314470.056 675054.161 0, 1314761.65 675072.679 0, 1315053.243 675091.213 0, 1315343.475 675109.679 0, 1315636.426 675128.335 0, 1315928.015 675146.921 0, 1316219.604 675165.524 0, 1316511.191 675184.145 0, 1316802.778 675202.783 0,
+ 1317094.363 675221.438 0, 1317385.947 675240.11 0, 1317677.53 675258.799 0, 1317969.112 675277.506 0, 1318260.693 675296.229 0, 1318552.273 675314.97 0, 1318843.851 675333.728 0, 1319135.429 675352.503 0, 1319427.005 675371.295 0, 1319718.581 675390.105 0,
+ 1320010.155 675408.931 0, 1320301.728 675427.775 0, 1320593.3 675446.636 0, 1320884.871 675465.514 0, 1321176.441 675484.409 0, 1321468.009 675503.322 0, 1321759.577 675522.251 0, 1322051.143 675541.198 0, 1322341.349 675560.073 0, 1322702.908 670003.685 0,
+ 1323064.447 664447.609 0))
+
+POLYGON ((1336335.155 676490.516 0, 1336045.001 676470.82 0, 1335753.489 676451.05 0, 1335461.977 676431.297 0, 1335170.462 676411.561 0, 1334878.947 676391.842 0, 1334587.431 676372.14 0, 1334295.913 676352.455 0, 1334004.395 676332.788 0, 1333712.875 676313.138 0,
+ 1333421.354 676293.505 0, 1333129.832 676273.889 0, 1332838.308 676254.29 0, 1332546.784 676234.708 0, 1332255.258 676215.144 0, 1331963.731 676195.596 0, 1331672.203 676176.066 0, 1331380.674 676156.553 0, 1331089.144 676137.057 0, 1330797.613 676117.579 0,
+ 1330506.08 676098.117 0, 1330214.547 676078.673 0, 1329923.012 676059.246 0, 1329631.476 676039.836 0, 1329338.581 676020.353 0, 1329048.4 676001.067 0, 1328756.861 675981.709 0, 1328465.321 675962.367 0, 1328173.779 675943.043 0, 1327882.236 675923.736 0,
+ 1327590.692 675904.446 0, 1327299.147 675885.173 0, 1327007.601 675865.918 0, 1326716.054 675846.679 0, 1326424.505 675827.458 0, 1326132.956 675808.254 0, 1325841.405 675789.067 0, 1325549.853 675769.897 0, 1325258.3 675750.744 0, 1324966.746 675731.609 0,
+ 1324675.191 675712.491 0, 1324383.634 675693.389 0, 1324092.077 675674.305 0, 1323800.518 675655.239 0, 1323508.959 675636.189 0, 1323217.398 675617.156 0, 1322925.836 675598.141 0, 1322634.273 675579.143 0, 1322341.349 675560.073 0, 1321979.77 681116.77 0,
+ 1321618.171 686673.772 0, 1321910.438 686692.799 0, 1322201.346 686711.754 0, 1322492.254 686730.727 0, 1322783.161 686749.717 0, 1323074.067 686768.724 0, 1323364.971 686787.748 0, 1323655.874 686806.789 0, 1323946.777 686825.847 0, 1324237.678 686844.923 0,
+ 1324528.578 686864.015 0, 1324819.477 686883.125 0, 1325110.374 686902.252 0, 1325401.271 686921.396 0, 1325692.167 686940.557 0, 1325983.061 686959.735 0, 1326273.954 686978.93 0, 1326564.846 686998.142 0, 1326855.737 687017.372 0, 1327146.627 687036.619 0,
+ 1327437.516 687055.882 0, 1327728.403 687075.163 0, 1328019.29 687094.461 0, 1328310.175 687113.776 0, 1328599.704 687133.019 0, 1328891.942 687152.458 0, 1329182.824 687171.824 0, 1329473.705 687191.208 0, 1329764.585 687210.609 0, 1330055.463 687230.027 0,
+ 1330346.34 687249.462 0, 1330637.216 687268.914 0, 1330928.092 687288.383 0, 1331218.965 687307.869 0, 1331509.838 687327.373 0, 1331800.71 687346.893 0, 1332091.58 687366.431 0, 1332382.449 687385.986 0, 1332673.318 687405.558 0, 1332964.185 687425.147 0,
+ 1333255.05 687444.753 0, 1333545.915 687464.376 0, 1333836.779 687484.017 0, 1334127.641 687503.674 0, 1334418.502 687523.349 0, 1334709.362 687543.041 0, 1335000.221 687562.749 0, 1335291.079 687582.475 0, 1335580.582 687602.127 0, 1335957.879 682046.169 0,
+ 1336335.155 676490.516 0))
+
+POLYGON ((1349540.314 688569.924 0, 1349250.865 688549.455 0, 1348960.064 688528.907 0, 1348669.262 688508.377 0, 1348378.459 688487.863 0, 1348087.655 688467.367 0, 1347796.849 688446.888 0, 1347506.042 688426.426 0, 1347215.234 688405.981 0, 1346924.425 688385.553 0,
+ 1346633.614 688365.142 0, 1346342.802 688344.748 0, 1346051.99 688324.372 0, 1345761.176 688304.013 0, 1345470.36 688283.67 0, 1345179.544 688263.345 0, 1344888.726 688243.037 0, 1344597.907 688222.746 0, 1344307.087 688202.472 0, 1344016.266 688182.216 0,
+ 1343725.444 688161.976 0, 1343434.62 688141.754 0, 1343143.795 688121.549 0, 1342852.969 688101.36 0, 1342560.789 688081.095 0, 1342271.313 688061.035 0, 1341980.484 688040.898 0, 1341689.653 688020.779 0, 1341398.821 688000.676 0, 1341107.988 687980.591 0,
+ 1340817.154 687960.522 0, 1340526.318 687940.471 0, 1340235.482 687920.437 0, 1339944.644 687900.42 0, 1339653.805 687880.42 0, 1339362.965 687860.437 0, 1339072.123 687840.471 0, 1338781.281 687820.523 0, 1338490.437 687800.591 0, 1338199.592 687780.677 0,
+ 1337908.746 687760.78 0, 1337617.899 687740.9 0, 1337327.05 687721.037 0, 1337036.201 687701.191 0, 1336745.35 687681.362 0, 1336454.498 687661.551 0, 1336163.645 687641.756 0, 1335872.791 687621.979 0, 1335580.582 687602.127 0, 1335203.264 693158.386 0,
+ 1334825.926 698714.945 0, 1335117.478 698734.752 0, 1335407.679 698754.485 0, 1335697.878 698774.235 0, 1335988.075 698794.002 0, 1336278.272 698813.786 0, 1336568.468 698833.587 0, 1336858.662 698853.406 0, 1337148.855 698873.241 0, 1337439.047 698893.094 0,
+ 1337729.238 698912.963 0, 1338019.428 698932.85 0, 1338309.616 698952.753 0, 1338599.803 698972.674 0, 1338889.99 698992.612 0, 1339180.175 699012.567 0, 1339470.358 699032.539 0, 1339760.541 699052.528 0, 1340050.722 699072.534 0, 1340340.903 699092.557 0,
+ 1340631.082 699112.598 0, 1340921.26 699132.655 0, 1341211.436 699152.73 0, 1341501.612 699172.821 0, 1341790.437 699192.836 0, 1342081.96 699213.056 0, 1342372.132 699233.198 0, 1342662.302 699253.358 0, 1342952.472 699273.535 0, 1343242.64 699293.729 0,
+ 1343532.808 699313.94 0, 1343822.974 699334.169 0, 1344113.139 699354.414 0, 1344403.302 699374.676 0, 1344693.465 699394.956 0, 1344983.626 699415.252 0, 1345273.786 699435.566 0, 1345563.945 699455.896 0, 1345854.103 699476.244 0, 1346144.259 699496.609 0,
+ 1346434.415 699516.991 0, 1346724.569 699537.39 0, 1347014.722 699557.806 0, 1347304.873 699578.239 0, 1347595.024 699598.689 0, 1347885.173 699619.157 0, 1348175.321 699639.641 0, 1348465.468 699660.142 0, 1348754.266 699680.566 0, 1349147.3 694125.096 0,
+ 1349540.314 688569.924 0))
+
+POLYGON ((1362679.821 700685.533 0, 1362391.08 700664.294 0, 1362100.992 700642.973 0, 1361810.903 700621.669 0, 1361520.813 700600.382 0, 1361230.721 700579.112 0, 1360940.629 700557.859 0, 1360650.535 700536.623 0, 1360360.439 700515.405 0, 1360070.343 700494.203 0,
+ 1359780.245 700473.019 0, 1359490.146 700451.851 0, 1359200.046 700430.701 0, 1358909.944 700409.568 0, 1358619.841 700388.451 0, 1358329.737 700367.352 0, 1358039.632 700346.27 0, 1357749.525 700325.205 0, 1357459.418 700304.157 0, 1357169.309 700283.127 0,
+ 1356879.198 700262.113 0, 1356589.087 700241.116 0, 1356298.974 700220.137 0, 1356008.86 700199.174 0, 1355717.398 700178.131 0, 1355428.629 700157.3 0, 1355138.511 700136.389 0, 1354848.392 700115.495 0, 1354558.272 700094.618 0, 1354268.151 700073.758 0,
+ 1353978.028 700052.915 0, 1353687.905 700032.089 0, 1353397.78 700011.28 0, 1353107.653 699990.488 0, 1352817.526 699969.713 0, 1352527.397 699948.956 0, 1352237.267 699928.215 0, 1351947.136 699907.492 0, 1351657.004 699886.785 0, 1351366.87 699866.096 0,
+ 1351076.736 699845.424 0, 1350786.6 699824.769 0, 1350496.462 699804.131 0, 1350206.324 699783.51 0, 1349916.184 699762.906 0, 1349626.044 699742.319 0, 1349335.901 699721.749 0, 1349045.758 699701.197 0, 1348754.266 699680.566 0, 1348361.21 705236.33 0,
+ 1347968.134 710792.387 0, 1348258.97 710812.971 0, 1348548.459 710833.478 0, 1348837.947 710854.001 0, 1349127.434 710874.541 0, 1349416.919 710895.099 0, 1349706.404 710915.673 0, 1349995.887 710936.265 0, 1350285.369 710956.873 0, 1350574.85 710977.499 0,
+ 1350864.329 710998.142 0, 1351153.808 711018.801 0, 1351443.285 711039.478 0, 1351732.761 711060.172 0, 1352022.235 711080.883 0, 1352311.709 711101.611 0, 1352601.181 711122.355 0, 1352890.652 711143.117 0, 1353180.122 711163.896 0, 1353469.591 711184.692 0,
+ 1353759.058 711205.505 0, 1354048.524 711226.335 0, 1354337.989 711247.183 0, 1354627.453 711268.047 0, 1354915.571 711288.831 0, 1355206.376 711309.826 0, 1355495.836 711330.741 0, 1355785.295 711351.674 0, 1356074.752 711372.623 0, 1356364.209 711393.589 0,
+ 1356653.664 711414.573 0, 1356943.118 711435.573 0, 1357232.57 711456.591 0, 1357522.022 711477.625 0, 1357811.472 711498.677 0, 1358100.921 711519.745 0, 1358390.368 711540.831 0, 1358679.815 711561.934 0, 1358969.26 711583.053 0, 1359258.704 711604.19 0,
+ 1359548.146 711625.344 0, 1359837.588 711646.515 0, 1360127.028 711667.703 0, 1360416.467 711688.907 0, 1360705.904 711710.129 0, 1360995.341 711731.368 0, 1361284.776 711752.624 0, 1361574.21 711773.897 0, 1361862.3 711795.089 0, 1362271.071 706240.165 0,
+ 1362679.821 700685.533 0))
+
+POLYGON ((1375753.577 712837.04 0, 1375465.546 712815.035 0, 1375176.174 712792.944 0, 1374886.8 712770.87 0, 1374597.424 712748.814 0, 1374308.048 712726.774 0, 1374018.67 712704.752 0, 1373729.291 712682.746 0, 1373439.91 712660.758 0, 1373150.529 712638.786 0,
+ 1372861.146 712616.832 0, 1372571.761 712594.895 0, 1372282.376 712572.974 0, 1371992.989 712551.071 0, 1371703.601 712529.185 0, 1371414.211 712507.316 0, 1371124.82 712485.463 0, 1370835.428 712463.628 0, 1370546.035 712441.81 0, 1370256.64 712420.009 0,
+ 1369967.244 712398.225 0, 1369677.847 712376.458 0, 1369388.449 712354.708 0, 1369099.049 712332.975 0, 1368808.307 712311.159 0, 1368520.246 712289.56 0, 1368230.842 712267.878 0, 1367941.437 712246.214 0, 1367652.031 712224.566 0, 1367362.624 712202.935 0,
+ 1367073.215 712181.321 0, 1366783.805 712159.725 0, 1366494.394 712138.145 0, 1366204.981 712116.582 0, 1365915.568 712095.037 0, 1365626.153 712073.508 0, 1365336.736 712051.997 0, 1365047.319 712030.502 0, 1364757.9 712009.025 0, 1364468.48 711987.564 0,
+ 1364179.059 711966.121 0, 1363889.636 711944.695 0, 1363600.212 711923.285 0, 1363310.787 711901.893 0, 1363021.361 711880.518 0, 1362731.933 711859.16 0, 1362442.504 711837.819 0, 1362153.074 711816.494 0, 1361862.3 711795.089 0, 1361453.507 717350.3 0,
+ 1361044.694 722905.796 0, 1361334.811 722927.154 0, 1361623.587 722948.43 0, 1361912.362 722969.723 0, 1362201.136 722991.033 0, 1362489.908 723012.36 0, 1362778.679 723033.704 0, 1363067.449 723055.065 0, 1363356.218 723076.443 0, 1363644.985 723097.837 0,
+ 1363933.752 723119.249 0, 1364222.517 723140.678 0, 1364511.28 723162.124 0, 1364800.043 723183.587 0, 1365088.804 723205.067 0, 1365377.563 723226.564 0, 1365666.322 723248.078 0, 1365955.079 723269.609 0, 1366243.835 723291.157 0, 1366532.59 723312.721 0,
+ 1366821.344 723334.303 0, 1367110.096 723355.902 0, 1367398.847 723377.518 0, 1367687.597 723399.151 0, 1367975.007 723420.7 0, 1368265.092 723442.468 0, 1368553.838 723464.152 0, 1368842.582 723485.852 0, 1369131.326 723507.57 0, 1369420.068 723529.305 0,
+ 1369708.809 723551.057 0, 1369997.548 723572.826 0, 1370286.286 723594.612 0, 1370575.023 723616.414 0, 1370863.759 723638.234 0, 1371152.493 723660.071 0, 1371441.226 723681.925 0, 1371729.958 723703.796 0, 1372018.688 723725.683 0, 1372307.418 723747.588 0,
+ 1372596.145 723769.51 0, 1372884.872 723791.449 0, 1373173.597 723813.404 0, 1373462.321 723835.377 0, 1373751.044 723857.367 0, 1374039.766 723879.374 0, 1374328.486 723901.397 0, 1374617.204 723923.438 0, 1374904.585 723945.394 0, 1375329.092 718391.075 0,
+ 1375753.577 712837.04 0))
+
+POLYGON ((1388761.484 725024.143 0, 1388474.164 725001.376 0, 1388185.509 724978.519 0, 1387896.852 724955.68 0, 1387608.194 724932.858 0, 1387319.534 724910.052 0, 1387030.874 724887.264 0, 1386742.211 724864.493 0, 1386453.548 724841.738 0, 1386164.883 724819.001 0,
+ 1385876.217 724796.281 0, 1385587.55 724773.577 0, 1385298.881 724750.891 0, 1385010.211 724728.221 0, 1384721.539 724705.569 0, 1384432.866 724682.933 0, 1384144.192 724660.315 0, 1383855.517 724637.713 0, 1383566.84 724615.129 0, 1383278.162 724592.561 0,
+ 1382989.482 724570.011 0, 1382700.801 724547.477 0, 1382412.119 724524.961 0, 1382123.436 724502.461 0, 1381833.415 724479.875 0, 1381546.065 724457.513 0, 1381257.378 724435.065 0, 1380968.689 724412.633 0, 1380679.999 724390.219 0, 1380391.307 724367.821 0,
+ 1380102.615 724345.441 0, 1379813.921 724323.077 0, 1379525.225 724300.73 0, 1379236.529 724278.401 0, 1378947.831 724256.088 0, 1378659.132 724233.793 0, 1378370.431 724211.514 0, 1378081.729 724189.252 0, 1377793.026 724167.008 0, 1377504.321 724144.78 0,
+ 1377215.616 724122.569 0, 1376926.908 724100.376 0, 1376638.2 724078.199 0, 1376349.49 724056.039 0, 1376060.779 724033.897 0, 1375772.067 724011.771 0, 1375483.353 723989.662 0, 1375194.638 723967.571 0, 1374904.585 723945.394 0, 1374480.056 729499.994 0,
+ 1374055.507 735054.872 0, 1374344.903 735076.998 0, 1374632.964 735099.04 0, 1374921.024 735121.099 0, 1375209.082 735143.174 0, 1375497.139 735165.267 0, 1375785.195 735187.376 0, 1376073.25 735209.503 0, 1376361.303 735231.646 0, 1376649.355 735253.806 0,
+ 1376937.406 735275.984 0, 1377225.455 735298.178 0, 1377513.503 735320.389 0, 1377801.55 735342.617 0, 1378089.595 735364.863 0, 1378377.639 735387.125 0, 1378665.682 735409.404 0, 1378953.724 735431.7 0, 1379241.764 735454.013 0, 1379529.803 735476.342 0,
+ 1379817.84 735498.689 0, 1380105.877 735521.053 0, 1380393.911 735543.434 0, 1380681.945 735565.832 0, 1380968.645 735588.142 0, 1381258.008 735610.678 0, 1381546.038 735633.126 0, 1381834.066 735655.592 0, 1382122.093 735678.074 0, 1382410.119 735700.574 0,
+ 1382698.143 735723.09 0, 1382986.166 735745.624 0, 1383274.188 735768.174 0, 1383562.208 735790.741 0, 1383850.227 735813.325 0, 1384138.245 735835.926 0, 1384426.261 735858.544 0, 1384714.276 735881.179 0, 1385002.29 735903.831 0, 1385290.303 735926.5 0,
+ 1385578.314 735949.186 0, 1385866.323 735971.889 0, 1386154.332 735994.609 0, 1386442.339 736017.346 0, 1386730.344 736040.099 0, 1387018.349 736062.87 0, 1387306.352 736085.658 0, 1387594.353 736108.462 0, 1387881.022 736131.178 0, 1388321.264 730577.522 0,
+ 1388761.484 725024.143 0))
+
+POLYGON ((1401703.442 737246.54 0, 1401416.836 737223.014 0, 1401128.9 737199.396 0, 1400840.963 737175.795 0, 1400553.024 737152.211 0, 1400265.084 737128.643 0, 1399977.142 737105.093 0, 1399689.199 737081.56 0, 1399401.255 737058.043 0, 1399113.309 737034.544 0,
+ 1398825.362 737011.061 0, 1398537.413 736987.596 0, 1398249.463 736964.147 0, 1397961.512 736940.715 0, 1397673.559 736917.3 0, 1397385.605 736893.903 0, 1397097.649 736870.522 0, 1396809.693 736847.158 0, 1396521.734 736823.811 0, 1396233.775 736800.481 0,
+ 1395945.814 736777.168 0, 1395657.852 736753.872 0, 1395369.888 736730.593 0, 1395081.923 736707.33 0, 1394792.626 736683.978 0, 1394505.989 736660.857 0, 1394218.019 736637.645 0, 1393930.049 736614.451 0, 1393642.077 736591.274 0, 1393354.104 736568.113 0,
+ 1393066.129 736544.969 0, 1392778.153 736521.843 0, 1392490.176 736498.733 0, 1392202.197 736475.64 0, 1391914.217 736452.565 0, 1391626.235 736429.506 0, 1391338.253 736406.464 0, 1391050.269 736383.439 0, 1390762.283 736360.431 0, 1390474.296 736337.44 0,
+ 1390186.308 736314.466 0, 1389898.318 736291.509 0, 1389610.328 736268.569 0, 1389322.335 736245.646 0, 1389034.342 736222.739 0, 1388746.347 736199.85 0, 1388458.35 736176.978 0, 1388170.353 736154.122 0, 1387881.022 736131.178 0, 1387440.759 741685.109 0,
+ 1387000.474 747239.31 0, 1387289.148 747262.202 0, 1387576.492 747285.005 0, 1387863.834 747307.826 0, 1388151.175 747330.663 0, 1388438.515 747353.517 0, 1388725.854 747376.388 0, 1389013.191 747399.276 0, 1389300.526 747422.181 0, 1389587.861 747445.103 0,
+ 1389875.194 747468.042 0, 1390162.526 747490.998 0, 1390449.856 747513.971 0, 1390737.185 747536.96 0, 1391024.513 747559.967 0, 1391311.839 747582.99 0, 1391599.164 747606.03 0, 1391886.488 747629.087 0, 1392173.81 747652.162 0, 1392461.131 747675.253 0,
+ 1392748.45 747698.361 0, 1393035.768 747721.485 0, 1393323.085 747744.627 0, 1393610.401 747767.786 0, 1393896.387 747790.854 0, 1394185.027 747814.154 0, 1394472.339 747837.363 0, 1394759.649 747860.59 0, 1395046.957 747883.833 0, 1395334.265 747907.093 0,
+ 1395621.57 747930.37 0, 1395908.875 747953.664 0, 1396196.178 747976.975 0, 1396483.48 748000.303 0, 1396770.78 748023.647 0, 1397058.079 748047.009 0, 1397345.377 748070.387 0, 1397632.673 748093.783 0, 1397919.968 748117.195 0, 1398207.262 748140.624 0,
+ 1398494.554 748164.071 0, 1398781.844 748187.534 0, 1399069.134 748211.014 0, 1399356.422 748234.51 0, 1399643.708 748258.024 0, 1399930.994 748281.555 0, 1400218.277 748305.102 0, 1400505.56 748328.667 0, 1400791.515 748352.14 0, 1401247.49 742799.204 0,
+ 1401703.442 737246.54 0))
+
+POLYGON ((1414579.357 749503.927 0, 1414293.467 749479.647 0, 1414006.252 749455.271 0, 1413719.036 749430.911 0, 1413431.818 749406.569 0, 1413144.599 749382.244 0, 1412857.379 749357.935 0, 1412570.157 749333.644 0, 1412282.934 749309.369 0, 1411995.709 749285.112 0,
+ 1411708.483 749260.871 0, 1411421.255 749236.647 0, 1411134.026 749212.44 0, 1410846.796 749188.25 0, 1410559.564 749164.077 0, 1410272.331 749139.92 0, 1409985.096 749115.781 0, 1409697.86 749091.659 0, 1409410.622 749067.553 0, 1409123.383 749043.464 0,
+ 1408836.143 749019.393 0, 1408548.901 748995.338 0, 1408261.658 748971.3 0, 1407974.413 748947.279 0, 1407685.843 748923.164 0, 1407399.92 748899.288 0, 1407112.671 748875.317 0, 1406825.421 748851.364 0, 1406538.169 748827.427 0, 1406250.916 748803.508 0,
+ 1405963.661 748779.605 0, 1405676.406 748755.719 0, 1405389.148 748731.851 0, 1405101.889 748707.999 0, 1404814.629 748684.164 0, 1404527.368 748660.345 0, 1404240.105 748636.544 0, 1403952.841 748612.76 0, 1403665.575 748588.993 0, 1403378.308 748565.242 0,
+ 1403091.039 748541.508 0, 1402803.769 748517.792 0, 1402516.498 748494.092 0, 1402229.225 748470.409 0, 1401941.951 748446.743 0, 1401654.676 748423.094 0, 1401367.399 748399.462 0, 1401080.121 748375.847 0, 1400791.515 748352.14 0, 1400335.518 753905.342 0,
+ 1399879.5 759458.807 0, 1400167.449 759482.461 0, 1400454.073 759506.022 0, 1400740.697 759529.601 0, 1401027.318 759553.196 0, 1401313.939 759576.808 0, 1401600.558 759600.437 0, 1401887.175 759624.083 0, 1402173.792 759647.745 0, 1402460.406 759671.425 0,
+ 1402747.02 759695.122 0, 1403033.632 759718.835 0, 1403320.243 759742.565 0, 1403606.852 759766.312 0, 1403893.46 759790.076 0, 1404180.066 759813.857 0, 1404466.671 759837.654 0, 1404753.275 759861.469 0, 1405039.877 759885.3 0, 1405326.478 759909.149 0,
+ 1405613.077 759933.014 0, 1405899.675 759956.896 0, 1406186.272 759980.795 0, 1406472.867 760004.711 0, 1406758.139 760028.533 0, 1407046.053 760052.593 0, 1407332.644 760076.559 0, 1407619.234 760100.542 0, 1407905.822 760124.542 0, 1408192.409 760148.559 0,
+ 1408478.994 760172.593 0, 1408765.578 760196.644 0, 1409052.161 760220.711 0, 1409338.742 760244.796 0, 1409625.322 760268.897 0, 1409911.9 760293.015 0, 1410198.477 760317.15 0, 1410485.052 760341.302 0, 1410771.626 760365.471 0, 1411058.199 760389.657 0,
+ 1411344.77 760413.859 0, 1411631.339 760438.078 0, 1411917.908 760462.315 0, 1412204.475 760486.568 0, 1412491.04 760510.838 0, 1412777.604 760535.125 0, 1413064.167 760559.428 0, 1413350.728 760583.749 0, 1413635.967 760607.974 0, 1414107.673 755055.819 0,
+ 1414579.357 749503.927 0))
+
+POLYGON ((1427389.133 761796.001 0, 1427103.961 761770.969 0, 1426817.47 761745.839 0, 1426530.977 761720.726 0, 1426244.483 761695.63 0, 1425957.987 761670.55 0, 1425671.49 761645.488 0, 1425384.991 761620.442 0, 1425098.491 761595.413 0, 1424811.989 761570.401 0,
+ 1424525.486 761545.406 0, 1424238.981 761520.428 0, 1423952.475 761495.466 0, 1423665.968 761470.522 0, 1423379.459 761445.594 0, 1423092.948 761420.683 0, 1422806.437 761395.789 0, 1422519.923 761370.912 0, 1422233.408 761346.052 0, 1421946.892 761321.208 0,
+ 1421660.374 761296.382 0, 1421373.855 761271.572 0, 1421087.334 761246.779 0, 1420800.812 761222.004 0, 1420512.969 761197.13 0, 1420227.764 761172.502 0, 1419941.237 761147.777 0, 1419654.709 761123.068 0, 1419368.18 761098.377 0, 1419081.649 761073.702 0,
+ 1418795.116 761049.044 0, 1418508.583 761024.403 0, 1418222.047 760999.779 0, 1417935.511 760975.172 0, 1417648.973 760950.581 0, 1417362.433 760926.008 0, 1417075.892 760901.451 0, 1416789.35 760876.911 0, 1416502.806 760852.388 0, 1416216.26 760827.882 0,
+ 1415929.714 760803.393 0, 1415643.165 760778.921 0, 1415356.616 760754.465 0, 1415070.065 760730.026 0, 1414783.512 760705.605 0, 1414496.958 760681.2 0, 1414210.403 760656.812 0, 1413923.846 760632.441 0, 1413635.967 760607.974 0, 1413164.239 766160.39 0,
+ 1412692.489 771713.061 0, 1412979.711 771737.472 0, 1413265.614 771761.788 0, 1413551.516 771786.12 0, 1413837.417 771810.469 0, 1414123.315 771834.835 0, 1414409.213 771859.218 0, 1414695.109 771883.618 0, 1414981.004 771908.035 0, 1415266.897 771932.468 0,
+ 1415552.789 771956.918 0, 1415838.679 771981.385 0, 1416124.568 772005.869 0, 1416410.455 772030.37 0, 1416696.341 772054.887 0, 1416982.226 772079.422 0, 1417268.109 772103.973 0, 1417553.991 772128.541 0, 1417839.871 772153.126 0, 1418125.75 772177.727 0,
+ 1418411.627 772202.346 0, 1418697.503 772226.981 0, 1418983.377 772251.633 0, 1419269.25 772276.302 0, 1419553.805 772300.874 0, 1419840.992 772325.69 0, 1420126.86 772350.41 0, 1420412.727 772375.146 0, 1420698.593 772399.899 0, 1420984.457 772424.669 0,
+ 1421270.32 772449.456 0, 1421556.181 772474.259 0, 1421842.041 772499.08 0, 1422127.9 772523.917 0, 1422413.757 772548.771 0, 1422699.612 772573.642 0, 1422985.466 772598.529 0, 1423271.319 772623.434 0, 1423557.17 772648.355 0, 1423843.019 772673.293 0,
+ 1424128.867 772698.248 0, 1424414.714 772723.22 0, 1424700.559 772748.209 0, 1424986.403 772773.214 0, 1425272.245 772798.236 0, 1425558.086 772823.275 0, 1425843.925 772848.331 0, 1426129.763 772873.404 0, 1426414.285 772898.378 0, 1426901.72 767347.061 0,
+ 1427389.133 761796.001 0))
+
+POLYGON ((1440132.677 774122.457 0, 1439848.225 774096.679 0, 1439562.459 774070.799 0, 1439276.691 774044.935 0, 1438990.923 774019.089 0, 1438705.152 773993.259 0, 1438419.38 773967.446 0, 1438133.607 773941.65 0, 1437847.832 773915.871 0, 1437562.055 773890.108 0,
+ 1437276.277 773864.363 0, 1436990.498 773838.634 0, 1436704.717 773812.922 0, 1436418.934 773787.227 0, 1436133.15 773761.548 0, 1435847.364 773735.887 0, 1435561.577 773710.242 0, 1435275.789 773684.614 0, 1434989.999 773659.003 0, 1434704.207 773633.409 0,
+ 1434418.414 773607.832 0, 1434132.619 773582.271 0, 1433846.823 773556.727 0, 1433561.026 773531.2 0, 1433273.913 773505.573 0, 1432989.426 773480.197 0, 1432703.624 773454.72 0, 1432417.82 773429.261 0, 1432132.015 773403.818 0, 1431846.208 773378.392 0,
+ 1431560.4 773352.983 0, 1431274.591 773327.59 0, 1430988.78 773302.215 0, 1430702.967 773276.856 0, 1430417.153 773251.514 0, 1430131.337 773226.189 0, 1429845.52 773200.881 0, 1429559.702 773175.589 0, 1429273.882 773150.315 0, 1428988.06 773125.057 0,
+ 1428702.237 773099.816 0, 1428416.413 773074.592 0, 1428130.587 773049.384 0, 1427844.759 773024.194 0, 1427558.93 772999.02 0, 1427273.1 772973.863 0, 1426987.268 772948.723 0, 1426701.434 772923.6 0, 1426414.285 772898.378 0, 1425926.827 778449.948 0,
+ 1425439.347 784001.768 0, 1425725.841 784026.932 0, 1426011.021 784051.998 0, 1426296.199 784077.08 0, 1426581.376 784102.18 0, 1426866.551 784127.296 0, 1427151.725 784152.429 0, 1427436.898 784177.578 0, 1427722.069 784202.745 0, 1428007.238 784227.928 0,
+ 1428292.406 784253.128 0, 1428577.573 784278.345 0, 1428862.738 784303.579 0, 1429147.902 784328.829 0, 1429433.064 784354.096 0, 1429718.224 784379.38 0, 1430003.384 784404.681 0, 1430288.541 784429.998 0, 1430573.697 784455.333 0, 1430858.852 784480.684 0,
+ 1431144.005 784506.052 0, 1431429.157 784531.436 0, 1431714.307 784556.838 0, 1431999.456 784582.256 0, 1432283.292 784607.574 0, 1432569.749 784633.143 0, 1432854.893 784658.612 0, 1433140.035 784684.097 0, 1433425.177 784709.599 0, 1433710.316 784735.118 0,
+ 1433995.454 784760.654 0, 1434280.591 784786.206 0, 1434565.726 784811.775 0, 1434850.86 784837.362 0, 1435135.992 784862.964 0, 1435421.123 784888.584 0, 1435706.252 784914.22 0, 1435991.38 784939.874 0, 1436276.506 784965.544 0, 1436561.63 784991.23 0,
+ 1436846.753 785016.934 0, 1437131.875 785042.654 0, 1437416.995 785068.391 0, 1437702.114 785094.145 0, 1437987.231 785119.916 0, 1438272.346 785145.703 0, 1438557.46 785171.508 0, 1438842.573 785197.329 0, 1439126.374 785223.048 0, 1439629.537 779672.628 0,
+ 1440132.677 774122.457 0))
+
+POLYGON ((1452809.896 786482.991 0, 1452526.166 786456.47 0, 1452241.128 786429.844 0, 1451956.088 786403.234 0, 1451671.046 786376.641 0, 1451386.003 786350.065 0, 1451100.959 786323.506 0, 1450815.912 786296.963 0, 1450530.865 786270.438 0, 1450245.815 786243.929 0,
+ 1449960.764 786217.436 0, 1449675.712 786190.961 0, 1449390.658 786164.502 0, 1449105.602 786138.061 0, 1448820.545 786111.635 0, 1448535.486 786085.227 0, 1448250.426 786058.836 0, 1447965.364 786032.461 0, 1447680.301 786006.103 0, 1447395.236 785979.762 0,
+ 1447110.17 785953.437 0, 1446825.102 785927.13 0, 1446540.032 785900.839 0, 1446254.961 785874.565 0, 1445968.58 785848.187 0, 1445684.814 785822.067 0, 1445399.738 785795.843 0, 1445114.661 785769.636 0, 1444829.582 785743.446 0, 1444544.502 785717.273 0,
+ 1444259.42 785691.116 0, 1443974.337 785664.976 0, 1443689.252 785638.853 0, 1443404.165 785612.747 0, 1443119.077 785586.657 0, 1442833.988 785560.585 0, 1442548.896 785534.529 0, 1442263.804 785508.49 0, 1441978.71 785482.467 0, 1441693.614 785456.462 0,
+ 1441408.517 785430.473 0, 1441123.418 785404.501 0, 1440838.318 785378.546 0, 1440553.216 785352.607 0, 1440268.112 785326.685 0, 1439983.008 785300.78 0, 1439697.901 785274.892 0, 1439412.793 785249.021 0, 1439126.374 785223.048 0, 1438623.19 790773.714 0,
+ 1438119.983 796324.622 0, 1438405.745 796350.536 0, 1438690.2 796376.348 0, 1438974.653 796402.177 0, 1439259.104 796428.022 0, 1439543.554 796453.884 0, 1439828.003 796479.763 0, 1440112.45 796505.659 0, 1440396.895 796531.572 0, 1440681.339 796557.501 0,
+ 1440965.781 796583.447 0, 1441250.222 796609.41 0, 1441534.661 796635.389 0, 1441819.099 796661.385 0, 1442103.535 796687.398 0, 1442387.97 796713.428 0, 1442672.403 796739.475 0, 1442956.835 796765.538 0, 1443241.265 796791.618 0, 1443525.693 796817.714 0,
+ 1443810.12 796843.828 0, 1444094.546 796869.958 0, 1444378.97 796896.105 0, 1444663.392 796922.268 0, 1444946.508 796948.329 0, 1445232.232 796974.646 0, 1445516.65 797000.86 0, 1445801.066 797027.09 0, 1446085.481 797053.338 0, 1446369.894 797079.602 0,
+ 1446654.306 797105.883 0, 1446938.716 797132.18 0, 1447223.124 797158.494 0, 1447507.531 797184.825 0, 1447791.937 797211.173 0, 1448076.34 797237.538 0, 1448360.743 797263.919 0, 1448645.143 797290.317 0, 1448929.543 797316.732 0, 1449213.94 797343.163 0,
+ 1449498.336 797369.611 0, 1449782.731 797396.076 0, 1450067.124 797422.558 0, 1450351.515 797449.056 0, 1450635.905 797475.572 0, 1450920.293 797502.104 0, 1451204.68 797528.652 0, 1451489.065 797555.218 0, 1451772.145 797581.678 0, 1452291.032 792032.213 0,
+ 1452809.896 786482.991 0))
+
+POLYGON ((1465420.701 798877.298 0, 1465137.695 798850.038 0, 1464853.386 798822.67 0, 1464569.075 798795.318 0, 1464284.763 798767.982 0, 1464000.449 798740.664 0, 1463716.134 798713.362 0, 1463431.817 798686.077 0, 1463147.498 798658.809 0, 1462863.178 798631.557 0,
+ 1462578.856 798604.322 0, 1462294.533 798577.104 0, 1462010.208 798549.903 0, 1461725.881 798522.718 0, 1461441.553 798495.55 0, 1461157.223 798468.399 0, 1460872.892 798441.265 0, 1460588.559 798414.147 0, 1460304.224 798387.046 0, 1460019.888 798359.962 0,
+ 1459735.55 798332.894 0, 1459451.211 798305.844 0, 1459166.87 798278.81 0, 1458882.527 798251.792 0, 1458596.88 798224.668 0, 1458313.837 798197.808 0, 1458029.49 798170.841 0, 1457745.141 798143.891 0, 1457460.791 798116.957 0, 1457176.438 798090.04 0,
+ 1456892.085 798063.14 0, 1456607.729 798036.257 0, 1456323.373 798009.39 0, 1456039.014 797982.54 0, 1455754.654 797955.707 0, 1455470.293 797928.89 0, 1455185.929 797902.091 0, 1454901.565 797875.308 0, 1454617.198 797848.541 0, 1454332.83 797821.792 0,
+ 1454048.461 797795.059 0, 1453764.09 797768.343 0, 1453479.717 797741.644 0, 1453195.343 797714.961 0, 1452910.967 797688.296 0, 1452626.59 797661.646 0, 1452342.211 797635.014 0, 1452057.831 797608.399 0, 1451772.145 797581.678 0, 1451253.236 803131.381 0,
+ 1450734.304 808681.319 0, 1451019.334 808707.979 0, 1451303.061 808734.533 0, 1451586.787 808761.104 0, 1451870.511 808787.692 0, 1452154.233 808814.297 0, 1452437.954 808840.918 0, 1452721.673 808867.556 0, 1453005.391 808894.21 0, 1453289.107 808920.882 0,
+ 1453572.822 808947.57 0, 1453856.535 808974.275 0, 1454140.246 809000.996 0, 1454423.956 809027.734 0, 1454707.665 809054.489 0, 1454991.371 809081.261 0, 1455275.077 809108.049 0, 1455558.78 809134.854 0, 1455842.482 809161.675 0, 1456126.183 809188.514 0,
+ 1456409.882 809215.369 0, 1456693.579 809242.24 0, 1456977.275 809269.129 0, 1457260.969 809296.034 0, 1457543.362 809322.832 0, 1457828.352 809349.894 0, 1458112.042 809376.85 0, 1458395.729 809403.821 0, 1458679.416 809430.81 0, 1458963.1 809457.815 0,
+ 1459246.783 809484.837 0, 1459530.465 809511.876 0, 1459814.144 809538.931 0, 1460097.823 809566.004 0, 1460381.499 809593.092 0, 1460665.174 809620.198 0, 1460948.848 809647.32 0, 1461232.52 809674.459 0, 1461516.19 809701.614 0, 1461799.858 809728.787 0,
+ 1462083.526 809755.976 0, 1462367.191 809783.181 0, 1462650.855 809810.404 0, 1462934.517 809837.643 0, 1463218.178 809864.899 0, 1463501.837 809892.171 0, 1463785.494 809919.46 0, 1464069.15 809946.766 0, 1464351.506 809973.963 0, 1464886.115 804425.513 0,
+ 1465420.701 798877.298 0))
+
+POLYGON ((1477965.001 811305.074 0, 1477682.721 811277.078 0, 1477399.144 811248.971 0, 1477115.564 811220.881 0, 1476831.984 811192.807 0, 1476548.401 811164.75 0, 1476264.817 811136.71 0, 1475981.231 811108.686 0, 1475697.644 811080.679 0, 1475414.055 811052.689 0,
+ 1475130.464 811024.715 0, 1474846.871 810996.758 0, 1474563.277 810968.818 0, 1474279.682 810940.895 0, 1473996.084 810912.988 0, 1473712.485 810885.098 0, 1473428.885 810857.224 0, 1473145.282 810829.368 0, 1472861.679 810801.527 0, 1472578.073 810773.704 0,
+ 1472294.466 810745.897 0, 1472010.857 810718.108 0, 1471727.247 810690.334 0, 1471443.635 810662.578 0, 1471158.724 810634.711 0, 1470876.405 810607.115 0, 1470592.788 810579.408 0, 1470309.17 810551.718 0, 1470025.55 810524.045 0, 1469741.928 810496.389 0,
+ 1469458.304 810468.749 0, 1469174.679 810441.126 0, 1468891.052 810413.52 0, 1468607.424 810385.93 0, 1468323.794 810358.357 0, 1468040.162 810330.801 0, 1467756.529 810303.261 0, 1467472.894 810275.738 0, 1467189.258 810248.232 0, 1466905.62 810220.743 0,
+ 1466621.98 810193.27 0, 1466338.339 810165.814 0, 1466054.696 810138.374 0, 1465771.051 810110.952 0, 1465487.405 810083.546 0, 1465203.757 810056.156 0, 1464920.108 810028.784 0, 1464636.457 810001.428 0, 1464351.506 809973.963 0, 1463816.875 815522.645 0,
+ 1463282.222 821071.554 0, 1463566.517 821098.955 0, 1463849.514 821126.248 0, 1464132.511 821153.558 0, 1464415.505 821180.884 0, 1464698.498 821208.227 0, 1464981.49 821235.587 0, 1465264.479 821262.963 0, 1465547.468 821290.356 0, 1465830.454 821317.765 0,
+ 1466113.439 821345.191 0, 1466396.422 821372.634 0, 1466679.404 821400.094 0, 1466962.384 821427.57 0, 1467245.363 821455.063 0, 1467528.34 821482.572 0, 1467811.315 821510.098 0, 1468094.288 821537.641 0, 1468377.26 821565.2 0, 1468660.231 821592.777 0,
+ 1468943.2 821620.369 0, 1469226.167 821647.979 0, 1469509.132 821675.605 0, 1469792.096 821703.247 0, 1470073.764 821730.78 0, 1470358.019 821758.583 0, 1470640.978 821786.275 0, 1470923.935 821813.985 0, 1471206.891 821841.711 0, 1471489.845 821869.453 0,
+ 1471772.798 821897.213 0, 1472055.748 821924.989 0, 1472338.698 821952.781 0, 1472621.645 821980.59 0, 1472904.591 822008.416 0, 1473187.535 822036.259 0, 1473470.478 822064.118 0, 1473753.419 822091.994 0, 1474036.358 822119.886 0, 1474319.296 822147.796 0,
+ 1474602.232 822175.721 0, 1474885.167 822203.664 0, 1475168.099 822231.623 0, 1475451.031 822259.599 0, 1475733.96 822287.591 0, 1476016.888 822315.6 0, 1476299.814 822343.626 0, 1476582.739 822371.668 0, 1476864.369 822399.599 0, 1477414.696 816852.223 0,
+ 1477965.001 811305.074 0))
+
+POLYGON ((1490442.709 823766.011 0, 1490161.157 823737.284 0, 1489878.313 823708.443 0, 1489595.467 823679.618 0, 1489312.62 823650.81 0, 1489029.77 823622.018 0, 1488746.919 823593.243 0, 1488464.067 823564.485 0, 1488181.212 823535.743 0, 1487898.356 823507.018 0,
+ 1487615.499 823478.309 0, 1487332.639 823449.618 0, 1487049.778 823420.943 0, 1486766.915 823392.284 0, 1486484.051 823363.642 0, 1486201.184 823335.017 0, 1485918.317 823306.409 0, 1485635.447 823277.817 0, 1485352.576 823249.241 0, 1485069.703 823220.683 0,
+ 1484786.828 823192.141 0, 1484503.952 823163.616 0, 1484221.074 823135.107 0, 1483938.195 823106.615 0, 1483654.022 823078.01 0, 1483372.43 823049.681 0, 1483089.546 823021.239 0, 1482806.659 822992.814 0, 1482523.771 822964.405 0, 1482240.882 822936.013 0,
+ 1481957.99 822907.638 0, 1481675.097 822879.279 0, 1481392.203 822850.937 0, 1481109.306 822822.611 0, 1480826.408 822794.302 0, 1480543.509 822766.01 0, 1480260.607 822737.735 0, 1479977.704 822709.476 0, 1479694.799 822681.234 0, 1479411.893 822653.008 0,
+ 1479128.985 822624.799 0, 1478846.076 822596.607 0, 1478563.164 822568.431 0, 1478280.251 822540.272 0, 1477997.337 822512.13 0, 1477714.42 822484.005 0, 1477431.502 822455.896 0, 1477148.583 822427.803 0, 1476864.369 822399.599 0, 1476314.019 827947.2 0,
+ 1475763.647 833495.022 0, 1476047.205 833523.16 0, 1476329.472 833551.188 0, 1476611.737 833579.232 0, 1476894 833607.293 0, 1477176.261 833635.37 0, 1477458.521 833663.464 0, 1477740.78 833691.575 0, 1478023.036 833719.702 0, 1478305.291 833747.846 0,
+ 1478587.545 833776.006 0, 1478869.796 833804.183 0, 1479152.046 833832.377 0, 1479434.295 833860.587 0, 1479716.541 833888.814 0, 1479998.786 833917.057 0, 1480281.03 833945.317 0, 1480563.271 833973.594 0, 1480845.511 834001.887 0, 1481127.75 834030.197 0,
+ 1481409.986 834058.524 0, 1481692.221 834086.867 0, 1481974.455 834115.227 0, 1482256.686 834143.603 0, 1482537.628 834171.866 0, 1482821.145 834200.406 0, 1483103.371 834228.832 0, 1483385.596 834257.275 0, 1483667.82 834285.734 0, 1483950.041 834314.21 0,
+ 1484232.261 834342.703 0, 1484514.48 834371.212 0, 1484796.696 834399.738 0, 1485078.911 834428.28 0, 1485361.125 834456.839 0, 1485643.336 834485.415 0, 1485925.546 834514.007 0, 1486207.754 834542.616 0, 1486489.961 834571.242 0, 1486772.166 834599.884 0,
+ 1487054.369 834628.543 0, 1487336.57 834657.218 0, 1487618.77 834685.91 0, 1487900.968 834714.619 0, 1488183.164 834743.344 0, 1488465.359 834772.086 0, 1488747.552 834800.844 0, 1489029.743 834829.619 0, 1489310.646 834858.279 0, 1489876.689 829312.035 0,
+ 1490442.709 823766.011 0))
+
+POLYGON ((1502853.739 836259.804 0, 1502572.916 836230.35 0, 1502290.808 836200.778 0, 1502008.697 836171.222 0, 1501726.585 836141.684 0, 1501444.47 836112.161 0, 1501162.355 836082.655 0, 1500880.237 836053.166 0, 1500598.118 836023.694 0, 1500315.997 835994.238 0,
+ 1500033.874 835964.799 0, 1499751.749 835935.376 0, 1499469.623 835905.97 0, 1499187.495 835876.58 0, 1498905.365 835847.207 0, 1498623.234 835817.851 0, 1498341.101 835788.512 0, 1498058.966 835759.188 0, 1497776.829 835729.882 0, 1497494.691 835700.592 0,
+ 1497212.551 835671.319 0, 1496930.409 835642.062 0, 1496648.265 835612.822 0, 1496366.12 835583.599 0, 1496082.687 835554.259 0, 1495801.825 835525.202 0, 1495519.674 835496.028 0, 1495237.522 835466.871 0, 1494955.368 835437.731 0, 1494673.213 835408.607 0,
+ 1494391.055 835379.5 0, 1494108.897 835350.409 0, 1493826.736 835321.335 0, 1493544.573 835292.278 0, 1493262.409 835263.237 0, 1492980.244 835234.213 0, 1492698.076 835205.206 0, 1492415.907 835176.215 0, 1492133.736 835147.24 0, 1491851.563 835118.283 0,
+ 1491569.389 835089.341 0, 1491287.213 835060.417 0, 1491005.035 835031.509 0, 1490722.856 835002.618 0, 1490440.675 834973.743 0, 1490158.492 834944.885 0, 1489876.307 834916.044 0, 1489594.121 834887.219 0, 1489310.646 834858.279 0, 1488744.58 840404.74 0,
+ 1488178.493 845951.415 0, 1488461.313 845980.288 0, 1488742.846 846009.046 0, 1489024.378 846037.82 0, 1489305.908 846066.612 0, 1489587.436 846095.42 0, 1489868.962 846124.244 0, 1490150.487 846153.085 0, 1490432.01 846181.943 0, 1490713.532 846210.817 0,
+ 1490995.052 846239.707 0, 1491276.57 846268.615 0, 1491558.086 846297.538 0, 1491839.601 846326.479 0, 1492121.114 846355.436 0, 1492402.625 846384.409 0, 1492684.134 846413.4 0, 1492965.642 846442.406 0, 1493247.148 846471.43 0, 1493528.653 846500.469 0,
+ 1493810.155 846529.526 0, 1494091.656 846558.599 0, 1494373.156 846587.688 0, 1494654.653 846616.794 0, 1494934.866 846645.784 0, 1495217.643 846675.056 0, 1495499.136 846704.212 0, 1495780.626 846733.384 0, 1496062.115 846762.573 0, 1496343.603 846791.779 0,
+ 1496625.088 846821.001 0, 1496906.572 846850.24 0, 1497188.054 846879.495 0, 1497469.534 846908.767 0, 1497751.013 846938.055 0, 1498032.49 846967.36 0, 1498313.965 846996.681 0, 1498595.439 847026.019 0, 1498876.91 847055.374 0, 1499158.38 847084.745 0,
+ 1499439.849 847114.133 0, 1499721.315 847143.537 0, 1500002.78 847172.958 0, 1500284.243 847202.396 0, 1500565.705 847231.85 0, 1500847.164 847261.32 0, 1501128.622 847290.807 0, 1501410.078 847320.311 0, 1501690.251 847349.697 0, 1502272.006 841804.644 0,
+ 1502853.739 836259.804 0))
+
+POLYGON ((1515198.004 848786.147 0, 1514917.913 848755.969 0, 1514636.542 848725.67 0, 1514355.168 848695.388 0, 1514073.793 848665.123 0, 1513792.416 848634.874 0, 1513511.037 848604.641 0, 1513229.657 848574.425 0, 1512948.274 848544.226 0, 1512666.89 848514.043 0,
+ 1512385.504 848483.877 0, 1512104.116 848453.727 0, 1511822.727 848423.594 0, 1511541.336 848393.477 0, 1511259.943 848363.377 0, 1510978.548 848333.294 0, 1510697.151 848303.227 0, 1510415.753 848273.176 0, 1510134.353 848243.143 0, 1509852.951 848213.125 0,
+ 1509571.547 848183.125 0, 1509290.142 848153.141 0, 1509008.735 848123.173 0, 1508727.326 848093.222 0, 1508444.635 848063.152 0, 1508164.503 848033.37 0, 1507883.089 848003.469 0, 1507601.673 847973.584 0, 1507320.255 847943.716 0, 1507038.835 847913.864 0,
+ 1506757.414 847884.029 0, 1506475.991 847854.211 0, 1506194.567 847824.409 0, 1505913.14 847794.624 0, 1505631.712 847764.855 0, 1505350.282 847735.103 0, 1505068.85 847705.367 0, 1504787.417 847675.648 0, 1504505.981 847645.945 0, 1504224.544 847616.259 0,
+ 1503943.105 847586.59 0, 1503661.665 847556.937 0, 1503380.223 847527.301 0, 1503098.779 847497.681 0, 1502817.333 847468.078 0, 1502535.886 847438.492 0, 1502254.436 847408.922 0, 1501972.985 847379.368 0, 1501690.251 847349.697 0, 1501108.474 852894.959 0,
+ 1500526.675 858440.428 0, 1500808.754 858470.03 0, 1501089.552 858499.515 0, 1501370.349 858529.017 0, 1501651.143 858558.534 0, 1501931.936 858588.069 0, 1502212.727 858617.62 0, 1502493.517 858647.187 0, 1502774.305 858676.771 0, 1503055.091 858706.372 0,
+ 1503335.875 858735.989 0, 1503616.657 858765.623 0, 1503897.438 858795.273 0, 1504178.217 858824.94 0, 1504458.995 858854.623 0, 1504739.77 858884.322 0, 1505020.544 858914.039 0, 1505301.316 858943.771 0, 1505582.086 858973.521 0, 1505862.855 859003.287 0,
+ 1506143.621 859033.069 0, 1506424.387 859062.868 0, 1506705.15 859092.683 0, 1506985.911 859122.515 0, 1507265.393 859152.228 0, 1507547.429 859182.229 0, 1507828.185 859212.11 0, 1508108.94 859242.008 0, 1508389.693 859271.923 0, 1508670.443 859301.854 0,
+ 1508951.193 859331.801 0, 1509231.94 859361.765 0, 1509512.686 859391.746 0, 1509793.43 859421.743 0, 1510074.172 859451.757 0, 1510354.912 859481.787 0, 1510635.651 859511.834 0, 1510916.388 859541.897 0, 1511197.123 859571.977 0, 1511477.856 859602.073 0,
+ 1511758.588 859632.186 0, 1512039.317 859662.315 0, 1512320.045 859692.461 0, 1512600.772 859722.624 0, 1512881.496 859752.803 0, 1513162.219 859782.998 0, 1513442.939 859813.21 0, 1513723.659 859843.438 0, 1514003.1 859873.546 0, 1514600.563 854329.743 0,
+ 1515198.004 848786.147 0))
+
+POLYGON ((1527475.421 861344.732 0, 1527196.064 861313.835 0, 1526915.432 861282.813 0, 1526634.797 861251.808 0, 1526354.161 861220.82 0, 1526073.523 861189.848 0, 1525792.883 861158.893 0, 1525512.242 861127.954 0, 1525231.598 861097.031 0, 1524950.953 861066.125 0,
+ 1524670.306 861035.236 0, 1524389.657 861004.363 0, 1524109.006 860973.507 0, 1523828.353 860942.667 0, 1523547.699 860911.844 0, 1523267.043 860881.037 0, 1522986.385 860850.247 0, 1522705.725 860819.474 0, 1522425.063 860788.716 0, 1522144.4 860757.976 0,
+ 1521863.734 860727.252 0, 1521583.067 860696.544 0, 1521302.398 860665.853 0, 1521021.728 860635.178 0, 1520739.78 860604.381 0, 1520460.381 860573.879 0, 1520179.705 860543.254 0, 1519899.027 860512.645 0, 1519618.347 860482.053 0, 1519337.666 860451.478 0,
+ 1519056.982 860420.919 0, 1518776.297 860390.377 0, 1518495.61 860359.851 0, 1518214.921 860329.341 0, 1517934.231 860298.848 0, 1517653.539 860268.372 0, 1517372.845 860237.912 0, 1517092.149 860207.469 0, 1516811.451 860177.042 0, 1516530.752 860146.632 0,
+ 1516250.05 860116.238 0, 1515969.347 860085.861 0, 1515688.642 860055.501 0, 1515407.936 860025.156 0, 1515127.227 859994.829 0, 1514846.517 859964.518 0, 1514565.805 859934.223 0, 1514285.091 859903.945 0, 1514003.1 859873.546 0, 1513405.615 865417.55 0,
+ 1512808.108 870961.753 0, 1513089.444 870992.082 0, 1513369.505 871022.289 0, 1513649.565 871052.514 0, 1513929.622 871082.754 0, 1514209.678 871113.011 0, 1514489.732 871143.285 0, 1514769.784 871173.575 0, 1515049.835 871203.882 0, 1515329.883 871234.205 0,
+ 1515609.93 871264.544 0, 1515889.975 871294.9 0, 1516170.019 871325.273 0, 1516450.06 871355.662 0, 1516730.1 871386.067 0, 1517010.138 871416.489 0, 1517290.174 871446.928 0, 1517570.208 871477.382 0, 1517850.241 871507.854 0, 1518130.272 871538.342 0,
+ 1518410.301 871568.846 0, 1518690.328 871599.367 0, 1518970.353 871629.904 0, 1519250.377 871660.458 0, 1519529.127 871690.889 0, 1519810.419 871721.615 0, 1520090.437 871752.218 0, 1520370.453 871782.838 0, 1520650.468 871813.474 0, 1520930.481 871844.127 0,
+ 1521210.492 871874.796 0, 1521490.501 871905.482 0, 1521770.508 871936.184 0, 1522050.514 871966.903 0, 1522330.517 871997.638 0, 1522610.519 872028.389 0, 1522890.519 872059.157 0, 1523170.518 872089.942 0, 1523450.514 872120.743 0, 1523730.509 872151.56 0,
+ 1524010.502 872182.394 0, 1524290.493 872213.245 0, 1524570.482 872244.112 0, 1524850.469 872274.995 0, 1525130.455 872305.895 0, 1525410.439 872336.811 0, 1525690.421 872367.744 0, 1525970.401 872398.694 0, 1526249.108 872429.519 0, 1526862.276 866887.026 0,
+ 1527475.421 861344.732 0))
+
+POLYGON ((1029368.936 431611.081 0, 1029064.488 431609.37 0, 1028758.565 431607.668 0, 1028452.642 431605.985 0, 1028146.718 431604.319 0, 1027840.795 431602.671 0, 1027534.871 431601.042 0, 1027228.947 431599.43 0, 1026923.024 431597.836 0, 1026617.1 431596.261 0,
+ 1026311.176 431594.703 0, 1026005.251 431593.163 0, 1025699.327 431591.642 0, 1025393.403 431590.138 0, 1025087.479 431588.653 0, 1024781.554 431587.185 0, 1024475.63 431585.735 0, 1024169.705 431584.304 0, 1023863.78 431582.89 0, 1023557.855 431581.495 0,
+ 1023251.93 431580.117 0, 1022946.005 431578.758 0, 1022640.08 431577.416 0, 1022334.155 431576.092 0, 1022026.753 431574.781 0, 1021722.305 431573.499 0, 1021416.379 431572.23 0, 1021110.454 431570.978 0, 1020804.528 431569.745 0, 1020498.603 431568.529 0,
+ 1020192.677 431567.332 0, 1019886.751 431566.152 0, 1019580.826 431564.991 0, 1019274.9 431563.847 0, 1018968.974 431562.722 0, 1018663.048 431561.614 0, 1018357.122 431560.525 0, 1018051.196 431559.453 0, 1017745.27 431558.4 0, 1017439.343 431557.365 0,
+ 1017133.417 431556.347 0, 1016827.491 431555.348 0, 1016521.564 431554.366 0, 1016215.638 431553.403 0, 1015909.711 431552.457 0, 1015603.785 431551.53 0, 1015297.858 431550.621 0, 1014991.931 431549.729 0, 1014684.527 431548.852 0, 1014668.839 437101.521 0,
+ 1014653.151 442654.629 0, 1014959.898 442655.505 0, 1015265.172 442656.394 0, 1015570.445 442657.302 0, 1015875.717 442658.227 0, 1016180.99 442659.171 0, 1016486.263 442660.132 0, 1016791.536 442661.111 0, 1017096.809 442662.109 0, 1017402.081 442663.124 0,
+ 1017707.354 442664.157 0, 1018012.626 442665.208 0, 1018317.899 442666.277 0, 1018623.171 442667.365 0, 1018928.444 442668.47 0, 1019233.716 442669.593 0, 1019538.988 442670.734 0, 1019844.26 442671.893 0, 1020149.532 442673.07 0, 1020454.804 442674.265 0,
+ 1020760.076 442675.478 0, 1021065.348 442676.708 0, 1021370.62 442677.957 0, 1021675.891 442679.224 0, 1021979.69 442680.503 0, 1022286.435 442681.812 0, 1022591.706 442683.132 0, 1022896.977 442684.471 0, 1023202.249 442685.828 0, 1023507.52 442687.202 0,
+ 1023812.791 442688.595 0, 1024118.062 442690.006 0, 1024423.333 442691.434 0, 1024728.604 442692.881 0, 1025033.875 442694.345 0, 1025339.146 442695.827 0, 1025644.416 442697.328 0, 1025949.687 442698.846 0, 1026254.957 442700.383 0, 1026560.228 442701.937 0,
+ 1026865.498 442703.509 0, 1027170.768 442705.099 0, 1027476.038 442706.708 0, 1027781.308 442708.334 0, 1028086.578 442709.978 0, 1028391.848 442711.64 0, 1028697.118 442713.32 0, 1029002.387 442715.018 0, 1029306.184 442716.726 0, 1029337.562 437163.684 0,
+ 1029368.936 431611.081 0))
+
+POLYGON ((1043958.984 442820.22 0, 1043655.191 442817.654 0, 1043349.927 442815.093 0, 1043044.664 442812.551 0, 1042739.4 442810.026 0, 1042434.136 442807.52 0, 1042128.871 442805.031 0, 1041823.607 442802.56 0, 1041518.343 442800.108 0, 1041213.078 442797.673 0,
+ 1040907.813 442795.256 0, 1040602.548 442792.857 0, 1040297.283 442790.477 0, 1039992.018 442788.114 0, 1039686.753 442785.769 0, 1039381.487 442783.442 0, 1039076.222 442781.133 0, 1038770.956 442778.842 0, 1038465.69 442776.569 0, 1038160.424 442774.314 0,
+ 1037855.158 442772.077 0, 1037549.892 442769.858 0, 1037244.625 442767.657 0, 1036939.359 442765.474 0, 1036632.621 442763.298 0, 1036328.825 442761.161 0, 1036023.558 442759.032 0, 1035718.291 442756.921 0, 1035413.024 442754.827 0, 1035107.757 442752.752 0,
+ 1034802.49 442750.695 0, 1034497.222 442748.655 0, 1034191.954 442746.634 0, 1033886.687 442744.63 0, 1033581.419 442742.645 0, 1033276.151 442740.677 0, 1032970.883 442738.728 0, 1032665.614 442736.796 0, 1032360.346 442734.882 0, 1032055.078 442732.987 0,
+ 1031749.809 442731.109 0, 1031444.54 442729.249 0, 1031139.272 442727.407 0, 1030834.003 442725.584 0, 1030528.734 442723.778 0, 1030223.465 442721.99 0, 1029918.196 442720.22 0, 1029612.926 442718.468 0, 1029306.184 442716.726 0, 1029274.805 448270.203 0,
+ 1029243.423 453824.112 0, 1029549.508 453825.851 0, 1029854.123 453827.599 0, 1030158.739 453829.365 0, 1030463.354 453831.149 0, 1030767.969 453832.951 0, 1031072.584 453834.771 0, 1031377.199 453836.609 0, 1031681.814 453838.465 0, 1031986.429 453840.339 0,
+ 1032291.044 453842.23 0, 1032595.658 453844.14 0, 1032900.273 453846.067 0, 1033204.887 453848.013 0, 1033509.502 453849.976 0, 1033814.116 453851.957 0, 1034118.73 453853.956 0, 1034423.344 453855.974 0, 1034727.957 453858.009 0, 1035032.571 453860.062 0,
+ 1035337.184 453862.132 0, 1035641.798 453864.221 0, 1035946.411 453866.328 0, 1036251.024 453868.453 0, 1036554.169 453870.585 0, 1036860.25 453872.756 0, 1037164.863 453874.934 0, 1037469.476 453877.131 0, 1037774.088 453879.345 0, 1038078.7 453881.577 0,
+ 1038383.313 453883.828 0, 1038687.925 453886.096 0, 1038992.537 453888.382 0, 1039297.149 453890.686 0, 1039601.76 453893.008 0, 1039906.372 453895.348 0, 1040210.983 453897.705 0, 1040515.595 453900.081 0, 1040820.206 453902.475 0, 1041124.817 453904.886 0,
+ 1041429.428 453907.316 0, 1041734.038 453909.763 0, 1042038.649 453912.229 0, 1042343.26 453914.712 0, 1042647.87 453917.213 0, 1042952.48 453919.732 0, 1043257.09 453922.269 0, 1043561.7 453924.824 0, 1043864.843 453927.385 0, 1043911.915 448373.586 0,
+ 1043958.984 442820.22 0))
+
+POLYGON ((1058485.912 454071.965 0, 1058182.776 454068.548 0, 1057878.174 454065.132 0, 1057573.572 454061.735 0, 1057268.971 454058.355 0, 1056964.369 454054.993 0, 1056659.766 454051.649 0, 1056355.164 454048.323 0, 1056050.561 454045.015 0, 1055745.959 454041.725 0,
+ 1055441.356 454038.453 0, 1055136.752 454035.199 0, 1054832.149 454031.963 0, 1054527.546 454028.744 0, 1054222.942 454025.544 0, 1053918.338 454022.361 0, 1053613.734 454019.197 0, 1053309.129 454016.05 0, 1053004.525 454012.922 0, 1052699.92 454009.811 0,
+ 1052395.315 454006.718 0, 1052090.71 454003.643 0, 1051786.105 454000.586 0, 1051481.5 453997.547 0, 1051175.429 453994.511 0, 1050872.288 453991.523 0, 1050567.682 453988.537 0, 1050263.076 453985.57 0, 1049958.47 453982.621 0, 1049653.864 453979.689 0,
+ 1049349.257 453976.775 0, 1049044.65 453973.88 0, 1048740.043 453971.002 0, 1048435.436 453968.142 0, 1048130.829 453965.301 0, 1047826.221 453962.477 0, 1047521.614 453959.671 0, 1047217.006 453956.883 0, 1046912.398 453954.112 0, 1046607.79 453951.36 0,
+ 1046303.181 453948.626 0, 1045998.573 453945.91 0, 1045693.964 453943.211 0, 1045389.356 453940.531 0, 1045084.747 453937.868 0, 1044780.138 453935.223 0, 1044475.528 453932.597 0, 1044170.919 453929.988 0, 1043864.843 453927.385 0, 1043817.766 459481.613 0,
+ 1043770.686 465036.268 0, 1044076.106 465038.866 0, 1044380.061 465041.469 0, 1044684.017 465044.09 0, 1044987.972 465046.729 0, 1045291.927 465049.386 0, 1045595.882 465052.061 0, 1045899.837 465054.753 0, 1046203.791 465057.464 0, 1046507.746 465060.192 0,
+ 1046811.7 465062.938 0, 1047115.654 465065.703 0, 1047419.608 465068.485 0, 1047723.562 465071.285 0, 1048027.516 465074.103 0, 1048331.469 465076.938 0, 1048635.422 465079.792 0, 1048939.375 465082.663 0, 1049243.328 465085.553 0, 1049547.281 465088.46 0,
+ 1049851.234 465091.385 0, 1050155.186 465094.328 0, 1050459.139 465097.289 0, 1050763.091 465100.268 0, 1051065.58 465103.251 0, 1051370.994 465106.28 0, 1051674.946 465109.312 0, 1051978.897 465112.363 0, 1052282.848 465115.431 0, 1052586.799 465118.517 0,
+ 1052890.75 465121.621 0, 1053194.701 465124.743 0, 1053498.651 465127.883 0, 1053802.602 465131.041 0, 1054106.552 465134.217 0, 1054410.502 465137.41 0, 1054714.451 465140.622 0, 1055018.401 465143.851 0, 1055322.35 465147.098 0, 1055626.3 465150.363 0,
+ 1055930.248 465153.646 0, 1056234.197 465156.947 0, 1056538.146 465160.266 0, 1056842.094 465163.603 0, 1057146.042 465166.957 0, 1057449.99 465170.33 0, 1057753.938 465173.72 0, 1058057.886 465177.128 0, 1058360.372 465180.538 0, 1058423.144 459626.038 0,
+ 1058485.912 454071.965 0))
+
+POLYGON ((1072949.591 465366.025 0, 1072647.114 465361.761 0, 1072343.177 465357.494 0, 1072039.24 465353.245 0, 1071735.303 465349.014 0, 1071431.365 465344.801 0, 1071127.428 465340.605 0, 1070823.49 465336.428 0, 1070519.551 465332.268 0, 1070215.613 465328.127 0,
+ 1069911.674 465324.003 0, 1069607.735 465319.897 0, 1069303.796 465315.809 0, 1068999.857 465311.739 0, 1068695.917 465307.687 0, 1068391.977 465303.652 0, 1068088.037 465299.636 0, 1067784.096 465295.637 0, 1067480.156 465291.656 0, 1067176.215 465287.694 0,
+ 1066872.274 465283.749 0, 1066568.333 465279.822 0, 1066264.391 465275.913 0, 1065960.449 465272.021 0, 1065655.047 465268.129 0, 1065352.565 465264.293 0, 1065048.623 465260.455 0, 1064744.68 465256.635 0, 1064440.737 465252.833 0, 1064136.794 465249.05 0,
+ 1063832.85 465245.284 0, 1063528.907 465241.535 0, 1063224.963 465237.805 0, 1062921.019 465234.093 0, 1062617.075 465230.398 0, 1062313.13 465226.722 0, 1062009.186 465223.063 0, 1061705.241 465219.422 0, 1061401.296 465215.799 0, 1061097.35 465212.194 0,
+ 1060793.405 465208.607 0, 1060489.459 465205.038 0, 1060185.513 465201.487 0, 1059881.567 465197.953 0, 1059577.621 465194.438 0, 1059273.674 465190.94 0, 1058969.727 465187.46 0, 1058665.78 465183.998 0, 1058360.372 465180.538 0, 1058297.594 470735.461 0,
+ 1058234.812 476290.805 0, 1058539.564 476294.258 0, 1058842.857 476297.713 0, 1059146.15 476301.185 0, 1059449.442 476304.675 0, 1059752.735 476308.183 0, 1060056.027 476311.709 0, 1060359.319 476315.253 0, 1060662.611 476318.814 0, 1060965.902 476322.394 0,
+ 1061269.194 476325.991 0, 1061572.485 476329.606 0, 1061875.776 476333.239 0, 1062179.067 476336.89 0, 1062482.357 476340.558 0, 1062785.647 476344.245 0, 1063088.937 476347.949 0, 1063392.227 476351.672 0, 1063695.517 476355.412 0, 1063998.806 476359.17 0,
+ 1064302.096 476362.945 0, 1064605.385 476366.739 0, 1064908.673 476370.55 0, 1065211.962 476374.38 0, 1065513.793 476378.208 0, 1065818.538 476382.092 0, 1066121.826 476385.975 0, 1066425.114 476389.876 0, 1066728.401 476393.794 0, 1067031.689 476397.731 0,
+ 1067334.975 476401.685 0, 1067638.262 476405.657 0, 1067941.549 476409.647 0, 1068244.835 476413.655 0, 1068548.121 476417.68 0, 1068851.407 476421.724 0, 1069154.692 476425.785 0, 1069457.977 476429.865 0, 1069761.263 476433.962 0, 1070064.547 476438.077 0,
+ 1070367.832 476442.209 0, 1070671.116 476446.36 0, 1070974.4 476450.529 0, 1071277.684 476454.715 0, 1071580.968 476458.919 0, 1071884.251 476463.141 0, 1072187.534 476467.381 0, 1072490.817 476471.639 0, 1072792.644 476475.894 0, 1072871.121 470920.749 0,
+ 1072949.591 465366.025 0))
+
+POLYGON ((1087349.894 476702.11 0, 1087048.078 476697.002 0, 1086744.809 476691.888 0, 1086441.539 476686.791 0, 1086138.269 476681.712 0, 1085834.998 476676.651 0, 1085531.727 476671.608 0, 1085228.456 476666.583 0, 1084925.185 476661.575 0, 1084621.913 476656.586 0,
+ 1084318.641 476651.614 0, 1084015.369 476646.66 0, 1083712.096 476641.724 0, 1083408.824 476636.806 0, 1083105.55 476631.905 0, 1082802.277 476627.023 0, 1082499.003 476622.158 0, 1082195.729 476617.311 0, 1081892.455 476612.482 0, 1081589.181 476607.671 0,
+ 1081285.906 476602.878 0, 1080982.631 476598.103 0, 1080679.355 476593.345 0, 1080376.079 476588.605 0, 1080071.349 476583.861 0, 1079769.527 476579.18 0, 1079466.251 476574.493 0, 1079162.974 476569.825 0, 1078859.697 476565.175 0, 1078556.42 476560.542 0,
+ 1078253.142 476555.927 0, 1077949.864 476551.33 0, 1077646.586 476546.751 0, 1077343.307 476542.19 0, 1077040.029 476537.647 0, 1076736.75 476533.121 0, 1076433.471 476528.614 0, 1076130.191 476524.124 0, 1075826.911 476519.652 0, 1075523.631 476515.198 0,
+ 1075220.351 476510.762 0, 1074917.071 476506.343 0, 1074613.79 476501.943 0, 1074310.509 476497.56 0, 1074007.227 476493.195 0, 1073703.946 476488.848 0, 1073400.664 476484.519 0, 1073097.382 476480.208 0, 1072792.644 476475.894 0, 1072714.161 482031.456 0,
+ 1072635.673 487587.432 0, 1072939.754 487591.737 0, 1073242.382 487596.039 0, 1073545.009 487600.359 0, 1073847.637 487604.696 0, 1074150.264 487609.052 0, 1074452.891 487613.425 0, 1074755.518 487617.816 0, 1075058.145 487622.225 0, 1075360.771 487626.652 0,
+ 1075663.397 487631.096 0, 1075966.023 487635.558 0, 1076268.648 487640.038 0, 1076571.273 487644.536 0, 1076873.898 487649.052 0, 1077176.523 487653.586 0, 1077479.148 487658.137 0, 1077781.772 487662.706 0, 1078084.396 487667.293 0, 1078387.019 487671.898 0,
+ 1078689.643 487676.521 0, 1078992.266 487681.161 0, 1079294.888 487685.819 0, 1079597.511 487690.495 0, 1079898.682 487695.167 0, 1080202.755 487699.901 0, 1080505.377 487704.63 0, 1080807.998 487709.378 0, 1081110.619 487714.143 0, 1081413.24 487718.926 0,
+ 1081715.861 487723.726 0, 1082018.481 487728.545 0, 1082321.101 487733.381 0, 1082623.721 487738.235 0, 1082926.34 487743.107 0, 1083228.96 487747.997 0, 1083531.578 487752.905 0, 1083834.197 487757.83 0, 1084136.815 487762.773 0, 1084439.433 487767.734 0,
+ 1084742.051 487772.713 0, 1085044.668 487777.71 0, 1085347.285 487782.724 0, 1085649.902 487787.757 0, 1085952.519 487792.807 0, 1086255.135 487797.875 0, 1086557.751 487802.96 0, 1086860.367 487808.064 0, 1087161.532 487813.161 0, 1087255.716 482257.428 0,
+ 1087349.894 476702.11 0))
+
+POLYGON ((1101686.695 488079.926 0, 1101385.543 488073.979 0, 1101082.943 488068.02 0, 1100780.343 488062.08 0, 1100477.742 488056.157 0, 1100175.141 488050.252 0, 1099872.54 488044.365 0, 1099569.938 488038.495 0, 1099267.336 488032.644 0, 1098964.733 488026.81 0,
+ 1098662.131 488020.994 0, 1098359.528 488015.196 0, 1098056.924 488009.415 0, 1097754.32 488003.653 0, 1097451.716 487997.908 0, 1097149.112 487992.181 0, 1096846.507 487986.472 0, 1096543.902 487980.781 0, 1096241.296 487975.107 0, 1095938.691 487969.452 0,
+ 1095636.084 487963.814 0, 1095333.478 487958.194 0, 1095030.871 487952.592 0, 1094728.264 487947.007 0, 1094424.208 487941.414 0, 1094123.049 487935.892 0, 1093820.441 487930.361 0, 1093517.832 487924.848 0, 1093215.223 487919.352 0, 1092912.614 487913.875 0,
+ 1092610.005 487908.415 0, 1092307.395 487902.973 0, 1092004.785 487897.549 0, 1091702.175 487892.143 0, 1091399.564 487886.754 0, 1091096.953 487881.383 0, 1090794.342 487876.031 0, 1090491.73 487870.695 0, 1090189.118 487865.378 0, 1089886.506 487860.079 0,
+ 1089583.893 487854.797 0, 1089281.281 487849.533 0, 1088978.667 487844.287 0, 1088676.054 487839.059 0, 1088373.44 487833.849 0, 1088070.826 487828.656 0, 1087768.212 487823.481 0, 1087465.597 487818.324 0, 1087161.532 487813.161 0, 1087067.34 493369.305 0,
+ 1086973.141 498925.857 0, 1087276.549 498931.01 0, 1087578.51 498936.155 0, 1087880.47 498941.319 0, 1088182.43 498946.5 0, 1088484.39 498951.699 0, 1088786.349 498956.916 0, 1089088.308 498962.151 0, 1089390.267 498967.404 0, 1089692.226 498972.674 0,
+ 1089994.184 498977.962 0, 1090296.142 498983.267 0, 1090598.099 498988.591 0, 1090900.057 498993.932 0, 1091202.014 498999.291 0, 1091503.97 499004.668 0, 1091805.926 499010.063 0, 1092107.882 499015.475 0, 1092409.838 499020.905 0, 1092711.793 499026.353 0,
+ 1093013.748 499031.819 0, 1093315.703 499037.303 0, 1093617.658 499042.804 0, 1093919.612 499048.323 0, 1094220.119 499053.833 0, 1094523.519 499059.414 0, 1094825.472 499064.987 0, 1095127.425 499070.577 0, 1095429.377 499076.185 0, 1095731.329 499081.81 0,
+ 1096033.281 499087.454 0, 1096335.232 499093.115 0, 1096637.183 499098.794 0, 1096939.134 499104.491 0, 1097241.084 499110.205 0, 1097543.035 499115.938 0, 1097844.984 499121.688 0, 1098146.934 499127.456 0, 1098448.883 499133.241 0, 1098750.831 499139.045 0,
+ 1099052.78 499144.866 0, 1099354.728 499150.705 0, 1099656.676 499156.561 0, 1099958.623 499162.436 0, 1100260.57 499168.328 0, 1100562.517 499174.238 0, 1100864.463 499180.166 0, 1101166.409 499186.111 0, 1101466.91 499192.046 0, 1101576.806 493635.782 0,
+ 1101686.695 488079.926 0))
+
+POLYGON ((1115959.869 499499.182 0, 1115659.383 499492.398 0, 1115357.455 499485.6 0, 1115055.527 499478.819 0, 1114753.598 499472.056 0, 1114451.669 499465.31 0, 1114149.74 499458.583 0, 1113847.81 499451.873 0, 1113545.879 499445.181 0, 1113243.949 499438.507 0,
+ 1112942.017 499431.851 0, 1112640.086 499425.212 0, 1112338.154 499418.591 0, 1112036.222 499411.988 0, 1111734.289 499405.403 0, 1111432.356 499398.835 0, 1111130.423 499392.285 0, 1110828.489 499385.753 0, 1110526.554 499379.239 0, 1110224.62 499372.742 0,
+ 1109922.685 499366.264 0, 1109620.75 499359.803 0, 1109318.814 499353.36 0, 1109016.878 499346.934 0, 1108713.498 499340.496 0, 1108413.004 499334.137 0, 1108111.067 499327.765 0, 1107809.129 499321.41 0, 1107507.191 499315.074 0, 1107205.253 499308.755 0,
+ 1106903.314 499302.454 0, 1106601.375 499296.171 0, 1106299.436 499289.905 0, 1105997.496 499283.658 0, 1105695.556 499277.428 0, 1105393.615 499271.215 0, 1105091.674 499265.021 0, 1104789.733 499258.844 0, 1104487.791 499252.686 0, 1104185.849 499246.545 0,
+ 1103883.907 499240.421 0, 1103581.964 499234.316 0, 1103280.021 499228.228 0, 1102978.077 499222.158 0, 1102676.133 499216.106 0, 1102374.189 499210.071 0, 1102072.245 499204.055 0, 1101770.3 499198.056 0, 1101466.91 499192.046 0, 1101357.005 504748.716 0,
+ 1101247.092 510305.787 0, 1101549.825 510311.784 0, 1101851.116 510317.77 0, 1102152.406 510323.773 0, 1102453.696 510329.795 0, 1102754.986 510335.834 0, 1103056.275 510341.891 0, 1103357.564 510347.965 0, 1103658.853 510354.058 0, 1103960.141 510360.168 0,
+ 1104261.429 510366.295 0, 1104562.717 510372.441 0, 1104864.004 510378.604 0, 1105165.291 510384.785 0, 1105466.577 510390.984 0, 1105767.863 510397.2 0, 1106069.149 510403.434 0, 1106370.435 510409.686 0, 1106671.72 510415.956 0, 1106973.004 510422.243 0,
+ 1107274.288 510428.548 0, 1107575.572 510434.871 0, 1107876.856 510441.212 0, 1108178.139 510447.57 0, 1108477.981 510453.915 0, 1108780.704 510460.34 0, 1109081.986 510466.751 0, 1109383.268 510473.18 0, 1109684.549 510479.627 0, 1109985.83 510486.092 0,
+ 1110287.11 510492.574 0, 1110588.391 510499.074 0, 1110889.67 510505.592 0, 1111190.95 510512.128 0, 1111492.229 510518.681 0, 1111793.507 510525.252 0, 1112094.785 510531.841 0, 1112396.063 510538.448 0, 1112697.341 510545.072 0, 1112998.618 510551.714 0,
+ 1113299.894 510558.374 0, 1113601.17 510565.051 0, 1113902.446 510571.746 0, 1114203.722 510578.459 0, 1114504.997 510585.19 0, 1114806.271 510591.938 0, 1115107.546 510598.705 0, 1115408.82 510605.488 0, 1115708.654 510612.258 0, 1115834.266 505055.519 0,
+ 1115959.869 499499.182 0))
+
+POLYGON ((1130169.292 510959.583 0, 1129869.475 510951.967 0, 1129568.222 510944.332 0, 1129266.968 510936.715 0, 1128965.714 510929.115 0, 1128664.459 510921.533 0, 1128363.203 510913.969 0, 1128061.948 510906.423 0, 1127760.692 510898.894 0, 1127459.435 510891.383 0,
+ 1127158.178 510883.89 0, 1126856.92 510876.415 0, 1126555.663 510868.957 0, 1126254.404 510861.517 0, 1125953.145 510854.095 0, 1125651.886 510846.691 0, 1125350.626 510839.304 0, 1125049.366 510831.935 0, 1124748.106 510824.583 0, 1124446.845 510817.25 0,
+ 1124145.583 510809.934 0, 1123844.322 510802.636 0, 1123543.059 510795.356 0, 1123241.797 510788.093 0, 1122939.095 510780.814 0, 1122639.27 510773.621 0, 1122338.006 510766.412 0, 1122036.741 510759.22 0, 1121735.477 510752.046 0, 1121434.211 510744.89 0,
+ 1121132.946 510737.751 0, 1120831.68 510730.63 0, 1120530.413 510723.527 0, 1120229.146 510716.442 0, 1119927.879 510709.374 0, 1119626.611 510702.324 0, 1119325.343 510695.292 0, 1119024.074 510688.278 0, 1118722.805 510681.281 0, 1118421.536 510674.302 0,
+ 1118120.266 510667.341 0, 1117818.996 510660.398 0, 1117517.725 510653.472 0, 1117216.454 510646.564 0, 1116915.183 510639.674 0, 1116613.911 510632.801 0, 1116312.639 510625.946 0, 1116011.366 510619.109 0, 1115708.654 510612.258 0, 1115583.033 516169.396 0,
+ 1115457.403 521726.93 0, 1115759.458 521733.767 0, 1116060.076 521740.589 0, 1116360.694 521747.429 0, 1116661.312 521754.286 0, 1116961.929 521761.162 0, 1117262.546 521768.055 0, 1117563.163 521774.965 0, 1117863.779 521781.894 0, 1118164.394 521788.84 0,
+ 1118465.01 521795.804 0, 1118765.624 521802.785 0, 1119066.239 521809.784 0, 1119366.853 521816.801 0, 1119667.466 521823.836 0, 1119968.08 521830.888 0, 1120268.692 521837.958 0, 1120569.305 521845.045 0, 1120869.917 521852.151 0, 1121170.528 521859.274 0,
+ 1121471.139 521866.415 0, 1121771.75 521873.573 0, 1122072.36 521880.749 0, 1122372.97 521887.943 0, 1122672.144 521895.12 0, 1122974.188 521902.383 0, 1123274.797 521909.63 0, 1123575.405 521916.895 0, 1123876.012 521924.177 0, 1124176.62 521931.477 0,
+ 1124477.227 521938.795 0, 1124777.833 521946.13 0, 1125078.439 521953.483 0, 1125379.044 521960.854 0, 1125679.65 521968.242 0, 1125980.254 521975.648 0, 1126280.858 521983.072 0, 1126581.462 521990.514 0, 1126882.066 521997.973 0, 1127182.668 522005.45 0,
+ 1127483.271 522012.944 0, 1127783.873 522020.456 0, 1128084.474 522027.986 0, 1128385.076 522035.534 0, 1128685.676 522043.099 0, 1128986.277 522050.682 0, 1129286.876 522058.283 0, 1129587.476 522065.901 0, 1129886.641 522073.501 0, 1130027.971 516516.344 0,
+ 1130169.292 510959.583 0))
+
+POLYGON ((1144314.842 522460.836 0, 1144015.697 522452.391 0, 1143715.121 522443.924 0, 1143414.543 522435.474 0, 1143113.966 522427.042 0, 1142813.388 522418.627 0, 1142512.809 522410.23 0, 1142212.23 522401.851 0, 1141911.65 522393.49 0, 1141611.07 522385.146 0,
+ 1141310.49 522376.82 0, 1141009.909 522368.511 0, 1140709.327 522360.221 0, 1140408.745 522351.948 0, 1140108.163 522343.692 0, 1139807.58 522335.455 0, 1139506.996 522327.235 0, 1139206.412 522319.032 0, 1138905.828 522310.848 0, 1138605.243 522302.681 0,
+ 1138304.657 522294.532 0, 1138004.071 522286.4 0, 1137703.485 522278.286 0, 1137402.898 522270.19 0, 1137100.878 522262.073 0, 1136801.723 522254.051 0, 1136501.135 522246.008 0, 1136200.546 522237.983 0, 1135899.957 522229.975 0, 1135599.367 522221.985 0,
+ 1135298.777 522214.013 0, 1134998.186 522206.058 0, 1134697.595 522198.122 0, 1134397.003 522190.202 0, 1134096.411 522182.301 0, 1133795.819 522174.417 0, 1133495.226 522166.551 0, 1133194.633 522158.702 0, 1132894.039 522150.872 0, 1132593.444 522143.059 0,
+ 1132292.849 522135.263 0, 1131992.254 522127.486 0, 1131691.658 522119.726 0, 1131391.062 522111.984 0, 1131090.466 522104.259 0, 1130789.869 522096.552 0, 1130489.271 522088.863 0, 1130188.673 522081.191 0, 1129886.641 522073.501 0, 1129745.3 527631.051 0,
+ 1129603.95 533188.991 0, 1129905.325 533196.664 0, 1130205.269 533204.319 0, 1130505.212 533211.992 0, 1130805.155 533219.682 0, 1131105.097 533227.39 0, 1131405.039 533235.115 0, 1131704.981 533242.858 0, 1132004.922 533250.619 0, 1132304.862 533258.397 0,
+ 1132604.802 533266.193 0, 1132904.742 533274.007 0, 1133204.681 533281.838 0, 1133504.62 533289.687 0, 1133804.558 533297.554 0, 1134104.496 533305.438 0, 1134404.433 533313.34 0, 1134704.37 533321.26 0, 1135004.307 533329.197 0, 1135304.243 533337.152 0,
+ 1135604.178 533345.124 0, 1135904.113 533353.115 0, 1136204.048 533361.122 0, 1136503.982 533369.148 0, 1136802.486 533377.153 0, 1137103.849 533385.252 0, 1137403.781 533393.331 0, 1137703.713 533401.427 0, 1138003.645 533409.54 0, 1138303.576 533417.672 0,
+ 1138603.507 533425.821 0, 1138903.437 533433.988 0, 1139203.367 533442.172 0, 1139503.296 533450.374 0, 1139803.225 533458.594 0, 1140103.154 533466.831 0, 1140403.081 533475.086 0, 1140703.009 533483.359 0, 1141002.936 533491.649 0, 1141302.862 533499.957 0,
+ 1141602.788 533508.283 0, 1141902.713 533516.626 0, 1142202.638 533524.987 0, 1142502.563 533533.366 0, 1142802.487 533541.762 0, 1143102.41 533550.176 0, 1143402.333 533558.607 0, 1143702.255 533567.057 0, 1144000.749 533575.483 0, 1144157.801 528017.965 0,
+ 1144314.842 522460.836 0))
+
+POLYGON ((1158396.399 534002.647 0, 1158097.928 533993.378 0, 1157798.03 533984.081 0, 1157498.132 533974.802 0, 1157198.234 533965.541 0, 1156898.335 533956.297 0, 1156598.435 533947.072 0, 1156298.535 533937.863 0, 1155998.635 533928.673 0, 1155698.734 533919.5 0,
+ 1155398.832 533910.344 0, 1155098.93 533901.207 0, 1154799.027 533892.087 0, 1154499.123 533882.984 0, 1154199.22 533873.9 0, 1153899.315 533864.833 0, 1153599.41 533855.783 0, 1153299.505 533846.752 0, 1152999.599 533837.738 0, 1152699.692 533828.741 0,
+ 1152399.785 533819.762 0, 1152099.878 533810.801 0, 1151799.97 533801.858 0, 1151500.061 533792.932 0, 1151198.725 533783.981 0, 1150900.242 533775.133 0, 1150600.332 533766.26 0, 1150300.421 533757.405 0, 1150000.51 533748.568 0, 1149700.598 533739.748 0,
+ 1149400.686 533730.945 0, 1149100.773 533722.161 0, 1148800.86 533713.394 0, 1148500.946 533704.645 0, 1148201.032 533695.913 0, 1147901.117 533687.199 0, 1147601.201 533678.503 0, 1147301.285 533669.824 0, 1147001.369 533661.163 0, 1146701.452 533652.52 0,
+ 1146401.535 533643.894 0, 1146101.617 533635.286 0, 1145801.698 533626.695 0, 1145501.779 533618.123 0, 1145201.86 533609.567 0, 1144901.94 533601.03 0, 1144602.02 533592.51 0, 1144302.099 533584.008 0, 1144000.749 533575.483 0, 1143843.686 539133.388 0,
+ 1143686.613 544691.677 0, 1143987.305 544700.183 0, 1144286.571 544708.667 0, 1144585.838 544717.168 0, 1144885.103 544725.687 0, 1145184.368 544734.223 0, 1145483.633 544742.777 0, 1145782.897 544751.349 0, 1146082.161 544759.938 0, 1146381.424 544768.545 0,
+ 1146680.687 544777.17 0, 1146979.949 544785.812 0, 1147279.21 544794.471 0, 1147578.471 544803.149 0, 1147877.732 544811.844 0, 1148176.992 544820.556 0, 1148476.252 544829.287 0, 1148775.511 544838.034 0, 1149074.769 544846.8 0, 1149374.027 544855.583 0,
+ 1149673.285 544864.384 0, 1149972.542 544873.202 0, 1150271.798 544882.038 0, 1150571.054 544890.891 0, 1150868.886 544899.72 0, 1151169.565 544908.651 0, 1151468.819 544917.557 0, 1151768.073 544926.481 0, 1152067.326 544935.423 0, 1152366.579 544944.382 0,
+ 1152665.831 544953.359 0, 1152965.083 544962.353 0, 1153264.334 544971.365 0, 1153563.585 544980.395 0, 1153862.835 544989.442 0, 1154162.085 544998.507 0, 1154461.334 545007.59 0, 1154760.582 545016.69 0, 1155059.83 545025.807 0, 1155359.078 545034.943 0,
+ 1155658.325 545044.096 0, 1155957.571 545053.266 0, 1156256.817 545062.454 0, 1156556.062 545071.66 0, 1156855.307 545080.884 0, 1157154.551 545090.125 0, 1157453.795 545099.383 0, 1157753.038 545108.659 0, 1158050.858 545117.909 0, 1158223.634 539560.086 0,
+ 1158396.399 534002.647 0))
+
+POLYGON ((1172413.842 545584.721 0, 1172116.047 545574.63 0, 1171816.832 545564.509 0, 1171517.615 545554.405 0, 1171218.398 545544.318 0, 1170919.181 545534.249 0, 1170619.963 545524.198 0, 1170320.744 545514.165 0, 1170021.525 545504.149 0, 1169722.305 545494.151 0,
+ 1169423.084 545484.17 0, 1169123.863 545474.207 0, 1168824.642 545464.261 0, 1168525.419 545454.333 0, 1168226.197 545444.423 0, 1167926.973 545434.53 0, 1167627.749 545424.655 0, 1167328.525 545414.798 0, 1167029.299 545404.958 0, 1166730.074 545395.136 0,
+ 1166430.847 545385.331 0, 1166131.621 545375.544 0, 1165832.393 545365.775 0, 1165533.165 545356.023 0, 1165232.515 545346.243 0, 1164934.707 545336.573 0, 1164635.478 545326.874 0, 1164336.247 545317.192 0, 1164037.016 545307.529 0, 1163737.785 545297.883 0,
+ 1163438.553 545288.254 0, 1163139.32 545278.643 0, 1162840.087 545269.05 0, 1162540.853 545259.474 0, 1162241.619 545249.916 0, 1161942.384 545240.376 0, 1161643.149 545230.853 0, 1161343.913 545221.348 0, 1161044.676 545211.86 0, 1160745.439 545202.39 0,
+ 1160446.202 545192.938 0, 1160146.964 545183.503 0, 1159847.725 545174.086 0, 1159548.486 545164.687 0, 1159249.246 545155.305 0, 1158950.005 545145.94 0, 1158650.764 545136.594 0, 1158351.523 545127.265 0, 1158050.858 545117.909 0, 1157878.07 550676.112 0,
+ 1157705.27 556234.692 0, 1158005.277 556244.027 0, 1158303.865 556253.336 0, 1158602.451 556262.662 0, 1158901.037 556272.006 0, 1159199.623 556281.368 0, 1159498.208 556290.747 0, 1159796.792 556300.143 0, 1160095.376 556309.557 0, 1160393.96 556318.989 0,
+ 1160692.542 556328.438 0, 1160991.125 556337.905 0, 1161289.706 556347.389 0, 1161588.287 556356.891 0, 1161886.868 556366.411 0, 1162185.448 556375.948 0, 1162484.027 556385.503 0, 1162782.606 556395.075 0, 1163081.184 556404.665 0, 1163379.762 556414.272 0,
+ 1163678.339 556423.897 0, 1163976.916 556433.54 0, 1164275.492 556443.2 0, 1164574.067 556452.878 0, 1164871.224 556462.527 0, 1165171.217 556472.286 0, 1165469.79 556482.016 0, 1165768.364 556491.764 0, 1166066.936 556501.53 0, 1166365.508 556511.313 0,
+ 1166664.08 556521.114 0, 1166962.65 556530.932 0, 1167261.221 556540.768 0, 1167559.79 556550.621 0, 1167858.36 556560.492 0, 1168156.928 556570.381 0, 1168455.496 556580.287 0, 1168754.064 556590.211 0, 1169052.63 556600.152 0, 1169351.197 556610.111 0,
+ 1169649.762 556620.088 0, 1169948.327 556630.082 0, 1170246.892 556640.093 0, 1170545.455 556650.122 0, 1170844.019 556660.169 0, 1171142.581 556670.233 0, 1171441.144 556680.315 0, 1171739.705 556690.415 0, 1172036.849 556700.484 0, 1172225.352 551142.414 0,
+ 1172413.842 545584.721 0))
+
+POLYGON ((1186367.054 557206.763 0, 1186069.938 557195.854 0, 1185771.406 557184.911 0, 1185472.874 557173.986 0, 1185174.341 557163.078 0, 1184875.807 557152.188 0, 1184577.273 557141.315 0, 1184278.738 557130.46 0, 1183980.202 557119.623 0, 1183681.666 557108.803 0,
+ 1183383.129 557098.001 0, 1183084.591 557087.216 0, 1182786.053 557076.449 0, 1182487.514 557065.699 0, 1182188.975 557054.967 0, 1181890.435 557044.252 0, 1181591.894 557033.555 0, 1181293.353 557022.876 0, 1180994.811 557012.214 0, 1180696.268 557001.57 0,
+ 1180397.725 556990.944 0, 1180099.181 556980.334 0, 1179800.637 556969.743 0, 1179502.092 556959.169 0, 1179202.13 556948.563 0, 1178905 556938.074 0, 1178606.453 556927.553 0, 1178307.905 556917.049 0, 1178009.357 556906.563 0, 1177710.808 556896.094 0,
+ 1177412.259 556885.644 0, 1177113.709 556875.21 0, 1176815.158 556864.794 0, 1176516.607 556854.396 0, 1176218.055 556844.016 0, 1175919.503 556833.653 0, 1175620.95 556823.307 0, 1175322.396 556812.979 0, 1175023.842 556802.669 0, 1174725.287 556792.376 0,
+ 1174426.732 556782.101 0, 1174128.175 556771.843 0, 1173829.619 556761.603 0, 1173531.061 556751.381 0, 1173232.504 556741.176 0, 1172933.945 556730.988 0, 1172635.386 556720.819 0, 1172336.826 556710.667 0, 1172036.849 556700.484 0, 1171848.333 562258.928 0,
+ 1171659.805 567817.743 0, 1171959.125 567827.903 0, 1172257.03 567838.033 0, 1172554.935 567848.18 0, 1172852.839 567858.345 0, 1173150.742 567868.528 0, 1173448.645 567878.728 0, 1173746.548 567888.946 0, 1174044.45 567899.181 0, 1174342.351 567909.433 0,
+ 1174640.251 567919.704 0, 1174938.151 567929.991 0, 1175236.051 567940.297 0, 1175533.949 567950.62 0, 1175831.847 567960.96 0, 1176129.745 567971.318 0, 1176427.642 567981.693 0, 1176725.538 567992.086 0, 1177023.434 568002.497 0, 1177321.329 568012.925 0,
+ 1177619.223 568023.37 0, 1177917.117 568033.833 0, 1178215.01 568044.314 0, 1178512.903 568054.812 0, 1178809.382 568065.278 0, 1179108.686 568075.861 0, 1179406.577 568086.412 0, 1179704.467 568096.98 0, 1180002.357 568107.566 0, 1180300.246 568118.169 0,
+ 1180598.134 568128.79 0, 1180896.022 568139.428 0, 1181193.909 568150.084 0, 1181491.795 568160.758 0, 1181789.681 568171.449 0, 1182087.566 568182.157 0, 1182385.45 568192.883 0, 1182683.334 568203.627 0, 1182981.218 568214.388 0, 1183279.1 568225.167 0,
+ 1183576.982 568235.963 0, 1183874.863 568246.777 0, 1184172.744 568257.608 0, 1184470.624 568268.457 0, 1184768.504 568279.323 0, 1185066.382 568290.207 0, 1185364.26 568301.109 0, 1185662.138 568312.027 0, 1185958.603 568322.912 0, 1186162.836 562764.652 0,
+ 1186367.054 557206.763 0))
+
+POLYGON ((1200255.918 568868.476 0, 1199959.482 568856.754 0, 1199661.637 568844.994 0, 1199363.79 568833.251 0, 1199065.944 568821.525 0, 1198768.096 568809.817 0, 1198470.248 568798.127 0, 1198172.399 568786.454 0, 1197874.549 568774.799 0, 1197576.699 568763.161 0,
+ 1197278.848 568751.541 0, 1196980.997 568739.938 0, 1196683.144 568728.353 0, 1196385.291 568716.786 0, 1196087.438 568705.236 0, 1195789.583 568693.703 0, 1195491.728 568682.188 0, 1195193.872 568670.69 0, 1194896.016 568659.21 0, 1194598.159 568647.748 0,
+ 1194300.301 568636.303 0, 1194002.443 568624.876 0, 1193704.584 568613.466 0, 1193406.724 568602.074 0, 1193107.453 568590.645 0, 1192811.002 568579.342 0, 1192513.141 568568.002 0, 1192215.278 568556.68 0, 1191917.415 568545.375 0, 1191619.551 568534.088 0,
+ 1191321.687 568522.818 0, 1191023.822 568511.566 0, 1190725.956 568500.332 0, 1190428.09 568489.115 0, 1190130.223 568477.915 0, 1189832.355 568466.734 0, 1189534.486 568455.569 0, 1189236.617 568444.422 0, 1188938.748 568433.293 0, 1188640.877 568422.181 0,
+ 1188343.006 568411.087 0, 1188045.135 568400.01 0, 1187747.262 568388.951 0, 1187449.389 568377.909 0, 1187151.516 568366.885 0, 1186853.641 568355.879 0, 1186555.767 568344.89 0, 1186257.891 568333.918 0, 1185958.603 568322.912 0, 1185754.357 573881.54 0,
+ 1185550.098 579440.532 0, 1185848.729 579451.514 0, 1186145.95 579462.461 0, 1186443.17 579473.426 0, 1186740.39 579484.409 0, 1187037.609 579495.409 0, 1187334.828 579506.426 0, 1187632.046 579517.461 0, 1187929.263 579528.513 0, 1188226.48 579539.583 0,
+ 1188523.696 579550.671 0, 1188820.911 579561.775 0, 1189118.126 579572.898 0, 1189415.34 579584.038 0, 1189712.553 579595.195 0, 1190009.766 579606.37 0, 1190306.978 579617.562 0, 1190604.19 579628.772 0, 1190901.4 579639.999 0, 1191198.611 579651.244 0,
+ 1191495.82 579662.507 0, 1191793.029 579673.786 0, 1192090.237 579685.084 0, 1192387.444 579696.398 0, 1192683.244 579707.677 0, 1192981.857 579719.081 0, 1193279.063 579730.448 0, 1193576.267 579741.833 0, 1193873.471 579753.235 0, 1194170.675 579764.655 0,
+ 1194467.878 579776.092 0, 1194765.08 579787.547 0, 1195062.281 579799.019 0, 1195359.482 579810.509 0, 1195656.682 579822.016 0, 1195953.881 579833.54 0, 1196251.08 579845.083 0, 1196548.278 579856.642 0, 1196845.475 579868.22 0, 1197142.672 579879.814 0,
+ 1197439.868 579891.426 0, 1197737.063 579903.056 0, 1198034.258 579914.703 0, 1198331.452 579926.368 0, 1198628.645 579938.05 0, 1198925.838 579949.75 0, 1199223.029 579961.467 0, 1199520.221 579973.201 0, 1199816.005 579984.898 0, 1200035.969 574426.505 0,
+ 1200255.918 568868.476 0))
+
+POLYGON ((1214080.317 580569.565 0, 1213784.564 580557.033 0, 1213487.408 580544.459 0, 1213190.25 580531.902 0, 1212893.092 580519.363 0, 1212595.933 580506.841 0, 1212298.773 580494.337 0, 1212001.612 580481.85 0, 1211704.451 580469.381 0, 1211407.289 580456.929 0,
+ 1211110.126 580444.495 0, 1210812.963 580432.078 0, 1210515.799 580419.679 0, 1210218.634 580407.297 0, 1209921.468 580394.933 0, 1209624.302 580382.586 0, 1209327.135 580370.257 0, 1209029.967 580357.945 0, 1208732.799 580345.65 0, 1208435.629 580333.374 0,
+ 1208138.459 580321.114 0, 1207841.289 580308.872 0, 1207544.117 580296.648 0, 1207246.945 580284.441 0, 1206948.367 580272.194 0, 1206652.599 580260.08 0, 1206355.424 580247.925 0, 1206058.249 580235.788 0, 1205761.074 580223.669 0, 1205463.897 580211.567 0,
+ 1205166.72 580199.483 0, 1204869.542 580187.416 0, 1204572.364 580175.366 0, 1204275.184 580163.334 0, 1203978.004 580151.32 0, 1203680.824 580139.323 0, 1203383.642 580127.343 0, 1203086.46 580115.381 0, 1202789.277 580103.437 0, 1202492.094 580091.51 0,
+ 1202194.91 580079.6 0, 1201897.725 580067.708 0, 1201600.539 580055.833 0, 1201303.353 580043.976 0, 1201006.166 580032.137 0, 1200708.978 580020.315 0, 1200411.79 580008.51 0, 1200114.601 579996.723 0, 1199816.005 579984.898 0, 1199596.027 585543.652 0,
+ 1199376.035 591102.765 0, 1199673.973 591114.564 0, 1199970.508 591126.325 0, 1200267.042 591138.104 0, 1200563.575 591149.9 0, 1200860.108 591161.713 0, 1201156.64 591173.544 0, 1201453.171 591185.392 0, 1201749.702 591197.258 0, 1202046.232 591209.142 0,
+ 1202342.761 591221.042 0, 1202639.289 591232.961 0, 1202935.817 591244.896 0, 1203232.344 591256.849 0, 1203528.87 591268.82 0, 1203825.396 591280.808 0, 1204121.921 591292.814 0, 1204418.445 591304.836 0, 1204714.969 591316.877 0, 1205011.491 591328.935 0,
+ 1205308.013 591341.01 0, 1205604.535 591353.103 0, 1205901.055 591365.213 0, 1206197.575 591377.341 0, 1206492.693 591389.428 0, 1206790.613 591401.648 0, 1207087.131 591413.828 0, 1207383.648 591426.026 0, 1207680.164 591438.241 0, 1207976.68 591450.473 0,
+ 1208273.195 591462.723 0, 1208569.709 591474.99 0, 1208866.223 591487.275 0, 1209162.735 591499.577 0, 1209459.247 591511.897 0, 1209755.759 591524.234 0, 1210052.269 591536.588 0, 1210348.779 591548.96 0, 1210645.288 591561.35 0, 1210941.797 591573.757 0,
+ 1211238.304 591586.181 0, 1211534.811 591598.623 0, 1211831.318 591611.082 0, 1212127.823 591623.559 0, 1212424.328 591636.053 0, 1212720.832 591648.564 0, 1213017.335 591661.093 0, 1213313.837 591673.64 0, 1213608.939 591686.145 0, 1213844.635 586127.676 0,
+ 1214080.317 580569.565 0))
+
+POLYGON ((1227840.138 592309.733 0, 1227545.07 592296.394 0, 1227248.605 592283.01 0, 1226952.138 592269.643 0, 1226655.67 592256.294 0, 1226359.202 592242.962 0, 1226062.733 592229.648 0, 1225766.263 592216.351 0, 1225469.793 592203.072 0, 1225173.321 592189.81 0,
+ 1224876.849 592176.565 0, 1224580.376 592163.338 0, 1224283.902 592150.129 0, 1223987.428 592136.936 0, 1223690.953 592123.762 0, 1223394.477 592110.604 0, 1223098 592097.465 0, 1222801.522 592084.342 0, 1222505.044 592071.237 0, 1222208.565 592058.15 0,
+ 1221912.085 592045.08 0, 1221615.604 592032.027 0, 1221319.123 592018.992 0, 1221022.641 592005.974 0, 1220724.758 591992.913 0, 1220429.674 591979.991 0, 1220133.189 591967.026 0, 1219836.704 591954.078 0, 1219540.218 591941.148 0, 1219243.731 591928.235 0,
+ 1218947.244 591915.339 0, 1218650.755 591902.461 0, 1218354.266 591889.601 0, 1218057.777 591876.757 0, 1217761.286 591863.932 0, 1217464.795 591851.123 0, 1217168.303 591838.333 0, 1216871.81 591825.559 0, 1216575.316 591812.803 0, 1216278.822 591800.065 0,
+ 1215982.327 591787.344 0, 1215685.831 591774.64 0, 1215389.334 591761.954 0, 1215092.837 591749.285 0, 1214796.339 591736.634 0, 1214499.84 591724 0, 1214203.341 591711.384 0, 1213906.84 591698.785 0, 1213608.939 591686.145 0, 1213373.227 597244.968 0,
+ 1213137.5 602804.143 0, 1213434.744 602816.756 0, 1213730.59 602829.327 0, 1214026.436 602841.916 0, 1214322.28 602854.522 0, 1214618.124 602867.145 0, 1214913.967 602879.786 0, 1215209.809 602892.444 0, 1215505.65 602905.119 0, 1215801.491 602917.812 0,
+ 1216097.331 602930.523 0, 1216393.17 602943.25 0, 1216689.009 602955.996 0, 1216984.846 602968.758 0, 1217280.683 602981.538 0, 1217576.52 602994.336 0, 1217872.355 603007.15 0, 1218168.19 603019.983 0, 1218464.024 603032.832 0, 1218759.857 603045.699 0,
+ 1219055.689 603058.584 0, 1219351.521 603071.486 0, 1219647.352 603084.405 0, 1219943.182 603097.342 0, 1220237.615 603110.235 0, 1220534.84 603123.267 0, 1220830.668 603136.256 0, 1221126.495 603149.263 0, 1221422.321 603162.286 0, 1221718.147 603175.328 0,
+ 1222013.972 603188.386 0, 1222309.796 603201.462 0, 1222605.619 603214.556 0, 1222901.442 603227.666 0, 1223197.263 603240.795 0, 1223493.084 603253.94 0, 1223788.904 603267.103 0, 1224084.724 603280.284 0, 1224380.542 603293.482 0, 1224676.36 603306.697 0,
+ 1224972.177 603319.93 0, 1225267.994 603333.18 0, 1225563.809 603346.447 0, 1225859.624 603359.732 0, 1226155.438 603373.035 0, 1226451.251 603386.355 0, 1226747.063 603399.692 0, 1227042.875 603413.046 0, 1227337.291 603426.355 0, 1227588.722 597867.868 0,
+ 1227840.138 592309.733 0))
+
+POLYGON ((1241535.266 604088.682 0, 1241240.887 604074.541 0, 1240945.114 604060.351 0, 1240649.341 604046.178 0, 1240353.566 604032.022 0, 1240057.791 604017.884 0, 1239762.015 604003.764 0, 1239466.238 603989.66 0, 1239170.461 603975.575 0, 1238874.682 603961.506 0,
+ 1238578.903 603947.455 0, 1238283.123 603933.422 0, 1237987.342 603919.405 0, 1237691.56 603905.407 0, 1237395.777 603891.425 0, 1237099.994 603877.461 0, 1236804.21 603863.515 0, 1236508.425 603849.586 0, 1236212.639 603835.674 0, 1235916.852 603821.78 0,
+ 1235621.064 603807.903 0, 1235325.276 603794.043 0, 1235029.487 603780.201 0, 1234733.697 603766.377 0, 1234436.512 603752.504 0, 1234142.115 603738.78 0, 1233846.322 603725.007 0, 1233550.529 603711.252 0, 1233254.735 603697.514 0, 1232958.94 603683.794 0,
+ 1232663.144 603670.091 0, 1232367.348 603656.406 0, 1232071.551 603642.738 0, 1231775.753 603629.088 0, 1231479.954 603615.454 0, 1231184.154 603601.839 0, 1230888.353 603588.24 0, 1230592.552 603574.659 0, 1230296.75 603561.096 0, 1230000.947 603547.55 0,
+ 1229705.144 603534.021 0, 1229409.339 603520.51 0, 1229113.534 603507.016 0, 1228817.728 603493.539 0, 1228521.921 603480.08 0, 1228226.113 603466.639 0, 1227930.305 603453.215 0, 1227634.496 603439.808 0, 1227337.291 603426.355 0, 1227085.844 608985.191 0,
+ 1226834.381 614544.371 0, 1227130.928 614557.794 0, 1227426.083 614571.171 0, 1227721.237 614584.566 0, 1228016.39 614597.978 0, 1228311.543 614611.407 0, 1228606.695 614624.854 0, 1228901.846 614638.318 0, 1229196.996 614651.799 0, 1229492.145 614665.298 0,
+ 1229787.293 614678.814 0, 1230082.441 614692.347 0, 1230377.588 614705.898 0, 1230672.734 614719.466 0, 1230967.88 614733.052 0, 1231263.024 614746.655 0, 1231558.168 614760.275 0, 1231853.311 614773.913 0, 1232148.453 614787.568 0, 1232443.594 614801.241 0,
+ 1232738.735 614814.931 0, 1233033.874 614828.638 0, 1233329.013 614842.362 0, 1233624.151 614856.104 0, 1233917.898 614869.799 0, 1234214.425 614883.641 0, 1234509.561 614897.435 0, 1234804.695 614911.246 0, 1235099.829 614925.075 0, 1235394.963 614938.921 0,
+ 1235690.095 614952.785 0, 1235985.227 614966.666 0, 1236280.357 614980.564 0, 1236575.487 614994.48 0, 1236870.616 615008.413 0, 1237165.745 615022.363 0, 1237460.872 615036.331 0, 1237755.999 615050.316 0, 1238051.125 615064.318 0, 1238346.25 615078.338 0,
+ 1238641.374 615092.376 0, 1238936.497 615106.43 0, 1239231.62 615120.502 0, 1239526.742 615134.592 0, 1239821.862 615148.698 0, 1240116.982 615162.823 0, 1240412.102 615176.964 0, 1240707.22 615191.123 0, 1241000.948 615205.232 0, 1241268.116 609646.784 0,
+ 1241535.266 604088.682 0))
+
+POLYGON ((1255165.592 615906.114 0, 1254871.902 615891.175 0, 1254576.825 615876.182 0, 1254281.747 615861.207 0, 1253986.668 615846.249 0, 1253691.588 615831.309 0, 1253396.508 615816.385 0, 1253101.426 615801.48 0, 1252806.344 615786.591 0, 1252511.26 615771.72 0,
+ 1252216.176 615756.867 0, 1251921.091 615742.031 0, 1251626.005 615727.212 0, 1251330.918 615712.41 0, 1251035.83 615697.626 0, 1250740.742 615682.859 0, 1250445.652 615668.11 0, 1250150.562 615653.378 0, 1249855.471 615638.663 0, 1249560.379 615623.966 0,
+ 1249265.286 615609.286 0, 1248970.192 615594.623 0, 1248675.098 615579.978 0, 1248380.002 615565.35 0, 1248083.518 615550.671 0, 1247789.808 615536.147 0, 1247494.71 615521.571 0, 1247199.611 615507.012 0, 1246904.512 615492.471 0, 1246609.411 615477.948 0,
+ 1246314.31 615463.442 0, 1246019.207 615448.953 0, 1245724.104 615434.481 0, 1245429 615420.027 0, 1245133.895 615405.59 0, 1244838.789 615391.171 0, 1244543.683 615376.769 0, 1244248.575 615362.384 0, 1243953.467 615348.017 0, 1243658.358 615333.667 0,
+ 1243363.248 615319.334 0, 1243068.137 615305.019 0, 1242773.025 615290.721 0, 1242477.913 615276.441 0, 1242182.799 615262.178 0, 1241887.685 615247.932 0, 1241592.57 615233.704 0, 1241297.454 615219.493 0, 1241000.948 615205.232 0, 1240733.764 620764.022 0,
+ 1240466.564 626323.151 0, 1240762.413 626337.379 0, 1241056.874 626351.559 0, 1241351.335 626365.756 0, 1241645.795 626379.97 0, 1241940.254 626394.201 0, 1242234.712 626408.45 0, 1242529.169 626422.716 0, 1242823.626 626437 0, 1243118.081 626451.3 0,
+ 1243412.536 626465.618 0, 1243706.99 626479.954 0, 1244001.443 626494.307 0, 1244295.895 626508.677 0, 1244590.347 626523.064 0, 1244884.797 626537.469 0, 1245179.247 626551.891 0, 1245473.696 626566.33 0, 1245768.144 626580.787 0, 1246062.591 626595.261 0,
+ 1246357.037 626609.753 0, 1246651.483 626624.262 0, 1246945.927 626638.788 0, 1247240.371 626653.331 0, 1247533.429 626667.823 0, 1247829.256 626682.47 0, 1248123.697 626697.065 0, 1248418.138 626711.678 0, 1248712.577 626726.308 0, 1249007.016 626740.955 0,
+ 1249301.453 626755.62 0, 1249595.89 626770.302 0, 1249890.326 626785.002 0, 1250184.761 626799.718 0, 1250479.196 626814.452 0, 1250773.629 626829.204 0, 1251068.062 626843.972 0, 1251362.493 626858.758 0, 1251656.924 626873.562 0, 1251951.354 626888.382 0,
+ 1252245.783 626903.221 0, 1252540.211 626918.076 0, 1252834.638 626932.949 0, 1253129.065 626947.839 0, 1253423.49 626962.746 0, 1253717.915 626977.671 0, 1254012.339 626992.613 0, 1254306.762 627007.572 0, 1254599.8 627022.478 0, 1254882.705 621464.127 0,
+ 1255165.592 615906.114 0))
+
+POLYGON ((1268731.004 627761.732 0, 1268438.006 627745.998 0, 1268143.627 627730.207 0, 1267849.246 627714.433 0, 1267554.865 627698.676 0, 1267260.483 627682.937 0, 1266966.1 627667.216 0, 1266671.716 627651.511 0, 1266377.331 627635.824 0, 1266082.945 627620.154 0,
+ 1265788.558 627604.502 0, 1265494.17 627588.867 0, 1265199.781 627573.249 0, 1264905.392 627557.648 0, 1264611.001 627542.065 0, 1264316.61 627526.499 0, 1264022.217 627510.951 0, 1263727.824 627495.42 0, 1263433.43 627479.906 0, 1263139.035 627464.409 0,
+ 1262844.639 627448.93 0, 1262550.242 627433.468 0, 1262255.844 627418.024 0, 1261961.445 627402.597 0, 1261665.663 627387.115 0, 1261372.645 627371.794 0, 1261078.243 627356.419 0, 1260783.841 627341.061 0, 1260489.438 627325.721 0, 1260195.033 627310.397 0,
+ 1259900.628 627295.092 0, 1259606.222 627279.803 0, 1259311.815 627264.532 0, 1259017.408 627249.278 0, 1258722.999 627234.041 0, 1258428.589 627218.822 0, 1258134.179 627203.62 0, 1257839.768 627188.435 0, 1257545.355 627173.268 0, 1257250.942 627158.118 0,
+ 1256956.528 627142.986 0, 1256662.113 627127.87 0, 1256367.697 627112.772 0, 1256073.281 627097.692 0, 1255778.863 627082.628 0, 1255484.445 627067.582 0, 1255190.025 627052.554 0, 1254895.605 627037.543 0, 1254599.8 627022.478 0, 1254316.878 632581.165 0,
+ 1254033.94 638140.183 0, 1254329.087 638155.214 0, 1254622.853 638170.192 0, 1254916.618 638185.187 0, 1255210.382 638200.2 0, 1255504.146 638215.23 0, 1255797.908 638230.277 0, 1256091.669 638245.341 0, 1256385.43 638260.423 0, 1256679.19 638275.522 0,
+ 1256972.948 638290.638 0, 1257266.706 638305.772 0, 1257560.463 638320.923 0, 1257854.22 638336.091 0, 1258147.975 638351.276 0, 1258441.729 638366.479 0, 1258735.483 638381.699 0, 1259029.235 638396.936 0, 1259322.987 638412.191 0, 1259616.738 638427.463 0,
+ 1259910.487 638442.752 0, 1260204.236 638458.058 0, 1260497.984 638473.382 0, 1260791.732 638488.723 0, 1261084.098 638504.009 0, 1261379.223 638519.457 0, 1261672.968 638534.85 0, 1261966.711 638550.26 0, 1262260.454 638565.688 0, 1262554.196 638581.132 0,
+ 1262847.936 638596.594 0, 1263141.676 638612.074 0, 1263435.415 638627.57 0, 1263729.153 638643.084 0, 1264022.891 638658.616 0, 1264316.627 638674.164 0, 1264610.362 638689.73 0, 1264904.097 638705.313 0, 1265197.83 638720.913 0, 1265491.563 638736.531 0,
+ 1265785.294 638752.166 0, 1266079.025 638767.818 0, 1266372.755 638783.488 0, 1266666.484 638799.175 0, 1266960.212 638814.879 0, 1267253.939 638830.6 0, 1267547.665 638846.339 0, 1267841.39 638862.095 0, 1268133.736 638877.794 0, 1268432.379 633319.597 0,
+ 1268731.004 627761.732 0))
+
+POLYGON ((1282231.392 639655.236 0, 1281939.089 639638.711 0, 1281645.41 639622.125 0, 1281351.729 639605.557 0, 1281058.048 639589.006 0, 1280764.366 639572.472 0, 1280470.682 639555.955 0, 1280176.998 639539.456 0, 1279883.312 639522.974 0, 1279589.626 639506.509 0,
+ 1279295.939 639490.062 0, 1279002.251 639473.631 0, 1278708.561 639457.219 0, 1278414.871 639440.823 0, 1278121.18 639424.445 0, 1277827.488 639408.084 0, 1277533.795 639391.74 0, 1277240.101 639375.413 0, 1276946.406 639359.104 0, 1276652.71 639342.812 0,
+ 1276359.013 639326.538 0, 1276065.315 639310.281 0, 1275771.616 639294.041 0, 1275477.916 639277.818 0, 1275182.839 639261.536 0, 1274890.514 639245.424 0, 1274596.811 639229.253 0, 1274303.108 639213.1 0, 1274009.403 639196.963 0, 1273715.698 639180.844 0,
+ 1273421.991 639164.743 0, 1273128.284 639148.658 0, 1272834.576 639132.591 0, 1272540.866 639116.541 0, 1272247.156 639100.509 0, 1271953.445 639084.493 0, 1271659.733 639068.495 0, 1271366.02 639052.515 0, 1271072.306 639036.551 0, 1270778.591 639020.605 0,
+ 1270484.875 639004.676 0, 1270191.158 638988.765 0, 1269897.44 638972.871 0, 1269603.722 638956.994 0, 1269310.002 638941.134 0, 1269016.282 638925.291 0, 1268722.56 638909.466 0, 1268428.838 638893.658 0, 1268133.736 638877.794 0, 1267835.076 644436.32 0,
+ 1267536.398 649995.171 0, 1267830.842 650011 0, 1268123.91 650026.772 0, 1268416.977 650042.562 0, 1268710.044 650058.369 0, 1269003.109 650074.194 0, 1269296.173 650090.035 0, 1269589.237 650105.894 0, 1269882.299 650121.77 0, 1270175.361 650137.664 0,
+ 1270468.421 650153.574 0, 1270761.481 650169.502 0, 1271054.54 650185.447 0, 1271347.597 650201.41 0, 1271640.654 650217.389 0, 1271933.71 650233.386 0, 1272226.765 650249.4 0, 1272519.819 650265.432 0, 1272812.872 650281.48 0, 1273105.924 650297.546 0,
+ 1273398.976 650313.629 0, 1273692.026 650329.729 0, 1273985.075 650345.847 0, 1274278.123 650361.982 0, 1274569.797 650378.058 0, 1274864.217 650394.303 0, 1275157.263 650410.49 0, 1275450.307 650426.694 0, 1275743.351 650442.915 0, 1276036.393 650459.153 0,
+ 1276329.435 650475.409 0, 1276622.476 650491.682 0, 1276915.516 650507.972 0, 1277208.554 650524.279 0, 1277501.592 650540.604 0, 1277794.629 650556.945 0, 1278087.665 650573.304 0, 1278380.7 650589.681 0, 1278673.734 650606.074 0, 1278966.767 650622.485 0,
+ 1279259.799 650638.913 0, 1279552.83 650655.358 0, 1279845.86 650671.821 0, 1280138.889 650688.301 0, 1280431.918 650704.798 0, 1280724.945 650721.312 0, 1281017.971 650737.844 0, 1281310.996 650754.392 0, 1281602.648 650770.881 0, 1281917.029 645212.896 0,
+ 1282231.392 639655.236 0))
+
+POLYGON ((1295666.65 651586.328 0, 1295375.044 651569.015 0, 1295082.067 651551.639 0, 1294789.088 651534.279 0, 1294496.109 651516.937 0, 1294203.129 651499.612 0, 1293910.147 651482.305 0, 1293617.165 651465.015 0, 1293324.181 651447.741 0, 1293031.197 651430.486 0,
+ 1292738.211 651413.247 0, 1292445.225 651396.026 0, 1292152.237 651378.821 0, 1291859.249 651361.635 0, 1291566.259 651344.465 0, 1291273.269 651327.313 0, 1290980.277 651310.177 0, 1290687.285 651293.06 0, 1290394.291 651275.959 0, 1290101.296 651258.875 0,
+ 1289808.301 651241.809 0, 1289515.304 651224.76 0, 1289222.307 651207.729 0, 1288929.308 651190.714 0, 1288634.937 651173.638 0, 1288343.308 651156.737 0, 1288050.306 651139.774 0, 1287757.304 651122.829 0, 1287464.3 651105.901 0, 1287171.296 651088.99 0,
+ 1286878.29 651072.096 0, 1286585.283 651055.22 0, 1286292.276 651038.36 0, 1285999.267 651021.518 0, 1285706.258 651004.694 0, 1285413.247 650987.886 0, 1285120.236 650971.096 0, 1284827.223 650954.323 0, 1284534.21 650937.567 0, 1284241.195 650920.829 0,
+ 1283948.18 650904.108 0, 1283655.163 650887.404 0, 1283362.146 650870.717 0, 1283069.127 650854.047 0, 1282776.108 650837.395 0, 1282483.088 650820.76 0, 1282190.066 650804.142 0, 1281897.044 650787.542 0, 1281602.648 650770.881 0, 1281288.248 656329.188 0,
+ 1280973.831 661887.814 0, 1281267.569 661904.437 0, 1281559.937 661921.001 0, 1281852.304 661937.581 0, 1282144.67 661954.179 0, 1282437.036 661970.794 0, 1282729.4 661987.427 0, 1283021.763 662004.076 0, 1283314.125 662020.743 0, 1283606.486 662037.427 0,
+ 1283898.846 662054.128 0, 1284191.205 662070.846 0, 1284483.564 662087.582 0, 1284775.921 662104.334 0, 1285068.277 662121.104 0, 1285360.632 662137.892 0, 1285652.987 662154.696 0, 1285945.34 662171.517 0, 1286237.692 662188.356 0, 1286530.044 662205.212 0,
+ 1286822.394 662222.085 0, 1287114.743 662238.976 0, 1287407.091 662255.883 0, 1287699.439 662272.808 0, 1287990.417 662289.671 0, 1288284.13 662306.709 0, 1288576.475 662323.686 0, 1288868.818 662340.68 0, 1289161.16 662357.69 0, 1289453.502 662374.718 0,
+ 1289745.842 662391.764 0, 1290038.181 662408.826 0, 1290330.52 662425.906 0, 1290622.857 662443.003 0, 1290915.193 662460.117 0, 1291207.529 662477.248 0, 1291499.863 662494.397 0, 1291792.196 662511.562 0, 1292084.528 662528.745 0, 1292376.86 662545.945 0,
+ 1292669.19 662563.163 0, 1292961.519 662580.397 0, 1293253.847 662597.649 0, 1293546.175 662614.918 0, 1293838.501 662632.204 0, 1294130.826 662649.507 0, 1294423.15 662666.828 0, 1294715.473 662684.166 0, 1295006.428 662701.439 0, 1295336.549 657143.724 0,
+ 1295666.65 651586.328 0))
+
+POLYGON ((1309036.671 663554.707 0, 1308745.764 663536.611 0, 1308453.491 663518.447 0, 1308161.217 663500.301 0, 1307868.942 663482.172 0, 1307576.665 663464.06 0, 1307284.388 663445.965 0, 1306992.11 663427.888 0, 1306699.83 663409.827 0, 1306407.55 663391.784 0,
+ 1306115.269 663373.758 0, 1305822.986 663355.75 0, 1305530.702 663337.758 0, 1305238.418 663319.784 0, 1304946.132 663301.827 0, 1304653.845 663283.887 0, 1304361.557 663265.964 0, 1304069.268 663248.058 0, 1303776.979 663230.17 0, 1303484.688 663212.299 0,
+ 1303192.395 663194.445 0, 1302900.102 663176.608 0, 1302607.808 663158.789 0, 1302315.513 663140.987 0, 1302021.851 663123.118 0, 1301730.919 663105.434 0, 1301438.621 663087.683 0, 1301146.322 663069.949 0, 1300854.021 663052.233 0, 1300561.72 663034.534 0,
+ 1300269.417 663016.852 0, 1299977.114 662999.188 0, 1299684.809 662981.54 0, 1299392.504 662963.91 0, 1299100.197 662946.297 0, 1298807.889 662928.701 0, 1298515.58 662911.122 0, 1298223.271 662893.561 0, 1297930.96 662876.017 0, 1297638.648 662858.49 0,
+ 1297346.335 662840.98 0, 1297054.021 662823.487 0, 1296761.706 662806.012 0, 1296469.39 662788.554 0, 1296177.073 662771.113 0, 1295884.755 662753.689 0, 1295592.436 662736.282 0, 1295300.116 662718.893 0, 1295006.428 662701.439 0, 1294676.289 668259.47 0,
+ 1294346.131 673817.812 0, 1294639.162 673835.227 0, 1294930.828 673852.577 0, 1295222.493 673869.945 0, 1295514.156 673887.33 0, 1295805.819 673904.732 0, 1296097.481 673922.151 0, 1296389.141 673939.587 0, 1296680.801 673957.041 0, 1296972.46 673974.511 0,
+ 1297264.117 673991.999 0, 1297555.774 674009.504 0, 1297847.429 674027.026 0, 1298139.084 674044.565 0, 1298430.737 674062.122 0, 1298722.39 674079.695 0, 1299014.041 674097.286 0, 1299305.691 674114.894 0, 1299597.341 674132.519 0, 1299888.989 674150.162 0,
+ 1300180.636 674167.821 0, 1300472.282 674185.498 0, 1300763.927 674203.191 0, 1301055.571 674220.902 0, 1301345.852 674238.548 0, 1301638.857 674256.376 0, 1301930.498 674274.138 0, 1302222.137 674291.918 0, 1302513.776 674309.715 0, 1302805.414 674327.529 0,
+ 1303097.051 674345.36 0, 1303388.687 674363.208 0, 1303680.321 674381.073 0, 1303971.955 674398.956 0, 1304263.588 674416.856 0, 1304555.219 674434.773 0, 1304846.85 674452.707 0, 1305138.479 674470.658 0, 1305430.107 674488.626 0, 1305721.735 674506.612 0,
+ 1306013.361 674524.615 0, 1306304.986 674542.635 0, 1306596.61 674560.672 0, 1306888.233 674578.726 0, 1307179.855 674596.797 0, 1307471.476 674614.886 0, 1307763.096 674632.992 0, 1308054.715 674651.115 0, 1308344.971 674669.17 0, 1308690.83 669111.782 0,
+ 1309036.671 663554.707 0))
+
+POLYGON ((1322341.349 675560.073 0, 1322051.143 675541.198 0, 1321759.577 675522.251 0, 1321468.009 675503.322 0, 1321176.441 675484.409 0, 1320884.871 675465.514 0, 1320593.3 675446.636 0, 1320301.728 675427.775 0, 1320010.155 675408.931 0, 1319718.581 675390.105 0,
+ 1319427.005 675371.295 0, 1319135.429 675352.503 0, 1318843.851 675333.728 0, 1318552.273 675314.97 0, 1318260.693 675296.229 0, 1317969.112 675277.506 0, 1317677.53 675258.799 0, 1317385.947 675240.11 0, 1317094.363 675221.438 0, 1316802.778 675202.783 0,
+ 1316511.191 675184.145 0, 1316219.604 675165.524 0, 1315928.015 675146.921 0, 1315636.426 675128.335 0, 1315343.475 675109.679 0, 1315053.243 675091.213 0, 1314761.65 675072.679 0, 1314470.056 675054.161 0, 1314178.461 675035.66 0, 1313886.865 675017.177 0,
+ 1313595.268 674998.711 0, 1313303.67 674980.262 0, 1313012.07 674961.83 0, 1312720.47 674943.415 0, 1312428.868 674925.018 0, 1312137.265 674906.638 0, 1311845.662 674888.274 0, 1311554.057 674869.928 0, 1311262.451 674851.599 0, 1310970.844 674833.288 0,
+ 1310679.236 674814.993 0, 1310387.627 674796.716 0, 1310096.016 674778.456 0, 1309804.405 674760.213 0, 1309512.793 674741.987 0, 1309221.179 674723.778 0, 1308929.565 674705.586 0, 1308637.949 674687.412 0, 1308344.971 674669.17 0, 1307999.092 680226.866 0,
+ 1307653.194 685784.867 0, 1307945.515 685803.068 0, 1308236.476 685821.202 0, 1308527.437 685839.353 0, 1308818.396 685857.521 0, 1309109.354 685875.706 0, 1309400.311 685893.908 0, 1309691.267 685912.127 0, 1309982.222 685930.363 0, 1310273.176 685948.617 0,
+ 1310564.128 685966.888 0, 1310855.08 685985.175 0, 1311146.031 686003.48 0, 1311436.98 686021.802 0, 1311727.929 686040.141 0, 1312018.876 686058.498 0, 1312309.823 686076.871 0, 1312600.768 686095.261 0, 1312891.712 686113.669 0, 1313182.655 686132.094 0,
+ 1313473.597 686150.536 0, 1313764.538 686168.995 0, 1314055.478 686187.471 0, 1314346.416 686205.964 0, 1314635.997 686224.388 0, 1314928.29 686243.002 0, 1315219.226 686261.546 0, 1315510.16 686280.108 0, 1315801.093 686298.687 0, 1316092.026 686317.283 0,
+ 1316382.957 686335.896 0, 1316673.887 686354.526 0, 1316964.816 686373.174 0, 1317255.743 686391.838 0, 1317546.67 686410.52 0, 1317837.596 686429.219 0, 1318128.52 686447.934 0, 1318419.443 686466.667 0, 1318710.366 686485.418 0, 1319001.287 686504.185 0,
+ 1319292.207 686522.969 0, 1319583.126 686541.771 0, 1319874.044 686560.589 0, 1320164.96 686579.425 0, 1320455.876 686598.278 0, 1320746.791 686617.148 0, 1321037.704 686636.035 0, 1321328.616 686654.939 0, 1321618.171 686673.772 0, 1321979.77 681116.77 0,
+ 1322341.349 675560.073 0))
+
+POLYGON ((1335580.582 687602.127 0, 1335291.079 687582.475 0, 1335000.221 687562.749 0, 1334709.362 687543.041 0, 1334418.502 687523.349 0, 1334127.641 687503.674 0, 1333836.779 687484.017 0, 1333545.915 687464.376 0, 1333255.05 687444.753 0, 1332964.185 687425.147 0,
+ 1332673.318 687405.558 0, 1332382.449 687385.986 0, 1332091.58 687366.431 0, 1331800.71 687346.893 0, 1331509.838 687327.373 0, 1331218.965 687307.869 0, 1330928.092 687288.383 0, 1330637.216 687268.914 0, 1330346.34 687249.462 0, 1330055.463 687230.027 0,
+ 1329764.585 687210.609 0, 1329473.705 687191.208 0, 1329182.824 687171.824 0, 1328891.942 687152.458 0, 1328599.704 687133.019 0, 1328310.175 687113.776 0, 1328019.29 687094.461 0, 1327728.403 687075.163 0, 1327437.516 687055.882 0, 1327146.627 687036.619 0,
+ 1326855.737 687017.372 0, 1326564.846 686998.142 0, 1326273.954 686978.93 0, 1325983.061 686959.735 0, 1325692.167 686940.557 0, 1325401.271 686921.396 0, 1325110.374 686902.252 0, 1324819.477 686883.125 0, 1324528.578 686864.015 0, 1324237.678 686844.923 0,
+ 1323946.777 686825.847 0, 1323655.874 686806.789 0, 1323364.971 686787.748 0, 1323074.067 686768.724 0, 1322783.161 686749.717 0, 1322492.254 686730.727 0, 1322201.346 686711.754 0, 1321910.438 686692.799 0, 1321618.171 686673.772 0, 1321256.553 692231.076 0,
+ 1320894.915 697788.678 0, 1321186.524 697807.662 0, 1321476.779 697826.575 0, 1321767.032 697845.505 0, 1322057.285 697864.452 0, 1322347.536 697883.416 0, 1322637.786 697902.397 0, 1322928.036 697921.395 0, 1323218.284 697940.411 0, 1323508.531 697959.443 0,
+ 1323798.776 697978.493 0, 1324089.021 697997.56 0, 1324379.265 698016.644 0, 1324669.507 698035.744 0, 1324959.748 698054.862 0, 1325249.989 698073.997 0, 1325540.228 698093.149 0, 1325830.466 698112.319 0, 1326120.702 698131.505 0, 1326410.938 698150.708 0,
+ 1326701.173 698169.929 0, 1326991.406 698189.166 0, 1327281.638 698208.421 0, 1327571.87 698227.693 0, 1327860.748 698246.891 0, 1328152.328 698266.287 0, 1328442.556 698285.61 0, 1328732.783 698304.95 0, 1329023.008 698324.307 0, 1329313.233 698343.681 0,
+ 1329603.456 698363.073 0, 1329893.678 698382.481 0, 1330183.899 698401.906 0, 1330474.119 698421.349 0, 1330764.337 698440.809 0, 1331054.555 698460.285 0, 1331344.771 698479.779 0, 1331634.986 698499.29 0, 1331925.2 698518.818 0, 1332215.413 698538.363 0,
+ 1332505.625 698557.925 0, 1332795.835 698577.504 0, 1333086.045 698597.1 0, 1333376.253 698616.714 0, 1333666.46 698636.344 0, 1333956.666 698655.991 0, 1334246.871 698675.656 0, 1334537.075 698695.338 0, 1334825.926 698714.945 0, 1335203.264 693158.386 0,
+ 1335580.582 687602.127 0))
+
+POLYGON ((1348754.266 699680.566 0, 1348465.468 699660.142 0, 1348175.321 699639.641 0, 1347885.173 699619.157 0, 1347595.024 699598.689 0, 1347304.873 699578.239 0, 1347014.722 699557.806 0, 1346724.569 699537.39 0, 1346434.415 699516.991 0, 1346144.259 699496.609 0,
+ 1345854.103 699476.244 0, 1345563.945 699455.896 0, 1345273.786 699435.566 0, 1344983.626 699415.252 0, 1344693.465 699394.956 0, 1344403.302 699374.676 0, 1344113.139 699354.414 0, 1343822.974 699334.169 0, 1343532.808 699313.94 0, 1343242.64 699293.729 0,
+ 1342952.472 699273.535 0, 1342662.302 699253.358 0, 1342372.132 699233.198 0, 1342081.96 699213.056 0, 1341790.437 699192.836 0, 1341501.612 699172.821 0, 1341211.436 699152.73 0, 1340921.26 699132.655 0, 1340631.082 699112.598 0, 1340340.903 699092.557 0,
+ 1340050.722 699072.534 0, 1339760.541 699052.528 0, 1339470.358 699032.539 0, 1339180.175 699012.567 0, 1338889.99 698992.612 0, 1338599.803 698972.674 0, 1338309.616 698952.753 0, 1338019.428 698932.85 0, 1337729.238 698912.963 0, 1337439.047 698893.094 0,
+ 1337148.855 698873.241 0, 1336858.662 698853.406 0, 1336568.468 698833.587 0, 1336278.272 698813.786 0, 1335988.075 698794.002 0, 1335697.878 698774.235 0, 1335407.679 698754.485 0, 1335117.478 698734.752 0, 1334825.926 698714.945 0, 1334448.569 704271.798 0,
+ 1334071.191 709828.942 0, 1334362.086 709848.705 0, 1334651.632 709868.394 0, 1334941.177 709888.099 0, 1335230.72 709907.822 0, 1335520.263 709927.561 0, 1335809.804 709947.318 0, 1336099.345 709967.091 0, 1336388.884 709986.882 0, 1336678.421 710006.69 0,
+ 1336967.958 710026.514 0, 1337257.494 710046.356 0, 1337547.028 710066.215 0, 1337836.561 710086.091 0, 1338126.093 710105.984 0, 1338415.624 710125.894 0, 1338705.154 710145.821 0, 1338994.682 710165.765 0, 1339284.21 710185.726 0, 1339573.736 710205.704 0,
+ 1339863.261 710225.699 0, 1340152.785 710245.711 0, 1340442.307 710265.741 0, 1340731.829 710285.787 0, 1341020.003 710305.757 0, 1341310.868 710325.931 0, 1341600.386 710346.028 0, 1341889.903 710366.142 0, 1342179.418 710386.274 0, 1342468.933 710406.422 0,
+ 1342758.446 710426.588 0, 1343047.958 710446.771 0, 1343337.469 710466.97 0, 1343626.978 710487.187 0, 1343916.487 710507.421 0, 1344205.994 710527.671 0, 1344495.5 710547.939 0, 1344785.005 710568.224 0, 1345074.509 710588.526 0, 1345364.011 710608.845 0,
+ 1345653.512 710629.181 0, 1345943.012 710649.534 0, 1346232.511 710669.904 0, 1346522.009 710690.291 0, 1346811.505 710710.695 0, 1347101.001 710731.116 0, 1347390.495 710751.554 0, 1347679.988 710772.01 0, 1347968.134 710792.387 0, 1348361.21 705236.33 0,
+ 1348754.266 699680.566 0))
+
+POLYGON ((1361862.3 711795.089 0, 1361574.21 711773.897 0, 1361284.776 711752.624 0, 1360995.341 711731.368 0, 1360705.904 711710.129 0, 1360416.467 711688.907 0, 1360127.028 711667.703 0, 1359837.588 711646.515 0, 1359548.146 711625.344 0, 1359258.704 711604.19 0,
+ 1358969.26 711583.053 0, 1358679.815 711561.934 0, 1358390.368 711540.831 0, 1358100.921 711519.745 0, 1357811.472 711498.677 0, 1357522.022 711477.625 0, 1357232.57 711456.591 0, 1356943.118 711435.573 0, 1356653.664 711414.573 0, 1356364.209 711393.589 0,
+ 1356074.752 711372.623 0, 1355785.295 711351.674 0, 1355495.836 711330.741 0, 1355206.376 711309.826 0, 1354915.571 711288.831 0, 1354627.453 711268.047 0, 1354337.989 711247.183 0, 1354048.524 711226.335 0, 1353759.058 711205.505 0, 1353469.591 711184.692 0,
+ 1353180.122 711163.896 0, 1352890.652 711143.117 0, 1352601.181 711122.355 0, 1352311.709 711101.611 0, 1352022.235 711080.883 0, 1351732.761 711060.172 0, 1351443.285 711039.478 0, 1351153.808 711018.801 0, 1350864.329 710998.142 0, 1350574.85 710977.499 0,
+ 1350285.369 710956.873 0, 1349995.887 710936.265 0, 1349706.404 710915.673 0, 1349416.919 710895.099 0, 1349127.434 710874.541 0, 1348837.947 710854.001 0, 1348548.459 710833.478 0, 1348258.97 710812.971 0, 1347968.134 710792.387 0, 1347575.038 716348.731 0,
+ 1347181.921 721905.36 0, 1347472.1 721925.898 0, 1347760.935 721946.358 0, 1348049.769 721966.835 0, 1348338.601 721987.329 0, 1348627.433 722007.84 0, 1348916.263 722028.368 0, 1349205.092 722048.913 0, 1349493.92 722069.475 0, 1349782.747 722090.054 0,
+ 1350071.573 722110.65 0, 1350360.397 722131.263 0, 1350649.22 722151.893 0, 1350938.042 722172.54 0, 1351226.862 722193.204 0, 1351515.682 722213.885 0, 1351804.5 722234.583 0, 1352093.317 722255.298 0, 1352382.133 722276.03 0, 1352670.947 722296.779 0,
+ 1352959.761 722317.545 0, 1353248.573 722338.328 0, 1353537.384 722359.128 0, 1353826.193 722379.945 0, 1354113.661 722400.683 0, 1354403.809 722421.63 0, 1354692.615 722442.498 0, 1354981.42 722463.383 0, 1355270.223 722484.285 0, 1355559.025 722505.204 0,
+ 1355847.826 722526.14 0, 1356136.626 722547.093 0, 1356425.425 722568.063 0, 1356714.222 722589.05 0, 1357003.018 722610.054 0, 1357291.813 722631.075 0, 1357580.607 722652.113 0, 1357869.399 722673.168 0, 1358158.19 722694.24 0, 1358446.98 722715.329 0,
+ 1358735.769 722736.435 0, 1359024.556 722757.558 0, 1359313.343 722778.698 0, 1359602.128 722799.855 0, 1359890.911 722821.029 0, 1360179.694 722842.22 0, 1360468.475 722863.428 0, 1360757.255 722884.653 0, 1361044.694 722905.796 0, 1361453.507 717350.3 0,
+ 1361862.3 711795.089 0))
+
+POLYGON ((1374904.585 723945.394 0, 1374617.204 723923.438 0, 1374328.486 723901.397 0, 1374039.766 723879.374 0, 1373751.044 723857.367 0, 1373462.321 723835.377 0, 1373173.597 723813.404 0, 1372884.872 723791.449 0, 1372596.145 723769.51 0, 1372307.418 723747.588 0,
+ 1372018.688 723725.683 0, 1371729.958 723703.796 0, 1371441.226 723681.925 0, 1371152.493 723660.071 0, 1370863.759 723638.234 0, 1370575.023 723616.414 0, 1370286.286 723594.612 0, 1369997.548 723572.826 0, 1369708.809 723551.057 0, 1369420.068 723529.305 0,
+ 1369131.326 723507.57 0, 1368842.582 723485.852 0, 1368553.838 723464.152 0, 1368265.092 723442.468 0, 1367975.007 723420.7 0, 1367687.597 723399.151 0, 1367398.847 723377.518 0, 1367110.096 723355.902 0, 1366821.344 723334.303 0, 1366532.59 723312.721 0,
+ 1366243.835 723291.157 0, 1365955.079 723269.609 0, 1365666.322 723248.078 0, 1365377.563 723226.564 0, 1365088.804 723205.067 0, 1364800.043 723183.587 0, 1364511.28 723162.124 0, 1364222.517 723140.678 0, 1363933.752 723119.249 0, 1363644.985 723097.837 0,
+ 1363356.218 723076.443 0, 1363067.449 723055.065 0, 1362778.679 723033.704 0, 1362489.908 723012.36 0, 1362201.136 722991.033 0, 1361912.362 722969.723 0, 1361623.587 722948.43 0, 1361334.811 722927.154 0, 1361044.694 722905.796 0, 1360635.86 728461.574 0,
+ 1360227.005 734017.629 0, 1360516.465 734038.938 0, 1360804.587 734060.166 0, 1361092.708 734081.411 0, 1361380.828 734102.672 0, 1361668.946 734123.951 0, 1361957.064 734145.247 0, 1362245.18 734166.559 0, 1362533.294 734187.889 0, 1362821.408 734209.235 0,
+ 1363109.52 734230.598 0, 1363397.631 734251.979 0, 1363685.74 734273.376 0, 1363973.849 734294.79 0, 1364261.956 734316.222 0, 1364550.062 734337.67 0, 1364838.166 734359.135 0, 1365126.27 734380.617 0, 1365414.372 734402.116 0, 1365702.472 734423.632 0,
+ 1365990.572 734445.165 0, 1366278.67 734466.715 0, 1366566.767 734488.282 0, 1366854.863 734509.866 0, 1367141.622 734531.367 0, 1367431.051 734553.085 0, 1367719.143 734574.719 0, 1368007.233 734596.371 0, 1368295.323 734618.04 0, 1368583.411 734639.725 0,
+ 1368871.497 734661.428 0, 1369159.583 734683.148 0, 1369447.667 734704.884 0, 1369735.75 734726.637 0, 1370023.832 734748.408 0, 1370311.912 734770.195 0, 1370599.991 734791.999 0, 1370888.069 734813.821 0, 1371176.146 734835.659 0, 1371464.221 734857.514 0,
+ 1371752.295 734879.386 0, 1372040.368 734901.275 0, 1372328.439 734923.181 0, 1372616.509 734945.104 0, 1372904.578 734967.044 0, 1373192.646 734989.001 0, 1373480.712 735010.975 0, 1373768.777 735032.966 0, 1374055.507 735054.872 0, 1374480.056 729499.994 0,
+ 1374904.585 723945.394 0))
+
+POLYGON ((1387881.022 736131.178 0, 1387594.353 736108.462 0, 1387306.352 736085.658 0, 1387018.349 736062.87 0, 1386730.344 736040.099 0, 1386442.339 736017.346 0, 1386154.332 735994.609 0, 1385866.323 735971.889 0, 1385578.314 735949.186 0, 1385290.303 735926.5 0,
+ 1385002.29 735903.831 0, 1384714.276 735881.179 0, 1384426.261 735858.544 0, 1384138.245 735835.926 0, 1383850.227 735813.325 0, 1383562.208 735790.741 0, 1383274.188 735768.174 0, 1382986.166 735745.624 0, 1382698.143 735723.09 0, 1382410.119 735700.574 0,
+ 1382122.093 735678.074 0, 1381834.066 735655.592 0, 1381546.038 735633.126 0, 1381258.008 735610.678 0, 1380968.645 735588.142 0, 1380681.945 735565.832 0, 1380393.911 735543.434 0, 1380105.877 735521.053 0, 1379817.84 735498.689 0, 1379529.803 735476.342 0,
+ 1379241.764 735454.013 0, 1378953.724 735431.7 0, 1378665.682 735409.404 0, 1378377.639 735387.125 0, 1378089.595 735364.863 0, 1377801.55 735342.617 0, 1377513.503 735320.389 0, 1377225.455 735298.178 0, 1376937.406 735275.984 0, 1376649.355 735253.806 0,
+ 1376361.303 735231.646 0, 1376073.25 735209.503 0, 1375785.195 735187.376 0, 1375497.139 735165.267 0, 1375209.082 735143.174 0, 1374921.024 735121.099 0, 1374632.964 735099.04 0, 1374344.903 735076.998 0, 1374055.507 735054.872 0, 1373630.936 740610.024 0,
+ 1373206.344 746165.446 0, 1373495.084 746187.523 0, 1373782.491 746209.515 0, 1374069.897 746231.523 0, 1374357.301 746253.549 0, 1374644.704 746275.591 0, 1374932.106 746297.65 0, 1375219.507 746319.726 0, 1375506.906 746341.82 0, 1375794.304 746363.93 0,
+ 1376081.701 746386.057 0, 1376369.097 746408.201 0, 1376656.491 746430.361 0, 1376943.884 746452.539 0, 1377231.275 746474.734 0, 1377518.665 746496.945 0, 1377806.054 746519.174 0, 1378093.442 746541.419 0, 1378380.828 746563.681 0, 1378668.213 746585.961 0,
+ 1378955.597 746608.257 0, 1379242.979 746630.57 0, 1379530.36 746652.9 0, 1379817.74 746675.246 0, 1380103.788 746697.507 0, 1380392.495 746719.991 0, 1380679.871 746742.389 0, 1380967.245 746764.803 0, 1381254.619 746787.234 0, 1381541.99 746809.683 0,
+ 1381829.361 746832.148 0, 1382116.73 746854.63 0, 1382404.098 746877.129 0, 1382691.464 746899.645 0, 1382978.83 746922.178 0, 1383266.193 746944.728 0, 1383553.556 746967.295 0, 1383840.917 746989.878 0, 1384128.277 747012.479 0, 1384415.636 747035.097 0,
+ 1384702.993 747057.731 0, 1384990.349 747080.382 0, 1385277.703 747103.05 0, 1385565.057 747125.736 0, 1385852.408 747148.438 0, 1386139.759 747171.157 0, 1386427.108 747193.892 0, 1386714.456 747216.645 0, 1387000.474 747239.31 0, 1387440.759 741685.109 0,
+ 1387881.022 736131.178 0))
+
+POLYGON ((1400791.515 748352.14 0, 1400505.56 748328.667 0, 1400218.277 748305.102 0, 1399930.994 748281.555 0, 1399643.708 748258.024 0, 1399356.422 748234.51 0, 1399069.134 748211.014 0, 1398781.844 748187.534 0, 1398494.554 748164.071 0, 1398207.262 748140.624 0,
+ 1397919.968 748117.195 0, 1397632.673 748093.783 0, 1397345.377 748070.387 0, 1397058.079 748047.009 0, 1396770.78 748023.647 0, 1396483.48 748000.303 0, 1396196.178 747976.975 0, 1395908.875 747953.664 0, 1395621.57 747930.37 0, 1395334.265 747907.093 0,
+ 1395046.957 747883.833 0, 1394759.649 747860.59 0, 1394472.339 747837.363 0, 1394185.027 747814.154 0, 1393896.387 747790.854 0, 1393610.401 747767.786 0, 1393323.085 747744.627 0, 1393035.768 747721.485 0, 1392748.45 747698.361 0, 1392461.131 747675.253 0,
+ 1392173.81 747652.162 0, 1391886.488 747629.087 0, 1391599.164 747606.03 0, 1391311.839 747582.99 0, 1391024.513 747559.967 0, 1390737.185 747536.96 0, 1390449.856 747513.971 0, 1390162.526 747490.998 0, 1389875.194 747468.042 0, 1389587.861 747445.103 0,
+ 1389300.526 747422.181 0, 1389013.191 747399.276 0, 1388725.854 747376.388 0, 1388438.515 747353.517 0, 1388151.175 747330.663 0, 1387863.834 747307.826 0, 1387576.492 747285.005 0, 1387289.148 747262.202 0, 1387000.474 747239.31 0, 1386560.168 752793.778 0,
+ 1386119.841 758348.51 0, 1386407.858 758371.35 0, 1386694.548 758394.101 0, 1386981.237 758416.87 0, 1387267.924 758439.655 0, 1387554.61 758462.458 0, 1387841.294 758485.277 0, 1388127.978 758508.113 0, 1388414.66 758530.966 0, 1388701.34 758553.835 0,
+ 1388988.019 758576.722 0, 1389274.697 758599.625 0, 1389561.374 758622.546 0, 1389848.049 758645.483 0, 1390134.723 758668.437 0, 1390421.395 758691.408 0, 1390708.067 758714.396 0, 1390994.736 758737.401 0, 1391281.405 758760.422 0, 1391568.072 758783.461 0,
+ 1391854.738 758806.516 0, 1392141.402 758829.588 0, 1392428.065 758852.678 0, 1392714.727 758875.784 0, 1393000.063 758898.799 0, 1393288.046 758922.046 0, 1393574.703 758945.203 0, 1393861.36 758968.376 0, 1394148.014 758991.566 0, 1394434.668 759014.774 0,
+ 1394721.32 759037.998 0, 1395007.971 759061.239 0, 1395294.62 759084.496 0, 1395581.268 759107.771 0, 1395867.915 759131.063 0, 1396154.56 759154.371 0, 1396441.204 759177.696 0, 1396727.846 759201.039 0, 1397014.487 759224.398 0, 1397301.127 759247.774 0,
+ 1397587.766 759271.166 0, 1397874.403 759294.576 0, 1398161.038 759318.003 0, 1398447.672 759341.446 0, 1398734.305 759364.906 0, 1399020.937 759388.383 0, 1399307.567 759411.877 0, 1399594.196 759435.388 0, 1399879.5 759458.807 0, 1400335.518 753905.342 0,
+ 1400791.515 748352.14 0))
+
+POLYGON ((1413635.967 760607.974 0, 1413350.728 760583.749 0, 1413064.167 760559.428 0, 1412777.604 760535.125 0, 1412491.04 760510.838 0, 1412204.475 760486.568 0, 1411917.908 760462.315 0, 1411631.339 760438.078 0, 1411344.77 760413.859 0, 1411058.199 760389.657 0,
+ 1410771.626 760365.471 0, 1410485.052 760341.302 0, 1410198.477 760317.15 0, 1409911.9 760293.015 0, 1409625.322 760268.897 0, 1409338.742 760244.796 0, 1409052.161 760220.711 0, 1408765.578 760196.644 0, 1408478.994 760172.593 0, 1408192.409 760148.559 0,
+ 1407905.822 760124.542 0, 1407619.234 760100.542 0, 1407332.644 760076.559 0, 1407046.053 760052.593 0, 1406758.139 760028.533 0, 1406472.867 760004.711 0, 1406186.272 759980.795 0, 1405899.675 759956.896 0, 1405613.077 759933.014 0, 1405326.478 759909.149 0,
+ 1405039.877 759885.3 0, 1404753.275 759861.469 0, 1404466.671 759837.654 0, 1404180.066 759813.857 0, 1403893.46 759790.076 0, 1403606.852 759766.312 0, 1403320.243 759742.565 0, 1403033.632 759718.835 0, 1402747.02 759695.122 0, 1402460.406 759671.425 0,
+ 1402173.792 759647.745 0, 1401887.175 759624.083 0, 1401600.558 759600.437 0, 1401313.939 759576.808 0, 1401027.318 759553.196 0, 1400740.697 759529.601 0, 1400454.073 759506.022 0, 1400167.449 759482.461 0, 1399879.5 759458.807 0, 1399423.46 765012.533 0,
+ 1398967.4 770566.516 0, 1399254.692 770590.115 0, 1399540.662 770613.623 0, 1399826.632 770637.148 0, 1400112.6 770660.689 0, 1400398.567 770684.247 0, 1400684.532 770707.822 0, 1400970.496 770731.414 0, 1401256.458 770755.023 0, 1401542.419 770778.649 0,
+ 1401828.379 770802.291 0, 1402114.337 770825.95 0, 1402400.294 770849.626 0, 1402686.25 770873.319 0, 1402972.204 770897.029 0, 1403258.156 770920.756 0, 1403544.108 770944.499 0, 1403830.058 770968.259 0, 1404116.006 770992.036 0, 1404401.953 771015.83 0,
+ 1404687.899 771039.641 0, 1404973.843 771063.468 0, 1405259.786 771087.313 0, 1405545.728 771111.174 0, 1405830.349 771134.942 0, 1406117.607 771158.947 0, 1406403.544 771182.858 0, 1406689.48 771206.787 0, 1406975.414 771230.732 0, 1407261.347 771254.695 0,
+ 1407547.279 771278.674 0, 1407833.209 771302.669 0, 1408119.138 771326.682 0, 1408405.065 771350.712 0, 1408690.991 771374.758 0, 1408976.916 771398.821 0, 1409262.839 771422.901 0, 1409548.761 771446.998 0, 1409834.681 771471.111 0, 1410120.6 771495.242 0,
+ 1410406.518 771519.389 0, 1410692.434 771543.553 0, 1410978.348 771567.734 0, 1411264.262 771591.932 0, 1411550.174 771616.147 0, 1411836.084 771640.378 0, 1412121.993 771664.626 0, 1412407.9 771688.891 0, 1412692.489 771713.061 0, 1413164.239 766160.39 0,
+ 1413635.967 760607.974 0))
+
+POLYGON ((1426414.285 772898.378 0, 1426129.763 772873.404 0, 1425843.925 772848.331 0, 1425558.086 772823.275 0, 1425272.245 772798.236 0, 1424986.403 772773.214 0, 1424700.559 772748.209 0, 1424414.714 772723.22 0, 1424128.867 772698.248 0, 1423843.019 772673.293 0,
+ 1423557.17 772648.355 0, 1423271.319 772623.434 0, 1422985.466 772598.529 0, 1422699.612 772573.642 0, 1422413.757 772548.771 0, 1422127.9 772523.917 0, 1421842.041 772499.08 0, 1421556.181 772474.259 0, 1421270.32 772449.456 0, 1420984.457 772424.669 0,
+ 1420698.593 772399.899 0, 1420412.727 772375.146 0, 1420126.86 772350.41 0, 1419840.992 772325.69 0, 1419553.805 772300.874 0, 1419269.25 772276.302 0, 1418983.377 772251.633 0, 1418697.503 772226.981 0, 1418411.627 772202.346 0, 1418125.75 772177.727 0,
+ 1417839.871 772153.126 0, 1417553.991 772128.541 0, 1417268.109 772103.973 0, 1416982.226 772079.422 0, 1416696.341 772054.887 0, 1416410.455 772030.37 0, 1416124.568 772005.869 0, 1415838.679 771981.385 0, 1415552.789 771956.918 0, 1415266.897 771932.468 0,
+ 1414981.004 771908.035 0, 1414695.109 771883.618 0, 1414409.213 771859.218 0, 1414123.315 771834.835 0, 1413837.417 771810.469 0, 1413551.516 771786.12 0, 1413265.614 771761.788 0, 1412979.711 771737.472 0, 1412692.489 771713.061 0, 1412220.718 777265.987 0,
+ 1411748.925 782819.161 0, 1412035.49 782843.516 0, 1412320.74 782867.776 0, 1412605.988 782892.053 0, 1412891.235 782916.346 0, 1413176.48 782940.657 0, 1413461.724 782964.984 0, 1413746.966 782989.328 0, 1414032.207 783013.688 0, 1414317.447 783038.066 0,
+ 1414602.685 783062.46 0, 1414887.922 783086.871 0, 1415173.157 783111.299 0, 1415458.391 783135.744 0, 1415743.623 783160.205 0, 1416028.854 783184.684 0, 1416314.083 783209.179 0, 1416599.311 783233.69 0, 1416884.538 783258.219 0, 1417169.763 783282.764 0,
+ 1417454.987 783307.327 0, 1417740.209 783331.905 0, 1418025.43 783356.501 0, 1418310.649 783381.114 0, 1418594.554 783405.63 0, 1418881.084 783430.389 0, 1419166.299 783455.052 0, 1419451.512 783479.732 0, 1419736.724 783504.428 0, 1420021.935 783529.142 0,
+ 1420307.144 783553.872 0, 1420592.352 783578.618 0, 1420877.558 783603.382 0, 1421162.763 783628.162 0, 1421447.966 783652.96 0, 1421733.168 783677.774 0, 1422018.369 783702.604 0, 1422303.567 783727.452 0, 1422588.765 783752.316 0, 1422873.961 783777.197 0,
+ 1423159.156 783802.095 0, 1423444.349 783827.01 0, 1423729.54 783851.942 0, 1424014.731 783876.89 0, 1424299.919 783901.855 0, 1424585.107 783926.837 0, 1424870.292 783951.835 0, 1425155.477 783976.851 0, 1425439.347 784001.768 0, 1425926.827 778449.948 0,
+ 1426414.285 772898.378 0))
+
+POLYGON ((1439126.374 785223.048 0, 1438842.573 785197.329 0, 1438557.46 785171.508 0, 1438272.346 785145.703 0, 1437987.231 785119.916 0, 1437702.114 785094.145 0, 1437416.995 785068.391 0, 1437131.875 785042.654 0, 1436846.753 785016.934 0, 1436561.63 784991.23 0,
+ 1436276.506 784965.544 0, 1435991.38 784939.874 0, 1435706.252 784914.22 0, 1435421.123 784888.584 0, 1435135.992 784862.964 0, 1434850.86 784837.362 0, 1434565.726 784811.775 0, 1434280.591 784786.206 0, 1433995.454 784760.654 0, 1433710.316 784735.118 0,
+ 1433425.177 784709.599 0, 1433140.035 784684.097 0, 1432854.893 784658.612 0, 1432569.749 784633.143 0, 1432283.292 784607.574 0, 1431999.456 784582.256 0, 1431714.307 784556.838 0, 1431429.157 784531.436 0, 1431144.005 784506.052 0, 1430858.852 784480.684 0,
+ 1430573.697 784455.333 0, 1430288.541 784429.998 0, 1430003.384 784404.681 0, 1429718.224 784379.38 0, 1429433.064 784354.096 0, 1429147.902 784328.829 0, 1428862.738 784303.579 0, 1428577.573 784278.345 0, 1428292.406 784253.128 0, 1428007.238 784227.928 0,
+ 1427722.069 784202.745 0, 1427436.898 784177.578 0, 1427151.725 784152.429 0, 1426866.551 784127.296 0, 1426581.376 784102.18 0, 1426296.199 784077.08 0, 1426011.021 784051.998 0, 1425725.841 784026.932 0, 1425439.347 784001.768 0, 1424951.846 789553.833 0,
+ 1424464.324 795106.141 0, 1424750.161 795131.247 0, 1425034.687 795156.256 0, 1425319.212 795181.281 0, 1425603.735 795206.323 0, 1425888.257 795231.381 0, 1426172.778 795256.457 0, 1426457.297 795281.549 0, 1426741.814 795306.657 0, 1427026.33 795331.783 0,
+ 1427310.844 795356.925 0, 1427595.357 795382.084 0, 1427879.869 795407.26 0, 1428164.379 795432.453 0, 1428448.888 795457.662 0, 1428733.395 795482.888 0, 1429017.9 795508.131 0, 1429302.404 795533.39 0, 1429586.907 795558.666 0, 1429871.408 795583.959 0,
+ 1430155.908 795609.269 0, 1430440.406 795634.596 0, 1430724.903 795659.939 0, 1431009.398 795685.299 0, 1431292.584 795710.559 0, 1431578.384 795736.069 0, 1431862.874 795761.479 0, 1432147.364 795786.906 0, 1432431.851 795812.35 0, 1432716.337 795837.81 0,
+ 1433000.822 795863.288 0, 1433285.305 795888.782 0, 1433569.787 795914.292 0, 1433854.267 795939.82 0, 1434138.746 795965.364 0, 1434423.223 795990.925 0, 1434707.699 796016.502 0, 1434992.173 796042.097 0, 1435276.646 796067.708 0, 1435561.117 796093.336 0,
+ 1435845.587 796118.981 0, 1436130.055 796144.642 0, 1436414.521 796170.32 0, 1436698.986 796196.015 0, 1436983.45 796221.727 0, 1437267.912 796247.455 0, 1437552.373 796273.2 0, 1437836.832 796298.962 0, 1438119.983 796324.622 0, 1438623.19 790773.714 0,
+ 1439126.374 785223.048 0))
+
+POLYGON ((1451772.145 797581.678 0, 1451489.065 797555.218 0, 1451204.68 797528.652 0, 1450920.293 797502.104 0, 1450635.905 797475.572 0, 1450351.515 797449.056 0, 1450067.124 797422.558 0, 1449782.731 797396.076 0, 1449498.336 797369.611 0, 1449213.94 797343.163 0,
+ 1448929.543 797316.732 0, 1448645.143 797290.317 0, 1448360.743 797263.919 0, 1448076.34 797237.538 0, 1447791.937 797211.173 0, 1447507.531 797184.825 0, 1447223.124 797158.494 0, 1446938.716 797132.18 0, 1446654.306 797105.883 0, 1446369.894 797079.602 0,
+ 1446085.481 797053.338 0, 1445801.066 797027.09 0, 1445516.65 797000.86 0, 1445232.232 796974.646 0, 1444946.508 796948.329 0, 1444663.392 796922.268 0, 1444378.97 796896.105 0, 1444094.546 796869.958 0, 1443810.12 796843.828 0, 1443525.693 796817.714 0,
+ 1443241.265 796791.618 0, 1442956.835 796765.538 0, 1442672.403 796739.475 0, 1442387.97 796713.428 0, 1442103.535 796687.398 0, 1441819.099 796661.385 0, 1441534.661 796635.389 0, 1441250.222 796609.41 0, 1440965.781 796583.447 0, 1440681.339 796557.501 0,
+ 1440396.895 796531.572 0, 1440112.45 796505.659 0, 1439828.003 796479.763 0, 1439543.554 796453.884 0, 1439259.104 796428.022 0, 1438974.653 796402.177 0, 1438690.2 796376.348 0, 1438405.745 796350.536 0, 1438119.983 796324.622 0, 1437616.755 801875.769 0,
+ 1437113.505 807427.151 0, 1437398.611 807453.005 0, 1437682.412 807478.758 0, 1437966.212 807504.528 0, 1438250.01 807530.314 0, 1438533.806 807556.117 0, 1438817.601 807581.936 0, 1439101.394 807607.773 0, 1439385.186 807633.626 0, 1439668.977 807659.495 0,
+ 1439952.766 807685.382 0, 1440236.553 807711.285 0, 1440520.339 807737.205 0, 1440804.123 807763.141 0, 1441087.906 807789.094 0, 1441371.687 807815.064 0, 1441655.467 807841.051 0, 1441939.245 807867.054 0, 1442223.022 807893.074 0, 1442506.797 807919.111 0,
+ 1442790.571 807945.164 0, 1443074.343 807971.234 0, 1443358.113 807997.321 0, 1443641.882 808023.425 0, 1443924.348 808049.425 0, 1444209.416 808075.682 0, 1444493.18 808101.835 0, 1444776.943 808128.006 0, 1445060.704 808154.193 0, 1445344.464 808180.397 0,
+ 1445628.222 808206.617 0, 1445911.979 808232.854 0, 1446195.734 808259.108 0, 1446479.488 808285.379 0, 1446763.24 808311.666 0, 1447046.99 808337.97 0, 1447330.739 808364.29 0, 1447614.486 808390.628 0, 1447898.232 808416.982 0, 1448181.977 808443.353 0,
+ 1448465.719 808469.74 0, 1448749.46 808496.144 0, 1449033.2 808522.565 0, 1449316.938 808549.003 0, 1449600.675 808575.457 0, 1449884.41 808601.928 0, 1450168.143 808628.415 0, 1450451.875 808654.92 0, 1450734.304 808681.319 0, 1451253.236 803131.381 0,
+ 1451772.145 797581.678 0))
+
+POLYGON ((1464351.506 809973.963 0, 1464069.15 809946.766 0, 1463785.494 809919.46 0, 1463501.837 809892.171 0, 1463218.178 809864.899 0, 1462934.517 809837.643 0, 1462650.855 809810.404 0, 1462367.191 809783.181 0, 1462083.526 809755.976 0, 1461799.858 809728.787 0,
+ 1461516.19 809701.614 0, 1461232.52 809674.459 0, 1460948.848 809647.32 0, 1460665.174 809620.198 0, 1460381.499 809593.092 0, 1460097.823 809566.004 0, 1459814.144 809538.931 0, 1459530.465 809511.876 0, 1459246.783 809484.837 0, 1458963.1 809457.815 0,
+ 1458679.416 809430.81 0, 1458395.729 809403.821 0, 1458112.042 809376.85 0, 1457828.352 809349.894 0, 1457543.362 809322.832 0, 1457260.969 809296.034 0, 1456977.275 809269.129 0, 1456693.579 809242.24 0, 1456409.882 809215.369 0, 1456126.183 809188.514 0,
+ 1455842.482 809161.675 0, 1455558.78 809134.854 0, 1455275.077 809108.049 0, 1454991.371 809081.261 0, 1454707.665 809054.489 0, 1454423.956 809027.734 0, 1454140.246 809000.996 0, 1453856.535 808974.275 0, 1453572.822 808947.57 0, 1453289.107 808920.882 0,
+ 1453005.391 808894.21 0, 1452721.673 808867.556 0, 1452437.954 808840.918 0, 1452154.233 808814.297 0, 1451870.511 808787.692 0, 1451586.787 808761.104 0, 1451303.061 808734.533 0, 1451019.334 808707.979 0, 1450734.304 808681.319 0, 1450215.351 814231.489 0,
+ 1449696.377 819781.887 0, 1449980.75 819808.485 0, 1450263.824 819834.978 0, 1450546.896 819861.488 0, 1450829.967 819888.015 0, 1451113.036 819914.558 0, 1451396.104 819941.118 0, 1451679.17 819967.694 0, 1451962.234 819994.288 0, 1452245.297 820020.898 0,
+ 1452528.358 820047.524 0, 1452811.418 820074.167 0, 1453094.476 820100.827 0, 1453377.533 820127.504 0, 1453660.588 820154.197 0, 1453943.641 820180.907 0, 1454226.693 820207.634 0, 1454509.744 820234.377 0, 1454792.792 820261.137 0, 1455075.839 820287.913 0,
+ 1455358.885 820314.706 0, 1455641.929 820341.516 0, 1455924.971 820368.343 0, 1456208.012 820395.186 0, 1456489.755 820421.923 0, 1456774.089 820448.922 0, 1457057.125 820475.815 0, 1457340.16 820502.725 0, 1457623.193 820529.652 0, 1457906.224 820556.595 0,
+ 1458189.254 820583.555 0, 1458472.282 820610.531 0, 1458755.309 820637.524 0, 1459038.334 820664.534 0, 1459321.357 820691.56 0, 1459604.379 820718.603 0, 1459887.399 820745.663 0, 1460170.418 820772.739 0, 1460453.435 820799.832 0, 1460736.45 820826.942 0,
+ 1461019.464 820854.069 0, 1461302.476 820881.212 0, 1461585.487 820908.371 0, 1461868.496 820935.548 0, 1462151.503 820962.741 0, 1462434.509 820989.95 0, 1462717.513 821017.177 0, 1463000.516 821044.419 0, 1463282.222 821071.554 0, 1463816.875 815522.645 0,
+ 1464351.506 809973.963 0))
+
+POLYGON ((1476864.369 822399.599 0, 1476582.739 822371.668 0, 1476299.814 822343.626 0, 1476016.888 822315.6 0, 1475733.96 822287.591 0, 1475451.031 822259.599 0, 1475168.099 822231.623 0, 1474885.167 822203.664 0, 1474602.232 822175.721 0, 1474319.296 822147.796 0,
+ 1474036.358 822119.886 0, 1473753.419 822091.994 0, 1473470.478 822064.118 0, 1473187.535 822036.259 0, 1472904.591 822008.416 0, 1472621.645 821980.59 0, 1472338.698 821952.781 0, 1472055.748 821924.989 0, 1471772.798 821897.213 0, 1471489.845 821869.453 0,
+ 1471206.891 821841.711 0, 1470923.935 821813.985 0, 1470640.978 821786.275 0, 1470358.019 821758.583 0, 1470073.764 821730.78 0, 1469792.096 821703.247 0, 1469509.132 821675.605 0, 1469226.167 821647.979 0, 1468943.2 821620.369 0, 1468660.231 821592.777 0,
+ 1468377.26 821565.2 0, 1468094.288 821537.641 0, 1467811.315 821510.098 0, 1467528.34 821482.572 0, 1467245.363 821455.063 0, 1466962.384 821427.57 0, 1466679.404 821400.094 0, 1466396.422 821372.634 0, 1466113.439 821345.191 0, 1465830.454 821317.765 0,
+ 1465547.468 821290.356 0, 1465264.479 821262.963 0, 1464981.49 821235.587 0, 1464698.498 821208.227 0, 1464415.505 821180.884 0, 1464132.511 821153.558 0, 1463849.514 821126.248 0, 1463566.517 821098.955 0, 1463282.222 821071.554 0, 1462747.547 826620.688 0,
+ 1462212.851 832170.042 0, 1462496.49 832197.38 0, 1462778.834 832224.61 0, 1463061.177 832251.856 0, 1463343.519 832279.12 0, 1463625.859 832306.399 0, 1463908.197 832333.696 0, 1464190.533 832361.009 0, 1464472.868 832388.338 0, 1464755.202 832415.685 0,
+ 1465037.533 832443.048 0, 1465319.864 832470.427 0, 1465602.192 832497.823 0, 1465884.519 832525.236 0, 1466166.844 832552.665 0, 1466449.168 832580.111 0, 1466731.49 832607.574 0, 1467013.81 832635.053 0, 1467296.129 832662.549 0, 1467578.446 832690.061 0,
+ 1467860.762 832717.59 0, 1468143.076 832745.136 0, 1468425.388 832772.698 0, 1468707.699 832800.277 0, 1468988.717 832827.746 0, 1469272.316 832855.485 0, 1469554.622 832883.113 0, 1469836.926 832910.759 0, 1470119.228 832938.421 0, 1470401.529 832966.099 0,
+ 1470683.829 832993.795 0, 1470966.126 833021.506 0, 1471248.422 833049.235 0, 1471530.717 833076.98 0, 1471813.01 833104.742 0, 1472095.301 833132.52 0, 1472377.59 833160.315 0, 1472659.878 833188.126 0, 1472942.165 833215.954 0, 1473224.449 833243.799 0,
+ 1473506.732 833271.66 0, 1473789.014 833299.538 0, 1474071.293 833327.433 0, 1474353.571 833355.344 0, 1474635.848 833383.272 0, 1474918.123 833411.217 0, 1475200.396 833439.178 0, 1475482.667 833467.155 0, 1475763.647 833495.022 0, 1476314.019 827947.2 0,
+ 1476864.369 822399.599 0))
+
+POLYGON ((1489310.646 834858.279 0, 1489029.743 834829.619 0, 1488747.552 834800.844 0, 1488465.359 834772.086 0, 1488183.164 834743.344 0, 1487900.968 834714.619 0, 1487618.77 834685.91 0, 1487336.57 834657.218 0, 1487054.369 834628.543 0, 1486772.166 834599.884 0,
+ 1486489.961 834571.242 0, 1486207.754 834542.616 0, 1485925.546 834514.007 0, 1485643.336 834485.415 0, 1485361.125 834456.839 0, 1485078.911 834428.28 0, 1484796.696 834399.738 0, 1484514.48 834371.212 0, 1484232.261 834342.703 0, 1483950.041 834314.21 0,
+ 1483667.82 834285.734 0, 1483385.596 834257.275 0, 1483103.371 834228.832 0, 1482821.145 834200.406 0, 1482537.628 834171.866 0, 1482256.686 834143.603 0, 1481974.455 834115.227 0, 1481692.221 834086.867 0, 1481409.986 834058.524 0, 1481127.75 834030.197 0,
+ 1480845.511 834001.887 0, 1480563.271 833973.594 0, 1480281.03 833945.317 0, 1479998.786 833917.057 0, 1479716.541 833888.814 0, 1479434.295 833860.587 0, 1479152.046 833832.377 0, 1478869.796 833804.183 0, 1478587.545 833776.006 0, 1478305.291 833747.846 0,
+ 1478023.036 833719.702 0, 1477740.78 833691.575 0, 1477458.521 833663.464 0, 1477176.261 833635.37 0, 1476894 833607.293 0, 1476611.737 833579.232 0, 1476329.472 833551.188 0, 1476047.205 833523.16 0, 1475763.647 833495.022 0, 1475213.254 839043.06 0,
+ 1474662.84 844591.311 0, 1474945.742 844619.385 0, 1475227.355 844647.348 0, 1475508.967 844675.327 0, 1475790.577 844703.323 0, 1476072.185 844731.335 0, 1476353.792 844759.364 0, 1476635.397 844787.41 0, 1476917.001 844815.472 0, 1477198.603 844843.551 0,
+ 1477480.203 844871.646 0, 1477761.802 844899.758 0, 1478043.399 844927.886 0, 1478324.994 844956.031 0, 1478606.588 844984.192 0, 1478888.18 845012.371 0, 1479169.77 845040.565 0, 1479451.358 845068.777 0, 1479732.945 845097.004 0, 1480014.531 845125.249 0,
+ 1480296.114 845153.51 0, 1480577.696 845181.787 0, 1480859.277 845210.082 0, 1481140.855 845238.392 0, 1481421.147 845266.59 0, 1481704.008 845295.063 0, 1481985.581 845323.424 0, 1482267.153 845351.801 0, 1482548.724 845380.194 0, 1482830.292 845408.605 0,
+ 1483111.859 845437.031 0, 1483393.425 845465.475 0, 1483674.988 845493.934 0, 1483956.55 845522.411 0, 1484238.111 845550.904 0, 1484519.669 845579.413 0, 1484801.226 845607.94 0, 1485082.781 845636.482 0, 1485364.335 845665.042 0, 1485645.887 845693.617 0,
+ 1485927.437 845722.21 0, 1486208.985 845750.819 0, 1486490.532 845779.444 0, 1486772.077 845808.087 0, 1487053.621 845836.745 0, 1487335.163 845865.421 0, 1487616.703 845894.112 0, 1487898.241 845922.821 0, 1488178.493 845951.415 0, 1488744.58 840404.74 0,
+ 1489310.646 834858.279 0))
+
+POLYGON ((1501690.251 847349.697 0, 1501410.078 847320.311 0, 1501128.622 847290.807 0, 1500847.164 847261.32 0, 1500565.705 847231.85 0, 1500284.243 847202.396 0, 1500002.78 847172.958 0, 1499721.315 847143.537 0, 1499439.849 847114.133 0, 1499158.38 847084.745 0,
+ 1498876.91 847055.374 0, 1498595.439 847026.019 0, 1498313.965 846996.681 0, 1498032.49 846967.36 0, 1497751.013 846938.055 0, 1497469.534 846908.767 0, 1497188.054 846879.495 0, 1496906.572 846850.24 0, 1496625.088 846821.001 0, 1496343.603 846791.779 0,
+ 1496062.115 846762.573 0, 1495780.626 846733.384 0, 1495499.136 846704.212 0, 1495217.643 846675.056 0, 1494934.866 846645.784 0, 1494654.653 846616.794 0, 1494373.156 846587.688 0, 1494091.656 846558.599 0, 1493810.155 846529.526 0, 1493528.653 846500.469 0,
+ 1493247.148 846471.43 0, 1492965.642 846442.406 0, 1492684.134 846413.4 0, 1492402.625 846384.409 0, 1492121.114 846355.436 0, 1491839.601 846326.479 0, 1491558.086 846297.538 0, 1491276.57 846268.615 0, 1490995.052 846239.707 0, 1490713.532 846210.817 0,
+ 1490432.01 846181.943 0, 1490150.487 846153.085 0, 1489868.962 846124.244 0, 1489587.436 846095.42 0, 1489305.908 846066.612 0, 1489024.378 846037.82 0, 1488742.846 846009.046 0, 1488461.313 845980.288 0, 1488178.493 845951.415 0, 1487612.385 851498.299 0,
+ 1487046.256 857045.389 0, 1487328.419 857074.194 0, 1487609.299 857102.886 0, 1487890.178 857131.594 0, 1488171.055 857160.318 0, 1488451.93 857189.059 0, 1488732.804 857217.817 0, 1489013.676 857246.591 0, 1489294.546 857275.382 0, 1489575.415 857304.189 0,
+ 1489856.281 857333.013 0, 1490137.147 857361.853 0, 1490418.01 857390.71 0, 1490698.872 857419.583 0, 1490979.732 857448.473 0, 1491260.59 857477.379 0, 1491541.447 857506.302 0, 1491822.302 857535.241 0, 1492103.155 857564.197 0, 1492384.006 857593.17 0,
+ 1492664.856 857622.159 0, 1492945.704 857651.164 0, 1493226.551 857680.186 0, 1493507.395 857709.225 0, 1493786.958 857738.148 0, 1494069.079 857767.352 0, 1494349.919 857796.44 0, 1494630.757 857825.545 0, 1494911.593 857854.666 0, 1495192.427 857883.804 0,
+ 1495473.26 857912.958 0, 1495754.091 857942.129 0, 1496034.92 857971.316 0, 1496315.748 858000.52 0, 1496596.574 858029.741 0, 1496877.398 858058.977 0, 1497158.22 858088.231 0, 1497439.041 858117.501 0, 1497719.86 858146.788 0, 1498000.677 858176.091 0,
+ 1498281.492 858205.41 0, 1498562.306 858234.746 0, 1498843.118 858264.099 0, 1499123.928 858293.468 0, 1499404.737 858322.854 0, 1499685.544 858352.256 0, 1499966.349 858381.675 0, 1500247.152 858411.11 0, 1500526.675 858440.428 0, 1501108.474 852894.959 0,
+ 1501690.251 847349.697 0))
+
+POLYGON ((1514003.1 859873.546 0, 1513723.659 859843.438 0, 1513442.939 859813.21 0, 1513162.219 859782.998 0, 1512881.496 859752.803 0, 1512600.772 859722.624 0, 1512320.045 859692.461 0, 1512039.317 859662.315 0, 1511758.588 859632.186 0, 1511477.856 859602.073 0,
+ 1511197.123 859571.977 0, 1510916.388 859541.897 0, 1510635.651 859511.834 0, 1510354.912 859481.787 0, 1510074.172 859451.757 0, 1509793.43 859421.743 0, 1509512.686 859391.746 0, 1509231.94 859361.765 0, 1508951.193 859331.801 0, 1508670.443 859301.854 0,
+ 1508389.693 859271.923 0, 1508108.94 859242.008 0, 1507828.185 859212.11 0, 1507547.429 859182.229 0, 1507265.393 859152.228 0, 1506985.911 859122.515 0, 1506705.15 859092.683 0, 1506424.387 859062.868 0, 1506143.621 859033.069 0, 1505862.855 859003.287 0,
+ 1505582.086 858973.521 0, 1505301.316 858943.771 0, 1505020.544 858914.039 0, 1504739.77 858884.322 0, 1504458.995 858854.623 0, 1504178.217 858824.94 0, 1503897.438 858795.273 0, 1503616.657 858765.623 0, 1503335.875 858735.989 0, 1503055.091 858706.372 0,
+ 1502774.305 858676.771 0, 1502493.517 858647.187 0, 1502212.727 858617.62 0, 1501931.936 858588.069 0, 1501651.143 858558.534 0, 1501370.349 858529.017 0, 1501089.552 858499.515 0, 1500808.754 858470.03 0, 1500526.675 858440.428 0, 1499944.855 863986.098 0,
+ 1499363.015 869531.967 0, 1499644.438 869561.501 0, 1499924.583 869590.917 0, 1500204.726 869620.35 0, 1500484.868 869649.799 0, 1500765.009 869679.265 0, 1501045.147 869708.747 0, 1501325.284 869738.246 0, 1501605.419 869767.761 0, 1501885.552 869797.293 0,
+ 1502165.683 869826.841 0, 1502445.813 869856.406 0, 1502725.941 869885.987 0, 1503006.067 869915.585 0, 1503286.192 869945.199 0, 1503566.315 869974.83 0, 1503846.436 870004.477 0, 1504126.555 870034.141 0, 1504406.672 870063.821 0, 1504686.788 870093.517 0,
+ 1504966.902 870123.23 0, 1505247.014 870152.96 0, 1505527.125 870182.706 0, 1505807.234 870212.469 0, 1506086.066 870242.112 0, 1506367.446 870272.043 0, 1506647.55 870301.855 0, 1506927.651 870331.684 0, 1507207.751 870361.529 0, 1507487.85 870391.39 0,
+ 1507767.946 870421.268 0, 1508048.041 870451.163 0, 1508328.134 870481.074 0, 1508608.225 870511.001 0, 1508888.315 870540.945 0, 1509168.402 870570.905 0, 1509448.488 870600.882 0, 1509728.572 870630.876 0, 1510008.655 870660.885 0, 1510288.735 870690.912 0,
+ 1510568.814 870720.955 0, 1510848.891 870751.014 0, 1511128.967 870781.09 0, 1511409.04 870811.182 0, 1511689.112 870841.291 0, 1511969.182 870871.416 0, 1512249.25 870901.558 0, 1512529.317 870931.716 0, 1512808.108 870961.753 0, 1513405.615 865417.55 0,
+ 1514003.1 859873.546 0))
+
+POLYGON ((1526249.108 872429.519 0, 1525970.401 872398.694 0, 1525690.421 872367.744 0, 1525410.439 872336.811 0, 1525130.455 872305.895 0, 1524850.469 872274.995 0, 1524570.482 872244.112 0, 1524290.493 872213.245 0, 1524010.502 872182.394 0, 1523730.509 872151.56 0,
+ 1523450.514 872120.743 0, 1523170.518 872089.942 0, 1522890.519 872059.157 0, 1522610.519 872028.389 0, 1522330.517 871997.638 0, 1522050.514 871966.903 0, 1521770.508 871936.184 0, 1521490.501 871905.482 0, 1521210.492 871874.796 0, 1520930.481 871844.127 0,
+ 1520650.468 871813.474 0, 1520370.453 871782.838 0, 1520090.437 871752.218 0, 1519810.419 871721.615 0, 1519529.127 871690.889 0, 1519250.377 871660.458 0, 1518970.353 871629.904 0, 1518690.328 871599.367 0, 1518410.301 871568.846 0, 1518130.272 871538.342 0,
+ 1517850.241 871507.854 0, 1517570.208 871477.382 0, 1517290.174 871446.928 0, 1517010.138 871416.489 0, 1516730.1 871386.067 0, 1516450.06 871355.662 0, 1516170.019 871325.273 0, 1515889.975 871294.9 0, 1515609.93 871264.544 0, 1515329.883 871234.205 0,
+ 1515049.835 871203.882 0, 1514769.784 871173.575 0, 1514489.732 871143.285 0, 1514209.678 871113.011 0, 1513929.622 871082.754 0, 1513649.565 871052.514 0, 1513369.505 871022.289 0, 1513089.444 870992.082 0, 1512808.108 870961.753 0, 1512210.581 876506.151 0,
+ 1511613.033 882050.74 0, 1511893.713 882080.997 0, 1512173.122 882111.135 0, 1512452.528 882141.288 0, 1512731.933 882171.458 0, 1513011.336 882201.645 0, 1513290.738 882231.848 0, 1513570.137 882262.068 0, 1513849.535 882292.304 0, 1514128.931 882322.556 0,
+ 1514408.325 882352.825 0, 1514687.718 882383.11 0, 1514967.109 882413.412 0, 1515246.497 882443.73 0, 1515525.885 882474.065 0, 1515805.27 882504.416 0, 1516084.653 882534.783 0, 1516364.035 882565.167 0, 1516643.415 882595.567 0, 1516922.793 882625.984 0,
+ 1517202.17 882656.417 0, 1517481.544 882686.867 0, 1517760.917 882717.333 0, 1518040.288 882747.816 0, 1518318.388 882778.176 0, 1518599.025 882808.83 0, 1518878.39 882839.362 0, 1519157.754 882869.911 0, 1519437.116 882900.476 0, 1519716.476 882931.057 0,
+ 1519995.835 882961.655 0, 1520275.191 882992.269 0, 1520554.546 883022.899 0, 1520833.899 883053.546 0, 1521113.25 883084.21 0, 1521392.6 883114.89 0, 1521671.947 883145.586 0, 1521951.293 883176.299 0, 1522230.637 883207.028 0, 1522509.979 883237.774 0,
+ 1522789.32 883268.536 0, 1523068.658 883299.314 0, 1523347.995 883330.109 0, 1523627.33 883360.921 0, 1523906.663 883391.749 0, 1524185.994 883422.593 0, 1524465.324 883453.454 0, 1524744.651 883484.331 0, 1525022.709 883515.084 0, 1525635.919 877972.206 0,
+ 1526249.108 872429.519 0))
+
+POLYGON ((1029306.184 442716.726 0, 1029002.387 442715.018 0, 1028697.118 442713.32 0, 1028391.848 442711.64 0, 1028086.578 442709.978 0, 1027781.308 442708.334 0, 1027476.038 442706.708 0, 1027170.768 442705.099 0, 1026865.498 442703.509 0, 1026560.228 442701.937 0,
+ 1026254.957 442700.383 0, 1025949.687 442698.846 0, 1025644.416 442697.328 0, 1025339.146 442695.827 0, 1025033.875 442694.345 0, 1024728.604 442692.881 0, 1024423.333 442691.434 0, 1024118.062 442690.006 0, 1023812.791 442688.595 0, 1023507.52 442687.202 0,
+ 1023202.249 442685.828 0, 1022896.977 442684.471 0, 1022591.706 442683.132 0, 1022286.435 442681.812 0, 1021979.69 442680.503 0, 1021675.891 442679.224 0, 1021370.62 442677.957 0, 1021065.348 442676.708 0, 1020760.076 442675.478 0, 1020454.804 442674.265 0,
+ 1020149.532 442673.07 0, 1019844.26 442671.893 0, 1019538.988 442670.734 0, 1019233.716 442669.593 0, 1018928.444 442668.47 0, 1018623.171 442667.365 0, 1018317.899 442666.277 0, 1018012.626 442665.208 0, 1017707.354 442664.157 0, 1017402.081 442663.124 0,
+ 1017096.809 442662.109 0, 1016791.536 442661.111 0, 1016486.263 442660.132 0, 1016180.99 442659.171 0, 1015875.717 442658.227 0, 1015570.445 442657.302 0, 1015265.172 442656.394 0, 1014959.898 442655.505 0, 1014653.151 442654.629 0, 1014637.461 448208.173 0,
+ 1014621.77 453762.149 0, 1014927.861 453763.023 0, 1015232.48 453763.91 0, 1015537.099 453764.816 0, 1015841.718 453765.739 0, 1016146.337 453766.681 0, 1016450.956 453767.64 0, 1016755.575 453768.617 0, 1017060.194 453769.612 0, 1017364.813 453770.625 0,
+ 1017669.432 453771.656 0, 1017974.051 453772.705 0, 1018278.67 453773.772 0, 1018583.288 453774.857 0, 1018887.907 453775.96 0, 1019192.525 453777.08 0, 1019497.144 453778.219 0, 1019801.762 453779.376 0, 1020106.38 453780.55 0, 1020410.999 453781.742 0,
+ 1020715.617 453782.953 0, 1021020.235 453784.181 0, 1021324.853 453785.427 0, 1021629.471 453786.691 0, 1021932.618 453787.967 0, 1022238.706 453789.273 0, 1022543.324 453790.591 0, 1022847.942 453791.927 0, 1023152.559 453793.281 0, 1023457.177 453794.652 0,
+ 1023761.794 453796.042 0, 1024066.411 453797.449 0, 1024371.029 453798.875 0, 1024675.646 453800.318 0, 1024980.263 453801.78 0, 1025284.88 453803.259 0, 1025589.497 453804.756 0, 1025894.114 453806.271 0, 1026198.73 453807.804 0, 1026503.347 453809.355 0,
+ 1026807.963 453810.924 0, 1027112.58 453812.511 0, 1027417.196 453814.116 0, 1027721.812 453815.738 0, 1028026.429 453817.379 0, 1028331.045 453819.038 0, 1028635.661 453820.714 0, 1028940.276 453822.408 0, 1029243.423 453824.112 0, 1029274.805 448270.203 0,
+ 1029306.184 442716.726 0))
+
+POLYGON ((1043864.843 453927.385 0, 1043561.7 453924.824 0, 1043257.09 453922.269 0, 1042952.48 453919.732 0, 1042647.87 453917.213 0, 1042343.26 453914.712 0, 1042038.649 453912.229 0, 1041734.038 453909.763 0, 1041429.428 453907.316 0, 1041124.817 453904.886 0,
+ 1040820.206 453902.475 0, 1040515.595 453900.081 0, 1040210.983 453897.705 0, 1039906.372 453895.348 0, 1039601.76 453893.008 0, 1039297.149 453890.686 0, 1038992.537 453888.382 0, 1038687.925 453886.096 0, 1038383.313 453883.828 0, 1038078.7 453881.577 0,
+ 1037774.088 453879.345 0, 1037469.476 453877.131 0, 1037164.863 453874.934 0, 1036860.25 453872.756 0, 1036554.169 453870.585 0, 1036251.024 453868.453 0, 1035946.411 453866.328 0, 1035641.798 453864.221 0, 1035337.184 453862.132 0, 1035032.571 453860.062 0,
+ 1034727.957 453858.009 0, 1034423.344 453855.974 0, 1034118.73 453853.956 0, 1033814.116 453851.957 0, 1033509.502 453849.976 0, 1033204.887 453848.013 0, 1032900.273 453846.067 0, 1032595.658 453844.14 0, 1032291.044 453842.23 0, 1031986.429 453840.339 0,
+ 1031681.814 453838.465 0, 1031377.199 453836.609 0, 1031072.584 453834.771 0, 1030767.969 453832.951 0, 1030463.354 453831.149 0, 1030158.739 453829.365 0, 1029854.123 453827.599 0, 1029549.508 453825.851 0, 1029243.423 453824.112 0, 1029212.039 459378.452 0,
+ 1029180.652 464933.218 0, 1029486.08 464934.952 0, 1029790.041 464936.697 0, 1030094.003 464938.459 0, 1030397.964 464940.239 0, 1030701.926 464942.037 0, 1031005.887 464943.853 0, 1031309.848 464945.687 0, 1031613.809 464947.539 0, 1031917.77 464949.409 0,
+ 1032221.731 464951.296 0, 1032525.692 464953.202 0, 1032829.652 464955.125 0, 1033133.613 464957.066 0, 1033437.573 464959.026 0, 1033741.533 464961.003 0, 1034045.494 464962.997 0, 1034349.454 464965.01 0, 1034653.413 464967.041 0, 1034957.373 464969.09 0,
+ 1035261.333 464971.156 0, 1035565.292 464973.24 0, 1035869.252 464975.343 0, 1036173.211 464977.463 0, 1036475.705 464979.59 0, 1036781.129 464981.757 0, 1037085.088 464983.93 0, 1037389.047 464986.122 0, 1037693.006 464988.332 0, 1037996.964 464990.559 0,
+ 1038300.923 464992.805 0, 1038604.881 464995.068 0, 1038908.839 464997.349 0, 1039212.797 464999.648 0, 1039516.755 465001.965 0, 1039820.713 465004.3 0, 1040124.67 465006.653 0, 1040428.628 465009.023 0, 1040732.585 465011.412 0, 1041036.542 465013.818 0,
+ 1041340.499 465016.242 0, 1041644.456 465018.684 0, 1041948.413 465021.145 0, 1042252.369 465023.622 0, 1042556.326 465026.118 0, 1042860.282 465028.632 0, 1043164.238 465031.164 0, 1043468.194 465033.713 0, 1043770.686 465036.268 0, 1043817.766 459481.613 0,
+ 1043864.843 453927.385 0))
+
+POLYGON ((1058360.372 465180.538 0, 1058057.886 465177.128 0, 1057753.938 465173.72 0, 1057449.99 465170.33 0, 1057146.042 465166.957 0, 1056842.094 465163.603 0, 1056538.146 465160.266 0, 1056234.197 465156.947 0, 1055930.248 465153.646 0, 1055626.3 465150.363 0,
+ 1055322.35 465147.098 0, 1055018.401 465143.851 0, 1054714.451 465140.622 0, 1054410.502 465137.41 0, 1054106.552 465134.217 0, 1053802.602 465131.041 0, 1053498.651 465127.883 0, 1053194.701 465124.743 0, 1052890.75 465121.621 0, 1052586.799 465118.517 0,
+ 1052282.848 465115.431 0, 1051978.897 465112.363 0, 1051674.946 465109.312 0, 1051370.994 465106.28 0, 1051065.58 465103.251 0, 1050763.091 465100.268 0, 1050459.139 465097.289 0, 1050155.186 465094.328 0, 1049851.234 465091.385 0, 1049547.281 465088.46 0,
+ 1049243.328 465085.553 0, 1048939.375 465082.663 0, 1048635.422 465079.792 0, 1048331.469 465076.938 0, 1048027.516 465074.103 0, 1047723.562 465071.285 0, 1047419.608 465068.485 0, 1047115.654 465065.703 0, 1046811.7 465062.938 0, 1046507.746 465060.192 0,
+ 1046203.791 465057.464 0, 1045899.837 465054.753 0, 1045595.882 465052.061 0, 1045291.927 465049.386 0, 1044987.972 465046.729 0, 1044684.017 465044.09 0, 1044380.061 465041.469 0, 1044076.106 465038.866 0, 1043770.686 465036.268 0, 1043723.603 470591.347 0,
+ 1043676.516 476146.846 0, 1043981.278 476149.438 0, 1044284.58 476152.036 0, 1044587.881 476154.651 0, 1044891.182 476157.284 0, 1045194.484 476159.935 0, 1045497.785 476162.604 0, 1045801.085 476165.291 0, 1046104.386 476167.996 0, 1046407.687 476170.718 0,
+ 1046710.987 476173.459 0, 1047014.287 476176.217 0, 1047317.587 476178.993 0, 1047620.887 476181.787 0, 1047924.187 476184.599 0, 1048227.486 476187.429 0, 1048530.786 476190.276 0, 1048834.085 476193.141 0, 1049137.384 476196.025 0, 1049440.683 476198.926 0,
+ 1049743.981 476201.845 0, 1050047.28 476204.781 0, 1050350.578 476207.736 0, 1050653.876 476210.708 0, 1050955.715 476213.684 0, 1051260.472 476216.707 0, 1051563.77 476219.733 0, 1051867.067 476222.777 0, 1052170.364 476225.839 0, 1052473.661 476228.918 0,
+ 1052776.958 476232.016 0, 1053080.255 476235.131 0, 1053383.552 476238.264 0, 1053686.848 476241.415 0, 1053990.144 476244.584 0, 1054293.44 476247.77 0, 1054596.736 476250.975 0, 1054900.032 476254.197 0, 1055203.327 476257.438 0, 1055506.622 476260.696 0,
+ 1055809.917 476263.972 0, 1056113.212 476267.265 0, 1056416.507 476270.577 0, 1056719.801 476273.906 0, 1057023.095 476277.254 0, 1057326.389 476280.619 0, 1057629.683 476284.002 0, 1057932.977 476287.403 0, 1058234.812 476290.805 0, 1058297.594 470735.461 0,
+ 1058360.372 465180.538 0))
+
+POLYGON ((1072792.644 476475.894 0, 1072490.817 476471.639 0, 1072187.534 476467.381 0, 1071884.251 476463.141 0, 1071580.968 476458.919 0, 1071277.684 476454.715 0, 1070974.4 476450.529 0, 1070671.116 476446.36 0, 1070367.832 476442.209 0, 1070064.547 476438.077 0,
+ 1069761.263 476433.962 0, 1069457.977 476429.865 0, 1069154.692 476425.785 0, 1068851.407 476421.724 0, 1068548.121 476417.68 0, 1068244.835 476413.655 0, 1067941.549 476409.647 0, 1067638.262 476405.657 0, 1067334.975 476401.685 0, 1067031.689 476397.731 0,
+ 1066728.401 476393.794 0, 1066425.114 476389.876 0, 1066121.826 476385.975 0, 1065818.538 476382.092 0, 1065513.793 476378.208 0, 1065211.962 476374.38 0, 1064908.673 476370.55 0, 1064605.385 476366.739 0, 1064302.096 476362.945 0, 1063998.806 476359.17 0,
+ 1063695.517 476355.412 0, 1063392.227 476351.672 0, 1063088.937 476347.949 0, 1062785.647 476344.245 0, 1062482.357 476340.558 0, 1062179.067 476336.89 0, 1061875.776 476333.239 0, 1061572.485 476329.606 0, 1061269.194 476325.991 0, 1060965.902 476322.394 0,
+ 1060662.611 476318.814 0, 1060359.319 476315.253 0, 1060056.027 476311.709 0, 1059752.735 476308.183 0, 1059449.442 476304.675 0, 1059146.15 476301.185 0, 1058842.857 476297.713 0, 1058539.564 476294.258 0, 1058234.812 476290.805 0, 1058172.025 481846.567 0,
+ 1058109.234 487402.743 0, 1058413.328 487406.188 0, 1058715.967 487409.635 0, 1059018.606 487413.1 0, 1059321.244 487416.583 0, 1059623.883 487420.083 0, 1059926.521 487423.602 0, 1060229.159 487427.138 0, 1060531.797 487430.691 0, 1060834.434 487434.263 0,
+ 1061137.072 487437.853 0, 1061439.709 487441.46 0, 1061742.346 487445.085 0, 1062044.983 487448.728 0, 1062347.619 487452.389 0, 1062650.255 487456.067 0, 1062952.892 487459.764 0, 1063255.527 487463.478 0, 1063558.163 487467.21 0, 1063860.798 487470.96 0,
+ 1064163.434 487474.727 0, 1064466.069 487478.513 0, 1064768.703 487482.316 0, 1065071.338 487486.137 0, 1065372.518 487489.957 0, 1065676.606 487493.833 0, 1065979.24 487497.707 0, 1066281.874 487501.599 0, 1066584.507 487505.51 0, 1066887.14 487509.438 0,
+ 1067189.773 487513.383 0, 1067492.406 487517.347 0, 1067795.038 487521.328 0, 1068097.671 487525.327 0, 1068400.303 487529.344 0, 1068702.934 487533.379 0, 1069005.566 487537.432 0, 1069308.197 487541.502 0, 1069610.828 487545.591 0, 1069913.459 487549.697 0,
+ 1070216.09 487553.82 0, 1070518.72 487557.962 0, 1070821.35 487562.122 0, 1071123.98 487566.299 0, 1071426.609 487570.494 0, 1071729.239 487574.707 0, 1072031.868 487578.938 0, 1072334.497 487583.186 0, 1072635.673 487587.432 0, 1072714.161 482031.456 0,
+ 1072792.644 476475.894 0))
+
+POLYGON ((1087161.532 487813.161 0, 1086860.367 487808.064 0, 1086557.751 487802.96 0, 1086255.135 487797.875 0, 1085952.519 487792.807 0, 1085649.902 487787.757 0, 1085347.285 487782.724 0, 1085044.668 487777.71 0, 1084742.051 487772.713 0, 1084439.433 487767.734 0,
+ 1084136.815 487762.773 0, 1083834.197 487757.83 0, 1083531.578 487752.905 0, 1083228.96 487747.997 0, 1082926.34 487743.107 0, 1082623.721 487738.235 0, 1082321.101 487733.381 0, 1082018.481 487728.545 0, 1081715.861 487723.726 0, 1081413.24 487718.926 0,
+ 1081110.619 487714.143 0, 1080807.998 487709.378 0, 1080505.377 487704.63 0, 1080202.755 487699.901 0, 1079898.682 487695.167 0, 1079597.511 487690.495 0, 1079294.888 487685.819 0, 1078992.266 487681.161 0, 1078689.643 487676.521 0, 1078387.019 487671.898 0,
+ 1078084.396 487667.293 0, 1077781.772 487662.706 0, 1077479.148 487658.137 0, 1077176.523 487653.586 0, 1076873.898 487649.052 0, 1076571.273 487644.536 0, 1076268.648 487640.038 0, 1075966.023 487635.558 0, 1075663.397 487631.096 0, 1075360.771 487626.652 0,
+ 1075058.145 487622.225 0, 1074755.518 487617.816 0, 1074452.891 487613.425 0, 1074150.264 487609.052 0, 1073847.637 487604.696 0, 1073545.009 487600.359 0, 1073242.382 487596.039 0, 1072939.754 487591.737 0, 1072635.673 487587.432 0, 1072557.178 493143.82 0,
+ 1072478.678 498700.616 0, 1072782.102 498704.912 0, 1073084.076 498709.205 0, 1073386.05 498713.515 0, 1073688.023 498717.843 0, 1073989.996 498722.189 0, 1074291.969 498726.553 0, 1074593.942 498730.935 0, 1074895.914 498735.334 0, 1075197.887 498739.751 0,
+ 1075499.858 498744.186 0, 1075801.83 498748.639 0, 1076103.801 498753.109 0, 1076405.773 498757.597 0, 1076707.744 498762.103 0, 1077009.714 498766.627 0, 1077311.684 498771.169 0, 1077613.655 498775.728 0, 1077915.624 498780.305 0, 1078217.594 498784.9 0,
+ 1078519.563 498789.512 0, 1078821.532 498794.143 0, 1079123.501 498798.791 0, 1079425.469 498803.457 0, 1079725.989 498808.118 0, 1080029.405 498812.842 0, 1080331.373 498817.561 0, 1080633.34 498822.298 0, 1080935.307 498827.053 0, 1081237.274 498831.826 0,
+ 1081539.241 498836.616 0, 1081841.207 498841.424 0, 1082143.173 498846.25 0, 1082445.138 498851.094 0, 1082747.104 498855.955 0, 1083049.069 498860.834 0, 1083351.034 498865.731 0, 1083652.998 498870.646 0, 1083954.962 498875.579 0, 1084256.926 498880.529 0,
+ 1084558.89 498885.497 0, 1084860.853 498890.483 0, 1085162.816 498895.487 0, 1085464.779 498900.508 0, 1085766.741 498905.547 0, 1086068.703 498910.604 0, 1086370.665 498915.679 0, 1086672.627 498920.771 0, 1086973.141 498925.857 0, 1087067.34 493369.305 0,
+ 1087161.532 487813.161 0))
+
+POLYGON ((1101466.91 499192.046 0, 1101166.409 499186.111 0, 1100864.463 499180.166 0, 1100562.517 499174.238 0, 1100260.57 499168.328 0, 1099958.623 499162.436 0, 1099656.676 499156.561 0, 1099354.728 499150.705 0, 1099052.78 499144.866 0, 1098750.831 499139.045 0,
+ 1098448.883 499133.241 0, 1098146.934 499127.456 0, 1097844.984 499121.688 0, 1097543.035 499115.938 0, 1097241.084 499110.205 0, 1096939.134 499104.491 0, 1096637.183 499098.794 0, 1096335.232 499093.115 0, 1096033.281 499087.454 0, 1095731.329 499081.81 0,
+ 1095429.377 499076.185 0, 1095127.425 499070.577 0, 1094825.472 499064.987 0, 1094523.519 499059.414 0, 1094220.119 499053.833 0, 1093919.612 499048.323 0, 1093617.658 499042.804 0, 1093315.703 499037.303 0, 1093013.748 499031.819 0, 1092711.793 499026.353 0,
+ 1092409.838 499020.905 0, 1092107.882 499015.475 0, 1091805.926 499010.063 0, 1091503.97 499004.668 0, 1091202.014 498999.291 0, 1090900.057 498993.932 0, 1090598.099 498988.591 0, 1090296.142 498983.267 0, 1089994.184 498977.962 0, 1089692.226 498972.674 0,
+ 1089390.267 498967.404 0, 1089088.308 498962.151 0, 1088786.349 498956.916 0, 1088484.39 498951.699 0, 1088182.43 498946.5 0, 1087880.47 498941.319 0, 1087578.51 498936.155 0, 1087276.549 498931.01 0, 1086973.141 498925.857 0, 1086878.935 504482.815 0,
+ 1086784.723 510040.175 0, 1087087.474 510045.316 0, 1087388.78 510050.451 0, 1087690.086 510055.603 0, 1087991.392 510060.773 0, 1088292.698 510065.961 0, 1088594.003 510071.167 0, 1088895.308 510076.39 0, 1089196.613 510081.631 0, 1089497.917 510086.89 0,
+ 1089799.221 510092.167 0, 1090100.525 510097.461 0, 1090401.828 510102.773 0, 1090703.131 510108.103 0, 1091004.434 510113.45 0, 1091305.736 510118.815 0, 1091607.039 510124.198 0, 1091908.34 510129.599 0, 1092209.642 510135.017 0, 1092510.943 510140.453 0,
+ 1092812.244 510145.907 0, 1093113.545 510151.379 0, 1093414.845 510156.868 0, 1093716.145 510162.375 0, 1094016.002 510167.874 0, 1094318.744 510173.443 0, 1094620.042 510179.003 0, 1094921.341 510184.581 0, 1095222.639 510190.177 0, 1095523.937 510195.79 0,
+ 1095825.235 510201.421 0, 1096126.532 510207.07 0, 1096427.829 510212.737 0, 1096729.126 510218.421 0, 1097030.422 510224.124 0, 1097331.718 510229.844 0, 1097633.014 510235.581 0, 1097934.309 510241.336 0, 1098235.604 510247.11 0, 1098536.898 510252.9 0,
+ 1098838.193 510258.709 0, 1099139.486 510264.535 0, 1099440.78 510270.379 0, 1099742.073 510276.241 0, 1100043.366 510282.12 0, 1100344.659 510288.018 0, 1100645.951 510293.933 0, 1100947.243 510299.865 0, 1101247.092 510305.787 0, 1101357.005 504748.716 0,
+ 1101466.91 499192.046 0))
+
+POLYGON ((1115708.654 510612.258 0, 1115408.82 510605.488 0, 1115107.546 510598.705 0, 1114806.271 510591.938 0, 1114504.997 510585.19 0, 1114203.722 510578.459 0, 1113902.446 510571.746 0, 1113601.17 510565.051 0, 1113299.894 510558.374 0, 1112998.618 510551.714 0,
+ 1112697.341 510545.072 0, 1112396.063 510538.448 0, 1112094.785 510531.841 0, 1111793.507 510525.252 0, 1111492.229 510518.681 0, 1111190.95 510512.128 0, 1110889.67 510505.592 0, 1110588.391 510499.074 0, 1110287.11 510492.574 0, 1109985.83 510486.092 0,
+ 1109684.549 510479.627 0, 1109383.268 510473.18 0, 1109081.986 510466.751 0, 1108780.704 510460.34 0, 1108477.981 510453.915 0, 1108178.139 510447.57 0, 1107876.856 510441.212 0, 1107575.572 510434.871 0, 1107274.288 510428.548 0, 1106973.004 510422.243 0,
+ 1106671.72 510415.956 0, 1106370.435 510409.686 0, 1106069.149 510403.434 0, 1105767.863 510397.2 0, 1105466.577 510390.984 0, 1105165.291 510384.785 0, 1104864.004 510378.604 0, 1104562.717 510372.441 0, 1104261.429 510366.295 0, 1103960.141 510360.168 0,
+ 1103658.853 510354.058 0, 1103357.564 510347.965 0, 1103056.275 510341.891 0, 1102754.986 510335.834 0, 1102453.696 510329.795 0, 1102152.406 510323.773 0, 1101851.116 510317.77 0, 1101549.825 510311.784 0, 1101247.092 510305.787 0, 1101137.172 515863.258 0,
+ 1101027.244 521421.125 0, 1101329.319 521427.109 0, 1101629.955 521433.081 0, 1101930.592 521439.072 0, 1102231.228 521445.08 0, 1102531.863 521451.106 0, 1102832.498 521457.15 0, 1103133.133 521463.211 0, 1103433.767 521469.29 0, 1103734.401 521475.387 0,
+ 1104035.035 521481.502 0, 1104335.668 521487.634 0, 1104636.301 521493.784 0, 1104936.934 521499.951 0, 1105237.566 521506.136 0, 1105538.198 521512.339 0, 1105838.83 521518.56 0, 1106139.461 521524.798 0, 1106440.092 521531.054 0, 1106740.722 521537.328 0,
+ 1107041.352 521543.619 0, 1107341.982 521549.928 0, 1107642.611 521556.255 0, 1107943.24 521562.6 0, 1108242.431 521568.931 0, 1108544.497 521575.342 0, 1108845.125 521581.739 0, 1109145.752 521588.155 0, 1109446.379 521594.587 0, 1109747.006 521601.038 0,
+ 1110047.632 521607.506 0, 1110348.258 521613.992 0, 1110648.883 521620.496 0, 1110949.509 521627.018 0, 1111250.133 521633.557 0, 1111550.758 521640.114 0, 1111851.382 521646.688 0, 1112152.005 521653.28 0, 1112452.629 521659.89 0, 1112753.251 521666.518 0,
+ 1113053.874 521673.163 0, 1113354.496 521679.826 0, 1113655.117 521686.507 0, 1113955.739 521693.205 0, 1114256.36 521699.921 0, 1114556.98 521706.655 0, 1114857.6 521713.406 0, 1115158.22 521720.175 0, 1115457.403 521726.93 0, 1115583.033 516169.396 0,
+ 1115708.654 510612.258 0))
+
+POLYGON ((1129886.641 522073.501 0, 1129587.476 522065.901 0, 1129286.876 522058.283 0, 1128986.277 522050.682 0, 1128685.676 522043.099 0, 1128385.076 522035.534 0, 1128084.474 522027.986 0, 1127783.873 522020.456 0, 1127483.271 522012.944 0, 1127182.668 522005.45 0,
+ 1126882.066 521997.973 0, 1126581.462 521990.514 0, 1126280.858 521983.072 0, 1125980.254 521975.648 0, 1125679.65 521968.242 0, 1125379.044 521960.854 0, 1125078.439 521953.483 0, 1124777.833 521946.13 0, 1124477.227 521938.795 0, 1124176.62 521931.477 0,
+ 1123876.012 521924.177 0, 1123575.405 521916.895 0, 1123274.797 521909.63 0, 1122974.188 521902.383 0, 1122672.144 521895.12 0, 1122372.97 521887.943 0, 1122072.36 521880.749 0, 1121771.75 521873.573 0, 1121471.139 521866.415 0, 1121170.528 521859.274 0,
+ 1120869.917 521852.151 0, 1120569.305 521845.045 0, 1120268.692 521837.958 0, 1119968.08 521830.888 0, 1119667.466 521823.836 0, 1119366.853 521816.801 0, 1119066.239 521809.784 0, 1118765.624 521802.785 0, 1118465.01 521795.804 0, 1118164.394 521788.84 0,
+ 1117863.779 521781.894 0, 1117563.163 521774.965 0, 1117262.546 521768.055 0, 1116961.929 521761.162 0, 1116661.312 521754.286 0, 1116360.694 521747.429 0, 1116060.076 521740.589 0, 1115759.458 521733.767 0, 1115457.403 521726.93 0, 1115331.764 527284.857 0,
+ 1115206.117 532843.174 0, 1115507.514 532849.996 0, 1115807.478 532856.803 0, 1116107.442 532863.628 0, 1116407.406 532870.471 0, 1116707.369 532877.331 0, 1117007.331 532884.209 0, 1117307.293 532891.105 0, 1117607.255 532898.018 0, 1117907.216 532904.949 0,
+ 1118207.177 532911.898 0, 1118507.138 532918.864 0, 1118807.098 532925.848 0, 1119107.058 532932.85 0, 1119407.017 532939.869 0, 1119706.976 532946.906 0, 1120006.934 532953.96 0, 1120306.893 532961.032 0, 1120606.85 532968.122 0, 1120906.807 532975.23 0,
+ 1121206.764 532982.355 0, 1121506.721 532989.498 0, 1121806.677 532996.658 0, 1122106.632 533003.836 0, 1122405.156 533010.998 0, 1122706.542 533018.246 0, 1123006.496 533025.477 0, 1123306.45 533032.725 0, 1123606.404 533039.992 0, 1123906.357 533047.276 0,
+ 1124206.309 533054.578 0, 1124506.261 533061.897 0, 1124806.213 533069.234 0, 1125106.164 533076.589 0, 1125406.115 533083.961 0, 1125706.065 533091.351 0, 1126006.015 533098.759 0, 1126305.965 533106.184 0, 1126605.914 533113.627 0, 1126905.863 533121.087 0,
+ 1127205.811 533128.566 0, 1127505.759 533136.062 0, 1127805.706 533143.575 0, 1128105.653 533151.106 0, 1128405.599 533158.655 0, 1128705.545 533166.222 0, 1129005.491 533173.806 0, 1129305.436 533181.408 0, 1129603.95 533188.991 0, 1129745.3 527631.051 0,
+ 1129886.641 522073.501 0))
+
+POLYGON ((1144000.749 533575.483 0, 1143702.255 533567.057 0, 1143402.333 533558.607 0, 1143102.41 533550.176 0, 1142802.487 533541.762 0, 1142502.563 533533.366 0, 1142202.638 533524.987 0, 1141902.713 533516.626 0, 1141602.788 533508.283 0, 1141302.862 533499.957 0,
+ 1141002.936 533491.649 0, 1140703.009 533483.359 0, 1140403.081 533475.086 0, 1140103.154 533466.831 0, 1139803.225 533458.594 0, 1139503.296 533450.374 0, 1139203.367 533442.172 0, 1138903.437 533433.988 0, 1138603.507 533425.821 0, 1138303.576 533417.672 0,
+ 1138003.645 533409.54 0, 1137703.713 533401.427 0, 1137403.781 533393.331 0, 1137103.849 533385.252 0, 1136802.486 533377.153 0, 1136503.982 533369.148 0, 1136204.048 533361.122 0, 1135904.113 533353.115 0, 1135604.178 533345.124 0, 1135304.243 533337.152 0,
+ 1135004.307 533329.197 0, 1134704.37 533321.26 0, 1134404.433 533313.34 0, 1134104.496 533305.438 0, 1133804.558 533297.554 0, 1133504.62 533289.687 0, 1133204.681 533281.838 0, 1132904.742 533274.007 0, 1132604.802 533266.193 0, 1132304.862 533258.397 0,
+ 1132004.922 533250.619 0, 1131704.981 533242.858 0, 1131405.039 533235.115 0, 1131105.097 533227.39 0, 1130805.155 533219.682 0, 1130505.212 533211.992 0, 1130205.269 533204.319 0, 1129905.325 533196.664 0, 1129603.95 533188.991 0, 1129462.59 538747.317 0,
+ 1129321.22 544306.028 0, 1129621.937 544313.684 0, 1129921.227 544321.322 0, 1130220.516 544328.978 0, 1130519.804 544336.651 0, 1130819.092 544344.342 0, 1131118.38 544352.051 0, 1131417.667 544359.777 0, 1131716.954 544367.521 0, 1132016.24 544375.282 0,
+ 1132315.526 544383.061 0, 1132614.811 544390.858 0, 1132914.096 544398.672 0, 1133213.381 544406.504 0, 1133512.665 544414.354 0, 1133811.948 544422.221 0, 1134111.231 544430.105 0, 1134410.514 544438.008 0, 1134709.796 544445.928 0, 1135009.078 544453.865 0,
+ 1135308.359 544461.82 0, 1135607.639 544469.793 0, 1135906.92 544477.784 0, 1136206.199 544485.792 0, 1136504.052 544493.779 0, 1136804.758 544501.861 0, 1137104.036 544509.921 0, 1137403.314 544518 0, 1137702.591 544526.096 0, 1138001.868 544534.21 0,
+ 1138301.145 544542.341 0, 1138600.42 544550.49 0, 1138899.696 544558.656 0, 1139198.971 544566.841 0, 1139498.245 544575.042 0, 1139797.52 544583.262 0, 1140096.793 544591.499 0, 1140396.066 544599.753 0, 1140695.339 544608.026 0, 1140994.611 544616.316 0,
+ 1141293.882 544624.623 0, 1141593.154 544632.948 0, 1141892.424 544641.291 0, 1142191.694 544649.651 0, 1142490.964 544658.029 0, 1142790.233 544666.425 0, 1143089.502 544674.838 0, 1143388.77 544683.269 0, 1143686.613 544691.677 0, 1143843.686 539133.388 0,
+ 1144000.749 533575.483 0))
+
+POLYGON ((1158050.858 545117.909 0, 1157753.038 545108.659 0, 1157453.795 545099.383 0, 1157154.551 545090.125 0, 1156855.307 545080.884 0, 1156556.062 545071.66 0, 1156256.817 545062.454 0, 1155957.571 545053.266 0, 1155658.325 545044.096 0, 1155359.078 545034.943 0,
+ 1155059.83 545025.807 0, 1154760.582 545016.69 0, 1154461.334 545007.59 0, 1154162.085 544998.507 0, 1153862.835 544989.442 0, 1153563.585 544980.395 0, 1153264.334 544971.365 0, 1152965.083 544962.353 0, 1152665.831 544953.359 0, 1152366.579 544944.382 0,
+ 1152067.326 544935.423 0, 1151768.073 544926.481 0, 1151468.819 544917.557 0, 1151169.565 544908.651 0, 1150868.886 544899.72 0, 1150571.054 544890.891 0, 1150271.798 544882.038 0, 1149972.542 544873.202 0, 1149673.285 544864.384 0, 1149374.027 544855.583 0,
+ 1149074.769 544846.8 0, 1148775.511 544838.034 0, 1148476.252 544829.287 0, 1148176.992 544820.556 0, 1147877.732 544811.844 0, 1147578.471 544803.149 0, 1147279.21 544794.471 0, 1146979.949 544785.812 0, 1146680.687 544777.17 0, 1146381.424 544768.545 0,
+ 1146082.161 544759.938 0, 1145782.897 544751.349 0, 1145483.633 544742.777 0, 1145184.368 544734.223 0, 1144885.103 544725.687 0, 1144585.838 544717.168 0, 1144286.571 544708.667 0, 1143987.305 544700.183 0, 1143686.613 544691.677 0, 1143529.528 550250.346 0,
+ 1143372.433 555809.392 0, 1143672.468 555817.88 0, 1143971.08 555826.345 0, 1144269.692 555834.827 0, 1144568.303 555843.327 0, 1144866.914 555851.845 0, 1145165.524 555860.381 0, 1145464.134 555868.934 0, 1145762.743 555877.504 0, 1146061.352 555886.092 0,
+ 1146359.96 555894.698 0, 1146658.568 555903.321 0, 1146957.175 555911.962 0, 1147255.782 555920.62 0, 1147554.388 555929.296 0, 1147852.994 555937.99 0, 1148151.599 555946.701 0, 1148450.204 555955.43 0, 1148748.808 555964.176 0, 1149047.412 555972.94 0,
+ 1149346.015 555981.721 0, 1149644.618 555990.52 0, 1149943.22 555999.337 0, 1150241.821 556008.171 0, 1150539.002 556016.98 0, 1150839.023 556025.892 0, 1151137.623 556034.779 0, 1151436.223 556043.683 0, 1151734.822 556052.605 0, 1152033.42 556061.545 0,
+ 1152332.018 556070.502 0, 1152630.615 556079.477 0, 1152929.212 556088.469 0, 1153227.809 556097.479 0, 1153526.404 556106.506 0, 1153825 556115.552 0, 1154123.595 556124.614 0, 1154422.189 556133.694 0, 1154720.782 556142.792 0, 1155019.376 556151.907 0,
+ 1155317.968 556161.04 0, 1155616.56 556170.191 0, 1155915.152 556179.359 0, 1156213.743 556188.545 0, 1156512.333 556197.748 0, 1156810.923 556206.969 0, 1157109.513 556216.207 0, 1157408.101 556225.463 0, 1157705.27 556234.692 0, 1157878.07 550676.112 0,
+ 1158050.858 545117.909 0))
+
+POLYGON ((1172036.849 556700.484 0, 1171739.705 556690.415 0, 1171441.144 556680.315 0, 1171142.581 556670.233 0, 1170844.019 556660.169 0, 1170545.455 556650.122 0, 1170246.892 556640.093 0, 1169948.327 556630.082 0, 1169649.762 556620.088 0, 1169351.197 556610.111 0,
+ 1169052.63 556600.152 0, 1168754.064 556590.211 0, 1168455.496 556580.287 0, 1168156.928 556570.381 0, 1167858.36 556560.492 0, 1167559.79 556550.621 0, 1167261.221 556540.768 0, 1166962.65 556530.932 0, 1166664.08 556521.114 0, 1166365.508 556511.313 0,
+ 1166066.936 556501.53 0, 1165768.364 556491.764 0, 1165469.79 556482.016 0, 1165171.217 556472.286 0, 1164871.224 556462.527 0, 1164574.067 556452.878 0, 1164275.492 556443.2 0, 1163976.916 556433.54 0, 1163678.339 556423.897 0, 1163379.762 556414.272 0,
+ 1163081.184 556404.665 0, 1162782.606 556395.075 0, 1162484.027 556385.503 0, 1162185.448 556375.948 0, 1161886.868 556366.411 0, 1161588.287 556356.891 0, 1161289.706 556347.389 0, 1160991.125 556337.905 0, 1160692.542 556328.438 0, 1160393.96 556318.989 0,
+ 1160095.376 556309.557 0, 1159796.792 556300.143 0, 1159498.208 556290.747 0, 1159199.623 556281.368 0, 1158901.037 556272.006 0, 1158602.451 556262.662 0, 1158303.865 556253.336 0, 1158005.277 556244.027 0, 1157705.27 556234.692 0, 1157532.459 561793.647 0,
+ 1157359.636 567352.972 0, 1157658.986 567362.287 0, 1157956.918 567371.575 0, 1158254.851 567380.881 0, 1158552.782 567390.204 0, 1158850.713 567399.545 0, 1159148.644 567408.903 0, 1159446.574 567418.279 0, 1159744.504 567427.673 0, 1160042.432 567437.084 0,
+ 1160340.361 567446.512 0, 1160638.289 567455.958 0, 1160936.216 567465.422 0, 1161234.143 567474.903 0, 1161532.069 567484.402 0, 1161829.994 567493.918 0, 1162127.919 567503.452 0, 1162425.844 567513.003 0, 1162723.768 567522.572 0, 1163021.691 567532.158 0,
+ 1163319.614 567541.762 0, 1163617.536 567551.384 0, 1163915.458 567561.023 0, 1164213.379 567570.679 0, 1164509.884 567580.307 0, 1164809.219 567590.045 0, 1165107.139 567599.754 0, 1165405.058 567609.481 0, 1165702.976 567619.225 0, 1166000.894 567628.986 0,
+ 1166298.811 567638.766 0, 1166596.727 567648.562 0, 1166894.643 567658.377 0, 1167192.558 567668.209 0, 1167490.473 567678.058 0, 1167788.387 567687.925 0, 1168086.301 567697.809 0, 1168384.214 567707.711 0, 1168682.126 567717.631 0, 1168980.038 567727.568 0,
+ 1169277.95 567737.523 0, 1169575.86 567747.495 0, 1169873.77 567757.484 0, 1170171.68 567767.492 0, 1170469.589 567777.516 0, 1170767.497 567787.559 0, 1171065.405 567797.618 0, 1171363.312 567807.696 0, 1171659.805 567817.743 0, 1171848.333 562258.928 0,
+ 1172036.849 556700.484 0))
+
+POLYGON ((1185958.603 568322.912 0, 1185662.138 568312.027 0, 1185364.26 568301.109 0, 1185066.382 568290.207 0, 1184768.504 568279.323 0, 1184470.624 568268.457 0, 1184172.744 568257.608 0, 1183874.863 568246.777 0, 1183576.982 568235.963 0, 1183279.1 568225.167 0,
+ 1182981.218 568214.388 0, 1182683.334 568203.627 0, 1182385.45 568192.883 0, 1182087.566 568182.157 0, 1181789.681 568171.449 0, 1181491.795 568160.758 0, 1181193.909 568150.084 0, 1180896.022 568139.428 0, 1180598.134 568128.79 0, 1180300.246 568118.169 0,
+ 1180002.357 568107.566 0, 1179704.467 568096.98 0, 1179406.577 568086.412 0, 1179108.686 568075.861 0, 1178809.382 568065.278 0, 1178512.903 568054.812 0, 1178215.01 568044.314 0, 1177917.117 568033.833 0, 1177619.223 568023.37 0, 1177321.329 568012.925 0,
+ 1177023.434 568002.497 0, 1176725.538 567992.086 0, 1176427.642 567981.693 0, 1176129.745 567971.318 0, 1175831.847 567960.96 0, 1175533.949 567950.62 0, 1175236.051 567940.297 0, 1174938.151 567929.991 0, 1174640.251 567919.704 0, 1174342.351 567909.433 0,
+ 1174044.45 567899.181 0, 1173746.548 567888.946 0, 1173448.645 567878.728 0, 1173150.742 567868.528 0, 1172852.839 567858.345 0, 1172554.935 567848.18 0, 1172257.03 567838.033 0, 1171959.125 567827.903 0, 1171659.805 567817.743 0, 1171471.264 573376.925 0,
+ 1171282.711 578936.472 0, 1171581.373 578946.611 0, 1171878.624 578956.718 0, 1172175.874 578966.843 0, 1172473.124 578976.986 0, 1172770.373 578987.146 0, 1173067.622 578997.324 0, 1173364.87 579007.519 0, 1173662.117 579017.732 0, 1173959.364 579027.962 0,
+ 1174256.61 579038.21 0, 1174553.855 579048.475 0, 1174851.1 579058.757 0, 1175148.345 579069.057 0, 1175445.588 579079.375 0, 1175742.831 579089.71 0, 1176040.074 579100.063 0, 1176337.316 579110.433 0, 1176634.557 579120.821 0, 1176931.798 579131.226 0,
+ 1177229.038 579141.648 0, 1177526.277 579152.088 0, 1177823.516 579162.546 0, 1178120.754 579173.021 0, 1178416.582 579183.464 0, 1178715.229 579194.024 0, 1179012.465 579204.551 0, 1179309.701 579215.096 0, 1179606.936 579225.659 0, 1179904.171 579236.239 0,
+ 1180201.405 579246.837 0, 1180498.638 579257.452 0, 1180795.871 579268.084 0, 1181093.103 579278.734 0, 1181390.334 579289.402 0, 1181687.565 579300.087 0, 1181984.795 579310.789 0, 1182282.024 579321.509 0, 1182579.253 579332.247 0, 1182876.481 579343.002 0,
+ 1183173.709 579353.774 0, 1183470.936 579364.564 0, 1183768.162 579375.372 0, 1184065.388 579386.197 0, 1184362.613 579397.039 0, 1184659.837 579407.899 0, 1184957.061 579418.777 0, 1185254.284 579429.671 0, 1185550.098 579440.532 0, 1185754.357 573881.54 0,
+ 1185958.603 568322.912 0))
+
+POLYGON ((1199816.005 579984.898 0, 1199520.221 579973.201 0, 1199223.029 579961.467 0, 1198925.838 579949.75 0, 1198628.645 579938.05 0, 1198331.452 579926.368 0, 1198034.258 579914.703 0, 1197737.063 579903.056 0, 1197439.868 579891.426 0, 1197142.672 579879.814 0,
+ 1196845.475 579868.22 0, 1196548.278 579856.642 0, 1196251.08 579845.083 0, 1195953.881 579833.54 0, 1195656.682 579822.016 0, 1195359.482 579810.509 0, 1195062.281 579799.019 0, 1194765.08 579787.547 0, 1194467.878 579776.092 0, 1194170.675 579764.655 0,
+ 1193873.471 579753.235 0, 1193576.267 579741.833 0, 1193279.063 579730.448 0, 1192981.857 579719.081 0, 1192683.244 579707.677 0, 1192387.444 579696.398 0, 1192090.237 579685.084 0, 1191793.029 579673.786 0, 1191495.82 579662.507 0, 1191198.611 579651.244 0,
+ 1190901.4 579639.999 0, 1190604.19 579628.772 0, 1190306.978 579617.562 0, 1190009.766 579606.37 0, 1189712.553 579595.195 0, 1189415.34 579584.038 0, 1189118.126 579572.898 0, 1188820.911 579561.775 0, 1188523.696 579550.671 0, 1188226.48 579539.583 0,
+ 1187929.263 579528.513 0, 1187632.046 579517.461 0, 1187334.828 579506.426 0, 1187037.609 579495.409 0, 1186740.39 579484.409 0, 1186443.17 579473.426 0, 1186145.95 579462.461 0, 1185848.729 579451.514 0, 1185550.098 579440.532 0, 1185345.826 584999.886 0,
+ 1185141.54 590559.598 0, 1185439.513 590570.555 0, 1185736.08 590581.478 0, 1186032.646 590592.419 0, 1186329.211 590603.377 0, 1186625.776 590614.353 0, 1186922.34 590625.346 0, 1187218.904 590636.357 0, 1187515.467 590647.385 0, 1187812.029 590658.431 0,
+ 1188108.59 590669.493 0, 1188405.151 590680.574 0, 1188701.712 590691.672 0, 1188998.271 590702.787 0, 1189294.83 590713.92 0, 1189591.388 590725.07 0, 1189887.946 590736.238 0, 1190184.503 590747.423 0, 1190481.059 590758.626 0, 1190777.615 590769.846 0,
+ 1191074.17 590781.083 0, 1191370.724 590792.338 0, 1191667.278 590803.611 0, 1191963.831 590814.9 0, 1192258.979 590826.154 0, 1192556.935 590837.533 0, 1192853.486 590848.875 0, 1193150.037 590860.235 0, 1193446.586 590871.612 0, 1193743.135 590883.006 0,
+ 1194039.684 590894.418 0, 1194336.231 590905.848 0, 1194632.778 590917.295 0, 1194929.325 590928.759 0, 1195225.87 590940.241 0, 1195522.415 590951.741 0, 1195818.96 590963.257 0, 1196115.503 590974.792 0, 1196412.046 590986.343 0, 1196708.588 590997.912 0,
+ 1197005.13 591009.499 0, 1197301.671 591021.103 0, 1197598.211 591032.725 0, 1197894.751 591044.364 0, 1198191.29 591056.02 0, 1198487.828 591067.694 0, 1198784.365 591079.385 0, 1199080.902 591091.094 0, 1199376.035 591102.765 0, 1199596.027 585543.652 0,
+ 1199816.005 579984.898 0))
+
+POLYGON ((1213608.939 591686.145 0, 1213313.837 591673.64 0, 1213017.335 591661.093 0, 1212720.832 591648.564 0, 1212424.328 591636.053 0, 1212127.823 591623.559 0, 1211831.318 591611.082 0, 1211534.811 591598.623 0, 1211238.304 591586.181 0, 1210941.797 591573.757 0,
+ 1210645.288 591561.35 0, 1210348.779 591548.96 0, 1210052.269 591536.588 0, 1209755.759 591524.234 0, 1209459.247 591511.897 0, 1209162.735 591499.577 0, 1208866.223 591487.275 0, 1208569.709 591474.99 0, 1208273.195 591462.723 0, 1207976.68 591450.473 0,
+ 1207680.164 591438.241 0, 1207383.648 591426.026 0, 1207087.131 591413.828 0, 1206790.613 591401.648 0, 1206492.693 591389.428 0, 1206197.575 591377.341 0, 1205901.055 591365.213 0, 1205604.535 591353.103 0, 1205308.013 591341.01 0, 1205011.491 591328.935 0,
+ 1204714.969 591316.877 0, 1204418.445 591304.836 0, 1204121.921 591292.814 0, 1203825.396 591280.808 0, 1203528.87 591268.82 0, 1203232.344 591256.849 0, 1202935.817 591244.896 0, 1202639.289 591232.961 0, 1202342.761 591221.042 0, 1202046.232 591209.142 0,
+ 1201749.702 591197.258 0, 1201453.171 591185.392 0, 1201156.64 591173.544 0, 1200860.108 591161.713 0, 1200563.575 591149.9 0, 1200267.042 591138.104 0, 1199970.508 591126.325 0, 1199673.973 591114.564 0, 1199376.035 591102.765 0, 1199156.029 596662.232 0,
+ 1198936.009 602222.051 0, 1199233.29 602233.824 0, 1199529.17 602245.559 0, 1199825.05 602257.312 0, 1200120.928 602269.082 0, 1200416.807 602280.869 0, 1200712.684 602292.674 0, 1201008.561 602304.497 0, 1201304.437 602316.336 0, 1201600.312 602328.193 0,
+ 1201896.187 602340.068 0, 1202192.061 602351.96 0, 1202487.934 602363.869 0, 1202783.807 602375.796 0, 1203079.679 602387.74 0, 1203375.55 602399.702 0, 1203671.421 602411.68 0, 1203967.29 602423.677 0, 1204263.159 602435.691 0, 1204559.028 602447.722 0,
+ 1204854.895 602459.771 0, 1205150.762 602471.837 0, 1205446.629 602483.92 0, 1205742.494 602496.021 0, 1206036.96 602508.082 0, 1206334.223 602520.275 0, 1206630.086 602532.428 0, 1206925.949 602544.599 0, 1207221.811 602556.787 0, 1207517.672 602568.992 0,
+ 1207813.533 602581.215 0, 1208109.393 602593.455 0, 1208405.252 602605.713 0, 1208701.11 602617.988 0, 1208996.968 602630.28 0, 1209292.824 602642.59 0, 1209588.681 602654.917 0, 1209884.536 602667.262 0, 1210180.391 602679.624 0, 1210476.245 602692.003 0,
+ 1210772.098 602704.4 0, 1211067.951 602716.815 0, 1211363.802 602729.246 0, 1211659.653 602741.696 0, 1211955.504 602754.162 0, 1212251.353 602766.646 0, 1212547.202 602779.148 0, 1212843.05 602791.666 0, 1213137.5 602804.143 0, 1213373.227 597244.968 0,
+ 1213608.939 591686.145 0))
+
+POLYGON ((1227337.291 603426.355 0, 1227042.875 603413.046 0, 1226747.063 603399.692 0, 1226451.251 603386.355 0, 1226155.438 603373.035 0, 1225859.624 603359.732 0, 1225563.809 603346.447 0, 1225267.994 603333.18 0, 1224972.177 603319.93 0, 1224676.36 603306.697 0,
+ 1224380.542 603293.482 0, 1224084.724 603280.284 0, 1223788.904 603267.103 0, 1223493.084 603253.94 0, 1223197.263 603240.795 0, 1222901.442 603227.666 0, 1222605.619 603214.556 0, 1222309.796 603201.462 0, 1222013.972 603188.386 0, 1221718.147 603175.328 0,
+ 1221422.321 603162.286 0, 1221126.495 603149.263 0, 1220830.668 603136.256 0, 1220534.84 603123.267 0, 1220237.615 603110.235 0, 1219943.182 603097.342 0, 1219647.352 603084.405 0, 1219351.521 603071.486 0, 1219055.689 603058.584 0, 1218759.857 603045.699 0,
+ 1218464.024 603032.832 0, 1218168.19 603019.983 0, 1217872.355 603007.15 0, 1217576.52 602994.336 0, 1217280.683 602981.538 0, 1216984.846 602968.758 0, 1216689.009 602955.996 0, 1216393.17 602943.25 0, 1216097.331 602930.523 0, 1215801.491 602917.812 0,
+ 1215505.65 602905.119 0, 1215209.809 602892.444 0, 1214913.967 602879.786 0, 1214618.124 602867.145 0, 1214322.28 602854.522 0, 1214026.436 602841.916 0, 1213730.59 602829.327 0, 1213434.744 602816.756 0, 1213137.5 602804.143 0, 1212901.759 608363.667 0,
+ 1212666.003 613923.536 0, 1212962.59 613936.121 0, 1213257.781 613948.664 0, 1213552.972 613961.225 0, 1213848.162 613973.803 0, 1214143.351 613986.398 0, 1214438.539 613999.011 0, 1214733.727 614011.641 0, 1215028.914 614024.288 0, 1215324.1 614036.953 0,
+ 1215619.286 614049.636 0, 1215914.471 614062.335 0, 1216209.655 614075.052 0, 1216504.838 614087.786 0, 1216800.021 614100.538 0, 1217095.202 614113.307 0, 1217390.383 614126.094 0, 1217685.564 614138.898 0, 1217980.743 614151.719 0, 1218275.922 614164.557 0,
+ 1218571.1 614177.413 0, 1218866.277 614190.287 0, 1219161.454 614203.178 0, 1219456.629 614216.086 0, 1219750.411 614228.95 0, 1220046.978 614241.954 0, 1220342.152 614254.914 0, 1220637.325 614267.892 0, 1220932.497 614280.887 0, 1221227.668 614293.899 0,
+ 1221522.838 614306.929 0, 1221818.008 614319.976 0, 1222113.177 614333.04 0, 1222408.345 614346.122 0, 1222703.512 614359.221 0, 1222998.678 614372.338 0, 1223293.844 614385.472 0, 1223589.009 614398.623 0, 1223884.173 614411.792 0, 1224179.337 614424.978 0,
+ 1224474.499 614438.181 0, 1224769.661 614451.402 0, 1225064.822 614464.64 0, 1225359.983 614477.896 0, 1225655.142 614491.169 0, 1225950.301 614504.459 0, 1226245.459 614517.767 0, 1226540.616 614531.092 0, 1226834.381 614544.371 0, 1227085.844 608985.191 0,
+ 1227337.291 603426.355 0))
+
+POLYGON ((1241000.948 615205.232 0, 1240707.22 615191.123 0, 1240412.102 615176.964 0, 1240116.982 615162.823 0, 1239821.862 615148.698 0, 1239526.742 615134.592 0, 1239231.62 615120.502 0, 1238936.497 615106.43 0, 1238641.374 615092.376 0, 1238346.25 615078.338 0,
+ 1238051.125 615064.318 0, 1237755.999 615050.316 0, 1237460.872 615036.331 0, 1237165.745 615022.363 0, 1236870.616 615008.413 0, 1236575.487 614994.48 0, 1236280.357 614980.564 0, 1235985.227 614966.666 0, 1235690.095 614952.785 0, 1235394.963 614938.921 0,
+ 1235099.829 614925.075 0, 1234804.695 614911.246 0, 1234509.561 614897.435 0, 1234214.425 614883.641 0, 1233917.898 614869.799 0, 1233624.151 614856.104 0, 1233329.013 614842.362 0, 1233033.874 614828.638 0, 1232738.735 614814.931 0, 1232443.594 614801.241 0,
+ 1232148.453 614787.568 0, 1231853.311 614773.913 0, 1231558.168 614760.275 0, 1231263.024 614746.655 0, 1230967.88 614733.052 0, 1230672.734 614719.466 0, 1230377.588 614705.898 0, 1230082.441 614692.347 0, 1229787.293 614678.814 0, 1229492.145 614665.298 0,
+ 1229196.996 614651.799 0, 1228901.846 614638.318 0, 1228606.695 614624.854 0, 1228311.543 614611.407 0, 1228016.39 614597.978 0, 1227721.237 614584.566 0, 1227426.083 614571.171 0, 1227130.928 614557.794 0, 1226834.381 614544.371 0, 1226582.903 620103.894 0,
+ 1226331.409 625663.755 0, 1226627.299 625677.148 0, 1226921.799 625690.495 0, 1227216.299 625703.86 0, 1227510.798 625717.242 0, 1227805.296 625730.642 0, 1228099.793 625744.059 0, 1228394.29 625757.493 0, 1228688.785 625770.944 0, 1228983.28 625784.413 0,
+ 1229277.774 625797.899 0, 1229572.267 625811.403 0, 1229866.76 625824.924 0, 1230161.252 625838.462 0, 1230455.742 625852.017 0, 1230750.232 625865.59 0, 1231044.722 625879.18 0, 1231339.21 625892.788 0, 1231633.698 625906.413 0, 1231928.185 625920.055 0,
+ 1232222.671 625933.714 0, 1232517.156 625947.391 0, 1232811.641 625961.085 0, 1233106.124 625974.797 0, 1233399.22 625988.461 0, 1233695.089 626002.272 0, 1233989.57 626016.035 0, 1234284.051 626029.816 0, 1234578.53 626043.614 0, 1234873.009 626057.43 0,
+ 1235167.487 626071.263 0, 1235461.964 626085.113 0, 1235756.441 626098.98 0, 1236050.916 626112.865 0, 1236345.391 626126.767 0, 1236639.865 626140.687 0, 1236934.338 626154.624 0, 1237228.81 626168.578 0, 1237523.282 626182.549 0, 1237817.752 626196.538 0,
+ 1238112.222 626210.544 0, 1238406.691 626224.568 0, 1238701.159 626238.608 0, 1238995.626 626252.667 0, 1239290.093 626266.742 0, 1239584.559 626280.835 0, 1239879.023 626294.945 0, 1240173.487 626309.072 0, 1240466.564 626323.151 0, 1240733.764 620764.022 0,
+ 1241000.948 615205.232 0))
+
+POLYGON ((1254599.8 627022.478 0, 1254306.762 627007.572 0, 1254012.339 626992.613 0, 1253717.915 626977.671 0, 1253423.49 626962.746 0, 1253129.065 626947.839 0, 1252834.638 626932.949 0, 1252540.211 626918.076 0, 1252245.783 626903.221 0, 1251951.354 626888.382 0,
+ 1251656.924 626873.562 0, 1251362.493 626858.758 0, 1251068.062 626843.972 0, 1250773.629 626829.204 0, 1250479.196 626814.452 0, 1250184.761 626799.718 0, 1249890.326 626785.002 0, 1249595.89 626770.302 0, 1249301.453 626755.62 0, 1249007.016 626740.955 0,
+ 1248712.577 626726.308 0, 1248418.138 626711.678 0, 1248123.697 626697.065 0, 1247829.256 626682.47 0, 1247533.429 626667.823 0, 1247240.371 626653.331 0, 1246945.927 626638.788 0, 1246651.483 626624.262 0, 1246357.037 626609.753 0, 1246062.591 626595.261 0,
+ 1245768.144 626580.787 0, 1245473.696 626566.33 0, 1245179.247 626551.891 0, 1244884.797 626537.469 0, 1244590.347 626523.064 0, 1244295.895 626508.677 0, 1244001.443 626494.307 0, 1243706.99 626479.954 0, 1243412.536 626465.618 0, 1243118.081 626451.3 0,
+ 1242823.626 626437 0, 1242529.169 626422.716 0, 1242234.712 626408.45 0, 1241940.254 626394.201 0, 1241645.795 626379.97 0, 1241351.335 626365.756 0, 1241056.874 626351.559 0, 1240762.413 626337.379 0, 1240466.564 626323.151 0, 1240199.348 631882.614 0,
+ 1239932.116 637442.41 0, 1240227.307 637456.607 0, 1240521.114 637470.755 0, 1240814.92 637484.92 0, 1241108.726 637499.103 0, 1241402.53 637513.303 0, 1241696.334 637527.52 0, 1241990.137 637541.754 0, 1242283.939 637556.006 0, 1242577.74 637570.275 0,
+ 1242871.54 637584.561 0, 1243165.34 637598.865 0, 1243459.138 637613.186 0, 1243752.936 637627.524 0, 1244046.733 637641.879 0, 1244340.529 637656.252 0, 1244634.325 637670.642 0, 1244928.119 637685.049 0, 1245221.913 637699.474 0, 1245515.705 637713.916 0,
+ 1245809.497 637728.375 0, 1246103.288 637742.852 0, 1246397.078 637757.346 0, 1246690.868 637771.857 0, 1246983.274 637786.317 0, 1247278.444 637800.931 0, 1247572.231 637815.494 0, 1247866.016 637830.074 0, 1248159.801 637844.671 0, 1248453.586 637859.286 0,
+ 1248747.369 637873.918 0, 1249041.151 637888.568 0, 1249334.933 637903.235 0, 1249628.714 637917.919 0, 1249922.494 637932.62 0, 1250216.273 637947.338 0, 1250510.051 637962.074 0, 1250803.828 637976.827 0, 1251097.604 637991.598 0, 1251391.38 638006.386 0,
+ 1251685.155 638021.191 0, 1251978.928 638036.013 0, 1252272.701 638050.853 0, 1252566.473 638065.71 0, 1252860.245 638080.584 0, 1253154.015 638095.475 0, 1253447.784 638110.384 0, 1253741.553 638125.31 0, 1254033.94 638140.183 0, 1254316.878 632581.165 0,
+ 1254599.8 627022.478 0))
+
+POLYGON ((1268133.736 638877.794 0, 1267841.39 638862.095 0, 1267547.665 638846.339 0, 1267253.939 638830.6 0, 1266960.212 638814.879 0, 1266666.484 638799.175 0, 1266372.755 638783.488 0, 1266079.025 638767.818 0, 1265785.294 638752.166 0, 1265491.563 638736.531 0,
+ 1265197.83 638720.913 0, 1264904.097 638705.313 0, 1264610.362 638689.73 0, 1264316.627 638674.164 0, 1264022.891 638658.616 0, 1263729.153 638643.084 0, 1263435.415 638627.57 0, 1263141.676 638612.074 0, 1262847.936 638596.594 0, 1262554.196 638581.132 0,
+ 1262260.454 638565.688 0, 1261966.711 638550.26 0, 1261672.968 638534.85 0, 1261379.223 638519.457 0, 1261084.098 638504.009 0, 1260791.732 638488.723 0, 1260497.984 638473.382 0, 1260204.236 638458.058 0, 1259910.487 638442.752 0, 1259616.738 638427.463 0,
+ 1259322.987 638412.191 0, 1259029.235 638396.936 0, 1258735.483 638381.699 0, 1258441.729 638366.479 0, 1258147.975 638351.276 0, 1257854.22 638336.091 0, 1257560.463 638320.923 0, 1257266.706 638305.772 0, 1256972.948 638290.638 0, 1256679.19 638275.522 0,
+ 1256385.43 638260.423 0, 1256091.669 638245.341 0, 1255797.908 638230.277 0, 1255504.146 638215.23 0, 1255210.382 638200.2 0, 1254916.618 638185.187 0, 1254622.853 638170.192 0, 1254329.087 638155.214 0, 1254033.94 638140.183 0, 1253750.984 643699.53 0,
+ 1253468.013 649259.203 0, 1253762.503 649274.201 0, 1254055.614 649289.145 0, 1254348.725 649304.107 0, 1254641.834 649319.086 0, 1254934.943 649334.082 0, 1255228.051 649349.096 0, 1255521.158 649364.127 0, 1255814.264 649379.175 0, 1256107.37 649394.24 0,
+ 1256400.474 649409.323 0, 1256693.577 649424.423 0, 1256986.68 649439.54 0, 1257279.782 649454.674 0, 1257572.883 649469.826 0, 1257865.983 649484.995 0, 1258159.082 649500.181 0, 1258452.18 649515.384 0, 1258745.277 649530.605 0, 1259038.373 649545.843 0,
+ 1259331.469 649561.098 0, 1259624.563 649576.37 0, 1259917.657 649591.66 0, 1260210.75 649606.967 0, 1260502.465 649622.219 0, 1260796.933 649637.632 0, 1261090.023 649652.991 0, 1261383.112 649668.366 0, 1261676.2 649683.76 0, 1261969.287 649699.17 0,
+ 1262262.374 649714.598 0, 1262555.459 649730.042 0, 1262848.544 649745.505 0, 1263141.628 649760.984 0, 1263434.71 649776.481 0, 1263727.792 649791.994 0, 1264020.873 649807.526 0, 1264313.953 649823.074 0, 1264607.032 649838.64 0, 1264900.111 649854.222 0,
+ 1265193.188 649869.823 0, 1265486.264 649885.44 0, 1265779.34 649901.075 0, 1266072.414 649916.726 0, 1266365.488 649932.396 0, 1266658.561 649948.082 0, 1266951.632 649963.785 0, 1267244.703 649979.506 0, 1267536.398 649995.171 0, 1267835.076 644436.32 0,
+ 1268133.736 638877.794 0))
+
+POLYGON ((1281602.648 650770.881 0, 1281310.996 650754.392 0, 1281017.971 650737.844 0, 1280724.945 650721.312 0, 1280431.918 650704.798 0, 1280138.889 650688.301 0, 1279845.86 650671.821 0, 1279552.83 650655.358 0, 1279259.799 650638.913 0, 1278966.767 650622.485 0,
+ 1278673.734 650606.074 0, 1278380.7 650589.681 0, 1278087.665 650573.304 0, 1277794.629 650556.945 0, 1277501.592 650540.604 0, 1277208.554 650524.279 0, 1276915.516 650507.972 0, 1276622.476 650491.682 0, 1276329.435 650475.409 0, 1276036.393 650459.153 0,
+ 1275743.351 650442.915 0, 1275450.307 650426.694 0, 1275157.263 650410.49 0, 1274864.217 650394.303 0, 1274569.797 650378.058 0, 1274278.123 650361.982 0, 1273985.075 650345.847 0, 1273692.026 650329.729 0, 1273398.976 650313.629 0, 1273105.924 650297.546 0,
+ 1272812.872 650281.48 0, 1272519.819 650265.432 0, 1272226.765 650249.4 0, 1271933.71 650233.386 0, 1271640.654 650217.389 0, 1271347.597 650201.41 0, 1271054.54 650185.447 0, 1270761.481 650169.502 0, 1270468.421 650153.574 0, 1270175.361 650137.664 0,
+ 1269882.299 650121.77 0, 1269589.237 650105.894 0, 1269296.173 650090.035 0, 1269003.109 650074.194 0, 1268710.044 650058.369 0, 1268416.977 650042.562 0, 1268123.91 650026.772 0, 1267830.842 650011 0, 1267536.398 649995.171 0, 1267237.703 655554.344 0,
+ 1266938.991 661113.835 0, 1267232.777 661129.629 0, 1267525.191 661145.367 0, 1267817.604 661161.121 0, 1268110.015 661176.893 0, 1268402.426 661192.682 0, 1268694.836 661208.488 0, 1268987.245 661224.312 0, 1269279.653 661240.153 0, 1269572.06 661256.01 0,
+ 1269864.467 661271.886 0, 1270156.872 661287.778 0, 1270449.276 661303.687 0, 1270741.68 661319.614 0, 1271034.082 661335.558 0, 1271326.484 661351.519 0, 1271618.884 661367.497 0, 1271911.284 661383.493 0, 1272203.683 661399.506 0, 1272496.08 661415.536 0,
+ 1272788.477 661431.583 0, 1273080.873 661447.647 0, 1273373.268 661463.729 0, 1273665.662 661479.828 0, 1273956.684 661495.868 0, 1274250.447 661512.077 0, 1274542.838 661528.227 0, 1274835.228 661544.395 0, 1275127.617 661560.58 0, 1275420.006 661576.782 0,
+ 1275712.393 661593.001 0, 1276004.779 661609.238 0, 1276297.165 661625.491 0, 1276589.549 661641.762 0, 1276881.933 661658.05 0, 1277174.315 661674.356 0, 1277466.697 661690.678 0, 1277759.077 661707.018 0, 1278051.457 661723.375 0, 1278343.836 661739.749 0,
+ 1278636.213 661756.141 0, 1278928.59 661772.549 0, 1279220.966 661788.975 0, 1279513.341 661805.418 0, 1279805.715 661821.878 0, 1280098.088 661838.356 0, 1280390.459 661854.85 0, 1280682.83 661871.362 0, 1280973.831 661887.814 0, 1281288.248 656329.188 0,
+ 1281602.648 650770.881 0))
+
+POLYGON ((1295006.428 662701.439 0, 1294715.473 662684.166 0, 1294423.15 662666.828 0, 1294130.826 662649.507 0, 1293838.501 662632.204 0, 1293546.175 662614.918 0, 1293253.847 662597.649 0, 1292961.519 662580.397 0, 1292669.19 662563.163 0, 1292376.86 662545.945 0,
+ 1292084.528 662528.745 0, 1291792.196 662511.562 0, 1291499.863 662494.397 0, 1291207.529 662477.248 0, 1290915.193 662460.117 0, 1290622.857 662443.003 0, 1290330.52 662425.906 0, 1290038.181 662408.826 0, 1289745.842 662391.764 0, 1289453.502 662374.718 0,
+ 1289161.16 662357.69 0, 1288868.818 662340.68 0, 1288576.475 662323.686 0, 1288284.13 662306.709 0, 1287990.417 662289.671 0, 1287699.439 662272.808 0, 1287407.091 662255.883 0, 1287114.743 662238.976 0, 1286822.394 662222.085 0, 1286530.044 662205.212 0,
+ 1286237.692 662188.356 0, 1285945.34 662171.517 0, 1285652.987 662154.696 0, 1285360.632 662137.892 0, 1285068.277 662121.104 0, 1284775.921 662104.334 0, 1284483.564 662087.582 0, 1284191.205 662070.846 0, 1283898.846 662054.128 0, 1283606.486 662037.427 0,
+ 1283314.125 662020.743 0, 1283021.763 662004.076 0, 1282729.4 661987.427 0, 1282437.036 661970.794 0, 1282144.67 661954.179 0, 1281852.304 661937.581 0, 1281559.937 661921.001 0, 1281267.569 661904.437 0, 1280973.831 661887.814 0, 1280659.395 667446.755 0,
+ 1280344.942 673006.008 0, 1280638.023 673022.594 0, 1280929.737 673039.121 0, 1281221.45 673055.664 0, 1281513.161 673072.225 0, 1281804.872 673088.803 0, 1282096.582 673105.398 0, 1282388.29 673122.01 0, 1282679.998 673138.639 0, 1282971.705 673155.286 0,
+ 1283263.411 673171.95 0, 1283555.116 673188.631 0, 1283846.819 673205.329 0, 1284138.522 673222.044 0, 1284430.224 673238.776 0, 1284721.925 673255.526 0, 1285013.625 673272.293 0, 1285305.324 673289.077 0, 1285597.022 673305.878 0, 1285888.719 673322.696 0,
+ 1286180.415 673339.531 0, 1286472.11 673356.384 0, 1286763.804 673373.254 0, 1287055.497 673390.141 0, 1287345.823 673406.966 0, 1287638.88 673423.966 0, 1287930.57 673440.904 0, 1288222.259 673457.86 0, 1288513.947 673474.833 0, 1288805.634 673491.823 0,
+ 1289097.32 673508.83 0, 1289389.005 673525.854 0, 1289680.689 673542.896 0, 1289972.372 673559.954 0, 1290264.054 673577.03 0, 1290555.735 673594.123 0, 1290847.415 673611.233 0, 1291139.093 673628.36 0, 1291430.771 673645.505 0, 1291722.448 673662.666 0,
+ 1292014.124 673679.845 0, 1292305.799 673697.041 0, 1292597.473 673714.254 0, 1292889.146 673731.485 0, 1293180.818 673748.732 0, 1293472.489 673765.997 0, 1293764.159 673783.278 0, 1294055.827 673800.577 0, 1294346.131 673817.812 0, 1294676.289 668259.47 0,
+ 1295006.428 662701.439 0))
+
+POLYGON ((1308344.971 674669.17 0, 1308054.715 674651.115 0, 1307763.096 674632.992 0, 1307471.476 674614.886 0, 1307179.855 674596.797 0, 1306888.233 674578.726 0, 1306596.61 674560.672 0, 1306304.986 674542.635 0, 1306013.361 674524.615 0, 1305721.735 674506.612 0,
+ 1305430.107 674488.626 0, 1305138.479 674470.658 0, 1304846.85 674452.707 0, 1304555.219 674434.773 0, 1304263.588 674416.856 0, 1303971.955 674398.956 0, 1303680.321 674381.073 0, 1303388.687 674363.208 0, 1303097.051 674345.36 0, 1302805.414 674327.529 0,
+ 1302513.776 674309.715 0, 1302222.137 674291.918 0, 1301930.498 674274.138 0, 1301638.857 674256.376 0, 1301345.852 674238.548 0, 1301055.571 674220.902 0, 1300763.927 674203.191 0, 1300472.282 674185.498 0, 1300180.636 674167.821 0, 1299888.989 674150.162 0,
+ 1299597.341 674132.519 0, 1299305.691 674114.894 0, 1299014.041 674097.286 0, 1298722.39 674079.695 0, 1298430.737 674062.122 0, 1298139.084 674044.565 0, 1297847.429 674027.026 0, 1297555.774 674009.504 0, 1297264.117 673991.999 0, 1296972.46 673974.511 0,
+ 1296680.801 673957.041 0, 1296389.141 673939.587 0, 1296097.481 673922.151 0, 1295805.819 673904.732 0, 1295514.156 673887.33 0, 1295222.493 673869.945 0, 1294930.828 673852.577 0, 1294639.162 673835.227 0, 1294346.131 673817.812 0, 1294015.955 679376.464 0,
+ 1293685.761 684935.42 0, 1293978.134 684952.795 0, 1294269.146 684970.107 0, 1294560.156 684987.435 0, 1294851.166 685004.781 0, 1295142.174 685022.144 0, 1295433.181 685039.524 0, 1295724.188 685056.921 0, 1296015.193 685074.336 0, 1296306.197 685091.767 0,
+ 1296597.2 685109.216 0, 1296888.203 685126.681 0, 1297179.204 685144.164 0, 1297470.204 685161.664 0, 1297761.203 685179.181 0, 1298052.201 685196.715 0, 1298343.198 685214.267 0, 1298634.194 685231.835 0, 1298925.189 685249.421 0, 1299216.183 685267.023 0,
+ 1299507.176 685284.643 0, 1299798.168 685302.28 0, 1300089.159 685319.934 0, 1300380.148 685337.605 0, 1300669.777 685355.211 0, 1300962.125 685372.999 0, 1301253.112 685390.722 0, 1301544.097 685408.462 0, 1301835.082 685426.218 0, 1302126.065 685443.992 0,
+ 1302417.048 685461.783 0, 1302708.029 685479.592 0, 1302999.01 685497.417 0, 1303289.989 685515.26 0, 1303580.967 685533.119 0, 1303871.945 685550.996 0, 1304162.921 685568.89 0, 1304453.896 685586.801 0, 1304744.87 685604.729 0, 1305035.843 685622.674 0,
+ 1305326.815 685640.636 0, 1305617.786 685658.616 0, 1305908.756 685676.613 0, 1306199.724 685694.626 0, 1306490.692 685712.657 0, 1306781.659 685730.705 0, 1307072.624 685748.77 0, 1307363.589 685766.853 0, 1307653.194 685784.867 0, 1307999.092 680226.866 0,
+ 1308344.971 674669.17 0))
+
+POLYGON ((1321618.171 686673.772 0, 1321328.616 686654.939 0, 1321037.704 686636.035 0, 1320746.791 686617.148 0, 1320455.876 686598.278 0, 1320164.96 686579.425 0, 1319874.044 686560.589 0, 1319583.126 686541.771 0, 1319292.207 686522.969 0, 1319001.287 686504.185 0,
+ 1318710.366 686485.418 0, 1318419.443 686466.667 0, 1318128.52 686447.934 0, 1317837.596 686429.219 0, 1317546.67 686410.52 0, 1317255.743 686391.838 0, 1316964.816 686373.174 0, 1316673.887 686354.526 0, 1316382.957 686335.896 0, 1316092.026 686317.283 0,
+ 1315801.093 686298.687 0, 1315510.16 686280.108 0, 1315219.226 686261.546 0, 1314928.29 686243.002 0, 1314635.997 686224.388 0, 1314346.416 686205.964 0, 1314055.478 686187.471 0, 1313764.538 686168.995 0, 1313473.597 686150.536 0, 1313182.655 686132.094 0,
+ 1312891.712 686113.669 0, 1312600.768 686095.261 0, 1312309.823 686076.871 0, 1312018.876 686058.498 0, 1311727.929 686040.141 0, 1311436.98 686021.802 0, 1311146.031 686003.48 0, 1310855.08 685985.175 0, 1310564.128 685966.888 0, 1310273.176 685948.617 0,
+ 1309982.222 685930.363 0, 1309691.267 685912.127 0, 1309400.311 685893.908 0, 1309109.354 685875.706 0, 1308818.396 685857.521 0, 1308527.437 685839.353 0, 1308236.476 685821.202 0, 1307945.515 685803.068 0, 1307653.194 685784.867 0, 1307307.277 691343.17 0,
+ 1306961.342 696901.772 0, 1307253.006 696919.932 0, 1307543.313 696938.025 0, 1307833.619 696956.135 0, 1308123.923 696974.262 0, 1308414.227 696992.406 0, 1308704.53 697010.567 0, 1308994.832 697028.746 0, 1309285.132 697046.941 0, 1309575.432 697065.153 0,
+ 1309865.73 697083.383 0, 1310156.028 697101.629 0, 1310446.324 697119.893 0, 1310736.619 697138.174 0, 1311026.914 697156.472 0, 1311317.207 697174.787 0, 1311607.499 697193.119 0, 1311897.79 697211.468 0, 1312188.079 697229.834 0, 1312478.368 697248.218 0,
+ 1312768.656 697266.618 0, 1313058.943 697285.035 0, 1313349.228 697303.47 0, 1313639.513 697321.922 0, 1313928.442 697340.304 0, 1314220.078 697358.876 0, 1314510.359 697377.379 0, 1314800.639 697395.899 0, 1315090.918 697414.436 0, 1315381.196 697432.99 0,
+ 1315671.473 697451.562 0, 1315961.749 697470.15 0, 1316252.023 697488.755 0, 1316542.297 697507.378 0, 1316832.569 697526.018 0, 1317122.841 697544.674 0, 1317413.111 697563.348 0, 1317703.38 697582.039 0, 1317993.648 697600.747 0, 1318283.915 697619.472 0,
+ 1318574.181 697638.214 0, 1318864.446 697656.973 0, 1319154.709 697675.749 0, 1319444.972 697694.543 0, 1319735.233 697713.353 0, 1320025.494 697732.181 0, 1320315.753 697751.025 0, 1320606.011 697769.887 0, 1320894.915 697788.678 0, 1321256.553 692231.076 0,
+ 1321618.171 686673.772 0))
+
+POLYGON ((1334825.926 698714.945 0, 1334537.075 698695.338 0, 1334246.871 698675.656 0, 1333956.666 698655.991 0, 1333666.46 698636.344 0, 1333376.253 698616.714 0, 1333086.045 698597.1 0, 1332795.835 698577.504 0, 1332505.625 698557.925 0, 1332215.413 698538.363 0,
+ 1331925.2 698518.818 0, 1331634.986 698499.29 0, 1331344.771 698479.779 0, 1331054.555 698460.285 0, 1330764.337 698440.809 0, 1330474.119 698421.349 0, 1330183.899 698401.906 0, 1329893.678 698382.481 0, 1329603.456 698363.073 0, 1329313.233 698343.681 0,
+ 1329023.008 698324.307 0, 1328732.783 698304.95 0, 1328442.556 698285.61 0, 1328152.328 698266.287 0, 1327860.748 698246.891 0, 1327571.87 698227.693 0, 1327281.638 698208.421 0, 1326991.406 698189.166 0, 1326701.173 698169.929 0, 1326410.938 698150.708 0,
+ 1326120.702 698131.505 0, 1325830.466 698112.319 0, 1325540.228 698093.149 0, 1325249.989 698073.997 0, 1324959.748 698054.862 0, 1324669.507 698035.744 0, 1324379.265 698016.644 0, 1324089.021 697997.56 0, 1323798.776 697978.493 0, 1323508.531 697959.443 0,
+ 1323218.284 697940.411 0, 1322928.036 697921.395 0, 1322637.786 697902.397 0, 1322347.536 697883.416 0, 1322057.285 697864.452 0, 1321767.032 697845.505 0, 1321476.779 697826.575 0, 1321186.524 697807.662 0, 1320894.915 697788.678 0, 1320533.258 703346.575 0,
+ 1320171.581 708904.763 0, 1320462.533 708923.704 0, 1320752.134 708942.575 0, 1321041.733 708961.462 0, 1321331.331 708980.367 0, 1321620.928 708999.288 0, 1321910.524 709018.226 0, 1322200.119 709037.182 0, 1322489.713 709056.155 0, 1322779.306 709075.144 0,
+ 1323068.897 709094.151 0, 1323358.488 709113.175 0, 1323648.077 709132.215 0, 1323937.665 709151.273 0, 1324227.252 709170.348 0, 1324516.838 709189.44 0, 1324806.423 709208.549 0, 1325096.007 709227.675 0, 1325385.59 709246.818 0, 1325675.171 709265.978 0,
+ 1325964.751 709285.155 0, 1326254.331 709304.349 0, 1326543.909 709323.56 0, 1326833.486 709342.789 0, 1327121.713 709361.944 0, 1327412.636 709381.296 0, 1327702.21 709400.576 0, 1327991.782 709419.872 0, 1328281.353 709439.186 0, 1328570.923 709458.516 0,
+ 1328860.492 709477.864 0, 1329150.06 709497.228 0, 1329439.627 709516.61 0, 1329729.193 709536.009 0, 1330018.757 709555.424 0, 1330308.32 709574.857 0, 1330597.882 709594.307 0, 1330887.443 709613.774 0, 1331177.003 709633.258 0, 1331466.562 709652.759 0,
+ 1331756.12 709672.277 0, 1332045.676 709691.812 0, 1332335.231 709711.364 0, 1332624.785 709730.933 0, 1332914.338 709750.519 0, 1333203.89 709770.122 0, 1333493.441 709789.742 0, 1333782.99 709809.38 0, 1334071.191 709828.942 0, 1334448.569 704271.798 0,
+ 1334825.926 698714.945 0))
+
+POLYGON ((1347968.134 710792.387 0, 1347679.988 710772.01 0, 1347390.495 710751.554 0, 1347101.001 710731.116 0, 1346811.505 710710.695 0, 1346522.009 710690.291 0, 1346232.511 710669.904 0, 1345943.012 710649.534 0, 1345653.512 710629.181 0, 1345364.011 710608.845 0,
+ 1345074.509 710588.526 0, 1344785.005 710568.224 0, 1344495.5 710547.939 0, 1344205.994 710527.671 0, 1343916.487 710507.421 0, 1343626.978 710487.187 0, 1343337.469 710466.97 0, 1343047.958 710446.771 0, 1342758.446 710426.588 0, 1342468.933 710406.422 0,
+ 1342179.418 710386.274 0, 1341889.903 710366.142 0, 1341600.386 710346.028 0, 1341310.868 710325.931 0, 1341020.003 710305.757 0, 1340731.829 710285.787 0, 1340442.307 710265.741 0, 1340152.785 710245.711 0, 1339863.261 710225.699 0, 1339573.736 710205.704 0,
+ 1339284.21 710185.726 0, 1338994.682 710165.765 0, 1338705.154 710145.821 0, 1338415.624 710125.894 0, 1338126.093 710105.984 0, 1337836.561 710086.091 0, 1337547.028 710066.215 0, 1337257.494 710046.356 0, 1336967.958 710026.514 0, 1336678.421 710006.69 0,
+ 1336388.884 709986.882 0, 1336099.345 709967.091 0, 1335809.804 709947.318 0, 1335520.263 709927.561 0, 1335230.72 709907.822 0, 1334941.177 709888.099 0, 1334651.632 709868.394 0, 1334362.086 709848.705 0, 1334071.191 709828.942 0, 1333693.794 715386.375 0,
+ 1333316.377 720944.093 0, 1333606.615 720963.811 0, 1333895.507 720983.455 0, 1334184.397 721003.116 0, 1334473.287 721022.794 0, 1334762.175 721042.489 0, 1335051.062 721062.201 0, 1335339.948 721081.93 0, 1335628.833 721101.675 0, 1335917.717 721121.438 0,
+ 1336206.599 721141.218 0, 1336495.481 721161.015 0, 1336784.361 721180.829 0, 1337073.24 721200.66 0, 1337362.118 721220.508 0, 1337650.995 721240.373 0, 1337939.87 721260.255 0, 1338228.744 721280.154 0, 1338517.618 721300.07 0, 1338806.49 721320.003 0,
+ 1339095.36 721339.953 0, 1339384.23 721359.92 0, 1339673.099 721379.904 0, 1339961.966 721399.905 0, 1340249.489 721419.83 0, 1340539.697 721439.958 0, 1340828.561 721460.01 0, 1341117.423 721480.079 0, 1341406.285 721500.165 0, 1341695.145 721520.268 0,
+ 1341984.004 721540.388 0, 1342272.862 721560.525 0, 1342561.719 721580.679 0, 1342850.574 721600.85 0, 1343139.428 721621.038 0, 1343428.281 721641.243 0, 1343717.133 721661.465 0, 1344005.984 721681.704 0, 1344294.834 721701.96 0, 1344583.682 721722.233 0,
+ 1344872.529 721742.523 0, 1345161.375 721762.83 0, 1345450.22 721783.154 0, 1345739.063 721803.495 0, 1346027.906 721823.853 0, 1346316.747 721844.228 0, 1346605.587 721864.62 0, 1346894.426 721885.029 0, 1347181.921 721905.36 0, 1347575.038 716348.731 0,
+ 1347968.134 710792.387 0))
+
+POLYGON ((1361044.694 722905.796 0, 1360757.255 722884.653 0, 1360468.475 722863.428 0, 1360179.694 722842.22 0, 1359890.911 722821.029 0, 1359602.128 722799.855 0, 1359313.343 722778.698 0, 1359024.556 722757.558 0, 1358735.769 722736.435 0, 1358446.98 722715.329 0,
+ 1358158.19 722694.24 0, 1357869.399 722673.168 0, 1357580.607 722652.113 0, 1357291.813 722631.075 0, 1357003.018 722610.054 0, 1356714.222 722589.05 0, 1356425.425 722568.063 0, 1356136.626 722547.093 0, 1355847.826 722526.14 0, 1355559.025 722505.204 0,
+ 1355270.223 722484.285 0, 1354981.42 722463.383 0, 1354692.615 722442.498 0, 1354403.809 722421.63 0, 1354113.661 722400.683 0, 1353826.193 722379.945 0, 1353537.384 722359.128 0, 1353248.573 722338.328 0, 1352959.761 722317.545 0, 1352670.947 722296.779 0,
+ 1352382.133 722276.03 0, 1352093.317 722255.298 0, 1351804.5 722234.583 0, 1351515.682 722213.885 0, 1351226.862 722193.204 0, 1350938.042 722172.54 0, 1350649.22 722151.893 0, 1350360.397 722131.263 0, 1350071.573 722110.65 0, 1349782.747 722090.054 0,
+ 1349493.92 722069.475 0, 1349205.092 722048.913 0, 1348916.263 722028.368 0, 1348627.433 722007.84 0, 1348338.601 721987.329 0, 1348049.769 721966.835 0, 1347760.935 721946.358 0, 1347472.1 721925.898 0, 1347181.921 721905.36 0, 1346788.785 727462.27 0,
+ 1346395.629 733019.458 0, 1346685.15 733039.95 0, 1346973.331 733060.364 0, 1347261.511 733080.794 0, 1347549.689 733101.242 0, 1347837.867 733121.706 0, 1348126.043 733142.188 0, 1348414.218 733162.686 0, 1348702.392 733183.202 0, 1348990.564 733203.734 0,
+ 1349278.736 733224.284 0, 1349566.906 733244.85 0, 1349855.075 733265.433 0, 1350143.242 733286.034 0, 1350431.409 733306.651 0, 1350719.574 733327.285 0, 1351007.738 733347.936 0, 1351295.901 733368.604 0, 1351584.063 733389.289 0, 1351872.223 733409.991 0,
+ 1352160.383 733430.71 0, 1352448.541 733451.446 0, 1352736.697 733472.199 0, 1353024.853 733492.969 0, 1353311.669 733513.659 0, 1353601.16 733534.559 0, 1353889.312 733555.38 0, 1354177.463 733576.218 0, 1354465.612 733597.073 0, 1354753.761 733617.944 0,
+ 1355041.907 733638.833 0, 1355330.053 733659.738 0, 1355618.198 733680.661 0, 1355906.341 733701.6 0, 1356194.483 733722.557 0, 1356482.624 733743.53 0, 1356770.763 733764.52 0, 1357058.902 733785.528 0, 1357347.039 733806.552 0, 1357635.175 733827.593 0,
+ 1357923.309 733848.651 0, 1358211.443 733869.727 0, 1358499.575 733890.819 0, 1358787.706 733911.928 0, 1359075.836 733933.054 0, 1359363.964 733954.197 0, 1359652.091 733975.357 0, 1359940.217 733996.533 0, 1360227.005 734017.629 0, 1360635.86 728461.574 0,
+ 1361044.694 722905.796 0))
+
+POLYGON ((1374055.507 735054.872 0, 1373768.777 735032.966 0, 1373480.712 735010.975 0, 1373192.646 734989.001 0, 1372904.578 734967.044 0, 1372616.509 734945.104 0, 1372328.439 734923.181 0, 1372040.368 734901.275 0, 1371752.295 734879.386 0, 1371464.221 734857.514 0,
+ 1371176.146 734835.659 0, 1370888.069 734813.821 0, 1370599.991 734791.999 0, 1370311.912 734770.195 0, 1370023.832 734748.408 0, 1369735.75 734726.637 0, 1369447.667 734704.884 0, 1369159.583 734683.148 0, 1368871.497 734661.428 0, 1368583.411 734639.725 0,
+ 1368295.323 734618.04 0, 1368007.233 734596.371 0, 1367719.143 734574.719 0, 1367431.051 734553.085 0, 1367141.622 734531.367 0, 1366854.863 734509.866 0, 1366566.767 734488.282 0, 1366278.67 734466.715 0, 1365990.572 734445.165 0, 1365702.472 734423.632 0,
+ 1365414.372 734402.116 0, 1365126.27 734380.617 0, 1364838.166 734359.135 0, 1364550.062 734337.67 0, 1364261.956 734316.222 0, 1363973.849 734294.79 0, 1363685.74 734273.376 0, 1363397.631 734251.979 0, 1363109.52 734230.598 0, 1362821.408 734209.235 0,
+ 1362533.294 734187.889 0, 1362245.18 734166.559 0, 1361957.064 734145.247 0, 1361668.946 734123.951 0, 1361380.828 734102.672 0, 1361092.708 734081.411 0, 1360804.587 734060.166 0, 1360516.465 734038.938 0, 1360227.005 734017.629 0, 1359818.13 739573.958 0,
+ 1359409.236 745130.558 0, 1359698.039 745151.819 0, 1359985.507 745172.999 0, 1360272.974 745194.195 0, 1360560.439 745215.409 0, 1360847.904 745236.639 0, 1361135.367 745257.886 0, 1361422.829 745279.15 0, 1361710.289 745300.432 0, 1361997.748 745321.73 0,
+ 1362285.207 745343.045 0, 1362572.663 745364.376 0, 1362860.119 745385.725 0, 1363147.573 745407.091 0, 1363435.026 745428.473 0, 1363722.478 745449.873 0, 1364009.929 745471.289 0, 1364297.378 745492.723 0, 1364584.826 745514.173 0, 1364872.273 745535.64 0,
+ 1365159.718 745557.124 0, 1365447.163 745578.625 0, 1365734.606 745600.143 0, 1366022.047 745621.678 0, 1366308.156 745643.13 0, 1366596.927 745664.799 0, 1366884.365 745686.384 0, 1367171.801 745707.987 0, 1367459.237 745729.606 0, 1367746.671 745751.243 0,
+ 1368034.104 745772.896 0, 1368321.535 745794.566 0, 1368608.966 745816.253 0, 1368896.394 745837.957 0, 1369183.822 745859.678 0, 1369471.249 745881.416 0, 1369758.674 745903.171 0, 1370046.098 745924.943 0, 1370333.52 745946.731 0, 1370620.942 745968.537 0,
+ 1370908.362 745990.359 0, 1371195.78 746012.199 0, 1371483.198 746034.055 0, 1371770.614 746055.928 0, 1372058.029 746077.818 0, 1372345.442 746099.726 0, 1372632.855 746121.65 0, 1372920.266 746143.59 0, 1373206.344 746165.446 0, 1373630.936 740610.024 0,
+ 1374055.507 735054.872 0))
+
+POLYGON ((1387000.474 747239.31 0, 1386714.456 747216.645 0, 1386427.108 747193.892 0, 1386139.759 747171.157 0, 1385852.408 747148.438 0, 1385565.057 747125.736 0, 1385277.703 747103.05 0, 1384990.349 747080.382 0, 1384702.993 747057.731 0, 1384415.636 747035.097 0,
+ 1384128.277 747012.479 0, 1383840.917 746989.878 0, 1383553.556 746967.295 0, 1383266.193 746944.728 0, 1382978.83 746922.178 0, 1382691.464 746899.645 0, 1382404.098 746877.129 0, 1382116.73 746854.63 0, 1381829.361 746832.148 0, 1381541.99 746809.683 0,
+ 1381254.619 746787.234 0, 1380967.245 746764.803 0, 1380679.871 746742.389 0, 1380392.495 746719.991 0, 1380103.788 746697.507 0, 1379817.74 746675.246 0, 1379530.36 746652.9 0, 1379242.979 746630.57 0, 1378955.597 746608.257 0, 1378668.213 746585.961 0,
+ 1378380.828 746563.681 0, 1378093.442 746541.419 0, 1377806.054 746519.174 0, 1377518.665 746496.945 0, 1377231.275 746474.734 0, 1376943.884 746452.539 0, 1376656.491 746430.361 0, 1376369.097 746408.201 0, 1376081.701 746386.057 0, 1375794.304 746363.93 0,
+ 1375506.906 746341.82 0, 1375219.507 746319.726 0, 1374932.106 746297.65 0, 1374644.704 746275.591 0, 1374357.301 746253.549 0, 1374069.897 746231.523 0, 1373782.491 746209.515 0, 1373495.084 746187.523 0, 1373206.344 746165.446 0, 1372781.732 751721.137 0,
+ 1372357.1 757277.09 0, 1372645.183 757299.117 0, 1372931.936 757321.058 0, 1373218.688 757343.017 0, 1373505.438 757364.992 0, 1373792.187 757386.984 0, 1374078.935 757408.993 0, 1374365.682 757431.019 0, 1374652.427 757453.062 0, 1374939.171 757475.122 0,
+ 1375225.914 757497.198 0, 1375512.656 757519.292 0, 1375799.396 757541.402 0, 1376086.135 757563.53 0, 1376372.872 757585.674 0, 1376659.608 757607.835 0, 1376946.343 757630.013 0, 1377233.077 757652.207 0, 1377519.809 757674.419 0, 1377806.54 757696.647 0,
+ 1378093.27 757718.893 0, 1378379.998 757741.155 0, 1378666.726 757763.434 0, 1378953.451 757785.73 0, 1379238.849 757807.94 0, 1379526.899 757830.373 0, 1379813.621 757852.72 0, 1380100.341 757875.083 0, 1380387.061 757897.463 0, 1380673.778 757919.861 0,
+ 1380960.495 757942.275 0, 1381247.21 757964.706 0, 1381533.924 757987.154 0, 1381820.637 758009.619 0, 1382107.348 758032.1 0, 1382394.058 758054.599 0, 1382680.767 758077.114 0, 1382967.474 758099.646 0, 1383254.18 758122.195 0, 1383540.885 758144.761 0,
+ 1383827.588 758167.344 0, 1384114.29 758189.944 0, 1384400.991 758212.561 0, 1384687.69 758235.194 0, 1384974.388 758257.845 0, 1385261.085 758280.512 0, 1385547.78 758303.196 0, 1385834.474 758325.897 0, 1386119.841 758348.51 0, 1386560.168 752793.778 0,
+ 1387000.474 747239.31 0))
+
+POLYGON ((1399879.5 759458.807 0, 1399594.196 759435.388 0, 1399307.567 759411.877 0, 1399020.937 759388.383 0, 1398734.305 759364.906 0, 1398447.672 759341.446 0, 1398161.038 759318.003 0, 1397874.403 759294.576 0, 1397587.766 759271.166 0, 1397301.127 759247.774 0,
+ 1397014.487 759224.398 0, 1396727.846 759201.039 0, 1396441.204 759177.696 0, 1396154.56 759154.371 0, 1395867.915 759131.063 0, 1395581.268 759107.771 0, 1395294.62 759084.496 0, 1395007.971 759061.239 0, 1394721.32 759037.998 0, 1394434.668 759014.774 0,
+ 1394148.014 758991.566 0, 1393861.36 758968.376 0, 1393574.703 758945.203 0, 1393288.046 758922.046 0, 1393000.063 758898.799 0, 1392714.727 758875.784 0, 1392428.065 758852.678 0, 1392141.402 758829.588 0, 1391854.738 758806.516 0, 1391568.072 758783.461 0,
+ 1391281.405 758760.422 0, 1390994.736 758737.401 0, 1390708.067 758714.396 0, 1390421.395 758691.408 0, 1390134.723 758668.437 0, 1389848.049 758645.483 0, 1389561.374 758622.546 0, 1389274.697 758599.625 0, 1388988.019 758576.722 0, 1388701.34 758553.835 0,
+ 1388414.66 758530.966 0, 1388127.978 758508.113 0, 1387841.294 758485.277 0, 1387554.61 758462.458 0, 1387267.924 758439.655 0, 1386981.237 758416.87 0, 1386694.548 758394.101 0, 1386407.858 758371.35 0, 1386119.841 758348.51 0, 1385679.494 763903.502 0,
+ 1385239.126 769458.751 0, 1385526.485 769481.539 0, 1385812.522 769504.238 0, 1386098.556 769526.955 0, 1386384.59 769549.688 0, 1386670.622 769572.439 0, 1386956.652 769595.206 0, 1387242.682 769617.99 0, 1387528.71 769640.79 0, 1387814.736 769663.608 0,
+ 1388100.762 769686.442 0, 1388386.786 769709.294 0, 1388672.808 769732.162 0, 1388958.83 769755.047 0, 1389244.85 769777.948 0, 1389530.868 769800.867 0, 1389816.886 769823.803 0, 1390102.902 769846.755 0, 1390388.916 769869.724 0, 1390674.929 769892.71 0,
+ 1390960.941 769915.713 0, 1391246.952 769938.732 0, 1391532.961 769961.769 0, 1391818.969 769984.822 0, 1392103.654 770007.785 0, 1392390.98 770030.979 0, 1392676.984 770054.083 0, 1392962.986 770077.203 0, 1393248.987 770100.341 0, 1393534.987 770123.495 0,
+ 1393820.985 770146.666 0, 1394106.982 770169.854 0, 1394392.977 770193.059 0, 1394678.972 770216.28 0, 1394964.964 770239.519 0, 1395250.956 770262.774 0, 1395536.946 770286.046 0, 1395822.935 770309.335 0, 1396108.922 770332.641 0, 1396394.908 770355.964 0,
+ 1396680.892 770379.303 0, 1396966.876 770402.659 0, 1397252.857 770426.032 0, 1397538.838 770449.422 0, 1397824.817 770472.829 0, 1398110.795 770496.253 0, 1398396.771 770519.693 0, 1398682.746 770543.15 0, 1398967.4 770566.516 0, 1399423.46 765012.533 0,
+ 1399879.5 759458.807 0))
+
+POLYGON ((1412692.489 771713.061 0, 1412407.9 771688.891 0, 1412121.993 771664.626 0, 1411836.084 771640.378 0, 1411550.174 771616.147 0, 1411264.262 771591.932 0, 1410978.348 771567.734 0, 1410692.434 771543.553 0, 1410406.518 771519.389 0, 1410120.6 771495.242 0,
+ 1409834.681 771471.111 0, 1409548.761 771446.998 0, 1409262.839 771422.901 0, 1408976.916 771398.821 0, 1408690.991 771374.758 0, 1408405.065 771350.712 0, 1408119.138 771326.682 0, 1407833.209 771302.669 0, 1407547.279 771278.674 0, 1407261.347 771254.695 0,
+ 1406975.414 771230.732 0, 1406689.48 771206.787 0, 1406403.544 771182.858 0, 1406117.607 771158.947 0, 1405830.349 771134.942 0, 1405545.728 771111.174 0, 1405259.786 771087.313 0, 1404973.843 771063.468 0, 1404687.899 771039.641 0, 1404401.953 771015.83 0,
+ 1404116.006 770992.036 0, 1403830.058 770968.259 0, 1403544.108 770944.499 0, 1403258.156 770920.756 0, 1402972.204 770897.029 0, 1402686.25 770873.319 0, 1402400.294 770849.626 0, 1402114.337 770825.95 0, 1401828.379 770802.291 0, 1401542.419 770778.649 0,
+ 1401256.458 770755.023 0, 1400970.496 770731.414 0, 1400684.532 770707.822 0, 1400398.567 770684.247 0, 1400112.6 770660.689 0, 1399826.632 770637.148 0, 1399540.662 770613.623 0, 1399254.692 770590.115 0, 1398967.4 770566.516 0, 1398511.318 776120.752 0,
+ 1398055.216 781675.237 0, 1398341.851 781698.782 0, 1398627.168 781722.236 0, 1398912.484 781745.707 0, 1399197.798 781769.195 0, 1399483.111 781792.699 0, 1399768.422 781816.22 0, 1400053.732 781839.758 0, 1400339.041 781863.313 0, 1400624.348 781886.885 0,
+ 1400909.654 781910.473 0, 1401194.959 781934.078 0, 1401480.262 781957.7 0, 1401765.563 781981.339 0, 1402050.864 782004.994 0, 1402336.163 782028.667 0, 1402621.46 782052.356 0, 1402906.756 782076.062 0, 1403192.051 782099.784 0, 1403477.344 782123.524 0,
+ 1403762.636 782147.28 0, 1404047.927 782171.053 0, 1404333.216 782194.843 0, 1404618.504 782218.65 0, 1404902.474 782242.363 0, 1405189.075 782266.313 0, 1405474.359 782290.17 0, 1405759.641 782314.044 0, 1406044.921 782337.935 0, 1406330.201 782361.842 0,
+ 1406615.479 782385.766 0, 1406900.755 782409.707 0, 1407186.03 782433.665 0, 1407471.304 782457.64 0, 1407756.576 782481.631 0, 1408041.847 782505.639 0, 1408327.117 782529.664 0, 1408612.385 782553.706 0, 1408897.651 782577.764 0, 1409182.916 782601.84 0,
+ 1409468.18 782625.932 0, 1409753.443 782650.04 0, 1410038.704 782674.166 0, 1410323.963 782698.309 0, 1410609.221 782722.468 0, 1410894.478 782746.644 0, 1411179.733 782770.837 0, 1411464.987 782795.046 0, 1411748.925 782819.161 0, 1412220.718 777265.987 0,
+ 1412692.489 771713.061 0))
+
+POLYGON ((1425439.347 784001.768 0, 1425155.477 783976.851 0, 1424870.292 783951.835 0, 1424585.107 783926.837 0, 1424299.919 783901.855 0, 1424014.731 783876.89 0, 1423729.54 783851.942 0, 1423444.349 783827.01 0, 1423159.156 783802.095 0, 1422873.961 783777.197 0,
+ 1422588.765 783752.316 0, 1422303.567 783727.452 0, 1422018.369 783702.604 0, 1421733.168 783677.774 0, 1421447.966 783652.96 0, 1421162.763 783628.162 0, 1420877.558 783603.382 0, 1420592.352 783578.618 0, 1420307.144 783553.872 0, 1420021.935 783529.142 0,
+ 1419736.724 783504.428 0, 1419451.512 783479.732 0, 1419166.299 783455.052 0, 1418881.084 783430.389 0, 1418594.554 783405.63 0, 1418310.649 783381.114 0, 1418025.43 783356.501 0, 1417740.209 783331.905 0, 1417454.987 783307.327 0, 1417169.763 783282.764 0,
+ 1416884.538 783258.219 0, 1416599.311 783233.69 0, 1416314.083 783209.179 0, 1416028.854 783184.684 0, 1415743.623 783160.205 0, 1415458.391 783135.744 0, 1415173.157 783111.299 0, 1414887.922 783086.871 0, 1414602.685 783062.46 0, 1414317.447 783038.066 0,
+ 1414032.207 783013.688 0, 1413746.966 782989.328 0, 1413461.724 782964.984 0, 1413176.48 782940.657 0, 1412891.235 782916.346 0, 1412605.988 782892.053 0, 1412320.74 782867.776 0, 1412035.49 782843.516 0, 1411748.925 782819.161 0, 1411277.111 788372.582 0,
+ 1410805.277 793926.245 0, 1411091.186 793950.544 0, 1411375.782 793974.748 0, 1411660.376 793998.969 0, 1411944.969 794023.207 0, 1412229.561 794047.462 0, 1412514.151 794071.733 0, 1412798.74 794096.021 0, 1413083.327 794120.326 0, 1413367.913 794144.648 0,
+ 1413652.497 794168.986 0, 1413937.08 794193.341 0, 1414221.661 794217.713 0, 1414506.242 794242.102 0, 1414790.82 794266.507 0, 1415075.397 794290.929 0, 1415359.973 794315.368 0, 1415644.548 794339.824 0, 1415929.12 794364.296 0, 1416213.692 794388.785 0,
+ 1416498.262 794413.291 0, 1416782.831 794437.814 0, 1417067.398 794462.353 0, 1417351.963 794486.909 0, 1417635.217 794511.369 0, 1417921.09 794536.072 0, 1418205.652 794560.678 0, 1418490.212 794585.301 0, 1418774.77 794609.941 0, 1419059.327 794634.598 0,
+ 1419343.883 794659.271 0, 1419628.437 794683.961 0, 1419912.989 794708.668 0, 1420197.54 794733.392 0, 1420482.09 794758.132 0, 1420766.638 794782.889 0, 1421051.185 794807.663 0, 1421335.731 794832.454 0, 1421620.275 794857.261 0, 1421904.817 794882.085 0,
+ 1422189.358 794906.926 0, 1422473.897 794931.784 0, 1422758.436 794956.658 0, 1423042.972 794981.549 0, 1423327.507 795006.457 0, 1423612.041 795031.382 0, 1423896.573 795056.323 0, 1424181.104 795081.281 0, 1424464.324 795106.141 0, 1424951.846 789553.833 0,
+ 1425439.347 784001.768 0))
+
+POLYGON ((1438119.983 796324.622 0, 1437836.832 796298.962 0, 1437552.373 796273.2 0, 1437267.912 796247.455 0, 1436983.45 796221.727 0, 1436698.986 796196.015 0, 1436414.521 796170.32 0, 1436130.055 796144.642 0, 1435845.587 796118.981 0, 1435561.117 796093.336 0,
+ 1435276.646 796067.708 0, 1434992.173 796042.097 0, 1434707.699 796016.502 0, 1434423.223 795990.925 0, 1434138.746 795965.364 0, 1433854.267 795939.82 0, 1433569.787 795914.292 0, 1433285.305 795888.782 0, 1433000.822 795863.288 0, 1432716.337 795837.81 0,
+ 1432431.851 795812.35 0, 1432147.364 795786.906 0, 1431862.874 795761.479 0, 1431578.384 795736.069 0, 1431292.584 795710.559 0, 1431009.398 795685.299 0, 1430724.903 795659.939 0, 1430440.406 795634.596 0, 1430155.908 795609.269 0, 1429871.408 795583.959 0,
+ 1429586.907 795558.666 0, 1429302.404 795533.39 0, 1429017.9 795508.131 0, 1428733.395 795482.888 0, 1428448.888 795457.662 0, 1428164.379 795432.453 0, 1427879.869 795407.26 0, 1427595.357 795382.084 0, 1427310.844 795356.925 0, 1427026.33 795331.783 0,
+ 1426741.814 795306.657 0, 1426457.297 795281.549 0, 1426172.778 795256.457 0, 1425888.257 795231.381 0, 1425603.735 795206.323 0, 1425319.212 795181.281 0, 1425034.687 795156.256 0, 1424750.161 795131.247 0, 1424464.324 795106.141 0, 1423976.781 800658.688 0,
+ 1423489.217 806211.469 0, 1423774.397 806236.518 0, 1424058.27 806261.469 0, 1424342.141 806286.437 0, 1424626.01 806311.421 0, 1424909.879 806336.422 0, 1425193.746 806361.44 0, 1425477.611 806386.474 0, 1425761.475 806411.525 0, 1426045.337 806436.593 0,
+ 1426329.198 806461.678 0, 1426613.057 806486.779 0, 1426896.915 806511.897 0, 1427180.772 806537.031 0, 1427464.627 806562.183 0, 1427748.48 806587.351 0, 1428032.332 806612.536 0, 1428316.183 806637.737 0, 1428600.032 806662.955 0, 1428883.879 806688.19 0,
+ 1429167.725 806713.442 0, 1429451.57 806738.71 0, 1429735.413 806763.995 0, 1430019.255 806789.297 0, 1430301.79 806814.499 0, 1430586.934 806839.95 0, 1430870.771 806865.302 0, 1431154.606 806890.671 0, 1431438.44 806916.056 0, 1431722.273 806941.458 0,
+ 1432006.104 806966.877 0, 1432289.934 806992.312 0, 1432573.762 807017.764 0, 1432857.589 807043.233 0, 1433141.414 807068.718 0, 1433425.238 807094.221 0, 1433709.06 807119.74 0, 1433992.88 807145.275 0, 1434276.7 807170.827 0, 1434560.517 807196.396 0,
+ 1434844.333 807221.982 0, 1435128.148 807247.585 0, 1435411.961 807273.204 0, 1435695.773 807298.84 0, 1435979.583 807324.492 0, 1436263.392 807350.161 0, 1436547.199 807375.847 0, 1436831.004 807401.55 0, 1437113.505 807427.151 0, 1437616.755 801875.769 0,
+ 1438119.983 796324.622 0))
+
+POLYGON ((1450734.304 808681.319 0, 1450451.875 808654.92 0, 1450168.143 808628.415 0, 1449884.41 808601.928 0, 1449600.675 808575.457 0, 1449316.938 808549.003 0, 1449033.2 808522.565 0, 1448749.46 808496.144 0, 1448465.719 808469.74 0, 1448181.977 808443.353 0,
+ 1447898.232 808416.982 0, 1447614.486 808390.628 0, 1447330.739 808364.29 0, 1447046.99 808337.97 0, 1446763.24 808311.666 0, 1446479.488 808285.379 0, 1446195.734 808259.108 0, 1445911.979 808232.854 0, 1445628.222 808206.617 0, 1445344.464 808180.397 0,
+ 1445060.704 808154.193 0, 1444776.943 808128.006 0, 1444493.18 808101.835 0, 1444209.416 808075.682 0, 1443924.348 808049.425 0, 1443641.882 808023.425 0, 1443358.113 807997.321 0, 1443074.343 807971.234 0, 1442790.571 807945.164 0, 1442506.797 807919.111 0,
+ 1442223.022 807893.074 0, 1441939.245 807867.054 0, 1441655.467 807841.051 0, 1441371.687 807815.064 0, 1441087.906 807789.094 0, 1440804.123 807763.141 0, 1440520.339 807737.205 0, 1440236.553 807711.285 0, 1439952.766 807685.382 0, 1439668.977 807659.495 0,
+ 1439385.186 807633.626 0, 1439101.394 807607.773 0, 1438817.601 807581.936 0, 1438533.806 807556.117 0, 1438250.01 807530.314 0, 1437966.212 807504.528 0, 1437682.412 807478.758 0, 1437398.611 807453.005 0, 1437113.505 807427.151 0, 1436610.234 812978.765 0,
+ 1436106.943 818530.607 0, 1436391.393 818556.401 0, 1436674.54 818582.095 0, 1436957.686 818607.805 0, 1437240.831 818633.532 0, 1437523.974 818659.275 0, 1437807.115 818685.035 0, 1438090.255 818710.812 0, 1438373.393 818736.606 0, 1438656.53 818762.416 0,
+ 1438939.666 818788.242 0, 1439222.8 818814.086 0, 1439505.932 818839.946 0, 1439789.063 818865.823 0, 1440072.192 818891.716 0, 1440355.32 818917.626 0, 1440638.446 818943.553 0, 1440921.571 818969.497 0, 1441204.694 818995.457 0, 1441487.816 819021.433 0,
+ 1441770.936 819047.427 0, 1442054.054 819073.437 0, 1442337.172 819099.464 0, 1442620.287 819125.507 0, 1442902.102 819151.448 0, 1443186.514 819177.644 0, 1443469.625 819203.737 0, 1443752.734 819229.847 0, 1444035.842 819255.974 0, 1444318.948 819282.118 0,
+ 1444602.053 819308.278 0, 1444885.156 819334.454 0, 1445168.258 819360.648 0, 1445451.358 819386.858 0, 1445734.457 819413.085 0, 1446017.554 819439.328 0, 1446300.649 819465.588 0, 1446583.743 819491.865 0, 1446866.836 819518.158 0, 1447149.927 819544.468 0,
+ 1447433.016 819570.795 0, 1447716.104 819597.138 0, 1447999.19 819623.498 0, 1448282.275 819649.875 0, 1448565.358 819676.268 0, 1448848.44 819702.678 0, 1449131.52 819729.105 0, 1449414.598 819755.548 0, 1449696.377 819781.887 0, 1450215.351 814231.489 0,
+ 1450734.304 808681.319 0))
+
+POLYGON ((1463282.222 821071.554 0, 1463000.516 821044.419 0, 1462717.513 821017.177 0, 1462434.509 820989.95 0, 1462151.503 820962.741 0, 1461868.496 820935.548 0, 1461585.487 820908.371 0, 1461302.476 820881.212 0, 1461019.464 820854.069 0, 1460736.45 820826.942 0,
+ 1460453.435 820799.832 0, 1460170.418 820772.739 0, 1459887.399 820745.663 0, 1459604.379 820718.603 0, 1459321.357 820691.56 0, 1459038.334 820664.534 0, 1458755.309 820637.524 0, 1458472.282 820610.531 0, 1458189.254 820583.555 0, 1457906.224 820556.595 0,
+ 1457623.193 820529.652 0, 1457340.16 820502.725 0, 1457057.125 820475.815 0, 1456774.089 820448.922 0, 1456489.755 820421.923 0, 1456208.012 820395.186 0, 1455924.971 820368.343 0, 1455641.929 820341.516 0, 1455358.885 820314.706 0, 1455075.839 820287.913 0,
+ 1454792.792 820261.137 0, 1454509.744 820234.377 0, 1454226.693 820207.634 0, 1453943.641 820180.907 0, 1453660.588 820154.197 0, 1453377.533 820127.504 0, 1453094.476 820100.827 0, 1452811.418 820074.167 0, 1452528.358 820047.524 0, 1452245.297 820020.898 0,
+ 1451962.234 819994.288 0, 1451679.17 819967.694 0, 1451396.104 819941.118 0, 1451113.036 819914.558 0, 1450829.967 819888.015 0, 1450546.896 819861.488 0, 1450263.824 819834.978 0, 1449980.75 819808.485 0, 1449696.377 819781.887 0, 1449177.382 825332.509 0,
+ 1448658.366 830883.351 0, 1448942.083 830909.888 0, 1449224.503 830936.32 0, 1449506.922 830962.769 0, 1449789.339 830989.234 0, 1450071.755 831015.716 0, 1450354.169 831042.215 0, 1450636.582 831068.73 0, 1450918.993 831095.262 0, 1451201.402 831121.811 0,
+ 1451483.81 831148.376 0, 1451766.217 831174.957 0, 1452048.622 831201.556 0, 1452331.025 831228.171 0, 1452613.426 831254.802 0, 1452895.827 831281.451 0, 1453178.225 831308.115 0, 1453460.622 831334.797 0, 1453743.017 831361.495 0, 1454025.411 831388.21 0,
+ 1454307.803 831414.941 0, 1454590.194 831441.689 0, 1454872.583 831468.454 0, 1455154.971 831495.235 0, 1455436.063 831521.91 0, 1455719.741 831548.847 0, 1456002.124 831575.678 0, 1456284.505 831602.526 0, 1456566.885 831629.39 0, 1456849.263 831656.271 0,
+ 1457131.639 831683.169 0, 1457414.014 831710.083 0, 1457696.387 831737.014 0, 1457978.759 831763.961 0, 1458261.129 831790.925 0, 1458543.498 831817.906 0, 1458825.865 831844.903 0, 1459108.23 831871.917 0, 1459390.594 831898.947 0, 1459672.956 831925.995 0,
+ 1459955.316 831953.058 0, 1460237.675 831980.139 0, 1460520.033 832007.236 0, 1460802.389 832034.349 0, 1461084.743 832061.479 0, 1461367.095 832088.626 0, 1461649.446 832115.79 0, 1461931.796 832142.97 0, 1462212.851 832170.042 0, 1462747.547 826620.688 0,
+ 1463282.222 821071.554 0))
+
+POLYGON ((1475763.647 833495.022 0, 1475482.667 833467.155 0, 1475200.396 833439.178 0, 1474918.123 833411.217 0, 1474635.848 833383.272 0, 1474353.571 833355.344 0, 1474071.293 833327.433 0, 1473789.014 833299.538 0, 1473506.732 833271.66 0, 1473224.449 833243.799 0,
+ 1472942.165 833215.954 0, 1472659.878 833188.126 0, 1472377.59 833160.315 0, 1472095.301 833132.52 0, 1471813.01 833104.742 0, 1471530.717 833076.98 0, 1471248.422 833049.235 0, 1470966.126 833021.506 0, 1470683.829 832993.795 0, 1470401.529 832966.099 0,
+ 1470119.228 832938.421 0, 1469836.926 832910.759 0, 1469554.622 832883.113 0, 1469272.316 832855.485 0, 1468988.717 832827.746 0, 1468707.699 832800.277 0, 1468425.388 832772.698 0, 1468143.076 832745.136 0, 1467860.762 832717.59 0, 1467578.446 832690.061 0,
+ 1467296.129 832662.549 0, 1467013.81 832635.053 0, 1466731.49 832607.574 0, 1466449.168 832580.111 0, 1466166.844 832552.665 0, 1465884.519 832525.236 0, 1465602.192 832497.823 0, 1465319.864 832470.427 0, 1465037.533 832443.048 0, 1464755.202 832415.685 0,
+ 1464472.868 832388.338 0, 1464190.533 832361.009 0, 1463908.197 832333.696 0, 1463625.859 832306.399 0, 1463343.519 832279.12 0, 1463061.177 832251.856 0, 1462778.834 832224.61 0, 1462496.49 832197.38 0, 1462212.851 832170.042 0, 1461678.134 837719.613 0,
+ 1461143.397 843269.398 0, 1461426.379 843296.672 0, 1461708.071 843323.839 0, 1461989.76 843351.023 0, 1462271.448 843378.223 0, 1462553.135 843405.439 0, 1462834.82 843432.673 0, 1463116.503 843459.923 0, 1463398.185 843487.189 0, 1463679.865 843514.472 0,
+ 1463961.544 843541.771 0, 1464243.22 843569.088 0, 1464524.896 843596.42 0, 1464806.569 843623.77 0, 1465088.241 843651.136 0, 1465369.912 843678.518 0, 1465651.581 843705.917 0, 1465933.248 843733.333 0, 1466214.914 843760.765 0, 1466496.578 843788.214 0,
+ 1466778.24 843815.679 0, 1467059.901 843843.161 0, 1467341.56 843870.659 0, 1467623.217 843898.174 0, 1467903.585 843925.58 0, 1468186.528 843953.254 0, 1468468.18 843980.819 0, 1468749.831 844008.401 0, 1469031.481 844035.999 0, 1469313.128 844063.613 0,
+ 1469594.775 844091.244 0, 1469876.419 844118.892 0, 1470158.062 844146.556 0, 1470439.703 844174.237 0, 1470721.343 844201.935 0, 1471002.981 844229.649 0, 1471284.617 844257.379 0, 1471566.252 844285.126 0, 1471847.885 844312.89 0, 1472129.517 844340.67 0,
+ 1472411.147 844368.467 0, 1472692.775 844396.281 0, 1472974.401 844424.111 0, 1473256.026 844451.957 0, 1473537.65 844479.821 0, 1473819.271 844507.7 0, 1474100.891 844535.597 0, 1474382.51 844563.51 0, 1474662.84 844591.311 0, 1475213.254 839043.06 0,
+ 1475763.647 833495.022 0))
+
+POLYGON ((1488178.493 845951.415 0, 1487898.241 845922.821 0, 1487616.703 845894.112 0, 1487335.163 845865.421 0, 1487053.621 845836.745 0, 1486772.077 845808.087 0, 1486490.532 845779.444 0, 1486208.985 845750.819 0, 1485927.437 845722.21 0, 1485645.887 845693.617 0,
+ 1485364.335 845665.042 0, 1485082.781 845636.482 0, 1484801.226 845607.94 0, 1484519.669 845579.413 0, 1484238.111 845550.904 0, 1483956.55 845522.411 0, 1483674.988 845493.934 0, 1483393.425 845465.475 0, 1483111.859 845437.031 0, 1482830.292 845408.605 0,
+ 1482548.724 845380.194 0, 1482267.153 845351.801 0, 1481985.581 845323.424 0, 1481704.008 845295.063 0, 1481421.147 845266.59 0, 1481140.855 845238.392 0, 1480859.277 845210.082 0, 1480577.696 845181.787 0, 1480296.114 845153.51 0, 1480014.531 845125.249 0,
+ 1479732.945 845097.004 0, 1479451.358 845068.777 0, 1479169.77 845040.565 0, 1478888.18 845012.371 0, 1478606.588 844984.192 0, 1478324.994 844956.031 0, 1478043.399 844927.886 0, 1477761.802 844899.758 0, 1477480.203 844871.646 0, 1477198.603 844843.551 0,
+ 1476917.001 844815.472 0, 1476635.397 844787.41 0, 1476353.792 844759.364 0, 1476072.185 844731.335 0, 1475790.577 844703.323 0, 1475508.967 844675.327 0, 1475227.355 844647.348 0, 1474945.742 844619.385 0, 1474662.84 844591.311 0, 1474112.404 850139.773 0,
+ 1473561.949 855688.44 0, 1473844.195 855716.448 0, 1474125.155 855744.346 0, 1474406.114 855772.261 0, 1474687.071 855800.191 0, 1474968.026 855828.139 0, 1475248.98 855856.103 0, 1475529.932 855884.083 0, 1475810.882 855912.08 0, 1476091.831 855940.094 0,
+ 1476372.778 855968.124 0, 1476653.723 855996.171 0, 1476934.667 856024.234 0, 1477215.609 856052.313 0, 1477496.55 856080.41 0, 1477777.489 856108.522 0, 1478058.426 856136.652 0, 1478339.362 856164.798 0, 1478620.296 856192.96 0, 1478901.228 856221.139 0,
+ 1479182.158 856249.334 0, 1479463.087 856277.546 0, 1479744.015 856305.775 0, 1480024.94 856334.02 0, 1480304.581 856362.152 0, 1480586.786 856390.559 0, 1480867.707 856418.854 0, 1481148.626 856447.165 0, 1481429.543 856475.493 0, 1481710.459 856503.837 0,
+ 1481991.373 856532.198 0, 1482272.285 856560.575 0, 1482553.196 856588.969 0, 1482834.104 856617.38 0, 1483115.012 856645.807 0, 1483395.917 856674.25 0, 1483676.821 856702.71 0, 1483957.723 856731.187 0, 1484238.624 856759.68 0, 1484519.523 856788.189 0,
+ 1484800.42 856816.715 0, 1485081.316 856845.258 0, 1485362.209 856873.817 0, 1485643.102 856902.393 0, 1485923.992 856930.985 0, 1486204.881 856959.594 0, 1486485.768 856988.219 0, 1486766.653 857016.861 0, 1487046.256 857045.389 0, 1487612.385 851498.299 0,
+ 1488178.493 845951.415 0))
+
+POLYGON ((1500526.675 858440.428 0, 1500247.152 858411.11 0, 1499966.349 858381.675 0, 1499685.544 858352.256 0, 1499404.737 858322.854 0, 1499123.928 858293.468 0, 1498843.118 858264.099 0, 1498562.306 858234.746 0, 1498281.492 858205.41 0, 1498000.677 858176.091 0,
+ 1497719.86 858146.788 0, 1497439.041 858117.501 0, 1497158.22 858088.231 0, 1496877.398 858058.977 0, 1496596.574 858029.741 0, 1496315.748 858000.52 0, 1496034.92 857971.316 0, 1495754.091 857942.129 0, 1495473.26 857912.958 0, 1495192.427 857883.804 0,
+ 1494911.593 857854.666 0, 1494630.757 857825.545 0, 1494349.919 857796.44 0, 1494069.079 857767.352 0, 1493786.958 857738.148 0, 1493507.395 857709.225 0, 1493226.551 857680.186 0, 1492945.704 857651.164 0, 1492664.856 857622.159 0, 1492384.006 857593.17 0,
+ 1492103.155 857564.197 0, 1491822.302 857535.241 0, 1491541.447 857506.302 0, 1491260.59 857477.379 0, 1490979.732 857448.473 0, 1490698.872 857419.583 0, 1490418.01 857390.71 0, 1490137.147 857361.853 0, 1489856.281 857333.013 0, 1489575.415 857304.189 0,
+ 1489294.546 857275.382 0, 1489013.676 857246.591 0, 1488732.804 857217.817 0, 1488451.93 857189.059 0, 1488171.055 857160.318 0, 1487890.178 857131.594 0, 1487609.299 857102.886 0, 1487328.419 857074.194 0, 1487046.256 857045.389 0, 1486480.106 862592.681 0,
+ 1485913.935 868140.171 0, 1486195.443 868168.91 0, 1486475.67 868197.535 0, 1486755.896 868226.176 0, 1487036.12 868254.834 0, 1487316.342 868283.508 0, 1487596.563 868312.199 0, 1487876.782 868340.906 0, 1488156.999 868369.63 0, 1488437.214 868398.37 0,
+ 1488717.428 868427.126 0, 1488997.64 868455.9 0, 1489277.851 868484.689 0, 1489558.059 868513.496 0, 1489838.267 868542.318 0, 1490118.472 868571.157 0, 1490398.676 868600.013 0, 1490678.877 868628.885 0, 1490959.078 868657.774 0, 1491239.276 868686.679 0,
+ 1491519.473 868715.6 0, 1491799.668 868744.539 0, 1492079.862 868773.493 0, 1492360.054 868802.464 0, 1492638.966 868831.32 0, 1492920.432 868860.456 0, 1493200.619 868889.476 0, 1493480.803 868918.514 0, 1493760.987 868947.567 0, 1494041.168 868976.637 0,
+ 1494321.348 869005.724 0, 1494601.526 869034.827 0, 1494881.702 869063.946 0, 1495161.877 869093.082 0, 1495442.05 869122.235 0, 1495722.221 869151.404 0, 1496002.391 869180.589 0, 1496282.559 869209.791 0, 1496562.725 869239.01 0, 1496842.889 869268.244 0,
+ 1497123.052 869297.496 0, 1497403.212 869326.764 0, 1497683.372 869356.048 0, 1497963.529 869385.349 0, 1498243.685 869414.666 0, 1498523.839 869444 0, 1498803.991 869473.351 0, 1499084.142 869502.718 0, 1499363.015 869531.967 0, 1499944.855 863986.098 0,
+ 1500526.675 858440.428 0))
+
+POLYGON ((1512808.108 870961.753 0, 1512529.317 870931.716 0, 1512249.25 870901.558 0, 1511969.182 870871.416 0, 1511689.112 870841.291 0, 1511409.04 870811.182 0, 1511128.967 870781.09 0, 1510848.891 870751.014 0, 1510568.814 870720.955 0, 1510288.735 870690.912 0,
+ 1510008.655 870660.885 0, 1509728.572 870630.876 0, 1509448.488 870600.882 0, 1509168.402 870570.905 0, 1508888.315 870540.945 0, 1508608.225 870511.001 0, 1508328.134 870481.074 0, 1508048.041 870451.163 0, 1507767.946 870421.268 0, 1507487.85 870391.39 0,
+ 1507207.751 870361.529 0, 1506927.651 870331.684 0, 1506647.55 870301.855 0, 1506367.446 870272.043 0, 1506086.066 870242.112 0, 1505807.234 870212.469 0, 1505527.125 870182.706 0, 1505247.014 870152.96 0, 1504966.902 870123.23 0, 1504686.788 870093.517 0,
+ 1504406.672 870063.821 0, 1504126.555 870034.141 0, 1503846.436 870004.477 0, 1503566.315 869974.83 0, 1503286.192 869945.199 0, 1503006.067 869915.585 0, 1502725.941 869885.987 0, 1502445.813 869856.406 0, 1502165.683 869826.841 0, 1501885.552 869797.293 0,
+ 1501605.419 869767.761 0, 1501325.284 869738.246 0, 1501045.147 869708.747 0, 1500765.009 869679.265 0, 1500484.868 869649.799 0, 1500204.726 869620.35 0, 1499924.583 869590.917 0, 1499644.438 869561.501 0, 1499363.015 869531.967 0, 1498781.153 875078.031 0,
+ 1498199.272 880624.285 0, 1498480.039 880653.75 0, 1498759.532 880683.098 0, 1499039.023 880712.462 0, 1499318.512 880741.843 0, 1499597.999 880771.24 0, 1499877.485 880800.653 0, 1500156.968 880830.084 0, 1500436.45 880859.53 0, 1500715.931 880888.993 0,
+ 1500995.409 880918.472 0, 1501274.886 880947.968 0, 1501554.362 880977.48 0, 1501833.835 881007.009 0, 1502113.307 881036.554 0, 1502392.777 881066.116 0, 1502672.245 881095.694 0, 1502951.711 881125.288 0, 1503231.176 881154.899 0, 1503510.639 881184.527 0,
+ 1503790.1 881214.171 0, 1504069.56 881243.831 0, 1504349.018 881273.508 0, 1504628.474 881303.201 0, 1504906.656 881332.775 0, 1505187.38 881362.637 0, 1505466.831 881392.379 0, 1505746.28 881422.138 0, 1506025.727 881451.914 0, 1506305.173 881481.706 0,
+ 1506584.617 881511.514 0, 1506864.059 881541.339 0, 1507143.499 881571.18 0, 1507422.937 881601.038 0, 1507702.374 881630.912 0, 1507981.809 881660.802 0, 1508261.242 881690.709 0, 1508540.674 881720.633 0, 1508820.103 881750.573 0, 1509099.531 881780.529 0,
+ 1509378.957 881810.502 0, 1509658.382 881840.491 0, 1509937.804 881870.497 0, 1510217.225 881900.519 0, 1510496.644 881930.558 0, 1510776.062 881960.613 0, 1511055.477 881990.684 0, 1511334.891 882020.772 0, 1511613.033 882050.74 0, 1512210.581 876506.151 0,
+ 1512808.108 870961.753 0))
+
+POLYGON ((1525022.709 883515.084 0, 1524744.651 883484.331 0, 1524465.324 883453.454 0, 1524185.994 883422.593 0, 1523906.663 883391.749 0, 1523627.33 883360.921 0, 1523347.995 883330.109 0, 1523068.658 883299.314 0, 1522789.32 883268.536 0, 1522509.979 883237.774 0,
+ 1522230.637 883207.028 0, 1521951.293 883176.299 0, 1521671.947 883145.586 0, 1521392.6 883114.89 0, 1521113.25 883084.21 0, 1520833.899 883053.546 0, 1520554.546 883022.899 0, 1520275.191 882992.269 0, 1519995.835 882961.655 0, 1519716.476 882931.057 0,
+ 1519437.116 882900.476 0, 1519157.754 882869.911 0, 1518878.39 882839.362 0, 1518599.025 882808.83 0, 1518318.388 882778.176 0, 1518040.288 882747.816 0, 1517760.917 882717.333 0, 1517481.544 882686.867 0, 1517202.17 882656.417 0, 1516922.793 882625.984 0,
+ 1516643.415 882595.567 0, 1516364.035 882565.167 0, 1516084.653 882534.783 0, 1515805.27 882504.416 0, 1515525.885 882474.065 0, 1515246.497 882443.73 0, 1514967.109 882413.412 0, 1514687.718 882383.11 0, 1514408.325 882352.825 0, 1514128.931 882322.556 0,
+ 1513849.535 882292.304 0, 1513570.137 882262.068 0, 1513290.738 882231.848 0, 1513011.336 882201.645 0, 1512731.933 882171.458 0, 1512452.528 882141.288 0, 1512173.122 882111.135 0, 1511893.713 882080.997 0, 1511613.033 882050.74 0, 1511015.464 887595.515 0,
+ 1510417.876 893140.475 0, 1510697.901 893170.662 0, 1510976.657 893200.728 0, 1511255.411 893230.812 0, 1511534.163 893260.911 0, 1511812.914 893291.028 0, 1512091.662 893321.16 0, 1512370.409 893351.309 0, 1512649.154 893381.474 0, 1512927.898 893411.656 0,
+ 1513206.639 893441.854 0, 1513485.379 893472.069 0, 1513764.117 893502.3 0, 1514042.853 893532.547 0, 1514321.588 893562.811 0, 1514600.32 893593.091 0, 1514879.051 893623.387 0, 1515157.78 893653.7 0, 1515436.508 893684.03 0, 1515715.233 893714.375 0,
+ 1515993.957 893744.738 0, 1516272.679 893775.116 0, 1516551.399 893805.511 0, 1516830.117 893835.923 0, 1517107.568 893866.212 0, 1517387.549 893896.795 0, 1517666.262 893927.255 0, 1517944.973 893957.732 0, 1518223.682 893988.226 0, 1518502.39 894018.735 0,
+ 1518781.096 894049.262 0, 1519059.8 894079.804 0, 1519338.502 894110.363 0, 1519617.202 894140.939 0, 1519895.901 894171.531 0, 1520174.598 894202.139 0, 1520453.293 894232.763 0, 1520731.986 894263.404 0, 1521010.678 894294.062 0, 1521289.367 894324.736 0,
+ 1521568.055 894355.426 0, 1521846.741 894386.133 0, 1522125.425 894416.856 0, 1522404.108 894447.595 0, 1522682.788 894478.351 0, 1522961.467 894509.123 0, 1523240.144 894539.912 0, 1523518.819 894570.717 0, 1523796.227 894601.399 0, 1524409.479 889058.15 0,
+ 1525022.709 883515.084 0))
+
+POLYGON ((1014653.151 442654.629 0, 1014349.352 442653.78 0, 1014044.079 442652.944 0, 1013738.806 442652.126 0, 1013433.533 442651.327 0, 1013128.259 442650.545 0, 1012822.986 442649.781 0, 1012517.712 442649.036 0, 1012212.439 442648.308 0, 1011907.165 442647.598 0,
+ 1011601.892 442646.906 0, 1011296.618 442646.232 0, 1010991.345 442645.576 0, 1010686.071 442644.938 0, 1010380.797 442644.318 0, 1010075.524 442643.716 0, 1009770.25 442643.132 0, 1009464.976 442642.566 0, 1009159.702 442642.018 0, 1008854.428 442641.488 0,
+ 1008549.154 442640.976 0, 1008243.88 442640.482 0, 1007938.607 442640.006 0, 1007633.333 442639.547 0, 1007326.583 442639.105 0, 1007022.784 442638.685 0, 1006717.51 442638.28 0, 1006412.236 442637.894 0, 1006106.962 442637.525 0, 1005801.688 442637.175 0,
+ 1005496.414 442636.842 0, 1005191.14 442636.528 0, 1004885.866 442636.231 0, 1004580.591 442635.953 0, 1004275.317 442635.692 0, 1003970.043 442635.45 0, 1003664.769 442635.225 0, 1003359.494 442635.018 0, 1003054.22 442634.829 0, 1002748.946 442634.659 0,
+ 1002443.672 442634.506 0, 1002138.397 442634.371 0, 1001833.123 442634.254 0, 1001527.849 442634.155 0, 1001222.574 442634.074 0, 1000917.3 442634.011 0, 1000612.026 442633.966 0, 1000306.751 442633.939 0, 1000000 442633.93 0, 1000000 448187.496 0,
+ 1000000 453741.494 0, 1000306.094 453741.503 0, 1000610.715 453741.53 0, 1000915.336 453741.575 0, 1001219.956 453741.638 0, 1001524.577 453741.719 0, 1001829.197 453741.817 0, 1002133.818 453741.934 0, 1002438.438 453742.069 0, 1002743.059 453742.221 0,
+ 1003047.679 453742.391 0, 1003352.3 453742.58 0, 1003656.92 453742.786 0, 1003961.541 453743.01 0, 1004266.161 453743.252 0, 1004570.782 453743.512 0, 1004875.402 453743.79 0, 1005180.023 453744.086 0, 1005484.643 453744.4 0, 1005789.263 453744.732 0,
+ 1006093.884 453745.082 0, 1006398.504 453745.449 0, 1006703.124 453745.835 0, 1007007.745 453746.238 0, 1007310.892 453746.658 0, 1007616.985 453747.099 0, 1007921.605 453747.557 0, 1008226.226 453748.032 0, 1008530.846 453748.525 0, 1008835.466 453749.036 0,
+ 1009140.086 453749.565 0, 1009444.706 453750.112 0, 1009749.326 453750.677 0, 1010053.946 453751.26 0, 1010358.566 453751.86 0, 1010663.186 453752.479 0, 1010967.806 453753.115 0, 1011272.426 453753.77 0, 1011577.046 453754.442 0, 1011881.665 453755.133 0,
+ 1012186.285 453755.841 0, 1012490.905 453756.567 0, 1012795.524 453757.311 0, 1013100.144 453758.074 0, 1013404.764 453758.854 0, 1013709.383 453759.652 0, 1014014.003 453760.467 0, 1014318.622 453761.301 0, 1014621.77 453762.149 0, 1014637.461 448208.173 0,
+ 1014653.151 442654.629 0))
+
+POLYGON ((1029243.423 453824.112 0, 1028940.276 453822.408 0, 1028635.661 453820.714 0, 1028331.045 453819.038 0, 1028026.429 453817.379 0, 1027721.812 453815.738 0, 1027417.196 453814.116 0, 1027112.58 453812.511 0, 1026807.963 453810.924 0, 1026503.347 453809.355 0,
+ 1026198.73 453807.804 0, 1025894.114 453806.271 0, 1025589.497 453804.756 0, 1025284.88 453803.259 0, 1024980.263 453801.78 0, 1024675.646 453800.318 0, 1024371.029 453798.875 0, 1024066.411 453797.449 0, 1023761.794 453796.042 0, 1023457.177 453794.652 0,
+ 1023152.559 453793.281 0, 1022847.942 453791.927 0, 1022543.324 453790.591 0, 1022238.706 453789.273 0, 1021932.618 453787.967 0, 1021629.471 453786.691 0, 1021324.853 453785.427 0, 1021020.235 453784.181 0, 1020715.617 453782.953 0, 1020410.999 453781.742 0,
+ 1020106.38 453780.55 0, 1019801.762 453779.376 0, 1019497.144 453778.219 0, 1019192.525 453777.08 0, 1018887.907 453775.96 0, 1018583.288 453774.857 0, 1018278.67 453773.772 0, 1017974.051 453772.705 0, 1017669.432 453771.656 0, 1017364.813 453770.625 0,
+ 1017060.194 453769.612 0, 1016755.575 453768.617 0, 1016450.956 453767.64 0, 1016146.337 453766.681 0, 1015841.718 453765.739 0, 1015537.099 453764.816 0, 1015232.48 453763.91 0, 1014927.861 453763.023 0, 1014621.77 453762.149 0, 1014606.078 459316.555 0,
+ 1014590.384 464871.387 0, 1014895.818 464872.259 0, 1015199.783 464873.144 0, 1015503.749 464874.048 0, 1015807.714 464874.97 0, 1016111.679 464875.909 0, 1016415.644 464876.866 0, 1016719.61 464877.841 0, 1017023.575 464878.834 0, 1017327.54 464879.845 0,
+ 1017631.505 464880.874 0, 1017935.469 464881.921 0, 1018239.434 464882.985 0, 1018543.399 464884.068 0, 1018847.364 464885.168 0, 1019151.328 464886.286 0, 1019455.293 464887.423 0, 1019759.257 464888.577 0, 1020063.222 464889.749 0, 1020367.186 464890.938 0,
+ 1020671.151 464892.146 0, 1020975.115 464893.372 0, 1021279.079 464894.615 0, 1021583.043 464895.877 0, 1021885.54 464897.15 0, 1022190.971 464898.453 0, 1022494.935 464899.768 0, 1022798.898 464901.101 0, 1023102.862 464902.452 0, 1023406.826 464903.821 0,
+ 1023710.789 464905.207 0, 1024014.753 464906.612 0, 1024318.716 464908.034 0, 1024622.679 464909.475 0, 1024926.643 464910.933 0, 1025230.606 464912.409 0, 1025534.569 464913.903 0, 1025838.532 464915.415 0, 1026142.494 464916.944 0, 1026446.457 464918.492 0,
+ 1026750.42 464920.058 0, 1027054.382 464921.641 0, 1027358.345 464923.242 0, 1027662.307 464924.861 0, 1027966.27 464926.499 0, 1028270.232 464928.154 0, 1028574.194 464929.826 0, 1028878.156 464931.517 0, 1029180.652 464933.218 0, 1029212.039 459378.452 0,
+ 1029243.423 453824.112 0))
+
+POLYGON ((1043770.686 465036.268 0, 1043468.194 465033.713 0, 1043164.238 465031.164 0, 1042860.282 465028.632 0, 1042556.326 465026.118 0, 1042252.369 465023.622 0, 1041948.413 465021.145 0, 1041644.456 465018.684 0, 1041340.499 465016.242 0, 1041036.542 465013.818 0,
+ 1040732.585 465011.412 0, 1040428.628 465009.023 0, 1040124.67 465006.653 0, 1039820.713 465004.3 0, 1039516.755 465001.965 0, 1039212.797 464999.648 0, 1038908.839 464997.349 0, 1038604.881 464995.068 0, 1038300.923 464992.805 0, 1037996.964 464990.559 0,
+ 1037693.006 464988.332 0, 1037389.047 464986.122 0, 1037085.088 464983.93 0, 1036781.129 464981.757 0, 1036475.705 464979.59 0, 1036173.211 464977.463 0, 1035869.252 464975.343 0, 1035565.292 464973.24 0, 1035261.333 464971.156 0, 1034957.373 464969.09 0,
+ 1034653.413 464967.041 0, 1034349.454 464965.01 0, 1034045.494 464962.997 0, 1033741.533 464961.003 0, 1033437.573 464959.026 0, 1033133.613 464957.066 0, 1032829.652 464955.125 0, 1032525.692 464953.202 0, 1032221.731 464951.296 0, 1031917.77 464949.409 0,
+ 1031613.809 464947.539 0, 1031309.848 464945.687 0, 1031005.887 464943.853 0, 1030701.926 464942.037 0, 1030397.964 464940.239 0, 1030094.003 464938.459 0, 1029790.041 464936.697 0, 1029486.08 464934.952 0, 1029180.652 464933.218 0, 1029149.263 470488.407 0,
+ 1029117.871 476044.017 0, 1029422.642 476045.748 0, 1029725.949 476047.489 0, 1030029.257 476049.247 0, 1030332.565 476051.024 0, 1030635.872 476052.818 0, 1030939.179 476054.63 0, 1031242.486 476056.46 0, 1031545.794 476058.308 0, 1031849.101 476060.173 0,
+ 1032152.407 476062.057 0, 1032455.714 476063.958 0, 1032759.021 476065.878 0, 1033062.327 476067.815 0, 1033365.634 476069.77 0, 1033668.94 476071.742 0, 1033972.246 476073.733 0, 1034275.552 476075.741 0, 1034578.858 476077.768 0, 1034882.164 476079.812 0,
+ 1035185.47 476081.874 0, 1035488.775 476083.954 0, 1035792.081 476086.051 0, 1036095.386 476088.167 0, 1036397.23 476090.29 0, 1036701.997 476092.452 0, 1037005.301 476094.621 0, 1037308.606 476096.808 0, 1037611.911 476099.013 0, 1037915.216 476101.235 0,
+ 1038218.52 476103.476 0, 1038521.824 476105.734 0, 1038825.129 476108.011 0, 1039128.433 476110.305 0, 1039431.736 476112.617 0, 1039735.04 476114.946 0, 1040038.344 476117.294 0, 1040341.647 476119.66 0, 1040644.951 476122.043 0, 1040948.254 476124.444 0,
+ 1041251.557 476126.863 0, 1041554.86 476129.3 0, 1041858.163 476131.755 0, 1042161.465 476134.227 0, 1042464.768 476136.718 0, 1042768.07 476139.226 0, 1043071.372 476141.752 0, 1043374.675 476144.296 0, 1043676.516 476146.846 0, 1043723.603 470591.347 0,
+ 1043770.686 465036.268 0))
+
+POLYGON ((1058234.812 476290.805 0, 1057932.977 476287.403 0, 1057629.683 476284.002 0, 1057326.389 476280.619 0, 1057023.095 476277.254 0, 1056719.801 476273.906 0, 1056416.507 476270.577 0, 1056113.212 476267.265 0, 1055809.917 476263.972 0, 1055506.622 476260.696 0,
+ 1055203.327 476257.438 0, 1054900.032 476254.197 0, 1054596.736 476250.975 0, 1054293.44 476247.77 0, 1053990.144 476244.584 0, 1053686.848 476241.415 0, 1053383.552 476238.264 0, 1053080.255 476235.131 0, 1052776.958 476232.016 0, 1052473.661 476228.918 0,
+ 1052170.364 476225.839 0, 1051867.067 476222.777 0, 1051563.77 476219.733 0, 1051260.472 476216.707 0, 1050955.715 476213.684 0, 1050653.876 476210.708 0, 1050350.578 476207.736 0, 1050047.28 476204.781 0, 1049743.981 476201.845 0, 1049440.683 476198.926 0,
+ 1049137.384 476196.025 0, 1048834.085 476193.141 0, 1048530.786 476190.276 0, 1048227.486 476187.429 0, 1047924.187 476184.599 0, 1047620.887 476181.787 0, 1047317.587 476178.993 0, 1047014.287 476176.217 0, 1046710.987 476173.459 0, 1046407.687 476170.718 0,
+ 1046104.386 476167.996 0, 1045801.085 476165.291 0, 1045497.785 476162.604 0, 1045194.484 476159.935 0, 1044891.182 476157.284 0, 1044587.881 476154.651 0, 1044284.58 476152.036 0, 1043981.278 476149.438 0, 1043676.516 476146.846 0, 1043629.425 481702.763 0,
+ 1043582.331 487259.094 0, 1043886.436 487261.68 0, 1044189.084 487264.272 0, 1044491.731 487266.882 0, 1044794.378 487269.51 0, 1045097.026 487272.155 0, 1045399.672 487274.818 0, 1045702.319 487277.499 0, 1046004.966 487280.198 0, 1046307.612 487282.915 0,
+ 1046610.259 487285.649 0, 1046912.905 487288.402 0, 1047215.551 487291.172 0, 1047518.197 487293.96 0, 1047820.842 487296.766 0, 1048123.488 487299.589 0, 1048426.133 487302.43 0, 1048728.778 487305.29 0, 1049031.423 487308.167 0, 1049334.068 487311.061 0,
+ 1049636.713 487313.974 0, 1049939.357 487316.904 0, 1050242.001 487319.853 0, 1050544.645 487322.819 0, 1050845.833 487325.788 0, 1051149.933 487328.804 0, 1051452.577 487331.824 0, 1051755.22 487334.861 0, 1052057.863 487337.916 0, 1052360.506 487340.989 0,
+ 1052663.149 487344.08 0, 1052965.792 487347.188 0, 1053268.435 487350.315 0, 1053571.077 487353.459 0, 1053873.719 487356.621 0, 1054176.361 487359.801 0, 1054479.003 487362.998 0, 1054781.644 487366.214 0, 1055084.286 487369.447 0, 1055386.927 487372.698 0,
+ 1055689.568 487375.967 0, 1055992.209 487379.254 0, 1056294.849 487382.558 0, 1056597.49 487385.88 0, 1056900.13 487389.221 0, 1057202.77 487392.579 0, 1057505.41 487395.954 0, 1057808.049 487399.348 0, 1058109.234 487402.743 0, 1058172.025 481846.567 0,
+ 1058234.812 476290.805 0))
+
+POLYGON ((1072635.673 487587.432 0, 1072334.497 487583.186 0, 1072031.868 487578.938 0, 1071729.239 487574.707 0, 1071426.609 487570.494 0, 1071123.98 487566.299 0, 1070821.35 487562.122 0, 1070518.72 487557.962 0, 1070216.09 487553.82 0, 1069913.459 487549.697 0,
+ 1069610.828 487545.591 0, 1069308.197 487541.502 0, 1069005.566 487537.432 0, 1068702.934 487533.379 0, 1068400.303 487529.344 0, 1068097.671 487525.327 0, 1067795.038 487521.328 0, 1067492.406 487517.347 0, 1067189.773 487513.383 0, 1066887.14 487509.438 0,
+ 1066584.507 487505.51 0, 1066281.874 487501.599 0, 1065979.24 487497.707 0, 1065676.606 487493.833 0, 1065372.518 487489.957 0, 1065071.338 487486.137 0, 1064768.703 487482.316 0, 1064466.069 487478.513 0, 1064163.434 487474.727 0, 1063860.798 487470.96 0,
+ 1063558.163 487467.21 0, 1063255.527 487463.478 0, 1062952.892 487459.764 0, 1062650.255 487456.067 0, 1062347.619 487452.389 0, 1062044.983 487448.728 0, 1061742.346 487445.085 0, 1061439.709 487441.46 0, 1061137.072 487437.853 0, 1060834.434 487434.263 0,
+ 1060531.797 487430.691 0, 1060229.159 487427.138 0, 1059926.521 487423.602 0, 1059623.883 487420.083 0, 1059321.244 487416.583 0, 1059018.606 487413.1 0, 1058715.967 487409.635 0, 1058413.328 487406.188 0, 1058109.234 487402.743 0, 1058046.438 492959.33 0,
+ 1057983.637 498516.326 0, 1058287.074 498519.764 0, 1058589.059 498523.204 0, 1058891.043 498526.661 0, 1059193.028 498530.136 0, 1059495.012 498533.629 0, 1059796.996 498537.14 0, 1060098.98 498540.668 0, 1060400.964 498544.215 0, 1060702.947 498547.778 0,
+ 1061004.93 498551.36 0, 1061306.913 498554.96 0, 1061608.896 498558.577 0, 1061910.879 498562.212 0, 1062212.861 498565.865 0, 1062514.843 498569.536 0, 1062816.825 498573.224 0, 1063118.807 498576.93 0, 1063420.789 498580.654 0, 1063722.77 498584.396 0,
+ 1064024.751 498588.155 0, 1064326.732 498591.932 0, 1064628.713 498595.727 0, 1064930.693 498599.54 0, 1065231.223 498603.352 0, 1065534.653 498607.219 0, 1065836.633 498611.085 0, 1066138.612 498614.969 0, 1066440.592 498618.871 0, 1066742.571 498622.79 0,
+ 1067044.55 498626.728 0, 1067346.528 498630.683 0, 1067648.506 498634.655 0, 1067950.485 498638.646 0, 1068252.463 498642.654 0, 1068554.44 498646.68 0, 1068856.418 498650.724 0, 1069158.395 498654.786 0, 1069460.372 498658.865 0, 1069762.348 498662.962 0,
+ 1070064.325 498667.077 0, 1070366.301 498671.21 0, 1070668.277 498675.361 0, 1070970.253 498679.529 0, 1071272.228 498683.715 0, 1071574.203 498687.919 0, 1071876.178 498692.14 0, 1072178.153 498696.38 0, 1072478.678 498700.616 0, 1072557.178 493143.82 0,
+ 1072635.673 487587.432 0))
+
+POLYGON ((1086973.141 498925.857 0, 1086672.627 498920.771 0, 1086370.665 498915.679 0, 1086068.703 498910.604 0, 1085766.741 498905.547 0, 1085464.779 498900.508 0, 1085162.816 498895.487 0, 1084860.853 498890.483 0, 1084558.89 498885.497 0, 1084256.926 498880.529 0,
+ 1083954.962 498875.579 0, 1083652.998 498870.646 0, 1083351.034 498865.731 0, 1083049.069 498860.834 0, 1082747.104 498855.955 0, 1082445.138 498851.094 0, 1082143.173 498846.25 0, 1081841.207 498841.424 0, 1081539.241 498836.616 0, 1081237.274 498831.826 0,
+ 1080935.307 498827.053 0, 1080633.34 498822.298 0, 1080331.373 498817.561 0, 1080029.405 498812.842 0, 1079725.989 498808.118 0, 1079425.469 498803.457 0, 1079123.501 498798.791 0, 1078821.532 498794.143 0, 1078519.563 498789.512 0, 1078217.594 498784.9 0,
+ 1077915.624 498780.305 0, 1077613.655 498775.728 0, 1077311.684 498771.169 0, 1077009.714 498766.627 0, 1076707.744 498762.103 0, 1076405.773 498757.597 0, 1076103.801 498753.109 0, 1075801.83 498748.639 0, 1075499.858 498744.186 0, 1075197.887 498739.751 0,
+ 1074895.914 498735.334 0, 1074593.942 498730.935 0, 1074291.969 498726.553 0, 1073989.996 498722.189 0, 1073688.023 498717.843 0, 1073386.05 498713.515 0, 1073084.076 498709.205 0, 1072782.102 498704.912 0, 1072478.678 498700.616 0, 1072400.172 504257.818 0,
+ 1072321.661 509815.422 0, 1072624.427 509819.708 0, 1072925.747 509823.992 0, 1073227.066 509828.293 0, 1073528.386 509832.612 0, 1073829.705 509836.948 0, 1074131.024 509841.303 0, 1074432.342 509845.675 0, 1074733.66 509850.064 0, 1075034.978 509854.472 0,
+ 1075336.296 509858.897 0, 1075637.613 509863.34 0, 1075938.931 509867.801 0, 1076240.248 509872.279 0, 1076541.564 509876.776 0, 1076842.881 509881.29 0, 1077144.197 509885.821 0, 1077445.513 509890.371 0, 1077746.828 509894.938 0, 1078048.144 509899.523 0,
+ 1078349.459 509904.125 0, 1078650.774 509908.746 0, 1078952.088 509913.384 0, 1079253.402 509918.04 0, 1079553.271 509922.691 0, 1079856.03 509927.405 0, 1080157.344 509932.114 0, 1080458.657 509936.84 0, 1080759.97 509941.585 0, 1081061.282 509946.347 0,
+ 1081362.594 509951.127 0, 1081663.907 509955.925 0, 1081965.218 509960.74 0, 1082266.53 509965.573 0, 1082567.841 509970.424 0, 1082869.152 509975.293 0, 1083170.462 509980.179 0, 1083471.773 509985.083 0, 1083773.083 509990.005 0, 1084074.392 509994.945 0,
+ 1084375.702 509999.902 0, 1084677.011 510004.877 0, 1084978.32 510009.87 0, 1085279.629 510014.881 0, 1085580.937 510019.909 0, 1085882.245 510024.955 0, 1086183.552 510030.019 0, 1086484.86 510035.1 0, 1086784.723 510040.175 0, 1086878.935 504482.815 0,
+ 1086973.141 498925.857 0))
+
+POLYGON ((1101247.092 510305.787 0, 1100947.243 510299.865 0, 1100645.951 510293.933 0, 1100344.659 510288.018 0, 1100043.366 510282.12 0, 1099742.073 510276.241 0, 1099440.78 510270.379 0, 1099139.486 510264.535 0, 1098838.193 510258.709 0, 1098536.898 510252.9 0,
+ 1098235.604 510247.11 0, 1097934.309 510241.336 0, 1097633.014 510235.581 0, 1097331.718 510229.844 0, 1097030.422 510224.124 0, 1096729.126 510218.421 0, 1096427.829 510212.737 0, 1096126.532 510207.07 0, 1095825.235 510201.421 0, 1095523.937 510195.79 0,
+ 1095222.639 510190.177 0, 1094921.341 510184.581 0, 1094620.042 510179.003 0, 1094318.744 510173.443 0, 1094016.002 510167.874 0, 1093716.145 510162.375 0, 1093414.845 510156.868 0, 1093113.545 510151.379 0, 1092812.244 510145.907 0, 1092510.943 510140.453 0,
+ 1092209.642 510135.017 0, 1091908.34 510129.599 0, 1091607.039 510124.198 0, 1091305.736 510118.815 0, 1091004.434 510113.45 0, 1090703.131 510108.103 0, 1090401.828 510102.773 0, 1090100.525 510097.461 0, 1089799.221 510092.167 0, 1089497.917 510086.89 0,
+ 1089196.613 510081.631 0, 1088895.308 510076.39 0, 1088594.003 510071.167 0, 1088292.698 510065.961 0, 1087991.392 510060.773 0, 1087690.086 510055.603 0, 1087388.78 510050.451 0, 1087087.474 510045.316 0, 1086784.723 510040.175 0, 1086690.504 515597.934 0,
+ 1086596.278 521156.089 0, 1086898.371 521161.219 0, 1087199.023 521166.343 0, 1087499.675 521171.484 0, 1087800.327 521176.643 0, 1088100.978 521181.82 0, 1088401.629 521187.014 0, 1088702.28 521192.226 0, 1089002.93 521197.456 0, 1089303.58 521202.703 0,
+ 1089604.23 521207.968 0, 1089904.88 521213.251 0, 1090205.529 521218.551 0, 1090506.178 521223.87 0, 1090806.826 521229.205 0, 1091107.474 521234.559 0, 1091408.122 521239.93 0, 1091708.77 521245.319 0, 1092009.417 521250.726 0, 1092310.064 521256.15 0,
+ 1092610.711 521261.592 0, 1092911.357 521267.052 0, 1093212.003 521272.529 0, 1093512.649 521278.024 0, 1093811.854 521283.511 0, 1094113.939 521289.068 0, 1094414.584 521294.616 0, 1094715.228 521300.182 0, 1095015.872 521305.765 0, 1095316.516 521311.367 0,
+ 1095617.159 521316.986 0, 1095917.802 521322.622 0, 1096218.445 521328.277 0, 1096519.087 521333.949 0, 1096819.729 521339.639 0, 1097120.371 521345.346 0, 1097421.012 521351.071 0, 1097721.653 521356.814 0, 1098022.294 521362.575 0, 1098322.934 521368.353 0,
+ 1098623.574 521374.149 0, 1098924.214 521379.962 0, 1099224.853 521385.794 0, 1099525.492 521391.643 0, 1099826.131 521397.51 0, 1100126.769 521403.394 0, 1100427.407 521409.296 0, 1100728.045 521415.216 0, 1101027.244 521421.125 0, 1101137.172 515863.258 0,
+ 1101247.092 510305.787 0))
+
+POLYGON ((1115457.403 521726.93 0, 1115158.22 521720.175 0, 1114857.6 521713.406 0, 1114556.98 521706.655 0, 1114256.36 521699.921 0, 1113955.739 521693.205 0, 1113655.117 521686.507 0, 1113354.496 521679.826 0, 1113053.874 521673.163 0, 1112753.251 521666.518 0,
+ 1112452.629 521659.89 0, 1112152.005 521653.28 0, 1111851.382 521646.688 0, 1111550.758 521640.114 0, 1111250.133 521633.557 0, 1110949.509 521627.018 0, 1110648.883 521620.496 0, 1110348.258 521613.992 0, 1110047.632 521607.506 0, 1109747.006 521601.038 0,
+ 1109446.379 521594.587 0, 1109145.752 521588.155 0, 1108845.125 521581.739 0, 1108544.497 521575.342 0, 1108242.431 521568.931 0, 1107943.24 521562.6 0, 1107642.611 521556.255 0, 1107341.982 521549.928 0, 1107041.352 521543.619 0, 1106740.722 521537.328 0,
+ 1106440.092 521531.054 0, 1106139.461 521524.798 0, 1105838.83 521518.56 0, 1105538.198 521512.339 0, 1105237.566 521506.136 0, 1104936.934 521499.951 0, 1104636.301 521493.784 0, 1104335.668 521487.634 0, 1104035.035 521481.502 0, 1103734.401 521475.387 0,
+ 1103433.767 521469.29 0, 1103133.133 521463.211 0, 1102832.498 521457.15 0, 1102531.863 521451.106 0, 1102231.228 521445.08 0, 1101930.592 521439.072 0, 1101629.955 521433.081 0, 1101329.319 521427.109 0, 1101027.244 521421.125 0, 1100917.307 526979.385 0,
+ 1100807.364 532538.035 0, 1101108.782 532544.005 0, 1101408.764 532549.965 0, 1101708.746 532555.943 0, 1102008.727 532561.938 0, 1102308.708 532567.951 0, 1102608.689 532573.981 0, 1102908.67 532580.029 0, 1103208.65 532586.095 0, 1103508.629 532592.179 0,
+ 1103808.609 532598.28 0, 1104108.588 532604.399 0, 1104408.567 532610.535 0, 1104708.545 532616.689 0, 1105008.523 532622.861 0, 1105308.5 532629.05 0, 1105608.478 532635.257 0, 1105908.454 532641.482 0, 1106208.431 532647.725 0, 1106508.407 532653.985 0,
+ 1106808.383 532660.262 0, 1107108.358 532666.558 0, 1107408.333 532672.871 0, 1107708.308 532679.201 0, 1108006.848 532685.519 0, 1108308.256 532691.916 0, 1108608.229 532698.299 0, 1108908.203 532704.701 0, 1109208.175 532711.12 0, 1109508.148 532717.556 0,
+ 1109808.12 532724.01 0, 1110108.091 532730.482 0, 1110408.063 532736.972 0, 1110708.033 532743.479 0, 1111008.004 532750.004 0, 1111307.974 532756.547 0, 1111607.944 532763.107 0, 1111907.913 532769.685 0, 1112207.882 532776.28 0, 1112507.85 532782.893 0,
+ 1112807.819 532789.524 0, 1113107.786 532796.173 0, 1113407.754 532802.839 0, 1113707.721 532809.522 0, 1114007.687 532816.224 0, 1114307.653 532822.943 0, 1114607.619 532829.68 0, 1114907.585 532836.434 0, 1115206.117 532843.174 0, 1115331.764 527284.857 0,
+ 1115457.403 521726.93 0))
+
+POLYGON ((1129603.95 533188.991 0, 1129305.436 533181.408 0, 1129005.491 533173.806 0, 1128705.545 533166.222 0, 1128405.599 533158.655 0, 1128105.653 533151.106 0, 1127805.706 533143.575 0, 1127505.759 533136.062 0, 1127205.811 533128.566 0, 1126905.863 533121.087 0,
+ 1126605.914 533113.627 0, 1126305.965 533106.184 0, 1126006.015 533098.759 0, 1125706.065 533091.351 0, 1125406.115 533083.961 0, 1125106.164 533076.589 0, 1124806.213 533069.234 0, 1124506.261 533061.897 0, 1124206.309 533054.578 0, 1123906.357 533047.276 0,
+ 1123606.404 533039.992 0, 1123306.45 533032.725 0, 1123006.496 533025.477 0, 1122706.542 533018.246 0, 1122405.156 533010.998 0, 1122106.632 533003.836 0, 1121806.677 532996.658 0, 1121506.721 532989.498 0, 1121206.764 532982.355 0, 1120906.807 532975.23 0,
+ 1120606.85 532968.122 0, 1120306.893 532961.032 0, 1120006.934 532953.96 0, 1119706.976 532946.906 0, 1119407.017 532939.869 0, 1119107.058 532932.85 0, 1118807.098 532925.848 0, 1118507.138 532918.864 0, 1118207.177 532911.898 0, 1117907.216 532904.949 0,
+ 1117607.255 532898.018 0, 1117307.293 532891.105 0, 1117007.331 532884.209 0, 1116707.369 532877.331 0, 1116407.406 532870.471 0, 1116107.442 532863.628 0, 1115807.478 532856.803 0, 1115507.514 532849.996 0, 1115206.117 532843.174 0, 1115080.46 538401.878 0,
+ 1114954.795 543960.965 0, 1115255.535 543967.772 0, 1115554.845 543974.565 0, 1115854.155 543981.375 0, 1116153.464 543988.202 0, 1116452.772 543995.048 0, 1116752.08 544001.911 0, 1117051.388 544008.791 0, 1117350.696 544015.69 0, 1117650.003 544022.605 0,
+ 1117949.309 544029.539 0, 1118248.615 544036.49 0, 1118547.921 544043.459 0, 1118847.227 544050.445 0, 1119146.532 544057.449 0, 1119445.836 544064.47 0, 1119745.14 544071.51 0, 1120044.444 544078.566 0, 1120343.747 544085.641 0, 1120643.05 544092.733 0,
+ 1120942.353 544099.842 0, 1121241.655 544106.97 0, 1121540.956 544114.114 0, 1121840.257 544121.277 0, 1122138.13 544128.423 0, 1122438.859 544135.655 0, 1122738.158 544142.87 0, 1123037.458 544150.103 0, 1123336.757 544157.354 0, 1123636.056 544164.622 0,
+ 1123935.354 544171.907 0, 1124234.652 544179.211 0, 1124533.949 544186.532 0, 1124833.246 544193.871 0, 1125132.542 544201.227 0, 1125431.839 544208.601 0, 1125731.134 544215.992 0, 1126030.429 544223.401 0, 1126329.724 544230.828 0, 1126629.018 544238.272 0,
+ 1126928.312 544245.734 0, 1127227.606 544253.214 0, 1127526.899 544260.711 0, 1127826.191 544268.226 0, 1128125.483 544275.758 0, 1128424.775 544283.308 0, 1128724.066 544290.876 0, 1129023.357 544298.461 0, 1129321.22 544306.028 0, 1129462.59 538747.317 0,
+ 1129603.95 533188.991 0))
+
+POLYGON ((1143686.613 544691.677 0, 1143388.77 544683.269 0, 1143089.502 544674.838 0, 1142790.233 544666.425 0, 1142490.964 544658.029 0, 1142191.694 544649.651 0, 1141892.424 544641.291 0, 1141593.154 544632.948 0, 1141293.882 544624.623 0, 1140994.611 544616.316 0,
+ 1140695.339 544608.026 0, 1140396.066 544599.753 0, 1140096.793 544591.499 0, 1139797.52 544583.262 0, 1139498.245 544575.042 0, 1139198.971 544566.841 0, 1138899.696 544558.656 0, 1138600.42 544550.49 0, 1138301.145 544542.341 0, 1138001.868 544534.21 0,
+ 1137702.591 544526.096 0, 1137403.314 544518 0, 1137104.036 544509.921 0, 1136804.758 544501.861 0, 1136504.052 544493.779 0, 1136206.199 544485.792 0, 1135906.92 544477.784 0, 1135607.639 544469.793 0, 1135308.359 544461.82 0, 1135009.078 544453.865 0,
+ 1134709.796 544445.928 0, 1134410.514 544438.008 0, 1134111.231 544430.105 0, 1133811.948 544422.221 0, 1133512.665 544414.354 0, 1133213.381 544406.504 0, 1132914.096 544398.672 0, 1132614.811 544390.858 0, 1132315.526 544383.061 0, 1132016.24 544375.282 0,
+ 1131716.954 544367.521 0, 1131417.667 544359.777 0, 1131118.38 544352.051 0, 1130819.092 544344.342 0, 1130519.804 544336.651 0, 1130220.516 544328.978 0, 1129921.227 544321.322 0, 1129621.937 544313.684 0, 1129321.22 544306.028 0, 1129179.84 549865.118 0,
+ 1129038.451 555424.586 0, 1129338.511 555432.226 0, 1129637.146 555439.847 0, 1129935.781 555447.486 0, 1130234.415 555455.143 0, 1130533.048 555462.817 0, 1130831.682 555470.509 0, 1131130.314 555478.218 0, 1131428.947 555485.945 0, 1131727.579 555493.689 0,
+ 1132026.21 555501.451 0, 1132324.841 555509.231 0, 1132623.471 555517.028 0, 1132922.101 555524.843 0, 1133220.731 555532.675 0, 1133519.36 555540.525 0, 1133817.989 555548.393 0, 1134116.617 555556.278 0, 1134415.245 555564.18 0, 1134713.872 555572.1 0,
+ 1135012.499 555580.038 0, 1135311.125 555587.994 0, 1135609.751 555595.967 0, 1135908.376 555603.957 0, 1136205.578 555611.927 0, 1136505.625 555619.991 0, 1136804.249 555628.034 0, 1137102.873 555636.095 0, 1137401.496 555644.173 0, 1137700.118 555652.269 0,
+ 1137998.741 555660.383 0, 1138297.362 555668.514 0, 1138595.983 555676.663 0, 1138894.604 555684.829 0, 1139193.224 555693.013 0, 1139491.844 555701.214 0, 1139790.463 555709.433 0, 1140089.081 555717.67 0, 1140387.7 555725.924 0, 1140686.317 555734.196 0,
+ 1140984.935 555742.485 0, 1141283.551 555750.792 0, 1141582.168 555759.116 0, 1141880.783 555767.458 0, 1142179.399 555775.818 0, 1142478.013 555784.195 0, 1142776.628 555792.59 0, 1143075.242 555801.002 0, 1143372.433 555809.392 0, 1143529.528 550250.346 0,
+ 1143686.613 544691.677 0))
+
+POLYGON ((1157705.27 556234.692 0, 1157408.101 556225.463 0, 1157109.513 556216.207 0, 1156810.923 556206.969 0, 1156512.333 556197.748 0, 1156213.743 556188.545 0, 1155915.152 556179.359 0, 1155616.56 556170.191 0, 1155317.968 556161.04 0, 1155019.376 556151.907 0,
+ 1154720.782 556142.792 0, 1154422.189 556133.694 0, 1154123.595 556124.614 0, 1153825 556115.552 0, 1153526.404 556106.506 0, 1153227.809 556097.479 0, 1152929.212 556088.469 0, 1152630.615 556079.477 0, 1152332.018 556070.502 0, 1152033.42 556061.545 0,
+ 1151734.822 556052.605 0, 1151436.223 556043.683 0, 1151137.623 556034.779 0, 1150839.023 556025.892 0, 1150539.002 556016.98 0, 1150241.821 556008.171 0, 1149943.22 555999.337 0, 1149644.618 555990.52 0, 1149346.015 555981.721 0, 1149047.412 555972.94 0,
+ 1148748.808 555964.176 0, 1148450.204 555955.43 0, 1148151.599 555946.701 0, 1147852.994 555937.99 0, 1147554.388 555929.296 0, 1147255.782 555920.62 0, 1146957.175 555911.962 0, 1146658.568 555903.321 0, 1146359.96 555894.698 0, 1146061.352 555886.092 0,
+ 1145762.743 555877.504 0, 1145464.134 555868.934 0, 1145165.524 555860.381 0, 1144866.914 555851.845 0, 1144568.303 555843.327 0, 1144269.692 555834.827 0, 1143971.08 555826.345 0, 1143672.468 555817.88 0, 1143372.433 555809.392 0, 1143215.327 561368.812 0,
+ 1143058.211 566928.604 0, 1143357.588 566937.073 0, 1143655.546 566945.519 0, 1143953.503 566953.983 0, 1144251.46 566962.465 0, 1144549.417 566970.964 0, 1144847.372 566979.481 0, 1145145.328 566988.015 0, 1145443.283 566996.567 0, 1145741.237 567005.136 0,
+ 1146039.191 567013.723 0, 1146337.144 567022.327 0, 1146635.097 567030.949 0, 1146933.049 567039.588 0, 1147231.001 567048.245 0, 1147528.952 567056.92 0, 1147826.903 567065.612 0, 1148124.853 567074.321 0, 1148422.803 567083.048 0, 1148720.752 567091.793 0,
+ 1149018.701 567100.555 0, 1149316.649 567109.335 0, 1149614.597 567118.132 0, 1149912.544 567126.947 0, 1150209.073 567135.737 0, 1150508.437 567144.629 0, 1150806.383 567153.497 0, 1151104.328 567162.382 0, 1151402.272 567171.284 0, 1151700.216 567180.204 0,
+ 1151998.16 567189.142 0, 1152296.103 567198.097 0, 1152594.045 567207.069 0, 1152891.987 567216.059 0, 1153189.929 567225.067 0, 1153487.87 567234.092 0, 1153785.81 567243.135 0, 1154083.75 567252.195 0, 1154381.689 567261.273 0, 1154679.628 567270.369 0,
+ 1154977.566 567279.481 0, 1155275.504 567288.612 0, 1155573.441 567297.76 0, 1155871.377 567306.925 0, 1156169.313 567316.108 0, 1156467.249 567325.309 0, 1156765.184 567334.527 0, 1157063.118 567343.763 0, 1157359.636 567352.972 0, 1157532.459 561793.647 0,
+ 1157705.27 556234.692 0))
+
+POLYGON ((1171659.805 567817.743 0, 1171363.312 567807.696 0, 1171065.405 567797.618 0, 1170767.497 567787.559 0, 1170469.589 567777.516 0, 1170171.68 567767.492 0, 1169873.77 567757.484 0, 1169575.86 567747.495 0, 1169277.95 567737.523 0, 1168980.038 567727.568 0,
+ 1168682.126 567717.631 0, 1168384.214 567707.711 0, 1168086.301 567697.809 0, 1167788.387 567687.925 0, 1167490.473 567678.058 0, 1167192.558 567668.209 0, 1166894.643 567658.377 0, 1166596.727 567648.562 0, 1166298.811 567638.766 0, 1166000.894 567628.986 0,
+ 1165702.976 567619.225 0, 1165405.058 567609.481 0, 1165107.139 567599.754 0, 1164809.219 567590.045 0, 1164509.884 567580.307 0, 1164213.379 567570.679 0, 1163915.458 567561.023 0, 1163617.536 567551.384 0, 1163319.614 567541.762 0, 1163021.691 567532.158 0,
+ 1162723.768 567522.572 0, 1162425.844 567513.003 0, 1162127.919 567503.452 0, 1161829.994 567493.918 0, 1161532.069 567484.402 0, 1161234.143 567474.903 0, 1160936.216 567465.422 0, 1160638.289 567455.958 0, 1160340.361 567446.512 0, 1160042.432 567437.084 0,
+ 1159744.504 567427.673 0, 1159446.574 567418.279 0, 1159148.644 567408.903 0, 1158850.713 567399.545 0, 1158552.782 567390.204 0, 1158254.851 567380.881 0, 1157956.918 567371.575 0, 1157658.986 567362.287 0, 1157359.636 567352.972 0, 1157186.801 572912.665 0,
+ 1157013.956 578472.723 0, 1157312.648 578482.017 0, 1157609.926 578491.285 0, 1157907.204 578500.57 0, 1158204.481 578509.873 0, 1158501.758 578519.193 0, 1158799.034 578528.531 0, 1159096.309 578537.887 0, 1159393.584 578547.26 0, 1159690.859 578556.65 0,
+ 1159988.133 578566.058 0, 1160285.406 578575.483 0, 1160582.679 578584.926 0, 1160879.951 578594.386 0, 1161177.223 578603.864 0, 1161474.494 578613.359 0, 1161771.765 578622.872 0, 1162069.035 578632.402 0, 1162366.304 578641.95 0, 1162663.573 578651.516 0,
+ 1162960.841 578661.098 0, 1163258.109 578670.699 0, 1163555.376 578680.316 0, 1163852.643 578689.952 0, 1164148.497 578699.559 0, 1164447.174 578709.275 0, 1164744.439 578718.963 0, 1165041.704 578728.668 0, 1165338.967 578738.391 0, 1165636.231 578748.131 0,
+ 1165933.493 578757.889 0, 1166230.755 578767.664 0, 1166528.017 578777.457 0, 1166825.278 578787.267 0, 1167122.538 578797.095 0, 1167419.798 578806.94 0, 1167717.057 578816.803 0, 1168014.316 578826.683 0, 1168311.574 578836.581 0, 1168608.831 578846.496 0,
+ 1168906.088 578856.429 0, 1169203.344 578866.379 0, 1169500.6 578876.347 0, 1169797.855 578886.332 0, 1170095.109 578896.335 0, 1170392.363 578906.355 0, 1170689.616 578916.392 0, 1170986.869 578926.448 0, 1171282.711 578936.472 0, 1171471.264 573376.925 0,
+ 1171659.805 567817.743 0))
+
+POLYGON ((1185550.098 579440.532 0, 1185254.284 579429.671 0, 1184957.061 579418.777 0, 1184659.837 579407.899 0, 1184362.613 579397.039 0, 1184065.388 579386.197 0, 1183768.162 579375.372 0, 1183470.936 579364.564 0, 1183173.709 579353.774 0, 1182876.481 579343.002 0,
+ 1182579.253 579332.247 0, 1182282.024 579321.509 0, 1181984.795 579310.789 0, 1181687.565 579300.087 0, 1181390.334 579289.402 0, 1181093.103 579278.734 0, 1180795.871 579268.084 0, 1180498.638 579257.452 0, 1180201.405 579246.837 0, 1179904.171 579236.239 0,
+ 1179606.936 579225.659 0, 1179309.701 579215.096 0, 1179012.465 579204.551 0, 1178715.229 579194.024 0, 1178416.582 579183.464 0, 1178120.754 579173.021 0, 1177823.516 579162.546 0, 1177526.277 579152.088 0, 1177229.038 579141.648 0, 1176931.798 579131.226 0,
+ 1176634.557 579120.821 0, 1176337.316 579110.433 0, 1176040.074 579100.063 0, 1175742.831 579089.71 0, 1175445.588 579079.375 0, 1175148.345 579069.057 0, 1174851.1 579058.757 0, 1174553.855 579048.475 0, 1174256.61 579038.21 0, 1173959.364 579027.962 0,
+ 1173662.117 579017.732 0, 1173364.87 579007.519 0, 1173067.622 578997.324 0, 1172770.373 578987.146 0, 1172473.124 578976.986 0, 1172175.874 578966.843 0, 1171878.624 578956.718 0, 1171581.373 578946.611 0, 1171282.711 578936.472 0, 1171094.145 584496.381 0,
+ 1170905.567 590056.648 0, 1171203.572 590066.764 0, 1171500.169 590076.849 0, 1171796.764 590086.952 0, 1172093.36 590097.072 0, 1172389.954 590107.21 0, 1172686.548 590117.365 0, 1172983.142 590127.538 0, 1173279.735 590137.728 0, 1173576.327 590147.936 0,
+ 1173872.919 590158.161 0, 1174169.51 590168.403 0, 1174466.1 590178.663 0, 1174762.69 590188.941 0, 1175059.279 590199.236 0, 1175355.868 590209.548 0, 1175652.456 590219.878 0, 1175949.043 590230.225 0, 1176245.63 590240.59 0, 1176542.216 590250.972 0,
+ 1176838.802 590261.372 0, 1177135.387 590271.789 0, 1177431.971 590282.223 0, 1177728.555 590292.676 0, 1178023.731 590303.095 0, 1178321.72 590313.632 0, 1178618.302 590324.136 0, 1178914.884 590334.658 0, 1179211.464 590345.197 0, 1179508.044 590355.754 0,
+ 1179804.624 590366.328 0, 1180101.202 590376.92 0, 1180397.781 590387.529 0, 1180694.358 590398.156 0, 1180990.935 590408.8 0, 1181287.511 590419.461 0, 1181584.087 590430.14 0, 1181880.662 590440.837 0, 1182177.236 590451.551 0, 1182473.81 590462.282 0,
+ 1182770.383 590473.031 0, 1183066.956 590483.797 0, 1183363.528 590494.581 0, 1183660.099 590505.382 0, 1183956.669 590516.2 0, 1184253.239 590527.036 0, 1184549.809 590537.89 0, 1184846.377 590548.761 0, 1185141.54 590559.598 0, 1185345.826 584999.886 0,
+ 1185550.098 579440.532 0))
+
+POLYGON ((1199376.035 591102.765 0, 1199080.902 591091.094 0, 1198784.365 591079.385 0, 1198487.828 591067.694 0, 1198191.29 591056.02 0, 1197894.751 591044.364 0, 1197598.211 591032.725 0, 1197301.671 591021.103 0, 1197005.13 591009.499 0, 1196708.588 590997.912 0,
+ 1196412.046 590986.343 0, 1196115.503 590974.792 0, 1195818.96 590963.257 0, 1195522.415 590951.741 0, 1195225.87 590940.241 0, 1194929.325 590928.759 0, 1194632.778 590917.295 0, 1194336.231 590905.848 0, 1194039.684 590894.418 0, 1193743.135 590883.006 0,
+ 1193446.586 590871.612 0, 1193150.037 590860.235 0, 1192853.486 590848.875 0, 1192556.935 590837.533 0, 1192258.979 590826.154 0, 1191963.831 590814.9 0, 1191667.278 590803.611 0, 1191370.724 590792.338 0, 1191074.17 590781.083 0, 1190777.615 590769.846 0,
+ 1190481.059 590758.626 0, 1190184.503 590747.423 0, 1189887.946 590736.238 0, 1189591.388 590725.07 0, 1189294.83 590713.92 0, 1188998.271 590702.787 0, 1188701.712 590691.672 0, 1188405.151 590680.574 0, 1188108.59 590669.493 0, 1187812.029 590658.431 0,
+ 1187515.467 590647.385 0, 1187218.904 590636.357 0, 1186922.34 590625.346 0, 1186625.776 590614.353 0, 1186329.211 590603.377 0, 1186032.646 590592.419 0, 1185736.08 590581.478 0, 1185439.513 590570.555 0, 1185141.54 590559.598 0, 1184937.241 596119.664 0,
+ 1184732.93 601680.083 0, 1185030.245 601691.016 0, 1185326.157 601701.915 0, 1185622.069 601712.832 0, 1185917.98 601723.766 0, 1186213.89 601734.718 0, 1186509.8 601745.686 0, 1186805.709 601756.673 0, 1187101.617 601767.676 0, 1187397.525 601778.698 0,
+ 1187693.432 601789.736 0, 1187989.338 601800.792 0, 1188285.244 601811.865 0, 1188581.149 601822.956 0, 1188877.053 601834.064 0, 1189172.957 601845.19 0, 1189468.86 601856.333 0, 1189764.763 601867.494 0, 1190060.665 601878.672 0, 1190356.566 601889.867 0,
+ 1190652.466 601901.08 0, 1190948.366 601912.31 0, 1191244.265 601923.557 0, 1191540.164 601934.822 0, 1191834.661 601946.051 0, 1192131.959 601957.404 0, 1192427.856 601968.722 0, 1192723.751 601980.056 0, 1193019.647 601991.408 0, 1193315.541 602002.778 0,
+ 1193611.435 602014.165 0, 1193907.328 602025.569 0, 1194203.221 602036.991 0, 1194499.113 602048.43 0, 1194795.004 602059.886 0, 1195090.894 602071.36 0, 1195386.784 602082.852 0, 1195682.673 602094.36 0, 1195978.562 602105.887 0, 1196274.449 602117.43 0,
+ 1196570.337 602128.991 0, 1196866.223 602140.57 0, 1197162.109 602152.166 0, 1197457.994 602163.779 0, 1197753.878 602175.41 0, 1198049.762 602187.058 0, 1198345.645 602198.723 0, 1198641.527 602210.406 0, 1198936.009 602222.051 0, 1199156.029 596662.232 0,
+ 1199376.035 591102.765 0))
+
+POLYGON ((1213137.5 602804.143 0, 1212843.05 602791.666 0, 1212547.202 602779.148 0, 1212251.353 602766.646 0, 1211955.504 602754.162 0, 1211659.653 602741.696 0, 1211363.802 602729.246 0, 1211067.951 602716.815 0, 1210772.098 602704.4 0, 1210476.245 602692.003 0,
+ 1210180.391 602679.624 0, 1209884.536 602667.262 0, 1209588.681 602654.917 0, 1209292.824 602642.59 0, 1208996.968 602630.28 0, 1208701.11 602617.988 0, 1208405.252 602605.713 0, 1208109.393 602593.455 0, 1207813.533 602581.215 0, 1207517.672 602568.992 0,
+ 1207221.811 602556.787 0, 1206925.949 602544.599 0, 1206630.086 602532.428 0, 1206334.223 602520.275 0, 1206036.96 602508.082 0, 1205742.494 602496.021 0, 1205446.629 602483.92 0, 1205150.762 602471.837 0, 1204854.895 602459.771 0, 1204559.028 602447.722 0,
+ 1204263.159 602435.691 0, 1203967.29 602423.677 0, 1203671.421 602411.68 0, 1203375.55 602399.702 0, 1203079.679 602387.74 0, 1202783.807 602375.796 0, 1202487.934 602363.869 0, 1202192.061 602351.96 0, 1201896.187 602340.068 0, 1201600.312 602328.193 0,
+ 1201304.437 602316.336 0, 1201008.561 602304.497 0, 1200712.684 602292.674 0, 1200416.807 602280.869 0, 1200120.928 602269.082 0, 1199825.05 602257.312 0, 1199529.17 602245.559 0, 1199233.29 602233.824 0, 1198936.009 602222.051 0, 1198715.975 607782.219 0,
+ 1198495.928 613342.731 0, 1198792.551 613354.478 0, 1199087.777 613366.188 0, 1199383.002 613377.914 0, 1199678.226 613389.658 0, 1199973.45 613401.419 0, 1200268.673 613413.198 0, 1200563.895 613424.994 0, 1200859.116 613436.808 0, 1201154.337 613448.639 0,
+ 1201449.557 613460.487 0, 1201744.777 613472.352 0, 1202039.996 613484.235 0, 1202335.214 613496.136 0, 1202630.431 613508.054 0, 1202925.648 613519.989 0, 1203220.864 613531.941 0, 1203516.079 613543.911 0, 1203811.294 613555.898 0, 1204106.507 613567.903 0,
+ 1204401.721 613579.925 0, 1204696.933 613591.964 0, 1204992.145 613604.021 0, 1205287.356 613616.095 0, 1205581.171 613628.129 0, 1205877.776 613640.295 0, 1206172.985 613652.422 0, 1206468.193 613664.565 0, 1206763.4 613676.726 0, 1207058.607 613688.905 0,
+ 1207353.813 613701.1 0, 1207649.018 613713.314 0, 1207944.223 613725.544 0, 1208239.427 613737.792 0, 1208534.63 613750.057 0, 1208829.832 613762.34 0, 1209125.034 613774.64 0, 1209420.235 613786.957 0, 1209715.435 613799.292 0, 1210010.635 613811.644 0,
+ 1210305.833 613824.014 0, 1210601.031 613836.4 0, 1210896.229 613848.805 0, 1211191.425 613861.226 0, 1211486.621 613873.665 0, 1211781.816 613886.122 0, 1212077.011 613898.595 0, 1212372.204 613911.087 0, 1212666.003 613923.536 0, 1212901.759 608363.667 0,
+ 1213137.5 602804.143 0))
+
+POLYGON ((1226834.381 614544.371 0, 1226540.616 614531.092 0, 1226245.459 614517.767 0, 1225950.301 614504.459 0, 1225655.142 614491.169 0, 1225359.983 614477.896 0, 1225064.822 614464.64 0, 1224769.661 614451.402 0, 1224474.499 614438.181 0, 1224179.337 614424.978 0,
+ 1223884.173 614411.792 0, 1223589.009 614398.623 0, 1223293.844 614385.472 0, 1222998.678 614372.338 0, 1222703.512 614359.221 0, 1222408.345 614346.122 0, 1222113.177 614333.04 0, 1221818.008 614319.976 0, 1221522.838 614306.929 0, 1221227.668 614293.899 0,
+ 1220932.497 614280.887 0, 1220637.325 614267.892 0, 1220342.152 614254.914 0, 1220046.978 614241.954 0, 1219750.411 614228.95 0, 1219456.629 614216.086 0, 1219161.454 614203.178 0, 1218866.277 614190.287 0, 1218571.1 614177.413 0, 1218275.922 614164.557 0,
+ 1217980.743 614151.719 0, 1217685.564 614138.898 0, 1217390.383 614126.094 0, 1217095.202 614113.307 0, 1216800.021 614100.538 0, 1216504.838 614087.786 0, 1216209.655 614075.052 0, 1215914.471 614062.335 0, 1215619.286 614049.636 0, 1215324.1 614036.953 0,
+ 1215028.914 614024.288 0, 1214733.727 614011.641 0, 1214438.539 613999.011 0, 1214143.351 613986.398 0, 1213848.162 613973.803 0, 1213552.972 613961.225 0, 1213257.781 613948.664 0, 1212962.59 613936.121 0, 1212666.003 613923.536 0, 1212430.233 619483.747 0,
+ 1212194.448 625044.296 0, 1212490.376 625056.853 0, 1212784.913 625069.369 0, 1213079.45 625081.901 0, 1213373.985 625094.451 0, 1213668.52 625107.019 0, 1213963.054 625119.604 0, 1214257.587 625132.206 0, 1214552.119 625144.825 0, 1214846.651 625157.462 0,
+ 1215141.182 625170.116 0, 1215435.712 625182.788 0, 1215730.242 625195.476 0, 1216024.771 625208.182 0, 1216319.299 625220.906 0, 1216613.826 625233.647 0, 1216908.352 625246.405 0, 1217202.878 625259.18 0, 1217497.403 625271.973 0, 1217791.927 625284.783 0,
+ 1218086.451 625297.611 0, 1218380.973 625310.455 0, 1218675.495 625323.318 0, 1218970.017 625336.197 0, 1219263.147 625349.033 0, 1219559.057 625362.008 0, 1219853.576 625374.94 0, 1220148.094 625387.888 0, 1220442.611 625400.854 0, 1220737.128 625413.838 0,
+ 1221031.644 625426.839 0, 1221326.159 625439.857 0, 1221620.673 625452.892 0, 1221915.187 625465.945 0, 1222209.7 625479.015 0, 1222504.212 625492.103 0, 1222798.723 625505.208 0, 1223093.234 625518.33 0, 1223387.743 625531.469 0, 1223682.252 625544.626 0,
+ 1223976.76 625557.8 0, 1224271.268 625570.992 0, 1224565.775 625584.201 0, 1224860.28 625597.427 0, 1225154.785 625610.67 0, 1225449.29 625623.931 0, 1225743.793 625637.209 0, 1226038.296 625650.505 0, 1226331.409 625663.755 0, 1226582.903 620103.894 0,
+ 1226834.381 614544.371 0))
+
+POLYGON ((1240466.564 626323.151 0, 1240173.487 626309.072 0, 1239879.023 626294.945 0, 1239584.559 626280.835 0, 1239290.093 626266.742 0, 1238995.626 626252.667 0, 1238701.159 626238.608 0, 1238406.691 626224.568 0, 1238112.222 626210.544 0, 1237817.752 626196.538 0,
+ 1237523.282 626182.549 0, 1237228.81 626168.578 0, 1236934.338 626154.624 0, 1236639.865 626140.687 0, 1236345.391 626126.767 0, 1236050.916 626112.865 0, 1235756.441 626098.98 0, 1235461.964 626085.113 0, 1235167.487 626071.263 0, 1234873.009 626057.43 0,
+ 1234578.53 626043.614 0, 1234284.051 626029.816 0, 1233989.57 626016.035 0, 1233695.089 626002.272 0, 1233399.22 625988.461 0, 1233106.124 625974.797 0, 1232811.641 625961.085 0, 1232517.156 625947.391 0, 1232222.671 625933.714 0, 1231928.185 625920.055 0,
+ 1231633.698 625906.413 0, 1231339.21 625892.788 0, 1231044.722 625879.18 0, 1230750.232 625865.59 0, 1230455.742 625852.017 0, 1230161.252 625838.462 0, 1229866.76 625824.924 0, 1229572.267 625811.403 0, 1229277.774 625797.899 0, 1228983.28 625784.413 0,
+ 1228688.785 625770.944 0, 1228394.29 625757.493 0, 1228099.793 625744.059 0, 1227805.296 625730.642 0, 1227510.798 625717.242 0, 1227216.299 625703.86 0, 1226921.799 625690.495 0, 1226627.299 625677.148 0, 1226331.409 625663.755 0, 1226079.901 631223.951 0,
+ 1225828.377 636784.48 0, 1226123.609 636797.843 0, 1226417.455 636811.161 0, 1226711.3 636824.496 0, 1227005.144 636837.848 0, 1227298.988 636851.218 0, 1227592.83 636864.605 0, 1227886.672 636878.009 0, 1228180.513 636891.431 0, 1228474.354 636904.87 0,
+ 1228768.193 636918.326 0, 1229062.032 636931.8 0, 1229355.87 636945.29 0, 1229649.707 636958.798 0, 1229943.544 636972.324 0, 1230237.379 636985.867 0, 1230531.214 636999.426 0, 1230825.048 637013.004 0, 1231118.881 637026.598 0, 1231412.713 637040.21 0,
+ 1231706.545 637053.839 0, 1232000.376 637067.486 0, 1232294.206 637081.149 0, 1232588.035 637094.83 0, 1232880.479 637108.464 0, 1233175.691 637122.244 0, 1233469.517 637135.977 0, 1233763.343 637149.727 0, 1234057.168 637163.495 0, 1234350.993 637177.28 0,
+ 1234644.816 637191.082 0, 1234938.639 637204.901 0, 1235232.461 637218.738 0, 1235526.282 637232.592 0, 1235820.102 637246.463 0, 1236113.921 637260.352 0, 1236407.74 637274.257 0, 1236701.558 637288.181 0, 1236995.375 637302.121 0, 1237289.191 637316.079 0,
+ 1237583.006 637330.054 0, 1237876.821 637344.046 0, 1238170.634 637358.056 0, 1238464.447 637372.083 0, 1238758.259 637386.127 0, 1239052.07 637400.188 0, 1239345.881 637414.267 0, 1239639.69 637428.363 0, 1239932.116 637442.41 0, 1240199.348 631882.614 0,
+ 1240466.564 626323.151 0))
+
+POLYGON ((1254033.94 638140.183 0, 1253741.553 638125.31 0, 1253447.784 638110.384 0, 1253154.015 638095.475 0, 1252860.245 638080.584 0, 1252566.473 638065.71 0, 1252272.701 638050.853 0, 1251978.928 638036.013 0, 1251685.155 638021.191 0, 1251391.38 638006.386 0,
+ 1251097.604 637991.598 0, 1250803.828 637976.827 0, 1250510.051 637962.074 0, 1250216.273 637947.338 0, 1249922.494 637932.62 0, 1249628.714 637917.919 0, 1249334.933 637903.235 0, 1249041.151 637888.568 0, 1248747.369 637873.918 0, 1248453.586 637859.286 0,
+ 1248159.801 637844.671 0, 1247866.016 637830.074 0, 1247572.231 637815.494 0, 1247278.444 637800.931 0, 1246983.274 637786.317 0, 1246690.868 637771.857 0, 1246397.078 637757.346 0, 1246103.288 637742.852 0, 1245809.497 637728.375 0, 1245515.705 637713.916 0,
+ 1245221.913 637699.474 0, 1244928.119 637685.049 0, 1244634.325 637670.642 0, 1244340.529 637656.252 0, 1244046.733 637641.879 0, 1243752.936 637627.524 0, 1243459.138 637613.186 0, 1243165.34 637598.865 0, 1242871.54 637584.561 0, 1242577.74 637570.275 0,
+ 1242283.939 637556.006 0, 1241990.137 637541.754 0, 1241696.334 637527.52 0, 1241402.53 637513.303 0, 1241108.726 637499.103 0, 1240814.92 637484.92 0, 1240521.114 637470.755 0, 1240227.307 637456.607 0, 1239932.116 637442.41 0, 1239664.868 643002.534 0,
+ 1239397.604 648562.984 0, 1239692.138 648577.15 0, 1239985.29 648591.266 0, 1240278.442 648605.4 0, 1240571.593 648619.551 0, 1240864.743 648633.719 0, 1241157.892 648647.905 0, 1241451.04 648662.107 0, 1241744.188 648676.327 0, 1242037.334 648690.564 0,
+ 1242330.48 648704.819 0, 1242623.625 648719.091 0, 1242916.769 648733.38 0, 1243209.913 648747.686 0, 1243503.055 648762.009 0, 1243796.197 648776.35 0, 1244089.337 648790.708 0, 1244382.477 648805.083 0, 1244675.616 648819.476 0, 1244968.755 648833.886 0,
+ 1245261.892 648848.313 0, 1245555.029 648862.757 0, 1245848.164 648877.218 0, 1246141.299 648891.697 0, 1246433.054 648906.125 0, 1246727.566 648920.706 0, 1247020.699 648935.237 0, 1247313.83 648949.785 0, 1247606.961 648964.35 0, 1247900.09 648978.932 0,
+ 1248193.219 648993.531 0, 1248486.347 649008.148 0, 1248779.474 649022.782 0, 1249072.6 649037.434 0, 1249365.726 649052.102 0, 1249658.85 649066.788 0, 1249951.974 649081.491 0, 1250245.097 649096.211 0, 1250538.219 649110.949 0, 1250831.34 649125.704 0,
+ 1251124.46 649140.476 0, 1251417.579 649155.265 0, 1251710.698 649170.072 0, 1252003.815 649184.895 0, 1252296.932 649199.736 0, 1252590.048 649214.595 0, 1252883.163 649229.47 0, 1253176.277 649244.363 0, 1253468.013 649259.203 0, 1253750.984 643699.53 0,
+ 1254033.94 638140.183 0))
+
+POLYGON ((1267536.398 649995.171 0, 1267244.703 649979.506 0, 1266951.632 649963.785 0, 1266658.561 649948.082 0, 1266365.488 649932.396 0, 1266072.414 649916.726 0, 1265779.34 649901.075 0, 1265486.264 649885.44 0, 1265193.188 649869.823 0, 1264900.111 649854.222 0,
+ 1264607.032 649838.64 0, 1264313.953 649823.074 0, 1264020.873 649807.526 0, 1263727.792 649791.994 0, 1263434.71 649776.481 0, 1263141.628 649760.984 0, 1262848.544 649745.505 0, 1262555.459 649730.042 0, 1262262.374 649714.598 0, 1261969.287 649699.17 0,
+ 1261676.2 649683.76 0, 1261383.112 649668.366 0, 1261090.023 649652.991 0, 1260796.933 649637.632 0, 1260502.465 649622.219 0, 1260210.75 649606.967 0, 1259917.657 649591.66 0, 1259624.563 649576.37 0, 1259331.469 649561.098 0, 1259038.373 649545.843 0,
+ 1258745.277 649530.605 0, 1258452.18 649515.384 0, 1258159.082 649500.181 0, 1257865.983 649484.995 0, 1257572.883 649469.826 0, 1257279.782 649454.674 0, 1256986.68 649439.54 0, 1256693.577 649424.423 0, 1256400.474 649409.323 0, 1256107.37 649394.24 0,
+ 1255814.264 649379.175 0, 1255521.158 649364.127 0, 1255228.051 649349.096 0, 1254934.943 649334.082 0, 1254641.834 649319.086 0, 1254348.725 649304.107 0, 1254055.614 649289.145 0, 1253762.503 649274.201 0, 1253468.013 649259.203 0, 1253185.024 654819.198 0,
+ 1252902.02 660379.511 0, 1253195.852 660394.475 0, 1253488.309 660409.387 0, 1253780.765 660424.315 0, 1254073.22 660439.261 0, 1254365.675 660454.224 0, 1254658.128 660469.204 0, 1254950.581 660484.201 0, 1255243.032 660499.215 0, 1255535.483 660514.247 0,
+ 1255827.933 660529.296 0, 1256120.382 660544.362 0, 1256412.83 660559.445 0, 1256705.277 660574.546 0, 1256997.724 660589.664 0, 1257290.169 660604.799 0, 1257582.614 660619.951 0, 1257875.057 660635.12 0, 1258167.5 660650.307 0, 1258459.942 660665.511 0,
+ 1258752.383 660680.732 0, 1259044.823 660695.97 0, 1259337.262 660711.226 0, 1259629.701 660726.498 0, 1259920.765 660741.716 0, 1260214.574 660757.095 0, 1260507.01 660772.42 0, 1260799.445 660787.761 0, 1261091.878 660803.12 0, 1261384.311 660818.496 0,
+ 1261676.743 660833.889 0, 1261969.174 660849.299 0, 1262261.605 660864.727 0, 1262554.034 660880.172 0, 1262846.462 660895.634 0, 1263138.89 660911.113 0, 1263431.316 660926.609 0, 1263723.742 660942.123 0, 1264016.166 660957.654 0, 1264308.59 660973.202 0,
+ 1264601.013 660988.767 0, 1264893.435 661004.35 0, 1265185.856 661019.949 0, 1265478.276 661035.566 0, 1265770.695 661051.201 0, 1266063.113 661066.852 0, 1266355.531 661082.52 0, 1266647.947 661098.206 0, 1266938.991 661113.835 0, 1267237.703 655554.344 0,
+ 1267536.398 649995.171 0))
+
+POLYGON ((1280973.831 661887.814 0, 1280682.83 661871.362 0, 1280390.459 661854.85 0, 1280098.088 661838.356 0, 1279805.715 661821.878 0, 1279513.341 661805.418 0, 1279220.966 661788.975 0, 1278928.59 661772.549 0, 1278636.213 661756.141 0, 1278343.836 661739.749 0,
+ 1278051.457 661723.375 0, 1277759.077 661707.018 0, 1277466.697 661690.678 0, 1277174.315 661674.356 0, 1276881.933 661658.05 0, 1276589.549 661641.762 0, 1276297.165 661625.491 0, 1276004.779 661609.238 0, 1275712.393 661593.001 0, 1275420.006 661576.782 0,
+ 1275127.617 661560.58 0, 1274835.228 661544.395 0, 1274542.838 661528.227 0, 1274250.447 661512.077 0, 1273956.684 661495.868 0, 1273665.662 661479.828 0, 1273373.268 661463.729 0, 1273080.873 661447.647 0, 1272788.477 661431.583 0, 1272496.08 661415.536 0,
+ 1272203.683 661399.506 0, 1271911.284 661383.493 0, 1271618.884 661367.497 0, 1271326.484 661351.519 0, 1271034.082 661335.558 0, 1270741.68 661319.614 0, 1270449.276 661303.687 0, 1270156.872 661287.778 0, 1269864.467 661271.886 0, 1269572.06 661256.01 0,
+ 1269279.653 661240.153 0, 1268987.245 661224.312 0, 1268694.836 661208.488 0, 1268402.426 661192.682 0, 1268110.015 661176.893 0, 1267817.604 661161.121 0, 1267525.191 661145.367 0, 1267232.777 661129.629 0, 1266938.991 661113.835 0, 1266640.261 666673.643 0,
+ 1266341.515 672233.762 0, 1266634.645 672249.52 0, 1266926.404 672265.223 0, 1267218.162 672280.942 0, 1267509.919 672296.678 0, 1267801.676 672312.432 0, 1268093.431 672328.203 0, 1268385.186 672343.991 0, 1268676.939 672359.796 0, 1268968.692 672375.619 0,
+ 1269260.444 672391.458 0, 1269552.194 672407.315 0, 1269843.944 672423.189 0, 1270135.693 672439.08 0, 1270427.441 672454.988 0, 1270719.188 672470.914 0, 1271010.934 672486.856 0, 1271302.679 672502.816 0, 1271594.424 672518.793 0, 1271886.167 672534.787 0,
+ 1272177.909 672550.798 0, 1272469.651 672566.827 0, 1272761.391 672582.872 0, 1273053.131 672598.935 0, 1273343.501 672614.939 0, 1273636.607 672631.112 0, 1273928.344 672647.226 0, 1274220.079 672663.358 0, 1274511.814 672679.506 0, 1274803.548 672695.672 0,
+ 1275095.281 672711.855 0, 1275387.013 672728.055 0, 1275678.744 672744.273 0, 1275970.474 672760.507 0, 1276262.203 672776.759 0, 1276553.931 672793.028 0, 1276845.658 672809.314 0, 1277137.384 672825.617 0, 1277429.109 672841.937 0, 1277720.834 672858.275 0,
+ 1278012.557 672874.629 0, 1278304.279 672891.001 0, 1278596.001 672907.39 0, 1278887.721 672923.796 0, 1279179.441 672940.22 0, 1279471.159 672956.66 0, 1279762.877 672973.118 0, 1280054.593 672989.593 0, 1280344.942 673006.008 0, 1280659.395 667446.755 0,
+ 1280973.831 661887.814 0))
+
+POLYGON ((1294346.131 673817.812 0, 1294055.827 673800.577 0, 1293764.159 673783.278 0, 1293472.489 673765.997 0, 1293180.818 673748.732 0, 1292889.146 673731.485 0, 1292597.473 673714.254 0, 1292305.799 673697.041 0, 1292014.124 673679.845 0, 1291722.448 673662.666 0,
+ 1291430.771 673645.505 0, 1291139.093 673628.36 0, 1290847.415 673611.233 0, 1290555.735 673594.123 0, 1290264.054 673577.03 0, 1289972.372 673559.954 0, 1289680.689 673542.896 0, 1289389.005 673525.854 0, 1289097.32 673508.83 0, 1288805.634 673491.823 0,
+ 1288513.947 673474.833 0, 1288222.259 673457.86 0, 1287930.57 673440.904 0, 1287638.88 673423.966 0, 1287345.823 673406.966 0, 1287055.497 673390.141 0, 1286763.804 673373.254 0, 1286472.11 673356.384 0, 1286180.415 673339.531 0, 1285888.719 673322.696 0,
+ 1285597.022 673305.878 0, 1285305.324 673289.077 0, 1285013.625 673272.293 0, 1284721.925 673255.526 0, 1284430.224 673238.776 0, 1284138.522 673222.044 0, 1283846.819 673205.329 0, 1283555.116 673188.631 0, 1283263.411 673171.95 0, 1282971.705 673155.286 0,
+ 1282679.998 673138.639 0, 1282388.29 673122.01 0, 1282096.582 673105.398 0, 1281804.872 673088.803 0, 1281513.161 673072.225 0, 1281221.45 673055.664 0, 1280929.737 673039.121 0, 1280638.023 673022.594 0, 1280344.942 673006.008 0, 1280030.472 678565.569 0,
+ 1279715.984 684125.436 0, 1280008.407 684141.986 0, 1280299.467 684158.475 0, 1280590.525 684174.981 0, 1280881.582 684191.505 0, 1281172.638 684208.046 0, 1281463.693 684224.603 0, 1281754.748 684241.178 0, 1282045.801 684257.77 0, 1282336.853 684274.38 0,
+ 1282627.905 684291.006 0, 1282918.955 684307.65 0, 1283210.005 684324.31 0, 1283501.053 684340.988 0, 1283792.1 684357.683 0, 1284083.147 684374.395 0, 1284374.192 684391.124 0, 1284665.237 684407.87 0, 1284956.28 684424.634 0, 1285247.323 684441.414 0,
+ 1285538.364 684458.212 0, 1285829.405 684475.027 0, 1286120.445 684491.858 0, 1286411.483 684508.708 0, 1286701.158 684525.495 0, 1286993.557 684542.457 0, 1287284.593 684559.357 0, 1287575.627 684576.275 0, 1287866.661 684593.21 0, 1288157.694 684610.162 0,
+ 1288448.725 684627.13 0, 1288739.756 684644.117 0, 1289030.785 684661.12 0, 1289321.814 684678.14 0, 1289612.842 684695.178 0, 1289903.868 684712.232 0, 1290194.894 684729.304 0, 1290485.918 684746.393 0, 1290776.942 684763.499 0, 1291067.964 684780.622 0,
+ 1291358.986 684797.762 0, 1291650.006 684814.919 0, 1291941.026 684832.094 0, 1292232.045 684849.286 0, 1292523.062 684866.494 0, 1292814.079 684883.72 0, 1293105.094 684900.963 0, 1293396.108 684918.223 0, 1293685.761 684935.42 0, 1294015.955 679376.464 0,
+ 1294346.131 673817.812 0))
+
+POLYGON ((1307653.194 685784.867 0, 1307363.589 685766.853 0, 1307072.624 685748.77 0, 1306781.659 685730.705 0, 1306490.692 685712.657 0, 1306199.724 685694.626 0, 1305908.756 685676.613 0, 1305617.786 685658.616 0, 1305326.815 685640.636 0, 1305035.843 685622.674 0,
+ 1304744.87 685604.729 0, 1304453.896 685586.801 0, 1304162.921 685568.89 0, 1303871.945 685550.996 0, 1303580.967 685533.119 0, 1303289.989 685515.26 0, 1302999.01 685497.417 0, 1302708.029 685479.592 0, 1302417.048 685461.783 0, 1302126.065 685443.992 0,
+ 1301835.082 685426.218 0, 1301544.097 685408.462 0, 1301253.112 685390.722 0, 1300962.125 685372.999 0, 1300669.777 685355.211 0, 1300380.148 685337.605 0, 1300089.159 685319.934 0, 1299798.168 685302.28 0, 1299507.176 685284.643 0, 1299216.183 685267.023 0,
+ 1298925.189 685249.421 0, 1298634.194 685231.835 0, 1298343.198 685214.267 0, 1298052.201 685196.715 0, 1297761.203 685179.181 0, 1297470.204 685161.664 0, 1297179.204 685144.164 0, 1296888.203 685126.681 0, 1296597.2 685109.216 0, 1296306.197 685091.767 0,
+ 1296015.193 685074.336 0, 1295724.188 685056.921 0, 1295433.181 685039.524 0, 1295142.174 685022.144 0, 1294851.166 685004.781 0, 1294560.156 684987.435 0, 1294269.146 684970.107 0, 1293978.134 684952.795 0, 1293685.761 684935.42 0, 1293355.549 690494.678 0,
+ 1293025.319 696054.235 0, 1293317.035 696071.571 0, 1293607.392 696088.844 0, 1293897.748 696106.133 0, 1294188.103 696123.44 0, 1294478.457 696140.764 0, 1294768.81 696158.105 0, 1295059.162 696175.463 0, 1295349.512 696192.838 0, 1295639.862 696210.23 0,
+ 1295930.211 696227.64 0, 1296220.559 696245.066 0, 1296510.906 696262.51 0, 1296801.251 696279.97 0, 1297091.596 696297.448 0, 1297381.94 696314.943 0, 1297672.282 696332.454 0, 1297962.624 696349.983 0, 1298252.965 696367.529 0, 1298543.304 696385.092 0,
+ 1298833.643 696402.673 0, 1299123.98 696420.27 0, 1299414.317 696437.884 0, 1299704.652 696455.516 0, 1299993.63 696473.082 0, 1300285.32 696490.83 0, 1300575.652 696508.513 0, 1300865.983 696526.213 0, 1301156.314 696543.93 0, 1301446.643 696561.664 0,
+ 1301736.971 696579.415 0, 1302027.298 696597.183 0, 1302317.624 696614.968 0, 1302607.949 696632.77 0, 1302898.273 696650.59 0, 1303188.596 696668.426 0, 1303478.918 696686.28 0, 1303769.238 696704.151 0, 1304059.558 696722.039 0, 1304349.877 696739.943 0,
+ 1304640.194 696757.865 0, 1304930.511 696775.805 0, 1305220.827 696793.761 0, 1305511.141 696811.734 0, 1305801.454 696829.724 0, 1306091.767 696847.732 0, 1306382.078 696865.756 0, 1306672.388 696883.798 0, 1306961.342 696901.772 0, 1307307.277 691343.17 0,
+ 1307653.194 685784.867 0))
+
+POLYGON ((1320894.915 697788.678 0, 1320606.011 697769.887 0, 1320315.753 697751.025 0, 1320025.494 697732.181 0, 1319735.233 697713.353 0, 1319444.972 697694.543 0, 1319154.709 697675.749 0, 1318864.446 697656.973 0, 1318574.181 697638.214 0, 1318283.915 697619.472 0,
+ 1317993.648 697600.747 0, 1317703.38 697582.039 0, 1317413.111 697563.348 0, 1317122.841 697544.674 0, 1316832.569 697526.018 0, 1316542.297 697507.378 0, 1316252.023 697488.755 0, 1315961.749 697470.15 0, 1315671.473 697451.562 0, 1315381.196 697432.99 0,
+ 1315090.918 697414.436 0, 1314800.639 697395.899 0, 1314510.359 697377.379 0, 1314220.078 697358.876 0, 1313928.442 697340.304 0, 1313639.513 697321.922 0, 1313349.228 697303.47 0, 1313058.943 697285.035 0, 1312768.656 697266.618 0, 1312478.368 697248.218 0,
+ 1312188.079 697229.834 0, 1311897.79 697211.468 0, 1311607.499 697193.119 0, 1311317.207 697174.787 0, 1311026.914 697156.472 0, 1310736.619 697138.174 0, 1310446.324 697119.893 0, 1310156.028 697101.629 0, 1309865.73 697083.383 0, 1309575.432 697065.153 0,
+ 1309285.132 697046.941 0, 1308994.832 697028.746 0, 1308704.53 697010.567 0, 1308414.227 696992.406 0, 1308123.923 696974.262 0, 1307833.619 696956.135 0, 1307543.313 696938.025 0, 1307253.006 696919.932 0, 1306961.342 696901.772 0, 1306615.388 702460.669 0,
+ 1306269.416 708019.857 0, 1306560.423 708037.976 0, 1306850.075 708056.028 0, 1307139.727 708074.097 0, 1307429.377 708092.183 0, 1307719.027 708110.287 0, 1308008.675 708128.407 0, 1308298.323 708146.544 0, 1308587.969 708164.699 0, 1308877.614 708182.87 0,
+ 1309167.258 708201.058 0, 1309456.901 708219.264 0, 1309746.543 708237.486 0, 1310036.184 708255.726 0, 1310325.824 708273.983 0, 1310615.463 708292.256 0, 1310905.1 708310.547 0, 1311194.737 708328.855 0, 1311484.372 708347.18 0, 1311774.007 708365.522 0,
+ 1312063.64 708383.88 0, 1312353.272 708402.256 0, 1312642.904 708420.649 0, 1312932.534 708439.059 0, 1313220.811 708457.401 0, 1313511.791 708475.931 0, 1313801.418 708494.392 0, 1314091.043 708512.87 0, 1314380.668 708531.366 0, 1314670.292 708549.878 0,
+ 1314959.914 708568.407 0, 1315249.535 708586.954 0, 1315539.156 708605.517 0, 1315828.775 708624.098 0, 1316118.393 708642.695 0, 1316408.01 708661.31 0, 1316697.626 708679.942 0, 1316987.241 708698.59 0, 1317276.855 708717.256 0, 1317566.467 708735.939 0,
+ 1317856.079 708754.639 0, 1318145.689 708773.356 0, 1318435.299 708792.09 0, 1318724.907 708810.841 0, 1319014.514 708829.609 0, 1319304.12 708848.394 0, 1319593.725 708867.196 0, 1319883.329 708886.015 0, 1320171.581 708904.763 0, 1320533.258 703346.575 0,
+ 1320894.915 697788.678 0))
+
+POLYGON ((1334071.191 709828.942 0, 1333782.99 709809.38 0, 1333493.441 709789.742 0, 1333203.89 709770.122 0, 1332914.338 709750.519 0, 1332624.785 709730.933 0, 1332335.231 709711.364 0, 1332045.676 709691.812 0, 1331756.12 709672.277 0, 1331466.562 709652.759 0,
+ 1331177.003 709633.258 0, 1330887.443 709613.774 0, 1330597.882 709594.307 0, 1330308.32 709574.857 0, 1330018.757 709555.424 0, 1329729.193 709536.009 0, 1329439.627 709516.61 0, 1329150.06 709497.228 0, 1328860.492 709477.864 0, 1328570.923 709458.516 0,
+ 1328281.353 709439.186 0, 1327991.782 709419.872 0, 1327702.21 709400.576 0, 1327412.636 709381.296 0, 1327121.713 709361.944 0, 1326833.486 709342.789 0, 1326543.909 709323.56 0, 1326254.331 709304.349 0, 1325964.751 709285.155 0, 1325675.171 709265.978 0,
+ 1325385.59 709246.818 0, 1325096.007 709227.675 0, 1324806.423 709208.549 0, 1324516.838 709189.44 0, 1324227.252 709170.348 0, 1323937.665 709151.273 0, 1323648.077 709132.215 0, 1323358.488 709113.175 0, 1323068.897 709094.151 0, 1322779.306 709075.144 0,
+ 1322489.713 709056.155 0, 1322200.119 709037.182 0, 1321910.524 709018.226 0, 1321620.928 708999.288 0, 1321331.331 708980.367 0, 1321041.733 708961.462 0, 1320752.134 708942.575 0, 1320462.533 708923.704 0, 1320171.581 708904.763 0, 1319809.887 714463.24 0,
+ 1319448.173 720022.002 0, 1319738.467 720040.9 0, 1320027.414 720059.728 0, 1320316.359 720078.572 0, 1320605.303 720097.434 0, 1320894.245 720116.313 0, 1321183.187 720135.209 0, 1321472.128 720154.121 0, 1321761.067 720173.051 0, 1322050.006 720191.998 0,
+ 1322338.943 720210.961 0, 1322627.879 720229.942 0, 1322916.814 720248.94 0, 1323205.748 720267.955 0, 1323494.681 720286.986 0, 1323783.612 720306.035 0, 1324072.543 720325.101 0, 1324361.472 720344.184 0, 1324650.401 720363.283 0, 1324939.328 720382.4 0,
+ 1325228.254 720401.534 0, 1325517.179 720420.685 0, 1325806.102 720439.853 0, 1326095.025 720459.037 0, 1326382.601 720478.15 0, 1326672.867 720497.458 0, 1326961.786 720516.694 0, 1327250.704 720535.947 0, 1327539.621 720555.216 0, 1327828.537 720574.503 0,
+ 1328117.452 720593.807 0, 1328406.366 720613.128 0, 1328695.278 720632.466 0, 1328984.189 720651.821 0, 1329273.1 720671.193 0, 1329562.009 720690.581 0, 1329850.917 720709.987 0, 1330139.823 720729.41 0, 1330428.729 720748.85 0, 1330717.633 720768.307 0,
+ 1331006.537 720787.781 0, 1331295.439 720807.272 0, 1331584.34 720826.78 0, 1331873.24 720846.304 0, 1332162.139 720865.846 0, 1332451.036 720885.405 0, 1332739.933 720904.981 0, 1333028.828 720924.574 0, 1333316.377 720944.093 0, 1333693.794 715386.375 0,
+ 1334071.191 709828.942 0))
+
+POLYGON ((1347181.921 721905.36 0, 1346894.426 721885.029 0, 1346605.587 721864.62 0, 1346316.747 721844.228 0, 1346027.906 721823.853 0, 1345739.063 721803.495 0, 1345450.22 721783.154 0, 1345161.375 721762.83 0, 1344872.529 721742.523 0, 1344583.682 721722.233 0,
+ 1344294.834 721701.96 0, 1344005.984 721681.704 0, 1343717.133 721661.465 0, 1343428.281 721641.243 0, 1343139.428 721621.038 0, 1342850.574 721600.85 0, 1342561.719 721580.679 0, 1342272.862 721560.525 0, 1341984.004 721540.388 0, 1341695.145 721520.268 0,
+ 1341406.285 721500.165 0, 1341117.423 721480.079 0, 1340828.561 721460.01 0, 1340539.697 721439.958 0, 1340249.489 721419.83 0, 1339961.966 721399.905 0, 1339673.099 721379.904 0, 1339384.23 721359.92 0, 1339095.36 721339.953 0, 1338806.49 721320.003 0,
+ 1338517.618 721300.07 0, 1338228.744 721280.154 0, 1337939.87 721260.255 0, 1337650.995 721240.373 0, 1337362.118 721220.508 0, 1337073.24 721200.66 0, 1336784.361 721180.829 0, 1336495.481 721161.015 0, 1336206.599 721141.218 0, 1335917.717 721121.438 0,
+ 1335628.833 721101.675 0, 1335339.948 721081.93 0, 1335051.062 721062.201 0, 1334762.175 721042.489 0, 1334473.287 721022.794 0, 1334184.397 721003.116 0, 1333895.507 720983.455 0, 1333606.615 720963.811 0, 1333316.377 720944.093 0, 1332938.942 726502.091 0,
+ 1332561.487 732060.368 0, 1332851.068 732080.042 0, 1333139.305 732099.641 0, 1333427.541 732119.257 0, 1333715.777 732138.891 0, 1334004.011 732158.541 0, 1334292.244 732178.208 0, 1334580.475 732197.893 0, 1334868.706 732217.594 0, 1335156.935 732237.312 0,
+ 1335445.164 732257.047 0, 1335733.391 732276.799 0, 1336021.617 732296.568 0, 1336309.841 732316.355 0, 1336598.065 732336.158 0, 1336886.288 732355.977 0, 1337174.509 732375.814 0, 1337462.729 732395.668 0, 1337750.948 732415.539 0, 1338039.166 732435.427 0,
+ 1338327.382 732455.332 0, 1338615.598 732475.254 0, 1338903.812 732495.192 0, 1339192.025 732515.148 0, 1339478.897 732535.028 0, 1339768.448 732555.11 0, 1340056.657 732575.117 0, 1340344.866 732595.14 0, 1340633.073 732615.181 0, 1340921.279 732635.238 0,
+ 1341209.484 732655.313 0, 1341497.687 732675.404 0, 1341785.89 732695.513 0, 1342074.091 732715.638 0, 1342362.291 732735.78 0, 1342650.49 732755.939 0, 1342938.688 732776.116 0, 1343226.884 732796.309 0, 1343515.08 732816.519 0, 1343803.274 732836.746 0,
+ 1344091.467 732856.99 0, 1344379.659 732877.251 0, 1344667.849 732897.529 0, 1344956.039 732917.824 0, 1345244.227 732938.136 0, 1345532.414 732958.465 0, 1345820.6 732978.811 0, 1346108.784 732999.173 0, 1346395.629 733019.458 0, 1346788.785 727462.27 0,
+ 1347181.921 721905.36 0))
+
+POLYGON ((1360227.005 734017.629 0, 1359940.217 733996.533 0, 1359652.091 733975.357 0, 1359363.964 733954.197 0, 1359075.836 733933.054 0, 1358787.706 733911.928 0, 1358499.575 733890.819 0, 1358211.443 733869.727 0, 1357923.309 733848.651 0, 1357635.175 733827.593 0,
+ 1357347.039 733806.552 0, 1357058.902 733785.528 0, 1356770.763 733764.52 0, 1356482.624 733743.53 0, 1356194.483 733722.557 0, 1355906.341 733701.6 0, 1355618.198 733680.661 0, 1355330.053 733659.738 0, 1355041.907 733638.833 0, 1354753.761 733617.944 0,
+ 1354465.612 733597.073 0, 1354177.463 733576.218 0, 1353889.312 733555.38 0, 1353601.16 733534.559 0, 1353311.669 733513.659 0, 1353024.853 733492.969 0, 1352736.697 733472.199 0, 1352448.541 733451.446 0, 1352160.383 733430.71 0, 1351872.223 733409.991 0,
+ 1351584.063 733389.289 0, 1351295.901 733368.604 0, 1351007.738 733347.936 0, 1350719.574 733327.285 0, 1350431.409 733306.651 0, 1350143.242 733286.034 0, 1349855.075 733265.433 0, 1349566.906 733244.85 0, 1349278.736 733224.284 0, 1348990.564 733203.734 0,
+ 1348702.392 733183.202 0, 1348414.218 733162.686 0, 1348126.043 733142.188 0, 1347837.867 733121.706 0, 1347549.689 733101.242 0, 1347261.511 733080.794 0, 1346973.331 733060.364 0, 1346685.15 733039.95 0, 1346395.629 733019.458 0, 1346002.453 738576.921 0,
+ 1345609.259 744134.654 0, 1345898.122 744155.099 0, 1346185.649 744175.466 0, 1346473.175 744195.85 0, 1346760.699 744216.252 0, 1347048.222 744236.67 0, 1347335.744 744257.105 0, 1347623.265 744277.557 0, 1347910.785 744298.026 0, 1348198.303 744318.511 0,
+ 1348485.82 744339.014 0, 1348773.336 744359.534 0, 1349060.851 744380.07 0, 1349348.365 744400.624 0, 1349635.877 744421.194 0, 1349923.388 744441.782 0, 1350210.898 744462.386 0, 1350498.407 744483.007 0, 1350785.914 744503.645 0, 1351073.42 744524.3 0,
+ 1351360.926 744544.972 0, 1351648.429 744565.661 0, 1351935.932 744586.367 0, 1352223.433 744607.089 0, 1352509.599 744627.733 0, 1352798.433 744648.586 0, 1353085.93 744669.359 0, 1353373.427 744690.15 0, 1353660.922 744710.957 0, 1353948.416 744731.781 0,
+ 1354235.909 744752.622 0, 1354523.401 744773.48 0, 1354810.891 744794.355 0, 1355098.38 744815.247 0, 1355385.868 744836.156 0, 1355673.355 744857.082 0, 1355960.84 744878.025 0, 1356248.324 744898.984 0, 1356535.807 744919.961 0, 1356823.289 744940.954 0,
+ 1357110.77 744961.965 0, 1357398.249 744982.992 0, 1357685.727 745004.036 0, 1357973.204 745025.097 0, 1358260.679 745046.175 0, 1358548.154 745067.27 0, 1358835.627 745088.382 0, 1359123.099 745109.511 0, 1359409.236 745130.558 0, 1359818.13 739573.958 0,
+ 1360227.005 734017.629 0))
+
+POLYGON ((1373206.344 746165.446 0, 1372920.266 746143.59 0, 1372632.855 746121.65 0, 1372345.442 746099.726 0, 1372058.029 746077.818 0, 1371770.614 746055.928 0, 1371483.198 746034.055 0, 1371195.78 746012.199 0, 1370908.362 745990.359 0, 1370620.942 745968.537 0,
+ 1370333.52 745946.731 0, 1370046.098 745924.943 0, 1369758.674 745903.171 0, 1369471.249 745881.416 0, 1369183.822 745859.678 0, 1368896.394 745837.957 0, 1368608.966 745816.253 0, 1368321.535 745794.566 0, 1368034.104 745772.896 0, 1367746.671 745751.243 0,
+ 1367459.237 745729.606 0, 1367171.801 745707.987 0, 1366884.365 745686.384 0, 1366596.927 745664.799 0, 1366308.156 745643.13 0, 1366022.047 745621.678 0, 1365734.606 745600.143 0, 1365447.163 745578.625 0, 1365159.718 745557.124 0, 1364872.273 745535.64 0,
+ 1364584.826 745514.173 0, 1364297.378 745492.723 0, 1364009.929 745471.289 0, 1363722.478 745449.873 0, 1363435.026 745428.473 0, 1363147.573 745407.091 0, 1362860.119 745385.725 0, 1362572.663 745364.376 0, 1362285.207 745343.045 0, 1361997.748 745321.73 0,
+ 1361710.289 745300.432 0, 1361422.829 745279.15 0, 1361135.367 745257.886 0, 1360847.904 745236.639 0, 1360560.439 745215.409 0, 1360272.974 745194.195 0, 1359985.507 745172.999 0, 1359698.039 745151.819 0, 1359409.236 745130.558 0, 1359000.321 750687.426 0,
+ 1358591.388 756244.557 0, 1358879.533 756265.77 0, 1359166.347 756286.901 0, 1359453.16 756308.049 0, 1359739.971 756329.214 0, 1360026.782 756350.396 0, 1360313.591 756371.595 0, 1360600.398 756392.811 0, 1360887.205 756414.044 0, 1361174.01 756435.293 0,
+ 1361460.814 756456.56 0, 1361747.617 756477.843 0, 1362034.418 756499.143 0, 1362321.218 756520.46 0, 1362608.017 756541.794 0, 1362894.815 756563.145 0, 1363181.612 756584.513 0, 1363468.407 756605.897 0, 1363755.201 756627.299 0, 1364041.993 756648.717 0,
+ 1364328.785 756670.152 0, 1364615.575 756691.605 0, 1364902.364 756713.074 0, 1365189.151 756734.559 0, 1365474.609 756755.962 0, 1365762.723 756777.582 0, 1366049.507 756799.118 0, 1366336.289 756820.672 0, 1366623.071 756842.242 0, 1366909.851 756863.829 0,
+ 1367196.629 756885.433 0, 1367483.407 756907.054 0, 1367770.183 756928.692 0, 1368056.958 756950.346 0, 1368343.732 756972.018 0, 1368630.504 756993.706 0, 1368917.275 757015.412 0, 1369204.045 757037.134 0, 1369490.813 757058.873 0, 1369777.581 757080.629 0,
+ 1370064.347 757102.402 0, 1370351.111 757124.191 0, 1370637.875 757145.998 0, 1370924.637 757167.821 0, 1371211.398 757189.662 0, 1371498.157 757211.519 0, 1371784.916 757233.393 0, 1372071.673 757255.284 0, 1372357.1 757277.09 0, 1372781.732 751721.137 0,
+ 1373206.344 746165.446 0))
+
+POLYGON ((1386119.841 758348.51 0, 1385834.474 758325.897 0, 1385547.78 758303.196 0, 1385261.085 758280.512 0, 1384974.388 758257.845 0, 1384687.69 758235.194 0, 1384400.991 758212.561 0, 1384114.29 758189.944 0, 1383827.588 758167.344 0, 1383540.885 758144.761 0,
+ 1383254.18 758122.195 0, 1382967.474 758099.646 0, 1382680.767 758077.114 0, 1382394.058 758054.599 0, 1382107.348 758032.1 0, 1381820.637 758009.619 0, 1381533.924 757987.154 0, 1381247.21 757964.706 0, 1380960.495 757942.275 0, 1380673.778 757919.861 0,
+ 1380387.061 757897.463 0, 1380100.341 757875.083 0, 1379813.621 757852.72 0, 1379526.899 757830.373 0, 1379238.849 757807.94 0, 1378953.451 757785.73 0, 1378666.726 757763.434 0, 1378379.998 757741.155 0, 1378093.27 757718.893 0, 1377806.54 757696.647 0,
+ 1377519.809 757674.419 0, 1377233.077 757652.207 0, 1376946.343 757630.013 0, 1376659.608 757607.835 0, 1376372.872 757585.674 0, 1376086.135 757563.53 0, 1375799.396 757541.402 0, 1375512.656 757519.292 0, 1375225.914 757497.198 0, 1374939.171 757475.122 0,
+ 1374652.427 757453.062 0, 1374365.682 757431.019 0, 1374078.935 757408.993 0, 1373792.187 757386.984 0, 1373505.438 757364.992 0, 1373218.688 757343.017 0, 1372931.936 757321.058 0, 1372645.183 757299.117 0, 1372357.1 757277.09 0, 1371932.448 762833.304 0,
+ 1371507.777 768389.775 0, 1371795.202 768411.751 0, 1372081.301 768433.643 0, 1372367.399 768455.551 0, 1372653.495 768477.476 0, 1372939.591 768499.418 0, 1373225.684 768521.377 0, 1373511.777 768543.353 0, 1373797.868 768565.346 0, 1374083.958 768587.355 0,
+ 1374370.047 768609.381 0, 1374656.135 768631.424 0, 1374942.221 768653.484 0, 1375228.305 768675.561 0, 1375514.389 768697.655 0, 1375800.471 768719.765 0, 1376086.552 768741.892 0, 1376372.632 768764.037 0, 1376658.71 768786.198 0, 1376944.787 768808.375 0,
+ 1377230.863 768830.57 0, 1377516.937 768852.782 0, 1377803.01 768875.01 0, 1378089.082 768897.255 0, 1378373.829 768919.414 0, 1378661.222 768941.796 0, 1378947.289 768964.091 0, 1379233.356 768986.404 0, 1379519.421 769008.733 0, 1379805.485 769031.079 0,
+ 1380091.548 769053.442 0, 1380377.609 769075.822 0, 1380663.669 769098.219 0, 1380949.728 769120.633 0, 1381235.785 769143.063 0, 1381521.841 769165.51 0, 1381807.895 769187.974 0, 1382093.949 769210.455 0, 1382380.001 769232.953 0, 1382666.052 769255.467 0,
+ 1382952.101 769277.999 0, 1383238.149 769300.547 0, 1383524.196 769323.112 0, 1383810.241 769345.694 0, 1384096.285 769368.293 0, 1384382.328 769390.908 0, 1384668.369 769413.541 0, 1384954.409 769436.19 0, 1385239.126 769458.751 0, 1385679.494 763903.502 0,
+ 1386119.841 758348.51 0))
+
+POLYGON ((1398967.4 770566.516 0, 1398682.746 770543.15 0, 1398396.771 770519.693 0, 1398110.795 770496.253 0, 1397824.817 770472.829 0, 1397538.838 770449.422 0, 1397252.857 770426.032 0, 1396966.876 770402.659 0, 1396680.892 770379.303 0, 1396394.908 770355.964 0,
+ 1396108.922 770332.641 0, 1395822.935 770309.335 0, 1395536.946 770286.046 0, 1395250.956 770262.774 0, 1394964.964 770239.519 0, 1394678.972 770216.28 0, 1394392.977 770193.059 0, 1394106.982 770169.854 0, 1393820.985 770146.666 0, 1393534.987 770123.495 0,
+ 1393248.987 770100.341 0, 1392962.986 770077.203 0, 1392676.984 770054.083 0, 1392390.98 770030.979 0, 1392103.654 770007.785 0, 1391818.969 769984.822 0, 1391532.961 769961.769 0, 1391246.952 769938.732 0, 1390960.941 769915.713 0, 1390674.929 769892.71 0,
+ 1390388.916 769869.724 0, 1390102.902 769846.755 0, 1389816.886 769823.803 0, 1389530.868 769800.867 0, 1389244.85 769777.948 0, 1388958.83 769755.047 0, 1388672.808 769732.162 0, 1388386.786 769709.294 0, 1388100.762 769686.442 0, 1387814.736 769663.608 0,
+ 1387528.71 769640.79 0, 1387242.682 769617.99 0, 1386956.652 769595.206 0, 1386670.622 769572.439 0, 1386384.59 769549.688 0, 1386098.556 769526.955 0, 1385812.522 769504.238 0, 1385526.485 769481.539 0, 1385239.126 769458.751 0, 1384798.738 775014.253 0,
+ 1384358.33 780570.005 0, 1384645.033 780592.74 0, 1384930.415 780615.388 0, 1385215.796 780638.053 0, 1385501.175 780660.734 0, 1385786.553 780683.433 0, 1386071.93 780706.148 0, 1386357.305 780728.879 0, 1386642.679 780751.628 0, 1386928.052 780774.393 0,
+ 1387213.423 780797.176 0, 1387498.793 780819.975 0, 1387784.162 780842.79 0, 1388069.529 780865.623 0, 1388354.895 780888.472 0, 1388640.26 780911.339 0, 1388925.623 780934.222 0, 1389210.985 780957.121 0, 1389496.346 780980.038 0, 1389781.705 781002.971 0,
+ 1390067.063 781025.922 0, 1390352.42 781048.889 0, 1390637.775 781071.872 0, 1390923.129 781094.873 0, 1391207.163 781117.784 0, 1391493.833 781140.924 0, 1391779.182 781163.975 0, 1392064.531 781187.043 0, 1392349.878 781210.128 0, 1392635.224 781233.229 0,
+ 1392920.568 781256.347 0, 1393205.911 781279.482 0, 1393491.253 781302.634 0, 1393776.593 781325.802 0, 1394061.932 781348.988 0, 1394347.269 781372.19 0, 1394632.606 781395.409 0, 1394917.94 781418.644 0, 1395203.274 781441.897 0, 1395488.606 781465.166 0,
+ 1395773.937 781488.452 0, 1396059.266 781511.755 0, 1396344.594 781535.075 0, 1396629.921 781558.411 0, 1396915.246 781581.764 0, 1397200.57 781605.134 0, 1397485.892 781628.521 0, 1397771.213 781651.925 0, 1398055.216 781675.237 0, 1398511.318 776120.752 0,
+ 1398967.4 770566.516 0))
+
+POLYGON ((1411748.925 782819.161 0, 1411464.987 782795.046 0, 1411179.733 782770.837 0, 1410894.478 782746.644 0, 1410609.221 782722.468 0, 1410323.963 782698.309 0, 1410038.704 782674.166 0, 1409753.443 782650.04 0, 1409468.18 782625.932 0, 1409182.916 782601.84 0,
+ 1408897.651 782577.764 0, 1408612.385 782553.706 0, 1408327.117 782529.664 0, 1408041.847 782505.639 0, 1407756.576 782481.631 0, 1407471.304 782457.64 0, 1407186.03 782433.665 0, 1406900.755 782409.707 0, 1406615.479 782385.766 0, 1406330.201 782361.842 0,
+ 1406044.921 782337.935 0, 1405759.641 782314.044 0, 1405474.359 782290.17 0, 1405189.075 782266.313 0, 1404902.474 782242.363 0, 1404618.504 782218.65 0, 1404333.216 782194.843 0, 1404047.927 782171.053 0, 1403762.636 782147.28 0, 1403477.344 782123.524 0,
+ 1403192.051 782099.784 0, 1402906.756 782076.062 0, 1402621.46 782052.356 0, 1402336.163 782028.667 0, 1402050.864 782004.994 0, 1401765.563 781981.339 0, 1401480.262 781957.7 0, 1401194.959 781934.078 0, 1400909.654 781910.473 0, 1400624.348 781886.885 0,
+ 1400339.041 781863.313 0, 1400053.732 781839.758 0, 1399768.422 781816.22 0, 1399483.111 781792.699 0, 1399197.798 781769.195 0, 1398912.484 781745.707 0, 1398627.168 781722.236 0, 1398341.851 781698.782 0, 1398055.216 781675.237 0, 1397599.094 787229.968 0,
+ 1397142.952 792784.942 0, 1397428.93 792808.434 0, 1397713.593 792831.834 0, 1397998.255 792855.251 0, 1398282.915 792878.685 0, 1398567.574 792902.135 0, 1398852.232 792925.602 0, 1399136.888 792949.086 0, 1399421.542 792972.587 0, 1399706.196 792996.105 0,
+ 1399990.848 793019.639 0, 1400275.499 793043.19 0, 1400560.148 793066.758 0, 1400844.796 793090.342 0, 1401129.442 793113.944 0, 1401414.087 793137.562 0, 1401698.731 793161.197 0, 1401983.373 793184.848 0, 1402268.014 793208.516 0, 1402552.654 793232.202 0,
+ 1402837.292 793255.903 0, 1403121.928 793279.622 0, 1403406.564 793303.357 0, 1403691.198 793327.109 0, 1403974.518 793350.769 0, 1404260.461 793374.664 0, 1404545.091 793398.466 0, 1404829.719 793422.285 0, 1405114.346 793446.121 0, 1405398.972 793469.974 0,
+ 1405683.596 793493.843 0, 1405968.219 793517.729 0, 1406252.84 793541.632 0, 1406537.46 793565.552 0, 1406822.078 793589.488 0, 1407106.695 793613.441 0, 1407391.311 793637.411 0, 1407675.925 793661.398 0, 1407960.538 793685.401 0, 1408245.15 793709.421 0,
+ 1408529.76 793733.458 0, 1408814.368 793757.512 0, 1409098.975 793781.582 0, 1409383.581 793805.669 0, 1409668.186 793829.773 0, 1409952.788 793853.894 0, 1410237.39 793878.031 0, 1410521.99 793902.185 0, 1410805.277 793926.245 0, 1411277.111 788372.582 0,
+ 1411748.925 782819.161 0))
+
+POLYGON ((1424464.324 795106.141 0, 1424181.104 795081.281 0, 1423896.573 795056.323 0, 1423612.041 795031.382 0, 1423327.507 795006.457 0, 1423042.972 794981.549 0, 1422758.436 794956.658 0, 1422473.897 794931.784 0, 1422189.358 794906.926 0, 1421904.817 794882.085 0,
+ 1421620.275 794857.261 0, 1421335.731 794832.454 0, 1421051.185 794807.663 0, 1420766.638 794782.889 0, 1420482.09 794758.132 0, 1420197.54 794733.392 0, 1419912.989 794708.668 0, 1419628.437 794683.961 0, 1419343.883 794659.271 0, 1419059.327 794634.598 0,
+ 1418774.77 794609.941 0, 1418490.212 794585.301 0, 1418205.652 794560.678 0, 1417921.09 794536.072 0, 1417635.217 794511.369 0, 1417351.963 794486.909 0, 1417067.398 794462.353 0, 1416782.831 794437.814 0, 1416498.262 794413.291 0, 1416213.692 794388.785 0,
+ 1415929.12 794364.296 0, 1415644.548 794339.824 0, 1415359.973 794315.368 0, 1415075.397 794290.929 0, 1414790.82 794266.507 0, 1414506.242 794242.102 0, 1414221.661 794217.713 0, 1413937.08 794193.341 0, 1413652.497 794168.986 0, 1413367.913 794144.648 0,
+ 1413083.327 794120.326 0, 1412798.74 794096.021 0, 1412514.151 794071.733 0, 1412229.561 794047.462 0, 1411944.969 794023.207 0, 1411660.376 793998.969 0, 1411375.782 793974.748 0, 1411091.186 793950.544 0, 1410805.277 793926.245 0, 1410333.423 799480.146 0,
+ 1409861.548 805034.284 0, 1410146.8 805058.527 0, 1410430.742 805082.676 0, 1410714.683 805106.841 0, 1410998.622 805131.023 0, 1411282.56 805155.222 0, 1411566.496 805179.438 0, 1411850.431 805203.67 0, 1412134.365 805227.919 0, 1412418.297 805252.185 0,
+ 1412702.227 805276.467 0, 1412986.157 805300.767 0, 1413270.084 805325.083 0, 1413554.011 805349.415 0, 1413837.936 805373.764 0, 1414121.859 805398.13 0, 1414405.781 805422.513 0, 1414689.702 805446.913 0, 1414973.621 805471.329 0, 1415257.539 805495.762 0,
+ 1415541.455 805520.211 0, 1415825.37 805544.678 0, 1416109.283 805569.161 0, 1416393.195 805593.66 0, 1416675.798 805618.064 0, 1416961.015 805642.71 0, 1417244.922 805667.26 0, 1417528.828 805691.826 0, 1417812.733 805716.41 0, 1418096.636 805741.01 0,
+ 1418380.538 805765.626 0, 1418664.439 805790.26 0, 1418948.338 805814.91 0, 1419232.235 805839.577 0, 1419516.131 805864.26 0, 1419800.026 805888.96 0, 1420083.919 805913.677 0, 1420367.811 805938.411 0, 1420651.701 805963.161 0, 1420935.59 805987.928 0,
+ 1421219.477 806012.712 0, 1421503.363 806037.513 0, 1421787.247 806062.33 0, 1422071.13 806087.164 0, 1422355.012 806112.014 0, 1422638.892 806136.882 0, 1422922.77 806161.766 0, 1423206.647 806186.667 0, 1423489.217 806211.469 0, 1423976.781 800658.688 0,
+ 1424464.324 795106.141 0))
+
+POLYGON ((1437113.505 807427.151 0, 1436831.004 807401.55 0, 1436547.199 807375.847 0, 1436263.392 807350.161 0, 1435979.583 807324.492 0, 1435695.773 807298.84 0, 1435411.961 807273.204 0, 1435128.148 807247.585 0, 1434844.333 807221.982 0, 1434560.517 807196.396 0,
+ 1434276.7 807170.827 0, 1433992.88 807145.275 0, 1433709.06 807119.74 0, 1433425.238 807094.221 0, 1433141.414 807068.718 0, 1432857.589 807043.233 0, 1432573.762 807017.764 0, 1432289.934 806992.312 0, 1432006.104 806966.877 0, 1431722.273 806941.458 0,
+ 1431438.44 806916.056 0, 1431154.606 806890.671 0, 1430870.771 806865.302 0, 1430586.934 806839.95 0, 1430301.79 806814.499 0, 1430019.255 806789.297 0, 1429735.413 806763.995 0, 1429451.57 806738.71 0, 1429167.725 806713.442 0, 1428883.879 806688.19 0,
+ 1428600.032 806662.955 0, 1428316.183 806637.737 0, 1428032.332 806612.536 0, 1427748.48 806587.351 0, 1427464.627 806562.183 0, 1427180.772 806537.031 0, 1426896.915 806511.897 0, 1426613.057 806486.779 0, 1426329.198 806461.678 0, 1426045.337 806436.593 0,
+ 1425761.475 806411.525 0, 1425477.611 806386.474 0, 1425193.746 806361.44 0, 1424909.879 806336.422 0, 1424626.01 806311.421 0, 1424342.141 806286.437 0, 1424058.27 806261.469 0, 1423774.397 806236.518 0, 1423489.217 806211.469 0, 1423001.633 811764.483 0,
+ 1422514.028 817317.724 0, 1422798.552 817342.715 0, 1423081.771 817367.609 0, 1423364.988 817392.519 0, 1423648.204 817417.446 0, 1423931.419 817442.389 0, 1424214.632 817467.349 0, 1424497.843 817492.326 0, 1424781.054 817517.319 0, 1425064.262 817542.33 0,
+ 1425347.47 817567.356 0, 1425630.675 817592.4 0, 1425913.88 817617.46 0, 1426197.082 817642.537 0, 1426480.284 817667.63 0, 1426763.484 817692.74 0, 1427046.682 817717.867 0, 1427329.879 817743.01 0, 1427613.074 817768.171 0, 1427896.268 817793.347 0,
+ 1428179.461 817818.541 0, 1428462.652 817843.751 0, 1428745.841 817868.978 0, 1429029.029 817894.221 0, 1429310.914 817919.365 0, 1429595.401 817944.758 0, 1429878.584 817970.052 0, 1430161.766 817995.362 0, 1430444.947 818020.689 0, 1430728.126 818046.032 0,
+ 1431011.303 818071.392 0, 1431294.48 818096.769 0, 1431577.654 818122.162 0, 1431860.827 818147.573 0, 1432143.999 818172.999 0, 1432427.169 818198.443 0, 1432710.337 818223.903 0, 1432993.505 818249.38 0, 1433276.67 818274.873 0, 1433559.834 818300.383 0,
+ 1433842.997 818325.91 0, 1434126.158 818351.454 0, 1434409.318 818377.014 0, 1434692.476 818402.591 0, 1434975.632 818428.184 0, 1435258.787 818453.794 0, 1435541.941 818479.421 0, 1435825.093 818505.064 0, 1436106.943 818530.607 0, 1436610.234 812978.765 0,
+ 1437113.505 807427.151 0))
+
+POLYGON ((1449696.377 819781.887 0, 1449414.598 819755.548 0, 1449131.52 819729.105 0, 1448848.44 819702.678 0, 1448565.358 819676.268 0, 1448282.275 819649.875 0, 1447999.19 819623.498 0, 1447716.104 819597.138 0, 1447433.016 819570.795 0, 1447149.927 819544.468 0,
+ 1446866.836 819518.158 0, 1446583.743 819491.865 0, 1446300.649 819465.588 0, 1446017.554 819439.328 0, 1445734.457 819413.085 0, 1445451.358 819386.858 0, 1445168.258 819360.648 0, 1444885.156 819334.454 0, 1444602.053 819308.278 0, 1444318.948 819282.118 0,
+ 1444035.842 819255.974 0, 1443752.734 819229.847 0, 1443469.625 819203.737 0, 1443186.514 819177.644 0, 1442902.102 819151.448 0, 1442620.287 819125.507 0, 1442337.172 819099.464 0, 1442054.054 819073.437 0, 1441770.936 819047.427 0, 1441487.816 819021.433 0,
+ 1441204.694 818995.457 0, 1440921.571 818969.497 0, 1440638.446 818943.553 0, 1440355.32 818917.626 0, 1440072.192 818891.716 0, 1439789.063 818865.823 0, 1439505.932 818839.946 0, 1439222.8 818814.086 0, 1438939.666 818788.242 0, 1438656.53 818762.416 0,
+ 1438373.393 818736.606 0, 1438090.255 818710.812 0, 1437807.115 818685.035 0, 1437523.974 818659.275 0, 1437240.831 818633.532 0, 1436957.686 818607.805 0, 1436674.54 818582.095 0, 1436391.393 818556.401 0, 1436106.943 818530.607 0, 1435603.631 824082.673 0,
+ 1435100.3 829634.96 0, 1435384.093 829660.695 0, 1435666.587 829686.329 0, 1435949.079 829711.98 0, 1436231.57 829737.647 0, 1436514.059 829763.331 0, 1436796.547 829789.032 0, 1437079.034 829814.749 0, 1437361.519 829840.483 0, 1437644.002 829866.234 0,
+ 1437926.484 829892.001 0, 1438208.964 829917.784 0, 1438491.443 829943.585 0, 1438773.92 829969.402 0, 1439056.396 829995.236 0, 1439338.87 830021.086 0, 1439621.343 830046.953 0, 1439903.814 830072.836 0, 1440186.284 830098.737 0, 1440468.752 830124.653 0,
+ 1440751.219 830150.587 0, 1441033.684 830176.537 0, 1441316.147 830202.504 0, 1441598.609 830228.487 0, 1441879.774 830254.367 0, 1442163.529 830280.503 0, 1442445.986 830306.537 0, 1442728.442 830332.586 0, 1443010.897 830358.653 0, 1443293.35 830384.736 0,
+ 1443575.801 830410.835 0, 1443858.251 830436.952 0, 1444140.699 830463.085 0, 1444423.146 830489.234 0, 1444705.591 830515.4 0, 1444988.034 830541.583 0, 1445270.476 830567.783 0, 1445552.917 830593.999 0, 1445835.356 830620.231 0, 1446117.793 830646.481 0,
+ 1446400.229 830672.747 0, 1446682.664 830699.029 0, 1446965.097 830725.328 0, 1447247.528 830751.644 0, 1447529.958 830777.976 0, 1447812.386 830804.326 0, 1448094.812 830830.691 0, 1448377.237 830857.073 0, 1448658.366 830883.351 0, 1449177.382 825332.509 0,
+ 1449696.377 819781.887 0))
+
+POLYGON ((1462212.851 832170.042 0, 1461931.796 832142.97 0, 1461649.446 832115.79 0, 1461367.095 832088.626 0, 1461084.743 832061.479 0, 1460802.389 832034.349 0, 1460520.033 832007.236 0, 1460237.675 831980.139 0, 1459955.316 831953.058 0, 1459672.956 831925.995 0,
+ 1459390.594 831898.947 0, 1459108.23 831871.917 0, 1458825.865 831844.903 0, 1458543.498 831817.906 0, 1458261.129 831790.925 0, 1457978.759 831763.961 0, 1457696.387 831737.014 0, 1457414.014 831710.083 0, 1457131.639 831683.169 0, 1456849.263 831656.271 0,
+ 1456566.885 831629.39 0, 1456284.505 831602.526 0, 1456002.124 831575.678 0, 1455719.741 831548.847 0, 1455436.063 831521.91 0, 1455154.971 831495.235 0, 1454872.583 831468.454 0, 1454590.194 831441.689 0, 1454307.803 831414.941 0, 1454025.411 831388.21 0,
+ 1453743.017 831361.495 0, 1453460.622 831334.797 0, 1453178.225 831308.115 0, 1452895.827 831281.451 0, 1452613.426 831254.802 0, 1452331.025 831228.171 0, 1452048.622 831201.556 0, 1451766.217 831174.957 0, 1451483.81 831148.376 0, 1451201.402 831121.811 0,
+ 1450918.993 831095.262 0, 1450636.582 831068.73 0, 1450354.169 831042.215 0, 1450071.755 831015.716 0, 1449789.339 830989.234 0, 1449506.922 830962.769 0, 1449224.503 830936.32 0, 1448942.083 830909.888 0, 1448658.366 830883.351 0, 1448139.33 836434.411 0,
+ 1447620.274 841985.684 0, 1447903.334 842012.159 0, 1448185.101 842038.53 0, 1448466.867 842064.918 0, 1448748.63 842091.322 0, 1449030.393 842117.743 0, 1449312.153 842144.18 0, 1449593.913 842170.634 0, 1449875.67 842197.104 0, 1450157.426 842223.592 0,
+ 1450439.181 842250.095 0, 1450720.934 842276.615 0, 1451002.685 842303.152 0, 1451284.435 842329.706 0, 1451566.183 842356.276 0, 1451847.93 842382.862 0, 1452129.675 842409.465 0, 1452411.418 842436.085 0, 1452693.16 842462.722 0, 1452974.901 842489.374 0,
+ 1453256.64 842516.044 0, 1453538.377 842542.73 0, 1453820.113 842569.433 0, 1454101.847 842596.152 0, 1454382.289 842622.765 0, 1454665.31 842649.64 0, 1454947.04 842676.409 0, 1455228.768 842703.195 0, 1455510.494 842729.997 0, 1455792.219 842756.816 0,
+ 1456073.942 842783.651 0, 1456355.663 842810.503 0, 1456637.383 842837.371 0, 1456919.101 842864.256 0, 1457200.818 842891.158 0, 1457482.533 842918.076 0, 1457764.247 842945.011 0, 1458045.959 842971.962 0, 1458327.67 842998.93 0, 1458609.378 843025.915 0,
+ 1458891.086 843052.916 0, 1459172.791 843079.934 0, 1459454.495 843106.968 0, 1459736.198 843134.019 0, 1460017.899 843161.086 0, 1460299.598 843188.17 0, 1460581.296 843215.271 0, 1460862.992 843242.388 0, 1461143.397 843269.398 0, 1461678.134 837719.613 0,
+ 1462212.851 832170.042 0))
+
+POLYGON ((1474662.84 844591.311 0, 1474382.51 844563.51 0, 1474100.891 844535.597 0, 1473819.271 844507.7 0, 1473537.65 844479.821 0, 1473256.026 844451.957 0, 1472974.401 844424.111 0, 1472692.775 844396.281 0, 1472411.147 844368.467 0, 1472129.517 844340.67 0,
+ 1471847.885 844312.89 0, 1471566.252 844285.126 0, 1471284.617 844257.379 0, 1471002.981 844229.649 0, 1470721.343 844201.935 0, 1470439.703 844174.237 0, 1470158.062 844146.556 0, 1469876.419 844118.892 0, 1469594.775 844091.244 0, 1469313.128 844063.613 0,
+ 1469031.481 844035.999 0, 1468749.831 844008.401 0, 1468468.18 843980.819 0, 1468186.528 843953.254 0, 1467903.585 843925.58 0, 1467623.217 843898.174 0, 1467341.56 843870.659 0, 1467059.901 843843.161 0, 1466778.24 843815.679 0, 1466496.578 843788.214 0,
+ 1466214.914 843760.765 0, 1465933.248 843733.333 0, 1465651.581 843705.917 0, 1465369.912 843678.518 0, 1465088.241 843651.136 0, 1464806.569 843623.77 0, 1464524.896 843596.42 0, 1464243.22 843569.088 0, 1463961.544 843541.771 0, 1463679.865 843514.472 0,
+ 1463398.185 843487.189 0, 1463116.503 843459.923 0, 1462834.82 843432.673 0, 1462553.135 843405.439 0, 1462271.448 843378.223 0, 1461989.76 843351.023 0, 1461708.071 843323.839 0, 1461426.379 843296.672 0, 1461143.397 843269.398 0, 1460608.639 848819.392 0,
+ 1460073.862 854369.592 0, 1460356.188 854396.803 0, 1460637.226 854423.907 0, 1460918.262 854451.028 0, 1461199.297 854478.165 0, 1461480.33 854505.318 0, 1461761.362 854532.488 0, 1462042.392 854559.675 0, 1462323.42 854586.878 0, 1462604.447 854614.098 0,
+ 1462885.472 854641.334 0, 1463166.496 854668.587 0, 1463447.518 854695.856 0, 1463728.538 854723.142 0, 1464009.557 854750.444 0, 1464290.574 854777.763 0, 1464571.59 854805.099 0, 1464852.604 854832.451 0, 1465133.616 854859.819 0, 1465414.627 854887.205 0,
+ 1465695.636 854914.606 0, 1465976.643 854942.024 0, 1466257.649 854969.459 0, 1466538.654 854996.91 0, 1466818.371 855024.253 0, 1467100.657 855051.863 0, 1467381.657 855079.363 0, 1467662.655 855106.881 0, 1467943.651 855134.415 0, 1468224.645 855161.965 0,
+ 1468505.638 855189.532 0, 1468786.63 855217.116 0, 1469067.619 855244.716 0, 1469348.607 855272.333 0, 1469629.594 855299.966 0, 1469910.579 855327.616 0, 1470191.562 855355.282 0, 1470472.543 855382.965 0, 1470753.523 855410.664 0, 1471034.502 855438.38 0,
+ 1471315.478 855466.112 0, 1471596.453 855493.861 0, 1471877.427 855521.627 0, 1472158.398 855549.409 0, 1472439.369 855577.208 0, 1472720.337 855605.023 0, 1473001.304 855632.854 0, 1473282.269 855660.702 0, 1473561.949 855688.44 0, 1474112.404 850139.773 0,
+ 1474662.84 844591.311 0))
+
+POLYGON ((1487046.256 857045.389 0, 1486766.653 857016.861 0, 1486485.768 856988.219 0, 1486204.881 856959.594 0, 1485923.992 856930.985 0, 1485643.102 856902.393 0, 1485362.209 856873.817 0, 1485081.316 856845.258 0, 1484800.42 856816.715 0, 1484519.523 856788.189 0,
+ 1484238.624 856759.68 0, 1483957.723 856731.187 0, 1483676.821 856702.71 0, 1483395.917 856674.25 0, 1483115.012 856645.807 0, 1482834.104 856617.38 0, 1482553.196 856588.969 0, 1482272.285 856560.575 0, 1481991.373 856532.198 0, 1481710.459 856503.837 0,
+ 1481429.543 856475.493 0, 1481148.626 856447.165 0, 1480867.707 856418.854 0, 1480586.786 856390.559 0, 1480304.581 856362.152 0, 1480024.94 856334.02 0, 1479744.015 856305.775 0, 1479463.087 856277.546 0, 1479182.158 856249.334 0, 1478901.228 856221.139 0,
+ 1478620.296 856192.96 0, 1478339.362 856164.798 0, 1478058.426 856136.652 0, 1477777.489 856108.522 0, 1477496.55 856080.41 0, 1477215.609 856052.313 0, 1476934.667 856024.234 0, 1476653.723 855996.171 0, 1476372.778 855968.124 0, 1476091.831 855940.094 0,
+ 1475810.882 855912.08 0, 1475529.932 855884.083 0, 1475248.98 855856.103 0, 1474968.026 855828.139 0, 1474687.071 855800.191 0, 1474406.114 855772.261 0, 1474125.155 855744.346 0, 1473844.195 855716.448 0, 1473561.949 855688.44 0, 1473011.473 861237.309 0,
+ 1472460.978 866786.377 0, 1472742.567 866814.321 0, 1473022.874 866842.154 0, 1473303.18 866870.003 0, 1473583.484 866897.869 0, 1473863.786 866925.751 0, 1474144.086 866953.65 0, 1474424.385 866981.566 0, 1474704.683 867009.498 0, 1474984.978 867037.446 0,
+ 1475265.272 867065.411 0, 1475545.564 867093.392 0, 1475825.855 867121.39 0, 1476106.144 867149.405 0, 1476386.432 867177.436 0, 1476666.717 867205.483 0, 1476947.001 867233.547 0, 1477227.284 867261.627 0, 1477507.564 867289.724 0, 1477787.844 867317.838 0,
+ 1478068.121 867345.968 0, 1478348.397 867374.114 0, 1478628.671 867402.277 0, 1478908.943 867430.456 0, 1479187.935 867458.523 0, 1479469.483 867486.864 0, 1479749.751 867515.093 0, 1480030.017 867543.339 0, 1480310.281 867571.601 0, 1480590.543 867599.879 0,
+ 1480870.804 867628.174 0, 1481151.063 867656.485 0, 1481431.321 867684.813 0, 1481711.577 867713.157 0, 1481991.831 867741.518 0, 1482272.084 867769.895 0, 1482552.334 867798.289 0, 1482832.584 867826.7 0, 1483112.831 867855.126 0, 1483393.077 867883.57 0,
+ 1483673.321 867912.03 0, 1483953.563 867940.506 0, 1484233.804 867968.999 0, 1484514.043 867997.508 0, 1484794.281 868026.034 0, 1485074.517 868054.576 0, 1485354.751 868083.135 0, 1485634.983 868111.71 0, 1485913.935 868140.171 0, 1486480.106 862592.681 0,
+ 1487046.256 857045.389 0))
+
+POLYGON ((1499363.015 869531.967 0, 1499084.142 869502.718 0, 1498803.991 869473.351 0, 1498523.839 869444 0, 1498243.685 869414.666 0, 1497963.529 869385.349 0, 1497683.372 869356.048 0, 1497403.212 869326.764 0, 1497123.052 869297.496 0, 1496842.889 869268.244 0,
+ 1496562.725 869239.01 0, 1496282.559 869209.791 0, 1496002.391 869180.589 0, 1495722.221 869151.404 0, 1495442.05 869122.235 0, 1495161.877 869093.082 0, 1494881.702 869063.946 0, 1494601.526 869034.827 0, 1494321.348 869005.724 0, 1494041.168 868976.637 0,
+ 1493760.987 868947.567 0, 1493480.803 868918.514 0, 1493200.619 868889.476 0, 1492920.432 868860.456 0, 1492638.966 868831.32 0, 1492360.054 868802.464 0, 1492079.862 868773.493 0, 1491799.668 868744.539 0, 1491519.473 868715.6 0, 1491239.276 868686.679 0,
+ 1490959.078 868657.774 0, 1490678.877 868628.885 0, 1490398.676 868600.013 0, 1490118.472 868571.157 0, 1489838.267 868542.318 0, 1489558.059 868513.496 0, 1489277.851 868484.689 0, 1488997.64 868455.9 0, 1488717.428 868427.126 0, 1488437.214 868398.37 0,
+ 1488156.999 868369.63 0, 1487876.782 868340.906 0, 1487596.563 868312.199 0, 1487316.342 868283.508 0, 1487036.12 868254.834 0, 1486755.896 868226.176 0, 1486475.67 868197.535 0, 1486195.443 868168.91 0, 1485913.935 868140.171 0, 1485347.745 873687.857 0,
+ 1484781.535 879235.733 0, 1485062.387 879264.405 0, 1485341.961 879292.963 0, 1485621.534 879321.537 0, 1485901.105 879350.128 0, 1486180.674 879378.736 0, 1486460.241 879407.359 0, 1486739.807 879436 0, 1487019.372 879464.657 0, 1487298.934 879493.33 0,
+ 1487578.495 879522.019 0, 1487858.054 879550.726 0, 1488137.611 879579.448 0, 1488417.167 879608.187 0, 1488696.721 879636.943 0, 1488976.274 879665.715 0, 1489255.824 879694.503 0, 1489535.373 879723.308 0, 1489814.92 879752.129 0, 1490094.466 879780.967 0,
+ 1490374.01 879809.821 0, 1490653.552 879838.692 0, 1490933.093 879867.579 0, 1491212.631 879896.483 0, 1491490.894 879925.271 0, 1491771.704 879954.339 0, 1492051.237 879983.292 0, 1492330.769 880012.261 0, 1492610.3 880041.247 0, 1492889.828 880070.249 0,
+ 1493169.355 880099.268 0, 1493448.88 880128.303 0, 1493728.404 880157.355 0, 1494007.925 880186.423 0, 1494287.445 880215.508 0, 1494566.964 880244.609 0, 1494846.48 880273.726 0, 1495125.995 880302.86 0, 1495405.508 880332.01 0, 1495685.02 880361.177 0,
+ 1495964.529 880390.36 0, 1496244.037 880419.56 0, 1496523.544 880448.776 0, 1496803.048 880478.009 0, 1497082.551 880507.258 0, 1497362.052 880536.524 0, 1497641.552 880565.806 0, 1497921.049 880595.104 0, 1498199.272 880624.285 0, 1498781.153 875078.031 0,
+ 1499363.015 869531.967 0))
+
+POLYGON ((1511613.033 882050.74 0, 1511334.891 882020.772 0, 1511055.477 881990.684 0, 1510776.062 881960.613 0, 1510496.644 881930.558 0, 1510217.225 881900.519 0, 1509937.804 881870.497 0, 1509658.382 881840.491 0, 1509378.957 881810.502 0, 1509099.531 881780.529 0,
+ 1508820.103 881750.573 0, 1508540.674 881720.633 0, 1508261.242 881690.709 0, 1507981.809 881660.802 0, 1507702.374 881630.912 0, 1507422.937 881601.038 0, 1507143.499 881571.18 0, 1506864.059 881541.339 0, 1506584.617 881511.514 0, 1506305.173 881481.706 0,
+ 1506025.727 881451.914 0, 1505746.28 881422.138 0, 1505466.831 881392.379 0, 1505187.38 881362.637 0, 1504906.656 881332.775 0, 1504628.474 881303.201 0, 1504349.018 881273.508 0, 1504069.56 881243.831 0, 1503790.1 881214.171 0, 1503510.639 881184.527 0,
+ 1503231.176 881154.899 0, 1502951.711 881125.288 0, 1502672.245 881095.694 0, 1502392.777 881066.116 0, 1502113.307 881036.554 0, 1501833.835 881007.009 0, 1501554.362 880977.48 0, 1501274.886 880947.968 0, 1500995.409 880918.472 0, 1500715.931 880888.993 0,
+ 1500436.45 880859.53 0, 1500156.968 880830.084 0, 1499877.485 880800.653 0, 1499597.999 880771.24 0, 1499318.512 880741.843 0, 1499039.023 880712.462 0, 1498759.532 880683.098 0, 1498480.039 880653.75 0, 1498199.272 880624.285 0, 1497617.371 886170.727 0,
+ 1497035.451 891717.353 0, 1497315.563 891746.749 0, 1497594.402 891776.028 0, 1497873.24 891805.323 0, 1498152.076 891834.635 0, 1498430.911 891863.964 0, 1498709.743 891893.309 0, 1498988.574 891922.67 0, 1499267.403 891952.048 0, 1499546.231 891981.442 0,
+ 1499825.057 892010.852 0, 1500103.881 892040.279 0, 1500382.703 892069.723 0, 1500661.524 892099.182 0, 1500940.342 892128.658 0, 1501219.159 892158.151 0, 1501497.975 892187.66 0, 1501776.788 892217.185 0, 1502055.6 892246.727 0, 1502334.411 892276.285 0,
+ 1502613.219 892305.86 0, 1502892.026 892335.451 0, 1503170.83 892365.058 0, 1503449.634 892394.682 0, 1503727.166 892424.188 0, 1504007.235 892453.979 0, 1504286.033 892483.652 0, 1504564.829 892513.342 0, 1504843.623 892543.048 0, 1505122.416 892572.77 0,
+ 1505401.207 892602.509 0, 1505679.996 892632.264 0, 1505958.784 892662.035 0, 1506237.569 892691.823 0, 1506516.353 892721.627 0, 1506795.135 892751.448 0, 1507073.916 892781.285 0, 1507352.695 892811.139 0, 1507631.472 892841.009 0, 1507910.247 892870.895 0,
+ 1508189.02 892900.798 0, 1508467.792 892930.717 0, 1508746.562 892960.653 0, 1509025.33 892990.605 0, 1509304.096 893020.573 0, 1509582.861 893050.558 0, 1509861.623 893080.559 0, 1510140.385 893110.577 0, 1510417.876 893140.475 0, 1511015.464 887595.515 0,
+ 1511613.033 882050.74 0))
+
+POLYGON ((1523796.227 894601.399 0, 1523518.819 894570.717 0, 1523240.144 894539.912 0, 1522961.467 894509.123 0, 1522682.788 894478.351 0, 1522404.108 894447.595 0, 1522125.425 894416.856 0, 1521846.741 894386.133 0, 1521568.055 894355.426 0, 1521289.367 894324.736 0,
+ 1521010.678 894294.062 0, 1520731.986 894263.404 0, 1520453.293 894232.763 0, 1520174.598 894202.139 0, 1519895.901 894171.531 0, 1519617.202 894140.939 0, 1519338.502 894110.363 0, 1519059.8 894079.804 0, 1518781.096 894049.262 0, 1518502.39 894018.735 0,
+ 1518223.682 893988.226 0, 1517944.973 893957.732 0, 1517666.262 893927.255 0, 1517387.549 893896.795 0, 1517107.568 893866.212 0, 1516830.117 893835.923 0, 1516551.399 893805.511 0, 1516272.679 893775.116 0, 1515993.957 893744.738 0, 1515715.233 893714.375 0,
+ 1515436.508 893684.03 0, 1515157.78 893653.7 0, 1514879.051 893623.387 0, 1514600.32 893593.091 0, 1514321.588 893562.811 0, 1514042.853 893532.547 0, 1513764.117 893502.3 0, 1513485.379 893472.069 0, 1513206.639 893441.854 0, 1512927.898 893411.656 0,
+ 1512649.154 893381.474 0, 1512370.409 893351.309 0, 1512091.662 893321.16 0, 1511812.914 893291.028 0, 1511534.163 893260.911 0, 1511255.411 893230.812 0, 1510976.657 893200.728 0, 1510697.901 893170.662 0, 1510417.876 893140.475 0, 1509820.269 898685.613 0,
+ 1509222.643 904230.928 0, 1509502.012 904261.045 0, 1509780.115 904291.041 0, 1510058.216 904321.054 0, 1510336.316 904351.083 0, 1510614.413 904381.129 0, 1510892.509 904411.191 0, 1511170.603 904441.269 0, 1511448.696 904471.364 0, 1511726.786 904501.475 0,
+ 1512004.875 904531.602 0, 1512282.962 904561.746 0, 1512561.048 904591.906 0, 1512839.131 904622.083 0, 1513117.213 904652.275 0, 1513395.293 904682.485 0, 1513673.371 904712.71 0, 1513951.447 904742.952 0, 1514229.522 904773.211 0, 1514507.595 904803.485 0,
+ 1514785.666 904833.776 0, 1515063.735 904864.084 0, 1515341.803 904894.408 0, 1515619.868 904924.748 0, 1515896.669 904954.966 0, 1516175.994 904985.477 0, 1516454.055 905015.867 0, 1516732.113 905046.272 0, 1517010.17 905076.694 0, 1517288.225 905107.133 0,
+ 1517566.278 905137.587 0, 1517844.33 905168.058 0, 1518122.379 905198.546 0, 1518400.427 905229.05 0, 1518678.473 905259.57 0, 1518956.517 905290.107 0, 1519234.56 905320.659 0, 1519512.6 905351.229 0, 1519790.639 905381.814 0, 1520068.676 905412.416 0,
+ 1520346.711 905443.035 0, 1520624.745 905473.67 0, 1520902.776 905504.321 0, 1521180.806 905534.988 0, 1521458.834 905565.672 0, 1521736.86 905596.372 0, 1522014.885 905627.089 0, 1522292.907 905657.822 0, 1522569.666 905688.431 0, 1523182.956 900144.827 0,
+ 1523796.227 894601.399 0))
+
+POLYGON ((1014621.77 453762.149 0, 1014318.622 453761.301 0, 1014014.003 453760.467 0, 1013709.383 453759.652 0, 1013404.764 453758.854 0, 1013100.144 453758.074 0, 1012795.524 453757.311 0, 1012490.905 453756.567 0, 1012186.285 453755.841 0, 1011881.665 453755.133 0,
+ 1011577.046 453754.442 0, 1011272.426 453753.77 0, 1010967.806 453753.115 0, 1010663.186 453752.479 0, 1010358.566 453751.86 0, 1010053.946 453751.26 0, 1009749.326 453750.677 0, 1009444.706 453750.112 0, 1009140.086 453749.565 0, 1008835.466 453749.036 0,
+ 1008530.846 453748.525 0, 1008226.226 453748.032 0, 1007921.605 453747.557 0, 1007616.985 453747.099 0, 1007310.892 453746.658 0, 1007007.745 453746.238 0, 1006703.124 453745.835 0, 1006398.504 453745.449 0, 1006093.884 453745.082 0, 1005789.263 453744.732 0,
+ 1005484.643 453744.4 0, 1005180.023 453744.086 0, 1004875.402 453743.79 0, 1004570.782 453743.512 0, 1004266.161 453743.252 0, 1003961.541 453743.01 0, 1003656.92 453742.786 0, 1003352.3 453742.58 0, 1003047.679 453742.391 0, 1002743.059 453742.221 0,
+ 1002438.438 453742.069 0, 1002133.818 453741.934 0, 1001829.197 453741.817 0, 1001524.577 453741.719 0, 1001219.956 453741.638 0, 1000915.336 453741.575 0, 1000610.715 453741.53 0, 1000306.094 453741.503 0, 1000000 453741.494 0, 1000000 459295.922 0,
+ 1000000 464850.777 0, 1000305.437 464850.786 0, 1000609.404 464850.813 0, 1000913.371 464850.857 0, 1001217.337 464850.92 0, 1001521.304 464851.001 0, 1001825.271 464851.099 0, 1002129.237 464851.216 0, 1002433.204 464851.35 0, 1002737.171 464851.502 0,
+ 1003041.137 464851.672 0, 1003345.104 464851.86 0, 1003649.071 464852.066 0, 1003953.037 464852.289 0, 1004257.004 464852.531 0, 1004560.97 464852.791 0, 1004864.937 464853.068 0, 1005168.904 464853.363 0, 1005472.87 464853.676 0, 1005776.837 464854.008 0,
+ 1006080.803 464854.356 0, 1006384.77 464854.723 0, 1006688.736 464855.108 0, 1006992.702 464855.511 0, 1007295.199 464855.929 0, 1007600.635 464856.37 0, 1007904.602 464856.826 0, 1008208.568 464857.3 0, 1008512.534 464857.792 0, 1008816.5 464858.302 0,
+ 1009120.467 464858.83 0, 1009424.433 464859.376 0, 1009728.399 464859.939 0, 1010032.365 464860.521 0, 1010336.331 464861.12 0, 1010640.297 464861.738 0, 1010944.263 464862.373 0, 1011248.229 464863.026 0, 1011552.195 464863.697 0, 1011856.161 464864.386 0,
+ 1012160.127 464865.093 0, 1012464.093 464865.817 0, 1012768.059 464866.56 0, 1013072.024 464867.32 0, 1013375.99 464868.099 0, 1013679.956 464868.895 0, 1013983.921 464869.709 0, 1014287.887 464870.541 0, 1014590.384 464871.387 0, 1014606.078 459316.555 0,
+ 1014621.77 453762.149 0))
+
+POLYGON ((1029180.652 464933.218 0, 1028878.156 464931.517 0, 1028574.194 464929.826 0, 1028270.232 464928.154 0, 1027966.27 464926.499 0, 1027662.307 464924.861 0, 1027358.345 464923.242 0, 1027054.382 464921.641 0, 1026750.42 464920.058 0, 1026446.457 464918.492 0,
+ 1026142.494 464916.944 0, 1025838.532 464915.415 0, 1025534.569 464913.903 0, 1025230.606 464912.409 0, 1024926.643 464910.933 0, 1024622.679 464909.475 0, 1024318.716 464908.034 0, 1024014.753 464906.612 0, 1023710.789 464905.207 0, 1023406.826 464903.821 0,
+ 1023102.862 464902.452 0, 1022798.898 464901.101 0, 1022494.935 464899.768 0, 1022190.971 464898.453 0, 1021885.54 464897.15 0, 1021583.043 464895.877 0, 1021279.079 464894.615 0, 1020975.115 464893.372 0, 1020671.151 464892.146 0, 1020367.186 464890.938 0,
+ 1020063.222 464889.749 0, 1019759.257 464888.577 0, 1019455.293 464887.423 0, 1019151.328 464886.286 0, 1018847.364 464885.168 0, 1018543.399 464884.068 0, 1018239.434 464882.985 0, 1017935.469 464881.921 0, 1017631.505 464880.874 0, 1017327.54 464879.845 0,
+ 1017023.575 464878.834 0, 1016719.61 464877.841 0, 1016415.644 464876.866 0, 1016111.679 464875.909 0, 1015807.714 464874.97 0, 1015503.749 464874.048 0, 1015199.783 464873.144 0, 1014895.818 464872.259 0, 1014590.384 464871.387 0, 1014574.689 470426.643 0,
+ 1014558.994 475982.319 0, 1014863.77 475983.189 0, 1015167.082 475984.073 0, 1015470.393 475984.975 0, 1015773.704 475985.894 0, 1016077.016 475986.832 0, 1016380.327 475987.787 0, 1016683.638 475988.76 0, 1016986.949 475989.751 0, 1017290.26 475990.76 0,
+ 1017593.571 475991.786 0, 1017896.882 475992.831 0, 1018200.193 475993.893 0, 1018503.504 475994.973 0, 1018806.815 475996.071 0, 1019110.125 475997.187 0, 1019413.436 475998.321 0, 1019716.746 475999.472 0, 1020020.057 476000.642 0, 1020323.367 476001.829 0,
+ 1020626.678 476003.034 0, 1020929.988 476004.257 0, 1021233.298 476005.498 0, 1021536.608 476006.756 0, 1021838.454 476008.027 0, 1022143.228 476009.327 0, 1022446.538 476010.64 0, 1022749.848 476011.97 0, 1023053.157 476013.318 0, 1023356.467 476014.683 0,
+ 1023659.777 476016.067 0, 1023963.086 476017.469 0, 1024266.396 476018.888 0, 1024569.705 476020.325 0, 1024873.014 476021.78 0, 1025176.323 476023.253 0, 1025479.632 476024.744 0, 1025782.941 476026.252 0, 1026086.25 476027.779 0, 1026389.559 476029.323 0,
+ 1026692.868 476030.885 0, 1026996.176 476032.465 0, 1027299.485 476034.063 0, 1027602.793 476035.679 0, 1027906.101 476037.313 0, 1028209.41 476038.964 0, 1028512.718 476040.633 0, 1028816.026 476042.32 0, 1029117.871 476044.017 0, 1029149.263 470488.407 0,
+ 1029180.652 464933.218 0))
+
+POLYGON ((1043676.516 476146.846 0, 1043374.675 476144.296 0, 1043071.372 476141.752 0, 1042768.07 476139.226 0, 1042464.768 476136.718 0, 1042161.465 476134.227 0, 1041858.163 476131.755 0, 1041554.86 476129.3 0, 1041251.557 476126.863 0, 1040948.254 476124.444 0,
+ 1040644.951 476122.043 0, 1040341.647 476119.66 0, 1040038.344 476117.294 0, 1039735.04 476114.946 0, 1039431.736 476112.617 0, 1039128.433 476110.305 0, 1038825.129 476108.011 0, 1038521.824 476105.734 0, 1038218.52 476103.476 0, 1037915.216 476101.235 0,
+ 1037611.911 476099.013 0, 1037308.606 476096.808 0, 1037005.301 476094.621 0, 1036701.997 476092.452 0, 1036397.23 476090.29 0, 1036095.386 476088.167 0, 1035792.081 476086.051 0, 1035488.775 476083.954 0, 1035185.47 476081.874 0, 1034882.164 476079.812 0,
+ 1034578.858 476077.768 0, 1034275.552 476075.741 0, 1033972.246 476073.733 0, 1033668.94 476071.742 0, 1033365.634 476069.77 0, 1033062.327 476067.815 0, 1032759.021 476065.878 0, 1032455.714 476063.958 0, 1032152.407 476062.057 0, 1031849.101 476060.173 0,
+ 1031545.794 476058.308 0, 1031242.486 476056.46 0, 1030939.179 476054.63 0, 1030635.872 476052.818 0, 1030332.565 476051.024 0, 1030029.257 476049.247 0, 1029725.949 476047.489 0, 1029422.642 476045.748 0, 1029117.871 476044.017 0, 1029086.477 481600.045 0,
+ 1029055.081 487156.487 0, 1029359.194 487158.214 0, 1029661.848 487159.951 0, 1029964.501 487161.706 0, 1030267.155 487163.478 0, 1030569.808 487165.269 0, 1030872.461 487167.077 0, 1031175.115 487168.903 0, 1031477.768 487170.747 0, 1031780.421 487172.608 0,
+ 1032083.073 487174.488 0, 1032385.726 487176.385 0, 1032688.379 487178.3 0, 1032991.031 487180.233 0, 1033293.684 487182.184 0, 1033596.336 487184.152 0, 1033898.988 487186.139 0, 1034201.64 487188.143 0, 1034504.292 487190.165 0, 1034806.944 487192.204 0,
+ 1035109.595 487194.262 0, 1035412.247 487196.337 0, 1035714.898 487198.431 0, 1036017.55 487200.542 0, 1036318.742 487202.66 0, 1036622.852 487204.817 0, 1036925.503 487206.981 0, 1037228.153 487209.164 0, 1037530.804 487211.364 0, 1037833.455 487213.582 0,
+ 1038136.105 487215.817 0, 1038438.755 487218.071 0, 1038741.405 487220.342 0, 1039044.055 487222.631 0, 1039346.705 487224.938 0, 1039649.355 487227.263 0, 1039952.005 487229.606 0, 1040254.654 487231.966 0, 1040557.303 487234.344 0, 1040859.953 487236.74 0,
+ 1041162.602 487239.154 0, 1041465.25 487241.586 0, 1041767.899 487244.035 0, 1042070.548 487246.503 0, 1042373.196 487248.988 0, 1042675.845 487251.491 0, 1042978.493 487254.011 0, 1043281.141 487256.55 0, 1043582.331 487259.094 0, 1043629.425 481702.763 0,
+ 1043676.516 476146.846 0))
+
+POLYGON ((1058109.234 487402.743 0, 1057808.049 487399.348 0, 1057505.41 487395.954 0, 1057202.77 487392.579 0, 1056900.13 487389.221 0, 1056597.49 487385.88 0, 1056294.849 487382.558 0, 1055992.209 487379.254 0, 1055689.568 487375.967 0, 1055386.927 487372.698 0,
+ 1055084.286 487369.447 0, 1054781.644 487366.214 0, 1054479.003 487362.998 0, 1054176.361 487359.801 0, 1053873.719 487356.621 0, 1053571.077 487353.459 0, 1053268.435 487350.315 0, 1052965.792 487347.188 0, 1052663.149 487344.08 0, 1052360.506 487340.989 0,
+ 1052057.863 487337.916 0, 1051755.22 487334.861 0, 1051452.577 487331.824 0, 1051149.933 487328.804 0, 1050845.833 487325.788 0, 1050544.645 487322.819 0, 1050242.001 487319.853 0, 1049939.357 487316.904 0, 1049636.713 487313.974 0, 1049334.068 487311.061 0,
+ 1049031.423 487308.167 0, 1048728.778 487305.29 0, 1048426.133 487302.43 0, 1048123.488 487299.589 0, 1047820.842 487296.766 0, 1047518.197 487293.96 0, 1047215.551 487291.172 0, 1046912.905 487288.402 0, 1046610.259 487285.649 0, 1046307.612 487282.915 0,
+ 1046004.966 487280.198 0, 1045702.319 487277.499 0, 1045399.672 487274.818 0, 1045097.026 487272.155 0, 1044794.378 487269.51 0, 1044491.731 487266.882 0, 1044189.084 487264.272 0, 1043886.436 487261.68 0, 1043582.331 487259.094 0, 1043535.234 492815.837 0,
+ 1043488.132 498372.988 0, 1043791.58 498375.569 0, 1044093.574 498378.155 0, 1044395.567 498380.759 0, 1044697.56 498383.381 0, 1044999.553 498386.021 0, 1045301.546 498388.678 0, 1045603.538 498391.354 0, 1045905.531 498394.047 0, 1046207.523 498396.757 0,
+ 1046509.515 498399.486 0, 1046811.507 498402.232 0, 1047113.499 498404.997 0, 1047415.491 498407.778 0, 1047717.482 498410.578 0, 1048019.474 498413.396 0, 1048321.465 498416.231 0, 1048623.456 498419.084 0, 1048925.447 498421.954 0, 1049227.437 498424.843 0,
+ 1049529.428 498427.749 0, 1049831.418 498430.673 0, 1050133.408 498433.615 0, 1050435.398 498436.575 0, 1050735.935 498439.538 0, 1051039.378 498442.548 0, 1051341.367 498445.561 0, 1051643.357 498448.591 0, 1051945.346 498451.64 0, 1052247.335 498454.706 0,
+ 1052549.323 498457.79 0, 1052851.312 498460.892 0, 1053153.3 498464.012 0, 1053455.289 498467.149 0, 1053757.277 498470.304 0, 1054059.264 498473.477 0, 1054361.252 498476.668 0, 1054663.239 498479.876 0, 1054965.227 498483.102 0, 1055267.214 498486.347 0,
+ 1055569.201 498489.608 0, 1055871.187 498492.888 0, 1056173.174 498496.185 0, 1056475.16 498499.5 0, 1056777.146 498502.833 0, 1057079.132 498506.184 0, 1057381.118 498509.552 0, 1057683.103 498512.939 0, 1057983.637 498516.326 0, 1058046.438 492959.33 0,
+ 1058109.234 487402.743 0))
+
+POLYGON ((1072478.678 498700.616 0, 1072178.153 498696.38 0, 1071876.178 498692.14 0, 1071574.203 498687.919 0, 1071272.228 498683.715 0, 1070970.253 498679.529 0, 1070668.277 498675.361 0, 1070366.301 498671.21 0, 1070064.325 498667.077 0, 1069762.348 498662.962 0,
+ 1069460.372 498658.865 0, 1069158.395 498654.786 0, 1068856.418 498650.724 0, 1068554.44 498646.68 0, 1068252.463 498642.654 0, 1067950.485 498638.646 0, 1067648.506 498634.655 0, 1067346.528 498630.683 0, 1067044.55 498626.728 0, 1066742.571 498622.79 0,
+ 1066440.592 498618.871 0, 1066138.612 498614.969 0, 1065836.633 498611.085 0, 1065534.653 498607.219 0, 1065231.223 498603.352 0, 1064930.693 498599.54 0, 1064628.713 498595.727 0, 1064326.732 498591.932 0, 1064024.751 498588.155 0, 1063722.77 498584.396 0,
+ 1063420.789 498580.654 0, 1063118.807 498576.93 0, 1062816.825 498573.224 0, 1062514.843 498569.536 0, 1062212.861 498565.865 0, 1061910.879 498562.212 0, 1061608.896 498558.577 0, 1061306.913 498554.96 0, 1061004.93 498551.36 0, 1060702.947 498547.778 0,
+ 1060400.964 498544.215 0, 1060098.98 498540.668 0, 1059796.996 498537.14 0, 1059495.012 498533.629 0, 1059193.028 498530.136 0, 1058891.043 498526.661 0, 1058589.059 498523.204 0, 1058287.074 498519.764 0, 1057983.637 498516.326 0, 1057920.831 504073.728 0,
+ 1057858.021 509631.531 0, 1058160.801 509634.962 0, 1058462.132 509638.394 0, 1058763.462 509641.844 0, 1059064.792 509645.311 0, 1059366.122 509648.797 0, 1059667.452 509652.3 0, 1059968.782 509655.82 0, 1060270.111 509659.359 0, 1060571.441 509662.915 0,
+ 1060872.77 509666.489 0, 1061174.098 509670.081 0, 1061475.427 509673.69 0, 1061776.756 509677.318 0, 1062078.084 509680.963 0, 1062379.412 509684.625 0, 1062680.739 509688.306 0, 1062982.067 509692.004 0, 1063283.394 509695.72 0, 1063584.721 509699.453 0,
+ 1063886.048 509703.205 0, 1064187.375 509706.974 0, 1064488.701 509710.76 0, 1064790.028 509714.565 0, 1065089.906 509718.369 0, 1065392.679 509722.227 0, 1065694.005 509726.085 0, 1065995.33 509729.96 0, 1066296.655 509733.854 0, 1066597.98 509737.765 0,
+ 1066899.305 509741.693 0, 1067200.629 509745.64 0, 1067501.953 509749.604 0, 1067803.277 509753.586 0, 1068104.601 509757.585 0, 1068405.924 509761.603 0, 1068707.247 509765.638 0, 1069008.57 509769.691 0, 1069309.893 509773.761 0, 1069611.216 509777.85 0,
+ 1069912.538 509781.956 0, 1070213.86 509786.079 0, 1070515.182 509790.221 0, 1070816.503 509794.38 0, 1071117.824 509798.557 0, 1071419.146 509802.752 0, 1071720.466 509806.964 0, 1072021.787 509811.195 0, 1072321.661 509815.422 0, 1072400.172 504257.818 0,
+ 1072478.678 498700.616 0))
+
+POLYGON ((1086784.723 510040.175 0, 1086484.86 510035.1 0, 1086183.552 510030.019 0, 1085882.245 510024.955 0, 1085580.937 510019.909 0, 1085279.629 510014.881 0, 1084978.32 510009.87 0, 1084677.011 510004.877 0, 1084375.702 509999.902 0, 1084074.392 509994.945 0,
+ 1083773.083 509990.005 0, 1083471.773 509985.083 0, 1083170.462 509980.179 0, 1082869.152 509975.293 0, 1082567.841 509970.424 0, 1082266.53 509965.573 0, 1081965.218 509960.74 0, 1081663.907 509955.925 0, 1081362.594 509951.127 0, 1081061.282 509946.347 0,
+ 1080759.97 509941.585 0, 1080458.657 509936.84 0, 1080157.344 509932.114 0, 1079856.03 509927.405 0, 1079553.271 509922.691 0, 1079253.402 509918.04 0, 1078952.088 509913.384 0, 1078650.774 509908.746 0, 1078349.459 509904.125 0, 1078048.144 509899.523 0,
+ 1077746.828 509894.938 0, 1077445.513 509890.371 0, 1077144.197 509885.821 0, 1076842.881 509881.29 0, 1076541.564 509876.776 0, 1076240.248 509872.279 0, 1075938.931 509867.801 0, 1075637.613 509863.34 0, 1075336.296 509858.897 0, 1075034.978 509854.472 0,
+ 1074733.66 509850.064 0, 1074432.342 509845.675 0, 1074131.024 509841.303 0, 1073829.705 509836.948 0, 1073528.386 509832.612 0, 1073227.066 509828.293 0, 1072925.747 509823.992 0, 1072624.427 509819.708 0, 1072321.661 509815.422 0, 1072243.144 515373.425 0,
+ 1072164.621 520931.825 0, 1072466.73 520936.101 0, 1072767.395 520940.375 0, 1073068.061 520944.667 0, 1073368.726 520948.977 0, 1073669.39 520953.304 0, 1073970.055 520957.649 0, 1074270.719 520962.011 0, 1074571.383 520966.392 0, 1074872.047 520970.79 0,
+ 1075172.71 520975.205 0, 1075473.373 520979.639 0, 1075774.036 520984.09 0, 1076074.699 520988.558 0, 1076375.361 520993.045 0, 1076676.023 520997.549 0, 1076976.685 521002.071 0, 1077277.347 521006.61 0, 1077578.008 521011.168 0, 1077878.669 521015.743 0,
+ 1078179.33 521020.335 0, 1078479.991 521024.946 0, 1078780.651 521029.574 0, 1079081.311 521034.219 0, 1079380.529 521038.86 0, 1079682.63 521043.564 0, 1079983.289 521048.263 0, 1080283.948 521052.979 0, 1080584.607 521057.713 0, 1080885.265 521062.465 0,
+ 1081185.923 521067.235 0, 1081486.581 521072.022 0, 1081787.238 521076.827 0, 1082087.895 521081.65 0, 1082388.552 521086.49 0, 1082689.209 521091.348 0, 1082989.865 521096.224 0, 1083290.521 521101.118 0, 1083591.177 521106.029 0, 1083891.833 521110.958 0,
+ 1084192.488 521115.904 0, 1084493.143 521120.868 0, 1084793.797 521125.85 0, 1085094.452 521130.85 0, 1085395.106 521135.867 0, 1085695.759 521140.902 0, 1085996.413 521145.955 0, 1086297.066 521151.025 0, 1086596.278 521156.089 0, 1086690.504 515597.934 0,
+ 1086784.723 510040.175 0))
+
+POLYGON ((1101027.244 521421.125 0, 1100728.045 521415.216 0, 1100427.407 521409.296 0, 1100126.769 521403.394 0, 1099826.131 521397.51 0, 1099525.492 521391.643 0, 1099224.853 521385.794 0, 1098924.214 521379.962 0, 1098623.574 521374.149 0, 1098322.934 521368.353 0,
+ 1098022.294 521362.575 0, 1097721.653 521356.814 0, 1097421.012 521351.071 0, 1097120.371 521345.346 0, 1096819.729 521339.639 0, 1096519.087 521333.949 0, 1096218.445 521328.277 0, 1095917.802 521322.622 0, 1095617.159 521316.986 0, 1095316.516 521311.367 0,
+ 1095015.872 521305.765 0, 1094715.228 521300.182 0, 1094414.584 521294.616 0, 1094113.939 521289.068 0, 1093811.854 521283.511 0, 1093512.649 521278.024 0, 1093212.003 521272.529 0, 1092911.357 521267.052 0, 1092610.711 521261.592 0, 1092310.064 521256.15 0,
+ 1092009.417 521250.726 0, 1091708.77 521245.319 0, 1091408.122 521239.93 0, 1091107.474 521234.559 0, 1090806.826 521229.205 0, 1090506.178 521223.87 0, 1090205.529 521218.551 0, 1089904.88 521213.251 0, 1089604.23 521207.968 0, 1089303.58 521202.703 0,
+ 1089002.93 521197.456 0, 1088702.28 521192.226 0, 1088401.629 521187.014 0, 1088100.978 521181.82 0, 1087800.327 521176.643 0, 1087499.675 521171.484 0, 1087199.023 521166.343 0, 1086898.371 521161.219 0, 1086596.278 521156.089 0, 1086502.045 526714.637 0,
+ 1086407.806 532273.576 0, 1086709.242 532278.695 0, 1087009.24 532283.807 0, 1087309.237 532288.937 0, 1087609.235 532294.085 0, 1087909.232 532299.25 0, 1088209.228 532304.433 0, 1088509.225 532309.634 0, 1088809.221 532314.852 0, 1089109.216 532320.088 0,
+ 1089409.212 532325.342 0, 1089709.207 532330.613 0, 1090009.202 532335.902 0, 1090309.196 532341.208 0, 1090609.19 532346.533 0, 1090909.184 532351.875 0, 1091209.178 532357.234 0, 1091509.171 532362.611 0, 1091809.164 532368.006 0, 1092109.157 532373.419 0,
+ 1092409.149 532378.849 0, 1092709.141 532384.297 0, 1093009.132 532389.762 0, 1093309.124 532395.245 0, 1093607.678 532400.72 0, 1093909.105 532406.265 0, 1094209.096 532411.801 0, 1094509.086 532417.355 0, 1094809.075 532422.926 0, 1095109.065 532428.515 0,
+ 1095409.054 532434.122 0, 1095709.043 532439.746 0, 1096009.031 532445.389 0, 1096309.019 532451.048 0, 1096609.007 532456.726 0, 1096908.994 532462.421 0, 1097208.981 532468.133 0, 1097508.968 532473.864 0, 1097808.954 532479.612 0, 1098108.94 532485.377 0,
+ 1098408.926 532491.161 0, 1098708.911 532496.962 0, 1099008.896 532502.78 0, 1099308.881 532508.617 0, 1099608.865 532514.471 0, 1099908.849 532520.342 0, 1100208.833 532526.231 0, 1100508.816 532532.138 0, 1100807.364 532538.035 0, 1100917.307 526979.385 0,
+ 1101027.244 521421.125 0))
+
+POLYGON ((1115206.117 532843.174 0, 1114907.585 532836.434 0, 1114607.619 532829.68 0, 1114307.653 532822.943 0, 1114007.687 532816.224 0, 1113707.721 532809.522 0, 1113407.754 532802.839 0, 1113107.786 532796.173 0, 1112807.819 532789.524 0, 1112507.85 532782.893 0,
+ 1112207.882 532776.28 0, 1111907.913 532769.685 0, 1111607.944 532763.107 0, 1111307.974 532756.547 0, 1111008.004 532750.004 0, 1110708.033 532743.479 0, 1110408.063 532736.972 0, 1110108.091 532730.482 0, 1109808.12 532724.01 0, 1109508.148 532717.556 0,
+ 1109208.175 532711.12 0, 1108908.203 532704.701 0, 1108608.229 532698.299 0, 1108308.256 532691.916 0, 1108006.848 532685.519 0, 1107708.308 532679.201 0, 1107408.333 532672.871 0, 1107108.358 532666.558 0, 1106808.383 532660.262 0, 1106508.407 532653.985 0,
+ 1106208.431 532647.725 0, 1105908.454 532641.482 0, 1105608.478 532635.257 0, 1105308.5 532629.05 0, 1105008.523 532622.861 0, 1104708.545 532616.689 0, 1104408.567 532610.535 0, 1104108.588 532604.399 0, 1103808.609 532598.28 0, 1103508.629 532592.179 0,
+ 1103208.65 532586.095 0, 1102908.67 532580.029 0, 1102608.689 532573.981 0, 1102308.708 532567.951 0, 1102008.727 532561.938 0, 1101708.746 532555.943 0, 1101408.764 532549.965 0, 1101108.782 532544.005 0, 1100807.364 532538.035 0, 1100697.412 538097.071 0,
+ 1100587.453 543656.491 0, 1100888.213 543662.449 0, 1101187.541 543668.396 0, 1101486.869 543674.36 0, 1101786.196 543680.342 0, 1102085.523 543686.342 0, 1102384.849 543692.359 0, 1102684.175 543698.394 0, 1102983.501 543704.447 0, 1103282.826 543710.517 0,
+ 1103582.151 543716.605 0, 1103881.476 543722.711 0, 1104180.8 543728.834 0, 1104480.124 543734.974 0, 1104779.447 543741.133 0, 1105078.771 543747.309 0, 1105378.093 543753.502 0, 1105677.416 543759.713 0, 1105976.738 543765.942 0, 1106276.06 543772.188 0,
+ 1106575.381 543778.452 0, 1106874.702 543784.734 0, 1107174.023 543791.033 0, 1107473.343 543797.35 0, 1107771.232 543803.654 0, 1108071.982 543810.037 0, 1108371.301 543816.406 0, 1108670.62 543822.794 0, 1108969.938 543829.199 0, 1109269.256 543835.621 0,
+ 1109568.574 543842.061 0, 1109867.891 543848.519 0, 1110167.208 543854.995 0, 1110466.525 543861.488 0, 1110765.841 543867.998 0, 1111065.156 543874.527 0, 1111364.472 543881.072 0, 1111663.787 543887.636 0, 1111963.101 543894.217 0, 1112262.415 543900.816 0,
+ 1112561.729 543907.432 0, 1112861.042 543914.066 0, 1113160.355 543920.718 0, 1113459.668 543927.387 0, 1113758.98 543934.074 0, 1114058.292 543940.778 0, 1114357.603 543947.5 0, 1114656.915 543954.24 0, 1114954.795 543960.965 0, 1115080.46 538401.878 0,
+ 1115206.117 532843.174 0))
+
+POLYGON ((1129321.22 544306.028 0, 1129023.357 544298.461 0, 1128724.066 544290.876 0, 1128424.775 544283.308 0, 1128125.483 544275.758 0, 1127826.191 544268.226 0, 1127526.899 544260.711 0, 1127227.606 544253.214 0, 1126928.312 544245.734 0, 1126629.018 544238.272 0,
+ 1126329.724 544230.828 0, 1126030.429 544223.401 0, 1125731.134 544215.992 0, 1125431.839 544208.601 0, 1125132.542 544201.227 0, 1124833.246 544193.871 0, 1124533.949 544186.532 0, 1124234.652 544179.211 0, 1123935.354 544171.907 0, 1123636.056 544164.622 0,
+ 1123336.757 544157.354 0, 1123037.458 544150.103 0, 1122738.158 544142.87 0, 1122438.859 544135.655 0, 1122138.13 544128.423 0, 1121840.257 544121.277 0, 1121540.956 544114.114 0, 1121241.655 544106.97 0, 1120942.353 544099.842 0, 1120643.05 544092.733 0,
+ 1120343.747 544085.641 0, 1120044.444 544078.566 0, 1119745.14 544071.51 0, 1119445.836 544064.47 0, 1119146.532 544057.449 0, 1118847.227 544050.445 0, 1118547.921 544043.459 0, 1118248.615 544036.49 0, 1117949.309 544029.539 0, 1117650.003 544022.605 0,
+ 1117350.696 544015.69 0, 1117051.388 544008.791 0, 1116752.08 544001.911 0, 1116452.772 543995.048 0, 1116153.464 543988.202 0, 1115854.155 543981.375 0, 1115554.845 543974.565 0, 1115255.535 543967.772 0, 1114954.795 543960.965 0, 1114829.122 549520.433 0,
+ 1114703.44 555080.278 0, 1115003.522 555087.07 0, 1115302.177 555093.848 0, 1115600.832 555100.643 0, 1115899.487 555107.456 0, 1116198.141 555114.286 0, 1116496.795 555121.134 0, 1116795.448 555128 0, 1117094.101 555134.883 0, 1117392.754 555141.784 0,
+ 1117691.406 555148.702 0, 1117990.058 555155.638 0, 1118288.709 555162.591 0, 1118587.36 555169.562 0, 1118886.01 555176.551 0, 1119184.66 555183.557 0, 1119483.31 555190.581 0, 1119781.959 555197.622 0, 1120080.608 555204.681 0, 1120379.257 555211.758 0,
+ 1120677.905 555218.852 0, 1120976.552 555225.963 0, 1121275.199 555233.093 0, 1121573.846 555240.239 0, 1121871.067 555247.37 0, 1122171.138 555254.586 0, 1122469.784 555261.785 0, 1122768.429 555269.002 0, 1123067.074 555276.237 0, 1123365.718 555283.489 0,
+ 1123664.362 555290.759 0, 1123963.005 555298.047 0, 1124261.648 555305.352 0, 1124560.29 555312.674 0, 1124858.932 555320.014 0, 1125157.574 555327.372 0, 1125456.215 555334.747 0, 1125754.856 555342.14 0, 1126053.496 555349.551 0, 1126352.136 555356.979 0,
+ 1126650.776 555364.424 0, 1126949.415 555371.888 0, 1127248.053 555379.368 0, 1127546.691 555386.867 0, 1127845.329 555394.383 0, 1128143.966 555401.916 0, 1128442.603 555409.467 0, 1128741.24 555417.036 0, 1129038.451 555424.586 0, 1129179.84 549865.118 0,
+ 1129321.22 544306.028 0))
+
+POLYGON ((1143372.433 555809.392 0, 1143075.242 555801.002 0, 1142776.628 555792.59 0, 1142478.013 555784.195 0, 1142179.399 555775.818 0, 1141880.783 555767.458 0, 1141582.168 555759.116 0, 1141283.551 555750.792 0, 1140984.935 555742.485 0, 1140686.317 555734.196 0,
+ 1140387.7 555725.924 0, 1140089.081 555717.67 0, 1139790.463 555709.433 0, 1139491.844 555701.214 0, 1139193.224 555693.013 0, 1138894.604 555684.829 0, 1138595.983 555676.663 0, 1138297.362 555668.514 0, 1137998.741 555660.383 0, 1137700.118 555652.269 0,
+ 1137401.496 555644.173 0, 1137102.873 555636.095 0, 1136804.249 555628.034 0, 1136505.625 555619.991 0, 1136205.578 555611.927 0, 1135908.376 555603.957 0, 1135609.751 555595.967 0, 1135311.125 555587.994 0, 1135012.499 555580.038 0, 1134713.872 555572.1 0,
+ 1134415.245 555564.18 0, 1134116.617 555556.278 0, 1133817.989 555548.393 0, 1133519.36 555540.525 0, 1133220.731 555532.675 0, 1132922.101 555524.843 0, 1132623.471 555517.028 0, 1132324.841 555509.231 0, 1132026.21 555501.451 0, 1131727.579 555493.689 0,
+ 1131428.947 555485.945 0, 1131130.314 555478.218 0, 1130831.682 555470.509 0, 1130533.048 555462.817 0, 1130234.415 555455.143 0, 1129935.781 555447.486 0, 1129637.146 555439.847 0, 1129338.511 555432.226 0, 1129038.451 555424.586 0, 1128897.053 560984.428 0,
+ 1128755.644 566544.641 0, 1129055.046 566552.264 0, 1129353.027 566559.869 0, 1129651.007 566567.491 0, 1129948.987 566575.131 0, 1130246.966 566582.788 0, 1130544.945 566590.463 0, 1130842.923 566598.156 0, 1131140.901 566605.866 0, 1131438.878 566613.593 0,
+ 1131736.855 566621.338 0, 1132034.831 566629.101 0, 1132332.807 566636.881 0, 1132630.783 566644.678 0, 1132928.758 566652.493 0, 1133226.733 566660.326 0, 1133524.707 566668.176 0, 1133822.68 566676.044 0, 1134120.654 566683.929 0, 1134418.626 566691.832 0,
+ 1134716.599 566699.753 0, 1135014.571 566707.691 0, 1135312.542 566715.646 0, 1135610.513 566723.619 0, 1135907.063 566731.571 0, 1136206.453 566739.618 0, 1136504.423 566747.643 0, 1136802.392 566755.686 0, 1137100.36 566763.747 0, 1137398.328 566771.825 0,
+ 1137696.296 566779.921 0, 1137994.263 566788.034 0, 1138292.23 566796.165 0, 1138590.196 566804.314 0, 1138888.161 566812.48 0, 1139186.127 566820.663 0, 1139484.091 566828.864 0, 1139782.056 566837.083 0, 1140080.019 566845.319 0, 1140377.983 566853.572 0,
+ 1140675.945 566861.843 0, 1140973.908 566870.132 0, 1141271.869 566878.438 0, 1141569.831 566886.762 0, 1141867.791 566895.103 0, 1142165.752 566903.462 0, 1142463.712 566911.838 0, 1142761.671 566920.232 0, 1143058.211 566928.604 0, 1143215.327 561368.812 0,
+ 1143372.433 555809.392 0))
+
+POLYGON ((1157359.636 567352.972 0, 1157063.118 567343.763 0, 1156765.184 567334.527 0, 1156467.249 567325.309 0, 1156169.313 567316.108 0, 1155871.377 567306.925 0, 1155573.441 567297.76 0, 1155275.504 567288.612 0, 1154977.566 567279.481 0, 1154679.628 567270.369 0,
+ 1154381.689 567261.273 0, 1154083.75 567252.195 0, 1153785.81 567243.135 0, 1153487.87 567234.092 0, 1153189.929 567225.067 0, 1152891.987 567216.059 0, 1152594.045 567207.069 0, 1152296.103 567198.097 0, 1151998.16 567189.142 0, 1151700.216 567180.204 0,
+ 1151402.272 567171.284 0, 1151104.328 567162.382 0, 1150806.383 567153.497 0, 1150508.437 567144.629 0, 1150209.073 567135.737 0, 1149912.544 567126.947 0, 1149614.597 567118.132 0, 1149316.649 567109.335 0, 1149018.701 567100.555 0, 1148720.752 567091.793 0,
+ 1148422.803 567083.048 0, 1148124.853 567074.321 0, 1147826.903 567065.612 0, 1147528.952 567056.92 0, 1147231.001 567048.245 0, 1146933.049 567039.588 0, 1146635.097 567030.949 0, 1146337.144 567022.327 0, 1146039.191 567013.723 0, 1145741.237 567005.136 0,
+ 1145443.283 566996.567 0, 1145145.328 566988.015 0, 1144847.372 566979.481 0, 1144549.417 566970.964 0, 1144251.46 566962.465 0, 1143953.503 566953.983 0, 1143655.546 566945.519 0, 1143357.588 566937.073 0, 1143058.211 566928.604 0, 1142901.084 572488.763 0,
+ 1142743.948 578049.287 0, 1143042.667 578057.737 0, 1143339.97 578066.165 0, 1143637.273 578074.611 0, 1143934.575 578083.074 0, 1144231.877 578091.554 0, 1144529.179 578100.052 0, 1144826.479 578108.567 0, 1145123.78 578117.1 0, 1145421.079 578125.651 0,
+ 1145718.379 578134.219 0, 1146015.678 578142.804 0, 1146312.976 578151.407 0, 1146610.274 578160.028 0, 1146907.571 578168.665 0, 1147204.868 578177.321 0, 1147502.164 578185.994 0, 1147799.46 578194.684 0, 1148096.755 578203.392 0, 1148394.05 578212.118 0,
+ 1148691.344 578220.861 0, 1148988.638 578229.621 0, 1149285.931 578238.399 0, 1149583.223 578247.194 0, 1149879.101 578255.965 0, 1150177.807 578264.838 0, 1150475.098 578273.686 0, 1150772.389 578282.551 0, 1151069.679 578291.434 0, 1151366.968 578300.334 0,
+ 1151664.257 578309.252 0, 1151961.546 578318.188 0, 1152258.834 578327.141 0, 1152556.121 578336.111 0, 1152853.408 578345.099 0, 1153150.695 578354.104 0, 1153447.98 578363.127 0, 1153745.266 578372.168 0, 1154042.551 578381.225 0, 1154339.835 578390.301 0,
+ 1154637.119 578399.394 0, 1154934.402 578408.504 0, 1155231.684 578417.632 0, 1155528.966 578426.777 0, 1155826.248 578435.94 0, 1156123.529 578445.121 0, 1156420.81 578454.318 0, 1156718.089 578463.534 0, 1157013.956 578472.723 0, 1157186.801 572912.665 0,
+ 1157359.636 567352.972 0))
+
+POLYGON ((1171282.711 578936.472 0, 1170986.869 578926.448 0, 1170689.616 578916.392 0, 1170392.363 578906.355 0, 1170095.109 578896.335 0, 1169797.855 578886.332 0, 1169500.6 578876.347 0, 1169203.344 578866.379 0, 1168906.088 578856.429 0, 1168608.831 578846.496 0,
+ 1168311.574 578836.581 0, 1168014.316 578826.683 0, 1167717.057 578816.803 0, 1167419.798 578806.94 0, 1167122.538 578797.095 0, 1166825.278 578787.267 0, 1166528.017 578777.457 0, 1166230.755 578767.664 0, 1165933.493 578757.889 0, 1165636.231 578748.131 0,
+ 1165338.967 578738.391 0, 1165041.704 578728.668 0, 1164744.439 578718.963 0, 1164447.174 578709.275 0, 1164148.497 578699.559 0, 1163852.643 578689.952 0, 1163555.376 578680.316 0, 1163258.109 578670.699 0, 1162960.841 578661.098 0, 1162663.573 578651.516 0,
+ 1162366.304 578641.95 0, 1162069.035 578632.402 0, 1161771.765 578622.872 0, 1161474.494 578613.359 0, 1161177.223 578603.864 0, 1160879.951 578594.386 0, 1160582.679 578584.926 0, 1160285.406 578575.483 0, 1159988.133 578566.058 0, 1159690.859 578556.65 0,
+ 1159393.584 578547.26 0, 1159096.309 578537.887 0, 1158799.034 578528.531 0, 1158501.758 578519.193 0, 1158204.481 578509.873 0, 1157907.204 578500.57 0, 1157609.926 578491.285 0, 1157312.648 578482.017 0, 1157013.956 578472.723 0, 1156841.099 584033.142 0,
+ 1156668.231 589593.919 0, 1156966.265 589603.193 0, 1157262.889 589612.44 0, 1157559.512 589621.705 0, 1157856.135 589630.988 0, 1158152.757 589640.288 0, 1158449.378 589649.605 0, 1158745.999 589658.94 0, 1159042.62 589668.292 0, 1159339.24 589677.661 0,
+ 1159635.859 589687.049 0, 1159932.478 589696.453 0, 1160229.096 589705.875 0, 1160525.714 589715.315 0, 1160822.331 589724.772 0, 1161118.947 589734.246 0, 1161415.563 589743.738 0, 1161712.179 589753.247 0, 1162008.794 589762.774 0, 1162305.408 589772.318 0,
+ 1162602.022 589781.88 0, 1162898.635 589791.459 0, 1163195.248 589801.056 0, 1163491.86 589810.67 0, 1163787.062 589820.256 0, 1164085.082 589829.95 0, 1164381.693 589839.617 0, 1164678.302 589849.301 0, 1164974.912 589859.002 0, 1165271.52 589868.721 0,
+ 1165568.128 589878.457 0, 1165864.736 589888.211 0, 1166161.343 589897.982 0, 1166457.949 589907.771 0, 1166754.555 589917.577 0, 1167051.16 589927.401 0, 1167347.765 589937.242 0, 1167644.369 589947.1 0, 1167940.972 589956.976 0, 1168237.575 589966.869 0,
+ 1168534.178 589976.78 0, 1168830.779 589986.709 0, 1169127.381 589996.654 0, 1169423.981 590006.618 0, 1169720.581 590016.598 0, 1170017.18 590026.596 0, 1170313.779 590036.612 0, 1170610.377 590046.645 0, 1170905.567 590056.648 0, 1171094.145 584496.381 0,
+ 1171282.711 578936.472 0))
+
+POLYGON ((1185141.54 590559.598 0, 1184846.377 590548.761 0, 1184549.809 590537.89 0, 1184253.239 590527.036 0, 1183956.669 590516.2 0, 1183660.099 590505.382 0, 1183363.528 590494.581 0, 1183066.956 590483.797 0, 1182770.383 590473.031 0, 1182473.81 590462.282 0,
+ 1182177.236 590451.551 0, 1181880.662 590440.837 0, 1181584.087 590430.14 0, 1181287.511 590419.461 0, 1180990.935 590408.8 0, 1180694.358 590398.156 0, 1180397.781 590387.529 0, 1180101.202 590376.92 0, 1179804.624 590366.328 0, 1179508.044 590355.754 0,
+ 1179211.464 590345.197 0, 1178914.884 590334.658 0, 1178618.302 590324.136 0, 1178321.72 590313.632 0, 1178023.731 590303.095 0, 1177728.555 590292.676 0, 1177431.971 590282.223 0, 1177135.387 590271.789 0, 1176838.802 590261.372 0, 1176542.216 590250.972 0,
+ 1176245.63 590240.59 0, 1175949.043 590230.225 0, 1175652.456 590219.878 0, 1175355.868 590209.548 0, 1175059.279 590199.236 0, 1174762.69 590188.941 0, 1174466.1 590178.663 0, 1174169.51 590168.403 0, 1173872.919 590158.161 0, 1173576.327 590147.936 0,
+ 1173279.735 590137.728 0, 1172983.142 590127.538 0, 1172686.548 590117.365 0, 1172389.954 590107.21 0, 1172093.36 590097.072 0, 1171796.764 590086.952 0, 1171500.169 590076.849 0, 1171203.572 590066.764 0, 1170905.567 590056.648 0, 1170716.978 595617.27 0,
+ 1170528.376 601178.243 0, 1170825.723 601188.336 0, 1171121.665 601198.4 0, 1171417.606 601208.48 0, 1171713.547 601218.578 0, 1172009.487 601228.694 0, 1172305.426 601238.826 0, 1172601.365 601248.977 0, 1172897.303 601259.144 0, 1173193.241 601269.329 0,
+ 1173489.178 601279.532 0, 1173785.115 601289.752 0, 1174081.051 601299.989 0, 1174376.986 601310.244 0, 1174672.92 601320.516 0, 1174968.855 601330.806 0, 1175264.788 601341.113 0, 1175560.721 601351.437 0, 1175856.653 601361.779 0, 1176152.585 601372.138 0,
+ 1176448.516 601382.515 0, 1176744.446 601392.909 0, 1177040.376 601403.321 0, 1177336.305 601413.75 0, 1177630.83 601424.147 0, 1177928.162 601434.66 0, 1178224.089 601445.141 0, 1178520.016 601455.64 0, 1178815.942 601466.156 0, 1179111.867 601476.689 0,
+ 1179407.792 601487.24 0, 1179703.716 601497.808 0, 1179999.64 601508.394 0, 1180295.563 601518.997 0, 1180591.485 601529.618 0, 1180887.407 601540.256 0, 1181183.328 601550.911 0, 1181479.248 601561.584 0, 1181775.168 601572.274 0, 1182071.088 601582.982 0,
+ 1182367.006 601593.707 0, 1182662.924 601604.449 0, 1182958.841 601615.209 0, 1183254.758 601625.987 0, 1183550.674 601636.781 0, 1183846.59 601647.593 0, 1184142.504 601658.423 0, 1184438.419 601669.27 0, 1184732.93 601680.083 0, 1184937.241 596119.664 0,
+ 1185141.54 590559.598 0))
+
+POLYGON ((1198936.009 602222.051 0, 1198641.527 602210.406 0, 1198345.645 602198.723 0, 1198049.762 602187.058 0, 1197753.878 602175.41 0, 1197457.994 602163.779 0, 1197162.109 602152.166 0, 1196866.223 602140.57 0, 1196570.337 602128.991 0, 1196274.449 602117.43 0,
+ 1195978.562 602105.887 0, 1195682.673 602094.36 0, 1195386.784 602082.852 0, 1195090.894 602071.36 0, 1194795.004 602059.886 0, 1194499.113 602048.43 0, 1194203.221 602036.991 0, 1193907.328 602025.569 0, 1193611.435 602014.165 0, 1193315.541 602002.778 0,
+ 1193019.647 601991.408 0, 1192723.751 601980.056 0, 1192427.856 601968.722 0, 1192131.959 601957.404 0, 1191834.661 601946.051 0, 1191540.164 601934.822 0, 1191244.265 601923.557 0, 1190948.366 601912.31 0, 1190652.466 601901.08 0, 1190356.566 601889.867 0,
+ 1190060.665 601878.672 0, 1189764.763 601867.494 0, 1189468.86 601856.333 0, 1189172.957 601845.19 0, 1188877.053 601834.064 0, 1188581.149 601822.956 0, 1188285.244 601811.865 0, 1187989.338 601800.792 0, 1187693.432 601789.736 0, 1187397.525 601778.698 0,
+ 1187101.617 601767.676 0, 1186805.709 601756.673 0, 1186509.8 601745.686 0, 1186213.89 601734.718 0, 1185917.98 601723.766 0, 1185622.069 601712.832 0, 1185326.157 601701.915 0, 1185030.245 601691.016 0, 1184732.93 601680.083 0, 1184528.605 607240.85 0,
+ 1184324.268 612801.962 0, 1184620.926 612812.871 0, 1184916.183 612823.746 0, 1185211.44 612834.639 0, 1185506.697 612845.549 0, 1185801.952 612856.476 0, 1186097.207 612867.42 0, 1186392.462 612878.382 0, 1186687.715 612889.362 0, 1186982.969 612900.359 0,
+ 1187278.221 612911.373 0, 1187573.473 612922.404 0, 1187868.724 612933.453 0, 1188163.975 612944.519 0, 1188459.224 612955.603 0, 1188754.474 612966.704 0, 1189049.722 612977.822 0, 1189344.97 612988.958 0, 1189640.217 613000.111 0, 1189935.464 613011.282 0,
+ 1190230.71 613022.47 0, 1190525.955 613033.675 0, 1190821.2 613044.898 0, 1191116.444 613056.138 0, 1191410.289 613067.342 0, 1191706.93 613078.67 0, 1192002.172 613089.962 0, 1192297.413 613101.272 0, 1192592.653 613112.599 0, 1192887.893 613123.943 0,
+ 1193183.133 613135.305 0, 1193478.371 613146.684 0, 1193773.609 613158.08 0, 1194068.847 613169.494 0, 1194364.083 613180.925 0, 1194659.319 613192.374 0, 1194954.554 613203.84 0, 1195249.789 613215.323 0, 1195545.023 613226.824 0, 1195840.256 613238.342 0,
+ 1196135.489 613249.877 0, 1196430.721 613261.43 0, 1196725.952 613273 0, 1197021.182 613284.588 0, 1197316.412 613296.193 0, 1197611.641 613307.815 0, 1197906.87 613319.455 0, 1198202.097 613331.112 0, 1198495.928 613342.731 0, 1198715.975 607782.219 0,
+ 1198936.009 602222.051 0))
+
+POLYGON ((1212666.003 613923.536 0, 1212372.204 613911.087 0, 1212077.011 613898.595 0, 1211781.816 613886.122 0, 1211486.621 613873.665 0, 1211191.425 613861.226 0, 1210896.229 613848.805 0, 1210601.031 613836.4 0, 1210305.833 613824.014 0, 1210010.635 613811.644 0,
+ 1209715.435 613799.292 0, 1209420.235 613786.957 0, 1209125.034 613774.64 0, 1208829.832 613762.34 0, 1208534.63 613750.057 0, 1208239.427 613737.792 0, 1207944.223 613725.544 0, 1207649.018 613713.314 0, 1207353.813 613701.1 0, 1207058.607 613688.905 0,
+ 1206763.4 613676.726 0, 1206468.193 613664.565 0, 1206172.985 613652.422 0, 1205877.776 613640.295 0, 1205581.171 613628.129 0, 1205287.356 613616.095 0, 1204992.145 613604.021 0, 1204696.933 613591.964 0, 1204401.721 613579.925 0, 1204106.507 613567.903 0,
+ 1203811.294 613555.898 0, 1203516.079 613543.911 0, 1203220.864 613531.941 0, 1202925.648 613519.989 0, 1202630.431 613508.054 0, 1202335.214 613496.136 0, 1202039.996 613484.235 0, 1201744.777 613472.352 0, 1201449.557 613460.487 0, 1201154.337 613448.639 0,
+ 1200859.116 613436.808 0, 1200563.895 613424.994 0, 1200268.673 613413.198 0, 1199973.45 613401.419 0, 1199678.226 613389.658 0, 1199383.002 613377.914 0, 1199087.777 613366.188 0, 1198792.551 613354.478 0, 1198495.928 613342.731 0, 1198275.867 618903.586 0,
+ 1198055.792 624464.779 0, 1198351.758 624476.5 0, 1198646.329 624488.184 0, 1198940.899 624499.884 0, 1199235.469 624511.602 0, 1199530.038 624523.337 0, 1199824.606 624535.09 0, 1200119.174 624546.86 0, 1200413.741 624558.647 0, 1200708.307 624570.452 0,
+ 1201002.873 624582.274 0, 1201297.438 624594.113 0, 1201592.002 624605.97 0, 1201886.565 624617.844 0, 1202181.128 624629.735 0, 1202475.69 624641.644 0, 1202770.252 624653.57 0, 1203064.812 624665.513 0, 1203359.372 624677.474 0, 1203653.931 624689.452 0,
+ 1203948.49 624701.447 0, 1204243.048 624713.46 0, 1204537.605 624725.49 0, 1204832.161 624737.537 0, 1205125.325 624749.545 0, 1205421.272 624761.684 0, 1205715.826 624773.783 0, 1206010.38 624785.9 0, 1206304.933 624798.034 0, 1206599.485 624810.185 0,
+ 1206894.036 624822.354 0, 1207188.587 624834.54 0, 1207483.137 624846.743 0, 1207777.686 624858.964 0, 1208072.235 624871.202 0, 1208366.783 624883.457 0, 1208661.33 624895.73 0, 1208955.876 624908.02 0, 1209250.422 624920.328 0, 1209544.967 624932.652 0,
+ 1209839.511 624944.994 0, 1210134.055 624957.354 0, 1210428.598 624969.731 0, 1210723.14 624982.125 0, 1211017.681 624994.536 0, 1211312.221 625006.965 0, 1211606.761 625019.411 0, 1211901.3 625031.874 0, 1212194.448 625044.296 0, 1212430.233 619483.747 0,
+ 1212666.003 613923.536 0))
+
+POLYGON ((1226331.409 625663.755 0, 1226038.296 625650.505 0, 1225743.793 625637.209 0, 1225449.29 625623.931 0, 1225154.785 625610.67 0, 1224860.28 625597.427 0, 1224565.775 625584.201 0, 1224271.268 625570.992 0, 1223976.76 625557.8 0, 1223682.252 625544.626 0,
+ 1223387.743 625531.469 0, 1223093.234 625518.33 0, 1222798.723 625505.208 0, 1222504.212 625492.103 0, 1222209.7 625479.015 0, 1221915.187 625465.945 0, 1221620.673 625452.892 0, 1221326.159 625439.857 0, 1221031.644 625426.839 0, 1220737.128 625413.838 0,
+ 1220442.611 625400.854 0, 1220148.094 625387.888 0, 1219853.576 625374.94 0, 1219559.057 625362.008 0, 1219263.147 625349.033 0, 1218970.017 625336.197 0, 1218675.495 625323.318 0, 1218380.973 625310.455 0, 1218086.451 625297.611 0, 1217791.927 625284.783 0,
+ 1217497.403 625271.973 0, 1217202.878 625259.18 0, 1216908.352 625246.405 0, 1216613.826 625233.647 0, 1216319.299 625220.906 0, 1216024.771 625208.182 0, 1215730.242 625195.476 0, 1215435.712 625182.788 0, 1215141.182 625170.116 0, 1214846.651 625157.462 0,
+ 1214552.119 625144.825 0, 1214257.587 625132.206 0, 1213963.054 625119.604 0, 1213668.52 625107.019 0, 1213373.985 625094.451 0, 1213079.45 625081.901 0, 1212784.913 625069.369 0, 1212490.376 625056.853 0, 1212194.448 625044.296 0, 1211958.649 630605.181 0,
+ 1211722.835 636166.398 0, 1212018.106 636178.927 0, 1212311.989 636191.415 0, 1212605.87 636203.919 0, 1212899.751 636216.442 0, 1213193.631 636228.981 0, 1213487.511 636241.538 0, 1213781.389 636254.112 0, 1214075.267 636266.703 0, 1214369.144 636279.312 0,
+ 1214663.021 636291.938 0, 1214956.896 636304.581 0, 1215250.771 636317.242 0, 1215544.645 636329.92 0, 1215838.519 636342.615 0, 1216132.391 636355.328 0, 1216426.263 636368.057 0, 1216720.134 636380.804 0, 1217014.005 636393.569 0, 1217307.874 636406.35 0,
+ 1217601.743 636419.149 0, 1217895.611 636431.966 0, 1218189.479 636444.799 0, 1218483.345 636457.65 0, 1218775.824 636470.457 0, 1219071.076 636483.404 0, 1219364.941 636496.306 0, 1219658.804 636509.226 0, 1219952.667 636522.164 0, 1220246.529 636535.118 0,
+ 1220540.391 636548.09 0, 1220834.251 636561.08 0, 1221128.111 636574.086 0, 1221421.97 636587.11 0, 1221715.828 636600.151 0, 1222009.686 636613.209 0, 1222303.542 636626.285 0, 1222597.398 636639.378 0, 1222891.253 636652.488 0, 1223185.108 636665.616 0,
+ 1223478.961 636678.761 0, 1223772.814 636691.923 0, 1224066.666 636705.102 0, 1224360.518 636718.299 0, 1224654.368 636731.513 0, 1224948.218 636744.745 0, 1225242.067 636757.993 0, 1225535.915 636771.259 0, 1225828.377 636784.48 0, 1226079.901 631223.951 0,
+ 1226331.409 625663.755 0))
+
+POLYGON ((1239932.116 637442.41 0, 1239639.69 637428.363 0, 1239345.881 637414.267 0, 1239052.07 637400.188 0, 1238758.259 637386.127 0, 1238464.447 637372.083 0, 1238170.634 637358.056 0, 1237876.821 637344.046 0, 1237583.006 637330.054 0, 1237289.191 637316.079 0,
+ 1236995.375 637302.121 0, 1236701.558 637288.181 0, 1236407.74 637274.257 0, 1236113.921 637260.352 0, 1235820.102 637246.463 0, 1235526.282 637232.592 0, 1235232.461 637218.738 0, 1234938.639 637204.901 0, 1234644.816 637191.082 0, 1234350.993 637177.28 0,
+ 1234057.168 637163.495 0, 1233763.343 637149.727 0, 1233469.517 637135.977 0, 1233175.691 637122.244 0, 1232880.479 637108.464 0, 1232588.035 637094.83 0, 1232294.206 637081.149 0, 1232000.376 637067.486 0, 1231706.545 637053.839 0, 1231412.713 637040.21 0,
+ 1231118.881 637026.598 0, 1230825.048 637013.004 0, 1230531.214 636999.426 0, 1230237.379 636985.867 0, 1229943.544 636972.324 0, 1229649.707 636958.798 0, 1229355.87 636945.29 0, 1229062.032 636931.8 0, 1228768.193 636918.326 0, 1228474.354 636904.87 0,
+ 1228180.513 636891.431 0, 1227886.672 636878.009 0, 1227592.83 636864.605 0, 1227298.988 636851.218 0, 1227005.144 636837.848 0, 1226711.3 636824.496 0, 1226417.455 636811.161 0, 1226123.609 636797.843 0, 1225828.377 636784.48 0, 1225576.838 642345.337 0,
+ 1225325.285 647906.52 0, 1225619.86 647919.853 0, 1225913.051 647933.141 0, 1226206.241 647946.447 0, 1226499.431 647959.77 0, 1226792.62 647973.11 0, 1227085.808 647986.467 0, 1227378.995 647999.841 0, 1227672.182 648013.233 0, 1227965.367 648026.642 0,
+ 1228258.552 648040.068 0, 1228551.736 648053.512 0, 1228844.92 648066.972 0, 1229138.102 648080.45 0, 1229431.284 648093.945 0, 1229724.465 648107.458 0, 1230017.645 648120.988 0, 1230310.825 648134.535 0, 1230604.003 648148.099 0, 1230897.181 648161.681 0,
+ 1231190.358 648175.279 0, 1231483.534 648188.895 0, 1231776.709 648202.529 0, 1232069.884 648216.179 0, 1232361.676 648229.783 0, 1232656.231 648243.532 0, 1232949.403 648257.234 0, 1233242.574 648270.954 0, 1233535.745 648284.691 0, 1233828.914 648298.445 0,
+ 1234122.083 648312.216 0, 1234415.252 648326.005 0, 1234708.419 648339.811 0, 1235001.585 648353.634 0, 1235294.751 648367.474 0, 1235587.916 648381.332 0, 1235881.08 648395.206 0, 1236174.243 648409.099 0, 1236467.405 648423.008 0, 1236760.567 648436.935 0,
+ 1237053.728 648450.878 0, 1237346.888 648464.84 0, 1237640.047 648478.818 0, 1237933.205 648492.814 0, 1238226.363 648506.827 0, 1238519.519 648520.857 0, 1238812.675 648534.904 0, 1239105.83 648548.969 0, 1239397.604 648562.984 0, 1239664.868 643002.534 0,
+ 1239932.116 637442.41 0))
+
+POLYGON ((1253468.013 649259.203 0, 1253176.277 649244.363 0, 1252883.163 649229.47 0, 1252590.048 649214.595 0, 1252296.932 649199.736 0, 1252003.815 649184.895 0, 1251710.698 649170.072 0, 1251417.579 649155.265 0, 1251124.46 649140.476 0, 1250831.34 649125.704 0,
+ 1250538.219 649110.949 0, 1250245.097 649096.211 0, 1249951.974 649081.491 0, 1249658.85 649066.788 0, 1249365.726 649052.102 0, 1249072.6 649037.434 0, 1248779.474 649022.782 0, 1248486.347 649008.148 0, 1248193.219 648993.531 0, 1247900.09 648978.932 0,
+ 1247606.961 648964.35 0, 1247313.83 648949.785 0, 1247020.699 648935.237 0, 1246727.566 648920.706 0, 1246433.054 648906.125 0, 1246141.299 648891.697 0, 1245848.164 648877.218 0, 1245555.029 648862.757 0, 1245261.892 648848.313 0, 1244968.755 648833.886 0,
+ 1244675.616 648819.476 0, 1244382.477 648805.083 0, 1244089.337 648790.708 0, 1243796.197 648776.35 0, 1243503.055 648762.009 0, 1243209.913 648747.686 0, 1242916.769 648733.38 0, 1242623.625 648719.091 0, 1242330.48 648704.819 0, 1242037.334 648690.564 0,
+ 1241744.188 648676.327 0, 1241451.04 648662.107 0, 1241157.892 648647.905 0, 1240864.743 648633.719 0, 1240571.593 648619.551 0, 1240278.442 648605.4 0, 1239985.29 648591.266 0, 1239692.138 648577.15 0, 1239397.604 648562.984 0, 1239130.325 654123.756 0,
+ 1238863.031 659684.847 0, 1239156.906 659698.981 0, 1239449.404 659713.066 0, 1239741.901 659727.168 0, 1240034.398 659741.288 0, 1240326.893 659755.424 0, 1240619.388 659769.578 0, 1240911.881 659783.749 0, 1241204.374 659797.937 0, 1241496.866 659812.143 0,
+ 1241789.358 659826.365 0, 1242081.848 659840.605 0, 1242374.337 659854.862 0, 1242666.826 659869.136 0, 1242959.314 659883.428 0, 1243251.801 659897.737 0, 1243544.287 659912.062 0, 1243836.773 659926.406 0, 1244129.257 659940.766 0, 1244421.741 659955.144 0,
+ 1244714.224 659969.538 0, 1245006.706 659983.95 0, 1245299.187 659998.38 0, 1245591.667 660012.826 0, 1245882.771 660027.222 0, 1246176.625 660041.77 0, 1246469.103 660056.269 0, 1246761.58 660070.784 0, 1247054.056 660085.316 0, 1247346.531 660099.866 0,
+ 1247639.005 660114.433 0, 1247931.478 660129.017 0, 1248223.951 660143.618 0, 1248516.423 660158.237 0, 1248808.894 660172.873 0, 1249101.364 660187.526 0, 1249393.833 660202.196 0, 1249686.301 660216.884 0, 1249978.768 660231.588 0, 1250271.235 660246.31 0,
+ 1250563.701 660261.049 0, 1250856.165 660275.805 0, 1251148.629 660290.579 0, 1251441.092 660305.37 0, 1251733.554 660320.178 0, 1252026.016 660335.003 0, 1252318.476 660349.845 0, 1252610.936 660364.705 0, 1252902.02 660379.511 0, 1253185.024 654819.198 0,
+ 1253468.013 649259.203 0))
+
+POLYGON ((1266938.991 661113.835 0, 1266647.947 661098.206 0, 1266355.531 661082.52 0, 1266063.113 661066.852 0, 1265770.695 661051.201 0, 1265478.276 661035.566 0, 1265185.856 661019.949 0, 1264893.435 661004.35 0, 1264601.013 660988.767 0, 1264308.59 660973.202 0,
+ 1264016.166 660957.654 0, 1263723.742 660942.123 0, 1263431.316 660926.609 0, 1263138.89 660911.113 0, 1262846.462 660895.634 0, 1262554.034 660880.172 0, 1262261.605 660864.727 0, 1261969.174 660849.299 0, 1261676.743 660833.889 0, 1261384.311 660818.496 0,
+ 1261091.878 660803.12 0, 1260799.445 660787.761 0, 1260507.01 660772.42 0, 1260214.574 660757.095 0, 1259920.765 660741.716 0, 1259629.701 660726.498 0, 1259337.262 660711.226 0, 1259044.823 660695.97 0, 1258752.383 660680.732 0, 1258459.942 660665.511 0,
+ 1258167.5 660650.307 0, 1257875.057 660635.12 0, 1257582.614 660619.951 0, 1257290.169 660604.799 0, 1256997.724 660589.664 0, 1256705.277 660574.546 0, 1256412.83 660559.445 0, 1256120.382 660544.362 0, 1255827.933 660529.296 0, 1255535.483 660514.247 0,
+ 1255243.032 660499.215 0, 1254950.581 660484.201 0, 1254658.128 660469.204 0, 1254365.675 660454.224 0, 1254073.22 660439.261 0, 1253780.765 660424.315 0, 1253488.309 660409.387 0, 1253195.852 660394.475 0, 1252902.02 660379.511 0, 1252618.999 665940.14 0,
+ 1252335.963 671501.081 0, 1252629.138 671516.012 0, 1252920.94 671530.89 0, 1253212.742 671545.785 0, 1253504.542 671560.697 0, 1253796.342 671575.626 0, 1254088.141 671590.573 0, 1254379.939 671605.537 0, 1254671.736 671620.517 0, 1254963.532 671635.516 0,
+ 1255255.327 671650.531 0, 1255547.122 671665.563 0, 1255838.915 671680.613 0, 1256130.708 671695.679 0, 1256422.5 671710.763 0, 1256714.29 671725.865 0, 1257006.08 671740.983 0, 1257297.87 671756.118 0, 1257589.658 671771.271 0, 1257881.445 671786.441 0,
+ 1258173.232 671801.628 0, 1258465.017 671816.832 0, 1258756.802 671832.053 0, 1259048.585 671847.292 0, 1259338.998 671862.476 0, 1259632.15 671877.82 0, 1259923.931 671893.11 0, 1260215.711 671908.417 0, 1260507.491 671923.742 0, 1260799.269 671939.083 0,
+ 1261091.046 671954.442 0, 1261382.823 671969.818 0, 1261674.599 671985.211 0, 1261966.373 672000.621 0, 1262258.147 672016.049 0, 1262549.92 672031.493 0, 1262841.692 672046.955 0, 1263133.463 672062.434 0, 1263425.233 672077.93 0, 1263717.002 672093.443 0,
+ 1264008.771 672108.974 0, 1264300.538 672124.521 0, 1264592.305 672140.086 0, 1264884.07 672155.668 0, 1265175.835 672171.267 0, 1265467.599 672186.883 0, 1265759.362 672202.517 0, 1266051.124 672218.168 0, 1266341.515 672233.762 0, 1266640.261 666673.643 0,
+ 1266938.991 661113.835 0))
+
+POLYGON ((1280344.942 673006.008 0, 1280054.593 672989.593 0, 1279762.877 672973.118 0, 1279471.159 672956.66 0, 1279179.441 672940.22 0, 1278887.721 672923.796 0, 1278596.001 672907.39 0, 1278304.279 672891.001 0, 1278012.557 672874.629 0, 1277720.834 672858.275 0,
+ 1277429.109 672841.937 0, 1277137.384 672825.617 0, 1276845.658 672809.314 0, 1276553.931 672793.028 0, 1276262.203 672776.759 0, 1275970.474 672760.507 0, 1275678.744 672744.273 0, 1275387.013 672728.055 0, 1275095.281 672711.855 0, 1274803.548 672695.672 0,
+ 1274511.814 672679.506 0, 1274220.079 672663.358 0, 1273928.344 672647.226 0, 1273636.607 672631.112 0, 1273343.501 672614.939 0, 1273053.131 672598.935 0, 1272761.391 672582.872 0, 1272469.651 672566.827 0, 1272177.909 672550.798 0, 1271886.167 672534.787 0,
+ 1271594.424 672518.793 0, 1271302.679 672502.816 0, 1271010.934 672486.856 0, 1270719.188 672470.914 0, 1270427.441 672454.988 0, 1270135.693 672439.08 0, 1269843.944 672423.189 0, 1269552.194 672407.315 0, 1269260.444 672391.458 0, 1268968.692 672375.619 0,
+ 1268676.939 672359.796 0, 1268385.186 672343.991 0, 1268093.431 672328.203 0, 1267801.676 672312.432 0, 1267509.919 672296.678 0, 1267218.162 672280.942 0, 1266926.404 672265.223 0, 1266634.645 672249.52 0, 1266341.515 672233.762 0, 1266042.753 677794.19 0,
+ 1265743.974 683354.923 0, 1266036.446 683370.646 0, 1266327.55 683386.313 0, 1266618.654 683401.997 0, 1266909.756 683417.699 0, 1267200.858 683433.417 0, 1267491.959 683449.152 0, 1267783.059 683464.905 0, 1268074.158 683480.675 0, 1268365.256 683496.462 0,
+ 1268656.353 683512.266 0, 1268947.45 683528.087 0, 1269238.545 683543.925 0, 1269529.639 683559.78 0, 1269820.733 683575.653 0, 1270111.825 683591.543 0, 1270402.917 683607.45 0, 1270694.008 683623.373 0, 1270985.097 683639.315 0, 1271276.186 683655.273 0,
+ 1271567.274 683671.248 0, 1271858.361 683687.241 0, 1272149.447 683703.25 0, 1272440.532 683719.277 0, 1272730.251 683735.246 0, 1273022.699 683751.382 0, 1273313.781 683767.46 0, 1273604.862 683783.555 0, 1273895.943 683799.668 0, 1274187.022 683815.797 0,
+ 1274478.1 683831.944 0, 1274769.178 683848.108 0, 1275060.254 683864.289 0, 1275351.33 683880.487 0, 1275642.404 683896.702 0, 1275933.478 683912.934 0, 1276224.55 683929.184 0, 1276515.622 683945.45 0, 1276806.693 683961.734 0, 1277097.763 683978.035 0,
+ 1277388.831 683994.353 0, 1277679.899 684010.688 0, 1277970.966 684027.04 0, 1278262.032 684043.41 0, 1278553.097 684059.796 0, 1278844.161 684076.2 0, 1279135.224 684092.62 0, 1279426.286 684109.058 0, 1279715.984 684125.436 0, 1280030.472 678565.569 0,
+ 1280344.942 673006.008 0))
+
+POLYGON ((1293685.761 684935.42 0, 1293396.108 684918.223 0, 1293105.094 684900.963 0, 1292814.079 684883.72 0, 1292523.062 684866.494 0, 1292232.045 684849.286 0, 1291941.026 684832.094 0, 1291650.006 684814.919 0, 1291358.986 684797.762 0, 1291067.964 684780.622 0,
+ 1290776.942 684763.499 0, 1290485.918 684746.393 0, 1290194.894 684729.304 0, 1289903.868 684712.232 0, 1289612.842 684695.178 0, 1289321.814 684678.14 0, 1289030.785 684661.12 0, 1288739.756 684644.117 0, 1288448.725 684627.13 0, 1288157.694 684610.162 0,
+ 1287866.661 684593.21 0, 1287575.627 684576.275 0, 1287284.593 684559.357 0, 1286993.557 684542.457 0, 1286701.158 684525.495 0, 1286411.483 684508.708 0, 1286120.445 684491.858 0, 1285829.405 684475.027 0, 1285538.364 684458.212 0, 1285247.323 684441.414 0,
+ 1284956.28 684424.634 0, 1284665.237 684407.87 0, 1284374.192 684391.124 0, 1284083.147 684374.395 0, 1283792.1 684357.683 0, 1283501.053 684340.988 0, 1283210.005 684324.31 0, 1282918.955 684307.65 0, 1282627.905 684291.006 0, 1282336.853 684274.38 0,
+ 1282045.801 684257.77 0, 1281754.748 684241.178 0, 1281463.693 684224.603 0, 1281172.638 684208.046 0, 1280881.582 684191.505 0, 1280590.525 684174.981 0, 1280299.467 684158.475 0, 1280008.407 684141.986 0, 1279715.984 684125.436 0, 1279401.479 689685.605 0,
+ 1279086.957 695246.073 0, 1279378.723 695262.585 0, 1279669.128 695279.037 0, 1279959.531 695295.506 0, 1280249.934 695311.993 0, 1280540.336 695328.496 0, 1280830.737 695345.017 0, 1281121.136 695361.555 0, 1281411.535 695378.109 0, 1281701.933 695394.681 0,
+ 1281992.33 695411.27 0, 1282282.726 695427.876 0, 1282573.121 695444.499 0, 1282863.514 695461.14 0, 1283153.907 695477.797 0, 1283444.299 695494.471 0, 1283734.69 695511.163 0, 1284025.08 695527.871 0, 1284315.469 695544.597 0, 1284605.857 695561.34 0,
+ 1284896.244 695578.1 0, 1285186.63 695594.877 0, 1285477.015 695611.671 0, 1285767.4 695628.482 0, 1286056.423 695645.231 0, 1286348.165 695662.156 0, 1286638.546 695679.018 0, 1286928.926 695695.898 0, 1287219.305 695712.794 0, 1287509.683 695729.708 0,
+ 1287800.06 695746.639 0, 1288090.436 695763.587 0, 1288380.811 695780.552 0, 1288671.186 695797.534 0, 1288961.559 695814.533 0, 1289251.931 695831.549 0, 1289542.302 695848.582 0, 1289832.672 695865.633 0, 1290123.041 695882.7 0, 1290413.409 695899.785 0,
+ 1290703.776 695916.887 0, 1290994.143 695934.005 0, 1291284.508 695951.141 0, 1291574.872 695968.294 0, 1291865.235 695985.464 0, 1292155.597 696002.651 0, 1292445.958 696019.856 0, 1292736.318 696037.077 0, 1293025.319 696054.235 0, 1293355.549 690494.678 0,
+ 1293685.761 684935.42 0))
+
+POLYGON ((1306961.342 696901.772 0, 1306672.388 696883.798 0, 1306382.078 696865.756 0, 1306091.767 696847.732 0, 1305801.454 696829.724 0, 1305511.141 696811.734 0, 1305220.827 696793.761 0, 1304930.511 696775.805 0, 1304640.194 696757.865 0, 1304349.877 696739.943 0,
+ 1304059.558 696722.039 0, 1303769.238 696704.151 0, 1303478.918 696686.28 0, 1303188.596 696668.426 0, 1302898.273 696650.59 0, 1302607.949 696632.77 0, 1302317.624 696614.968 0, 1302027.298 696597.183 0, 1301736.971 696579.415 0, 1301446.643 696561.664 0,
+ 1301156.314 696543.93 0, 1300865.983 696526.213 0, 1300575.652 696508.513 0, 1300285.32 696490.83 0, 1299993.63 696473.082 0, 1299704.652 696455.516 0, 1299414.317 696437.884 0, 1299123.98 696420.27 0, 1298833.643 696402.673 0, 1298543.304 696385.092 0,
+ 1298252.965 696367.529 0, 1297962.624 696349.983 0, 1297672.282 696332.454 0, 1297381.94 696314.943 0, 1297091.596 696297.448 0, 1296801.251 696279.97 0, 1296510.906 696262.51 0, 1296220.559 696245.066 0, 1295930.211 696227.64 0, 1295639.862 696210.23 0,
+ 1295349.512 696192.838 0, 1295059.162 696175.463 0, 1294768.81 696158.105 0, 1294478.457 696140.764 0, 1294188.103 696123.44 0, 1293897.748 696106.133 0, 1293607.392 696088.844 0, 1293317.035 696071.571 0, 1293025.319 696054.235 0, 1292695.071 701614.087 0,
+ 1292364.807 707174.23 0, 1292655.865 707191.527 0, 1292945.568 707208.761 0, 1293235.269 707226.012 0, 1293524.97 707243.279 0, 1293814.669 707260.564 0, 1294104.368 707277.866 0, 1294394.065 707295.185 0, 1294683.761 707312.521 0, 1294973.457 707329.874 0,
+ 1295263.151 707347.244 0, 1295552.844 707364.631 0, 1295842.537 707382.035 0, 1296132.228 707399.457 0, 1296421.918 707416.895 0, 1296711.607 707434.35 0, 1297001.296 707451.823 0, 1297290.983 707469.312 0, 1297580.669 707486.818 0, 1297870.354 707504.342 0,
+ 1298160.038 707521.883 0, 1298449.721 707539.44 0, 1298739.403 707557.015 0, 1299029.084 707574.607 0, 1299317.41 707592.133 0, 1299608.443 707609.841 0, 1299898.121 707627.484 0, 1300187.798 707645.144 0, 1300477.473 707662.821 0, 1300767.148 707680.515 0,
+ 1301056.822 707698.226 0, 1301346.494 707715.954 0, 1301636.166 707733.699 0, 1301925.837 707751.462 0, 1302215.506 707769.241 0, 1302505.175 707787.037 0, 1302794.842 707804.851 0, 1303084.508 707822.681 0, 1303374.174 707840.529 0, 1303663.838 707858.393 0,
+ 1303953.501 707876.275 0, 1304243.163 707894.173 0, 1304532.824 707912.089 0, 1304822.484 707930.022 0, 1305112.143 707947.971 0, 1305401.801 707965.938 0, 1305691.458 707983.922 0, 1305981.114 708001.923 0, 1306269.416 708019.857 0, 1306615.388 702460.669 0,
+ 1306961.342 696901.772 0))
+
+POLYGON ((1320171.581 708904.763 0, 1319883.329 708886.015 0, 1319593.725 708867.196 0, 1319304.12 708848.394 0, 1319014.514 708829.609 0, 1318724.907 708810.841 0, 1318435.299 708792.09 0, 1318145.689 708773.356 0, 1317856.079 708754.639 0, 1317566.467 708735.939 0,
+ 1317276.855 708717.256 0, 1316987.241 708698.59 0, 1316697.626 708679.942 0, 1316408.01 708661.31 0, 1316118.393 708642.695 0, 1315828.775 708624.098 0, 1315539.156 708605.517 0, 1315249.535 708586.954 0, 1314959.914 708568.407 0, 1314670.292 708549.878 0,
+ 1314380.668 708531.366 0, 1314091.043 708512.87 0, 1313801.418 708494.392 0, 1313511.791 708475.931 0, 1313220.811 708457.401 0, 1312932.534 708439.059 0, 1312642.904 708420.649 0, 1312353.272 708402.256 0, 1312063.64 708383.88 0, 1311774.007 708365.522 0,
+ 1311484.372 708347.18 0, 1311194.737 708328.855 0, 1310905.1 708310.547 0, 1310615.463 708292.256 0, 1310325.824 708273.983 0, 1310036.184 708255.726 0, 1309746.543 708237.486 0, 1309456.901 708219.264 0, 1309167.258 708201.058 0, 1308877.614 708182.87 0,
+ 1308587.969 708164.699 0, 1308298.323 708146.544 0, 1308008.675 708128.407 0, 1307719.027 708110.287 0, 1307429.377 708092.183 0, 1307139.727 708074.097 0, 1306850.075 708056.028 0, 1306560.423 708037.976 0, 1306269.416 708019.857 0, 1305923.427 713579.333 0,
+ 1305577.419 719139.095 0, 1305867.768 719157.173 0, 1306156.766 719175.184 0, 1306445.763 719193.212 0, 1306734.759 719211.258 0, 1307023.754 719229.32 0, 1307312.748 719247.399 0, 1307601.741 719265.496 0, 1307890.733 719283.609 0, 1308179.724 719301.739 0,
+ 1308468.713 719319.887 0, 1308757.702 719338.051 0, 1309046.689 719356.232 0, 1309335.676 719374.431 0, 1309624.661 719392.646 0, 1309913.646 719410.879 0, 1310202.629 719429.128 0, 1310491.611 719447.394 0, 1310780.592 719465.678 0, 1311069.572 719483.978 0,
+ 1311358.551 719502.296 0, 1311647.529 719520.63 0, 1311936.506 719538.982 0, 1312225.482 719557.35 0, 1312513.108 719575.65 0, 1312803.43 719594.138 0, 1313092.402 719612.558 0, 1313381.374 719630.994 0, 1313670.344 719649.448 0, 1313959.313 719667.918 0,
+ 1314248.281 719686.406 0, 1314537.248 719704.91 0, 1314826.214 719723.432 0, 1315115.179 719741.97 0, 1315404.143 719760.526 0, 1315693.105 719779.098 0, 1315982.067 719797.688 0, 1316271.027 719816.295 0, 1316559.987 719834.918 0, 1316848.945 719853.559 0,
+ 1317137.902 719872.216 0, 1317426.858 719890.891 0, 1317715.813 719909.583 0, 1318004.767 719928.291 0, 1318293.72 719947.017 0, 1318582.672 719965.759 0, 1318871.622 719984.519 0, 1319160.572 720003.296 0, 1319448.173 720022.002 0, 1319809.887 714463.24 0,
+ 1320171.581 708904.763 0))
+
+POLYGON ((1333316.377 720944.093 0, 1333028.828 720924.574 0, 1332739.933 720904.981 0, 1332451.036 720885.405 0, 1332162.139 720865.846 0, 1331873.24 720846.304 0, 1331584.34 720826.78 0, 1331295.439 720807.272 0, 1331006.537 720787.781 0, 1330717.633 720768.307 0,
+ 1330428.729 720748.85 0, 1330139.823 720729.41 0, 1329850.917 720709.987 0, 1329562.009 720690.581 0, 1329273.1 720671.193 0, 1328984.189 720651.821 0, 1328695.278 720632.466 0, 1328406.366 720613.128 0, 1328117.452 720593.807 0, 1327828.537 720574.503 0,
+ 1327539.621 720555.216 0, 1327250.704 720535.947 0, 1326961.786 720516.694 0, 1326672.867 720497.458 0, 1326382.601 720478.15 0, 1326095.025 720459.037 0, 1325806.102 720439.853 0, 1325517.179 720420.685 0, 1325228.254 720401.534 0, 1324939.328 720382.4 0,
+ 1324650.401 720363.283 0, 1324361.472 720344.184 0, 1324072.543 720325.101 0, 1323783.612 720306.035 0, 1323494.681 720286.986 0, 1323205.748 720267.955 0, 1322916.814 720248.94 0, 1322627.879 720229.942 0, 1322338.943 720210.961 0, 1322050.006 720191.998 0,
+ 1321761.067 720173.051 0, 1321472.128 720154.121 0, 1321183.187 720135.209 0, 1320894.245 720116.313 0, 1320605.303 720097.434 0, 1320316.359 720078.572 0, 1320027.414 720059.728 0, 1319738.467 720040.9 0, 1319448.173 720022.002 0, 1319086.441 725581.045 0,
+ 1318724.692 731140.365 0, 1319014.328 731159.221 0, 1319302.62 731178.006 0, 1319590.911 731196.808 0, 1319879.2 731215.627 0, 1320167.489 731234.463 0, 1320455.776 731253.316 0, 1320744.062 731272.186 0, 1321032.347 731291.073 0, 1321320.631 731309.976 0,
+ 1321608.914 731328.897 0, 1321897.196 731347.835 0, 1322185.477 731366.79 0, 1322473.756 731385.761 0, 1322762.035 731404.75 0, 1323050.312 731423.756 0, 1323338.588 731442.778 0, 1323626.863 731461.818 0, 1323915.137 731480.874 0, 1324203.41 731499.948 0,
+ 1324491.682 731519.038 0, 1324779.952 731538.146 0, 1325068.222 731557.27 0, 1325356.49 731576.411 0, 1325643.414 731595.48 0, 1325933.023 731614.745 0, 1326221.288 731633.937 0, 1326509.552 731653.146 0, 1326797.815 731672.373 0, 1327086.076 731691.616 0,
+ 1327374.336 731710.876 0, 1327662.596 731730.153 0, 1327950.854 731749.447 0, 1328239.111 731768.758 0, 1328527.367 731788.086 0, 1328815.621 731807.431 0, 1329103.875 731826.793 0, 1329392.127 731846.172 0, 1329680.379 731865.568 0, 1329968.629 731884.98 0,
+ 1330256.878 731904.41 0, 1330545.126 731923.857 0, 1330833.373 731943.321 0, 1331121.618 731962.801 0, 1331409.863 731982.299 0, 1331698.106 732001.814 0, 1331986.348 732021.345 0, 1332274.589 732040.894 0, 1332561.487 732060.368 0, 1332938.942 726502.091 0,
+ 1333316.377 720944.093 0))
+
+POLYGON ((1346395.629 733019.458 0, 1346108.784 732999.173 0, 1345820.6 732978.811 0, 1345532.414 732958.465 0, 1345244.227 732938.136 0, 1344956.039 732917.824 0, 1344667.849 732897.529 0, 1344379.659 732877.251 0, 1344091.467 732856.99 0, 1343803.274 732836.746 0,
+ 1343515.08 732816.519 0, 1343226.884 732796.309 0, 1342938.688 732776.116 0, 1342650.49 732755.939 0, 1342362.291 732735.78 0, 1342074.091 732715.638 0, 1341785.89 732695.513 0, 1341497.687 732675.404 0, 1341209.484 732655.313 0, 1340921.279 732635.238 0,
+ 1340633.073 732615.181 0, 1340344.866 732595.14 0, 1340056.657 732575.117 0, 1339768.448 732555.11 0, 1339478.897 732535.028 0, 1339192.025 732515.148 0, 1338903.812 732495.192 0, 1338615.598 732475.254 0, 1338327.382 732455.332 0, 1338039.166 732435.427 0,
+ 1337750.948 732415.539 0, 1337462.729 732395.668 0, 1337174.509 732375.814 0, 1336886.288 732355.977 0, 1336598.065 732336.158 0, 1336309.841 732316.355 0, 1336021.617 732296.568 0, 1335733.391 732276.799 0, 1335445.164 732257.047 0, 1335156.935 732237.312 0,
+ 1334868.706 732217.594 0, 1334580.475 732197.893 0, 1334292.244 732178.208 0, 1334004.011 732158.541 0, 1333715.777 732138.891 0, 1333427.541 732119.257 0, 1333139.305 732099.641 0, 1332851.068 732080.042 0, 1332561.487 732060.368 0, 1332184.014 737618.919 0,
+ 1331806.523 743177.741 0, 1332095.446 743197.37 0, 1332383.029 743216.925 0, 1332670.611 743236.497 0, 1332958.192 743256.085 0, 1333245.771 743275.691 0, 1333533.35 743295.314 0, 1333820.927 743314.953 0, 1334108.504 743334.61 0, 1334396.079 743354.283 0,
+ 1334683.653 743373.974 0, 1334971.225 743393.681 0, 1335258.797 743413.405 0, 1335546.368 743433.146 0, 1335833.937 743452.904 0, 1336121.505 743472.679 0, 1336409.072 743492.471 0, 1336696.638 743512.28 0, 1336984.202 743532.106 0, 1337271.766 743551.948 0,
+ 1337559.328 743571.808 0, 1337846.889 743591.685 0, 1338134.449 743611.578 0, 1338422.008 743631.488 0, 1338708.229 743651.323 0, 1338997.122 743671.36 0, 1339284.678 743691.321 0, 1339572.232 743711.299 0, 1339859.785 743731.294 0, 1340147.336 743751.306 0,
+ 1340434.887 743771.335 0, 1340722.436 743791.381 0, 1341009.984 743811.443 0, 1341297.531 743831.523 0, 1341585.077 743851.62 0, 1341872.622 743871.733 0, 1342160.165 743891.864 0, 1342447.708 743912.011 0, 1342735.249 743932.175 0, 1343022.789 743952.356 0,
+ 1343310.328 743972.554 0, 1343597.865 743992.769 0, 1343885.401 744013.001 0, 1344172.937 744033.25 0, 1344460.471 744053.516 0, 1344748.003 744073.799 0, 1345035.535 744094.098 0, 1345323.065 744114.415 0, 1345609.259 744134.654 0, 1346002.453 738576.921 0,
+ 1346395.629 733019.458 0))
+
+POLYGON ((1359409.236 745130.558 0, 1359123.099 745109.511 0, 1358835.627 745088.382 0, 1358548.154 745067.27 0, 1358260.679 745046.175 0, 1357973.204 745025.097 0, 1357685.727 745004.036 0, 1357398.249 744982.992 0, 1357110.77 744961.965 0, 1356823.289 744940.954 0,
+ 1356535.807 744919.961 0, 1356248.324 744898.984 0, 1355960.84 744878.025 0, 1355673.355 744857.082 0, 1355385.868 744836.156 0, 1355098.38 744815.247 0, 1354810.891 744794.355 0, 1354523.401 744773.48 0, 1354235.909 744752.622 0, 1353948.416 744731.781 0,
+ 1353660.922 744710.957 0, 1353373.427 744690.15 0, 1353085.93 744669.359 0, 1352798.433 744648.586 0, 1352509.599 744627.733 0, 1352223.433 744607.089 0, 1351935.932 744586.367 0, 1351648.429 744565.661 0, 1351360.926 744544.972 0, 1351073.42 744524.3 0,
+ 1350785.914 744503.645 0, 1350498.407 744483.007 0, 1350210.898 744462.386 0, 1349923.388 744441.782 0, 1349635.877 744421.194 0, 1349348.365 744400.624 0, 1349060.851 744380.07 0, 1348773.336 744359.534 0, 1348485.82 744339.014 0, 1348198.303 744318.511 0,
+ 1347910.785 744298.026 0, 1347623.265 744277.557 0, 1347335.744 744257.105 0, 1347048.222 744236.67 0, 1346760.699 744216.252 0, 1346473.175 744195.85 0, 1346185.649 744175.466 0, 1345898.122 744155.099 0, 1345609.259 744134.654 0, 1345216.045 749692.655 0,
+ 1344822.813 755250.919 0, 1345111.019 755271.317 0, 1345397.892 755291.638 0, 1345684.763 755311.976 0, 1345971.633 755332.331 0, 1346258.502 755352.703 0, 1346545.37 755373.091 0, 1346832.236 755393.497 0, 1347119.102 755413.919 0, 1347405.966 755434.358 0,
+ 1347692.829 755454.814 0, 1347979.691 755475.287 0, 1348266.551 755495.777 0, 1348553.41 755516.284 0, 1348840.268 755536.807 0, 1349127.125 755557.348 0, 1349413.981 755577.905 0, 1349700.835 755598.479 0, 1349987.689 755619.07 0, 1350274.541 755639.679 0,
+ 1350561.392 755660.303 0, 1350848.241 755680.945 0, 1351135.09 755701.604 0, 1351421.937 755722.279 0, 1351707.451 755742.876 0, 1351995.627 755763.681 0, 1352282.471 755784.407 0, 1352569.313 755805.15 0, 1352856.154 755825.91 0, 1353142.994 755846.687 0,
+ 1353429.833 755867.481 0, 1353716.67 755888.292 0, 1354003.507 755909.119 0, 1354290.341 755929.964 0, 1354577.175 755950.825 0, 1354864.008 755971.703 0, 1355150.839 755992.598 0, 1355437.669 756013.51 0, 1355724.498 756034.439 0, 1356011.325 756055.384 0,
+ 1356298.152 756076.347 0, 1356584.977 756097.326 0, 1356871.801 756118.323 0, 1357158.623 756139.336 0, 1357445.445 756160.366 0, 1357732.265 756181.413 0, 1358019.084 756202.477 0, 1358305.902 756223.558 0, 1358591.388 756244.557 0, 1359000.321 750687.426 0,
+ 1359409.236 745130.558 0))
+
+POLYGON ((1372357.1 757277.09 0, 1372071.673 757255.284 0, 1371784.916 757233.393 0, 1371498.157 757211.519 0, 1371211.398 757189.662 0, 1370924.637 757167.821 0, 1370637.875 757145.998 0, 1370351.111 757124.191 0, 1370064.347 757102.402 0, 1369777.581 757080.629 0,
+ 1369490.813 757058.873 0, 1369204.045 757037.134 0, 1368917.275 757015.412 0, 1368630.504 756993.706 0, 1368343.732 756972.018 0, 1368056.958 756950.346 0, 1367770.183 756928.692 0, 1367483.407 756907.054 0, 1367196.629 756885.433 0, 1366909.851 756863.829 0,
+ 1366623.071 756842.242 0, 1366336.289 756820.672 0, 1366049.507 756799.118 0, 1365762.723 756777.582 0, 1365474.609 756755.962 0, 1365189.151 756734.559 0, 1364902.364 756713.074 0, 1364615.575 756691.605 0, 1364328.785 756670.152 0, 1364041.993 756648.717 0,
+ 1363755.201 756627.299 0, 1363468.407 756605.897 0, 1363181.612 756584.513 0, 1362894.815 756563.145 0, 1362608.017 756541.794 0, 1362321.218 756520.46 0, 1362034.418 756499.143 0, 1361747.617 756477.843 0, 1361460.814 756456.56 0, 1361174.01 756435.293 0,
+ 1360887.205 756414.044 0, 1360600.398 756392.811 0, 1360313.591 756371.595 0, 1360026.782 756350.396 0, 1359739.971 756329.214 0, 1359453.16 756308.049 0, 1359166.347 756286.901 0, 1358879.533 756265.77 0, 1358591.388 756244.557 0, 1358182.435 761801.949 0,
+ 1357773.463 767359.597 0, 1358060.951 767380.761 0, 1358347.111 767401.845 0, 1358633.27 767422.945 0, 1358919.427 767444.061 0, 1359205.583 767465.195 0, 1359491.738 767486.346 0, 1359777.891 767507.513 0, 1360064.043 767528.697 0, 1360350.194 767549.898 0,
+ 1360636.344 767571.116 0, 1360922.493 767592.351 0, 1361208.64 767613.603 0, 1361494.786 767634.871 0, 1361780.931 767656.156 0, 1362067.075 767677.458 0, 1362353.217 767698.777 0, 1362639.358 767720.113 0, 1362925.498 767741.466 0, 1363211.636 767762.835 0,
+ 1363497.773 767784.222 0, 1363783.909 767805.625 0, 1364070.044 767827.045 0, 1364356.178 767848.482 0, 1364640.984 767869.836 0, 1364928.441 767891.406 0, 1365214.57 767912.893 0, 1365500.699 767934.398 0, 1365786.826 767955.919 0, 1366072.952 767977.457 0,
+ 1366359.077 767999.011 0, 1366645.2 768020.583 0, 1366931.322 768042.171 0, 1367217.443 768063.777 0, 1367503.562 768085.399 0, 1367789.681 768107.038 0, 1368075.798 768128.694 0, 1368361.913 768150.366 0, 1368648.028 768172.056 0, 1368934.141 768193.762 0,
+ 1369220.253 768215.485 0, 1369506.363 768237.225 0, 1369792.473 768258.982 0, 1370078.581 768280.756 0, 1370364.688 768302.546 0, 1370650.793 768324.353 0, 1370936.897 768346.178 0, 1371223 768368.019 0, 1371507.777 768389.775 0, 1371932.448 762833.304 0,
+ 1372357.1 757277.09 0))
+
+POLYGON ((1385239.126 769458.751 0, 1384954.409 769436.19 0, 1384668.369 769413.541 0, 1384382.328 769390.908 0, 1384096.285 769368.293 0, 1383810.241 769345.694 0, 1383524.196 769323.112 0, 1383238.149 769300.547 0, 1382952.101 769277.999 0, 1382666.052 769255.467 0,
+ 1382380.001 769232.953 0, 1382093.949 769210.455 0, 1381807.895 769187.974 0, 1381521.841 769165.51 0, 1381235.785 769143.063 0, 1380949.728 769120.633 0, 1380663.669 769098.219 0, 1380377.609 769075.822 0, 1380091.548 769053.442 0, 1379805.485 769031.079 0,
+ 1379519.421 769008.733 0, 1379233.356 768986.404 0, 1378947.289 768964.091 0, 1378661.222 768941.796 0, 1378373.829 768919.414 0, 1378089.082 768897.255 0, 1377803.01 768875.01 0, 1377516.937 768852.782 0, 1377230.863 768830.57 0, 1376944.787 768808.375 0,
+ 1376658.71 768786.198 0, 1376372.632 768764.037 0, 1376086.552 768741.892 0, 1375800.471 768719.765 0, 1375514.389 768697.655 0, 1375228.305 768675.561 0, 1374942.221 768653.484 0, 1374656.135 768631.424 0, 1374370.047 768609.381 0, 1374083.958 768587.355 0,
+ 1373797.868 768565.346 0, 1373511.777 768543.353 0, 1373225.684 768521.377 0, 1372939.591 768499.418 0, 1372653.495 768477.476 0, 1372367.399 768455.551 0, 1372081.301 768433.643 0, 1371795.202 768411.751 0, 1371507.777 768389.775 0, 1371083.086 773946.499 0,
+ 1370658.376 779503.473 0, 1370945.144 779525.399 0, 1371230.589 779547.24 0, 1371516.033 779569.099 0, 1371801.475 779590.974 0, 1372086.916 779612.866 0, 1372372.356 779634.774 0, 1372657.794 779656.7 0, 1372943.231 779678.642 0, 1373228.667 779700.601 0,
+ 1373514.102 779722.577 0, 1373799.535 779744.57 0, 1374084.967 779766.579 0, 1374370.398 779788.606 0, 1374655.827 779810.649 0, 1374941.256 779832.709 0, 1375226.682 779854.785 0, 1375512.108 779876.879 0, 1375797.532 779898.989 0, 1376082.955 779921.116 0,
+ 1376368.377 779943.26 0, 1376653.797 779965.421 0, 1376939.216 779987.598 0, 1377224.634 780009.793 0, 1377508.73 780031.901 0, 1377795.465 780054.232 0, 1378080.879 780076.476 0, 1378366.292 780098.738 0, 1378651.703 780121.016 0, 1378937.113 780143.311 0,
+ 1379222.521 780165.623 0, 1379507.928 780187.952 0, 1379793.334 780210.297 0, 1380078.739 780232.659 0, 1380364.142 780255.038 0, 1380649.544 780277.434 0, 1380934.945 780299.847 0, 1381220.344 780322.276 0, 1381505.742 780344.723 0, 1381791.139 780367.186 0,
+ 1382076.534 780389.666 0, 1382361.928 780412.162 0, 1382647.321 780434.676 0, 1382932.712 780457.206 0, 1383218.102 780479.753 0, 1383503.491 780502.317 0, 1383788.878 780524.898 0, 1384074.265 780547.495 0, 1384358.33 780570.005 0, 1384798.738 775014.253 0,
+ 1385239.126 769458.751 0))
+
+POLYGON ((1398055.216 781675.237 0, 1397771.213 781651.925 0, 1397485.892 781628.521 0, 1397200.57 781605.134 0, 1396915.246 781581.764 0, 1396629.921 781558.411 0, 1396344.594 781535.075 0, 1396059.266 781511.755 0, 1395773.937 781488.452 0, 1395488.606 781465.166 0,
+ 1395203.274 781441.897 0, 1394917.94 781418.644 0, 1394632.606 781395.409 0, 1394347.269 781372.19 0, 1394061.932 781348.988 0, 1393776.593 781325.802 0, 1393491.253 781302.634 0, 1393205.911 781279.482 0, 1392920.568 781256.347 0, 1392635.224 781233.229 0,
+ 1392349.878 781210.128 0, 1392064.531 781187.043 0, 1391779.182 781163.975 0, 1391493.833 781140.924 0, 1391207.163 781117.784 0, 1390923.129 781094.873 0, 1390637.775 781071.872 0, 1390352.42 781048.889 0, 1390067.063 781025.922 0, 1389781.705 781002.971 0,
+ 1389496.346 780980.038 0, 1389210.985 780957.121 0, 1388925.623 780934.222 0, 1388640.26 780911.339 0, 1388354.895 780888.472 0, 1388069.529 780865.623 0, 1387784.162 780842.79 0, 1387498.793 780819.975 0, 1387213.423 780797.176 0, 1386928.052 780774.393 0,
+ 1386642.679 780751.628 0, 1386357.305 780728.879 0, 1386071.93 780706.148 0, 1385786.553 780683.433 0, 1385501.175 780660.734 0, 1385215.796 780638.053 0, 1384930.415 780615.388 0, 1384645.033 780592.74 0, 1384358.33 780570.005 0, 1383917.903 786126.003 0,
+ 1383477.456 791682.243 0, 1383763.502 791704.926 0, 1384048.23 791727.522 0, 1384332.957 791750.135 0, 1384617.682 791772.765 0, 1384902.406 791795.411 0, 1385187.129 791818.074 0, 1385471.85 791840.753 0, 1385756.57 791863.45 0, 1386041.289 791886.163 0,
+ 1386326.006 791908.893 0, 1386610.722 791931.64 0, 1386895.437 791954.403 0, 1387180.15 791977.184 0, 1387464.862 791999.981 0, 1387749.573 792022.795 0, 1388034.282 792045.625 0, 1388318.99 792068.472 0, 1388603.697 792091.336 0, 1388888.402 792114.217 0,
+ 1389173.106 792137.115 0, 1389457.809 792160.029 0, 1389742.51 792182.96 0, 1390027.21 792205.908 0, 1390310.593 792228.767 0, 1390596.606 792251.854 0, 1390881.301 792274.852 0, 1391165.996 792297.867 0, 1391450.689 792320.899 0, 1391735.381 792343.947 0,
+ 1392020.071 792367.012 0, 1392304.76 792390.094 0, 1392589.448 792413.193 0, 1392874.134 792436.308 0, 1393158.819 792459.44 0, 1393443.503 792482.589 0, 1393728.185 792505.755 0, 1394012.866 792528.937 0, 1394297.546 792552.137 0, 1394582.224 792575.353 0,
+ 1394866.901 792598.585 0, 1395151.576 792621.835 0, 1395436.25 792645.101 0, 1395720.923 792668.384 0, 1396005.594 792691.684 0, 1396290.264 792715 0, 1396574.933 792738.333 0, 1396859.6 792761.683 0, 1397142.952 792784.942 0, 1397599.094 787229.968 0,
+ 1398055.216 781675.237 0))
+
+POLYGON ((1410805.277 793926.245 0, 1410521.99 793902.185 0, 1410237.39 793878.031 0, 1409952.788 793853.894 0, 1409668.186 793829.773 0, 1409383.581 793805.669 0, 1409098.975 793781.582 0, 1408814.368 793757.512 0, 1408529.76 793733.458 0, 1408245.15 793709.421 0,
+ 1407960.538 793685.401 0, 1407675.925 793661.398 0, 1407391.311 793637.411 0, 1407106.695 793613.441 0, 1406822.078 793589.488 0, 1406537.46 793565.552 0, 1406252.84 793541.632 0, 1405968.219 793517.729 0, 1405683.596 793493.843 0, 1405398.972 793469.974 0,
+ 1405114.346 793446.121 0, 1404829.719 793422.285 0, 1404545.091 793398.466 0, 1404260.461 793374.664 0, 1403974.518 793350.769 0, 1403691.198 793327.109 0, 1403406.564 793303.357 0, 1403121.928 793279.622 0, 1402837.292 793255.903 0, 1402552.654 793232.202 0,
+ 1402268.014 793208.516 0, 1401983.373 793184.848 0, 1401698.731 793161.197 0, 1401414.087 793137.562 0, 1401129.442 793113.944 0, 1400844.796 793090.342 0, 1400560.148 793066.758 0, 1400275.499 793043.19 0, 1399990.848 793019.639 0, 1399706.196 792996.105 0,
+ 1399421.542 792972.587 0, 1399136.888 792949.086 0, 1398852.232 792925.602 0, 1398567.574 792902.135 0, 1398282.915 792878.685 0, 1397998.255 792855.251 0, 1397713.593 792831.834 0, 1397428.93 792808.434 0, 1397142.952 792784.942 0, 1396686.79 798340.155 0,
+ 1396230.609 803895.603 0, 1396515.93 803919.04 0, 1396799.939 803942.387 0, 1397083.947 803965.75 0, 1397367.953 803989.13 0, 1397651.958 804012.527 0, 1397935.962 804035.94 0, 1398219.964 804059.37 0, 1398503.965 804082.817 0, 1398787.965 804106.28 0,
+ 1399071.963 804129.761 0, 1399355.959 804153.258 0, 1399639.955 804176.771 0, 1399923.949 804200.302 0, 1400207.941 804223.849 0, 1400491.932 804247.413 0, 1400775.922 804270.993 0, 1401059.911 804294.59 0, 1401343.898 804318.204 0, 1401627.883 804341.835 0,
+ 1401911.867 804365.482 0, 1402195.85 804389.146 0, 1402479.832 804412.827 0, 1402763.812 804436.525 0, 1403046.481 804460.13 0, 1403331.768 804483.97 0, 1403615.744 804507.718 0, 1403899.718 804531.482 0, 1404183.691 804555.263 0, 1404467.663 804579.061 0,
+ 1404751.633 804602.875 0, 1405035.602 804626.707 0, 1405319.569 804650.555 0, 1405603.535 804674.419 0, 1405887.5 804698.301 0, 1406171.463 804722.199 0, 1406455.425 804746.113 0, 1406739.385 804770.045 0, 1407023.344 804793.993 0, 1407307.302 804817.958 0,
+ 1407591.258 804841.94 0, 1407875.213 804865.938 0, 1408159.166 804889.953 0, 1408443.118 804913.985 0, 1408727.069 804938.034 0, 1409011.018 804962.099 0, 1409294.966 804986.181 0, 1409578.912 805010.279 0, 1409861.548 805034.284 0, 1410333.423 799480.146 0,
+ 1410805.277 793926.245 0))
+
+POLYGON ((1423489.217 806211.469 0, 1423206.647 806186.667 0, 1422922.77 806161.766 0, 1422638.892 806136.882 0, 1422355.012 806112.014 0, 1422071.13 806087.164 0, 1421787.247 806062.33 0, 1421503.363 806037.513 0, 1421219.477 806012.712 0, 1420935.59 805987.928 0,
+ 1420651.701 805963.161 0, 1420367.811 805938.411 0, 1420083.919 805913.677 0, 1419800.026 805888.96 0, 1419516.131 805864.26 0, 1419232.235 805839.577 0, 1418948.338 805814.91 0, 1418664.439 805790.26 0, 1418380.538 805765.626 0, 1418096.636 805741.01 0,
+ 1417812.733 805716.41 0, 1417528.828 805691.826 0, 1417244.922 805667.26 0, 1416961.015 805642.71 0, 1416675.798 805618.064 0, 1416393.195 805593.66 0, 1416109.283 805569.161 0, 1415825.37 805544.678 0, 1415541.455 805520.211 0, 1415257.539 805495.762 0,
+ 1414973.621 805471.329 0, 1414689.702 805446.913 0, 1414405.781 805422.513 0, 1414121.859 805398.13 0, 1413837.936 805373.764 0, 1413554.011 805349.415 0, 1413270.084 805325.083 0, 1412986.157 805300.767 0, 1412702.227 805276.467 0, 1412418.297 805252.185 0,
+ 1412134.365 805227.919 0, 1411850.431 805203.67 0, 1411566.496 805179.438 0, 1411282.56 805155.222 0, 1410998.622 805131.023 0, 1410714.683 805106.841 0, 1410430.742 805082.676 0, 1410146.8 805058.527 0, 1409861.548 805034.284 0, 1409389.654 810588.652 0,
+ 1408917.741 816143.249 0, 1409202.336 816167.437 0, 1409485.624 816191.53 0, 1409768.911 816215.64 0, 1410052.196 816239.766 0, 1410335.48 816263.909 0, 1410618.763 816288.069 0, 1410902.044 816312.246 0, 1411185.323 816336.439 0, 1411468.602 816360.649 0,
+ 1411751.878 816384.875 0, 1412035.154 816409.119 0, 1412318.428 816433.379 0, 1412601.7 816457.655 0, 1412884.971 816481.948 0, 1413168.241 816506.258 0, 1413451.509 816530.585 0, 1413734.776 816554.928 0, 1414018.041 816579.288 0, 1414301.305 816603.665 0,
+ 1414584.568 816628.058 0, 1414867.829 816652.468 0, 1415151.089 816676.895 0, 1415434.347 816701.338 0, 1415716.299 816725.685 0, 1416000.859 816750.275 0, 1416284.113 816774.768 0, 1416567.365 816799.278 0, 1416850.616 816823.805 0, 1417133.866 816848.348 0,
+ 1417417.114 816872.908 0, 1417700.36 816897.485 0, 1417983.606 816922.078 0, 1418266.849 816946.688 0, 1418550.092 816971.315 0, 1418833.332 816995.958 0, 1419116.572 817020.618 0, 1419399.81 817045.295 0, 1419683.046 817069.988 0, 1419966.281 817094.698 0,
+ 1420249.515 817119.425 0, 1420532.747 817144.168 0, 1420815.978 817168.928 0, 1421099.207 817193.705 0, 1421382.435 817218.498 0, 1421665.661 817243.308 0, 1421948.886 817268.135 0, 1422232.109 817292.979 0, 1422514.028 817317.724 0, 1423001.633 811764.483 0,
+ 1423489.217 806211.469 0))
+
+POLYGON ((1436106.943 818530.607 0, 1435825.093 818505.064 0, 1435541.941 818479.421 0, 1435258.787 818453.794 0, 1434975.632 818428.184 0, 1434692.476 818402.591 0, 1434409.318 818377.014 0, 1434126.158 818351.454 0, 1433842.997 818325.91 0, 1433559.834 818300.383 0,
+ 1433276.67 818274.873 0, 1432993.505 818249.38 0, 1432710.337 818223.903 0, 1432427.169 818198.443 0, 1432143.999 818172.999 0, 1431860.827 818147.573 0, 1431577.654 818122.162 0, 1431294.48 818096.769 0, 1431011.303 818071.392 0, 1430728.126 818046.032 0,
+ 1430444.947 818020.689 0, 1430161.766 817995.362 0, 1429878.584 817970.052 0, 1429595.401 817944.758 0, 1429310.914 817919.365 0, 1429029.029 817894.221 0, 1428745.841 817868.978 0, 1428462.652 817843.751 0, 1428179.461 817818.541 0, 1427896.268 817793.347 0,
+ 1427613.074 817768.171 0, 1427329.879 817743.01 0, 1427046.682 817717.867 0, 1426763.484 817692.74 0, 1426480.284 817667.63 0, 1426197.082 817642.537 0, 1425913.88 817617.46 0, 1425630.675 817592.4 0, 1425347.47 817567.356 0, 1425064.262 817542.33 0,
+ 1424781.054 817517.319 0, 1424497.843 817492.326 0, 1424214.632 817467.349 0, 1423931.419 817442.389 0, 1423648.204 817417.446 0, 1423364.988 817392.519 0, 1423081.771 817367.609 0, 1422798.552 817342.715 0, 1422514.028 817317.724 0, 1422026.404 822871.19 0,
+ 1421538.761 828424.877 0, 1421822.627 828449.81 0, 1422105.193 828474.646 0, 1422387.756 828499.499 0, 1422670.319 828524.368 0, 1422952.88 828549.254 0, 1423235.439 828574.156 0, 1423517.997 828599.075 0, 1423800.553 828624.011 0, 1424083.108 828648.964 0,
+ 1424365.662 828673.933 0, 1424648.214 828698.918 0, 1424930.764 828723.921 0, 1425213.314 828748.939 0, 1425495.861 828773.975 0, 1425778.407 828799.027 0, 1426060.952 828824.096 0, 1426343.495 828849.181 0, 1426626.037 828874.283 0, 1426908.577 828899.402 0,
+ 1427191.116 828924.537 0, 1427473.653 828949.689 0, 1427756.189 828974.858 0, 1428038.723 829000.043 0, 1428319.958 829025.129 0, 1428603.788 829050.463 0, 1428886.318 829075.698 0, 1429168.846 829100.95 0, 1429451.373 829126.218 0, 1429733.898 829151.503 0,
+ 1430016.422 829176.805 0, 1430298.945 829202.123 0, 1430581.466 829227.458 0, 1430863.985 829252.81 0, 1431146.503 829278.178 0, 1431429.019 829303.562 0, 1431711.534 829328.964 0, 1431994.048 829354.382 0, 1432276.56 829379.816 0, 1432559.07 829405.268 0,
+ 1432841.579 829430.736 0, 1433124.087 829456.22 0, 1433406.593 829481.721 0, 1433689.097 829507.239 0, 1433971.6 829532.773 0, 1434254.102 829558.324 0, 1434536.602 829583.892 0, 1434819.1 829609.476 0, 1435100.3 829634.96 0, 1435603.631 824082.673 0,
+ 1436106.943 818530.607 0))
+
+POLYGON ((1448658.366 830883.351 0, 1448377.237 830857.073 0, 1448094.812 830830.691 0, 1447812.386 830804.326 0, 1447529.958 830777.976 0, 1447247.528 830751.644 0, 1446965.097 830725.328 0, 1446682.664 830699.029 0, 1446400.229 830672.747 0, 1446117.793 830646.481 0,
+ 1445835.356 830620.231 0, 1445552.917 830593.999 0, 1445270.476 830567.783 0, 1444988.034 830541.583 0, 1444705.591 830515.4 0, 1444423.146 830489.234 0, 1444140.699 830463.085 0, 1443858.251 830436.952 0, 1443575.801 830410.835 0, 1443293.35 830384.736 0,
+ 1443010.897 830358.653 0, 1442728.442 830332.586 0, 1442445.986 830306.537 0, 1442163.529 830280.503 0, 1441879.774 830254.367 0, 1441598.609 830228.487 0, 1441316.147 830202.504 0, 1441033.684 830176.537 0, 1440751.219 830150.587 0, 1440468.752 830124.653 0,
+ 1440186.284 830098.737 0, 1439903.814 830072.836 0, 1439621.343 830046.953 0, 1439338.87 830021.086 0, 1439056.396 829995.236 0, 1438773.92 829969.402 0, 1438491.443 829943.585 0, 1438208.964 829917.784 0, 1437926.484 829892.001 0, 1437644.002 829866.234 0,
+ 1437361.519 829840.483 0, 1437079.034 829814.749 0, 1436796.547 829789.032 0, 1436514.059 829763.331 0, 1436231.57 829737.647 0, 1435949.079 829711.98 0, 1435666.587 829686.329 0, 1435384.093 829660.695 0, 1435100.3 829634.96 0, 1434596.948 835187.463 0,
+ 1434093.578 840740.181 0, 1434376.714 840765.856 0, 1434658.554 840791.431 0, 1434940.393 840817.023 0, 1435222.23 840842.631 0, 1435504.066 840868.255 0, 1435785.901 840893.897 0, 1436067.733 840919.554 0, 1436349.565 840945.229 0, 1436631.394 840970.92 0,
+ 1436913.223 840996.627 0, 1437195.049 841022.351 0, 1437476.875 841048.092 0, 1437758.698 841073.849 0, 1438040.521 841099.623 0, 1438322.341 841125.414 0, 1438604.16 841151.221 0, 1438885.978 841177.044 0, 1439167.794 841202.885 0, 1439449.609 841228.742 0,
+ 1439731.422 841254.615 0, 1440013.233 841280.505 0, 1440295.043 841306.412 0, 1440576.852 841332.335 0, 1440857.366 841358.155 0, 1441140.464 841384.231 0, 1441422.268 841410.204 0, 1441704.071 841436.193 0, 1441985.871 841462.2 0, 1442267.671 841488.222 0,
+ 1442549.469 841514.262 0, 1442831.265 841540.317 0, 1443113.06 841566.39 0, 1443394.853 841592.479 0, 1443676.644 841618.585 0, 1443958.434 841644.707 0, 1444240.223 841670.846 0, 1444522.01 841697.001 0, 1444803.796 841723.173 0, 1445085.58 841749.361 0,
+ 1445367.362 841775.567 0, 1445649.143 841801.788 0, 1445930.922 841828.027 0, 1446212.7 841854.282 0, 1446494.476 841880.553 0, 1446776.251 841906.841 0, 1447058.024 841933.146 0, 1447339.796 841959.467 0, 1447620.274 841985.684 0, 1448139.33 836434.411 0,
+ 1448658.366 830883.351 0))
+
+POLYGON ((1461143.397 843269.398 0, 1460862.992 843242.388 0, 1460581.296 843215.271 0, 1460299.598 843188.17 0, 1460017.899 843161.086 0, 1459736.198 843134.019 0, 1459454.495 843106.968 0, 1459172.791 843079.934 0, 1458891.086 843052.916 0, 1458609.378 843025.915 0,
+ 1458327.67 842998.93 0, 1458045.959 842971.962 0, 1457764.247 842945.011 0, 1457482.533 842918.076 0, 1457200.818 842891.158 0, 1456919.101 842864.256 0, 1456637.383 842837.371 0, 1456355.663 842810.503 0, 1456073.942 842783.651 0, 1455792.219 842756.816 0,
+ 1455510.494 842729.997 0, 1455228.768 842703.195 0, 1454947.04 842676.409 0, 1454665.31 842649.64 0, 1454382.289 842622.765 0, 1454101.847 842596.152 0, 1453820.113 842569.433 0, 1453538.377 842542.73 0, 1453256.64 842516.044 0, 1452974.901 842489.374 0,
+ 1452693.16 842462.722 0, 1452411.418 842436.085 0, 1452129.675 842409.465 0, 1451847.93 842382.862 0, 1451566.183 842356.276 0, 1451284.435 842329.706 0, 1451002.685 842303.152 0, 1450720.934 842276.615 0, 1450439.181 842250.095 0, 1450157.426 842223.592 0,
+ 1449875.67 842197.104 0, 1449593.913 842170.634 0, 1449312.153 842144.18 0, 1449030.393 842117.743 0, 1448748.63 842091.322 0, 1448466.867 842064.918 0, 1448185.101 842038.53 0, 1447903.334 842012.159 0, 1447620.274 841985.684 0, 1447101.198 847537.167 0,
+ 1446582.103 853088.856 0, 1446864.507 853115.269 0, 1447145.62 853141.579 0, 1447426.732 853167.906 0, 1447707.843 853194.249 0, 1447988.951 853220.608 0, 1448270.059 853246.984 0, 1448551.164 853273.377 0, 1448832.269 853299.786 0, 1449113.371 853326.211 0,
+ 1449394.472 853352.654 0, 1449675.572 853379.112 0, 1449956.669 853405.588 0, 1450237.766 853432.079 0, 1450518.861 853458.588 0, 1450799.954 853485.113 0, 1451081.046 853511.654 0, 1451362.136 853538.212 0, 1451643.224 853564.787 0, 1451924.311 853591.378 0,
+ 1452205.397 853617.985 0, 1452486.48 853644.61 0, 1452767.563 853671.25 0, 1453048.643 853697.908 0, 1453328.435 853724.459 0, 1453610.8 853751.272 0, 1453891.876 853777.979 0, 1454172.95 853804.702 0, 1454454.023 853831.442 0, 1454735.095 853858.199 0,
+ 1455016.164 853884.972 0, 1455297.232 853911.761 0, 1455578.299 853938.568 0, 1455859.364 853965.39 0, 1456140.427 853992.229 0, 1456421.489 854019.085 0, 1456702.549 854045.958 0, 1456983.608 854072.846 0, 1457264.665 854099.752 0, 1457545.721 854126.674 0,
+ 1457826.774 854153.612 0, 1458107.827 854180.567 0, 1458388.877 854207.539 0, 1458669.927 854234.527 0, 1458950.974 854261.532 0, 1459232.02 854288.553 0, 1459513.064 854315.591 0, 1459794.107 854342.645 0, 1460073.862 854369.592 0, 1460608.639 848819.392 0,
+ 1461143.397 843269.398 0))
+
+POLYGON ((1473561.949 855688.44 0, 1473282.269 855660.702 0, 1473001.304 855632.854 0, 1472720.337 855605.023 0, 1472439.369 855577.208 0, 1472158.398 855549.409 0, 1471877.427 855521.627 0, 1471596.453 855493.861 0, 1471315.478 855466.112 0, 1471034.502 855438.38 0,
+ 1470753.523 855410.664 0, 1470472.543 855382.965 0, 1470191.562 855355.282 0, 1469910.579 855327.616 0, 1469629.594 855299.966 0, 1469348.607 855272.333 0, 1469067.619 855244.716 0, 1468786.63 855217.116 0, 1468505.638 855189.532 0, 1468224.645 855161.965 0,
+ 1467943.651 855134.415 0, 1467662.655 855106.881 0, 1467381.657 855079.363 0, 1467100.657 855051.863 0, 1466818.371 855024.253 0, 1466538.654 854996.91 0, 1466257.649 854969.459 0, 1465976.643 854942.024 0, 1465695.636 854914.606 0, 1465414.627 854887.205 0,
+ 1465133.616 854859.819 0, 1464852.604 854832.451 0, 1464571.59 854805.099 0, 1464290.574 854777.763 0, 1464009.557 854750.444 0, 1463728.538 854723.142 0, 1463447.518 854695.856 0, 1463166.496 854668.587 0, 1462885.472 854641.334 0, 1462604.447 854614.098 0,
+ 1462323.42 854586.878 0, 1462042.392 854559.675 0, 1461761.362 854532.488 0, 1461480.33 854505.318 0, 1461199.297 854478.165 0, 1460918.262 854451.028 0, 1460637.226 854423.907 0, 1460356.188 854396.803 0, 1460073.862 854369.592 0, 1459539.065 859919.994 0,
+ 1459004.249 865470.595 0, 1459285.919 865497.744 0, 1459566.303 865524.784 0, 1459846.686 865551.842 0, 1460127.068 865578.916 0, 1460407.448 865606.006 0, 1460687.826 865633.113 0, 1460968.202 865660.236 0, 1461248.577 865687.376 0, 1461528.951 865714.533 0,
+ 1461809.323 865741.706 0, 1462089.693 865768.895 0, 1462370.062 865796.101 0, 1462650.429 865823.324 0, 1462930.794 865850.562 0, 1463211.158 865877.818 0, 1463491.52 865905.09 0, 1463771.881 865932.378 0, 1464052.24 865959.683 0, 1464332.597 865987.005 0,
+ 1464612.953 866014.343 0, 1464893.307 866041.697 0, 1465173.66 866069.068 0, 1465454.011 866096.455 0, 1465733.078 866123.734 0, 1466014.708 866151.28 0, 1466295.054 866178.717 0, 1466575.399 866206.17 0, 1466855.741 866233.64 0, 1467136.083 866261.127 0,
+ 1467416.422 866288.63 0, 1467696.76 866316.149 0, 1467977.097 866343.685 0, 1468257.432 866371.237 0, 1468537.765 866398.806 0, 1468818.096 866426.392 0, 1469098.426 866453.994 0, 1469378.755 866481.612 0, 1469659.081 866509.247 0, 1469939.406 866536.899 0,
+ 1470219.73 866564.567 0, 1470500.052 866592.251 0, 1470780.372 866619.952 0, 1471060.69 866647.669 0, 1471341.007 866675.403 0, 1471621.323 866703.154 0, 1471901.636 866730.921 0, 1472181.948 866758.704 0, 1472460.978 866786.377 0, 1473011.473 861237.309 0,
+ 1473561.949 855688.44 0))
+
+POLYGON ((1485913.935 868140.171 0, 1485634.983 868111.71 0, 1485354.751 868083.135 0, 1485074.517 868054.576 0, 1484794.281 868026.034 0, 1484514.043 867997.508 0, 1484233.804 867968.999 0, 1483953.563 867940.506 0, 1483673.321 867912.03 0, 1483393.077 867883.57 0,
+ 1483112.831 867855.126 0, 1482832.584 867826.7 0, 1482552.334 867798.289 0, 1482272.084 867769.895 0, 1481991.831 867741.518 0, 1481711.577 867713.157 0, 1481431.321 867684.813 0, 1481151.063 867656.485 0, 1480870.804 867628.174 0, 1480590.543 867599.879 0,
+ 1480310.281 867571.601 0, 1480030.017 867543.339 0, 1479749.751 867515.093 0, 1479469.483 867486.864 0, 1479187.935 867458.523 0, 1478908.943 867430.456 0, 1478628.671 867402.277 0, 1478348.397 867374.114 0, 1478068.121 867345.968 0, 1477787.844 867317.838 0,
+ 1477507.564 867289.724 0, 1477227.284 867261.627 0, 1476947.001 867233.547 0, 1476666.717 867205.483 0, 1476386.432 867177.436 0, 1476106.144 867149.405 0, 1475825.855 867121.39 0, 1475545.564 867093.392 0, 1475265.272 867065.411 0, 1474984.978 867037.446 0,
+ 1474704.683 867009.498 0, 1474424.385 866981.566 0, 1474144.086 866953.65 0, 1473863.786 866925.751 0, 1473583.484 866897.869 0, 1473303.18 866870.003 0, 1473022.874 866842.154 0, 1472742.567 866814.321 0, 1472460.978 866786.377 0, 1471910.463 872335.64 0,
+ 1471359.929 877885.094 0, 1471640.863 877912.972 0, 1471920.517 877940.74 0, 1472200.169 877968.525 0, 1472479.819 877996.326 0, 1472759.468 878024.143 0, 1473039.116 878051.977 0, 1473318.761 878079.828 0, 1473598.405 878107.694 0, 1473878.048 878135.578 0,
+ 1474157.688 878163.477 0, 1474437.328 878191.394 0, 1474716.965 878219.326 0, 1474996.601 878247.275 0, 1475276.235 878275.241 0, 1475555.868 878303.223 0, 1475835.498 878331.222 0, 1476115.128 878359.237 0, 1476394.755 878387.268 0, 1476674.381 878415.316 0,
+ 1476954.005 878443.38 0, 1477233.628 878471.461 0, 1477513.249 878499.558 0, 1477792.868 878527.672 0, 1478071.209 878555.674 0, 1478352.102 878583.949 0, 1478631.716 878612.112 0, 1478911.329 878640.291 0, 1479190.94 878668.487 0, 1479470.55 878696.7 0,
+ 1479750.157 878724.929 0, 1480029.763 878753.174 0, 1480309.368 878781.436 0, 1480588.97 878809.714 0, 1480868.571 878838.009 0, 1481148.171 878866.32 0, 1481427.769 878894.648 0, 1481707.365 878922.992 0, 1481986.959 878951.352 0, 1482266.552 878979.729 0,
+ 1482546.143 879008.123 0, 1482825.732 879036.533 0, 1483105.32 879064.959 0, 1483384.906 879093.402 0, 1483664.49 879121.861 0, 1483944.073 879150.337 0, 1484223.654 879178.829 0, 1484503.233 879207.338 0, 1484781.535 879235.733 0, 1485347.745 873687.857 0,
+ 1485913.935 868140.171 0))
+
+POLYGON ((1498199.272 880624.285 0, 1497921.049 880595.104 0, 1497641.552 880565.806 0, 1497362.052 880536.524 0, 1497082.551 880507.258 0, 1496803.048 880478.009 0, 1496523.544 880448.776 0, 1496244.037 880419.56 0, 1495964.529 880390.36 0, 1495685.02 880361.177 0,
+ 1495405.508 880332.01 0, 1495125.995 880302.86 0, 1494846.48 880273.726 0, 1494566.964 880244.609 0, 1494287.445 880215.508 0, 1494007.925 880186.423 0, 1493728.404 880157.355 0, 1493448.88 880128.303 0, 1493169.355 880099.268 0, 1492889.828 880070.249 0,
+ 1492610.3 880041.247 0, 1492330.769 880012.261 0, 1492051.237 879983.292 0, 1491771.704 879954.339 0, 1491490.894 879925.271 0, 1491212.631 879896.483 0, 1490933.093 879867.579 0, 1490653.552 879838.692 0, 1490374.01 879809.821 0, 1490094.466 879780.967 0,
+ 1489814.92 879752.129 0, 1489535.373 879723.308 0, 1489255.824 879694.503 0, 1488976.274 879665.715 0, 1488696.721 879636.943 0, 1488417.167 879608.187 0, 1488137.611 879579.448 0, 1487858.054 879550.726 0, 1487578.495 879522.019 0, 1487298.934 879493.33 0,
+ 1487019.372 879464.657 0, 1486739.807 879436 0, 1486460.241 879407.359 0, 1486180.674 879378.736 0, 1485901.105 879350.128 0, 1485621.534 879321.537 0, 1485341.961 879292.963 0, 1485062.387 879264.405 0, 1484781.535 879235.733 0, 1484215.307 884783.797 0,
+ 1483649.059 890332.044 0, 1483929.254 890360.649 0, 1484208.176 890389.14 0, 1484487.095 890417.648 0, 1484766.013 890446.172 0, 1485044.929 890474.713 0, 1485323.844 890503.27 0, 1485602.756 890531.843 0, 1485881.667 890560.433 0, 1486160.577 890589.039 0,
+ 1486439.485 890617.662 0, 1486718.391 890646.301 0, 1486997.295 890674.956 0, 1487276.198 890703.628 0, 1487555.099 890732.316 0, 1487833.998 890761.021 0, 1488112.896 890789.742 0, 1488391.792 890818.48 0, 1488670.686 890847.234 0, 1488949.578 890876.004 0,
+ 1489228.469 890904.791 0, 1489507.358 890933.594 0, 1489786.246 890962.414 0, 1490065.132 890991.25 0, 1490342.744 891019.971 0, 1490622.898 891048.971 0, 1490901.779 891077.857 0, 1491180.658 891106.758 0, 1491459.535 891135.676 0, 1491738.41 891164.611 0,
+ 1492017.284 891193.562 0, 1492296.156 891222.529 0, 1492575.027 891251.513 0, 1492853.896 891280.513 0, 1493132.763 891309.53 0, 1493411.628 891338.563 0, 1493690.492 891367.612 0, 1493969.354 891396.678 0, 1494248.214 891425.76 0, 1494527.072 891454.859 0,
+ 1494805.929 891483.974 0, 1495084.784 891513.106 0, 1495363.637 891542.254 0, 1495642.489 891571.418 0, 1495921.339 891600.599 0, 1496200.187 891629.796 0, 1496479.034 891659.009 0, 1496757.878 891688.239 0, 1497035.451 891717.353 0, 1497617.371 886170.727 0,
+ 1498199.272 880624.285 0))
+
+POLYGON ((1510417.876 893140.475 0, 1510140.385 893110.577 0, 1509861.623 893080.559 0, 1509582.861 893050.558 0, 1509304.096 893020.573 0, 1509025.33 892990.605 0, 1508746.562 892960.653 0, 1508467.792 892930.717 0, 1508189.02 892900.798 0, 1507910.247 892870.895 0,
+ 1507631.472 892841.009 0, 1507352.695 892811.139 0, 1507073.916 892781.285 0, 1506795.135 892751.448 0, 1506516.353 892721.627 0, 1506237.569 892691.823 0, 1505958.784 892662.035 0, 1505679.996 892632.264 0, 1505401.207 892602.509 0, 1505122.416 892572.77 0,
+ 1504843.623 892543.048 0, 1504564.829 892513.342 0, 1504286.033 892483.652 0, 1504007.235 892453.979 0, 1503727.166 892424.188 0, 1503449.634 892394.682 0, 1503170.83 892365.058 0, 1502892.026 892335.451 0, 1502613.219 892305.86 0, 1502334.411 892276.285 0,
+ 1502055.6 892246.727 0, 1501776.788 892217.185 0, 1501497.975 892187.66 0, 1501219.159 892158.151 0, 1500940.342 892128.658 0, 1500661.524 892099.182 0, 1500382.703 892069.723 0, 1500103.881 892040.279 0, 1499825.057 892010.852 0, 1499546.231 891981.442 0,
+ 1499267.403 891952.048 0, 1498988.574 891922.67 0, 1498709.743 891893.309 0, 1498430.911 891863.964 0, 1498152.076 891834.635 0, 1497873.24 891805.323 0, 1497594.402 891776.028 0, 1497315.563 891746.749 0, 1497035.451 891717.353 0, 1496453.512 897264.158 0,
+ 1495871.555 902811.139 0, 1496151.01 902840.466 0, 1496429.197 902869.677 0, 1496707.382 902898.904 0, 1496985.565 902928.147 0, 1497263.747 902957.407 0, 1497541.926 902986.683 0, 1497820.104 903015.976 0, 1498098.281 903045.284 0, 1498376.455 903074.61 0,
+ 1498654.628 903103.951 0, 1498932.799 903133.309 0, 1499210.968 903162.684 0, 1499489.136 903192.074 0, 1499767.302 903221.482 0, 1500045.466 903250.905 0, 1500323.629 903280.345 0, 1500601.789 903309.801 0, 1500879.948 903339.274 0, 1501158.106 903368.763 0,
+ 1501436.261 903398.268 0, 1501714.415 903427.79 0, 1501992.567 903457.328 0, 1502270.717 903486.882 0, 1502547.6 903516.319 0, 1502827.013 903546.041 0, 1503105.158 903575.644 0, 1503383.301 903605.264 0, 1503661.443 903634.9 0, 1503939.583 903664.553 0,
+ 1504217.721 903694.222 0, 1504495.857 903723.908 0, 1504773.992 903753.609 0, 1505052.125 903783.328 0, 1505330.256 903813.062 0, 1505608.385 903842.813 0, 1505886.513 903872.58 0, 1506164.639 903902.364 0, 1506442.763 903932.164 0, 1506720.885 903961.98 0,
+ 1506999.006 903991.813 0, 1507277.125 904021.662 0, 1507555.242 904051.528 0, 1507833.357 904081.41 0, 1508111.471 904111.308 0, 1508389.582 904141.223 0, 1508667.692 904171.154 0, 1508945.801 904201.101 0, 1509222.643 904230.928 0, 1509820.269 898685.613 0,
+ 1510417.876 893140.475 0))
+
+POLYGON ((1000000 453741.494 0, 999696.853 453741.503 0, 999392.233 453741.53 0, 999087.612 453741.575 0, 998782.992 453741.637 0, 998478.371 453741.718 0, 998173.751 453741.816 0, 997869.13 453741.933 0, 997564.509 453742.067 0, 997259.889 453742.219 0,
+ 996955.268 453742.39 0, 996650.648 453742.578 0, 996346.027 453742.784 0, 996041.407 453743.008 0, 995736.786 453743.25 0, 995432.166 453743.51 0, 995127.546 453743.788 0, 994822.925 453744.083 0, 994518.305 453744.397 0, 994213.684 453744.729 0,
+ 993909.064 453745.078 0, 993604.444 453745.446 0, 993299.823 453745.831 0, 992995.203 453746.234 0, 992689.108 453746.658 0, 992385.963 453747.095 0, 992081.342 453747.552 0, 991776.722 453748.027 0, 991472.102 453748.52 0, 991167.482 453749.031 0,
+ 990862.862 453749.56 0, 990558.242 453750.107 0, 990253.622 453750.671 0, 989949.002 453751.254 0, 989644.382 453751.854 0, 989339.762 453752.473 0, 989035.142 453753.109 0, 988730.522 453753.764 0, 988425.902 453754.436 0, 988121.282 453755.126 0,
+ 987816.663 453755.834 0, 987512.043 453756.56 0, 987207.423 453757.304 0, 986902.804 453758.066 0, 986598.184 453758.846 0, 986293.565 453759.644 0, 985988.945 453760.459 0, 985684.326 453761.293 0, 985378.23 453762.149 0, 985393.922 459316.555 0,
+ 985409.616 464871.387 0, 985715.054 464870.533 0, 986019.02 464869.701 0, 986322.986 464868.887 0, 986626.951 464868.091 0, 986930.917 464867.313 0, 987234.883 464866.553 0, 987538.848 464865.81 0, 987842.814 464865.086 0, 988146.78 464864.379 0,
+ 988450.746 464863.691 0, 988754.712 464863.02 0, 989058.678 464862.367 0, 989362.644 464861.732 0, 989666.61 464861.115 0, 989970.576 464860.515 0, 990274.542 464859.934 0, 990578.509 464859.37 0, 990882.475 464858.825 0, 991186.441 464858.297 0,
+ 991490.407 464857.787 0, 991794.374 464857.295 0, 992098.34 464856.821 0, 992402.306 464856.365 0, 992704.801 464855.929 0, 993010.239 464855.507 0, 993314.205 464855.104 0, 993618.172 464854.72 0, 993922.138 464854.353 0, 994226.105 464854.004 0,
+ 994530.071 464853.673 0, 994834.038 464853.36 0, 995138.004 464853.065 0, 995441.971 464852.788 0, 995745.938 464852.529 0, 996049.904 464852.287 0, 996353.871 464852.064 0, 996657.837 464851.858 0, 996961.804 464851.67 0, 997265.771 464851.5 0,
+ 997569.737 464851.348 0, 997873.704 464851.214 0, 998177.671 464851.098 0, 998481.637 464851 0, 998785.604 464850.919 0, 999089.571 464850.857 0, 999393.537 464850.812 0, 999697.504 464850.785 0, 1000000 464850.777 0, 1000000 459295.922 0,
+ 1000000 453741.494 0))
+
+POLYGON ((1014590.384 464871.387 0, 1014287.887 464870.541 0, 1013983.921 464869.709 0, 1013679.956 464868.895 0, 1013375.99 464868.099 0, 1013072.024 464867.32 0, 1012768.059 464866.56 0, 1012464.093 464865.817 0, 1012160.127 464865.093 0, 1011856.161 464864.386 0,
+ 1011552.195 464863.697 0, 1011248.229 464863.026 0, 1010944.263 464862.373 0, 1010640.297 464861.738 0, 1010336.331 464861.12 0, 1010032.365 464860.521 0, 1009728.399 464859.939 0, 1009424.433 464859.376 0, 1009120.467 464858.83 0, 1008816.5 464858.302 0,
+ 1008512.534 464857.792 0, 1008208.568 464857.3 0, 1007904.602 464856.826 0, 1007600.635 464856.37 0, 1007295.199 464855.929 0, 1006992.702 464855.511 0, 1006688.736 464855.108 0, 1006384.77 464854.723 0, 1006080.803 464854.356 0, 1005776.837 464854.008 0,
+ 1005472.87 464853.676 0, 1005168.904 464853.363 0, 1004864.937 464853.068 0, 1004560.97 464852.791 0, 1004257.004 464852.531 0, 1003953.037 464852.289 0, 1003649.071 464852.066 0, 1003345.104 464851.86 0, 1003041.137 464851.672 0, 1002737.171 464851.502 0,
+ 1002433.204 464851.35 0, 1002129.237 464851.216 0, 1001825.271 464851.099 0, 1001521.304 464851.001 0, 1001217.337 464850.92 0, 1000913.371 464850.857 0, 1000609.404 464850.813 0, 1000305.437 464850.786 0, 1000000 464850.777 0, 1000000 470406.055 0,
+ 1000000 475961.753 0, 1000304.78 475961.762 0, 1000608.093 475961.789 0, 1000911.406 475961.834 0, 1001214.718 475961.897 0, 1001518.031 475961.977 0, 1001821.344 475962.075 0, 1002124.657 475962.191 0, 1002427.969 475962.325 0, 1002731.282 475962.477 0,
+ 1003034.595 475962.647 0, 1003337.907 475962.834 0, 1003641.22 475963.04 0, 1003944.533 475963.263 0, 1004247.845 475963.504 0, 1004551.158 475963.763 0, 1004854.47 475964.04 0, 1005157.783 475964.335 0, 1005461.096 475964.647 0, 1005764.408 475964.977 0,
+ 1006067.721 475965.326 0, 1006371.033 475965.692 0, 1006674.346 475966.076 0, 1006977.658 475966.477 0, 1007279.504 475966.895 0, 1007584.283 475967.334 0, 1007887.595 475967.79 0, 1008190.908 475968.263 0, 1008494.22 475968.754 0, 1008797.532 475969.263 0,
+ 1009100.844 475969.79 0, 1009404.157 475970.334 0, 1009707.469 475970.897 0, 1010010.781 475971.477 0, 1010314.093 475972.075 0, 1010617.405 475972.691 0, 1010920.717 475973.325 0, 1011224.029 475973.977 0, 1011527.341 475974.646 0, 1011830.653 475975.334 0,
+ 1012133.965 475976.039 0, 1012437.277 475976.762 0, 1012740.589 475977.503 0, 1013043.901 475978.262 0, 1013347.212 475979.038 0, 1013650.524 475979.833 0, 1013953.836 475980.645 0, 1014257.147 475981.475 0, 1014558.994 475982.319 0, 1014574.689 470426.643 0,
+ 1014590.384 464871.387 0))
+
+POLYGON ((1029117.871 476044.017 0, 1028816.026 476042.32 0, 1028512.718 476040.633 0, 1028209.41 476038.964 0, 1027906.101 476037.313 0, 1027602.793 476035.679 0, 1027299.485 476034.063 0, 1026996.176 476032.465 0, 1026692.868 476030.885 0, 1026389.559 476029.323 0,
+ 1026086.25 476027.779 0, 1025782.941 476026.252 0, 1025479.632 476024.744 0, 1025176.323 476023.253 0, 1024873.014 476021.78 0, 1024569.705 476020.325 0, 1024266.396 476018.888 0, 1023963.086 476017.469 0, 1023659.777 476016.067 0, 1023356.467 476014.683 0,
+ 1023053.157 476013.318 0, 1022749.848 476011.97 0, 1022446.538 476010.64 0, 1022143.228 476009.327 0, 1021838.454 476008.027 0, 1021536.608 476006.756 0, 1021233.298 476005.498 0, 1020929.988 476004.257 0, 1020626.678 476003.034 0, 1020323.367 476001.829 0,
+ 1020020.057 476000.642 0, 1019716.746 475999.472 0, 1019413.436 475998.321 0, 1019110.125 475997.187 0, 1018806.815 475996.071 0, 1018503.504 475994.973 0, 1018200.193 475993.893 0, 1017896.882 475992.831 0, 1017593.571 475991.786 0, 1017290.26 475990.76 0,
+ 1016986.949 475989.751 0, 1016683.638 475988.76 0, 1016380.327 475987.787 0, 1016077.016 475986.832 0, 1015773.704 475985.894 0, 1015470.393 475984.975 0, 1015167.082 475984.073 0, 1014863.77 475983.189 0, 1014558.994 475982.319 0, 1014543.297 481538.414 0,
+ 1014527.598 487094.922 0, 1014831.718 487095.79 0, 1015134.375 487096.672 0, 1015437.032 487097.572 0, 1015739.69 487098.489 0, 1016042.347 487099.425 0, 1016345.004 487100.378 0, 1016647.661 487101.349 0, 1016950.318 487102.338 0, 1017252.975 487103.344 0,
+ 1017555.632 487104.369 0, 1017858.289 487105.411 0, 1018160.946 487106.471 0, 1018463.603 487107.549 0, 1018766.259 487108.644 0, 1019068.916 487109.758 0, 1019371.572 487110.889 0, 1019674.229 487112.038 0, 1019976.885 487113.205 0, 1020279.542 487114.39 0,
+ 1020582.198 487115.592 0, 1020884.854 487116.812 0, 1021187.51 487118.051 0, 1021490.166 487119.307 0, 1021791.361 487120.574 0, 1022095.478 487121.872 0, 1022398.134 487123.181 0, 1022700.79 487124.509 0, 1023003.445 487125.854 0, 1023306.101 487127.216 0,
+ 1023608.756 487128.597 0, 1023911.412 487129.996 0, 1024214.067 487131.412 0, 1024516.722 487132.846 0, 1024819.378 487134.298 0, 1025122.033 487135.768 0, 1025424.688 487137.255 0, 1025727.343 487138.76 0, 1026029.997 487140.284 0, 1026332.652 487141.825 0,
+ 1026635.307 487143.383 0, 1026937.961 487144.96 0, 1027240.616 487146.554 0, 1027543.27 487148.167 0, 1027845.924 487149.797 0, 1028148.579 487151.445 0, 1028451.233 487153.11 0, 1028753.887 487154.794 0, 1029055.081 487156.487 0, 1029086.477 481600.045 0,
+ 1029117.871 476044.017 0))
+
+POLYGON ((1043582.331 487259.094 0, 1043281.141 487256.55 0, 1042978.493 487254.011 0, 1042675.845 487251.491 0, 1042373.196 487248.988 0, 1042070.548 487246.503 0, 1041767.899 487244.035 0, 1041465.25 487241.586 0, 1041162.602 487239.154 0, 1040859.953 487236.74 0,
+ 1040557.303 487234.344 0, 1040254.654 487231.966 0, 1039952.005 487229.606 0, 1039649.355 487227.263 0, 1039346.705 487224.938 0, 1039044.055 487222.631 0, 1038741.405 487220.342 0, 1038438.755 487218.071 0, 1038136.105 487215.817 0, 1037833.455 487213.582 0,
+ 1037530.804 487211.364 0, 1037228.153 487209.164 0, 1036925.503 487206.981 0, 1036622.852 487204.817 0, 1036318.742 487202.66 0, 1036017.55 487200.542 0, 1035714.898 487198.431 0, 1035412.247 487196.337 0, 1035109.595 487194.262 0, 1034806.944 487192.204 0,
+ 1034504.292 487190.165 0, 1034201.64 487188.143 0, 1033898.988 487186.139 0, 1033596.336 487184.152 0, 1033293.684 487182.184 0, 1032991.031 487180.233 0, 1032688.379 487178.3 0, 1032385.726 487176.385 0, 1032083.073 487174.488 0, 1031780.421 487172.608 0,
+ 1031477.768 487170.747 0, 1031175.115 487168.903 0, 1030872.461 487167.077 0, 1030569.808 487165.269 0, 1030267.155 487163.478 0, 1029964.501 487161.706 0, 1029661.848 487159.951 0, 1029359.194 487158.214 0, 1029055.081 487156.487 0, 1029023.682 492713.34 0,
+ 1028992.281 498270.603 0, 1029295.737 498272.326 0, 1029597.737 498274.059 0, 1029899.736 498275.81 0, 1030201.736 498277.579 0, 1030503.735 498279.365 0, 1030805.734 498281.17 0, 1031107.733 498282.992 0, 1031409.732 498284.832 0, 1031711.731 498286.689 0,
+ 1032013.729 498288.565 0, 1032315.728 498290.458 0, 1032617.726 498292.369 0, 1032919.725 498294.297 0, 1033221.723 498296.244 0, 1033523.721 498298.208 0, 1033825.719 498300.19 0, 1034127.717 498302.19 0, 1034429.714 498304.208 0, 1034731.712 498306.243 0,
+ 1035033.71 498308.296 0, 1035335.707 498310.367 0, 1035637.704 498312.456 0, 1035939.701 498314.562 0, 1036240.243 498316.676 0, 1036543.695 498318.828 0, 1036845.692 498320.988 0, 1037147.689 498323.166 0, 1037449.685 498325.361 0, 1037751.682 498327.574 0,
+ 1038053.678 498329.805 0, 1038355.674 498332.054 0, 1038657.67 498334.32 0, 1038959.666 498336.604 0, 1039261.661 498338.906 0, 1039563.657 498341.226 0, 1039865.652 498343.563 0, 1040167.648 498345.919 0, 1040469.643 498348.292 0, 1040771.638 498350.683 0,
+ 1041073.633 498353.091 0, 1041375.628 498355.518 0, 1041677.622 498357.962 0, 1041979.617 498360.424 0, 1042281.611 498362.904 0, 1042583.605 498365.401 0, 1042885.599 498367.916 0, 1043187.593 498370.449 0, 1043488.132 498372.988 0, 1043535.234 492815.837 0,
+ 1043582.331 487259.094 0))
+
+POLYGON ((1057983.637 498516.326 0, 1057683.103 498512.939 0, 1057381.118 498509.552 0, 1057079.132 498506.184 0, 1056777.146 498502.833 0, 1056475.16 498499.5 0, 1056173.174 498496.185 0, 1055871.187 498492.888 0, 1055569.201 498489.608 0, 1055267.214 498486.347 0,
+ 1054965.227 498483.102 0, 1054663.239 498479.876 0, 1054361.252 498476.668 0, 1054059.264 498473.477 0, 1053757.277 498470.304 0, 1053455.289 498467.149 0, 1053153.3 498464.012 0, 1052851.312 498460.892 0, 1052549.323 498457.79 0, 1052247.335 498454.706 0,
+ 1051945.346 498451.64 0, 1051643.357 498448.591 0, 1051341.367 498445.561 0, 1051039.378 498442.548 0, 1050735.935 498439.538 0, 1050435.398 498436.575 0, 1050133.408 498433.615 0, 1049831.418 498430.673 0, 1049529.428 498427.749 0, 1049227.437 498424.843 0,
+ 1048925.447 498421.954 0, 1048623.456 498419.084 0, 1048321.465 498416.231 0, 1048019.474 498413.396 0, 1047717.482 498410.578 0, 1047415.491 498407.778 0, 1047113.499 498404.997 0, 1046811.507 498402.232 0, 1046509.515 498399.486 0, 1046207.523 498396.757 0,
+ 1045905.531 498394.047 0, 1045603.538 498391.354 0, 1045301.546 498388.678 0, 1044999.553 498386.021 0, 1044697.56 498383.381 0, 1044395.567 498380.759 0, 1044093.574 498378.155 0, 1043791.58 498375.569 0, 1043488.132 498372.988 0, 1043441.028 503930.544 0,
+ 1043393.92 509488.503 0, 1043696.71 509491.079 0, 1043998.05 509493.659 0, 1044299.389 509496.258 0, 1044600.728 509498.874 0, 1044902.066 509501.508 0, 1045203.405 509504.16 0, 1045504.743 509506.829 0, 1045806.081 509509.516 0, 1046107.42 509512.221 0,
+ 1046408.757 509514.944 0, 1046710.095 509517.684 0, 1047011.433 509520.443 0, 1047312.77 509523.218 0, 1047614.108 509526.012 0, 1047915.445 509528.823 0, 1048216.782 509531.652 0, 1048518.118 509534.499 0, 1048819.455 509537.364 0, 1049120.791 509540.246 0,
+ 1049422.128 509543.146 0, 1049723.464 509546.064 0, 1050024.8 509548.999 0, 1050326.136 509551.953 0, 1050626.021 509554.909 0, 1050928.806 509557.912 0, 1051230.142 509560.919 0, 1051531.477 509563.943 0, 1051832.812 509566.985 0, 1052134.146 509570.044 0,
+ 1052435.481 509573.122 0, 1052736.815 509576.217 0, 1053038.149 509579.33 0, 1053339.483 509582.46 0, 1053640.817 509585.609 0, 1053942.151 509588.775 0, 1054243.484 509591.959 0, 1054544.817 509595.16 0, 1054846.15 509598.379 0, 1055147.483 509601.616 0,
+ 1055448.816 509604.871 0, 1055750.148 509608.144 0, 1056051.481 509611.434 0, 1056352.813 509614.742 0, 1056654.145 509618.067 0, 1056955.476 509621.411 0, 1057256.808 509624.772 0, 1057558.139 509628.151 0, 1057858.021 509631.531 0, 1057920.831 504073.728 0,
+ 1057983.637 498516.326 0))
+
+POLYGON ((1072321.661 509815.422 0, 1072021.787 509811.195 0, 1071720.466 509806.964 0, 1071419.146 509802.752 0, 1071117.824 509798.557 0, 1070816.503 509794.38 0, 1070515.182 509790.221 0, 1070213.86 509786.079 0, 1069912.538 509781.956 0, 1069611.216 509777.85 0,
+ 1069309.893 509773.761 0, 1069008.57 509769.691 0, 1068707.247 509765.638 0, 1068405.924 509761.603 0, 1068104.601 509757.585 0, 1067803.277 509753.586 0, 1067501.953 509749.604 0, 1067200.629 509745.64 0, 1066899.305 509741.693 0, 1066597.98 509737.765 0,
+ 1066296.655 509733.854 0, 1065995.33 509729.96 0, 1065694.005 509726.085 0, 1065392.679 509722.227 0, 1065089.906 509718.369 0, 1064790.028 509714.565 0, 1064488.701 509710.76 0, 1064187.375 509706.974 0, 1063886.048 509703.205 0, 1063584.721 509699.453 0,
+ 1063283.394 509695.72 0, 1062982.067 509692.004 0, 1062680.739 509688.306 0, 1062379.412 509684.625 0, 1062078.084 509680.963 0, 1061776.756 509677.318 0, 1061475.427 509673.69 0, 1061174.098 509670.081 0, 1060872.77 509666.489 0, 1060571.441 509662.915 0,
+ 1060270.111 509659.359 0, 1059968.782 509655.82 0, 1059667.452 509652.3 0, 1059366.122 509648.797 0, 1059064.792 509645.311 0, 1058763.462 509641.844 0, 1058462.132 509638.394 0, 1058160.801 509634.962 0, 1057858.021 509631.531 0, 1057795.207 515189.734 0,
+ 1057732.388 520748.333 0, 1058034.51 520751.756 0, 1058335.186 520755.181 0, 1058635.863 520758.623 0, 1058936.539 520762.083 0, 1059237.214 520765.561 0, 1059537.89 520769.056 0, 1059838.565 520772.57 0, 1060139.24 520776.1 0, 1060439.915 520779.649 0,
+ 1060740.59 520783.215 0, 1061041.264 520786.799 0, 1061341.939 520790.401 0, 1061642.613 520794.02 0, 1061943.287 520797.657 0, 1062243.96 520801.312 0, 1062544.634 520804.984 0, 1062845.307 520808.674 0, 1063145.98 520812.382 0, 1063446.653 520816.107 0,
+ 1063747.325 520819.851 0, 1064047.998 520823.612 0, 1064348.67 520827.39 0, 1064649.342 520831.186 0, 1064948.569 520834.982 0, 1065250.685 520838.832 0, 1065551.356 520842.681 0, 1065852.027 520846.549 0, 1066152.698 520850.433 0, 1066453.369 520854.336 0,
+ 1066754.039 520858.256 0, 1067054.709 520862.194 0, 1067355.379 520866.149 0, 1067656.048 520870.123 0, 1067956.718 520874.114 0, 1068257.387 520878.122 0, 1068558.056 520882.149 0, 1068858.725 520886.193 0, 1069159.393 520890.254 0, 1069460.061 520894.334 0,
+ 1069760.729 520898.431 0, 1070061.397 520902.546 0, 1070362.064 520906.678 0, 1070662.732 520910.828 0, 1070963.399 520914.996 0, 1071264.065 520919.182 0, 1071564.732 520923.385 0, 1071865.398 520927.606 0, 1072164.621 520931.825 0, 1072243.144 515373.425 0,
+ 1072321.661 509815.422 0))
+
+POLYGON ((1086596.278 521156.089 0, 1086297.066 521151.025 0, 1085996.413 521145.955 0, 1085695.759 521140.902 0, 1085395.106 521135.867 0, 1085094.452 521130.85 0, 1084793.797 521125.85 0, 1084493.143 521120.868 0, 1084192.488 521115.904 0, 1083891.833 521110.958 0,
+ 1083591.177 521106.029 0, 1083290.521 521101.118 0, 1082989.865 521096.224 0, 1082689.209 521091.348 0, 1082388.552 521086.49 0, 1082087.895 521081.65 0, 1081787.238 521076.827 0, 1081486.581 521072.022 0, 1081185.923 521067.235 0, 1080885.265 521062.465 0,
+ 1080584.607 521057.713 0, 1080283.948 521052.979 0, 1079983.289 521048.263 0, 1079682.63 521043.564 0, 1079380.529 521038.86 0, 1079081.311 521034.219 0, 1078780.651 521029.574 0, 1078479.991 521024.946 0, 1078179.33 521020.335 0, 1077878.669 521015.743 0,
+ 1077578.008 521011.168 0, 1077277.347 521006.61 0, 1076976.685 521002.071 0, 1076676.023 520997.549 0, 1076375.361 520993.045 0, 1076074.699 520988.558 0, 1075774.036 520984.09 0, 1075473.373 520979.639 0, 1075172.71 520975.205 0, 1074872.047 520970.79 0,
+ 1074571.383 520966.392 0, 1074270.719 520962.011 0, 1073970.055 520957.649 0, 1073669.39 520953.304 0, 1073368.726 520948.977 0, 1073068.061 520944.667 0, 1072767.395 520940.375 0, 1072466.73 520936.101 0, 1072164.621 520931.825 0, 1072086.093 526490.617 0,
+ 1072007.559 532049.799 0, 1072309.01 532054.067 0, 1072609.021 532058.331 0, 1072909.032 532062.614 0, 1073209.043 532066.914 0, 1073509.053 532071.232 0, 1073809.063 532075.567 0, 1074109.073 532079.92 0, 1074409.083 532084.291 0, 1074709.092 532088.679 0,
+ 1075009.101 532093.085 0, 1075309.11 532097.509 0, 1075609.118 532101.951 0, 1075909.127 532106.41 0, 1076209.135 532110.886 0, 1076509.142 532115.381 0, 1076809.15 532119.893 0, 1077109.157 532124.422 0, 1077409.164 532128.97 0, 1077709.171 532133.535 0,
+ 1078009.177 532138.117 0, 1078309.183 532142.717 0, 1078609.189 532147.335 0, 1078909.195 532151.971 0, 1079207.761 532156.602 0, 1079509.205 532161.295 0, 1079809.21 532165.984 0, 1080109.215 532170.69 0, 1080409.219 532175.414 0, 1080709.223 532180.156 0,
+ 1081009.227 532184.915 0, 1081309.23 532189.692 0, 1081609.233 532194.486 0, 1081909.236 532199.298 0, 1082209.238 532204.128 0, 1082509.241 532208.976 0, 1082809.243 532213.841 0, 1083109.244 532218.724 0, 1083409.246 532223.624 0, 1083709.247 532228.542 0,
+ 1084009.248 532233.478 0, 1084309.248 532238.431 0, 1084609.248 532243.403 0, 1084909.248 532248.391 0, 1085209.248 532253.398 0, 1085509.247 532258.422 0, 1085809.246 532263.464 0, 1086109.245 532268.523 0, 1086407.806 532273.576 0, 1086502.045 526714.637 0,
+ 1086596.278 521156.089 0))
+
+POLYGON ((1100807.364 532538.035 0, 1100508.816 532532.138 0, 1100208.833 532526.231 0, 1099908.849 532520.342 0, 1099608.865 532514.471 0, 1099308.881 532508.617 0, 1099008.896 532502.78 0, 1098708.911 532496.962 0, 1098408.926 532491.161 0, 1098108.94 532485.377 0,
+ 1097808.954 532479.612 0, 1097508.968 532473.864 0, 1097208.981 532468.133 0, 1096908.994 532462.421 0, 1096609.007 532456.726 0, 1096309.019 532451.048 0, 1096009.031 532445.389 0, 1095709.043 532439.746 0, 1095409.054 532434.122 0, 1095109.065 532428.515 0,
+ 1094809.075 532422.926 0, 1094509.086 532417.355 0, 1094209.096 532411.801 0, 1093909.105 532406.265 0, 1093607.678 532400.72 0, 1093309.124 532395.245 0, 1093009.132 532389.762 0, 1092709.141 532384.297 0, 1092409.149 532378.849 0, 1092109.157 532373.419 0,
+ 1091809.164 532368.006 0, 1091509.171 532362.611 0, 1091209.178 532357.234 0, 1090909.184 532351.875 0, 1090609.19 532346.533 0, 1090309.196 532341.208 0, 1090009.202 532335.902 0, 1089709.207 532330.613 0, 1089409.212 532325.342 0, 1089109.216 532320.088 0,
+ 1088809.221 532314.852 0, 1088509.225 532309.634 0, 1088209.228 532304.433 0, 1087909.232 532299.25 0, 1087609.235 532294.085 0, 1087309.237 532288.937 0, 1087009.24 532283.807 0, 1086709.242 532278.695 0, 1086407.806 532273.576 0, 1086313.56 537832.901 0,
+ 1086219.308 543392.609 0, 1086520.086 543397.717 0, 1086819.43 543402.818 0, 1087118.773 543407.937 0, 1087418.116 543413.074 0, 1087717.458 543418.228 0, 1088016.8 543423.399 0, 1088316.142 543428.589 0, 1088615.484 543433.796 0, 1088914.825 543439.02 0,
+ 1089214.166 543444.262 0, 1089513.507 543449.522 0, 1089812.847 543454.799 0, 1090112.187 543460.095 0, 1090411.527 543465.407 0, 1090710.866 543470.737 0, 1091010.206 543476.085 0, 1091309.544 543481.451 0, 1091608.883 543486.834 0, 1091908.221 543492.235 0,
+ 1092207.559 543497.653 0, 1092506.896 543503.089 0, 1092806.234 543508.542 0, 1093105.571 543514.014 0, 1093403.474 543519.476 0, 1093704.243 543525.009 0, 1094003.579 543530.533 0, 1094302.915 543536.075 0, 1094602.25 543541.634 0, 1094901.585 543547.211 0,
+ 1095200.92 543552.805 0, 1095500.254 543558.418 0, 1095799.588 543564.047 0, 1096098.922 543569.695 0, 1096398.255 543575.36 0, 1096697.588 543581.042 0, 1096996.92 543586.743 0, 1097296.253 543592.46 0, 1097595.585 543598.196 0, 1097894.916 543603.949 0,
+ 1098194.247 543609.72 0, 1098493.578 543615.508 0, 1098792.909 543621.314 0, 1099092.239 543627.138 0, 1099391.569 543632.979 0, 1099690.899 543638.837 0, 1099990.228 543644.714 0, 1100289.557 543650.608 0, 1100587.453 543656.491 0, 1100697.412 538097.071 0,
+ 1100807.364 532538.035 0))
+
+POLYGON ((1114954.795 543960.965 0, 1114656.915 543954.24 0, 1114357.603 543947.5 0, 1114058.292 543940.778 0, 1113758.98 543934.074 0, 1113459.668 543927.387 0, 1113160.355 543920.718 0, 1112861.042 543914.066 0, 1112561.729 543907.432 0, 1112262.415 543900.816 0,
+ 1111963.101 543894.217 0, 1111663.787 543887.636 0, 1111364.472 543881.072 0, 1111065.156 543874.527 0, 1110765.841 543867.998 0, 1110466.525 543861.488 0, 1110167.208 543854.995 0, 1109867.891 543848.519 0, 1109568.574 543842.061 0, 1109269.256 543835.621 0,
+ 1108969.938 543829.199 0, 1108670.62 543822.794 0, 1108371.301 543816.406 0, 1108071.982 543810.037 0, 1107771.232 543803.654 0, 1107473.343 543797.35 0, 1107174.023 543791.033 0, 1106874.702 543784.734 0, 1106575.381 543778.452 0, 1106276.06 543772.188 0,
+ 1105976.738 543765.942 0, 1105677.416 543759.713 0, 1105378.093 543753.502 0, 1105078.771 543747.309 0, 1104779.447 543741.133 0, 1104480.124 543734.974 0, 1104180.8 543728.834 0, 1103881.476 543722.711 0, 1103582.151 543716.605 0, 1103282.826 543710.517 0,
+ 1102983.501 543704.447 0, 1102684.175 543698.394 0, 1102384.849 543692.359 0, 1102085.523 543686.342 0, 1101786.196 543680.342 0, 1101486.869 543674.36 0, 1101187.541 543668.396 0, 1100888.213 543662.449 0, 1100587.453 543656.491 0, 1100477.487 549216.292 0,
+ 1100367.512 554776.47 0, 1100667.615 554782.415 0, 1100966.288 554788.348 0, 1101264.961 554794.3 0, 1101563.634 554800.269 0, 1101862.306 554806.256 0, 1102160.978 554812.26 0, 1102459.65 554818.282 0, 1102758.321 554824.321 0, 1103056.992 554830.378 0,
+ 1103355.662 554836.452 0, 1103654.332 554842.544 0, 1103953.002 554848.654 0, 1104251.672 554854.781 0, 1104550.341 554860.926 0, 1104849.009 554867.089 0, 1105147.678 554873.269 0, 1105446.346 554879.466 0, 1105745.013 554885.681 0, 1106043.681 554891.914 0,
+ 1106342.347 554898.164 0, 1106641.014 554904.432 0, 1106939.68 554910.718 0, 1107238.346 554917.021 0, 1107535.583 554923.311 0, 1107835.676 554929.68 0, 1108134.341 554936.035 0, 1108433.005 554942.409 0, 1108731.669 554948.8 0, 1109030.332 554955.208 0,
+ 1109328.996 554961.634 0, 1109627.658 554968.078 0, 1109926.321 554974.539 0, 1110224.983 554981.018 0, 1110523.644 554987.515 0, 1110822.306 554994.029 0, 1111120.966 555000.56 0, 1111419.627 555007.109 0, 1111718.287 555013.676 0, 1112016.947 555020.26 0,
+ 1112315.606 555026.862 0, 1112614.265 555033.482 0, 1112912.923 555040.119 0, 1113211.582 555046.773 0, 1113510.239 555053.445 0, 1113808.897 555060.135 0, 1114107.554 555066.843 0, 1114406.21 555073.568 0, 1114703.44 555080.278 0, 1114829.122 549520.433 0,
+ 1114954.795 543960.965 0))
+
+POLYGON ((1129038.451 555424.586 0, 1128741.24 555417.036 0, 1128442.603 555409.467 0, 1128143.966 555401.916 0, 1127845.329 555394.383 0, 1127546.691 555386.867 0, 1127248.053 555379.368 0, 1126949.415 555371.888 0, 1126650.776 555364.424 0, 1126352.136 555356.979 0,
+ 1126053.496 555349.551 0, 1125754.856 555342.14 0, 1125456.215 555334.747 0, 1125157.574 555327.372 0, 1124858.932 555320.014 0, 1124560.29 555312.674 0, 1124261.648 555305.352 0, 1123963.005 555298.047 0, 1123664.362 555290.759 0, 1123365.718 555283.489 0,
+ 1123067.074 555276.237 0, 1122768.429 555269.002 0, 1122469.784 555261.785 0, 1122171.138 555254.586 0, 1121871.067 555247.37 0, 1121573.846 555240.239 0, 1121275.199 555233.093 0, 1120976.552 555225.963 0, 1120677.905 555218.852 0, 1120379.257 555211.758 0,
+ 1120080.608 555204.681 0, 1119781.959 555197.622 0, 1119483.31 555190.581 0, 1119184.66 555183.557 0, 1118886.01 555176.551 0, 1118587.36 555169.562 0, 1118288.709 555162.591 0, 1117990.058 555155.638 0, 1117691.406 555148.702 0, 1117392.754 555141.784 0,
+ 1117094.101 555134.883 0, 1116795.448 555128 0, 1116496.795 555121.134 0, 1116198.141 555114.286 0, 1115899.487 555107.456 0, 1115600.832 555100.643 0, 1115302.177 555093.848 0, 1115003.522 555087.07 0, 1114703.44 555080.278 0, 1114577.749 560640.497 0,
+ 1114452.05 566201.088 0, 1114751.475 566207.865 0, 1115049.476 566214.628 0, 1115347.476 566221.408 0, 1115645.476 566228.206 0, 1115943.476 566235.022 0, 1116241.475 566241.854 0, 1116539.474 566248.705 0, 1116837.472 566255.573 0, 1117135.47 566262.459 0,
+ 1117433.468 566269.362 0, 1117731.465 566276.282 0, 1118029.462 566283.221 0, 1118327.458 566290.176 0, 1118625.454 566297.15 0, 1118923.45 566304.141 0, 1119221.445 566311.149 0, 1119519.439 566318.175 0, 1119817.434 566325.218 0, 1120115.428 566332.279 0,
+ 1120413.421 566339.358 0, 1120711.414 566346.454 0, 1121009.407 566353.567 0, 1121307.399 566360.699 0, 1121603.969 566367.813 0, 1121903.382 566375.013 0, 1122201.373 566382.197 0, 1122499.364 566389.399 0, 1122797.354 566396.617 0, 1123095.344 566403.854 0,
+ 1123393.333 566411.108 0, 1123691.322 566418.379 0, 1123989.31 566425.668 0, 1124287.298 566432.975 0, 1124585.286 566440.299 0, 1124883.273 566447.64 0, 1125181.259 566454.999 0, 1125479.246 566462.376 0, 1125777.231 566469.77 0, 1126075.217 566477.182 0,
+ 1126373.202 566484.611 0, 1126671.186 566492.058 0, 1126969.17 566499.523 0, 1127267.154 566507.005 0, 1127565.137 566514.504 0, 1127863.12 566522.021 0, 1128161.102 566529.556 0, 1128459.084 566537.108 0, 1128755.644 566544.641 0, 1128897.053 560984.428 0,
+ 1129038.451 555424.586 0))
+
+POLYGON ((1143058.211 566928.604 0, 1142761.671 566920.232 0, 1142463.712 566911.838 0, 1142165.752 566903.462 0, 1141867.791 566895.103 0, 1141569.831 566886.762 0, 1141271.869 566878.438 0, 1140973.908 566870.132 0, 1140675.945 566861.843 0, 1140377.983 566853.572 0,
+ 1140080.019 566845.319 0, 1139782.056 566837.083 0, 1139484.091 566828.864 0, 1139186.127 566820.663 0, 1138888.161 566812.48 0, 1138590.196 566804.314 0, 1138292.23 566796.165 0, 1137994.263 566788.034 0, 1137696.296 566779.921 0, 1137398.328 566771.825 0,
+ 1137100.36 566763.747 0, 1136802.392 566755.686 0, 1136504.423 566747.643 0, 1136206.453 566739.618 0, 1135907.063 566731.571 0, 1135610.513 566723.619 0, 1135312.542 566715.646 0, 1135014.571 566707.691 0, 1134716.599 566699.753 0, 1134418.626 566691.832 0,
+ 1134120.654 566683.929 0, 1133822.68 566676.044 0, 1133524.707 566668.176 0, 1133226.733 566660.326 0, 1132928.758 566652.493 0, 1132630.783 566644.678 0, 1132332.807 566636.881 0, 1132034.831 566629.101 0, 1131736.855 566621.338 0, 1131438.878 566613.593 0,
+ 1131140.901 566605.866 0, 1130842.923 566598.156 0, 1130544.945 566590.463 0, 1130246.966 566582.788 0, 1129948.987 566575.131 0, 1129651.007 566567.491 0, 1129353.027 566559.869 0, 1129055.046 566552.264 0, 1128755.644 566544.641 0, 1128614.227 572105.222 0,
+ 1128472.8 577666.168 0, 1128771.544 577673.774 0, 1129068.87 577681.362 0, 1129366.196 577688.968 0, 1129663.521 577696.591 0, 1129960.846 577704.231 0, 1130258.17 577711.889 0, 1130555.493 577719.565 0, 1130852.817 577727.258 0, 1131150.139 577734.968 0,
+ 1131447.462 577742.696 0, 1131744.784 577750.442 0, 1132042.105 577758.205 0, 1132339.426 577765.985 0, 1132636.746 577773.783 0, 1132934.066 577781.599 0, 1133231.386 577789.432 0, 1133528.705 577797.282 0, 1133826.024 577805.15 0, 1134123.342 577813.035 0,
+ 1134420.66 577820.938 0, 1134717.977 577828.859 0, 1135015.294 577836.797 0, 1135312.61 577844.752 0, 1135608.509 577852.687 0, 1135907.241 577860.716 0, 1136204.556 577868.724 0, 1136501.871 577876.749 0, 1136799.185 577884.792 0, 1137096.498 577892.853 0,
+ 1137393.811 577900.931 0, 1137691.124 577909.026 0, 1137988.436 577917.139 0, 1138285.747 577925.27 0, 1138583.058 577933.418 0, 1138880.369 577941.583 0, 1139177.679 577949.766 0, 1139474.989 577957.967 0, 1139772.298 577966.185 0, 1140069.607 577974.42 0,
+ 1140366.915 577982.673 0, 1140664.223 577990.943 0, 1140961.53 577999.231 0, 1141258.837 578007.537 0, 1141556.143 578015.86 0, 1141853.449 578024.2 0, 1142150.754 578032.558 0, 1142448.059 578040.934 0, 1142743.948 578049.287 0, 1142901.084 572488.763 0,
+ 1143058.211 566928.604 0))
+
+POLYGON ((1157013.956 578472.723 0, 1156718.089 578463.534 0, 1156420.81 578454.318 0, 1156123.529 578445.121 0, 1155826.248 578435.94 0, 1155528.966 578426.777 0, 1155231.684 578417.632 0, 1154934.402 578408.504 0, 1154637.119 578399.394 0, 1154339.835 578390.301 0,
+ 1154042.551 578381.225 0, 1153745.266 578372.168 0, 1153447.98 578363.127 0, 1153150.695 578354.104 0, 1152853.408 578345.099 0, 1152556.121 578336.111 0, 1152258.834 578327.141 0, 1151961.546 578318.188 0, 1151664.257 578309.252 0, 1151366.968 578300.334 0,
+ 1151069.679 578291.434 0, 1150772.389 578282.551 0, 1150475.098 578273.686 0, 1150177.807 578264.838 0, 1149879.101 578255.965 0, 1149583.223 578247.194 0, 1149285.931 578238.399 0, 1148988.638 578229.621 0, 1148691.344 578220.861 0, 1148394.05 578212.118 0,
+ 1148096.755 578203.392 0, 1147799.46 578194.684 0, 1147502.164 578185.994 0, 1147204.868 578177.321 0, 1146907.571 578168.665 0, 1146610.274 578160.028 0, 1146312.976 578151.407 0, 1146015.678 578142.804 0, 1145718.379 578134.219 0, 1145421.079 578125.651 0,
+ 1145123.78 578117.1 0, 1144826.479 578108.567 0, 1144529.179 578100.052 0, 1144231.877 578091.554 0, 1143934.575 578083.074 0, 1143637.273 578074.611 0, 1143339.97 578066.165 0, 1143042.667 578057.737 0, 1142743.948 578049.287 0, 1142586.8 583610.172 0,
+ 1142429.643 589171.415 0, 1142727.705 589179.847 0, 1143024.354 589188.257 0, 1143321.002 589196.684 0, 1143617.649 589205.128 0, 1143914.297 589213.59 0, 1144210.943 589222.069 0, 1144507.59 589230.566 0, 1144804.235 589239.08 0, 1145100.88 589247.611 0,
+ 1145397.525 589256.16 0, 1145694.169 589264.727 0, 1145990.813 589273.311 0, 1146287.456 589281.912 0, 1146584.099 589290.531 0, 1146880.741 589299.168 0, 1147177.383 589307.822 0, 1147474.024 589316.493 0, 1147770.664 589325.182 0, 1148067.304 589333.888 0,
+ 1148363.944 589342.612 0, 1148660.583 589351.353 0, 1148957.222 589360.111 0, 1149253.86 589368.887 0, 1149549.086 589377.639 0, 1149847.134 589386.492 0, 1150143.771 589395.32 0, 1150440.407 589404.166 0, 1150737.042 589413.03 0, 1151033.677 589421.91 0,
+ 1151330.312 589430.809 0, 1151626.946 589439.724 0, 1151923.579 589448.658 0, 1152220.212 589457.608 0, 1152516.844 589466.576 0, 1152813.476 589475.562 0, 1153110.107 589484.565 0, 1153406.738 589493.585 0, 1153703.368 589502.623 0, 1153999.998 589511.679 0,
+ 1154296.627 589520.752 0, 1154593.256 589529.842 0, 1154889.884 589538.95 0, 1155186.511 589548.075 0, 1155483.138 589557.218 0, 1155779.765 589566.378 0, 1156076.39 589575.555 0, 1156373.016 589584.75 0, 1156668.231 589593.919 0, 1156841.099 584033.142 0,
+ 1157013.956 578472.723 0))
+
+POLYGON ((1170905.567 590056.648 0, 1170610.377 590046.645 0, 1170313.779 590036.612 0, 1170017.18 590026.596 0, 1169720.581 590016.598 0, 1169423.981 590006.618 0, 1169127.381 589996.654 0, 1168830.779 589986.709 0, 1168534.178 589976.78 0, 1168237.575 589966.869 0,
+ 1167940.972 589956.976 0, 1167644.369 589947.1 0, 1167347.765 589937.242 0, 1167051.16 589927.401 0, 1166754.555 589917.577 0, 1166457.949 589907.771 0, 1166161.343 589897.982 0, 1165864.736 589888.211 0, 1165568.128 589878.457 0, 1165271.52 589868.721 0,
+ 1164974.912 589859.002 0, 1164678.302 589849.301 0, 1164381.693 589839.617 0, 1164085.082 589829.95 0, 1163787.062 589820.256 0, 1163491.86 589810.67 0, 1163195.248 589801.056 0, 1162898.635 589791.459 0, 1162602.022 589781.88 0, 1162305.408 589772.318 0,
+ 1162008.794 589762.774 0, 1161712.179 589753.247 0, 1161415.563 589743.738 0, 1161118.947 589734.246 0, 1160822.331 589724.772 0, 1160525.714 589715.315 0, 1160229.096 589705.875 0, 1159932.478 589696.453 0, 1159635.859 589687.049 0, 1159339.24 589677.661 0,
+ 1159042.62 589668.292 0, 1158745.999 589658.94 0, 1158449.378 589649.605 0, 1158152.757 589640.288 0, 1157856.135 589630.988 0, 1157559.512 589621.705 0, 1157262.889 589612.44 0, 1156966.265 589603.193 0, 1156668.231 589593.919 0, 1156495.351 595155.052 0,
+ 1156322.461 600716.536 0, 1156619.838 600725.789 0, 1156915.807 600735.016 0, 1157211.776 600744.26 0, 1157507.744 600753.522 0, 1157803.711 600762.802 0, 1158099.678 600772.098 0, 1158395.644 600781.413 0, 1158691.61 600790.744 0, 1158987.575 600800.093 0,
+ 1159283.54 600809.459 0, 1159579.504 600818.843 0, 1159875.468 600828.245 0, 1160171.431 600837.663 0, 1160467.393 600847.099 0, 1160763.355 600856.553 0, 1161059.317 600866.024 0, 1161355.277 600875.512 0, 1161651.238 600885.018 0, 1161947.197 600894.541 0,
+ 1162243.157 600904.082 0, 1162539.115 600913.64 0, 1162835.073 600923.215 0, 1163131.031 600932.808 0, 1163425.582 600942.373 0, 1163722.944 600952.046 0, 1164018.9 600961.691 0, 1164314.855 600971.354 0, 1164610.809 600981.034 0, 1164906.763 600990.731 0,
+ 1165202.717 601000.446 0, 1165498.67 601010.178 0, 1165794.622 601019.928 0, 1166090.574 601029.695 0, 1166386.525 601039.479 0, 1166682.476 601049.281 0, 1166978.426 601059.1 0, 1167274.375 601068.937 0, 1167570.324 601078.791 0, 1167866.272 601088.663 0,
+ 1168162.22 601098.552 0, 1168458.167 601108.458 0, 1168754.114 601118.382 0, 1169050.06 601128.323 0, 1169346.005 601138.282 0, 1169641.95 601148.258 0, 1169937.894 601158.251 0, 1170233.838 601168.262 0, 1170528.376 601178.243 0, 1170716.978 595617.27 0,
+ 1170905.567 590056.648 0))
+
+POLYGON ((1184732.93 601680.083 0, 1184438.419 601669.27 0, 1184142.504 601658.423 0, 1183846.59 601647.593 0, 1183550.674 601636.781 0, 1183254.758 601625.987 0, 1182958.841 601615.209 0, 1182662.924 601604.449 0, 1182367.006 601593.707 0, 1182071.088 601582.982 0,
+ 1181775.168 601572.274 0, 1181479.248 601561.584 0, 1181183.328 601550.911 0, 1180887.407 601540.256 0, 1180591.485 601529.618 0, 1180295.563 601518.997 0, 1179999.64 601508.394 0, 1179703.716 601497.808 0, 1179407.792 601487.24 0, 1179111.867 601476.689 0,
+ 1178815.942 601466.156 0, 1178520.016 601455.64 0, 1178224.089 601445.141 0, 1177928.162 601434.66 0, 1177630.83 601424.147 0, 1177336.305 601413.75 0, 1177040.376 601403.321 0, 1176744.446 601392.909 0, 1176448.516 601382.515 0, 1176152.585 601372.138 0,
+ 1175856.653 601361.779 0, 1175560.721 601351.437 0, 1175264.788 601341.113 0, 1174968.855 601330.806 0, 1174672.92 601320.516 0, 1174376.986 601310.244 0, 1174081.051 601299.989 0, 1173785.115 601289.752 0, 1173489.178 601279.532 0, 1173193.241 601269.329 0,
+ 1172897.303 601259.144 0, 1172601.365 601248.977 0, 1172305.426 601238.826 0, 1172009.487 601228.694 0, 1171713.547 601218.578 0, 1171417.606 601208.48 0, 1171121.665 601198.4 0, 1170825.723 601188.336 0, 1170528.376 601178.243 0, 1170339.763 606739.565 0,
+ 1170151.137 612301.232 0, 1170447.827 612311.303 0, 1170743.114 612321.344 0, 1171038.4 612331.403 0, 1171333.686 612341.478 0, 1171628.972 612351.571 0, 1171924.257 612361.682 0, 1172219.541 612371.809 0, 1172514.824 612381.955 0, 1172810.107 612392.117 0,
+ 1173105.39 612402.297 0, 1173400.672 612412.495 0, 1173695.953 612422.709 0, 1173991.233 612432.941 0, 1174286.513 612443.191 0, 1174581.793 612453.458 0, 1174877.072 612463.742 0, 1175172.35 612474.043 0, 1175467.627 612484.362 0, 1175762.904 612494.699 0,
+ 1176058.181 612505.053 0, 1176353.456 612515.424 0, 1176648.732 612525.812 0, 1176944.006 612536.218 0, 1177237.88 612546.592 0, 1177534.553 612557.082 0, 1177829.826 612567.54 0, 1178125.098 612578.015 0, 1178420.37 612588.508 0, 1178715.64 612599.018 0,
+ 1179010.911 612609.546 0, 1179306.18 612620.091 0, 1179601.449 612630.653 0, 1179896.717 612641.233 0, 1180191.985 612651.83 0, 1180487.252 612662.444 0, 1180782.519 612673.076 0, 1181077.785 612683.725 0, 1181373.05 612694.392 0, 1181668.314 612705.076 0,
+ 1181963.578 612715.777 0, 1182258.842 612726.496 0, 1182554.104 612737.232 0, 1182849.367 612747.985 0, 1183144.628 612758.756 0, 1183439.889 612769.544 0, 1183735.149 612780.35 0, 1184030.408 612791.173 0, 1184324.268 612801.962 0, 1184528.605 607240.85 0,
+ 1184732.93 601680.083 0))
+
+POLYGON ((1198495.928 613342.731 0, 1198202.097 613331.112 0, 1197906.87 613319.455 0, 1197611.641 613307.815 0, 1197316.412 613296.193 0, 1197021.182 613284.588 0, 1196725.952 613273 0, 1196430.721 613261.43 0, 1196135.489 613249.877 0, 1195840.256 613238.342 0,
+ 1195545.023 613226.824 0, 1195249.789 613215.323 0, 1194954.554 613203.84 0, 1194659.319 613192.374 0, 1194364.083 613180.925 0, 1194068.847 613169.494 0, 1193773.609 613158.08 0, 1193478.371 613146.684 0, 1193183.133 613135.305 0, 1192887.893 613123.943 0,
+ 1192592.653 613112.599 0, 1192297.413 613101.272 0, 1192002.172 613089.962 0, 1191706.93 613078.67 0, 1191410.289 613067.342 0, 1191116.444 613056.138 0, 1190821.2 613044.898 0, 1190525.955 613033.675 0, 1190230.71 613022.47 0, 1189935.464 613011.282 0,
+ 1189640.217 613000.111 0, 1189344.97 612988.958 0, 1189049.722 612977.822 0, 1188754.474 612966.704 0, 1188459.224 612955.603 0, 1188163.975 612944.519 0, 1187868.724 612933.453 0, 1187573.473 612922.404 0, 1187278.221 612911.373 0, 1186982.969 612900.359 0,
+ 1186687.715 612889.362 0, 1186392.462 612878.382 0, 1186097.207 612867.42 0, 1185801.952 612856.476 0, 1185506.697 612845.549 0, 1185211.44 612834.639 0, 1184916.183 612823.746 0, 1184620.926 612812.871 0, 1184324.268 612801.962 0, 1184119.919 618363.416 0,
+ 1183915.556 623925.209 0, 1184211.556 623936.094 0, 1184506.159 623946.945 0, 1184800.761 623957.813 0, 1185095.363 623968.699 0, 1185389.964 623979.602 0, 1185684.564 623990.522 0, 1185979.164 624001.46 0, 1186273.763 624012.415 0, 1186568.361 624023.387 0,
+ 1186862.959 624034.377 0, 1187157.556 624045.384 0, 1187452.153 624056.409 0, 1187746.749 624067.45 0, 1188041.344 624078.509 0, 1188335.938 624089.586 0, 1188630.532 624100.68 0, 1188925.126 624111.791 0, 1189219.718 624122.919 0, 1189514.31 624134.065 0,
+ 1189808.901 624145.228 0, 1190103.492 624156.408 0, 1190398.082 624167.606 0, 1190692.671 624178.821 0, 1190985.865 624190.001 0, 1191281.848 624201.304 0, 1191576.435 624212.571 0, 1191871.022 624223.855 0, 1192165.608 624235.157 0, 1192460.193 624246.476 0,
+ 1192754.778 624257.813 0, 1193049.362 624269.166 0, 1193343.945 624280.538 0, 1193638.528 624291.926 0, 1193933.11 624303.332 0, 1194227.691 624314.755 0, 1194522.271 624326.196 0, 1194816.851 624337.654 0, 1195111.431 624349.129 0, 1195406.009 624360.621 0,
+ 1195700.587 624372.131 0, 1195995.164 624383.658 0, 1196289.741 624395.203 0, 1196584.317 624406.765 0, 1196878.892 624418.344 0, 1197173.467 624429.941 0, 1197468.04 624441.555 0, 1197762.614 624453.186 0, 1198055.792 624464.779 0, 1198275.867 618903.586 0,
+ 1198495.928 613342.731 0))
+
+POLYGON ((1212194.448 625044.296 0, 1211901.3 625031.874 0, 1211606.761 625019.411 0, 1211312.221 625006.965 0, 1211017.681 624994.536 0, 1210723.14 624982.125 0, 1210428.598 624969.731 0, 1210134.055 624957.354 0, 1209839.511 624944.994 0, 1209544.967 624932.652 0,
+ 1209250.422 624920.328 0, 1208955.876 624908.02 0, 1208661.33 624895.73 0, 1208366.783 624883.457 0, 1208072.235 624871.202 0, 1207777.686 624858.964 0, 1207483.137 624846.743 0, 1207188.587 624834.54 0, 1206894.036 624822.354 0, 1206599.485 624810.185 0,
+ 1206304.933 624798.034 0, 1206010.38 624785.9 0, 1205715.826 624773.783 0, 1205421.272 624761.684 0, 1205125.325 624749.545 0, 1204832.161 624737.537 0, 1204537.605 624725.49 0, 1204243.048 624713.46 0, 1203948.49 624701.447 0, 1203653.931 624689.452 0,
+ 1203359.372 624677.474 0, 1203064.812 624665.513 0, 1202770.252 624653.57 0, 1202475.69 624641.644 0, 1202181.128 624629.735 0, 1201886.565 624617.844 0, 1201592.002 624605.97 0, 1201297.438 624594.113 0, 1201002.873 624582.274 0, 1200708.307 624570.452 0,
+ 1200413.741 624558.647 0, 1200119.174 624546.86 0, 1199824.606 624535.09 0, 1199530.038 624523.337 0, 1199235.469 624511.602 0, 1198940.899 624499.884 0, 1198646.329 624488.184 0, 1198351.758 624476.5 0, 1198055.792 624464.779 0, 1197835.705 630026.308 0,
+ 1197615.604 635588.169 0, 1197910.912 635599.864 0, 1198204.828 635611.521 0, 1198498.744 635623.196 0, 1198792.659 635634.888 0, 1199086.573 635646.597 0, 1199380.487 635658.323 0, 1199674.4 635670.067 0, 1199968.312 635681.828 0, 1200262.223 635693.607 0,
+ 1200556.134 635705.402 0, 1200850.045 635717.215 0, 1201143.954 635729.046 0, 1201437.863 635740.893 0, 1201731.771 635752.758 0, 1202025.678 635764.64 0, 1202319.585 635776.54 0, 1202613.491 635788.457 0, 1202907.396 635800.391 0, 1203201.301 635812.342 0,
+ 1203495.205 635824.311 0, 1203789.108 635836.297 0, 1204083.01 635848.3 0, 1204376.912 635860.321 0, 1204669.424 635872.301 0, 1204964.714 635884.414 0, 1205258.613 635896.486 0, 1205552.512 635908.576 0, 1205846.41 635920.683 0, 1206140.308 635932.807 0,
+ 1206434.205 635944.949 0, 1206728.101 635957.108 0, 1207021.996 635969.284 0, 1207315.891 635981.478 0, 1207609.785 635993.688 0, 1207903.678 636005.917 0, 1208197.57 636018.162 0, 1208491.462 636030.425 0, 1208785.353 636042.705 0, 1209079.243 636055.002 0,
+ 1209373.133 636067.317 0, 1209667.022 636079.649 0, 1209960.91 636091.998 0, 1210254.797 636104.365 0, 1210548.684 636116.748 0, 1210842.57 636129.149 0, 1211136.455 636141.568 0, 1211430.34 636154.004 0, 1211722.835 636166.398 0, 1211958.649 630605.181 0,
+ 1212194.448 625044.296 0))
+
+POLYGON ((1225828.377 636784.48 0, 1225535.915 636771.259 0, 1225242.067 636757.993 0, 1224948.218 636744.745 0, 1224654.368 636731.513 0, 1224360.518 636718.299 0, 1224066.666 636705.102 0, 1223772.814 636691.923 0, 1223478.961 636678.761 0, 1223185.108 636665.616 0,
+ 1222891.253 636652.488 0, 1222597.398 636639.378 0, 1222303.542 636626.285 0, 1222009.686 636613.209 0, 1221715.828 636600.151 0, 1221421.97 636587.11 0, 1221128.111 636574.086 0, 1220834.251 636561.08 0, 1220540.391 636548.09 0, 1220246.529 636535.118 0,
+ 1219952.667 636522.164 0, 1219658.804 636509.226 0, 1219364.941 636496.306 0, 1219071.076 636483.404 0, 1218775.824 636470.457 0, 1218483.345 636457.65 0, 1218189.479 636444.799 0, 1217895.611 636431.966 0, 1217601.743 636419.149 0, 1217307.874 636406.35 0,
+ 1217014.005 636393.569 0, 1216720.134 636380.804 0, 1216426.263 636368.057 0, 1216132.391 636355.328 0, 1215838.519 636342.615 0, 1215544.645 636329.92 0, 1215250.771 636317.242 0, 1214956.896 636304.581 0, 1214663.021 636291.938 0, 1214369.144 636279.312 0,
+ 1214075.267 636266.703 0, 1213781.389 636254.112 0, 1213487.511 636241.538 0, 1213193.631 636228.981 0, 1212899.751 636216.442 0, 1212605.87 636203.919 0, 1212311.989 636191.415 0, 1212018.106 636178.927 0, 1211722.835 636166.398 0, 1211487.008 641727.944 0,
+ 1211251.167 647289.815 0, 1211545.781 647302.316 0, 1211839.008 647314.776 0, 1212132.235 647327.253 0, 1212425.461 647339.747 0, 1212718.687 647352.259 0, 1213011.911 647364.788 0, 1213305.135 647377.334 0, 1213598.358 647389.897 0, 1213891.581 647402.478 0,
+ 1214184.802 647415.076 0, 1214478.023 647427.691 0, 1214771.244 647440.323 0, 1215064.463 647452.973 0, 1215357.682 647465.64 0, 1215650.9 647478.324 0, 1215944.117 647491.025 0, 1216237.333 647503.744 0, 1216530.549 647516.48 0, 1216823.764 647529.233 0,
+ 1217116.978 647542.003 0, 1217410.192 647554.791 0, 1217703.405 647567.596 0, 1217996.617 647580.418 0, 1218288.444 647593.197 0, 1218583.038 647606.114 0, 1218876.248 647618.988 0, 1219169.457 647631.88 0, 1219462.665 647644.788 0, 1219755.872 647657.714 0,
+ 1220049.079 647670.657 0, 1220342.285 647683.617 0, 1220635.49 647696.595 0, 1220928.694 647709.59 0, 1221221.898 647722.602 0, 1221515.101 647735.631 0, 1221808.303 647748.678 0, 1222101.504 647761.741 0, 1222394.705 647774.822 0, 1222687.905 647787.921 0,
+ 1222981.104 647801.036 0, 1223274.302 647814.169 0, 1223567.499 647827.319 0, 1223860.696 647840.487 0, 1224153.892 647853.671 0, 1224447.087 647866.873 0, 1224740.281 647880.092 0, 1225033.475 647893.329 0, 1225325.285 647906.52 0, 1225576.838 642345.337 0,
+ 1225828.377 636784.48 0))
+
+POLYGON ((1239397.604 648562.984 0, 1239105.83 648548.969 0, 1238812.675 648534.904 0, 1238519.519 648520.857 0, 1238226.363 648506.827 0, 1237933.205 648492.814 0, 1237640.047 648478.818 0, 1237346.888 648464.84 0, 1237053.728 648450.878 0, 1236760.567 648436.935 0,
+ 1236467.405 648423.008 0, 1236174.243 648409.099 0, 1235881.08 648395.206 0, 1235587.916 648381.332 0, 1235294.751 648367.474 0, 1235001.585 648353.634 0, 1234708.419 648339.811 0, 1234415.252 648326.005 0, 1234122.083 648312.216 0, 1233828.914 648298.445 0,
+ 1233535.745 648284.691 0, 1233242.574 648270.954 0, 1232949.403 648257.234 0, 1232656.231 648243.532 0, 1232361.676 648229.783 0, 1232069.884 648216.179 0, 1231776.709 648202.529 0, 1231483.534 648188.895 0, 1231190.358 648175.279 0, 1230897.181 648161.681 0,
+ 1230604.003 648148.099 0, 1230310.825 648134.535 0, 1230017.645 648120.988 0, 1229724.465 648107.458 0, 1229431.284 648093.945 0, 1229138.102 648080.45 0, 1228844.92 648066.972 0, 1228551.736 648053.512 0, 1228258.552 648040.068 0, 1227965.367 648026.642 0,
+ 1227672.182 648013.233 0, 1227378.995 647999.841 0, 1227085.808 647986.467 0, 1226792.62 647973.11 0, 1226499.431 647959.77 0, 1226206.241 647946.447 0, 1225913.051 647933.141 0, 1225619.86 647919.853 0, 1225325.285 647906.52 0, 1225073.717 653468.025 0,
+ 1224822.135 659029.849 0, 1225116.052 659043.152 0, 1225408.588 659056.411 0, 1225701.124 659069.687 0, 1225993.659 659082.979 0, 1226286.193 659096.29 0, 1226578.726 659109.617 0, 1226871.259 659122.962 0, 1227163.791 659136.323 0, 1227456.322 659149.702 0,
+ 1227748.852 659163.099 0, 1228041.382 659176.512 0, 1228333.91 659189.943 0, 1228626.438 659203.391 0, 1228918.965 659216.856 0, 1229211.492 659230.338 0, 1229504.017 659243.838 0, 1229796.542 659257.354 0, 1230089.066 659270.888 0, 1230381.589 659284.44 0,
+ 1230674.111 659298.008 0, 1230966.633 659311.594 0, 1231259.153 659325.196 0, 1231551.673 659338.817 0, 1231842.814 659352.389 0, 1232136.711 659366.108 0, 1232429.228 659379.78 0, 1232721.745 659393.469 0, 1233014.261 659407.175 0, 1233306.776 659420.898 0,
+ 1233599.29 659434.639 0, 1233891.804 659448.397 0, 1234184.316 659462.172 0, 1234476.828 659475.964 0, 1234769.339 659489.774 0, 1235061.849 659503.6 0, 1235354.359 659517.444 0, 1235646.867 659531.305 0, 1235939.375 659545.183 0, 1236231.882 659559.079 0,
+ 1236524.388 659572.992 0, 1236816.893 659586.922 0, 1237109.398 659600.869 0, 1237401.902 659614.833 0, 1237694.404 659628.815 0, 1237986.907 659642.814 0, 1238279.408 659656.83 0, 1238571.908 659670.863 0, 1238863.031 659684.847 0, 1239130.325 654123.756 0,
+ 1239397.604 648562.984 0))
+
+POLYGON ((1252902.02 660379.511 0, 1252610.936 660364.705 0, 1252318.476 660349.845 0, 1252026.016 660335.003 0, 1251733.554 660320.178 0, 1251441.092 660305.37 0, 1251148.629 660290.579 0, 1250856.165 660275.805 0, 1250563.701 660261.049 0, 1250271.235 660246.31 0,
+ 1249978.768 660231.588 0, 1249686.301 660216.884 0, 1249393.833 660202.196 0, 1249101.364 660187.526 0, 1248808.894 660172.873 0, 1248516.423 660158.237 0, 1248223.951 660143.618 0, 1247931.478 660129.017 0, 1247639.005 660114.433 0, 1247346.531 660099.866 0,
+ 1247054.056 660085.316 0, 1246761.58 660070.784 0, 1246469.103 660056.269 0, 1246176.625 660041.77 0, 1245882.771 660027.222 0, 1245591.667 660012.826 0, 1245299.187 659998.38 0, 1245006.706 659983.95 0, 1244714.224 659969.538 0, 1244421.741 659955.144 0,
+ 1244129.257 659940.766 0, 1243836.773 659926.406 0, 1243544.287 659912.062 0, 1243251.801 659897.737 0, 1242959.314 659883.428 0, 1242666.826 659869.136 0, 1242374.337 659854.862 0, 1242081.848 659840.605 0, 1241789.358 659826.365 0, 1241496.866 659812.143 0,
+ 1241204.374 659797.937 0, 1240911.881 659783.749 0, 1240619.388 659769.578 0, 1240326.893 659755.424 0, 1240034.398 659741.288 0, 1239741.901 659727.168 0, 1239449.404 659713.066 0, 1239156.906 659698.981 0, 1238863.031 659684.847 0, 1238595.721 665246.254 0,
+ 1238328.396 670807.972 0, 1238621.614 670822.074 0, 1238913.458 670836.128 0, 1239205.3 670850.198 0, 1239497.142 670864.286 0, 1239788.982 670878.391 0, 1240080.822 670892.513 0, 1240372.661 670906.652 0, 1240664.5 670920.809 0, 1240956.337 670934.982 0,
+ 1241248.173 670949.173 0, 1241540.009 670963.381 0, 1241831.844 670977.606 0, 1242123.678 670991.849 0, 1242415.511 671006.108 0, 1242707.344 671020.385 0, 1242999.175 671034.679 0, 1243291.006 671048.99 0, 1243582.836 671063.318 0, 1243874.665 671077.663 0,
+ 1244166.493 671092.026 0, 1244458.32 671106.406 0, 1244750.147 671120.803 0, 1245041.972 671135.217 0, 1245332.424 671149.58 0, 1245625.621 671164.096 0, 1245917.444 671178.562 0, 1246209.266 671193.045 0, 1246501.088 671207.545 0, 1246792.908 671222.062 0,
+ 1247084.728 671236.596 0, 1247376.547 671251.148 0, 1247668.365 671265.717 0, 1247960.182 671280.302 0, 1248251.998 671294.905 0, 1248543.813 671309.526 0, 1248835.628 671324.163 0, 1249127.442 671338.818 0, 1249419.254 671353.489 0, 1249711.066 671368.178 0,
+ 1250002.877 671382.884 0, 1250294.688 671397.608 0, 1250586.497 671412.348 0, 1250878.305 671427.106 0, 1251170.113 671441.88 0, 1251461.92 671456.672 0, 1251753.725 671471.481 0, 1252045.53 671486.308 0, 1252335.963 671501.081 0, 1252618.999 665940.14 0,
+ 1252902.02 660379.511 0))
+
+POLYGON ((1266341.515 672233.762 0, 1266051.124 672218.168 0, 1265759.362 672202.517 0, 1265467.599 672186.883 0, 1265175.835 672171.267 0, 1264884.07 672155.668 0, 1264592.305 672140.086 0, 1264300.538 672124.521 0, 1264008.771 672108.974 0, 1263717.002 672093.443 0,
+ 1263425.233 672077.93 0, 1263133.463 672062.434 0, 1262841.692 672046.955 0, 1262549.92 672031.493 0, 1262258.147 672016.049 0, 1261966.373 672000.621 0, 1261674.599 671985.211 0, 1261382.823 671969.818 0, 1261091.046 671954.442 0, 1260799.269 671939.083 0,
+ 1260507.491 671923.742 0, 1260215.711 671908.417 0, 1259923.931 671893.11 0, 1259632.15 671877.82 0, 1259338.998 671862.476 0, 1259048.585 671847.292 0, 1258756.802 671832.053 0, 1258465.017 671816.832 0, 1258173.232 671801.628 0, 1257881.445 671786.441 0,
+ 1257589.658 671771.271 0, 1257297.87 671756.118 0, 1257006.08 671740.983 0, 1256714.29 671725.865 0, 1256422.5 671710.763 0, 1256130.708 671695.679 0, 1255838.915 671680.613 0, 1255547.122 671665.563 0, 1255255.327 671650.531 0, 1254963.532 671635.516 0,
+ 1254671.736 671620.517 0, 1254379.939 671605.537 0, 1254088.141 671590.573 0, 1253796.342 671575.626 0, 1253504.542 671560.697 0, 1253212.742 671545.785 0, 1252920.94 671530.89 0, 1252629.138 671516.012 0, 1252335.963 671501.081 0, 1252052.911 677062.331 0,
+ 1251769.843 682623.886 0, 1252062.36 682638.783 0, 1252353.508 682653.628 0, 1252644.655 682668.49 0, 1252935.801 682683.368 0, 1253226.946 682698.264 0, 1253518.09 682713.177 0, 1253809.233 682728.107 0, 1254100.376 682743.055 0, 1254391.517 682758.019 0,
+ 1254682.658 682773 0, 1254973.798 682787.999 0, 1255264.936 682803.015 0, 1255556.074 682818.048 0, 1255847.212 682833.098 0, 1256138.348 682848.165 0, 1256429.483 682863.25 0, 1256720.618 682878.351 0, 1257011.751 682893.47 0, 1257302.884 682908.606 0,
+ 1257594.016 682923.758 0, 1257885.147 682938.928 0, 1258176.277 682954.116 0, 1258467.406 682969.32 0, 1258757.167 682984.47 0, 1259049.661 682999.78 0, 1259340.788 683015.036 0, 1259631.913 683030.309 0, 1259923.038 683045.599 0, 1260214.162 683060.906 0,
+ 1260505.284 683076.23 0, 1260796.406 683091.571 0, 1261087.527 683106.93 0, 1261378.647 683122.305 0, 1261669.767 683137.698 0, 1261960.885 683153.108 0, 1262252.002 683168.535 0, 1262543.119 683183.979 0, 1262834.234 683199.441 0, 1263125.349 683214.919 0,
+ 1263416.463 683230.415 0, 1263707.576 683245.928 0, 1263998.688 683261.457 0, 1264289.799 683277.004 0, 1264580.909 683292.569 0, 1264872.018 683308.15 0, 1265163.126 683323.748 0, 1265454.234 683339.364 0, 1265743.974 683354.923 0, 1266042.753 677794.19 0,
+ 1266341.515 672233.762 0))
+
+POLYGON ((1279715.984 684125.436 0, 1279426.286 684109.058 0, 1279135.224 684092.62 0, 1278844.161 684076.2 0, 1278553.097 684059.796 0, 1278262.032 684043.41 0, 1277970.966 684027.04 0, 1277679.899 684010.688 0, 1277388.831 683994.353 0, 1277097.763 683978.035 0,
+ 1276806.693 683961.734 0, 1276515.622 683945.45 0, 1276224.55 683929.184 0, 1275933.478 683912.934 0, 1275642.404 683896.702 0, 1275351.33 683880.487 0, 1275060.254 683864.289 0, 1274769.178 683848.108 0, 1274478.1 683831.944 0, 1274187.022 683815.797 0,
+ 1273895.943 683799.668 0, 1273604.862 683783.555 0, 1273313.781 683767.46 0, 1273022.699 683751.382 0, 1272730.251 683735.246 0, 1272440.532 683719.277 0, 1272149.447 683703.25 0, 1271858.361 683687.241 0, 1271567.274 683671.248 0, 1271276.186 683655.273 0,
+ 1270985.097 683639.315 0, 1270694.008 683623.373 0, 1270402.917 683607.45 0, 1270111.825 683591.543 0, 1269820.733 683575.653 0, 1269529.639 683559.78 0, 1269238.545 683543.925 0, 1268947.45 683528.087 0, 1268656.353 683512.266 0, 1268365.256 683496.462 0,
+ 1268074.158 683480.675 0, 1267783.059 683464.905 0, 1267491.959 683449.152 0, 1267200.858 683433.417 0, 1266909.756 683417.699 0, 1266618.654 683401.997 0, 1266327.55 683386.313 0, 1266036.446 683370.646 0, 1265743.974 683354.923 0, 1265445.179 688915.958 0,
+ 1265146.368 694477.292 0, 1265438.181 694492.98 0, 1265728.631 694508.612 0, 1266019.08 694524.261 0, 1266309.529 694539.927 0, 1266599.976 694555.61 0, 1266890.422 694571.31 0, 1267180.867 694587.027 0, 1267471.312 694602.761 0, 1267761.755 694618.512 0,
+ 1268052.198 694634.281 0, 1268342.639 694650.067 0, 1268633.08 694665.869 0, 1268923.52 694681.689 0, 1269213.959 694697.526 0, 1269504.397 694713.38 0, 1269794.834 694729.251 0, 1270085.27 694745.139 0, 1270375.705 694761.044 0, 1270666.139 694776.966 0,
+ 1270956.572 694792.906 0, 1271247.004 694808.862 0, 1271537.436 694824.836 0, 1271827.866 694840.827 0, 1272116.934 694856.759 0, 1272408.724 694872.859 0, 1272699.152 694888.901 0, 1272989.578 694904.96 0, 1273280.004 694921.037 0, 1273570.429 694937.13 0,
+ 1273860.852 694953.24 0, 1274151.275 694969.368 0, 1274441.697 694985.512 0, 1274732.118 695001.674 0, 1275022.538 695017.853 0, 1275312.957 695034.048 0, 1275603.375 695050.261 0, 1275893.792 695066.491 0, 1276184.209 695082.738 0, 1276474.624 695099.003 0,
+ 1276765.038 695115.284 0, 1277055.451 695131.582 0, 1277345.864 695147.898 0, 1277636.275 695164.23 0, 1277926.685 695180.58 0, 1278217.095 695196.947 0, 1278507.503 695213.331 0, 1278797.911 695229.732 0, 1279086.957 695246.073 0, 1279401.479 689685.605 0,
+ 1279715.984 684125.436 0))
+
+POLYGON ((1293025.319 696054.235 0, 1292736.318 696037.077 0, 1292445.958 696019.856 0, 1292155.597 696002.651 0, 1291865.235 695985.464 0, 1291574.872 695968.294 0, 1291284.508 695951.141 0, 1290994.143 695934.005 0, 1290703.776 695916.887 0, 1290413.409 695899.785 0,
+ 1290123.041 695882.7 0, 1289832.672 695865.633 0, 1289542.302 695848.582 0, 1289251.931 695831.549 0, 1288961.559 695814.533 0, 1288671.186 695797.534 0, 1288380.811 695780.552 0, 1288090.436 695763.587 0, 1287800.06 695746.639 0, 1287509.683 695729.708 0,
+ 1287219.305 695712.794 0, 1286928.926 695695.898 0, 1286638.546 695679.018 0, 1286348.165 695662.156 0, 1286056.423 695645.231 0, 1285767.4 695628.482 0, 1285477.015 695611.671 0, 1285186.63 695594.877 0, 1284896.244 695578.1 0, 1284605.857 695561.34 0,
+ 1284315.469 695544.597 0, 1284025.08 695527.871 0, 1283734.69 695511.163 0, 1283444.299 695494.471 0, 1283153.907 695477.797 0, 1282863.514 695461.14 0, 1282573.121 695444.499 0, 1282282.726 695427.876 0, 1281992.33 695411.27 0, 1281701.933 695394.681 0,
+ 1281411.535 695378.109 0, 1281121.136 695361.555 0, 1280830.737 695345.017 0, 1280540.336 695328.496 0, 1280249.934 695311.993 0, 1279959.531 695295.506 0, 1279669.128 695279.037 0, 1279378.723 695262.585 0, 1279086.957 695246.073 0, 1278772.419 700806.835 0,
+ 1278457.864 706367.89 0, 1278748.972 706384.365 0, 1279038.722 706400.78 0, 1279328.471 706417.212 0, 1279618.219 706433.661 0, 1279907.966 706450.127 0, 1280197.712 706466.611 0, 1280487.458 706483.111 0, 1280777.202 706499.629 0, 1281066.945 706516.163 0,
+ 1281356.687 706532.715 0, 1281646.429 706549.283 0, 1281936.169 706565.869 0, 1282225.908 706582.472 0, 1282515.647 706599.092 0, 1282805.384 706615.728 0, 1283095.12 706632.382 0, 1283384.856 706649.053 0, 1283674.59 706665.741 0, 1283964.324 706682.446 0,
+ 1284254.056 706699.168 0, 1284543.788 706715.908 0, 1284833.518 706732.664 0, 1285123.248 706749.437 0, 1285411.62 706766.149 0, 1285702.704 706783.035 0, 1285992.43 706799.859 0, 1286282.156 706816.701 0, 1286571.88 706833.559 0, 1286861.604 706850.435 0,
+ 1287151.326 706867.327 0, 1287441.048 706884.237 0, 1287730.769 706901.164 0, 1288020.488 706918.108 0, 1288310.207 706935.068 0, 1288599.924 706952.046 0, 1288889.641 706969.041 0, 1289179.357 706986.053 0, 1289469.071 707003.082 0, 1289758.785 707020.128 0,
+ 1290048.497 707037.191 0, 1290338.209 707054.272 0, 1290627.919 707071.369 0, 1290917.629 707088.483 0, 1291207.338 707105.615 0, 1291497.045 707122.763 0, 1291786.752 707139.928 0, 1292076.457 707157.111 0, 1292364.807 707174.23 0, 1292695.071 701614.087 0,
+ 1293025.319 696054.235 0))
+
+POLYGON ((1306269.416 708019.857 0, 1305981.114 708001.923 0, 1305691.458 707983.922 0, 1305401.801 707965.938 0, 1305112.143 707947.971 0, 1304822.484 707930.022 0, 1304532.824 707912.089 0, 1304243.163 707894.173 0, 1303953.501 707876.275 0, 1303663.838 707858.393 0,
+ 1303374.174 707840.529 0, 1303084.508 707822.681 0, 1302794.842 707804.851 0, 1302505.175 707787.037 0, 1302215.506 707769.241 0, 1301925.837 707751.462 0, 1301636.166 707733.699 0, 1301346.494 707715.954 0, 1301056.822 707698.226 0, 1300767.148 707680.515 0,
+ 1300477.473 707662.821 0, 1300187.798 707645.144 0, 1299898.121 707627.484 0, 1299608.443 707609.841 0, 1299317.41 707592.133 0, 1299029.084 707574.607 0, 1298739.403 707557.015 0, 1298449.721 707539.44 0, 1298160.038 707521.883 0, 1297870.354 707504.342 0,
+ 1297580.669 707486.818 0, 1297290.983 707469.312 0, 1297001.296 707451.823 0, 1296711.607 707434.35 0, 1296421.918 707416.895 0, 1296132.228 707399.457 0, 1295842.537 707382.035 0, 1295552.844 707364.631 0, 1295263.151 707347.244 0, 1294973.457 707329.874 0,
+ 1294683.761 707312.521 0, 1294394.065 707295.185 0, 1294104.368 707277.866 0, 1293814.669 707260.564 0, 1293524.97 707243.279 0, 1293235.269 707226.012 0, 1292945.568 707208.761 0, 1292655.865 707191.527 0, 1292364.807 707174.23 0, 1292034.525 712734.662 0,
+ 1291704.226 718295.379 0, 1291994.627 718312.637 0, 1292283.675 718329.831 0, 1292572.722 718347.043 0, 1292861.768 718364.272 0, 1293150.813 718381.518 0, 1293439.856 718398.78 0, 1293728.899 718416.06 0, 1294017.941 718433.357 0, 1294306.982 718450.671 0,
+ 1294596.022 718468.002 0, 1294885.061 718485.349 0, 1295174.098 718502.714 0, 1295463.135 718520.096 0, 1295752.171 718537.495 0, 1296041.205 718554.911 0, 1296330.239 718572.344 0, 1296619.272 718589.794 0, 1296908.303 718607.261 0, 1297197.334 718624.745 0,
+ 1297486.363 718642.246 0, 1297775.392 718659.763 0, 1298064.419 718677.298 0, 1298353.446 718694.85 0, 1298641.121 718712.337 0, 1298931.496 718730.005 0, 1299220.519 718747.608 0, 1299509.541 718765.229 0, 1299798.563 718782.866 0, 1300087.583 718800.52 0,
+ 1300376.602 718818.191 0, 1300665.62 718835.879 0, 1300954.637 718853.584 0, 1301243.653 718871.306 0, 1301532.668 718889.045 0, 1301821.682 718906.801 0, 1302110.695 718924.574 0, 1302399.707 718942.364 0, 1302688.718 718960.172 0, 1302977.728 718977.996 0,
+ 1303266.737 718995.837 0, 1303555.744 719013.695 0, 1303844.751 719031.57 0, 1304133.756 719049.462 0, 1304422.761 719067.372 0, 1304711.765 719085.298 0, 1305000.767 719103.241 0, 1305289.768 719121.201 0, 1305577.419 719139.095 0, 1305923.427 713579.333 0,
+ 1306269.416 708019.857 0))
+
+POLYGON ((1319448.173 720022.002 0, 1319160.572 720003.296 0, 1318871.622 719984.519 0, 1318582.672 719965.759 0, 1318293.72 719947.017 0, 1318004.767 719928.291 0, 1317715.813 719909.583 0, 1317426.858 719890.891 0, 1317137.902 719872.216 0, 1316848.945 719853.559 0,
+ 1316559.987 719834.918 0, 1316271.027 719816.295 0, 1315982.067 719797.688 0, 1315693.105 719779.098 0, 1315404.143 719760.526 0, 1315115.179 719741.97 0, 1314826.214 719723.432 0, 1314537.248 719704.91 0, 1314248.281 719686.406 0, 1313959.313 719667.918 0,
+ 1313670.344 719649.448 0, 1313381.374 719630.994 0, 1313092.402 719612.558 0, 1312803.43 719594.138 0, 1312513.108 719575.65 0, 1312225.482 719557.35 0, 1311936.506 719538.982 0, 1311647.529 719520.63 0, 1311358.551 719502.296 0, 1311069.572 719483.978 0,
+ 1310780.592 719465.678 0, 1310491.611 719447.394 0, 1310202.629 719429.128 0, 1309913.646 719410.879 0, 1309624.661 719392.646 0, 1309335.676 719374.431 0, 1309046.689 719356.232 0, 1308757.702 719338.051 0, 1308468.713 719319.887 0, 1308179.724 719301.739 0,
+ 1307890.733 719283.609 0, 1307601.741 719265.496 0, 1307312.748 719247.399 0, 1307023.754 719229.32 0, 1306734.759 719211.258 0, 1306445.763 719193.212 0, 1306156.766 719175.184 0, 1305867.768 719157.173 0, 1305577.419 719139.095 0, 1305231.394 724699.137 0,
+ 1304885.352 730259.458 0, 1305175.043 730277.495 0, 1305463.387 730295.466 0, 1305751.729 730313.453 0, 1306040.071 730331.458 0, 1306328.411 730349.479 0, 1306616.751 730367.517 0, 1306905.089 730385.573 0, 1307193.426 730403.645 0, 1307481.763 730421.734 0,
+ 1307770.098 730439.841 0, 1308058.432 730457.964 0, 1308346.765 730476.104 0, 1308635.097 730494.261 0, 1308923.428 730512.435 0, 1309211.758 730530.626 0, 1309500.087 730548.834 0, 1309788.414 730567.059 0, 1310076.741 730585.302 0, 1310365.066 730603.56 0,
+ 1310653.391 730621.836 0, 1310941.714 730640.129 0, 1311230.037 730658.439 0, 1311518.358 730676.766 0, 1311805.333 730695.024 0, 1312094.997 730713.471 0, 1312383.315 730731.849 0, 1312671.632 730750.243 0, 1312959.948 730768.655 0, 1313248.263 730787.084 0,
+ 1313536.576 730805.529 0, 1313824.889 730823.992 0, 1314113.2 730842.472 0, 1314401.511 730860.968 0, 1314689.82 730879.482 0, 1314978.128 730898.012 0, 1315266.435 730916.56 0, 1315554.741 730935.124 0, 1315843.046 730953.706 0, 1316131.35 730972.304 0,
+ 1316419.653 730990.919 0, 1316707.955 731009.552 0, 1316996.255 731028.201 0, 1317284.555 731046.867 0, 1317572.853 731065.55 0, 1317861.15 731084.25 0, 1318149.447 731102.968 0, 1318437.742 731121.702 0, 1318724.692 731140.365 0, 1319086.441 725581.045 0,
+ 1319448.173 720022.002 0))
+
+POLYGON ((1332561.487 732060.368 0, 1332274.589 732040.894 0, 1331986.348 732021.345 0, 1331698.106 732001.814 0, 1331409.863 731982.299 0, 1331121.618 731962.801 0, 1330833.373 731943.321 0, 1330545.126 731923.857 0, 1330256.878 731904.41 0, 1329968.629 731884.98 0,
+ 1329680.379 731865.568 0, 1329392.127 731846.172 0, 1329103.875 731826.793 0, 1328815.621 731807.431 0, 1328527.367 731788.086 0, 1328239.111 731768.758 0, 1327950.854 731749.447 0, 1327662.596 731730.153 0, 1327374.336 731710.876 0, 1327086.076 731691.616 0,
+ 1326797.815 731672.373 0, 1326509.552 731653.146 0, 1326221.288 731633.937 0, 1325933.023 731614.745 0, 1325643.414 731595.48 0, 1325356.49 731576.411 0, 1325068.222 731557.27 0, 1324779.952 731538.146 0, 1324491.682 731519.038 0, 1324203.41 731499.948 0,
+ 1323915.137 731480.874 0, 1323626.863 731461.818 0, 1323338.588 731442.778 0, 1323050.312 731423.756 0, 1322762.035 731404.75 0, 1322473.756 731385.761 0, 1322185.477 731366.79 0, 1321897.196 731347.835 0, 1321608.914 731328.897 0, 1321320.631 731309.976 0,
+ 1321032.347 731291.073 0, 1320744.062 731272.186 0, 1320455.776 731253.316 0, 1320167.489 731234.463 0, 1319879.2 731215.627 0, 1319590.911 731196.808 0, 1319302.62 731178.006 0, 1319014.328 731159.221 0, 1318724.692 731140.365 0, 1318362.924 736699.961 0,
+ 1318001.139 742259.827 0, 1318290.118 742278.639 0, 1318577.755 742297.382 0, 1318865.391 742316.141 0, 1319153.026 742334.917 0, 1319440.66 742353.711 0, 1319728.293 742372.521 0, 1320015.925 742391.348 0, 1320303.556 742410.192 0, 1320591.185 742429.053 0,
+ 1320878.814 742447.93 0, 1321166.441 742466.825 0, 1321454.067 742485.737 0, 1321741.692 742504.666 0, 1322029.316 742523.611 0, 1322316.939 742542.574 0, 1322604.561 742561.553 0, 1322892.181 742580.549 0, 1323179.801 742599.563 0, 1323467.419 742618.593 0,
+ 1323755.037 742637.64 0, 1324042.653 742656.704 0, 1324330.268 742675.785 0, 1324617.882 742694.883 0, 1324904.155 742713.908 0, 1325193.106 742733.129 0, 1325480.717 742752.278 0, 1325768.326 742771.444 0, 1326055.934 742790.626 0, 1326343.541 742809.826 0,
+ 1326631.147 742829.042 0, 1326918.752 742848.275 0, 1327206.356 742867.526 0, 1327493.959 742886.793 0, 1327781.56 742906.077 0, 1328069.161 742925.378 0, 1328356.76 742944.696 0, 1328644.358 742964.031 0, 1328931.955 742983.383 0, 1329219.551 743002.751 0,
+ 1329507.145 743022.137 0, 1329794.739 743041.54 0, 1330082.331 743060.959 0, 1330369.922 743080.396 0, 1330657.512 743099.849 0, 1330945.101 743119.319 0, 1331232.689 743138.806 0, 1331520.276 743158.311 0, 1331806.523 743177.741 0, 1332184.014 737618.919 0,
+ 1332561.487 732060.368 0))
+
+POLYGON ((1345609.259 744134.654 0, 1345323.065 744114.415 0, 1345035.535 744094.098 0, 1344748.003 744073.799 0, 1344460.471 744053.516 0, 1344172.937 744033.25 0, 1343885.401 744013.001 0, 1343597.865 743992.769 0, 1343310.328 743972.554 0, 1343022.789 743952.356 0,
+ 1342735.249 743932.175 0, 1342447.708 743912.011 0, 1342160.165 743891.864 0, 1341872.622 743871.733 0, 1341585.077 743851.62 0, 1341297.531 743831.523 0, 1341009.984 743811.443 0, 1340722.436 743791.381 0, 1340434.887 743771.335 0, 1340147.336 743751.306 0,
+ 1339859.785 743731.294 0, 1339572.232 743711.299 0, 1339284.678 743691.321 0, 1338997.122 743671.36 0, 1338708.229 743651.323 0, 1338422.008 743631.488 0, 1338134.449 743611.578 0, 1337846.889 743591.685 0, 1337559.328 743571.808 0, 1337271.766 743551.948 0,
+ 1336984.202 743532.106 0, 1336696.638 743512.28 0, 1336409.072 743492.471 0, 1336121.505 743472.679 0, 1335833.937 743452.904 0, 1335546.368 743433.146 0, 1335258.797 743413.405 0, 1334971.225 743393.681 0, 1334683.653 743373.974 0, 1334396.079 743354.283 0,
+ 1334108.504 743334.61 0, 1333820.927 743314.953 0, 1333533.35 743295.314 0, 1333245.771 743275.691 0, 1332958.192 743256.085 0, 1332670.611 743236.497 0, 1332383.029 743216.925 0, 1332095.446 743197.37 0, 1331806.523 743177.741 0, 1331429.013 748736.83 0,
+ 1331051.486 754296.183 0, 1331339.751 754315.768 0, 1331626.68 754335.278 0, 1331913.607 754354.805 0, 1332200.534 754374.35 0, 1332487.459 754393.911 0, 1332774.383 754413.489 0, 1333061.306 754433.084 0, 1333348.228 754452.695 0, 1333635.149 754472.324 0,
+ 1333922.068 754491.97 0, 1334208.987 754511.632 0, 1334495.904 754531.311 0, 1334782.82 754551.007 0, 1335069.735 754570.721 0, 1335356.649 754590.451 0, 1335643.562 754610.197 0, 1335930.473 754629.961 0, 1336217.383 754649.742 0, 1336504.292 754669.539 0,
+ 1336791.2 754689.354 0, 1337078.107 754709.185 0, 1337365.013 754729.033 0, 1337651.917 754748.898 0, 1337937.486 754768.688 0, 1338225.723 754788.679 0, 1338512.623 754808.595 0, 1338799.523 754828.528 0, 1339086.422 754848.477 0, 1339373.319 754868.443 0,
+ 1339660.215 754888.427 0, 1339947.111 754908.427 0, 1340234.004 754928.444 0, 1340520.897 754948.478 0, 1340807.789 754968.529 0, 1341094.679 754988.596 0, 1341381.568 755008.681 0, 1341668.456 755028.783 0, 1341955.343 755048.901 0, 1342242.229 755069.036 0,
+ 1342529.113 755089.188 0, 1342815.996 755109.357 0, 1343102.878 755129.543 0, 1343389.759 755149.746 0, 1343676.639 755169.966 0, 1343963.517 755190.202 0, 1344250.395 755210.456 0, 1344537.271 755230.726 0, 1344822.813 755250.919 0, 1345216.045 749692.655 0,
+ 1345609.259 744134.654 0))
+
+POLYGON ((1358591.388 756244.557 0, 1358305.902 756223.558 0, 1358019.084 756202.477 0, 1357732.265 756181.413 0, 1357445.445 756160.366 0, 1357158.623 756139.336 0, 1356871.801 756118.323 0, 1356584.977 756097.326 0, 1356298.152 756076.347 0, 1356011.325 756055.384 0,
+ 1355724.498 756034.439 0, 1355437.669 756013.51 0, 1355150.839 755992.598 0, 1354864.008 755971.703 0, 1354577.175 755950.825 0, 1354290.341 755929.964 0, 1354003.507 755909.119 0, 1353716.67 755888.292 0, 1353429.833 755867.481 0, 1353142.994 755846.687 0,
+ 1352856.154 755825.91 0, 1352569.313 755805.15 0, 1352282.471 755784.407 0, 1351995.627 755763.681 0, 1351707.451 755742.876 0, 1351421.937 755722.279 0, 1351135.09 755701.604 0, 1350848.241 755680.945 0, 1350561.392 755660.303 0, 1350274.541 755639.679 0,
+ 1349987.689 755619.07 0, 1349700.835 755598.479 0, 1349413.981 755577.905 0, 1349127.125 755557.348 0, 1348840.268 755536.807 0, 1348553.41 755516.284 0, 1348266.551 755495.777 0, 1347979.691 755475.287 0, 1347692.829 755454.814 0, 1347405.966 755434.358 0,
+ 1347119.102 755413.919 0, 1346832.236 755393.497 0, 1346545.37 755373.091 0, 1346258.502 755352.703 0, 1345971.633 755332.331 0, 1345684.763 755311.976 0, 1345397.892 755291.638 0, 1345111.019 755271.317 0, 1344822.813 755250.919 0, 1344429.562 760809.444 0,
+ 1344036.293 766368.225 0, 1344323.842 766388.577 0, 1344610.061 766408.852 0, 1344896.278 766429.143 0, 1345182.493 766449.452 0, 1345468.708 766469.777 0, 1345754.921 766490.119 0, 1346041.134 766510.478 0, 1346327.345 766530.854 0, 1346613.554 766551.246 0,
+ 1346899.763 766571.656 0, 1347185.97 766592.082 0, 1347472.177 766612.525 0, 1347758.382 766632.985 0, 1348044.585 766653.462 0, 1348330.788 766673.955 0, 1348616.989 766694.466 0, 1348903.19 766714.993 0, 1349189.388 766735.537 0, 1349475.586 766756.098 0,
+ 1349761.783 766776.676 0, 1350047.978 766797.271 0, 1350334.172 766817.882 0, 1350620.365 766838.511 0, 1350905.228 766859.06 0, 1351192.747 766879.818 0, 1351478.936 766900.497 0, 1351765.125 766921.193 0, 1352051.311 766941.905 0, 1352337.497 766962.635 0,
+ 1352623.681 766983.381 0, 1352909.864 767004.144 0, 1353196.046 767024.924 0, 1353482.227 767045.721 0, 1353768.407 767066.535 0, 1354054.585 767087.365 0, 1354340.762 767108.213 0, 1354626.938 767129.077 0, 1354913.112 767149.958 0, 1355199.286 767170.856 0,
+ 1355485.458 767191.771 0, 1355771.629 767212.702 0, 1356057.798 767233.651 0, 1356343.967 767254.616 0, 1356630.134 767275.598 0, 1356916.3 767296.597 0, 1357202.465 767317.613 0, 1357488.628 767338.646 0, 1357773.463 767359.597 0, 1358182.435 761801.949 0,
+ 1358591.388 756244.557 0))
+
+POLYGON ((1371507.777 768389.775 0, 1371223 768368.019 0, 1370936.897 768346.178 0, 1370650.793 768324.353 0, 1370364.688 768302.546 0, 1370078.581 768280.756 0, 1369792.473 768258.982 0, 1369506.363 768237.225 0, 1369220.253 768215.485 0, 1368934.141 768193.762 0,
+ 1368648.028 768172.056 0, 1368361.913 768150.366 0, 1368075.798 768128.694 0, 1367789.681 768107.038 0, 1367503.562 768085.399 0, 1367217.443 768063.777 0, 1366931.322 768042.171 0, 1366645.2 768020.583 0, 1366359.077 767999.011 0, 1366072.952 767977.457 0,
+ 1365786.826 767955.919 0, 1365500.699 767934.398 0, 1365214.57 767912.893 0, 1364928.441 767891.406 0, 1364640.984 767869.836 0, 1364356.178 767848.482 0, 1364070.044 767827.045 0, 1363783.909 767805.625 0, 1363497.773 767784.222 0, 1363211.636 767762.835 0,
+ 1362925.498 767741.466 0, 1362639.358 767720.113 0, 1362353.217 767698.777 0, 1362067.075 767677.458 0, 1361780.931 767656.156 0, 1361494.786 767634.871 0, 1361208.64 767613.603 0, 1360922.493 767592.351 0, 1360636.344 767571.116 0, 1360350.194 767549.898 0,
+ 1360064.043 767528.697 0, 1359777.891 767507.513 0, 1359491.738 767486.346 0, 1359205.583 767465.195 0, 1358919.427 767444.061 0, 1358633.27 767422.945 0, 1358347.111 767401.845 0, 1358060.951 767380.761 0, 1357773.463 767359.597 0, 1357364.472 772917.499 0,
+ 1356955.464 778475.651 0, 1357242.295 778496.766 0, 1357527.8 778517.801 0, 1357813.304 778538.853 0, 1358098.807 778559.921 0, 1358384.309 778581.007 0, 1358669.81 778602.109 0, 1358955.309 778623.228 0, 1359240.807 778644.364 0, 1359526.304 778665.516 0,
+ 1359811.799 778686.686 0, 1360097.294 778707.872 0, 1360382.787 778729.075 0, 1360668.279 778750.295 0, 1360953.769 778771.532 0, 1361239.258 778792.785 0, 1361524.747 778814.055 0, 1361810.233 778835.342 0, 1362095.719 778856.646 0, 1362381.203 778877.967 0,
+ 1362666.686 778899.304 0, 1362952.168 778920.658 0, 1363237.649 778942.029 0, 1363523.128 778963.417 0, 1363807.283 778984.723 0, 1364094.083 779006.243 0, 1364379.558 779027.682 0, 1364665.032 779049.137 0, 1364950.505 779070.609 0, 1365235.977 779092.097 0,
+ 1365521.447 779113.603 0, 1365806.917 779135.125 0, 1366092.385 779156.664 0, 1366377.851 779178.22 0, 1366663.317 779199.793 0, 1366948.781 779221.382 0, 1367234.243 779242.988 0, 1367519.705 779264.611 0, 1367805.165 779286.251 0, 1368090.624 779307.908 0,
+ 1368376.082 779329.581 0, 1368661.538 779351.272 0, 1368946.994 779372.979 0, 1369232.448 779394.703 0, 1369517.9 779416.443 0, 1369803.352 779438.201 0, 1370088.802 779459.975 0, 1370374.25 779481.766 0, 1370658.376 779503.473 0, 1371083.086 773946.499 0,
+ 1371507.777 768389.775 0))
+
+POLYGON ((1384358.33 780570.005 0, 1384074.265 780547.495 0, 1383788.878 780524.898 0, 1383503.491 780502.317 0, 1383218.102 780479.753 0, 1382932.712 780457.206 0, 1382647.321 780434.676 0, 1382361.928 780412.162 0, 1382076.534 780389.666 0, 1381791.139 780367.186 0,
+ 1381505.742 780344.723 0, 1381220.344 780322.276 0, 1380934.945 780299.847 0, 1380649.544 780277.434 0, 1380364.142 780255.038 0, 1380078.739 780232.659 0, 1379793.334 780210.297 0, 1379507.928 780187.952 0, 1379222.521 780165.623 0, 1378937.113 780143.311 0,
+ 1378651.703 780121.016 0, 1378366.292 780098.738 0, 1378080.879 780076.476 0, 1377795.465 780054.232 0, 1377508.73 780031.901 0, 1377224.634 780009.793 0, 1376939.216 779987.598 0, 1376653.797 779965.421 0, 1376368.377 779943.26 0, 1376082.955 779921.116 0,
+ 1375797.532 779898.989 0, 1375512.108 779876.879 0, 1375226.682 779854.785 0, 1374941.256 779832.709 0, 1374655.827 779810.649 0, 1374370.398 779788.606 0, 1374084.967 779766.579 0, 1373799.535 779744.57 0, 1373514.102 779722.577 0, 1373228.667 779700.601 0,
+ 1372943.231 779678.642 0, 1372657.794 779656.7 0, 1372372.356 779634.774 0, 1372086.916 779612.866 0, 1371801.475 779590.974 0, 1371516.033 779569.099 0, 1371230.589 779547.24 0, 1370945.144 779525.399 0, 1370658.376 779503.473 0, 1370233.647 785060.693 0,
+ 1369808.9 790618.156 0, 1370095.011 790640.031 0, 1370379.801 790661.822 0, 1370664.591 790683.631 0, 1370949.379 790705.456 0, 1371234.166 790727.297 0, 1371518.952 790749.156 0, 1371803.736 790771.031 0, 1372088.519 790792.923 0, 1372373.301 790814.832 0,
+ 1372658.081 790836.757 0, 1372942.86 790858.7 0, 1373227.638 790880.659 0, 1373512.415 790902.635 0, 1373797.19 790924.627 0, 1374081.964 790946.636 0, 1374366.737 790968.663 0, 1374651.508 790990.705 0, 1374936.278 791012.765 0, 1375221.047 791034.841 0,
+ 1375505.814 791056.935 0, 1375790.581 791079.044 0, 1376075.345 791101.171 0, 1376360.109 791123.315 0, 1376643.554 791145.372 0, 1376929.632 791167.652 0, 1377214.392 791189.845 0, 1377499.15 791212.056 0, 1377783.907 791234.283 0, 1378068.663 791256.527 0,
+ 1378353.418 791278.788 0, 1378638.171 791301.065 0, 1378922.923 791323.36 0, 1379207.673 791345.671 0, 1379492.422 791367.998 0, 1379777.17 791390.343 0, 1380061.917 791412.704 0, 1380346.662 791435.082 0, 1380631.406 791457.477 0, 1380916.148 791479.889 0,
+ 1381200.89 791502.317 0, 1381485.63 791524.762 0, 1381770.368 791547.224 0, 1382055.106 791569.703 0, 1382339.842 791592.198 0, 1382624.576 791614.71 0, 1382909.31 791637.239 0, 1383194.042 791659.785 0, 1383477.456 791682.243 0, 1383917.903 786126.003 0,
+ 1384358.33 780570.005 0))
+
+POLYGON ((1397142.952 792784.942 0, 1396859.6 792761.683 0, 1396574.933 792738.333 0, 1396290.264 792715 0, 1396005.594 792691.684 0, 1395720.923 792668.384 0, 1395436.25 792645.101 0, 1395151.576 792621.835 0, 1394866.901 792598.585 0, 1394582.224 792575.353 0,
+ 1394297.546 792552.137 0, 1394012.866 792528.937 0, 1393728.185 792505.755 0, 1393443.503 792482.589 0, 1393158.819 792459.44 0, 1392874.134 792436.308 0, 1392589.448 792413.193 0, 1392304.76 792390.094 0, 1392020.071 792367.012 0, 1391735.381 792343.947 0,
+ 1391450.689 792320.899 0, 1391165.996 792297.867 0, 1390881.301 792274.852 0, 1390596.606 792251.854 0, 1390310.593 792228.767 0, 1390027.21 792205.908 0, 1389742.51 792182.96 0, 1389457.809 792160.029 0, 1389173.106 792137.115 0, 1388888.402 792114.217 0,
+ 1388603.697 792091.336 0, 1388318.99 792068.472 0, 1388034.282 792045.625 0, 1387749.573 792022.795 0, 1387464.862 791999.981 0, 1387180.15 791977.184 0, 1386895.437 791954.403 0, 1386610.722 791931.64 0, 1386326.006 791908.893 0, 1386041.289 791886.163 0,
+ 1385756.57 791863.45 0, 1385471.85 791840.753 0, 1385187.129 791818.074 0, 1384902.406 791795.411 0, 1384617.682 791772.765 0, 1384332.957 791750.135 0, 1384048.23 791727.522 0, 1383763.502 791704.926 0, 1383477.456 791682.243 0, 1383036.991 797238.722 0,
+ 1382596.507 802795.437 0, 1382881.895 802818.068 0, 1383165.969 802840.612 0, 1383450.042 802863.173 0, 1383734.113 802885.751 0, 1384018.183 802908.345 0, 1384302.252 802930.956 0, 1384586.319 802953.583 0, 1384870.385 802976.228 0, 1385154.45 802998.889 0,
+ 1385438.513 803021.566 0, 1385722.575 803044.261 0, 1386006.635 803066.972 0, 1386290.695 803089.7 0, 1386574.753 803112.445 0, 1386858.809 803135.206 0, 1387142.865 803157.984 0, 1387426.918 803180.779 0, 1387710.971 803203.591 0, 1387995.022 803226.419 0,
+ 1388279.072 803249.264 0, 1388563.121 803272.126 0, 1388847.168 803295.004 0, 1389131.214 803317.899 0, 1389413.946 803340.705 0, 1389699.301 803363.74 0, 1389983.343 803386.685 0, 1390267.384 803409.647 0, 1390551.423 803432.626 0, 1390835.461 803455.621 0,
+ 1391119.497 803478.633 0, 1391403.532 803501.662 0, 1391687.566 803524.708 0, 1391971.598 803547.77 0, 1392255.629 803570.849 0, 1392539.659 803593.945 0, 1392823.687 803617.057 0, 1393107.714 803640.186 0, 1393391.739 803663.332 0, 1393675.764 803686.495 0,
+ 1393959.786 803709.674 0, 1394243.808 803732.87 0, 1394527.828 803756.083 0, 1394811.847 803779.312 0, 1395095.864 803802.559 0, 1395379.88 803825.822 0, 1395663.895 803849.101 0, 1395947.908 803872.398 0, 1396230.609 803895.603 0, 1396686.79 798340.155 0,
+ 1397142.952 792784.942 0))
+
+POLYGON ((1409861.548 805034.284 0, 1409578.912 805010.279 0, 1409294.966 804986.181 0, 1409011.018 804962.099 0, 1408727.069 804938.034 0, 1408443.118 804913.985 0, 1408159.166 804889.953 0, 1407875.213 804865.938 0, 1407591.258 804841.94 0, 1407307.302 804817.958 0,
+ 1407023.344 804793.993 0, 1406739.385 804770.045 0, 1406455.425 804746.113 0, 1406171.463 804722.199 0, 1405887.5 804698.301 0, 1405603.535 804674.419 0, 1405319.569 804650.555 0, 1405035.602 804626.707 0, 1404751.633 804602.875 0, 1404467.663 804579.061 0,
+ 1404183.691 804555.263 0, 1403899.718 804531.482 0, 1403615.744 804507.718 0, 1403331.768 804483.97 0, 1403046.481 804460.13 0, 1402763.812 804436.525 0, 1402479.832 804412.827 0, 1402195.85 804389.146 0, 1401911.867 804365.482 0, 1401627.883 804341.835 0,
+ 1401343.898 804318.204 0, 1401059.911 804294.59 0, 1400775.922 804270.993 0, 1400491.932 804247.413 0, 1400207.941 804223.849 0, 1399923.949 804200.302 0, 1399639.955 804176.771 0, 1399355.959 804153.258 0, 1399071.963 804129.761 0, 1398787.965 804106.28 0,
+ 1398503.965 804082.817 0, 1398219.964 804059.37 0, 1397935.962 804035.94 0, 1397651.958 804012.527 0, 1397367.953 803989.13 0, 1397083.947 803965.75 0, 1396799.939 803942.387 0, 1396515.93 803919.04 0, 1396230.609 803895.603 0, 1395774.409 809451.283 0,
+ 1395318.19 815007.191 0, 1395602.854 815030.574 0, 1395886.209 815053.867 0, 1396169.563 815077.176 0, 1396452.915 815100.502 0, 1396736.266 815123.845 0, 1397019.616 815147.205 0, 1397302.964 815170.581 0, 1397586.311 815193.974 0, 1397869.657 815217.383 0,
+ 1398153.001 815240.809 0, 1398436.344 815264.252 0, 1398719.685 815287.712 0, 1399003.025 815311.188 0, 1399286.364 815334.681 0, 1399569.701 815358.19 0, 1399853.037 815381.716 0, 1400136.371 815405.259 0, 1400419.704 815428.819 0, 1400703.036 815452.395 0,
+ 1400986.366 815475.988 0, 1401269.695 815499.598 0, 1401553.022 815523.224 0, 1401836.349 815546.867 0, 1402118.367 815570.417 0, 1402402.997 815594.203 0, 1402686.319 815617.896 0, 1402969.639 815641.605 0, 1403252.958 815665.332 0, 1403536.276 815689.075 0,
+ 1403819.592 815712.834 0, 1404102.907 815736.611 0, 1404386.221 815760.404 0, 1404669.533 815784.214 0, 1404952.844 815808.04 0, 1405236.153 815831.883 0, 1405519.461 815855.743 0, 1405802.767 815879.619 0, 1406086.073 815903.512 0, 1406369.376 815927.422 0,
+ 1406652.679 815951.348 0, 1406935.98 815975.291 0, 1407219.279 815999.251 0, 1407502.577 816023.228 0, 1407785.874 816047.221 0, 1408069.169 816071.231 0, 1408352.463 816095.257 0, 1408635.755 816119.3 0, 1408917.741 816143.249 0, 1409389.654 810588.652 0,
+ 1409861.548 805034.284 0))
+
+POLYGON ((1422514.028 817317.724 0, 1422232.109 817292.979 0, 1421948.886 817268.135 0, 1421665.661 817243.308 0, 1421382.435 817218.498 0, 1421099.207 817193.705 0, 1420815.978 817168.928 0, 1420532.747 817144.168 0, 1420249.515 817119.425 0, 1419966.281 817094.698 0,
+ 1419683.046 817069.988 0, 1419399.81 817045.295 0, 1419116.572 817020.618 0, 1418833.332 816995.958 0, 1418550.092 816971.315 0, 1418266.849 816946.688 0, 1417983.606 816922.078 0, 1417700.36 816897.485 0, 1417417.114 816872.908 0, 1417133.866 816848.348 0,
+ 1416850.616 816823.805 0, 1416567.365 816799.278 0, 1416284.113 816774.768 0, 1416000.859 816750.275 0, 1415716.299 816725.685 0, 1415434.347 816701.338 0, 1415151.089 816676.895 0, 1414867.829 816652.468 0, 1414584.568 816628.058 0, 1414301.305 816603.665 0,
+ 1414018.041 816579.288 0, 1413734.776 816554.928 0, 1413451.509 816530.585 0, 1413168.241 816506.258 0, 1412884.971 816481.948 0, 1412601.7 816457.655 0, 1412318.428 816433.379 0, 1412035.154 816409.119 0, 1411751.878 816384.875 0, 1411468.602 816360.649 0,
+ 1411185.323 816336.439 0, 1410902.044 816312.246 0, 1410618.763 816288.069 0, 1410335.48 816263.909 0, 1410052.196 816239.766 0, 1409768.911 816215.64 0, 1409485.624 816191.53 0, 1409202.336 816167.437 0, 1408917.741 816143.249 0, 1408445.808 821698.071 0,
+ 1407973.857 827253.113 0, 1408257.795 827277.244 0, 1408540.429 827301.282 0, 1408823.062 827325.336 0, 1409105.694 827349.407 0, 1409388.324 827373.494 0, 1409670.952 827397.598 0, 1409953.58 827421.719 0, 1410236.205 827445.857 0, 1410518.83 827470.011 0,
+ 1410801.453 827494.181 0, 1411084.074 827518.368 0, 1411366.694 827542.572 0, 1411649.313 827566.793 0, 1411931.93 827591.03 0, 1412214.546 827615.284 0, 1412497.16 827639.554 0, 1412779.773 827663.841 0, 1413062.385 827688.145 0, 1413344.995 827712.465 0,
+ 1413627.604 827736.802 0, 1413910.211 827761.156 0, 1414192.817 827785.526 0, 1414475.421 827809.913 0, 1414756.723 827834.204 0, 1415040.625 827858.737 0, 1415323.225 827883.174 0, 1415605.824 827907.627 0, 1415888.421 827932.097 0, 1416171.017 827956.584 0,
+ 1416453.611 827981.087 0, 1416736.204 828005.607 0, 1417018.795 828030.144 0, 1417301.385 828054.697 0, 1417583.974 828079.267 0, 1417866.561 828103.853 0, 1418149.147 828128.456 0, 1418431.731 828153.076 0, 1418714.313 828177.712 0, 1418996.895 828202.365 0,
+ 1419279.475 828227.035 0, 1419562.053 828251.721 0, 1419844.63 828276.424 0, 1420127.205 828301.144 0, 1420409.779 828325.88 0, 1420692.352 828350.633 0, 1420974.923 828375.402 0, 1421257.492 828400.188 0, 1421538.761 828424.877 0, 1422026.404 822871.19 0,
+ 1422514.028 817317.724 0))
+
+POLYGON ((1435100.3 829634.96 0, 1434819.1 829609.476 0, 1434536.602 829583.892 0, 1434254.102 829558.324 0, 1433971.6 829532.773 0, 1433689.097 829507.239 0, 1433406.593 829481.721 0, 1433124.087 829456.22 0, 1432841.579 829430.736 0, 1432559.07 829405.268 0,
+ 1432276.56 829379.816 0, 1431994.048 829354.382 0, 1431711.534 829328.964 0, 1431429.019 829303.562 0, 1431146.503 829278.178 0, 1430863.985 829252.81 0, 1430581.466 829227.458 0, 1430298.945 829202.123 0, 1430016.422 829176.805 0, 1429733.898 829151.503 0,
+ 1429451.373 829126.218 0, 1429168.846 829100.95 0, 1428886.318 829075.698 0, 1428603.788 829050.463 0, 1428319.958 829025.129 0, 1428038.723 829000.043 0, 1427756.189 828974.858 0, 1427473.653 828949.689 0, 1427191.116 828924.537 0, 1426908.577 828899.402 0,
+ 1426626.037 828874.283 0, 1426343.495 828849.181 0, 1426060.952 828824.096 0, 1425778.407 828799.027 0, 1425495.861 828773.975 0, 1425213.314 828748.939 0, 1424930.764 828723.921 0, 1424648.214 828698.918 0, 1424365.662 828673.933 0, 1424083.108 828648.964 0,
+ 1423800.553 828624.011 0, 1423517.997 828599.075 0, 1423235.439 828574.156 0, 1422952.88 828549.254 0, 1422670.319 828524.368 0, 1422387.756 828499.499 0, 1422105.193 828474.646 0, 1421822.627 828449.81 0, 1421538.761 828424.877 0, 1421051.098 833978.781 0,
+ 1420563.417 839532.898 0, 1420846.627 839557.774 0, 1421128.538 839582.552 0, 1421410.448 839607.347 0, 1421692.357 839632.159 0, 1421974.264 839656.987 0, 1422256.17 839681.832 0, 1422538.074 839706.694 0, 1422819.976 839731.572 0, 1423101.878 839756.466 0,
+ 1423383.777 839781.377 0, 1423665.676 839806.305 0, 1423947.572 839831.25 0, 1424229.468 839856.211 0, 1424511.362 839881.188 0, 1424793.254 839906.182 0, 1425075.145 839931.193 0, 1425357.034 839956.221 0, 1425638.922 839981.265 0, 1425920.809 840006.325 0,
+ 1426202.694 840031.402 0, 1426484.578 840056.496 0, 1426766.46 840081.606 0, 1427048.34 840106.733 0, 1427328.924 840131.761 0, 1427612.097 840157.037 0, 1427893.973 840182.214 0, 1428175.848 840207.407 0, 1428457.721 840232.617 0, 1428739.593 840257.843 0,
+ 1429021.463 840283.086 0, 1429303.332 840308.346 0, 1429585.199 840333.622 0, 1429867.065 840358.915 0, 1430148.929 840384.224 0, 1430430.792 840409.55 0, 1430712.653 840434.893 0, 1430994.513 840460.252 0, 1431276.371 840485.628 0, 1431558.228 840511.02 0,
+ 1431840.084 840536.429 0, 1432121.937 840561.855 0, 1432403.79 840587.297 0, 1432685.641 840612.756 0, 1432967.49 840638.231 0, 1433249.338 840663.723 0, 1433531.184 840689.231 0, 1433813.029 840714.756 0, 1434093.578 840740.181 0, 1434596.948 835187.463 0,
+ 1435100.3 829634.96 0))
+
+POLYGON ((1447620.274 841985.684 0, 1447339.796 841959.467 0, 1447058.024 841933.146 0, 1446776.251 841906.841 0, 1446494.476 841880.553 0, 1446212.7 841854.282 0, 1445930.922 841828.027 0, 1445649.143 841801.788 0, 1445367.362 841775.567 0, 1445085.58 841749.361 0,
+ 1444803.796 841723.173 0, 1444522.01 841697.001 0, 1444240.223 841670.846 0, 1443958.434 841644.707 0, 1443676.644 841618.585 0, 1443394.853 841592.479 0, 1443113.06 841566.39 0, 1442831.265 841540.317 0, 1442549.469 841514.262 0, 1442267.671 841488.222 0,
+ 1441985.871 841462.2 0, 1441704.071 841436.193 0, 1441422.268 841410.204 0, 1441140.464 841384.231 0, 1440857.366 841358.155 0, 1440576.852 841332.335 0, 1440295.043 841306.412 0, 1440013.233 841280.505 0, 1439731.422 841254.615 0, 1439449.609 841228.742 0,
+ 1439167.794 841202.885 0, 1438885.978 841177.044 0, 1438604.16 841151.221 0, 1438322.341 841125.414 0, 1438040.521 841099.623 0, 1437758.698 841073.849 0, 1437476.875 841048.092 0, 1437195.049 841022.351 0, 1436913.223 840996.627 0, 1436631.394 840970.92 0,
+ 1436349.565 840945.229 0, 1436067.733 840919.554 0, 1435785.901 840893.897 0, 1435504.066 840868.255 0, 1435222.23 840842.631 0, 1434940.393 840817.023 0, 1434658.554 840791.431 0, 1434376.714 840765.856 0, 1434093.578 840740.181 0, 1433590.188 846293.108 0,
+ 1433086.78 851846.241 0, 1433369.259 851871.857 0, 1433650.446 851897.373 0, 1433931.631 851922.905 0, 1434212.815 851948.453 0, 1434493.997 851974.019 0, 1434775.178 851999.6 0, 1435056.357 852025.199 0, 1435337.534 852050.813 0, 1435618.71 852076.445 0,
+ 1435899.885 852102.093 0, 1436181.058 852127.757 0, 1436462.23 852153.438 0, 1436743.4 852179.136 0, 1437024.568 852204.85 0, 1437305.735 852230.581 0, 1437586.901 852256.328 0, 1437868.065 852282.092 0, 1438149.227 852307.872 0, 1438430.388 852333.669 0,
+ 1438711.548 852359.482 0, 1438992.706 852385.312 0, 1439273.862 852411.159 0, 1439555.017 852437.022 0, 1439834.88 852462.783 0, 1440117.322 852488.797 0, 1440398.473 852514.71 0, 1440679.621 852540.639 0, 1440960.769 852566.585 0, 1441241.914 852592.548 0,
+ 1441523.059 852618.526 0, 1441804.201 852644.522 0, 1442085.342 852670.534 0, 1442366.482 852696.562 0, 1442647.62 852722.608 0, 1442928.757 852748.669 0, 1443209.892 852774.747 0, 1443491.025 852800.842 0, 1443772.157 852826.953 0, 1444053.288 852853.081 0,
+ 1444334.417 852879.226 0, 1444615.544 852905.386 0, 1444896.67 852931.564 0, 1445177.794 852957.758 0, 1445458.917 852983.968 0, 1445740.038 853010.196 0, 1446021.157 853036.439 0, 1446302.275 853062.699 0, 1446582.103 853088.856 0, 1447101.198 847537.167 0,
+ 1447620.274 841985.684 0))
+
+POLYGON ((1460073.862 854369.592 0, 1459794.107 854342.645 0, 1459513.064 854315.591 0, 1459232.02 854288.553 0, 1458950.974 854261.532 0, 1458669.927 854234.527 0, 1458388.877 854207.539 0, 1458107.827 854180.567 0, 1457826.774 854153.612 0, 1457545.721 854126.674 0,
+ 1457264.665 854099.752 0, 1456983.608 854072.846 0, 1456702.549 854045.958 0, 1456421.489 854019.085 0, 1456140.427 853992.229 0, 1455859.364 853965.39 0, 1455578.299 853938.568 0, 1455297.232 853911.761 0, 1455016.164 853884.972 0, 1454735.095 853858.199 0,
+ 1454454.023 853831.442 0, 1454172.95 853804.702 0, 1453891.876 853777.979 0, 1453610.8 853751.272 0, 1453328.435 853724.459 0, 1453048.643 853697.908 0, 1452767.563 853671.25 0, 1452486.48 853644.61 0, 1452205.397 853617.985 0, 1451924.311 853591.378 0,
+ 1451643.224 853564.787 0, 1451362.136 853538.212 0, 1451081.046 853511.654 0, 1450799.954 853485.113 0, 1450518.861 853458.588 0, 1450237.766 853432.079 0, 1449956.669 853405.588 0, 1449675.572 853379.112 0, 1449394.472 853352.654 0, 1449113.371 853326.211 0,
+ 1448832.269 853299.786 0, 1448551.164 853273.377 0, 1448270.059 853246.984 0, 1447988.951 853220.608 0, 1447707.843 853194.249 0, 1447426.732 853167.906 0, 1447145.62 853141.579 0, 1446864.507 853115.269 0, 1446582.103 853088.856 0, 1446062.989 858640.747 0,
+ 1445543.857 864192.837 0, 1445825.604 864219.189 0, 1446106.064 864245.438 0, 1446386.522 864271.703 0, 1446666.979 864297.985 0, 1446947.434 864324.283 0, 1447227.888 864350.597 0, 1447508.34 864376.929 0, 1447788.791 864403.276 0, 1448069.24 864429.641 0,
+ 1448349.687 864456.021 0, 1448630.133 864482.419 0, 1448910.578 864508.832 0, 1449191.021 864535.262 0, 1449471.462 864561.709 0, 1449751.902 864588.172 0, 1450032.34 864614.652 0, 1450312.776 864641.148 0, 1450593.211 864667.661 0, 1450873.645 864694.191 0,
+ 1451154.077 864720.736 0, 1451434.507 864747.299 0, 1451714.936 864773.877 0, 1451995.363 864800.473 0, 1452274.504 864826.963 0, 1452556.213 864853.713 0, 1452836.635 864880.358 0, 1453117.056 864907.019 0, 1453397.476 864933.697 0, 1453677.894 864960.391 0,
+ 1453958.31 864987.102 0, 1454238.725 865013.829 0, 1454519.138 865040.573 0, 1454799.549 865067.333 0, 1455079.959 865094.11 0, 1455360.367 865120.904 0, 1455640.774 865147.713 0, 1455921.179 865174.54 0, 1456201.583 865201.383 0, 1456481.985 865228.242 0,
+ 1456762.386 865255.118 0, 1457042.785 865282.01 0, 1457323.182 865308.919 0, 1457603.578 865335.845 0, 1457883.972 865362.787 0, 1458164.364 865389.745 0, 1458444.755 865416.72 0, 1458725.145 865443.711 0, 1459004.249 865470.595 0, 1459539.065 859919.994 0,
+ 1460073.862 854369.592 0))
+
+POLYGON ((1472460.978 866786.377 0, 1472181.948 866758.704 0, 1471901.636 866730.921 0, 1471621.323 866703.154 0, 1471341.007 866675.403 0, 1471060.69 866647.669 0, 1470780.372 866619.952 0, 1470500.052 866592.251 0, 1470219.73 866564.567 0, 1469939.406 866536.899 0,
+ 1469659.081 866509.247 0, 1469378.755 866481.612 0, 1469098.426 866453.994 0, 1468818.096 866426.392 0, 1468537.765 866398.806 0, 1468257.432 866371.237 0, 1467977.097 866343.685 0, 1467696.76 866316.149 0, 1467416.422 866288.63 0, 1467136.083 866261.127 0,
+ 1466855.741 866233.64 0, 1466575.399 866206.17 0, 1466295.054 866178.717 0, 1466014.708 866151.28 0, 1465733.078 866123.734 0, 1465454.011 866096.455 0, 1465173.66 866069.068 0, 1464893.307 866041.697 0, 1464612.953 866014.343 0, 1464332.597 865987.005 0,
+ 1464052.24 865959.683 0, 1463771.881 865932.378 0, 1463491.52 865905.09 0, 1463211.158 865877.818 0, 1462930.794 865850.562 0, 1462650.429 865823.324 0, 1462370.062 865796.101 0, 1462089.693 865768.895 0, 1461809.323 865741.706 0, 1461528.951 865714.533 0,
+ 1461248.577 865687.376 0, 1460968.202 865660.236 0, 1460687.826 865633.113 0, 1460407.448 865606.006 0, 1460127.068 865578.916 0, 1459846.686 865551.842 0, 1459566.303 865524.784 0, 1459285.919 865497.744 0, 1459004.249 865470.595 0, 1458469.414 871021.391 0,
+ 1457934.561 876572.378 0, 1458215.574 876599.463 0, 1458495.305 876626.441 0, 1458775.035 876653.436 0, 1459054.763 876680.446 0, 1459334.489 876707.474 0, 1459614.214 876734.517 0, 1459893.937 876761.578 0, 1460173.659 876788.654 0, 1460453.379 876815.747 0,
+ 1460733.098 876842.857 0, 1461012.814 876869.983 0, 1461292.53 876897.126 0, 1461572.243 876924.285 0, 1461851.955 876951.46 0, 1462131.666 876978.652 0, 1462411.375 877005.86 0, 1462691.082 877033.085 0, 1462970.788 877060.326 0, 1463250.492 877087.584 0,
+ 1463530.194 877114.859 0, 1463809.895 877142.149 0, 1464089.594 877169.456 0, 1464369.292 877196.78 0, 1464647.709 877223.995 0, 1464928.682 877251.477 0, 1465208.375 877278.85 0, 1465488.066 877306.239 0, 1465767.756 877333.645 0, 1466047.444 877361.067 0,
+ 1466327.13 877388.506 0, 1466606.815 877415.962 0, 1466886.498 877443.433 0, 1467166.18 877470.922 0, 1467445.859 877498.426 0, 1467725.538 877525.947 0, 1468005.214 877553.485 0, 1468284.889 877581.039 0, 1468564.563 877608.61 0, 1468844.235 877636.197 0,
+ 1469123.905 877663.8 0, 1469403.573 877691.42 0, 1469683.24 877719.057 0, 1469962.905 877746.709 0, 1470242.569 877774.379 0, 1470522.231 877802.065 0, 1470801.891 877829.767 0, 1471081.55 877857.485 0, 1471359.929 877885.094 0, 1471910.463 872335.64 0,
+ 1472460.978 866786.377 0))
+
+POLYGON ((1484781.535 879235.733 0, 1484503.233 879207.338 0, 1484223.654 879178.829 0, 1483944.073 879150.337 0, 1483664.49 879121.861 0, 1483384.906 879093.402 0, 1483105.32 879064.959 0, 1482825.732 879036.533 0, 1482546.143 879008.123 0, 1482266.552 878979.729 0,
+ 1481986.959 878951.352 0, 1481707.365 878922.992 0, 1481427.769 878894.648 0, 1481148.171 878866.32 0, 1480868.571 878838.009 0, 1480588.97 878809.714 0, 1480309.368 878781.436 0, 1480029.763 878753.174 0, 1479750.157 878724.929 0, 1479470.55 878696.7 0,
+ 1479190.94 878668.487 0, 1478911.329 878640.291 0, 1478631.716 878612.112 0, 1478352.102 878583.949 0, 1478071.209 878555.674 0, 1477792.868 878527.672 0, 1477513.249 878499.558 0, 1477233.628 878471.461 0, 1476954.005 878443.38 0, 1476674.381 878415.316 0,
+ 1476394.755 878387.268 0, 1476115.128 878359.237 0, 1475835.498 878331.222 0, 1475555.868 878303.223 0, 1475276.235 878275.241 0, 1474996.601 878247.275 0, 1474716.965 878219.326 0, 1474437.328 878191.394 0, 1474157.688 878163.477 0, 1473878.048 878135.578 0,
+ 1473598.405 878107.694 0, 1473318.761 878079.828 0, 1473039.116 878051.977 0, 1472759.468 878024.143 0, 1472479.819 877996.326 0, 1472200.169 877968.525 0, 1471920.517 877940.74 0, 1471640.863 877912.972 0, 1471359.929 877885.094 0, 1470809.377 883434.735 0,
+ 1470258.807 888984.56 0, 1470539.084 889012.373 0, 1470818.084 889040.076 0, 1471097.083 889067.796 0, 1471376.081 889095.532 0, 1471655.076 889123.285 0, 1471934.07 889151.053 0, 1472213.063 889178.839 0, 1472492.053 889206.641 0, 1472771.043 889234.459 0,
+ 1473050.03 889262.293 0, 1473329.016 889290.144 0, 1473608 889318.012 0, 1473886.983 889345.896 0, 1474165.964 889373.796 0, 1474444.943 889401.712 0, 1474723.921 889429.646 0, 1475002.897 889457.595 0, 1475281.871 889485.561 0, 1475560.844 889513.543 0,
+ 1475839.815 889541.542 0, 1476118.784 889569.557 0, 1476397.752 889597.589 0, 1476676.718 889625.637 0, 1476954.409 889653.573 0, 1477234.645 889681.782 0, 1477513.606 889709.88 0, 1477792.566 889737.993 0, 1478071.524 889766.123 0, 1478350.48 889794.27 0,
+ 1478629.434 889822.433 0, 1478908.387 889850.612 0, 1479187.339 889878.808 0, 1479466.288 889907.02 0, 1479745.236 889935.249 0, 1480024.182 889963.494 0, 1480303.127 889991.756 0, 1480582.07 890020.033 0, 1480861.011 890048.328 0, 1481139.951 890076.638 0,
+ 1481418.888 890104.966 0, 1481697.825 890133.309 0, 1481976.759 890161.669 0, 1482255.692 890190.046 0, 1482534.623 890218.438 0, 1482813.553 890246.848 0, 1483092.481 890275.273 0, 1483371.407 890303.715 0, 1483649.059 890332.044 0, 1484215.307 884783.797 0,
+ 1484781.535 879235.733 0))
+
+POLYGON ((1497035.451 891717.353 0, 1496757.878 891688.239 0, 1496479.034 891659.009 0, 1496200.187 891629.796 0, 1495921.339 891600.599 0, 1495642.489 891571.418 0, 1495363.637 891542.254 0, 1495084.784 891513.106 0, 1494805.929 891483.974 0, 1494527.072 891454.859 0,
+ 1494248.214 891425.76 0, 1493969.354 891396.678 0, 1493690.492 891367.612 0, 1493411.628 891338.563 0, 1493132.763 891309.53 0, 1492853.896 891280.513 0, 1492575.027 891251.513 0, 1492296.156 891222.529 0, 1492017.284 891193.562 0, 1491738.41 891164.611 0,
+ 1491459.535 891135.676 0, 1491180.658 891106.758 0, 1490901.779 891077.857 0, 1490622.898 891048.971 0, 1490342.744 891019.971 0, 1490065.132 890991.25 0, 1489786.246 890962.414 0, 1489507.358 890933.594 0, 1489228.469 890904.791 0, 1488949.578 890876.004 0,
+ 1488670.686 890847.234 0, 1488391.792 890818.48 0, 1488112.896 890789.742 0, 1487833.998 890761.021 0, 1487555.099 890732.316 0, 1487276.198 890703.628 0, 1486997.295 890674.956 0, 1486718.391 890646.301 0, 1486439.485 890617.662 0, 1486160.577 890589.039 0,
+ 1485881.667 890560.433 0, 1485602.756 890531.843 0, 1485323.844 890503.27 0, 1485044.929 890474.713 0, 1484766.013 890446.172 0, 1484487.095 890417.648 0, 1484208.176 890389.14 0, 1483929.254 890360.649 0, 1483649.059 890332.044 0, 1483082.793 895880.471 0,
+ 1482516.509 901429.074 0, 1482796.049 901457.612 0, 1483074.317 901486.037 0, 1483352.583 901514.478 0, 1483630.848 901542.935 0, 1483909.111 901571.409 0, 1484187.372 901599.899 0, 1484465.632 901628.405 0, 1484743.89 901656.928 0, 1485022.146 901685.467 0,
+ 1485300.401 901714.023 0, 1485578.654 901742.595 0, 1485856.905 901771.183 0, 1486135.154 901799.788 0, 1486413.402 901828.409 0, 1486691.649 901857.047 0, 1486969.893 901885.701 0, 1487248.136 901914.371 0, 1487526.377 901943.058 0, 1487804.617 901971.761 0,
+ 1488082.854 902000.48 0, 1488361.09 902029.216 0, 1488639.325 902057.968 0, 1488917.557 902086.737 0, 1489194.52 902115.39 0, 1489474.018 902144.323 0, 1489752.245 902173.14 0, 1490030.471 902201.974 0, 1490308.696 902230.825 0, 1490586.918 902259.692 0,
+ 1490865.139 902288.575 0, 1491143.358 902317.474 0, 1491421.575 902346.39 0, 1491699.791 902375.323 0, 1491978.005 902404.271 0, 1492256.217 902433.236 0, 1492534.428 902462.218 0, 1492812.637 902491.215 0, 1493090.844 902520.23 0, 1493369.05 902549.26 0,
+ 1493647.253 902578.307 0, 1493925.455 902607.37 0, 1494203.656 902636.45 0, 1494481.854 902665.546 0, 1494760.051 902694.658 0, 1495038.247 902723.787 0, 1495316.44 902752.932 0, 1495594.632 902782.094 0, 1495871.555 902811.139 0, 1496453.512 897264.158 0,
+ 1497035.451 891717.353 0))
+
+POLYGON ((1509222.643 904230.928 0, 1508945.801 904201.101 0, 1508667.692 904171.154 0, 1508389.582 904141.223 0, 1508111.471 904111.308 0, 1507833.357 904081.41 0, 1507555.242 904051.528 0, 1507277.125 904021.662 0, 1506999.006 903991.813 0, 1506720.885 903961.98 0,
+ 1506442.763 903932.164 0, 1506164.639 903902.364 0, 1505886.513 903872.58 0, 1505608.385 903842.813 0, 1505330.256 903813.062 0, 1505052.125 903783.328 0, 1504773.992 903753.609 0, 1504495.857 903723.908 0, 1504217.721 903694.222 0, 1503939.583 903664.553 0,
+ 1503661.443 903634.9 0, 1503383.301 903605.264 0, 1503105.158 903575.644 0, 1502827.013 903546.041 0, 1502547.6 903516.319 0, 1502270.717 903486.882 0, 1501992.567 903457.328 0, 1501714.415 903427.79 0, 1501436.261 903398.268 0, 1501158.106 903368.763 0,
+ 1500879.948 903339.274 0, 1500601.789 903309.801 0, 1500323.629 903280.345 0, 1500045.466 903250.905 0, 1499767.302 903221.482 0, 1499489.136 903192.074 0, 1499210.968 903162.684 0, 1498932.799 903133.309 0, 1498654.628 903103.951 0, 1498376.455 903074.61 0,
+ 1498098.281 903045.284 0, 1497820.104 903015.976 0, 1497541.926 902986.683 0, 1497263.747 902957.407 0, 1496985.565 902928.147 0, 1496707.382 902898.904 0, 1496429.197 902869.677 0, 1496151.01 902840.466 0, 1495871.555 902811.139 0, 1495289.58 908358.292 0,
+ 1494707.586 913905.614 0, 1494986.386 913934.872 0, 1495263.919 913964.014 0, 1495541.451 913993.173 0, 1495818.981 914022.348 0, 1496096.51 914051.539 0, 1496374.037 914080.746 0, 1496651.562 914109.97 0, 1496929.085 914139.21 0, 1497206.607 914168.466 0,
+ 1497484.127 914197.739 0, 1497761.645 914227.028 0, 1498039.161 914256.334 0, 1498316.676 914285.655 0, 1498594.189 914314.994 0, 1498871.7 914344.348 0, 1499149.21 914373.719 0, 1499426.717 914403.106 0, 1499704.224 914432.509 0, 1499981.728 914461.929 0,
+ 1500259.231 914491.365 0, 1500536.731 914520.818 0, 1500814.231 914550.286 0, 1501091.728 914579.771 0, 1501367.961 914609.139 0, 1501646.718 914638.791 0, 1501924.21 914668.325 0, 1502201.7 914697.875 0, 1502479.189 914727.442 0, 1502756.676 914757.025 0,
+ 1503034.161 914786.624 0, 1503311.645 914816.24 0, 1503589.126 914845.872 0, 1503866.606 914875.521 0, 1504144.085 914905.185 0, 1504421.561 914934.866 0, 1504699.036 914964.564 0, 1504976.509 914994.278 0, 1505253.98 915024.008 0, 1505531.45 915053.754 0,
+ 1505808.917 915083.517 0, 1506086.383 915113.296 0, 1506363.848 915143.091 0, 1506641.31 915172.903 0, 1506918.771 915202.731 0, 1507196.23 915232.576 0, 1507473.687 915262.436 0, 1507751.143 915292.313 0, 1508027.335 915322.071 0, 1508624.998 909776.415 0,
+ 1509222.643 904230.928 0))
+
+POLYGON ((1000000 464850.777 0, 999697.504 464850.785 0, 999393.537 464850.812 0, 999089.571 464850.857 0, 998785.604 464850.919 0, 998481.637 464851 0, 998177.671 464851.098 0, 997873.704 464851.214 0, 997569.737 464851.348 0, 997265.771 464851.5 0,
+ 996961.804 464851.67 0, 996657.837 464851.858 0, 996353.871 464852.064 0, 996049.904 464852.287 0, 995745.938 464852.529 0, 995441.971 464852.788 0, 995138.004 464853.065 0, 994834.038 464853.36 0, 994530.071 464853.673 0, 994226.105 464854.004 0,
+ 993922.138 464854.353 0, 993618.172 464854.72 0, 993314.205 464855.104 0, 993010.239 464855.507 0, 992704.801 464855.929 0, 992402.306 464856.365 0, 992098.34 464856.821 0, 991794.374 464857.295 0, 991490.407 464857.787 0, 991186.441 464858.297 0,
+ 990882.475 464858.825 0, 990578.509 464859.37 0, 990274.542 464859.934 0, 989970.576 464860.515 0, 989666.61 464861.115 0, 989362.644 464861.732 0, 989058.678 464862.367 0, 988754.712 464863.02 0, 988450.746 464863.691 0, 988146.78 464864.379 0,
+ 987842.814 464865.086 0, 987538.848 464865.81 0, 987234.883 464866.553 0, 986930.917 464867.313 0, 986626.951 464868.091 0, 986322.986 464868.887 0, 986019.02 464869.701 0, 985715.054 464870.533 0, 985409.616 464871.387 0, 985425.311 470426.643 0,
+ 985441.006 475982.319 0, 985745.788 475981.467 0, 986049.099 475980.637 0, 986352.411 475979.825 0, 986655.723 475979.031 0, 986959.034 475978.254 0, 987262.346 475977.496 0, 987565.658 475976.755 0, 987868.97 475976.032 0, 988172.282 475975.327 0,
+ 988475.594 475974.64 0, 988778.906 475973.97 0, 989082.218 475973.319 0, 989385.53 475972.685 0, 989688.842 475972.069 0, 989992.154 475971.471 0, 990295.466 475970.891 0, 990598.778 475970.329 0, 990902.091 475969.784 0, 991205.403 475969.258 0,
+ 991508.715 475968.749 0, 991812.028 475968.258 0, 992115.34 475967.785 0, 992418.652 475967.33 0, 992720.496 475966.895 0, 993025.277 475966.473 0, 993328.59 475966.072 0, 993631.902 475965.688 0, 993935.215 475965.322 0, 994238.527 475964.974 0,
+ 994541.84 475964.644 0, 994845.152 475964.332 0, 995148.465 475964.037 0, 995451.777 475963.761 0, 995755.09 475963.502 0, 996058.403 475963.261 0, 996361.715 475963.038 0, 996665.028 475962.833 0, 996968.341 475962.645 0, 997271.653 475962.476 0,
+ 997574.966 475962.324 0, 997878.279 475962.19 0, 998181.591 475962.074 0, 998484.904 475961.976 0, 998788.217 475961.896 0, 999091.529 475961.834 0, 999394.842 475961.789 0, 999698.155 475961.762 0, 1000000 475961.753 0, 1000000 470406.055 0,
+ 1000000 464850.777 0))
+
+POLYGON ((1014558.994 475982.319 0, 1014257.147 475981.475 0, 1013953.836 475980.645 0, 1013650.524 475979.833 0, 1013347.212 475979.038 0, 1013043.901 475978.262 0, 1012740.589 475977.503 0, 1012437.277 475976.762 0, 1012133.965 475976.039 0, 1011830.653 475975.334 0,
+ 1011527.341 475974.646 0, 1011224.029 475973.977 0, 1010920.717 475973.325 0, 1010617.405 475972.691 0, 1010314.093 475972.075 0, 1010010.781 475971.477 0, 1009707.469 475970.897 0, 1009404.157 475970.334 0, 1009100.844 475969.79 0, 1008797.532 475969.263 0,
+ 1008494.22 475968.754 0, 1008190.908 475968.263 0, 1007887.595 475967.79 0, 1007584.283 475967.334 0, 1007279.504 475966.895 0, 1006977.658 475966.477 0, 1006674.346 475966.076 0, 1006371.033 475965.692 0, 1006067.721 475965.326 0, 1005764.408 475964.977 0,
+ 1005461.096 475964.647 0, 1005157.783 475964.335 0, 1004854.47 475964.04 0, 1004551.158 475963.763 0, 1004247.845 475963.504 0, 1003944.533 475963.263 0, 1003641.22 475963.04 0, 1003337.907 475962.834 0, 1003034.595 475962.647 0, 1002731.282 475962.477 0,
+ 1002427.969 475962.325 0, 1002124.657 475962.191 0, 1001821.344 475962.075 0, 1001518.031 475961.977 0, 1001214.718 475961.897 0, 1000911.406 475961.834 0, 1000608.093 475961.789 0, 1000304.78 475961.762 0, 1000000 475961.753 0, 1000000 481517.87 0,
+ 1000000 487074.401 0, 1000304.123 487074.41 0, 1000606.782 487074.436 0, 1000909.44 487074.481 0, 1001212.099 487074.543 0, 1001514.758 487074.624 0, 1001817.416 487074.722 0, 1002120.075 487074.838 0, 1002422.734 487074.971 0, 1002725.392 487075.123 0,
+ 1003028.051 487075.292 0, 1003330.709 487075.479 0, 1003633.368 487075.684 0, 1003936.026 487075.907 0, 1004238.685 487076.148 0, 1004541.344 487076.406 0, 1004844.002 487076.682 0, 1005146.661 487076.976 0, 1005449.319 487077.288 0, 1005751.978 487077.618 0,
+ 1006054.636 487077.965 0, 1006357.294 487078.33 0, 1006659.953 487078.713 0, 1006962.611 487079.114 0, 1007263.806 487079.531 0, 1007567.928 487079.97 0, 1007870.586 487080.424 0, 1008173.245 487080.896 0, 1008475.903 487081.386 0, 1008778.561 487081.894 0,
+ 1009081.219 487082.419 0, 1009383.877 487082.963 0, 1009686.536 487083.524 0, 1009989.194 487084.103 0, 1010291.852 487084.7 0, 1010594.51 487085.315 0, 1010897.168 487085.947 0, 1011199.826 487086.597 0, 1011502.484 487087.265 0, 1011805.141 487087.951 0,
+ 1012107.799 487088.655 0, 1012410.457 487089.377 0, 1012713.115 487090.116 0, 1013015.773 487090.873 0, 1013318.43 487091.648 0, 1013621.088 487092.441 0, 1013923.745 487093.252 0, 1014226.403 487094.08 0, 1014527.598 487094.922 0, 1014543.297 481538.414 0,
+ 1014558.994 475982.319 0))
+
+POLYGON ((1029055.081 487156.487 0, 1028753.887 487154.794 0, 1028451.233 487153.11 0, 1028148.579 487151.445 0, 1027845.924 487149.797 0, 1027543.27 487148.167 0, 1027240.616 487146.554 0, 1026937.961 487144.96 0, 1026635.307 487143.383 0, 1026332.652 487141.825 0,
+ 1026029.997 487140.284 0, 1025727.343 487138.76 0, 1025424.688 487137.255 0, 1025122.033 487135.768 0, 1024819.378 487134.298 0, 1024516.722 487132.846 0, 1024214.067 487131.412 0, 1023911.412 487129.996 0, 1023608.756 487128.597 0, 1023306.101 487127.216 0,
+ 1023003.445 487125.854 0, 1022700.79 487124.509 0, 1022398.134 487123.181 0, 1022095.478 487121.872 0, 1021791.361 487120.574 0, 1021490.166 487119.307 0, 1021187.51 487118.051 0, 1020884.854 487116.812 0, 1020582.198 487115.592 0, 1020279.542 487114.39 0,
+ 1019976.885 487113.205 0, 1019674.229 487112.038 0, 1019371.572 487110.889 0, 1019068.916 487109.758 0, 1018766.259 487108.644 0, 1018463.603 487107.549 0, 1018160.946 487106.471 0, 1017858.289 487105.411 0, 1017555.632 487104.369 0, 1017252.975 487103.344 0,
+ 1016950.318 487102.338 0, 1016647.661 487101.349 0, 1016345.004 487100.378 0, 1016042.347 487099.425 0, 1015739.69 487098.489 0, 1015437.032 487097.572 0, 1015134.375 487096.672 0, 1014831.718 487095.79 0, 1014527.598 487094.922 0, 1014511.899 492651.842 0,
+ 1014496.198 498209.171 0, 1014799.661 498210.037 0, 1015101.664 498210.917 0, 1015403.667 498211.815 0, 1015705.67 498212.731 0, 1016007.673 498213.664 0, 1016309.676 498214.615 0, 1016611.679 498215.584 0, 1016913.682 498216.57 0, 1017215.685 498217.575 0,
+ 1017517.687 498218.597 0, 1017819.69 498219.637 0, 1018121.693 498220.695 0, 1018423.695 498221.77 0, 1018725.698 498222.863 0, 1019027.7 498223.974 0, 1019329.703 498225.103 0, 1019631.705 498226.25 0, 1019933.707 498227.414 0, 1020235.709 498228.596 0,
+ 1020537.712 498229.796 0, 1020839.714 498231.014 0, 1021141.716 498232.249 0, 1021443.717 498233.503 0, 1021744.261 498234.767 0, 1022047.721 498236.062 0, 1022349.723 498237.369 0, 1022651.724 498238.693 0, 1022953.726 498240.035 0, 1023255.727 498241.395 0,
+ 1023557.728 498242.773 0, 1023859.73 498244.169 0, 1024161.731 498245.582 0, 1024463.732 498247.013 0, 1024765.733 498248.462 0, 1025067.734 498249.928 0, 1025369.735 498251.412 0, 1025671.736 498252.914 0, 1025973.736 498254.434 0, 1026275.737 498255.972 0,
+ 1026577.737 498257.527 0, 1026879.738 498259.101 0, 1027181.738 498260.692 0, 1027483.738 498262.3 0, 1027785.738 498263.927 0, 1028087.738 498265.571 0, 1028389.738 498267.233 0, 1028691.738 498268.913 0, 1028992.281 498270.603 0, 1029023.682 492713.34 0,
+ 1029055.081 487156.487 0))
+
+POLYGON ((1043488.132 498372.988 0, 1043187.593 498370.449 0, 1042885.599 498367.916 0, 1042583.605 498365.401 0, 1042281.611 498362.904 0, 1041979.617 498360.424 0, 1041677.622 498357.962 0, 1041375.628 498355.518 0, 1041073.633 498353.091 0, 1040771.638 498350.683 0,
+ 1040469.643 498348.292 0, 1040167.648 498345.919 0, 1039865.652 498343.563 0, 1039563.657 498341.226 0, 1039261.661 498338.906 0, 1038959.666 498336.604 0, 1038657.67 498334.32 0, 1038355.674 498332.054 0, 1038053.678 498329.805 0, 1037751.682 498327.574 0,
+ 1037449.685 498325.361 0, 1037147.689 498323.166 0, 1036845.692 498320.988 0, 1036543.695 498318.828 0, 1036240.243 498316.676 0, 1035939.701 498314.562 0, 1035637.704 498312.456 0, 1035335.707 498310.367 0, 1035033.71 498308.296 0, 1034731.712 498306.243 0,
+ 1034429.714 498304.208 0, 1034127.717 498302.19 0, 1033825.719 498300.19 0, 1033523.721 498298.208 0, 1033221.723 498296.244 0, 1032919.725 498294.297 0, 1032617.726 498292.369 0, 1032315.728 498290.458 0, 1032013.729 498288.565 0, 1031711.731 498286.689 0,
+ 1031409.732 498284.832 0, 1031107.733 498282.992 0, 1030805.734 498281.17 0, 1030503.735 498279.365 0, 1030201.736 498277.579 0, 1029899.736 498275.81 0, 1029597.737 498274.059 0, 1029295.737 498272.326 0, 1028992.281 498270.603 0, 1028960.878 503828.27 0,
+ 1028929.472 509386.34 0, 1029232.271 509388.06 0, 1029533.617 509389.789 0, 1029834.962 509391.536 0, 1030136.307 509393.301 0, 1030437.652 509395.084 0, 1030738.997 509396.884 0, 1031040.341 509398.702 0, 1031341.686 509400.538 0, 1031643.03 509402.392 0,
+ 1031944.375 509404.263 0, 1032245.719 509406.152 0, 1032547.063 509408.059 0, 1032848.407 509409.983 0, 1033149.751 509411.926 0, 1033451.095 509413.886 0, 1033752.439 509415.863 0, 1034053.783 509417.859 0, 1034355.126 509419.872 0, 1034656.469 509421.903 0,
+ 1034957.813 509423.952 0, 1035259.156 509426.018 0, 1035560.499 509428.102 0, 1035861.842 509430.204 0, 1036161.732 509432.313 0, 1036464.527 509434.461 0, 1036765.87 509436.616 0, 1037067.212 509438.789 0, 1037368.554 509440.98 0, 1037669.897 509443.188 0,
+ 1037971.239 509445.414 0, 1038272.58 509447.658 0, 1038573.922 509449.919 0, 1038875.264 509452.198 0, 1039176.605 509454.495 0, 1039477.947 509456.81 0, 1039779.288 509459.143 0, 1040080.629 509461.493 0, 1040381.97 509463.861 0, 1040683.311 509466.246 0,
+ 1040984.651 509468.65 0, 1041285.992 509471.071 0, 1041587.332 509473.51 0, 1041888.672 509475.966 0, 1042190.012 509478.441 0, 1042491.352 509480.933 0, 1042792.692 509483.443 0, 1043094.032 509485.97 0, 1043393.92 509488.503 0, 1043441.028 503930.544 0,
+ 1043488.132 498372.988 0))
+
+POLYGON ((1057858.021 509631.531 0, 1057558.139 509628.151 0, 1057256.808 509624.772 0, 1056955.476 509621.411 0, 1056654.145 509618.067 0, 1056352.813 509614.742 0, 1056051.481 509611.434 0, 1055750.148 509608.144 0, 1055448.816 509604.871 0, 1055147.483 509601.616 0,
+ 1054846.15 509598.379 0, 1054544.817 509595.16 0, 1054243.484 509591.959 0, 1053942.151 509588.775 0, 1053640.817 509585.609 0, 1053339.483 509582.46 0, 1053038.149 509579.33 0, 1052736.815 509576.217 0, 1052435.481 509573.122 0, 1052134.146 509570.044 0,
+ 1051832.812 509566.985 0, 1051531.477 509563.943 0, 1051230.142 509560.919 0, 1050928.806 509557.912 0, 1050626.021 509554.909 0, 1050326.136 509551.953 0, 1050024.8 509548.999 0, 1049723.464 509546.064 0, 1049422.128 509543.146 0, 1049120.791 509540.246 0,
+ 1048819.455 509537.364 0, 1048518.118 509534.499 0, 1048216.782 509531.652 0, 1047915.445 509528.823 0, 1047614.108 509526.012 0, 1047312.77 509523.218 0, 1047011.433 509520.443 0, 1046710.095 509517.684 0, 1046408.757 509514.944 0, 1046107.42 509512.221 0,
+ 1045806.081 509509.516 0, 1045504.743 509506.829 0, 1045203.405 509504.16 0, 1044902.066 509501.508 0, 1044600.728 509498.874 0, 1044299.389 509496.258 0, 1043998.05 509493.659 0, 1043696.71 509491.079 0, 1043393.92 509488.503 0, 1043346.809 515046.861 0,
+ 1043299.694 520605.616 0, 1043601.827 520608.185 0, 1043902.512 520610.761 0, 1044203.197 520613.353 0, 1044503.881 520615.964 0, 1044804.565 520618.592 0, 1045105.25 520621.238 0, 1045405.934 520623.902 0, 1045706.618 520626.583 0, 1046007.301 520629.282 0,
+ 1046307.985 520631.999 0, 1046608.669 520634.733 0, 1046909.352 520637.486 0, 1047210.035 520640.255 0, 1047510.718 520643.043 0, 1047811.401 520645.848 0, 1048112.083 520648.671 0, 1048412.766 520651.512 0, 1048713.448 520654.37 0, 1049014.13 520657.246 0,
+ 1049314.812 520660.14 0, 1049615.494 520663.051 0, 1049916.175 520665.98 0, 1050216.857 520668.927 0, 1050516.091 520671.877 0, 1050818.219 520674.874 0, 1051118.9 520677.874 0, 1051419.581 520680.891 0, 1051720.261 520683.927 0, 1052020.942 520686.98 0,
+ 1052321.622 520690.05 0, 1052622.302 520693.139 0, 1052922.982 520696.245 0, 1053223.661 520699.369 0, 1053524.341 520702.51 0, 1053825.02 520705.669 0, 1054125.699 520708.846 0, 1054426.378 520712.041 0, 1054727.057 520715.253 0, 1055027.735 520718.483 0,
+ 1055328.414 520721.731 0, 1055629.092 520724.996 0, 1055929.77 520728.279 0, 1056230.448 520731.58 0, 1056531.125 520734.898 0, 1056831.803 520738.235 0, 1057132.48 520741.588 0, 1057433.157 520744.96 0, 1057732.388 520748.333 0, 1057795.207 515189.734 0,
+ 1057858.021 509631.531 0))
+
+POLYGON ((1072164.621 520931.825 0, 1071865.398 520927.606 0, 1071564.732 520923.385 0, 1071264.065 520919.182 0, 1070963.399 520914.996 0, 1070662.732 520910.828 0, 1070362.064 520906.678 0, 1070061.397 520902.546 0, 1069760.729 520898.431 0, 1069460.061 520894.334 0,
+ 1069159.393 520890.254 0, 1068858.725 520886.193 0, 1068558.056 520882.149 0, 1068257.387 520878.122 0, 1067956.718 520874.114 0, 1067656.048 520870.123 0, 1067355.379 520866.149 0, 1067054.709 520862.194 0, 1066754.039 520858.256 0, 1066453.369 520854.336 0,
+ 1066152.698 520850.433 0, 1065852.027 520846.549 0, 1065551.356 520842.681 0, 1065250.685 520838.832 0, 1064948.569 520834.982 0, 1064649.342 520831.186 0, 1064348.67 520827.39 0, 1064047.998 520823.612 0, 1063747.325 520819.851 0, 1063446.653 520816.107 0,
+ 1063145.98 520812.382 0, 1062845.307 520808.674 0, 1062544.634 520804.984 0, 1062243.96 520801.312 0, 1061943.287 520797.657 0, 1061642.613 520794.02 0, 1061341.939 520790.401 0, 1061041.264 520786.799 0, 1060740.59 520783.215 0, 1060439.915 520779.649 0,
+ 1060139.24 520776.1 0, 1059838.565 520772.57 0, 1059537.89 520769.056 0, 1059237.214 520765.561 0, 1058936.539 520762.083 0, 1058635.863 520758.623 0, 1058335.186 520755.181 0, 1058034.51 520751.756 0, 1057732.388 520748.333 0, 1057669.564 526307.325 0,
+ 1057606.737 531866.707 0, 1057908.201 531870.123 0, 1058208.223 531873.54 0, 1058508.245 531876.975 0, 1058808.267 531880.427 0, 1059108.288 531883.897 0, 1059408.309 531887.385 0, 1059708.33 531890.891 0, 1060008.351 531894.414 0, 1060308.371 531897.955 0,
+ 1060608.392 531901.513 0, 1060908.412 531905.089 0, 1061208.432 531908.683 0, 1061508.451 531912.294 0, 1061808.471 531915.924 0, 1062108.49 531919.57 0, 1062408.509 531923.235 0, 1062708.528 531926.917 0, 1063008.547 531930.616 0, 1063308.565 531934.334 0,
+ 1063608.583 531938.069 0, 1063908.601 531941.822 0, 1064208.619 531945.592 0, 1064508.636 531949.38 0, 1064807.212 531953.167 0, 1065108.671 531957.009 0, 1065408.688 531960.85 0, 1065708.704 531964.709 0, 1066008.72 531968.585 0, 1066308.737 531972.479 0,
+ 1066608.753 531976.391 0, 1066908.768 531980.32 0, 1067208.784 531984.267 0, 1067508.799 531988.231 0, 1067808.814 531992.214 0, 1068108.829 531996.214 0, 1068408.843 532000.231 0, 1068708.858 532004.266 0, 1069008.872 532008.319 0, 1069308.885 532012.39 0,
+ 1069608.899 532016.478 0, 1069908.912 532020.584 0, 1070208.925 532024.707 0, 1070508.938 532028.849 0, 1070808.951 532033.008 0, 1071108.963 532037.184 0, 1071408.975 532041.378 0, 1071708.987 532045.59 0, 1072007.559 532049.799 0, 1072086.093 526490.617 0,
+ 1072164.621 520931.825 0))
+
+POLYGON ((1086407.806 532273.576 0, 1086109.245 532268.523 0, 1085809.246 532263.464 0, 1085509.247 532258.422 0, 1085209.248 532253.398 0, 1084909.248 532248.391 0, 1084609.248 532243.403 0, 1084309.248 532238.431 0, 1084009.248 532233.478 0, 1083709.247 532228.542 0,
+ 1083409.246 532223.624 0, 1083109.244 532218.724 0, 1082809.243 532213.841 0, 1082509.241 532208.976 0, 1082209.238 532204.128 0, 1081909.236 532199.298 0, 1081609.233 532194.486 0, 1081309.23 532189.692 0, 1081009.227 532184.915 0, 1080709.223 532180.156 0,
+ 1080409.219 532175.414 0, 1080109.215 532170.69 0, 1079809.21 532165.984 0, 1079509.205 532161.295 0, 1079207.761 532156.602 0, 1078909.195 532151.971 0, 1078609.189 532147.335 0, 1078309.183 532142.717 0, 1078009.177 532138.117 0, 1077709.171 532133.535 0,
+ 1077409.164 532128.97 0, 1077109.157 532124.422 0, 1076809.15 532119.893 0, 1076509.142 532115.381 0, 1076209.135 532110.886 0, 1075909.127 532106.41 0, 1075609.118 532101.951 0, 1075309.11 532097.509 0, 1075009.101 532093.085 0, 1074709.092 532088.679 0,
+ 1074409.083 532084.291 0, 1074109.073 532079.92 0, 1073809.063 532075.567 0, 1073509.053 532071.232 0, 1073209.043 532066.914 0, 1072909.032 532062.614 0, 1072609.021 532058.331 0, 1072309.01 532054.067 0, 1072007.559 532049.799 0, 1071929.019 537609.368 0,
+ 1071850.475 543169.321 0, 1072151.269 543173.579 0, 1072450.625 543177.835 0, 1072749.982 543182.108 0, 1073049.338 543186.398 0, 1073348.694 543190.707 0, 1073648.049 543195.033 0, 1073947.405 543199.376 0, 1074246.76 543203.738 0, 1074546.115 543208.116 0,
+ 1074845.469 543212.513 0, 1075144.824 543216.927 0, 1075444.178 543221.359 0, 1075743.531 543225.808 0, 1076042.885 543230.275 0, 1076342.238 543234.759 0, 1076641.591 543239.261 0, 1076940.944 543243.781 0, 1077240.297 543248.319 0, 1077539.649 543252.874 0,
+ 1077839.001 543257.446 0, 1078138.353 543262.037 0, 1078437.704 543266.644 0, 1078737.055 543271.27 0, 1079034.97 543275.891 0, 1079335.757 543280.574 0, 1079635.107 543285.252 0, 1079934.457 543289.948 0, 1080233.807 543294.662 0, 1080533.156 543299.393 0,
+ 1080832.505 543304.142 0, 1081131.854 543308.908 0, 1081431.203 543313.692 0, 1081730.551 543318.494 0, 1082029.9 543323.313 0, 1082329.247 543328.15 0, 1082628.595 543333.005 0, 1082927.942 543337.877 0, 1083227.289 543342.767 0, 1083526.636 543347.674 0,
+ 1083825.982 543352.599 0, 1084125.328 543357.542 0, 1084424.674 543362.502 0, 1084724.019 543367.48 0, 1085023.365 543372.475 0, 1085322.71 543377.489 0, 1085622.054 543382.519 0, 1085921.399 543387.568 0, 1086219.308 543392.609 0, 1086313.56 537832.901 0,
+ 1086407.806 532273.576 0))
+
+POLYGON ((1100587.453 543656.491 0, 1100289.557 543650.608 0, 1099990.228 543644.714 0, 1099690.899 543638.837 0, 1099391.569 543632.979 0, 1099092.239 543627.138 0, 1098792.909 543621.314 0, 1098493.578 543615.508 0, 1098194.247 543609.72 0, 1097894.916 543603.949 0,
+ 1097595.585 543598.196 0, 1097296.253 543592.46 0, 1096996.92 543586.743 0, 1096697.588 543581.042 0, 1096398.255 543575.36 0, 1096098.922 543569.695 0, 1095799.588 543564.047 0, 1095500.254 543558.418 0, 1095200.92 543552.805 0, 1094901.585 543547.211 0,
+ 1094602.25 543541.634 0, 1094302.915 543536.075 0, 1094003.579 543530.533 0, 1093704.243 543525.009 0, 1093403.474 543519.476 0, 1093105.571 543514.014 0, 1092806.234 543508.542 0, 1092506.896 543503.089 0, 1092207.559 543497.653 0, 1091908.221 543492.235 0,
+ 1091608.883 543486.834 0, 1091309.544 543481.451 0, 1091010.206 543476.085 0, 1090710.866 543470.737 0, 1090411.527 543465.407 0, 1090112.187 543460.095 0, 1089812.847 543454.799 0, 1089513.507 543449.522 0, 1089214.166 543444.262 0, 1088914.825 543439.02 0,
+ 1088615.484 543433.796 0, 1088316.142 543428.589 0, 1088016.8 543423.399 0, 1087717.458 543418.228 0, 1087418.116 543413.074 0, 1087118.773 543407.937 0, 1086819.43 543402.818 0, 1086520.086 543397.717 0, 1086219.308 543392.609 0, 1086125.049 548952.698 0,
+ 1086030.784 554513.165 0, 1086330.905 554518.262 0, 1086629.594 554523.352 0, 1086928.282 554528.459 0, 1087226.971 554533.585 0, 1087525.659 554538.727 0, 1087824.346 554543.888 0, 1088123.034 554549.066 0, 1088421.721 554554.261 0, 1088720.407 554559.474 0,
+ 1089019.094 554564.705 0, 1089317.78 554569.953 0, 1089616.466 554575.219 0, 1089915.151 554580.503 0, 1090213.837 554585.804 0, 1090512.522 554591.122 0, 1090811.206 554596.458 0, 1091109.89 554601.812 0, 1091408.574 554607.184 0, 1091707.258 554612.572 0,
+ 1092005.941 554617.979 0, 1092304.624 554623.403 0, 1092603.307 554628.845 0, 1092901.989 554634.304 0, 1093199.241 554639.754 0, 1093499.353 554645.275 0, 1093798.035 554650.787 0, 1094096.716 554656.317 0, 1094395.396 554661.864 0, 1094694.077 554667.429 0,
+ 1094992.757 554673.011 0, 1095291.437 554678.611 0, 1095590.116 554684.228 0, 1095888.795 554689.863 0, 1096187.474 554695.516 0, 1096486.153 554701.186 0, 1096784.831 554706.874 0, 1097083.508 554712.579 0, 1097382.186 554718.302 0, 1097680.863 554724.043 0,
+ 1097979.54 554729.801 0, 1098278.216 554735.576 0, 1098576.892 554741.37 0, 1098875.568 554747.18 0, 1099174.243 554753.009 0, 1099472.918 554758.855 0, 1099771.593 554764.718 0, 1100070.267 554770.6 0, 1100367.512 554776.47 0, 1100477.487 549216.292 0,
+ 1100587.453 543656.491 0))
+
+POLYGON ((1114703.44 555080.278 0, 1114406.21 555073.568 0, 1114107.554 555066.843 0, 1113808.897 555060.135 0, 1113510.239 555053.445 0, 1113211.582 555046.773 0, 1112912.923 555040.119 0, 1112614.265 555033.482 0, 1112315.606 555026.862 0, 1112016.947 555020.26 0,
+ 1111718.287 555013.676 0, 1111419.627 555007.109 0, 1111120.966 555000.56 0, 1110822.306 554994.029 0, 1110523.644 554987.515 0, 1110224.983 554981.018 0, 1109926.321 554974.539 0, 1109627.658 554968.078 0, 1109328.996 554961.634 0, 1109030.332 554955.208 0,
+ 1108731.669 554948.8 0, 1108433.005 554942.409 0, 1108134.341 554936.035 0, 1107835.676 554929.68 0, 1107535.583 554923.311 0, 1107238.346 554917.021 0, 1106939.68 554910.718 0, 1106641.014 554904.432 0, 1106342.347 554898.164 0, 1106043.681 554891.914 0,
+ 1105745.013 554885.681 0, 1105446.346 554879.466 0, 1105147.678 554873.269 0, 1104849.009 554867.089 0, 1104550.341 554860.926 0, 1104251.672 554854.781 0, 1103953.002 554848.654 0, 1103654.332 554842.544 0, 1103355.662 554836.452 0, 1103056.992 554830.378 0,
+ 1102758.321 554824.321 0, 1102459.65 554818.282 0, 1102160.978 554812.26 0, 1101862.306 554806.256 0, 1101563.634 554800.269 0, 1101264.961 554794.3 0, 1100966.288 554788.348 0, 1100667.615 554782.415 0, 1100367.512 554776.47 0, 1100257.531 560337.022 0,
+ 1100147.542 565897.946 0, 1100446.987 565903.877 0, 1100745.006 565909.798 0, 1101043.024 565915.736 0, 1101341.042 565921.692 0, 1101639.06 565927.666 0, 1101937.077 565933.657 0, 1102235.094 565939.666 0, 1102533.111 565945.692 0, 1102831.127 565951.735 0,
+ 1103129.143 565957.797 0, 1103427.159 565963.875 0, 1103725.174 565969.972 0, 1104023.189 565976.085 0, 1104321.203 565982.217 0, 1104619.217 565988.366 0, 1104917.231 565994.532 0, 1105215.244 566000.716 0, 1105513.257 566006.918 0, 1105811.27 566013.137 0,
+ 1106109.282 566019.373 0, 1106407.294 566025.627 0, 1106705.306 566031.899 0, 1107003.317 566038.188 0, 1107299.903 566044.465 0, 1107599.338 566050.819 0, 1107897.348 566057.161 0, 1108195.358 566063.521 0, 1108493.367 566069.898 0, 1108791.376 566076.292 0,
+ 1109089.385 566082.704 0, 1109387.393 566089.134 0, 1109685.401 566095.581 0, 1109983.408 566102.045 0, 1110281.415 566108.528 0, 1110579.422 566115.027 0, 1110877.428 566121.545 0, 1111175.434 566128.079 0, 1111473.44 566134.632 0, 1111771.445 566141.202 0,
+ 1112069.45 566147.789 0, 1112367.454 566154.394 0, 1112665.458 566161.016 0, 1112963.462 566167.656 0, 1113261.465 566174.314 0, 1113559.468 566180.989 0, 1113857.47 566187.682 0, 1114155.472 566194.392 0, 1114452.05 566201.088 0, 1114577.749 560640.497 0,
+ 1114703.44 555080.278 0))
+
+POLYGON ((1128755.644 566544.641 0, 1128459.084 566537.108 0, 1128161.102 566529.556 0, 1127863.12 566522.021 0, 1127565.137 566514.504 0, 1127267.154 566507.005 0, 1126969.17 566499.523 0, 1126671.186 566492.058 0, 1126373.202 566484.611 0, 1126075.217 566477.182 0,
+ 1125777.231 566469.77 0, 1125479.246 566462.376 0, 1125181.259 566454.999 0, 1124883.273 566447.64 0, 1124585.286 566440.299 0, 1124287.298 566432.975 0, 1123989.31 566425.668 0, 1123691.322 566418.379 0, 1123393.333 566411.108 0, 1123095.344 566403.854 0,
+ 1122797.354 566396.617 0, 1122499.364 566389.399 0, 1122201.373 566382.197 0, 1121903.382 566375.013 0, 1121603.969 566367.813 0, 1121307.399 566360.699 0, 1121009.407 566353.567 0, 1120711.414 566346.454 0, 1120413.421 566339.358 0, 1120115.428 566332.279 0,
+ 1119817.434 566325.218 0, 1119519.439 566318.175 0, 1119221.445 566311.149 0, 1118923.45 566304.141 0, 1118625.454 566297.15 0, 1118327.458 566290.176 0, 1118029.462 566283.221 0, 1117731.465 566276.282 0, 1117433.468 566269.362 0, 1117135.47 566262.459 0,
+ 1116837.472 566255.573 0, 1116539.474 566248.705 0, 1116241.475 566241.854 0, 1115943.476 566235.022 0, 1115645.476 566228.206 0, 1115347.476 566221.408 0, 1115049.476 566214.628 0, 1114751.475 566207.865 0, 1114452.05 566201.088 0, 1114326.343 571762.046 0,
+ 1114200.627 577323.369 0, 1114499.394 577330.131 0, 1114796.74 577336.879 0, 1115094.086 577343.645 0, 1115391.432 577350.428 0, 1115688.777 577357.228 0, 1115986.121 577364.046 0, 1116283.465 577370.882 0, 1116580.809 577377.735 0, 1116878.152 577384.605 0,
+ 1117175.495 577391.493 0, 1117472.838 577398.398 0, 1117770.18 577405.321 0, 1118067.522 577412.262 0, 1118364.863 577419.22 0, 1118662.204 577426.195 0, 1118959.545 577433.188 0, 1119256.885 577440.199 0, 1119554.224 577447.227 0, 1119851.564 577454.272 0,
+ 1120148.903 577461.335 0, 1120446.241 577468.416 0, 1120743.579 577475.514 0, 1121040.917 577482.629 0, 1121336.835 577489.728 0, 1121635.591 577496.913 0, 1121932.927 577504.081 0, 1122230.263 577511.266 0, 1122527.598 577518.469 0, 1122824.934 577525.69 0,
+ 1123122.268 577532.928 0, 1123419.602 577540.183 0, 1123716.936 577547.456 0, 1124014.27 577554.746 0, 1124311.603 577562.054 0, 1124608.935 577569.38 0, 1124906.267 577576.723 0, 1125203.599 577584.083 0, 1125500.93 577591.461 0, 1125798.261 577598.857 0,
+ 1126095.591 577606.27 0, 1126392.921 577613.7 0, 1126690.251 577621.148 0, 1126987.58 577628.614 0, 1127284.908 577636.097 0, 1127582.236 577643.597 0, 1127879.564 577651.115 0, 1128176.891 577658.651 0, 1128472.8 577666.168 0, 1128614.227 572105.222 0,
+ 1128755.644 566544.641 0))
+
+POLYGON ((1142743.948 578049.287 0, 1142448.059 578040.934 0, 1142150.754 578032.558 0, 1141853.449 578024.2 0, 1141556.143 578015.86 0, 1141258.837 578007.537 0, 1140961.53 577999.231 0, 1140664.223 577990.943 0, 1140366.915 577982.673 0, 1140069.607 577974.42 0,
+ 1139772.298 577966.185 0, 1139474.989 577957.967 0, 1139177.679 577949.766 0, 1138880.369 577941.583 0, 1138583.058 577933.418 0, 1138285.747 577925.27 0, 1137988.436 577917.139 0, 1137691.124 577909.026 0, 1137393.811 577900.931 0, 1137096.498 577892.853 0,
+ 1136799.185 577884.792 0, 1136501.871 577876.749 0, 1136204.556 577868.724 0, 1135907.241 577860.716 0, 1135608.509 577852.687 0, 1135312.61 577844.752 0, 1135015.294 577836.797 0, 1134717.977 577828.859 0, 1134420.66 577820.938 0, 1134123.342 577813.035 0,
+ 1133826.024 577805.15 0, 1133528.705 577797.282 0, 1133231.386 577789.432 0, 1132934.066 577781.599 0, 1132636.746 577773.783 0, 1132339.426 577765.985 0, 1132042.105 577758.205 0, 1131744.784 577750.442 0, 1131447.462 577742.696 0, 1131150.139 577734.968 0,
+ 1130852.817 577727.258 0, 1130555.493 577719.565 0, 1130258.17 577711.889 0, 1129960.846 577704.231 0, 1129663.521 577696.591 0, 1129366.196 577688.968 0, 1129068.87 577681.362 0, 1128771.544 577673.774 0, 1128472.8 577666.168 0, 1128331.364 583227.475 0,
+ 1128189.919 588789.14 0, 1128488.006 588796.73 0, 1128784.677 588804.301 0, 1129081.348 588811.89 0, 1129378.018 588819.496 0, 1129674.688 588827.12 0, 1129971.357 588834.761 0, 1130268.026 588842.419 0, 1130564.695 588850.096 0, 1130861.363 588857.789 0,
+ 1131158.031 588865.5 0, 1131454.698 588873.228 0, 1131751.365 588880.974 0, 1132048.031 588888.738 0, 1132344.697 588896.518 0, 1132641.362 588904.317 0, 1132938.027 588912.132 0, 1133234.692 588919.966 0, 1133531.356 588927.816 0, 1133828.019 588935.684 0,
+ 1134124.682 588943.57 0, 1134421.345 588951.473 0, 1134718.007 588959.394 0, 1135014.669 588967.332 0, 1135309.916 588975.249 0, 1135607.991 588983.26 0, 1135904.651 588991.25 0, 1136201.311 588999.258 0, 1136497.97 589007.283 0, 1136794.629 589015.326 0,
+ 1137091.287 589023.386 0, 1137387.945 589031.464 0, 1137684.602 589039.559 0, 1137981.259 589047.672 0, 1138277.916 589055.802 0, 1138574.572 589063.949 0, 1138871.227 589072.114 0, 1139167.882 589080.296 0, 1139464.537 589088.496 0, 1139761.191 589096.714 0,
+ 1140057.845 589104.948 0, 1140354.498 589113.201 0, 1140651.15 589121.47 0, 1140947.802 589129.758 0, 1141244.454 589138.062 0, 1141541.105 589146.384 0, 1141837.756 589154.724 0, 1142134.406 589163.081 0, 1142429.643 589171.415 0, 1142586.8 583610.172 0,
+ 1142743.948 578049.287 0))
+
+POLYGON ((1156668.231 589593.919 0, 1156373.016 589584.75 0, 1156076.39 589575.555 0, 1155779.765 589566.378 0, 1155483.138 589557.218 0, 1155186.511 589548.075 0, 1154889.884 589538.95 0, 1154593.256 589529.842 0, 1154296.627 589520.752 0, 1153999.998 589511.679 0,
+ 1153703.368 589502.623 0, 1153406.738 589493.585 0, 1153110.107 589484.565 0, 1152813.476 589475.562 0, 1152516.844 589466.576 0, 1152220.212 589457.608 0, 1151923.579 589448.658 0, 1151626.946 589439.724 0, 1151330.312 589430.809 0, 1151033.677 589421.91 0,
+ 1150737.042 589413.03 0, 1150440.407 589404.166 0, 1150143.771 589395.32 0, 1149847.134 589386.492 0, 1149549.086 589377.639 0, 1149253.86 589368.887 0, 1148957.222 589360.111 0, 1148660.583 589351.353 0, 1148363.944 589342.612 0, 1148067.304 589333.888 0,
+ 1147770.664 589325.182 0, 1147474.024 589316.493 0, 1147177.383 589307.822 0, 1146880.741 589299.168 0, 1146584.099 589290.531 0, 1146287.456 589281.912 0, 1145990.813 589273.311 0, 1145694.169 589264.727 0, 1145397.525 589256.16 0, 1145100.88 589247.611 0,
+ 1144804.235 589239.08 0, 1144507.59 589230.566 0, 1144210.943 589222.069 0, 1143914.297 589213.59 0, 1143617.649 589205.128 0, 1143321.002 589196.684 0, 1143024.354 589188.257 0, 1142727.705 589179.847 0, 1142429.643 589171.415 0, 1142272.476 594733.014 0,
+ 1142115.299 600294.964 0, 1142412.703 600303.378 0, 1142708.697 600311.768 0, 1143004.69 600320.177 0, 1143300.683 600328.602 0, 1143596.675 600337.046 0, 1143892.667 600345.506 0, 1144188.659 600353.984 0, 1144484.65 600362.479 0, 1144780.64 600370.992 0,
+ 1145076.63 600379.522 0, 1145372.62 600388.07 0, 1145668.609 600396.635 0, 1145964.597 600405.218 0, 1146260.585 600413.817 0, 1146556.573 600422.435 0, 1146852.56 600431.069 0, 1147148.546 600439.722 0, 1147444.532 600448.391 0, 1147740.518 600457.078 0,
+ 1148036.503 600465.783 0, 1148332.487 600474.505 0, 1148628.471 600483.244 0, 1148924.454 600492 0, 1149219.029 600500.733 0, 1149516.419 600509.566 0, 1149812.401 600518.375 0, 1150108.383 600527.201 0, 1150404.363 600536.045 0, 1150700.344 600544.906 0,
+ 1150996.323 600553.785 0, 1151292.303 600562.681 0, 1151588.281 600571.595 0, 1151884.259 600580.525 0, 1152180.237 600589.474 0, 1152476.214 600598.44 0, 1152772.191 600607.423 0, 1153068.167 600616.423 0, 1153364.142 600625.441 0, 1153660.117 600634.477 0,
+ 1153956.092 600643.53 0, 1154252.066 600652.6 0, 1154548.039 600661.687 0, 1154844.012 600670.793 0, 1155139.984 600679.915 0, 1155435.956 600689.055 0, 1155731.927 600698.212 0, 1156027.898 600707.387 0, 1156322.461 600716.536 0, 1156495.351 595155.052 0,
+ 1156668.231 589593.919 0))
+
+POLYGON ((1170528.376 601178.243 0, 1170233.838 601168.262 0, 1169937.894 601158.251 0, 1169641.95 601148.258 0, 1169346.005 601138.282 0, 1169050.06 601128.323 0, 1168754.114 601118.382 0, 1168458.167 601108.458 0, 1168162.22 601098.552 0, 1167866.272 601088.663 0,
+ 1167570.324 601078.791 0, 1167274.375 601068.937 0, 1166978.426 601059.1 0, 1166682.476 601049.281 0, 1166386.525 601039.479 0, 1166090.574 601029.695 0, 1165794.622 601019.928 0, 1165498.67 601010.178 0, 1165202.717 601000.446 0, 1164906.763 600990.731 0,
+ 1164610.809 600981.034 0, 1164314.855 600971.354 0, 1164018.9 600961.691 0, 1163722.944 600952.046 0, 1163425.582 600942.373 0, 1163131.031 600932.808 0, 1162835.073 600923.215 0, 1162539.115 600913.64 0, 1162243.157 600904.082 0, 1161947.197 600894.541 0,
+ 1161651.238 600885.018 0, 1161355.277 600875.512 0, 1161059.317 600866.024 0, 1160763.355 600856.553 0, 1160467.393 600847.099 0, 1160171.431 600837.663 0, 1159875.468 600828.245 0, 1159579.504 600818.843 0, 1159283.54 600809.459 0, 1158987.575 600800.093 0,
+ 1158691.61 600790.744 0, 1158395.644 600781.413 0, 1158099.678 600772.098 0, 1157803.711 600762.802 0, 1157507.744 600753.522 0, 1157211.776 600744.26 0, 1156915.807 600735.016 0, 1156619.838 600725.789 0, 1156322.461 600716.536 0, 1156149.56 606278.368 0,
+ 1155976.649 611840.546 0, 1156273.367 611849.779 0, 1156568.682 611858.986 0, 1156863.996 611868.21 0, 1157159.309 611877.451 0, 1157454.622 611886.71 0, 1157749.934 611895.986 0, 1158045.245 611905.28 0, 1158340.556 611914.591 0, 1158635.867 611923.919 0,
+ 1158931.177 611933.265 0, 1159226.486 611942.628 0, 1159521.795 611952.008 0, 1159817.104 611961.406 0, 1160112.411 611970.821 0, 1160407.719 611980.254 0, 1160703.025 611989.704 0, 1160998.331 611999.171 0, 1161293.637 612008.656 0, 1161588.942 612018.158 0,
+ 1161884.246 612027.677 0, 1162179.55 612037.214 0, 1162474.854 612046.769 0, 1162770.156 612056.34 0, 1163064.056 612065.884 0, 1163360.76 612075.536 0, 1163656.061 612085.159 0, 1163951.362 612094.8 0, 1164246.662 612104.459 0, 1164541.961 612114.135 0,
+ 1164837.26 612123.828 0, 1165132.558 612133.539 0, 1165427.855 612143.267 0, 1165723.153 612153.012 0, 1166018.449 612162.775 0, 1166313.745 612172.555 0, 1166609.04 612182.353 0, 1166904.335 612192.168 0, 1167199.629 612202 0, 1167494.923 612211.85 0,
+ 1167790.216 612221.717 0, 1168085.508 612231.602 0, 1168380.8 612241.504 0, 1168676.091 612251.423 0, 1168971.382 612261.359 0, 1169266.672 612271.313 0, 1169561.962 612281.285 0, 1169857.251 612291.274 0, 1170151.137 612301.232 0, 1170339.763 606739.565 0,
+ 1170528.376 601178.243 0))
+
+POLYGON ((1184324.268 612801.962 0, 1184030.408 612791.173 0, 1183735.149 612780.35 0, 1183439.889 612769.544 0, 1183144.628 612758.756 0, 1182849.367 612747.985 0, 1182554.104 612737.232 0, 1182258.842 612726.496 0, 1181963.578 612715.777 0, 1181668.314 612705.076 0,
+ 1181373.05 612694.392 0, 1181077.785 612683.725 0, 1180782.519 612673.076 0, 1180487.252 612662.444 0, 1180191.985 612651.83 0, 1179896.717 612641.233 0, 1179601.449 612630.653 0, 1179306.18 612620.091 0, 1179010.911 612609.546 0, 1178715.64 612599.018 0,
+ 1178420.37 612588.508 0, 1178125.098 612578.015 0, 1177829.826 612567.54 0, 1177534.553 612557.082 0, 1177237.88 612546.592 0, 1176944.006 612536.218 0, 1176648.732 612525.812 0, 1176353.456 612515.424 0, 1176058.181 612505.053 0, 1175762.904 612494.699 0,
+ 1175467.627 612484.362 0, 1175172.35 612474.043 0, 1174877.072 612463.742 0, 1174581.793 612453.458 0, 1174286.513 612443.191 0, 1173991.233 612432.941 0, 1173695.953 612422.709 0, 1173400.672 612412.495 0, 1173105.39 612402.297 0, 1172810.107 612392.117 0,
+ 1172514.824 612381.955 0, 1172219.541 612371.809 0, 1171924.257 612361.682 0, 1171628.972 612351.571 0, 1171333.686 612341.478 0, 1171038.4 612331.403 0, 1170743.114 612321.344 0, 1170447.827 612311.303 0, 1170151.137 612301.232 0, 1169962.501 617863.242 0,
+ 1169773.853 623425.59 0, 1170069.884 623435.638 0, 1170364.516 623445.657 0, 1170659.148 623455.693 0, 1170953.779 623465.746 0, 1171248.41 623475.817 0, 1171543.04 623485.905 0, 1171837.669 623496.01 0, 1172132.298 623506.133 0, 1172426.927 623516.273 0,
+ 1172721.554 623526.43 0, 1173016.181 623536.605 0, 1173310.808 623546.797 0, 1173605.434 623557.007 0, 1173900.059 623567.233 0, 1174194.684 623577.477 0, 1174489.308 623587.739 0, 1174783.931 623598.018 0, 1175078.554 623608.314 0, 1175373.176 623618.627 0,
+ 1175667.798 623628.958 0, 1175962.419 623639.306 0, 1176257.039 623649.672 0, 1176551.659 623660.054 0, 1176844.881 623670.405 0, 1177140.897 623680.872 0, 1177435.515 623691.307 0, 1177730.132 623701.759 0, 1178024.749 623712.229 0, 1178319.365 623722.715 0,
+ 1178613.98 623733.22 0, 1178908.595 623743.741 0, 1179203.209 623754.28 0, 1179497.823 623764.836 0, 1179792.436 623775.41 0, 1180087.049 623786.001 0, 1180381.66 623796.609 0, 1180676.271 623807.235 0, 1180970.882 623817.877 0, 1181265.492 623828.538 0,
+ 1181560.101 623839.215 0, 1181854.71 623849.91 0, 1182149.318 623860.622 0, 1182443.925 623871.352 0, 1182738.532 623882.099 0, 1183033.138 623892.863 0, 1183327.743 623903.645 0, 1183622.348 623914.444 0, 1183915.556 623925.209 0, 1184119.919 618363.416 0,
+ 1184324.268 612801.962 0))
+
+POLYGON ((1198055.792 624464.779 0, 1197762.614 624453.186 0, 1197468.04 624441.555 0, 1197173.467 624429.941 0, 1196878.892 624418.344 0, 1196584.317 624406.765 0, 1196289.741 624395.203 0, 1195995.164 624383.658 0, 1195700.587 624372.131 0, 1195406.009 624360.621 0,
+ 1195111.431 624349.129 0, 1194816.851 624337.654 0, 1194522.271 624326.196 0, 1194227.691 624314.755 0, 1193933.11 624303.332 0, 1193638.528 624291.926 0, 1193343.945 624280.538 0, 1193049.362 624269.166 0, 1192754.778 624257.813 0, 1192460.193 624246.476 0,
+ 1192165.608 624235.157 0, 1191871.022 624223.855 0, 1191576.435 624212.571 0, 1191281.848 624201.304 0, 1190985.865 624190.001 0, 1190692.671 624178.821 0, 1190398.082 624167.606 0, 1190103.492 624156.408 0, 1189808.901 624145.228 0, 1189514.31 624134.065 0,
+ 1189219.718 624122.919 0, 1188925.126 624111.791 0, 1188630.532 624100.68 0, 1188335.938 624089.586 0, 1188041.344 624078.509 0, 1187746.749 624067.45 0, 1187452.153 624056.409 0, 1187157.556 624045.384 0, 1186862.959 624034.377 0, 1186568.361 624023.387 0,
+ 1186273.763 624012.415 0, 1185979.164 624001.46 0, 1185684.564 623990.522 0, 1185389.964 623979.602 0, 1185095.363 623968.699 0, 1184800.761 623957.813 0, 1184506.159 623946.945 0, 1184211.556 623936.094 0, 1183915.556 623925.209 0, 1183711.182 629487.337 0,
+ 1183506.795 635049.798 0, 1183802.137 635060.659 0, 1184096.085 635071.486 0, 1184390.033 635082.33 0, 1184683.98 635093.191 0, 1184977.926 635104.07 0, 1185271.871 635114.966 0, 1185565.816 635125.88 0, 1185859.761 635136.81 0, 1186153.704 635147.758 0,
+ 1186447.647 635158.723 0, 1186741.59 635169.706 0, 1187035.532 635180.706 0, 1187329.473 635191.723 0, 1187623.413 635202.758 0, 1187917.353 635213.809 0, 1188211.292 635224.879 0, 1188505.23 635235.965 0, 1188799.168 635247.069 0, 1189093.105 635258.19 0,
+ 1189387.042 635269.328 0, 1189680.978 635280.483 0, 1189974.913 635291.656 0, 1190268.848 635302.847 0, 1190561.39 635314.001 0, 1190856.715 635325.279 0, 1191150.647 635336.521 0, 1191444.579 635347.78 0, 1191738.51 635359.057 0, 1192032.441 635370.351 0,
+ 1192326.371 635381.662 0, 1192620.3 635392.991 0, 1192914.229 635404.337 0, 1193208.157 635415.7 0, 1193502.084 635427.081 0, 1193796.011 635438.478 0, 1194089.936 635449.893 0, 1194383.862 635461.326 0, 1194677.786 635472.776 0, 1194971.71 635484.243 0,
+ 1195265.633 635495.727 0, 1195559.556 635507.228 0, 1195853.478 635518.747 0, 1196147.399 635530.284 0, 1196441.319 635541.837 0, 1196735.239 635553.408 0, 1197029.158 635564.996 0, 1197323.077 635576.601 0, 1197615.604 635588.169 0, 1197835.705 630026.308 0,
+ 1198055.792 624464.779 0))
+
+POLYGON ((1211722.835 636166.398 0, 1211430.34 636154.004 0, 1211136.455 636141.568 0, 1210842.57 636129.149 0, 1210548.684 636116.748 0, 1210254.797 636104.365 0, 1209960.91 636091.998 0, 1209667.022 636079.649 0, 1209373.133 636067.317 0, 1209079.243 636055.002 0,
+ 1208785.353 636042.705 0, 1208491.462 636030.425 0, 1208197.57 636018.162 0, 1207903.678 636005.917 0, 1207609.785 635993.688 0, 1207315.891 635981.478 0, 1207021.996 635969.284 0, 1206728.101 635957.108 0, 1206434.205 635944.949 0, 1206140.308 635932.807 0,
+ 1205846.41 635920.683 0, 1205552.512 635908.576 0, 1205258.613 635896.486 0, 1204964.714 635884.414 0, 1204669.424 635872.301 0, 1204376.912 635860.321 0, 1204083.01 635848.3 0, 1203789.108 635836.297 0, 1203495.205 635824.311 0, 1203201.301 635812.342 0,
+ 1202907.396 635800.391 0, 1202613.491 635788.457 0, 1202319.585 635776.54 0, 1202025.678 635764.64 0, 1201731.771 635752.758 0, 1201437.863 635740.893 0, 1201143.954 635729.046 0, 1200850.045 635717.215 0, 1200556.134 635705.402 0, 1200262.223 635693.607 0,
+ 1199968.312 635681.828 0, 1199674.4 635670.067 0, 1199380.487 635658.323 0, 1199086.573 635646.597 0, 1198792.659 635634.888 0, 1198498.744 635623.196 0, 1198204.828 635611.521 0, 1197910.912 635599.864 0, 1197615.604 635588.169 0, 1197395.49 641150.359 0,
+ 1197175.364 646712.874 0, 1197470.013 646724.543 0, 1197763.275 646736.174 0, 1198056.536 646747.823 0, 1198349.796 646759.489 0, 1198643.056 646771.172 0, 1198936.314 646782.872 0, 1199229.573 646794.59 0, 1199522.83 646806.325 0, 1199816.087 646818.077 0,
+ 1200109.343 646829.846 0, 1200402.598 646841.633 0, 1200695.853 646853.437 0, 1200989.107 646865.258 0, 1201282.361 646877.097 0, 1201575.613 646888.952 0, 1201868.865 646900.825 0, 1202162.116 646912.716 0, 1202455.367 646924.623 0, 1202748.617 646936.548 0,
+ 1203041.866 646948.49 0, 1203335.114 646960.449 0, 1203628.362 646972.426 0, 1203921.609 646984.419 0, 1204213.469 646996.374 0, 1204508.101 647008.459 0, 1204801.346 647020.504 0, 1205094.59 647032.567 0, 1205387.834 647044.647 0, 1205681.076 647056.745 0,
+ 1205974.318 647068.859 0, 1206267.56 647080.991 0, 1206560.8 647093.14 0, 1206854.04 647105.307 0, 1207147.279 647117.49 0, 1207440.518 647129.691 0, 1207733.756 647141.909 0, 1208026.993 647154.145 0, 1208320.229 647166.397 0, 1208613.465 647178.667 0,
+ 1208906.699 647190.955 0, 1209199.934 647203.259 0, 1209493.167 647215.581 0, 1209786.4 647227.92 0, 1210079.632 647240.276 0, 1210372.863 647252.65 0, 1210666.093 647265.04 0, 1210959.323 647277.448 0, 1211251.167 647289.815 0, 1211487.008 641727.944 0,
+ 1211722.835 636166.398 0))
+
+POLYGON ((1225325.285 647906.52 0, 1225033.475 647893.329 0, 1224740.281 647880.092 0, 1224447.087 647866.873 0, 1224153.892 647853.671 0, 1223860.696 647840.487 0, 1223567.499 647827.319 0, 1223274.302 647814.169 0, 1222981.104 647801.036 0, 1222687.905 647787.921 0,
+ 1222394.705 647774.822 0, 1222101.504 647761.741 0, 1221808.303 647748.678 0, 1221515.101 647735.631 0, 1221221.898 647722.602 0, 1220928.694 647709.59 0, 1220635.49 647696.595 0, 1220342.285 647683.617 0, 1220049.079 647670.657 0, 1219755.872 647657.714 0,
+ 1219462.665 647644.788 0, 1219169.457 647631.88 0, 1218876.248 647618.988 0, 1218583.038 647606.114 0, 1218288.444 647593.197 0, 1217996.617 647580.418 0, 1217703.405 647567.596 0, 1217410.192 647554.791 0, 1217116.978 647542.003 0, 1216823.764 647529.233 0,
+ 1216530.549 647516.48 0, 1216237.333 647503.744 0, 1215944.117 647491.025 0, 1215650.9 647478.324 0, 1215357.682 647465.64 0, 1215064.463 647452.973 0, 1214771.244 647440.323 0, 1214478.023 647427.691 0, 1214184.802 647415.076 0, 1213891.581 647402.478 0,
+ 1213598.358 647389.897 0, 1213305.135 647377.334 0, 1213011.911 647364.788 0, 1212718.687 647352.259 0, 1212425.461 647339.747 0, 1212132.235 647327.253 0, 1211839.008 647314.776 0, 1211545.781 647302.316 0, 1211251.167 647289.815 0, 1211015.313 652852.008 0,
+ 1210779.445 658414.521 0, 1211073.4 658426.994 0, 1211365.973 658439.426 0, 1211658.545 658451.875 0, 1211951.116 658464.342 0, 1212243.687 658476.825 0, 1212536.257 658489.326 0, 1212828.826 658501.844 0, 1213121.394 658514.379 0, 1213413.962 658526.932 0,
+ 1213706.529 658539.502 0, 1213999.095 658552.089 0, 1214291.661 658564.693 0, 1214584.225 658577.314 0, 1214876.789 658589.953 0, 1215169.352 658602.609 0, 1215461.915 658615.282 0, 1215754.477 658627.972 0, 1216047.038 658640.68 0, 1216339.598 658653.404 0,
+ 1216632.157 658666.146 0, 1216924.716 658678.905 0, 1217217.274 658691.682 0, 1217509.831 658704.475 0, 1217801.007 658717.226 0, 1218094.943 658730.114 0, 1218387.498 658742.959 0, 1218680.053 658755.822 0, 1218972.606 658768.701 0, 1219265.159 658781.598 0,
+ 1219557.711 658794.512 0, 1219850.262 658807.444 0, 1220142.812 658820.392 0, 1220435.362 658833.358 0, 1220727.911 658846.341 0, 1221020.459 658859.341 0, 1221313.006 658872.359 0, 1221605.553 658885.393 0, 1221898.099 658898.445 0, 1222190.644 658911.514 0,
+ 1222483.188 658924.601 0, 1222775.731 658937.704 0, 1223068.274 658950.825 0, 1223360.816 658963.963 0, 1223653.357 658977.118 0, 1223945.898 658990.291 0, 1224238.437 659003.48 0, 1224530.976 659016.687 0, 1224822.135 659029.849 0, 1225073.717 653468.025 0,
+ 1225325.285 647906.52 0))
+
+POLYGON ((1238863.031 659684.847 0, 1238571.908 659670.863 0, 1238279.408 659656.83 0, 1237986.907 659642.814 0, 1237694.404 659628.815 0, 1237401.902 659614.833 0, 1237109.398 659600.869 0, 1236816.893 659586.922 0, 1236524.388 659572.992 0, 1236231.882 659559.079 0,
+ 1235939.375 659545.183 0, 1235646.867 659531.305 0, 1235354.359 659517.444 0, 1235061.849 659503.6 0, 1234769.339 659489.774 0, 1234476.828 659475.964 0, 1234184.316 659462.172 0, 1233891.804 659448.397 0, 1233599.29 659434.639 0, 1233306.776 659420.898 0,
+ 1233014.261 659407.175 0, 1232721.745 659393.469 0, 1232429.228 659379.78 0, 1232136.711 659366.108 0, 1231842.814 659352.389 0, 1231551.673 659338.817 0, 1231259.153 659325.196 0, 1230966.633 659311.594 0, 1230674.111 659298.008 0, 1230381.589 659284.44 0,
+ 1230089.066 659270.888 0, 1229796.542 659257.354 0, 1229504.017 659243.838 0, 1229211.492 659230.338 0, 1228918.965 659216.856 0, 1228626.438 659203.391 0, 1228333.91 659189.943 0, 1228041.382 659176.512 0, 1227748.852 659163.099 0, 1227456.322 659149.702 0,
+ 1227163.791 659136.323 0, 1226871.259 659122.962 0, 1226578.726 659109.617 0, 1226286.193 659096.29 0, 1225993.659 659082.979 0, 1225701.124 659069.687 0, 1225408.588 659056.411 0, 1225116.052 659043.152 0, 1224822.135 659029.849 0, 1224570.538 664591.988 0,
+ 1224318.928 670154.44 0, 1224612.187 670167.713 0, 1224904.068 670180.942 0, 1225195.949 670194.188 0, 1225487.829 670207.451 0, 1225779.709 670220.732 0, 1226071.587 670234.029 0, 1226363.465 670247.344 0, 1226655.342 670260.676 0, 1226947.219 670274.025 0,
+ 1227239.094 670287.391 0, 1227530.969 670300.775 0, 1227822.843 670314.175 0, 1228114.716 670327.593 0, 1228406.588 670341.028 0, 1228698.46 670354.48 0, 1228990.331 670367.95 0, 1229282.201 670381.436 0, 1229574.07 670394.94 0, 1229865.938 670408.461 0,
+ 1230157.806 670421.999 0, 1230449.672 670435.554 0, 1230741.538 670449.126 0, 1231033.404 670462.716 0, 1231323.893 670476.258 0, 1231617.132 670489.947 0, 1231908.994 670503.588 0, 1232200.856 670517.246 0, 1232492.717 670530.921 0, 1232784.578 670544.614 0,
+ 1233076.437 670558.324 0, 1233368.296 670572.051 0, 1233660.154 670585.795 0, 1233952.011 670599.556 0, 1234243.868 670613.335 0, 1234535.723 670627.131 0, 1234827.578 670640.944 0, 1235119.432 670654.774 0, 1235411.285 670668.621 0, 1235703.137 670682.485 0,
+ 1235994.988 670696.367 0, 1236286.839 670710.266 0, 1236578.689 670724.182 0, 1236870.538 670738.115 0, 1237162.386 670752.065 0, 1237454.233 670766.033 0, 1237746.08 670780.017 0, 1238037.926 670794.019 0, 1238328.396 670807.972 0, 1238595.721 665246.254 0,
+ 1238863.031 659684.847 0))
+
+POLYGON ((1252335.963 671501.081 0, 1252045.53 671486.308 0, 1251753.725 671471.481 0, 1251461.92 671456.672 0, 1251170.113 671441.88 0, 1250878.305 671427.106 0, 1250586.497 671412.348 0, 1250294.688 671397.608 0, 1250002.877 671382.884 0, 1249711.066 671368.178 0,
+ 1249419.254 671353.489 0, 1249127.442 671338.818 0, 1248835.628 671324.163 0, 1248543.813 671309.526 0, 1248251.998 671294.905 0, 1247960.182 671280.302 0, 1247668.365 671265.717 0, 1247376.547 671251.148 0, 1247084.728 671236.596 0, 1246792.908 671222.062 0,
+ 1246501.088 671207.545 0, 1246209.266 671193.045 0, 1245917.444 671178.562 0, 1245625.621 671164.096 0, 1245332.424 671149.58 0, 1245041.972 671135.217 0, 1244750.147 671120.803 0, 1244458.32 671106.406 0, 1244166.493 671092.026 0, 1243874.665 671077.663 0,
+ 1243582.836 671063.318 0, 1243291.006 671048.99 0, 1242999.175 671034.679 0, 1242707.344 671020.385 0, 1242415.511 671006.108 0, 1242123.678 670991.849 0, 1241831.844 670977.606 0, 1241540.009 670963.381 0, 1241248.173 670949.173 0, 1240956.337 670934.982 0,
+ 1240664.5 670920.809 0, 1240372.661 670906.652 0, 1240080.822 670892.513 0, 1239788.982 670878.391 0, 1239497.142 670864.286 0, 1239205.3 670850.198 0, 1238913.458 670836.128 0, 1238621.614 670822.074 0, 1238328.396 670807.972 0, 1238061.057 676369.999 0,
+ 1237793.703 681932.332 0, 1238086.263 681946.403 0, 1238377.451 681960.425 0, 1238668.639 681974.464 0, 1238959.826 681988.52 0, 1239251.012 682002.593 0, 1239542.197 682016.683 0, 1239833.381 682030.791 0, 1240124.565 682044.916 0, 1240415.748 682059.058 0,
+ 1240706.929 682073.216 0, 1240998.11 682087.393 0, 1241289.29 682101.586 0, 1241580.47 682115.796 0, 1241871.648 682130.024 0, 1242162.826 682144.268 0, 1242454.003 682158.53 0, 1242745.179 682172.809 0, 1243036.354 682187.105 0, 1243327.528 682201.418 0,
+ 1243618.702 682215.749 0, 1243909.874 682230.096 0, 1244201.046 682244.461 0, 1244492.217 682258.843 0, 1244782.017 682273.174 0, 1245074.556 682287.658 0, 1245365.724 682302.091 0, 1245656.892 682316.541 0, 1245948.059 682331.008 0, 1246239.224 682345.493 0,
+ 1246530.389 682359.995 0, 1246821.554 682374.514 0, 1247112.717 682389.05 0, 1247403.879 682403.603 0, 1247695.041 682418.173 0, 1247986.201 682432.76 0, 1248277.361 682447.365 0, 1248568.52 682461.987 0, 1248859.678 682476.625 0, 1249150.835 682491.281 0,
+ 1249441.992 682505.954 0, 1249733.147 682520.645 0, 1250024.302 682535.352 0, 1250315.456 682550.077 0, 1250606.609 682564.818 0, 1250897.761 682579.577 0, 1251188.912 682594.353 0, 1251480.062 682609.146 0, 1251769.843 682623.886 0, 1252052.911 677062.331 0,
+ 1252335.963 671501.081 0))
+
+POLYGON ((1265743.974 683354.923 0, 1265454.234 683339.364 0, 1265163.126 683323.748 0, 1264872.018 683308.15 0, 1264580.909 683292.569 0, 1264289.799 683277.004 0, 1263998.688 683261.457 0, 1263707.576 683245.928 0, 1263416.463 683230.415 0, 1263125.349 683214.919 0,
+ 1262834.234 683199.441 0, 1262543.119 683183.979 0, 1262252.002 683168.535 0, 1261960.885 683153.108 0, 1261669.767 683137.698 0, 1261378.647 683122.305 0, 1261087.527 683106.93 0, 1260796.406 683091.571 0, 1260505.284 683076.23 0, 1260214.162 683060.906 0,
+ 1259923.038 683045.599 0, 1259631.913 683030.309 0, 1259340.788 683015.036 0, 1259049.661 682999.78 0, 1258757.167 682984.47 0, 1258467.406 682969.32 0, 1258176.277 682954.116 0, 1257885.147 682938.928 0, 1257594.016 682923.758 0, 1257302.884 682908.606 0,
+ 1257011.751 682893.47 0, 1256720.618 682878.351 0, 1256429.483 682863.25 0, 1256138.348 682848.165 0, 1255847.212 682833.098 0, 1255556.074 682818.048 0, 1255264.936 682803.015 0, 1254973.798 682787.999 0, 1254682.658 682773 0, 1254391.517 682758.019 0,
+ 1254100.376 682743.055 0, 1253809.233 682728.107 0, 1253518.09 682713.177 0, 1253226.946 682698.264 0, 1252935.801 682683.368 0, 1252644.655 682668.49 0, 1252353.508 682653.628 0, 1252062.36 682638.783 0, 1251769.843 682623.886 0, 1251486.76 688185.744 0,
+ 1251203.662 693747.9 0, 1251495.521 693762.763 0, 1251786.014 693777.574 0, 1252076.506 693792.402 0, 1252366.997 693807.248 0, 1252657.488 693822.11 0, 1252947.977 693836.989 0, 1253238.466 693851.886 0, 1253528.953 693866.8 0, 1253819.44 693881.73 0,
+ 1254109.926 693896.678 0, 1254400.411 693911.643 0, 1254690.895 693926.625 0, 1254981.379 693941.624 0, 1255271.861 693956.641 0, 1255562.343 693971.674 0, 1255852.823 693986.724 0, 1256143.303 694001.792 0, 1256433.782 694016.877 0, 1256724.26 694031.978 0,
+ 1257014.737 694047.097 0, 1257305.213 694062.233 0, 1257595.689 694077.386 0, 1257886.163 694092.556 0, 1258175.272 694107.672 0, 1258467.109 694122.948 0, 1258757.581 694138.169 0, 1259048.052 694153.408 0, 1259338.522 694168.663 0, 1259628.991 694183.936 0,
+ 1259919.459 694199.226 0, 1260209.926 694214.533 0, 1260500.392 694229.857 0, 1260790.858 694245.198 0, 1261081.322 694260.556 0, 1261371.786 694275.931 0, 1261662.249 694291.324 0, 1261952.711 694306.733 0, 1262243.172 694322.16 0, 1262533.632 694337.603 0,
+ 1262824.091 694353.064 0, 1263114.549 694368.542 0, 1263405.006 694384.037 0, 1263695.462 694399.549 0, 1263985.918 694415.078 0, 1264276.372 694430.624 0, 1264566.826 694446.188 0, 1264857.279 694461.768 0, 1265146.368 694477.292 0, 1265445.179 688915.958 0,
+ 1265743.974 683354.923 0))
+
+POLYGON ((1279086.957 695246.073 0, 1278797.911 695229.732 0, 1278507.503 695213.331 0, 1278217.095 695196.947 0, 1277926.685 695180.58 0, 1277636.275 695164.23 0, 1277345.864 695147.898 0, 1277055.451 695131.582 0, 1276765.038 695115.284 0, 1276474.624 695099.003 0,
+ 1276184.209 695082.738 0, 1275893.792 695066.491 0, 1275603.375 695050.261 0, 1275312.957 695034.048 0, 1275022.538 695017.853 0, 1274732.118 695001.674 0, 1274441.697 694985.512 0, 1274151.275 694969.368 0, 1273860.852 694953.24 0, 1273570.429 694937.13 0,
+ 1273280.004 694921.037 0, 1272989.578 694904.96 0, 1272699.152 694888.901 0, 1272408.724 694872.859 0, 1272116.934 694856.759 0, 1271827.866 694840.827 0, 1271537.436 694824.836 0, 1271247.004 694808.862 0, 1270956.572 694792.906 0, 1270666.139 694776.966 0,
+ 1270375.705 694761.044 0, 1270085.27 694745.139 0, 1269794.834 694729.251 0, 1269504.397 694713.38 0, 1269213.959 694697.526 0, 1268923.52 694681.689 0, 1268633.08 694665.869 0, 1268342.639 694650.067 0, 1268052.198 694634.281 0, 1267761.755 694618.512 0,
+ 1267471.312 694602.761 0, 1267180.867 694587.027 0, 1266890.422 694571.31 0, 1266599.976 694555.61 0, 1266309.529 694539.927 0, 1266019.08 694524.261 0, 1265728.631 694508.612 0, 1265438.181 694492.98 0, 1265146.368 694477.292 0, 1264847.541 700038.921 0,
+ 1264548.698 705600.842 0, 1264839.854 705616.495 0, 1265129.649 705632.091 0, 1265419.443 705647.705 0, 1265709.237 705663.335 0, 1265999.029 705678.983 0, 1266288.821 705694.648 0, 1266578.611 705710.329 0, 1266868.401 705726.028 0, 1267158.19 705741.744 0,
+ 1267447.978 705757.477 0, 1267737.765 705773.227 0, 1268027.551 705788.994 0, 1268317.336 705804.778 0, 1268607.12 705820.579 0, 1268896.903 705836.397 0, 1269186.686 705852.233 0, 1269476.467 705868.085 0, 1269766.247 705883.954 0, 1270056.027 705899.841 0,
+ 1270345.805 705915.744 0, 1270635.583 705931.665 0, 1270925.36 705947.602 0, 1271215.135 705963.557 0, 1271503.552 705979.454 0, 1271794.684 705995.518 0, 1272084.457 706011.523 0, 1272374.229 706027.546 0, 1272664 706043.586 0, 1272953.77 706059.643 0,
+ 1273243.539 706075.717 0, 1273533.307 706091.808 0, 1273823.075 706107.917 0, 1274112.841 706124.042 0, 1274402.606 706140.184 0, 1274692.371 706156.343 0, 1274982.134 706172.52 0, 1275271.897 706188.713 0, 1275561.658 706204.924 0, 1275851.419 706221.151 0,
+ 1276141.178 706237.396 0, 1276430.937 706253.657 0, 1276720.695 706269.936 0, 1277010.452 706286.232 0, 1277300.207 706302.545 0, 1277589.962 706318.875 0, 1277879.716 706335.221 0, 1278169.469 706351.585 0, 1278457.864 706367.89 0, 1278772.419 700806.835 0,
+ 1279086.957 695246.073 0))
+
+POLYGON ((1292364.807 707174.23 0, 1292076.457 707157.111 0, 1291786.752 707139.928 0, 1291497.045 707122.763 0, 1291207.338 707105.615 0, 1290917.629 707088.483 0, 1290627.919 707071.369 0, 1290338.209 707054.272 0, 1290048.497 707037.191 0, 1289758.785 707020.128 0,
+ 1289469.071 707003.082 0, 1289179.357 706986.053 0, 1288889.641 706969.041 0, 1288599.924 706952.046 0, 1288310.207 706935.068 0, 1288020.488 706918.108 0, 1287730.769 706901.164 0, 1287441.048 706884.237 0, 1287151.326 706867.327 0, 1286861.604 706850.435 0,
+ 1286571.88 706833.559 0, 1286282.156 706816.701 0, 1285992.43 706799.859 0, 1285702.704 706783.035 0, 1285411.62 706766.149 0, 1285123.248 706749.437 0, 1284833.518 706732.664 0, 1284543.788 706715.908 0, 1284254.056 706699.168 0, 1283964.324 706682.446 0,
+ 1283674.59 706665.741 0, 1283384.856 706649.053 0, 1283095.12 706632.382 0, 1282805.384 706615.728 0, 1282515.647 706599.092 0, 1282225.908 706582.472 0, 1281936.169 706565.869 0, 1281646.429 706549.283 0, 1281356.687 706532.715 0, 1281066.945 706516.163 0,
+ 1280777.202 706499.629 0, 1280487.458 706483.111 0, 1280197.712 706466.611 0, 1279907.966 706450.127 0, 1279618.219 706433.661 0, 1279328.471 706417.212 0, 1279038.722 706400.78 0, 1278748.972 706384.365 0, 1278457.864 706367.89 0, 1278143.292 711929.232 0,
+ 1277828.705 717490.86 0, 1278119.156 717507.298 0, 1278408.251 717523.676 0, 1278697.345 717540.071 0, 1278986.439 717556.483 0, 1279275.531 717572.912 0, 1279564.623 717589.358 0, 1279853.713 717605.821 0, 1280142.803 717622.301 0, 1280431.891 717638.798 0,
+ 1280720.979 717655.313 0, 1281010.065 717671.844 0, 1281299.151 717688.392 0, 1281588.236 717704.957 0, 1281877.32 717721.539 0, 1282166.402 717738.139 0, 1282455.484 717754.755 0, 1282744.565 717771.388 0, 1283033.645 717788.039 0, 1283322.723 717804.706 0,
+ 1283611.801 717821.39 0, 1283900.878 717838.092 0, 1284189.954 717854.81 0, 1284479.029 717871.545 0, 1284766.75 717888.219 0, 1285057.176 717905.067 0, 1285346.248 717921.853 0, 1285635.319 717938.657 0, 1285924.388 717955.477 0, 1286213.457 717972.315 0,
+ 1286502.525 717989.169 0, 1286791.592 718006.041 0, 1287080.658 718022.929 0, 1287369.723 718039.835 0, 1287658.787 718056.757 0, 1287947.85 718073.697 0, 1288236.912 718090.653 0, 1288525.973 718107.627 0, 1288815.033 718124.617 0, 1289104.092 718141.625 0,
+ 1289393.15 718158.65 0, 1289682.207 718175.691 0, 1289971.263 718192.75 0, 1290260.318 718209.825 0, 1290549.372 718226.918 0, 1290838.425 718244.028 0, 1291127.477 718261.154 0, 1291416.528 718278.298 0, 1291704.226 718295.379 0, 1292034.525 712734.662 0,
+ 1292364.807 707174.23 0))
+
+POLYGON ((1305577.419 719139.095 0, 1305289.768 719121.201 0, 1305000.767 719103.241 0, 1304711.765 719085.298 0, 1304422.761 719067.372 0, 1304133.756 719049.462 0, 1303844.751 719031.57 0, 1303555.744 719013.695 0, 1303266.737 718995.837 0, 1302977.728 718977.996 0,
+ 1302688.718 718960.172 0, 1302399.707 718942.364 0, 1302110.695 718924.574 0, 1301821.682 718906.801 0, 1301532.668 718889.045 0, 1301243.653 718871.306 0, 1300954.637 718853.584 0, 1300665.62 718835.879 0, 1300376.602 718818.191 0, 1300087.583 718800.52 0,
+ 1299798.563 718782.866 0, 1299509.541 718765.229 0, 1299220.519 718747.608 0, 1298931.496 718730.005 0, 1298641.121 718712.337 0, 1298353.446 718694.85 0, 1298064.419 718677.298 0, 1297775.392 718659.763 0, 1297486.363 718642.246 0, 1297197.334 718624.745 0,
+ 1296908.303 718607.261 0, 1296619.272 718589.794 0, 1296330.239 718572.344 0, 1296041.205 718554.911 0, 1295752.171 718537.495 0, 1295463.135 718520.096 0, 1295174.098 718502.714 0, 1294885.061 718485.349 0, 1294596.022 718468.002 0, 1294306.982 718450.671 0,
+ 1294017.941 718433.357 0, 1293728.899 718416.06 0, 1293439.856 718398.78 0, 1293150.813 718381.518 0, 1292861.768 718364.272 0, 1292572.722 718347.043 0, 1292283.675 718329.831 0, 1291994.627 718312.637 0, 1291704.226 718295.379 0, 1291373.911 723856.377 0,
+ 1291043.579 729417.653 0, 1291333.322 729434.872 0, 1291621.715 729452.027 0, 1291910.107 729469.2 0, 1292198.499 729486.39 0, 1292486.889 729503.597 0, 1292775.278 729520.82 0, 1293063.666 729538.061 0, 1293352.054 729555.319 0, 1293640.44 729572.593 0,
+ 1293928.825 729589.885 0, 1294217.209 729607.193 0, 1294505.592 729624.519 0, 1294793.974 729641.861 0, 1295082.356 729659.221 0, 1295370.736 729676.597 0, 1295659.115 729693.991 0, 1295947.493 729711.401 0, 1296235.87 729728.828 0, 1296524.246 729746.273 0,
+ 1296812.621 729763.734 0, 1297100.995 729781.212 0, 1297389.367 729798.708 0, 1297677.739 729816.22 0, 1297964.763 729833.667 0, 1298254.48 729851.295 0, 1298542.849 729868.858 0, 1298831.217 729886.439 0, 1299119.583 729904.036 0, 1299407.949 729921.65 0,
+ 1299696.314 729939.281 0, 1299984.677 729956.929 0, 1300273.04 729974.594 0, 1300561.401 729992.276 0, 1300849.762 730009.975 0, 1301138.121 730027.691 0, 1301426.479 730045.423 0, 1301714.837 730063.173 0, 1302003.193 730080.94 0, 1302291.548 730098.724 0,
+ 1302579.903 730116.525 0, 1302868.256 730134.342 0, 1303156.608 730152.177 0, 1303444.959 730170.029 0, 1303733.309 730187.897 0, 1304021.658 730205.783 0, 1304310.006 730223.686 0, 1304598.353 730241.605 0, 1304885.352 730259.458 0, 1305231.394 724699.137 0,
+ 1305577.419 719139.095 0))
+
+POLYGON ((1318724.692 731140.365 0, 1318437.742 731121.702 0, 1318149.447 731102.968 0, 1317861.15 731084.25 0, 1317572.853 731065.55 0, 1317284.555 731046.867 0, 1316996.255 731028.201 0, 1316707.955 731009.552 0, 1316419.653 730990.919 0, 1316131.35 730972.304 0,
+ 1315843.046 730953.706 0, 1315554.741 730935.124 0, 1315266.435 730916.56 0, 1314978.128 730898.012 0, 1314689.82 730879.482 0, 1314401.511 730860.968 0, 1314113.2 730842.472 0, 1313824.889 730823.992 0, 1313536.576 730805.529 0, 1313248.263 730787.084 0,
+ 1312959.948 730768.655 0, 1312671.632 730750.243 0, 1312383.315 730731.849 0, 1312094.997 730713.471 0, 1311805.333 730695.024 0, 1311518.358 730676.766 0, 1311230.037 730658.439 0, 1310941.714 730640.129 0, 1310653.391 730621.836 0, 1310365.066 730603.56 0,
+ 1310076.741 730585.302 0, 1309788.414 730567.059 0, 1309500.087 730548.834 0, 1309211.758 730530.626 0, 1308923.428 730512.435 0, 1308635.097 730494.261 0, 1308346.765 730476.104 0, 1308058.432 730457.964 0, 1307770.098 730439.841 0, 1307481.763 730421.734 0,
+ 1307193.426 730403.645 0, 1306905.089 730385.573 0, 1306616.751 730367.517 0, 1306328.411 730349.479 0, 1306040.071 730331.458 0, 1305751.729 730313.453 0, 1305463.387 730295.466 0, 1305175.043 730277.495 0, 1304885.352 730259.458 0, 1304539.293 735820.053 0,
+ 1304193.216 741380.919 0, 1304482.25 741398.915 0, 1304769.939 741416.845 0, 1305057.627 741434.792 0, 1305345.314 741452.755 0, 1305633 741470.736 0, 1305920.685 741488.733 0, 1306208.368 741506.748 0, 1306496.051 741524.779 0, 1306783.733 741542.827 0,
+ 1307071.413 741560.892 0, 1307359.093 741578.974 0, 1307646.772 741597.073 0, 1307934.449 741615.189 0, 1308222.125 741633.322 0, 1308509.801 741651.472 0, 1308797.475 741669.639 0, 1309085.148 741687.822 0, 1309372.82 741706.023 0, 1309660.491 741724.24 0,
+ 1309948.161 741742.475 0, 1310235.83 741760.726 0, 1310523.498 741778.995 0, 1310811.164 741797.28 0, 1311097.488 741815.497 0, 1311386.495 741833.901 0, 1311674.158 741852.237 0, 1311961.82 741870.59 0, 1312249.482 741888.96 0, 1312537.142 741907.347 0,
+ 1312824.801 741925.751 0, 1313112.459 741944.172 0, 1313400.116 741962.609 0, 1313687.772 741981.064 0, 1313975.427 741999.535 0, 1314263.081 742018.024 0, 1314550.733 742036.529 0, 1314838.385 742055.051 0, 1315126.035 742073.591 0, 1315413.685 742092.147 0,
+ 1315701.333 742110.72 0, 1315988.98 742129.31 0, 1316276.626 742147.917 0, 1316564.271 742166.541 0, 1316851.915 742185.182 0, 1317139.558 742203.839 0, 1317427.199 742222.514 0, 1317714.84 742241.206 0, 1318001.139 742259.827 0, 1318362.924 736699.961 0,
+ 1318724.692 731140.365 0))
+
+POLYGON ((1331806.523 743177.741 0, 1331520.276 743158.311 0, 1331232.689 743138.806 0, 1330945.101 743119.319 0, 1330657.512 743099.849 0, 1330369.922 743080.396 0, 1330082.331 743060.959 0, 1329794.739 743041.54 0, 1329507.145 743022.137 0, 1329219.551 743002.751 0,
+ 1328931.955 742983.383 0, 1328644.358 742964.031 0, 1328356.76 742944.696 0, 1328069.161 742925.378 0, 1327781.56 742906.077 0, 1327493.959 742886.793 0, 1327206.356 742867.526 0, 1326918.752 742848.275 0, 1326631.147 742829.042 0, 1326343.541 742809.826 0,
+ 1326055.934 742790.626 0, 1325768.326 742771.444 0, 1325480.717 742752.278 0, 1325193.106 742733.129 0, 1324904.155 742713.908 0, 1324617.882 742694.883 0, 1324330.268 742675.785 0, 1324042.653 742656.704 0, 1323755.037 742637.64 0, 1323467.419 742618.593 0,
+ 1323179.801 742599.563 0, 1322892.181 742580.549 0, 1322604.561 742561.553 0, 1322316.939 742542.574 0, 1322029.316 742523.611 0, 1321741.692 742504.666 0, 1321454.067 742485.737 0, 1321166.441 742466.825 0, 1320878.814 742447.93 0, 1320591.185 742429.053 0,
+ 1320303.556 742410.192 0, 1320015.925 742391.348 0, 1319728.293 742372.521 0, 1319440.66 742353.711 0, 1319153.026 742334.917 0, 1318865.391 742316.141 0, 1318577.755 742297.382 0, 1318290.118 742278.639 0, 1318001.139 742259.827 0, 1317639.336 747819.96 0,
+ 1317277.516 753380.358 0, 1317565.838 753399.128 0, 1317852.82 753417.828 0, 1318139.802 753436.544 0, 1318426.783 753455.278 0, 1318713.762 753474.028 0, 1319000.74 753492.796 0, 1319287.718 753511.58 0, 1319574.694 753530.381 0, 1319861.669 753549.199 0,
+ 1320148.643 753568.034 0, 1320435.616 753586.885 0, 1320722.587 753605.754 0, 1321009.558 753624.64 0, 1321296.527 753643.542 0, 1321583.496 753662.461 0, 1321870.463 753681.398 0, 1322157.429 753700.351 0, 1322444.394 753719.321 0, 1322731.358 753738.308 0,
+ 1323018.321 753757.311 0, 1323305.283 753776.332 0, 1323592.243 753795.37 0, 1323879.203 753814.424 0, 1324164.824 753833.406 0, 1324453.118 753852.584 0, 1324740.074 753871.689 0, 1325027.029 753890.811 0, 1325313.983 753909.95 0, 1325600.935 753929.105 0,
+ 1325887.887 753948.278 0, 1326174.837 753967.468 0, 1326461.787 753986.674 0, 1326748.735 754005.897 0, 1327035.682 754025.138 0, 1327322.628 754044.395 0, 1327609.573 754063.669 0, 1327896.516 754082.96 0, 1328183.459 754102.267 0, 1328470.4 754121.592 0,
+ 1328757.34 754140.934 0, 1329044.279 754160.292 0, 1329331.217 754179.667 0, 1329618.154 754199.06 0, 1329905.09 754218.469 0, 1330192.024 754237.895 0, 1330478.958 754257.338 0, 1330765.89 754276.797 0, 1331051.486 754296.183 0, 1331429.013 748736.83 0,
+ 1331806.523 743177.741 0))
+
+POLYGON ((1344822.813 755250.919 0, 1344537.271 755230.726 0, 1344250.395 755210.456 0, 1343963.517 755190.202 0, 1343676.639 755169.966 0, 1343389.759 755149.746 0, 1343102.878 755129.543 0, 1342815.996 755109.357 0, 1342529.113 755089.188 0, 1342242.229 755069.036 0,
+ 1341955.343 755048.901 0, 1341668.456 755028.783 0, 1341381.568 755008.681 0, 1341094.679 754988.596 0, 1340807.789 754968.529 0, 1340520.897 754948.478 0, 1340234.004 754928.444 0, 1339947.111 754908.427 0, 1339660.215 754888.427 0, 1339373.319 754868.443 0,
+ 1339086.422 754848.477 0, 1338799.523 754828.528 0, 1338512.623 754808.595 0, 1338225.723 754788.679 0, 1337937.486 754768.688 0, 1337651.917 754748.898 0, 1337365.013 754729.033 0, 1337078.107 754709.185 0, 1336791.2 754689.354 0, 1336504.292 754669.539 0,
+ 1336217.383 754649.742 0, 1335930.473 754629.961 0, 1335643.562 754610.197 0, 1335356.649 754590.451 0, 1335069.735 754570.721 0, 1334782.82 754551.007 0, 1334495.904 754531.311 0, 1334208.987 754511.632 0, 1333922.068 754491.97 0, 1333635.149 754472.324 0,
+ 1333348.228 754452.695 0, 1333061.306 754433.084 0, 1332774.383 754413.489 0, 1332487.459 754393.911 0, 1332200.534 754374.35 0, 1331913.607 754354.805 0, 1331626.68 754335.278 0, 1331339.751 754315.768 0, 1331051.486 754296.183 0, 1330673.94 759855.797 0,
+ 1330296.378 765415.668 0, 1330583.985 765435.207 0, 1330870.26 765454.673 0, 1331156.533 765474.156 0, 1331442.805 765493.655 0, 1331729.076 765513.172 0, 1332015.345 765532.705 0, 1332301.614 765552.255 0, 1332587.881 765571.823 0, 1332874.148 765591.406 0,
+ 1333160.413 765611.007 0, 1333446.677 765630.625 0, 1333732.94 765650.259 0, 1334019.201 765669.91 0, 1334305.462 765689.579 0, 1334591.721 765709.264 0, 1334877.979 765728.965 0, 1335164.236 765748.684 0, 1335450.492 765768.42 0, 1335736.747 765788.172 0,
+ 1336023 765807.941 0, 1336309.253 765827.727 0, 1336595.504 765847.53 0, 1336881.754 765867.35 0, 1337166.672 765887.094 0, 1337454.251 765907.04 0, 1337740.497 765926.91 0, 1338026.742 765946.797 0, 1338312.987 765966.701 0, 1338599.23 765986.622 0,
+ 1338885.472 766006.56 0, 1339171.712 766026.515 0, 1339457.952 766046.486 0, 1339744.19 766066.474 0, 1340030.427 766086.479 0, 1340316.663 766106.501 0, 1340602.898 766126.54 0, 1340889.132 766146.596 0, 1341175.364 766166.668 0, 1341461.595 766186.757 0,
+ 1341747.825 766206.864 0, 1342034.054 766226.987 0, 1342320.282 766247.127 0, 1342606.508 766267.283 0, 1342892.734 766287.457 0, 1343178.958 766307.647 0, 1343465.181 766327.854 0, 1343751.403 766348.079 0, 1344036.293 766368.225 0, 1344429.562 760809.444 0,
+ 1344822.813 755250.919 0))
+
+POLYGON ((1357773.463 767359.597 0, 1357488.628 767338.646 0, 1357202.465 767317.613 0, 1356916.3 767296.597 0, 1356630.134 767275.598 0, 1356343.967 767254.616 0, 1356057.798 767233.651 0, 1355771.629 767212.702 0, 1355485.458 767191.771 0, 1355199.286 767170.856 0,
+ 1354913.112 767149.958 0, 1354626.938 767129.077 0, 1354340.762 767108.213 0, 1354054.585 767087.365 0, 1353768.407 767066.535 0, 1353482.227 767045.721 0, 1353196.046 767024.924 0, 1352909.864 767004.144 0, 1352623.681 766983.381 0, 1352337.497 766962.635 0,
+ 1352051.311 766941.905 0, 1351765.125 766921.193 0, 1351478.936 766900.497 0, 1351192.747 766879.818 0, 1350905.228 766859.06 0, 1350620.365 766838.511 0, 1350334.172 766817.882 0, 1350047.978 766797.271 0, 1349761.783 766776.676 0, 1349475.586 766756.098 0,
+ 1349189.388 766735.537 0, 1348903.19 766714.993 0, 1348616.989 766694.466 0, 1348330.788 766673.955 0, 1348044.585 766653.462 0, 1347758.382 766632.985 0, 1347472.177 766612.525 0, 1347185.97 766592.082 0, 1346899.763 766571.656 0, 1346613.554 766551.246 0,
+ 1346327.345 766530.854 0, 1346041.134 766510.478 0, 1345754.921 766490.119 0, 1345468.708 766469.777 0, 1345182.493 766449.452 0, 1344896.278 766429.143 0, 1344610.061 766408.852 0, 1344323.842 766388.577 0, 1344036.293 766368.225 0, 1343643.006 771927.26 0,
+ 1343249.702 777486.545 0, 1343536.594 777506.851 0, 1343822.158 777527.079 0, 1344107.72 777547.324 0, 1344393.282 777567.586 0, 1344678.842 777587.865 0, 1344964.401 777608.16 0, 1345249.959 777628.472 0, 1345535.515 777648.802 0, 1345821.071 777669.148 0,
+ 1346106.625 777689.51 0, 1346392.178 777709.89 0, 1346677.73 777730.286 0, 1346963.28 777750.699 0, 1347248.83 777771.129 0, 1347534.378 777791.576 0, 1347819.925 777812.04 0, 1348105.471 777832.52 0, 1348391.015 777853.017 0, 1348676.559 777873.531 0,
+ 1348962.101 777894.062 0, 1349247.642 777914.61 0, 1349533.182 777935.174 0, 1349818.72 777955.755 0, 1350102.932 777976.258 0, 1350389.794 777996.968 0, 1350675.329 778017.6 0, 1350960.862 778038.248 0, 1351246.395 778058.914 0, 1351531.926 778079.596 0,
+ 1351817.456 778100.295 0, 1352102.985 778121.01 0, 1352388.513 778141.743 0, 1352674.039 778162.492 0, 1352959.564 778183.258 0, 1353245.088 778204.041 0, 1353530.611 778224.841 0, 1353816.132 778245.657 0, 1354101.653 778266.491 0, 1354387.172 778287.341 0,
+ 1354672.69 778308.208 0, 1354958.206 778329.091 0, 1355243.722 778349.992 0, 1355529.236 778370.909 0, 1355814.749 778391.843 0, 1356100.26 778412.794 0, 1356385.771 778433.762 0, 1356671.28 778454.747 0, 1356955.464 778475.651 0, 1357364.472 772917.499 0,
+ 1357773.463 767359.597 0))
+
+POLYGON ((1370658.376 779503.473 0, 1370374.25 779481.766 0, 1370088.802 779459.975 0, 1369803.352 779438.201 0, 1369517.9 779416.443 0, 1369232.448 779394.703 0, 1368946.994 779372.979 0, 1368661.538 779351.272 0, 1368376.082 779329.581 0, 1368090.624 779307.908 0,
+ 1367805.165 779286.251 0, 1367519.705 779264.611 0, 1367234.243 779242.988 0, 1366948.781 779221.382 0, 1366663.317 779199.793 0, 1366377.851 779178.22 0, 1366092.385 779156.664 0, 1365806.917 779135.125 0, 1365521.447 779113.603 0, 1365235.977 779092.097 0,
+ 1364950.505 779070.609 0, 1364665.032 779049.137 0, 1364379.558 779027.682 0, 1364094.083 779006.243 0, 1363807.283 778984.723 0, 1363523.128 778963.417 0, 1363237.649 778942.029 0, 1362952.168 778920.658 0, 1362666.686 778899.304 0, 1362381.203 778877.967 0,
+ 1362095.719 778856.646 0, 1361810.233 778835.342 0, 1361524.747 778814.055 0, 1361239.258 778792.785 0, 1360953.769 778771.532 0, 1360668.279 778750.295 0, 1360382.787 778729.075 0, 1360097.294 778707.872 0, 1359811.799 778686.686 0, 1359526.304 778665.516 0,
+ 1359240.807 778644.364 0, 1358955.309 778623.228 0, 1358669.81 778602.109 0, 1358384.309 778581.007 0, 1358098.807 778559.921 0, 1357813.304 778538.853 0, 1357527.8 778517.801 0, 1357242.295 778496.766 0, 1356955.464 778475.651 0, 1356546.437 784034.048 0,
+ 1356137.392 789592.689 0, 1356423.565 789613.756 0, 1356708.417 789634.743 0, 1356993.267 789655.746 0, 1357278.115 789676.766 0, 1357562.963 789697.803 0, 1357847.809 789718.857 0, 1358132.654 789739.928 0, 1358417.498 789761.015 0, 1358702.34 789782.119 0,
+ 1358987.181 789803.24 0, 1359272.021 789824.378 0, 1359556.86 789845.532 0, 1359841.698 789866.703 0, 1360126.534 789887.891 0, 1360411.369 789909.096 0, 1360696.203 789930.318 0, 1360981.035 789951.556 0, 1361265.867 789972.811 0, 1361550.697 789994.083 0,
+ 1361835.525 790015.371 0, 1362120.353 790036.676 0, 1362405.179 790057.999 0, 1362690.004 790079.337 0, 1362973.508 790100.594 0, 1363259.65 790122.065 0, 1363544.472 790143.454 0, 1363829.292 790164.86 0, 1364114.11 790186.283 0, 1364398.928 790207.722 0,
+ 1364683.744 790229.179 0, 1364968.559 790250.652 0, 1365253.373 790272.141 0, 1365538.185 790293.648 0, 1365822.996 790315.171 0, 1366107.806 790336.711 0, 1366392.615 790358.268 0, 1366677.422 790379.841 0, 1366962.228 790401.431 0, 1367247.033 790423.039 0,
+ 1367531.836 790444.662 0, 1367816.639 790466.303 0, 1368101.44 790487.96 0, 1368386.239 790509.634 0, 1368671.038 790531.325 0, 1368955.835 790553.033 0, 1369240.631 790574.757 0, 1369525.425 790596.498 0, 1369808.9 790618.156 0, 1370233.647 785060.693 0,
+ 1370658.376 779503.473 0))
+
+POLYGON ((1383477.456 791682.243 0, 1383194.042 791659.785 0, 1382909.31 791637.239 0, 1382624.576 791614.71 0, 1382339.842 791592.198 0, 1382055.106 791569.703 0, 1381770.368 791547.224 0, 1381485.63 791524.762 0, 1381200.89 791502.317 0, 1380916.148 791479.889 0,
+ 1380631.406 791457.477 0, 1380346.662 791435.082 0, 1380061.917 791412.704 0, 1379777.17 791390.343 0, 1379492.422 791367.998 0, 1379207.673 791345.671 0, 1378922.923 791323.36 0, 1378638.171 791301.065 0, 1378353.418 791278.788 0, 1378068.663 791256.527 0,
+ 1377783.907 791234.283 0, 1377499.15 791212.056 0, 1377214.392 791189.845 0, 1376929.632 791167.652 0, 1376643.554 791145.372 0, 1376360.109 791123.315 0, 1376075.345 791101.171 0, 1375790.581 791079.044 0, 1375505.814 791056.935 0, 1375221.047 791034.841 0,
+ 1374936.278 791012.765 0, 1374651.508 790990.705 0, 1374366.737 790968.663 0, 1374081.964 790946.636 0, 1373797.19 790924.627 0, 1373512.415 790902.635 0, 1373227.638 790880.659 0, 1372942.86 790858.7 0, 1372658.081 790836.757 0, 1372373.301 790814.832 0,
+ 1372088.519 790792.923 0, 1371803.736 790771.031 0, 1371518.952 790749.156 0, 1371234.166 790727.297 0, 1370949.379 790705.456 0, 1370664.591 790683.631 0, 1370379.801 790661.822 0, 1370095.011 790640.031 0, 1369808.9 790618.156 0, 1369384.134 796175.857 0,
+ 1368959.35 801733.794 0, 1369244.804 801755.619 0, 1369528.941 801777.361 0, 1369813.076 801799.119 0, 1370097.21 801820.894 0, 1370381.342 801842.685 0, 1370665.474 801864.493 0, 1370949.604 801886.318 0, 1371233.733 801908.16 0, 1371517.86 801930.018 0,
+ 1371801.986 801951.894 0, 1372086.111 801973.786 0, 1372370.235 801995.694 0, 1372654.357 802017.619 0, 1372938.479 802039.562 0, 1373222.598 802061.52 0, 1373506.717 802083.496 0, 1373790.834 802105.488 0, 1374074.95 802127.497 0, 1374359.064 802149.523 0,
+ 1374643.178 802171.565 0, 1374927.29 802193.624 0, 1375211.401 802215.7 0, 1375495.51 802237.793 0, 1375778.303 802259.8 0, 1376063.725 802282.028 0, 1376347.83 802304.171 0, 1376631.935 802326.33 0, 1376916.037 802348.506 0, 1377200.139 802370.699 0,
+ 1377484.239 802392.909 0, 1377768.338 802415.135 0, 1378052.436 802437.378 0, 1378336.532 802459.638 0, 1378620.627 802481.914 0, 1378904.721 802504.208 0, 1379188.814 802526.518 0, 1379472.905 802548.844 0, 1379756.994 802571.188 0, 1380041.083 802593.548 0,
+ 1380325.17 802615.924 0, 1380609.256 802638.318 0, 1380893.34 802660.728 0, 1381177.424 802683.155 0, 1381461.506 802705.599 0, 1381745.586 802728.059 0, 1382029.665 802750.537 0, 1382313.743 802773.03 0, 1382596.507 802795.437 0, 1383036.991 797238.722 0,
+ 1383477.456 791682.243 0))
+
+POLYGON ((1396230.609 803895.603 0, 1395947.908 803872.398 0, 1395663.895 803849.101 0, 1395379.88 803825.822 0, 1395095.864 803802.559 0, 1394811.847 803779.312 0, 1394527.828 803756.083 0, 1394243.808 803732.87 0, 1393959.786 803709.674 0, 1393675.764 803686.495 0,
+ 1393391.739 803663.332 0, 1393107.714 803640.186 0, 1392823.687 803617.057 0, 1392539.659 803593.945 0, 1392255.629 803570.849 0, 1391971.598 803547.77 0, 1391687.566 803524.708 0, 1391403.532 803501.662 0, 1391119.497 803478.633 0, 1390835.461 803455.621 0,
+ 1390551.423 803432.626 0, 1390267.384 803409.647 0, 1389983.343 803386.685 0, 1389699.301 803363.74 0, 1389413.946 803340.705 0, 1389131.214 803317.899 0, 1388847.168 803295.004 0, 1388563.121 803272.126 0, 1388279.072 803249.264 0, 1387995.022 803226.419 0,
+ 1387710.971 803203.591 0, 1387426.918 803180.779 0, 1387142.865 803157.984 0, 1386858.809 803135.206 0, 1386574.753 803112.445 0, 1386290.695 803089.7 0, 1386006.635 803066.972 0, 1385722.575 803044.261 0, 1385438.513 803021.566 0, 1385154.45 802998.889 0,
+ 1384870.385 802976.228 0, 1384586.319 802953.583 0, 1384302.252 802930.956 0, 1384018.183 802908.345 0, 1383734.113 802885.751 0, 1383450.042 802863.173 0, 1383165.969 802840.612 0, 1382881.895 802818.068 0, 1382596.507 802795.437 0, 1382156.004 808352.383 0,
+ 1381715.483 813909.558 0, 1382000.215 813932.137 0, 1382283.635 813954.629 0, 1382567.053 813977.138 0, 1382850.47 813999.664 0, 1383133.886 814022.206 0, 1383417.301 814044.765 0, 1383700.714 814067.34 0, 1383984.126 814089.932 0, 1384267.536 814112.541 0,
+ 1384550.945 814135.167 0, 1384834.353 814157.809 0, 1385117.76 814180.468 0, 1385401.165 814203.144 0, 1385684.569 814225.836 0, 1385967.971 814248.545 0, 1386251.372 814271.271 0, 1386534.772 814294.013 0, 1386818.171 814316.772 0, 1387101.568 814339.548 0,
+ 1387384.964 814362.34 0, 1387668.358 814385.149 0, 1387951.751 814407.975 0, 1388235.143 814430.817 0, 1388517.224 814453.571 0, 1388801.923 814476.552 0, 1389085.31 814499.444 0, 1389368.697 814522.354 0, 1389652.082 814545.279 0, 1389935.465 814568.222 0,
+ 1390218.848 814591.181 0, 1390502.229 814614.157 0, 1390785.608 814637.149 0, 1391068.987 814660.159 0, 1391352.364 814683.185 0, 1391635.739 814706.227 0, 1391919.113 814729.286 0, 1392202.486 814752.362 0, 1392485.858 814775.455 0, 1392769.228 814798.564 0,
+ 1393052.597 814821.69 0, 1393335.964 814844.833 0, 1393619.33 814867.992 0, 1393902.695 814891.168 0, 1394186.058 814914.361 0, 1394469.42 814937.57 0, 1394752.781 814960.796 0, 1395036.14 814984.039 0, 1395318.19 815007.191 0, 1395774.409 809451.283 0,
+ 1396230.609 803895.603 0))
+
+POLYGON ((1408917.741 816143.249 0, 1408635.755 816119.3 0, 1408352.463 816095.257 0, 1408069.169 816071.231 0, 1407785.874 816047.221 0, 1407502.577 816023.228 0, 1407219.279 815999.251 0, 1406935.98 815975.291 0, 1406652.679 815951.348 0, 1406369.376 815927.422 0,
+ 1406086.073 815903.512 0, 1405802.767 815879.619 0, 1405519.461 815855.743 0, 1405236.153 815831.883 0, 1404952.844 815808.04 0, 1404669.533 815784.214 0, 1404386.221 815760.404 0, 1404102.907 815736.611 0, 1403819.592 815712.834 0, 1403536.276 815689.075 0,
+ 1403252.958 815665.332 0, 1402969.639 815641.605 0, 1402686.319 815617.896 0, 1402402.997 815594.203 0, 1402118.367 815570.417 0, 1401836.349 815546.867 0, 1401553.022 815523.224 0, 1401269.695 815499.598 0, 1400986.366 815475.988 0, 1400703.036 815452.395 0,
+ 1400419.704 815428.819 0, 1400136.371 815405.259 0, 1399853.037 815381.716 0, 1399569.701 815358.19 0, 1399286.364 815334.681 0, 1399003.025 815311.188 0, 1398719.685 815287.712 0, 1398436.344 815264.252 0, 1398153.001 815240.809 0, 1397869.657 815217.383 0,
+ 1397586.311 815193.974 0, 1397302.964 815170.581 0, 1397019.616 815147.205 0, 1396736.266 815123.845 0, 1396452.915 815100.502 0, 1396169.563 815077.176 0, 1395886.209 815053.867 0, 1395602.854 815030.574 0, 1395318.19 815007.191 0, 1394861.953 820563.323 0,
+ 1394405.697 826119.677 0, 1394689.704 826143.006 0, 1394972.406 826166.245 0, 1395255.105 826189.501 0, 1395537.804 826212.773 0, 1395820.501 826236.062 0, 1396103.196 826259.367 0, 1396385.89 826282.689 0, 1396668.583 826306.028 0, 1396951.275 826329.384 0,
+ 1397233.965 826352.756 0, 1397516.653 826376.145 0, 1397799.341 826399.55 0, 1398082.027 826422.972 0, 1398364.711 826446.411 0, 1398647.395 826469.866 0, 1398930.076 826493.338 0, 1399212.757 826516.826 0, 1399495.436 826540.331 0, 1399778.113 826563.853 0,
+ 1400060.79 826587.392 0, 1400343.465 826610.947 0, 1400626.138 826634.519 0, 1400908.81 826658.107 0, 1401190.177 826681.603 0, 1401474.15 826705.334 0, 1401756.818 826728.972 0, 1402039.485 826752.627 0, 1402322.15 826776.298 0, 1402604.814 826799.987 0,
+ 1402887.476 826823.691 0, 1403170.137 826847.413 0, 1403452.797 826871.151 0, 1403735.455 826894.906 0, 1404018.112 826918.677 0, 1404300.767 826942.465 0, 1404583.421 826966.27 0, 1404866.074 826990.091 0, 1405148.725 827013.929 0, 1405431.375 827037.784 0,
+ 1405714.023 827061.655 0, 1405996.67 827085.543 0, 1406279.316 827109.447 0, 1406561.96 827133.368 0, 1406844.603 827157.306 0, 1407127.244 827181.26 0, 1407409.884 827205.231 0, 1407692.522 827229.219 0, 1407973.857 827253.113 0, 1408445.808 821698.071 0,
+ 1408917.741 816143.249 0))
+
+POLYGON ((1421538.761 828424.877 0, 1421257.492 828400.188 0, 1420974.923 828375.402 0, 1420692.352 828350.633 0, 1420409.779 828325.88 0, 1420127.205 828301.144 0, 1419844.63 828276.424 0, 1419562.053 828251.721 0, 1419279.475 828227.035 0, 1418996.895 828202.365 0,
+ 1418714.313 828177.712 0, 1418431.731 828153.076 0, 1418149.147 828128.456 0, 1417866.561 828103.853 0, 1417583.974 828079.267 0, 1417301.385 828054.697 0, 1417018.795 828030.144 0, 1416736.204 828005.607 0, 1416453.611 827981.087 0, 1416171.017 827956.584 0,
+ 1415888.421 827932.097 0, 1415605.824 827907.627 0, 1415323.225 827883.174 0, 1415040.625 827858.737 0, 1414756.723 827834.204 0, 1414475.421 827809.913 0, 1414192.817 827785.526 0, 1413910.211 827761.156 0, 1413627.604 827736.802 0, 1413344.995 827712.465 0,
+ 1413062.385 827688.145 0, 1412779.773 827663.841 0, 1412497.16 827639.554 0, 1412214.546 827615.284 0, 1411931.93 827591.03 0, 1411649.313 827566.793 0, 1411366.694 827542.572 0, 1411084.074 827518.368 0, 1410801.453 827494.181 0, 1410518.83 827470.011 0,
+ 1410236.205 827445.857 0, 1409953.58 827421.719 0, 1409670.952 827397.598 0, 1409388.324 827373.494 0, 1409105.694 827349.407 0, 1408823.062 827325.336 0, 1408540.429 827301.282 0, 1408257.795 827277.244 0, 1407973.857 827253.113 0, 1407501.887 832808.372 0,
+ 1407029.899 838363.845 0, 1407313.181 838387.921 0, 1407595.161 838411.903 0, 1407877.14 838435.901 0, 1408159.117 838459.916 0, 1408441.093 838483.948 0, 1408723.068 838507.996 0, 1409005.041 838532.061 0, 1409287.013 838556.143 0, 1409568.984 838580.241 0,
+ 1409850.953 838604.356 0, 1410132.92 838628.487 0, 1410414.886 838652.635 0, 1410696.851 838676.799 0, 1410978.814 838700.981 0, 1411260.776 838725.178 0, 1411542.737 838749.392 0, 1411824.696 838773.623 0, 1412106.654 838797.871 0, 1412388.61 838822.135 0,
+ 1412670.564 838846.416 0, 1412952.518 838870.713 0, 1413234.47 838895.027 0, 1413516.42 838919.357 0, 1413797.071 838943.592 0, 1414080.317 838968.068 0, 1414362.263 838992.448 0, 1414644.208 839016.845 0, 1414926.151 839041.258 0, 1415208.093 839065.688 0,
+ 1415490.033 839090.135 0, 1415771.972 839114.598 0, 1416053.91 839139.078 0, 1416335.846 839163.574 0, 1416617.781 839188.087 0, 1416899.714 839212.617 0, 1417181.646 839237.163 0, 1417463.576 839261.726 0, 1417745.505 839286.305 0, 1418027.432 839310.901 0,
+ 1418309.358 839335.514 0, 1418591.283 839360.143 0, 1418873.206 839384.789 0, 1419155.128 839409.451 0, 1419437.048 839434.13 0, 1419718.966 839458.826 0, 1420000.884 839483.538 0, 1420282.8 839508.266 0, 1420563.417 839532.898 0, 1421051.098 833978.781 0,
+ 1421538.761 828424.877 0))
+
+POLYGON ((1434093.578 840740.181 0, 1433813.029 840714.756 0, 1433531.184 840689.231 0, 1433249.338 840663.723 0, 1432967.49 840638.231 0, 1432685.641 840612.756 0, 1432403.79 840587.297 0, 1432121.937 840561.855 0, 1431840.084 840536.429 0, 1431558.228 840511.02 0,
+ 1431276.371 840485.628 0, 1430994.513 840460.252 0, 1430712.653 840434.893 0, 1430430.792 840409.55 0, 1430148.929 840384.224 0, 1429867.065 840358.915 0, 1429585.199 840333.622 0, 1429303.332 840308.346 0, 1429021.463 840283.086 0, 1428739.593 840257.843 0,
+ 1428457.721 840232.617 0, 1428175.848 840207.407 0, 1427893.973 840182.214 0, 1427612.097 840157.037 0, 1427328.924 840131.761 0, 1427048.34 840106.733 0, 1426766.46 840081.606 0, 1426484.578 840056.496 0, 1426202.694 840031.402 0, 1425920.809 840006.325 0,
+ 1425638.922 839981.265 0, 1425357.034 839956.221 0, 1425075.145 839931.193 0, 1424793.254 839906.182 0, 1424511.362 839881.188 0, 1424229.468 839856.211 0, 1423947.572 839831.25 0, 1423665.676 839806.305 0, 1423383.777 839781.377 0, 1423101.878 839756.466 0,
+ 1422819.976 839731.572 0, 1422538.074 839706.694 0, 1422256.17 839681.832 0, 1421974.264 839656.987 0, 1421692.357 839632.159 0, 1421410.448 839607.347 0, 1421128.538 839582.552 0, 1420846.627 839557.774 0, 1420563.417 839532.898 0, 1420075.717 845087.225 0,
+ 1419588 850641.758 0, 1419870.553 850666.576 0, 1420151.81 850691.297 0, 1420433.066 850716.035 0, 1420714.321 850740.789 0, 1420995.574 850765.56 0, 1421276.826 850790.347 0, 1421558.076 850815.151 0, 1421839.325 850839.971 0, 1422120.573 850864.808 0,
+ 1422401.819 850889.662 0, 1422683.063 850914.532 0, 1422964.306 850939.418 0, 1423245.548 850964.321 0, 1423526.788 850989.241 0, 1423808.026 851014.177 0, 1424089.263 851039.13 0, 1424370.499 851064.099 0, 1424651.733 851089.085 0, 1424932.966 851114.088 0,
+ 1425214.197 851139.107 0, 1425495.427 851164.142 0, 1425776.655 851189.194 0, 1426057.882 851214.263 0, 1426337.815 851239.233 0, 1426620.332 851264.45 0, 1426901.554 851289.568 0, 1427182.775 851314.703 0, 1427463.994 851339.854 0, 1427745.212 851365.022 0,
+ 1428026.429 851390.207 0, 1428307.644 851415.408 0, 1428588.857 851440.625 0, 1428870.069 851465.86 0, 1429151.28 851491.11 0, 1429432.489 851516.378 0, 1429713.697 851541.661 0, 1429994.903 851566.962 0, 1430276.107 851592.279 0, 1430557.31 851617.612 0,
+ 1430838.512 851642.962 0, 1431119.712 851668.329 0, 1431400.911 851693.712 0, 1431682.108 851719.112 0, 1431963.304 851744.528 0, 1432244.498 851769.961 0, 1432525.69 851795.41 0, 1432806.882 851820.876 0, 1433086.78 851846.241 0, 1433590.188 846293.108 0,
+ 1434093.578 840740.181 0))
+
+POLYGON ((1446582.103 853088.856 0, 1446302.275 853062.699 0, 1446021.157 853036.439 0, 1445740.038 853010.196 0, 1445458.917 852983.968 0, 1445177.794 852957.758 0, 1444896.67 852931.564 0, 1444615.544 852905.386 0, 1444334.417 852879.226 0, 1444053.288 852853.081 0,
+ 1443772.157 852826.953 0, 1443491.025 852800.842 0, 1443209.892 852774.747 0, 1442928.757 852748.669 0, 1442647.62 852722.608 0, 1442366.482 852696.562 0, 1442085.342 852670.534 0, 1441804.201 852644.522 0, 1441523.059 852618.526 0, 1441241.914 852592.548 0,
+ 1440960.769 852566.585 0, 1440679.621 852540.639 0, 1440398.473 852514.71 0, 1440117.322 852488.797 0, 1439834.88 852462.783 0, 1439555.017 852437.022 0, 1439273.862 852411.159 0, 1438992.706 852385.312 0, 1438711.548 852359.482 0, 1438430.388 852333.669 0,
+ 1438149.227 852307.872 0, 1437868.065 852282.092 0, 1437586.901 852256.328 0, 1437305.735 852230.581 0, 1437024.568 852204.85 0, 1436743.4 852179.136 0, 1436462.23 852153.438 0, 1436181.058 852127.757 0, 1435899.885 852102.093 0, 1435618.71 852076.445 0,
+ 1435337.534 852050.813 0, 1435056.357 852025.199 0, 1434775.178 851999.6 0, 1434493.997 851974.019 0, 1434212.815 851948.453 0, 1433931.631 851922.905 0, 1433650.446 851897.373 0, 1433369.259 851871.857 0, 1433086.78 851846.241 0, 1432583.353 857399.577 0,
+ 1432079.908 862953.111 0, 1432361.731 862978.668 0, 1432642.264 863004.124 0, 1432922.795 863029.596 0, 1433203.325 863055.086 0, 1433483.854 863080.591 0, 1433764.381 863106.114 0, 1434044.906 863131.652 0, 1434325.43 863157.208 0, 1434605.953 863182.78 0,
+ 1434886.473 863208.368 0, 1435166.993 863233.973 0, 1435447.511 863259.594 0, 1435728.027 863285.232 0, 1436008.542 863310.886 0, 1436289.055 863336.557 0, 1436569.567 863362.244 0, 1436850.078 863387.948 0, 1437130.586 863413.669 0, 1437411.094 863439.406 0,
+ 1437691.599 863465.159 0, 1437972.104 863490.929 0, 1438252.607 863516.715 0, 1438533.108 863542.518 0, 1438812.32 863568.219 0, 1439094.106 863594.174 0, 1439374.602 863620.026 0, 1439655.098 863645.895 0, 1439935.591 863671.78 0, 1440216.083 863697.682 0,
+ 1440496.574 863723.601 0, 1440777.063 863749.536 0, 1441057.551 863775.488 0, 1441338.037 863801.456 0, 1441618.521 863827.44 0, 1441899.004 863853.441 0, 1442179.485 863879.459 0, 1442459.965 863905.493 0, 1442740.444 863931.543 0, 1443020.92 863957.61 0,
+ 1443301.396 863983.694 0, 1443581.869 864009.794 0, 1443862.342 864035.911 0, 1444142.812 864062.044 0, 1444423.282 864088.193 0, 1444703.749 864114.359 0, 1444984.215 864140.542 0, 1445264.68 864166.741 0, 1445543.857 864192.837 0, 1446062.989 858640.747 0,
+ 1446582.103 853088.856 0))
+
+POLYGON ((1459004.249 865470.595 0, 1458725.145 865443.711 0, 1458444.755 865416.72 0, 1458164.364 865389.745 0, 1457883.972 865362.787 0, 1457603.578 865335.845 0, 1457323.182 865308.919 0, 1457042.785 865282.01 0, 1456762.386 865255.118 0, 1456481.985 865228.242 0,
+ 1456201.583 865201.383 0, 1455921.179 865174.54 0, 1455640.774 865147.713 0, 1455360.367 865120.904 0, 1455079.959 865094.11 0, 1454799.549 865067.333 0, 1454519.138 865040.573 0, 1454238.725 865013.829 0, 1453958.31 864987.102 0, 1453677.894 864960.391 0,
+ 1453397.476 864933.697 0, 1453117.056 864907.019 0, 1452836.635 864880.358 0, 1452556.213 864853.713 0, 1452274.504 864826.963 0, 1451995.363 864800.473 0, 1451714.936 864773.877 0, 1451434.507 864747.299 0, 1451154.077 864720.736 0, 1450873.645 864694.191 0,
+ 1450593.211 864667.661 0, 1450312.776 864641.148 0, 1450032.34 864614.652 0, 1449751.902 864588.172 0, 1449471.462 864561.709 0, 1449191.021 864535.262 0, 1448910.578 864508.832 0, 1448630.133 864482.419 0, 1448349.687 864456.021 0, 1448069.24 864429.641 0,
+ 1447788.791 864403.276 0, 1447508.34 864376.929 0, 1447227.888 864350.597 0, 1446947.434 864324.283 0, 1446666.979 864297.985 0, 1446386.522 864271.703 0, 1446106.064 864245.438 0, 1445825.604 864219.189 0, 1445543.857 864192.837 0, 1445024.706 869745.121 0,
+ 1444505.537 875297.597 0, 1444786.628 875323.888 0, 1445066.435 875350.076 0, 1445346.239 875376.28 0, 1445626.042 875402.5 0, 1445905.844 875428.737 0, 1446185.644 875454.991 0, 1446465.443 875481.26 0, 1446745.24 875507.547 0, 1447025.035 875533.85 0,
+ 1447304.829 875560.169 0, 1447584.622 875586.504 0, 1447864.412 875612.857 0, 1448144.202 875639.225 0, 1448423.989 875665.61 0, 1448703.776 875692.012 0, 1448983.56 875718.43 0, 1449263.343 875744.865 0, 1449543.125 875771.316 0, 1449822.905 875797.783 0,
+ 1450102.683 875824.267 0, 1450382.46 875850.767 0, 1450662.235 875877.284 0, 1450942.009 875903.817 0, 1451220.499 875930.246 0, 1451501.552 875956.933 0, 1451781.321 875983.516 0, 1452061.088 876010.115 0, 1452340.854 876036.731 0, 1452620.618 876063.363 0,
+ 1452900.381 876090.012 0, 1453180.142 876116.677 0, 1453459.902 876143.358 0, 1453739.66 876170.056 0, 1454019.416 876196.771 0, 1454299.171 876223.502 0, 1454578.925 876250.249 0, 1454858.676 876277.013 0, 1455138.427 876303.793 0, 1455418.175 876330.59 0,
+ 1455697.922 876357.403 0, 1455977.668 876384.233 0, 1456257.411 876411.079 0, 1456537.154 876437.942 0, 1456816.894 876464.821 0, 1457096.634 876491.716 0, 1457376.371 876518.628 0, 1457656.107 876545.557 0, 1457934.561 876572.378 0, 1458469.414 871021.391 0,
+ 1459004.249 865470.595 0))
+
+POLYGON ((1471359.929 877885.094 0, 1471081.55 877857.485 0, 1470801.891 877829.767 0, 1470522.231 877802.065 0, 1470242.569 877774.379 0, 1469962.905 877746.709 0, 1469683.24 877719.057 0, 1469403.573 877691.42 0, 1469123.905 877663.8 0, 1468844.235 877636.197 0,
+ 1468564.563 877608.61 0, 1468284.889 877581.039 0, 1468005.214 877553.485 0, 1467725.538 877525.947 0, 1467445.859 877498.426 0, 1467166.18 877470.922 0, 1466886.498 877443.433 0, 1466606.815 877415.962 0, 1466327.13 877388.506 0, 1466047.444 877361.067 0,
+ 1465767.756 877333.645 0, 1465488.066 877306.239 0, 1465208.375 877278.85 0, 1464928.682 877251.477 0, 1464647.709 877223.995 0, 1464369.292 877196.78 0, 1464089.594 877169.456 0, 1463809.895 877142.149 0, 1463530.194 877114.859 0, 1463250.492 877087.584 0,
+ 1462970.788 877060.326 0, 1462691.082 877033.085 0, 1462411.375 877005.86 0, 1462131.666 876978.652 0, 1461851.955 876951.46 0, 1461572.243 876924.285 0, 1461292.53 876897.126 0, 1461012.814 876869.983 0, 1460733.098 876842.857 0, 1460453.379 876815.747 0,
+ 1460173.659 876788.654 0, 1459893.937 876761.578 0, 1459614.214 876734.517 0, 1459334.489 876707.474 0, 1459054.763 876680.446 0, 1458775.035 876653.436 0, 1458495.305 876626.441 0, 1458215.574 876599.463 0, 1457934.561 876572.378 0, 1457399.69 882123.553 0,
+ 1456864.801 887674.911 0, 1457145.157 887701.933 0, 1457424.235 887728.848 0, 1457703.311 887755.779 0, 1457982.386 887782.727 0, 1458261.459 887809.691 0, 1458540.53 887836.671 0, 1458819.6 887863.668 0, 1459098.668 887890.682 0, 1459377.735 887917.712 0,
+ 1459656.8 887944.758 0, 1459935.863 887971.821 0, 1460214.925 887998.9 0, 1460493.985 888025.995 0, 1460773.044 888053.107 0, 1461052.101 888080.236 0, 1461331.156 888107.38 0, 1461610.21 888134.542 0, 1461889.262 888161.719 0, 1462168.313 888188.913 0,
+ 1462447.362 888216.124 0, 1462726.41 888243.351 0, 1463005.455 888270.594 0, 1463284.5 888297.854 0, 1463562.266 888325.006 0, 1463842.583 888352.423 0, 1464121.623 888379.732 0, 1464400.661 888407.058 0, 1464679.697 888434.399 0, 1464958.731 888461.758 0,
+ 1465237.764 888489.133 0, 1465516.796 888516.524 0, 1465795.825 888543.931 0, 1466074.854 888571.355 0, 1466353.88 888598.796 0, 1466632.905 888626.253 0, 1466911.928 888653.726 0, 1467190.95 888681.216 0, 1467469.97 888708.722 0, 1467748.989 888736.244 0,
+ 1468028.005 888763.783 0, 1468307.021 888791.339 0, 1468586.034 888818.911 0, 1468865.046 888846.499 0, 1469144.056 888874.104 0, 1469423.065 888901.725 0, 1469702.072 888929.362 0, 1469981.078 888957.016 0, 1470258.807 888984.56 0, 1470809.377 883434.735 0,
+ 1471359.929 877885.094 0))
+
+POLYGON ((1483649.059 890332.044 0, 1483371.407 890303.715 0, 1483092.481 890275.273 0, 1482813.553 890246.848 0, 1482534.623 890218.438 0, 1482255.692 890190.046 0, 1481976.759 890161.669 0, 1481697.825 890133.309 0, 1481418.888 890104.966 0, 1481139.951 890076.638 0,
+ 1480861.011 890048.328 0, 1480582.07 890020.033 0, 1480303.127 889991.756 0, 1480024.182 889963.494 0, 1479745.236 889935.249 0, 1479466.288 889907.02 0, 1479187.339 889878.808 0, 1478908.387 889850.612 0, 1478629.434 889822.433 0, 1478350.48 889794.27 0,
+ 1478071.524 889766.123 0, 1477792.566 889737.993 0, 1477513.606 889709.88 0, 1477234.645 889681.782 0, 1476954.409 889653.573 0, 1476676.718 889625.637 0, 1476397.752 889597.589 0, 1476118.784 889569.557 0, 1475839.815 889541.542 0, 1475560.844 889513.543 0,
+ 1475281.871 889485.561 0, 1475002.897 889457.595 0, 1474723.921 889429.646 0, 1474444.943 889401.712 0, 1474165.964 889373.796 0, 1473886.983 889345.896 0, 1473608 889318.012 0, 1473329.016 889290.144 0, 1473050.03 889262.293 0, 1472771.043 889234.459 0,
+ 1472492.053 889206.641 0, 1472213.063 889178.839 0, 1471934.07 889151.053 0, 1471655.076 889123.285 0, 1471376.081 889095.532 0, 1471097.083 889067.796 0, 1470818.084 889040.076 0, 1470539.084 889012.373 0, 1470258.807 888984.56 0, 1469708.218 894534.565 0,
+ 1469157.613 900084.746 0, 1469437.233 900112.494 0, 1469715.581 900140.132 0, 1469993.926 900167.787 0, 1470272.27 900195.458 0, 1470550.613 900223.145 0, 1470828.953 900250.849 0, 1471107.292 900278.569 0, 1471385.63 900306.306 0, 1471663.966 900334.059 0,
+ 1471942.3 900361.829 0, 1472220.632 900389.614 0, 1472498.963 900417.416 0, 1472777.293 900445.235 0, 1473055.62 900473.07 0, 1473333.946 900500.921 0, 1473612.271 900528.789 0, 1473890.593 900556.673 0, 1474168.914 900584.573 0, 1474447.234 900612.49 0,
+ 1474725.552 900640.423 0, 1475003.868 900668.373 0, 1475282.182 900696.339 0, 1475560.495 900724.321 0, 1475837.536 900752.192 0, 1476117.116 900780.335 0, 1476395.424 900808.367 0, 1476673.73 900836.415 0, 1476952.035 900864.479 0, 1477230.338 900892.56 0,
+ 1477508.639 900920.657 0, 1477786.939 900948.77 0, 1478065.237 900976.9 0, 1478343.533 901005.046 0, 1478621.828 901033.208 0, 1478900.121 901061.387 0, 1479178.412 901089.583 0, 1479456.702 901117.794 0, 1479734.99 901146.022 0, 1480013.276 901174.267 0,
+ 1480291.561 901202.528 0, 1480569.844 901230.805 0, 1480848.126 901259.098 0, 1481126.405 901287.408 0, 1481404.683 901315.735 0, 1481682.96 901344.077 0, 1481961.234 901372.436 0, 1482239.507 901400.812 0, 1482516.509 901429.074 0, 1483082.793 895880.471 0,
+ 1483649.059 890332.044 0))
+
+POLYGON ((1495871.555 902811.139 0, 1495594.632 902782.094 0, 1495316.44 902752.932 0, 1495038.247 902723.787 0, 1494760.051 902694.658 0, 1494481.854 902665.546 0, 1494203.656 902636.45 0, 1493925.455 902607.37 0, 1493647.253 902578.307 0, 1493369.05 902549.26 0,
+ 1493090.844 902520.23 0, 1492812.637 902491.215 0, 1492534.428 902462.218 0, 1492256.217 902433.236 0, 1491978.005 902404.271 0, 1491699.791 902375.323 0, 1491421.575 902346.39 0, 1491143.358 902317.474 0, 1490865.139 902288.575 0, 1490586.918 902259.692 0,
+ 1490308.696 902230.825 0, 1490030.471 902201.974 0, 1489752.245 902173.14 0, 1489474.018 902144.323 0, 1489194.52 902115.39 0, 1488917.557 902086.737 0, 1488639.325 902057.968 0, 1488361.09 902029.216 0, 1488082.854 902000.48 0, 1487804.617 901971.761 0,
+ 1487526.377 901943.058 0, 1487248.136 901914.371 0, 1486969.893 901885.701 0, 1486691.649 901857.047 0, 1486413.402 901828.409 0, 1486135.154 901799.788 0, 1485856.905 901771.183 0, 1485578.654 901742.595 0, 1485300.401 901714.023 0, 1485022.146 901685.467 0,
+ 1484743.89 901656.928 0, 1484465.632 901628.405 0, 1484187.372 901599.899 0, 1483909.111 901571.409 0, 1483630.848 901542.935 0, 1483352.583 901514.478 0, 1483074.317 901486.037 0, 1482796.049 901457.612 0, 1482516.509 901429.074 0, 1481950.208 906977.85 0,
+ 1481383.889 912526.794 0, 1481662.772 912555.264 0, 1481940.387 912583.622 0, 1482218 912611.996 0, 1482495.612 912640.387 0, 1482773.222 912668.794 0, 1483050.83 912697.217 0, 1483328.436 912725.657 0, 1483606.041 912754.113 0, 1483883.644 912782.585 0,
+ 1484161.246 912811.073 0, 1484438.846 912839.578 0, 1484716.444 912868.1 0, 1484994.04 912896.637 0, 1485271.635 912925.191 0, 1485549.228 912953.762 0, 1485826.82 912982.348 0, 1486104.409 913010.951 0, 1486381.997 913039.57 0, 1486659.584 913068.206 0,
+ 1486937.168 913096.858 0, 1487214.751 913125.526 0, 1487492.333 913154.211 0, 1487769.912 913182.912 0, 1488046.225 913211.499 0, 1488325.066 913240.363 0, 1488602.641 913269.113 0, 1488880.214 913297.879 0, 1489157.785 913326.662 0, 1489435.354 913355.461 0,
+ 1489712.922 913384.277 0, 1489990.488 913413.108 0, 1490268.052 913441.956 0, 1490545.615 913470.821 0, 1490823.176 913499.701 0, 1491100.735 913528.598 0, 1491378.293 913557.512 0, 1491655.849 913586.442 0, 1491933.403 913615.388 0, 1492210.955 913644.35 0,
+ 1492488.506 913673.329 0, 1492766.055 913702.324 0, 1493043.602 913731.335 0, 1493321.148 913760.363 0, 1493598.692 913789.407 0, 1493876.234 913818.467 0, 1494153.775 913847.544 0, 1494431.313 913876.637 0, 1494707.586 913905.614 0, 1495289.58 908358.292 0,
+ 1495871.555 902811.139 0))
+
+POLYGON ((985409.616 464871.387 0, 985107.123 464872.25 0, 984803.158 464873.136 0, 984499.193 464874.039 0, 984195.227 464874.961 0, 983891.262 464875.9 0, 983587.297 464876.857 0, 983283.332 464877.832 0, 982979.367 464878.825 0, 982675.402 464879.835 0,
+ 982371.437 464880.864 0, 982067.472 464881.911 0, 981763.507 464882.975 0, 981459.542 464884.057 0, 981155.578 464885.157 0, 980851.613 464886.276 0, 980547.648 464887.412 0, 980243.684 464888.565 0, 979939.72 464889.737 0, 979635.755 464890.927 0,
+ 979331.791 464892.134 0, 979027.827 464893.36 0, 978723.863 464894.603 0, 978419.898 464895.864 0, 978114.46 464897.15 0, 977811.971 464898.44 0, 977508.007 464899.755 0, 977204.043 464901.088 0, 976900.079 464902.439 0, 976596.116 464903.807 0,
+ 976292.152 464905.194 0, 975988.189 464906.598 0, 975684.225 464908.02 0, 975380.262 464909.46 0, 975076.299 464910.918 0, 974772.336 464912.394 0, 974468.373 464913.888 0, 974164.41 464915.4 0, 973860.447 464916.929 0, 973556.484 464918.477 0,
+ 973252.521 464920.042 0, 972948.559 464921.626 0, 972644.596 464923.227 0, 972340.634 464924.846 0, 972036.672 464926.483 0, 971732.71 464928.137 0, 971428.747 464929.81 0, 971124.786 464931.501 0, 970819.348 464933.218 0, 970850.737 470488.407 0,
+ 970882.129 476044.017 0, 971186.909 476042.304 0, 971490.217 476040.617 0, 971793.525 476038.948 0, 972096.834 476037.297 0, 972400.142 476035.663 0, 972703.45 476034.048 0, 973006.759 476032.45 0, 973310.067 476030.87 0, 973613.376 476029.308 0,
+ 973916.685 476027.764 0, 974219.994 476026.238 0, 974523.303 476024.729 0, 974826.612 476023.239 0, 975129.921 476021.766 0, 975433.23 476020.311 0, 975736.54 476018.874 0, 976039.849 476017.455 0, 976343.158 476016.054 0, 976646.468 476014.67 0,
+ 976949.778 476013.304 0, 977253.087 476011.957 0, 977556.397 476010.627 0, 977859.707 476009.315 0, 978161.546 476008.027 0, 978466.327 476006.744 0, 978769.637 476005.486 0, 979072.947 476004.245 0, 979376.258 476003.022 0, 979679.568 476001.817 0,
+ 979982.878 476000.63 0, 980286.189 475999.461 0, 980589.499 475998.31 0, 980892.81 475997.176 0, 981196.121 475996.06 0, 981499.431 475994.963 0, 981802.742 475993.883 0, 982106.053 475992.82 0, 982409.364 475991.776 0, 982712.675 475990.75 0,
+ 983015.986 475989.741 0, 983319.297 475988.75 0, 983622.608 475987.778 0, 983925.919 475986.823 0, 984229.231 475985.885 0, 984532.542 475984.966 0, 984835.853 475984.065 0, 985139.165 475983.181 0, 985441.006 475982.319 0, 985425.311 470426.643 0,
+ 985409.616 464871.387 0))
+
+POLYGON ((1000000 475961.753 0, 999698.155 475961.762 0, 999394.842 475961.789 0, 999091.529 475961.834 0, 998788.217 475961.896 0, 998484.904 475961.976 0, 998181.591 475962.074 0, 997878.279 475962.19 0, 997574.966 475962.324 0, 997271.653 475962.476 0,
+ 996968.341 475962.645 0, 996665.028 475962.833 0, 996361.715 475963.038 0, 996058.403 475963.261 0, 995755.09 475963.502 0, 995451.777 475963.761 0, 995148.465 475964.037 0, 994845.152 475964.332 0, 994541.84 475964.644 0, 994238.527 475964.974 0,
+ 993935.215 475965.322 0, 993631.902 475965.688 0, 993328.59 475966.072 0, 993025.277 475966.473 0, 992720.496 475966.895 0, 992418.652 475967.33 0, 992115.34 475967.785 0, 991812.028 475968.258 0, 991508.715 475968.749 0, 991205.403 475969.258 0,
+ 990902.091 475969.784 0, 990598.778 475970.329 0, 990295.466 475970.891 0, 989992.154 475971.471 0, 989688.842 475972.069 0, 989385.53 475972.685 0, 989082.218 475973.319 0, 988778.906 475973.97 0, 988475.594 475974.64 0, 988172.282 475975.327 0,
+ 987868.97 475976.032 0, 987565.658 475976.755 0, 987262.346 475977.496 0, 986959.034 475978.254 0, 986655.723 475979.031 0, 986352.411 475979.825 0, 986049.099 475980.637 0, 985745.788 475981.467 0, 985441.006 475982.319 0, 985456.703 481538.414 0,
+ 985472.402 487094.922 0, 985776.526 487094.072 0, 986079.183 487093.244 0, 986381.841 487092.433 0, 986684.499 487091.641 0, 986987.156 487090.866 0, 987289.814 487090.109 0, 987592.472 487089.37 0, 987895.129 487088.648 0, 988197.787 487087.945 0,
+ 988500.445 487087.259 0, 988803.103 487086.591 0, 989105.761 487085.941 0, 989408.419 487085.309 0, 989711.077 487084.694 0, 990013.735 487084.097 0, 990316.393 487083.519 0, 990619.051 487082.957 0, 990921.71 487082.414 0, 991224.368 487081.889 0,
+ 991527.026 487081.381 0, 991829.684 487080.891 0, 992132.342 487080.419 0, 992435.001 487079.965 0, 992736.194 487079.531 0, 993040.317 487079.11 0, 993342.976 487078.71 0, 993645.634 487078.327 0, 993948.293 487077.962 0, 994250.951 487077.614 0,
+ 994553.61 487077.285 0, 994856.268 487076.973 0, 995158.927 487076.679 0, 995461.585 487076.403 0, 995764.244 487076.145 0, 996066.902 487075.905 0, 996369.561 487075.682 0, 996672.219 487075.477 0, 996974.878 487075.29 0, 997277.537 487075.121 0,
+ 997580.195 487074.97 0, 997882.854 487074.836 0, 998185.513 487074.721 0, 998488.171 487074.623 0, 998790.83 487074.543 0, 999093.488 487074.481 0, 999396.147 487074.436 0, 999698.806 487074.409 0, 1000000 487074.401 0, 1000000 481517.87 0,
+ 1000000 475961.753 0))
+
+POLYGON ((1014527.598 487094.922 0, 1014226.403 487094.08 0, 1013923.745 487093.252 0, 1013621.088 487092.441 0, 1013318.43 487091.648 0, 1013015.773 487090.873 0, 1012713.115 487090.116 0, 1012410.457 487089.377 0, 1012107.799 487088.655 0, 1011805.141 487087.951 0,
+ 1011502.484 487087.265 0, 1011199.826 487086.597 0, 1010897.168 487085.947 0, 1010594.51 487085.315 0, 1010291.852 487084.7 0, 1009989.194 487084.103 0, 1009686.536 487083.524 0, 1009383.877 487082.963 0, 1009081.219 487082.419 0, 1008778.561 487081.894 0,
+ 1008475.903 487081.386 0, 1008173.245 487080.896 0, 1007870.586 487080.424 0, 1007567.928 487079.97 0, 1007263.806 487079.531 0, 1006962.611 487079.114 0, 1006659.953 487078.713 0, 1006357.294 487078.33 0, 1006054.636 487077.965 0, 1005751.978 487077.618 0,
+ 1005449.319 487077.288 0, 1005146.661 487076.976 0, 1004844.002 487076.682 0, 1004541.344 487076.406 0, 1004238.685 487076.148 0, 1003936.026 487075.907 0, 1003633.368 487075.684 0, 1003330.709 487075.479 0, 1003028.051 487075.292 0, 1002725.392 487075.123 0,
+ 1002422.734 487074.971 0, 1002120.075 487074.838 0, 1001817.416 487074.722 0, 1001514.758 487074.624 0, 1001212.099 487074.543 0, 1000909.44 487074.481 0, 1000606.782 487074.436 0, 1000304.123 487074.41 0, 1000000 487074.401 0, 1000000 492631.343 0,
+ 1000000 498188.694 0, 1000303.466 498188.703 0, 1000605.47 498188.729 0, 1000907.475 498188.774 0, 1001209.479 498188.836 0, 1001511.484 498188.916 0, 1001813.488 498189.014 0, 1002115.493 498189.13 0, 1002417.497 498189.263 0, 1002719.501 498189.414 0,
+ 1003021.506 498189.583 0, 1003323.51 498189.77 0, 1003625.515 498189.975 0, 1003927.519 498190.197 0, 1004229.524 498190.437 0, 1004531.528 498190.695 0, 1004833.532 498190.97 0, 1005135.537 498191.264 0, 1005437.541 498191.575 0, 1005739.545 498191.904 0,
+ 1006041.55 498192.251 0, 1006343.554 498192.615 0, 1006645.558 498192.997 0, 1006947.562 498193.397 0, 1007248.106 498193.813 0, 1007551.571 498194.251 0, 1007853.575 498194.704 0, 1008155.579 498195.175 0, 1008457.583 498195.664 0, 1008759.587 498196.171 0,
+ 1009061.591 498196.695 0, 1009363.595 498197.237 0, 1009665.599 498197.797 0, 1009967.603 498198.375 0, 1010269.607 498198.971 0, 1010571.611 498199.584 0, 1010873.615 498200.215 0, 1011175.618 498200.864 0, 1011477.622 498201.531 0, 1011779.626 498202.215 0,
+ 1012081.63 498202.917 0, 1012383.633 498203.637 0, 1012685.637 498204.375 0, 1012987.64 498205.131 0, 1013289.644 498205.904 0, 1013591.647 498206.695 0, 1013893.651 498207.504 0, 1014195.654 498208.331 0, 1014496.198 498209.171 0, 1014511.899 492651.842 0,
+ 1014527.598 487094.922 0))
+
+POLYGON ((1028992.281 498270.603 0, 1028691.738 498268.913 0, 1028389.738 498267.233 0, 1028087.738 498265.571 0, 1027785.738 498263.927 0, 1027483.738 498262.3 0, 1027181.738 498260.692 0, 1026879.738 498259.101 0, 1026577.737 498257.527 0, 1026275.737 498255.972 0,
+ 1025973.736 498254.434 0, 1025671.736 498252.914 0, 1025369.735 498251.412 0, 1025067.734 498249.928 0, 1024765.733 498248.462 0, 1024463.732 498247.013 0, 1024161.731 498245.582 0, 1023859.73 498244.169 0, 1023557.728 498242.773 0, 1023255.727 498241.395 0,
+ 1022953.726 498240.035 0, 1022651.724 498238.693 0, 1022349.723 498237.369 0, 1022047.721 498236.062 0, 1021744.261 498234.767 0, 1021443.717 498233.503 0, 1021141.716 498232.249 0, 1020839.714 498231.014 0, 1020537.712 498229.796 0, 1020235.709 498228.596 0,
+ 1019933.707 498227.414 0, 1019631.705 498226.25 0, 1019329.703 498225.103 0, 1019027.7 498223.974 0, 1018725.698 498222.863 0, 1018423.695 498221.77 0, 1018121.693 498220.695 0, 1017819.69 498219.637 0, 1017517.687 498218.597 0, 1017215.685 498217.575 0,
+ 1016913.682 498216.57 0, 1016611.679 498215.584 0, 1016309.676 498214.615 0, 1016007.673 498213.664 0, 1015705.67 498212.731 0, 1015403.667 498211.815 0, 1015101.664 498210.917 0, 1014799.661 498210.037 0, 1014496.198 498209.171 0, 1014480.497 503766.905 0,
+ 1014464.794 509325.041 0, 1014767.599 509325.906 0, 1015068.948 509326.784 0, 1015370.297 509327.68 0, 1015671.645 509328.593 0, 1015972.994 509329.524 0, 1016274.343 509330.473 0, 1016575.692 509331.44 0, 1016877.04 509332.425 0, 1017178.389 509333.427 0,
+ 1017479.737 509334.447 0, 1017781.086 509335.484 0, 1018082.434 509336.54 0, 1018383.782 509337.613 0, 1018685.131 509338.704 0, 1018986.479 509339.813 0, 1019287.827 509340.939 0, 1019589.175 509342.083 0, 1019890.523 509343.245 0, 1020191.871 509344.425 0,
+ 1020493.219 509345.622 0, 1020794.567 509346.837 0, 1021095.914 509348.07 0, 1021397.262 509349.32 0, 1021697.155 509350.582 0, 1021999.957 509351.875 0, 1022301.304 509353.178 0, 1022602.652 509354.5 0, 1022903.999 509355.839 0, 1023205.346 509357.196 0,
+ 1023506.693 509358.571 0, 1023808.04 509359.963 0, 1024109.387 509361.373 0, 1024410.734 509362.801 0, 1024712.081 509364.247 0, 1025013.427 509365.71 0, 1025314.774 509367.191 0, 1025616.12 509368.69 0, 1025917.467 509370.207 0, 1026218.813 509371.741 0,
+ 1026520.159 509373.293 0, 1026821.506 509374.863 0, 1027122.852 509376.45 0, 1027424.198 509378.056 0, 1027725.543 509379.679 0, 1028026.889 509381.319 0, 1028328.235 509382.978 0, 1028629.58 509384.654 0, 1028929.472 509386.34 0, 1028960.878 503828.27 0,
+ 1028992.281 498270.603 0))
+
+POLYGON ((1043393.92 509488.503 0, 1043094.032 509485.97 0, 1042792.692 509483.443 0, 1042491.352 509480.933 0, 1042190.012 509478.441 0, 1041888.672 509475.966 0, 1041587.332 509473.51 0, 1041285.992 509471.071 0, 1040984.651 509468.65 0, 1040683.311 509466.246 0,
+ 1040381.97 509463.861 0, 1040080.629 509461.493 0, 1039779.288 509459.143 0, 1039477.947 509456.81 0, 1039176.605 509454.495 0, 1038875.264 509452.198 0, 1038573.922 509449.919 0, 1038272.58 509447.658 0, 1037971.239 509445.414 0, 1037669.897 509443.188 0,
+ 1037368.554 509440.98 0, 1037067.212 509438.789 0, 1036765.87 509436.616 0, 1036464.527 509434.461 0, 1036161.732 509432.313 0, 1035861.842 509430.204 0, 1035560.499 509428.102 0, 1035259.156 509426.018 0, 1034957.813 509423.952 0, 1034656.469 509421.903 0,
+ 1034355.126 509419.872 0, 1034053.783 509417.859 0, 1033752.439 509415.863 0, 1033451.095 509413.886 0, 1033149.751 509411.926 0, 1032848.407 509409.983 0, 1032547.063 509408.059 0, 1032245.719 509406.152 0, 1031944.375 509404.263 0, 1031643.03 509402.392 0,
+ 1031341.686 509400.538 0, 1031040.341 509398.702 0, 1030738.997 509396.884 0, 1030437.652 509395.084 0, 1030136.307 509393.301 0, 1029834.962 509391.536 0, 1029533.617 509389.789 0, 1029232.271 509388.06 0, 1028929.472 509386.34 0, 1028898.065 514944.809 0,
+ 1028866.655 520503.674 0, 1029168.796 520505.39 0, 1029469.487 520507.116 0, 1029770.178 520508.859 0, 1030070.868 520510.62 0, 1030371.559 520512.399 0, 1030672.25 520514.195 0, 1030972.94 520516.01 0, 1031273.63 520517.841 0, 1031574.32 520519.691 0,
+ 1031875.011 520521.558 0, 1032175.701 520523.443 0, 1032476.39 520525.346 0, 1032777.08 520527.266 0, 1033077.77 520529.204 0, 1033378.459 520531.16 0, 1033679.149 520533.133 0, 1033979.838 520535.125 0, 1034280.527 520537.133 0, 1034581.216 520539.16 0,
+ 1034881.905 520541.204 0, 1035182.594 520543.266 0, 1035483.283 520545.346 0, 1035783.971 520547.443 0, 1036083.21 520549.548 0, 1036385.348 520551.691 0, 1036686.036 520553.841 0, 1036986.724 520556.009 0, 1037287.412 520558.195 0, 1037588.1 520560.399 0,
+ 1037888.787 520562.62 0, 1038189.475 520564.859 0, 1038490.162 520567.115 0, 1038790.85 520569.39 0, 1039091.537 520571.682 0, 1039392.224 520573.991 0, 1039692.911 520576.319 0, 1039993.597 520578.664 0, 1040294.284 520581.027 0, 1040594.97 520583.407 0,
+ 1040895.657 520585.805 0, 1041196.343 520588.221 0, 1041497.029 520590.655 0, 1041797.715 520593.106 0, 1042098.401 520595.575 0, 1042399.086 520598.062 0, 1042699.772 520600.566 0, 1043000.457 520603.088 0, 1043299.694 520605.616 0, 1043346.809 515046.861 0,
+ 1043393.92 509488.503 0))
+
+POLYGON ((1057732.388 520748.333 0, 1057433.157 520744.96 0, 1057132.48 520741.588 0, 1056831.803 520738.235 0, 1056531.125 520734.898 0, 1056230.448 520731.58 0, 1055929.77 520728.279 0, 1055629.092 520724.996 0, 1055328.414 520721.731 0, 1055027.735 520718.483 0,
+ 1054727.057 520715.253 0, 1054426.378 520712.041 0, 1054125.699 520708.846 0, 1053825.02 520705.669 0, 1053524.341 520702.51 0, 1053223.661 520699.369 0, 1052922.982 520696.245 0, 1052622.302 520693.139 0, 1052321.622 520690.05 0, 1052020.942 520686.98 0,
+ 1051720.261 520683.927 0, 1051419.581 520680.891 0, 1051118.9 520677.874 0, 1050818.219 520674.874 0, 1050516.091 520671.877 0, 1050216.857 520668.927 0, 1049916.175 520665.98 0, 1049615.494 520663.051 0, 1049314.812 520660.14 0, 1049014.13 520657.246 0,
+ 1048713.448 520654.37 0, 1048412.766 520651.512 0, 1048112.083 520648.671 0, 1047811.401 520645.848 0, 1047510.718 520643.043 0, 1047210.035 520640.255 0, 1046909.352 520637.486 0, 1046608.669 520634.733 0, 1046307.985 520631.999 0, 1046007.301 520629.282 0,
+ 1045706.618 520626.583 0, 1045405.934 520623.902 0, 1045105.25 520621.238 0, 1044804.565 520618.592 0, 1044503.881 520615.964 0, 1044203.197 520613.353 0, 1043902.512 520610.761 0, 1043601.827 520608.185 0, 1043299.694 520605.616 0, 1043252.576 526164.763 0,
+ 1043205.455 531724.3 0, 1043506.93 531726.864 0, 1043806.961 531729.434 0, 1044106.991 531732.021 0, 1044407.021 531734.626 0, 1044707.051 531737.249 0, 1045007.081 531739.889 0, 1045307.11 531742.547 0, 1045607.14 531745.222 0, 1045907.169 531747.915 0,
+ 1046207.198 531750.626 0, 1046507.227 531753.355 0, 1046807.256 531756.101 0, 1047107.285 531758.865 0, 1047407.314 531761.646 0, 1047707.342 531764.445 0, 1048007.37 531767.262 0, 1048307.398 531770.096 0, 1048607.426 531772.949 0, 1048907.454 531775.818 0,
+ 1049207.481 531778.706 0, 1049507.509 531781.611 0, 1049807.536 531784.534 0, 1050107.563 531787.474 0, 1050406.146 531790.418 0, 1050707.616 531793.408 0, 1051007.643 531796.401 0, 1051307.669 531799.412 0, 1051607.695 531802.441 0, 1051907.721 531805.487 0,
+ 1052207.747 531808.551 0, 1052507.773 531811.633 0, 1052807.798 531814.732 0, 1053107.823 531817.849 0, 1053407.848 531820.984 0, 1053707.873 531824.136 0, 1054007.898 531827.306 0, 1054307.922 531830.494 0, 1054607.947 531833.699 0, 1054907.971 531836.922 0,
+ 1055207.995 531840.163 0, 1055508.018 531843.421 0, 1055808.042 531846.697 0, 1056108.065 531849.99 0, 1056408.088 531853.302 0, 1056708.111 531856.63 0, 1057008.134 531859.977 0, 1057308.157 531863.341 0, 1057606.737 531866.707 0, 1057669.564 526307.325 0,
+ 1057732.388 520748.333 0))
+
+POLYGON ((1072007.559 532049.799 0, 1071708.987 532045.59 0, 1071408.975 532041.378 0, 1071108.963 532037.184 0, 1070808.951 532033.008 0, 1070508.938 532028.849 0, 1070208.925 532024.707 0, 1069908.912 532020.584 0, 1069608.899 532016.478 0, 1069308.885 532012.39 0,
+ 1069008.872 532008.319 0, 1068708.858 532004.266 0, 1068408.843 532000.231 0, 1068108.829 531996.214 0, 1067808.814 531992.214 0, 1067508.799 531988.231 0, 1067208.784 531984.267 0, 1066908.768 531980.32 0, 1066608.753 531976.391 0, 1066308.737 531972.479 0,
+ 1066008.72 531968.585 0, 1065708.704 531964.709 0, 1065408.688 531960.85 0, 1065108.671 531957.009 0, 1064807.212 531953.167 0, 1064508.636 531949.38 0, 1064208.619 531945.592 0, 1063908.601 531941.822 0, 1063608.583 531938.069 0, 1063308.565 531934.334 0,
+ 1063008.547 531930.616 0, 1062708.528 531926.917 0, 1062408.509 531923.235 0, 1062108.49 531919.57 0, 1061808.471 531915.924 0, 1061508.451 531912.294 0, 1061208.432 531908.683 0, 1060908.412 531905.089 0, 1060608.392 531901.513 0, 1060308.371 531897.955 0,
+ 1060008.351 531894.414 0, 1059708.33 531890.891 0, 1059408.309 531887.385 0, 1059108.288 531883.897 0, 1058808.267 531880.427 0, 1058508.245 531876.975 0, 1058208.223 531873.54 0, 1057908.201 531870.123 0, 1057606.737 531866.707 0, 1057543.905 537426.476 0,
+ 1057481.068 542986.628 0, 1057781.875 542990.036 0, 1058081.242 542993.446 0, 1058380.61 542996.873 0, 1058679.977 543000.318 0, 1058979.344 543003.781 0, 1059278.71 543007.261 0, 1059578.077 543010.759 0, 1059877.443 543014.275 0, 1060176.809 543017.808 0,
+ 1060476.175 543021.358 0, 1060775.54 543024.927 0, 1061074.906 543028.513 0, 1061374.271 543032.116 0, 1061673.636 543035.737 0, 1061973.001 543039.376 0, 1062272.365 543043.033 0, 1062571.73 543046.707 0, 1062871.094 543050.398 0, 1063170.458 543054.108 0,
+ 1063469.821 543057.834 0, 1063769.185 543061.579 0, 1064068.548 543065.341 0, 1064367.911 543069.121 0, 1064665.836 543072.9 0, 1064966.637 543076.733 0, 1065265.999 543080.566 0, 1065565.361 543084.416 0, 1065864.723 543088.284 0, 1066164.085 543092.169 0,
+ 1066463.446 543096.072 0, 1066762.807 543099.993 0, 1067062.168 543103.932 0, 1067361.529 543107.888 0, 1067660.89 543111.861 0, 1067960.25 543115.852 0, 1068259.61 543119.861 0, 1068558.97 543123.888 0, 1068858.329 543127.932 0, 1069157.689 543131.993 0,
+ 1069457.048 543136.073 0, 1069756.407 543140.169 0, 1070055.765 543144.284 0, 1070355.123 543148.416 0, 1070654.482 543152.566 0, 1070953.839 543156.733 0, 1071253.197 543160.918 0, 1071552.555 543165.121 0, 1071850.475 543169.321 0, 1071929.019 537609.368 0,
+ 1072007.559 532049.799 0))
+
+POLYGON ((1086219.308 543392.609 0, 1085921.399 543387.568 0, 1085622.054 543382.519 0, 1085322.71 543377.489 0, 1085023.365 543372.475 0, 1084724.019 543367.48 0, 1084424.674 543362.502 0, 1084125.328 543357.542 0, 1083825.982 543352.599 0, 1083526.636 543347.674 0,
+ 1083227.289 543342.767 0, 1082927.942 543337.877 0, 1082628.595 543333.005 0, 1082329.247 543328.15 0, 1082029.9 543323.313 0, 1081730.551 543318.494 0, 1081431.203 543313.692 0, 1081131.854 543308.908 0, 1080832.505 543304.142 0, 1080533.156 543299.393 0,
+ 1080233.807 543294.662 0, 1079934.457 543289.948 0, 1079635.107 543285.252 0, 1079335.757 543280.574 0, 1079034.97 543275.891 0, 1078737.055 543271.27 0, 1078437.704 543266.644 0, 1078138.353 543262.037 0, 1077839.001 543257.446 0, 1077539.649 543252.874 0,
+ 1077240.297 543248.319 0, 1076940.944 543243.781 0, 1076641.591 543239.261 0, 1076342.238 543234.759 0, 1076042.885 543230.275 0, 1075743.531 543225.808 0, 1075444.178 543221.359 0, 1075144.824 543216.927 0, 1074845.469 543212.513 0, 1074546.115 543208.116 0,
+ 1074246.76 543203.738 0, 1073947.405 543199.376 0, 1073648.049 543195.033 0, 1073348.694 543190.707 0, 1073049.338 543186.398 0, 1072749.982 543182.108 0, 1072450.625 543177.835 0, 1072151.269 543173.579 0, 1071850.475 543169.321 0, 1071771.925 548729.654 0,
+ 1071693.369 554290.365 0, 1071993.505 554294.614 0, 1072292.207 554298.86 0, 1072590.909 554303.124 0, 1072889.611 554307.405 0, 1073188.312 554311.704 0, 1073487.013 554316.02 0, 1073785.714 554320.355 0, 1074084.415 554324.706 0, 1074383.115 554329.075 0,
+ 1074681.815 554333.462 0, 1074980.515 554337.867 0, 1075279.214 554342.289 0, 1075577.914 554346.728 0, 1075876.613 554351.185 0, 1076175.311 554355.66 0, 1076474.01 554360.153 0, 1076772.708 554364.662 0, 1077071.406 554369.19 0, 1077370.104 554373.735 0,
+ 1077668.801 554378.298 0, 1077967.498 554382.878 0, 1078266.195 554387.476 0, 1078564.892 554392.091 0, 1078862.155 554396.702 0, 1079162.284 554401.374 0, 1079460.98 554406.043 0, 1079759.675 554410.728 0, 1080058.371 554415.432 0, 1080357.066 554420.152 0,
+ 1080655.76 554424.891 0, 1080954.455 554429.647 0, 1081253.149 554434.421 0, 1081551.843 554439.212 0, 1081850.536 554444.021 0, 1082149.229 554448.847 0, 1082447.922 554453.691 0, 1082746.615 554458.552 0, 1083045.307 554463.431 0, 1083344 554468.328 0,
+ 1083642.691 554473.242 0, 1083941.383 554478.174 0, 1084240.074 554483.124 0, 1084538.765 554488.091 0, 1084837.456 554493.075 0, 1085136.146 554498.077 0, 1085434.836 554503.097 0, 1085733.526 554508.134 0, 1086030.784 554513.165 0, 1086125.049 548952.698 0,
+ 1086219.308 543392.609 0))
+
+POLYGON ((1100367.512 554776.47 0, 1100070.267 554770.6 0, 1099771.593 554764.718 0, 1099472.918 554758.855 0, 1099174.243 554753.009 0, 1098875.568 554747.18 0, 1098576.892 554741.37 0, 1098278.216 554735.576 0, 1097979.54 554729.801 0, 1097680.863 554724.043 0,
+ 1097382.186 554718.302 0, 1097083.508 554712.579 0, 1096784.831 554706.874 0, 1096486.153 554701.186 0, 1096187.474 554695.516 0, 1095888.795 554689.863 0, 1095590.116 554684.228 0, 1095291.437 554678.611 0, 1094992.757 554673.011 0, 1094694.077 554667.429 0,
+ 1094395.396 554661.864 0, 1094096.716 554656.317 0, 1093798.035 554650.787 0, 1093499.353 554645.275 0, 1093199.241 554639.754 0, 1092901.989 554634.304 0, 1092603.307 554628.845 0, 1092304.624 554623.403 0, 1092005.941 554617.979 0, 1091707.258 554612.572 0,
+ 1091408.574 554607.184 0, 1091109.89 554601.812 0, 1090811.206 554596.458 0, 1090512.522 554591.122 0, 1090213.837 554585.804 0, 1089915.151 554580.503 0, 1089616.466 554575.219 0, 1089317.78 554569.953 0, 1089019.094 554564.705 0, 1088720.407 554559.474 0,
+ 1088421.721 554554.261 0, 1088123.034 554549.066 0, 1087824.346 554543.888 0, 1087525.659 554538.727 0, 1087226.971 554533.585 0, 1086928.282 554528.459 0, 1086629.594 554523.352 0, 1086330.905 554518.262 0, 1086030.784 554513.165 0, 1085936.513 560074.006 0,
+ 1085842.235 565635.218 0, 1086141.698 565640.303 0, 1086439.732 565645.382 0, 1086737.766 565650.479 0, 1087035.8 565655.593 0, 1087333.833 565660.724 0, 1087631.866 565665.873 0, 1087929.899 565671.04 0, 1088227.931 565676.224 0, 1088525.964 565681.426 0,
+ 1088823.995 565686.645 0, 1089122.027 565691.882 0, 1089420.058 565697.136 0, 1089718.089 565702.408 0, 1090016.12 565707.697 0, 1090314.15 565713.004 0, 1090612.18 565718.329 0, 1090910.21 565723.671 0, 1091208.239 565729.03 0, 1091506.268 565734.407 0,
+ 1091804.297 565739.802 0, 1092102.325 565745.214 0, 1092400.353 565750.644 0, 1092698.381 565756.091 0, 1092994.981 565761.53 0, 1093294.436 565767.038 0, 1093592.462 565772.538 0, 1093890.489 565778.056 0, 1094188.515 565783.591 0, 1094486.541 565789.143 0,
+ 1094784.566 565794.713 0, 1095082.591 565800.301 0, 1095380.616 565805.906 0, 1095678.641 565811.529 0, 1095976.665 565817.169 0, 1096274.689 565822.827 0, 1096572.712 565828.502 0, 1096870.736 565834.195 0, 1097168.758 565839.905 0, 1097466.781 565845.633 0,
+ 1097764.803 565851.379 0, 1098062.825 565857.142 0, 1098360.846 565862.922 0, 1098658.868 565868.72 0, 1098956.888 565874.536 0, 1099254.909 565880.369 0, 1099552.929 565886.22 0, 1099850.949 565892.088 0, 1100147.542 565897.946 0, 1100257.531 560337.022 0,
+ 1100367.512 554776.47 0))
+
+POLYGON ((1114452.05 566201.088 0, 1114155.472 566194.392 0, 1113857.47 566187.682 0, 1113559.468 566180.989 0, 1113261.465 566174.314 0, 1112963.462 566167.656 0, 1112665.458 566161.016 0, 1112367.454 566154.394 0, 1112069.45 566147.789 0, 1111771.445 566141.202 0,
+ 1111473.44 566134.632 0, 1111175.434 566128.079 0, 1110877.428 566121.545 0, 1110579.422 566115.027 0, 1110281.415 566108.528 0, 1109983.408 566102.045 0, 1109685.401 566095.581 0, 1109387.393 566089.134 0, 1109089.385 566082.704 0, 1108791.376 566076.292 0,
+ 1108493.367 566069.898 0, 1108195.358 566063.521 0, 1107897.348 566057.161 0, 1107599.338 566050.819 0, 1107299.903 566044.465 0, 1107003.317 566038.188 0, 1106705.306 566031.899 0, 1106407.294 566025.627 0, 1106109.282 566019.373 0, 1105811.27 566013.137 0,
+ 1105513.257 566006.918 0, 1105215.244 566000.716 0, 1104917.231 565994.532 0, 1104619.217 565988.366 0, 1104321.203 565982.217 0, 1104023.189 565976.085 0, 1103725.174 565969.972 0, 1103427.159 565963.875 0, 1103129.143 565957.797 0, 1102831.127 565951.735 0,
+ 1102533.111 565945.692 0, 1102235.094 565939.666 0, 1101937.077 565933.657 0, 1101639.06 565927.666 0, 1101341.042 565921.692 0, 1101043.024 565915.736 0, 1100745.006 565909.798 0, 1100446.987 565903.877 0, 1100147.542 565897.946 0, 1100037.546 571459.237 0,
+ 1099927.543 577020.893 0, 1100226.33 577026.811 0, 1100523.694 577032.719 0, 1100821.058 577038.644 0, 1101118.421 577044.587 0, 1101415.784 577050.548 0, 1101713.147 577056.526 0, 1102010.509 577062.521 0, 1102307.871 577068.534 0, 1102605.233 577074.564 0,
+ 1102902.594 577080.612 0, 1103199.955 577086.678 0, 1103497.315 577092.76 0, 1103794.675 577098.861 0, 1104092.035 577104.979 0, 1104389.395 577111.114 0, 1104686.754 577117.267 0, 1104984.113 577123.437 0, 1105281.471 577129.625 0, 1105578.829 577135.831 0,
+ 1105876.187 577142.054 0, 1106173.544 577148.294 0, 1106470.901 577154.552 0, 1106768.257 577160.827 0, 1107064.192 577167.09 0, 1107362.969 577173.431 0, 1107660.325 577179.759 0, 1107957.68 577186.104 0, 1108255.034 577192.467 0, 1108552.389 577198.847 0,
+ 1108849.743 577205.245 0, 1109147.096 577211.661 0, 1109444.449 577218.094 0, 1109741.802 577224.544 0, 1110039.154 577231.012 0, 1110336.506 577237.498 0, 1110633.858 577244.001 0, 1110931.209 577250.521 0, 1111228.56 577257.059 0, 1111525.911 577263.614 0,
+ 1111823.261 577270.187 0, 1112120.611 577276.778 0, 1112417.96 577283.386 0, 1112715.309 577290.011 0, 1113012.657 577296.654 0, 1113310.006 577303.315 0, 1113607.353 577309.992 0, 1113904.701 577316.688 0, 1114200.627 577323.369 0, 1114326.343 571762.046 0,
+ 1114452.05 566201.088 0))
+
+POLYGON ((1128472.8 577666.168 0, 1128176.891 577658.651 0, 1127879.564 577651.115 0, 1127582.236 577643.597 0, 1127284.908 577636.097 0, 1126987.58 577628.614 0, 1126690.251 577621.148 0, 1126392.921 577613.7 0, 1126095.591 577606.27 0, 1125798.261 577598.857 0,
+ 1125500.93 577591.461 0, 1125203.599 577584.083 0, 1124906.267 577576.723 0, 1124608.935 577569.38 0, 1124311.603 577562.054 0, 1124014.27 577554.746 0, 1123716.936 577547.456 0, 1123419.602 577540.183 0, 1123122.268 577532.928 0, 1122824.934 577525.69 0,
+ 1122527.598 577518.469 0, 1122230.263 577511.266 0, 1121932.927 577504.081 0, 1121635.591 577496.913 0, 1121336.835 577489.728 0, 1121040.917 577482.629 0, 1120743.579 577475.514 0, 1120446.241 577468.416 0, 1120148.903 577461.335 0, 1119851.564 577454.272 0,
+ 1119554.224 577447.227 0, 1119256.885 577440.199 0, 1118959.545 577433.188 0, 1118662.204 577426.195 0, 1118364.863 577419.22 0, 1118067.522 577412.262 0, 1117770.18 577405.321 0, 1117472.838 577398.398 0, 1117175.495 577391.493 0, 1116878.152 577384.605 0,
+ 1116580.809 577377.735 0, 1116283.465 577370.882 0, 1115986.121 577364.046 0, 1115688.777 577357.228 0, 1115391.432 577350.428 0, 1115094.086 577343.645 0, 1114796.74 577336.879 0, 1114499.394 577330.131 0, 1114200.627 577323.369 0, 1114074.903 582885.053 0,
+ 1113949.172 588447.096 0, 1114247.281 588453.844 0, 1114543.972 588460.577 0, 1114840.663 588467.327 0, 1115137.354 588474.095 0, 1115434.044 588480.881 0, 1115730.734 588487.684 0, 1116027.424 588494.504 0, 1116324.113 588501.342 0, 1116620.801 588508.197 0,
+ 1116917.49 588515.07 0, 1117214.177 588521.96 0, 1117510.865 588528.868 0, 1117807.552 588535.793 0, 1118104.239 588542.736 0, 1118400.925 588549.696 0, 1118697.611 588556.674 0, 1118994.296 588563.669 0, 1119290.981 588570.681 0, 1119587.666 588577.711 0,
+ 1119884.35 588584.759 0, 1120181.033 588591.823 0, 1120477.717 588598.906 0, 1120774.4 588606.006 0, 1121069.666 588613.089 0, 1121367.764 588620.258 0, 1121664.446 588627.41 0, 1121961.127 588634.58 0, 1122257.808 588641.767 0, 1122554.488 588648.971 0,
+ 1122851.168 588656.193 0, 1123147.848 588663.433 0, 1123444.527 588670.69 0, 1123741.206 588677.964 0, 1124037.884 588685.256 0, 1124334.562 588692.565 0, 1124631.239 588699.892 0, 1124927.916 588707.237 0, 1125224.593 588714.598 0, 1125521.269 588721.977 0,
+ 1125817.944 588729.374 0, 1126114.62 588736.788 0, 1126411.294 588744.22 0, 1126707.969 588751.669 0, 1127004.643 588759.135 0, 1127301.316 588766.619 0, 1127597.989 588774.121 0, 1127894.662 588781.64 0, 1128189.919 588789.14 0, 1128331.364 583227.475 0,
+ 1128472.8 577666.168 0))
+
+POLYGON ((1142429.643 589171.415 0, 1142134.406 589163.081 0, 1141837.756 589154.724 0, 1141541.105 589146.384 0, 1141244.454 589138.062 0, 1140947.802 589129.758 0, 1140651.15 589121.47 0, 1140354.498 589113.201 0, 1140057.845 589104.948 0, 1139761.191 589096.714 0,
+ 1139464.537 589088.496 0, 1139167.882 589080.296 0, 1138871.227 589072.114 0, 1138574.572 589063.949 0, 1138277.916 589055.802 0, 1137981.259 589047.672 0, 1137684.602 589039.559 0, 1137387.945 589031.464 0, 1137091.287 589023.386 0, 1136794.629 589015.326 0,
+ 1136497.97 589007.283 0, 1136201.311 588999.258 0, 1135904.651 588991.25 0, 1135607.991 588983.26 0, 1135309.916 588975.249 0, 1135014.669 588967.332 0, 1134718.007 588959.394 0, 1134421.345 588951.473 0, 1134124.682 588943.57 0, 1133828.019 588935.684 0,
+ 1133531.356 588927.816 0, 1133234.692 588919.966 0, 1132938.027 588912.132 0, 1132641.362 588904.317 0, 1132344.697 588896.518 0, 1132048.031 588888.738 0, 1131751.365 588880.974 0, 1131454.698 588873.228 0, 1131158.031 588865.5 0, 1130861.363 588857.789 0,
+ 1130564.695 588850.096 0, 1130268.026 588842.419 0, 1129971.357 588834.761 0, 1129674.688 588827.12 0, 1129378.018 588819.496 0, 1129081.348 588811.89 0, 1128784.677 588804.301 0, 1128488.006 588796.73 0, 1128189.919 588789.14 0, 1128048.465 594351.16 0,
+ 1127907.002 599913.533 0, 1128204.431 599921.106 0, 1128500.447 599928.66 0, 1128796.463 599936.232 0, 1129092.479 599943.822 0, 1129388.494 599951.429 0, 1129684.509 599959.053 0, 1129980.523 599966.694 0, 1130276.537 599974.354 0, 1130572.55 599982.03 0,
+ 1130868.563 599989.724 0, 1131164.575 599997.435 0, 1131460.587 600005.164 0, 1131756.599 600012.91 0, 1132052.61 600020.674 0, 1132348.621 600028.455 0, 1132644.631 600036.254 0, 1132940.641 600044.07 0, 1133236.65 600051.903 0, 1133532.659 600059.754 0,
+ 1133828.667 600067.622 0, 1134124.675 600075.507 0, 1134420.682 600083.41 0, 1134716.689 600091.331 0, 1135011.285 600099.231 0, 1135308.702 600107.224 0, 1135604.707 600115.197 0, 1135900.712 600123.187 0, 1136196.717 600131.194 0, 1136492.721 600139.219 0,
+ 1136788.725 600147.262 0, 1137084.728 600155.322 0, 1137380.73 600163.399 0, 1137676.733 600171.494 0, 1137972.734 600179.606 0, 1138268.736 600187.735 0, 1138564.736 600195.882 0, 1138860.737 600204.046 0, 1139156.737 600212.228 0, 1139452.736 600220.427 0,
+ 1139748.735 600228.644 0, 1140044.733 600236.878 0, 1140340.731 600245.13 0, 1140636.728 600253.398 0, 1140932.725 600261.685 0, 1141228.722 600269.989 0, 1141524.718 600278.31 0, 1141820.713 600286.648 0, 1142115.299 600294.964 0, 1142272.476 594733.014 0,
+ 1142429.643 589171.415 0))
+
+POLYGON ((1156322.461 600716.536 0, 1156027.898 600707.387 0, 1155731.927 600698.212 0, 1155435.956 600689.055 0, 1155139.984 600679.915 0, 1154844.012 600670.793 0, 1154548.039 600661.687 0, 1154252.066 600652.6 0, 1153956.092 600643.53 0, 1153660.117 600634.477 0,
+ 1153364.142 600625.441 0, 1153068.167 600616.423 0, 1152772.191 600607.423 0, 1152476.214 600598.44 0, 1152180.237 600589.474 0, 1151884.259 600580.525 0, 1151588.281 600571.595 0, 1151292.303 600562.681 0, 1150996.323 600553.785 0, 1150700.344 600544.906 0,
+ 1150404.363 600536.045 0, 1150108.383 600527.201 0, 1149812.401 600518.375 0, 1149516.419 600509.566 0, 1149219.029 600500.733 0, 1148924.454 600492 0, 1148628.471 600483.244 0, 1148332.487 600474.505 0, 1148036.503 600465.783 0, 1147740.518 600457.078 0,
+ 1147444.532 600448.391 0, 1147148.546 600439.722 0, 1146852.56 600431.069 0, 1146556.573 600422.435 0, 1146260.585 600413.817 0, 1145964.597 600405.218 0, 1145668.609 600396.635 0, 1145372.62 600388.07 0, 1145076.63 600379.522 0, 1144780.64 600370.992 0,
+ 1144484.65 600362.479 0, 1144188.659 600353.984 0, 1143892.667 600345.506 0, 1143596.675 600337.046 0, 1143300.683 600328.602 0, 1143004.69 600320.177 0, 1142708.697 600311.768 0, 1142412.703 600303.378 0, 1142115.299 600294.964 0, 1141958.112 605857.263 0,
+ 1141800.915 611419.908 0, 1142097.661 611428.302 0, 1142393 611436.675 0, 1142688.339 611445.064 0, 1142983.677 611453.471 0, 1143279.015 611461.896 0, 1143574.352 611470.337 0, 1143869.688 611478.797 0, 1144165.025 611487.273 0, 1144460.36 611495.767 0,
+ 1144755.696 611504.279 0, 1145051.03 611512.807 0, 1145346.364 611521.353 0, 1145641.698 611529.917 0, 1145937.031 611538.498 0, 1146232.364 611547.096 0, 1146527.696 611555.712 0, 1146823.028 611564.345 0, 1147118.359 611572.995 0, 1147413.69 611581.663 0,
+ 1147709.02 611590.348 0, 1148004.35 611599.051 0, 1148299.679 611607.77 0, 1148595.007 611616.508 0, 1148888.93 611625.221 0, 1149185.663 611634.035 0, 1149480.99 611642.824 0, 1149776.317 611651.631 0, 1150071.643 611660.455 0, 1150366.968 611669.297 0,
+ 1150662.293 611678.156 0, 1150957.618 611687.032 0, 1151252.941 611695.926 0, 1151548.265 611704.837 0, 1151843.588 611713.766 0, 1152138.91 611722.711 0, 1152434.232 611731.675 0, 1152729.553 611740.655 0, 1153024.874 611749.653 0, 1153320.194 611758.669 0,
+ 1153615.514 611767.702 0, 1153910.833 611776.752 0, 1154206.152 611785.819 0, 1154501.47 611794.904 0, 1154796.788 611804.007 0, 1155092.105 611813.126 0, 1155387.421 611822.264 0, 1155682.737 611831.418 0, 1155976.649 611840.546 0, 1156149.56 606278.368 0,
+ 1156322.461 600716.536 0))
+
+POLYGON ((1170151.137 612301.232 0, 1169857.251 612291.274 0, 1169561.962 612281.285 0, 1169266.672 612271.313 0, 1168971.382 612261.359 0, 1168676.091 612251.423 0, 1168380.8 612241.504 0, 1168085.508 612231.602 0, 1167790.216 612221.717 0, 1167494.923 612211.85 0,
+ 1167199.629 612202 0, 1166904.335 612192.168 0, 1166609.04 612182.353 0, 1166313.745 612172.555 0, 1166018.449 612162.775 0, 1165723.153 612153.012 0, 1165427.855 612143.267 0, 1165132.558 612133.539 0, 1164837.26 612123.828 0, 1164541.961 612114.135 0,
+ 1164246.662 612104.459 0, 1163951.362 612094.8 0, 1163656.061 612085.159 0, 1163360.76 612075.536 0, 1163064.056 612065.884 0, 1162770.156 612056.34 0, 1162474.854 612046.769 0, 1162179.55 612037.214 0, 1161884.246 612027.677 0, 1161588.942 612018.158 0,
+ 1161293.637 612008.656 0, 1160998.331 611999.171 0, 1160703.025 611989.704 0, 1160407.719 611980.254 0, 1160112.411 611970.821 0, 1159817.104 611961.406 0, 1159521.795 611952.008 0, 1159226.486 611942.628 0, 1158931.177 611933.265 0, 1158635.867 611923.919 0,
+ 1158340.556 611914.591 0, 1158045.245 611905.28 0, 1157749.934 611895.986 0, 1157454.622 611886.71 0, 1157159.309 611877.451 0, 1156863.996 611868.21 0, 1156568.682 611858.986 0, 1156273.367 611849.779 0, 1155976.649 611840.546 0, 1155803.726 617403.066 0,
+ 1155630.793 622965.925 0, 1155926.854 622975.138 0, 1156221.514 622984.324 0, 1156516.173 622993.527 0, 1156810.831 623002.748 0, 1157105.489 623011.987 0, 1157400.147 623021.242 0, 1157694.803 623030.515 0, 1157989.46 623039.805 0, 1158284.115 623049.113 0,
+ 1158578.771 623058.438 0, 1158873.425 623067.78 0, 1159168.079 623077.14 0, 1159462.733 623086.517 0, 1159757.386 623095.911 0, 1160052.038 623105.323 0, 1160346.69 623114.752 0, 1160641.341 623124.198 0, 1160935.992 623133.662 0, 1161230.642 623143.143 0,
+ 1161525.292 623152.641 0, 1161819.941 623162.157 0, 1162114.59 623171.69 0, 1162409.238 623181.241 0, 1162702.485 623190.763 0, 1162998.532 623200.393 0, 1163293.178 623209.996 0, 1163587.824 623219.616 0, 1163882.469 623229.253 0, 1164177.113 623238.907 0,
+ 1164471.757 623248.579 0, 1164766.401 623258.268 0, 1165061.044 623267.975 0, 1165355.686 623277.698 0, 1165650.328 623287.44 0, 1165944.969 623297.198 0, 1166239.609 623306.974 0, 1166534.249 623316.767 0, 1166828.889 623326.578 0, 1167123.528 623336.406 0,
+ 1167418.166 623346.251 0, 1167712.804 623356.113 0, 1168007.441 623365.993 0, 1168302.077 623375.891 0, 1168596.713 623385.805 0, 1168891.348 623395.737 0, 1169185.983 623405.686 0, 1169480.617 623415.653 0, 1169773.853 623425.59 0, 1169962.501 617863.242 0,
+ 1170151.137 612301.232 0))
+
+POLYGON ((1183915.556 623925.209 0, 1183622.348 623914.444 0, 1183327.743 623903.645 0, 1183033.138 623892.863 0, 1182738.532 623882.099 0, 1182443.925 623871.352 0, 1182149.318 623860.622 0, 1181854.71 623849.91 0, 1181560.101 623839.215 0, 1181265.492 623828.538 0,
+ 1180970.882 623817.877 0, 1180676.271 623807.235 0, 1180381.66 623796.609 0, 1180087.049 623786.001 0, 1179792.436 623775.41 0, 1179497.823 623764.836 0, 1179203.209 623754.28 0, 1178908.595 623743.741 0, 1178613.98 623733.22 0, 1178319.365 623722.715 0,
+ 1178024.749 623712.229 0, 1177730.132 623701.759 0, 1177435.515 623691.307 0, 1177140.897 623680.872 0, 1176844.881 623670.405 0, 1176551.659 623660.054 0, 1176257.039 623649.672 0, 1175962.419 623639.306 0, 1175667.798 623628.958 0, 1175373.176 623618.627 0,
+ 1175078.554 623608.314 0, 1174783.931 623598.018 0, 1174489.308 623587.739 0, 1174194.684 623577.477 0, 1173900.059 623567.233 0, 1173605.434 623557.007 0, 1173310.808 623546.797 0, 1173016.181 623536.605 0, 1172721.554 623526.43 0, 1172426.927 623516.273 0,
+ 1172132.298 623506.133 0, 1171837.669 623496.01 0, 1171543.04 623485.905 0, 1171248.41 623475.817 0, 1170953.779 623465.746 0, 1170659.148 623455.693 0, 1170364.516 623445.657 0, 1170069.884 623435.638 0, 1169773.853 623425.59 0, 1169585.193 628988.273 0,
+ 1169396.522 634551.289 0, 1169691.895 634561.315 0, 1169985.873 634571.312 0, 1170279.85 634581.325 0, 1170573.826 634591.356 0, 1170867.802 634601.405 0, 1171161.777 634611.47 0, 1171455.752 634621.553 0, 1171749.726 634631.653 0, 1172043.7 634641.771 0,
+ 1172337.672 634651.906 0, 1172631.645 634662.058 0, 1172925.616 634672.227 0, 1173219.587 634682.414 0, 1173513.558 634692.618 0, 1173807.528 634702.839 0, 1174101.497 634713.078 0, 1174395.465 634723.334 0, 1174689.433 634733.607 0, 1174983.401 634743.898 0,
+ 1175277.368 634754.205 0, 1175571.334 634764.531 0, 1175865.299 634774.873 0, 1176159.264 634785.233 0, 1176451.835 634795.56 0, 1176747.193 634806.004 0, 1177041.156 634816.416 0, 1177335.118 634826.845 0, 1177629.08 634837.291 0, 1177923.042 634847.754 0,
+ 1178217.002 634858.235 0, 1178510.962 634868.733 0, 1178804.922 634879.249 0, 1179098.881 634889.782 0, 1179392.839 634900.332 0, 1179686.796 634910.899 0, 1179980.753 634921.484 0, 1180274.71 634932.086 0, 1180568.666 634942.705 0, 1180862.621 634953.341 0,
+ 1181156.575 634963.995 0, 1181450.529 634974.667 0, 1181744.482 634985.355 0, 1182038.435 634996.061 0, 1182332.387 635006.784 0, 1182626.338 635017.524 0, 1182920.289 635028.282 0, 1183214.239 635039.057 0, 1183506.795 635049.798 0, 1183711.182 629487.337 0,
+ 1183915.556 623925.209 0))
+
+POLYGON ((1197615.604 635588.169 0, 1197323.077 635576.601 0, 1197029.158 635564.996 0, 1196735.239 635553.408 0, 1196441.319 635541.837 0, 1196147.399 635530.284 0, 1195853.478 635518.747 0, 1195559.556 635507.228 0, 1195265.633 635495.727 0, 1194971.71 635484.243 0,
+ 1194677.786 635472.776 0, 1194383.862 635461.326 0, 1194089.936 635449.893 0, 1193796.011 635438.478 0, 1193502.084 635427.081 0, 1193208.157 635415.7 0, 1192914.229 635404.337 0, 1192620.3 635392.991 0, 1192326.371 635381.662 0, 1192032.441 635370.351 0,
+ 1191738.51 635359.057 0, 1191444.579 635347.78 0, 1191150.647 635336.521 0, 1190856.715 635325.279 0, 1190561.39 635314.001 0, 1190268.848 635302.847 0, 1189974.913 635291.656 0, 1189680.978 635280.483 0, 1189387.042 635269.328 0, 1189093.105 635258.19 0,
+ 1188799.168 635247.069 0, 1188505.23 635235.965 0, 1188211.292 635224.879 0, 1187917.353 635213.809 0, 1187623.413 635202.758 0, 1187329.473 635191.723 0, 1187035.532 635180.706 0, 1186741.59 635169.706 0, 1186447.647 635158.723 0, 1186153.704 635147.758 0,
+ 1185859.761 635136.81 0, 1185565.816 635125.88 0, 1185271.871 635114.966 0, 1184977.926 635104.07 0, 1184683.98 635093.191 0, 1184390.033 635082.33 0, 1184096.085 635071.486 0, 1183802.137 635060.659 0, 1183506.795 635049.798 0, 1183302.397 640612.587 0,
+ 1183097.986 646175.703 0, 1183392.67 646186.539 0, 1183685.963 646197.342 0, 1183979.256 646208.162 0, 1184272.548 646218.999 0, 1184565.839 646229.854 0, 1184859.13 646240.726 0, 1185152.42 646251.615 0, 1185445.709 646262.521 0, 1185738.998 646273.445 0,
+ 1186032.286 646284.385 0, 1186325.574 646295.343 0, 1186618.861 646306.319 0, 1186912.147 646317.312 0, 1187205.433 646328.321 0, 1187498.718 646339.349 0, 1187792.002 646350.393 0, 1188085.286 646361.455 0, 1188378.569 646372.534 0, 1188671.851 646383.63 0,
+ 1188965.133 646394.743 0, 1189258.414 646405.874 0, 1189551.694 646417.022 0, 1189844.974 646428.187 0, 1190136.864 646439.317 0, 1190431.531 646450.57 0, 1190724.809 646461.787 0, 1191018.086 646473.021 0, 1191311.363 646484.273 0, 1191604.639 646495.542 0,
+ 1191897.914 646506.828 0, 1192191.188 646518.131 0, 1192484.462 646529.452 0, 1192777.735 646540.789 0, 1193071.007 646552.145 0, 1193364.279 646563.517 0, 1193657.55 646574.907 0, 1193950.821 646586.314 0, 1194244.09 646597.738 0, 1194537.36 646609.179 0,
+ 1194830.628 646620.638 0, 1195123.896 646632.114 0, 1195417.163 646643.607 0, 1195710.429 646655.118 0, 1196003.695 646666.645 0, 1196296.96 646678.19 0, 1196590.224 646689.753 0, 1196883.488 646701.332 0, 1197175.364 646712.874 0, 1197395.49 641150.359 0,
+ 1197615.604 635588.169 0))
+
+POLYGON ((1211251.167 647289.815 0, 1210959.323 647277.448 0, 1210666.093 647265.04 0, 1210372.863 647252.65 0, 1210079.632 647240.276 0, 1209786.4 647227.92 0, 1209493.167 647215.581 0, 1209199.934 647203.259 0, 1208906.699 647190.955 0, 1208613.465 647178.667 0,
+ 1208320.229 647166.397 0, 1208026.993 647154.145 0, 1207733.756 647141.909 0, 1207440.518 647129.691 0, 1207147.279 647117.49 0, 1206854.04 647105.307 0, 1206560.8 647093.14 0, 1206267.56 647080.991 0, 1205974.318 647068.859 0, 1205681.076 647056.745 0,
+ 1205387.834 647044.647 0, 1205094.59 647032.567 0, 1204801.346 647020.504 0, 1204508.101 647008.459 0, 1204213.469 646996.374 0, 1203921.609 646984.419 0, 1203628.362 646972.426 0, 1203335.114 646960.449 0, 1203041.866 646948.49 0, 1202748.617 646936.548 0,
+ 1202455.367 646924.623 0, 1202162.116 646912.716 0, 1201868.865 646900.825 0, 1201575.613 646888.952 0, 1201282.361 646877.097 0, 1200989.107 646865.258 0, 1200695.853 646853.437 0, 1200402.598 646841.633 0, 1200109.343 646829.846 0, 1199816.087 646818.077 0,
+ 1199522.83 646806.325 0, 1199229.573 646794.59 0, 1198936.314 646782.872 0, 1198643.056 646771.172 0, 1198349.796 646759.489 0, 1198056.536 646747.823 0, 1197763.275 646736.174 0, 1197470.013 646724.543 0, 1197175.364 646712.874 0, 1196955.224 652275.712 0,
+ 1196735.072 657838.868 0, 1197029.064 657850.511 0, 1197321.671 657862.117 0, 1197614.277 657873.739 0, 1197906.882 657885.379 0, 1198199.487 657897.036 0, 1198492.091 657908.71 0, 1198784.694 657920.402 0, 1199077.297 657932.11 0, 1199369.899 657943.836 0,
+ 1199662.5 657955.579 0, 1199955.101 657967.34 0, 1200247.7 657979.117 0, 1200540.3 657990.912 0, 1200832.898 658002.724 0, 1201125.496 658014.553 0, 1201418.093 658026.4 0, 1201710.689 658038.264 0, 1202003.285 658050.144 0, 1202295.88 658062.043 0,
+ 1202588.474 658073.958 0, 1202881.068 658085.89 0, 1203173.661 658097.84 0, 1203466.253 658109.807 0, 1203757.462 658121.735 0, 1204051.435 658133.793 0, 1204344.026 658145.812 0, 1204636.615 658157.848 0, 1204929.204 658169.901 0, 1205221.792 658181.971 0,
+ 1205514.379 658194.059 0, 1205806.965 658206.163 0, 1206099.551 658218.285 0, 1206392.136 658230.425 0, 1206684.721 658242.581 0, 1206977.304 658254.755 0, 1207269.887 658266.946 0, 1207562.47 658279.154 0, 1207855.051 658291.379 0, 1208147.632 658303.621 0,
+ 1208440.212 658315.881 0, 1208732.791 658328.158 0, 1209025.37 658340.452 0, 1209317.948 658352.764 0, 1209610.525 658365.093 0, 1209903.101 658377.438 0, 1210195.677 658389.801 0, 1210488.252 658402.182 0, 1210779.445 658414.521 0, 1211015.313 652852.008 0,
+ 1211251.167 647289.815 0))
+
+POLYGON ((1224822.135 659029.849 0, 1224530.976 659016.687 0, 1224238.437 659003.48 0, 1223945.898 658990.291 0, 1223653.357 658977.118 0, 1223360.816 658963.963 0, 1223068.274 658950.825 0, 1222775.731 658937.704 0, 1222483.188 658924.601 0, 1222190.644 658911.514 0,
+ 1221898.099 658898.445 0, 1221605.553 658885.393 0, 1221313.006 658872.359 0, 1221020.459 658859.341 0, 1220727.911 658846.341 0, 1220435.362 658833.358 0, 1220142.812 658820.392 0, 1219850.262 658807.444 0, 1219557.711 658794.512 0, 1219265.159 658781.598 0,
+ 1218972.606 658768.701 0, 1218680.053 658755.822 0, 1218387.498 658742.959 0, 1218094.943 658730.114 0, 1217801.007 658717.226 0, 1217509.831 658704.475 0, 1217217.274 658691.682 0, 1216924.716 658678.905 0, 1216632.157 658666.146 0, 1216339.598 658653.404 0,
+ 1216047.038 658640.68 0, 1215754.477 658627.972 0, 1215461.915 658615.282 0, 1215169.352 658602.609 0, 1214876.789 658589.953 0, 1214584.225 658577.314 0, 1214291.661 658564.693 0, 1213999.095 658552.089 0, 1213706.529 658539.502 0, 1213413.962 658526.932 0,
+ 1213121.394 658514.379 0, 1212828.826 658501.844 0, 1212536.257 658489.326 0, 1212243.687 658476.825 0, 1211951.116 658464.342 0, 1211658.545 658451.875 0, 1211365.973 658439.426 0, 1211073.4 658426.994 0, 1210779.445 658414.521 0, 1210543.563 663977.349 0,
+ 1210307.668 669540.489 0, 1210600.966 669552.934 0, 1210892.884 669565.338 0, 1211184.801 669577.76 0, 1211476.718 669590.198 0, 1211768.633 669602.654 0, 1212060.548 669615.127 0, 1212352.463 669627.617 0, 1212644.376 669640.124 0, 1212936.289 669652.649 0,
+ 1213228.201 669665.19 0, 1213520.112 669677.749 0, 1213812.023 669690.325 0, 1214103.933 669702.918 0, 1214395.842 669715.528 0, 1214687.75 669728.156 0, 1214979.658 669740.801 0, 1215271.565 669753.462 0, 1215563.471 669766.141 0, 1215855.377 669778.838 0,
+ 1216147.281 669791.551 0, 1216439.185 669804.282 0, 1216731.088 669817.029 0, 1217022.991 669829.794 0, 1217313.515 669842.516 0, 1217606.793 669855.376 0, 1217898.693 669868.192 0, 1218190.593 669881.026 0, 1218482.491 669893.877 0, 1218774.389 669906.745 0,
+ 1219066.286 669919.63 0, 1219358.183 669932.533 0, 1219650.078 669945.452 0, 1219941.973 669958.389 0, 1220233.867 669971.343 0, 1220525.761 669984.314 0, 1220817.653 669997.302 0, 1221109.545 670010.308 0, 1221401.436 670023.33 0, 1221693.326 670036.37 0,
+ 1221985.216 670049.427 0, 1222277.105 670062.501 0, 1222568.993 670075.593 0, 1222860.88 670088.701 0, 1223152.766 670101.827 0, 1223444.652 670114.97 0, 1223736.537 670128.13 0, 1224028.421 670141.307 0, 1224318.928 670154.44 0, 1224570.538 664591.988 0,
+ 1224822.135 659029.849 0))
+
+POLYGON ((1238328.396 670807.972 0, 1238037.926 670794.019 0, 1237746.08 670780.017 0, 1237454.233 670766.033 0, 1237162.386 670752.065 0, 1236870.538 670738.115 0, 1236578.689 670724.182 0, 1236286.839 670710.266 0, 1235994.988 670696.367 0, 1235703.137 670682.485 0,
+ 1235411.285 670668.621 0, 1235119.432 670654.774 0, 1234827.578 670640.944 0, 1234535.723 670627.131 0, 1234243.868 670613.335 0, 1233952.011 670599.556 0, 1233660.154 670585.795 0, 1233368.296 670572.051 0, 1233076.437 670558.324 0, 1232784.578 670544.614 0,
+ 1232492.717 670530.921 0, 1232200.856 670517.246 0, 1231908.994 670503.588 0, 1231617.132 670489.947 0, 1231323.893 670476.258 0, 1231033.404 670462.716 0, 1230741.538 670449.126 0, 1230449.672 670435.554 0, 1230157.806 670421.999 0, 1229865.938 670408.461 0,
+ 1229574.07 670394.94 0, 1229282.201 670381.436 0, 1228990.331 670367.95 0, 1228698.46 670354.48 0, 1228406.588 670341.028 0, 1228114.716 670327.593 0, 1227822.843 670314.175 0, 1227530.969 670300.775 0, 1227239.094 670287.391 0, 1226947.219 670274.025 0,
+ 1226655.342 670260.676 0, 1226363.465 670247.344 0, 1226071.587 670234.029 0, 1225779.709 670220.732 0, 1225487.829 670207.451 0, 1225195.949 670194.188 0, 1224904.068 670180.942 0, 1224612.187 670167.713 0, 1224318.928 670154.44 0, 1224067.303 675717.2 0,
+ 1223815.664 681280.266 0, 1224108.265 681293.51 0, 1224399.492 681306.709 0, 1224690.719 681319.925 0, 1224981.944 681333.159 0, 1225273.168 681346.409 0, 1225564.392 681359.677 0, 1225855.615 681372.962 0, 1226146.838 681386.264 0, 1226438.059 681399.583 0,
+ 1226729.28 681412.919 0, 1227020.5 681426.273 0, 1227311.719 681439.643 0, 1227602.937 681453.031 0, 1227894.154 681466.436 0, 1228185.371 681479.858 0, 1228476.587 681493.297 0, 1228767.802 681506.753 0, 1229059.017 681520.226 0, 1229350.23 681533.717 0,
+ 1229641.443 681547.225 0, 1229932.655 681560.749 0, 1230223.866 681574.291 0, 1230515.076 681587.85 0, 1230804.914 681601.363 0, 1231097.495 681615.02 0, 1231388.703 681628.631 0, 1231679.91 681642.258 0, 1231971.116 681655.903 0, 1232262.322 681669.565 0,
+ 1232553.527 681683.244 0, 1232844.731 681696.94 0, 1233135.934 681710.654 0, 1233427.136 681724.384 0, 1233718.338 681738.132 0, 1234009.538 681751.896 0, 1234300.738 681765.678 0, 1234591.937 681779.477 0, 1234883.136 681793.294 0, 1235174.333 681807.127 0,
+ 1235465.53 681820.977 0, 1235756.726 681834.845 0, 1236047.921 681848.73 0, 1236339.115 681862.632 0, 1236630.308 681876.551 0, 1236921.501 681890.487 0, 1237212.693 681904.44 0, 1237503.884 681918.411 0, 1237793.703 681932.332 0, 1238061.057 676369.999 0,
+ 1238328.396 670807.972 0))
+
+POLYGON ((1251769.843 682623.886 0, 1251480.062 682609.146 0, 1251188.912 682594.353 0, 1250897.761 682579.577 0, 1250606.609 682564.818 0, 1250315.456 682550.077 0, 1250024.302 682535.352 0, 1249733.147 682520.645 0, 1249441.992 682505.954 0, 1249150.835 682491.281 0,
+ 1248859.678 682476.625 0, 1248568.52 682461.987 0, 1248277.361 682447.365 0, 1247986.201 682432.76 0, 1247695.041 682418.173 0, 1247403.879 682403.603 0, 1247112.717 682389.05 0, 1246821.554 682374.514 0, 1246530.389 682359.995 0, 1246239.224 682345.493 0,
+ 1245948.059 682331.008 0, 1245656.892 682316.541 0, 1245365.724 682302.091 0, 1245074.556 682287.658 0, 1244782.017 682273.174 0, 1244492.217 682258.843 0, 1244201.046 682244.461 0, 1243909.874 682230.096 0, 1243618.702 682215.749 0, 1243327.528 682201.418 0,
+ 1243036.354 682187.105 0, 1242745.179 682172.809 0, 1242454.003 682158.53 0, 1242162.826 682144.268 0, 1241871.648 682130.024 0, 1241580.47 682115.796 0, 1241289.29 682101.586 0, 1240998.11 682087.393 0, 1240706.929 682073.216 0, 1240415.748 682059.058 0,
+ 1240124.565 682044.916 0, 1239833.381 682030.791 0, 1239542.197 682016.683 0, 1239251.012 682002.593 0, 1238959.826 681988.52 0, 1238668.639 681974.464 0, 1238377.451 681960.425 0, 1238086.263 681946.403 0, 1237793.703 681932.332 0, 1237526.334 687494.967 0,
+ 1237258.951 693057.9 0, 1237550.853 693071.939 0, 1237841.387 693085.93 0, 1238131.92 693099.937 0, 1238422.452 693113.962 0, 1238712.983 693128.003 0, 1239003.513 693142.062 0, 1239294.043 693156.138 0, 1239584.572 693170.231 0, 1239875.099 693184.341 0,
+ 1240165.626 693198.468 0, 1240456.153 693212.612 0, 1240746.678 693226.773 0, 1241037.202 693240.952 0, 1241327.726 693255.147 0, 1241618.249 693269.36 0, 1241908.771 693283.59 0, 1242199.292 693297.837 0, 1242489.812 693312.1 0, 1242780.332 693326.382 0,
+ 1243070.851 693340.68 0, 1243361.368 693354.995 0, 1243651.885 693369.327 0, 1243942.402 693383.677 0, 1244231.55 693397.975 0, 1244523.431 693412.427 0, 1244813.945 693426.827 0, 1245104.458 693441.245 0, 1245394.969 693455.68 0, 1245685.48 693470.132 0,
+ 1245975.991 693484.601 0, 1246266.5 693499.087 0, 1246557.008 693513.591 0, 1246847.516 693528.111 0, 1247138.023 693542.649 0, 1247428.529 693557.203 0, 1247719.034 693571.775 0, 1248009.538 693586.364 0, 1248300.041 693600.97 0, 1248590.544 693615.593 0,
+ 1248881.045 693630.233 0, 1249171.546 693644.89 0, 1249462.046 693659.564 0, 1249752.545 693674.256 0, 1250043.043 693688.964 0, 1250333.541 693703.69 0, 1250624.037 693718.432 0, 1250914.533 693733.192 0, 1251203.662 693747.9 0, 1251486.76 688185.744 0,
+ 1251769.843 682623.886 0))
+
+POLYGON ((1265146.368 694477.292 0, 1264857.279 694461.768 0, 1264566.826 694446.188 0, 1264276.372 694430.624 0, 1263985.918 694415.078 0, 1263695.462 694399.549 0, 1263405.006 694384.037 0, 1263114.549 694368.542 0, 1262824.091 694353.064 0, 1262533.632 694337.603 0,
+ 1262243.172 694322.16 0, 1261952.711 694306.733 0, 1261662.249 694291.324 0, 1261371.786 694275.931 0, 1261081.322 694260.556 0, 1260790.858 694245.198 0, 1260500.392 694229.857 0, 1260209.926 694214.533 0, 1259919.459 694199.226 0, 1259628.991 694183.936 0,
+ 1259338.522 694168.663 0, 1259048.052 694153.408 0, 1258757.581 694138.169 0, 1258467.109 694122.948 0, 1258175.272 694107.672 0, 1257886.163 694092.556 0, 1257595.689 694077.386 0, 1257305.213 694062.233 0, 1257014.737 694047.097 0, 1256724.26 694031.978 0,
+ 1256433.782 694016.877 0, 1256143.303 694001.792 0, 1255852.823 693986.724 0, 1255562.343 693971.674 0, 1255271.861 693956.641 0, 1254981.379 693941.624 0, 1254690.895 693926.625 0, 1254400.411 693911.643 0, 1254109.926 693896.678 0, 1253819.44 693881.73 0,
+ 1253528.953 693866.8 0, 1253238.466 693851.886 0, 1252947.977 693836.989 0, 1252657.488 693822.11 0, 1252366.997 693807.248 0, 1252076.506 693792.402 0, 1251786.014 693777.574 0, 1251495.521 693762.763 0, 1251203.662 693747.9 0, 1250920.549 699310.351 0,
+ 1250637.421 704873.094 0, 1250928.622 704887.924 0, 1251218.46 704902.701 0, 1251508.297 704917.496 0, 1251798.134 704932.308 0, 1252087.969 704947.137 0, 1252377.804 704961.983 0, 1252667.638 704976.846 0, 1252957.471 704991.726 0, 1253247.303 705006.623 0,
+ 1253537.134 705021.537 0, 1253826.964 705036.468 0, 1254116.793 705051.416 0, 1254406.622 705066.382 0, 1254696.45 705081.364 0, 1254986.276 705096.364 0, 1255276.102 705111.38 0, 1255565.927 705126.414 0, 1255855.751 705141.464 0, 1256145.575 705156.532 0,
+ 1256435.397 705171.617 0, 1256725.218 705186.719 0, 1257015.039 705201.837 0, 1257304.858 705216.973 0, 1257593.316 705232.055 0, 1257884.495 705247.296 0, 1258174.312 705262.483 0, 1258464.128 705277.688 0, 1258753.943 705292.909 0, 1259043.758 705308.147 0,
+ 1259333.571 705323.402 0, 1259623.384 705338.675 0, 1259913.195 705353.964 0, 1260203.006 705369.271 0, 1260492.816 705384.594 0, 1260782.625 705399.935 0, 1261072.433 705415.293 0, 1261362.24 705430.667 0, 1261652.046 705446.059 0, 1261941.851 705461.468 0,
+ 1262231.656 705476.894 0, 1262521.459 705492.337 0, 1262811.262 705507.797 0, 1263101.063 705523.274 0, 1263390.864 705538.768 0, 1263680.664 705554.279 0, 1263970.463 705569.808 0, 1264260.261 705585.353 0, 1264548.698 705600.842 0, 1264847.541 700038.921 0,
+ 1265146.368 694477.292 0))
+
+POLYGON ((1278457.864 706367.89 0, 1278169.469 706351.585 0, 1277879.716 706335.221 0, 1277589.962 706318.875 0, 1277300.207 706302.545 0, 1277010.452 706286.232 0, 1276720.695 706269.936 0, 1276430.937 706253.657 0, 1276141.178 706237.396 0, 1275851.419 706221.151 0,
+ 1275561.658 706204.924 0, 1275271.897 706188.713 0, 1274982.134 706172.52 0, 1274692.371 706156.343 0, 1274402.606 706140.184 0, 1274112.841 706124.042 0, 1273823.075 706107.917 0, 1273533.307 706091.808 0, 1273243.539 706075.717 0, 1272953.77 706059.643 0,
+ 1272664 706043.586 0, 1272374.229 706027.546 0, 1272084.457 706011.523 0, 1271794.684 705995.518 0, 1271503.552 705979.454 0, 1271215.135 705963.557 0, 1270925.36 705947.602 0, 1270635.583 705931.665 0, 1270345.805 705915.744 0, 1270056.027 705899.841 0,
+ 1269766.247 705883.954 0, 1269476.467 705868.085 0, 1269186.686 705852.233 0, 1268896.903 705836.397 0, 1268607.12 705820.579 0, 1268317.336 705804.778 0, 1268027.551 705788.994 0, 1267737.765 705773.227 0, 1267447.978 705757.477 0, 1267158.19 705741.744 0,
+ 1266868.401 705726.028 0, 1266578.611 705710.329 0, 1266288.821 705694.648 0, 1265999.029 705678.983 0, 1265709.237 705663.335 0, 1265419.443 705647.705 0, 1265129.649 705632.091 0, 1264839.854 705616.495 0, 1264548.698 705600.842 0, 1264249.84 711163.051 0,
+ 1263950.966 716725.546 0, 1264241.464 716741.163 0, 1264530.605 716756.724 0, 1264819.744 716772.302 0, 1265108.883 716787.897 0, 1265398.021 716803.51 0, 1265687.157 716819.139 0, 1265976.293 716834.785 0, 1266265.428 716850.449 0, 1266554.562 716866.129 0,
+ 1266843.695 716881.826 0, 1267132.828 716897.541 0, 1267421.959 716913.272 0, 1267711.089 716929.021 0, 1268000.218 716944.786 0, 1268289.347 716960.569 0, 1268578.475 716976.368 0, 1268867.601 716992.185 0, 1269156.727 717008.018 0, 1269445.852 717023.869 0,
+ 1269734.975 717039.736 0, 1270024.098 717055.621 0, 1270313.22 717071.522 0, 1270602.341 717087.441 0, 1270890.106 717103.302 0, 1271180.58 717119.329 0, 1271469.699 717135.299 0, 1271758.816 717151.286 0, 1272047.932 717167.289 0, 1272337.048 717183.31 0,
+ 1272626.162 717199.348 0, 1272915.275 717215.402 0, 1273204.388 717231.474 0, 1273493.5 717247.563 0, 1273782.61 717263.669 0, 1274071.72 717279.792 0, 1274360.829 717295.931 0, 1274649.936 717312.088 0, 1274939.043 717328.262 0, 1275228.149 717344.453 0,
+ 1275517.254 717360.661 0, 1275806.358 717376.886 0, 1276095.461 717393.128 0, 1276384.563 717409.387 0, 1276673.664 717425.663 0, 1276962.765 717441.956 0, 1277251.864 717458.266 0, 1277540.962 717474.593 0, 1277828.705 717490.86 0, 1278143.292 711929.232 0,
+ 1278457.864 706367.89 0))
+
+POLYGON ((1291704.226 718295.379 0, 1291416.528 718278.298 0, 1291127.477 718261.154 0, 1290838.425 718244.028 0, 1290549.372 718226.918 0, 1290260.318 718209.825 0, 1289971.263 718192.75 0, 1289682.207 718175.691 0, 1289393.15 718158.65 0, 1289104.092 718141.625 0,
+ 1288815.033 718124.617 0, 1288525.973 718107.627 0, 1288236.912 718090.653 0, 1287947.85 718073.697 0, 1287658.787 718056.757 0, 1287369.723 718039.835 0, 1287080.658 718022.929 0, 1286791.592 718006.041 0, 1286502.525 717989.169 0, 1286213.457 717972.315 0,
+ 1285924.388 717955.477 0, 1285635.319 717938.657 0, 1285346.248 717921.853 0, 1285057.176 717905.067 0, 1284766.75 717888.219 0, 1284479.029 717871.545 0, 1284189.954 717854.81 0, 1283900.878 717838.092 0, 1283611.801 717821.39 0, 1283322.723 717804.706 0,
+ 1283033.645 717788.039 0, 1282744.565 717771.388 0, 1282455.484 717754.755 0, 1282166.402 717738.139 0, 1281877.32 717721.539 0, 1281588.236 717704.957 0, 1281299.151 717688.392 0, 1281010.065 717671.844 0, 1280720.979 717655.313 0, 1280431.891 717638.798 0,
+ 1280142.803 717622.301 0, 1279853.713 717605.821 0, 1279564.623 717589.358 0, 1279275.531 717572.912 0, 1278986.439 717556.483 0, 1278697.345 717540.071 0, 1278408.251 717523.676 0, 1278119.156 717507.298 0, 1277828.705 717490.86 0, 1277514.102 723052.769 0,
+ 1277199.482 728614.956 0, 1277489.275 728631.357 0, 1277777.716 728647.698 0, 1278066.156 728664.055 0, 1278354.594 728680.43 0, 1278643.032 728696.822 0, 1278931.469 728713.231 0, 1279219.905 728729.657 0, 1279508.339 728746.1 0, 1279796.773 728762.56 0,
+ 1280085.206 728779.036 0, 1280373.638 728795.53 0, 1280662.069 728812.041 0, 1280950.499 728828.569 0, 1281238.928 728845.113 0, 1281527.356 728861.675 0, 1281815.783 728878.253 0, 1282104.209 728894.849 0, 1282392.634 728911.462 0, 1282681.058 728928.091 0,
+ 1282969.481 728944.738 0, 1283257.904 728961.401 0, 1283546.325 728978.082 0, 1283834.745 728994.779 0, 1284121.814 729011.415 0, 1284411.582 729028.225 0, 1284700 729044.973 0, 1284988.416 729061.739 0, 1285276.831 729078.521 0, 1285565.245 729095.32 0,
+ 1285853.659 729112.137 0, 1286142.071 729128.97 0, 1286430.482 729145.82 0, 1286718.893 729162.688 0, 1287007.302 729179.572 0, 1287295.71 729196.473 0, 1287584.118 729213.391 0, 1287872.524 729230.326 0, 1288160.929 729247.278 0, 1288449.334 729264.247 0,
+ 1288737.737 729281.233 0, 1289026.139 729298.236 0, 1289314.541 729315.256 0, 1289602.941 729332.293 0, 1289891.34 729349.347 0, 1290179.739 729366.418 0, 1290468.136 729383.506 0, 1290756.532 729400.611 0, 1291043.579 729417.653 0, 1291373.911 723856.377 0,
+ 1291704.226 718295.379 0))
+
+POLYGON ((1304885.352 730259.458 0, 1304598.353 730241.605 0, 1304310.006 730223.686 0, 1304021.658 730205.783 0, 1303733.309 730187.897 0, 1303444.959 730170.029 0, 1303156.608 730152.177 0, 1302868.256 730134.342 0, 1302579.903 730116.525 0, 1302291.548 730098.724 0,
+ 1302003.193 730080.94 0, 1301714.837 730063.173 0, 1301426.479 730045.423 0, 1301138.121 730027.691 0, 1300849.762 730009.975 0, 1300561.401 729992.276 0, 1300273.04 729974.594 0, 1299984.677 729956.929 0, 1299696.314 729939.281 0, 1299407.949 729921.65 0,
+ 1299119.583 729904.036 0, 1298831.217 729886.439 0, 1298542.849 729868.858 0, 1298254.48 729851.295 0, 1297964.763 729833.667 0, 1297677.739 729816.22 0, 1297389.367 729798.708 0, 1297100.995 729781.212 0, 1296812.621 729763.734 0, 1296524.246 729746.273 0,
+ 1296235.87 729728.828 0, 1295947.493 729711.401 0, 1295659.115 729693.991 0, 1295370.736 729676.597 0, 1295082.356 729659.221 0, 1294793.974 729641.861 0, 1294505.592 729624.519 0, 1294217.209 729607.193 0, 1293928.825 729589.885 0, 1293640.44 729572.593 0,
+ 1293352.054 729555.319 0, 1293063.666 729538.061 0, 1292775.278 729520.82 0, 1292486.889 729503.597 0, 1292198.499 729486.39 0, 1291910.107 729469.2 0, 1291621.715 729452.027 0, 1291333.322 729434.872 0, 1291043.579 729417.653 0, 1290713.23 734979.203 0,
+ 1290382.866 740541.025 0, 1290671.951 740558.205 0, 1290959.69 740575.321 0, 1291247.428 740592.455 0, 1291535.164 740609.606 0, 1291822.9 740626.774 0, 1292110.634 740643.958 0, 1292398.368 740661.16 0, 1292686.1 740678.378 0, 1292973.832 740695.614 0,
+ 1293261.562 740712.866 0, 1293549.292 740730.135 0, 1293837.02 740747.421 0, 1294124.748 740764.724 0, 1294412.474 740782.045 0, 1294700.2 740799.382 0, 1294987.924 740816.735 0, 1295275.647 740834.106 0, 1295563.37 740851.494 0, 1295851.091 740868.899 0,
+ 1296138.811 740886.321 0, 1296426.531 740903.759 0, 1296714.249 740921.215 0, 1297001.966 740938.687 0, 1297288.338 740956.095 0, 1297577.397 740973.683 0, 1297865.112 740991.206 0, 1298152.825 741008.746 0, 1298440.537 741026.304 0, 1298728.248 741043.878 0,
+ 1299015.958 741061.469 0, 1299303.667 741079.077 0, 1299591.375 741096.702 0, 1299879.082 741114.343 0, 1300166.787 741132.002 0, 1300454.492 741149.678 0, 1300742.196 741167.37 0, 1301029.899 741185.08 0, 1301317.6 741202.806 0, 1301605.301 741220.55 0,
+ 1301893.001 741238.31 0, 1302180.699 741256.088 0, 1302468.397 741273.882 0, 1302756.093 741291.693 0, 1303043.789 741309.521 0, 1303331.483 741327.366 0, 1303619.176 741345.228 0, 1303906.868 741363.107 0, 1304193.216 741380.919 0, 1304539.293 735820.053 0,
+ 1304885.352 730259.458 0))
+
+POLYGON ((1318001.139 742259.827 0, 1317714.84 742241.206 0, 1317427.199 742222.514 0, 1317139.558 742203.839 0, 1316851.915 742185.182 0, 1316564.271 742166.541 0, 1316276.626 742147.917 0, 1315988.98 742129.31 0, 1315701.333 742110.72 0, 1315413.685 742092.147 0,
+ 1315126.035 742073.591 0, 1314838.385 742055.051 0, 1314550.733 742036.529 0, 1314263.081 742018.024 0, 1313975.427 741999.535 0, 1313687.772 741981.064 0, 1313400.116 741962.609 0, 1313112.459 741944.172 0, 1312824.801 741925.751 0, 1312537.142 741907.347 0,
+ 1312249.482 741888.96 0, 1311961.82 741870.59 0, 1311674.158 741852.237 0, 1311386.495 741833.901 0, 1311097.488 741815.497 0, 1310811.164 741797.28 0, 1310523.498 741778.995 0, 1310235.83 741760.726 0, 1309948.161 741742.475 0, 1309660.491 741724.24 0,
+ 1309372.82 741706.023 0, 1309085.148 741687.822 0, 1308797.475 741669.639 0, 1308509.801 741651.472 0, 1308222.125 741633.322 0, 1307934.449 741615.189 0, 1307646.772 741597.073 0, 1307359.093 741578.974 0, 1307071.413 741560.892 0, 1306783.733 741542.827 0,
+ 1306496.051 741524.779 0, 1306208.368 741506.748 0, 1305920.685 741488.733 0, 1305633 741470.736 0, 1305345.314 741452.755 0, 1305057.627 741434.792 0, 1304769.939 741416.845 0, 1304482.25 741398.915 0, 1304193.216 741380.919 0, 1303847.123 746942.053 0,
+ 1303501.014 752503.45 0, 1303789.39 752521.406 0, 1304076.424 752539.295 0, 1304363.458 752557.2 0, 1304650.49 752575.123 0, 1304937.521 752593.063 0, 1305224.552 752611.019 0, 1305511.581 752628.992 0, 1305798.609 752646.983 0, 1306085.636 752664.99 0,
+ 1306372.662 752683.014 0, 1306659.687 752701.055 0, 1306946.711 752719.113 0, 1307233.733 752737.187 0, 1307520.755 752755.279 0, 1307807.776 752773.387 0, 1308094.795 752791.513 0, 1308381.814 752809.655 0, 1308668.831 752827.814 0, 1308955.848 752845.99 0,
+ 1309242.863 752864.183 0, 1309529.877 752882.393 0, 1309816.891 752900.62 0, 1310103.903 752918.864 0, 1310389.575 752937.039 0, 1310677.924 752955.402 0, 1310964.933 752973.696 0, 1311251.94 752992.007 0, 1311538.947 753010.335 0, 1311825.953 753028.68 0,
+ 1312112.957 753047.042 0, 1312399.961 753065.421 0, 1312686.963 753083.817 0, 1312973.965 753102.229 0, 1313260.965 753120.659 0, 1313547.964 753139.105 0, 1313834.962 753157.568 0, 1314121.959 753176.049 0, 1314408.955 753194.546 0, 1314695.95 753213.06 0,
+ 1314982.944 753231.59 0, 1315269.936 753250.138 0, 1315556.928 753268.703 0, 1315843.918 753287.284 0, 1316130.907 753305.883 0, 1316417.896 753324.498 0, 1316704.883 753343.13 0, 1316991.869 753361.779 0, 1317277.516 753380.358 0, 1317639.336 747819.96 0,
+ 1318001.139 742259.827 0))
+
+POLYGON ((1331051.486 754296.183 0, 1330765.89 754276.797 0, 1330478.958 754257.338 0, 1330192.024 754237.895 0, 1329905.09 754218.469 0, 1329618.154 754199.06 0, 1329331.217 754179.667 0, 1329044.279 754160.292 0, 1328757.34 754140.934 0, 1328470.4 754121.592 0,
+ 1328183.459 754102.267 0, 1327896.516 754082.96 0, 1327609.573 754063.669 0, 1327322.628 754044.395 0, 1327035.682 754025.138 0, 1326748.735 754005.897 0, 1326461.787 753986.674 0, 1326174.837 753967.468 0, 1325887.887 753948.278 0, 1325600.935 753929.105 0,
+ 1325313.983 753909.95 0, 1325027.029 753890.811 0, 1324740.074 753871.689 0, 1324453.118 753852.584 0, 1324164.824 753833.406 0, 1323879.203 753814.424 0, 1323592.243 753795.37 0, 1323305.283 753776.332 0, 1323018.321 753757.311 0, 1322731.358 753738.308 0,
+ 1322444.394 753719.321 0, 1322157.429 753700.351 0, 1321870.463 753681.398 0, 1321583.496 753662.461 0, 1321296.527 753643.542 0, 1321009.558 753624.64 0, 1320722.587 753605.754 0, 1320435.616 753586.885 0, 1320148.643 753568.034 0, 1319861.669 753549.199 0,
+ 1319574.694 753530.381 0, 1319287.718 753511.58 0, 1319000.74 753492.796 0, 1318713.762 753474.028 0, 1318426.783 753455.278 0, 1318139.802 753436.544 0, 1317852.82 753417.828 0, 1317565.838 753399.128 0, 1317277.516 753380.358 0, 1316915.679 758941.016 0,
+ 1316553.826 764501.931 0, 1316841.49 764520.658 0, 1317127.818 764539.315 0, 1317414.145 764557.989 0, 1317700.471 764576.68 0, 1317986.796 764595.388 0, 1318273.12 764614.112 0, 1318559.442 764632.854 0, 1318845.764 764651.612 0, 1319132.084 764670.387 0,
+ 1319418.404 764689.179 0, 1319704.722 764707.987 0, 1319991.039 764726.813 0, 1320277.355 764745.656 0, 1320563.67 764764.515 0, 1320849.984 764783.391 0, 1321136.296 764802.284 0, 1321422.608 764821.194 0, 1321708.918 764840.121 0, 1321995.228 764859.064 0,
+ 1322281.536 764878.025 0, 1322567.843 764897.002 0, 1322854.149 764915.996 0, 1323140.454 764935.007 0, 1323425.424 764953.946 0, 1323713.061 764973.08 0, 1323999.362 764992.141 0, 1324285.662 765011.219 0, 1324571.962 765030.315 0, 1324858.26 765049.427 0,
+ 1325144.557 765068.556 0, 1325430.853 765087.701 0, 1325717.148 765106.864 0, 1326003.441 765126.044 0, 1326289.734 765145.24 0, 1326576.025 765164.453 0, 1326862.315 765183.683 0, 1327148.605 765202.93 0, 1327434.893 765222.194 0, 1327721.179 765241.474 0,
+ 1328007.465 765260.772 0, 1328293.75 765280.086 0, 1328580.033 765299.417 0, 1328866.315 765318.765 0, 1329152.597 765338.13 0, 1329438.877 765357.512 0, 1329725.156 765376.91 0, 1330011.433 765396.326 0, 1330296.378 765415.668 0, 1330673.94 759855.797 0,
+ 1331051.486 754296.183 0))
+
+POLYGON ((1344036.293 766368.225 0, 1343751.403 766348.079 0, 1343465.181 766327.854 0, 1343178.958 766307.647 0, 1342892.734 766287.457 0, 1342606.508 766267.283 0, 1342320.282 766247.127 0, 1342034.054 766226.987 0, 1341747.825 766206.864 0, 1341461.595 766186.757 0,
+ 1341175.364 766166.668 0, 1340889.132 766146.596 0, 1340602.898 766126.54 0, 1340316.663 766106.501 0, 1340030.427 766086.479 0, 1339744.19 766066.474 0, 1339457.952 766046.486 0, 1339171.712 766026.515 0, 1338885.472 766006.56 0, 1338599.23 765986.622 0,
+ 1338312.987 765966.701 0, 1338026.742 765946.797 0, 1337740.497 765926.91 0, 1337454.251 765907.04 0, 1337166.672 765887.094 0, 1336881.754 765867.35 0, 1336595.504 765847.53 0, 1336309.253 765827.727 0, 1336023 765807.941 0, 1335736.747 765788.172 0,
+ 1335450.492 765768.42 0, 1335164.236 765748.684 0, 1334877.979 765728.965 0, 1334591.721 765709.264 0, 1334305.462 765689.579 0, 1334019.201 765669.91 0, 1333732.94 765650.259 0, 1333446.677 765630.625 0, 1333160.413 765611.007 0, 1332874.148 765591.406 0,
+ 1332587.881 765571.823 0, 1332301.614 765552.255 0, 1332015.345 765532.705 0, 1331729.076 765513.172 0, 1331442.805 765493.655 0, 1331156.533 765474.156 0, 1330870.26 765454.673 0, 1330583.985 765435.207 0, 1330296.378 765415.668 0, 1329918.798 770975.791 0,
+ 1329541.201 776536.165 0, 1329828.151 776555.66 0, 1330113.771 776575.082 0, 1330399.389 776594.52 0, 1330685.007 776613.975 0, 1330970.623 776633.447 0, 1331256.239 776652.935 0, 1331541.853 776672.441 0, 1331827.465 776691.963 0, 1332113.077 776711.502 0,
+ 1332398.688 776731.058 0, 1332684.297 776750.631 0, 1332969.906 776770.22 0, 1333255.513 776789.827 0, 1333541.119 776809.45 0, 1333826.724 776829.09 0, 1334112.327 776848.747 0, 1334397.93 776868.42 0, 1334683.531 776888.111 0, 1334969.131 776907.818 0,
+ 1335254.73 776927.542 0, 1335540.328 776947.283 0, 1335825.925 776967.04 0, 1336111.521 776986.815 0, 1336395.787 777006.514 0, 1336682.708 777026.414 0, 1336968.3 777046.239 0, 1337253.891 777066.081 0, 1337539.481 777085.939 0, 1337825.07 777105.815 0,
+ 1338110.657 777125.707 0, 1338396.243 777145.616 0, 1338681.828 777165.541 0, 1338967.412 777185.484 0, 1339252.995 777205.443 0, 1339538.576 777225.419 0, 1339824.157 777245.412 0, 1340109.736 777265.422 0, 1340395.314 777285.449 0, 1340680.891 777305.492 0,
+ 1340966.466 777325.552 0, 1341252.041 777345.629 0, 1341537.614 777365.723 0, 1341823.186 777385.834 0, 1342108.757 777405.961 0, 1342394.327 777426.106 0, 1342679.895 777446.267 0, 1342965.463 777466.444 0, 1343249.702 777486.545 0, 1343643.006 771927.26 0,
+ 1344036.293 766368.225 0))
+
+POLYGON ((1356955.464 778475.651 0, 1356671.28 778454.747 0, 1356385.771 778433.762 0, 1356100.26 778412.794 0, 1355814.749 778391.843 0, 1355529.236 778370.909 0, 1355243.722 778349.992 0, 1354958.206 778329.091 0, 1354672.69 778308.208 0, 1354387.172 778287.341 0,
+ 1354101.653 778266.491 0, 1353816.132 778245.657 0, 1353530.611 778224.841 0, 1353245.088 778204.041 0, 1352959.564 778183.258 0, 1352674.039 778162.492 0, 1352388.513 778141.743 0, 1352102.985 778121.01 0, 1351817.456 778100.295 0, 1351531.926 778079.596 0,
+ 1351246.395 778058.914 0, 1350960.862 778038.248 0, 1350675.329 778017.6 0, 1350389.794 777996.968 0, 1350102.932 777976.258 0, 1349818.72 777955.755 0, 1349533.182 777935.174 0, 1349247.642 777914.61 0, 1348962.101 777894.062 0, 1348676.559 777873.531 0,
+ 1348391.015 777853.017 0, 1348105.471 777832.52 0, 1347819.925 777812.04 0, 1347534.378 777791.576 0, 1347248.83 777771.129 0, 1346963.28 777750.699 0, 1346677.73 777730.286 0, 1346392.178 777709.89 0, 1346106.625 777689.51 0, 1345821.071 777669.148 0,
+ 1345535.515 777648.802 0, 1345249.959 777628.472 0, 1344964.401 777608.16 0, 1344678.842 777587.865 0, 1344393.282 777567.586 0, 1344107.72 777547.324 0, 1343822.158 777527.079 0, 1343536.594 777506.851 0, 1343249.702 777486.545 0, 1342856.38 783046.076 0,
+ 1342463.041 788605.85 0, 1342749.275 788626.109 0, 1343034.185 788646.291 0, 1343319.093 788666.49 0, 1343604 788686.705 0, 1343888.906 788706.937 0, 1344173.81 788727.186 0, 1344458.714 788747.452 0, 1344743.616 788767.735 0, 1345028.517 788788.034 0,
+ 1345313.416 788808.35 0, 1345598.315 788828.683 0, 1345883.212 788849.032 0, 1346168.109 788869.399 0, 1346453.004 788889.782 0, 1346737.897 788910.182 0, 1347022.79 788930.599 0, 1347307.681 788951.032 0, 1347592.572 788971.482 0, 1347877.461 788991.949 0,
+ 1348162.348 789012.433 0, 1348447.235 789032.933 0, 1348732.12 789053.451 0, 1349017.005 789073.985 0, 1349300.565 789094.44 0, 1349586.769 789115.103 0, 1349871.65 789135.688 0, 1350156.529 789156.289 0, 1350441.407 789176.907 0, 1350726.284 789197.541 0,
+ 1351011.16 789218.193 0, 1351296.034 789238.861 0, 1351580.907 789259.546 0, 1351865.779 789280.248 0, 1352150.65 789300.966 0, 1352435.52 789321.701 0, 1352720.388 789342.454 0, 1353005.255 789363.222 0, 1353290.121 789384.008 0, 1353574.986 789404.81 0,
+ 1353859.849 789425.629 0, 1354144.712 789446.465 0, 1354429.573 789467.318 0, 1354714.433 789488.187 0, 1354999.291 789509.073 0, 1355284.148 789529.976 0, 1355569.005 789550.896 0, 1355853.859 789571.833 0, 1356137.392 789592.689 0, 1356546.437 784034.048 0,
+ 1356955.464 778475.651 0))
+
+POLYGON ((1369808.9 790618.156 0, 1369525.425 790596.498 0, 1369240.631 790574.757 0, 1368955.835 790553.033 0, 1368671.038 790531.325 0, 1368386.239 790509.634 0, 1368101.44 790487.96 0, 1367816.639 790466.303 0, 1367531.836 790444.662 0, 1367247.033 790423.039 0,
+ 1366962.228 790401.431 0, 1366677.422 790379.841 0, 1366392.615 790358.268 0, 1366107.806 790336.711 0, 1365822.996 790315.171 0, 1365538.185 790293.648 0, 1365253.373 790272.141 0, 1364968.559 790250.652 0, 1364683.744 790229.179 0, 1364398.928 790207.722 0,
+ 1364114.11 790186.283 0, 1363829.292 790164.86 0, 1363544.472 790143.454 0, 1363259.65 790122.065 0, 1362973.508 790100.594 0, 1362690.004 790079.337 0, 1362405.179 790057.999 0, 1362120.353 790036.676 0, 1361835.525 790015.371 0, 1361550.697 789994.083 0,
+ 1361265.867 789972.811 0, 1360981.035 789951.556 0, 1360696.203 789930.318 0, 1360411.369 789909.096 0, 1360126.534 789887.891 0, 1359841.698 789866.703 0, 1359556.86 789845.532 0, 1359272.021 789824.378 0, 1358987.181 789803.24 0, 1358702.34 789782.119 0,
+ 1358417.498 789761.015 0, 1358132.654 789739.928 0, 1357847.809 789718.857 0, 1357562.963 789697.803 0, 1357278.115 789676.766 0, 1356993.267 789655.746 0, 1356708.417 789634.743 0, 1356423.565 789613.756 0, 1356137.392 789592.689 0, 1355728.329 795151.568 0,
+ 1355319.25 800710.683 0, 1355604.766 800731.702 0, 1355888.963 800752.64 0, 1356173.158 800773.595 0, 1356457.353 800794.567 0, 1356741.546 800815.556 0, 1357025.737 800836.562 0, 1357309.928 800857.584 0, 1357594.117 800878.623 0, 1357878.306 800899.678 0,
+ 1358162.493 800920.751 0, 1358446.678 800941.84 0, 1358730.863 800962.946 0, 1359015.046 800984.068 0, 1359299.228 801005.208 0, 1359583.408 801026.364 0, 1359867.588 801047.536 0, 1360151.766 801068.726 0, 1360435.943 801089.932 0, 1360720.119 801111.155 0,
+ 1361004.293 801132.394 0, 1361288.466 801153.651 0, 1361572.638 801174.924 0, 1361856.809 801196.214 0, 1362139.661 801217.421 0, 1362425.147 801238.843 0, 1362709.314 801260.183 0, 1362993.479 801281.54 0, 1363277.644 801302.914 0, 1363561.807 801324.304 0,
+ 1363845.969 801345.711 0, 1364130.129 801367.134 0, 1364414.289 801388.575 0, 1364698.447 801410.032 0, 1364982.604 801431.505 0, 1365266.759 801452.996 0, 1365550.914 801474.503 0, 1365835.067 801496.027 0, 1366119.218 801517.568 0, 1366403.369 801539.125 0,
+ 1366687.518 801560.699 0, 1366971.666 801582.29 0, 1367255.813 801603.898 0, 1367539.958 801625.522 0, 1367824.102 801647.163 0, 1368108.245 801668.821 0, 1368392.387 801690.495 0, 1368676.527 801712.187 0, 1368959.35 801733.794 0, 1369384.134 796175.857 0,
+ 1369808.9 790618.156 0))
+
+POLYGON ((1382596.507 802795.437 0, 1382313.743 802773.03 0, 1382029.665 802750.537 0, 1381745.586 802728.059 0, 1381461.506 802705.599 0, 1381177.424 802683.155 0, 1380893.34 802660.728 0, 1380609.256 802638.318 0, 1380325.17 802615.924 0, 1380041.083 802593.548 0,
+ 1379756.994 802571.188 0, 1379472.905 802548.844 0, 1379188.814 802526.518 0, 1378904.721 802504.208 0, 1378620.627 802481.914 0, 1378336.532 802459.638 0, 1378052.436 802437.378 0, 1377768.338 802415.135 0, 1377484.239 802392.909 0, 1377200.139 802370.699 0,
+ 1376916.037 802348.506 0, 1376631.935 802326.33 0, 1376347.83 802304.171 0, 1376063.725 802282.028 0, 1375778.303 802259.8 0, 1375495.51 802237.793 0, 1375211.401 802215.7 0, 1374927.29 802193.624 0, 1374643.178 802171.565 0, 1374359.064 802149.523 0,
+ 1374074.95 802127.497 0, 1373790.834 802105.488 0, 1373506.717 802083.496 0, 1373222.598 802061.52 0, 1372938.479 802039.562 0, 1372654.357 802017.619 0, 1372370.235 801995.694 0, 1372086.111 801973.786 0, 1371801.986 801951.894 0, 1371517.86 801930.018 0,
+ 1371233.733 801908.16 0, 1370949.604 801886.318 0, 1370665.474 801864.493 0, 1370381.342 801842.685 0, 1370097.21 801820.894 0, 1369813.076 801799.119 0, 1369528.941 801777.361 0, 1369244.804 801755.619 0, 1368959.35 801733.794 0, 1368534.549 807291.963 0,
+ 1368109.73 812850.36 0, 1368394.527 812872.135 0, 1368678.009 812893.826 0, 1368961.49 812915.534 0, 1369244.969 812937.259 0, 1369528.448 812959 0, 1369811.925 812980.758 0, 1370095.401 813002.533 0, 1370378.875 813024.324 0, 1370662.349 813046.132 0,
+ 1370945.82 813067.957 0, 1371229.291 813089.799 0, 1371512.761 813111.657 0, 1371796.229 813133.532 0, 1372079.695 813155.423 0, 1372363.161 813177.332 0, 1372646.625 813199.256 0, 1372930.088 813221.198 0, 1373213.55 813243.156 0, 1373497.01 813265.131 0,
+ 1373780.469 813287.123 0, 1374063.927 813309.131 0, 1374347.384 813331.156 0, 1374630.839 813353.198 0, 1374912.981 813375.154 0, 1375197.745 813397.331 0, 1375481.196 813419.423 0, 1375764.646 813441.531 0, 1376048.095 813463.657 0, 1376331.542 813485.798 0,
+ 1376614.989 813507.957 0, 1376898.433 813530.132 0, 1377181.877 813552.324 0, 1377465.319 813574.532 0, 1377748.76 813596.757 0, 1378032.199 813618.999 0, 1378315.638 813641.258 0, 1378599.074 813663.533 0, 1378882.51 813685.825 0, 1379165.944 813708.134 0,
+ 1379449.377 813730.459 0, 1379732.809 813752.801 0, 1380016.239 813775.16 0, 1380299.668 813797.535 0, 1380583.096 813819.927 0, 1380866.523 813842.336 0, 1381149.948 813864.761 0, 1381433.371 813887.203 0, 1381715.483 813909.558 0, 1382156.004 808352.383 0,
+ 1382596.507 802795.437 0))
+
+POLYGON ((1395318.19 815007.191 0, 1395036.14 814984.039 0, 1394752.781 814960.796 0, 1394469.42 814937.57 0, 1394186.058 814914.361 0, 1393902.695 814891.168 0, 1393619.33 814867.992 0, 1393335.964 814844.833 0, 1393052.597 814821.69 0, 1392769.228 814798.564 0,
+ 1392485.858 814775.455 0, 1392202.486 814752.362 0, 1391919.113 814729.286 0, 1391635.739 814706.227 0, 1391352.364 814683.185 0, 1391068.987 814660.159 0, 1390785.608 814637.149 0, 1390502.229 814614.157 0, 1390218.848 814591.181 0, 1389935.465 814568.222 0,
+ 1389652.082 814545.279 0, 1389368.697 814522.354 0, 1389085.31 814499.444 0, 1388801.923 814476.552 0, 1388517.224 814453.571 0, 1388235.143 814430.817 0, 1387951.751 814407.975 0, 1387668.358 814385.149 0, 1387384.964 814362.34 0, 1387101.568 814339.548 0,
+ 1386818.171 814316.772 0, 1386534.772 814294.013 0, 1386251.372 814271.271 0, 1385967.971 814248.545 0, 1385684.569 814225.836 0, 1385401.165 814203.144 0, 1385117.76 814180.468 0, 1384834.353 814157.809 0, 1384550.945 814135.167 0, 1384267.536 814112.541 0,
+ 1383984.126 814089.932 0, 1383700.714 814067.34 0, 1383417.301 814044.765 0, 1383133.886 814022.206 0, 1382850.47 813999.664 0, 1382567.053 813977.138 0, 1382283.635 813954.629 0, 1382000.215 813932.137 0, 1381715.483 813909.558 0, 1381274.945 819466.957 0,
+ 1380834.389 825024.577 0, 1381118.463 825047.105 0, 1381401.229 825069.545 0, 1381683.993 825092.002 0, 1381966.756 825114.475 0, 1382249.518 825136.965 0, 1382532.278 825159.472 0, 1382815.037 825181.995 0, 1383097.795 825204.536 0, 1383380.551 825227.092 0,
+ 1383663.306 825249.666 0, 1383946.06 825272.256 0, 1384228.812 825294.862 0, 1384511.563 825317.485 0, 1384794.313 825340.125 0, 1385077.061 825362.782 0, 1385359.808 825385.455 0, 1385642.554 825408.145 0, 1385925.298 825430.851 0, 1386208.041 825453.575 0,
+ 1386490.783 825476.314 0, 1386773.523 825499.071 0, 1387056.262 825521.844 0, 1387339 825544.633 0, 1387620.43 825567.334 0, 1387904.471 825590.263 0, 1388187.205 825613.102 0, 1388469.937 825635.959 0, 1388752.668 825658.831 0, 1389035.397 825681.721 0,
+ 1389318.126 825704.627 0, 1389600.852 825727.55 0, 1389883.578 825750.489 0, 1390166.302 825773.446 0, 1390449.025 825796.418 0, 1390731.746 825819.408 0, 1391014.467 825842.414 0, 1391297.185 825865.436 0, 1391579.903 825888.476 0, 1391862.619 825911.532 0,
+ 1392145.333 825934.604 0, 1392428.047 825957.693 0, 1392710.759 825980.799 0, 1392993.469 826003.922 0, 1393276.179 826027.061 0, 1393558.887 826050.217 0, 1393841.593 826073.389 0, 1394124.298 826096.578 0, 1394405.697 826119.677 0, 1394861.953 820563.323 0,
+ 1395318.19 815007.191 0))
+
+POLYGON ((1407973.857 827253.113 0, 1407692.522 827229.219 0, 1407409.884 827205.231 0, 1407127.244 827181.26 0, 1406844.603 827157.306 0, 1406561.96 827133.368 0, 1406279.316 827109.447 0, 1405996.67 827085.543 0, 1405714.023 827061.655 0, 1405431.375 827037.784 0,
+ 1405148.725 827013.929 0, 1404866.074 826990.091 0, 1404583.421 826966.27 0, 1404300.767 826942.465 0, 1404018.112 826918.677 0, 1403735.455 826894.906 0, 1403452.797 826871.151 0, 1403170.137 826847.413 0, 1402887.476 826823.691 0, 1402604.814 826799.987 0,
+ 1402322.15 826776.298 0, 1402039.485 826752.627 0, 1401756.818 826728.972 0, 1401474.15 826705.334 0, 1401190.177 826681.603 0, 1400908.81 826658.107 0, 1400626.138 826634.519 0, 1400343.465 826610.947 0, 1400060.79 826587.392 0, 1399778.113 826563.853 0,
+ 1399495.436 826540.331 0, 1399212.757 826516.826 0, 1398930.076 826493.338 0, 1398647.395 826469.866 0, 1398364.711 826446.411 0, 1398082.027 826422.972 0, 1397799.341 826399.55 0, 1397516.653 826376.145 0, 1397233.965 826352.756 0, 1396951.275 826329.384 0,
+ 1396668.583 826306.028 0, 1396385.89 826282.689 0, 1396103.196 826259.367 0, 1395820.501 826236.062 0, 1395537.804 826212.773 0, 1395255.105 826189.501 0, 1394972.406 826166.245 0, 1394689.704 826143.006 0, 1394405.697 826119.677 0, 1393949.424 831676.247 0,
+ 1393493.133 837233.031 0, 1393776.483 837256.307 0, 1394058.53 837279.492 0, 1394340.576 837302.694 0, 1394622.62 837325.912 0, 1394904.663 837349.147 0, 1395186.704 837372.399 0, 1395468.745 837395.667 0, 1395750.783 837418.952 0, 1396032.821 837442.253 0,
+ 1396314.857 837465.571 0, 1396596.891 837488.906 0, 1396878.925 837512.257 0, 1397160.956 837535.625 0, 1397442.987 837559.009 0, 1397725.016 837582.41 0, 1398007.044 837605.828 0, 1398289.07 837629.262 0, 1398571.095 837652.713 0, 1398853.119 837676.18 0,
+ 1399135.141 837699.664 0, 1399417.162 837723.165 0, 1399699.181 837746.682 0, 1399981.2 837770.216 0, 1400261.916 837793.658 0, 1400545.232 837817.333 0, 1400827.245 837840.917 0, 1401109.258 837864.517 0, 1401391.269 837888.134 0, 1401673.279 837911.767 0,
+ 1401955.287 837935.417 0, 1402237.294 837959.084 0, 1402519.3 837982.767 0, 1402801.304 838006.467 0, 1403083.307 838030.183 0, 1403365.308 838053.916 0, 1403647.308 838077.666 0, 1403929.307 838101.432 0, 1404211.304 838125.215 0, 1404493.3 838149.014 0,
+ 1404775.294 838172.83 0, 1405057.287 838196.663 0, 1405339.279 838220.512 0, 1405621.269 838244.378 0, 1405903.258 838268.26 0, 1406185.245 838292.159 0, 1406467.231 838316.074 0, 1406749.216 838340.007 0, 1407029.899 838363.845 0, 1407501.887 832808.372 0,
+ 1407973.857 827253.113 0))
+
+POLYGON ((1420563.417 839532.898 0, 1420282.8 839508.266 0, 1420000.884 839483.538 0, 1419718.966 839458.826 0, 1419437.048 839434.13 0, 1419155.128 839409.451 0, 1418873.206 839384.789 0, 1418591.283 839360.143 0, 1418309.358 839335.514 0, 1418027.432 839310.901 0,
+ 1417745.505 839286.305 0, 1417463.576 839261.726 0, 1417181.646 839237.163 0, 1416899.714 839212.617 0, 1416617.781 839188.087 0, 1416335.846 839163.574 0, 1416053.91 839139.078 0, 1415771.972 839114.598 0, 1415490.033 839090.135 0, 1415208.093 839065.688 0,
+ 1414926.151 839041.258 0, 1414644.208 839016.845 0, 1414362.263 838992.448 0, 1414080.317 838968.068 0, 1413797.071 838943.592 0, 1413516.42 838919.357 0, 1413234.47 838895.027 0, 1412952.518 838870.713 0, 1412670.564 838846.416 0, 1412388.61 838822.135 0,
+ 1412106.654 838797.871 0, 1411824.696 838773.623 0, 1411542.737 838749.392 0, 1411260.776 838725.178 0, 1410978.814 838700.981 0, 1410696.851 838676.799 0, 1410414.886 838652.635 0, 1410132.92 838628.487 0, 1409850.953 838604.356 0, 1409568.984 838580.241 0,
+ 1409287.013 838556.143 0, 1409005.041 838532.061 0, 1408723.068 838507.996 0, 1408441.093 838483.948 0, 1408159.117 838459.916 0, 1407877.14 838435.901 0, 1407595.161 838411.903 0, 1407313.181 838387.921 0, 1407029.899 838363.845 0, 1406557.894 843919.528 0,
+ 1406085.871 849475.417 0, 1406368.495 849499.437 0, 1406649.821 849523.363 0, 1406931.146 849547.306 0, 1407212.469 849571.265 0, 1407493.791 849595.241 0, 1407775.112 849619.234 0, 1408056.431 849643.243 0, 1408337.749 849667.269 0, 1408619.066 849691.311 0,
+ 1408900.381 849715.37 0, 1409181.694 849739.445 0, 1409463.007 849763.537 0, 1409744.317 849787.645 0, 1410025.627 849811.77 0, 1410306.935 849835.912 0, 1410588.241 849860.07 0, 1410869.546 849884.245 0, 1411150.85 849908.436 0, 1411432.152 849932.644 0,
+ 1411713.453 849956.868 0, 1411994.752 849981.109 0, 1412276.05 850005.367 0, 1412557.347 850029.641 0, 1412837.347 850053.819 0, 1413119.936 850078.238 0, 1413401.228 850102.562 0, 1413682.519 850126.902 0, 1413963.808 850151.259 0, 1414245.096 850175.632 0,
+ 1414526.383 850200.022 0, 1414807.668 850224.429 0, 1415088.951 850248.852 0, 1415370.234 850273.291 0, 1415651.514 850297.748 0, 1415932.794 850322.22 0, 1416214.072 850346.71 0, 1416495.348 850371.215 0, 1416776.623 850395.738 0, 1417057.897 850420.277 0,
+ 1417339.169 850444.832 0, 1417620.439 850469.404 0, 1417901.709 850493.993 0, 1418182.976 850518.598 0, 1418464.243 850543.22 0, 1418745.508 850567.858 0, 1419026.771 850592.513 0, 1419308.033 850617.184 0, 1419588 850641.758 0, 1420075.717 845087.225 0,
+ 1420563.417 839532.898 0))
+
+POLYGON ((1433086.78 851846.241 0, 1432806.882 851820.876 0, 1432525.69 851795.41 0, 1432244.498 851769.961 0, 1431963.304 851744.528 0, 1431682.108 851719.112 0, 1431400.911 851693.712 0, 1431119.712 851668.329 0, 1430838.512 851642.962 0, 1430557.31 851617.612 0,
+ 1430276.107 851592.279 0, 1429994.903 851566.962 0, 1429713.697 851541.661 0, 1429432.489 851516.378 0, 1429151.28 851491.11 0, 1428870.069 851465.86 0, 1428588.857 851440.625 0, 1428307.644 851415.408 0, 1428026.429 851390.207 0, 1427745.212 851365.022 0,
+ 1427463.994 851339.854 0, 1427182.775 851314.703 0, 1426901.554 851289.568 0, 1426620.332 851264.45 0, 1426337.815 851239.233 0, 1426057.882 851214.263 0, 1425776.655 851189.194 0, 1425495.427 851164.142 0, 1425214.197 851139.107 0, 1424932.966 851114.088 0,
+ 1424651.733 851089.085 0, 1424370.499 851064.099 0, 1424089.263 851039.13 0, 1423808.026 851014.177 0, 1423526.788 850989.241 0, 1423245.548 850964.321 0, 1422964.306 850939.418 0, 1422683.063 850914.532 0, 1422401.819 850889.662 0, 1422120.573 850864.808 0,
+ 1421839.325 850839.971 0, 1421558.076 850815.151 0, 1421276.826 850790.347 0, 1420995.574 850765.56 0, 1420714.321 850740.789 0, 1420433.066 850716.035 0, 1420151.81 850691.297 0, 1419870.553 850666.576 0, 1419588 850641.758 0, 1419100.264 856196.494 0,
+ 1418612.511 861751.429 0, 1418894.407 861776.189 0, 1419175.011 861800.852 0, 1419455.613 861825.533 0, 1419736.214 861850.229 0, 1420016.813 861874.942 0, 1420297.411 861899.672 0, 1420578.008 861924.418 0, 1420858.603 861949.181 0, 1421139.196 861973.96 0,
+ 1421419.788 861998.755 0, 1421700.379 862023.568 0, 1421980.968 862048.396 0, 1422261.556 862073.242 0, 1422542.142 862098.103 0, 1422822.727 862122.981 0, 1423103.31 862147.876 0, 1423383.892 862172.788 0, 1423664.472 862197.715 0, 1423945.051 862222.66 0,
+ 1424225.629 862247.62 0, 1424506.205 862272.598 0, 1424786.779 862297.592 0, 1425067.352 862322.602 0, 1425346.634 862347.514 0, 1425628.494 862372.672 0, 1425909.062 862397.732 0, 1426189.63 862422.809 0, 1426470.195 862447.902 0, 1426750.759 862473.011 0,
+ 1427031.322 862498.137 0, 1427311.883 862523.279 0, 1427592.443 862548.438 0, 1427873.001 862573.614 0, 1428153.558 862598.806 0, 1428434.113 862624.014 0, 1428714.667 862649.239 0, 1428995.219 862674.481 0, 1429275.77 862699.739 0, 1429556.32 862725.014 0,
+ 1429836.868 862750.305 0, 1430117.414 862775.612 0, 1430397.959 862800.936 0, 1430678.502 862826.277 0, 1430959.044 862851.634 0, 1431239.584 862877.008 0, 1431520.123 862902.398 0, 1431800.661 862927.805 0, 1432079.908 862953.111 0, 1432583.353 857399.577 0,
+ 1433086.78 851846.241 0))
+
+POLYGON ((1445543.857 864192.837 0, 1445264.68 864166.741 0, 1444984.215 864140.542 0, 1444703.749 864114.359 0, 1444423.282 864088.193 0, 1444142.812 864062.044 0, 1443862.342 864035.911 0, 1443581.869 864009.794 0, 1443301.396 863983.694 0, 1443020.92 863957.61 0,
+ 1442740.444 863931.543 0, 1442459.965 863905.493 0, 1442179.485 863879.459 0, 1441899.004 863853.441 0, 1441618.521 863827.44 0, 1441338.037 863801.456 0, 1441057.551 863775.488 0, 1440777.063 863749.536 0, 1440496.574 863723.601 0, 1440216.083 863697.682 0,
+ 1439935.591 863671.78 0, 1439655.098 863645.895 0, 1439374.602 863620.026 0, 1439094.106 863594.174 0, 1438812.32 863568.219 0, 1438533.108 863542.518 0, 1438252.607 863516.715 0, 1437972.104 863490.929 0, 1437691.599 863465.159 0, 1437411.094 863439.406 0,
+ 1437130.586 863413.669 0, 1436850.078 863387.948 0, 1436569.567 863362.244 0, 1436289.055 863336.557 0, 1436008.542 863310.886 0, 1435728.027 863285.232 0, 1435447.511 863259.594 0, 1435166.993 863233.973 0, 1434886.473 863208.368 0, 1434605.953 863182.78 0,
+ 1434325.43 863157.208 0, 1434044.906 863131.652 0, 1433764.381 863106.114 0, 1433483.854 863080.591 0, 1433203.325 863055.086 0, 1432922.795 863029.596 0, 1432642.264 863004.124 0, 1432361.731 862978.668 0, 1432079.908 862953.111 0, 1431576.446 868506.84 0,
+ 1431072.966 874060.761 0, 1431354.132 874086.258 0, 1431634.011 874111.655 0, 1431913.889 874137.068 0, 1432193.765 874162.498 0, 1432473.64 874187.944 0, 1432753.513 874213.407 0, 1433033.385 874238.886 0, 1433313.255 874264.382 0, 1433593.124 874289.894 0,
+ 1433872.991 874315.423 0, 1434152.856 874340.968 0, 1434432.721 874366.53 0, 1434712.583 874392.108 0, 1434992.444 874417.702 0, 1435272.304 874443.313 0, 1435552.162 874468.941 0, 1435832.019 874494.585 0, 1436111.874 874520.245 0, 1436391.727 874545.922 0,
+ 1436671.58 874571.616 0, 1436951.43 874597.325 0, 1437231.279 874623.052 0, 1437511.127 874648.795 0, 1437789.689 874674.436 0, 1438070.817 874700.33 0, 1438350.66 874726.122 0, 1438630.502 874751.93 0, 1438910.342 874777.756 0, 1439190.18 874803.597 0,
+ 1439470.017 874829.455 0, 1439749.852 874855.33 0, 1440029.686 874881.221 0, 1440309.519 874907.128 0, 1440589.35 874933.052 0, 1440869.179 874958.993 0, 1441149.007 874984.95 0, 1441428.833 875010.923 0, 1441708.658 875036.913 0, 1441988.481 875062.919 0,
+ 1442268.302 875088.942 0, 1442548.123 875114.981 0, 1442827.941 875141.037 0, 1443107.758 875167.109 0, 1443387.574 875193.198 0, 1443667.388 875219.303 0, 1443947.2 875245.425 0, 1444227.011 875271.563 0, 1444505.537 875297.597 0, 1445024.706 869745.121 0,
+ 1445543.857 864192.837 0))
+
+POLYGON ((1457934.561 876572.378 0, 1457656.107 876545.557 0, 1457376.371 876518.628 0, 1457096.634 876491.716 0, 1456816.894 876464.821 0, 1456537.154 876437.942 0, 1456257.411 876411.079 0, 1455977.668 876384.233 0, 1455697.922 876357.403 0, 1455418.175 876330.59 0,
+ 1455138.427 876303.793 0, 1454858.676 876277.013 0, 1454578.925 876250.249 0, 1454299.171 876223.502 0, 1454019.416 876196.771 0, 1453739.66 876170.056 0, 1453459.902 876143.358 0, 1453180.142 876116.677 0, 1452900.381 876090.012 0, 1452620.618 876063.363 0,
+ 1452340.854 876036.731 0, 1452061.088 876010.115 0, 1451781.321 875983.516 0, 1451501.552 875956.933 0, 1451220.499 875930.246 0, 1450942.009 875903.817 0, 1450662.235 875877.284 0, 1450382.46 875850.767 0, 1450102.683 875824.267 0, 1449822.905 875797.783 0,
+ 1449543.125 875771.316 0, 1449263.343 875744.865 0, 1448983.56 875718.43 0, 1448703.776 875692.012 0, 1448423.989 875665.61 0, 1448144.202 875639.225 0, 1447864.412 875612.857 0, 1447584.622 875586.504 0, 1447304.829 875560.169 0, 1447025.035 875533.85 0,
+ 1446745.24 875507.547 0, 1446465.443 875481.26 0, 1446185.644 875454.991 0, 1445905.844 875428.737 0, 1445626.042 875402.5 0, 1445346.239 875376.28 0, 1445066.435 875350.076 0, 1444786.628 875323.888 0, 1444505.537 875297.597 0, 1443986.351 880850.261 0,
+ 1443467.148 886403.108 0, 1443747.582 886429.338 0, 1444026.735 886455.464 0, 1444305.886 886481.607 0, 1444585.036 886507.766 0, 1444864.184 886533.942 0, 1445143.33 886560.134 0, 1445422.475 886586.342 0, 1445701.618 886612.567 0, 1445980.76 886638.808 0,
+ 1446259.901 886665.066 0, 1446539.039 886691.34 0, 1446818.177 886717.631 0, 1447097.312 886743.938 0, 1447376.446 886770.261 0, 1447655.579 886796.601 0, 1447934.71 886822.958 0, 1448213.839 886849.33 0, 1448492.967 886875.72 0, 1448772.094 886902.125 0,
+ 1449051.219 886928.547 0, 1449330.342 886954.986 0, 1449609.463 886981.441 0, 1449888.584 887007.912 0, 1450166.424 887034.278 0, 1450446.819 887060.904 0, 1450725.935 887087.425 0, 1451005.049 887113.962 0, 1451284.161 887140.515 0, 1451563.272 887167.085 0,
+ 1451842.381 887193.671 0, 1452121.489 887220.274 0, 1452400.595 887246.893 0, 1452679.699 887273.529 0, 1452958.802 887300.181 0, 1453237.903 887326.849 0, 1453517.003 887353.534 0, 1453796.101 887380.236 0, 1454075.198 887406.953 0, 1454354.293 887433.687 0,
+ 1454633.387 887460.438 0, 1454912.479 887487.205 0, 1455191.569 887513.989 0, 1455470.658 887540.788 0, 1455749.745 887567.605 0, 1456028.831 887594.438 0, 1456307.915 887621.287 0, 1456586.997 887648.152 0, 1456864.801 887674.911 0, 1457399.69 882123.553 0,
+ 1457934.561 876572.378 0))
+
+POLYGON ((1470258.807 888984.56 0, 1469981.078 888957.016 0, 1469702.072 888929.362 0, 1469423.065 888901.725 0, 1469144.056 888874.104 0, 1468865.046 888846.499 0, 1468586.034 888818.911 0, 1468307.021 888791.339 0, 1468028.005 888763.783 0, 1467748.989 888736.244 0,
+ 1467469.97 888708.722 0, 1467190.95 888681.216 0, 1466911.928 888653.726 0, 1466632.905 888626.253 0, 1466353.88 888598.796 0, 1466074.854 888571.355 0, 1465795.825 888543.931 0, 1465516.796 888516.524 0, 1465237.764 888489.133 0, 1464958.731 888461.758 0,
+ 1464679.697 888434.399 0, 1464400.661 888407.058 0, 1464121.623 888379.732 0, 1463842.583 888352.423 0, 1463562.266 888325.006 0, 1463284.5 888297.854 0, 1463005.455 888270.594 0, 1462726.41 888243.351 0, 1462447.362 888216.124 0, 1462168.313 888188.913 0,
+ 1461889.262 888161.719 0, 1461610.21 888134.542 0, 1461331.156 888107.38 0, 1461052.101 888080.236 0, 1460773.044 888053.107 0, 1460493.985 888025.995 0, 1460214.925 887998.9 0, 1459935.863 887971.821 0, 1459656.8 887944.758 0, 1459377.735 887917.712 0,
+ 1459098.668 887890.682 0, 1458819.6 887863.668 0, 1458540.53 887836.671 0, 1458261.459 887809.691 0, 1457982.386 887782.727 0, 1457703.311 887755.779 0, 1457424.235 887728.848 0, 1457145.157 887701.933 0, 1456864.801 887674.911 0, 1456329.894 893226.449 0,
+ 1455794.971 898778.164 0, 1456074.671 898805.122 0, 1456353.095 898831.974 0, 1456631.518 898858.842 0, 1456909.939 898885.727 0, 1457188.359 898912.628 0, 1457466.776 898939.545 0, 1457745.193 898966.479 0, 1458023.607 898993.429 0, 1458302.021 899020.395 0,
+ 1458580.432 899047.378 0, 1458858.842 899074.378 0, 1459137.25 899101.393 0, 1459415.657 899128.426 0, 1459694.062 899155.474 0, 1459972.466 899182.539 0, 1460250.868 899209.62 0, 1460529.268 899236.718 0, 1460807.667 899263.832 0, 1461086.064 899290.962 0,
+ 1461364.46 899318.109 0, 1461642.854 899345.272 0, 1461921.246 899372.452 0, 1462199.637 899399.648 0, 1462476.753 899426.736 0, 1462756.414 899454.089 0, 1463034.8 899481.334 0, 1463313.184 899508.595 0, 1463591.567 899535.873 0, 1463869.948 899563.168 0,
+ 1464148.328 899590.478 0, 1464426.706 899617.805 0, 1464705.082 899645.149 0, 1464983.457 899672.509 0, 1465261.83 899699.885 0, 1465540.202 899727.277 0, 1465818.572 899754.686 0, 1466096.94 899782.112 0, 1466375.307 899809.553 0, 1466653.672 899837.011 0,
+ 1466932.035 899864.486 0, 1467210.397 899891.977 0, 1467488.757 899919.484 0, 1467767.116 899947.008 0, 1468045.473 899974.548 0, 1468323.828 900002.104 0, 1468602.182 900029.677 0, 1468880.534 900057.266 0, 1469157.613 900084.746 0, 1469708.218 894534.565 0,
+ 1470258.807 888984.56 0))
+
+POLYGON ((1482516.509 901429.074 0, 1482239.507 901400.812 0, 1481961.234 901372.436 0, 1481682.96 901344.077 0, 1481404.683 901315.735 0, 1481126.405 901287.408 0, 1480848.126 901259.098 0, 1480569.844 901230.805 0, 1480291.561 901202.528 0, 1480013.276 901174.267 0,
+ 1479734.99 901146.022 0, 1479456.702 901117.794 0, 1479178.412 901089.583 0, 1478900.121 901061.387 0, 1478621.828 901033.208 0, 1478343.533 901005.046 0, 1478065.237 900976.9 0, 1477786.939 900948.77 0, 1477508.639 900920.657 0, 1477230.338 900892.56 0,
+ 1476952.035 900864.479 0, 1476673.73 900836.415 0, 1476395.424 900808.367 0, 1476117.116 900780.335 0, 1475837.536 900752.192 0, 1475560.495 900724.321 0, 1475282.182 900696.339 0, 1475003.868 900668.373 0, 1474725.552 900640.423 0, 1474447.234 900612.49 0,
+ 1474168.914 900584.573 0, 1473890.593 900556.673 0, 1473612.271 900528.789 0, 1473333.946 900500.921 0, 1473055.62 900473.07 0, 1472777.293 900445.235 0, 1472498.963 900417.416 0, 1472220.632 900389.614 0, 1471942.3 900361.829 0, 1471663.966 900334.059 0,
+ 1471385.63 900306.306 0, 1471107.292 900278.569 0, 1470828.953 900250.849 0, 1470550.613 900223.145 0, 1470272.27 900195.458 0, 1469993.926 900167.787 0, 1469715.581 900140.132 0, 1469437.233 900112.494 0, 1469157.613 900084.746 0, 1468606.99 905635.099 0,
+ 1468056.35 911185.62 0, 1468335.315 911213.303 0, 1468613.008 911240.877 0, 1468890.701 911268.467 0, 1469168.391 911296.073 0, 1469446.08 911323.695 0, 1469723.768 911351.334 0, 1470001.453 911378.989 0, 1470279.137 911406.661 0, 1470556.82 911434.349 0,
+ 1470834.501 911462.053 0, 1471112.18 911489.774 0, 1471389.858 911517.51 0, 1471667.534 911545.264 0, 1471945.208 911573.033 0, 1472222.881 911600.819 0, 1472500.552 911628.621 0, 1472778.221 911656.44 0, 1473055.889 911684.275 0, 1473333.555 911712.126 0,
+ 1473611.219 911739.994 0, 1473888.882 911767.878 0, 1474166.544 911795.778 0, 1474444.203 911823.695 0, 1474720.593 911851.5 0, 1474999.517 911879.577 0, 1475277.172 911907.543 0, 1475554.825 911935.525 0, 1475832.476 911963.523 0, 1476110.126 911991.538 0,
+ 1476387.774 912019.569 0, 1476665.42 912047.617 0, 1476943.065 912075.68 0, 1477220.708 912103.76 0, 1477498.35 912131.857 0, 1477775.99 912159.97 0, 1478053.628 912188.099 0, 1478331.264 912216.244 0, 1478608.899 912244.406 0, 1478886.532 912272.584 0,
+ 1479164.164 912300.779 0, 1479441.793 912328.989 0, 1479719.422 912357.217 0, 1479997.048 912385.46 0, 1480274.673 912413.72 0, 1480552.296 912441.996 0, 1480829.918 912470.289 0, 1481107.538 912498.598 0, 1481383.889 912526.794 0, 1481950.208 906977.85 0,
+ 1482516.509 901429.074 0))
+
+POLYGON ((1494707.586 913905.614 0, 1494431.313 913876.637 0, 1494153.775 913847.544 0, 1493876.234 913818.467 0, 1493598.692 913789.407 0, 1493321.148 913760.363 0, 1493043.602 913731.335 0, 1492766.055 913702.324 0, 1492488.506 913673.329 0, 1492210.955 913644.35 0,
+ 1491933.403 913615.388 0, 1491655.849 913586.442 0, 1491378.293 913557.512 0, 1491100.735 913528.598 0, 1490823.176 913499.701 0, 1490545.615 913470.821 0, 1490268.052 913441.956 0, 1489990.488 913413.108 0, 1489712.922 913384.277 0, 1489435.354 913355.461 0,
+ 1489157.785 913326.662 0, 1488880.214 913297.879 0, 1488602.641 913269.113 0, 1488325.066 913240.363 0, 1488046.225 913211.499 0, 1487769.912 913182.912 0, 1487492.333 913154.211 0, 1487214.751 913125.526 0, 1486937.168 913096.858 0, 1486659.584 913068.206 0,
+ 1486381.997 913039.57 0, 1486104.409 913010.951 0, 1485826.82 912982.348 0, 1485549.228 912953.762 0, 1485271.635 912925.191 0, 1484994.04 912896.637 0, 1484716.444 912868.1 0, 1484438.846 912839.578 0, 1484161.246 912811.073 0, 1483883.644 912782.585 0,
+ 1483606.041 912754.113 0, 1483328.436 912725.657 0, 1483050.83 912697.217 0, 1482773.222 912668.794 0, 1482495.612 912640.387 0, 1482218 912611.996 0, 1481940.387 912583.622 0, 1481662.772 912555.264 0, 1481383.889 912526.794 0, 1480817.554 918075.902 0,
+ 1480251.202 923625.171 0, 1480529.429 923653.575 0, 1480806.391 923681.866 0, 1481083.351 923710.174 0, 1481360.309 923738.498 0, 1481637.265 923766.838 0, 1481914.22 923795.194 0, 1482191.174 923823.567 0, 1482468.125 923851.956 0, 1482745.075 923880.361 0,
+ 1483022.024 923908.782 0, 1483298.97 923937.22 0, 1483575.915 923965.674 0, 1483852.858 923994.145 0, 1484129.8 924022.632 0, 1484406.74 924051.135 0, 1484683.678 924079.654 0, 1484960.615 924108.19 0, 1485237.55 924136.742 0, 1485514.483 924165.31 0,
+ 1485791.414 924193.895 0, 1486068.344 924222.495 0, 1486345.272 924251.113 0, 1486622.199 924279.746 0, 1486897.861 924308.265 0, 1487176.047 924337.062 0, 1487452.968 924365.744 0, 1487729.888 924394.443 0, 1488006.806 924423.158 0, 1488283.722 924451.889 0,
+ 1488560.637 924480.637 0, 1488837.55 924509.401 0, 1489114.461 924538.181 0, 1489391.37 924566.977 0, 1489668.278 924595.79 0, 1489945.184 924624.619 0, 1490222.089 924653.464 0, 1490498.992 924682.326 0, 1490775.893 924711.204 0, 1491052.792 924740.098 0,
+ 1491329.69 924769.009 0, 1491606.586 924797.936 0, 1491883.48 924826.879 0, 1492160.373 924855.838 0, 1492437.263 924884.814 0, 1492714.153 924913.806 0, 1492991.04 924942.814 0, 1493267.926 924971.839 0, 1493543.549 925000.747 0, 1494125.576 919453.1 0,
+ 1494707.586 913905.614 0))
+
+POLYGON ((985441.006 475982.319 0, 985139.165 475983.181 0, 984835.853 475984.065 0, 984532.542 475984.966 0, 984229.231 475985.885 0, 983925.919 475986.823 0, 983622.608 475987.778 0, 983319.297 475988.75 0, 983015.986 475989.741 0, 982712.675 475990.75 0,
+ 982409.364 475991.776 0, 982106.053 475992.82 0, 981802.742 475993.883 0, 981499.431 475994.963 0, 981196.121 475996.06 0, 980892.81 475997.176 0, 980589.499 475998.31 0, 980286.189 475999.461 0, 979982.878 476000.63 0, 979679.568 476001.817 0,
+ 979376.258 476003.022 0, 979072.947 476004.245 0, 978769.637 476005.486 0, 978466.327 476006.744 0, 978161.546 476008.027 0, 977859.707 476009.315 0, 977556.397 476010.627 0, 977253.087 476011.957 0, 976949.778 476013.304 0, 976646.468 476014.67 0,
+ 976343.158 476016.054 0, 976039.849 476017.455 0, 975736.54 476018.874 0, 975433.23 476020.311 0, 975129.921 476021.766 0, 974826.612 476023.239 0, 974523.303 476024.729 0, 974219.994 476026.238 0, 973916.685 476027.764 0, 973613.376 476029.308 0,
+ 973310.067 476030.87 0, 973006.759 476032.45 0, 972703.45 476034.048 0, 972400.142 476035.663 0, 972096.834 476037.297 0, 971793.525 476038.948 0, 971490.217 476040.617 0, 971186.909 476042.304 0, 970882.129 476044.017 0, 970913.523 481600.045 0,
+ 970944.919 487156.487 0, 971249.042 487154.777 0, 971551.696 487153.094 0, 971854.35 487151.429 0, 972157.004 487149.781 0, 972459.659 487148.151 0, 972762.313 487146.539 0, 973064.967 487144.945 0, 973367.622 487143.368 0, 973670.277 487141.81 0,
+ 973972.931 487140.269 0, 974275.586 487138.746 0, 974578.241 487137.241 0, 974880.896 487135.753 0, 975183.551 487134.284 0, 975486.206 487132.832 0, 975788.862 487131.398 0, 976091.517 487129.982 0, 976394.172 487128.584 0, 976696.828 487127.203 0,
+ 976999.483 487125.84 0, 977302.139 487124.496 0, 977604.795 487123.169 0, 977907.451 487121.859 0, 978208.639 487120.574 0, 978512.763 487119.294 0, 978815.419 487118.039 0, 979118.075 487116.801 0, 979420.731 487115.58 0, 979723.387 487114.378 0,
+ 980026.044 487113.194 0, 980328.7 487112.027 0, 980631.356 487110.878 0, 980934.013 487109.747 0, 981236.67 487108.634 0, 981539.326 487107.538 0, 981841.983 487106.46 0, 982144.64 487105.401 0, 982447.297 487104.359 0, 982749.954 487103.334 0,
+ 983052.611 487102.328 0, 983355.268 487101.339 0, 983657.925 487100.369 0, 983960.582 487099.416 0, 984263.239 487098.48 0, 984565.896 487097.563 0, 984868.554 487096.664 0, 985171.211 487095.782 0, 985472.402 487094.922 0, 985456.703 481538.414 0,
+ 985441.006 475982.319 0))
+
+POLYGON ((1000000 487074.401 0, 999698.806 487074.409 0, 999396.147 487074.436 0, 999093.488 487074.481 0, 998790.83 487074.543 0, 998488.171 487074.623 0, 998185.513 487074.721 0, 997882.854 487074.836 0, 997580.195 487074.97 0, 997277.537 487075.121 0,
+ 996974.878 487075.29 0, 996672.219 487075.477 0, 996369.561 487075.682 0, 996066.902 487075.905 0, 995764.244 487076.145 0, 995461.585 487076.403 0, 995158.927 487076.679 0, 994856.268 487076.973 0, 994553.61 487077.285 0, 994250.951 487077.614 0,
+ 993948.293 487077.962 0, 993645.634 487078.327 0, 993342.976 487078.71 0, 993040.317 487079.11 0, 992736.194 487079.531 0, 992435.001 487079.965 0, 992132.342 487080.419 0, 991829.684 487080.891 0, 991527.026 487081.381 0, 991224.368 487081.889 0,
+ 990921.71 487082.414 0, 990619.051 487082.957 0, 990316.393 487083.519 0, 990013.735 487084.097 0, 989711.077 487084.694 0, 989408.419 487085.309 0, 989105.761 487085.941 0, 988803.103 487086.591 0, 988500.445 487087.259 0, 988197.787 487087.945 0,
+ 987895.129 487088.648 0, 987592.472 487089.37 0, 987289.814 487090.109 0, 986987.156 487090.866 0, 986684.499 487091.641 0, 986381.841 487092.433 0, 986079.183 487093.244 0, 985776.526 487094.072 0, 985472.402 487094.922 0, 985488.101 492651.842 0,
+ 985503.802 498209.171 0, 985807.268 498208.323 0, 986109.272 498207.496 0, 986411.275 498206.687 0, 986713.279 498205.897 0, 987015.282 498205.123 0, 987317.286 498204.368 0, 987619.289 498203.63 0, 987921.293 498202.911 0, 988223.297 498202.209 0,
+ 988525.3 498201.524 0, 988827.304 498200.858 0, 989129.308 498200.209 0, 989431.312 498199.578 0, 989733.315 498198.965 0, 990035.319 498198.37 0, 990337.323 498197.792 0, 990639.327 498197.232 0, 990941.331 498196.69 0, 991243.335 498196.166 0,
+ 991545.339 498195.659 0, 991847.343 498195.171 0, 992149.348 498194.7 0, 992451.352 498194.246 0, 992751.894 498193.813 0, 993055.36 498193.393 0, 993357.364 498192.993 0, 993659.369 498192.611 0, 993961.373 498192.247 0, 994263.377 498191.901 0,
+ 994565.381 498191.572 0, 994867.386 498191.261 0, 995169.39 498190.968 0, 995471.394 498190.692 0, 995773.399 498190.435 0, 996075.403 498190.195 0, 996377.408 498189.973 0, 996679.412 498189.768 0, 996981.417 498189.582 0, 997283.421 498189.413 0,
+ 997585.425 498189.262 0, 997887.43 498189.129 0, 998189.434 498189.013 0, 998491.439 498188.915 0, 998793.443 498188.836 0, 999095.448 498188.773 0, 999397.452 498188.729 0, 999699.457 498188.703 0, 1000000 498188.694 0, 1000000 492631.343 0,
+ 1000000 487074.401 0))
+
+POLYGON ((1014496.198 498209.171 0, 1014195.654 498208.331 0, 1013893.651 498207.504 0, 1013591.647 498206.695 0, 1013289.644 498205.904 0, 1012987.64 498205.131 0, 1012685.637 498204.375 0, 1012383.633 498203.637 0, 1012081.63 498202.917 0, 1011779.626 498202.215 0,
+ 1011477.622 498201.531 0, 1011175.618 498200.864 0, 1010873.615 498200.215 0, 1010571.611 498199.584 0, 1010269.607 498198.971 0, 1009967.603 498198.375 0, 1009665.599 498197.797 0, 1009363.595 498197.237 0, 1009061.591 498196.695 0, 1008759.587 498196.171 0,
+ 1008457.583 498195.664 0, 1008155.579 498195.175 0, 1007853.575 498194.704 0, 1007551.571 498194.251 0, 1007248.106 498193.813 0, 1006947.562 498193.397 0, 1006645.558 498192.997 0, 1006343.554 498192.615 0, 1006041.55 498192.251 0, 1005739.545 498191.904 0,
+ 1005437.541 498191.575 0, 1005135.537 498191.264 0, 1004833.532 498190.97 0, 1004531.528 498190.695 0, 1004229.524 498190.437 0, 1003927.519 498190.197 0, 1003625.515 498189.975 0, 1003323.51 498189.77 0, 1003021.506 498189.583 0, 1002719.501 498189.414 0,
+ 1002417.497 498189.263 0, 1002115.493 498189.13 0, 1001813.488 498189.014 0, 1001511.484 498188.916 0, 1001209.479 498188.836 0, 1000907.475 498188.774 0, 1000605.47 498188.729 0, 1000303.466 498188.703 0, 1000000 498188.694 0, 1000000 503746.45 0,
+ 1000000 509304.608 0, 1000302.808 509304.617 0, 1000604.159 509304.644 0, 1000905.509 509304.688 0, 1001206.859 509304.751 0, 1001508.209 509304.831 0, 1001809.559 509304.928 0, 1002110.91 509305.044 0, 1002412.26 509305.177 0, 1002713.61 509305.328 0,
+ 1003014.96 509305.496 0, 1003316.31 509305.682 0, 1003617.66 509305.887 0, 1003919.011 509306.108 0, 1004220.361 509306.348 0, 1004521.711 509306.605 0, 1004823.061 509306.88 0, 1005124.411 509307.173 0, 1005425.761 509307.483 0, 1005727.111 509307.812 0,
+ 1006028.461 509308.158 0, 1006329.811 509308.521 0, 1006631.161 509308.903 0, 1006932.511 509309.302 0, 1007232.404 509309.717 0, 1007535.211 509310.153 0, 1007836.561 509310.606 0, 1008137.911 509311.076 0, 1008439.261 509311.564 0, 1008740.61 509312.069 0,
+ 1009041.96 509312.593 0, 1009343.31 509313.134 0, 1009644.66 509313.692 0, 1009946.009 509314.269 0, 1010247.359 509314.863 0, 1010548.709 509315.475 0, 1010850.058 509316.105 0, 1011151.408 509316.752 0, 1011452.757 509317.418 0, 1011754.107 509318.101 0,
+ 1012055.456 509318.801 0, 1012356.805 509319.52 0, 1012658.155 509320.256 0, 1012959.504 509321.01 0, 1013260.853 509321.781 0, 1013562.202 509322.571 0, 1013863.552 509323.378 0, 1014164.901 509324.203 0, 1014464.794 509325.041 0, 1014480.497 503766.905 0,
+ 1014496.198 498209.171 0))
+
+POLYGON ((1028929.472 509386.34 0, 1028629.58 509384.654 0, 1028328.235 509382.978 0, 1028026.889 509381.319 0, 1027725.543 509379.679 0, 1027424.198 509378.056 0, 1027122.852 509376.45 0, 1026821.506 509374.863 0, 1026520.159 509373.293 0, 1026218.813 509371.741 0,
+ 1025917.467 509370.207 0, 1025616.12 509368.69 0, 1025314.774 509367.191 0, 1025013.427 509365.71 0, 1024712.081 509364.247 0, 1024410.734 509362.801 0, 1024109.387 509361.373 0, 1023808.04 509359.963 0, 1023506.693 509358.571 0, 1023205.346 509357.196 0,
+ 1022903.999 509355.839 0, 1022602.652 509354.5 0, 1022301.304 509353.178 0, 1021999.957 509351.875 0, 1021697.155 509350.582 0, 1021397.262 509349.32 0, 1021095.914 509348.07 0, 1020794.567 509346.837 0, 1020493.219 509345.622 0, 1020191.871 509344.425 0,
+ 1019890.523 509343.245 0, 1019589.175 509342.083 0, 1019287.827 509340.939 0, 1018986.479 509339.813 0, 1018685.131 509338.704 0, 1018383.782 509337.613 0, 1018082.434 509336.54 0, 1017781.086 509335.484 0, 1017479.737 509334.447 0, 1017178.389 509333.427 0,
+ 1016877.04 509332.425 0, 1016575.692 509331.44 0, 1016274.343 509330.473 0, 1015972.994 509329.524 0, 1015671.645 509328.593 0, 1015370.297 509327.68 0, 1015068.948 509326.784 0, 1014767.599 509325.906 0, 1014464.794 509325.041 0, 1014449.09 514883.577 0,
+ 1014433.385 520442.509 0, 1014735.532 520443.371 0, 1015036.227 520444.247 0, 1015336.921 520445.141 0, 1015637.616 520446.053 0, 1015938.31 520446.982 0, 1016239.005 520447.929 0, 1016539.699 520448.894 0, 1016840.393 520449.876 0, 1017141.087 520450.876 0,
+ 1017441.782 520451.894 0, 1017742.476 520452.929 0, 1018043.17 520453.982 0, 1018343.864 520455.053 0, 1018644.558 520456.142 0, 1018945.251 520457.248 0, 1019245.945 520458.372 0, 1019546.639 520459.513 0, 1019847.333 520460.673 0, 1020148.026 520461.85 0,
+ 1020448.72 520463.044 0, 1020749.413 520464.257 0, 1021050.106 520465.487 0, 1021350.8 520466.735 0, 1021650.041 520467.994 0, 1021952.186 520469.284 0, 1022252.879 520470.584 0, 1022553.572 520471.903 0, 1022854.265 520473.239 0, 1023154.958 520474.593 0,
+ 1023455.651 520475.965 0, 1023756.343 520477.354 0, 1024057.036 520478.762 0, 1024357.728 520480.186 0, 1024658.421 520481.629 0, 1024959.113 520483.089 0, 1025259.805 520484.567 0, 1025560.497 520486.063 0, 1025861.189 520487.576 0, 1026161.881 520489.107 0,
+ 1026462.573 520490.656 0, 1026763.265 520492.222 0, 1027063.957 520493.806 0, 1027364.648 520495.408 0, 1027665.34 520497.027 0, 1027966.031 520498.664 0, 1028266.723 520500.319 0, 1028567.414 520501.992 0, 1028866.655 520503.674 0, 1028898.065 514944.809 0,
+ 1028929.472 509386.34 0))
+
+POLYGON ((1043299.694 520605.616 0, 1043000.457 520603.088 0, 1042699.772 520600.566 0, 1042399.086 520598.062 0, 1042098.401 520595.575 0, 1041797.715 520593.106 0, 1041497.029 520590.655 0, 1041196.343 520588.221 0, 1040895.657 520585.805 0, 1040594.97 520583.407 0,
+ 1040294.284 520581.027 0, 1039993.597 520578.664 0, 1039692.911 520576.319 0, 1039392.224 520573.991 0, 1039091.537 520571.682 0, 1038790.85 520569.39 0, 1038490.162 520567.115 0, 1038189.475 520564.859 0, 1037888.787 520562.62 0, 1037588.1 520560.399 0,
+ 1037287.412 520558.195 0, 1036986.724 520556.009 0, 1036686.036 520553.841 0, 1036385.348 520551.691 0, 1036083.21 520549.548 0, 1035783.971 520547.443 0, 1035483.283 520545.346 0, 1035182.594 520543.266 0, 1034881.905 520541.204 0, 1034581.216 520539.16 0,
+ 1034280.527 520537.133 0, 1033979.838 520535.125 0, 1033679.149 520533.133 0, 1033378.459 520531.16 0, 1033077.77 520529.204 0, 1032777.08 520527.266 0, 1032476.39 520525.346 0, 1032175.701 520523.443 0, 1031875.011 520521.558 0, 1031574.32 520519.691 0,
+ 1031273.63 520517.841 0, 1030972.94 520516.01 0, 1030672.25 520514.195 0, 1030371.559 520512.399 0, 1030070.868 520510.62 0, 1029770.178 520508.859 0, 1029469.487 520507.116 0, 1029168.796 520505.39 0, 1028866.655 520503.674 0, 1028835.243 526062.932 0,
+ 1028803.828 531622.58 0, 1029105.312 531624.293 0, 1029405.348 531626.015 0, 1029705.385 531627.754 0, 1030005.421 531629.511 0, 1030305.457 531631.286 0, 1030605.493 531633.079 0, 1030905.529 531634.889 0, 1031205.565 531636.717 0, 1031505.601 531638.563 0,
+ 1031805.636 531640.426 0, 1032105.672 531642.307 0, 1032405.707 531644.205 0, 1032705.743 531646.121 0, 1033005.778 531648.055 0, 1033305.813 531650.007 0, 1033605.848 531651.976 0, 1033905.883 531653.962 0, 1034205.917 531655.967 0, 1034505.952 531657.989 0,
+ 1034805.987 531660.029 0, 1035106.021 531662.086 0, 1035406.055 531664.161 0, 1035706.089 531666.254 0, 1036004.677 531668.354 0, 1036306.157 531670.493 0, 1036606.191 531672.638 0, 1036906.225 531674.802 0, 1037206.258 531676.983 0, 1037506.291 531679.182 0,
+ 1037806.325 531681.398 0, 1038106.358 531683.632 0, 1038406.391 531685.884 0, 1038706.424 531688.153 0, 1039006.456 531690.44 0, 1039306.489 531692.745 0, 1039606.521 531695.067 0, 1039906.554 531697.407 0, 1040206.586 531699.765 0, 1040506.618 531702.14 0,
+ 1040806.65 531704.533 0, 1041106.681 531706.944 0, 1041406.713 531709.372 0, 1041706.745 531711.818 0, 1042006.776 531714.281 0, 1042306.807 531716.763 0, 1042606.838 531719.262 0, 1042906.869 531721.778 0, 1043205.455 531724.3 0, 1043252.576 526164.763 0,
+ 1043299.694 520605.616 0))
+
+POLYGON ((1057606.737 531866.707 0, 1057308.157 531863.341 0, 1057008.134 531859.977 0, 1056708.111 531856.63 0, 1056408.088 531853.302 0, 1056108.065 531849.99 0, 1055808.042 531846.697 0, 1055508.018 531843.421 0, 1055207.995 531840.163 0, 1054907.971 531836.922 0,
+ 1054607.947 531833.699 0, 1054307.922 531830.494 0, 1054007.898 531827.306 0, 1053707.873 531824.136 0, 1053407.848 531820.984 0, 1053107.823 531817.849 0, 1052807.798 531814.732 0, 1052507.773 531811.633 0, 1052207.747 531808.551 0, 1051907.721 531805.487 0,
+ 1051607.695 531802.441 0, 1051307.669 531799.412 0, 1051007.643 531796.401 0, 1050707.616 531793.408 0, 1050406.146 531790.418 0, 1050107.563 531787.474 0, 1049807.536 531784.534 0, 1049507.509 531781.611 0, 1049207.481 531778.706 0, 1048907.454 531775.818 0,
+ 1048607.426 531772.949 0, 1048307.398 531770.096 0, 1048007.37 531767.262 0, 1047707.342 531764.445 0, 1047407.314 531761.646 0, 1047107.285 531758.865 0, 1046807.256 531756.101 0, 1046507.227 531753.355 0, 1046207.198 531750.626 0, 1045907.169 531747.915 0,
+ 1045607.14 531745.222 0, 1045307.11 531742.547 0, 1045007.081 531739.889 0, 1044707.051 531737.249 0, 1044407.021 531734.626 0, 1044106.991 531732.021 0, 1043806.961 531729.434 0, 1043506.93 531726.864 0, 1043205.455 531724.3 0, 1043158.33 537284.224 0,
+ 1043111.202 542844.532 0, 1043412.02 542847.091 0, 1043711.396 542849.655 0, 1044010.772 542852.236 0, 1044310.147 542854.835 0, 1044609.523 542857.452 0, 1044908.898 542860.087 0, 1045208.273 542862.739 0, 1045507.648 542865.408 0, 1045807.023 542868.096 0,
+ 1046106.398 542870.801 0, 1046405.772 542873.523 0, 1046705.147 542876.263 0, 1047004.521 542879.021 0, 1047303.895 542881.796 0, 1047603.269 542884.589 0, 1047902.642 542887.4 0, 1048202.016 542890.228 0, 1048501.389 542893.074 0, 1048800.762 542895.938 0,
+ 1049100.135 542898.819 0, 1049399.508 542901.718 0, 1049698.881 542904.634 0, 1049998.253 542907.568 0, 1050296.185 542910.505 0, 1050596.998 542913.489 0, 1050896.37 542916.476 0, 1051195.742 542919.48 0, 1051495.113 542922.502 0, 1051794.485 542925.542 0,
+ 1052093.856 542928.599 0, 1052393.227 542931.674 0, 1052692.598 542934.767 0, 1052991.969 542937.877 0, 1053291.339 542941.005 0, 1053590.71 542944.15 0, 1053890.08 542947.313 0, 1054189.45 542950.494 0, 1054488.82 542953.692 0, 1054788.189 542956.908 0,
+ 1055087.559 542960.142 0, 1055386.928 542963.393 0, 1055686.297 542966.662 0, 1055985.666 542969.948 0, 1056285.035 542973.252 0, 1056584.403 542976.574 0, 1056883.771 542979.913 0, 1057183.139 542983.27 0, 1057481.068 542986.628 0, 1057543.905 537426.476 0,
+ 1057606.737 531866.707 0))
+
+POLYGON ((1071850.475 543169.321 0, 1071552.555 543165.121 0, 1071253.197 543160.918 0, 1070953.839 543156.733 0, 1070654.482 543152.566 0, 1070355.123 543148.416 0, 1070055.765 543144.284 0, 1069756.407 543140.169 0, 1069457.048 543136.073 0, 1069157.689 543131.993 0,
+ 1068858.329 543127.932 0, 1068558.97 543123.888 0, 1068259.61 543119.861 0, 1067960.25 543115.852 0, 1067660.89 543111.861 0, 1067361.529 543107.888 0, 1067062.168 543103.932 0, 1066762.807 543099.993 0, 1066463.446 543096.072 0, 1066164.085 543092.169 0,
+ 1065864.723 543088.284 0, 1065565.361 543084.416 0, 1065265.999 543080.566 0, 1064966.637 543076.733 0, 1064665.836 543072.9 0, 1064367.911 543069.121 0, 1064068.548 543065.341 0, 1063769.185 543061.579 0, 1063469.821 543057.834 0, 1063170.458 543054.108 0,
+ 1062871.094 543050.398 0, 1062571.73 543046.707 0, 1062272.365 543043.033 0, 1061973.001 543039.376 0, 1061673.636 543035.737 0, 1061374.271 543032.116 0, 1061074.906 543028.513 0, 1060775.54 543024.927 0, 1060476.175 543021.358 0, 1060176.809 543017.808 0,
+ 1059877.443 543014.275 0, 1059578.077 543010.759 0, 1059278.71 543007.261 0, 1058979.344 543003.781 0, 1058679.977 543000.318 0, 1058380.61 542996.873 0, 1058081.242 542993.446 0, 1057781.875 542990.036 0, 1057481.068 542986.628 0, 1057418.227 548547.161 0,
+ 1057355.382 554108.071 0, 1057655.531 554111.472 0, 1057954.244 554114.875 0, 1058252.957 554118.295 0, 1058551.669 554121.732 0, 1058850.382 554125.187 0, 1059149.094 554128.66 0, 1059447.806 554132.15 0, 1059746.517 554135.658 0, 1060045.229 554139.183 0,
+ 1060343.94 554142.726 0, 1060642.651 554146.286 0, 1060941.362 554149.864 0, 1061240.072 554153.46 0, 1061538.783 554157.073 0, 1061837.493 554160.704 0, 1062136.203 554164.353 0, 1062434.913 554168.019 0, 1062733.622 554171.702 0, 1063032.332 554175.403 0,
+ 1063331.041 554179.122 0, 1063629.75 554182.858 0, 1063928.458 554186.612 0, 1064227.167 554190.384 0, 1064524.44 554194.155 0, 1064824.583 554197.98 0, 1065123.291 554201.804 0, 1065421.998 554205.646 0, 1065720.706 554209.505 0, 1066019.413 554213.382 0,
+ 1066318.12 554217.277 0, 1066616.826 554221.189 0, 1066915.533 554225.118 0, 1067214.239 554229.066 0, 1067512.945 554233.031 0, 1067811.651 554237.013 0, 1068110.356 554241.013 0, 1068409.061 554245.031 0, 1068707.766 554249.066 0, 1069006.471 554253.119 0,
+ 1069305.176 554257.189 0, 1069603.88 554261.277 0, 1069902.584 554265.383 0, 1070201.288 554269.506 0, 1070499.991 554273.647 0, 1070798.695 554277.805 0, 1071097.398 554281.981 0, 1071396.1 554286.174 0, 1071693.369 554290.365 0, 1071771.925 548729.654 0,
+ 1071850.475 543169.321 0))
+
+POLYGON ((1086030.784 554513.165 0, 1085733.526 554508.134 0, 1085434.836 554503.097 0, 1085136.146 554498.077 0, 1084837.456 554493.075 0, 1084538.765 554488.091 0, 1084240.074 554483.124 0, 1083941.383 554478.174 0, 1083642.691 554473.242 0, 1083344 554468.328 0,
+ 1083045.307 554463.431 0, 1082746.615 554458.552 0, 1082447.922 554453.691 0, 1082149.229 554448.847 0, 1081850.536 554444.021 0, 1081551.843 554439.212 0, 1081253.149 554434.421 0, 1080954.455 554429.647 0, 1080655.76 554424.891 0, 1080357.066 554420.152 0,
+ 1080058.371 554415.432 0, 1079759.675 554410.728 0, 1079460.98 554406.043 0, 1079162.284 554401.374 0, 1078862.155 554396.702 0, 1078564.892 554392.091 0, 1078266.195 554387.476 0, 1077967.498 554382.878 0, 1077668.801 554378.298 0, 1077370.104 554373.735 0,
+ 1077071.406 554369.19 0, 1076772.708 554364.662 0, 1076474.01 554360.153 0, 1076175.311 554355.66 0, 1075876.613 554351.185 0, 1075577.914 554346.728 0, 1075279.214 554342.289 0, 1074980.515 554337.867 0, 1074681.815 554333.462 0, 1074383.115 554329.075 0,
+ 1074084.415 554324.706 0, 1073785.714 554320.355 0, 1073487.013 554316.02 0, 1073188.312 554311.704 0, 1072889.611 554307.405 0, 1072590.909 554303.124 0, 1072292.207 554298.86 0, 1071993.505 554294.614 0, 1071693.369 554290.365 0, 1071614.809 559851.45 0,
+ 1071536.243 565412.906 0, 1071835.721 565417.145 0, 1072133.768 565421.382 0, 1072431.816 565425.637 0, 1072729.862 565429.909 0, 1073027.909 565434.198 0, 1073325.956 565438.505 0, 1073624.002 565442.83 0, 1073922.048 565447.172 0, 1074220.093 565451.532 0,
+ 1074518.139 565455.909 0, 1074816.184 565460.304 0, 1075114.229 565464.716 0, 1075412.273 565469.146 0, 1075710.318 565473.593 0, 1076008.362 565478.058 0, 1076306.406 565482.541 0, 1076604.449 565487.041 0, 1076902.493 565491.558 0, 1077200.536 565496.093 0,
+ 1077498.578 565500.646 0, 1077796.621 565505.216 0, 1078094.663 565509.804 0, 1078392.705 565514.409 0, 1078689.317 565519.01 0, 1078988.788 565523.672 0, 1079286.829 565528.33 0, 1079584.87 565533.006 0, 1079882.911 565537.698 0, 1080180.951 565542.409 0,
+ 1080478.991 565547.137 0, 1080777.031 565551.883 0, 1081075.07 565556.646 0, 1081373.11 565561.427 0, 1081671.149 565566.225 0, 1081969.187 565571.041 0, 1082267.226 565575.874 0, 1082565.264 565580.725 0, 1082863.301 565585.593 0, 1083161.339 565590.479 0,
+ 1083459.376 565595.383 0, 1083757.413 565600.304 0, 1084055.45 565605.242 0, 1084353.486 565610.198 0, 1084651.522 565615.172 0, 1084949.558 565620.163 0, 1085247.593 565625.172 0, 1085545.628 565630.198 0, 1085842.235 565635.218 0, 1085936.513 560074.006 0,
+ 1086030.784 554513.165 0))
+
+POLYGON ((1100147.542 565897.946 0, 1099850.949 565892.088 0, 1099552.929 565886.22 0, 1099254.909 565880.369 0, 1098956.888 565874.536 0, 1098658.868 565868.72 0, 1098360.846 565862.922 0, 1098062.825 565857.142 0, 1097764.803 565851.379 0, 1097466.781 565845.633 0,
+ 1097168.758 565839.905 0, 1096870.736 565834.195 0, 1096572.712 565828.502 0, 1096274.689 565822.827 0, 1095976.665 565817.169 0, 1095678.641 565811.529 0, 1095380.616 565805.906 0, 1095082.591 565800.301 0, 1094784.566 565794.713 0, 1094486.541 565789.143 0,
+ 1094188.515 565783.591 0, 1093890.489 565778.056 0, 1093592.462 565772.538 0, 1093294.436 565767.038 0, 1092994.981 565761.53 0, 1092698.381 565756.091 0, 1092400.353 565750.644 0, 1092102.325 565745.214 0, 1091804.297 565739.802 0, 1091506.268 565734.407 0,
+ 1091208.239 565729.03 0, 1090910.21 565723.671 0, 1090612.18 565718.329 0, 1090314.15 565713.004 0, 1090016.12 565707.697 0, 1089718.089 565702.408 0, 1089420.058 565697.136 0, 1089122.027 565691.882 0, 1088823.995 565686.645 0, 1088525.964 565681.426 0,
+ 1088227.931 565676.224 0, 1087929.899 565671.04 0, 1087631.866 565665.873 0, 1087333.833 565660.724 0, 1087035.8 565655.593 0, 1086737.766 565650.479 0, 1086439.732 565645.382 0, 1086141.698 565640.303 0, 1085842.235 565635.218 0, 1085747.951 571196.797 0,
+ 1085653.661 576758.742 0, 1085952.466 576763.816 0, 1086249.845 576768.884 0, 1086547.225 576773.969 0, 1086844.604 576779.072 0, 1087141.982 576784.192 0, 1087439.361 576789.33 0, 1087736.739 576794.485 0, 1088034.116 576799.658 0, 1088331.494 576804.848 0,
+ 1088628.871 576810.056 0, 1088926.248 576815.281 0, 1089223.624 576820.524 0, 1089521.001 576825.784 0, 1089818.377 576831.062 0, 1090115.752 576836.358 0, 1090413.127 576841.67 0, 1090710.502 576847.001 0, 1091007.877 576852.348 0, 1091305.251 576857.714 0,
+ 1091602.625 576863.096 0, 1091899.999 576868.497 0, 1092197.373 576873.915 0, 1092494.746 576879.35 0, 1092790.694 576884.777 0, 1093089.491 576890.273 0, 1093386.863 576895.761 0, 1093684.235 576901.266 0, 1093981.606 576906.789 0, 1094278.977 576912.329 0,
+ 1094576.348 576917.887 0, 1094873.719 576923.462 0, 1095171.089 576929.055 0, 1095468.459 576934.666 0, 1095765.828 576940.293 0, 1096063.197 576945.939 0, 1096360.566 576951.602 0, 1096657.935 576957.282 0, 1096955.303 576962.98 0, 1097252.67 576968.695 0,
+ 1097550.038 576974.428 0, 1097847.405 576980.178 0, 1098144.772 576985.946 0, 1098442.138 576991.732 0, 1098739.505 576997.534 0, 1099036.87 577003.355 0, 1099334.236 577009.193 0, 1099631.601 577015.048 0, 1099927.543 577020.893 0, 1100037.546 571459.237 0,
+ 1100147.542 565897.946 0))
+
+POLYGON ((1114200.627 577323.369 0, 1113904.701 577316.688 0, 1113607.353 577309.992 0, 1113310.006 577303.315 0, 1113012.657 577296.654 0, 1112715.309 577290.011 0, 1112417.96 577283.386 0, 1112120.611 577276.778 0, 1111823.261 577270.187 0, 1111525.911 577263.614 0,
+ 1111228.56 577257.059 0, 1110931.209 577250.521 0, 1110633.858 577244.001 0, 1110336.506 577237.498 0, 1110039.154 577231.012 0, 1109741.802 577224.544 0, 1109444.449 577218.094 0, 1109147.096 577211.661 0, 1108849.743 577205.245 0, 1108552.389 577198.847 0,
+ 1108255.034 577192.467 0, 1107957.68 577186.104 0, 1107660.325 577179.759 0, 1107362.969 577173.431 0, 1107064.192 577167.09 0, 1106768.257 577160.827 0, 1106470.901 577154.552 0, 1106173.544 577148.294 0, 1105876.187 577142.054 0, 1105578.829 577135.831 0,
+ 1105281.471 577129.625 0, 1104984.113 577123.437 0, 1104686.754 577117.267 0, 1104389.395 577111.114 0, 1104092.035 577104.979 0, 1103794.675 577098.861 0, 1103497.315 577092.76 0, 1103199.955 577086.678 0, 1102902.594 577080.612 0, 1102605.233 577074.564 0,
+ 1102307.871 577068.534 0, 1102010.509 577062.521 0, 1101713.147 577056.526 0, 1101415.784 577050.548 0, 1101118.421 577044.587 0, 1100821.058 577038.644 0, 1100523.694 577032.719 0, 1100226.33 577026.811 0, 1099927.543 577020.893 0, 1099817.532 582582.91 0,
+ 1099707.515 588145.286 0, 1100005.644 588151.191 0, 1100302.353 588157.086 0, 1100599.062 588162.999 0, 1100895.771 588168.928 0, 1101192.479 588174.876 0, 1101489.187 588180.84 0, 1101785.895 588186.823 0, 1102082.602 588192.822 0, 1102379.309 588198.839 0,
+ 1102676.015 588204.874 0, 1102972.721 588210.926 0, 1103269.427 588216.995 0, 1103566.133 588223.082 0, 1103862.838 588229.187 0, 1104159.542 588235.309 0, 1104456.247 588241.448 0, 1104752.951 588247.605 0, 1105049.654 588253.779 0, 1105346.358 588259.971 0,
+ 1105643.06 588266.18 0, 1105939.763 588272.407 0, 1106236.465 588278.651 0, 1106533.167 588284.913 0, 1106828.45 588291.162 0, 1107126.569 588297.488 0, 1107423.27 588303.802 0, 1107719.97 588310.134 0, 1108016.67 588316.482 0, 1108313.37 588322.849 0,
+ 1108610.069 588329.233 0, 1108906.768 588335.634 0, 1109203.466 588342.053 0, 1109500.164 588348.489 0, 1109796.862 588354.943 0, 1110093.559 588361.414 0, 1110390.256 588367.902 0, 1110686.953 588374.409 0, 1110983.649 588380.932 0, 1111280.345 588387.473 0,
+ 1111577.04 588394.032 0, 1111873.735 588400.607 0, 1112170.43 588407.201 0, 1112467.124 588413.812 0, 1112763.818 588420.44 0, 1113060.511 588427.086 0, 1113357.204 588433.749 0, 1113653.897 588440.43 0, 1113949.172 588447.096 0, 1114074.903 582885.053 0,
+ 1114200.627 577323.369 0))
+
+POLYGON ((1128189.919 588789.14 0, 1127894.662 588781.64 0, 1127597.989 588774.121 0, 1127301.316 588766.619 0, 1127004.643 588759.135 0, 1126707.969 588751.669 0, 1126411.294 588744.22 0, 1126114.62 588736.788 0, 1125817.944 588729.374 0, 1125521.269 588721.977 0,
+ 1125224.593 588714.598 0, 1124927.916 588707.237 0, 1124631.239 588699.892 0, 1124334.562 588692.565 0, 1124037.884 588685.256 0, 1123741.206 588677.964 0, 1123444.527 588670.69 0, 1123147.848 588663.433 0, 1122851.168 588656.193 0, 1122554.488 588648.971 0,
+ 1122257.808 588641.767 0, 1121961.127 588634.58 0, 1121664.446 588627.41 0, 1121367.764 588620.258 0, 1121069.666 588613.089 0, 1120774.4 588606.006 0, 1120477.717 588598.906 0, 1120181.033 588591.823 0, 1119884.35 588584.759 0, 1119587.666 588577.711 0,
+ 1119290.981 588570.681 0, 1118994.296 588563.669 0, 1118697.611 588556.674 0, 1118400.925 588549.696 0, 1118104.239 588542.736 0, 1117807.552 588535.793 0, 1117510.865 588528.868 0, 1117214.177 588521.96 0, 1116917.49 588515.07 0, 1116620.801 588508.197 0,
+ 1116324.113 588501.342 0, 1116027.424 588494.504 0, 1115730.734 588487.684 0, 1115434.044 588480.881 0, 1115137.354 588474.095 0, 1114840.663 588467.327 0, 1114543.972 588460.577 0, 1114247.281 588453.844 0, 1113949.172 588447.096 0, 1113823.432 594009.494 0,
+ 1113697.684 599572.243 0, 1113995.135 599578.976 0, 1114291.172 599585.694 0, 1114587.208 599592.43 0, 1114883.244 599599.183 0, 1115179.28 599605.954 0, 1115475.315 599612.742 0, 1115771.349 599619.547 0, 1116067.384 599626.37 0, 1116363.417 599633.21 0,
+ 1116659.451 599640.068 0, 1116955.484 599646.943 0, 1117251.517 599653.835 0, 1117547.549 599660.745 0, 1117843.581 599667.672 0, 1118139.612 599674.617 0, 1118435.643 599681.579 0, 1118731.674 599688.559 0, 1119027.704 599695.556 0, 1119323.734 599702.57 0,
+ 1119619.763 599709.602 0, 1119915.792 599716.652 0, 1120211.821 599723.718 0, 1120507.849 599730.802 0, 1120802.463 599737.87 0, 1121099.904 599745.023 0, 1121395.931 599752.159 0, 1121691.957 599759.313 0, 1121987.983 599766.484 0, 1122284.009 599773.673 0,
+ 1122580.034 599780.879 0, 1122876.059 599788.103 0, 1123172.083 599795.344 0, 1123468.107 599802.602 0, 1123764.13 599809.878 0, 1124060.153 599817.171 0, 1124356.176 599824.482 0, 1124652.198 599831.81 0, 1124948.22 599839.155 0, 1125244.241 599846.518 0,
+ 1125540.262 599853.899 0, 1125836.283 599861.296 0, 1126132.303 599868.712 0, 1126428.322 599876.144 0, 1126724.341 599883.594 0, 1127020.36 599891.062 0, 1127316.378 599898.547 0, 1127612.396 599906.049 0, 1127907.002 599913.533 0, 1128048.465 594351.16 0,
+ 1128189.919 588789.14 0))
+
+POLYGON ((1142115.299 600294.964 0, 1141820.713 600286.648 0, 1141524.718 600278.31 0, 1141228.722 600269.989 0, 1140932.725 600261.685 0, 1140636.728 600253.398 0, 1140340.731 600245.13 0, 1140044.733 600236.878 0, 1139748.735 600228.644 0, 1139452.736 600220.427 0,
+ 1139156.737 600212.228 0, 1138860.737 600204.046 0, 1138564.736 600195.882 0, 1138268.736 600187.735 0, 1137972.734 600179.606 0, 1137676.733 600171.494 0, 1137380.73 600163.399 0, 1137084.728 600155.322 0, 1136788.725 600147.262 0, 1136492.721 600139.219 0,
+ 1136196.717 600131.194 0, 1135900.712 600123.187 0, 1135604.707 600115.197 0, 1135308.702 600107.224 0, 1135011.285 600099.231 0, 1134716.689 600091.331 0, 1134420.682 600083.41 0, 1134124.675 600075.507 0, 1133828.667 600067.622 0, 1133532.659 600059.754 0,
+ 1133236.65 600051.903 0, 1132940.641 600044.07 0, 1132644.631 600036.254 0, 1132348.621 600028.455 0, 1132052.61 600020.674 0, 1131756.599 600012.91 0, 1131460.587 600005.164 0, 1131164.575 599997.435 0, 1130868.563 599989.724 0, 1130572.55 599982.03 0,
+ 1130276.537 599974.354 0, 1129980.523 599966.694 0, 1129684.509 599959.053 0, 1129388.494 599951.429 0, 1129092.479 599943.822 0, 1128796.463 599936.232 0, 1128500.447 599928.66 0, 1128204.431 599921.106 0, 1127907.002 599913.533 0, 1127765.53 605476.253 0,
+ 1127624.049 611039.32 0, 1127920.82 611046.876 0, 1128216.182 611054.414 0, 1128511.543 611061.969 0, 1128806.904 611069.542 0, 1129102.264 611077.132 0, 1129397.624 611084.739 0, 1129692.983 611092.364 0, 1129988.342 611100.006 0, 1130283.701 611107.666 0,
+ 1130579.059 611115.343 0, 1130874.416 611123.037 0, 1131169.774 611130.749 0, 1131465.13 611138.478 0, 1131760.487 611146.224 0, 1132055.842 611153.988 0, 1132351.198 611161.769 0, 1132646.553 611169.568 0, 1132941.907 611177.384 0, 1133237.261 611185.217 0,
+ 1133532.614 611193.068 0, 1133827.968 611200.936 0, 1134123.32 611208.822 0, 1134418.672 611216.725 0, 1134712.616 611224.607 0, 1135009.375 611232.583 0, 1135304.726 611240.538 0, 1135600.076 611248.51 0, 1135895.426 611256.5 0, 1136190.775 611264.507 0,
+ 1136486.124 611272.532 0, 1136781.472 611280.574 0, 1137076.82 611288.633 0, 1137372.168 611296.71 0, 1137667.515 611304.804 0, 1137962.861 611312.916 0, 1138258.207 611321.045 0, 1138553.552 611329.191 0, 1138848.897 611337.354 0, 1139144.242 611345.536 0,
+ 1139439.586 611353.734 0, 1139734.93 611361.95 0, 1140030.273 611370.183 0, 1140325.615 611378.434 0, 1140620.957 611386.702 0, 1140916.299 611394.987 0, 1141211.64 611403.29 0, 1141506.981 611411.61 0, 1141800.915 611419.908 0, 1141958.112 605857.263 0,
+ 1142115.299 600294.964 0))
+
+POLYGON ((1155976.649 611840.546 0, 1155682.737 611831.418 0, 1155387.421 611822.264 0, 1155092.105 611813.126 0, 1154796.788 611804.007 0, 1154501.47 611794.904 0, 1154206.152 611785.819 0, 1153910.833 611776.752 0, 1153615.514 611767.702 0, 1153320.194 611758.669 0,
+ 1153024.874 611749.653 0, 1152729.553 611740.655 0, 1152434.232 611731.675 0, 1152138.91 611722.711 0, 1151843.588 611713.766 0, 1151548.265 611704.837 0, 1151252.941 611695.926 0, 1150957.618 611687.032 0, 1150662.293 611678.156 0, 1150366.968 611669.297 0,
+ 1150071.643 611660.455 0, 1149776.317 611651.631 0, 1149480.99 611642.824 0, 1149185.663 611634.035 0, 1148888.93 611625.221 0, 1148595.007 611616.508 0, 1148299.679 611607.77 0, 1148004.35 611599.051 0, 1147709.02 611590.348 0, 1147413.69 611581.663 0,
+ 1147118.359 611572.995 0, 1146823.028 611564.345 0, 1146527.696 611555.712 0, 1146232.364 611547.096 0, 1145937.031 611538.498 0, 1145641.698 611529.917 0, 1145346.364 611521.353 0, 1145051.03 611512.807 0, 1144755.696 611504.279 0, 1144460.36 611495.767 0,
+ 1144165.025 611487.273 0, 1143869.688 611478.797 0, 1143574.352 611470.337 0, 1143279.015 611461.896 0, 1142983.677 611453.471 0, 1142688.339 611445.064 0, 1142393 611436.675 0, 1142097.661 611428.302 0, 1141800.915 611419.908 0, 1141643.708 616982.894 0,
+ 1141486.492 622546.219 0, 1141782.58 622554.595 0, 1142077.265 622562.949 0, 1142371.948 622571.32 0, 1142666.632 622579.708 0, 1142961.315 622588.114 0, 1143255.997 622596.537 0, 1143550.679 622604.978 0, 1143845.36 622613.435 0, 1144140.041 622621.911 0,
+ 1144434.721 622630.403 0, 1144729.401 622638.913 0, 1145024.08 622647.44 0, 1145318.759 622655.985 0, 1145613.438 622664.546 0, 1145908.115 622673.126 0, 1146202.793 622681.722 0, 1146497.47 622690.336 0, 1146792.146 622698.967 0, 1147086.822 622707.616 0,
+ 1147381.497 622716.282 0, 1147676.172 622724.965 0, 1147970.846 622733.666 0, 1148265.52 622742.383 0, 1148558.791 622751.077 0, 1148854.866 622759.871 0, 1149149.538 622768.641 0, 1149444.21 622777.429 0, 1149738.881 622786.233 0, 1150033.552 622795.055 0,
+ 1150328.222 622803.895 0, 1150622.891 622812.751 0, 1150917.56 622821.625 0, 1151212.229 622830.517 0, 1151506.897 622839.426 0, 1151801.565 622848.352 0, 1152096.232 622857.295 0, 1152390.898 622866.256 0, 1152685.564 622875.234 0, 1152980.229 622884.229 0,
+ 1153274.894 622893.242 0, 1153569.559 622902.272 0, 1153864.223 622911.32 0, 1154158.886 622920.384 0, 1154453.549 622929.467 0, 1154748.211 622938.566 0, 1155042.873 622947.683 0, 1155337.534 622956.817 0, 1155630.793 622965.925 0, 1155803.726 617403.066 0,
+ 1155976.649 611840.546 0))
+
+POLYGON ((1169773.853 623425.59 0, 1169480.617 623415.653 0, 1169185.983 623405.686 0, 1168891.348 623395.737 0, 1168596.713 623385.805 0, 1168302.077 623375.891 0, 1168007.441 623365.993 0, 1167712.804 623356.113 0, 1167418.166 623346.251 0, 1167123.528 623336.406 0,
+ 1166828.889 623326.578 0, 1166534.249 623316.767 0, 1166239.609 623306.974 0, 1165944.969 623297.198 0, 1165650.328 623287.44 0, 1165355.686 623277.698 0, 1165061.044 623267.975 0, 1164766.401 623258.268 0, 1164471.757 623248.579 0, 1164177.113 623238.907 0,
+ 1163882.469 623229.253 0, 1163587.824 623219.616 0, 1163293.178 623209.996 0, 1162998.532 623200.393 0, 1162702.485 623190.763 0, 1162409.238 623181.241 0, 1162114.59 623171.69 0, 1161819.941 623162.157 0, 1161525.292 623152.641 0, 1161230.642 623143.143 0,
+ 1160935.992 623133.662 0, 1160641.341 623124.198 0, 1160346.69 623114.752 0, 1160052.038 623105.323 0, 1159757.386 623095.911 0, 1159462.733 623086.517 0, 1159168.079 623077.14 0, 1158873.425 623067.78 0, 1158578.771 623058.438 0, 1158284.115 623049.113 0,
+ 1157989.46 623039.805 0, 1157694.803 623030.515 0, 1157400.147 623021.242 0, 1157105.489 623011.987 0, 1156810.831 623002.748 0, 1156516.173 622993.527 0, 1156221.514 622984.324 0, 1155926.854 622975.138 0, 1155630.793 622965.925 0, 1155457.85 628529.12 0,
+ 1155284.897 634092.646 0, 1155580.299 634101.838 0, 1155874.304 634111.004 0, 1156168.308 634120.187 0, 1156462.312 634129.387 0, 1156756.315 634138.605 0, 1157050.317 634147.84 0, 1157344.319 634157.092 0, 1157638.321 634166.362 0, 1157932.321 634175.649 0,
+ 1158226.322 634184.953 0, 1158520.321 634194.275 0, 1158814.321 634203.614 0, 1159108.319 634212.97 0, 1159402.317 634222.343 0, 1159696.315 634231.734 0, 1159990.312 634241.142 0, 1160284.308 634250.567 0, 1160578.304 634260.01 0, 1160872.3 634269.47 0,
+ 1161166.294 634278.947 0, 1161460.289 634288.442 0, 1161754.282 634297.954 0, 1162048.275 634307.483 0, 1162340.871 634316.984 0, 1162636.26 634326.593 0, 1162930.251 634336.174 0, 1163224.242 634345.773 0, 1163518.232 634355.389 0, 1163812.222 634365.022 0,
+ 1164106.211 634374.672 0, 1164400.2 634384.339 0, 1164694.188 634394.024 0, 1164988.175 634403.727 0, 1165282.162 634413.446 0, 1165576.148 634423.183 0, 1165870.134 634432.937 0, 1166164.119 634442.709 0, 1166458.104 634452.497 0, 1166752.088 634462.303 0,
+ 1167046.071 634472.127 0, 1167340.054 634481.967 0, 1167634.036 634491.825 0, 1167928.018 634501.701 0, 1168221.999 634511.593 0, 1168515.979 634521.503 0, 1168809.959 634531.43 0, 1169103.939 634541.375 0, 1169396.522 634551.289 0, 1169585.193 628988.273 0,
+ 1169773.853 623425.59 0))
+
+POLYGON ((1183506.795 635049.798 0, 1183214.239 635039.057 0, 1182920.289 635028.282 0, 1182626.338 635017.524 0, 1182332.387 635006.784 0, 1182038.435 634996.061 0, 1181744.482 634985.355 0, 1181450.529 634974.667 0, 1181156.575 634963.995 0, 1180862.621 634953.341 0,
+ 1180568.666 634942.705 0, 1180274.71 634932.086 0, 1179980.753 634921.484 0, 1179686.796 634910.899 0, 1179392.839 634900.332 0, 1179098.881 634889.782 0, 1178804.922 634879.249 0, 1178510.962 634868.733 0, 1178217.002 634858.235 0, 1177923.042 634847.754 0,
+ 1177629.08 634837.291 0, 1177335.118 634826.845 0, 1177041.156 634816.416 0, 1176747.193 634806.004 0, 1176451.835 634795.56 0, 1176159.264 634785.233 0, 1175865.299 634774.873 0, 1175571.334 634764.531 0, 1175277.368 634754.205 0, 1174983.401 634743.898 0,
+ 1174689.433 634733.607 0, 1174395.465 634723.334 0, 1174101.497 634713.078 0, 1173807.528 634702.839 0, 1173513.558 634692.618 0, 1173219.587 634682.414 0, 1172925.616 634672.227 0, 1172631.645 634662.058 0, 1172337.672 634651.906 0, 1172043.7 634641.771 0,
+ 1171749.726 634631.653 0, 1171455.752 634621.553 0, 1171161.777 634611.47 0, 1170867.802 634601.405 0, 1170573.826 634591.356 0, 1170279.85 634581.325 0, 1169985.873 634571.312 0, 1169691.895 634561.315 0, 1169396.522 634551.289 0, 1169207.84 640114.634 0,
+ 1169019.147 645678.304 0, 1169313.862 645688.308 0, 1169607.185 645698.282 0, 1169900.507 645708.274 0, 1170193.829 645718.282 0, 1170487.149 645728.308 0, 1170780.47 645738.351 0, 1171073.789 645748.412 0, 1171367.109 645758.49 0, 1171660.427 645768.584 0,
+ 1171953.745 645778.697 0, 1172247.062 645788.826 0, 1172540.379 645798.973 0, 1172833.695 645809.137 0, 1173127.011 645819.318 0, 1173420.326 645829.517 0, 1173713.64 645839.733 0, 1174006.954 645849.966 0, 1174300.267 645860.216 0, 1174593.579 645870.484 0,
+ 1174886.891 645880.768 0, 1175180.203 645891.071 0, 1175473.513 645901.39 0, 1175766.824 645911.727 0, 1176058.742 645922.031 0, 1176353.442 645932.452 0, 1176646.75 645942.84 0, 1176940.058 645953.246 0, 1177233.365 645963.669 0, 1177526.671 645974.109 0,
+ 1177819.977 645984.567 0, 1178113.282 645995.041 0, 1178406.587 646005.533 0, 1178699.891 646016.043 0, 1178993.194 646026.569 0, 1179286.497 646037.113 0, 1179579.799 646047.674 0, 1179873.101 646058.252 0, 1180166.402 646068.848 0, 1180459.702 646079.461 0,
+ 1180753.001 646090.091 0, 1181046.3 646100.738 0, 1181339.599 646111.403 0, 1181632.896 646122.085 0, 1181926.194 646132.784 0, 1182219.49 646143.501 0, 1182512.786 646154.234 0, 1182806.081 646164.985 0, 1183097.986 646175.703 0, 1183302.397 640612.587 0,
+ 1183506.795 635049.798 0))
+
+POLYGON ((1197175.364 646712.874 0, 1196883.488 646701.332 0, 1196590.224 646689.753 0, 1196296.96 646678.19 0, 1196003.695 646666.645 0, 1195710.429 646655.118 0, 1195417.163 646643.607 0, 1195123.896 646632.114 0, 1194830.628 646620.638 0, 1194537.36 646609.179 0,
+ 1194244.09 646597.738 0, 1193950.821 646586.314 0, 1193657.55 646574.907 0, 1193364.279 646563.517 0, 1193071.007 646552.145 0, 1192777.735 646540.789 0, 1192484.462 646529.452 0, 1192191.188 646518.131 0, 1191897.914 646506.828 0, 1191604.639 646495.542 0,
+ 1191311.363 646484.273 0, 1191018.086 646473.021 0, 1190724.809 646461.787 0, 1190431.531 646450.57 0, 1190136.864 646439.317 0, 1189844.974 646428.187 0, 1189551.694 646417.022 0, 1189258.414 646405.874 0, 1188965.133 646394.743 0, 1188671.851 646383.63 0,
+ 1188378.569 646372.534 0, 1188085.286 646361.455 0, 1187792.002 646350.393 0, 1187498.718 646339.349 0, 1187205.433 646328.321 0, 1186912.147 646317.312 0, 1186618.861 646306.319 0, 1186325.574 646295.343 0, 1186032.286 646284.385 0, 1185738.998 646273.445 0,
+ 1185445.709 646262.521 0, 1185152.42 646251.615 0, 1184859.13 646240.726 0, 1184565.839 646229.854 0, 1184272.548 646218.999 0, 1183979.256 646208.162 0, 1183685.963 646197.342 0, 1183392.67 646186.539 0, 1183097.986 646175.703 0, 1182893.563 651739.14 0,
+ 1182689.129 657302.896 0, 1182983.155 657313.709 0, 1183275.793 657324.487 0, 1183568.431 657335.283 0, 1183861.068 657346.096 0, 1184153.705 657356.926 0, 1184446.34 657367.774 0, 1184738.976 657378.639 0, 1185031.61 657389.521 0, 1185324.244 657400.42 0,
+ 1185616.877 657411.336 0, 1185909.51 657422.27 0, 1186202.142 657433.221 0, 1186494.773 657444.189 0, 1186787.404 657455.174 0, 1187080.034 657466.177 0, 1187372.664 657477.197 0, 1187665.292 657488.234 0, 1187957.92 657499.288 0, 1188250.548 657510.359 0,
+ 1188543.175 657521.448 0, 1188835.801 657532.554 0, 1189128.426 657543.677 0, 1189421.051 657554.817 0, 1189712.29 657565.922 0, 1190006.299 657577.15 0, 1190298.922 657588.342 0, 1190591.544 657599.551 0, 1190884.165 657610.777 0, 1191176.786 657622.021 0,
+ 1191469.407 657633.282 0, 1191762.026 657644.56 0, 1192054.645 657655.855 0, 1192347.263 657667.168 0, 1192639.881 657678.498 0, 1192932.498 657689.845 0, 1193225.114 657701.209 0, 1193517.73 657712.59 0, 1193810.344 657723.989 0, 1194102.959 657735.405 0,
+ 1194395.572 657746.838 0, 1194688.185 657758.288 0, 1194980.797 657769.756 0, 1195273.409 657781.241 0, 1195566.02 657792.743 0, 1195858.63 657804.262 0, 1196151.239 657815.799 0, 1196443.848 657827.352 0, 1196735.072 657838.868 0, 1196955.224 652275.712 0,
+ 1197175.364 646712.874 0))
+
+POLYGON ((1210779.445 658414.521 0, 1210488.252 658402.182 0, 1210195.677 658389.801 0, 1209903.101 658377.438 0, 1209610.525 658365.093 0, 1209317.948 658352.764 0, 1209025.37 658340.452 0, 1208732.791 658328.158 0, 1208440.212 658315.881 0, 1208147.632 658303.621 0,
+ 1207855.051 658291.379 0, 1207562.47 658279.154 0, 1207269.887 658266.946 0, 1206977.304 658254.755 0, 1206684.721 658242.581 0, 1206392.136 658230.425 0, 1206099.551 658218.285 0, 1205806.965 658206.163 0, 1205514.379 658194.059 0, 1205221.792 658181.971 0,
+ 1204929.204 658169.901 0, 1204636.615 658157.848 0, 1204344.026 658145.812 0, 1204051.435 658133.793 0, 1203757.462 658121.735 0, 1203466.253 658109.807 0, 1203173.661 658097.84 0, 1202881.068 658085.89 0, 1202588.474 658073.958 0, 1202295.88 658062.043 0,
+ 1202003.285 658050.144 0, 1201710.689 658038.264 0, 1201418.093 658026.4 0, 1201125.496 658014.553 0, 1200832.898 658002.724 0, 1200540.3 657990.912 0, 1200247.7 657979.117 0, 1199955.101 657967.34 0, 1199662.5 657955.579 0, 1199369.899 657943.836 0,
+ 1199077.297 657932.11 0, 1198784.694 657920.402 0, 1198492.091 657908.71 0, 1198199.487 657897.036 0, 1197906.882 657885.379 0, 1197614.277 657873.739 0, 1197321.671 657862.117 0, 1197029.064 657850.511 0, 1196735.072 657838.868 0, 1196514.907 663402.341 0,
+ 1196294.731 668966.125 0, 1196588.064 668977.742 0, 1196880.016 668989.321 0, 1197171.967 669000.918 0, 1197463.918 669012.532 0, 1197755.868 669024.162 0, 1198047.817 669035.811 0, 1198339.765 669047.476 0, 1198631.713 669059.158 0, 1198923.66 669070.858 0,
+ 1199215.606 669082.575 0, 1199507.552 669094.309 0, 1199799.497 669106.06 0, 1200091.441 669117.828 0, 1200383.385 669129.614 0, 1200675.328 669141.417 0, 1200967.27 669153.237 0, 1201259.211 669165.074 0, 1201551.152 669176.928 0, 1201843.092 669188.8 0,
+ 1202135.032 669200.688 0, 1202426.97 669212.594 0, 1202718.908 669224.517 0, 1203010.846 669236.457 0, 1203301.402 669248.358 0, 1203594.718 669260.389 0, 1203886.653 669272.381 0, 1204178.588 669284.39 0, 1204470.522 669296.416 0, 1204762.455 669308.46 0,
+ 1205054.387 669320.52 0, 1205346.319 669332.598 0, 1205638.25 669344.693 0, 1205930.18 669356.805 0, 1206222.109 669368.934 0, 1206514.038 669381.08 0, 1206805.966 669393.244 0, 1207097.894 669405.425 0, 1207389.82 669417.623 0, 1207681.746 669429.838 0,
+ 1207973.671 669442.07 0, 1208265.596 669454.32 0, 1208557.52 669466.586 0, 1208849.443 669478.87 0, 1209141.365 669491.171 0, 1209433.287 669503.49 0, 1209725.208 669515.825 0, 1210017.128 669528.178 0, 1210307.668 669540.489 0, 1210543.563 663977.349 0,
+ 1210779.445 658414.521 0))
+
+POLYGON ((1224318.928 670154.44 0, 1224028.421 670141.307 0, 1223736.537 670128.13 0, 1223444.652 670114.97 0, 1223152.766 670101.827 0, 1222860.88 670088.701 0, 1222568.993 670075.593 0, 1222277.105 670062.501 0, 1221985.216 670049.427 0, 1221693.326 670036.37 0,
+ 1221401.436 670023.33 0, 1221109.545 670010.308 0, 1220817.653 669997.302 0, 1220525.761 669984.314 0, 1220233.867 669971.343 0, 1219941.973 669958.389 0, 1219650.078 669945.452 0, 1219358.183 669932.533 0, 1219066.286 669919.63 0, 1218774.389 669906.745 0,
+ 1218482.491 669893.877 0, 1218190.593 669881.026 0, 1217898.693 669868.192 0, 1217606.793 669855.376 0, 1217313.515 669842.516 0, 1217022.991 669829.794 0, 1216731.088 669817.029 0, 1216439.185 669804.282 0, 1216147.281 669791.551 0, 1215855.377 669778.838 0,
+ 1215563.471 669766.141 0, 1215271.565 669753.462 0, 1214979.658 669740.801 0, 1214687.75 669728.156 0, 1214395.842 669715.528 0, 1214103.933 669702.918 0, 1213812.023 669690.325 0, 1213520.112 669677.749 0, 1213228.201 669665.19 0, 1212936.289 669652.649 0,
+ 1212644.376 669640.124 0, 1212352.463 669627.617 0, 1212060.548 669615.127 0, 1211768.633 669602.654 0, 1211476.718 669590.198 0, 1211184.801 669577.76 0, 1210892.884 669565.338 0, 1210600.966 669552.934 0, 1210307.668 669540.489 0, 1210071.761 675103.938 0,
+ 1209835.84 680667.693 0, 1210128.479 680680.11 0, 1210419.742 680692.486 0, 1210711.005 680704.88 0, 1211002.266 680717.29 0, 1211293.527 680729.718 0, 1211584.787 680742.163 0, 1211876.047 680754.625 0, 1212167.305 680767.104 0, 1212458.563 680779.601 0,
+ 1212749.82 680792.114 0, 1213041.077 680804.645 0, 1213332.332 680817.192 0, 1213623.587 680829.757 0, 1213914.842 680842.339 0, 1214206.095 680854.938 0, 1214497.348 680867.555 0, 1214788.6 680880.188 0, 1215079.851 680892.839 0, 1215371.102 680905.507 0,
+ 1215662.351 680918.192 0, 1215953.6 680930.894 0, 1216244.849 680943.613 0, 1216536.096 680956.349 0, 1216825.968 680969.042 0, 1217118.589 680981.873 0, 1217409.834 680994.661 0, 1217701.079 681007.466 0, 1217992.323 681020.288 0, 1218283.566 681033.127 0,
+ 1218574.808 681045.983 0, 1218866.049 681058.857 0, 1219157.29 681071.747 0, 1219448.53 681084.655 0, 1219739.769 681097.58 0, 1220031.008 681110.522 0, 1220322.245 681123.481 0, 1220613.482 681136.457 0, 1220904.718 681149.451 0, 1221195.954 681162.461 0,
+ 1221487.188 681175.489 0, 1221778.422 681188.534 0, 1222069.655 681201.596 0, 1222360.888 681214.675 0, 1222652.119 681227.771 0, 1222943.35 681240.885 0, 1223234.58 681254.015 0, 1223525.809 681267.163 0, 1223815.664 681280.266 0, 1224067.303 675717.2 0,
+ 1224318.928 670154.44 0))
+
+POLYGON ((1237793.703 681932.332 0, 1237503.884 681918.411 0, 1237212.693 681904.44 0, 1236921.501 681890.487 0, 1236630.308 681876.551 0, 1236339.115 681862.632 0, 1236047.921 681848.73 0, 1235756.726 681834.845 0, 1235465.53 681820.977 0, 1235174.333 681807.127 0,
+ 1234883.136 681793.294 0, 1234591.937 681779.477 0, 1234300.738 681765.678 0, 1234009.538 681751.896 0, 1233718.338 681738.132 0, 1233427.136 681724.384 0, 1233135.934 681710.654 0, 1232844.731 681696.94 0, 1232553.527 681683.244 0, 1232262.322 681669.565 0,
+ 1231971.116 681655.903 0, 1231679.91 681642.258 0, 1231388.703 681628.631 0, 1231097.495 681615.02 0, 1230804.914 681601.363 0, 1230515.076 681587.85 0, 1230223.866 681574.291 0, 1229932.655 681560.749 0, 1229641.443 681547.225 0, 1229350.23 681533.717 0,
+ 1229059.017 681520.226 0, 1228767.802 681506.753 0, 1228476.587 681493.297 0, 1228185.371 681479.858 0, 1227894.154 681466.436 0, 1227602.937 681453.031 0, 1227311.719 681439.643 0, 1227020.5 681426.273 0, 1226729.28 681412.919 0, 1226438.059 681399.583 0,
+ 1226146.838 681386.264 0, 1225855.615 681372.962 0, 1225564.392 681359.677 0, 1225273.168 681346.409 0, 1224981.944 681333.159 0, 1224690.719 681319.925 0, 1224399.492 681306.709 0, 1224108.265 681293.51 0, 1223815.664 681280.266 0, 1223564.012 686843.634 0,
+ 1223312.347 692407.3 0, 1223604.29 692420.515 0, 1223894.862 692433.684 0, 1224185.433 692446.871 0, 1224476.003 692460.074 0, 1224766.573 692473.295 0, 1225057.142 692486.533 0, 1225347.71 692499.788 0, 1225638.277 692513.06 0, 1225928.844 692526.349 0,
+ 1226219.41 692539.656 0, 1226509.975 692552.979 0, 1226800.539 692566.319 0, 1227091.102 692579.677 0, 1227381.665 692593.052 0, 1227672.227 692606.443 0, 1227962.788 692619.852 0, 1228253.348 692633.278 0, 1228543.908 692646.721 0, 1228834.466 692660.182 0,
+ 1229125.024 692673.659 0, 1229415.581 692687.153 0, 1229706.138 692700.665 0, 1229996.693 692714.193 0, 1230285.879 692727.675 0, 1230577.802 692741.302 0, 1230868.355 692754.882 0, 1231158.907 692768.479 0, 1231449.459 692782.093 0, 1231740.009 692795.724 0,
+ 1232030.559 692809.372 0, 1232321.108 692823.038 0, 1232611.657 692836.72 0, 1232902.204 692850.42 0, 1233192.751 692864.137 0, 1233483.297 692877.87 0, 1233773.842 692891.621 0, 1234064.386 692905.389 0, 1234354.929 692919.175 0, 1234645.472 692932.977 0,
+ 1234936.014 692946.796 0, 1235226.555 692960.632 0, 1235517.095 692974.486 0, 1235807.634 692988.357 0, 1236098.173 693002.244 0, 1236388.711 693016.149 0, 1236679.248 693030.071 0, 1236969.784 693044.01 0, 1237258.951 693057.9 0, 1237526.334 687494.967 0,
+ 1237793.703 681932.332 0))
+
+POLYGON ((1251203.662 693747.9 0, 1250914.533 693733.192 0, 1250624.037 693718.432 0, 1250333.541 693703.69 0, 1250043.043 693688.964 0, 1249752.545 693674.256 0, 1249462.046 693659.564 0, 1249171.546 693644.89 0, 1248881.045 693630.233 0, 1248590.544 693615.593 0,
+ 1248300.041 693600.97 0, 1248009.538 693586.364 0, 1247719.034 693571.775 0, 1247428.529 693557.203 0, 1247138.023 693542.649 0, 1246847.516 693528.111 0, 1246557.008 693513.591 0, 1246266.5 693499.087 0, 1245975.991 693484.601 0, 1245685.48 693470.132 0,
+ 1245394.969 693455.68 0, 1245104.458 693441.245 0, 1244813.945 693426.827 0, 1244523.431 693412.427 0, 1244231.55 693397.975 0, 1243942.402 693383.677 0, 1243651.885 693369.327 0, 1243361.368 693354.995 0, 1243070.851 693340.68 0, 1242780.332 693326.382 0,
+ 1242489.812 693312.1 0, 1242199.292 693297.837 0, 1241908.771 693283.59 0, 1241618.249 693269.36 0, 1241327.726 693255.147 0, 1241037.202 693240.952 0, 1240746.678 693226.773 0, 1240456.153 693212.612 0, 1240165.626 693198.468 0, 1239875.099 693184.341 0,
+ 1239584.572 693170.231 0, 1239294.043 693156.138 0, 1239003.513 693142.062 0, 1238712.983 693128.003 0, 1238422.452 693113.962 0, 1238131.92 693099.937 0, 1237841.387 693085.93 0, 1237550.853 693071.939 0, 1237258.951 693057.9 0, 1236991.554 698621.129 0,
+ 1236724.143 704184.65 0, 1237015.387 704198.657 0, 1237305.266 704212.616 0, 1237595.144 704226.592 0, 1237885.021 704240.585 0, 1238174.897 704254.595 0, 1238464.772 704268.622 0, 1238754.647 704282.666 0, 1239044.521 704296.727 0, 1239334.394 704310.805 0,
+ 1239624.266 704324.9 0, 1239914.137 704339.013 0, 1240204.008 704353.142 0, 1240493.877 704367.289 0, 1240783.746 704381.452 0, 1241073.614 704395.633 0, 1241363.481 704409.83 0, 1241653.348 704424.045 0, 1241943.213 704438.277 0, 1242233.078 704452.526 0,
+ 1242522.942 704466.792 0, 1242812.804 704481.075 0, 1243102.667 704495.375 0, 1243392.528 704509.692 0, 1243681.025 704523.958 0, 1243972.248 704538.377 0, 1244262.107 704552.745 0, 1244551.964 704567.131 0, 1244841.822 704581.533 0, 1245131.678 704595.952 0,
+ 1245421.533 704610.389 0, 1245711.388 704624.842 0, 1246001.241 704639.313 0, 1246291.094 704653.801 0, 1246580.946 704668.305 0, 1246870.797 704682.827 0, 1247160.647 704697.366 0, 1247450.497 704711.922 0, 1247740.345 704726.495 0, 1248030.193 704741.085 0,
+ 1248320.04 704755.692 0, 1248609.885 704770.316 0, 1248899.731 704784.957 0, 1249189.575 704799.616 0, 1249479.418 704814.291 0, 1249769.261 704828.983 0, 1250059.102 704843.693 0, 1250348.943 704858.419 0, 1250637.421 704873.094 0, 1250920.549 699310.351 0,
+ 1251203.662 693747.9 0))
+
+POLYGON ((1264548.698 705600.842 0, 1264260.261 705585.353 0, 1263970.463 705569.808 0, 1263680.664 705554.279 0, 1263390.864 705538.768 0, 1263101.063 705523.274 0, 1262811.262 705507.797 0, 1262521.459 705492.337 0, 1262231.656 705476.894 0, 1261941.851 705461.468 0,
+ 1261652.046 705446.059 0, 1261362.24 705430.667 0, 1261072.433 705415.293 0, 1260782.625 705399.935 0, 1260492.816 705384.594 0, 1260203.006 705369.271 0, 1259913.195 705353.964 0, 1259623.384 705338.675 0, 1259333.571 705323.402 0, 1259043.758 705308.147 0,
+ 1258753.943 705292.909 0, 1258464.128 705277.688 0, 1258174.312 705262.483 0, 1257884.495 705247.296 0, 1257593.316 705232.055 0, 1257304.858 705216.973 0, 1257015.039 705201.837 0, 1256725.218 705186.719 0, 1256435.397 705171.617 0, 1256145.575 705156.532 0,
+ 1255855.751 705141.464 0, 1255565.927 705126.414 0, 1255276.102 705111.38 0, 1254986.276 705096.364 0, 1254696.45 705081.364 0, 1254406.622 705066.382 0, 1254116.793 705051.416 0, 1253826.964 705036.468 0, 1253537.134 705021.537 0, 1253247.303 705006.623 0,
+ 1252957.471 704991.726 0, 1252667.638 704976.846 0, 1252377.804 704961.983 0, 1252087.969 704947.137 0, 1251798.134 704932.308 0, 1251508.297 704917.496 0, 1251218.46 704902.701 0, 1250928.622 704887.924 0, 1250637.421 704873.094 0, 1250354.278 710436.125 0,
+ 1250071.12 715999.441 0, 1250361.664 716014.238 0, 1250650.847 716028.982 0, 1250940.029 716043.743 0, 1251229.211 716058.522 0, 1251518.392 716073.317 0, 1251807.571 716088.13 0, 1252096.75 716102.959 0, 1252385.928 716117.805 0, 1252675.106 716132.669 0,
+ 1252964.282 716147.549 0, 1253253.457 716162.447 0, 1253542.632 716177.361 0, 1253831.806 716192.293 0, 1254120.978 716207.241 0, 1254410.15 716222.207 0, 1254699.321 716237.189 0, 1254988.491 716252.189 0, 1255277.661 716267.206 0, 1255566.829 716282.239 0,
+ 1255855.997 716297.29 0, 1256145.163 716312.358 0, 1256434.329 716327.442 0, 1256723.494 716342.544 0, 1257011.3 716357.592 0, 1257301.821 716372.799 0, 1257590.983 716387.951 0, 1257880.144 716403.121 0, 1258169.305 716418.308 0, 1258458.464 716433.512 0,
+ 1258747.623 716448.733 0, 1259036.78 716463.971 0, 1259325.937 716479.226 0, 1259615.093 716494.497 0, 1259904.248 716509.786 0, 1260193.402 716525.092 0, 1260482.555 716540.415 0, 1260771.708 716555.755 0, 1261060.859 716571.112 0, 1261350.009 716586.486 0,
+ 1261639.159 716601.877 0, 1261928.308 716617.285 0, 1262217.455 716632.711 0, 1262506.602 716648.153 0, 1262795.748 716663.612 0, 1263084.893 716679.088 0, 1263374.037 716694.581 0, 1263663.181 716710.091 0, 1263950.966 716725.546 0, 1264249.84 711163.051 0,
+ 1264548.698 705600.842 0))
+
+POLYGON ((1277828.705 717490.86 0, 1277540.962 717474.593 0, 1277251.864 717458.266 0, 1276962.765 717441.956 0, 1276673.664 717425.663 0, 1276384.563 717409.387 0, 1276095.461 717393.128 0, 1275806.358 717376.886 0, 1275517.254 717360.661 0, 1275228.149 717344.453 0,
+ 1274939.043 717328.262 0, 1274649.936 717312.088 0, 1274360.829 717295.931 0, 1274071.72 717279.792 0, 1273782.61 717263.669 0, 1273493.5 717247.563 0, 1273204.388 717231.474 0, 1272915.275 717215.402 0, 1272626.162 717199.348 0, 1272337.048 717183.31 0,
+ 1272047.932 717167.289 0, 1271758.816 717151.286 0, 1271469.699 717135.299 0, 1271180.58 717119.329 0, 1270890.106 717103.302 0, 1270602.341 717087.441 0, 1270313.22 717071.522 0, 1270024.098 717055.621 0, 1269734.975 717039.736 0, 1269445.852 717023.869 0,
+ 1269156.727 717008.018 0, 1268867.601 716992.185 0, 1268578.475 716976.368 0, 1268289.347 716960.569 0, 1268000.218 716944.786 0, 1267711.089 716929.021 0, 1267421.959 716913.272 0, 1267132.828 716897.541 0, 1266843.695 716881.826 0, 1266554.562 716866.129 0,
+ 1266265.428 716850.449 0, 1265976.293 716834.785 0, 1265687.157 716819.139 0, 1265398.021 716803.51 0, 1265108.883 716787.897 0, 1264819.744 716772.302 0, 1264530.605 716756.724 0, 1264241.464 716741.163 0, 1263950.966 716725.546 0, 1263652.077 722288.321 0,
+ 1263353.174 727851.375 0, 1263643.014 727866.957 0, 1263931.5 727882.483 0, 1264219.984 727898.026 0, 1264508.468 727913.586 0, 1264796.951 727929.163 0, 1265085.433 727944.757 0, 1265373.914 727960.367 0, 1265662.394 727975.995 0, 1265950.873 727991.64 0,
+ 1266239.352 728007.302 0, 1266527.829 728022.981 0, 1266816.305 728038.677 0, 1267104.781 728054.389 0, 1267393.256 728070.119 0, 1267681.729 728085.866 0, 1267970.202 728101.63 0, 1268258.674 728117.41 0, 1268547.145 728133.208 0, 1268835.615 728149.023 0,
+ 1269124.084 728164.854 0, 1269412.552 728180.703 0, 1269701.019 728196.568 0, 1269989.485 728212.451 0, 1270276.598 728228.276 0, 1270566.415 728244.267 0, 1270854.878 728260.2 0, 1271143.34 728276.151 0, 1271431.802 728292.118 0, 1271720.263 728308.103 0,
+ 1272008.722 728324.104 0, 1272297.181 728340.123 0, 1272585.639 728356.158 0, 1272874.096 728372.21 0, 1273162.551 728388.28 0, 1273451.006 728404.366 0, 1273739.46 728420.469 0, 1274027.913 728436.589 0, 1274316.365 728452.727 0, 1274604.817 728468.881 0,
+ 1274893.267 728485.052 0, 1275181.716 728501.24 0, 1275470.164 728517.445 0, 1275758.612 728533.667 0, 1276047.058 728549.906 0, 1276335.503 728566.163 0, 1276623.948 728582.436 0, 1276912.391 728598.726 0, 1277199.482 728614.956 0, 1277514.102 723052.769 0,
+ 1277828.705 717490.86 0))
+
+POLYGON ((1291043.579 729417.653 0, 1290756.532 729400.611 0, 1290468.136 729383.506 0, 1290179.739 729366.418 0, 1289891.34 729349.347 0, 1289602.941 729332.293 0, 1289314.541 729315.256 0, 1289026.139 729298.236 0, 1288737.737 729281.233 0, 1288449.334 729264.247 0,
+ 1288160.929 729247.278 0, 1287872.524 729230.326 0, 1287584.118 729213.391 0, 1287295.71 729196.473 0, 1287007.302 729179.572 0, 1286718.893 729162.688 0, 1286430.482 729145.82 0, 1286142.071 729128.97 0, 1285853.659 729112.137 0, 1285565.245 729095.32 0,
+ 1285276.831 729078.521 0, 1284988.416 729061.739 0, 1284700 729044.973 0, 1284411.582 729028.225 0, 1284121.814 729011.415 0, 1283834.745 728994.779 0, 1283546.325 728978.082 0, 1283257.904 728961.401 0, 1282969.481 728944.738 0, 1282681.058 728928.091 0,
+ 1282392.634 728911.462 0, 1282104.209 728894.849 0, 1281815.783 728878.253 0, 1281527.356 728861.675 0, 1281238.928 728845.113 0, 1280950.499 728828.569 0, 1280662.069 728812.041 0, 1280373.638 728795.53 0, 1280085.206 728779.036 0, 1279796.773 728762.56 0,
+ 1279508.339 728746.1 0, 1279219.905 728729.657 0, 1278931.469 728713.231 0, 1278643.032 728696.822 0, 1278354.594 728680.43 0, 1278066.156 728664.055 0, 1277777.716 728647.698 0, 1277489.275 728631.357 0, 1277199.482 728614.956 0, 1276884.848 734177.418 0,
+ 1276570.198 739740.151 0, 1276859.333 739756.514 0, 1277147.119 739772.818 0, 1277434.904 739789.138 0, 1277722.687 739805.476 0, 1278010.47 739821.831 0, 1278298.252 739838.202 0, 1278586.033 739854.591 0, 1278873.813 739870.997 0, 1279161.592 739887.419 0,
+ 1279449.371 739903.858 0, 1279737.148 739920.315 0, 1280024.924 739936.788 0, 1280312.699 739953.278 0, 1280600.473 739969.785 0, 1280888.247 739986.309 0, 1281176.019 740002.85 0, 1281463.79 740019.408 0, 1281751.56 740035.983 0, 1282039.33 740052.575 0,
+ 1282327.098 740069.184 0, 1282614.866 740085.809 0, 1282902.632 740102.452 0, 1283190.397 740119.111 0, 1283476.815 740135.71 0, 1283765.925 740152.481 0, 1284053.688 740169.192 0, 1284341.449 740185.919 0, 1284629.21 740202.663 0, 1284916.969 740219.424 0,
+ 1285204.728 740236.203 0, 1285492.485 740252.998 0, 1285780.242 740269.81 0, 1286067.998 740286.638 0, 1286355.752 740303.484 0, 1286643.506 740320.347 0, 1286931.258 740337.227 0, 1287219.01 740354.124 0, 1287506.761 740371.037 0, 1287794.51 740387.968 0,
+ 1288082.259 740404.915 0, 1288370.006 740421.88 0, 1288657.753 740438.861 0, 1288945.499 740455.859 0, 1289233.243 740472.874 0, 1289520.987 740489.907 0, 1289808.73 740506.956 0, 1290096.471 740524.022 0, 1290382.866 740541.025 0, 1290713.23 734979.203 0,
+ 1291043.579 729417.653 0))
+
+POLYGON ((1304193.216 741380.919 0, 1303906.868 741363.107 0, 1303619.176 741345.228 0, 1303331.483 741327.366 0, 1303043.789 741309.521 0, 1302756.093 741291.693 0, 1302468.397 741273.882 0, 1302180.699 741256.088 0, 1301893.001 741238.31 0, 1301605.301 741220.55 0,
+ 1301317.6 741202.806 0, 1301029.899 741185.08 0, 1300742.196 741167.37 0, 1300454.492 741149.678 0, 1300166.787 741132.002 0, 1299879.082 741114.343 0, 1299591.375 741096.702 0, 1299303.667 741079.077 0, 1299015.958 741061.469 0, 1298728.248 741043.878 0,
+ 1298440.537 741026.304 0, 1298152.825 741008.746 0, 1297865.112 740991.206 0, 1297577.397 740973.683 0, 1297288.338 740956.095 0, 1297001.966 740938.687 0, 1296714.249 740921.215 0, 1296426.531 740903.759 0, 1296138.811 740886.321 0, 1295851.091 740868.899 0,
+ 1295563.37 740851.494 0, 1295275.647 740834.106 0, 1294987.924 740816.735 0, 1294700.2 740799.382 0, 1294412.474 740782.045 0, 1294124.748 740764.724 0, 1293837.02 740747.421 0, 1293549.292 740730.135 0, 1293261.562 740712.866 0, 1292973.832 740695.614 0,
+ 1292686.1 740678.378 0, 1292398.368 740661.16 0, 1292110.634 740643.958 0, 1291822.9 740626.774 0, 1291535.164 740609.606 0, 1291247.428 740592.455 0, 1290959.69 740575.321 0, 1290671.951 740558.205 0, 1290382.866 740541.025 0, 1290052.486 746103.114 0,
+ 1289722.09 751665.467 0, 1290010.517 751682.608 0, 1290297.601 751699.686 0, 1290584.684 751716.781 0, 1290871.766 751733.892 0, 1291158.847 751751.021 0, 1291445.926 751768.166 0, 1291733.005 751785.329 0, 1292020.083 751802.508 0, 1292307.16 751819.704 0,
+ 1292594.236 751836.917 0, 1292881.31 751854.147 0, 1293168.384 751871.394 0, 1293455.457 751888.658 0, 1293742.528 751905.939 0, 1294029.599 751923.236 0, 1294316.669 751940.551 0, 1294603.737 751957.882 0, 1294890.805 751975.23 0, 1295177.872 751992.595 0,
+ 1295464.937 752009.977 0, 1295752.002 752027.376 0, 1296039.065 752044.792 0, 1296326.128 752062.225 0, 1296611.848 752079.593 0, 1296900.25 752097.141 0, 1297187.309 752114.624 0, 1297474.368 752132.125 0, 1297761.425 752149.642 0, 1298048.481 752167.176 0,
+ 1298335.537 752184.727 0, 1298622.591 752202.295 0, 1298909.644 752219.88 0, 1299196.696 752237.481 0, 1299483.748 752255.1 0, 1299770.798 752272.735 0, 1300057.847 752290.388 0, 1300344.895 752308.057 0, 1300631.942 752325.743 0, 1300918.988 752343.446 0,
+ 1301206.033 752361.166 0, 1301493.077 752378.903 0, 1301780.119 752396.657 0, 1302067.161 752414.427 0, 1302354.202 752432.215 0, 1302641.242 752450.019 0, 1302928.28 752467.84 0, 1303215.318 752485.679 0, 1303501.014 752503.45 0, 1303847.123 746942.053 0,
+ 1304193.216 741380.919 0))
+
+POLYGON ((1317277.516 753380.358 0, 1316991.869 753361.779 0, 1316704.883 753343.13 0, 1316417.896 753324.498 0, 1316130.907 753305.883 0, 1315843.918 753287.284 0, 1315556.928 753268.703 0, 1315269.936 753250.138 0, 1314982.944 753231.59 0, 1314695.95 753213.06 0,
+ 1314408.955 753194.546 0, 1314121.959 753176.049 0, 1313834.962 753157.568 0, 1313547.964 753139.105 0, 1313260.965 753120.659 0, 1312973.965 753102.229 0, 1312686.963 753083.817 0, 1312399.961 753065.421 0, 1312112.957 753047.042 0, 1311825.953 753028.68 0,
+ 1311538.947 753010.335 0, 1311251.94 752992.007 0, 1310964.933 752973.696 0, 1310677.924 752955.402 0, 1310389.575 752937.039 0, 1310103.903 752918.864 0, 1309816.891 752900.62 0, 1309529.877 752882.393 0, 1309242.863 752864.183 0, 1308955.848 752845.99 0,
+ 1308668.831 752827.814 0, 1308381.814 752809.655 0, 1308094.795 752791.513 0, 1307807.776 752773.387 0, 1307520.755 752755.279 0, 1307233.733 752737.187 0, 1306946.711 752719.113 0, 1306659.687 752701.055 0, 1306372.662 752683.014 0, 1306085.636 752664.99 0,
+ 1305798.609 752646.983 0, 1305511.581 752628.992 0, 1305224.552 752611.019 0, 1304937.521 752593.063 0, 1304650.49 752575.123 0, 1304363.458 752557.2 0, 1304076.424 752539.295 0, 1303789.39 752521.406 0, 1303501.014 752503.45 0, 1303154.889 758065.108 0,
+ 1302808.747 763627.024 0, 1303096.465 763644.938 0, 1303382.845 763662.786 0, 1303669.224 763680.651 0, 1303955.601 763698.533 0, 1304241.978 763716.432 0, 1304528.353 763734.347 0, 1304814.728 763752.279 0, 1305101.101 763770.229 0, 1305387.473 763788.195 0,
+ 1305673.845 763806.178 0, 1305960.215 763824.177 0, 1306246.584 763842.194 0, 1306532.952 763860.228 0, 1306819.319 763878.278 0, 1307105.685 763896.345 0, 1307392.05 763914.429 0, 1307678.414 763932.53 0, 1307964.777 763950.648 0, 1308251.139 763968.782 0,
+ 1308537.499 763986.934 0, 1308823.859 764005.102 0, 1309110.217 764023.287 0, 1309396.575 764041.489 0, 1309681.595 764059.623 0, 1309969.287 764077.944 0, 1310255.641 764096.197 0, 1310541.994 764114.466 0, 1310828.346 764132.752 0, 1311114.697 764151.056 0,
+ 1311401.047 764169.376 0, 1311687.396 764187.713 0, 1311973.744 764206.066 0, 1312260.09 764224.437 0, 1312546.436 764242.824 0, 1312832.781 764261.229 0, 1313119.124 764279.65 0, 1313405.466 764298.088 0, 1313691.808 764316.543 0, 1313978.148 764335.014 0,
+ 1314264.487 764353.503 0, 1314550.825 764372.008 0, 1314837.162 764390.53 0, 1315123.498 764409.07 0, 1315409.832 764427.626 0, 1315696.166 764446.198 0, 1315982.499 764464.788 0, 1316268.83 764483.395 0, 1316553.826 764501.931 0, 1316915.679 758941.016 0,
+ 1317277.516 753380.358 0))
+
+POLYGON ((1330296.378 765415.668 0, 1330011.433 765396.326 0, 1329725.156 765376.91 0, 1329438.877 765357.512 0, 1329152.597 765338.13 0, 1328866.315 765318.765 0, 1328580.033 765299.417 0, 1328293.75 765280.086 0, 1328007.465 765260.772 0, 1327721.179 765241.474 0,
+ 1327434.893 765222.194 0, 1327148.605 765202.93 0, 1326862.315 765183.683 0, 1326576.025 765164.453 0, 1326289.734 765145.24 0, 1326003.441 765126.044 0, 1325717.148 765106.864 0, 1325430.853 765087.701 0, 1325144.557 765068.556 0, 1324858.26 765049.427 0,
+ 1324571.962 765030.315 0, 1324285.662 765011.219 0, 1323999.362 764992.141 0, 1323713.061 764973.08 0, 1323425.424 764953.946 0, 1323140.454 764935.007 0, 1322854.149 764915.996 0, 1322567.843 764897.002 0, 1322281.536 764878.025 0, 1321995.228 764859.064 0,
+ 1321708.918 764840.121 0, 1321422.608 764821.194 0, 1321136.296 764802.284 0, 1320849.984 764783.391 0, 1320563.67 764764.515 0, 1320277.355 764745.656 0, 1319991.039 764726.813 0, 1319704.722 764707.987 0, 1319418.404 764689.179 0, 1319132.084 764670.387 0,
+ 1318845.764 764651.612 0, 1318559.442 764632.854 0, 1318273.12 764614.112 0, 1317986.796 764595.388 0, 1317700.471 764576.68 0, 1317414.145 764557.989 0, 1317127.818 764539.315 0, 1316841.49 764520.658 0, 1316553.826 764501.931 0, 1316191.956 770063.1 0,
+ 1315830.069 775624.518 0, 1316117.076 775643.202 0, 1316402.749 775661.817 0, 1316688.422 775680.448 0, 1316974.093 775699.096 0, 1317259.763 775717.761 0, 1317545.432 775736.443 0, 1317831.1 775755.141 0, 1318116.767 775773.856 0, 1318402.433 775792.588 0,
+ 1318688.098 775811.337 0, 1318973.761 775830.103 0, 1319259.424 775848.886 0, 1319545.085 775867.685 0, 1319830.746 775886.501 0, 1320116.405 775905.334 0, 1320402.063 775924.184 0, 1320687.72 775943.051 0, 1320973.376 775961.934 0, 1321259.03 775980.835 0,
+ 1321544.684 775999.752 0, 1321830.337 776018.685 0, 1322115.988 776037.636 0, 1322401.638 776056.604 0, 1322685.957 776075.5 0, 1322972.936 776094.589 0, 1323258.582 776113.607 0, 1323544.228 776132.642 0, 1323829.873 776151.693 0, 1324115.517 776170.762 0,
+ 1324401.159 776189.847 0, 1324686.8 776208.949 0, 1324972.441 776228.068 0, 1325258.08 776247.204 0, 1325543.718 776266.356 0, 1325829.354 776285.525 0, 1326114.99 776304.711 0, 1326400.625 776323.914 0, 1326686.258 776343.134 0, 1326971.89 776362.37 0,
+ 1327257.522 776381.624 0, 1327543.152 776400.894 0, 1327828.781 776420.181 0, 1328114.408 776439.485 0, 1328400.035 776458.805 0, 1328685.66 776478.142 0, 1328971.285 776497.497 0, 1329256.908 776516.868 0, 1329541.201 776536.165 0, 1329918.798 770975.791 0,
+ 1330296.378 765415.668 0))
+
+POLYGON ((1343249.702 777486.545 0, 1342965.463 777466.444 0, 1342679.895 777446.267 0, 1342394.327 777426.106 0, 1342108.757 777405.961 0, 1341823.186 777385.834 0, 1341537.614 777365.723 0, 1341252.041 777345.629 0, 1340966.466 777325.552 0, 1340680.891 777305.492 0,
+ 1340395.314 777285.449 0, 1340109.736 777265.422 0, 1339824.157 777245.412 0, 1339538.576 777225.419 0, 1339252.995 777205.443 0, 1338967.412 777185.484 0, 1338681.828 777165.541 0, 1338396.243 777145.616 0, 1338110.657 777125.707 0, 1337825.07 777105.815 0,
+ 1337539.481 777085.939 0, 1337253.891 777066.081 0, 1336968.3 777046.239 0, 1336682.708 777026.414 0, 1336395.787 777006.514 0, 1336111.521 776986.815 0, 1335825.925 776967.04 0, 1335540.328 776947.283 0, 1335254.73 776927.542 0, 1334969.131 776907.818 0,
+ 1334683.531 776888.111 0, 1334397.93 776868.42 0, 1334112.327 776848.747 0, 1333826.724 776829.09 0, 1333541.119 776809.45 0, 1333255.513 776789.827 0, 1332969.906 776770.22 0, 1332684.297 776750.631 0, 1332398.688 776731.058 0, 1332113.077 776711.502 0,
+ 1331827.465 776691.963 0, 1331541.853 776672.441 0, 1331256.239 776652.935 0, 1330970.623 776633.447 0, 1330685.007 776613.975 0, 1330399.389 776594.52 0, 1330113.771 776575.082 0, 1329828.151 776555.66 0, 1329541.201 776536.165 0, 1329163.587 782096.785 0,
+ 1328785.957 787657.648 0, 1329072.25 787677.098 0, 1329357.215 787696.475 0, 1329642.179 787715.869 0, 1329927.142 787735.279 0, 1330212.104 787754.707 0, 1330497.064 787774.151 0, 1330782.024 787793.611 0, 1331066.982 787813.089 0, 1331351.939 787832.583 0,
+ 1331636.895 787852.094 0, 1331921.85 787871.622 0, 1332206.804 787891.167 0, 1332491.757 787910.728 0, 1332776.708 787930.307 0, 1333061.658 787949.902 0, 1333346.608 787969.513 0, 1333631.555 787989.142 0, 1333916.502 788008.787 0, 1334201.448 788028.449 0,
+ 1334486.393 788048.128 0, 1334771.336 788067.824 0, 1335056.278 788087.536 0, 1335341.219 788107.265 0, 1335624.834 788126.919 0, 1335911.098 788146.774 0, 1336196.035 788166.553 0, 1336480.972 788186.349 0, 1336765.907 788206.162 0, 1337050.841 788225.992 0,
+ 1337335.774 788245.839 0, 1337620.706 788265.702 0, 1337905.636 788285.582 0, 1338190.565 788305.479 0, 1338475.494 788325.392 0, 1338760.421 788345.323 0, 1339045.347 788365.27 0, 1339330.271 788385.234 0, 1339615.195 788405.215 0, 1339900.117 788425.212 0,
+ 1340185.038 788445.226 0, 1340469.958 788465.257 0, 1340754.877 788485.305 0, 1341039.795 788505.37 0, 1341324.711 788525.451 0, 1341609.626 788545.549 0, 1341894.54 788565.664 0, 1342179.453 788585.795 0, 1342463.041 788605.85 0, 1342856.38 783046.076 0,
+ 1343249.702 777486.545 0))
+
+POLYGON ((1356137.392 789592.689 0, 1355853.859 789571.833 0, 1355569.005 789550.896 0, 1355284.148 789529.976 0, 1354999.291 789509.073 0, 1354714.433 789488.187 0, 1354429.573 789467.318 0, 1354144.712 789446.465 0, 1353859.849 789425.629 0, 1353574.986 789404.81 0,
+ 1353290.121 789384.008 0, 1353005.255 789363.222 0, 1352720.388 789342.454 0, 1352435.52 789321.701 0, 1352150.65 789300.966 0, 1351865.779 789280.248 0, 1351580.907 789259.546 0, 1351296.034 789238.861 0, 1351011.16 789218.193 0, 1350726.284 789197.541 0,
+ 1350441.407 789176.907 0, 1350156.529 789156.289 0, 1349871.65 789135.688 0, 1349586.769 789115.103 0, 1349300.565 789094.44 0, 1349017.005 789073.985 0, 1348732.12 789053.451 0, 1348447.235 789032.933 0, 1348162.348 789012.433 0, 1347877.461 788991.949 0,
+ 1347592.572 788971.482 0, 1347307.681 788951.032 0, 1347022.79 788930.599 0, 1346737.897 788910.182 0, 1346453.004 788889.782 0, 1346168.109 788869.399 0, 1345883.212 788849.032 0, 1345598.315 788828.683 0, 1345313.416 788808.35 0, 1345028.517 788788.034 0,
+ 1344743.616 788767.735 0, 1344458.714 788747.452 0, 1344173.81 788727.186 0, 1343888.906 788706.937 0, 1343604 788686.705 0, 1343319.093 788666.49 0, 1343034.185 788646.291 0, 1342749.275 788626.109 0, 1342463.041 788605.85 0, 1342069.685 794165.863 0,
+ 1341676.313 799726.111 0, 1341961.889 799746.324 0, 1342246.144 799766.459 0, 1342530.398 799786.612 0, 1342814.65 799806.781 0, 1343098.901 799826.966 0, 1343383.152 799847.169 0, 1343667.4 799867.388 0, 1343951.648 799887.624 0, 1344235.895 799907.877 0,
+ 1344520.14 799928.146 0, 1344804.384 799948.432 0, 1345088.627 799968.735 0, 1345372.869 799989.055 0, 1345657.109 800009.391 0, 1345941.348 800029.744 0, 1346225.587 800050.114 0, 1346509.823 800070.5 0, 1346794.059 800090.904 0, 1347078.294 800111.324 0,
+ 1347362.527 800131.76 0, 1347646.759 800152.214 0, 1347930.99 800172.684 0, 1348215.22 800193.171 0, 1348498.129 800213.579 0, 1348783.676 800234.195 0, 1349067.902 800254.732 0, 1349352.127 800275.286 0, 1349636.35 800295.856 0, 1349920.573 800316.443 0,
+ 1350204.794 800337.047 0, 1350489.014 800357.668 0, 1350773.233 800378.306 0, 1351057.45 800398.96 0, 1351341.667 800419.631 0, 1351625.882 800440.318 0, 1351910.096 800461.023 0, 1352194.309 800481.744 0, 1352478.52 800502.482 0, 1352762.73 800523.236 0,
+ 1353046.939 800544.007 0, 1353331.147 800564.795 0, 1353615.354 800585.6 0, 1353899.559 800606.422 0, 1354183.763 800627.26 0, 1354467.966 800648.115 0, 1354752.168 800668.986 0, 1355036.369 800689.875 0, 1355319.25 800710.683 0, 1355728.329 795151.568 0,
+ 1356137.392 789592.689 0))
+
+POLYGON ((1368959.35 801733.794 0, 1368676.527 801712.187 0, 1368392.387 801690.495 0, 1368108.245 801668.821 0, 1367824.102 801647.163 0, 1367539.958 801625.522 0, 1367255.813 801603.898 0, 1366971.666 801582.29 0, 1366687.518 801560.699 0, 1366403.369 801539.125 0,
+ 1366119.218 801517.568 0, 1365835.067 801496.027 0, 1365550.914 801474.503 0, 1365266.759 801452.996 0, 1364982.604 801431.505 0, 1364698.447 801410.032 0, 1364414.289 801388.575 0, 1364130.129 801367.134 0, 1363845.969 801345.711 0, 1363561.807 801324.304 0,
+ 1363277.644 801302.914 0, 1362993.479 801281.54 0, 1362709.314 801260.183 0, 1362425.147 801238.843 0, 1362139.661 801217.421 0, 1361856.809 801196.214 0, 1361572.638 801174.924 0, 1361288.466 801153.651 0, 1361004.293 801132.394 0, 1360720.119 801111.155 0,
+ 1360435.943 801089.932 0, 1360151.766 801068.726 0, 1359867.588 801047.536 0, 1359583.408 801026.364 0, 1359299.228 801005.208 0, 1359015.046 800984.068 0, 1358730.863 800962.946 0, 1358446.678 800941.84 0, 1358162.493 800920.751 0, 1357878.306 800899.678 0,
+ 1357594.117 800878.623 0, 1357309.928 800857.584 0, 1357025.737 800836.562 0, 1356741.546 800815.556 0, 1356457.353 800794.567 0, 1356173.158 800773.595 0, 1355888.963 800752.64 0, 1355604.766 800731.702 0, 1355319.25 800710.683 0, 1354910.153 806270.03 0,
+ 1354501.039 811829.605 0, 1354785.898 811850.575 0, 1355069.44 811871.465 0, 1355352.981 811892.372 0, 1355636.521 811913.296 0, 1355920.06 811934.237 0, 1356203.597 811955.194 0, 1356487.134 811976.167 0, 1356770.669 811997.158 0, 1357054.202 812018.165 0,
+ 1357337.735 812039.189 0, 1357621.266 812060.229 0, 1357904.796 812081.287 0, 1358188.325 812102.361 0, 1358471.852 812123.451 0, 1358755.379 812144.558 0, 1359038.904 812165.682 0, 1359322.428 812186.823 0, 1359605.95 812207.98 0, 1359889.471 812229.154 0,
+ 1360172.991 812250.345 0, 1360456.51 812271.553 0, 1360740.028 812292.777 0, 1361023.544 812314.017 0, 1361305.745 812335.176 0, 1361590.573 812356.549 0, 1361874.086 812377.84 0, 1362157.597 812399.147 0, 1362441.107 812420.472 0, 1362724.616 812441.813 0,
+ 1363008.123 812463.17 0, 1363291.63 812484.544 0, 1363575.135 812505.935 0, 1363858.638 812527.343 0, 1364142.141 812548.767 0, 1364425.642 812570.208 0, 1364709.142 812591.666 0, 1364992.641 812613.141 0, 1365276.138 812634.632 0, 1365559.635 812656.139 0,
+ 1365843.129 812677.664 0, 1366126.623 812699.205 0, 1366410.116 812720.763 0, 1366693.607 812742.337 0, 1366977.097 812763.929 0, 1367260.585 812785.536 0, 1367544.072 812807.161 0, 1367827.558 812828.802 0, 1368109.73 812850.36 0, 1368534.549 807291.963 0,
+ 1368959.35 801733.794 0))
+
+POLYGON ((1381715.483 813909.558 0, 1381433.371 813887.203 0, 1381149.948 813864.761 0, 1380866.523 813842.336 0, 1380583.096 813819.927 0, 1380299.668 813797.535 0, 1380016.239 813775.16 0, 1379732.809 813752.801 0, 1379449.377 813730.459 0, 1379165.944 813708.134 0,
+ 1378882.51 813685.825 0, 1378599.074 813663.533 0, 1378315.638 813641.258 0, 1378032.199 813618.999 0, 1377748.76 813596.757 0, 1377465.319 813574.532 0, 1377181.877 813552.324 0, 1376898.433 813530.132 0, 1376614.989 813507.957 0, 1376331.542 813485.798 0,
+ 1376048.095 813463.657 0, 1375764.646 813441.531 0, 1375481.196 813419.423 0, 1375197.745 813397.331 0, 1374912.981 813375.154 0, 1374630.839 813353.198 0, 1374347.384 813331.156 0, 1374063.927 813309.131 0, 1373780.469 813287.123 0, 1373497.01 813265.131 0,
+ 1373213.55 813243.156 0, 1372930.088 813221.198 0, 1372646.625 813199.256 0, 1372363.161 813177.332 0, 1372079.695 813155.423 0, 1371796.229 813133.532 0, 1371512.761 813111.657 0, 1371229.291 813089.799 0, 1370945.82 813067.957 0, 1370662.349 813046.132 0,
+ 1370378.875 813024.324 0, 1370095.401 813002.533 0, 1369811.925 812980.758 0, 1369528.448 812959 0, 1369244.969 812937.259 0, 1368961.49 812915.534 0, 1368678.009 812893.826 0, 1368394.527 812872.135 0, 1368109.73 812850.36 0, 1367684.894 818408.982 0,
+ 1367260.042 823967.824 0, 1367544.18 823989.549 0, 1367827.008 824011.19 0, 1368109.835 824032.848 0, 1368392.66 824054.523 0, 1368675.484 824076.214 0, 1368958.307 824097.922 0, 1369241.129 824119.646 0, 1369523.949 824141.387 0, 1369806.768 824163.145 0,
+ 1370089.585 824184.919 0, 1370372.402 824206.71 0, 1370655.217 824228.518 0, 1370938.03 824250.342 0, 1371220.843 824272.183 0, 1371503.654 824294.041 0, 1371786.464 824315.915 0, 1372069.273 824337.806 0, 1372352.08 824359.714 0, 1372634.886 824381.638 0,
+ 1372917.691 824403.579 0, 1373200.494 824425.537 0, 1373483.297 824447.511 0, 1373766.098 824469.501 0, 1374047.589 824491.407 0, 1374331.695 824513.533 0, 1374614.492 824535.574 0, 1374897.288 824557.631 0, 1375180.083 824579.705 0, 1375462.876 824601.796 0,
+ 1375745.667 824623.903 0, 1376028.458 824646.027 0, 1376311.247 824668.168 0, 1376594.035 824690.325 0, 1376876.822 824712.499 0, 1377159.607 824734.689 0, 1377442.391 824756.897 0, 1377725.174 824779.12 0, 1378007.955 824801.361 0, 1378290.735 824823.618 0,
+ 1378573.514 824845.892 0, 1378856.291 824868.182 0, 1379139.067 824890.489 0, 1379421.842 824912.813 0, 1379704.616 824935.153 0, 1379987.388 824957.51 0, 1380270.159 824979.884 0, 1380552.928 825002.274 0, 1380834.389 825024.577 0, 1381274.945 819466.957 0,
+ 1381715.483 813909.558 0))
+
+POLYGON ((1394405.697 826119.677 0, 1394124.298 826096.578 0, 1393841.593 826073.389 0, 1393558.887 826050.217 0, 1393276.179 826027.061 0, 1392993.469 826003.922 0, 1392710.759 825980.799 0, 1392428.047 825957.693 0, 1392145.333 825934.604 0, 1391862.619 825911.532 0,
+ 1391579.903 825888.476 0, 1391297.185 825865.436 0, 1391014.467 825842.414 0, 1390731.746 825819.408 0, 1390449.025 825796.418 0, 1390166.302 825773.446 0, 1389883.578 825750.489 0, 1389600.852 825727.55 0, 1389318.126 825704.627 0, 1389035.397 825681.721 0,
+ 1388752.668 825658.831 0, 1388469.937 825635.959 0, 1388187.205 825613.102 0, 1387904.471 825590.263 0, 1387620.43 825567.334 0, 1387339 825544.633 0, 1387056.262 825521.844 0, 1386773.523 825499.071 0, 1386490.783 825476.314 0, 1386208.041 825453.575 0,
+ 1385925.298 825430.851 0, 1385642.554 825408.145 0, 1385359.808 825385.455 0, 1385077.061 825362.782 0, 1384794.313 825340.125 0, 1384511.563 825317.485 0, 1384228.812 825294.862 0, 1383946.06 825272.256 0, 1383663.306 825249.666 0, 1383380.551 825227.092 0,
+ 1383097.795 825204.536 0, 1382815.037 825181.995 0, 1382532.278 825159.472 0, 1382249.518 825136.965 0, 1381966.756 825114.475 0, 1381683.993 825092.002 0, 1381401.229 825069.545 0, 1381118.463 825047.105 0, 1380834.389 825024.577 0, 1380393.816 830582.415 0,
+ 1379953.226 836140.466 0, 1380236.643 836162.941 0, 1380518.754 836185.329 0, 1380800.864 836207.734 0, 1381082.973 836230.156 0, 1381365.08 836252.594 0, 1381647.187 836275.049 0, 1381929.291 836297.52 0, 1382211.395 836320.008 0, 1382493.497 836342.512 0,
+ 1382775.598 836365.033 0, 1383057.697 836387.571 0, 1383339.795 836410.125 0, 1383621.892 836432.696 0, 1383903.987 836455.284 0, 1384186.081 836477.888 0, 1384468.174 836500.509 0, 1384750.266 836523.146 0, 1385032.356 836545.8 0, 1385314.445 836568.471 0,
+ 1385596.532 836591.158 0, 1385878.618 836613.861 0, 1386160.703 836636.582 0, 1386442.786 836659.319 0, 1386723.565 836681.967 0, 1387006.949 836704.842 0, 1387289.029 836727.629 0, 1387571.107 836750.433 0, 1387853.184 836773.253 0, 1388135.259 836796.089 0,
+ 1388417.333 836818.942 0, 1388699.406 836841.812 0, 1388981.477 836864.698 0, 1389263.547 836887.601 0, 1389545.616 836910.521 0, 1389827.683 836933.457 0, 1390109.749 836956.41 0, 1390391.814 836979.379 0, 1390673.877 837002.365 0, 1390955.939 837025.368 0,
+ 1391237.999 837048.387 0, 1391520.059 837071.423 0, 1391802.116 837094.475 0, 1392084.173 837117.544 0, 1392366.228 837140.63 0, 1392648.282 837163.732 0, 1392930.334 837186.851 0, 1393212.385 837209.986 0, 1393493.133 837233.031 0, 1393949.424 831676.247 0,
+ 1394405.697 826119.677 0))
+
+POLYGON ((1407029.899 838363.845 0, 1406749.216 838340.007 0, 1406467.231 838316.074 0, 1406185.245 838292.159 0, 1405903.258 838268.26 0, 1405621.269 838244.378 0, 1405339.279 838220.512 0, 1405057.287 838196.663 0, 1404775.294 838172.83 0, 1404493.3 838149.014 0,
+ 1404211.304 838125.215 0, 1403929.307 838101.432 0, 1403647.308 838077.666 0, 1403365.308 838053.916 0, 1403083.307 838030.183 0, 1402801.304 838006.467 0, 1402519.3 837982.767 0, 1402237.294 837959.084 0, 1401955.287 837935.417 0, 1401673.279 837911.767 0,
+ 1401391.269 837888.134 0, 1401109.258 837864.517 0, 1400827.245 837840.917 0, 1400545.232 837817.333 0, 1400261.916 837793.658 0, 1399981.2 837770.216 0, 1399699.181 837746.682 0, 1399417.162 837723.165 0, 1399135.141 837699.664 0, 1398853.119 837676.18 0,
+ 1398571.095 837652.713 0, 1398289.07 837629.262 0, 1398007.044 837605.828 0, 1397725.016 837582.41 0, 1397442.987 837559.009 0, 1397160.956 837535.625 0, 1396878.925 837512.257 0, 1396596.891 837488.906 0, 1396314.857 837465.571 0, 1396032.821 837442.253 0,
+ 1395750.783 837418.952 0, 1395468.745 837395.667 0, 1395186.704 837372.399 0, 1394904.663 837349.147 0, 1394622.62 837325.912 0, 1394340.576 837302.694 0, 1394058.53 837279.492 0, 1393776.483 837256.307 0, 1393493.133 837233.031 0, 1393036.825 842790.025 0,
+ 1392580.5 848347.226 0, 1392863.193 848370.447 0, 1393144.586 848393.579 0, 1393425.977 848416.727 0, 1393707.367 848439.891 0, 1393988.756 848463.072 0, 1394270.144 848486.27 0, 1394551.53 848509.484 0, 1394832.914 848532.715 0, 1395114.297 848555.963 0,
+ 1395395.679 848579.226 0, 1395677.06 848602.507 0, 1395958.439 848625.804 0, 1396239.817 848649.118 0, 1396521.193 848672.448 0, 1396802.568 848695.795 0, 1397083.942 848719.158 0, 1397365.314 848742.538 0, 1397646.685 848765.934 0, 1397928.054 848789.347 0,
+ 1398209.423 848812.777 0, 1398490.789 848836.223 0, 1398772.155 848859.685 0, 1399053.519 848883.165 0, 1399333.584 848906.552 0, 1399616.243 848930.173 0, 1399897.602 848953.702 0, 1400178.961 848977.247 0, 1400460.318 849000.809 0, 1400741.674 849024.388 0,
+ 1401023.028 849047.983 0, 1401304.381 849071.594 0, 1401585.732 849095.223 0, 1401867.083 849118.868 0, 1402148.431 849142.529 0, 1402429.779 849166.207 0, 1402711.125 849189.901 0, 1402992.469 849213.612 0, 1403273.812 849237.34 0, 1403555.154 849261.084 0,
+ 1403836.494 849284.845 0, 1404117.833 849308.622 0, 1404399.171 849332.416 0, 1404680.507 849356.226 0, 1404961.842 849380.053 0, 1405243.175 849403.897 0, 1405524.507 849427.757 0, 1405805.838 849451.634 0, 1406085.871 849475.417 0, 1406557.894 843919.528 0,
+ 1407029.899 838363.845 0))
+
+POLYGON ((1419588 850641.758 0, 1419308.033 850617.184 0, 1419026.771 850592.513 0, 1418745.508 850567.858 0, 1418464.243 850543.22 0, 1418182.976 850518.598 0, 1417901.709 850493.993 0, 1417620.439 850469.404 0, 1417339.169 850444.832 0, 1417057.897 850420.277 0,
+ 1416776.623 850395.738 0, 1416495.348 850371.215 0, 1416214.072 850346.71 0, 1415932.794 850322.22 0, 1415651.514 850297.748 0, 1415370.234 850273.291 0, 1415088.951 850248.852 0, 1414807.668 850224.429 0, 1414526.383 850200.022 0, 1414245.096 850175.632 0,
+ 1413963.808 850151.259 0, 1413682.519 850126.902 0, 1413401.228 850102.562 0, 1413119.936 850078.238 0, 1412837.347 850053.819 0, 1412557.347 850029.641 0, 1412276.05 850005.367 0, 1411994.752 849981.109 0, 1411713.453 849956.868 0, 1411432.152 849932.644 0,
+ 1411150.85 849908.436 0, 1410869.546 849884.245 0, 1410588.241 849860.07 0, 1410306.935 849835.912 0, 1410025.627 849811.77 0, 1409744.317 849787.645 0, 1409463.007 849763.537 0, 1409181.694 849739.445 0, 1408900.381 849715.37 0, 1408619.066 849691.311 0,
+ 1408337.749 849667.269 0, 1408056.431 849643.243 0, 1407775.112 849619.234 0, 1407493.791 849595.241 0, 1407212.469 849571.265 0, 1406931.146 849547.306 0, 1406649.821 849523.363 0, 1406368.495 849499.437 0, 1406085.871 849475.417 0, 1405613.83 855031.508 0,
+ 1405141.773 860587.799 0, 1405423.74 860611.763 0, 1405704.412 860635.633 0, 1405985.083 860659.521 0, 1406265.752 860683.424 0, 1406546.42 860707.345 0, 1406827.087 860731.281 0, 1407107.752 860755.235 0, 1407388.416 860779.204 0, 1407669.079 860803.191 0,
+ 1407949.74 860827.194 0, 1408230.399 860851.213 0, 1408511.057 860875.249 0, 1408791.714 860899.301 0, 1409072.37 860923.37 0, 1409353.023 860947.456 0, 1409633.676 860971.558 0, 1409914.327 860995.676 0, 1410194.977 861019.811 0, 1410475.625 861043.963 0,
+ 1410756.272 861068.131 0, 1411036.917 861092.315 0, 1411317.561 861116.516 0, 1411598.204 861140.734 0, 1411877.553 861164.856 0, 1412159.485 861189.219 0, 1412440.123 861213.486 0, 1412720.76 861237.769 0, 1413001.395 861262.07 0, 1413282.029 861286.386 0,
+ 1413562.662 861310.72 0, 1413843.293 861335.069 0, 1414123.923 861359.436 0, 1414404.551 861383.818 0, 1414685.178 861408.218 0, 1414965.803 861432.633 0, 1415246.427 861457.066 0, 1415527.05 861481.515 0, 1415807.671 861505.98 0, 1416088.29 861530.462 0,
+ 1416368.908 861554.96 0, 1416649.525 861579.475 0, 1416930.141 861604.006 0, 1417210.754 861628.554 0, 1417491.367 861653.119 0, 1417771.978 861677.7 0, 1418052.587 861702.297 0, 1418333.195 861726.911 0, 1418612.511 861751.429 0, 1419100.264 856196.494 0,
+ 1419588 850641.758 0))
+
+POLYGON ((1432079.908 862953.111 0, 1431800.661 862927.805 0, 1431520.123 862902.398 0, 1431239.584 862877.008 0, 1430959.044 862851.634 0, 1430678.502 862826.277 0, 1430397.959 862800.936 0, 1430117.414 862775.612 0, 1429836.868 862750.305 0, 1429556.32 862725.014 0,
+ 1429275.77 862699.739 0, 1428995.219 862674.481 0, 1428714.667 862649.239 0, 1428434.113 862624.014 0, 1428153.558 862598.806 0, 1427873.001 862573.614 0, 1427592.443 862548.438 0, 1427311.883 862523.279 0, 1427031.322 862498.137 0, 1426750.759 862473.011 0,
+ 1426470.195 862447.902 0, 1426189.63 862422.809 0, 1425909.062 862397.732 0, 1425628.494 862372.672 0, 1425346.634 862347.514 0, 1425067.352 862322.602 0, 1424786.779 862297.592 0, 1424506.205 862272.598 0, 1424225.629 862247.62 0, 1423945.051 862222.66 0,
+ 1423664.472 862197.715 0, 1423383.892 862172.788 0, 1423103.31 862147.876 0, 1422822.727 862122.981 0, 1422542.142 862098.103 0, 1422261.556 862073.242 0, 1421980.968 862048.396 0, 1421700.379 862023.568 0, 1421419.788 861998.755 0, 1421139.196 861973.96 0,
+ 1420858.603 861949.181 0, 1420578.008 861924.418 0, 1420297.411 861899.672 0, 1420016.813 861874.942 0, 1419736.214 861850.229 0, 1419455.613 861825.533 0, 1419175.011 861800.852 0, 1418894.407 861776.189 0, 1418612.511 861751.429 0, 1418124.741 867306.558 0,
+ 1417636.954 872861.879 0, 1417918.193 872886.582 0, 1418198.143 872911.188 0, 1418478.091 872935.81 0, 1418758.038 872960.449 0, 1419037.984 872985.105 0, 1419317.928 873009.777 0, 1419597.87 873034.465 0, 1419877.811 873059.17 0, 1420157.751 873083.892 0,
+ 1420437.689 873108.629 0, 1420717.626 873133.384 0, 1420997.561 873158.155 0, 1421277.495 873182.942 0, 1421557.427 873207.746 0, 1421837.358 873232.566 0, 1422117.288 873257.403 0, 1422397.215 873282.256 0, 1422677.142 873307.126 0, 1422957.067 873332.012 0,
+ 1423236.991 873356.914 0, 1423516.913 873381.834 0, 1423796.833 873406.769 0, 1424076.752 873431.721 0, 1424355.384 873456.575 0, 1424636.586 873481.675 0, 1424916.501 873506.676 0, 1425196.414 873531.694 0, 1425476.326 873556.729 0, 1425756.237 873581.78 0,
+ 1426036.145 873606.847 0, 1426316.053 873631.931 0, 1426595.959 873657.031 0, 1426875.863 873682.148 0, 1427155.766 873707.281 0, 1427435.668 873732.431 0, 1427715.568 873757.598 0, 1427995.466 873782.78 0, 1428275.363 873807.979 0, 1428555.259 873833.195 0,
+ 1428835.153 873858.427 0, 1429115.045 873883.676 0, 1429394.936 873908.941 0, 1429674.826 873934.223 0, 1429954.714 873959.521 0, 1430234.601 873984.835 0, 1430514.486 874010.166 0, 1430794.369 874035.514 0, 1431072.966 874060.761 0, 1431576.446 868506.84 0,
+ 1432079.908 862953.111 0))
+
+POLYGON ((1444505.537 875297.597 0, 1444227.011 875271.563 0, 1443947.2 875245.425 0, 1443667.388 875219.303 0, 1443387.574 875193.198 0, 1443107.758 875167.109 0, 1442827.941 875141.037 0, 1442548.123 875114.981 0, 1442268.302 875088.942 0, 1441988.481 875062.919 0,
+ 1441708.658 875036.913 0, 1441428.833 875010.923 0, 1441149.007 874984.95 0, 1440869.179 874958.993 0, 1440589.35 874933.052 0, 1440309.519 874907.128 0, 1440029.686 874881.221 0, 1439749.852 874855.33 0, 1439470.017 874829.455 0, 1439190.18 874803.597 0,
+ 1438910.342 874777.756 0, 1438630.502 874751.93 0, 1438350.66 874726.122 0, 1438070.817 874700.33 0, 1437789.689 874674.436 0, 1437511.127 874648.795 0, 1437231.279 874623.052 0, 1436951.43 874597.325 0, 1436671.58 874571.616 0, 1436391.727 874545.922 0,
+ 1436111.874 874520.245 0, 1435832.019 874494.585 0, 1435552.162 874468.941 0, 1435272.304 874443.313 0, 1434992.444 874417.702 0, 1434712.583 874392.108 0, 1434432.721 874366.53 0, 1434152.856 874340.968 0, 1433872.991 874315.423 0, 1433593.124 874289.894 0,
+ 1433313.255 874264.382 0, 1433033.385 874238.886 0, 1432753.513 874213.407 0, 1432473.64 874187.944 0, 1432193.765 874162.498 0, 1431913.889 874137.068 0, 1431634.011 874111.655 0, 1431354.132 874086.258 0, 1431072.966 874060.761 0, 1430569.469 879614.869 0,
+ 1430065.956 885169.161 0, 1430346.465 885194.598 0, 1430625.691 885219.936 0, 1430904.914 885245.29 0, 1431184.137 885270.66 0, 1431463.358 885296.047 0, 1431742.577 885321.451 0, 1432021.795 885346.87 0, 1432301.011 885372.306 0, 1432580.226 885397.759 0,
+ 1432859.44 885423.228 0, 1433138.651 885448.713 0, 1433417.862 885474.215 0, 1433697.071 885499.734 0, 1433976.278 885525.268 0, 1434255.484 885550.82 0, 1434534.688 885576.387 0, 1434813.891 885601.971 0, 1435093.093 885627.572 0, 1435372.292 885653.189 0,
+ 1435651.491 885678.822 0, 1435930.688 885704.472 0, 1436209.883 885730.138 0, 1436489.077 885755.821 0, 1436766.988 885781.402 0, 1437047.46 885807.235 0, 1437326.649 885832.967 0, 1437605.837 885858.716 0, 1437885.023 885884.481 0, 1438164.208 885910.262 0,
+ 1438443.391 885936.06 0, 1438722.573 885961.874 0, 1439001.753 885987.704 0, 1439280.931 886013.551 0, 1439560.109 886039.415 0, 1439839.284 886065.295 0, 1440118.458 886091.191 0, 1440397.631 886117.104 0, 1440676.802 886143.033 0, 1440955.971 886168.978 0,
+ 1441235.139 886194.94 0, 1441514.306 886220.919 0, 1441793.471 886246.914 0, 1442072.634 886272.925 0, 1442351.796 886298.953 0, 1442630.956 886324.997 0, 1442910.115 886351.057 0, 1443189.272 886377.134 0, 1443467.148 886403.108 0, 1443986.351 880850.261 0,
+ 1444505.537 875297.597 0))
+
+POLYGON ((1456864.801 887674.911 0, 1456586.997 887648.152 0, 1456307.915 887621.287 0, 1456028.831 887594.438 0, 1455749.745 887567.605 0, 1455470.658 887540.788 0, 1455191.569 887513.989 0, 1454912.479 887487.205 0, 1454633.387 887460.438 0, 1454354.293 887433.687 0,
+ 1454075.198 887406.953 0, 1453796.101 887380.236 0, 1453517.003 887353.534 0, 1453237.903 887326.849 0, 1452958.802 887300.181 0, 1452679.699 887273.529 0, 1452400.595 887246.893 0, 1452121.489 887220.274 0, 1451842.381 887193.671 0, 1451563.272 887167.085 0,
+ 1451284.161 887140.515 0, 1451005.049 887113.962 0, 1450725.935 887087.425 0, 1450446.819 887060.904 0, 1450166.424 887034.278 0, 1449888.584 887007.912 0, 1449609.463 886981.441 0, 1449330.342 886954.986 0, 1449051.219 886928.547 0, 1448772.094 886902.125 0,
+ 1448492.967 886875.72 0, 1448213.839 886849.33 0, 1447934.71 886822.958 0, 1447655.579 886796.601 0, 1447376.446 886770.261 0, 1447097.312 886743.938 0, 1446818.177 886717.631 0, 1446539.039 886691.34 0, 1446259.901 886665.066 0, 1445980.76 886638.808 0,
+ 1445701.618 886612.567 0, 1445422.475 886586.342 0, 1445143.33 886560.134 0, 1444864.184 886533.942 0, 1444585.036 886507.766 0, 1444305.886 886481.607 0, 1444026.735 886455.464 0, 1443747.582 886429.338 0, 1443467.148 886403.108 0, 1442947.928 891956.135 0,
+ 1442428.691 897509.339 0, 1442708.469 897535.507 0, 1442986.968 897561.572 0, 1443265.465 897587.654 0, 1443543.961 897613.751 0, 1443822.455 897639.866 0, 1444100.948 897665.996 0, 1444379.44 897692.144 0, 1444657.929 897718.307 0, 1444936.418 897744.487 0,
+ 1445214.904 897770.683 0, 1445493.389 897796.896 0, 1445771.873 897823.125 0, 1446050.355 897849.37 0, 1446328.835 897875.632 0, 1446607.314 897901.91 0, 1446885.792 897928.205 0, 1447164.268 897954.516 0, 1447442.742 897980.843 0, 1447721.215 898007.187 0,
+ 1447999.686 898033.547 0, 1448278.155 898059.924 0, 1448556.623 898086.317 0, 1448835.09 898112.726 0, 1449112.279 898139.031 0, 1449392.018 898165.594 0, 1449670.48 898192.053 0, 1449948.941 898218.528 0, 1450227.399 898245.019 0, 1450505.856 898271.527 0,
+ 1450784.312 898298.051 0, 1451062.766 898324.591 0, 1451341.219 898351.148 0, 1451619.67 898377.721 0, 1451898.119 898404.311 0, 1452176.567 898430.917 0, 1452455.013 898457.539 0, 1452733.458 898484.178 0, 1453011.901 898510.833 0, 1453290.342 898537.505 0,
+ 1453568.782 898564.193 0, 1453847.221 898590.897 0, 1454125.658 898617.618 0, 1454404.093 898644.355 0, 1454682.526 898671.108 0, 1454960.959 898697.878 0, 1455239.389 898724.665 0, 1455517.818 898751.467 0, 1455794.971 898778.164 0, 1456329.894 893226.449 0,
+ 1456864.801 887674.911 0))
+
+POLYGON ((1469157.613 900084.746 0, 1468880.534 900057.266 0, 1468602.182 900029.677 0, 1468323.828 900002.104 0, 1468045.473 899974.548 0, 1467767.116 899947.008 0, 1467488.757 899919.484 0, 1467210.397 899891.977 0, 1466932.035 899864.486 0, 1466653.672 899837.011 0,
+ 1466375.307 899809.553 0, 1466096.94 899782.112 0, 1465818.572 899754.686 0, 1465540.202 899727.277 0, 1465261.83 899699.885 0, 1464983.457 899672.509 0, 1464705.082 899645.149 0, 1464426.706 899617.805 0, 1464148.328 899590.478 0, 1463869.948 899563.168 0,
+ 1463591.567 899535.873 0, 1463313.184 899508.595 0, 1463034.8 899481.334 0, 1462756.414 899454.089 0, 1462476.753 899426.736 0, 1462199.637 899399.648 0, 1461921.246 899372.452 0, 1461642.854 899345.272 0, 1461364.46 899318.109 0, 1461086.064 899290.962 0,
+ 1460807.667 899263.832 0, 1460529.268 899236.718 0, 1460250.868 899209.62 0, 1459972.466 899182.539 0, 1459694.062 899155.474 0, 1459415.657 899128.426 0, 1459137.25 899101.393 0, 1458858.842 899074.378 0, 1458580.432 899047.378 0, 1458302.021 899020.395 0,
+ 1458023.607 898993.429 0, 1457745.193 898966.479 0, 1457466.776 898939.545 0, 1457188.359 898912.628 0, 1456909.939 898885.727 0, 1456631.518 898858.842 0, 1456353.095 898831.974 0, 1456074.671 898805.122 0, 1455794.971 898778.164 0, 1455260.031 904330.05 0,
+ 1454725.075 909882.105 0, 1455004.119 909909 0, 1455281.889 909935.789 0, 1455559.658 909962.594 0, 1455837.426 909989.416 0, 1456115.192 910016.254 0, 1456392.956 910043.108 0, 1456670.719 910069.978 0, 1456948.48 910096.865 0, 1457226.24 910123.769 0,
+ 1457503.998 910150.688 0, 1457781.754 910177.624 0, 1458059.509 910204.576 0, 1458337.262 910231.545 0, 1458615.014 910258.53 0, 1458892.764 910285.531 0, 1459170.512 910312.549 0, 1459448.259 910339.583 0, 1459726.005 910366.634 0, 1460003.748 910393.7 0,
+ 1460281.49 910420.783 0, 1460559.231 910447.883 0, 1460836.97 910474.999 0, 1461114.707 910502.131 0, 1461391.173 910529.155 0, 1461670.177 910556.444 0, 1461947.91 910583.625 0, 1462225.641 910610.823 0, 1462503.37 910638.037 0, 1462781.098 910665.267 0,
+ 1463058.824 910692.513 0, 1463336.548 910719.776 0, 1463614.271 910747.055 0, 1463891.993 910774.351 0, 1464169.712 910801.663 0, 1464447.43 910828.991 0, 1464725.147 910856.336 0, 1465002.862 910883.697 0, 1465280.575 910911.074 0, 1465558.287 910938.468 0,
+ 1465835.997 910965.878 0, 1466113.705 910993.304 0, 1466391.412 911020.747 0, 1466669.117 911048.206 0, 1466946.821 911075.681 0, 1467224.523 911103.173 0, 1467502.223 911130.681 0, 1467779.922 911158.206 0, 1468056.35 911185.62 0, 1468606.99 905635.099 0,
+ 1469157.613 900084.746 0))
+
+POLYGON ((1481383.889 912526.794 0, 1481107.538 912498.598 0, 1480829.918 912470.289 0, 1480552.296 912441.996 0, 1480274.673 912413.72 0, 1479997.048 912385.46 0, 1479719.422 912357.217 0, 1479441.793 912328.989 0, 1479164.164 912300.779 0, 1478886.532 912272.584 0,
+ 1478608.899 912244.406 0, 1478331.264 912216.244 0, 1478053.628 912188.099 0, 1477775.99 912159.97 0, 1477498.35 912131.857 0, 1477220.708 912103.76 0, 1476943.065 912075.68 0, 1476665.42 912047.617 0, 1476387.774 912019.569 0, 1476110.126 911991.538 0,
+ 1475832.476 911963.523 0, 1475554.825 911935.525 0, 1475277.172 911907.543 0, 1474999.517 911879.577 0, 1474720.593 911851.5 0, 1474444.203 911823.695 0, 1474166.544 911795.778 0, 1473888.882 911767.878 0, 1473611.219 911739.994 0, 1473333.555 911712.126 0,
+ 1473055.889 911684.275 0, 1472778.221 911656.44 0, 1472500.552 911628.621 0, 1472222.881 911600.819 0, 1471945.208 911573.033 0, 1471667.534 911545.264 0, 1471389.858 911517.51 0, 1471112.18 911489.774 0, 1470834.501 911462.053 0, 1470556.82 911434.349 0,
+ 1470279.137 911406.661 0, 1470001.453 911378.989 0, 1469723.768 911351.334 0, 1469446.08 911323.695 0, 1469168.391 911296.073 0, 1468890.701 911268.467 0, 1468613.008 911240.877 0, 1468335.315 911213.303 0, 1468056.35 911185.62 0, 1467505.694 916736.307 0,
+ 1466955.022 922287.154 0, 1467233.33 922314.772 0, 1467510.371 922342.28 0, 1467787.41 922369.805 0, 1468064.447 922397.347 0, 1468341.482 922424.904 0, 1468618.516 922452.478 0, 1468895.549 922480.068 0, 1469172.579 922507.674 0, 1469449.609 922535.297 0,
+ 1469726.636 922562.936 0, 1470003.662 922590.591 0, 1470280.686 922618.263 0, 1470557.709 922645.951 0, 1470834.73 922673.655 0, 1471111.749 922701.376 0, 1471388.767 922729.113 0, 1471665.783 922756.866 0, 1471942.797 922784.635 0, 1472219.81 922812.421 0,
+ 1472496.821 922840.223 0, 1472773.831 922868.041 0, 1473050.839 922895.876 0, 1473327.845 922923.727 0, 1473603.585 922951.467 0, 1473881.852 922979.478 0, 1474158.854 923007.378 0, 1474435.853 923035.294 0, 1474712.851 923063.227 0, 1474989.848 923091.175 0,
+ 1475266.843 923119.141 0, 1475543.836 923147.122 0, 1475820.827 923175.12 0, 1476097.817 923203.134 0, 1476374.805 923231.164 0, 1476651.792 923259.211 0, 1476928.776 923287.274 0, 1477205.76 923315.353 0, 1477482.741 923343.448 0, 1477759.721 923371.56 0,
+ 1478036.699 923399.688 0, 1478313.676 923427.833 0, 1478590.651 923455.993 0, 1478867.624 923484.171 0, 1479144.596 923512.364 0, 1479421.566 923540.574 0, 1479698.534 923568.799 0, 1479975.501 923597.042 0, 1480251.202 923625.171 0, 1480817.554 918075.902 0,
+ 1481383.889 912526.794 0))
+
+POLYGON ((1493543.549 925000.747 0, 1493267.926 924971.839 0, 1492991.04 924942.814 0, 1492714.153 924913.806 0, 1492437.263 924884.814 0, 1492160.373 924855.838 0, 1491883.48 924826.879 0, 1491606.586 924797.936 0, 1491329.69 924769.009 0, 1491052.792 924740.098 0,
+ 1490775.893 924711.204 0, 1490498.992 924682.326 0, 1490222.089 924653.464 0, 1489945.184 924624.619 0, 1489668.278 924595.79 0, 1489391.37 924566.977 0, 1489114.461 924538.181 0, 1488837.55 924509.401 0, 1488560.637 924480.637 0, 1488283.722 924451.889 0,
+ 1488006.806 924423.158 0, 1487729.888 924394.443 0, 1487452.968 924365.744 0, 1487176.047 924337.062 0, 1486897.861 924308.265 0, 1486622.199 924279.746 0, 1486345.272 924251.113 0, 1486068.344 924222.495 0, 1485791.414 924193.895 0, 1485514.483 924165.31 0,
+ 1485237.55 924136.742 0, 1484960.615 924108.19 0, 1484683.678 924079.654 0, 1484406.74 924051.135 0, 1484129.8 924022.632 0, 1483852.858 923994.145 0, 1483575.915 923965.674 0, 1483298.97 923937.22 0, 1483022.024 923908.782 0, 1482745.075 923880.361 0,
+ 1482468.125 923851.956 0, 1482191.174 923823.567 0, 1481914.22 923795.194 0, 1481637.265 923766.838 0, 1481360.309 923738.498 0, 1481083.351 923710.174 0, 1480806.391 923681.866 0, 1480529.429 923653.575 0, 1480251.202 923625.171 0, 1479684.834 929174.598 0,
+ 1479118.451 934724.177 0, 1479396.021 934752.514 0, 1479672.33 934780.738 0, 1479948.636 934808.979 0, 1480224.941 934837.236 0, 1480501.245 934865.509 0, 1480777.547 934893.799 0, 1481053.847 934922.104 0, 1481330.145 934950.426 0, 1481606.442 934978.765 0,
+ 1481882.737 935007.119 0, 1482159.03 935035.49 0, 1482435.322 935063.877 0, 1482711.612 935092.28 0, 1482987.9 935120.7 0, 1483264.187 935149.136 0, 1483540.472 935177.588 0, 1483816.755 935206.056 0, 1484093.037 935234.541 0, 1484369.317 935263.042 0,
+ 1484645.595 935291.559 0, 1484921.872 935320.092 0, 1485198.147 935348.642 0, 1485474.42 935377.208 0, 1485749.433 935405.66 0, 1486026.962 935434.389 0, 1486303.23 935463.003 0, 1486579.497 935491.634 0, 1486855.761 935520.281 0, 1487132.025 935548.945 0,
+ 1487408.286 935577.625 0, 1487684.546 935606.321 0, 1487960.804 935635.033 0, 1488237.06 935663.761 0, 1488513.315 935692.506 0, 1488789.568 935721.267 0, 1489065.82 935750.045 0, 1489342.069 935778.838 0, 1489618.317 935807.648 0, 1489894.563 935836.474 0,
+ 1490170.808 935865.316 0, 1490447.051 935894.175 0, 1490723.292 935923.05 0, 1490999.531 935951.941 0, 1491275.769 935980.848 0, 1491552.005 936009.772 0, 1491828.24 936038.712 0, 1492104.472 936067.668 0, 1492379.445 936096.509 0, 1492961.505 930548.551 0,
+ 1493543.549 925000.747 0))
+
+POLYGON ((970882.129 476044.017 0, 970580.293 476045.731 0, 970276.986 476047.472 0, 969973.678 476049.23 0, 969670.371 476051.006 0, 969367.063 476052.801 0, 969063.756 476054.612 0, 968760.449 476056.442 0, 968457.142 476058.29 0, 968153.835 476060.155 0,
+ 967850.528 476062.039 0, 967547.221 476063.94 0, 967243.914 476065.859 0, 966940.608 476067.796 0, 966637.301 476069.75 0, 966333.995 476071.723 0, 966030.689 476073.714 0, 965727.383 476075.722 0, 965424.077 476077.748 0, 965120.771 476079.792 0,
+ 964817.465 476081.854 0, 964514.16 476083.934 0, 964210.854 476086.031 0, 963907.549 476088.146 0, 963602.77 476090.29 0, 963300.939 476092.431 0, 962997.634 476094.6 0, 962694.329 476096.787 0, 962391.024 476098.991 0, 962087.719 476101.214 0,
+ 961784.415 476103.454 0, 961481.111 476105.712 0, 961177.806 476107.988 0, 960874.502 476110.282 0, 960571.199 476112.594 0, 960267.895 476114.924 0, 959964.591 476117.271 0, 959661.288 476119.637 0, 959357.984 476122.02 0, 959054.681 476124.421 0,
+ 958751.378 476126.84 0, 958448.075 476129.276 0, 958144.772 476131.731 0, 957841.47 476134.203 0, 957538.167 476136.694 0, 957234.865 476139.202 0, 956931.563 476141.728 0, 956628.26 476144.272 0, 956323.484 476146.846 0, 956370.575 481702.763 0,
+ 956417.669 487259.094 0, 956721.788 487256.525 0, 957024.436 487253.987 0, 957327.084 487251.466 0, 957629.732 487248.964 0, 957932.381 487246.479 0, 958235.03 487244.012 0, 958537.678 487241.562 0, 958840.327 487239.131 0, 959142.976 487236.717 0,
+ 959445.625 487234.321 0, 959748.275 487231.943 0, 960050.924 487229.583 0, 960353.574 487227.241 0, 960656.223 487224.916 0, 960958.873 487222.609 0, 961261.523 487220.32 0, 961564.173 487218.049 0, 961866.824 487215.796 0, 962169.474 487213.56 0,
+ 962472.125 487211.342 0, 962774.775 487209.143 0, 963077.426 487206.96 0, 963380.077 487204.796 0, 963681.258 487202.66 0, 963985.379 487200.521 0, 964288.03 487198.41 0, 964590.682 487196.317 0, 964893.333 487194.242 0, 965195.985 487192.185 0,
+ 965498.637 487190.145 0, 965801.289 487188.123 0, 966103.941 487186.119 0, 966406.593 487184.133 0, 966709.245 487182.165 0, 967011.898 487180.214 0, 967314.55 487178.282 0, 967617.203 487176.367 0, 967919.855 487174.47 0, 968222.508 487172.59 0,
+ 968525.161 487170.729 0, 968827.814 487168.885 0, 969130.467 487167.059 0, 969433.12 487165.251 0, 969735.774 487163.461 0, 970038.427 487161.689 0, 970341.081 487159.934 0, 970643.735 487158.197 0, 970944.919 487156.487 0, 970913.523 481600.045 0,
+ 970882.129 476044.017 0))
+
+POLYGON ((985472.402 487094.922 0, 985171.211 487095.782 0, 984868.554 487096.664 0, 984565.896 487097.563 0, 984263.239 487098.48 0, 983960.582 487099.416 0, 983657.925 487100.369 0, 983355.268 487101.339 0, 983052.611 487102.328 0, 982749.954 487103.334 0,
+ 982447.297 487104.359 0, 982144.64 487105.401 0, 981841.983 487106.46 0, 981539.326 487107.538 0, 981236.67 487108.634 0, 980934.013 487109.747 0, 980631.356 487110.878 0, 980328.7 487112.027 0, 980026.044 487113.194 0, 979723.387 487114.378 0,
+ 979420.731 487115.58 0, 979118.075 487116.801 0, 978815.419 487118.039 0, 978512.763 487119.294 0, 978208.639 487120.574 0, 977907.451 487121.859 0, 977604.795 487123.169 0, 977302.139 487124.496 0, 976999.483 487125.84 0, 976696.828 487127.203 0,
+ 976394.172 487128.584 0, 976091.517 487129.982 0, 975788.862 487131.398 0, 975486.206 487132.832 0, 975183.551 487134.284 0, 974880.896 487135.753 0, 974578.241 487137.241 0, 974275.586 487138.746 0, 973972.931 487140.269 0, 973670.277 487141.81 0,
+ 973367.622 487143.368 0, 973064.967 487144.945 0, 972762.313 487146.539 0, 972459.659 487148.151 0, 972157.004 487149.781 0, 971854.35 487151.429 0, 971551.696 487153.094 0, 971249.042 487154.777 0, 970944.919 487156.487 0, 970976.318 492713.34 0,
+ 971007.719 498270.603 0, 971311.184 498268.897 0, 971613.184 498267.217 0, 971915.184 498265.555 0, 972217.184 498263.911 0, 972519.184 498262.285 0, 972821.184 498260.676 0, 973123.185 498259.085 0, 973425.185 498257.512 0, 973727.186 498255.957 0,
+ 974029.186 498254.42 0, 974331.187 498252.9 0, 974633.188 498251.398 0, 974935.188 498249.914 0, 975237.189 498248.447 0, 975539.19 498246.999 0, 975841.191 498245.568 0, 976143.193 498244.155 0, 976445.194 498242.76 0, 976747.195 498241.382 0,
+ 977049.197 498240.022 0, 977351.198 498238.68 0, 977653.2 498237.356 0, 977955.201 498236.05 0, 978255.739 498234.767 0, 978559.205 498233.49 0, 978861.207 498232.237 0, 979163.209 498231.002 0, 979465.211 498229.785 0, 979767.213 498228.585 0,
+ 980069.215 498227.403 0, 980371.217 498226.239 0, 980673.22 498225.092 0, 980975.222 498223.964 0, 981277.225 498222.853 0, 981579.227 498221.76 0, 981881.23 498220.684 0, 982183.232 498219.627 0, 982485.235 498218.587 0, 982787.238 498217.565 0,
+ 983089.241 498216.561 0, 983391.243 498215.574 0, 983693.246 498214.606 0, 983995.249 498213.655 0, 984297.252 498212.722 0, 984599.255 498211.806 0, 984901.259 498210.909 0, 985203.262 498210.029 0, 985503.802 498209.171 0, 985488.101 492651.842 0,
+ 985472.402 487094.922 0))
+
+POLYGON ((1000000 498188.694 0, 999699.457 498188.703 0, 999397.452 498188.729 0, 999095.448 498188.773 0, 998793.443 498188.836 0, 998491.439 498188.915 0, 998189.434 498189.013 0, 997887.43 498189.129 0, 997585.425 498189.262 0, 997283.421 498189.413 0,
+ 996981.417 498189.582 0, 996679.412 498189.768 0, 996377.408 498189.973 0, 996075.403 498190.195 0, 995773.399 498190.435 0, 995471.394 498190.692 0, 995169.39 498190.968 0, 994867.386 498191.261 0, 994565.381 498191.572 0, 994263.377 498191.901 0,
+ 993961.373 498192.247 0, 993659.369 498192.611 0, 993357.364 498192.993 0, 993055.36 498193.393 0, 992751.894 498193.813 0, 992451.352 498194.246 0, 992149.348 498194.7 0, 991847.343 498195.171 0, 991545.339 498195.659 0, 991243.335 498196.166 0,
+ 990941.331 498196.69 0, 990639.327 498197.232 0, 990337.323 498197.792 0, 990035.319 498198.37 0, 989733.315 498198.965 0, 989431.312 498199.578 0, 989129.308 498200.209 0, 988827.304 498200.858 0, 988525.3 498201.524 0, 988223.297 498202.209 0,
+ 987921.293 498202.911 0, 987619.289 498203.63 0, 987317.286 498204.368 0, 987015.282 498205.123 0, 986713.279 498205.897 0, 986411.275 498206.687 0, 986109.272 498207.496 0, 985807.268 498208.323 0, 985503.802 498209.171 0, 985519.503 503766.905 0,
+ 985535.206 509325.041 0, 985838.015 509324.195 0, 986139.365 509323.37 0, 986440.714 509322.563 0, 986742.063 509321.774 0, 987043.412 509321.002 0, 987344.761 509320.249 0, 987646.111 509319.513 0, 987947.46 509318.794 0, 988248.81 509318.094 0,
+ 988550.159 509317.411 0, 988851.508 509316.746 0, 989152.858 509316.099 0, 989454.208 509315.469 0, 989755.557 509314.857 0, 990056.907 509314.263 0, 990358.256 509313.687 0, 990659.606 509313.128 0, 990960.956 509312.587 0, 991262.306 509312.064 0,
+ 991563.656 509311.559 0, 991865.005 509311.071 0, 992166.355 509310.601 0, 992467.705 509310.149 0, 992767.596 509309.717 0, 993070.405 509309.298 0, 993371.755 509308.899 0, 993673.105 509308.518 0, 993974.455 509308.154 0, 994275.805 509307.808 0,
+ 994577.155 509307.48 0, 994878.505 509307.17 0, 995179.855 509306.877 0, 995481.205 509306.603 0, 995782.555 509306.345 0, 996083.905 509306.106 0, 996385.256 509305.884 0, 996686.606 509305.681 0, 996987.956 509305.494 0, 997289.306 509305.326 0,
+ 997590.656 509305.175 0, 997892.007 509305.042 0, 998193.357 509304.927 0, 998494.707 509304.83 0, 998796.057 509304.75 0, 999097.407 509304.688 0, 999398.758 509304.644 0, 999700.108 509304.617 0, 1000000 509304.608 0, 1000000 503746.45 0,
+ 1000000 498188.694 0))
+
+POLYGON ((1014464.794 509325.041 0, 1014164.901 509324.203 0, 1013863.552 509323.378 0, 1013562.202 509322.571 0, 1013260.853 509321.781 0, 1012959.504 509321.01 0, 1012658.155 509320.256 0, 1012356.805 509319.52 0, 1012055.456 509318.801 0, 1011754.107 509318.101 0,
+ 1011452.757 509317.418 0, 1011151.408 509316.752 0, 1010850.058 509316.105 0, 1010548.709 509315.475 0, 1010247.359 509314.863 0, 1009946.009 509314.269 0, 1009644.66 509313.692 0, 1009343.31 509313.134 0, 1009041.96 509312.593 0, 1008740.61 509312.069 0,
+ 1008439.261 509311.564 0, 1008137.911 509311.076 0, 1007836.561 509310.606 0, 1007535.211 509310.153 0, 1007232.404 509309.717 0, 1006932.511 509309.302 0, 1006631.161 509308.903 0, 1006329.811 509308.521 0, 1006028.461 509308.158 0, 1005727.111 509307.812 0,
+ 1005425.761 509307.483 0, 1005124.411 509307.173 0, 1004823.061 509306.88 0, 1004521.711 509306.605 0, 1004220.361 509306.348 0, 1003919.011 509306.108 0, 1003617.66 509305.887 0, 1003316.31 509305.682 0, 1003014.96 509305.496 0, 1002713.61 509305.328 0,
+ 1002412.26 509305.177 0, 1002110.91 509305.044 0, 1001809.559 509304.928 0, 1001508.209 509304.831 0, 1001206.859 509304.751 0, 1000905.509 509304.688 0, 1000604.159 509304.644 0, 1000302.808 509304.617 0, 1000000 509304.608 0, 1000000 514863.166 0,
+ 1000000 520422.12 0, 1000302.151 520422.129 0, 1000602.847 520422.156 0, 1000903.542 520422.2 0, 1001204.238 520422.262 0, 1001504.934 520422.342 0, 1001805.63 520422.439 0, 1002106.326 520422.554 0, 1002407.022 520422.687 0, 1002707.718 520422.838 0,
+ 1003008.413 520423.006 0, 1003309.109 520423.192 0, 1003609.805 520423.395 0, 1003910.501 520423.617 0, 1004211.197 520423.856 0, 1004511.892 520424.112 0, 1004812.588 520424.387 0, 1005113.284 520424.679 0, 1005413.98 520424.989 0, 1005714.675 520425.316 0,
+ 1006015.371 520425.661 0, 1006316.067 520426.024 0, 1006616.762 520426.405 0, 1006917.458 520426.803 0, 1007216.7 520427.217 0, 1007518.849 520427.653 0, 1007819.545 520428.104 0, 1008120.24 520428.573 0, 1008420.935 520429.06 0, 1008721.631 520429.565 0,
+ 1009022.326 520430.087 0, 1009323.022 520430.627 0, 1009623.717 520431.184 0, 1009924.412 520431.76 0, 1010225.108 520432.353 0, 1010525.803 520432.963 0, 1010826.498 520433.592 0, 1011127.193 520434.238 0, 1011427.889 520434.902 0, 1011728.584 520435.583 0,
+ 1012029.279 520436.282 0, 1012329.974 520436.999 0, 1012630.669 520437.734 0, 1012931.364 520438.486 0, 1013232.058 520439.256 0, 1013532.753 520440.044 0, 1013833.448 520440.849 0, 1014134.143 520441.672 0, 1014433.385 520442.509 0, 1014449.09 514883.577 0,
+ 1014464.794 509325.041 0))
+
+POLYGON ((1028866.655 520503.674 0, 1028567.414 520501.992 0, 1028266.723 520500.319 0, 1027966.031 520498.664 0, 1027665.34 520497.027 0, 1027364.648 520495.408 0, 1027063.957 520493.806 0, 1026763.265 520492.222 0, 1026462.573 520490.656 0, 1026161.881 520489.107 0,
+ 1025861.189 520487.576 0, 1025560.497 520486.063 0, 1025259.805 520484.567 0, 1024959.113 520483.089 0, 1024658.421 520481.629 0, 1024357.728 520480.186 0, 1024057.036 520478.762 0, 1023756.343 520477.354 0, 1023455.651 520475.965 0, 1023154.958 520474.593 0,
+ 1022854.265 520473.239 0, 1022553.572 520471.903 0, 1022252.879 520470.584 0, 1021952.186 520469.284 0, 1021650.041 520467.994 0, 1021350.8 520466.735 0, 1021050.106 520465.487 0, 1020749.413 520464.257 0, 1020448.72 520463.044 0, 1020148.026 520461.85 0,
+ 1019847.333 520460.673 0, 1019546.639 520459.513 0, 1019245.945 520458.372 0, 1018945.251 520457.248 0, 1018644.558 520456.142 0, 1018343.864 520455.053 0, 1018043.17 520453.982 0, 1017742.476 520452.929 0, 1017441.782 520451.894 0, 1017141.087 520450.876 0,
+ 1016840.393 520449.876 0, 1016539.699 520448.894 0, 1016239.005 520447.929 0, 1015938.31 520446.982 0, 1015637.616 520446.053 0, 1015336.921 520445.141 0, 1015036.227 520444.247 0, 1014735.532 520443.371 0, 1014433.385 520442.509 0, 1014417.679 526001.833 0,
+ 1014401.972 531561.548 0, 1014703.461 531562.409 0, 1015003.501 531563.283 0, 1015303.541 531564.175 0, 1015603.581 531565.085 0, 1015903.621 531566.012 0, 1016203.661 531566.957 0, 1016503.701 531567.919 0, 1016803.741 531568.899 0, 1017103.781 531569.897 0,
+ 1017403.821 531570.913 0, 1017703.86 531571.946 0, 1018003.9 531572.997 0, 1018303.939 531574.065 0, 1018603.979 531575.151 0, 1018904.018 531576.255 0, 1019204.058 531577.377 0, 1019504.097 531578.516 0, 1019804.136 531579.673 0, 1020104.175 531580.847 0,
+ 1020404.214 531582.039 0, 1020704.253 531583.249 0, 1021004.292 531584.477 0, 1021304.331 531585.722 0, 1021602.921 531586.978 0, 1021904.408 531588.265 0, 1022204.447 531589.563 0, 1022504.486 531590.879 0, 1022804.524 531592.212 0, 1023104.562 531593.563 0,
+ 1023404.601 531594.932 0, 1023704.639 531596.318 0, 1024004.677 531597.722 0, 1024304.715 531599.144 0, 1024604.753 531600.583 0, 1024904.791 531602.04 0, 1025204.829 531603.515 0, 1025504.866 531605.007 0, 1025804.904 531606.517 0, 1026104.942 531608.045 0,
+ 1026404.979 531609.59 0, 1026705.016 531611.153 0, 1027005.054 531612.734 0, 1027305.091 531614.332 0, 1027605.128 531615.948 0, 1027905.165 531617.582 0, 1028205.202 531619.233 0, 1028505.239 531620.902 0, 1028803.828 531622.58 0, 1028835.243 526062.932 0,
+ 1028866.655 520503.674 0))
+
+POLYGON ((1043205.455 531724.3 0, 1042906.869 531721.778 0, 1042606.838 531719.262 0, 1042306.807 531716.763 0, 1042006.776 531714.281 0, 1041706.745 531711.818 0, 1041406.713 531709.372 0, 1041106.681 531706.944 0, 1040806.65 531704.533 0, 1040506.618 531702.14 0,
+ 1040206.586 531699.765 0, 1039906.554 531697.407 0, 1039606.521 531695.067 0, 1039306.489 531692.745 0, 1039006.456 531690.44 0, 1038706.424 531688.153 0, 1038406.391 531685.884 0, 1038106.358 531683.632 0, 1037806.325 531681.398 0, 1037506.291 531679.182 0,
+ 1037206.258 531676.983 0, 1036906.225 531674.802 0, 1036606.191 531672.638 0, 1036306.157 531670.493 0, 1036004.677 531668.354 0, 1035706.089 531666.254 0, 1035406.055 531664.161 0, 1035106.021 531662.086 0, 1034805.987 531660.029 0, 1034505.952 531657.989 0,
+ 1034205.917 531655.967 0, 1033905.883 531653.962 0, 1033605.848 531651.976 0, 1033305.813 531650.007 0, 1033005.778 531648.055 0, 1032705.743 531646.121 0, 1032405.707 531644.205 0, 1032105.672 531642.307 0, 1031805.636 531640.426 0, 1031505.601 531638.563 0,
+ 1031205.565 531636.717 0, 1030905.529 531634.889 0, 1030605.493 531633.079 0, 1030305.457 531631.286 0, 1030005.421 531629.511 0, 1029705.385 531627.754 0, 1029405.348 531626.015 0, 1029105.312 531624.293 0, 1028803.828 531622.58 0, 1028772.412 537182.615 0,
+ 1028740.993 542743.034 0, 1029041.819 542744.743 0, 1029341.201 542746.461 0, 1029640.583 542748.197 0, 1029939.964 542749.95 0, 1030239.346 542751.721 0, 1030538.728 542753.51 0, 1030838.109 542755.316 0, 1031137.49 542757.14 0, 1031436.872 542758.981 0,
+ 1031736.253 542760.841 0, 1032035.634 542762.717 0, 1032335.015 542764.612 0, 1032634.395 542766.524 0, 1032933.776 542768.453 0, 1033233.157 542770.4 0, 1033532.537 542772.365 0, 1033831.917 542774.348 0, 1034131.298 542776.348 0, 1034430.678 542778.366 0,
+ 1034730.058 542780.401 0, 1035029.437 542782.454 0, 1035328.817 542784.524 0, 1035628.197 542786.613 0, 1035926.133 542788.708 0, 1036226.956 542790.842 0, 1036526.335 542792.983 0, 1036825.714 542795.142 0, 1037125.093 542797.318 0, 1037424.472 542799.512 0,
+ 1037723.85 542801.723 0, 1038023.229 542803.953 0, 1038322.608 542806.199 0, 1038621.986 542808.464 0, 1038921.364 542810.746 0, 1039220.742 542813.045 0, 1039520.12 542815.363 0, 1039819.498 542817.698 0, 1040118.875 542820.05 0, 1040418.253 542822.42 0,
+ 1040717.63 542824.808 0, 1041017.008 542827.213 0, 1041316.385 542829.636 0, 1041615.762 542832.077 0, 1041915.138 542834.535 0, 1042214.515 542837.011 0, 1042513.891 542839.504 0, 1042813.268 542842.016 0, 1043111.202 542844.532 0, 1043158.33 537284.224 0,
+ 1043205.455 531724.3 0))
+
+POLYGON ((1057481.068 542986.628 0, 1057183.139 542983.27 0, 1056883.771 542979.913 0, 1056584.403 542976.574 0, 1056285.035 542973.252 0, 1055985.666 542969.948 0, 1055686.297 542966.662 0, 1055386.928 542963.393 0, 1055087.559 542960.142 0, 1054788.189 542956.908 0,
+ 1054488.82 542953.692 0, 1054189.45 542950.494 0, 1053890.08 542947.313 0, 1053590.71 542944.15 0, 1053291.339 542941.005 0, 1052991.969 542937.877 0, 1052692.598 542934.767 0, 1052393.227 542931.674 0, 1052093.856 542928.599 0, 1051794.485 542925.542 0,
+ 1051495.113 542922.502 0, 1051195.742 542919.48 0, 1050896.37 542916.476 0, 1050596.998 542913.489 0, 1050296.185 542910.505 0, 1049998.253 542907.568 0, 1049698.881 542904.634 0, 1049399.508 542901.718 0, 1049100.135 542898.819 0, 1048800.762 542895.938 0,
+ 1048501.389 542893.074 0, 1048202.016 542890.228 0, 1047902.642 542887.4 0, 1047603.269 542884.589 0, 1047303.895 542881.796 0, 1047004.521 542879.021 0, 1046705.147 542876.263 0, 1046405.772 542873.523 0, 1046106.398 542870.801 0, 1045807.023 542868.096 0,
+ 1045507.648 542865.408 0, 1045208.273 542862.739 0, 1044908.898 542860.087 0, 1044609.523 542857.452 0, 1044310.147 542854.835 0, 1044010.772 542852.236 0, 1043711.396 542849.655 0, 1043412.02 542847.091 0, 1043111.202 542844.532 0, 1043064.071 548405.22 0,
+ 1043016.937 553966.286 0, 1043317.097 553968.839 0, 1043615.818 553971.397 0, 1043914.54 553973.973 0, 1044213.261 553976.567 0, 1044511.981 553979.178 0, 1044810.702 553981.807 0, 1045109.423 553984.453 0, 1045408.143 553987.117 0, 1045706.863 553989.798 0,
+ 1046005.583 553992.497 0, 1046304.303 553995.214 0, 1046603.023 553997.948 0, 1046901.742 554000.7 0, 1047200.462 554003.469 0, 1047499.181 554006.256 0, 1047797.9 554009.06 0, 1048096.619 554011.883 0, 1048395.338 554014.722 0, 1048694.057 554017.579 0,
+ 1048992.775 554020.454 0, 1049291.493 554023.347 0, 1049590.211 554026.257 0, 1049888.929 554029.184 0, 1050186.21 554032.115 0, 1050486.365 554035.092 0, 1050785.082 554038.072 0, 1051083.799 554041.07 0, 1051382.516 554044.086 0, 1051681.233 554047.119 0,
+ 1051979.95 554050.17 0, 1052278.666 554053.238 0, 1052577.383 554056.324 0, 1052876.099 554059.427 0, 1053174.815 554062.548 0, 1053473.53 554065.687 0, 1053772.246 554068.843 0, 1054070.961 554072.016 0, 1054369.677 554075.208 0, 1054668.392 554078.417 0,
+ 1054967.106 554081.643 0, 1055265.821 554084.887 0, 1055564.536 554088.149 0, 1055863.25 554091.428 0, 1056161.964 554094.725 0, 1056460.678 554098.039 0, 1056759.391 554101.371 0, 1057058.105 554104.721 0, 1057355.382 554108.071 0, 1057418.227 548547.161 0,
+ 1057481.068 542986.628 0))
+
+POLYGON ((1071693.369 554290.365 0, 1071396.1 554286.174 0, 1071097.398 554281.981 0, 1070798.695 554277.805 0, 1070499.991 554273.647 0, 1070201.288 554269.506 0, 1069902.584 554265.383 0, 1069603.88 554261.277 0, 1069305.176 554257.189 0, 1069006.471 554253.119 0,
+ 1068707.766 554249.066 0, 1068409.061 554245.031 0, 1068110.356 554241.013 0, 1067811.651 554237.013 0, 1067512.945 554233.031 0, 1067214.239 554229.066 0, 1066915.533 554225.118 0, 1066616.826 554221.189 0, 1066318.12 554217.277 0, 1066019.413 554213.382 0,
+ 1065720.706 554209.505 0, 1065421.998 554205.646 0, 1065123.291 554201.804 0, 1064824.583 554197.98 0, 1064524.44 554194.155 0, 1064227.167 554190.384 0, 1063928.458 554186.612 0, 1063629.75 554182.858 0, 1063331.041 554179.122 0, 1063032.332 554175.403 0,
+ 1062733.622 554171.702 0, 1062434.913 554168.019 0, 1062136.203 554164.353 0, 1061837.493 554160.704 0, 1061538.783 554157.073 0, 1061240.072 554153.46 0, 1060941.362 554149.864 0, 1060642.651 554146.286 0, 1060343.94 554142.726 0, 1060045.229 554139.183 0,
+ 1059746.517 554135.658 0, 1059447.806 554132.15 0, 1059149.094 554128.66 0, 1058850.382 554125.187 0, 1058551.669 554121.732 0, 1058252.957 554118.295 0, 1057954.244 554114.875 0, 1057655.531 554111.472 0, 1057355.382 554108.071 0, 1057292.533 559669.356 0,
+ 1057229.679 565231.012 0, 1057529.171 565234.405 0, 1057827.229 565237.8 0, 1058125.287 565241.213 0, 1058423.345 565244.643 0, 1058721.402 565248.09 0, 1059019.46 565251.555 0, 1059317.517 565255.038 0, 1059615.574 565258.538 0, 1059913.631 565262.055 0,
+ 1060211.687 565265.59 0, 1060509.744 565269.143 0, 1060807.8 565272.713 0, 1061105.856 565276.301 0, 1061403.911 565279.906 0, 1061701.967 565283.529 0, 1062000.022 565287.17 0, 1062298.077 565290.828 0, 1062596.132 565294.503 0, 1062894.187 565298.196 0,
+ 1063192.241 565301.907 0, 1063490.296 565305.635 0, 1063788.35 565309.381 0, 1064086.403 565313.144 0, 1064383.025 565316.907 0, 1064682.51 565320.723 0, 1064980.563 565324.539 0, 1065278.616 565328.372 0, 1065576.669 565332.223 0, 1065874.721 565336.092 0,
+ 1066172.774 565339.978 0, 1066470.826 565343.881 0, 1066768.877 565347.802 0, 1067066.929 565351.741 0, 1067364.98 565355.697 0, 1067663.031 565359.671 0, 1067961.082 565363.662 0, 1068259.133 565367.671 0, 1068557.183 565371.698 0, 1068855.233 565375.741 0,
+ 1069153.283 565379.803 0, 1069451.333 565383.882 0, 1069749.382 565387.978 0, 1070047.431 565392.093 0, 1070345.48 565396.224 0, 1070643.529 565400.373 0, 1070941.577 565404.54 0, 1071239.625 565408.724 0, 1071536.243 565412.906 0, 1071614.809 559851.45 0,
+ 1071693.369 554290.365 0))
+
+POLYGON ((1085842.235 565635.218 0, 1085545.628 565630.198 0, 1085247.593 565625.172 0, 1084949.558 565620.163 0, 1084651.522 565615.172 0, 1084353.486 565610.198 0, 1084055.45 565605.242 0, 1083757.413 565600.304 0, 1083459.376 565595.383 0, 1083161.339 565590.479 0,
+ 1082863.301 565585.593 0, 1082565.264 565580.725 0, 1082267.226 565575.874 0, 1081969.187 565571.041 0, 1081671.149 565566.225 0, 1081373.11 565561.427 0, 1081075.07 565556.646 0, 1080777.031 565551.883 0, 1080478.991 565547.137 0, 1080180.951 565542.409 0,
+ 1079882.911 565537.698 0, 1079584.87 565533.006 0, 1079286.829 565528.33 0, 1078988.788 565523.672 0, 1078689.317 565519.01 0, 1078392.705 565514.409 0, 1078094.663 565509.804 0, 1077796.621 565505.216 0, 1077498.578 565500.646 0, 1077200.536 565496.093 0,
+ 1076902.493 565491.558 0, 1076604.449 565487.041 0, 1076306.406 565482.541 0, 1076008.362 565478.058 0, 1075710.318 565473.593 0, 1075412.273 565469.146 0, 1075114.229 565464.716 0, 1074816.184 565460.304 0, 1074518.139 565455.909 0, 1074220.093 565451.532 0,
+ 1073922.048 565447.172 0, 1073624.002 565442.83 0, 1073325.956 565438.505 0, 1073027.909 565434.198 0, 1072729.862 565429.909 0, 1072431.816 565425.637 0, 1072133.768 565421.382 0, 1071835.721 565417.145 0, 1071536.243 565412.906 0, 1071457.671 570974.73 0,
+ 1071379.095 576536.918 0, 1071677.916 576541.149 0, 1071975.308 576545.376 0, 1072272.701 576549.621 0, 1072570.093 576553.884 0, 1072867.485 576558.164 0, 1073164.877 576562.462 0, 1073462.268 576566.777 0, 1073759.659 576571.109 0, 1074057.05 576575.459 0,
+ 1074354.441 576579.827 0, 1074651.831 576584.212 0, 1074949.221 576588.615 0, 1075246.611 576593.035 0, 1075544.001 576597.472 0, 1075841.39 576601.928 0, 1076138.779 576606.4 0, 1076436.168 576610.89 0, 1076733.557 576615.398 0, 1077030.945 576619.923 0,
+ 1077328.333 576624.466 0, 1077625.721 576629.026 0, 1077923.108 576633.604 0, 1078220.496 576638.199 0, 1078516.456 576642.789 0, 1078815.269 576647.441 0, 1079112.656 576652.089 0, 1079410.042 576656.754 0, 1079707.428 576661.437 0, 1080004.813 576666.137 0,
+ 1080302.199 576670.855 0, 1080599.584 576675.59 0, 1080896.969 576680.343 0, 1081194.353 576685.113 0, 1081491.737 576689.901 0, 1081789.121 576694.706 0, 1082086.505 576699.528 0, 1082383.888 576704.369 0, 1082681.271 576709.226 0, 1082978.654 576714.102 0,
+ 1083276.036 576718.994 0, 1083573.419 576723.905 0, 1083870.801 576728.832 0, 1084168.182 576733.777 0, 1084465.564 576738.74 0, 1084762.945 576743.72 0, 1085060.325 576748.718 0, 1085357.706 576753.733 0, 1085653.661 576758.742 0, 1085747.951 571196.797 0,
+ 1085842.235 565635.218 0))
+
+POLYGON ((1099927.543 577020.893 0, 1099631.601 577015.048 0, 1099334.236 577009.193 0, 1099036.87 577003.355 0, 1098739.505 576997.534 0, 1098442.138 576991.732 0, 1098144.772 576985.946 0, 1097847.405 576980.178 0, 1097550.038 576974.428 0, 1097252.67 576968.695 0,
+ 1096955.303 576962.98 0, 1096657.935 576957.282 0, 1096360.566 576951.602 0, 1096063.197 576945.939 0, 1095765.828 576940.293 0, 1095468.459 576934.666 0, 1095171.089 576929.055 0, 1094873.719 576923.462 0, 1094576.348 576917.887 0, 1094278.977 576912.329 0,
+ 1093981.606 576906.789 0, 1093684.235 576901.266 0, 1093386.863 576895.761 0, 1093089.491 576890.273 0, 1092790.694 576884.777 0, 1092494.746 576879.35 0, 1092197.373 576873.915 0, 1091899.999 576868.497 0, 1091602.625 576863.096 0, 1091305.251 576857.714 0,
+ 1091007.877 576852.348 0, 1090710.502 576847.001 0, 1090413.127 576841.67 0, 1090115.752 576836.358 0, 1089818.377 576831.062 0, 1089521.001 576825.784 0, 1089223.624 576820.524 0, 1088926.248 576815.281 0, 1088628.871 576810.056 0, 1088331.494 576804.848 0,
+ 1088034.116 576799.658 0, 1087736.739 576794.485 0, 1087439.361 576789.33 0, 1087141.982 576784.192 0, 1086844.604 576779.072 0, 1086547.225 576773.969 0, 1086249.845 576768.884 0, 1085952.466 576763.816 0, 1085653.661 576758.742 0, 1085559.365 582321.048 0,
+ 1085465.062 587883.712 0, 1085763.209 587888.776 0, 1086059.934 587893.832 0, 1086356.658 587898.906 0, 1086653.383 587903.998 0, 1086950.107 587909.107 0, 1087246.83 587914.233 0, 1087543.553 587919.377 0, 1087840.276 587924.538 0, 1088136.999 587929.717 0,
+ 1088433.721 587934.914 0, 1088730.443 587940.127 0, 1089027.165 587945.359 0, 1089323.887 587950.607 0, 1089620.608 587955.873 0, 1089917.329 587961.157 0, 1090214.049 587966.458 0, 1090510.769 587971.777 0, 1090807.489 587977.113 0, 1091104.209 587982.466 0,
+ 1091400.928 587987.837 0, 1091697.647 587993.226 0, 1091994.365 587998.631 0, 1092291.084 588004.055 0, 1092586.381 588009.469 0, 1092884.519 588014.954 0, 1093181.237 588020.43 0, 1093477.954 588025.923 0, 1093774.67 588031.433 0, 1094071.387 588036.962 0,
+ 1094368.103 588042.507 0, 1094664.818 588048.07 0, 1094961.534 588053.651 0, 1095258.249 588059.249 0, 1095554.964 588064.864 0, 1095851.678 588070.497 0, 1096148.392 588076.147 0, 1096445.106 588081.815 0, 1096741.819 588087.5 0, 1097038.532 588093.203 0,
+ 1097335.245 588098.923 0, 1097631.957 588104.661 0, 1097928.669 588110.416 0, 1098225.381 588116.189 0, 1098522.092 588121.979 0, 1098818.803 588127.787 0, 1099115.514 588133.612 0, 1099412.224 588139.454 0, 1099707.515 588145.286 0, 1099817.532 582582.91 0,
+ 1099927.543 577020.893 0))
+
+POLYGON ((1113949.172 588447.096 0, 1113653.897 588440.43 0, 1113357.204 588433.749 0, 1113060.511 588427.086 0, 1112763.818 588420.44 0, 1112467.124 588413.812 0, 1112170.43 588407.201 0, 1111873.735 588400.607 0, 1111577.04 588394.032 0, 1111280.345 588387.473 0,
+ 1110983.649 588380.932 0, 1110686.953 588374.409 0, 1110390.256 588367.902 0, 1110093.559 588361.414 0, 1109796.862 588354.943 0, 1109500.164 588348.489 0, 1109203.466 588342.053 0, 1108906.768 588335.634 0, 1108610.069 588329.233 0, 1108313.37 588322.849 0,
+ 1108016.67 588316.482 0, 1107719.97 588310.134 0, 1107423.27 588303.802 0, 1107126.569 588297.488 0, 1106828.45 588291.162 0, 1106533.167 588284.913 0, 1106236.465 588278.651 0, 1105939.763 588272.407 0, 1105643.06 588266.18 0, 1105346.358 588259.971 0,
+ 1105049.654 588253.779 0, 1104752.951 588247.605 0, 1104456.247 588241.448 0, 1104159.542 588235.309 0, 1103862.838 588229.187 0, 1103566.133 588223.082 0, 1103269.427 588216.995 0, 1102972.721 588210.926 0, 1102676.015 588204.874 0, 1102379.309 588198.839 0,
+ 1102082.602 588192.822 0, 1101785.895 588186.823 0, 1101489.187 588180.84 0, 1101192.479 588174.876 0, 1100895.771 588168.928 0, 1100599.062 588162.999 0, 1100302.353 588157.086 0, 1100005.644 588151.191 0, 1099707.515 588145.286 0, 1099597.49 593708.017 0,
+ 1099487.459 599271.1 0, 1099784.93 599276.992 0, 1100080.985 599282.874 0, 1100377.039 599288.773 0, 1100673.092 599294.69 0, 1100969.146 599300.624 0, 1101265.199 599306.575 0, 1101561.252 599312.544 0, 1101857.304 599318.531 0, 1102153.356 599324.535 0,
+ 1102449.408 599330.556 0, 1102745.459 599336.595 0, 1103041.51 599342.651 0, 1103337.56 599348.724 0, 1103633.611 599354.815 0, 1103929.661 599360.924 0, 1104225.71 599367.049 0, 1104521.759 599373.193 0, 1104817.808 599379.353 0, 1105113.856 599385.531 0,
+ 1105409.905 599391.727 0, 1105705.952 599397.94 0, 1106002 599404.17 0, 1106298.046 599410.418 0, 1106592.678 599416.653 0, 1106890.139 599422.966 0, 1107186.185 599429.266 0, 1107482.231 599435.583 0, 1107778.276 599441.918 0, 1108074.321 599448.271 0,
+ 1108370.365 599454.64 0, 1108666.409 599461.027 0, 1108962.452 599467.432 0, 1109258.496 599473.854 0, 1109554.539 599480.294 0, 1109850.581 599486.75 0, 1110146.623 599493.225 0, 1110442.665 599499.716 0, 1110738.706 599506.226 0, 1111034.747 599512.752 0,
+ 1111330.788 599519.296 0, 1111626.828 599525.858 0, 1111922.868 599532.436 0, 1112218.907 599539.033 0, 1112514.946 599545.646 0, 1112810.985 599552.278 0, 1113107.023 599558.926 0, 1113403.061 599565.592 0, 1113697.684 599572.243 0, 1113823.432 594009.494 0,
+ 1113949.172 588447.096 0))
+
+POLYGON ((1127907.002 599913.533 0, 1127612.396 599906.049 0, 1127316.378 599898.547 0, 1127020.36 599891.062 0, 1126724.341 599883.594 0, 1126428.322 599876.144 0, 1126132.303 599868.712 0, 1125836.283 599861.296 0, 1125540.262 599853.899 0, 1125244.241 599846.518 0,
+ 1124948.22 599839.155 0, 1124652.198 599831.81 0, 1124356.176 599824.482 0, 1124060.153 599817.171 0, 1123764.13 599809.878 0, 1123468.107 599802.602 0, 1123172.083 599795.344 0, 1122876.059 599788.103 0, 1122580.034 599780.879 0, 1122284.009 599773.673 0,
+ 1121987.983 599766.484 0, 1121691.957 599759.313 0, 1121395.931 599752.159 0, 1121099.904 599745.023 0, 1120802.463 599737.87 0, 1120507.849 599730.802 0, 1120211.821 599723.718 0, 1119915.792 599716.652 0, 1119619.763 599709.602 0, 1119323.734 599702.57 0,
+ 1119027.704 599695.556 0, 1118731.674 599688.559 0, 1118435.643 599681.579 0, 1118139.612 599674.617 0, 1117843.581 599667.672 0, 1117547.549 599660.745 0, 1117251.517 599653.835 0, 1116955.484 599646.943 0, 1116659.451 599640.068 0, 1116363.417 599633.21 0,
+ 1116067.384 599626.37 0, 1115771.349 599619.547 0, 1115475.315 599612.742 0, 1115179.28 599605.954 0, 1114883.244 599599.183 0, 1114587.208 599592.43 0, 1114291.172 599585.694 0, 1113995.135 599578.976 0, 1113697.684 599572.243 0, 1113571.928 605135.342 0,
+ 1113446.165 610698.785 0, 1113742.958 610705.503 0, 1114038.34 610712.207 0, 1114333.721 610718.927 0, 1114629.102 610725.666 0, 1114924.483 610732.421 0, 1115219.863 610739.194 0, 1115515.243 610745.984 0, 1115810.622 610752.792 0, 1116106.001 610759.617 0,
+ 1116401.38 610766.46 0, 1116696.758 610773.319 0, 1116992.136 610780.197 0, 1117287.513 610787.091 0, 1117582.89 610794.003 0, 1117878.267 610800.933 0, 1118173.643 610807.879 0, 1118469.019 610814.844 0, 1118764.394 610821.825 0, 1119059.769 610828.824 0,
+ 1119355.143 610835.84 0, 1119650.517 610842.874 0, 1119945.891 610849.925 0, 1120241.264 610856.994 0, 1120535.227 610864.046 0, 1120832.01 610871.183 0, 1121127.382 610878.303 0, 1121422.753 610885.441 0, 1121718.124 610892.597 0, 1122013.495 610899.77 0,
+ 1122308.865 610906.96 0, 1122604.235 610914.167 0, 1122899.605 610921.392 0, 1123194.974 610928.635 0, 1123490.342 610935.894 0, 1123785.711 610943.171 0, 1124081.078 610950.466 0, 1124376.446 610957.778 0, 1124671.813 610965.107 0, 1124967.179 610972.454 0,
+ 1125262.545 610979.818 0, 1125557.911 610987.199 0, 1125853.276 610994.598 0, 1126148.641 611002.014 0, 1126444.005 611009.447 0, 1126739.369 611016.898 0, 1127034.732 611024.367 0, 1127330.095 611031.852 0, 1127624.049 611039.32 0, 1127765.53 605476.253 0,
+ 1127907.002 599913.533 0))
+
+POLYGON ((1141800.915 611419.908 0, 1141506.981 611411.61 0, 1141211.64 611403.29 0, 1140916.299 611394.987 0, 1140620.957 611386.702 0, 1140325.615 611378.434 0, 1140030.273 611370.183 0, 1139734.93 611361.95 0, 1139439.586 611353.734 0, 1139144.242 611345.536 0,
+ 1138848.897 611337.354 0, 1138553.552 611329.191 0, 1138258.207 611321.045 0, 1137962.861 611312.916 0, 1137667.515 611304.804 0, 1137372.168 611296.71 0, 1137076.82 611288.633 0, 1136781.472 611280.574 0, 1136486.124 611272.532 0, 1136190.775 611264.507 0,
+ 1135895.426 611256.5 0, 1135600.076 611248.51 0, 1135304.726 611240.538 0, 1135009.375 611232.583 0, 1134712.616 611224.607 0, 1134418.672 611216.725 0, 1134123.32 611208.822 0, 1133827.968 611200.936 0, 1133532.614 611193.068 0, 1133237.261 611185.217 0,
+ 1132941.907 611177.384 0, 1132646.553 611169.568 0, 1132351.198 611161.769 0, 1132055.842 611153.988 0, 1131760.487 611146.224 0, 1131465.13 611138.478 0, 1131169.774 611130.749 0, 1130874.416 611123.037 0, 1130579.059 611115.343 0, 1130283.701 611107.666 0,
+ 1129988.342 611100.006 0, 1129692.983 611092.364 0, 1129397.624 611084.739 0, 1129102.264 611077.132 0, 1128806.904 611069.542 0, 1128511.543 611061.969 0, 1128216.182 611054.414 0, 1127920.82 611046.876 0, 1127624.049 611039.32 0, 1127482.56 616602.728 0,
+ 1127341.062 622166.475 0, 1127637.174 622174.015 0, 1127931.881 622181.536 0, 1128226.587 622189.074 0, 1128521.293 622196.63 0, 1128815.999 622204.203 0, 1129110.704 622211.794 0, 1129405.408 622219.402 0, 1129700.112 622227.027 0, 1129994.816 622234.67 0,
+ 1130289.519 622242.329 0, 1130584.222 622250.007 0, 1130878.924 622257.701 0, 1131173.626 622265.413 0, 1131468.327 622273.143 0, 1131763.028 622280.889 0, 1132057.728 622288.653 0, 1132352.428 622296.434 0, 1132647.128 622304.233 0, 1132941.827 622312.049 0,
+ 1133236.526 622319.883 0, 1133531.224 622327.733 0, 1133825.921 622335.601 0, 1134120.619 622343.487 0, 1134413.911 622351.352 0, 1134710.012 622359.31 0, 1135004.708 622367.247 0, 1135299.403 622375.202 0, 1135594.098 622383.174 0, 1135888.792 622391.163 0,
+ 1136183.486 622399.17 0, 1136478.18 622407.194 0, 1136772.873 622415.236 0, 1137067.565 622423.295 0, 1137362.257 622431.371 0, 1137656.949 622439.464 0, 1137951.64 622447.575 0, 1138246.33 622455.704 0, 1138541.021 622463.849 0, 1138835.71 622472.012 0,
+ 1139130.399 622480.192 0, 1139425.088 622488.39 0, 1139719.776 622496.605 0, 1140014.464 622504.837 0, 1140309.151 622513.087 0, 1140603.838 622521.354 0, 1140898.524 622529.638 0, 1141193.21 622537.94 0, 1141486.492 622546.219 0, 1141643.708 616982.894 0,
+ 1141800.915 611419.908 0))
+
+POLYGON ((1155630.793 622965.925 0, 1155337.534 622956.817 0, 1155042.873 622947.683 0, 1154748.211 622938.566 0, 1154453.549 622929.467 0, 1154158.886 622920.384 0, 1153864.223 622911.32 0, 1153569.559 622902.272 0, 1153274.894 622893.242 0, 1152980.229 622884.229 0,
+ 1152685.564 622875.234 0, 1152390.898 622866.256 0, 1152096.232 622857.295 0, 1151801.565 622848.352 0, 1151506.897 622839.426 0, 1151212.229 622830.517 0, 1150917.56 622821.625 0, 1150622.891 622812.751 0, 1150328.222 622803.895 0, 1150033.552 622795.055 0,
+ 1149738.881 622786.233 0, 1149444.21 622777.429 0, 1149149.538 622768.641 0, 1148854.866 622759.871 0, 1148558.791 622751.077 0, 1148265.52 622742.383 0, 1147970.846 622733.666 0, 1147676.172 622724.965 0, 1147381.497 622716.282 0, 1147086.822 622707.616 0,
+ 1146792.146 622698.967 0, 1146497.47 622690.336 0, 1146202.793 622681.722 0, 1145908.115 622673.126 0, 1145613.438 622664.546 0, 1145318.759 622655.985 0, 1145024.08 622647.44 0, 1144729.401 622638.913 0, 1144434.721 622630.403 0, 1144140.041 622621.911 0,
+ 1143845.36 622613.435 0, 1143550.679 622604.978 0, 1143255.997 622596.537 0, 1142961.315 622588.114 0, 1142666.632 622579.708 0, 1142371.948 622571.32 0, 1142077.265 622562.949 0, 1141782.58 622554.595 0, 1141486.492 622546.219 0, 1141329.267 628109.88 0,
+ 1141172.032 633673.873 0, 1141467.462 633682.23 0, 1141761.491 633690.566 0, 1142055.52 633698.918 0, 1142349.548 633707.288 0, 1142643.576 633715.675 0, 1142937.604 633724.079 0, 1143231.63 633732.501 0, 1143525.657 633740.94 0, 1143819.683 633749.396 0,
+ 1144113.708 633757.87 0, 1144407.733 633766.361 0, 1144701.757 633774.869 0, 1144995.781 633783.394 0, 1145289.805 633791.937 0, 1145583.828 633800.497 0, 1145877.85 633809.075 0, 1146171.872 633817.67 0, 1146465.893 633826.282 0, 1146759.914 633834.911 0,
+ 1147053.935 633843.558 0, 1147347.954 633852.221 0, 1147641.974 633860.903 0, 1147935.993 633869.601 0, 1148228.612 633878.276 0, 1148524.029 633887.05 0, 1148818.046 633895.801 0, 1149112.063 633904.569 0, 1149406.079 633913.354 0, 1149700.095 633922.156 0,
+ 1149994.11 633930.976 0, 1150288.125 633939.813 0, 1150582.139 633948.667 0, 1150876.153 633957.539 0, 1151170.166 633966.428 0, 1151464.178 633975.334 0, 1151758.19 633984.257 0, 1152052.202 633993.198 0, 1152346.213 634002.156 0, 1152640.224 634011.132 0,
+ 1152934.234 634020.125 0, 1153228.243 634029.135 0, 1153522.252 634038.162 0, 1153816.26 634047.207 0, 1154110.268 634056.269 0, 1154404.276 634065.348 0, 1154698.282 634074.445 0, 1154992.289 634083.558 0, 1155284.897 634092.646 0, 1155457.85 628529.12 0,
+ 1155630.793 622965.925 0))
+
+POLYGON ((1169396.522 634551.289 0, 1169103.939 634541.375 0, 1168809.959 634531.43 0, 1168515.979 634521.503 0, 1168221.999 634511.593 0, 1167928.018 634501.701 0, 1167634.036 634491.825 0, 1167340.054 634481.967 0, 1167046.071 634472.127 0, 1166752.088 634462.303 0,
+ 1166458.104 634452.497 0, 1166164.119 634442.709 0, 1165870.134 634432.937 0, 1165576.148 634423.183 0, 1165282.162 634413.446 0, 1164988.175 634403.727 0, 1164694.188 634394.024 0, 1164400.2 634384.339 0, 1164106.211 634374.672 0, 1163812.222 634365.022 0,
+ 1163518.232 634355.389 0, 1163224.242 634345.773 0, 1162930.251 634336.174 0, 1162636.26 634326.593 0, 1162340.871 634316.984 0, 1162048.275 634307.483 0, 1161754.282 634297.954 0, 1161460.289 634288.442 0, 1161166.294 634278.947 0, 1160872.3 634269.47 0,
+ 1160578.304 634260.01 0, 1160284.308 634250.567 0, 1159990.312 634241.142 0, 1159696.315 634231.734 0, 1159402.317 634222.343 0, 1159108.319 634212.97 0, 1158814.321 634203.614 0, 1158520.321 634194.275 0, 1158226.322 634184.953 0, 1157932.321 634175.649 0,
+ 1157638.321 634166.362 0, 1157344.319 634157.092 0, 1157050.317 634147.84 0, 1156756.315 634138.605 0, 1156462.312 634129.387 0, 1156168.308 634120.187 0, 1155874.304 634111.004 0, 1155580.299 634101.838 0, 1155284.897 634092.646 0, 1155111.933 639656.502 0,
+ 1154938.959 645220.683 0, 1155233.704 645229.855 0, 1155527.053 645239 0, 1155820.402 645248.163 0, 1156113.751 645257.342 0, 1156407.099 645266.54 0, 1156700.447 645275.754 0, 1156993.794 645284.986 0, 1157287.14 645294.235 0, 1157580.486 645303.501 0,
+ 1157873.831 645312.785 0, 1158167.176 645322.085 0, 1158460.52 645331.403 0, 1158753.864 645340.739 0, 1159047.207 645350.091 0, 1159340.55 645359.461 0, 1159633.892 645368.848 0, 1159927.233 645378.252 0, 1160220.574 645387.674 0, 1160513.914 645397.113 0,
+ 1160807.254 645406.569 0, 1161100.593 645416.043 0, 1161393.932 645425.533 0, 1161687.27 645435.041 0, 1161979.214 645444.521 0, 1162273.945 645454.109 0, 1162567.281 645463.669 0, 1162860.617 645473.246 0, 1163153.953 645482.84 0, 1163447.287 645492.452 0,
+ 1163740.622 645502.08 0, 1164033.955 645511.726 0, 1164327.288 645521.39 0, 1164620.621 645531.07 0, 1164913.953 645540.768 0, 1165207.284 645550.483 0, 1165500.615 645560.216 0, 1165793.945 645569.966 0, 1166087.275 645579.732 0, 1166380.604 645589.517 0,
+ 1166673.932 645599.318 0, 1166967.26 645609.137 0, 1167260.587 645618.973 0, 1167553.914 645628.826 0, 1167847.24 645638.697 0, 1168140.566 645648.584 0, 1168433.891 645658.489 0, 1168727.215 645668.412 0, 1169019.147 645678.304 0, 1169207.84 640114.634 0,
+ 1169396.522 634551.289 0))
+
+POLYGON ((1183097.986 646175.703 0, 1182806.081 646164.985 0, 1182512.786 646154.234 0, 1182219.49 646143.501 0, 1181926.194 646132.784 0, 1181632.896 646122.085 0, 1181339.599 646111.403 0, 1181046.3 646100.738 0, 1180753.001 646090.091 0, 1180459.702 646079.461 0,
+ 1180166.402 646068.848 0, 1179873.101 646058.252 0, 1179579.799 646047.674 0, 1179286.497 646037.113 0, 1178993.194 646026.569 0, 1178699.891 646016.043 0, 1178406.587 646005.533 0, 1178113.282 645995.041 0, 1177819.977 645984.567 0, 1177526.671 645974.109 0,
+ 1177233.365 645963.669 0, 1176940.058 645953.246 0, 1176646.75 645942.84 0, 1176353.442 645932.452 0, 1176058.742 645922.031 0, 1175766.824 645911.727 0, 1175473.513 645901.39 0, 1175180.203 645891.071 0, 1174886.891 645880.768 0, 1174593.579 645870.484 0,
+ 1174300.267 645860.216 0, 1174006.954 645849.966 0, 1173713.64 645839.733 0, 1173420.326 645829.517 0, 1173127.011 645819.318 0, 1172833.695 645809.137 0, 1172540.379 645798.973 0, 1172247.062 645788.826 0, 1171953.745 645778.697 0, 1171660.427 645768.584 0,
+ 1171367.109 645758.49 0, 1171073.789 645748.412 0, 1170780.47 645738.351 0, 1170487.149 645728.308 0, 1170193.829 645718.282 0, 1169900.507 645708.274 0, 1169607.185 645698.282 0, 1169313.862 645688.308 0, 1169019.147 645678.304 0, 1168830.443 651242.297 0,
+ 1168641.728 656806.609 0, 1168935.785 656816.59 0, 1169228.453 656826.542 0, 1169521.12 656836.511 0, 1169813.787 656846.497 0, 1170106.453 656856.501 0, 1170399.118 656866.522 0, 1170691.783 656876.56 0, 1170984.447 656886.615 0, 1171277.11 656896.687 0,
+ 1171569.773 656906.777 0, 1171862.436 656916.884 0, 1172155.097 656927.008 0, 1172447.759 656937.149 0, 1172740.419 656947.308 0, 1173033.079 656957.484 0, 1173325.738 656967.677 0, 1173618.397 656977.887 0, 1173911.055 656988.114 0, 1174203.713 656998.359 0,
+ 1174496.37 657008.621 0, 1174789.026 657018.9 0, 1175081.682 657029.196 0, 1175374.337 657039.51 0, 1175665.604 657049.792 0, 1175959.646 657060.189 0, 1176252.299 657070.554 0, 1176544.952 657080.936 0, 1176837.604 657091.336 0, 1177130.255 657101.753 0,
+ 1177422.906 657112.187 0, 1177715.556 657122.638 0, 1178008.206 657133.107 0, 1178300.855 657143.593 0, 1178593.504 657154.096 0, 1178886.151 657164.616 0, 1179178.798 657175.154 0, 1179471.445 657185.708 0, 1179764.091 657196.28 0, 1180056.736 657206.87 0,
+ 1180349.381 657217.476 0, 1180642.025 657228.1 0, 1180934.668 657238.74 0, 1181227.311 657249.398 0, 1181519.953 657260.074 0, 1181812.595 657270.766 0, 1182105.236 657281.476 0, 1182397.876 657292.203 0, 1182689.129 657302.896 0, 1182893.563 651739.14 0,
+ 1183097.986 646175.703 0))
+
+POLYGON ((1196735.072 657838.868 0, 1196443.848 657827.352 0, 1196151.239 657815.799 0, 1195858.63 657804.262 0, 1195566.02 657792.743 0, 1195273.409 657781.241 0, 1194980.797 657769.756 0, 1194688.185 657758.288 0, 1194395.572 657746.838 0, 1194102.959 657735.405 0,
+ 1193810.344 657723.989 0, 1193517.73 657712.59 0, 1193225.114 657701.209 0, 1192932.498 657689.845 0, 1192639.881 657678.498 0, 1192347.263 657667.168 0, 1192054.645 657655.855 0, 1191762.026 657644.56 0, 1191469.407 657633.282 0, 1191176.786 657622.021 0,
+ 1190884.165 657610.777 0, 1190591.544 657599.551 0, 1190298.922 657588.342 0, 1190006.299 657577.15 0, 1189712.29 657565.922 0, 1189421.051 657554.817 0, 1189128.426 657543.677 0, 1188835.801 657532.554 0, 1188543.175 657521.448 0, 1188250.548 657510.359 0,
+ 1187957.92 657499.288 0, 1187665.292 657488.234 0, 1187372.664 657477.197 0, 1187080.034 657466.177 0, 1186787.404 657455.174 0, 1186494.773 657444.189 0, 1186202.142 657433.221 0, 1185909.51 657422.27 0, 1185616.877 657411.336 0, 1185324.244 657400.42 0,
+ 1185031.61 657389.521 0, 1184738.976 657378.639 0, 1184446.34 657367.774 0, 1184153.705 657356.926 0, 1183861.068 657346.096 0, 1183568.431 657335.283 0, 1183275.793 657324.487 0, 1182983.155 657313.709 0, 1182689.129 657302.896 0, 1182484.683 662866.968 0,
+ 1182280.226 668431.352 0, 1182573.594 668442.141 0, 1182865.577 668452.895 0, 1183157.56 668463.667 0, 1183449.542 668474.456 0, 1183741.523 668485.262 0, 1184033.504 668496.085 0, 1184325.484 668506.926 0, 1184617.464 668517.783 0, 1184909.443 668528.658 0,
+ 1185201.421 668539.55 0, 1185493.399 668550.459 0, 1185785.376 668561.385 0, 1186077.352 668572.329 0, 1186369.328 668583.29 0, 1186661.303 668594.268 0, 1186953.277 668605.263 0, 1187245.251 668616.275 0, 1187537.224 668627.305 0, 1187829.197 668638.351 0,
+ 1188121.169 668649.415 0, 1188413.14 668660.496 0, 1188705.11 668671.594 0, 1188997.08 668682.71 0, 1189287.667 668693.79 0, 1189581.018 668704.992 0, 1189872.986 668716.159 0, 1190164.953 668727.343 0, 1190456.92 668738.544 0, 1190748.886 668749.763 0,
+ 1191040.851 668760.999 0, 1191332.816 668772.252 0, 1191624.78 668783.522 0, 1191916.743 668794.809 0, 1192208.705 668806.113 0, 1192500.667 668817.435 0, 1192792.629 668828.774 0, 1193084.589 668840.13 0, 1193376.549 668851.503 0, 1193668.509 668862.893 0,
+ 1193960.467 668874.301 0, 1194252.425 668885.725 0, 1194544.382 668897.167 0, 1194836.339 668908.626 0, 1195128.295 668920.103 0, 1195420.25 668931.596 0, 1195712.205 668943.107 0, 1196004.159 668954.635 0, 1196294.731 668966.125 0, 1196514.907 663402.341 0,
+ 1196735.072 657838.868 0))
+
+POLYGON ((1210307.668 669540.489 0, 1210017.128 669528.178 0, 1209725.208 669515.825 0, 1209433.287 669503.49 0, 1209141.365 669491.171 0, 1208849.443 669478.87 0, 1208557.52 669466.586 0, 1208265.596 669454.32 0, 1207973.671 669442.07 0, 1207681.746 669429.838 0,
+ 1207389.82 669417.623 0, 1207097.894 669405.425 0, 1206805.966 669393.244 0, 1206514.038 669381.08 0, 1206222.109 669368.934 0, 1205930.18 669356.805 0, 1205638.25 669344.693 0, 1205346.319 669332.598 0, 1205054.387 669320.52 0, 1204762.455 669308.46 0,
+ 1204470.522 669296.416 0, 1204178.588 669284.39 0, 1203886.653 669272.381 0, 1203594.718 669260.389 0, 1203301.402 669248.358 0, 1203010.846 669236.457 0, 1202718.908 669224.517 0, 1202426.97 669212.594 0, 1202135.032 669200.688 0, 1201843.092 669188.8 0,
+ 1201551.152 669176.928 0, 1201259.211 669165.074 0, 1200967.27 669153.237 0, 1200675.328 669141.417 0, 1200383.385 669129.614 0, 1200091.441 669117.828 0, 1199799.497 669106.06 0, 1199507.552 669094.309 0, 1199215.606 669082.575 0, 1198923.66 669070.858 0,
+ 1198631.713 669059.158 0, 1198339.765 669047.476 0, 1198047.817 669035.811 0, 1197755.868 669024.162 0, 1197463.918 669012.532 0, 1197171.967 669000.918 0, 1196880.016 668989.321 0, 1196588.064 668977.742 0, 1196294.731 668966.125 0, 1196074.541 674530.218 0,
+ 1195854.34 680094.617 0, 1196147.016 680106.208 0, 1196438.313 680117.761 0, 1196729.609 680129.332 0, 1197020.904 680140.92 0, 1197312.199 680152.524 0, 1197603.493 680164.146 0, 1197894.787 680175.786 0, 1198186.079 680187.442 0, 1198477.371 680199.115 0,
+ 1198768.663 680210.806 0, 1199059.953 680222.514 0, 1199351.243 680234.238 0, 1199642.533 680245.98 0, 1199933.821 680257.739 0, 1200225.109 680269.516 0, 1200516.397 680281.309 0, 1200807.683 680293.12 0, 1201098.969 680304.947 0, 1201390.254 680316.792 0,
+ 1201681.538 680328.654 0, 1201972.822 680340.533 0, 1202264.105 680352.43 0, 1202555.388 680364.343 0, 1202845.292 680376.217 0, 1203137.95 680388.222 0, 1203429.23 680400.186 0, 1203720.51 680412.168 0, 1204011.789 680424.168 0, 1204303.067 680436.184 0,
+ 1204594.344 680448.217 0, 1204885.621 680460.268 0, 1205176.897 680472.336 0, 1205468.172 680484.42 0, 1205759.447 680496.523 0, 1206050.721 680508.642 0, 1206341.994 680520.778 0, 1206633.266 680532.931 0, 1206924.538 680545.102 0, 1207215.809 680557.29 0,
+ 1207507.079 680569.495 0, 1207798.349 680581.717 0, 1208089.618 680593.956 0, 1208380.886 680606.212 0, 1208672.153 680618.486 0, 1208963.42 680630.776 0, 1209254.686 680643.084 0, 1209545.951 680655.409 0, 1209835.84 680667.693 0, 1210071.761 675103.938 0,
+ 1210307.668 669540.489 0))
+
+POLYGON ((1223815.664 681280.266 0, 1223525.809 681267.163 0, 1223234.58 681254.015 0, 1222943.35 681240.885 0, 1222652.119 681227.771 0, 1222360.888 681214.675 0, 1222069.655 681201.596 0, 1221778.422 681188.534 0, 1221487.188 681175.489 0, 1221195.954 681162.461 0,
+ 1220904.718 681149.451 0, 1220613.482 681136.457 0, 1220322.245 681123.481 0, 1220031.008 681110.522 0, 1219739.769 681097.58 0, 1219448.53 681084.655 0, 1219157.29 681071.747 0, 1218866.049 681058.857 0, 1218574.808 681045.983 0, 1218283.566 681033.127 0,
+ 1217992.323 681020.288 0, 1217701.079 681007.466 0, 1217409.834 680994.661 0, 1217118.589 680981.873 0, 1216825.968 680969.042 0, 1216536.096 680956.349 0, 1216244.849 680943.613 0, 1215953.6 680930.894 0, 1215662.351 680918.192 0, 1215371.102 680905.507 0,
+ 1215079.851 680892.839 0, 1214788.6 680880.188 0, 1214497.348 680867.555 0, 1214206.095 680854.938 0, 1213914.842 680842.339 0, 1213623.587 680829.757 0, 1213332.332 680817.192 0, 1213041.077 680804.645 0, 1212749.82 680792.114 0, 1212458.563 680779.601 0,
+ 1212167.305 680767.104 0, 1211876.047 680754.625 0, 1211584.787 680742.163 0, 1211293.527 680729.718 0, 1211002.266 680717.29 0, 1210711.005 680704.88 0, 1210419.742 680692.486 0, 1210128.479 680680.11 0, 1209835.84 680667.693 0, 1209599.906 686231.749 0,
+ 1209363.96 691796.105 0, 1209655.941 691808.494 0, 1209946.549 691820.843 0, 1210237.157 691833.208 0, 1210527.763 691845.591 0, 1210818.369 691857.991 0, 1211108.974 691870.408 0, 1211399.579 691882.842 0, 1211690.182 691895.293 0, 1211980.785 691907.761 0,
+ 1212271.387 691920.246 0, 1212561.989 691932.749 0, 1212852.59 691945.268 0, 1213143.19 691957.805 0, 1213433.789 691970.359 0, 1213724.387 691982.93 0, 1214014.985 691995.518 0, 1214305.582 692008.123 0, 1214596.178 692020.745 0, 1214886.774 692033.384 0,
+ 1215177.369 692046.04 0, 1215467.963 692058.714 0, 1215758.556 692071.404 0, 1216049.149 692084.112 0, 1216338.369 692096.777 0, 1216630.332 692109.579 0, 1216920.922 692122.338 0, 1217211.511 692135.114 0, 1217502.1 692147.907 0, 1217792.688 692160.717 0,
+ 1218083.276 692173.545 0, 1218373.862 692186.389 0, 1218664.448 692199.251 0, 1218955.033 692212.129 0, 1219245.617 692225.025 0, 1219536.201 692237.938 0, 1219826.784 692250.868 0, 1220117.366 692263.815 0, 1220407.947 692276.78 0, 1220698.527 692289.761 0,
+ 1220989.107 692302.759 0, 1221279.686 692315.775 0, 1221570.264 692328.807 0, 1221860.841 692341.857 0, 1222151.418 692354.924 0, 1222441.994 692368.008 0, 1222732.569 692381.109 0, 1223023.143 692394.227 0, 1223312.347 692407.3 0, 1223564.012 686843.634 0,
+ 1223815.664 681280.266 0))
+
+POLYGON ((1237258.951 693057.9 0, 1236969.784 693044.01 0, 1236679.248 693030.071 0, 1236388.711 693016.149 0, 1236098.173 693002.244 0, 1235807.634 692988.357 0, 1235517.095 692974.486 0, 1235226.555 692960.632 0, 1234936.014 692946.796 0, 1234645.472 692932.977 0,
+ 1234354.929 692919.175 0, 1234064.386 692905.389 0, 1233773.842 692891.621 0, 1233483.297 692877.87 0, 1233192.751 692864.137 0, 1232902.204 692850.42 0, 1232611.657 692836.72 0, 1232321.108 692823.038 0, 1232030.559 692809.372 0, 1231740.009 692795.724 0,
+ 1231449.459 692782.093 0, 1231158.907 692768.479 0, 1230868.355 692754.882 0, 1230577.802 692741.302 0, 1230285.879 692727.675 0, 1229996.693 692714.193 0, 1229706.138 692700.665 0, 1229415.581 692687.153 0, 1229125.024 692673.659 0, 1228834.466 692660.182 0,
+ 1228543.908 692646.721 0, 1228253.348 692633.278 0, 1227962.788 692619.852 0, 1227672.227 692606.443 0, 1227381.665 692593.052 0, 1227091.102 692579.677 0, 1226800.539 692566.319 0, 1226509.975 692552.979 0, 1226219.41 692539.656 0, 1225928.844 692526.349 0,
+ 1225638.277 692513.06 0, 1225347.71 692499.788 0, 1225057.142 692486.533 0, 1224766.573 692473.295 0, 1224476.003 692460.074 0, 1224185.433 692446.871 0, 1223894.862 692433.684 0, 1223604.29 692420.515 0, 1223312.347 692407.3 0, 1223060.668 697971.262 0,
+ 1222808.976 703535.516 0, 1223100.26 703548.701 0, 1223390.177 703561.841 0, 1223680.094 703574.998 0, 1223970.009 703588.171 0, 1224259.924 703601.362 0, 1224549.838 703614.57 0, 1224839.751 703627.795 0, 1225129.663 703641.038 0, 1225419.575 703654.297 0,
+ 1225709.486 703667.573 0, 1225999.396 703680.866 0, 1226289.305 703694.177 0, 1226579.213 703707.504 0, 1226869.121 703720.849 0, 1227159.028 703734.21 0, 1227448.934 703747.589 0, 1227738.839 703760.985 0, 1228028.744 703774.398 0, 1228318.648 703787.828 0,
+ 1228608.55 703801.274 0, 1228898.453 703814.738 0, 1229188.354 703828.219 0, 1229478.255 703841.718 0, 1229766.788 703855.169 0, 1230058.053 703868.765 0, 1230347.951 703882.314 0, 1230637.849 703895.881 0, 1230927.745 703909.464 0, 1231217.641 703923.064 0,
+ 1231507.536 703936.682 0, 1231797.43 703950.317 0, 1232087.324 703963.968 0, 1232377.216 703977.637 0, 1232667.108 703991.323 0, 1232956.999 704005.026 0, 1233246.889 704018.746 0, 1233536.778 704032.483 0, 1233826.667 704046.237 0, 1234116.555 704060.008 0,
+ 1234406.442 704073.796 0, 1234696.328 704087.601 0, 1234986.213 704101.423 0, 1235276.097 704115.263 0, 1235565.981 704129.119 0, 1235855.864 704142.993 0, 1236145.746 704156.883 0, 1236435.627 704170.791 0, 1236724.143 704184.65 0, 1236991.554 698621.129 0,
+ 1237258.951 693057.9 0))
+
+POLYGON ((1250637.421 704873.094 0, 1250348.943 704858.419 0, 1250059.102 704843.693 0, 1249769.261 704828.983 0, 1249479.418 704814.291 0, 1249189.575 704799.616 0, 1248899.731 704784.957 0, 1248609.885 704770.316 0, 1248320.04 704755.692 0, 1248030.193 704741.085 0,
+ 1247740.345 704726.495 0, 1247450.497 704711.922 0, 1247160.647 704697.366 0, 1246870.797 704682.827 0, 1246580.946 704668.305 0, 1246291.094 704653.801 0, 1246001.241 704639.313 0, 1245711.388 704624.842 0, 1245421.533 704610.389 0, 1245131.678 704595.952 0,
+ 1244841.822 704581.533 0, 1244551.964 704567.131 0, 1244262.107 704552.745 0, 1243972.248 704538.377 0, 1243681.025 704523.958 0, 1243392.528 704509.692 0, 1243102.667 704495.375 0, 1242812.804 704481.075 0, 1242522.942 704466.792 0, 1242233.078 704452.526 0,
+ 1241943.213 704438.277 0, 1241653.348 704424.045 0, 1241363.481 704409.83 0, 1241073.614 704395.633 0, 1240783.746 704381.452 0, 1240493.877 704367.289 0, 1240204.008 704353.142 0, 1239914.137 704339.013 0, 1239624.266 704324.9 0, 1239334.394 704310.805 0,
+ 1239044.521 704296.727 0, 1238754.647 704282.666 0, 1238464.772 704268.622 0, 1238174.897 704254.595 0, 1237885.021 704240.585 0, 1237595.144 704226.592 0, 1237305.266 704212.616 0, 1237015.387 704198.657 0, 1236724.143 704184.65 0, 1236456.718 709748.459 0,
+ 1236189.279 715312.553 0, 1236479.865 715326.529 0, 1236769.089 715340.456 0, 1237058.312 715354.4 0, 1237347.534 715368.362 0, 1237636.755 715382.34 0, 1237925.976 715396.335 0, 1238215.195 715410.348 0, 1238504.414 715424.377 0, 1238793.632 715438.423 0,
+ 1239082.849 715452.487 0, 1239372.066 715466.567 0, 1239661.281 715480.665 0, 1239950.496 715494.779 0, 1240239.71 715508.911 0, 1240528.923 715523.059 0, 1240818.135 715537.225 0, 1241107.347 715551.407 0, 1241396.557 715565.607 0, 1241685.767 715579.824 0,
+ 1241974.976 715594.057 0, 1242264.184 715608.308 0, 1242553.391 715622.576 0, 1242842.597 715636.86 0, 1243130.442 715651.095 0, 1243421.007 715665.481 0, 1243710.211 715679.817 0, 1243999.414 715694.17 0, 1244288.616 715708.539 0, 1244577.817 715722.926 0,
+ 1244867.018 715737.33 0, 1245156.218 715751.751 0, 1245445.416 715766.189 0, 1245734.614 715780.644 0, 1246023.811 715795.116 0, 1246313.007 715809.605 0, 1246602.203 715824.111 0, 1246891.397 715838.634 0, 1247180.591 715853.174 0, 1247469.784 715867.731 0,
+ 1247758.975 715882.305 0, 1248048.166 715896.896 0, 1248337.357 715911.504 0, 1248626.546 715926.129 0, 1248915.734 715940.772 0, 1249204.922 715955.431 0, 1249494.109 715970.107 0, 1249783.295 715984.8 0, 1250071.12 715999.441 0, 1250354.278 710436.125 0,
+ 1250637.421 704873.094 0))
+
+POLYGON ((1263950.966 716725.546 0, 1263663.181 716710.091 0, 1263374.037 716694.581 0, 1263084.893 716679.088 0, 1262795.748 716663.612 0, 1262506.602 716648.153 0, 1262217.455 716632.711 0, 1261928.308 716617.285 0, 1261639.159 716601.877 0, 1261350.009 716586.486 0,
+ 1261060.859 716571.112 0, 1260771.708 716555.755 0, 1260482.555 716540.415 0, 1260193.402 716525.092 0, 1259904.248 716509.786 0, 1259615.093 716494.497 0, 1259325.937 716479.226 0, 1259036.78 716463.971 0, 1258747.623 716448.733 0, 1258458.464 716433.512 0,
+ 1258169.305 716418.308 0, 1257880.144 716403.121 0, 1257590.983 716387.951 0, 1257301.821 716372.799 0, 1257011.3 716357.592 0, 1256723.494 716342.544 0, 1256434.329 716327.442 0, 1256145.163 716312.358 0, 1255855.997 716297.29 0, 1255566.829 716282.239 0,
+ 1255277.661 716267.206 0, 1254988.491 716252.189 0, 1254699.321 716237.189 0, 1254410.15 716222.207 0, 1254120.978 716207.241 0, 1253831.806 716192.293 0, 1253542.632 716177.361 0, 1253253.457 716162.447 0, 1252964.282 716147.549 0, 1252675.106 716132.669 0,
+ 1252385.928 716117.805 0, 1252096.75 716102.959 0, 1251807.571 716088.13 0, 1251518.392 716073.317 0, 1251229.211 716058.522 0, 1250940.029 716043.743 0, 1250650.847 716028.982 0, 1250361.664 716014.238 0, 1250071.12 715999.441 0, 1249787.949 721563.039 0,
+ 1249504.763 727126.915 0, 1249794.648 727141.678 0, 1250083.177 727156.389 0, 1250371.704 727171.117 0, 1250660.231 727185.862 0, 1250948.757 727200.624 0, 1251237.281 727215.403 0, 1251525.805 727230.198 0, 1251814.329 727245.011 0, 1252102.851 727259.841 0,
+ 1252391.372 727274.688 0, 1252679.893 727289.551 0, 1252968.412 727304.432 0, 1253256.931 727319.33 0, 1253545.449 727334.245 0, 1253833.966 727349.176 0, 1254122.482 727364.125 0, 1254410.997 727379.091 0, 1254699.512 727394.073 0, 1254988.025 727409.073 0,
+ 1255276.538 727424.089 0, 1255565.049 727439.123 0, 1255853.56 727454.173 0, 1256142.07 727469.241 0, 1256429.224 727484.255 0, 1256719.087 727499.427 0, 1257007.595 727514.545 0, 1257296.101 727529.681 0, 1257584.606 727544.833 0, 1257873.111 727560.003 0,
+ 1258161.615 727575.189 0, 1258450.118 727590.392 0, 1258738.619 727605.613 0, 1259027.12 727620.85 0, 1259315.621 727636.104 0, 1259604.12 727651.376 0, 1259892.618 727666.664 0, 1260181.116 727681.969 0, 1260469.612 727697.292 0, 1260758.108 727712.631 0,
+ 1261046.602 727727.987 0, 1261335.096 727743.36 0, 1261623.589 727758.75 0, 1261912.081 727774.157 0, 1262200.572 727789.582 0, 1262489.062 727805.023 0, 1262777.552 727820.481 0, 1263066.04 727835.956 0, 1263353.174 727851.375 0, 1263652.077 722288.321 0,
+ 1263950.966 716725.546 0))
+
+POLYGON ((1277199.482 728614.956 0, 1276912.391 728598.726 0, 1276623.948 728582.436 0, 1276335.503 728566.163 0, 1276047.058 728549.906 0, 1275758.612 728533.667 0, 1275470.164 728517.445 0, 1275181.716 728501.24 0, 1274893.267 728485.052 0, 1274604.817 728468.881 0,
+ 1274316.365 728452.727 0, 1274027.913 728436.589 0, 1273739.46 728420.469 0, 1273451.006 728404.366 0, 1273162.551 728388.28 0, 1272874.096 728372.21 0, 1272585.639 728356.158 0, 1272297.181 728340.123 0, 1272008.722 728324.104 0, 1271720.263 728308.103 0,
+ 1271431.802 728292.118 0, 1271143.34 728276.151 0, 1270854.878 728260.2 0, 1270566.415 728244.267 0, 1270276.598 728228.276 0, 1269989.485 728212.451 0, 1269701.019 728196.568 0, 1269412.552 728180.703 0, 1269124.084 728164.854 0, 1268835.615 728149.023 0,
+ 1268547.145 728133.208 0, 1268258.674 728117.41 0, 1267970.202 728101.63 0, 1267681.729 728085.866 0, 1267393.256 728070.119 0, 1267104.781 728054.389 0, 1266816.305 728038.677 0, 1266527.829 728022.981 0, 1266239.352 728007.302 0, 1265950.873 727991.64 0,
+ 1265662.394 727975.995 0, 1265373.914 727960.367 0, 1265085.433 727944.757 0, 1264796.951 727929.163 0, 1264508.468 727913.586 0, 1264219.984 727898.026 0, 1263931.5 727882.483 0, 1263643.014 727866.957 0, 1263353.174 727851.375 0, 1263054.255 733414.703 0,
+ 1262755.322 738978.303 0, 1263044.505 738993.849 0, 1263332.335 739009.34 0, 1263620.165 739024.848 0, 1263907.994 739040.372 0, 1264195.822 739055.914 0, 1264483.649 739071.472 0, 1264771.475 739087.048 0, 1265059.301 739102.64 0, 1265347.125 739118.25 0,
+ 1265634.948 739133.876 0, 1265922.771 739149.519 0, 1266210.592 739165.179 0, 1266498.413 739180.856 0, 1266786.233 739196.55 0, 1267074.051 739212.261 0, 1267361.869 739227.989 0, 1267649.686 739243.734 0, 1267937.502 739259.496 0, 1268225.317 739275.275 0,
+ 1268513.131 739291.07 0, 1268800.945 739306.883 0, 1269088.757 739322.713 0, 1269376.568 739338.559 0, 1269663.029 739354.348 0, 1269952.188 739370.303 0, 1270239.997 739386.2 0, 1270527.804 739402.114 0, 1270815.611 739418.046 0, 1271103.417 739433.994 0,
+ 1271391.222 739449.959 0, 1271679.025 739465.941 0, 1271966.828 739481.94 0, 1272254.63 739497.956 0, 1272542.431 739513.989 0, 1272830.231 739530.038 0, 1273118.031 739546.105 0, 1273405.829 739562.189 0, 1273693.626 739578.289 0, 1273981.422 739594.407 0,
+ 1274269.218 739610.541 0, 1274557.012 739626.693 0, 1274844.806 739642.861 0, 1275132.598 739659.046 0, 1275420.39 739675.249 0, 1275708.18 739691.468 0, 1275995.97 739707.704 0, 1276283.758 739723.957 0, 1276570.198 739740.151 0, 1276884.848 734177.418 0,
+ 1277199.482 728614.956 0))
+
+POLYGON ((1290382.866 740541.025 0, 1290096.471 740524.022 0, 1289808.73 740506.956 0, 1289520.987 740489.907 0, 1289233.243 740472.874 0, 1288945.499 740455.859 0, 1288657.753 740438.861 0, 1288370.006 740421.88 0, 1288082.259 740404.915 0, 1287794.51 740387.968 0,
+ 1287506.761 740371.037 0, 1287219.01 740354.124 0, 1286931.258 740337.227 0, 1286643.506 740320.347 0, 1286355.752 740303.484 0, 1286067.998 740286.638 0, 1285780.242 740269.81 0, 1285492.485 740252.998 0, 1285204.728 740236.203 0, 1284916.969 740219.424 0,
+ 1284629.21 740202.663 0, 1284341.449 740185.919 0, 1284053.688 740169.192 0, 1283765.925 740152.481 0, 1283476.815 740135.71 0, 1283190.397 740119.111 0, 1282902.632 740102.452 0, 1282614.866 740085.809 0, 1282327.098 740069.184 0, 1282039.33 740052.575 0,
+ 1281751.56 740035.983 0, 1281463.79 740019.408 0, 1281176.019 740002.85 0, 1280888.247 739986.309 0, 1280600.473 739969.785 0, 1280312.699 739953.278 0, 1280024.924 739936.788 0, 1279737.148 739920.315 0, 1279449.371 739903.858 0, 1279161.592 739887.419 0,
+ 1278873.813 739870.997 0, 1278586.033 739854.591 0, 1278298.252 739838.202 0, 1278010.47 739821.831 0, 1277722.687 739805.476 0, 1277434.904 739789.138 0, 1277147.119 739772.818 0, 1276859.333 739756.514 0, 1276570.198 739740.151 0, 1276255.533 745303.151 0,
+ 1275940.853 750866.415 0, 1276229.33 750882.741 0, 1276516.461 750899.008 0, 1276803.591 750915.292 0, 1277090.72 750931.592 0, 1277377.848 750947.91 0, 1277664.975 750964.244 0, 1277952.101 750980.595 0, 1278239.226 750996.964 0, 1278526.351 751013.349 0,
+ 1278813.474 751029.751 0, 1279100.596 751046.169 0, 1279387.717 751062.605 0, 1279674.838 751079.058 0, 1279961.957 751095.527 0, 1280249.076 751112.014 0, 1280536.193 751128.517 0, 1280823.309 751145.037 0, 1281110.425 751161.575 0, 1281397.54 751178.129 0,
+ 1281684.653 751194.7 0, 1281971.766 751211.287 0, 1282258.877 751227.892 0, 1282545.988 751244.514 0, 1282831.754 751261.075 0, 1283120.206 751277.808 0, 1283407.314 751294.48 0, 1283694.42 751311.169 0, 1283981.526 751327.876 0, 1284268.631 751344.599 0,
+ 1284555.735 751361.339 0, 1284842.837 751378.095 0, 1285129.939 751394.869 0, 1285417.04 751411.66 0, 1285704.14 751428.467 0, 1285991.239 751445.292 0, 1286278.336 751462.133 0, 1286565.433 751478.991 0, 1286852.529 751495.866 0, 1287139.624 751512.758 0,
+ 1287426.718 751529.667 0, 1287713.811 751546.593 0, 1288000.902 751563.536 0, 1288287.993 751580.495 0, 1288575.083 751597.472 0, 1288862.172 751614.465 0, 1289149.26 751631.476 0, 1289436.347 751648.503 0, 1289722.09 751665.467 0, 1290052.486 746103.114 0,
+ 1290382.866 740541.025 0))
+
+POLYGON ((1303501.014 752503.45 0, 1303215.318 752485.679 0, 1302928.28 752467.84 0, 1302641.242 752450.019 0, 1302354.202 752432.215 0, 1302067.161 752414.427 0, 1301780.119 752396.657 0, 1301493.077 752378.903 0, 1301206.033 752361.166 0, 1300918.988 752343.446 0,
+ 1300631.942 752325.743 0, 1300344.895 752308.057 0, 1300057.847 752290.388 0, 1299770.798 752272.735 0, 1299483.748 752255.1 0, 1299196.696 752237.481 0, 1298909.644 752219.88 0, 1298622.591 752202.295 0, 1298335.537 752184.727 0, 1298048.481 752167.176 0,
+ 1297761.425 752149.642 0, 1297474.368 752132.125 0, 1297187.309 752114.624 0, 1296900.25 752097.141 0, 1296611.848 752079.593 0, 1296326.128 752062.225 0, 1296039.065 752044.792 0, 1295752.002 752027.376 0, 1295464.937 752009.977 0, 1295177.872 751992.595 0,
+ 1294890.805 751975.23 0, 1294603.737 751957.882 0, 1294316.669 751940.551 0, 1294029.599 751923.236 0, 1293742.528 751905.939 0, 1293455.457 751888.658 0, 1293168.384 751871.394 0, 1292881.31 751854.147 0, 1292594.236 751836.917 0, 1292307.16 751819.704 0,
+ 1292020.083 751802.508 0, 1291733.005 751785.329 0, 1291445.926 751768.166 0, 1291158.847 751751.021 0, 1290871.766 751733.892 0, 1290584.684 751716.781 0, 1290297.601 751699.686 0, 1290010.517 751682.608 0, 1289722.09 751665.467 0, 1289391.678 757228.081 0,
+ 1289061.252 762790.952 0, 1289349.021 762808.054 0, 1289635.45 762825.092 0, 1289921.878 762842.148 0, 1290208.305 762859.221 0, 1290494.731 762876.31 0, 1290781.156 762893.417 0, 1291067.58 762910.54 0, 1291354.003 762927.68 0, 1291640.425 762944.837 0,
+ 1291926.846 762962.011 0, 1292213.266 762979.202 0, 1292499.685 762996.409 0, 1292786.103 763013.633 0, 1293072.52 763030.875 0, 1293358.936 763048.133 0, 1293645.351 763065.408 0, 1293931.765 763082.7 0, 1294218.177 763100.008 0, 1294504.589 763117.334 0,
+ 1294791 763134.676 0, 1295077.41 763152.035 0, 1295363.819 763169.411 0, 1295650.226 763186.804 0, 1295935.295 763204.133 0, 1296223.039 763221.641 0, 1296509.443 763239.084 0, 1296795.847 763256.545 0, 1297082.25 763274.022 0, 1297368.651 763291.516 0,
+ 1297655.052 763309.027 0, 1297941.451 763326.555 0, 1298227.85 763344.1 0, 1298514.247 763361.661 0, 1298800.644 763379.24 0, 1299087.039 763396.835 0, 1299373.433 763414.447 0, 1299659.827 763432.076 0, 1299946.219 763449.722 0, 1300232.61 763467.384 0,
+ 1300519 763485.064 0, 1300805.389 763502.76 0, 1301091.778 763520.473 0, 1301378.165 763538.204 0, 1301664.551 763555.95 0, 1301950.936 763573.714 0, 1302237.32 763591.495 0, 1302523.702 763609.292 0, 1302808.747 763627.024 0, 1303154.889 758065.108 0,
+ 1303501.014 752503.45 0))
+
+POLYGON ((1316553.826 764501.931 0, 1316268.83 764483.395 0, 1315982.499 764464.788 0, 1315696.166 764446.198 0, 1315409.832 764427.626 0, 1315123.498 764409.07 0, 1314837.162 764390.53 0, 1314550.825 764372.008 0, 1314264.487 764353.503 0, 1313978.148 764335.014 0,
+ 1313691.808 764316.543 0, 1313405.466 764298.088 0, 1313119.124 764279.65 0, 1312832.781 764261.229 0, 1312546.436 764242.824 0, 1312260.09 764224.437 0, 1311973.744 764206.066 0, 1311687.396 764187.713 0, 1311401.047 764169.376 0, 1311114.697 764151.056 0,
+ 1310828.346 764132.752 0, 1310541.994 764114.466 0, 1310255.641 764096.197 0, 1309969.287 764077.944 0, 1309681.595 764059.623 0, 1309396.575 764041.489 0, 1309110.217 764023.287 0, 1308823.859 764005.102 0, 1308537.499 763986.934 0, 1308251.139 763968.782 0,
+ 1307964.777 763950.648 0, 1307678.414 763932.53 0, 1307392.05 763914.429 0, 1307105.685 763896.345 0, 1306819.319 763878.278 0, 1306532.952 763860.228 0, 1306246.584 763842.194 0, 1305960.215 763824.177 0, 1305673.845 763806.178 0, 1305387.473 763788.195 0,
+ 1305101.101 763770.229 0, 1304814.728 763752.279 0, 1304528.353 763734.347 0, 1304241.978 763716.432 0, 1303955.601 763698.533 0, 1303669.224 763680.651 0, 1303382.845 763662.786 0, 1303096.465 763644.938 0, 1302808.747 763627.024 0, 1302462.59 769189.192 0,
+ 1302116.417 774751.611 0, 1302403.477 774769.484 0, 1302689.202 774787.292 0, 1302974.926 774805.116 0, 1303260.649 774822.957 0, 1303546.371 774840.814 0, 1303832.091 774858.689 0, 1304117.811 774876.58 0, 1304403.53 774894.488 0, 1304689.247 774912.413 0,
+ 1304974.964 774930.355 0, 1305260.679 774948.314 0, 1305546.394 774966.289 0, 1305832.107 774984.282 0, 1306117.82 775002.291 0, 1306403.531 775020.317 0, 1306689.241 775038.359 0, 1306974.95 775056.419 0, 1307260.658 775074.495 0, 1307546.365 775092.588 0,
+ 1307832.071 775110.698 0, 1308117.776 775128.825 0, 1308403.48 775146.969 0, 1308689.183 775165.129 0, 1308973.551 775183.221 0, 1309260.585 775201.5 0, 1309546.284 775219.711 0, 1309831.983 775237.939 0, 1310117.68 775256.183 0, 1310403.377 775274.445 0,
+ 1310689.072 775292.723 0, 1310974.766 775311.018 0, 1311260.459 775329.33 0, 1311546.151 775347.658 0, 1311831.842 775366.004 0, 1312117.532 775384.366 0, 1312403.221 775402.745 0, 1312688.908 775421.141 0, 1312974.595 775439.553 0, 1313260.28 775457.983 0,
+ 1313545.965 775476.429 0, 1313831.648 775494.892 0, 1314117.33 775513.372 0, 1314403.012 775531.869 0, 1314688.692 775550.382 0, 1314974.371 775568.913 0, 1315260.049 775587.46 0, 1315545.725 775606.024 0, 1315830.069 775624.518 0, 1316191.956 770063.1 0,
+ 1316553.826 764501.931 0))
+
+POLYGON ((1329541.201 776536.165 0, 1329256.908 776516.868 0, 1328971.285 776497.497 0, 1328685.66 776478.142 0, 1328400.035 776458.805 0, 1328114.408 776439.485 0, 1327828.781 776420.181 0, 1327543.152 776400.894 0, 1327257.522 776381.624 0, 1326971.89 776362.37 0,
+ 1326686.258 776343.134 0, 1326400.625 776323.914 0, 1326114.99 776304.711 0, 1325829.354 776285.525 0, 1325543.718 776266.356 0, 1325258.08 776247.204 0, 1324972.441 776228.068 0, 1324686.8 776208.949 0, 1324401.159 776189.847 0, 1324115.517 776170.762 0,
+ 1323829.873 776151.693 0, 1323544.228 776132.642 0, 1323258.582 776113.607 0, 1322972.936 776094.589 0, 1322685.957 776075.5 0, 1322401.638 776056.604 0, 1322115.988 776037.636 0, 1321830.337 776018.685 0, 1321544.684 775999.752 0, 1321259.03 775980.835 0,
+ 1320973.376 775961.934 0, 1320687.72 775943.051 0, 1320402.063 775924.184 0, 1320116.405 775905.334 0, 1319830.746 775886.501 0, 1319545.085 775867.685 0, 1319259.424 775848.886 0, 1318973.761 775830.103 0, 1318688.098 775811.337 0, 1318402.433 775792.588 0,
+ 1318116.767 775773.856 0, 1317831.1 775755.141 0, 1317545.432 775736.443 0, 1317259.763 775717.761 0, 1316974.093 775699.096 0, 1316688.422 775680.448 0, 1316402.749 775661.817 0, 1316117.076 775643.202 0, 1315830.069 775624.518 0, 1315468.167 781186.183 0,
+ 1315106.249 786748.09 0, 1315392.597 786766.732 0, 1315677.616 786785.303 0, 1315962.634 786803.892 0, 1316247.651 786822.497 0, 1316532.666 786841.119 0, 1316817.681 786859.758 0, 1317102.694 786878.414 0, 1317387.706 786897.086 0, 1317672.717 786915.776 0,
+ 1317957.727 786934.481 0, 1318242.736 786953.204 0, 1318527.744 786971.944 0, 1318812.751 786990.7 0, 1319097.756 787009.473 0, 1319382.761 787028.263 0, 1319667.764 787047.07 0, 1319952.767 787065.893 0, 1320237.768 787084.733 0, 1320522.768 787103.59 0,
+ 1320807.767 787122.464 0, 1321092.765 787141.354 0, 1321377.761 787160.262 0, 1321662.757 787179.186 0, 1321946.424 787198.038 0, 1322232.745 787217.084 0, 1322517.737 787236.058 0, 1322802.729 787255.05 0, 1323087.719 787274.057 0, 1323372.707 787293.082 0,
+ 1323657.695 787312.124 0, 1323942.682 787331.182 0, 1324227.668 787350.257 0, 1324512.652 787369.349 0, 1324797.635 787388.457 0, 1325082.618 787407.583 0, 1325367.599 787426.725 0, 1325652.579 787445.884 0, 1325937.557 787465.059 0, 1326222.535 787484.252 0,
+ 1326507.512 787503.461 0, 1326792.487 787522.687 0, 1327077.461 787541.93 0, 1327362.435 787561.189 0, 1327647.407 787580.465 0, 1327932.377 787599.758 0, 1328217.347 787619.068 0, 1328502.316 787638.395 0, 1328785.957 787657.648 0, 1329163.587 782096.785 0,
+ 1329541.201 776536.165 0))
+
+POLYGON ((1342463.041 788605.85 0, 1342179.453 788585.795 0, 1341894.54 788565.664 0, 1341609.626 788545.549 0, 1341324.711 788525.451 0, 1341039.795 788505.37 0, 1340754.877 788485.305 0, 1340469.958 788465.257 0, 1340185.038 788445.226 0, 1339900.117 788425.212 0,
+ 1339615.195 788405.215 0, 1339330.271 788385.234 0, 1339045.347 788365.27 0, 1338760.421 788345.323 0, 1338475.494 788325.392 0, 1338190.565 788305.479 0, 1337905.636 788285.582 0, 1337620.706 788265.702 0, 1337335.774 788245.839 0, 1337050.841 788225.992 0,
+ 1336765.907 788206.162 0, 1336480.972 788186.349 0, 1336196.035 788166.553 0, 1335911.098 788146.774 0, 1335624.834 788126.919 0, 1335341.219 788107.265 0, 1335056.278 788087.536 0, 1334771.336 788067.824 0, 1334486.393 788048.128 0, 1334201.448 788028.449 0,
+ 1333916.502 788008.787 0, 1333631.555 787989.142 0, 1333346.608 787969.513 0, 1333061.658 787949.902 0, 1332776.708 787930.307 0, 1332491.757 787910.728 0, 1332206.804 787891.167 0, 1331921.85 787871.622 0, 1331636.895 787852.094 0, 1331351.939 787832.583 0,
+ 1331066.982 787813.089 0, 1330782.024 787793.611 0, 1330497.064 787774.151 0, 1330212.104 787754.707 0, 1329927.142 787735.279 0, 1329642.179 787715.869 0, 1329357.215 787696.475 0, 1329072.25 787677.098 0, 1328785.957 787657.648 0, 1328408.311 793218.75 0,
+ 1328030.648 798780.088 0, 1328316.283 798799.493 0, 1328600.594 798818.826 0, 1328884.903 798838.175 0, 1329169.212 798857.541 0, 1329453.519 798876.923 0, 1329737.825 798896.323 0, 1330022.13 798915.739 0, 1330306.433 798935.172 0, 1330590.736 798954.621 0,
+ 1330875.037 798974.087 0, 1331159.338 798993.57 0, 1331443.637 799013.07 0, 1331727.935 799032.587 0, 1332012.232 799052.12 0, 1332296.527 799071.67 0, 1332580.822 799091.236 0, 1332865.115 799110.82 0, 1333149.407 799130.42 0, 1333433.699 799150.037 0,
+ 1333717.988 799169.67 0, 1334002.277 799189.321 0, 1334286.565 799208.988 0, 1334570.851 799228.672 0, 1334853.815 799248.281 0, 1335139.421 799268.09 0, 1335423.704 799287.824 0, 1335707.985 799307.574 0, 1335992.266 799327.342 0, 1336276.546 799347.126 0,
+ 1336560.824 799366.927 0, 1336845.101 799386.745 0, 1337129.377 799406.579 0, 1337413.652 799426.43 0, 1337697.926 799446.298 0, 1337982.198 799466.183 0, 1338266.469 799486.084 0, 1338550.739 799506.002 0, 1338835.008 799525.937 0, 1339119.276 799545.888 0,
+ 1339403.543 799565.856 0, 1339687.808 799585.841 0, 1339972.073 799605.843 0, 1340256.336 799625.862 0, 1340540.598 799645.897 0, 1340824.858 799665.949 0, 1341109.118 799686.017 0, 1341393.376 799706.103 0, 1341676.313 799726.111 0, 1342069.685 794165.863 0,
+ 1342463.041 788605.85 0))
+
+POLYGON ((1355319.25 800710.683 0, 1355036.369 800689.875 0, 1354752.168 800668.986 0, 1354467.966 800648.115 0, 1354183.763 800627.26 0, 1353899.559 800606.422 0, 1353615.354 800585.6 0, 1353331.147 800564.795 0, 1353046.939 800544.007 0, 1352762.73 800523.236 0,
+ 1352478.52 800502.482 0, 1352194.309 800481.744 0, 1351910.096 800461.023 0, 1351625.882 800440.318 0, 1351341.667 800419.631 0, 1351057.45 800398.96 0, 1350773.233 800378.306 0, 1350489.014 800357.668 0, 1350204.794 800337.047 0, 1349920.573 800316.443 0,
+ 1349636.35 800295.856 0, 1349352.127 800275.286 0, 1349067.902 800254.732 0, 1348783.676 800234.195 0, 1348498.129 800213.579 0, 1348215.22 800193.171 0, 1347930.99 800172.684 0, 1347646.759 800152.214 0, 1347362.527 800131.76 0, 1347078.294 800111.324 0,
+ 1346794.059 800090.904 0, 1346509.823 800070.5 0, 1346225.587 800050.114 0, 1345941.348 800029.744 0, 1345657.109 800009.391 0, 1345372.869 799989.055 0, 1345088.627 799968.735 0, 1344804.384 799948.432 0, 1344520.14 799928.146 0, 1344235.895 799907.877 0,
+ 1343951.648 799887.624 0, 1343667.4 799867.388 0, 1343383.152 799847.169 0, 1343098.901 799826.966 0, 1342814.65 799806.781 0, 1342530.398 799786.612 0, 1342246.144 799766.459 0, 1341961.889 799746.324 0, 1341676.313 799726.111 0, 1341282.924 805286.592 0,
+ 1340889.518 810847.3 0, 1341174.438 810867.466 0, 1341458.038 810887.555 0, 1341741.637 810907.661 0, 1342025.235 810927.784 0, 1342308.831 810947.923 0, 1342592.427 810968.079 0, 1342876.021 810988.252 0, 1343159.614 811008.441 0, 1343443.206 811028.647 0,
+ 1343726.797 811048.87 0, 1344010.387 811069.109 0, 1344293.975 811089.365 0, 1344577.562 811109.638 0, 1344861.148 811129.928 0, 1345144.733 811150.234 0, 1345428.317 811170.557 0, 1345711.899 811190.896 0, 1345995.48 811211.253 0, 1346279.06 811231.626 0,
+ 1346562.639 811252.015 0, 1346846.217 811272.421 0, 1347129.793 811292.845 0, 1347413.368 811313.284 0, 1347695.626 811333.646 0, 1347980.515 811354.214 0, 1348264.087 811374.704 0, 1348547.657 811395.21 0, 1348831.226 811415.733 0, 1349114.794 811436.273 0,
+ 1349398.361 811456.83 0, 1349681.926 811477.403 0, 1349965.491 811497.993 0, 1350249.054 811518.599 0, 1350532.616 811539.223 0, 1350816.176 811559.863 0, 1351099.736 811580.519 0, 1351383.294 811601.193 0, 1351666.851 811621.883 0, 1351950.407 811642.59 0,
+ 1352233.962 811663.313 0, 1352517.515 811684.053 0, 1352801.067 811704.81 0, 1353084.618 811725.583 0, 1353368.168 811746.374 0, 1353651.716 811767.181 0, 1353935.264 811788.004 0, 1354218.81 811808.844 0, 1354501.039 811829.605 0, 1354910.153 806270.03 0,
+ 1355319.25 800710.683 0))
+
+POLYGON ((1368109.73 812850.36 0, 1367827.558 812828.802 0, 1367544.072 812807.161 0, 1367260.585 812785.536 0, 1366977.097 812763.929 0, 1366693.607 812742.337 0, 1366410.116 812720.763 0, 1366126.623 812699.205 0, 1365843.129 812677.664 0, 1365559.635 812656.139 0,
+ 1365276.138 812634.632 0, 1364992.641 812613.141 0, 1364709.142 812591.666 0, 1364425.642 812570.208 0, 1364142.141 812548.767 0, 1363858.638 812527.343 0, 1363575.135 812505.935 0, 1363291.63 812484.544 0, 1363008.123 812463.17 0, 1362724.616 812441.813 0,
+ 1362441.107 812420.472 0, 1362157.597 812399.147 0, 1361874.086 812377.84 0, 1361590.573 812356.549 0, 1361305.745 812335.176 0, 1361023.544 812314.017 0, 1360740.028 812292.777 0, 1360456.51 812271.553 0, 1360172.991 812250.345 0, 1359889.471 812229.154 0,
+ 1359605.95 812207.98 0, 1359322.428 812186.823 0, 1359038.904 812165.682 0, 1358755.379 812144.558 0, 1358471.852 812123.451 0, 1358188.325 812102.361 0, 1357904.796 812081.287 0, 1357621.266 812060.229 0, 1357337.735 812039.189 0, 1357054.202 812018.165 0,
+ 1356770.669 811997.158 0, 1356487.134 811976.167 0, 1356203.597 811955.194 0, 1355920.06 811934.237 0, 1355636.521 811913.296 0, 1355352.981 811892.372 0, 1355069.44 811871.465 0, 1354785.898 811850.575 0, 1354501.039 811829.605 0, 1354091.909 817389.404 0,
+ 1353682.763 822949.425 0, 1353966.964 822970.347 0, 1354249.852 822991.189 0, 1354532.738 823012.048 0, 1354815.624 823032.923 0, 1355098.508 823053.815 0, 1355381.391 823074.724 0, 1355664.273 823095.65 0, 1355947.153 823116.592 0, 1356230.032 823137.55 0,
+ 1356512.91 823158.526 0, 1356795.787 823179.518 0, 1357078.663 823200.526 0, 1357361.537 823221.551 0, 1357644.41 823242.593 0, 1357927.282 823263.652 0, 1358210.153 823284.727 0, 1358493.022 823305.819 0, 1358775.89 823326.927 0, 1359058.757 823348.053 0,
+ 1359341.623 823369.194 0, 1359624.487 823390.353 0, 1359907.35 823411.528 0, 1360190.212 823432.72 0, 1360471.762 823453.83 0, 1360755.932 823475.153 0, 1361038.79 823496.395 0, 1361321.647 823517.653 0, 1361604.503 823538.928 0, 1361887.357 823560.22 0,
+ 1362170.21 823581.528 0, 1362453.062 823602.853 0, 1362735.913 823624.195 0, 1363018.762 823645.553 0, 1363301.61 823666.928 0, 1363584.457 823688.319 0, 1363867.303 823709.728 0, 1364150.147 823731.152 0, 1364432.99 823752.594 0, 1364715.832 823774.052 0,
+ 1364998.673 823795.527 0, 1365281.512 823817.018 0, 1365564.35 823838.526 0, 1365847.187 823860.051 0, 1366130.022 823881.592 0, 1366412.856 823903.15 0, 1366695.689 823924.725 0, 1366978.521 823946.316 0, 1367260.042 823967.824 0, 1367684.894 818408.982 0,
+ 1368109.73 812850.36 0))
+
+POLYGON ((1380834.389 825024.577 0, 1380552.928 825002.274 0, 1380270.159 824979.884 0, 1379987.388 824957.51 0, 1379704.616 824935.153 0, 1379421.842 824912.813 0, 1379139.067 824890.489 0, 1378856.291 824868.182 0, 1378573.514 824845.892 0, 1378290.735 824823.618 0,
+ 1378007.955 824801.361 0, 1377725.174 824779.12 0, 1377442.391 824756.897 0, 1377159.607 824734.689 0, 1376876.822 824712.499 0, 1376594.035 824690.325 0, 1376311.247 824668.168 0, 1376028.458 824646.027 0, 1375745.667 824623.903 0, 1375462.876 824601.796 0,
+ 1375180.083 824579.705 0, 1374897.288 824557.631 0, 1374614.492 824535.574 0, 1374331.695 824513.533 0, 1374047.589 824491.407 0, 1373766.098 824469.501 0, 1373483.297 824447.511 0, 1373200.494 824425.537 0, 1372917.691 824403.579 0, 1372634.886 824381.638 0,
+ 1372352.08 824359.714 0, 1372069.273 824337.806 0, 1371786.464 824315.915 0, 1371503.654 824294.041 0, 1371220.843 824272.183 0, 1370938.03 824250.342 0, 1370655.217 824228.518 0, 1370372.402 824206.71 0, 1370089.585 824184.919 0, 1369806.768 824163.145 0,
+ 1369523.949 824141.387 0, 1369241.129 824119.646 0, 1368958.307 824097.922 0, 1368675.484 824076.214 0, 1368392.66 824054.523 0, 1368109.835 824032.848 0, 1367827.008 824011.19 0, 1367544.18 823989.549 0, 1367260.042 823967.824 0, 1366835.172 829526.884 0,
+ 1366410.286 835086.158 0, 1366693.768 835107.832 0, 1366975.941 835129.423 0, 1367258.113 835151.031 0, 1367540.284 835172.656 0, 1367822.454 835194.297 0, 1368104.622 835215.954 0, 1368386.789 835237.628 0, 1368668.955 835259.319 0, 1368951.12 835281.027 0,
+ 1369233.283 835302.751 0, 1369515.445 835324.491 0, 1369797.606 835346.249 0, 1370079.765 835368.022 0, 1370361.923 835389.813 0, 1370644.08 835411.62 0, 1370926.236 835433.444 0, 1371208.39 835455.284 0, 1371490.543 835477.141 0, 1371772.695 835499.014 0,
+ 1372054.845 835520.904 0, 1372336.994 835542.811 0, 1372619.142 835564.734 0, 1372901.289 835586.674 0, 1373182.129 835608.529 0, 1373465.578 835630.604 0, 1373747.721 835652.594 0, 1374029.862 835674.6 0, 1374312.002 835696.623 0, 1374594.141 835718.663 0,
+ 1374876.278 835740.719 0, 1375158.415 835762.792 0, 1375440.55 835784.881 0, 1375722.683 835806.987 0, 1376004.815 835829.11 0, 1376286.946 835851.249 0, 1376569.076 835873.405 0, 1376851.205 835895.577 0, 1377133.332 835917.766 0, 1377415.457 835939.972 0,
+ 1377697.582 835962.194 0, 1377979.705 835984.433 0, 1378261.827 836006.688 0, 1378543.947 836028.96 0, 1378826.067 836051.249 0, 1379108.185 836073.554 0, 1379390.301 836095.876 0, 1379672.416 836118.214 0, 1379953.226 836140.466 0, 1380393.816 830582.415 0,
+ 1380834.389 825024.577 0))
+
+POLYGON ((1393493.133 837233.031 0, 1393212.385 837209.986 0, 1392930.334 837186.851 0, 1392648.282 837163.732 0, 1392366.228 837140.63 0, 1392084.173 837117.544 0, 1391802.116 837094.475 0, 1391520.059 837071.423 0, 1391237.999 837048.387 0, 1390955.939 837025.368 0,
+ 1390673.877 837002.365 0, 1390391.814 836979.379 0, 1390109.749 836956.41 0, 1389827.683 836933.457 0, 1389545.616 836910.521 0, 1389263.547 836887.601 0, 1388981.477 836864.698 0, 1388699.406 836841.812 0, 1388417.333 836818.942 0, 1388135.259 836796.089 0,
+ 1387853.184 836773.253 0, 1387571.107 836750.433 0, 1387289.029 836727.629 0, 1387006.949 836704.842 0, 1386723.565 836681.967 0, 1386442.786 836659.319 0, 1386160.703 836636.582 0, 1385878.618 836613.861 0, 1385596.532 836591.158 0, 1385314.445 836568.471 0,
+ 1385032.356 836545.8 0, 1384750.266 836523.146 0, 1384468.174 836500.509 0, 1384186.081 836477.888 0, 1383903.987 836455.284 0, 1383621.892 836432.696 0, 1383339.795 836410.125 0, 1383057.697 836387.571 0, 1382775.598 836365.033 0, 1382493.497 836342.512 0,
+ 1382211.395 836320.008 0, 1381929.291 836297.52 0, 1381647.187 836275.049 0, 1381365.08 836252.594 0, 1381082.973 836230.156 0, 1380800.864 836207.734 0, 1380518.754 836185.329 0, 1380236.643 836162.941 0, 1379953.226 836140.466 0, 1379512.619 841698.727 0,
+ 1379071.996 847257.195 0, 1379354.756 847279.618 0, 1379636.213 847301.954 0, 1379917.669 847324.307 0, 1380199.123 847346.676 0, 1380480.576 847369.062 0, 1380762.028 847391.465 0, 1381043.478 847413.884 0, 1381324.928 847436.32 0, 1381606.375 847458.772 0,
+ 1381887.822 847481.241 0, 1382169.267 847503.726 0, 1382450.711 847526.228 0, 1382732.153 847548.747 0, 1383013.595 847571.282 0, 1383295.034 847593.834 0, 1383576.473 847616.402 0, 1383857.91 847638.987 0, 1384139.346 847661.588 0, 1384420.781 847684.206 0,
+ 1384702.214 847706.841 0, 1384983.646 847729.492 0, 1385265.076 847752.16 0, 1385546.505 847774.844 0, 1385826.633 847797.44 0, 1386109.36 847820.262 0, 1386390.785 847842.996 0, 1386672.209 847865.746 0, 1386953.631 847888.513 0, 1387235.053 847911.297 0,
+ 1387516.472 847934.097 0, 1387797.891 847956.914 0, 1388079.308 847979.747 0, 1388360.724 848002.597 0, 1388642.138 848025.463 0, 1388923.551 848048.346 0, 1389204.963 848071.246 0, 1389486.374 848094.162 0, 1389767.783 848117.095 0, 1390049.19 848140.044 0,
+ 1390330.597 848163.01 0, 1390612.002 848185.992 0, 1390893.405 848208.991 0, 1391174.808 848232.007 0, 1391456.209 848255.039 0, 1391737.608 848278.087 0, 1392019.007 848301.152 0, 1392300.403 848324.234 0, 1392580.5 848347.226 0, 1393036.825 842790.025 0,
+ 1393493.133 837233.031 0))
+
+POLYGON ((1406085.871 849475.417 0, 1405805.838 849451.634 0, 1405524.507 849427.757 0, 1405243.175 849403.897 0, 1404961.842 849380.053 0, 1404680.507 849356.226 0, 1404399.171 849332.416 0, 1404117.833 849308.622 0, 1403836.494 849284.845 0, 1403555.154 849261.084 0,
+ 1403273.812 849237.34 0, 1402992.469 849213.612 0, 1402711.125 849189.901 0, 1402429.779 849166.207 0, 1402148.431 849142.529 0, 1401867.083 849118.868 0, 1401585.732 849095.223 0, 1401304.381 849071.594 0, 1401023.028 849047.983 0, 1400741.674 849024.388 0,
+ 1400460.318 849000.809 0, 1400178.961 848977.247 0, 1399897.602 848953.702 0, 1399616.243 848930.173 0, 1399333.584 848906.552 0, 1399053.519 848883.165 0, 1398772.155 848859.685 0, 1398490.789 848836.223 0, 1398209.423 848812.777 0, 1397928.054 848789.347 0,
+ 1397646.685 848765.934 0, 1397365.314 848742.538 0, 1397083.942 848719.158 0, 1396802.568 848695.795 0, 1396521.193 848672.448 0, 1396239.817 848649.118 0, 1395958.439 848625.804 0, 1395677.06 848602.507 0, 1395395.679 848579.226 0, 1395114.297 848555.963 0,
+ 1394832.914 848532.715 0, 1394551.53 848509.484 0, 1394270.144 848486.27 0, 1393988.756 848463.072 0, 1393707.367 848439.891 0, 1393425.977 848416.727 0, 1393144.586 848393.579 0, 1392863.193 848370.447 0, 1392580.5 848347.226 0, 1392124.159 853904.629 0,
+ 1391667.801 859462.231 0, 1391949.836 859485.398 0, 1392230.575 859508.476 0, 1392511.312 859531.57 0, 1392792.048 859554.681 0, 1393072.783 859577.808 0, 1393353.516 859600.952 0, 1393634.248 859624.112 0, 1393914.978 859647.289 0, 1394195.707 859670.482 0,
+ 1394476.435 859693.692 0, 1394757.161 859716.918 0, 1395037.886 859740.161 0, 1395318.61 859763.42 0, 1395599.332 859786.696 0, 1395880.053 859809.989 0, 1396160.772 859833.298 0, 1396441.49 859856.623 0, 1396722.207 859879.965 0, 1397002.923 859903.324 0,
+ 1397283.637 859926.699 0, 1397564.349 859950.091 0, 1397845.06 859973.499 0, 1398125.77 859996.923 0, 1398405.184 860020.256 0, 1398687.186 860043.822 0, 1398967.892 860067.296 0, 1399248.596 860090.787 0, 1399529.299 860114.294 0, 1399810 860137.818 0,
+ 1400090.701 860161.358 0, 1400371.399 860184.915 0, 1400652.097 860208.488 0, 1400932.793 860232.078 0, 1401213.488 860255.685 0, 1401494.181 860279.308 0, 1401774.873 860302.947 0, 1402055.563 860326.603 0, 1402336.252 860350.275 0, 1402616.94 860373.964 0,
+ 1402897.626 860397.67 0, 1403178.311 860421.392 0, 1403458.995 860445.13 0, 1403739.677 860468.885 0, 1404020.357 860492.657 0, 1404301.037 860516.445 0, 1404581.714 860540.25 0, 1404862.391 860564.071 0, 1405141.773 860587.799 0, 1405613.83 855031.508 0,
+ 1406085.871 849475.417 0))
+
+POLYGON ((1418612.511 861751.429 0, 1418333.195 861726.911 0, 1418052.587 861702.297 0, 1417771.978 861677.7 0, 1417491.367 861653.119 0, 1417210.754 861628.554 0, 1416930.141 861604.006 0, 1416649.525 861579.475 0, 1416368.908 861554.96 0, 1416088.29 861530.462 0,
+ 1415807.671 861505.98 0, 1415527.05 861481.515 0, 1415246.427 861457.066 0, 1414965.803 861432.633 0, 1414685.178 861408.218 0, 1414404.551 861383.818 0, 1414123.923 861359.436 0, 1413843.293 861335.069 0, 1413562.662 861310.72 0, 1413282.029 861286.386 0,
+ 1413001.395 861262.07 0, 1412720.76 861237.769 0, 1412440.123 861213.486 0, 1412159.485 861189.219 0, 1411877.553 861164.856 0, 1411598.204 861140.734 0, 1411317.561 861116.516 0, 1411036.917 861092.315 0, 1410756.272 861068.131 0, 1410475.625 861043.963 0,
+ 1410194.977 861019.811 0, 1409914.327 860995.676 0, 1409633.676 860971.558 0, 1409353.023 860947.456 0, 1409072.37 860923.37 0, 1408791.714 860899.301 0, 1408511.057 860875.249 0, 1408230.399 860851.213 0, 1407949.74 860827.194 0, 1407669.079 860803.191 0,
+ 1407388.416 860779.204 0, 1407107.752 860755.235 0, 1406827.087 860731.281 0, 1406546.42 860707.345 0, 1406265.752 860683.424 0, 1405985.083 860659.521 0, 1405704.412 860635.633 0, 1405423.74 860611.763 0, 1405141.773 860587.799 0, 1404669.699 866144.284 0,
+ 1404197.609 871700.961 0, 1404478.919 871724.869 0, 1404758.937 871748.684 0, 1405038.954 871772.516 0, 1405318.969 871796.364 0, 1405598.983 871820.228 0, 1405878.995 871844.109 0, 1406159.007 871868.007 0, 1406439.016 871891.921 0, 1406719.025 871915.851 0,
+ 1406999.032 871939.798 0, 1407279.037 871963.761 0, 1407559.041 871987.741 0, 1407839.044 872011.737 0, 1408119.045 872035.75 0, 1408399.045 872059.78 0, 1408679.044 872083.825 0, 1408959.041 872107.888 0, 1409239.036 872131.966 0, 1409519.031 872156.062 0,
+ 1409799.023 872180.173 0, 1410079.015 872204.302 0, 1410359.005 872228.446 0, 1410638.993 872252.607 0, 1410917.691 872276.674 0, 1411198.966 872300.979 0, 1411478.95 872325.19 0, 1411758.933 872349.417 0, 1412038.915 872373.66 0, 1412318.895 872397.92 0,
+ 1412598.873 872422.197 0, 1412878.85 872446.49 0, 1413158.826 872470.799 0, 1413438.8 872495.125 0, 1413718.773 872519.468 0, 1413998.745 872543.827 0, 1414278.715 872568.202 0, 1414558.683 872592.594 0, 1414838.65 872617.002 0, 1415118.616 872641.427 0,
+ 1415398.58 872665.868 0, 1415678.543 872690.326 0, 1415958.504 872714.8 0, 1416238.464 872739.291 0, 1416518.423 872763.798 0, 1416798.38 872788.322 0, 1417078.335 872812.862 0, 1417358.289 872837.419 0, 1417636.954 872861.879 0, 1418124.741 867306.558 0,
+ 1418612.511 861751.429 0))
+
+POLYGON ((1431072.966 874060.761 0, 1430794.369 874035.514 0, 1430514.486 874010.166 0, 1430234.601 873984.835 0, 1429954.714 873959.521 0, 1429674.826 873934.223 0, 1429394.936 873908.941 0, 1429115.045 873883.676 0, 1428835.153 873858.427 0, 1428555.259 873833.195 0,
+ 1428275.363 873807.979 0, 1427995.466 873782.78 0, 1427715.568 873757.598 0, 1427435.668 873732.431 0, 1427155.766 873707.281 0, 1426875.863 873682.148 0, 1426595.959 873657.031 0, 1426316.053 873631.931 0, 1426036.145 873606.847 0, 1425756.237 873581.78 0,
+ 1425476.326 873556.729 0, 1425196.414 873531.694 0, 1424916.501 873506.676 0, 1424636.586 873481.675 0, 1424355.384 873456.575 0, 1424076.752 873431.721 0, 1423796.833 873406.769 0, 1423516.913 873381.834 0, 1423236.991 873356.914 0, 1422957.067 873332.012 0,
+ 1422677.142 873307.126 0, 1422397.215 873282.256 0, 1422117.288 873257.403 0, 1421837.358 873232.566 0, 1421557.427 873207.746 0, 1421277.495 873182.942 0, 1420997.561 873158.155 0, 1420717.626 873133.384 0, 1420437.689 873108.629 0, 1420157.751 873083.892 0,
+ 1419877.811 873059.17 0, 1419597.87 873034.465 0, 1419317.928 873009.777 0, 1419037.984 872985.105 0, 1418758.038 872960.449 0, 1418478.091 872935.81 0, 1418198.143 872911.188 0, 1417918.193 872886.582 0, 1417636.954 872861.879 0, 1417149.151 878417.387 0,
+ 1416661.331 883973.08 0, 1416941.913 883997.725 0, 1417221.209 884022.273 0, 1417500.504 884046.838 0, 1417779.796 884071.42 0, 1418059.088 884096.018 0, 1418338.378 884120.632 0, 1418617.667 884145.263 0, 1418896.954 884169.91 0, 1419176.239 884194.574 0,
+ 1419455.524 884219.254 0, 1419734.806 884243.95 0, 1420014.088 884268.663 0, 1420293.367 884293.393 0, 1420572.646 884318.138 0, 1420851.923 884342.901 0, 1421131.198 884367.679 0, 1421410.472 884392.475 0, 1421689.745 884417.286 0, 1421969.016 884442.114 0,
+ 1422248.286 884466.959 0, 1422527.554 884491.82 0, 1422806.821 884516.697 0, 1423086.086 884541.591 0, 1423364.066 884566.386 0, 1423644.612 884591.428 0, 1423923.873 884616.371 0, 1424203.132 884641.33 0, 1424482.39 884666.306 0, 1424761.647 884691.299 0,
+ 1425040.902 884716.308 0, 1425320.155 884741.333 0, 1425599.407 884766.375 0, 1425878.658 884791.433 0, 1426157.907 884816.507 0, 1426437.154 884841.598 0, 1426716.4 884866.706 0, 1426995.645 884891.83 0, 1427274.888 884916.97 0, 1427554.13 884942.127 0,
+ 1427833.37 884967.3 0, 1428112.609 884992.49 0, 1428391.846 885017.696 0, 1428671.082 885042.918 0, 1428950.316 885068.157 0, 1429229.549 885093.413 0, 1429508.78 885118.684 0, 1429788.01 885143.973 0, 1430065.956 885169.161 0, 1430569.469 879614.869 0,
+ 1431072.966 874060.761 0))
+
+POLYGON ((1443467.148 886403.108 0, 1443189.272 886377.134 0, 1442910.115 886351.057 0, 1442630.956 886324.997 0, 1442351.796 886298.953 0, 1442072.634 886272.925 0, 1441793.471 886246.914 0, 1441514.306 886220.919 0, 1441235.139 886194.94 0, 1440955.971 886168.978 0,
+ 1440676.802 886143.033 0, 1440397.631 886117.104 0, 1440118.458 886091.191 0, 1439839.284 886065.295 0, 1439560.109 886039.415 0, 1439280.931 886013.551 0, 1439001.753 885987.704 0, 1438722.573 885961.874 0, 1438443.391 885936.06 0, 1438164.208 885910.262 0,
+ 1437885.023 885884.481 0, 1437605.837 885858.716 0, 1437326.649 885832.967 0, 1437047.46 885807.235 0, 1436766.988 885781.402 0, 1436489.077 885755.821 0, 1436209.883 885730.138 0, 1435930.688 885704.472 0, 1435651.491 885678.822 0, 1435372.292 885653.189 0,
+ 1435093.093 885627.572 0, 1434813.891 885601.971 0, 1434534.688 885576.387 0, 1434255.484 885550.82 0, 1433976.278 885525.268 0, 1433697.071 885499.734 0, 1433417.862 885474.215 0, 1433138.651 885448.713 0, 1432859.44 885423.228 0, 1432580.226 885397.759 0,
+ 1432301.011 885372.306 0, 1432021.795 885346.87 0, 1431742.577 885321.451 0, 1431463.358 885296.047 0, 1431184.137 885270.66 0, 1430904.914 885245.29 0, 1430625.691 885219.936 0, 1430346.465 885194.598 0, 1430065.956 885169.161 0, 1429562.426 890723.633 0,
+ 1429058.881 896278.281 0, 1429338.733 896303.659 0, 1429617.304 896328.937 0, 1429895.874 896354.232 0, 1430174.443 896379.543 0, 1430453.01 896404.87 0, 1430731.575 896430.214 0, 1431010.14 896455.574 0, 1431288.702 896480.951 0, 1431567.263 896506.344 0,
+ 1431845.823 896531.753 0, 1432124.381 896557.179 0, 1432402.937 896582.621 0, 1432681.492 896608.08 0, 1432960.046 896633.555 0, 1433238.598 896659.046 0, 1433517.149 896684.554 0, 1433795.698 896710.078 0, 1434074.245 896735.618 0, 1434352.791 896761.175 0,
+ 1434631.336 896786.749 0, 1434909.879 896812.338 0, 1435188.42 896837.945 0, 1435466.96 896863.567 0, 1435744.221 896889.088 0, 1436024.036 896914.861 0, 1436302.571 896940.533 0, 1436581.105 896966.221 0, 1436859.638 896991.926 0, 1437138.169 897017.647 0,
+ 1437416.698 897043.384 0, 1437695.226 897069.138 0, 1437973.753 897094.908 0, 1438252.278 897120.694 0, 1438530.801 897146.497 0, 1438809.323 897172.316 0, 1439087.843 897198.152 0, 1439366.362 897224.004 0, 1439644.879 897249.872 0, 1439923.395 897275.757 0,
+ 1440201.909 897301.658 0, 1440480.422 897327.576 0, 1440758.933 897353.51 0, 1441037.443 897379.46 0, 1441315.951 897405.427 0, 1441594.458 897431.41 0, 1441872.963 897457.41 0, 1442151.466 897483.426 0, 1442428.691 897509.339 0, 1442947.928 891956.135 0,
+ 1443467.148 886403.108 0))
+
+POLYGON ((1455794.971 898778.164 0, 1455517.818 898751.467 0, 1455239.389 898724.665 0, 1454960.959 898697.878 0, 1454682.526 898671.108 0, 1454404.093 898644.355 0, 1454125.658 898617.618 0, 1453847.221 898590.897 0, 1453568.782 898564.193 0, 1453290.342 898537.505 0,
+ 1453011.901 898510.833 0, 1452733.458 898484.178 0, 1452455.013 898457.539 0, 1452176.567 898430.917 0, 1451898.119 898404.311 0, 1451619.67 898377.721 0, 1451341.219 898351.148 0, 1451062.766 898324.591 0, 1450784.312 898298.051 0, 1450505.856 898271.527 0,
+ 1450227.399 898245.019 0, 1449948.941 898218.528 0, 1449670.48 898192.053 0, 1449392.018 898165.594 0, 1449112.279 898139.031 0, 1448835.09 898112.726 0, 1448556.623 898086.317 0, 1448278.155 898059.924 0, 1447999.686 898033.547 0, 1447721.215 898007.187 0,
+ 1447442.742 897980.843 0, 1447164.268 897954.516 0, 1446885.792 897928.205 0, 1446607.314 897901.91 0, 1446328.835 897875.632 0, 1446050.355 897849.37 0, 1445771.873 897823.125 0, 1445493.389 897796.896 0, 1445214.904 897770.683 0, 1444936.418 897744.487 0,
+ 1444657.929 897718.307 0, 1444379.44 897692.144 0, 1444100.948 897665.996 0, 1443822.455 897639.866 0, 1443543.961 897613.751 0, 1443265.465 897587.654 0, 1442986.968 897561.572 0, 1442708.469 897535.507 0, 1442428.691 897509.339 0, 1441909.439 903062.714 0,
+ 1441390.17 908616.259 0, 1441669.291 908642.366 0, 1441947.136 908668.37 0, 1442224.98 908694.39 0, 1442502.822 908720.426 0, 1442780.663 908746.48 0, 1443058.502 908772.549 0, 1443336.339 908798.635 0, 1443614.175 908824.737 0, 1443892.01 908850.855 0,
+ 1444169.843 908876.99 0, 1444447.674 908903.141 0, 1444725.504 908929.308 0, 1445003.333 908955.492 0, 1445281.159 908981.693 0, 1445558.985 909007.909 0, 1445836.808 909034.142 0, 1446114.63 909060.391 0, 1446392.451 909086.657 0, 1446670.27 909112.939 0,
+ 1446948.088 909139.237 0, 1447225.904 909165.552 0, 1447503.718 909191.883 0, 1447781.531 909218.23 0, 1448058.07 909244.473 0, 1448337.152 909270.974 0, 1448614.96 909297.37 0, 1448892.767 909323.783 0, 1449170.572 909350.212 0, 1449448.376 909376.658 0,
+ 1449726.178 909403.119 0, 1450003.978 909429.598 0, 1450281.777 909456.092 0, 1450559.574 909482.603 0, 1450837.37 909509.13 0, 1451115.164 909535.674 0, 1451392.957 909562.234 0, 1451670.748 909588.81 0, 1451948.537 909615.402 0, 1452226.325 909642.011 0,
+ 1452504.112 909668.637 0, 1452781.897 909695.278 0, 1453059.68 909721.936 0, 1453337.462 909748.611 0, 1453615.242 909775.302 0, 1453893.02 909802.009 0, 1454170.797 909828.732 0, 1454448.573 909855.472 0, 1454725.075 909882.105 0, 1455260.031 904330.05 0,
+ 1455794.971 898778.164 0))
+
+POLYGON ((1468056.35 911185.62 0, 1467779.922 911158.206 0, 1467502.223 911130.681 0, 1467224.523 911103.173 0, 1466946.821 911075.681 0, 1466669.117 911048.206 0, 1466391.412 911020.747 0, 1466113.705 910993.304 0, 1465835.997 910965.878 0, 1465558.287 910938.468 0,
+ 1465280.575 910911.074 0, 1465002.862 910883.697 0, 1464725.147 910856.336 0, 1464447.43 910828.991 0, 1464169.712 910801.663 0, 1463891.993 910774.351 0, 1463614.271 910747.055 0, 1463336.548 910719.776 0, 1463058.824 910692.513 0, 1462781.098 910665.267 0,
+ 1462503.37 910638.037 0, 1462225.641 910610.823 0, 1461947.91 910583.625 0, 1461670.177 910556.444 0, 1461391.173 910529.155 0, 1461114.707 910502.131 0, 1460836.97 910474.999 0, 1460559.231 910447.883 0, 1460281.49 910420.783 0, 1460003.748 910393.7 0,
+ 1459726.005 910366.634 0, 1459448.259 910339.583 0, 1459170.512 910312.549 0, 1458892.764 910285.531 0, 1458615.014 910258.53 0, 1458337.262 910231.545 0, 1458059.509 910204.576 0, 1457781.754 910177.624 0, 1457503.998 910150.688 0, 1457226.24 910123.769 0,
+ 1456948.48 910096.865 0, 1456670.719 910069.978 0, 1456392.956 910043.108 0, 1456115.192 910016.254 0, 1455837.426 909989.416 0, 1455559.658 909962.594 0, 1455281.889 909935.789 0, 1455004.119 909909 0, 1454725.075 909882.105 0, 1454190.103 915434.325 0,
+ 1453655.115 920986.706 0, 1453933.502 921013.538 0, 1454210.619 921040.264 0, 1454487.735 921067.006 0, 1454764.849 921093.764 0, 1455041.961 921120.539 0, 1455319.072 921147.33 0, 1455596.181 921174.137 0, 1455873.289 921200.961 0, 1456150.395 921227.801 0,
+ 1456427.499 921254.657 0, 1456704.602 921281.53 0, 1456981.703 921308.418 0, 1457258.803 921335.324 0, 1457535.901 921362.245 0, 1457812.998 921389.183 0, 1458090.093 921416.137 0, 1458367.186 921443.107 0, 1458644.278 921470.094 0, 1458921.368 921497.097 0,
+ 1459198.457 921524.117 0, 1459475.544 921551.152 0, 1459752.629 921578.204 0, 1460029.713 921605.273 0, 1460305.528 921632.233 0, 1460583.876 921659.458 0, 1460860.955 921686.575 0, 1461138.032 921713.709 0, 1461415.108 921740.859 0, 1461692.182 921768.025 0,
+ 1461969.255 921795.207 0, 1462246.326 921822.406 0, 1462523.396 921849.621 0, 1462800.463 921876.852 0, 1463077.53 921904.1 0, 1463354.594 921931.364 0, 1463631.657 921958.644 0, 1463908.719 921985.941 0, 1464185.779 922013.254 0, 1464462.837 922040.583 0,
+ 1464739.893 922067.928 0, 1465016.948 922095.29 0, 1465294.002 922122.668 0, 1465571.054 922150.063 0, 1465848.104 922177.474 0, 1466125.152 922204.901 0, 1466402.199 922232.344 0, 1466679.245 922259.804 0, 1466955.022 922287.154 0, 1467505.694 916736.307 0,
+ 1468056.35 911185.62 0))
+
+POLYGON ((1480251.202 923625.171 0, 1479975.501 923597.042 0, 1479698.534 923568.799 0, 1479421.566 923540.574 0, 1479144.596 923512.364 0, 1478867.624 923484.171 0, 1478590.651 923455.993 0, 1478313.676 923427.833 0, 1478036.699 923399.688 0, 1477759.721 923371.56 0,
+ 1477482.741 923343.448 0, 1477205.76 923315.353 0, 1476928.776 923287.274 0, 1476651.792 923259.211 0, 1476374.805 923231.164 0, 1476097.817 923203.134 0, 1475820.827 923175.12 0, 1475543.836 923147.122 0, 1475266.843 923119.141 0, 1474989.848 923091.175 0,
+ 1474712.851 923063.227 0, 1474435.853 923035.294 0, 1474158.854 923007.378 0, 1473881.852 922979.478 0, 1473603.585 922951.467 0, 1473327.845 922923.727 0, 1473050.839 922895.876 0, 1472773.831 922868.041 0, 1472496.821 922840.223 0, 1472219.81 922812.421 0,
+ 1471942.797 922784.635 0, 1471665.783 922756.866 0, 1471388.767 922729.113 0, 1471111.749 922701.376 0, 1470834.73 922673.655 0, 1470557.709 922645.951 0, 1470280.686 922618.263 0, 1470003.662 922590.591 0, 1469726.636 922562.936 0, 1469449.609 922535.297 0,
+ 1469172.579 922507.674 0, 1468895.549 922480.068 0, 1468618.516 922452.478 0, 1468341.482 922424.904 0, 1468064.447 922397.347 0, 1467787.41 922369.805 0, 1467510.371 922342.28 0, 1467233.33 922314.772 0, 1466955.022 922287.154 0, 1466404.335 927838.158 0,
+ 1465853.632 933389.316 0, 1466131.284 933416.868 0, 1466407.671 933444.312 0, 1466684.056 933471.772 0, 1466960.44 933499.248 0, 1467236.822 933526.741 0, 1467513.203 933554.25 0, 1467789.582 933581.775 0, 1468065.959 933609.316 0, 1468342.335 933636.873 0,
+ 1468618.709 933664.447 0, 1468895.081 933692.037 0, 1469171.452 933719.644 0, 1469447.821 933747.266 0, 1469724.189 933774.905 0, 1470000.555 933802.56 0, 1470276.919 933830.232 0, 1470553.282 933857.92 0, 1470829.643 933885.623 0, 1471106.002 933913.344 0,
+ 1471382.36 933941.08 0, 1471658.716 933968.833 0, 1471935.07 933996.602 0, 1472211.423 934024.387 0, 1472486.513 934052.062 0, 1472764.124 934080.007 0, 1473040.472 934107.841 0, 1473316.819 934135.691 0, 1473593.163 934163.558 0, 1473869.506 934191.441 0,
+ 1474145.848 934219.34 0, 1474422.187 934247.255 0, 1474698.526 934275.187 0, 1474974.862 934303.135 0, 1475251.197 934331.099 0, 1475527.53 934359.08 0, 1475803.862 934387.076 0, 1476080.192 934415.089 0, 1476356.52 934443.119 0, 1476632.846 934471.164 0,
+ 1476909.171 934499.226 0, 1477185.495 934527.304 0, 1477461.816 934555.398 0, 1477738.136 934583.509 0, 1478014.455 934611.636 0, 1478290.771 934639.779 0, 1478567.086 934667.938 0, 1478843.4 934696.114 0, 1479118.451 934724.177 0, 1479684.834 929174.598 0,
+ 1480251.202 923625.171 0))
+
+POLYGON ((970944.919 487156.487 0, 970643.735 487158.197 0, 970341.081 487159.934 0, 970038.427 487161.689 0, 969735.774 487163.461 0, 969433.12 487165.251 0, 969130.467 487167.059 0, 968827.814 487168.885 0, 968525.161 487170.729 0, 968222.508 487172.59 0,
+ 967919.855 487174.47 0, 967617.203 487176.367 0, 967314.55 487178.282 0, 967011.898 487180.214 0, 966709.245 487182.165 0, 966406.593 487184.133 0, 966103.941 487186.119 0, 965801.289 487188.123 0, 965498.637 487190.145 0, 965195.985 487192.185 0,
+ 964893.333 487194.242 0, 964590.682 487196.317 0, 964288.03 487198.41 0, 963985.379 487200.521 0, 963681.258 487202.66 0, 963380.077 487204.796 0, 963077.426 487206.96 0, 962774.775 487209.143 0, 962472.125 487211.342 0, 962169.474 487213.56 0,
+ 961866.824 487215.796 0, 961564.173 487218.049 0, 961261.523 487220.32 0, 960958.873 487222.609 0, 960656.223 487224.916 0, 960353.574 487227.241 0, 960050.924 487229.583 0, 959748.275 487231.943 0, 959445.625 487234.321 0, 959142.976 487236.717 0,
+ 958840.327 487239.131 0, 958537.678 487241.562 0, 958235.03 487244.012 0, 957932.381 487246.479 0, 957629.732 487248.964 0, 957327.084 487251.466 0, 957024.436 487253.987 0, 956721.788 487256.525 0, 956417.669 487259.094 0, 956464.766 492815.837 0,
+ 956511.868 498372.988 0, 956815.329 498370.425 0, 957117.323 498367.892 0, 957419.317 498365.377 0, 957721.311 498362.879 0, 958023.306 498360.4 0, 958325.3 498357.938 0, 958627.295 498355.494 0, 958929.289 498353.068 0, 959231.284 498350.659 0,
+ 959533.279 498348.269 0, 959835.275 498345.896 0, 960137.27 498343.541 0, 960439.265 498341.203 0, 960741.261 498338.884 0, 961043.257 498336.582 0, 961345.252 498334.298 0, 961647.248 498332.032 0, 961949.245 498329.783 0, 962251.241 498327.553 0,
+ 962553.237 498325.34 0, 962855.234 498323.144 0, 963157.23 498320.967 0, 963459.227 498318.807 0, 963759.757 498316.676 0, 964063.221 498314.542 0, 964365.218 498312.435 0, 964667.215 498310.347 0, 964969.213 498308.276 0, 965271.21 498306.223 0,
+ 965573.208 498304.188 0, 965875.206 498302.171 0, 966177.204 498300.171 0, 966479.202 498298.189 0, 966781.2 498296.225 0, 967083.198 498294.279 0, 967385.196 498292.35 0, 967687.195 498290.439 0, 967989.193 498288.546 0, 968291.192 498286.671 0,
+ 968593.191 498284.814 0, 968895.19 498282.974 0, 969197.189 498281.152 0, 969499.188 498279.348 0, 969801.187 498277.562 0, 970103.186 498275.793 0, 970405.186 498274.042 0, 970707.185 498272.309 0, 971007.719 498270.603 0, 970976.318 492713.34 0,
+ 970944.919 487156.487 0))
+
+POLYGON ((985503.802 498209.171 0, 985203.262 498210.029 0, 984901.259 498210.909 0, 984599.255 498211.806 0, 984297.252 498212.722 0, 983995.249 498213.655 0, 983693.246 498214.606 0, 983391.243 498215.574 0, 983089.241 498216.561 0, 982787.238 498217.565 0,
+ 982485.235 498218.587 0, 982183.232 498219.627 0, 981881.23 498220.684 0, 981579.227 498221.76 0, 981277.225 498222.853 0, 980975.222 498223.964 0, 980673.22 498225.092 0, 980371.217 498226.239 0, 980069.215 498227.403 0, 979767.213 498228.585 0,
+ 979465.211 498229.785 0, 979163.209 498231.002 0, 978861.207 498232.237 0, 978559.205 498233.49 0, 978255.739 498234.767 0, 977955.201 498236.05 0, 977653.2 498237.356 0, 977351.198 498238.68 0, 977049.197 498240.022 0, 976747.195 498241.382 0,
+ 976445.194 498242.76 0, 976143.193 498244.155 0, 975841.191 498245.568 0, 975539.19 498246.999 0, 975237.189 498248.447 0, 974935.188 498249.914 0, 974633.188 498251.398 0, 974331.187 498252.9 0, 974029.186 498254.42 0, 973727.186 498255.957 0,
+ 973425.185 498257.512 0, 973123.185 498259.085 0, 972821.184 498260.676 0, 972519.184 498262.285 0, 972217.184 498263.911 0, 971915.184 498265.555 0, 971613.184 498267.217 0, 971311.184 498268.897 0, 971007.719 498270.603 0, 971039.122 503828.27 0,
+ 971070.528 509386.34 0, 971373.336 509384.638 0, 971674.681 509382.962 0, 971976.027 509381.303 0, 972277.373 509379.663 0, 972578.719 509378.04 0, 972880.064 509376.435 0, 973181.41 509374.848 0, 973482.757 509373.278 0, 973784.103 509371.726 0,
+ 974085.449 509370.192 0, 974386.796 509368.675 0, 974688.142 509367.177 0, 974989.489 509365.696 0, 975290.835 509364.233 0, 975592.182 509362.787 0, 975893.529 509361.359 0, 976194.876 509359.949 0, 976496.223 509358.557 0, 976797.57 509357.183 0,
+ 977098.917 509355.826 0, 977400.264 509354.487 0, 977701.612 509353.166 0, 978002.959 509351.862 0, 978302.845 509350.582 0, 978605.654 509349.308 0, 978907.002 509348.058 0, 979208.35 509346.825 0, 979509.697 509345.61 0, 979811.045 509344.413 0,
+ 980112.393 509343.234 0, 980413.741 509342.072 0, 980715.089 509340.928 0, 981016.437 509339.802 0, 981317.785 509338.693 0, 981619.134 509337.603 0, 981920.482 509336.53 0, 982221.83 509335.474 0, 982523.179 509334.437 0, 982824.527 509333.417 0,
+ 983125.876 509332.415 0, 983427.225 509331.431 0, 983728.573 509330.464 0, 984029.922 509329.515 0, 984331.271 509328.584 0, 984632.62 509327.671 0, 984933.968 509326.775 0, 985235.317 509325.897 0, 985535.206 509325.041 0, 985519.503 503766.905 0,
+ 985503.802 498209.171 0))
+
+POLYGON ((1000000 509304.608 0, 999700.108 509304.617 0, 999398.758 509304.644 0, 999097.407 509304.688 0, 998796.057 509304.75 0, 998494.707 509304.83 0, 998193.357 509304.927 0, 997892.007 509305.042 0, 997590.656 509305.175 0, 997289.306 509305.326 0,
+ 996987.956 509305.494 0, 996686.606 509305.681 0, 996385.256 509305.884 0, 996083.905 509306.106 0, 995782.555 509306.345 0, 995481.205 509306.603 0, 995179.855 509306.877 0, 994878.505 509307.17 0, 994577.155 509307.48 0, 994275.805 509307.808 0,
+ 993974.455 509308.154 0, 993673.105 509308.518 0, 993371.755 509308.899 0, 993070.405 509309.298 0, 992767.596 509309.717 0, 992467.705 509310.149 0, 992166.355 509310.601 0, 991865.005 509311.071 0, 991563.656 509311.559 0, 991262.306 509312.064 0,
+ 990960.956 509312.587 0, 990659.606 509313.128 0, 990358.256 509313.687 0, 990056.907 509314.263 0, 989755.557 509314.857 0, 989454.208 509315.469 0, 989152.858 509316.099 0, 988851.508 509316.746 0, 988550.159 509317.411 0, 988248.81 509318.094 0,
+ 987947.46 509318.794 0, 987646.111 509319.513 0, 987344.761 509320.249 0, 987043.412 509321.002 0, 986742.063 509321.774 0, 986440.714 509322.563 0, 986139.365 509323.37 0, 985838.015 509324.195 0, 985535.206 509325.041 0, 985550.91 514883.577 0,
+ 985566.615 520442.509 0, 985868.767 520441.664 0, 986169.462 520440.841 0, 986470.156 520440.036 0, 986770.851 520439.248 0, 987071.546 520438.479 0, 987372.241 520437.726 0, 987672.936 520436.992 0, 987973.631 520436.275 0, 988274.326 520435.576 0,
+ 988575.021 520434.895 0, 988875.716 520434.231 0, 989176.412 520433.586 0, 989477.107 520432.957 0, 989777.802 520432.347 0, 990078.497 520431.754 0, 990379.193 520431.179 0, 990679.888 520430.621 0, 990980.583 520430.082 0, 991281.279 520429.56 0,
+ 991581.974 520429.055 0, 991882.67 520428.569 0, 992183.365 520428.1 0, 992484.061 520427.649 0, 992783.3 520427.217 0, 993085.452 520426.799 0, 993386.148 520426.401 0, 993686.843 520426.021 0, 993987.539 520425.658 0, 994288.235 520425.313 0,
+ 994588.93 520424.986 0, 994889.626 520424.676 0, 995190.322 520424.384 0, 995491.017 520424.11 0, 995791.713 520423.853 0, 996092.409 520423.614 0, 996393.105 520423.393 0, 996693.801 520423.19 0, 996994.496 520423.004 0, 997295.192 520422.836 0,
+ 997595.888 520422.686 0, 997896.584 520422.553 0, 998197.28 520422.438 0, 998497.976 520422.341 0, 998798.671 520422.261 0, 999099.367 520422.199 0, 999400.063 520422.155 0, 999700.759 520422.129 0, 1000000 520422.12 0, 1000000 514863.166 0,
+ 1000000 509304.608 0))
+
+POLYGON ((1014433.385 520442.509 0, 1014134.143 520441.672 0, 1013833.448 520440.849 0, 1013532.753 520440.044 0, 1013232.058 520439.256 0, 1012931.364 520438.486 0, 1012630.669 520437.734 0, 1012329.974 520436.999 0, 1012029.279 520436.282 0, 1011728.584 520435.583 0,
+ 1011427.889 520434.902 0, 1011127.193 520434.238 0, 1010826.498 520433.592 0, 1010525.803 520432.963 0, 1010225.108 520432.353 0, 1009924.412 520431.76 0, 1009623.717 520431.184 0, 1009323.022 520430.627 0, 1009022.326 520430.087 0, 1008721.631 520429.565 0,
+ 1008420.935 520429.06 0, 1008120.24 520428.573 0, 1007819.545 520428.104 0, 1007518.849 520427.653 0, 1007216.7 520427.217 0, 1006917.458 520426.803 0, 1006616.762 520426.405 0, 1006316.067 520426.024 0, 1006015.371 520425.661 0, 1005714.675 520425.316 0,
+ 1005413.98 520424.989 0, 1005113.284 520424.679 0, 1004812.588 520424.387 0, 1004511.892 520424.112 0, 1004211.197 520423.856 0, 1003910.501 520423.617 0, 1003609.805 520423.395 0, 1003309.109 520423.192 0, 1003008.413 520423.006 0, 1002707.718 520422.838 0,
+ 1002407.022 520422.687 0, 1002106.326 520422.554 0, 1001805.63 520422.439 0, 1001504.934 520422.342 0, 1001204.238 520422.262 0, 1000903.542 520422.2 0, 1000602.847 520422.156 0, 1000302.151 520422.129 0, 1000000 520422.12 0, 1000000 525981.467 0,
+ 1000000 531541.204 0, 1000301.493 531541.213 0, 1000601.535 531541.239 0, 1000901.576 531541.284 0, 1001201.617 531541.346 0, 1001501.659 531541.425 0, 1001801.7 531541.522 0, 1002101.742 531541.637 0, 1002401.783 531541.77 0, 1002701.824 531541.92 0,
+ 1003001.866 531542.088 0, 1003301.907 531542.273 0, 1003601.949 531542.477 0, 1003901.99 531542.697 0, 1004202.031 531542.936 0, 1004502.073 531543.192 0, 1004802.114 531543.466 0, 1005102.155 531543.757 0, 1005402.196 531544.066 0, 1005702.238 531544.393 0,
+ 1006002.279 531544.738 0, 1006302.32 531545.1 0, 1006602.361 531545.48 0, 1006902.402 531545.877 0, 1007200.993 531546.29 0, 1007502.485 531546.725 0, 1007802.526 531547.175 0, 1008102.567 531547.643 0, 1008402.608 531548.129 0, 1008702.649 531548.632 0,
+ 1009002.69 531549.153 0, 1009302.731 531549.692 0, 1009602.772 531550.249 0, 1009902.813 531550.823 0, 1010202.853 531551.414 0, 1010502.894 531552.024 0, 1010802.935 531552.651 0, 1011102.976 531553.295 0, 1011403.016 531553.958 0, 1011703.057 531554.638 0,
+ 1012003.098 531555.335 0, 1012303.138 531556.051 0, 1012603.179 531556.784 0, 1012903.219 531557.534 0, 1013203.26 531558.302 0, 1013503.3 531559.088 0, 1013803.34 531559.892 0, 1014103.381 531560.713 0, 1014401.972 531561.548 0, 1014417.679 526001.833 0,
+ 1014433.385 520442.509 0))
+
+POLYGON ((1028803.828 531622.58 0, 1028505.239 531620.902 0, 1028205.202 531619.233 0, 1027905.165 531617.582 0, 1027605.128 531615.948 0, 1027305.091 531614.332 0, 1027005.054 531612.734 0, 1026705.016 531611.153 0, 1026404.979 531609.59 0, 1026104.942 531608.045 0,
+ 1025804.904 531606.517 0, 1025504.866 531605.007 0, 1025204.829 531603.515 0, 1024904.791 531602.04 0, 1024604.753 531600.583 0, 1024304.715 531599.144 0, 1024004.677 531597.722 0, 1023704.639 531596.318 0, 1023404.601 531594.932 0, 1023104.562 531593.563 0,
+ 1022804.524 531592.212 0, 1022504.486 531590.879 0, 1022204.447 531589.563 0, 1021904.408 531588.265 0, 1021602.921 531586.978 0, 1021304.331 531585.722 0, 1021004.292 531584.477 0, 1020704.253 531583.249 0, 1020404.214 531582.039 0, 1020104.175 531580.847 0,
+ 1019804.136 531579.673 0, 1019504.097 531578.516 0, 1019204.058 531577.377 0, 1018904.018 531576.255 0, 1018603.979 531575.151 0, 1018303.939 531574.065 0, 1018003.9 531572.997 0, 1017703.86 531571.946 0, 1017403.821 531570.913 0, 1017103.781 531569.897 0,
+ 1016803.741 531568.899 0, 1016503.701 531567.919 0, 1016203.661 531566.957 0, 1015903.621 531566.012 0, 1015603.581 531565.085 0, 1015303.541 531564.175 0, 1015003.501 531563.283 0, 1014703.461 531562.409 0, 1014401.972 531561.548 0, 1014386.263 537121.65 0,
+ 1014370.554 542682.135 0, 1014671.386 542682.994 0, 1014970.771 542683.866 0, 1015270.157 542684.756 0, 1015569.542 542685.664 0, 1015868.928 542686.589 0, 1016168.313 542687.532 0, 1016467.699 542688.492 0, 1016767.084 542689.47 0, 1017066.469 542690.466 0,
+ 1017365.854 542691.479 0, 1017665.239 542692.51 0, 1017964.624 542693.559 0, 1018264.009 542694.625 0, 1018563.394 542695.709 0, 1018862.779 542696.81 0, 1019162.164 542697.929 0, 1019461.549 542699.066 0, 1019760.933 542700.22 0, 1020060.318 542701.392 0,
+ 1020359.702 542702.581 0, 1020659.087 542703.789 0, 1020958.471 542705.013 0, 1021257.856 542706.256 0, 1021555.795 542707.51 0, 1021856.624 542708.793 0, 1022156.008 542710.089 0, 1022455.392 542711.402 0, 1022754.776 542712.732 0, 1023054.16 542714.08 0,
+ 1023353.544 542715.446 0, 1023652.927 542716.829 0, 1023952.311 542718.23 0, 1024251.695 542719.649 0, 1024551.078 542721.085 0, 1024850.461 542722.539 0, 1025149.845 542724.01 0, 1025449.228 542725.499 0, 1025748.611 542727.006 0, 1026047.994 542728.53 0,
+ 1026347.377 542730.072 0, 1026646.76 542731.632 0, 1026946.142 542733.209 0, 1027245.525 542734.804 0, 1027544.908 542736.416 0, 1027844.29 542738.046 0, 1028143.672 542739.694 0, 1028443.055 542741.359 0, 1028740.993 542743.034 0, 1028772.412 537182.615 0,
+ 1028803.828 531622.58 0))
+
+POLYGON ((1043111.202 542844.532 0, 1042813.268 542842.016 0, 1042513.891 542839.504 0, 1042214.515 542837.011 0, 1041915.138 542834.535 0, 1041615.762 542832.077 0, 1041316.385 542829.636 0, 1041017.008 542827.213 0, 1040717.63 542824.808 0, 1040418.253 542822.42 0,
+ 1040118.875 542820.05 0, 1039819.498 542817.698 0, 1039520.12 542815.363 0, 1039220.742 542813.045 0, 1038921.364 542810.746 0, 1038621.986 542808.464 0, 1038322.608 542806.199 0, 1038023.229 542803.953 0, 1037723.85 542801.723 0, 1037424.472 542799.512 0,
+ 1037125.093 542797.318 0, 1036825.714 542795.142 0, 1036526.335 542792.983 0, 1036226.956 542790.842 0, 1035926.133 542788.708 0, 1035628.197 542786.613 0, 1035328.817 542784.524 0, 1035029.437 542782.454 0, 1034730.058 542780.401 0, 1034430.678 542778.366 0,
+ 1034131.298 542776.348 0, 1033831.917 542774.348 0, 1033532.537 542772.365 0, 1033233.157 542770.4 0, 1032933.776 542768.453 0, 1032634.395 542766.524 0, 1032335.015 542764.612 0, 1032035.634 542762.717 0, 1031736.253 542760.841 0, 1031436.872 542758.981 0,
+ 1031137.49 542757.14 0, 1030838.109 542755.316 0, 1030538.728 542753.51 0, 1030239.346 542751.721 0, 1029939.964 542749.95 0, 1029640.583 542748.197 0, 1029341.201 542746.461 0, 1029041.819 542744.743 0, 1028740.993 542743.034 0, 1028709.572 548303.833 0,
+ 1028678.149 553865.01 0, 1028978.317 553866.715 0, 1029277.044 553868.43 0, 1029575.772 553870.161 0, 1029874.499 553871.911 0, 1030173.226 553873.678 0, 1030471.953 553875.463 0, 1030770.68 553877.265 0, 1031069.406 553879.085 0, 1031368.133 553880.923 0,
+ 1031666.859 553882.778 0, 1031965.586 553884.65 0, 1032264.312 553886.541 0, 1032563.038 553888.448 0, 1032861.764 553890.374 0, 1033160.49 553892.317 0, 1033459.216 553894.277 0, 1033757.942 553896.255 0, 1034056.667 553898.251 0, 1034355.393 553900.264 0,
+ 1034654.118 553902.295 0, 1034952.843 553904.344 0, 1035251.569 553906.41 0, 1035550.294 553908.493 0, 1035847.579 553910.584 0, 1036147.743 553912.713 0, 1036446.468 553914.85 0, 1036745.192 553917.004 0, 1037043.917 553919.175 0, 1037342.641 553921.364 0,
+ 1037641.365 553923.571 0, 1037940.089 553925.795 0, 1038238.813 553928.037 0, 1038537.536 553930.297 0, 1038836.26 553932.574 0, 1039134.984 553934.868 0, 1039433.707 553937.181 0, 1039732.43 553939.51 0, 1040031.153 553941.858 0, 1040329.876 553944.223 0,
+ 1040628.599 553946.605 0, 1040927.321 553949.005 0, 1041226.044 553951.423 0, 1041524.766 553953.858 0, 1041823.488 553956.311 0, 1042122.21 553958.782 0, 1042420.932 553961.27 0, 1042719.654 553963.775 0, 1043016.937 553966.286 0, 1043064.071 548405.22 0,
+ 1043111.202 542844.532 0))
+
+POLYGON ((1057355.382 554108.071 0, 1057058.105 554104.721 0, 1056759.391 554101.371 0, 1056460.678 554098.039 0, 1056161.964 554094.725 0, 1055863.25 554091.428 0, 1055564.536 554088.149 0, 1055265.821 554084.887 0, 1054967.106 554081.643 0, 1054668.392 554078.417 0,
+ 1054369.677 554075.208 0, 1054070.961 554072.016 0, 1053772.246 554068.843 0, 1053473.53 554065.687 0, 1053174.815 554062.548 0, 1052876.099 554059.427 0, 1052577.383 554056.324 0, 1052278.666 554053.238 0, 1051979.95 554050.17 0, 1051681.233 554047.119 0,
+ 1051382.516 554044.086 0, 1051083.799 554041.07 0, 1050785.082 554038.072 0, 1050486.365 554035.092 0, 1050186.21 554032.115 0, 1049888.929 554029.184 0, 1049590.211 554026.257 0, 1049291.493 554023.347 0, 1048992.775 554020.454 0, 1048694.057 554017.579 0,
+ 1048395.338 554014.722 0, 1048096.619 554011.883 0, 1047797.9 554009.06 0, 1047499.181 554006.256 0, 1047200.462 554003.469 0, 1046901.742 554000.7 0, 1046603.023 553997.948 0, 1046304.303 553995.214 0, 1046005.583 553992.497 0, 1045706.863 553989.798 0,
+ 1045408.143 553987.117 0, 1045109.423 553984.453 0, 1044810.702 553981.807 0, 1044511.981 553979.178 0, 1044213.261 553976.567 0, 1043914.54 553973.973 0, 1043615.818 553971.397 0, 1043317.097 553968.839 0, 1043016.937 553966.286 0, 1042969.8 559527.726 0,
+ 1042922.659 565089.537 0, 1043222.161 565092.085 0, 1043520.228 565094.638 0, 1043818.294 565097.208 0, 1044116.361 565099.796 0, 1044414.427 565102.401 0, 1044712.493 565105.024 0, 1045010.559 565107.664 0, 1045308.624 565110.322 0, 1045606.69 565112.998 0,
+ 1045904.755 565115.691 0, 1046202.82 565118.402 0, 1046500.885 565121.13 0, 1046798.95 565123.876 0, 1047097.015 565126.639 0, 1047395.08 565129.42 0, 1047693.144 565132.218 0, 1047991.208 565135.034 0, 1048289.272 565137.867 0, 1048587.336 565140.718 0,
+ 1048885.4 565143.587 0, 1049183.464 565146.473 0, 1049481.527 565149.376 0, 1049779.59 565152.298 0, 1050076.219 565155.222 0, 1050375.716 565158.193 0, 1050673.779 565161.166 0, 1050971.841 565164.158 0, 1051269.904 565167.167 0, 1051567.966 565170.193 0,
+ 1051866.028 565173.237 0, 1052164.09 565176.298 0, 1052462.151 565179.378 0, 1052760.213 565182.474 0, 1053058.274 565185.588 0, 1053356.335 565188.72 0, 1053654.396 565191.869 0, 1053952.457 565195.036 0, 1054250.517 565198.22 0, 1054548.578 565201.422 0,
+ 1054846.638 565204.641 0, 1055144.698 565207.878 0, 1055442.758 565211.133 0, 1055740.817 565214.405 0, 1056038.877 565217.694 0, 1056336.936 565221.002 0, 1056634.995 565224.326 0, 1056933.054 565227.668 0, 1057229.679 565231.012 0, 1057292.533 559669.356 0,
+ 1057355.382 554108.071 0))
+
+POLYGON ((1071536.243 565412.906 0, 1071239.625 565408.724 0, 1070941.577 565404.54 0, 1070643.529 565400.373 0, 1070345.48 565396.224 0, 1070047.431 565392.093 0, 1069749.382 565387.978 0, 1069451.333 565383.882 0, 1069153.283 565379.803 0, 1068855.233 565375.741 0,
+ 1068557.183 565371.698 0, 1068259.133 565367.671 0, 1067961.082 565363.662 0, 1067663.031 565359.671 0, 1067364.98 565355.697 0, 1067066.929 565351.741 0, 1066768.877 565347.802 0, 1066470.826 565343.881 0, 1066172.774 565339.978 0, 1065874.721 565336.092 0,
+ 1065576.669 565332.223 0, 1065278.616 565328.372 0, 1064980.563 565324.539 0, 1064682.51 565320.723 0, 1064383.025 565316.907 0, 1064086.403 565313.144 0, 1063788.35 565309.381 0, 1063490.296 565305.635 0, 1063192.241 565301.907 0, 1062894.187 565298.196 0,
+ 1062596.132 565294.503 0, 1062298.077 565290.828 0, 1062000.022 565287.17 0, 1061701.967 565283.529 0, 1061403.911 565279.906 0, 1061105.856 565276.301 0, 1060807.8 565272.713 0, 1060509.744 565269.143 0, 1060211.687 565265.59 0, 1059913.631 565262.055 0,
+ 1059615.574 565258.538 0, 1059317.517 565255.038 0, 1059019.46 565251.555 0, 1058721.402 565248.09 0, 1058423.345 565244.643 0, 1058125.287 565241.213 0, 1057827.229 565237.8 0, 1057529.171 565234.405 0, 1057229.679 565231.012 0, 1057166.822 570793.036 0,
+ 1057103.96 576355.424 0, 1057402.793 576358.81 0, 1057700.197 576362.198 0, 1057997.6 576365.602 0, 1058295.003 576369.025 0, 1058592.406 576372.465 0, 1058889.809 576375.922 0, 1059187.211 576379.397 0, 1059484.613 576382.889 0, 1059782.015 576386.399 0,
+ 1060079.417 576389.927 0, 1060376.819 576393.472 0, 1060674.22 576397.034 0, 1060971.621 576400.614 0, 1061269.022 576404.211 0, 1061566.423 576407.826 0, 1061863.824 576411.459 0, 1062161.224 576415.109 0, 1062458.624 576418.776 0, 1062756.024 576422.461 0,
+ 1063053.424 576426.163 0, 1063350.823 576429.883 0, 1063648.222 576433.621 0, 1063945.621 576437.376 0, 1064241.592 576441.13 0, 1064540.419 576444.938 0, 1064837.817 576448.746 0, 1065135.215 576452.571 0, 1065432.613 576456.413 0, 1065730.011 576460.273 0,
+ 1066027.408 576464.151 0, 1066324.806 576468.046 0, 1066622.203 576471.958 0, 1066919.599 576475.888 0, 1067216.996 576479.836 0, 1067514.392 576483.801 0, 1067811.788 576487.783 0, 1068109.184 576491.783 0, 1068406.58 576495.801 0, 1068703.975 576499.836 0,
+ 1069001.37 576503.888 0, 1069298.765 576507.958 0, 1069596.16 576512.046 0, 1069893.554 576516.151 0, 1070190.948 576520.273 0, 1070488.342 576524.413 0, 1070785.736 576528.571 0, 1071083.129 576532.746 0, 1071379.095 576536.918 0, 1071457.671 570974.73 0,
+ 1071536.243 565412.906 0))
+
+POLYGON ((1085653.661 576758.742 0, 1085357.706 576753.733 0, 1085060.325 576748.718 0, 1084762.945 576743.72 0, 1084465.564 576738.74 0, 1084168.182 576733.777 0, 1083870.801 576728.832 0, 1083573.419 576723.905 0, 1083276.036 576718.994 0, 1082978.654 576714.102 0,
+ 1082681.271 576709.226 0, 1082383.888 576704.369 0, 1082086.505 576699.528 0, 1081789.121 576694.706 0, 1081491.737 576689.901 0, 1081194.353 576685.113 0, 1080896.969 576680.343 0, 1080599.584 576675.59 0, 1080302.199 576670.855 0, 1080004.813 576666.137 0,
+ 1079707.428 576661.437 0, 1079410.042 576656.754 0, 1079112.656 576652.089 0, 1078815.269 576647.441 0, 1078516.456 576642.789 0, 1078220.496 576638.199 0, 1077923.108 576633.604 0, 1077625.721 576629.026 0, 1077328.333 576624.466 0, 1077030.945 576619.923 0,
+ 1076733.557 576615.398 0, 1076436.168 576610.89 0, 1076138.779 576606.4 0, 1075841.39 576601.928 0, 1075544.001 576597.472 0, 1075246.611 576593.035 0, 1074949.221 576588.615 0, 1074651.831 576584.212 0, 1074354.441 576579.827 0, 1074057.05 576575.459 0,
+ 1073759.659 576571.109 0, 1073462.268 576566.777 0, 1073164.877 576562.462 0, 1072867.485 576558.164 0, 1072570.093 576553.884 0, 1072272.701 576549.621 0, 1071975.308 576545.376 0, 1071677.916 576541.149 0, 1071379.095 576536.918 0, 1071300.514 582099.469 0,
+ 1071221.927 587662.377 0, 1071520.09 587666.598 0, 1071816.828 587670.817 0, 1072113.565 587675.052 0, 1072410.303 587679.305 0, 1072707.04 587683.576 0, 1073003.777 587687.864 0, 1073300.513 587692.17 0, 1073597.25 587696.493 0, 1073893.986 587700.833 0,
+ 1074190.722 587705.191 0, 1074487.457 587709.567 0, 1074784.193 587713.96 0, 1075080.928 587718.37 0, 1075377.662 587722.798 0, 1075674.397 587727.243 0, 1075971.131 587731.706 0, 1076267.865 587736.186 0, 1076564.599 587740.684 0, 1076861.333 587745.199 0,
+ 1077158.066 587749.732 0, 1077454.799 587754.282 0, 1077751.531 587758.849 0, 1078048.264 587763.435 0, 1078343.573 587768.015 0, 1078641.728 587772.657 0, 1078938.46 587777.294 0, 1079235.191 587781.949 0, 1079531.922 587786.622 0, 1079828.653 587791.311 0,
+ 1080125.383 587796.019 0, 1080422.114 587800.744 0, 1080718.844 587805.486 0, 1081015.573 587810.245 0, 1081312.303 587815.023 0, 1081609.032 587819.817 0, 1081905.761 587824.629 0, 1082202.489 587829.459 0, 1082499.217 587834.306 0, 1082795.945 587839.17 0,
+ 1083092.673 587844.052 0, 1083389.4 587848.952 0, 1083686.128 587853.868 0, 1083982.854 587858.803 0, 1084279.581 587863.755 0, 1084576.307 587868.724 0, 1084873.033 587873.711 0, 1085169.759 587878.715 0, 1085465.062 587883.712 0, 1085559.365 582321.048 0,
+ 1085653.661 576758.742 0))
+
+POLYGON ((1099707.515 588145.286 0, 1099412.224 588139.454 0, 1099115.514 588133.612 0, 1098818.803 588127.787 0, 1098522.092 588121.979 0, 1098225.381 588116.189 0, 1097928.669 588110.416 0, 1097631.957 588104.661 0, 1097335.245 588098.923 0, 1097038.532 588093.203 0,
+ 1096741.819 588087.5 0, 1096445.106 588081.815 0, 1096148.392 588076.147 0, 1095851.678 588070.497 0, 1095554.964 588064.864 0, 1095258.249 588059.249 0, 1094961.534 588053.651 0, 1094664.818 588048.07 0, 1094368.103 588042.507 0, 1094071.387 588036.962 0,
+ 1093774.67 588031.433 0, 1093477.954 588025.923 0, 1093181.237 588020.43 0, 1092884.519 588014.954 0, 1092586.381 588009.469 0, 1092291.084 588004.055 0, 1091994.365 587998.631 0, 1091697.647 587993.226 0, 1091400.928 587987.837 0, 1091104.209 587982.466 0,
+ 1090807.489 587977.113 0, 1090510.769 587971.777 0, 1090214.049 587966.458 0, 1089917.329 587961.157 0, 1089620.608 587955.873 0, 1089323.887 587950.607 0, 1089027.165 587945.359 0, 1088730.443 587940.127 0, 1088433.721 587934.914 0, 1088136.999 587929.717 0,
+ 1087840.276 587924.538 0, 1087543.553 587919.377 0, 1087246.83 587914.233 0, 1086950.107 587909.107 0, 1086653.383 587903.998 0, 1086356.658 587898.906 0, 1086059.934 587893.832 0, 1085763.209 587888.776 0, 1085465.062 587883.712 0, 1085370.754 593446.732 0,
+ 1085276.439 599010.103 0, 1085573.928 599015.155 0, 1085869.998 599020.201 0, 1086166.068 599025.264 0, 1086462.137 599030.344 0, 1086758.206 599035.442 0, 1087054.275 599040.557 0, 1087350.343 599045.689 0, 1087646.411 599050.839 0, 1087942.479 599056.007 0,
+ 1088238.547 599061.191 0, 1088534.614 599066.394 0, 1088830.681 599071.613 0, 1089126.747 599076.85 0, 1089422.814 599082.105 0, 1089718.88 599087.377 0, 1090014.945 599092.666 0, 1090311.011 599097.973 0, 1090607.076 599103.297 0, 1090903.14 599108.639 0,
+ 1091199.205 599113.998 0, 1091495.269 599119.375 0, 1091791.332 599124.769 0, 1092087.396 599130.18 0, 1092382.041 599135.583 0, 1092679.522 599141.055 0, 1092975.584 599146.519 0, 1093271.646 599152 0, 1093567.708 599157.498 0, 1093863.77 599163.014 0,
+ 1094159.831 599168.548 0, 1094455.892 599174.098 0, 1094751.952 599179.666 0, 1095048.012 599185.252 0, 1095344.072 599190.855 0, 1095640.132 599196.476 0, 1095936.191 599202.114 0, 1096232.25 599207.769 0, 1096528.308 599213.442 0, 1096824.367 599219.132 0,
+ 1097120.425 599224.839 0, 1097416.482 599230.564 0, 1097712.539 599236.307 0, 1098008.596 599242.067 0, 1098304.653 599247.844 0, 1098600.709 599253.639 0, 1098896.765 599259.451 0, 1099192.82 599265.281 0, 1099487.459 599271.1 0, 1099597.49 593708.017 0,
+ 1099707.515 588145.286 0))
+
+POLYGON ((1113697.684 599572.243 0, 1113403.061 599565.592 0, 1113107.023 599558.926 0, 1112810.985 599552.278 0, 1112514.946 599545.646 0, 1112218.907 599539.033 0, 1111922.868 599532.436 0, 1111626.828 599525.858 0, 1111330.788 599519.296 0, 1111034.747 599512.752 0,
+ 1110738.706 599506.226 0, 1110442.665 599499.716 0, 1110146.623 599493.225 0, 1109850.581 599486.75 0, 1109554.539 599480.294 0, 1109258.496 599473.854 0, 1108962.452 599467.432 0, 1108666.409 599461.027 0, 1108370.365 599454.64 0, 1108074.321 599448.271 0,
+ 1107778.276 599441.918 0, 1107482.231 599435.583 0, 1107186.185 599429.266 0, 1106890.139 599422.966 0, 1106592.678 599416.653 0, 1106298.046 599410.418 0, 1106002 599404.17 0, 1105705.952 599397.94 0, 1105409.905 599391.727 0, 1105113.856 599385.531 0,
+ 1104817.808 599379.353 0, 1104521.759 599373.193 0, 1104225.71 599367.049 0, 1103929.661 599360.924 0, 1103633.611 599354.815 0, 1103337.56 599348.724 0, 1103041.51 599342.651 0, 1102745.459 599336.595 0, 1102449.408 599330.556 0, 1102153.356 599324.535 0,
+ 1101857.304 599318.531 0, 1101561.252 599312.544 0, 1101265.199 599306.575 0, 1100969.146 599300.624 0, 1100673.092 599294.69 0, 1100377.039 599288.773 0, 1100080.985 599282.874 0, 1099784.93 599276.992 0, 1099487.459 599271.1 0, 1099377.42 604834.531 0,
+ 1099267.375 610398.308 0, 1099564.188 610404.187 0, 1099859.588 610410.056 0, 1100154.987 610415.942 0, 1100450.386 610421.846 0, 1100745.784 610427.767 0, 1101041.183 610433.705 0, 1101336.58 610439.661 0, 1101631.978 610445.634 0, 1101927.375 610451.625 0,
+ 1102222.772 610457.633 0, 1102518.168 610463.658 0, 1102813.564 610469.701 0, 1103108.96 610475.761 0, 1103404.355 610481.838 0, 1103699.75 610487.933 0, 1103995.145 610494.045 0, 1104290.539 610500.175 0, 1104585.933 610506.322 0, 1104881.326 610512.486 0,
+ 1105176.719 610518.668 0, 1105472.112 610524.867 0, 1105767.505 610531.084 0, 1106062.897 610537.318 0, 1106356.876 610543.539 0, 1106653.68 610549.838 0, 1106949.071 610556.124 0, 1107244.461 610562.428 0, 1107539.851 610568.749 0, 1107835.241 610575.087 0,
+ 1108130.631 610581.442 0, 1108426.02 610587.816 0, 1108721.408 610594.206 0, 1109016.797 610600.614 0, 1109312.185 610607.039 0, 1109607.572 610613.482 0, 1109902.96 610619.942 0, 1110198.346 610626.419 0, 1110493.733 610632.914 0, 1110789.119 610639.426 0,
+ 1111084.505 610645.955 0, 1111379.89 610652.502 0, 1111675.275 610659.067 0, 1111970.659 610665.648 0, 1112266.043 610672.247 0, 1112561.427 610678.864 0, 1112856.81 610685.498 0, 1113152.193 610692.149 0, 1113446.165 610698.785 0, 1113571.928 605135.342 0,
+ 1113697.684 599572.243 0))
+
+POLYGON ((1127624.049 611039.32 0, 1127330.095 611031.852 0, 1127034.732 611024.367 0, 1126739.369 611016.898 0, 1126444.005 611009.447 0, 1126148.641 611002.014 0, 1125853.276 610994.598 0, 1125557.911 610987.199 0, 1125262.545 610979.818 0, 1124967.179 610972.454 0,
+ 1124671.813 610965.107 0, 1124376.446 610957.778 0, 1124081.078 610950.466 0, 1123785.711 610943.171 0, 1123490.342 610935.894 0, 1123194.974 610928.635 0, 1122899.605 610921.392 0, 1122604.235 610914.167 0, 1122308.865 610906.96 0, 1122013.495 610899.77 0,
+ 1121718.124 610892.597 0, 1121422.753 610885.441 0, 1121127.382 610878.303 0, 1120832.01 610871.183 0, 1120535.227 610864.046 0, 1120241.264 610856.994 0, 1119945.891 610849.925 0, 1119650.517 610842.874 0, 1119355.143 610835.84 0, 1119059.769 610828.824 0,
+ 1118764.394 610821.825 0, 1118469.019 610814.844 0, 1118173.643 610807.879 0, 1117878.267 610800.933 0, 1117582.89 610794.003 0, 1117287.513 610787.091 0, 1116992.136 610780.197 0, 1116696.758 610773.319 0, 1116401.38 610766.46 0, 1116106.001 610759.617 0,
+ 1115810.622 610752.792 0, 1115515.243 610745.984 0, 1115219.863 610739.194 0, 1114924.483 610732.421 0, 1114629.102 610725.666 0, 1114333.721 610718.927 0, 1114038.34 610712.207 0, 1113742.958 610705.503 0, 1113446.165 610698.785 0, 1113320.394 616262.571 0,
+ 1113194.615 621826.696 0, 1113490.75 621833.399 0, 1113785.477 621840.088 0, 1114080.203 621846.793 0, 1114374.929 621853.517 0, 1114669.655 621860.257 0, 1114964.38 621867.015 0, 1115259.105 621873.79 0, 1115553.829 621880.583 0, 1115848.553 621887.393 0,
+ 1116143.277 621894.22 0, 1116438 621901.065 0, 1116732.723 621907.927 0, 1117027.445 621914.806 0, 1117322.167 621921.703 0, 1117616.889 621928.617 0, 1117911.61 621935.548 0, 1118206.331 621942.497 0, 1118501.051 621949.463 0, 1118795.771 621956.446 0,
+ 1119090.491 621963.447 0, 1119385.21 621970.465 0, 1119679.929 621977.501 0, 1119974.647 621984.553 0, 1120267.958 621991.59 0, 1120564.082 621998.711 0, 1120858.8 622005.816 0, 1121153.516 622012.938 0, 1121448.232 622020.078 0, 1121742.948 622027.235 0,
+ 1122037.664 622034.409 0, 1122332.379 622041.6 0, 1122627.093 622048.809 0, 1122921.807 622056.035 0, 1123216.521 622063.279 0, 1123511.234 622070.54 0, 1123805.947 622077.818 0, 1124100.659 622085.114 0, 1124395.371 622092.427 0, 1124690.083 622099.757 0,
+ 1124984.794 622107.105 0, 1125279.505 622114.47 0, 1125574.215 622121.852 0, 1125868.925 622129.252 0, 1126163.634 622136.669 0, 1126458.343 622144.104 0, 1126753.052 622151.555 0, 1127047.76 622159.024 0, 1127341.062 622166.475 0, 1127482.56 616602.728 0,
+ 1127624.049 611039.32 0))
+
+POLYGON ((1141486.492 622546.219 0, 1141193.21 622537.94 0, 1140898.524 622529.638 0, 1140603.838 622521.354 0, 1140309.151 622513.087 0, 1140014.464 622504.837 0, 1139719.776 622496.605 0, 1139425.088 622488.39 0, 1139130.399 622480.192 0, 1138835.71 622472.012 0,
+ 1138541.021 622463.849 0, 1138246.33 622455.704 0, 1137951.64 622447.575 0, 1137656.949 622439.464 0, 1137362.257 622431.371 0, 1137067.565 622423.295 0, 1136772.873 622415.236 0, 1136478.18 622407.194 0, 1136183.486 622399.17 0, 1135888.792 622391.163 0,
+ 1135594.098 622383.174 0, 1135299.403 622375.202 0, 1135004.708 622367.247 0, 1134710.012 622359.31 0, 1134413.911 622351.352 0, 1134120.619 622343.487 0, 1133825.921 622335.601 0, 1133531.224 622327.733 0, 1133236.526 622319.883 0, 1132941.827 622312.049 0,
+ 1132647.128 622304.233 0, 1132352.428 622296.434 0, 1132057.728 622288.653 0, 1131763.028 622280.889 0, 1131468.327 622273.143 0, 1131173.626 622265.413 0, 1130878.924 622257.701 0, 1130584.222 622250.007 0, 1130289.519 622242.329 0, 1129994.816 622234.67 0,
+ 1129700.112 622227.027 0, 1129405.408 622219.402 0, 1129110.704 622211.794 0, 1128815.999 622204.203 0, 1128521.293 622196.63 0, 1128226.587 622189.074 0, 1127931.881 622181.536 0, 1127637.174 622174.015 0, 1127341.062 622166.475 0, 1127199.555 627730.558 0,
+ 1127058.04 633294.973 0, 1127353.495 633302.496 0, 1127647.546 633310 0, 1127941.598 633317.522 0, 1128235.649 633325.061 0, 1128529.699 633332.617 0, 1128823.749 633340.191 0, 1129117.798 633347.782 0, 1129411.848 633355.39 0, 1129705.896 633363.016 0,
+ 1129999.944 633370.659 0, 1130293.992 633378.319 0, 1130588.039 633385.996 0, 1130882.086 633393.691 0, 1131176.133 633401.403 0, 1131470.178 633409.133 0, 1131764.224 633416.879 0, 1132058.269 633424.643 0, 1132352.313 633432.425 0, 1132646.358 633440.223 0,
+ 1132940.401 633448.039 0, 1133234.444 633455.873 0, 1133528.487 633463.723 0, 1133822.529 633471.591 0, 1134115.17 633479.439 0, 1134410.612 633487.379 0, 1134704.653 633495.299 0, 1134998.694 633503.236 0, 1135292.733 633511.19 0, 1135586.773 633519.162 0,
+ 1135880.812 633527.151 0, 1136174.85 633535.157 0, 1136468.888 633543.181 0, 1136762.926 633551.222 0, 1137056.963 633559.28 0, 1137351 633567.356 0, 1137645.036 633575.448 0, 1137939.071 633583.559 0, 1138233.107 633591.686 0, 1138527.141 633599.831 0,
+ 1138821.175 633607.993 0, 1139115.209 633616.172 0, 1139409.242 633624.369 0, 1139703.275 633632.583 0, 1139997.308 633640.814 0, 1140291.339 633649.063 0, 1140585.371 633657.329 0, 1140879.401 633665.612 0, 1141172.032 633673.873 0, 1141329.267 628109.88 0,
+ 1141486.492 622546.219 0))
+
+POLYGON ((1155284.897 634092.646 0, 1154992.289 634083.558 0, 1154698.282 634074.445 0, 1154404.276 634065.348 0, 1154110.268 634056.269 0, 1153816.26 634047.207 0, 1153522.252 634038.162 0, 1153228.243 634029.135 0, 1152934.234 634020.125 0, 1152640.224 634011.132 0,
+ 1152346.213 634002.156 0, 1152052.202 633993.198 0, 1151758.19 633984.257 0, 1151464.178 633975.334 0, 1151170.166 633966.428 0, 1150876.153 633957.539 0, 1150582.139 633948.667 0, 1150288.125 633939.813 0, 1149994.11 633930.976 0, 1149700.095 633922.156 0,
+ 1149406.079 633913.354 0, 1149112.063 633904.569 0, 1148818.046 633895.801 0, 1148524.029 633887.05 0, 1148228.612 633878.276 0, 1147935.993 633869.601 0, 1147641.974 633860.903 0, 1147347.954 633852.221 0, 1147053.935 633843.558 0, 1146759.914 633834.911 0,
+ 1146465.893 633826.282 0, 1146171.872 633817.67 0, 1145877.85 633809.075 0, 1145583.828 633800.497 0, 1145289.805 633791.937 0, 1144995.781 633783.394 0, 1144701.757 633774.869 0, 1144407.733 633766.361 0, 1144113.708 633757.87 0, 1143819.683 633749.396 0,
+ 1143525.657 633740.94 0, 1143231.63 633732.501 0, 1142937.604 633724.079 0, 1142643.576 633715.675 0, 1142349.548 633707.288 0, 1142055.52 633698.918 0, 1141761.491 633690.566 0, 1141467.462 633682.23 0, 1141172.032 633673.873 0, 1141014.788 639238.195 0,
+ 1140857.534 644802.843 0, 1141152.306 644811.182 0, 1141445.68 644819.498 0, 1141739.054 644827.832 0, 1142032.427 644836.183 0, 1142325.8 644844.552 0, 1142619.173 644852.937 0, 1142912.544 644861.34 0, 1143205.916 644869.76 0, 1143499.287 644878.198 0,
+ 1143792.657 644886.652 0, 1144086.027 644895.124 0, 1144379.396 644903.614 0, 1144672.765 644912.12 0, 1144966.134 644920.644 0, 1145259.502 644929.185 0, 1145552.869 644937.743 0, 1145846.236 644946.319 0, 1146139.602 644954.912 0, 1146432.968 644963.522 0,
+ 1146726.333 644972.149 0, 1147019.698 644980.794 0, 1147313.063 644989.456 0, 1147606.426 644998.135 0, 1147898.394 645006.79 0, 1148193.153 645015.545 0, 1148486.515 645024.276 0, 1148779.877 645033.024 0, 1149073.238 645041.79 0, 1149366.599 645050.573 0,
+ 1149659.959 645059.373 0, 1149953.319 645068.19 0, 1150246.678 645077.025 0, 1150540.036 645085.877 0, 1150833.395 645094.746 0, 1151126.752 645103.632 0, 1151420.109 645112.536 0, 1151713.466 645121.457 0, 1152006.822 645130.395 0, 1152300.178 645139.35 0,
+ 1152593.533 645148.323 0, 1152886.887 645157.313 0, 1153180.241 645166.32 0, 1153473.594 645175.345 0, 1153766.947 645184.387 0, 1154060.3 645193.446 0, 1154353.651 645202.522 0, 1154647.003 645211.616 0, 1154938.959 645220.683 0, 1155111.933 639656.502 0,
+ 1155284.897 634092.646 0))
+
+POLYGON ((1169019.147 645678.304 0, 1168727.215 645668.412 0, 1168433.891 645658.489 0, 1168140.566 645648.584 0, 1167847.24 645638.697 0, 1167553.914 645628.826 0, 1167260.587 645618.973 0, 1166967.26 645609.137 0, 1166673.932 645599.318 0, 1166380.604 645589.517 0,
+ 1166087.275 645579.732 0, 1165793.945 645569.966 0, 1165500.615 645560.216 0, 1165207.284 645550.483 0, 1164913.953 645540.768 0, 1164620.621 645531.07 0, 1164327.288 645521.39 0, 1164033.955 645511.726 0, 1163740.622 645502.08 0, 1163447.287 645492.452 0,
+ 1163153.953 645482.84 0, 1162860.617 645473.246 0, 1162567.281 645463.669 0, 1162273.945 645454.109 0, 1161979.214 645444.521 0, 1161687.27 645435.041 0, 1161393.932 645425.533 0, 1161100.593 645416.043 0, 1160807.254 645406.569 0, 1160513.914 645397.113 0,
+ 1160220.574 645387.674 0, 1159927.233 645378.252 0, 1159633.892 645368.848 0, 1159340.55 645359.461 0, 1159047.207 645350.091 0, 1158753.864 645340.739 0, 1158460.52 645331.403 0, 1158167.176 645322.085 0, 1157873.831 645312.785 0, 1157580.486 645303.501 0,
+ 1157287.14 645294.235 0, 1156993.794 645284.986 0, 1156700.447 645275.754 0, 1156407.099 645266.54 0, 1156113.751 645257.342 0, 1155820.402 645248.163 0, 1155527.053 645239 0, 1155233.704 645229.855 0, 1154938.959 645220.683 0, 1154765.975 650785.187 0,
+ 1154592.981 656350.009 0, 1154887.068 656359.16 0, 1155179.762 656368.285 0, 1155472.456 656377.427 0, 1155765.15 656386.587 0, 1156057.843 656395.763 0, 1156350.535 656404.957 0, 1156643.227 656414.168 0, 1156935.919 656423.397 0, 1157228.609 656432.642 0,
+ 1157521.3 656441.905 0, 1157813.989 656451.185 0, 1158106.679 656460.482 0, 1158399.367 656469.797 0, 1158692.055 656479.128 0, 1158984.743 656488.477 0, 1159277.43 656497.844 0, 1159570.116 656507.227 0, 1159862.802 656516.628 0, 1160155.488 656526.045 0,
+ 1160448.172 656535.48 0, 1160740.857 656544.933 0, 1161033.54 656554.402 0, 1161326.223 656563.889 0, 1161617.516 656573.348 0, 1161911.588 656582.914 0, 1162204.269 656592.452 0, 1162496.95 656602.008 0, 1162789.631 656611.581 0, 1163082.31 656621.171 0,
+ 1163374.99 656630.778 0, 1163667.668 656640.403 0, 1163960.346 656650.045 0, 1164253.024 656659.704 0, 1164545.701 656669.38 0, 1164838.377 656679.073 0, 1165131.053 656688.784 0, 1165423.728 656698.512 0, 1165716.403 656708.257 0, 1166009.077 656718.019 0,
+ 1166301.75 656727.799 0, 1166594.423 656737.596 0, 1166887.095 656747.41 0, 1167179.767 656757.241 0, 1167472.438 656767.089 0, 1167765.109 656776.955 0, 1168057.779 656786.838 0, 1168350.448 656796.738 0, 1168641.728 656806.609 0, 1168830.443 651242.297 0,
+ 1169019.147 645678.304 0))
+
+POLYGON ((1182689.129 657302.896 0, 1182397.876 657292.203 0, 1182105.236 657281.476 0, 1181812.595 657270.766 0, 1181519.953 657260.074 0, 1181227.311 657249.398 0, 1180934.668 657238.74 0, 1180642.025 657228.1 0, 1180349.381 657217.476 0, 1180056.736 657206.87 0,
+ 1179764.091 657196.28 0, 1179471.445 657185.708 0, 1179178.798 657175.154 0, 1178886.151 657164.616 0, 1178593.504 657154.096 0, 1178300.855 657143.593 0, 1178008.206 657133.107 0, 1177715.556 657122.638 0, 1177422.906 657112.187 0, 1177130.255 657101.753 0,
+ 1176837.604 657091.336 0, 1176544.952 657080.936 0, 1176252.299 657070.554 0, 1175959.646 657060.189 0, 1175665.604 657049.792 0, 1175374.337 657039.51 0, 1175081.682 657029.196 0, 1174789.026 657018.9 0, 1174496.37 657008.621 0, 1174203.713 656998.359 0,
+ 1173911.055 656988.114 0, 1173618.397 656977.887 0, 1173325.738 656967.677 0, 1173033.079 656957.484 0, 1172740.419 656947.308 0, 1172447.759 656937.149 0, 1172155.097 656927.008 0, 1171862.436 656916.884 0, 1171569.773 656906.777 0, 1171277.11 656896.687 0,
+ 1170984.447 656886.615 0, 1170691.783 656876.56 0, 1170399.118 656866.522 0, 1170106.453 656856.501 0, 1169813.787 656846.497 0, 1169521.12 656836.511 0, 1169228.453 656826.542 0, 1168935.785 656816.59 0, 1168641.728 656806.609 0, 1168453.003 662371.236 0,
+ 1168264.266 667936.176 0, 1168557.666 667946.135 0, 1168849.678 667956.065 0, 1169141.69 667966.011 0, 1169433.702 667975.975 0, 1169725.712 667985.956 0, 1170017.723 667995.955 0, 1170309.732 668005.97 0, 1170601.742 668016.003 0, 1170893.75 668026.053 0,
+ 1171185.758 668036.12 0, 1171477.765 668046.204 0, 1171769.772 668056.305 0, 1172061.778 668066.424 0, 1172353.784 668076.56 0, 1172645.789 668086.713 0, 1172937.793 668096.883 0, 1173229.797 668107.07 0, 1173521.8 668117.275 0, 1173813.802 668127.497 0,
+ 1174105.804 668137.736 0, 1174397.805 668147.992 0, 1174689.806 668158.265 0, 1174981.806 668168.556 0, 1175272.421 668178.814 0, 1175565.805 668189.188 0, 1175857.803 668199.53 0, 1176149.801 668209.889 0, 1176441.798 668220.266 0, 1176733.794 668230.659 0,
+ 1177025.79 668241.07 0, 1177317.785 668251.498 0, 1177609.78 668261.943 0, 1177901.774 668272.406 0, 1178193.767 668282.885 0, 1178485.76 668293.382 0, 1178777.752 668303.896 0, 1179069.744 668314.427 0, 1179361.735 668324.975 0, 1179653.725 668335.541 0,
+ 1179945.715 668346.123 0, 1180237.704 668356.723 0, 1180529.692 668367.34 0, 1180821.68 668377.974 0, 1181113.667 668388.626 0, 1181405.654 668399.294 0, 1181697.64 668409.98 0, 1181989.625 668420.683 0, 1182280.226 668431.352 0, 1182484.683 662866.968 0,
+ 1182689.129 657302.896 0))
+
+POLYGON ((1196294.731 668966.125 0, 1196004.159 668954.635 0, 1195712.205 668943.107 0, 1195420.25 668931.596 0, 1195128.295 668920.103 0, 1194836.339 668908.626 0, 1194544.382 668897.167 0, 1194252.425 668885.725 0, 1193960.467 668874.301 0, 1193668.509 668862.893 0,
+ 1193376.549 668851.503 0, 1193084.589 668840.13 0, 1192792.629 668828.774 0, 1192500.667 668817.435 0, 1192208.705 668806.113 0, 1191916.743 668794.809 0, 1191624.78 668783.522 0, 1191332.816 668772.252 0, 1191040.851 668760.999 0, 1190748.886 668749.763 0,
+ 1190456.92 668738.544 0, 1190164.953 668727.343 0, 1189872.986 668716.159 0, 1189581.018 668704.992 0, 1189287.667 668693.79 0, 1188997.08 668682.71 0, 1188705.11 668671.594 0, 1188413.14 668660.496 0, 1188121.169 668649.415 0, 1187829.197 668638.351 0,
+ 1187537.224 668627.305 0, 1187245.251 668616.275 0, 1186953.277 668605.263 0, 1186661.303 668594.268 0, 1186369.328 668583.29 0, 1186077.352 668572.329 0, 1185785.376 668561.385 0, 1185493.399 668550.459 0, 1185201.421 668539.55 0, 1184909.443 668528.658 0,
+ 1184617.464 668517.783 0, 1184325.484 668506.926 0, 1184033.504 668496.085 0, 1183741.523 668485.262 0, 1183449.542 668474.456 0, 1183157.56 668463.667 0, 1182865.577 668452.895 0, 1182573.594 668442.141 0, 1182280.226 668431.352 0, 1182075.757 673996.046 0,
+ 1181871.277 679561.045 0, 1182163.987 679571.808 0, 1182455.315 679582.539 0, 1182746.643 679593.286 0, 1183037.97 679604.051 0, 1183329.296 679614.833 0, 1183620.622 679625.632 0, 1183911.947 679636.448 0, 1184203.272 679647.281 0, 1184494.596 679658.132 0,
+ 1184785.919 679668.999 0, 1185077.241 679679.884 0, 1185368.563 679690.786 0, 1185659.885 679701.705 0, 1185951.205 679712.641 0, 1186242.525 679723.594 0, 1186533.845 679734.565 0, 1186825.163 679745.552 0, 1187116.482 679756.557 0, 1187407.799 679767.579 0,
+ 1187699.116 679778.618 0, 1187990.432 679789.674 0, 1188281.747 679800.747 0, 1188573.062 679811.838 0, 1188862.997 679822.893 0, 1189155.69 679834.07 0, 1189447.003 679845.212 0, 1189738.315 679856.371 0, 1190029.627 679867.547 0, 1190320.938 679878.741 0,
+ 1190612.248 679889.951 0, 1190903.557 679901.179 0, 1191194.866 679912.424 0, 1191486.175 679923.685 0, 1191777.482 679934.965 0, 1192068.789 679946.261 0, 1192360.095 679957.574 0, 1192651.401 679968.905 0, 1192942.706 679980.252 0, 1193234.01 679991.617 0,
+ 1193525.314 680002.999 0, 1193816.617 680014.398 0, 1194107.919 680025.814 0, 1194399.22 680037.248 0, 1194690.521 680048.698 0, 1194981.822 680060.166 0, 1195273.121 680071.651 0, 1195564.42 680083.153 0, 1195854.34 680094.617 0, 1196074.541 674530.218 0,
+ 1196294.731 668966.125 0))
+
+POLYGON ((1209835.84 680667.693 0, 1209545.951 680655.409 0, 1209254.686 680643.084 0, 1208963.42 680630.776 0, 1208672.153 680618.486 0, 1208380.886 680606.212 0, 1208089.618 680593.956 0, 1207798.349 680581.717 0, 1207507.079 680569.495 0, 1207215.809 680557.29 0,
+ 1206924.538 680545.102 0, 1206633.266 680532.931 0, 1206341.994 680520.778 0, 1206050.721 680508.642 0, 1205759.447 680496.523 0, 1205468.172 680484.42 0, 1205176.897 680472.336 0, 1204885.621 680460.268 0, 1204594.344 680448.217 0, 1204303.067 680436.184 0,
+ 1204011.789 680424.168 0, 1203720.51 680412.168 0, 1203429.23 680400.186 0, 1203137.95 680388.222 0, 1202845.292 680376.217 0, 1202555.388 680364.343 0, 1202264.105 680352.43 0, 1201972.822 680340.533 0, 1201681.538 680328.654 0, 1201390.254 680316.792 0,
+ 1201098.969 680304.947 0, 1200807.683 680293.12 0, 1200516.397 680281.309 0, 1200225.109 680269.516 0, 1199933.821 680257.739 0, 1199642.533 680245.98 0, 1199351.243 680234.238 0, 1199059.953 680222.514 0, 1198768.663 680210.806 0, 1198477.371 680199.115 0,
+ 1198186.079 680187.442 0, 1197894.787 680175.786 0, 1197603.493 680164.146 0, 1197312.199 680152.524 0, 1197020.904 680140.92 0, 1196729.609 680129.332 0, 1196438.313 680117.761 0, 1196147.016 680106.208 0, 1195854.34 680094.617 0, 1195634.127 685659.318 0,
+ 1195413.902 691224.318 0, 1195705.919 691235.883 0, 1195996.561 691247.41 0, 1196287.202 691258.955 0, 1196577.843 691270.516 0, 1196868.482 691282.095 0, 1197159.121 691293.691 0, 1197449.76 691305.304 0, 1197740.398 691316.934 0, 1198031.035 691328.581 0,
+ 1198321.671 691340.245 0, 1198612.306 691351.927 0, 1198902.941 691363.625 0, 1199193.576 691375.341 0, 1199484.209 691387.074 0, 1199774.842 691398.823 0, 1200065.474 691410.59 0, 1200356.106 691422.374 0, 1200646.737 691434.175 0, 1200937.367 691445.994 0,
+ 1201227.996 691457.829 0, 1201518.625 691469.681 0, 1201809.253 691481.551 0, 1202099.88 691493.438 0, 1202389.133 691505.285 0, 1202681.133 691517.262 0, 1202971.758 691529.2 0, 1203262.382 691541.155 0, 1203553.006 691553.127 0, 1203843.629 691565.117 0,
+ 1204134.251 691577.123 0, 1204424.873 691589.147 0, 1204715.494 691601.187 0, 1205006.114 691613.245 0, 1205296.734 691625.32 0, 1205587.353 691637.412 0, 1205877.971 691649.521 0, 1206168.588 691661.647 0, 1206459.205 691673.79 0, 1206749.821 691685.95 0,
+ 1207040.436 691698.128 0, 1207331.051 691710.322 0, 1207621.665 691722.534 0, 1207912.278 691734.763 0, 1208202.89 691747.008 0, 1208493.502 691759.271 0, 1208784.113 691771.551 0, 1209074.723 691783.849 0, 1209363.96 691796.105 0, 1209599.906 686231.749 0,
+ 1209835.84 680667.693 0))
+
+POLYGON ((1223312.347 692407.3 0, 1223023.143 692394.227 0, 1222732.569 692381.109 0, 1222441.994 692368.008 0, 1222151.418 692354.924 0, 1221860.841 692341.857 0, 1221570.264 692328.807 0, 1221279.686 692315.775 0, 1220989.107 692302.759 0, 1220698.527 692289.761 0,
+ 1220407.947 692276.78 0, 1220117.366 692263.815 0, 1219826.784 692250.868 0, 1219536.201 692237.938 0, 1219245.617 692225.025 0, 1218955.033 692212.129 0, 1218664.448 692199.251 0, 1218373.862 692186.389 0, 1218083.276 692173.545 0, 1217792.688 692160.717 0,
+ 1217502.1 692147.907 0, 1217211.511 692135.114 0, 1216920.922 692122.338 0, 1216630.332 692109.579 0, 1216338.369 692096.777 0, 1216049.149 692084.112 0, 1215758.556 692071.404 0, 1215467.963 692058.714 0, 1215177.369 692046.04 0, 1214886.774 692033.384 0,
+ 1214596.178 692020.745 0, 1214305.582 692008.123 0, 1214014.985 691995.518 0, 1213724.387 691982.93 0, 1213433.789 691970.359 0, 1213143.19 691957.805 0, 1212852.59 691945.268 0, 1212561.989 691932.749 0, 1212271.387 691920.246 0, 1211980.785 691907.761 0,
+ 1211690.182 691895.293 0, 1211399.579 691882.842 0, 1211108.974 691870.408 0, 1210818.369 691857.991 0, 1210527.763 691845.591 0, 1210237.157 691833.208 0, 1209946.549 691820.843 0, 1209655.941 691808.494 0, 1209363.96 691796.105 0, 1209128.001 697360.756 0,
+ 1208892.03 702925.698 0, 1209183.353 702938.06 0, 1209473.306 702950.381 0, 1209763.258 702962.718 0, 1210053.21 702975.073 0, 1210343.161 702987.445 0, 1210633.111 702999.834 0, 1210923.06 703012.24 0, 1211213.009 703024.663 0, 1211502.957 703037.103 0,
+ 1211792.904 703049.56 0, 1212082.85 703062.034 0, 1212372.796 703074.526 0, 1212662.741 703087.034 0, 1212952.685 703099.56 0, 1213242.628 703112.102 0, 1213532.571 703124.662 0, 1213822.513 703137.238 0, 1214112.454 703149.832 0, 1214402.395 703162.443 0,
+ 1214692.335 703175.071 0, 1214982.274 703187.715 0, 1215272.212 703200.377 0, 1215562.15 703213.056 0, 1215850.718 703225.693 0, 1216142.022 703238.466 0, 1216431.958 703251.196 0, 1216721.892 703263.943 0, 1217011.826 703276.708 0, 1217301.759 703289.489 0,
+ 1217591.691 703302.287 0, 1217881.623 703315.103 0, 1218171.554 703327.936 0, 1218461.484 703340.785 0, 1218751.413 703353.652 0, 1219041.341 703366.536 0, 1219331.269 703379.437 0, 1219621.196 703392.355 0, 1219911.122 703405.29 0, 1220201.048 703418.242 0,
+ 1220490.973 703431.211 0, 1220780.897 703444.197 0, 1221070.82 703457.2 0, 1221360.742 703470.221 0, 1221650.664 703483.258 0, 1221940.585 703496.312 0, 1222230.505 703509.384 0, 1222520.424 703522.473 0, 1222808.976 703535.516 0, 1223060.668 697971.262 0,
+ 1223312.347 692407.3 0))
+
+POLYGON ((1236724.143 704184.65 0, 1236435.627 704170.791 0, 1236145.746 704156.883 0, 1235855.864 704142.993 0, 1235565.981 704129.119 0, 1235276.097 704115.263 0, 1234986.213 704101.423 0, 1234696.328 704087.601 0, 1234406.442 704073.796 0, 1234116.555 704060.008 0,
+ 1233826.667 704046.237 0, 1233536.778 704032.483 0, 1233246.889 704018.746 0, 1232956.999 704005.026 0, 1232667.108 703991.323 0, 1232377.216 703977.637 0, 1232087.324 703963.968 0, 1231797.43 703950.317 0, 1231507.536 703936.682 0, 1231217.641 703923.064 0,
+ 1230927.745 703909.464 0, 1230637.849 703895.881 0, 1230347.951 703882.314 0, 1230058.053 703868.765 0, 1229766.788 703855.169 0, 1229478.255 703841.718 0, 1229188.354 703828.219 0, 1228898.453 703814.738 0, 1228608.55 703801.274 0, 1228318.648 703787.828 0,
+ 1228028.744 703774.398 0, 1227738.839 703760.985 0, 1227448.934 703747.589 0, 1227159.028 703734.21 0, 1226869.121 703720.849 0, 1226579.213 703707.504 0, 1226289.305 703694.177 0, 1225999.396 703680.866 0, 1225709.486 703667.573 0, 1225419.575 703654.297 0,
+ 1225129.663 703641.038 0, 1224839.751 703627.795 0, 1224549.838 703614.57 0, 1224259.924 703601.362 0, 1223970.009 703588.171 0, 1223680.094 703574.998 0, 1223390.177 703561.841 0, 1223100.26 703548.701 0, 1222808.976 703535.516 0, 1222557.27 709100.059 0,
+ 1222305.552 714664.886 0, 1222596.179 714678.041 0, 1222885.441 714691.151 0, 1223174.702 714704.278 0, 1223463.962 714717.422 0, 1223753.222 714730.583 0, 1224042.481 714743.762 0, 1224331.739 714756.957 0, 1224620.996 714770.169 0, 1224910.253 714783.398 0,
+ 1225199.509 714796.645 0, 1225488.764 714809.908 0, 1225778.018 714823.188 0, 1226067.271 714836.486 0, 1226356.524 714849.8 0, 1226645.776 714863.131 0, 1226935.027 714876.48 0, 1227224.277 714889.845 0, 1227513.527 714903.228 0, 1227802.775 714916.627 0,
+ 1228092.023 714930.044 0, 1228381.27 714943.477 0, 1228670.517 714956.928 0, 1228959.762 714970.396 0, 1229247.644 714983.817 0, 1229538.251 714997.382 0, 1229827.494 715010.901 0, 1230116.737 715024.436 0, 1230405.978 715037.989 0, 1230695.219 715051.559 0,
+ 1230984.459 715065.146 0, 1231273.698 715078.749 0, 1231562.936 715092.37 0, 1231852.174 715106.008 0, 1232141.411 715119.663 0, 1232430.647 715133.335 0, 1232719.882 715147.024 0, 1233009.116 715160.73 0, 1233298.35 715174.453 0, 1233587.582 715188.193 0,
+ 1233876.814 715201.95 0, 1234166.045 715215.724 0, 1234455.276 715229.515 0, 1234744.505 715243.323 0, 1235033.734 715257.148 0, 1235322.962 715270.99 0, 1235612.189 715284.849 0, 1235901.415 715298.725 0, 1236189.279 715312.553 0, 1236456.718 709748.459 0,
+ 1236724.143 704184.65 0))
+
+POLYGON ((1250071.12 715999.441 0, 1249783.295 715984.8 0, 1249494.109 715970.107 0, 1249204.922 715955.431 0, 1248915.734 715940.772 0, 1248626.546 715926.129 0, 1248337.357 715911.504 0, 1248048.166 715896.896 0, 1247758.975 715882.305 0, 1247469.784 715867.731 0,
+ 1247180.591 715853.174 0, 1246891.397 715838.634 0, 1246602.203 715824.111 0, 1246313.007 715809.605 0, 1246023.811 715795.116 0, 1245734.614 715780.644 0, 1245445.416 715766.189 0, 1245156.218 715751.751 0, 1244867.018 715737.33 0, 1244577.817 715722.926 0,
+ 1244288.616 715708.539 0, 1243999.414 715694.17 0, 1243710.211 715679.817 0, 1243421.007 715665.481 0, 1243130.442 715651.095 0, 1242842.597 715636.86 0, 1242553.391 715622.576 0, 1242264.184 715608.308 0, 1241974.976 715594.057 0, 1241685.767 715579.824 0,
+ 1241396.557 715565.607 0, 1241107.347 715551.407 0, 1240818.135 715537.225 0, 1240528.923 715523.059 0, 1240239.71 715508.911 0, 1239950.496 715494.779 0, 1239661.281 715480.665 0, 1239372.066 715466.567 0, 1239082.849 715452.487 0, 1238793.632 715438.423 0,
+ 1238504.414 715424.377 0, 1238215.195 715410.348 0, 1237925.976 715396.335 0, 1237636.755 715382.34 0, 1237347.534 715368.362 0, 1237058.312 715354.4 0, 1236769.089 715340.456 0, 1236479.865 715326.529 0, 1236189.279 715312.553 0, 1235921.827 720876.929 0,
+ 1235654.361 726441.583 0, 1235944.289 726455.527 0, 1236232.858 726469.422 0, 1236521.426 726483.335 0, 1236809.993 726497.265 0, 1237098.559 726511.211 0, 1237387.124 726525.175 0, 1237675.689 726539.156 0, 1237964.253 726553.153 0, 1238252.816 726567.168 0,
+ 1238541.378 726581.199 0, 1238829.939 726595.248 0, 1239118.5 726609.314 0, 1239407.06 726623.396 0, 1239695.619 726637.496 0, 1239984.177 726651.612 0, 1240272.734 726665.746 0, 1240561.29 726679.896 0, 1240849.846 726694.063 0, 1241138.4 726708.248 0,
+ 1241426.954 726722.449 0, 1241715.507 726736.668 0, 1242004.059 726750.903 0, 1242292.611 726765.156 0, 1242579.804 726779.358 0, 1242869.711 726793.711 0, 1243158.26 726808.015 0, 1243446.808 726822.335 0, 1243735.355 726836.672 0, 1244023.901 726851.026 0,
+ 1244312.447 726865.398 0, 1244600.991 726879.786 0, 1244889.535 726894.191 0, 1245178.078 726908.613 0, 1245466.62 726923.052 0, 1245755.161 726937.509 0, 1246043.702 726951.982 0, 1246332.241 726966.472 0, 1246620.78 726980.979 0, 1246909.318 726995.503 0,
+ 1247197.855 727010.044 0, 1247486.391 727024.602 0, 1247774.926 727039.177 0, 1248063.46 727053.769 0, 1248351.994 727068.378 0, 1248640.526 727083.004 0, 1248929.058 727097.647 0, 1249217.589 727112.307 0, 1249504.763 727126.915 0, 1249787.949 721563.039 0,
+ 1250071.12 715999.441 0))
+
+POLYGON ((1263353.174 727851.375 0, 1263066.04 727835.956 0, 1262777.552 727820.481 0, 1262489.062 727805.023 0, 1262200.572 727789.582 0, 1261912.081 727774.157 0, 1261623.589 727758.75 0, 1261335.096 727743.36 0, 1261046.602 727727.987 0, 1260758.108 727712.631 0,
+ 1260469.612 727697.292 0, 1260181.116 727681.969 0, 1259892.618 727666.664 0, 1259604.12 727651.376 0, 1259315.621 727636.104 0, 1259027.12 727620.85 0, 1258738.619 727605.613 0, 1258450.118 727590.392 0, 1258161.615 727575.189 0, 1257873.111 727560.003 0,
+ 1257584.606 727544.833 0, 1257296.101 727529.681 0, 1257007.595 727514.545 0, 1256719.087 727499.427 0, 1256429.224 727484.255 0, 1256142.07 727469.241 0, 1255853.56 727454.173 0, 1255565.049 727439.123 0, 1255276.538 727424.089 0, 1254988.025 727409.073 0,
+ 1254699.512 727394.073 0, 1254410.997 727379.091 0, 1254122.482 727364.125 0, 1253833.966 727349.176 0, 1253545.449 727334.245 0, 1253256.931 727319.33 0, 1252968.412 727304.432 0, 1252679.893 727289.551 0, 1252391.372 727274.688 0, 1252102.851 727259.841 0,
+ 1251814.329 727245.011 0, 1251525.805 727230.198 0, 1251237.281 727215.403 0, 1250948.757 727200.624 0, 1250660.231 727185.862 0, 1250371.704 727171.117 0, 1250083.177 727156.389 0, 1249794.648 727141.678 0, 1249504.763 727126.915 0, 1249221.563 732691.066 0,
+ 1248938.35 738255.488 0, 1249227.577 738270.217 0, 1249515.45 738284.895 0, 1249803.323 738299.589 0, 1250091.194 738314.301 0, 1250379.065 738329.029 0, 1250666.935 738343.774 0, 1250954.804 738358.536 0, 1251242.672 738373.316 0, 1251530.539 738388.112 0,
+ 1251818.406 738402.925 0, 1252106.271 738417.755 0, 1252394.136 738432.602 0, 1252682 738447.466 0, 1252969.863 738462.346 0, 1253257.725 738477.244 0, 1253545.586 738492.159 0, 1253833.446 738507.091 0, 1254121.305 738522.039 0, 1254409.164 738537.005 0,
+ 1254697.022 738551.987 0, 1254984.878 738566.987 0, 1255272.734 738582.003 0, 1255560.589 738597.036 0, 1255847.091 738612.016 0, 1256136.296 738627.154 0, 1256424.149 738642.238 0, 1256712 738657.339 0, 1256999.851 738672.457 0, 1257287.7 738687.592 0,
+ 1257575.549 738702.744 0, 1257863.397 738717.913 0, 1258151.244 738733.099 0, 1258439.09 738748.301 0, 1258726.935 738763.521 0, 1259014.779 738778.758 0, 1259302.623 738794.011 0, 1259590.465 738809.282 0, 1259878.307 738824.569 0, 1260166.148 738839.874 0,
+ 1260453.987 738855.195 0, 1260741.826 738870.533 0, 1261029.664 738885.888 0, 1261317.501 738901.261 0, 1261605.337 738916.65 0, 1261893.173 738932.056 0, 1262181.007 738947.479 0, 1262468.841 738962.919 0, 1262755.322 738978.303 0, 1263054.255 733414.703 0,
+ 1263353.174 727851.375 0))
+
+POLYGON ((1276570.198 739740.151 0, 1276283.758 739723.957 0, 1275995.97 739707.704 0, 1275708.18 739691.468 0, 1275420.39 739675.249 0, 1275132.598 739659.046 0, 1274844.806 739642.861 0, 1274557.012 739626.693 0, 1274269.218 739610.541 0, 1273981.422 739594.407 0,
+ 1273693.626 739578.289 0, 1273405.829 739562.189 0, 1273118.031 739546.105 0, 1272830.231 739530.038 0, 1272542.431 739513.989 0, 1272254.63 739497.956 0, 1271966.828 739481.94 0, 1271679.025 739465.941 0, 1271391.222 739449.959 0, 1271103.417 739433.994 0,
+ 1270815.611 739418.046 0, 1270527.804 739402.114 0, 1270239.997 739386.2 0, 1269952.188 739370.303 0, 1269663.029 739354.348 0, 1269376.568 739338.559 0, 1269088.757 739322.713 0, 1268800.945 739306.883 0, 1268513.131 739291.07 0, 1268225.317 739275.275 0,
+ 1267937.502 739259.496 0, 1267649.686 739243.734 0, 1267361.869 739227.989 0, 1267074.051 739212.261 0, 1266786.233 739196.55 0, 1266498.413 739180.856 0, 1266210.592 739165.179 0, 1265922.771 739149.519 0, 1265634.948 739133.876 0, 1265347.125 739118.25 0,
+ 1265059.301 739102.64 0, 1264771.475 739087.048 0, 1264483.649 739071.472 0, 1264195.822 739055.914 0, 1263907.994 739040.372 0, 1263620.165 739024.848 0, 1263332.335 739009.34 0, 1263044.505 738993.849 0, 1262755.322 738978.303 0, 1262456.375 744542.17 0,
+ 1262157.414 750106.301 0, 1262445.938 750121.812 0, 1262733.114 750137.268 0, 1263020.288 750152.74 0, 1263307.462 750168.23 0, 1263594.635 750183.736 0, 1263881.807 750199.259 0, 1264168.979 750214.799 0, 1264456.149 750230.356 0, 1264743.318 750245.93 0,
+ 1265030.487 750261.52 0, 1265317.654 750277.128 0, 1265604.821 750292.752 0, 1265891.987 750308.394 0, 1266179.151 750324.052 0, 1266466.315 750339.727 0, 1266753.478 750355.42 0, 1267040.64 750371.129 0, 1267327.801 750386.855 0, 1267614.961 750402.597 0,
+ 1267902.12 750418.357 0, 1268189.279 750434.134 0, 1268476.436 750449.927 0, 1268763.593 750465.738 0, 1269049.402 750481.491 0, 1269337.903 750497.409 0, 1269625.056 750513.27 0, 1269912.209 750529.148 0, 1270199.361 750545.043 0, 1270486.512 750560.955 0,
+ 1270773.661 750576.884 0, 1271060.81 750592.83 0, 1271347.958 750608.792 0, 1271635.105 750624.772 0, 1271922.252 750640.768 0, 1272209.397 750656.781 0, 1272496.541 750672.811 0, 1272783.684 750688.858 0, 1273070.827 750704.922 0, 1273357.968 750721.003 0,
+ 1273645.109 750737.101 0, 1273932.248 750753.216 0, 1274219.387 750769.347 0, 1274506.524 750785.496 0, 1274793.661 750801.661 0, 1275080.797 750817.843 0, 1275367.931 750834.043 0, 1275655.065 750850.259 0, 1275940.853 750866.415 0, 1276255.533 745303.151 0,
+ 1276570.198 739740.151 0))
+
+POLYGON ((1289722.09 751665.467 0, 1289436.347 751648.503 0, 1289149.26 751631.476 0, 1288862.172 751614.465 0, 1288575.083 751597.472 0, 1288287.993 751580.495 0, 1288000.902 751563.536 0, 1287713.811 751546.593 0, 1287426.718 751529.667 0, 1287139.624 751512.758 0,
+ 1286852.529 751495.866 0, 1286565.433 751478.991 0, 1286278.336 751462.133 0, 1285991.239 751445.292 0, 1285704.14 751428.467 0, 1285417.04 751411.66 0, 1285129.939 751394.869 0, 1284842.837 751378.095 0, 1284555.735 751361.339 0, 1284268.631 751344.599 0,
+ 1283981.526 751327.876 0, 1283694.42 751311.169 0, 1283407.314 751294.48 0, 1283120.206 751277.808 0, 1282831.754 751261.075 0, 1282545.988 751244.514 0, 1282258.877 751227.892 0, 1281971.766 751211.287 0, 1281684.653 751194.7 0, 1281397.54 751178.129 0,
+ 1281110.425 751161.575 0, 1280823.309 751145.037 0, 1280536.193 751128.517 0, 1280249.076 751112.014 0, 1279961.957 751095.527 0, 1279674.838 751079.058 0, 1279387.717 751062.605 0, 1279100.596 751046.169 0, 1278813.474 751029.751 0, 1278526.351 751013.349 0,
+ 1278239.226 750996.964 0, 1277952.101 750980.595 0, 1277664.975 750964.244 0, 1277377.848 750947.91 0, 1277090.72 750931.592 0, 1276803.591 750915.292 0, 1276516.461 750899.008 0, 1276229.33 750882.741 0, 1275940.853 750866.415 0, 1275626.158 756429.941 0,
+ 1275311.449 761993.723 0, 1275599.268 762010.011 0, 1275885.744 762026.241 0, 1276172.219 762042.488 0, 1276458.693 762058.751 0, 1276745.166 762075.031 0, 1277031.638 762091.328 0, 1277318.11 762107.642 0, 1277604.58 762123.973 0, 1277891.049 762140.321 0,
+ 1278177.518 762156.685 0, 1278463.985 762173.067 0, 1278750.451 762189.465 0, 1279036.917 762205.88 0, 1279323.381 762222.312 0, 1279609.845 762238.761 0, 1279896.307 762255.227 0, 1280182.769 762271.709 0, 1280469.229 762288.209 0, 1280755.689 762304.725 0,
+ 1281042.148 762321.258 0, 1281328.605 762337.808 0, 1281615.062 762354.375 0, 1281901.518 762370.959 0, 1282186.632 762387.482 0, 1282474.426 762404.177 0, 1282760.879 762420.811 0, 1283047.331 762437.462 0, 1283333.782 762454.13 0, 1283620.232 762470.815 0,
+ 1283906.681 762487.517 0, 1284193.129 762504.236 0, 1284479.575 762520.971 0, 1284766.021 762537.723 0, 1285052.466 762554.493 0, 1285338.91 762571.279 0, 1285625.353 762588.082 0, 1285911.795 762604.901 0, 1286198.236 762621.738 0, 1286484.676 762638.591 0,
+ 1286771.115 762655.462 0, 1287057.553 762672.349 0, 1287343.99 762689.253 0, 1287630.426 762706.174 0, 1287916.861 762723.112 0, 1288203.295 762740.066 0, 1288489.728 762757.038 0, 1288776.16 762774.026 0, 1289061.252 762790.952 0, 1289391.678 757228.081 0,
+ 1289722.09 751665.467 0))
+
+POLYGON ((1302808.747 763627.024 0, 1302523.702 763609.292 0, 1302237.32 763591.495 0, 1301950.936 763573.714 0, 1301664.551 763555.95 0, 1301378.165 763538.204 0, 1301091.778 763520.473 0, 1300805.389 763502.76 0, 1300519 763485.064 0, 1300232.61 763467.384 0,
+ 1299946.219 763449.722 0, 1299659.827 763432.076 0, 1299373.433 763414.447 0, 1299087.039 763396.835 0, 1298800.644 763379.24 0, 1298514.247 763361.661 0, 1298227.85 763344.1 0, 1297941.451 763326.555 0, 1297655.052 763309.027 0, 1297368.651 763291.516 0,
+ 1297082.25 763274.022 0, 1296795.847 763256.545 0, 1296509.443 763239.084 0, 1296223.039 763221.641 0, 1295935.295 763204.133 0, 1295650.226 763186.804 0, 1295363.819 763169.411 0, 1295077.41 763152.035 0, 1294791 763134.676 0, 1294504.589 763117.334 0,
+ 1294218.177 763100.008 0, 1293931.765 763082.7 0, 1293645.351 763065.408 0, 1293358.936 763048.133 0, 1293072.52 763030.875 0, 1292786.103 763013.633 0, 1292499.685 762996.409 0, 1292213.266 762979.202 0, 1291926.846 762962.011 0, 1291640.425 762944.837 0,
+ 1291354.003 762927.68 0, 1291067.58 762910.54 0, 1290781.156 762893.417 0, 1290494.731 762876.31 0, 1290208.305 762859.221 0, 1289921.878 762842.148 0, 1289635.45 762825.092 0, 1289349.021 762808.054 0, 1289061.252 762790.952 0, 1288730.81 768354.076 0,
+ 1288400.353 773917.451 0, 1288687.465 773934.513 0, 1288973.239 773951.513 0, 1289259.012 773968.53 0, 1289544.784 773985.564 0, 1289830.555 774002.614 0, 1290116.326 774019.681 0, 1290402.095 774036.765 0, 1290687.863 774053.866 0, 1290973.63 774070.984 0,
+ 1291259.396 774088.119 0, 1291545.161 774105.27 0, 1291830.925 774122.438 0, 1292116.688 774139.623 0, 1292402.45 774156.825 0, 1292688.211 774174.044 0, 1292973.971 774191.279 0, 1293259.73 774208.531 0, 1293545.488 774225.8 0, 1293831.245 774243.086 0,
+ 1294117.001 774260.389 0, 1294402.756 774277.709 0, 1294688.51 774295.045 0, 1294974.263 774312.398 0, 1295258.68 774329.687 0, 1295545.766 774347.155 0, 1295831.516 774364.559 0, 1296117.265 774381.979 0, 1296403.012 774399.416 0, 1296688.759 774416.87 0,
+ 1296974.505 774434.341 0, 1297260.25 774451.829 0, 1297545.993 774469.334 0, 1297831.736 774486.855 0, 1298117.477 774504.393 0, 1298403.218 774521.948 0, 1298688.958 774539.52 0, 1298974.696 774557.109 0, 1299260.434 774574.714 0, 1299546.17 774592.336 0,
+ 1299831.905 774609.976 0, 1300117.64 774627.632 0, 1300403.373 774645.304 0, 1300689.105 774662.994 0, 1300974.837 774680.7 0, 1301260.567 774698.423 0, 1301546.296 774716.163 0, 1301832.024 774733.92 0, 1302116.417 774751.611 0, 1302462.59 769189.192 0,
+ 1302808.747 763627.024 0))
+
+POLYGON ((1315830.069 775624.518 0, 1315545.725 775606.024 0, 1315260.049 775587.46 0, 1314974.371 775568.913 0, 1314688.692 775550.382 0, 1314403.012 775531.869 0, 1314117.33 775513.372 0, 1313831.648 775494.892 0, 1313545.965 775476.429 0, 1313260.28 775457.983 0,
+ 1312974.595 775439.553 0, 1312688.908 775421.141 0, 1312403.221 775402.745 0, 1312117.532 775384.366 0, 1311831.842 775366.004 0, 1311546.151 775347.658 0, 1311260.459 775329.33 0, 1310974.766 775311.018 0, 1310689.072 775292.723 0, 1310403.377 775274.445 0,
+ 1310117.68 775256.183 0, 1309831.983 775237.939 0, 1309546.284 775219.711 0, 1309260.585 775201.5 0, 1308973.551 775183.221 0, 1308689.183 775165.129 0, 1308403.48 775146.969 0, 1308117.776 775128.825 0, 1307832.071 775110.698 0, 1307546.365 775092.588 0,
+ 1307260.658 775074.495 0, 1306974.95 775056.419 0, 1306689.241 775038.359 0, 1306403.531 775020.317 0, 1306117.82 775002.291 0, 1305832.107 774984.282 0, 1305546.394 774966.289 0, 1305260.679 774948.314 0, 1304974.964 774930.355 0, 1304689.247 774912.413 0,
+ 1304403.53 774894.488 0, 1304117.811 774876.58 0, 1303832.091 774858.689 0, 1303546.371 774840.814 0, 1303260.649 774822.957 0, 1302974.926 774805.116 0, 1302689.202 774787.292 0, 1302403.477 774769.484 0, 1302116.417 774751.611 0, 1301770.229 780314.276 0,
+ 1301424.025 785877.184 0, 1301710.428 785895.016 0, 1301995.498 785912.783 0, 1302280.567 785930.566 0, 1302565.635 785948.366 0, 1302850.702 785966.183 0, 1303135.768 785984.016 0, 1303420.833 786001.867 0, 1303705.897 786019.734 0, 1303990.96 786037.618 0,
+ 1304276.021 786055.518 0, 1304561.082 786073.436 0, 1304846.142 786091.37 0, 1305131.2 786109.321 0, 1305416.258 786127.289 0, 1305701.314 786145.273 0, 1305986.37 786163.275 0, 1306271.424 786181.293 0, 1306556.477 786199.328 0, 1306841.529 786217.38 0,
+ 1307126.581 786235.448 0, 1307411.631 786253.533 0, 1307696.68 786271.635 0, 1307981.728 786289.754 0, 1308265.445 786307.805 0, 1308551.82 786326.042 0, 1308836.865 786344.211 0, 1309121.909 786362.397 0, 1309406.951 786380.6 0, 1309691.993 786398.819 0,
+ 1309977.034 786417.055 0, 1310262.073 786435.309 0, 1310547.111 786453.578 0, 1310832.148 786471.865 0, 1311117.185 786490.168 0, 1311402.22 786508.488 0, 1311687.254 786526.825 0, 1311972.287 786545.179 0, 1312257.319 786563.549 0, 1312542.349 786581.937 0,
+ 1312827.379 786600.341 0, 1313112.408 786618.761 0, 1313397.435 786637.199 0, 1313682.462 786655.653 0, 1313967.487 786674.124 0, 1314252.511 786692.612 0, 1314537.534 786711.117 0, 1314822.556 786729.638 0, 1315106.249 786748.09 0, 1315468.167 781186.183 0,
+ 1315830.069 775624.518 0))
+
+POLYGON ((1328785.957 787657.648 0, 1328502.316 787638.395 0, 1328217.347 787619.068 0, 1327932.377 787599.758 0, 1327647.407 787580.465 0, 1327362.435 787561.189 0, 1327077.461 787541.93 0, 1326792.487 787522.687 0, 1326507.512 787503.461 0, 1326222.535 787484.252 0,
+ 1325937.557 787465.059 0, 1325652.579 787445.884 0, 1325367.599 787426.725 0, 1325082.618 787407.583 0, 1324797.635 787388.457 0, 1324512.652 787369.349 0, 1324227.668 787350.257 0, 1323942.682 787331.182 0, 1323657.695 787312.124 0, 1323372.707 787293.082 0,
+ 1323087.719 787274.057 0, 1322802.729 787255.05 0, 1322517.737 787236.058 0, 1322232.745 787217.084 0, 1321946.424 787198.038 0, 1321662.757 787179.186 0, 1321377.761 787160.262 0, 1321092.765 787141.354 0, 1320807.767 787122.464 0, 1320522.768 787103.59 0,
+ 1320237.768 787084.733 0, 1319952.767 787065.893 0, 1319667.764 787047.07 0, 1319382.761 787028.263 0, 1319097.756 787009.473 0, 1318812.751 786990.7 0, 1318527.744 786971.944 0, 1318242.736 786953.204 0, 1317957.727 786934.481 0, 1317672.717 786915.776 0,
+ 1317387.706 786897.086 0, 1317102.694 786878.414 0, 1316817.681 786859.758 0, 1316532.666 786841.119 0, 1316247.651 786822.497 0, 1315962.634 786803.892 0, 1315677.616 786785.303 0, 1315392.597 786766.732 0, 1315106.249 786748.09 0, 1314744.315 792310.237 0,
+ 1314382.366 797872.619 0, 1314668.057 797891.218 0, 1314952.421 797909.747 0, 1315236.784 797928.293 0, 1315521.146 797946.855 0, 1315805.506 797965.435 0, 1316089.866 797984.031 0, 1316374.225 798002.644 0, 1316658.582 798021.273 0, 1316942.939 798039.919 0,
+ 1317227.294 798058.582 0, 1317511.648 798077.262 0, 1317796.001 798095.959 0, 1318080.353 798114.672 0, 1318364.704 798133.402 0, 1318649.054 798152.148 0, 1318933.403 798170.912 0, 1319217.75 798189.692 0, 1319502.097 798208.489 0, 1319786.442 798227.303 0,
+ 1320070.786 798246.133 0, 1320355.129 798264.98 0, 1320639.471 798283.844 0, 1320923.812 798302.724 0, 1321206.828 798321.534 0, 1321492.491 798340.536 0, 1321776.828 798359.466 0, 1322061.165 798378.414 0, 1322345.5 798397.378 0, 1322629.835 798416.359 0,
+ 1322914.168 798435.357 0, 1323198.5 798454.371 0, 1323482.831 798473.403 0, 1323767.16 798492.451 0, 1324051.489 798511.515 0, 1324335.816 798530.597 0, 1324620.143 798549.695 0, 1324904.468 798568.81 0, 1325188.792 798587.941 0, 1325473.115 798607.09 0,
+ 1325757.437 798626.255 0, 1326041.758 798645.436 0, 1326326.078 798664.635 0, 1326610.396 798683.85 0, 1326894.713 798703.082 0, 1327179.03 798722.331 0, 1327463.345 798741.596 0, 1327747.659 798760.879 0, 1328030.648 798780.088 0, 1328408.311 793218.75 0,
+ 1328785.957 787657.648 0))
+
+POLYGON ((1341676.313 799726.111 0, 1341393.376 799706.103 0, 1341109.118 799686.017 0, 1340824.858 799665.949 0, 1340540.598 799645.897 0, 1340256.336 799625.862 0, 1339972.073 799605.843 0, 1339687.808 799585.841 0, 1339403.543 799565.856 0, 1339119.276 799545.888 0,
+ 1338835.008 799525.937 0, 1338550.739 799506.002 0, 1338266.469 799486.084 0, 1337982.198 799466.183 0, 1337697.926 799446.298 0, 1337413.652 799426.43 0, 1337129.377 799406.579 0, 1336845.101 799386.745 0, 1336560.824 799366.927 0, 1336276.546 799347.126 0,
+ 1335992.266 799327.342 0, 1335707.985 799307.574 0, 1335423.704 799287.824 0, 1335139.421 799268.09 0, 1334853.815 799248.281 0, 1334570.851 799228.672 0, 1334286.565 799208.988 0, 1334002.277 799189.321 0, 1333717.988 799169.67 0, 1333433.699 799150.037 0,
+ 1333149.407 799130.42 0, 1332865.115 799110.82 0, 1332580.822 799091.236 0, 1332296.527 799071.67 0, 1332012.232 799052.12 0, 1331727.935 799032.587 0, 1331443.637 799013.07 0, 1331159.338 798993.57 0, 1330875.037 798974.087 0, 1330590.736 798954.621 0,
+ 1330306.433 798935.172 0, 1330022.13 798915.739 0, 1329737.825 798896.323 0, 1329453.519 798876.923 0, 1329169.212 798857.541 0, 1328884.903 798838.175 0, 1328600.594 798818.826 0, 1328316.283 798799.493 0, 1328030.648 798780.088 0, 1327652.97 804341.657 0,
+ 1327275.277 809903.455 0, 1327560.254 809922.816 0, 1327843.91 809942.104 0, 1328127.565 809961.409 0, 1328411.218 809980.73 0, 1328694.871 810000.068 0, 1328978.522 810019.422 0, 1329262.172 810038.794 0, 1329545.821 810058.182 0, 1329829.469 810077.587 0,
+ 1330113.116 810097.008 0, 1330396.761 810116.446 0, 1330680.406 810135.901 0, 1330964.049 810155.373 0, 1331247.691 810174.861 0, 1331531.332 810194.366 0, 1331814.972 810213.887 0, 1332098.611 810233.426 0, 1332382.249 810252.981 0, 1332665.885 810272.552 0,
+ 1332949.52 810292.141 0, 1333233.154 810311.746 0, 1333516.787 810331.368 0, 1333800.419 810351.006 0, 1334082.731 810370.57 0, 1334367.679 810390.333 0, 1334651.308 810410.022 0, 1334934.935 810429.727 0, 1335218.561 810449.449 0, 1335502.186 810469.188 0,
+ 1335785.809 810488.943 0, 1336069.432 810508.715 0, 1336353.053 810528.504 0, 1336636.674 810548.309 0, 1336920.293 810568.131 0, 1337203.91 810587.97 0, 1337487.527 810607.826 0, 1337771.143 810627.698 0, 1338054.757 810647.587 0, 1338338.37 810667.492 0,
+ 1338621.982 810687.415 0, 1338905.593 810707.354 0, 1339189.203 810727.309 0, 1339472.811 810747.282 0, 1339756.419 810767.271 0, 1340040.025 810787.276 0, 1340323.63 810807.299 0, 1340607.233 810827.338 0, 1340889.518 810847.3 0, 1341282.924 805286.592 0,
+ 1341676.313 799726.111 0))
+
+POLYGON ((1354501.039 811829.605 0, 1354218.81 811808.844 0, 1353935.264 811788.004 0, 1353651.716 811767.181 0, 1353368.168 811746.374 0, 1353084.618 811725.583 0, 1352801.067 811704.81 0, 1352517.515 811684.053 0, 1352233.962 811663.313 0, 1351950.407 811642.59 0,
+ 1351666.851 811621.883 0, 1351383.294 811601.193 0, 1351099.736 811580.519 0, 1350816.176 811559.863 0, 1350532.616 811539.223 0, 1350249.054 811518.599 0, 1349965.491 811497.993 0, 1349681.926 811477.403 0, 1349398.361 811456.83 0, 1349114.794 811436.273 0,
+ 1348831.226 811415.733 0, 1348547.657 811395.21 0, 1348264.087 811374.704 0, 1347980.515 811354.214 0, 1347695.626 811333.646 0, 1347413.368 811313.284 0, 1347129.793 811292.845 0, 1346846.217 811272.421 0, 1346562.639 811252.015 0, 1346279.06 811231.626 0,
+ 1345995.48 811211.253 0, 1345711.899 811190.896 0, 1345428.317 811170.557 0, 1345144.733 811150.234 0, 1344861.148 811129.928 0, 1344577.562 811109.638 0, 1344293.975 811089.365 0, 1344010.387 811069.109 0, 1343726.797 811048.87 0, 1343443.206 811028.647 0,
+ 1343159.614 811008.441 0, 1342876.021 810988.252 0, 1342592.427 810968.079 0, 1342308.831 810947.923 0, 1342025.235 810927.784 0, 1341741.637 810907.661 0, 1341458.038 810887.555 0, 1341174.438 810867.466 0, 1340889.518 810847.3 0, 1340496.097 816408.234 0,
+ 1340102.661 821969.388 0, 1340386.922 821989.507 0, 1340669.868 822009.55 0, 1340952.812 822029.61 0, 1341235.755 822049.686 0, 1341518.697 822069.779 0, 1341801.638 822089.888 0, 1342084.578 822110.014 0, 1342367.517 822130.157 0, 1342650.454 822150.316 0,
+ 1342933.39 822170.492 0, 1343216.325 822190.685 0, 1343499.259 822210.894 0, 1343782.191 822231.121 0, 1344065.123 822251.363 0, 1344348.053 822271.622 0, 1344630.982 822291.898 0, 1344913.91 822312.191 0, 1345196.837 822332.5 0, 1345479.762 822352.826 0,
+ 1345762.686 822373.169 0, 1346045.609 822393.528 0, 1346328.531 822413.904 0, 1346611.452 822434.296 0, 1346893.058 822454.611 0, 1347177.289 822475.132 0, 1347460.206 822495.574 0, 1347743.122 822516.033 0, 1348026.037 822536.509 0, 1348308.95 822557.001 0,
+ 1348591.862 822577.51 0, 1348874.773 822598.036 0, 1349157.683 822618.579 0, 1349440.592 822639.138 0, 1349723.499 822659.713 0, 1350006.405 822680.306 0, 1350289.31 822700.915 0, 1350572.214 822721.54 0, 1350855.117 822742.183 0, 1351138.018 822762.842 0,
+ 1351420.918 822783.517 0, 1351703.817 822804.21 0, 1351986.715 822824.918 0, 1352269.611 822845.644 0, 1352552.506 822866.386 0, 1352835.4 822887.145 0, 1353118.293 822907.921 0, 1353401.184 822928.713 0, 1353682.763 822949.425 0, 1354091.909 817389.404 0,
+ 1354501.039 811829.605 0))
+
+POLYGON ((1367260.042 823967.824 0, 1366978.521 823946.316 0, 1366695.689 823924.725 0, 1366412.856 823903.15 0, 1366130.022 823881.592 0, 1365847.187 823860.051 0, 1365564.35 823838.526 0, 1365281.512 823817.018 0, 1364998.673 823795.527 0, 1364715.832 823774.052 0,
+ 1364432.99 823752.594 0, 1364150.147 823731.152 0, 1363867.303 823709.728 0, 1363584.457 823688.319 0, 1363301.61 823666.928 0, 1363018.762 823645.553 0, 1362735.913 823624.195 0, 1362453.062 823602.853 0, 1362170.21 823581.528 0, 1361887.357 823560.22 0,
+ 1361604.503 823538.928 0, 1361321.647 823517.653 0, 1361038.79 823496.395 0, 1360755.932 823475.153 0, 1360471.762 823453.83 0, 1360190.212 823432.72 0, 1359907.35 823411.528 0, 1359624.487 823390.353 0, 1359341.623 823369.194 0, 1359058.757 823348.053 0,
+ 1358775.89 823326.927 0, 1358493.022 823305.819 0, 1358210.153 823284.727 0, 1357927.282 823263.652 0, 1357644.41 823242.593 0, 1357361.537 823221.551 0, 1357078.663 823200.526 0, 1356795.787 823179.518 0, 1356512.91 823158.526 0, 1356230.032 823137.55 0,
+ 1355947.153 823116.592 0, 1355664.273 823095.65 0, 1355381.391 823074.724 0, 1355098.508 823053.815 0, 1354815.624 823032.923 0, 1354532.738 823012.048 0, 1354249.852 822991.189 0, 1353966.964 822970.347 0, 1353682.763 822949.425 0, 1353273.6 828509.663 0,
+ 1352864.422 834070.115 0, 1353147.966 834090.989 0, 1353430.199 834111.783 0, 1353712.431 834132.593 0, 1353994.662 834153.42 0, 1354276.892 834174.264 0, 1354559.12 834195.124 0, 1354841.347 834216.001 0, 1355123.573 834236.895 0, 1355405.798 834257.805 0,
+ 1355688.022 834278.732 0, 1355970.244 834299.675 0, 1356252.465 834320.635 0, 1356534.685 834341.612 0, 1356816.903 834362.605 0, 1357099.121 834383.615 0, 1357381.337 834404.641 0, 1357663.552 834425.684 0, 1357945.765 834446.744 0, 1358227.978 834467.82 0,
+ 1358510.189 834488.913 0, 1358792.399 834510.023 0, 1359074.607 834531.149 0, 1359356.815 834552.292 0, 1359637.713 834573.353 0, 1359921.226 834594.627 0, 1360203.43 834615.819 0, 1360485.632 834637.029 0, 1360767.833 834658.254 0, 1361050.033 834679.497 0,
+ 1361332.232 834700.756 0, 1361614.429 834722.031 0, 1361896.625 834743.324 0, 1362178.82 834764.632 0, 1362461.014 834785.958 0, 1362743.206 834807.3 0, 1363025.398 834828.658 0, 1363307.587 834850.034 0, 1363589.776 834871.426 0, 1363871.964 834892.834 0,
+ 1364154.15 834914.259 0, 1364436.334 834935.701 0, 1364718.518 834957.159 0, 1365000.7 834978.634 0, 1365282.881 835000.126 0, 1365565.061 835021.634 0, 1365847.24 835043.158 0, 1366129.417 835064.7 0, 1366410.286 835086.158 0, 1366835.172 829526.884 0,
+ 1367260.042 823967.824 0))
+
+POLYGON ((1379953.226 836140.466 0, 1379672.416 836118.214 0, 1379390.301 836095.876 0, 1379108.185 836073.554 0, 1378826.067 836051.249 0, 1378543.947 836028.96 0, 1378261.827 836006.688 0, 1377979.705 835984.433 0, 1377697.582 835962.194 0, 1377415.457 835939.972 0,
+ 1377133.332 835917.766 0, 1376851.205 835895.577 0, 1376569.076 835873.405 0, 1376286.946 835851.249 0, 1376004.815 835829.11 0, 1375722.683 835806.987 0, 1375440.55 835784.881 0, 1375158.415 835762.792 0, 1374876.278 835740.719 0, 1374594.141 835718.663 0,
+ 1374312.002 835696.623 0, 1374029.862 835674.6 0, 1373747.721 835652.594 0, 1373465.578 835630.604 0, 1373182.129 835608.529 0, 1372901.289 835586.674 0, 1372619.142 835564.734 0, 1372336.994 835542.811 0, 1372054.845 835520.904 0, 1371772.695 835499.014 0,
+ 1371490.543 835477.141 0, 1371208.39 835455.284 0, 1370926.236 835433.444 0, 1370644.08 835411.62 0, 1370361.923 835389.813 0, 1370079.765 835368.022 0, 1369797.606 835346.249 0, 1369515.445 835324.491 0, 1369233.283 835302.751 0, 1368951.12 835281.027 0,
+ 1368668.955 835259.319 0, 1368386.789 835237.628 0, 1368104.622 835215.954 0, 1367822.454 835194.297 0, 1367540.284 835172.656 0, 1367258.113 835151.031 0, 1366975.941 835129.423 0, 1366693.768 835107.832 0, 1366410.286 835086.158 0, 1365985.384 840645.642 0,
+ 1365560.467 846205.332 0, 1365843.291 846226.956 0, 1366124.81 846248.497 0, 1366406.328 846270.055 0, 1366687.844 846291.629 0, 1366969.359 846313.22 0, 1367250.873 846334.827 0, 1367532.386 846356.451 0, 1367813.897 846378.091 0, 1368095.407 846399.748 0,
+ 1368376.916 846421.422 0, 1368658.424 846443.112 0, 1368939.93 846464.819 0, 1369221.435 846486.542 0, 1369502.939 846508.282 0, 1369784.441 846530.039 0, 1370065.942 846551.812 0, 1370347.442 846573.602 0, 1370628.941 846595.408 0, 1370910.438 846617.231 0,
+ 1371191.934 846639.07 0, 1371473.429 846660.926 0, 1371754.923 846682.798 0, 1372036.415 846704.687 0, 1372316.603 846726.492 0, 1372599.395 846748.515 0, 1372880.883 846770.454 0, 1373162.37 846792.409 0, 1373443.856 846814.381 0, 1373725.341 846836.369 0,
+ 1374006.824 846858.374 0, 1374288.306 846880.396 0, 1374569.786 846902.434 0, 1374851.265 846924.489 0, 1375132.743 846946.56 0, 1375414.22 846968.648 0, 1375695.695 846990.753 0, 1375977.169 847012.873 0, 1376258.642 847035.011 0, 1376540.114 847057.165 0,
+ 1376821.584 847079.336 0, 1377103.052 847101.523 0, 1377384.52 847123.727 0, 1377665.986 847145.947 0, 1377947.451 847168.184 0, 1378228.915 847190.438 0, 1378510.377 847212.708 0, 1378791.838 847234.995 0, 1379071.996 847257.195 0, 1379512.619 841698.727 0,
+ 1379953.226 836140.466 0))
+
+POLYGON ((1392580.5 848347.226 0, 1392300.403 848324.234 0, 1392019.007 848301.152 0, 1391737.608 848278.087 0, 1391456.209 848255.039 0, 1391174.808 848232.007 0, 1390893.405 848208.991 0, 1390612.002 848185.992 0, 1390330.597 848163.01 0, 1390049.19 848140.044 0,
+ 1389767.783 848117.095 0, 1389486.374 848094.162 0, 1389204.963 848071.246 0, 1388923.551 848048.346 0, 1388642.138 848025.463 0, 1388360.724 848002.597 0, 1388079.308 847979.747 0, 1387797.891 847956.914 0, 1387516.472 847934.097 0, 1387235.053 847911.297 0,
+ 1386953.631 847888.513 0, 1386672.209 847865.746 0, 1386390.785 847842.996 0, 1386109.36 847820.262 0, 1385826.633 847797.44 0, 1385546.505 847774.844 0, 1385265.076 847752.16 0, 1384983.646 847729.492 0, 1384702.214 847706.841 0, 1384420.781 847684.206 0,
+ 1384139.346 847661.588 0, 1383857.91 847638.987 0, 1383576.473 847616.402 0, 1383295.034 847593.834 0, 1383013.595 847571.282 0, 1382732.153 847548.747 0, 1382450.711 847526.228 0, 1382169.267 847503.726 0, 1381887.822 847481.241 0, 1381606.375 847458.772 0,
+ 1381324.928 847436.32 0, 1381043.478 847413.884 0, 1380762.028 847391.465 0, 1380480.576 847369.062 0, 1380199.123 847346.676 0, 1379917.669 847324.307 0, 1379636.213 847301.954 0, 1379354.756 847279.618 0, 1379071.996 847257.195 0, 1378631.357 852815.865 0,
+ 1378190.702 858374.733 0, 1378472.805 858397.104 0, 1378753.607 858419.389 0, 1379034.409 858441.69 0, 1379315.209 858464.007 0, 1379596.007 858486.341 0, 1379876.805 858508.692 0, 1380157.601 858531.059 0, 1380438.396 858553.442 0, 1380719.189 858575.842 0,
+ 1380999.981 858598.259 0, 1381280.772 858620.692 0, 1381561.562 858643.142 0, 1381842.35 858665.608 0, 1382123.137 858688.091 0, 1382403.922 858710.59 0, 1382684.707 858733.106 0, 1382965.489 858755.638 0, 1383246.271 858778.187 0, 1383527.051 858800.752 0,
+ 1383807.83 858823.334 0, 1384088.608 858845.933 0, 1384369.384 858868.548 0, 1384650.159 858891.179 0, 1384929.636 858913.723 0, 1385211.705 858936.492 0, 1385492.476 858959.173 0, 1385773.245 858981.87 0, 1386054.014 859004.585 0, 1386334.78 859027.315 0,
+ 1386615.546 859050.062 0, 1386896.31 859072.826 0, 1387177.073 859095.606 0, 1387457.835 859118.403 0, 1387738.595 859141.216 0, 1388019.354 859164.046 0, 1388300.111 859186.892 0, 1388580.868 859209.755 0, 1388861.622 859232.635 0, 1389142.376 859255.53 0,
+ 1389423.128 859278.443 0, 1389703.879 859301.372 0, 1389984.628 859324.317 0, 1390265.376 859347.279 0, 1390546.123 859370.258 0, 1390826.868 859393.253 0, 1391107.612 859416.264 0, 1391388.355 859439.292 0, 1391667.801 859462.231 0, 1392124.159 853904.629 0,
+ 1392580.5 848347.226 0))
+
+POLYGON ((1405141.773 860587.799 0, 1404862.391 860564.071 0, 1404581.714 860540.25 0, 1404301.037 860516.445 0, 1404020.357 860492.657 0, 1403739.677 860468.885 0, 1403458.995 860445.13 0, 1403178.311 860421.392 0, 1402897.626 860397.67 0, 1402616.94 860373.964 0,
+ 1402336.252 860350.275 0, 1402055.563 860326.603 0, 1401774.873 860302.947 0, 1401494.181 860279.308 0, 1401213.488 860255.685 0, 1400932.793 860232.078 0, 1400652.097 860208.488 0, 1400371.399 860184.915 0, 1400090.701 860161.358 0, 1399810 860137.818 0,
+ 1399529.299 860114.294 0, 1399248.596 860090.787 0, 1398967.892 860067.296 0, 1398687.186 860043.822 0, 1398405.184 860020.256 0, 1398125.77 859996.923 0, 1397845.06 859973.499 0, 1397564.349 859950.091 0, 1397283.637 859926.699 0, 1397002.923 859903.324 0,
+ 1396722.207 859879.965 0, 1396441.49 859856.623 0, 1396160.772 859833.298 0, 1395880.053 859809.989 0, 1395599.332 859786.696 0, 1395318.61 859763.42 0, 1395037.886 859740.161 0, 1394757.161 859716.918 0, 1394476.435 859693.692 0, 1394195.707 859670.482 0,
+ 1393914.978 859647.289 0, 1393634.248 859624.112 0, 1393353.516 859600.952 0, 1393072.783 859577.808 0, 1392792.048 859554.681 0, 1392511.312 859531.57 0, 1392230.575 859508.476 0, 1391949.836 859485.398 0, 1391667.801 859462.231 0, 1391211.427 865020.027 0,
+ 1390755.037 870578.016 0, 1391036.415 870601.129 0, 1391316.5 870624.153 0, 1391596.583 870647.194 0, 1391876.664 870670.25 0, 1392156.745 870693.324 0, 1392436.824 870716.414 0, 1392716.901 870739.52 0, 1392996.977 870762.643 0, 1393277.052 870785.782 0,
+ 1393557.126 870808.938 0, 1393837.198 870832.11 0, 1394117.269 870855.299 0, 1394397.338 870878.504 0, 1394677.406 870901.725 0, 1394957.473 870924.964 0, 1395237.538 870948.218 0, 1395517.602 870971.489 0, 1395797.664 870994.777 0, 1396077.726 871018.081 0,
+ 1396357.785 871041.402 0, 1396637.844 871064.739 0, 1396917.901 871088.092 0, 1397197.957 871111.462 0, 1397476.719 871134.741 0, 1397758.064 871158.252 0, 1398038.115 871181.671 0, 1398318.166 871205.107 0, 1398598.214 871228.56 0, 1398878.262 871252.029 0,
+ 1399158.308 871275.514 0, 1399438.352 871299.016 0, 1399718.396 871322.535 0, 1399998.438 871346.069 0, 1400278.478 871369.621 0, 1400558.517 871393.189 0, 1400838.555 871416.773 0, 1401118.591 871440.374 0, 1401398.626 871463.991 0, 1401678.66 871487.625 0,
+ 1401958.692 871511.275 0, 1402238.723 871534.942 0, 1402518.752 871558.625 0, 1402798.78 871582.325 0, 1403078.807 871606.041 0, 1403358.832 871629.774 0, 1403638.856 871653.523 0, 1403918.878 871677.288 0, 1404197.609 871700.961 0, 1404669.699 866144.284 0,
+ 1405141.773 860587.799 0))
+
+POLYGON ((1417636.954 872861.879 0, 1417358.289 872837.419 0, 1417078.335 872812.862 0, 1416798.38 872788.322 0, 1416518.423 872763.798 0, 1416238.464 872739.291 0, 1415958.504 872714.8 0, 1415678.543 872690.326 0, 1415398.58 872665.868 0, 1415118.616 872641.427 0,
+ 1414838.65 872617.002 0, 1414558.683 872592.594 0, 1414278.715 872568.202 0, 1413998.745 872543.827 0, 1413718.773 872519.468 0, 1413438.8 872495.125 0, 1413158.826 872470.799 0, 1412878.85 872446.49 0, 1412598.873 872422.197 0, 1412318.895 872397.92 0,
+ 1412038.915 872373.66 0, 1411758.933 872349.417 0, 1411478.95 872325.19 0, 1411198.966 872300.979 0, 1410917.691 872276.674 0, 1410638.993 872252.607 0, 1410359.005 872228.446 0, 1410079.015 872204.302 0, 1409799.023 872180.173 0, 1409519.031 872156.062 0,
+ 1409239.036 872131.966 0, 1408959.041 872107.888 0, 1408679.044 872083.825 0, 1408399.045 872059.78 0, 1408119.045 872035.75 0, 1407839.044 872011.737 0, 1407559.041 871987.741 0, 1407279.037 871963.761 0, 1406999.032 871939.798 0, 1406719.025 871915.851 0,
+ 1406439.016 871891.921 0, 1406159.007 871868.007 0, 1405878.995 871844.109 0, 1405598.983 871820.228 0, 1405318.969 871796.364 0, 1405038.954 871772.516 0, 1404758.937 871748.684 0, 1404478.919 871724.869 0, 1404197.609 871700.961 0, 1403725.503 877257.825 0,
+ 1403253.381 882814.873 0, 1403534.034 882838.726 0, 1403813.398 882862.485 0, 1404092.76 882886.261 0, 1404372.122 882910.053 0, 1404651.481 882933.862 0, 1404930.84 882957.687 0, 1405210.197 882981.529 0, 1405489.553 883005.387 0, 1405768.907 883029.262 0,
+ 1406048.26 883053.153 0, 1406327.611 883077.06 0, 1406606.961 883100.984 0, 1406886.31 883124.924 0, 1407165.657 883148.881 0, 1407445.003 883172.854 0, 1407724.347 883196.844 0, 1408003.69 883220.85 0, 1408283.032 883244.872 0, 1408562.372 883268.911 0,
+ 1408841.71 883292.967 0, 1409121.048 883317.038 0, 1409400.384 883341.127 0, 1409679.718 883365.231 0, 1409957.765 883389.241 0, 1410238.383 883413.49 0, 1410517.713 883437.644 0, 1410797.042 883461.815 0, 1411076.369 883486.002 0, 1411355.695 883510.205 0,
+ 1411635.02 883534.425 0, 1411914.343 883558.661 0, 1412193.664 883582.914 0, 1412472.985 883607.183 0, 1412752.303 883631.468 0, 1413031.621 883655.77 0, 1413310.937 883680.089 0, 1413590.251 883704.424 0, 1413869.564 883728.775 0, 1414148.876 883753.143 0,
+ 1414428.186 883777.527 0, 1414707.495 883801.928 0, 1414986.802 883826.345 0, 1415266.108 883850.778 0, 1415545.413 883875.228 0, 1415824.716 883899.695 0, 1416104.017 883924.177 0, 1416383.317 883948.677 0, 1416661.331 883973.08 0, 1417149.151 878417.387 0,
+ 1417636.954 872861.879 0))
+
+POLYGON ((1430065.956 885169.161 0, 1429788.01 885143.973 0, 1429508.78 885118.684 0, 1429229.549 885093.413 0, 1428950.316 885068.157 0, 1428671.082 885042.918 0, 1428391.846 885017.696 0, 1428112.609 884992.49 0, 1427833.37 884967.3 0, 1427554.13 884942.127 0,
+ 1427274.888 884916.97 0, 1426995.645 884891.83 0, 1426716.4 884866.706 0, 1426437.154 884841.598 0, 1426157.907 884816.507 0, 1425878.658 884791.433 0, 1425599.407 884766.375 0, 1425320.155 884741.333 0, 1425040.902 884716.308 0, 1424761.647 884691.299 0,
+ 1424482.39 884666.306 0, 1424203.132 884641.33 0, 1423923.873 884616.371 0, 1423644.612 884591.428 0, 1423364.066 884566.386 0, 1423086.086 884541.591 0, 1422806.821 884516.697 0, 1422527.554 884491.82 0, 1422248.286 884466.959 0, 1421969.016 884442.114 0,
+ 1421689.745 884417.286 0, 1421410.472 884392.475 0, 1421131.198 884367.679 0, 1420851.923 884342.901 0, 1420572.646 884318.138 0, 1420293.367 884293.393 0, 1420014.088 884268.663 0, 1419734.806 884243.95 0, 1419455.524 884219.254 0, 1419176.239 884194.574 0,
+ 1418896.954 884169.91 0, 1418617.667 884145.263 0, 1418338.378 884120.632 0, 1418059.088 884096.018 0, 1417779.796 884071.42 0, 1417500.504 884046.838 0, 1417221.209 884022.273 0, 1416941.913 883997.725 0, 1416661.331 883973.08 0, 1416173.496 889528.952 0,
+ 1415685.645 895085 0, 1415965.57 895109.588 0, 1416244.212 895134.079 0, 1416522.852 895158.586 0, 1416801.491 895183.11 0, 1417080.129 895207.651 0, 1417358.765 895232.207 0, 1417637.399 895256.78 0, 1417916.032 895281.37 0, 1418194.664 895305.976 0,
+ 1418473.294 895330.598 0, 1418751.923 895355.237 0, 1419030.55 895379.892 0, 1419309.176 895404.563 0, 1419587.801 895429.251 0, 1419866.424 895453.956 0, 1420145.045 895478.676 0, 1420423.665 895503.413 0, 1420702.284 895528.167 0, 1420980.901 895552.937 0,
+ 1421259.517 895577.723 0, 1421538.131 895602.526 0, 1421816.744 895627.345 0, 1422095.355 895652.18 0, 1422372.684 895676.918 0, 1422652.573 895701.901 0, 1422931.18 895726.785 0, 1423209.786 895751.686 0, 1423488.39 895776.604 0, 1423766.992 895801.538 0,
+ 1424045.593 895826.488 0, 1424324.193 895851.455 0, 1424602.791 895876.438 0, 1424881.387 895901.437 0, 1425159.983 895926.453 0, 1425438.576 895951.485 0, 1425717.169 895976.534 0, 1425995.759 896001.599 0, 1426274.349 896026.681 0, 1426552.936 896051.778 0,
+ 1426831.523 896076.893 0, 1427110.108 896102.023 0, 1427388.691 896127.17 0, 1427667.273 896152.334 0, 1427945.853 896177.514 0, 1428224.432 896202.71 0, 1428503.01 896227.923 0, 1428781.585 896253.152 0, 1429058.881 896278.281 0, 1429562.426 890723.633 0,
+ 1430065.956 885169.161 0))
+
+POLYGON ((1442428.691 897509.339 0, 1442151.466 897483.426 0, 1441872.963 897457.41 0, 1441594.458 897431.41 0, 1441315.951 897405.427 0, 1441037.443 897379.46 0, 1440758.933 897353.51 0, 1440480.422 897327.576 0, 1440201.909 897301.658 0, 1439923.395 897275.757 0,
+ 1439644.879 897249.872 0, 1439366.362 897224.004 0, 1439087.843 897198.152 0, 1438809.323 897172.316 0, 1438530.801 897146.497 0, 1438252.278 897120.694 0, 1437973.753 897094.908 0, 1437695.226 897069.138 0, 1437416.698 897043.384 0, 1437138.169 897017.647 0,
+ 1436859.638 896991.926 0, 1436581.105 896966.221 0, 1436302.571 896940.533 0, 1436024.036 896914.861 0, 1435744.221 896889.088 0, 1435466.96 896863.567 0, 1435188.42 896837.945 0, 1434909.879 896812.338 0, 1434631.336 896786.749 0, 1434352.791 896761.175 0,
+ 1434074.245 896735.618 0, 1433795.698 896710.078 0, 1433517.149 896684.554 0, 1433238.598 896659.046 0, 1432960.046 896633.555 0, 1432681.492 896608.08 0, 1432402.937 896582.621 0, 1432124.381 896557.179 0, 1431845.823 896531.753 0, 1431567.263 896506.344 0,
+ 1431288.702 896480.951 0, 1431010.14 896455.574 0, 1430731.575 896430.214 0, 1430453.01 896404.87 0, 1430174.443 896379.543 0, 1429895.874 896354.232 0, 1429617.304 896328.937 0, 1429338.733 896303.659 0, 1429058.881 896278.281 0, 1428555.319 901833.102 0,
+ 1428051.743 907388.091 0, 1428330.938 907413.409 0, 1428608.856 907438.628 0, 1428886.772 907463.863 0, 1429164.686 907489.115 0, 1429442.6 907514.383 0, 1429720.511 907539.667 0, 1429998.421 907564.968 0, 1430276.33 907590.285 0, 1430554.237 907615.618 0,
+ 1430832.143 907640.968 0, 1431110.047 907666.334 0, 1431387.95 907691.717 0, 1431665.851 907717.115 0, 1431943.751 907742.531 0, 1432221.649 907767.962 0, 1432499.546 907793.41 0, 1432777.441 907818.874 0, 1433055.335 907844.355 0, 1433333.227 907869.852 0,
+ 1433611.117 907895.365 0, 1433889.007 907920.895 0, 1434166.894 907946.441 0, 1434444.781 907972.003 0, 1434721.39 907997.464 0, 1435000.549 908023.177 0, 1435278.43 908048.788 0, 1435556.31 908074.416 0, 1435834.189 908100.06 0, 1436112.066 908125.721 0,
+ 1436389.942 908151.398 0, 1436667.816 908177.091 0, 1436945.689 908202.801 0, 1437223.56 908228.526 0, 1437501.429 908254.269 0, 1437779.297 908280.027 0, 1438057.164 908305.802 0, 1438335.029 908331.594 0, 1438612.893 908357.401 0, 1438890.755 908383.225 0,
+ 1439168.615 908409.066 0, 1439446.474 908434.923 0, 1439724.332 908460.796 0, 1440002.187 908486.685 0, 1440280.042 908512.591 0, 1440557.895 908538.513 0, 1440835.746 908564.452 0, 1441113.596 908590.407 0, 1441390.17 908616.259 0, 1441909.439 903062.714 0,
+ 1442428.691 897509.339 0))
+
+POLYGON ((1454725.075 909882.105 0, 1454448.573 909855.472 0, 1454170.797 909828.732 0, 1453893.02 909802.009 0, 1453615.242 909775.302 0, 1453337.462 909748.611 0, 1453059.68 909721.936 0, 1452781.897 909695.278 0, 1452504.112 909668.637 0, 1452226.325 909642.011 0,
+ 1451948.537 909615.402 0, 1451670.748 909588.81 0, 1451392.957 909562.234 0, 1451115.164 909535.674 0, 1450837.37 909509.13 0, 1450559.574 909482.603 0, 1450281.777 909456.092 0, 1450003.978 909429.598 0, 1449726.178 909403.119 0, 1449448.376 909376.658 0,
+ 1449170.572 909350.212 0, 1448892.767 909323.783 0, 1448614.96 909297.37 0, 1448337.152 909270.974 0, 1448058.07 909244.473 0, 1447781.531 909218.23 0, 1447503.718 909191.883 0, 1447225.904 909165.552 0, 1446948.088 909139.237 0, 1446670.27 909112.939 0,
+ 1446392.451 909086.657 0, 1446114.63 909060.391 0, 1445836.808 909034.142 0, 1445558.985 909007.909 0, 1445281.159 908981.693 0, 1445003.333 908955.492 0, 1444725.504 908929.308 0, 1444447.674 908903.141 0, 1444169.843 908876.99 0, 1443892.01 908850.855 0,
+ 1443614.175 908824.737 0, 1443336.339 908798.635 0, 1443058.502 908772.549 0, 1442780.663 908746.48 0, 1442502.822 908720.426 0, 1442224.98 908694.39 0, 1441947.136 908668.37 0, 1441669.291 908642.366 0, 1441390.17 908616.259 0, 1440870.886 914169.968 0,
+ 1440351.587 919723.838 0, 1440630.051 919749.883 0, 1440907.243 919775.826 0, 1441184.433 919801.785 0, 1441461.621 919827.761 0, 1441738.808 919853.752 0, 1442015.993 919879.76 0, 1442293.177 919905.785 0, 1442570.36 919931.825 0, 1442847.54 919957.882 0,
+ 1443124.72 919983.956 0, 1443401.897 920010.045 0, 1443679.073 920036.151 0, 1443956.248 920062.273 0, 1444233.421 920088.412 0, 1444510.593 920114.567 0, 1444787.763 920140.738 0, 1445064.931 920166.925 0, 1445342.098 920193.129 0, 1445619.263 920219.349 0,
+ 1445896.427 920245.586 0, 1446173.589 920271.838 0, 1446450.75 920298.107 0, 1446727.909 920324.393 0, 1447003.797 920350.574 0, 1447282.223 920377.012 0, 1447559.378 920403.347 0, 1447836.531 920429.697 0, 1448113.682 920456.064 0, 1448390.832 920482.448 0,
+ 1448667.98 920508.847 0, 1448945.127 920535.263 0, 1449222.272 920561.695 0, 1449499.416 920588.144 0, 1449776.558 920614.608 0, 1450053.699 920641.09 0, 1450330.838 920667.587 0, 1450607.975 920694.101 0, 1450885.111 920720.631 0, 1451162.245 920747.177 0,
+ 1451439.378 920773.74 0, 1451716.509 920800.319 0, 1451993.639 920826.914 0, 1452270.767 920853.526 0, 1452547.893 920880.154 0, 1452825.018 920906.798 0, 1453102.142 920933.458 0, 1453379.264 920960.135 0, 1453655.115 920986.706 0, 1454190.103 915434.325 0,
+ 1454725.075 909882.105 0))
+
+POLYGON ((1466955.022 922287.154 0, 1466679.245 922259.804 0, 1466402.199 922232.344 0, 1466125.152 922204.901 0, 1465848.104 922177.474 0, 1465571.054 922150.063 0, 1465294.002 922122.668 0, 1465016.948 922095.29 0, 1464739.893 922067.928 0, 1464462.837 922040.583 0,
+ 1464185.779 922013.254 0, 1463908.719 921985.941 0, 1463631.657 921958.644 0, 1463354.594 921931.364 0, 1463077.53 921904.1 0, 1462800.463 921876.852 0, 1462523.396 921849.621 0, 1462246.326 921822.406 0, 1461969.255 921795.207 0, 1461692.182 921768.025 0,
+ 1461415.108 921740.859 0, 1461138.032 921713.709 0, 1460860.955 921686.575 0, 1460583.876 921659.458 0, 1460305.528 921632.233 0, 1460029.713 921605.273 0, 1459752.629 921578.204 0, 1459475.544 921551.152 0, 1459198.457 921524.117 0, 1458921.368 921497.097 0,
+ 1458644.278 921470.094 0, 1458367.186 921443.107 0, 1458090.093 921416.137 0, 1457812.998 921389.183 0, 1457535.901 921362.245 0, 1457258.803 921335.324 0, 1456981.703 921308.418 0, 1456704.602 921281.53 0, 1456427.499 921254.657 0, 1456150.395 921227.801 0,
+ 1455873.289 921200.961 0, 1455596.181 921174.137 0, 1455319.072 921147.33 0, 1455041.961 921120.539 0, 1454764.849 921093.764 0, 1454487.735 921067.006 0, 1454210.619 921040.264 0, 1453933.502 921013.538 0, 1453655.115 920986.706 0, 1453120.113 926539.244 0,
+ 1452585.095 932091.935 0, 1452862.826 932118.703 0, 1453139.289 932145.366 0, 1453415.751 932172.045 0, 1453692.211 932198.741 0, 1453968.67 932225.452 0, 1454245.127 932252.18 0, 1454521.583 932278.924 0, 1454798.037 932305.684 0, 1455074.489 932332.461 0,
+ 1455350.94 932359.254 0, 1455627.389 932386.063 0, 1455903.837 932412.889 0, 1456180.283 932439.73 0, 1456456.728 932466.588 0, 1456733.171 932493.463 0, 1457009.612 932520.353 0, 1457286.052 932547.26 0, 1457562.49 932574.183 0, 1457838.927 932601.122 0,
+ 1458115.362 932628.078 0, 1458391.795 932655.05 0, 1458668.227 932682.038 0, 1458944.657 932709.043 0, 1459219.822 932735.94 0, 1459497.513 932763.1 0, 1459773.939 932790.153 0, 1460050.363 932817.223 0, 1460326.785 932844.309 0, 1460603.206 932871.411 0,
+ 1460879.625 932898.529 0, 1461156.042 932925.664 0, 1461432.458 932952.815 0, 1461708.873 932979.982 0, 1461985.285 933007.165 0, 1462261.696 933034.365 0, 1462538.106 933061.581 0, 1462814.514 933088.813 0, 1463090.92 933116.061 0, 1463367.325 933143.326 0,
+ 1463643.728 933170.607 0, 1463920.13 933197.904 0, 1464196.529 933225.218 0, 1464472.928 933252.548 0, 1464749.324 933279.894 0, 1465025.72 933307.256 0, 1465302.113 933334.635 0, 1465578.505 933362.03 0, 1465853.632 933389.316 0, 1466404.335 927838.158 0,
+ 1466955.022 922287.154 0))
+
+POLYGON ((1479118.451 934724.177 0, 1478843.4 934696.114 0, 1478567.086 934667.938 0, 1478290.771 934639.779 0, 1478014.455 934611.636 0, 1477738.136 934583.509 0, 1477461.816 934555.398 0, 1477185.495 934527.304 0, 1476909.171 934499.226 0, 1476632.846 934471.164 0,
+ 1476356.52 934443.119 0, 1476080.192 934415.089 0, 1475803.862 934387.076 0, 1475527.53 934359.08 0, 1475251.197 934331.099 0, 1474974.862 934303.135 0, 1474698.526 934275.187 0, 1474422.187 934247.255 0, 1474145.848 934219.34 0, 1473869.506 934191.441 0,
+ 1473593.163 934163.558 0, 1473316.819 934135.691 0, 1473040.472 934107.841 0, 1472764.124 934080.007 0, 1472486.513 934052.062 0, 1472211.423 934024.387 0, 1471935.07 933996.602 0, 1471658.716 933968.833 0, 1471382.36 933941.08 0, 1471106.002 933913.344 0,
+ 1470829.643 933885.623 0, 1470553.282 933857.92 0, 1470276.919 933830.232 0, 1470000.555 933802.56 0, 1469724.189 933774.905 0, 1469447.821 933747.266 0, 1469171.452 933719.644 0, 1468895.081 933692.037 0, 1468618.709 933664.447 0, 1468342.335 933636.873 0,
+ 1468065.959 933609.316 0, 1467789.582 933581.775 0, 1467513.203 933554.25 0, 1467236.822 933526.741 0, 1466960.44 933499.248 0, 1466684.056 933471.772 0, 1466407.671 933444.312 0, 1466131.284 933416.868 0, 1465853.632 933389.316 0, 1465302.915 938940.622 0,
+ 1464752.183 944492.074 0, 1465029.178 944519.562 0, 1465304.911 944546.941 0, 1465580.643 944574.336 0, 1465856.374 944601.747 0, 1466132.102 944629.175 0, 1466407.829 944656.618 0, 1466683.555 944684.078 0, 1466959.279 944711.554 0, 1467235.001 944739.047 0,
+ 1467510.722 944766.556 0, 1467786.441 944794.08 0, 1468062.158 944821.621 0, 1468337.874 944849.179 0, 1468613.588 944876.752 0, 1468889.3 944904.342 0, 1469165.011 944931.948 0, 1469440.72 944959.57 0, 1469716.428 944987.209 0, 1469992.134 945014.864 0,
+ 1470267.838 945042.534 0, 1470543.541 945070.222 0, 1470819.242 945097.925 0, 1471094.942 945125.645 0, 1471369.381 945153.254 0, 1471646.336 945181.132 0, 1471922.03 945208.901 0, 1472197.723 945236.685 0, 1472473.415 945264.486 0, 1472749.104 945292.303 0,
+ 1473024.792 945320.136 0, 1473300.479 945347.986 0, 1473576.164 945375.851 0, 1473851.847 945403.733 0, 1474127.528 945431.631 0, 1474403.208 945459.545 0, 1474678.886 945487.476 0, 1474954.563 945515.423 0, 1475230.238 945543.386 0, 1475505.911 945571.365 0,
+ 1475781.583 945599.36 0, 1476057.253 945627.372 0, 1476332.921 945655.4 0, 1476608.587 945683.444 0, 1476884.252 945711.504 0, 1477159.916 945739.581 0, 1477435.578 945767.674 0, 1477711.238 945795.783 0, 1477985.638 945823.78 0, 1478552.052 940273.906 0,
+ 1479118.451 934724.177 0))
+
+POLYGON ((971007.719 498270.603 0, 970707.185 498272.309 0, 970405.186 498274.042 0, 970103.186 498275.793 0, 969801.187 498277.562 0, 969499.188 498279.348 0, 969197.189 498281.152 0, 968895.19 498282.974 0, 968593.191 498284.814 0, 968291.192 498286.671 0,
+ 967989.193 498288.546 0, 967687.195 498290.439 0, 967385.196 498292.35 0, 967083.198 498294.279 0, 966781.2 498296.225 0, 966479.202 498298.189 0, 966177.204 498300.171 0, 965875.206 498302.171 0, 965573.208 498304.188 0, 965271.21 498306.223 0,
+ 964969.213 498308.276 0, 964667.215 498310.347 0, 964365.218 498312.435 0, 964063.221 498314.542 0, 963759.757 498316.676 0, 963459.227 498318.807 0, 963157.23 498320.967 0, 962855.234 498323.144 0, 962553.237 498325.34 0, 962251.241 498327.553 0,
+ 961949.245 498329.783 0, 961647.248 498332.032 0, 961345.252 498334.298 0, 961043.257 498336.582 0, 960741.261 498338.884 0, 960439.265 498341.203 0, 960137.27 498343.541 0, 959835.275 498345.896 0, 959533.279 498348.269 0, 959231.284 498350.659 0,
+ 958929.289 498353.068 0, 958627.295 498355.494 0, 958325.3 498357.938 0, 958023.306 498360.4 0, 957721.311 498362.879 0, 957419.317 498365.377 0, 957117.323 498367.892 0, 956815.329 498370.425 0, 956511.868 498372.988 0, 956558.972 503930.544 0,
+ 956606.08 509488.503 0, 956908.884 509485.946 0, 957210.224 509483.418 0, 957511.564 509480.909 0, 957812.904 509478.417 0, 958114.244 509475.943 0, 958415.584 509473.486 0, 958716.924 509471.047 0, 959018.265 509468.626 0, 959319.605 509466.223 0,
+ 959620.946 509463.838 0, 959922.287 509461.47 0, 960223.628 509459.12 0, 960524.969 509456.788 0, 960826.311 509454.473 0, 961127.652 509452.176 0, 961428.994 509449.897 0, 961730.336 509447.636 0, 962031.677 509445.392 0, 962333.019 509443.166 0,
+ 962634.362 509440.958 0, 962935.704 509438.768 0, 963237.046 509436.595 0, 963538.389 509434.44 0, 963838.268 509432.313 0, 964141.074 509430.184 0, 964442.417 509428.082 0, 964743.76 509425.998 0, 965045.103 509423.932 0, 965346.447 509421.883 0,
+ 965647.79 509419.852 0, 965949.133 509417.839 0, 966250.477 509415.844 0, 966551.821 509413.867 0, 966853.165 509411.907 0, 967154.509 509409.965 0, 967455.853 509408.04 0, 967757.197 509406.134 0, 968058.541 509404.245 0, 968359.886 509402.374 0,
+ 968661.23 509400.52 0, 968962.575 509398.685 0, 969263.92 509396.867 0, 969565.264 509395.066 0, 969866.609 509393.284 0, 970167.954 509391.519 0, 970469.3 509389.772 0, 970770.645 509388.043 0, 971070.528 509386.34 0, 971039.122 503828.27 0,
+ 971007.719 498270.603 0))
+
+POLYGON ((985535.206 509325.041 0, 985235.317 509325.897 0, 984933.968 509326.775 0, 984632.62 509327.671 0, 984331.271 509328.584 0, 984029.922 509329.515 0, 983728.573 509330.464 0, 983427.225 509331.431 0, 983125.876 509332.415 0, 982824.527 509333.417 0,
+ 982523.179 509334.437 0, 982221.83 509335.474 0, 981920.482 509336.53 0, 981619.134 509337.603 0, 981317.785 509338.693 0, 981016.437 509339.802 0, 980715.089 509340.928 0, 980413.741 509342.072 0, 980112.393 509343.234 0, 979811.045 509344.413 0,
+ 979509.697 509345.61 0, 979208.35 509346.825 0, 978907.002 509348.058 0, 978605.654 509349.308 0, 978302.845 509350.582 0, 978002.959 509351.862 0, 977701.612 509353.166 0, 977400.264 509354.487 0, 977098.917 509355.826 0, 976797.57 509357.183 0,
+ 976496.223 509358.557 0, 976194.876 509359.949 0, 975893.529 509361.359 0, 975592.182 509362.787 0, 975290.835 509364.233 0, 974989.489 509365.696 0, 974688.142 509367.177 0, 974386.796 509368.675 0, 974085.449 509370.192 0, 973784.103 509371.726 0,
+ 973482.757 509373.278 0, 973181.41 509374.848 0, 972880.064 509376.435 0, 972578.719 509378.04 0, 972277.373 509379.663 0, 971976.027 509381.303 0, 971674.681 509382.962 0, 971373.336 509384.638 0, 971070.528 509386.34 0, 971101.935 514944.809 0,
+ 971133.345 520503.674 0, 971435.496 520501.976 0, 971736.187 520500.303 0, 972036.878 520498.648 0, 972337.57 520497.011 0, 972638.261 520495.392 0, 972938.953 520493.791 0, 973239.645 520492.207 0, 973540.336 520490.64 0, 973841.028 520489.092 0,
+ 974141.72 520487.561 0, 974442.412 520486.048 0, 974743.105 520484.553 0, 975043.797 520483.075 0, 975344.489 520481.615 0, 975645.181 520480.173 0, 975945.874 520478.748 0, 976246.567 520477.341 0, 976547.259 520475.952 0, 976847.952 520474.58 0,
+ 977148.645 520473.226 0, 977449.338 520471.89 0, 977750.031 520470.572 0, 978050.724 520469.271 0, 978349.959 520467.994 0, 978652.11 520466.723 0, 978952.803 520465.475 0, 979253.497 520464.245 0, 979554.19 520463.033 0, 979854.884 520461.838 0,
+ 980155.577 520460.661 0, 980456.271 520459.502 0, 980756.965 520458.361 0, 981057.658 520457.237 0, 981358.352 520456.131 0, 981659.046 520455.043 0, 981959.74 520453.972 0, 982260.434 520452.919 0, 982561.128 520451.884 0, 982861.822 520450.866 0,
+ 983162.517 520449.866 0, 983463.211 520448.884 0, 983763.905 520447.92 0, 984064.599 520446.973 0, 984365.294 520446.044 0, 984665.988 520445.132 0, 984966.683 520444.239 0, 985267.378 520443.363 0, 985566.615 520442.509 0, 985550.91 514883.577 0,
+ 985535.206 509325.041 0))
+
+POLYGON ((1000000 520422.12 0, 999700.759 520422.129 0, 999400.063 520422.155 0, 999099.367 520422.199 0, 998798.671 520422.261 0, 998497.976 520422.341 0, 998197.28 520422.438 0, 997896.584 520422.553 0, 997595.888 520422.686 0, 997295.192 520422.836 0,
+ 996994.496 520423.004 0, 996693.801 520423.19 0, 996393.105 520423.393 0, 996092.409 520423.614 0, 995791.713 520423.853 0, 995491.017 520424.11 0, 995190.322 520424.384 0, 994889.626 520424.676 0, 994588.93 520424.986 0, 994288.235 520425.313 0,
+ 993987.539 520425.658 0, 993686.843 520426.021 0, 993386.148 520426.401 0, 993085.452 520426.799 0, 992783.3 520427.217 0, 992484.061 520427.649 0, 992183.365 520428.1 0, 991882.67 520428.569 0, 991581.974 520429.055 0, 991281.279 520429.56 0,
+ 990980.583 520430.082 0, 990679.888 520430.621 0, 990379.193 520431.179 0, 990078.497 520431.754 0, 989777.802 520432.347 0, 989477.107 520432.957 0, 989176.412 520433.586 0, 988875.716 520434.231 0, 988575.021 520434.895 0, 988274.326 520435.576 0,
+ 987973.631 520436.275 0, 987672.936 520436.992 0, 987372.241 520437.726 0, 987071.546 520438.479 0, 986770.851 520439.248 0, 986470.156 520440.036 0, 986169.462 520440.841 0, 985868.767 520441.664 0, 985566.615 520442.509 0, 985582.321 526001.833 0,
+ 985598.028 531561.548 0, 985899.523 531560.705 0, 986199.563 531559.884 0, 986499.603 531559.081 0, 986799.644 531558.295 0, 987099.684 531557.527 0, 987399.725 531556.776 0, 987699.765 531556.044 0, 987999.806 531555.328 0, 988299.846 531554.631 0,
+ 988599.887 531553.951 0, 988899.928 531553.289 0, 989199.968 531552.644 0, 989500.009 531552.018 0, 989800.05 531551.408 0, 990100.091 531550.817 0, 990400.132 531550.243 0, 990700.173 531549.687 0, 991000.214 531549.148 0, 991300.255 531548.627 0,
+ 991600.296 531548.124 0, 991900.337 531547.639 0, 992200.378 531547.171 0, 992500.419 531546.721 0, 992799.007 531546.29 0, 993100.501 531545.873 0, 993400.542 531545.476 0, 993700.583 531545.096 0, 994000.625 531544.734 0, 994300.666 531544.39 0,
+ 994600.707 531544.063 0, 994900.748 531543.754 0, 995200.79 531543.463 0, 995500.831 531543.189 0, 995800.872 531542.933 0, 996100.914 531542.695 0, 996400.955 531542.474 0, 996700.996 531542.271 0, 997001.038 531542.086 0, 997301.079 531541.918 0,
+ 997601.12 531541.768 0, 997901.162 531541.636 0, 998201.203 531541.521 0, 998501.245 531541.424 0, 998801.286 531541.345 0, 999101.327 531541.283 0, 999401.369 531541.239 0, 999701.41 531541.213 0, 1000000 531541.204 0, 1000000 525981.467 0,
+ 1000000 520422.12 0))
+
+POLYGON ((1014401.972 531561.548 0, 1014103.381 531560.713 0, 1013803.34 531559.892 0, 1013503.3 531559.088 0, 1013203.26 531558.302 0, 1012903.219 531557.534 0, 1012603.179 531556.784 0, 1012303.138 531556.051 0, 1012003.098 531555.335 0, 1011703.057 531554.638 0,
+ 1011403.016 531553.958 0, 1011102.976 531553.295 0, 1010802.935 531552.651 0, 1010502.894 531552.024 0, 1010202.853 531551.414 0, 1009902.813 531550.823 0, 1009602.772 531550.249 0, 1009302.731 531549.692 0, 1009002.69 531549.153 0, 1008702.649 531548.632 0,
+ 1008402.608 531548.129 0, 1008102.567 531547.643 0, 1007802.526 531547.175 0, 1007502.485 531546.725 0, 1007200.993 531546.29 0, 1006902.402 531545.877 0, 1006602.361 531545.48 0, 1006302.32 531545.1 0, 1006002.279 531544.738 0, 1005702.238 531544.393 0,
+ 1005402.196 531544.066 0, 1005102.155 531543.757 0, 1004802.114 531543.466 0, 1004502.073 531543.192 0, 1004202.031 531542.936 0, 1003901.99 531542.697 0, 1003601.949 531542.477 0, 1003301.907 531542.273 0, 1003001.866 531542.088 0, 1002701.824 531541.92 0,
+ 1002401.783 531541.77 0, 1002101.742 531541.637 0, 1001801.7 531541.522 0, 1001501.659 531541.425 0, 1001201.617 531541.346 0, 1000901.576 531541.284 0, 1000601.535 531541.239 0, 1000301.493 531541.213 0, 1000000 531541.204 0, 1000000 537101.328 0,
+ 1000000 542661.835 0, 1000300.835 542661.844 0, 1000600.222 542661.871 0, 1000899.609 542661.915 0, 1001198.996 542661.977 0, 1001498.383 542662.056 0, 1001797.77 542662.153 0, 1002097.157 542662.268 0, 1002396.544 542662.4 0, 1002695.93 542662.55 0,
+ 1002995.317 542662.717 0, 1003294.704 542662.902 0, 1003594.091 542663.105 0, 1003893.478 542663.325 0, 1004192.864 542663.563 0, 1004492.251 542663.819 0, 1004791.638 542664.092 0, 1005091.025 542664.383 0, 1005390.412 542664.691 0, 1005689.798 542665.018 0,
+ 1005989.185 542665.361 0, 1006288.572 542665.723 0, 1006587.958 542666.101 0, 1006887.345 542666.498 0, 1007185.284 542666.91 0, 1007486.118 542667.344 0, 1007785.505 542667.793 0, 1008084.891 542668.261 0, 1008384.278 542668.745 0, 1008683.664 542669.247 0,
+ 1008983.05 542669.767 0, 1009282.437 542670.305 0, 1009581.823 542670.86 0, 1009881.21 542671.433 0, 1010180.596 542672.023 0, 1010479.982 542672.631 0, 1010779.368 542673.257 0, 1011078.755 542673.9 0, 1011378.141 542674.561 0, 1011677.527 542675.24 0,
+ 1011976.913 542675.936 0, 1012276.299 542676.649 0, 1012575.685 542677.381 0, 1012875.071 542678.13 0, 1013174.457 542678.896 0, 1013473.843 542679.681 0, 1013773.229 542680.483 0, 1014072.614 542681.302 0, 1014370.554 542682.135 0, 1014386.263 537121.65 0,
+ 1014401.972 531561.548 0))
+
+POLYGON ((1028740.993 542743.034 0, 1028443.055 542741.359 0, 1028143.672 542739.694 0, 1027844.29 542738.046 0, 1027544.908 542736.416 0, 1027245.525 542734.804 0, 1026946.142 542733.209 0, 1026646.76 542731.632 0, 1026347.377 542730.072 0, 1026047.994 542728.53 0,
+ 1025748.611 542727.006 0, 1025449.228 542725.499 0, 1025149.845 542724.01 0, 1024850.461 542722.539 0, 1024551.078 542721.085 0, 1024251.695 542719.649 0, 1023952.311 542718.23 0, 1023652.927 542716.829 0, 1023353.544 542715.446 0, 1023054.16 542714.08 0,
+ 1022754.776 542712.732 0, 1022455.392 542711.402 0, 1022156.008 542710.089 0, 1021856.624 542708.793 0, 1021555.795 542707.51 0, 1021257.856 542706.256 0, 1020958.471 542705.013 0, 1020659.087 542703.789 0, 1020359.702 542702.581 0, 1020060.318 542701.392 0,
+ 1019760.933 542700.22 0, 1019461.549 542699.066 0, 1019162.164 542697.929 0, 1018862.779 542696.81 0, 1018563.394 542695.709 0, 1018264.009 542694.625 0, 1017964.624 542693.559 0, 1017665.239 542692.51 0, 1017365.854 542691.479 0, 1017066.469 542690.466 0,
+ 1016767.084 542689.47 0, 1016467.699 542688.492 0, 1016168.313 542687.532 0, 1015868.928 542686.589 0, 1015569.542 542685.664 0, 1015270.157 542684.756 0, 1014970.771 542683.866 0, 1014671.386 542682.994 0, 1014370.554 542682.135 0, 1014354.843 548243.001 0,
+ 1014339.132 553804.244 0, 1014639.306 553805.101 0, 1014938.037 553805.972 0, 1015236.768 553806.86 0, 1015535.499 553807.765 0, 1015834.229 553808.688 0, 1016132.96 553809.629 0, 1016431.691 553810.587 0, 1016730.422 553811.563 0, 1017029.152 553812.557 0,
+ 1017327.883 553813.568 0, 1017626.613 553814.597 0, 1017925.344 553815.643 0, 1018224.074 553816.707 0, 1018522.804 553817.788 0, 1018821.535 553818.887 0, 1019120.265 553820.004 0, 1019418.995 553821.138 0, 1019717.725 553822.29 0, 1020016.455 553823.459 0,
+ 1020315.185 553824.646 0, 1020613.915 553825.85 0, 1020912.644 553827.073 0, 1021211.374 553828.312 0, 1021508.662 553829.563 0, 1021808.833 553830.844 0, 1022107.563 553832.137 0, 1022406.292 553833.447 0, 1022705.021 553834.774 0, 1023003.751 553836.119 0,
+ 1023302.48 553837.482 0, 1023601.209 553838.863 0, 1023899.938 553840.26 0, 1024198.667 553841.676 0, 1024497.396 553843.109 0, 1024796.124 553844.56 0, 1025094.853 553846.028 0, 1025393.581 553847.514 0, 1025692.31 553849.017 0, 1025991.038 553850.538 0,
+ 1026289.767 553852.077 0, 1026588.495 553853.633 0, 1026887.223 553855.207 0, 1027185.951 553856.798 0, 1027484.679 553858.407 0, 1027783.407 553860.033 0, 1028082.134 553861.677 0, 1028380.862 553863.339 0, 1028678.149 553865.01 0, 1028709.572 548303.833 0,
+ 1028740.993 542743.034 0))
+
+POLYGON ((1043016.937 553966.286 0, 1042719.654 553963.775 0, 1042420.932 553961.27 0, 1042122.21 553958.782 0, 1041823.488 553956.311 0, 1041524.766 553953.858 0, 1041226.044 553951.423 0, 1040927.321 553949.005 0, 1040628.599 553946.605 0, 1040329.876 553944.223 0,
+ 1040031.153 553941.858 0, 1039732.43 553939.51 0, 1039433.707 553937.181 0, 1039134.984 553934.868 0, 1038836.26 553932.574 0, 1038537.536 553930.297 0, 1038238.813 553928.037 0, 1037940.089 553925.795 0, 1037641.365 553923.571 0, 1037342.641 553921.364 0,
+ 1037043.917 553919.175 0, 1036745.192 553917.004 0, 1036446.468 553914.85 0, 1036147.743 553912.713 0, 1035847.579 553910.584 0, 1035550.294 553908.493 0, 1035251.569 553906.41 0, 1034952.843 553904.344 0, 1034654.118 553902.295 0, 1034355.393 553900.264 0,
+ 1034056.667 553898.251 0, 1033757.942 553896.255 0, 1033459.216 553894.277 0, 1033160.49 553892.317 0, 1032861.764 553890.374 0, 1032563.038 553888.448 0, 1032264.312 553886.541 0, 1031965.586 553884.65 0, 1031666.859 553882.778 0, 1031368.133 553880.923 0,
+ 1031069.406 553879.085 0, 1030770.68 553877.265 0, 1030471.953 553875.463 0, 1030173.226 553873.678 0, 1029874.499 553871.911 0, 1029575.772 553870.161 0, 1029277.044 553868.43 0, 1028978.317 553866.715 0, 1028678.149 553865.01 0, 1028646.724 559426.561 0,
+ 1028615.296 564988.483 0, 1028914.807 564990.185 0, 1029212.879 564991.895 0, 1029510.952 564993.623 0, 1029809.024 564995.369 0, 1030107.097 564997.132 0, 1030405.169 564998.913 0, 1030703.241 565000.712 0, 1031001.313 565002.527 0, 1031299.385 565004.361 0,
+ 1031597.457 565006.212 0, 1031895.528 565008.08 0, 1032193.6 565009.967 0, 1032491.671 565011.87 0, 1032789.743 565013.791 0, 1033087.814 565015.73 0, 1033385.885 565017.686 0, 1033683.956 565019.66 0, 1033982.027 565021.651 0, 1034280.098 565023.66 0,
+ 1034578.169 565025.687 0, 1034876.239 565027.731 0, 1035174.309 565029.792 0, 1035472.38 565031.871 0, 1035769.013 565033.958 0, 1036068.52 565036.082 0, 1036366.59 565038.214 0, 1036664.66 565040.363 0, 1036962.729 565042.53 0, 1037260.799 565044.714 0,
+ 1037558.868 565046.916 0, 1037856.938 565049.135 0, 1038155.007 565051.372 0, 1038453.076 565053.627 0, 1038751.145 565055.899 0, 1039049.213 565058.188 0, 1039347.282 565060.496 0, 1039645.35 565062.82 0, 1039943.419 565065.162 0, 1040241.487 565067.522 0,
+ 1040539.555 565069.9 0, 1040837.623 565072.294 0, 1041135.691 565074.707 0, 1041433.758 565077.137 0, 1041731.826 565079.584 0, 1042029.893 565082.049 0, 1042327.96 565084.532 0, 1042626.028 565087.032 0, 1042922.659 565089.537 0, 1042969.8 559527.726 0,
+ 1043016.937 553966.286 0))
+
+POLYGON ((1057229.679 565231.012 0, 1056933.054 565227.668 0, 1056634.995 565224.326 0, 1056336.936 565221.002 0, 1056038.877 565217.694 0, 1055740.817 565214.405 0, 1055442.758 565211.133 0, 1055144.698 565207.878 0, 1054846.638 565204.641 0, 1054548.578 565201.422 0,
+ 1054250.517 565198.22 0, 1053952.457 565195.036 0, 1053654.396 565191.869 0, 1053356.335 565188.72 0, 1053058.274 565185.588 0, 1052760.213 565182.474 0, 1052462.151 565179.378 0, 1052164.09 565176.298 0, 1051866.028 565173.237 0, 1051567.966 565170.193 0,
+ 1051269.904 565167.167 0, 1050971.841 565164.158 0, 1050673.779 565161.166 0, 1050375.716 565158.193 0, 1050076.219 565155.222 0, 1049779.59 565152.298 0, 1049481.527 565149.376 0, 1049183.464 565146.473 0, 1048885.4 565143.587 0, 1048587.336 565140.718 0,
+ 1048289.272 565137.867 0, 1047991.208 565135.034 0, 1047693.144 565132.218 0, 1047395.08 565129.42 0, 1047097.015 565126.639 0, 1046798.95 565123.876 0, 1046500.885 565121.13 0, 1046202.82 565118.402 0, 1045904.755 565115.691 0, 1045606.69 565112.998 0,
+ 1045308.624 565110.322 0, 1045010.559 565107.664 0, 1044712.493 565105.024 0, 1044414.427 565102.401 0, 1044116.361 565099.796 0, 1043818.294 565097.208 0, 1043520.228 565094.638 0, 1043222.161 565092.085 0, 1042922.659 565089.537 0, 1042875.515 570651.717 0,
+ 1042828.369 576214.26 0, 1043127.213 576216.802 0, 1043424.625 576219.349 0, 1043722.036 576221.914 0, 1044019.448 576224.496 0, 1044316.859 576227.096 0, 1044614.27 576229.713 0, 1044911.682 576232.348 0, 1045209.092 576235 0, 1045506.503 576237.669 0,
+ 1045803.914 576240.357 0, 1046101.324 576243.061 0, 1046398.735 576245.783 0, 1046696.145 576248.523 0, 1046993.555 576251.28 0, 1047290.964 576254.055 0, 1047588.374 576256.847 0, 1047885.784 576259.657 0, 1048183.193 576262.484 0, 1048480.602 576265.329 0,
+ 1048778.011 576268.191 0, 1049075.42 576271.071 0, 1049372.828 576273.968 0, 1049670.237 576276.883 0, 1049966.214 576279.801 0, 1050265.053 576282.765 0, 1050562.461 576285.732 0, 1050859.869 576288.717 0, 1051157.277 576291.719 0, 1051454.684 576294.739 0,
+ 1051752.091 576297.776 0, 1052049.498 576300.831 0, 1052346.905 576303.903 0, 1052644.312 576306.993 0, 1052941.718 576310.1 0, 1053239.125 576313.225 0, 1053536.531 576316.367 0, 1053833.937 576319.527 0, 1054131.342 576322.704 0, 1054428.748 576325.899 0,
+ 1054726.153 576329.112 0, 1055023.559 576332.341 0, 1055320.964 576335.589 0, 1055618.368 576338.854 0, 1055915.773 576342.136 0, 1056213.178 576345.436 0, 1056510.582 576348.753 0, 1056807.986 576352.088 0, 1057103.96 576355.424 0, 1057166.822 570793.036 0,
+ 1057229.679 565231.012 0))
+
+POLYGON ((1071379.095 576536.918 0, 1071083.129 576532.746 0, 1070785.736 576528.571 0, 1070488.342 576524.413 0, 1070190.948 576520.273 0, 1069893.554 576516.151 0, 1069596.16 576512.046 0, 1069298.765 576507.958 0, 1069001.37 576503.888 0, 1068703.975 576499.836 0,
+ 1068406.58 576495.801 0, 1068109.184 576491.783 0, 1067811.788 576487.783 0, 1067514.392 576483.801 0, 1067216.996 576479.836 0, 1066919.599 576475.888 0, 1066622.203 576471.958 0, 1066324.806 576468.046 0, 1066027.408 576464.151 0, 1065730.011 576460.273 0,
+ 1065432.613 576456.413 0, 1065135.215 576452.571 0, 1064837.817 576448.746 0, 1064540.419 576444.938 0, 1064241.592 576441.13 0, 1063945.621 576437.376 0, 1063648.222 576433.621 0, 1063350.823 576429.883 0, 1063053.424 576426.163 0, 1062756.024 576422.461 0,
+ 1062458.624 576418.776 0, 1062161.224 576415.109 0, 1061863.824 576411.459 0, 1061566.423 576407.826 0, 1061269.022 576404.211 0, 1060971.621 576400.614 0, 1060674.22 576397.034 0, 1060376.819 576393.472 0, 1060079.417 576389.927 0, 1059782.015 576386.399 0,
+ 1059484.613 576382.889 0, 1059187.211 576379.397 0, 1058889.809 576375.922 0, 1058592.406 576372.465 0, 1058295.003 576369.025 0, 1057997.6 576365.602 0, 1057700.197 576362.198 0, 1057402.793 576358.81 0, 1057103.96 576355.424 0, 1057041.094 581918.174 0,
+ 1056978.224 587481.283 0, 1057276.4 587484.661 0, 1057573.148 587488.041 0, 1057869.897 587491.438 0, 1058166.645 587494.853 0, 1058463.393 587498.286 0, 1058760.141 587501.735 0, 1059056.888 587505.203 0, 1059353.636 587508.687 0, 1059650.383 587512.19 0,
+ 1059947.13 587515.709 0, 1060243.876 587519.246 0, 1060540.623 587522.801 0, 1060837.369 587526.373 0, 1061134.116 587529.962 0, 1061430.861 587533.569 0, 1061727.607 587537.194 0, 1062024.353 587540.836 0, 1062321.098 587544.495 0, 1062617.843 587548.172 0,
+ 1062914.588 587551.866 0, 1063211.333 587555.578 0, 1063508.077 587559.307 0, 1063804.821 587563.054 0, 1064100.14 587566.8 0, 1064398.309 587570.6 0, 1064695.052 587574.399 0, 1064991.796 587578.215 0, 1065288.539 587582.049 0, 1065585.282 587585.901 0,
+ 1065882.024 587589.77 0, 1066178.767 587593.656 0, 1066475.509 587597.56 0, 1066772.251 587601.481 0, 1067068.993 587605.42 0, 1067365.734 587609.376 0, 1067662.475 587613.35 0, 1067959.216 587617.341 0, 1068255.957 587621.35 0, 1068552.698 587625.376 0,
+ 1068849.438 587629.42 0, 1069146.178 587633.481 0, 1069442.918 587637.559 0, 1069739.657 587641.655 0, 1070036.397 587645.769 0, 1070333.136 587649.9 0, 1070629.875 587654.048 0, 1070926.613 587658.214 0, 1071221.927 587662.377 0, 1071300.514 582099.469 0,
+ 1071379.095 576536.918 0))
+
+POLYGON ((1085465.062 587883.712 0, 1085169.759 587878.715 0, 1084873.033 587873.711 0, 1084576.307 587868.724 0, 1084279.581 587863.755 0, 1083982.854 587858.803 0, 1083686.128 587853.868 0, 1083389.4 587848.952 0, 1083092.673 587844.052 0, 1082795.945 587839.17 0,
+ 1082499.217 587834.306 0, 1082202.489 587829.459 0, 1081905.761 587824.629 0, 1081609.032 587819.817 0, 1081312.303 587815.023 0, 1081015.573 587810.245 0, 1080718.844 587805.486 0, 1080422.114 587800.744 0, 1080125.383 587796.019 0, 1079828.653 587791.311 0,
+ 1079531.922 587786.622 0, 1079235.191 587781.949 0, 1078938.46 587777.294 0, 1078641.728 587772.657 0, 1078343.573 587768.015 0, 1078048.264 587763.435 0, 1077751.531 587758.849 0, 1077454.799 587754.282 0, 1077158.066 587749.732 0, 1076861.333 587745.199 0,
+ 1076564.599 587740.684 0, 1076267.865 587736.186 0, 1075971.131 587731.706 0, 1075674.397 587727.243 0, 1075377.662 587722.798 0, 1075080.928 587718.37 0, 1074784.193 587713.96 0, 1074487.457 587709.567 0, 1074190.722 587705.191 0, 1073893.986 587700.833 0,
+ 1073597.25 587696.493 0, 1073300.513 587692.17 0, 1073003.777 587687.864 0, 1072707.04 587683.576 0, 1072410.303 587679.305 0, 1072113.565 587675.052 0, 1071816.828 587670.817 0, 1071520.09 587666.598 0, 1071221.927 587662.377 0, 1071143.336 593225.641 0,
+ 1071064.739 598789.257 0, 1071362.244 598793.468 0, 1071658.327 598797.677 0, 1071954.41 598801.904 0, 1072250.492 598806.147 0, 1072546.574 598810.409 0, 1072842.656 598814.687 0, 1073138.738 598818.983 0, 1073434.819 598823.297 0, 1073730.901 598827.628 0,
+ 1074026.982 598831.976 0, 1074323.062 598836.342 0, 1074619.143 598840.725 0, 1074915.223 598845.126 0, 1075211.303 598849.544 0, 1075507.382 598853.979 0, 1075803.462 598858.432 0, 1076099.541 598862.903 0, 1076395.62 598867.391 0, 1076691.698 598871.896 0,
+ 1076987.777 598876.418 0, 1077283.855 598880.958 0, 1077579.933 598885.516 0, 1077876.01 598890.091 0, 1078170.667 598894.661 0, 1078468.164 598899.293 0, 1078764.241 598903.92 0, 1079060.318 598908.565 0, 1079356.394 598913.227 0, 1079652.47 598917.906 0,
+ 1079948.545 598922.603 0, 1080244.621 598927.318 0, 1080540.696 598932.049 0, 1080836.771 598936.798 0, 1081132.845 598941.565 0, 1081428.919 598946.349 0, 1081724.993 598951.151 0, 1082021.067 598955.969 0, 1082317.14 598960.806 0, 1082613.213 598965.659 0,
+ 1082909.286 598970.531 0, 1083205.359 598975.419 0, 1083501.431 598980.325 0, 1083797.503 598985.249 0, 1084093.575 598990.19 0, 1084389.646 598995.148 0, 1084685.717 599000.124 0, 1084981.788 599005.117 0, 1085276.439 599010.103 0, 1085370.754 593446.732 0,
+ 1085465.062 587883.712 0))
+
+POLYGON ((1099487.459 599271.1 0, 1099192.82 599265.281 0, 1098896.765 599259.451 0, 1098600.709 599253.639 0, 1098304.653 599247.844 0, 1098008.596 599242.067 0, 1097712.539 599236.307 0, 1097416.482 599230.564 0, 1097120.425 599224.839 0, 1096824.367 599219.132 0,
+ 1096528.308 599213.442 0, 1096232.25 599207.769 0, 1095936.191 599202.114 0, 1095640.132 599196.476 0, 1095344.072 599190.855 0, 1095048.012 599185.252 0, 1094751.952 599179.666 0, 1094455.892 599174.098 0, 1094159.831 599168.548 0, 1093863.77 599163.014 0,
+ 1093567.708 599157.498 0, 1093271.646 599152 0, 1092975.584 599146.519 0, 1092679.522 599141.055 0, 1092382.041 599135.583 0, 1092087.396 599130.18 0, 1091791.332 599124.769 0, 1091495.269 599119.375 0, 1091199.205 599113.998 0, 1090903.14 599108.639 0,
+ 1090607.076 599103.297 0, 1090311.011 599097.973 0, 1090014.945 599092.666 0, 1089718.88 599087.377 0, 1089422.814 599082.105 0, 1089126.747 599076.85 0, 1088830.681 599071.613 0, 1088534.614 599066.394 0, 1088238.547 599061.191 0, 1087942.479 599056.007 0,
+ 1087646.411 599050.839 0, 1087350.343 599045.689 0, 1087054.275 599040.557 0, 1086758.206 599035.442 0, 1086462.137 599030.344 0, 1086166.068 599025.264 0, 1085869.998 599020.201 0, 1085573.928 599015.155 0, 1085276.439 599010.103 0, 1085182.119 604573.823 0,
+ 1085087.793 610137.889 0, 1085384.624 610142.93 0, 1085680.039 610147.964 0, 1085975.454 610153.016 0, 1086270.868 610158.085 0, 1086566.282 610163.171 0, 1086861.696 610168.275 0, 1087157.109 610173.396 0, 1087452.522 610178.535 0, 1087747.935 610183.691 0,
+ 1088043.348 610188.864 0, 1088338.76 610194.055 0, 1088634.172 610199.263 0, 1088929.583 610204.488 0, 1089224.995 610209.731 0, 1089520.406 610214.992 0, 1089815.816 610220.269 0, 1090111.227 610225.564 0, 1090406.637 610230.877 0, 1090702.047 610236.207 0,
+ 1090997.456 610241.554 0, 1091292.865 610246.919 0, 1091588.274 610252.301 0, 1091883.682 610257.7 0, 1092177.676 610263.091 0, 1092474.498 610268.551 0, 1092769.906 610274.002 0, 1093065.313 610279.471 0, 1093360.72 610284.958 0, 1093656.127 610290.461 0,
+ 1093951.533 610295.983 0, 1094246.939 610301.521 0, 1094542.344 610307.077 0, 1094837.75 610312.65 0, 1095133.155 610318.241 0, 1095428.559 610323.849 0, 1095723.963 610329.474 0, 1096019.367 610335.117 0, 1096314.771 610340.777 0, 1096610.174 610346.455 0,
+ 1096905.577 610352.15 0, 1097200.98 610357.862 0, 1097496.382 610363.592 0, 1097791.784 610369.339 0, 1098087.186 610375.104 0, 1098382.587 610380.886 0, 1098677.988 610386.685 0, 1098973.388 610392.502 0, 1099267.375 610398.308 0, 1099377.42 604834.531 0,
+ 1099487.459 599271.1 0))
+
+POLYGON ((1113446.165 610698.785 0, 1113152.193 610692.149 0, 1112856.81 610685.498 0, 1112561.427 610678.864 0, 1112266.043 610672.247 0, 1111970.659 610665.648 0, 1111675.275 610659.067 0, 1111379.89 610652.502 0, 1111084.505 610645.955 0, 1110789.119 610639.426 0,
+ 1110493.733 610632.914 0, 1110198.346 610626.419 0, 1109902.96 610619.942 0, 1109607.572 610613.482 0, 1109312.185 610607.039 0, 1109016.797 610600.614 0, 1108721.408 610594.206 0, 1108426.02 610587.816 0, 1108130.631 610581.442 0, 1107835.241 610575.087 0,
+ 1107539.851 610568.749 0, 1107244.461 610562.428 0, 1106949.071 610556.124 0, 1106653.68 610549.838 0, 1106356.876 610543.539 0, 1106062.897 610537.318 0, 1105767.505 610531.084 0, 1105472.112 610524.867 0, 1105176.719 610518.668 0, 1104881.326 610512.486 0,
+ 1104585.933 610506.322 0, 1104290.539 610500.175 0, 1103995.145 610494.045 0, 1103699.75 610487.933 0, 1103404.355 610481.838 0, 1103108.96 610475.761 0, 1102813.564 610469.701 0, 1102518.168 610463.658 0, 1102222.772 610457.633 0, 1101927.375 610451.625 0,
+ 1101631.978 610445.634 0, 1101336.58 610439.661 0, 1101041.183 610433.705 0, 1100745.784 610427.767 0, 1100450.386 610421.846 0, 1100154.987 610415.942 0, 1099859.588 610410.056 0, 1099564.188 610404.187 0, 1099267.375 610398.308 0, 1099157.323 615962.427 0,
+ 1099047.264 621526.885 0, 1099343.42 621532.751 0, 1099638.164 621538.607 0, 1099932.908 621544.48 0, 1100227.652 621550.37 0, 1100522.396 621556.278 0, 1100817.139 621562.204 0, 1101111.881 621568.146 0, 1101406.624 621574.106 0, 1101701.366 621580.083 0,
+ 1101996.108 621586.078 0, 1102290.849 621592.09 0, 1102585.59 621598.119 0, 1102880.331 621604.166 0, 1103175.071 621610.23 0, 1103469.811 621616.311 0, 1103764.551 621622.41 0, 1104059.29 621628.526 0, 1104354.029 621634.659 0, 1104648.767 621640.81 0,
+ 1104943.506 621646.978 0, 1105238.243 621653.164 0, 1105532.981 621659.366 0, 1105827.718 621665.587 0, 1106121.045 621671.794 0, 1106417.191 621678.079 0, 1106711.927 621684.351 0, 1107006.662 621690.641 0, 1107301.398 621696.947 0, 1107596.133 621703.272 0,
+ 1107890.867 621709.613 0, 1108185.601 621715.972 0, 1108480.335 621722.348 0, 1108775.068 621728.742 0, 1109069.801 621735.153 0, 1109364.534 621741.581 0, 1109659.266 621748.027 0, 1109953.998 621754.49 0, 1110248.729 621760.97 0, 1110543.46 621767.468 0,
+ 1110838.191 621773.983 0, 1111132.921 621780.515 0, 1111427.651 621787.065 0, 1111722.381 621793.632 0, 1112017.11 621800.217 0, 1112311.839 621806.818 0, 1112606.567 621813.438 0, 1112901.295 621820.074 0, 1113194.615 621826.696 0, 1113320.394 616262.571 0,
+ 1113446.165 610698.785 0))
+
+POLYGON ((1127341.062 622166.475 0, 1127047.76 622159.024 0, 1126753.052 622151.555 0, 1126458.343 622144.104 0, 1126163.634 622136.669 0, 1125868.925 622129.252 0, 1125574.215 622121.852 0, 1125279.505 622114.47 0, 1124984.794 622107.105 0, 1124690.083 622099.757 0,
+ 1124395.371 622092.427 0, 1124100.659 622085.114 0, 1123805.947 622077.818 0, 1123511.234 622070.54 0, 1123216.521 622063.279 0, 1122921.807 622056.035 0, 1122627.093 622048.809 0, 1122332.379 622041.6 0, 1122037.664 622034.409 0, 1121742.948 622027.235 0,
+ 1121448.232 622020.078 0, 1121153.516 622012.938 0, 1120858.8 622005.816 0, 1120564.082 621998.711 0, 1120267.958 621991.59 0, 1119974.647 621984.553 0, 1119679.929 621977.501 0, 1119385.21 621970.465 0, 1119090.491 621963.447 0, 1118795.771 621956.446 0,
+ 1118501.051 621949.463 0, 1118206.331 621942.497 0, 1117911.61 621935.548 0, 1117616.889 621928.617 0, 1117322.167 621921.703 0, 1117027.445 621914.806 0, 1116732.723 621907.927 0, 1116438 621901.065 0, 1116143.277 621894.22 0, 1115848.553 621887.393 0,
+ 1115553.829 621880.583 0, 1115259.105 621873.79 0, 1114964.38 621867.015 0, 1114669.655 621860.257 0, 1114374.929 621853.517 0, 1114080.203 621846.793 0, 1113785.477 621840.088 0, 1113490.75 621833.399 0, 1113194.615 621826.696 0, 1113068.828 627391.156 0,
+ 1112943.034 632955.949 0, 1113238.511 632962.637 0, 1113532.583 632969.311 0, 1113826.654 632976.002 0, 1114120.725 632982.71 0, 1114414.796 632989.436 0, 1114708.866 632996.178 0, 1115002.936 633002.939 0, 1115297.005 633009.716 0, 1115591.074 633016.511 0,
+ 1115885.143 633023.323 0, 1116179.211 633030.153 0, 1116473.279 633036.999 0, 1116767.346 633043.863 0, 1117061.413 633050.745 0, 1117355.48 633057.643 0, 1117649.546 633064.559 0, 1117943.612 633071.493 0, 1118237.677 633078.443 0, 1118531.742 633085.411 0,
+ 1118825.807 633092.396 0, 1119119.871 633099.399 0, 1119413.934 633106.419 0, 1119707.998 633113.456 0, 1120000.657 633120.476 0, 1120296.123 633127.582 0, 1120590.185 633134.671 0, 1120884.247 633141.777 0, 1121178.308 633148.901 0, 1121472.369 633156.042 0,
+ 1121766.429 633163.2 0, 1122060.489 633170.376 0, 1122354.549 633177.569 0, 1122648.608 633184.779 0, 1122942.666 633192.006 0, 1123236.725 633199.251 0, 1123530.782 633206.513 0, 1123824.84 633213.793 0, 1124118.897 633221.089 0, 1124412.953 633228.403 0,
+ 1124707.009 633235.735 0, 1125001.065 633243.083 0, 1125295.12 633250.449 0, 1125589.175 633257.833 0, 1125883.229 633265.233 0, 1126177.283 633272.651 0, 1126471.337 633280.086 0, 1126765.39 633287.539 0, 1127058.04 633294.973 0, 1127199.555 627730.558 0,
+ 1127341.062 622166.475 0))
+
+POLYGON ((1141172.032 633673.873 0, 1140879.401 633665.612 0, 1140585.371 633657.329 0, 1140291.339 633649.063 0, 1139997.308 633640.814 0, 1139703.275 633632.583 0, 1139409.242 633624.369 0, 1139115.209 633616.172 0, 1138821.175 633607.993 0, 1138527.141 633599.831 0,
+ 1138233.107 633591.686 0, 1137939.071 633583.559 0, 1137645.036 633575.448 0, 1137351 633567.356 0, 1137056.963 633559.28 0, 1136762.926 633551.222 0, 1136468.888 633543.181 0, 1136174.85 633535.157 0, 1135880.812 633527.151 0, 1135586.773 633519.162 0,
+ 1135292.733 633511.19 0, 1134998.694 633503.236 0, 1134704.653 633495.299 0, 1134410.612 633487.379 0, 1134115.17 633479.439 0, 1133822.529 633471.591 0, 1133528.487 633463.723 0, 1133234.444 633455.873 0, 1132940.401 633448.039 0, 1132646.358 633440.223 0,
+ 1132352.313 633432.425 0, 1132058.269 633424.643 0, 1131764.224 633416.879 0, 1131470.178 633409.133 0, 1131176.133 633401.403 0, 1130882.086 633393.691 0, 1130588.039 633385.996 0, 1130293.992 633378.319 0, 1129999.944 633370.659 0, 1129705.896 633363.016 0,
+ 1129411.848 633355.39 0, 1129117.798 633347.782 0, 1128823.749 633340.191 0, 1128529.699 633332.617 0, 1128235.649 633325.061 0, 1127941.598 633317.522 0, 1127647.546 633310 0, 1127353.495 633302.496 0, 1127058.04 633294.973 0, 1126916.517 638859.717 0,
+ 1126774.985 644424.787 0, 1127069.781 644432.293 0, 1127363.178 644439.781 0, 1127656.574 644447.286 0, 1127949.97 644454.808 0, 1128243.365 644462.347 0, 1128536.76 644469.904 0, 1128830.155 644477.478 0, 1129123.549 644485.07 0, 1129416.942 644492.678 0,
+ 1129710.335 644500.304 0, 1130003.728 644507.947 0, 1130297.12 644515.608 0, 1130590.512 644523.285 0, 1130883.903 644530.98 0, 1131177.294 644538.692 0, 1131470.685 644546.422 0, 1131764.075 644554.169 0, 1132057.464 644561.933 0, 1132350.853 644569.714 0,
+ 1132644.242 644577.512 0, 1132937.63 644585.328 0, 1133231.017 644593.161 0, 1133524.404 644601.012 0, 1133816.393 644608.842 0, 1134111.177 644616.764 0, 1134404.563 644624.666 0, 1134697.949 644632.586 0, 1134991.333 644640.522 0, 1135284.718 644648.476 0,
+ 1135578.102 644656.448 0, 1135871.485 644664.436 0, 1136164.868 644672.442 0, 1136458.251 644680.465 0, 1136751.633 644688.505 0, 1137045.014 644696.563 0, 1137338.395 644704.637 0, 1137631.776 644712.73 0, 1137925.156 644720.839 0, 1138218.536 644728.966 0,
+ 1138511.915 644737.109 0, 1138805.294 644745.271 0, 1139098.672 644753.449 0, 1139392.05 644761.645 0, 1139685.427 644769.858 0, 1139978.804 644778.088 0, 1140272.18 644786.336 0, 1140565.556 644794.6 0, 1140857.534 644802.843 0, 1141014.788 639238.195 0,
+ 1141172.032 633673.873 0))
+
+POLYGON ((1154938.959 645220.683 0, 1154647.003 645211.616 0, 1154353.651 645202.522 0, 1154060.3 645193.446 0, 1153766.947 645184.387 0, 1153473.594 645175.345 0, 1153180.241 645166.32 0, 1152886.887 645157.313 0, 1152593.533 645148.323 0, 1152300.178 645139.35 0,
+ 1152006.822 645130.395 0, 1151713.466 645121.457 0, 1151420.109 645112.536 0, 1151126.752 645103.632 0, 1150833.395 645094.746 0, 1150540.036 645085.877 0, 1150246.678 645077.025 0, 1149953.319 645068.19 0, 1149659.959 645059.373 0, 1149366.599 645050.573 0,
+ 1149073.238 645041.79 0, 1148779.877 645033.024 0, 1148486.515 645024.276 0, 1148193.153 645015.545 0, 1147898.394 645006.79 0, 1147606.426 644998.135 0, 1147313.063 644989.456 0, 1147019.698 644980.794 0, 1146726.333 644972.149 0, 1146432.968 644963.522 0,
+ 1146139.602 644954.912 0, 1145846.236 644946.319 0, 1145552.869 644937.743 0, 1145259.502 644929.185 0, 1144966.134 644920.644 0, 1144672.765 644912.12 0, 1144379.396 644903.614 0, 1144086.027 644895.124 0, 1143792.657 644886.652 0, 1143499.287 644878.198 0,
+ 1143205.916 644869.76 0, 1142912.544 644861.34 0, 1142619.173 644852.937 0, 1142325.8 644844.552 0, 1142032.427 644836.183 0, 1141739.054 644827.832 0, 1141445.68 644819.498 0, 1141152.306 644811.182 0, 1140857.534 644802.843 0, 1140700.272 650367.813 0,
+ 1140543 655933.102 0, 1140837.114 655941.422 0, 1141129.833 655949.72 0, 1141422.551 655958.036 0, 1141715.27 655966.368 0, 1142007.988 655974.718 0, 1142300.705 655983.085 0, 1142593.422 655991.469 0, 1142886.138 655999.87 0, 1143178.854 656008.289 0,
+ 1143471.569 656016.725 0, 1143764.284 656025.178 0, 1144056.998 656033.648 0, 1144349.712 656042.135 0, 1144642.425 656050.64 0, 1144935.138 656059.162 0, 1145227.85 656067.701 0, 1145520.562 656076.258 0, 1145813.273 656084.832 0, 1146105.984 656093.422 0,
+ 1146398.694 656102.031 0, 1146691.404 656110.656 0, 1146984.113 656119.298 0, 1147276.822 656127.958 0, 1147568.138 656136.594 0, 1147862.238 656145.33 0, 1148154.945 656154.041 0, 1148447.652 656162.77 0, 1148740.358 656171.516 0, 1149033.064 656180.279 0,
+ 1149325.769 656189.059 0, 1149618.474 656197.857 0, 1149911.178 656206.672 0, 1150203.881 656215.504 0, 1150496.584 656224.353 0, 1150789.287 656233.22 0, 1151081.989 656242.104 0, 1151374.691 656251.005 0, 1151667.392 656259.923 0, 1151960.092 656268.858 0,
+ 1152252.792 656277.811 0, 1152545.491 656286.781 0, 1152838.19 656295.768 0, 1153130.889 656304.772 0, 1153423.586 656313.794 0, 1153716.284 656322.833 0, 1154008.981 656331.889 0, 1154301.677 656340.962 0, 1154592.981 656350.009 0, 1154765.975 650785.187 0,
+ 1154938.959 645220.683 0))
+
+POLYGON ((1168641.728 656806.609 0, 1168350.448 656796.738 0, 1168057.779 656786.838 0, 1167765.109 656776.955 0, 1167472.438 656767.089 0, 1167179.767 656757.241 0, 1166887.095 656747.41 0, 1166594.423 656737.596 0, 1166301.75 656727.799 0, 1166009.077 656718.019 0,
+ 1165716.403 656708.257 0, 1165423.728 656698.512 0, 1165131.053 656688.784 0, 1164838.377 656679.073 0, 1164545.701 656669.38 0, 1164253.024 656659.704 0, 1163960.346 656650.045 0, 1163667.668 656640.403 0, 1163374.99 656630.778 0, 1163082.31 656621.171 0,
+ 1162789.631 656611.581 0, 1162496.95 656602.008 0, 1162204.269 656592.452 0, 1161911.588 656582.914 0, 1161617.516 656573.348 0, 1161326.223 656563.889 0, 1161033.54 656554.402 0, 1160740.857 656544.933 0, 1160448.172 656535.48 0, 1160155.488 656526.045 0,
+ 1159862.802 656516.628 0, 1159570.116 656507.227 0, 1159277.43 656497.844 0, 1158984.743 656488.477 0, 1158692.055 656479.128 0, 1158399.367 656469.797 0, 1158106.679 656460.482 0, 1157813.989 656451.185 0, 1157521.3 656441.905 0, 1157228.609 656432.642 0,
+ 1156935.919 656423.397 0, 1156643.227 656414.168 0, 1156350.535 656404.957 0, 1156057.843 656395.763 0, 1155765.15 656386.587 0, 1155472.456 656377.427 0, 1155179.762 656368.285 0, 1154887.068 656359.16 0, 1154592.981 656350.009 0, 1154419.977 661915.148 0,
+ 1154246.964 667480.598 0, 1154540.392 667489.729 0, 1154832.432 667498.833 0, 1155124.471 667507.955 0, 1155416.509 667517.094 0, 1155708.547 667526.25 0, 1156000.584 667535.423 0, 1156292.621 667544.614 0, 1156584.657 667553.822 0, 1156876.693 667563.046 0,
+ 1157168.728 667572.288 0, 1157460.763 667581.548 0, 1157752.797 667590.824 0, 1158044.831 667600.118 0, 1158336.864 667609.429 0, 1158628.896 667618.757 0, 1158920.928 667628.102 0, 1159212.959 667637.464 0, 1159504.99 667646.844 0, 1159797.02 667656.24 0,
+ 1160089.05 667665.654 0, 1160381.079 667675.085 0, 1160673.108 667684.534 0, 1160965.136 667693.999 0, 1161255.776 667703.437 0, 1161549.19 667712.982 0, 1161841.216 667722.499 0, 1162133.242 667732.033 0, 1162425.267 667741.584 0, 1162717.292 667751.153 0,
+ 1163009.316 667760.739 0, 1163301.34 667770.342 0, 1163593.363 667779.962 0, 1163885.385 667789.599 0, 1164177.407 667799.254 0, 1164469.428 667808.926 0, 1164761.449 667818.615 0, 1165053.469 667828.321 0, 1165345.489 667838.044 0, 1165637.508 667847.785 0,
+ 1165929.526 667857.542 0, 1166221.544 667867.317 0, 1166513.561 667877.109 0, 1166805.578 667886.919 0, 1167097.594 667896.745 0, 1167389.609 667906.589 0, 1167681.624 667916.449 0, 1167973.639 667926.327 0, 1168264.266 667936.176 0, 1168453.003 662371.236 0,
+ 1168641.728 656806.609 0))
+
+POLYGON ((1182280.226 668431.352 0, 1181989.625 668420.683 0, 1181697.64 668409.98 0, 1181405.654 668399.294 0, 1181113.667 668388.626 0, 1180821.68 668377.974 0, 1180529.692 668367.34 0, 1180237.704 668356.723 0, 1179945.715 668346.123 0, 1179653.725 668335.541 0,
+ 1179361.735 668324.975 0, 1179069.744 668314.427 0, 1178777.752 668303.896 0, 1178485.76 668293.382 0, 1178193.767 668282.885 0, 1177901.774 668272.406 0, 1177609.78 668261.943 0, 1177317.785 668251.498 0, 1177025.79 668241.07 0, 1176733.794 668230.659 0,
+ 1176441.798 668220.266 0, 1176149.801 668209.889 0, 1175857.803 668199.53 0, 1175565.805 668189.188 0, 1175272.421 668178.814 0, 1174981.806 668168.556 0, 1174689.806 668158.265 0, 1174397.805 668147.992 0, 1174105.804 668137.736 0, 1173813.802 668127.497 0,
+ 1173521.8 668117.275 0, 1173229.797 668107.07 0, 1172937.793 668096.883 0, 1172645.789 668086.713 0, 1172353.784 668076.56 0, 1172061.778 668066.424 0, 1171769.772 668056.305 0, 1171477.765 668046.204 0, 1171185.758 668036.12 0, 1170893.75 668026.053 0,
+ 1170601.742 668016.003 0, 1170309.732 668005.97 0, 1170017.723 667995.955 0, 1169725.712 667985.956 0, 1169433.702 667975.975 0, 1169141.69 667966.011 0, 1168849.678 667956.065 0, 1168557.666 667946.135 0, 1168264.266 667936.176 0, 1168075.52 673501.424 0,
+ 1167886.763 679066.979 0, 1168179.504 679076.916 0, 1168470.861 679086.823 0, 1168762.218 679096.747 0, 1169053.574 679106.689 0, 1169344.93 679116.648 0, 1169636.285 679126.624 0, 1169927.64 679136.617 0, 1170218.994 679146.627 0, 1170510.347 679156.654 0,
+ 1170801.7 679166.699 0, 1171093.052 679176.76 0, 1171384.404 679186.839 0, 1171675.755 679196.935 0, 1171967.105 679207.048 0, 1172258.455 679217.178 0, 1172549.804 679227.325 0, 1172841.153 679237.49 0, 1173132.501 679247.672 0, 1173423.848 679257.87 0,
+ 1173715.195 679268.086 0, 1174006.541 679278.32 0, 1174297.887 679288.57 0, 1174589.232 679298.837 0, 1174879.195 679309.073 0, 1175171.92 679319.423 0, 1175463.263 679329.742 0, 1175754.606 679340.078 0, 1176045.948 679350.431 0, 1176337.289 679360.802 0,
+ 1176628.63 679371.189 0, 1176919.97 679381.594 0, 1177211.31 679392.015 0, 1177502.648 679402.454 0, 1177793.987 679412.91 0, 1178085.324 679423.384 0, 1178376.661 679433.874 0, 1178667.998 679444.381 0, 1178959.334 679454.906 0, 1179250.669 679465.448 0,
+ 1179542.004 679476.007 0, 1179833.338 679486.583 0, 1180124.671 679497.176 0, 1180416.004 679507.786 0, 1180707.336 679518.414 0, 1180998.667 679529.058 0, 1181289.998 679539.72 0, 1181581.328 679550.399 0, 1181871.277 679561.045 0, 1182075.757 673996.046 0,
+ 1182280.226 668431.352 0))
+
+POLYGON ((1195854.34 680094.617 0, 1195564.42 680083.153 0, 1195273.121 680071.651 0, 1194981.822 680060.166 0, 1194690.521 680048.698 0, 1194399.22 680037.248 0, 1194107.919 680025.814 0, 1193816.617 680014.398 0, 1193525.314 680002.999 0, 1193234.01 679991.617 0,
+ 1192942.706 679980.252 0, 1192651.401 679968.905 0, 1192360.095 679957.574 0, 1192068.789 679946.261 0, 1191777.482 679934.965 0, 1191486.175 679923.685 0, 1191194.866 679912.424 0, 1190903.557 679901.179 0, 1190612.248 679889.951 0, 1190320.938 679878.741 0,
+ 1190029.627 679867.547 0, 1189738.315 679856.371 0, 1189447.003 679845.212 0, 1189155.69 679834.07 0, 1188862.997 679822.893 0, 1188573.062 679811.838 0, 1188281.747 679800.747 0, 1187990.432 679789.674 0, 1187699.116 679778.618 0, 1187407.799 679767.579 0,
+ 1187116.482 679756.557 0, 1186825.163 679745.552 0, 1186533.845 679734.565 0, 1186242.525 679723.594 0, 1185951.205 679712.641 0, 1185659.885 679701.705 0, 1185368.563 679690.786 0, 1185077.241 679679.884 0, 1184785.919 679668.999 0, 1184494.596 679658.132 0,
+ 1184203.272 679647.281 0, 1183911.947 679636.448 0, 1183620.622 679625.632 0, 1183329.296 679614.833 0, 1183037.97 679604.051 0, 1182746.643 679593.286 0, 1182455.315 679582.539 0, 1182163.987 679571.808 0, 1181871.277 679561.045 0, 1181666.786 685126.346 0,
+ 1181462.284 690691.945 0, 1181754.335 690702.685 0, 1182045.009 690713.391 0, 1182335.681 690724.115 0, 1182626.353 690734.855 0, 1182917.024 690745.613 0, 1183207.695 690756.387 0, 1183498.365 690767.179 0, 1183789.034 690777.988 0, 1184079.703 690788.814 0,
+ 1184370.371 690799.657 0, 1184661.039 690810.517 0, 1184951.706 690821.395 0, 1185242.372 690832.289 0, 1185533.037 690843.201 0, 1185823.702 690854.129 0, 1186114.367 690865.075 0, 1186405.03 690876.038 0, 1186695.693 690887.018 0, 1186986.355 690898.015 0,
+ 1187277.017 690909.029 0, 1187567.678 690920.061 0, 1187858.338 690931.109 0, 1188148.998 690942.175 0, 1188438.281 690953.205 0, 1188730.316 690964.357 0, 1189020.973 690975.474 0, 1189311.631 690986.608 0, 1189602.287 690997.759 0, 1189892.943 691008.927 0,
+ 1190183.598 691020.112 0, 1190474.252 691031.315 0, 1190764.906 691042.534 0, 1191055.559 691053.771 0, 1191346.212 691065.024 0, 1191636.864 691076.295 0, 1191927.515 691087.583 0, 1192218.165 691098.888 0, 1192508.815 691110.21 0, 1192799.465 691121.55 0,
+ 1193090.113 691132.906 0, 1193380.761 691144.279 0, 1193671.408 691155.67 0, 1193962.055 691167.078 0, 1194252.7 691178.502 0, 1194543.346 691189.944 0, 1194833.99 691201.403 0, 1195124.634 691212.879 0, 1195413.902 691224.318 0, 1195634.127 685659.318 0,
+ 1195854.34 680094.617 0))
+
+POLYGON ((1209363.96 691796.105 0, 1209074.723 691783.849 0, 1208784.113 691771.551 0, 1208493.502 691759.271 0, 1208202.89 691747.008 0, 1207912.278 691734.763 0, 1207621.665 691722.534 0, 1207331.051 691710.322 0, 1207040.436 691698.128 0, 1206749.821 691685.95 0,
+ 1206459.205 691673.79 0, 1206168.588 691661.647 0, 1205877.971 691649.521 0, 1205587.353 691637.412 0, 1205296.734 691625.32 0, 1205006.114 691613.245 0, 1204715.494 691601.187 0, 1204424.873 691589.147 0, 1204134.251 691577.123 0, 1203843.629 691565.117 0,
+ 1203553.006 691553.127 0, 1203262.382 691541.155 0, 1202971.758 691529.2 0, 1202681.133 691517.262 0, 1202389.133 691505.285 0, 1202099.88 691493.438 0, 1201809.253 691481.551 0, 1201518.625 691469.681 0, 1201227.996 691457.829 0, 1200937.367 691445.994 0,
+ 1200646.737 691434.175 0, 1200356.106 691422.374 0, 1200065.474 691410.59 0, 1199774.842 691398.823 0, 1199484.209 691387.074 0, 1199193.576 691375.341 0, 1198902.941 691363.625 0, 1198612.306 691351.927 0, 1198321.671 691340.245 0, 1198031.035 691328.581 0,
+ 1197740.398 691316.934 0, 1197449.76 691305.304 0, 1197159.121 691293.691 0, 1196868.482 691282.095 0, 1196577.843 691270.516 0, 1196287.202 691258.955 0, 1195996.561 691247.41 0, 1195705.919 691235.883 0, 1195413.902 691224.318 0, 1195193.665 696789.613 0,
+ 1194973.417 702355.201 0, 1195264.776 702366.739 0, 1195554.763 702378.241 0, 1195844.749 702389.759 0, 1196134.734 702401.295 0, 1196424.719 702412.847 0, 1196714.703 702424.417 0, 1197004.686 702436.004 0, 1197294.668 702447.608 0, 1197584.65 702459.229 0,
+ 1197874.631 702470.867 0, 1198164.612 702482.522 0, 1198454.592 702494.194 0, 1198744.571 702505.883 0, 1199034.549 702517.589 0, 1199324.527 702529.313 0, 1199614.504 702541.053 0, 1199904.48 702552.81 0, 1200194.456 702564.585 0, 1200484.431 702576.376 0,
+ 1200774.405 702588.185 0, 1201064.379 702600.011 0, 1201354.352 702611.854 0, 1201644.324 702623.713 0, 1201932.925 702635.534 0, 1202224.266 702647.484 0, 1202514.237 702659.395 0, 1202804.206 702671.324 0, 1203094.175 702683.269 0, 1203384.143 702695.231 0,
+ 1203674.11 702707.21 0, 1203964.076 702719.207 0, 1204254.042 702731.22 0, 1204544.007 702743.251 0, 1204833.972 702755.298 0, 1205123.936 702767.363 0, 1205413.899 702779.445 0, 1205703.861 702791.543 0, 1205993.823 702803.659 0, 1206283.784 702815.792 0,
+ 1206573.744 702827.942 0, 1206863.703 702840.109 0, 1207153.662 702852.293 0, 1207443.62 702864.494 0, 1207733.577 702876.713 0, 1208023.534 702888.948 0, 1208313.49 702901.2 0, 1208603.445 702913.47 0, 1208892.03 702925.698 0, 1209128.001 697360.756 0,
+ 1209363.96 691796.105 0))
+
+POLYGON ((1222808.976 703535.516 0, 1222520.424 703522.473 0, 1222230.505 703509.384 0, 1221940.585 703496.312 0, 1221650.664 703483.258 0, 1221360.742 703470.221 0, 1221070.82 703457.2 0, 1220780.897 703444.197 0, 1220490.973 703431.211 0, 1220201.048 703418.242 0,
+ 1219911.122 703405.29 0, 1219621.196 703392.355 0, 1219331.269 703379.437 0, 1219041.341 703366.536 0, 1218751.413 703353.652 0, 1218461.484 703340.785 0, 1218171.554 703327.936 0, 1217881.623 703315.103 0, 1217591.691 703302.287 0, 1217301.759 703289.489 0,
+ 1217011.826 703276.708 0, 1216721.892 703263.943 0, 1216431.958 703251.196 0, 1216142.022 703238.466 0, 1215850.718 703225.693 0, 1215562.15 703213.056 0, 1215272.212 703200.377 0, 1214982.274 703187.715 0, 1214692.335 703175.071 0, 1214402.395 703162.443 0,
+ 1214112.454 703149.832 0, 1213822.513 703137.238 0, 1213532.571 703124.662 0, 1213242.628 703112.102 0, 1212952.685 703099.56 0, 1212662.741 703087.034 0, 1212372.796 703074.526 0, 1212082.85 703062.034 0, 1211792.904 703049.56 0, 1211502.957 703037.103 0,
+ 1211213.009 703024.663 0, 1210923.06 703012.24 0, 1210633.111 702999.834 0, 1210343.161 702987.445 0, 1210053.21 702975.073 0, 1209763.258 702962.718 0, 1209473.306 702950.381 0, 1209183.353 702938.06 0, 1208892.03 702925.698 0, 1208656.046 708490.93 0,
+ 1208420.051 714056.446 0, 1208710.716 714068.78 0, 1209000.014 714081.073 0, 1209289.311 714093.382 0, 1209578.607 714105.709 0, 1209867.903 714118.053 0, 1210157.198 714130.414 0, 1210446.492 714142.792 0, 1210735.786 714155.187 0, 1211025.078 714167.599 0,
+ 1211314.371 714180.028 0, 1211603.662 714192.474 0, 1211892.952 714204.937 0, 1212182.242 714217.417 0, 1212471.531 714229.914 0, 1212760.82 714242.429 0, 1213050.107 714254.96 0, 1213339.394 714267.508 0, 1213628.68 714280.073 0, 1213917.966 714292.656 0,
+ 1214207.25 714305.255 0, 1214496.534 714317.871 0, 1214785.818 714330.505 0, 1215075.1 714343.155 0, 1215363.016 714355.763 0, 1215653.663 714368.507 0, 1215942.943 714381.208 0, 1216232.222 714393.927 0, 1216521.501 714406.662 0, 1216810.779 714419.415 0,
+ 1217100.056 714432.184 0, 1217389.333 714444.971 0, 1217678.608 714457.775 0, 1217967.883 714470.595 0, 1218257.157 714483.433 0, 1218546.431 714496.288 0, 1218835.703 714509.159 0, 1219124.975 714522.048 0, 1219414.247 714534.954 0, 1219703.517 714547.877 0,
+ 1219992.787 714560.816 0, 1220282.055 714573.773 0, 1220571.324 714586.747 0, 1220860.591 714599.738 0, 1221149.857 714612.746 0, 1221439.123 714625.771 0, 1221728.388 714638.813 0, 1222017.653 714651.872 0, 1222305.552 714664.886 0, 1222557.27 709100.059 0,
+ 1222808.976 703535.516 0))
+
+POLYGON ((1236189.279 715312.553 0, 1235901.415 715298.725 0, 1235612.189 715284.849 0, 1235322.962 715270.99 0, 1235033.734 715257.148 0, 1234744.505 715243.323 0, 1234455.276 715229.515 0, 1234166.045 715215.724 0, 1233876.814 715201.95 0, 1233587.582 715188.193 0,
+ 1233298.35 715174.453 0, 1233009.116 715160.73 0, 1232719.882 715147.024 0, 1232430.647 715133.335 0, 1232141.411 715119.663 0, 1231852.174 715106.008 0, 1231562.936 715092.37 0, 1231273.698 715078.749 0, 1230984.459 715065.146 0, 1230695.219 715051.559 0,
+ 1230405.978 715037.989 0, 1230116.737 715024.436 0, 1229827.494 715010.901 0, 1229538.251 714997.382 0, 1229247.644 714983.817 0, 1228959.762 714970.396 0, 1228670.517 714956.928 0, 1228381.27 714943.477 0, 1228092.023 714930.044 0, 1227802.775 714916.627 0,
+ 1227513.527 714903.228 0, 1227224.277 714889.845 0, 1226935.027 714876.48 0, 1226645.776 714863.131 0, 1226356.524 714849.8 0, 1226067.271 714836.486 0, 1225778.018 714823.188 0, 1225488.764 714809.908 0, 1225199.509 714796.645 0, 1224910.253 714783.398 0,
+ 1224620.996 714770.169 0, 1224331.739 714756.957 0, 1224042.481 714743.762 0, 1223753.222 714730.583 0, 1223463.962 714717.422 0, 1223174.702 714704.278 0, 1222885.441 714691.151 0, 1222596.179 714678.041 0, 1222305.552 714664.886 0, 1222053.821 720229.995 0,
+ 1221802.078 725795.383 0, 1222092.046 725808.508 0, 1222380.653 725821.588 0, 1222669.259 725834.685 0, 1222957.865 725847.8 0, 1223246.469 725860.931 0, 1223535.073 725874.079 0, 1223823.676 725887.245 0, 1224112.278 725900.427 0, 1224400.88 725913.626 0,
+ 1224689.48 725926.843 0, 1224978.08 725940.076 0, 1225266.679 725953.326 0, 1225555.277 725966.593 0, 1225843.875 725979.878 0, 1226132.472 725993.179 0, 1226421.068 726006.497 0, 1226709.663 726019.832 0, 1226998.257 726033.184 0, 1227286.851 726046.554 0,
+ 1227575.444 726059.94 0, 1227864.036 726073.343 0, 1228152.627 726086.763 0, 1228441.218 726100.2 0, 1228728.448 726113.591 0, 1229018.396 726127.125 0, 1229306.984 726140.613 0, 1229595.572 726154.118 0, 1229884.158 726167.64 0, 1230172.744 726181.179 0,
+ 1230461.329 726194.735 0, 1230749.913 726208.308 0, 1231038.496 726221.898 0, 1231327.079 726235.505 0, 1231615.66 726249.129 0, 1231904.241 726262.77 0, 1232192.821 726276.428 0, 1232481.401 726290.103 0, 1232769.979 726303.795 0, 1233058.557 726317.504 0,
+ 1233347.134 726331.23 0, 1233635.71 726344.972 0, 1233924.285 726358.732 0, 1234212.859 726372.509 0, 1234501.433 726386.303 0, 1234790.006 726400.114 0, 1235078.578 726413.941 0, 1235367.149 726427.786 0, 1235654.361 726441.583 0, 1235921.827 720876.929 0,
+ 1236189.279 715312.553 0))
+
+POLYGON ((1249504.763 727126.915 0, 1249217.589 727112.307 0, 1248929.058 727097.647 0, 1248640.526 727083.004 0, 1248351.994 727068.378 0, 1248063.46 727053.769 0, 1247774.926 727039.177 0, 1247486.391 727024.602 0, 1247197.855 727010.044 0, 1246909.318 726995.503 0,
+ 1246620.78 726980.979 0, 1246332.241 726966.472 0, 1246043.702 726951.982 0, 1245755.161 726937.509 0, 1245466.62 726923.052 0, 1245178.078 726908.613 0, 1244889.535 726894.191 0, 1244600.991 726879.786 0, 1244312.447 726865.398 0, 1244023.901 726851.026 0,
+ 1243735.355 726836.672 0, 1243446.808 726822.335 0, 1243158.26 726808.015 0, 1242869.711 726793.711 0, 1242579.804 726779.358 0, 1242292.611 726765.156 0, 1242004.059 726750.903 0, 1241715.507 726736.668 0, 1241426.954 726722.449 0, 1241138.4 726708.248 0,
+ 1240849.846 726694.063 0, 1240561.29 726679.896 0, 1240272.734 726665.746 0, 1239984.177 726651.612 0, 1239695.619 726637.496 0, 1239407.06 726623.396 0, 1239118.5 726609.314 0, 1238829.939 726595.248 0, 1238541.378 726581.199 0, 1238252.816 726567.168 0,
+ 1237964.253 726553.153 0, 1237675.689 726539.156 0, 1237387.124 726525.175 0, 1237098.559 726511.211 0, 1236809.993 726497.265 0, 1236521.426 726483.335 0, 1236232.858 726469.422 0, 1235944.289 726455.527 0, 1235654.361 726441.583 0, 1235386.882 732006.511 0,
+ 1235119.39 737571.711 0, 1235408.66 737585.623 0, 1235696.574 737599.487 0, 1235984.486 737613.369 0, 1236272.398 737627.267 0, 1236560.31 737641.182 0, 1236848.22 737655.114 0, 1237136.13 737669.062 0, 1237424.038 737683.028 0, 1237711.946 737697.011 0,
+ 1237999.853 737711.011 0, 1238287.76 737725.027 0, 1238575.665 737739.061 0, 1238863.57 737753.112 0, 1239151.473 737767.179 0, 1239439.376 737781.264 0, 1239727.279 737795.365 0, 1240015.18 737809.483 0, 1240303.08 737823.619 0, 1240590.98 737837.771 0,
+ 1240878.879 737851.94 0, 1241166.777 737866.126 0, 1241454.674 737880.329 0, 1241742.57 737894.549 0, 1242029.111 737908.719 0, 1242318.36 737923.04 0, 1242606.254 737937.311 0, 1242894.147 737951.599 0, 1243182.039 737965.903 0, 1243469.93 737980.225 0,
+ 1243757.821 737994.564 0, 1244045.71 738008.919 0, 1244333.599 738023.292 0, 1244621.487 738037.681 0, 1244909.374 738052.088 0, 1245197.26 738066.511 0, 1245485.145 738080.951 0, 1245773.03 738095.409 0, 1246060.914 738109.883 0, 1246348.796 738124.374 0,
+ 1246636.678 738138.882 0, 1246924.559 738153.407 0, 1247212.439 738167.949 0, 1247500.319 738182.508 0, 1247788.197 738197.084 0, 1248076.075 738211.677 0, 1248363.952 738226.286 0, 1248651.828 738240.913 0, 1248938.35 738255.488 0, 1249221.563 732691.066 0,
+ 1249504.763 727126.915 0))
+
+POLYGON ((1262755.322 738978.303 0, 1262468.841 738962.919 0, 1262181.007 738947.479 0, 1261893.173 738932.056 0, 1261605.337 738916.65 0, 1261317.501 738901.261 0, 1261029.664 738885.888 0, 1260741.826 738870.533 0, 1260453.987 738855.195 0, 1260166.148 738839.874 0,
+ 1259878.307 738824.569 0, 1259590.465 738809.282 0, 1259302.623 738794.011 0, 1259014.779 738778.758 0, 1258726.935 738763.521 0, 1258439.09 738748.301 0, 1258151.244 738733.099 0, 1257863.397 738717.913 0, 1257575.549 738702.744 0, 1257287.7 738687.592 0,
+ 1256999.851 738672.457 0, 1256712 738657.339 0, 1256424.149 738642.238 0, 1256136.296 738627.154 0, 1255847.091 738612.016 0, 1255560.589 738597.036 0, 1255272.734 738582.003 0, 1254984.878 738566.987 0, 1254697.022 738551.987 0, 1254409.164 738537.005 0,
+ 1254121.305 738522.039 0, 1253833.446 738507.091 0, 1253545.586 738492.159 0, 1253257.725 738477.244 0, 1252969.863 738462.346 0, 1252682 738447.466 0, 1252394.136 738432.602 0, 1252106.271 738417.755 0, 1251818.406 738402.925 0, 1251530.539 738388.112 0,
+ 1251242.672 738373.316 0, 1250954.804 738358.536 0, 1250666.935 738343.774 0, 1250379.065 738329.029 0, 1250091.194 738314.301 0, 1249803.323 738299.589 0, 1249515.45 738284.895 0, 1249227.577 738270.217 0, 1248938.35 738255.488 0, 1248655.123 743820.177 0,
+ 1248371.882 749385.131 0, 1248660.451 749399.827 0, 1248947.669 749414.471 0, 1249234.887 749429.132 0, 1249522.103 749443.81 0, 1249809.319 749458.505 0, 1250096.534 749473.217 0, 1250383.748 749487.945 0, 1250670.961 749502.691 0, 1250958.173 749517.453 0,
+ 1251245.384 749532.232 0, 1251532.595 749547.029 0, 1251819.804 749561.842 0, 1252107.013 749576.672 0, 1252394.221 749591.519 0, 1252681.428 749606.383 0, 1252968.634 749621.264 0, 1253255.839 749636.161 0, 1253543.044 749651.076 0, 1253830.247 749666.007 0,
+ 1254117.45 749680.956 0, 1254404.651 749695.921 0, 1254691.852 749710.903 0, 1254979.052 749725.902 0, 1255264.902 749740.848 0, 1255553.449 749755.951 0, 1255840.647 749771.001 0, 1256127.843 749786.068 0, 1256415.039 749801.151 0, 1256702.233 749816.252 0,
+ 1256989.427 749831.369 0, 1257276.62 749846.504 0, 1257563.812 749861.655 0, 1257851.003 749876.823 0, 1258138.193 749892.008 0, 1258425.382 749907.21 0, 1258712.571 749922.429 0, 1258999.758 749937.665 0, 1259286.945 749952.917 0, 1259574.131 749968.187 0,
+ 1259861.315 749983.473 0, 1260148.499 749998.777 0, 1260435.682 750014.097 0, 1260722.864 750029.434 0, 1261010.045 750044.788 0, 1261297.226 750060.159 0, 1261584.405 750075.547 0, 1261871.584 750090.952 0, 1262157.414 750106.301 0, 1262456.375 744542.17 0,
+ 1262755.322 738978.303 0))
+
+POLYGON ((1275940.853 750866.415 0, 1275655.065 750850.259 0, 1275367.931 750834.043 0, 1275080.797 750817.843 0, 1274793.661 750801.661 0, 1274506.524 750785.496 0, 1274219.387 750769.347 0, 1273932.248 750753.216 0, 1273645.109 750737.101 0, 1273357.968 750721.003 0,
+ 1273070.827 750704.922 0, 1272783.684 750688.858 0, 1272496.541 750672.811 0, 1272209.397 750656.781 0, 1271922.252 750640.768 0, 1271635.105 750624.772 0, 1271347.958 750608.792 0, 1271060.81 750592.83 0, 1270773.661 750576.884 0, 1270486.512 750560.955 0,
+ 1270199.361 750545.043 0, 1269912.209 750529.148 0, 1269625.056 750513.27 0, 1269337.903 750497.409 0, 1269049.402 750481.491 0, 1268763.593 750465.738 0, 1268476.436 750449.927 0, 1268189.279 750434.134 0, 1267902.12 750418.357 0, 1267614.961 750402.597 0,
+ 1267327.801 750386.855 0, 1267040.64 750371.129 0, 1266753.478 750355.42 0, 1266466.315 750339.727 0, 1266179.151 750324.052 0, 1265891.987 750308.394 0, 1265604.821 750292.752 0, 1265317.654 750277.128 0, 1265030.487 750261.52 0, 1264743.318 750245.93 0,
+ 1264456.149 750230.356 0, 1264168.979 750214.799 0, 1263881.807 750199.259 0, 1263594.635 750183.736 0, 1263307.462 750168.23 0, 1263020.288 750152.74 0, 1262733.114 750137.268 0, 1262445.938 750121.812 0, 1262157.414 750106.301 0, 1261858.438 755670.693 0,
+ 1261559.449 761235.342 0, 1261847.315 761250.818 0, 1262133.836 761266.238 0, 1262420.355 761281.675 0, 1262706.874 761297.129 0, 1262993.392 761312.6 0, 1263279.909 761328.088 0, 1263566.426 761343.592 0, 1263852.941 761359.114 0, 1264139.455 761374.652 0,
+ 1264425.969 761390.207 0, 1264712.481 761405.779 0, 1264998.993 761421.368 0, 1265285.503 761436.974 0, 1265572.013 761452.597 0, 1265858.522 761468.236 0, 1266145.03 761483.892 0, 1266431.537 761499.566 0, 1266718.043 761515.256 0, 1267004.548 761530.963 0,
+ 1267291.052 761546.686 0, 1267577.556 761562.427 0, 1267864.058 761578.185 0, 1268150.559 761593.959 0, 1268435.717 761609.676 0, 1268723.56 761625.558 0, 1269010.058 761641.383 0, 1269296.556 761657.225 0, 1269583.053 761673.084 0, 1269869.549 761688.959 0,
+ 1270156.043 761704.852 0, 1270442.537 761720.761 0, 1270729.03 761736.687 0, 1271015.523 761752.63 0, 1271302.014 761768.59 0, 1271588.504 761784.567 0, 1271874.993 761800.56 0, 1272161.482 761816.571 0, 1272447.969 761832.598 0, 1272734.455 761848.642 0,
+ 1273020.941 761864.703 0, 1273307.426 761880.781 0, 1273593.909 761896.876 0, 1273880.392 761912.988 0, 1274166.874 761929.116 0, 1274453.354 761945.261 0, 1274739.834 761961.424 0, 1275026.313 761977.603 0, 1275311.449 761993.723 0, 1275626.158 756429.941 0,
+ 1275940.853 750866.415 0))
+
+POLYGON ((1289061.252 762790.952 0, 1288776.16 762774.026 0, 1288489.728 762757.038 0, 1288203.295 762740.066 0, 1287916.861 762723.112 0, 1287630.426 762706.174 0, 1287343.99 762689.253 0, 1287057.553 762672.349 0, 1286771.115 762655.462 0, 1286484.676 762638.591 0,
+ 1286198.236 762621.738 0, 1285911.795 762604.901 0, 1285625.353 762588.082 0, 1285338.91 762571.279 0, 1285052.466 762554.493 0, 1284766.021 762537.723 0, 1284479.575 762520.971 0, 1284193.129 762504.236 0, 1283906.681 762487.517 0, 1283620.232 762470.815 0,
+ 1283333.782 762454.13 0, 1283047.331 762437.462 0, 1282760.879 762420.811 0, 1282474.426 762404.177 0, 1282186.632 762387.482 0, 1281901.518 762370.959 0, 1281615.062 762354.375 0, 1281328.605 762337.808 0, 1281042.148 762321.258 0, 1280755.689 762304.725 0,
+ 1280469.229 762288.209 0, 1280182.769 762271.709 0, 1279896.307 762255.227 0, 1279609.845 762238.761 0, 1279323.381 762222.312 0, 1279036.917 762205.88 0, 1278750.451 762189.465 0, 1278463.985 762173.067 0, 1278177.518 762156.685 0, 1277891.049 762140.321 0,
+ 1277604.58 762123.973 0, 1277318.11 762107.642 0, 1277031.638 762091.328 0, 1276745.166 762075.031 0, 1276458.693 762058.751 0, 1276172.219 762042.488 0, 1275885.744 762026.241 0, 1275599.268 762010.011 0, 1275311.449 761993.723 0, 1274996.725 767557.758 0,
+ 1274681.988 773122.044 0, 1274969.149 773138.296 0, 1275254.97 773154.488 0, 1275540.79 773170.698 0, 1275826.609 773186.924 0, 1276112.427 773203.167 0, 1276398.244 773219.427 0, 1276684.06 773235.703 0, 1276969.876 773251.997 0, 1277255.69 773268.307 0,
+ 1277541.503 773284.634 0, 1277827.316 773300.978 0, 1278113.127 773317.339 0, 1278398.938 773333.717 0, 1278684.747 773350.111 0, 1278970.556 773366.522 0, 1279256.363 773382.95 0, 1279542.17 773399.395 0, 1279827.976 773415.857 0, 1280113.78 773432.335 0,
+ 1280399.584 773448.831 0, 1280685.387 773465.343 0, 1280971.188 773481.872 0, 1281256.989 773498.418 0, 1281541.451 773514.903 0, 1281828.588 773531.56 0, 1282114.386 773548.156 0, 1282400.183 773564.769 0, 1282685.979 773581.399 0, 1282971.773 773598.046 0,
+ 1283257.567 773614.709 0, 1283543.36 773631.39 0, 1283829.152 773648.087 0, 1284114.943 773664.801 0, 1284400.733 773681.532 0, 1284686.522 773698.28 0, 1284972.31 773715.044 0, 1285258.098 773731.825 0, 1285543.884 773748.624 0, 1285829.669 773765.439 0,
+ 1286115.453 773782.27 0, 1286401.236 773799.119 0, 1286687.018 773815.984 0, 1286972.799 773832.867 0, 1287258.579 773849.766 0, 1287544.358 773866.681 0, 1287830.137 773883.614 0, 1288115.914 773900.564 0, 1288400.353 773917.451 0, 1288730.81 768354.076 0,
+ 1289061.252 762790.952 0))
+
+POLYGON ((1302116.417 774751.611 0, 1301832.024 774733.92 0, 1301546.296 774716.163 0, 1301260.567 774698.423 0, 1300974.837 774680.7 0, 1300689.105 774662.994 0, 1300403.373 774645.304 0, 1300117.64 774627.632 0, 1299831.905 774609.976 0, 1299546.17 774592.336 0,
+ 1299260.434 774574.714 0, 1298974.696 774557.109 0, 1298688.958 774539.52 0, 1298403.218 774521.948 0, 1298117.477 774504.393 0, 1297831.736 774486.855 0, 1297545.993 774469.334 0, 1297260.25 774451.829 0, 1296974.505 774434.341 0, 1296688.759 774416.87 0,
+ 1296403.012 774399.416 0, 1296117.265 774381.979 0, 1295831.516 774364.559 0, 1295545.766 774347.155 0, 1295258.68 774329.687 0, 1294974.263 774312.398 0, 1294688.51 774295.045 0, 1294402.756 774277.709 0, 1294117.001 774260.389 0, 1293831.245 774243.086 0,
+ 1293545.488 774225.8 0, 1293259.73 774208.531 0, 1292973.971 774191.279 0, 1292688.211 774174.044 0, 1292402.45 774156.825 0, 1292116.688 774139.623 0, 1291830.925 774122.438 0, 1291545.161 774105.27 0, 1291259.396 774088.119 0, 1290973.63 774070.984 0,
+ 1290687.863 774053.866 0, 1290402.095 774036.765 0, 1290116.326 774019.681 0, 1289830.555 774002.614 0, 1289544.784 773985.564 0, 1289259.012 773968.53 0, 1288973.239 773951.513 0, 1288687.465 773934.513 0, 1288400.353 773917.451 0, 1288069.882 779481.071 0,
+ 1287739.396 785044.935 0, 1288025.85 785061.959 0, 1288310.969 785078.92 0, 1288596.087 785095.897 0, 1288881.205 785112.892 0, 1289166.321 785129.903 0, 1289451.436 785146.932 0, 1289736.55 785163.976 0, 1290021.663 785181.038 0, 1290306.776 785198.117 0,
+ 1290591.887 785215.212 0, 1290876.997 785232.324 0, 1291162.106 785249.453 0, 1291447.214 785266.598 0, 1291732.321 785283.761 0, 1292017.427 785300.94 0, 1292302.533 785318.136 0, 1292587.637 785335.349 0, 1292872.74 785352.578 0, 1293157.842 785369.824 0,
+ 1293442.943 785387.088 0, 1293728.043 785404.367 0, 1294013.142 785421.664 0, 1294298.24 785438.977 0, 1294582.005 785456.227 0, 1294868.433 785473.655 0, 1295153.528 785491.018 0, 1295438.622 785508.399 0, 1295723.715 785525.796 0, 1296008.807 785543.21 0,
+ 1296293.898 785560.641 0, 1296578.987 785578.089 0, 1296864.076 785595.553 0, 1297149.164 785613.035 0, 1297434.251 785630.533 0, 1297719.336 785648.047 0, 1298004.421 785665.579 0, 1298289.505 785683.127 0, 1298574.587 785700.692 0, 1298859.669 785718.274 0,
+ 1299144.75 785735.873 0, 1299429.829 785753.488 0, 1299714.908 785771.121 0, 1299999.985 785788.77 0, 1300285.061 785806.435 0, 1300570.137 785824.118 0, 1300855.211 785841.817 0, 1301140.284 785859.533 0, 1301424.025 785877.184 0, 1301770.229 780314.276 0,
+ 1302116.417 774751.611 0))
+
+POLYGON ((1315106.249 786748.09 0, 1314822.556 786729.638 0, 1314537.534 786711.117 0, 1314252.511 786692.612 0, 1313967.487 786674.124 0, 1313682.462 786655.653 0, 1313397.435 786637.199 0, 1313112.408 786618.761 0, 1312827.379 786600.341 0, 1312542.349 786581.937 0,
+ 1312257.319 786563.549 0, 1311972.287 786545.179 0, 1311687.254 786526.825 0, 1311402.22 786508.488 0, 1311117.185 786490.168 0, 1310832.148 786471.865 0, 1310547.111 786453.578 0, 1310262.073 786435.309 0, 1309977.034 786417.055 0, 1309691.993 786398.819 0,
+ 1309406.951 786380.6 0, 1309121.909 786362.397 0, 1308836.865 786344.211 0, 1308551.82 786326.042 0, 1308265.445 786307.805 0, 1307981.728 786289.754 0, 1307696.68 786271.635 0, 1307411.631 786253.533 0, 1307126.581 786235.448 0, 1306841.529 786217.38 0,
+ 1306556.477 786199.328 0, 1306271.424 786181.293 0, 1305986.37 786163.275 0, 1305701.314 786145.273 0, 1305416.258 786127.289 0, 1305131.2 786109.321 0, 1304846.142 786091.37 0, 1304561.082 786073.436 0, 1304276.021 786055.518 0, 1303990.96 786037.618 0,
+ 1303705.897 786019.734 0, 1303420.833 786001.867 0, 1303135.768 785984.016 0, 1302850.702 785966.183 0, 1302565.635 785948.366 0, 1302280.567 785930.566 0, 1301995.498 785912.783 0, 1301710.428 785895.016 0, 1301424.025 785877.184 0, 1301077.807 791440.331 0,
+ 1300731.574 797003.713 0, 1301017.319 797021.505 0, 1301301.734 797039.231 0, 1301586.148 797056.973 0, 1301870.561 797074.732 0, 1302154.974 797092.508 0, 1302439.385 797110.301 0, 1302723.795 797128.11 0, 1303008.204 797145.936 0, 1303292.612 797163.779 0,
+ 1303577.018 797181.638 0, 1303861.424 797199.515 0, 1304145.829 797217.408 0, 1304430.233 797235.318 0, 1304714.635 797253.244 0, 1304999.037 797271.187 0, 1305283.438 797289.147 0, 1305567.837 797307.124 0, 1305852.236 797325.118 0, 1306136.633 797343.128 0,
+ 1306421.029 797361.155 0, 1306705.425 797379.198 0, 1306989.819 797397.259 0, 1307274.212 797415.336 0, 1307557.277 797433.346 0, 1307842.995 797451.541 0, 1308127.385 797469.668 0, 1308411.774 797487.812 0, 1308696.162 797505.973 0, 1308980.548 797524.151 0,
+ 1309264.934 797542.345 0, 1309549.319 797560.556 0, 1309833.702 797578.784 0, 1310118.085 797597.029 0, 1310402.466 797615.29 0, 1310686.846 797633.568 0, 1310971.225 797651.863 0, 1311255.604 797670.174 0, 1311539.981 797688.502 0, 1311824.357 797706.847 0,
+ 1312108.731 797725.209 0, 1312393.105 797743.588 0, 1312677.478 797761.983 0, 1312961.85 797780.395 0, 1313246.22 797798.823 0, 1313530.59 797817.269 0, 1313814.958 797835.731 0, 1314099.325 797854.21 0, 1314382.366 797872.619 0, 1314744.315 792310.237 0,
+ 1315106.249 786748.09 0))
+
+POLYGON ((1328030.648 798780.088 0, 1327747.659 798760.879 0, 1327463.345 798741.596 0, 1327179.03 798722.331 0, 1326894.713 798703.082 0, 1326610.396 798683.85 0, 1326326.078 798664.635 0, 1326041.758 798645.436 0, 1325757.437 798626.255 0, 1325473.115 798607.09 0,
+ 1325188.792 798587.941 0, 1324904.468 798568.81 0, 1324620.143 798549.695 0, 1324335.816 798530.597 0, 1324051.489 798511.515 0, 1323767.16 798492.451 0, 1323482.831 798473.403 0, 1323198.5 798454.371 0, 1322914.168 798435.357 0, 1322629.835 798416.359 0,
+ 1322345.5 798397.378 0, 1322061.165 798378.414 0, 1321776.828 798359.466 0, 1321492.491 798340.536 0, 1321206.828 798321.534 0, 1320923.812 798302.724 0, 1320639.471 798283.844 0, 1320355.129 798264.98 0, 1320070.786 798246.133 0, 1319786.442 798227.303 0,
+ 1319502.097 798208.489 0, 1319217.75 798189.692 0, 1318933.403 798170.912 0, 1318649.054 798152.148 0, 1318364.704 798133.402 0, 1318080.353 798114.672 0, 1317796.001 798095.959 0, 1317511.648 798077.262 0, 1317227.294 798058.582 0, 1316942.939 798039.919 0,
+ 1316658.582 798021.273 0, 1316374.225 798002.644 0, 1316089.866 797984.031 0, 1315805.506 797965.435 0, 1315521.146 797946.855 0, 1315236.784 797928.293 0, 1314952.421 797909.747 0, 1314668.057 797891.218 0, 1314382.366 797872.619 0, 1314020.402 803435.234 0,
+ 1313658.423 808998.076 0, 1313943.456 809016.632 0, 1314227.165 809035.119 0, 1314510.873 809053.622 0, 1314794.58 809072.142 0, 1315078.286 809090.678 0, 1315361.991 809109.231 0, 1315645.695 809127.801 0, 1315929.398 809146.388 0, 1316213.099 809164.991 0,
+ 1316496.8 809183.611 0, 1316780.499 809202.248 0, 1317064.197 809220.901 0, 1317347.895 809239.572 0, 1317631.591 809258.258 0, 1317915.286 809276.962 0, 1318198.98 809295.682 0, 1318482.672 809314.419 0, 1318766.364 809333.173 0, 1319050.055 809351.943 0,
+ 1319333.744 809370.73 0, 1319617.432 809389.534 0, 1319901.12 809408.354 0, 1320184.806 809427.191 0, 1320467.17 809445.957 0, 1320752.175 809464.915 0, 1321035.858 809483.803 0, 1321319.539 809502.706 0, 1321603.22 809521.627 0, 1321886.9 809540.564 0,
+ 1322170.578 809559.518 0, 1322454.255 809578.489 0, 1322737.931 809597.476 0, 1323021.606 809616.48 0, 1323305.28 809635.501 0, 1323588.953 809654.539 0, 1323872.625 809673.593 0, 1324156.295 809692.664 0, 1324439.965 809711.751 0, 1324723.633 809730.855 0,
+ 1325007.3 809749.976 0, 1325290.966 809769.114 0, 1325574.631 809788.268 0, 1325858.295 809807.439 0, 1326141.958 809826.627 0, 1326425.619 809845.831 0, 1326709.28 809865.053 0, 1326992.939 809884.29 0, 1327275.277 809903.455 0, 1327652.97 804341.657 0,
+ 1328030.648 798780.088 0))
+
+POLYGON ((1340889.518 810847.3 0, 1340607.233 810827.338 0, 1340323.63 810807.299 0, 1340040.025 810787.276 0, 1339756.419 810767.271 0, 1339472.811 810747.282 0, 1339189.203 810727.309 0, 1338905.593 810707.354 0, 1338621.982 810687.415 0, 1338338.37 810667.492 0,
+ 1338054.757 810647.587 0, 1337771.143 810627.698 0, 1337487.527 810607.826 0, 1337203.91 810587.97 0, 1336920.293 810568.131 0, 1336636.674 810548.309 0, 1336353.053 810528.504 0, 1336069.432 810508.715 0, 1335785.809 810488.943 0, 1335502.186 810469.188 0,
+ 1335218.561 810449.449 0, 1334934.935 810429.727 0, 1334651.308 810410.022 0, 1334367.679 810390.333 0, 1334082.731 810370.57 0, 1333800.419 810351.006 0, 1333516.787 810331.368 0, 1333233.154 810311.746 0, 1332949.52 810292.141 0, 1332665.885 810272.552 0,
+ 1332382.249 810252.981 0, 1332098.611 810233.426 0, 1331814.972 810213.887 0, 1331531.332 810194.366 0, 1331247.691 810174.861 0, 1330964.049 810155.373 0, 1330680.406 810135.901 0, 1330396.761 810116.446 0, 1330113.116 810097.008 0, 1329829.469 810077.587 0,
+ 1329545.821 810058.182 0, 1329262.172 810038.794 0, 1328978.522 810019.422 0, 1328694.871 810000.068 0, 1328411.218 809980.73 0, 1328127.565 809961.409 0, 1327843.91 809942.104 0, 1327560.254 809922.816 0, 1327275.277 809903.455 0, 1326897.568 815465.478 0,
+ 1326519.844 821027.722 0, 1326804.163 821047.038 0, 1327087.165 821066.281 0, 1327370.165 821085.541 0, 1327653.163 821104.818 0, 1327936.161 821124.111 0, 1328219.158 821143.421 0, 1328502.153 821162.748 0, 1328785.147 821182.091 0, 1329068.141 821201.451 0,
+ 1329351.133 821220.828 0, 1329634.123 821240.221 0, 1329917.113 821259.631 0, 1330200.102 821279.058 0, 1330483.089 821298.501 0, 1330766.076 821317.961 0, 1331049.061 821337.437 0, 1331332.045 821356.931 0, 1331615.028 821376.44 0, 1331898.009 821395.967 0,
+ 1332180.99 821415.51 0, 1332463.969 821435.07 0, 1332746.948 821454.647 0, 1333029.925 821474.24 0, 1333311.585 821493.758 0, 1333595.876 821513.476 0, 1333878.849 821533.119 0, 1334161.822 821552.779 0, 1334444.793 821572.455 0, 1334727.763 821592.148 0,
+ 1335010.732 821611.858 0, 1335293.7 821631.584 0, 1335576.667 821651.328 0, 1335859.632 821671.087 0, 1336142.597 821690.864 0, 1336425.56 821710.657 0, 1336708.522 821730.466 0, 1336991.483 821750.293 0, 1337274.443 821770.136 0, 1337557.401 821789.995 0,
+ 1337840.359 821809.871 0, 1338123.315 821829.764 0, 1338406.27 821849.674 0, 1338689.224 821869.6 0, 1338972.176 821889.543 0, 1339255.128 821909.503 0, 1339538.078 821929.479 0, 1339821.027 821949.472 0, 1340102.661 821969.388 0, 1340496.097 816408.234 0,
+ 1340889.518 810847.3 0))
+
+POLYGON ((1353682.763 822949.425 0, 1353401.184 822928.713 0, 1353118.293 822907.921 0, 1352835.4 822887.145 0, 1352552.506 822866.386 0, 1352269.611 822845.644 0, 1351986.715 822824.918 0, 1351703.817 822804.21 0, 1351420.918 822783.517 0, 1351138.018 822762.842 0,
+ 1350855.117 822742.183 0, 1350572.214 822721.54 0, 1350289.31 822700.915 0, 1350006.405 822680.306 0, 1349723.499 822659.713 0, 1349440.592 822639.138 0, 1349157.683 822618.579 0, 1348874.773 822598.036 0, 1348591.862 822577.51 0, 1348308.95 822557.001 0,
+ 1348026.037 822536.509 0, 1347743.122 822516.033 0, 1347460.206 822495.574 0, 1347177.289 822475.132 0, 1346893.058 822454.611 0, 1346611.452 822434.296 0, 1346328.531 822413.904 0, 1346045.609 822393.528 0, 1345762.686 822373.169 0, 1345479.762 822352.826 0,
+ 1345196.837 822332.5 0, 1344913.91 822312.191 0, 1344630.982 822291.898 0, 1344348.053 822271.622 0, 1344065.123 822251.363 0, 1343782.191 822231.121 0, 1343499.259 822210.894 0, 1343216.325 822190.685 0, 1342933.39 822170.492 0, 1342650.454 822150.316 0,
+ 1342367.517 822130.157 0, 1342084.578 822110.014 0, 1341801.638 822089.888 0, 1341518.697 822069.779 0, 1341235.755 822049.686 0, 1340952.812 822029.61 0, 1340669.868 822009.55 0, 1340386.922 821989.507 0, 1340102.661 821969.388 0, 1339709.208 827530.76 0,
+ 1339315.741 833092.346 0, 1339599.345 833112.419 0, 1339881.636 833132.415 0, 1340163.926 833152.428 0, 1340446.214 833172.458 0, 1340728.502 833192.504 0, 1341010.788 833212.567 0, 1341293.073 833232.646 0, 1341575.357 833252.743 0, 1341857.64 833272.855 0,
+ 1342139.921 833292.985 0, 1342422.201 833313.131 0, 1342704.481 833333.293 0, 1342986.759 833353.473 0, 1343269.035 833373.668 0, 1343551.311 833393.881 0, 1343833.585 833414.11 0, 1344115.858 833434.356 0, 1344398.13 833454.618 0, 1344680.401 833474.897 0,
+ 1344962.671 833495.192 0, 1345244.939 833515.504 0, 1345527.207 833535.833 0, 1345809.473 833556.178 0, 1346090.427 833576.446 0, 1346374.001 833596.919 0, 1346656.263 833617.314 0, 1346938.525 833637.726 0, 1347220.785 833658.154 0, 1347503.043 833678.599 0,
+ 1347785.301 833699.061 0, 1348067.558 833719.539 0, 1348349.813 833740.034 0, 1348632.067 833760.546 0, 1348914.32 833781.074 0, 1349196.571 833801.618 0, 1349478.821 833822.18 0, 1349761.071 833842.758 0, 1350043.319 833863.352 0, 1350325.565 833883.963 0,
+ 1350607.811 833904.591 0, 1350890.055 833925.236 0, 1351172.298 833945.897 0, 1351454.54 833966.574 0, 1351736.781 833987.268 0, 1352019.02 834007.979 0, 1352301.258 834028.707 0, 1352583.495 834049.451 0, 1352864.422 834070.115 0, 1353273.6 828509.663 0,
+ 1353682.763 822949.425 0))
+
+POLYGON ((1366410.286 835086.158 0, 1366129.417 835064.7 0, 1365847.24 835043.158 0, 1365565.061 835021.634 0, 1365282.881 835000.126 0, 1365000.7 834978.634 0, 1364718.518 834957.159 0, 1364436.334 834935.701 0, 1364154.15 834914.259 0, 1363871.964 834892.834 0,
+ 1363589.776 834871.426 0, 1363307.587 834850.034 0, 1363025.398 834828.658 0, 1362743.206 834807.3 0, 1362461.014 834785.958 0, 1362178.82 834764.632 0, 1361896.625 834743.324 0, 1361614.429 834722.031 0, 1361332.232 834700.756 0, 1361050.033 834679.497 0,
+ 1360767.833 834658.254 0, 1360485.632 834637.029 0, 1360203.43 834615.819 0, 1359921.226 834594.627 0, 1359637.713 834573.353 0, 1359356.815 834552.292 0, 1359074.607 834531.149 0, 1358792.399 834510.023 0, 1358510.189 834488.913 0, 1358227.978 834467.82 0,
+ 1357945.765 834446.744 0, 1357663.552 834425.684 0, 1357381.337 834404.641 0, 1357099.121 834383.615 0, 1356816.903 834362.605 0, 1356534.685 834341.612 0, 1356252.465 834320.635 0, 1355970.244 834299.675 0, 1355688.022 834278.732 0, 1355405.798 834257.805 0,
+ 1355123.573 834236.895 0, 1354841.347 834216.001 0, 1354559.12 834195.124 0, 1354276.892 834174.264 0, 1353994.662 834153.42 0, 1353712.431 834132.593 0, 1353430.199 834111.783 0, 1353147.966 834090.989 0, 1352864.422 834070.115 0, 1352455.228 839630.777 0,
+ 1352046.02 845191.645 0, 1352328.906 845212.471 0, 1352610.485 845233.216 0, 1352892.062 845253.978 0, 1353173.638 845274.757 0, 1353455.213 845295.553 0, 1353736.787 845316.365 0, 1354018.36 845337.193 0, 1354299.931 845358.038 0, 1354581.502 845378.9 0,
+ 1354863.07 845399.778 0, 1355144.638 845420.673 0, 1355426.205 845441.584 0, 1355707.77 845462.512 0, 1355989.334 845483.457 0, 1356270.897 845504.418 0, 1356552.458 845525.396 0, 1356834.019 845546.39 0, 1357115.578 845567.401 0, 1357397.136 845588.428 0,
+ 1357678.692 845609.472 0, 1357960.248 845630.533 0, 1358241.802 845651.61 0, 1358523.355 845672.704 0, 1358803.601 845693.716 0, 1359086.457 845714.941 0, 1359368.006 845736.084 0, 1359649.554 845757.244 0, 1359931.1 845778.421 0, 1360212.646 845799.614 0,
+ 1360494.19 845820.823 0, 1360775.733 845842.05 0, 1361057.275 845863.292 0, 1361338.815 845884.552 0, 1361620.354 845905.828 0, 1361901.892 845927.12 0, 1362183.429 845948.429 0, 1362464.964 845969.755 0, 1362746.498 845991.097 0, 1363028.031 846012.456 0,
+ 1363309.563 846033.832 0, 1363591.093 846055.224 0, 1363872.622 846076.632 0, 1364154.15 846098.057 0, 1364435.677 846119.499 0, 1364717.202 846140.957 0, 1364998.726 846162.432 0, 1365280.249 846183.923 0, 1365560.467 846205.332 0, 1365985.384 840645.642 0,
+ 1366410.286 835086.158 0))
+
+POLYGON ((1379071.996 847257.195 0, 1378791.838 847234.995 0, 1378510.377 847212.708 0, 1378228.915 847190.438 0, 1377947.451 847168.184 0, 1377665.986 847145.947 0, 1377384.52 847123.727 0, 1377103.052 847101.523 0, 1376821.584 847079.336 0, 1376540.114 847057.165 0,
+ 1376258.642 847035.011 0, 1375977.169 847012.873 0, 1375695.695 846990.753 0, 1375414.22 846968.648 0, 1375132.743 846946.56 0, 1374851.265 846924.489 0, 1374569.786 846902.434 0, 1374288.306 846880.396 0, 1374006.824 846858.374 0, 1373725.341 846836.369 0,
+ 1373443.856 846814.381 0, 1373162.37 846792.409 0, 1372880.883 846770.454 0, 1372599.395 846748.515 0, 1372316.603 846726.492 0, 1372036.415 846704.687 0, 1371754.923 846682.798 0, 1371473.429 846660.926 0, 1371191.934 846639.07 0, 1370910.438 846617.231 0,
+ 1370628.941 846595.408 0, 1370347.442 846573.602 0, 1370065.942 846551.812 0, 1369784.441 846530.039 0, 1369502.939 846508.282 0, 1369221.435 846486.542 0, 1368939.93 846464.819 0, 1368658.424 846443.112 0, 1368376.916 846421.422 0, 1368095.407 846399.748 0,
+ 1367813.897 846378.091 0, 1367532.386 846356.451 0, 1367250.873 846334.827 0, 1366969.359 846313.22 0, 1366687.844 846291.629 0, 1366406.328 846270.055 0, 1366124.81 846248.497 0, 1365843.291 846226.956 0, 1365560.467 846205.332 0, 1365135.534 851765.224 0,
+ 1364710.585 857325.316 0, 1364992.752 857346.89 0, 1365273.616 857368.381 0, 1365554.48 857389.888 0, 1365835.342 857411.412 0, 1366116.202 857432.953 0, 1366397.062 857454.51 0, 1366677.92 857476.084 0, 1366958.777 857497.674 0, 1367239.633 857519.281 0,
+ 1367520.487 857540.904 0, 1367801.34 857562.544 0, 1368082.192 857584.2 0, 1368363.042 857605.873 0, 1368643.892 857627.562 0, 1368924.74 857649.268 0, 1369205.586 857670.991 0, 1369486.432 857692.73 0, 1369767.276 857714.485 0, 1370048.119 857736.257 0,
+ 1370328.96 857758.046 0, 1370609.801 857779.851 0, 1370890.64 857801.673 0, 1371171.478 857823.511 0, 1371451.015 857845.264 0, 1371733.149 857867.237 0, 1372013.983 857889.124 0, 1372294.816 857911.029 0, 1372575.647 857932.949 0, 1372856.477 857954.887 0,
+ 1373137.306 857976.841 0, 1373418.133 857998.811 0, 1373698.959 858020.798 0, 1373979.784 858042.801 0, 1374260.608 858064.821 0, 1374541.43 858086.858 0, 1374822.251 858108.911 0, 1375103.07 858130.98 0, 1375383.889 858153.066 0, 1375664.706 858175.169 0,
+ 1375945.522 858197.288 0, 1376226.336 858219.424 0, 1376507.149 858241.576 0, 1376787.961 858263.745 0, 1377068.772 858285.93 0, 1377349.581 858308.132 0, 1377630.389 858330.35 0, 1377911.195 858352.585 0, 1378190.702 858374.733 0, 1378631.357 852815.865 0,
+ 1379071.996 847257.195 0))
+
+POLYGON ((1391667.801 859462.231 0, 1391388.355 859439.292 0, 1391107.612 859416.264 0, 1390826.868 859393.253 0, 1390546.123 859370.258 0, 1390265.376 859347.279 0, 1389984.628 859324.317 0, 1389703.879 859301.372 0, 1389423.128 859278.443 0, 1389142.376 859255.53 0,
+ 1388861.622 859232.635 0, 1388580.868 859209.755 0, 1388300.111 859186.892 0, 1388019.354 859164.046 0, 1387738.595 859141.216 0, 1387457.835 859118.403 0, 1387177.073 859095.606 0, 1386896.31 859072.826 0, 1386615.546 859050.062 0, 1386334.78 859027.315 0,
+ 1386054.014 859004.585 0, 1385773.245 858981.87 0, 1385492.476 858959.173 0, 1385211.705 858936.492 0, 1384929.636 858913.723 0, 1384650.159 858891.179 0, 1384369.384 858868.548 0, 1384088.608 858845.933 0, 1383807.83 858823.334 0, 1383527.051 858800.752 0,
+ 1383246.271 858778.187 0, 1382965.489 858755.638 0, 1382684.707 858733.106 0, 1382403.922 858710.59 0, 1382123.137 858688.091 0, 1381842.35 858665.608 0, 1381561.562 858643.142 0, 1381280.772 858620.692 0, 1380999.981 858598.259 0, 1380719.189 858575.842 0,
+ 1380438.396 858553.442 0, 1380157.601 858531.059 0, 1379876.805 858508.692 0, 1379596.007 858486.341 0, 1379315.209 858464.007 0, 1379034.409 858441.69 0, 1378753.607 858419.389 0, 1378472.805 858397.104 0, 1378190.702 858374.733 0, 1377750.032 863933.798 0,
+ 1377309.346 869493.053 0, 1377590.791 869515.372 0, 1377870.94 869537.604 0, 1378151.087 869559.853 0, 1378431.232 869582.119 0, 1378711.377 869604.401 0, 1378991.52 869626.699 0, 1379271.661 869649.014 0, 1379551.802 869671.345 0, 1379831.941 869693.693 0,
+ 1380112.079 869716.058 0, 1380392.215 869738.439 0, 1380672.35 869760.836 0, 1380952.484 869783.25 0, 1381232.617 869805.68 0, 1381512.748 869828.127 0, 1381792.878 869850.59 0, 1382073.006 869873.07 0, 1382353.133 869895.566 0, 1382633.259 869918.079 0,
+ 1382913.384 869940.609 0, 1383193.507 869963.154 0, 1383473.629 869985.717 0, 1383753.75 870008.295 0, 1384032.575 870030.786 0, 1384313.987 870053.502 0, 1384594.103 870076.13 0, 1384874.219 870098.775 0, 1385154.333 870121.436 0, 1385434.445 870144.114 0,
+ 1385714.556 870166.808 0, 1385994.666 870189.519 0, 1386274.775 870212.246 0, 1386554.882 870234.99 0, 1386834.988 870257.75 0, 1387115.093 870280.526 0, 1387395.196 870303.319 0, 1387675.298 870326.129 0, 1387955.398 870348.955 0, 1388235.498 870371.797 0,
+ 1388515.595 870394.656 0, 1388795.692 870417.532 0, 1389075.787 870440.424 0, 1389355.881 870463.332 0, 1389635.973 870486.257 0, 1389916.065 870509.199 0, 1390196.154 870532.157 0, 1390476.243 870555.131 0, 1390755.037 870578.016 0, 1391211.427 865020.027 0,
+ 1391667.801 859462.231 0))
+
+POLYGON ((1404197.609 871700.961 0, 1403918.878 871677.288 0, 1403638.856 871653.523 0, 1403358.832 871629.774 0, 1403078.807 871606.041 0, 1402798.78 871582.325 0, 1402518.752 871558.625 0, 1402238.723 871534.942 0, 1401958.692 871511.275 0, 1401678.66 871487.625 0,
+ 1401398.626 871463.991 0, 1401118.591 871440.374 0, 1400838.555 871416.773 0, 1400558.517 871393.189 0, 1400278.478 871369.621 0, 1399998.438 871346.069 0, 1399718.396 871322.535 0, 1399438.352 871299.016 0, 1399158.308 871275.514 0, 1398878.262 871252.029 0,
+ 1398598.214 871228.56 0, 1398318.166 871205.107 0, 1398038.115 871181.671 0, 1397758.064 871158.252 0, 1397476.719 871134.741 0, 1397197.957 871111.462 0, 1396917.901 871088.092 0, 1396637.844 871064.739 0, 1396357.785 871041.402 0, 1396077.726 871018.081 0,
+ 1395797.664 870994.777 0, 1395517.602 870971.489 0, 1395237.538 870948.218 0, 1394957.473 870924.964 0, 1394677.406 870901.725 0, 1394397.338 870878.504 0, 1394117.269 870855.299 0, 1393837.198 870832.11 0, 1393557.126 870808.938 0, 1393277.052 870785.782 0,
+ 1392996.977 870762.643 0, 1392716.901 870739.52 0, 1392436.824 870716.414 0, 1392156.745 870693.324 0, 1391876.664 870670.25 0, 1391596.583 870647.194 0, 1391316.5 870624.153 0, 1391036.415 870601.129 0, 1390755.037 870578.016 0, 1390298.632 876136.192 0,
+ 1389842.212 881694.552 0, 1390122.933 881717.611 0, 1390402.363 881740.581 0, 1390681.792 881763.568 0, 1390961.219 881786.571 0, 1391240.645 881809.59 0, 1391520.07 881832.626 0, 1391799.493 881855.678 0, 1392078.915 881878.747 0, 1392358.335 881901.832 0,
+ 1392637.755 881924.934 0, 1392917.173 881948.052 0, 1393196.589 881971.187 0, 1393476.004 881994.338 0, 1393755.418 882017.505 0, 1394034.83 882040.689 0, 1394314.241 882063.889 0, 1394593.651 882087.106 0, 1394873.059 882110.339 0, 1395152.466 882133.589 0,
+ 1395431.872 882156.855 0, 1395711.276 882180.138 0, 1395990.679 882203.437 0, 1396270.08 882226.752 0, 1396548.192 882249.976 0, 1396828.879 882273.432 0, 1397108.276 882296.797 0, 1397387.672 882320.178 0, 1397667.067 882343.576 0, 1397946.46 882366.99 0,
+ 1398225.852 882390.421 0, 1398505.243 882413.868 0, 1398784.632 882437.331 0, 1399064.019 882460.811 0, 1399343.406 882484.307 0, 1399622.79 882507.82 0, 1399902.174 882531.349 0, 1400181.556 882554.895 0, 1400460.937 882578.457 0, 1400740.316 882602.036 0,
+ 1401019.694 882625.631 0, 1401299.071 882649.242 0, 1401578.446 882672.87 0, 1401857.82 882696.514 0, 1402137.192 882720.175 0, 1402416.563 882743.852 0, 1402695.933 882767.546 0, 1402975.301 882791.256 0, 1403253.381 882814.873 0, 1403725.503 877257.825 0,
+ 1404197.609 871700.961 0))
+
+POLYGON ((1416661.331 883973.08 0, 1416383.317 883948.677 0, 1416104.017 883924.177 0, 1415824.716 883899.695 0, 1415545.413 883875.228 0, 1415266.108 883850.778 0, 1414986.802 883826.345 0, 1414707.495 883801.928 0, 1414428.186 883777.527 0, 1414148.876 883753.143 0,
+ 1413869.564 883728.775 0, 1413590.251 883704.424 0, 1413310.937 883680.089 0, 1413031.621 883655.77 0, 1412752.303 883631.468 0, 1412472.985 883607.183 0, 1412193.664 883582.914 0, 1411914.343 883558.661 0, 1411635.02 883534.425 0, 1411355.695 883510.205 0,
+ 1411076.369 883486.002 0, 1410797.042 883461.815 0, 1410517.713 883437.644 0, 1410238.383 883413.49 0, 1409957.765 883389.241 0, 1409679.718 883365.231 0, 1409400.384 883341.127 0, 1409121.048 883317.038 0, 1408841.71 883292.967 0, 1408562.372 883268.911 0,
+ 1408283.032 883244.872 0, 1408003.69 883220.85 0, 1407724.347 883196.844 0, 1407445.003 883172.854 0, 1407165.657 883148.881 0, 1406886.31 883124.924 0, 1406606.961 883100.984 0, 1406327.611 883077.06 0, 1406048.26 883053.153 0, 1405768.907 883029.262 0,
+ 1405489.553 883005.387 0, 1405210.197 882981.529 0, 1404930.84 882957.687 0, 1404651.481 882933.862 0, 1404372.122 882910.053 0, 1404092.76 882886.261 0, 1403813.398 882862.485 0, 1403534.034 882838.726 0, 1403253.381 882814.873 0, 1402781.244 888372.102 0,
+ 1402309.092 893929.506 0, 1402589.087 893953.303 0, 1402867.797 893977.007 0, 1403146.506 894000.727 0, 1403425.213 894024.464 0, 1403703.918 894048.217 0, 1403982.623 894071.986 0, 1404261.326 894095.772 0, 1404540.027 894119.574 0, 1404818.727 894143.393 0,
+ 1405097.426 894167.228 0, 1405376.123 894191.079 0, 1405654.819 894214.947 0, 1405933.513 894238.831 0, 1406212.207 894262.732 0, 1406490.898 894286.649 0, 1406769.588 894310.582 0, 1407048.277 894334.532 0, 1407326.965 894358.498 0, 1407605.651 894382.481 0,
+ 1407884.335 894406.48 0, 1408163.018 894430.496 0, 1408441.7 894454.527 0, 1408720.381 894478.576 0, 1408997.776 894502.53 0, 1409277.737 894526.721 0, 1409556.413 894550.819 0, 1409835.088 894574.933 0, 1410113.761 894599.063 0, 1410392.433 894623.21 0,
+ 1410671.103 894647.373 0, 1410949.772 894671.552 0, 1411228.44 894695.748 0, 1411507.106 894719.961 0, 1411785.771 894744.189 0, 1412064.434 894768.434 0, 1412343.096 894792.696 0, 1412621.757 894816.974 0, 1412900.416 894841.268 0, 1413179.073 894865.579 0,
+ 1413457.729 894889.906 0, 1413736.384 894914.249 0, 1414015.037 894938.609 0, 1414293.689 894962.985 0, 1414572.34 894987.378 0, 1414850.989 895011.787 0, 1415129.636 895036.213 0, 1415408.282 895060.655 0, 1415685.645 895085 0, 1416173.496 889528.952 0,
+ 1416661.331 883973.08 0))
+
+POLYGON ((1429058.881 896278.281 0, 1428781.585 896253.152 0, 1428503.01 896227.923 0, 1428224.432 896202.71 0, 1427945.853 896177.514 0, 1427667.273 896152.334 0, 1427388.691 896127.17 0, 1427110.108 896102.023 0, 1426831.523 896076.893 0, 1426552.936 896051.778 0,
+ 1426274.349 896026.681 0, 1425995.759 896001.599 0, 1425717.169 895976.534 0, 1425438.576 895951.485 0, 1425159.983 895926.453 0, 1424881.387 895901.437 0, 1424602.791 895876.438 0, 1424324.193 895851.455 0, 1424045.593 895826.488 0, 1423766.992 895801.538 0,
+ 1423488.39 895776.604 0, 1423209.786 895751.686 0, 1422931.18 895726.785 0, 1422652.573 895701.901 0, 1422372.684 895676.918 0, 1422095.355 895652.18 0, 1421816.744 895627.345 0, 1421538.131 895602.526 0, 1421259.517 895577.723 0, 1420980.901 895552.937 0,
+ 1420702.284 895528.167 0, 1420423.665 895503.413 0, 1420145.045 895478.676 0, 1419866.424 895453.956 0, 1419587.801 895429.251 0, 1419309.176 895404.563 0, 1419030.55 895379.892 0, 1418751.923 895355.237 0, 1418473.294 895330.598 0, 1418194.664 895305.976 0,
+ 1417916.032 895281.37 0, 1417637.399 895256.78 0, 1417358.765 895232.207 0, 1417080.129 895207.651 0, 1416801.491 895183.11 0, 1416522.852 895158.586 0, 1416244.212 895134.079 0, 1415965.57 895109.588 0, 1415685.645 895085 0, 1415197.779 900641.222 0,
+ 1414709.898 906197.611 0, 1414989.166 906222.141 0, 1415267.154 906246.574 0, 1415545.14 906271.024 0, 1415823.125 906295.491 0, 1416101.109 906319.973 0, 1416379.091 906344.473 0, 1416657.071 906368.988 0, 1416935.05 906393.52 0, 1417213.028 906418.068 0,
+ 1417491.004 906442.632 0, 1417768.979 906467.213 0, 1418046.952 906491.811 0, 1418324.924 906516.424 0, 1418602.894 906541.054 0, 1418880.863 906565.7 0, 1419158.831 906590.363 0, 1419436.797 906615.042 0, 1419714.762 906639.737 0, 1419992.725 906664.449 0,
+ 1420270.686 906689.177 0, 1420548.647 906713.922 0, 1420826.605 906738.683 0, 1421104.563 906763.46 0, 1421381.241 906788.139 0, 1421660.473 906813.063 0, 1421938.426 906837.89 0, 1422216.377 906862.732 0, 1422494.327 906887.591 0, 1422772.276 906912.467 0,
+ 1423050.223 906937.358 0, 1423328.169 906962.266 0, 1423606.113 906987.191 0, 1423884.055 907012.132 0, 1424161.997 907037.089 0, 1424439.936 907062.062 0, 1424717.875 907087.052 0, 1424995.811 907112.058 0, 1425273.747 907137.081 0, 1425551.681 907162.12 0,
+ 1425829.613 907187.175 0, 1426107.544 907212.247 0, 1426385.473 907237.335 0, 1426663.401 907262.439 0, 1426941.328 907287.56 0, 1427219.253 907312.697 0, 1427497.176 907337.851 0, 1427775.098 907363.02 0, 1428051.743 907388.091 0, 1428555.319 901833.102 0,
+ 1429058.881 896278.281 0))
+
+POLYGON ((1441390.17 908616.259 0, 1441113.596 908590.407 0, 1440835.746 908564.452 0, 1440557.895 908538.513 0, 1440280.042 908512.591 0, 1440002.187 908486.685 0, 1439724.332 908460.796 0, 1439446.474 908434.923 0, 1439168.615 908409.066 0, 1438890.755 908383.225 0,
+ 1438612.893 908357.401 0, 1438335.029 908331.594 0, 1438057.164 908305.802 0, 1437779.297 908280.027 0, 1437501.429 908254.269 0, 1437223.56 908228.526 0, 1436945.689 908202.801 0, 1436667.816 908177.091 0, 1436389.942 908151.398 0, 1436112.066 908125.721 0,
+ 1435834.189 908100.06 0, 1435556.31 908074.416 0, 1435278.43 908048.788 0, 1435000.549 908023.177 0, 1434721.39 907997.464 0, 1434444.781 907972.003 0, 1434166.894 907946.441 0, 1433889.007 907920.895 0, 1433611.117 907895.365 0, 1433333.227 907869.852 0,
+ 1433055.335 907844.355 0, 1432777.441 907818.874 0, 1432499.546 907793.41 0, 1432221.649 907767.962 0, 1431943.751 907742.531 0, 1431665.851 907717.115 0, 1431387.95 907691.717 0, 1431110.047 907666.334 0, 1430832.143 907640.968 0, 1430554.237 907615.618 0,
+ 1430276.33 907590.285 0, 1429998.421 907564.968 0, 1429720.511 907539.667 0, 1429442.6 907514.383 0, 1429164.686 907489.115 0, 1428886.772 907463.863 0, 1428608.856 907438.628 0, 1428330.938 907413.409 0, 1428051.743 907388.091 0, 1427548.151 912943.245 0,
+ 1427044.545 918498.56 0, 1427323.083 918523.819 0, 1427600.347 918548.978 0, 1427877.609 918574.154 0, 1428154.87 918599.346 0, 1428432.129 918624.555 0, 1428709.387 918649.78 0, 1428986.643 918675.021 0, 1429263.898 918700.278 0, 1429541.151 918725.552 0,
+ 1429818.403 918750.842 0, 1430095.653 918776.148 0, 1430372.902 918801.471 0, 1430650.149 918826.81 0, 1430927.395 918852.166 0, 1431204.639 918877.537 0, 1431481.882 918902.925 0, 1431759.124 918928.33 0, 1432036.363 918953.75 0, 1432313.602 918979.187 0,
+ 1432590.839 919004.641 0, 1432868.074 919030.11 0, 1433145.308 919055.596 0, 1433422.54 919081.098 0, 1433698.499 919106.5 0, 1433977 919132.152 0, 1434254.228 919157.703 0, 1434531.455 919183.27 0, 1434808.679 919208.854 0, 1435085.903 919234.454 0,
+ 1435363.125 919260.071 0, 1435640.345 919285.704 0, 1435917.564 919311.353 0, 1436194.781 919337.018 0, 1436471.997 919362.7 0, 1436749.211 919388.398 0, 1437026.424 919414.112 0, 1437303.635 919439.843 0, 1437580.845 919465.59 0, 1437858.053 919491.353 0,
+ 1438135.26 919517.133 0, 1438412.465 919542.929 0, 1438689.668 919568.741 0, 1438966.871 919594.569 0, 1439244.071 919620.414 0, 1439521.27 919646.275 0, 1439798.468 919672.153 0, 1440075.664 919698.047 0, 1440351.587 919723.838 0, 1440870.886 914169.968 0,
+ 1441390.17 908616.259 0))
+
+POLYGON ((1453655.115 920986.706 0, 1453379.264 920960.135 0, 1453102.142 920933.458 0, 1452825.018 920906.798 0, 1452547.893 920880.154 0, 1452270.767 920853.526 0, 1451993.639 920826.914 0, 1451716.509 920800.319 0, 1451439.378 920773.74 0, 1451162.245 920747.177 0,
+ 1450885.111 920720.631 0, 1450607.975 920694.101 0, 1450330.838 920667.587 0, 1450053.699 920641.09 0, 1449776.558 920614.608 0, 1449499.416 920588.144 0, 1449222.272 920561.695 0, 1448945.127 920535.263 0, 1448667.98 920508.847 0, 1448390.832 920482.448 0,
+ 1448113.682 920456.064 0, 1447836.531 920429.697 0, 1447559.378 920403.347 0, 1447282.223 920377.012 0, 1447003.797 920350.574 0, 1446727.909 920324.393 0, 1446450.75 920298.107 0, 1446173.589 920271.838 0, 1445896.427 920245.586 0, 1445619.263 920219.349 0,
+ 1445342.098 920193.129 0, 1445064.931 920166.925 0, 1444787.763 920140.738 0, 1444510.593 920114.567 0, 1444233.421 920088.412 0, 1443956.248 920062.273 0, 1443679.073 920036.151 0, 1443401.897 920010.045 0, 1443124.72 919983.956 0, 1442847.54 919957.882 0,
+ 1442570.36 919931.825 0, 1442293.177 919905.785 0, 1442015.993 919879.76 0, 1441738.808 919853.752 0, 1441461.621 919827.761 0, 1441184.433 919801.785 0, 1440907.243 919775.826 0, 1440630.051 919749.883 0, 1440351.587 919723.838 0, 1439832.274 925277.865 0,
+ 1439312.946 930832.046 0, 1439590.753 930858.03 0, 1439867.291 930883.911 0, 1440143.827 930909.809 0, 1440420.361 930935.723 0, 1440696.895 930961.654 0, 1440973.426 930987.6 0, 1441249.956 931013.563 0, 1441526.485 931039.542 0, 1441803.012 931065.538 0,
+ 1442079.537 931091.55 0, 1442356.061 931117.578 0, 1442632.583 931143.622 0, 1442909.104 931169.683 0, 1443185.624 931195.76 0, 1443462.141 931221.853 0, 1443738.658 931247.962 0, 1444015.172 931274.088 0, 1444291.686 931300.23 0, 1444568.197 931326.388 0,
+ 1444844.707 931352.563 0, 1445121.216 931378.754 0, 1445397.723 931404.961 0, 1445674.228 931431.184 0, 1445949.465 931457.303 0, 1446227.235 931483.68 0, 1446503.735 931509.952 0, 1446780.235 931536.24 0, 1447056.732 931562.545 0, 1447333.229 931588.866 0,
+ 1447609.723 931615.203 0, 1447886.216 931641.557 0, 1448162.708 931667.927 0, 1448439.198 931694.313 0, 1448715.686 931720.715 0, 1448992.173 931747.134 0, 1449268.658 931773.569 0, 1449545.142 931800.02 0, 1449821.624 931826.487 0, 1450098.105 931852.971 0,
+ 1450374.584 931879.471 0, 1450651.062 931905.987 0, 1450927.538 931932.52 0, 1451204.012 931959.069 0, 1451480.485 931985.634 0, 1451756.956 932012.215 0, 1452033.426 932038.813 0, 1452309.894 932065.427 0, 1452585.095 932091.935 0, 1453120.113 926539.244 0,
+ 1453655.115 920986.706 0))
+
+POLYGON ((1465853.632 933389.316 0, 1465578.505 933362.03 0, 1465302.113 933334.635 0, 1465025.72 933307.256 0, 1464749.324 933279.894 0, 1464472.928 933252.548 0, 1464196.529 933225.218 0, 1463920.13 933197.904 0, 1463643.728 933170.607 0, 1463367.325 933143.326 0,
+ 1463090.92 933116.061 0, 1462814.514 933088.813 0, 1462538.106 933061.581 0, 1462261.696 933034.365 0, 1461985.285 933007.165 0, 1461708.873 932979.982 0, 1461432.458 932952.815 0, 1461156.042 932925.664 0, 1460879.625 932898.529 0, 1460603.206 932871.411 0,
+ 1460326.785 932844.309 0, 1460050.363 932817.223 0, 1459773.939 932790.153 0, 1459497.513 932763.1 0, 1459219.822 932735.94 0, 1458944.657 932709.043 0, 1458668.227 932682.038 0, 1458391.795 932655.05 0, 1458115.362 932628.078 0, 1457838.927 932601.122 0,
+ 1457562.49 932574.183 0, 1457286.052 932547.26 0, 1457009.612 932520.353 0, 1456733.171 932493.463 0, 1456456.728 932466.588 0, 1456180.283 932439.73 0, 1455903.837 932412.889 0, 1455627.389 932386.063 0, 1455350.94 932359.254 0, 1455074.489 932332.461 0,
+ 1454798.037 932305.684 0, 1454521.583 932278.924 0, 1454245.127 932252.18 0, 1453968.67 932225.452 0, 1453692.211 932198.741 0, 1453415.751 932172.045 0, 1453139.289 932145.366 0, 1452862.826 932118.703 0, 1452585.095 932091.935 0, 1452050.063 937644.775 0,
+ 1451515.018 943197.761 0, 1451792.091 943224.466 0, 1452067.901 943251.066 0, 1452343.709 943277.682 0, 1452619.516 943304.314 0, 1452895.321 943330.963 0, 1453171.125 943357.627 0, 1453446.927 943384.308 0, 1453722.727 943411.005 0, 1453998.526 943437.719 0,
+ 1454274.323 943464.448 0, 1454550.119 943491.194 0, 1454825.913 943517.956 0, 1455101.705 943544.734 0, 1455377.496 943571.529 0, 1455653.285 943598.34 0, 1455929.073 943625.166 0, 1456204.859 943652.01 0, 1456480.644 943678.869 0, 1456756.427 943705.745 0,
+ 1457032.209 943732.637 0, 1457307.988 943759.545 0, 1457583.767 943786.469 0, 1457859.543 943813.41 0, 1458134.057 943840.243 0, 1458411.092 943867.34 0, 1458686.864 943894.329 0, 1458962.634 943921.334 0, 1459238.403 943948.356 0, 1459514.17 943975.394 0,
+ 1459789.936 944002.448 0, 1460065.7 944029.519 0, 1460341.462 944056.605 0, 1460617.223 944083.708 0, 1460892.982 944110.827 0, 1461168.74 944137.963 0, 1461444.496 944165.114 0, 1461720.25 944192.282 0, 1461996.003 944219.466 0, 1462271.754 944246.667 0,
+ 1462547.504 944273.883 0, 1462823.252 944301.116 0, 1463098.998 944328.365 0, 1463374.743 944355.63 0, 1463650.486 944382.911 0, 1463926.228 944410.209 0, 1464201.968 944437.523 0, 1464477.706 944464.853 0, 1464752.183 944492.074 0, 1465302.915 938940.622 0,
+ 1465853.632 933389.316 0))
+
+POLYGON ((956511.868 498372.988 0, 956211.342 498375.544 0, 955909.349 498378.13 0, 955607.355 498380.734 0, 955305.362 498383.356 0, 955003.369 498385.995 0, 954701.377 498388.653 0, 954399.384 498391.328 0, 954097.391 498394.021 0, 953795.399 498396.731 0,
+ 953493.407 498399.46 0, 953191.415 498402.206 0, 952889.423 498404.97 0, 952587.431 498407.751 0, 952285.44 498410.551 0, 951983.449 498413.368 0, 951681.457 498416.203 0, 951379.466 498419.056 0, 951077.476 498421.927 0, 950775.485 498424.815 0,
+ 950473.494 498427.721 0, 950171.504 498430.645 0, 949869.514 498433.587 0, 949567.524 498436.546 0, 949264.065 498439.538 0, 948963.544 498442.518 0, 948661.555 498445.531 0, 948359.566 498448.562 0, 948057.577 498451.61 0, 947755.588 498454.676 0,
+ 947453.599 498457.76 0, 947151.61 498460.862 0, 946849.622 498463.981 0, 946547.634 498467.118 0, 946245.646 498470.273 0, 945943.658 498473.446 0, 945641.67 498476.637 0, 945339.683 498479.845 0, 945037.696 498483.071 0, 944735.709 498486.315 0,
+ 944433.722 498489.577 0, 944131.735 498492.856 0, 943829.748 498496.153 0, 943527.762 498499.468 0, 943225.776 498502.801 0, 942923.79 498506.151 0, 942621.804 498509.52 0, 942319.819 498512.906 0, 942016.363 498516.326 0, 942079.169 504073.728 0,
+ 942141.979 509631.531 0, 942444.777 509628.118 0, 942746.108 509624.739 0, 943047.44 509621.378 0, 943348.771 509618.035 0, 943650.103 509614.71 0, 943951.435 509611.402 0, 944252.768 509608.112 0, 944554.1 509604.84 0, 944855.433 509601.585 0,
+ 945156.766 509598.348 0, 945458.099 509595.129 0, 945759.432 509591.928 0, 946060.765 509588.744 0, 946362.099 509585.578 0, 946663.433 509582.43 0, 946964.767 509579.3 0, 947266.101 509576.187 0, 947567.435 509573.092 0, 947868.77 509570.015 0,
+ 948170.104 509566.955 0, 948471.439 509563.914 0, 948772.774 509560.89 0, 949074.109 509557.883 0, 949373.979 509554.909 0, 949676.78 509551.924 0, 949978.116 509548.971 0, 950279.452 509546.036 0, 950580.788 509543.118 0, 950882.125 509540.218 0,
+ 951183.461 509537.336 0, 951484.798 509534.472 0, 951786.134 509531.625 0, 952087.471 509528.796 0, 952388.808 509525.985 0, 952690.146 509523.192 0, 952991.483 509520.416 0, 953292.821 509517.658 0, 953594.159 509514.918 0, 953895.496 509512.195 0,
+ 954196.835 509509.49 0, 954498.173 509506.803 0, 954799.511 509504.134 0, 955100.85 509501.483 0, 955402.188 509498.849 0, 955703.527 509496.233 0, 956004.866 509493.634 0, 956306.206 509491.054 0, 956606.08 509488.503 0, 956558.972 503930.544 0,
+ 956511.868 498372.988 0))
+
+POLYGON ((971070.528 509386.34 0, 970770.645 509388.043 0, 970469.3 509389.772 0, 970167.954 509391.519 0, 969866.609 509393.284 0, 969565.264 509395.066 0, 969263.92 509396.867 0, 968962.575 509398.685 0, 968661.23 509400.52 0, 968359.886 509402.374 0,
+ 968058.541 509404.245 0, 967757.197 509406.134 0, 967455.853 509408.04 0, 967154.509 509409.965 0, 966853.165 509411.907 0, 966551.821 509413.867 0, 966250.477 509415.844 0, 965949.133 509417.839 0, 965647.79 509419.852 0, 965346.447 509421.883 0,
+ 965045.103 509423.932 0, 964743.76 509425.998 0, 964442.417 509428.082 0, 964141.074 509430.184 0, 963838.268 509432.313 0, 963538.389 509434.44 0, 963237.046 509436.595 0, 962935.704 509438.768 0, 962634.362 509440.958 0, 962333.019 509443.166 0,
+ 962031.677 509445.392 0, 961730.336 509447.636 0, 961428.994 509449.897 0, 961127.652 509452.176 0, 960826.311 509454.473 0, 960524.969 509456.788 0, 960223.628 509459.12 0, 959922.287 509461.47 0, 959620.946 509463.838 0, 959319.605 509466.223 0,
+ 959018.265 509468.626 0, 958716.924 509471.047 0, 958415.584 509473.486 0, 958114.244 509475.943 0, 957812.904 509478.417 0, 957511.564 509480.909 0, 957210.224 509483.418 0, 956908.884 509485.946 0, 956606.08 509488.503 0, 956653.191 515046.861 0,
+ 956700.306 520605.616 0, 957002.453 520603.064 0, 957303.138 520600.542 0, 957603.824 520598.038 0, 957904.509 520595.551 0, 958205.195 520593.082 0, 958505.881 520590.631 0, 958806.567 520588.198 0, 959107.253 520585.782 0, 959407.939 520583.384 0,
+ 959708.626 520581.004 0, 960009.312 520578.641 0, 960309.999 520576.296 0, 960610.686 520573.969 0, 960911.373 520571.659 0, 961212.06 520569.368 0, 961512.747 520567.093 0, 961813.435 520564.837 0, 962114.122 520562.598 0, 962414.81 520560.377 0,
+ 962715.498 520558.174 0, 963016.186 520555.988 0, 963316.874 520553.82 0, 963617.562 520551.67 0, 963916.79 520549.548 0, 964218.939 520547.423 0, 964519.627 520545.325 0, 964820.316 520543.246 0, 965121.005 520541.184 0, 965421.694 520539.14 0,
+ 965722.383 520537.114 0, 966023.072 520535.105 0, 966323.761 520533.114 0, 966624.45 520531.141 0, 966925.14 520529.185 0, 967225.83 520527.247 0, 967526.519 520525.327 0, 967827.209 520523.425 0, 968127.899 520521.54 0, 968428.589 520519.673 0,
+ 968729.279 520517.824 0, 969029.97 520515.992 0, 969330.66 520514.178 0, 969631.351 520512.382 0, 969932.041 520510.603 0, 970232.732 520508.842 0, 970533.423 520507.099 0, 970834.114 520505.373 0, 971133.345 520503.674 0, 971101.935 514944.809 0,
+ 971070.528 509386.34 0))
+
+POLYGON ((985566.615 520442.509 0, 985267.378 520443.363 0, 984966.683 520444.239 0, 984665.988 520445.132 0, 984365.294 520446.044 0, 984064.599 520446.973 0, 983763.905 520447.92 0, 983463.211 520448.884 0, 983162.517 520449.866 0, 982861.822 520450.866 0,
+ 982561.128 520451.884 0, 982260.434 520452.919 0, 981959.74 520453.972 0, 981659.046 520455.043 0, 981358.352 520456.131 0, 981057.658 520457.237 0, 980756.965 520458.361 0, 980456.271 520459.502 0, 980155.577 520460.661 0, 979854.884 520461.838 0,
+ 979554.19 520463.033 0, 979253.497 520464.245 0, 978952.803 520465.475 0, 978652.11 520466.723 0, 978349.959 520467.994 0, 978050.724 520469.271 0, 977750.031 520470.572 0, 977449.338 520471.89 0, 977148.645 520473.226 0, 976847.952 520474.58 0,
+ 976547.259 520475.952 0, 976246.567 520477.341 0, 975945.874 520478.748 0, 975645.181 520480.173 0, 975344.489 520481.615 0, 975043.797 520483.075 0, 974743.105 520484.553 0, 974442.412 520486.048 0, 974141.72 520487.561 0, 973841.028 520489.092 0,
+ 973540.336 520490.64 0, 973239.645 520492.207 0, 972938.953 520493.791 0, 972638.261 520495.392 0, 972337.57 520497.011 0, 972036.878 520498.648 0, 971736.187 520500.303 0, 971435.496 520501.976 0, 971133.345 520503.674 0, 971164.757 526062.932 0,
+ 971196.172 531622.58 0, 971497.665 531620.886 0, 971797.702 531619.217 0, 972097.739 531617.566 0, 972397.775 531615.932 0, 972697.813 531614.317 0, 972997.85 531612.718 0, 973297.887 531611.138 0, 973597.924 531609.575 0, 973897.962 531608.03 0,
+ 974197.999 531606.503 0, 974498.037 531604.993 0, 974798.075 531603.501 0, 975098.112 531602.026 0, 975398.15 531600.569 0, 975698.188 531599.13 0, 975998.226 531597.709 0, 976298.265 531596.305 0, 976598.303 531594.918 0, 976898.341 531593.55 0,
+ 977198.379 531592.199 0, 977498.418 531590.866 0, 977798.456 531589.55 0, 978098.495 531588.252 0, 978397.079 531586.978 0, 978698.573 531585.709 0, 978998.611 531584.465 0, 979298.65 531583.237 0, 979598.689 531582.028 0, 979898.728 531580.836 0,
+ 980198.767 531579.661 0, 980498.807 531578.505 0, 980798.846 531577.366 0, 981098.885 531576.245 0, 981398.925 531575.141 0, 981698.964 531574.055 0, 981999.004 531572.987 0, 982299.043 531571.936 0, 982599.083 531570.903 0, 982899.123 531569.887 0,
+ 983199.162 531568.89 0, 983499.202 531567.91 0, 983799.242 531566.947 0, 984099.282 531566.003 0, 984399.322 531565.076 0, 984699.362 531564.166 0, 984999.402 531563.274 0, 985299.442 531562.4 0, 985598.028 531561.548 0, 985582.321 526001.833 0,
+ 985566.615 520442.509 0))
+
+POLYGON ((1000000 531541.204 0, 999701.41 531541.213 0, 999401.369 531541.239 0, 999101.327 531541.283 0, 998801.286 531541.345 0, 998501.245 531541.424 0, 998201.203 531541.521 0, 997901.162 531541.636 0, 997601.12 531541.768 0, 997301.079 531541.918 0,
+ 997001.038 531542.086 0, 996700.996 531542.271 0, 996400.955 531542.474 0, 996100.914 531542.695 0, 995800.872 531542.933 0, 995500.831 531543.189 0, 995200.79 531543.463 0, 994900.748 531543.754 0, 994600.707 531544.063 0, 994300.666 531544.39 0,
+ 994000.625 531544.734 0, 993700.583 531545.096 0, 993400.542 531545.476 0, 993100.501 531545.873 0, 992799.007 531546.29 0, 992500.419 531546.721 0, 992200.378 531547.171 0, 991900.337 531547.639 0, 991600.296 531548.124 0, 991300.255 531548.627 0,
+ 991000.214 531549.148 0, 990700.173 531549.687 0, 990400.132 531550.243 0, 990100.091 531550.817 0, 989800.05 531551.408 0, 989500.009 531552.018 0, 989199.968 531552.644 0, 988899.928 531553.289 0, 988599.887 531553.951 0, 988299.846 531554.631 0,
+ 987999.806 531555.328 0, 987699.765 531556.044 0, 987399.725 531556.776 0, 987099.684 531557.527 0, 986799.644 531558.295 0, 986499.603 531559.081 0, 986199.563 531559.884 0, 985899.523 531560.705 0, 985598.028 531561.548 0, 985613.737 537121.65 0,
+ 985629.446 542682.135 0, 985930.283 542681.294 0, 986229.669 542680.475 0, 986529.054 542679.673 0, 986828.44 542678.889 0, 987127.826 542678.122 0, 987427.212 542677.374 0, 987726.598 542676.642 0, 988025.984 542675.929 0, 988325.37 542675.233 0,
+ 988624.756 542674.555 0, 988924.142 542673.894 0, 989223.529 542673.251 0, 989522.915 542672.625 0, 989822.301 542672.017 0, 990121.687 542671.427 0, 990421.074 542670.855 0, 990720.46 542670.3 0, 991019.847 542669.762 0, 991319.233 542669.243 0,
+ 991618.62 542668.74 0, 991918.006 542668.256 0, 992217.393 542667.789 0, 992516.779 542667.34 0, 992814.716 542666.91 0, 993115.552 542666.494 0, 993414.939 542666.098 0, 993714.326 542665.719 0, 994013.712 542665.358 0, 994313.099 542665.014 0,
+ 994612.486 542664.688 0, 994911.872 542664.38 0, 995211.259 542664.089 0, 995510.646 542663.816 0, 995810.033 542663.561 0, 996109.419 542663.323 0, 996408.806 542663.103 0, 996708.193 542662.9 0, 997007.58 542662.715 0, 997306.967 542662.548 0,
+ 997606.354 542662.398 0, 997905.74 542662.266 0, 998205.127 542662.152 0, 998504.514 542662.055 0, 998803.901 542661.976 0, 999103.288 542661.914 0, 999402.675 542661.87 0, 999702.062 542661.844 0, 1000000 542661.835 0, 1000000 537101.328 0,
+ 1000000 531541.204 0))
+
+POLYGON ((1014370.554 542682.135 0, 1014072.614 542681.302 0, 1013773.229 542680.483 0, 1013473.843 542679.681 0, 1013174.457 542678.896 0, 1012875.071 542678.13 0, 1012575.685 542677.381 0, 1012276.299 542676.649 0, 1011976.913 542675.936 0, 1011677.527 542675.24 0,
+ 1011378.141 542674.561 0, 1011078.755 542673.9 0, 1010779.368 542673.257 0, 1010479.982 542672.631 0, 1010180.596 542672.023 0, 1009881.21 542671.433 0, 1009581.823 542670.86 0, 1009282.437 542670.305 0, 1008983.05 542669.767 0, 1008683.664 542669.247 0,
+ 1008384.278 542668.745 0, 1008084.891 542668.261 0, 1007785.505 542667.793 0, 1007486.118 542667.344 0, 1007185.284 542666.91 0, 1006887.345 542666.498 0, 1006587.958 542666.101 0, 1006288.572 542665.723 0, 1005989.185 542665.361 0, 1005689.798 542665.018 0,
+ 1005390.412 542664.691 0, 1005091.025 542664.383 0, 1004791.638 542664.092 0, 1004492.251 542663.819 0, 1004192.864 542663.563 0, 1003893.478 542663.325 0, 1003594.091 542663.105 0, 1003294.704 542662.902 0, 1002995.317 542662.717 0, 1002695.93 542662.55 0,
+ 1002396.544 542662.4 0, 1002097.157 542662.268 0, 1001797.77 542662.153 0, 1001498.383 542662.056 0, 1001198.996 542661.977 0, 1000899.609 542661.915 0, 1000600.222 542661.871 0, 1000300.835 542661.844 0, 1000000 542661.835 0, 1000000 548222.723 0,
+ 1000000 553783.989 0, 1000300.178 553783.998 0, 1000598.91 553784.024 0, 1000897.642 553784.068 0, 1001196.374 553784.13 0, 1001495.107 553784.209 0, 1001793.839 553784.306 0, 1002092.571 553784.42 0, 1002391.303 553784.552 0, 1002690.036 553784.702 0,
+ 1002988.768 553784.869 0, 1003287.5 553785.054 0, 1003586.232 553785.256 0, 1003884.964 553785.476 0, 1004183.697 553785.713 0, 1004482.429 553785.968 0, 1004781.161 553786.241 0, 1005079.893 553786.531 0, 1005378.625 553786.839 0, 1005677.357 553787.164 0,
+ 1005976.089 553787.507 0, 1006274.821 553787.868 0, 1006573.553 553788.246 0, 1006872.285 553788.641 0, 1007169.573 553789.053 0, 1007469.749 553789.486 0, 1007768.481 553789.934 0, 1008067.213 553790.4 0, 1008365.945 553790.884 0, 1008664.677 553791.385 0,
+ 1008963.408 553791.904 0, 1009262.14 553792.44 0, 1009560.872 553792.994 0, 1009859.604 553793.565 0, 1010158.335 553794.155 0, 1010457.067 553794.761 0, 1010755.799 553795.386 0, 1011054.53 553796.027 0, 1011353.262 553796.687 0, 1011651.993 553797.364 0,
+ 1011950.725 553798.058 0, 1012249.456 553798.771 0, 1012548.187 553799.5 0, 1012846.919 553800.248 0, 1013145.65 553801.013 0, 1013444.381 553801.795 0, 1013743.113 553802.595 0, 1014041.844 553803.413 0, 1014339.132 553804.244 0, 1014354.843 548243.001 0,
+ 1014370.554 542682.135 0))
+
+POLYGON ((1028678.149 553865.01 0, 1028380.862 553863.339 0, 1028082.134 553861.677 0, 1027783.407 553860.033 0, 1027484.679 553858.407 0, 1027185.951 553856.798 0, 1026887.223 553855.207 0, 1026588.495 553853.633 0, 1026289.767 553852.077 0, 1025991.038 553850.538 0,
+ 1025692.31 553849.017 0, 1025393.581 553847.514 0, 1025094.853 553846.028 0, 1024796.124 553844.56 0, 1024497.396 553843.109 0, 1024198.667 553841.676 0, 1023899.938 553840.26 0, 1023601.209 553838.863 0, 1023302.48 553837.482 0, 1023003.751 553836.119 0,
+ 1022705.021 553834.774 0, 1022406.292 553833.447 0, 1022107.563 553832.137 0, 1021808.833 553830.844 0, 1021508.662 553829.563 0, 1021211.374 553828.312 0, 1020912.644 553827.073 0, 1020613.915 553825.85 0, 1020315.185 553824.646 0, 1020016.455 553823.459 0,
+ 1019717.725 553822.29 0, 1019418.995 553821.138 0, 1019120.265 553820.004 0, 1018821.535 553818.887 0, 1018522.804 553817.788 0, 1018224.074 553816.707 0, 1017925.344 553815.643 0, 1017626.613 553814.597 0, 1017327.883 553813.568 0, 1017029.152 553812.557 0,
+ 1016730.422 553811.563 0, 1016431.691 553810.587 0, 1016132.96 553809.629 0, 1015834.229 553808.688 0, 1015535.499 553807.765 0, 1015236.768 553806.86 0, 1014938.037 553805.972 0, 1014639.306 553805.101 0, 1014339.132 553804.244 0, 1014323.419 559365.862 0,
+ 1014307.705 564927.851 0, 1014607.222 564928.706 0, 1014905.298 564929.574 0, 1015203.374 564930.46 0, 1015501.45 564931.364 0, 1015799.526 564932.285 0, 1016097.602 564933.224 0, 1016395.678 564934.18 0, 1016693.754 564935.154 0, 1016991.83 564936.145 0,
+ 1017289.906 564937.154 0, 1017587.982 564938.18 0, 1017886.058 564939.224 0, 1018184.133 564940.286 0, 1018482.209 564941.365 0, 1018780.284 564942.461 0, 1019078.36 564943.576 0, 1019376.435 564944.707 0, 1019674.511 564945.857 0, 1019972.586 564947.023 0,
+ 1020270.661 564948.208 0, 1020568.736 564949.41 0, 1020866.811 564950.629 0, 1021164.886 564951.866 0, 1021461.522 564953.114 0, 1021761.036 564954.392 0, 1022059.111 564955.682 0, 1022357.185 564956.989 0, 1022655.26 564958.314 0, 1022953.334 564959.656 0,
+ 1023251.409 564961.016 0, 1023549.483 564962.393 0, 1023847.558 564963.788 0, 1024145.632 564965.2 0, 1024443.706 564966.63 0, 1024741.78 564968.078 0, 1025039.854 564969.543 0, 1025337.928 564971.025 0, 1025636.001 564972.525 0, 1025934.075 564974.043 0,
+ 1026232.149 564975.578 0, 1026530.222 564977.131 0, 1026828.296 564978.701 0, 1027126.369 564980.289 0, 1027424.442 564981.895 0, 1027722.515 564983.517 0, 1028020.588 564985.158 0, 1028318.661 564986.816 0, 1028615.296 564988.483 0, 1028646.724 559426.561 0,
+ 1028678.149 553865.01 0))
+
+POLYGON ((1042922.659 565089.537 0, 1042626.028 565087.032 0, 1042327.96 565084.532 0, 1042029.893 565082.049 0, 1041731.826 565079.584 0, 1041433.758 565077.137 0, 1041135.691 565074.707 0, 1040837.623 565072.294 0, 1040539.555 565069.9 0, 1040241.487 565067.522 0,
+ 1039943.419 565065.162 0, 1039645.35 565062.82 0, 1039347.282 565060.496 0, 1039049.213 565058.188 0, 1038751.145 565055.899 0, 1038453.076 565053.627 0, 1038155.007 565051.372 0, 1037856.938 565049.135 0, 1037558.868 565046.916 0, 1037260.799 565044.714 0,
+ 1036962.729 565042.53 0, 1036664.66 565040.363 0, 1036366.59 565038.214 0, 1036068.52 565036.082 0, 1035769.013 565033.958 0, 1035472.38 565031.871 0, 1035174.309 565029.792 0, 1034876.239 565027.731 0, 1034578.169 565025.687 0, 1034280.098 565023.66 0,
+ 1033982.027 565021.651 0, 1033683.956 565019.66 0, 1033385.885 565017.686 0, 1033087.814 565015.73 0, 1032789.743 565013.791 0, 1032491.671 565011.87 0, 1032193.6 565009.967 0, 1031895.528 565008.08 0, 1031597.457 565006.212 0, 1031299.385 565004.361 0,
+ 1031001.313 565002.527 0, 1030703.241 565000.712 0, 1030405.169 564998.913 0, 1030107.097 564997.132 0, 1029809.024 564995.369 0, 1029510.952 564993.623 0, 1029212.879 564991.895 0, 1028914.807 564990.185 0, 1028615.296 564988.483 0, 1028583.867 570550.773 0,
+ 1028552.436 576113.428 0, 1028851.288 576115.126 0, 1029148.706 576116.833 0, 1029446.124 576118.557 0, 1029743.541 576120.299 0, 1030040.959 576122.058 0, 1030338.376 576123.835 0, 1030635.794 576125.63 0, 1030933.211 576127.442 0, 1031230.628 576129.271 0,
+ 1031528.045 576131.118 0, 1031825.462 576132.982 0, 1032122.879 576134.864 0, 1032420.295 576136.764 0, 1032717.712 576138.681 0, 1033015.128 576140.615 0, 1033312.545 576142.567 0, 1033609.961 576144.537 0, 1033907.377 576146.524 0, 1034204.793 576148.528 0,
+ 1034502.209 576150.55 0, 1034799.625 576152.589 0, 1035097.04 576154.646 0, 1035394.456 576156.721 0, 1035690.438 576158.803 0, 1035989.286 576160.922 0, 1036286.702 576163.049 0, 1036584.117 576165.194 0, 1036881.531 576167.356 0, 1037178.946 576169.536 0,
+ 1037476.361 576171.733 0, 1037773.775 576173.947 0, 1038071.19 576176.179 0, 1038368.604 576178.429 0, 1038666.018 576180.696 0, 1038963.432 576182.98 0, 1039260.846 576185.282 0, 1039558.259 576187.602 0, 1039855.673 576189.939 0, 1040153.086 576192.294 0,
+ 1040450.5 576194.666 0, 1040747.913 576197.055 0, 1041045.326 576199.462 0, 1041342.739 576201.887 0, 1041640.151 576204.329 0, 1041937.564 576206.789 0, 1042234.976 576209.266 0, 1042532.389 576211.76 0, 1042828.369 576214.26 0, 1042875.515 570651.717 0,
+ 1042922.659 565089.537 0))
+
+POLYGON ((1057103.96 576355.424 0, 1056807.986 576352.088 0, 1056510.582 576348.753 0, 1056213.178 576345.436 0, 1055915.773 576342.136 0, 1055618.368 576338.854 0, 1055320.964 576335.589 0, 1055023.559 576332.341 0, 1054726.153 576329.112 0, 1054428.748 576325.899 0,
+ 1054131.342 576322.704 0, 1053833.937 576319.527 0, 1053536.531 576316.367 0, 1053239.125 576313.225 0, 1052941.718 576310.1 0, 1052644.312 576306.993 0, 1052346.905 576303.903 0, 1052049.498 576300.831 0, 1051752.091 576297.776 0, 1051454.684 576294.739 0,
+ 1051157.277 576291.719 0, 1050859.869 576288.717 0, 1050562.461 576285.732 0, 1050265.053 576282.765 0, 1049966.214 576279.801 0, 1049670.237 576276.883 0, 1049372.828 576273.968 0, 1049075.42 576271.071 0, 1048778.011 576268.191 0, 1048480.602 576265.329 0,
+ 1048183.193 576262.484 0, 1047885.784 576259.657 0, 1047588.374 576256.847 0, 1047290.964 576254.055 0, 1046993.555 576251.28 0, 1046696.145 576248.523 0, 1046398.735 576245.783 0, 1046101.324 576243.061 0, 1045803.914 576240.357 0, 1045506.503 576237.669 0,
+ 1045209.092 576235 0, 1044911.682 576232.348 0, 1044614.27 576229.713 0, 1044316.859 576227.096 0, 1044019.448 576224.496 0, 1043722.036 576221.914 0, 1043424.625 576219.349 0, 1043127.213 576216.802 0, 1042828.369 576214.26 0, 1042781.219 581777.166 0,
+ 1042734.066 587340.43 0, 1043032.252 587342.966 0, 1043329.009 587345.507 0, 1043625.766 587348.066 0, 1043922.523 587350.643 0, 1044219.279 587353.237 0, 1044516.035 587355.848 0, 1044812.792 587358.477 0, 1045109.548 587361.123 0, 1045406.304 587363.787 0,
+ 1045703.059 587366.468 0, 1045999.815 587369.167 0, 1046296.57 587371.883 0, 1046593.326 587374.617 0, 1046890.081 587377.368 0, 1047186.836 587380.137 0, 1047483.59 587382.923 0, 1047780.345 587385.726 0, 1048077.099 587388.547 0, 1048373.854 587391.386 0,
+ 1048670.608 587394.242 0, 1048967.362 587397.115 0, 1049264.116 587400.006 0, 1049560.869 587402.914 0, 1049856.195 587405.826 0, 1050154.376 587408.783 0, 1050451.129 587411.744 0, 1050747.882 587414.722 0, 1051044.635 587417.718 0, 1051341.387 587420.731 0,
+ 1051638.14 587423.761 0, 1051934.892 587426.81 0, 1052231.644 587429.875 0, 1052528.396 587432.958 0, 1052825.147 587436.058 0, 1053121.899 587439.176 0, 1053418.65 587442.312 0, 1053715.401 587445.465 0, 1054012.152 587448.635 0, 1054308.903 587451.823 0,
+ 1054605.653 587455.028 0, 1054902.404 587458.251 0, 1055199.154 587461.491 0, 1055495.904 587464.749 0, 1055792.654 587468.024 0, 1056089.403 587471.316 0, 1056386.153 587474.626 0, 1056682.902 587477.954 0, 1056978.224 587481.283 0, 1057041.094 581918.174 0,
+ 1057103.96 576355.424 0))
+
+POLYGON ((1071221.927 587662.377 0, 1070926.613 587658.214 0, 1070629.875 587654.048 0, 1070333.136 587649.9 0, 1070036.397 587645.769 0, 1069739.657 587641.655 0, 1069442.918 587637.559 0, 1069146.178 587633.481 0, 1068849.438 587629.42 0, 1068552.698 587625.376 0,
+ 1068255.957 587621.35 0, 1067959.216 587617.341 0, 1067662.475 587613.35 0, 1067365.734 587609.376 0, 1067068.993 587605.42 0, 1066772.251 587601.481 0, 1066475.509 587597.56 0, 1066178.767 587593.656 0, 1065882.024 587589.77 0, 1065585.282 587585.901 0,
+ 1065288.539 587582.049 0, 1064991.796 587578.215 0, 1064695.052 587574.399 0, 1064398.309 587570.6 0, 1064100.14 587566.8 0, 1063804.821 587563.054 0, 1063508.077 587559.307 0, 1063211.333 587555.578 0, 1062914.588 587551.866 0, 1062617.843 587548.172 0,
+ 1062321.098 587544.495 0, 1062024.353 587540.836 0, 1061727.607 587537.194 0, 1061430.861 587533.569 0, 1061134.116 587529.962 0, 1060837.369 587526.373 0, 1060540.623 587522.801 0, 1060243.876 587519.246 0, 1059947.13 587515.709 0, 1059650.383 587512.19 0,
+ 1059353.636 587508.687 0, 1059056.888 587505.203 0, 1058760.141 587501.735 0, 1058463.393 587498.286 0, 1058166.645 587494.853 0, 1057869.897 587491.438 0, 1057573.148 587488.041 0, 1057276.4 587484.661 0, 1056978.224 587481.283 0, 1056915.35 593044.746 0,
+ 1056852.472 598608.562 0, 1057149.99 598611.933 0, 1057446.083 598615.305 0, 1057742.177 598618.695 0, 1058038.27 598622.102 0, 1058334.363 598625.527 0, 1058630.456 598628.969 0, 1058926.549 598632.429 0, 1059222.641 598635.906 0, 1059518.733 598639.4 0,
+ 1059814.825 598642.912 0, 1060110.917 598646.442 0, 1060407.009 598649.988 0, 1060703.1 598653.552 0, 1060999.192 598657.134 0, 1061295.283 598660.733 0, 1061591.373 598664.349 0, 1061887.464 598667.983 0, 1062183.554 598671.635 0, 1062479.644 598675.303 0,
+ 1062775.734 598678.989 0, 1063071.824 598682.693 0, 1063367.914 598686.414 0, 1063664.003 598690.152 0, 1063958.67 598693.89 0, 1064256.181 598697.682 0, 1064552.269 598701.472 0, 1064848.358 598705.28 0, 1065144.446 598709.106 0, 1065440.534 598712.949 0,
+ 1065736.622 598716.809 0, 1066032.709 598720.687 0, 1066328.796 598724.582 0, 1066624.883 598728.495 0, 1066920.97 598732.425 0, 1067217.057 598736.373 0, 1067513.143 598740.338 0, 1067809.229 598744.32 0, 1068105.315 598748.32 0, 1068401.401 598752.337 0,
+ 1068697.486 598756.372 0, 1068993.571 598760.424 0, 1069289.656 598764.494 0, 1069585.741 598768.581 0, 1069881.825 598772.685 0, 1070177.91 598776.807 0, 1070473.993 598780.946 0, 1070770.077 598785.103 0, 1071064.739 598789.257 0, 1071143.336 593225.641 0,
+ 1071221.927 587662.377 0))
+
+POLYGON ((1085276.439 599010.103 0, 1084981.788 599005.117 0, 1084685.717 599000.124 0, 1084389.646 598995.148 0, 1084093.575 598990.19 0, 1083797.503 598985.249 0, 1083501.431 598980.325 0, 1083205.359 598975.419 0, 1082909.286 598970.531 0, 1082613.213 598965.659 0,
+ 1082317.14 598960.806 0, 1082021.067 598955.969 0, 1081724.993 598951.151 0, 1081428.919 598946.349 0, 1081132.845 598941.565 0, 1080836.771 598936.798 0, 1080540.696 598932.049 0, 1080244.621 598927.318 0, 1079948.545 598922.603 0, 1079652.47 598917.906 0,
+ 1079356.394 598913.227 0, 1079060.318 598908.565 0, 1078764.241 598903.92 0, 1078468.164 598899.293 0, 1078170.667 598894.661 0, 1077876.01 598890.091 0, 1077579.933 598885.516 0, 1077283.855 598880.958 0, 1076987.777 598876.418 0, 1076691.698 598871.896 0,
+ 1076395.62 598867.391 0, 1076099.541 598862.903 0, 1075803.462 598858.432 0, 1075507.382 598853.979 0, 1075211.303 598849.544 0, 1074915.223 598845.126 0, 1074619.143 598840.725 0, 1074323.062 598836.342 0, 1074026.982 598831.976 0, 1073730.901 598827.628 0,
+ 1073434.819 598823.297 0, 1073138.738 598818.983 0, 1072842.656 598814.687 0, 1072546.574 598810.409 0, 1072250.492 598806.147 0, 1071954.41 598801.904 0, 1071658.327 598797.677 0, 1071362.244 598793.468 0, 1071064.739 598789.257 0, 1070986.138 604353.221 0,
+ 1070907.532 609917.531 0, 1071204.378 609921.733 0, 1071499.806 609925.933 0, 1071795.234 609930.15 0, 1072090.661 609934.384 0, 1072386.089 609938.636 0, 1072681.515 609942.905 0, 1072976.942 609947.192 0, 1073272.369 609951.496 0, 1073567.795 609955.817 0,
+ 1073863.221 609960.156 0, 1074158.647 609964.512 0, 1074454.072 609968.886 0, 1074749.497 609973.276 0, 1075044.922 609977.685 0, 1075340.347 609982.11 0, 1075635.771 609986.554 0, 1075931.195 609991.014 0, 1076226.619 609995.492 0, 1076522.043 609999.987 0,
+ 1076817.466 610004.5 0, 1077112.889 610009.03 0, 1077408.312 610013.577 0, 1077703.735 610018.142 0, 1077997.74 610022.702 0, 1078294.579 610027.324 0, 1078590.001 610031.941 0, 1078885.422 610036.575 0, 1079180.844 610041.227 0, 1079476.265 610045.896 0,
+ 1079771.685 610050.582 0, 1080067.106 610055.286 0, 1080362.526 610060.008 0, 1080657.945 610064.746 0, 1080953.365 610069.502 0, 1081248.784 610074.276 0, 1081544.203 610079.067 0, 1081839.622 610083.875 0, 1082135.04 610088.7 0, 1082430.459 610093.543 0,
+ 1082725.876 610098.404 0, 1083021.294 610103.282 0, 1083316.711 610108.177 0, 1083612.128 610113.089 0, 1083907.545 610118.019 0, 1084202.961 610122.966 0, 1084498.377 610127.931 0, 1084793.793 610132.913 0, 1085087.793 610137.889 0, 1085182.119 604573.823 0,
+ 1085276.439 599010.103 0))
+
+POLYGON ((1099267.375 610398.308 0, 1098973.388 610392.502 0, 1098677.988 610386.685 0, 1098382.587 610380.886 0, 1098087.186 610375.104 0, 1097791.784 610369.339 0, 1097496.382 610363.592 0, 1097200.98 610357.862 0, 1096905.577 610352.15 0, 1096610.174 610346.455 0,
+ 1096314.771 610340.777 0, 1096019.367 610335.117 0, 1095723.963 610329.474 0, 1095428.559 610323.849 0, 1095133.155 610318.241 0, 1094837.75 610312.65 0, 1094542.344 610307.077 0, 1094246.939 610301.521 0, 1093951.533 610295.983 0, 1093656.127 610290.461 0,
+ 1093360.72 610284.958 0, 1093065.313 610279.471 0, 1092769.906 610274.002 0, 1092474.498 610268.551 0, 1092177.676 610263.091 0, 1091883.682 610257.7 0, 1091588.274 610252.301 0, 1091292.865 610246.919 0, 1090997.456 610241.554 0, 1090702.047 610236.207 0,
+ 1090406.637 610230.877 0, 1090111.227 610225.564 0, 1089815.816 610220.269 0, 1089520.406 610214.992 0, 1089224.995 610209.731 0, 1088929.583 610204.488 0, 1088634.172 610199.263 0, 1088338.76 610194.055 0, 1088043.348 610188.864 0, 1087747.935 610183.691 0,
+ 1087452.522 610178.535 0, 1087157.109 610173.396 0, 1086861.696 610168.275 0, 1086566.282 610163.171 0, 1086270.868 610158.085 0, 1085975.454 610153.016 0, 1085680.039 610147.964 0, 1085384.624 610142.93 0, 1085087.793 610137.889 0, 1084993.461 615702.296 0,
+ 1084899.123 621267.043 0, 1085195.296 621272.073 0, 1085490.056 621277.096 0, 1085784.816 621282.136 0, 1086079.575 621287.194 0, 1086374.334 621292.269 0, 1086669.093 621297.362 0, 1086963.851 621302.472 0, 1087258.609 621307.599 0, 1087553.367 621312.743 0,
+ 1087848.125 621317.905 0, 1088142.882 621323.084 0, 1088437.639 621328.281 0, 1088732.395 621333.495 0, 1089027.151 621338.726 0, 1089321.907 621343.975 0, 1089616.663 621349.241 0, 1089911.418 621354.524 0, 1090206.173 621359.825 0, 1090500.928 621365.143 0,
+ 1090795.683 621370.478 0, 1091090.437 621375.831 0, 1091385.19 621381.201 0, 1091679.944 621386.589 0, 1091973.286 621391.967 0, 1092269.45 621397.415 0, 1092564.202 621402.855 0, 1092858.955 621408.312 0, 1093153.706 621413.786 0, 1093448.458 621419.277 0,
+ 1093743.209 621424.786 0, 1094037.96 621430.313 0, 1094332.711 621435.856 0, 1094627.461 621441.417 0, 1094922.211 621446.995 0, 1095216.96 621452.591 0, 1095511.71 621458.204 0, 1095806.459 621463.834 0, 1096101.207 621469.482 0, 1096395.955 621475.147 0,
+ 1096690.703 621480.829 0, 1096985.451 621486.529 0, 1097280.198 621492.246 0, 1097574.945 621497.98 0, 1097869.692 621503.732 0, 1098164.438 621509.501 0, 1098459.184 621515.288 0, 1098753.929 621521.091 0, 1099047.264 621526.885 0, 1099157.323 615962.427 0,
+ 1099267.375 610398.308 0))
+
+POLYGON ((1113194.615 621826.696 0, 1112901.295 621820.074 0, 1112606.567 621813.438 0, 1112311.839 621806.818 0, 1112017.11 621800.217 0, 1111722.381 621793.632 0, 1111427.651 621787.065 0, 1111132.921 621780.515 0, 1110838.191 621773.983 0, 1110543.46 621767.468 0,
+ 1110248.729 621760.97 0, 1109953.998 621754.49 0, 1109659.266 621748.027 0, 1109364.534 621741.581 0, 1109069.801 621735.153 0, 1108775.068 621728.742 0, 1108480.335 621722.348 0, 1108185.601 621715.972 0, 1107890.867 621709.613 0, 1107596.133 621703.272 0,
+ 1107301.398 621696.947 0, 1107006.662 621690.641 0, 1106711.927 621684.351 0, 1106417.191 621678.079 0, 1106121.045 621671.794 0, 1105827.718 621665.587 0, 1105532.981 621659.366 0, 1105238.243 621653.164 0, 1104943.506 621646.978 0, 1104648.767 621640.81 0,
+ 1104354.029 621634.659 0, 1104059.29 621628.526 0, 1103764.551 621622.41 0, 1103469.811 621616.311 0, 1103175.071 621610.23 0, 1102880.331 621604.166 0, 1102585.59 621598.119 0, 1102290.849 621592.09 0, 1101996.108 621586.078 0, 1101701.366 621580.083 0,
+ 1101406.624 621574.106 0, 1101111.881 621568.146 0, 1100817.139 621562.204 0, 1100522.396 621556.278 0, 1100227.652 621550.37 0, 1099932.908 621544.48 0, 1099638.164 621538.607 0, 1099343.42 621532.751 0, 1099047.264 621526.885 0, 1098937.199 627091.678 0,
+ 1098827.127 632656.804 0, 1099122.624 632662.657 0, 1099416.713 632668.5 0, 1099710.803 632674.36 0, 1100004.891 632680.238 0, 1100298.98 632686.132 0, 1100593.068 632692.044 0, 1100887.156 632697.974 0, 1101181.243 632703.92 0, 1101475.33 632709.884 0,
+ 1101769.417 632715.866 0, 1102063.503 632721.864 0, 1102357.589 632727.88 0, 1102651.674 632733.913 0, 1102945.76 632739.964 0, 1103239.845 632746.032 0, 1103533.929 632752.117 0, 1103828.013 632758.219 0, 1104122.097 632764.339 0, 1104416.181 632770.476 0,
+ 1104710.264 632776.631 0, 1105004.346 632782.802 0, 1105298.429 632788.991 0, 1105592.511 632795.198 0, 1105885.186 632801.391 0, 1106180.674 632807.662 0, 1106474.754 632813.92 0, 1106768.835 632820.196 0, 1107062.915 632826.489 0, 1107356.995 632832.799 0,
+ 1107651.074 632839.126 0, 1107945.153 632845.471 0, 1108239.232 632851.833 0, 1108533.31 632858.213 0, 1108827.388 632864.609 0, 1109121.466 632871.023 0, 1109415.543 632877.455 0, 1109709.62 632883.903 0, 1110003.696 632890.369 0, 1110297.772 632896.853 0,
+ 1110591.848 632903.353 0, 1110885.923 632909.871 0, 1111179.998 632916.406 0, 1111474.073 632922.959 0, 1111768.147 632929.529 0, 1112062.22 632936.116 0, 1112356.294 632942.72 0, 1112650.367 632949.342 0, 1112943.034 632955.949 0, 1113068.828 627391.156 0,
+ 1113194.615 621826.696 0))
+
+POLYGON ((1127058.04 633294.973 0, 1126765.39 633287.539 0, 1126471.337 633280.086 0, 1126177.283 633272.651 0, 1125883.229 633265.233 0, 1125589.175 633257.833 0, 1125295.12 633250.449 0, 1125001.065 633243.083 0, 1124707.009 633235.735 0, 1124412.953 633228.403 0,
+ 1124118.897 633221.089 0, 1123824.84 633213.793 0, 1123530.782 633206.513 0, 1123236.725 633199.251 0, 1122942.666 633192.006 0, 1122648.608 633184.779 0, 1122354.549 633177.569 0, 1122060.489 633170.376 0, 1121766.429 633163.2 0, 1121472.369 633156.042 0,
+ 1121178.308 633148.901 0, 1120884.247 633141.777 0, 1120590.185 633134.671 0, 1120296.123 633127.582 0, 1120000.657 633120.476 0, 1119707.998 633113.456 0, 1119413.934 633106.419 0, 1119119.871 633099.399 0, 1118825.807 633092.396 0, 1118531.742 633085.411 0,
+ 1118237.677 633078.443 0, 1117943.612 633071.493 0, 1117649.546 633064.559 0, 1117355.48 633057.643 0, 1117061.413 633050.745 0, 1116767.346 633043.863 0, 1116473.279 633036.999 0, 1116179.211 633030.153 0, 1115885.143 633023.323 0, 1115591.074 633016.511 0,
+ 1115297.005 633009.716 0, 1115002.936 633002.939 0, 1114708.866 632996.178 0, 1114414.796 632989.436 0, 1114120.725 632982.71 0, 1113826.654 632976.002 0, 1113532.583 632969.311 0, 1113238.511 632962.637 0, 1112943.034 632955.949 0, 1112817.233 638521.071 0,
+ 1112691.424 644086.518 0, 1112986.243 644093.191 0, 1113279.659 644099.85 0, 1113573.076 644106.526 0, 1113866.492 644113.22 0, 1114159.907 644119.93 0, 1114453.322 644126.658 0, 1114746.737 644133.403 0, 1115040.151 644140.166 0, 1115333.565 644146.945 0,
+ 1115626.978 644153.742 0, 1115920.392 644160.556 0, 1116213.804 644167.388 0, 1116507.216 644174.237 0, 1116800.628 644181.103 0, 1117094.04 644187.986 0, 1117387.451 644194.886 0, 1117680.861 644201.804 0, 1117974.272 644208.739 0, 1118267.682 644215.692 0,
+ 1118561.091 644222.661 0, 1118854.5 644229.648 0, 1119147.909 644236.652 0, 1119441.317 644243.674 0, 1119733.324 644250.679 0, 1120028.132 644257.769 0, 1120321.539 644264.842 0, 1120614.945 644271.932 0, 1120908.351 644279.04 0, 1121201.757 644286.165 0,
+ 1121495.162 644293.308 0, 1121788.567 644300.467 0, 1122081.972 644307.644 0, 1122375.376 644314.838 0, 1122668.779 644322.05 0, 1122962.182 644329.278 0, 1123255.585 644336.524 0, 1123548.988 644343.787 0, 1123842.389 644351.068 0, 1124135.791 644358.366 0,
+ 1124429.192 644365.681 0, 1124722.592 644373.013 0, 1125015.993 644380.362 0, 1125309.392 644387.729 0, 1125602.792 644395.113 0, 1125896.19 644402.515 0, 1126189.589 644409.933 0, 1126482.987 644417.369 0, 1126774.985 644424.787 0, 1126916.517 638859.717 0,
+ 1127058.04 633294.973 0))
+
+POLYGON ((1140857.534 644802.843 0, 1140565.556 644794.6 0, 1140272.18 644786.336 0, 1139978.804 644778.088 0, 1139685.427 644769.858 0, 1139392.05 644761.645 0, 1139098.672 644753.449 0, 1138805.294 644745.271 0, 1138511.915 644737.109 0, 1138218.536 644728.966 0,
+ 1137925.156 644720.839 0, 1137631.776 644712.73 0, 1137338.395 644704.637 0, 1137045.014 644696.563 0, 1136751.633 644688.505 0, 1136458.251 644680.465 0, 1136164.868 644672.442 0, 1135871.485 644664.436 0, 1135578.102 644656.448 0, 1135284.718 644648.476 0,
+ 1134991.333 644640.522 0, 1134697.949 644632.586 0, 1134404.563 644624.666 0, 1134111.177 644616.764 0, 1133816.393 644608.842 0, 1133524.404 644601.012 0, 1133231.017 644593.161 0, 1132937.63 644585.328 0, 1132644.242 644577.512 0, 1132350.853 644569.714 0,
+ 1132057.464 644561.933 0, 1131764.075 644554.169 0, 1131470.685 644546.422 0, 1131177.294 644538.692 0, 1130883.903 644530.98 0, 1130590.512 644523.285 0, 1130297.12 644515.608 0, 1130003.728 644507.947 0, 1129710.335 644500.304 0, 1129416.942 644492.678 0,
+ 1129123.549 644485.07 0, 1128830.155 644477.478 0, 1128536.76 644469.904 0, 1128243.365 644462.347 0, 1127949.97 644454.808 0, 1127656.574 644447.286 0, 1127363.178 644439.781 0, 1127069.781 644432.293 0, 1126774.985 644424.787 0, 1126633.445 649990.179 0,
+ 1126491.897 655555.89 0, 1126786.035 655563.38 0, 1127078.777 655570.851 0, 1127371.518 655578.339 0, 1127664.259 655585.844 0, 1127956.999 655593.367 0, 1128249.738 655600.907 0, 1128542.478 655608.464 0, 1128835.217 655616.038 0, 1129127.955 655623.63 0,
+ 1129420.693 655631.239 0, 1129713.43 655638.865 0, 1130006.168 655646.508 0, 1130298.904 655654.169 0, 1130591.64 655661.846 0, 1130884.376 655669.541 0, 1131177.111 655677.254 0, 1131469.846 655684.983 0, 1131762.58 655692.73 0, 1132055.314 655700.494 0,
+ 1132348.048 655708.275 0, 1132640.781 655716.073 0, 1132933.513 655723.889 0, 1133226.245 655731.722 0, 1133517.582 655739.534 0, 1133811.708 655747.439 0, 1134104.439 655755.323 0, 1134397.169 655763.225 0, 1134689.899 655771.144 0, 1134982.628 655779.08 0,
+ 1135275.357 655787.034 0, 1135568.085 655795.004 0, 1135860.813 655802.992 0, 1136153.54 655810.997 0, 1136446.267 655819.02 0, 1136738.994 655827.059 0, 1137031.719 655835.116 0, 1137324.445 655843.19 0, 1137617.17 655851.281 0, 1137909.895 655859.39 0,
+ 1138202.619 655867.516 0, 1138495.342 655875.659 0, 1138788.065 655883.819 0, 1139080.788 655891.996 0, 1139373.51 655900.191 0, 1139666.232 655908.403 0, 1139958.953 655916.632 0, 1140251.674 655924.878 0, 1140543 655933.102 0, 1140700.272 650367.813 0,
+ 1140857.534 644802.843 0))
+
+POLYGON ((1154592.981 656350.009 0, 1154301.677 656340.962 0, 1154008.981 656331.889 0, 1153716.284 656322.833 0, 1153423.586 656313.794 0, 1153130.889 656304.772 0, 1152838.19 656295.768 0, 1152545.491 656286.781 0, 1152252.792 656277.811 0, 1151960.092 656268.858 0,
+ 1151667.392 656259.923 0, 1151374.691 656251.005 0, 1151081.989 656242.104 0, 1150789.287 656233.22 0, 1150496.584 656224.353 0, 1150203.881 656215.504 0, 1149911.178 656206.672 0, 1149618.474 656197.857 0, 1149325.769 656189.059 0, 1149033.064 656180.279 0,
+ 1148740.358 656171.516 0, 1148447.652 656162.77 0, 1148154.945 656154.041 0, 1147862.238 656145.33 0, 1147568.138 656136.594 0, 1147276.822 656127.958 0, 1146984.113 656119.298 0, 1146691.404 656110.656 0, 1146398.694 656102.031 0, 1146105.984 656093.422 0,
+ 1145813.273 656084.832 0, 1145520.562 656076.258 0, 1145227.85 656067.701 0, 1144935.138 656059.162 0, 1144642.425 656050.64 0, 1144349.712 656042.135 0, 1144056.998 656033.648 0, 1143764.284 656025.178 0, 1143471.569 656016.725 0, 1143178.854 656008.289 0,
+ 1142886.138 655999.87 0, 1142593.422 655991.469 0, 1142300.705 655983.085 0, 1142007.988 655974.718 0, 1141715.27 655966.368 0, 1141422.551 655958.036 0, 1141129.833 655949.72 0, 1140837.114 655941.422 0, 1140543 655933.102 0, 1140385.719 661498.707 0,
+ 1140228.43 667064.624 0, 1140521.885 667072.926 0, 1140813.949 667081.205 0, 1141106.013 667089.502 0, 1141398.076 667097.816 0, 1141690.139 667106.147 0, 1141982.201 667114.495 0, 1142274.262 667122.86 0, 1142566.324 667131.243 0, 1142858.384 667139.643 0,
+ 1143150.444 667148.06 0, 1143442.504 667156.494 0, 1143734.563 667164.945 0, 1144026.622 667173.414 0, 1144318.68 667181.899 0, 1144610.737 667190.402 0, 1144902.795 667198.922 0, 1145194.851 667207.46 0, 1145486.907 667216.014 0, 1145778.963 667224.586 0,
+ 1146071.018 667233.175 0, 1146363.073 667241.781 0, 1146655.127 667250.404 0, 1146947.18 667259.044 0, 1147237.844 667267.661 0, 1147531.286 667276.377 0, 1147823.338 667285.069 0, 1148115.39 667293.778 0, 1148407.441 667302.504 0, 1148699.491 667311.248 0,
+ 1148991.541 667320.009 0, 1149283.591 667328.787 0, 1149575.64 667337.582 0, 1149867.688 667346.394 0, 1150159.736 667355.224 0, 1150451.784 667364.07 0, 1150743.83 667372.934 0, 1151035.877 667381.815 0, 1151327.923 667390.713 0, 1151619.968 667399.629 0,
+ 1151912.013 667408.562 0, 1152204.057 667417.511 0, 1152496.101 667426.478 0, 1152788.144 667435.463 0, 1153080.187 667444.464 0, 1153372.229 667453.483 0, 1153664.271 667462.518 0, 1153956.312 667471.571 0, 1154246.964 667480.598 0, 1154419.977 661915.148 0,
+ 1154592.981 656350.009 0))
+
+POLYGON ((1168264.266 667936.176 0, 1167973.639 667926.327 0, 1167681.624 667916.449 0, 1167389.609 667906.589 0, 1167097.594 667896.745 0, 1166805.578 667886.919 0, 1166513.561 667877.109 0, 1166221.544 667867.317 0, 1165929.526 667857.542 0, 1165637.508 667847.785 0,
+ 1165345.489 667838.044 0, 1165053.469 667828.321 0, 1164761.449 667818.615 0, 1164469.428 667808.926 0, 1164177.407 667799.254 0, 1163885.385 667789.599 0, 1163593.363 667779.962 0, 1163301.34 667770.342 0, 1163009.316 667760.739 0, 1162717.292 667751.153 0,
+ 1162425.267 667741.584 0, 1162133.242 667732.033 0, 1161841.216 667722.499 0, 1161549.19 667712.982 0, 1161255.776 667703.437 0, 1160965.136 667693.999 0, 1160673.108 667684.534 0, 1160381.079 667675.085 0, 1160089.05 667665.654 0, 1159797.02 667656.24 0,
+ 1159504.99 667646.844 0, 1159212.959 667637.464 0, 1158920.928 667628.102 0, 1158628.896 667618.757 0, 1158336.864 667609.429 0, 1158044.831 667600.118 0, 1157752.797 667590.824 0, 1157460.763 667581.548 0, 1157168.728 667572.288 0, 1156876.693 667563.046 0,
+ 1156584.657 667553.822 0, 1156292.621 667544.614 0, 1156000.584 667535.423 0, 1155708.547 667526.25 0, 1155416.509 667517.094 0, 1155124.471 667507.955 0, 1154832.432 667498.833 0, 1154540.392 667489.729 0, 1154246.964 667480.598 0, 1154073.941 673046.358 0,
+ 1153900.908 678612.423 0, 1154193.678 678621.533 0, 1154485.063 678630.618 0, 1154776.446 678639.719 0, 1155067.83 678648.837 0, 1155359.212 678657.973 0, 1155650.595 678667.125 0, 1155941.976 678676.295 0, 1156233.357 678685.482 0, 1156524.738 678694.687 0,
+ 1156816.118 678703.908 0, 1157107.497 678713.146 0, 1157398.876 678722.402 0, 1157690.254 678731.675 0, 1157981.632 678740.965 0, 1158273.01 678750.272 0, 1158564.386 678759.596 0, 1158855.762 678768.937 0, 1159147.138 678778.296 0, 1159438.513 678787.671 0,
+ 1159729.888 678797.064 0, 1160021.262 678806.474 0, 1160312.635 678815.901 0, 1160604.008 678825.345 0, 1160893.996 678834.762 0, 1161186.752 678844.285 0, 1161478.123 678853.781 0, 1161769.494 678863.294 0, 1162060.864 678872.824 0, 1162352.233 678882.371 0,
+ 1162643.602 678891.935 0, 1162934.971 678901.517 0, 1163226.338 678911.116 0, 1163517.706 678920.731 0, 1163809.072 678930.364 0, 1164100.438 678940.014 0, 1164391.804 678949.681 0, 1164683.169 678959.366 0, 1164974.533 678969.067 0, 1165265.897 678978.786 0,
+ 1165557.26 678988.522 0, 1165848.623 678998.275 0, 1166139.985 679008.045 0, 1166431.347 679017.832 0, 1166722.708 679027.636 0, 1167014.068 679037.458 0, 1167305.428 679047.297 0, 1167596.787 679057.152 0, 1167886.763 679066.979 0, 1168075.52 673501.424 0,
+ 1168264.266 667936.176 0))
+
+POLYGON ((1181871.277 679561.045 0, 1181581.328 679550.399 0, 1181289.998 679539.72 0, 1180998.667 679529.058 0, 1180707.336 679518.414 0, 1180416.004 679507.786 0, 1180124.671 679497.176 0, 1179833.338 679486.583 0, 1179542.004 679476.007 0, 1179250.669 679465.448 0,
+ 1178959.334 679454.906 0, 1178667.998 679444.381 0, 1178376.661 679433.874 0, 1178085.324 679423.384 0, 1177793.987 679412.91 0, 1177502.648 679402.454 0, 1177211.31 679392.015 0, 1176919.97 679381.594 0, 1176628.63 679371.189 0, 1176337.289 679360.802 0,
+ 1176045.948 679350.431 0, 1175754.606 679340.078 0, 1175463.263 679329.742 0, 1175171.92 679319.423 0, 1174879.195 679309.073 0, 1174589.232 679298.837 0, 1174297.887 679288.57 0, 1174006.541 679278.32 0, 1173715.195 679268.086 0, 1173423.848 679257.87 0,
+ 1173132.501 679247.672 0, 1172841.153 679237.49 0, 1172549.804 679227.325 0, 1172258.455 679217.178 0, 1171967.105 679207.048 0, 1171675.755 679196.935 0, 1171384.404 679186.839 0, 1171093.052 679176.76 0, 1170801.7 679166.699 0, 1170510.347 679156.654 0,
+ 1170218.994 679146.627 0, 1169927.64 679136.617 0, 1169636.285 679126.624 0, 1169344.93 679116.648 0, 1169053.574 679106.689 0, 1168762.218 679096.747 0, 1168470.861 679086.823 0, 1168179.504 679076.916 0, 1167886.763 679066.979 0, 1167697.996 684632.835 0,
+ 1167509.218 690198.99 0, 1167801.301 690208.905 0, 1168092.003 690218.79 0, 1168382.705 690228.692 0, 1168673.406 690238.611 0, 1168964.106 690248.548 0, 1169254.806 690258.501 0, 1169545.506 690268.472 0, 1169836.204 690278.46 0, 1170126.903 690288.464 0,
+ 1170417.6 690298.486 0, 1170708.297 690308.525 0, 1170998.994 690318.581 0, 1171289.689 690328.654 0, 1171580.385 690338.745 0, 1171871.079 690348.852 0, 1172161.773 690358.977 0, 1172452.467 690369.118 0, 1172743.16 690379.277 0, 1173033.852 690389.453 0,
+ 1173324.543 690399.646 0, 1173615.234 690409.856 0, 1173905.925 690420.083 0, 1174196.615 690430.328 0, 1174485.925 690440.54 0, 1174777.993 690450.868 0, 1175068.681 690461.163 0, 1175359.368 690471.476 0, 1175650.055 690481.806 0, 1175940.741 690492.153 0,
+ 1176231.427 690502.517 0, 1176522.111 690512.898 0, 1176812.796 690523.296 0, 1177103.48 690533.712 0, 1177394.163 690544.144 0, 1177684.845 690554.594 0, 1177975.527 690565.061 0, 1178266.208 690575.545 0, 1178556.889 690586.045 0, 1178847.569 690596.564 0,
+ 1179138.249 690607.099 0, 1179428.927 690617.651 0, 1179719.606 690628.22 0, 1180010.283 690638.807 0, 1180300.96 690649.41 0, 1180591.636 690660.031 0, 1180882.312 690670.669 0, 1181172.987 690681.324 0, 1181462.284 690691.945 0, 1181666.786 685126.346 0,
+ 1181871.277 679561.045 0))
+
+POLYGON ((1195413.902 691224.318 0, 1195124.634 691212.879 0, 1194833.99 691201.403 0, 1194543.346 691189.944 0, 1194252.7 691178.502 0, 1193962.055 691167.078 0, 1193671.408 691155.67 0, 1193380.761 691144.279 0, 1193090.113 691132.906 0, 1192799.465 691121.55 0,
+ 1192508.815 691110.21 0, 1192218.165 691098.888 0, 1191927.515 691087.583 0, 1191636.864 691076.295 0, 1191346.212 691065.024 0, 1191055.559 691053.771 0, 1190764.906 691042.534 0, 1190474.252 691031.315 0, 1190183.598 691020.112 0, 1189892.943 691008.927 0,
+ 1189602.287 690997.759 0, 1189311.631 690986.608 0, 1189020.973 690975.474 0, 1188730.316 690964.357 0, 1188438.281 690953.205 0, 1188148.998 690942.175 0, 1187858.338 690931.109 0, 1187567.678 690920.061 0, 1187277.017 690909.029 0, 1186986.355 690898.015 0,
+ 1186695.693 690887.018 0, 1186405.03 690876.038 0, 1186114.367 690865.075 0, 1185823.702 690854.129 0, 1185533.037 690843.201 0, 1185242.372 690832.289 0, 1184951.706 690821.395 0, 1184661.039 690810.517 0, 1184370.371 690799.657 0, 1184079.703 690788.814 0,
+ 1183789.034 690777.988 0, 1183498.365 690767.179 0, 1183207.695 690756.387 0, 1182917.024 690745.613 0, 1182626.353 690734.855 0, 1182335.681 690724.115 0, 1182045.009 690713.391 0, 1181754.335 690702.685 0, 1181462.284 690691.945 0, 1181257.771 696257.841 0,
+ 1181053.248 701824.028 0, 1181344.641 701834.743 0, 1181634.659 701845.425 0, 1181924.676 701856.125 0, 1182214.693 701866.841 0, 1182504.709 701877.574 0, 1182794.724 701888.325 0, 1183084.739 701899.092 0, 1183374.753 701909.877 0, 1183664.767 701920.678 0,
+ 1183954.78 701931.497 0, 1184244.792 701942.333 0, 1184534.804 701953.186 0, 1184824.815 701964.055 0, 1185114.825 701974.942 0, 1185404.835 701985.846 0, 1185694.844 701996.768 0, 1185984.852 702007.706 0, 1186274.86 702018.661 0, 1186564.867 702029.633 0,
+ 1186854.874 702040.623 0, 1187144.879 702051.629 0, 1187434.885 702062.653 0, 1187724.889 702073.693 0, 1188013.52 702084.698 0, 1188304.896 702095.825 0, 1188594.899 702106.917 0, 1188884.901 702118.026 0, 1189174.902 702129.152 0, 1189464.903 702140.295 0,
+ 1189754.903 702151.455 0, 1190044.902 702162.632 0, 1190334.901 702173.826 0, 1190624.899 702185.038 0, 1190914.896 702196.266 0, 1191204.893 702207.511 0, 1191494.889 702218.774 0, 1191784.884 702230.053 0, 1192074.879 702241.35 0, 1192364.873 702252.664 0,
+ 1192654.866 702263.994 0, 1192944.859 702275.342 0, 1193234.851 702286.707 0, 1193524.842 702298.089 0, 1193814.833 702309.488 0, 1194104.823 702320.904 0, 1194394.812 702332.337 0, 1194684.801 702343.788 0, 1194973.417 702355.201 0, 1195193.665 696789.613 0,
+ 1195413.902 691224.318 0))
+
+POLYGON ((1208892.03 702925.698 0, 1208603.445 702913.47 0, 1208313.49 702901.2 0, 1208023.534 702888.948 0, 1207733.577 702876.713 0, 1207443.62 702864.494 0, 1207153.662 702852.293 0, 1206863.703 702840.109 0, 1206573.744 702827.942 0, 1206283.784 702815.792 0,
+ 1205993.823 702803.659 0, 1205703.861 702791.543 0, 1205413.899 702779.445 0, 1205123.936 702767.363 0, 1204833.972 702755.298 0, 1204544.007 702743.251 0, 1204254.042 702731.22 0, 1203964.076 702719.207 0, 1203674.11 702707.21 0, 1203384.143 702695.231 0,
+ 1203094.175 702683.269 0, 1202804.206 702671.324 0, 1202514.237 702659.395 0, 1202224.266 702647.484 0, 1201932.925 702635.534 0, 1201644.324 702623.713 0, 1201354.352 702611.854 0, 1201064.379 702600.011 0, 1200774.405 702588.185 0, 1200484.431 702576.376 0,
+ 1200194.456 702564.585 0, 1199904.48 702552.81 0, 1199614.504 702541.053 0, 1199324.527 702529.313 0, 1199034.549 702517.589 0, 1198744.571 702505.883 0, 1198454.592 702494.194 0, 1198164.612 702482.522 0, 1197874.631 702470.867 0, 1197584.65 702459.229 0,
+ 1197294.668 702447.608 0, 1197004.686 702436.004 0, 1196714.703 702424.417 0, 1196424.719 702412.847 0, 1196134.734 702401.295 0, 1195844.749 702389.759 0, 1195554.763 702378.241 0, 1195264.776 702366.739 0, 1194973.417 702355.201 0, 1194753.157 707921.076 0,
+ 1194532.886 713487.237 0, 1194823.587 713498.75 0, 1195112.919 713510.225 0, 1195402.249 713521.718 0, 1195691.579 713533.227 0, 1195980.909 713544.754 0, 1196270.238 713556.297 0, 1196559.566 713567.858 0, 1196848.893 713579.436 0, 1197138.22 713591.03 0,
+ 1197427.546 713602.642 0, 1197716.871 713614.271 0, 1198006.196 713625.916 0, 1198295.52 713637.579 0, 1198584.843 713649.259 0, 1198874.165 713660.956 0, 1199163.487 713672.67 0, 1199452.808 713684.401 0, 1199742.129 713696.148 0, 1200031.449 713707.913 0,
+ 1200320.768 713719.695 0, 1200610.086 713731.494 0, 1200899.404 713743.31 0, 1201188.721 713755.143 0, 1201476.67 713766.938 0, 1201767.353 713778.861 0, 1202056.668 713790.745 0, 1202345.982 713802.646 0, 1202635.296 713814.564 0, 1202924.608 713826.499 0,
+ 1203213.921 713838.452 0, 1203503.232 713850.421 0, 1203792.543 713862.407 0, 1204081.853 713874.411 0, 1204371.162 713886.431 0, 1204660.471 713898.468 0, 1204949.778 713910.523 0, 1205239.086 713922.594 0, 1205528.392 713934.683 0, 1205817.698 713946.788 0,
+ 1206107.003 713958.911 0, 1206396.307 713971.05 0, 1206685.611 713983.207 0, 1206974.914 713995.381 0, 1207264.216 714007.571 0, 1207553.517 714019.779 0, 1207842.818 714032.004 0, 1208132.118 714044.245 0, 1208420.051 714056.446 0, 1208656.046 708490.93 0,
+ 1208892.03 702925.698 0))
+
+POLYGON ((1222305.552 714664.886 0, 1222017.653 714651.872 0, 1221728.388 714638.813 0, 1221439.123 714625.771 0, 1221149.857 714612.746 0, 1220860.591 714599.738 0, 1220571.324 714586.747 0, 1220282.055 714573.773 0, 1219992.787 714560.816 0, 1219703.517 714547.877 0,
+ 1219414.247 714534.954 0, 1219124.975 714522.048 0, 1218835.703 714509.159 0, 1218546.431 714496.288 0, 1218257.157 714483.433 0, 1217967.883 714470.595 0, 1217678.608 714457.775 0, 1217389.333 714444.971 0, 1217100.056 714432.184 0, 1216810.779 714419.415 0,
+ 1216521.501 714406.662 0, 1216232.222 714393.927 0, 1215942.943 714381.208 0, 1215653.663 714368.507 0, 1215363.016 714355.763 0, 1215075.1 714343.155 0, 1214785.818 714330.505 0, 1214496.534 714317.871 0, 1214207.25 714305.255 0, 1213917.966 714292.656 0,
+ 1213628.68 714280.073 0, 1213339.394 714267.508 0, 1213050.107 714254.96 0, 1212760.82 714242.429 0, 1212471.531 714229.914 0, 1212182.242 714217.417 0, 1211892.952 714204.937 0, 1211603.662 714192.474 0, 1211314.371 714180.028 0, 1211025.078 714167.599 0,
+ 1210735.786 714155.187 0, 1210446.492 714142.792 0, 1210157.198 714130.414 0, 1209867.903 714118.053 0, 1209578.607 714105.709 0, 1209289.311 714093.382 0, 1209000.014 714081.073 0, 1208710.716 714068.78 0, 1208420.051 714056.446 0, 1208184.044 719622.244 0,
+ 1207948.024 725188.32 0, 1208238.031 725200.626 0, 1208526.674 725212.891 0, 1208815.316 725225.173 0, 1209103.957 725237.472 0, 1209392.597 725249.788 0, 1209681.237 725262.121 0, 1209969.876 725274.471 0, 1210258.514 725286.838 0, 1210547.152 725299.222 0,
+ 1210835.789 725311.623 0, 1211124.425 725324.04 0, 1211413.06 725336.475 0, 1211701.695 725348.927 0, 1211990.329 725361.396 0, 1212278.962 725373.882 0, 1212567.595 725386.385 0, 1212856.226 725398.904 0, 1213144.857 725411.441 0, 1213433.487 725423.995 0,
+ 1213722.117 725436.566 0, 1214010.746 725449.154 0, 1214299.374 725461.758 0, 1214588.001 725474.38 0, 1214875.265 725486.959 0, 1215165.253 725499.674 0, 1215453.878 725512.347 0, 1215742.503 725525.037 0, 1216031.126 725537.743 0, 1216319.749 725550.467 0,
+ 1216608.371 725563.208 0, 1216896.992 725575.965 0, 1217185.613 725588.74 0, 1217474.233 725601.532 0, 1217762.852 725614.34 0, 1218051.47 725627.166 0, 1218340.088 725640.008 0, 1218628.704 725652.868 0, 1218917.32 725665.744 0, 1219205.936 725678.638 0,
+ 1219494.55 725691.549 0, 1219783.164 725704.476 0, 1220071.777 725717.421 0, 1220360.389 725730.382 0, 1220649.001 725743.36 0, 1220937.611 725756.356 0, 1221226.221 725769.368 0, 1221514.83 725782.398 0, 1221802.078 725795.383 0, 1222053.821 720229.995 0,
+ 1222305.552 714664.886 0))
+
+POLYGON ((1235654.361 726441.583 0, 1235367.149 726427.786 0, 1235078.578 726413.941 0, 1234790.006 726400.114 0, 1234501.433 726386.303 0, 1234212.859 726372.509 0, 1233924.285 726358.732 0, 1233635.71 726344.972 0, 1233347.134 726331.23 0, 1233058.557 726317.504 0,
+ 1232769.979 726303.795 0, 1232481.401 726290.103 0, 1232192.821 726276.428 0, 1231904.241 726262.77 0, 1231615.66 726249.129 0, 1231327.079 726235.505 0, 1231038.496 726221.898 0, 1230749.913 726208.308 0, 1230461.329 726194.735 0, 1230172.744 726181.179 0,
+ 1229884.158 726167.64 0, 1229595.572 726154.118 0, 1229306.984 726140.613 0, 1229018.396 726127.125 0, 1228728.448 726113.591 0, 1228441.218 726100.2 0, 1228152.627 726086.763 0, 1227864.036 726073.343 0, 1227575.444 726059.94 0, 1227286.851 726046.554 0,
+ 1226998.257 726033.184 0, 1226709.663 726019.832 0, 1226421.068 726006.497 0, 1226132.472 725993.179 0, 1225843.875 725979.878 0, 1225555.277 725966.593 0, 1225266.679 725953.326 0, 1224978.08 725940.076 0, 1224689.48 725926.843 0, 1224400.88 725913.626 0,
+ 1224112.278 725900.427 0, 1223823.676 725887.245 0, 1223535.073 725874.079 0, 1223246.469 725860.931 0, 1222957.865 725847.8 0, 1222669.259 725834.685 0, 1222380.653 725821.588 0, 1222092.046 725808.508 0, 1221802.078 725795.383 0, 1221550.322 731361.045 0,
+ 1221298.554 736926.978 0, 1221587.864 736940.073 0, 1221875.816 736953.124 0, 1222163.767 736966.191 0, 1222451.717 736979.276 0, 1222739.666 736992.378 0, 1223027.615 737005.496 0, 1223315.562 737018.631 0, 1223603.509 737031.784 0, 1223891.456 737044.953 0,
+ 1224179.401 737058.139 0, 1224467.346 737071.343 0, 1224755.29 737084.563 0, 1225043.233 737097.8 0, 1225331.175 737111.054 0, 1225619.117 737124.325 0, 1225907.058 737137.613 0, 1226194.998 737150.918 0, 1226482.937 737164.24 0, 1226770.876 737177.579 0,
+ 1227058.813 737190.934 0, 1227346.75 737204.307 0, 1227634.686 737217.697 0, 1227922.622 737231.103 0, 1228209.2 737244.464 0, 1228498.49 737257.967 0, 1228786.423 737271.425 0, 1229074.355 737284.899 0, 1229362.286 737298.391 0, 1229650.217 737311.899 0,
+ 1229938.147 737325.424 0, 1230226.076 737338.966 0, 1230514.004 737352.525 0, 1230801.931 737366.101 0, 1231089.858 737379.694 0, 1231377.784 737393.304 0, 1231665.709 737406.931 0, 1231953.633 737420.575 0, 1232241.556 737434.236 0, 1232529.479 737447.914 0,
+ 1232817.4 737461.608 0, 1233105.321 737475.32 0, 1233393.242 737489.049 0, 1233681.161 737502.794 0, 1233969.079 737516.557 0, 1234256.997 737530.336 0, 1234544.914 737544.132 0, 1234832.83 737557.946 0, 1235119.39 737571.711 0, 1235386.882 732006.511 0,
+ 1235654.361 726441.583 0))
+
+POLYGON ((1248938.35 738255.488 0, 1248651.828 738240.913 0, 1248363.952 738226.286 0, 1248076.075 738211.677 0, 1247788.197 738197.084 0, 1247500.319 738182.508 0, 1247212.439 738167.949 0, 1246924.559 738153.407 0, 1246636.678 738138.882 0, 1246348.796 738124.374 0,
+ 1246060.914 738109.883 0, 1245773.03 738095.409 0, 1245485.145 738080.951 0, 1245197.26 738066.511 0, 1244909.374 738052.088 0, 1244621.487 738037.681 0, 1244333.599 738023.292 0, 1244045.71 738008.919 0, 1243757.821 737994.564 0, 1243469.93 737980.225 0,
+ 1243182.039 737965.903 0, 1242894.147 737951.599 0, 1242606.254 737937.311 0, 1242318.36 737923.04 0, 1242029.111 737908.719 0, 1241742.57 737894.549 0, 1241454.674 737880.329 0, 1241166.777 737866.126 0, 1240878.879 737851.94 0, 1240590.98 737837.771 0,
+ 1240303.08 737823.619 0, 1240015.18 737809.483 0, 1239727.279 737795.365 0, 1239439.376 737781.264 0, 1239151.473 737767.179 0, 1238863.57 737753.112 0, 1238575.665 737739.061 0, 1238287.76 737725.027 0, 1237999.853 737711.011 0, 1237711.946 737697.011 0,
+ 1237424.038 737683.028 0, 1237136.13 737669.062 0, 1236848.22 737655.114 0, 1236560.31 737641.182 0, 1236272.398 737627.267 0, 1235984.486 737613.369 0, 1235696.574 737599.487 0, 1235408.66 737585.623 0, 1235119.39 737571.711 0, 1234851.885 743137.178 0,
+ 1234584.368 748702.91 0, 1234872.979 748716.791 0, 1235160.238 748730.623 0, 1235447.496 748744.473 0, 1235734.752 748758.339 0, 1236022.008 748772.223 0, 1236309.264 748786.123 0, 1236596.518 748800.04 0, 1236883.772 748813.974 0, 1237171.024 748827.925 0,
+ 1237458.276 748841.893 0, 1237745.528 748855.878 0, 1238032.778 748869.879 0, 1238320.027 748883.898 0, 1238607.276 748897.934 0, 1238894.524 748911.986 0, 1239181.771 748926.055 0, 1239469.017 748940.141 0, 1239756.262 748954.245 0, 1240043.507 748968.365 0,
+ 1240330.751 748982.502 0, 1240617.993 748996.655 0, 1240905.235 749010.826 0, 1241192.477 749025.014 0, 1241478.366 749039.152 0, 1241766.956 749053.44 0, 1242054.195 749067.678 0, 1242341.433 749081.934 0, 1242628.67 749096.206 0, 1242915.906 749110.495 0,
+ 1243203.141 749124.801 0, 1243490.376 749139.124 0, 1243777.609 749153.464 0, 1244064.842 749167.82 0, 1244352.074 749182.194 0, 1244639.305 749196.584 0, 1244926.535 749210.992 0, 1245213.765 749225.416 0, 1245500.993 749239.857 0, 1245788.221 749254.316 0,
+ 1246075.448 749268.791 0, 1246362.674 749283.283 0, 1246649.899 749297.791 0, 1246937.123 749312.317 0, 1247224.347 749326.86 0, 1247511.569 749341.419 0, 1247798.791 749355.996 0, 1248086.012 749370.589 0, 1248371.882 749385.131 0, 1248655.123 743820.177 0,
+ 1248938.35 738255.488 0))
+
+POLYGON ((1262157.414 750106.301 0, 1261871.584 750090.952 0, 1261584.405 750075.547 0, 1261297.226 750060.159 0, 1261010.045 750044.788 0, 1260722.864 750029.434 0, 1260435.682 750014.097 0, 1260148.499 749998.777 0, 1259861.315 749983.473 0, 1259574.131 749968.187 0,
+ 1259286.945 749952.917 0, 1258999.758 749937.665 0, 1258712.571 749922.429 0, 1258425.382 749907.21 0, 1258138.193 749892.008 0, 1257851.003 749876.823 0, 1257563.812 749861.655 0, 1257276.62 749846.504 0, 1256989.427 749831.369 0, 1256702.233 749816.252 0,
+ 1256415.039 749801.151 0, 1256127.843 749786.068 0, 1255840.647 749771.001 0, 1255553.449 749755.951 0, 1255264.902 749740.848 0, 1254979.052 749725.902 0, 1254691.852 749710.903 0, 1254404.651 749695.921 0, 1254117.45 749680.956 0, 1253830.247 749666.007 0,
+ 1253543.044 749651.076 0, 1253255.839 749636.161 0, 1252968.634 749621.264 0, 1252681.428 749606.383 0, 1252394.221 749591.519 0, 1252107.013 749576.672 0, 1251819.804 749561.842 0, 1251532.595 749547.029 0, 1251245.384 749532.232 0, 1250958.173 749517.453 0,
+ 1250670.961 749502.691 0, 1250383.748 749487.945 0, 1250096.534 749473.217 0, 1249809.319 749458.505 0, 1249522.103 749443.81 0, 1249234.887 749429.132 0, 1248947.669 749414.471 0, 1248660.451 749399.827 0, 1248371.882 749385.131 0, 1248088.628 754950.345 0,
+ 1247805.361 760515.817 0, 1248093.272 760530.479 0, 1248379.835 760545.09 0, 1248666.397 760559.718 0, 1248952.959 760574.362 0, 1249239.519 760589.023 0, 1249526.079 760603.702 0, 1249812.638 760618.397 0, 1250099.196 760633.109 0, 1250385.753 760647.837 0,
+ 1250672.309 760662.583 0, 1250958.864 760677.345 0, 1251245.419 760692.125 0, 1251531.973 760706.921 0, 1251818.525 760721.734 0, 1252105.077 760736.564 0, 1252391.628 760751.411 0, 1252678.178 760766.275 0, 1252964.728 760781.155 0, 1253251.276 760796.053 0,
+ 1253537.823 760810.967 0, 1253824.37 760825.898 0, 1254110.916 760840.846 0, 1254397.461 760855.811 0, 1254682.659 760870.722 0, 1254970.548 760885.791 0, 1255257.09 760900.807 0, 1255543.631 760915.839 0, 1255830.172 760930.889 0, 1256116.711 760945.955 0,
+ 1256403.25 760961.038 0, 1256689.788 760976.137 0, 1256976.325 760991.254 0, 1257262.861 761006.388 0, 1257549.396 761021.538 0, 1257835.93 761036.705 0, 1258122.463 761051.889 0, 1258408.996 761067.09 0, 1258695.527 761082.308 0, 1258982.058 761097.543 0,
+ 1259268.588 761112.795 0, 1259555.117 761128.063 0, 1259841.645 761143.348 0, 1260128.172 761158.651 0, 1260414.698 761173.97 0, 1260701.223 761189.306 0, 1260987.747 761204.658 0, 1261274.271 761220.028 0, 1261559.449 761235.342 0, 1261858.438 755670.693 0,
+ 1262157.414 750106.301 0))
+
+POLYGON ((1275311.449 761993.723 0, 1275026.313 761977.603 0, 1274739.834 761961.424 0, 1274453.354 761945.261 0, 1274166.874 761929.116 0, 1273880.392 761912.988 0, 1273593.909 761896.876 0, 1273307.426 761880.781 0, 1273020.941 761864.703 0, 1272734.455 761848.642 0,
+ 1272447.969 761832.598 0, 1272161.482 761816.571 0, 1271874.993 761800.56 0, 1271588.504 761784.567 0, 1271302.014 761768.59 0, 1271015.523 761752.63 0, 1270729.03 761736.687 0, 1270442.537 761720.761 0, 1270156.043 761704.852 0, 1269869.549 761688.959 0,
+ 1269583.053 761673.084 0, 1269296.556 761657.225 0, 1269010.058 761641.383 0, 1268723.56 761625.558 0, 1268435.717 761609.676 0, 1268150.559 761593.959 0, 1267864.058 761578.185 0, 1267577.556 761562.427 0, 1267291.052 761546.686 0, 1267004.548 761530.963 0,
+ 1266718.043 761515.256 0, 1266431.537 761499.566 0, 1266145.03 761483.892 0, 1265858.522 761468.236 0, 1265572.013 761452.597 0, 1265285.503 761436.974 0, 1264998.993 761421.368 0, 1264712.481 761405.779 0, 1264425.969 761390.207 0, 1264139.455 761374.652 0,
+ 1263852.941 761359.114 0, 1263566.426 761343.592 0, 1263279.909 761328.088 0, 1262993.392 761312.6 0, 1262706.874 761297.129 0, 1262420.355 761281.675 0, 1262133.836 761266.238 0, 1261847.315 761250.818 0, 1261559.449 761235.342 0, 1261260.446 766800.245 0,
+ 1260961.429 772365.398 0, 1261248.637 772380.838 0, 1261534.503 772396.223 0, 1261820.368 772411.625 0, 1262106.232 772427.044 0, 1262392.094 772442.479 0, 1262677.956 772457.931 0, 1262963.818 772473.4 0, 1263249.678 772488.886 0, 1263535.537 772504.389 0,
+ 1263821.395 772519.909 0, 1264107.253 772535.445 0, 1264393.109 772550.998 0, 1264678.965 772566.568 0, 1264964.82 772582.155 0, 1265250.673 772597.759 0, 1265536.526 772613.38 0, 1265822.378 772629.017 0, 1266108.229 772644.671 0, 1266394.079 772660.342 0,
+ 1266679.928 772676.03 0, 1266965.777 772691.735 0, 1267251.624 772707.456 0, 1267537.47 772723.194 0, 1267821.976 772738.876 0, 1268109.16 772754.722 0, 1268395.004 772770.51 0, 1268680.847 772786.316 0, 1268966.688 772802.138 0, 1269252.529 772817.978 0,
+ 1269538.369 772833.834 0, 1269824.208 772849.707 0, 1270110.046 772865.596 0, 1270395.883 772881.503 0, 1270681.719 772897.426 0, 1270967.555 772913.366 0, 1271253.389 772929.323 0, 1271539.222 772945.297 0, 1271825.055 772961.288 0, 1272110.886 772977.295 0,
+ 1272396.717 772993.32 0, 1272682.546 773009.361 0, 1272968.375 773025.419 0, 1273254.202 773041.494 0, 1273540.029 773057.585 0, 1273825.855 773073.694 0, 1274111.68 773089.819 0, 1274397.504 773105.961 0, 1274681.988 773122.044 0, 1274996.725 767557.758 0,
+ 1275311.449 761993.723 0))
+
+POLYGON ((1288400.353 773917.451 0, 1288115.914 773900.564 0, 1287830.137 773883.614 0, 1287544.358 773866.681 0, 1287258.579 773849.766 0, 1286972.799 773832.867 0, 1286687.018 773815.984 0, 1286401.236 773799.119 0, 1286115.453 773782.27 0, 1285829.669 773765.439 0,
+ 1285543.884 773748.624 0, 1285258.098 773731.825 0, 1284972.31 773715.044 0, 1284686.522 773698.28 0, 1284400.733 773681.532 0, 1284114.943 773664.801 0, 1283829.152 773648.087 0, 1283543.36 773631.39 0, 1283257.567 773614.709 0, 1282971.773 773598.046 0,
+ 1282685.979 773581.399 0, 1282400.183 773564.769 0, 1282114.386 773548.156 0, 1281828.588 773531.56 0, 1281541.451 773514.903 0, 1281256.989 773498.418 0, 1280971.188 773481.872 0, 1280685.387 773465.343 0, 1280399.584 773448.831 0, 1280113.78 773432.335 0,
+ 1279827.976 773415.857 0, 1279542.17 773399.395 0, 1279256.363 773382.95 0, 1278970.556 773366.522 0, 1278684.747 773350.111 0, 1278398.938 773333.717 0, 1278113.127 773317.339 0, 1277827.316 773300.978 0, 1277541.503 773284.634 0, 1277255.69 773268.307 0,
+ 1276969.876 773251.997 0, 1276684.06 773235.703 0, 1276398.244 773219.427 0, 1276112.427 773203.167 0, 1275826.609 773186.924 0, 1275540.79 773170.698 0, 1275254.97 773154.488 0, 1274969.149 773138.296 0, 1274681.988 773122.044 0, 1274367.236 778686.576 0,
+ 1274052.47 784251.352 0, 1274338.973 784267.566 0, 1274624.139 784283.721 0, 1274909.304 784299.894 0, 1275194.468 784316.083 0, 1275479.631 784332.288 0, 1275764.794 784348.511 0, 1276049.955 784364.75 0, 1276335.115 784381.006 0, 1276620.274 784397.279 0,
+ 1276905.433 784413.569 0, 1277190.59 784429.876 0, 1277475.747 784446.199 0, 1277760.902 784462.539 0, 1278046.056 784478.896 0, 1278331.21 784495.269 0, 1278616.363 784511.66 0, 1278901.514 784528.067 0, 1279186.665 784544.491 0, 1279471.814 784560.932 0,
+ 1279756.963 784577.389 0, 1280042.111 784593.864 0, 1280327.258 784610.355 0, 1280612.403 784626.863 0, 1280896.214 784643.31 0, 1281182.692 784659.929 0, 1281467.835 784676.487 0, 1281752.977 784693.062 0, 1282038.118 784709.654 0, 1282323.258 784726.262 0,
+ 1282608.397 784742.888 0, 1282893.535 784759.53 0, 1283178.672 784776.189 0, 1283463.808 784792.865 0, 1283748.943 784809.557 0, 1284034.077 784826.266 0, 1284319.21 784842.992 0, 1284604.342 784859.735 0, 1284889.473 784876.495 0, 1285174.603 784893.271 0,
+ 1285459.732 784910.065 0, 1285744.861 784926.875 0, 1286029.988 784943.701 0, 1286315.114 784960.545 0, 1286600.239 784977.405 0, 1286885.363 784994.282 0, 1287170.486 785011.176 0, 1287455.609 785028.087 0, 1287739.396 785044.935 0, 1288069.882 779481.071 0,
+ 1288400.353 773917.451 0))
+
+POLYGON ((1301424.025 785877.184 0, 1301140.284 785859.533 0, 1300855.211 785841.817 0, 1300570.137 785824.118 0, 1300285.061 785806.435 0, 1299999.985 785788.77 0, 1299714.908 785771.121 0, 1299429.829 785753.488 0, 1299144.75 785735.873 0, 1298859.669 785718.274 0,
+ 1298574.587 785700.692 0, 1298289.505 785683.127 0, 1298004.421 785665.579 0, 1297719.336 785648.047 0, 1297434.251 785630.533 0, 1297149.164 785613.035 0, 1296864.076 785595.553 0, 1296578.987 785578.089 0, 1296293.898 785560.641 0, 1296008.807 785543.21 0,
+ 1295723.715 785525.796 0, 1295438.622 785508.399 0, 1295153.528 785491.018 0, 1294868.433 785473.655 0, 1294582.005 785456.227 0, 1294298.24 785438.977 0, 1294013.142 785421.664 0, 1293728.043 785404.367 0, 1293442.943 785387.088 0, 1293157.842 785369.824 0,
+ 1292872.74 785352.578 0, 1292587.637 785335.349 0, 1292302.533 785318.136 0, 1292017.427 785300.94 0, 1291732.321 785283.761 0, 1291447.214 785266.598 0, 1291162.106 785249.453 0, 1290876.997 785232.324 0, 1290591.887 785215.212 0, 1290306.776 785198.117 0,
+ 1290021.663 785181.038 0, 1289736.55 785163.976 0, 1289451.436 785146.932 0, 1289166.321 785129.903 0, 1288881.205 785112.892 0, 1288596.087 785095.897 0, 1288310.969 785078.92 0, 1288025.85 785061.959 0, 1287739.396 785044.935 0, 1287408.896 790609.038 0,
+ 1287078.382 796173.377 0, 1287364.178 796190.361 0, 1287648.642 796207.283 0, 1287933.106 796224.222 0, 1288217.568 796241.178 0, 1288502.029 796258.15 0, 1288786.489 796275.139 0, 1289070.948 796292.145 0, 1289355.407 796309.167 0, 1289639.864 796326.206 0,
+ 1289924.32 796343.262 0, 1290208.775 796360.335 0, 1290493.229 796377.425 0, 1290777.683 796394.531 0, 1291062.135 796411.654 0, 1291346.586 796428.794 0, 1291631.036 796445.95 0, 1291915.485 796463.123 0, 1292199.933 796480.313 0, 1292484.38 796497.52 0,
+ 1292768.827 796514.743 0, 1293053.272 796531.983 0, 1293337.716 796549.24 0, 1293622.159 796566.514 0, 1293905.272 796583.723 0, 1294191.042 796601.111 0, 1294475.482 796618.435 0, 1294759.921 796635.776 0, 1295044.359 796653.133 0, 1295328.796 796670.507 0,
+ 1295613.232 796687.898 0, 1295897.667 796705.306 0, 1296182.101 796722.73 0, 1296466.533 796740.171 0, 1296750.965 796757.629 0, 1297035.396 796775.104 0, 1297319.826 796792.595 0, 1297604.255 796810.103 0, 1297888.682 796827.628 0, 1298173.109 796845.169 0,
+ 1298457.535 796862.727 0, 1298741.959 796880.302 0, 1299026.383 796897.894 0, 1299310.805 796915.503 0, 1299595.227 796933.128 0, 1299879.647 796950.77 0, 1300164.067 796968.428 0, 1300448.485 796986.104 0, 1300731.574 797003.713 0, 1301077.807 791440.331 0,
+ 1301424.025 785877.184 0))
+
+POLYGON ((1314382.366 797872.619 0, 1314099.325 797854.21 0, 1313814.958 797835.731 0, 1313530.59 797817.269 0, 1313246.22 797798.823 0, 1312961.85 797780.395 0, 1312677.478 797761.983 0, 1312393.105 797743.588 0, 1312108.731 797725.209 0, 1311824.357 797706.847 0,
+ 1311539.981 797688.502 0, 1311255.604 797670.174 0, 1310971.225 797651.863 0, 1310686.846 797633.568 0, 1310402.466 797615.29 0, 1310118.085 797597.029 0, 1309833.702 797578.784 0, 1309549.319 797560.556 0, 1309264.934 797542.345 0, 1308980.548 797524.151 0,
+ 1308696.162 797505.973 0, 1308411.774 797487.812 0, 1308127.385 797469.668 0, 1307842.995 797451.541 0, 1307557.277 797433.346 0, 1307274.212 797415.336 0, 1306989.819 797397.259 0, 1306705.425 797379.198 0, 1306421.029 797361.155 0, 1306136.633 797343.128 0,
+ 1305852.236 797325.118 0, 1305567.837 797307.124 0, 1305283.438 797289.147 0, 1304999.037 797271.187 0, 1304714.635 797253.244 0, 1304430.233 797235.318 0, 1304145.829 797217.408 0, 1303861.424 797199.515 0, 1303577.018 797181.638 0, 1303292.612 797163.779 0,
+ 1303008.204 797145.936 0, 1302723.795 797128.11 0, 1302439.385 797110.301 0, 1302154.974 797092.508 0, 1301870.561 797074.732 0, 1301586.148 797056.973 0, 1301301.734 797039.231 0, 1301017.319 797021.505 0, 1300731.574 797003.713 0, 1300385.327 802567.328 0,
+ 1300039.066 808131.171 0, 1300324.152 808148.922 0, 1300607.912 808166.607 0, 1300891.672 808184.308 0, 1301175.43 808202.027 0, 1301459.187 808219.761 0, 1301742.943 808237.513 0, 1302026.698 808255.281 0, 1302310.452 808273.067 0, 1302594.205 808290.868 0,
+ 1302877.957 808308.687 0, 1303161.708 808326.522 0, 1303445.458 808344.374 0, 1303729.207 808362.242 0, 1304012.955 808380.127 0, 1304296.701 808398.029 0, 1304580.447 808415.948 0, 1304864.192 808433.883 0, 1305147.935 808451.835 0, 1305431.678 808469.804 0,
+ 1305715.419 808487.79 0, 1305999.159 808505.792 0, 1306282.899 808523.811 0, 1306566.637 808541.846 0, 1306849.05 808559.814 0, 1307134.11 808577.967 0, 1307417.845 808596.053 0, 1307701.579 808614.155 0, 1307985.312 808632.275 0, 1308269.044 808650.41 0,
+ 1308552.775 808668.563 0, 1308836.505 808686.732 0, 1309120.233 808704.918 0, 1309403.961 808723.12 0, 1309687.687 808741.34 0, 1309971.413 808759.575 0, 1310255.137 808777.828 0, 1310538.861 808796.097 0, 1310822.583 808814.384 0, 1311106.304 808832.686 0,
+ 1311390.024 808851.006 0, 1311673.743 808869.342 0, 1311957.461 808887.695 0, 1312241.178 808906.064 0, 1312524.893 808924.451 0, 1312808.608 808942.853 0, 1313092.322 808961.273 0, 1313376.034 808979.709 0, 1313658.423 808998.076 0, 1314020.402 803435.234 0,
+ 1314382.366 797872.619 0))
+
+POLYGON ((1327275.277 809903.455 0, 1326992.939 809884.29 0, 1326709.28 809865.053 0, 1326425.619 809845.831 0, 1326141.958 809826.627 0, 1325858.295 809807.439 0, 1325574.631 809788.268 0, 1325290.966 809769.114 0, 1325007.3 809749.976 0, 1324723.633 809730.855 0,
+ 1324439.965 809711.751 0, 1324156.295 809692.664 0, 1323872.625 809673.593 0, 1323588.953 809654.539 0, 1323305.28 809635.501 0, 1323021.606 809616.48 0, 1322737.931 809597.476 0, 1322454.255 809578.489 0, 1322170.578 809559.518 0, 1321886.9 809540.564 0,
+ 1321603.22 809521.627 0, 1321319.539 809502.706 0, 1321035.858 809483.803 0, 1320752.175 809464.915 0, 1320467.17 809445.957 0, 1320184.806 809427.191 0, 1319901.12 809408.354 0, 1319617.432 809389.534 0, 1319333.744 809370.73 0, 1319050.055 809351.943 0,
+ 1318766.364 809333.173 0, 1318482.672 809314.419 0, 1318198.98 809295.682 0, 1317915.286 809276.962 0, 1317631.591 809258.258 0, 1317347.895 809239.572 0, 1317064.197 809220.901 0, 1316780.499 809202.248 0, 1316496.8 809183.611 0, 1316213.099 809164.991 0,
+ 1315929.398 809146.388 0, 1315645.695 809127.801 0, 1315361.991 809109.231 0, 1315078.286 809090.678 0, 1314794.58 809072.142 0, 1314510.873 809053.622 0, 1314227.165 809035.119 0, 1313943.456 809016.632 0, 1313658.423 808998.076 0, 1313296.429 814561.144 0,
+ 1312934.421 820124.433 0, 1313218.796 820142.946 0, 1313501.851 820161.39 0, 1313784.904 820179.85 0, 1314067.956 820198.327 0, 1314351.007 820216.821 0, 1314634.057 820235.331 0, 1314917.106 820253.858 0, 1315200.154 820272.402 0, 1315483.201 820290.962 0,
+ 1315766.246 820309.539 0, 1316049.291 820328.133 0, 1316332.334 820346.743 0, 1316615.377 820365.37 0, 1316898.418 820384.014 0, 1317181.458 820402.675 0, 1317464.497 820421.352 0, 1317747.535 820440.045 0, 1318030.572 820458.755 0, 1318313.608 820477.482 0,
+ 1318596.642 820496.226 0, 1318879.676 820514.986 0, 1319162.708 820533.763 0, 1319445.74 820552.557 0, 1319727.452 820571.28 0, 1320011.799 820590.194 0, 1320294.827 820609.038 0, 1320577.854 820627.898 0, 1320860.88 820646.775 0, 1321143.905 820665.668 0,
+ 1321426.928 820684.579 0, 1321709.951 820703.506 0, 1321992.972 820722.449 0, 1322275.992 820741.409 0, 1322559.011 820760.386 0, 1322842.029 820779.38 0, 1323125.046 820798.39 0, 1323408.062 820817.417 0, 1323691.077 820836.46 0, 1323974.09 820855.52 0,
+ 1324257.102 820874.597 0, 1324540.114 820893.691 0, 1324823.124 820912.801 0, 1325106.133 820931.927 0, 1325389.141 820951.071 0, 1325672.148 820970.231 0, 1325955.153 820989.408 0, 1326238.158 821008.601 0, 1326519.844 821027.722 0, 1326897.568 815465.478 0,
+ 1327275.277 809903.455 0))
+
+POLYGON ((1340102.661 821969.388 0, 1339821.027 821949.472 0, 1339538.078 821929.479 0, 1339255.128 821909.503 0, 1338972.176 821889.543 0, 1338689.224 821869.6 0, 1338406.27 821849.674 0, 1338123.315 821829.764 0, 1337840.359 821809.871 0, 1337557.401 821789.995 0,
+ 1337274.443 821770.136 0, 1336991.483 821750.293 0, 1336708.522 821730.466 0, 1336425.56 821710.657 0, 1336142.597 821690.864 0, 1335859.632 821671.087 0, 1335576.667 821651.328 0, 1335293.7 821631.584 0, 1335010.732 821611.858 0, 1334727.763 821592.148 0,
+ 1334444.793 821572.455 0, 1334161.822 821552.779 0, 1333878.849 821533.119 0, 1333595.876 821513.476 0, 1333311.585 821493.758 0, 1333029.925 821474.24 0, 1332746.948 821454.647 0, 1332463.969 821435.07 0, 1332180.99 821415.51 0, 1331898.009 821395.967 0,
+ 1331615.028 821376.44 0, 1331332.045 821356.931 0, 1331049.061 821337.437 0, 1330766.076 821317.961 0, 1330483.089 821298.501 0, 1330200.102 821279.058 0, 1329917.113 821259.631 0, 1329634.123 821240.221 0, 1329351.133 821220.828 0, 1329068.141 821201.451 0,
+ 1328785.147 821182.091 0, 1328502.153 821162.748 0, 1328219.158 821143.421 0, 1327936.161 821124.111 0, 1327653.163 821104.818 0, 1327370.165 821085.541 0, 1327087.165 821066.281 0, 1326804.163 821047.038 0, 1326519.844 821027.722 0, 1326142.105 826590.183 0,
+ 1325764.352 832152.858 0, 1326048.014 832172.13 0, 1326330.36 832191.328 0, 1326612.705 832210.544 0, 1326895.049 832229.776 0, 1327177.392 832249.025 0, 1327459.734 832268.29 0, 1327742.075 832287.572 0, 1328024.414 832306.87 0, 1328306.753 832326.186 0,
+ 1328589.09 832345.517 0, 1328871.426 832364.866 0, 1329153.761 832384.231 0, 1329436.095 832403.613 0, 1329718.427 832423.011 0, 1330000.759 832442.426 0, 1330283.089 832461.857 0, 1330565.419 832481.305 0, 1330847.747 832500.77 0, 1331130.074 832520.251 0,
+ 1331412.4 832539.749 0, 1331694.724 832559.264 0, 1331977.048 832578.795 0, 1332259.37 832598.343 0, 1332540.379 832617.816 0, 1332824.011 832637.488 0, 1333106.33 832657.086 0, 1333388.648 832676.7 0, 1333670.965 832696.331 0, 1333953.28 832715.979 0,
+ 1334235.595 832735.643 0, 1334517.908 832755.324 0, 1334800.22 832775.021 0, 1335082.53 832794.735 0, 1335364.84 832814.466 0, 1335647.149 832834.213 0, 1335929.456 832853.977 0, 1336211.762 832873.757 0, 1336494.067 832893.554 0, 1336776.371 832913.368 0,
+ 1337058.674 832933.198 0, 1337340.975 832953.045 0, 1337623.275 832972.909 0, 1337905.575 832992.789 0, 1338187.873 833012.686 0, 1338470.169 833032.599 0, 1338752.465 833052.529 0, 1339034.76 833072.475 0, 1339315.741 833092.346 0, 1339709.208 827530.76 0,
+ 1340102.661 821969.388 0))
+
+POLYGON ((1352864.422 834070.115 0, 1352583.495 834049.451 0, 1352301.258 834028.707 0, 1352019.02 834007.979 0, 1351736.781 833987.268 0, 1351454.54 833966.574 0, 1351172.298 833945.897 0, 1350890.055 833925.236 0, 1350607.811 833904.591 0, 1350325.565 833883.963 0,
+ 1350043.319 833863.352 0, 1349761.071 833842.758 0, 1349478.821 833822.18 0, 1349196.571 833801.618 0, 1348914.32 833781.074 0, 1348632.067 833760.546 0, 1348349.813 833740.034 0, 1348067.558 833719.539 0, 1347785.301 833699.061 0, 1347503.043 833678.599 0,
+ 1347220.785 833658.154 0, 1346938.525 833637.726 0, 1346656.263 833617.314 0, 1346374.001 833596.919 0, 1346090.427 833576.446 0, 1345809.473 833556.178 0, 1345527.207 833535.833 0, 1345244.939 833515.504 0, 1344962.671 833495.192 0, 1344680.401 833474.897 0,
+ 1344398.13 833454.618 0, 1344115.858 833434.356 0, 1343833.585 833414.11 0, 1343551.311 833393.881 0, 1343269.035 833373.668 0, 1342986.759 833353.473 0, 1342704.481 833333.293 0, 1342422.201 833313.131 0, 1342139.921 833292.985 0, 1341857.64 833272.855 0,
+ 1341575.357 833252.743 0, 1341293.073 833232.646 0, 1341010.788 833212.567 0, 1340728.502 833192.504 0, 1340446.214 833172.458 0, 1340163.926 833152.428 0, 1339881.636 833132.415 0, 1339599.345 833112.419 0, 1339315.741 833092.346 0, 1338922.259 838654.142 0,
+ 1338528.763 844216.144 0, 1338811.709 844236.17 0, 1339093.345 844256.12 0, 1339374.98 844276.087 0, 1339656.614 844296.07 0, 1339938.246 844316.07 0, 1340219.878 844336.086 0, 1340501.508 844356.119 0, 1340783.137 844376.169 0, 1341064.765 844396.235 0,
+ 1341346.392 844416.317 0, 1341628.018 844436.417 0, 1341909.642 844456.533 0, 1342191.266 844476.665 0, 1342472.888 844496.814 0, 1342754.509 844516.979 0, 1343036.128 844537.162 0, 1343317.747 844557.36 0, 1343599.364 844577.576 0, 1343880.98 844597.807 0,
+ 1344162.595 844618.056 0, 1344444.209 844638.321 0, 1344725.821 844658.603 0, 1345007.433 844678.901 0, 1345287.736 844699.121 0, 1345570.652 844719.547 0, 1345852.26 844739.895 0, 1346133.866 844760.259 0, 1346415.472 844780.64 0, 1346697.076 844801.038 0,
+ 1346978.679 844821.452 0, 1347260.281 844841.883 0, 1347541.881 844862.33 0, 1347823.481 844882.794 0, 1348105.079 844903.274 0, 1348386.676 844923.771 0, 1348668.271 844944.285 0, 1348949.866 844964.815 0, 1349231.459 844985.362 0, 1349513.051 845005.925 0,
+ 1349794.642 845026.505 0, 1350076.232 845047.102 0, 1350357.82 845067.715 0, 1350639.408 845088.345 0, 1350920.994 845108.991 0, 1351202.579 845129.654 0, 1351484.162 845150.333 0, 1351765.745 845171.029 0, 1352046.02 845191.645 0, 1352455.228 839630.777 0,
+ 1352864.422 834070.115 0))
+
+POLYGON ((1365560.467 846205.332 0, 1365280.249 846183.923 0, 1364998.726 846162.432 0, 1364717.202 846140.957 0, 1364435.677 846119.499 0, 1364154.15 846098.057 0, 1363872.622 846076.632 0, 1363591.093 846055.224 0, 1363309.563 846033.832 0, 1363028.031 846012.456 0,
+ 1362746.498 845991.097 0, 1362464.964 845969.755 0, 1362183.429 845948.429 0, 1361901.892 845927.12 0, 1361620.354 845905.828 0, 1361338.815 845884.552 0, 1361057.275 845863.292 0, 1360775.733 845842.05 0, 1360494.19 845820.823 0, 1360212.646 845799.614 0,
+ 1359931.1 845778.421 0, 1359649.554 845757.244 0, 1359368.006 845736.084 0, 1359086.457 845714.941 0, 1358803.601 845693.716 0, 1358523.355 845672.704 0, 1358241.802 845651.61 0, 1357960.248 845630.533 0, 1357678.692 845609.472 0, 1357397.136 845588.428 0,
+ 1357115.578 845567.401 0, 1356834.019 845546.39 0, 1356552.458 845525.396 0, 1356270.897 845504.418 0, 1355989.334 845483.457 0, 1355707.77 845462.512 0, 1355426.205 845441.584 0, 1355144.638 845420.673 0, 1354863.07 845399.778 0, 1354581.502 845378.9 0,
+ 1354299.931 845358.038 0, 1354018.36 845337.193 0, 1353736.787 845316.365 0, 1353455.213 845295.553 0, 1353173.638 845274.757 0, 1352892.062 845253.978 0, 1352610.485 845233.216 0, 1352328.906 845212.471 0, 1352046.02 845191.645 0, 1351636.796 850752.716 0,
+ 1351227.558 856313.986 0, 1351509.786 856334.763 0, 1351790.71 856355.461 0, 1352071.633 856376.175 0, 1352352.555 856396.905 0, 1352633.475 856417.652 0, 1352914.394 856438.416 0, 1353195.312 856459.196 0, 1353476.229 856479.992 0, 1353757.145 856500.806 0,
+ 1354038.059 856521.635 0, 1354318.972 856542.482 0, 1354599.884 856563.344 0, 1354880.795 856584.224 0, 1355161.704 856605.12 0, 1355442.612 856626.032 0, 1355723.519 856646.961 0, 1356004.425 856667.906 0, 1356285.33 856688.868 0, 1356566.233 856709.847 0,
+ 1356847.135 856730.842 0, 1357128.036 856751.853 0, 1357408.935 856772.882 0, 1357689.834 856793.926 0, 1357969.429 856814.89 0, 1358251.626 856836.065 0, 1358532.521 856857.159 0, 1358813.414 856878.27 0, 1359094.307 856899.397 0, 1359375.197 856920.541 0,
+ 1359656.087 856941.702 0, 1359936.975 856962.879 0, 1360217.863 856984.072 0, 1360498.748 857005.282 0, 1360779.633 857026.508 0, 1361060.516 857047.751 0, 1361341.399 857069.011 0, 1361622.279 857090.287 0, 1361903.159 857111.58 0, 1362184.037 857132.889 0,
+ 1362464.915 857154.215 0, 1362745.79 857175.557 0, 1363026.665 857196.916 0, 1363307.538 857218.291 0, 1363588.41 857239.683 0, 1363869.281 857261.091 0, 1364150.151 857282.516 0, 1364431.019 857303.957 0, 1364710.585 857325.316 0, 1365135.534 851765.224 0,
+ 1365560.467 846205.332 0))
+
+POLYGON ((1378190.702 858374.733 0, 1377911.195 858352.585 0, 1377630.389 858330.35 0, 1377349.581 858308.132 0, 1377068.772 858285.93 0, 1376787.961 858263.745 0, 1376507.149 858241.576 0, 1376226.336 858219.424 0, 1375945.522 858197.288 0, 1375664.706 858175.169 0,
+ 1375383.889 858153.066 0, 1375103.07 858130.98 0, 1374822.251 858108.911 0, 1374541.43 858086.858 0, 1374260.608 858064.821 0, 1373979.784 858042.801 0, 1373698.959 858020.798 0, 1373418.133 857998.811 0, 1373137.306 857976.841 0, 1372856.477 857954.887 0,
+ 1372575.647 857932.949 0, 1372294.816 857911.029 0, 1372013.983 857889.124 0, 1371733.149 857867.237 0, 1371451.015 857845.264 0, 1371171.478 857823.511 0, 1370890.64 857801.673 0, 1370609.801 857779.851 0, 1370328.96 857758.046 0, 1370048.119 857736.257 0,
+ 1369767.276 857714.485 0, 1369486.432 857692.73 0, 1369205.586 857670.991 0, 1368924.74 857649.268 0, 1368643.892 857627.562 0, 1368363.042 857605.873 0, 1368082.192 857584.2 0, 1367801.34 857562.544 0, 1367520.487 857540.904 0, 1367239.633 857519.281 0,
+ 1366958.777 857497.674 0, 1366677.92 857476.084 0, 1366397.062 857454.51 0, 1366116.202 857432.953 0, 1365835.342 857411.412 0, 1365554.48 857389.888 0, 1365273.616 857368.381 0, 1364992.752 857346.89 0, 1364710.585 857325.316 0, 1364285.622 862885.603 0,
+ 1363860.644 868446.081 0, 1364142.153 868467.605 0, 1364422.363 868489.046 0, 1364702.572 868510.503 0, 1364982.779 868531.977 0, 1365262.986 868553.467 0, 1365543.191 868574.974 0, 1365823.394 868596.498 0, 1366103.597 868618.038 0, 1366383.798 868639.594 0,
+ 1366663.998 868661.167 0, 1366944.196 868682.756 0, 1367224.393 868704.362 0, 1367504.589 868725.984 0, 1367784.784 868747.623 0, 1368064.978 868769.279 0, 1368345.17 868790.95 0, 1368625.361 868812.639 0, 1368905.551 868834.344 0, 1369185.739 868856.065 0,
+ 1369465.926 868877.803 0, 1369746.112 868899.557 0, 1370026.296 868921.328 0, 1370306.48 868943.115 0, 1370585.365 868964.818 0, 1370866.842 868986.739 0, 1371147.022 869008.576 0, 1371427.2 869030.429 0, 1371707.377 869052.299 0, 1371987.552 869074.185 0,
+ 1372267.726 869096.087 0, 1372547.899 869118.007 0, 1372828.071 869139.942 0, 1373108.242 869161.895 0, 1373388.411 869183.863 0, 1373668.578 869205.848 0, 1373948.745 869227.85 0, 1374228.91 869249.868 0, 1374509.074 869271.903 0, 1374789.237 869293.954 0,
+ 1375069.398 869316.021 0, 1375349.558 869338.105 0, 1375629.717 869360.206 0, 1375909.874 869382.323 0, 1376190.03 869404.457 0, 1376470.185 869426.607 0, 1376750.339 869448.773 0, 1377030.491 869470.956 0, 1377309.346 869493.053 0, 1377750.032 863933.798 0,
+ 1378190.702 858374.733 0))
+
+POLYGON ((1390755.037 870578.016 0, 1390476.243 870555.131 0, 1390196.154 870532.157 0, 1389916.065 870509.199 0, 1389635.973 870486.257 0, 1389355.881 870463.332 0, 1389075.787 870440.424 0, 1388795.692 870417.532 0, 1388515.595 870394.656 0, 1388235.498 870371.797 0,
+ 1387955.398 870348.955 0, 1387675.298 870326.129 0, 1387395.196 870303.319 0, 1387115.093 870280.526 0, 1386834.988 870257.75 0, 1386554.882 870234.99 0, 1386274.775 870212.246 0, 1385994.666 870189.519 0, 1385714.556 870166.808 0, 1385434.445 870144.114 0,
+ 1385154.333 870121.436 0, 1384874.219 870098.775 0, 1384594.103 870076.13 0, 1384313.987 870053.502 0, 1384032.575 870030.786 0, 1383753.75 870008.295 0, 1383473.629 869985.717 0, 1383193.507 869963.154 0, 1382913.384 869940.609 0, 1382633.259 869918.079 0,
+ 1382353.133 869895.566 0, 1382073.006 869873.07 0, 1381792.878 869850.59 0, 1381512.748 869828.127 0, 1381232.617 869805.68 0, 1380952.484 869783.25 0, 1380672.35 869760.836 0, 1380392.215 869738.439 0, 1380112.079 869716.058 0, 1379831.941 869693.693 0,
+ 1379551.802 869671.345 0, 1379271.661 869649.014 0, 1378991.52 869626.699 0, 1378711.377 869604.401 0, 1378431.232 869582.119 0, 1378151.087 869559.853 0, 1377870.94 869537.604 0, 1377590.791 869515.372 0, 1377309.346 869493.053 0, 1376868.646 875052.496 0,
+ 1376427.931 880612.124 0, 1376708.718 880634.39 0, 1376988.212 880656.571 0, 1377267.705 880678.768 0, 1377547.196 880700.981 0, 1377826.686 880723.211 0, 1378106.175 880745.457 0, 1378385.662 880767.72 0, 1378665.148 880789.999 0, 1378944.633 880812.295 0,
+ 1379224.116 880834.607 0, 1379503.598 880856.936 0, 1379783.079 880879.281 0, 1380062.558 880901.642 0, 1380342.036 880924.02 0, 1380621.513 880946.415 0, 1380900.988 880968.826 0, 1381180.463 880991.253 0, 1381459.935 881013.697 0, 1381739.407 881036.157 0,
+ 1382018.877 881058.633 0, 1382298.346 881081.127 0, 1382577.814 881103.636 0, 1382857.28 881126.162 0, 1383135.454 881148.6 0, 1383416.208 881171.263 0, 1383695.67 881193.839 0, 1383975.131 881216.431 0, 1384254.591 881239.039 0, 1384534.049 881261.664 0,
+ 1384813.506 881284.305 0, 1385092.962 881306.962 0, 1385372.416 881329.636 0, 1385651.869 881352.327 0, 1385931.32 881375.034 0, 1386210.771 881397.757 0, 1386490.219 881420.497 0, 1386769.667 881443.253 0, 1387049.113 881466.026 0, 1387328.558 881488.815 0,
+ 1387608.002 881511.621 0, 1387887.444 881534.443 0, 1388166.885 881557.281 0, 1388446.324 881580.136 0, 1388725.762 881603.008 0, 1389005.199 881625.895 0, 1389284.635 881648.8 0, 1389564.069 881671.72 0, 1389842.212 881694.552 0, 1390298.632 876136.192 0,
+ 1390755.037 870578.016 0))
+
+POLYGON ((1403253.381 882814.873 0, 1402975.301 882791.256 0, 1402695.933 882767.546 0, 1402416.563 882743.852 0, 1402137.192 882720.175 0, 1401857.82 882696.514 0, 1401578.446 882672.87 0, 1401299.071 882649.242 0, 1401019.694 882625.631 0, 1400740.316 882602.036 0,
+ 1400460.937 882578.457 0, 1400181.556 882554.895 0, 1399902.174 882531.349 0, 1399622.79 882507.82 0, 1399343.406 882484.307 0, 1399064.019 882460.811 0, 1398784.632 882437.331 0, 1398505.243 882413.868 0, 1398225.852 882390.421 0, 1397946.46 882366.99 0,
+ 1397667.067 882343.576 0, 1397387.672 882320.178 0, 1397108.276 882296.797 0, 1396828.879 882273.432 0, 1396548.192 882249.976 0, 1396270.08 882226.752 0, 1395990.679 882203.437 0, 1395711.276 882180.138 0, 1395431.872 882156.855 0, 1395152.466 882133.589 0,
+ 1394873.059 882110.339 0, 1394593.651 882087.106 0, 1394314.241 882063.889 0, 1394034.83 882040.689 0, 1393755.418 882017.505 0, 1393476.004 881994.338 0, 1393196.589 881971.187 0, 1392917.173 881948.052 0, 1392637.755 881924.934 0, 1392358.335 881901.832 0,
+ 1392078.915 881878.747 0, 1391799.493 881855.678 0, 1391520.07 881832.626 0, 1391240.645 881809.59 0, 1390961.219 881786.571 0, 1390681.792 881763.568 0, 1390402.363 881740.581 0, 1390122.933 881717.611 0, 1389842.212 881694.552 0, 1389385.777 887253.092 0,
+ 1388929.327 892811.808 0, 1389209.391 892834.814 0, 1389488.167 892857.73 0, 1389766.941 892880.663 0, 1390045.714 892903.612 0, 1390324.486 892926.577 0, 1390603.256 892949.559 0, 1390882.025 892972.558 0, 1391160.793 892995.572 0, 1391439.559 893018.604 0,
+ 1391718.324 893041.651 0, 1391997.088 893064.715 0, 1392275.85 893087.795 0, 1392554.611 893110.892 0, 1392833.37 893134.005 0, 1393112.128 893157.135 0, 1393390.885 893180.281 0, 1393669.64 893203.443 0, 1393948.394 893226.622 0, 1394227.147 893249.817 0,
+ 1394505.898 893273.029 0, 1394784.648 893296.257 0, 1395063.397 893319.502 0, 1395342.144 893342.762 0, 1395619.604 893365.932 0, 1395899.634 893389.333 0, 1396178.377 893412.643 0, 1396457.119 893435.97 0, 1396735.859 893459.313 0, 1397014.598 893482.672 0,
+ 1397293.336 893506.048 0, 1397572.072 893529.44 0, 1397850.807 893552.848 0, 1398129.54 893576.273 0, 1398408.272 893599.715 0, 1398687.003 893623.172 0, 1398965.732 893646.646 0, 1399244.46 893670.137 0, 1399523.187 893693.644 0, 1399801.912 893717.167 0,
+ 1400080.636 893740.707 0, 1400359.358 893764.263 0, 1400638.079 893787.836 0, 1400916.799 893811.425 0, 1401195.517 893835.03 0, 1401474.234 893858.652 0, 1401752.949 893882.29 0, 1402031.663 893905.945 0, 1402309.092 893929.506 0, 1402781.244 888372.102 0,
+ 1403253.381 882814.873 0))
+
+POLYGON ((1415685.645 895085 0, 1415408.282 895060.655 0, 1415129.636 895036.213 0, 1414850.989 895011.787 0, 1414572.34 894987.378 0, 1414293.689 894962.985 0, 1414015.037 894938.609 0, 1413736.384 894914.249 0, 1413457.729 894889.906 0, 1413179.073 894865.579 0,
+ 1412900.416 894841.268 0, 1412621.757 894816.974 0, 1412343.096 894792.696 0, 1412064.434 894768.434 0, 1411785.771 894744.189 0, 1411507.106 894719.961 0, 1411228.44 894695.748 0, 1410949.772 894671.552 0, 1410671.103 894647.373 0, 1410392.433 894623.21 0,
+ 1410113.761 894599.063 0, 1409835.088 894574.933 0, 1409556.413 894550.819 0, 1409277.737 894526.721 0, 1408997.776 894502.53 0, 1408720.381 894478.576 0, 1408441.7 894454.527 0, 1408163.018 894430.496 0, 1407884.335 894406.48 0, 1407605.651 894382.481 0,
+ 1407326.965 894358.498 0, 1407048.277 894334.532 0, 1406769.588 894310.582 0, 1406490.898 894286.649 0, 1406212.207 894262.732 0, 1405933.513 894238.831 0, 1405654.819 894214.947 0, 1405376.123 894191.079 0, 1405097.426 894167.228 0, 1404818.727 894143.393 0,
+ 1404540.027 894119.574 0, 1404261.326 894095.772 0, 1403982.623 894071.986 0, 1403703.918 894048.217 0, 1403425.213 894024.464 0, 1403146.506 894000.727 0, 1402867.797 893977.007 0, 1402589.087 893953.303 0, 1402309.092 893929.506 0, 1401836.925 899487.084 0,
+ 1401364.744 905044.83 0, 1401644.082 905068.57 0, 1401922.138 905092.218 0, 1402200.192 905115.883 0, 1402478.245 905139.564 0, 1402756.297 905163.261 0, 1403034.347 905186.975 0, 1403312.395 905210.705 0, 1403590.443 905234.451 0, 1403868.489 905258.214 0,
+ 1404146.533 905281.993 0, 1404424.576 905305.788 0, 1404702.618 905329.6 0, 1404980.658 905353.428 0, 1405258.697 905377.273 0, 1405536.734 905401.134 0, 1405814.771 905425.011 0, 1406092.805 905448.905 0, 1406370.838 905472.815 0, 1406648.87 905496.741 0,
+ 1406926.901 905520.684 0, 1407204.93 905544.643 0, 1407482.957 905568.618 0, 1407760.984 905592.61 0, 1408037.728 905616.508 0, 1408317.032 905640.643 0, 1408595.054 905664.684 0, 1408873.074 905688.741 0, 1409151.093 905712.815 0, 1409429.111 905736.905 0,
+ 1409707.127 905761.011 0, 1409985.142 905785.134 0, 1410263.156 905809.273 0, 1410541.168 905833.428 0, 1410819.178 905857.6 0, 1411097.188 905881.788 0, 1411375.195 905905.993 0, 1411653.202 905930.214 0, 1411931.207 905954.451 0, 1412209.21 905978.705 0,
+ 1412487.212 906002.975 0, 1412765.213 906027.261 0, 1413043.212 906051.564 0, 1413321.21 906075.883 0, 1413599.206 906100.218 0, 1413877.201 906124.57 0, 1414155.195 906148.938 0, 1414433.187 906173.323 0, 1414709.898 906197.611 0, 1415197.779 900641.222 0,
+ 1415685.645 895085 0))
+
+POLYGON ((1428051.743 907388.091 0, 1427775.098 907363.02 0, 1427497.176 907337.851 0, 1427219.253 907312.697 0, 1426941.328 907287.56 0, 1426663.401 907262.439 0, 1426385.473 907237.335 0, 1426107.544 907212.247 0, 1425829.613 907187.175 0, 1425551.681 907162.12 0,
+ 1425273.747 907137.081 0, 1424995.811 907112.058 0, 1424717.875 907087.052 0, 1424439.936 907062.062 0, 1424161.997 907037.089 0, 1423884.055 907012.132 0, 1423606.113 906987.191 0, 1423328.169 906962.266 0, 1423050.223 906937.358 0, 1422772.276 906912.467 0,
+ 1422494.327 906887.591 0, 1422216.377 906862.732 0, 1421938.426 906837.89 0, 1421660.473 906813.063 0, 1421381.241 906788.139 0, 1421104.563 906763.46 0, 1420826.605 906738.683 0, 1420548.647 906713.922 0, 1420270.686 906689.177 0, 1419992.725 906664.449 0,
+ 1419714.762 906639.737 0, 1419436.797 906615.042 0, 1419158.831 906590.363 0, 1418880.863 906565.7 0, 1418602.894 906541.054 0, 1418324.924 906516.424 0, 1418046.952 906491.811 0, 1417768.979 906467.213 0, 1417491.004 906442.632 0, 1417213.028 906418.068 0,
+ 1416935.05 906393.52 0, 1416657.071 906368.988 0, 1416379.091 906344.473 0, 1416101.109 906319.973 0, 1415823.125 906295.491 0, 1415545.14 906271.024 0, 1415267.154 906246.574 0, 1414989.166 906222.141 0, 1414709.898 906197.611 0, 1414222.003 911754.166 0,
+ 1413734.094 917310.882 0, 1414012.705 917335.353 0, 1414290.038 917359.729 0, 1414567.37 917384.122 0, 1414844.701 917408.531 0, 1415122.031 917432.956 0, 1415399.358 917457.397 0, 1415676.685 917481.855 0, 1415954.01 917506.329 0, 1416231.333 917530.819 0,
+ 1416508.656 917555.326 0, 1416785.976 917579.849 0, 1417063.296 917604.389 0, 1417340.613 917628.944 0, 1417617.93 917653.516 0, 1417895.245 917678.105 0, 1418172.558 917702.709 0, 1418449.87 917727.33 0, 1418727.181 917751.967 0, 1419004.49 917776.621 0,
+ 1419281.797 917801.291 0, 1419559.103 917825.977 0, 1419836.408 917850.68 0, 1420113.712 917875.399 0, 1420389.739 917900.02 0, 1420668.314 917924.885 0, 1420945.613 917949.653 0, 1421222.91 917974.438 0, 1421500.206 917999.238 0, 1421777.501 918024.055 0,
+ 1422054.794 918048.888 0, 1422332.085 918073.737 0, 1422609.376 918098.603 0, 1422886.664 918123.485 0, 1423163.951 918148.384 0, 1423441.237 918173.299 0, 1423718.521 918198.23 0, 1423995.804 918223.177 0, 1424273.086 918248.141 0, 1424550.366 918273.121 0,
+ 1424827.644 918298.117 0, 1425104.921 918323.13 0, 1425382.196 918348.159 0, 1425659.47 918373.204 0, 1425936.743 918398.266 0, 1426214.014 918423.344 0, 1426491.284 918448.438 0, 1426768.552 918473.548 0, 1427044.545 918498.56 0, 1427548.151 912943.245 0,
+ 1428051.743 907388.091 0))
+
+POLYGON ((1440351.587 919723.838 0, 1440075.664 919698.047 0, 1439798.468 919672.153 0, 1439521.27 919646.275 0, 1439244.071 919620.414 0, 1438966.871 919594.569 0, 1438689.668 919568.741 0, 1438412.465 919542.929 0, 1438135.26 919517.133 0, 1437858.053 919491.353 0,
+ 1437580.845 919465.59 0, 1437303.635 919439.843 0, 1437026.424 919414.112 0, 1436749.211 919388.398 0, 1436471.997 919362.7 0, 1436194.781 919337.018 0, 1435917.564 919311.353 0, 1435640.345 919285.704 0, 1435363.125 919260.071 0, 1435085.903 919234.454 0,
+ 1434808.679 919208.854 0, 1434531.455 919183.27 0, 1434254.228 919157.703 0, 1433977 919132.152 0, 1433698.499 919106.5 0, 1433422.54 919081.098 0, 1433145.308 919055.596 0, 1432868.074 919030.11 0, 1432590.839 919004.641 0, 1432313.602 918979.187 0,
+ 1432036.363 918953.75 0, 1431759.124 918928.33 0, 1431481.882 918902.925 0, 1431204.639 918877.537 0, 1430927.395 918852.166 0, 1430650.149 918826.81 0, 1430372.902 918801.471 0, 1430095.653 918776.148 0, 1429818.403 918750.842 0, 1429541.151 918725.552 0,
+ 1429263.898 918700.278 0, 1428986.643 918675.021 0, 1428709.387 918649.78 0, 1428432.129 918624.555 0, 1428154.87 918599.346 0, 1427877.609 918574.154 0, 1427600.347 918548.978 0, 1427323.083 918523.819 0, 1427044.545 918498.56 0, 1426540.924 924054.032 0,
+ 1426037.29 929609.658 0, 1426315.172 929634.857 0, 1426591.781 929659.957 0, 1426868.39 929685.073 0, 1427144.996 929710.206 0, 1427421.602 929735.355 0, 1427698.205 929760.521 0, 1427974.808 929785.702 0, 1428251.408 929810.9 0, 1428528.008 929836.114 0,
+ 1428804.606 929861.345 0, 1429081.202 929886.591 0, 1429357.797 929911.854 0, 1429634.39 929937.134 0, 1429910.982 929962.429 0, 1430187.572 929987.741 0, 1430464.161 930013.069 0, 1430740.749 930038.414 0, 1431017.335 930063.774 0, 1431293.919 930089.151 0,
+ 1431570.502 930114.544 0, 1431847.084 930139.954 0, 1432123.663 930165.38 0, 1432400.242 930190.822 0, 1432675.55 930216.163 0, 1432953.394 930241.755 0, 1433229.968 930267.246 0, 1433506.541 930292.753 0, 1433783.112 930318.276 0, 1434059.681 930343.816 0,
+ 1434336.249 930369.372 0, 1434612.816 930394.945 0, 1434889.38 930420.533 0, 1435165.944 930446.138 0, 1435442.506 930471.759 0, 1435719.066 930497.397 0, 1435995.625 930523.05 0, 1436272.183 930548.72 0, 1436548.738 930574.407 0, 1436825.293 930600.109 0,
+ 1437101.846 930625.828 0, 1437378.397 930651.563 0, 1437654.947 930677.314 0, 1437931.495 930703.082 0, 1438208.042 930728.866 0, 1438484.587 930754.666 0, 1438761.131 930780.483 0, 1439037.673 930806.315 0, 1439312.946 930832.046 0, 1439832.274 925277.865 0,
+ 1440351.587 919723.838 0))
+
+POLYGON ((1452585.095 932091.935 0, 1452309.894 932065.427 0, 1452033.426 932038.813 0, 1451756.956 932012.215 0, 1451480.485 931985.634 0, 1451204.012 931959.069 0, 1450927.538 931932.52 0, 1450651.062 931905.987 0, 1450374.584 931879.471 0, 1450098.105 931852.971 0,
+ 1449821.624 931826.487 0, 1449545.142 931800.02 0, 1449268.658 931773.569 0, 1448992.173 931747.134 0, 1448715.686 931720.715 0, 1448439.198 931694.313 0, 1448162.708 931667.927 0, 1447886.216 931641.557 0, 1447609.723 931615.203 0, 1447333.229 931588.866 0,
+ 1447056.732 931562.545 0, 1446780.235 931536.24 0, 1446503.735 931509.952 0, 1446227.235 931483.68 0, 1445949.465 931457.303 0, 1445674.228 931431.184 0, 1445397.723 931404.961 0, 1445121.216 931378.754 0, 1444844.707 931352.563 0, 1444568.197 931326.388 0,
+ 1444291.686 931300.23 0, 1444015.172 931274.088 0, 1443738.658 931247.962 0, 1443462.141 931221.853 0, 1443185.624 931195.76 0, 1442909.104 931169.683 0, 1442632.583 931143.622 0, 1442356.061 931117.578 0, 1442079.537 931091.55 0, 1441803.012 931065.538 0,
+ 1441526.485 931039.542 0, 1441249.956 931013.563 0, 1440973.426 930987.6 0, 1440696.895 930961.654 0, 1440420.361 930935.723 0, 1440143.827 930909.809 0, 1439867.291 930883.911 0, 1439590.753 930858.03 0, 1439312.946 930832.046 0, 1438793.604 936386.376 0,
+ 1438274.248 941940.851 0, 1438551.399 941966.773 0, 1438827.283 941992.594 0, 1439103.165 942018.43 0, 1439379.046 942044.283 0, 1439654.925 942070.152 0, 1439930.803 942096.038 0, 1440206.679 942121.939 0, 1440482.554 942147.857 0, 1440758.427 942173.791 0,
+ 1441034.298 942199.741 0, 1441310.169 942225.708 0, 1441586.037 942251.691 0, 1441861.904 942277.69 0, 1442137.77 942303.705 0, 1442413.634 942329.736 0, 1442689.496 942355.784 0, 1442965.357 942381.848 0, 1443241.217 942407.928 0, 1443517.074 942434.025 0,
+ 1443792.931 942460.137 0, 1444068.785 942486.266 0, 1444344.639 942512.411 0, 1444620.49 942538.573 0, 1444895.077 942564.63 0, 1445172.189 942590.944 0, 1445448.036 942617.154 0, 1445723.882 942643.38 0, 1445999.726 942669.623 0, 1446275.568 942695.882 0,
+ 1446551.409 942722.157 0, 1446827.249 942748.448 0, 1447103.086 942774.755 0, 1447378.923 942801.079 0, 1447654.757 942827.419 0, 1447930.59 942853.775 0, 1448206.422 942880.148 0, 1448482.252 942906.536 0, 1448758.081 942932.941 0, 1449033.908 942959.362 0,
+ 1449309.733 942985.8 0, 1449585.557 943012.253 0, 1449861.379 943038.723 0, 1450137.2 943065.209 0, 1450413.019 943091.711 0, 1450688.837 943118.23 0, 1450964.653 943144.765 0, 1451240.467 943171.316 0, 1451515.018 943197.761 0, 1452050.063 937644.775 0,
+ 1452585.095 932091.935 0))
+
+POLYGON ((956606.08 509488.503 0, 956306.206 509491.054 0, 956004.866 509493.634 0, 955703.527 509496.233 0, 955402.188 509498.849 0, 955100.85 509501.483 0, 954799.511 509504.134 0, 954498.173 509506.803 0, 954196.835 509509.49 0, 953895.496 509512.195 0,
+ 953594.159 509514.918 0, 953292.821 509517.658 0, 952991.483 509520.416 0, 952690.146 509523.192 0, 952388.808 509525.985 0, 952087.471 509528.796 0, 951786.134 509531.625 0, 951484.798 509534.472 0, 951183.461 509537.336 0, 950882.125 509540.218 0,
+ 950580.788 509543.118 0, 950279.452 509546.036 0, 949978.116 509548.971 0, 949676.78 509551.924 0, 949373.979 509554.909 0, 949074.109 509557.883 0, 948772.774 509560.89 0, 948471.439 509563.914 0, 948170.104 509566.955 0, 947868.77 509570.015 0,
+ 947567.435 509573.092 0, 947266.101 509576.187 0, 946964.767 509579.3 0, 946663.433 509582.43 0, 946362.099 509585.578 0, 946060.765 509588.744 0, 945759.432 509591.928 0, 945458.099 509595.129 0, 945156.766 509598.348 0, 944855.433 509601.585 0,
+ 944554.1 509604.84 0, 944252.768 509608.112 0, 943951.435 509611.402 0, 943650.103 509614.71 0, 943348.771 509618.035 0, 943047.44 509621.378 0, 942746.108 509624.739 0, 942444.777 509628.118 0, 942141.979 509631.531 0, 942204.793 515189.734 0,
+ 942267.612 520748.333 0, 942569.753 520744.927 0, 942870.43 520741.556 0, 943171.107 520738.202 0, 943471.784 520734.866 0, 943772.462 520731.548 0, 944073.14 520728.247 0, 944373.818 520724.964 0, 944674.496 520721.699 0, 944975.174 520718.452 0,
+ 945275.853 520715.222 0, 945576.531 520712.01 0, 945877.21 520708.815 0, 946177.889 520705.639 0, 946478.569 520702.48 0, 946779.248 520699.338 0, 947079.928 520696.215 0, 947380.608 520693.109 0, 947681.288 520690.021 0, 947981.968 520686.95 0,
+ 948282.648 520683.897 0, 948583.329 520680.862 0, 948884.009 520677.845 0, 949184.69 520674.845 0, 949483.909 520671.877 0, 949786.053 520668.899 0, 950086.734 520665.952 0, 950387.416 520663.023 0, 950688.098 520660.112 0, 950988.78 520657.218 0,
+ 951289.462 520654.342 0, 951590.144 520651.484 0, 951890.826 520648.644 0, 952191.509 520645.821 0, 952492.192 520643.016 0, 952792.875 520640.229 0, 953093.558 520637.459 0, 953394.241 520634.707 0, 953694.925 520631.973 0, 953995.608 520629.256 0,
+ 954296.292 520626.557 0, 954596.976 520623.876 0, 954897.66 520621.213 0, 955198.344 520618.567 0, 955499.029 520615.939 0, 955799.713 520613.328 0, 956100.398 520610.736 0, 956401.083 520608.161 0, 956700.306 520605.616 0, 956653.191 515046.861 0,
+ 956606.08 509488.503 0))
+
+POLYGON ((971133.345 520503.674 0, 970834.114 520505.373 0, 970533.423 520507.099 0, 970232.732 520508.842 0, 969932.041 520510.603 0, 969631.351 520512.382 0, 969330.66 520514.178 0, 969029.97 520515.992 0, 968729.279 520517.824 0, 968428.589 520519.673 0,
+ 968127.899 520521.54 0, 967827.209 520523.425 0, 967526.519 520525.327 0, 967225.83 520527.247 0, 966925.14 520529.185 0, 966624.45 520531.141 0, 966323.761 520533.114 0, 966023.072 520535.105 0, 965722.383 520537.114 0, 965421.694 520539.14 0,
+ 965121.005 520541.184 0, 964820.316 520543.246 0, 964519.627 520545.325 0, 964218.939 520547.423 0, 963916.79 520549.548 0, 963617.562 520551.67 0, 963316.874 520553.82 0, 963016.186 520555.988 0, 962715.498 520558.174 0, 962414.81 520560.377 0,
+ 962114.122 520562.598 0, 961813.435 520564.837 0, 961512.747 520567.093 0, 961212.06 520569.368 0, 960911.373 520571.659 0, 960610.686 520573.969 0, 960309.999 520576.296 0, 960009.312 520578.641 0, 959708.626 520581.004 0, 959407.939 520583.384 0,
+ 959107.253 520585.782 0, 958806.567 520588.198 0, 958505.881 520590.631 0, 958205.195 520593.082 0, 957904.509 520595.551 0, 957603.824 520598.038 0, 957303.138 520600.542 0, 957002.453 520603.064 0, 956700.306 520605.616 0, 956747.424 526164.763 0,
+ 956794.545 531724.3 0, 957096.034 531721.754 0, 957396.065 531719.237 0, 957696.096 531716.739 0, 957996.128 531714.257 0, 958296.159 531711.794 0, 958596.19 531709.348 0, 958896.222 531706.92 0, 959196.254 531704.51 0, 959496.286 531702.117 0,
+ 959796.318 531699.742 0, 960096.35 531697.384 0, 960396.382 531695.044 0, 960696.414 531692.722 0, 960996.447 531690.418 0, 961296.48 531688.131 0, 961596.513 531685.862 0, 961896.546 531683.61 0, 962196.579 531681.376 0, 962496.612 531679.16 0,
+ 962796.645 531676.962 0, 963096.679 531674.781 0, 963396.712 531672.618 0, 963696.746 531670.472 0, 963995.323 531668.354 0, 964296.814 531666.234 0, 964596.848 531664.141 0, 964896.882 531662.066 0, 965196.917 531660.009 0, 965496.951 531657.969 0,
+ 965796.986 531655.947 0, 966097.021 531653.943 0, 966397.055 531651.957 0, 966697.09 531649.988 0, 966997.126 531648.036 0, 967297.161 531646.103 0, 967597.196 531644.187 0, 967897.231 531642.288 0, 968197.267 531640.408 0, 968497.303 531638.545 0,
+ 968797.338 531636.699 0, 969097.374 531634.872 0, 969397.41 531633.061 0, 969697.446 531631.269 0, 969997.482 531629.494 0, 970297.519 531627.737 0, 970597.555 531625.998 0, 970897.592 531624.276 0, 971196.172 531622.58 0, 971164.757 526062.932 0,
+ 971133.345 520503.674 0))
+
+POLYGON ((985598.028 531561.548 0, 985299.442 531562.4 0, 984999.402 531563.274 0, 984699.362 531564.166 0, 984399.322 531565.076 0, 984099.282 531566.003 0, 983799.242 531566.947 0, 983499.202 531567.91 0, 983199.162 531568.89 0, 982899.123 531569.887 0,
+ 982599.083 531570.903 0, 982299.043 531571.936 0, 981999.004 531572.987 0, 981698.964 531574.055 0, 981398.925 531575.141 0, 981098.885 531576.245 0, 980798.846 531577.366 0, 980498.807 531578.505 0, 980198.767 531579.661 0, 979898.728 531580.836 0,
+ 979598.689 531582.028 0, 979298.65 531583.237 0, 978998.611 531584.465 0, 978698.573 531585.709 0, 978397.079 531586.978 0, 978098.495 531588.252 0, 977798.456 531589.55 0, 977498.418 531590.866 0, 977198.379 531592.199 0, 976898.341 531593.55 0,
+ 976598.303 531594.918 0, 976298.265 531596.305 0, 975998.226 531597.709 0, 975698.188 531599.13 0, 975398.15 531600.569 0, 975098.112 531602.026 0, 974798.075 531603.501 0, 974498.037 531604.993 0, 974197.999 531606.503 0, 973897.962 531608.03 0,
+ 973597.924 531609.575 0, 973297.887 531611.138 0, 972997.85 531612.718 0, 972697.813 531614.317 0, 972397.775 531615.932 0, 972097.739 531617.566 0, 971797.702 531619.217 0, 971497.665 531620.886 0, 971196.172 531622.58 0, 971227.588 537182.615 0,
+ 971259.007 542743.034 0, 971559.842 542741.343 0, 971859.225 542739.678 0, 972158.607 542738.031 0, 972457.99 542736.401 0, 972757.372 542734.788 0, 973056.755 542733.194 0, 973356.137 542731.617 0, 973655.52 542730.057 0, 973954.903 542728.516 0,
+ 974254.286 542726.991 0, 974553.669 542725.485 0, 974853.052 542723.996 0, 975152.436 542722.525 0, 975451.819 542721.071 0, 975751.203 542719.635 0, 976050.586 542718.217 0, 976349.97 542716.816 0, 976649.353 542715.433 0, 976948.737 542714.067 0,
+ 977248.121 542712.719 0, 977547.505 542711.389 0, 977846.889 542710.076 0, 978146.273 542708.781 0, 978444.205 542707.51 0, 978745.041 542706.244 0, 979044.426 542705.001 0, 979343.81 542703.777 0, 979643.195 542702.57 0, 979942.579 542701.381 0,
+ 980241.964 542700.209 0, 980541.348 542699.055 0, 980840.733 542697.918 0, 981140.118 542696.799 0, 981439.503 542695.698 0, 981738.888 542694.614 0, 982038.273 542693.548 0, 982337.658 542692.5 0, 982637.043 542691.469 0, 982936.428 542690.456 0,
+ 983235.813 542689.461 0, 983535.199 542688.483 0, 983834.584 542687.523 0, 984133.969 542686.58 0, 984433.355 542685.655 0, 984732.74 542684.747 0, 985032.126 542683.858 0, 985331.511 542682.985 0, 985629.446 542682.135 0, 985613.737 537121.65 0,
+ 985598.028 531561.548 0))
+
+POLYGON ((1000000 542661.835 0, 999702.062 542661.844 0, 999402.675 542661.87 0, 999103.288 542661.914 0, 998803.901 542661.976 0, 998504.514 542662.055 0, 998205.127 542662.152 0, 997905.74 542662.266 0, 997606.354 542662.398 0, 997306.967 542662.548 0,
+ 997007.58 542662.715 0, 996708.193 542662.9 0, 996408.806 542663.103 0, 996109.419 542663.323 0, 995810.033 542663.561 0, 995510.646 542663.816 0, 995211.259 542664.089 0, 994911.872 542664.38 0, 994612.486 542664.688 0, 994313.099 542665.014 0,
+ 994013.712 542665.358 0, 993714.326 542665.719 0, 993414.939 542666.098 0, 993115.552 542666.494 0, 992814.716 542666.91 0, 992516.779 542667.34 0, 992217.393 542667.789 0, 991918.006 542668.256 0, 991618.62 542668.74 0, 991319.233 542669.243 0,
+ 991019.847 542669.762 0, 990720.46 542670.3 0, 990421.074 542670.855 0, 990121.687 542671.427 0, 989822.301 542672.017 0, 989522.915 542672.625 0, 989223.529 542673.251 0, 988924.142 542673.894 0, 988624.756 542674.555 0, 988325.37 542675.233 0,
+ 988025.984 542675.929 0, 987726.598 542676.642 0, 987427.212 542677.374 0, 987127.826 542678.122 0, 986828.44 542678.889 0, 986529.054 542679.673 0, 986229.669 542680.475 0, 985930.283 542681.294 0, 985629.446 542682.135 0, 985645.157 548243.001 0,
+ 985660.868 553804.244 0, 985961.047 553803.405 0, 986259.778 553802.588 0, 986558.509 553801.788 0, 986857.241 553801.005 0, 987155.972 553800.24 0, 987454.703 553799.493 0, 987753.435 553798.764 0, 988052.166 553798.052 0, 988350.898 553797.357 0,
+ 988649.629 553796.68 0, 988948.361 553796.021 0, 989247.092 553795.379 0, 989545.824 553794.755 0, 989844.555 553794.149 0, 990143.287 553793.56 0, 990442.019 553792.989 0, 990740.75 553792.435 0, 991039.482 553791.899 0, 991338.214 553791.38 0,
+ 991636.946 553790.879 0, 991935.678 553790.395 0, 992234.41 553789.93 0, 992533.142 553789.481 0, 992830.427 553789.053 0, 993130.606 553788.638 0, 993429.338 553788.242 0, 993728.07 553787.864 0, 994026.802 553787.504 0, 994325.534 553787.161 0,
+ 994624.266 553786.836 0, 994922.998 553786.528 0, 995221.73 553786.238 0, 995520.462 553785.966 0, 995819.194 553785.711 0, 996117.926 553785.473 0, 996416.659 553785.254 0, 996715.391 553785.052 0, 997014.123 553784.867 0, 997312.855 553784.7 0,
+ 997611.587 553784.551 0, 997910.32 553784.419 0, 998209.052 553784.305 0, 998507.784 553784.208 0, 998806.516 553784.129 0, 999105.249 553784.068 0, 999403.981 553784.024 0, 999702.713 553783.998 0, 1000000 553783.989 0, 1000000 548222.723 0,
+ 1000000 542661.835 0))
+
+POLYGON ((1014339.132 553804.244 0, 1014041.844 553803.413 0, 1013743.113 553802.595 0, 1013444.381 553801.795 0, 1013145.65 553801.013 0, 1012846.919 553800.248 0, 1012548.187 553799.5 0, 1012249.456 553798.771 0, 1011950.725 553798.058 0, 1011651.993 553797.364 0,
+ 1011353.262 553796.687 0, 1011054.53 553796.027 0, 1010755.799 553795.386 0, 1010457.067 553794.761 0, 1010158.335 553794.155 0, 1009859.604 553793.565 0, 1009560.872 553792.994 0, 1009262.14 553792.44 0, 1008963.408 553791.904 0, 1008664.677 553791.385 0,
+ 1008365.945 553790.884 0, 1008067.213 553790.4 0, 1007768.481 553789.934 0, 1007469.749 553789.486 0, 1007169.573 553789.053 0, 1006872.285 553788.641 0, 1006573.553 553788.246 0, 1006274.821 553787.868 0, 1005976.089 553787.507 0, 1005677.357 553787.164 0,
+ 1005378.625 553786.839 0, 1005079.893 553786.531 0, 1004781.161 553786.241 0, 1004482.429 553785.968 0, 1004183.697 553785.713 0, 1003884.964 553785.476 0, 1003586.232 553785.256 0, 1003287.5 553785.054 0, 1002988.768 553784.869 0, 1002690.036 553784.702 0,
+ 1002391.303 553784.552 0, 1002092.571 553784.42 0, 1001793.839 553784.306 0, 1001495.107 553784.209 0, 1001196.374 553784.13 0, 1000897.642 553784.068 0, 1000598.91 553784.024 0, 1000300.178 553783.998 0, 1000000 553783.989 0, 1000000 559345.629 0,
+ 1000000 564907.64 0, 1000299.52 564907.648 0, 1000597.597 564907.675 0, 1000895.675 564907.719 0, 1001193.752 564907.78 0, 1001491.83 564907.859 0, 1001789.907 564907.956 0, 1002087.985 564908.07 0, 1002386.062 564908.202 0, 1002684.14 564908.351 0,
+ 1002982.217 564908.518 0, 1003280.295 564908.702 0, 1003578.372 564908.904 0, 1003876.45 564909.123 0, 1004174.527 564909.36 0, 1004472.605 564909.615 0, 1004770.682 564909.887 0, 1005068.76 564910.176 0, 1005366.837 564910.483 0, 1005664.914 564910.808 0,
+ 1005962.992 564911.15 0, 1006261.069 564911.51 0, 1006559.146 564911.887 0, 1006857.224 564912.282 0, 1007153.86 564912.692 0, 1007453.378 564913.124 0, 1007751.455 564913.572 0, 1008049.532 564914.037 0, 1008347.61 564914.519 0, 1008645.687 564915.019 0,
+ 1008943.764 564915.537 0, 1009241.841 564916.072 0, 1009539.918 564916.625 0, 1009837.995 564917.195 0, 1010136.072 564917.783 0, 1010434.149 564918.388 0, 1010732.226 564919.011 0, 1011030.303 564919.652 0, 1011328.379 564920.31 0, 1011626.456 564920.985 0,
+ 1011924.533 564921.678 0, 1012222.61 564922.389 0, 1012520.686 564923.117 0, 1012818.763 564923.863 0, 1013116.839 564924.626 0, 1013414.916 564925.407 0, 1013712.992 564926.205 0, 1014011.069 564927.021 0, 1014307.705 564927.851 0, 1014323.419 559365.862 0,
+ 1014339.132 553804.244 0))
+
+POLYGON ((1028615.296 564988.483 0, 1028318.661 564986.816 0, 1028020.588 564985.158 0, 1027722.515 564983.517 0, 1027424.442 564981.895 0, 1027126.369 564980.289 0, 1026828.296 564978.701 0, 1026530.222 564977.131 0, 1026232.149 564975.578 0, 1025934.075 564974.043 0,
+ 1025636.001 564972.525 0, 1025337.928 564971.025 0, 1025039.854 564969.543 0, 1024741.78 564968.078 0, 1024443.706 564966.63 0, 1024145.632 564965.2 0, 1023847.558 564963.788 0, 1023549.483 564962.393 0, 1023251.409 564961.016 0, 1022953.334 564959.656 0,
+ 1022655.26 564958.314 0, 1022357.185 564956.989 0, 1022059.111 564955.682 0, 1021761.036 564954.392 0, 1021461.522 564953.114 0, 1021164.886 564951.866 0, 1020866.811 564950.629 0, 1020568.736 564949.41 0, 1020270.661 564948.208 0, 1019972.586 564947.023 0,
+ 1019674.511 564945.857 0, 1019376.435 564944.707 0, 1019078.36 564943.576 0, 1018780.284 564942.461 0, 1018482.209 564941.365 0, 1018184.133 564940.286 0, 1017886.058 564939.224 0, 1017587.982 564938.18 0, 1017289.906 564937.154 0, 1016991.83 564936.145 0,
+ 1016693.754 564935.154 0, 1016395.678 564934.18 0, 1016097.602 564933.224 0, 1015799.526 564932.285 0, 1015501.45 564931.364 0, 1015203.374 564930.46 0, 1014905.298 564929.574 0, 1014607.222 564928.706 0, 1014307.705 564927.851 0, 1014291.991 570490.207 0,
+ 1014276.275 576052.929 0, 1014575.133 576053.782 0, 1014872.555 576054.649 0, 1015169.976 576055.533 0, 1015467.397 576056.434 0, 1015764.819 576057.353 0, 1016062.24 576058.29 0, 1016359.661 576059.244 0, 1016657.082 576060.216 0, 1016954.503 576061.205 0,
+ 1017251.924 576062.212 0, 1017549.345 576063.236 0, 1017846.766 576064.278 0, 1018144.187 576065.337 0, 1018441.608 576066.413 0, 1018739.029 576067.508 0, 1019036.449 576068.619 0, 1019333.87 576069.748 0, 1019631.291 576070.895 0, 1019928.711 576072.059 0,
+ 1020226.131 576073.241 0, 1020523.552 576074.44 0, 1020820.972 576075.657 0, 1021118.392 576076.891 0, 1021414.377 576078.137 0, 1021713.232 576079.412 0, 1022010.652 576080.699 0, 1022308.072 576082.003 0, 1022605.492 576083.325 0, 1022902.912 576084.664 0,
+ 1023200.331 576086.021 0, 1023497.751 576087.395 0, 1023795.17 576088.787 0, 1024092.59 576090.196 0, 1024390.009 576091.623 0, 1024687.428 576093.068 0, 1024984.847 576094.529 0, 1025282.267 576096.009 0, 1025579.685 576097.505 0, 1025877.104 576099.02 0,
+ 1026174.523 576100.552 0, 1026471.942 576102.101 0, 1026769.36 576103.668 0, 1027066.779 576105.252 0, 1027364.197 576106.854 0, 1027661.616 576108.473 0, 1027959.034 576110.11 0, 1028256.452 576111.765 0, 1028552.436 576113.428 0, 1028583.867 570550.773 0,
+ 1028615.296 564988.483 0))
+
+POLYGON ((1042828.369 576214.26 0, 1042532.389 576211.76 0, 1042234.976 576209.266 0, 1041937.564 576206.789 0, 1041640.151 576204.329 0, 1041342.739 576201.887 0, 1041045.326 576199.462 0, 1040747.913 576197.055 0, 1040450.5 576194.666 0, 1040153.086 576192.294 0,
+ 1039855.673 576189.939 0, 1039558.259 576187.602 0, 1039260.846 576185.282 0, 1038963.432 576182.98 0, 1038666.018 576180.696 0, 1038368.604 576178.429 0, 1038071.19 576176.179 0, 1037773.775 576173.947 0, 1037476.361 576171.733 0, 1037178.946 576169.536 0,
+ 1036881.531 576167.356 0, 1036584.117 576165.194 0, 1036286.702 576163.049 0, 1035989.286 576160.922 0, 1035690.438 576158.803 0, 1035394.456 576156.721 0, 1035097.04 576154.646 0, 1034799.625 576152.589 0, 1034502.209 576150.55 0, 1034204.793 576148.528 0,
+ 1033907.377 576146.524 0, 1033609.961 576144.537 0, 1033312.545 576142.567 0, 1033015.128 576140.615 0, 1032717.712 576138.681 0, 1032420.295 576136.764 0, 1032122.879 576134.864 0, 1031825.462 576132.982 0, 1031528.045 576131.118 0, 1031230.628 576129.271 0,
+ 1030933.211 576127.442 0, 1030635.794 576125.63 0, 1030338.376 576123.835 0, 1030040.959 576122.058 0, 1029743.541 576120.299 0, 1029446.124 576118.557 0, 1029148.706 576116.833 0, 1028851.288 576115.126 0, 1028552.436 576113.428 0, 1028521.002 581676.445 0,
+ 1028489.567 587239.82 0, 1028787.761 587241.513 0, 1029084.524 587243.217 0, 1029381.287 587244.937 0, 1029678.05 587246.675 0, 1029974.812 587248.431 0, 1030271.575 587250.204 0, 1030568.337 587251.994 0, 1030865.1 587253.802 0, 1031161.862 587255.627 0,
+ 1031458.624 587257.47 0, 1031755.386 587259.331 0, 1032052.148 587261.208 0, 1032348.91 587263.104 0, 1032645.672 587265.016 0, 1032942.433 587266.947 0, 1033239.195 587268.894 0, 1033535.956 587270.859 0, 1033832.717 587272.842 0, 1034129.478 587274.842 0,
+ 1034426.239 587276.86 0, 1034723 587278.895 0, 1035019.761 587280.947 0, 1035316.522 587283.017 0, 1035611.852 587285.094 0, 1035910.042 587287.209 0, 1036206.803 587289.332 0, 1036503.563 587291.471 0, 1036800.323 587293.629 0, 1037097.083 587295.803 0,
+ 1037393.843 587297.996 0, 1037690.602 587300.205 0, 1037987.362 587302.432 0, 1038284.121 587304.677 0, 1038580.88 587306.939 0, 1038877.639 587309.218 0, 1039174.398 587311.515 0, 1039471.157 587313.83 0, 1039767.916 587316.162 0, 1040064.674 587318.511 0,
+ 1040361.433 587320.878 0, 1040658.191 587323.262 0, 1040954.949 587325.664 0, 1041251.707 587328.084 0, 1041548.465 587330.52 0, 1041845.223 587332.974 0, 1042141.98 587335.446 0, 1042438.738 587337.935 0, 1042734.066 587340.43 0, 1042781.219 581777.166 0,
+ 1042828.369 576214.26 0))
+
+POLYGON ((1056978.224 587481.283 0, 1056682.902 587477.954 0, 1056386.153 587474.626 0, 1056089.403 587471.316 0, 1055792.654 587468.024 0, 1055495.904 587464.749 0, 1055199.154 587461.491 0, 1054902.404 587458.251 0, 1054605.653 587455.028 0, 1054308.903 587451.823 0,
+ 1054012.152 587448.635 0, 1053715.401 587445.465 0, 1053418.65 587442.312 0, 1053121.899 587439.176 0, 1052825.147 587436.058 0, 1052528.396 587432.958 0, 1052231.644 587429.875 0, 1051934.892 587426.81 0, 1051638.14 587423.761 0, 1051341.387 587420.731 0,
+ 1051044.635 587417.718 0, 1050747.882 587414.722 0, 1050451.129 587411.744 0, 1050154.376 587408.783 0, 1049856.195 587405.826 0, 1049560.869 587402.914 0, 1049264.116 587400.006 0, 1048967.362 587397.115 0, 1048670.608 587394.242 0, 1048373.854 587391.386 0,
+ 1048077.099 587388.547 0, 1047780.345 587385.726 0, 1047483.59 587382.923 0, 1047186.836 587380.137 0, 1046890.081 587377.368 0, 1046593.326 587374.617 0, 1046296.57 587371.883 0, 1045999.815 587369.167 0, 1045703.059 587366.468 0, 1045406.304 587363.787 0,
+ 1045109.548 587361.123 0, 1044812.792 587358.477 0, 1044516.035 587355.848 0, 1044219.279 587353.237 0, 1043922.523 587350.643 0, 1043625.766 587348.066 0, 1043329.009 587345.507 0, 1043032.252 587342.966 0, 1042734.066 587340.43 0, 1042686.91 592904.049 0,
+ 1042639.751 598468.02 0, 1042937.279 598470.55 0, 1043233.381 598473.086 0, 1043529.483 598475.639 0, 1043825.585 598478.21 0, 1044121.686 598480.798 0, 1044417.788 598483.404 0, 1044713.889 598486.027 0, 1045009.99 598488.668 0, 1045306.091 598491.326 0,
+ 1045602.192 598494.001 0, 1045898.293 598496.694 0, 1046194.393 598499.404 0, 1046490.493 598502.131 0, 1046786.594 598504.876 0, 1047082.694 598507.639 0, 1047378.793 598510.419 0, 1047674.893 598513.216 0, 1047970.993 598516.031 0, 1048267.092 598518.863 0,
+ 1048563.191 598521.713 0, 1048859.29 598524.58 0, 1049155.389 598527.464 0, 1049451.488 598530.366 0, 1049746.161 598533.271 0, 1050043.684 598536.222 0, 1050339.782 598539.176 0, 1050635.88 598542.148 0, 1050931.978 598545.137 0, 1051228.076 598548.144 0,
+ 1051524.173 598551.168 0, 1051820.271 598554.209 0, 1052116.368 598557.268 0, 1052412.465 598560.344 0, 1052708.561 598563.437 0, 1053004.658 598566.548 0, 1053300.754 598569.677 0, 1053596.85 598572.823 0, 1053892.946 598575.986 0, 1054189.042 598579.167 0,
+ 1054485.138 598582.365 0, 1054781.233 598585.581 0, 1055077.328 598588.814 0, 1055373.423 598592.064 0, 1055669.518 598595.332 0, 1055965.613 598598.617 0, 1056261.707 598601.92 0, 1056557.802 598605.24 0, 1056852.472 598608.562 0, 1056915.35 593044.746 0,
+ 1056978.224 587481.283 0))
+
+POLYGON ((1071064.739 598789.257 0, 1070770.077 598785.103 0, 1070473.993 598780.946 0, 1070177.91 598776.807 0, 1069881.825 598772.685 0, 1069585.741 598768.581 0, 1069289.656 598764.494 0, 1068993.571 598760.424 0, 1068697.486 598756.372 0, 1068401.401 598752.337 0,
+ 1068105.315 598748.32 0, 1067809.229 598744.32 0, 1067513.143 598740.338 0, 1067217.057 598736.373 0, 1066920.97 598732.425 0, 1066624.883 598728.495 0, 1066328.796 598724.582 0, 1066032.709 598720.687 0, 1065736.622 598716.809 0, 1065440.534 598712.949 0,
+ 1065144.446 598709.106 0, 1064848.358 598705.28 0, 1064552.269 598701.472 0, 1064256.181 598697.682 0, 1063958.67 598693.89 0, 1063664.003 598690.152 0, 1063367.914 598686.414 0, 1063071.824 598682.693 0, 1062775.734 598678.989 0, 1062479.644 598675.303 0,
+ 1062183.554 598671.635 0, 1061887.464 598667.983 0, 1061591.373 598664.349 0, 1061295.283 598660.733 0, 1060999.192 598657.134 0, 1060703.1 598653.552 0, 1060407.009 598649.988 0, 1060110.917 598646.442 0, 1059814.825 598642.912 0, 1059518.733 598639.4 0,
+ 1059222.641 598635.906 0, 1058926.549 598632.429 0, 1058630.456 598628.969 0, 1058334.363 598625.527 0, 1058038.27 598622.102 0, 1057742.177 598618.695 0, 1057446.083 598615.305 0, 1057149.99 598611.933 0, 1056852.472 598608.562 0, 1056789.59 604172.726 0,
+ 1056726.705 609737.236 0, 1057023.564 609740.599 0, 1057319.003 609743.964 0, 1057614.441 609747.347 0, 1057909.879 609750.746 0, 1058205.317 609754.163 0, 1058500.755 609757.598 0, 1058796.193 609761.05 0, 1059091.63 609764.519 0, 1059387.068 609768.006 0,
+ 1059682.505 609771.51 0, 1059977.941 609775.032 0, 1060273.378 609778.57 0, 1060568.814 609782.127 0, 1060864.251 609785.7 0, 1061159.687 609789.291 0, 1061455.122 609792.9 0, 1061750.558 609796.526 0, 1062045.993 609800.169 0, 1062341.429 609803.829 0,
+ 1062636.864 609807.507 0, 1062932.298 609811.203 0, 1063227.733 609814.916 0, 1063523.167 609818.646 0, 1063817.182 609822.375 0, 1064114.035 609826.158 0, 1064409.469 609829.941 0, 1064704.902 609833.74 0, 1065000.335 609837.557 0, 1065295.768 609841.392 0,
+ 1065591.201 609845.244 0, 1065886.633 609849.113 0, 1066182.066 609853 0, 1066477.498 609856.904 0, 1066772.929 609860.825 0, 1067068.361 609864.764 0, 1067363.792 609868.72 0, 1067659.223 609872.694 0, 1067954.654 609876.685 0, 1068250.085 609880.693 0,
+ 1068545.515 609884.719 0, 1068840.945 609888.762 0, 1069136.375 609892.822 0, 1069431.805 609896.9 0, 1069727.234 609900.996 0, 1070022.664 609905.108 0, 1070318.093 609909.239 0, 1070613.521 609913.386 0, 1070907.532 609917.531 0, 1070986.138 604353.221 0,
+ 1071064.739 598789.257 0))
+
+POLYGON ((1085087.793 610137.889 0, 1084793.793 610132.913 0, 1084498.377 610127.931 0, 1084202.961 610122.966 0, 1083907.545 610118.019 0, 1083612.128 610113.089 0, 1083316.711 610108.177 0, 1083021.294 610103.282 0, 1082725.876 610098.404 0, 1082430.459 610093.543 0,
+ 1082135.04 610088.7 0, 1081839.622 610083.875 0, 1081544.203 610079.067 0, 1081248.784 610074.276 0, 1080953.365 610069.502 0, 1080657.945 610064.746 0, 1080362.526 610060.008 0, 1080067.106 610055.286 0, 1079771.685 610050.582 0, 1079476.265 610045.896 0,
+ 1079180.844 610041.227 0, 1078885.422 610036.575 0, 1078590.001 610031.941 0, 1078294.579 610027.324 0, 1077997.74 610022.702 0, 1077703.735 610018.142 0, 1077408.312 610013.577 0, 1077112.889 610009.03 0, 1076817.466 610004.5 0, 1076522.043 609999.987 0,
+ 1076226.619 609995.492 0, 1075931.195 609991.014 0, 1075635.771 609986.554 0, 1075340.347 609982.11 0, 1075044.922 609977.685 0, 1074749.497 609973.276 0, 1074454.072 609968.886 0, 1074158.647 609964.512 0, 1073863.221 609960.156 0, 1073567.795 609955.817 0,
+ 1073272.369 609951.496 0, 1072976.942 609947.192 0, 1072681.515 609942.905 0, 1072386.089 609938.636 0, 1072090.661 609934.384 0, 1071795.234 609930.15 0, 1071499.806 609925.933 0, 1071204.378 609921.733 0, 1070907.532 609917.531 0, 1070828.921 615482.183 0,
+ 1070750.305 621047.174 0, 1071046.493 621051.367 0, 1071341.266 621055.557 0, 1071636.038 621059.765 0, 1071930.811 621063.99 0, 1072225.583 621068.232 0, 1072520.355 621072.492 0, 1072815.127 621076.769 0, 1073109.898 621081.063 0, 1073404.669 621085.375 0,
+ 1073699.44 621089.704 0, 1073994.211 621094.051 0, 1074288.981 621098.415 0, 1074583.751 621102.796 0, 1074878.521 621107.194 0, 1075173.291 621111.61 0, 1075468.06 621116.043 0, 1075762.829 621120.494 0, 1076057.598 621124.962 0, 1076352.367 621129.447 0,
+ 1076647.135 621133.95 0, 1076941.903 621138.47 0, 1077236.671 621143.007 0, 1077531.438 621147.562 0, 1077824.792 621152.112 0, 1078120.972 621156.723 0, 1078415.739 621161.33 0, 1078710.506 621165.954 0, 1079005.272 621170.595 0, 1079300.038 621175.254 0,
+ 1079594.803 621179.93 0, 1079889.569 621184.624 0, 1080184.334 621189.334 0, 1080479.098 621194.063 0, 1080773.863 621198.808 0, 1081068.627 621203.571 0, 1081363.391 621208.351 0, 1081658.155 621213.149 0, 1081952.918 621217.964 0, 1082247.681 621222.796 0,
+ 1082542.444 621227.646 0, 1082837.206 621232.513 0, 1083131.969 621237.397 0, 1083426.731 621242.299 0, 1083721.492 621247.218 0, 1084016.254 621252.154 0, 1084311.015 621257.108 0, 1084605.776 621262.079 0, 1084899.123 621267.043 0, 1084993.461 615702.296 0,
+ 1085087.793 610137.889 0))
+
+POLYGON ((1099047.264 621526.885 0, 1098753.929 621521.091 0, 1098459.184 621515.288 0, 1098164.438 621509.501 0, 1097869.692 621503.732 0, 1097574.945 621497.98 0, 1097280.198 621492.246 0, 1096985.451 621486.529 0, 1096690.703 621480.829 0, 1096395.955 621475.147 0,
+ 1096101.207 621469.482 0, 1095806.459 621463.834 0, 1095511.71 621458.204 0, 1095216.96 621452.591 0, 1094922.211 621446.995 0, 1094627.461 621441.417 0, 1094332.711 621435.856 0, 1094037.96 621430.313 0, 1093743.209 621424.786 0, 1093448.458 621419.277 0,
+ 1093153.706 621413.786 0, 1092858.955 621408.312 0, 1092564.202 621402.855 0, 1092269.45 621397.415 0, 1091973.286 621391.967 0, 1091679.944 621386.589 0, 1091385.19 621381.201 0, 1091090.437 621375.831 0, 1090795.683 621370.478 0, 1090500.928 621365.143 0,
+ 1090206.173 621359.825 0, 1089911.418 621354.524 0, 1089616.663 621349.241 0, 1089321.907 621343.975 0, 1089027.151 621338.726 0, 1088732.395 621333.495 0, 1088437.639 621328.281 0, 1088142.882 621323.084 0, 1087848.125 621317.905 0, 1087553.367 621312.743 0,
+ 1087258.609 621307.599 0, 1086963.851 621302.472 0, 1086669.093 621297.362 0, 1086374.334 621292.269 0, 1086079.575 621287.194 0, 1085784.816 621282.136 0, 1085490.056 621277.096 0, 1085195.296 621272.073 0, 1084899.123 621267.043 0, 1084804.78 626832.125 0,
+ 1084710.431 632397.54 0, 1085005.946 632402.558 0, 1085300.05 632407.57 0, 1085594.155 632412.6 0, 1085888.259 632417.646 0, 1086182.363 632422.71 0, 1086476.467 632427.791 0, 1086770.57 632432.89 0, 1087064.673 632438.006 0, 1087358.775 632443.139 0,
+ 1087652.878 632448.289 0, 1087946.98 632453.457 0, 1088241.082 632458.642 0, 1088535.183 632463.844 0, 1088829.284 632469.064 0, 1089123.385 632474.301 0, 1089417.486 632479.555 0, 1089711.586 632484.827 0, 1090005.686 632490.116 0, 1090299.786 632495.422 0,
+ 1090593.885 632500.745 0, 1090887.984 632506.086 0, 1091182.083 632511.444 0, 1091476.181 632516.82 0, 1091768.871 632522.187 0, 1092064.377 632527.623 0, 1092358.474 632533.05 0, 1092652.571 632538.495 0, 1092946.668 632543.957 0, 1093240.764 632549.436 0,
+ 1093534.86 632554.933 0, 1093828.956 632560.447 0, 1094123.052 632565.978 0, 1094417.147 632571.526 0, 1094711.242 632577.092 0, 1095005.336 632582.675 0, 1095299.43 632588.276 0, 1095593.524 632593.894 0, 1095887.618 632599.529 0, 1096181.711 632605.181 0,
+ 1096475.804 632610.851 0, 1096769.896 632616.538 0, 1097063.988 632622.242 0, 1097358.08 632627.964 0, 1097652.172 632633.703 0, 1097946.263 632639.459 0, 1098240.354 632645.233 0, 1098534.444 632651.024 0, 1098827.127 632656.804 0, 1098937.199 627091.678 0,
+ 1099047.264 621526.885 0))
+
+POLYGON ((1112943.034 632955.949 0, 1112650.367 632949.342 0, 1112356.294 632942.72 0, 1112062.22 632936.116 0, 1111768.147 632929.529 0, 1111474.073 632922.959 0, 1111179.998 632916.406 0, 1110885.923 632909.871 0, 1110591.848 632903.353 0, 1110297.772 632896.853 0,
+ 1110003.696 632890.369 0, 1109709.62 632883.903 0, 1109415.543 632877.455 0, 1109121.466 632871.023 0, 1108827.388 632864.609 0, 1108533.31 632858.213 0, 1108239.232 632851.833 0, 1107945.153 632845.471 0, 1107651.074 632839.126 0, 1107356.995 632832.799 0,
+ 1107062.915 632826.489 0, 1106768.835 632820.196 0, 1106474.754 632813.92 0, 1106180.674 632807.662 0, 1105885.186 632801.391 0, 1105592.511 632795.198 0, 1105298.429 632788.991 0, 1105004.346 632782.802 0, 1104710.264 632776.631 0, 1104416.181 632770.476 0,
+ 1104122.097 632764.339 0, 1103828.013 632758.219 0, 1103533.929 632752.117 0, 1103239.845 632746.032 0, 1102945.76 632739.964 0, 1102651.674 632733.913 0, 1102357.589 632727.88 0, 1102063.503 632721.864 0, 1101769.417 632715.866 0, 1101475.33 632709.884 0,
+ 1101181.243 632703.92 0, 1100887.156 632697.974 0, 1100593.068 632692.044 0, 1100298.98 632686.132 0, 1100004.891 632680.238 0, 1099710.803 632674.36 0, 1099416.713 632668.5 0, 1099122.624 632662.657 0, 1098827.127 632656.804 0, 1098717.049 638222.259 0,
+ 1098606.964 643788.039 0, 1098901.802 643793.88 0, 1099195.237 643799.71 0, 1099488.671 643805.557 0, 1099782.104 643811.421 0, 1100075.537 643817.303 0, 1100368.97 643823.201 0, 1100662.403 643829.118 0, 1100955.835 643835.051 0, 1101249.267 643841.002 0,
+ 1101542.699 643846.97 0, 1101836.13 643852.955 0, 1102129.56 643858.957 0, 1102422.991 643864.977 0, 1102716.421 643871.014 0, 1103009.851 643877.069 0, 1103303.28 643883.14 0, 1103596.709 643889.229 0, 1103890.138 643895.335 0, 1104183.566 643901.459 0,
+ 1104476.994 643907.599 0, 1104770.422 643913.757 0, 1105063.849 643919.932 0, 1105357.276 643926.125 0, 1105649.299 643932.305 0, 1105944.128 643938.562 0, 1106237.554 643944.806 0, 1106530.979 643951.068 0, 1106824.405 643957.346 0, 1107117.829 643963.643 0,
+ 1107411.253 643969.956 0, 1107704.677 643976.287 0, 1107998.101 643982.634 0, 1108291.524 643989 0, 1108584.947 643995.382 0, 1108878.369 644001.782 0, 1109171.791 644008.199 0, 1109465.213 644014.633 0, 1109758.634 644021.085 0, 1110052.055 644027.553 0,
+ 1110345.476 644034.04 0, 1110638.896 644040.543 0, 1110932.315 644047.063 0, 1111225.735 644053.601 0, 1111519.154 644060.157 0, 1111812.572 644066.729 0, 1112105.991 644073.319 0, 1112399.408 644079.926 0, 1112691.424 644086.518 0, 1112817.233 638521.071 0,
+ 1112943.034 632955.949 0))
+
+POLYGON ((1126774.985 644424.787 0, 1126482.987 644417.369 0, 1126189.589 644409.933 0, 1125896.19 644402.515 0, 1125602.792 644395.113 0, 1125309.392 644387.729 0, 1125015.993 644380.362 0, 1124722.592 644373.013 0, 1124429.192 644365.681 0, 1124135.791 644358.366 0,
+ 1123842.389 644351.068 0, 1123548.988 644343.787 0, 1123255.585 644336.524 0, 1122962.182 644329.278 0, 1122668.779 644322.05 0, 1122375.376 644314.838 0, 1122081.972 644307.644 0, 1121788.567 644300.467 0, 1121495.162 644293.308 0, 1121201.757 644286.165 0,
+ 1120908.351 644279.04 0, 1120614.945 644271.932 0, 1120321.539 644264.842 0, 1120028.132 644257.769 0, 1119733.324 644250.679 0, 1119441.317 644243.674 0, 1119147.909 644236.652 0, 1118854.5 644229.648 0, 1118561.091 644222.661 0, 1118267.682 644215.692 0,
+ 1117974.272 644208.739 0, 1117680.861 644201.804 0, 1117387.451 644194.886 0, 1117094.04 644187.986 0, 1116800.628 644181.103 0, 1116507.216 644174.237 0, 1116213.804 644167.388 0, 1115920.392 644160.556 0, 1115626.978 644153.742 0, 1115333.565 644146.945 0,
+ 1115040.151 644140.166 0, 1114746.737 644133.403 0, 1114453.322 644126.658 0, 1114159.907 644119.93 0, 1113866.492 644113.22 0, 1113573.076 644106.526 0, 1113279.659 644099.85 0, 1112986.243 644093.191 0, 1112691.424 644086.518 0, 1112565.608 649652.288 0,
+ 1112439.785 655218.377 0, 1112733.945 655225.035 0, 1113026.707 655231.679 0, 1113319.468 655238.34 0, 1113612.228 655245.019 0, 1113904.989 655251.714 0, 1114197.748 655258.427 0, 1114490.508 655265.157 0, 1114783.267 655271.905 0, 1115076.026 655278.669 0,
+ 1115368.784 655285.451 0, 1115661.542 655292.25 0, 1115954.299 655299.066 0, 1116247.056 655305.9 0, 1116539.813 655312.75 0, 1116832.569 655319.618 0, 1117125.325 655326.503 0, 1117418.081 655333.406 0, 1117710.836 655340.325 0, 1118003.59 655347.262 0,
+ 1118296.345 655354.216 0, 1118589.099 655361.188 0, 1118881.852 655368.176 0, 1119174.605 655375.182 0, 1119465.96 655382.171 0, 1119760.11 655389.245 0, 1120052.862 655396.302 0, 1120345.613 655403.377 0, 1120638.364 655410.469 0, 1120931.114 655417.578 0,
+ 1121223.864 655424.705 0, 1121516.614 655431.848 0, 1121809.363 655439.009 0, 1122102.112 655446.187 0, 1122394.861 655453.382 0, 1122687.609 655460.595 0, 1122980.356 655467.825 0, 1123273.103 655475.072 0, 1123565.85 655482.336 0, 1123858.596 655489.617 0,
+ 1124151.342 655496.916 0, 1124444.088 655504.232 0, 1124736.833 655511.565 0, 1125029.577 655518.916 0, 1125322.321 655526.283 0, 1125615.065 655533.668 0, 1125907.808 655541.07 0, 1126200.551 655548.489 0, 1126491.897 655555.89 0, 1126633.445 649990.179 0,
+ 1126774.985 644424.787 0))
+
+POLYGON ((1140543 655933.102 0, 1140251.674 655924.878 0, 1139958.953 655916.632 0, 1139666.232 655908.403 0, 1139373.51 655900.191 0, 1139080.788 655891.996 0, 1138788.065 655883.819 0, 1138495.342 655875.659 0, 1138202.619 655867.516 0, 1137909.895 655859.39 0,
+ 1137617.17 655851.281 0, 1137324.445 655843.19 0, 1137031.719 655835.116 0, 1136738.994 655827.059 0, 1136446.267 655819.02 0, 1136153.54 655810.997 0, 1135860.813 655802.992 0, 1135568.085 655795.004 0, 1135275.357 655787.034 0, 1134982.628 655779.08 0,
+ 1134689.899 655771.144 0, 1134397.169 655763.225 0, 1134104.439 655755.323 0, 1133811.708 655747.439 0, 1133517.582 655739.534 0, 1133226.245 655731.722 0, 1132933.513 655723.889 0, 1132640.781 655716.073 0, 1132348.048 655708.275 0, 1132055.314 655700.494 0,
+ 1131762.58 655692.73 0, 1131469.846 655684.983 0, 1131177.111 655677.254 0, 1130884.376 655669.541 0, 1130591.64 655661.846 0, 1130298.904 655654.169 0, 1130006.168 655646.508 0, 1129713.43 655638.865 0, 1129420.693 655631.239 0, 1129127.955 655623.63 0,
+ 1128835.217 655616.038 0, 1128542.478 655608.464 0, 1128249.738 655600.907 0, 1127956.999 655593.367 0, 1127664.259 655585.844 0, 1127371.518 655578.339 0, 1127078.777 655570.851 0, 1126786.035 655563.38 0, 1126491.897 655555.89 0, 1126350.341 661121.917 0,
+ 1126208.777 666688.257 0, 1126502.257 666695.729 0, 1126794.343 666703.184 0, 1127086.429 666710.655 0, 1127378.515 666718.144 0, 1127670.599 666725.65 0, 1127962.684 666733.173 0, 1128254.768 666740.713 0, 1128546.852 666748.27 0, 1128838.935 666755.845 0,
+ 1129131.018 666763.437 0, 1129423.1 666771.046 0, 1129715.182 666778.672 0, 1130007.263 666786.315 0, 1130299.344 666793.976 0, 1130591.425 666801.654 0, 1130883.505 666809.348 0, 1131175.584 666817.061 0, 1131467.663 666824.79 0, 1131759.742 666832.536 0,
+ 1132051.82 666840.3 0, 1132343.898 666848.081 0, 1132635.975 666855.879 0, 1132928.052 666863.694 0, 1133218.737 666871.49 0, 1133512.204 666879.377 0, 1133804.28 666887.243 0, 1134096.355 666895.128 0, 1134388.429 666903.029 0, 1134680.503 666910.947 0,
+ 1134972.577 666918.883 0, 1135264.65 666926.836 0, 1135556.723 666934.806 0, 1135848.795 666942.793 0, 1136140.867 666950.797 0, 1136432.938 666958.819 0, 1136725.009 666966.858 0, 1137017.079 666974.914 0, 1137309.149 666982.987 0, 1137601.218 666991.077 0,
+ 1137893.287 666999.185 0, 1138185.356 667007.309 0, 1138477.423 667015.451 0, 1138769.491 667023.61 0, 1139061.558 667031.787 0, 1139353.624 667039.98 0, 1139645.69 667048.191 0, 1139937.756 667056.419 0, 1140228.43 667064.624 0, 1140385.719 661498.707 0,
+ 1140543 655933.102 0))
+
+POLYGON ((1154246.964 667480.598 0, 1153956.312 667471.571 0, 1153664.271 667462.518 0, 1153372.229 667453.483 0, 1153080.187 667444.464 0, 1152788.144 667435.463 0, 1152496.101 667426.478 0, 1152204.057 667417.511 0, 1151912.013 667408.562 0, 1151619.968 667399.629 0,
+ 1151327.923 667390.713 0, 1151035.877 667381.815 0, 1150743.83 667372.934 0, 1150451.784 667364.07 0, 1150159.736 667355.224 0, 1149867.688 667346.394 0, 1149575.64 667337.582 0, 1149283.591 667328.787 0, 1148991.541 667320.009 0, 1148699.491 667311.248 0,
+ 1148407.441 667302.504 0, 1148115.39 667293.778 0, 1147823.338 667285.069 0, 1147531.286 667276.377 0, 1147237.844 667267.661 0, 1146947.18 667259.044 0, 1146655.127 667250.404 0, 1146363.073 667241.781 0, 1146071.018 667233.175 0, 1145778.963 667224.586 0,
+ 1145486.907 667216.014 0, 1145194.851 667207.46 0, 1144902.795 667198.922 0, 1144610.737 667190.402 0, 1144318.68 667181.899 0, 1144026.622 667173.414 0, 1143734.563 667164.945 0, 1143442.504 667156.494 0, 1143150.444 667148.06 0, 1142858.384 667139.643 0,
+ 1142566.324 667131.243 0, 1142274.262 667122.86 0, 1141982.201 667114.495 0, 1141690.139 667106.147 0, 1141398.076 667097.816 0, 1141106.013 667089.502 0, 1140813.949 667081.205 0, 1140521.885 667072.926 0, 1140228.43 667064.624 0, 1140071.132 672630.851 0,
+ 1139913.825 678197.383 0, 1140206.622 678205.666 0, 1140498.031 678213.926 0, 1140789.439 678222.204 0, 1141080.847 678230.5 0, 1141372.255 678238.812 0, 1141663.661 678247.141 0, 1141955.068 678255.488 0, 1142246.474 678263.852 0, 1142537.879 678272.233 0,
+ 1142829.284 678280.631 0, 1143120.688 678289.046 0, 1143412.092 678297.478 0, 1143703.496 678305.928 0, 1143994.899 678314.395 0, 1144286.301 678322.878 0, 1144577.703 678331.379 0, 1144869.104 678339.897 0, 1145160.505 678348.433 0, 1145451.905 678356.985 0,
+ 1145743.305 678365.555 0, 1146034.705 678374.142 0, 1146326.104 678382.745 0, 1146617.502 678391.366 0, 1146907.513 678399.964 0, 1147200.297 678408.66 0, 1147491.694 678417.332 0, 1147783.09 678426.022 0, 1148074.486 678434.729 0, 1148365.882 678443.453 0,
+ 1148657.276 678452.194 0, 1148948.671 678460.952 0, 1149240.064 678469.728 0, 1149531.458 678478.52 0, 1149822.85 678487.33 0, 1150114.243 678496.157 0, 1150405.634 678505.001 0, 1150697.025 678513.862 0, 1150988.416 678522.74 0, 1151279.806 678531.636 0,
+ 1151571.196 678540.548 0, 1151862.585 678549.478 0, 1152153.973 678558.425 0, 1152445.361 678567.389 0, 1152736.749 678576.37 0, 1153028.136 678585.368 0, 1153319.522 678594.384 0, 1153610.908 678603.417 0, 1153900.908 678612.423 0, 1154073.941 673046.358 0,
+ 1154246.964 667480.598 0))
+
+POLYGON ((1167886.763 679066.979 0, 1167596.787 679057.152 0, 1167305.428 679047.297 0, 1167014.068 679037.458 0, 1166722.708 679027.636 0, 1166431.347 679017.832 0, 1166139.985 679008.045 0, 1165848.623 678998.275 0, 1165557.26 678988.522 0, 1165265.897 678978.786 0,
+ 1164974.533 678969.067 0, 1164683.169 678959.366 0, 1164391.804 678949.681 0, 1164100.438 678940.014 0, 1163809.072 678930.364 0, 1163517.706 678920.731 0, 1163226.338 678911.116 0, 1162934.971 678901.517 0, 1162643.602 678891.935 0, 1162352.233 678882.371 0,
+ 1162060.864 678872.824 0, 1161769.494 678863.294 0, 1161478.123 678853.781 0, 1161186.752 678844.285 0, 1160893.996 678834.762 0, 1160604.008 678825.345 0, 1160312.635 678815.901 0, 1160021.262 678806.474 0, 1159729.888 678797.064 0, 1159438.513 678787.671 0,
+ 1159147.138 678778.296 0, 1158855.762 678768.937 0, 1158564.386 678759.596 0, 1158273.01 678750.272 0, 1157981.632 678740.965 0, 1157690.254 678731.675 0, 1157398.876 678722.402 0, 1157107.497 678713.146 0, 1156816.118 678703.908 0, 1156524.738 678694.687 0,
+ 1156233.357 678685.482 0, 1155941.976 678676.295 0, 1155650.595 678667.125 0, 1155359.212 678657.973 0, 1155067.83 678648.837 0, 1154776.446 678639.719 0, 1154485.063 678630.618 0, 1154193.678 678621.533 0, 1153900.908 678612.423 0, 1153727.866 684178.791 0,
+ 1153554.815 689745.457 0, 1153846.927 689754.547 0, 1154137.656 689763.611 0, 1154428.384 689772.692 0, 1154719.112 689781.789 0, 1155009.84 689790.904 0, 1155300.567 689800.037 0, 1155591.293 689809.186 0, 1155882.019 689818.352 0, 1156172.744 689827.536 0,
+ 1156463.469 689836.736 0, 1156754.193 689845.954 0, 1157044.917 689855.189 0, 1157335.64 689864.441 0, 1157626.362 689873.71 0, 1157917.084 689882.996 0, 1158207.806 689892.299 0, 1158498.527 689901.619 0, 1158789.247 689910.957 0, 1159079.967 689920.311 0,
+ 1159370.686 689929.683 0, 1159661.405 689939.072 0, 1159952.123 689948.478 0, 1160242.841 689957.901 0, 1160532.177 689967.296 0, 1160824.274 689976.798 0, 1161114.99 689986.272 0, 1161405.706 689995.764 0, 1161696.42 690005.273 0, 1161987.135 690014.798 0,
+ 1162277.848 690024.341 0, 1162568.562 690033.901 0, 1162859.274 690043.478 0, 1163149.986 690053.072 0, 1163440.698 690062.683 0, 1163731.408 690072.312 0, 1164022.119 690081.957 0, 1164312.829 690091.62 0, 1164603.538 690101.299 0, 1164894.246 690110.996 0,
+ 1165184.954 690120.71 0, 1165475.662 690130.441 0, 1165766.369 690140.189 0, 1166057.075 690149.954 0, 1166347.781 690159.737 0, 1166638.486 690169.536 0, 1166929.191 690179.353 0, 1167219.895 690189.186 0, 1167509.218 690198.99 0, 1167697.996 684632.835 0,
+ 1167886.763 679066.979 0))
+
+POLYGON ((1181462.284 690691.945 0, 1181172.987 690681.324 0, 1180882.312 690670.669 0, 1180591.636 690660.031 0, 1180300.96 690649.41 0, 1180010.283 690638.807 0, 1179719.606 690628.22 0, 1179428.927 690617.651 0, 1179138.249 690607.099 0, 1178847.569 690596.564 0,
+ 1178556.889 690586.045 0, 1178266.208 690575.545 0, 1177975.527 690565.061 0, 1177684.845 690554.594 0, 1177394.163 690544.144 0, 1177103.48 690533.712 0, 1176812.796 690523.296 0, 1176522.111 690512.898 0, 1176231.427 690502.517 0, 1175940.741 690492.153 0,
+ 1175650.055 690481.806 0, 1175359.368 690471.476 0, 1175068.681 690461.163 0, 1174777.993 690450.868 0, 1174485.925 690440.54 0, 1174196.615 690430.328 0, 1173905.925 690420.083 0, 1173615.234 690409.856 0, 1173324.543 690399.646 0, 1173033.852 690389.453 0,
+ 1172743.16 690379.277 0, 1172452.467 690369.118 0, 1172161.773 690358.977 0, 1171871.079 690348.852 0, 1171580.385 690338.745 0, 1171289.689 690328.654 0, 1170998.994 690318.581 0, 1170708.297 690308.525 0, 1170417.6 690298.486 0, 1170126.903 690288.464 0,
+ 1169836.204 690278.46 0, 1169545.506 690268.472 0, 1169254.806 690258.501 0, 1168964.106 690248.548 0, 1168673.406 690238.611 0, 1168382.705 690228.692 0, 1168092.003 690218.79 0, 1167801.301 690208.905 0, 1167509.218 690198.99 0, 1167320.431 695765.441 0,
+ 1167131.634 701332.184 0, 1167423.058 701342.076 0, 1167713.105 701351.939 0, 1168003.151 701361.819 0, 1168293.197 701371.716 0, 1168583.242 701381.63 0, 1168873.287 701391.561 0, 1169163.331 701401.509 0, 1169453.374 701411.474 0, 1169743.417 701421.456 0,
+ 1170033.46 701431.456 0, 1170323.501 701441.472 0, 1170613.543 701451.505 0, 1170903.583 701461.556 0, 1171193.623 701471.623 0, 1171483.662 701481.708 0, 1171773.701 701491.81 0, 1172063.739 701501.929 0, 1172353.777 701512.065 0, 1172643.814 701522.217 0,
+ 1172933.85 701532.387 0, 1173223.886 701542.575 0, 1173513.921 701552.779 0, 1173803.956 701563 0, 1174092.614 701573.19 0, 1174384.023 701583.494 0, 1174674.056 701593.766 0, 1174964.088 701604.055 0, 1175254.12 701614.362 0, 1175544.151 701624.686 0,
+ 1175834.181 701635.026 0, 1176124.211 701645.384 0, 1176414.24 701655.759 0, 1176704.268 701666.151 0, 1176994.296 701676.56 0, 1177284.324 701686.986 0, 1177574.35 701697.429 0, 1177864.376 701707.889 0, 1178154.402 701718.367 0, 1178444.427 701728.861 0,
+ 1178734.451 701739.372 0, 1179024.474 701749.901 0, 1179314.497 701760.446 0, 1179604.52 701771.009 0, 1179894.541 701781.589 0, 1180184.563 701792.186 0, 1180474.583 701802.799 0, 1180764.603 701813.43 0, 1181053.248 701824.028 0, 1181257.771 696257.841 0,
+ 1181462.284 690691.945 0))
+
+POLYGON ((1194973.417 702355.201 0, 1194684.801 702343.788 0, 1194394.812 702332.337 0, 1194104.823 702320.904 0, 1193814.833 702309.488 0, 1193524.842 702298.089 0, 1193234.851 702286.707 0, 1192944.859 702275.342 0, 1192654.866 702263.994 0, 1192364.873 702252.664 0,
+ 1192074.879 702241.35 0, 1191784.884 702230.053 0, 1191494.889 702218.774 0, 1191204.893 702207.511 0, 1190914.896 702196.266 0, 1190624.899 702185.038 0, 1190334.901 702173.826 0, 1190044.902 702162.632 0, 1189754.903 702151.455 0, 1189464.903 702140.295 0,
+ 1189174.902 702129.152 0, 1188884.901 702118.026 0, 1188594.899 702106.917 0, 1188304.896 702095.825 0, 1188013.52 702084.698 0, 1187724.889 702073.693 0, 1187434.885 702062.653 0, 1187144.879 702051.629 0, 1186854.874 702040.623 0, 1186564.867 702029.633 0,
+ 1186274.86 702018.661 0, 1185984.852 702007.706 0, 1185694.844 701996.768 0, 1185404.835 701985.846 0, 1185114.825 701974.942 0, 1184824.815 701964.055 0, 1184534.804 701953.186 0, 1184244.792 701942.333 0, 1183954.78 701931.497 0, 1183664.767 701920.678 0,
+ 1183374.753 701909.877 0, 1183084.739 701899.092 0, 1182794.724 701888.325 0, 1182504.709 701877.574 0, 1182214.693 701866.841 0, 1181924.676 701856.125 0, 1181634.659 701845.425 0, 1181344.641 701834.743 0, 1181053.248 701824.028 0, 1180848.714 707390.504 0,
+ 1180644.169 712957.265 0, 1180934.903 712967.956 0, 1181224.266 712978.614 0, 1181513.628 712989.289 0, 1181802.99 712999.981 0, 1182092.35 713010.69 0, 1182381.711 713021.416 0, 1182671.07 713032.159 0, 1182960.429 713042.92 0, 1183249.787 713053.697 0,
+ 1183539.145 713064.491 0, 1183828.502 713075.302 0, 1184117.858 713086.131 0, 1184407.214 713096.976 0, 1184696.569 713107.838 0, 1184985.924 713118.718 0, 1185275.277 713129.614 0, 1185564.631 713140.528 0, 1185853.983 713151.458 0, 1186143.335 713162.406 0,
+ 1186432.686 713173.37 0, 1186722.037 713184.352 0, 1187011.387 713195.35 0, 1187300.736 713206.366 0, 1187588.715 713217.346 0, 1187879.433 713228.448 0, 1188168.78 713239.515 0, 1188458.127 713250.599 0, 1188747.473 713261.7 0, 1189036.818 713272.817 0,
+ 1189326.163 713283.952 0, 1189615.507 713295.104 0, 1189904.851 713306.273 0, 1190194.193 713317.459 0, 1190483.535 713328.662 0, 1190772.877 713339.882 0, 1191062.218 713351.119 0, 1191351.558 713362.373 0, 1191640.897 713373.644 0, 1191930.236 713384.932 0,
+ 1192219.574 713396.237 0, 1192508.912 713407.559 0, 1192798.248 713418.899 0, 1193087.585 713430.255 0, 1193376.92 713441.628 0, 1193666.255 713453.018 0, 1193955.589 713464.426 0, 1194244.922 713475.85 0, 1194532.886 713487.237 0, 1194753.157 707921.076 0,
+ 1194973.417 702355.201 0))
+
+POLYGON ((1208420.051 714056.446 0, 1208132.118 714044.245 0, 1207842.818 714032.004 0, 1207553.517 714019.779 0, 1207264.216 714007.571 0, 1206974.914 713995.381 0, 1206685.611 713983.207 0, 1206396.307 713971.05 0, 1206107.003 713958.911 0, 1205817.698 713946.788 0,
+ 1205528.392 713934.683 0, 1205239.086 713922.594 0, 1204949.778 713910.523 0, 1204660.471 713898.468 0, 1204371.162 713886.431 0, 1204081.853 713874.411 0, 1203792.543 713862.407 0, 1203503.232 713850.421 0, 1203213.921 713838.452 0, 1202924.608 713826.499 0,
+ 1202635.296 713814.564 0, 1202345.982 713802.646 0, 1202056.668 713790.745 0, 1201767.353 713778.861 0, 1201476.67 713766.938 0, 1201188.721 713755.143 0, 1200899.404 713743.31 0, 1200610.086 713731.494 0, 1200320.768 713719.695 0, 1200031.449 713707.913 0,
+ 1199742.129 713696.148 0, 1199452.808 713684.401 0, 1199163.487 713672.67 0, 1198874.165 713660.956 0, 1198584.843 713649.259 0, 1198295.52 713637.579 0, 1198006.196 713625.916 0, 1197716.871 713614.271 0, 1197427.546 713602.642 0, 1197138.22 713591.03 0,
+ 1196848.893 713579.436 0, 1196559.566 713567.858 0, 1196270.238 713556.297 0, 1195980.909 713544.754 0, 1195691.579 713533.227 0, 1195402.249 713521.718 0, 1195112.919 713510.225 0, 1194823.587 713498.75 0, 1194532.886 713487.237 0, 1194312.604 719053.68 0,
+ 1194092.311 724620.401 0, 1194382.354 724631.887 0, 1194671.03 724643.337 0, 1194959.705 724654.803 0, 1195248.38 724666.287 0, 1195537.054 724677.787 0, 1195825.728 724689.305 0, 1196114.4 724700.839 0, 1196403.072 724712.39 0, 1196691.744 724723.959 0,
+ 1196980.415 724735.544 0, 1197269.085 724747.147 0, 1197557.754 724758.766 0, 1197846.423 724770.402 0, 1198135.091 724782.056 0, 1198423.758 724793.726 0, 1198712.425 724805.413 0, 1199001.091 724817.118 0, 1199289.756 724828.839 0, 1199578.42 724840.577 0,
+ 1199867.084 724852.332 0, 1200155.747 724864.105 0, 1200444.41 724875.894 0, 1200733.072 724887.7 0, 1201020.368 724899.468 0, 1201310.393 724911.364 0, 1201599.053 724923.221 0, 1201887.712 724935.095 0, 1202176.37 724946.986 0, 1202465.028 724958.895 0,
+ 1202753.685 724970.82 0, 1203042.341 724982.762 0, 1203330.996 724994.721 0, 1203619.651 725006.697 0, 1203908.305 725018.69 0, 1204196.959 725030.701 0, 1204485.611 725042.728 0, 1204774.263 725054.772 0, 1205062.914 725066.833 0, 1205351.565 725078.911 0,
+ 1205640.215 725091.006 0, 1205928.864 725103.118 0, 1206217.512 725115.247 0, 1206506.16 725127.393 0, 1206794.807 725139.556 0, 1207083.453 725151.736 0, 1207372.099 725163.933 0, 1207660.744 725176.147 0, 1207948.024 725188.32 0, 1208184.044 719622.244 0,
+ 1208420.051 714056.446 0))
+
+POLYGON ((1221802.078 725795.383 0, 1221514.83 725782.398 0, 1221226.221 725769.368 0, 1220937.611 725756.356 0, 1220649.001 725743.36 0, 1220360.389 725730.382 0, 1220071.777 725717.421 0, 1219783.164 725704.476 0, 1219494.55 725691.549 0, 1219205.936 725678.638 0,
+ 1218917.32 725665.744 0, 1218628.704 725652.868 0, 1218340.088 725640.008 0, 1218051.47 725627.166 0, 1217762.852 725614.34 0, 1217474.233 725601.532 0, 1217185.613 725588.74 0, 1216896.992 725575.965 0, 1216608.371 725563.208 0, 1216319.749 725550.467 0,
+ 1216031.126 725537.743 0, 1215742.503 725525.037 0, 1215453.878 725512.347 0, 1215165.253 725499.674 0, 1214875.265 725486.959 0, 1214588.001 725474.38 0, 1214299.374 725461.758 0, 1214010.746 725449.154 0, 1213722.117 725436.566 0, 1213433.487 725423.995 0,
+ 1213144.857 725411.441 0, 1212856.226 725398.904 0, 1212567.595 725386.385 0, 1212278.962 725373.882 0, 1211990.329 725361.396 0, 1211701.695 725348.927 0, 1211413.06 725336.475 0, 1211124.425 725324.04 0, 1210835.789 725311.623 0, 1210547.152 725299.222 0,
+ 1210258.514 725286.838 0, 1209969.876 725274.471 0, 1209681.237 725262.121 0, 1209392.597 725249.788 0, 1209103.957 725237.472 0, 1208815.316 725225.173 0, 1208526.674 725212.891 0, 1208238.031 725200.626 0, 1207948.024 725188.32 0, 1207711.993 730754.672 0,
+ 1207475.951 736321.294 0, 1207765.299 736333.572 0, 1208053.287 736345.809 0, 1208341.273 736358.063 0, 1208629.259 736370.334 0, 1208917.245 736382.622 0, 1209205.229 736394.927 0, 1209493.213 736407.249 0, 1209781.196 736419.588 0, 1210069.178 736431.943 0,
+ 1210357.16 736444.316 0, 1210645.141 736456.706 0, 1210933.121 736469.112 0, 1211221.1 736481.536 0, 1211509.079 736493.976 0, 1211797.057 736506.434 0, 1212085.034 736518.908 0, 1212373.011 736531.4 0, 1212660.986 736543.908 0, 1212948.961 736556.433 0,
+ 1213236.936 736568.976 0, 1213524.909 736581.535 0, 1213812.882 736594.111 0, 1214100.854 736606.704 0, 1214387.466 736619.254 0, 1214676.796 736631.941 0, 1214964.766 736644.585 0, 1215252.735 736657.246 0, 1215540.703 736669.924 0, 1215828.671 736682.618 0,
+ 1216116.637 736695.33 0, 1216404.604 736708.059 0, 1216692.569 736720.804 0, 1216980.534 736733.567 0, 1217268.497 736746.346 0, 1217556.46 736759.143 0, 1217844.423 736771.956 0, 1218132.384 736784.787 0, 1218420.345 736797.634 0, 1218708.305 736810.498 0,
+ 1218996.265 736823.38 0, 1219284.223 736836.278 0, 1219572.181 736849.193 0, 1219860.138 736862.125 0, 1220148.094 736875.074 0, 1220436.05 736888.04 0, 1220724.004 736901.023 0, 1221011.958 736914.023 0, 1221298.554 736926.978 0, 1221550.322 731361.045 0,
+ 1221802.078 725795.383 0))
+
+POLYGON ((1235119.39 737571.711 0, 1234832.83 737557.946 0, 1234544.914 737544.132 0, 1234256.997 737530.336 0, 1233969.079 737516.557 0, 1233681.161 737502.794 0, 1233393.242 737489.049 0, 1233105.321 737475.32 0, 1232817.4 737461.608 0, 1232529.479 737447.914 0,
+ 1232241.556 737434.236 0, 1231953.633 737420.575 0, 1231665.709 737406.931 0, 1231377.784 737393.304 0, 1231089.858 737379.694 0, 1230801.931 737366.101 0, 1230514.004 737352.525 0, 1230226.076 737338.966 0, 1229938.147 737325.424 0, 1229650.217 737311.899 0,
+ 1229362.286 737298.391 0, 1229074.355 737284.899 0, 1228786.423 737271.425 0, 1228498.49 737257.967 0, 1228209.2 737244.464 0, 1227922.622 737231.103 0, 1227634.686 737217.697 0, 1227346.75 737204.307 0, 1227058.813 737190.934 0, 1226770.876 737177.579 0,
+ 1226482.937 737164.24 0, 1226194.998 737150.918 0, 1225907.058 737137.613 0, 1225619.117 737124.325 0, 1225331.175 737111.054 0, 1225043.233 737097.8 0, 1224755.29 737084.563 0, 1224467.346 737071.343 0, 1224179.401 737058.139 0, 1223891.456 737044.953 0,
+ 1223603.509 737031.784 0, 1223315.562 737018.631 0, 1223027.615 737005.496 0, 1222739.666 736992.378 0, 1222451.717 736979.276 0, 1222163.767 736966.191 0, 1221875.816 736953.124 0, 1221587.864 736940.073 0, 1221298.554 736926.978 0, 1221046.773 742493.179 0,
+ 1220794.981 748059.644 0, 1221083.633 748072.71 0, 1221370.93 748085.731 0, 1221658.225 748098.769 0, 1221945.52 748111.823 0, 1222232.814 748124.895 0, 1222520.108 748137.984 0, 1222807.4 748151.089 0, 1223094.692 748164.212 0, 1223381.983 748177.351 0,
+ 1223669.273 748190.507 0, 1223956.563 748203.681 0, 1224243.851 748216.871 0, 1224531.139 748230.078 0, 1224818.427 748243.302 0, 1225105.713 748256.542 0, 1225392.999 748269.8 0, 1225680.283 748283.075 0, 1225967.567 748296.366 0, 1226254.851 748309.675 0,
+ 1226542.133 748323 0, 1226829.415 748336.342 0, 1227116.696 748349.702 0, 1227403.976 748363.078 0, 1227689.902 748376.407 0, 1227978.534 748389.881 0, 1228265.811 748403.307 0, 1228553.088 748416.751 0, 1228840.365 748430.212 0, 1229127.64 748443.689 0,
+ 1229414.915 748457.184 0, 1229702.188 748470.695 0, 1229989.461 748484.223 0, 1230276.733 748497.769 0, 1230564.005 748511.331 0, 1230851.275 748524.91 0, 1231138.545 748538.505 0, 1231425.814 748552.118 0, 1231713.082 748565.748 0, 1232000.35 748579.395 0,
+ 1232287.616 748593.058 0, 1232574.882 748606.739 0, 1232862.147 748620.436 0, 1233149.411 748634.15 0, 1233436.675 748647.881 0, 1233723.937 748661.629 0, 1234011.199 748675.394 0, 1234298.46 748689.176 0, 1234584.368 748702.91 0, 1234851.885 743137.178 0,
+ 1235119.39 737571.711 0))
+
+POLYGON ((1248371.882 749385.131 0, 1248086.012 749370.589 0, 1247798.791 749355.996 0, 1247511.569 749341.419 0, 1247224.347 749326.86 0, 1246937.123 749312.317 0, 1246649.899 749297.791 0, 1246362.674 749283.283 0, 1246075.448 749268.791 0, 1245788.221 749254.316 0,
+ 1245500.993 749239.857 0, 1245213.765 749225.416 0, 1244926.535 749210.992 0, 1244639.305 749196.584 0, 1244352.074 749182.194 0, 1244064.842 749167.82 0, 1243777.609 749153.464 0, 1243490.376 749139.124 0, 1243203.141 749124.801 0, 1242915.906 749110.495 0,
+ 1242628.67 749096.206 0, 1242341.433 749081.934 0, 1242054.195 749067.678 0, 1241766.956 749053.44 0, 1241478.366 749039.152 0, 1241192.477 749025.014 0, 1240905.235 749010.826 0, 1240617.993 748996.655 0, 1240330.751 748982.502 0, 1240043.507 748968.365 0,
+ 1239756.262 748954.245 0, 1239469.017 748940.141 0, 1239181.771 748926.055 0, 1238894.524 748911.986 0, 1238607.276 748897.934 0, 1238320.027 748883.898 0, 1238032.778 748869.879 0, 1237745.528 748855.878 0, 1237458.276 748841.893 0, 1237171.024 748827.925 0,
+ 1236883.772 748813.974 0, 1236596.518 748800.04 0, 1236309.264 748786.123 0, 1236022.008 748772.223 0, 1235734.752 748758.339 0, 1235447.496 748744.473 0, 1235160.238 748730.623 0, 1234872.979 748716.791 0, 1234584.368 748702.91 0, 1234316.838 754268.903 0,
+ 1234049.295 759835.152 0, 1234337.249 759849.001 0, 1234623.852 759862.802 0, 1234910.454 759876.62 0, 1235197.056 759890.455 0, 1235483.657 759904.307 0, 1235770.257 759918.175 0, 1236056.856 759932.061 0, 1236343.454 759945.963 0, 1236630.052 759959.882 0,
+ 1236916.649 759973.818 0, 1237203.245 759987.771 0, 1237489.84 760001.741 0, 1237776.434 760015.727 0, 1238063.028 760029.731 0, 1238349.62 760043.751 0, 1238636.212 760057.788 0, 1238922.803 760071.842 0, 1239209.393 760085.913 0, 1239495.982 760100.001 0,
+ 1239782.571 760114.106 0, 1240069.159 760128.227 0, 1240355.745 760142.366 0, 1240642.331 760156.521 0, 1240927.569 760170.627 0, 1241215.501 760184.882 0, 1241502.084 760199.088 0, 1241788.667 760213.311 0, 1242075.249 760227.551 0, 1242361.83 760241.807 0,
+ 1242648.41 760256.081 0, 1242934.989 760270.371 0, 1243221.568 760284.678 0, 1243508.145 760299.002 0, 1243794.722 760313.343 0, 1244081.298 760327.7 0, 1244367.873 760342.075 0, 1244654.447 760356.466 0, 1244941.021 760370.875 0, 1245227.593 760385.3 0,
+ 1245514.165 760399.742 0, 1245800.736 760414.201 0, 1246087.306 760428.677 0, 1246373.875 760443.169 0, 1246660.443 760457.679 0, 1246947.011 760472.205 0, 1247233.577 760486.748 0, 1247520.143 760501.309 0, 1247805.361 760515.817 0, 1248088.628 754950.345 0,
+ 1248371.882 749385.131 0))
+
+POLYGON ((1261559.449 761235.342 0, 1261274.271 761220.028 0, 1260987.747 761204.658 0, 1260701.223 761189.306 0, 1260414.698 761173.97 0, 1260128.172 761158.651 0, 1259841.645 761143.348 0, 1259555.117 761128.063 0, 1259268.588 761112.795 0, 1258982.058 761097.543 0,
+ 1258695.527 761082.308 0, 1258408.996 761067.09 0, 1258122.463 761051.889 0, 1257835.93 761036.705 0, 1257549.396 761021.538 0, 1257262.861 761006.388 0, 1256976.325 760991.254 0, 1256689.788 760976.137 0, 1256403.25 760961.038 0, 1256116.711 760945.955 0,
+ 1255830.172 760930.889 0, 1255543.631 760915.839 0, 1255257.09 760900.807 0, 1254970.548 760885.791 0, 1254682.659 760870.722 0, 1254397.461 760855.811 0, 1254110.916 760840.846 0, 1253824.37 760825.898 0, 1253537.823 760810.967 0, 1253251.276 760796.053 0,
+ 1252964.728 760781.155 0, 1252678.178 760766.275 0, 1252391.628 760751.411 0, 1252105.077 760736.564 0, 1251818.525 760721.734 0, 1251531.973 760706.921 0, 1251245.419 760692.125 0, 1250958.864 760677.345 0, 1250672.309 760662.583 0, 1250385.753 760647.837 0,
+ 1250099.196 760633.109 0, 1249812.638 760618.397 0, 1249526.079 760603.702 0, 1249239.519 760589.023 0, 1248952.959 760574.362 0, 1248666.397 760559.718 0, 1248379.835 760545.09 0, 1248093.272 760530.479 0, 1247805.361 760515.817 0, 1247522.081 766081.542 0,
+ 1247238.788 771647.518 0, 1247526.041 771662.146 0, 1247811.949 771676.724 0, 1248097.856 771691.318 0, 1248383.762 771705.929 0, 1248669.668 771720.557 0, 1248955.572 771735.201 0, 1249241.476 771749.863 0, 1249527.379 771764.541 0, 1249813.281 771779.236 0,
+ 1250099.182 771793.948 0, 1250385.082 771808.677 0, 1250670.981 771823.422 0, 1250956.88 771838.185 0, 1251242.777 771852.964 0, 1251528.674 771867.76 0, 1251814.57 771882.573 0, 1252100.465 771897.403 0, 1252386.359 771912.249 0, 1252672.252 771927.113 0,
+ 1252958.144 771941.993 0, 1253244.036 771956.89 0, 1253529.927 771971.804 0, 1253815.816 771986.734 0, 1254100.362 772001.612 0, 1254387.593 772016.646 0, 1254673.48 772031.627 0, 1254959.366 772046.625 0, 1255245.252 772061.64 0, 1255531.136 772076.672 0,
+ 1255817.02 772091.72 0, 1256102.902 772106.785 0, 1256388.784 772121.868 0, 1256674.665 772136.967 0, 1256960.545 772152.082 0, 1257246.424 772167.215 0, 1257532.302 772182.364 0, 1257818.18 772197.531 0, 1258104.056 772212.714 0, 1258389.931 772227.914 0,
+ 1258675.806 772243.13 0, 1258961.68 772258.364 0, 1259247.553 772273.614 0, 1259533.425 772288.881 0, 1259819.296 772304.166 0, 1260105.166 772319.466 0, 1260391.035 772334.784 0, 1260676.903 772350.119 0, 1260961.429 772365.398 0, 1261260.446 766800.245 0,
+ 1261559.449 761235.342 0))
+
+POLYGON ((1274681.988 773122.044 0, 1274397.504 773105.961 0, 1274111.68 773089.819 0, 1273825.855 773073.694 0, 1273540.029 773057.585 0, 1273254.202 773041.494 0, 1272968.375 773025.419 0, 1272682.546 773009.361 0, 1272396.717 772993.32 0, 1272110.886 772977.295 0,
+ 1271825.055 772961.288 0, 1271539.222 772945.297 0, 1271253.389 772929.323 0, 1270967.555 772913.366 0, 1270681.719 772897.426 0, 1270395.883 772881.503 0, 1270110.046 772865.596 0, 1269824.208 772849.707 0, 1269538.369 772833.834 0, 1269252.529 772817.978 0,
+ 1268966.688 772802.138 0, 1268680.847 772786.316 0, 1268395.004 772770.51 0, 1268109.16 772754.722 0, 1267821.976 772738.876 0, 1267537.47 772723.194 0, 1267251.624 772707.456 0, 1266965.777 772691.735 0, 1266679.928 772676.03 0, 1266394.079 772660.342 0,
+ 1266108.229 772644.671 0, 1265822.378 772629.017 0, 1265536.526 772613.38 0, 1265250.673 772597.759 0, 1264964.82 772582.155 0, 1264678.965 772566.568 0, 1264393.109 772550.998 0, 1264107.253 772535.445 0, 1263821.395 772519.909 0, 1263535.537 772504.389 0,
+ 1263249.678 772488.886 0, 1262963.818 772473.4 0, 1262677.956 772457.931 0, 1262392.094 772442.479 0, 1262106.232 772427.044 0, 1261820.368 772411.625 0, 1261534.503 772396.223 0, 1261248.637 772380.838 0, 1260961.429 772365.398 0, 1260662.4 777930.797 0,
+ 1260363.357 783496.439 0, 1260649.907 783511.844 0, 1260935.117 783527.194 0, 1261220.327 783542.56 0, 1261505.536 783557.944 0, 1261790.743 783573.344 0, 1262075.95 783588.761 0, 1262361.156 783604.194 0, 1262646.361 783619.645 0, 1262931.565 783635.112 0,
+ 1263216.769 783650.596 0, 1263501.971 783666.097 0, 1263787.172 783681.614 0, 1264072.373 783697.149 0, 1264357.572 783712.7 0, 1264642.771 783728.268 0, 1264927.969 783743.853 0, 1265213.166 783759.454 0, 1265498.361 783775.073 0, 1265783.556 783790.708 0,
+ 1266068.75 783806.36 0, 1266353.944 783822.028 0, 1266639.136 783837.714 0, 1266924.327 783853.416 0, 1267208.18 783869.061 0, 1267494.707 783884.871 0, 1267779.895 783900.623 0, 1268065.083 783916.393 0, 1268350.27 783932.179 0, 1268635.455 783947.982 0,
+ 1268920.64 783963.802 0, 1269205.824 783979.638 0, 1269491.007 783995.491 0, 1269776.189 784011.362 0, 1270061.37 784027.248 0, 1270346.55 784043.152 0, 1270631.729 784059.073 0, 1270916.908 784075.01 0, 1271202.085 784090.964 0, 1271487.261 784106.935 0,
+ 1271772.437 784122.922 0, 1272057.611 784138.927 0, 1272342.785 784154.948 0, 1272627.957 784170.986 0, 1272913.129 784187.04 0, 1273198.3 784203.112 0, 1273483.47 784219.2 0, 1273768.638 784235.305 0, 1274052.47 784251.352 0, 1274367.236 778686.576 0,
+ 1274681.988 773122.044 0))
+
+POLYGON ((1287739.396 785044.935 0, 1287455.609 785028.087 0, 1287170.486 785011.176 0, 1286885.363 784994.282 0, 1286600.239 784977.405 0, 1286315.114 784960.545 0, 1286029.988 784943.701 0, 1285744.861 784926.875 0, 1285459.732 784910.065 0, 1285174.603 784893.271 0,
+ 1284889.473 784876.495 0, 1284604.342 784859.735 0, 1284319.21 784842.992 0, 1284034.077 784826.266 0, 1283748.943 784809.557 0, 1283463.808 784792.865 0, 1283178.672 784776.189 0, 1282893.535 784759.53 0, 1282608.397 784742.888 0, 1282323.258 784726.262 0,
+ 1282038.118 784709.654 0, 1281752.977 784693.062 0, 1281467.835 784676.487 0, 1281182.692 784659.929 0, 1280896.214 784643.31 0, 1280612.403 784626.863 0, 1280327.258 784610.355 0, 1280042.111 784593.864 0, 1279756.963 784577.389 0, 1279471.814 784560.932 0,
+ 1279186.665 784544.491 0, 1278901.514 784528.067 0, 1278616.363 784511.66 0, 1278331.21 784495.269 0, 1278046.056 784478.896 0, 1277760.902 784462.539 0, 1277475.747 784446.199 0, 1277190.59 784429.876 0, 1276905.433 784413.569 0, 1276620.274 784397.279 0,
+ 1276335.115 784381.006 0, 1276049.955 784364.75 0, 1275764.794 784348.511 0, 1275479.631 784332.288 0, 1275194.468 784316.083 0, 1274909.304 784299.894 0, 1274624.139 784283.721 0, 1274338.973 784267.566 0, 1274052.47 784251.352 0, 1273737.691 789816.366 0,
+ 1273422.899 795381.616 0, 1273708.744 795397.793 0, 1273993.255 795413.912 0, 1274277.765 795430.047 0, 1274562.274 795446.199 0, 1274846.782 795462.367 0, 1275131.289 795478.552 0, 1275415.795 795494.754 0, 1275700.3 795510.973 0, 1275984.804 795527.209 0,
+ 1276269.307 795543.461 0, 1276553.81 795559.73 0, 1276838.311 795576.016 0, 1277122.811 795592.318 0, 1277407.311 795608.638 0, 1277691.809 795624.974 0, 1277976.307 795641.326 0, 1278260.803 795657.696 0, 1278545.299 795674.082 0, 1278829.794 795690.485 0,
+ 1279114.287 795706.905 0, 1279398.78 795723.341 0, 1279683.272 795739.795 0, 1279967.762 795756.265 0, 1280250.92 795772.674 0, 1280536.741 795789.255 0, 1280821.229 795805.775 0, 1281105.715 795822.312 0, 1281390.201 795838.866 0, 1281674.686 795855.436 0,
+ 1281959.17 795872.023 0, 1282243.653 795888.627 0, 1282528.135 795905.248 0, 1282812.616 795921.885 0, 1283097.096 795938.54 0, 1283381.575 795955.21 0, 1283666.053 795971.898 0, 1283950.53 795988.602 0, 1284235.006 796005.324 0, 1284519.481 796022.061 0,
+ 1284803.956 796038.816 0, 1285088.429 796055.587 0, 1285372.901 796072.376 0, 1285657.372 796089.18 0, 1285941.842 796106.002 0, 1286226.311 796122.84 0, 1286510.78 796139.695 0, 1286795.247 796156.567 0, 1287078.382 796173.377 0, 1287408.896 790609.038 0,
+ 1287739.396 785044.935 0))
+
+POLYGON ((1300731.574 797003.713 0, 1300448.485 796986.104 0, 1300164.067 796968.428 0, 1299879.647 796950.77 0, 1299595.227 796933.128 0, 1299310.805 796915.503 0, 1299026.383 796897.894 0, 1298741.959 796880.302 0, 1298457.535 796862.727 0, 1298173.109 796845.169 0,
+ 1297888.682 796827.628 0, 1297604.255 796810.103 0, 1297319.826 796792.595 0, 1297035.396 796775.104 0, 1296750.965 796757.629 0, 1296466.533 796740.171 0, 1296182.101 796722.73 0, 1295897.667 796705.306 0, 1295613.232 796687.898 0, 1295328.796 796670.507 0,
+ 1295044.359 796653.133 0, 1294759.921 796635.776 0, 1294475.482 796618.435 0, 1294191.042 796601.111 0, 1293905.272 796583.723 0, 1293622.159 796566.514 0, 1293337.716 796549.24 0, 1293053.272 796531.983 0, 1292768.827 796514.743 0, 1292484.38 796497.52 0,
+ 1292199.933 796480.313 0, 1291915.485 796463.123 0, 1291631.036 796445.95 0, 1291346.586 796428.794 0, 1291062.135 796411.654 0, 1290777.683 796394.531 0, 1290493.229 796377.425 0, 1290208.775 796360.335 0, 1289924.32 796343.262 0, 1289639.864 796326.206 0,
+ 1289355.407 796309.167 0, 1289070.948 796292.145 0, 1288786.489 796275.139 0, 1288502.029 796258.15 0, 1288217.568 796241.178 0, 1287933.106 796224.222 0, 1287648.642 796207.283 0, 1287364.178 796190.361 0, 1287078.382 796173.377 0, 1286747.855 801737.948 0,
+ 1286417.313 807302.747 0, 1286702.451 807319.692 0, 1286986.26 807336.575 0, 1287270.068 807353.475 0, 1287553.875 807370.392 0, 1287837.682 807387.325 0, 1288121.487 807404.275 0, 1288405.291 807421.241 0, 1288689.094 807438.225 0, 1288972.896 807455.225 0,
+ 1289256.698 807472.241 0, 1289540.498 807489.275 0, 1289824.297 807506.325 0, 1290108.095 807523.392 0, 1290391.892 807540.475 0, 1290675.688 807557.575 0, 1290959.483 807574.692 0, 1291243.278 807591.826 0, 1291527.071 807608.976 0, 1291810.863 807626.143 0,
+ 1292094.654 807643.327 0, 1292378.444 807660.528 0, 1292662.233 807677.745 0, 1292946.021 807694.979 0, 1293228.482 807712.149 0, 1293513.594 807729.497 0, 1293797.379 807746.781 0, 1294081.163 807764.081 0, 1294364.946 807781.399 0, 1294648.728 807798.733 0,
+ 1294932.509 807816.083 0, 1295216.289 807833.451 0, 1295500.068 807850.835 0, 1295783.846 807868.236 0, 1296067.623 807885.654 0, 1296351.399 807903.088 0, 1296635.173 807920.539 0, 1296918.947 807938.007 0, 1297202.72 807955.491 0, 1297486.492 807972.992 0,
+ 1297770.262 807990.51 0, 1298054.032 808008.045 0, 1298337.801 808025.596 0, 1298621.568 808043.164 0, 1298905.335 808060.748 0, 1299189.1 808078.35 0, 1299472.865 808095.968 0, 1299756.628 808113.602 0, 1300039.066 808131.171 0, 1300385.327 802567.328 0,
+ 1300731.574 797003.713 0))
+
+POLYGON ((1313658.423 808998.076 0, 1313376.034 808979.709 0, 1313092.322 808961.273 0, 1312808.608 808942.853 0, 1312524.893 808924.451 0, 1312241.178 808906.064 0, 1311957.461 808887.695 0, 1311673.743 808869.342 0, 1311390.024 808851.006 0, 1311106.304 808832.686 0,
+ 1310822.583 808814.384 0, 1310538.861 808796.097 0, 1310255.137 808777.828 0, 1309971.413 808759.575 0, 1309687.687 808741.34 0, 1309403.961 808723.12 0, 1309120.233 808704.918 0, 1308836.505 808686.732 0, 1308552.775 808668.563 0, 1308269.044 808650.41 0,
+ 1307985.312 808632.275 0, 1307701.579 808614.155 0, 1307417.845 808596.053 0, 1307134.11 808577.967 0, 1306849.05 808559.814 0, 1306566.637 808541.846 0, 1306282.899 808523.811 0, 1305999.159 808505.792 0, 1305715.419 808487.79 0, 1305431.678 808469.804 0,
+ 1305147.935 808451.835 0, 1304864.192 808433.883 0, 1304580.447 808415.948 0, 1304296.701 808398.029 0, 1304012.955 808380.127 0, 1303729.207 808362.242 0, 1303445.458 808344.374 0, 1303161.708 808326.522 0, 1302877.957 808308.687 0, 1302594.205 808290.868 0,
+ 1302310.452 808273.067 0, 1302026.698 808255.281 0, 1301742.943 808237.513 0, 1301459.187 808219.761 0, 1301175.43 808202.027 0, 1300891.672 808184.308 0, 1300607.912 808166.607 0, 1300324.152 808148.922 0, 1300039.066 808131.171 0, 1299692.79 813695.239 0,
+ 1299346.501 819259.529 0, 1299630.929 819277.238 0, 1299914.034 819294.882 0, 1300197.139 819312.543 0, 1300480.242 819330.22 0, 1300763.344 819347.914 0, 1301046.445 819365.625 0, 1301329.546 819383.352 0, 1301612.645 819401.096 0, 1301895.743 819418.857 0,
+ 1302178.84 819436.634 0, 1302461.936 819454.428 0, 1302745.031 819472.239 0, 1303028.124 819490.066 0, 1303311.217 819507.91 0, 1303594.309 819525.771 0, 1303877.4 819543.648 0, 1304160.489 819561.542 0, 1304443.578 819579.453 0, 1304726.665 819597.38 0,
+ 1305009.752 819615.324 0, 1305292.837 819633.285 0, 1305575.922 819651.262 0, 1305859.005 819669.256 0, 1306140.767 819687.182 0, 1306425.168 819705.294 0, 1306708.249 819723.337 0, 1306991.328 819741.398 0, 1307274.406 819759.475 0, 1307557.483 819777.569 0,
+ 1307840.558 819795.68 0, 1308123.633 819813.807 0, 1308406.707 819831.951 0, 1308689.78 819850.111 0, 1308972.851 819868.288 0, 1309255.922 819886.482 0, 1309538.991 819904.693 0, 1309822.06 819922.92 0, 1310105.127 819941.164 0, 1310388.193 819959.424 0,
+ 1310671.258 819977.702 0, 1310954.322 819995.995 0, 1311237.385 820014.306 0, 1311520.447 820032.633 0, 1311803.508 820050.977 0, 1312086.568 820069.337 0, 1312369.627 820087.714 0, 1312652.684 820106.108 0, 1312934.421 820124.433 0, 1313296.429 814561.144 0,
+ 1313658.423 808998.076 0))
+
+POLYGON ((1326519.844 821027.722 0, 1326238.158 821008.601 0, 1325955.153 820989.408 0, 1325672.148 820970.231 0, 1325389.141 820951.071 0, 1325106.133 820931.927 0, 1324823.124 820912.801 0, 1324540.114 820893.691 0, 1324257.102 820874.597 0, 1323974.09 820855.52 0,
+ 1323691.077 820836.46 0, 1323408.062 820817.417 0, 1323125.046 820798.39 0, 1322842.029 820779.38 0, 1322559.011 820760.386 0, 1322275.992 820741.409 0, 1321992.972 820722.449 0, 1321709.951 820703.506 0, 1321426.928 820684.579 0, 1321143.905 820665.668 0,
+ 1320860.88 820646.775 0, 1320577.854 820627.898 0, 1320294.827 820609.038 0, 1320011.799 820590.194 0, 1319727.452 820571.28 0, 1319445.74 820552.557 0, 1319162.708 820533.763 0, 1318879.676 820514.986 0, 1318596.642 820496.226 0, 1318313.608 820477.482 0,
+ 1318030.572 820458.755 0, 1317747.535 820440.045 0, 1317464.497 820421.352 0, 1317181.458 820402.675 0, 1316898.418 820384.014 0, 1316615.377 820365.37 0, 1316332.334 820346.743 0, 1316049.291 820328.133 0, 1315766.246 820309.539 0, 1315483.201 820290.962 0,
+ 1315200.154 820272.402 0, 1314917.106 820253.858 0, 1314634.057 820235.331 0, 1314351.007 820216.821 0, 1314067.956 820198.327 0, 1313784.904 820179.85 0, 1313501.851 820161.39 0, 1313218.796 820142.946 0, 1312934.421 820124.433 0, 1312572.399 825687.939 0,
+ 1312210.363 831251.659 0, 1312494.08 831270.129 0, 1312776.479 831288.53 0, 1313058.878 831306.948 0, 1313341.275 831325.382 0, 1313623.671 831343.833 0, 1313906.066 831362.301 0, 1314188.46 831380.785 0, 1314470.853 831399.286 0, 1314753.245 831417.803 0,
+ 1315035.636 831436.338 0, 1315318.026 831454.888 0, 1315600.414 831473.455 0, 1315882.802 831492.039 0, 1316165.188 831510.64 0, 1316447.573 831529.257 0, 1316729.957 831547.891 0, 1317012.34 831566.541 0, 1317294.722 831585.208 0, 1317577.103 831603.892 0,
+ 1317859.483 831622.592 0, 1318141.862 831641.309 0, 1318424.239 831660.043 0, 1318706.616 831678.793 0, 1318987.676 831697.472 0, 1319271.365 831716.343 0, 1319553.739 831735.143 0, 1319836.111 831753.959 0, 1320118.482 831772.793 0, 1320400.851 831791.643 0,
+ 1320683.22 831810.509 0, 1320965.588 831829.392 0, 1321247.954 831848.292 0, 1321530.32 831867.208 0, 1321812.684 831886.141 0, 1322095.047 831905.091 0, 1322377.409 831924.057 0, 1322659.77 831943.04 0, 1322942.13 831962.039 0, 1323224.489 831981.055 0,
+ 1323506.846 832000.088 0, 1323789.203 832019.137 0, 1324071.558 832038.203 0, 1324353.912 832057.285 0, 1324636.265 832076.385 0, 1324918.617 832095.5 0, 1325200.968 832114.633 0, 1325483.318 832133.782 0, 1325764.352 832152.858 0, 1326142.105 826590.183 0,
+ 1326519.844 821027.722 0))
+
+POLYGON ((1339315.741 833092.346 0, 1339034.76 833072.475 0, 1338752.465 833052.529 0, 1338470.169 833032.599 0, 1338187.873 833012.686 0, 1337905.575 832992.789 0, 1337623.275 832972.909 0, 1337340.975 832953.045 0, 1337058.674 832933.198 0, 1336776.371 832913.368 0,
+ 1336494.067 832893.554 0, 1336211.762 832873.757 0, 1335929.456 832853.977 0, 1335647.149 832834.213 0, 1335364.84 832814.466 0, 1335082.53 832794.735 0, 1334800.22 832775.021 0, 1334517.908 832755.324 0, 1334235.595 832735.643 0, 1333953.28 832715.979 0,
+ 1333670.965 832696.331 0, 1333388.648 832676.7 0, 1333106.33 832657.086 0, 1332824.011 832637.488 0, 1332540.379 832617.816 0, 1332259.37 832598.343 0, 1331977.048 832578.795 0, 1331694.724 832559.264 0, 1331412.4 832539.749 0, 1331130.074 832520.251 0,
+ 1330847.747 832500.77 0, 1330565.419 832481.305 0, 1330283.089 832461.857 0, 1330000.759 832442.426 0, 1329718.427 832423.011 0, 1329436.095 832403.613 0, 1329153.761 832384.231 0, 1328871.426 832364.866 0, 1328589.09 832345.517 0, 1328306.753 832326.186 0,
+ 1328024.414 832306.87 0, 1327742.075 832287.572 0, 1327459.734 832268.29 0, 1327177.392 832249.025 0, 1326895.049 832229.776 0, 1326612.705 832210.544 0, 1326330.36 832191.328 0, 1326048.014 832172.13 0, 1325764.352 832152.858 0, 1325386.585 837715.743 0,
+ 1325008.803 843278.835 0, 1325291.807 843298.062 0, 1325573.498 843317.216 0, 1325855.189 843336.387 0, 1326136.878 843355.575 0, 1326418.566 843374.779 0, 1326700.253 843393.999 0, 1326981.939 843413.236 0, 1327263.624 843432.49 0, 1327545.307 843451.761 0,
+ 1327826.99 843471.048 0, 1328108.671 843490.351 0, 1328390.351 843509.671 0, 1328672.03 843529.008 0, 1328953.708 843548.361 0, 1329235.385 843567.731 0, 1329517.06 843587.118 0, 1329798.735 843606.521 0, 1330080.408 843625.94 0, 1330362.08 843645.376 0,
+ 1330643.751 843664.829 0, 1330925.421 843684.298 0, 1331207.09 843703.784 0, 1331488.757 843723.287 0, 1331769.114 843742.715 0, 1332052.089 843762.341 0, 1332333.753 843781.894 0, 1332615.416 843801.462 0, 1332897.078 843821.048 0, 1333178.739 843840.65 0,
+ 1333460.398 843860.268 0, 1333742.057 843879.903 0, 1334023.714 843899.555 0, 1334305.37 843919.223 0, 1334587.025 843938.908 0, 1334868.678 843958.61 0, 1335150.331 843978.328 0, 1335431.982 843998.062 0, 1335713.633 844017.813 0, 1335995.282 844037.581 0,
+ 1336276.93 844057.365 0, 1336558.576 844077.166 0, 1336840.222 844096.984 0, 1337121.867 844116.818 0, 1337403.51 844136.668 0, 1337685.152 844156.535 0, 1337966.793 844176.419 0, 1338248.433 844196.32 0, 1338528.763 844216.144 0, 1338922.259 838654.142 0,
+ 1339315.741 833092.346 0))
+
+POLYGON ((1352046.02 845191.645 0, 1351765.745 845171.029 0, 1351484.162 845150.333 0, 1351202.579 845129.654 0, 1350920.994 845108.991 0, 1350639.408 845088.345 0, 1350357.82 845067.715 0, 1350076.232 845047.102 0, 1349794.642 845026.505 0, 1349513.051 845005.925 0,
+ 1349231.459 844985.362 0, 1348949.866 844964.815 0, 1348668.271 844944.285 0, 1348386.676 844923.771 0, 1348105.079 844903.274 0, 1347823.481 844882.794 0, 1347541.881 844862.33 0, 1347260.281 844841.883 0, 1346978.679 844821.452 0, 1346697.076 844801.038 0,
+ 1346415.472 844780.64 0, 1346133.866 844760.259 0, 1345852.26 844739.895 0, 1345570.652 844719.547 0, 1345287.736 844699.121 0, 1345007.433 844678.901 0, 1344725.821 844658.603 0, 1344444.209 844638.321 0, 1344162.595 844618.056 0, 1343880.98 844597.807 0,
+ 1343599.364 844577.576 0, 1343317.747 844557.36 0, 1343036.128 844537.162 0, 1342754.509 844516.979 0, 1342472.888 844496.814 0, 1342191.266 844476.665 0, 1341909.642 844456.533 0, 1341628.018 844436.417 0, 1341346.392 844416.317 0, 1341064.765 844396.235 0,
+ 1340783.137 844376.169 0, 1340501.508 844356.119 0, 1340219.878 844336.086 0, 1339938.246 844316.07 0, 1339656.614 844296.07 0, 1339374.98 844276.087 0, 1339093.345 844256.12 0, 1338811.709 844236.17 0, 1338528.763 844216.144 0, 1338135.251 849778.349 0,
+ 1337741.726 855340.753 0, 1338024.015 855360.732 0, 1338304.996 855380.636 0, 1338585.976 855400.556 0, 1338866.955 855420.493 0, 1339147.933 855440.446 0, 1339428.91 855460.416 0, 1339709.886 855480.403 0, 1339990.86 855500.406 0, 1340271.833 855520.425 0,
+ 1340552.805 855540.461 0, 1340833.776 855560.514 0, 1341114.746 855580.583 0, 1341395.715 855600.668 0, 1341676.682 855620.77 0, 1341957.648 855640.889 0, 1342238.613 855661.024 0, 1342519.577 855681.176 0, 1342800.539 855701.344 0, 1343081.501 855721.529 0,
+ 1343362.461 855741.73 0, 1343643.42 855761.948 0, 1343924.378 855782.183 0, 1344205.335 855802.434 0, 1344484.986 855822.607 0, 1344767.244 855842.985 0, 1345048.197 855863.286 0, 1345329.149 855883.603 0, 1345610.1 855903.937 0, 1345891.049 855924.287 0,
+ 1346171.998 855944.654 0, 1346452.945 855965.037 0, 1346733.891 855985.437 0, 1347014.835 856005.853 0, 1347295.779 856026.286 0, 1347576.721 856046.735 0, 1347857.662 856067.201 0, 1348138.602 856087.684 0, 1348419.541 856108.183 0, 1348700.478 856128.698 0,
+ 1348981.414 856149.23 0, 1349262.349 856169.779 0, 1349543.283 856190.344 0, 1349824.216 856210.926 0, 1350105.147 856231.524 0, 1350386.077 856252.139 0, 1350667.006 856272.77 0, 1350947.934 856293.418 0, 1351227.558 856313.986 0, 1351636.796 850752.716 0,
+ 1352046.02 845191.645 0))
+
+POLYGON ((1364710.585 857325.316 0, 1364431.019 857303.957 0, 1364150.151 857282.516 0, 1363869.281 857261.091 0, 1363588.41 857239.683 0, 1363307.538 857218.291 0, 1363026.665 857196.916 0, 1362745.79 857175.557 0, 1362464.915 857154.215 0, 1362184.037 857132.889 0,
+ 1361903.159 857111.58 0, 1361622.279 857090.287 0, 1361341.399 857069.011 0, 1361060.516 857047.751 0, 1360779.633 857026.508 0, 1360498.748 857005.282 0, 1360217.863 856984.072 0, 1359936.975 856962.879 0, 1359656.087 856941.702 0, 1359375.197 856920.541 0,
+ 1359094.307 856899.397 0, 1358813.414 856878.27 0, 1358532.521 856857.159 0, 1358251.626 856836.065 0, 1357969.429 856814.89 0, 1357689.834 856793.926 0, 1357408.935 856772.882 0, 1357128.036 856751.853 0, 1356847.135 856730.842 0, 1356566.233 856709.847 0,
+ 1356285.33 856688.868 0, 1356004.425 856667.906 0, 1355723.519 856646.961 0, 1355442.612 856626.032 0, 1355161.704 856605.12 0, 1354880.795 856584.224 0, 1354599.884 856563.344 0, 1354318.972 856542.482 0, 1354038.059 856521.635 0, 1353757.145 856500.806 0,
+ 1353476.229 856479.992 0, 1353195.312 856459.196 0, 1352914.394 856438.416 0, 1352633.475 856417.652 0, 1352352.555 856396.905 0, 1352071.633 856376.175 0, 1351790.71 856355.461 0, 1351509.786 856334.763 0, 1351227.558 856313.986 0, 1350818.305 861875.452 0,
+ 1350409.038 867437.108 0, 1350690.609 867457.837 0, 1350970.878 867478.486 0, 1351251.147 867499.152 0, 1351531.414 867519.834 0, 1351811.679 867540.533 0, 1352091.944 867561.248 0, 1352372.207 867581.98 0, 1352652.469 867602.728 0, 1352932.73 867623.492 0,
+ 1353212.99 867644.274 0, 1353493.248 867665.071 0, 1353773.506 867685.885 0, 1354053.762 867706.716 0, 1354334.016 867727.563 0, 1354614.27 867748.427 0, 1354894.522 867769.307 0, 1355174.773 867790.204 0, 1355455.023 867811.117 0, 1355735.272 867832.046 0,
+ 1356015.519 867852.992 0, 1356295.765 867873.955 0, 1356576.01 867894.934 0, 1356856.254 867915.93 0, 1357135.198 867936.844 0, 1357416.738 867957.97 0, 1357696.978 867979.016 0, 1357977.216 868000.077 0, 1358257.454 868021.155 0, 1358537.69 868042.25 0,
+ 1358817.925 868063.361 0, 1359098.159 868084.488 0, 1359378.392 868105.632 0, 1359658.623 868126.793 0, 1359938.853 868147.97 0, 1360219.082 868169.164 0, 1360499.309 868190.374 0, 1360779.535 868211.6 0, 1361059.761 868232.843 0, 1361339.984 868254.103 0,
+ 1361620.207 868275.379 0, 1361900.428 868296.671 0, 1362180.648 868317.98 0, 1362460.867 868339.306 0, 1362741.085 868360.648 0, 1363021.301 868382.006 0, 1363301.516 868403.381 0, 1363581.73 868424.772 0, 1363860.644 868446.081 0, 1364285.622 862885.603 0,
+ 1364710.585 857325.316 0))
+
+POLYGON ((1377309.346 869493.053 0, 1377030.491 869470.956 0, 1376750.339 869448.773 0, 1376470.185 869426.607 0, 1376190.03 869404.457 0, 1375909.874 869382.323 0, 1375629.717 869360.206 0, 1375349.558 869338.105 0, 1375069.398 869316.021 0, 1374789.237 869293.954 0,
+ 1374509.074 869271.903 0, 1374228.91 869249.868 0, 1373948.745 869227.85 0, 1373668.578 869205.848 0, 1373388.411 869183.863 0, 1373108.242 869161.895 0, 1372828.071 869139.942 0, 1372547.899 869118.007 0, 1372267.726 869096.087 0, 1371987.552 869074.185 0,
+ 1371707.377 869052.299 0, 1371427.2 869030.429 0, 1371147.022 869008.576 0, 1370866.842 868986.739 0, 1370585.365 868964.818 0, 1370306.48 868943.115 0, 1370026.296 868921.328 0, 1369746.112 868899.557 0, 1369465.926 868877.803 0, 1369185.739 868856.065 0,
+ 1368905.551 868834.344 0, 1368625.361 868812.639 0, 1368345.17 868790.95 0, 1368064.978 868769.279 0, 1367784.784 868747.623 0, 1367504.589 868725.984 0, 1367224.393 868704.362 0, 1366944.196 868682.756 0, 1366663.998 868661.167 0, 1366383.798 868639.594 0,
+ 1366103.597 868618.038 0, 1365823.394 868596.498 0, 1365543.191 868574.974 0, 1365262.986 868553.467 0, 1364982.779 868531.977 0, 1364702.572 868510.503 0, 1364422.363 868489.046 0, 1364142.153 868467.605 0, 1363860.644 868446.081 0, 1363435.652 874006.747 0,
+ 1363010.646 879567.597 0, 1363291.497 879589.071 0, 1363571.053 879610.462 0, 1363850.607 879631.869 0, 1364130.16 879653.293 0, 1364409.711 879674.733 0, 1364689.262 879696.189 0, 1364968.811 879717.663 0, 1365248.358 879739.152 0, 1365527.905 879760.658 0,
+ 1365807.45 879782.181 0, 1366086.994 879803.72 0, 1366366.537 879825.275 0, 1366646.079 879846.847 0, 1366925.619 879868.435 0, 1367205.158 879890.04 0, 1367484.695 879911.661 0, 1367764.232 879933.299 0, 1368043.767 879954.953 0, 1368323.301 879976.623 0,
+ 1368602.833 879998.31 0, 1368882.365 880020.014 0, 1369161.895 880041.734 0, 1369441.423 880063.47 0, 1369719.657 880085.122 0, 1370000.477 880106.992 0, 1370280.002 880128.778 0, 1370559.525 880150.58 0, 1370839.048 880172.399 0, 1371118.569 880194.234 0,
+ 1371398.089 880216.085 0, 1371677.607 880237.953 0, 1371957.124 880259.838 0, 1372236.64 880281.739 0, 1372516.155 880303.656 0, 1372795.668 880325.59 0, 1373075.18 880347.54 0, 1373354.691 880369.507 0, 1373634.2 880391.49 0, 1373913.708 880413.489 0,
+ 1374193.215 880435.505 0, 1374472.721 880457.538 0, 1374752.225 880479.587 0, 1375031.728 880501.652 0, 1375311.23 880523.734 0, 1375590.73 880545.832 0, 1375870.229 880567.947 0, 1376149.727 880590.078 0, 1376427.931 880612.124 0, 1376868.646 875052.496 0,
+ 1377309.346 869493.053 0))
+
+POLYGON ((1389842.212 881694.552 0, 1389564.069 881671.72 0, 1389284.635 881648.8 0, 1389005.199 881625.895 0, 1388725.762 881603.008 0, 1388446.324 881580.136 0, 1388166.885 881557.281 0, 1387887.444 881534.443 0, 1387608.002 881511.621 0, 1387328.558 881488.815 0,
+ 1387049.113 881466.026 0, 1386769.667 881443.253 0, 1386490.219 881420.497 0, 1386210.771 881397.757 0, 1385931.32 881375.034 0, 1385651.869 881352.327 0, 1385372.416 881329.636 0, 1385092.962 881306.962 0, 1384813.506 881284.305 0, 1384534.049 881261.664 0,
+ 1384254.591 881239.039 0, 1383975.131 881216.431 0, 1383695.67 881193.839 0, 1383416.208 881171.263 0, 1383135.454 881148.6 0, 1382857.28 881126.162 0, 1382577.814 881103.636 0, 1382298.346 881081.127 0, 1382018.877 881058.633 0, 1381739.407 881036.157 0,
+ 1381459.935 881013.697 0, 1381180.463 880991.253 0, 1380900.988 880968.826 0, 1380621.513 880946.415 0, 1380342.036 880924.02 0, 1380062.558 880901.642 0, 1379783.079 880879.281 0, 1379503.598 880856.936 0, 1379224.116 880834.607 0, 1378944.633 880812.295 0,
+ 1378665.148 880789.999 0, 1378385.662 880767.72 0, 1378106.175 880745.457 0, 1377826.686 880723.211 0, 1377547.196 880700.981 0, 1377267.705 880678.768 0, 1376988.212 880656.571 0, 1376708.718 880634.39 0, 1376427.931 880612.124 0, 1375987.202 886171.931 0,
+ 1375546.459 891731.915 0, 1375826.588 891754.129 0, 1376105.428 891776.258 0, 1376384.266 891798.403 0, 1376663.103 891820.564 0, 1376941.938 891842.742 0, 1377220.772 891864.936 0, 1377499.605 891887.147 0, 1377778.437 891909.374 0, 1378057.267 891931.618 0,
+ 1378336.096 891953.877 0, 1378614.923 891976.154 0, 1378893.75 891998.446 0, 1379172.574 892020.756 0, 1379451.398 892043.081 0, 1379730.22 892065.423 0, 1380009.042 892087.781 0, 1380287.861 892110.156 0, 1380566.68 892132.547 0, 1380845.497 892154.955 0,
+ 1381124.312 892177.379 0, 1381403.127 892199.819 0, 1381681.94 892222.276 0, 1381960.752 892244.75 0, 1382238.274 892267.135 0, 1382518.371 892289.745 0, 1382797.179 892312.268 0, 1383075.986 892334.807 0, 1383354.791 892357.362 0, 1383633.595 892379.934 0,
+ 1383912.397 892402.522 0, 1384191.198 892425.126 0, 1384469.998 892447.747 0, 1384748.797 892470.385 0, 1385027.594 892493.038 0, 1385306.39 892515.709 0, 1385585.184 892538.395 0, 1385863.978 892561.098 0, 1386142.769 892583.817 0, 1386421.56 892606.553 0,
+ 1386700.349 892629.305 0, 1386979.137 892652.074 0, 1387257.923 892674.859 0, 1387536.708 892697.661 0, 1387815.492 892720.478 0, 1388094.275 892743.313 0, 1388373.056 892766.163 0, 1388651.836 892789.03 0, 1388929.327 892811.808 0, 1389385.777 887253.092 0,
+ 1389842.212 881694.552 0))
+
+POLYGON ((1402309.092 893929.506 0, 1402031.663 893905.945 0, 1401752.949 893882.29 0, 1401474.234 893858.652 0, 1401195.517 893835.03 0, 1400916.799 893811.425 0, 1400638.079 893787.836 0, 1400359.358 893764.263 0, 1400080.636 893740.707 0, 1399801.912 893717.167 0,
+ 1399523.187 893693.644 0, 1399244.46 893670.137 0, 1398965.732 893646.646 0, 1398687.003 893623.172 0, 1398408.272 893599.715 0, 1398129.54 893576.273 0, 1397850.807 893552.848 0, 1397572.072 893529.44 0, 1397293.336 893506.048 0, 1397014.598 893482.672 0,
+ 1396735.859 893459.313 0, 1396457.119 893435.97 0, 1396178.377 893412.643 0, 1395899.634 893389.333 0, 1395619.604 893365.932 0, 1395342.144 893342.762 0, 1395063.397 893319.502 0, 1394784.648 893296.257 0, 1394505.898 893273.029 0, 1394227.147 893249.817 0,
+ 1393948.394 893226.622 0, 1393669.64 893203.443 0, 1393390.885 893180.281 0, 1393112.128 893157.135 0, 1392833.37 893134.005 0, 1392554.611 893110.892 0, 1392275.85 893087.795 0, 1391997.088 893064.715 0, 1391718.324 893041.651 0, 1391439.559 893018.604 0,
+ 1391160.793 892995.572 0, 1390882.025 892972.558 0, 1390603.256 892949.559 0, 1390324.486 892926.577 0, 1390045.714 892903.612 0, 1389766.941 892880.663 0, 1389488.167 892857.73 0, 1389209.391 892834.814 0, 1388929.327 892811.808 0, 1388472.864 898370.697 0,
+ 1388016.386 903929.755 0, 1388295.793 903952.706 0, 1388573.914 903975.569 0, 1388852.034 903998.448 0, 1389130.153 904021.343 0, 1389408.27 904044.255 0, 1389686.386 904067.183 0, 1389964.501 904090.127 0, 1390242.614 904113.088 0, 1390520.726 904136.065 0,
+ 1390798.836 904159.058 0, 1391076.945 904182.068 0, 1391355.053 904205.094 0, 1391633.16 904228.137 0, 1391911.265 904251.196 0, 1392189.369 904274.271 0, 1392467.471 904297.363 0, 1392745.572 904320.471 0, 1393023.672 904343.595 0, 1393301.77 904366.736 0,
+ 1393579.867 904389.893 0, 1393857.963 904413.067 0, 1394136.057 904436.257 0, 1394414.15 904459.463 0, 1394690.959 904482.578 0, 1394970.332 904505.924 0, 1395248.42 904529.18 0, 1395526.508 904552.451 0, 1395804.594 904575.74 0, 1396082.678 904599.044 0,
+ 1396360.762 904622.365 0, 1396638.844 904645.702 0, 1396916.924 904669.056 0, 1397195.003 904692.426 0, 1397473.081 904715.812 0, 1397751.158 904739.214 0, 1398029.233 904762.634 0, 1398307.306 904786.069 0, 1398585.379 904809.521 0, 1398863.45 904832.989 0,
+ 1399141.519 904856.473 0, 1399419.587 904879.974 0, 1399697.654 904903.491 0, 1399975.719 904927.025 0, 1400253.783 904950.575 0, 1400531.846 904974.141 0, 1400809.907 904997.724 0, 1401087.967 905021.323 0, 1401364.744 905044.83 0, 1401836.925 899487.084 0,
+ 1402309.092 893929.506 0))
+
+POLYGON ((1414709.898 906197.611 0, 1414433.187 906173.323 0, 1414155.195 906148.938 0, 1413877.201 906124.57 0, 1413599.206 906100.218 0, 1413321.21 906075.883 0, 1413043.212 906051.564 0, 1412765.213 906027.261 0, 1412487.212 906002.975 0, 1412209.21 905978.705 0,
+ 1411931.207 905954.451 0, 1411653.202 905930.214 0, 1411375.195 905905.993 0, 1411097.188 905881.788 0, 1410819.178 905857.6 0, 1410541.168 905833.428 0, 1410263.156 905809.273 0, 1409985.142 905785.134 0, 1409707.127 905761.011 0, 1409429.111 905736.905 0,
+ 1409151.093 905712.815 0, 1408873.074 905688.741 0, 1408595.054 905664.684 0, 1408317.032 905640.643 0, 1408037.728 905616.508 0, 1407760.984 905592.61 0, 1407482.957 905568.618 0, 1407204.93 905544.643 0, 1406926.901 905520.684 0, 1406648.87 905496.741 0,
+ 1406370.838 905472.815 0, 1406092.805 905448.905 0, 1405814.771 905425.011 0, 1405536.734 905401.134 0, 1405258.697 905377.273 0, 1404980.658 905353.428 0, 1404702.618 905329.6 0, 1404424.576 905305.788 0, 1404146.533 905281.993 0, 1403868.489 905258.214 0,
+ 1403590.443 905234.451 0, 1403312.395 905210.705 0, 1403034.347 905186.975 0, 1402756.297 905163.261 0, 1402478.245 905139.564 0, 1402200.192 905115.883 0, 1401922.138 905092.218 0, 1401644.082 905068.57 0, 1401364.744 905044.83 0, 1400892.549 910602.74 0,
+ 1400420.34 916160.812 0, 1400699.021 916184.497 0, 1400976.423 916208.09 0, 1401253.823 916231.698 0, 1401531.221 916255.324 0, 1401808.619 916278.965 0, 1402086.014 916302.623 0, 1402363.409 916326.297 0, 1402640.802 916349.988 0, 1402918.194 916373.694 0,
+ 1403195.584 916397.417 0, 1403472.973 916421.157 0, 1403750.36 916444.913 0, 1404027.746 916468.685 0, 1404305.131 916492.473 0, 1404582.514 916516.278 0, 1404859.896 916540.099 0, 1405137.276 916563.936 0, 1405414.655 916587.79 0, 1405692.033 916611.66 0,
+ 1405969.409 916635.547 0, 1406246.784 916659.449 0, 1406524.158 916683.368 0, 1406801.53 916707.304 0, 1407077.623 916731.145 0, 1407356.269 916755.224 0, 1407633.637 916779.208 0, 1407911.004 916803.209 0, 1408188.369 916827.226 0, 1408465.732 916851.259 0,
+ 1408743.094 916875.308 0, 1409020.455 916899.374 0, 1409297.814 916923.457 0, 1409575.172 916947.555 0, 1409852.529 916971.67 0, 1410129.884 916995.802 0, 1410407.237 917019.949 0, 1410684.589 917044.113 0, 1410961.94 917068.293 0, 1411239.29 917092.49 0,
+ 1411516.638 917116.703 0, 1411793.984 917140.932 0, 1412071.329 917165.178 0, 1412348.673 917189.439 0, 1412626.015 917213.718 0, 1412903.356 917238.012 0, 1413180.695 917262.323 0, 1413458.033 917286.65 0, 1413734.094 917310.882 0, 1414222.003 911754.166 0,
+ 1414709.898 906197.611 0))
+
+POLYGON ((1427044.545 918498.56 0, 1426768.552 918473.548 0, 1426491.284 918448.438 0, 1426214.014 918423.344 0, 1425936.743 918398.266 0, 1425659.47 918373.204 0, 1425382.196 918348.159 0, 1425104.921 918323.13 0, 1424827.644 918298.117 0, 1424550.366 918273.121 0,
+ 1424273.086 918248.141 0, 1423995.804 918223.177 0, 1423718.521 918198.23 0, 1423441.237 918173.299 0, 1423163.951 918148.384 0, 1422886.664 918123.485 0, 1422609.376 918098.603 0, 1422332.085 918073.737 0, 1422054.794 918048.888 0, 1421777.501 918024.055 0,
+ 1421500.206 917999.238 0, 1421222.91 917974.438 0, 1420945.613 917949.653 0, 1420668.314 917924.885 0, 1420389.739 917900.02 0, 1420113.712 917875.399 0, 1419836.408 917850.68 0, 1419559.103 917825.977 0, 1419281.797 917801.291 0, 1419004.49 917776.621 0,
+ 1418727.181 917751.967 0, 1418449.87 917727.33 0, 1418172.558 917702.709 0, 1417895.245 917678.105 0, 1417617.93 917653.516 0, 1417340.613 917628.944 0, 1417063.296 917604.389 0, 1416785.976 917579.849 0, 1416508.656 917555.326 0, 1416231.333 917530.819 0,
+ 1415954.01 917506.329 0, 1415676.685 917481.855 0, 1415399.358 917457.397 0, 1415122.031 917432.956 0, 1414844.701 917408.531 0, 1414567.37 917384.122 0, 1414290.038 917359.729 0, 1414012.705 917335.353 0, 1413734.094 917310.882 0, 1413246.171 922867.754 0,
+ 1412758.234 928424.781 0, 1413036.188 928449.195 0, 1413312.867 928473.513 0, 1413589.545 928497.848 0, 1413866.222 928522.199 0, 1414142.897 928546.567 0, 1414419.571 928570.951 0, 1414696.243 928595.351 0, 1414972.914 928619.767 0, 1415249.583 928644.2 0,
+ 1415526.252 928668.649 0, 1415802.918 928693.114 0, 1416079.583 928717.595 0, 1416356.247 928742.093 0, 1416632.909 928766.607 0, 1416909.57 928791.137 0, 1417186.229 928815.684 0, 1417462.887 928840.247 0, 1417739.544 928864.826 0, 1418016.199 928889.422 0,
+ 1418292.852 928914.033 0, 1418569.504 928938.661 0, 1418846.155 928963.306 0, 1419122.804 928987.966 0, 1419398.18 929012.53 0, 1419676.098 929037.336 0, 1419952.743 929062.046 0, 1420229.387 929086.771 0, 1420506.029 929111.513 0, 1420782.669 929136.272 0,
+ 1421059.308 929161.046 0, 1421335.946 929185.837 0, 1421612.582 929210.644 0, 1421889.217 929235.468 0, 1422165.85 929260.307 0, 1422442.481 929285.163 0, 1422719.112 929310.036 0, 1422995.741 929334.924 0, 1423272.368 929359.829 0, 1423548.994 929384.75 0,
+ 1423825.618 929409.688 0, 1424102.241 929434.641 0, 1424378.863 929459.611 0, 1424655.483 929484.597 0, 1424932.101 929509.6 0, 1425208.718 929534.619 0, 1425485.334 929559.654 0, 1425761.948 929584.705 0, 1426037.29 929609.658 0, 1426540.924 924054.032 0,
+ 1427044.545 918498.56 0))
+
+POLYGON ((1439312.946 930832.046 0, 1439037.673 930806.315 0, 1438761.131 930780.483 0, 1438484.587 930754.666 0, 1438208.042 930728.866 0, 1437931.495 930703.082 0, 1437654.947 930677.314 0, 1437378.397 930651.563 0, 1437101.846 930625.828 0, 1436825.293 930600.109 0,
+ 1436548.738 930574.407 0, 1436272.183 930548.72 0, 1435995.625 930523.05 0, 1435719.066 930497.397 0, 1435442.506 930471.759 0, 1435165.944 930446.138 0, 1434889.38 930420.533 0, 1434612.816 930394.945 0, 1434336.249 930369.372 0, 1434059.681 930343.816 0,
+ 1433783.112 930318.276 0, 1433506.541 930292.753 0, 1433229.968 930267.246 0, 1432953.394 930241.755 0, 1432675.55 930216.163 0, 1432400.242 930190.822 0, 1432123.663 930165.38 0, 1431847.084 930139.954 0, 1431570.502 930114.544 0, 1431293.919 930089.151 0,
+ 1431017.335 930063.774 0, 1430740.749 930038.414 0, 1430464.161 930013.069 0, 1430187.572 929987.741 0, 1429910.982 929962.429 0, 1429634.39 929937.134 0, 1429357.797 929911.854 0, 1429081.202 929886.591 0, 1428804.606 929861.345 0, 1428528.008 929836.114 0,
+ 1428251.408 929810.9 0, 1427974.808 929785.702 0, 1427698.205 929760.521 0, 1427421.602 929735.355 0, 1427144.996 929710.206 0, 1426868.39 929685.073 0, 1426591.781 929659.957 0, 1426315.172 929634.857 0, 1426037.29 929609.658 0, 1425533.642 935165.433 0,
+ 1425029.981 940721.353 0, 1425307.206 940746.492 0, 1425583.161 940771.533 0, 1425859.116 940796.59 0, 1426135.068 940821.664 0, 1426411.02 940846.753 0, 1426686.969 940871.859 0, 1426962.918 940896.981 0, 1427238.865 940922.12 0, 1427514.81 940947.274 0,
+ 1427790.754 940972.445 0, 1428066.696 940997.632 0, 1428342.637 941022.835 0, 1428618.576 941048.055 0, 1428894.514 941073.29 0, 1429170.451 941098.542 0, 1429446.386 941123.811 0, 1429722.319 941149.095 0, 1429998.251 941174.396 0, 1430274.182 941199.713 0,
+ 1430550.111 941225.046 0, 1430826.038 941250.396 0, 1431101.964 941275.761 0, 1431377.889 941301.143 0, 1431652.546 941326.425 0, 1431929.733 941351.956 0, 1432205.653 941377.386 0, 1432481.572 941402.833 0, 1432757.489 941428.296 0, 1433033.404 941453.776 0,
+ 1433309.318 941479.271 0, 1433585.231 941504.783 0, 1433861.142 941530.311 0, 1434137.052 941555.856 0, 1434412.96 941581.416 0, 1434688.866 941606.993 0, 1434964.771 941632.586 0, 1435240.675 941658.195 0, 1435516.577 941683.821 0, 1435792.477 941709.463 0,
+ 1436068.376 941735.121 0, 1436344.274 941760.795 0, 1436620.169 941786.485 0, 1436896.064 941812.192 0, 1437171.957 941837.915 0, 1437447.848 941863.654 0, 1437723.738 941889.41 0, 1437999.627 941915.181 0, 1438274.248 941940.851 0, 1438793.604 936386.376 0,
+ 1439312.946 930832.046 0))
+
+POLYGON ((1451515.018 943197.761 0, 1451240.467 943171.316 0, 1450964.653 943144.765 0, 1450688.837 943118.23 0, 1450413.019 943091.711 0, 1450137.2 943065.209 0, 1449861.379 943038.723 0, 1449585.557 943012.253 0, 1449309.733 942985.8 0, 1449033.908 942959.362 0,
+ 1448758.081 942932.941 0, 1448482.252 942906.536 0, 1448206.422 942880.148 0, 1447930.59 942853.775 0, 1447654.757 942827.419 0, 1447378.923 942801.079 0, 1447103.086 942774.755 0, 1446827.249 942748.448 0, 1446551.409 942722.157 0, 1446275.568 942695.882 0,
+ 1445999.726 942669.623 0, 1445723.882 942643.38 0, 1445448.036 942617.154 0, 1445172.189 942590.944 0, 1444895.077 942564.63 0, 1444620.49 942538.573 0, 1444344.639 942512.411 0, 1444068.785 942486.266 0, 1443792.931 942460.137 0, 1443517.074 942434.025 0,
+ 1443241.217 942407.928 0, 1442965.357 942381.848 0, 1442689.496 942355.784 0, 1442413.634 942329.736 0, 1442137.77 942303.705 0, 1441861.904 942277.69 0, 1441586.037 942251.691 0, 1441310.169 942225.708 0, 1441034.298 942199.741 0, 1440758.427 942173.791 0,
+ 1440482.554 942147.857 0, 1440206.679 942121.939 0, 1439930.803 942096.038 0, 1439654.925 942070.152 0, 1439379.046 942044.283 0, 1439103.165 942018.43 0, 1438827.283 941992.594 0, 1438551.399 941966.773 0, 1438274.248 941940.851 0, 1437754.88 947495.468 0,
+ 1437235.498 953050.222 0, 1437511.992 953076.083 0, 1437787.221 953101.843 0, 1438062.45 953127.618 0, 1438337.677 953153.41 0, 1438612.902 953179.217 0, 1438888.126 953205.041 0, 1439163.349 953230.881 0, 1439438.569 953256.738 0, 1439713.789 953282.61 0,
+ 1439989.007 953308.499 0, 1440264.223 953334.404 0, 1440539.438 953360.325 0, 1440814.651 953386.263 0, 1441089.862 953412.216 0, 1441365.073 953438.186 0, 1441640.281 953464.172 0, 1441915.488 953490.174 0, 1442190.694 953516.193 0, 1442465.898 953542.227 0,
+ 1442741.101 953568.278 0, 1443016.302 953594.345 0, 1443291.501 953620.428 0, 1443566.699 953646.527 0, 1443840.635 953672.523 0, 1444117.09 953698.775 0, 1444392.283 953724.923 0, 1444667.475 953751.087 0, 1444942.665 953777.267 0, 1445217.854 953803.464 0,
+ 1445493.041 953829.676 0, 1445768.227 953855.905 0, 1446043.411 953882.15 0, 1446318.593 953908.412 0, 1446593.774 953934.689 0, 1446868.954 953960.983 0, 1447144.132 953987.293 0, 1447419.308 954013.619 0, 1447694.483 954039.961 0, 1447969.656 954066.32 0,
+ 1448244.828 954092.695 0, 1448519.998 954119.085 0, 1448795.166 954145.493 0, 1449070.333 954171.916 0, 1449345.499 954198.355 0, 1449620.663 954224.811 0, 1449895.825 954251.283 0, 1450170.986 954277.771 0, 1450444.885 954304.154 0, 1450979.958 948750.889 0,
+ 1451515.018 943197.761 0))
+
+POLYGON ((942141.979 509631.531 0, 941842.115 509634.929 0, 941540.784 509638.361 0, 941239.454 509641.81 0, 940938.124 509645.278 0, 940636.793 509648.763 0, 940335.464 509652.266 0, 940034.134 509655.786 0, 939732.805 509659.325 0, 939431.475 509662.881 0,
+ 939130.146 509666.455 0, 938828.817 509670.046 0, 938527.489 509673.655 0, 938226.16 509677.282 0, 937924.832 509680.927 0, 937623.504 509684.59 0, 937322.176 509688.27 0, 937020.849 509691.968 0, 936719.522 509695.684 0, 936418.195 509699.417 0,
+ 936116.868 509703.168 0, 935815.541 509706.937 0, 935514.215 509710.724 0, 935212.888 509714.528 0, 934910.094 509718.369 0, 934610.237 509722.19 0, 934308.911 509726.048 0, 934007.586 509729.923 0, 933706.261 509733.816 0, 933404.936 509737.727 0,
+ 933103.611 509741.655 0, 932802.287 509745.601 0, 932500.963 509749.565 0, 932199.639 509753.547 0, 931898.315 509757.547 0, 931596.992 509761.564 0, 931295.668 509765.599 0, 930994.345 509769.651 0, 930693.023 509773.722 0, 930391.7 509777.81 0,
+ 930090.378 509781.916 0, 929789.056 509786.039 0, 929487.734 509790.181 0, 929186.413 509794.34 0, 928885.091 509798.517 0, 928583.77 509802.711 0, 928282.45 509806.924 0, 927981.129 509811.154 0, 927678.339 509815.422 0, 927756.856 515373.425 0,
+ 927835.379 520931.825 0, 928137.511 520927.565 0, 928438.178 520923.344 0, 928738.844 520919.141 0, 929039.511 520914.956 0, 929340.178 520910.788 0, 929640.845 520906.638 0, 929941.513 520902.506 0, 930242.18 520898.391 0, 930542.848 520894.294 0,
+ 930843.516 520890.215 0, 931144.185 520886.153 0, 931444.854 520882.109 0, 931745.523 520878.083 0, 932046.192 520874.075 0, 932346.861 520870.084 0, 932647.531 520866.111 0, 932948.201 520862.156 0, 933248.871 520858.218 0, 933549.541 520854.298 0,
+ 933850.212 520850.396 0, 934150.882 520846.511 0, 934451.553 520842.644 0, 934752.225 520838.795 0, 935051.431 520834.982 0, 935353.568 520831.15 0, 935654.24 520827.353 0, 935954.912 520823.575 0, 936255.584 520819.814 0, 936556.257 520816.071 0,
+ 936856.929 520812.346 0, 937157.602 520808.638 0, 937458.276 520804.948 0, 937758.949 520801.276 0, 938059.623 520797.622 0, 938360.297 520793.985 0, 938660.971 520790.366 0, 938961.645 520786.764 0, 939262.32 520783.18 0, 939562.994 520779.614 0,
+ 939863.669 520776.066 0, 940164.344 520772.535 0, 940465.02 520769.022 0, 940765.695 520765.527 0, 941066.371 520762.05 0, 941367.047 520758.59 0, 941667.723 520755.148 0, 941968.4 520751.723 0, 942267.612 520748.333 0, 942204.793 515189.734 0,
+ 942141.979 509631.531 0))
+
+POLYGON ((956700.306 520605.616 0, 956401.083 520608.161 0, 956100.398 520610.736 0, 955799.713 520613.328 0, 955499.029 520615.939 0, 955198.344 520618.567 0, 954897.66 520621.213 0, 954596.976 520623.876 0, 954296.292 520626.557 0, 953995.608 520629.256 0,
+ 953694.925 520631.973 0, 953394.241 520634.707 0, 953093.558 520637.459 0, 952792.875 520640.229 0, 952492.192 520643.016 0, 952191.509 520645.821 0, 951890.826 520648.644 0, 951590.144 520651.484 0, 951289.462 520654.342 0, 950988.78 520657.218 0,
+ 950688.098 520660.112 0, 950387.416 520663.023 0, 950086.734 520665.952 0, 949786.053 520668.899 0, 949483.909 520671.877 0, 949184.69 520674.845 0, 948884.009 520677.845 0, 948583.329 520680.862 0, 948282.648 520683.897 0, 947981.968 520686.95 0,
+ 947681.288 520690.021 0, 947380.608 520693.109 0, 947079.928 520696.215 0, 946779.248 520699.338 0, 946478.569 520702.48 0, 946177.889 520705.639 0, 945877.21 520708.815 0, 945576.531 520712.01 0, 945275.853 520715.222 0, 944975.174 520718.452 0,
+ 944674.496 520721.699 0, 944373.818 520724.964 0, 944073.14 520728.247 0, 943772.462 520731.548 0, 943471.784 520734.866 0, 943171.107 520738.202 0, 942870.43 520741.556 0, 942569.753 520744.927 0, 942267.612 520748.333 0, 942330.436 526307.325 0,
+ 942393.263 531866.707 0, 942694.747 531863.309 0, 942994.769 531859.945 0, 943294.792 531856.598 0, 943594.815 531853.269 0, 943894.838 531849.958 0, 944194.861 531846.665 0, 944494.885 531843.389 0, 944794.909 531840.131 0, 945094.933 531836.891 0,
+ 945394.957 531833.668 0, 945694.981 531830.463 0, 945995.005 531827.275 0, 946295.03 531824.106 0, 946595.055 531820.953 0, 946895.08 531817.819 0, 947195.105 531814.702 0, 947495.131 531811.603 0, 947795.156 531808.521 0, 948095.182 531805.458 0,
+ 948395.208 531802.411 0, 948695.234 531799.383 0, 948995.26 531796.372 0, 949295.287 531793.379 0, 949593.854 531790.418 0, 949895.341 531787.445 0, 950195.368 531784.505 0, 950495.395 531781.583 0, 950795.422 531778.678 0, 951095.45 531775.79 0,
+ 951395.477 531772.921 0, 951695.505 531770.069 0, 951995.533 531767.235 0, 952295.561 531764.418 0, 952595.59 531761.619 0, 952895.618 531758.838 0, 953195.647 531756.074 0, 953495.676 531753.328 0, 953795.705 531750.6 0, 954095.734 531747.889 0,
+ 954395.763 531745.196 0, 954695.793 531742.521 0, 954995.823 531739.863 0, 955295.852 531737.223 0, 955595.882 531734.601 0, 955895.912 531731.996 0, 956195.943 531729.409 0, 956495.973 531726.84 0, 956794.545 531724.3 0, 956747.424 526164.763 0,
+ 956700.306 520605.616 0))
+
+POLYGON ((971196.172 531622.58 0, 970897.592 531624.276 0, 970597.555 531625.998 0, 970297.519 531627.737 0, 969997.482 531629.494 0, 969697.446 531631.269 0, 969397.41 531633.061 0, 969097.374 531634.872 0, 968797.338 531636.699 0, 968497.303 531638.545 0,
+ 968197.267 531640.408 0, 967897.231 531642.288 0, 967597.196 531644.187 0, 967297.161 531646.103 0, 966997.126 531648.036 0, 966697.09 531649.988 0, 966397.055 531651.957 0, 966097.021 531653.943 0, 965796.986 531655.947 0, 965496.951 531657.969 0,
+ 965196.917 531660.009 0, 964896.882 531662.066 0, 964596.848 531664.141 0, 964296.814 531666.234 0, 963995.323 531668.354 0, 963696.746 531670.472 0, 963396.712 531672.618 0, 963096.679 531674.781 0, 962796.645 531676.962 0, 962496.612 531679.16 0,
+ 962196.579 531681.376 0, 961896.546 531683.61 0, 961596.513 531685.862 0, 961296.48 531688.131 0, 960996.447 531690.418 0, 960696.414 531692.722 0, 960396.382 531695.044 0, 960096.35 531697.384 0, 959796.318 531699.742 0, 959496.286 531702.117 0,
+ 959196.254 531704.51 0, 958896.222 531706.92 0, 958596.19 531709.348 0, 958296.159 531711.794 0, 957996.128 531714.257 0, 957696.096 531716.739 0, 957396.065 531719.237 0, 957096.034 531721.754 0, 956794.545 531724.3 0, 956841.67 537284.224 0,
+ 956888.798 542844.532 0, 957189.629 542841.991 0, 957489.006 542839.48 0, 957788.382 542836.987 0, 958087.759 542834.511 0, 958387.135 542832.053 0, 958686.512 542829.613 0, 958985.889 542827.19 0, 959285.267 542824.785 0, 959584.644 542822.397 0,
+ 959884.022 542820.027 0, 960183.399 542817.675 0, 960482.777 542815.34 0, 960782.155 542813.023 0, 961081.533 542810.724 0, 961380.911 542808.442 0, 961680.29 542806.177 0, 961979.668 542803.931 0, 962279.047 542801.702 0, 962578.425 542799.491 0,
+ 962877.804 542797.297 0, 963177.183 542795.121 0, 963476.562 542792.962 0, 963775.941 542790.821 0, 964073.867 542788.708 0, 964374.7 542786.592 0, 964674.08 542784.504 0, 964973.46 542782.434 0, 965272.839 542780.381 0, 965572.219 542778.346 0,
+ 965871.6 542776.328 0, 966170.98 542774.328 0, 966470.36 542772.346 0, 966769.74 542770.382 0, 967069.121 542768.434 0, 967368.502 542766.505 0, 967667.883 542764.593 0, 967967.263 542762.699 0, 968266.644 542760.822 0, 968566.026 542758.963 0,
+ 968865.407 542757.122 0, 969164.788 542755.298 0, 969464.17 542753.492 0, 969763.551 542751.704 0, 970062.933 542749.933 0, 970362.314 542748.18 0, 970661.696 542746.444 0, 970961.078 542744.726 0, 971259.007 542743.034 0, 971227.588 537182.615 0,
+ 971196.172 531622.58 0))
+
+POLYGON ((985629.446 542682.135 0, 985331.511 542682.985 0, 985032.126 542683.858 0, 984732.74 542684.747 0, 984433.355 542685.655 0, 984133.969 542686.58 0, 983834.584 542687.523 0, 983535.199 542688.483 0, 983235.813 542689.461 0, 982936.428 542690.456 0,
+ 982637.043 542691.469 0, 982337.658 542692.5 0, 982038.273 542693.548 0, 981738.888 542694.614 0, 981439.503 542695.698 0, 981140.118 542696.799 0, 980840.733 542697.918 0, 980541.348 542699.055 0, 980241.964 542700.209 0, 979942.579 542701.381 0,
+ 979643.195 542702.57 0, 979343.81 542703.777 0, 979044.426 542705.001 0, 978745.041 542706.244 0, 978444.205 542707.51 0, 978146.273 542708.781 0, 977846.889 542710.076 0, 977547.505 542711.389 0, 977248.121 542712.719 0, 976948.737 542714.067 0,
+ 976649.353 542715.433 0, 976349.97 542716.816 0, 976050.586 542718.217 0, 975751.203 542719.635 0, 975451.819 542721.071 0, 975152.436 542722.525 0, 974853.052 542723.996 0, 974553.669 542725.485 0, 974254.286 542726.991 0, 973954.903 542728.516 0,
+ 973655.52 542730.057 0, 973356.137 542731.617 0, 973056.755 542733.194 0, 972757.372 542734.788 0, 972457.99 542736.401 0, 972158.607 542738.031 0, 971859.225 542739.678 0, 971559.842 542741.343 0, 971259.007 542743.034 0, 971290.428 548303.833 0,
+ 971321.851 553865.01 0, 971622.029 553863.323 0, 971920.756 553861.661 0, 972219.484 553860.018 0, 972518.212 553858.391 0, 972816.94 553856.782 0, 973115.668 553855.191 0, 973414.396 553853.618 0, 973713.124 553852.062 0, 974011.852 553850.523 0,
+ 974310.581 553849.003 0, 974609.309 553847.499 0, 974908.038 553846.014 0, 975206.766 553844.546 0, 975505.495 553843.095 0, 975804.224 553841.662 0, 976102.953 553840.247 0, 976401.682 553838.849 0, 976700.411 553837.469 0, 976999.14 553836.106 0,
+ 977297.869 553834.761 0, 977596.599 553833.434 0, 977895.328 553832.124 0, 978194.058 553830.832 0, 978491.338 553829.563 0, 978791.517 553828.3 0, 979090.246 553827.061 0, 979388.976 553825.839 0, 979687.706 553824.634 0, 979986.436 553823.448 0,
+ 980285.166 553822.279 0, 980583.896 553821.127 0, 980882.626 553819.993 0, 981181.356 553818.876 0, 981480.086 553817.778 0, 981778.817 553816.696 0, 982077.547 553815.633 0, 982376.278 553814.587 0, 982675.008 553813.558 0, 982973.739 553812.547 0,
+ 983272.469 553811.554 0, 983571.2 553810.578 0, 983869.931 553809.62 0, 984168.661 553808.679 0, 984467.392 553807.756 0, 984766.123 553806.851 0, 985064.854 553805.963 0, 985363.585 553805.093 0, 985660.868 553804.244 0, 985645.157 548243.001 0,
+ 985629.446 542682.135 0))
+
+POLYGON ((1000000 553783.989 0, 999702.713 553783.998 0, 999403.981 553784.024 0, 999105.249 553784.068 0, 998806.516 553784.129 0, 998507.784 553784.208 0, 998209.052 553784.305 0, 997910.32 553784.419 0, 997611.587 553784.551 0, 997312.855 553784.7 0,
+ 997014.123 553784.867 0, 996715.391 553785.052 0, 996416.659 553785.254 0, 996117.926 553785.473 0, 995819.194 553785.711 0, 995520.462 553785.966 0, 995221.73 553786.238 0, 994922.998 553786.528 0, 994624.266 553786.836 0, 994325.534 553787.161 0,
+ 994026.802 553787.504 0, 993728.07 553787.864 0, 993429.338 553788.242 0, 993130.606 553788.638 0, 992830.427 553789.053 0, 992533.142 553789.481 0, 992234.41 553789.93 0, 991935.678 553790.395 0, 991636.946 553790.879 0, 991338.214 553791.38 0,
+ 991039.482 553791.899 0, 990740.75 553792.435 0, 990442.019 553792.989 0, 990143.287 553793.56 0, 989844.555 553794.149 0, 989545.824 553794.755 0, 989247.092 553795.379 0, 988948.361 553796.021 0, 988649.629 553796.68 0, 988350.898 553797.357 0,
+ 988052.166 553798.052 0, 987753.435 553798.764 0, 987454.703 553799.493 0, 987155.972 553800.24 0, 986857.241 553801.005 0, 986558.509 553801.788 0, 986259.778 553802.588 0, 985961.047 553803.405 0, 985660.868 553804.244 0, 985676.581 559365.862 0,
+ 985692.295 564927.851 0, 985991.816 564927.013 0, 986289.892 564926.198 0, 986587.968 564925.399 0, 986886.045 564924.619 0, 987184.122 564923.856 0, 987482.198 564923.11 0, 987780.275 564922.382 0, 988078.352 564921.672 0, 988376.428 564920.979 0,
+ 988674.505 564920.303 0, 988972.582 564919.646 0, 989270.659 564919.005 0, 989568.736 564918.383 0, 989866.813 564917.777 0, 990164.889 564917.19 0, 990462.966 564916.62 0, 990761.044 564916.067 0, 991059.121 564915.532 0, 991357.198 564915.015 0,
+ 991655.275 564914.515 0, 991953.352 564914.032 0, 992251.429 564913.567 0, 992549.506 564913.12 0, 992846.14 564912.692 0, 993145.661 564912.278 0, 993443.738 564911.883 0, 993741.815 564911.506 0, 994039.893 564911.147 0, 994337.97 564910.805 0,
+ 994636.047 564910.48 0, 994934.125 564910.173 0, 995232.202 564909.884 0, 995530.28 564909.612 0, 995828.357 564909.358 0, 996126.435 564909.121 0, 996424.512 564908.902 0, 996722.589 564908.7 0, 997020.667 564908.516 0, 997318.744 564908.349 0,
+ 997616.822 564908.2 0, 997914.899 564908.069 0, 998212.977 564907.955 0, 998511.055 564907.859 0, 998809.132 564907.78 0, 999107.21 564907.718 0, 999405.287 564907.675 0, 999703.365 564907.648 0, 1000000 564907.64 0, 1000000 559345.629 0,
+ 1000000 553783.989 0))
+
+POLYGON ((1014307.705 564927.851 0, 1014011.069 564927.021 0, 1013712.992 564926.205 0, 1013414.916 564925.407 0, 1013116.839 564924.626 0, 1012818.763 564923.863 0, 1012520.686 564923.117 0, 1012222.61 564922.389 0, 1011924.533 564921.678 0, 1011626.456 564920.985 0,
+ 1011328.379 564920.31 0, 1011030.303 564919.652 0, 1010732.226 564919.011 0, 1010434.149 564918.388 0, 1010136.072 564917.783 0, 1009837.995 564917.195 0, 1009539.918 564916.625 0, 1009241.841 564916.072 0, 1008943.764 564915.537 0, 1008645.687 564915.019 0,
+ 1008347.61 564914.519 0, 1008049.532 564914.037 0, 1007751.455 564913.572 0, 1007453.378 564913.124 0, 1007153.86 564912.692 0, 1006857.224 564912.282 0, 1006559.146 564911.887 0, 1006261.069 564911.51 0, 1005962.992 564911.15 0, 1005664.914 564910.808 0,
+ 1005366.837 564910.483 0, 1005068.76 564910.176 0, 1004770.682 564909.887 0, 1004472.605 564909.615 0, 1004174.527 564909.36 0, 1003876.45 564909.123 0, 1003578.372 564908.904 0, 1003280.295 564908.702 0, 1002982.217 564908.518 0, 1002684.14 564908.351 0,
+ 1002386.062 564908.202 0, 1002087.985 564908.07 0, 1001789.907 564907.956 0, 1001491.83 564907.859 0, 1001193.752 564907.78 0, 1000895.675 564907.719 0, 1000597.597 564907.675 0, 1000299.52 564907.648 0, 1000000 564907.64 0, 1000000 570470.019 0,
+ 1000000 576032.762 0, 1000298.862 576032.771 0, 1000596.285 576032.797 0, 1000893.707 576032.841 0, 1001191.13 576032.903 0, 1001488.553 576032.981 0, 1001785.975 576033.078 0, 1002083.398 576033.192 0, 1002380.821 576033.323 0, 1002678.244 576033.472 0,
+ 1002975.666 576033.638 0, 1003273.089 576033.822 0, 1003570.512 576034.024 0, 1003867.934 576034.243 0, 1004165.357 576034.479 0, 1004462.78 576034.733 0, 1004760.202 576035.004 0, 1005057.625 576035.293 0, 1005355.047 576035.6 0, 1005652.47 576035.924 0,
+ 1005949.892 576036.265 0, 1006247.315 576036.624 0, 1006544.738 576037 0, 1006842.16 576037.394 0, 1007138.145 576037.804 0, 1007437.005 576038.235 0, 1007734.427 576038.681 0, 1008031.85 576039.145 0, 1008329.272 576039.627 0, 1008626.694 576040.126 0,
+ 1008924.117 576040.642 0, 1009221.539 576041.176 0, 1009518.961 576041.728 0, 1009816.383 576042.297 0, 1010113.805 576042.883 0, 1010411.228 576043.487 0, 1010708.65 576044.109 0, 1011006.072 576044.748 0, 1011303.494 576045.405 0, 1011600.916 576046.079 0,
+ 1011898.338 576046.77 0, 1012195.76 576047.479 0, 1012493.181 576048.206 0, 1012790.603 576048.95 0, 1013088.025 576049.711 0, 1013385.447 576050.491 0, 1013682.868 576051.287 0, 1013980.29 576052.101 0, 1014276.275 576052.929 0, 1014291.991 570490.207 0,
+ 1014307.705 564927.851 0))
+
+POLYGON ((1028552.436 576113.428 0, 1028256.452 576111.765 0, 1027959.034 576110.11 0, 1027661.616 576108.473 0, 1027364.197 576106.854 0, 1027066.779 576105.252 0, 1026769.36 576103.668 0, 1026471.942 576102.101 0, 1026174.523 576100.552 0, 1025877.104 576099.02 0,
+ 1025579.685 576097.505 0, 1025282.267 576096.009 0, 1024984.847 576094.529 0, 1024687.428 576093.068 0, 1024390.009 576091.623 0, 1024092.59 576090.196 0, 1023795.17 576088.787 0, 1023497.751 576087.395 0, 1023200.331 576086.021 0, 1022902.912 576084.664 0,
+ 1022605.492 576083.325 0, 1022308.072 576082.003 0, 1022010.652 576080.699 0, 1021713.232 576079.412 0, 1021414.377 576078.137 0, 1021118.392 576076.891 0, 1020820.972 576075.657 0, 1020523.552 576074.44 0, 1020226.131 576073.241 0, 1019928.711 576072.059 0,
+ 1019631.291 576070.895 0, 1019333.87 576069.748 0, 1019036.449 576068.619 0, 1018739.029 576067.508 0, 1018441.608 576066.413 0, 1018144.187 576065.337 0, 1017846.766 576064.278 0, 1017549.345 576063.236 0, 1017251.924 576062.212 0, 1016954.503 576061.205 0,
+ 1016657.082 576060.216 0, 1016359.661 576059.244 0, 1016062.24 576058.29 0, 1015764.819 576057.353 0, 1015467.397 576056.434 0, 1015169.976 576055.533 0, 1014872.555 576054.649 0, 1014575.133 576053.782 0, 1014276.275 576052.929 0, 1014260.558 581616.012 0,
+ 1014244.84 587179.453 0, 1014543.04 587180.305 0, 1014839.807 587181.169 0, 1015136.574 587182.051 0, 1015433.34 587182.951 0, 1015730.107 587183.868 0, 1016026.873 587184.803 0, 1016323.639 587185.755 0, 1016620.406 587186.724 0, 1016917.172 587187.711 0,
+ 1017213.938 587188.716 0, 1017510.704 587189.738 0, 1017807.47 587190.777 0, 1018104.236 587191.834 0, 1018401.002 587192.908 0, 1018697.768 587194 0, 1018994.534 587195.109 0, 1019291.299 587196.236 0, 1019588.065 587197.38 0, 1019884.83 587198.542 0,
+ 1020181.596 587199.721 0, 1020478.361 587200.918 0, 1020775.127 587202.132 0, 1021071.892 587203.363 0, 1021367.225 587204.606 0, 1021665.422 587205.879 0, 1021962.188 587207.162 0, 1022258.953 587208.464 0, 1022555.717 587209.783 0, 1022852.482 587211.119 0,
+ 1023149.247 587212.473 0, 1023446.012 587213.844 0, 1023742.776 587215.233 0, 1024039.541 587216.639 0, 1024336.305 587218.063 0, 1024633.07 587219.504 0, 1024929.834 587220.962 0, 1025226.598 587222.438 0, 1025523.362 587223.932 0, 1025820.126 587225.443 0,
+ 1026116.89 587226.971 0, 1026413.654 587228.517 0, 1026710.418 587230.081 0, 1027007.181 587231.661 0, 1027303.945 587233.26 0, 1027600.708 587234.876 0, 1027897.472 587236.509 0, 1028194.235 587238.16 0, 1028489.567 587239.82 0, 1028521.002 581676.445 0,
+ 1028552.436 576113.428 0))
+
+POLYGON ((1042734.066 587340.43 0, 1042438.738 587337.935 0, 1042141.98 587335.446 0, 1041845.223 587332.974 0, 1041548.465 587330.52 0, 1041251.707 587328.084 0, 1040954.949 587325.664 0, 1040658.191 587323.262 0, 1040361.433 587320.878 0, 1040064.674 587318.511 0,
+ 1039767.916 587316.162 0, 1039471.157 587313.83 0, 1039174.398 587311.515 0, 1038877.639 587309.218 0, 1038580.88 587306.939 0, 1038284.121 587304.677 0, 1037987.362 587302.432 0, 1037690.602 587300.205 0, 1037393.843 587297.996 0, 1037097.083 587295.803 0,
+ 1036800.323 587293.629 0, 1036503.563 587291.471 0, 1036206.803 587289.332 0, 1035910.042 587287.209 0, 1035611.852 587285.094 0, 1035316.522 587283.017 0, 1035019.761 587280.947 0, 1034723 587278.895 0, 1034426.239 587276.86 0, 1034129.478 587274.842 0,
+ 1033832.717 587272.842 0, 1033535.956 587270.859 0, 1033239.195 587268.894 0, 1032942.433 587266.947 0, 1032645.672 587265.016 0, 1032348.91 587263.104 0, 1032052.148 587261.208 0, 1031755.386 587259.331 0, 1031458.624 587257.47 0, 1031161.862 587255.627 0,
+ 1030865.1 587253.802 0, 1030568.337 587251.994 0, 1030271.575 587250.204 0, 1029974.812 587248.431 0, 1029678.05 587246.675 0, 1029381.287 587244.937 0, 1029084.524 587243.217 0, 1028787.761 587241.513 0, 1028489.567 587239.82 0, 1028458.129 592803.55 0,
+ 1028426.69 598367.632 0, 1028724.226 598369.322 0, 1029020.334 598371.021 0, 1029316.442 598372.738 0, 1029612.55 598374.472 0, 1029908.658 598376.224 0, 1030204.765 598377.993 0, 1030500.873 598379.779 0, 1030796.98 598381.583 0, 1031093.087 598383.405 0,
+ 1031389.194 598385.243 0, 1031685.302 598387.1 0, 1031981.408 598388.973 0, 1032277.515 598390.864 0, 1032573.622 598392.773 0, 1032869.729 598394.699 0, 1033165.835 598396.642 0, 1033461.942 598398.603 0, 1033758.048 598400.581 0, 1034054.154 598402.577 0,
+ 1034350.26 598404.59 0, 1034646.366 598406.62 0, 1034942.472 598408.668 0, 1035238.577 598410.734 0, 1035533.256 598412.806 0, 1035830.788 598414.917 0, 1036126.894 598417.034 0, 1036422.999 598419.169 0, 1036719.104 598421.322 0, 1037015.209 598423.492 0,
+ 1037311.314 598425.679 0, 1037607.418 598427.884 0, 1037903.523 598430.106 0, 1038199.627 598432.346 0, 1038495.732 598434.603 0, 1038791.836 598436.877 0, 1039087.94 598439.169 0, 1039384.044 598441.479 0, 1039680.147 598443.805 0, 1039976.251 598446.15 0,
+ 1040272.354 598448.511 0, 1040568.458 598450.89 0, 1040864.561 598453.287 0, 1041160.664 598455.701 0, 1041456.767 598458.132 0, 1041752.87 598460.581 0, 1042048.972 598463.047 0, 1042345.075 598465.531 0, 1042639.751 598468.02 0, 1042686.91 592904.049 0,
+ 1042734.066 587340.43 0))
+
+POLYGON ((1056852.472 598608.562 0, 1056557.802 598605.24 0, 1056261.707 598601.92 0, 1055965.613 598598.617 0, 1055669.518 598595.332 0, 1055373.423 598592.064 0, 1055077.328 598588.814 0, 1054781.233 598585.581 0, 1054485.138 598582.365 0, 1054189.042 598579.167 0,
+ 1053892.946 598575.986 0, 1053596.85 598572.823 0, 1053300.754 598569.677 0, 1053004.658 598566.548 0, 1052708.561 598563.437 0, 1052412.465 598560.344 0, 1052116.368 598557.268 0, 1051820.271 598554.209 0, 1051524.173 598551.168 0, 1051228.076 598548.144 0,
+ 1050931.978 598545.137 0, 1050635.88 598542.148 0, 1050339.782 598539.176 0, 1050043.684 598536.222 0, 1049746.161 598533.271 0, 1049451.488 598530.366 0, 1049155.389 598527.464 0, 1048859.29 598524.58 0, 1048563.191 598521.713 0, 1048267.092 598518.863 0,
+ 1047970.993 598516.031 0, 1047674.893 598513.216 0, 1047378.793 598510.419 0, 1047082.694 598507.639 0, 1046786.594 598504.876 0, 1046490.493 598502.131 0, 1046194.393 598499.404 0, 1045898.293 598496.694 0, 1045602.192 598494.001 0, 1045306.091 598491.326 0,
+ 1045009.99 598488.668 0, 1044713.889 598486.027 0, 1044417.788 598483.404 0, 1044121.686 598480.798 0, 1043825.585 598478.21 0, 1043529.483 598475.639 0, 1043233.381 598473.086 0, 1042937.279 598470.55 0, 1042639.751 598468.02 0, 1042592.589 604032.339 0,
+ 1042545.425 609597.004 0, 1042842.294 609599.529 0, 1043137.741 609602.06 0, 1043433.188 609604.607 0, 1043728.635 609607.172 0, 1044024.082 609609.755 0, 1044319.528 609612.355 0, 1044614.974 609614.972 0, 1044910.42 609617.607 0, 1045205.866 609620.259 0,
+ 1045501.312 609622.928 0, 1045796.758 609625.615 0, 1046092.203 609628.319 0, 1046387.648 609631.041 0, 1046683.093 609633.78 0, 1046978.538 609636.536 0, 1047273.983 609639.31 0, 1047569.428 609642.101 0, 1047864.872 609644.91 0, 1048160.317 609647.735 0,
+ 1048455.761 609650.579 0, 1048751.205 609653.439 0, 1049046.649 609656.318 0, 1049342.092 609659.213 0, 1049636.114 609662.112 0, 1049932.979 609665.056 0, 1050228.422 609668.004 0, 1050523.865 609670.969 0, 1050819.308 609673.951 0, 1051114.75 609676.951 0,
+ 1051410.193 609679.968 0, 1051705.635 609683.003 0, 1052001.077 609686.055 0, 1052296.519 609689.124 0, 1052591.961 609692.211 0, 1052887.402 609695.315 0, 1053182.844 609698.437 0, 1053478.285 609701.576 0, 1053773.726 609704.732 0, 1054069.166 609707.906 0,
+ 1054364.607 609711.097 0, 1054660.047 609714.305 0, 1054955.488 609717.531 0, 1055250.928 609720.774 0, 1055546.368 609724.035 0, 1055841.807 609727.313 0, 1056137.247 609730.609 0, 1056432.686 609733.921 0, 1056726.705 609737.236 0, 1056789.59 604172.726 0,
+ 1056852.472 598608.562 0))
+
+POLYGON ((1070907.532 609917.531 0, 1070613.521 609913.386 0, 1070318.093 609909.239 0, 1070022.664 609905.108 0, 1069727.234 609900.996 0, 1069431.805 609896.9 0, 1069136.375 609892.822 0, 1068840.945 609888.762 0, 1068545.515 609884.719 0, 1068250.085 609880.693 0,
+ 1067954.654 609876.685 0, 1067659.223 609872.694 0, 1067363.792 609868.72 0, 1067068.361 609864.764 0, 1066772.929 609860.825 0, 1066477.498 609856.904 0, 1066182.066 609853 0, 1065886.633 609849.113 0, 1065591.201 609845.244 0, 1065295.768 609841.392 0,
+ 1065000.335 609837.557 0, 1064704.902 609833.74 0, 1064409.469 609829.941 0, 1064114.035 609826.158 0, 1063817.182 609822.375 0, 1063523.167 609818.646 0, 1063227.733 609814.916 0, 1062932.298 609811.203 0, 1062636.864 609807.507 0, 1062341.429 609803.829 0,
+ 1062045.993 609800.169 0, 1061750.558 609796.526 0, 1061455.122 609792.9 0, 1061159.687 609789.291 0, 1060864.251 609785.7 0, 1060568.814 609782.127 0, 1060273.378 609778.57 0, 1059977.941 609775.032 0, 1059682.505 609771.51 0, 1059387.068 609768.006 0,
+ 1059091.63 609764.519 0, 1058796.193 609761.05 0, 1058500.755 609757.598 0, 1058205.317 609754.163 0, 1057909.879 609750.746 0, 1057614.441 609747.347 0, 1057319.003 609743.964 0, 1057023.564 609740.599 0, 1056726.705 609737.236 0, 1056663.815 615302.087 0,
+ 1056600.922 620867.278 0, 1056897.123 620870.634 0, 1057191.906 620873.992 0, 1057486.689 620877.367 0, 1057781.473 620880.759 0, 1058076.256 620884.169 0, 1058371.038 620887.596 0, 1058665.821 620891.04 0, 1058960.603 620894.501 0, 1059255.386 620897.98 0,
+ 1059550.167 620901.477 0, 1059844.949 620904.99 0, 1060139.731 620908.521 0, 1060434.512 620912.07 0, 1060729.293 620915.636 0, 1061024.074 620919.219 0, 1061318.855 620922.819 0, 1061613.635 620926.437 0, 1061908.416 620930.072 0, 1062203.196 620933.724 0,
+ 1062497.976 620937.394 0, 1062792.755 620941.081 0, 1063087.535 620944.786 0, 1063382.314 620948.508 0, 1063675.677 620952.229 0, 1063971.872 620956.004 0, 1064266.65 620959.778 0, 1064561.428 620963.569 0, 1064856.206 620967.378 0, 1065150.984 620971.204 0,
+ 1065445.762 620975.047 0, 1065740.539 620978.908 0, 1066035.317 620982.786 0, 1066330.094 620986.681 0, 1066624.87 620990.594 0, 1066919.647 620994.524 0, 1067214.423 620998.471 0, 1067509.199 621002.436 0, 1067803.975 621006.418 0, 1068098.75 621010.418 0,
+ 1068393.526 621014.434 0, 1068688.301 621018.469 0, 1068983.076 621022.52 0, 1069277.85 621026.589 0, 1069572.625 621030.675 0, 1069867.399 621034.779 0, 1070162.173 621038.9 0, 1070456.946 621043.038 0, 1070750.305 621047.174 0, 1070828.921 615482.183 0,
+ 1070907.532 609917.531 0))
+
+POLYGON ((1084899.123 621267.043 0, 1084605.776 621262.079 0, 1084311.015 621257.108 0, 1084016.254 621252.154 0, 1083721.492 621247.218 0, 1083426.731 621242.299 0, 1083131.969 621237.397 0, 1082837.206 621232.513 0, 1082542.444 621227.646 0, 1082247.681 621222.796 0,
+ 1081952.918 621217.964 0, 1081658.155 621213.149 0, 1081363.391 621208.351 0, 1081068.627 621203.571 0, 1080773.863 621198.808 0, 1080479.098 621194.063 0, 1080184.334 621189.334 0, 1079889.569 621184.624 0, 1079594.803 621179.93 0, 1079300.038 621175.254 0,
+ 1079005.272 621170.595 0, 1078710.506 621165.954 0, 1078415.739 621161.33 0, 1078120.972 621156.723 0, 1077824.792 621152.112 0, 1077531.438 621147.562 0, 1077236.671 621143.007 0, 1076941.903 621138.47 0, 1076647.135 621133.95 0, 1076352.367 621129.447 0,
+ 1076057.598 621124.962 0, 1075762.829 621120.494 0, 1075468.06 621116.043 0, 1075173.291 621111.61 0, 1074878.521 621107.194 0, 1074583.751 621102.796 0, 1074288.981 621098.415 0, 1073994.211 621094.051 0, 1073699.44 621089.704 0, 1073404.669 621085.375 0,
+ 1073109.898 621081.063 0, 1072815.127 621076.769 0, 1072520.355 621072.492 0, 1072225.583 621068.232 0, 1071930.811 621063.99 0, 1071636.038 621059.765 0, 1071341.266 621055.557 0, 1071046.493 621051.367 0, 1070750.305 621047.174 0, 1070671.684 626612.5 0,
+ 1070593.059 632178.159 0, 1070888.589 632182.343 0, 1071182.706 632186.524 0, 1071476.824 632190.722 0, 1071770.941 632194.938 0, 1072065.058 632199.171 0, 1072359.175 632203.421 0, 1072653.292 632207.689 0, 1072947.408 632211.974 0, 1073241.524 632216.276 0,
+ 1073535.64 632220.595 0, 1073829.755 632224.932 0, 1074123.87 632229.286 0, 1074417.985 632233.658 0, 1074712.1 632238.046 0, 1075006.215 632242.452 0, 1075300.329 632246.876 0, 1075594.443 632251.317 0, 1075888.556 632255.774 0, 1076182.67 632260.25 0,
+ 1076476.783 632264.742 0, 1076770.896 632269.252 0, 1077065.009 632273.78 0, 1077359.121 632278.324 0, 1077651.822 632282.864 0, 1077947.345 632287.465 0, 1078241.456 632292.062 0, 1078535.568 632296.675 0, 1078829.679 632301.307 0, 1079123.79 632305.955 0,
+ 1079417.9 632310.621 0, 1079712.01 632315.304 0, 1080006.12 632320.004 0, 1080300.23 632324.722 0, 1080594.339 632329.457 0, 1080888.448 632334.209 0, 1081182.557 632338.979 0, 1081476.666 632343.765 0, 1081770.774 632348.57 0, 1082064.882 632353.391 0,
+ 1082358.989 632358.23 0, 1082653.097 632363.086 0, 1082947.204 632367.96 0, 1083241.311 632372.85 0, 1083535.417 632377.758 0, 1083829.524 632382.684 0, 1084123.629 632387.627 0, 1084417.735 632392.587 0, 1084710.431 632397.54 0, 1084804.78 626832.125 0,
+ 1084899.123 621267.043 0))
+
+POLYGON ((1098827.127 632656.804 0, 1098534.444 632651.024 0, 1098240.354 632645.233 0, 1097946.263 632639.459 0, 1097652.172 632633.703 0, 1097358.08 632627.964 0, 1097063.988 632622.242 0, 1096769.896 632616.538 0, 1096475.804 632610.851 0, 1096181.711 632605.181 0,
+ 1095887.618 632599.529 0, 1095593.524 632593.894 0, 1095299.43 632588.276 0, 1095005.336 632582.675 0, 1094711.242 632577.092 0, 1094417.147 632571.526 0, 1094123.052 632565.978 0, 1093828.956 632560.447 0, 1093534.86 632554.933 0, 1093240.764 632549.436 0,
+ 1092946.668 632543.957 0, 1092652.571 632538.495 0, 1092358.474 632533.05 0, 1092064.377 632527.623 0, 1091768.871 632522.187 0, 1091476.181 632516.82 0, 1091182.083 632511.444 0, 1090887.984 632506.086 0, 1090593.885 632500.745 0, 1090299.786 632495.422 0,
+ 1090005.686 632490.116 0, 1089711.586 632484.827 0, 1089417.486 632479.555 0, 1089123.385 632474.301 0, 1088829.284 632469.064 0, 1088535.183 632463.844 0, 1088241.082 632458.642 0, 1087946.98 632453.457 0, 1087652.878 632448.289 0, 1087358.775 632443.139 0,
+ 1087064.673 632438.006 0, 1086770.57 632432.89 0, 1086476.467 632427.791 0, 1086182.363 632422.71 0, 1085888.259 632417.646 0, 1085594.155 632412.6 0, 1085300.05 632407.57 0, 1085005.946 632402.558 0, 1084710.431 632397.54 0, 1084616.077 637963.284 0,
+ 1084521.716 643529.353 0, 1084816.573 643534.36 0, 1085110.022 643539.361 0, 1085403.471 643544.379 0, 1085696.92 643549.415 0, 1085990.369 643554.467 0, 1086283.818 643559.537 0, 1086577.266 643564.624 0, 1086870.713 643569.729 0, 1087164.161 643574.85 0,
+ 1087457.608 643579.989 0, 1087751.055 643585.145 0, 1088044.502 643590.319 0, 1088337.948 643595.51 0, 1088631.394 643600.718 0, 1088924.84 643605.943 0, 1089218.285 643611.186 0, 1089511.73 643616.445 0, 1089805.175 643621.723 0, 1090098.619 643627.017 0,
+ 1090392.063 643632.329 0, 1090685.507 643637.657 0, 1090978.951 643643.004 0, 1091272.394 643648.367 0, 1091564.431 643653.722 0, 1091859.279 643659.146 0, 1092152.721 643664.561 0, 1092446.163 643669.994 0, 1092739.605 643675.444 0, 1093033.046 643680.911 0,
+ 1093326.487 643686.395 0, 1093619.928 643691.897 0, 1093913.368 643697.416 0, 1094206.808 643702.952 0, 1094500.248 643708.505 0, 1094793.687 643714.076 0, 1095087.126 643719.664 0, 1095380.565 643725.269 0, 1095674.003 643730.892 0, 1095967.441 643736.532 0,
+ 1096260.879 643742.189 0, 1096554.316 643747.863 0, 1096847.753 643753.555 0, 1097141.19 643759.264 0, 1097434.626 643764.99 0, 1097728.062 643770.733 0, 1098021.498 643776.494 0, 1098314.933 643782.272 0, 1098606.964 643788.039 0, 1098717.049 638222.259 0,
+ 1098827.127 632656.804 0))
+
+POLYGON ((1112691.424 644086.518 0, 1112399.408 644079.926 0, 1112105.991 644073.319 0, 1111812.572 644066.729 0, 1111519.154 644060.157 0, 1111225.735 644053.601 0, 1110932.315 644047.063 0, 1110638.896 644040.543 0, 1110345.476 644034.04 0, 1110052.055 644027.553 0,
+ 1109758.634 644021.085 0, 1109465.213 644014.633 0, 1109171.791 644008.199 0, 1108878.369 644001.782 0, 1108584.947 643995.382 0, 1108291.524 643989 0, 1107998.101 643982.634 0, 1107704.677 643976.287 0, 1107411.253 643969.956 0, 1107117.829 643963.643 0,
+ 1106824.405 643957.346 0, 1106530.979 643951.068 0, 1106237.554 643944.806 0, 1105944.128 643938.562 0, 1105649.299 643932.305 0, 1105357.276 643926.125 0, 1105063.849 643919.932 0, 1104770.422 643913.757 0, 1104476.994 643907.599 0, 1104183.566 643901.459 0,
+ 1103890.138 643895.335 0, 1103596.709 643889.229 0, 1103303.28 643883.14 0, 1103009.851 643877.069 0, 1102716.421 643871.014 0, 1102422.991 643864.977 0, 1102129.56 643858.957 0, 1101836.13 643852.955 0, 1101542.699 643846.97 0, 1101249.267 643841.002 0,
+ 1100955.835 643835.051 0, 1100662.403 643829.118 0, 1100368.97 643823.201 0, 1100075.537 643817.303 0, 1099782.104 643811.421 0, 1099488.671 643805.557 0, 1099195.237 643799.71 0, 1098901.802 643793.88 0, 1098606.964 643788.039 0, 1098496.873 649354.143 0,
+ 1098386.775 654920.565 0, 1098680.955 654926.392 0, 1098973.734 654932.209 0, 1099266.513 654938.043 0, 1099559.291 654943.894 0, 1099852.069 654949.763 0, 1100144.847 654955.648 0, 1100437.624 654961.551 0, 1100730.401 654967.471 0, 1101023.178 654973.409 0,
+ 1101315.954 654979.363 0, 1101608.73 654985.335 0, 1101901.506 654991.324 0, 1102194.281 654997.331 0, 1102487.056 655003.354 0, 1102779.83 655009.395 0, 1103072.604 655015.453 0, 1103365.378 655021.528 0, 1103658.152 655027.621 0, 1103950.925 655033.731 0,
+ 1104243.698 655039.858 0, 1104536.47 655046.002 0, 1104829.242 655052.163 0, 1105122.013 655058.342 0, 1105413.385 655064.508 0, 1105707.556 655070.751 0, 1106000.326 655076.981 0, 1106293.096 655083.229 0, 1106585.866 655089.494 0, 1106878.636 655095.776 0,
+ 1107171.405 655102.075 0, 1107464.173 655108.392 0, 1107756.942 655114.725 0, 1108049.71 655121.076 0, 1108342.477 655127.444 0, 1108635.244 655133.83 0, 1108928.011 655140.233 0, 1109220.778 655146.652 0, 1109513.544 655153.09 0, 1109806.309 655159.544 0,
+ 1110099.075 655166.016 0, 1110391.84 655172.504 0, 1110684.604 655179.01 0, 1110977.368 655185.534 0, 1111270.132 655192.074 0, 1111562.896 655198.632 0, 1111855.659 655205.207 0, 1112148.421 655211.799 0, 1112439.785 655218.377 0, 1112565.608 649652.288 0,
+ 1112691.424 644086.518 0))
+
+POLYGON ((1126491.897 655555.89 0, 1126200.551 655548.489 0, 1125907.808 655541.07 0, 1125615.065 655533.668 0, 1125322.321 655526.283 0, 1125029.577 655518.916 0, 1124736.833 655511.565 0, 1124444.088 655504.232 0, 1124151.342 655496.916 0, 1123858.596 655489.617 0,
+ 1123565.85 655482.336 0, 1123273.103 655475.072 0, 1122980.356 655467.825 0, 1122687.609 655460.595 0, 1122394.861 655453.382 0, 1122102.112 655446.187 0, 1121809.363 655439.009 0, 1121516.614 655431.848 0, 1121223.864 655424.705 0, 1120931.114 655417.578 0,
+ 1120638.364 655410.469 0, 1120345.613 655403.377 0, 1120052.862 655396.302 0, 1119760.11 655389.245 0, 1119465.96 655382.171 0, 1119174.605 655375.182 0, 1118881.852 655368.176 0, 1118589.099 655361.188 0, 1118296.345 655354.216 0, 1118003.59 655347.262 0,
+ 1117710.836 655340.325 0, 1117418.081 655333.406 0, 1117125.325 655326.503 0, 1116832.569 655319.618 0, 1116539.813 655312.75 0, 1116247.056 655305.9 0, 1115954.299 655299.066 0, 1115661.542 655292.25 0, 1115368.784 655285.451 0, 1115076.026 655278.669 0,
+ 1114783.267 655271.905 0, 1114490.508 655265.157 0, 1114197.748 655258.427 0, 1113904.989 655251.714 0, 1113612.228 655245.019 0, 1113319.468 655238.34 0, 1113026.707 655231.679 0, 1112733.945 655225.035 0, 1112439.785 655218.377 0, 1112313.954 660784.782 0,
+ 1112188.117 666351.499 0, 1112481.619 666358.142 0, 1112773.725 666364.771 0, 1113065.831 666371.418 0, 1113357.936 666378.081 0, 1113650.041 666384.762 0, 1113942.146 666391.46 0, 1114234.25 666398.175 0, 1114526.354 666404.907 0, 1114818.457 666411.656 0,
+ 1115110.56 666418.423 0, 1115402.663 666425.206 0, 1115694.765 666432.007 0, 1115986.867 666438.826 0, 1116278.968 666445.661 0, 1116571.069 666452.513 0, 1116863.17 666459.383 0, 1117155.27 666466.27 0, 1117447.37 666473.174 0, 1117739.469 666480.096 0,
+ 1118031.568 666487.034 0, 1118323.667 666493.99 0, 1118615.765 666500.963 0, 1118907.863 666507.953 0, 1119198.566 666514.927 0, 1119492.057 666521.985 0, 1119784.154 666529.026 0, 1120076.25 666536.085 0, 1120368.345 666543.161 0, 1120660.441 666550.254 0,
+ 1120952.536 666557.365 0, 1121244.63 666564.492 0, 1121536.724 666571.637 0, 1121828.818 666578.799 0, 1122120.911 666585.978 0, 1122413.004 666593.175 0, 1122705.096 666600.388 0, 1122997.188 666607.619 0, 1123289.279 666614.867 0, 1123581.37 666622.132 0,
+ 1123873.461 666629.415 0, 1124165.551 666636.714 0, 1124457.641 666644.031 0, 1124749.73 666651.365 0, 1125041.819 666658.716 0, 1125333.908 666666.084 0, 1125625.996 666673.47 0, 1125918.083 666680.872 0, 1126208.777 666688.257 0, 1126350.341 661121.917 0,
+ 1126491.897 655555.89 0))
+
+POLYGON ((1140228.43 667064.624 0, 1139937.756 667056.419 0, 1139645.69 667048.191 0, 1139353.624 667039.98 0, 1139061.558 667031.787 0, 1138769.491 667023.61 0, 1138477.423 667015.451 0, 1138185.356 667007.309 0, 1137893.287 666999.185 0, 1137601.218 666991.077 0,
+ 1137309.149 666982.987 0, 1137017.079 666974.914 0, 1136725.009 666966.858 0, 1136432.938 666958.819 0, 1136140.867 666950.797 0, 1135848.795 666942.793 0, 1135556.723 666934.806 0, 1135264.65 666926.836 0, 1134972.577 666918.883 0, 1134680.503 666910.947 0,
+ 1134388.429 666903.029 0, 1134096.355 666895.128 0, 1133804.28 666887.243 0, 1133512.204 666879.377 0, 1133218.737 666871.49 0, 1132928.052 666863.694 0, 1132635.975 666855.879 0, 1132343.898 666848.081 0, 1132051.82 666840.3 0, 1131759.742 666832.536 0,
+ 1131467.663 666824.79 0, 1131175.584 666817.061 0, 1130883.505 666809.348 0, 1130591.425 666801.654 0, 1130299.344 666793.976 0, 1130007.263 666786.315 0, 1129715.182 666778.672 0, 1129423.1 666771.046 0, 1129131.018 666763.437 0, 1128838.935 666755.845 0,
+ 1128546.852 666748.27 0, 1128254.768 666740.713 0, 1127962.684 666733.173 0, 1127670.599 666725.65 0, 1127378.515 666718.144 0, 1127086.429 666710.655 0, 1126794.343 666703.184 0, 1126502.257 666695.729 0, 1126208.777 666688.257 0, 1126067.205 672254.905 0,
+ 1125925.626 677821.86 0, 1126218.447 677829.315 0, 1126509.878 677836.753 0, 1126801.309 677844.208 0, 1127092.739 677851.679 0, 1127384.168 677859.168 0, 1127675.598 677866.675 0, 1127967.026 677874.198 0, 1128258.455 677881.738 0, 1128549.883 677889.296 0,
+ 1128841.31 677896.871 0, 1129132.737 677904.463 0, 1129424.164 677912.072 0, 1129715.59 677919.698 0, 1130007.015 677927.341 0, 1130298.441 677935.002 0, 1130589.865 677942.68 0, 1130881.29 677950.374 0, 1131172.714 677958.086 0, 1131464.137 677965.815 0,
+ 1131755.56 677973.562 0, 1132046.982 677981.325 0, 1132338.404 677989.106 0, 1132629.826 677996.904 0, 1132919.858 678004.681 0, 1133212.668 678012.551 0, 1133504.088 678020.4 0, 1133795.508 678028.266 0, 1134086.927 678036.15 0, 1134378.346 678044.05 0,
+ 1134669.764 678051.968 0, 1134961.182 678059.903 0, 1135252.599 678067.855 0, 1135544.016 678075.824 0, 1135835.433 678083.811 0, 1136126.849 678091.814 0, 1136418.264 678099.835 0, 1136709.679 678107.873 0, 1137001.094 678115.928 0, 1137292.508 678124 0,
+ 1137583.921 678132.09 0, 1137875.334 678140.196 0, 1138166.747 678148.32 0, 1138458.159 678156.461 0, 1138749.571 678164.619 0, 1139040.982 678172.794 0, 1139332.393 678180.986 0, 1139623.803 678189.195 0, 1139913.825 678197.383 0, 1140071.132 672630.851 0,
+ 1140228.43 667064.624 0))
+
+POLYGON ((1153900.908 678612.423 0, 1153610.908 678603.417 0, 1153319.522 678594.384 0, 1153028.136 678585.368 0, 1152736.749 678576.37 0, 1152445.361 678567.389 0, 1152153.973 678558.425 0, 1151862.585 678549.478 0, 1151571.196 678540.548 0, 1151279.806 678531.636 0,
+ 1150988.416 678522.74 0, 1150697.025 678513.862 0, 1150405.634 678505.001 0, 1150114.243 678496.157 0, 1149822.85 678487.33 0, 1149531.458 678478.52 0, 1149240.064 678469.728 0, 1148948.671 678460.952 0, 1148657.276 678452.194 0, 1148365.882 678443.453 0,
+ 1148074.486 678434.729 0, 1147783.09 678426.022 0, 1147491.694 678417.332 0, 1147200.297 678408.66 0, 1146907.513 678399.964 0, 1146617.502 678391.366 0, 1146326.104 678382.745 0, 1146034.705 678374.142 0, 1145743.305 678365.555 0, 1145451.905 678356.985 0,
+ 1145160.505 678348.433 0, 1144869.104 678339.897 0, 1144577.703 678331.379 0, 1144286.301 678322.878 0, 1143994.899 678314.395 0, 1143703.496 678305.928 0, 1143412.092 678297.478 0, 1143120.688 678289.046 0, 1142829.284 678280.631 0, 1142537.879 678272.233 0,
+ 1142246.474 678263.852 0, 1141955.068 678255.488 0, 1141663.661 678247.141 0, 1141372.255 678238.812 0, 1141080.847 678230.5 0, 1140789.439 678222.204 0, 1140498.031 678213.926 0, 1140206.622 678205.666 0, 1139913.825 678197.383 0, 1139756.51 683764.217 0,
+ 1139599.187 689331.35 0, 1139891.325 689339.614 0, 1140182.078 689347.857 0, 1140472.831 689356.116 0, 1140763.584 689364.393 0, 1141054.336 689372.686 0, 1141345.088 689380.997 0, 1141635.839 689389.325 0, 1141926.589 689397.67 0, 1142217.339 689406.032 0,
+ 1142508.089 689414.411 0, 1142798.838 689422.807 0, 1143089.586 689431.221 0, 1143380.334 689439.651 0, 1143671.082 689448.099 0, 1143961.829 689456.564 0, 1144252.576 689465.045 0, 1144543.322 689473.544 0, 1144834.067 689482.061 0, 1145124.813 689490.594 0,
+ 1145415.557 689499.144 0, 1145706.301 689507.711 0, 1145997.045 689516.296 0, 1146287.788 689524.898 0, 1146577.147 689533.475 0, 1146869.272 689542.152 0, 1147160.014 689550.805 0, 1147450.755 689559.475 0, 1147741.496 689568.163 0, 1148032.236 689576.867 0,
+ 1148322.975 689585.588 0, 1148613.714 689594.327 0, 1148904.453 689603.083 0, 1149195.191 689611.855 0, 1149485.928 689620.645 0, 1149776.665 689629.452 0, 1150067.401 689638.276 0, 1150358.137 689647.118 0, 1150648.873 689655.976 0, 1150939.607 689664.851 0,
+ 1151230.342 689673.744 0, 1151521.075 689682.654 0, 1151811.809 689691.58 0, 1152102.542 689700.524 0, 1152393.274 689709.485 0, 1152684.005 689718.463 0, 1152974.737 689727.459 0, 1153265.467 689736.471 0, 1153554.815 689745.457 0, 1153727.866 684178.791 0,
+ 1153900.908 678612.423 0))
+
+POLYGON ((1167509.218 690198.99 0, 1167219.895 690189.186 0, 1166929.191 690179.353 0, 1166638.486 690169.536 0, 1166347.781 690159.737 0, 1166057.075 690149.954 0, 1165766.369 690140.189 0, 1165475.662 690130.441 0, 1165184.954 690120.71 0, 1164894.246 690110.996 0,
+ 1164603.538 690101.299 0, 1164312.829 690091.62 0, 1164022.119 690081.957 0, 1163731.408 690072.312 0, 1163440.698 690062.683 0, 1163149.986 690053.072 0, 1162859.274 690043.478 0, 1162568.562 690033.901 0, 1162277.848 690024.341 0, 1161987.135 690014.798 0,
+ 1161696.42 690005.273 0, 1161405.706 689995.764 0, 1161114.99 689986.272 0, 1160824.274 689976.798 0, 1160532.177 689967.296 0, 1160242.841 689957.901 0, 1159952.123 689948.478 0, 1159661.405 689939.072 0, 1159370.686 689929.683 0, 1159079.967 689920.311 0,
+ 1158789.247 689910.957 0, 1158498.527 689901.619 0, 1158207.806 689892.299 0, 1157917.084 689882.996 0, 1157626.362 689873.71 0, 1157335.64 689864.441 0, 1157044.917 689855.189 0, 1156754.193 689845.954 0, 1156463.469 689836.736 0, 1156172.744 689827.536 0,
+ 1155882.019 689818.352 0, 1155591.293 689809.186 0, 1155300.567 689800.037 0, 1155009.84 689790.904 0, 1154719.112 689781.789 0, 1154428.384 689772.692 0, 1154137.656 689763.611 0, 1153846.927 689754.547 0, 1153554.815 689745.457 0, 1153381.755 695312.419 0,
+ 1153208.685 700879.673 0, 1153500.139 700888.743 0, 1153790.212 700897.786 0, 1154080.285 700906.846 0, 1154370.358 700915.924 0, 1154660.43 700925.018 0, 1154950.502 700934.13 0, 1155240.573 700943.258 0, 1155530.643 700952.404 0, 1155820.713 700961.567 0,
+ 1156110.783 700970.746 0, 1156400.851 700979.943 0, 1156690.92 700989.157 0, 1156980.988 700998.388 0, 1157271.055 701007.636 0, 1157561.122 701016.902 0, 1157851.188 701026.184 0, 1158141.253 701035.483 0, 1158431.318 701044.8 0, 1158721.383 701054.133 0,
+ 1159011.447 701063.484 0, 1159301.51 701072.851 0, 1159591.573 701082.236 0, 1159881.635 701091.638 0, 1160170.319 701101.012 0, 1160461.758 701110.493 0, 1160751.819 701119.946 0, 1161041.879 701129.416 0, 1161331.939 701138.903 0, 1161621.997 701148.407 0,
+ 1161912.056 701157.928 0, 1162202.114 701167.467 0, 1162492.171 701177.022 0, 1162782.228 701186.595 0, 1163072.284 701196.184 0, 1163362.339 701205.791 0, 1163652.394 701215.415 0, 1163942.449 701225.055 0, 1164232.503 701234.713 0, 1164522.556 701244.388 0,
+ 1164812.609 701254.08 0, 1165102.661 701263.789 0, 1165392.713 701273.515 0, 1165682.764 701283.259 0, 1165972.814 701293.019 0, 1166262.864 701302.796 0, 1166552.913 701312.591 0, 1166842.962 701322.402 0, 1167131.634 701332.184 0, 1167320.431 695765.441 0,
+ 1167509.218 690198.99 0))
+
+POLYGON ((1181053.248 701824.028 0, 1180764.603 701813.43 0, 1180474.583 701802.799 0, 1180184.563 701792.186 0, 1179894.541 701781.589 0, 1179604.52 701771.009 0, 1179314.497 701760.446 0, 1179024.474 701749.901 0, 1178734.451 701739.372 0, 1178444.427 701728.861 0,
+ 1178154.402 701718.367 0, 1177864.376 701707.889 0, 1177574.35 701697.429 0, 1177284.324 701686.986 0, 1176994.296 701676.56 0, 1176704.268 701666.151 0, 1176414.24 701655.759 0, 1176124.211 701645.384 0, 1175834.181 701635.026 0, 1175544.151 701624.686 0,
+ 1175254.12 701614.362 0, 1174964.088 701604.055 0, 1174674.056 701593.766 0, 1174384.023 701583.494 0, 1174092.614 701573.19 0, 1173803.956 701563 0, 1173513.921 701552.779 0, 1173223.886 701542.575 0, 1172933.85 701532.387 0, 1172643.814 701522.217 0,
+ 1172353.777 701512.065 0, 1172063.739 701501.929 0, 1171773.701 701491.81 0, 1171483.662 701481.708 0, 1171193.623 701471.623 0, 1170903.583 701461.556 0, 1170613.543 701451.505 0, 1170323.501 701441.472 0, 1170033.46 701431.456 0, 1169743.417 701421.456 0,
+ 1169453.374 701411.474 0, 1169163.331 701401.509 0, 1168873.287 701391.561 0, 1168583.242 701381.63 0, 1168293.197 701371.716 0, 1168003.151 701361.819 0, 1167713.105 701351.939 0, 1167423.058 701342.076 0, 1167131.634 701332.184 0, 1166942.827 706899.216 0,
+ 1166754.01 712466.532 0, 1167044.776 712476.402 0, 1167334.167 712486.243 0, 1167623.558 712496.1 0, 1167912.949 712505.975 0, 1168202.339 712515.866 0, 1168491.728 712525.775 0, 1168781.117 712535.7 0, 1169070.505 712545.643 0, 1169359.892 712555.603 0,
+ 1169649.279 712565.579 0, 1169938.666 712575.573 0, 1170228.052 712585.584 0, 1170517.437 712595.612 0, 1170806.821 712605.657 0, 1171096.205 712615.718 0, 1171385.589 712625.797 0, 1171674.972 712635.893 0, 1171964.354 712646.006 0, 1172253.736 712656.136 0,
+ 1172543.117 712666.283 0, 1172832.497 712676.447 0, 1173121.877 712686.628 0, 1173411.256 712696.827 0, 1173699.263 712706.993 0, 1173990.013 712717.274 0, 1174279.391 712727.523 0, 1174568.767 712737.789 0, 1174858.144 712748.073 0, 1175147.519 712758.373 0,
+ 1175436.894 712768.69 0, 1175726.269 712779.025 0, 1176015.643 712789.376 0, 1176305.016 712799.745 0, 1176594.388 712810.13 0, 1176883.76 712820.533 0, 1177173.132 712830.952 0, 1177462.503 712841.389 0, 1177751.873 712851.842 0, 1178041.242 712862.313 0,
+ 1178330.611 712872.801 0, 1178619.979 712883.305 0, 1178909.347 712893.827 0, 1179198.714 712904.366 0, 1179488.081 712914.922 0, 1179777.446 712925.494 0, 1180066.812 712936.084 0, 1180356.176 712946.691 0, 1180644.169 712957.265 0, 1180848.714 707390.504 0,
+ 1181053.248 701824.028 0))
+
+POLYGON ((1194532.886 713487.237 0, 1194244.922 713475.85 0, 1193955.589 713464.426 0, 1193666.255 713453.018 0, 1193376.92 713441.628 0, 1193087.585 713430.255 0, 1192798.248 713418.899 0, 1192508.912 713407.559 0, 1192219.574 713396.237 0, 1191930.236 713384.932 0,
+ 1191640.897 713373.644 0, 1191351.558 713362.373 0, 1191062.218 713351.119 0, 1190772.877 713339.882 0, 1190483.535 713328.662 0, 1190194.193 713317.459 0, 1189904.851 713306.273 0, 1189615.507 713295.104 0, 1189326.163 713283.952 0, 1189036.818 713272.817 0,
+ 1188747.473 713261.7 0, 1188458.127 713250.599 0, 1188168.78 713239.515 0, 1187879.433 713228.448 0, 1187588.715 713217.346 0, 1187300.736 713206.366 0, 1187011.387 713195.35 0, 1186722.037 713184.352 0, 1186432.686 713173.37 0, 1186143.335 713162.406 0,
+ 1185853.983 713151.458 0, 1185564.631 713140.528 0, 1185275.277 713129.614 0, 1184985.924 713118.718 0, 1184696.569 713107.838 0, 1184407.214 713096.976 0, 1184117.858 713086.131 0, 1183828.502 713075.302 0, 1183539.145 713064.491 0, 1183249.787 713053.697 0,
+ 1182960.429 713042.92 0, 1182671.07 713032.159 0, 1182381.711 713021.416 0, 1182092.35 713010.69 0, 1181802.99 712999.981 0, 1181513.628 712989.289 0, 1181224.266 712978.614 0, 1180934.903 712967.956 0, 1180644.169 712957.265 0, 1180439.614 718524.307 0,
+ 1180235.049 724091.629 0, 1180525.125 724102.296 0, 1180813.832 724112.929 0, 1181102.539 724123.58 0, 1181391.245 724134.248 0, 1181679.95 724144.933 0, 1181968.655 724155.635 0, 1182257.359 724166.354 0, 1182546.063 724177.089 0, 1182834.766 724187.842 0,
+ 1183123.468 724198.612 0, 1183412.17 724209.399 0, 1183700.871 724220.203 0, 1183989.571 724231.023 0, 1184278.271 724241.861 0, 1184566.97 724252.716 0, 1184855.669 724263.588 0, 1185144.367 724274.476 0, 1185433.064 724285.382 0, 1185721.76 724296.305 0,
+ 1186010.456 724307.244 0, 1186299.152 724318.201 0, 1186587.846 724329.175 0, 1186876.54 724340.166 0, 1187163.867 724351.121 0, 1187453.926 724362.198 0, 1187742.618 724373.24 0, 1188031.31 724384.298 0, 1188320 724395.374 0, 1188608.69 724406.466 0,
+ 1188897.38 724417.576 0, 1189186.069 724428.703 0, 1189474.757 724439.846 0, 1189763.444 724451.007 0, 1190052.131 724462.185 0, 1190340.817 724473.379 0, 1190629.503 724484.591 0, 1190918.188 724495.819 0, 1191206.872 724507.065 0, 1191495.555 724518.327 0,
+ 1191784.238 724529.607 0, 1192072.92 724540.903 0, 1192361.602 724552.217 0, 1192650.283 724563.548 0, 1192938.963 724574.895 0, 1193227.642 724586.26 0, 1193516.321 724597.641 0, 1193804.999 724609.039 0, 1194092.311 724620.401 0, 1194312.604 719053.68 0,
+ 1194532.886 713487.237 0))
+
+POLYGON ((1207948.024 725188.32 0, 1207660.744 725176.147 0, 1207372.099 725163.933 0, 1207083.453 725151.736 0, 1206794.807 725139.556 0, 1206506.16 725127.393 0, 1206217.512 725115.247 0, 1205928.864 725103.118 0, 1205640.215 725091.006 0, 1205351.565 725078.911 0,
+ 1205062.914 725066.833 0, 1204774.263 725054.772 0, 1204485.611 725042.728 0, 1204196.959 725030.701 0, 1203908.305 725018.69 0, 1203619.651 725006.697 0, 1203330.996 724994.721 0, 1203042.341 724982.762 0, 1202753.685 724970.82 0, 1202465.028 724958.895 0,
+ 1202176.37 724946.986 0, 1201887.712 724935.095 0, 1201599.053 724923.221 0, 1201310.393 724911.364 0, 1201020.368 724899.468 0, 1200733.072 724887.7 0, 1200444.41 724875.894 0, 1200155.747 724864.105 0, 1199867.084 724852.332 0, 1199578.42 724840.577 0,
+ 1199289.756 724828.839 0, 1199001.091 724817.118 0, 1198712.425 724805.413 0, 1198423.758 724793.726 0, 1198135.091 724782.056 0, 1197846.423 724770.402 0, 1197557.754 724758.766 0, 1197269.085 724747.147 0, 1196980.415 724735.544 0, 1196691.744 724723.959 0,
+ 1196403.072 724712.39 0, 1196114.4 724700.839 0, 1195825.728 724689.305 0, 1195537.054 724677.787 0, 1195248.38 724666.287 0, 1194959.705 724654.803 0, 1194671.03 724643.337 0, 1194382.354 724631.887 0, 1194092.311 724620.401 0, 1193872.007 730187.397 0,
+ 1193651.692 735754.664 0, 1193941.076 735766.124 0, 1194229.097 735777.547 0, 1194517.117 735788.988 0, 1194805.137 735800.445 0, 1195093.156 735811.92 0, 1195381.174 735823.411 0, 1195669.191 735834.919 0, 1195957.208 735846.444 0, 1196245.224 735857.986 0,
+ 1196533.239 735869.545 0, 1196821.254 735881.121 0, 1197109.268 735892.714 0, 1197397.282 735904.324 0, 1197685.294 735915.951 0, 1197973.306 735927.595 0, 1198261.318 735939.256 0, 1198549.328 735950.934 0, 1198837.338 735962.628 0, 1199125.347 735974.34 0,
+ 1199413.356 735986.069 0, 1199701.364 735997.814 0, 1199989.371 736009.577 0, 1200277.377 736021.356 0, 1200564.022 736033.097 0, 1200853.388 736044.966 0, 1201141.393 736056.796 0, 1201429.396 736068.643 0, 1201717.399 736080.508 0, 1202005.402 736092.389 0,
+ 1202293.403 736104.287 0, 1202581.404 736116.202 0, 1202869.404 736128.134 0, 1203157.404 736140.083 0, 1203445.403 736152.049 0, 1203733.401 736164.032 0, 1204021.398 736176.032 0, 1204309.395 736188.048 0, 1204597.391 736200.082 0, 1204885.386 736212.133 0,
+ 1205173.381 736224.2 0, 1205461.374 736236.285 0, 1205749.368 736248.386 0, 1206037.36 736260.505 0, 1206325.352 736272.64 0, 1206613.343 736284.793 0, 1206901.333 736296.962 0, 1207189.322 736309.148 0, 1207475.951 736321.294 0, 1207711.993 730754.672 0,
+ 1207948.024 725188.32 0))
+
+POLYGON ((1221298.554 736926.978 0, 1221011.958 736914.023 0, 1220724.004 736901.023 0, 1220436.05 736888.04 0, 1220148.094 736875.074 0, 1219860.138 736862.125 0, 1219572.181 736849.193 0, 1219284.223 736836.278 0, 1218996.265 736823.38 0, 1218708.305 736810.498 0,
+ 1218420.345 736797.634 0, 1218132.384 736784.787 0, 1217844.423 736771.956 0, 1217556.46 736759.143 0, 1217268.497 736746.346 0, 1216980.534 736733.567 0, 1216692.569 736720.804 0, 1216404.604 736708.059 0, 1216116.637 736695.33 0, 1215828.671 736682.618 0,
+ 1215540.703 736669.924 0, 1215252.735 736657.246 0, 1214964.766 736644.585 0, 1214676.796 736631.941 0, 1214387.466 736619.254 0, 1214100.854 736606.704 0, 1213812.882 736594.111 0, 1213524.909 736581.535 0, 1213236.936 736568.976 0, 1212948.961 736556.433 0,
+ 1212660.986 736543.908 0, 1212373.011 736531.4 0, 1212085.034 736518.908 0, 1211797.057 736506.434 0, 1211509.079 736493.976 0, 1211221.1 736481.536 0, 1210933.121 736469.112 0, 1210645.141 736456.706 0, 1210357.16 736444.316 0, 1210069.178 736431.943 0,
+ 1209781.196 736419.588 0, 1209493.213 736407.249 0, 1209205.229 736394.927 0, 1208917.245 736382.622 0, 1208629.259 736370.334 0, 1208341.273 736358.063 0, 1208053.287 736345.809 0, 1207765.299 736333.572 0, 1207475.951 736321.294 0, 1207239.897 741888.184 0,
+ 1207003.832 747455.338 0, 1207292.522 747467.588 0, 1207579.854 747479.798 0, 1207867.186 747492.024 0, 1208154.516 747504.267 0, 1208441.846 747516.527 0, 1208729.175 747528.804 0, 1209016.504 747541.098 0, 1209303.832 747553.408 0, 1209591.159 747565.736 0,
+ 1209878.485 747578.081 0, 1210165.81 747590.442 0, 1210453.135 747602.821 0, 1210740.459 747615.216 0, 1211027.783 747627.628 0, 1211315.105 747640.057 0, 1211602.427 747652.503 0, 1211889.748 747664.966 0, 1212177.069 747677.446 0, 1212464.389 747689.943 0,
+ 1212751.708 747702.457 0, 1213039.026 747714.987 0, 1213326.343 747727.535 0, 1213613.66 747740.099 0, 1213899.62 747752.621 0, 1214188.291 747765.279 0, 1214475.606 747777.894 0, 1214762.92 747790.526 0, 1215050.233 747803.175 0, 1215337.545 747815.841 0,
+ 1215624.857 747828.524 0, 1215912.167 747841.223 0, 1216199.477 747853.94 0, 1216486.787 747866.673 0, 1216774.095 747879.424 0, 1217061.403 747892.191 0, 1217348.71 747904.975 0, 1217636.017 747917.777 0, 1217923.322 747930.595 0, 1218210.627 747943.43 0,
+ 1218497.931 747956.282 0, 1218785.234 747969.15 0, 1219072.537 747982.036 0, 1219359.839 747994.939 0, 1219647.14 748007.858 0, 1219934.44 748020.795 0, 1220221.739 748033.748 0, 1220509.038 748046.718 0, 1220794.981 748059.644 0, 1221046.773 742493.179 0,
+ 1221298.554 736926.978 0))
+
+POLYGON ((1234584.368 748702.91 0, 1234298.46 748689.176 0, 1234011.199 748675.394 0, 1233723.937 748661.629 0, 1233436.675 748647.881 0, 1233149.411 748634.15 0, 1232862.147 748620.436 0, 1232574.882 748606.739 0, 1232287.616 748593.058 0, 1232000.35 748579.395 0,
+ 1231713.082 748565.748 0, 1231425.814 748552.118 0, 1231138.545 748538.505 0, 1230851.275 748524.91 0, 1230564.005 748511.331 0, 1230276.733 748497.769 0, 1229989.461 748484.223 0, 1229702.188 748470.695 0, 1229414.915 748457.184 0, 1229127.64 748443.689 0,
+ 1228840.365 748430.212 0, 1228553.088 748416.751 0, 1228265.811 748403.307 0, 1227978.534 748389.881 0, 1227689.902 748376.407 0, 1227403.976 748363.078 0, 1227116.696 748349.702 0, 1226829.415 748336.342 0, 1226542.133 748323 0, 1226254.851 748309.675 0,
+ 1225967.567 748296.366 0, 1225680.283 748283.075 0, 1225392.999 748269.8 0, 1225105.713 748256.542 0, 1224818.427 748243.302 0, 1224531.139 748230.078 0, 1224243.851 748216.871 0, 1223956.563 748203.681 0, 1223669.273 748190.507 0, 1223381.983 748177.351 0,
+ 1223094.692 748164.212 0, 1222807.4 748151.089 0, 1222520.108 748137.984 0, 1222232.814 748124.895 0, 1221945.52 748111.823 0, 1221658.225 748098.769 0, 1221370.93 748085.731 0, 1221083.633 748072.71 0, 1220794.981 748059.644 0, 1220543.177 753626.37 0,
+ 1220291.361 759193.354 0, 1220579.355 759206.389 0, 1220865.996 759219.38 0, 1221152.637 759232.389 0, 1221439.276 759245.414 0, 1221725.915 759258.456 0, 1222012.553 759271.514 0, 1222299.19 759284.59 0, 1222585.827 759297.683 0, 1222872.463 759310.792 0,
+ 1223159.098 759323.918 0, 1223445.732 759337.061 0, 1223732.365 759350.221 0, 1224018.998 759363.398 0, 1224305.63 759376.592 0, 1224592.261 759389.803 0, 1224878.891 759403.03 0, 1225165.521 759416.274 0, 1225452.149 759429.536 0, 1225738.777 759442.814 0,
+ 1226025.405 759456.109 0, 1226312.031 759469.421 0, 1226598.657 759482.749 0, 1226885.281 759496.095 0, 1227170.555 759509.394 0, 1227458.529 759522.837 0, 1227745.151 759536.233 0, 1228031.773 759549.646 0, 1228318.394 759563.076 0, 1228605.014 759576.523 0,
+ 1228891.633 759589.986 0, 1229178.252 759603.467 0, 1229464.87 759616.964 0, 1229751.487 759630.479 0, 1230038.103 759644.01 0, 1230324.718 759657.558 0, 1230611.333 759671.123 0, 1230897.946 759684.704 0, 1231184.559 759698.303 0, 1231471.171 759711.918 0,
+ 1231757.783 759725.551 0, 1232044.393 759739.2 0, 1232331.003 759752.866 0, 1232617.612 759766.549 0, 1232904.22 759780.249 0, 1233190.827 759793.966 0, 1233477.434 759807.699 0, 1233764.04 759821.45 0, 1234049.295 759835.152 0, 1234316.838 754268.903 0,
+ 1234584.368 748702.91 0))
+
+POLYGON ((1247805.361 760515.817 0, 1247520.143 760501.309 0, 1247233.577 760486.748 0, 1246947.011 760472.205 0, 1246660.443 760457.679 0, 1246373.875 760443.169 0, 1246087.306 760428.677 0, 1245800.736 760414.201 0, 1245514.165 760399.742 0, 1245227.593 760385.3 0,
+ 1244941.021 760370.875 0, 1244654.447 760356.466 0, 1244367.873 760342.075 0, 1244081.298 760327.7 0, 1243794.722 760313.343 0, 1243508.145 760299.002 0, 1243221.568 760284.678 0, 1242934.989 760270.371 0, 1242648.41 760256.081 0, 1242361.83 760241.807 0,
+ 1242075.249 760227.551 0, 1241788.667 760213.311 0, 1241502.084 760199.088 0, 1241215.501 760184.882 0, 1240927.569 760170.627 0, 1240642.331 760156.521 0, 1240355.745 760142.366 0, 1240069.159 760128.227 0, 1239782.571 760114.106 0, 1239495.982 760100.001 0,
+ 1239209.393 760085.913 0, 1238922.803 760071.842 0, 1238636.212 760057.788 0, 1238349.62 760043.751 0, 1238063.028 760029.731 0, 1237776.434 760015.727 0, 1237489.84 760001.741 0, 1237203.245 759987.771 0, 1236916.649 759973.818 0, 1236630.052 759959.882 0,
+ 1236343.454 759945.963 0, 1236056.856 759932.061 0, 1235770.257 759918.175 0, 1235483.657 759904.307 0, 1235197.056 759890.455 0, 1234910.454 759876.62 0, 1234623.852 759862.802 0, 1234337.249 759849.001 0, 1234049.295 759835.152 0, 1233781.741 765401.656 0,
+ 1233514.174 770968.409 0, 1233801.469 770982.226 0, 1234087.417 770995.996 0, 1234373.364 771009.782 0, 1234659.311 771023.585 0, 1234945.256 771037.405 0, 1235231.201 771051.242 0, 1235517.145 771065.096 0, 1235803.088 771078.966 0, 1236089.03 771092.854 0,
+ 1236374.972 771106.758 0, 1236660.912 771120.679 0, 1236946.852 771134.617 0, 1237232.791 771148.571 0, 1237518.73 771162.543 0, 1237804.667 771176.531 0, 1238090.603 771190.536 0, 1238376.539 771204.558 0, 1238662.474 771218.597 0, 1238948.408 771232.652 0,
+ 1239234.341 771246.725 0, 1239520.274 771260.814 0, 1239806.205 771274.92 0, 1240092.136 771289.043 0, 1240376.721 771303.116 0, 1240663.995 771317.34 0, 1240949.923 771331.513 0, 1241235.851 771345.703 0, 1241521.777 771359.91 0, 1241807.703 771374.134 0,
+ 1242093.628 771388.375 0, 1242379.552 771402.633 0, 1242665.475 771416.907 0, 1242951.398 771431.198 0, 1243237.319 771445.506 0, 1243523.24 771459.831 0, 1243809.16 771474.173 0, 1244095.079 771488.531 0, 1244380.997 771502.907 0, 1244666.915 771517.299 0,
+ 1244952.831 771531.708 0, 1245238.747 771546.134 0, 1245524.661 771560.576 0, 1245810.575 771575.036 0, 1246096.488 771589.512 0, 1246382.401 771604.005 0, 1246668.312 771618.515 0, 1246954.223 771633.042 0, 1247238.788 771647.518 0, 1247522.081 766081.542 0,
+ 1247805.361 760515.817 0))
+
+POLYGON ((1260961.429 772365.398 0, 1260676.903 772350.119 0, 1260391.035 772334.784 0, 1260105.166 772319.466 0, 1259819.296 772304.166 0, 1259533.425 772288.881 0, 1259247.553 772273.614 0, 1258961.68 772258.364 0, 1258675.806 772243.13 0, 1258389.931 772227.914 0,
+ 1258104.056 772212.714 0, 1257818.18 772197.531 0, 1257532.302 772182.364 0, 1257246.424 772167.215 0, 1256960.545 772152.082 0, 1256674.665 772136.967 0, 1256388.784 772121.868 0, 1256102.902 772106.785 0, 1255817.02 772091.72 0, 1255531.136 772076.672 0,
+ 1255245.252 772061.64 0, 1254959.366 772046.625 0, 1254673.48 772031.627 0, 1254387.593 772016.646 0, 1254100.362 772001.612 0, 1253815.816 771986.734 0, 1253529.927 771971.804 0, 1253244.036 771956.89 0, 1252958.144 771941.993 0, 1252672.252 771927.113 0,
+ 1252386.359 771912.249 0, 1252100.465 771897.403 0, 1251814.57 771882.573 0, 1251528.674 771867.76 0, 1251242.777 771852.964 0, 1250956.88 771838.185 0, 1250670.981 771823.422 0, 1250385.082 771808.677 0, 1250099.182 771793.948 0, 1249813.281 771779.236 0,
+ 1249527.379 771764.541 0, 1249241.476 771749.863 0, 1248955.572 771735.201 0, 1248669.668 771720.557 0, 1248383.762 771705.929 0, 1248097.856 771691.318 0, 1247811.949 771676.724 0, 1247526.041 771662.146 0, 1247238.788 771647.518 0, 1246955.483 777213.739 0,
+ 1246672.166 782780.204 0, 1246958.76 782794.8 0, 1247244.013 782809.343 0, 1247529.265 782823.904 0, 1247814.516 782838.482 0, 1248099.766 782853.076 0, 1248385.015 782867.687 0, 1248670.263 782882.315 0, 1248955.511 782896.959 0, 1249240.758 782911.621 0,
+ 1249526.003 782926.299 0, 1249811.248 782940.994 0, 1250096.493 782955.706 0, 1250381.736 782970.434 0, 1250666.978 782985.18 0, 1250952.22 782999.942 0, 1251237.46 783014.721 0, 1251522.7 783029.517 0, 1251807.939 783044.329 0, 1252093.177 783059.158 0,
+ 1252378.414 783074.005 0, 1252663.65 783088.867 0, 1252948.886 783103.747 0, 1253234.12 783118.644 0, 1253518.014 783133.487 0, 1253804.587 783148.487 0, 1254089.819 783163.434 0, 1254375.05 783178.397 0, 1254660.28 783193.378 0, 1254945.509 783208.375 0,
+ 1255230.737 783223.389 0, 1255515.965 783238.42 0, 1255801.191 783253.467 0, 1256086.417 783268.532 0, 1256371.642 783283.613 0, 1256656.866 783298.711 0, 1256942.089 783313.825 0, 1257227.311 783328.957 0, 1257512.532 783344.105 0, 1257797.753 783359.27 0,
+ 1258082.972 783374.452 0, 1258368.191 783389.651 0, 1258653.408 783404.866 0, 1258938.625 783420.098 0, 1259223.841 783435.347 0, 1259509.056 783450.613 0, 1259794.27 783465.896 0, 1260079.483 783481.195 0, 1260363.357 783496.439 0, 1260662.4 777930.797 0,
+ 1260961.429 772365.398 0))
+
+POLYGON ((1274052.47 784251.352 0, 1273768.638 784235.305 0, 1273483.47 784219.2 0, 1273198.3 784203.112 0, 1272913.129 784187.04 0, 1272627.957 784170.986 0, 1272342.785 784154.948 0, 1272057.611 784138.927 0, 1271772.437 784122.922 0, 1271487.261 784106.935 0,
+ 1271202.085 784090.964 0, 1270916.908 784075.01 0, 1270631.729 784059.073 0, 1270346.55 784043.152 0, 1270061.37 784027.248 0, 1269776.189 784011.362 0, 1269491.007 783995.491 0, 1269205.824 783979.638 0, 1268920.64 783963.802 0, 1268635.455 783947.982 0,
+ 1268350.27 783932.179 0, 1268065.083 783916.393 0, 1267779.895 783900.623 0, 1267494.707 783884.871 0, 1267208.18 783869.061 0, 1266924.327 783853.416 0, 1266639.136 783837.714 0, 1266353.944 783822.028 0, 1266068.75 783806.36 0, 1265783.556 783790.708 0,
+ 1265498.361 783775.073 0, 1265213.166 783759.454 0, 1264927.969 783743.853 0, 1264642.771 783728.268 0, 1264357.572 783712.7 0, 1264072.373 783697.149 0, 1263787.172 783681.614 0, 1263501.971 783666.097 0, 1263216.769 783650.596 0, 1262931.565 783635.112 0,
+ 1262646.361 783619.645 0, 1262361.156 783604.194 0, 1262075.95 783588.761 0, 1261790.743 783573.344 0, 1261505.536 783557.944 0, 1261220.327 783542.56 0, 1260935.117 783527.194 0, 1260649.907 783511.844 0, 1260363.357 783496.439 0, 1260064.302 789062.321 0,
+ 1259765.233 794628.438 0, 1260051.125 794643.808 0, 1260335.68 794659.122 0, 1260620.234 794674.453 0, 1260904.788 794689.801 0, 1261189.34 794705.166 0, 1261473.892 794720.548 0, 1261758.443 794735.946 0, 1262042.993 794751.361 0, 1262327.542 794766.792 0,
+ 1262612.09 794782.241 0, 1262896.637 794797.706 0, 1263181.183 794813.188 0, 1263465.728 794828.687 0, 1263750.273 794844.202 0, 1264034.816 794859.734 0, 1264319.359 794875.283 0, 1264603.9 794890.849 0, 1264888.441 794906.431 0, 1265172.981 794922.031 0,
+ 1265457.52 794937.647 0, 1265742.058 794953.279 0, 1266026.595 794968.929 0, 1266311.131 794984.595 0, 1266594.332 795000.204 0, 1266880.201 795015.977 0, 1267164.734 795031.694 0, 1267449.266 795047.427 0, 1267733.798 795063.177 0, 1268018.328 795078.943 0,
+ 1268302.858 795094.727 0, 1268587.387 795110.527 0, 1268871.915 795126.344 0, 1269156.441 795142.178 0, 1269440.967 795158.028 0, 1269725.492 795173.895 0, 1270010.016 795189.779 0, 1270294.54 795205.68 0, 1270579.062 795221.597 0, 1270863.583 795237.531 0,
+ 1271148.103 795253.482 0, 1271432.623 795269.45 0, 1271717.141 795285.434 0, 1272001.659 795301.435 0, 1272286.175 795317.453 0, 1272570.691 795333.487 0, 1272855.205 795349.539 0, 1273139.719 795365.607 0, 1273422.899 795381.616 0, 1273737.691 789816.366 0,
+ 1274052.47 784251.352 0))
+
+POLYGON ((1287078.382 796173.377 0, 1286795.247 796156.567 0, 1286510.78 796139.695 0, 1286226.311 796122.84 0, 1285941.842 796106.002 0, 1285657.372 796089.18 0, 1285372.901 796072.376 0, 1285088.429 796055.587 0, 1284803.956 796038.816 0, 1284519.481 796022.061 0,
+ 1284235.006 796005.324 0, 1283950.53 795988.602 0, 1283666.053 795971.898 0, 1283381.575 795955.21 0, 1283097.096 795938.54 0, 1282812.616 795921.885 0, 1282528.135 795905.248 0, 1282243.653 795888.627 0, 1281959.17 795872.023 0, 1281674.686 795855.436 0,
+ 1281390.201 795838.866 0, 1281105.715 795822.312 0, 1280821.229 795805.775 0, 1280536.741 795789.255 0, 1280250.92 795772.674 0, 1279967.762 795756.265 0, 1279683.272 795739.795 0, 1279398.78 795723.341 0, 1279114.287 795706.905 0, 1278829.794 795690.485 0,
+ 1278545.299 795674.082 0, 1278260.803 795657.696 0, 1277976.307 795641.326 0, 1277691.809 795624.974 0, 1277407.311 795608.638 0, 1277122.811 795592.318 0, 1276838.311 795576.016 0, 1276553.81 795559.73 0, 1276269.307 795543.461 0, 1275984.804 795527.209 0,
+ 1275700.3 795510.973 0, 1275415.795 795494.754 0, 1275131.289 795478.552 0, 1274846.782 795462.367 0, 1274562.274 795446.199 0, 1274277.765 795430.047 0, 1273993.255 795413.912 0, 1273708.744 795397.793 0, 1273422.899 795381.616 0, 1273108.094 800947.099 0,
+ 1272793.275 806512.81 0, 1273078.462 806528.949 0, 1273362.317 806545.031 0, 1273646.172 806561.129 0, 1273930.026 806577.243 0, 1274213.879 806593.374 0, 1274497.731 806609.523 0, 1274781.582 806625.687 0, 1275065.432 806641.869 0, 1275349.281 806658.067 0,
+ 1275633.129 806674.282 0, 1275916.976 806690.513 0, 1276200.822 806706.762 0, 1276484.668 806723.027 0, 1276768.512 806739.308 0, 1277052.355 806755.607 0, 1277336.198 806771.922 0, 1277620.039 806788.254 0, 1277903.879 806804.602 0, 1278187.719 806820.967 0,
+ 1278471.557 806837.349 0, 1278755.395 806853.748 0, 1279039.232 806870.163 0, 1279323.067 806886.595 0, 1279605.573 806902.967 0, 1279890.736 806919.509 0, 1280174.568 806935.992 0, 1280458.4 806952.491 0, 1280742.231 806969.006 0, 1281026.061 806985.538 0,
+ 1281309.889 807002.087 0, 1281593.717 807018.653 0, 1281877.544 807035.235 0, 1282161.37 807051.835 0, 1282445.195 807068.45 0, 1282729.019 807085.083 0, 1283012.842 807101.732 0, 1283296.664 807118.398 0, 1283580.485 807135.081 0, 1283864.305 807151.78 0,
+ 1284148.124 807168.496 0, 1284431.942 807185.229 0, 1284715.759 807201.978 0, 1284999.575 807218.744 0, 1285283.39 807235.527 0, 1285567.204 807252.327 0, 1285851.018 807269.143 0, 1286134.83 807285.976 0, 1286417.313 807302.747 0, 1286747.855 801737.948 0,
+ 1287078.382 796173.377 0))
+
+POLYGON ((1300039.066 808131.171 0, 1299756.628 808113.602 0, 1299472.865 808095.968 0, 1299189.1 808078.35 0, 1298905.335 808060.748 0, 1298621.568 808043.164 0, 1298337.801 808025.596 0, 1298054.032 808008.045 0, 1297770.262 807990.51 0, 1297486.492 807972.992 0,
+ 1297202.72 807955.491 0, 1296918.947 807938.007 0, 1296635.173 807920.539 0, 1296351.399 807903.088 0, 1296067.623 807885.654 0, 1295783.846 807868.236 0, 1295500.068 807850.835 0, 1295216.289 807833.451 0, 1294932.509 807816.083 0, 1294648.728 807798.733 0,
+ 1294364.946 807781.399 0, 1294081.163 807764.081 0, 1293797.379 807746.781 0, 1293513.594 807729.497 0, 1293228.482 807712.149 0, 1292946.021 807694.979 0, 1292662.233 807677.745 0, 1292378.444 807660.528 0, 1292094.654 807643.327 0, 1291810.863 807626.143 0,
+ 1291527.071 807608.976 0, 1291243.278 807591.826 0, 1290959.483 807574.692 0, 1290675.688 807557.575 0, 1290391.892 807540.475 0, 1290108.095 807523.392 0, 1289824.297 807506.325 0, 1289540.498 807489.275 0, 1289256.698 807472.241 0, 1288972.896 807455.225 0,
+ 1288689.094 807438.225 0, 1288405.291 807421.241 0, 1288121.487 807404.275 0, 1287837.682 807387.325 0, 1287553.875 807370.392 0, 1287270.068 807353.475 0, 1286986.26 807336.575 0, 1286702.451 807319.692 0, 1286417.313 807302.747 0, 1286086.759 812867.771 0,
+ 1285756.191 818433.016 0, 1286040.67 818449.923 0, 1286323.825 818466.767 0, 1286606.978 818483.628 0, 1286890.13 818500.505 0, 1287173.281 818517.399 0, 1287456.431 818534.31 0, 1287739.58 818551.237 0, 1288022.728 818568.181 0, 1288305.875 818585.142 0,
+ 1288589.021 818602.12 0, 1288872.166 818619.114 0, 1289155.31 818636.125 0, 1289438.453 818653.152 0, 1289721.595 818670.196 0, 1290004.737 818687.257 0, 1290287.877 818704.334 0, 1290571.016 818721.428 0, 1290854.154 818738.539 0, 1291137.291 818755.667 0,
+ 1291420.427 818772.811 0, 1291703.562 818789.971 0, 1291986.696 818807.149 0, 1292269.829 818824.343 0, 1292551.638 818841.473 0, 1292836.092 818858.781 0, 1293119.222 818876.025 0, 1293402.351 818893.286 0, 1293685.479 818910.563 0, 1293968.606 818927.857 0,
+ 1294251.732 818945.168 0, 1294534.857 818962.496 0, 1294817.98 818979.84 0, 1295101.103 818997.2 0, 1295384.225 819014.578 0, 1295667.346 819031.972 0, 1295950.466 819049.383 0, 1296233.584 819066.81 0, 1296516.702 819084.254 0, 1296799.819 819101.715 0,
+ 1297082.935 819119.192 0, 1297366.049 819136.686 0, 1297649.163 819154.197 0, 1297932.275 819171.724 0, 1298215.387 819189.268 0, 1298498.497 819206.829 0, 1298781.607 819224.406 0, 1299064.715 819242 0, 1299346.501 819259.529 0, 1299692.79 813695.239 0,
+ 1300039.066 808131.171 0))
+
+POLYGON ((1312934.421 820124.433 0, 1312652.684 820106.108 0, 1312369.627 820087.714 0, 1312086.568 820069.337 0, 1311803.508 820050.977 0, 1311520.447 820032.633 0, 1311237.385 820014.306 0, 1310954.322 819995.995 0, 1310671.258 819977.702 0, 1310388.193 819959.424 0,
+ 1310105.127 819941.164 0, 1309822.06 819922.92 0, 1309538.991 819904.693 0, 1309255.922 819886.482 0, 1308972.851 819868.288 0, 1308689.78 819850.111 0, 1308406.707 819831.951 0, 1308123.633 819813.807 0, 1307840.558 819795.68 0, 1307557.483 819777.569 0,
+ 1307274.406 819759.475 0, 1306991.328 819741.398 0, 1306708.249 819723.337 0, 1306425.168 819705.294 0, 1306140.767 819687.182 0, 1305859.005 819669.256 0, 1305575.922 819651.262 0, 1305292.837 819633.285 0, 1305009.752 819615.324 0, 1304726.665 819597.38 0,
+ 1304443.578 819579.453 0, 1304160.489 819561.542 0, 1303877.4 819543.648 0, 1303594.309 819525.771 0, 1303311.217 819507.91 0, 1303028.124 819490.066 0, 1302745.031 819472.239 0, 1302461.936 819454.428 0, 1302178.84 819436.634 0, 1301895.743 819418.857 0,
+ 1301612.645 819401.096 0, 1301329.546 819383.352 0, 1301046.445 819365.625 0, 1300763.344 819347.914 0, 1300480.242 819330.22 0, 1300197.139 819312.543 0, 1299914.034 819294.882 0, 1299630.929 819277.238 0, 1299346.501 819259.529 0, 1299000.198 824824.036 0,
+ 1298653.882 830388.756 0, 1298937.652 830406.425 0, 1299220.102 830424.028 0, 1299502.552 830441.648 0, 1299785 830459.284 0, 1300067.447 830476.937 0, 1300349.893 830494.607 0, 1300632.338 830512.293 0, 1300914.782 830529.996 0, 1301197.225 830547.716 0,
+ 1301479.667 830565.452 0, 1301762.108 830583.205 0, 1302044.548 830600.974 0, 1302326.987 830618.76 0, 1302609.425 830636.563 0, 1302891.862 830654.382 0, 1303174.297 830672.218 0, 1303456.732 830690.071 0, 1303739.165 830707.94 0, 1304021.598 830725.826 0,
+ 1304304.029 830743.728 0, 1304586.46 830761.647 0, 1304868.889 830779.583 0, 1305151.318 830797.535 0, 1305432.427 830815.42 0, 1305716.171 830833.49 0, 1305998.596 830851.492 0, 1306281.02 830869.511 0, 1306563.443 830887.546 0, 1306845.865 830905.598 0,
+ 1307128.286 830923.667 0, 1307410.706 830941.752 0, 1307693.125 830959.854 0, 1307975.543 830977.972 0, 1308257.959 830996.108 0, 1308540.375 831014.259 0, 1308822.789 831032.428 0, 1309105.203 831050.613 0, 1309387.615 831068.814 0, 1309670.026 831087.033 0,
+ 1309952.437 831105.267 0, 1310234.846 831123.519 0, 1310517.254 831141.787 0, 1310799.661 831160.072 0, 1311082.067 831178.373 0, 1311364.471 831196.691 0, 1311646.875 831215.026 0, 1311929.278 831233.377 0, 1312210.363 831251.659 0, 1312572.399 825687.939 0,
+ 1312934.421 820124.433 0))
+
+POLYGON ((1325764.352 832152.858 0, 1325483.318 832133.782 0, 1325200.968 832114.633 0, 1324918.617 832095.5 0, 1324636.265 832076.385 0, 1324353.912 832057.285 0, 1324071.558 832038.203 0, 1323789.203 832019.137 0, 1323506.846 832000.088 0, 1323224.489 831981.055 0,
+ 1322942.13 831962.039 0, 1322659.77 831943.04 0, 1322377.409 831924.057 0, 1322095.047 831905.091 0, 1321812.684 831886.141 0, 1321530.32 831867.208 0, 1321247.954 831848.292 0, 1320965.588 831829.392 0, 1320683.22 831810.509 0, 1320400.851 831791.643 0,
+ 1320118.482 831772.793 0, 1319836.111 831753.959 0, 1319553.739 831735.143 0, 1319271.365 831716.343 0, 1318987.676 831697.472 0, 1318706.616 831678.793 0, 1318424.239 831660.043 0, 1318141.862 831641.309 0, 1317859.483 831622.592 0, 1317577.103 831603.892 0,
+ 1317294.722 831585.208 0, 1317012.34 831566.541 0, 1316729.957 831547.891 0, 1316447.573 831529.257 0, 1316165.188 831510.64 0, 1315882.802 831492.039 0, 1315600.414 831473.455 0, 1315318.026 831454.888 0, 1315035.636 831436.338 0, 1314753.245 831417.803 0,
+ 1314470.853 831399.286 0, 1314188.46 831380.785 0, 1313906.066 831362.301 0, 1313623.671 831343.833 0, 1313341.275 831325.382 0, 1313058.878 831306.948 0, 1312776.479 831288.53 0, 1312494.08 831270.129 0, 1312210.363 831251.659 0, 1311848.313 836815.59 0,
+ 1311486.25 842379.726 0, 1311769.309 842398.154 0, 1312051.054 842416.512 0, 1312332.797 842434.887 0, 1312614.539 842453.279 0, 1312896.28 842471.687 0, 1313178.021 842490.112 0, 1313459.76 842508.553 0, 1313741.498 842527.011 0, 1314023.234 842545.485 0,
+ 1314304.97 842563.976 0, 1314586.705 842582.484 0, 1314868.439 842601.008 0, 1315150.171 842619.549 0, 1315431.902 842638.106 0, 1315713.633 842656.68 0, 1315995.362 842675.271 0, 1316277.09 842693.878 0, 1316558.817 842712.502 0, 1316840.543 842731.142 0,
+ 1317122.268 842749.799 0, 1317403.992 842768.473 0, 1317685.714 842787.163 0, 1317967.436 842805.869 0, 1318247.844 842824.505 0, 1318530.876 842843.332 0, 1318812.594 842862.089 0, 1319094.311 842880.862 0, 1319376.027 842899.651 0, 1319657.742 842918.457 0,
+ 1319939.456 842937.28 0, 1320221.169 842956.119 0, 1320502.88 842974.975 0, 1320784.591 842993.848 0, 1321066.3 843012.737 0, 1321348.008 843031.642 0, 1321629.716 843050.565 0, 1321911.422 843069.503 0, 1322193.127 843088.459 0, 1322474.83 843107.431 0,
+ 1322756.533 843126.419 0, 1323038.235 843145.424 0, 1323319.935 843164.446 0, 1323601.635 843183.484 0, 1323883.333 843202.539 0, 1324165.03 843221.61 0, 1324446.726 843240.698 0, 1324728.421 843259.803 0, 1325008.803 843278.835 0, 1325386.585 837715.743 0,
+ 1325764.352 832152.858 0))
+
+POLYGON ((1338528.763 844216.144 0, 1338248.433 844196.32 0, 1337966.793 844176.419 0, 1337685.152 844156.535 0, 1337403.51 844136.668 0, 1337121.867 844116.818 0, 1336840.222 844096.984 0, 1336558.576 844077.166 0, 1336276.93 844057.365 0, 1335995.282 844037.581 0,
+ 1335713.633 844017.813 0, 1335431.982 843998.062 0, 1335150.331 843978.328 0, 1334868.678 843958.61 0, 1334587.025 843938.908 0, 1334305.37 843919.223 0, 1334023.714 843899.555 0, 1333742.057 843879.903 0, 1333460.398 843860.268 0, 1333178.739 843840.65 0,
+ 1332897.078 843821.048 0, 1332615.416 843801.462 0, 1332333.753 843781.894 0, 1332052.089 843762.341 0, 1331769.114 843742.715 0, 1331488.757 843723.287 0, 1331207.09 843703.784 0, 1330925.421 843684.298 0, 1330643.751 843664.829 0, 1330362.08 843645.376 0,
+ 1330080.408 843625.94 0, 1329798.735 843606.521 0, 1329517.06 843587.118 0, 1329235.385 843567.731 0, 1328953.708 843548.361 0, 1328672.03 843529.008 0, 1328390.351 843509.671 0, 1328108.671 843490.351 0, 1327826.99 843471.048 0, 1327545.307 843451.761 0,
+ 1327263.624 843432.49 0, 1326981.939 843413.236 0, 1326700.253 843393.999 0, 1326418.566 843374.779 0, 1326136.878 843355.575 0, 1325855.189 843336.387 0, 1325573.498 843317.216 0, 1325291.807 843298.062 0, 1325008.803 843278.835 0, 1324631.008 848842.13 0,
+ 1324253.199 854405.623 0, 1324535.545 854424.805 0, 1324816.582 854443.915 0, 1325097.617 854463.041 0, 1325378.651 854482.184 0, 1325659.685 854501.344 0, 1325940.717 854520.52 0, 1326221.748 854539.712 0, 1326502.777 854558.921 0, 1326783.806 854578.147 0,
+ 1327064.834 854597.389 0, 1327345.86 854616.647 0, 1327626.885 854635.923 0, 1327907.909 854655.214 0, 1328188.933 854674.523 0, 1328469.954 854693.848 0, 1328750.975 854713.189 0, 1329031.995 854732.547 0, 1329313.013 854751.921 0, 1329594.03 854771.312 0,
+ 1329875.047 854790.72 0, 1330156.062 854810.144 0, 1330437.076 854829.584 0, 1330718.088 854849.041 0, 1330997.793 854868.425 0, 1331280.11 854888.005 0, 1331561.12 854907.512 0, 1331842.128 854927.035 0, 1332123.135 854946.575 0, 1332404.141 854966.132 0,
+ 1332685.145 854985.705 0, 1332966.149 855005.294 0, 1333247.151 855024.9 0, 1333528.153 855044.523 0, 1333809.153 855064.162 0, 1334090.152 855083.817 0, 1334371.149 855103.489 0, 1334652.146 855123.178 0, 1334933.141 855142.883 0, 1335214.136 855162.605 0,
+ 1335495.129 855182.343 0, 1335776.121 855202.098 0, 1336057.112 855221.87 0, 1336338.101 855241.658 0, 1336619.09 855261.462 0, 1336900.077 855281.283 0, 1337181.063 855301.121 0, 1337462.048 855320.975 0, 1337741.726 855340.753 0, 1338135.251 849778.349 0,
+ 1338528.763 844216.144 0))
+
+POLYGON ((1351227.558 856313.986 0, 1350947.934 856293.418 0, 1350667.006 856272.77 0, 1350386.077 856252.139 0, 1350105.147 856231.524 0, 1349824.216 856210.926 0, 1349543.283 856190.344 0, 1349262.349 856169.779 0, 1348981.414 856149.23 0, 1348700.478 856128.698 0,
+ 1348419.541 856108.183 0, 1348138.602 856087.684 0, 1347857.662 856067.201 0, 1347576.721 856046.735 0, 1347295.779 856026.286 0, 1347014.835 856005.853 0, 1346733.891 855985.437 0, 1346452.945 855965.037 0, 1346171.998 855944.654 0, 1345891.049 855924.287 0,
+ 1345610.1 855903.937 0, 1345329.149 855883.603 0, 1345048.197 855863.286 0, 1344767.244 855842.985 0, 1344484.986 855822.607 0, 1344205.335 855802.434 0, 1343924.378 855782.183 0, 1343643.42 855761.948 0, 1343362.461 855741.73 0, 1343081.501 855721.529 0,
+ 1342800.539 855701.344 0, 1342519.577 855681.176 0, 1342238.613 855661.024 0, 1341957.648 855640.889 0, 1341676.682 855620.77 0, 1341395.715 855600.668 0, 1341114.746 855580.583 0, 1340833.776 855560.514 0, 1340552.805 855540.461 0, 1340271.833 855520.425 0,
+ 1339990.86 855500.406 0, 1339709.886 855480.403 0, 1339428.91 855460.416 0, 1339147.933 855440.446 0, 1338866.955 855420.493 0, 1338585.976 855400.556 0, 1338304.996 855380.636 0, 1338024.015 855360.732 0, 1337741.726 855340.753 0, 1337348.187 860903.352 0,
+ 1336954.635 866466.143 0, 1337236.265 866486.076 0, 1337516.592 866505.933 0, 1337796.917 866525.807 0, 1338077.242 866545.697 0, 1338357.565 866565.604 0, 1338637.887 866585.528 0, 1338918.208 866605.467 0, 1339198.527 866625.424 0, 1339478.846 866645.396 0,
+ 1339759.163 866665.386 0, 1340039.479 866685.392 0, 1340319.794 866705.414 0, 1340600.108 866725.453 0, 1340880.42 866745.508 0, 1341160.732 866765.58 0, 1341441.042 866785.668 0, 1341721.351 866805.773 0, 1342001.659 866825.894 0, 1342281.965 866846.032 0,
+ 1342562.271 866866.186 0, 1342842.575 866886.357 0, 1343122.878 866906.544 0, 1343403.18 866926.748 0, 1343682.179 866946.874 0, 1343963.78 866967.205 0, 1344244.079 866987.458 0, 1344524.376 867007.728 0, 1344804.672 867028.014 0, 1345084.966 867048.317 0,
+ 1345365.26 867068.636 0, 1345645.552 867088.972 0, 1345925.843 867109.324 0, 1346206.133 867129.693 0, 1346486.422 867150.078 0, 1346766.71 867170.48 0, 1347046.996 867190.898 0, 1347327.281 867211.333 0, 1347607.565 867231.784 0, 1347887.848 867252.252 0,
+ 1348168.129 867272.736 0, 1348448.41 867293.237 0, 1348728.689 867313.754 0, 1349008.967 867334.288 0, 1349289.243 867354.838 0, 1349569.519 867375.405 0, 1349849.793 867395.988 0, 1350130.066 867416.588 0, 1350409.038 867437.108 0, 1350818.305 861875.452 0,
+ 1351227.558 856313.986 0))
+
+POLYGON ((1363860.644 868446.081 0, 1363581.73 868424.772 0, 1363301.516 868403.381 0, 1363021.301 868382.006 0, 1362741.085 868360.648 0, 1362460.867 868339.306 0, 1362180.648 868317.98 0, 1361900.428 868296.671 0, 1361620.207 868275.379 0, 1361339.984 868254.103 0,
+ 1361059.761 868232.843 0, 1360779.535 868211.6 0, 1360499.309 868190.374 0, 1360219.082 868169.164 0, 1359938.853 868147.97 0, 1359658.623 868126.793 0, 1359378.392 868105.632 0, 1359098.159 868084.488 0, 1358817.925 868063.361 0, 1358537.69 868042.25 0,
+ 1358257.454 868021.155 0, 1357977.216 868000.077 0, 1357696.978 867979.016 0, 1357416.738 867957.97 0, 1357135.198 867936.844 0, 1356856.254 867915.93 0, 1356576.01 867894.934 0, 1356295.765 867873.955 0, 1356015.519 867852.992 0, 1355735.272 867832.046 0,
+ 1355455.023 867811.117 0, 1355174.773 867790.204 0, 1354894.522 867769.307 0, 1354614.27 867748.427 0, 1354334.016 867727.563 0, 1354053.762 867706.716 0, 1353773.506 867685.885 0, 1353493.248 867665.071 0, 1353212.99 867644.274 0, 1352932.73 867623.492 0,
+ 1352652.469 867602.728 0, 1352372.207 867581.98 0, 1352091.944 867561.248 0, 1351811.679 867540.533 0, 1351531.414 867519.834 0, 1351251.147 867499.152 0, 1350970.878 867478.486 0, 1350690.609 867457.837 0, 1350409.038 867437.108 0, 1349999.757 872998.953 0,
+ 1349590.463 878560.982 0, 1349871.376 878581.662 0, 1350150.991 878602.263 0, 1350430.605 878622.88 0, 1350710.217 878643.514 0, 1350989.828 878664.164 0, 1351269.438 878684.831 0, 1351549.046 878705.514 0, 1351828.654 878726.214 0, 1352108.26 878746.93 0,
+ 1352387.865 878767.663 0, 1352667.469 878788.412 0, 1352947.071 878809.177 0, 1353226.673 878829.959 0, 1353506.273 878850.758 0, 1353785.871 878871.573 0, 1354065.469 878892.404 0, 1354345.066 878913.252 0, 1354624.661 878934.116 0, 1354904.255 878954.997 0,
+ 1355183.847 878975.894 0, 1355463.439 878996.808 0, 1355743.029 879017.738 0, 1356022.618 879038.684 0, 1356300.91 879059.55 0, 1356581.793 879080.627 0, 1356861.378 879101.623 0, 1357140.962 879122.635 0, 1357420.545 879143.664 0, 1357700.126 879164.709 0,
+ 1357979.707 879185.771 0, 1358259.286 879206.849 0, 1358538.864 879227.944 0, 1358818.44 879249.055 0, 1359098.016 879270.183 0, 1359377.59 879291.327 0, 1359657.163 879312.487 0, 1359936.735 879333.664 0, 1360216.305 879354.857 0, 1360495.874 879376.067 0,
+ 1360775.442 879397.294 0, 1361055.009 879418.536 0, 1361334.574 879439.796 0, 1361614.138 879461.071 0, 1361893.701 879482.363 0, 1362173.263 879503.672 0, 1362452.823 879524.997 0, 1362732.383 879546.338 0, 1363010.646 879567.597 0, 1363435.652 874006.747 0,
+ 1363860.644 868446.081 0))
+
+POLYGON ((1376427.931 880612.124 0, 1376149.727 880590.078 0, 1375870.229 880567.947 0, 1375590.73 880545.832 0, 1375311.23 880523.734 0, 1375031.728 880501.652 0, 1374752.225 880479.587 0, 1374472.721 880457.538 0, 1374193.215 880435.505 0, 1373913.708 880413.489 0,
+ 1373634.2 880391.49 0, 1373354.691 880369.507 0, 1373075.18 880347.54 0, 1372795.668 880325.59 0, 1372516.155 880303.656 0, 1372236.64 880281.739 0, 1371957.124 880259.838 0, 1371677.607 880237.953 0, 1371398.089 880216.085 0, 1371118.569 880194.234 0,
+ 1370839.048 880172.399 0, 1370559.525 880150.58 0, 1370280.002 880128.778 0, 1370000.477 880106.992 0, 1369719.657 880085.122 0, 1369441.423 880063.47 0, 1369161.895 880041.734 0, 1368882.365 880020.014 0, 1368602.833 879998.31 0, 1368323.301 879976.623 0,
+ 1368043.767 879954.953 0, 1367764.232 879933.299 0, 1367484.695 879911.661 0, 1367205.158 879890.04 0, 1366925.619 879868.435 0, 1366646.079 879846.847 0, 1366366.537 879825.275 0, 1366086.994 879803.72 0, 1365807.45 879782.181 0, 1365527.905 879760.658 0,
+ 1365248.358 879739.152 0, 1364968.811 879717.663 0, 1364689.262 879696.189 0, 1364409.711 879674.733 0, 1364130.16 879653.293 0, 1363850.607 879631.869 0, 1363571.053 879610.462 0, 1363291.497 879589.071 0, 1363010.646 879567.597 0, 1362585.626 885128.628 0,
+ 1362160.592 890689.835 0, 1362440.786 890711.258 0, 1362719.687 890732.598 0, 1362998.586 890753.955 0, 1363277.484 890775.329 0, 1363556.381 890796.719 0, 1363835.277 890818.125 0, 1364114.172 890839.548 0, 1364393.065 890860.988 0, 1364671.957 890882.443 0,
+ 1364950.848 890903.915 0, 1365229.737 890925.404 0, 1365508.625 890946.909 0, 1365787.512 890968.43 0, 1366066.398 890989.968 0, 1366345.282 891011.522 0, 1366624.165 891033.092 0, 1366903.047 891054.679 0, 1367181.927 891076.283 0, 1367460.807 891097.903 0,
+ 1367739.685 891119.539 0, 1368018.561 891141.191 0, 1368297.437 891162.861 0, 1368576.311 891184.546 0, 1368853.893 891206.147 0, 1369134.055 891227.966 0, 1369412.926 891249.701 0, 1369691.795 891271.452 0, 1369970.663 891293.22 0, 1370249.529 891315.003 0,
+ 1370528.394 891336.804 0, 1370807.258 891358.621 0, 1371086.121 891380.454 0, 1371364.982 891402.303 0, 1371643.842 891424.169 0, 1371922.701 891446.052 0, 1372201.559 891467.951 0, 1372480.415 891489.866 0, 1372759.27 891511.798 0, 1373038.123 891533.746 0,
+ 1373316.976 891555.71 0, 1373595.827 891577.691 0, 1373874.677 891599.688 0, 1374153.525 891621.702 0, 1374432.372 891643.732 0, 1374711.218 891665.779 0, 1374990.063 891687.842 0, 1375268.906 891709.921 0, 1375546.459 891731.915 0, 1375987.202 886171.931 0,
+ 1376427.931 880612.124 0))
+
+POLYGON ((1388929.327 892811.808 0, 1388651.836 892789.03 0, 1388373.056 892766.163 0, 1388094.275 892743.313 0, 1387815.492 892720.478 0, 1387536.708 892697.661 0, 1387257.923 892674.859 0, 1386979.137 892652.074 0, 1386700.349 892629.305 0, 1386421.56 892606.553 0,
+ 1386142.769 892583.817 0, 1385863.978 892561.098 0, 1385585.184 892538.395 0, 1385306.39 892515.709 0, 1385027.594 892493.038 0, 1384748.797 892470.385 0, 1384469.998 892447.747 0, 1384191.198 892425.126 0, 1383912.397 892402.522 0, 1383633.595 892379.934 0,
+ 1383354.791 892357.362 0, 1383075.986 892334.807 0, 1382797.179 892312.268 0, 1382518.371 892289.745 0, 1382238.274 892267.135 0, 1381960.752 892244.75 0, 1381681.94 892222.276 0, 1381403.127 892199.819 0, 1381124.312 892177.379 0, 1380845.497 892154.955 0,
+ 1380566.68 892132.547 0, 1380287.861 892110.156 0, 1380009.042 892087.781 0, 1379730.22 892065.423 0, 1379451.398 892043.081 0, 1379172.574 892020.756 0, 1378893.75 891998.446 0, 1378614.923 891976.154 0, 1378336.096 891953.877 0, 1378057.267 891931.618 0,
+ 1377778.437 891909.374 0, 1377499.605 891887.147 0, 1377220.772 891864.936 0, 1376941.938 891842.742 0, 1376663.103 891820.564 0, 1376384.266 891798.403 0, 1376105.428 891776.258 0, 1375826.588 891754.129 0, 1375546.459 891731.915 0, 1375105.702 897292.071 0,
+ 1374664.931 902852.396 0, 1374944.404 902874.559 0, 1375222.588 902896.635 0, 1375500.772 902918.728 0, 1375778.954 902940.838 0, 1376057.135 902962.963 0, 1376335.315 902985.106 0, 1376613.493 903007.264 0, 1376891.67 903029.439 0, 1377169.846 903051.63 0,
+ 1377448.02 903073.838 0, 1377726.193 903096.062 0, 1378004.365 903118.302 0, 1378282.536 903140.559 0, 1378560.705 903162.832 0, 1378838.873 903185.122 0, 1379117.039 903207.428 0, 1379395.204 903229.75 0, 1379673.368 903252.089 0, 1379951.531 903274.444 0,
+ 1380229.692 903296.815 0, 1380507.852 903319.203 0, 1380786.011 903341.607 0, 1381064.168 903364.027 0, 1381341.039 903386.361 0, 1381620.479 903408.917 0, 1381898.632 903431.387 0, 1382176.784 903453.873 0, 1382454.935 903476.375 0, 1382733.084 903498.894 0,
+ 1383011.232 903521.429 0, 1383289.379 903543.981 0, 1383567.525 903566.549 0, 1383845.669 903589.133 0, 1384123.811 903611.733 0, 1384401.953 903634.35 0, 1384680.093 903656.984 0, 1384958.232 903679.633 0, 1385236.369 903702.299 0, 1385514.505 903724.982 0,
+ 1385792.64 903747.681 0, 1386070.773 903770.396 0, 1386348.906 903793.127 0, 1386627.036 903815.875 0, 1386905.166 903838.639 0, 1387183.294 903861.42 0, 1387461.421 903884.217 0, 1387739.546 903907.031 0, 1388016.386 903929.755 0, 1388472.864 898370.697 0,
+ 1388929.327 892811.808 0))
+
+POLYGON ((1401364.744 905044.83 0, 1401087.967 905021.323 0, 1400809.907 904997.724 0, 1400531.846 904974.141 0, 1400253.783 904950.575 0, 1399975.719 904927.025 0, 1399697.654 904903.491 0, 1399419.587 904879.974 0, 1399141.519 904856.473 0, 1398863.45 904832.989 0,
+ 1398585.379 904809.521 0, 1398307.306 904786.069 0, 1398029.233 904762.634 0, 1397751.158 904739.214 0, 1397473.081 904715.812 0, 1397195.003 904692.426 0, 1396916.924 904669.056 0, 1396638.844 904645.702 0, 1396360.762 904622.365 0, 1396082.678 904599.044 0,
+ 1395804.594 904575.74 0, 1395526.508 904552.451 0, 1395248.42 904529.18 0, 1394970.332 904505.924 0, 1394690.959 904482.578 0, 1394414.15 904459.463 0, 1394136.057 904436.257 0, 1393857.963 904413.067 0, 1393579.867 904389.893 0, 1393301.77 904366.736 0,
+ 1393023.672 904343.595 0, 1392745.572 904320.471 0, 1392467.471 904297.363 0, 1392189.369 904274.271 0, 1391911.265 904251.196 0, 1391633.16 904228.137 0, 1391355.053 904205.094 0, 1391076.945 904182.068 0, 1390798.836 904159.058 0, 1390520.726 904136.065 0,
+ 1390242.614 904113.088 0, 1389964.501 904090.127 0, 1389686.386 904067.183 0, 1389408.27 904044.255 0, 1389130.153 904021.343 0, 1388852.034 903998.448 0, 1388573.914 903975.569 0, 1388295.793 903952.706 0, 1388016.386 903929.755 0, 1387559.895 909488.978 0,
+ 1387103.391 915048.361 0, 1387382.14 915071.259 0, 1387659.607 915094.068 0, 1387937.072 915116.893 0, 1388214.537 915139.734 0, 1388492 915162.592 0, 1388769.461 915185.466 0, 1389046.921 915208.356 0, 1389324.38 915231.263 0, 1389601.838 915254.186 0,
+ 1389879.294 915277.125 0, 1390156.749 915300.081 0, 1390434.202 915323.053 0, 1390711.654 915346.041 0, 1390989.105 915369.046 0, 1391266.554 915392.067 0, 1391544.003 915415.104 0, 1391821.449 915438.158 0, 1392098.895 915461.228 0, 1392376.339 915484.314 0,
+ 1392653.781 915507.417 0, 1392931.222 915530.536 0, 1393208.662 915553.671 0, 1393486.101 915576.823 0, 1393762.259 915599.884 0, 1394040.974 915623.175 0, 1394318.408 915646.376 0, 1394595.841 915669.593 0, 1394873.273 915692.826 0, 1395150.703 915716.076 0,
+ 1395428.132 915739.342 0, 1395705.56 915762.624 0, 1395982.986 915785.923 0, 1396260.411 915809.237 0, 1396537.835 915832.569 0, 1396815.257 915855.916 0, 1397092.677 915879.28 0, 1397370.097 915902.66 0, 1397647.515 915926.057 0, 1397924.931 915949.47 0,
+ 1398202.347 915972.899 0, 1398479.76 915996.345 0, 1398757.173 916019.807 0, 1399034.584 916043.285 0, 1399311.994 916066.779 0, 1399589.402 916090.29 0, 1399866.809 916113.818 0, 1400144.214 916137.361 0, 1400420.34 916160.812 0, 1400892.549 910602.74 0,
+ 1401364.744 905044.83 0))
+
+POLYGON ((1413734.094 917310.882 0, 1413458.033 917286.65 0, 1413180.695 917262.323 0, 1412903.356 917238.012 0, 1412626.015 917213.718 0, 1412348.673 917189.439 0, 1412071.329 917165.178 0, 1411793.984 917140.932 0, 1411516.638 917116.703 0, 1411239.29 917092.49 0,
+ 1410961.94 917068.293 0, 1410684.589 917044.113 0, 1410407.237 917019.949 0, 1410129.884 916995.802 0, 1409852.529 916971.67 0, 1409575.172 916947.555 0, 1409297.814 916923.457 0, 1409020.455 916899.374 0, 1408743.094 916875.308 0, 1408465.732 916851.259 0,
+ 1408188.369 916827.226 0, 1407911.004 916803.209 0, 1407633.637 916779.208 0, 1407356.269 916755.224 0, 1407077.623 916731.145 0, 1406801.53 916707.304 0, 1406524.158 916683.368 0, 1406246.784 916659.449 0, 1405969.409 916635.547 0, 1405692.033 916611.66 0,
+ 1405414.655 916587.79 0, 1405137.276 916563.936 0, 1404859.896 916540.099 0, 1404582.514 916516.278 0, 1404305.131 916492.473 0, 1404027.746 916468.685 0, 1403750.36 916444.913 0, 1403472.973 916421.157 0, 1403195.584 916397.417 0, 1402918.194 916373.694 0,
+ 1402640.802 916349.988 0, 1402363.409 916326.297 0, 1402086.014 916302.623 0, 1401808.619 916278.965 0, 1401531.221 916255.324 0, 1401253.823 916231.698 0, 1400976.423 916208.09 0, 1400699.021 916184.497 0, 1400420.34 916160.812 0, 1399948.118 921719.041 0,
+ 1399475.883 927277.424 0, 1399753.907 927301.053 0, 1400030.654 927324.59 0, 1400307.4 927348.143 0, 1400584.144 927371.712 0, 1400860.887 927395.298 0, 1401137.629 927418.9 0, 1401414.369 927442.518 0, 1401691.107 927466.153 0, 1401967.845 927489.804 0,
+ 1402244.581 927513.471 0, 1402521.315 927537.154 0, 1402798.049 927560.854 0, 1403074.78 927584.57 0, 1403351.511 927608.303 0, 1403628.24 927632.051 0, 1403904.967 927655.816 0, 1404181.694 927679.597 0, 1404458.418 927703.395 0, 1404735.142 927727.209 0,
+ 1405011.864 927751.039 0, 1405288.584 927774.885 0, 1405565.304 927798.748 0, 1405842.021 927822.626 0, 1406117.464 927846.412 0, 1406395.453 927870.433 0, 1406672.166 927894.361 0, 1406948.879 927918.305 0, 1407225.589 927942.265 0, 1407502.299 927966.242 0,
+ 1407779.007 927990.235 0, 1408055.713 928014.244 0, 1408332.418 928038.27 0, 1408609.122 928062.311 0, 1408885.824 928086.369 0, 1409162.525 928110.444 0, 1409439.224 928134.534 0, 1409715.922 928158.641 0, 1409992.619 928182.765 0, 1410269.314 928206.904 0,
+ 1410546.008 928231.06 0, 1410822.7 928255.232 0, 1411099.391 928279.42 0, 1411376.081 928303.625 0, 1411652.769 928327.846 0, 1411929.455 928352.083 0, 1412206.141 928376.336 0, 1412482.824 928400.606 0, 1412758.234 928424.781 0, 1413246.171 922867.754 0,
+ 1413734.094 917310.882 0))
+
+POLYGON ((1426037.29 929609.658 0, 1425761.948 929584.705 0, 1425485.334 929559.654 0, 1425208.718 929534.619 0, 1424932.101 929509.6 0, 1424655.483 929484.597 0, 1424378.863 929459.611 0, 1424102.241 929434.641 0, 1423825.618 929409.688 0, 1423548.994 929384.75 0,
+ 1423272.368 929359.829 0, 1422995.741 929334.924 0, 1422719.112 929310.036 0, 1422442.481 929285.163 0, 1422165.85 929260.307 0, 1421889.217 929235.468 0, 1421612.582 929210.644 0, 1421335.946 929185.837 0, 1421059.308 929161.046 0, 1420782.669 929136.272 0,
+ 1420506.029 929111.513 0, 1420229.387 929086.771 0, 1419952.743 929062.046 0, 1419676.098 929037.336 0, 1419398.18 929012.53 0, 1419122.804 928987.966 0, 1418846.155 928963.306 0, 1418569.504 928938.661 0, 1418292.852 928914.033 0, 1418016.199 928889.422 0,
+ 1417739.544 928864.826 0, 1417462.887 928840.247 0, 1417186.229 928815.684 0, 1416909.57 928791.137 0, 1416632.909 928766.607 0, 1416356.247 928742.093 0, 1416079.583 928717.595 0, 1415802.918 928693.114 0, 1415526.252 928668.649 0, 1415249.583 928644.2 0,
+ 1414972.914 928619.767 0, 1414696.243 928595.351 0, 1414419.571 928570.951 0, 1414142.897 928546.567 0, 1413866.222 928522.199 0, 1413589.545 928497.848 0, 1413312.867 928473.513 0, 1413036.188 928449.195 0, 1412758.234 928424.781 0, 1412270.284 933981.956 0,
+ 1411782.322 939539.277 0, 1412059.618 939563.634 0, 1412335.644 939587.895 0, 1412611.667 939612.172 0, 1412887.69 939636.466 0, 1413163.711 939660.776 0, 1413439.731 939685.102 0, 1413715.749 939709.444 0, 1413991.765 939733.803 0, 1414267.781 939758.178 0,
+ 1414543.795 939782.569 0, 1414819.807 939806.976 0, 1415095.818 939831.4 0, 1415371.828 939855.84 0, 1415647.836 939880.296 0, 1415923.842 939904.768 0, 1416199.848 939929.257 0, 1416475.851 939953.761 0, 1416751.854 939978.282 0, 1417027.855 940002.82 0,
+ 1417303.854 940027.373 0, 1417579.852 940051.943 0, 1417855.849 940076.529 0, 1418131.844 940101.131 0, 1418406.569 940125.637 0, 1418683.83 940150.385 0, 1418959.821 940175.036 0, 1419235.81 940199.703 0, 1419511.798 940224.387 0, 1419787.784 940249.086 0,
+ 1420063.769 940273.802 0, 1420339.753 940298.535 0, 1420615.735 940323.283 0, 1420891.715 940348.048 0, 1421167.694 940372.829 0, 1421443.672 940397.626 0, 1421719.648 940422.439 0, 1421995.623 940447.269 0, 1422271.596 940472.115 0, 1422547.568 940496.977 0,
+ 1422823.539 940521.856 0, 1423099.507 940546.75 0, 1423375.475 940571.661 0, 1423651.441 940596.588 0, 1423927.405 940621.532 0, 1424203.368 940646.491 0, 1424479.33 940671.467 0, 1424755.29 940696.459 0, 1425029.981 940721.353 0, 1425533.642 935165.433 0,
+ 1426037.29 929609.658 0))
+
+POLYGON ((1438274.248 941940.851 0, 1437999.627 941915.181 0, 1437723.738 941889.41 0, 1437447.848 941863.654 0, 1437171.957 941837.915 0, 1436896.064 941812.192 0, 1436620.169 941786.485 0, 1436344.274 941760.795 0, 1436068.376 941735.121 0, 1435792.477 941709.463 0,
+ 1435516.577 941683.821 0, 1435240.675 941658.195 0, 1434964.771 941632.586 0, 1434688.866 941606.993 0, 1434412.96 941581.416 0, 1434137.052 941555.856 0, 1433861.142 941530.311 0, 1433585.231 941504.783 0, 1433309.318 941479.271 0, 1433033.404 941453.776 0,
+ 1432757.489 941428.296 0, 1432481.572 941402.833 0, 1432205.653 941377.386 0, 1431929.733 941351.956 0, 1431652.546 941326.425 0, 1431377.889 941301.143 0, 1431101.964 941275.761 0, 1430826.038 941250.396 0, 1430550.111 941225.046 0, 1430274.182 941199.713 0,
+ 1429998.251 941174.396 0, 1429722.319 941149.095 0, 1429446.386 941123.811 0, 1429170.451 941098.542 0, 1428894.514 941073.29 0, 1428618.576 941048.055 0, 1428342.637 941022.835 0, 1428066.696 940997.632 0, 1427790.754 940972.445 0, 1427514.81 940947.274 0,
+ 1427238.865 940922.12 0, 1426962.918 940896.981 0, 1426686.969 940871.859 0, 1426411.02 940846.753 0, 1426135.068 940821.664 0, 1425859.116 940796.59 0, 1425583.161 940771.533 0, 1425307.206 940746.492 0, 1425029.981 940721.353 0, 1424526.307 946277.415 0,
+ 1424022.621 951833.615 0, 1424299.189 951858.695 0, 1424574.49 951883.676 0, 1424849.79 951908.674 0, 1425125.089 951933.688 0, 1425400.386 951958.718 0, 1425675.682 951983.764 0, 1425950.976 952008.827 0, 1426226.269 952033.906 0, 1426501.56 952059 0,
+ 1426776.85 952084.112 0, 1427052.139 952109.239 0, 1427327.425 952134.382 0, 1427602.711 952159.542 0, 1427877.995 952184.718 0, 1428153.277 952209.91 0, 1428428.558 952235.119 0, 1428703.838 952260.343 0, 1428979.116 952285.584 0, 1429254.392 952310.841 0,
+ 1429529.667 952336.114 0, 1429804.941 952361.403 0, 1430080.213 952386.709 0, 1430355.483 952412.031 0, 1430629.489 952437.252 0, 1430906.02 952462.723 0, 1431181.286 952488.093 0, 1431456.551 952513.48 0, 1431731.814 952538.883 0, 1432007.075 952564.302 0,
+ 1432282.335 952589.737 0, 1432557.594 952615.188 0, 1432832.851 952640.656 0, 1433108.107 952666.14 0, 1433383.361 952691.64 0, 1433658.613 952717.156 0, 1433933.864 952742.688 0, 1434209.114 952768.237 0, 1434484.362 952793.801 0, 1434759.609 952819.382 0,
+ 1435034.854 952844.98 0, 1435310.097 952870.593 0, 1435585.339 952896.223 0, 1435860.58 952921.868 0, 1436135.819 952947.53 0, 1436411.057 952973.209 0, 1436686.293 952998.903 0, 1436961.527 953024.614 0, 1437235.498 953050.222 0, 1437754.88 947495.468 0,
+ 1438274.248 941940.851 0))
+
+POLYGON ((942267.612 520748.333 0, 941968.4 520751.723 0, 941667.723 520755.148 0, 941367.047 520758.59 0, 941066.371 520762.05 0, 940765.695 520765.527 0, 940465.02 520769.022 0, 940164.344 520772.535 0, 939863.669 520776.066 0, 939562.994 520779.614 0,
+ 939262.32 520783.18 0, 938961.645 520786.764 0, 938660.971 520790.366 0, 938360.297 520793.985 0, 938059.623 520797.622 0, 937758.949 520801.276 0, 937458.276 520804.948 0, 937157.602 520808.638 0, 936856.929 520812.346 0, 936556.257 520816.071 0,
+ 936255.584 520819.814 0, 935954.912 520823.575 0, 935654.24 520827.353 0, 935353.568 520831.15 0, 935051.431 520834.982 0, 934752.225 520838.795 0, 934451.553 520842.644 0, 934150.882 520846.511 0, 933850.212 520850.396 0, 933549.541 520854.298 0,
+ 933248.871 520858.218 0, 932948.201 520862.156 0, 932647.531 520866.111 0, 932346.861 520870.084 0, 932046.192 520874.075 0, 931745.523 520878.083 0, 931444.854 520882.109 0, 931144.185 520886.153 0, 930843.516 520890.215 0, 930542.848 520894.294 0,
+ 930242.18 520898.391 0, 929941.513 520902.506 0, 929640.845 520906.638 0, 929340.178 520910.788 0, 929039.511 520914.956 0, 928738.844 520919.141 0, 928438.178 520923.344 0, 928137.511 520927.565 0, 927835.379 520931.825 0, 927913.907 526490.617 0,
+ 927992.441 532049.799 0, 928293.916 532045.549 0, 928593.928 532041.338 0, 928893.94 532037.144 0, 929193.952 532032.967 0, 929493.965 532028.809 0, 929793.978 532024.667 0, 930093.991 532020.544 0, 930394.004 532016.438 0, 930694.018 532012.35 0,
+ 930994.032 532008.28 0, 931294.046 532004.227 0, 931594.06 532000.192 0, 931894.074 531996.175 0, 932194.089 531992.175 0, 932494.104 531988.193 0, 932794.119 531984.229 0, 933094.135 531980.282 0, 933394.151 531976.353 0, 933694.167 531972.441 0,
+ 933994.183 531968.547 0, 934294.199 531964.671 0, 934594.216 531960.813 0, 934894.233 531956.972 0, 935192.788 531953.167 0, 935494.267 531949.343 0, 935794.284 531945.555 0, 936094.302 531941.785 0, 936394.32 531938.033 0, 936694.338 531934.298 0,
+ 936994.357 531930.581 0, 937294.375 531926.881 0, 937594.394 531923.199 0, 937894.413 531919.535 0, 938194.432 531915.888 0, 938494.452 531912.259 0, 938794.472 531908.648 0, 939094.492 531905.055 0, 939394.512 531901.479 0, 939694.532 531897.92 0,
+ 939994.552 531894.38 0, 940294.573 531890.857 0, 940594.594 531887.351 0, 940894.615 531883.864 0, 941194.637 531880.394 0, 941494.658 531876.941 0, 941794.68 531873.507 0, 942094.702 531870.09 0, 942393.263 531866.707 0, 942330.436 526307.325 0,
+ 942267.612 520748.333 0))
+
+POLYGON ((956794.545 531724.3 0, 956495.973 531726.84 0, 956195.943 531729.409 0, 955895.912 531731.996 0, 955595.882 531734.601 0, 955295.852 531737.223 0, 954995.823 531739.863 0, 954695.793 531742.521 0, 954395.763 531745.196 0, 954095.734 531747.889 0,
+ 953795.705 531750.6 0, 953495.676 531753.328 0, 953195.647 531756.074 0, 952895.618 531758.838 0, 952595.59 531761.619 0, 952295.561 531764.418 0, 951995.533 531767.235 0, 951695.505 531770.069 0, 951395.477 531772.921 0, 951095.45 531775.79 0,
+ 950795.422 531778.678 0, 950495.395 531781.583 0, 950195.368 531784.505 0, 949895.341 531787.445 0, 949593.854 531790.418 0, 949295.287 531793.379 0, 948995.26 531796.372 0, 948695.234 531799.383 0, 948395.208 531802.411 0, 948095.182 531805.458 0,
+ 947795.156 531808.521 0, 947495.131 531811.603 0, 947195.105 531814.702 0, 946895.08 531817.819 0, 946595.055 531820.953 0, 946295.03 531824.106 0, 945995.005 531827.275 0, 945694.981 531830.463 0, 945394.957 531833.668 0, 945094.933 531836.891 0,
+ 944794.909 531840.131 0, 944494.885 531843.389 0, 944194.861 531846.665 0, 943894.838 531849.958 0, 943594.815 531853.269 0, 943294.792 531856.598 0, 942994.769 531859.945 0, 942694.747 531863.309 0, 942393.263 531866.707 0, 942456.095 537426.476 0,
+ 942518.932 542986.628 0, 942819.758 542983.237 0, 943119.126 542979.881 0, 943418.494 542976.541 0, 943717.862 542973.22 0, 944017.231 542969.916 0, 944316.6 542966.63 0, 944615.969 542963.361 0, 944915.338 542960.11 0, 945214.708 542956.877 0,
+ 945514.077 542953.661 0, 945813.447 542950.463 0, 946112.817 542947.283 0, 946412.187 542944.12 0, 946711.558 542940.974 0, 947010.928 542937.847 0, 947310.299 542934.737 0, 947609.67 542931.644 0, 947909.041 542928.57 0, 948208.412 542925.512 0,
+ 948507.784 542922.473 0, 948807.155 542919.451 0, 949106.527 542916.447 0, 949405.899 542913.46 0, 949703.815 542910.505 0, 950004.643 542907.539 0, 950304.016 542904.606 0, 950603.389 542901.689 0, 950902.762 542898.791 0, 951202.135 542895.91 0,
+ 951501.508 542893.047 0, 951800.881 542890.201 0, 952100.255 542887.373 0, 952399.628 542884.562 0, 952699.002 542881.769 0, 952998.376 542878.994 0, 953297.75 542876.237 0, 953597.125 542873.497 0, 953896.499 542870.774 0, 954195.874 542868.07 0,
+ 954495.249 542865.382 0, 954794.624 542862.713 0, 955093.999 542860.061 0, 955393.374 542857.427 0, 955692.75 542854.81 0, 955992.125 542852.211 0, 956291.501 542849.63 0, 956590.877 542847.066 0, 956888.798 542844.532 0, 956841.67 537284.224 0,
+ 956794.545 531724.3 0))
+
+POLYGON ((971259.007 542743.034 0, 970961.078 542744.726 0, 970661.696 542746.444 0, 970362.314 542748.18 0, 970062.933 542749.933 0, 969763.551 542751.704 0, 969464.17 542753.492 0, 969164.788 542755.298 0, 968865.407 542757.122 0, 968566.026 542758.963 0,
+ 968266.644 542760.822 0, 967967.263 542762.699 0, 967667.883 542764.593 0, 967368.502 542766.505 0, 967069.121 542768.434 0, 966769.74 542770.382 0, 966470.36 542772.346 0, 966170.98 542774.328 0, 965871.6 542776.328 0, 965572.219 542778.346 0,
+ 965272.839 542780.381 0, 964973.46 542782.434 0, 964674.08 542784.504 0, 964374.7 542786.592 0, 964073.867 542788.708 0, 963775.941 542790.821 0, 963476.562 542792.962 0, 963177.183 542795.121 0, 962877.804 542797.297 0, 962578.425 542799.491 0,
+ 962279.047 542801.702 0, 961979.668 542803.931 0, 961680.29 542806.177 0, 961380.911 542808.442 0, 961081.533 542810.724 0, 960782.155 542813.023 0, 960482.777 542815.34 0, 960183.399 542817.675 0, 959884.022 542820.027 0, 959584.644 542822.397 0,
+ 959285.267 542824.785 0, 958985.889 542827.19 0, 958686.512 542829.613 0, 958387.135 542832.053 0, 958087.759 542834.511 0, 957788.382 542836.987 0, 957489.006 542839.48 0, 957189.629 542841.991 0, 956888.798 542844.532 0, 956935.929 548405.22 0,
+ 956983.063 553966.286 0, 957283.237 553963.751 0, 957581.958 553961.245 0, 957880.68 553958.758 0, 958179.402 553956.287 0, 958478.125 553953.835 0, 958776.847 553951.399 0, 959075.569 553948.982 0, 959374.292 553946.582 0, 959673.015 553944.2 0,
+ 959971.738 553941.835 0, 960270.461 553939.488 0, 960569.184 553937.158 0, 960867.907 553934.846 0, 961166.631 553932.552 0, 961465.354 553930.275 0, 961764.078 553928.015 0, 962062.802 553925.774 0, 962361.526 553923.55 0, 962660.25 553921.343 0,
+ 962958.974 553919.154 0, 963257.698 553916.983 0, 963556.423 553914.829 0, 963855.148 553912.693 0, 964152.421 553910.584 0, 964452.597 553908.473 0, 964751.322 553906.39 0, 965050.047 553904.324 0, 965348.773 553902.276 0, 965647.498 553900.245 0,
+ 965946.223 553898.232 0, 966244.949 553896.236 0, 966543.675 553894.258 0, 966842.401 553892.298 0, 967141.126 553890.355 0, 967439.853 553888.43 0, 967738.579 553886.522 0, 968037.305 553884.632 0, 968336.031 553882.76 0, 968634.758 553880.905 0,
+ 968933.484 553879.067 0, 969232.211 553877.248 0, 969530.938 553875.446 0, 969829.665 553873.661 0, 970128.392 553871.894 0, 970427.119 553870.145 0, 970725.846 553868.413 0, 971024.574 553866.699 0, 971321.851 553865.01 0, 971290.428 548303.833 0,
+ 971259.007 542743.034 0))
+
+POLYGON ((985660.868 553804.244 0, 985363.585 553805.093 0, 985064.854 553805.963 0, 984766.123 553806.851 0, 984467.392 553807.756 0, 984168.661 553808.679 0, 983869.931 553809.62 0, 983571.2 553810.578 0, 983272.469 553811.554 0, 982973.739 553812.547 0,
+ 982675.008 553813.558 0, 982376.278 553814.587 0, 982077.547 553815.633 0, 981778.817 553816.696 0, 981480.086 553817.778 0, 981181.356 553818.876 0, 980882.626 553819.993 0, 980583.896 553821.127 0, 980285.166 553822.279 0, 979986.436 553823.448 0,
+ 979687.706 553824.634 0, 979388.976 553825.839 0, 979090.246 553827.061 0, 978791.517 553828.3 0, 978491.338 553829.563 0, 978194.058 553830.832 0, 977895.328 553832.124 0, 977596.599 553833.434 0, 977297.869 553834.761 0, 976999.14 553836.106 0,
+ 976700.411 553837.469 0, 976401.682 553838.849 0, 976102.953 553840.247 0, 975804.224 553841.662 0, 975505.495 553843.095 0, 975206.766 553844.546 0, 974908.038 553846.014 0, 974609.309 553847.499 0, 974310.581 553849.003 0, 974011.852 553850.523 0,
+ 973713.124 553852.062 0, 973414.396 553853.618 0, 973115.668 553855.191 0, 972816.94 553856.782 0, 972518.212 553858.391 0, 972219.484 553860.018 0, 971920.756 553861.661 0, 971622.029 553863.323 0, 971321.851 553865.01 0, 971353.276 559426.561 0,
+ 971384.704 564988.483 0, 971684.223 564986.8 0, 971982.296 564985.142 0, 972280.369 564983.502 0, 972578.442 564981.879 0, 972876.515 564980.274 0, 973174.589 564978.686 0, 973472.662 564977.116 0, 973770.736 564975.563 0, 974068.809 564974.028 0,
+ 974366.883 564972.511 0, 974664.957 564971.011 0, 974963.031 564969.528 0, 975261.105 564968.064 0, 975559.179 564966.616 0, 975857.253 564965.187 0, 976155.327 564963.774 0, 976453.401 564962.38 0, 976751.476 564961.003 0, 977049.55 564959.643 0,
+ 977347.624 564958.301 0, 977645.699 564956.976 0, 977943.774 564955.669 0, 978241.849 564954.38 0, 978538.478 564953.114 0, 978837.998 564951.854 0, 979136.073 564950.617 0, 979434.148 564949.398 0, 979732.223 564948.196 0, 980030.299 564947.012 0,
+ 980328.374 564945.845 0, 980626.449 564944.696 0, 980924.525 564943.565 0, 981222.6 564942.451 0, 981520.676 564941.354 0, 981818.751 564940.275 0, 982116.827 564939.214 0, 982414.903 564938.17 0, 982712.978 564937.144 0, 983011.054 564936.135 0,
+ 983309.13 564935.144 0, 983607.206 564934.171 0, 983905.282 564933.215 0, 984203.358 564932.276 0, 984501.434 564931.355 0, 984799.51 564930.452 0, 985097.587 564929.566 0, 985395.663 564928.697 0, 985692.295 564927.851 0, 985676.581 559365.862 0,
+ 985660.868 553804.244 0))
+
+POLYGON ((1000000 564907.64 0, 999703.365 564907.648 0, 999405.287 564907.675 0, 999107.21 564907.718 0, 998809.132 564907.78 0, 998511.055 564907.859 0, 998212.977 564907.955 0, 997914.899 564908.069 0, 997616.822 564908.2 0, 997318.744 564908.349 0,
+ 997020.667 564908.516 0, 996722.589 564908.7 0, 996424.512 564908.902 0, 996126.435 564909.121 0, 995828.357 564909.358 0, 995530.28 564909.612 0, 995232.202 564909.884 0, 994934.125 564910.173 0, 994636.047 564910.48 0, 994337.97 564910.805 0,
+ 994039.893 564911.147 0, 993741.815 564911.506 0, 993443.738 564911.883 0, 993145.661 564912.278 0, 992846.14 564912.692 0, 992549.506 564913.12 0, 992251.429 564913.567 0, 991953.352 564914.032 0, 991655.275 564914.515 0, 991357.198 564915.015 0,
+ 991059.121 564915.532 0, 990761.044 564916.067 0, 990462.966 564916.62 0, 990164.889 564917.19 0, 989866.813 564917.777 0, 989568.736 564918.383 0, 989270.659 564919.005 0, 988972.582 564919.646 0, 988674.505 564920.303 0, 988376.428 564920.979 0,
+ 988078.352 564921.672 0, 987780.275 564922.382 0, 987482.198 564923.11 0, 987184.122 564923.856 0, 986886.045 564924.619 0, 986587.968 564925.399 0, 986289.892 564926.198 0, 985991.816 564927.013 0, 985692.295 564927.851 0, 985708.009 570490.207 0,
+ 985723.725 576052.929 0, 986022.588 576052.093 0, 986320.01 576051.279 0, 986617.431 576050.483 0, 986914.853 576049.704 0, 987212.275 576048.943 0, 987509.697 576048.199 0, 987807.119 576047.472 0, 988104.54 576046.763 0, 988401.962 576046.072 0,
+ 988699.384 576045.398 0, 988996.806 576044.742 0, 989294.228 576044.103 0, 989591.65 576043.481 0, 989889.073 576042.878 0, 990186.495 576042.291 0, 990483.917 576041.722 0, 990781.339 576041.171 0, 991078.761 576040.637 0, 991376.184 576040.121 0,
+ 991673.606 576039.622 0, 991971.028 576039.141 0, 992268.451 576038.677 0, 992565.873 576038.231 0, 992861.855 576037.804 0, 993160.718 576037.391 0, 993458.141 576036.997 0, 993755.563 576036.62 0, 994052.986 576036.262 0, 994350.408 576035.92 0,
+ 994647.831 576035.597 0, 994945.253 576035.29 0, 995242.676 576035.002 0, 995540.099 576034.73 0, 995837.521 576034.477 0, 996134.944 576034.24 0, 996432.366 576034.022 0, 996729.789 576033.82 0, 997027.212 576033.637 0, 997324.635 576033.47 0,
+ 997622.057 576033.322 0, 997919.48 576033.191 0, 998216.903 576033.077 0, 998514.325 576032.981 0, 998811.748 576032.902 0, 999109.171 576032.841 0, 999406.594 576032.797 0, 999704.016 576032.771 0, 1000000 576032.762 0, 1000000 570470.019 0,
+ 1000000 564907.64 0))
+
+POLYGON ((1014276.275 576052.929 0, 1013980.29 576052.101 0, 1013682.868 576051.287 0, 1013385.447 576050.491 0, 1013088.025 576049.711 0, 1012790.603 576048.95 0, 1012493.181 576048.206 0, 1012195.76 576047.479 0, 1011898.338 576046.77 0, 1011600.916 576046.079 0,
+ 1011303.494 576045.405 0, 1011006.072 576044.748 0, 1010708.65 576044.109 0, 1010411.228 576043.487 0, 1010113.805 576042.883 0, 1009816.383 576042.297 0, 1009518.961 576041.728 0, 1009221.539 576041.176 0, 1008924.117 576040.642 0, 1008626.694 576040.126 0,
+ 1008329.272 576039.627 0, 1008031.85 576039.145 0, 1007734.427 576038.681 0, 1007437.005 576038.235 0, 1007138.145 576037.804 0, 1006842.16 576037.394 0, 1006544.738 576037 0, 1006247.315 576036.624 0, 1005949.892 576036.265 0, 1005652.47 576035.924 0,
+ 1005355.047 576035.6 0, 1005057.625 576035.293 0, 1004760.202 576035.004 0, 1004462.78 576034.733 0, 1004165.357 576034.479 0, 1003867.934 576034.243 0, 1003570.512 576034.024 0, 1003273.089 576033.822 0, 1002975.666 576033.638 0, 1002678.244 576033.472 0,
+ 1002380.821 576033.323 0, 1002083.398 576033.192 0, 1001785.975 576033.078 0, 1001488.553 576032.981 0, 1001191.13 576032.903 0, 1000893.707 576032.841 0, 1000596.285 576032.797 0, 1000298.862 576032.771 0, 1000000 576032.762 0, 1000000 581595.867 0,
+ 1000000 587159.331 0, 1000298.204 587159.34 0, 1000594.972 587159.366 0, 1000891.739 587159.41 0, 1001188.507 587159.471 0, 1001485.275 587159.55 0, 1001782.043 587159.646 0, 1002078.811 587159.76 0, 1002375.579 587159.891 0, 1002672.346 587160.039 0,
+ 1002969.114 587160.205 0, 1003265.882 587160.389 0, 1003562.65 587160.59 0, 1003859.418 587160.808 0, 1004156.185 587161.044 0, 1004452.953 587161.297 0, 1004749.721 587161.568 0, 1005046.489 587161.857 0, 1005343.256 587162.162 0, 1005640.024 587162.486 0,
+ 1005936.792 587162.826 0, 1006233.559 587163.184 0, 1006530.327 587163.56 0, 1006827.094 587163.953 0, 1007122.427 587164.362 0, 1007420.63 587164.792 0, 1007717.397 587165.237 0, 1008014.165 587165.7 0, 1008310.932 587166.181 0, 1008607.699 587166.679 0,
+ 1008904.467 587167.194 0, 1009201.234 587167.727 0, 1009498.002 587168.277 0, 1009794.769 587168.845 0, 1010091.536 587169.43 0, 1010388.303 587170.033 0, 1010685.071 587170.653 0, 1010981.838 587171.291 0, 1011278.605 587171.946 0, 1011575.372 587172.618 0,
+ 1011872.139 587173.308 0, 1012168.906 587174.016 0, 1012465.673 587174.741 0, 1012762.44 587175.483 0, 1013059.207 587176.243 0, 1013355.974 587177.02 0, 1013652.74 587177.815 0, 1013949.507 587178.628 0, 1014244.84 587179.453 0, 1014260.558 581616.012 0,
+ 1014276.275 576052.929 0))
+
+POLYGON ((1028489.567 587239.82 0, 1028194.235 587238.16 0, 1027897.472 587236.509 0, 1027600.708 587234.876 0, 1027303.945 587233.26 0, 1027007.181 587231.661 0, 1026710.418 587230.081 0, 1026413.654 587228.517 0, 1026116.89 587226.971 0, 1025820.126 587225.443 0,
+ 1025523.362 587223.932 0, 1025226.598 587222.438 0, 1024929.834 587220.962 0, 1024633.07 587219.504 0, 1024336.305 587218.063 0, 1024039.541 587216.639 0, 1023742.776 587215.233 0, 1023446.012 587213.844 0, 1023149.247 587212.473 0, 1022852.482 587211.119 0,
+ 1022555.717 587209.783 0, 1022258.953 587208.464 0, 1021962.188 587207.162 0, 1021665.422 587205.879 0, 1021367.225 587204.606 0, 1021071.892 587203.363 0, 1020775.127 587202.132 0, 1020478.361 587200.918 0, 1020181.596 587199.721 0, 1019884.83 587198.542 0,
+ 1019588.065 587197.38 0, 1019291.299 587196.236 0, 1018994.534 587195.109 0, 1018697.768 587194 0, 1018401.002 587192.908 0, 1018104.236 587191.834 0, 1017807.47 587190.777 0, 1017510.704 587189.738 0, 1017213.938 587188.716 0, 1016917.172 587187.711 0,
+ 1016620.406 587186.724 0, 1016323.639 587185.755 0, 1016026.873 587184.803 0, 1015730.107 587183.868 0, 1015433.34 587182.951 0, 1015136.574 587182.051 0, 1014839.807 587181.169 0, 1014543.04 587180.305 0, 1014244.84 587179.453 0, 1014229.121 592743.25 0,
+ 1014213.402 598307.399 0, 1014510.944 598308.248 0, 1014807.055 598309.111 0, 1015103.167 598309.991 0, 1015399.278 598310.889 0, 1015695.39 598311.804 0, 1015991.501 598312.736 0, 1016287.613 598313.686 0, 1016583.724 598314.654 0, 1016879.835 598315.638 0,
+ 1017175.946 598316.641 0, 1017472.058 598317.66 0, 1017768.169 598318.697 0, 1018064.28 598319.752 0, 1018360.391 598320.824 0, 1018656.501 598321.913 0, 1018952.612 598323.02 0, 1019248.723 598324.144 0, 1019544.834 598325.286 0, 1019840.944 598326.445 0,
+ 1020137.055 598327.621 0, 1020433.165 598328.815 0, 1020729.276 598330.027 0, 1021025.386 598331.256 0, 1021320.067 598332.496 0, 1021617.607 598333.765 0, 1021913.717 598335.046 0, 1022209.827 598336.345 0, 1022505.937 598337.661 0, 1022802.047 598338.994 0,
+ 1023098.156 598340.345 0, 1023394.266 598341.713 0, 1023690.376 598343.099 0, 1023986.485 598344.502 0, 1024282.595 598345.923 0, 1024578.704 598347.36 0, 1024874.813 598348.816 0, 1025170.923 598350.289 0, 1025467.032 598351.779 0, 1025763.141 598353.287 0,
+ 1026059.25 598354.812 0, 1026355.359 598356.354 0, 1026651.467 598357.914 0, 1026947.576 598359.491 0, 1027243.685 598361.086 0, 1027539.793 598362.698 0, 1027835.902 598364.328 0, 1028132.01 598365.975 0, 1028426.69 598367.632 0, 1028458.129 592803.55 0,
+ 1028489.567 587239.82 0))
+
+POLYGON ((1042639.751 598468.02 0, 1042345.075 598465.531 0, 1042048.972 598463.047 0, 1041752.87 598460.581 0, 1041456.767 598458.132 0, 1041160.664 598455.701 0, 1040864.561 598453.287 0, 1040568.458 598450.89 0, 1040272.354 598448.511 0, 1039976.251 598446.15 0,
+ 1039680.147 598443.805 0, 1039384.044 598441.479 0, 1039087.94 598439.169 0, 1038791.836 598436.877 0, 1038495.732 598434.603 0, 1038199.627 598432.346 0, 1037903.523 598430.106 0, 1037607.418 598427.884 0, 1037311.314 598425.679 0, 1037015.209 598423.492 0,
+ 1036719.104 598421.322 0, 1036422.999 598419.169 0, 1036126.894 598417.034 0, 1035830.788 598414.917 0, 1035533.256 598412.806 0, 1035238.577 598410.734 0, 1034942.472 598408.668 0, 1034646.366 598406.62 0, 1034350.26 598404.59 0, 1034054.154 598402.577 0,
+ 1033758.048 598400.581 0, 1033461.942 598398.603 0, 1033165.835 598396.642 0, 1032869.729 598394.699 0, 1032573.622 598392.773 0, 1032277.515 598390.864 0, 1031981.408 598388.973 0, 1031685.302 598387.1 0, 1031389.194 598385.243 0, 1031093.087 598383.405 0,
+ 1030796.98 598381.583 0, 1030500.873 598379.779 0, 1030204.765 598377.993 0, 1029908.658 598376.224 0, 1029612.55 598374.472 0, 1029316.442 598372.738 0, 1029020.334 598371.021 0, 1028724.226 598369.322 0, 1028426.69 598367.632 0, 1028395.248 603932.062 0,
+ 1028363.805 609496.838 0, 1028660.683 609498.525 0, 1028956.136 609500.22 0, 1029251.589 609501.933 0, 1029547.042 609503.664 0, 1029842.494 609505.411 0, 1030137.947 609507.177 0, 1030433.399 609508.959 0, 1030728.852 609510.759 0, 1031024.304 609512.576 0,
+ 1031319.756 609514.411 0, 1031615.208 609516.263 0, 1031910.66 609518.133 0, 1032206.112 609520.02 0, 1032501.564 609521.924 0, 1032797.015 609523.846 0, 1033092.467 609525.785 0, 1033387.918 609527.741 0, 1033683.369 609529.715 0, 1033978.82 609531.706 0,
+ 1034274.271 609533.715 0, 1034569.722 609535.741 0, 1034865.173 609537.784 0, 1035160.624 609539.845 0, 1035454.65 609541.913 0, 1035751.524 609544.019 0, 1036046.975 609546.132 0, 1036342.425 609548.262 0, 1036637.875 609550.41 0, 1036933.325 609552.575 0,
+ 1037228.775 609554.758 0, 1037524.224 609556.957 0, 1037819.674 609559.175 0, 1038115.123 609561.409 0, 1038410.572 609563.661 0, 1038706.021 609565.931 0, 1039001.47 609568.218 0, 1039296.919 609570.522 0, 1039592.368 609572.844 0, 1039887.817 609575.183 0,
+ 1040183.265 609577.539 0, 1040478.713 609579.913 0, 1040774.161 609582.304 0, 1041069.609 609584.713 0, 1041365.057 609587.139 0, 1041660.505 609589.582 0, 1041955.953 609592.043 0, 1042251.4 609594.521 0, 1042545.425 609597.004 0, 1042592.589 604032.339 0,
+ 1042639.751 598468.02 0))
+
+POLYGON ((1056726.705 609737.236 0, 1056432.686 609733.921 0, 1056137.247 609730.609 0, 1055841.807 609727.313 0, 1055546.368 609724.035 0, 1055250.928 609720.774 0, 1054955.488 609717.531 0, 1054660.047 609714.305 0, 1054364.607 609711.097 0, 1054069.166 609707.906 0,
+ 1053773.726 609704.732 0, 1053478.285 609701.576 0, 1053182.844 609698.437 0, 1052887.402 609695.315 0, 1052591.961 609692.211 0, 1052296.519 609689.124 0, 1052001.077 609686.055 0, 1051705.635 609683.003 0, 1051410.193 609679.968 0, 1051114.75 609676.951 0,
+ 1050819.308 609673.951 0, 1050523.865 609670.969 0, 1050228.422 609668.004 0, 1049932.979 609665.056 0, 1049636.114 609662.112 0, 1049342.092 609659.213 0, 1049046.649 609656.318 0, 1048751.205 609653.439 0, 1048455.761 609650.579 0, 1048160.317 609647.735 0,
+ 1047864.872 609644.91 0, 1047569.428 609642.101 0, 1047273.983 609639.31 0, 1046978.538 609636.536 0, 1046683.093 609633.78 0, 1046387.648 609631.041 0, 1046092.203 609628.319 0, 1045796.758 609625.615 0, 1045501.312 609622.928 0, 1045205.866 609620.259 0,
+ 1044910.42 609617.607 0, 1044614.974 609614.972 0, 1044319.528 609612.355 0, 1044024.082 609609.755 0, 1043728.635 609607.172 0, 1043433.188 609604.607 0, 1043137.741 609602.06 0, 1042842.294 609599.529 0, 1042545.425 609597.004 0, 1042498.257 615162.012 0,
+ 1042451.086 620727.358 0, 1042747.298 620729.877 0, 1043042.09 620732.402 0, 1043336.882 620734.944 0, 1043631.673 620737.503 0, 1043926.465 620740.08 0, 1044221.256 620742.674 0, 1044516.047 620745.286 0, 1044810.838 620747.915 0, 1045105.629 620750.561 0,
+ 1045400.419 620753.224 0, 1045695.21 620755.905 0, 1045990 620758.603 0, 1046284.791 620761.319 0, 1046579.581 620764.052 0, 1046874.37 620766.802 0, 1047169.16 620769.57 0, 1047463.95 620772.355 0, 1047758.739 620775.157 0, 1048053.528 620777.977 0,
+ 1048348.317 620780.814 0, 1048643.106 620783.668 0, 1048937.895 620786.54 0, 1049232.683 620789.429 0, 1049526.053 620792.321 0, 1049822.26 620795.259 0, 1050117.048 620798.2 0, 1050411.836 620801.158 0, 1050706.624 620804.134 0, 1051001.411 620807.127 0,
+ 1051296.198 620810.138 0, 1051590.985 620813.166 0, 1051885.772 620816.211 0, 1052180.559 620819.274 0, 1052475.346 620822.354 0, 1052770.132 620825.451 0, 1053064.918 620828.565 0, 1053359.705 620831.697 0, 1053654.49 620834.847 0, 1053949.276 620838.013 0,
+ 1054244.062 620841.197 0, 1054538.847 620844.399 0, 1054833.632 620847.618 0, 1055128.417 620850.854 0, 1055423.202 620854.107 0, 1055717.986 620857.378 0, 1056012.771 620860.666 0, 1056307.555 620863.971 0, 1056600.922 620867.278 0, 1056663.815 615302.087 0,
+ 1056726.705 609737.236 0))
+
+POLYGON ((1070750.305 621047.174 0, 1070456.946 621043.038 0, 1070162.173 621038.9 0, 1069867.399 621034.779 0, 1069572.625 621030.675 0, 1069277.85 621026.589 0, 1068983.076 621022.52 0, 1068688.301 621018.469 0, 1068393.526 621014.434 0, 1068098.75 621010.418 0,
+ 1067803.975 621006.418 0, 1067509.199 621002.436 0, 1067214.423 620998.471 0, 1066919.647 620994.524 0, 1066624.87 620990.594 0, 1066330.094 620986.681 0, 1066035.317 620982.786 0, 1065740.539 620978.908 0, 1065445.762 620975.047 0, 1065150.984 620971.204 0,
+ 1064856.206 620967.378 0, 1064561.428 620963.569 0, 1064266.65 620959.778 0, 1063971.872 620956.004 0, 1063675.677 620952.229 0, 1063382.314 620948.508 0, 1063087.535 620944.786 0, 1062792.755 620941.081 0, 1062497.976 620937.394 0, 1062203.196 620933.724 0,
+ 1061908.416 620930.072 0, 1061613.635 620926.437 0, 1061318.855 620922.819 0, 1061024.074 620919.219 0, 1060729.293 620915.636 0, 1060434.512 620912.07 0, 1060139.731 620908.521 0, 1059844.949 620904.99 0, 1059550.167 620901.477 0, 1059255.386 620897.98 0,
+ 1058960.603 620894.501 0, 1058665.821 620891.04 0, 1058371.038 620887.596 0, 1058076.256 620884.169 0, 1057781.473 620880.759 0, 1057486.689 620877.367 0, 1057191.906 620873.992 0, 1056897.123 620870.634 0, 1056600.922 620867.278 0, 1056538.024 626432.805 0,
+ 1056475.123 631998.664 0, 1056770.666 632002.012 0, 1057064.794 632005.362 0, 1057358.923 632008.73 0, 1057653.051 632012.114 0, 1057947.178 632015.516 0, 1058241.306 632018.936 0, 1058535.433 632022.372 0, 1058829.561 632025.826 0, 1059123.688 632029.298 0,
+ 1059417.814 632032.786 0, 1059711.941 632036.292 0, 1060006.067 632039.815 0, 1060300.194 632043.356 0, 1060594.319 632046.913 0, 1060888.445 632050.489 0, 1061182.571 632054.081 0, 1061476.696 632057.691 0, 1061770.821 632061.318 0, 1062064.946 632064.962 0,
+ 1062359.071 632068.624 0, 1062653.195 632072.303 0, 1062947.32 632075.999 0, 1063241.444 632079.713 0, 1063534.154 632083.426 0, 1063829.691 632087.192 0, 1064123.814 632090.957 0, 1064417.938 632094.74 0, 1064712.06 632098.54 0, 1065006.183 632102.358 0,
+ 1065300.306 632106.193 0, 1065594.428 632110.045 0, 1065888.55 632113.914 0, 1066182.672 632117.801 0, 1066476.793 632121.705 0, 1066770.915 632125.626 0, 1067065.036 632129.565 0, 1067359.157 632133.521 0, 1067653.277 632137.494 0, 1067947.398 632141.485 0,
+ 1068241.518 632145.493 0, 1068535.638 632149.518 0, 1068829.758 632153.56 0, 1069123.877 632157.62 0, 1069417.996 632161.697 0, 1069712.115 632165.792 0, 1070006.234 632169.904 0, 1070300.352 632174.033 0, 1070593.059 632178.159 0, 1070671.684 626612.5 0,
+ 1070750.305 621047.174 0))
+
+POLYGON ((1084710.431 632397.54 0, 1084417.735 632392.587 0, 1084123.629 632387.627 0, 1083829.524 632382.684 0, 1083535.417 632377.758 0, 1083241.311 632372.85 0, 1082947.204 632367.96 0, 1082653.097 632363.086 0, 1082358.989 632358.23 0, 1082064.882 632353.391 0,
+ 1081770.774 632348.57 0, 1081476.666 632343.765 0, 1081182.557 632338.979 0, 1080888.448 632334.209 0, 1080594.339 632329.457 0, 1080300.23 632324.722 0, 1080006.12 632320.004 0, 1079712.01 632315.304 0, 1079417.9 632310.621 0, 1079123.79 632305.955 0,
+ 1078829.679 632301.307 0, 1078535.568 632296.675 0, 1078241.456 632292.062 0, 1077947.345 632287.465 0, 1077651.822 632282.864 0, 1077359.121 632278.324 0, 1077065.009 632273.78 0, 1076770.896 632269.252 0, 1076476.783 632264.742 0, 1076182.67 632260.25 0,
+ 1075888.556 632255.774 0, 1075594.443 632251.317 0, 1075300.329 632246.876 0, 1075006.215 632242.452 0, 1074712.1 632238.046 0, 1074417.985 632233.658 0, 1074123.87 632229.286 0, 1073829.755 632224.932 0, 1073535.64 632220.595 0, 1073241.524 632216.276 0,
+ 1072947.408 632211.974 0, 1072653.292 632207.689 0, 1072359.175 632203.421 0, 1072065.058 632199.171 0, 1071770.941 632194.938 0, 1071476.824 632190.722 0, 1071182.706 632186.524 0, 1070888.589 632182.343 0, 1070593.059 632178.159 0, 1070514.429 637744.147 0,
+ 1070435.794 643310.461 0, 1070730.666 643314.635 0, 1071024.128 643318.807 0, 1071317.591 643322.996 0, 1071611.053 643327.202 0, 1071904.514 643331.426 0, 1072197.976 643335.667 0, 1072491.437 643339.925 0, 1072784.898 643344.2 0, 1073078.359 643348.493 0,
+ 1073371.82 643352.803 0, 1073665.28 643357.13 0, 1073958.74 643361.474 0, 1074252.2 643365.836 0, 1074545.659 643370.215 0, 1074839.119 643374.611 0, 1075132.578 643379.025 0, 1075426.036 643383.455 0, 1075719.495 643387.903 0, 1076012.953 643392.369 0,
+ 1076306.411 643396.851 0, 1076599.869 643401.351 0, 1076893.326 643405.868 0, 1077186.783 643410.403 0, 1077478.833 643414.933 0, 1077773.697 643419.524 0, 1078067.153 643424.11 0, 1078360.609 643428.713 0, 1078654.065 643433.334 0, 1078947.521 643437.972 0,
+ 1079240.976 643442.627 0, 1079534.431 643447.3 0, 1079827.886 643451.99 0, 1080121.34 643456.697 0, 1080414.794 643461.422 0, 1080708.248 643466.163 0, 1081001.702 643470.922 0, 1081295.155 643475.698 0, 1081588.608 643480.492 0, 1081882.061 643485.303 0,
+ 1082175.513 643490.131 0, 1082468.965 643494.976 0, 1082762.417 643499.839 0, 1083055.869 643504.719 0, 1083349.32 643509.616 0, 1083642.771 643514.53 0, 1083936.222 643519.462 0, 1084229.673 643524.411 0, 1084521.716 643529.353 0, 1084616.077 637963.284 0,
+ 1084710.431 632397.54 0))
+
+POLYGON ((1098606.964 643788.039 0, 1098314.933 643782.272 0, 1098021.498 643776.494 0, 1097728.062 643770.733 0, 1097434.626 643764.99 0, 1097141.19 643759.264 0, 1096847.753 643753.555 0, 1096554.316 643747.863 0, 1096260.879 643742.189 0, 1095967.441 643736.532 0,
+ 1095674.003 643730.892 0, 1095380.565 643725.269 0, 1095087.126 643719.664 0, 1094793.687 643714.076 0, 1094500.248 643708.505 0, 1094206.808 643702.952 0, 1093913.368 643697.416 0, 1093619.928 643691.897 0, 1093326.487 643686.395 0, 1093033.046 643680.911 0,
+ 1092739.605 643675.444 0, 1092446.163 643669.994 0, 1092152.721 643664.561 0, 1091859.279 643659.146 0, 1091564.431 643653.722 0, 1091272.394 643648.367 0, 1090978.951 643643.004 0, 1090685.507 643637.657 0, 1090392.063 643632.329 0, 1090098.619 643627.017 0,
+ 1089805.175 643621.723 0, 1089511.73 643616.445 0, 1089218.285 643611.186 0, 1088924.84 643605.943 0, 1088631.394 643600.718 0, 1088337.948 643595.51 0, 1088044.502 643590.319 0, 1087751.055 643585.145 0, 1087457.608 643579.989 0, 1087164.161 643574.85 0,
+ 1086870.713 643569.729 0, 1086577.266 643564.624 0, 1086283.818 643559.537 0, 1085990.369 643554.467 0, 1085696.92 643549.415 0, 1085403.471 643544.379 0, 1085110.022 643539.361 0, 1084816.573 643534.36 0, 1084521.716 643529.353 0, 1084427.351 649095.745 0,
+ 1084332.98 654662.456 0, 1084627.178 654667.452 0, 1084919.972 654672.442 0, 1085212.766 654677.449 0, 1085505.56 654682.473 0, 1085798.353 654687.514 0, 1086091.146 654692.573 0, 1086383.939 654697.648 0, 1086676.732 654702.741 0, 1086969.524 654707.852 0,
+ 1087262.316 654712.979 0, 1087555.107 654718.124 0, 1087847.899 654723.286 0, 1088140.69 654728.465 0, 1088433.48 654733.661 0, 1088726.271 654738.875 0, 1089019.061 654744.106 0, 1089311.851 654749.354 0, 1089604.64 654754.619 0, 1089897.429 654759.902 0,
+ 1090190.218 654765.202 0, 1090483.007 654770.519 0, 1090775.795 654775.853 0, 1091068.583 654781.204 0, 1091359.969 654786.547 0, 1091654.158 654791.959 0, 1091946.945 654797.362 0, 1092239.732 654802.783 0, 1092532.518 654808.22 0, 1092825.304 654813.675 0,
+ 1093118.09 654819.147 0, 1093410.875 654824.637 0, 1093703.66 654830.143 0, 1093996.445 654835.667 0, 1094289.229 654841.208 0, 1094582.013 654846.767 0, 1094874.797 654852.342 0, 1095167.58 654857.935 0, 1095460.363 654863.545 0, 1095753.146 654869.172 0,
+ 1096045.929 654874.817 0, 1096338.711 654880.478 0, 1096631.492 654886.157 0, 1096924.274 654891.853 0, 1097217.055 654897.567 0, 1097509.836 654903.297 0, 1097802.616 654909.045 0, 1098095.396 654914.81 0, 1098386.775 654920.565 0, 1098496.873 649354.143 0,
+ 1098606.964 643788.039 0))
+
+POLYGON ((1112439.785 655218.377 0, 1112148.421 655211.799 0, 1111855.659 655205.207 0, 1111562.896 655198.632 0, 1111270.132 655192.074 0, 1110977.368 655185.534 0, 1110684.604 655179.01 0, 1110391.84 655172.504 0, 1110099.075 655166.016 0, 1109806.309 655159.544 0,
+ 1109513.544 655153.09 0, 1109220.778 655146.652 0, 1108928.011 655140.233 0, 1108635.244 655133.83 0, 1108342.477 655127.444 0, 1108049.71 655121.076 0, 1107756.942 655114.725 0, 1107464.173 655108.392 0, 1107171.405 655102.075 0, 1106878.636 655095.776 0,
+ 1106585.866 655089.494 0, 1106293.096 655083.229 0, 1106000.326 655076.981 0, 1105707.556 655070.751 0, 1105413.385 655064.508 0, 1105122.013 655058.342 0, 1104829.242 655052.163 0, 1104536.47 655046.002 0, 1104243.698 655039.858 0, 1103950.925 655033.731 0,
+ 1103658.152 655027.621 0, 1103365.378 655021.528 0, 1103072.604 655015.453 0, 1102779.83 655009.395 0, 1102487.056 655003.354 0, 1102194.281 654997.331 0, 1101901.506 654991.324 0, 1101608.73 654985.335 0, 1101315.954 654979.363 0, 1101023.178 654973.409 0,
+ 1100730.401 654967.471 0, 1100437.624 654961.551 0, 1100144.847 654955.648 0, 1099852.069 654949.763 0, 1099559.291 654943.894 0, 1099266.513 654938.043 0, 1098973.734 654932.209 0, 1098680.955 654926.392 0, 1098386.775 654920.565 0, 1098276.671 660487.303 0,
+ 1098166.561 666054.353 0, 1098460.083 666060.168 0, 1098752.207 666065.971 0, 1099044.33 666071.792 0, 1099336.453 666077.63 0, 1099628.576 666083.486 0, 1099920.698 666089.358 0, 1100212.82 666095.248 0, 1100504.942 666101.155 0, 1100797.063 666107.079 0,
+ 1101089.184 666113.02 0, 1101381.305 666118.979 0, 1101673.425 666124.955 0, 1101965.545 666130.947 0, 1102257.665 666136.958 0, 1102549.784 666142.985 0, 1102841.903 666149.029 0, 1103134.021 666155.091 0, 1103426.139 666161.17 0, 1103718.257 666167.266 0,
+ 1104010.374 666173.379 0, 1104302.492 666179.51 0, 1104594.608 666185.657 0, 1104886.725 666191.822 0, 1105177.444 666197.974 0, 1105470.956 666204.203 0, 1105763.071 666210.42 0, 1106055.186 666216.653 0, 1106347.301 666222.904 0, 1106639.415 666229.172 0,
+ 1106931.529 666235.457 0, 1107223.642 666241.76 0, 1107515.755 666248.079 0, 1107807.868 666254.416 0, 1108099.98 666260.77 0, 1108392.092 666267.141 0, 1108684.204 666273.529 0, 1108976.315 666279.935 0, 1109268.425 666286.358 0, 1109560.536 666292.798 0,
+ 1109852.646 666299.255 0, 1110144.756 666305.729 0, 1110436.865 666312.22 0, 1110728.974 666318.729 0, 1111021.082 666325.255 0, 1111313.19 666331.798 0, 1111605.298 666338.358 0, 1111897.405 666344.936 0, 1112188.117 666351.499 0, 1112313.954 660784.782 0,
+ 1112439.785 655218.377 0))
+
+POLYGON ((1126208.777 666688.257 0, 1125918.083 666680.872 0, 1125625.996 666673.47 0, 1125333.908 666666.084 0, 1125041.819 666658.716 0, 1124749.73 666651.365 0, 1124457.641 666644.031 0, 1124165.551 666636.714 0, 1123873.461 666629.415 0, 1123581.37 666622.132 0,
+ 1123289.279 666614.867 0, 1122997.188 666607.619 0, 1122705.096 666600.388 0, 1122413.004 666593.175 0, 1122120.911 666585.978 0, 1121828.818 666578.799 0, 1121536.724 666571.637 0, 1121244.63 666564.492 0, 1120952.536 666557.365 0, 1120660.441 666550.254 0,
+ 1120368.345 666543.161 0, 1120076.25 666536.085 0, 1119784.154 666529.026 0, 1119492.057 666521.985 0, 1119198.566 666514.927 0, 1118907.863 666507.953 0, 1118615.765 666500.963 0, 1118323.667 666493.99 0, 1118031.568 666487.034 0, 1117739.469 666480.096 0,
+ 1117447.37 666473.174 0, 1117155.27 666466.27 0, 1116863.17 666459.383 0, 1116571.069 666452.513 0, 1116278.968 666445.661 0, 1115986.867 666438.826 0, 1115694.765 666432.007 0, 1115402.663 666425.206 0, 1115110.56 666418.423 0, 1114818.457 666411.656 0,
+ 1114526.354 666404.907 0, 1114234.25 666398.175 0, 1113942.146 666391.46 0, 1113650.041 666384.762 0, 1113357.936 666378.081 0, 1113065.831 666371.418 0, 1112773.725 666364.771 0, 1112481.619 666358.142 0, 1112188.117 666351.499 0, 1112062.272 671918.525 0,
+ 1111936.421 677485.857 0, 1112229.265 677492.486 0, 1112520.715 677499.1 0, 1112812.166 677505.731 0, 1113103.616 677512.38 0, 1113395.066 677519.045 0, 1113686.515 677525.728 0, 1113977.964 677532.428 0, 1114269.412 677539.145 0, 1114560.86 677545.879 0,
+ 1114852.308 677552.631 0, 1115143.755 677559.399 0, 1115435.202 677566.185 0, 1115726.649 677572.988 0, 1116018.095 677579.808 0, 1116309.54 677586.645 0, 1116600.986 677593.499 0, 1116892.43 677600.371 0, 1117183.875 677607.259 0, 1117475.319 677614.165 0,
+ 1117766.763 677621.088 0, 1118058.206 677628.028 0, 1118349.649 677634.986 0, 1118641.091 677641.96 0, 1118931.142 677648.918 0, 1119223.975 677655.96 0, 1119515.416 677662.986 0, 1119806.857 677670.029 0, 1120098.297 677677.089 0, 1120389.737 677684.167 0,
+ 1120681.177 677691.261 0, 1120972.616 677698.373 0, 1121264.054 677705.501 0, 1121555.493 677712.647 0, 1121846.931 677719.811 0, 1122138.368 677726.991 0, 1122429.805 677734.188 0, 1122721.242 677741.403 0, 1123012.678 677748.634 0, 1123304.113 677755.883 0,
+ 1123595.549 677763.149 0, 1123886.984 677770.432 0, 1124178.418 677777.733 0, 1124469.852 677785.05 0, 1124761.286 677792.385 0, 1125052.719 677799.737 0, 1125344.152 677807.106 0, 1125635.584 677814.492 0, 1125925.626 677821.86 0, 1126067.205 672254.905 0,
+ 1126208.777 666688.257 0))
+
+POLYGON ((1139913.825 678197.383 0, 1139623.803 678189.195 0, 1139332.393 678180.986 0, 1139040.982 678172.794 0, 1138749.571 678164.619 0, 1138458.159 678156.461 0, 1138166.747 678148.32 0, 1137875.334 678140.196 0, 1137583.921 678132.09 0, 1137292.508 678124 0,
+ 1137001.094 678115.928 0, 1136709.679 678107.873 0, 1136418.264 678099.835 0, 1136126.849 678091.814 0, 1135835.433 678083.811 0, 1135544.016 678075.824 0, 1135252.599 678067.855 0, 1134961.182 678059.903 0, 1134669.764 678051.968 0, 1134378.346 678044.05 0,
+ 1134086.927 678036.15 0, 1133795.508 678028.266 0, 1133504.088 678020.4 0, 1133212.668 678012.551 0, 1132919.858 678004.681 0, 1132629.826 677996.904 0, 1132338.404 677989.106 0, 1132046.982 677981.325 0, 1131755.56 677973.562 0, 1131464.137 677965.815 0,
+ 1131172.714 677958.086 0, 1130881.29 677950.374 0, 1130589.865 677942.68 0, 1130298.441 677935.002 0, 1130007.015 677927.341 0, 1129715.59 677919.698 0, 1129424.164 677912.072 0, 1129132.737 677904.463 0, 1128841.31 677896.871 0, 1128549.883 677889.296 0,
+ 1128258.455 677881.738 0, 1127967.026 677874.198 0, 1127675.598 677866.675 0, 1127384.168 677859.168 0, 1127092.739 677851.679 0, 1126801.309 677844.208 0, 1126509.878 677836.753 0, 1126218.447 677829.315 0, 1125925.626 677821.86 0, 1125784.039 683389.116 0,
+ 1125642.444 688956.671 0, 1125934.606 688964.11 0, 1126225.382 688971.531 0, 1126516.157 688978.969 0, 1126806.932 688986.424 0, 1127097.706 688993.896 0, 1127388.48 689001.386 0, 1127679.254 689008.892 0, 1127970.027 689016.416 0, 1128260.799 689023.956 0,
+ 1128551.571 689031.514 0, 1128842.343 689039.089 0, 1129133.114 689046.681 0, 1129423.885 689054.29 0, 1129714.655 689061.916 0, 1130005.425 689069.559 0, 1130296.194 689077.22 0, 1130586.963 689084.897 0, 1130877.732 689092.592 0, 1131168.5 689100.304 0,
+ 1131459.267 689108.033 0, 1131750.034 689115.779 0, 1132040.801 689123.542 0, 1132331.567 689131.322 0, 1132620.947 689139.082 0, 1132913.098 689146.934 0, 1133203.863 689154.765 0, 1133494.628 689162.614 0, 1133785.391 689170.48 0, 1134076.155 689178.363 0,
+ 1134366.918 689186.263 0, 1134657.68 689194.18 0, 1134948.442 689202.114 0, 1135239.204 689210.065 0, 1135529.965 689218.034 0, 1135820.726 689226.019 0, 1136111.486 689234.022 0, 1136402.246 689242.042 0, 1136693.005 689250.079 0, 1136983.764 689258.133 0,
+ 1137274.522 689266.204 0, 1137565.28 689274.292 0, 1137856.037 689282.398 0, 1138146.794 689290.52 0, 1138437.55 689298.66 0, 1138728.306 689306.816 0, 1139019.062 689314.99 0, 1139309.817 689323.181 0, 1139599.187 689331.35 0, 1139756.51 683764.217 0,
+ 1139913.825 678197.383 0))
+
+POLYGON ((1153554.815 689745.457 0, 1153265.467 689736.471 0, 1152974.737 689727.459 0, 1152684.005 689718.463 0, 1152393.274 689709.485 0, 1152102.542 689700.524 0, 1151811.809 689691.58 0, 1151521.075 689682.654 0, 1151230.342 689673.744 0, 1150939.607 689664.851 0,
+ 1150648.873 689655.976 0, 1150358.137 689647.118 0, 1150067.401 689638.276 0, 1149776.665 689629.452 0, 1149485.928 689620.645 0, 1149195.191 689611.855 0, 1148904.453 689603.083 0, 1148613.714 689594.327 0, 1148322.975 689585.588 0, 1148032.236 689576.867 0,
+ 1147741.496 689568.163 0, 1147450.755 689559.475 0, 1147160.014 689550.805 0, 1146869.272 689542.152 0, 1146577.147 689533.475 0, 1146287.788 689524.898 0, 1145997.045 689516.296 0, 1145706.301 689507.711 0, 1145415.557 689499.144 0, 1145124.813 689490.594 0,
+ 1144834.067 689482.061 0, 1144543.322 689473.544 0, 1144252.576 689465.045 0, 1143961.829 689456.564 0, 1143671.082 689448.099 0, 1143380.334 689439.651 0, 1143089.586 689431.221 0, 1142798.838 689422.807 0, 1142508.089 689414.411 0, 1142217.339 689406.032 0,
+ 1141926.589 689397.67 0, 1141635.839 689389.325 0, 1141345.088 689380.997 0, 1141054.336 689372.686 0, 1140763.584 689364.393 0, 1140472.831 689356.116 0, 1140182.078 689347.857 0, 1139891.325 689339.614 0, 1139599.187 689331.35 0, 1139441.855 694898.779 0,
+ 1139284.514 700466.5 0, 1139575.994 700474.745 0, 1139866.092 700482.969 0, 1140156.19 700491.21 0, 1140446.287 700499.468 0, 1140736.384 700507.742 0, 1141026.48 700516.034 0, 1141316.575 700524.344 0, 1141606.671 700532.67 0, 1141896.765 700541.013 0,
+ 1142186.859 700549.373 0, 1142476.953 700557.751 0, 1142767.046 700566.145 0, 1143057.139 700574.557 0, 1143347.231 700582.985 0, 1143637.323 700591.431 0, 1143927.414 700599.894 0, 1144217.505 700608.373 0, 1144507.595 700616.87 0, 1144797.685 700625.384 0,
+ 1145087.774 700633.915 0, 1145377.863 700642.463 0, 1145667.951 700651.029 0, 1145958.039 700659.611 0, 1146246.746 700668.169 0, 1146538.213 700676.827 0, 1146828.299 700685.46 0, 1147118.384 700694.111 0, 1147408.47 700702.778 0, 1147698.554 700711.463 0,
+ 1147988.638 700720.165 0, 1148278.722 700728.884 0, 1148568.805 700737.62 0, 1148858.888 700746.373 0, 1149148.97 700755.143 0, 1149439.051 700763.93 0, 1149729.132 700772.734 0, 1150019.213 700781.555 0, 1150309.293 700790.394 0, 1150599.372 700799.249 0,
+ 1150889.451 700808.122 0, 1151179.53 700817.011 0, 1151469.608 700825.918 0, 1151759.685 700834.842 0, 1152049.762 700843.782 0, 1152339.838 700852.74 0, 1152629.914 700861.715 0, 1152919.99 700870.707 0, 1153208.685 700879.673 0, 1153381.755 695312.419 0,
+ 1153554.815 689745.457 0))
+
+POLYGON ((1167131.634 701332.184 0, 1166842.962 701322.402 0, 1166552.913 701312.591 0, 1166262.864 701302.796 0, 1165972.814 701293.019 0, 1165682.764 701283.259 0, 1165392.713 701273.515 0, 1165102.661 701263.789 0, 1164812.609 701254.08 0, 1164522.556 701244.388 0,
+ 1164232.503 701234.713 0, 1163942.449 701225.055 0, 1163652.394 701215.415 0, 1163362.339 701205.791 0, 1163072.284 701196.184 0, 1162782.228 701186.595 0, 1162492.171 701177.022 0, 1162202.114 701167.467 0, 1161912.056 701157.928 0, 1161621.997 701148.407 0,
+ 1161331.939 701138.903 0, 1161041.879 701129.416 0, 1160751.819 701119.946 0, 1160461.758 701110.493 0, 1160170.319 701101.012 0, 1159881.635 701091.638 0, 1159591.573 701082.236 0, 1159301.51 701072.851 0, 1159011.447 701063.484 0, 1158721.383 701054.133 0,
+ 1158431.318 701044.8 0, 1158141.253 701035.483 0, 1157851.188 701026.184 0, 1157561.122 701016.902 0, 1157271.055 701007.636 0, 1156980.988 700998.388 0, 1156690.92 700989.157 0, 1156400.851 700979.943 0, 1156110.783 700970.746 0, 1155820.713 700961.567 0,
+ 1155530.643 700952.404 0, 1155240.573 700943.258 0, 1154950.502 700934.13 0, 1154660.43 700925.018 0, 1154370.358 700915.924 0, 1154080.285 700906.846 0, 1153790.212 700897.786 0, 1153500.139 700888.743 0, 1153208.685 700879.673 0, 1153035.607 706447.216 0,
+ 1152862.52 712015.044 0, 1153153.314 712024.093 0, 1153442.733 712033.115 0, 1153732.15 712042.155 0, 1154021.568 712051.212 0, 1154310.984 712060.286 0, 1154600.4 712069.377 0, 1154889.816 712078.485 0, 1155179.231 712087.61 0, 1155468.646 712096.752 0,
+ 1155758.06 712105.911 0, 1156047.473 712115.087 0, 1156336.886 712124.281 0, 1156626.299 712133.491 0, 1156915.71 712142.718 0, 1157205.122 712151.962 0, 1157494.532 712161.224 0, 1157783.943 712170.502 0, 1158073.352 712179.797 0, 1158362.761 712189.11 0,
+ 1158652.17 712198.439 0, 1158941.578 712207.786 0, 1159230.986 712217.149 0, 1159520.392 712226.53 0, 1159808.424 712235.882 0, 1160099.205 712245.342 0, 1160388.61 712254.773 0, 1160678.015 712264.222 0, 1160967.419 712273.688 0, 1161256.822 712283.17 0,
+ 1161546.225 712292.67 0, 1161835.628 712302.187 0, 1162125.03 712311.721 0, 1162414.431 712321.272 0, 1162703.832 712330.84 0, 1162993.232 712340.425 0, 1163282.632 712350.027 0, 1163572.031 712359.646 0, 1163861.429 712369.282 0, 1164150.827 712378.935 0,
+ 1164440.225 712388.605 0, 1164729.622 712398.292 0, 1165019.018 712407.996 0, 1165308.413 712417.717 0, 1165597.809 712427.456 0, 1165887.203 712437.211 0, 1166176.597 712446.983 0, 1166465.99 712456.773 0, 1166754.01 712466.532 0, 1166942.827 706899.216 0,
+ 1167131.634 701332.184 0))
+
+POLYGON ((1180644.169 712957.265 0, 1180356.176 712946.691 0, 1180066.812 712936.084 0, 1179777.446 712925.494 0, 1179488.081 712914.922 0, 1179198.714 712904.366 0, 1178909.347 712893.827 0, 1178619.979 712883.305 0, 1178330.611 712872.801 0, 1178041.242 712862.313 0,
+ 1177751.873 712851.842 0, 1177462.503 712841.389 0, 1177173.132 712830.952 0, 1176883.76 712820.533 0, 1176594.388 712810.13 0, 1176305.016 712799.745 0, 1176015.643 712789.376 0, 1175726.269 712779.025 0, 1175436.894 712768.69 0, 1175147.519 712758.373 0,
+ 1174858.144 712748.073 0, 1174568.767 712737.789 0, 1174279.391 712727.523 0, 1173990.013 712717.274 0, 1173699.263 712706.993 0, 1173411.256 712696.827 0, 1173121.877 712686.628 0, 1172832.497 712676.447 0, 1172543.117 712666.283 0, 1172253.736 712656.136 0,
+ 1171964.354 712646.006 0, 1171674.972 712635.893 0, 1171385.589 712625.797 0, 1171096.205 712615.718 0, 1170806.821 712605.657 0, 1170517.437 712595.612 0, 1170228.052 712585.584 0, 1169938.666 712575.573 0, 1169649.279 712565.579 0, 1169359.892 712555.603 0,
+ 1169070.505 712545.643 0, 1168781.117 712535.7 0, 1168491.728 712525.775 0, 1168202.339 712515.866 0, 1167912.949 712505.975 0, 1167623.558 712496.1 0, 1167334.167 712486.243 0, 1167044.776 712476.402 0, 1166754.01 712466.532 0, 1166565.183 718034.131 0,
+ 1166376.348 723602.008 0, 1166666.455 723611.855 0, 1166955.191 723621.673 0, 1167243.927 723631.508 0, 1167532.662 723641.361 0, 1167821.396 723651.23 0, 1168110.13 723661.116 0, 1168398.864 723671.019 0, 1168687.596 723680.939 0, 1168976.329 723690.876 0,
+ 1169265.06 723700.83 0, 1169553.791 723710.801 0, 1169842.522 723720.79 0, 1170131.251 723730.795 0, 1170419.981 723740.817 0, 1170708.709 723750.856 0, 1170997.437 723760.912 0, 1171286.165 723770.985 0, 1171574.892 723781.075 0, 1171863.618 723791.182 0,
+ 1172152.344 723801.306 0, 1172441.069 723811.447 0, 1172729.793 723821.605 0, 1173018.517 723831.78 0, 1173305.871 723841.924 0, 1173595.963 723852.181 0, 1173884.685 723862.407 0, 1174173.407 723872.65 0, 1174462.127 723882.91 0, 1174750.848 723893.187 0,
+ 1175039.567 723903.481 0, 1175328.286 723913.792 0, 1175617.005 723924.12 0, 1175905.723 723934.465 0, 1176194.44 723944.827 0, 1176483.157 723955.206 0, 1176771.873 723965.602 0, 1177060.588 723976.015 0, 1177349.303 723986.445 0, 1177638.017 723996.892 0,
+ 1177926.731 724007.356 0, 1178215.444 724017.837 0, 1178504.156 724028.335 0, 1178792.868 724038.849 0, 1179081.579 724049.381 0, 1179370.289 724059.93 0, 1179658.999 724070.496 0, 1179947.708 724081.079 0, 1180235.049 724091.629 0, 1180439.614 718524.307 0,
+ 1180644.169 712957.265 0))
+
+POLYGON ((1194092.311 724620.401 0, 1193804.999 724609.039 0, 1193516.321 724597.641 0, 1193227.642 724586.26 0, 1192938.963 724574.895 0, 1192650.283 724563.548 0, 1192361.602 724552.217 0, 1192072.92 724540.903 0, 1191784.238 724529.607 0, 1191495.555 724518.327 0,
+ 1191206.872 724507.065 0, 1190918.188 724495.819 0, 1190629.503 724484.591 0, 1190340.817 724473.379 0, 1190052.131 724462.185 0, 1189763.444 724451.007 0, 1189474.757 724439.846 0, 1189186.069 724428.703 0, 1188897.38 724417.576 0, 1188608.69 724406.466 0,
+ 1188320 724395.374 0, 1188031.31 724384.298 0, 1187742.618 724373.24 0, 1187453.926 724362.198 0, 1187163.867 724351.121 0, 1186876.54 724340.166 0, 1186587.846 724329.175 0, 1186299.152 724318.201 0, 1186010.456 724307.244 0, 1185721.76 724296.305 0,
+ 1185433.064 724285.382 0, 1185144.367 724274.476 0, 1184855.669 724263.588 0, 1184566.97 724252.716 0, 1184278.271 724241.861 0, 1183989.571 724231.023 0, 1183700.871 724220.203 0, 1183412.17 724209.399 0, 1183123.468 724198.612 0, 1182834.766 724187.842 0,
+ 1182546.063 724177.089 0, 1182257.359 724166.354 0, 1181968.655 724155.635 0, 1181679.95 724144.933 0, 1181391.245 724134.248 0, 1181102.539 724123.58 0, 1180813.832 724112.929 0, 1180525.125 724102.296 0, 1180235.049 724091.629 0, 1180030.473 729659.224 0,
+ 1179825.888 735227.092 0, 1180115.306 735237.734 0, 1180403.357 735248.344 0, 1180691.409 735258.971 0, 1180979.459 735269.614 0, 1181267.51 735280.275 0, 1181555.559 735290.953 0, 1181843.608 735301.647 0, 1182131.656 735312.358 0, 1182419.704 735323.087 0,
+ 1182707.75 735333.832 0, 1182995.797 735344.594 0, 1183283.842 735355.374 0, 1183571.887 735366.17 0, 1183859.932 735376.983 0, 1184147.975 735387.813 0, 1184436.019 735398.66 0, 1184724.061 735409.524 0, 1185012.103 735420.405 0, 1185300.144 735431.303 0,
+ 1185588.185 735442.218 0, 1185876.224 735453.15 0, 1186164.264 735464.099 0, 1186452.302 735475.064 0, 1186738.977 735485.995 0, 1187028.378 735497.047 0, 1187316.414 735508.063 0, 1187604.45 735519.097 0, 1187892.486 735530.147 0, 1188180.52 735541.215 0,
+ 1188468.554 735552.299 0, 1188756.588 735563.401 0, 1189044.621 735574.519 0, 1189332.653 735585.654 0, 1189620.684 735596.806 0, 1189908.715 735607.976 0, 1190196.745 735619.162 0, 1190484.775 735630.365 0, 1190772.803 735641.585 0, 1191060.831 735652.822 0,
+ 1191348.859 735664.076 0, 1191636.886 735675.347 0, 1191924.912 735686.634 0, 1192212.937 735697.939 0, 1192500.962 735709.261 0, 1192788.986 735720.6 0, 1193077.01 735731.955 0, 1193365.033 735743.328 0, 1193651.692 735754.664 0, 1193872.007 730187.397 0,
+ 1194092.311 724620.401 0))
+
+POLYGON ((1207475.951 736321.294 0, 1207189.322 736309.148 0, 1206901.333 736296.962 0, 1206613.343 736284.793 0, 1206325.352 736272.64 0, 1206037.36 736260.505 0, 1205749.368 736248.386 0, 1205461.374 736236.285 0, 1205173.381 736224.2 0, 1204885.386 736212.133 0,
+ 1204597.391 736200.082 0, 1204309.395 736188.048 0, 1204021.398 736176.032 0, 1203733.401 736164.032 0, 1203445.403 736152.049 0, 1203157.404 736140.083 0, 1202869.404 736128.134 0, 1202581.404 736116.202 0, 1202293.403 736104.287 0, 1202005.402 736092.389 0,
+ 1201717.399 736080.508 0, 1201429.396 736068.643 0, 1201141.393 736056.796 0, 1200853.388 736044.966 0, 1200564.022 736033.097 0, 1200277.377 736021.356 0, 1199989.371 736009.577 0, 1199701.364 735997.814 0, 1199413.356 735986.069 0, 1199125.347 735974.34 0,
+ 1198837.338 735962.628 0, 1198549.328 735950.934 0, 1198261.318 735939.256 0, 1197973.306 735927.595 0, 1197685.294 735915.951 0, 1197397.282 735904.324 0, 1197109.268 735892.714 0, 1196821.254 735881.121 0, 1196533.239 735869.545 0, 1196245.224 735857.986 0,
+ 1195957.208 735846.444 0, 1195669.191 735834.919 0, 1195381.174 735823.411 0, 1195093.156 735811.92 0, 1194805.137 735800.445 0, 1194517.117 735788.988 0, 1194229.097 735777.547 0, 1193941.076 735766.124 0, 1193651.692 735754.664 0, 1193431.367 741322.198 0,
+ 1193211.031 746889.998 0, 1193499.757 746901.432 0, 1193787.122 746912.829 0, 1194074.487 746924.244 0, 1194361.851 746935.675 0, 1194649.214 746947.123 0, 1194936.577 746958.588 0, 1195223.939 746970.07 0, 1195511.301 746981.569 0, 1195798.661 746993.085 0,
+ 1196086.021 747004.618 0, 1196373.381 747016.168 0, 1196660.739 747027.734 0, 1196948.097 747039.318 0, 1197235.455 747050.918 0, 1197522.811 747062.536 0, 1197810.167 747074.17 0, 1198097.522 747085.821 0, 1198384.877 747097.489 0, 1198672.231 747109.174 0,
+ 1198959.584 747120.876 0, 1199246.936 747132.595 0, 1199534.288 747144.331 0, 1199821.639 747156.083 0, 1200107.631 747167.797 0, 1200396.339 747179.639 0, 1200683.688 747191.443 0, 1200971.037 747203.263 0, 1201258.384 747215.1 0, 1201545.731 747226.954 0,
+ 1201833.078 747238.825 0, 1202120.423 747250.713 0, 1202407.768 747262.618 0, 1202695.112 747274.54 0, 1202982.456 747286.479 0, 1203269.798 747298.434 0, 1203557.14 747310.407 0, 1203844.482 747322.396 0, 1204131.822 747334.402 0, 1204419.162 747346.426 0,
+ 1204706.501 747358.466 0, 1204993.84 747370.523 0, 1205281.178 747382.597 0, 1205568.515 747394.688 0, 1205855.851 747406.796 0, 1206143.187 747418.92 0, 1206430.522 747431.062 0, 1206717.856 747443.221 0, 1207003.832 747455.338 0, 1207239.897 741888.184 0,
+ 1207475.951 736321.294 0))
+
+POLYGON ((1220794.981 748059.644 0, 1220509.038 748046.718 0, 1220221.739 748033.748 0, 1219934.44 748020.795 0, 1219647.14 748007.858 0, 1219359.839 747994.939 0, 1219072.537 747982.036 0, 1218785.234 747969.15 0, 1218497.931 747956.282 0, 1218210.627 747943.43 0,
+ 1217923.322 747930.595 0, 1217636.017 747917.777 0, 1217348.71 747904.975 0, 1217061.403 747892.191 0, 1216774.095 747879.424 0, 1216486.787 747866.673 0, 1216199.477 747853.94 0, 1215912.167 747841.223 0, 1215624.857 747828.524 0, 1215337.545 747815.841 0,
+ 1215050.233 747803.175 0, 1214762.92 747790.526 0, 1214475.606 747777.894 0, 1214188.291 747765.279 0, 1213899.62 747752.621 0, 1213613.66 747740.099 0, 1213326.343 747727.535 0, 1213039.026 747714.987 0, 1212751.708 747702.457 0, 1212464.389 747689.943 0,
+ 1212177.069 747677.446 0, 1211889.748 747664.966 0, 1211602.427 747652.503 0, 1211315.105 747640.057 0, 1211027.783 747627.628 0, 1210740.459 747615.216 0, 1210453.135 747602.821 0, 1210165.81 747590.442 0, 1209878.485 747578.081 0, 1209591.159 747565.736 0,
+ 1209303.832 747553.408 0, 1209016.504 747541.098 0, 1208729.175 747528.804 0, 1208441.846 747516.527 0, 1208154.516 747504.267 0, 1207867.186 747492.024 0, 1207579.854 747479.798 0, 1207292.522 747467.588 0, 1207003.832 747455.338 0, 1206767.756 753022.754 0,
+ 1206531.669 758590.426 0, 1206819.701 758602.648 0, 1207106.377 758614.83 0, 1207393.053 758627.028 0, 1207679.729 758639.243 0, 1207966.403 758651.475 0, 1208253.077 758663.724 0, 1208539.75 758675.99 0, 1208826.422 758688.272 0, 1209113.094 758700.572 0,
+ 1209399.765 758712.888 0, 1209686.435 758725.222 0, 1209973.105 758737.572 0, 1210259.773 758749.939 0, 1210546.441 758762.323 0, 1210833.109 758774.724 0, 1211119.775 758787.141 0, 1211406.441 758799.576 0, 1211693.106 758812.027 0, 1211979.77 758824.495 0,
+ 1212266.434 758836.981 0, 1212553.097 758849.483 0, 1212839.759 758862.002 0, 1213126.421 758874.537 0, 1213411.728 758887.031 0, 1213699.741 758899.659 0, 1213986.4 758912.246 0, 1214273.059 758924.849 0, 1214559.716 758937.469 0, 1214846.373 758950.106 0,
+ 1215133.03 758962.76 0, 1215419.685 758975.431 0, 1215706.34 758988.118 0, 1215992.994 759000.823 0, 1216279.647 759013.544 0, 1216566.3 759026.282 0, 1216852.951 759039.038 0, 1217139.602 759051.81 0, 1217426.252 759064.598 0, 1217712.902 759077.404 0,
+ 1217999.551 759090.227 0, 1218286.199 759103.066 0, 1218572.846 759115.922 0, 1218859.492 759128.796 0, 1219146.138 759141.686 0, 1219432.783 759154.593 0, 1219719.427 759167.516 0, 1220006.07 759180.457 0, 1220291.361 759193.354 0, 1220543.177 753626.37 0,
+ 1220794.981 748059.644 0))
+
+POLYGON ((1234049.295 759835.152 0, 1233764.04 759821.45 0, 1233477.434 759807.699 0, 1233190.827 759793.966 0, 1232904.22 759780.249 0, 1232617.612 759766.549 0, 1232331.003 759752.866 0, 1232044.393 759739.2 0, 1231757.783 759725.551 0, 1231471.171 759711.918 0,
+ 1231184.559 759698.303 0, 1230897.946 759684.704 0, 1230611.333 759671.123 0, 1230324.718 759657.558 0, 1230038.103 759644.01 0, 1229751.487 759630.479 0, 1229464.87 759616.964 0, 1229178.252 759603.467 0, 1228891.633 759589.986 0, 1228605.014 759576.523 0,
+ 1228318.394 759563.076 0, 1228031.773 759549.646 0, 1227745.151 759536.233 0, 1227458.529 759522.837 0, 1227170.555 759509.394 0, 1226885.281 759496.095 0, 1226598.657 759482.749 0, 1226312.031 759469.421 0, 1226025.405 759456.109 0, 1225738.777 759442.814 0,
+ 1225452.149 759429.536 0, 1225165.521 759416.274 0, 1224878.891 759403.03 0, 1224592.261 759389.803 0, 1224305.63 759376.592 0, 1224018.998 759363.398 0, 1223732.365 759350.221 0, 1223445.732 759337.061 0, 1223159.098 759323.918 0, 1222872.463 759310.792 0,
+ 1222585.827 759297.683 0, 1222299.19 759284.59 0, 1222012.553 759271.514 0, 1221725.915 759258.456 0, 1221439.276 759245.414 0, 1221152.637 759232.389 0, 1220865.996 759219.38 0, 1220579.355 759206.389 0, 1220291.361 759193.354 0, 1220039.534 764760.591 0,
+ 1219787.696 770328.078 0, 1220075.031 770341.084 0, 1220361.017 770354.045 0, 1220647.002 770367.024 0, 1220932.986 770380.019 0, 1221218.969 770393.031 0, 1221504.952 770406.06 0, 1221790.934 770419.106 0, 1222076.915 770432.168 0, 1222362.896 770445.248 0,
+ 1222648.875 770458.344 0, 1222934.854 770471.457 0, 1223220.832 770484.587 0, 1223506.809 770497.734 0, 1223792.786 770510.897 0, 1224078.762 770524.078 0, 1224364.737 770537.275 0, 1224650.711 770550.489 0, 1224936.684 770563.72 0, 1225222.657 770576.968 0,
+ 1225508.629 770590.232 0, 1225794.6 770603.514 0, 1226080.57 770616.812 0, 1226366.54 770630.127 0, 1226651.161 770643.396 0, 1226938.476 770656.807 0, 1227224.444 770670.173 0, 1227510.41 770683.555 0, 1227796.376 770696.955 0, 1228082.34 770710.371 0,
+ 1228368.304 770723.804 0, 1228654.268 770737.253 0, 1228940.23 770750.72 0, 1229226.192 770764.203 0, 1229512.152 770777.703 0, 1229798.113 770791.221 0, 1230084.072 770804.754 0, 1230370.03 770818.305 0, 1230655.988 770831.873 0, 1230941.945 770845.457 0,
+ 1231227.901 770859.058 0, 1231513.856 770872.676 0, 1231799.81 770886.311 0, 1232085.764 770899.963 0, 1232371.717 770913.631 0, 1232657.669 770927.317 0, 1232943.62 770941.019 0, 1233229.571 770954.738 0, 1233514.174 770968.409 0, 1233781.741 765401.656 0,
+ 1234049.295 759835.152 0))
+
+POLYGON ((1247238.788 771647.518 0, 1246954.223 771633.042 0, 1246668.312 771618.515 0, 1246382.401 771604.005 0, 1246096.488 771589.512 0, 1245810.575 771575.036 0, 1245524.661 771560.576 0, 1245238.747 771546.134 0, 1244952.831 771531.708 0, 1244666.915 771517.299 0,
+ 1244380.997 771502.907 0, 1244095.079 771488.531 0, 1243809.16 771474.173 0, 1243523.24 771459.831 0, 1243237.319 771445.506 0, 1242951.398 771431.198 0, 1242665.475 771416.907 0, 1242379.552 771402.633 0, 1242093.628 771388.375 0, 1241807.703 771374.134 0,
+ 1241521.777 771359.91 0, 1241235.851 771345.703 0, 1240949.923 771331.513 0, 1240663.995 771317.34 0, 1240376.721 771303.116 0, 1240092.136 771289.043 0, 1239806.205 771274.92 0, 1239520.274 771260.814 0, 1239234.341 771246.725 0, 1238948.408 771232.652 0,
+ 1238662.474 771218.597 0, 1238376.539 771204.558 0, 1238090.603 771190.536 0, 1237804.667 771176.531 0, 1237518.73 771162.543 0, 1237232.791 771148.571 0, 1236946.852 771134.617 0, 1236660.912 771120.679 0, 1236374.972 771106.758 0, 1236089.03 771092.854 0,
+ 1235803.088 771078.966 0, 1235517.145 771065.096 0, 1235231.201 771051.242 0, 1234945.256 771037.405 0, 1234659.311 771023.585 0, 1234373.364 771009.782 0, 1234087.417 770995.996 0, 1233801.469 770982.226 0, 1233514.174 770968.409 0, 1233246.596 776535.409 0,
+ 1232979.005 782102.652 0, 1233265.642 782116.438 0, 1233550.935 782130.176 0, 1233836.227 782143.931 0, 1234121.518 782157.702 0, 1234406.808 782171.49 0, 1234692.097 782185.295 0, 1234977.386 782199.117 0, 1235262.674 782212.956 0, 1235547.961 782226.812 0,
+ 1235833.247 782240.684 0, 1236118.532 782254.573 0, 1236403.817 782268.479 0, 1236689.1 782282.401 0, 1236974.383 782296.341 0, 1237259.665 782310.297 0, 1237544.947 782324.27 0, 1237830.227 782338.26 0, 1238115.507 782352.267 0, 1238400.785 782366.29 0,
+ 1238686.063 782380.33 0, 1238971.34 782394.387 0, 1239256.617 782408.461 0, 1239541.892 782422.552 0, 1239825.825 782436.592 0, 1240112.441 782450.783 0, 1240397.714 782464.924 0, 1240682.986 782479.082 0, 1240968.257 782493.256 0, 1241253.527 782507.447 0,
+ 1241538.797 782521.656 0, 1241824.066 782535.88 0, 1242109.334 782550.122 0, 1242394.601 782564.381 0, 1242679.867 782578.656 0, 1242965.133 782592.948 0, 1243250.397 782607.257 0, 1243535.661 782621.582 0, 1243820.924 782635.925 0, 1244106.186 782650.284 0,
+ 1244391.447 782664.66 0, 1244676.708 782679.053 0, 1244961.967 782693.462 0, 1245247.226 782707.889 0, 1245532.484 782722.332 0, 1245817.741 782736.792 0, 1246102.997 782751.269 0, 1246388.252 782765.762 0, 1246672.166 782780.204 0, 1246955.483 777213.739 0,
+ 1247238.788 771647.518 0))
+
+POLYGON ((1260363.357 783496.439 0, 1260079.483 783481.195 0, 1259794.27 783465.896 0, 1259509.056 783450.613 0, 1259223.841 783435.347 0, 1258938.625 783420.098 0, 1258653.408 783404.866 0, 1258368.191 783389.651 0, 1258082.972 783374.452 0, 1257797.753 783359.27 0,
+ 1257512.532 783344.105 0, 1257227.311 783328.957 0, 1256942.089 783313.825 0, 1256656.866 783298.711 0, 1256371.642 783283.613 0, 1256086.417 783268.532 0, 1255801.191 783253.467 0, 1255515.965 783238.42 0, 1255230.737 783223.389 0, 1254945.509 783208.375 0,
+ 1254660.28 783193.378 0, 1254375.05 783178.397 0, 1254089.819 783163.434 0, 1253804.587 783148.487 0, 1253518.014 783133.487 0, 1253234.12 783118.644 0, 1252948.886 783103.747 0, 1252663.65 783088.867 0, 1252378.414 783074.005 0, 1252093.177 783059.158 0,
+ 1251807.939 783044.329 0, 1251522.7 783029.517 0, 1251237.46 783014.721 0, 1250952.22 782999.942 0, 1250666.978 782985.18 0, 1250381.736 782970.434 0, 1250096.493 782955.706 0, 1249811.248 782940.994 0, 1249526.003 782926.299 0, 1249240.758 782911.621 0,
+ 1248955.511 782896.959 0, 1248670.263 782882.315 0, 1248385.015 782867.687 0, 1248099.766 782853.076 0, 1247814.516 782838.482 0, 1247529.265 782823.904 0, 1247244.013 782809.343 0, 1246958.76 782794.8 0, 1246672.166 782780.204 0, 1246388.836 788346.909 0,
+ 1246105.494 793913.849 0, 1246391.43 793928.41 0, 1246676.028 793942.921 0, 1246960.624 793957.448 0, 1247245.22 793971.992 0, 1247529.815 793986.553 0, 1247814.409 794001.13 0, 1248099.002 794015.725 0, 1248383.594 794030.336 0, 1248668.185 794044.963 0,
+ 1248952.776 794059.608 0, 1249237.366 794074.269 0, 1249521.954 794088.947 0, 1249806.542 794103.642 0, 1250091.13 794118.353 0, 1250375.716 794133.082 0, 1250660.301 794147.826 0, 1250944.886 794162.588 0, 1251229.469 794177.367 0, 1251514.052 794192.162 0,
+ 1251798.634 794206.974 0, 1252083.215 794221.803 0, 1252367.795 794236.648 0, 1252652.374 794251.51 0, 1252935.616 794266.32 0, 1253221.53 794281.285 0, 1253506.107 794296.198 0, 1253790.682 794311.127 0, 1254075.257 794326.073 0, 1254359.831 794341.036 0,
+ 1254644.404 794356.015 0, 1254928.977 794371.011 0, 1255213.548 794386.024 0, 1255498.118 794401.054 0, 1255782.688 794416.101 0, 1256067.257 794431.164 0, 1256351.825 794446.244 0, 1256636.391 794461.341 0, 1256920.957 794476.454 0, 1257205.523 794491.584 0,
+ 1257490.087 794506.731 0, 1257774.65 794521.895 0, 1258059.213 794537.075 0, 1258343.774 794552.273 0, 1258628.335 794567.487 0, 1258912.895 794582.717 0, 1259197.454 794597.965 0, 1259482.012 794613.229 0, 1259765.233 794628.438 0, 1260064.302 789062.321 0,
+ 1260363.357 783496.439 0))
+
+POLYGON ((1273422.899 795381.616 0, 1273139.719 795365.607 0, 1272855.205 795349.539 0, 1272570.691 795333.487 0, 1272286.175 795317.453 0, 1272001.659 795301.435 0, 1271717.141 795285.434 0, 1271432.623 795269.45 0, 1271148.103 795253.482 0, 1270863.583 795237.531 0,
+ 1270579.062 795221.597 0, 1270294.54 795205.68 0, 1270010.016 795189.779 0, 1269725.492 795173.895 0, 1269440.967 795158.028 0, 1269156.441 795142.178 0, 1268871.915 795126.344 0, 1268587.387 795110.527 0, 1268302.858 795094.727 0, 1268018.328 795078.943 0,
+ 1267733.798 795063.177 0, 1267449.266 795047.427 0, 1267164.734 795031.694 0, 1266880.201 795015.977 0, 1266594.332 795000.204 0, 1266311.131 794984.595 0, 1266026.595 794968.929 0, 1265742.058 794953.279 0, 1265457.52 794937.647 0, 1265172.981 794922.031 0,
+ 1264888.441 794906.431 0, 1264603.9 794890.849 0, 1264319.359 794875.283 0, 1264034.816 794859.734 0, 1263750.273 794844.202 0, 1263465.728 794828.687 0, 1263181.183 794813.188 0, 1262896.637 794797.706 0, 1262612.09 794782.241 0, 1262327.542 794766.792 0,
+ 1262042.993 794751.361 0, 1261758.443 794735.946 0, 1261473.892 794720.548 0, 1261189.34 794705.166 0, 1260904.788 794689.801 0, 1260620.234 794674.453 0, 1260335.68 794659.122 0, 1260051.125 794643.808 0, 1259765.233 794628.438 0, 1259466.153 800194.788 0,
+ 1259167.06 805761.366 0, 1259452.293 805776.7 0, 1259736.193 805791.979 0, 1260020.092 805807.275 0, 1260303.99 805822.588 0, 1260587.887 805837.917 0, 1260871.784 805853.263 0, 1261155.679 805868.626 0, 1261439.574 805884.005 0, 1261723.468 805899.402 0,
+ 1262007.36 805914.814 0, 1262291.252 805930.244 0, 1262575.143 805945.69 0, 1262859.033 805961.153 0, 1263142.923 805976.633 0, 1263426.811 805992.129 0, 1263710.698 806007.643 0, 1263994.585 806023.172 0, 1264278.47 806038.719 0, 1264562.355 806054.282 0,
+ 1264846.238 806069.862 0, 1265130.121 806085.459 0, 1265414.003 806101.072 0, 1265697.884 806116.702 0, 1265980.433 806132.276 0, 1266265.643 806148.013 0, 1266549.521 806163.693 0, 1266833.398 806179.39 0, 1267117.275 806195.103 0, 1267401.15 806210.834 0,
+ 1267685.024 806226.581 0, 1267968.898 806242.345 0, 1268252.771 806258.125 0, 1268536.642 806273.922 0, 1268820.513 806289.736 0, 1269104.383 806305.567 0, 1269388.252 806321.414 0, 1269672.12 806337.278 0, 1269955.987 806353.159 0, 1270239.853 806369.056 0,
+ 1270523.718 806384.97 0, 1270807.582 806400.901 0, 1271091.445 806416.849 0, 1271375.308 806432.813 0, 1271659.169 806448.794 0, 1271943.029 806464.792 0, 1272226.889 806480.806 0, 1272510.747 806496.837 0, 1272793.275 806512.81 0, 1273108.094 800947.099 0,
+ 1273422.899 795381.616 0))
+
+POLYGON ((1286417.313 807302.747 0, 1286134.83 807285.976 0, 1285851.018 807269.143 0, 1285567.204 807252.327 0, 1285283.39 807235.527 0, 1284999.575 807218.744 0, 1284715.759 807201.978 0, 1284431.942 807185.229 0, 1284148.124 807168.496 0, 1283864.305 807151.78 0,
+ 1283580.485 807135.081 0, 1283296.664 807118.398 0, 1283012.842 807101.732 0, 1282729.019 807085.083 0, 1282445.195 807068.45 0, 1282161.37 807051.835 0, 1281877.544 807035.235 0, 1281593.717 807018.653 0, 1281309.889 807002.087 0, 1281026.061 806985.538 0,
+ 1280742.231 806969.006 0, 1280458.4 806952.491 0, 1280174.568 806935.992 0, 1279890.736 806919.509 0, 1279605.573 806902.967 0, 1279323.067 806886.595 0, 1279039.232 806870.163 0, 1278755.395 806853.748 0, 1278471.557 806837.349 0, 1278187.719 806820.967 0,
+ 1277903.879 806804.602 0, 1277620.039 806788.254 0, 1277336.198 806771.922 0, 1277052.355 806755.607 0, 1276768.512 806739.308 0, 1276484.668 806723.027 0, 1276200.822 806706.762 0, 1275916.976 806690.513 0, 1275633.129 806674.282 0, 1275349.281 806658.067 0,
+ 1275065.432 806641.869 0, 1274781.582 806625.687 0, 1274497.731 806609.523 0, 1274213.879 806593.374 0, 1273930.026 806577.243 0, 1273646.172 806561.129 0, 1273362.317 806545.031 0, 1273078.462 806528.949 0, 1272793.275 806512.81 0, 1272478.444 812078.746 0,
+ 1272163.601 817644.903 0, 1272448.129 817661.005 0, 1272731.329 817677.049 0, 1273014.529 817693.11 0, 1273297.727 817709.187 0, 1273580.925 817725.281 0, 1273864.122 817741.392 0, 1274147.318 817757.52 0, 1274430.512 817773.664 0, 1274713.706 817789.825 0,
+ 1274996.899 817806.002 0, 1275280.091 817822.196 0, 1275563.282 817838.407 0, 1275846.472 817854.634 0, 1276129.661 817870.878 0, 1276412.85 817887.139 0, 1276696.037 817903.417 0, 1276979.223 817919.711 0, 1277262.408 817936.022 0, 1277545.593 817952.349 0,
+ 1277828.776 817968.693 0, 1278111.958 817985.054 0, 1278395.14 818001.431 0, 1278678.32 818017.825 0, 1278960.174 818034.159 0, 1279244.678 818050.664 0, 1279527.856 818067.108 0, 1279811.032 818083.569 0, 1280094.208 818100.046 0, 1280377.383 818116.54 0,
+ 1280660.556 818133.051 0, 1280943.729 818149.578 0, 1281226.901 818166.123 0, 1281510.072 818182.683 0, 1281793.241 818199.261 0, 1282076.41 818215.855 0, 1282359.578 818232.466 0, 1282642.745 818249.093 0, 1282925.911 818265.737 0, 1283209.076 818282.398 0,
+ 1283492.24 818299.076 0, 1283775.402 818315.77 0, 1284058.564 818332.48 0, 1284341.725 818349.208 0, 1284624.885 818365.952 0, 1284908.044 818382.713 0, 1285191.202 818399.49 0, 1285474.359 818416.284 0, 1285756.191 818433.016 0, 1286086.759 812867.771 0,
+ 1286417.313 807302.747 0))
+
+POLYGON ((1299346.501 819259.529 0, 1299064.715 819242 0, 1298781.607 819224.406 0, 1298498.497 819206.829 0, 1298215.387 819189.268 0, 1297932.275 819171.724 0, 1297649.163 819154.197 0, 1297366.049 819136.686 0, 1297082.935 819119.192 0, 1296799.819 819101.715 0,
+ 1296516.702 819084.254 0, 1296233.584 819066.81 0, 1295950.466 819049.383 0, 1295667.346 819031.972 0, 1295384.225 819014.578 0, 1295101.103 818997.2 0, 1294817.98 818979.84 0, 1294534.857 818962.496 0, 1294251.732 818945.168 0, 1293968.606 818927.857 0,
+ 1293685.479 818910.563 0, 1293402.351 818893.286 0, 1293119.222 818876.025 0, 1292836.092 818858.781 0, 1292551.638 818841.473 0, 1292269.829 818824.343 0, 1291986.696 818807.149 0, 1291703.562 818789.971 0, 1291420.427 818772.811 0, 1291137.291 818755.667 0,
+ 1290854.154 818738.539 0, 1290571.016 818721.428 0, 1290287.877 818704.334 0, 1290004.737 818687.257 0, 1289721.595 818670.196 0, 1289438.453 818653.152 0, 1289155.31 818636.125 0, 1288872.166 818619.114 0, 1288589.021 818602.12 0, 1288305.875 818585.142 0,
+ 1288022.728 818568.181 0, 1287739.58 818551.237 0, 1287456.431 818534.31 0, 1287173.281 818517.399 0, 1286890.13 818500.505 0, 1286606.978 818483.628 0, 1286323.825 818466.767 0, 1286040.67 818449.923 0, 1285756.191 818433.016 0, 1285425.61 823998.48 0,
+ 1285095.017 829564.156 0, 1285378.838 829581.023 0, 1285661.337 829597.829 0, 1285943.835 829614.65 0, 1286226.332 829631.489 0, 1286508.828 829648.344 0, 1286791.323 829665.215 0, 1287073.817 829682.104 0, 1287356.31 829699.009 0, 1287638.802 829715.93 0,
+ 1287921.293 829732.868 0, 1288203.783 829749.823 0, 1288486.271 829766.795 0, 1288768.759 829783.783 0, 1289051.246 829800.787 0, 1289333.732 829817.809 0, 1289616.217 829834.846 0, 1289898.701 829851.901 0, 1290181.184 829868.972 0, 1290463.666 829886.06 0,
+ 1290746.147 829903.164 0, 1291028.627 829920.285 0, 1291311.106 829937.423 0, 1291593.584 829954.577 0, 1291874.741 829971.668 0, 1292158.537 829988.936 0, 1292441.012 830006.14 0, 1292723.485 830023.361 0, 1293005.958 830040.598 0, 1293288.43 830057.852 0,
+ 1293570.901 830075.123 0, 1293853.371 830092.41 0, 1294135.839 830109.714 0, 1294418.307 830127.035 0, 1294700.774 830144.372 0, 1294983.24 830161.726 0, 1295265.704 830179.096 0, 1295548.168 830196.483 0, 1295830.631 830213.887 0, 1296113.092 830231.307 0,
+ 1296395.553 830248.744 0, 1296678.013 830266.198 0, 1296960.471 830283.668 0, 1297242.929 830301.155 0, 1297525.385 830318.658 0, 1297807.841 830336.178 0, 1298090.295 830353.715 0, 1298372.748 830371.268 0, 1298653.882 830388.756 0, 1299000.198 824824.036 0,
+ 1299346.501 819259.529 0))
+
+POLYGON ((1312210.363 831251.659 0, 1311929.278 831233.377 0, 1311646.875 831215.026 0, 1311364.471 831196.691 0, 1311082.067 831178.373 0, 1310799.661 831160.072 0, 1310517.254 831141.787 0, 1310234.846 831123.519 0, 1309952.437 831105.267 0, 1309670.026 831087.033 0,
+ 1309387.615 831068.814 0, 1309105.203 831050.613 0, 1308822.789 831032.428 0, 1308540.375 831014.259 0, 1308257.959 830996.108 0, 1307975.543 830977.972 0, 1307693.125 830959.854 0, 1307410.706 830941.752 0, 1307128.286 830923.667 0, 1306845.865 830905.598 0,
+ 1306563.443 830887.546 0, 1306281.02 830869.511 0, 1305998.596 830851.492 0, 1305716.171 830833.49 0, 1305432.427 830815.42 0, 1305151.318 830797.535 0, 1304868.889 830779.583 0, 1304586.46 830761.647 0, 1304304.029 830743.728 0, 1304021.598 830725.826 0,
+ 1303739.165 830707.94 0, 1303456.732 830690.071 0, 1303174.297 830672.218 0, 1302891.862 830654.382 0, 1302609.425 830636.563 0, 1302326.987 830618.76 0, 1302044.548 830600.974 0, 1301762.108 830583.205 0, 1301479.667 830565.452 0, 1301197.225 830547.716 0,
+ 1300914.782 830529.996 0, 1300632.338 830512.293 0, 1300349.893 830494.607 0, 1300067.447 830476.937 0, 1299785 830459.284 0, 1299502.552 830441.648 0, 1299220.102 830424.028 0, 1298937.652 830406.425 0, 1298653.882 830388.756 0, 1298307.553 835953.687 0,
+ 1297961.211 841518.825 0, 1298244.323 841536.452 0, 1298526.118 841554.015 0, 1298807.912 841571.594 0, 1299089.705 841589.189 0, 1299371.497 841606.801 0, 1299653.288 841624.43 0, 1299935.078 841642.075 0, 1300216.867 841659.737 0, 1300498.655 841677.416 0,
+ 1300780.442 841695.111 0, 1301062.228 841712.822 0, 1301344.013 841730.551 0, 1301625.797 841748.295 0, 1301907.579 841766.057 0, 1302189.361 841783.835 0, 1302471.142 841801.629 0, 1302752.921 841819.441 0, 1303034.7 841837.268 0, 1303316.477 841855.113 0,
+ 1303598.254 841872.973 0, 1303880.029 841890.851 0, 1304161.804 841908.745 0, 1304443.577 841926.656 0, 1304724.034 841944.499 0, 1305007.12 841962.527 0, 1305288.89 841980.487 0, 1305570.659 841998.464 0, 1305852.427 842016.458 0, 1306134.194 842034.468 0,
+ 1306415.96 842052.495 0, 1306697.725 842070.538 0, 1306979.489 842088.598 0, 1307261.251 842106.674 0, 1307543.013 842124.767 0, 1307824.774 842142.877 0, 1308106.533 842161.003 0, 1308388.292 842179.146 0, 1308670.049 842197.306 0, 1308951.805 842215.482 0,
+ 1309233.56 842233.674 0, 1309515.315 842251.883 0, 1309797.068 842270.109 0, 1310078.82 842288.351 0, 1310360.571 842306.61 0, 1310642.32 842324.886 0, 1310924.069 842343.178 0, 1311205.817 842361.487 0, 1311486.25 842379.726 0, 1311848.313 836815.59 0,
+ 1312210.363 831251.659 0))
+
+POLYGON ((1325008.803 843278.835 0, 1324728.421 843259.803 0, 1324446.726 843240.698 0, 1324165.03 843221.61 0, 1323883.333 843202.539 0, 1323601.635 843183.484 0, 1323319.935 843164.446 0, 1323038.235 843145.424 0, 1322756.533 843126.419 0, 1322474.83 843107.431 0,
+ 1322193.127 843088.459 0, 1321911.422 843069.503 0, 1321629.716 843050.565 0, 1321348.008 843031.642 0, 1321066.3 843012.737 0, 1320784.591 842993.848 0, 1320502.88 842974.975 0, 1320221.169 842956.119 0, 1319939.456 842937.28 0, 1319657.742 842918.457 0,
+ 1319376.027 842899.651 0, 1319094.311 842880.862 0, 1318812.594 842862.089 0, 1318530.876 842843.332 0, 1318247.844 842824.505 0, 1317967.436 842805.869 0, 1317685.714 842787.163 0, 1317403.992 842768.473 0, 1317122.268 842749.799 0, 1316840.543 842731.142 0,
+ 1316558.817 842712.502 0, 1316277.09 842693.878 0, 1315995.362 842675.271 0, 1315713.633 842656.68 0, 1315431.902 842638.106 0, 1315150.171 842619.549 0, 1314868.439 842601.008 0, 1314586.705 842582.484 0, 1314304.97 842563.976 0, 1314023.234 842545.485 0,
+ 1313741.498 842527.011 0, 1313459.76 842508.553 0, 1313178.021 842490.112 0, 1312896.28 842471.687 0, 1312614.539 842453.279 0, 1312332.797 842434.887 0, 1312051.054 842416.512 0, 1311769.309 842398.154 0, 1311486.25 842379.726 0, 1311124.174 847944.066 0,
+ 1310762.084 853508.605 0, 1311044.485 853526.989 0, 1311325.575 853545.305 0, 1311606.663 853563.637 0, 1311887.75 853581.986 0, 1312168.837 853600.351 0, 1312449.922 853618.733 0, 1312731.006 853637.132 0, 1313012.089 853655.547 0, 1313293.171 853673.978 0,
+ 1313574.251 853692.426 0, 1313855.331 853710.891 0, 1314136.41 853729.372 0, 1314417.487 853747.87 0, 1314698.564 853766.384 0, 1314979.639 853784.915 0, 1315260.713 853803.462 0, 1315541.786 853822.026 0, 1315822.858 853840.607 0, 1316103.929 853859.204 0,
+ 1316384.999 853877.817 0, 1316666.068 853896.447 0, 1316947.136 853915.094 0, 1317228.202 853933.757 0, 1317507.959 853952.35 0, 1317790.332 853971.133 0, 1318071.396 853989.846 0, 1318352.458 854008.575 0, 1318633.519 854027.321 0, 1318914.579 854046.083 0,
+ 1319195.638 854064.862 0, 1319476.695 854083.658 0, 1319757.752 854102.47 0, 1320038.808 854121.298 0, 1320319.862 854140.143 0, 1320600.915 854159.005 0, 1320881.968 854177.883 0, 1321163.019 854196.778 0, 1321444.069 854215.689 0, 1321725.118 854234.617 0,
+ 1322006.165 854253.562 0, 1322287.212 854272.522 0, 1322568.258 854291.5 0, 1322849.302 854310.494 0, 1323130.345 854329.504 0, 1323411.388 854348.532 0, 1323692.429 854367.575 0, 1323973.469 854386.635 0, 1324253.199 854405.623 0, 1324631.008 848842.13 0,
+ 1325008.803 843278.835 0))
+
+POLYGON ((1337741.726 855340.753 0, 1337462.048 855320.975 0, 1337181.063 855301.121 0, 1336900.077 855281.283 0, 1336619.09 855261.462 0, 1336338.101 855241.658 0, 1336057.112 855221.87 0, 1335776.121 855202.098 0, 1335495.129 855182.343 0, 1335214.136 855162.605 0,
+ 1334933.141 855142.883 0, 1334652.146 855123.178 0, 1334371.149 855103.489 0, 1334090.152 855083.817 0, 1333809.153 855064.162 0, 1333528.153 855044.523 0, 1333247.151 855024.9 0, 1332966.149 855005.294 0, 1332685.145 854985.705 0, 1332404.141 854966.132 0,
+ 1332123.135 854946.575 0, 1331842.128 854927.035 0, 1331561.12 854907.512 0, 1331280.11 854888.005 0, 1330997.793 854868.425 0, 1330718.088 854849.041 0, 1330437.076 854829.584 0, 1330156.062 854810.144 0, 1329875.047 854790.72 0, 1329594.03 854771.312 0,
+ 1329313.013 854751.921 0, 1329031.995 854732.547 0, 1328750.975 854713.189 0, 1328469.954 854693.848 0, 1328188.933 854674.523 0, 1327907.909 854655.214 0, 1327626.885 854635.923 0, 1327345.86 854616.647 0, 1327064.834 854597.389 0, 1326783.806 854578.147 0,
+ 1326502.777 854558.921 0, 1326221.748 854539.712 0, 1325940.717 854520.52 0, 1325659.685 854501.344 0, 1325378.651 854482.184 0, 1325097.617 854463.041 0, 1324816.582 854443.915 0, 1324535.545 854424.805 0, 1324253.199 854405.623 0, 1323875.377 859969.312 0,
+ 1323497.542 865533.193 0, 1323779.23 865552.33 0, 1324059.612 865571.395 0, 1324339.992 865590.477 0, 1324620.372 865609.575 0, 1324900.75 865628.69 0, 1325181.127 865647.821 0, 1325461.503 865666.969 0, 1325741.878 865686.133 0, 1326022.252 865705.314 0,
+ 1326302.624 865724.511 0, 1326582.996 865743.725 0, 1326863.366 865762.955 0, 1327143.735 865782.202 0, 1327424.103 865801.465 0, 1327704.47 865820.745 0, 1327984.836 865840.042 0, 1328265.201 865859.354 0, 1328545.564 865878.684 0, 1328825.927 865898.029 0,
+ 1329106.288 865917.392 0, 1329386.648 865936.77 0, 1329667.007 865956.166 0, 1329947.365 865975.578 0, 1330226.418 865994.915 0, 1330508.077 866014.451 0, 1330788.432 866033.912 0, 1331068.785 866053.39 0, 1331349.137 866072.884 0, 1331629.488 866092.395 0,
+ 1331909.838 866111.922 0, 1332190.187 866131.466 0, 1332470.534 866151.026 0, 1332750.881 866170.603 0, 1333031.226 866190.196 0, 1333311.57 866209.806 0, 1333591.913 866229.433 0, 1333872.255 866249.075 0, 1334152.595 866268.735 0, 1334432.935 866288.41 0,
+ 1334713.273 866308.103 0, 1334993.61 866327.812 0, 1335273.946 866347.537 0, 1335554.281 866367.279 0, 1335834.615 866387.037 0, 1336114.947 866406.812 0, 1336395.278 866426.603 0, 1336675.609 866446.411 0, 1336954.635 866466.143 0, 1337348.187 860903.352 0,
+ 1337741.726 855340.753 0))
+
+POLYGON ((1350409.038 867437.108 0, 1350130.066 867416.588 0, 1349849.793 867395.988 0, 1349569.519 867375.405 0, 1349289.243 867354.838 0, 1349008.967 867334.288 0, 1348728.689 867313.754 0, 1348448.41 867293.237 0, 1348168.129 867272.736 0, 1347887.848 867252.252 0,
+ 1347607.565 867231.784 0, 1347327.281 867211.333 0, 1347046.996 867190.898 0, 1346766.71 867170.48 0, 1346486.422 867150.078 0, 1346206.133 867129.693 0, 1345925.843 867109.324 0, 1345645.552 867088.972 0, 1345365.26 867068.636 0, 1345084.966 867048.317 0,
+ 1344804.672 867028.014 0, 1344524.376 867007.728 0, 1344244.079 866987.458 0, 1343963.78 866967.205 0, 1343682.179 866946.874 0, 1343403.18 866926.748 0, 1343122.878 866906.544 0, 1342842.575 866886.357 0, 1342562.271 866866.186 0, 1342281.965 866846.032 0,
+ 1342001.659 866825.894 0, 1341721.351 866805.773 0, 1341441.042 866785.668 0, 1341160.732 866765.58 0, 1340880.42 866745.508 0, 1340600.108 866725.453 0, 1340319.794 866705.414 0, 1340039.479 866685.392 0, 1339759.163 866665.386 0, 1339478.846 866645.396 0,
+ 1339198.527 866625.424 0, 1338918.208 866605.467 0, 1338637.887 866585.528 0, 1338357.565 866565.604 0, 1338077.242 866545.697 0, 1337796.917 866525.807 0, 1337516.592 866505.933 0, 1337236.265 866486.076 0, 1336954.635 866466.143 0, 1336561.069 872029.122 0,
+ 1336167.49 877592.285 0, 1336448.463 877612.171 0, 1336728.135 877631.982 0, 1337007.805 877651.809 0, 1337287.475 877671.653 0, 1337567.143 877691.513 0, 1337846.81 877711.39 0, 1338126.476 877731.283 0, 1338406.141 877751.193 0, 1338685.804 877771.119 0,
+ 1338965.467 877791.062 0, 1339245.128 877811.021 0, 1339524.788 877830.996 0, 1339804.447 877850.988 0, 1340084.105 877870.997 0, 1340363.761 877891.022 0, 1340643.417 877911.063 0, 1340923.071 877931.121 0, 1341202.724 877951.195 0, 1341482.376 877971.286 0,
+ 1341762.026 877991.393 0, 1342041.676 878011.517 0, 1342321.324 878031.657 0, 1342600.971 878051.813 0, 1342879.319 878071.893 0, 1343160.262 878092.176 0, 1343439.905 878112.382 0, 1343719.548 878132.604 0, 1343999.189 878152.843 0, 1344278.829 878173.099 0,
+ 1344558.468 878193.37 0, 1344838.105 878213.659 0, 1345117.742 878233.963 0, 1345397.377 878254.285 0, 1345677.011 878274.622 0, 1345956.644 878294.976 0, 1346236.275 878315.347 0, 1346515.906 878335.734 0, 1346795.535 878356.137 0, 1347075.163 878376.557 0,
+ 1347354.79 878396.994 0, 1347634.415 878417.446 0, 1347914.039 878437.916 0, 1348193.663 878458.402 0, 1348473.285 878478.904 0, 1348752.905 878499.422 0, 1349032.525 878519.958 0, 1349312.143 878540.509 0, 1349590.463 878560.982 0, 1349999.757 872998.953 0,
+ 1350409.038 867437.108 0))
+
+POLYGON ((1363010.646 879567.597 0, 1362732.383 879546.338 0, 1362452.823 879524.997 0, 1362173.263 879503.672 0, 1361893.701 879482.363 0, 1361614.138 879461.071 0, 1361334.574 879439.796 0, 1361055.009 879418.536 0, 1360775.442 879397.294 0, 1360495.874 879376.067 0,
+ 1360216.305 879354.857 0, 1359936.735 879333.664 0, 1359657.163 879312.487 0, 1359377.59 879291.327 0, 1359098.016 879270.183 0, 1358818.44 879249.055 0, 1358538.864 879227.944 0, 1358259.286 879206.849 0, 1357979.707 879185.771 0, 1357700.126 879164.709 0,
+ 1357420.545 879143.664 0, 1357140.962 879122.635 0, 1356861.378 879101.623 0, 1356581.793 879080.627 0, 1356300.91 879059.55 0, 1356022.618 879038.684 0, 1355743.029 879017.738 0, 1355463.439 878996.808 0, 1355183.847 878975.894 0, 1354904.255 878954.997 0,
+ 1354624.661 878934.116 0, 1354345.066 878913.252 0, 1354065.469 878892.404 0, 1353785.871 878871.573 0, 1353506.273 878850.758 0, 1353226.673 878829.959 0, 1352947.071 878809.177 0, 1352667.469 878788.412 0, 1352387.865 878767.663 0, 1352108.26 878746.93 0,
+ 1351828.654 878726.214 0, 1351549.046 878705.514 0, 1351269.438 878684.831 0, 1350989.828 878664.164 0, 1350710.217 878643.514 0, 1350430.605 878622.88 0, 1350150.991 878602.263 0, 1349871.376 878581.662 0, 1349590.463 878560.982 0, 1349181.156 884123.191 0,
+ 1348771.835 889685.576 0, 1349052.091 889706.208 0, 1349331.051 889726.76 0, 1349610.009 889747.329 0, 1349888.967 889767.915 0, 1350167.923 889788.517 0, 1350446.878 889809.135 0, 1350725.832 889829.77 0, 1351004.785 889850.421 0, 1351283.736 889871.089 0,
+ 1351562.686 889891.773 0, 1351841.635 889912.474 0, 1352120.583 889933.191 0, 1352399.53 889953.924 0, 1352678.475 889974.674 0, 1352957.419 889995.44 0, 1353236.362 890016.222 0, 1353515.304 890037.021 0, 1353794.244 890057.837 0, 1354073.184 890078.669 0,
+ 1354352.122 890099.517 0, 1354631.058 890120.381 0, 1354909.994 890141.263 0, 1355188.928 890162.16 0, 1355466.569 890182.977 0, 1355746.793 890204.004 0, 1356025.724 890224.951 0, 1356304.653 890245.914 0, 1356583.581 890266.894 0, 1356862.508 890287.89 0,
+ 1357141.434 890308.902 0, 1357420.359 890329.931 0, 1357699.282 890350.976 0, 1357978.204 890372.038 0, 1358257.124 890393.116 0, 1358536.044 890414.211 0, 1358814.962 890435.322 0, 1359093.879 890456.449 0, 1359372.795 890477.593 0, 1359651.709 890498.753 0,
+ 1359930.623 890519.93 0, 1360209.535 890541.123 0, 1360488.446 890562.332 0, 1360767.355 890583.558 0, 1361046.263 890604.8 0, 1361325.17 890626.059 0, 1361604.076 890647.334 0, 1361882.981 890668.625 0, 1362160.592 890689.835 0, 1362585.626 885128.628 0,
+ 1363010.646 879567.597 0))
+
+POLYGON ((1375546.459 891731.915 0, 1375268.906 891709.921 0, 1374990.063 891687.842 0, 1374711.218 891665.779 0, 1374432.372 891643.732 0, 1374153.525 891621.702 0, 1373874.677 891599.688 0, 1373595.827 891577.691 0, 1373316.976 891555.71 0, 1373038.123 891533.746 0,
+ 1372759.27 891511.798 0, 1372480.415 891489.866 0, 1372201.559 891467.951 0, 1371922.701 891446.052 0, 1371643.842 891424.169 0, 1371364.982 891402.303 0, 1371086.121 891380.454 0, 1370807.258 891358.621 0, 1370528.394 891336.804 0, 1370249.529 891315.003 0,
+ 1369970.663 891293.22 0, 1369691.795 891271.452 0, 1369412.926 891249.701 0, 1369134.055 891227.966 0, 1368853.893 891206.147 0, 1368576.311 891184.546 0, 1368297.437 891162.861 0, 1368018.561 891141.191 0, 1367739.685 891119.539 0, 1367460.807 891097.903 0,
+ 1367181.927 891076.283 0, 1366903.047 891054.679 0, 1366624.165 891033.092 0, 1366345.282 891011.522 0, 1366066.398 890989.968 0, 1365787.512 890968.43 0, 1365508.625 890946.909 0, 1365229.737 890925.404 0, 1364950.848 890903.915 0, 1364671.957 890882.443 0,
+ 1364393.065 890860.988 0, 1364114.172 890839.548 0, 1363835.277 890818.125 0, 1363556.381 890796.719 0, 1363277.484 890775.329 0, 1362998.586 890753.955 0, 1362719.687 890732.598 0, 1362440.786 890711.258 0, 1362160.592 890689.835 0, 1361735.546 896251.214 0,
+ 1361310.486 901812.762 0, 1361590.022 901834.135 0, 1361868.268 901855.426 0, 1362146.513 901876.733 0, 1362424.756 901898.056 0, 1362702.999 901919.396 0, 1362981.24 901940.752 0, 1363259.48 901962.125 0, 1363537.718 901983.513 0, 1363815.956 902004.919 0,
+ 1364094.192 902026.34 0, 1364372.426 902047.779 0, 1364650.66 902069.233 0, 1364928.892 902090.704 0, 1365207.123 902112.191 0, 1365485.353 902133.694 0, 1365763.581 902155.214 0, 1366041.808 902176.751 0, 1366320.034 902198.303 0, 1366598.259 902219.872 0,
+ 1366876.482 902241.458 0, 1367154.704 902263.06 0, 1367432.925 902284.678 0, 1367711.145 902306.312 0, 1367988.076 902327.863 0, 1368267.58 902349.631 0, 1368545.796 902371.314 0, 1368824.01 902393.014 0, 1369102.224 902414.731 0, 1369380.435 902436.464 0,
+ 1369658.646 902458.213 0, 1369936.855 902479.978 0, 1370215.064 902501.76 0, 1370493.27 902523.559 0, 1370771.476 902545.373 0, 1371049.68 902567.204 0, 1371327.883 902589.052 0, 1371606.085 902610.916 0, 1371884.285 902632.796 0, 1372162.484 902654.692 0,
+ 1372440.682 902676.605 0, 1372718.878 902698.535 0, 1372997.073 902720.48 0, 1373275.267 902742.442 0, 1373553.46 902764.421 0, 1373831.651 902786.416 0, 1374109.841 902808.427 0, 1374388.03 902830.454 0, 1374664.931 902852.396 0, 1375105.702 897292.071 0,
+ 1375546.459 891731.915 0))
+
+POLYGON ((1388016.386 903929.755 0, 1387739.546 903907.031 0, 1387461.421 903884.217 0, 1387183.294 903861.42 0, 1386905.166 903838.639 0, 1386627.036 903815.875 0, 1386348.906 903793.127 0, 1386070.773 903770.396 0, 1385792.64 903747.681 0, 1385514.505 903724.982 0,
+ 1385236.369 903702.299 0, 1384958.232 903679.633 0, 1384680.093 903656.984 0, 1384401.953 903634.35 0, 1384123.811 903611.733 0, 1383845.669 903589.133 0, 1383567.525 903566.549 0, 1383289.379 903543.981 0, 1383011.232 903521.429 0, 1382733.084 903498.894 0,
+ 1382454.935 903476.375 0, 1382176.784 903453.873 0, 1381898.632 903431.387 0, 1381620.479 903408.917 0, 1381341.039 903386.361 0, 1381064.168 903364.027 0, 1380786.011 903341.607 0, 1380507.852 903319.203 0, 1380229.692 903296.815 0, 1379951.531 903274.444 0,
+ 1379673.368 903252.089 0, 1379395.204 903229.75 0, 1379117.039 903207.428 0, 1378838.873 903185.122 0, 1378560.705 903162.832 0, 1378282.536 903140.559 0, 1378004.365 903118.302 0, 1377726.193 903096.062 0, 1377448.02 903073.838 0, 1377169.846 903051.63 0,
+ 1376891.67 903029.439 0, 1376613.493 903007.264 0, 1376335.315 902985.106 0, 1376057.135 902962.963 0, 1375778.954 902940.838 0, 1375500.772 902918.728 0, 1375222.588 902896.635 0, 1374944.404 902874.559 0, 1374664.931 902852.396 0, 1374224.148 908412.886 0,
+ 1373783.352 913973.538 0, 1374062.166 913995.648 0, 1374339.697 914017.673 0, 1374617.226 914039.714 0, 1374894.753 914061.771 0, 1375172.28 914083.845 0, 1375449.805 914105.935 0, 1375727.329 914128.041 0, 1376004.851 914150.164 0, 1376282.372 914172.303 0,
+ 1376559.892 914194.458 0, 1376837.411 914216.63 0, 1377114.928 914238.818 0, 1377392.444 914261.023 0, 1377669.959 914283.243 0, 1377947.472 914305.48 0, 1378224.984 914327.734 0, 1378502.495 914350.004 0, 1378780.004 914372.29 0, 1379057.512 914394.592 0,
+ 1379335.019 914416.911 0, 1379612.524 914439.246 0, 1379890.028 914461.597 0, 1380167.531 914483.965 0, 1380443.751 914506.246 0, 1380722.533 914528.749 0, 1381000.032 914551.166 0, 1381277.529 914573.599 0, 1381555.026 914596.049 0, 1381832.521 914618.514 0,
+ 1382110.014 914640.997 0, 1382387.507 914663.495 0, 1382664.997 914686.01 0, 1382942.487 914708.541 0, 1383219.975 914731.088 0, 1383497.462 914753.652 0, 1383774.948 914776.232 0, 1384052.432 914798.828 0, 1384329.915 914821.441 0, 1384607.397 914844.07 0,
+ 1384884.877 914866.715 0, 1385162.356 914889.377 0, 1385439.834 914912.055 0, 1385717.31 914934.75 0, 1385994.785 914957.46 0, 1386272.259 914980.187 0, 1386549.731 915002.931 0, 1386827.202 915025.691 0, 1387103.391 915048.361 0, 1387559.895 909488.978 0,
+ 1388016.386 903929.755 0))
+
+POLYGON ((1400420.34 916160.812 0, 1400144.214 916137.361 0, 1399866.809 916113.818 0, 1399589.402 916090.29 0, 1399311.994 916066.779 0, 1399034.584 916043.285 0, 1398757.173 916019.807 0, 1398479.76 915996.345 0, 1398202.347 915972.899 0, 1397924.931 915949.47 0,
+ 1397647.515 915926.057 0, 1397370.097 915902.66 0, 1397092.677 915879.28 0, 1396815.257 915855.916 0, 1396537.835 915832.569 0, 1396260.411 915809.237 0, 1395982.986 915785.923 0, 1395705.56 915762.624 0, 1395428.132 915739.342 0, 1395150.703 915716.076 0,
+ 1394873.273 915692.826 0, 1394595.841 915669.593 0, 1394318.408 915646.376 0, 1394040.974 915623.175 0, 1393762.259 915599.884 0, 1393486.101 915576.823 0, 1393208.662 915553.671 0, 1392931.222 915530.536 0, 1392653.781 915507.417 0, 1392376.339 915484.314 0,
+ 1392098.895 915461.228 0, 1391821.449 915438.158 0, 1391544.003 915415.104 0, 1391266.554 915392.067 0, 1390989.105 915369.046 0, 1390711.654 915346.041 0, 1390434.202 915323.053 0, 1390156.749 915300.081 0, 1389879.294 915277.125 0, 1389601.838 915254.186 0,
+ 1389324.38 915231.263 0, 1389046.921 915208.356 0, 1388769.461 915185.466 0, 1388492 915162.592 0, 1388214.537 915139.734 0, 1387937.072 915116.893 0, 1387659.607 915094.068 0, 1387382.14 915071.259 0, 1387103.391 915048.361 0, 1386646.874 920607.902 0,
+ 1386190.344 926167.597 0, 1386468.436 926190.44 0, 1386745.248 926213.195 0, 1387022.059 926235.967 0, 1387298.869 926258.754 0, 1387575.677 926281.558 0, 1387852.485 926304.378 0, 1388129.29 926327.214 0, 1388406.095 926350.067 0, 1388682.898 926372.936 0,
+ 1388959.7 926395.821 0, 1389236.5 926418.723 0, 1389513.299 926441.641 0, 1389790.097 926464.575 0, 1390066.893 926487.525 0, 1390343.688 926510.492 0, 1390620.482 926533.475 0, 1390897.274 926556.474 0, 1391174.065 926579.49 0, 1391450.854 926602.522 0,
+ 1391727.643 926625.57 0, 1392004.43 926648.634 0, 1392281.215 926671.715 0, 1392557.999 926694.812 0, 1392833.506 926717.819 0, 1393111.563 926741.055 0, 1393388.344 926764.201 0, 1393665.122 926787.363 0, 1393941.9 926810.542 0, 1394218.676 926833.736 0,
+ 1394495.45 926856.947 0, 1394772.223 926880.175 0, 1395048.995 926903.418 0, 1395325.766 926926.678 0, 1395602.535 926949.955 0, 1395879.303 926973.247 0, 1396156.069 926996.556 0, 1396432.834 927019.881 0, 1396709.598 927043.222 0, 1396986.36 927066.58 0,
+ 1397263.121 927089.954 0, 1397539.88 927113.344 0, 1397816.639 927136.751 0, 1398093.395 927160.174 0, 1398370.151 927183.613 0, 1398646.905 927207.068 0, 1398923.657 927230.54 0, 1399200.409 927254.028 0, 1399475.883 927277.424 0, 1399948.118 921719.041 0,
+ 1400420.34 916160.812 0))
+
+POLYGON ((1412758.234 928424.781 0, 1412482.824 928400.606 0, 1412206.141 928376.336 0, 1411929.455 928352.083 0, 1411652.769 928327.846 0, 1411376.081 928303.625 0, 1411099.391 928279.42 0, 1410822.7 928255.232 0, 1410546.008 928231.06 0, 1410269.314 928206.904 0,
+ 1409992.619 928182.765 0, 1409715.922 928158.641 0, 1409439.224 928134.534 0, 1409162.525 928110.444 0, 1408885.824 928086.369 0, 1408609.122 928062.311 0, 1408332.418 928038.27 0, 1408055.713 928014.244 0, 1407779.007 927990.235 0, 1407502.299 927966.242 0,
+ 1407225.589 927942.265 0, 1406948.879 927918.305 0, 1406672.166 927894.361 0, 1406395.453 927870.433 0, 1406117.464 927846.412 0, 1405842.021 927822.626 0, 1405565.304 927798.748 0, 1405288.584 927774.885 0, 1405011.864 927751.039 0, 1404735.142 927727.209 0,
+ 1404458.418 927703.395 0, 1404181.694 927679.597 0, 1403904.967 927655.816 0, 1403628.24 927632.051 0, 1403351.511 927608.303 0, 1403074.78 927584.57 0, 1402798.049 927560.854 0, 1402521.315 927537.154 0, 1402244.581 927513.471 0, 1401967.845 927489.804 0,
+ 1401691.107 927466.153 0, 1401414.369 927442.518 0, 1401137.629 927418.9 0, 1400860.887 927395.298 0, 1400584.144 927371.712 0, 1400307.4 927348.143 0, 1400030.654 927324.59 0, 1399753.907 927301.053 0, 1399475.883 927277.424 0, 1399003.635 932835.956 0,
+ 1398531.375 938394.633 0, 1398808.742 938418.207 0, 1399084.834 938441.688 0, 1399360.926 938465.185 0, 1399637.016 938488.699 0, 1399913.104 938512.229 0, 1400189.192 938535.775 0, 1400465.277 938559.338 0, 1400741.362 938582.916 0, 1401017.445 938606.511 0,
+ 1401293.527 938630.122 0, 1401569.607 938653.75 0, 1401845.686 938677.394 0, 1402121.763 938701.054 0, 1402397.839 938724.73 0, 1402673.914 938748.422 0, 1402949.987 938772.131 0, 1403226.059 938795.856 0, 1403502.13 938819.597 0, 1403778.199 938843.355 0,
+ 1404054.267 938867.128 0, 1404330.333 938890.918 0, 1404606.398 938914.725 0, 1404882.462 938938.547 0, 1405157.253 938962.276 0, 1405434.584 938986.241 0, 1405710.644 939010.112 0, 1405986.702 939033.999 0, 1406262.758 939057.903 0, 1406538.813 939081.823 0,
+ 1406814.867 939105.759 0, 1407090.919 939129.712 0, 1407366.97 939153.68 0, 1407643.02 939177.665 0, 1407919.068 939201.666 0, 1408195.114 939225.684 0, 1408471.159 939249.717 0, 1408747.203 939273.767 0, 1409023.246 939297.834 0, 1409299.287 939321.916 0,
+ 1409575.326 939346.015 0, 1409851.364 939370.13 0, 1410127.401 939394.261 0, 1410403.436 939418.408 0, 1410679.47 939442.572 0, 1410955.503 939466.752 0, 1411231.534 939490.948 0, 1411507.563 939515.16 0, 1411782.322 939539.277 0, 1412270.284 933981.956 0,
+ 1412758.234 928424.781 0))
+
+POLYGON ((1425029.981 940721.353 0, 1424755.29 940696.459 0, 1424479.33 940671.467 0, 1424203.368 940646.491 0, 1423927.405 940621.532 0, 1423651.441 940596.588 0, 1423375.475 940571.661 0, 1423099.507 940546.75 0, 1422823.539 940521.856 0, 1422547.568 940496.977 0,
+ 1422271.596 940472.115 0, 1421995.623 940447.269 0, 1421719.648 940422.439 0, 1421443.672 940397.626 0, 1421167.694 940372.829 0, 1420891.715 940348.048 0, 1420615.735 940323.283 0, 1420339.753 940298.535 0, 1420063.769 940273.802 0, 1419787.784 940249.086 0,
+ 1419511.798 940224.387 0, 1419235.81 940199.703 0, 1418959.821 940175.036 0, 1418683.83 940150.385 0, 1418406.569 940125.637 0, 1418131.844 940101.131 0, 1417855.849 940076.529 0, 1417579.852 940051.943 0, 1417303.854 940027.373 0, 1417027.855 940002.82 0,
+ 1416751.854 939978.282 0, 1416475.851 939953.761 0, 1416199.848 939929.257 0, 1415923.842 939904.768 0, 1415647.836 939880.296 0, 1415371.828 939855.84 0, 1415095.818 939831.4 0, 1414819.807 939806.976 0, 1414543.795 939782.569 0, 1414267.781 939758.178 0,
+ 1413991.765 939733.803 0, 1413715.749 939709.444 0, 1413439.731 939685.102 0, 1413163.711 939660.776 0, 1412887.69 939636.466 0, 1412611.667 939612.172 0, 1412335.644 939587.895 0, 1412059.618 939563.634 0, 1411782.322 939539.277 0, 1411294.347 945096.74 0,
+ 1410806.36 950654.341 0, 1411082.999 950678.639 0, 1411358.37 950702.843 0, 1411633.74 950727.063 0, 1411909.108 950751.299 0, 1412184.475 950775.551 0, 1412459.84 950799.82 0, 1412735.204 950824.104 0, 1413010.567 950848.405 0, 1413285.928 950872.722 0,
+ 1413561.288 950897.056 0, 1413836.646 950921.405 0, 1414112.003 950945.771 0, 1414387.358 950970.153 0, 1414662.712 950994.551 0, 1414938.065 951018.965 0, 1415213.416 951043.396 0, 1415488.765 951067.842 0, 1415764.113 951092.305 0, 1416039.46 951116.785 0,
+ 1416314.806 951141.28 0, 1416590.149 951165.791 0, 1416865.492 951190.319 0, 1417140.833 951214.863 0, 1417414.907 951239.31 0, 1417691.51 951264 0, 1417966.847 951288.592 0, 1418242.182 951313.201 0, 1418517.516 951337.826 0, 1418792.848 951362.467 0,
+ 1419068.179 951387.125 0, 1419343.509 951411.798 0, 1419618.837 951436.488 0, 1419894.163 951461.194 0, 1420169.488 951485.917 0, 1420444.812 951510.655 0, 1420720.134 951535.41 0, 1420995.454 951560.181 0, 1421270.774 951584.968 0, 1421546.091 951609.771 0,
+ 1421821.408 951634.59 0, 1422096.723 951659.426 0, 1422372.036 951684.278 0, 1422647.348 951709.146 0, 1422922.658 951734.03 0, 1423197.967 951758.931 0, 1423473.275 951783.847 0, 1423748.581 951808.78 0, 1424022.621 951833.615 0, 1424526.307 946277.415 0,
+ 1425029.981 940721.353 0))
+
+POLYGON ((942393.263 531866.707 0, 942094.702 531870.09 0, 941794.68 531873.507 0, 941494.658 531876.941 0, 941194.637 531880.394 0, 940894.615 531883.864 0, 940594.594 531887.351 0, 940294.573 531890.857 0, 939994.552 531894.38 0, 939694.532 531897.92 0,
+ 939394.512 531901.479 0, 939094.492 531905.055 0, 938794.472 531908.648 0, 938494.452 531912.259 0, 938194.432 531915.888 0, 937894.413 531919.535 0, 937594.394 531923.199 0, 937294.375 531926.881 0, 936994.357 531930.581 0, 936694.338 531934.298 0,
+ 936394.32 531938.033 0, 936094.302 531941.785 0, 935794.284 531945.555 0, 935494.267 531949.343 0, 935192.788 531953.167 0, 934894.233 531956.972 0, 934594.216 531960.813 0, 934294.199 531964.671 0, 933994.183 531968.547 0, 933694.167 531972.441 0,
+ 933394.151 531976.353 0, 933094.135 531980.282 0, 932794.119 531984.229 0, 932494.104 531988.193 0, 932194.089 531992.175 0, 931894.074 531996.175 0, 931594.06 532000.192 0, 931294.046 532004.227 0, 930994.032 532008.28 0, 930694.018 532012.35 0,
+ 930394.004 532016.438 0, 930093.991 532020.544 0, 929793.978 532024.667 0, 929493.965 532028.809 0, 929193.952 532032.967 0, 928893.94 532037.144 0, 928593.928 532041.338 0, 928293.916 532045.549 0, 927992.441 532049.799 0, 928070.981 537609.368 0,
+ 928149.525 543169.321 0, 928450.342 543165.08 0, 928749.7 543160.878 0, 929049.057 543156.693 0, 929348.415 543152.526 0, 929647.773 543148.376 0, 929947.132 543144.244 0, 930246.49 543140.13 0, 930545.849 543136.033 0, 930845.208 543131.954 0,
+ 931144.568 543127.892 0, 931443.927 543123.848 0, 931743.287 543119.822 0, 932042.647 543115.814 0, 932342.007 543111.823 0, 932641.368 543107.849 0, 932940.729 543103.893 0, 933240.09 543099.955 0, 933539.451 543096.035 0, 933838.812 543092.132 0,
+ 934138.174 543088.246 0, 934437.536 543084.379 0, 934736.898 543080.529 0, 935036.26 543076.696 0, 935334.164 543072.9 0, 935634.986 543069.084 0, 935934.349 543065.305 0, 936233.712 543061.543 0, 936533.075 543057.798 0, 936832.439 543054.072 0,
+ 937131.803 543050.362 0, 937431.167 543046.671 0, 937730.532 543042.997 0, 938029.896 543039.341 0, 938329.261 543035.702 0, 938628.626 543032.081 0, 938927.991 543028.478 0, 939227.356 543024.892 0, 939526.722 543021.324 0, 939826.088 543017.773 0,
+ 940125.454 543014.24 0, 940424.82 543010.725 0, 940724.187 543007.228 0, 941023.553 543003.747 0, 941322.92 543000.285 0, 941622.287 542996.84 0, 941921.655 542993.413 0, 942221.022 542990.003 0, 942518.932 542986.628 0, 942456.095 537426.476 0,
+ 942393.263 531866.707 0))
+
+POLYGON ((956888.798 542844.532 0, 956590.877 542847.066 0, 956291.501 542849.63 0, 955992.125 542852.211 0, 955692.75 542854.81 0, 955393.374 542857.427 0, 955093.999 542860.061 0, 954794.624 542862.713 0, 954495.249 542865.382 0, 954195.874 542868.07 0,
+ 953896.499 542870.774 0, 953597.125 542873.497 0, 953297.75 542876.237 0, 952998.376 542878.994 0, 952699.002 542881.769 0, 952399.628 542884.562 0, 952100.255 542887.373 0, 951800.881 542890.201 0, 951501.508 542893.047 0, 951202.135 542895.91 0,
+ 950902.762 542898.791 0, 950603.389 542901.689 0, 950304.016 542904.606 0, 950004.643 542907.539 0, 949703.815 542910.505 0, 949405.899 542913.46 0, 949106.527 542916.447 0, 948807.155 542919.451 0, 948507.784 542922.473 0, 948208.412 542925.512 0,
+ 947909.041 542928.57 0, 947609.67 542931.644 0, 947310.299 542934.737 0, 947010.928 542937.847 0, 946711.558 542940.974 0, 946412.187 542944.12 0, 946112.817 542947.283 0, 945813.447 542950.463 0, 945514.077 542953.661 0, 945214.708 542956.877 0,
+ 944915.338 542960.11 0, 944615.969 542963.361 0, 944316.6 542966.63 0, 944017.231 542969.916 0, 943717.862 542973.22 0, 943418.494 542976.541 0, 943119.126 542979.881 0, 942819.758 542983.237 0, 942518.932 542986.628 0, 942581.773 548547.161 0,
+ 942644.618 554108.071 0, 942944.786 554104.688 0, 943243.499 554101.339 0, 943542.213 554098.007 0, 943840.927 554094.693 0, 944139.641 554091.396 0, 944438.355 554088.117 0, 944737.069 554084.856 0, 945035.784 554081.612 0, 945334.499 554078.385 0,
+ 945633.214 554075.177 0, 945931.929 554071.986 0, 946230.645 554068.812 0, 946529.36 554065.656 0, 946828.076 554062.518 0, 947126.792 554059.397 0, 947425.508 554056.294 0, 947724.224 554053.208 0, 948022.941 554050.14 0, 948321.658 554047.089 0,
+ 948620.374 554044.057 0, 948919.091 554041.041 0, 949217.809 554038.044 0, 949516.526 554035.063 0, 949813.79 554032.115 0, 950113.961 554029.156 0, 950412.679 554026.228 0, 950711.397 554023.319 0, 951010.116 554020.426 0, 951308.834 554017.552 0,
+ 951607.553 554014.695 0, 951906.271 554011.855 0, 952204.99 554009.033 0, 952503.709 554006.229 0, 952802.429 554003.442 0, 953101.148 554000.673 0, 953399.868 553997.921 0, 953698.587 553995.187 0, 953997.307 553992.471 0, 954296.027 553989.772 0,
+ 954594.748 553987.091 0, 954893.468 553984.427 0, 955192.189 553981.781 0, 955490.909 553979.153 0, 955789.63 553976.542 0, 956088.351 553973.948 0, 956387.072 553971.373 0, 956685.794 553968.814 0, 956983.063 553966.286 0, 956935.929 548405.22 0,
+ 956888.798 542844.532 0))
+
+POLYGON ((971321.851 553865.01 0, 971024.574 553866.699 0, 970725.846 553868.413 0, 970427.119 553870.145 0, 970128.392 553871.894 0, 969829.665 553873.661 0, 969530.938 553875.446 0, 969232.211 553877.248 0, 968933.484 553879.067 0, 968634.758 553880.905 0,
+ 968336.031 553882.76 0, 968037.305 553884.632 0, 967738.579 553886.522 0, 967439.853 553888.43 0, 967141.126 553890.355 0, 966842.401 553892.298 0, 966543.675 553894.258 0, 966244.949 553896.236 0, 965946.223 553898.232 0, 965647.498 553900.245 0,
+ 965348.773 553902.276 0, 965050.047 553904.324 0, 964751.322 553906.39 0, 964452.597 553908.473 0, 964152.421 553910.584 0, 963855.148 553912.693 0, 963556.423 553914.829 0, 963257.698 553916.983 0, 962958.974 553919.154 0, 962660.25 553921.343 0,
+ 962361.526 553923.55 0, 962062.802 553925.774 0, 961764.078 553928.015 0, 961465.354 553930.275 0, 961166.631 553932.552 0, 960867.907 553934.846 0, 960569.184 553937.158 0, 960270.461 553939.488 0, 959971.738 553941.835 0, 959673.015 553944.2 0,
+ 959374.292 553946.582 0, 959075.569 553948.982 0, 958776.847 553951.399 0, 958478.125 553953.835 0, 958179.402 553956.287 0, 957880.68 553958.758 0, 957581.958 553961.245 0, 957283.237 553963.751 0, 956983.063 553966.286 0, 957030.2 559527.726 0,
+ 957077.341 565089.537 0, 957376.857 565087.008 0, 957674.924 565084.508 0, 957972.991 565082.025 0, 958271.058 565079.56 0, 958569.126 565077.113 0, 958867.194 565074.683 0, 959165.261 565072.271 0, 959463.329 565069.876 0, 959761.397 565067.499 0,
+ 960059.466 565065.14 0, 960357.534 565062.798 0, 960655.602 565060.473 0, 960953.671 565058.166 0, 961251.74 565055.877 0, 961549.809 565053.605 0, 961847.878 565051.351 0, 962145.947 565049.114 0, 962444.016 565046.895 0, 962742.085 565044.693 0,
+ 963040.155 565042.509 0, 963338.225 565040.342 0, 963636.294 565038.193 0, 963934.364 565036.062 0, 964230.987 565033.958 0, 964530.505 565031.851 0, 964828.575 565029.772 0, 965126.645 565027.711 0, 965424.716 565025.667 0, 965722.786 565023.641 0,
+ 966020.857 565021.632 0, 966318.928 565019.641 0, 966616.999 565017.667 0, 966915.07 565015.711 0, 967213.142 565013.773 0, 967511.213 565011.852 0, 967809.284 565009.948 0, 968107.356 565008.062 0, 968405.428 565006.194 0, 968703.499 565004.343 0,
+ 969001.571 565002.51 0, 969299.643 565000.694 0, 969597.715 564998.896 0, 969895.788 564997.115 0, 970193.86 564995.352 0, 970491.932 564993.607 0, 970790.005 564991.879 0, 971088.078 564990.168 0, 971384.704 564988.483 0, 971353.276 559426.561 0,
+ 971321.851 553865.01 0))
+
+POLYGON ((985692.295 564927.851 0, 985395.663 564928.697 0, 985097.587 564929.566 0, 984799.51 564930.452 0, 984501.434 564931.355 0, 984203.358 564932.276 0, 983905.282 564933.215 0, 983607.206 564934.171 0, 983309.13 564935.144 0, 983011.054 564936.135 0,
+ 982712.978 564937.144 0, 982414.903 564938.17 0, 982116.827 564939.214 0, 981818.751 564940.275 0, 981520.676 564941.354 0, 981222.6 564942.451 0, 980924.525 564943.565 0, 980626.449 564944.696 0, 980328.374 564945.845 0, 980030.299 564947.012 0,
+ 979732.223 564948.196 0, 979434.148 564949.398 0, 979136.073 564950.617 0, 978837.998 564951.854 0, 978538.478 564953.114 0, 978241.849 564954.38 0, 977943.774 564955.669 0, 977645.699 564956.976 0, 977347.624 564958.301 0, 977049.55 564959.643 0,
+ 976751.476 564961.003 0, 976453.401 564962.38 0, 976155.327 564963.774 0, 975857.253 564965.187 0, 975559.179 564966.616 0, 975261.105 564968.064 0, 974963.031 564969.528 0, 974664.957 564971.011 0, 974366.883 564972.511 0, 974068.809 564974.028 0,
+ 973770.736 564975.563 0, 973472.662 564977.116 0, 973174.589 564978.686 0, 972876.515 564980.274 0, 972578.442 564981.879 0, 972280.369 564983.502 0, 971982.296 564985.142 0, 971684.223 564986.8 0, 971384.704 564988.483 0, 971416.133 570550.773 0,
+ 971447.564 576113.428 0, 971746.426 576111.748 0, 972043.844 576110.094 0, 972341.262 576108.458 0, 972638.681 576106.838 0, 972936.099 576105.237 0, 973233.518 576103.653 0, 973530.936 576102.086 0, 973828.355 576100.537 0, 974125.774 576099.005 0,
+ 974423.193 576097.491 0, 974720.612 576095.994 0, 975018.031 576094.515 0, 975315.45 576093.053 0, 975612.869 576091.609 0, 975910.288 576090.183 0, 976207.708 576088.774 0, 976505.127 576087.382 0, 976802.547 576086.008 0, 977099.966 576084.651 0,
+ 977397.386 576083.312 0, 977694.806 576081.991 0, 977992.226 576080.687 0, 978289.646 576079.4 0, 978585.623 576078.137 0, 978884.486 576076.879 0, 979181.906 576075.645 0, 979479.326 576074.429 0, 979776.747 576073.23 0, 980074.167 576072.048 0,
+ 980371.588 576070.884 0, 980669.008 576069.737 0, 980966.429 576068.608 0, 981263.849 576067.497 0, 981561.27 576066.403 0, 981858.691 576065.326 0, 982156.112 576064.267 0, 982453.533 576063.226 0, 982750.954 576062.202 0, 983048.375 576061.195 0,
+ 983345.796 576060.206 0, 983643.217 576059.235 0, 983940.638 576058.281 0, 984238.059 576057.344 0, 984535.481 576056.426 0, 984832.902 576055.524 0, 985130.323 576054.64 0, 985427.745 576053.774 0, 985723.725 576052.929 0, 985708.009 570490.207 0,
+ 985692.295 564927.851 0))
+
+POLYGON ((1000000 576032.762 0, 999704.016 576032.771 0, 999406.594 576032.797 0, 999109.171 576032.841 0, 998811.748 576032.902 0, 998514.325 576032.981 0, 998216.903 576033.077 0, 997919.48 576033.191 0, 997622.057 576033.322 0, 997324.635 576033.47 0,
+ 997027.212 576033.637 0, 996729.789 576033.82 0, 996432.366 576034.022 0, 996134.944 576034.24 0, 995837.521 576034.477 0, 995540.099 576034.73 0, 995242.676 576035.002 0, 994945.253 576035.29 0, 994647.831 576035.597 0, 994350.408 576035.92 0,
+ 994052.986 576036.262 0, 993755.563 576036.62 0, 993458.141 576036.997 0, 993160.718 576037.391 0, 992861.855 576037.804 0, 992565.873 576038.231 0, 992268.451 576038.677 0, 991971.028 576039.141 0, 991673.606 576039.622 0, 991376.184 576040.121 0,
+ 991078.761 576040.637 0, 990781.339 576041.171 0, 990483.917 576041.722 0, 990186.495 576042.291 0, 989889.073 576042.878 0, 989591.65 576043.481 0, 989294.228 576044.103 0, 988996.806 576044.742 0, 988699.384 576045.398 0, 988401.962 576046.072 0,
+ 988104.54 576046.763 0, 987807.119 576047.472 0, 987509.697 576048.199 0, 987212.275 576048.943 0, 986914.853 576049.704 0, 986617.431 576050.483 0, 986320.01 576051.279 0, 986022.588 576052.093 0, 985723.725 576052.929 0, 985739.442 581616.012 0,
+ 985755.16 587179.453 0, 986053.365 587178.62 0, 986350.131 587177.808 0, 986646.898 587177.013 0, 986943.665 587176.236 0, 987240.432 587175.476 0, 987537.199 587174.734 0, 987833.966 587174.009 0, 988130.733 587173.301 0, 988427.5 587172.612 0,
+ 988724.267 587171.939 0, 989021.034 587171.284 0, 989317.801 587170.647 0, 989614.568 587170.027 0, 989911.336 587169.424 0, 990208.103 587168.839 0, 990504.87 587168.272 0, 990801.638 587167.721 0, 991098.405 587167.189 0, 991395.172 587166.674 0,
+ 991691.94 587166.176 0, 991988.707 587165.696 0, 992285.475 587165.233 0, 992582.242 587164.788 0, 992877.573 587164.362 0, 993175.777 587163.949 0, 993472.545 587163.556 0, 993769.313 587163.181 0, 994066.08 587162.823 0, 994362.848 587162.482 0,
+ 994659.616 587162.159 0, 994956.383 587161.854 0, 995253.151 587161.566 0, 995549.919 587161.295 0, 995846.686 587161.042 0, 996143.454 587160.806 0, 996440.222 587160.588 0, 996736.99 587160.387 0, 997033.758 587160.204 0, 997330.525 587160.038 0,
+ 997627.293 587159.889 0, 997924.061 587159.758 0, 998220.829 587159.645 0, 998517.597 587159.549 0, 998814.364 587159.471 0, 999111.132 587159.409 0, 999407.9 587159.366 0, 999704.668 587159.34 0, 1000000 587159.331 0, 1000000 581595.867 0,
+ 1000000 576032.762 0))
+
+POLYGON ((1014244.84 587179.453 0, 1013949.507 587178.628 0, 1013652.74 587177.815 0, 1013355.974 587177.02 0, 1013059.207 587176.243 0, 1012762.44 587175.483 0, 1012465.673 587174.741 0, 1012168.906 587174.016 0, 1011872.139 587173.308 0, 1011575.372 587172.618 0,
+ 1011278.605 587171.946 0, 1010981.838 587171.291 0, 1010685.071 587170.653 0, 1010388.303 587170.033 0, 1010091.536 587169.43 0, 1009794.769 587168.845 0, 1009498.002 587168.277 0, 1009201.234 587167.727 0, 1008904.467 587167.194 0, 1008607.699 587166.679 0,
+ 1008310.932 587166.181 0, 1008014.165 587165.7 0, 1007717.397 587165.237 0, 1007420.63 587164.792 0, 1007122.427 587164.362 0, 1006827.094 587163.953 0, 1006530.327 587163.56 0, 1006233.559 587163.184 0, 1005936.792 587162.826 0, 1005640.024 587162.486 0,
+ 1005343.256 587162.162 0, 1005046.489 587161.857 0, 1004749.721 587161.568 0, 1004452.953 587161.297 0, 1004156.185 587161.044 0, 1003859.418 587160.808 0, 1003562.65 587160.59 0, 1003265.882 587160.389 0, 1002969.114 587160.205 0, 1002672.346 587160.039 0,
+ 1002375.579 587159.891 0, 1002078.811 587159.76 0, 1001782.043 587159.646 0, 1001485.275 587159.55 0, 1001188.507 587159.471 0, 1000891.739 587159.41 0, 1000594.972 587159.366 0, 1000298.204 587159.34 0, 1000000 587159.331 0, 1000000 592723.15 0,
+ 1000000 598287.321 0, 1000297.546 598287.33 0, 1000593.658 598287.356 0, 1000889.771 598287.399 0, 1001185.884 598287.461 0, 1001481.997 598287.539 0, 1001778.11 598287.635 0, 1002074.223 598287.748 0, 1002370.336 598287.879 0, 1002666.449 598288.027 0,
+ 1002962.561 598288.193 0, 1003258.674 598288.376 0, 1003554.787 598288.577 0, 1003850.9 598288.795 0, 1004147.013 598289.03 0, 1004443.125 598289.283 0, 1004739.238 598289.553 0, 1005035.351 598289.841 0, 1005331.464 598290.146 0, 1005627.576 598290.468 0,
+ 1005923.689 598290.808 0, 1006219.802 598291.166 0, 1006515.914 598291.54 0, 1006812.027 598291.933 0, 1007106.708 598292.34 0, 1007404.252 598292.769 0, 1007700.365 598293.214 0, 1007996.477 598293.676 0, 1008292.59 598294.155 0, 1008588.702 598294.652 0,
+ 1008884.815 598295.166 0, 1009180.927 598295.698 0, 1009477.039 598296.247 0, 1009773.152 598296.813 0, 1010069.264 598297.397 0, 1010365.376 598297.999 0, 1010661.488 598298.618 0, 1010957.601 598299.254 0, 1011253.713 598299.907 0, 1011549.825 598300.578 0,
+ 1011845.937 598301.267 0, 1012142.049 598301.973 0, 1012438.161 598302.696 0, 1012734.273 598303.437 0, 1013030.385 598304.195 0, 1013326.497 598304.971 0, 1013622.609 598305.764 0, 1013918.72 598306.575 0, 1014213.402 598307.399 0, 1014229.121 592743.25 0,
+ 1014244.84 587179.453 0))
+
+POLYGON ((1028426.69 598367.632 0, 1028132.01 598365.975 0, 1027835.902 598364.328 0, 1027539.793 598362.698 0, 1027243.685 598361.086 0, 1026947.576 598359.491 0, 1026651.467 598357.914 0, 1026355.359 598356.354 0, 1026059.25 598354.812 0, 1025763.141 598353.287 0,
+ 1025467.032 598351.779 0, 1025170.923 598350.289 0, 1024874.813 598348.816 0, 1024578.704 598347.36 0, 1024282.595 598345.923 0, 1023986.485 598344.502 0, 1023690.376 598343.099 0, 1023394.266 598341.713 0, 1023098.156 598340.345 0, 1022802.047 598338.994 0,
+ 1022505.937 598337.661 0, 1022209.827 598336.345 0, 1021913.717 598335.046 0, 1021617.607 598333.765 0, 1021320.067 598332.496 0, 1021025.386 598331.256 0, 1020729.276 598330.027 0, 1020433.165 598328.815 0, 1020137.055 598327.621 0, 1019840.944 598326.445 0,
+ 1019544.834 598325.286 0, 1019248.723 598324.144 0, 1018952.612 598323.02 0, 1018656.501 598321.913 0, 1018360.391 598320.824 0, 1018064.28 598319.752 0, 1017768.169 598318.697 0, 1017472.058 598317.66 0, 1017175.946 598316.641 0, 1016879.835 598315.638 0,
+ 1016583.724 598314.654 0, 1016287.613 598313.686 0, 1015991.501 598312.736 0, 1015695.39 598311.804 0, 1015399.278 598310.889 0, 1015103.167 598309.991 0, 1014807.055 598309.111 0, 1014510.944 598308.248 0, 1014213.402 598307.399 0, 1014197.681 603871.896 0,
+ 1014181.959 609436.739 0, 1014478.843 609437.586 0, 1014774.3 609438.447 0, 1015069.756 609439.325 0, 1015365.213 609440.221 0, 1015660.669 609441.134 0, 1015956.125 609442.064 0, 1016251.582 609443.012 0, 1016547.038 609443.978 0, 1016842.494 609444.96 0,
+ 1017137.95 609445.96 0, 1017433.406 609446.978 0, 1017728.862 609448.012 0, 1018024.318 609449.065 0, 1018319.774 609450.134 0, 1018615.23 609451.221 0, 1018910.686 609452.325 0, 1019206.141 609453.447 0, 1019501.597 609454.586 0, 1019797.053 609455.743 0,
+ 1020092.508 609456.917 0, 1020387.964 609458.108 0, 1020683.419 609459.317 0, 1020978.874 609460.543 0, 1021272.903 609461.78 0, 1021569.785 609463.047 0, 1021865.24 609464.325 0, 1022160.695 609465.621 0, 1022456.15 609466.934 0, 1022751.604 609468.264 0,
+ 1023047.059 609469.612 0, 1023342.514 609470.977 0, 1023637.968 609472.36 0, 1023933.423 609473.76 0, 1024228.877 609475.177 0, 1024524.332 609476.612 0, 1024819.786 609478.064 0, 1025115.24 609479.534 0, 1025410.694 609481.021 0, 1025706.148 609482.525 0,
+ 1026001.602 609484.047 0, 1026297.056 609485.586 0, 1026592.51 609487.142 0, 1026887.963 609488.716 0, 1027183.417 609490.308 0, 1027478.87 609491.916 0, 1027774.324 609493.542 0, 1028069.777 609495.186 0, 1028363.805 609496.838 0, 1028395.248 603932.062 0,
+ 1028426.69 598367.632 0))
+
+POLYGON ((1042545.425 609597.004 0, 1042251.4 609594.521 0, 1041955.953 609592.043 0, 1041660.505 609589.582 0, 1041365.057 609587.139 0, 1041069.609 609584.713 0, 1040774.161 609582.304 0, 1040478.713 609579.913 0, 1040183.265 609577.539 0, 1039887.817 609575.183 0,
+ 1039592.368 609572.844 0, 1039296.919 609570.522 0, 1039001.47 609568.218 0, 1038706.021 609565.931 0, 1038410.572 609563.661 0, 1038115.123 609561.409 0, 1037819.674 609559.175 0, 1037524.224 609556.957 0, 1037228.775 609554.758 0, 1036933.325 609552.575 0,
+ 1036637.875 609550.41 0, 1036342.425 609548.262 0, 1036046.975 609546.132 0, 1035751.524 609544.019 0, 1035454.65 609541.913 0, 1035160.624 609539.845 0, 1034865.173 609537.784 0, 1034569.722 609535.741 0, 1034274.271 609533.715 0, 1033978.82 609531.706 0,
+ 1033683.369 609529.715 0, 1033387.918 609527.741 0, 1033092.467 609525.785 0, 1032797.015 609523.846 0, 1032501.564 609521.924 0, 1032206.112 609520.02 0, 1031910.66 609518.133 0, 1031615.208 609516.263 0, 1031319.756 609514.411 0, 1031024.304 609512.576 0,
+ 1030728.852 609510.759 0, 1030433.399 609508.959 0, 1030137.947 609507.177 0, 1029842.494 609505.411 0, 1029547.042 609503.664 0, 1029251.589 609501.933 0, 1028956.136 609500.22 0, 1028660.683 609498.525 0, 1028363.805 609496.838 0, 1028332.36 615061.957 0,
+ 1028300.913 620627.414 0, 1028597.132 620629.097 0, 1028891.93 620630.789 0, 1029186.728 620632.498 0, 1029481.526 620634.224 0, 1029776.323 620635.968 0, 1030071.12 620637.729 0, 1030365.918 620639.508 0, 1030660.715 620641.304 0, 1030955.512 620643.117 0,
+ 1031250.309 620644.948 0, 1031545.106 620646.796 0, 1031839.903 620648.661 0, 1032134.7 620650.544 0, 1032429.496 620652.444 0, 1032724.293 620654.361 0, 1033019.089 620656.296 0, 1033313.885 620658.248 0, 1033608.681 620660.218 0, 1033903.477 620662.205 0,
+ 1034198.273 620664.209 0, 1034493.069 620666.23 0, 1034787.865 620668.269 0, 1035082.66 620670.325 0, 1035376.035 620672.389 0, 1035672.251 620674.49 0, 1035967.046 620676.598 0, 1036261.841 620678.724 0, 1036556.636 620680.867 0, 1036851.431 620683.027 0,
+ 1037146.225 620685.205 0, 1037441.02 620687.4 0, 1037735.814 620689.612 0, 1038030.608 620691.842 0, 1038325.403 620694.089 0, 1038620.197 620696.353 0, 1038914.99 620698.635 0, 1039209.784 620700.934 0, 1039504.578 620703.251 0, 1039799.371 620705.585 0,
+ 1040094.165 620707.936 0, 1040388.958 620710.304 0, 1040683.751 620712.69 0, 1040978.544 620715.094 0, 1041273.336 620717.514 0, 1041568.129 620719.952 0, 1041862.921 620722.407 0, 1042157.714 620724.88 0, 1042451.086 620727.358 0, 1042498.257 615162.012 0,
+ 1042545.425 609597.004 0))
+
+POLYGON ((1056600.922 620867.278 0, 1056307.555 620863.971 0, 1056012.771 620860.666 0, 1055717.986 620857.378 0, 1055423.202 620854.107 0, 1055128.417 620850.854 0, 1054833.632 620847.618 0, 1054538.847 620844.399 0, 1054244.062 620841.197 0, 1053949.276 620838.013 0,
+ 1053654.49 620834.847 0, 1053359.705 620831.697 0, 1053064.918 620828.565 0, 1052770.132 620825.451 0, 1052475.346 620822.354 0, 1052180.559 620819.274 0, 1051885.772 620816.211 0, 1051590.985 620813.166 0, 1051296.198 620810.138 0, 1051001.411 620807.127 0,
+ 1050706.624 620804.134 0, 1050411.836 620801.158 0, 1050117.048 620798.2 0, 1049822.26 620795.259 0, 1049526.053 620792.321 0, 1049232.683 620789.429 0, 1048937.895 620786.54 0, 1048643.106 620783.668 0, 1048348.317 620780.814 0, 1048053.528 620777.977 0,
+ 1047758.739 620775.157 0, 1047463.95 620772.355 0, 1047169.16 620769.57 0, 1046874.37 620766.802 0, 1046579.581 620764.052 0, 1046284.791 620761.319 0, 1045990 620758.603 0, 1045695.21 620755.905 0, 1045400.419 620753.224 0, 1045105.629 620750.561 0,
+ 1044810.838 620747.915 0, 1044516.047 620745.286 0, 1044221.256 620742.674 0, 1043926.465 620740.08 0, 1043631.673 620737.503 0, 1043336.882 620734.944 0, 1043042.09 620732.402 0, 1042747.298 620729.877 0, 1042451.086 620727.358 0, 1042403.913 626293.04 0,
+ 1042356.737 631859.054 0, 1042652.29 631861.568 0, 1042946.427 631864.087 0, 1043240.563 631866.624 0, 1043534.7 631869.177 0, 1043828.836 631871.748 0, 1044122.972 631874.337 0, 1044417.108 631876.942 0, 1044711.244 631879.565 0, 1045005.379 631882.206 0,
+ 1045299.515 631884.863 0, 1045593.65 631887.538 0, 1045887.785 631890.23 0, 1046181.92 631892.94 0, 1046476.055 631895.667 0, 1046770.19 631898.411 0, 1047064.324 631901.172 0, 1047358.459 631903.951 0, 1047652.593 631906.747 0, 1047946.727 631909.56 0,
+ 1048240.861 631912.391 0, 1048534.995 631915.239 0, 1048829.128 631918.104 0, 1049123.261 631920.987 0, 1049415.979 631923.873 0, 1049711.528 631926.804 0, 1050005.66 631929.739 0, 1050299.793 631932.691 0, 1050593.926 631935.66 0, 1050888.058 631938.647 0,
+ 1051182.19 631941.65 0, 1051476.322 631944.671 0, 1051770.454 631947.71 0, 1052064.585 631950.766 0, 1052358.717 631953.839 0, 1052652.848 631956.929 0, 1052946.979 631960.037 0, 1053241.11 631963.162 0, 1053535.241 631966.304 0, 1053829.371 631969.464 0,
+ 1054123.502 631972.641 0, 1054417.632 631975.835 0, 1054711.762 631979.047 0, 1055005.891 631982.275 0, 1055300.021 631985.522 0, 1055594.15 631988.785 0, 1055888.28 631992.066 0, 1056182.409 631995.364 0, 1056475.123 631998.664 0, 1056538.024 626432.805 0,
+ 1056600.922 620867.278 0))
+
+POLYGON ((1070593.059 632178.159 0, 1070300.352 632174.033 0, 1070006.234 632169.904 0, 1069712.115 632165.792 0, 1069417.996 632161.697 0, 1069123.877 632157.62 0, 1068829.758 632153.56 0, 1068535.638 632149.518 0, 1068241.518 632145.493 0, 1067947.398 632141.485 0,
+ 1067653.277 632137.494 0, 1067359.157 632133.521 0, 1067065.036 632129.565 0, 1066770.915 632125.626 0, 1066476.793 632121.705 0, 1066182.672 632117.801 0, 1065888.55 632113.914 0, 1065594.428 632110.045 0, 1065300.306 632106.193 0, 1065006.183 632102.358 0,
+ 1064712.06 632098.54 0, 1064417.938 632094.74 0, 1064123.814 632090.957 0, 1063829.691 632087.192 0, 1063534.154 632083.426 0, 1063241.444 632079.713 0, 1062947.32 632075.999 0, 1062653.195 632072.303 0, 1062359.071 632068.624 0, 1062064.946 632064.962 0,
+ 1061770.821 632061.318 0, 1061476.696 632057.691 0, 1061182.571 632054.081 0, 1060888.445 632050.489 0, 1060594.319 632046.913 0, 1060300.194 632043.356 0, 1060006.067 632039.815 0, 1059711.941 632036.292 0, 1059417.814 632032.786 0, 1059123.688 632029.298 0,
+ 1058829.561 632025.826 0, 1058535.433 632022.372 0, 1058241.306 632018.936 0, 1057947.178 632015.516 0, 1057653.051 632012.114 0, 1057358.923 632008.73 0, 1057064.794 632005.362 0, 1056770.666 632002.012 0, 1056475.123 631998.664 0, 1056412.219 637564.852 0,
+ 1056349.31 643131.365 0, 1056644.194 643134.707 0, 1056937.668 643138.049 0, 1057231.141 643141.409 0, 1057524.613 643144.786 0, 1057818.086 643148.181 0, 1058111.558 643151.592 0, 1058405.03 643155.021 0, 1058698.502 643158.468 0, 1058991.974 643161.931 0,
+ 1059285.446 643165.412 0, 1059578.917 643168.91 0, 1059872.388 643172.425 0, 1060165.859 643175.958 0, 1060459.33 643179.508 0, 1060752.8 643183.075 0, 1061046.271 643186.659 0, 1061339.741 643190.261 0, 1061633.211 643193.88 0, 1061926.68 643197.516 0,
+ 1062220.15 643201.17 0, 1062513.619 643204.841 0, 1062807.088 643208.529 0, 1063100.557 643212.234 0, 1063392.616 643215.939 0, 1063687.494 643219.696 0, 1063980.962 643223.454 0, 1064274.43 643227.228 0, 1064567.897 643231.02 0, 1064861.365 643234.829 0,
+ 1065154.832 643238.655 0, 1065448.299 643242.498 0, 1065741.766 643246.359 0, 1066035.233 643250.237 0, 1066328.699 643254.133 0, 1066622.165 643258.045 0, 1066915.631 643261.975 0, 1067209.096 643265.922 0, 1067502.562 643269.887 0, 1067796.027 643273.868 0,
+ 1068089.492 643277.867 0, 1068382.957 643281.884 0, 1068676.421 643285.917 0, 1068969.885 643289.968 0, 1069263.349 643294.036 0, 1069556.813 643298.121 0, 1069850.277 643302.224 0, 1070143.74 643306.344 0, 1070435.794 643310.461 0, 1070514.429 637744.147 0,
+ 1070593.059 632178.159 0))
+
+POLYGON ((1084521.716 643529.353 0, 1084229.673 643524.411 0, 1083936.222 643519.462 0, 1083642.771 643514.53 0, 1083349.32 643509.616 0, 1083055.869 643504.719 0, 1082762.417 643499.839 0, 1082468.965 643494.976 0, 1082175.513 643490.131 0, 1081882.061 643485.303 0,
+ 1081588.608 643480.492 0, 1081295.155 643475.698 0, 1081001.702 643470.922 0, 1080708.248 643466.163 0, 1080414.794 643461.422 0, 1080121.34 643456.697 0, 1079827.886 643451.99 0, 1079534.431 643447.3 0, 1079240.976 643442.627 0, 1078947.521 643437.972 0,
+ 1078654.065 643433.334 0, 1078360.609 643428.713 0, 1078067.153 643424.11 0, 1077773.697 643419.524 0, 1077478.833 643414.933 0, 1077186.783 643410.403 0, 1076893.326 643405.868 0, 1076599.869 643401.351 0, 1076306.411 643396.851 0, 1076012.953 643392.369 0,
+ 1075719.495 643387.903 0, 1075426.036 643383.455 0, 1075132.578 643379.025 0, 1074839.119 643374.611 0, 1074545.659 643370.215 0, 1074252.2 643365.836 0, 1073958.74 643361.474 0, 1073665.28 643357.13 0, 1073371.82 643352.803 0, 1073078.359 643348.493 0,
+ 1072784.898 643344.2 0, 1072491.437 643339.925 0, 1072197.976 643335.667 0, 1071904.514 643331.426 0, 1071611.053 643327.202 0, 1071317.591 643322.996 0, 1071024.128 643318.807 0, 1070730.666 643314.635 0, 1070435.794 643310.461 0, 1070357.155 648877.097 0,
+ 1070278.512 654444.053 0, 1070572.725 654448.218 0, 1070865.532 654452.38 0, 1071158.339 654456.56 0, 1071451.146 654460.757 0, 1071743.952 654464.971 0, 1072036.758 654469.202 0, 1072329.564 654473.451 0, 1072622.37 654477.717 0, 1072915.176 654482 0,
+ 1073207.981 654486.3 0, 1073500.786 654490.617 0, 1073793.591 654494.952 0, 1074086.395 654499.304 0, 1074379.199 654503.673 0, 1074672.003 654508.06 0, 1074964.807 654512.463 0, 1075257.61 654516.884 0, 1075550.414 654521.322 0, 1075843.217 654525.778 0,
+ 1076136.019 654530.25 0, 1076428.822 654534.74 0, 1076721.624 654539.247 0, 1077014.426 654543.771 0, 1077305.823 654548.291 0, 1077600.029 654552.872 0, 1077892.83 654557.448 0, 1078185.63 654562.041 0, 1078478.431 654566.651 0, 1078771.231 654571.279 0,
+ 1079064.031 654575.924 0, 1079356.831 654580.586 0, 1079649.63 654585.266 0, 1079942.429 654589.962 0, 1080235.228 654594.676 0, 1080528.027 654599.407 0, 1080820.825 654604.156 0, 1081113.623 654608.921 0, 1081406.421 654613.704 0, 1081699.219 654618.504 0,
+ 1081992.016 654623.321 0, 1082284.813 654628.156 0, 1082577.609 654633.008 0, 1082870.406 654637.877 0, 1083163.202 654642.763 0, 1083455.997 654647.666 0, 1083748.793 654652.587 0, 1084041.588 654657.525 0, 1084332.98 654662.456 0, 1084427.351 649095.745 0,
+ 1084521.716 643529.353 0))
+
+POLYGON ((1098386.775 654920.565 0, 1098095.396 654914.81 0, 1097802.616 654909.045 0, 1097509.836 654903.297 0, 1097217.055 654897.567 0, 1096924.274 654891.853 0, 1096631.492 654886.157 0, 1096338.711 654880.478 0, 1096045.929 654874.817 0, 1095753.146 654869.172 0,
+ 1095460.363 654863.545 0, 1095167.58 654857.935 0, 1094874.797 654852.342 0, 1094582.013 654846.767 0, 1094289.229 654841.208 0, 1093996.445 654835.667 0, 1093703.66 654830.143 0, 1093410.875 654824.637 0, 1093118.09 654819.147 0, 1092825.304 654813.675 0,
+ 1092532.518 654808.22 0, 1092239.732 654802.783 0, 1091946.945 654797.362 0, 1091654.158 654791.959 0, 1091359.969 654786.547 0, 1091068.583 654781.204 0, 1090775.795 654775.853 0, 1090483.007 654770.519 0, 1090190.218 654765.202 0, 1089897.429 654759.902 0,
+ 1089604.64 654754.619 0, 1089311.851 654749.354 0, 1089019.061 654744.106 0, 1088726.271 654738.875 0, 1088433.48 654733.661 0, 1088140.69 654728.465 0, 1087847.899 654723.286 0, 1087555.107 654718.124 0, 1087262.316 654712.979 0, 1086969.524 654707.852 0,
+ 1086676.732 654702.741 0, 1086383.939 654697.648 0, 1086091.146 654692.573 0, 1085798.353 654687.514 0, 1085505.56 654682.473 0, 1085212.766 654677.449 0, 1084919.972 654672.442 0, 1084627.178 654667.452 0, 1084332.98 654662.456 0, 1084238.604 660229.483 0,
+ 1084144.222 665796.822 0, 1084437.761 665801.807 0, 1084729.9 665806.786 0, 1085022.039 665811.781 0, 1085314.177 665816.794 0, 1085606.315 665821.824 0, 1085898.453 665826.871 0, 1086190.591 665831.936 0, 1086482.728 665837.017 0, 1086774.865 665842.116 0,
+ 1087067.001 665847.232 0, 1087359.138 665852.365 0, 1087651.274 665857.516 0, 1087943.409 665862.683 0, 1088235.545 665867.868 0, 1088527.68 665873.07 0, 1088819.814 665878.289 0, 1089111.949 665883.526 0, 1089404.083 665888.779 0, 1089696.217 665894.05 0,
+ 1089988.35 665899.338 0, 1090280.484 665904.643 0, 1090572.617 665909.965 0, 1090864.749 665915.305 0, 1091155.483 665920.636 0, 1091449.013 665926.035 0, 1091741.145 665931.427 0, 1092033.276 665936.835 0, 1092325.407 665942.26 0, 1092617.538 665947.703 0,
+ 1092909.668 665953.163 0, 1093201.798 665958.64 0, 1093493.928 665964.134 0, 1093786.058 665969.646 0, 1094078.187 665975.174 0, 1094370.315 665980.72 0, 1094662.444 665986.283 0, 1094954.572 665991.864 0, 1095246.7 665997.461 0, 1095538.827 666003.076 0,
+ 1095830.954 666008.707 0, 1096123.081 666014.356 0, 1096415.207 666020.023 0, 1096707.333 666025.706 0, 1096999.459 666031.407 0, 1097291.585 666037.124 0, 1097583.71 666042.859 0, 1097875.834 666048.612 0, 1098166.561 666054.353 0, 1098276.671 660487.303 0,
+ 1098386.775 654920.565 0))
+
+POLYGON ((1112188.117 666351.499 0, 1111897.405 666344.936 0, 1111605.298 666338.358 0, 1111313.19 666331.798 0, 1111021.082 666325.255 0, 1110728.974 666318.729 0, 1110436.865 666312.22 0, 1110144.756 666305.729 0, 1109852.646 666299.255 0, 1109560.536 666292.798 0,
+ 1109268.425 666286.358 0, 1108976.315 666279.935 0, 1108684.204 666273.529 0, 1108392.092 666267.141 0, 1108099.98 666260.77 0, 1107807.868 666254.416 0, 1107515.755 666248.079 0, 1107223.642 666241.76 0, 1106931.529 666235.457 0, 1106639.415 666229.172 0,
+ 1106347.301 666222.904 0, 1106055.186 666216.653 0, 1105763.071 666210.42 0, 1105470.956 666204.203 0, 1105177.444 666197.974 0, 1104886.725 666191.822 0, 1104594.608 666185.657 0, 1104302.492 666179.51 0, 1104010.374 666173.379 0, 1103718.257 666167.266 0,
+ 1103426.139 666161.17 0, 1103134.021 666155.091 0, 1102841.903 666149.029 0, 1102549.784 666142.985 0, 1102257.665 666136.958 0, 1101965.545 666130.947 0, 1101673.425 666124.955 0, 1101381.305 666118.979 0, 1101089.184 666113.02 0, 1100797.063 666107.079 0,
+ 1100504.942 666101.155 0, 1100212.82 666095.248 0, 1099920.698 666089.358 0, 1099628.576 666083.486 0, 1099336.453 666077.63 0, 1099044.33 666071.792 0, 1098752.207 666065.971 0, 1098460.083 666060.168 0, 1098166.561 666054.353 0, 1098056.445 671621.713 0,
+ 1097946.323 677189.378 0, 1098239.186 677195.179 0, 1098530.655 677200.97 0, 1098822.123 677206.778 0, 1099113.59 677212.603 0, 1099405.058 677218.445 0, 1099696.525 677224.305 0, 1099987.991 677230.181 0, 1100279.457 677236.075 0, 1100570.923 677241.986 0,
+ 1100862.389 677247.914 0, 1101153.854 677253.859 0, 1101445.319 677259.821 0, 1101736.784 677265.8 0, 1102028.248 677271.797 0, 1102319.712 677277.811 0, 1102611.175 677283.842 0, 1102902.638 677289.89 0, 1103194.101 677295.955 0, 1103485.563 677302.037 0,
+ 1103777.026 677308.137 0, 1104068.487 677314.254 0, 1104359.949 677320.387 0, 1104651.41 677326.538 0, 1104941.477 677332.677 0, 1105234.33 677338.892 0, 1105525.79 677345.094 0, 1105817.25 677351.314 0, 1106108.709 677357.551 0, 1106400.168 677363.805 0,
+ 1106691.626 677370.076 0, 1106983.084 677376.364 0, 1107274.542 677382.669 0, 1107565.999 677388.992 0, 1107857.456 677395.332 0, 1108148.913 677401.689 0, 1108440.369 677408.063 0, 1108731.825 677414.454 0, 1109023.28 677420.862 0, 1109314.735 677427.287 0,
+ 1109606.19 677433.73 0, 1109897.644 677440.19 0, 1110189.098 677446.667 0, 1110480.551 677453.161 0, 1110772.005 677459.672 0, 1111063.457 677466.201 0, 1111354.91 677472.746 0, 1111646.362 677479.309 0, 1111936.421 677485.857 0, 1112062.272 671918.525 0,
+ 1112188.117 666351.499 0))
+
+POLYGON ((1125925.626 677821.86 0, 1125635.584 677814.492 0, 1125344.152 677807.106 0, 1125052.719 677799.737 0, 1124761.286 677792.385 0, 1124469.852 677785.05 0, 1124178.418 677777.733 0, 1123886.984 677770.432 0, 1123595.549 677763.149 0, 1123304.113 677755.883 0,
+ 1123012.678 677748.634 0, 1122721.242 677741.403 0, 1122429.805 677734.188 0, 1122138.368 677726.991 0, 1121846.931 677719.811 0, 1121555.493 677712.647 0, 1121264.054 677705.501 0, 1120972.616 677698.373 0, 1120681.177 677691.261 0, 1120389.737 677684.167 0,
+ 1120098.297 677677.089 0, 1119806.857 677670.029 0, 1119515.416 677662.986 0, 1119223.975 677655.96 0, 1118931.142 677648.918 0, 1118641.091 677641.96 0, 1118349.649 677634.986 0, 1118058.206 677628.028 0, 1117766.763 677621.088 0, 1117475.319 677614.165 0,
+ 1117183.875 677607.259 0, 1116892.43 677600.371 0, 1116600.986 677593.499 0, 1116309.54 677586.645 0, 1116018.095 677579.808 0, 1115726.649 677572.988 0, 1115435.202 677566.185 0, 1115143.755 677559.399 0, 1114852.308 677552.631 0, 1114560.86 677545.879 0,
+ 1114269.412 677539.145 0, 1113977.964 677532.428 0, 1113686.515 677525.728 0, 1113395.066 677519.045 0, 1113103.616 677512.38 0, 1112812.166 677505.731 0, 1112520.715 677499.1 0, 1112229.265 677492.486 0, 1111936.421 677485.857 0, 1111810.563 683053.491 0,
+ 1111684.698 688621.425 0, 1111976.883 688628.038 0, 1112267.678 688634.638 0, 1112558.473 688641.254 0, 1112849.268 688647.888 0, 1113140.062 688654.538 0, 1113430.856 688661.206 0, 1113721.649 688667.891 0, 1114012.443 688674.593 0, 1114303.235 688681.312 0,
+ 1114594.027 688688.048 0, 1114884.819 688694.801 0, 1115175.611 688701.572 0, 1115466.402 688708.359 0, 1115757.193 688715.164 0, 1116047.983 688721.986 0, 1116338.773 688728.825 0, 1116629.562 688735.681 0, 1116920.351 688742.554 0, 1117211.14 688749.444 0,
+ 1117501.928 688756.352 0, 1117792.716 688763.276 0, 1118083.503 688770.218 0, 1118374.291 688777.176 0, 1118663.689 688784.119 0, 1118955.863 688791.145 0, 1119246.649 688798.155 0, 1119537.435 688805.182 0, 1119828.22 688812.227 0, 1120119.004 688819.288 0,
+ 1120409.788 688826.367 0, 1120700.572 688833.462 0, 1120991.355 688840.575 0, 1121282.138 688847.705 0, 1121572.921 688854.852 0, 1121863.703 688862.016 0, 1122154.484 688869.197 0, 1122445.265 688876.396 0, 1122736.046 688883.611 0, 1123026.827 688890.844 0,
+ 1123317.607 688898.093 0, 1123608.386 688905.36 0, 1123899.165 688912.644 0, 1124189.944 688919.945 0, 1124480.722 688927.263 0, 1124771.5 688934.598 0, 1125062.277 688941.951 0, 1125353.054 688949.32 0, 1125642.444 688956.671 0, 1125784.039 683389.116 0,
+ 1125925.626 677821.86 0))
+
+POLYGON ((1139599.187 689331.35 0, 1139309.817 689323.181 0, 1139019.062 689314.99 0, 1138728.306 689306.816 0, 1138437.55 689298.66 0, 1138146.794 689290.52 0, 1137856.037 689282.398 0, 1137565.28 689274.292 0, 1137274.522 689266.204 0, 1136983.764 689258.133 0,
+ 1136693.005 689250.079 0, 1136402.246 689242.042 0, 1136111.486 689234.022 0, 1135820.726 689226.019 0, 1135529.965 689218.034 0, 1135239.204 689210.065 0, 1134948.442 689202.114 0, 1134657.68 689194.18 0, 1134366.918 689186.263 0, 1134076.155 689178.363 0,
+ 1133785.391 689170.48 0, 1133494.628 689162.614 0, 1133203.863 689154.765 0, 1132913.098 689146.934 0, 1132620.947 689139.082 0, 1132331.567 689131.322 0, 1132040.801 689123.542 0, 1131750.034 689115.779 0, 1131459.267 689108.033 0, 1131168.5 689100.304 0,
+ 1130877.732 689092.592 0, 1130586.963 689084.897 0, 1130296.194 689077.22 0, 1130005.425 689069.559 0, 1129714.655 689061.916 0, 1129423.885 689054.29 0, 1129133.114 689046.681 0, 1128842.343 689039.089 0, 1128551.571 689031.514 0, 1128260.799 689023.956 0,
+ 1127970.027 689016.416 0, 1127679.254 689008.892 0, 1127388.48 689001.386 0, 1127097.706 688993.896 0, 1126806.932 688986.424 0, 1126516.157 688978.969 0, 1126225.382 688971.531 0, 1125934.606 688964.11 0, 1125642.444 688956.671 0, 1125500.841 694524.522 0,
+ 1125359.231 700092.665 0, 1125650.736 700100.088 0, 1125940.856 700107.492 0, 1126230.976 700114.913 0, 1126521.095 700122.351 0, 1126811.214 700129.807 0, 1127101.332 700137.279 0, 1127391.45 700144.768 0, 1127681.568 700152.275 0, 1127971.685 700159.799 0,
+ 1128261.801 700167.339 0, 1128551.918 700174.897 0, 1128842.033 700182.472 0, 1129132.149 700190.064 0, 1129422.264 700197.673 0, 1129712.378 700205.299 0, 1130002.492 700212.942 0, 1130292.605 700220.602 0, 1130582.718 700228.28 0, 1130872.831 700235.974 0,
+ 1131162.943 700243.685 0, 1131453.055 700251.414 0, 1131743.166 700259.159 0, 1132033.277 700266.922 0, 1132322.005 700274.665 0, 1132613.497 700282.499 0, 1132903.607 700290.313 0, 1133193.716 700298.144 0, 1133483.824 700305.992 0, 1133773.932 700313.857 0,
+ 1134064.04 700321.739 0, 1134354.147 700329.638 0, 1134644.253 700337.555 0, 1134934.36 700345.488 0, 1135224.465 700353.439 0, 1135514.571 700361.406 0, 1135804.675 700369.391 0, 1136094.78 700377.393 0, 1136384.883 700385.411 0, 1136674.987 700393.447 0,
+ 1136965.09 700401.5 0, 1137255.192 700409.57 0, 1137545.294 700417.657 0, 1137835.395 700425.762 0, 1138125.496 700433.883 0, 1138415.597 700442.021 0, 1138705.697 700450.177 0, 1138995.797 700458.349 0, 1139284.514 700466.5 0, 1139441.855 694898.779 0,
+ 1139599.187 689331.35 0))
+
+POLYGON ((1153208.685 700879.673 0, 1152919.99 700870.707 0, 1152629.914 700861.715 0, 1152339.838 700852.74 0, 1152049.762 700843.782 0, 1151759.685 700834.842 0, 1151469.608 700825.918 0, 1151179.53 700817.011 0, 1150889.451 700808.122 0, 1150599.372 700799.249 0,
+ 1150309.293 700790.394 0, 1150019.213 700781.555 0, 1149729.132 700772.734 0, 1149439.051 700763.93 0, 1149148.97 700755.143 0, 1148858.888 700746.373 0, 1148568.805 700737.62 0, 1148278.722 700728.884 0, 1147988.638 700720.165 0, 1147698.554 700711.463 0,
+ 1147408.47 700702.778 0, 1147118.384 700694.111 0, 1146828.299 700685.46 0, 1146538.213 700676.827 0, 1146246.746 700668.169 0, 1145958.039 700659.611 0, 1145667.951 700651.029 0, 1145377.863 700642.463 0, 1145087.774 700633.915 0, 1144797.685 700625.384 0,
+ 1144507.595 700616.87 0, 1144217.505 700608.373 0, 1143927.414 700599.894 0, 1143637.323 700591.431 0, 1143347.231 700582.985 0, 1143057.139 700574.557 0, 1142767.046 700566.145 0, 1142476.953 700557.751 0, 1142186.859 700549.373 0, 1141896.765 700541.013 0,
+ 1141606.671 700532.67 0, 1141316.575 700524.344 0, 1141026.48 700516.034 0, 1140736.384 700507.742 0, 1140446.287 700499.468 0, 1140156.19 700491.21 0, 1139866.092 700482.969 0, 1139575.994 700474.745 0, 1139284.514 700466.5 0, 1139127.166 706034.509 0,
+ 1138969.809 711602.804 0, 1139260.631 711611.031 0, 1139550.073 711619.236 0, 1139839.515 711627.458 0, 1140128.957 711635.697 0, 1140418.398 711643.953 0, 1140707.839 711652.227 0, 1140997.279 711660.517 0, 1141286.719 711668.824 0, 1141576.158 711677.149 0,
+ 1141865.597 711685.49 0, 1142155.035 711693.849 0, 1142444.473 711702.224 0, 1142733.91 711710.617 0, 1143023.347 711719.026 0, 1143312.783 711727.453 0, 1143602.219 711735.896 0, 1143891.654 711744.357 0, 1144181.089 711752.835 0, 1144470.523 711761.329 0,
+ 1144759.957 711769.841 0, 1145049.39 711778.37 0, 1145338.823 711786.916 0, 1145628.255 711795.479 0, 1145916.31 711804.018 0, 1146207.118 711812.655 0, 1146496.549 711821.269 0, 1146785.979 711829.9 0, 1147075.409 711838.549 0, 1147364.838 711847.214 0,
+ 1147654.267 711855.896 0, 1147943.695 711864.595 0, 1148233.123 711873.311 0, 1148522.55 711882.044 0, 1148811.977 711890.795 0, 1149101.403 711899.562 0, 1149390.829 711908.346 0, 1149680.254 711917.148 0, 1149969.678 711925.966 0, 1150259.102 711934.801 0,
+ 1150548.526 711943.654 0, 1150837.949 711952.523 0, 1151127.371 711961.41 0, 1151416.793 711970.313 0, 1151706.215 711979.234 0, 1151995.636 711988.172 0, 1152285.056 711997.126 0, 1152574.476 712006.098 0, 1152862.52 712015.044 0, 1153035.607 706447.216 0,
+ 1153208.685 700879.673 0))
+
+POLYGON ((1166754.01 712466.532 0, 1166465.99 712456.773 0, 1166176.597 712446.983 0, 1165887.203 712437.211 0, 1165597.809 712427.456 0, 1165308.413 712417.717 0, 1165019.018 712407.996 0, 1164729.622 712398.292 0, 1164440.225 712388.605 0, 1164150.827 712378.935 0,
+ 1163861.429 712369.282 0, 1163572.031 712359.646 0, 1163282.632 712350.027 0, 1162993.232 712340.425 0, 1162703.832 712330.84 0, 1162414.431 712321.272 0, 1162125.03 712311.721 0, 1161835.628 712302.187 0, 1161546.225 712292.67 0, 1161256.822 712283.17 0,
+ 1160967.419 712273.688 0, 1160678.015 712264.222 0, 1160388.61 712254.773 0, 1160099.205 712245.342 0, 1159808.424 712235.882 0, 1159520.392 712226.53 0, 1159230.986 712217.149 0, 1158941.578 712207.786 0, 1158652.17 712198.439 0, 1158362.761 712189.11 0,
+ 1158073.352 712179.797 0, 1157783.943 712170.502 0, 1157494.532 712161.224 0, 1157205.122 712151.962 0, 1156915.71 712142.718 0, 1156626.299 712133.491 0, 1156336.886 712124.281 0, 1156047.473 712115.087 0, 1155758.06 712105.911 0, 1155468.646 712096.752 0,
+ 1155179.231 712087.61 0, 1154889.816 712078.485 0, 1154600.4 712069.377 0, 1154310.984 712060.286 0, 1154021.568 712051.212 0, 1153732.15 712042.155 0, 1153442.733 712033.115 0, 1153153.314 712024.093 0, 1152862.52 712015.044 0, 1152689.424 717583.154 0,
+ 1152516.319 723151.542 0, 1152806.455 723160.57 0, 1153095.218 723169.572 0, 1153383.98 723178.592 0, 1153672.742 723187.628 0, 1153961.503 723196.681 0, 1154250.264 723205.752 0, 1154539.024 723214.839 0, 1154827.783 723223.943 0, 1155116.543 723233.065 0,
+ 1155405.301 723242.203 0, 1155694.059 723251.359 0, 1155982.817 723260.531 0, 1156271.574 723269.72 0, 1156560.33 723278.927 0, 1156849.086 723288.15 0, 1157137.841 723297.39 0, 1157426.596 723306.648 0, 1157715.35 723315.922 0, 1158004.104 723325.213 0,
+ 1158292.857 723334.521 0, 1158581.609 723343.847 0, 1158870.362 723353.189 0, 1159159.113 723362.548 0, 1159446.492 723371.88 0, 1159736.614 723381.318 0, 1160025.364 723390.728 0, 1160314.113 723400.155 0, 1160602.862 723409.6 0, 1160891.61 723419.061 0,
+ 1161180.358 723428.539 0, 1161469.105 723438.034 0, 1161757.851 723447.547 0, 1162046.597 723457.076 0, 1162335.343 723466.622 0, 1162624.087 723476.185 0, 1162912.832 723485.766 0, 1163201.575 723495.363 0, 1163490.318 723504.977 0, 1163779.061 723514.608 0,
+ 1164067.803 723524.257 0, 1164356.544 723533.922 0, 1164645.285 723543.604 0, 1164934.025 723553.303 0, 1165222.765 723563.019 0, 1165511.504 723572.752 0, 1165800.243 723582.503 0, 1166088.981 723592.27 0, 1166376.348 723602.008 0, 1166565.183 718034.131 0,
+ 1166754.01 712466.532 0))
+
+POLYGON ((1180235.049 724091.629 0, 1179947.708 724081.079 0, 1179658.999 724070.496 0, 1179370.289 724059.93 0, 1179081.579 724049.381 0, 1178792.868 724038.849 0, 1178504.156 724028.335 0, 1178215.444 724017.837 0, 1177926.731 724007.356 0, 1177638.017 723996.892 0,
+ 1177349.303 723986.445 0, 1177060.588 723976.015 0, 1176771.873 723965.602 0, 1176483.157 723955.206 0, 1176194.44 723944.827 0, 1175905.723 723934.465 0, 1175617.005 723924.12 0, 1175328.286 723913.792 0, 1175039.567 723903.481 0, 1174750.848 723893.187 0,
+ 1174462.127 723882.91 0, 1174173.407 723872.65 0, 1173884.685 723862.407 0, 1173595.963 723852.181 0, 1173305.871 723841.924 0, 1173018.517 723831.78 0, 1172729.793 723821.605 0, 1172441.069 723811.447 0, 1172152.344 723801.306 0, 1171863.618 723791.182 0,
+ 1171574.892 723781.075 0, 1171286.165 723770.985 0, 1170997.437 723760.912 0, 1170708.709 723750.856 0, 1170419.981 723740.817 0, 1170131.251 723730.795 0, 1169842.522 723720.79 0, 1169553.791 723710.801 0, 1169265.06 723700.83 0, 1168976.329 723690.876 0,
+ 1168687.596 723680.939 0, 1168398.864 723671.019 0, 1168110.13 723661.116 0, 1167821.396 723651.23 0, 1167532.662 723641.361 0, 1167243.927 723631.508 0, 1166955.191 723621.673 0, 1166666.455 723611.855 0, 1166376.348 723602.008 0, 1166187.503 729170.159 0,
+ 1165998.648 734738.582 0, 1166288.097 734748.407 0, 1166576.178 734758.203 0, 1166864.258 734768.016 0, 1167152.338 734777.846 0, 1167440.417 734787.693 0, 1167728.495 734797.556 0, 1168016.573 734807.437 0, 1168304.65 734817.334 0, 1168592.727 734827.249 0,
+ 1168880.803 734837.181 0, 1169168.879 734847.129 0, 1169456.954 734857.094 0, 1169745.028 734867.077 0, 1170033.102 734877.076 0, 1170321.175 734887.092 0, 1170609.247 734897.126 0, 1170897.319 734907.176 0, 1171185.391 734917.243 0, 1171473.462 734927.327 0,
+ 1171761.532 734937.428 0, 1172049.602 734947.546 0, 1172337.671 734957.681 0, 1172625.739 734967.833 0, 1172912.441 734977.954 0, 1173201.874 734988.188 0, 1173489.941 734998.391 0, 1173778.007 735008.61 0, 1174066.072 735018.847 0, 1174354.137 735029.101 0,
+ 1174642.201 735039.371 0, 1174930.265 735049.659 0, 1175218.328 735059.963 0, 1175506.39 735070.285 0, 1175794.452 735080.623 0, 1176082.513 735090.979 0, 1176370.574 735101.351 0, 1176658.634 735111.74 0, 1176946.693 735122.147 0, 1177234.752 735132.57 0,
+ 1177522.81 735143.01 0, 1177810.868 735153.467 0, 1178098.925 735163.941 0, 1178386.981 735174.432 0, 1178675.037 735184.94 0, 1178963.092 735195.465 0, 1179251.146 735206.007 0, 1179539.2 735216.566 0, 1179825.888 735227.092 0, 1180030.473 729659.224 0,
+ 1180235.049 724091.629 0))
+
+POLYGON ((1193651.692 735754.664 0, 1193365.033 735743.328 0, 1193077.01 735731.955 0, 1192788.986 735720.6 0, 1192500.962 735709.261 0, 1192212.937 735697.939 0, 1191924.912 735686.634 0, 1191636.886 735675.347 0, 1191348.859 735664.076 0, 1191060.831 735652.822 0,
+ 1190772.803 735641.585 0, 1190484.775 735630.365 0, 1190196.745 735619.162 0, 1189908.715 735607.976 0, 1189620.684 735596.806 0, 1189332.653 735585.654 0, 1189044.621 735574.519 0, 1188756.588 735563.401 0, 1188468.554 735552.299 0, 1188180.52 735541.215 0,
+ 1187892.486 735530.147 0, 1187604.45 735519.097 0, 1187316.414 735508.063 0, 1187028.378 735497.047 0, 1186738.977 735485.995 0, 1186452.302 735475.064 0, 1186164.264 735464.099 0, 1185876.224 735453.15 0, 1185588.185 735442.218 0, 1185300.144 735431.303 0,
+ 1185012.103 735420.405 0, 1184724.061 735409.524 0, 1184436.019 735398.66 0, 1184147.975 735387.813 0, 1183859.932 735376.983 0, 1183571.887 735366.17 0, 1183283.842 735355.374 0, 1182995.797 735344.594 0, 1182707.75 735333.832 0, 1182419.704 735323.087 0,
+ 1182131.656 735312.358 0, 1181843.608 735301.647 0, 1181555.559 735290.953 0, 1181267.51 735280.275 0, 1180979.459 735269.614 0, 1180691.409 735258.971 0, 1180403.357 735248.344 0, 1180115.306 735237.734 0, 1179825.888 735227.092 0, 1179621.293 740795.227 0,
+ 1179416.688 746363.626 0, 1179705.447 746374.245 0, 1179992.843 746384.83 0, 1180280.239 746395.433 0, 1180567.634 746406.052 0, 1180855.029 746416.688 0, 1181142.423 746427.342 0, 1181429.816 746438.012 0, 1181717.209 746448.699 0, 1182004.601 746459.403 0,
+ 1182291.993 746470.124 0, 1182579.383 746480.862 0, 1182866.774 746491.616 0, 1183154.163 746502.388 0, 1183441.552 746513.176 0, 1183728.94 746523.982 0, 1184016.328 746534.804 0, 1184303.715 746545.644 0, 1184591.101 746556.5 0, 1184878.487 746567.373 0,
+ 1185165.872 746578.263 0, 1185453.257 746589.17 0, 1185740.64 746600.094 0, 1186028.024 746611.035 0, 1186314.046 746621.94 0, 1186602.788 746632.967 0, 1186890.169 746643.958 0, 1187177.55 746654.967 0, 1187464.93 746665.992 0, 1187752.309 746677.034 0,
+ 1188039.688 746688.094 0, 1188327.066 746699.17 0, 1188614.443 746710.263 0, 1188901.82 746721.373 0, 1189189.196 746732.5 0, 1189476.571 746743.643 0, 1189763.946 746754.804 0, 1190051.32 746765.982 0, 1190338.693 746777.176 0, 1190626.066 746788.387 0,
+ 1190913.438 746799.616 0, 1191200.809 746810.861 0, 1191488.18 746822.123 0, 1191775.55 746833.402 0, 1192062.92 746844.698 0, 1192350.288 746856.011 0, 1192637.657 746867.341 0, 1192925.024 746878.688 0, 1193211.031 746889.998 0, 1193431.367 741322.198 0,
+ 1193651.692 735754.664 0))
+
+POLYGON ((1207003.832 747455.338 0, 1206717.856 747443.221 0, 1206430.522 747431.062 0, 1206143.187 747418.92 0, 1205855.851 747406.796 0, 1205568.515 747394.688 0, 1205281.178 747382.597 0, 1204993.84 747370.523 0, 1204706.501 747358.466 0, 1204419.162 747346.426 0,
+ 1204131.822 747334.402 0, 1203844.482 747322.396 0, 1203557.14 747310.407 0, 1203269.798 747298.434 0, 1202982.456 747286.479 0, 1202695.112 747274.54 0, 1202407.768 747262.618 0, 1202120.423 747250.713 0, 1201833.078 747238.825 0, 1201545.731 747226.954 0,
+ 1201258.384 747215.1 0, 1200971.037 747203.263 0, 1200683.688 747191.443 0, 1200396.339 747179.639 0, 1200107.631 747167.797 0, 1199821.639 747156.083 0, 1199534.288 747144.331 0, 1199246.936 747132.595 0, 1198959.584 747120.876 0, 1198672.231 747109.174 0,
+ 1198384.877 747097.489 0, 1198097.522 747085.821 0, 1197810.167 747074.17 0, 1197522.811 747062.536 0, 1197235.455 747050.918 0, 1196948.097 747039.318 0, 1196660.739 747027.734 0, 1196373.381 747016.168 0, 1196086.021 747004.618 0, 1195798.661 746993.085 0,
+ 1195511.301 746981.569 0, 1195223.939 746970.07 0, 1194936.577 746958.588 0, 1194649.214 746947.123 0, 1194361.851 746935.675 0, 1194074.487 746924.244 0, 1193787.122 746912.829 0, 1193499.757 746901.432 0, 1193211.031 746889.998 0, 1192990.685 752458.057 0,
+ 1192770.329 758026.375 0, 1193058.396 758037.783 0, 1193345.106 758049.154 0, 1193631.815 758060.543 0, 1193918.524 758071.948 0, 1194205.232 758083.37 0, 1194491.939 758094.809 0, 1194778.645 758106.265 0, 1195065.351 758117.738 0, 1195352.057 758129.227 0,
+ 1195638.761 758140.734 0, 1195925.465 758152.257 0, 1196212.168 758163.797 0, 1196498.871 758175.354 0, 1196785.573 758186.928 0, 1197072.274 758198.519 0, 1197358.974 758210.127 0, 1197645.674 758221.752 0, 1197932.373 758233.393 0, 1198219.072 758245.051 0,
+ 1198505.769 758256.727 0, 1198792.466 758268.419 0, 1199079.163 758280.128 0, 1199365.859 758291.853 0, 1199651.198 758303.541 0, 1199939.248 758315.356 0, 1200225.941 758327.132 0, 1200512.634 758338.926 0, 1200799.327 758350.736 0, 1201086.018 758362.563 0,
+ 1201372.709 758374.407 0, 1201659.399 758386.268 0, 1201946.088 758398.145 0, 1202232.777 758410.04 0, 1202519.465 758421.951 0, 1202806.152 758433.88 0, 1203092.839 758445.825 0, 1203379.525 758457.787 0, 1203666.21 758469.766 0, 1203952.895 758481.762 0,
+ 1204239.579 758493.775 0, 1204526.262 758505.804 0, 1204812.944 758517.851 0, 1205099.626 758529.914 0, 1205386.307 758541.994 0, 1205672.987 758554.091 0, 1205959.666 758566.205 0, 1206246.345 758578.336 0, 1206531.669 758590.426 0, 1206767.756 753022.754 0,
+ 1207003.832 747455.338 0))
+
+POLYGON ((1220291.361 759193.354 0, 1220006.07 759180.457 0, 1219719.427 759167.516 0, 1219432.783 759154.593 0, 1219146.138 759141.686 0, 1218859.492 759128.796 0, 1218572.846 759115.922 0, 1218286.199 759103.066 0, 1217999.551 759090.227 0, 1217712.902 759077.404 0,
+ 1217426.252 759064.598 0, 1217139.602 759051.81 0, 1216852.951 759039.038 0, 1216566.3 759026.282 0, 1216279.647 759013.544 0, 1215992.994 759000.823 0, 1215706.34 758988.118 0, 1215419.685 758975.431 0, 1215133.03 758962.76 0, 1214846.373 758950.106 0,
+ 1214559.716 758937.469 0, 1214273.059 758924.849 0, 1213986.4 758912.246 0, 1213699.741 758899.659 0, 1213411.728 758887.031 0, 1213126.421 758874.537 0, 1212839.759 758862.002 0, 1212553.097 758849.483 0, 1212266.434 758836.981 0, 1211979.77 758824.495 0,
+ 1211693.106 758812.027 0, 1211406.441 758799.576 0, 1211119.775 758787.141 0, 1210833.109 758774.724 0, 1210546.441 758762.323 0, 1210259.773 758749.939 0, 1209973.105 758737.572 0, 1209686.435 758725.222 0, 1209399.765 758712.888 0, 1209113.094 758700.572 0,
+ 1208826.422 758688.272 0, 1208539.75 758675.99 0, 1208253.077 758663.724 0, 1207966.403 758651.475 0, 1207679.729 758639.243 0, 1207393.053 758627.028 0, 1207106.377 758614.83 0, 1206819.701 758602.648 0, 1206531.669 758590.426 0, 1206295.572 764158.352 0,
+ 1206059.463 769726.529 0, 1206346.836 769738.723 0, 1206632.858 769750.876 0, 1206918.878 769763.047 0, 1207204.898 769775.234 0, 1207490.917 769787.438 0, 1207776.935 769799.659 0, 1208062.953 769811.897 0, 1208348.97 769824.151 0, 1208634.986 769836.423 0,
+ 1208921.002 769848.711 0, 1209207.016 769861.016 0, 1209493.03 769873.338 0, 1209779.044 769885.677 0, 1210065.056 769898.033 0, 1210351.068 769910.405 0, 1210637.079 769922.794 0, 1210923.09 769935.2 0, 1211209.099 769947.623 0, 1211495.108 769960.063 0,
+ 1211781.116 769972.52 0, 1212067.124 769984.993 0, 1212353.131 769997.483 0, 1212639.137 770009.99 0, 1212923.792 770022.455 0, 1213211.146 770035.055 0, 1213497.15 770047.613 0, 1213783.153 770060.187 0, 1214069.155 770072.778 0, 1214355.157 770085.387 0,
+ 1214641.158 770098.011 0, 1214927.158 770110.653 0, 1215213.157 770123.312 0, 1215499.156 770135.987 0, 1215785.154 770148.68 0, 1216071.151 770161.389 0, 1216357.147 770174.115 0, 1216643.143 770186.857 0, 1216929.138 770199.617 0, 1217215.132 770212.393 0,
+ 1217501.125 770225.187 0, 1217787.118 770237.997 0, 1218073.109 770250.824 0, 1218359.1 770263.667 0, 1218645.091 770276.528 0, 1218931.08 770289.405 0, 1219217.069 770302.3 0, 1219503.057 770315.211 0, 1219787.696 770328.078 0, 1220039.534 764760.591 0,
+ 1220291.361 759193.354 0))
+
+POLYGON ((1233514.174 770968.409 0, 1233229.571 770954.738 0, 1232943.62 770941.019 0, 1232657.669 770927.317 0, 1232371.717 770913.631 0, 1232085.764 770899.963 0, 1231799.81 770886.311 0, 1231513.856 770872.676 0, 1231227.901 770859.058 0, 1230941.945 770845.457 0,
+ 1230655.988 770831.873 0, 1230370.03 770818.305 0, 1230084.072 770804.754 0, 1229798.113 770791.221 0, 1229512.152 770777.703 0, 1229226.192 770764.203 0, 1228940.23 770750.72 0, 1228654.268 770737.253 0, 1228368.304 770723.804 0, 1228082.34 770710.371 0,
+ 1227796.376 770696.955 0, 1227510.41 770683.555 0, 1227224.444 770670.173 0, 1226938.476 770656.807 0, 1226651.161 770643.396 0, 1226366.54 770630.127 0, 1226080.57 770616.812 0, 1225794.6 770603.514 0, 1225508.629 770590.232 0, 1225222.657 770576.968 0,
+ 1224936.684 770563.72 0, 1224650.711 770550.489 0, 1224364.737 770537.275 0, 1224078.762 770524.078 0, 1223792.786 770510.897 0, 1223506.809 770497.734 0, 1223220.832 770484.587 0, 1222934.854 770471.457 0, 1222648.875 770458.344 0, 1222362.896 770445.248 0,
+ 1222076.915 770432.168 0, 1221790.934 770419.106 0, 1221504.952 770406.06 0, 1221218.969 770393.031 0, 1220932.986 770380.019 0, 1220647.002 770367.024 0, 1220361.017 770354.045 0, 1220075.031 770341.084 0, 1219787.696 770328.078 0, 1219535.846 775895.812 0,
+ 1219283.986 781463.788 0, 1219570.662 781476.764 0, 1219855.993 781489.696 0, 1220141.322 781502.645 0, 1220426.651 781515.61 0, 1220711.979 781528.593 0, 1220997.306 781541.592 0, 1221282.633 781554.608 0, 1221567.959 781567.64 0, 1221853.284 781580.69 0,
+ 1222138.608 781593.756 0, 1222423.931 781606.839 0, 1222709.254 781619.939 0, 1222994.576 781633.055 0, 1223279.897 781646.189 0, 1223565.217 781659.339 0, 1223850.537 781672.506 0, 1224135.856 781685.69 0, 1224421.174 781698.89 0, 1224706.491 781712.108 0,
+ 1224991.807 781725.342 0, 1225277.123 781738.593 0, 1225562.438 781751.861 0, 1225847.752 781765.145 0, 1226131.721 781778.384 0, 1226418.378 781791.765 0, 1226703.69 781805.1 0, 1226989.001 781818.451 0, 1227274.311 781831.82 0, 1227559.62 781845.205 0,
+ 1227844.929 781858.607 0, 1228130.237 781872.026 0, 1228415.544 781885.462 0, 1228700.85 781898.914 0, 1228986.156 781912.384 0, 1229271.46 781925.87 0, 1229556.764 781939.373 0, 1229842.067 781952.892 0, 1230127.37 781966.429 0, 1230412.671 781979.982 0,
+ 1230697.972 781993.552 0, 1230983.272 782007.139 0, 1231268.571 782020.742 0, 1231553.869 782034.363 0, 1231839.167 782048 0, 1232124.463 782061.654 0, 1232409.759 782075.325 0, 1232695.054 782089.012 0, 1232979.005 782102.652 0, 1233246.596 776535.409 0,
+ 1233514.174 770968.409 0))
+
+POLYGON ((1246672.166 782780.204 0, 1246388.252 782765.762 0, 1246102.997 782751.269 0, 1245817.741 782736.792 0, 1245532.484 782722.332 0, 1245247.226 782707.889 0, 1244961.967 782693.462 0, 1244676.708 782679.053 0, 1244391.447 782664.66 0, 1244106.186 782650.284 0,
+ 1243820.924 782635.925 0, 1243535.661 782621.582 0, 1243250.397 782607.257 0, 1242965.133 782592.948 0, 1242679.867 782578.656 0, 1242394.601 782564.381 0, 1242109.334 782550.122 0, 1241824.066 782535.88 0, 1241538.797 782521.656 0, 1241253.527 782507.447 0,
+ 1240968.257 782493.256 0, 1240682.986 782479.082 0, 1240397.714 782464.924 0, 1240112.441 782450.783 0, 1239825.825 782436.592 0, 1239541.892 782422.552 0, 1239256.617 782408.461 0, 1238971.34 782394.387 0, 1238686.063 782380.33 0, 1238400.785 782366.29 0,
+ 1238115.507 782352.267 0, 1237830.227 782338.26 0, 1237544.947 782324.27 0, 1237259.665 782310.297 0, 1236974.383 782296.341 0, 1236689.1 782282.401 0, 1236403.817 782268.479 0, 1236118.532 782254.573 0, 1235833.247 782240.684 0, 1235547.961 782226.812 0,
+ 1235262.674 782212.956 0, 1234977.386 782199.117 0, 1234692.097 782185.295 0, 1234406.808 782171.49 0, 1234121.518 782157.702 0, 1233836.227 782143.931 0, 1233550.935 782130.176 0, 1233265.642 782116.438 0, 1232979.005 782102.652 0, 1232711.404 787670.135 0,
+ 1232443.791 793237.853 0, 1232729.769 793251.607 0, 1233014.406 793265.313 0, 1233299.043 793279.037 0, 1233583.678 793292.776 0, 1233868.313 793306.533 0, 1234152.947 793320.307 0, 1234437.58 793334.097 0, 1234722.213 793347.904 0, 1235006.844 793361.727 0,
+ 1235291.475 793375.568 0, 1235576.105 793389.425 0, 1235860.734 793403.299 0, 1236145.363 793417.189 0, 1236429.99 793431.097 0, 1236714.617 793445.021 0, 1236999.243 793458.962 0, 1237283.868 793472.92 0, 1237568.492 793486.894 0, 1237853.115 793500.885 0,
+ 1238137.738 793514.893 0, 1238422.36 793528.918 0, 1238706.981 793542.959 0, 1238991.601 793557.017 0, 1239274.881 793571.026 0, 1239560.839 793585.184 0, 1239845.456 793599.293 0, 1240130.073 793613.418 0, 1240414.689 793627.56 0, 1240699.304 793641.718 0,
+ 1240983.918 793655.894 0, 1241268.532 793670.086 0, 1241553.144 793684.295 0, 1241837.756 793698.521 0, 1242122.367 793712.763 0, 1242406.977 793727.022 0, 1242691.587 793741.298 0, 1242976.195 793755.591 0, 1243260.803 793769.901 0, 1243545.409 793784.227 0,
+ 1243830.015 793798.57 0, 1244114.62 793812.93 0, 1244399.224 793827.306 0, 1244683.828 793841.699 0, 1244968.43 793856.109 0, 1245253.032 793870.536 0, 1245537.633 793884.979 0, 1245822.233 793899.44 0, 1246105.494 793913.849 0, 1246388.836 788346.909 0,
+ 1246672.166 782780.204 0))
+
+POLYGON ((1259765.233 794628.438 0, 1259482.012 794613.229 0, 1259197.454 794597.965 0, 1258912.895 794582.717 0, 1258628.335 794567.487 0, 1258343.774 794552.273 0, 1258059.213 794537.075 0, 1257774.65 794521.895 0, 1257490.087 794506.731 0, 1257205.523 794491.584 0,
+ 1256920.957 794476.454 0, 1256636.391 794461.341 0, 1256351.825 794446.244 0, 1256067.257 794431.164 0, 1255782.688 794416.101 0, 1255498.118 794401.054 0, 1255213.548 794386.024 0, 1254928.977 794371.011 0, 1254644.404 794356.015 0, 1254359.831 794341.036 0,
+ 1254075.257 794326.073 0, 1253790.682 794311.127 0, 1253506.107 794296.198 0, 1253221.53 794281.285 0, 1252935.616 794266.32 0, 1252652.374 794251.51 0, 1252367.795 794236.648 0, 1252083.215 794221.803 0, 1251798.634 794206.974 0, 1251514.052 794192.162 0,
+ 1251229.469 794177.367 0, 1250944.886 794162.588 0, 1250660.301 794147.826 0, 1250375.716 794133.082 0, 1250091.13 794118.353 0, 1249806.542 794103.642 0, 1249521.954 794088.947 0, 1249237.366 794074.269 0, 1248952.776 794059.608 0, 1248668.185 794044.963 0,
+ 1248383.594 794030.336 0, 1248099.002 794015.725 0, 1247814.409 794001.13 0, 1247529.815 793986.553 0, 1247245.22 793971.992 0, 1246960.624 793957.448 0, 1246676.028 793942.921 0, 1246391.43 793928.41 0, 1246105.494 793913.849 0, 1245822.141 799481.021 0,
+ 1245538.775 805048.422 0, 1245824.053 805062.95 0, 1246107.995 805077.427 0, 1246391.936 805091.921 0, 1246675.877 805106.431 0, 1246959.816 805120.959 0, 1247243.755 805135.503 0, 1247527.692 805150.063 0, 1247811.629 805164.641 0, 1248095.565 805179.235 0,
+ 1248379.501 805193.845 0, 1248663.435 805208.473 0, 1248947.368 805223.117 0, 1249231.301 805237.778 0, 1249515.233 805252.456 0, 1249799.164 805267.15 0, 1250083.094 805281.861 0, 1250367.023 805296.589 0, 1250650.951 805311.333 0, 1250934.879 805326.094 0,
+ 1251218.805 805340.872 0, 1251502.731 805355.667 0, 1251786.656 805370.478 0, 1252070.58 805385.306 0, 1252353.169 805400.081 0, 1252638.425 805415.012 0, 1252922.346 805429.89 0, 1253206.267 805444.785 0, 1253490.186 805459.697 0, 1253774.105 805474.625 0,
+ 1254058.023 805489.57 0, 1254341.94 805504.532 0, 1254625.856 805519.51 0, 1254909.771 805534.505 0, 1255193.685 805549.517 0, 1255477.599 805564.546 0, 1255761.511 805579.591 0, 1256045.423 805594.653 0, 1256329.333 805609.732 0, 1256613.243 805624.827 0,
+ 1256897.152 805639.939 0, 1257181.06 805655.068 0, 1257464.968 805670.214 0, 1257748.874 805685.376 0, 1258032.779 805700.555 0, 1258316.684 805715.75 0, 1258600.587 805730.963 0, 1258884.49 805746.192 0, 1259167.06 805761.366 0, 1259466.153 800194.788 0,
+ 1259765.233 794628.438 0))
+
+POLYGON ((1272793.275 806512.81 0, 1272510.747 806496.837 0, 1272226.889 806480.806 0, 1271943.029 806464.792 0, 1271659.169 806448.794 0, 1271375.308 806432.813 0, 1271091.445 806416.849 0, 1270807.582 806400.901 0, 1270523.718 806384.97 0, 1270239.853 806369.056 0,
+ 1269955.987 806353.159 0, 1269672.12 806337.278 0, 1269388.252 806321.414 0, 1269104.383 806305.567 0, 1268820.513 806289.736 0, 1268536.642 806273.922 0, 1268252.771 806258.125 0, 1267968.898 806242.345 0, 1267685.024 806226.581 0, 1267401.15 806210.834 0,
+ 1267117.275 806195.103 0, 1266833.398 806179.39 0, 1266549.521 806163.693 0, 1266265.643 806148.013 0, 1265980.433 806132.276 0, 1265697.884 806116.702 0, 1265414.003 806101.072 0, 1265130.121 806085.459 0, 1264846.238 806069.862 0, 1264562.355 806054.282 0,
+ 1264278.47 806038.719 0, 1263994.585 806023.172 0, 1263710.698 806007.643 0, 1263426.811 805992.129 0, 1263142.923 805976.633 0, 1262859.033 805961.153 0, 1262575.143 805945.69 0, 1262291.252 805930.244 0, 1262007.36 805914.814 0, 1261723.468 805899.402 0,
+ 1261439.574 805884.005 0, 1261155.679 805868.626 0, 1260871.784 805853.263 0, 1260587.887 805837.917 0, 1260303.99 805822.588 0, 1260020.092 805807.275 0, 1259736.193 805791.979 0, 1259452.293 805776.7 0, 1259167.06 805761.366 0, 1258867.955 811328.169 0,
+ 1258568.838 816895.193 0, 1258853.412 816910.492 0, 1259136.657 816925.736 0, 1259419.901 816940.997 0, 1259703.144 816956.274 0, 1259986.386 816971.568 0, 1260269.627 816986.879 0, 1260552.867 817002.206 0, 1260836.106 817017.55 0, 1261119.345 817032.91 0,
+ 1261402.582 817048.288 0, 1261685.819 817063.682 0, 1261969.055 817079.092 0, 1262252.289 817094.52 0, 1262535.523 817109.964 0, 1262818.756 817125.424 0, 1263101.988 817140.902 0, 1263385.219 817156.396 0, 1263668.45 817171.906 0, 1263951.679 817187.434 0,
+ 1264234.907 817202.978 0, 1264518.135 817218.538 0, 1264801.361 817234.116 0, 1265084.587 817249.71 0, 1265366.484 817265.247 0, 1265651.036 817280.948 0, 1265934.258 817296.592 0, 1266217.48 817312.252 0, 1266500.701 817327.93 0, 1266783.922 817343.624 0,
+ 1267067.141 817359.334 0, 1267350.359 817375.062 0, 1267633.576 817390.806 0, 1267916.793 817406.567 0, 1268200.008 817422.344 0, 1268483.223 817438.138 0, 1268766.437 817453.949 0, 1269049.649 817469.776 0, 1269332.861 817485.62 0, 1269616.072 817501.481 0,
+ 1269899.282 817517.358 0, 1270182.491 817533.252 0, 1270465.699 817549.163 0, 1270748.906 817565.091 0, 1271032.112 817581.035 0, 1271315.317 817596.995 0, 1271598.522 817612.973 0, 1271881.725 817628.967 0, 1272163.601 817644.903 0, 1272478.444 812078.746 0,
+ 1272793.275 806512.81 0))
+
+POLYGON ((1285756.191 818433.016 0, 1285474.359 818416.284 0, 1285191.202 818399.49 0, 1284908.044 818382.713 0, 1284624.885 818365.952 0, 1284341.725 818349.208 0, 1284058.564 818332.48 0, 1283775.402 818315.77 0, 1283492.24 818299.076 0, 1283209.076 818282.398 0,
+ 1282925.911 818265.737 0, 1282642.745 818249.093 0, 1282359.578 818232.466 0, 1282076.41 818215.855 0, 1281793.241 818199.261 0, 1281510.072 818182.683 0, 1281226.901 818166.123 0, 1280943.729 818149.578 0, 1280660.556 818133.051 0, 1280377.383 818116.54 0,
+ 1280094.208 818100.046 0, 1279811.032 818083.569 0, 1279527.856 818067.108 0, 1279244.678 818050.664 0, 1278960.174 818034.159 0, 1278678.32 818017.825 0, 1278395.14 818001.431 0, 1278111.958 817985.054 0, 1277828.776 817968.693 0, 1277545.593 817952.349 0,
+ 1277262.408 817936.022 0, 1276979.223 817919.711 0, 1276696.037 817903.417 0, 1276412.85 817887.139 0, 1276129.661 817870.878 0, 1275846.472 817854.634 0, 1275563.282 817838.407 0, 1275280.091 817822.196 0, 1274996.899 817806.002 0, 1274713.706 817789.825 0,
+ 1274430.512 817773.664 0, 1274147.318 817757.52 0, 1273864.122 817741.392 0, 1273580.925 817725.281 0, 1273297.727 817709.187 0, 1273014.529 817693.11 0, 1272731.329 817677.049 0, 1272448.129 817661.005 0, 1272163.601 817644.903 0, 1271848.745 823211.277 0,
+ 1271533.877 828777.866 0, 1271817.746 828793.931 0, 1272100.292 828809.938 0, 1272382.836 828825.962 0, 1272665.379 828842.002 0, 1272947.922 828858.059 0, 1273230.463 828874.132 0, 1273513.004 828890.223 0, 1273795.543 828906.329 0, 1274078.082 828922.453 0,
+ 1274360.62 828938.593 0, 1274643.156 828954.749 0, 1274925.692 828970.923 0, 1275208.227 828987.112 0, 1275490.761 829003.319 0, 1275773.294 829019.542 0, 1276055.826 829035.782 0, 1276338.357 829052.038 0, 1276620.887 829068.311 0, 1276903.416 829084.601 0,
+ 1277185.944 829100.907 0, 1277468.471 829117.23 0, 1277750.997 829133.57 0, 1278033.523 829149.926 0, 1278314.724 829166.222 0, 1278598.57 829182.688 0, 1278881.093 829199.094 0, 1279163.614 829215.517 0, 1279446.134 829231.956 0, 1279728.654 829248.412 0,
+ 1280011.172 829264.885 0, 1280293.69 829281.374 0, 1280576.206 829297.88 0, 1280858.722 829314.402 0, 1281141.237 829330.942 0, 1281423.75 829347.497 0, 1281706.263 829364.07 0, 1281988.775 829380.659 0, 1282271.285 829397.264 0, 1282553.795 829413.887 0,
+ 1282836.304 829430.525 0, 1283118.811 829447.181 0, 1283401.318 829463.853 0, 1283683.824 829480.542 0, 1283966.329 829497.247 0, 1284248.833 829513.969 0, 1284531.336 829530.708 0, 1284813.837 829547.463 0, 1285095.017 829564.156 0, 1285425.61 823998.48 0,
+ 1285756.191 818433.016 0))
+
+POLYGON ((1298653.882 830388.756 0, 1298372.748 830371.268 0, 1298090.295 830353.715 0, 1297807.841 830336.178 0, 1297525.385 830318.658 0, 1297242.929 830301.155 0, 1296960.471 830283.668 0, 1296678.013 830266.198 0, 1296395.553 830248.744 0, 1296113.092 830231.307 0,
+ 1295830.631 830213.887 0, 1295548.168 830196.483 0, 1295265.704 830179.096 0, 1294983.24 830161.726 0, 1294700.774 830144.372 0, 1294418.307 830127.035 0, 1294135.839 830109.714 0, 1293853.371 830092.41 0, 1293570.901 830075.123 0, 1293288.43 830057.852 0,
+ 1293005.958 830040.598 0, 1292723.485 830023.361 0, 1292441.012 830006.14 0, 1292158.537 829988.936 0, 1291874.741 829971.668 0, 1291593.584 829954.577 0, 1291311.106 829937.423 0, 1291028.627 829920.285 0, 1290746.147 829903.164 0, 1290463.666 829886.06 0,
+ 1290181.184 829868.972 0, 1289898.701 829851.901 0, 1289616.217 829834.846 0, 1289333.732 829817.809 0, 1289051.246 829800.787 0, 1288768.759 829783.783 0, 1288486.271 829766.795 0, 1288203.783 829749.823 0, 1287921.293 829732.868 0, 1287638.802 829715.93 0,
+ 1287356.31 829699.009 0, 1287073.817 829682.104 0, 1286791.323 829665.215 0, 1286508.828 829648.344 0, 1286226.332 829631.489 0, 1285943.835 829614.65 0, 1285661.337 829597.829 0, 1285378.838 829581.023 0, 1285095.017 829564.156 0, 1284764.411 835130.044 0,
+ 1284433.793 840696.137 0, 1284716.956 840712.965 0, 1284998.8 840729.731 0, 1285280.642 840746.514 0, 1285562.484 840763.314 0, 1285844.325 840780.13 0, 1286126.164 840796.962 0, 1286408.003 840813.811 0, 1286689.841 840830.677 0, 1286971.678 840847.559 0,
+ 1287253.513 840864.458 0, 1287535.348 840881.374 0, 1287817.182 840898.306 0, 1288099.015 840915.254 0, 1288380.847 840932.219 0, 1288662.677 840949.201 0, 1288944.507 840966.2 0, 1289226.336 840983.215 0, 1289508.164 841000.246 0, 1289789.991 841017.294 0,
+ 1290071.816 841034.359 0, 1290353.641 841051.44 0, 1290635.465 841068.538 0, 1290917.288 841085.653 0, 1291197.792 841102.704 0, 1291480.93 841119.932 0, 1291762.75 841137.096 0, 1292044.569 841154.277 0, 1292326.386 841171.474 0, 1292608.203 841188.688 0,
+ 1292890.019 841205.919 0, 1293171.833 841223.166 0, 1293453.647 841240.43 0, 1293735.46 841257.71 0, 1294017.271 841275.007 0, 1294299.082 841292.321 0, 1294580.891 841309.651 0, 1294862.7 841326.998 0, 1295144.507 841344.361 0, 1295426.314 841361.741 0,
+ 1295708.119 841379.138 0, 1295989.924 841396.551 0, 1296271.727 841413.98 0, 1296553.53 841431.427 0, 1296835.331 841448.889 0, 1297117.132 841466.369 0, 1297398.931 841483.865 0, 1297680.729 841501.378 0, 1297961.211 841518.825 0, 1298307.553 835953.687 0,
+ 1298653.882 830388.756 0))
+
+POLYGON ((1311486.25 842379.726 0, 1311205.817 842361.487 0, 1310924.069 842343.178 0, 1310642.32 842324.886 0, 1310360.571 842306.61 0, 1310078.82 842288.351 0, 1309797.068 842270.109 0, 1309515.315 842251.883 0, 1309233.56 842233.674 0, 1308951.805 842215.482 0,
+ 1308670.049 842197.306 0, 1308388.292 842179.146 0, 1308106.533 842161.003 0, 1307824.774 842142.877 0, 1307543.013 842124.767 0, 1307261.251 842106.674 0, 1306979.489 842088.598 0, 1306697.725 842070.538 0, 1306415.96 842052.495 0, 1306134.194 842034.468 0,
+ 1305852.427 842016.458 0, 1305570.659 841998.464 0, 1305288.89 841980.487 0, 1305007.12 841962.527 0, 1304724.034 841944.499 0, 1304443.577 841926.656 0, 1304161.804 841908.745 0, 1303880.029 841890.851 0, 1303598.254 841872.973 0, 1303316.477 841855.113 0,
+ 1303034.7 841837.268 0, 1302752.921 841819.441 0, 1302471.142 841801.629 0, 1302189.361 841783.835 0, 1301907.579 841766.057 0, 1301625.797 841748.295 0, 1301344.013 841730.551 0, 1301062.228 841712.822 0, 1300780.442 841695.111 0, 1300498.655 841677.416 0,
+ 1300216.867 841659.737 0, 1299935.078 841642.075 0, 1299653.288 841624.43 0, 1299371.497 841606.801 0, 1299089.705 841589.189 0, 1298807.912 841571.594 0, 1298526.118 841554.015 0, 1298244.323 841536.452 0, 1297961.211 841518.825 0, 1297614.856 847084.165 0,
+ 1297268.489 852649.705 0, 1297550.943 852667.291 0, 1297832.083 852684.813 0, 1298113.222 852702.351 0, 1298394.36 852719.906 0, 1298675.497 852737.477 0, 1298956.633 852755.065 0, 1299237.768 852772.669 0, 1299518.902 852790.29 0, 1299800.034 852807.927 0,
+ 1300081.166 852825.581 0, 1300362.297 852843.251 0, 1300643.427 852860.938 0, 1300924.555 852878.642 0, 1301205.683 852896.362 0, 1301486.809 852914.099 0, 1301767.935 852931.852 0, 1302049.059 852949.622 0, 1302330.183 852967.408 0, 1302611.305 852985.211 0,
+ 1302892.427 853003.03 0, 1303173.547 853020.866 0, 1303454.666 853038.718 0, 1303735.784 853056.587 0, 1304015.59 853074.389 0, 1304298.018 853092.375 0, 1304579.133 853110.294 0, 1304860.247 853128.229 0, 1305141.36 853146.181 0, 1305422.471 853164.149 0,
+ 1305703.582 853182.134 0, 1305984.692 853200.135 0, 1306265.801 853218.153 0, 1306546.908 853236.188 0, 1306828.015 853254.239 0, 1307109.12 853272.306 0, 1307390.225 853290.39 0, 1307671.328 853308.491 0, 1307952.43 853326.608 0, 1308233.532 853344.742 0,
+ 1308514.632 853362.892 0, 1308795.731 853381.059 0, 1309076.829 853399.242 0, 1309357.926 853417.442 0, 1309639.022 853435.659 0, 1309920.117 853453.892 0, 1310201.21 853472.141 0, 1310482.303 853490.407 0, 1310762.084 853508.605 0, 1311124.174 847944.066 0,
+ 1311486.25 842379.726 0))
+
+POLYGON ((1324253.199 854405.623 0, 1323973.469 854386.635 0, 1323692.429 854367.575 0, 1323411.388 854348.532 0, 1323130.345 854329.504 0, 1322849.302 854310.494 0, 1322568.258 854291.5 0, 1322287.212 854272.522 0, 1322006.165 854253.562 0, 1321725.118 854234.617 0,
+ 1321444.069 854215.689 0, 1321163.019 854196.778 0, 1320881.968 854177.883 0, 1320600.915 854159.005 0, 1320319.862 854140.143 0, 1320038.808 854121.298 0, 1319757.752 854102.47 0, 1319476.695 854083.658 0, 1319195.638 854064.862 0, 1318914.579 854046.083 0,
+ 1318633.519 854027.321 0, 1318352.458 854008.575 0, 1318071.396 853989.846 0, 1317790.332 853971.133 0, 1317507.959 853952.35 0, 1317228.202 853933.757 0, 1316947.136 853915.094 0, 1316666.068 853896.447 0, 1316384.999 853877.817 0, 1316103.929 853859.204 0,
+ 1315822.858 853840.607 0, 1315541.786 853822.026 0, 1315260.713 853803.462 0, 1314979.639 853784.915 0, 1314698.564 853766.384 0, 1314417.487 853747.87 0, 1314136.41 853729.372 0, 1313855.331 853710.891 0, 1313574.251 853692.426 0, 1313293.171 853673.978 0,
+ 1313012.089 853655.547 0, 1312731.006 853637.132 0, 1312449.922 853618.733 0, 1312168.837 853600.351 0, 1311887.75 853581.986 0, 1311606.663 853563.637 0, 1311325.575 853545.305 0, 1311044.485 853526.989 0, 1310762.084 853508.605 0, 1310399.982 859073.339 0,
+ 1310037.868 864638.265 0, 1310319.611 864656.606 0, 1310600.045 864674.879 0, 1310880.478 864693.169 0, 1311160.91 864711.475 0, 1311441.342 864729.797 0, 1311721.772 864748.137 0, 1312002.201 864766.492 0, 1312282.629 864784.864 0, 1312563.055 864803.253 0,
+ 1312843.481 864821.658 0, 1313123.906 864840.079 0, 1313404.329 864858.518 0, 1313684.752 864876.972 0, 1313965.173 864895.443 0, 1314245.594 864913.931 0, 1314526.013 864932.435 0, 1314806.431 864950.956 0, 1315086.848 864969.493 0, 1315367.264 864988.046 0,
+ 1315647.679 865006.617 0, 1315928.092 865025.203 0, 1316208.505 865043.806 0, 1316488.917 865062.426 0, 1316768.021 865080.975 0, 1317049.737 865099.715 0, 1317330.145 865118.384 0, 1317610.552 865137.07 0, 1317890.958 865155.772 0, 1318171.363 865174.491 0,
+ 1318451.767 865193.226 0, 1318732.17 865211.977 0, 1319012.571 865230.746 0, 1319292.972 865249.53 0, 1319573.372 865268.332 0, 1319853.77 865287.149 0, 1320134.167 865305.983 0, 1320414.563 865324.834 0, 1320694.958 865343.701 0, 1320975.352 865362.585 0,
+ 1321255.745 865381.485 0, 1321536.137 865400.402 0, 1321816.527 865419.335 0, 1322096.917 865438.285 0, 1322377.305 865457.251 0, 1322657.692 865476.234 0, 1322938.078 865495.233 0, 1323218.463 865514.249 0, 1323497.542 865533.193 0, 1323875.377 859969.312 0,
+ 1324253.199 854405.623 0))
+
+POLYGON ((1336954.635 866466.143 0, 1336675.609 866446.411 0, 1336395.278 866426.603 0, 1336114.947 866406.812 0, 1335834.615 866387.037 0, 1335554.281 866367.279 0, 1335273.946 866347.537 0, 1334993.61 866327.812 0, 1334713.273 866308.103 0, 1334432.935 866288.41 0,
+ 1334152.595 866268.735 0, 1333872.255 866249.075 0, 1333591.913 866229.433 0, 1333311.57 866209.806 0, 1333031.226 866190.196 0, 1332750.881 866170.603 0, 1332470.534 866151.026 0, 1332190.187 866131.466 0, 1331909.838 866111.922 0, 1331629.488 866092.395 0,
+ 1331349.137 866072.884 0, 1331068.785 866053.39 0, 1330788.432 866033.912 0, 1330508.077 866014.451 0, 1330226.418 865994.915 0, 1329947.365 865975.578 0, 1329667.007 865956.166 0, 1329386.648 865936.77 0, 1329106.288 865917.392 0, 1328825.927 865898.029 0,
+ 1328545.564 865878.684 0, 1328265.201 865859.354 0, 1327984.836 865840.042 0, 1327704.47 865820.745 0, 1327424.103 865801.465 0, 1327143.735 865782.202 0, 1326863.366 865762.955 0, 1326582.996 865743.725 0, 1326302.624 865724.511 0, 1326022.252 865705.314 0,
+ 1325741.878 865686.133 0, 1325461.503 865666.969 0, 1325181.127 865647.821 0, 1324900.75 865628.69 0, 1324620.372 865609.575 0, 1324339.992 865590.477 0, 1324059.612 865571.395 0, 1323779.23 865552.33 0, 1323497.542 865533.193 0, 1323119.695 871097.261 0,
+ 1322741.834 876661.513 0, 1323022.864 876680.606 0, 1323302.591 876699.627 0, 1323582.316 876718.664 0, 1323862.041 876737.718 0, 1324141.764 876756.788 0, 1324421.486 876775.874 0, 1324701.207 876794.977 0, 1324980.927 876814.097 0, 1325260.646 876833.233 0,
+ 1325540.363 876852.385 0, 1325820.08 876871.554 0, 1326099.795 876890.74 0, 1326379.51 876909.941 0, 1326659.223 876929.16 0, 1326938.935 876948.394 0, 1327218.646 876967.646 0, 1327498.355 876986.913 0, 1327778.064 877006.197 0, 1328057.771 877025.498 0,
+ 1328337.478 877044.815 0, 1328617.183 877064.149 0, 1328896.887 877083.499 0, 1329176.59 877102.865 0, 1329454.991 877122.158 0, 1329735.992 877141.647 0, 1330015.692 877161.063 0, 1330295.39 877180.495 0, 1330575.087 877199.944 0, 1330854.784 877219.409 0,
+ 1331134.478 877238.891 0, 1331414.172 877258.389 0, 1331693.865 877277.904 0, 1331973.556 877297.435 0, 1332253.247 877316.982 0, 1332532.936 877336.546 0, 1332812.624 877356.127 0, 1333092.311 877375.724 0, 1333371.996 877395.337 0, 1333651.681 877414.967 0,
+ 1333931.364 877434.613 0, 1334211.047 877454.276 0, 1334490.728 877473.955 0, 1334770.408 877493.651 0, 1335050.086 877513.363 0, 1335329.764 877533.092 0, 1335609.44 877552.837 0, 1335889.116 877572.598 0, 1336167.49 877592.285 0, 1336561.069 872029.122 0,
+ 1336954.635 866466.143 0))
+
+POLYGON ((1349590.463 878560.982 0, 1349312.143 878540.509 0, 1349032.525 878519.958 0, 1348752.905 878499.422 0, 1348473.285 878478.904 0, 1348193.663 878458.402 0, 1347914.039 878437.916 0, 1347634.415 878417.446 0, 1347354.79 878396.994 0, 1347075.163 878376.557 0,
+ 1346795.535 878356.137 0, 1346515.906 878335.734 0, 1346236.275 878315.347 0, 1345956.644 878294.976 0, 1345677.011 878274.622 0, 1345397.377 878254.285 0, 1345117.742 878233.963 0, 1344838.105 878213.659 0, 1344558.468 878193.37 0, 1344278.829 878173.099 0,
+ 1343999.189 878152.843 0, 1343719.548 878132.604 0, 1343439.905 878112.382 0, 1343160.262 878092.176 0, 1342879.319 878071.893 0, 1342600.971 878051.813 0, 1342321.324 878031.657 0, 1342041.676 878011.517 0, 1341762.026 877991.393 0, 1341482.376 877971.286 0,
+ 1341202.724 877951.195 0, 1340923.071 877931.121 0, 1340643.417 877911.063 0, 1340363.761 877891.022 0, 1340084.105 877870.997 0, 1339804.447 877850.988 0, 1339524.788 877830.996 0, 1339245.128 877811.021 0, 1338965.467 877791.062 0, 1338685.804 877771.119 0,
+ 1338406.141 877751.193 0, 1338126.476 877731.283 0, 1337846.81 877711.39 0, 1337567.143 877691.513 0, 1337287.475 877671.653 0, 1337007.805 877651.809 0, 1336728.135 877631.982 0, 1336448.463 877612.171 0, 1336167.49 877592.285 0, 1335773.899 883155.628 0,
+ 1335380.295 888719.147 0, 1335660.609 888738.987 0, 1335939.626 888758.752 0, 1336218.642 888778.532 0, 1336497.657 888798.33 0, 1336776.67 888818.144 0, 1337055.682 888837.974 0, 1337334.693 888857.82 0, 1337613.703 888877.684 0, 1337892.712 888897.563 0,
+ 1338171.719 888917.459 0, 1338450.726 888937.371 0, 1338729.731 888957.3 0, 1339008.735 888977.245 0, 1339287.738 888997.207 0, 1339566.74 889017.185 0, 1339845.74 889037.179 0, 1340124.739 889057.19 0, 1340403.738 889077.217 0, 1340682.735 889097.261 0,
+ 1340961.73 889117.321 0, 1341240.725 889137.398 0, 1341519.718 889157.491 0, 1341798.711 889177.6 0, 1342076.406 889197.632 0, 1342356.692 889217.868 0, 1342635.68 889238.027 0, 1342914.668 889258.202 0, 1343193.654 889278.393 0, 1343472.639 889298.601 0,
+ 1343751.623 889318.826 0, 1344030.606 889339.066 0, 1344309.587 889359.323 0, 1344588.568 889379.597 0, 1344867.547 889399.887 0, 1345146.525 889420.193 0, 1345425.502 889440.516 0, 1345704.477 889460.856 0, 1345983.452 889481.211 0, 1346262.425 889501.583 0,
+ 1346541.397 889521.972 0, 1346820.368 889542.377 0, 1347099.337 889562.798 0, 1347378.306 889583.236 0, 1347657.273 889603.69 0, 1347936.239 889624.161 0, 1348215.204 889644.648 0, 1348494.167 889665.151 0, 1348771.835 889685.576 0, 1349181.156 884123.191 0,
+ 1349590.463 878560.982 0))
+
+POLYGON ((1362160.592 890689.835 0, 1361882.981 890668.625 0, 1361604.076 890647.334 0, 1361325.17 890626.059 0, 1361046.263 890604.8 0, 1360767.355 890583.558 0, 1360488.446 890562.332 0, 1360209.535 890541.123 0, 1359930.623 890519.93 0, 1359651.709 890498.753 0,
+ 1359372.795 890477.593 0, 1359093.879 890456.449 0, 1358814.962 890435.322 0, 1358536.044 890414.211 0, 1358257.124 890393.116 0, 1357978.204 890372.038 0, 1357699.282 890350.976 0, 1357420.359 890329.931 0, 1357141.434 890308.902 0, 1356862.508 890287.89 0,
+ 1356583.581 890266.894 0, 1356304.653 890245.914 0, 1356025.724 890224.951 0, 1355746.793 890204.004 0, 1355466.569 890182.977 0, 1355188.928 890162.16 0, 1354909.994 890141.263 0, 1354631.058 890120.381 0, 1354352.122 890099.517 0, 1354073.184 890078.669 0,
+ 1353794.244 890057.837 0, 1353515.304 890037.021 0, 1353236.362 890016.222 0, 1352957.419 889995.44 0, 1352678.475 889974.674 0, 1352399.53 889953.924 0, 1352120.583 889933.191 0, 1351841.635 889912.474 0, 1351562.686 889891.773 0, 1351283.736 889871.089 0,
+ 1351004.785 889850.421 0, 1350725.832 889829.77 0, 1350446.878 889809.135 0, 1350167.923 889788.517 0, 1349888.967 889767.915 0, 1349610.009 889747.329 0, 1349331.051 889726.76 0, 1349052.091 889706.208 0, 1348771.835 889685.576 0, 1348362.502 895248.134 0,
+ 1347953.157 900810.861 0, 1348232.754 900831.444 0, 1348511.059 900851.949 0, 1348789.363 900872.469 0, 1349067.666 900893.007 0, 1349345.967 900913.56 0, 1349624.268 900934.13 0, 1349902.567 900954.717 0, 1350180.865 900975.319 0, 1350459.161 900995.939 0,
+ 1350737.457 901016.574 0, 1351015.751 901037.226 0, 1351294.044 901057.894 0, 1351572.336 901078.579 0, 1351850.626 901099.28 0, 1352128.916 901119.997 0, 1352407.204 901140.731 0, 1352685.491 901161.481 0, 1352963.777 901182.248 0, 1353242.061 901203.031 0,
+ 1353520.344 901223.83 0, 1353798.626 901244.646 0, 1354076.907 901265.478 0, 1354355.187 901286.326 0, 1354632.175 901307.094 0, 1354911.742 901328.072 0, 1355190.018 901348.97 0, 1355468.293 901369.884 0, 1355746.566 901390.814 0, 1356024.838 901411.761 0,
+ 1356303.109 901432.724 0, 1356581.379 901453.704 0, 1356859.647 901474.7 0, 1357137.915 901495.712 0, 1357416.181 901516.74 0, 1357694.446 901537.785 0, 1357972.709 901558.847 0, 1358250.971 901579.924 0, 1358529.232 901601.019 0, 1358807.492 901622.129 0,
+ 1359085.751 901643.256 0, 1359364.008 901664.399 0, 1359642.264 901685.559 0, 1359920.519 901706.735 0, 1360198.773 901727.927 0, 1360477.025 901749.136 0, 1360755.276 901770.361 0, 1361033.526 901791.603 0, 1361310.486 901812.762 0, 1361735.546 896251.214 0,
+ 1362160.592 890689.835 0))
+
+POLYGON ((1374664.931 902852.396 0, 1374388.03 902830.454 0, 1374109.841 902808.427 0, 1373831.651 902786.416 0, 1373553.46 902764.421 0, 1373275.267 902742.442 0, 1372997.073 902720.48 0, 1372718.878 902698.535 0, 1372440.682 902676.605 0, 1372162.484 902654.692 0,
+ 1371884.285 902632.796 0, 1371606.085 902610.916 0, 1371327.883 902589.052 0, 1371049.68 902567.204 0, 1370771.476 902545.373 0, 1370493.27 902523.559 0, 1370215.064 902501.76 0, 1369936.855 902479.978 0, 1369658.646 902458.213 0, 1369380.435 902436.464 0,
+ 1369102.224 902414.731 0, 1368824.01 902393.014 0, 1368545.796 902371.314 0, 1368267.58 902349.631 0, 1367988.076 902327.863 0, 1367711.145 902306.312 0, 1367432.925 902284.678 0, 1367154.704 902263.06 0, 1366876.482 902241.458 0, 1366598.259 902219.872 0,
+ 1366320.034 902198.303 0, 1366041.808 902176.751 0, 1365763.581 902155.214 0, 1365485.353 902133.694 0, 1365207.123 902112.191 0, 1364928.892 902090.704 0, 1364650.66 902069.233 0, 1364372.426 902047.779 0, 1364094.192 902026.34 0, 1363815.956 902004.919 0,
+ 1363537.718 901983.513 0, 1363259.48 901962.125 0, 1362981.24 901940.752 0, 1362702.999 901919.396 0, 1362424.756 901898.056 0, 1362146.513 901876.733 0, 1361868.268 901855.426 0, 1361590.022 901834.135 0, 1361310.486 901812.762 0, 1360885.414 907374.475 0,
+ 1360460.329 912936.35 0, 1360739.207 912957.672 0, 1361016.799 912978.913 0, 1361294.389 913000.17 0, 1361571.978 913021.443 0, 1361849.565 913042.733 0, 1362127.152 913064.039 0, 1362404.737 913085.361 0, 1362682.321 913106.699 0, 1362959.903 913128.054 0,
+ 1363237.485 913149.426 0, 1363515.065 913170.813 0, 1363792.644 913192.217 0, 1364070.221 913213.637 0, 1364347.798 913235.074 0, 1364625.373 913256.527 0, 1364902.946 913277.996 0, 1365180.519 913299.482 0, 1365458.09 913320.984 0, 1365735.66 913342.502 0,
+ 1366013.229 913364.037 0, 1366290.796 913385.588 0, 1366568.363 913407.155 0, 1366845.927 913428.739 0, 1367122.207 913450.239 0, 1367401.053 913471.955 0, 1367678.615 913493.588 0, 1367956.174 913515.237 0, 1368233.733 913536.902 0, 1368511.29 913558.584 0,
+ 1368788.846 913580.282 0, 1369066.401 913601.996 0, 1369343.954 913623.727 0, 1369621.507 913645.474 0, 1369899.057 913667.237 0, 1370176.607 913689.017 0, 1370454.155 913710.813 0, 1370731.702 913732.625 0, 1371009.248 913754.454 0, 1371286.793 913776.299 0,
+ 1371564.336 913798.16 0, 1371841.878 913820.038 0, 1372119.418 913841.932 0, 1372396.958 913863.843 0, 1372674.496 913885.769 0, 1372952.032 913907.712 0, 1373229.568 913929.672 0, 1373507.102 913951.647 0, 1373783.352 913973.538 0, 1374224.148 908412.886 0,
+ 1374664.931 902852.396 0))
+
+POLYGON ((1387103.391 915048.361 0, 1386827.202 915025.691 0, 1386549.731 915002.931 0, 1386272.259 914980.187 0, 1385994.785 914957.46 0, 1385717.31 914934.75 0, 1385439.834 914912.055 0, 1385162.356 914889.377 0, 1384884.877 914866.715 0, 1384607.397 914844.07 0,
+ 1384329.915 914821.441 0, 1384052.432 914798.828 0, 1383774.948 914776.232 0, 1383497.462 914753.652 0, 1383219.975 914731.088 0, 1382942.487 914708.541 0, 1382664.997 914686.01 0, 1382387.507 914663.495 0, 1382110.014 914640.997 0, 1381832.521 914618.514 0,
+ 1381555.026 914596.049 0, 1381277.529 914573.599 0, 1381000.032 914551.166 0, 1380722.533 914528.749 0, 1380443.751 914506.246 0, 1380167.531 914483.965 0, 1379890.028 914461.597 0, 1379612.524 914439.246 0, 1379335.019 914416.911 0, 1379057.512 914394.592 0,
+ 1378780.004 914372.29 0, 1378502.495 914350.004 0, 1378224.984 914327.734 0, 1377947.472 914305.48 0, 1377669.959 914283.243 0, 1377392.444 914261.023 0, 1377114.928 914238.818 0, 1376837.411 914216.63 0, 1376559.892 914194.458 0, 1376282.372 914172.303 0,
+ 1376004.851 914150.164 0, 1375727.329 914128.041 0, 1375449.805 914105.935 0, 1375172.28 914083.845 0, 1374894.753 914061.771 0, 1374617.226 914039.714 0, 1374339.697 914017.673 0, 1374062.166 913995.648 0, 1373783.352 913973.538 0, 1373342.543 919534.346 0,
+ 1372901.722 925095.308 0, 1373179.879 925117.366 0, 1373456.755 925139.339 0, 1373733.629 925161.328 0, 1374010.503 925183.334 0, 1374287.374 925205.355 0, 1374564.245 925227.393 0, 1374841.114 925249.447 0, 1375117.982 925271.518 0, 1375394.848 925293.605 0,
+ 1375671.714 925315.708 0, 1375948.578 925337.827 0, 1376225.44 925359.963 0, 1376502.302 925382.115 0, 1376779.162 925404.284 0, 1377056.021 925426.468 0, 1377332.878 925448.669 0, 1377609.734 925470.886 0, 1377886.589 925493.12 0, 1378163.443 925515.37 0,
+ 1378440.295 925537.636 0, 1378717.146 925559.918 0, 1378993.995 925582.217 0, 1379270.844 925604.532 0, 1379546.412 925626.76 0, 1379824.536 925649.211 0, 1380101.381 925671.574 0, 1380378.224 925693.955 0, 1380655.066 925716.351 0, 1380931.906 925738.764 0,
+ 1381208.745 925761.193 0, 1381485.583 925783.638 0, 1381762.419 925806.1 0, 1382039.254 925828.578 0, 1382316.088 925851.072 0, 1382592.921 925873.582 0, 1382869.752 925896.109 0, 1383146.582 925918.652 0, 1383423.41 925941.212 0, 1383700.237 925963.787 0,
+ 1383977.063 925986.379 0, 1384253.888 926008.988 0, 1384530.711 926031.612 0, 1384807.533 926054.253 0, 1385084.353 926076.91 0, 1385361.172 926099.584 0, 1385637.99 926122.273 0, 1385914.807 926144.98 0, 1386190.344 926167.597 0, 1386646.874 920607.902 0,
+ 1387103.391 915048.361 0))
+
+POLYGON ((1399475.883 927277.424 0, 1399200.409 927254.028 0, 1398923.657 927230.54 0, 1398646.905 927207.068 0, 1398370.151 927183.613 0, 1398093.395 927160.174 0, 1397816.639 927136.751 0, 1397539.88 927113.344 0, 1397263.121 927089.954 0, 1396986.36 927066.58 0,
+ 1396709.598 927043.222 0, 1396432.834 927019.881 0, 1396156.069 926996.556 0, 1395879.303 926973.247 0, 1395602.535 926949.955 0, 1395325.766 926926.678 0, 1395048.995 926903.418 0, 1394772.223 926880.175 0, 1394495.45 926856.947 0, 1394218.676 926833.736 0,
+ 1393941.9 926810.542 0, 1393665.122 926787.363 0, 1393388.344 926764.201 0, 1393111.563 926741.055 0, 1392833.506 926717.819 0, 1392557.999 926694.812 0, 1392281.215 926671.715 0, 1392004.43 926648.634 0, 1391727.643 926625.57 0, 1391450.854 926602.522 0,
+ 1391174.065 926579.49 0, 1390897.274 926556.474 0, 1390620.482 926533.475 0, 1390343.688 926510.492 0, 1390066.893 926487.525 0, 1389790.097 926464.575 0, 1389513.299 926441.641 0, 1389236.5 926418.723 0, 1388959.7 926395.821 0, 1388682.898 926372.936 0,
+ 1388406.095 926350.067 0, 1388129.29 926327.214 0, 1387852.485 926304.378 0, 1387575.677 926281.558 0, 1387298.869 926258.754 0, 1387022.059 926235.967 0, 1386745.248 926213.195 0, 1386468.436 926190.44 0, 1386190.344 926167.597 0, 1385733.802 931727.441 0,
+ 1385277.248 937287.431 0, 1385554.682 937310.22 0, 1385830.84 937332.921 0, 1386106.997 937355.639 0, 1386383.152 937378.372 0, 1386659.306 937401.122 0, 1386935.459 937423.888 0, 1387211.61 937446.671 0, 1387487.76 937469.469 0, 1387763.908 937492.284 0,
+ 1388040.056 937515.115 0, 1388316.202 937537.963 0, 1388592.346 937560.826 0, 1388868.49 937583.706 0, 1389144.631 937606.602 0, 1389420.772 937629.515 0, 1389696.911 937652.443 0, 1389973.049 937675.388 0, 1390249.186 937698.349 0, 1390525.321 937721.327 0,
+ 1390801.454 937744.321 0, 1391077.587 937767.33 0, 1391353.718 937790.357 0, 1391629.848 937813.399 0, 1391904.703 937836.351 0, 1392182.103 937859.533 0, 1392458.229 937882.624 0, 1392734.353 937905.731 0, 1393010.476 937928.855 0, 1393286.598 937951.995 0,
+ 1393562.718 937975.151 0, 1393838.837 937998.324 0, 1394114.954 938021.512 0, 1394391.07 938044.717 0, 1394667.185 938067.938 0, 1394943.298 938091.176 0, 1395219.41 938114.43 0, 1395495.521 938137.7 0, 1395771.63 938160.986 0, 1396047.738 938184.288 0,
+ 1396323.845 938207.607 0, 1396599.95 938230.942 0, 1396876.054 938254.293 0, 1397152.156 938277.661 0, 1397428.257 938301.044 0, 1397704.357 938324.444 0, 1397980.455 938347.86 0, 1398256.552 938371.293 0, 1398531.375 938394.633 0, 1399003.635 932835.956 0,
+ 1399475.883 927277.424 0))
+
+POLYGON ((1411782.322 939539.277 0, 1411507.563 939515.16 0, 1411231.534 939490.948 0, 1410955.503 939466.752 0, 1410679.47 939442.572 0, 1410403.436 939418.408 0, 1410127.401 939394.261 0, 1409851.364 939370.13 0, 1409575.326 939346.015 0, 1409299.287 939321.916 0,
+ 1409023.246 939297.834 0, 1408747.203 939273.767 0, 1408471.159 939249.717 0, 1408195.114 939225.684 0, 1407919.068 939201.666 0, 1407643.02 939177.665 0, 1407366.97 939153.68 0, 1407090.919 939129.712 0, 1406814.867 939105.759 0, 1406538.813 939081.823 0,
+ 1406262.758 939057.903 0, 1405986.702 939033.999 0, 1405710.644 939010.112 0, 1405434.584 938986.241 0, 1405157.253 938962.276 0, 1404882.462 938938.547 0, 1404606.398 938914.725 0, 1404330.333 938890.918 0, 1404054.267 938867.128 0, 1403778.199 938843.355 0,
+ 1403502.13 938819.597 0, 1403226.059 938795.856 0, 1402949.987 938772.131 0, 1402673.914 938748.422 0, 1402397.839 938724.73 0, 1402121.763 938701.054 0, 1401845.686 938677.394 0, 1401569.607 938653.75 0, 1401293.527 938630.122 0, 1401017.445 938606.511 0,
+ 1400741.362 938582.916 0, 1400465.277 938559.338 0, 1400189.192 938535.775 0, 1399913.104 938512.229 0, 1399637.016 938488.699 0, 1399360.926 938465.185 0, 1399084.834 938441.688 0, 1398808.742 938418.207 0, 1398531.375 938394.633 0, 1398059.103 943953.453 0,
+ 1397586.819 949512.41 0, 1397863.528 949535.927 0, 1398138.967 949559.353 0, 1398414.404 949582.794 0, 1398689.839 949606.252 0, 1398965.273 949629.727 0, 1399240.706 949653.217 0, 1399516.138 949676.724 0, 1399791.568 949700.246 0, 1400066.997 949723.785 0,
+ 1400342.424 949747.341 0, 1400617.85 949770.912 0, 1400893.275 949794.5 0, 1401168.698 949818.104 0, 1401444.119 949841.724 0, 1401719.54 949865.36 0, 1401994.959 949889.013 0, 1402270.376 949912.681 0, 1402545.793 949936.366 0, 1402821.208 949960.068 0,
+ 1403096.621 949983.785 0, 1403372.033 950007.518 0, 1403647.444 950031.268 0, 1403922.853 950055.034 0, 1404196.993 950078.707 0, 1404473.667 950102.615 0, 1404749.072 950126.429 0, 1405024.476 950150.26 0, 1405299.878 950174.107 0, 1405575.279 950197.971 0,
+ 1405850.678 950221.85 0, 1406126.076 950245.746 0, 1406401.473 950269.658 0, 1406676.868 950293.586 0, 1406952.262 950317.53 0, 1407227.654 950341.49 0, 1407503.045 950365.467 0, 1407778.435 950389.46 0, 1408053.823 950413.469 0, 1408329.21 950437.495 0,
+ 1408604.595 950461.536 0, 1408879.979 950485.594 0, 1409155.361 950509.668 0, 1409430.742 950533.758 0, 1409706.122 950557.864 0, 1409981.5 950581.987 0, 1410256.877 950606.126 0, 1410532.252 950630.281 0, 1410806.36 950654.341 0, 1411294.347 945096.74 0,
+ 1411782.322 939539.277 0))
+
+POLYGON ((1424022.621 951833.615 0, 1423748.581 951808.78 0, 1423473.275 951783.847 0, 1423197.967 951758.931 0, 1422922.658 951734.03 0, 1422647.348 951709.146 0, 1422372.036 951684.278 0, 1422096.723 951659.426 0, 1421821.408 951634.59 0, 1421546.091 951609.771 0,
+ 1421270.774 951584.968 0, 1420995.454 951560.181 0, 1420720.134 951535.41 0, 1420444.812 951510.655 0, 1420169.488 951485.917 0, 1419894.163 951461.194 0, 1419618.837 951436.488 0, 1419343.509 951411.798 0, 1419068.179 951387.125 0, 1418792.848 951362.467 0,
+ 1418517.516 951337.826 0, 1418242.182 951313.201 0, 1417966.847 951288.592 0, 1417691.51 951264 0, 1417414.907 951239.31 0, 1417140.833 951214.863 0, 1416865.492 951190.319 0, 1416590.149 951165.791 0, 1416314.806 951141.28 0, 1416039.46 951116.785 0,
+ 1415764.113 951092.305 0, 1415488.765 951067.842 0, 1415213.416 951043.396 0, 1414938.065 951018.965 0, 1414662.712 950994.551 0, 1414387.358 950970.153 0, 1414112.003 950945.771 0, 1413836.646 950921.405 0, 1413561.288 950897.056 0, 1413285.928 950872.722 0,
+ 1413010.567 950848.405 0, 1412735.204 950824.104 0, 1412459.84 950799.82 0, 1412184.475 950775.551 0, 1411909.108 950751.299 0, 1411633.74 950727.063 0, 1411358.37 950702.843 0, 1411082.999 950678.639 0, 1410806.36 950654.341 0, 1410318.361 956212.075 0,
+ 1409830.35 961769.94 0, 1410106.333 961794.18 0, 1410381.049 961818.327 0, 1410655.765 961842.489 0, 1410930.479 961866.667 0, 1411205.192 961890.862 0, 1411479.903 961915.073 0, 1411754.613 961939.3 0, 1412029.321 961963.543 0, 1412304.028 961987.802 0,
+ 1412578.733 962012.078 0, 1412853.437 962036.369 0, 1413128.14 962060.677 0, 1413402.841 962085.001 0, 1413677.541 962109.341 0, 1413952.239 962133.698 0, 1414226.936 962158.07 0, 1414501.632 962182.459 0, 1414776.326 962206.864 0, 1415051.018 962231.285 0,
+ 1415325.709 962255.722 0, 1415600.399 962280.175 0, 1415875.087 962304.645 0, 1416149.774 962329.13 0, 1416423.197 962353.519 0, 1416699.143 962378.15 0, 1416973.826 962402.684 0, 1417248.507 962427.235 0, 1417523.187 962451.801 0, 1417797.865 962476.384 0,
+ 1418072.541 962500.983 0, 1418347.217 962525.598 0, 1418621.89 962550.229 0, 1418896.563 962574.876 0, 1419171.234 962599.54 0, 1419445.903 962624.219 0, 1419720.571 962648.915 0, 1419995.238 962673.627 0, 1420269.903 962698.355 0, 1420544.567 962723.1 0,
+ 1420819.229 962747.86 0, 1421093.889 962772.637 0, 1421368.549 962797.43 0, 1421643.207 962822.239 0, 1421917.863 962847.064 0, 1422192.518 962871.905 0, 1422467.171 962896.763 0, 1422741.823 962921.636 0, 1423015.212 962946.412 0, 1423518.923 957389.948 0,
+ 1424022.621 951833.615 0))
+
+POLYGON ((927992.441 532049.799 0, 927693.893 532054.025 0, 927393.882 532058.29 0, 927093.871 532062.572 0, 926793.86 532066.872 0, 926493.85 532071.19 0, 926193.84 532075.525 0, 925893.83 532079.878 0, 925593.821 532084.249 0, 925293.811 532088.637 0,
+ 924993.802 532093.043 0, 924693.793 532097.466 0, 924393.785 532101.907 0, 924093.776 532106.366 0, 923793.768 532110.843 0, 923493.761 532115.337 0, 923193.753 532119.849 0, 922893.746 532124.378 0, 922593.739 532128.926 0, 922293.732 532133.49 0,
+ 921993.726 532138.073 0, 921693.72 532142.673 0, 921393.714 532147.291 0, 921093.708 532151.926 0, 920792.239 532156.602 0, 920493.698 532161.25 0, 920193.693 532165.938 0, 919893.688 532170.644 0, 919593.684 532175.368 0, 919293.68 532180.11 0,
+ 918993.677 532184.869 0, 918693.673 532189.645 0, 918393.67 532194.44 0, 918093.667 532199.252 0, 917793.665 532204.081 0, 917493.662 532208.929 0, 917193.66 532213.794 0, 916893.659 532218.676 0, 916593.657 532223.577 0, 916293.656 532228.495 0,
+ 915993.655 532233.43 0, 915693.655 532238.383 0, 915393.655 532243.354 0, 915093.655 532248.343 0, 914793.655 532253.349 0, 914493.656 532258.373 0, 914193.657 532263.415 0, 913893.658 532268.474 0, 913592.194 532273.576 0, 913686.44 537832.901 0,
+ 913780.692 543392.609 0, 914081.498 543387.519 0, 914380.842 543382.47 0, 914680.187 543377.44 0, 914979.532 543372.427 0, 915278.877 543367.432 0, 915578.223 543362.454 0, 915877.569 543357.494 0, 916176.915 543352.551 0, 916476.261 543347.627 0,
+ 916775.608 543342.719 0, 917074.955 543337.83 0, 917374.302 543332.958 0, 917673.649 543328.103 0, 917972.997 543323.267 0, 918272.345 543318.447 0, 918571.694 543313.646 0, 918871.042 543308.862 0, 919170.391 543304.096 0, 919469.741 543299.347 0,
+ 919769.09 543294.616 0, 920068.44 543289.903 0, 920367.79 543285.207 0, 920667.14 543280.529 0, 920965.03 543275.891 0, 921265.842 543271.225 0, 921565.193 543266.6 0, 921864.544 543261.992 0, 922163.896 543257.402 0, 922463.248 543252.83 0,
+ 922762.6 543248.275 0, 923061.953 543243.737 0, 923361.305 543239.218 0, 923660.658 543234.716 0, 923960.012 543230.231 0, 924259.365 543225.765 0, 924558.719 543221.316 0, 924858.073 543216.884 0, 925157.428 543212.47 0, 925456.782 543208.074 0,
+ 925756.137 543203.695 0, 926055.492 543199.334 0, 926354.848 543194.991 0, 926654.203 543190.665 0, 926953.559 543186.357 0, 927252.915 543182.066 0, 927552.272 543177.793 0, 927851.628 543173.538 0, 928149.525 543169.321 0, 928070.981 537609.368 0,
+ 927992.441 532049.799 0))
+
+POLYGON ((942518.932 542986.628 0, 942221.022 542990.003 0, 941921.655 542993.413 0, 941622.287 542996.84 0, 941322.92 543000.285 0, 941023.553 543003.747 0, 940724.187 543007.228 0, 940424.82 543010.725 0, 940125.454 543014.24 0, 939826.088 543017.773 0,
+ 939526.722 543021.324 0, 939227.356 543024.892 0, 938927.991 543028.478 0, 938628.626 543032.081 0, 938329.261 543035.702 0, 938029.896 543039.341 0, 937730.532 543042.997 0, 937431.167 543046.671 0, 937131.803 543050.362 0, 936832.439 543054.072 0,
+ 936533.075 543057.798 0, 936233.712 543061.543 0, 935934.349 543065.305 0, 935634.986 543069.084 0, 935334.164 543072.9 0, 935036.26 543076.696 0, 934736.898 543080.529 0, 934437.536 543084.379 0, 934138.174 543088.246 0, 933838.812 543092.132 0,
+ 933539.451 543096.035 0, 933240.09 543099.955 0, 932940.729 543103.893 0, 932641.368 543107.849 0, 932342.007 543111.823 0, 932042.647 543115.814 0, 931743.287 543119.822 0, 931443.927 543123.848 0, 931144.568 543127.892 0, 930845.208 543131.954 0,
+ 930545.849 543136.033 0, 930246.49 543140.13 0, 929947.132 543144.244 0, 929647.773 543148.376 0, 929348.415 543152.526 0, 929049.057 543156.693 0, 928749.7 543160.878 0, 928450.342 543165.08 0, 928149.525 543169.321 0, 928228.075 548729.654 0,
+ 928306.631 554290.365 0, 928606.79 554286.133 0, 928905.493 554281.94 0, 929204.196 554277.764 0, 929502.899 554273.606 0, 929801.603 554269.466 0, 930100.307 554265.343 0, 930399.011 554261.238 0, 930697.715 554257.15 0, 930996.419 554253.08 0,
+ 931295.124 554249.027 0, 931593.829 554244.992 0, 931892.535 554240.974 0, 932191.24 554236.975 0, 932489.946 554232.992 0, 932788.652 554229.028 0, 933087.358 554225.08 0, 933386.064 554221.151 0, 933684.771 554217.239 0, 933983.478 554213.344 0,
+ 934282.185 554209.468 0, 934580.892 554205.608 0, 934879.6 554201.767 0, 935178.308 554197.943 0, 935475.56 554194.155 0, 935775.724 554190.347 0, 936074.432 554186.576 0, 936373.141 554182.822 0, 936671.85 554179.086 0, 936970.559 554175.368 0,
+ 937269.268 554171.667 0, 937567.978 554167.983 0, 937866.688 554164.317 0, 938165.398 554160.669 0, 938464.108 554157.038 0, 938762.818 554153.425 0, 939061.529 554149.83 0, 939360.24 554146.252 0, 939658.951 554142.691 0, 939957.662 554139.149 0,
+ 940256.373 554135.624 0, 940555.085 554132.116 0, 940853.797 554128.626 0, 941152.509 554125.153 0, 941451.221 554121.699 0, 941749.934 554118.261 0, 942048.646 554114.842 0, 942347.359 554111.44 0, 942644.618 554108.071 0, 942581.773 548547.161 0,
+ 942518.932 542986.628 0))
+
+POLYGON ((956983.063 553966.286 0, 956685.794 553968.814 0, 956387.072 553971.373 0, 956088.351 553973.948 0, 955789.63 553976.542 0, 955490.909 553979.153 0, 955192.189 553981.781 0, 954893.468 553984.427 0, 954594.748 553987.091 0, 954296.027 553989.772 0,
+ 953997.307 553992.471 0, 953698.587 553995.187 0, 953399.868 553997.921 0, 953101.148 554000.673 0, 952802.429 554003.442 0, 952503.709 554006.229 0, 952204.99 554009.033 0, 951906.271 554011.855 0, 951607.553 554014.695 0, 951308.834 554017.552 0,
+ 951010.116 554020.426 0, 950711.397 554023.319 0, 950412.679 554026.228 0, 950113.961 554029.156 0, 949813.79 554032.115 0, 949516.526 554035.063 0, 949217.809 554038.044 0, 948919.091 554041.041 0, 948620.374 554044.057 0, 948321.658 554047.089 0,
+ 948022.941 554050.14 0, 947724.224 554053.208 0, 947425.508 554056.294 0, 947126.792 554059.397 0, 946828.076 554062.518 0, 946529.36 554065.656 0, 946230.645 554068.812 0, 945931.929 554071.986 0, 945633.214 554075.177 0, 945334.499 554078.385 0,
+ 945035.784 554081.612 0, 944737.069 554084.856 0, 944438.355 554088.117 0, 944139.641 554091.396 0, 943840.927 554094.693 0, 943542.213 554098.007 0, 943243.499 554101.339 0, 942944.786 554104.688 0, 942644.618 554108.071 0, 942707.467 559669.356 0,
+ 942770.321 565231.012 0, 943069.831 565227.636 0, 943367.889 565224.294 0, 943665.948 565220.969 0, 943964.008 565217.663 0, 944262.067 565214.373 0, 944560.127 565211.101 0, 944858.186 565207.847 0, 945156.246 565204.61 0, 945454.307 565201.391 0,
+ 945752.367 565198.189 0, 946050.427 565195.005 0, 946348.488 565191.839 0, 946646.549 565188.69 0, 946944.61 565185.558 0, 947242.671 565182.444 0, 947540.733 565179.348 0, 947838.794 565176.269 0, 948136.856 565173.207 0, 948434.918 565170.164 0,
+ 948732.98 565167.137 0, 949031.043 565164.129 0, 949329.105 565161.138 0, 949627.168 565158.164 0, 949923.781 565155.222 0, 950223.294 565152.269 0, 950521.357 565149.348 0, 950819.421 565146.445 0, 951117.484 565143.559 0, 951415.548 565140.691 0,
+ 951713.612 565137.84 0, 952011.676 565135.007 0, 952309.74 565132.191 0, 952607.805 565129.393 0, 952905.869 565126.612 0, 953203.934 565123.849 0, 953501.999 565121.103 0, 953800.064 565118.375 0, 954098.129 565115.665 0, 954396.194 565112.972 0,
+ 954694.26 565110.297 0, 954992.326 565107.639 0, 955290.392 565104.998 0, 955588.458 565102.376 0, 955886.524 565099.77 0, 956184.59 565097.183 0, 956482.657 565094.613 0, 956780.723 565092.06 0, 957077.341 565089.537 0, 957030.2 559527.726 0,
+ 956983.063 553966.286 0))
+
+POLYGON ((971384.704 564988.483 0, 971088.078 564990.168 0, 970790.005 564991.879 0, 970491.932 564993.607 0, 970193.86 564995.352 0, 969895.788 564997.115 0, 969597.715 564998.896 0, 969299.643 565000.694 0, 969001.571 565002.51 0, 968703.499 565004.343 0,
+ 968405.428 565006.194 0, 968107.356 565008.062 0, 967809.284 565009.948 0, 967511.213 565011.852 0, 967213.142 565013.773 0, 966915.07 565015.711 0, 966616.999 565017.667 0, 966318.928 565019.641 0, 966020.857 565021.632 0, 965722.786 565023.641 0,
+ 965424.716 565025.667 0, 965126.645 565027.711 0, 964828.575 565029.772 0, 964530.505 565031.851 0, 964230.987 565033.958 0, 963934.364 565036.062 0, 963636.294 565038.193 0, 963338.225 565040.342 0, 963040.155 565042.509 0, 962742.085 565044.693 0,
+ 962444.016 565046.895 0, 962145.947 565049.114 0, 961847.878 565051.351 0, 961549.809 565053.605 0, 961251.74 565055.877 0, 960953.671 565058.166 0, 960655.602 565060.473 0, 960357.534 565062.798 0, 960059.466 565065.14 0, 959761.397 565067.499 0,
+ 959463.329 565069.876 0, 959165.261 565072.271 0, 958867.194 565074.683 0, 958569.126 565077.113 0, 958271.058 565079.56 0, 957972.991 565082.025 0, 957674.924 565084.508 0, 957376.857 565087.008 0, 957077.341 565089.537 0, 957124.485 570651.717 0,
+ 957171.631 576214.26 0, 957470.489 576211.736 0, 957767.902 576209.242 0, 958065.314 576206.765 0, 958362.727 576204.305 0, 958660.139 576201.863 0, 958957.552 576199.439 0, 959254.965 576197.032 0, 959552.378 576194.643 0, 959849.792 576192.271 0,
+ 960147.205 576189.916 0, 960444.619 576187.579 0, 960742.032 576185.26 0, 961039.446 576182.958 0, 961336.86 576180.674 0, 961634.274 576178.407 0, 961931.688 576176.157 0, 962229.103 576173.926 0, 962526.517 576171.711 0, 962823.932 576169.514 0,
+ 963121.347 576167.335 0, 963418.762 576165.173 0, 963716.177 576163.029 0, 964013.592 576160.902 0, 964309.562 576158.803 0, 964608.422 576156.701 0, 964905.838 576154.626 0, 965203.253 576152.57 0, 965500.669 576150.53 0, 965798.085 576148.509 0,
+ 966095.501 576146.504 0, 966392.917 576144.517 0, 966690.333 576142.548 0, 966987.75 576140.596 0, 967285.166 576138.662 0, 967582.583 576136.745 0, 967879.999 576134.846 0, 968177.416 576132.964 0, 968474.833 576131.1 0, 968772.25 576129.253 0,
+ 969069.667 576127.424 0, 969367.084 576125.612 0, 969664.502 576123.818 0, 969961.919 576122.041 0, 970259.337 576120.282 0, 970556.754 576118.54 0, 970854.172 576116.816 0, 971151.59 576115.109 0, 971447.564 576113.428 0, 971416.133 570550.773 0,
+ 971384.704 564988.483 0))
+
+POLYGON ((985723.725 576052.929 0, 985427.745 576053.774 0, 985130.323 576054.64 0, 984832.902 576055.524 0, 984535.481 576056.426 0, 984238.059 576057.344 0, 983940.638 576058.281 0, 983643.217 576059.235 0, 983345.796 576060.206 0, 983048.375 576061.195 0,
+ 982750.954 576062.202 0, 982453.533 576063.226 0, 982156.112 576064.267 0, 981858.691 576065.326 0, 981561.27 576066.403 0, 981263.849 576067.497 0, 980966.429 576068.608 0, 980669.008 576069.737 0, 980371.588 576070.884 0, 980074.167 576072.048 0,
+ 979776.747 576073.23 0, 979479.326 576074.429 0, 979181.906 576075.645 0, 978884.486 576076.879 0, 978585.623 576078.137 0, 978289.646 576079.4 0, 977992.226 576080.687 0, 977694.806 576081.991 0, 977397.386 576083.312 0, 977099.966 576084.651 0,
+ 976802.547 576086.008 0, 976505.127 576087.382 0, 976207.708 576088.774 0, 975910.288 576090.183 0, 975612.869 576091.609 0, 975315.45 576093.053 0, 975018.031 576094.515 0, 974720.612 576095.994 0, 974423.193 576097.491 0, 974125.774 576099.005 0,
+ 973828.355 576100.537 0, 973530.936 576102.086 0, 973233.518 576103.653 0, 972936.099 576105.237 0, 972638.681 576106.838 0, 972341.262 576108.458 0, 972043.844 576110.094 0, 971746.426 576111.748 0, 971447.564 576113.428 0, 971478.998 581676.445 0,
+ 971510.433 587239.82 0, 971808.637 587238.143 0, 972105.4 587236.493 0, 972402.163 587234.86 0, 972698.927 587233.244 0, 972995.69 587231.646 0, 973292.454 587230.065 0, 973589.218 587228.502 0, 973885.982 587226.956 0, 974182.746 587225.428 0,
+ 974479.51 587223.917 0, 974776.274 587222.424 0, 975073.038 587220.948 0, 975369.802 587219.49 0, 975666.566 587218.049 0, 975963.331 587216.625 0, 976260.095 587215.219 0, 976556.86 587213.831 0, 976853.625 587212.46 0, 977150.389 587211.106 0,
+ 977447.154 587209.77 0, 977743.919 587208.451 0, 978040.684 587207.15 0, 978337.449 587205.866 0, 978632.775 587204.606 0, 978930.98 587203.351 0, 979227.745 587202.12 0, 979524.51 587200.906 0, 979821.276 587199.709 0, 980118.041 587198.53 0,
+ 980414.807 587197.369 0, 980711.573 587196.225 0, 981008.338 587195.098 0, 981305.104 587193.989 0, 981601.87 587192.898 0, 981898.636 587191.824 0, 982195.402 587190.767 0, 982492.168 587189.728 0, 982788.934 587188.706 0, 983085.7 587187.702 0,
+ 983382.466 587186.715 0, 983679.232 587185.746 0, 983975.999 587184.794 0, 984272.765 587183.859 0, 984569.532 587182.942 0, 984866.298 587182.043 0, 985163.065 587181.161 0, 985459.831 587180.296 0, 985755.16 587179.453 0, 985739.442 581616.012 0,
+ 985723.725 576052.929 0))
+
+POLYGON ((1000000 587159.331 0, 999704.668 587159.34 0, 999407.9 587159.366 0, 999111.132 587159.409 0, 998814.364 587159.471 0, 998517.597 587159.549 0, 998220.829 587159.645 0, 997924.061 587159.758 0, 997627.293 587159.889 0, 997330.525 587160.038 0,
+ 997033.758 587160.204 0, 996736.99 587160.387 0, 996440.222 587160.588 0, 996143.454 587160.806 0, 995846.686 587161.042 0, 995549.919 587161.295 0, 995253.151 587161.566 0, 994956.383 587161.854 0, 994659.616 587162.159 0, 994362.848 587162.482 0,
+ 994066.08 587162.823 0, 993769.313 587163.181 0, 993472.545 587163.556 0, 993175.777 587163.949 0, 992877.573 587164.362 0, 992582.242 587164.788 0, 992285.475 587165.233 0, 991988.707 587165.696 0, 991691.94 587166.176 0, 991395.172 587166.674 0,
+ 991098.405 587167.189 0, 990801.638 587167.721 0, 990504.87 587168.272 0, 990208.103 587168.839 0, 989911.336 587169.424 0, 989614.568 587170.027 0, 989317.801 587170.647 0, 989021.034 587171.284 0, 988724.267 587171.939 0, 988427.5 587172.612 0,
+ 988130.733 587173.301 0, 987833.966 587174.009 0, 987537.199 587174.734 0, 987240.432 587175.476 0, 986943.665 587176.236 0, 986646.898 587177.013 0, 986350.131 587177.808 0, 986053.365 587178.62 0, 985755.16 587179.453 0, 985770.879 592743.25 0,
+ 985786.598 598307.399 0, 986084.145 598306.567 0, 986380.257 598305.756 0, 986676.369 598304.963 0, 986972.48 598304.188 0, 987268.592 598303.43 0, 987564.704 598302.689 0, 987860.816 598301.966 0, 988156.928 598301.26 0, 988453.04 598300.572 0,
+ 988749.153 598299.901 0, 989045.265 598299.248 0, 989341.377 598298.611 0, 989637.489 598297.993 0, 989933.601 598297.392 0, 990229.714 598296.808 0, 990525.826 598296.242 0, 990821.938 598295.693 0, 991118.051 598295.161 0, 991414.163 598294.647 0,
+ 991710.276 598294.15 0, 992006.388 598293.671 0, 992302.501 598293.209 0, 992598.613 598292.765 0, 992893.292 598292.34 0, 993190.839 598291.929 0, 993486.951 598291.537 0, 993783.064 598291.162 0, 994079.176 598290.805 0, 994375.289 598290.465 0,
+ 994671.402 598290.143 0, 994967.515 598289.838 0, 995263.627 598289.55 0, 995559.74 598289.28 0, 995855.853 598289.028 0, 996151.966 598288.792 0, 996448.078 598288.575 0, 996744.191 598288.374 0, 997040.304 598288.191 0, 997336.417 598288.026 0,
+ 997632.53 598287.878 0, 997928.643 598287.747 0, 998224.755 598287.634 0, 998520.868 598287.538 0, 998816.981 598287.46 0, 999113.094 598287.399 0, 999409.207 598287.355 0, 999705.32 598287.329 0, 1000000 598287.321 0, 1000000 592723.15 0,
+ 1000000 587159.331 0))
+
+POLYGON ((1014213.402 598307.399 0, 1013918.72 598306.575 0, 1013622.609 598305.764 0, 1013326.497 598304.971 0, 1013030.385 598304.195 0, 1012734.273 598303.437 0, 1012438.161 598302.696 0, 1012142.049 598301.973 0, 1011845.937 598301.267 0, 1011549.825 598300.578 0,
+ 1011253.713 598299.907 0, 1010957.601 598299.254 0, 1010661.488 598298.618 0, 1010365.376 598297.999 0, 1010069.264 598297.397 0, 1009773.152 598296.813 0, 1009477.039 598296.247 0, 1009180.927 598295.698 0, 1008884.815 598295.166 0, 1008588.702 598294.652 0,
+ 1008292.59 598294.155 0, 1007996.477 598293.676 0, 1007700.365 598293.214 0, 1007404.252 598292.769 0, 1007106.708 598292.34 0, 1006812.027 598291.933 0, 1006515.914 598291.54 0, 1006219.802 598291.166 0, 1005923.689 598290.808 0, 1005627.576 598290.468 0,
+ 1005331.464 598290.146 0, 1005035.351 598289.841 0, 1004739.238 598289.553 0, 1004443.125 598289.283 0, 1004147.013 598289.03 0, 1003850.9 598288.795 0, 1003554.787 598288.577 0, 1003258.674 598288.376 0, 1002962.561 598288.193 0, 1002666.449 598288.027 0,
+ 1002370.336 598287.879 0, 1002074.223 598287.748 0, 1001778.11 598287.635 0, 1001481.997 598287.539 0, 1001185.884 598287.461 0, 1000889.771 598287.399 0, 1000593.658 598287.356 0, 1000297.546 598287.33 0, 1000000 598287.321 0, 1000000 603851.84 0,
+ 1000000 609416.705 0, 1000296.887 609416.714 0, 1000592.345 609416.74 0, 1000887.803 609416.784 0, 1001183.261 609416.845 0, 1001478.719 609416.923 0, 1001774.176 609417.019 0, 1002069.634 609417.132 0, 1002365.092 609417.262 0, 1002660.55 609417.41 0,
+ 1002956.008 609417.576 0, 1003251.465 609417.758 0, 1003546.923 609417.958 0, 1003842.381 609418.176 0, 1004137.839 609418.411 0, 1004433.296 609418.663 0, 1004728.754 609418.933 0, 1005024.212 609419.22 0, 1005319.669 609419.524 0, 1005615.127 609419.846 0,
+ 1005910.585 609420.185 0, 1006206.042 609420.542 0, 1006501.5 609420.915 0, 1006796.958 609421.307 0, 1007090.987 609421.714 0, 1007387.873 609422.142 0, 1007683.33 609422.585 0, 1007978.788 609423.046 0, 1008274.245 609423.524 0, 1008569.702 609424.02 0,
+ 1008865.16 609424.533 0, 1009160.617 609425.064 0, 1009456.074 609425.612 0, 1009751.532 609426.177 0, 1010046.989 609426.76 0, 1010342.446 609427.36 0, 1010637.903 609427.977 0, 1010933.361 609428.612 0, 1011228.818 609429.264 0, 1011524.275 609429.934 0,
+ 1011819.732 609430.621 0, 1012115.189 609431.325 0, 1012410.646 609432.047 0, 1012706.103 609432.786 0, 1013001.559 609433.543 0, 1013297.016 609434.316 0, 1013592.473 609435.108 0, 1013887.93 609435.917 0, 1014181.959 609436.739 0, 1014197.681 603871.896 0,
+ 1014213.402 598307.399 0))
+
+POLYGON ((1028363.805 609496.838 0, 1028069.777 609495.186 0, 1027774.324 609493.542 0, 1027478.87 609491.916 0, 1027183.417 609490.308 0, 1026887.963 609488.716 0, 1026592.51 609487.142 0, 1026297.056 609485.586 0, 1026001.602 609484.047 0, 1025706.148 609482.525 0,
+ 1025410.694 609481.021 0, 1025115.24 609479.534 0, 1024819.786 609478.064 0, 1024524.332 609476.612 0, 1024228.877 609475.177 0, 1023933.423 609473.76 0, 1023637.968 609472.36 0, 1023342.514 609470.977 0, 1023047.059 609469.612 0, 1022751.604 609468.264 0,
+ 1022456.15 609466.934 0, 1022160.695 609465.621 0, 1021865.24 609464.325 0, 1021569.785 609463.047 0, 1021272.903 609461.78 0, 1020978.874 609460.543 0, 1020683.419 609459.317 0, 1020387.964 609458.108 0, 1020092.508 609456.917 0, 1019797.053 609455.743 0,
+ 1019501.597 609454.586 0, 1019206.141 609453.447 0, 1018910.686 609452.325 0, 1018615.23 609451.221 0, 1018319.774 609450.134 0, 1018024.318 609449.065 0, 1017728.862 609448.012 0, 1017433.406 609446.978 0, 1017137.95 609445.96 0, 1016842.494 609444.96 0,
+ 1016547.038 609443.978 0, 1016251.582 609443.012 0, 1015956.125 609442.064 0, 1015660.669 609441.134 0, 1015365.213 609440.221 0, 1015069.756 609439.325 0, 1014774.3 609438.447 0, 1014478.843 609437.586 0, 1014181.959 609436.739 0, 1014166.236 615001.924 0,
+ 1014150.513 620567.448 0, 1014446.738 620568.293 0, 1014741.54 620569.152 0, 1015036.341 620570.029 0, 1015331.143 620570.922 0, 1015625.944 620571.833 0, 1015920.745 620572.762 0, 1016215.546 620573.707 0, 1016510.347 620574.67 0, 1016805.148 620575.651 0,
+ 1017099.949 620576.649 0, 1017394.75 620577.664 0, 1017689.551 620578.696 0, 1017984.352 620579.746 0, 1018279.153 620580.813 0, 1018573.954 620581.898 0, 1018868.754 620583 0, 1019163.555 620584.119 0, 1019458.355 620585.256 0, 1019753.156 620586.41 0,
+ 1020047.956 620587.581 0, 1020342.756 620588.77 0, 1020637.557 620589.976 0, 1020932.357 620591.199 0, 1021225.734 620592.434 0, 1021521.957 620593.698 0, 1021816.757 620594.973 0, 1022111.557 620596.266 0, 1022406.356 620597.576 0, 1022701.156 620598.904 0,
+ 1022995.956 620600.248 0, 1023290.755 620601.611 0, 1023585.555 620602.99 0, 1023880.354 620604.387 0, 1024175.153 620605.801 0, 1024469.953 620607.233 0, 1024764.752 620608.682 0, 1025059.551 620610.148 0, 1025354.35 620611.632 0, 1025649.149 620613.133 0,
+ 1025943.947 620614.651 0, 1026238.746 620616.187 0, 1026533.545 620617.74 0, 1026828.343 620619.31 0, 1027123.142 620620.898 0, 1027417.94 620622.503 0, 1027712.738 620624.125 0, 1028007.536 620625.765 0, 1028300.913 620627.414 0, 1028332.36 615061.957 0,
+ 1028363.805 609496.838 0))
+
+POLYGON ((1042451.086 620727.358 0, 1042157.714 620724.88 0, 1041862.921 620722.407 0, 1041568.129 620719.952 0, 1041273.336 620717.514 0, 1040978.544 620715.094 0, 1040683.751 620712.69 0, 1040388.958 620710.304 0, 1040094.165 620707.936 0, 1039799.371 620705.585 0,
+ 1039504.578 620703.251 0, 1039209.784 620700.934 0, 1038914.99 620698.635 0, 1038620.197 620696.353 0, 1038325.403 620694.089 0, 1038030.608 620691.842 0, 1037735.814 620689.612 0, 1037441.02 620687.4 0, 1037146.225 620685.205 0, 1036851.431 620683.027 0,
+ 1036556.636 620680.867 0, 1036261.841 620678.724 0, 1035967.046 620676.598 0, 1035672.251 620674.49 0, 1035376.035 620672.389 0, 1035082.66 620670.325 0, 1034787.865 620668.269 0, 1034493.069 620666.23 0, 1034198.273 620664.209 0, 1033903.477 620662.205 0,
+ 1033608.681 620660.218 0, 1033313.885 620658.248 0, 1033019.089 620656.296 0, 1032724.293 620654.361 0, 1032429.496 620652.444 0, 1032134.7 620650.544 0, 1031839.903 620648.661 0, 1031545.106 620646.796 0, 1031250.309 620644.948 0, 1030955.512 620643.117 0,
+ 1030660.715 620641.304 0, 1030365.918 620639.508 0, 1030071.12 620637.729 0, 1029776.323 620635.968 0, 1029481.526 620634.224 0, 1029186.728 620632.498 0, 1028891.93 620630.789 0, 1028597.132 620629.097 0, 1028300.913 620627.414 0, 1028269.463 626193.207 0,
+ 1028238.012 631759.333 0, 1028533.574 631761.011 0, 1028827.716 631762.7 0, 1029121.859 631764.405 0, 1029416.001 631766.128 0, 1029710.144 631767.868 0, 1030004.286 631769.625 0, 1030298.428 631771.4 0, 1030592.57 631773.192 0, 1030886.712 631775.001 0,
+ 1031180.854 631776.827 0, 1031474.996 631778.671 0, 1031769.137 631780.533 0, 1032063.279 631782.411 0, 1032357.42 631784.307 0, 1032651.561 631786.22 0, 1032945.702 631788.151 0, 1033239.843 631790.098 0, 1033533.984 631792.063 0, 1033828.125 631794.046 0,
+ 1034122.266 631796.046 0, 1034416.406 631798.063 0, 1034710.547 631800.097 0, 1035004.687 631802.149 0, 1035297.41 631804.207 0, 1035592.967 631806.304 0, 1035887.107 631808.407 0, 1036181.247 631810.528 0, 1036475.387 631812.666 0, 1036769.527 631814.822 0,
+ 1037063.666 631816.995 0, 1037357.805 631819.185 0, 1037651.945 631821.392 0, 1037946.084 631823.617 0, 1038240.223 631825.859 0, 1038534.361 631828.119 0, 1038828.5 631830.395 0, 1039122.639 631832.689 0, 1039416.777 631835.001 0, 1039710.915 631837.329 0,
+ 1040005.053 631839.675 0, 1040299.191 631842.039 0, 1040593.329 631844.419 0, 1040887.467 631846.817 0, 1041181.604 631849.232 0, 1041475.742 631851.665 0, 1041769.879 631854.115 0, 1042064.016 631856.582 0, 1042356.737 631859.054 0, 1042403.913 626293.04 0,
+ 1042451.086 620727.358 0))
+
+POLYGON ((1056475.123 631998.664 0, 1056182.409 631995.364 0, 1055888.28 631992.066 0, 1055594.15 631988.785 0, 1055300.021 631985.522 0, 1055005.891 631982.275 0, 1054711.762 631979.047 0, 1054417.632 631975.835 0, 1054123.502 631972.641 0, 1053829.371 631969.464 0,
+ 1053535.241 631966.304 0, 1053241.11 631963.162 0, 1052946.979 631960.037 0, 1052652.848 631956.929 0, 1052358.717 631953.839 0, 1052064.585 631950.766 0, 1051770.454 631947.71 0, 1051476.322 631944.671 0, 1051182.19 631941.65 0, 1050888.058 631938.647 0,
+ 1050593.926 631935.66 0, 1050299.793 631932.691 0, 1050005.66 631929.739 0, 1049711.528 631926.804 0, 1049415.979 631923.873 0, 1049123.261 631920.987 0, 1048829.128 631918.104 0, 1048534.995 631915.239 0, 1048240.861 631912.391 0, 1047946.727 631909.56 0,
+ 1047652.593 631906.747 0, 1047358.459 631903.951 0, 1047064.324 631901.172 0, 1046770.19 631898.411 0, 1046476.055 631895.667 0, 1046181.92 631892.94 0, 1045887.785 631890.23 0, 1045593.65 631887.538 0, 1045299.515 631884.863 0, 1045005.379 631882.206 0,
+ 1044711.244 631879.565 0, 1044417.108 631876.942 0, 1044122.972 631874.337 0, 1043828.836 631871.748 0, 1043534.7 631869.177 0, 1043240.563 631866.624 0, 1042946.427 631864.087 0, 1042652.29 631861.568 0, 1042356.737 631859.054 0, 1042309.558 637425.398 0,
+ 1042262.376 642992.067 0, 1042557.271 642994.575 0, 1042850.752 642997.089 0, 1043144.234 642999.619 0, 1043437.715 643002.168 0, 1043731.196 643004.733 0, 1044024.677 643007.315 0, 1044318.157 643009.915 0, 1044611.638 643012.532 0, 1044905.118 643015.167 0,
+ 1045198.598 643017.818 0, 1045492.078 643020.487 0, 1045785.558 643023.174 0, 1046079.038 643025.877 0, 1046372.518 643028.598 0, 1046665.997 643031.336 0, 1046959.476 643034.091 0, 1047252.955 643036.864 0, 1047546.434 643039.654 0, 1047839.913 643042.461 0,
+ 1048133.392 643045.285 0, 1048426.87 643048.127 0, 1048720.348 643050.986 0, 1049013.826 643053.862 0, 1049305.892 643056.741 0, 1049600.782 643059.666 0, 1049894.26 643062.594 0, 1050187.737 643065.54 0, 1050481.214 643068.502 0, 1050774.691 643071.482 0,
+ 1051068.168 643074.479 0, 1051361.645 643077.494 0, 1051655.122 643080.525 0, 1051948.598 643083.574 0, 1052242.074 643086.64 0, 1052535.55 643089.724 0, 1052829.026 643092.825 0, 1053122.502 643095.943 0, 1053415.977 643099.078 0, 1053709.452 643102.231 0,
+ 1054002.927 643105.4 0, 1054296.402 643108.588 0, 1054589.877 643111.792 0, 1054883.351 643115.014 0, 1055176.826 643118.253 0, 1055470.3 643121.509 0, 1055763.774 643124.782 0, 1056057.248 643128.073 0, 1056349.31 643131.365 0, 1056412.219 637564.852 0,
+ 1056475.123 631998.664 0))
+
+POLYGON ((1070435.794 643310.461 0, 1070143.74 643306.344 0, 1069850.277 643302.224 0, 1069556.813 643298.121 0, 1069263.349 643294.036 0, 1068969.885 643289.968 0, 1068676.421 643285.917 0, 1068382.957 643281.884 0, 1068089.492 643277.867 0, 1067796.027 643273.868 0,
+ 1067502.562 643269.887 0, 1067209.096 643265.922 0, 1066915.631 643261.975 0, 1066622.165 643258.045 0, 1066328.699 643254.133 0, 1066035.233 643250.237 0, 1065741.766 643246.359 0, 1065448.299 643242.498 0, 1065154.832 643238.655 0, 1064861.365 643234.829 0,
+ 1064567.897 643231.02 0, 1064274.43 643227.228 0, 1063980.962 643223.454 0, 1063687.494 643219.696 0, 1063392.616 643215.939 0, 1063100.557 643212.234 0, 1062807.088 643208.529 0, 1062513.619 643204.841 0, 1062220.15 643201.17 0, 1061926.68 643197.516 0,
+ 1061633.211 643193.88 0, 1061339.741 643190.261 0, 1061046.271 643186.659 0, 1060752.8 643183.075 0, 1060459.33 643179.508 0, 1060165.859 643175.958 0, 1059872.388 643172.425 0, 1059578.917 643168.91 0, 1059285.446 643165.412 0, 1058991.974 643161.931 0,
+ 1058698.502 643158.468 0, 1058405.03 643155.021 0, 1058111.558 643151.592 0, 1057818.086 643148.181 0, 1057524.613 643144.786 0, 1057231.141 643141.409 0, 1056937.668 643138.049 0, 1056644.194 643134.707 0, 1056349.31 643131.365 0, 1056286.398 648698.202 0,
+ 1056223.482 654265.357 0, 1056517.708 654268.691 0, 1056810.526 654272.026 0, 1057103.344 654275.378 0, 1057396.161 654278.748 0, 1057688.978 654282.135 0, 1057981.795 654285.539 0, 1058274.612 654288.96 0, 1058567.429 654292.399 0, 1058860.245 654295.855 0,
+ 1059153.062 654299.328 0, 1059445.878 654302.818 0, 1059738.693 654306.325 0, 1060031.509 654309.85 0, 1060324.324 654313.392 0, 1060617.14 654316.951 0, 1060909.955 654320.528 0, 1061202.769 654324.121 0, 1061495.584 654327.732 0, 1061788.398 654331.36 0,
+ 1062081.212 654335.006 0, 1062374.026 654338.668 0, 1062666.84 654342.348 0, 1062959.653 654346.045 0, 1063251.06 654349.741 0, 1063545.28 654353.491 0, 1063838.093 654357.24 0, 1064130.905 654361.006 0, 1064423.718 654364.789 0, 1064716.53 654368.589 0,
+ 1065009.342 654372.407 0, 1065302.153 654376.242 0, 1065594.965 654380.094 0, 1065887.776 654383.964 0, 1066180.587 654387.85 0, 1066473.398 654391.754 0, 1066766.209 654395.675 0, 1067059.019 654399.614 0, 1067351.829 654403.569 0, 1067644.639 654407.542 0,
+ 1067937.449 654411.532 0, 1068230.258 654415.539 0, 1068523.067 654419.564 0, 1068815.876 654423.606 0, 1069108.685 654427.664 0, 1069401.493 654431.741 0, 1069694.301 654435.834 0, 1069987.109 654439.945 0, 1070278.512 654444.053 0, 1070357.155 648877.097 0,
+ 1070435.794 643310.461 0))
+
+POLYGON ((1084332.98 654662.456 0, 1084041.588 654657.525 0, 1083748.793 654652.587 0, 1083455.997 654647.666 0, 1083163.202 654642.763 0, 1082870.406 654637.877 0, 1082577.609 654633.008 0, 1082284.813 654628.156 0, 1081992.016 654623.321 0, 1081699.219 654618.504 0,
+ 1081406.421 654613.704 0, 1081113.623 654608.921 0, 1080820.825 654604.156 0, 1080528.027 654599.407 0, 1080235.228 654594.676 0, 1079942.429 654589.962 0, 1079649.63 654585.266 0, 1079356.831 654580.586 0, 1079064.031 654575.924 0, 1078771.231 654571.279 0,
+ 1078478.431 654566.651 0, 1078185.63 654562.041 0, 1077892.83 654557.448 0, 1077600.029 654552.872 0, 1077305.823 654548.291 0, 1077014.426 654543.771 0, 1076721.624 654539.247 0, 1076428.822 654534.74 0, 1076136.019 654530.25 0, 1075843.217 654525.778 0,
+ 1075550.414 654521.322 0, 1075257.61 654516.884 0, 1074964.807 654512.463 0, 1074672.003 654508.06 0, 1074379.199 654503.673 0, 1074086.395 654499.304 0, 1073793.591 654494.952 0, 1073500.786 654490.617 0, 1073207.981 654486.3 0, 1072915.176 654482 0,
+ 1072622.37 654477.717 0, 1072329.564 654473.451 0, 1072036.758 654469.202 0, 1071743.952 654464.971 0, 1071451.146 654460.757 0, 1071158.339 654456.56 0, 1070865.532 654452.38 0, 1070572.725 654448.218 0, 1070278.512 654444.053 0, 1070199.864 660011.324 0,
+ 1070121.211 665578.908 0, 1070414.765 665583.064 0, 1070706.917 665587.217 0, 1070999.069 665591.387 0, 1071291.22 665595.574 0, 1071583.371 665599.779 0, 1071875.522 665604.001 0, 1072167.673 665608.24 0, 1072459.823 665612.496 0, 1072751.973 665616.77 0,
+ 1073044.123 665621.06 0, 1073336.273 665625.368 0, 1073628.422 665629.693 0, 1073920.571 665634.035 0, 1074212.72 665638.395 0, 1074504.869 665642.771 0, 1074797.017 665647.165 0, 1075089.165 665651.576 0, 1075381.313 665656.004 0, 1075673.461 665660.45 0,
+ 1075965.608 665664.912 0, 1076257.755 665669.392 0, 1076549.902 665673.889 0, 1076842.048 665678.403 0, 1077132.793 665682.913 0, 1077426.341 665687.483 0, 1077718.486 665692.049 0, 1078010.632 665696.632 0, 1078302.777 665701.232 0, 1078594.922 665705.849 0,
+ 1078887.066 665710.484 0, 1079179.211 665715.136 0, 1079471.355 665719.805 0, 1079763.499 665724.491 0, 1080055.642 665729.194 0, 1080347.785 665733.915 0, 1080639.928 665738.652 0, 1080932.071 665743.407 0, 1081224.213 665748.179 0, 1081516.356 665752.969 0,
+ 1081808.497 665757.775 0, 1082100.639 665762.599 0, 1082392.78 665767.44 0, 1082684.921 665772.298 0, 1082977.062 665777.173 0, 1083269.202 665782.065 0, 1083561.343 665786.975 0, 1083853.482 665791.902 0, 1084144.222 665796.822 0, 1084238.604 660229.483 0,
+ 1084332.98 654662.456 0))
+
+POLYGON ((1098166.561 666054.353 0, 1097875.834 666048.612 0, 1097583.71 666042.859 0, 1097291.585 666037.124 0, 1096999.459 666031.407 0, 1096707.333 666025.706 0, 1096415.207 666020.023 0, 1096123.081 666014.356 0, 1095830.954 666008.707 0, 1095538.827 666003.076 0,
+ 1095246.7 665997.461 0, 1094954.572 665991.864 0, 1094662.444 665986.283 0, 1094370.315 665980.72 0, 1094078.187 665975.174 0, 1093786.058 665969.646 0, 1093493.928 665964.134 0, 1093201.798 665958.64 0, 1092909.668 665953.163 0, 1092617.538 665947.703 0,
+ 1092325.407 665942.26 0, 1092033.276 665936.835 0, 1091741.145 665931.427 0, 1091449.013 665926.035 0, 1091155.483 665920.636 0, 1090864.749 665915.305 0, 1090572.617 665909.965 0, 1090280.484 665904.643 0, 1089988.35 665899.338 0, 1089696.217 665894.05 0,
+ 1089404.083 665888.779 0, 1089111.949 665883.526 0, 1088819.814 665878.289 0, 1088527.68 665873.07 0, 1088235.545 665867.868 0, 1087943.409 665862.683 0, 1087651.274 665857.516 0, 1087359.138 665852.365 0, 1087067.001 665847.232 0, 1086774.865 665842.116 0,
+ 1086482.728 665837.017 0, 1086190.591 665831.936 0, 1085898.453 665826.871 0, 1085606.315 665821.824 0, 1085314.177 665816.794 0, 1085022.039 665811.781 0, 1084729.9 665806.786 0, 1084437.761 665801.807 0, 1084144.222 665796.822 0, 1084049.835 671364.471 0,
+ 1083955.443 676932.425 0, 1084248.324 676937.399 0, 1084539.807 676942.366 0, 1084831.291 676947.35 0, 1085122.773 676952.352 0, 1085414.256 676957.371 0, 1085705.739 676962.407 0, 1085997.221 676967.46 0, 1086288.702 676972.53 0, 1086580.184 676977.617 0,
+ 1086871.665 676982.722 0, 1087163.146 676987.843 0, 1087454.626 676992.982 0, 1087746.107 676998.138 0, 1088037.587 677003.311 0, 1088329.066 677008.502 0, 1088620.546 677013.709 0, 1088912.025 677018.934 0, 1089203.504 677024.175 0, 1089494.982 677029.434 0,
+ 1089786.46 677034.71 0, 1090077.938 677040.004 0, 1090369.415 677045.314 0, 1090660.893 677050.642 0, 1090950.974 677055.961 0, 1091243.846 677061.348 0, 1091535.322 677066.727 0, 1091826.798 677072.123 0, 1092118.274 677077.537 0, 1092409.749 677082.967 0,
+ 1092701.224 677088.415 0, 1092992.699 677093.88 0, 1093284.173 677099.362 0, 1093575.647 677104.861 0, 1093867.121 677110.377 0, 1094158.594 677115.91 0, 1094450.067 677121.461 0, 1094741.54 677127.029 0, 1095033.012 677132.613 0, 1095324.484 677138.215 0,
+ 1095615.956 677143.835 0, 1095907.427 677149.471 0, 1096198.898 677155.125 0, 1096490.369 677160.795 0, 1096781.839 677166.483 0, 1097073.309 677172.188 0, 1097364.779 677177.91 0, 1097656.248 677183.649 0, 1097946.323 677189.378 0, 1098056.445 671621.713 0,
+ 1098166.561 666054.353 0))
+
+POLYGON ((1111936.421 677485.857 0, 1111646.362 677479.309 0, 1111354.91 677472.746 0, 1111063.457 677466.201 0, 1110772.005 677459.672 0, 1110480.551 677453.161 0, 1110189.098 677446.667 0, 1109897.644 677440.19 0, 1109606.19 677433.73 0, 1109314.735 677427.287 0,
+ 1109023.28 677420.862 0, 1108731.825 677414.454 0, 1108440.369 677408.063 0, 1108148.913 677401.689 0, 1107857.456 677395.332 0, 1107565.999 677388.992 0, 1107274.542 677382.669 0, 1106983.084 677376.364 0, 1106691.626 677370.076 0, 1106400.168 677363.805 0,
+ 1106108.709 677357.551 0, 1105817.25 677351.314 0, 1105525.79 677345.094 0, 1105234.33 677338.892 0, 1104941.477 677332.677 0, 1104651.41 677326.538 0, 1104359.949 677320.387 0, 1104068.487 677314.254 0, 1103777.026 677308.137 0, 1103485.563 677302.037 0,
+ 1103194.101 677295.955 0, 1102902.638 677289.89 0, 1102611.175 677283.842 0, 1102319.712 677277.811 0, 1102028.248 677271.797 0, 1101736.784 677265.8 0, 1101445.319 677259.821 0, 1101153.854 677253.859 0, 1100862.389 677247.914 0, 1100570.923 677241.986 0,
+ 1100279.457 677236.075 0, 1099987.991 677230.181 0, 1099696.525 677224.305 0, 1099405.058 677218.445 0, 1099113.59 677212.603 0, 1098822.123 677206.778 0, 1098530.655 677200.97 0, 1098239.186 677195.179 0, 1097946.323 677189.378 0, 1097836.195 682757.346 0,
+ 1097726.061 688325.612 0, 1098018.265 688331.401 0, 1098309.078 688337.178 0, 1098599.891 688342.973 0, 1098890.703 688348.785 0, 1099181.515 688354.614 0, 1099472.327 688360.46 0, 1099763.138 688366.324 0, 1100053.949 688372.204 0, 1100344.759 688378.102 0,
+ 1100635.569 688384.016 0, 1100926.379 688389.948 0, 1101217.188 688395.897 0, 1101507.997 688401.863 0, 1101798.806 688407.846 0, 1102089.615 688413.846 0, 1102380.423 688419.864 0, 1102671.23 688425.898 0, 1102962.038 688431.95 0, 1103252.845 688438.018 0,
+ 1103543.651 688444.104 0, 1103834.457 688450.207 0, 1104125.263 688456.327 0, 1104416.069 688462.464 0, 1104705.484 688468.589 0, 1104997.679 688474.79 0, 1105288.483 688480.978 0, 1105579.287 688487.184 0, 1105870.091 688493.407 0, 1106160.894 688499.647 0,
+ 1106451.697 688505.904 0, 1106742.5 688512.178 0, 1107033.302 688518.469 0, 1107324.104 688524.777 0, 1107614.906 688531.103 0, 1107905.707 688537.445 0, 1108196.508 688543.805 0, 1108487.308 688550.182 0, 1108778.108 688556.576 0, 1109068.908 688562.987 0,
+ 1109359.707 688569.415 0, 1109650.506 688575.86 0, 1109941.304 688582.322 0, 1110232.102 688588.802 0, 1110522.9 688595.299 0, 1110813.697 688601.812 0, 1111104.494 688608.343 0, 1111395.291 688614.891 0, 1111684.698 688621.425 0, 1111810.563 683053.491 0,
+ 1111936.421 677485.857 0))
+
+POLYGON ((1125642.444 688956.671 0, 1125353.054 688949.32 0, 1125062.277 688941.951 0, 1124771.5 688934.598 0, 1124480.722 688927.263 0, 1124189.944 688919.945 0, 1123899.165 688912.644 0, 1123608.386 688905.36 0, 1123317.607 688898.093 0, 1123026.827 688890.844 0,
+ 1122736.046 688883.611 0, 1122445.265 688876.396 0, 1122154.484 688869.197 0, 1121863.703 688862.016 0, 1121572.921 688854.852 0, 1121282.138 688847.705 0, 1120991.355 688840.575 0, 1120700.572 688833.462 0, 1120409.788 688826.367 0, 1120119.004 688819.288 0,
+ 1119828.22 688812.227 0, 1119537.435 688805.182 0, 1119246.649 688798.155 0, 1118955.863 688791.145 0, 1118663.689 688784.119 0, 1118374.291 688777.176 0, 1118083.503 688770.218 0, 1117792.716 688763.276 0, 1117501.928 688756.352 0, 1117211.14 688749.444 0,
+ 1116920.351 688742.554 0, 1116629.562 688735.681 0, 1116338.773 688728.825 0, 1116047.983 688721.986 0, 1115757.193 688715.164 0, 1115466.402 688708.359 0, 1115175.611 688701.572 0, 1114884.819 688694.801 0, 1114594.027 688688.048 0, 1114303.235 688681.312 0,
+ 1114012.443 688674.593 0, 1113721.649 688667.891 0, 1113430.856 688661.206 0, 1113140.062 688654.538 0, 1112849.268 688647.888 0, 1112558.473 688641.254 0, 1112267.678 688634.638 0, 1111976.883 688628.038 0, 1111684.698 688621.425 0, 1111558.826 694189.653 0,
+ 1111432.948 699758.174 0, 1111724.474 699764.773 0, 1112014.614 699771.357 0, 1112304.754 699777.959 0, 1112594.893 699784.578 0, 1112885.032 699791.213 0, 1113175.17 699797.866 0, 1113465.308 699804.536 0, 1113755.446 699811.223 0, 1114045.583 699817.927 0,
+ 1114335.72 699824.648 0, 1114625.856 699831.386 0, 1114915.992 699838.141 0, 1115206.128 699844.913 0, 1115496.263 699851.703 0, 1115786.398 699858.509 0, 1116076.532 699865.332 0, 1116366.666 699872.173 0, 1116656.8 699879.031 0, 1116946.933 699885.905 0,
+ 1117237.066 699892.797 0, 1117527.198 699899.706 0, 1117817.33 699906.632 0, 1118107.462 699913.575 0, 1118396.208 699920.502 0, 1118687.723 699927.512 0, 1118977.854 699934.507 0, 1119267.984 699941.518 0, 1119558.113 699948.546 0, 1119848.242 699955.592 0,
+ 1120138.371 699962.654 0, 1120428.499 699969.734 0, 1120718.627 699976.831 0, 1121008.755 699983.945 0, 1121298.882 699991.075 0, 1121589.008 699998.223 0, 1121879.134 700005.388 0, 1122169.26 700012.571 0, 1122459.385 700019.77 0, 1122749.51 700026.986 0,
+ 1123039.635 700034.219 0, 1123329.759 700041.47 0, 1123619.882 700048.737 0, 1123910.006 700056.022 0, 1124200.128 700063.323 0, 1124490.251 700070.642 0, 1124780.373 700077.978 0, 1125070.494 700085.331 0, 1125359.231 700092.665 0, 1125500.841 694524.522 0,
+ 1125642.444 688956.671 0))
+
+POLYGON ((1139284.514 700466.5 0, 1138995.797 700458.349 0, 1138705.697 700450.177 0, 1138415.597 700442.021 0, 1138125.496 700433.883 0, 1137835.395 700425.762 0, 1137545.294 700417.657 0, 1137255.192 700409.57 0, 1136965.09 700401.5 0, 1136674.987 700393.447 0,
+ 1136384.883 700385.411 0, 1136094.78 700377.393 0, 1135804.675 700369.391 0, 1135514.571 700361.406 0, 1135224.465 700353.439 0, 1134934.36 700345.488 0, 1134644.253 700337.555 0, 1134354.147 700329.638 0, 1134064.04 700321.739 0, 1133773.932 700313.857 0,
+ 1133483.824 700305.992 0, 1133193.716 700298.144 0, 1132903.607 700290.313 0, 1132613.497 700282.499 0, 1132322.005 700274.665 0, 1132033.277 700266.922 0, 1131743.166 700259.159 0, 1131453.055 700251.414 0, 1131162.943 700243.685 0, 1130872.831 700235.974 0,
+ 1130582.718 700228.28 0, 1130292.605 700220.602 0, 1130002.492 700212.942 0, 1129712.378 700205.299 0, 1129422.264 700197.673 0, 1129132.149 700190.064 0, 1128842.033 700182.472 0, 1128551.918 700174.897 0, 1128261.801 700167.339 0, 1127971.685 700159.799 0,
+ 1127681.568 700152.275 0, 1127391.45 700144.768 0, 1127101.332 700137.279 0, 1126811.214 700129.807 0, 1126521.095 700122.351 0, 1126230.976 700114.913 0, 1125940.856 700107.492 0, 1125650.736 700100.088 0, 1125359.231 700092.665 0, 1125217.614 705661.097 0,
+ 1125075.99 711229.814 0, 1125366.835 711237.22 0, 1125656.3 711244.607 0, 1125945.764 711252.011 0, 1126235.228 711259.433 0, 1126524.691 711266.871 0, 1126814.154 711274.327 0, 1127103.617 711281.799 0, 1127393.079 711289.289 0, 1127682.54 711296.796 0,
+ 1127972.002 711304.319 0, 1128261.462 711311.86 0, 1128550.923 711319.418 0, 1128840.382 711326.993 0, 1129129.842 711334.584 0, 1129419.301 711342.193 0, 1129708.759 711349.819 0, 1129998.217 711357.462 0, 1130287.675 711365.122 0, 1130577.132 711372.799 0,
+ 1130866.589 711380.493 0, 1131156.045 711388.204 0, 1131445.501 711395.932 0, 1131734.956 711403.677 0, 1132023.031 711411.402 0, 1132313.865 711419.219 0, 1132603.319 711427.015 0, 1132892.772 711434.828 0, 1133182.225 711442.658 0, 1133471.678 711450.506 0,
+ 1133761.13 711458.37 0, 1134050.582 711466.252 0, 1134340.033 711474.15 0, 1134629.484 711482.066 0, 1134918.934 711489.998 0, 1135208.384 711497.948 0, 1135497.833 711505.914 0, 1135787.282 711513.898 0, 1136076.73 711521.899 0, 1136366.178 711529.916 0,
+ 1136655.625 711537.951 0, 1136945.072 711546.003 0, 1137234.519 711554.072 0, 1137523.965 711562.158 0, 1137813.41 711570.261 0, 1138102.855 711578.381 0, 1138392.3 711586.518 0, 1138681.744 711594.672 0, 1138969.809 711602.804 0, 1139127.166 706034.509 0,
+ 1139284.514 700466.5 0))
+
+POLYGON ((1152862.52 712015.044 0, 1152574.476 712006.098 0, 1152285.056 711997.126 0, 1151995.636 711988.172 0, 1151706.215 711979.234 0, 1151416.793 711970.313 0, 1151127.371 711961.41 0, 1150837.949 711952.523 0, 1150548.526 711943.654 0, 1150259.102 711934.801 0,
+ 1149969.678 711925.966 0, 1149680.254 711917.148 0, 1149390.829 711908.346 0, 1149101.403 711899.562 0, 1148811.977 711890.795 0, 1148522.55 711882.044 0, 1148233.123 711873.311 0, 1147943.695 711864.595 0, 1147654.267 711855.896 0, 1147364.838 711847.214 0,
+ 1147075.409 711838.549 0, 1146785.979 711829.9 0, 1146496.549 711821.269 0, 1146207.118 711812.655 0, 1145916.31 711804.018 0, 1145628.255 711795.479 0, 1145338.823 711786.916 0, 1145049.39 711778.37 0, 1144759.957 711769.841 0, 1144470.523 711761.329 0,
+ 1144181.089 711752.835 0, 1143891.654 711744.357 0, 1143602.219 711735.896 0, 1143312.783 711727.453 0, 1143023.347 711719.026 0, 1142733.91 711710.617 0, 1142444.473 711702.224 0, 1142155.035 711693.849 0, 1141865.597 711685.49 0, 1141576.158 711677.149 0,
+ 1141286.719 711668.824 0, 1140997.279 711660.517 0, 1140707.839 711652.227 0, 1140418.398 711643.953 0, 1140128.957 711635.697 0, 1139839.515 711627.458 0, 1139550.073 711619.236 0, 1139260.631 711611.031 0, 1138969.809 711602.804 0, 1138812.445 717171.38 0,
+ 1138655.073 722740.235 0, 1138945.235 722748.443 0, 1139234.022 722756.63 0, 1139522.809 722764.833 0, 1139811.595 722773.054 0, 1140100.381 722781.292 0, 1140389.166 722789.546 0, 1140677.951 722797.818 0, 1140966.735 722806.106 0, 1141255.518 722814.412 0,
+ 1141544.302 722822.734 0, 1141833.084 722831.074 0, 1142121.867 722839.43 0, 1142410.648 722847.804 0, 1142699.43 722856.194 0, 1142988.21 722864.602 0, 1143276.991 722873.026 0, 1143565.77 722881.468 0, 1143854.55 722889.926 0, 1144143.328 722898.402 0,
+ 1144432.107 722906.894 0, 1144720.885 722915.404 0, 1145009.662 722923.93 0, 1145298.439 722932.474 0, 1145585.841 722940.993 0, 1145875.991 722949.612 0, 1146164.766 722958.206 0, 1146453.541 722966.818 0, 1146742.315 722975.446 0, 1147031.089 722984.091 0,
+ 1147319.862 722992.754 0, 1147608.634 723001.433 0, 1147897.407 723010.13 0, 1148186.178 723018.843 0, 1148474.95 723027.574 0, 1148763.72 723036.321 0, 1149052.49 723045.086 0, 1149341.26 723053.867 0, 1149630.029 723062.665 0, 1149918.798 723071.481 0,
+ 1150207.566 723080.313 0, 1150496.333 723089.163 0, 1150785.1 723098.029 0, 1151073.867 723106.913 0, 1151362.633 723115.813 0, 1151651.398 723124.73 0, 1151940.163 723133.665 0, 1152228.928 723142.616 0, 1152516.319 723151.542 0, 1152689.424 717583.154 0,
+ 1152862.52 712015.044 0))
+
+POLYGON ((1166376.348 723602.008 0, 1166088.981 723592.27 0, 1165800.243 723582.503 0, 1165511.504 723572.752 0, 1165222.765 723563.019 0, 1164934.025 723553.303 0, 1164645.285 723543.604 0, 1164356.544 723533.922 0, 1164067.803 723524.257 0, 1163779.061 723514.608 0,
+ 1163490.318 723504.977 0, 1163201.575 723495.363 0, 1162912.832 723485.766 0, 1162624.087 723476.185 0, 1162335.343 723466.622 0, 1162046.597 723457.076 0, 1161757.851 723447.547 0, 1161469.105 723438.034 0, 1161180.358 723428.539 0, 1160891.61 723419.061 0,
+ 1160602.862 723409.6 0, 1160314.113 723400.155 0, 1160025.364 723390.728 0, 1159736.614 723381.318 0, 1159446.492 723371.88 0, 1159159.113 723362.548 0, 1158870.362 723353.189 0, 1158581.609 723343.847 0, 1158292.857 723334.521 0, 1158004.104 723325.213 0,
+ 1157715.35 723315.922 0, 1157426.596 723306.648 0, 1157137.841 723297.39 0, 1156849.086 723288.15 0, 1156560.33 723278.927 0, 1156271.574 723269.72 0, 1155982.817 723260.531 0, 1155694.059 723251.359 0, 1155405.301 723242.203 0, 1155116.543 723233.065 0,
+ 1154827.783 723223.943 0, 1154539.024 723214.839 0, 1154250.264 723205.752 0, 1153961.503 723196.681 0, 1153672.742 723187.628 0, 1153383.98 723178.592 0, 1153095.218 723169.572 0, 1152806.455 723160.57 0, 1152516.319 723151.542 0, 1152343.206 728720.205 0,
+ 1152170.084 734289.139 0, 1152459.561 734298.147 0, 1152747.669 734307.129 0, 1153035.775 734316.127 0, 1153323.882 734325.143 0, 1153611.987 734334.176 0, 1153900.092 734343.226 0, 1154188.197 734352.293 0, 1154476.301 734361.376 0, 1154764.405 734370.477 0,
+ 1155052.508 734379.595 0, 1155340.61 734388.729 0, 1155628.712 734397.881 0, 1155916.814 734407.049 0, 1156204.914 734416.235 0, 1156493.015 734425.437 0, 1156781.115 734434.656 0, 1157069.214 734443.893 0, 1157357.313 734453.146 0, 1157645.411 734462.416 0,
+ 1157933.508 734471.703 0, 1158221.605 734481.007 0, 1158509.702 734490.328 0, 1158797.798 734499.666 0, 1159084.525 734508.977 0, 1159373.988 734518.393 0, 1159662.082 734527.782 0, 1159950.176 734537.188 0, 1160238.269 734546.611 0, 1160526.362 734556.051 0,
+ 1160814.454 734565.508 0, 1161102.546 734574.981 0, 1161390.637 734584.472 0, 1161678.727 734593.98 0, 1161966.817 734603.504 0, 1162254.906 734613.046 0, 1162542.995 734622.604 0, 1162831.083 734632.18 0, 1163119.171 734641.772 0, 1163407.258 734651.381 0,
+ 1163695.344 734661.008 0, 1163983.43 734670.651 0, 1164271.516 734680.311 0, 1164559.6 734689.988 0, 1164847.685 734699.682 0, 1165135.768 734709.393 0, 1165423.851 734719.122 0, 1165711.934 734728.867 0, 1165998.648 734738.582 0, 1166187.503 729170.159 0,
+ 1166376.348 723602.008 0))
+
+POLYGON ((1179825.888 735227.092 0, 1179539.2 735216.566 0, 1179251.146 735206.007 0, 1178963.092 735195.465 0, 1178675.037 735184.94 0, 1178386.981 735174.432 0, 1178098.925 735163.941 0, 1177810.868 735153.467 0, 1177522.81 735143.01 0, 1177234.752 735132.57 0,
+ 1176946.693 735122.147 0, 1176658.634 735111.74 0, 1176370.574 735101.351 0, 1176082.513 735090.979 0, 1175794.452 735080.623 0, 1175506.39 735070.285 0, 1175218.328 735059.963 0, 1174930.265 735049.659 0, 1174642.201 735039.371 0, 1174354.137 735029.101 0,
+ 1174066.072 735018.847 0, 1173778.007 735008.61 0, 1173489.941 734998.391 0, 1173201.874 734988.188 0, 1172912.441 734977.954 0, 1172625.739 734967.833 0, 1172337.671 734957.681 0, 1172049.602 734947.546 0, 1171761.532 734937.428 0, 1171473.462 734927.327 0,
+ 1171185.391 734917.243 0, 1170897.319 734907.176 0, 1170609.247 734897.126 0, 1170321.175 734887.092 0, 1170033.102 734877.076 0, 1169745.028 734867.077 0, 1169456.954 734857.094 0, 1169168.879 734847.129 0, 1168880.803 734837.181 0, 1168592.727 734827.249 0,
+ 1168304.65 734817.334 0, 1168016.573 734807.437 0, 1167728.495 734797.556 0, 1167440.417 734787.693 0, 1167152.338 734777.846 0, 1166864.258 734768.016 0, 1166576.178 734758.203 0, 1166288.097 734748.407 0, 1165998.648 734738.582 0, 1165809.785 740307.273 0,
+ 1165620.913 745876.228 0, 1165909.703 745886.031 0, 1166197.128 745895.805 0, 1166484.553 745905.595 0, 1166771.977 745915.403 0, 1167059.4 745925.227 0, 1167346.823 745935.068 0, 1167634.245 745944.926 0, 1167921.667 745954.801 0, 1168209.088 745964.693 0,
+ 1168496.509 745974.602 0, 1168783.929 745984.528 0, 1169071.348 745994.471 0, 1169358.767 746004.431 0, 1169646.185 746014.407 0, 1169933.603 746024.401 0, 1170221.02 746034.411 0, 1170508.437 746044.438 0, 1170795.853 746054.483 0, 1171083.268 746064.544 0,
+ 1171370.683 746074.622 0, 1171658.097 746084.717 0, 1171945.51 746094.829 0, 1172232.923 746104.958 0, 1172518.972 746115.055 0, 1172807.747 746125.266 0, 1173095.158 746135.446 0, 1173382.569 746145.642 0, 1173669.979 746155.855 0, 1173957.388 746166.086 0,
+ 1174244.797 746176.333 0, 1174532.205 746186.597 0, 1174819.613 746196.878 0, 1175107.019 746207.176 0, 1175394.426 746217.491 0, 1175681.831 746227.823 0, 1175969.237 746238.172 0, 1176256.641 746248.537 0, 1176544.045 746258.92 0, 1176831.448 746269.319 0,
+ 1177118.851 746279.736 0, 1177406.253 746290.169 0, 1177693.654 746300.619 0, 1177981.055 746311.087 0, 1178268.455 746321.571 0, 1178555.855 746332.072 0, 1178843.254 746342.59 0, 1179130.652 746353.124 0, 1179416.688 746363.626 0, 1179621.293 740795.227 0,
+ 1179825.888 735227.092 0))
+
+POLYGON ((1193211.031 746889.998 0, 1192925.024 746878.688 0, 1192637.657 746867.341 0, 1192350.288 746856.011 0, 1192062.92 746844.698 0, 1191775.55 746833.402 0, 1191488.18 746822.123 0, 1191200.809 746810.861 0, 1190913.438 746799.616 0, 1190626.066 746788.387 0,
+ 1190338.693 746777.176 0, 1190051.32 746765.982 0, 1189763.946 746754.804 0, 1189476.571 746743.643 0, 1189189.196 746732.5 0, 1188901.82 746721.373 0, 1188614.443 746710.263 0, 1188327.066 746699.17 0, 1188039.688 746688.094 0, 1187752.309 746677.034 0,
+ 1187464.93 746665.992 0, 1187177.55 746654.967 0, 1186890.169 746643.958 0, 1186602.788 746632.967 0, 1186314.046 746621.94 0, 1186028.024 746611.035 0, 1185740.64 746600.094 0, 1185453.257 746589.17 0, 1185165.872 746578.263 0, 1184878.487 746567.373 0,
+ 1184591.101 746556.5 0, 1184303.715 746545.644 0, 1184016.328 746534.804 0, 1183728.94 746523.982 0, 1183441.552 746513.176 0, 1183154.163 746502.388 0, 1182866.774 746491.616 0, 1182579.383 746480.862 0, 1182291.993 746470.124 0, 1182004.601 746459.403 0,
+ 1181717.209 746448.699 0, 1181429.816 746438.012 0, 1181142.423 746427.342 0, 1180855.029 746416.688 0, 1180567.634 746406.052 0, 1180280.239 746395.433 0, 1179992.843 746384.83 0, 1179705.447 746374.245 0, 1179416.688 746363.626 0, 1179212.074 751932.286 0,
+ 1179007.45 757501.204 0, 1179295.55 757511.798 0, 1179582.291 757522.36 0, 1179869.031 757532.938 0, 1180155.771 757543.533 0, 1180442.51 757554.145 0, 1180729.248 757564.774 0, 1181015.986 757575.42 0, 1181302.723 757586.083 0, 1181589.46 757596.762 0,
+ 1181876.196 757607.459 0, 1182162.931 757618.172 0, 1182449.666 757628.902 0, 1182736.4 757639.649 0, 1183023.133 757650.413 0, 1183309.866 757661.194 0, 1183596.598 757671.992 0, 1183883.33 757682.806 0, 1184170.061 757693.638 0, 1184456.791 757704.486 0,
+ 1184743.52 757715.351 0, 1185030.249 757726.233 0, 1185316.978 757737.132 0, 1185603.705 757748.048 0, 1185889.075 757758.929 0, 1186177.159 757769.93 0, 1186463.884 757780.897 0, 1186750.609 757791.88 0, 1187037.334 757802.88 0, 1187324.058 757813.897 0,
+ 1187610.781 757824.931 0, 1187897.503 757835.982 0, 1188184.225 757847.05 0, 1188470.946 757858.135 0, 1188757.667 757869.236 0, 1189044.387 757880.354 0, 1189331.106 757891.49 0, 1189617.825 757902.642 0, 1189904.542 757913.811 0, 1190191.26 757924.996 0,
+ 1190477.976 757936.199 0, 1190764.692 757947.419 0, 1191051.408 757958.655 0, 1191338.122 757969.909 0, 1191624.836 757981.179 0, 1191911.549 757992.466 0, 1192198.262 758003.77 0, 1192484.974 758015.091 0, 1192770.329 758026.375 0, 1192990.685 752458.057 0,
+ 1193211.031 746889.998 0))
+
+POLYGON ((1206531.669 758590.426 0, 1206246.345 758578.336 0, 1205959.666 758566.205 0, 1205672.987 758554.091 0, 1205386.307 758541.994 0, 1205099.626 758529.914 0, 1204812.944 758517.851 0, 1204526.262 758505.804 0, 1204239.579 758493.775 0, 1203952.895 758481.762 0,
+ 1203666.21 758469.766 0, 1203379.525 758457.787 0, 1203092.839 758445.825 0, 1202806.152 758433.88 0, 1202519.465 758421.951 0, 1202232.777 758410.04 0, 1201946.088 758398.145 0, 1201659.399 758386.268 0, 1201372.709 758374.407 0, 1201086.018 758362.563 0,
+ 1200799.327 758350.736 0, 1200512.634 758338.926 0, 1200225.941 758327.132 0, 1199939.248 758315.356 0, 1199651.198 758303.541 0, 1199365.859 758291.853 0, 1199079.163 758280.128 0, 1198792.466 758268.419 0, 1198505.769 758256.727 0, 1198219.072 758245.051 0,
+ 1197932.373 758233.393 0, 1197645.674 758221.752 0, 1197358.974 758210.127 0, 1197072.274 758198.519 0, 1196785.573 758186.928 0, 1196498.871 758175.354 0, 1196212.168 758163.797 0, 1195925.465 758152.257 0, 1195638.761 758140.734 0, 1195352.057 758129.227 0,
+ 1195065.351 758117.738 0, 1194778.645 758106.265 0, 1194491.939 758094.809 0, 1194205.232 758083.37 0, 1193918.524 758071.948 0, 1193631.815 758060.543 0, 1193345.106 758049.154 0, 1193058.396 758037.783 0, 1192770.329 758026.375 0, 1192549.962 763594.946 0,
+ 1192329.586 769163.767 0, 1192616.995 769175.149 0, 1192903.049 769186.495 0, 1193189.103 769197.857 0, 1193475.156 769209.236 0, 1193761.208 769220.632 0, 1194047.26 769232.045 0, 1194333.311 769243.475 0, 1194619.362 769254.921 0, 1194905.411 769266.384 0,
+ 1195191.46 769277.865 0, 1195477.509 769289.362 0, 1195763.556 769300.875 0, 1196049.603 769312.406 0, 1196335.65 769323.954 0, 1196621.695 769335.518 0, 1196907.74 769347.099 0, 1197193.785 769358.697 0, 1197479.828 769370.312 0, 1197765.871 769381.944 0,
+ 1198051.914 769393.592 0, 1198337.955 769405.258 0, 1198623.996 769416.94 0, 1198910.036 769428.639 0, 1199194.724 769440.299 0, 1199482.114 769452.087 0, 1199768.153 769463.837 0, 1200054.19 769475.603 0, 1200340.227 769487.387 0, 1200626.263 769499.187 0,
+ 1200912.298 769511.003 0, 1201198.333 769522.837 0, 1201484.367 769534.688 0, 1201770.4 769546.555 0, 1202056.433 769558.439 0, 1202342.464 769570.34 0, 1202628.496 769582.258 0, 1202914.526 769594.193 0, 1203200.556 769606.145 0, 1203486.585 769618.113 0,
+ 1203772.613 769630.098 0, 1204058.641 769642.1 0, 1204344.668 769654.119 0, 1204630.694 769666.155 0, 1204916.719 769678.207 0, 1205202.744 769690.277 0, 1205488.768 769702.363 0, 1205774.792 769714.466 0, 1206059.463 769726.529 0, 1206295.572 764158.352 0,
+ 1206531.669 758590.426 0))
+
+POLYGON ((1219787.696 770328.078 0, 1219503.057 770315.211 0, 1219217.069 770302.3 0, 1218931.08 770289.405 0, 1218645.091 770276.528 0, 1218359.1 770263.667 0, 1218073.109 770250.824 0, 1217787.118 770237.997 0, 1217501.125 770225.187 0, 1217215.132 770212.393 0,
+ 1216929.138 770199.617 0, 1216643.143 770186.857 0, 1216357.147 770174.115 0, 1216071.151 770161.389 0, 1215785.154 770148.68 0, 1215499.156 770135.987 0, 1215213.157 770123.312 0, 1214927.158 770110.653 0, 1214641.158 770098.011 0, 1214355.157 770085.387 0,
+ 1214069.155 770072.778 0, 1213783.153 770060.187 0, 1213497.15 770047.613 0, 1213211.146 770035.055 0, 1212923.792 770022.455 0, 1212639.137 770009.99 0, 1212353.131 769997.483 0, 1212067.124 769984.993 0, 1211781.116 769972.52 0, 1211495.108 769960.063 0,
+ 1211209.099 769947.623 0, 1210923.09 769935.2 0, 1210637.079 769922.794 0, 1210351.068 769910.405 0, 1210065.056 769898.033 0, 1209779.044 769885.677 0, 1209493.03 769873.338 0, 1209207.016 769861.016 0, 1208921.002 769848.711 0, 1208634.986 769836.423 0,
+ 1208348.97 769824.151 0, 1208062.953 769811.897 0, 1207776.935 769799.659 0, 1207490.917 769787.438 0, 1207204.898 769775.234 0, 1206918.878 769763.047 0, 1206632.858 769750.876 0, 1206346.836 769738.723 0, 1206059.463 769726.529 0, 1205823.345 775294.952 0,
+ 1205587.216 780863.618 0, 1205873.93 780875.784 0, 1206159.296 780887.91 0, 1206444.661 780900.052 0, 1206730.025 780912.212 0, 1207015.389 780924.388 0, 1207300.751 780936.581 0, 1207586.114 780948.79 0, 1207871.475 780961.017 0, 1208156.836 780973.26 0,
+ 1208442.196 780985.52 0, 1208727.555 780997.797 0, 1209012.913 781010.091 0, 1209298.271 781022.401 0, 1209583.628 781034.729 0, 1209868.985 781047.073 0, 1210154.34 781059.434 0, 1210439.695 781071.811 0, 1210725.049 781084.206 0, 1211010.403 781096.617 0,
+ 1211295.756 781109.045 0, 1211581.108 781121.49 0, 1211866.459 781133.952 0, 1212151.809 781146.43 0, 1212435.813 781158.866 0, 1212722.508 781171.437 0, 1213007.857 781183.966 0, 1213293.204 781196.512 0, 1213578.551 781209.074 0, 1213863.897 781221.653 0,
+ 1214149.242 781234.249 0, 1214434.587 781246.862 0, 1214719.931 781259.492 0, 1215005.274 781272.138 0, 1215290.616 781284.801 0, 1215575.958 781297.481 0, 1215861.299 781310.178 0, 1216146.639 781322.892 0, 1216431.979 781335.622 0, 1216717.317 781348.369 0,
+ 1217002.655 781361.133 0, 1217287.992 781373.914 0, 1217573.329 781386.711 0, 1217858.664 781399.526 0, 1218143.999 781412.357 0, 1218429.333 781425.205 0, 1218714.667 781438.069 0, 1218999.999 781450.951 0, 1219283.986 781463.788 0, 1219535.846 775895.812 0,
+ 1219787.696 770328.078 0))
+
+POLYGON ((1232979.005 782102.652 0, 1232695.054 782089.012 0, 1232409.759 782075.325 0, 1232124.463 782061.654 0, 1231839.167 782048 0, 1231553.869 782034.363 0, 1231268.571 782020.742 0, 1230983.272 782007.139 0, 1230697.972 781993.552 0, 1230412.671 781979.982 0,
+ 1230127.37 781966.429 0, 1229842.067 781952.892 0, 1229556.764 781939.373 0, 1229271.46 781925.87 0, 1228986.156 781912.384 0, 1228700.85 781898.914 0, 1228415.544 781885.462 0, 1228130.237 781872.026 0, 1227844.929 781858.607 0, 1227559.62 781845.205 0,
+ 1227274.311 781831.82 0, 1226989.001 781818.451 0, 1226703.69 781805.1 0, 1226418.378 781791.765 0, 1226131.721 781778.384 0, 1225847.752 781765.145 0, 1225562.438 781751.861 0, 1225277.123 781738.593 0, 1224991.807 781725.342 0, 1224706.491 781712.108 0,
+ 1224421.174 781698.89 0, 1224135.856 781685.69 0, 1223850.537 781672.506 0, 1223565.217 781659.339 0, 1223279.897 781646.189 0, 1222994.576 781633.055 0, 1222709.254 781619.939 0, 1222423.931 781606.839 0, 1222138.608 781593.756 0, 1221853.284 781580.69 0,
+ 1221567.959 781567.64 0, 1221282.633 781554.608 0, 1220997.306 781541.592 0, 1220711.979 781528.593 0, 1220426.651 781515.61 0, 1220141.322 781502.645 0, 1219855.993 781489.696 0, 1219570.662 781476.764 0, 1219283.986 781463.788 0, 1219032.114 787032.005 0,
+ 1218780.232 792600.457 0, 1219066.25 792613.403 0, 1219350.925 792626.305 0, 1219635.599 792639.224 0, 1219920.272 792652.16 0, 1220204.945 792665.112 0, 1220489.617 792678.081 0, 1220774.288 792691.067 0, 1221058.958 792704.07 0, 1221343.628 792717.09 0,
+ 1221628.296 792730.126 0, 1221912.964 792743.179 0, 1222197.632 792756.249 0, 1222482.298 792769.335 0, 1222766.964 792782.438 0, 1223051.629 792795.558 0, 1223336.293 792808.695 0, 1223620.956 792821.849 0, 1223905.619 792835.019 0, 1224190.28 792848.206 0,
+ 1224474.941 792861.41 0, 1224759.602 792874.63 0, 1225044.261 792887.867 0, 1225328.92 792901.121 0, 1225612.237 792914.33 0, 1225898.235 792927.68 0, 1226182.891 792940.984 0, 1226467.547 792954.305 0, 1226752.202 792967.643 0, 1227036.856 792980.997 0,
+ 1227321.509 792994.369 0, 1227606.161 793007.757 0, 1227890.813 793021.162 0, 1228175.464 793034.583 0, 1228460.114 793048.022 0, 1228744.763 793061.477 0, 1229029.411 793074.949 0, 1229314.059 793088.437 0, 1229598.706 793101.942 0, 1229883.352 793115.465 0,
+ 1230167.997 793129.003 0, 1230452.642 793142.559 0, 1230737.286 793156.131 0, 1231021.928 793169.721 0, 1231306.571 793183.326 0, 1231591.212 793196.949 0, 1231875.852 793210.588 0, 1232160.492 793224.245 0, 1232443.791 793237.853 0, 1232711.404 787670.135 0,
+ 1232979.005 782102.652 0))
+
+POLYGON ((1246105.494 793913.849 0, 1245822.233 793899.44 0, 1245537.633 793884.979 0, 1245253.032 793870.536 0, 1244968.43 793856.109 0, 1244683.828 793841.699 0, 1244399.224 793827.306 0, 1244114.62 793812.93 0, 1243830.015 793798.57 0, 1243545.409 793784.227 0,
+ 1243260.803 793769.901 0, 1242976.195 793755.591 0, 1242691.587 793741.298 0, 1242406.977 793727.022 0, 1242122.367 793712.763 0, 1241837.756 793698.521 0, 1241553.144 793684.295 0, 1241268.532 793670.086 0, 1240983.918 793655.894 0, 1240699.304 793641.718 0,
+ 1240414.689 793627.56 0, 1240130.073 793613.418 0, 1239845.456 793599.293 0, 1239560.839 793585.184 0, 1239274.881 793571.026 0, 1238991.601 793557.017 0, 1238706.981 793542.959 0, 1238422.36 793528.918 0, 1238137.738 793514.893 0, 1237853.115 793500.885 0,
+ 1237568.492 793486.894 0, 1237283.868 793472.92 0, 1236999.243 793458.962 0, 1236714.617 793445.021 0, 1236429.99 793431.097 0, 1236145.363 793417.189 0, 1235860.734 793403.299 0, 1235576.105 793389.425 0, 1235291.475 793375.568 0, 1235006.844 793361.727 0,
+ 1234722.213 793347.904 0, 1234437.58 793334.097 0, 1234152.947 793320.307 0, 1233868.313 793306.533 0, 1233583.678 793292.776 0, 1233299.043 793279.037 0, 1233014.406 793265.313 0, 1232729.769 793251.607 0, 1232443.791 793237.853 0, 1232176.167 798805.804 0,
+ 1231908.532 804373.983 0, 1232193.851 804387.705 0, 1232477.833 804401.38 0, 1232761.814 804415.072 0, 1233045.794 804428.78 0, 1233329.774 804442.505 0, 1233613.752 804456.246 0, 1233897.73 804470.005 0, 1234181.707 804483.78 0, 1234465.683 804497.572 0,
+ 1234749.658 804511.38 0, 1235033.633 804525.206 0, 1235317.607 804539.048 0, 1235601.58 804552.906 0, 1235885.552 804566.782 0, 1236169.523 804580.674 0, 1236453.493 804594.583 0, 1236737.463 804608.508 0, 1237021.432 804622.45 0, 1237305.4 804636.409 0,
+ 1237589.367 804650.385 0, 1237873.333 804664.377 0, 1238157.299 804678.387 0, 1238441.264 804692.412 0, 1238723.892 804706.389 0, 1239009.19 804720.514 0, 1239293.153 804734.59 0, 1239577.114 804748.683 0, 1239861.075 804762.792 0, 1240145.034 804776.918 0,
+ 1240428.993 804791.061 0, 1240712.951 804805.221 0, 1240996.909 804819.397 0, 1241280.865 804833.59 0, 1241564.821 804847.8 0, 1241848.775 804862.026 0, 1242132.729 804876.269 0, 1242416.682 804890.529 0, 1242700.634 804904.805 0, 1242984.586 804919.099 0,
+ 1243268.536 804933.409 0, 1243552.486 804947.735 0, 1243836.435 804962.079 0, 1244120.383 804976.439 0, 1244404.33 804990.815 0, 1244688.276 805005.209 0, 1244972.222 805019.619 0, 1245256.166 805034.046 0, 1245538.775 805048.422 0, 1245822.141 799481.021 0,
+ 1246105.494 793913.849 0))
+
+POLYGON ((1259167.06 805761.366 0, 1258884.49 805746.192 0, 1258600.587 805730.963 0, 1258316.684 805715.75 0, 1258032.779 805700.555 0, 1257748.874 805685.376 0, 1257464.968 805670.214 0, 1257181.06 805655.068 0, 1256897.152 805639.939 0, 1256613.243 805624.827 0,
+ 1256329.333 805609.732 0, 1256045.423 805594.653 0, 1255761.511 805579.591 0, 1255477.599 805564.546 0, 1255193.685 805549.517 0, 1254909.771 805534.505 0, 1254625.856 805519.51 0, 1254341.94 805504.532 0, 1254058.023 805489.57 0, 1253774.105 805474.625 0,
+ 1253490.186 805459.697 0, 1253206.267 805444.785 0, 1252922.346 805429.89 0, 1252638.425 805415.012 0, 1252353.169 805400.081 0, 1252070.58 805385.306 0, 1251786.656 805370.478 0, 1251502.731 805355.667 0, 1251218.805 805340.872 0, 1250934.879 805326.094 0,
+ 1250650.951 805311.333 0, 1250367.023 805296.589 0, 1250083.094 805281.861 0, 1249799.164 805267.15 0, 1249515.233 805252.456 0, 1249231.301 805237.778 0, 1248947.368 805223.117 0, 1248663.435 805208.473 0, 1248379.501 805193.845 0, 1248095.565 805179.235 0,
+ 1247811.629 805164.641 0, 1247527.692 805150.063 0, 1247243.755 805135.503 0, 1246959.816 805120.959 0, 1246675.877 805106.431 0, 1246391.936 805091.921 0, 1246107.995 805077.427 0, 1245824.053 805062.95 0, 1245538.775 805048.422 0, 1245255.399 810616.048 0,
+ 1244972.011 816183.895 0, 1245256.63 816198.39 0, 1245539.917 816212.833 0, 1245823.202 816227.294 0, 1246106.487 816241.771 0, 1246389.771 816256.264 0, 1246673.055 816270.775 0, 1246956.337 816285.302 0, 1247239.619 816299.845 0, 1247522.899 816314.406 0,
+ 1247806.179 816328.983 0, 1248089.458 816343.577 0, 1248372.736 816358.187 0, 1248656.013 816372.814 0, 1248939.29 816387.458 0, 1249222.565 816402.118 0, 1249505.84 816416.795 0, 1249789.114 816431.489 0, 1250072.387 816446.199 0, 1250355.659 816460.926 0,
+ 1250638.93 816475.67 0, 1250922.2 816490.431 0, 1251205.47 816505.208 0, 1251488.738 816520.002 0, 1251770.675 816534.742 0, 1252055.273 816549.639 0, 1252338.539 816564.483 0, 1252621.804 816579.344 0, 1252905.068 816594.221 0, 1253188.331 816609.114 0,
+ 1253471.594 816624.025 0, 1253754.855 816638.952 0, 1254038.116 816653.896 0, 1254321.376 816668.857 0, 1254604.635 816683.834 0, 1254887.893 816698.828 0, 1255171.15 816713.838 0, 1255454.406 816728.865 0, 1255737.662 816743.909 0, 1256020.916 816758.97 0,
+ 1256304.17 816774.047 0, 1256587.422 816789.141 0, 1256870.674 816804.251 0, 1257153.925 816819.379 0, 1257437.175 816834.523 0, 1257720.425 816849.683 0, 1258003.673 816864.86 0, 1258286.92 816880.054 0, 1258568.838 816895.193 0, 1258867.955 811328.169 0,
+ 1259167.06 805761.366 0))
+
+POLYGON ((1272163.601 817644.903 0, 1271881.725 817628.967 0, 1271598.522 817612.973 0, 1271315.317 817596.995 0, 1271032.112 817581.035 0, 1270748.906 817565.091 0, 1270465.699 817549.163 0, 1270182.491 817533.252 0, 1269899.282 817517.358 0, 1269616.072 817501.481 0,
+ 1269332.861 817485.62 0, 1269049.649 817469.776 0, 1268766.437 817453.949 0, 1268483.223 817438.138 0, 1268200.008 817422.344 0, 1267916.793 817406.567 0, 1267633.576 817390.806 0, 1267350.359 817375.062 0, 1267067.141 817359.334 0, 1266783.922 817343.624 0,
+ 1266500.701 817327.93 0, 1266217.48 817312.252 0, 1265934.258 817296.592 0, 1265651.036 817280.948 0, 1265366.484 817265.247 0, 1265084.587 817249.71 0, 1264801.361 817234.116 0, 1264518.135 817218.538 0, 1264234.907 817202.978 0, 1263951.679 817187.434 0,
+ 1263668.45 817171.906 0, 1263385.219 817156.396 0, 1263101.988 817140.902 0, 1262818.756 817125.424 0, 1262535.523 817109.964 0, 1262252.289 817094.52 0, 1261969.055 817079.092 0, 1261685.819 817063.682 0, 1261402.582 817048.288 0, 1261119.345 817032.91 0,
+ 1260836.106 817017.55 0, 1260552.867 817002.206 0, 1260269.627 816986.879 0, 1259986.386 816971.568 0, 1259703.144 816956.274 0, 1259419.901 816940.997 0, 1259136.657 816925.736 0, 1258853.412 816910.492 0, 1258568.838 816895.193 0, 1258269.709 822462.436 0,
+ 1257970.569 828029.892 0, 1258254.485 828045.155 0, 1258537.074 828060.364 0, 1258819.663 828075.589 0, 1259102.25 828090.831 0, 1259384.837 828106.089 0, 1259667.423 828121.364 0, 1259950.008 828136.656 0, 1260232.592 828151.965 0, 1260515.175 828167.29 0,
+ 1260797.757 828182.632 0, 1261080.338 828197.99 0, 1261362.918 828213.365 0, 1261645.498 828228.757 0, 1261928.076 828244.165 0, 1262210.654 828259.59 0, 1262493.231 828275.031 0, 1262775.807 828290.489 0, 1263058.381 828305.964 0, 1263340.955 828321.456 0,
+ 1263623.529 828336.964 0, 1263906.101 828352.488 0, 1264188.672 828368.03 0, 1264471.242 828383.587 0, 1264752.487 828399.089 0, 1265036.38 828414.753 0, 1265318.948 828430.361 0, 1265601.514 828445.986 0, 1265884.08 828461.627 0, 1266166.645 828477.284 0,
+ 1266449.209 828492.959 0, 1266731.772 828508.65 0, 1267014.334 828524.357 0, 1267296.895 828540.082 0, 1267579.455 828555.822 0, 1267862.015 828571.58 0, 1268144.573 828587.354 0, 1268427.13 828603.145 0, 1268709.687 828618.952 0, 1268992.242 828634.776 0,
+ 1269274.797 828650.617 0, 1269557.351 828666.474 0, 1269839.903 828682.348 0, 1270122.455 828698.239 0, 1270405.006 828714.146 0, 1270687.556 828730.07 0, 1270970.105 828746.01 0, 1271252.653 828761.967 0, 1271533.877 828777.866 0, 1271848.745 823211.277 0,
+ 1272163.601 817644.903 0))
+
+POLYGON ((1285095.017 829564.156 0, 1284813.837 829547.463 0, 1284531.336 829530.708 0, 1284248.833 829513.969 0, 1283966.329 829497.247 0, 1283683.824 829480.542 0, 1283401.318 829463.853 0, 1283118.811 829447.181 0, 1282836.304 829430.525 0, 1282553.795 829413.887 0,
+ 1282271.285 829397.264 0, 1281988.775 829380.659 0, 1281706.263 829364.07 0, 1281423.75 829347.497 0, 1281141.237 829330.942 0, 1280858.722 829314.402 0, 1280576.206 829297.88 0, 1280293.69 829281.374 0, 1280011.172 829264.885 0, 1279728.654 829248.412 0,
+ 1279446.134 829231.956 0, 1279163.614 829215.517 0, 1278881.093 829199.094 0, 1278598.57 829182.688 0, 1278314.724 829166.222 0, 1278033.523 829149.926 0, 1277750.997 829133.57 0, 1277468.471 829117.23 0, 1277185.944 829100.907 0, 1276903.416 829084.601 0,
+ 1276620.887 829068.311 0, 1276338.357 829052.038 0, 1276055.826 829035.782 0, 1275773.294 829019.542 0, 1275490.761 829003.319 0, 1275208.227 828987.112 0, 1274925.692 828970.923 0, 1274643.156 828954.749 0, 1274360.62 828938.593 0, 1274078.082 828922.453 0,
+ 1273795.543 828906.329 0, 1273513.004 828890.223 0, 1273230.463 828874.132 0, 1272947.922 828858.059 0, 1272665.379 828842.002 0, 1272382.836 828825.962 0, 1272100.292 828809.938 0, 1271817.746 828793.931 0, 1271533.877 828777.866 0, 1271218.997 834344.665 0,
+ 1270904.105 839911.671 0, 1271187.317 839927.699 0, 1271469.206 839943.669 0, 1271751.095 839959.655 0, 1272032.983 839975.658 0, 1272314.871 839991.678 0, 1272596.757 840007.714 0, 1272878.642 840023.767 0, 1273160.526 840039.836 0, 1273442.41 840055.922 0,
+ 1273724.292 840072.025 0, 1274006.173 840088.144 0, 1274288.054 840104.279 0, 1274569.933 840120.432 0, 1274851.812 840136.601 0, 1275133.69 840152.786 0, 1275415.566 840168.988 0, 1275697.442 840185.207 0, 1275979.317 840201.442 0, 1276261.191 840217.694 0,
+ 1276543.064 840233.963 0, 1276824.935 840250.248 0, 1277106.806 840266.55 0, 1277388.676 840282.868 0, 1277669.226 840299.126 0, 1277952.413 840315.554 0, 1278234.281 840331.922 0, 1278516.147 840348.307 0, 1278798.012 840364.708 0, 1279079.876 840381.126 0,
+ 1279361.739 840397.56 0, 1279643.602 840414.011 0, 1279925.463 840430.479 0, 1280207.323 840446.963 0, 1280489.183 840463.463 0, 1280771.041 840479.981 0, 1281052.898 840496.515 0, 1281334.755 840513.065 0, 1281616.61 840529.632 0, 1281898.465 840546.216 0,
+ 1282180.318 840562.816 0, 1282462.171 840579.433 0, 1282744.022 840596.067 0, 1283025.873 840612.717 0, 1283307.723 840629.383 0, 1283589.571 840646.067 0, 1283871.419 840662.766 0, 1284153.266 840679.483 0, 1284433.793 840696.137 0, 1284764.411 835130.044 0,
+ 1285095.017 829564.156 0))
+
+POLYGON ((1297961.211 841518.825 0, 1297680.729 841501.378 0, 1297398.931 841483.865 0, 1297117.132 841466.369 0, 1296835.331 841448.889 0, 1296553.53 841431.427 0, 1296271.727 841413.98 0, 1295989.924 841396.551 0, 1295708.119 841379.138 0, 1295426.314 841361.741 0,
+ 1295144.507 841344.361 0, 1294862.7 841326.998 0, 1294580.891 841309.651 0, 1294299.082 841292.321 0, 1294017.271 841275.007 0, 1293735.46 841257.71 0, 1293453.647 841240.43 0, 1293171.833 841223.166 0, 1292890.019 841205.919 0, 1292608.203 841188.688 0,
+ 1292326.386 841171.474 0, 1292044.569 841154.277 0, 1291762.75 841137.096 0, 1291480.93 841119.932 0, 1291197.792 841102.704 0, 1290917.288 841085.653 0, 1290635.465 841068.538 0, 1290353.641 841051.44 0, 1290071.816 841034.359 0, 1289789.991 841017.294 0,
+ 1289508.164 841000.246 0, 1289226.336 840983.215 0, 1288944.507 840966.2 0, 1288662.677 840949.201 0, 1288380.847 840932.219 0, 1288099.015 840915.254 0, 1287817.182 840898.306 0, 1287535.348 840881.374 0, 1287253.513 840864.458 0, 1286971.678 840847.559 0,
+ 1286689.841 840830.677 0, 1286408.003 840813.811 0, 1286126.164 840796.962 0, 1285844.325 840780.13 0, 1285562.484 840763.314 0, 1285280.642 840746.514 0, 1284998.8 840729.731 0, 1284716.956 840712.965 0, 1284433.793 840696.137 0, 1284103.163 846262.434 0,
+ 1283772.521 851828.93 0, 1284055.025 851845.719 0, 1284336.214 851862.446 0, 1284617.401 851879.19 0, 1284898.588 851895.95 0, 1285179.773 851912.727 0, 1285460.958 851929.52 0, 1285742.141 851946.33 0, 1286023.324 851963.157 0, 1286304.505 851980 0,
+ 1286585.686 851996.859 0, 1286866.865 852013.735 0, 1287148.044 852030.628 0, 1287429.221 852047.537 0, 1287710.398 852064.463 0, 1287991.574 852081.405 0, 1288272.748 852098.364 0, 1288553.922 852115.34 0, 1288835.094 852132.332 0, 1289116.266 852149.34 0,
+ 1289397.436 852166.365 0, 1289678.606 852183.407 0, 1289959.775 852200.465 0, 1290240.942 852217.54 0, 1290520.795 852234.551 0, 1290803.274 852251.739 0, 1291084.439 852268.863 0, 1291365.602 852286.004 0, 1291646.765 852303.162 0, 1291927.926 852320.336 0,
+ 1292209.087 852337.526 0, 1292490.246 852354.733 0, 1292771.405 852371.957 0, 1293052.562 852389.197 0, 1293333.719 852406.454 0, 1293614.874 852423.727 0, 1293896.028 852441.017 0, 1294177.182 852458.324 0, 1294458.334 852475.647 0, 1294739.486 852492.986 0,
+ 1295020.636 852510.342 0, 1295301.785 852527.715 0, 1295582.933 852545.104 0, 1295864.081 852562.51 0, 1296145.227 852579.932 0, 1296426.372 852597.371 0, 1296707.516 852614.826 0, 1296988.66 852632.298 0, 1297268.489 852649.705 0, 1297614.856 847084.165 0,
+ 1297961.211 841518.825 0))
+
+POLYGON ((1310762.084 853508.605 0, 1310482.303 853490.407 0, 1310201.21 853472.141 0, 1309920.117 853453.892 0, 1309639.022 853435.659 0, 1309357.926 853417.442 0, 1309076.829 853399.242 0, 1308795.731 853381.059 0, 1308514.632 853362.892 0, 1308233.532 853344.742 0,
+ 1307952.43 853326.608 0, 1307671.328 853308.491 0, 1307390.225 853290.39 0, 1307109.12 853272.306 0, 1306828.015 853254.239 0, 1306546.908 853236.188 0, 1306265.801 853218.153 0, 1305984.692 853200.135 0, 1305703.582 853182.134 0, 1305422.471 853164.149 0,
+ 1305141.36 853146.181 0, 1304860.247 853128.229 0, 1304579.133 853110.294 0, 1304298.018 853092.375 0, 1304015.59 853074.389 0, 1303735.784 853056.587 0, 1303454.666 853038.718 0, 1303173.547 853020.866 0, 1302892.427 853003.03 0, 1302611.305 852985.211 0,
+ 1302330.183 852967.408 0, 1302049.059 852949.622 0, 1301767.935 852931.852 0, 1301486.809 852914.099 0, 1301205.683 852896.362 0, 1300924.555 852878.642 0, 1300643.427 852860.938 0, 1300362.297 852843.251 0, 1300081.166 852825.581 0, 1299800.034 852807.927 0,
+ 1299518.902 852790.29 0, 1299237.768 852772.669 0, 1298956.633 852755.065 0, 1298675.497 852737.477 0, 1298394.36 852719.906 0, 1298113.222 852702.351 0, 1297832.083 852684.813 0, 1297550.943 852667.291 0, 1297268.489 852649.705 0, 1296922.11 858215.44 0,
+ 1296575.718 863781.366 0, 1296857.514 863798.912 0, 1297137.999 863816.393 0, 1297418.483 863833.89 0, 1297698.966 863851.404 0, 1297979.447 863868.934 0, 1298259.928 863886.481 0, 1298540.408 863904.044 0, 1298820.887 863921.623 0, 1299101.364 863939.22 0,
+ 1299381.841 863956.833 0, 1299662.316 863974.462 0, 1299942.791 863992.108 0, 1300223.265 864009.77 0, 1300503.737 864027.449 0, 1300784.208 864045.144 0, 1301064.679 864062.856 0, 1301345.148 864080.584 0, 1301625.616 864098.329 0, 1301906.084 864116.09 0,
+ 1302186.55 864133.868 0, 1302467.015 864151.662 0, 1302747.479 864169.473 0, 1303027.942 864187.301 0, 1303307.096 864205.061 0, 1303588.865 864223.005 0, 1303869.325 864240.882 0, 1304149.784 864258.775 0, 1304430.242 864276.685 0, 1304710.699 864294.612 0,
+ 1304991.154 864312.554 0, 1305271.609 864330.514 0, 1305552.062 864348.49 0, 1305832.515 864366.482 0, 1306112.966 864384.491 0, 1306393.417 864402.517 0, 1306673.866 864420.559 0, 1306954.314 864438.617 0, 1307234.762 864456.692 0, 1307515.208 864474.784 0,
+ 1307795.653 864492.892 0, 1308076.097 864511.016 0, 1308356.54 864529.157 0, 1308636.982 864547.315 0, 1308917.423 864565.489 0, 1309197.862 864583.679 0, 1309478.301 864601.886 0, 1309758.739 864620.11 0, 1310037.868 864638.265 0, 1310399.982 859073.339 0,
+ 1310762.084 853508.605 0))
+
+POLYGON ((1323497.542 865533.193 0, 1323218.463 865514.249 0, 1322938.078 865495.233 0, 1322657.692 865476.234 0, 1322377.305 865457.251 0, 1322096.917 865438.285 0, 1321816.527 865419.335 0, 1321536.137 865400.402 0, 1321255.745 865381.485 0, 1320975.352 865362.585 0,
+ 1320694.958 865343.701 0, 1320414.563 865324.834 0, 1320134.167 865305.983 0, 1319853.77 865287.149 0, 1319573.372 865268.332 0, 1319292.972 865249.53 0, 1319012.571 865230.746 0, 1318732.17 865211.977 0, 1318451.767 865193.226 0, 1318171.363 865174.491 0,
+ 1317890.958 865155.772 0, 1317610.552 865137.07 0, 1317330.145 865118.384 0, 1317049.737 865099.715 0, 1316768.021 865080.975 0, 1316488.917 865062.426 0, 1316208.505 865043.806 0, 1315928.092 865025.203 0, 1315647.679 865006.617 0, 1315367.264 864988.046 0,
+ 1315086.848 864969.493 0, 1314806.431 864950.956 0, 1314526.013 864932.435 0, 1314245.594 864913.931 0, 1313965.173 864895.443 0, 1313684.752 864876.972 0, 1313404.329 864858.518 0, 1313123.906 864840.079 0, 1312843.481 864821.658 0, 1312563.055 864803.253 0,
+ 1312282.629 864784.864 0, 1312002.201 864766.492 0, 1311721.772 864748.137 0, 1311441.342 864729.797 0, 1311160.91 864711.475 0, 1310880.478 864693.169 0, 1310600.045 864674.879 0, 1310319.611 864656.606 0, 1310037.868 864638.265 0, 1309675.741 870203.378 0,
+ 1309313.602 875768.676 0, 1309594.687 875786.975 0, 1309874.466 875805.205 0, 1310154.244 875823.452 0, 1310434.021 875841.715 0, 1310713.797 875859.995 0, 1310993.572 875878.291 0, 1311273.346 875896.604 0, 1311553.119 875914.933 0, 1311832.891 875933.279 0,
+ 1312112.662 875951.641 0, 1312392.431 875970.02 0, 1312672.2 875988.415 0, 1312951.967 876006.826 0, 1313231.733 876025.254 0, 1313511.499 876043.698 0, 1313791.263 876062.159 0, 1314071.026 876080.637 0, 1314350.788 876099.131 0, 1314630.549 876117.641 0,
+ 1314910.308 876136.168 0, 1315190.067 876154.711 0, 1315469.825 876173.271 0, 1315749.581 876191.847 0, 1316028.034 876210.353 0, 1316309.091 876229.048 0, 1316588.844 876247.674 0, 1316868.596 876266.316 0, 1317148.347 876284.974 0, 1317428.097 876303.649 0,
+ 1317707.846 876322.341 0, 1317987.594 876341.049 0, 1318267.341 876359.773 0, 1318547.086 876378.514 0, 1318826.831 876397.271 0, 1319106.574 876416.045 0, 1319386.316 876434.835 0, 1319666.057 876453.642 0, 1319945.797 876472.465 0, 1320225.536 876491.305 0,
+ 1320505.274 876510.161 0, 1320785.011 876529.033 0, 1321064.746 876547.922 0, 1321344.481 876566.828 0, 1321624.214 876585.75 0, 1321903.946 876604.688 0, 1322183.677 876623.643 0, 1322463.407 876642.614 0, 1322741.834 876661.513 0, 1323119.695 871097.261 0,
+ 1323497.542 865533.193 0))
+
+POLYGON ((1336167.49 877592.285 0, 1335889.116 877572.598 0, 1335609.44 877552.837 0, 1335329.764 877533.092 0, 1335050.086 877513.363 0, 1334770.408 877493.651 0, 1334490.728 877473.955 0, 1334211.047 877454.276 0, 1333931.364 877434.613 0, 1333651.681 877414.967 0,
+ 1333371.996 877395.337 0, 1333092.311 877375.724 0, 1332812.624 877356.127 0, 1332532.936 877336.546 0, 1332253.247 877316.982 0, 1331973.556 877297.435 0, 1331693.865 877277.904 0, 1331414.172 877258.389 0, 1331134.478 877238.891 0, 1330854.784 877219.409 0,
+ 1330575.087 877199.944 0, 1330295.39 877180.495 0, 1330015.692 877161.063 0, 1329735.992 877141.647 0, 1329454.991 877122.158 0, 1329176.59 877102.865 0, 1328896.887 877083.499 0, 1328617.183 877064.149 0, 1328337.478 877044.815 0, 1328057.771 877025.498 0,
+ 1327778.064 877006.197 0, 1327498.355 876986.913 0, 1327218.646 876967.646 0, 1326938.935 876948.394 0, 1326659.223 876929.16 0, 1326379.51 876909.941 0, 1326099.795 876890.74 0, 1325820.08 876871.554 0, 1325540.363 876852.385 0, 1325260.646 876833.233 0,
+ 1324980.927 876814.097 0, 1324701.207 876794.977 0, 1324421.486 876775.874 0, 1324141.764 876756.788 0, 1323862.041 876737.718 0, 1323582.316 876718.664 0, 1323302.591 876699.627 0, 1323022.864 876680.606 0, 1322741.834 876661.513 0, 1322363.962 882225.946 0,
+ 1321986.077 887790.556 0, 1322266.449 887809.604 0, 1322545.52 887828.58 0, 1322824.591 887847.572 0, 1323103.66 887866.581 0, 1323382.729 887885.607 0, 1323661.796 887904.649 0, 1323940.862 887923.707 0, 1324219.927 887942.782 0, 1324498.99 887961.873 0,
+ 1324778.053 887980.981 0, 1325057.115 888000.105 0, 1325336.175 888019.245 0, 1325615.234 888038.402 0, 1325894.292 888057.575 0, 1326173.349 888076.765 0, 1326452.405 888095.971 0, 1326731.46 888115.194 0, 1327010.514 888134.432 0, 1327289.566 888153.688 0,
+ 1327568.618 888172.96 0, 1327847.668 888192.248 0, 1328126.717 888211.553 0, 1328405.765 888230.874 0, 1328683.514 888250.121 0, 1328963.857 888269.565 0, 1329242.902 888288.936 0, 1329521.945 888308.322 0, 1329800.987 888327.726 0, 1330080.029 888347.145 0,
+ 1330359.069 888366.581 0, 1330638.107 888386.034 0, 1330917.145 888405.503 0, 1331196.182 888424.988 0, 1331475.217 888444.49 0, 1331754.251 888464.008 0, 1332033.284 888483.543 0, 1332312.316 888503.094 0, 1332591.347 888522.661 0, 1332870.377 888542.245 0,
+ 1333149.405 888561.845 0, 1333428.432 888581.462 0, 1333707.459 888601.095 0, 1333986.484 888620.745 0, 1334265.507 888640.411 0, 1334544.53 888660.093 0, 1334823.552 888679.792 0, 1335102.572 888699.507 0, 1335380.295 888719.147 0, 1335773.899 883155.628 0,
+ 1336167.49 877592.285 0))
+
+POLYGON ((1348771.835 889685.576 0, 1348494.167 889665.151 0, 1348215.204 889644.648 0, 1347936.239 889624.161 0, 1347657.273 889603.69 0, 1347378.306 889583.236 0, 1347099.337 889562.798 0, 1346820.368 889542.377 0, 1346541.397 889521.972 0, 1346262.425 889501.583 0,
+ 1345983.452 889481.211 0, 1345704.477 889460.856 0, 1345425.502 889440.516 0, 1345146.525 889420.193 0, 1344867.547 889399.887 0, 1344588.568 889379.597 0, 1344309.587 889359.323 0, 1344030.606 889339.066 0, 1343751.623 889318.826 0, 1343472.639 889298.601 0,
+ 1343193.654 889278.393 0, 1342914.668 889258.202 0, 1342635.68 889238.027 0, 1342356.692 889217.868 0, 1342076.406 889197.632 0, 1341798.711 889177.6 0, 1341519.718 889157.491 0, 1341240.725 889137.398 0, 1340961.73 889117.321 0, 1340682.735 889097.261 0,
+ 1340403.738 889077.217 0, 1340124.739 889057.19 0, 1339845.74 889037.179 0, 1339566.74 889017.185 0, 1339287.738 888997.207 0, 1339008.735 888977.245 0, 1338729.731 888957.3 0, 1338450.726 888937.371 0, 1338171.719 888917.459 0, 1337892.712 888897.563 0,
+ 1337613.703 888877.684 0, 1337334.693 888857.82 0, 1337055.682 888837.974 0, 1336776.67 888818.144 0, 1336497.657 888798.33 0, 1336218.642 888778.532 0, 1335939.626 888758.752 0, 1335660.609 888738.987 0, 1335380.295 888719.147 0, 1334986.679 894282.839 0,
+ 1334593.05 899846.701 0, 1334872.707 899866.494 0, 1335151.069 899886.212 0, 1335429.43 899905.947 0, 1335707.789 899925.697 0, 1335986.148 899945.465 0, 1336264.505 899965.248 0, 1336542.861 899985.048 0, 1336821.216 900004.865 0, 1337099.57 900024.698 0,
+ 1337377.923 900044.547 0, 1337656.274 900064.413 0, 1337934.624 900084.295 0, 1338212.973 900104.193 0, 1338491.321 900124.108 0, 1338769.668 900144.039 0, 1339048.014 900163.986 0, 1339326.358 900183.95 0, 1339604.701 900203.93 0, 1339883.044 900223.927 0,
+ 1340161.384 900243.94 0, 1340439.724 900263.969 0, 1340718.063 900284.015 0, 1340996.4 900304.077 0, 1341273.444 900324.063 0, 1341553.071 900344.251 0, 1341831.405 900364.362 0, 1342109.738 900384.49 0, 1342388.069 900404.634 0, 1342666.399 900424.795 0,
+ 1342944.729 900444.971 0, 1343223.056 900465.165 0, 1343501.383 900485.374 0, 1343779.709 900505.6 0, 1344058.033 900525.843 0, 1344336.356 900546.101 0, 1344614.678 900566.377 0, 1344892.999 900586.668 0, 1345171.318 900606.976 0, 1345449.637 900627.3 0,
+ 1345727.954 900647.641 0, 1346006.27 900667.998 0, 1346284.584 900688.371 0, 1346562.898 900708.761 0, 1346841.21 900729.167 0, 1347119.522 900749.59 0, 1347397.832 900770.029 0, 1347676.14 900790.484 0, 1347953.157 900810.861 0, 1348362.502 895248.134 0,
+ 1348771.835 889685.576 0))
+
+POLYGON ((1361310.486 901812.762 0, 1361033.526 901791.603 0, 1360755.276 901770.361 0, 1360477.025 901749.136 0, 1360198.773 901727.927 0, 1359920.519 901706.735 0, 1359642.264 901685.559 0, 1359364.008 901664.399 0, 1359085.751 901643.256 0, 1358807.492 901622.129 0,
+ 1358529.232 901601.019 0, 1358250.971 901579.924 0, 1357972.709 901558.847 0, 1357694.446 901537.785 0, 1357416.181 901516.74 0, 1357137.915 901495.712 0, 1356859.647 901474.7 0, 1356581.379 901453.704 0, 1356303.109 901432.724 0, 1356024.838 901411.761 0,
+ 1355746.566 901390.814 0, 1355468.293 901369.884 0, 1355190.018 901348.97 0, 1354911.742 901328.072 0, 1354632.175 901307.094 0, 1354355.187 901286.326 0, 1354076.907 901265.478 0, 1353798.626 901244.646 0, 1353520.344 901223.83 0, 1353242.061 901203.031 0,
+ 1352963.777 901182.248 0, 1352685.491 901161.481 0, 1352407.204 901140.731 0, 1352128.916 901119.997 0, 1351850.626 901099.28 0, 1351572.336 901078.579 0, 1351294.044 901057.894 0, 1351015.751 901037.226 0, 1350737.457 901016.574 0, 1350459.161 900995.939 0,
+ 1350180.865 900975.319 0, 1349902.567 900954.717 0, 1349624.268 900934.13 0, 1349345.967 900913.56 0, 1349067.666 900893.007 0, 1348789.363 900872.469 0, 1348511.059 900851.949 0, 1348232.754 900831.444 0, 1347953.157 900810.861 0, 1347543.799 906373.753 0,
+ 1347134.43 911936.806 0, 1347413.369 911957.341 0, 1347691.019 911977.797 0, 1347968.668 911998.27 0, 1348246.316 912018.759 0, 1348523.963 912039.264 0, 1348801.608 912059.785 0, 1349079.253 912080.323 0, 1349356.896 912100.878 0, 1349634.537 912121.448 0,
+ 1349912.178 912142.035 0, 1350189.818 912162.639 0, 1350467.456 912183.258 0, 1350745.093 912203.894 0, 1351022.728 912224.547 0, 1351300.363 912245.215 0, 1351577.996 912265.9 0, 1351855.628 912286.602 0, 1352133.259 912307.319 0, 1352410.889 912328.053 0,
+ 1352688.518 912348.804 0, 1352966.145 912369.57 0, 1353243.771 912390.353 0, 1353521.396 912411.153 0, 1353797.732 912431.872 0, 1354076.641 912452.801 0, 1354354.263 912473.649 0, 1354631.882 912494.514 0, 1354909.501 912515.395 0, 1355187.119 912536.292 0,
+ 1355464.735 912557.206 0, 1355742.35 912578.136 0, 1356019.963 912599.083 0, 1356297.576 912620.045 0, 1356575.187 912641.025 0, 1356852.797 912662.02 0, 1357130.406 912683.032 0, 1357408.014 912704.06 0, 1357685.62 912725.105 0, 1357963.225 912746.165 0,
+ 1358240.829 912767.243 0, 1358518.431 912788.336 0, 1358796.033 912809.446 0, 1359073.633 912830.572 0, 1359351.232 912851.715 0, 1359628.829 912872.874 0, 1359906.426 912894.049 0, 1360184.021 912915.24 0, 1360460.329 912936.35 0, 1360885.414 907374.475 0,
+ 1361310.486 901812.762 0))
+
+POLYGON ((1373783.352 913973.538 0, 1373507.102 913951.647 0, 1373229.568 913929.672 0, 1372952.032 913907.712 0, 1372674.496 913885.769 0, 1372396.958 913863.843 0, 1372119.418 913841.932 0, 1371841.878 913820.038 0, 1371564.336 913798.16 0, 1371286.793 913776.299 0,
+ 1371009.248 913754.454 0, 1370731.702 913732.625 0, 1370454.155 913710.813 0, 1370176.607 913689.017 0, 1369899.057 913667.237 0, 1369621.507 913645.474 0, 1369343.954 913623.727 0, 1369066.401 913601.996 0, 1368788.846 913580.282 0, 1368511.29 913558.584 0,
+ 1368233.733 913536.902 0, 1367956.174 913515.237 0, 1367678.615 913493.588 0, 1367401.053 913471.955 0, 1367122.207 913450.239 0, 1366845.927 913428.739 0, 1366568.363 913407.155 0, 1366290.796 913385.588 0, 1366013.229 913364.037 0, 1365735.66 913342.502 0,
+ 1365458.09 913320.984 0, 1365180.519 913299.482 0, 1364902.946 913277.996 0, 1364625.373 913256.527 0, 1364347.798 913235.074 0, 1364070.221 913213.637 0, 1363792.644 913192.217 0, 1363515.065 913170.813 0, 1363237.485 913149.426 0, 1362959.903 913128.054 0,
+ 1362682.321 913106.699 0, 1362404.737 913085.361 0, 1362127.152 913064.039 0, 1361849.565 913042.733 0, 1361571.978 913021.443 0, 1361294.389 913000.17 0, 1361016.799 912978.913 0, 1360739.207 912957.672 0, 1360460.329 912936.35 0, 1360035.233 918498.382 0,
+ 1359610.124 924060.567 0, 1359888.345 924081.839 0, 1360165.281 924103.03 0, 1360442.217 924124.236 0, 1360719.151 924145.459 0, 1360996.084 924166.699 0, 1361273.015 924187.954 0, 1361549.946 924209.226 0, 1361826.875 924230.515 0, 1362103.803 924251.819 0,
+ 1362380.729 924273.14 0, 1362657.655 924294.477 0, 1362934.579 924315.831 0, 1363211.502 924337.2 0, 1363488.423 924358.587 0, 1363765.344 924379.989 0, 1364042.263 924401.408 0, 1364319.181 924422.843 0, 1364596.097 924444.294 0, 1364873.013 924465.761 0,
+ 1365149.927 924487.245 0, 1365426.839 924508.745 0, 1365703.751 924530.262 0, 1365980.661 924551.794 0, 1366256.289 924573.244 0, 1366534.478 924594.909 0, 1366811.384 924616.491 0, 1367088.289 924638.088 0, 1367365.193 924659.703 0, 1367642.096 924681.333 0,
+ 1367918.997 924702.98 0, 1368195.897 924724.643 0, 1368472.796 924746.323 0, 1368749.694 924768.018 0, 1369026.59 924789.73 0, 1369303.485 924811.459 0, 1369580.378 924833.203 0, 1369857.271 924854.964 0, 1370134.162 924876.741 0, 1370411.052 924898.535 0,
+ 1370687.94 924920.345 0, 1370964.828 924942.171 0, 1371241.714 924964.013 0, 1371518.598 924985.872 0, 1371795.482 925007.747 0, 1372072.364 925029.638 0, 1372349.245 925051.546 0, 1372626.124 925073.47 0, 1372901.722 925095.308 0, 1373342.543 919534.346 0,
+ 1373783.352 913973.538 0))
+
+POLYGON ((1386190.344 926167.597 0, 1385914.807 926144.98 0, 1385637.99 926122.273 0, 1385361.172 926099.584 0, 1385084.353 926076.91 0, 1384807.533 926054.253 0, 1384530.711 926031.612 0, 1384253.888 926008.988 0, 1383977.063 925986.379 0, 1383700.237 925963.787 0,
+ 1383423.41 925941.212 0, 1383146.582 925918.652 0, 1382869.752 925896.109 0, 1382592.921 925873.582 0, 1382316.088 925851.072 0, 1382039.254 925828.578 0, 1381762.419 925806.1 0, 1381485.583 925783.638 0, 1381208.745 925761.193 0, 1380931.906 925738.764 0,
+ 1380655.066 925716.351 0, 1380378.224 925693.955 0, 1380101.381 925671.574 0, 1379824.536 925649.211 0, 1379546.412 925626.76 0, 1379270.844 925604.532 0, 1378993.995 925582.217 0, 1378717.146 925559.918 0, 1378440.295 925537.636 0, 1378163.443 925515.37 0,
+ 1377886.589 925493.12 0, 1377609.734 925470.886 0, 1377332.878 925448.669 0, 1377056.021 925426.468 0, 1376779.162 925404.284 0, 1376502.302 925382.115 0, 1376225.44 925359.963 0, 1375948.578 925337.827 0, 1375671.714 925315.708 0, 1375394.848 925293.605 0,
+ 1375117.982 925271.518 0, 1374841.114 925249.447 0, 1374564.245 925227.393 0, 1374287.374 925205.355 0, 1374010.503 925183.334 0, 1373733.629 925161.328 0, 1373456.755 925139.339 0, 1373179.879 925117.366 0, 1372901.722 925095.308 0, 1372460.89 930656.42 0,
+ 1372020.045 936217.677 0, 1372297.545 936239.683 0, 1372573.766 936261.604 0, 1372849.986 936283.541 0, 1373126.204 936305.494 0, 1373402.421 936327.464 0, 1373678.637 936349.45 0, 1373954.852 936371.452 0, 1374231.065 936393.47 0, 1374507.277 936415.505 0,
+ 1374783.488 936437.556 0, 1375059.697 936459.623 0, 1375335.905 936481.706 0, 1375612.112 936503.806 0, 1375888.317 936525.922 0, 1376164.522 936548.054 0, 1376440.724 936570.202 0, 1376716.926 936592.367 0, 1376993.126 936614.548 0, 1377269.325 936636.745 0,
+ 1377545.523 936658.959 0, 1377821.719 936681.188 0, 1378097.914 936703.434 0, 1378374.108 936725.697 0, 1378649.024 936747.872 0, 1378926.491 936770.27 0, 1379202.681 936792.581 0, 1379478.87 936814.908 0, 1379755.057 936837.252 0, 1380031.243 936859.611 0,
+ 1380307.427 936881.987 0, 1380583.61 936904.38 0, 1380859.792 936926.788 0, 1381135.973 936949.213 0, 1381412.152 936971.654 0, 1381688.33 936994.111 0, 1381964.507 937016.585 0, 1382240.682 937039.075 0, 1382516.856 937061.581 0, 1382793.029 937084.103 0,
+ 1383069.2 937106.642 0, 1383345.37 937129.196 0, 1383621.539 937151.767 0, 1383897.706 937174.355 0, 1384173.872 937196.958 0, 1384450.037 937219.578 0, 1384726.2 937242.214 0, 1385002.362 937264.867 0, 1385277.248 937287.431 0, 1385733.802 931727.441 0,
+ 1386190.344 926167.597 0))
+
+POLYGON ((1398531.375 938394.633 0, 1398256.552 938371.293 0, 1397980.455 938347.86 0, 1397704.357 938324.444 0, 1397428.257 938301.044 0, 1397152.156 938277.661 0, 1396876.054 938254.293 0, 1396599.95 938230.942 0, 1396323.845 938207.607 0, 1396047.738 938184.288 0,
+ 1395771.63 938160.986 0, 1395495.521 938137.7 0, 1395219.41 938114.43 0, 1394943.298 938091.176 0, 1394667.185 938067.938 0, 1394391.07 938044.717 0, 1394114.954 938021.512 0, 1393838.837 937998.324 0, 1393562.718 937975.151 0, 1393286.598 937951.995 0,
+ 1393010.476 937928.855 0, 1392734.353 937905.731 0, 1392458.229 937882.624 0, 1392182.103 937859.533 0, 1391904.703 937836.351 0, 1391629.848 937813.399 0, 1391353.718 937790.357 0, 1391077.587 937767.33 0, 1390801.454 937744.321 0, 1390525.321 937721.327 0,
+ 1390249.186 937698.349 0, 1389973.049 937675.388 0, 1389696.911 937652.443 0, 1389420.772 937629.515 0, 1389144.631 937606.602 0, 1388868.49 937583.706 0, 1388592.346 937560.826 0, 1388316.202 937537.963 0, 1388040.056 937515.115 0, 1387763.908 937492.284 0,
+ 1387487.76 937469.469 0, 1387211.61 937446.671 0, 1386935.459 937423.888 0, 1386659.306 937401.122 0, 1386383.152 937378.372 0, 1386106.997 937355.639 0, 1385830.84 937332.921 0, 1385554.682 937310.22 0, 1385277.248 937287.431 0, 1384820.682 942847.562 0,
+ 1384364.105 948407.831 0, 1384640.882 948430.567 0, 1384916.385 948453.214 0, 1385191.887 948475.877 0, 1385467.388 948498.557 0, 1385742.888 948521.253 0, 1386018.386 948543.965 0, 1386293.883 948566.694 0, 1386569.378 948589.438 0, 1386844.872 948612.199 0,
+ 1387120.365 948634.976 0, 1387395.856 948657.769 0, 1387671.347 948680.579 0, 1387946.835 948703.404 0, 1388222.323 948726.246 0, 1388497.809 948749.104 0, 1388773.294 948771.979 0, 1389048.777 948794.869 0, 1389324.259 948817.776 0, 1389599.74 948840.699 0,
+ 1389875.219 948863.638 0, 1390150.697 948886.594 0, 1390426.174 948909.565 0, 1390701.649 948932.553 0, 1390975.852 948955.451 0, 1391252.595 948978.577 0, 1391528.067 949001.614 0, 1391803.536 949024.666 0, 1392079.005 949047.735 0, 1392354.472 949070.82 0,
+ 1392629.938 949093.922 0, 1392905.402 949117.039 0, 1393180.865 949140.173 0, 1393456.327 949163.323 0, 1393731.787 949186.489 0, 1394007.246 949209.671 0, 1394282.704 949232.87 0, 1394558.16 949256.085 0, 1394833.615 949279.316 0, 1395109.069 949302.563 0,
+ 1395384.521 949325.827 0, 1395659.971 949349.106 0, 1395935.421 949372.402 0, 1396210.869 949395.714 0, 1396486.316 949419.042 0, 1396761.761 949442.387 0, 1397037.205 949465.748 0, 1397312.647 949489.125 0, 1397586.819 949512.41 0, 1398059.103 943953.453 0,
+ 1398531.375 938394.633 0))
+
+POLYGON ((1410806.36 950654.341 0, 1410532.252 950630.281 0, 1410256.877 950606.126 0, 1409981.5 950581.987 0, 1409706.122 950557.864 0, 1409430.742 950533.758 0, 1409155.361 950509.668 0, 1408879.979 950485.594 0, 1408604.595 950461.536 0, 1408329.21 950437.495 0,
+ 1408053.823 950413.469 0, 1407778.435 950389.46 0, 1407503.045 950365.467 0, 1407227.654 950341.49 0, 1406952.262 950317.53 0, 1406676.868 950293.586 0, 1406401.473 950269.658 0, 1406126.076 950245.746 0, 1405850.678 950221.85 0, 1405575.279 950197.971 0,
+ 1405299.878 950174.107 0, 1405024.476 950150.26 0, 1404749.072 950126.429 0, 1404473.667 950102.615 0, 1404196.993 950078.707 0, 1403922.853 950055.034 0, 1403647.444 950031.268 0, 1403372.033 950007.518 0, 1403096.621 949983.785 0, 1402821.208 949960.068 0,
+ 1402545.793 949936.366 0, 1402270.376 949912.681 0, 1401994.959 949889.013 0, 1401719.54 949865.36 0, 1401444.119 949841.724 0, 1401168.698 949818.104 0, 1400893.275 949794.5 0, 1400617.85 949770.912 0, 1400342.424 949747.341 0, 1400066.997 949723.785 0,
+ 1399791.568 949700.246 0, 1399516.138 949676.724 0, 1399240.706 949653.217 0, 1398965.273 949629.727 0, 1398689.839 949606.252 0, 1398414.404 949582.794 0, 1398138.967 949559.353 0, 1397863.528 949535.927 0, 1397586.819 949512.41 0, 1397114.524 955071.501 0,
+ 1396642.218 960630.722 0, 1396918.269 960654.183 0, 1397193.053 960677.553 0, 1397467.836 960700.939 0, 1397742.617 960724.341 0, 1398017.397 960747.76 0, 1398292.175 960771.194 0, 1398566.952 960794.645 0, 1398841.728 960818.112 0, 1399116.503 960841.595 0,
+ 1399391.276 960865.094 0, 1399666.047 960888.61 0, 1399940.817 960912.141 0, 1400215.586 960935.689 0, 1400490.354 960959.253 0, 1400765.12 960982.833 0, 1401039.884 961006.43 0, 1401314.648 961030.042 0, 1401589.409 961053.671 0, 1401864.17 961077.316 0,
+ 1402138.929 961100.977 0, 1402413.687 961124.654 0, 1402688.443 961148.347 0, 1402963.198 961172.057 0, 1403236.686 961195.673 0, 1403512.703 961219.524 0, 1403787.454 961243.282 0, 1404062.203 961267.057 0, 1404336.951 961290.847 0, 1404611.698 961314.654 0,
+ 1404886.443 961338.476 0, 1405161.187 961362.315 0, 1405435.929 961386.17 0, 1405710.67 961410.042 0, 1405985.409 961433.929 0, 1406260.148 961457.833 0, 1406534.884 961481.752 0, 1406809.619 961505.688 0, 1407084.353 961529.64 0, 1407359.086 961553.609 0,
+ 1407633.817 961577.593 0, 1407908.546 961601.594 0, 1408183.275 961625.61 0, 1408458.002 961649.643 0, 1408732.727 961673.692 0, 1409007.451 961697.758 0, 1409282.173 961721.839 0, 1409556.895 961745.937 0, 1409830.35 961769.94 0, 1410318.361 956212.075 0,
+ 1410806.36 950654.341 0))
+
+POLYGON ((1423015.212 962946.412 0, 1422741.823 962921.636 0, 1422467.171 962896.763 0, 1422192.518 962871.905 0, 1421917.863 962847.064 0, 1421643.207 962822.239 0, 1421368.549 962797.43 0, 1421093.889 962772.637 0, 1420819.229 962747.86 0, 1420544.567 962723.1 0,
+ 1420269.903 962698.355 0, 1419995.238 962673.627 0, 1419720.571 962648.915 0, 1419445.903 962624.219 0, 1419171.234 962599.54 0, 1418896.563 962574.876 0, 1418621.89 962550.229 0, 1418347.217 962525.598 0, 1418072.541 962500.983 0, 1417797.865 962476.384 0,
+ 1417523.187 962451.801 0, 1417248.507 962427.235 0, 1416973.826 962402.684 0, 1416699.143 962378.15 0, 1416423.197 962353.519 0, 1416149.774 962329.13 0, 1415875.087 962304.645 0, 1415600.399 962280.175 0, 1415325.709 962255.722 0, 1415051.018 962231.285 0,
+ 1414776.326 962206.864 0, 1414501.632 962182.459 0, 1414226.936 962158.07 0, 1413952.239 962133.698 0, 1413677.541 962109.341 0, 1413402.841 962085.001 0, 1413128.14 962060.677 0, 1412853.437 962036.369 0, 1412578.733 962012.078 0, 1412304.028 961987.802 0,
+ 1412029.321 961963.543 0, 1411754.613 961939.3 0, 1411479.903 961915.073 0, 1411205.192 961890.862 0, 1410930.479 961866.667 0, 1410655.765 961842.489 0, 1410381.049 961818.327 0, 1410106.333 961794.18 0, 1409830.35 961769.94 0, 1409342.329 967327.93 0,
+ 1408854.297 972886.042 0, 1409129.622 972910.225 0, 1409403.685 972934.314 0, 1409677.746 972958.419 0, 1409951.806 972982.54 0, 1410225.864 973006.677 0, 1410499.921 973030.83 0, 1410773.976 973054.999 0, 1411048.03 973079.184 0, 1411322.083 973103.386 0,
+ 1411596.134 973127.604 0, 1411870.184 973151.837 0, 1412144.233 973176.087 0, 1412418.28 973200.353 0, 1412692.325 973224.636 0, 1412966.369 973248.934 0, 1413240.412 973273.248 0, 1413514.453 973297.579 0, 1413788.493 973321.926 0, 1414062.531 973346.288 0,
+ 1414336.568 973370.667 0, 1414610.604 973395.062 0, 1414884.638 973419.474 0, 1415158.67 973443.901 0, 1415431.442 973468.232 0, 1415706.731 973492.804 0, 1415980.76 973517.28 0, 1416254.787 973541.772 0, 1416528.812 973566.28 0, 1416802.836 973590.804 0,
+ 1417076.858 973615.344 0, 1417350.88 973639.9 0, 1417624.899 973664.473 0, 1417898.917 973689.062 0, 1418172.934 973713.666 0, 1418446.95 973738.287 0, 1418720.963 973762.924 0, 1418994.976 973787.577 0, 1419268.987 973812.247 0, 1419542.996 973836.932 0,
+ 1419817.004 973861.634 0, 1420091.011 973886.351 0, 1420365.016 973911.085 0, 1420639.02 973935.835 0, 1420913.022 973960.601 0, 1421187.023 973985.383 0, 1421461.022 974010.181 0, 1421735.02 974034.996 0, 1422007.758 974059.712 0, 1422511.491 968503.001 0,
+ 1423015.212 962946.412 0))
+
+POLYGON ((913592.194 532273.576 0, 913293.661 532278.645 0, 912993.663 532283.758 0, 912693.666 532288.887 0, 912393.668 532294.035 0, 912093.671 532299.2 0, 911793.675 532304.383 0, 911493.678 532309.583 0, 911193.682 532314.801 0, 910893.687 532320.037 0,
+ 910593.691 532325.291 0, 910293.696 532330.562 0, 909993.701 532335.851 0, 909693.707 532341.157 0, 909393.713 532346.481 0, 909093.719 532351.823 0, 908793.725 532357.182 0, 908493.732 532362.559 0, 908193.739 532367.954 0, 907893.746 532373.366 0,
+ 907593.754 532378.796 0, 907293.762 532384.244 0, 906993.771 532389.709 0, 906693.779 532395.192 0, 906392.322 532400.72 0, 906093.798 532406.211 0, 905793.807 532411.747 0, 905493.817 532417.301 0, 905193.827 532422.872 0, 904893.838 532428.461 0,
+ 904593.849 532434.068 0, 904293.86 532439.692 0, 903993.872 532445.334 0, 903693.884 532450.993 0, 903393.896 532456.671 0, 903093.909 532462.365 0, 902793.922 532468.078 0, 902493.935 532473.808 0, 902193.949 532479.556 0, 901893.963 532485.322 0,
+ 901593.977 532491.105 0, 901293.992 532496.905 0, 900994.007 532502.724 0, 900694.022 532508.56 0, 900394.038 532514.414 0, 900094.054 532520.285 0, 899794.07 532526.174 0, 899494.087 532532.081 0, 899192.636 532538.035 0, 899302.588 538097.071 0,
+ 899412.547 543656.491 0, 899713.34 543650.551 0, 900012.669 543644.657 0, 900311.998 543638.781 0, 900611.327 543632.922 0, 900910.657 543627.081 0, 901209.988 543621.258 0, 901509.318 543615.452 0, 901808.649 543609.664 0, 902107.98 543603.893 0,
+ 902407.312 543598.14 0, 902706.644 543592.405 0, 903005.976 543586.687 0, 903305.309 543580.987 0, 903604.642 543575.305 0, 903903.975 543569.64 0, 904203.309 543563.993 0, 904502.643 543558.363 0, 904801.977 543552.751 0, 905101.312 543547.157 0,
+ 905400.646 543541.58 0, 905699.982 543536.021 0, 905999.317 543530.479 0, 906298.653 543524.956 0, 906596.526 543519.476 0, 906897.326 543513.961 0, 907196.663 543508.49 0, 907496 543503.036 0, 907795.338 543497.6 0, 908094.676 543492.182 0,
+ 908394.014 543486.782 0, 908693.352 543481.399 0, 908992.691 543476.033 0, 909292.03 543470.686 0, 909591.37 543465.356 0, 909890.709 543460.043 0, 910190.049 543454.748 0, 910489.39 543449.471 0, 910788.73 543444.212 0, 911088.071 543438.97 0,
+ 911387.413 543433.745 0, 911686.754 543428.538 0, 911986.096 543423.349 0, 912285.439 543418.178 0, 912584.781 543413.024 0, 912884.124 543407.888 0, 913183.467 543402.769 0, 913482.81 543397.668 0, 913780.692 543392.609 0, 913686.44 537832.901 0,
+ 913592.194 532273.576 0))
+
+POLYGON ((928149.525 543169.321 0, 927851.628 543173.538 0, 927552.272 543177.793 0, 927252.915 543182.066 0, 926953.559 543186.357 0, 926654.203 543190.665 0, 926354.848 543194.991 0, 926055.492 543199.334 0, 925756.137 543203.695 0, 925456.782 543208.074 0,
+ 925157.428 543212.47 0, 924858.073 543216.884 0, 924558.719 543221.316 0, 924259.365 543225.765 0, 923960.012 543230.231 0, 923660.658 543234.716 0, 923361.305 543239.218 0, 923061.953 543243.737 0, 922762.6 543248.275 0, 922463.248 543252.83 0,
+ 922163.896 543257.402 0, 921864.544 543261.992 0, 921565.193 543266.6 0, 921265.842 543271.225 0, 920965.03 543275.891 0, 920667.14 543280.529 0, 920367.79 543285.207 0, 920068.44 543289.903 0, 919769.09 543294.616 0, 919469.741 543299.347 0,
+ 919170.391 543304.096 0, 918871.042 543308.862 0, 918571.694 543313.646 0, 918272.345 543318.447 0, 917972.997 543323.267 0, 917673.649 543328.103 0, 917374.302 543332.958 0, 917074.955 543337.83 0, 916775.608 543342.719 0, 916476.261 543347.627 0,
+ 916176.915 543352.551 0, 915877.569 543357.494 0, 915578.223 543362.454 0, 915278.877 543367.432 0, 914979.532 543372.427 0, 914680.187 543377.44 0, 914380.842 543382.47 0, 914081.498 543387.519 0, 913780.692 543392.609 0, 913874.951 548952.698 0,
+ 913969.216 554513.165 0, 914269.364 554508.086 0, 914568.054 554503.048 0, 914866.744 554498.029 0, 915165.435 554493.027 0, 915464.125 554488.042 0, 915762.816 554483.076 0, 916061.507 554478.126 0, 916360.199 554473.195 0, 916658.891 554468.281 0,
+ 916957.583 554463.384 0, 917256.275 554458.505 0, 917554.968 554453.644 0, 917853.661 554448.8 0, 918152.354 554443.974 0, 918451.048 554439.165 0, 918749.742 554434.374 0, 919048.436 554429.601 0, 919347.13 554424.845 0, 919645.825 554420.107 0,
+ 919944.52 554415.386 0, 920243.215 554410.683 0, 920541.911 554405.997 0, 920840.606 554401.329 0, 921137.845 554396.702 0, 921437.999 554392.046 0, 921736.695 554387.431 0, 922035.392 554382.833 0, 922334.089 554378.253 0, 922632.787 554373.691 0,
+ 922931.484 554369.146 0, 923230.182 554364.619 0, 923528.881 554360.109 0, 923827.579 554355.617 0, 924126.278 554351.142 0, 924424.977 554346.685 0, 924723.676 554342.246 0, 925022.376 554337.824 0, 925321.075 554333.42 0, 925619.776 554329.033 0,
+ 925918.476 554324.664 0, 926217.176 554320.313 0, 926515.877 554315.979 0, 926814.578 554311.662 0, 927113.28 554307.364 0, 927411.981 554303.082 0, 927710.683 554298.819 0, 928009.385 554294.573 0, 928306.631 554290.365 0, 928228.075 548729.654 0,
+ 928149.525 543169.321 0))
+
+POLYGON ((942644.618 554108.071 0, 942347.359 554111.44 0, 942048.646 554114.842 0, 941749.934 554118.261 0, 941451.221 554121.699 0, 941152.509 554125.153 0, 940853.797 554128.626 0, 940555.085 554132.116 0, 940256.373 554135.624 0, 939957.662 554139.149 0,
+ 939658.951 554142.691 0, 939360.24 554146.252 0, 939061.529 554149.83 0, 938762.818 554153.425 0, 938464.108 554157.038 0, 938165.398 554160.669 0, 937866.688 554164.317 0, 937567.978 554167.983 0, 937269.268 554171.667 0, 936970.559 554175.368 0,
+ 936671.85 554179.086 0, 936373.141 554182.822 0, 936074.432 554186.576 0, 935775.724 554190.347 0, 935475.56 554194.155 0, 935178.308 554197.943 0, 934879.6 554201.767 0, 934580.892 554205.608 0, 934282.185 554209.468 0, 933983.478 554213.344 0,
+ 933684.771 554217.239 0, 933386.064 554221.151 0, 933087.358 554225.08 0, 932788.652 554229.028 0, 932489.946 554232.992 0, 932191.24 554236.975 0, 931892.535 554240.974 0, 931593.829 554244.992 0, 931295.124 554249.027 0, 930996.419 554253.08 0,
+ 930697.715 554257.15 0, 930399.011 554261.238 0, 930100.307 554265.343 0, 929801.603 554269.466 0, 929502.899 554273.606 0, 929204.196 554277.764 0, 928905.493 554281.94 0, 928606.79 554286.133 0, 928306.631 554290.365 0, 928385.191 559851.45 0,
+ 928463.757 565412.906 0, 928763.259 565408.684 0, 929061.307 565404.5 0, 929359.355 565400.333 0, 929657.404 565396.184 0, 929955.453 565392.053 0, 930253.502 565387.939 0, 930551.552 565383.842 0, 930849.601 565379.764 0, 931147.651 565375.702 0,
+ 931445.701 565371.658 0, 931743.752 565367.632 0, 932041.802 565363.624 0, 932339.853 565359.633 0, 932637.904 565355.659 0, 932935.955 565351.703 0, 933234.007 565347.764 0, 933532.059 565343.843 0, 933830.111 565339.94 0, 934128.163 565336.054 0,
+ 934426.215 565332.186 0, 934724.268 565328.335 0, 935022.321 565324.502 0, 935320.374 565320.686 0, 935616.975 565316.907 0, 935916.481 565313.107 0, 936214.535 565309.344 0, 936512.589 565305.599 0, 936810.643 565301.871 0, 937108.697 565298.161 0,
+ 937406.752 565294.468 0, 937704.807 565290.792 0, 938002.862 565287.134 0, 938300.917 565283.494 0, 938598.973 565279.872 0, 938897.028 565276.266 0, 939195.084 565272.679 0, 939493.141 565269.109 0, 939791.197 565265.556 0, 940089.254 565262.021 0,
+ 940387.31 565258.504 0, 940685.367 565255.004 0, 940983.425 565251.521 0, 941281.482 565248.057 0, 941579.54 565244.609 0, 941877.597 565241.179 0, 942175.655 565237.767 0, 942473.714 565234.373 0, 942770.321 565231.012 0, 942707.467 559669.356 0,
+ 942644.618 554108.071 0))
+
+POLYGON ((957077.341 565089.537 0, 956780.723 565092.06 0, 956482.657 565094.613 0, 956184.59 565097.183 0, 955886.524 565099.77 0, 955588.458 565102.376 0, 955290.392 565104.998 0, 954992.326 565107.639 0, 954694.26 565110.297 0, 954396.194 565112.972 0,
+ 954098.129 565115.665 0, 953800.064 565118.375 0, 953501.999 565121.103 0, 953203.934 565123.849 0, 952905.869 565126.612 0, 952607.805 565129.393 0, 952309.74 565132.191 0, 952011.676 565135.007 0, 951713.612 565137.84 0, 951415.548 565140.691 0,
+ 951117.484 565143.559 0, 950819.421 565146.445 0, 950521.357 565149.348 0, 950223.294 565152.269 0, 949923.781 565155.222 0, 949627.168 565158.164 0, 949329.105 565161.138 0, 949031.043 565164.129 0, 948732.98 565167.137 0, 948434.918 565170.164 0,
+ 948136.856 565173.207 0, 947838.794 565176.269 0, 947540.733 565179.348 0, 947242.671 565182.444 0, 946944.61 565185.558 0, 946646.549 565188.69 0, 946348.488 565191.839 0, 946050.427 565195.005 0, 945752.367 565198.189 0, 945454.307 565201.391 0,
+ 945156.246 565204.61 0, 944858.186 565207.847 0, 944560.127 565211.101 0, 944262.067 565214.373 0, 943964.008 565217.663 0, 943665.948 565220.969 0, 943367.889 565224.294 0, 943069.831 565227.636 0, 942770.321 565231.012 0, 942833.178 570793.036 0,
+ 942896.04 576355.424 0, 943194.892 576352.056 0, 943492.296 576348.721 0, 943789.7 576345.404 0, 944087.105 576342.104 0, 944384.509 576338.822 0, 944681.914 576335.557 0, 944979.319 576332.31 0, 945276.724 576329.08 0, 945574.13 576325.868 0,
+ 945871.535 576322.674 0, 946168.941 576319.496 0, 946466.347 576316.337 0, 946763.753 576313.195 0, 947061.16 576310.07 0, 947358.566 576306.963 0, 947655.973 576303.873 0, 947953.38 576300.801 0, 948250.787 576297.747 0, 948548.194 576294.71 0,
+ 948845.601 576291.69 0, 949143.009 576288.688 0, 949440.417 576285.703 0, 949737.825 576282.736 0, 950033.786 576279.801 0, 950332.641 576276.855 0, 950630.05 576273.94 0, 950927.458 576271.043 0, 951224.867 576268.163 0, 951522.276 576265.301 0,
+ 951819.685 576262.457 0, 952117.094 576259.63 0, 952414.504 576256.82 0, 952711.914 576254.028 0, 953009.323 576251.254 0, 953306.733 576248.497 0, 953604.143 576245.757 0, 953901.554 576243.035 0, 954198.964 576240.33 0, 954496.375 576237.643 0,
+ 954793.786 576234.974 0, 955091.196 576232.322 0, 955388.608 576229.687 0, 955686.019 576227.071 0, 955983.43 576224.471 0, 956280.842 576221.889 0, 956578.253 576219.325 0, 956875.665 576216.778 0, 957171.631 576214.26 0, 957124.485 570651.717 0,
+ 957077.341 565089.537 0))
+
+POLYGON ((971447.564 576113.428 0, 971151.59 576115.109 0, 970854.172 576116.816 0, 970556.754 576118.54 0, 970259.337 576120.282 0, 969961.919 576122.041 0, 969664.502 576123.818 0, 969367.084 576125.612 0, 969069.667 576127.424 0, 968772.25 576129.253 0,
+ 968474.833 576131.1 0, 968177.416 576132.964 0, 967879.999 576134.846 0, 967582.583 576136.745 0, 967285.166 576138.662 0, 966987.75 576140.596 0, 966690.333 576142.548 0, 966392.917 576144.517 0, 966095.501 576146.504 0, 965798.085 576148.509 0,
+ 965500.669 576150.53 0, 965203.253 576152.57 0, 964905.838 576154.626 0, 964608.422 576156.701 0, 964309.562 576158.803 0, 964013.592 576160.902 0, 963716.177 576163.029 0, 963418.762 576165.173 0, 963121.347 576167.335 0, 962823.932 576169.514 0,
+ 962526.517 576171.711 0, 962229.103 576173.926 0, 961931.688 576176.157 0, 961634.274 576178.407 0, 961336.86 576180.674 0, 961039.446 576182.958 0, 960742.032 576185.26 0, 960444.619 576187.579 0, 960147.205 576189.916 0, 959849.792 576192.271 0,
+ 959552.378 576194.643 0, 959254.965 576197.032 0, 958957.552 576199.439 0, 958660.139 576201.863 0, 958362.727 576204.305 0, 958065.314 576206.765 0, 957767.902 576209.242 0, 957470.489 576211.736 0, 957171.631 576214.26 0, 957218.781 581777.166 0,
+ 957265.934 587340.43 0, 957564.134 587337.911 0, 957860.891 587335.422 0, 958157.649 587332.951 0, 958454.407 587330.497 0, 958751.164 587328.06 0, 959047.922 587325.641 0, 959344.681 587323.239 0, 959641.439 587320.855 0, 959938.197 587318.488 0,
+ 960234.956 587316.139 0, 960531.715 587313.807 0, 960828.473 587311.493 0, 961125.232 587309.196 0, 961421.991 587306.917 0, 961718.751 587304.655 0, 962015.51 587302.411 0, 962312.27 587300.184 0, 962609.029 587297.974 0, 962905.789 587295.782 0,
+ 963202.549 587293.608 0, 963499.309 587291.451 0, 963796.069 587289.311 0, 964092.829 587287.189 0, 964388.148 587285.094 0, 964686.35 587282.997 0, 964983.111 587280.927 0, 965279.872 587278.875 0, 965576.632 587276.84 0, 965873.393 587274.823 0,
+ 966170.155 587272.823 0, 966466.916 587270.84 0, 966763.677 587268.875 0, 967060.439 587266.928 0, 967357.2 587264.998 0, 967653.962 587263.085 0, 967950.724 587261.19 0, 968247.486 587259.313 0, 968544.248 587257.452 0, 968841.01 587255.61 0,
+ 969137.772 587253.784 0, 969434.534 587251.977 0, 969731.297 587250.186 0, 970028.059 587248.414 0, 970324.822 587246.658 0, 970621.585 587244.92 0, 970918.348 587243.2 0, 971215.111 587241.497 0, 971510.433 587239.82 0, 971478.998 581676.445 0,
+ 971447.564 576113.428 0))
+
+POLYGON ((985755.16 587179.453 0, 985459.831 587180.296 0, 985163.065 587181.161 0, 984866.298 587182.043 0, 984569.532 587182.942 0, 984272.765 587183.859 0, 983975.999 587184.794 0, 983679.232 587185.746 0, 983382.466 587186.715 0, 983085.7 587187.702 0,
+ 982788.934 587188.706 0, 982492.168 587189.728 0, 982195.402 587190.767 0, 981898.636 587191.824 0, 981601.87 587192.898 0, 981305.104 587193.989 0, 981008.338 587195.098 0, 980711.573 587196.225 0, 980414.807 587197.369 0, 980118.041 587198.53 0,
+ 979821.276 587199.709 0, 979524.51 587200.906 0, 979227.745 587202.12 0, 978930.98 587203.351 0, 978632.775 587204.606 0, 978337.449 587205.866 0, 978040.684 587207.15 0, 977743.919 587208.451 0, 977447.154 587209.77 0, 977150.389 587211.106 0,
+ 976853.625 587212.46 0, 976556.86 587213.831 0, 976260.095 587215.219 0, 975963.331 587216.625 0, 975666.566 587218.049 0, 975369.802 587219.49 0, 975073.038 587220.948 0, 974776.274 587222.424 0, 974479.51 587223.917 0, 974182.746 587225.428 0,
+ 973885.982 587226.956 0, 973589.218 587228.502 0, 973292.454 587230.065 0, 972995.69 587231.646 0, 972698.927 587233.244 0, 972402.163 587234.86 0, 972105.4 587236.493 0, 971808.637 587238.143 0, 971510.433 587239.82 0, 971541.871 592803.55 0,
+ 971573.31 598367.632 0, 971870.856 598365.959 0, 972166.964 598364.312 0, 972463.072 598362.683 0, 972759.181 598361.071 0, 973055.289 598359.476 0, 973351.398 598357.899 0, 973647.507 598356.339 0, 973943.616 598354.797 0, 974239.725 598353.272 0,
+ 974535.834 598351.764 0, 974831.943 598350.274 0, 975128.052 598348.802 0, 975424.161 598347.347 0, 975720.271 598345.909 0, 976016.38 598344.488 0, 976312.49 598343.085 0, 976608.599 598341.7 0, 976904.709 598340.332 0, 977200.819 598338.981 0,
+ 977496.929 598337.648 0, 977793.039 598336.332 0, 978089.149 598335.034 0, 978385.259 598333.753 0, 978679.933 598332.496 0, 978977.479 598331.244 0, 979273.59 598330.015 0, 979569.7 598328.804 0, 979865.811 598327.61 0, 980161.921 598326.434 0,
+ 980458.032 598325.275 0, 980754.142 598324.133 0, 981050.253 598323.009 0, 981346.364 598321.902 0, 981642.475 598320.813 0, 981938.586 598319.742 0, 982234.697 598318.687 0, 982530.808 598317.65 0, 982826.919 598316.631 0, 983123.03 598315.629 0,
+ 983419.141 598314.644 0, 983715.253 598313.677 0, 984011.364 598312.727 0, 984307.475 598311.795 0, 984603.587 598310.88 0, 984899.698 598309.982 0, 985195.81 598309.102 0, 985491.922 598308.24 0, 985786.598 598307.399 0, 985770.879 592743.25 0,
+ 985755.16 587179.453 0))
+
+POLYGON ((1000000 598287.321 0, 999705.32 598287.329 0, 999409.207 598287.355 0, 999113.094 598287.399 0, 998816.981 598287.46 0, 998520.868 598287.538 0, 998224.755 598287.634 0, 997928.643 598287.747 0, 997632.53 598287.878 0, 997336.417 598288.026 0,
+ 997040.304 598288.191 0, 996744.191 598288.374 0, 996448.078 598288.575 0, 996151.966 598288.792 0, 995855.853 598289.028 0, 995559.74 598289.28 0, 995263.627 598289.55 0, 994967.515 598289.838 0, 994671.402 598290.143 0, 994375.289 598290.465 0,
+ 994079.176 598290.805 0, 993783.064 598291.162 0, 993486.951 598291.537 0, 993190.839 598291.929 0, 992893.292 598292.34 0, 992598.613 598292.765 0, 992302.501 598293.209 0, 992006.388 598293.671 0, 991710.276 598294.15 0, 991414.163 598294.647 0,
+ 991118.051 598295.161 0, 990821.938 598295.693 0, 990525.826 598296.242 0, 990229.714 598296.808 0, 989933.601 598297.392 0, 989637.489 598297.993 0, 989341.377 598298.611 0, 989045.265 598299.248 0, 988749.153 598299.901 0, 988453.04 598300.572 0,
+ 988156.928 598301.26 0, 987860.816 598301.966 0, 987564.704 598302.689 0, 987268.592 598303.43 0, 986972.48 598304.188 0, 986676.369 598304.963 0, 986380.257 598305.756 0, 986084.145 598306.567 0, 985786.598 598307.399 0, 985802.319 603871.896 0,
+ 985818.041 609436.739 0, 986114.929 609435.909 0, 986410.386 609435.1 0, 986705.843 609434.309 0, 987001.3 609433.535 0, 987296.757 609432.779 0, 987592.213 609432.04 0, 987887.67 609431.318 0, 988183.127 609430.614 0, 988478.584 609429.927 0,
+ 988774.041 609429.258 0, 989069.499 609428.606 0, 989364.956 609427.971 0, 989660.413 609427.354 0, 989955.87 609426.754 0, 990251.327 609426.171 0, 990546.785 609425.606 0, 990842.242 609425.059 0, 991137.699 609424.528 0, 991433.157 609424.015 0,
+ 991728.614 609423.52 0, 992024.072 609423.042 0, 992319.529 609422.581 0, 992614.987 609422.138 0, 992909.013 609421.714 0, 993205.902 609421.303 0, 993501.359 609420.912 0, 993796.817 609420.538 0, 994092.274 609420.182 0, 994387.732 609419.843 0,
+ 994683.19 609419.521 0, 994978.647 609419.217 0, 995274.105 609418.93 0, 995569.563 609418.66 0, 995865.02 609418.408 0, 996160.478 609418.174 0, 996455.936 609417.956 0, 996751.394 609417.756 0, 997046.851 609417.574 0, 997342.309 609417.409 0,
+ 997637.767 609417.261 0, 997933.225 609417.131 0, 998228.683 609417.018 0, 998524.14 609416.922 0, 998819.598 609416.844 0, 999115.056 609416.783 0, 999410.514 609416.74 0, 999705.972 609416.714 0, 1000000 609416.705 0, 1000000 603851.84 0,
+ 1000000 598287.321 0))
+
+POLYGON ((1014181.959 609436.739 0, 1013887.93 609435.917 0, 1013592.473 609435.108 0, 1013297.016 609434.316 0, 1013001.559 609433.543 0, 1012706.103 609432.786 0, 1012410.646 609432.047 0, 1012115.189 609431.325 0, 1011819.732 609430.621 0, 1011524.275 609429.934 0,
+ 1011228.818 609429.264 0, 1010933.361 609428.612 0, 1010637.903 609427.977 0, 1010342.446 609427.36 0, 1010046.989 609426.76 0, 1009751.532 609426.177 0, 1009456.074 609425.612 0, 1009160.617 609425.064 0, 1008865.16 609424.533 0, 1008569.702 609424.02 0,
+ 1008274.245 609423.524 0, 1007978.788 609423.046 0, 1007683.33 609422.585 0, 1007387.873 609422.142 0, 1007090.987 609421.714 0, 1006796.958 609421.307 0, 1006501.5 609420.915 0, 1006206.042 609420.542 0, 1005910.585 609420.185 0, 1005615.127 609419.846 0,
+ 1005319.669 609419.524 0, 1005024.212 609419.22 0, 1004728.754 609418.933 0, 1004433.296 609418.663 0, 1004137.839 609418.411 0, 1003842.381 609418.176 0, 1003546.923 609417.958 0, 1003251.465 609417.758 0, 1002956.008 609417.576 0, 1002660.55 609417.41 0,
+ 1002365.092 609417.262 0, 1002069.634 609417.132 0, 1001774.176 609417.019 0, 1001478.719 609416.923 0, 1001183.261 609416.845 0, 1000887.803 609416.784 0, 1000592.345 609416.74 0, 1000296.887 609416.714 0, 1000000 609416.705 0, 1000000 614981.912 0,
+ 1000000 620547.459 0, 1000296.229 620547.467 0, 1000591.032 620547.494 0, 1000885.834 620547.537 0, 1001180.637 620547.598 0, 1001475.44 620547.676 0, 1001770.242 620547.771 0, 1002065.045 620547.884 0, 1002359.848 620548.015 0, 1002654.65 620548.162 0,
+ 1002949.453 620548.327 0, 1003244.256 620548.509 0, 1003539.058 620548.709 0, 1003833.861 620548.926 0, 1004128.664 620549.16 0, 1004423.466 620549.412 0, 1004718.269 620549.681 0, 1005013.071 620549.967 0, 1005307.874 620550.271 0, 1005602.676 620550.592 0,
+ 1005897.479 620550.931 0, 1006192.281 620551.286 0, 1006487.084 620551.66 0, 1006781.886 620552.05 0, 1007075.263 620552.456 0, 1007371.491 620552.883 0, 1007666.293 620553.326 0, 1007961.096 620553.786 0, 1008255.898 620554.263 0, 1008550.7 620554.757 0,
+ 1008845.503 620555.269 0, 1009140.305 620555.799 0, 1009435.107 620556.345 0, 1009729.909 620556.909 0, 1010024.711 620557.491 0, 1010319.513 620558.089 0, 1010614.315 620558.705 0, 1010909.117 620559.339 0, 1011203.919 620559.99 0, 1011498.721 620560.658 0,
+ 1011793.523 620561.343 0, 1012088.325 620562.046 0, 1012383.127 620562.766 0, 1012677.929 620563.504 0, 1012972.73 620564.259 0, 1013267.532 620565.031 0, 1013562.334 620565.82 0, 1013857.135 620566.627 0, 1014150.513 620567.448 0, 1014166.236 615001.924 0,
+ 1014181.959 609436.739 0))
+
+POLYGON ((1028300.913 620627.414 0, 1028007.536 620625.765 0, 1027712.738 620624.125 0, 1027417.94 620622.503 0, 1027123.142 620620.898 0, 1026828.343 620619.31 0, 1026533.545 620617.74 0, 1026238.746 620616.187 0, 1025943.947 620614.651 0, 1025649.149 620613.133 0,
+ 1025354.35 620611.632 0, 1025059.551 620610.148 0, 1024764.752 620608.682 0, 1024469.953 620607.233 0, 1024175.153 620605.801 0, 1023880.354 620604.387 0, 1023585.555 620602.99 0, 1023290.755 620601.611 0, 1022995.956 620600.248 0, 1022701.156 620598.904 0,
+ 1022406.356 620597.576 0, 1022111.557 620596.266 0, 1021816.757 620594.973 0, 1021521.957 620593.698 0, 1021225.734 620592.434 0, 1020932.357 620591.199 0, 1020637.557 620589.976 0, 1020342.756 620588.77 0, 1020047.956 620587.581 0, 1019753.156 620586.41 0,
+ 1019458.355 620585.256 0, 1019163.555 620584.119 0, 1018868.754 620583 0, 1018573.954 620581.898 0, 1018279.153 620580.813 0, 1017984.352 620579.746 0, 1017689.551 620578.696 0, 1017394.75 620577.664 0, 1017099.949 620576.649 0, 1016805.148 620575.651 0,
+ 1016510.347 620574.67 0, 1016215.546 620573.707 0, 1015920.745 620572.762 0, 1015625.944 620571.833 0, 1015331.143 620570.922 0, 1015036.341 620570.029 0, 1014741.54 620569.152 0, 1014446.738 620568.293 0, 1014150.513 620567.448 0, 1014134.788 626133.307 0,
+ 1014119.063 631699.499 0, 1014414.63 631700.343 0, 1014708.776 631701.2 0, 1015002.922 631702.075 0, 1015297.068 631702.966 0, 1015591.214 631703.875 0, 1015885.36 631704.802 0, 1016179.506 631705.745 0, 1016473.652 631706.706 0, 1016767.798 631707.684 0,
+ 1017061.944 631708.68 0, 1017356.09 631709.693 0, 1017650.235 631710.723 0, 1017944.381 631711.771 0, 1018238.527 631712.835 0, 1018532.672 631713.918 0, 1018826.817 631715.017 0, 1019120.963 631716.134 0, 1019415.108 631717.268 0, 1019709.253 631718.419 0,
+ 1020003.398 631719.588 0, 1020297.544 631720.774 0, 1020591.689 631721.977 0, 1020885.834 631723.198 0, 1021178.559 631724.43 0, 1021474.123 631725.691 0, 1021768.268 631726.964 0, 1022062.413 631728.254 0, 1022356.557 631729.561 0, 1022650.702 631730.885 0,
+ 1022944.846 631732.227 0, 1023238.99 631733.586 0, 1023533.135 631734.963 0, 1023827.279 631736.357 0, 1024121.423 631737.768 0, 1024415.567 631739.196 0, 1024709.711 631740.642 0, 1025003.855 631742.105 0, 1025297.999 631743.585 0, 1025592.142 631745.083 0,
+ 1025886.286 631746.598 0, 1026180.429 631748.13 0, 1026474.573 631749.68 0, 1026768.716 631751.246 0, 1027062.859 631752.831 0, 1027357.002 631754.432 0, 1027651.145 631756.051 0, 1027945.288 631757.687 0, 1028238.012 631759.333 0, 1028269.463 626193.207 0,
+ 1028300.913 620627.414 0))
+
+POLYGON ((1042356.737 631859.054 0, 1042064.016 631856.582 0, 1041769.879 631854.115 0, 1041475.742 631851.665 0, 1041181.604 631849.232 0, 1040887.467 631846.817 0, 1040593.329 631844.419 0, 1040299.191 631842.039 0, 1040005.053 631839.675 0, 1039710.915 631837.329 0,
+ 1039416.777 631835.001 0, 1039122.639 631832.689 0, 1038828.5 631830.395 0, 1038534.361 631828.119 0, 1038240.223 631825.859 0, 1037946.084 631823.617 0, 1037651.945 631821.392 0, 1037357.805 631819.185 0, 1037063.666 631816.995 0, 1036769.527 631814.822 0,
+ 1036475.387 631812.666 0, 1036181.247 631810.528 0, 1035887.107 631808.407 0, 1035592.967 631806.304 0, 1035297.41 631804.207 0, 1035004.687 631802.149 0, 1034710.547 631800.097 0, 1034416.406 631798.063 0, 1034122.266 631796.046 0, 1033828.125 631794.046 0,
+ 1033533.984 631792.063 0, 1033239.843 631790.098 0, 1032945.702 631788.151 0, 1032651.561 631786.22 0, 1032357.42 631784.307 0, 1032063.279 631782.411 0, 1031769.137 631780.533 0, 1031474.996 631778.671 0, 1031180.854 631776.827 0, 1030886.712 631775.001 0,
+ 1030592.57 631773.192 0, 1030298.428 631771.4 0, 1030004.286 631769.625 0, 1029710.144 631767.868 0, 1029416.001 631766.128 0, 1029121.859 631764.405 0, 1028827.716 631762.7 0, 1028533.574 631761.011 0, 1028238.012 631759.333 0, 1028206.56 637325.787 0,
+ 1028175.105 642892.568 0, 1028470.008 642894.243 0, 1028763.495 642895.927 0, 1029056.982 642897.629 0, 1029350.47 642899.347 0, 1029643.957 642901.084 0, 1029937.444 642902.837 0, 1030230.93 642904.608 0, 1030524.417 642906.396 0, 1030817.904 642908.201 0,
+ 1031111.39 642910.023 0, 1031404.877 642911.863 0, 1031698.363 642913.72 0, 1031991.849 642915.595 0, 1032285.335 642917.486 0, 1032578.821 642919.395 0, 1032872.307 642921.321 0, 1033165.793 642923.265 0, 1033459.279 642925.225 0, 1033752.764 642927.203 0,
+ 1034046.25 642929.199 0, 1034339.735 642931.211 0, 1034633.22 642933.241 0, 1034926.705 642935.288 0, 1035218.776 642937.342 0, 1035513.675 642939.434 0, 1035807.159 642941.533 0, 1036100.644 642943.649 0, 1036394.128 642945.783 0, 1036687.613 642947.933 0,
+ 1036981.097 642950.101 0, 1037274.581 642952.287 0, 1037568.065 642954.489 0, 1037861.549 642956.709 0, 1038155.032 642958.946 0, 1038448.516 642961.2 0, 1038741.999 642963.472 0, 1039035.483 642965.761 0, 1039328.966 642968.067 0, 1039622.449 642970.391 0,
+ 1039915.932 642972.731 0, 1040209.414 642975.089 0, 1040502.897 642977.465 0, 1040796.379 642979.857 0, 1041089.862 642982.267 0, 1041383.344 642984.694 0, 1041676.826 642987.138 0, 1041970.308 642989.6 0, 1042262.376 642992.067 0, 1042309.558 637425.398 0,
+ 1042356.737 631859.054 0))
+
+POLYGON ((1056349.31 643131.365 0, 1056057.248 643128.073 0, 1055763.774 643124.782 0, 1055470.3 643121.509 0, 1055176.826 643118.253 0, 1054883.351 643115.014 0, 1054589.877 643111.792 0, 1054296.402 643108.588 0, 1054002.927 643105.4 0, 1053709.452 643102.231 0,
+ 1053415.977 643099.078 0, 1053122.502 643095.943 0, 1052829.026 643092.825 0, 1052535.55 643089.724 0, 1052242.074 643086.64 0, 1051948.598 643083.574 0, 1051655.122 643080.525 0, 1051361.645 643077.494 0, 1051068.168 643074.479 0, 1050774.691 643071.482 0,
+ 1050481.214 643068.502 0, 1050187.737 643065.54 0, 1049894.26 643062.594 0, 1049600.782 643059.666 0, 1049305.892 643056.741 0, 1049013.826 643053.862 0, 1048720.348 643050.986 0, 1048426.87 643048.127 0, 1048133.392 643045.285 0, 1047839.913 643042.461 0,
+ 1047546.434 643039.654 0, 1047252.955 643036.864 0, 1046959.476 643034.091 0, 1046665.997 643031.336 0, 1046372.518 643028.598 0, 1046079.038 643025.877 0, 1045785.558 643023.174 0, 1045492.078 643020.487 0, 1045198.598 643017.818 0, 1044905.118 643015.167 0,
+ 1044611.638 643012.532 0, 1044318.157 643009.915 0, 1044024.677 643007.315 0, 1043731.196 643004.733 0, 1043437.715 643002.168 0, 1043144.234 642999.619 0, 1042850.752 642997.089 0, 1042557.271 642994.575 0, 1042262.376 642992.067 0, 1042215.192 648559.059 0,
+ 1042168.004 654126.37 0, 1042462.241 654128.872 0, 1042755.067 654131.38 0, 1043047.893 654133.905 0, 1043340.719 654136.448 0, 1043633.544 654139.007 0, 1043926.37 654141.584 0, 1044219.195 654144.178 0, 1044512.02 654146.789 0, 1044804.845 654149.418 0,
+ 1045097.67 654152.064 0, 1045390.495 654154.727 0, 1045683.319 654157.407 0, 1045976.144 654160.104 0, 1046268.968 654162.819 0, 1046561.792 654165.551 0, 1046854.616 654168.3 0, 1047147.44 654171.066 0, 1047440.263 654173.85 0, 1047733.087 654176.651 0,
+ 1048025.91 654179.469 0, 1048318.733 654182.304 0, 1048611.556 654185.157 0, 1048904.379 654188.027 0, 1049195.793 654190.9 0, 1049490.024 654193.818 0, 1049782.846 654196.739 0, 1050075.668 654199.678 0, 1050368.49 654202.634 0, 1050661.312 654205.607 0,
+ 1050954.133 654208.598 0, 1051246.955 654211.606 0, 1051539.776 654214.63 0, 1051832.597 654217.673 0, 1052125.418 654220.732 0, 1052418.239 654223.809 0, 1052711.059 654226.902 0, 1053003.879 654230.013 0, 1053296.699 654233.142 0, 1053589.519 654236.287 0,
+ 1053882.339 654239.45 0, 1054175.159 654242.63 0, 1054467.978 654245.827 0, 1054760.797 654249.042 0, 1055053.616 654252.274 0, 1055346.435 654255.523 0, 1055639.254 654258.789 0, 1055932.072 654262.072 0, 1056223.482 654265.357 0, 1056286.398 648698.202 0,
+ 1056349.31 643131.365 0))
+
+POLYGON ((1070278.512 654444.053 0, 1069987.109 654439.945 0, 1069694.301 654435.834 0, 1069401.493 654431.741 0, 1069108.685 654427.664 0, 1068815.876 654423.606 0, 1068523.067 654419.564 0, 1068230.258 654415.539 0, 1067937.449 654411.532 0, 1067644.639 654407.542 0,
+ 1067351.829 654403.569 0, 1067059.019 654399.614 0, 1066766.209 654395.675 0, 1066473.398 654391.754 0, 1066180.587 654387.85 0, 1065887.776 654383.964 0, 1065594.965 654380.094 0, 1065302.153 654376.242 0, 1065009.342 654372.407 0, 1064716.53 654368.589 0,
+ 1064423.718 654364.789 0, 1064130.905 654361.006 0, 1063838.093 654357.24 0, 1063545.28 654353.491 0, 1063251.06 654349.741 0, 1062959.653 654346.045 0, 1062666.84 654342.348 0, 1062374.026 654338.668 0, 1062081.212 654335.006 0, 1061788.398 654331.36 0,
+ 1061495.584 654327.732 0, 1061202.769 654324.121 0, 1060909.955 654320.528 0, 1060617.14 654316.951 0, 1060324.324 654313.392 0, 1060031.509 654309.85 0, 1059738.693 654306.325 0, 1059445.878 654302.818 0, 1059153.062 654299.328 0, 1058860.245 654295.855 0,
+ 1058567.429 654292.399 0, 1058274.612 654288.96 0, 1057981.795 654285.539 0, 1057688.978 654282.135 0, 1057396.161 654278.748 0, 1057103.344 654275.378 0, 1056810.526 654272.026 0, 1056517.708 654268.691 0, 1056223.482 654265.357 0, 1056160.563 659832.828 0,
+ 1056097.64 665400.612 0, 1056391.208 665403.938 0, 1056683.37 665407.266 0, 1056975.532 665410.611 0, 1057267.694 665413.973 0, 1057559.856 665417.352 0, 1057852.018 665420.749 0, 1058144.179 665424.162 0, 1058436.341 665427.593 0, 1058728.502 665431.041 0,
+ 1059020.662 665434.507 0, 1059312.823 665437.989 0, 1059604.984 665441.489 0, 1059897.144 665445.005 0, 1060189.304 665448.539 0, 1060481.464 665452.091 0, 1060773.623 665455.659 0, 1061065.783 665459.245 0, 1061357.942 665462.847 0, 1061650.101 665466.467 0,
+ 1061942.259 665470.105 0, 1062234.418 665473.759 0, 1062526.576 665477.431 0, 1062818.734 665481.119 0, 1063109.489 665484.808 0, 1063403.05 665488.549 0, 1063695.207 665492.289 0, 1063987.365 665496.047 0, 1064279.522 665499.821 0, 1064571.678 665503.613 0,
+ 1064863.835 665507.422 0, 1065155.991 665511.249 0, 1065448.147 665515.092 0, 1065740.303 665518.953 0, 1066032.459 665522.831 0, 1066324.614 665526.726 0, 1066616.769 665530.639 0, 1066908.924 665534.568 0, 1067201.079 665538.515 0, 1067493.234 665542.479 0,
+ 1067785.388 665546.46 0, 1068077.542 665550.458 0, 1068369.696 665554.474 0, 1068661.849 665558.506 0, 1068954.003 665562.556 0, 1069246.156 665566.623 0, 1069538.308 665570.708 0, 1069830.461 665574.809 0, 1070121.211 665578.908 0, 1070199.864 660011.324 0,
+ 1070278.512 654444.053 0))
+
+POLYGON ((1084144.222 665796.822 0, 1083853.482 665791.902 0, 1083561.343 665786.975 0, 1083269.202 665782.065 0, 1082977.062 665777.173 0, 1082684.921 665772.298 0, 1082392.78 665767.44 0, 1082100.639 665762.599 0, 1081808.497 665757.775 0, 1081516.356 665752.969 0,
+ 1081224.213 665748.179 0, 1080932.071 665743.407 0, 1080639.928 665738.652 0, 1080347.785 665733.915 0, 1080055.642 665729.194 0, 1079763.499 665724.491 0, 1079471.355 665719.805 0, 1079179.211 665715.136 0, 1078887.066 665710.484 0, 1078594.922 665705.849 0,
+ 1078302.777 665701.232 0, 1078010.632 665696.632 0, 1077718.486 665692.049 0, 1077426.341 665687.483 0, 1077132.793 665682.913 0, 1076842.048 665678.403 0, 1076549.902 665673.889 0, 1076257.755 665669.392 0, 1075965.608 665664.912 0, 1075673.461 665660.45 0,
+ 1075381.313 665656.004 0, 1075089.165 665651.576 0, 1074797.017 665647.165 0, 1074504.869 665642.771 0, 1074212.72 665638.395 0, 1073920.571 665634.035 0, 1073628.422 665629.693 0, 1073336.273 665625.368 0, 1073044.123 665621.06 0, 1072751.973 665616.77 0,
+ 1072459.823 665612.496 0, 1072167.673 665608.24 0, 1071875.522 665604.001 0, 1071583.371 665599.779 0, 1071291.22 665595.574 0, 1070999.069 665591.387 0, 1070706.917 665587.217 0, 1070414.765 665583.064 0, 1070121.211 665578.908 0, 1070042.554 671146.801 0,
+ 1069963.893 676714.999 0, 1070256.789 676719.146 0, 1070548.285 676723.29 0, 1070839.781 676727.451 0, 1071131.277 676731.629 0, 1071422.773 676735.824 0, 1071714.268 676740.036 0, 1072005.764 676744.266 0, 1072297.259 676748.512 0, 1072588.753 676752.776 0,
+ 1072880.248 676757.057 0, 1073171.742 676761.355 0, 1073463.236 676765.671 0, 1073754.729 676770.003 0, 1074046.223 676774.353 0, 1074337.716 676778.72 0, 1074629.209 676783.104 0, 1074920.702 676787.505 0, 1075212.194 676791.923 0, 1075503.686 676796.358 0,
+ 1075795.178 676800.811 0, 1076086.67 676805.281 0, 1076378.161 676809.768 0, 1076669.652 676814.272 0, 1076959.745 676818.771 0, 1077252.633 676823.331 0, 1077544.124 676827.887 0, 1077835.614 676832.459 0, 1078127.103 676837.049 0, 1078418.593 676841.656 0,
+ 1078710.082 676846.28 0, 1079001.571 676850.922 0, 1079293.06 676855.58 0, 1079584.548 676860.256 0, 1079876.036 676864.948 0, 1080167.524 676869.658 0, 1080459.011 676874.385 0, 1080750.499 676879.13 0, 1081041.986 676883.891 0, 1081333.472 676888.67 0,
+ 1081624.959 676893.465 0, 1081916.445 676898.278 0, 1082207.931 676903.108 0, 1082499.416 676907.955 0, 1082790.902 676912.82 0, 1083082.387 676917.701 0, 1083373.871 676922.6 0, 1083665.356 676927.516 0, 1083955.443 676932.425 0, 1084049.835 671364.471 0,
+ 1084144.222 665796.822 0))
+
+POLYGON ((1097946.323 677189.378 0, 1097656.248 677183.649 0, 1097364.779 677177.91 0, 1097073.309 677172.188 0, 1096781.839 677166.483 0, 1096490.369 677160.795 0, 1096198.898 677155.125 0, 1095907.427 677149.471 0, 1095615.956 677143.835 0, 1095324.484 677138.215 0,
+ 1095033.012 677132.613 0, 1094741.54 677127.029 0, 1094450.067 677121.461 0, 1094158.594 677115.91 0, 1093867.121 677110.377 0, 1093575.647 677104.861 0, 1093284.173 677099.362 0, 1092992.699 677093.88 0, 1092701.224 677088.415 0, 1092409.749 677082.967 0,
+ 1092118.274 677077.537 0, 1091826.798 677072.123 0, 1091535.322 677066.727 0, 1091243.846 677061.348 0, 1090950.974 677055.961 0, 1090660.893 677050.642 0, 1090369.415 677045.314 0, 1090077.938 677040.004 0, 1089786.46 677034.71 0, 1089494.982 677029.434 0,
+ 1089203.504 677024.175 0, 1088912.025 677018.934 0, 1088620.546 677013.709 0, 1088329.066 677008.502 0, 1088037.587 677003.311 0, 1087746.107 676998.138 0, 1087454.626 676992.982 0, 1087163.146 676987.843 0, 1086871.665 676982.722 0, 1086580.184 676977.617 0,
+ 1086288.702 676972.53 0, 1085997.221 676967.46 0, 1085705.739 676962.407 0, 1085414.256 676957.371 0, 1085122.773 676952.352 0, 1084831.291 676947.35 0, 1084539.807 676942.366 0, 1084248.324 676937.399 0, 1083955.443 676932.425 0, 1083861.046 682500.681 0,
+ 1083766.644 688069.237 0, 1084058.866 688074.2 0, 1084349.694 688079.156 0, 1084640.522 688084.129 0, 1084931.349 688089.119 0, 1085222.176 688094.127 0, 1085513.003 688099.151 0, 1085803.83 688104.193 0, 1086094.656 688109.252 0, 1086385.482 688114.328 0,
+ 1086676.308 688119.421 0, 1086967.133 688124.531 0, 1087257.958 688129.658 0, 1087548.783 688134.803 0, 1087839.607 688139.964 0, 1088130.432 688145.143 0, 1088421.255 688150.338 0, 1088712.079 688155.551 0, 1089002.902 688160.781 0, 1089293.725 688166.028 0,
+ 1089584.548 688171.293 0, 1089875.37 688176.574 0, 1090166.192 688181.872 0, 1090457.014 688187.188 0, 1090746.443 688192.495 0, 1091038.656 688197.87 0, 1091329.477 688203.237 0, 1091620.298 688208.621 0, 1091911.118 688214.022 0, 1092201.938 688219.441 0,
+ 1092492.757 688224.876 0, 1092783.576 688230.329 0, 1093074.395 688235.798 0, 1093365.214 688241.285 0, 1093656.032 688246.789 0, 1093946.85 688252.31 0, 1094237.667 688257.848 0, 1094528.484 688263.403 0, 1094819.301 688268.975 0, 1095110.118 688274.565 0,
+ 1095400.934 688280.171 0, 1095691.75 688285.795 0, 1095982.566 688291.436 0, 1096273.381 688297.094 0, 1096564.196 688302.769 0, 1096855.01 688308.461 0, 1097145.825 688314.17 0, 1097436.639 688319.896 0, 1097726.061 688325.612 0, 1097836.195 682757.346 0,
+ 1097946.323 677189.378 0))
+
+POLYGON ((1111684.698 688621.425 0, 1111395.291 688614.891 0, 1111104.494 688608.343 0, 1110813.697 688601.812 0, 1110522.9 688595.299 0, 1110232.102 688588.802 0, 1109941.304 688582.322 0, 1109650.506 688575.86 0, 1109359.707 688569.415 0, 1109068.908 688562.987 0,
+ 1108778.108 688556.576 0, 1108487.308 688550.182 0, 1108196.508 688543.805 0, 1107905.707 688537.445 0, 1107614.906 688531.103 0, 1107324.104 688524.777 0, 1107033.302 688518.469 0, 1106742.5 688512.178 0, 1106451.697 688505.904 0, 1106160.894 688499.647 0,
+ 1105870.091 688493.407 0, 1105579.287 688487.184 0, 1105288.483 688480.978 0, 1104997.679 688474.79 0, 1104705.484 688468.589 0, 1104416.069 688462.464 0, 1104125.263 688456.327 0, 1103834.457 688450.207 0, 1103543.651 688444.104 0, 1103252.845 688438.018 0,
+ 1102962.038 688431.95 0, 1102671.23 688425.898 0, 1102380.423 688419.864 0, 1102089.615 688413.846 0, 1101798.806 688407.846 0, 1101507.997 688401.863 0, 1101217.188 688395.897 0, 1100926.379 688389.948 0, 1100635.569 688384.016 0, 1100344.759 688378.102 0,
+ 1100053.949 688372.204 0, 1099763.138 688366.324 0, 1099472.327 688360.46 0, 1099181.515 688354.614 0, 1098890.703 688348.785 0, 1098599.891 688342.973 0, 1098309.078 688337.178 0, 1098018.265 688331.401 0, 1097726.061 688325.612 0, 1097615.921 693894.175 0,
+ 1097505.775 699463.029 0, 1097797.321 699468.804 0, 1098087.479 699474.569 0, 1098377.636 699480.35 0, 1098667.792 699486.149 0, 1098957.949 699491.965 0, 1099248.105 699497.798 0, 1099538.26 699503.648 0, 1099828.416 699509.515 0, 1100118.571 699515.4 0,
+ 1100408.725 699521.301 0, 1100698.88 699527.219 0, 1100989.033 699533.155 0, 1101279.187 699539.107 0, 1101569.34 699545.077 0, 1101859.493 699551.064 0, 1102149.646 699557.068 0, 1102439.798 699563.088 0, 1102729.95 699569.126 0, 1103020.101 699575.181 0,
+ 1103310.252 699581.254 0, 1103600.403 699587.343 0, 1103890.553 699593.449 0, 1104180.703 699599.572 0, 1104469.466 699605.683 0, 1104761.002 699611.87 0, 1105051.151 699618.045 0, 1105341.3 699624.236 0, 1105631.448 699630.445 0, 1105921.596 699636.671 0,
+ 1106211.743 699642.914 0, 1106501.89 699649.174 0, 1106792.037 699655.451 0, 1107082.184 699661.745 0, 1107372.33 699668.056 0, 1107662.475 699674.384 0, 1107952.62 699680.73 0, 1108242.765 699687.092 0, 1108532.91 699693.472 0, 1108823.054 699699.868 0,
+ 1109113.198 699706.282 0, 1109403.341 699712.712 0, 1109693.484 699719.16 0, 1109983.627 699725.625 0, 1110273.769 699732.107 0, 1110563.911 699738.606 0, 1110854.052 699745.122 0, 1111144.193 699751.655 0, 1111432.948 699758.174 0, 1111558.826 694189.653 0,
+ 1111684.698 688621.425 0))
+
+POLYGON ((1125359.231 700092.665 0, 1125070.494 700085.331 0, 1124780.373 700077.978 0, 1124490.251 700070.642 0, 1124200.128 700063.323 0, 1123910.006 700056.022 0, 1123619.882 700048.737 0, 1123329.759 700041.47 0, 1123039.635 700034.219 0, 1122749.51 700026.986 0,
+ 1122459.385 700019.77 0, 1122169.26 700012.571 0, 1121879.134 700005.388 0, 1121589.008 699998.223 0, 1121298.882 699991.075 0, 1121008.755 699983.945 0, 1120718.627 699976.831 0, 1120428.499 699969.734 0, 1120138.371 699962.654 0, 1119848.242 699955.592 0,
+ 1119558.113 699948.546 0, 1119267.984 699941.518 0, 1118977.854 699934.507 0, 1118687.723 699927.512 0, 1118396.208 699920.502 0, 1118107.462 699913.575 0, 1117817.33 699906.632 0, 1117527.198 699899.706 0, 1117237.066 699892.797 0, 1116946.933 699885.905 0,
+ 1116656.8 699879.031 0, 1116366.666 699872.173 0, 1116076.532 699865.332 0, 1115786.398 699858.509 0, 1115496.263 699851.703 0, 1115206.128 699844.913 0, 1114915.992 699838.141 0, 1114625.856 699831.386 0, 1114335.72 699824.648 0, 1114045.583 699817.927 0,
+ 1113755.446 699811.223 0, 1113465.308 699804.536 0, 1113175.17 699797.866 0, 1112885.032 699791.213 0, 1112594.893 699784.578 0, 1112304.754 699777.959 0, 1112014.614 699771.357 0, 1111724.474 699764.773 0, 1111432.948 699758.174 0, 1111307.063 705326.984 0,
+ 1111181.172 710896.079 0, 1111472.04 710902.663 0, 1111761.524 710909.232 0, 1112051.008 710915.819 0, 1112340.492 710922.422 0, 1112629.975 710929.043 0, 1112919.458 710935.681 0, 1113208.94 710942.336 0, 1113498.422 710949.007 0, 1113787.904 710955.696 0,
+ 1114077.385 710962.402 0, 1114366.866 710969.125 0, 1114656.346 710975.865 0, 1114945.826 710982.622 0, 1115235.306 710989.396 0, 1115524.785 710996.187 0, 1115814.264 711002.995 0, 1116103.743 711009.82 0, 1116393.221 711016.662 0, 1116682.698 711023.521 0,
+ 1116972.176 711030.398 0, 1117261.652 711037.291 0, 1117551.129 711044.201 0, 1117840.605 711051.128 0, 1118128.699 711058.04 0, 1118419.556 711065.034 0, 1118709.03 711072.013 0, 1118998.505 711079.008 0, 1119287.979 711086.021 0, 1119577.452 711093.05 0,
+ 1119866.926 711100.097 0, 1120156.398 711107.161 0, 1120445.871 711114.241 0, 1120735.343 711121.339 0, 1121024.814 711128.454 0, 1121314.285 711135.586 0, 1121603.756 711142.734 0, 1121893.226 711149.9 0, 1122182.696 711157.083 0, 1122472.165 711164.283 0,
+ 1122761.634 711171.5 0, 1123051.103 711178.734 0, 1123340.571 711185.985 0, 1123630.038 711193.253 0, 1123919.506 711200.538 0, 1124208.972 711207.841 0, 1124498.439 711215.16 0, 1124787.905 711222.496 0, 1125075.99 711229.814 0, 1125217.614 705661.097 0,
+ 1125359.231 700092.665 0))
+
+POLYGON ((1138969.809 711602.804 0, 1138681.744 711594.672 0, 1138392.3 711586.518 0, 1138102.855 711578.381 0, 1137813.41 711570.261 0, 1137523.965 711562.158 0, 1137234.519 711554.072 0, 1136945.072 711546.003 0, 1136655.625 711537.951 0, 1136366.178 711529.916 0,
+ 1136076.73 711521.899 0, 1135787.282 711513.898 0, 1135497.833 711505.914 0, 1135208.384 711497.948 0, 1134918.934 711489.998 0, 1134629.484 711482.066 0, 1134340.033 711474.15 0, 1134050.582 711466.252 0, 1133761.13 711458.37 0, 1133471.678 711450.506 0,
+ 1133182.225 711442.658 0, 1132892.772 711434.828 0, 1132603.319 711427.015 0, 1132313.865 711419.219 0, 1132023.031 711411.402 0, 1131734.956 711403.677 0, 1131445.501 711395.932 0, 1131156.045 711388.204 0, 1130866.589 711380.493 0, 1130577.132 711372.799 0,
+ 1130287.675 711365.122 0, 1129998.217 711357.462 0, 1129708.759 711349.819 0, 1129419.301 711342.193 0, 1129129.842 711334.584 0, 1128840.382 711326.993 0, 1128550.923 711319.418 0, 1128261.462 711311.86 0, 1127972.002 711304.319 0, 1127682.54 711296.796 0,
+ 1127393.079 711289.289 0, 1127103.617 711281.799 0, 1126814.154 711274.327 0, 1126524.691 711266.871 0, 1126235.228 711259.433 0, 1125945.764 711252.011 0, 1125656.3 711244.607 0, 1125366.835 711237.22 0, 1125075.99 711229.814 0, 1124934.358 716798.813 0,
+ 1124792.72 722368.09 0, 1125082.906 722375.479 0, 1125371.716 722382.85 0, 1125660.524 722390.237 0, 1125949.332 722397.642 0, 1126238.14 722405.064 0, 1126526.948 722412.502 0, 1126815.754 722419.958 0, 1127104.561 722427.43 0, 1127393.367 722434.92 0,
+ 1127682.172 722442.427 0, 1127970.978 722449.95 0, 1128259.782 722457.491 0, 1128548.587 722465.049 0, 1128837.39 722472.623 0, 1129126.194 722480.215 0, 1129414.997 722487.823 0, 1129703.799 722495.449 0, 1129992.601 722503.092 0, 1130281.403 722510.751 0,
+ 1130570.204 722518.428 0, 1130859.004 722526.121 0, 1131147.805 722533.832 0, 1131436.604 722541.56 0, 1131724.027 722549.267 0, 1132014.203 722557.066 0, 1132303.001 722564.844 0, 1132591.799 722572.64 0, 1132880.596 722580.453 0, 1133169.393 722588.282 0,
+ 1133458.19 722596.129 0, 1133746.986 722603.992 0, 1134035.782 722611.873 0, 1134324.577 722619.77 0, 1134613.371 722627.685 0, 1134902.166 722635.617 0, 1135190.959 722643.565 0, 1135479.753 722651.531 0, 1135768.545 722659.513 0, 1136057.338 722667.513 0,
+ 1136346.13 722675.529 0, 1136634.921 722683.563 0, 1136923.712 722691.614 0, 1137212.502 722699.681 0, 1137501.292 722707.766 0, 1137790.082 722715.867 0, 1138078.871 722723.986 0, 1138367.66 722732.121 0, 1138655.073 722740.235 0, 1138812.445 717171.38 0,
+ 1138969.809 711602.804 0))
+
+POLYGON ((1152516.319 723151.542 0, 1152228.928 723142.616 0, 1151940.163 723133.665 0, 1151651.398 723124.73 0, 1151362.633 723115.813 0, 1151073.867 723106.913 0, 1150785.1 723098.029 0, 1150496.333 723089.163 0, 1150207.566 723080.313 0, 1149918.798 723071.481 0,
+ 1149630.029 723062.665 0, 1149341.26 723053.867 0, 1149052.49 723045.086 0, 1148763.72 723036.321 0, 1148474.95 723027.574 0, 1148186.178 723018.843 0, 1147897.407 723010.13 0, 1147608.634 723001.433 0, 1147319.862 722992.754 0, 1147031.089 722984.091 0,
+ 1146742.315 722975.446 0, 1146453.541 722966.818 0, 1146164.766 722958.206 0, 1145875.991 722949.612 0, 1145585.841 722940.993 0, 1145298.439 722932.474 0, 1145009.662 722923.93 0, 1144720.885 722915.404 0, 1144432.107 722906.894 0, 1144143.328 722898.402 0,
+ 1143854.55 722889.926 0, 1143565.77 722881.468 0, 1143276.991 722873.026 0, 1142988.21 722864.602 0, 1142699.43 722856.194 0, 1142410.648 722847.804 0, 1142121.867 722839.43 0, 1141833.084 722831.074 0, 1141544.302 722822.734 0, 1141255.518 722814.412 0,
+ 1140966.735 722806.106 0, 1140677.951 722797.818 0, 1140389.166 722789.546 0, 1140100.381 722781.292 0, 1139811.595 722773.054 0, 1139522.809 722764.833 0, 1139234.022 722756.63 0, 1138945.235 722748.443 0, 1138655.073 722740.235 0, 1138497.692 728309.365 0,
+ 1138340.305 733878.766 0, 1138629.809 733886.956 0, 1138917.94 733895.124 0, 1139206.071 733903.309 0, 1139494.202 733911.51 0, 1139782.332 733919.729 0, 1140070.461 733927.965 0, 1140358.59 733936.218 0, 1140646.719 733944.488 0, 1140934.847 733952.774 0,
+ 1141222.975 733961.078 0, 1141511.102 733969.398 0, 1141799.229 733977.736 0, 1142087.355 733986.09 0, 1142375.48 733994.462 0, 1142663.606 734002.85 0, 1142951.73 734011.256 0, 1143239.855 734019.678 0, 1143527.978 734028.117 0, 1143816.101 734036.574 0,
+ 1144104.224 734045.047 0, 1144392.346 734053.537 0, 1144680.468 734062.044 0, 1144968.589 734070.568 0, 1145255.339 734079.069 0, 1145544.83 734087.667 0, 1145832.95 734096.242 0, 1146121.069 734104.834 0, 1146409.188 734113.443 0, 1146697.306 734122.069 0,
+ 1146985.424 734130.712 0, 1147273.541 734139.371 0, 1147561.657 734148.048 0, 1147849.773 734156.742 0, 1148137.889 734165.452 0, 1148426.004 734174.18 0, 1148714.119 734182.924 0, 1149002.233 734191.686 0, 1149290.346 734200.464 0, 1149578.459 734209.26 0,
+ 1149866.572 734218.072 0, 1150154.684 734226.901 0, 1150442.796 734235.748 0, 1150730.906 734244.611 0, 1151019.017 734253.491 0, 1151307.127 734262.388 0, 1151595.236 734271.302 0, 1151883.345 734280.234 0, 1152170.084 734289.139 0, 1152343.206 728720.205 0,
+ 1152516.319 723151.542 0))
+
+POLYGON ((1165998.648 734738.582 0, 1165711.934 734728.867 0, 1165423.851 734719.122 0, 1165135.768 734709.393 0, 1164847.685 734699.682 0, 1164559.6 734689.988 0, 1164271.516 734680.311 0, 1163983.43 734670.651 0, 1163695.344 734661.008 0, 1163407.258 734651.381 0,
+ 1163119.171 734641.772 0, 1162831.083 734632.18 0, 1162542.995 734622.604 0, 1162254.906 734613.046 0, 1161966.817 734603.504 0, 1161678.727 734593.98 0, 1161390.637 734584.472 0, 1161102.546 734574.981 0, 1160814.454 734565.508 0, 1160526.362 734556.051 0,
+ 1160238.269 734546.611 0, 1159950.176 734537.188 0, 1159662.082 734527.782 0, 1159373.988 734518.393 0, 1159084.525 734508.977 0, 1158797.798 734499.666 0, 1158509.702 734490.328 0, 1158221.605 734481.007 0, 1157933.508 734471.703 0, 1157645.411 734462.416 0,
+ 1157357.313 734453.146 0, 1157069.214 734443.893 0, 1156781.115 734434.656 0, 1156493.015 734425.437 0, 1156204.914 734416.235 0, 1155916.814 734407.049 0, 1155628.712 734397.881 0, 1155340.61 734388.729 0, 1155052.508 734379.595 0, 1154764.405 734370.477 0,
+ 1154476.301 734361.376 0, 1154188.197 734352.293 0, 1153900.092 734343.226 0, 1153611.987 734334.176 0, 1153323.882 734325.143 0, 1153035.775 734316.127 0, 1152747.669 734307.129 0, 1152459.561 734298.147 0, 1152170.084 734289.139 0, 1151996.954 739858.341 0,
+ 1151823.816 745427.808 0, 1152112.634 745436.795 0, 1152400.086 745445.756 0, 1152687.537 745454.735 0, 1152974.988 745463.73 0, 1153262.438 745472.742 0, 1153549.887 745481.772 0, 1153837.336 745490.818 0, 1154124.785 745499.881 0, 1154412.233 745508.961 0,
+ 1154699.68 745518.058 0, 1154987.127 745527.171 0, 1155274.574 745536.302 0, 1155562.019 745545.45 0, 1155849.465 745554.614 0, 1156136.91 745563.796 0, 1156424.354 745572.994 0, 1156711.797 745582.209 0, 1156999.241 745591.441 0, 1157286.683 745600.691 0,
+ 1157574.125 745609.957 0, 1157861.567 745619.24 0, 1158149.008 745628.539 0, 1158436.448 745637.856 0, 1158722.522 745647.146 0, 1159011.327 745656.541 0, 1159298.766 745665.908 0, 1159586.204 745675.293 0, 1159873.642 745684.694 0, 1160161.079 745694.112 0,
+ 1160448.515 745703.548 0, 1160735.951 745713 0, 1161023.387 745722.469 0, 1161310.822 745731.955 0, 1161598.256 745741.458 0, 1161885.69 745750.977 0, 1162173.123 745760.514 0, 1162460.555 745770.068 0, 1162747.988 745779.638 0, 1163035.419 745789.226 0,
+ 1163322.85 745798.83 0, 1163610.28 745808.452 0, 1163897.71 745818.09 0, 1164185.139 745827.745 0, 1164472.568 745837.417 0, 1164759.996 745847.106 0, 1165047.424 745856.812 0, 1165334.851 745866.535 0, 1165620.913 745876.228 0, 1165809.785 740307.273 0,
+ 1165998.648 734738.582 0))
+
+POLYGON ((1179416.688 746363.626 0, 1179130.652 746353.124 0, 1178843.254 746342.59 0, 1178555.855 746332.072 0, 1178268.455 746321.571 0, 1177981.055 746311.087 0, 1177693.654 746300.619 0, 1177406.253 746290.169 0, 1177118.851 746279.736 0, 1176831.448 746269.319 0,
+ 1176544.045 746258.92 0, 1176256.641 746248.537 0, 1175969.237 746238.172 0, 1175681.831 746227.823 0, 1175394.426 746217.491 0, 1175107.019 746207.176 0, 1174819.613 746196.878 0, 1174532.205 746186.597 0, 1174244.797 746176.333 0, 1173957.388 746166.086 0,
+ 1173669.979 746155.855 0, 1173382.569 746145.642 0, 1173095.158 746135.446 0, 1172807.747 746125.266 0, 1172518.972 746115.055 0, 1172232.923 746104.958 0, 1171945.51 746094.829 0, 1171658.097 746084.717 0, 1171370.683 746074.622 0, 1171083.268 746064.544 0,
+ 1170795.853 746054.483 0, 1170508.437 746044.438 0, 1170221.02 746034.411 0, 1169933.603 746024.401 0, 1169646.185 746014.407 0, 1169358.767 746004.431 0, 1169071.348 745994.471 0, 1168783.929 745984.528 0, 1168496.509 745974.602 0, 1168209.088 745964.693 0,
+ 1167921.667 745954.801 0, 1167634.245 745944.926 0, 1167346.823 745935.068 0, 1167059.4 745925.227 0, 1166771.977 745915.403 0, 1166484.553 745905.595 0, 1166197.128 745895.805 0, 1165909.703 745886.031 0, 1165620.913 745876.228 0, 1165432.032 751445.444 0,
+ 1165243.142 757014.918 0, 1165531.273 757024.698 0, 1165818.043 757034.45 0, 1166104.812 757044.218 0, 1166391.58 757054.003 0, 1166678.348 757063.805 0, 1166965.115 757073.623 0, 1167251.882 757083.459 0, 1167538.648 757093.312 0, 1167825.414 757103.181 0,
+ 1168112.179 757113.067 0, 1168398.943 757122.971 0, 1168685.707 757132.891 0, 1168972.47 757142.828 0, 1169259.233 757152.781 0, 1169545.995 757162.752 0, 1169832.757 757172.74 0, 1170119.518 757182.744 0, 1170406.278 757192.766 0, 1170693.038 757202.804 0,
+ 1170979.797 757212.859 0, 1171266.555 757222.931 0, 1171553.313 757233.02 0, 1171840.071 757243.125 0, 1172125.467 757253.2 0, 1172413.583 757263.387 0, 1172700.339 757273.544 0, 1172987.094 757283.717 0, 1173273.848 757293.907 0, 1173560.602 757304.114 0,
+ 1173847.355 757314.338 0, 1174134.108 757324.579 0, 1174420.86 757334.836 0, 1174707.611 757345.111 0, 1174994.362 757355.402 0, 1175281.112 757365.711 0, 1175567.862 757376.036 0, 1175854.611 757386.378 0, 1176141.359 757396.737 0, 1176428.107 757407.112 0,
+ 1176714.854 757417.505 0, 1177001.6 757427.915 0, 1177288.346 757438.341 0, 1177575.091 757448.784 0, 1177861.836 757459.244 0, 1178148.58 757469.721 0, 1178435.323 757480.215 0, 1178722.066 757490.726 0, 1179007.45 757501.204 0, 1179212.074 751932.286 0,
+ 1179416.688 746363.626 0))
+
+POLYGON ((1192770.329 758026.375 0, 1192484.974 758015.091 0, 1192198.262 758003.77 0, 1191911.549 757992.466 0, 1191624.836 757981.179 0, 1191338.122 757969.909 0, 1191051.408 757958.655 0, 1190764.692 757947.419 0, 1190477.976 757936.199 0, 1190191.26 757924.996 0,
+ 1189904.542 757913.811 0, 1189617.825 757902.642 0, 1189331.106 757891.49 0, 1189044.387 757880.354 0, 1188757.667 757869.236 0, 1188470.946 757858.135 0, 1188184.225 757847.05 0, 1187897.503 757835.982 0, 1187610.781 757824.931 0, 1187324.058 757813.897 0,
+ 1187037.334 757802.88 0, 1186750.609 757791.88 0, 1186463.884 757780.897 0, 1186177.159 757769.93 0, 1185889.075 757758.929 0, 1185603.705 757748.048 0, 1185316.978 757737.132 0, 1185030.249 757726.233 0, 1184743.52 757715.351 0, 1184456.791 757704.486 0,
+ 1184170.061 757693.638 0, 1183883.33 757682.806 0, 1183596.598 757671.992 0, 1183309.866 757661.194 0, 1183023.133 757650.413 0, 1182736.4 757639.649 0, 1182449.666 757628.902 0, 1182162.931 757618.172 0, 1181876.196 757607.459 0, 1181589.46 757596.762 0,
+ 1181302.723 757586.083 0, 1181015.986 757575.42 0, 1180729.248 757564.774 0, 1180442.51 757554.145 0, 1180155.771 757543.533 0, 1179869.031 757532.938 0, 1179582.291 757522.36 0, 1179295.55 757511.798 0, 1179007.45 757501.204 0, 1178802.816 763070.375 0,
+ 1178598.174 768639.797 0, 1178885.616 768650.367 0, 1179171.701 768660.904 0, 1179457.786 768671.459 0, 1179743.87 768682.029 0, 1180029.953 768692.617 0, 1180316.036 768703.222 0, 1180602.118 768713.843 0, 1180888.2 768724.482 0, 1181174.281 768735.137 0,
+ 1181460.361 768745.809 0, 1181746.441 768756.498 0, 1182032.52 768767.203 0, 1182318.598 768777.926 0, 1182604.676 768788.665 0, 1182890.753 768799.421 0, 1183176.83 768810.194 0, 1183462.906 768820.984 0, 1183748.981 768831.791 0, 1184035.056 768842.614 0,
+ 1184321.13 768853.455 0, 1184607.203 768864.312 0, 1184893.276 768875.186 0, 1185179.348 768886.077 0, 1185464.065 768896.933 0, 1185751.49 768907.909 0, 1186037.561 768918.85 0, 1186323.63 768929.809 0, 1186609.699 768940.784 0, 1186895.767 768951.776 0,
+ 1187181.835 768962.784 0, 1187467.902 768973.81 0, 1187753.968 768984.852 0, 1188040.034 768995.911 0, 1188326.099 769006.988 0, 1188612.163 769018.08 0, 1188898.227 769029.19 0, 1189184.29 769040.317 0, 1189470.352 769051.46 0, 1189756.414 769062.621 0,
+ 1190042.475 769073.798 0, 1190328.535 769084.992 0, 1190614.595 769096.202 0, 1190900.654 769107.43 0, 1191186.712 769118.674 0, 1191472.77 769129.936 0, 1191758.827 769141.214 0, 1192044.884 769152.509 0, 1192329.586 769163.767 0, 1192549.962 763594.946 0,
+ 1192770.329 758026.375 0))
+
+POLYGON ((1206059.463 769726.529 0, 1205774.792 769714.466 0, 1205488.768 769702.363 0, 1205202.744 769690.277 0, 1204916.719 769678.207 0, 1204630.694 769666.155 0, 1204344.668 769654.119 0, 1204058.641 769642.1 0, 1203772.613 769630.098 0, 1203486.585 769618.113 0,
+ 1203200.556 769606.145 0, 1202914.526 769594.193 0, 1202628.496 769582.258 0, 1202342.464 769570.34 0, 1202056.433 769558.439 0, 1201770.4 769546.555 0, 1201484.367 769534.688 0, 1201198.333 769522.837 0, 1200912.298 769511.003 0, 1200626.263 769499.187 0,
+ 1200340.227 769487.387 0, 1200054.19 769475.603 0, 1199768.153 769463.837 0, 1199482.114 769452.087 0, 1199194.724 769440.299 0, 1198910.036 769428.639 0, 1198623.996 769416.94 0, 1198337.955 769405.258 0, 1198051.914 769393.592 0, 1197765.871 769381.944 0,
+ 1197479.828 769370.312 0, 1197193.785 769358.697 0, 1196907.74 769347.099 0, 1196621.695 769335.518 0, 1196335.65 769323.954 0, 1196049.603 769312.406 0, 1195763.556 769300.875 0, 1195477.509 769289.362 0, 1195191.46 769277.865 0, 1194905.411 769266.384 0,
+ 1194619.362 769254.921 0, 1194333.311 769243.475 0, 1194047.26 769232.045 0, 1193761.208 769220.632 0, 1193475.156 769209.236 0, 1193189.103 769197.857 0, 1192903.049 769186.495 0, 1192616.995 769175.149 0, 1192329.586 769163.767 0, 1192109.2 774732.835 0,
+ 1191888.805 780302.146 0, 1192175.554 780313.502 0, 1192460.953 780324.822 0, 1192746.351 780336.158 0, 1193031.749 780347.511 0, 1193317.146 780358.881 0, 1193602.542 780370.267 0, 1193887.937 780381.671 0, 1194173.332 780393.091 0, 1194458.726 780404.528 0,
+ 1194744.12 780415.982 0, 1195029.513 780427.453 0, 1195314.905 780438.94 0, 1195600.296 780450.444 0, 1195885.687 780461.965 0, 1196171.077 780473.503 0, 1196456.467 780485.058 0, 1196741.855 780496.629 0, 1197027.243 780508.218 0, 1197312.631 780519.823 0,
+ 1197598.017 780531.445 0, 1197883.403 780543.083 0, 1198168.789 780554.739 0, 1198454.173 780566.411 0, 1198738.208 780578.044 0, 1199024.941 780589.806 0, 1199310.323 780601.528 0, 1199595.705 780613.268 0, 1199881.086 780625.024 0, 1200166.467 780636.797 0,
+ 1200451.847 780648.587 0, 1200737.226 780660.393 0, 1201022.604 780672.217 0, 1201307.982 780684.057 0, 1201593.359 780695.914 0, 1201878.735 780707.788 0, 1202164.111 780719.678 0, 1202449.486 780731.586 0, 1202734.86 780743.51 0, 1203020.234 780755.451 0,
+ 1203305.606 780767.408 0, 1203590.978 780779.383 0, 1203876.35 780791.374 0, 1204161.721 780803.383 0, 1204447.091 780815.407 0, 1204732.46 780827.449 0, 1205017.828 780839.508 0, 1205303.196 780851.583 0, 1205587.216 780863.618 0, 1205823.345 775294.952 0,
+ 1206059.463 769726.529 0))
+
+POLYGON ((1219283.986 781463.788 0, 1218999.999 781450.951 0, 1218714.667 781438.069 0, 1218429.333 781425.205 0, 1218143.999 781412.357 0, 1217858.664 781399.526 0, 1217573.329 781386.711 0, 1217287.992 781373.914 0, 1217002.655 781361.133 0, 1216717.317 781348.369 0,
+ 1216431.979 781335.622 0, 1216146.639 781322.892 0, 1215861.299 781310.178 0, 1215575.958 781297.481 0, 1215290.616 781284.801 0, 1215005.274 781272.138 0, 1214719.931 781259.492 0, 1214434.587 781246.862 0, 1214149.242 781234.249 0, 1213863.897 781221.653 0,
+ 1213578.551 781209.074 0, 1213293.204 781196.512 0, 1213007.857 781183.966 0, 1212722.508 781171.437 0, 1212435.813 781158.866 0, 1212151.809 781146.43 0, 1211866.459 781133.952 0, 1211581.108 781121.49 0, 1211295.756 781109.045 0, 1211010.403 781096.617 0,
+ 1210725.049 781084.206 0, 1210439.695 781071.811 0, 1210154.34 781059.434 0, 1209868.985 781047.073 0, 1209583.628 781034.729 0, 1209298.271 781022.401 0, 1209012.913 781010.091 0, 1208727.555 780997.797 0, 1208442.196 780985.52 0, 1208156.836 780973.26 0,
+ 1207871.475 780961.017 0, 1207586.114 780948.79 0, 1207300.751 780936.581 0, 1207015.389 780924.388 0, 1206730.025 780912.212 0, 1206444.661 780900.052 0, 1206159.296 780887.91 0, 1205873.93 780875.784 0, 1205587.216 780863.618 0, 1205351.076 786432.524 0,
+ 1205114.927 792001.665 0, 1205400.983 792013.803 0, 1205685.693 792025.901 0, 1205970.402 792038.016 0, 1206255.111 792050.147 0, 1206539.819 792062.296 0, 1206824.527 792074.46 0, 1207109.233 792086.642 0, 1207393.939 792098.84 0, 1207678.644 792111.056 0,
+ 1207963.349 792123.288 0, 1208248.052 792135.536 0, 1208532.755 792147.802 0, 1208817.458 792160.084 0, 1209102.159 792172.383 0, 1209386.86 792184.699 0, 1209671.56 792197.031 0, 1209956.259 792209.38 0, 1210240.958 792221.746 0, 1210525.656 792234.129 0,
+ 1210810.353 792246.529 0, 1211095.05 792258.945 0, 1211379.745 792271.378 0, 1211664.44 792283.828 0, 1211947.791 792296.235 0, 1212233.828 792308.777 0, 1212518.521 792321.277 0, 1212803.213 792333.794 0, 1213087.904 792346.328 0, 1213372.595 792358.878 0,
+ 1213657.285 792371.445 0, 1213941.974 792384.029 0, 1214226.662 792396.63 0, 1214511.35 792409.247 0, 1214796.037 792421.881 0, 1215080.723 792434.532 0, 1215365.408 792447.199 0, 1215650.093 792459.884 0, 1215934.777 792472.585 0, 1216219.46 792485.303 0,
+ 1216504.142 792498.037 0, 1216788.824 792510.789 0, 1217073.505 792523.557 0, 1217358.185 792536.342 0, 1217642.864 792549.143 0, 1217927.543 792561.962 0, 1218212.221 792574.797 0, 1218496.898 792587.649 0, 1218780.232 792600.457 0, 1219032.114 787032.005 0,
+ 1219283.986 781463.788 0))
+
+POLYGON ((1232443.791 793237.853 0, 1232160.492 793224.245 0, 1231875.852 793210.588 0, 1231591.212 793196.949 0, 1231306.571 793183.326 0, 1231021.928 793169.721 0, 1230737.286 793156.131 0, 1230452.642 793142.559 0, 1230167.997 793129.003 0, 1229883.352 793115.465 0,
+ 1229598.706 793101.942 0, 1229314.059 793088.437 0, 1229029.411 793074.949 0, 1228744.763 793061.477 0, 1228460.114 793048.022 0, 1228175.464 793034.583 0, 1227890.813 793021.162 0, 1227606.161 793007.757 0, 1227321.509 792994.369 0, 1227036.856 792980.997 0,
+ 1226752.202 792967.643 0, 1226467.547 792954.305 0, 1226182.891 792940.984 0, 1225898.235 792927.68 0, 1225612.237 792914.33 0, 1225328.92 792901.121 0, 1225044.261 792887.867 0, 1224759.602 792874.63 0, 1224474.941 792861.41 0, 1224190.28 792848.206 0,
+ 1223905.619 792835.019 0, 1223620.956 792821.849 0, 1223336.293 792808.695 0, 1223051.629 792795.558 0, 1222766.964 792782.438 0, 1222482.298 792769.335 0, 1222197.632 792756.249 0, 1221912.964 792743.179 0, 1221628.296 792730.126 0, 1221343.628 792717.09 0,
+ 1221058.958 792704.07 0, 1220774.288 792691.067 0, 1220489.617 792678.081 0, 1220204.945 792665.112 0, 1219920.272 792652.16 0, 1219635.599 792639.224 0, 1219350.925 792626.305 0, 1219066.25 792613.403 0, 1218780.232 792600.457 0, 1218528.339 798169.141 0,
+ 1218276.437 803738.054 0, 1218561.796 803750.971 0, 1218845.815 803763.843 0, 1219129.834 803776.732 0, 1219413.852 803789.638 0, 1219697.869 803802.561 0, 1219981.885 803815.5 0, 1220265.9 803828.456 0, 1220549.915 803841.429 0, 1220833.929 803854.419 0,
+ 1221117.942 803867.425 0, 1221401.955 803880.448 0, 1221685.967 803893.487 0, 1221969.977 803906.544 0, 1222253.988 803919.617 0, 1222537.997 803932.707 0, 1222822.006 803945.813 0, 1223106.014 803958.936 0, 1223390.021 803972.076 0, 1223674.027 803985.233 0,
+ 1223958.032 803998.406 0, 1224242.037 804011.596 0, 1224526.041 804024.803 0, 1224810.044 804038.027 0, 1225092.709 804051.205 0, 1225378.048 804064.524 0, 1225662.049 804077.798 0, 1225946.049 804091.088 0, 1226230.049 804104.395 0, 1226514.047 804117.719 0,
+ 1226798.045 804131.059 0, 1227082.042 804144.417 0, 1227366.038 804157.791 0, 1227650.033 804171.181 0, 1227934.028 804184.589 0, 1228218.022 804198.013 0, 1228502.015 804211.454 0, 1228786.007 804224.911 0, 1229069.998 804238.385 0, 1229353.989 804251.876 0,
+ 1229637.979 804265.384 0, 1229921.968 804278.908 0, 1230205.956 804292.449 0, 1230489.943 804306.007 0, 1230773.93 804319.582 0, 1231057.916 804333.173 0, 1231341.901 804346.781 0, 1231625.885 804360.406 0, 1231908.532 804373.983 0, 1232176.167 798805.804 0,
+ 1232443.791 793237.853 0))
+
+POLYGON ((1245538.775 805048.422 0, 1245256.166 805034.046 0, 1244972.222 805019.619 0, 1244688.276 805005.209 0, 1244404.33 804990.815 0, 1244120.383 804976.439 0, 1243836.435 804962.079 0, 1243552.486 804947.735 0, 1243268.536 804933.409 0, 1242984.586 804919.099 0,
+ 1242700.634 804904.805 0, 1242416.682 804890.529 0, 1242132.729 804876.269 0, 1241848.775 804862.026 0, 1241564.821 804847.8 0, 1241280.865 804833.59 0, 1240996.909 804819.397 0, 1240712.951 804805.221 0, 1240428.993 804791.061 0, 1240145.034 804776.918 0,
+ 1239861.075 804762.792 0, 1239577.114 804748.683 0, 1239293.153 804734.59 0, 1239009.19 804720.514 0, 1238723.892 804706.389 0, 1238441.264 804692.412 0, 1238157.299 804678.387 0, 1237873.333 804664.377 0, 1237589.367 804650.385 0, 1237305.4 804636.409 0,
+ 1237021.432 804622.45 0, 1236737.463 804608.508 0, 1236453.493 804594.583 0, 1236169.523 804580.674 0, 1235885.552 804566.782 0, 1235601.58 804552.906 0, 1235317.607 804539.048 0, 1235033.633 804525.206 0, 1234749.658 804511.38 0, 1234465.683 804497.572 0,
+ 1234181.707 804483.78 0, 1233897.73 804470.005 0, 1233613.752 804456.246 0, 1233329.774 804442.505 0, 1233045.794 804428.78 0, 1232761.814 804415.072 0, 1232477.833 804401.38 0, 1232193.851 804387.705 0, 1231908.532 804373.983 0, 1231640.886 809942.387 0,
+ 1231373.229 815511.013 0, 1231657.89 815524.703 0, 1231941.216 815538.347 0, 1232224.542 815552.007 0, 1232507.866 815565.683 0, 1232791.19 815579.377 0, 1233074.513 815593.087 0, 1233357.836 815606.813 0, 1233641.157 815620.556 0, 1233924.478 815634.316 0,
+ 1234207.798 815648.093 0, 1234491.117 815661.886 0, 1234774.435 815675.696 0, 1235057.753 815689.523 0, 1235341.069 815703.367 0, 1235624.385 815717.227 0, 1235907.7 815731.103 0, 1236191.014 815744.997 0, 1236474.327 815758.907 0, 1236757.64 815772.834 0,
+ 1237040.952 815786.777 0, 1237324.263 815800.737 0, 1237607.573 815814.714 0, 1237890.882 815828.707 0, 1238172.858 815842.651 0, 1238457.498 815856.744 0, 1238740.805 815870.788 0, 1239024.111 815884.848 0, 1239307.416 815898.925 0, 1239590.72 815913.018 0,
+ 1239874.023 815927.128 0, 1240157.326 815941.255 0, 1240440.628 815955.399 0, 1240723.929 815969.559 0, 1241007.229 815983.736 0, 1241290.528 815997.929 0, 1241573.827 816012.139 0, 1241857.124 816026.366 0, 1242140.421 816040.61 0, 1242423.717 816054.87 0,
+ 1242707.012 816069.147 0, 1242990.306 816083.441 0, 1243273.6 816097.751 0, 1243556.892 816112.078 0, 1243840.184 816126.422 0, 1244123.475 816140.782 0, 1244406.765 816155.159 0, 1244690.054 816169.552 0, 1244972.011 816183.895 0, 1245255.399 810616.048 0,
+ 1245538.775 805048.422 0))
+
+POLYGON ((1258568.838 816895.193 0, 1258286.92 816880.054 0, 1258003.673 816864.86 0, 1257720.425 816849.683 0, 1257437.175 816834.523 0, 1257153.925 816819.379 0, 1256870.674 816804.251 0, 1256587.422 816789.141 0, 1256304.17 816774.047 0, 1256020.916 816758.97 0,
+ 1255737.662 816743.909 0, 1255454.406 816728.865 0, 1255171.15 816713.838 0, 1254887.893 816698.828 0, 1254604.635 816683.834 0, 1254321.376 816668.857 0, 1254038.116 816653.896 0, 1253754.855 816638.952 0, 1253471.594 816624.025 0, 1253188.331 816609.114 0,
+ 1252905.068 816594.221 0, 1252621.804 816579.344 0, 1252338.539 816564.483 0, 1252055.273 816549.639 0, 1251770.675 816534.742 0, 1251488.738 816520.002 0, 1251205.47 816505.208 0, 1250922.2 816490.431 0, 1250638.93 816475.67 0, 1250355.659 816460.926 0,
+ 1250072.387 816446.199 0, 1249789.114 816431.489 0, 1249505.84 816416.795 0, 1249222.565 816402.118 0, 1248939.29 816387.458 0, 1248656.013 816372.814 0, 1248372.736 816358.187 0, 1248089.458 816343.577 0, 1247806.179 816328.983 0, 1247522.899 816314.406 0,
+ 1247239.619 816299.845 0, 1246956.337 816285.302 0, 1246673.055 816270.775 0, 1246389.771 816256.264 0, 1246106.487 816241.771 0, 1245823.202 816227.294 0, 1245539.917 816212.833 0, 1245256.63 816198.39 0, 1244972.011 816183.895 0, 1244688.612 821751.96 0,
+ 1244405.202 827320.239 0, 1244689.163 827334.7 0, 1244971.794 827349.11 0, 1245254.424 827363.537 0, 1245537.054 827377.981 0, 1245819.682 827392.441 0, 1246102.31 827406.918 0, 1246384.937 827421.411 0, 1246667.563 827435.921 0, 1246950.188 827450.448 0,
+ 1247232.813 827464.991 0, 1247515.436 827479.551 0, 1247798.059 827494.128 0, 1248080.68 827508.721 0, 1248363.301 827523.331 0, 1248645.921 827537.957 0, 1248928.541 827552.6 0, 1249211.159 827567.26 0, 1249493.777 827581.936 0, 1249776.393 827596.629 0,
+ 1250059.009 827611.339 0, 1250341.624 827626.065 0, 1250624.238 827640.808 0, 1250906.851 827655.568 0, 1251188.136 827670.275 0, 1251472.075 827685.137 0, 1251754.685 827699.946 0, 1252037.295 827714.772 0, 1252319.904 827729.615 0, 1252602.512 827744.475 0,
+ 1252885.119 827759.351 0, 1253167.725 827774.243 0, 1253450.33 827789.152 0, 1253732.935 827804.078 0, 1254015.538 827819.021 0, 1254298.141 827833.98 0, 1254580.743 827848.956 0, 1254863.343 827863.948 0, 1255145.943 827878.957 0, 1255428.543 827893.983 0,
+ 1255711.141 827909.025 0, 1255993.738 827924.084 0, 1256276.335 827939.16 0, 1256558.93 827954.252 0, 1256841.525 827969.361 0, 1257124.119 827984.487 0, 1257406.712 827999.629 0, 1257689.304 828014.787 0, 1257970.569 828029.892 0, 1258269.709 822462.436 0,
+ 1258568.838 816895.193 0))
+
+POLYGON ((1271533.877 828777.866 0, 1271252.653 828761.967 0, 1270970.105 828746.01 0, 1270687.556 828730.07 0, 1270405.006 828714.146 0, 1270122.455 828698.239 0, 1269839.903 828682.348 0, 1269557.351 828666.474 0, 1269274.797 828650.617 0, 1268992.242 828634.776 0,
+ 1268709.687 828618.952 0, 1268427.13 828603.145 0, 1268144.573 828587.354 0, 1267862.015 828571.58 0, 1267579.455 828555.822 0, 1267296.895 828540.082 0, 1267014.334 828524.357 0, 1266731.772 828508.65 0, 1266449.209 828492.959 0, 1266166.645 828477.284 0,
+ 1265884.08 828461.627 0, 1265601.514 828445.986 0, 1265318.948 828430.361 0, 1265036.38 828414.753 0, 1264752.487 828399.089 0, 1264471.242 828383.587 0, 1264188.672 828368.03 0, 1263906.101 828352.488 0, 1263623.529 828336.964 0, 1263340.955 828321.456 0,
+ 1263058.381 828305.964 0, 1262775.807 828290.489 0, 1262493.231 828275.031 0, 1262210.654 828259.59 0, 1261928.076 828244.165 0, 1261645.498 828228.757 0, 1261362.918 828213.365 0, 1261080.338 828197.99 0, 1260797.757 828182.632 0, 1260515.175 828167.29 0,
+ 1260232.592 828151.965 0, 1259950.008 828136.656 0, 1259667.423 828121.364 0, 1259384.837 828106.089 0, 1259102.25 828090.831 0, 1258819.663 828075.589 0, 1258537.074 828060.364 0, 1258254.485 828045.155 0, 1257970.569 828029.892 0, 1257671.417 833597.558 0,
+ 1257372.255 839165.431 0, 1257655.513 839180.659 0, 1257937.447 839195.832 0, 1258219.38 839211.022 0, 1258501.312 839226.229 0, 1258783.243 839241.452 0, 1259065.173 839256.692 0, 1259347.103 839271.948 0, 1259629.031 839287.221 0, 1259910.959 839302.511 0,
+ 1260192.886 839317.817 0, 1260474.812 839333.14 0, 1260756.737 839348.479 0, 1261038.661 839363.835 0, 1261320.584 839379.207 0, 1261602.506 839394.596 0, 1261884.427 839410.002 0, 1262166.348 839425.424 0, 1262448.267 839440.863 0, 1262730.186 839456.319 0,
+ 1263012.104 839471.791 0, 1263294.02 839487.279 0, 1263575.936 839502.785 0, 1263857.851 839518.307 0, 1264138.443 839533.772 0, 1264421.678 839549.4 0, 1264703.591 839564.972 0, 1264985.502 839580.56 0, 1265267.412 839596.165 0, 1265549.322 839611.786 0,
+ 1265831.23 839627.424 0, 1266113.138 839643.079 0, 1266395.045 839658.75 0, 1266676.95 839674.438 0, 1266958.855 839690.142 0, 1267240.759 839705.863 0, 1267522.662 839721.601 0, 1267804.564 839737.355 0, 1268086.465 839753.125 0, 1268368.366 839768.913 0,
+ 1268650.265 839784.717 0, 1268932.163 839800.537 0, 1269214.061 839816.374 0, 1269495.957 839832.228 0, 1269777.853 839848.098 0, 1270059.747 839863.985 0, 1270341.641 839879.889 0, 1270623.534 839895.809 0, 1270904.105 839911.671 0, 1271218.997 834344.665 0,
+ 1271533.877 828777.866 0))
+
+POLYGON ((1284433.793 840696.137 0, 1284153.266 840679.483 0, 1283871.419 840662.766 0, 1283589.571 840646.067 0, 1283307.723 840629.383 0, 1283025.873 840612.717 0, 1282744.022 840596.067 0, 1282462.171 840579.433 0, 1282180.318 840562.816 0, 1281898.465 840546.216 0,
+ 1281616.61 840529.632 0, 1281334.755 840513.065 0, 1281052.898 840496.515 0, 1280771.041 840479.981 0, 1280489.183 840463.463 0, 1280207.323 840446.963 0, 1279925.463 840430.479 0, 1279643.602 840414.011 0, 1279361.739 840397.56 0, 1279079.876 840381.126 0,
+ 1278798.012 840364.708 0, 1278516.147 840348.307 0, 1278234.281 840331.922 0, 1277952.413 840315.554 0, 1277669.226 840299.126 0, 1277388.676 840282.868 0, 1277106.806 840266.55 0, 1276824.935 840250.248 0, 1276543.064 840233.963 0, 1276261.191 840217.694 0,
+ 1275979.317 840201.442 0, 1275697.442 840185.207 0, 1275415.566 840168.988 0, 1275133.69 840152.786 0, 1274851.812 840136.601 0, 1274569.933 840120.432 0, 1274288.054 840104.279 0, 1274006.173 840088.144 0, 1273724.292 840072.025 0, 1273442.41 840055.922 0,
+ 1273160.526 840039.836 0, 1272878.642 840023.767 0, 1272596.757 840007.714 0, 1272314.871 839991.678 0, 1272032.983 839975.658 0, 1271751.095 839959.655 0, 1271469.206 839943.669 0, 1271187.317 839927.699 0, 1270904.105 839911.671 0, 1270589.202 845478.879 0,
+ 1270274.288 851046.287 0, 1270556.841 851062.278 0, 1270838.075 851078.21 0, 1271119.309 851094.16 0, 1271400.542 851110.126 0, 1271681.773 851126.108 0, 1271963.004 851142.107 0, 1272244.234 851158.122 0, 1272525.463 851174.154 0, 1272806.691 851190.203 0,
+ 1273087.918 851206.268 0, 1273369.144 851222.35 0, 1273650.369 851238.448 0, 1273931.593 851254.563 0, 1274212.817 851270.694 0, 1274494.039 851286.842 0, 1274775.26 851303.006 0, 1275056.481 851319.187 0, 1275337.7 851335.385 0, 1275618.919 851351.599 0,
+ 1275900.136 851367.83 0, 1276181.353 851384.077 0, 1276462.568 851400.341 0, 1276743.783 851416.621 0, 1277023.681 851432.842 0, 1277306.21 851449.231 0, 1277587.421 851465.561 0, 1277868.632 851481.908 0, 1278149.842 851498.271 0, 1278431.051 851514.651 0,
+ 1278712.259 851531.047 0, 1278993.466 851547.459 0, 1279274.672 851563.889 0, 1279555.877 851580.335 0, 1279837.081 851596.797 0, 1280118.284 851613.276 0, 1280399.486 851629.771 0, 1280680.687 851646.283 0, 1280961.888 851662.812 0, 1281243.087 851679.357 0,
+ 1281524.285 851695.919 0, 1281805.482 851712.497 0, 1282086.679 851729.092 0, 1282367.874 851745.703 0, 1282649.068 851762.331 0, 1282930.262 851778.975 0, 1283211.454 851795.636 0, 1283492.645 851812.314 0, 1283772.521 851828.93 0, 1284103.163 846262.434 0,
+ 1284433.793 840696.137 0))
+
+POLYGON ((1297268.489 852649.705 0, 1296988.66 852632.298 0, 1296707.516 852614.826 0, 1296426.372 852597.371 0, 1296145.227 852579.932 0, 1295864.081 852562.51 0, 1295582.933 852545.104 0, 1295301.785 852527.715 0, 1295020.636 852510.342 0, 1294739.486 852492.986 0,
+ 1294458.334 852475.647 0, 1294177.182 852458.324 0, 1293896.028 852441.017 0, 1293614.874 852423.727 0, 1293333.719 852406.454 0, 1293052.562 852389.197 0, 1292771.405 852371.957 0, 1292490.246 852354.733 0, 1292209.087 852337.526 0, 1291927.926 852320.336 0,
+ 1291646.765 852303.162 0, 1291365.602 852286.004 0, 1291084.439 852268.863 0, 1290803.274 852251.739 0, 1290520.795 852234.551 0, 1290240.942 852217.54 0, 1289959.775 852200.465 0, 1289678.606 852183.407 0, 1289397.436 852166.365 0, 1289116.266 852149.34 0,
+ 1288835.094 852132.332 0, 1288553.922 852115.34 0, 1288272.748 852098.364 0, 1287991.574 852081.405 0, 1287710.398 852064.463 0, 1287429.221 852047.537 0, 1287148.044 852030.628 0, 1286866.865 852013.735 0, 1286585.686 851996.859 0, 1286304.505 851980 0,
+ 1286023.324 851963.157 0, 1285742.141 851946.33 0, 1285460.958 851929.52 0, 1285179.773 851912.727 0, 1284898.588 851895.95 0, 1284617.401 851879.19 0, 1284336.214 851862.446 0, 1284055.025 851845.719 0, 1283772.521 851828.93 0, 1283441.867 857395.621 0,
+ 1283111.202 862962.504 0, 1283393.048 862979.254 0, 1283673.581 862995.942 0, 1283954.114 863012.647 0, 1284234.645 863029.368 0, 1284515.175 863046.106 0, 1284795.704 863062.86 0, 1285076.232 863079.631 0, 1285356.76 863096.418 0, 1285637.286 863113.222 0,
+ 1285917.811 863130.042 0, 1286198.335 863146.879 0, 1286478.859 863163.732 0, 1286759.381 863180.602 0, 1287039.902 863197.488 0, 1287320.423 863214.391 0, 1287600.942 863231.311 0, 1287881.46 863248.247 0, 1288161.977 863265.199 0, 1288442.494 863282.168 0,
+ 1288723.009 863299.153 0, 1289003.523 863316.155 0, 1289284.037 863333.174 0, 1289564.549 863350.209 0, 1289843.749 863367.18 0, 1290125.571 863384.328 0, 1290406.08 863401.412 0, 1290686.588 863418.513 0, 1290967.096 863435.631 0, 1291247.602 863452.765 0,
+ 1291528.107 863469.915 0, 1291808.611 863487.082 0, 1292089.115 863504.266 0, 1292369.617 863521.466 0, 1292650.118 863538.683 0, 1292930.618 863555.916 0, 1293211.117 863573.165 0, 1293491.616 863590.431 0, 1293772.113 863607.714 0, 1294052.609 863625.013 0,
+ 1294333.104 863642.329 0, 1294613.598 863659.661 0, 1294894.091 863677.009 0, 1295174.583 863694.374 0, 1295455.074 863711.756 0, 1295735.564 863729.154 0, 1296016.053 863746.569 0, 1296296.541 863764 0, 1296575.718 863781.366 0, 1296922.11 858215.44 0,
+ 1297268.489 852649.705 0))
+
+POLYGON ((1310037.868 864638.265 0, 1309758.739 864620.11 0, 1309478.301 864601.886 0, 1309197.862 864583.679 0, 1308917.423 864565.489 0, 1308636.982 864547.315 0, 1308356.54 864529.157 0, 1308076.097 864511.016 0, 1307795.653 864492.892 0, 1307515.208 864474.784 0,
+ 1307234.762 864456.692 0, 1306954.314 864438.617 0, 1306673.866 864420.559 0, 1306393.417 864402.517 0, 1306112.966 864384.491 0, 1305832.515 864366.482 0, 1305552.062 864348.49 0, 1305271.609 864330.514 0, 1304991.154 864312.554 0, 1304710.699 864294.612 0,
+ 1304430.242 864276.685 0, 1304149.784 864258.775 0, 1303869.325 864240.882 0, 1303588.865 864223.005 0, 1303307.096 864205.061 0, 1303027.942 864187.301 0, 1302747.479 864169.473 0, 1302467.015 864151.662 0, 1302186.55 864133.868 0, 1301906.084 864116.09 0,
+ 1301625.616 864098.329 0, 1301345.148 864080.584 0, 1301064.679 864062.856 0, 1300784.208 864045.144 0, 1300503.737 864027.449 0, 1300223.265 864009.77 0, 1299942.791 863992.108 0, 1299662.316 863974.462 0, 1299381.841 863956.833 0, 1299101.364 863939.22 0,
+ 1298820.887 863921.623 0, 1298540.408 863904.044 0, 1298259.928 863886.481 0, 1297979.447 863868.934 0, 1297698.966 863851.404 0, 1297418.483 863833.89 0, 1297137.999 863816.393 0, 1296857.514 863798.912 0, 1296575.718 863781.366 0, 1296229.316 869347.481 0,
+ 1295882.901 874913.779 0, 1296164.039 874931.284 0, 1296443.868 874948.724 0, 1296723.697 874966.18 0, 1297003.524 874983.653 0, 1297283.351 875001.142 0, 1297563.177 875018.648 0, 1297843.001 875036.17 0, 1298122.825 875053.709 0, 1298402.647 875071.264 0,
+ 1298682.468 875088.836 0, 1298962.289 875106.424 0, 1299242.108 875124.029 0, 1299521.926 875141.65 0, 1299801.744 875159.287 0, 1300081.56 875176.941 0, 1300361.375 875194.611 0, 1300641.189 875212.298 0, 1300921.002 875230.002 0, 1301200.814 875247.722 0,
+ 1301480.625 875265.458 0, 1301760.435 875283.211 0, 1302040.244 875300.98 0, 1302320.052 875318.766 0, 1302598.554 875336.485 0, 1302879.665 875354.387 0, 1303159.47 875372.222 0, 1303439.273 875390.073 0, 1303719.076 875407.941 0, 1303998.878 875425.826 0,
+ 1304278.678 875443.727 0, 1304558.478 875461.644 0, 1304838.276 875479.578 0, 1305118.073 875497.529 0, 1305397.87 875515.496 0, 1305677.665 875533.479 0, 1305957.459 875551.479 0, 1306237.252 875569.495 0, 1306517.044 875587.528 0, 1306796.835 875605.577 0,
+ 1307076.625 875623.643 0, 1307356.414 875641.725 0, 1307636.202 875659.823 0, 1307915.989 875677.939 0, 1308195.774 875696.07 0, 1308475.559 875714.218 0, 1308755.343 875732.383 0, 1309035.125 875750.564 0, 1309313.602 875768.676 0, 1309675.741 870203.378 0,
+ 1310037.868 864638.265 0))
+
+POLYGON ((1322741.834 876661.513 0, 1322463.407 876642.614 0, 1322183.677 876623.643 0, 1321903.946 876604.688 0, 1321624.214 876585.75 0, 1321344.481 876566.828 0, 1321064.746 876547.922 0, 1320785.011 876529.033 0, 1320505.274 876510.161 0, 1320225.536 876491.305 0,
+ 1319945.797 876472.465 0, 1319666.057 876453.642 0, 1319386.316 876434.835 0, 1319106.574 876416.045 0, 1318826.831 876397.271 0, 1318547.086 876378.514 0, 1318267.341 876359.773 0, 1317987.594 876341.049 0, 1317707.846 876322.341 0, 1317428.097 876303.649 0,
+ 1317148.347 876284.974 0, 1316868.596 876266.316 0, 1316588.844 876247.674 0, 1316309.091 876229.048 0, 1316028.034 876210.353 0, 1315749.581 876191.847 0, 1315469.825 876173.271 0, 1315190.067 876154.711 0, 1314910.308 876136.168 0, 1314630.549 876117.641 0,
+ 1314350.788 876099.131 0, 1314071.026 876080.637 0, 1313791.263 876062.159 0, 1313511.499 876043.698 0, 1313231.733 876025.254 0, 1312951.967 876006.826 0, 1312672.2 875988.415 0, 1312392.431 875970.02 0, 1312112.662 875951.641 0, 1311832.891 875933.279 0,
+ 1311553.119 875914.933 0, 1311273.346 875896.604 0, 1310993.572 875878.291 0, 1310713.797 875859.995 0, 1310434.021 875841.715 0, 1310154.244 875823.452 0, 1309874.466 875805.205 0, 1309594.687 875786.975 0, 1309313.602 875768.676 0, 1308951.452 881334.154 0,
+ 1308589.29 886899.809 0, 1308869.716 886918.065 0, 1309148.84 886936.253 0, 1309427.963 886954.457 0, 1309707.085 886972.677 0, 1309986.206 886990.914 0, 1310265.326 887009.168 0, 1310544.445 887027.437 0, 1310823.562 887045.724 0, 1311102.679 887064.026 0,
+ 1311381.795 887082.345 0, 1311660.909 887100.681 0, 1311940.022 887119.033 0, 1312219.135 887137.401 0, 1312498.246 887155.786 0, 1312777.356 887174.187 0, 1313056.465 887192.605 0, 1313335.573 887211.039 0, 1313614.68 887229.49 0, 1313893.786 887247.957 0,
+ 1314172.89 887266.44 0, 1314451.994 887284.94 0, 1314731.096 887303.456 0, 1315010.198 887321.989 0, 1315287.998 887340.451 0, 1315568.397 887359.103 0, 1315847.495 887377.685 0, 1316126.593 887396.284 0, 1316405.689 887414.898 0, 1316684.783 887433.53 0,
+ 1316963.877 887452.177 0, 1317242.97 887470.841 0, 1317522.061 887489.522 0, 1317801.152 887508.219 0, 1318080.241 887526.932 0, 1318359.329 887545.662 0, 1318638.417 887564.408 0, 1318917.503 887583.171 0, 1319196.588 887601.95 0, 1319475.671 887620.745 0,
+ 1319754.754 887639.557 0, 1320033.836 887658.386 0, 1320312.916 887677.23 0, 1320591.996 887696.092 0, 1320871.074 887714.969 0, 1321150.151 887733.863 0, 1321429.227 887752.774 0, 1321708.302 887771.701 0, 1321986.077 887790.556 0, 1322363.962 882225.946 0,
+ 1322741.834 876661.513 0))
+
+POLYGON ((1335380.295 888719.147 0, 1335102.572 888699.507 0, 1334823.552 888679.792 0, 1334544.53 888660.093 0, 1334265.507 888640.411 0, 1333986.484 888620.745 0, 1333707.459 888601.095 0, 1333428.432 888581.462 0, 1333149.405 888561.845 0, 1332870.377 888542.245 0,
+ 1332591.347 888522.661 0, 1332312.316 888503.094 0, 1332033.284 888483.543 0, 1331754.251 888464.008 0, 1331475.217 888444.49 0, 1331196.182 888424.988 0, 1330917.145 888405.503 0, 1330638.107 888386.034 0, 1330359.069 888366.581 0, 1330080.029 888347.145 0,
+ 1329800.987 888327.726 0, 1329521.945 888308.322 0, 1329242.902 888288.936 0, 1328963.857 888269.565 0, 1328683.514 888250.121 0, 1328405.765 888230.874 0, 1328126.717 888211.553 0, 1327847.668 888192.248 0, 1327568.618 888172.96 0, 1327289.566 888153.688 0,
+ 1327010.514 888134.432 0, 1326731.46 888115.194 0, 1326452.405 888095.971 0, 1326173.349 888076.765 0, 1325894.292 888057.575 0, 1325615.234 888038.402 0, 1325336.175 888019.245 0, 1325057.115 888000.105 0, 1324778.053 887980.981 0, 1324498.99 887961.873 0,
+ 1324219.927 887942.782 0, 1323940.862 887923.707 0, 1323661.796 887904.649 0, 1323382.729 887885.607 0, 1323103.66 887866.581 0, 1322824.591 887847.572 0, 1322545.52 887828.58 0, 1322266.449 887809.604 0, 1321986.077 887790.556 0, 1321608.181 893355.338 0,
+ 1321230.273 898920.289 0, 1321509.987 898939.292 0, 1321788.403 898958.224 0, 1322066.819 898977.172 0, 1322345.233 898996.136 0, 1322623.646 899015.117 0, 1322902.058 899034.114 0, 1323180.469 899053.128 0, 1323458.879 899072.158 0, 1323737.288 899091.204 0,
+ 1324015.695 899110.267 0, 1324294.102 899129.346 0, 1324572.507 899148.441 0, 1324850.912 899167.553 0, 1325129.315 899186.682 0, 1325407.717 899205.826 0, 1325686.117 899224.987 0, 1325964.517 899244.165 0, 1326242.916 899263.359 0, 1326521.313 899282.569 0,
+ 1326799.71 899301.795 0, 1327078.105 899321.038 0, 1327356.499 899340.298 0, 1327634.892 899359.573 0, 1327911.989 899378.776 0, 1328191.674 899398.174 0, 1328470.064 899417.499 0, 1328748.452 899436.84 0, 1329026.839 899456.198 0, 1329305.226 899475.572 0,
+ 1329583.611 899494.962 0, 1329861.994 899514.369 0, 1330140.377 899533.792 0, 1330418.759 899553.232 0, 1330697.139 899572.688 0, 1330975.518 899592.16 0, 1331253.896 899611.649 0, 1331532.273 899631.154 0, 1331810.649 899650.676 0, 1332089.024 899670.214 0,
+ 1332367.397 899689.768 0, 1332645.77 899709.339 0, 1332924.141 899728.926 0, 1333202.511 899748.529 0, 1333480.88 899768.149 0, 1333759.247 899787.785 0, 1334037.614 899807.438 0, 1334315.979 899827.107 0, 1334593.05 899846.701 0, 1334986.679 894282.839 0,
+ 1335380.295 888719.147 0))
+
+POLYGON ((1347953.157 900810.861 0, 1347676.14 900790.484 0, 1347397.832 900770.029 0, 1347119.522 900749.59 0, 1346841.21 900729.167 0, 1346562.898 900708.761 0, 1346284.584 900688.371 0, 1346006.27 900667.998 0, 1345727.954 900647.641 0, 1345449.637 900627.3 0,
+ 1345171.318 900606.976 0, 1344892.999 900586.668 0, 1344614.678 900566.377 0, 1344336.356 900546.101 0, 1344058.033 900525.843 0, 1343779.709 900505.6 0, 1343501.383 900485.374 0, 1343223.056 900465.165 0, 1342944.729 900444.971 0, 1342666.399 900424.795 0,
+ 1342388.069 900404.634 0, 1342109.738 900384.49 0, 1341831.405 900364.362 0, 1341553.071 900344.251 0, 1341273.444 900324.063 0, 1340996.4 900304.077 0, 1340718.063 900284.015 0, 1340439.724 900263.969 0, 1340161.384 900243.94 0, 1339883.044 900223.927 0,
+ 1339604.701 900203.93 0, 1339326.358 900183.95 0, 1339048.014 900163.986 0, 1338769.668 900144.039 0, 1338491.321 900124.108 0, 1338212.973 900104.193 0, 1337934.624 900084.295 0, 1337656.274 900064.413 0, 1337377.923 900044.547 0, 1337099.57 900024.698 0,
+ 1336821.216 900004.865 0, 1336542.861 899985.048 0, 1336264.505 899965.248 0, 1335986.148 899945.465 0, 1335707.789 899925.697 0, 1335429.43 899905.947 0, 1335151.069 899886.212 0, 1334872.707 899866.494 0, 1334593.05 899846.701 0, 1334199.41 905410.727 0,
+ 1333805.759 910974.915 0, 1334084.758 910994.661 0, 1334362.465 911014.333 0, 1334640.17 911034.021 0, 1334917.875 911053.725 0, 1335195.579 911073.446 0, 1335473.281 911093.183 0, 1335750.982 911112.937 0, 1336028.682 911132.707 0, 1336306.381 911152.493 0,
+ 1336584.079 911172.295 0, 1336861.775 911192.114 0, 1337139.47 911211.949 0, 1337417.165 911231.801 0, 1337694.858 911251.669 0, 1337972.549 911271.553 0, 1338250.24 911291.453 0, 1338527.93 911311.37 0, 1338805.618 911331.304 0, 1339083.305 911351.253 0,
+ 1339360.991 911371.219 0, 1339638.676 911391.201 0, 1339916.36 911411.2 0, 1340194.042 911431.215 0, 1340470.434 911451.153 0, 1340749.403 911471.294 0, 1341027.082 911491.358 0, 1341304.76 911511.438 0, 1341582.436 911531.535 0, 1341860.112 911551.648 0,
+ 1342137.786 911571.778 0, 1342415.459 911591.923 0, 1342693.131 911612.085 0, 1342970.801 911632.264 0, 1343248.471 911652.458 0, 1343526.139 911672.67 0, 1343803.806 911692.897 0, 1344081.472 911713.141 0, 1344359.137 911733.401 0, 1344636.8 911753.677 0,
+ 1344914.462 911773.97 0, 1345192.123 911794.279 0, 1345469.783 911814.605 0, 1345747.442 911834.947 0, 1346025.1 911855.305 0, 1346302.756 911875.679 0, 1346580.411 911896.07 0, 1346858.065 911916.477 0, 1347134.43 911936.806 0, 1347543.799 906373.753 0,
+ 1347953.157 900810.861 0))
+
+POLYGON ((1360460.329 912936.35 0, 1360184.021 912915.24 0, 1359906.426 912894.049 0, 1359628.829 912872.874 0, 1359351.232 912851.715 0, 1359073.633 912830.572 0, 1358796.033 912809.446 0, 1358518.431 912788.336 0, 1358240.829 912767.243 0, 1357963.225 912746.165 0,
+ 1357685.62 912725.105 0, 1357408.014 912704.06 0, 1357130.406 912683.032 0, 1356852.797 912662.02 0, 1356575.187 912641.025 0, 1356297.576 912620.045 0, 1356019.963 912599.083 0, 1355742.35 912578.136 0, 1355464.735 912557.206 0, 1355187.119 912536.292 0,
+ 1354909.501 912515.395 0, 1354631.882 912494.514 0, 1354354.263 912473.649 0, 1354076.641 912452.801 0, 1353797.732 912431.872 0, 1353521.396 912411.153 0, 1353243.771 912390.353 0, 1352966.145 912369.57 0, 1352688.518 912348.804 0, 1352410.889 912328.053 0,
+ 1352133.259 912307.319 0, 1351855.628 912286.602 0, 1351577.996 912265.9 0, 1351300.363 912245.215 0, 1351022.728 912224.547 0, 1350745.093 912203.894 0, 1350467.456 912183.258 0, 1350189.818 912162.639 0, 1349912.178 912142.035 0, 1349634.537 912121.448 0,
+ 1349356.896 912100.878 0, 1349079.253 912080.323 0, 1348801.608 912059.785 0, 1348523.963 912039.264 0, 1348246.316 912018.759 0, 1347968.668 911998.27 0, 1347691.019 911977.797 0, 1347413.369 911957.341 0, 1347134.43 911936.806 0, 1346725.048 917500.017 0,
+ 1346315.656 923063.381 0, 1346593.937 923083.867 0, 1346870.933 923104.275 0, 1347147.927 923124.699 0, 1347424.92 923145.14 0, 1347701.912 923165.597 0, 1347978.902 923186.07 0, 1348255.892 923206.559 0, 1348532.88 923227.065 0, 1348809.867 923247.587 0,
+ 1349086.853 923268.126 0, 1349363.837 923288.681 0, 1349640.821 923309.252 0, 1349917.803 923329.839 0, 1350194.784 923350.442 0, 1350471.763 923371.062 0, 1350748.742 923391.699 0, 1351025.719 923412.351 0, 1351302.695 923433.02 0, 1351579.67 923453.705 0,
+ 1351856.644 923474.407 0, 1352133.616 923495.124 0, 1352410.587 923515.858 0, 1352687.557 923536.609 0, 1352963.242 923557.279 0, 1353241.494 923578.158 0, 1353518.46 923598.957 0, 1353795.425 923619.773 0, 1354072.389 923640.605 0, 1354349.351 923661.453 0,
+ 1354626.313 923682.317 0, 1354903.273 923703.198 0, 1355180.232 923724.095 0, 1355457.19 923745.009 0, 1355734.146 923765.938 0, 1356011.101 923786.884 0, 1356288.055 923807.846 0, 1356565.008 923828.825 0, 1356841.96 923849.82 0, 1357118.91 923870.831 0,
+ 1357395.859 923891.858 0, 1357672.807 923912.902 0, 1357949.753 923933.962 0, 1358226.699 923955.039 0, 1358503.643 923976.131 0, 1358780.586 923997.24 0, 1359057.527 924018.366 0, 1359334.468 924039.507 0, 1359610.124 924060.567 0, 1360035.233 918498.382 0,
+ 1360460.329 912936.35 0))
+
+POLYGON ((1372901.722 925095.308 0, 1372626.124 925073.47 0, 1372349.245 925051.546 0, 1372072.364 925029.638 0, 1371795.482 925007.747 0, 1371518.598 924985.872 0, 1371241.714 924964.013 0, 1370964.828 924942.171 0, 1370687.94 924920.345 0, 1370411.052 924898.535 0,
+ 1370134.162 924876.741 0, 1369857.271 924854.964 0, 1369580.378 924833.203 0, 1369303.485 924811.459 0, 1369026.59 924789.73 0, 1368749.694 924768.018 0, 1368472.796 924746.323 0, 1368195.897 924724.643 0, 1367918.997 924702.98 0, 1367642.096 924681.333 0,
+ 1367365.193 924659.703 0, 1367088.289 924638.088 0, 1366811.384 924616.491 0, 1366534.478 924594.909 0, 1366256.289 924573.244 0, 1365980.661 924551.794 0, 1365703.751 924530.262 0, 1365426.839 924508.745 0, 1365149.927 924487.245 0, 1364873.013 924465.761 0,
+ 1364596.097 924444.294 0, 1364319.181 924422.843 0, 1364042.263 924401.408 0, 1363765.344 924379.989 0, 1363488.423 924358.587 0, 1363211.502 924337.2 0, 1362934.579 924315.831 0, 1362657.655 924294.477 0, 1362380.729 924273.14 0, 1362103.803 924251.819 0,
+ 1361826.875 924230.515 0, 1361549.946 924209.226 0, 1361273.015 924187.954 0, 1360996.084 924166.699 0, 1360719.151 924145.459 0, 1360442.217 924124.236 0, 1360165.281 924103.03 0, 1359888.345 924081.839 0, 1359610.124 924060.567 0, 1359185.005 929622.902 0,
+ 1358759.874 935185.382 0, 1359037.436 935206.604 0, 1359313.718 935227.745 0, 1359589.999 935248.901 0, 1359866.278 935270.074 0, 1360142.556 935291.263 0, 1360418.833 935312.469 0, 1360695.109 935333.69 0, 1360971.383 935354.928 0, 1361247.656 935376.182 0,
+ 1361523.928 935397.453 0, 1361800.199 935418.74 0, 1362076.468 935440.043 0, 1362352.736 935461.362 0, 1362629.003 935482.697 0, 1362905.269 935504.049 0, 1363181.533 935525.417 0, 1363457.796 935546.801 0, 1363734.058 935568.202 0, 1364010.319 935589.619 0,
+ 1364286.578 935611.052 0, 1364562.836 935632.501 0, 1364839.093 935653.967 0, 1365115.348 935675.448 0, 1365390.324 935696.847 0, 1365667.855 935718.461 0, 1365944.107 935739.992 0, 1366220.358 935761.538 0, 1366496.607 935783.102 0, 1366772.855 935804.681 0,
+ 1367049.101 935826.277 0, 1367325.347 935847.888 0, 1367601.591 935869.517 0, 1367877.834 935891.161 0, 1368154.075 935912.822 0, 1368430.315 935934.499 0, 1368706.554 935956.192 0, 1368982.792 935977.901 0, 1369259.029 935999.627 0, 1369535.264 936021.369 0,
+ 1369811.498 936043.127 0, 1370087.73 936064.902 0, 1370363.962 936086.693 0, 1370640.192 936108.5 0, 1370916.42 936130.323 0, 1371192.648 936152.162 0, 1371468.874 936174.018 0, 1371745.099 936195.89 0, 1372020.045 936217.677 0, 1372460.89 930656.42 0,
+ 1372901.722 925095.308 0))
+
+POLYGON ((1385277.248 937287.431 0, 1385002.362 937264.867 0, 1384726.2 937242.214 0, 1384450.037 937219.578 0, 1384173.872 937196.958 0, 1383897.706 937174.355 0, 1383621.539 937151.767 0, 1383345.37 937129.196 0, 1383069.2 937106.642 0, 1382793.029 937084.103 0,
+ 1382516.856 937061.581 0, 1382240.682 937039.075 0, 1381964.507 937016.585 0, 1381688.33 936994.111 0, 1381412.152 936971.654 0, 1381135.973 936949.213 0, 1380859.792 936926.788 0, 1380583.61 936904.38 0, 1380307.427 936881.987 0, 1380031.243 936859.611 0,
+ 1379755.057 936837.252 0, 1379478.87 936814.908 0, 1379202.681 936792.581 0, 1378926.491 936770.27 0, 1378649.024 936747.872 0, 1378374.108 936725.697 0, 1378097.914 936703.434 0, 1377821.719 936681.188 0, 1377545.523 936658.959 0, 1377269.325 936636.745 0,
+ 1376993.126 936614.548 0, 1376716.926 936592.367 0, 1376440.724 936570.202 0, 1376164.522 936548.054 0, 1375888.317 936525.922 0, 1375612.112 936503.806 0, 1375335.905 936481.706 0, 1375059.697 936459.623 0, 1374783.488 936437.556 0, 1374507.277 936415.505 0,
+ 1374231.065 936393.47 0, 1373954.852 936371.452 0, 1373678.637 936349.45 0, 1373402.421 936327.464 0, 1373126.204 936305.494 0, 1372849.986 936283.541 0, 1372573.766 936261.604 0, 1372297.545 936239.683 0, 1372020.045 936217.677 0, 1371579.19 941779.076 0,
+ 1371138.324 947340.613 0, 1371415.165 947362.567 0, 1371690.732 947384.436 0, 1371966.297 947406.321 0, 1372241.861 947428.222 0, 1372517.423 947450.14 0, 1372792.984 947472.073 0, 1373068.544 947494.023 0, 1373344.103 947515.99 0, 1373619.66 947537.972 0,
+ 1373895.216 947559.971 0, 1374170.771 947581.985 0, 1374446.324 947604.017 0, 1374721.877 947626.064 0, 1374997.427 947648.127 0, 1375272.977 947670.207 0, 1375548.525 947692.303 0, 1375824.072 947714.415 0, 1376099.618 947736.543 0, 1376375.162 947758.688 0,
+ 1376650.705 947780.849 0, 1376926.247 947803.026 0, 1377201.787 947825.219 0, 1377477.326 947847.429 0, 1377751.591 947869.552 0, 1378028.401 947891.896 0, 1378303.936 947914.154 0, 1378579.47 947936.429 0, 1378855.002 947958.719 0, 1379130.534 947981.026 0,
+ 1379406.064 948003.349 0, 1379681.592 948025.688 0, 1379957.12 948048.043 0, 1380232.646 948070.415 0, 1380508.17 948092.803 0, 1380783.694 948115.207 0, 1381059.216 948137.627 0, 1381334.736 948160.064 0, 1381610.256 948182.516 0, 1381885.774 948204.985 0,
+ 1382161.291 948227.471 0, 1382436.806 948249.972 0, 1382712.32 948272.49 0, 1382987.833 948295.023 0, 1383263.344 948317.573 0, 1383538.855 948340.14 0, 1383814.363 948362.722 0, 1384089.871 948385.321 0, 1384364.105 948407.831 0, 1384820.682 942847.562 0,
+ 1385277.248 937287.431 0))
+
+POLYGON ((1397586.819 949512.41 0, 1397312.647 949489.125 0, 1397037.205 949465.748 0, 1396761.761 949442.387 0, 1396486.316 949419.042 0, 1396210.869 949395.714 0, 1395935.421 949372.402 0, 1395659.971 949349.106 0, 1395384.521 949325.827 0, 1395109.069 949302.563 0,
+ 1394833.615 949279.316 0, 1394558.16 949256.085 0, 1394282.704 949232.87 0, 1394007.246 949209.671 0, 1393731.787 949186.489 0, 1393456.327 949163.323 0, 1393180.865 949140.173 0, 1392905.402 949117.039 0, 1392629.938 949093.922 0, 1392354.472 949070.82 0,
+ 1392079.005 949047.735 0, 1391803.536 949024.666 0, 1391528.067 949001.614 0, 1391252.595 948978.577 0, 1390975.852 948955.451 0, 1390701.649 948932.553 0, 1390426.174 948909.565 0, 1390150.697 948886.594 0, 1389875.219 948863.638 0, 1389599.74 948840.699 0,
+ 1389324.259 948817.776 0, 1389048.777 948794.869 0, 1388773.294 948771.979 0, 1388497.809 948749.104 0, 1388222.323 948726.246 0, 1387946.835 948703.404 0, 1387671.347 948680.579 0, 1387395.856 948657.769 0, 1387120.365 948634.976 0, 1386844.872 948612.199 0,
+ 1386569.378 948589.438 0, 1386293.883 948566.694 0, 1386018.386 948543.965 0, 1385742.888 948521.253 0, 1385467.388 948498.557 0, 1385191.887 948475.877 0, 1384916.385 948453.214 0, 1384640.882 948430.567 0, 1384364.105 948407.831 0, 1383907.517 953968.234 0,
+ 1383450.919 959528.767 0, 1383727.038 959551.449 0, 1384001.887 959574.042 0, 1384276.734 959596.652 0, 1384551.58 959619.278 0, 1384826.425 959641.92 0, 1385101.269 959664.578 0, 1385376.111 959687.252 0, 1385650.952 959709.943 0, 1385925.792 959732.65 0,
+ 1386200.63 959755.373 0, 1386475.467 959778.112 0, 1386750.303 959800.867 0, 1387025.137 959823.638 0, 1387299.97 959846.426 0, 1387574.801 959869.23 0, 1387849.631 959892.05 0, 1388124.46 959914.886 0, 1388399.288 959937.738 0, 1388674.114 959960.607 0,
+ 1388948.939 959983.491 0, 1389223.762 960006.392 0, 1389498.585 960029.309 0, 1389773.405 960052.242 0, 1390046.957 960075.086 0, 1390323.043 960098.157 0, 1390597.86 960121.139 0, 1390872.675 960144.137 0, 1391147.489 960167.151 0, 1391422.302 960190.181 0,
+ 1391697.113 960213.228 0, 1391971.923 960236.29 0, 1392246.732 960259.369 0, 1392521.539 960282.464 0, 1392796.345 960305.575 0, 1393071.149 960328.703 0, 1393345.952 960351.846 0, 1393620.754 960375.006 0, 1393895.555 960398.181 0, 1394170.354 960421.373 0,
+ 1394445.151 960444.582 0, 1394719.948 960467.806 0, 1394994.743 960491.046 0, 1395269.536 960514.303 0, 1395544.329 960537.576 0, 1395819.119 960560.865 0, 1396093.909 960584.17 0, 1396368.697 960607.492 0, 1396642.218 960630.722 0, 1397114.524 955071.501 0,
+ 1397586.819 949512.41 0))
+
+POLYGON ((1409830.35 961769.94 0, 1409556.895 961745.937 0, 1409282.173 961721.839 0, 1409007.451 961697.758 0, 1408732.727 961673.692 0, 1408458.002 961649.643 0, 1408183.275 961625.61 0, 1407908.546 961601.594 0, 1407633.817 961577.593 0, 1407359.086 961553.609 0,
+ 1407084.353 961529.64 0, 1406809.619 961505.688 0, 1406534.884 961481.752 0, 1406260.148 961457.833 0, 1405985.409 961433.929 0, 1405710.67 961410.042 0, 1405435.929 961386.17 0, 1405161.187 961362.315 0, 1404886.443 961338.476 0, 1404611.698 961314.654 0,
+ 1404336.951 961290.847 0, 1404062.203 961267.057 0, 1403787.454 961243.282 0, 1403512.703 961219.524 0, 1403236.686 961195.673 0, 1402963.198 961172.057 0, 1402688.443 961148.347 0, 1402413.687 961124.654 0, 1402138.929 961100.977 0, 1401864.17 961077.316 0,
+ 1401589.409 961053.671 0, 1401314.648 961030.042 0, 1401039.884 961006.43 0, 1400765.12 960982.833 0, 1400490.354 960959.253 0, 1400215.586 960935.689 0, 1399940.817 960912.141 0, 1399666.047 960888.61 0, 1399391.276 960865.094 0, 1399116.503 960841.595 0,
+ 1398841.728 960818.112 0, 1398566.952 960794.645 0, 1398292.175 960771.194 0, 1398017.397 960747.76 0, 1397742.617 960724.341 0, 1397467.836 960700.939 0, 1397193.053 960677.553 0, 1396918.269 960654.183 0, 1396642.218 960630.722 0, 1396169.901 966190.069 0,
+ 1395697.573 971749.537 0, 1395972.967 971772.943 0, 1396247.097 971796.257 0, 1396521.225 971819.587 0, 1396795.352 971842.934 0, 1397069.477 971866.297 0, 1397343.601 971889.675 0, 1397617.724 971913.07 0, 1397891.845 971936.481 0, 1398165.965 971959.909 0,
+ 1398440.084 971983.352 0, 1398714.201 972006.811 0, 1398988.317 972030.287 0, 1399262.431 972053.779 0, 1399536.544 972077.286 0, 1399810.656 972100.81 0, 1400084.766 972124.351 0, 1400358.875 972147.907 0, 1400632.983 972171.479 0, 1400907.089 972195.068 0,
+ 1401181.194 972218.672 0, 1401455.297 972242.293 0, 1401729.399 972265.93 0, 1402003.499 972289.583 0, 1402276.337 972313.143 0, 1402551.696 972336.938 0, 1402825.793 972360.639 0, 1403099.888 972384.357 0, 1403373.981 972408.091 0, 1403648.073 972431.84 0,
+ 1403922.164 972455.606 0, 1404196.254 972479.389 0, 1404470.342 972503.187 0, 1404744.428 972527.001 0, 1405018.513 972550.832 0, 1405292.597 972574.678 0, 1405566.679 972598.541 0, 1405840.76 972622.42 0, 1406114.84 972646.315 0, 1406388.918 972670.226 0,
+ 1406662.995 972694.154 0, 1406937.07 972718.097 0, 1407211.144 972742.057 0, 1407485.217 972766.032 0, 1407759.288 972790.024 0, 1408033.357 972814.032 0, 1408307.426 972838.056 0, 1408581.493 972862.096 0, 1408854.297 972886.042 0, 1409342.329 967327.93 0,
+ 1409830.35 961769.94 0))
+
+POLYGON ((1422007.758 974059.712 0, 1421735.02 974034.996 0, 1421461.022 974010.181 0, 1421187.023 973985.383 0, 1420913.022 973960.601 0, 1420639.02 973935.835 0, 1420365.016 973911.085 0, 1420091.011 973886.351 0, 1419817.004 973861.634 0, 1419542.996 973836.932 0,
+ 1419268.987 973812.247 0, 1418994.976 973787.577 0, 1418720.963 973762.924 0, 1418446.95 973738.287 0, 1418172.934 973713.666 0, 1417898.917 973689.062 0, 1417624.899 973664.473 0, 1417350.88 973639.9 0, 1417076.858 973615.344 0, 1416802.836 973590.804 0,
+ 1416528.812 973566.28 0, 1416254.787 973541.772 0, 1415980.76 973517.28 0, 1415706.731 973492.804 0, 1415431.442 973468.232 0, 1415158.67 973443.901 0, 1414884.638 973419.474 0, 1414610.604 973395.062 0, 1414336.568 973370.667 0, 1414062.531 973346.288 0,
+ 1413788.493 973321.926 0, 1413514.453 973297.579 0, 1413240.412 973273.248 0, 1412966.369 973248.934 0, 1412692.325 973224.636 0, 1412418.28 973200.353 0, 1412144.233 973176.087 0, 1411870.184 973151.837 0, 1411596.134 973127.604 0, 1411322.083 973103.386 0,
+ 1411048.03 973079.184 0, 1410773.976 973054.999 0, 1410499.921 973030.83 0, 1410225.864 973006.677 0, 1409951.806 972982.54 0, 1409677.746 972958.419 0, 1409403.685 972934.314 0, 1409129.622 972910.225 0, 1408854.297 972886.042 0, 1408366.255 978444.272 0,
+ 1407878.202 984002.616 0, 1408152.87 984026.742 0, 1408426.278 984050.773 0, 1408699.685 984074.82 0, 1408973.091 984098.884 0, 1409246.495 984122.963 0, 1409519.897 984147.058 0, 1409793.299 984171.17 0, 1410066.698 984195.298 0, 1410340.097 984219.441 0,
+ 1410613.494 984243.601 0, 1410886.889 984267.777 0, 1411160.283 984291.969 0, 1411433.676 984316.177 0, 1411707.067 984340.402 0, 1411980.457 984364.642 0, 1412253.846 984388.898 0, 1412527.233 984413.171 0, 1412800.618 984437.459 0, 1413074.002 984461.764 0,
+ 1413347.385 984486.085 0, 1413620.766 984510.422 0, 1413894.146 984534.775 0, 1414167.525 984559.144 0, 1414439.645 984583.417 0, 1414714.277 984607.93 0, 1414987.651 984632.347 0, 1415261.024 984656.781 0, 1415534.395 984681.23 0, 1415807.765 984705.696 0,
+ 1416081.133 984730.177 0, 1416354.5 984754.675 0, 1416627.866 984779.189 0, 1416901.23 984803.719 0, 1417174.592 984828.265 0, 1417447.953 984852.827 0, 1417721.313 984877.405 0, 1417994.671 984902 0, 1418268.028 984926.61 0, 1418541.383 984951.236 0,
+ 1418814.737 984975.879 0, 1419088.09 985000.538 0, 1419361.441 985025.212 0, 1419634.79 985049.903 0, 1419908.138 985074.61 0, 1420181.485 985099.333 0, 1420454.83 985124.072 0, 1420728.174 985148.827 0, 1421000.261 985173.485 0, 1421504.014 979616.542 0,
+ 1422007.758 974059.712 0))
+
+POLYGON ((913780.692 543392.609 0, 913482.81 543397.668 0, 913183.467 543402.769 0, 912884.124 543407.888 0, 912584.781 543413.024 0, 912285.439 543418.178 0, 911986.096 543423.349 0, 911686.754 543428.538 0, 911387.413 543433.745 0, 911088.071 543438.97 0,
+ 910788.73 543444.212 0, 910489.39 543449.471 0, 910190.049 543454.748 0, 909890.709 543460.043 0, 909591.37 543465.356 0, 909292.03 543470.686 0, 908992.691 543476.033 0, 908693.352 543481.399 0, 908394.014 543486.782 0, 908094.676 543492.182 0,
+ 907795.338 543497.6 0, 907496 543503.036 0, 907196.663 543508.49 0, 906897.326 543513.961 0, 906596.526 543519.476 0, 906298.653 543524.956 0, 905999.317 543530.479 0, 905699.982 543536.021 0, 905400.646 543541.58 0, 905101.312 543547.157 0,
+ 904801.977 543552.751 0, 904502.643 543558.363 0, 904203.309 543563.993 0, 903903.975 543569.64 0, 903604.642 543575.305 0, 903305.309 543580.987 0, 903005.976 543586.687 0, 902706.644 543592.405 0, 902407.312 543598.14 0, 902107.98 543603.893 0,
+ 901808.649 543609.664 0, 901509.318 543615.452 0, 901209.988 543621.258 0, 900910.657 543627.081 0, 900611.327 543632.922 0, 900311.998 543638.781 0, 900012.669 543644.657 0, 899713.34 543650.551 0, 899412.547 543656.491 0, 899522.513 549216.292 0,
+ 899632.488 554776.47 0, 899932.623 554770.543 0, 900231.297 554764.662 0, 900529.972 554758.798 0, 900828.647 554752.952 0, 901127.322 554747.124 0, 901425.998 554741.313 0, 901724.674 554735.52 0, 902023.351 554729.745 0, 902322.027 554723.987 0,
+ 902620.704 554718.247 0, 902919.382 554712.524 0, 903218.06 554706.819 0, 903516.738 554701.131 0, 903815.416 554695.461 0, 904114.095 554689.809 0, 904412.774 554684.174 0, 904711.453 554678.556 0, 905010.133 554672.957 0, 905308.813 554667.375 0,
+ 905607.494 554661.81 0, 905906.175 554656.263 0, 906204.856 554650.734 0, 906503.537 554645.222 0, 906800.759 554639.754 0, 907100.901 554634.251 0, 907399.583 554628.792 0, 907698.266 554623.35 0, 907996.949 554617.927 0, 908295.632 554612.52 0,
+ 908594.316 554607.132 0, 908893 554601.76 0, 909191.684 554596.407 0, 909490.369 554591.071 0, 909789.054 554585.752 0, 910087.739 554580.451 0, 910386.424 554575.168 0, 910685.11 554569.903 0, 910983.796 554564.654 0, 911282.483 554559.424 0,
+ 911581.17 554554.211 0, 911879.857 554549.016 0, 912178.544 554543.838 0, 912477.232 554538.678 0, 912775.92 554533.535 0, 913074.608 554528.41 0, 913373.297 554523.302 0, 913671.986 554518.213 0, 913969.216 554513.165 0, 913874.951 548952.698 0,
+ 913780.692 543392.609 0))
+
+POLYGON ((928306.631 554290.365 0, 928009.385 554294.573 0, 927710.683 554298.819 0, 927411.981 554303.082 0, 927113.28 554307.364 0, 926814.578 554311.662 0, 926515.877 554315.979 0, 926217.176 554320.313 0, 925918.476 554324.664 0, 925619.776 554329.033 0,
+ 925321.075 554333.42 0, 925022.376 554337.824 0, 924723.676 554342.246 0, 924424.977 554346.685 0, 924126.278 554351.142 0, 923827.579 554355.617 0, 923528.881 554360.109 0, 923230.182 554364.619 0, 922931.484 554369.146 0, 922632.787 554373.691 0,
+ 922334.089 554378.253 0, 922035.392 554382.833 0, 921736.695 554387.431 0, 921437.999 554392.046 0, 921137.845 554396.702 0, 920840.606 554401.329 0, 920541.911 554405.997 0, 920243.215 554410.683 0, 919944.52 554415.386 0, 919645.825 554420.107 0,
+ 919347.13 554424.845 0, 919048.436 554429.601 0, 918749.742 554434.374 0, 918451.048 554439.165 0, 918152.354 554443.974 0, 917853.661 554448.8 0, 917554.968 554453.644 0, 917256.275 554458.505 0, 916957.583 554463.384 0, 916658.891 554468.281 0,
+ 916360.199 554473.195 0, 916061.507 554478.126 0, 915762.816 554483.076 0, 915464.125 554488.042 0, 915165.435 554493.027 0, 914866.744 554498.029 0, 914568.054 554503.048 0, 914269.364 554508.086 0, 913969.216 554513.165 0, 914063.487 560074.006 0,
+ 914157.765 565635.218 0, 914457.256 565630.149 0, 914755.291 565625.123 0, 915053.326 565620.115 0, 915351.362 565615.124 0, 915649.398 565610.15 0, 915947.434 565605.194 0, 916245.471 565600.256 0, 916543.508 565595.335 0, 916841.545 565590.432 0,
+ 917139.583 565585.546 0, 917437.62 565580.678 0, 917735.659 565575.827 0, 918033.697 565570.994 0, 918331.736 565566.178 0, 918629.774 565561.38 0, 918927.814 565556.6 0, 919225.853 565551.837 0, 919523.893 565547.091 0, 919821.933 565542.363 0,
+ 920119.973 565537.653 0, 920418.014 565532.96 0, 920716.055 565528.285 0, 921014.096 565523.627 0, 921310.683 565519.01 0, 921610.179 565514.364 0, 921908.221 565509.759 0, 922206.263 565505.172 0, 922504.306 565500.602 0, 922802.349 565496.049 0,
+ 923100.392 565491.514 0, 923398.435 565486.997 0, 923696.478 565482.497 0, 923994.522 565478.015 0, 924292.566 565473.55 0, 924590.611 565469.103 0, 924888.655 565464.673 0, 925186.7 565460.261 0, 925484.745 565455.866 0, 925782.791 565451.489 0,
+ 926080.836 565447.13 0, 926378.882 565442.788 0, 926676.929 565438.463 0, 926974.975 565434.157 0, 927273.022 565429.867 0, 927571.069 565425.595 0, 927869.116 565421.341 0, 928167.163 565417.104 0, 928463.757 565412.906 0, 928385.191 559851.45 0,
+ 928306.631 554290.365 0))
+
+POLYGON ((942770.321 565231.012 0, 942473.714 565234.373 0, 942175.655 565237.767 0, 941877.597 565241.179 0, 941579.54 565244.609 0, 941281.482 565248.057 0, 940983.425 565251.521 0, 940685.367 565255.004 0, 940387.31 565258.504 0, 940089.254 565262.021 0,
+ 939791.197 565265.556 0, 939493.141 565269.109 0, 939195.084 565272.679 0, 938897.028 565276.266 0, 938598.973 565279.872 0, 938300.917 565283.494 0, 938002.862 565287.134 0, 937704.807 565290.792 0, 937406.752 565294.468 0, 937108.697 565298.161 0,
+ 936810.643 565301.871 0, 936512.589 565305.599 0, 936214.535 565309.344 0, 935916.481 565313.107 0, 935616.975 565316.907 0, 935320.374 565320.686 0, 935022.321 565324.502 0, 934724.268 565328.335 0, 934426.215 565332.186 0, 934128.163 565336.054 0,
+ 933830.111 565339.94 0, 933532.059 565343.843 0, 933234.007 565347.764 0, 932935.955 565351.703 0, 932637.904 565355.659 0, 932339.853 565359.633 0, 932041.802 565363.624 0, 931743.752 565367.632 0, 931445.701 565371.658 0, 931147.651 565375.702 0,
+ 930849.601 565379.764 0, 930551.552 565383.842 0, 930253.502 565387.939 0, 929955.453 565392.053 0, 929657.404 565396.184 0, 929359.355 565400.333 0, 929061.307 565404.5 0, 928763.259 565408.684 0, 928463.757 565412.906 0, 928542.329 570974.73 0,
+ 928620.905 576536.918 0, 928919.748 576532.706 0, 929217.142 576528.531 0, 929514.535 576524.373 0, 929811.929 576520.233 0, 930109.324 576516.111 0, 930406.718 576512.006 0, 930704.113 576507.919 0, 931001.507 576503.849 0, 931298.903 576499.797 0,
+ 931596.298 576495.762 0, 931893.694 576491.744 0, 932191.089 576487.745 0, 932488.486 576483.762 0, 932785.882 576479.797 0, 933083.278 576475.85 0, 933380.675 576471.92 0, 933678.072 576468.008 0, 933975.469 576464.113 0, 934272.867 576460.236 0,
+ 934570.265 576456.376 0, 934867.662 576452.534 0, 935165.061 576448.709 0, 935462.459 576444.901 0, 935758.408 576441.13 0, 936057.256 576437.339 0, 936354.655 576433.585 0, 936652.055 576429.847 0, 936949.454 576426.128 0, 937246.854 576422.425 0,
+ 937544.254 576418.74 0, 937841.654 576415.073 0, 938139.054 576411.423 0, 938436.455 576407.791 0, 938733.856 576404.176 0, 939031.257 576400.579 0, 939328.658 576396.999 0, 939626.059 576393.437 0, 939923.461 576389.892 0, 940220.863 576386.365 0,
+ 940518.265 576382.855 0, 940815.667 576379.363 0, 941113.069 576375.889 0, 941410.472 576372.431 0, 941707.875 576368.992 0, 942005.278 576365.569 0, 942302.681 576362.165 0, 942600.085 576358.777 0, 942896.04 576355.424 0, 942833.178 570793.036 0,
+ 942770.321 565231.012 0))
+
+POLYGON ((957171.631 576214.26 0, 956875.665 576216.778 0, 956578.253 576219.325 0, 956280.842 576221.889 0, 955983.43 576224.471 0, 955686.019 576227.071 0, 955388.608 576229.687 0, 955091.196 576232.322 0, 954793.786 576234.974 0, 954496.375 576237.643 0,
+ 954198.964 576240.33 0, 953901.554 576243.035 0, 953604.143 576245.757 0, 953306.733 576248.497 0, 953009.323 576251.254 0, 952711.914 576254.028 0, 952414.504 576256.82 0, 952117.094 576259.63 0, 951819.685 576262.457 0, 951522.276 576265.301 0,
+ 951224.867 576268.163 0, 950927.458 576271.043 0, 950630.05 576273.94 0, 950332.641 576276.855 0, 950033.786 576279.801 0, 949737.825 576282.736 0, 949440.417 576285.703 0, 949143.009 576288.688 0, 948845.601 576291.69 0, 948548.194 576294.71 0,
+ 948250.787 576297.747 0, 947953.38 576300.801 0, 947655.973 576303.873 0, 947358.566 576306.963 0, 947061.16 576310.07 0, 946763.753 576313.195 0, 946466.347 576316.337 0, 946168.941 576319.496 0, 945871.535 576322.674 0, 945574.13 576325.868 0,
+ 945276.724 576329.08 0, 944979.319 576332.31 0, 944681.914 576335.557 0, 944384.509 576338.822 0, 944087.105 576342.104 0, 943789.7 576345.404 0, 943492.296 576348.721 0, 943194.892 576352.056 0, 942896.04 576355.424 0, 942958.906 581918.174 0,
+ 943021.776 587481.283 0, 943319.97 587477.921 0, 943616.719 587474.594 0, 943913.468 587471.284 0, 944210.218 587467.992 0, 944506.968 587464.717 0, 944803.718 587461.459 0, 945100.468 587458.219 0, 945397.218 587454.997 0, 945693.969 587451.792 0,
+ 945990.72 587448.604 0, 946287.471 587445.434 0, 946584.222 587442.281 0, 946880.973 587439.146 0, 947177.724 587436.028 0, 947474.476 587432.928 0, 947771.228 587429.845 0, 948067.98 587426.78 0, 948364.732 587423.732 0, 948661.484 587420.702 0,
+ 948958.237 587417.689 0, 949254.99 587414.693 0, 949551.743 587411.715 0, 949848.496 587408.755 0, 950143.805 587405.826 0, 950442.002 587402.886 0, 950738.756 587399.978 0, 951035.51 587397.087 0, 951332.264 587394.214 0, 951629.018 587391.358 0,
+ 951925.772 587388.52 0, 952222.527 587385.699 0, 952519.281 587382.896 0, 952816.036 587380.11 0, 953112.791 587377.341 0, 953409.546 587374.59 0, 953706.301 587371.857 0, 954003.057 587369.141 0, 954299.812 587366.442 0, 954596.568 587363.761 0,
+ 954893.324 587361.098 0, 955190.08 587358.451 0, 955486.836 587355.823 0, 955783.593 587353.212 0, 956080.349 587350.618 0, 956377.106 587348.042 0, 956673.863 587345.483 0, 956970.62 587342.941 0, 957265.934 587340.43 0, 957218.781 581777.166 0,
+ 957171.631 576214.26 0))
+
+POLYGON ((971510.433 587239.82 0, 971215.111 587241.497 0, 970918.348 587243.2 0, 970621.585 587244.92 0, 970324.822 587246.658 0, 970028.059 587248.414 0, 969731.297 587250.186 0, 969434.534 587251.977 0, 969137.772 587253.784 0, 968841.01 587255.61 0,
+ 968544.248 587257.452 0, 968247.486 587259.313 0, 967950.724 587261.19 0, 967653.962 587263.085 0, 967357.2 587264.998 0, 967060.439 587266.928 0, 966763.677 587268.875 0, 966466.916 587270.84 0, 966170.155 587272.823 0, 965873.393 587274.823 0,
+ 965576.632 587276.84 0, 965279.872 587278.875 0, 964983.111 587280.927 0, 964686.35 587282.997 0, 964388.148 587285.094 0, 964092.829 587287.189 0, 963796.069 587289.311 0, 963499.309 587291.451 0, 963202.549 587293.608 0, 962905.789 587295.782 0,
+ 962609.029 587297.974 0, 962312.27 587300.184 0, 962015.51 587302.411 0, 961718.751 587304.655 0, 961421.991 587306.917 0, 961125.232 587309.196 0, 960828.473 587311.493 0, 960531.715 587313.807 0, 960234.956 587316.139 0, 959938.197 587318.488 0,
+ 959641.439 587320.855 0, 959344.681 587323.239 0, 959047.922 587325.641 0, 958751.164 587328.06 0, 958454.407 587330.497 0, 958157.649 587332.951 0, 957860.891 587335.422 0, 957564.134 587337.911 0, 957265.934 587340.43 0, 957313.09 592904.049 0,
+ 957360.249 598468.02 0, 957657.791 598465.507 0, 957953.893 598463.023 0, 958249.996 598460.557 0, 958546.098 598458.108 0, 958842.201 598455.677 0, 959138.304 598453.263 0, 959434.408 598450.867 0, 959730.511 598448.488 0, 960026.614 598446.127 0,
+ 960322.718 598443.783 0, 960618.822 598441.456 0, 960914.926 598439.147 0, 961211.03 598436.855 0, 961507.134 598434.581 0, 961803.238 598432.324 0, 962099.342 598430.085 0, 962395.447 598427.862 0, 962691.552 598425.658 0, 962987.656 598423.471 0,
+ 963283.761 598421.301 0, 963579.866 598419.149 0, 963875.972 598417.014 0, 964172.077 598414.896 0, 964466.744 598412.806 0, 964764.288 598410.714 0, 965060.394 598408.648 0, 965356.499 598406.601 0, 965652.605 598404.57 0, 965948.711 598402.557 0,
+ 966244.818 598400.562 0, 966540.924 598398.584 0, 966837.03 598396.623 0, 967133.137 598394.68 0, 967429.243 598392.754 0, 967725.35 598390.846 0, 968021.457 598388.955 0, 968317.564 598387.082 0, 968613.671 598385.225 0, 968909.778 598383.387 0,
+ 969205.885 598381.566 0, 969501.993 598379.762 0, 969798.1 598377.976 0, 970094.208 598376.207 0, 970390.316 598374.455 0, 970686.423 598372.721 0, 970982.531 598371.004 0, 971278.639 598369.305 0, 971573.31 598367.632 0, 971541.871 592803.55 0,
+ 971510.433 587239.82 0))
+
+POLYGON ((985786.598 598307.399 0, 985491.922 598308.24 0, 985195.81 598309.102 0, 984899.698 598309.982 0, 984603.587 598310.88 0, 984307.475 598311.795 0, 984011.364 598312.727 0, 983715.253 598313.677 0, 983419.141 598314.644 0, 983123.03 598315.629 0,
+ 982826.919 598316.631 0, 982530.808 598317.65 0, 982234.697 598318.687 0, 981938.586 598319.742 0, 981642.475 598320.813 0, 981346.364 598321.902 0, 981050.253 598323.009 0, 980754.142 598324.133 0, 980458.032 598325.275 0, 980161.921 598326.434 0,
+ 979865.811 598327.61 0, 979569.7 598328.804 0, 979273.59 598330.015 0, 978977.479 598331.244 0, 978679.933 598332.496 0, 978385.259 598333.753 0, 978089.149 598335.034 0, 977793.039 598336.332 0, 977496.929 598337.648 0, 977200.819 598338.981 0,
+ 976904.709 598340.332 0, 976608.599 598341.7 0, 976312.49 598343.085 0, 976016.38 598344.488 0, 975720.271 598345.909 0, 975424.161 598347.347 0, 975128.052 598348.802 0, 974831.943 598350.274 0, 974535.834 598351.764 0, 974239.725 598353.272 0,
+ 973943.616 598354.797 0, 973647.507 598356.339 0, 973351.398 598357.899 0, 973055.289 598359.476 0, 972759.181 598361.071 0, 972463.072 598362.683 0, 972166.964 598364.312 0, 971870.856 598365.959 0, 971573.31 598367.632 0, 971604.752 603932.062 0,
+ 971636.195 609496.838 0, 971933.082 609495.17 0, 972228.535 609493.526 0, 972523.989 609491.901 0, 972819.442 609490.292 0, 973114.896 609488.701 0, 973410.349 609487.127 0, 973705.803 609485.571 0, 974001.257 609484.032 0, 974296.711 609482.51 0,
+ 974592.165 609481.006 0, 974887.619 609479.52 0, 975183.073 609478.05 0, 975478.527 609476.598 0, 975773.982 609475.164 0, 976069.436 609473.746 0, 976364.891 609472.347 0, 976660.345 609470.964 0, 976955.8 609469.599 0, 977251.255 609468.252 0,
+ 977546.71 609466.921 0, 977842.164 609465.608 0, 978137.619 609464.313 0, 978433.074 609463.035 0, 978727.097 609461.78 0, 979023.985 609460.531 0, 979319.44 609459.305 0, 979614.895 609458.096 0, 979910.351 609456.905 0, 980205.806 609455.732 0,
+ 980501.262 609454.575 0, 980796.718 609453.436 0, 981092.173 609452.315 0, 981387.629 609451.21 0, 981683.085 609450.124 0, 981978.541 609449.054 0, 982273.997 609448.002 0, 982569.453 609446.968 0, 982864.909 609445.95 0, 983160.365 609444.951 0,
+ 983455.821 609443.968 0, 983751.277 609443.003 0, 984046.734 609442.055 0, 984342.19 609441.125 0, 984637.646 609440.212 0, 984933.103 609439.317 0, 985228.559 609438.439 0, 985524.016 609437.578 0, 985818.041 609436.739 0, 985802.319 603871.896 0,
+ 985786.598 598307.399 0))
+
+POLYGON ((1000000 609416.705 0, 999705.972 609416.714 0, 999410.514 609416.74 0, 999115.056 609416.783 0, 998819.598 609416.844 0, 998524.14 609416.922 0, 998228.683 609417.018 0, 997933.225 609417.131 0, 997637.767 609417.261 0, 997342.309 609417.409 0,
+ 997046.851 609417.574 0, 996751.394 609417.756 0, 996455.936 609417.956 0, 996160.478 609418.174 0, 995865.02 609418.408 0, 995569.563 609418.66 0, 995274.105 609418.93 0, 994978.647 609419.217 0, 994683.19 609419.521 0, 994387.732 609419.843 0,
+ 994092.274 609420.182 0, 993796.817 609420.538 0, 993501.359 609420.912 0, 993205.902 609421.303 0, 992909.013 609421.714 0, 992614.987 609422.138 0, 992319.529 609422.581 0, 992024.072 609423.042 0, 991728.614 609423.52 0, 991433.157 609424.015 0,
+ 991137.699 609424.528 0, 990842.242 609425.059 0, 990546.785 609425.606 0, 990251.327 609426.171 0, 989955.87 609426.754 0, 989660.413 609427.354 0, 989364.956 609427.971 0, 989069.499 609428.606 0, 988774.041 609429.258 0, 988478.584 609429.927 0,
+ 988183.127 609430.614 0, 987887.67 609431.318 0, 987592.213 609432.04 0, 987296.757 609432.779 0, 987001.3 609433.535 0, 986705.843 609434.309 0, 986410.386 609435.1 0, 986114.929 609435.909 0, 985818.041 609436.739 0, 985833.764 615001.924 0,
+ 985849.487 620567.448 0, 986145.717 620566.619 0, 986440.519 620565.813 0, 986735.321 620565.023 0, 987030.122 620564.251 0, 987324.924 620563.496 0, 987619.726 620562.759 0, 987914.528 620562.039 0, 988209.33 620561.336 0, 988504.131 620560.651 0,
+ 988798.933 620559.983 0, 989093.735 620559.333 0, 989388.537 620558.699 0, 989683.339 620558.083 0, 989978.141 620557.485 0, 990272.944 620556.904 0, 990567.746 620556.34 0, 990862.548 620555.793 0, 991157.35 620555.264 0, 991452.152 620554.753 0,
+ 991746.955 620554.258 0, 992041.757 620553.781 0, 992336.559 620553.321 0, 992631.362 620552.879 0, 992924.737 620552.456 0, 993220.966 620552.046 0, 993515.769 620551.656 0, 993810.571 620551.283 0, 994105.374 620550.927 0, 994400.176 620550.589 0,
+ 994694.979 620550.268 0, 994989.781 620549.965 0, 995284.584 620549.678 0, 995579.387 620549.409 0, 995874.189 620549.158 0, 996168.992 620548.924 0, 996463.794 620548.707 0, 996758.597 620548.507 0, 997053.4 620548.325 0, 997348.202 620548.161 0,
+ 997643.005 620548.013 0, 997937.808 620547.883 0, 998232.61 620547.77 0, 998527.413 620547.675 0, 998822.216 620547.597 0, 999117.018 620547.536 0, 999411.821 620547.493 0, 999706.624 620547.467 0, 1000000 620547.459 0, 1000000 614981.912 0,
+ 1000000 609416.705 0))
+
+POLYGON ((1014150.513 620567.448 0, 1013857.135 620566.627 0, 1013562.334 620565.82 0, 1013267.532 620565.031 0, 1012972.73 620564.259 0, 1012677.929 620563.504 0, 1012383.127 620562.766 0, 1012088.325 620562.046 0, 1011793.523 620561.343 0, 1011498.721 620560.658 0,
+ 1011203.919 620559.99 0, 1010909.117 620559.339 0, 1010614.315 620558.705 0, 1010319.513 620558.089 0, 1010024.711 620557.491 0, 1009729.909 620556.909 0, 1009435.107 620556.345 0, 1009140.305 620555.799 0, 1008845.503 620555.269 0, 1008550.7 620554.757 0,
+ 1008255.898 620554.263 0, 1007961.096 620553.786 0, 1007666.293 620553.326 0, 1007371.491 620552.883 0, 1007075.263 620552.456 0, 1006781.886 620552.05 0, 1006487.084 620551.66 0, 1006192.281 620551.286 0, 1005897.479 620550.931 0, 1005602.676 620550.592 0,
+ 1005307.874 620550.271 0, 1005013.071 620549.967 0, 1004718.269 620549.681 0, 1004423.466 620549.412 0, 1004128.664 620549.16 0, 1003833.861 620548.926 0, 1003539.058 620548.709 0, 1003244.256 620548.509 0, 1002949.453 620548.327 0, 1002654.65 620548.162 0,
+ 1002359.848 620548.015 0, 1002065.045 620547.884 0, 1001770.242 620547.771 0, 1001475.44 620547.676 0, 1001180.637 620547.598 0, 1000885.834 620547.537 0, 1000591.032 620547.494 0, 1000296.229 620547.467 0, 1000000 620547.459 0, 1000000 626113.341 0,
+ 1000000 631679.555 0, 1000295.571 631679.564 0, 1000589.718 631679.59 0, 1000883.866 631679.633 0, 1001178.013 631679.694 0, 1001472.161 631679.772 0, 1001766.308 631679.867 0, 1002060.456 631679.98 0, 1002354.603 631680.109 0, 1002648.75 631680.257 0,
+ 1002942.898 631680.421 0, 1003237.045 631680.603 0, 1003531.193 631680.802 0, 1003825.34 631681.019 0, 1004119.487 631681.253 0, 1004413.635 631681.504 0, 1004707.782 631681.772 0, 1005001.93 631682.058 0, 1005296.077 631682.361 0, 1005590.224 631682.681 0,
+ 1005884.371 631683.019 0, 1006178.519 631683.374 0, 1006472.666 631683.746 0, 1006766.813 631684.136 0, 1007059.538 631684.541 0, 1007355.108 631684.967 0, 1007649.255 631685.409 0, 1007943.402 631685.868 0, 1008237.549 631686.344 0, 1008531.696 631686.837 0,
+ 1008825.843 631687.348 0, 1009119.99 631687.876 0, 1009414.137 631688.422 0, 1009708.284 631688.984 0, 1010002.431 631689.565 0, 1010296.578 631690.162 0, 1010590.725 631690.777 0, 1010884.871 631691.409 0, 1011179.018 631692.058 0, 1011473.165 631692.725 0,
+ 1011767.312 631693.409 0, 1012061.458 631694.11 0, 1012355.605 631694.828 0, 1012649.751 631695.564 0, 1012943.898 631696.317 0, 1013238.044 631697.088 0, 1013532.191 631697.876 0, 1013826.337 631698.681 0, 1014119.063 631699.499 0, 1014134.788 626133.307 0,
+ 1014150.513 620567.448 0))
+
+POLYGON ((1028238.012 631759.333 0, 1027945.288 631757.687 0, 1027651.145 631756.051 0, 1027357.002 631754.432 0, 1027062.859 631752.831 0, 1026768.716 631751.246 0, 1026474.573 631749.68 0, 1026180.429 631748.13 0, 1025886.286 631746.598 0, 1025592.142 631745.083 0,
+ 1025297.999 631743.585 0, 1025003.855 631742.105 0, 1024709.711 631740.642 0, 1024415.567 631739.196 0, 1024121.423 631737.768 0, 1023827.279 631736.357 0, 1023533.135 631734.963 0, 1023238.99 631733.586 0, 1022944.846 631732.227 0, 1022650.702 631730.885 0,
+ 1022356.557 631729.561 0, 1022062.413 631728.254 0, 1021768.268 631726.964 0, 1021474.123 631725.691 0, 1021178.559 631724.43 0, 1020885.834 631723.198 0, 1020591.689 631721.977 0, 1020297.544 631720.774 0, 1020003.398 631719.588 0, 1019709.253 631718.419 0,
+ 1019415.108 631717.268 0, 1019120.963 631716.134 0, 1018826.817 631715.017 0, 1018532.672 631713.918 0, 1018238.527 631712.835 0, 1017944.381 631711.771 0, 1017650.235 631710.723 0, 1017356.09 631709.693 0, 1017061.944 631708.68 0, 1016767.798 631707.684 0,
+ 1016473.652 631706.706 0, 1016179.506 631705.745 0, 1015885.36 631704.802 0, 1015591.214 631703.875 0, 1015297.068 631702.966 0, 1015002.922 631702.075 0, 1014708.776 631701.2 0, 1014414.63 631700.343 0, 1014119.063 631699.499 0, 1014103.336 637266.021 0,
+ 1014087.609 642832.868 0, 1014382.517 642833.709 0, 1014676.008 642834.565 0, 1014969.499 642835.437 0, 1015262.99 642836.327 0, 1015556.481 642837.234 0, 1015849.972 642838.158 0, 1016143.462 642839.1 0, 1016436.953 642840.058 0, 1016730.443 642841.034 0,
+ 1017023.934 642842.028 0, 1017317.424 642843.038 0, 1017610.915 642844.066 0, 1017904.405 642845.111 0, 1018197.895 642846.174 0, 1018491.386 642847.254 0, 1018784.876 642848.351 0, 1019078.366 642849.465 0, 1019371.856 642850.597 0, 1019665.346 642851.745 0,
+ 1019958.836 642852.911 0, 1020252.325 642854.095 0, 1020545.815 642855.295 0, 1020839.305 642856.513 0, 1021131.378 642857.743 0, 1021426.284 642859.001 0, 1021719.773 642860.271 0, 1022013.263 642861.558 0, 1022306.752 642862.862 0, 1022600.241 642864.184 0,
+ 1022893.73 642865.523 0, 1023187.219 642866.879 0, 1023480.708 642868.252 0, 1023774.197 642869.643 0, 1024067.686 642871.051 0, 1024361.175 642872.476 0, 1024654.664 642873.918 0, 1024948.152 642875.378 0, 1025241.641 642876.855 0, 1025535.129 642878.349 0,
+ 1025828.617 642879.861 0, 1026122.105 642881.39 0, 1026415.594 642882.936 0, 1026709.082 642884.499 0, 1027002.57 642886.08 0, 1027296.057 642887.678 0, 1027589.545 642889.293 0, 1027883.033 642890.926 0, 1028175.105 642892.568 0, 1028206.56 637325.787 0,
+ 1028238.012 631759.333 0))
+
+POLYGON ((1042262.376 642992.067 0, 1041970.308 642989.6 0, 1041676.826 642987.138 0, 1041383.344 642984.694 0, 1041089.862 642982.267 0, 1040796.379 642979.857 0, 1040502.897 642977.465 0, 1040209.414 642975.089 0, 1039915.932 642972.731 0, 1039622.449 642970.391 0,
+ 1039328.966 642968.067 0, 1039035.483 642965.761 0, 1038741.999 642963.472 0, 1038448.516 642961.2 0, 1038155.032 642958.946 0, 1037861.549 642956.709 0, 1037568.065 642954.489 0, 1037274.581 642952.287 0, 1036981.097 642950.101 0, 1036687.613 642947.933 0,
+ 1036394.128 642945.783 0, 1036100.644 642943.649 0, 1035807.159 642941.533 0, 1035513.675 642939.434 0, 1035218.776 642937.342 0, 1034926.705 642935.288 0, 1034633.22 642933.241 0, 1034339.735 642931.211 0, 1034046.25 642929.199 0, 1033752.764 642927.203 0,
+ 1033459.279 642925.225 0, 1033165.793 642923.265 0, 1032872.307 642921.321 0, 1032578.821 642919.395 0, 1032285.335 642917.486 0, 1031991.849 642915.595 0, 1031698.363 642913.72 0, 1031404.877 642911.863 0, 1031111.39 642910.023 0, 1030817.904 642908.201 0,
+ 1030524.417 642906.396 0, 1030230.93 642904.608 0, 1029937.444 642902.837 0, 1029643.957 642901.084 0, 1029350.47 642899.347 0, 1029056.982 642897.629 0, 1028763.495 642895.927 0, 1028470.008 642894.243 0, 1028175.105 642892.568 0, 1028143.648 648459.67 0,
+ 1028112.19 654027.093 0, 1028406.434 654028.764 0, 1028699.266 654030.444 0, 1028992.098 654032.142 0, 1029284.93 654033.857 0, 1029577.762 654035.589 0, 1029870.593 654037.339 0, 1030163.425 654039.106 0, 1030456.256 654040.89 0, 1030749.088 654042.691 0,
+ 1031041.919 654044.509 0, 1031334.75 654046.345 0, 1031627.581 654048.198 0, 1031920.412 654050.068 0, 1032213.242 654051.956 0, 1032506.073 654053.86 0, 1032798.904 654055.782 0, 1033091.734 654057.721 0, 1033384.564 654059.677 0, 1033677.394 654061.651 0,
+ 1033970.224 654063.642 0, 1034263.054 654065.65 0, 1034555.884 654067.675 0, 1034848.714 654069.718 0, 1035140.132 654071.767 0, 1035434.373 654073.854 0, 1035727.202 654075.949 0, 1036020.032 654078.06 0, 1036312.861 654080.189 0, 1036605.69 654082.335 0,
+ 1036898.518 654084.498 0, 1037191.347 654086.678 0, 1037484.176 654088.876 0, 1037777.004 654091.091 0, 1038069.832 654093.323 0, 1038362.661 654095.572 0, 1038655.489 654097.839 0, 1038948.317 654100.122 0, 1039241.144 654102.423 0, 1039533.972 654104.742 0,
+ 1039826.8 654107.077 0, 1040119.627 654109.43 0, 1040412.454 654111.8 0, 1040705.281 654114.187 0, 1040998.108 654116.592 0, 1041290.935 654119.013 0, 1041583.762 654121.452 0, 1041876.588 654123.908 0, 1042168.004 654126.37 0, 1042215.192 648559.059 0,
+ 1042262.376 642992.067 0))
+
+POLYGON ((1056223.482 654265.357 0, 1055932.072 654262.072 0, 1055639.254 654258.789 0, 1055346.435 654255.523 0, 1055053.616 654252.274 0, 1054760.797 654249.042 0, 1054467.978 654245.827 0, 1054175.159 654242.63 0, 1053882.339 654239.45 0, 1053589.519 654236.287 0,
+ 1053296.699 654233.142 0, 1053003.879 654230.013 0, 1052711.059 654226.902 0, 1052418.239 654223.809 0, 1052125.418 654220.732 0, 1051832.597 654217.673 0, 1051539.776 654214.63 0, 1051246.955 654211.606 0, 1050954.133 654208.598 0, 1050661.312 654205.607 0,
+ 1050368.49 654202.634 0, 1050075.668 654199.678 0, 1049782.846 654196.739 0, 1049490.024 654193.818 0, 1049195.793 654190.9 0, 1048904.379 654188.027 0, 1048611.556 654185.157 0, 1048318.733 654182.304 0, 1048025.91 654179.469 0, 1047733.087 654176.651 0,
+ 1047440.263 654173.85 0, 1047147.44 654171.066 0, 1046854.616 654168.3 0, 1046561.792 654165.551 0, 1046268.968 654162.819 0, 1045976.144 654160.104 0, 1045683.319 654157.407 0, 1045390.495 654154.727 0, 1045097.67 654152.064 0, 1044804.845 654149.418 0,
+ 1044512.02 654146.789 0, 1044219.195 654144.178 0, 1043926.37 654141.584 0, 1043633.544 654139.007 0, 1043340.719 654136.448 0, 1043047.893 654133.905 0, 1042755.067 654131.38 0, 1042462.241 654128.872 0, 1042168.004 654126.37 0, 1042120.815 659693.997 0,
+ 1042073.622 665261.936 0, 1042367.2 665264.433 0, 1042659.371 665266.935 0, 1042951.541 665269.455 0, 1043243.711 665271.991 0, 1043535.882 665274.545 0, 1043828.052 665277.116 0, 1044120.222 665279.704 0, 1044412.391 665282.31 0, 1044704.561 665284.932 0,
+ 1044996.73 665287.572 0, 1045288.9 665290.229 0, 1045581.069 665292.903 0, 1045873.238 665295.595 0, 1046165.407 665298.303 0, 1046457.575 665301.029 0, 1046749.744 665303.772 0, 1047041.912 665306.532 0, 1047334.08 665309.31 0, 1047626.248 665312.104 0,
+ 1047918.416 665314.916 0, 1048210.584 665317.745 0, 1048502.751 665320.591 0, 1048794.919 665323.455 0, 1049085.68 665326.321 0, 1049379.253 665329.233 0, 1049671.42 665332.148 0, 1049963.587 665335.08 0, 1050255.753 665338.03 0, 1050547.919 665340.996 0,
+ 1050840.086 665343.98 0, 1051132.251 665346.981 0, 1051424.417 665349.999 0, 1051716.583 665353.034 0, 1052008.748 665356.087 0, 1052300.914 665359.157 0, 1052593.079 665362.243 0, 1052885.244 665365.348 0, 1053177.408 665368.469 0, 1053469.573 665371.607 0,
+ 1053761.737 665374.763 0, 1054053.901 665377.936 0, 1054346.065 665381.126 0, 1054638.229 665384.333 0, 1054930.393 665387.558 0, 1055222.556 665390.8 0, 1055514.719 665394.059 0, 1055806.882 665397.335 0, 1056097.64 665400.612 0, 1056160.563 659832.828 0,
+ 1056223.482 654265.357 0))
+
+POLYGON ((1070121.211 665578.908 0, 1069830.461 665574.809 0, 1069538.308 665570.708 0, 1069246.156 665566.623 0, 1068954.003 665562.556 0, 1068661.849 665558.506 0, 1068369.696 665554.474 0, 1068077.542 665550.458 0, 1067785.388 665546.46 0, 1067493.234 665542.479 0,
+ 1067201.079 665538.515 0, 1066908.924 665534.568 0, 1066616.769 665530.639 0, 1066324.614 665526.726 0, 1066032.459 665522.831 0, 1065740.303 665518.953 0, 1065448.147 665515.092 0, 1065155.991 665511.249 0, 1064863.835 665507.422 0, 1064571.678 665503.613 0,
+ 1064279.522 665499.821 0, 1063987.365 665496.047 0, 1063695.207 665492.289 0, 1063403.05 665488.549 0, 1063109.489 665484.808 0, 1062818.734 665481.119 0, 1062526.576 665477.431 0, 1062234.418 665473.759 0, 1061942.259 665470.105 0, 1061650.101 665466.467 0,
+ 1061357.942 665462.847 0, 1061065.783 665459.245 0, 1060773.623 665455.659 0, 1060481.464 665452.091 0, 1060189.304 665448.539 0, 1059897.144 665445.005 0, 1059604.984 665441.489 0, 1059312.823 665437.989 0, 1059020.662 665434.507 0, 1058728.502 665431.041 0,
+ 1058436.341 665427.593 0, 1058144.179 665424.162 0, 1057852.018 665420.749 0, 1057559.856 665417.352 0, 1057267.694 665413.973 0, 1056975.532 665410.611 0, 1056683.37 665407.266 0, 1056391.208 665403.938 0, 1056097.64 665400.612 0, 1056034.714 670968.705 0,
+ 1055971.784 676537.104 0, 1056264.693 676540.422 0, 1056556.2 676543.743 0, 1056847.707 676547.08 0, 1057139.213 676550.435 0, 1057430.72 676553.806 0, 1057722.226 676557.195 0, 1058013.732 676560.601 0, 1058305.238 676564.024 0, 1058596.743 676567.465 0,
+ 1058888.249 676570.922 0, 1059179.754 676574.397 0, 1059471.259 676577.888 0, 1059762.764 676581.397 0, 1060054.268 676584.923 0, 1060345.772 676588.467 0, 1060637.277 676592.027 0, 1060928.78 676595.605 0, 1061220.284 676599.199 0, 1061511.788 676602.811 0,
+ 1061803.291 676606.44 0, 1062094.794 676610.087 0, 1062386.297 676613.75 0, 1062677.799 676617.43 0, 1062967.902 676621.11 0, 1063260.804 676624.843 0, 1063552.306 676628.575 0, 1063843.808 676632.324 0, 1064135.309 676636.09 0, 1064426.811 676639.874 0,
+ 1064718.312 676643.674 0, 1065009.813 676647.492 0, 1065301.313 676651.327 0, 1065592.814 676655.179 0, 1065884.314 676659.048 0, 1066175.814 676662.935 0, 1066467.314 676666.838 0, 1066758.813 676670.759 0, 1067050.312 676674.697 0, 1067341.811 676678.652 0,
+ 1067633.31 676682.624 0, 1067924.809 676686.613 0, 1068216.307 676690.62 0, 1068507.805 676694.644 0, 1068799.303 676698.684 0, 1069090.801 676702.742 0, 1069382.298 676706.818 0, 1069673.795 676710.91 0, 1069963.893 676714.999 0, 1070042.554 671146.801 0,
+ 1070121.211 665578.908 0))
+
+POLYGON ((1083955.443 676932.425 0, 1083665.356 676927.516 0, 1083373.871 676922.6 0, 1083082.387 676917.701 0, 1082790.902 676912.82 0, 1082499.416 676907.955 0, 1082207.931 676903.108 0, 1081916.445 676898.278 0, 1081624.959 676893.465 0, 1081333.472 676888.67 0,
+ 1081041.986 676883.891 0, 1080750.499 676879.13 0, 1080459.011 676874.385 0, 1080167.524 676869.658 0, 1079876.036 676864.948 0, 1079584.548 676860.256 0, 1079293.06 676855.58 0, 1079001.571 676850.922 0, 1078710.082 676846.28 0, 1078418.593 676841.656 0,
+ 1078127.103 676837.049 0, 1077835.614 676832.459 0, 1077544.124 676827.887 0, 1077252.633 676823.331 0, 1076959.745 676818.771 0, 1076669.652 676814.272 0, 1076378.161 676809.768 0, 1076086.67 676805.281 0, 1075795.178 676800.811 0, 1075503.686 676796.358 0,
+ 1075212.194 676791.923 0, 1074920.702 676787.505 0, 1074629.209 676783.104 0, 1074337.716 676778.72 0, 1074046.223 676774.353 0, 1073754.729 676770.003 0, 1073463.236 676765.671 0, 1073171.742 676761.355 0, 1072880.248 676757.057 0, 1072588.753 676752.776 0,
+ 1072297.259 676748.512 0, 1072005.764 676744.266 0, 1071714.268 676740.036 0, 1071422.773 676735.824 0, 1071131.277 676731.629 0, 1070839.781 676727.451 0, 1070548.285 676723.29 0, 1070256.789 676719.146 0, 1069963.893 676714.999 0, 1069885.228 682283.501 0,
+ 1069806.558 687852.301 0, 1070098.795 687856.438 0, 1070389.636 687860.572 0, 1070680.477 687864.724 0, 1070971.317 687868.892 0, 1071262.157 687873.078 0, 1071552.997 687877.281 0, 1071843.837 687881.501 0, 1072134.676 687885.738 0, 1072425.515 687889.992 0,
+ 1072716.354 687894.264 0, 1073007.193 687898.552 0, 1073298.031 687902.858 0, 1073588.869 687907.181 0, 1073879.707 687911.52 0, 1074170.545 687915.877 0, 1074461.382 687920.251 0, 1074752.22 687924.643 0, 1075043.056 687929.051 0, 1075333.893 687933.476 0,
+ 1075624.729 687937.919 0, 1075915.566 687942.379 0, 1076206.401 687946.856 0, 1076497.237 687951.349 0, 1076786.677 687955.839 0, 1077078.907 687960.389 0, 1077369.742 687964.934 0, 1077660.577 687969.496 0, 1077951.411 687974.076 0, 1078242.245 687978.672 0,
+ 1078533.078 687983.286 0, 1078823.912 687987.917 0, 1079114.745 687992.565 0, 1079405.578 687997.23 0, 1079696.41 688001.912 0, 1079987.243 688006.612 0, 1080278.075 688011.328 0, 1080568.907 688016.062 0, 1080859.738 688020.812 0, 1081150.569 688025.58 0,
+ 1081441.4 688030.365 0, 1081732.231 688035.167 0, 1082023.061 688039.986 0, 1082313.891 688044.823 0, 1082604.721 688049.676 0, 1082895.551 688054.546 0, 1083186.38 688059.434 0, 1083477.209 688064.339 0, 1083766.644 688069.237 0, 1083861.046 682500.681 0,
+ 1083955.443 676932.425 0))
+
+POLYGON ((1097726.061 688325.612 0, 1097436.639 688319.896 0, 1097145.825 688314.17 0, 1096855.01 688308.461 0, 1096564.196 688302.769 0, 1096273.381 688297.094 0, 1095982.566 688291.436 0, 1095691.75 688285.795 0, 1095400.934 688280.171 0, 1095110.118 688274.565 0,
+ 1094819.301 688268.975 0, 1094528.484 688263.403 0, 1094237.667 688257.848 0, 1093946.85 688252.31 0, 1093656.032 688246.789 0, 1093365.214 688241.285 0, 1093074.395 688235.798 0, 1092783.576 688230.329 0, 1092492.757 688224.876 0, 1092201.938 688219.441 0,
+ 1091911.118 688214.022 0, 1091620.298 688208.621 0, 1091329.477 688203.237 0, 1091038.656 688197.87 0, 1090746.443 688192.495 0, 1090457.014 688187.188 0, 1090166.192 688181.872 0, 1089875.37 688176.574 0, 1089584.548 688171.293 0, 1089293.725 688166.028 0,
+ 1089002.902 688160.781 0, 1088712.079 688155.551 0, 1088421.255 688150.338 0, 1088130.432 688145.143 0, 1087839.607 688139.964 0, 1087548.783 688134.803 0, 1087257.958 688129.658 0, 1086967.133 688124.531 0, 1086676.308 688119.421 0, 1086385.482 688114.328 0,
+ 1086094.656 688109.252 0, 1085803.83 688104.193 0, 1085513.003 688099.151 0, 1085222.176 688094.127 0, 1084931.349 688089.119 0, 1084640.522 688084.129 0, 1084349.694 688079.156 0, 1084058.866 688074.2 0, 1083766.644 688069.237 0, 1083672.236 693638.088 0,
+ 1083577.824 699207.231 0, 1083869.388 699212.183 0, 1084159.56 699217.128 0, 1084449.732 699222.09 0, 1084739.904 699227.069 0, 1085030.076 699232.065 0, 1085320.247 699237.078 0, 1085610.418 699242.109 0, 1085900.589 699247.156 0, 1086190.759 699252.22 0,
+ 1086480.929 699257.302 0, 1086771.099 699262.401 0, 1087061.269 699267.516 0, 1087351.438 699272.649 0, 1087641.607 699277.799 0, 1087931.776 699282.966 0, 1088221.944 699288.15 0, 1088512.112 699293.351 0, 1088802.28 699298.569 0, 1089092.447 699303.805 0,
+ 1089382.614 699309.057 0, 1089672.781 699314.326 0, 1089962.947 699319.613 0, 1090253.114 699324.916 0, 1090541.89 699330.212 0, 1090833.445 699335.575 0, 1091123.61 699340.93 0, 1091413.775 699346.301 0, 1091703.94 699351.69 0, 1091994.104 699357.097 0,
+ 1092284.268 699362.52 0, 1092574.432 699367.96 0, 1092864.595 699373.417 0, 1093154.758 699378.892 0, 1093444.921 699384.383 0, 1093735.083 699389.891 0, 1094025.245 699395.417 0, 1094315.407 699400.96 0, 1094605.568 699406.52 0, 1094895.729 699412.096 0,
+ 1095185.89 699417.69 0, 1095476.05 699423.301 0, 1095766.21 699428.929 0, 1096056.37 699434.574 0, 1096346.529 699440.237 0, 1096636.688 699445.916 0, 1096926.847 699451.612 0, 1097217.005 699457.326 0, 1097505.775 699463.029 0, 1097615.921 693894.175 0,
+ 1097726.061 688325.612 0))
+
+POLYGON ((1111432.948 699758.174 0, 1111144.193 699751.655 0, 1110854.052 699745.122 0, 1110563.911 699738.606 0, 1110273.769 699732.107 0, 1109983.627 699725.625 0, 1109693.484 699719.16 0, 1109403.341 699712.712 0, 1109113.198 699706.282 0, 1108823.054 699699.868 0,
+ 1108532.91 699693.472 0, 1108242.765 699687.092 0, 1107952.62 699680.73 0, 1107662.475 699674.384 0, 1107372.33 699668.056 0, 1107082.184 699661.745 0, 1106792.037 699655.451 0, 1106501.89 699649.174 0, 1106211.743 699642.914 0, 1105921.596 699636.671 0,
+ 1105631.448 699630.445 0, 1105341.3 699624.236 0, 1105051.151 699618.045 0, 1104761.002 699611.87 0, 1104469.466 699605.683 0, 1104180.703 699599.572 0, 1103890.553 699593.449 0, 1103600.403 699587.343 0, 1103310.252 699581.254 0, 1103020.101 699575.181 0,
+ 1102729.95 699569.126 0, 1102439.798 699563.088 0, 1102149.646 699557.068 0, 1101859.493 699551.064 0, 1101569.34 699545.077 0, 1101279.187 699539.107 0, 1100989.033 699533.155 0, 1100698.88 699527.219 0, 1100408.725 699521.301 0, 1100118.571 699515.4 0,
+ 1099828.416 699509.515 0, 1099538.26 699503.648 0, 1099248.105 699497.798 0, 1098957.949 699491.965 0, 1098667.792 699486.149 0, 1098377.636 699480.35 0, 1098087.479 699474.569 0, 1097797.321 699468.804 0, 1097505.775 699463.029 0, 1097395.624 705032.172 0,
+ 1097285.467 710601.6 0, 1097576.354 710607.362 0, 1097865.856 710613.114 0, 1098155.357 710618.883 0, 1098444.858 710624.668 0, 1098734.359 710630.471 0, 1099023.86 710636.291 0, 1099313.36 710642.128 0, 1099602.859 710647.982 0, 1099892.359 710653.853 0,
+ 1100181.858 710659.741 0, 1100471.356 710665.646 0, 1100760.855 710671.568 0, 1101050.353 710677.507 0, 1101339.85 710683.463 0, 1101629.348 710689.436 0, 1101918.845 710695.427 0, 1102208.341 710701.434 0, 1102497.838 710707.458 0, 1102787.333 710713.499 0,
+ 1103076.829 710719.558 0, 1103366.324 710725.633 0, 1103655.819 710731.726 0, 1103945.313 710737.835 0, 1104233.423 710743.932 0, 1104524.301 710750.105 0, 1104813.795 710756.266 0, 1105103.288 710762.444 0, 1105392.78 710768.638 0, 1105682.272 710774.85 0,
+ 1105971.764 710781.079 0, 1106261.256 710787.325 0, 1106550.747 710793.587 0, 1106840.238 710799.867 0, 1107129.728 710806.164 0, 1107419.218 710812.478 0, 1107708.708 710818.809 0, 1107998.197 710825.157 0, 1108287.686 710831.522 0, 1108577.175 710837.904 0,
+ 1108866.663 710844.304 0, 1109156.151 710850.72 0, 1109445.638 710857.153 0, 1109735.125 710863.603 0, 1110024.612 710870.071 0, 1110314.098 710876.555 0, 1110603.584 710883.056 0, 1110893.07 710889.575 0, 1111181.172 710896.079 0, 1111307.063 705326.984 0,
+ 1111432.948 699758.174 0))
+
+POLYGON ((1125075.99 711229.814 0, 1124787.905 711222.496 0, 1124498.439 711215.16 0, 1124208.972 711207.841 0, 1123919.506 711200.538 0, 1123630.038 711193.253 0, 1123340.571 711185.985 0, 1123051.103 711178.734 0, 1122761.634 711171.5 0, 1122472.165 711164.283 0,
+ 1122182.696 711157.083 0, 1121893.226 711149.9 0, 1121603.756 711142.734 0, 1121314.285 711135.586 0, 1121024.814 711128.454 0, 1120735.343 711121.339 0, 1120445.871 711114.241 0, 1120156.398 711107.161 0, 1119866.926 711100.097 0, 1119577.452 711093.05 0,
+ 1119287.979 711086.021 0, 1118998.505 711079.008 0, 1118709.03 711072.013 0, 1118419.556 711065.034 0, 1118128.699 711058.04 0, 1117840.605 711051.128 0, 1117551.129 711044.201 0, 1117261.652 711037.291 0, 1116972.176 711030.398 0, 1116682.698 711023.521 0,
+ 1116393.221 711016.662 0, 1116103.743 711009.82 0, 1115814.264 711002.995 0, 1115524.785 710996.187 0, 1115235.306 710989.396 0, 1114945.826 710982.622 0, 1114656.346 710975.865 0, 1114366.866 710969.125 0, 1114077.385 710962.402 0, 1113787.904 710955.696 0,
+ 1113498.422 710949.007 0, 1113208.94 710942.336 0, 1112919.458 710935.681 0, 1112629.975 710929.043 0, 1112340.492 710922.422 0, 1112051.008 710915.819 0, 1111761.524 710909.232 0, 1111472.04 710902.663 0, 1111181.172 710896.079 0, 1111055.274 716465.456 0,
+ 1110929.371 722035.111 0, 1111219.579 722041.68 0, 1111508.408 722048.234 0, 1111797.237 722054.806 0, 1112086.064 722061.395 0, 1112374.892 722068 0, 1112663.719 722074.623 0, 1112952.546 722081.263 0, 1113241.373 722087.919 0, 1113530.199 722094.593 0,
+ 1113819.024 722101.284 0, 1114107.849 722107.991 0, 1114396.674 722114.716 0, 1114685.499 722121.458 0, 1114974.323 722128.216 0, 1115263.146 722134.992 0, 1115551.97 722141.785 0, 1115840.793 722148.594 0, 1116129.615 722155.421 0, 1116418.437 722162.265 0,
+ 1116707.259 722169.125 0, 1116996.08 722176.003 0, 1117284.901 722182.898 0, 1117573.721 722189.809 0, 1117861.163 722196.705 0, 1118151.361 722203.684 0, 1118440.18 722210.646 0, 1118728.999 722217.626 0, 1119017.817 722224.623 0, 1119306.635 722231.636 0,
+ 1119595.453 722238.667 0, 1119884.27 722245.715 0, 1120173.087 722252.779 0, 1120461.903 722259.861 0, 1120750.719 722266.959 0, 1121039.534 722274.075 0, 1121328.349 722281.208 0, 1121617.164 722288.357 0, 1121905.978 722295.524 0, 1122194.792 722302.708 0,
+ 1122483.605 722309.908 0, 1122772.418 722317.126 0, 1123061.231 722324.361 0, 1123350.043 722331.612 0, 1123638.855 722338.881 0, 1123927.666 722346.167 0, 1124216.477 722353.469 0, 1124505.287 722360.789 0, 1124792.72 722368.09 0, 1124934.358 716798.813 0,
+ 1125075.99 711229.814 0))
+
+POLYGON ((1138655.073 722740.235 0, 1138367.66 722732.121 0, 1138078.871 722723.986 0, 1137790.082 722715.867 0, 1137501.292 722707.766 0, 1137212.502 722699.681 0, 1136923.712 722691.614 0, 1136634.921 722683.563 0, 1136346.13 722675.529 0, 1136057.338 722667.513 0,
+ 1135768.545 722659.513 0, 1135479.753 722651.531 0, 1135190.959 722643.565 0, 1134902.166 722635.617 0, 1134613.371 722627.685 0, 1134324.577 722619.77 0, 1134035.782 722611.873 0, 1133746.986 722603.992 0, 1133458.19 722596.129 0, 1133169.393 722588.282 0,
+ 1132880.596 722580.453 0, 1132591.799 722572.64 0, 1132303.001 722564.844 0, 1132014.203 722557.066 0, 1131724.027 722549.267 0, 1131436.604 722541.56 0, 1131147.805 722533.832 0, 1130859.004 722526.121 0, 1130570.204 722518.428 0, 1130281.403 722510.751 0,
+ 1129992.601 722503.092 0, 1129703.799 722495.449 0, 1129414.997 722487.823 0, 1129126.194 722480.215 0, 1128837.39 722472.623 0, 1128548.587 722465.049 0, 1128259.782 722457.491 0, 1127970.978 722449.95 0, 1127682.172 722442.427 0, 1127393.367 722434.92 0,
+ 1127104.561 722427.43 0, 1126815.754 722419.958 0, 1126526.948 722412.502 0, 1126238.14 722405.064 0, 1125949.332 722397.642 0, 1125660.524 722390.237 0, 1125371.716 722382.85 0, 1125082.906 722375.479 0, 1124792.72 722368.09 0, 1124651.074 727937.643 0,
+ 1124509.421 733507.466 0, 1124798.949 733514.838 0, 1125087.103 733522.192 0, 1125375.256 733529.563 0, 1125663.408 733536.951 0, 1125951.561 733544.355 0, 1126239.712 733551.777 0, 1126527.864 733559.216 0, 1126816.014 733566.671 0, 1127104.165 733574.144 0,
+ 1127392.315 733581.634 0, 1127680.464 733589.14 0, 1127968.613 733596.664 0, 1128256.762 733604.204 0, 1128544.91 733611.762 0, 1128833.058 733619.336 0, 1129121.205 733626.927 0, 1129409.352 733634.536 0, 1129697.498 733642.161 0, 1129985.644 733649.803 0,
+ 1130273.79 733657.462 0, 1130561.935 733665.138 0, 1130850.079 733672.831 0, 1131138.224 733680.542 0, 1131424.994 733688.232 0, 1131714.51 733696.013 0, 1132002.653 733703.773 0, 1132290.796 733711.551 0, 1132578.937 733719.346 0, 1132867.079 733727.158 0,
+ 1133155.22 733734.987 0, 1133443.36 733742.833 0, 1133731.5 733750.695 0, 1134019.64 733758.575 0, 1134307.779 733766.471 0, 1134595.917 733774.385 0, 1134884.056 733782.316 0, 1135172.193 733790.263 0, 1135460.33 733798.227 0, 1135748.467 733806.209 0,
+ 1136036.603 733814.207 0, 1136324.739 733822.223 0, 1136612.875 733830.255 0, 1136901.009 733838.304 0, 1137189.144 733846.37 0, 1137477.278 733854.453 0, 1137765.411 733862.554 0, 1138053.544 733870.671 0, 1138340.305 733878.766 0, 1138497.692 728309.365 0,
+ 1138655.073 722740.235 0))
+
+POLYGON ((1152170.084 734289.139 0, 1151883.345 734280.234 0, 1151595.236 734271.302 0, 1151307.127 734262.388 0, 1151019.017 734253.491 0, 1150730.906 734244.611 0, 1150442.796 734235.748 0, 1150154.684 734226.901 0, 1149866.572 734218.072 0, 1149578.459 734209.26 0,
+ 1149290.346 734200.464 0, 1149002.233 734191.686 0, 1148714.119 734182.924 0, 1148426.004 734174.18 0, 1148137.889 734165.452 0, 1147849.773 734156.742 0, 1147561.657 734148.048 0, 1147273.541 734139.371 0, 1146985.424 734130.712 0, 1146697.306 734122.069 0,
+ 1146409.188 734113.443 0, 1146121.069 734104.834 0, 1145832.95 734096.242 0, 1145544.83 734087.667 0, 1145255.339 734079.069 0, 1144968.589 734070.568 0, 1144680.468 734062.044 0, 1144392.346 734053.537 0, 1144104.224 734045.047 0, 1143816.101 734036.574 0,
+ 1143527.978 734028.117 0, 1143239.855 734019.678 0, 1142951.73 734011.256 0, 1142663.606 734002.85 0, 1142375.48 733994.462 0, 1142087.355 733986.09 0, 1141799.229 733977.736 0, 1141511.102 733969.398 0, 1141222.975 733961.078 0, 1140934.847 733952.774 0,
+ 1140646.719 733944.488 0, 1140358.59 733936.218 0, 1140070.461 733927.965 0, 1139782.332 733919.729 0, 1139494.202 733911.51 0, 1139206.071 733903.309 0, 1138917.94 733895.124 0, 1138629.809 733886.956 0, 1138340.305 733878.766 0, 1138182.909 739448.435 0,
+ 1138025.507 745018.369 0, 1138314.352 745026.54 0, 1138601.828 745034.689 0, 1138889.303 745042.855 0, 1139176.778 745051.039 0, 1139464.252 745059.239 0, 1139751.726 745067.456 0, 1140039.2 745075.69 0, 1140326.673 745083.941 0, 1140614.145 745092.208 0,
+ 1140901.617 745100.493 0, 1141189.089 745108.795 0, 1141476.56 745117.113 0, 1141764.03 745125.449 0, 1142051.5 745133.801 0, 1142338.97 745142.171 0, 1142626.439 745150.557 0, 1142913.907 745158.96 0, 1143201.375 745167.38 0, 1143488.843 745175.817 0,
+ 1143776.31 745184.271 0, 1144063.777 745192.742 0, 1144351.243 745201.23 0, 1144638.708 745209.734 0, 1144924.806 745218.215 0, 1145213.638 745226.794 0, 1145501.102 745235.35 0, 1145788.565 745243.922 0, 1146076.029 745252.512 0, 1146363.491 745261.118 0,
+ 1146650.953 745269.741 0, 1146938.415 745278.381 0, 1147225.876 745287.038 0, 1147513.336 745295.712 0, 1147800.796 745304.403 0, 1148088.256 745313.11 0, 1148375.715 745321.835 0, 1148663.173 745330.576 0, 1148950.631 745339.335 0, 1149238.089 745348.11 0,
+ 1149525.545 745356.903 0, 1149813.002 745365.712 0, 1150100.458 745374.538 0, 1150387.913 745383.381 0, 1150675.368 745392.241 0, 1150962.822 745401.118 0, 1151250.276 745410.012 0, 1151537.729 745418.923 0, 1151823.816 745427.808 0, 1151996.954 739858.341 0,
+ 1152170.084 734289.139 0))
+
+POLYGON ((1165620.913 745876.228 0, 1165334.851 745866.535 0, 1165047.424 745856.812 0, 1164759.996 745847.106 0, 1164472.568 745837.417 0, 1164185.139 745827.745 0, 1163897.71 745818.09 0, 1163610.28 745808.452 0, 1163322.85 745798.83 0, 1163035.419 745789.226 0,
+ 1162747.988 745779.638 0, 1162460.555 745770.068 0, 1162173.123 745760.514 0, 1161885.69 745750.977 0, 1161598.256 745741.458 0, 1161310.822 745731.955 0, 1161023.387 745722.469 0, 1160735.951 745713 0, 1160448.515 745703.548 0, 1160161.079 745694.112 0,
+ 1159873.642 745684.694 0, 1159586.204 745675.293 0, 1159298.766 745665.908 0, 1159011.327 745656.541 0, 1158722.522 745647.146 0, 1158436.448 745637.856 0, 1158149.008 745628.539 0, 1157861.567 745619.24 0, 1157574.125 745609.957 0, 1157286.683 745600.691 0,
+ 1156999.241 745591.441 0, 1156711.797 745582.209 0, 1156424.354 745572.994 0, 1156136.91 745563.796 0, 1155849.465 745554.614 0, 1155562.019 745545.45 0, 1155274.574 745536.302 0, 1154987.127 745527.171 0, 1154699.68 745518.058 0, 1154412.233 745508.961 0,
+ 1154124.785 745499.881 0, 1153837.336 745490.818 0, 1153549.887 745481.772 0, 1153262.438 745472.742 0, 1152974.988 745463.73 0, 1152687.537 745454.735 0, 1152400.086 745445.756 0, 1152112.634 745436.795 0, 1151823.816 745427.808 0, 1151650.669 750997.535 0,
+ 1151477.515 756567.52 0, 1151765.675 756576.487 0, 1152052.471 756585.428 0, 1152339.266 756594.386 0, 1152626.061 756603.361 0, 1152912.856 756612.352 0, 1153199.65 756621.361 0, 1153486.443 756630.386 0, 1153773.236 756639.429 0, 1154060.028 756648.488 0,
+ 1154346.82 756657.564 0, 1154633.611 756666.657 0, 1154920.402 756675.767 0, 1155207.192 756684.894 0, 1155493.982 756694.037 0, 1155780.771 756703.198 0, 1156067.559 756712.375 0, 1156354.348 756721.569 0, 1156641.135 756730.781 0, 1156927.922 756740.009 0,
+ 1157214.708 756749.254 0, 1157501.494 756758.515 0, 1157788.279 756767.794 0, 1158075.064 756777.09 0, 1158360.486 756786.358 0, 1158648.632 756795.731 0, 1158935.415 756805.077 0, 1159222.198 756814.44 0, 1159508.98 756823.82 0, 1159795.761 756833.217 0,
+ 1160082.542 756842.631 0, 1160369.323 756852.062 0, 1160656.102 756861.509 0, 1160942.882 756870.973 0, 1161229.66 756880.455 0, 1161516.438 756889.953 0, 1161803.216 756899.468 0, 1162089.993 756908.999 0, 1162376.769 756918.548 0, 1162663.545 756928.114 0,
+ 1162950.321 756937.696 0, 1163237.095 756947.296 0, 1163523.87 756956.912 0, 1163810.643 756966.545 0, 1164097.416 756976.195 0, 1164384.189 756985.862 0, 1164670.961 756995.546 0, 1164957.732 757005.246 0, 1165243.142 757014.918 0, 1165432.032 751445.444 0,
+ 1165620.913 745876.228 0))
+
+POLYGON ((1179007.45 757501.204 0, 1178722.066 757490.726 0, 1178435.323 757480.215 0, 1178148.58 757469.721 0, 1177861.836 757459.244 0, 1177575.091 757448.784 0, 1177288.346 757438.341 0, 1177001.6 757427.915 0, 1176714.854 757417.505 0, 1176428.107 757407.112 0,
+ 1176141.359 757396.737 0, 1175854.611 757386.378 0, 1175567.862 757376.036 0, 1175281.112 757365.711 0, 1174994.362 757355.402 0, 1174707.611 757345.111 0, 1174420.86 757334.836 0, 1174134.108 757324.579 0, 1173847.355 757314.338 0, 1173560.602 757304.114 0,
+ 1173273.848 757293.907 0, 1172987.094 757283.717 0, 1172700.339 757273.544 0, 1172413.583 757263.387 0, 1172125.467 757253.2 0, 1171840.071 757243.125 0, 1171553.313 757233.02 0, 1171266.555 757222.931 0, 1170979.797 757212.859 0, 1170693.038 757202.804 0,
+ 1170406.278 757192.766 0, 1170119.518 757182.744 0, 1169832.757 757172.74 0, 1169545.995 757162.752 0, 1169259.233 757152.781 0, 1168972.47 757142.828 0, 1168685.707 757132.891 0, 1168398.943 757122.971 0, 1168112.179 757113.067 0, 1167825.414 757103.181 0,
+ 1167538.648 757093.312 0, 1167251.882 757083.459 0, 1166965.115 757073.623 0, 1166678.348 757063.805 0, 1166391.58 757054.003 0, 1166104.812 757044.218 0, 1165818.043 757034.45 0, 1165531.273 757024.698 0, 1165243.142 757014.918 0, 1165054.243 762584.645 0,
+ 1164865.336 768154.623 0, 1165152.809 768164.381 0, 1165438.923 768174.11 0, 1165725.036 768183.856 0, 1166011.149 768193.618 0, 1166297.261 768203.398 0, 1166583.373 768213.194 0, 1166869.484 768223.007 0, 1167155.594 768232.837 0, 1167441.704 768242.684 0,
+ 1167727.814 768252.548 0, 1168013.922 768262.428 0, 1168300.031 768272.326 0, 1168586.138 768282.24 0, 1168872.245 768292.171 0, 1169158.352 768302.119 0, 1169444.458 768312.084 0, 1169730.563 768322.065 0, 1170016.668 768332.064 0, 1170302.772 768342.079 0,
+ 1170588.875 768352.111 0, 1170874.978 768362.16 0, 1171161.08 768372.226 0, 1171447.182 768382.309 0, 1171731.926 768392.36 0, 1172019.384 768402.524 0, 1172305.484 768412.657 0, 1172591.583 768422.807 0, 1172877.682 768432.974 0, 1173163.78 768443.158 0,
+ 1173449.877 768453.358 0, 1173735.974 768463.576 0, 1174022.071 768473.81 0, 1174308.166 768484.061 0, 1174594.262 768494.329 0, 1174880.356 768504.613 0, 1175166.45 768514.915 0, 1175452.543 768525.233 0, 1175738.636 768535.569 0, 1176024.728 768545.921 0,
+ 1176310.82 768556.289 0, 1176596.911 768566.675 0, 1176883.001 768577.078 0, 1177169.091 768587.497 0, 1177455.18 768597.933 0, 1177741.268 768608.386 0, 1178027.356 768618.856 0, 1178313.443 768629.343 0, 1178598.174 768639.797 0, 1178802.816 763070.375 0,
+ 1179007.45 757501.204 0))
+
+POLYGON ((1192329.586 769163.767 0, 1192044.884 769152.509 0, 1191758.827 769141.214 0, 1191472.77 769129.936 0, 1191186.712 769118.674 0, 1190900.654 769107.43 0, 1190614.595 769096.202 0, 1190328.535 769084.992 0, 1190042.475 769073.798 0, 1189756.414 769062.621 0,
+ 1189470.352 769051.46 0, 1189184.29 769040.317 0, 1188898.227 769029.19 0, 1188612.163 769018.08 0, 1188326.099 769006.988 0, 1188040.034 768995.911 0, 1187753.968 768984.852 0, 1187467.902 768973.81 0, 1187181.835 768962.784 0, 1186895.767 768951.776 0,
+ 1186609.699 768940.784 0, 1186323.63 768929.809 0, 1186037.561 768918.85 0, 1185751.49 768907.909 0, 1185464.065 768896.933 0, 1185179.348 768886.077 0, 1184893.276 768875.186 0, 1184607.203 768864.312 0, 1184321.13 768853.455 0, 1184035.056 768842.614 0,
+ 1183748.981 768831.791 0, 1183462.906 768820.984 0, 1183176.83 768810.194 0, 1182890.753 768799.421 0, 1182604.676 768788.665 0, 1182318.598 768777.926 0, 1182032.52 768767.203 0, 1181746.441 768756.498 0, 1181460.361 768745.809 0, 1181174.281 768735.137 0,
+ 1180888.2 768724.482 0, 1180602.118 768713.843 0, 1180316.036 768703.222 0, 1180029.953 768692.617 0, 1179743.87 768682.029 0, 1179457.786 768671.459 0, 1179171.701 768660.904 0, 1178885.616 768650.367 0, 1178598.174 768639.797 0, 1178393.522 774209.465 0,
+ 1178188.862 779779.377 0, 1178475.645 779789.923 0, 1178761.075 779800.436 0, 1179046.504 779810.966 0, 1179331.932 779821.513 0, 1179617.36 779832.076 0, 1179902.787 779842.656 0, 1180188.214 779853.253 0, 1180473.64 779863.867 0, 1180759.065 779874.498 0,
+ 1181044.49 779885.146 0, 1181329.914 779895.81 0, 1181615.337 779906.491 0, 1181900.76 779917.189 0, 1182186.182 779927.904 0, 1182471.604 779938.635 0, 1182757.025 779949.384 0, 1183042.445 779960.149 0, 1183327.865 779970.931 0, 1183613.284 779981.729 0,
+ 1183898.702 779992.545 0, 1184184.12 780003.377 0, 1184469.537 780014.226 0, 1184754.953 780025.092 0, 1185039.018 780035.923 0, 1185325.784 780046.874 0, 1185611.199 780057.791 0, 1185896.613 780068.724 0, 1186182.026 780079.674 0, 1186467.439 780090.64 0,
+ 1186752.851 780101.624 0, 1187038.262 780112.624 0, 1187323.673 780123.641 0, 1187609.083 780134.675 0, 1187894.492 780145.726 0, 1188179.901 780156.793 0, 1188465.309 780167.878 0, 1188750.716 780178.979 0, 1189036.123 780190.097 0, 1189321.529 780201.231 0,
+ 1189606.935 780212.383 0, 1189892.34 780223.551 0, 1190177.744 780234.736 0, 1190463.147 780245.938 0, 1190748.55 780257.157 0, 1191033.952 780268.392 0, 1191319.354 780279.645 0, 1191604.755 780290.914 0, 1191888.805 780302.146 0, 1192109.2 774732.835 0,
+ 1192329.586 769163.767 0))
+
+POLYGON ((1205587.216 780863.618 0, 1205303.196 780851.583 0, 1205017.828 780839.508 0, 1204732.46 780827.449 0, 1204447.091 780815.407 0, 1204161.721 780803.383 0, 1203876.35 780791.374 0, 1203590.978 780779.383 0, 1203305.606 780767.408 0, 1203020.234 780755.451 0,
+ 1202734.86 780743.51 0, 1202449.486 780731.586 0, 1202164.111 780719.678 0, 1201878.735 780707.788 0, 1201593.359 780695.914 0, 1201307.982 780684.057 0, 1201022.604 780672.217 0, 1200737.226 780660.393 0, 1200451.847 780648.587 0, 1200166.467 780636.797 0,
+ 1199881.086 780625.024 0, 1199595.705 780613.268 0, 1199310.323 780601.528 0, 1199024.941 780589.806 0, 1198738.208 780578.044 0, 1198454.173 780566.411 0, 1198168.789 780554.739 0, 1197883.403 780543.083 0, 1197598.017 780531.445 0, 1197312.631 780519.823 0,
+ 1197027.243 780508.218 0, 1196741.855 780496.629 0, 1196456.467 780485.058 0, 1196171.077 780473.503 0, 1195885.687 780461.965 0, 1195600.296 780450.444 0, 1195314.905 780438.94 0, 1195029.513 780427.453 0, 1194744.12 780415.982 0, 1194458.726 780404.528 0,
+ 1194173.332 780393.091 0, 1193887.937 780381.671 0, 1193602.542 780370.267 0, 1193317.146 780358.881 0, 1193031.749 780347.511 0, 1192746.351 780336.158 0, 1192460.953 780324.822 0, 1192175.554 780313.502 0, 1191888.805 780302.146 0, 1191668.4 785871.697 0,
+ 1191447.985 791441.483 0, 1191734.076 791452.813 0, 1192018.819 791464.107 0, 1192303.562 791475.417 0, 1192588.304 791486.744 0, 1192873.045 791498.088 0, 1193157.785 791509.448 0, 1193442.525 791520.825 0, 1193727.265 791532.219 0, 1194012.003 791543.63 0,
+ 1194296.741 791555.058 0, 1194581.478 791566.502 0, 1194866.215 791577.963 0, 1195150.95 791589.441 0, 1195435.686 791600.935 0, 1195720.42 791612.447 0, 1196005.154 791623.975 0, 1196289.887 791635.52 0, 1196574.619 791647.081 0, 1196859.351 791658.66 0,
+ 1197144.082 791670.255 0, 1197428.813 791681.867 0, 1197713.542 791693.495 0, 1197998.272 791705.141 0, 1198281.654 791716.748 0, 1198567.728 791728.482 0, 1198852.455 791740.178 0, 1199137.181 791751.89 0, 1199421.906 791763.619 0, 1199706.631 791775.365 0,
+ 1199991.356 791787.128 0, 1200276.079 791798.907 0, 1200560.802 791810.704 0, 1200845.524 791822.517 0, 1201130.245 791834.346 0, 1201414.966 791846.193 0, 1201699.686 791858.056 0, 1201984.406 791869.936 0, 1202269.124 791881.833 0, 1202553.842 791893.746 0,
+ 1202838.559 791905.677 0, 1203123.276 791917.624 0, 1203407.992 791929.588 0, 1203692.707 791941.568 0, 1203977.421 791953.565 0, 1204262.135 791965.58 0, 1204546.848 791977.61 0, 1204831.56 791989.658 0, 1205114.927 792001.665 0, 1205351.076 786432.524 0,
+ 1205587.216 780863.618 0))
+
+POLYGON ((1218780.232 792600.457 0, 1218496.898 792587.649 0, 1218212.221 792574.797 0, 1217927.543 792561.962 0, 1217642.864 792549.143 0, 1217358.185 792536.342 0, 1217073.505 792523.557 0, 1216788.824 792510.789 0, 1216504.142 792498.037 0, 1216219.46 792485.303 0,
+ 1215934.777 792472.585 0, 1215650.093 792459.884 0, 1215365.408 792447.199 0, 1215080.723 792434.532 0, 1214796.037 792421.881 0, 1214511.35 792409.247 0, 1214226.662 792396.63 0, 1213941.974 792384.029 0, 1213657.285 792371.445 0, 1213372.595 792358.878 0,
+ 1213087.904 792346.328 0, 1212803.213 792333.794 0, 1212518.521 792321.277 0, 1212233.828 792308.777 0, 1211947.791 792296.235 0, 1211664.44 792283.828 0, 1211379.745 792271.378 0, 1211095.05 792258.945 0, 1210810.353 792246.529 0, 1210525.656 792234.129 0,
+ 1210240.958 792221.746 0, 1209956.259 792209.38 0, 1209671.56 792197.031 0, 1209386.86 792184.699 0, 1209102.159 792172.383 0, 1208817.458 792160.084 0, 1208532.755 792147.802 0, 1208248.052 792135.536 0, 1207963.349 792123.288 0, 1207678.644 792111.056 0,
+ 1207393.939 792098.84 0, 1207109.233 792086.642 0, 1206824.527 792074.46 0, 1206539.819 792062.296 0, 1206255.111 792050.147 0, 1205970.402 792038.016 0, 1205685.693 792025.901 0, 1205400.983 792013.803 0, 1205114.927 792001.665 0, 1204878.768 797571.039 0,
+ 1204642.599 803140.642 0, 1204927.996 803152.752 0, 1205212.051 803164.822 0, 1205496.105 803176.909 0, 1205780.158 803189.012 0, 1206064.21 803201.132 0, 1206348.262 803213.269 0, 1206632.313 803225.423 0, 1206916.363 803237.593 0, 1207200.413 803249.78 0,
+ 1207484.462 803261.984 0, 1207768.51 803274.204 0, 1208052.557 803286.442 0, 1208336.604 803298.696 0, 1208620.65 803310.966 0, 1208904.695 803323.254 0, 1209188.739 803335.558 0, 1209472.783 803347.878 0, 1209756.826 803360.216 0, 1210040.869 803372.57 0,
+ 1210324.91 803384.941 0, 1210608.951 803397.329 0, 1210892.991 803409.733 0, 1211177.031 803422.154 0, 1211459.729 803434.533 0, 1211745.107 803447.047 0, 1212029.145 803459.518 0, 1212313.181 803472.006 0, 1212597.217 803484.511 0, 1212881.252 803497.032 0,
+ 1213165.286 803509.57 0, 1213449.32 803522.125 0, 1213733.352 803534.697 0, 1214017.384 803547.285 0, 1214301.416 803559.89 0, 1214585.446 803572.512 0, 1214869.476 803585.15 0, 1215153.505 803597.805 0, 1215437.534 803610.477 0, 1215721.561 803623.166 0,
+ 1216005.588 803635.871 0, 1216289.614 803648.593 0, 1216573.64 803661.332 0, 1216857.664 803674.087 0, 1217141.688 803686.859 0, 1217425.711 803699.648 0, 1217709.733 803712.454 0, 1217993.755 803725.276 0, 1218276.437 803738.054 0, 1218528.339 798169.141 0,
+ 1218780.232 792600.457 0))
+
+POLYGON ((1231908.532 804373.983 0, 1231625.885 804360.406 0, 1231341.901 804346.781 0, 1231057.916 804333.173 0, 1230773.93 804319.582 0, 1230489.943 804306.007 0, 1230205.956 804292.449 0, 1229921.968 804278.908 0, 1229637.979 804265.384 0, 1229353.989 804251.876 0,
+ 1229069.998 804238.385 0, 1228786.007 804224.911 0, 1228502.015 804211.454 0, 1228218.022 804198.013 0, 1227934.028 804184.589 0, 1227650.033 804171.181 0, 1227366.038 804157.791 0, 1227082.042 804144.417 0, 1226798.045 804131.059 0, 1226514.047 804117.719 0,
+ 1226230.049 804104.395 0, 1225946.049 804091.088 0, 1225662.049 804077.798 0, 1225378.048 804064.524 0, 1225092.709 804051.205 0, 1224810.044 804038.027 0, 1224526.041 804024.803 0, 1224242.037 804011.596 0, 1223958.032 803998.406 0, 1223674.027 803985.233 0,
+ 1223390.021 803972.076 0, 1223106.014 803958.936 0, 1222822.006 803945.813 0, 1222537.997 803932.707 0, 1222253.988 803919.617 0, 1221969.977 803906.544 0, 1221685.967 803893.487 0, 1221401.955 803880.448 0, 1221117.942 803867.425 0, 1220833.929 803854.419 0,
+ 1220549.915 803841.429 0, 1220265.9 803828.456 0, 1219981.885 803815.5 0, 1219697.869 803802.561 0, 1219413.852 803789.638 0, 1219129.834 803776.732 0, 1218845.815 803763.843 0, 1218561.796 803750.971 0, 1218276.437 803738.054 0, 1218024.523 809307.193 0,
+ 1217772.6 814876.552 0, 1218057.301 814889.439 0, 1218340.665 814902.282 0, 1218624.028 814915.141 0, 1218907.39 814928.017 0, 1219190.751 814940.91 0, 1219474.112 814953.819 0, 1219757.472 814966.746 0, 1220040.831 814979.688 0, 1220324.19 814992.648 0,
+ 1220607.547 815005.624 0, 1220890.904 815018.617 0, 1221174.26 815031.626 0, 1221457.616 815044.653 0, 1221740.97 815057.696 0, 1222024.324 815070.755 0, 1222307.677 815083.831 0, 1222591.029 815096.924 0, 1222874.381 815110.034 0, 1223157.732 815123.16 0,
+ 1223441.082 815136.303 0, 1223724.431 815149.463 0, 1224007.779 815162.639 0, 1224291.127 815175.832 0, 1224573.139 815188.979 0, 1224857.82 815202.268 0, 1225141.165 815215.511 0, 1225424.51 815228.771 0, 1225707.853 815242.047 0, 1225991.196 815255.34 0,
+ 1226274.539 815268.65 0, 1226557.88 815281.976 0, 1226841.221 815295.319 0, 1227124.56 815308.679 0, 1227407.899 815322.056 0, 1227691.238 815335.449 0, 1227974.575 815348.859 0, 1228257.912 815362.285 0, 1228541.248 815375.728 0, 1228824.583 815389.188 0,
+ 1229107.917 815402.665 0, 1229391.251 815416.158 0, 1229674.583 815429.668 0, 1229957.915 815443.194 0, 1230241.246 815456.737 0, 1230524.577 815470.297 0, 1230807.906 815483.874 0, 1231091.235 815497.467 0, 1231373.229 815511.013 0, 1231640.886 809942.387 0,
+ 1231908.532 804373.983 0))
+
+POLYGON ((1244972.011 816183.895 0, 1244690.054 816169.552 0, 1244406.765 816155.159 0, 1244123.475 816140.782 0, 1243840.184 816126.422 0, 1243556.892 816112.078 0, 1243273.6 816097.751 0, 1242990.306 816083.441 0, 1242707.012 816069.147 0, 1242423.717 816054.87 0,
+ 1242140.421 816040.61 0, 1241857.124 816026.366 0, 1241573.827 816012.139 0, 1241290.528 815997.929 0, 1241007.229 815983.736 0, 1240723.929 815969.559 0, 1240440.628 815955.399 0, 1240157.326 815941.255 0, 1239874.023 815927.128 0, 1239590.72 815913.018 0,
+ 1239307.416 815898.925 0, 1239024.111 815884.848 0, 1238740.805 815870.788 0, 1238457.498 815856.744 0, 1238172.858 815842.651 0, 1237890.882 815828.707 0, 1237607.573 815814.714 0, 1237324.263 815800.737 0, 1237040.952 815786.777 0, 1236757.64 815772.834 0,
+ 1236474.327 815758.907 0, 1236191.014 815744.997 0, 1235907.7 815731.103 0, 1235624.385 815717.227 0, 1235341.069 815703.367 0, 1235057.753 815689.523 0, 1234774.435 815675.696 0, 1234491.117 815661.886 0, 1234207.798 815648.093 0, 1233924.478 815634.316 0,
+ 1233641.157 815620.556 0, 1233357.836 815606.813 0, 1233074.513 815593.087 0, 1232791.19 815579.377 0, 1232507.866 815565.683 0, 1232224.542 815552.007 0, 1231941.216 815538.347 0, 1231657.89 815524.703 0, 1231373.229 815511.013 0, 1231105.562 821079.856 0,
+ 1230837.885 826648.914 0, 1231121.887 826662.573 0, 1231404.558 826676.184 0, 1231687.228 826689.813 0, 1231969.897 826703.458 0, 1232252.565 826717.119 0, 1232535.233 826730.797 0, 1232817.899 826744.492 0, 1233100.565 826758.204 0, 1233383.231 826771.932 0,
+ 1233665.895 826785.677 0, 1233948.558 826799.438 0, 1234231.221 826813.216 0, 1234513.883 826827.011 0, 1234796.544 826840.822 0, 1235079.204 826854.65 0, 1235361.864 826868.495 0, 1235644.522 826882.356 0, 1235927.18 826896.234 0, 1236209.837 826910.129 0,
+ 1236492.493 826924.04 0, 1236775.149 826937.968 0, 1237057.803 826951.912 0, 1237340.457 826965.873 0, 1237621.78 826979.785 0, 1237905.762 826993.845 0, 1238188.413 827007.856 0, 1238471.064 827021.884 0, 1238753.713 827035.928 0, 1239036.362 827049.989 0,
+ 1239319.01 827064.066 0, 1239601.657 827078.16 0, 1239884.303 827092.271 0, 1240166.949 827106.399 0, 1240449.594 827120.543 0, 1240732.237 827134.703 0, 1241014.88 827148.881 0, 1241297.522 827163.075 0, 1241580.164 827177.285 0, 1241862.804 827191.513 0,
+ 1242145.444 827205.757 0, 1242428.083 827220.017 0, 1242710.721 827234.294 0, 1242993.358 827248.588 0, 1243275.994 827262.898 0, 1243558.629 827277.225 0, 1243841.264 827291.569 0, 1244123.898 827305.929 0, 1244405.202 827320.239 0, 1244688.612 821751.96 0,
+ 1244972.011 816183.895 0))
+
+POLYGON ((1257970.569 828029.892 0, 1257689.304 828014.787 0, 1257406.712 827999.629 0, 1257124.119 827984.487 0, 1256841.525 827969.361 0, 1256558.93 827954.252 0, 1256276.335 827939.16 0, 1255993.738 827924.084 0, 1255711.141 827909.025 0, 1255428.543 827893.983 0,
+ 1255145.943 827878.957 0, 1254863.343 827863.948 0, 1254580.743 827848.956 0, 1254298.141 827833.98 0, 1254015.538 827819.021 0, 1253732.935 827804.078 0, 1253450.33 827789.152 0, 1253167.725 827774.243 0, 1252885.119 827759.351 0, 1252602.512 827744.475 0,
+ 1252319.904 827729.615 0, 1252037.295 827714.772 0, 1251754.685 827699.946 0, 1251472.075 827685.137 0, 1251188.136 827670.275 0, 1250906.851 827655.568 0, 1250624.238 827640.808 0, 1250341.624 827626.065 0, 1250059.009 827611.339 0, 1249776.393 827596.629 0,
+ 1249493.777 827581.936 0, 1249211.159 827567.26 0, 1248928.541 827552.6 0, 1248645.921 827537.957 0, 1248363.301 827523.331 0, 1248080.68 827508.721 0, 1247798.059 827494.128 0, 1247515.436 827479.551 0, 1247232.813 827464.991 0, 1246950.188 827450.448 0,
+ 1246667.563 827435.921 0, 1246384.937 827421.411 0, 1246102.31 827406.918 0, 1245819.682 827392.441 0, 1245537.054 827377.981 0, 1245254.424 827363.537 0, 1244971.794 827349.11 0, 1244689.163 827334.7 0, 1244405.202 827320.239 0, 1244121.781 832888.728 0,
+ 1243838.35 838457.424 0, 1244121.652 838471.852 0, 1244403.628 838486.229 0, 1244685.603 838500.622 0, 1244967.577 838515.032 0, 1245249.55 838529.459 0, 1245531.522 838543.902 0, 1245813.494 838558.362 0, 1246095.464 838572.838 0, 1246377.434 838587.331 0,
+ 1246659.403 838601.841 0, 1246941.371 838616.367 0, 1247223.338 838630.91 0, 1247505.304 838645.469 0, 1247787.27 838660.045 0, 1248069.234 838674.638 0, 1248351.198 838689.247 0, 1248633.161 838703.872 0, 1248915.123 838718.515 0, 1249197.084 838733.174 0,
+ 1249479.044 838747.849 0, 1249761.004 838762.541 0, 1250042.962 838777.25 0, 1250324.92 838791.975 0, 1250605.553 838806.648 0, 1250888.833 838821.476 0, 1251170.788 838836.251 0, 1251452.742 838851.043 0, 1251734.695 838865.851 0, 1252016.648 838880.676 0,
+ 1252298.599 838895.517 0, 1252580.55 838910.376 0, 1252862.5 838925.25 0, 1253144.449 838940.142 0, 1253426.397 838955.049 0, 1253708.344 838969.974 0, 1253990.291 838984.915 0, 1254272.236 838999.873 0, 1254554.181 839014.847 0, 1254836.124 839029.838 0,
+ 1255118.067 839044.845 0, 1255400.009 839059.869 0, 1255681.95 839074.91 0, 1255963.89 839089.967 0, 1256245.83 839105.041 0, 1256527.768 839120.131 0, 1256809.705 839135.238 0, 1257091.642 839150.362 0, 1257372.255 839165.431 0, 1257671.417 833597.558 0,
+ 1257970.569 828029.892 0))
+
+POLYGON ((1270904.105 839911.671 0, 1270623.534 839895.809 0, 1270341.641 839879.889 0, 1270059.747 839863.985 0, 1269777.853 839848.098 0, 1269495.957 839832.228 0, 1269214.061 839816.374 0, 1268932.163 839800.537 0, 1268650.265 839784.717 0, 1268368.366 839768.913 0,
+ 1268086.465 839753.125 0, 1267804.564 839737.355 0, 1267522.662 839721.601 0, 1267240.759 839705.863 0, 1266958.855 839690.142 0, 1266676.95 839674.438 0, 1266395.045 839658.75 0, 1266113.138 839643.079 0, 1265831.23 839627.424 0, 1265549.322 839611.786 0,
+ 1265267.412 839596.165 0, 1264985.502 839580.56 0, 1264703.591 839564.972 0, 1264421.678 839549.4 0, 1264138.443 839533.772 0, 1263857.851 839518.307 0, 1263575.936 839502.785 0, 1263294.02 839487.279 0, 1263012.104 839471.791 0, 1262730.186 839456.319 0,
+ 1262448.267 839440.863 0, 1262166.348 839425.424 0, 1261884.427 839410.002 0, 1261602.506 839394.596 0, 1261320.584 839379.207 0, 1261038.661 839363.835 0, 1260756.737 839348.479 0, 1260474.812 839333.14 0, 1260192.886 839317.817 0, 1259910.959 839302.511 0,
+ 1259629.031 839287.221 0, 1259347.103 839271.948 0, 1259065.173 839256.692 0, 1258783.243 839241.452 0, 1258501.312 839226.229 0, 1258219.38 839211.022 0, 1257937.447 839195.832 0, 1257655.513 839180.659 0, 1257372.255 839165.431 0, 1257073.081 844733.507 0,
+ 1256773.897 850301.782 0, 1257056.496 850316.975 0, 1257337.775 850332.113 0, 1257619.053 850347.267 0, 1257900.329 850362.439 0, 1258181.605 850377.626 0, 1258462.88 850392.831 0, 1258744.154 850408.052 0, 1259025.427 850423.289 0, 1259306.699 850438.543 0,
+ 1259587.971 850453.814 0, 1259869.241 850469.101 0, 1260150.51 850484.404 0, 1260431.779 850499.725 0, 1260713.047 850515.061 0, 1260994.314 850530.415 0, 1261275.579 850545.785 0, 1261556.844 850561.171 0, 1261838.109 850576.574 0, 1262119.372 850591.994 0,
+ 1262400.634 850607.43 0, 1262681.895 850622.882 0, 1262963.156 850638.352 0, 1263244.415 850653.837 0, 1263524.355 850669.267 0, 1263806.932 850684.859 0, 1264088.189 850700.394 0, 1264369.444 850715.946 0, 1264650.699 850731.515 0, 1264931.953 850747.1 0,
+ 1265213.207 850762.701 0, 1265494.459 850778.319 0, 1265775.71 850793.954 0, 1266056.961 850809.606 0, 1266338.21 850825.273 0, 1266619.459 850840.958 0, 1266900.706 850856.659 0, 1267181.953 850872.376 0, 1267463.199 850888.11 0, 1267744.443 850903.861 0,
+ 1268025.687 850919.628 0, 1268306.93 850935.412 0, 1268588.172 850951.212 0, 1268869.413 850967.029 0, 1269150.654 850982.862 0, 1269431.893 850998.712 0, 1269713.131 851014.579 0, 1269994.369 851030.462 0, 1270274.288 851046.287 0, 1270589.202 845478.879 0,
+ 1270904.105 839911.671 0))
+
+POLYGON ((1283772.521 851828.93 0, 1283492.645 851812.314 0, 1283211.454 851795.636 0, 1282930.262 851778.975 0, 1282649.068 851762.331 0, 1282367.874 851745.703 0, 1282086.679 851729.092 0, 1281805.482 851712.497 0, 1281524.285 851695.919 0, 1281243.087 851679.357 0,
+ 1280961.888 851662.812 0, 1280680.687 851646.283 0, 1280399.486 851629.771 0, 1280118.284 851613.276 0, 1279837.081 851596.797 0, 1279555.877 851580.335 0, 1279274.672 851563.889 0, 1278993.466 851547.459 0, 1278712.259 851531.047 0, 1278431.051 851514.651 0,
+ 1278149.842 851498.271 0, 1277868.632 851481.908 0, 1277587.421 851465.561 0, 1277306.21 851449.231 0, 1277023.681 851432.842 0, 1276743.783 851416.621 0, 1276462.568 851400.341 0, 1276181.353 851384.077 0, 1275900.136 851367.83 0, 1275618.919 851351.599 0,
+ 1275337.7 851335.385 0, 1275056.481 851319.187 0, 1274775.26 851303.006 0, 1274494.039 851286.842 0, 1274212.817 851270.694 0, 1273931.593 851254.563 0, 1273650.369 851238.448 0, 1273369.144 851222.35 0, 1273087.918 851206.268 0, 1272806.691 851190.203 0,
+ 1272525.463 851174.154 0, 1272244.234 851158.122 0, 1271963.004 851142.107 0, 1271681.773 851126.108 0, 1271400.542 851110.126 0, 1271119.309 851094.16 0, 1270838.075 851078.21 0, 1270556.841 851062.278 0, 1270274.288 851046.287 0, 1269959.362 856613.89 0,
+ 1269644.426 862181.685 0, 1269926.32 862197.639 0, 1270206.9 862213.534 0, 1270487.478 862229.446 0, 1270768.055 862245.375 0, 1271048.632 862261.32 0, 1271329.207 862277.282 0, 1271609.781 862293.26 0, 1271890.355 862309.255 0, 1272170.928 862325.266 0,
+ 1272451.499 862341.293 0, 1272732.07 862357.338 0, 1273012.64 862373.398 0, 1273293.209 862389.476 0, 1273573.776 862405.569 0, 1273854.343 862421.68 0, 1274134.909 862437.806 0, 1274415.474 862453.95 0, 1274696.039 862470.11 0, 1274976.602 862486.286 0,
+ 1275257.164 862502.479 0, 1275537.725 862518.688 0, 1275818.285 862534.914 0, 1276098.845 862551.156 0, 1276378.09 862567.339 0, 1276659.96 862583.691 0, 1276940.517 862599.982 0, 1277221.072 862616.291 0, 1277501.627 862632.616 0, 1277782.18 862648.957 0,
+ 1278062.733 862665.315 0, 1278343.285 862681.69 0, 1278623.835 862698.081 0, 1278904.385 862714.488 0, 1279184.934 862730.912 0, 1279465.482 862747.353 0, 1279746.028 862763.81 0, 1280026.574 862780.283 0, 1280307.119 862796.773 0, 1280587.663 862813.28 0,
+ 1280868.206 862829.803 0, 1281148.748 862846.343 0, 1281429.289 862862.899 0, 1281709.829 862879.471 0, 1281990.368 862896.061 0, 1282270.906 862912.666 0, 1282551.443 862929.288 0, 1282831.979 862945.927 0, 1283111.202 862962.504 0, 1283441.867 857395.621 0,
+ 1283772.521 851828.93 0))
+
+POLYGON ((1296575.718 863781.366 0, 1296296.541 863764 0, 1296016.053 863746.569 0, 1295735.564 863729.154 0, 1295455.074 863711.756 0, 1295174.583 863694.374 0, 1294894.091 863677.009 0, 1294613.598 863659.661 0, 1294333.104 863642.329 0, 1294052.609 863625.013 0,
+ 1293772.113 863607.714 0, 1293491.616 863590.431 0, 1293211.117 863573.165 0, 1292930.618 863555.916 0, 1292650.118 863538.683 0, 1292369.617 863521.466 0, 1292089.115 863504.266 0, 1291808.611 863487.082 0, 1291528.107 863469.915 0, 1291247.602 863452.765 0,
+ 1290967.096 863435.631 0, 1290686.588 863418.513 0, 1290406.08 863401.412 0, 1290125.571 863384.328 0, 1289843.749 863367.18 0, 1289564.549 863350.209 0, 1289284.037 863333.174 0, 1289003.523 863316.155 0, 1288723.009 863299.153 0, 1288442.494 863282.168 0,
+ 1288161.977 863265.199 0, 1287881.46 863248.247 0, 1287600.942 863231.311 0, 1287320.423 863214.391 0, 1287039.902 863197.488 0, 1286759.381 863180.602 0, 1286478.859 863163.732 0, 1286198.335 863146.879 0, 1285917.811 863130.042 0, 1285637.286 863113.222 0,
+ 1285356.76 863096.418 0, 1285076.232 863079.631 0, 1284795.704 863062.86 0, 1284515.175 863046.106 0, 1284234.645 863029.368 0, 1283954.114 863012.647 0, 1283673.581 862995.942 0, 1283393.048 862979.254 0, 1283111.202 862962.504 0, 1282780.526 868529.575 0,
+ 1282449.839 874096.83 0, 1282731.027 874113.541 0, 1283010.904 874130.19 0, 1283290.781 874146.856 0, 1283570.657 874163.538 0, 1283850.532 874180.237 0, 1284130.406 874196.952 0, 1284410.279 874213.683 0, 1284690.151 874230.431 0, 1284970.021 874247.196 0,
+ 1285249.891 874263.977 0, 1285529.76 874280.774 0, 1285809.628 874297.588 0, 1286089.495 874314.419 0, 1286369.361 874331.266 0, 1286649.226 874348.129 0, 1286929.09 874365.009 0, 1287208.953 874381.905 0, 1287488.815 874398.818 0, 1287768.676 874415.747 0,
+ 1288048.536 874432.693 0, 1288328.395 874449.655 0, 1288608.253 874466.634 0, 1288888.11 874483.629 0, 1289166.658 874500.561 0, 1289447.821 874517.669 0, 1289727.675 874534.713 0, 1290007.528 874551.774 0, 1290287.38 874568.852 0, 1290567.231 874585.946 0,
+ 1290847.081 874603.056 0, 1291126.93 874620.183 0, 1291406.778 874637.327 0, 1291686.625 874654.486 0, 1291966.471 874671.663 0, 1292246.316 874688.856 0, 1292526.16 874706.065 0, 1292806.003 874723.291 0, 1293085.845 874740.533 0, 1293365.686 874757.791 0,
+ 1293645.526 874775.067 0, 1293925.365 874792.358 0, 1294205.202 874809.666 0, 1294485.039 874826.991 0, 1294764.875 874844.332 0, 1295044.71 874861.689 0, 1295324.543 874879.063 0, 1295604.376 874896.454 0, 1295882.901 874913.779 0, 1296229.316 869347.481 0,
+ 1296575.718 863781.366 0))
+
+POLYGON ((1309313.602 875768.676 0, 1309035.125 875750.564 0, 1308755.343 875732.383 0, 1308475.559 875714.218 0, 1308195.774 875696.07 0, 1307915.989 875677.939 0, 1307636.202 875659.823 0, 1307356.414 875641.725 0, 1307076.625 875623.643 0, 1306796.835 875605.577 0,
+ 1306517.044 875587.528 0, 1306237.252 875569.495 0, 1305957.459 875551.479 0, 1305677.665 875533.479 0, 1305397.87 875515.496 0, 1305118.073 875497.529 0, 1304838.276 875479.578 0, 1304558.478 875461.644 0, 1304278.678 875443.727 0, 1303998.878 875425.826 0,
+ 1303719.076 875407.941 0, 1303439.273 875390.073 0, 1303159.47 875372.222 0, 1302879.665 875354.387 0, 1302598.554 875336.485 0, 1302320.052 875318.766 0, 1302040.244 875300.98 0, 1301760.435 875283.211 0, 1301480.625 875265.458 0, 1301200.814 875247.722 0,
+ 1300921.002 875230.002 0, 1300641.189 875212.298 0, 1300361.375 875194.611 0, 1300081.56 875176.941 0, 1299801.744 875159.287 0, 1299521.926 875141.65 0, 1299242.108 875124.029 0, 1298962.289 875106.424 0, 1298682.468 875088.836 0, 1298402.647 875071.264 0,
+ 1298122.825 875053.709 0, 1297843.001 875036.17 0, 1297563.177 875018.648 0, 1297283.351 875001.142 0, 1297003.524 874983.653 0, 1296723.697 874966.18 0, 1296443.868 874948.724 0, 1296164.039 874931.284 0, 1295882.901 874913.779 0, 1295536.476 880480.259 0,
+ 1295190.039 886046.914 0, 1295470.518 886064.378 0, 1295749.693 886081.777 0, 1296028.866 886099.193 0, 1296308.038 886116.624 0, 1296587.21 886134.073 0, 1296866.38 886151.537 0, 1297145.549 886169.019 0, 1297424.717 886186.516 0, 1297703.885 886204.03 0,
+ 1297983.051 886221.561 0, 1298262.216 886239.108 0, 1298541.38 886256.671 0, 1298820.543 886274.251 0, 1299099.705 886291.847 0, 1299378.866 886309.46 0, 1299658.026 886327.089 0, 1299937.185 886344.734 0, 1300216.343 886362.396 0, 1300495.5 886380.074 0,
+ 1300774.655 886397.769 0, 1301053.81 886415.48 0, 1301332.964 886433.208 0, 1301612.116 886450.952 0, 1301889.966 886468.63 0, 1302170.419 886486.49 0, 1302449.568 886504.283 0, 1302728.717 886522.093 0, 1303007.864 886539.919 0, 1303287.01 886557.762 0,
+ 1303566.156 886575.621 0, 1303845.3 886593.496 0, 1304124.443 886611.388 0, 1304403.585 886629.297 0, 1304682.727 886647.221 0, 1304961.867 886665.163 0, 1305241.006 886683.12 0, 1305520.144 886701.094 0, 1305799.281 886719.085 0, 1306078.416 886737.092 0,
+ 1306357.551 886755.115 0, 1306636.685 886773.155 0, 1306915.817 886791.211 0, 1307194.949 886809.284 0, 1307474.08 886827.373 0, 1307753.209 886845.479 0, 1308032.337 886863.601 0, 1308311.465 886881.739 0, 1308589.29 886899.809 0, 1308951.452 881334.154 0,
+ 1309313.602 875768.676 0))
+
+POLYGON ((1321986.077 887790.556 0, 1321708.302 887771.701 0, 1321429.227 887752.774 0, 1321150.151 887733.863 0, 1320871.074 887714.969 0, 1320591.996 887696.092 0, 1320312.916 887677.23 0, 1320033.836 887658.386 0, 1319754.754 887639.557 0, 1319475.671 887620.745 0,
+ 1319196.588 887601.95 0, 1318917.503 887583.171 0, 1318638.417 887564.408 0, 1318359.329 887545.662 0, 1318080.241 887526.932 0, 1317801.152 887508.219 0, 1317522.061 887489.522 0, 1317242.97 887470.841 0, 1316963.877 887452.177 0, 1316684.783 887433.53 0,
+ 1316405.689 887414.898 0, 1316126.593 887396.284 0, 1315847.495 887377.685 0, 1315568.397 887359.103 0, 1315287.998 887340.451 0, 1315010.198 887321.989 0, 1314731.096 887303.456 0, 1314451.994 887284.94 0, 1314172.89 887266.44 0, 1313893.786 887247.957 0,
+ 1313614.68 887229.49 0, 1313335.573 887211.039 0, 1313056.465 887192.605 0, 1312777.356 887174.187 0, 1312498.246 887155.786 0, 1312219.135 887137.401 0, 1311940.022 887119.033 0, 1311660.909 887100.681 0, 1311381.795 887082.345 0, 1311102.679 887064.026 0,
+ 1310823.562 887045.724 0, 1310544.445 887027.437 0, 1310265.326 887009.168 0, 1309986.206 886990.914 0, 1309707.085 886972.677 0, 1309427.963 886954.457 0, 1309148.84 886936.253 0, 1308869.716 886918.065 0, 1308589.29 886899.809 0, 1308227.117 892465.637 0,
+ 1307864.932 898031.633 0, 1308144.7 898049.846 0, 1308423.169 898067.991 0, 1308701.637 898086.153 0, 1308980.104 898104.33 0, 1309258.57 898122.524 0, 1309537.034 898140.735 0, 1309815.498 898158.962 0, 1310093.96 898177.205 0, 1310372.422 898195.465 0,
+ 1310650.882 898213.741 0, 1310929.341 898232.034 0, 1311207.8 898250.342 0, 1311486.257 898268.668 0, 1311764.713 898287.009 0, 1312043.168 898305.367 0, 1312321.622 898323.742 0, 1312600.074 898342.133 0, 1312878.526 898360.54 0, 1313156.977 898378.963 0,
+ 1313435.426 898397.403 0, 1313713.875 898415.86 0, 1313992.322 898434.333 0, 1314270.768 898452.822 0, 1314547.917 898471.241 0, 1314827.658 898489.849 0, 1315106.101 898508.388 0, 1315384.543 898526.942 0, 1315662.983 898545.513 0, 1315941.423 898564.101 0,
+ 1316219.862 898582.705 0, 1316498.299 898601.325 0, 1316776.736 898619.962 0, 1317055.171 898638.615 0, 1317333.605 898657.284 0, 1317612.039 898675.97 0, 1317890.471 898694.672 0, 1318168.902 898713.391 0, 1318447.331 898732.126 0, 1318725.76 898750.877 0,
+ 1319004.188 898769.645 0, 1319282.614 898788.429 0, 1319561.04 898807.23 0, 1319839.464 898826.047 0, 1320117.887 898844.88 0, 1320396.309 898863.73 0, 1320674.73 898882.596 0, 1320953.15 898901.478 0, 1321230.273 898920.289 0, 1321608.181 893355.338 0,
+ 1321986.077 887790.556 0))
+
+POLYGON ((1334593.05 899846.701 0, 1334315.979 899827.107 0, 1334037.614 899807.438 0, 1333759.247 899787.785 0, 1333480.88 899768.149 0, 1333202.511 899748.529 0, 1332924.141 899728.926 0, 1332645.77 899709.339 0, 1332367.397 899689.768 0, 1332089.024 899670.214 0,
+ 1331810.649 899650.676 0, 1331532.273 899631.154 0, 1331253.896 899611.649 0, 1330975.518 899592.16 0, 1330697.139 899572.688 0, 1330418.759 899553.232 0, 1330140.377 899533.792 0, 1329861.994 899514.369 0, 1329583.611 899494.962 0, 1329305.226 899475.572 0,
+ 1329026.839 899456.198 0, 1328748.452 899436.84 0, 1328470.064 899417.499 0, 1328191.674 899398.174 0, 1327911.989 899378.776 0, 1327634.892 899359.573 0, 1327356.499 899340.298 0, 1327078.105 899321.038 0, 1326799.71 899301.795 0, 1326521.313 899282.569 0,
+ 1326242.916 899263.359 0, 1325964.517 899244.165 0, 1325686.117 899224.987 0, 1325407.717 899205.826 0, 1325129.315 899186.682 0, 1324850.912 899167.553 0, 1324572.507 899148.441 0, 1324294.102 899129.346 0, 1324015.695 899110.267 0, 1323737.288 899091.204 0,
+ 1323458.879 899072.158 0, 1323180.469 899053.128 0, 1322902.058 899034.114 0, 1322623.646 899015.117 0, 1322345.233 898996.136 0, 1322066.819 898977.172 0, 1321788.403 898958.224 0, 1321509.987 898939.292 0, 1321230.273 898920.289 0, 1320852.354 904485.405 0,
+ 1320474.425 910050.683 0, 1320753.48 910069.641 0, 1321031.241 910088.528 0, 1321309.002 910107.432 0, 1321586.761 910126.351 0, 1321864.519 910145.288 0, 1322142.276 910164.24 0, 1322420.032 910183.209 0, 1322697.786 910202.194 0, 1322975.54 910221.196 0,
+ 1323253.293 910240.213 0, 1323531.044 910259.248 0, 1323808.794 910278.298 0, 1324086.543 910297.365 0, 1324364.291 910316.448 0, 1324642.038 910335.548 0, 1324919.784 910354.664 0, 1325197.529 910373.796 0, 1325475.272 910392.945 0, 1325753.015 910412.11 0,
+ 1326030.756 910431.291 0, 1326308.496 910450.489 0, 1326586.235 910469.703 0, 1326863.973 910488.933 0, 1327140.418 910508.091 0, 1327419.445 910527.443 0, 1327697.18 910546.723 0, 1327974.913 910566.018 0, 1328252.645 910585.331 0, 1328530.377 910604.659 0,
+ 1328808.106 910624.004 0, 1329085.835 910643.365 0, 1329363.563 910662.743 0, 1329641.289 910682.136 0, 1329919.015 910701.547 0, 1330196.739 910720.973 0, 1330474.462 910740.416 0, 1330752.184 910759.875 0, 1331029.905 910779.351 0, 1331307.624 910798.843 0,
+ 1331585.343 910818.351 0, 1331863.06 910837.876 0, 1332140.777 910857.417 0, 1332418.492 910876.974 0, 1332696.205 910896.548 0, 1332973.918 910916.138 0, 1333251.63 910935.744 0, 1333529.34 910955.367 0, 1333805.759 910974.915 0, 1334199.41 905410.727 0,
+ 1334593.05 899846.701 0))
+
+POLYGON ((1347134.43 911936.806 0, 1346858.065 911916.477 0, 1346580.411 911896.07 0, 1346302.756 911875.679 0, 1346025.1 911855.305 0, 1345747.442 911834.947 0, 1345469.783 911814.605 0, 1345192.123 911794.279 0, 1344914.462 911773.97 0, 1344636.8 911753.677 0,
+ 1344359.137 911733.401 0, 1344081.472 911713.141 0, 1343803.806 911692.897 0, 1343526.139 911672.67 0, 1343248.471 911652.458 0, 1342970.801 911632.264 0, 1342693.131 911612.085 0, 1342415.459 911591.923 0, 1342137.786 911571.778 0, 1341860.112 911551.648 0,
+ 1341582.436 911531.535 0, 1341304.76 911511.438 0, 1341027.082 911491.358 0, 1340749.403 911471.294 0, 1340470.434 911451.153 0, 1340194.042 911431.215 0, 1339916.36 911411.2 0, 1339638.676 911391.201 0, 1339360.991 911371.219 0, 1339083.305 911351.253 0,
+ 1338805.618 911331.304 0, 1338527.93 911311.37 0, 1338250.24 911291.453 0, 1337972.549 911271.553 0, 1337694.858 911251.669 0, 1337417.165 911231.801 0, 1337139.47 911211.949 0, 1336861.775 911192.114 0, 1336584.079 911172.295 0, 1336306.381 911152.493 0,
+ 1336028.682 911132.707 0, 1335750.982 911112.937 0, 1335473.281 911093.183 0, 1335195.579 911073.446 0, 1334917.875 911053.725 0, 1334640.17 911034.021 0, 1334362.465 911014.333 0, 1334084.758 910994.661 0, 1333805.759 910974.915 0, 1333412.097 916539.259 0,
+ 1333018.423 922103.758 0, 1333296.764 922123.458 0, 1333573.816 922143.083 0, 1333850.867 922162.725 0, 1334127.916 922182.383 0, 1334404.965 922202.057 0, 1334682.012 922221.748 0, 1334959.058 922241.455 0, 1335236.103 922261.178 0, 1335513.147 922280.917 0,
+ 1335790.19 922300.673 0, 1336067.231 922320.445 0, 1336344.272 922340.234 0, 1336621.311 922360.038 0, 1336898.349 922379.859 0, 1337175.386 922399.697 0, 1337452.421 922419.55 0, 1337729.456 922439.42 0, 1338006.489 922459.306 0, 1338283.521 922479.209 0,
+ 1338560.552 922499.128 0, 1338837.582 922519.063 0, 1339114.611 922539.014 0, 1339391.638 922558.982 0, 1339667.379 922578.873 0, 1339945.69 922598.967 0, 1340222.714 922618.983 0, 1340499.737 922639.016 0, 1340776.758 922659.066 0, 1341053.779 922679.131 0,
+ 1341330.798 922699.213 0, 1341607.816 922719.311 0, 1341884.833 922739.426 0, 1342161.848 922759.557 0, 1342438.863 922779.704 0, 1342715.876 922799.867 0, 1342992.888 922820.047 0, 1343269.899 922840.243 0, 1343546.909 922860.455 0, 1343823.918 922880.684 0,
+ 1344100.925 922900.929 0, 1344377.931 922921.19 0, 1344654.936 922941.468 0, 1344931.94 922961.762 0, 1345208.943 922982.072 0, 1345485.944 923002.398 0, 1345762.944 923022.741 0, 1346039.943 923043.1 0, 1346315.656 923063.381 0, 1346725.048 917500.017 0,
+ 1347134.43 911936.806 0))
+
+POLYGON ((1359610.124 924060.567 0, 1359334.468 924039.507 0, 1359057.527 924018.366 0, 1358780.586 923997.24 0, 1358503.643 923976.131 0, 1358226.699 923955.039 0, 1357949.753 923933.962 0, 1357672.807 923912.902 0, 1357395.859 923891.858 0, 1357118.91 923870.831 0,
+ 1356841.96 923849.82 0, 1356565.008 923828.825 0, 1356288.055 923807.846 0, 1356011.101 923786.884 0, 1355734.146 923765.938 0, 1355457.19 923745.009 0, 1355180.232 923724.095 0, 1354903.273 923703.198 0, 1354626.313 923682.317 0, 1354349.351 923661.453 0,
+ 1354072.389 923640.605 0, 1353795.425 923619.773 0, 1353518.46 923598.957 0, 1353241.494 923578.158 0, 1352963.242 923557.279 0, 1352687.557 923536.609 0, 1352410.587 923515.858 0, 1352133.616 923495.124 0, 1351856.644 923474.407 0, 1351579.67 923453.705 0,
+ 1351302.695 923433.02 0, 1351025.719 923412.351 0, 1350748.742 923391.699 0, 1350471.763 923371.062 0, 1350194.784 923350.442 0, 1349917.803 923329.839 0, 1349640.821 923309.252 0, 1349363.837 923288.681 0, 1349086.853 923268.126 0, 1348809.867 923247.587 0,
+ 1348532.88 923227.065 0, 1348255.892 923206.559 0, 1347978.902 923186.07 0, 1347701.912 923165.597 0, 1347424.92 923145.14 0, 1347147.927 923124.699 0, 1346870.933 923104.275 0, 1346593.937 923083.867 0, 1346315.656 923063.381 0, 1345906.253 928626.895 0,
+ 1345496.838 934190.554 0, 1345774.462 934210.992 0, 1346050.802 934231.351 0, 1346327.142 934251.727 0, 1346603.48 934272.12 0, 1346879.817 934292.528 0, 1347156.152 934312.953 0, 1347432.487 934333.394 0, 1347708.82 934353.851 0, 1347985.152 934374.325 0,
+ 1348261.483 934394.815 0, 1348537.813 934415.321 0, 1348814.141 934435.843 0, 1349090.468 934456.382 0, 1349366.794 934476.937 0, 1349643.119 934497.508 0, 1349919.443 934518.095 0, 1350195.765 934538.699 0, 1350472.086 934559.319 0, 1350748.406 934579.955 0,
+ 1351024.725 934600.608 0, 1351301.043 934621.277 0, 1351577.359 934641.962 0, 1351853.674 934662.663 0, 1352128.707 934683.284 0, 1352406.301 934704.114 0, 1352682.612 934724.864 0, 1352958.922 934745.631 0, 1353235.231 934766.413 0, 1353511.539 934787.212 0,
+ 1353787.846 934808.027 0, 1354064.151 934828.859 0, 1354340.455 934849.706 0, 1354616.758 934870.57 0, 1354893.06 934891.45 0, 1355169.36 934912.347 0, 1355445.659 934933.259 0, 1355721.957 934954.188 0, 1355998.254 934975.134 0, 1356274.549 934996.095 0,
+ 1356550.844 935017.073 0, 1356827.137 935038.067 0, 1357103.428 935059.077 0, 1357379.719 935080.104 0, 1357656.008 935101.146 0, 1357932.296 935122.205 0, 1358208.583 935143.281 0, 1358484.869 935164.372 0, 1358759.874 935185.382 0, 1359185.005 929622.902 0,
+ 1359610.124 924060.567 0))
+
+POLYGON ((1372020.045 936217.677 0, 1371745.099 936195.89 0, 1371468.874 936174.018 0, 1371192.648 936152.162 0, 1370916.42 936130.323 0, 1370640.192 936108.5 0, 1370363.962 936086.693 0, 1370087.73 936064.902 0, 1369811.498 936043.127 0, 1369535.264 936021.369 0,
+ 1369259.029 935999.627 0, 1368982.792 935977.901 0, 1368706.554 935956.192 0, 1368430.315 935934.499 0, 1368154.075 935912.822 0, 1367877.834 935891.161 0, 1367601.591 935869.517 0, 1367325.347 935847.888 0, 1367049.101 935826.277 0, 1366772.855 935804.681 0,
+ 1366496.607 935783.102 0, 1366220.358 935761.538 0, 1365944.107 935739.992 0, 1365667.855 935718.461 0, 1365390.324 935696.847 0, 1365115.348 935675.448 0, 1364839.093 935653.967 0, 1364562.836 935632.501 0, 1364286.578 935611.052 0, 1364010.319 935589.619 0,
+ 1363734.058 935568.202 0, 1363457.796 935546.801 0, 1363181.533 935525.417 0, 1362905.269 935504.049 0, 1362629.003 935482.697 0, 1362352.736 935461.362 0, 1362076.468 935440.043 0, 1361800.199 935418.74 0, 1361523.928 935397.453 0, 1361247.656 935376.182 0,
+ 1360971.383 935354.928 0, 1360695.109 935333.69 0, 1360418.833 935312.469 0, 1360142.556 935291.263 0, 1359866.278 935270.074 0, 1359589.999 935248.901 0, 1359313.718 935227.745 0, 1359037.436 935206.604 0, 1358759.874 935185.382 0, 1358334.732 940748.005 0,
+ 1357909.58 946310.765 0, 1358186.484 946331.937 0, 1358462.111 946353.027 0, 1358737.737 946374.133 0, 1359013.362 946395.256 0, 1359288.985 946416.395 0, 1359564.607 946437.55 0, 1359840.228 946458.721 0, 1360115.848 946479.909 0, 1360391.466 946501.113 0,
+ 1360667.083 946522.333 0, 1360942.699 946543.569 0, 1361218.313 946564.822 0, 1361493.927 946586.09 0, 1361769.539 946607.375 0, 1362045.15 946628.676 0, 1362320.759 946649.994 0, 1362596.368 946671.327 0, 1362871.975 946692.677 0, 1363147.58 946714.043 0,
+ 1363423.185 946735.425 0, 1363698.788 946756.824 0, 1363974.39 946778.239 0, 1364249.991 946799.67 0, 1364524.315 946821.017 0, 1364801.189 946842.58 0, 1365076.786 946864.06 0, 1365352.382 946885.555 0, 1365627.976 946907.067 0, 1365903.569 946928.596 0,
+ 1366179.161 946950.14 0, 1366454.752 946971.701 0, 1366730.341 946993.278 0, 1367005.929 947014.871 0, 1367281.516 947036.48 0, 1367557.102 947058.106 0, 1367832.686 947079.748 0, 1368108.269 947101.406 0, 1368383.851 947123.08 0, 1368659.431 947144.77 0,
+ 1368935.01 947166.477 0, 1369210.588 947188.2 0, 1369486.165 947209.939 0, 1369761.74 947231.694 0, 1370037.314 947253.466 0, 1370312.887 947275.254 0, 1370588.459 947297.058 0, 1370864.029 947318.878 0, 1371138.324 947340.613 0, 1371579.19 941779.076 0,
+ 1372020.045 936217.677 0))
+
+POLYGON ((1384364.105 948407.831 0, 1384089.871 948385.321 0, 1383814.363 948362.722 0, 1383538.855 948340.14 0, 1383263.344 948317.573 0, 1382987.833 948295.023 0, 1382712.32 948272.49 0, 1382436.806 948249.972 0, 1382161.291 948227.471 0, 1381885.774 948204.985 0,
+ 1381610.256 948182.516 0, 1381334.736 948160.064 0, 1381059.216 948137.627 0, 1380783.694 948115.207 0, 1380508.17 948092.803 0, 1380232.646 948070.415 0, 1379957.12 948048.043 0, 1379681.592 948025.688 0, 1379406.064 948003.349 0, 1379130.534 947981.026 0,
+ 1378855.002 947958.719 0, 1378579.47 947936.429 0, 1378303.936 947914.154 0, 1378028.401 947891.896 0, 1377751.591 947869.552 0, 1377477.326 947847.429 0, 1377201.787 947825.219 0, 1376926.247 947803.026 0, 1376650.705 947780.849 0, 1376375.162 947758.688 0,
+ 1376099.618 947736.543 0, 1375824.072 947714.415 0, 1375548.525 947692.303 0, 1375272.977 947670.207 0, 1374997.427 947648.127 0, 1374721.877 947626.064 0, 1374446.324 947604.017 0, 1374170.771 947581.985 0, 1373895.216 947559.971 0, 1373619.66 947537.972 0,
+ 1373344.103 947515.99 0, 1373068.544 947494.023 0, 1372792.984 947472.073 0, 1372517.423 947450.14 0, 1372241.861 947428.222 0, 1371966.297 947406.321 0, 1371690.732 947384.436 0, 1371415.165 947362.567 0, 1371138.324 947340.613 0, 1370697.447 952902.284 0,
+ 1370256.559 958464.085 0, 1370532.743 958485.986 0, 1370807.655 958507.803 0, 1371082.565 958529.636 0, 1371357.475 958551.486 0, 1371632.382 958573.351 0, 1371907.289 958595.233 0, 1372182.194 958617.131 0, 1372457.098 958639.045 0, 1372732.001 958660.975 0,
+ 1373006.902 958682.921 0, 1373281.802 958704.884 0, 1373556.701 958726.862 0, 1373831.598 958748.857 0, 1374106.495 958770.868 0, 1374381.389 958792.896 0, 1374656.283 958814.939 0, 1374931.175 958836.999 0, 1375206.066 958859.074 0, 1375480.956 958881.166 0,
+ 1375755.844 958903.275 0, 1376030.731 958925.399 0, 1376305.617 958947.539 0, 1376580.502 958969.696 0, 1376854.115 958991.767 0, 1377130.267 959014.058 0, 1377405.147 959036.263 0, 1377680.027 959058.485 0, 1377954.905 959080.722 0, 1378229.781 959102.976 0,
+ 1378504.657 959125.246 0, 1378779.531 959147.532 0, 1379054.403 959169.834 0, 1379329.275 959192.153 0, 1379604.145 959214.488 0, 1379879.014 959236.838 0, 1380153.881 959259.205 0, 1380428.747 959281.589 0, 1380703.612 959303.988 0, 1380978.475 959326.403 0,
+ 1381253.338 959348.835 0, 1381528.198 959371.283 0, 1381803.058 959393.747 0, 1382077.916 959416.227 0, 1382352.773 959438.724 0, 1382627.629 959461.236 0, 1382902.483 959483.765 0, 1383177.336 959506.31 0, 1383450.919 959528.767 0, 1383907.517 953968.234 0,
+ 1384364.105 948407.831 0))
+
+POLYGON ((1396642.218 960630.722 0, 1396368.697 960607.492 0, 1396093.909 960584.17 0, 1395819.119 960560.865 0, 1395544.329 960537.576 0, 1395269.536 960514.303 0, 1394994.743 960491.046 0, 1394719.948 960467.806 0, 1394445.151 960444.582 0, 1394170.354 960421.373 0,
+ 1393895.555 960398.181 0, 1393620.754 960375.006 0, 1393345.952 960351.846 0, 1393071.149 960328.703 0, 1392796.345 960305.575 0, 1392521.539 960282.464 0, 1392246.732 960259.369 0, 1391971.923 960236.29 0, 1391697.113 960213.228 0, 1391422.302 960190.181 0,
+ 1391147.489 960167.151 0, 1390872.675 960144.137 0, 1390597.86 960121.139 0, 1390323.043 960098.157 0, 1390046.957 960075.086 0, 1389773.405 960052.242 0, 1389498.585 960029.309 0, 1389223.762 960006.392 0, 1388948.939 959983.491 0, 1388674.114 959960.607 0,
+ 1388399.288 959937.738 0, 1388124.46 959914.886 0, 1387849.631 959892.05 0, 1387574.801 959869.23 0, 1387299.97 959846.426 0, 1387025.137 959823.638 0, 1386750.303 959800.867 0, 1386475.467 959778.112 0, 1386200.63 959755.373 0, 1385925.792 959732.65 0,
+ 1385650.952 959709.943 0, 1385376.111 959687.252 0, 1385101.269 959664.578 0, 1384826.425 959641.92 0, 1384551.58 959619.278 0, 1384276.734 959596.652 0, 1384001.887 959574.042 0, 1383727.038 959551.449 0, 1383450.919 959528.767 0, 1382994.31 965089.426 0,
+ 1382537.691 970650.207 0, 1382813.152 970672.835 0, 1383087.346 970695.374 0, 1383361.539 970717.93 0, 1383635.731 970740.502 0, 1383909.922 970763.09 0, 1384184.111 970785.695 0, 1384458.298 970808.315 0, 1384732.485 970830.951 0, 1385006.67 970853.604 0,
+ 1385280.853 970876.273 0, 1385555.036 970898.958 0, 1385829.217 970921.659 0, 1386103.396 970944.376 0, 1386377.575 970967.11 0, 1386651.752 970989.859 0, 1386925.928 971012.625 0, 1387200.102 971035.406 0, 1387474.275 971058.204 0, 1387748.447 971081.018 0,
+ 1388022.617 971103.848 0, 1388296.786 971126.695 0, 1388570.953 971149.557 0, 1388845.12 971172.436 0, 1389118.02 971195.225 0, 1389393.448 971218.241 0, 1389667.61 971241.168 0, 1389941.771 971264.112 0, 1390215.931 971287.071 0, 1390490.089 971310.046 0,
+ 1390764.246 971333.038 0, 1391038.401 971356.045 0, 1391312.555 971379.069 0, 1391586.708 971402.109 0, 1391860.86 971425.165 0, 1392135.01 971448.237 0, 1392409.158 971471.326 0, 1392683.306 971494.43 0, 1392957.452 971517.551 0, 1393231.596 971540.688 0,
+ 1393505.74 971563.841 0, 1393779.881 971587.01 0, 1394054.022 971610.195 0, 1394328.161 971633.396 0, 1394602.299 971656.614 0, 1394876.435 971679.847 0, 1395150.57 971703.097 0, 1395424.704 971726.363 0, 1395697.573 971749.537 0, 1396169.901 966190.069 0,
+ 1396642.218 960630.722 0))
+
+POLYGON ((1408854.297 972886.042 0, 1408581.493 972862.096 0, 1408307.426 972838.056 0, 1408033.357 972814.032 0, 1407759.288 972790.024 0, 1407485.217 972766.032 0, 1407211.144 972742.057 0, 1406937.07 972718.097 0, 1406662.995 972694.154 0, 1406388.918 972670.226 0,
+ 1406114.84 972646.315 0, 1405840.76 972622.42 0, 1405566.679 972598.541 0, 1405292.597 972574.678 0, 1405018.513 972550.832 0, 1404744.428 972527.001 0, 1404470.342 972503.187 0, 1404196.254 972479.389 0, 1403922.164 972455.606 0, 1403648.073 972431.84 0,
+ 1403373.981 972408.091 0, 1403099.888 972384.357 0, 1402825.793 972360.639 0, 1402551.696 972336.938 0, 1402276.337 972313.143 0, 1402003.499 972289.583 0, 1401729.399 972265.93 0, 1401455.297 972242.293 0, 1401181.194 972218.672 0, 1400907.089 972195.068 0,
+ 1400632.983 972171.479 0, 1400358.875 972147.907 0, 1400084.766 972124.351 0, 1399810.656 972100.81 0, 1399536.544 972077.286 0, 1399262.431 972053.779 0, 1398988.317 972030.287 0, 1398714.201 972006.811 0, 1398440.084 971983.352 0, 1398165.965 971959.909 0,
+ 1397891.845 971936.481 0, 1397617.724 971913.07 0, 1397343.601 971889.675 0, 1397069.477 971866.297 0, 1396795.352 971842.934 0, 1396521.225 971819.587 0, 1396247.097 971796.257 0, 1395972.967 971772.943 0, 1395697.573 971749.537 0, 1395225.236 977309.124 0,
+ 1394752.889 982868.825 0, 1395027.625 982892.175 0, 1395301.1 982915.433 0, 1395574.574 982938.708 0, 1395848.047 982961.999 0, 1396121.518 982985.306 0, 1396394.987 983008.628 0, 1396668.455 983031.968 0, 1396941.922 983055.323 0, 1397215.388 983078.694 0,
+ 1397488.852 983102.081 0, 1397762.315 983125.485 0, 1398035.776 983148.904 0, 1398309.236 983172.34 0, 1398582.695 983195.792 0, 1398856.152 983219.26 0, 1399129.608 983242.743 0, 1399403.062 983266.243 0, 1399676.515 983289.76 0, 1399949.967 983313.292 0,
+ 1400223.418 983336.84 0, 1400496.866 983360.405 0, 1400770.314 983383.985 0, 1401043.76 983407.582 0, 1401315.946 983431.086 0, 1401590.648 983454.823 0, 1401864.09 983478.468 0, 1402137.531 983502.129 0, 1402410.97 983525.806 0, 1402684.408 983549.499 0,
+ 1402957.844 983573.208 0, 1403231.279 983596.934 0, 1403504.713 983620.675 0, 1403778.145 983644.433 0, 1404051.576 983668.206 0, 1404325.005 983691.996 0, 1404598.434 983715.802 0, 1404871.86 983739.624 0, 1405145.285 983763.462 0, 1405418.709 983787.316 0,
+ 1405692.132 983811.186 0, 1405965.553 983835.072 0, 1406238.972 983858.975 0, 1406512.39 983882.893 0, 1406785.807 983906.828 0, 1407059.223 983930.778 0, 1407332.637 983954.745 0, 1407606.049 983978.728 0, 1407878.202 984002.616 0, 1408366.255 978444.272 0,
+ 1408854.297 972886.042 0))
+
+POLYGON ((1421000.261 985173.485 0, 1420728.174 985148.827 0, 1420454.83 985124.072 0, 1420181.485 985099.333 0, 1419908.138 985074.61 0, 1419634.79 985049.903 0, 1419361.441 985025.212 0, 1419088.09 985000.538 0, 1418814.737 984975.879 0, 1418541.383 984951.236 0,
+ 1418268.028 984926.61 0, 1417994.671 984902 0, 1417721.313 984877.405 0, 1417447.953 984852.827 0, 1417174.592 984828.265 0, 1416901.23 984803.719 0, 1416627.866 984779.189 0, 1416354.5 984754.675 0, 1416081.133 984730.177 0, 1415807.765 984705.696 0,
+ 1415534.395 984681.23 0, 1415261.024 984656.781 0, 1414987.651 984632.347 0, 1414714.277 984607.93 0, 1414439.645 984583.417 0, 1414167.525 984559.144 0, 1413894.146 984534.775 0, 1413620.766 984510.422 0, 1413347.385 984486.085 0, 1413074.002 984461.764 0,
+ 1412800.618 984437.459 0, 1412527.233 984413.171 0, 1412253.846 984388.898 0, 1411980.457 984364.642 0, 1411707.067 984340.402 0, 1411433.676 984316.177 0, 1411160.283 984291.969 0, 1410886.889 984267.777 0, 1410613.494 984243.601 0, 1410340.097 984219.441 0,
+ 1410066.698 984195.298 0, 1409793.299 984171.17 0, 1409519.897 984147.058 0, 1409246.495 984122.963 0, 1408973.091 984098.884 0, 1408699.685 984074.82 0, 1408426.278 984050.773 0, 1408152.87 984026.742 0, 1407878.202 984002.616 0, 1407390.14 989561.071 0,
+ 1406902.069 995119.631 0, 1407176.079 995143.698 0, 1407448.833 995167.672 0, 1407721.586 995191.662 0, 1407994.337 995215.667 0, 1408267.087 995239.689 0, 1408539.835 995263.727 0, 1408812.582 995287.781 0, 1409085.328 995311.851 0, 1409358.072 995335.937 0,
+ 1409630.814 995360.039 0, 1409903.556 995384.157 0, 1410176.295 995408.291 0, 1410449.034 995432.441 0, 1410721.771 995456.607 0, 1410994.506 995480.79 0, 1411267.241 995504.988 0, 1411539.973 995529.202 0, 1411812.705 995553.433 0, 1412085.435 995577.679 0,
+ 1412358.163 995601.942 0, 1412630.89 995626.221 0, 1412903.616 995650.515 0, 1413176.34 995674.826 0, 1413447.809 995699.041 0, 1413721.784 995723.496 0, 1413994.504 995747.854 0, 1414267.222 995772.229 0, 1414539.939 995796.62 0, 1414812.655 995821.027 0,
+ 1415085.369 995845.45 0, 1415358.081 995869.89 0, 1415630.793 995894.345 0, 1415903.502 995918.816 0, 1416176.211 995943.303 0, 1416448.918 995967.807 0, 1416721.623 995992.326 0, 1416994.327 996016.861 0, 1417267.03 996041.413 0, 1417539.731 996065.98 0,
+ 1417812.431 996090.564 0, 1418085.129 996115.164 0, 1418357.826 996139.779 0, 1418630.521 996164.411 0, 1418903.215 996189.059 0, 1419175.907 996213.723 0, 1419448.598 996238.403 0, 1419721.288 996263.098 0, 1419992.724 996287.697 0, 1420496.497 990730.538 0,
+ 1421000.261 985173.485 0))
+
+POLYGON ((899412.547 543656.491 0, 899114.683 543662.391 0, 898815.355 543668.338 0, 898516.028 543674.302 0, 898216.701 543680.284 0, 897917.374 543686.284 0, 897618.047 543692.301 0, 897318.721 543698.336 0, 897019.396 543704.388 0, 896720.07 543710.458 0,
+ 896420.745 543716.546 0, 896121.421 543722.651 0, 895822.097 543728.774 0, 895522.773 543734.915 0, 895223.449 543741.073 0, 894924.126 543747.249 0, 894624.803 543753.442 0, 894325.481 543759.653 0, 894026.159 543765.882 0, 893726.837 543772.128 0,
+ 893427.515 543778.392 0, 893128.194 543784.673 0, 892828.874 543790.972 0, 892529.554 543797.289 0, 892228.768 543803.654 0, 891930.914 543809.975 0, 891631.595 543816.345 0, 891332.276 543822.732 0, 891032.958 543829.137 0, 890733.64 543835.559 0,
+ 890434.322 543841.999 0, 890135.005 543848.457 0, 889835.688 543854.932 0, 889536.372 543861.425 0, 889237.056 543867.935 0, 888937.74 543874.463 0, 888638.425 543881.009 0, 888339.11 543887.572 0, 888039.795 543894.153 0, 887740.481 543900.752 0,
+ 887441.167 543907.368 0, 887141.854 543914.002 0, 886842.541 543920.653 0, 886543.228 543927.322 0, 886243.916 543934.009 0, 885944.604 543940.713 0, 885645.293 543947.435 0, 885345.982 543954.175 0, 885045.205 543960.965 0, 885170.878 549520.433 0,
+ 885296.56 555080.278 0, 885596.68 555073.502 0, 885895.336 555066.778 0, 886193.993 555060.07 0, 886492.651 555053.381 0, 886791.309 555046.709 0, 887089.967 555040.054 0, 887388.625 555033.417 0, 887687.284 555026.798 0, 887985.943 555020.196 0,
+ 888284.603 555013.612 0, 888583.263 555007.046 0, 888881.924 555000.497 0, 889180.584 554993.965 0, 889479.246 554987.452 0, 889777.907 554980.955 0, 890076.569 554974.477 0, 890375.232 554968.016 0, 890673.894 554961.572 0, 890972.558 554955.146 0,
+ 891271.221 554948.738 0, 891569.885 554942.347 0, 891868.549 554935.974 0, 892167.214 554929.618 0, 892464.417 554923.311 0, 892764.544 554916.96 0, 893063.21 554910.657 0, 893361.876 554904.372 0, 893660.543 554898.104 0, 893959.21 554891.854 0,
+ 894257.877 554885.621 0, 894556.544 554879.406 0, 894855.212 554873.209 0, 895153.881 554867.029 0, 895452.549 554860.867 0, 895751.218 554854.722 0, 896049.888 554848.595 0, 896348.558 554842.485 0, 896647.228 554836.394 0, 896945.898 554830.319 0,
+ 897244.569 554824.262 0, 897543.24 554818.223 0, 897841.912 554812.202 0, 898140.584 554806.198 0, 898439.256 554800.211 0, 898737.929 554794.242 0, 899036.602 554788.291 0, 899335.275 554782.357 0, 899632.488 554776.47 0, 899522.513 549216.292 0,
+ 899412.547 543656.491 0))
+
+POLYGON ((913969.216 554513.165 0, 913671.986 554518.213 0, 913373.297 554523.302 0, 913074.608 554528.41 0, 912775.92 554533.535 0, 912477.232 554538.678 0, 912178.544 554543.838 0, 911879.857 554549.016 0, 911581.17 554554.211 0, 911282.483 554559.424 0,
+ 910983.796 554564.654 0, 910685.11 554569.903 0, 910386.424 554575.168 0, 910087.739 554580.451 0, 909789.054 554585.752 0, 909490.369 554591.071 0, 909191.684 554596.407 0, 908893 554601.76 0, 908594.316 554607.132 0, 908295.632 554612.52 0,
+ 907996.949 554617.927 0, 907698.266 554623.35 0, 907399.583 554628.792 0, 907100.901 554634.251 0, 906800.759 554639.754 0, 906503.537 554645.222 0, 906204.856 554650.734 0, 905906.175 554656.263 0, 905607.494 554661.81 0, 905308.813 554667.375 0,
+ 905010.133 554672.957 0, 904711.453 554678.556 0, 904412.774 554684.174 0, 904114.095 554689.809 0, 903815.416 554695.461 0, 903516.738 554701.131 0, 903218.06 554706.819 0, 902919.382 554712.524 0, 902620.704 554718.247 0, 902322.027 554723.987 0,
+ 902023.351 554729.745 0, 901724.674 554735.52 0, 901425.998 554741.313 0, 901127.322 554747.124 0, 900828.647 554752.952 0, 900529.972 554758.798 0, 900231.297 554764.662 0, 899932.623 554770.543 0, 899632.488 554776.47 0, 899742.469 560337.022 0,
+ 899852.458 565897.946 0, 900151.935 565892.031 0, 900449.955 565886.163 0, 900747.975 565880.312 0, 901045.996 565874.479 0, 901344.016 565868.664 0, 901642.038 565862.866 0, 901940.059 565857.086 0, 902238.081 565851.323 0, 902536.103 565845.578 0,
+ 902834.126 565839.85 0, 903132.148 565834.14 0, 903430.172 565828.447 0, 903728.195 565822.772 0, 904026.219 565817.114 0, 904324.243 565811.474 0, 904622.268 565805.852 0, 904920.292 565800.247 0, 905218.318 565794.659 0, 905516.343 565789.089 0,
+ 905814.369 565783.537 0, 906112.395 565778.002 0, 906410.422 565772.485 0, 906708.448 565766.985 0, 907005.019 565761.53 0, 907304.503 565756.038 0, 907602.531 565750.591 0, 907900.559 565745.162 0, 908198.587 565739.75 0, 908496.616 565734.355 0,
+ 908794.645 565728.978 0, 909092.674 565723.619 0, 909390.704 565718.277 0, 909688.734 565712.953 0, 909986.764 565707.646 0, 910284.795 565702.357 0, 910582.826 565697.085 0, 910880.857 565691.831 0, 911178.889 565686.594 0, 911476.92 565681.375 0,
+ 911774.953 565676.174 0, 912072.985 565670.99 0, 912371.018 565665.823 0, 912669.051 565660.674 0, 912967.084 565655.543 0, 913265.118 565650.429 0, 913563.152 565645.333 0, 913861.186 565640.254 0, 914157.765 565635.218 0, 914063.487 560074.006 0,
+ 913969.216 554513.165 0))
+
+POLYGON ((928463.757 565412.906 0, 928167.163 565417.104 0, 927869.116 565421.341 0, 927571.069 565425.595 0, 927273.022 565429.867 0, 926974.975 565434.157 0, 926676.929 565438.463 0, 926378.882 565442.788 0, 926080.836 565447.13 0, 925782.791 565451.489 0,
+ 925484.745 565455.866 0, 925186.7 565460.261 0, 924888.655 565464.673 0, 924590.611 565469.103 0, 924292.566 565473.55 0, 923994.522 565478.015 0, 923696.478 565482.497 0, 923398.435 565486.997 0, 923100.392 565491.514 0, 922802.349 565496.049 0,
+ 922504.306 565500.602 0, 922206.263 565505.172 0, 921908.221 565509.759 0, 921610.179 565514.364 0, 921310.683 565519.01 0, 921014.096 565523.627 0, 920716.055 565528.285 0, 920418.014 565532.96 0, 920119.973 565537.653 0, 919821.933 565542.363 0,
+ 919523.893 565547.091 0, 919225.853 565551.837 0, 918927.814 565556.6 0, 918629.774 565561.38 0, 918331.736 565566.178 0, 918033.697 565570.994 0, 917735.659 565575.827 0, 917437.62 565580.678 0, 917139.583 565585.546 0, 916841.545 565590.432 0,
+ 916543.508 565595.335 0, 916245.471 565600.256 0, 915947.434 565605.194 0, 915649.398 565610.15 0, 915351.362 565615.124 0, 915053.326 565620.115 0, 914755.291 565625.123 0, 914457.256 565630.149 0, 914157.765 565635.218 0, 914252.049 571196.797 0,
+ 914346.339 576758.742 0, 914645.172 576753.685 0, 914942.552 576748.67 0, 915239.933 576743.672 0, 915537.314 576738.692 0, 915834.695 576733.73 0, 916132.077 576728.784 0, 916429.459 576723.857 0, 916726.841 576718.947 0, 917024.224 576714.054 0,
+ 917321.607 576709.179 0, 917618.99 576704.322 0, 917916.373 576699.482 0, 918213.757 576694.659 0, 918511.14 576689.854 0, 918808.525 576685.067 0, 919105.909 576680.297 0, 919403.294 576675.544 0, 919700.679 576670.809 0, 919998.064 576666.092 0,
+ 920295.45 576661.392 0, 920592.836 576656.709 0, 920890.222 576652.044 0, 921187.608 576647.397 0, 921483.544 576642.789 0, 921782.382 576638.154 0, 922079.769 576633.559 0, 922377.157 576628.982 0, 922674.545 576624.422 0, 922971.933 576619.879 0,
+ 923269.321 576615.354 0, 923566.71 576610.847 0, 923864.098 576606.357 0, 924161.488 576601.884 0, 924458.877 576597.429 0, 924756.267 576592.992 0, 925053.656 576588.572 0, 925351.047 576584.17 0, 925648.437 576579.785 0, 925945.828 576575.417 0,
+ 926243.219 576571.067 0, 926540.61 576566.735 0, 926838.001 576562.42 0, 927135.393 576558.123 0, 927432.785 576553.843 0, 927730.177 576549.58 0, 928027.569 576545.335 0, 928324.962 576541.108 0, 928620.905 576536.918 0, 928542.329 570974.73 0,
+ 928463.757 565412.906 0))
+
+POLYGON ((942896.04 576355.424 0, 942600.085 576358.777 0, 942302.681 576362.165 0, 942005.278 576365.569 0, 941707.875 576368.992 0, 941410.472 576372.431 0, 941113.069 576375.889 0, 940815.667 576379.363 0, 940518.265 576382.855 0, 940220.863 576386.365 0,
+ 939923.461 576389.892 0, 939626.059 576393.437 0, 939328.658 576396.999 0, 939031.257 576400.579 0, 938733.856 576404.176 0, 938436.455 576407.791 0, 938139.054 576411.423 0, 937841.654 576415.073 0, 937544.254 576418.74 0, 937246.854 576422.425 0,
+ 936949.454 576426.128 0, 936652.055 576429.847 0, 936354.655 576433.585 0, 936057.256 576437.339 0, 935758.408 576441.13 0, 935462.459 576444.901 0, 935165.061 576448.709 0, 934867.662 576452.534 0, 934570.265 576456.376 0, 934272.867 576460.236 0,
+ 933975.469 576464.113 0, 933678.072 576468.008 0, 933380.675 576471.92 0, 933083.278 576475.85 0, 932785.882 576479.797 0, 932488.486 576483.762 0, 932191.089 576487.745 0, 931893.694 576491.744 0, 931596.298 576495.762 0, 931298.903 576499.797 0,
+ 931001.507 576503.849 0, 930704.113 576507.919 0, 930406.718 576512.006 0, 930109.324 576516.111 0, 929811.929 576520.233 0, 929514.535 576524.373 0, 929217.142 576528.531 0, 928919.748 576532.706 0, 928620.905 576536.918 0, 928699.486 582099.469 0,
+ 928778.073 587662.377 0, 929076.258 587658.174 0, 929372.997 587654.008 0, 929669.736 587649.86 0, 929966.475 587645.729 0, 930263.214 587641.616 0, 930559.954 587637.52 0, 930856.693 587633.442 0, 931153.434 587629.381 0, 931450.174 587625.337 0,
+ 931746.914 587621.311 0, 932043.655 587617.303 0, 932340.396 587613.312 0, 932637.137 587609.338 0, 932933.879 587605.382 0, 933230.621 587601.443 0, 933527.363 587597.522 0, 933824.105 587593.618 0, 934120.847 587589.732 0, 934417.59 587585.863 0,
+ 934714.333 587582.012 0, 935011.076 587578.178 0, 935307.819 587574.362 0, 935604.563 587570.563 0, 935899.86 587566.8 0, 936198.05 587563.017 0, 936494.795 587559.271 0, 936791.539 587555.542 0, 937088.284 587551.83 0, 937385.028 587548.136 0,
+ 937681.774 587544.46 0, 937978.519 587540.8 0, 938275.264 587537.159 0, 938572.01 587533.534 0, 938868.756 587529.928 0, 939165.502 587526.338 0, 939462.249 587522.766 0, 939758.995 587519.212 0, 940055.742 587515.675 0, 940352.489 587512.156 0,
+ 940649.236 587508.654 0, 940945.983 587505.169 0, 941242.731 587501.702 0, 941539.479 587498.252 0, 941836.227 587494.82 0, 942132.975 587491.406 0, 942429.723 587488.008 0, 942726.472 587484.629 0, 943021.776 587481.283 0, 942958.906 581918.174 0,
+ 942896.04 576355.424 0))
+
+POLYGON ((957265.934 587340.43 0, 956970.62 587342.941 0, 956673.863 587345.483 0, 956377.106 587348.042 0, 956080.349 587350.618 0, 955783.593 587353.212 0, 955486.836 587355.823 0, 955190.08 587358.451 0, 954893.324 587361.098 0, 954596.568 587363.761 0,
+ 954299.812 587366.442 0, 954003.057 587369.141 0, 953706.301 587371.857 0, 953409.546 587374.59 0, 953112.791 587377.341 0, 952816.036 587380.11 0, 952519.281 587382.896 0, 952222.527 587385.699 0, 951925.772 587388.52 0, 951629.018 587391.358 0,
+ 951332.264 587394.214 0, 951035.51 587397.087 0, 950738.756 587399.978 0, 950442.002 587402.886 0, 950143.805 587405.826 0, 949848.496 587408.755 0, 949551.743 587411.715 0, 949254.99 587414.693 0, 948958.237 587417.689 0, 948661.484 587420.702 0,
+ 948364.732 587423.732 0, 948067.98 587426.78 0, 947771.228 587429.845 0, 947474.476 587432.928 0, 947177.724 587436.028 0, 946880.973 587439.146 0, 946584.222 587442.281 0, 946287.471 587445.434 0, 945990.72 587448.604 0, 945693.969 587451.792 0,
+ 945397.218 587454.997 0, 945100.468 587458.219 0, 944803.718 587461.459 0, 944506.968 587464.717 0, 944210.218 587467.992 0, 943913.468 587471.284 0, 943616.719 587474.594 0, 943319.97 587477.921 0, 943021.776 587481.283 0, 943084.65 593044.746 0,
+ 943147.528 598608.562 0, 943445.064 598605.208 0, 943741.158 598601.888 0, 944037.252 598598.585 0, 944333.347 598595.3 0, 944629.442 598592.033 0, 944925.537 598588.782 0, 945221.632 598585.549 0, 945517.728 598582.334 0, 945813.823 598579.136 0,
+ 946109.919 598575.955 0, 946406.015 598572.792 0, 946702.111 598569.647 0, 946998.207 598566.518 0, 947294.304 598563.407 0, 947590.401 598560.314 0, 947886.498 598557.238 0, 948182.595 598554.179 0, 948478.692 598551.138 0, 948774.789 598548.114 0,
+ 949070.887 598545.108 0, 949366.985 598542.119 0, 949663.083 598539.148 0, 949959.181 598536.194 0, 950253.839 598533.271 0, 950551.378 598530.338 0, 950847.476 598527.436 0, 951143.575 598524.552 0, 951439.674 598521.685 0, 951735.773 598518.836 0,
+ 952031.873 598516.004 0, 952327.972 598513.189 0, 952624.072 598510.392 0, 952920.172 598507.612 0, 953216.272 598504.85 0, 953512.372 598502.105 0, 953808.472 598499.378 0, 954104.573 598496.667 0, 954400.673 598493.975 0, 954696.774 598491.3 0,
+ 954992.875 598488.642 0, 955288.976 598486.002 0, 955585.077 598483.379 0, 955881.179 598480.773 0, 956177.28 598478.185 0, 956473.382 598475.615 0, 956769.484 598473.061 0, 957065.586 598470.526 0, 957360.249 598468.02 0, 957313.09 592904.049 0,
+ 957265.934 587340.43 0))
+
+POLYGON ((971573.31 598367.632 0, 971278.639 598369.305 0, 970982.531 598371.004 0, 970686.423 598372.721 0, 970390.316 598374.455 0, 970094.208 598376.207 0, 969798.1 598377.976 0, 969501.993 598379.762 0, 969205.885 598381.566 0, 968909.778 598383.387 0,
+ 968613.671 598385.225 0, 968317.564 598387.082 0, 968021.457 598388.955 0, 967725.35 598390.846 0, 967429.243 598392.754 0, 967133.137 598394.68 0, 966837.03 598396.623 0, 966540.924 598398.584 0, 966244.818 598400.562 0, 965948.711 598402.557 0,
+ 965652.605 598404.57 0, 965356.499 598406.601 0, 965060.394 598408.648 0, 964764.288 598410.714 0, 964466.744 598412.806 0, 964172.077 598414.896 0, 963875.972 598417.014 0, 963579.866 598419.149 0, 963283.761 598421.301 0, 962987.656 598423.471 0,
+ 962691.552 598425.658 0, 962395.447 598427.862 0, 962099.342 598430.085 0, 961803.238 598432.324 0, 961507.134 598434.581 0, 961211.03 598436.855 0, 960914.926 598439.147 0, 960618.822 598441.456 0, 960322.718 598443.783 0, 960026.614 598446.127 0,
+ 959730.511 598448.488 0, 959434.408 598450.867 0, 959138.304 598453.263 0, 958842.201 598455.677 0, 958546.098 598458.108 0, 958249.996 598460.557 0, 957953.893 598463.023 0, 957657.791 598465.507 0, 957360.249 598468.02 0, 957407.411 604032.339 0,
+ 957454.575 609597.004 0, 957751.459 609594.497 0, 958046.906 609592.019 0, 958342.354 609589.558 0, 958637.802 609587.115 0, 958933.25 609584.689 0, 959228.698 609582.281 0, 959524.146 609579.89 0, 959819.594 609577.516 0, 960115.042 609575.16 0,
+ 960410.491 609572.821 0, 960705.94 609570.5 0, 961001.389 609568.196 0, 961296.838 609565.909 0, 961592.287 609563.64 0, 961887.736 609561.388 0, 962183.185 609559.153 0, 962478.635 609556.936 0, 962774.084 609554.736 0, 963069.534 609552.554 0,
+ 963364.984 609550.389 0, 963660.434 609548.241 0, 963955.884 609546.111 0, 964251.335 609543.998 0, 964545.35 609541.913 0, 964842.235 609539.825 0, 965137.686 609537.764 0, 965433.137 609535.721 0, 965728.588 609533.695 0, 966024.039 609531.687 0,
+ 966319.49 609529.696 0, 966614.941 609527.722 0, 966910.392 609525.766 0, 967205.844 609523.827 0, 967501.296 609521.905 0, 967796.747 609520.001 0, 968092.199 609518.115 0, 968387.651 609516.245 0, 968683.103 609514.393 0, 968978.555 609512.559 0,
+ 969274.007 609510.742 0, 969569.46 609508.942 0, 969864.912 609507.159 0, 970160.365 609505.394 0, 970455.817 609503.647 0, 970751.27 609501.917 0, 971046.723 609500.204 0, 971342.176 609498.508 0, 971636.195 609496.838 0, 971604.752 603932.062 0,
+ 971573.31 598367.632 0))
+
+POLYGON ((985818.041 609436.739 0, 985524.016 609437.578 0, 985228.559 609438.439 0, 984933.103 609439.317 0, 984637.646 609440.212 0, 984342.19 609441.125 0, 984046.734 609442.055 0, 983751.277 609443.003 0, 983455.821 609443.968 0, 983160.365 609444.951 0,
+ 982864.909 609445.95 0, 982569.453 609446.968 0, 982273.997 609448.002 0, 981978.541 609449.054 0, 981683.085 609450.124 0, 981387.629 609451.21 0, 981092.173 609452.315 0, 980796.718 609453.436 0, 980501.262 609454.575 0, 980205.806 609455.732 0,
+ 979910.351 609456.905 0, 979614.895 609458.096 0, 979319.44 609459.305 0, 979023.985 609460.531 0, 978727.097 609461.78 0, 978433.074 609463.035 0, 978137.619 609464.313 0, 977842.164 609465.608 0, 977546.71 609466.921 0, 977251.255 609468.252 0,
+ 976955.8 609469.599 0, 976660.345 609470.964 0, 976364.891 609472.347 0, 976069.436 609473.746 0, 975773.982 609475.164 0, 975478.527 609476.598 0, 975183.073 609478.05 0, 974887.619 609479.52 0, 974592.165 609481.006 0, 974296.711 609482.51 0,
+ 974001.257 609484.032 0, 973705.803 609485.571 0, 973410.349 609487.127 0, 973114.896 609488.701 0, 972819.442 609490.292 0, 972523.989 609491.901 0, 972228.535 609493.526 0, 971933.082 609495.17 0, 971636.195 609496.838 0, 971667.64 615061.957 0,
+ 971699.087 620627.414 0, 971995.316 620625.749 0, 972290.115 620624.109 0, 972584.913 620622.487 0, 972879.711 620620.882 0, 973174.509 620619.295 0, 973469.308 620617.724 0, 973764.107 620616.172 0, 974058.905 620614.636 0, 974353.704 620613.118 0,
+ 974648.503 620611.617 0, 974943.302 620610.134 0, 975238.101 620608.668 0, 975532.9 620607.219 0, 975827.699 620605.787 0, 976122.499 620604.373 0, 976417.298 620602.977 0, 976712.097 620601.597 0, 977006.897 620600.235 0, 977301.697 620598.891 0,
+ 977596.496 620597.563 0, 977891.296 620596.253 0, 978186.096 620594.961 0, 978480.896 620593.686 0, 978774.266 620592.434 0, 979070.496 620591.187 0, 979365.296 620589.964 0, 979660.096 620588.758 0, 979954.897 620587.57 0, 980249.697 620586.398 0,
+ 980544.498 620585.245 0, 980839.298 620584.108 0, 981134.099 620582.989 0, 981428.899 620581.887 0, 981723.7 620580.803 0, 982018.501 620579.736 0, 982313.302 620578.686 0, 982608.102 620577.654 0, 982902.903 620576.639 0, 983197.704 620575.641 0,
+ 983492.505 620574.661 0, 983787.307 620573.698 0, 984082.108 620572.753 0, 984376.909 620571.824 0, 984671.71 620570.913 0, 984966.512 620570.02 0, 985261.313 620569.144 0, 985556.114 620568.285 0, 985849.487 620567.448 0, 985833.764 615001.924 0,
+ 985818.041 609436.739 0))
+
+POLYGON ((1000000 620547.459 0, 999706.624 620547.467 0, 999411.821 620547.493 0, 999117.018 620547.536 0, 998822.216 620547.597 0, 998527.413 620547.675 0, 998232.61 620547.77 0, 997937.808 620547.883 0, 997643.005 620548.013 0, 997348.202 620548.161 0,
+ 997053.4 620548.325 0, 996758.597 620548.507 0, 996463.794 620548.707 0, 996168.992 620548.924 0, 995874.189 620549.158 0, 995579.387 620549.409 0, 995284.584 620549.678 0, 994989.781 620549.965 0, 994694.979 620550.268 0, 994400.176 620550.589 0,
+ 994105.374 620550.927 0, 993810.571 620551.283 0, 993515.769 620551.656 0, 993220.966 620552.046 0, 992924.737 620552.456 0, 992631.362 620552.879 0, 992336.559 620553.321 0, 992041.757 620553.781 0, 991746.955 620554.258 0, 991452.152 620554.753 0,
+ 991157.35 620555.264 0, 990862.548 620555.793 0, 990567.746 620556.34 0, 990272.944 620556.904 0, 989978.141 620557.485 0, 989683.339 620558.083 0, 989388.537 620558.699 0, 989093.735 620559.333 0, 988798.933 620559.983 0, 988504.131 620560.651 0,
+ 988209.33 620561.336 0, 987914.528 620562.039 0, 987619.726 620562.759 0, 987324.924 620563.496 0, 987030.122 620564.251 0, 986735.321 620565.023 0, 986440.519 620565.813 0, 986145.717 620566.619 0, 985849.487 620567.448 0, 985865.212 626133.307 0,
+ 985880.937 631699.499 0, 986176.509 631698.673 0, 986470.656 631697.868 0, 986764.802 631697.08 0, 987058.949 631696.31 0, 987353.095 631695.557 0, 987647.242 631694.821 0, 987941.388 631694.103 0, 988235.535 631693.402 0, 988529.682 631692.718 0,
+ 988823.828 631692.052 0, 989117.975 631691.402 0, 989412.122 631690.771 0, 989706.269 631690.156 0, 990000.416 631689.559 0, 990294.562 631688.979 0, 990588.709 631688.416 0, 990882.856 631687.871 0, 991177.003 631687.343 0, 991471.15 631686.832 0,
+ 991765.297 631686.339 0, 992059.445 631685.863 0, 992353.592 631685.404 0, 992647.739 631684.963 0, 992940.462 631684.541 0, 993236.033 631684.132 0, 993530.18 631683.743 0, 993824.328 631683.371 0, 994118.475 631683.016 0, 994412.622 631682.678 0,
+ 994706.77 631682.358 0, 995000.917 631682.055 0, 995295.064 631681.77 0, 995589.212 631681.501 0, 995883.359 631681.25 0, 996177.506 631681.017 0, 996471.654 631680.8 0, 996765.801 631680.601 0, 997059.949 631680.42 0, 997354.096 631680.255 0,
+ 997648.243 631680.108 0, 997942.391 631679.978 0, 998236.538 631679.866 0, 998530.686 631679.771 0, 998824.833 631679.693 0, 999118.981 631679.632 0, 999413.128 631679.589 0, 999707.276 631679.563 0, 1000000 631679.555 0, 1000000 626113.341 0,
+ 1000000 620547.459 0))
+
+POLYGON ((1014119.063 631699.499 0, 1013826.337 631698.681 0, 1013532.191 631697.876 0, 1013238.044 631697.088 0, 1012943.898 631696.317 0, 1012649.751 631695.564 0, 1012355.605 631694.828 0, 1012061.458 631694.11 0, 1011767.312 631693.409 0, 1011473.165 631692.725 0,
+ 1011179.018 631692.058 0, 1010884.871 631691.409 0, 1010590.725 631690.777 0, 1010296.578 631690.162 0, 1010002.431 631689.565 0, 1009708.284 631688.984 0, 1009414.137 631688.422 0, 1009119.99 631687.876 0, 1008825.843 631687.348 0, 1008531.696 631686.837 0,
+ 1008237.549 631686.344 0, 1007943.402 631685.868 0, 1007649.255 631685.409 0, 1007355.108 631684.967 0, 1007059.538 631684.541 0, 1006766.813 631684.136 0, 1006472.666 631683.746 0, 1006178.519 631683.374 0, 1005884.371 631683.019 0, 1005590.224 631682.681 0,
+ 1005296.077 631682.361 0, 1005001.93 631682.058 0, 1004707.782 631681.772 0, 1004413.635 631681.504 0, 1004119.487 631681.253 0, 1003825.34 631681.019 0, 1003531.193 631680.802 0, 1003237.045 631680.603 0, 1002942.898 631680.421 0, 1002648.75 631680.257 0,
+ 1002354.603 631680.109 0, 1002060.456 631679.98 0, 1001766.308 631679.867 0, 1001472.161 631679.772 0, 1001178.013 631679.694 0, 1000883.866 631679.633 0, 1000589.718 631679.59 0, 1000295.571 631679.564 0, 1000000 631679.555 0, 1000000 637246.098 0,
+ 1000000 642812.967 0, 1000294.912 642812.976 0, 1000588.404 642813.002 0, 1000881.897 642813.045 0, 1001175.389 642813.106 0, 1001468.881 642813.184 0, 1001762.373 642813.279 0, 1002055.865 642813.391 0, 1002349.357 642813.521 0, 1002642.85 642813.668 0,
+ 1002936.342 642813.832 0, 1003229.834 642814.013 0, 1003523.326 642814.212 0, 1003816.818 642814.428 0, 1004110.31 642814.662 0, 1004403.802 642814.912 0, 1004697.294 642815.18 0, 1004990.786 642815.465 0, 1005284.278 642815.767 0, 1005577.77 642816.087 0,
+ 1005871.262 642816.424 0, 1006164.754 642816.778 0, 1006458.246 642817.15 0, 1006751.738 642817.538 0, 1007043.811 642817.942 0, 1007338.722 642818.368 0, 1007632.214 642818.808 0, 1007925.706 642819.266 0, 1008219.198 642819.741 0, 1008512.689 642820.234 0,
+ 1008806.181 642820.743 0, 1009099.673 642821.27 0, 1009393.165 642821.815 0, 1009686.656 642822.376 0, 1009980.148 642822.955 0, 1010273.639 642823.551 0, 1010567.131 642824.164 0, 1010860.622 642824.795 0, 1011154.114 642825.443 0, 1011447.605 642826.108 0,
+ 1011741.097 642826.79 0, 1012034.588 642827.49 0, 1012328.079 642828.207 0, 1012621.571 642828.941 0, 1012915.062 642829.693 0, 1013208.553 642830.462 0, 1013502.044 642831.248 0, 1013795.535 642832.051 0, 1014087.609 642832.868 0, 1014103.336 637266.021 0,
+ 1014119.063 631699.499 0))
+
+POLYGON ((1028175.105 642892.568 0, 1027883.033 642890.926 0, 1027589.545 642889.293 0, 1027296.057 642887.678 0, 1027002.57 642886.08 0, 1026709.082 642884.499 0, 1026415.594 642882.936 0, 1026122.105 642881.39 0, 1025828.617 642879.861 0, 1025535.129 642878.349 0,
+ 1025241.641 642876.855 0, 1024948.152 642875.378 0, 1024654.664 642873.918 0, 1024361.175 642872.476 0, 1024067.686 642871.051 0, 1023774.197 642869.643 0, 1023480.708 642868.252 0, 1023187.219 642866.879 0, 1022893.73 642865.523 0, 1022600.241 642864.184 0,
+ 1022306.752 642862.862 0, 1022013.263 642861.558 0, 1021719.773 642860.271 0, 1021426.284 642859.001 0, 1021131.378 642857.743 0, 1020839.305 642856.513 0, 1020545.815 642855.295 0, 1020252.325 642854.095 0, 1019958.836 642852.911 0, 1019665.346 642851.745 0,
+ 1019371.856 642850.597 0, 1019078.366 642849.465 0, 1018784.876 642848.351 0, 1018491.386 642847.254 0, 1018197.895 642846.174 0, 1017904.405 642845.111 0, 1017610.915 642844.066 0, 1017317.424 642843.038 0, 1017023.934 642842.028 0, 1016730.443 642841.034 0,
+ 1016436.953 642840.058 0, 1016143.462 642839.1 0, 1015849.972 642838.158 0, 1015556.481 642837.234 0, 1015262.99 642836.327 0, 1014969.499 642835.437 0, 1014676.008 642834.565 0, 1014382.517 642833.709 0, 1014087.609 642832.868 0, 1014071.88 648400.037 0,
+ 1014056.151 653967.526 0, 1014350.401 653968.366 0, 1014643.237 653969.219 0, 1014936.072 653970.09 0, 1015228.908 653970.977 0, 1015521.743 653971.882 0, 1015814.579 653972.804 0, 1016107.414 653973.744 0, 1016400.249 653974.701 0, 1016693.084 653975.674 0,
+ 1016985.92 653976.666 0, 1017278.755 653977.674 0, 1017571.59 653978.7 0, 1017864.425 653979.742 0, 1018157.26 653980.802 0, 1018450.094 653981.88 0, 1018742.929 653982.974 0, 1019035.764 653984.086 0, 1019328.599 653985.215 0, 1019621.433 653986.361 0,
+ 1019914.268 653987.525 0, 1020207.102 653988.706 0, 1020499.937 653989.904 0, 1020792.771 653991.119 0, 1021084.192 653992.345 0, 1021378.439 653993.601 0, 1021671.273 653994.868 0, 1021964.107 653996.152 0, 1022256.941 653997.453 0, 1022549.775 653998.772 0,
+ 1022842.609 654000.108 0, 1023135.443 654001.461 0, 1023428.276 654002.831 0, 1023721.11 654004.219 0, 1024013.943 654005.624 0, 1024306.777 654007.046 0, 1024599.61 654008.485 0, 1024892.443 654009.941 0, 1025185.276 654011.415 0, 1025478.109 654012.906 0,
+ 1025770.942 654014.414 0, 1026063.775 654015.94 0, 1026356.608 654017.482 0, 1026649.44 654019.042 0, 1026942.273 654020.62 0, 1027235.105 654022.214 0, 1027527.938 654023.826 0, 1027820.77 654025.454 0, 1028112.19 654027.093 0, 1028143.648 648459.67 0,
+ 1028175.105 642892.568 0))
+
+POLYGON ((1042168.004 654126.37 0, 1041876.588 654123.908 0, 1041583.762 654121.452 0, 1041290.935 654119.013 0, 1040998.108 654116.592 0, 1040705.281 654114.187 0, 1040412.454 654111.8 0, 1040119.627 654109.43 0, 1039826.8 654107.077 0, 1039533.972 654104.742 0,
+ 1039241.144 654102.423 0, 1038948.317 654100.122 0, 1038655.489 654097.839 0, 1038362.661 654095.572 0, 1038069.832 654093.323 0, 1037777.004 654091.091 0, 1037484.176 654088.876 0, 1037191.347 654086.678 0, 1036898.518 654084.498 0, 1036605.69 654082.335 0,
+ 1036312.861 654080.189 0, 1036020.032 654078.06 0, 1035727.202 654075.949 0, 1035434.373 654073.854 0, 1035140.132 654071.767 0, 1034848.714 654069.718 0, 1034555.884 654067.675 0, 1034263.054 654065.65 0, 1033970.224 654063.642 0, 1033677.394 654061.651 0,
+ 1033384.564 654059.677 0, 1033091.734 654057.721 0, 1032798.904 654055.782 0, 1032506.073 654053.86 0, 1032213.242 654051.956 0, 1031920.412 654050.068 0, 1031627.581 654048.198 0, 1031334.75 654046.345 0, 1031041.919 654044.509 0, 1030749.088 654042.691 0,
+ 1030456.256 654040.89 0, 1030163.425 654039.106 0, 1029870.593 654037.339 0, 1029577.762 654035.589 0, 1029284.93 654033.857 0, 1028992.098 654032.142 0, 1028699.266 654030.444 0, 1028406.434 654028.764 0, 1028112.19 654027.093 0, 1028080.73 659594.83 0,
+ 1028049.268 665162.881 0, 1028342.854 665164.548 0, 1028635.03 665166.225 0, 1028927.207 665167.919 0, 1029219.383 665169.63 0, 1029511.56 665171.359 0, 1029803.736 665173.104 0, 1030095.912 665174.867 0, 1030388.088 665176.647 0, 1030680.264 665178.444 0,
+ 1030972.439 665180.259 0, 1031264.615 665182.09 0, 1031556.79 665183.939 0, 1031848.966 665185.805 0, 1032141.141 665187.688 0, 1032433.316 665189.589 0, 1032725.492 665191.506 0, 1033017.667 665193.441 0, 1033309.841 665195.393 0, 1033602.016 665197.362 0,
+ 1033894.191 665199.348 0, 1034186.365 665201.352 0, 1034478.54 665203.373 0, 1034770.714 665205.411 0, 1035061.48 665207.456 0, 1035355.062 665209.538 0, 1035647.236 665211.628 0, 1035939.41 665213.734 0, 1036231.583 665215.858 0, 1036523.757 665217.999 0,
+ 1036815.93 665220.158 0, 1037108.104 665222.333 0, 1037400.277 665224.526 0, 1037692.45 665226.736 0, 1037984.623 665228.963 0, 1038276.796 665231.207 0, 1038568.968 665233.469 0, 1038861.141 665235.747 0, 1039153.313 665238.043 0, 1039445.485 665240.356 0,
+ 1039737.657 665242.687 0, 1040029.829 665245.034 0, 1040322.001 665247.399 0, 1040614.173 665249.781 0, 1040906.344 665252.18 0, 1041198.516 665254.596 0, 1041490.687 665257.029 0, 1041782.858 665259.48 0, 1042073.622 665261.936 0, 1042120.815 659693.997 0,
+ 1042168.004 654126.37 0))
+
+POLYGON ((1056097.64 665400.612 0, 1055806.882 665397.335 0, 1055514.719 665394.059 0, 1055222.556 665390.8 0, 1054930.393 665387.558 0, 1054638.229 665384.333 0, 1054346.065 665381.126 0, 1054053.901 665377.936 0, 1053761.737 665374.763 0, 1053469.573 665371.607 0,
+ 1053177.408 665368.469 0, 1052885.244 665365.348 0, 1052593.079 665362.243 0, 1052300.914 665359.157 0, 1052008.748 665356.087 0, 1051716.583 665353.034 0, 1051424.417 665349.999 0, 1051132.251 665346.981 0, 1050840.086 665343.98 0, 1050547.919 665340.996 0,
+ 1050255.753 665338.03 0, 1049963.587 665335.08 0, 1049671.42 665332.148 0, 1049379.253 665329.233 0, 1049085.68 665326.321 0, 1048794.919 665323.455 0, 1048502.751 665320.591 0, 1048210.584 665317.745 0, 1047918.416 665314.916 0, 1047626.248 665312.104 0,
+ 1047334.08 665309.31 0, 1047041.912 665306.532 0, 1046749.744 665303.772 0, 1046457.575 665301.029 0, 1046165.407 665298.303 0, 1045873.238 665295.595 0, 1045581.069 665292.903 0, 1045288.9 665290.229 0, 1044996.73 665287.572 0, 1044704.561 665284.932 0,
+ 1044412.391 665282.31 0, 1044120.222 665279.704 0, 1043828.052 665277.116 0, 1043535.882 665274.545 0, 1043243.711 665271.991 0, 1042951.541 665269.455 0, 1042659.371 665266.935 0, 1042367.2 665264.433 0, 1042073.622 665261.936 0, 1042026.427 670830.184 0,
+ 1041979.229 676398.739 0, 1042272.148 676401.23 0, 1042563.664 676403.727 0, 1042855.179 676406.24 0, 1043146.693 676408.771 0, 1043438.208 676411.319 0, 1043729.723 676413.885 0, 1044021.237 676416.467 0, 1044312.751 676419.067 0, 1044604.266 676421.683 0,
+ 1044895.78 676424.317 0, 1045187.293 676426.968 0, 1045478.807 676429.637 0, 1045770.321 676432.322 0, 1046061.834 676435.025 0, 1046353.347 676437.744 0, 1046644.86 676440.481 0, 1046936.373 676443.235 0, 1047227.886 676446.006 0, 1047519.398 676448.795 0,
+ 1047810.911 676451.6 0, 1048102.423 676454.423 0, 1048393.935 676457.262 0, 1048685.447 676460.119 0, 1048975.556 676462.98 0, 1049268.47 676465.885 0, 1049559.981 676468.793 0, 1049851.492 676471.719 0, 1050143.003 676474.662 0, 1050434.514 676477.621 0,
+ 1050726.025 676480.598 0, 1051017.535 676483.593 0, 1051309.046 676486.604 0, 1051600.556 676489.633 0, 1051892.066 676492.678 0, 1052183.576 676495.741 0, 1052475.085 676498.821 0, 1052766.595 676501.918 0, 1053058.104 676505.033 0, 1053349.613 676508.164 0,
+ 1053641.122 676511.313 0, 1053932.631 676514.478 0, 1054224.139 676517.661 0, 1054515.647 676520.862 0, 1054807.155 676524.079 0, 1055098.663 676527.313 0, 1055390.171 676530.565 0, 1055681.679 676533.834 0, 1055971.784 676537.104 0, 1056034.714 670968.705 0,
+ 1056097.64 665400.612 0))
+
+POLYGON ((1069963.893 676714.999 0, 1069673.795 676710.91 0, 1069382.298 676706.818 0, 1069090.801 676702.742 0, 1068799.303 676698.684 0, 1068507.805 676694.644 0, 1068216.307 676690.62 0, 1067924.809 676686.613 0, 1067633.31 676682.624 0, 1067341.811 676678.652 0,
+ 1067050.312 676674.697 0, 1066758.813 676670.759 0, 1066467.314 676666.838 0, 1066175.814 676662.935 0, 1065884.314 676659.048 0, 1065592.814 676655.179 0, 1065301.313 676651.327 0, 1065009.813 676647.492 0, 1064718.312 676643.674 0, 1064426.811 676639.874 0,
+ 1064135.309 676636.09 0, 1063843.808 676632.324 0, 1063552.306 676628.575 0, 1063260.804 676624.843 0, 1062967.902 676621.11 0, 1062677.799 676617.43 0, 1062386.297 676613.75 0, 1062094.794 676610.087 0, 1061803.291 676606.44 0, 1061511.788 676602.811 0,
+ 1061220.284 676599.199 0, 1060928.78 676595.605 0, 1060637.277 676592.027 0, 1060345.772 676588.467 0, 1060054.268 676584.923 0, 1059762.764 676581.397 0, 1059471.259 676577.888 0, 1059179.754 676574.397 0, 1058888.249 676570.922 0, 1058596.743 676567.465 0,
+ 1058305.238 676564.024 0, 1058013.732 676560.601 0, 1057722.226 676557.195 0, 1057430.72 676553.806 0, 1057139.213 676550.435 0, 1056847.707 676547.08 0, 1056556.2 676543.743 0, 1056264.693 676540.422 0, 1055971.784 676537.104 0, 1055908.851 682105.805 0,
+ 1055845.915 687674.805 0, 1056138.165 687678.116 0, 1056429.016 687681.429 0, 1056719.867 687684.759 0, 1057010.718 687688.106 0, 1057301.569 687691.47 0, 1057592.42 687694.851 0, 1057883.27 687698.249 0, 1058174.121 687701.665 0, 1058464.971 687705.097 0,
+ 1058755.82 687708.547 0, 1059046.67 687712.014 0, 1059337.52 687715.498 0, 1059628.369 687718.999 0, 1059919.218 687722.517 0, 1060210.067 687726.052 0, 1060500.915 687729.605 0, 1060791.763 687733.174 0, 1061082.612 687736.761 0, 1061373.46 687740.365 0,
+ 1061664.307 687743.985 0, 1061955.155 687747.623 0, 1062246.002 687751.279 0, 1062536.849 687754.951 0, 1062826.299 687758.622 0, 1063118.543 687762.347 0, 1063409.389 687766.07 0, 1063700.236 687769.811 0, 1063991.082 687773.569 0, 1064281.927 687777.344 0,
+ 1064572.773 687781.136 0, 1064863.618 687784.945 0, 1065154.463 687788.771 0, 1065445.308 687792.615 0, 1065736.153 687796.475 0, 1066026.997 687800.353 0, 1066317.842 687804.248 0, 1066608.686 687808.16 0, 1066899.529 687812.089 0, 1067190.373 687816.035 0,
+ 1067481.216 687819.998 0, 1067772.059 687823.978 0, 1068062.902 687827.976 0, 1068353.745 687831.99 0, 1068644.587 687836.022 0, 1068935.429 687840.071 0, 1069226.271 687844.137 0, 1069517.112 687848.22 0, 1069806.558 687852.301 0, 1069885.228 682283.501 0,
+ 1069963.893 676714.999 0))
+
+POLYGON ((1083766.644 688069.237 0, 1083477.209 688064.339 0, 1083186.38 688059.434 0, 1082895.551 688054.546 0, 1082604.721 688049.676 0, 1082313.891 688044.823 0, 1082023.061 688039.986 0, 1081732.231 688035.167 0, 1081441.4 688030.365 0, 1081150.569 688025.58 0,
+ 1080859.738 688020.812 0, 1080568.907 688016.062 0, 1080278.075 688011.328 0, 1079987.243 688006.612 0, 1079696.41 688001.912 0, 1079405.578 687997.23 0, 1079114.745 687992.565 0, 1078823.912 687987.917 0, 1078533.078 687983.286 0, 1078242.245 687978.672 0,
+ 1077951.411 687974.076 0, 1077660.577 687969.496 0, 1077369.742 687964.934 0, 1077078.907 687960.389 0, 1076786.677 687955.839 0, 1076497.237 687951.349 0, 1076206.401 687946.856 0, 1075915.566 687942.379 0, 1075624.729 687937.919 0, 1075333.893 687933.476 0,
+ 1075043.056 687929.051 0, 1074752.22 687924.643 0, 1074461.382 687920.251 0, 1074170.545 687915.877 0, 1073879.707 687911.52 0, 1073588.869 687907.181 0, 1073298.031 687902.858 0, 1073007.193 687898.552 0, 1072716.354 687894.264 0, 1072425.515 687889.992 0,
+ 1072134.676 687885.738 0, 1071843.837 687881.501 0, 1071552.997 687877.281 0, 1071262.157 687873.078 0, 1070971.317 687868.892 0, 1070680.477 687864.724 0, 1070389.636 687860.572 0, 1070098.795 687856.438 0, 1069806.558 687852.301 0, 1069727.884 693421.396 0,
+ 1069649.206 698990.784 0, 1069940.784 698994.912 0, 1070230.97 698999.037 0, 1070521.155 699003.179 0, 1070811.34 699007.338 0, 1071101.524 699011.515 0, 1071391.709 699015.708 0, 1071681.893 699019.918 0, 1071972.076 699024.146 0, 1072262.26 699028.391 0,
+ 1072552.443 699032.653 0, 1072842.626 699036.931 0, 1073132.809 699041.227 0, 1073422.992 699045.54 0, 1073713.174 699049.87 0, 1074003.356 699054.217 0, 1074293.538 699058.582 0, 1074583.72 699062.963 0, 1074873.901 699067.361 0, 1075164.082 699071.777 0,
+ 1075454.263 699076.209 0, 1075744.443 699080.659 0, 1076034.624 699085.126 0, 1076324.804 699089.61 0, 1076613.591 699094.089 0, 1076905.163 699098.628 0, 1077195.342 699103.163 0, 1077485.521 699107.715 0, 1077775.699 699112.285 0, 1078065.878 699116.871 0,
+ 1078356.056 699121.474 0, 1078646.234 699126.095 0, 1078936.411 699130.732 0, 1079226.589 699135.387 0, 1079516.766 699140.058 0, 1079806.942 699144.747 0, 1080097.119 699149.453 0, 1080387.295 699154.176 0, 1080677.471 699158.916 0, 1080967.647 699163.673 0,
+ 1081257.822 699168.447 0, 1081547.997 699173.238 0, 1081838.172 699178.047 0, 1082128.346 699182.872 0, 1082418.521 699187.714 0, 1082708.695 699192.574 0, 1082998.868 699197.451 0, 1083289.042 699202.344 0, 1083577.824 699207.231 0, 1083672.236 693638.088 0,
+ 1083766.644 688069.237 0))
+
+POLYGON ((1097505.775 699463.029 0, 1097217.005 699457.326 0, 1096926.847 699451.612 0, 1096636.688 699445.916 0, 1096346.529 699440.237 0, 1096056.37 699434.574 0, 1095766.21 699428.929 0, 1095476.05 699423.301 0, 1095185.89 699417.69 0, 1094895.729 699412.096 0,
+ 1094605.568 699406.52 0, 1094315.407 699400.96 0, 1094025.245 699395.417 0, 1093735.083 699389.891 0, 1093444.921 699384.383 0, 1093154.758 699378.892 0, 1092864.595 699373.417 0, 1092574.432 699367.96 0, 1092284.268 699362.52 0, 1091994.104 699357.097 0,
+ 1091703.94 699351.69 0, 1091413.775 699346.301 0, 1091123.61 699340.93 0, 1090833.445 699335.575 0, 1090541.89 699330.212 0, 1090253.114 699324.916 0, 1089962.947 699319.613 0, 1089672.781 699314.326 0, 1089382.614 699309.057 0, 1089092.447 699303.805 0,
+ 1088802.28 699298.569 0, 1088512.112 699293.351 0, 1088221.944 699288.15 0, 1087931.776 699282.966 0, 1087641.607 699277.799 0, 1087351.438 699272.649 0, 1087061.269 699267.516 0, 1086771.099 699262.401 0, 1086480.929 699257.302 0, 1086190.759 699252.22 0,
+ 1085900.589 699247.156 0, 1085610.418 699242.109 0, 1085320.247 699237.078 0, 1085030.076 699232.065 0, 1084739.904 699227.069 0, 1084449.732 699222.09 0, 1084159.56 699217.128 0, 1083869.388 699212.183 0, 1083577.824 699207.231 0, 1083483.407 704776.663 0,
+ 1083388.985 710346.381 0, 1083679.89 710351.321 0, 1083969.407 710356.255 0, 1084258.923 710361.206 0, 1084548.439 710366.173 0, 1084837.955 710371.158 0, 1085127.471 710376.16 0, 1085416.987 710381.179 0, 1085706.502 710386.215 0, 1085996.016 710391.268 0,
+ 1086285.531 710396.338 0, 1086575.045 710401.425 0, 1086864.559 710406.53 0, 1087154.073 710411.651 0, 1087443.586 710416.789 0, 1087733.099 710421.944 0, 1088022.612 710427.117 0, 1088312.124 710432.306 0, 1088601.636 710437.512 0, 1088891.148 710442.736 0,
+ 1089180.66 710447.976 0, 1089470.171 710453.234 0, 1089759.682 710458.508 0, 1090049.192 710463.8 0, 1090337.316 710469.083 0, 1090628.212 710474.434 0, 1090917.722 710479.777 0, 1091207.231 710485.137 0, 1091496.74 710490.513 0, 1091786.249 710495.907 0,
+ 1092075.757 710501.318 0, 1092365.265 710506.746 0, 1092654.773 710512.191 0, 1092944.28 710517.653 0, 1093233.787 710523.132 0, 1093523.294 710528.628 0, 1093812.801 710534.141 0, 1094102.307 710539.671 0, 1094391.812 710545.219 0, 1094681.318 710550.783 0,
+ 1094970.823 710556.364 0, 1095260.328 710561.962 0, 1095549.832 710567.578 0, 1095839.336 710573.21 0, 1096128.84 710578.86 0, 1096418.344 710584.526 0, 1096707.847 710590.21 0, 1096997.35 710595.91 0, 1097285.467 710601.6 0, 1097395.624 705032.172 0,
+ 1097505.775 699463.029 0))
+
+POLYGON ((1111181.172 710896.079 0, 1110893.07 710889.575 0, 1110603.584 710883.056 0, 1110314.098 710876.555 0, 1110024.612 710870.071 0, 1109735.125 710863.603 0, 1109445.638 710857.153 0, 1109156.151 710850.72 0, 1108866.663 710844.304 0, 1108577.175 710837.904 0,
+ 1108287.686 710831.522 0, 1107998.197 710825.157 0, 1107708.708 710818.809 0, 1107419.218 710812.478 0, 1107129.728 710806.164 0, 1106840.238 710799.867 0, 1106550.747 710793.587 0, 1106261.256 710787.325 0, 1105971.764 710781.079 0, 1105682.272 710774.85 0,
+ 1105392.78 710768.638 0, 1105103.288 710762.444 0, 1104813.795 710756.266 0, 1104524.301 710750.105 0, 1104233.423 710743.932 0, 1103945.313 710737.835 0, 1103655.819 710731.726 0, 1103366.324 710725.633 0, 1103076.829 710719.558 0, 1102787.333 710713.499 0,
+ 1102497.838 710707.458 0, 1102208.341 710701.434 0, 1101918.845 710695.427 0, 1101629.348 710689.436 0, 1101339.85 710683.463 0, 1101050.353 710677.507 0, 1100760.855 710671.568 0, 1100471.356 710665.646 0, 1100181.858 710659.741 0, 1099892.359 710653.853 0,
+ 1099602.859 710647.982 0, 1099313.36 710642.128 0, 1099023.86 710636.291 0, 1098734.359 710630.471 0, 1098444.858 710624.668 0, 1098155.357 710618.883 0, 1097865.856 710613.114 0, 1097576.354 710607.362 0, 1097285.467 710601.6 0, 1097175.304 716171.311 0,
+ 1097065.136 721741.299 0, 1097355.365 721747.048 0, 1097644.211 721752.787 0, 1097933.056 721758.542 0, 1098221.902 721764.315 0, 1098510.747 721770.105 0, 1098799.592 721775.911 0, 1099088.436 721781.735 0, 1099377.28 721787.576 0, 1099666.124 721793.433 0,
+ 1099954.967 721799.308 0, 1100243.81 721805.2 0, 1100532.653 721811.108 0, 1100821.495 721817.034 0, 1101110.337 721822.977 0, 1101399.179 721828.936 0, 1101688.02 721834.913 0, 1101976.861 721840.907 0, 1102265.702 721846.917 0, 1102554.542 721852.945 0,
+ 1102843.382 721858.99 0, 1103132.222 721865.051 0, 1103421.061 721871.13 0, 1103709.9 721877.226 0, 1103997.357 721883.309 0, 1104287.576 721889.468 0, 1104576.414 721895.615 0, 1104865.251 721901.778 0, 1105154.088 721907.959 0, 1105442.925 721914.156 0,
+ 1105731.761 721920.371 0, 1106020.597 721926.603 0, 1106309.432 721932.851 0, 1106598.268 721939.117 0, 1106887.102 721945.4 0, 1107175.937 721951.699 0, 1107464.771 721958.016 0, 1107753.605 721964.35 0, 1108042.438 721970.7 0, 1108331.271 721977.068 0,
+ 1108620.103 721983.453 0, 1108908.936 721989.854 0, 1109197.767 721996.273 0, 1109486.599 722002.709 0, 1109775.43 722009.161 0, 1110064.261 722015.631 0, 1110353.091 722022.118 0, 1110641.921 722028.621 0, 1110929.371 722035.111 0, 1111055.274 716465.456 0,
+ 1111181.172 710896.079 0))
+
+POLYGON ((1124792.72 722368.09 0, 1124505.287 722360.789 0, 1124216.477 722353.469 0, 1123927.666 722346.167 0, 1123638.855 722338.881 0, 1123350.043 722331.612 0, 1123061.231 722324.361 0, 1122772.418 722317.126 0, 1122483.605 722309.908 0, 1122194.792 722302.708 0,
+ 1121905.978 722295.524 0, 1121617.164 722288.357 0, 1121328.349 722281.208 0, 1121039.534 722274.075 0, 1120750.719 722266.959 0, 1120461.903 722259.861 0, 1120173.087 722252.779 0, 1119884.27 722245.715 0, 1119595.453 722238.667 0, 1119306.635 722231.636 0,
+ 1119017.817 722224.623 0, 1118728.999 722217.626 0, 1118440.18 722210.646 0, 1118151.361 722203.684 0, 1117861.163 722196.705 0, 1117573.721 722189.809 0, 1117284.901 722182.898 0, 1116996.08 722176.003 0, 1116707.259 722169.125 0, 1116418.437 722162.265 0,
+ 1116129.615 722155.421 0, 1115840.793 722148.594 0, 1115551.97 722141.785 0, 1115263.146 722134.992 0, 1114974.323 722128.216 0, 1114685.499 722121.458 0, 1114396.674 722114.716 0, 1114107.849 722107.991 0, 1113819.024 722101.284 0, 1113530.199 722094.593 0,
+ 1113241.373 722087.919 0, 1112952.546 722081.263 0, 1112663.719 722074.623 0, 1112374.892 722068 0, 1112086.064 722061.395 0, 1111797.237 722054.806 0, 1111508.408 722048.234 0, 1111219.579 722041.68 0, 1110929.371 722035.111 0, 1110803.46 727605.041 0,
+ 1110677.544 733175.243 0, 1110967.094 733181.796 0, 1111255.267 733188.336 0, 1111543.44 733194.893 0, 1111831.612 733201.467 0, 1112119.784 733208.057 0, 1112407.956 733214.665 0, 1112696.127 733221.29 0, 1112984.298 733227.931 0, 1113272.468 733234.59 0,
+ 1113560.638 733241.265 0, 1113848.807 733247.958 0, 1114136.977 733254.667 0, 1114425.145 733261.393 0, 1114713.314 733268.137 0, 1115001.482 733274.897 0, 1115289.649 733281.674 0, 1115577.817 733288.468 0, 1115865.983 733295.28 0, 1116154.15 733302.108 0,
+ 1116442.316 733308.953 0, 1116730.481 733315.815 0, 1117018.646 733322.694 0, 1117306.811 733329.59 0, 1117593.6 733336.47 0, 1117883.139 733343.433 0, 1118171.303 733350.379 0, 1118459.466 733357.343 0, 1118747.629 733364.324 0, 1119035.791 733371.322 0,
+ 1119323.953 733378.336 0, 1119612.115 733385.368 0, 1119900.276 733392.417 0, 1120188.436 733399.482 0, 1120476.597 733406.565 0, 1120764.756 733413.664 0, 1121052.916 733420.781 0, 1121341.075 733427.914 0, 1121629.233 733435.065 0, 1121917.391 733442.232 0,
+ 1122205.549 733449.416 0, 1122493.706 733456.617 0, 1122781.863 733463.836 0, 1123070.02 733471.071 0, 1123358.176 733478.323 0, 1123646.331 733485.592 0, 1123934.487 733492.878 0, 1124222.641 733500.181 0, 1124509.421 733507.466 0, 1124651.074 727937.643 0,
+ 1124792.72 722368.09 0))
+
+POLYGON ((1138340.305 733878.766 0, 1138053.544 733870.671 0, 1137765.411 733862.554 0, 1137477.278 733854.453 0, 1137189.144 733846.37 0, 1136901.009 733838.304 0, 1136612.875 733830.255 0, 1136324.739 733822.223 0, 1136036.603 733814.207 0, 1135748.467 733806.209 0,
+ 1135460.33 733798.227 0, 1135172.193 733790.263 0, 1134884.056 733782.316 0, 1134595.917 733774.385 0, 1134307.779 733766.471 0, 1134019.64 733758.575 0, 1133731.5 733750.695 0, 1133443.36 733742.833 0, 1133155.22 733734.987 0, 1132867.079 733727.158 0,
+ 1132578.937 733719.346 0, 1132290.796 733711.551 0, 1132002.653 733703.773 0, 1131714.51 733696.013 0, 1131424.994 733688.232 0, 1131138.224 733680.542 0, 1130850.079 733672.831 0, 1130561.935 733665.138 0, 1130273.79 733657.462 0, 1129985.644 733649.803 0,
+ 1129697.498 733642.161 0, 1129409.352 733634.536 0, 1129121.205 733626.927 0, 1128833.058 733619.336 0, 1128544.91 733611.762 0, 1128256.762 733604.204 0, 1127968.613 733596.664 0, 1127680.464 733589.14 0, 1127392.315 733581.634 0, 1127104.165 733574.144 0,
+ 1126816.014 733566.671 0, 1126527.864 733559.216 0, 1126239.712 733551.777 0, 1125951.561 733544.355 0, 1125663.408 733536.951 0, 1125375.256 733529.563 0, 1125087.103 733522.192 0, 1124798.949 733514.838 0, 1124509.421 733507.466 0, 1124367.762 739077.558 0,
+ 1124226.096 744647.914 0, 1124514.965 744655.269 0, 1124802.463 744662.606 0, 1125089.96 744669.96 0, 1125377.457 744677.331 0, 1125664.954 744684.719 0, 1125952.45 744692.124 0, 1126239.945 744699.546 0, 1126527.44 744706.984 0, 1126814.935 744714.44 0,
+ 1127102.429 744721.912 0, 1127389.923 744729.402 0, 1127677.416 744736.908 0, 1127964.909 744744.432 0, 1128252.402 744751.972 0, 1128539.894 744759.529 0, 1128827.385 744767.103 0, 1129114.877 744774.694 0, 1129402.367 744782.302 0, 1129689.857 744789.927 0,
+ 1129977.347 744797.568 0, 1130264.837 744805.227 0, 1130552.326 744812.903 0, 1130839.814 744820.595 0, 1131125.932 744828.268 0, 1131414.79 744836.031 0, 1131702.277 744843.774 0, 1131989.763 744851.534 0, 1132277.249 744859.312 0, 1132564.735 744867.106 0,
+ 1132852.22 744874.917 0, 1133139.705 744882.744 0, 1133427.19 744890.589 0, 1133714.673 744898.451 0, 1134002.157 744906.33 0, 1134289.64 744914.225 0, 1134577.122 744922.138 0, 1134864.604 744930.067 0, 1135152.086 744938.013 0, 1135439.567 744945.977 0,
+ 1135727.047 744953.957 0, 1136014.528 744961.954 0, 1136302.007 744969.968 0, 1136589.486 744977.999 0, 1136876.965 744986.047 0, 1137164.443 744994.111 0, 1137451.921 745002.193 0, 1137739.399 745010.292 0, 1138025.507 745018.369 0, 1138182.909 739448.435 0,
+ 1138340.305 733878.766 0))
+
+POLYGON ((1151823.816 745427.808 0, 1151537.729 745418.923 0, 1151250.276 745410.012 0, 1150962.822 745401.118 0, 1150675.368 745392.241 0, 1150387.913 745383.381 0, 1150100.458 745374.538 0, 1149813.002 745365.712 0, 1149525.545 745356.903 0, 1149238.089 745348.11 0,
+ 1148950.631 745339.335 0, 1148663.173 745330.576 0, 1148375.715 745321.835 0, 1148088.256 745313.11 0, 1147800.796 745304.403 0, 1147513.336 745295.712 0, 1147225.876 745287.038 0, 1146938.415 745278.381 0, 1146650.953 745269.741 0, 1146363.491 745261.118 0,
+ 1146076.029 745252.512 0, 1145788.565 745243.922 0, 1145501.102 745235.35 0, 1145213.638 745226.794 0, 1144924.806 745218.215 0, 1144638.708 745209.734 0, 1144351.243 745201.23 0, 1144063.777 745192.742 0, 1143776.31 745184.271 0, 1143488.843 745175.817 0,
+ 1143201.375 745167.38 0, 1142913.907 745158.96 0, 1142626.439 745150.557 0, 1142338.97 745142.171 0, 1142051.5 745133.801 0, 1141764.03 745125.449 0, 1141476.56 745117.113 0, 1141189.089 745108.795 0, 1140901.617 745100.493 0, 1140614.145 745092.208 0,
+ 1140326.673 745083.941 0, 1140039.2 745075.69 0, 1139751.726 745067.456 0, 1139464.252 745059.239 0, 1139176.778 745051.039 0, 1138889.303 745042.855 0, 1138601.828 745034.689 0, 1138314.352 745026.54 0, 1138025.507 745018.369 0, 1137868.096 750588.563 0,
+ 1137710.679 756159.015 0, 1137998.865 756167.167 0, 1138285.685 756175.298 0, 1138572.505 756183.446 0, 1138859.324 756191.61 0, 1139146.143 756199.792 0, 1139432.961 756207.99 0, 1139719.779 756216.205 0, 1140006.596 756224.437 0, 1140293.413 756232.686 0,
+ 1140580.229 756240.952 0, 1140867.045 756249.235 0, 1141153.86 756257.534 0, 1141440.675 756265.851 0, 1141727.489 756274.184 0, 1142014.303 756282.534 0, 1142301.117 756290.902 0, 1142587.93 756299.286 0, 1142874.742 756307.686 0, 1143161.554 756316.104 0,
+ 1143448.365 756324.539 0, 1143735.176 756332.99 0, 1144021.986 756341.459 0, 1144308.796 756349.944 0, 1144594.241 756358.406 0, 1144882.415 756366.965 0, 1145169.223 756375.501 0, 1145456.031 756384.054 0, 1145742.838 756392.624 0, 1146029.645 756401.21 0,
+ 1146316.451 756409.814 0, 1146603.257 756418.434 0, 1146890.063 756427.071 0, 1147176.867 756435.725 0, 1147463.672 756444.396 0, 1147750.476 756453.084 0, 1148037.279 756461.789 0, 1148324.082 756470.511 0, 1148610.884 756479.249 0, 1148897.686 756488.005 0,
+ 1149184.487 756496.777 0, 1149471.288 756505.566 0, 1149758.088 756514.372 0, 1150044.888 756523.195 0, 1150331.687 756532.035 0, 1150618.485 756540.891 0, 1150905.284 756549.765 0, 1151192.081 756558.655 0, 1151477.515 756567.52 0, 1151650.669 750997.535 0,
+ 1151823.816 745427.808 0))
+
+POLYGON ((1165243.142 757014.918 0, 1164957.732 757005.246 0, 1164670.961 756995.546 0, 1164384.189 756985.862 0, 1164097.416 756976.195 0, 1163810.643 756966.545 0, 1163523.87 756956.912 0, 1163237.095 756947.296 0, 1162950.321 756937.696 0, 1162663.545 756928.114 0,
+ 1162376.769 756918.548 0, 1162089.993 756908.999 0, 1161803.216 756899.468 0, 1161516.438 756889.953 0, 1161229.66 756880.455 0, 1160942.882 756870.973 0, 1160656.102 756861.509 0, 1160369.323 756852.062 0, 1160082.542 756842.631 0, 1159795.761 756833.217 0,
+ 1159508.98 756823.82 0, 1159222.198 756814.44 0, 1158935.415 756805.077 0, 1158648.632 756795.731 0, 1158360.486 756786.358 0, 1158075.064 756777.09 0, 1157788.279 756767.794 0, 1157501.494 756758.515 0, 1157214.708 756749.254 0, 1156927.922 756740.009 0,
+ 1156641.135 756730.781 0, 1156354.348 756721.569 0, 1156067.559 756712.375 0, 1155780.771 756703.198 0, 1155493.982 756694.037 0, 1155207.192 756684.894 0, 1154920.402 756675.767 0, 1154633.611 756666.657 0, 1154346.82 756657.564 0, 1154060.028 756648.488 0,
+ 1153773.236 756639.429 0, 1153486.443 756630.386 0, 1153199.65 756621.361 0, 1152912.856 756612.352 0, 1152626.061 756603.361 0, 1152339.266 756594.386 0, 1152052.471 756585.428 0, 1151765.675 756576.487 0, 1151477.515 756567.52 0, 1151304.353 762137.759 0,
+ 1151131.182 767708.248 0, 1151418.684 767717.194 0, 1151704.824 767726.115 0, 1151990.964 767735.052 0, 1152277.103 767744.006 0, 1152563.242 767752.978 0, 1152849.38 767761.966 0, 1153135.518 767770.97 0, 1153421.655 767779.992 0, 1153707.791 767789.031 0,
+ 1153993.927 767798.086 0, 1154280.063 767807.158 0, 1154566.198 767816.247 0, 1154852.332 767825.353 0, 1155138.466 767834.476 0, 1155424.6 767843.615 0, 1155710.733 767852.772 0, 1155996.865 767861.945 0, 1156282.997 767871.135 0, 1156569.128 767880.342 0,
+ 1156855.259 767889.566 0, 1157141.389 767898.806 0, 1157427.519 767908.064 0, 1157713.648 767917.338 0, 1157998.417 767926.585 0, 1158285.904 767935.937 0, 1158572.031 767945.262 0, 1158858.158 767954.604 0, 1159144.285 767963.962 0, 1159430.41 767973.338 0,
+ 1159716.536 767982.73 0, 1160002.66 767992.139 0, 1160288.784 768001.565 0, 1160574.908 768011.007 0, 1160861.031 768020.467 0, 1161147.153 768029.943 0, 1161433.275 768039.436 0, 1161719.397 768048.947 0, 1162005.517 768058.473 0, 1162291.638 768068.017 0,
+ 1162577.757 768077.578 0, 1162863.876 768087.155 0, 1163149.995 768096.749 0, 1163436.113 768106.361 0, 1163722.23 768115.988 0, 1164008.347 768125.633 0, 1164294.463 768135.295 0, 1164580.579 768144.973 0, 1164865.336 768154.623 0, 1165054.243 762584.645 0,
+ 1165243.142 757014.918 0))
+
+POLYGON ((1178598.174 768639.797 0, 1178313.443 768629.343 0, 1178027.356 768618.856 0, 1177741.268 768608.386 0, 1177455.18 768597.933 0, 1177169.091 768587.497 0, 1176883.001 768577.078 0, 1176596.911 768566.675 0, 1176310.82 768556.289 0, 1176024.728 768545.921 0,
+ 1175738.636 768535.569 0, 1175452.543 768525.233 0, 1175166.45 768514.915 0, 1174880.356 768504.613 0, 1174594.262 768494.329 0, 1174308.166 768484.061 0, 1174022.071 768473.81 0, 1173735.974 768463.576 0, 1173449.877 768453.358 0, 1173163.78 768443.158 0,
+ 1172877.682 768432.974 0, 1172591.583 768422.807 0, 1172305.484 768412.657 0, 1172019.384 768402.524 0, 1171731.926 768392.36 0, 1171447.182 768382.309 0, 1171161.08 768372.226 0, 1170874.978 768362.16 0, 1170588.875 768352.111 0, 1170302.772 768342.079 0,
+ 1170016.668 768332.064 0, 1169730.563 768322.065 0, 1169444.458 768312.084 0, 1169158.352 768302.119 0, 1168872.245 768292.171 0, 1168586.138 768282.24 0, 1168300.031 768272.326 0, 1168013.922 768262.428 0, 1167727.814 768252.548 0, 1167441.704 768242.684 0,
+ 1167155.594 768232.837 0, 1166869.484 768223.007 0, 1166583.373 768213.194 0, 1166297.261 768203.398 0, 1166011.149 768193.618 0, 1165725.036 768183.856 0, 1165438.923 768174.11 0, 1165152.809 768164.381 0, 1164865.336 768154.623 0, 1164676.421 773724.847 0,
+ 1164487.497 779295.314 0, 1164774.311 779305.05 0, 1165059.769 779314.757 0, 1165345.227 779324.48 0, 1165630.684 779334.221 0, 1165916.14 779343.978 0, 1166201.596 779353.752 0, 1166487.052 779363.542 0, 1166772.507 779373.35 0, 1167057.961 779383.174 0,
+ 1167343.414 779393.015 0, 1167628.868 779402.873 0, 1167914.32 779412.748 0, 1168199.772 779422.639 0, 1168485.223 779432.548 0, 1168770.674 779442.473 0, 1169056.124 779452.415 0, 1169341.574 779462.373 0, 1169627.023 779472.349 0, 1169912.471 779482.341 0,
+ 1170197.919 779492.35 0, 1170483.366 779502.376 0, 1170768.813 779512.419 0, 1171054.259 779522.478 0, 1171338.351 779532.507 0, 1171625.149 779542.648 0, 1171910.593 779552.758 0, 1172196.037 779562.885 0, 1172481.48 779573.028 0, 1172766.923 779583.188 0,
+ 1173052.364 779593.365 0, 1173337.806 779603.559 0, 1173623.246 779613.77 0, 1173908.686 779623.998 0, 1174194.126 779634.242 0, 1174479.565 779644.503 0, 1174765.003 779654.781 0, 1175050.441 779665.076 0, 1175335.878 779675.387 0, 1175621.314 779685.716 0,
+ 1175906.75 779696.061 0, 1176192.185 779706.423 0, 1176477.62 779716.801 0, 1176763.054 779727.197 0, 1177048.487 779737.609 0, 1177333.92 779748.038 0, 1177619.352 779758.484 0, 1177904.784 779768.947 0, 1178188.862 779779.377 0, 1178393.522 774209.465 0,
+ 1178598.174 768639.797 0))
+
+POLYGON ((1191888.805 780302.146 0, 1191604.755 780290.914 0, 1191319.354 780279.645 0, 1191033.952 780268.392 0, 1190748.55 780257.157 0, 1190463.147 780245.938 0, 1190177.744 780234.736 0, 1189892.34 780223.551 0, 1189606.935 780212.383 0, 1189321.529 780201.231 0,
+ 1189036.123 780190.097 0, 1188750.716 780178.979 0, 1188465.309 780167.878 0, 1188179.901 780156.793 0, 1187894.492 780145.726 0, 1187609.083 780134.675 0, 1187323.673 780123.641 0, 1187038.262 780112.624 0, 1186752.851 780101.624 0, 1186467.439 780090.64 0,
+ 1186182.026 780079.674 0, 1185896.613 780068.724 0, 1185611.199 780057.791 0, 1185325.784 780046.874 0, 1185039.018 780035.923 0, 1184754.953 780025.092 0, 1184469.537 780014.226 0, 1184184.12 780003.377 0, 1183898.702 779992.545 0, 1183613.284 779981.729 0,
+ 1183327.865 779970.931 0, 1183042.445 779960.149 0, 1182757.025 779949.384 0, 1182471.604 779938.635 0, 1182186.182 779927.904 0, 1181900.76 779917.189 0, 1181615.337 779906.491 0, 1181329.914 779895.81 0, 1181044.49 779885.146 0, 1180759.065 779874.498 0,
+ 1180473.64 779863.867 0, 1180188.214 779853.253 0, 1179902.787 779842.656 0, 1179617.36 779832.076 0, 1179331.932 779821.513 0, 1179046.504 779810.966 0, 1178761.075 779800.436 0, 1178475.645 779789.923 0, 1178188.862 779779.377 0, 1177984.193 785349.528 0,
+ 1177779.515 790919.915 0, 1178065.639 790930.437 0, 1178350.413 790940.926 0, 1178635.186 790951.431 0, 1178919.959 790961.954 0, 1179204.731 790972.493 0, 1179489.503 790983.049 0, 1179774.274 790993.622 0, 1180059.044 791004.211 0, 1180343.813 791014.818 0,
+ 1180628.582 791025.441 0, 1180913.351 791036.081 0, 1181198.119 791046.737 0, 1181482.886 791057.41 0, 1181767.652 791068.101 0, 1182052.418 791078.807 0, 1182337.183 791089.531 0, 1182621.948 791100.271 0, 1182906.712 791111.029 0, 1183191.475 791121.802 0,
+ 1183476.238 791132.593 0, 1183761 791143.401 0, 1184045.761 791154.225 0, 1184330.522 791165.066 0, 1184613.934 791175.872 0, 1184900.042 791186.798 0, 1185184.801 791197.689 0, 1185469.559 791208.597 0, 1185754.317 791219.522 0, 1186039.074 791230.463 0,
+ 1186323.83 791241.422 0, 1186608.586 791252.397 0, 1186893.341 791263.388 0, 1187178.095 791274.397 0, 1187462.849 791285.422 0, 1187747.602 791296.464 0, 1188032.354 791307.523 0, 1188317.106 791318.599 0, 1188601.857 791329.691 0, 1188886.608 791340.8 0,
+ 1189171.357 791351.926 0, 1189456.107 791363.069 0, 1189740.855 791374.228 0, 1190025.603 791385.404 0, 1190310.35 791396.597 0, 1190595.097 791407.807 0, 1190879.842 791419.033 0, 1191164.588 791430.277 0, 1191447.985 791441.483 0, 1191668.4 785871.697 0,
+ 1191888.805 780302.146 0))
+
+POLYGON ((1205114.927 792001.665 0, 1204831.56 791989.658 0, 1204546.848 791977.61 0, 1204262.135 791965.58 0, 1203977.421 791953.565 0, 1203692.707 791941.568 0, 1203407.992 791929.588 0, 1203123.276 791917.624 0, 1202838.559 791905.677 0, 1202553.842 791893.746 0,
+ 1202269.124 791881.833 0, 1201984.406 791869.936 0, 1201699.686 791858.056 0, 1201414.966 791846.193 0, 1201130.245 791834.346 0, 1200845.524 791822.517 0, 1200560.802 791810.704 0, 1200276.079 791798.907 0, 1199991.356 791787.128 0, 1199706.631 791775.365 0,
+ 1199421.906 791763.619 0, 1199137.181 791751.89 0, 1198852.455 791740.178 0, 1198567.728 791728.482 0, 1198281.654 791716.748 0, 1197998.272 791705.141 0, 1197713.542 791693.495 0, 1197428.813 791681.867 0, 1197144.082 791670.255 0, 1196859.351 791658.66 0,
+ 1196574.619 791647.081 0, 1196289.887 791635.52 0, 1196005.154 791623.975 0, 1195720.42 791612.447 0, 1195435.686 791600.935 0, 1195150.95 791589.441 0, 1194866.215 791577.963 0, 1194581.478 791566.502 0, 1194296.741 791555.058 0, 1194012.003 791543.63 0,
+ 1193727.265 791532.219 0, 1193442.525 791520.825 0, 1193157.785 791509.448 0, 1192873.045 791498.088 0, 1192588.304 791486.744 0, 1192303.562 791475.417 0, 1192018.819 791464.107 0, 1191734.076 791452.813 0, 1191447.985 791441.483 0, 1191227.561 797011.502 0,
+ 1191007.129 802581.75 0, 1191292.561 802593.054 0, 1191576.648 802604.321 0, 1191860.735 802615.605 0, 1192144.821 802626.906 0, 1192428.907 802638.224 0, 1192712.992 802649.558 0, 1192997.076 802660.909 0, 1193281.16 802672.277 0, 1193565.242 802683.661 0,
+ 1193849.325 802695.063 0, 1194133.406 802706.481 0, 1194417.487 802717.915 0, 1194701.567 802729.367 0, 1194985.647 802740.835 0, 1195269.725 802752.32 0, 1195553.804 802763.821 0, 1195837.881 802775.339 0, 1196121.958 802786.874 0, 1196406.034 802798.426 0,
+ 1196690.109 802809.994 0, 1196974.184 802821.58 0, 1197258.258 802833.182 0, 1197542.332 802844.8 0, 1197825.061 802856.38 0, 1198110.476 802868.087 0, 1198394.548 802879.756 0, 1198678.618 802891.442 0, 1198962.688 802903.144 0, 1199246.757 802914.863 0,
+ 1199530.826 802926.598 0, 1199814.894 802938.351 0, 1200098.961 802950.12 0, 1200383.028 802961.906 0, 1200667.093 802973.708 0, 1200951.158 802985.527 0, 1201235.223 802997.363 0, 1201519.287 803009.216 0, 1201803.35 803021.085 0, 1202087.412 803032.971 0,
+ 1202371.473 803044.874 0, 1202655.534 803056.794 0, 1202939.595 803068.73 0, 1203223.654 803080.683 0, 1203507.713 803092.653 0, 1203791.771 803104.639 0, 1204075.828 803116.642 0, 1204359.885 803128.662 0, 1204642.599 803140.642 0, 1204878.768 797571.039 0,
+ 1205114.927 792001.665 0))
+
+POLYGON ((1218276.437 803738.054 0, 1217993.755 803725.276 0, 1217709.733 803712.454 0, 1217425.711 803699.648 0, 1217141.688 803686.859 0, 1216857.664 803674.087 0, 1216573.64 803661.332 0, 1216289.614 803648.593 0, 1216005.588 803635.871 0, 1215721.561 803623.166 0,
+ 1215437.534 803610.477 0, 1215153.505 803597.805 0, 1214869.476 803585.15 0, 1214585.446 803572.512 0, 1214301.416 803559.89 0, 1214017.384 803547.285 0, 1213733.352 803534.697 0, 1213449.32 803522.125 0, 1213165.286 803509.57 0, 1212881.252 803497.032 0,
+ 1212597.217 803484.511 0, 1212313.181 803472.006 0, 1212029.145 803459.518 0, 1211745.107 803447.047 0, 1211459.729 803434.533 0, 1211177.031 803422.154 0, 1210892.991 803409.733 0, 1210608.951 803397.329 0, 1210324.91 803384.941 0, 1210040.869 803372.57 0,
+ 1209756.826 803360.216 0, 1209472.783 803347.878 0, 1209188.739 803335.558 0, 1208904.695 803323.254 0, 1208620.65 803310.966 0, 1208336.604 803298.696 0, 1208052.557 803286.442 0, 1207768.51 803274.204 0, 1207484.462 803261.984 0, 1207200.413 803249.78 0,
+ 1206916.363 803237.593 0, 1206632.313 803225.423 0, 1206348.262 803213.269 0, 1206064.21 803201.132 0, 1205780.158 803189.012 0, 1205496.105 803176.909 0, 1205212.051 803164.822 0, 1204927.996 803152.752 0, 1204642.599 803140.642 0, 1204406.421 808710.469 0,
+ 1204170.233 814280.519 0, 1204454.971 814292.601 0, 1204738.37 814304.643 0, 1205021.769 814316.702 0, 1205305.166 814328.777 0, 1205588.563 814340.87 0, 1205871.959 814352.978 0, 1206155.354 814365.104 0, 1206438.749 814377.246 0, 1206722.143 814389.405 0,
+ 1207005.536 814401.581 0, 1207288.928 814413.773 0, 1207572.32 814425.982 0, 1207855.711 814438.208 0, 1208139.101 814450.45 0, 1208422.491 814462.709 0, 1208705.88 814474.985 0, 1208989.268 814487.277 0, 1209272.655 814499.586 0, 1209556.042 814511.912 0,
+ 1209839.428 814524.254 0, 1210122.813 814536.613 0, 1210406.198 814548.989 0, 1210689.582 814561.381 0, 1210971.627 814573.732 0, 1211256.347 814586.216 0, 1211539.729 814598.659 0, 1211823.109 814611.118 0, 1212106.49 814623.594 0, 1212389.869 814636.086 0,
+ 1212673.248 814648.595 0, 1212956.626 814661.121 0, 1213240.003 814673.664 0, 1213523.379 814686.223 0, 1213806.755 814698.799 0, 1214090.13 814711.391 0, 1214373.504 814724.001 0, 1214656.877 814736.627 0, 1214940.25 814749.269 0, 1215223.622 814761.929 0,
+ 1215506.993 814774.605 0, 1215790.364 814787.297 0, 1216073.734 814800.006 0, 1216357.103 814812.732 0, 1216640.471 814825.475 0, 1216923.838 814838.235 0, 1217207.205 814851.011 0, 1217490.571 814863.803 0, 1217772.6 814876.552 0, 1218024.523 809307.193 0,
+ 1218276.437 803738.054 0))
+
+POLYGON ((1231373.229 815511.013 0, 1231091.235 815497.467 0, 1230807.906 815483.874 0, 1230524.577 815470.297 0, 1230241.246 815456.737 0, 1229957.915 815443.194 0, 1229674.583 815429.668 0, 1229391.251 815416.158 0, 1229107.917 815402.665 0, 1228824.583 815389.188 0,
+ 1228541.248 815375.728 0, 1228257.912 815362.285 0, 1227974.575 815348.859 0, 1227691.238 815335.449 0, 1227407.899 815322.056 0, 1227124.56 815308.679 0, 1226841.221 815295.319 0, 1226557.88 815281.976 0, 1226274.539 815268.65 0, 1225991.196 815255.34 0,
+ 1225707.853 815242.047 0, 1225424.51 815228.771 0, 1225141.165 815215.511 0, 1224857.82 815202.268 0, 1224573.139 815188.979 0, 1224291.127 815175.832 0, 1224007.779 815162.639 0, 1223724.431 815149.463 0, 1223441.082 815136.303 0, 1223157.732 815123.16 0,
+ 1222874.381 815110.034 0, 1222591.029 815096.924 0, 1222307.677 815083.831 0, 1222024.324 815070.755 0, 1221740.97 815057.696 0, 1221457.616 815044.653 0, 1221174.26 815031.626 0, 1220890.904 815018.617 0, 1220607.547 815005.624 0, 1220324.19 814992.648 0,
+ 1220040.831 814979.688 0, 1219757.472 814966.746 0, 1219474.112 814953.819 0, 1219190.751 814940.91 0, 1218907.39 814928.017 0, 1218624.028 814915.141 0, 1218340.665 814902.282 0, 1218057.301 814889.439 0, 1217772.6 814876.552 0, 1217520.667 820446.13 0,
+ 1217268.725 826015.921 0, 1217552.767 826028.778 0, 1217835.475 826041.591 0, 1218118.182 826054.421 0, 1218400.889 826067.267 0, 1218683.594 826080.13 0, 1218966.299 826093.009 0, 1219249.004 826105.906 0, 1219531.707 826118.819 0, 1219814.41 826131.748 0,
+ 1220097.112 826144.694 0, 1220379.813 826157.657 0, 1220662.514 826170.636 0, 1220945.214 826183.633 0, 1221227.913 826196.645 0, 1221510.611 826209.675 0, 1221793.308 826222.721 0, 1222076.005 826235.783 0, 1222358.701 826248.862 0, 1222641.396 826261.958 0,
+ 1222924.09 826275.071 0, 1223206.784 826288.2 0, 1223489.477 826301.346 0, 1223772.169 826314.508 0, 1224053.528 826327.625 0, 1224337.551 826340.883 0, 1224620.24 826354.096 0, 1224902.929 826367.325 0, 1225185.617 826380.57 0, 1225468.305 826393.833 0,
+ 1225750.991 826407.112 0, 1226033.677 826420.407 0, 1226316.362 826433.719 0, 1226599.046 826447.048 0, 1226881.73 826460.394 0, 1227164.413 826473.756 0, 1227447.094 826487.135 0, 1227729.775 826500.53 0, 1228012.456 826513.942 0, 1228295.135 826527.371 0,
+ 1228577.814 826540.816 0, 1228860.492 826554.278 0, 1229143.169 826567.757 0, 1229425.845 826581.252 0, 1229708.521 826594.764 0, 1229991.196 826608.292 0, 1230273.87 826621.837 0, 1230556.543 826635.399 0, 1230837.885 826648.914 0, 1231105.562 821079.856 0,
+ 1231373.229 815511.013 0))
+
+POLYGON ((1244405.202 827320.239 0, 1244123.898 827305.929 0, 1243841.264 827291.569 0, 1243558.629 827277.225 0, 1243275.994 827262.898 0, 1242993.358 827248.588 0, 1242710.721 827234.294 0, 1242428.083 827220.017 0, 1242145.444 827205.757 0, 1241862.804 827191.513 0,
+ 1241580.164 827177.285 0, 1241297.522 827163.075 0, 1241014.88 827148.881 0, 1240732.237 827134.703 0, 1240449.594 827120.543 0, 1240166.949 827106.399 0, 1239884.303 827092.271 0, 1239601.657 827078.16 0, 1239319.01 827064.066 0, 1239036.362 827049.989 0,
+ 1238753.713 827035.928 0, 1238471.064 827021.884 0, 1238188.413 827007.856 0, 1237905.762 826993.845 0, 1237621.78 826979.785 0, 1237340.457 826965.873 0, 1237057.803 826951.912 0, 1236775.149 826937.968 0, 1236492.493 826924.04 0, 1236209.837 826910.129 0,
+ 1235927.18 826896.234 0, 1235644.522 826882.356 0, 1235361.864 826868.495 0, 1235079.204 826854.65 0, 1234796.544 826840.822 0, 1234513.883 826827.011 0, 1234231.221 826813.216 0, 1233948.558 826799.438 0, 1233665.895 826785.677 0, 1233383.231 826771.932 0,
+ 1233100.565 826758.204 0, 1232817.899 826744.492 0, 1232535.233 826730.797 0, 1232252.565 826717.119 0, 1231969.897 826703.458 0, 1231687.228 826689.813 0, 1231404.558 826676.184 0, 1231121.887 826662.573 0, 1230837.885 826648.914 0, 1230570.197 832218.181 0,
+ 1230302.5 837787.656 0, 1230585.843 837801.283 0, 1230867.858 837814.863 0, 1231149.873 837828.46 0, 1231431.886 837842.073 0, 1231713.899 837855.703 0, 1231995.911 837869.35 0, 1232277.922 837883.013 0, 1232559.933 837896.693 0, 1232841.942 837910.389 0,
+ 1233123.951 837924.102 0, 1233405.959 837937.831 0, 1233687.966 837951.578 0, 1233969.972 837965.34 0, 1234251.978 837979.12 0, 1234533.983 837992.915 0, 1234815.986 838006.728 0, 1235097.989 838020.557 0, 1235379.992 838034.403 0, 1235661.993 838048.265 0,
+ 1235943.994 838062.144 0, 1236225.994 838076.039 0, 1236507.993 838089.952 0, 1236789.991 838103.88 0, 1237070.662 838117.76 0, 1237353.985 838131.787 0, 1237635.98 838145.766 0, 1237917.975 838159.761 0, 1238199.969 838173.773 0, 1238481.962 838187.801 0,
+ 1238763.955 838201.846 0, 1239045.946 838215.907 0, 1239327.937 838229.985 0, 1239609.927 838244.08 0, 1239891.916 838258.191 0, 1240173.904 838272.319 0, 1240455.892 838286.464 0, 1240737.878 838300.625 0, 1241019.864 838314.802 0, 1241301.849 838328.997 0,
+ 1241583.833 838343.207 0, 1241865.816 838357.435 0, 1242147.799 838371.679 0, 1242429.78 838385.94 0, 1242711.761 838400.217 0, 1242993.741 838414.511 0, 1243275.72 838428.821 0, 1243557.698 838443.148 0, 1243838.35 838457.424 0, 1244121.781 832888.728 0,
+ 1244405.202 827320.239 0))
+
+POLYGON ((1257372.255 839165.431 0, 1257091.642 839150.362 0, 1256809.705 839135.238 0, 1256527.768 839120.131 0, 1256245.83 839105.041 0, 1255963.89 839089.967 0, 1255681.95 839074.91 0, 1255400.009 839059.869 0, 1255118.067 839044.845 0, 1254836.124 839029.838 0,
+ 1254554.181 839014.847 0, 1254272.236 838999.873 0, 1253990.291 838984.915 0, 1253708.344 838969.974 0, 1253426.397 838955.049 0, 1253144.449 838940.142 0, 1252862.5 838925.25 0, 1252580.55 838910.376 0, 1252298.599 838895.517 0, 1252016.648 838880.676 0,
+ 1251734.695 838865.851 0, 1251452.742 838851.043 0, 1251170.788 838836.251 0, 1250888.833 838821.476 0, 1250605.553 838806.648 0, 1250324.92 838791.975 0, 1250042.962 838777.25 0, 1249761.004 838762.541 0, 1249479.044 838747.849 0, 1249197.084 838733.174 0,
+ 1248915.123 838718.515 0, 1248633.161 838703.872 0, 1248351.198 838689.247 0, 1248069.234 838674.638 0, 1247787.27 838660.045 0, 1247505.304 838645.469 0, 1247223.338 838630.91 0, 1246941.371 838616.367 0, 1246659.403 838601.841 0, 1246377.434 838587.331 0,
+ 1246095.464 838572.838 0, 1245813.494 838558.362 0, 1245531.522 838543.902 0, 1245249.55 838529.459 0, 1244967.577 838515.032 0, 1244685.603 838500.622 0, 1244403.628 838486.229 0, 1244121.652 838471.852 0, 1243838.35 838457.424 0, 1243554.909 844026.323 0,
+ 1243271.457 849595.421 0, 1243554.101 849609.816 0, 1243835.421 849624.159 0, 1244116.74 849638.519 0, 1244398.058 849652.895 0, 1244679.376 849667.288 0, 1244960.693 849681.698 0, 1245242.009 849696.124 0, 1245523.324 849710.567 0, 1245804.638 849725.026 0,
+ 1246085.951 849739.502 0, 1246367.264 849753.995 0, 1246648.575 849768.504 0, 1246929.886 849783.029 0, 1247211.196 849797.571 0, 1247492.505 849812.13 0, 1247773.813 849826.705 0, 1248055.121 849841.297 0, 1248336.427 849855.905 0, 1248617.733 849870.53 0,
+ 1248899.037 849885.171 0, 1249180.341 849899.829 0, 1249461.644 849914.504 0, 1249742.946 849929.195 0, 1250022.927 849943.833 0, 1250305.548 849958.627 0, 1250586.848 849973.368 0, 1250868.147 849988.125 0, 1251149.444 850002.899 0, 1251430.741 850017.689 0,
+ 1251712.037 850032.496 0, 1251993.333 850047.32 0, 1252274.627 850062.16 0, 1252555.92 850077.016 0, 1252837.213 850091.89 0, 1253118.505 850106.779 0, 1253399.796 850121.686 0, 1253681.086 850136.609 0, 1253962.375 850151.548 0, 1254243.663 850166.504 0,
+ 1254524.95 850181.477 0, 1254806.237 850196.466 0, 1255087.522 850211.471 0, 1255368.807 850226.494 0, 1255650.091 850241.532 0, 1255931.374 850256.588 0, 1256212.656 850271.66 0, 1256493.937 850286.748 0, 1256773.897 850301.782 0, 1257073.081 844733.507 0,
+ 1257372.255 839165.431 0))
+
+POLYGON ((1270274.288 851046.287 0, 1269994.369 851030.462 0, 1269713.131 851014.579 0, 1269431.893 850998.712 0, 1269150.654 850982.862 0, 1268869.413 850967.029 0, 1268588.172 850951.212 0, 1268306.93 850935.412 0, 1268025.687 850919.628 0, 1267744.443 850903.861 0,
+ 1267463.199 850888.11 0, 1267181.953 850872.376 0, 1266900.706 850856.659 0, 1266619.459 850840.958 0, 1266338.21 850825.273 0, 1266056.961 850809.606 0, 1265775.71 850793.954 0, 1265494.459 850778.319 0, 1265213.207 850762.701 0, 1264931.953 850747.1 0,
+ 1264650.699 850731.515 0, 1264369.444 850715.946 0, 1264088.189 850700.394 0, 1263806.932 850684.859 0, 1263524.355 850669.267 0, 1263244.415 850653.837 0, 1262963.156 850638.352 0, 1262681.895 850622.882 0, 1262400.634 850607.43 0, 1262119.372 850591.994 0,
+ 1261838.109 850576.574 0, 1261556.844 850561.171 0, 1261275.579 850545.785 0, 1260994.314 850530.415 0, 1260713.047 850515.061 0, 1260431.779 850499.725 0, 1260150.51 850484.404 0, 1259869.241 850469.101 0, 1259587.971 850453.814 0, 1259306.699 850438.543 0,
+ 1259025.427 850423.289 0, 1258744.154 850408.052 0, 1258462.88 850392.831 0, 1258181.605 850377.626 0, 1257900.329 850362.439 0, 1257619.053 850347.267 0, 1257337.775 850332.113 0, 1257056.496 850316.975 0, 1256773.897 850301.782 0, 1256474.703 855870.253 0,
+ 1256175.498 861438.915 0, 1256457.438 861454.073 0, 1256738.061 861469.175 0, 1257018.683 861484.295 0, 1257299.304 861499.431 0, 1257579.925 861514.583 0, 1257860.544 861529.752 0, 1258141.163 861544.937 0, 1258421.78 861560.139 0, 1258702.397 861575.358 0,
+ 1258983.013 861590.593 0, 1259263.628 861605.844 0, 1259544.242 861621.112 0, 1259824.855 861636.397 0, 1260105.467 861651.698 0, 1260386.078 861667.015 0, 1260666.689 861682.349 0, 1260947.298 861697.7 0, 1261227.907 861713.067 0, 1261508.515 861728.451 0,
+ 1261789.122 861743.851 0, 1262069.727 861759.267 0, 1262350.332 861774.701 0, 1262630.937 861790.15 0, 1262910.224 861805.544 0, 1263192.142 861821.099 0, 1263472.743 861836.598 0, 1263753.344 861852.114 0, 1264033.943 861867.646 0, 1264314.542 861883.195 0,
+ 1264595.14 861898.76 0, 1264875.736 861914.342 0, 1265156.332 861929.941 0, 1265436.927 861945.555 0, 1265717.521 861961.187 0, 1265998.114 861976.835 0, 1266278.706 861992.499 0, 1266559.298 862008.18 0, 1266839.888 862023.877 0, 1267120.477 862039.591 0,
+ 1267401.066 862055.322 0, 1267681.653 862071.069 0, 1267962.24 862086.832 0, 1268242.826 862102.612 0, 1268523.411 862118.408 0, 1268803.994 862134.221 0, 1269084.577 862150.051 0, 1269365.159 862165.897 0, 1269644.426 862181.685 0, 1269959.362 856613.89 0,
+ 1270274.288 851046.287 0))
+
+POLYGON ((1283111.202 862962.504 0, 1282831.979 862945.927 0, 1282551.443 862929.288 0, 1282270.906 862912.666 0, 1281990.368 862896.061 0, 1281709.829 862879.471 0, 1281429.289 862862.899 0, 1281148.748 862846.343 0, 1280868.206 862829.803 0, 1280587.663 862813.28 0,
+ 1280307.119 862796.773 0, 1280026.574 862780.283 0, 1279746.028 862763.81 0, 1279465.482 862747.353 0, 1279184.934 862730.912 0, 1278904.385 862714.488 0, 1278623.835 862698.081 0, 1278343.285 862681.69 0, 1278062.733 862665.315 0, 1277782.18 862648.957 0,
+ 1277501.627 862632.616 0, 1277221.072 862616.291 0, 1276940.517 862599.982 0, 1276659.96 862583.691 0, 1276378.09 862567.339 0, 1276098.845 862551.156 0, 1275818.285 862534.914 0, 1275537.725 862518.688 0, 1275257.164 862502.479 0, 1274976.602 862486.286 0,
+ 1274696.039 862470.11 0, 1274415.474 862453.95 0, 1274134.909 862437.806 0, 1273854.343 862421.68 0, 1273573.776 862405.569 0, 1273293.209 862389.476 0, 1273012.64 862373.398 0, 1272732.07 862357.338 0, 1272451.499 862341.293 0, 1272170.928 862325.266 0,
+ 1271890.355 862309.255 0, 1271609.781 862293.26 0, 1271329.207 862277.282 0, 1271048.632 862261.32 0, 1270768.055 862245.375 0, 1270487.478 862229.446 0, 1270206.9 862213.534 0, 1269926.32 862197.639 0, 1269644.426 862181.685 0, 1269329.479 867749.668 0,
+ 1269014.522 873317.835 0, 1269295.758 873333.752 0, 1269575.681 873349.61 0, 1269855.604 873365.485 0, 1270135.526 873381.376 0, 1270415.447 873397.284 0, 1270695.367 873413.209 0, 1270975.286 873429.149 0, 1271255.204 873445.107 0, 1271535.121 873461.081 0,
+ 1271815.038 873477.071 0, 1272094.953 873493.078 0, 1272374.867 873509.101 0, 1272654.781 873525.14 0, 1272934.693 873541.197 0, 1273214.605 873557.269 0, 1273494.515 873573.358 0, 1273774.425 873589.464 0, 1274054.333 873605.586 0, 1274334.241 873621.724 0,
+ 1274614.148 873637.879 0, 1274894.054 873654.051 0, 1275173.959 873670.239 0, 1275453.863 873686.443 0, 1275732.455 873702.588 0, 1276013.668 873718.902 0, 1276293.569 873735.155 0, 1276573.469 873751.426 0, 1276853.368 873767.713 0, 1277133.266 873784.016 0,
+ 1277413.163 873800.336 0, 1277693.059 873816.672 0, 1277972.955 873833.025 0, 1278252.849 873849.394 0, 1278532.742 873865.779 0, 1278812.635 873882.182 0, 1279092.526 873898.6 0, 1279372.417 873915.035 0, 1279652.306 873931.487 0, 1279932.195 873947.955 0,
+ 1280212.082 873964.439 0, 1280491.969 873980.94 0, 1280771.854 873997.458 0, 1281051.739 874013.992 0, 1281331.623 874030.542 0, 1281611.505 874047.109 0, 1281891.387 874063.692 0, 1282171.268 874080.292 0, 1282449.839 874096.83 0, 1282780.526 868529.575 0,
+ 1283111.202 862962.504 0))
+
+POLYGON ((1295882.901 874913.779 0, 1295604.376 874896.454 0, 1295324.543 874879.063 0, 1295044.71 874861.689 0, 1294764.875 874844.332 0, 1294485.039 874826.991 0, 1294205.202 874809.666 0, 1293925.365 874792.358 0, 1293645.526 874775.067 0, 1293365.686 874757.791 0,
+ 1293085.845 874740.533 0, 1292806.003 874723.291 0, 1292526.16 874706.065 0, 1292246.316 874688.856 0, 1291966.471 874671.663 0, 1291686.625 874654.486 0, 1291406.778 874637.327 0, 1291126.93 874620.183 0, 1290847.081 874603.056 0, 1290567.231 874585.946 0,
+ 1290287.38 874568.852 0, 1290007.528 874551.774 0, 1289727.675 874534.713 0, 1289447.821 874517.669 0, 1289166.658 874500.561 0, 1288888.11 874483.629 0, 1288608.253 874466.634 0, 1288328.395 874449.655 0, 1288048.536 874432.693 0, 1287768.676 874415.747 0,
+ 1287488.815 874398.818 0, 1287208.953 874381.905 0, 1286929.09 874365.009 0, 1286649.226 874348.129 0, 1286369.361 874331.266 0, 1286089.495 874314.419 0, 1285809.628 874297.588 0, 1285529.76 874280.774 0, 1285249.891 874263.977 0, 1284970.021 874247.196 0,
+ 1284690.151 874230.431 0, 1284410.279 874213.683 0, 1284130.406 874196.952 0, 1283850.532 874180.237 0, 1283570.657 874163.538 0, 1283290.781 874146.856 0, 1283010.904 874130.19 0, 1282731.027 874113.541 0, 1282449.839 874096.83 0, 1282119.141 879664.266 0,
+ 1281788.432 885231.878 0, 1282068.962 885248.55 0, 1282348.184 885265.16 0, 1282627.406 885281.787 0, 1282906.626 885298.43 0, 1283185.846 885315.089 0, 1283465.064 885331.765 0, 1283744.282 885348.458 0, 1284023.498 885365.166 0, 1284302.714 885381.892 0,
+ 1284581.928 885398.633 0, 1284861.142 885415.392 0, 1285140.355 885432.166 0, 1285419.566 885448.957 0, 1285698.777 885465.765 0, 1285977.986 885482.588 0, 1286257.195 885499.429 0, 1286536.403 885516.286 0, 1286815.609 885533.159 0, 1287094.815 885550.048 0,
+ 1287374.02 885566.954 0, 1287653.223 885583.877 0, 1287932.426 885600.816 0, 1288211.628 885617.771 0, 1288489.524 885634.664 0, 1288770.028 885651.731 0, 1289049.227 885668.736 0, 1289328.424 885685.757 0, 1289607.621 885702.794 0, 1289886.817 885719.848 0,
+ 1290166.012 885736.919 0, 1290445.205 885754.005 0, 1290724.398 885771.109 0, 1291003.589 885788.228 0, 1291282.78 885805.365 0, 1291561.97 885822.517 0, 1291841.158 885839.686 0, 1292120.346 885856.871 0, 1292399.533 885874.073 0, 1292678.718 885891.292 0,
+ 1292957.903 885908.526 0, 1293237.086 885925.777 0, 1293516.269 885943.045 0, 1293795.45 885960.329 0, 1294074.631 885977.629 0, 1294353.81 885994.946 0, 1294632.989 886012.28 0, 1294912.166 886029.629 0, 1295190.039 886046.914 0, 1295536.476 880480.259 0,
+ 1295882.901 874913.779 0))
+
+POLYGON ((1308589.29 886899.809 0, 1308311.465 886881.739 0, 1308032.337 886863.601 0, 1307753.209 886845.479 0, 1307474.08 886827.373 0, 1307194.949 886809.284 0, 1306915.817 886791.211 0, 1306636.685 886773.155 0, 1306357.551 886755.115 0, 1306078.416 886737.092 0,
+ 1305799.281 886719.085 0, 1305520.144 886701.094 0, 1305241.006 886683.12 0, 1304961.867 886665.163 0, 1304682.727 886647.221 0, 1304403.585 886629.297 0, 1304124.443 886611.388 0, 1303845.3 886593.496 0, 1303566.156 886575.621 0, 1303287.01 886557.762 0,
+ 1303007.864 886539.919 0, 1302728.717 886522.093 0, 1302449.568 886504.283 0, 1302170.419 886486.49 0, 1301889.966 886468.63 0, 1301612.116 886450.952 0, 1301332.964 886433.208 0, 1301053.81 886415.48 0, 1300774.655 886397.769 0, 1300495.5 886380.074 0,
+ 1300216.343 886362.396 0, 1299937.185 886344.734 0, 1299658.026 886327.089 0, 1299378.866 886309.46 0, 1299099.705 886291.847 0, 1298820.543 886274.251 0, 1298541.38 886256.671 0, 1298262.216 886239.108 0, 1297983.051 886221.561 0, 1297703.885 886204.03 0,
+ 1297424.717 886186.516 0, 1297145.549 886169.019 0, 1296866.38 886151.537 0, 1296587.21 886134.073 0, 1296308.038 886116.624 0, 1296028.866 886099.193 0, 1295749.693 886081.777 0, 1295470.518 886064.378 0, 1295190.039 886046.914 0, 1294843.592 891613.743 0,
+ 1294497.134 897180.74 0, 1294776.955 897198.163 0, 1295055.474 897215.521 0, 1295333.992 897232.896 0, 1295612.509 897250.287 0, 1295891.025 897267.694 0, 1296169.54 897285.118 0, 1296448.054 897302.558 0, 1296726.567 897320.015 0, 1297005.079 897337.488 0,
+ 1297283.589 897354.977 0, 1297562.099 897372.483 0, 1297840.608 897390.005 0, 1298119.116 897407.543 0, 1298397.623 897425.098 0, 1298676.128 897442.669 0, 1298954.633 897460.257 0, 1299233.137 897477.861 0, 1299511.639 897495.482 0, 1299790.141 897513.119 0,
+ 1300068.641 897530.772 0, 1300347.141 897548.441 0, 1300625.639 897566.127 0, 1300904.137 897583.83 0, 1301181.334 897601.466 0, 1301461.128 897619.284 0, 1301739.623 897637.035 0, 1302018.116 897654.803 0, 1302296.608 897672.588 0, 1302575.099 897690.389 0,
+ 1302853.589 897708.206 0, 1303132.078 897726.039 0, 1303410.566 897743.889 0, 1303689.053 897761.756 0, 1303967.539 897779.638 0, 1304246.024 897797.537 0, 1304524.508 897815.453 0, 1304802.99 897833.385 0, 1305081.472 897851.333 0, 1305359.953 897869.298 0,
+ 1305638.432 897887.279 0, 1305916.911 897905.276 0, 1306195.388 897923.29 0, 1306473.865 897941.321 0, 1306752.34 897959.367 0, 1307030.814 897977.43 0, 1307309.287 897995.51 0, 1307587.759 898013.605 0, 1307864.932 898031.633 0, 1308227.117 892465.637 0,
+ 1308589.29 886899.809 0))
+
+POLYGON ((1321230.273 898920.289 0, 1320953.15 898901.478 0, 1320674.73 898882.596 0, 1320396.309 898863.73 0, 1320117.887 898844.88 0, 1319839.464 898826.047 0, 1319561.04 898807.23 0, 1319282.614 898788.429 0, 1319004.188 898769.645 0, 1318725.76 898750.877 0,
+ 1318447.331 898732.126 0, 1318168.902 898713.391 0, 1317890.471 898694.672 0, 1317612.039 898675.97 0, 1317333.605 898657.284 0, 1317055.171 898638.615 0, 1316776.736 898619.962 0, 1316498.299 898601.325 0, 1316219.862 898582.705 0, 1315941.423 898564.101 0,
+ 1315662.983 898545.513 0, 1315384.543 898526.942 0, 1315106.101 898508.388 0, 1314827.658 898489.849 0, 1314547.917 898471.241 0, 1314270.768 898452.822 0, 1313992.322 898434.333 0, 1313713.875 898415.86 0, 1313435.426 898397.403 0, 1313156.977 898378.963 0,
+ 1312878.526 898360.54 0, 1312600.074 898342.133 0, 1312321.622 898323.742 0, 1312043.168 898305.367 0, 1311764.713 898287.009 0, 1311486.257 898268.668 0, 1311207.8 898250.342 0, 1310929.341 898232.034 0, 1310650.882 898213.741 0, 1310372.422 898195.465 0,
+ 1310093.96 898177.205 0, 1309815.498 898158.962 0, 1309537.034 898140.735 0, 1309258.57 898122.524 0, 1308980.104 898104.33 0, 1308701.637 898086.153 0, 1308423.169 898067.991 0, 1308144.7 898049.846 0, 1307864.932 898031.633 0, 1307502.737 903597.795 0,
+ 1307140.532 909164.118 0, 1307419.642 909182.288 0, 1307697.455 909200.39 0, 1307975.268 909218.509 0, 1308253.08 909236.644 0, 1308530.89 909254.795 0, 1308808.7 909272.963 0, 1309086.508 909291.147 0, 1309364.315 909309.347 0, 1309642.121 909327.564 0,
+ 1309919.927 909345.797 0, 1310197.731 909364.047 0, 1310475.534 909382.312 0, 1310753.335 909400.595 0, 1311031.136 909418.893 0, 1311308.936 909437.208 0, 1311586.735 909455.539 0, 1311864.532 909473.887 0, 1312142.329 909492.251 0, 1312420.124 909510.631 0,
+ 1312697.919 909529.027 0, 1312975.712 909547.44 0, 1313253.504 909565.87 0, 1313531.295 909584.315 0, 1313807.791 909602.691 0, 1314086.874 909621.256 0, 1314364.662 909639.75 0, 1314642.449 909658.261 0, 1314920.234 909676.789 0, 1315198.019 909695.333 0,
+ 1315475.802 909713.893 0, 1315753.585 909732.469 0, 1316031.366 909751.062 0, 1316309.146 909769.671 0, 1316586.925 909788.297 0, 1316864.703 909806.939 0, 1317142.48 909825.597 0, 1317420.256 909844.271 0, 1317698.031 909862.962 0, 1317975.804 909881.669 0,
+ 1318253.577 909900.393 0, 1318531.348 909919.133 0, 1318809.119 909937.889 0, 1319086.888 909956.662 0, 1319364.656 909975.451 0, 1319642.423 909994.256 0, 1319920.189 910013.078 0, 1320197.954 910031.916 0, 1320474.425 910050.683 0, 1320852.354 904485.405 0,
+ 1321230.273 898920.289 0))
+
+POLYGON ((1333805.759 910974.915 0, 1333529.34 910955.367 0, 1333251.63 910935.744 0, 1332973.918 910916.138 0, 1332696.205 910896.548 0, 1332418.492 910876.974 0, 1332140.777 910857.417 0, 1331863.06 910837.876 0, 1331585.343 910818.351 0, 1331307.624 910798.843 0,
+ 1331029.905 910779.351 0, 1330752.184 910759.875 0, 1330474.462 910740.416 0, 1330196.739 910720.973 0, 1329919.015 910701.547 0, 1329641.289 910682.136 0, 1329363.563 910662.743 0, 1329085.835 910643.365 0, 1328808.106 910624.004 0, 1328530.377 910604.659 0,
+ 1328252.645 910585.331 0, 1327974.913 910566.018 0, 1327697.18 910546.723 0, 1327419.445 910527.443 0, 1327140.418 910508.091 0, 1326863.973 910488.933 0, 1326586.235 910469.703 0, 1326308.496 910450.489 0, 1326030.756 910431.291 0, 1325753.015 910412.11 0,
+ 1325475.272 910392.945 0, 1325197.529 910373.796 0, 1324919.784 910354.664 0, 1324642.038 910335.548 0, 1324364.291 910316.448 0, 1324086.543 910297.365 0, 1323808.794 910278.298 0, 1323531.044 910259.248 0, 1323253.293 910240.213 0, 1322975.54 910221.196 0,
+ 1322697.786 910202.194 0, 1322420.032 910183.209 0, 1322142.276 910164.24 0, 1321864.519 910145.288 0, 1321586.761 910126.351 0, 1321309.002 910107.432 0, 1321031.241 910088.528 0, 1320753.48 910069.641 0, 1320474.425 910050.683 0, 1320096.484 915616.117 0,
+ 1319718.533 921181.706 0, 1319996.93 921200.62 0, 1320274.036 921219.462 0, 1320551.142 921238.321 0, 1320828.246 921257.196 0, 1321105.349 921276.088 0, 1321382.45 921294.996 0, 1321659.551 921313.92 0, 1321936.651 921332.86 0, 1322213.749 921351.817 0,
+ 1322490.847 921370.79 0, 1322767.943 921389.779 0, 1323045.038 921408.785 0, 1323322.132 921427.807 0, 1323599.225 921446.845 0, 1323876.317 921465.899 0, 1324153.407 921484.97 0, 1324430.497 921504.058 0, 1324707.585 921523.161 0, 1324984.673 921542.281 0,
+ 1325261.759 921561.417 0, 1325538.844 921580.569 0, 1325815.928 921599.738 0, 1326093.011 921618.923 0, 1326368.804 921638.035 0, 1326647.173 921657.342 0, 1326924.252 921676.576 0, 1327201.331 921695.826 0, 1327478.408 921715.093 0, 1327755.484 921734.376 0,
+ 1328032.559 921753.675 0, 1328309.632 921772.99 0, 1328586.705 921792.322 0, 1328863.776 921811.67 0, 1329140.847 921831.035 0, 1329417.916 921850.416 0, 1329694.984 921869.813 0, 1329972.051 921889.226 0, 1330249.116 921908.656 0, 1330526.181 921928.102 0,
+ 1330803.244 921947.564 0, 1331080.307 921967.042 0, 1331357.368 921986.537 0, 1331634.428 922006.048 0, 1331911.487 922025.576 0, 1332188.545 922045.12 0, 1332465.601 922064.68 0, 1332742.657 922084.256 0, 1333018.423 922103.758 0, 1333412.097 916539.259 0,
+ 1333805.759 910974.915 0))
+
+POLYGON ((1346315.656 923063.381 0, 1346039.943 923043.1 0, 1345762.944 923022.741 0, 1345485.944 923002.398 0, 1345208.943 922982.072 0, 1344931.94 922961.762 0, 1344654.936 922941.468 0, 1344377.931 922921.19 0, 1344100.925 922900.929 0, 1343823.918 922880.684 0,
+ 1343546.909 922860.455 0, 1343269.899 922840.243 0, 1342992.888 922820.047 0, 1342715.876 922799.867 0, 1342438.863 922779.704 0, 1342161.848 922759.557 0, 1341884.833 922739.426 0, 1341607.816 922719.311 0, 1341330.798 922699.213 0, 1341053.779 922679.131 0,
+ 1340776.758 922659.066 0, 1340499.737 922639.016 0, 1340222.714 922618.983 0, 1339945.69 922598.967 0, 1339667.379 922578.873 0, 1339391.638 922558.982 0, 1339114.611 922539.014 0, 1338837.582 922519.063 0, 1338560.552 922499.128 0, 1338283.521 922479.209 0,
+ 1338006.489 922459.306 0, 1337729.456 922439.42 0, 1337452.421 922419.55 0, 1337175.386 922399.697 0, 1336898.349 922379.859 0, 1336621.311 922360.038 0, 1336344.272 922340.234 0, 1336067.231 922320.445 0, 1335790.19 922300.673 0, 1335513.147 922280.917 0,
+ 1335236.103 922261.178 0, 1334959.058 922241.455 0, 1334682.012 922221.748 0, 1334404.965 922202.057 0, 1334127.916 922182.383 0, 1333850.867 922162.725 0, 1333573.816 922143.083 0, 1333296.764 922123.458 0, 1333018.423 922103.758 0, 1332624.74 927668.406 0,
+ 1332231.045 933233.2 0, 1332508.728 933252.853 0, 1332785.125 933272.432 0, 1333061.52 933292.028 0, 1333337.915 933311.639 0, 1333614.308 933331.267 0, 1333890.701 933350.911 0, 1334167.092 933370.571 0, 1334443.482 933390.248 0, 1334719.871 933409.94 0,
+ 1334996.258 933429.65 0, 1335272.645 933449.375 0, 1335549.03 933469.117 0, 1335825.414 933488.874 0, 1336101.797 933508.649 0, 1336378.179 933528.439 0, 1336654.56 933548.246 0, 1336930.939 933568.069 0, 1337207.318 933587.908 0, 1337483.695 933607.763 0,
+ 1337760.071 933627.635 0, 1338036.446 933647.523 0, 1338312.819 933667.427 0, 1338589.192 933687.348 0, 1338864.28 933707.192 0, 1339141.933 933727.238 0, 1339418.302 933747.207 0, 1339694.67 933767.193 0, 1339971.037 933787.195 0, 1340247.402 933807.213 0,
+ 1340523.766 933827.247 0, 1340800.129 933847.298 0, 1341076.491 933867.365 0, 1341352.852 933887.448 0, 1341629.211 933907.548 0, 1341905.57 933927.663 0, 1342181.927 933947.795 0, 1342458.283 933967.944 0, 1342734.638 933988.108 0, 1343010.991 934008.289 0,
+ 1343287.344 934028.486 0, 1343563.695 934048.699 0, 1343840.045 934068.929 0, 1344116.394 934089.175 0, 1344392.742 934109.437 0, 1344669.088 934129.715 0, 1344945.433 934150.01 0, 1345221.777 934170.321 0, 1345496.838 934190.554 0, 1345906.253 928626.895 0,
+ 1346315.656 923063.381 0))
+
+POLYGON ((1358759.874 935185.382 0, 1358484.869 935164.372 0, 1358208.583 935143.281 0, 1357932.296 935122.205 0, 1357656.008 935101.146 0, 1357379.719 935080.104 0, 1357103.428 935059.077 0, 1356827.137 935038.067 0, 1356550.844 935017.073 0, 1356274.549 934996.095 0,
+ 1355998.254 934975.134 0, 1355721.957 934954.188 0, 1355445.659 934933.259 0, 1355169.36 934912.347 0, 1354893.06 934891.45 0, 1354616.758 934870.57 0, 1354340.455 934849.706 0, 1354064.151 934828.859 0, 1353787.846 934808.027 0, 1353511.539 934787.212 0,
+ 1353235.231 934766.413 0, 1352958.922 934745.631 0, 1352682.612 934724.864 0, 1352406.301 934704.114 0, 1352128.707 934683.284 0, 1351853.674 934662.663 0, 1351577.359 934641.962 0, 1351301.043 934621.277 0, 1351024.725 934600.608 0, 1350748.406 934579.955 0,
+ 1350472.086 934559.319 0, 1350195.765 934538.699 0, 1349919.443 934518.095 0, 1349643.119 934497.508 0, 1349366.794 934476.937 0, 1349090.468 934456.382 0, 1348814.141 934435.843 0, 1348537.813 934415.321 0, 1348261.483 934394.815 0, 1347985.152 934374.325 0,
+ 1347708.82 934353.851 0, 1347432.487 934333.394 0, 1347156.152 934312.953 0, 1346879.817 934292.528 0, 1346603.48 934272.12 0, 1346327.142 934251.727 0, 1346050.802 934231.351 0, 1345774.462 934210.992 0, 1345496.838 934190.554 0, 1345087.414 939754.355 0,
+ 1344677.979 945318.294 0, 1344954.945 945338.684 0, 1345230.63 945358.995 0, 1345506.314 945379.323 0, 1345781.998 945399.667 0, 1346057.68 945420.027 0, 1346333.36 945440.403 0, 1346609.04 945460.796 0, 1346884.718 945481.205 0, 1347160.395 945501.63 0,
+ 1347436.071 945522.071 0, 1347711.746 945542.529 0, 1347987.419 945563.002 0, 1348263.092 945583.492 0, 1348538.763 945603.999 0, 1348814.433 945624.521 0, 1349090.102 945645.06 0, 1349365.769 945665.614 0, 1349641.435 945686.186 0, 1349917.1 945706.773 0,
+ 1350192.764 945727.376 0, 1350468.427 945747.996 0, 1350744.088 945768.632 0, 1351019.748 945789.284 0, 1351294.13 945809.857 0, 1351571.065 945830.637 0, 1351846.722 945851.338 0, 1352122.377 945872.055 0, 1352398.031 945892.789 0, 1352673.684 945913.538 0,
+ 1352949.336 945934.304 0, 1353224.986 945955.086 0, 1353500.636 945975.884 0, 1353776.284 945996.699 0, 1354051.93 946017.53 0, 1354327.576 946038.376 0, 1354603.22 946059.24 0, 1354878.863 946080.119 0, 1355154.505 946101.014 0, 1355430.146 946121.926 0,
+ 1355705.785 946142.854 0, 1355981.423 946163.799 0, 1356257.06 946184.759 0, 1356532.696 946205.736 0, 1356808.331 946226.729 0, 1357083.964 946247.738 0, 1357359.596 946268.763 0, 1357635.227 946289.805 0, 1357909.58 946310.765 0, 1358334.732 940748.005 0,
+ 1358759.874 935185.382 0))
+
+POLYGON ((1371138.324 947340.613 0, 1370864.029 947318.878 0, 1370588.459 947297.058 0, 1370312.887 947275.254 0, 1370037.314 947253.466 0, 1369761.74 947231.694 0, 1369486.165 947209.939 0, 1369210.588 947188.2 0, 1368935.01 947166.477 0, 1368659.431 947144.77 0,
+ 1368383.851 947123.08 0, 1368108.269 947101.406 0, 1367832.686 947079.748 0, 1367557.102 947058.106 0, 1367281.516 947036.48 0, 1367005.929 947014.871 0, 1366730.341 946993.278 0, 1366454.752 946971.701 0, 1366179.161 946950.14 0, 1365903.569 946928.596 0,
+ 1365627.976 946907.067 0, 1365352.382 946885.555 0, 1365076.786 946864.06 0, 1364801.189 946842.58 0, 1364524.315 946821.017 0, 1364249.991 946799.67 0, 1363974.39 946778.239 0, 1363698.788 946756.824 0, 1363423.185 946735.425 0, 1363147.58 946714.043 0,
+ 1362871.975 946692.677 0, 1362596.368 946671.327 0, 1362320.759 946649.994 0, 1362045.15 946628.676 0, 1361769.539 946607.375 0, 1361493.927 946586.09 0, 1361218.313 946564.822 0, 1360942.699 946543.569 0, 1360667.083 946522.333 0, 1360391.466 946501.113 0,
+ 1360115.848 946479.909 0, 1359840.228 946458.721 0, 1359564.607 946437.55 0, 1359288.985 946416.395 0, 1359013.362 946395.256 0, 1358737.737 946374.133 0, 1358462.111 946353.027 0, 1358186.484 946331.937 0, 1357909.58 946310.765 0, 1357484.417 951873.659 0,
+ 1357059.245 957436.683 0, 1357335.492 957457.805 0, 1357610.464 957478.845 0, 1357885.435 957499.901 0, 1358160.405 957520.974 0, 1358435.373 957542.062 0, 1358710.34 957563.167 0, 1358985.306 957584.288 0, 1359260.271 957605.426 0, 1359535.234 957626.579 0,
+ 1359810.197 957647.749 0, 1360085.158 957668.934 0, 1360360.118 957690.136 0, 1360635.076 957711.355 0, 1360910.033 957732.589 0, 1361184.989 957753.839 0, 1361459.944 957775.106 0, 1361734.898 957796.389 0, 1362009.85 957817.688 0, 1362284.801 957839.003 0,
+ 1362559.751 957860.335 0, 1362834.699 957881.683 0, 1363109.646 957903.046 0, 1363384.592 957924.426 0, 1363658.265 957945.724 0, 1363934.481 957967.235 0, 1364209.423 957988.664 0, 1364484.364 958010.108 0, 1364759.303 958031.569 0, 1365034.242 958053.046 0,
+ 1365309.179 958074.54 0, 1365584.115 958096.049 0, 1365859.05 958117.575 0, 1366133.983 958139.116 0, 1366408.915 958160.674 0, 1366683.846 958182.249 0, 1366958.775 958203.839 0, 1367233.704 958225.446 0, 1367508.631 958247.068 0, 1367783.556 958268.707 0,
+ 1368058.481 958290.362 0, 1368333.404 958312.034 0, 1368608.326 958333.721 0, 1368883.246 958355.425 0, 1369158.166 958377.145 0, 1369433.084 958398.881 0, 1369708.001 958420.633 0, 1369982.916 958442.401 0, 1370256.559 958464.085 0, 1370697.447 952902.284 0,
+ 1371138.324 947340.613 0))
+
+POLYGON ((1383450.919 959528.767 0, 1383177.336 959506.31 0, 1382902.483 959483.765 0, 1382627.629 959461.236 0, 1382352.773 959438.724 0, 1382077.916 959416.227 0, 1381803.058 959393.747 0, 1381528.198 959371.283 0, 1381253.338 959348.835 0, 1380978.475 959326.403 0,
+ 1380703.612 959303.988 0, 1380428.747 959281.589 0, 1380153.881 959259.205 0, 1379879.014 959236.838 0, 1379604.145 959214.488 0, 1379329.275 959192.153 0, 1379054.403 959169.834 0, 1378779.531 959147.532 0, 1378504.657 959125.246 0, 1378229.781 959102.976 0,
+ 1377954.905 959080.722 0, 1377680.027 959058.485 0, 1377405.147 959036.263 0, 1377130.267 959014.058 0, 1376854.115 958991.767 0, 1376580.502 958969.696 0, 1376305.617 958947.539 0, 1376030.731 958925.399 0, 1375755.844 958903.275 0, 1375480.956 958881.166 0,
+ 1375206.066 958859.074 0, 1374931.175 958836.999 0, 1374656.283 958814.939 0, 1374381.389 958792.896 0, 1374106.495 958770.868 0, 1373831.598 958748.857 0, 1373556.701 958726.862 0, 1373281.802 958704.884 0, 1373006.902 958682.921 0, 1372732.001 958660.975 0,
+ 1372457.098 958639.045 0, 1372182.194 958617.131 0, 1371907.289 958595.233 0, 1371632.382 958573.351 0, 1371357.475 958551.486 0, 1371082.565 958529.636 0, 1370807.655 958507.803 0, 1370532.743 958485.986 0, 1370256.559 958464.085 0, 1369815.662 964026.012 0,
+ 1369374.755 969588.061 0, 1369650.281 969609.91 0, 1369924.538 969631.675 0, 1370198.794 969653.456 0, 1370473.048 969675.253 0, 1370747.301 969697.067 0, 1371021.553 969718.896 0, 1371295.804 969740.742 0, 1371570.053 969762.604 0, 1371844.301 969784.482 0,
+ 1372118.548 969806.376 0, 1372392.793 969828.286 0, 1372667.037 969850.212 0, 1372941.28 969872.155 0, 1373215.521 969894.113 0, 1373489.761 969916.088 0, 1373764 969938.079 0, 1374038.238 969960.086 0, 1374312.474 969982.109 0, 1374586.709 970004.149 0,
+ 1374860.943 970026.204 0, 1375135.175 970048.276 0, 1375409.407 970070.364 0, 1375683.636 970092.468 0, 1375956.598 970114.486 0, 1376232.092 970136.724 0, 1376506.318 970158.876 0, 1376780.543 970181.045 0, 1377054.766 970203.229 0, 1377328.988 970225.43 0,
+ 1377603.209 970247.647 0, 1377877.428 970269.88 0, 1378151.646 970292.129 0, 1378425.863 970314.395 0, 1378700.078 970336.676 0, 1378974.292 970358.974 0, 1379248.505 970381.287 0, 1379522.717 970403.617 0, 1379796.927 970425.963 0, 1380071.136 970448.325 0,
+ 1380345.343 970470.704 0, 1380619.55 970493.098 0, 1380893.755 970515.509 0, 1381167.958 970537.936 0, 1381442.16 970560.378 0, 1381716.361 970582.837 0, 1381990.561 970605.313 0, 1382264.759 970627.804 0, 1382537.691 970650.207 0, 1382994.31 965089.426 0,
+ 1383450.919 959528.767 0))
+
+POLYGON ((1395697.573 971749.537 0, 1395424.704 971726.363 0, 1395150.57 971703.097 0, 1394876.435 971679.847 0, 1394602.299 971656.614 0, 1394328.161 971633.396 0, 1394054.022 971610.195 0, 1393779.881 971587.01 0, 1393505.74 971563.841 0, 1393231.596 971540.688 0,
+ 1392957.452 971517.551 0, 1392683.306 971494.43 0, 1392409.158 971471.326 0, 1392135.01 971448.237 0, 1391860.86 971425.165 0, 1391586.708 971402.109 0, 1391312.555 971379.069 0, 1391038.401 971356.045 0, 1390764.246 971333.038 0, 1390490.089 971310.046 0,
+ 1390215.931 971287.071 0, 1389941.771 971264.112 0, 1389667.61 971241.168 0, 1389393.448 971218.241 0, 1389118.02 971195.225 0, 1388845.12 971172.436 0, 1388570.953 971149.557 0, 1388296.786 971126.695 0, 1388022.617 971103.848 0, 1387748.447 971081.018 0,
+ 1387474.275 971058.204 0, 1387200.102 971035.406 0, 1386925.928 971012.625 0, 1386651.752 970989.859 0, 1386377.575 970967.11 0, 1386103.396 970944.376 0, 1385829.217 970921.659 0, 1385555.036 970898.958 0, 1385280.853 970876.273 0, 1385006.67 970853.604 0,
+ 1384732.485 970830.951 0, 1384458.298 970808.315 0, 1384184.111 970785.695 0, 1383909.922 970763.09 0, 1383635.731 970740.502 0, 1383361.539 970717.93 0, 1383087.346 970695.374 0, 1382813.152 970672.835 0, 1382537.691 970650.207 0, 1382081.062 976211.106 0,
+ 1381624.424 981772.119 0, 1381899.228 981794.693 0, 1382172.767 981817.179 0, 1382446.306 981839.681 0, 1382719.843 981862.199 0, 1382993.379 981884.733 0, 1383266.913 981907.283 0, 1383540.446 981929.85 0, 1383813.978 981952.432 0, 1384087.509 981975.031 0,
+ 1384361.038 981997.645 0, 1384634.565 982020.276 0, 1384908.092 982042.923 0, 1385181.617 982065.586 0, 1385455.141 982088.265 0, 1385728.663 982110.96 0, 1386002.184 982133.672 0, 1386275.704 982156.399 0, 1386549.223 982179.142 0, 1386822.74 982201.902 0,
+ 1387096.255 982224.678 0, 1387369.77 982247.469 0, 1387643.283 982270.277 0, 1387916.795 982293.101 0, 1388189.044 982315.836 0, 1388463.814 982338.797 0, 1388737.322 982361.67 0, 1389010.828 982384.558 0, 1389284.333 982407.463 0, 1389557.837 982430.383 0,
+ 1389831.339 982453.32 0, 1390104.84 982476.273 0, 1390378.34 982499.241 0, 1390651.838 982522.226 0, 1390925.335 982545.227 0, 1391198.83 982568.244 0, 1391472.325 982591.278 0, 1391745.817 982614.327 0, 1392019.309 982637.392 0, 1392292.799 982660.474 0,
+ 1392566.288 982683.572 0, 1392839.775 982706.685 0, 1393113.261 982729.815 0, 1393386.746 982752.961 0, 1393660.229 982776.123 0, 1393933.711 982799.301 0, 1394207.192 982822.495 0, 1394480.671 982845.706 0, 1394752.889 982868.825 0, 1395225.236 977309.124 0,
+ 1395697.573 971749.537 0))
+
+POLYGON ((1407878.202 984002.616 0, 1407606.049 983978.728 0, 1407332.637 983954.745 0, 1407059.223 983930.778 0, 1406785.807 983906.828 0, 1406512.39 983882.893 0, 1406238.972 983858.975 0, 1405965.553 983835.072 0, 1405692.132 983811.186 0, 1405418.709 983787.316 0,
+ 1405145.285 983763.462 0, 1404871.86 983739.624 0, 1404598.434 983715.802 0, 1404325.005 983691.996 0, 1404051.576 983668.206 0, 1403778.145 983644.433 0, 1403504.713 983620.675 0, 1403231.279 983596.934 0, 1402957.844 983573.208 0, 1402684.408 983549.499 0,
+ 1402410.97 983525.806 0, 1402137.531 983502.129 0, 1401864.09 983478.468 0, 1401590.648 983454.823 0, 1401315.946 983431.086 0, 1401043.76 983407.582 0, 1400770.314 983383.985 0, 1400496.866 983360.405 0, 1400223.418 983336.84 0, 1399949.967 983313.292 0,
+ 1399676.515 983289.76 0, 1399403.062 983266.243 0, 1399129.608 983242.743 0, 1398856.152 983219.26 0, 1398582.695 983195.792 0, 1398309.236 983172.34 0, 1398035.776 983148.904 0, 1397762.315 983125.485 0, 1397488.852 983102.081 0, 1397215.388 983078.694 0,
+ 1396941.922 983055.323 0, 1396668.455 983031.968 0, 1396394.987 983008.628 0, 1396121.518 982985.306 0, 1395848.047 982961.999 0, 1395574.574 982938.708 0, 1395301.1 982915.433 0, 1395027.625 982892.175 0, 1394752.889 982868.825 0, 1394280.532 988428.636 0,
+ 1393808.167 993988.553 0, 1394082.246 994011.846 0, 1394355.067 994035.049 0, 1394627.886 994058.268 0, 1394900.704 994081.503 0, 1395173.52 994104.754 0, 1395446.335 994128.022 0, 1395719.149 994151.305 0, 1395991.962 994174.604 0, 1396264.773 994197.919 0,
+ 1396537.582 994221.251 0, 1396810.391 994244.598 0, 1397083.198 994267.962 0, 1397356.003 994291.341 0, 1397628.807 994314.737 0, 1397901.61 994338.149 0, 1398174.412 994361.576 0, 1398447.212 994385.02 0, 1398720.01 994408.48 0, 1398992.808 994431.956 0,
+ 1399265.604 994455.448 0, 1399538.398 994478.956 0, 1399811.191 994502.48 0, 1400083.983 994526.02 0, 1400355.517 994549.468 0, 1400629.562 994573.148 0, 1400902.35 994596.737 0, 1401175.136 994620.341 0, 1401447.921 994643.961 0, 1401720.704 994667.598 0,
+ 1401993.486 994691.25 0, 1402266.267 994714.919 0, 1402539.046 994738.604 0, 1402811.824 994762.304 0, 1403084.601 994786.021 0, 1403357.376 994809.754 0, 1403630.149 994833.503 0, 1403902.922 994857.267 0, 1404175.692 994881.048 0, 1404448.462 994904.845 0,
+ 1404721.23 994928.658 0, 1404993.997 994952.488 0, 1405266.762 994976.333 0, 1405539.526 995000.194 0, 1405812.288 995024.071 0, 1406085.049 995047.965 0, 1406357.809 995071.874 0, 1406630.567 995095.799 0, 1406902.069 995119.631 0, 1407390.14 989561.071 0,
+ 1407878.202 984002.616 0))
+
+POLYGON ((899632.488 554776.47 0, 899335.275 554782.357 0, 899036.602 554788.291 0, 898737.929 554794.242 0, 898439.256 554800.211 0, 898140.584 554806.198 0, 897841.912 554812.202 0, 897543.24 554818.223 0, 897244.569 554824.262 0, 896945.898 554830.319 0,
+ 896647.228 554836.394 0, 896348.558 554842.485 0, 896049.888 554848.595 0, 895751.218 554854.722 0, 895452.549 554860.867 0, 895153.881 554867.029 0, 894855.212 554873.209 0, 894556.544 554879.406 0, 894257.877 554885.621 0, 893959.21 554891.854 0,
+ 893660.543 554898.104 0, 893361.876 554904.372 0, 893063.21 554910.657 0, 892764.544 554916.96 0, 892464.417 554923.311 0, 892167.214 554929.618 0, 891868.549 554935.974 0, 891569.885 554942.347 0, 891271.221 554948.738 0, 890972.558 554955.146 0,
+ 890673.894 554961.572 0, 890375.232 554968.016 0, 890076.569 554974.477 0, 889777.907 554980.955 0, 889479.246 554987.452 0, 889180.584 554993.965 0, 888881.924 555000.497 0, 888583.263 555007.046 0, 888284.603 555013.612 0, 887985.943 555020.196 0,
+ 887687.284 555026.798 0, 887388.625 555033.417 0, 887089.967 555040.054 0, 886791.309 555046.709 0, 886492.651 555053.381 0, 886193.993 555060.07 0, 885895.336 555066.778 0, 885596.68 555073.502 0, 885296.56 555080.278 0, 885422.251 560640.497 0,
+ 885547.95 566201.088 0, 885847.412 566194.327 0, 886145.414 566187.617 0, 886443.416 566180.924 0, 886741.419 566174.25 0, 887039.422 566167.592 0, 887337.426 566160.952 0, 887635.43 566154.33 0, 887933.434 566147.725 0, 888231.439 566141.138 0,
+ 888529.444 566134.568 0, 888827.449 566128.016 0, 889125.455 566121.481 0, 889423.462 566114.964 0, 889721.468 566108.465 0, 890019.475 566101.983 0, 890317.483 566095.518 0, 890615.491 566089.071 0, 890913.499 566082.642 0, 891211.507 566076.23 0,
+ 891509.516 566069.836 0, 891807.526 566063.459 0, 892105.535 566057.1 0, 892403.545 566050.758 0, 892700.097 566044.465 0, 892999.567 566038.127 0, 893297.578 566031.838 0, 893595.589 566025.567 0, 893893.601 566019.313 0, 894191.614 566013.076 0,
+ 894489.626 566006.858 0, 894787.639 566000.656 0, 895085.653 565994.472 0, 895383.667 565988.306 0, 895681.681 565982.157 0, 895979.695 565976.026 0, 896277.71 565969.912 0, 896575.725 565963.816 0, 896873.741 565957.738 0, 897171.757 565951.677 0,
+ 897469.773 565945.633 0, 897767.79 565939.607 0, 898065.807 565933.599 0, 898363.824 565927.608 0, 898661.842 565921.635 0, 898959.86 565915.679 0, 899257.878 565909.741 0, 899555.897 565903.82 0, 899852.458 565897.946 0, 899742.469 560337.022 0,
+ 899632.488 554776.47 0))
+
+POLYGON ((914157.765 565635.218 0, 913861.186 565640.254 0, 913563.152 565645.333 0, 913265.118 565650.429 0, 912967.084 565655.543 0, 912669.051 565660.674 0, 912371.018 565665.823 0, 912072.985 565670.99 0, 911774.953 565676.174 0, 911476.92 565681.375 0,
+ 911178.889 565686.594 0, 910880.857 565691.831 0, 910582.826 565697.085 0, 910284.795 565702.357 0, 909986.764 565707.646 0, 909688.734 565712.953 0, 909390.704 565718.277 0, 909092.674 565723.619 0, 908794.645 565728.978 0, 908496.616 565734.355 0,
+ 908198.587 565739.75 0, 907900.559 565745.162 0, 907602.531 565750.591 0, 907304.503 565756.038 0, 907005.019 565761.53 0, 906708.448 565766.985 0, 906410.422 565772.485 0, 906112.395 565778.002 0, 905814.369 565783.537 0, 905516.343 565789.089 0,
+ 905218.318 565794.659 0, 904920.292 565800.247 0, 904622.268 565805.852 0, 904324.243 565811.474 0, 904026.219 565817.114 0, 903728.195 565822.772 0, 903430.172 565828.447 0, 903132.148 565834.14 0, 902834.126 565839.85 0, 902536.103 565845.578 0,
+ 902238.081 565851.323 0, 901940.059 565857.086 0, 901642.038 565862.866 0, 901344.016 565868.664 0, 901045.996 565874.479 0, 900747.975 565880.312 0, 900449.955 565886.163 0, 900151.935 565892.031 0, 899852.458 565897.946 0, 899962.454 571459.237 0,
+ 900072.457 577020.893 0, 900371.277 577014.991 0, 900668.642 577009.136 0, 900966.007 577003.298 0, 901263.373 576997.478 0, 901560.739 576991.675 0, 901858.106 576985.89 0, 902155.472 576980.123 0, 902452.84 576974.372 0, 902750.207 576968.64 0,
+ 903047.575 576962.925 0, 903344.943 576957.227 0, 903642.312 576951.547 0, 903939.68 576945.884 0, 904237.05 576940.239 0, 904534.419 576934.611 0, 904831.789 576929.001 0, 905129.159 576923.408 0, 905426.53 576917.833 0, 905723.9 576912.276 0,
+ 906021.271 576906.735 0, 906318.643 576901.213 0, 906616.015 576895.708 0, 906913.387 576890.22 0, 907209.306 576884.777 0, 907508.132 576879.297 0, 907805.505 576873.862 0, 908102.878 576868.444 0, 908400.252 576863.044 0, 908697.626 576857.662 0,
+ 908995.001 576852.297 0, 909292.375 576846.949 0, 909589.75 576841.619 0, 909887.125 576836.306 0, 910184.501 576831.011 0, 910481.877 576825.733 0, 910779.253 576820.473 0, 911076.63 576815.231 0, 911374.007 576810.006 0, 911671.384 576804.798 0,
+ 911968.761 576799.608 0, 912266.139 576794.435 0, 912563.517 576789.28 0, 912860.895 576784.143 0, 913158.274 576779.023 0, 913455.653 576773.92 0, 913753.032 576768.835 0, 914050.412 576763.767 0, 914346.339 576758.742 0, 914252.049 571196.797 0,
+ 914157.765 565635.218 0))
+
+POLYGON ((928620.905 576536.918 0, 928324.962 576541.108 0, 928027.569 576545.335 0, 927730.177 576549.58 0, 927432.785 576553.843 0, 927135.393 576558.123 0, 926838.001 576562.42 0, 926540.61 576566.735 0, 926243.219 576571.067 0, 925945.828 576575.417 0,
+ 925648.437 576579.785 0, 925351.047 576584.17 0, 925053.656 576588.572 0, 924756.267 576592.992 0, 924458.877 576597.429 0, 924161.488 576601.884 0, 923864.098 576606.357 0, 923566.71 576610.847 0, 923269.321 576615.354 0, 922971.933 576619.879 0,
+ 922674.545 576624.422 0, 922377.157 576628.982 0, 922079.769 576633.559 0, 921782.382 576638.154 0, 921483.544 576642.789 0, 921187.608 576647.397 0, 920890.222 576652.044 0, 920592.836 576656.709 0, 920295.45 576661.392 0, 919998.064 576666.092 0,
+ 919700.679 576670.809 0, 919403.294 576675.544 0, 919105.909 576680.297 0, 918808.525 576685.067 0, 918511.14 576689.854 0, 918213.757 576694.659 0, 917916.373 576699.482 0, 917618.99 576704.322 0, 917321.607 576709.179 0, 917024.224 576714.054 0,
+ 916726.841 576718.947 0, 916429.459 576723.857 0, 916132.077 576728.784 0, 915834.695 576733.73 0, 915537.314 576738.692 0, 915239.933 576743.672 0, 914942.552 576748.67 0, 914645.172 576753.685 0, 914346.339 576758.742 0, 914440.635 582321.048 0,
+ 914534.938 587883.712 0, 914833.113 587878.666 0, 915129.838 587873.662 0, 915426.564 587868.676 0, 915723.29 587863.707 0, 916020.017 587858.755 0, 916316.744 587853.821 0, 916613.471 587848.904 0, 916910.198 587844.005 0, 917206.926 587839.123 0,
+ 917503.654 587834.259 0, 917800.382 587829.412 0, 918097.111 587824.583 0, 918393.84 587819.771 0, 918690.569 587814.976 0, 918987.298 587810.199 0, 919284.028 587805.44 0, 919580.758 587800.698 0, 919877.488 587795.973 0, 920174.219 587791.266 0,
+ 920470.949 587786.576 0, 920767.68 587781.904 0, 921064.412 587777.249 0, 921361.143 587772.612 0, 921656.427 587768.015 0, 921954.607 587763.39 0, 922251.34 587758.805 0, 922548.073 587754.238 0, 922844.806 587749.688 0, 923141.539 587745.155 0,
+ 923438.272 587740.64 0, 923735.006 587736.143 0, 924031.74 587731.663 0, 924328.474 587727.2 0, 924625.209 587722.755 0, 924921.944 587718.327 0, 925218.679 587713.917 0, 925515.414 587709.524 0, 925812.15 587705.149 0, 926108.886 587700.791 0,
+ 926405.622 587696.451 0, 926702.358 587692.128 0, 926999.095 587687.823 0, 927295.832 587683.535 0, 927592.569 587679.264 0, 927889.306 587675.011 0, 928186.044 587670.776 0, 928482.782 587666.558 0, 928778.073 587662.377 0, 928699.486 582099.469 0,
+ 928620.905 576536.918 0))
+
+POLYGON ((943021.776 587481.283 0, 942726.472 587484.629 0, 942429.723 587488.008 0, 942132.975 587491.406 0, 941836.227 587494.82 0, 941539.479 587498.252 0, 941242.731 587501.702 0, 940945.983 587505.169 0, 940649.236 587508.654 0, 940352.489 587512.156 0,
+ 940055.742 587515.675 0, 939758.995 587519.212 0, 939462.249 587522.766 0, 939165.502 587526.338 0, 938868.756 587529.928 0, 938572.01 587533.534 0, 938275.264 587537.159 0, 937978.519 587540.8 0, 937681.774 587544.46 0, 937385.028 587548.136 0,
+ 937088.284 587551.83 0, 936791.539 587555.542 0, 936494.795 587559.271 0, 936198.05 587563.017 0, 935899.86 587566.8 0, 935604.563 587570.563 0, 935307.819 587574.362 0, 935011.076 587578.178 0, 934714.333 587582.012 0, 934417.59 587585.863 0,
+ 934120.847 587589.732 0, 933824.105 587593.618 0, 933527.363 587597.522 0, 933230.621 587601.443 0, 932933.879 587605.382 0, 932637.137 587609.338 0, 932340.396 587613.312 0, 932043.655 587617.303 0, 931746.914 587621.311 0, 931450.174 587625.337 0,
+ 931153.434 587629.381 0, 930856.693 587633.442 0, 930559.954 587637.52 0, 930263.214 587641.616 0, 929966.475 587645.729 0, 929669.736 587649.86 0, 929372.997 587654.008 0, 929076.258 587658.174 0, 928778.073 587662.377 0, 928856.664 593225.641 0,
+ 928935.261 598789.257 0, 929232.788 598785.062 0, 929528.872 598780.906 0, 929824.956 598776.767 0, 930121.04 598772.645 0, 930417.124 598768.541 0, 930713.209 598764.454 0, 931009.294 598760.385 0, 931305.379 598756.333 0, 931601.464 598752.298 0,
+ 931897.55 598748.281 0, 932193.636 598744.282 0, 932489.722 598740.299 0, 932785.808 598736.335 0, 933081.895 598732.387 0, 933377.982 598728.457 0, 933674.069 598724.545 0, 933970.156 598720.65 0, 934266.244 598716.772 0, 934562.331 598712.912 0,
+ 934858.419 598709.069 0, 935154.507 598705.243 0, 935450.596 598701.435 0, 935746.684 598697.645 0, 936041.33 598693.89 0, 936338.862 598690.116 0, 936634.952 598686.378 0, 936931.041 598682.657 0, 937227.131 598678.954 0, 937523.221 598675.268 0,
+ 937819.311 598671.599 0, 938115.401 598667.948 0, 938411.492 598664.314 0, 938707.583 598660.698 0, 939003.674 598657.099 0, 939299.765 598653.518 0, 939595.856 598649.954 0, 939891.948 598646.407 0, 940188.04 598642.878 0, 940484.132 598639.366 0,
+ 940780.224 598635.872 0, 941076.317 598632.395 0, 941372.409 598628.936 0, 941668.502 598625.494 0, 941964.595 598622.069 0, 942260.688 598618.662 0, 942556.782 598615.273 0, 942852.876 598611.9 0, 943147.528 598608.562 0, 943084.65 593044.746 0,
+ 943021.776 587481.283 0))
+
+POLYGON ((957360.249 598468.02 0, 957065.586 598470.526 0, 956769.484 598473.061 0, 956473.382 598475.615 0, 956177.28 598478.185 0, 955881.179 598480.773 0, 955585.077 598483.379 0, 955288.976 598486.002 0, 954992.875 598488.642 0, 954696.774 598491.3 0,
+ 954400.673 598493.975 0, 954104.573 598496.667 0, 953808.472 598499.378 0, 953512.372 598502.105 0, 953216.272 598504.85 0, 952920.172 598507.612 0, 952624.072 598510.392 0, 952327.972 598513.189 0, 952031.873 598516.004 0, 951735.773 598518.836 0,
+ 951439.674 598521.685 0, 951143.575 598524.552 0, 950847.476 598527.436 0, 950551.378 598530.338 0, 950253.839 598533.271 0, 949959.181 598536.194 0, 949663.083 598539.148 0, 949366.985 598542.119 0, 949070.887 598545.108 0, 948774.789 598548.114 0,
+ 948478.692 598551.138 0, 948182.595 598554.179 0, 947886.498 598557.238 0, 947590.401 598560.314 0, 947294.304 598563.407 0, 946998.207 598566.518 0, 946702.111 598569.647 0, 946406.015 598572.792 0, 946109.919 598575.955 0, 945813.823 598579.136 0,
+ 945517.728 598582.334 0, 945221.632 598585.549 0, 944925.537 598588.782 0, 944629.442 598592.033 0, 944333.347 598595.3 0, 944037.252 598598.585 0, 943741.158 598601.888 0, 943445.064 598605.208 0, 943147.528 598608.562 0, 943210.41 604172.726 0,
+ 943273.295 609737.236 0, 943570.173 609733.889 0, 943865.612 609730.577 0, 944161.052 609727.281 0, 944456.491 609724.003 0, 944751.931 609720.743 0, 945047.371 609717.5 0, 945342.811 609714.274 0, 945638.252 609711.066 0, 945933.692 609707.875 0,
+ 946229.133 609704.701 0, 946524.574 609701.545 0, 946820.015 609698.406 0, 947115.457 609695.285 0, 947410.898 609692.181 0, 947706.34 609689.094 0, 948001.782 609686.025 0, 948297.224 609682.973 0, 948592.666 609679.939 0, 948888.109 609676.922 0,
+ 949183.551 609673.922 0, 949478.994 609670.94 0, 949774.437 609667.975 0, 950069.88 609665.028 0, 950363.886 609662.112 0, 950660.767 609659.185 0, 950956.21 609656.29 0, 951251.654 609653.412 0, 951547.098 609650.551 0, 951842.542 609647.708 0,
+ 952137.987 609644.882 0, 952433.431 609642.074 0, 952728.876 609639.283 0, 953024.321 609636.509 0, 953319.766 609633.753 0, 953615.211 609631.014 0, 953910.656 609628.293 0, 954206.101 609625.589 0, 954501.547 609622.902 0, 954796.993 609620.233 0,
+ 955092.439 609617.581 0, 955387.885 609614.947 0, 955683.331 609612.33 0, 955978.777 609609.73 0, 956274.224 609607.148 0, 956569.671 609604.583 0, 956865.118 609602.035 0, 957160.565 609599.505 0, 957454.575 609597.004 0, 957407.411 604032.339 0,
+ 957360.249 598468.02 0))
+
+POLYGON ((971636.195 609496.838 0, 971342.176 609498.508 0, 971046.723 609500.204 0, 970751.27 609501.917 0, 970455.817 609503.647 0, 970160.365 609505.394 0, 969864.912 609507.159 0, 969569.46 609508.942 0, 969274.007 609510.742 0, 968978.555 609512.559 0,
+ 968683.103 609514.393 0, 968387.651 609516.245 0, 968092.199 609518.115 0, 967796.747 609520.001 0, 967501.296 609521.905 0, 967205.844 609523.827 0, 966910.392 609525.766 0, 966614.941 609527.722 0, 966319.49 609529.696 0, 966024.039 609531.687 0,
+ 965728.588 609533.695 0, 965433.137 609535.721 0, 965137.686 609537.764 0, 964842.235 609539.825 0, 964545.35 609541.913 0, 964251.335 609543.998 0, 963955.884 609546.111 0, 963660.434 609548.241 0, 963364.984 609550.389 0, 963069.534 609552.554 0,
+ 962774.084 609554.736 0, 962478.635 609556.936 0, 962183.185 609559.153 0, 961887.736 609561.388 0, 961592.287 609563.64 0, 961296.838 609565.909 0, 961001.389 609568.196 0, 960705.94 609570.5 0, 960410.491 609572.821 0, 960115.042 609575.16 0,
+ 959819.594 609577.516 0, 959524.146 609579.89 0, 959228.698 609582.281 0, 958933.25 609584.689 0, 958637.802 609587.115 0, 958342.354 609589.558 0, 958046.906 609592.019 0, 957751.459 609594.497 0, 957454.575 609597.004 0, 957501.743 615162.012 0,
+ 957548.914 620727.358 0, 957845.139 620724.856 0, 958139.931 620722.384 0, 958434.724 620719.928 0, 958729.516 620717.491 0, 959024.309 620715.07 0, 959319.102 620712.667 0, 959613.895 620710.281 0, 959908.688 620707.913 0, 960203.481 620705.562 0,
+ 960498.275 620703.228 0, 960793.069 620700.912 0, 961087.862 620698.613 0, 961382.656 620696.331 0, 961677.45 620694.067 0, 961972.244 620691.82 0, 962267.038 620689.591 0, 962561.833 620687.379 0, 962856.627 620685.184 0, 963151.422 620683.006 0,
+ 963446.217 620680.846 0, 963741.012 620678.703 0, 964035.807 620676.578 0, 964330.602 620674.47 0, 964623.965 620672.389 0, 964920.193 620670.305 0, 965214.988 620668.249 0, 965509.784 620666.211 0, 965804.58 620664.189 0, 966099.375 620662.185 0,
+ 966394.171 620660.199 0, 966688.968 620658.229 0, 966983.764 620656.277 0, 967278.56 620654.343 0, 967573.357 620652.426 0, 967868.153 620650.526 0, 968162.95 620648.643 0, 968457.747 620646.778 0, 968752.544 620644.93 0, 969047.341 620643.1 0,
+ 969342.138 620641.287 0, 969636.935 620639.491 0, 969931.732 620637.712 0, 970226.53 620635.951 0, 970521.327 620634.207 0, 970816.125 620632.481 0, 971110.923 620630.772 0, 971405.72 620629.08 0, 971699.087 620627.414 0, 971667.64 615061.957 0,
+ 971636.195 609496.838 0))
+
+POLYGON ((985849.487 620567.448 0, 985556.114 620568.285 0, 985261.313 620569.144 0, 984966.512 620570.02 0, 984671.71 620570.913 0, 984376.909 620571.824 0, 984082.108 620572.753 0, 983787.307 620573.698 0, 983492.505 620574.661 0, 983197.704 620575.641 0,
+ 982902.903 620576.639 0, 982608.102 620577.654 0, 982313.302 620578.686 0, 982018.501 620579.736 0, 981723.7 620580.803 0, 981428.899 620581.887 0, 981134.099 620582.989 0, 980839.298 620584.108 0, 980544.498 620585.245 0, 980249.697 620586.398 0,
+ 979954.897 620587.57 0, 979660.096 620588.758 0, 979365.296 620589.964 0, 979070.496 620591.187 0, 978774.266 620592.434 0, 978480.896 620593.686 0, 978186.096 620594.961 0, 977891.296 620596.253 0, 977596.496 620597.563 0, 977301.697 620598.891 0,
+ 977006.897 620600.235 0, 976712.097 620601.597 0, 976417.298 620602.977 0, 976122.499 620604.373 0, 975827.699 620605.787 0, 975532.9 620607.219 0, 975238.101 620608.668 0, 974943.302 620610.134 0, 974648.503 620611.617 0, 974353.704 620613.118 0,
+ 974058.905 620614.636 0, 973764.107 620616.172 0, 973469.308 620617.724 0, 973174.509 620619.295 0, 972879.711 620620.882 0, 972584.913 620622.487 0, 972290.115 620624.109 0, 971995.316 620625.749 0, 971699.087 620627.414 0, 971730.537 626193.207 0,
+ 971761.988 631759.333 0, 972057.558 631757.671 0, 972351.701 631756.035 0, 972645.844 631754.417 0, 972939.987 631752.815 0, 973234.13 631751.231 0, 973528.274 631749.665 0, 973822.417 631748.115 0, 974116.561 631746.583 0, 974410.704 631745.068 0,
+ 974704.848 631743.571 0, 974998.992 631742.091 0, 975293.135 631740.628 0, 975587.279 631739.182 0, 975881.423 631737.754 0, 976175.568 631736.343 0, 976469.712 631734.949 0, 976763.856 631733.573 0, 977058 631732.214 0, 977352.145 631730.872 0,
+ 977646.289 631729.548 0, 977940.434 631728.241 0, 978234.578 631726.951 0, 978528.723 631725.679 0, 978821.441 631724.43 0, 979117.013 631723.186 0, 979411.158 631721.966 0, 979705.303 631720.762 0, 979999.448 631719.577 0, 980293.593 631718.408 0,
+ 980587.738 631717.257 0, 980881.884 631716.123 0, 981176.029 631715.006 0, 981470.174 631713.907 0, 981764.32 631712.825 0, 982058.465 631711.76 0, 982352.611 631710.713 0, 982646.757 631709.683 0, 982940.902 631708.67 0, 983235.048 631707.675 0,
+ 983529.194 631706.697 0, 983823.34 631705.736 0, 984117.486 631704.793 0, 984411.632 631703.866 0, 984705.778 631702.958 0, 984999.924 631702.066 0, 985294.07 631701.192 0, 985588.217 631700.335 0, 985880.937 631699.499 0, 985865.212 626133.307 0,
+ 985849.487 620567.448 0))
+
+POLYGON ((1000000 631679.555 0, 999707.276 631679.563 0, 999413.128 631679.589 0, 999118.981 631679.632 0, 998824.833 631679.693 0, 998530.686 631679.771 0, 998236.538 631679.866 0, 997942.391 631679.978 0, 997648.243 631680.108 0, 997354.096 631680.255 0,
+ 997059.949 631680.42 0, 996765.801 631680.601 0, 996471.654 631680.8 0, 996177.506 631681.017 0, 995883.359 631681.25 0, 995589.212 631681.501 0, 995295.064 631681.77 0, 995000.917 631682.055 0, 994706.77 631682.358 0, 994412.622 631682.678 0,
+ 994118.475 631683.016 0, 993824.328 631683.371 0, 993530.18 631683.743 0, 993236.033 631684.132 0, 992940.462 631684.541 0, 992647.739 631684.963 0, 992353.592 631685.404 0, 992059.445 631685.863 0, 991765.297 631686.339 0, 991471.15 631686.832 0,
+ 991177.003 631687.343 0, 990882.856 631687.871 0, 990588.709 631688.416 0, 990294.562 631688.979 0, 990000.416 631689.559 0, 989706.269 631690.156 0, 989412.122 631690.771 0, 989117.975 631691.402 0, 988823.828 631692.052 0, 988529.682 631692.718 0,
+ 988235.535 631693.402 0, 987941.388 631694.103 0, 987647.242 631694.821 0, 987353.095 631695.557 0, 987058.949 631696.31 0, 986764.802 631697.08 0, 986470.656 631697.868 0, 986176.509 631698.673 0, 985880.937 631699.499 0, 985896.664 637266.021 0,
+ 985912.391 642832.868 0, 986207.305 642832.043 0, 986500.796 642831.24 0, 986794.287 642830.454 0, 987087.778 642829.685 0, 987381.269 642828.934 0, 987674.761 642828.2 0, 987968.252 642827.483 0, 988261.743 642826.784 0, 988555.235 642826.101 0,
+ 988848.726 642825.436 0, 989142.218 642824.789 0, 989435.709 642824.158 0, 989729.201 642823.545 0, 990022.692 642822.949 0, 990316.184 642822.371 0, 990609.675 642821.809 0, 990903.167 642821.265 0, 991196.659 642820.738 0, 991490.151 642820.229 0,
+ 991783.642 642819.737 0, 992077.134 642819.262 0, 992370.626 642818.804 0, 992664.118 642818.364 0, 992956.189 642817.942 0, 993251.102 642817.535 0, 993544.594 642817.146 0, 993838.086 642816.775 0, 994131.578 642816.421 0, 994425.07 642816.084 0,
+ 994718.562 642815.764 0, 995012.054 642815.462 0, 995305.546 642815.177 0, 995599.038 642814.91 0, 995892.53 642814.659 0, 996186.022 642814.426 0, 996479.514 642814.21 0, 996773.006 642814.012 0, 997066.498 642813.83 0, 997359.99 642813.666 0,
+ 997653.483 642813.52 0, 997946.975 642813.39 0, 998240.467 642813.278 0, 998533.959 642813.183 0, 998827.451 642813.105 0, 999120.943 642813.045 0, 999414.436 642813.002 0, 999707.928 642812.976 0, 1000000 642812.967 0, 1000000 637246.098 0,
+ 1000000 631679.555 0))
+
+POLYGON ((1014087.609 642832.868 0, 1013795.535 642832.051 0, 1013502.044 642831.248 0, 1013208.553 642830.462 0, 1012915.062 642829.693 0, 1012621.571 642828.941 0, 1012328.079 642828.207 0, 1012034.588 642827.49 0, 1011741.097 642826.79 0, 1011447.605 642826.108 0,
+ 1011154.114 642825.443 0, 1010860.622 642824.795 0, 1010567.131 642824.164 0, 1010273.639 642823.551 0, 1009980.148 642822.955 0, 1009686.656 642822.376 0, 1009393.165 642821.815 0, 1009099.673 642821.27 0, 1008806.181 642820.743 0, 1008512.689 642820.234 0,
+ 1008219.198 642819.741 0, 1007925.706 642819.266 0, 1007632.214 642818.808 0, 1007338.722 642818.368 0, 1007043.811 642817.942 0, 1006751.738 642817.538 0, 1006458.246 642817.15 0, 1006164.754 642816.778 0, 1005871.262 642816.424 0, 1005577.77 642816.087 0,
+ 1005284.278 642815.767 0, 1004990.786 642815.465 0, 1004697.294 642815.18 0, 1004403.802 642814.912 0, 1004110.31 642814.662 0, 1003816.818 642814.428 0, 1003523.326 642814.212 0, 1003229.834 642814.013 0, 1002936.342 642813.832 0, 1002642.85 642813.668 0,
+ 1002349.357 642813.521 0, 1002055.865 642813.391 0, 1001762.373 642813.279 0, 1001468.881 642813.184 0, 1001175.389 642813.106 0, 1000881.897 642813.045 0, 1000588.404 642813.002 0, 1000294.912 642812.976 0, 1000000 642812.967 0, 1000000 648380.159 0,
+ 1000000 653947.67 0, 1000294.254 653947.679 0, 1000587.091 653947.705 0, 1000879.927 653947.748 0, 1001172.764 653947.808 0, 1001465.601 653947.886 0, 1001758.438 653947.981 0, 1002051.275 653948.093 0, 1002344.111 653948.222 0, 1002636.948 653948.369 0,
+ 1002929.785 653948.533 0, 1003222.622 653948.714 0, 1003515.458 653948.912 0, 1003808.295 653949.128 0, 1004101.132 653949.36 0, 1004393.969 653949.61 0, 1004686.805 653949.878 0, 1004979.642 653950.162 0, 1005272.479 653950.464 0, 1005565.315 653950.783 0,
+ 1005858.152 653951.119 0, 1006150.989 653951.472 0, 1006443.825 653951.843 0, 1006736.662 653952.231 0, 1007028.083 653952.634 0, 1007322.335 653953.058 0, 1007615.171 653953.498 0, 1007908.008 653953.955 0, 1008200.844 653954.429 0, 1008493.681 653954.92 0,
+ 1008786.517 653955.429 0, 1009079.353 653955.955 0, 1009372.19 653956.498 0, 1009665.026 653957.058 0, 1009957.862 653957.635 0, 1010250.698 653958.23 0, 1010543.535 653958.842 0, 1010836.371 653959.471 0, 1011129.207 653960.118 0, 1011422.043 653960.781 0,
+ 1011714.879 653961.462 0, 1012007.715 653962.16 0, 1012300.551 653962.876 0, 1012593.387 653963.608 0, 1012886.223 653964.358 0, 1013179.059 653965.125 0, 1013471.894 653965.909 0, 1013764.73 653966.711 0, 1014056.151 653967.526 0, 1014071.88 648400.037 0,
+ 1014087.609 642832.868 0))
+
+POLYGON ((1028112.19 654027.093 0, 1027820.77 654025.454 0, 1027527.938 654023.826 0, 1027235.105 654022.214 0, 1026942.273 654020.62 0, 1026649.44 654019.042 0, 1026356.608 654017.482 0, 1026063.775 654015.94 0, 1025770.942 654014.414 0, 1025478.109 654012.906 0,
+ 1025185.276 654011.415 0, 1024892.443 654009.941 0, 1024599.61 654008.485 0, 1024306.777 654007.046 0, 1024013.943 654005.624 0, 1023721.11 654004.219 0, 1023428.276 654002.831 0, 1023135.443 654001.461 0, 1022842.609 654000.108 0, 1022549.775 653998.772 0,
+ 1022256.941 653997.453 0, 1021964.107 653996.152 0, 1021671.273 653994.868 0, 1021378.439 653993.601 0, 1021084.192 653992.345 0, 1020792.771 653991.119 0, 1020499.937 653989.904 0, 1020207.102 653988.706 0, 1019914.268 653987.525 0, 1019621.433 653986.361 0,
+ 1019328.599 653985.215 0, 1019035.764 653984.086 0, 1018742.929 653982.974 0, 1018450.094 653981.88 0, 1018157.26 653980.802 0, 1017864.425 653979.742 0, 1017571.59 653978.7 0, 1017278.755 653977.674 0, 1016985.92 653976.666 0, 1016693.084 653975.674 0,
+ 1016400.249 653974.701 0, 1016107.414 653973.744 0, 1015814.579 653972.804 0, 1015521.743 653971.882 0, 1015228.908 653970.977 0, 1014936.072 653970.09 0, 1014643.237 653969.219 0, 1014350.401 653968.366 0, 1014056.151 653967.526 0, 1014040.421 659535.33 0,
+ 1014024.69 665103.447 0, 1014318.282 665104.286 0, 1014610.462 665105.137 0, 1014902.642 665106.005 0, 1015194.822 665106.891 0, 1015487.002 665107.794 0, 1015779.182 665108.714 0, 1016071.362 665109.652 0, 1016363.541 665110.606 0, 1016655.721 665111.578 0,
+ 1016947.901 665112.567 0, 1017240.081 665113.573 0, 1017532.26 665114.596 0, 1017824.44 665115.637 0, 1018116.619 665116.694 0, 1018408.799 665117.769 0, 1018700.978 665118.861 0, 1018993.157 665119.971 0, 1019285.336 665121.097 0, 1019577.516 665122.241 0,
+ 1019869.695 665123.402 0, 1020161.874 665124.58 0, 1020454.053 665125.775 0, 1020746.231 665126.988 0, 1021037 665128.211 0, 1021330.589 665129.464 0, 1021622.768 665130.728 0, 1021914.946 665132.01 0, 1022207.125 665133.308 0, 1022499.303 665134.624 0,
+ 1022791.481 665135.957 0, 1023083.66 665137.307 0, 1023375.838 665138.674 0, 1023668.016 665140.058 0, 1023960.194 665141.46 0, 1024252.372 665142.879 0, 1024544.55 665144.315 0, 1024836.728 665145.768 0, 1025128.905 665147.239 0, 1025421.083 665148.726 0,
+ 1025713.26 665150.231 0, 1026005.438 665151.753 0, 1026297.615 665153.292 0, 1026589.792 665154.849 0, 1026881.97 665156.422 0, 1027174.147 665158.013 0, 1027466.324 665159.621 0, 1027758.5 665161.246 0, 1028049.268 665162.881 0, 1028080.73 659594.83 0,
+ 1028112.19 654027.093 0))
+
+POLYGON ((1042073.622 665261.936 0, 1041782.858 665259.48 0, 1041490.687 665257.029 0, 1041198.516 665254.596 0, 1040906.344 665252.18 0, 1040614.173 665249.781 0, 1040322.001 665247.399 0, 1040029.829 665245.034 0, 1039737.657 665242.687 0, 1039445.485 665240.356 0,
+ 1039153.313 665238.043 0, 1038861.141 665235.747 0, 1038568.968 665233.469 0, 1038276.796 665231.207 0, 1037984.623 665228.963 0, 1037692.45 665226.736 0, 1037400.277 665224.526 0, 1037108.104 665222.333 0, 1036815.93 665220.158 0, 1036523.757 665217.999 0,
+ 1036231.583 665215.858 0, 1035939.41 665213.734 0, 1035647.236 665211.628 0, 1035355.062 665209.538 0, 1035061.48 665207.456 0, 1034770.714 665205.411 0, 1034478.54 665203.373 0, 1034186.365 665201.352 0, 1033894.191 665199.348 0, 1033602.016 665197.362 0,
+ 1033309.841 665195.393 0, 1033017.667 665193.441 0, 1032725.492 665191.506 0, 1032433.316 665189.589 0, 1032141.141 665187.688 0, 1031848.966 665185.805 0, 1031556.79 665183.939 0, 1031264.615 665182.09 0, 1030972.439 665180.259 0, 1030680.264 665178.444 0,
+ 1030388.088 665176.647 0, 1030095.912 665174.867 0, 1029803.736 665173.104 0, 1029511.56 665171.359 0, 1029219.383 665169.63 0, 1028927.207 665167.919 0, 1028635.03 665166.225 0, 1028342.854 665164.548 0, 1028049.268 665162.881 0, 1028017.804 670731.24 0,
+ 1027986.339 676299.906 0, 1028279.266 676301.57 0, 1028570.787 676303.243 0, 1028862.308 676304.933 0, 1029153.829 676306.64 0, 1029445.35 676308.365 0, 1029736.871 676310.106 0, 1030028.391 676311.865 0, 1030319.912 676313.641 0, 1030611.432 676315.434 0,
+ 1030902.952 676317.245 0, 1031194.472 676319.072 0, 1031485.992 676320.917 0, 1031777.512 676322.778 0, 1032069.032 676324.657 0, 1032360.552 676326.554 0, 1032652.071 676328.467 0, 1032943.591 676330.397 0, 1033235.11 676332.345 0, 1033526.629 676334.309 0,
+ 1033818.149 676336.291 0, 1034109.668 676338.29 0, 1034401.186 676340.307 0, 1034692.705 676342.34 0, 1034982.819 676344.381 0, 1035275.742 676346.458 0, 1035567.261 676348.543 0, 1035858.779 676350.645 0, 1036150.297 676352.764 0, 1036441.815 676354.9 0,
+ 1036733.333 676357.054 0, 1037024.851 676359.225 0, 1037316.369 676361.412 0, 1037607.886 676363.617 0, 1037899.404 676365.839 0, 1038190.921 676368.079 0, 1038482.438 676370.335 0, 1038773.955 676372.609 0, 1039065.472 676374.899 0, 1039356.989 676377.207 0,
+ 1039648.505 676379.532 0, 1039940.022 676381.875 0, 1040231.538 676384.234 0, 1040523.054 676386.61 0, 1040814.57 676389.004 0, 1041106.086 676391.415 0, 1041397.602 676393.843 0, 1041689.118 676396.288 0, 1041979.229 676398.739 0, 1042026.427 670830.184 0,
+ 1042073.622 665261.936 0))
+
+POLYGON ((1055971.784 676537.104 0, 1055681.679 676533.834 0, 1055390.171 676530.565 0, 1055098.663 676527.313 0, 1054807.155 676524.079 0, 1054515.647 676520.862 0, 1054224.139 676517.661 0, 1053932.631 676514.478 0, 1053641.122 676511.313 0, 1053349.613 676508.164 0,
+ 1053058.104 676505.033 0, 1052766.595 676501.918 0, 1052475.085 676498.821 0, 1052183.576 676495.741 0, 1051892.066 676492.678 0, 1051600.556 676489.633 0, 1051309.046 676486.604 0, 1051017.535 676483.593 0, 1050726.025 676480.598 0, 1050434.514 676477.621 0,
+ 1050143.003 676474.662 0, 1049851.492 676471.719 0, 1049559.981 676468.793 0, 1049268.47 676465.885 0, 1048975.556 676462.98 0, 1048685.447 676460.119 0, 1048393.935 676457.262 0, 1048102.423 676454.423 0, 1047810.911 676451.6 0, 1047519.398 676448.795 0,
+ 1047227.886 676446.006 0, 1046936.373 676443.235 0, 1046644.86 676440.481 0, 1046353.347 676437.744 0, 1046061.834 676435.025 0, 1045770.321 676432.322 0, 1045478.807 676429.637 0, 1045187.293 676426.968 0, 1044895.78 676424.317 0, 1044604.266 676421.683 0,
+ 1044312.751 676419.067 0, 1044021.237 676416.467 0, 1043729.723 676413.885 0, 1043438.208 676411.319 0, 1043146.693 676408.771 0, 1042855.179 676406.24 0, 1042563.664 676403.727 0, 1042272.148 676401.23 0, 1041979.229 676398.739 0, 1041932.029 681967.595 0,
+ 1041884.826 687536.751 0, 1042177.087 687539.237 0, 1042467.946 687541.728 0, 1042758.806 687544.236 0, 1043049.665 687546.761 0, 1043340.524 687549.303 0, 1043631.383 687551.863 0, 1043922.242 687554.44 0, 1044213.101 687557.033 0, 1044503.959 687559.644 0,
+ 1044794.818 687562.272 0, 1045085.676 687564.917 0, 1045376.534 687567.579 0, 1045667.392 687570.259 0, 1045958.25 687572.955 0, 1046249.107 687575.669 0, 1046539.965 687578.399 0, 1046830.822 687581.147 0, 1047121.679 687583.912 0, 1047412.536 687586.694 0,
+ 1047703.393 687589.493 0, 1047994.25 687592.31 0, 1048285.106 687595.143 0, 1048575.963 687597.994 0, 1048865.419 687600.847 0, 1049157.675 687603.746 0, 1049448.531 687606.648 0, 1049739.386 687609.567 0, 1050030.242 687612.503 0, 1050321.097 687615.456 0,
+ 1050611.952 687618.427 0, 1050902.807 687621.414 0, 1051193.662 687624.419 0, 1051484.516 687627.44 0, 1051775.371 687630.479 0, 1052066.225 687633.535 0, 1052357.079 687636.608 0, 1052647.933 687639.698 0, 1052938.787 687642.806 0, 1053229.64 687645.93 0,
+ 1053520.493 687649.072 0, 1053811.347 687652.23 0, 1054102.199 687655.406 0, 1054393.052 687658.599 0, 1054683.905 687661.809 0, 1054974.757 687665.036 0, 1055265.609 687668.281 0, 1055556.461 687671.542 0, 1055845.915 687674.805 0, 1055908.851 682105.805 0,
+ 1055971.784 676537.104 0))
+
+POLYGON ((1069806.558 687852.301 0, 1069517.112 687848.22 0, 1069226.271 687844.137 0, 1068935.429 687840.071 0, 1068644.587 687836.022 0, 1068353.745 687831.99 0, 1068062.902 687827.976 0, 1067772.059 687823.978 0, 1067481.216 687819.998 0, 1067190.373 687816.035 0,
+ 1066899.529 687812.089 0, 1066608.686 687808.16 0, 1066317.842 687804.248 0, 1066026.997 687800.353 0, 1065736.153 687796.475 0, 1065445.308 687792.615 0, 1065154.463 687788.771 0, 1064863.618 687784.945 0, 1064572.773 687781.136 0, 1064281.927 687777.344 0,
+ 1063991.082 687773.569 0, 1063700.236 687769.811 0, 1063409.389 687766.07 0, 1063118.543 687762.347 0, 1062826.299 687758.622 0, 1062536.849 687754.951 0, 1062246.002 687751.279 0, 1061955.155 687747.623 0, 1061664.307 687743.985 0, 1061373.46 687740.365 0,
+ 1061082.612 687736.761 0, 1060791.763 687733.174 0, 1060500.915 687729.605 0, 1060210.067 687726.052 0, 1059919.218 687722.517 0, 1059628.369 687718.999 0, 1059337.52 687715.498 0, 1059046.67 687712.014 0, 1058755.82 687708.547 0, 1058464.971 687705.097 0,
+ 1058174.121 687701.665 0, 1057883.27 687698.249 0, 1057592.42 687694.851 0, 1057301.569 687691.47 0, 1057010.718 687688.106 0, 1056719.867 687684.759 0, 1056429.016 687681.429 0, 1056138.165 687678.116 0, 1055845.915 687674.805 0, 1055782.975 693244.1 0,
+ 1055720.032 698813.688 0, 1056011.623 698816.992 0, 1056301.819 698820.297 0, 1056592.014 698823.62 0, 1056882.21 698826.959 0, 1057172.405 698830.316 0, 1057462.6 698833.689 0, 1057752.795 698837.08 0, 1058042.99 698840.488 0, 1058333.184 698843.913 0,
+ 1058623.378 698847.354 0, 1058913.572 698850.813 0, 1059203.766 698854.29 0, 1059493.96 698857.783 0, 1059784.153 698861.293 0, 1060074.346 698864.82 0, 1060364.539 698868.365 0, 1060654.732 698871.926 0, 1060944.925 698875.505 0, 1061235.117 698879.1 0,
+ 1061525.309 698882.713 0, 1061815.501 698886.343 0, 1062105.693 698889.99 0, 1062395.884 698893.654 0, 1062684.681 698897.317 0, 1062976.267 698901.033 0, 1063266.457 698904.748 0, 1063556.648 698908.48 0, 1063846.838 698912.23 0, 1064137.029 698915.996 0,
+ 1064427.219 698919.78 0, 1064717.408 698923.58 0, 1065007.598 698927.398 0, 1065297.787 698931.233 0, 1065587.976 698935.084 0, 1065878.165 698938.953 0, 1066168.354 698942.839 0, 1066458.542 698946.742 0, 1066748.73 698950.663 0, 1067038.918 698954.6 0,
+ 1067329.106 698958.554 0, 1067619.293 698962.526 0, 1067909.481 698966.514 0, 1068199.667 698970.52 0, 1068489.854 698974.542 0, 1068780.041 698978.582 0, 1069070.227 698982.639 0, 1069360.413 698986.713 0, 1069649.206 698990.784 0, 1069727.884 693421.396 0,
+ 1069806.558 687852.301 0))
+
+POLYGON ((1083577.824 699207.231 0, 1083289.042 699202.344 0, 1082998.868 699197.451 0, 1082708.695 699192.574 0, 1082418.521 699187.714 0, 1082128.346 699182.872 0, 1081838.172 699178.047 0, 1081547.997 699173.238 0, 1081257.822 699168.447 0, 1080967.647 699163.673 0,
+ 1080677.471 699158.916 0, 1080387.295 699154.176 0, 1080097.119 699149.453 0, 1079806.942 699144.747 0, 1079516.766 699140.058 0, 1079226.589 699135.387 0, 1078936.411 699130.732 0, 1078646.234 699126.095 0, 1078356.056 699121.474 0, 1078065.878 699116.871 0,
+ 1077775.699 699112.285 0, 1077485.521 699107.715 0, 1077195.342 699103.163 0, 1076905.163 699098.628 0, 1076613.591 699094.089 0, 1076324.804 699089.61 0, 1076034.624 699085.126 0, 1075744.443 699080.659 0, 1075454.263 699076.209 0, 1075164.082 699071.777 0,
+ 1074873.901 699067.361 0, 1074583.72 699062.963 0, 1074293.538 699058.582 0, 1074003.356 699054.217 0, 1073713.174 699049.87 0, 1073422.992 699045.54 0, 1073132.809 699041.227 0, 1072842.626 699036.931 0, 1072552.443 699032.653 0, 1072262.26 699028.391 0,
+ 1071972.076 699024.146 0, 1071681.893 699019.918 0, 1071391.709 699015.708 0, 1071101.524 699011.515 0, 1070811.34 699007.338 0, 1070521.155 699003.179 0, 1070230.97 698999.037 0, 1069940.784 698994.912 0, 1069649.206 698990.784 0, 1069570.524 704560.46 0,
+ 1069491.838 710130.422 0, 1069782.757 710134.541 0, 1070072.287 710138.657 0, 1070361.817 710142.789 0, 1070651.346 710146.939 0, 1070940.875 710151.106 0, 1071230.403 710155.29 0, 1071519.932 710159.491 0, 1071809.46 710163.709 0, 1072098.988 710167.944 0,
+ 1072388.516 710172.196 0, 1072678.043 710176.466 0, 1072967.57 710180.752 0, 1073257.097 710185.055 0, 1073546.624 710189.375 0, 1073836.15 710193.713 0, 1074125.676 710198.067 0, 1074415.202 710202.438 0, 1074704.728 710206.827 0, 1074994.253 710211.232 0,
+ 1075283.778 710215.655 0, 1075573.303 710220.094 0, 1075862.828 710224.551 0, 1076152.352 710229.025 0, 1076440.488 710233.494 0, 1076731.4 710238.023 0, 1077020.924 710242.548 0, 1077310.447 710247.09 0, 1077599.97 710251.649 0, 1077889.493 710256.224 0,
+ 1078179.015 710260.817 0, 1078468.537 710265.427 0, 1078758.059 710270.054 0, 1079047.581 710274.698 0, 1079337.102 710279.36 0, 1079626.624 710284.038 0, 1079916.144 710288.733 0, 1080205.665 710293.445 0, 1080495.185 710298.174 0, 1080784.705 710302.921 0,
+ 1081074.225 710307.684 0, 1081363.744 710312.464 0, 1081653.264 710317.262 0, 1081942.782 710322.076 0, 1082232.301 710326.908 0, 1082521.819 710331.756 0, 1082811.337 710336.622 0, 1083100.855 710341.505 0, 1083388.985 710346.381 0, 1083483.407 704776.663 0,
+ 1083577.824 699207.231 0))
+
+POLYGON ((1097285.467 710601.6 0, 1096997.35 710595.91 0, 1096707.847 710590.21 0, 1096418.344 710584.526 0, 1096128.84 710578.86 0, 1095839.336 710573.21 0, 1095549.832 710567.578 0, 1095260.328 710561.962 0, 1094970.823 710556.364 0, 1094681.318 710550.783 0,
+ 1094391.812 710545.219 0, 1094102.307 710539.671 0, 1093812.801 710534.141 0, 1093523.294 710528.628 0, 1093233.787 710523.132 0, 1092944.28 710517.653 0, 1092654.773 710512.191 0, 1092365.265 710506.746 0, 1092075.757 710501.318 0, 1091786.249 710495.907 0,
+ 1091496.74 710490.513 0, 1091207.231 710485.137 0, 1090917.722 710479.777 0, 1090628.212 710474.434 0, 1090337.316 710469.083 0, 1090049.192 710463.8 0, 1089759.682 710458.508 0, 1089470.171 710453.234 0, 1089180.66 710447.976 0, 1088891.148 710442.736 0,
+ 1088601.636 710437.512 0, 1088312.124 710432.306 0, 1088022.612 710427.117 0, 1087733.099 710421.944 0, 1087443.586 710416.789 0, 1087154.073 710411.651 0, 1086864.559 710406.53 0, 1086575.045 710401.425 0, 1086285.531 710396.338 0, 1085996.016 710391.268 0,
+ 1085706.502 710386.215 0, 1085416.987 710381.179 0, 1085127.471 710376.16 0, 1084837.955 710371.158 0, 1084548.439 710366.173 0, 1084258.923 710361.206 0, 1083969.407 710356.255 0, 1083679.89 710351.321 0, 1083388.985 710346.381 0, 1083294.558 715916.38 0,
+ 1083200.127 721486.658 0, 1083490.373 721491.587 0, 1083779.234 721496.509 0, 1084068.095 721501.449 0, 1084356.955 721506.405 0, 1084645.816 721511.379 0, 1084934.676 721516.37 0, 1085223.535 721521.377 0, 1085512.395 721526.402 0, 1085801.254 721531.443 0,
+ 1086090.113 721536.502 0, 1086378.971 721541.578 0, 1086667.83 721546.67 0, 1086956.687 721551.78 0, 1087245.545 721556.906 0, 1087534.402 721562.05 0, 1087823.259 721567.211 0, 1088112.116 721572.388 0, 1088400.973 721577.583 0, 1088689.829 721582.794 0,
+ 1088978.685 721588.023 0, 1089267.54 721593.269 0, 1089556.395 721598.531 0, 1089845.25 721603.811 0, 1090132.721 721609.082 0, 1090422.959 721614.421 0, 1090711.813 721619.752 0, 1091000.666 721625.099 0, 1091289.52 721630.464 0, 1091578.373 721635.846 0,
+ 1091867.225 721641.244 0, 1092156.078 721646.66 0, 1092444.93 721652.092 0, 1092733.782 721657.542 0, 1093022.633 721663.009 0, 1093311.484 721668.492 0, 1093600.335 721673.993 0, 1093889.185 721679.511 0, 1094178.035 721685.045 0, 1094466.885 721690.597 0,
+ 1094755.734 721696.165 0, 1095044.584 721701.751 0, 1095333.432 721707.354 0, 1095622.281 721712.973 0, 1095911.129 721718.61 0, 1096199.977 721724.264 0, 1096488.824 721729.934 0, 1096777.671 721735.622 0, 1097065.136 721741.299 0, 1097175.304 716171.311 0,
+ 1097285.467 710601.6 0))
+
+POLYGON ((1110929.371 722035.111 0, 1110641.921 722028.621 0, 1110353.091 722022.118 0, 1110064.261 722015.631 0, 1109775.43 722009.161 0, 1109486.599 722002.709 0, 1109197.767 721996.273 0, 1108908.936 721989.854 0, 1108620.103 721983.453 0, 1108331.271 721977.068 0,
+ 1108042.438 721970.7 0, 1107753.605 721964.35 0, 1107464.771 721958.016 0, 1107175.937 721951.699 0, 1106887.102 721945.4 0, 1106598.268 721939.117 0, 1106309.432 721932.851 0, 1106020.597 721926.603 0, 1105731.761 721920.371 0, 1105442.925 721914.156 0,
+ 1105154.088 721907.959 0, 1104865.251 721901.778 0, 1104576.414 721895.615 0, 1104287.576 721889.468 0, 1103997.357 721883.309 0, 1103709.9 721877.226 0, 1103421.061 721871.13 0, 1103132.222 721865.051 0, 1102843.382 721858.99 0, 1102554.542 721852.945 0,
+ 1102265.702 721846.917 0, 1101976.861 721840.907 0, 1101688.02 721834.913 0, 1101399.179 721828.936 0, 1101110.337 721822.977 0, 1100821.495 721817.034 0, 1100532.653 721811.108 0, 1100243.81 721805.2 0, 1099954.967 721799.308 0, 1099666.124 721793.433 0,
+ 1099377.28 721787.576 0, 1099088.436 721781.735 0, 1098799.592 721775.911 0, 1098510.747 721770.105 0, 1098221.902 721764.315 0, 1097933.056 721758.542 0, 1097644.211 721752.787 0, 1097355.365 721747.048 0, 1097065.136 721741.299 0, 1096954.963 727311.563 0,
+ 1096844.784 732882.098 0, 1097134.353 732887.834 0, 1097422.544 732893.559 0, 1097710.734 732899.302 0, 1097998.923 732905.062 0, 1098287.113 732910.838 0, 1098575.302 732916.631 0, 1098863.491 732922.442 0, 1099151.679 732928.269 0, 1099439.867 732934.114 0,
+ 1099728.055 732939.975 0, 1100016.242 732945.853 0, 1100304.429 732951.748 0, 1100592.616 732957.661 0, 1100880.802 732963.59 0, 1101168.988 732969.536 0, 1101457.173 732975.499 0, 1101745.359 732981.479 0, 1102033.543 732987.476 0, 1102321.728 732993.49 0,
+ 1102609.912 732999.521 0, 1102898.096 733005.569 0, 1103186.279 733011.634 0, 1103474.462 733017.716 0, 1103761.267 733023.785 0, 1104050.828 733029.93 0, 1104339.01 733036.063 0, 1104627.191 733042.213 0, 1104915.373 733048.379 0, 1105203.553 733054.563 0,
+ 1105491.734 733060.763 0, 1105779.914 733066.981 0, 1106068.094 733073.215 0, 1106356.274 733079.467 0, 1106644.453 733085.735 0, 1106932.631 733092.02 0, 1107220.81 733098.323 0, 1107508.988 733104.642 0, 1107797.165 733110.978 0, 1108085.343 733117.332 0,
+ 1108373.519 733123.702 0, 1108661.696 733130.089 0, 1108949.872 733136.493 0, 1109238.048 733142.914 0, 1109526.223 733149.352 0, 1109814.398 733155.807 0, 1110102.573 733162.279 0, 1110390.747 733168.768 0, 1110677.544 733175.243 0, 1110803.46 727605.041 0,
+ 1110929.371 722035.111 0))
+
+POLYGON ((1124509.421 733507.466 0, 1124222.641 733500.181 0, 1123934.487 733492.878 0, 1123646.331 733485.592 0, 1123358.176 733478.323 0, 1123070.02 733471.071 0, 1122781.863 733463.836 0, 1122493.706 733456.617 0, 1122205.549 733449.416 0, 1121917.391 733442.232 0,
+ 1121629.233 733435.065 0, 1121341.075 733427.914 0, 1121052.916 733420.781 0, 1120764.756 733413.664 0, 1120476.597 733406.565 0, 1120188.436 733399.482 0, 1119900.276 733392.417 0, 1119612.115 733385.368 0, 1119323.953 733378.336 0, 1119035.791 733371.322 0,
+ 1118747.629 733364.324 0, 1118459.466 733357.343 0, 1118171.303 733350.379 0, 1117883.139 733343.433 0, 1117593.6 733336.47 0, 1117306.811 733329.59 0, 1117018.646 733322.694 0, 1116730.481 733315.815 0, 1116442.316 733308.953 0, 1116154.15 733302.108 0,
+ 1115865.983 733295.28 0, 1115577.817 733288.468 0, 1115289.649 733281.674 0, 1115001.482 733274.897 0, 1114713.314 733268.137 0, 1114425.145 733261.393 0, 1114136.977 733254.667 0, 1113848.807 733247.958 0, 1113560.638 733241.265 0, 1113272.468 733234.59 0,
+ 1112984.298 733227.931 0, 1112696.127 733221.29 0, 1112407.956 733214.665 0, 1112119.784 733208.057 0, 1111831.612 733201.467 0, 1111543.44 733194.893 0, 1111255.267 733188.336 0, 1110967.094 733181.796 0, 1110677.544 733175.243 0, 1110551.622 738745.712 0,
+ 1110425.694 744316.446 0, 1110714.585 744322.985 0, 1111002.102 744329.51 0, 1111289.619 744336.052 0, 1111577.136 744342.611 0, 1111864.652 744349.186 0, 1112152.168 744355.779 0, 1112439.683 744362.388 0, 1112727.198 744369.015 0, 1113014.712 744375.658 0,
+ 1113302.227 744382.318 0, 1113589.741 744388.996 0, 1113877.254 744395.69 0, 1114164.767 744402.401 0, 1114452.28 744409.129 0, 1114739.792 744415.874 0, 1115027.304 744422.635 0, 1115314.815 744429.414 0, 1115602.326 744436.21 0, 1115889.837 744443.022 0,
+ 1116177.347 744449.852 0, 1116464.857 744456.698 0, 1116752.366 744463.562 0, 1117039.875 744470.442 0, 1117326.012 744477.306 0, 1117614.892 744484.253 0, 1117902.4 744491.184 0, 1118189.908 744498.132 0, 1118477.415 744505.097 0, 1118764.921 744512.079 0,
+ 1119052.427 744519.078 0, 1119339.933 744526.093 0, 1119627.438 744533.126 0, 1119914.943 744540.175 0, 1120202.448 744547.242 0, 1120489.952 744554.325 0, 1120777.456 744561.425 0, 1121064.959 744568.543 0, 1121352.462 744575.677 0, 1121639.964 744582.828 0,
+ 1121927.466 744589.996 0, 1122214.968 744597.181 0, 1122502.469 744604.382 0, 1122789.97 744611.601 0, 1123077.47 744618.837 0, 1123364.97 744626.089 0, 1123652.469 744633.359 0, 1123939.968 744640.645 0, 1124226.096 744647.914 0, 1124367.762 739077.558 0,
+ 1124509.421 733507.466 0))
+
+POLYGON ((1138025.507 745018.369 0, 1137739.399 745010.292 0, 1137451.921 745002.193 0, 1137164.443 744994.111 0, 1136876.965 744986.047 0, 1136589.486 744977.999 0, 1136302.007 744969.968 0, 1136014.528 744961.954 0, 1135727.047 744953.957 0, 1135439.567 744945.977 0,
+ 1135152.086 744938.013 0, 1134864.604 744930.067 0, 1134577.122 744922.138 0, 1134289.64 744914.225 0, 1134002.157 744906.33 0, 1133714.673 744898.451 0, 1133427.19 744890.589 0, 1133139.705 744882.744 0, 1132852.22 744874.917 0, 1132564.735 744867.106 0,
+ 1132277.249 744859.312 0, 1131989.763 744851.534 0, 1131702.277 744843.774 0, 1131414.79 744836.031 0, 1131125.932 744828.268 0, 1130839.814 744820.595 0, 1130552.326 744812.903 0, 1130264.837 744805.227 0, 1129977.347 744797.568 0, 1129689.857 744789.927 0,
+ 1129402.367 744782.302 0, 1129114.877 744774.694 0, 1128827.385 744767.103 0, 1128539.894 744759.529 0, 1128252.402 744751.972 0, 1127964.909 744744.432 0, 1127677.416 744736.908 0, 1127389.923 744729.402 0, 1127102.429 744721.912 0, 1126814.935 744714.44 0,
+ 1126527.44 744706.984 0, 1126239.945 744699.546 0, 1125952.45 744692.124 0, 1125664.954 744684.719 0, 1125377.457 744677.331 0, 1125089.96 744669.96 0, 1124802.463 744662.606 0, 1124514.965 744655.269 0, 1124226.096 744647.914 0, 1124084.423 750218.531 0,
+ 1123942.744 755789.405 0, 1124230.954 755796.743 0, 1124517.796 755804.064 0, 1124804.638 755811.401 0, 1125091.479 755818.755 0, 1125378.32 755826.126 0, 1125665.16 755833.514 0, 1125952 755840.919 0, 1126238.839 755848.341 0, 1126525.678 755855.779 0,
+ 1126812.516 755863.235 0, 1127099.354 755870.707 0, 1127386.192 755878.197 0, 1127673.029 755885.703 0, 1127959.866 755893.226 0, 1128246.702 755900.766 0, 1128533.538 755908.322 0, 1128820.373 755915.896 0, 1129107.208 755923.487 0, 1129394.043 755931.094 0,
+ 1129680.877 755938.718 0, 1129967.711 755946.36 0, 1130254.544 755954.018 0, 1130541.376 755961.693 0, 1130826.842 755969.348 0, 1131115.041 755977.093 0, 1131401.872 755984.819 0, 1131688.703 755992.561 0, 1131975.533 756000.321 0, 1132262.363 756008.097 0,
+ 1132549.193 756015.89 0, 1132836.022 756023.7 0, 1133122.85 756031.527 0, 1133409.679 756039.371 0, 1133696.506 756047.231 0, 1133983.333 756055.109 0, 1134270.16 756063.003 0, 1134556.986 756070.915 0, 1134843.812 756078.843 0, 1135130.638 756086.788 0,
+ 1135417.462 756094.75 0, 1135704.287 756102.729 0, 1135991.111 756110.725 0, 1136277.934 756118.737 0, 1136564.757 756126.767 0, 1136851.58 756134.813 0, 1137138.402 756142.876 0, 1137425.223 756150.956 0, 1137710.679 756159.015 0, 1137868.096 750588.563 0,
+ 1138025.507 745018.369 0))
+
+POLYGON ((1151477.515 756567.52 0, 1151192.081 756558.655 0, 1150905.284 756549.765 0, 1150618.485 756540.891 0, 1150331.687 756532.035 0, 1150044.888 756523.195 0, 1149758.088 756514.372 0, 1149471.288 756505.566 0, 1149184.487 756496.777 0, 1148897.686 756488.005 0,
+ 1148610.884 756479.249 0, 1148324.082 756470.511 0, 1148037.279 756461.789 0, 1147750.476 756453.084 0, 1147463.672 756444.396 0, 1147176.867 756435.725 0, 1146890.063 756427.071 0, 1146603.257 756418.434 0, 1146316.451 756409.814 0, 1146029.645 756401.21 0,
+ 1145742.838 756392.624 0, 1145456.031 756384.054 0, 1145169.223 756375.501 0, 1144882.415 756366.965 0, 1144594.241 756358.406 0, 1144308.796 756349.944 0, 1144021.986 756341.459 0, 1143735.176 756332.99 0, 1143448.365 756324.539 0, 1143161.554 756316.104 0,
+ 1142874.742 756307.686 0, 1142587.93 756299.286 0, 1142301.117 756290.902 0, 1142014.303 756282.534 0, 1141727.489 756274.184 0, 1141440.675 756265.851 0, 1141153.86 756257.534 0, 1140867.045 756249.235 0, 1140580.229 756240.952 0, 1140293.413 756232.686 0,
+ 1140006.596 756224.437 0, 1139719.779 756216.205 0, 1139432.961 756207.99 0, 1139146.143 756199.792 0, 1138859.324 756191.61 0, 1138572.505 756183.446 0, 1138285.685 756175.298 0, 1137998.865 756167.167 0, 1137710.679 756159.015 0, 1137553.254 761729.721 0,
+ 1137395.823 767300.677 0, 1137683.35 767308.81 0, 1137969.514 767316.923 0, 1138255.678 767325.052 0, 1138541.842 767333.198 0, 1138828.005 767341.36 0, 1139114.167 767349.54 0, 1139400.329 767357.736 0, 1139686.491 767365.95 0, 1139972.652 767374.18 0,
+ 1140258.812 767382.427 0, 1140544.972 767390.69 0, 1140831.132 767398.971 0, 1141117.291 767407.268 0, 1141403.449 767415.583 0, 1141689.607 767423.914 0, 1141975.765 767432.262 0, 1142261.922 767440.627 0, 1142548.079 767449.008 0, 1142834.235 767457.407 0,
+ 1143120.39 767465.822 0, 1143406.545 767474.254 0, 1143692.7 767482.703 0, 1143978.854 767491.169 0, 1144263.646 767499.612 0, 1144551.161 767508.152 0, 1144837.314 767516.668 0, 1145123.466 767525.201 0, 1145409.617 767533.751 0, 1145695.769 767542.318 0,
+ 1145981.919 767550.902 0, 1146268.069 767559.503 0, 1146554.219 767568.12 0, 1146840.368 767576.755 0, 1147126.517 767585.406 0, 1147412.665 767594.074 0, 1147698.812 767602.759 0, 1147984.959 767611.46 0, 1148271.106 767620.179 0, 1148557.252 767628.914 0,
+ 1148843.397 767637.666 0, 1149129.542 767646.435 0, 1149415.687 767655.221 0, 1149701.831 767664.024 0, 1149987.974 767672.844 0, 1150274.117 767681.68 0, 1150560.26 767690.533 0, 1150846.401 767699.403 0, 1151131.182 767708.248 0, 1151304.353 762137.759 0,
+ 1151477.515 756567.52 0))
+
+POLYGON ((1164865.336 768154.623 0, 1164580.579 768144.973 0, 1164294.463 768135.295 0, 1164008.347 768125.633 0, 1163722.23 768115.988 0, 1163436.113 768106.361 0, 1163149.995 768096.749 0, 1162863.876 768087.155 0, 1162577.757 768077.578 0, 1162291.638 768068.017 0,
+ 1162005.517 768058.473 0, 1161719.397 768048.947 0, 1161433.275 768039.436 0, 1161147.153 768029.943 0, 1160861.031 768020.467 0, 1160574.908 768011.007 0, 1160288.784 768001.565 0, 1160002.66 767992.139 0, 1159716.536 767982.73 0, 1159430.41 767973.338 0,
+ 1159144.285 767963.962 0, 1158858.158 767954.604 0, 1158572.031 767945.262 0, 1158285.904 767935.937 0, 1157998.417 767926.585 0, 1157713.648 767917.338 0, 1157427.519 767908.064 0, 1157141.389 767898.806 0, 1156855.259 767889.566 0, 1156569.128 767880.342 0,
+ 1156282.997 767871.135 0, 1155996.865 767861.945 0, 1155710.733 767852.772 0, 1155424.6 767843.615 0, 1155138.466 767834.476 0, 1154852.332 767825.353 0, 1154566.198 767816.247 0, 1154280.063 767807.158 0, 1153993.927 767798.086 0, 1153707.791 767789.031 0,
+ 1153421.655 767779.992 0, 1153135.518 767770.97 0, 1152849.38 767761.966 0, 1152563.242 767752.978 0, 1152277.103 767744.006 0, 1151990.964 767735.052 0, 1151704.824 767726.115 0, 1151418.684 767717.194 0, 1151131.182 767708.248 0, 1150958.005 773278.984 0,
+ 1150784.82 778849.963 0, 1151071.662 778858.888 0, 1151357.146 778867.788 0, 1151642.63 778876.705 0, 1151928.114 778885.639 0, 1152213.597 778894.59 0, 1152499.079 778903.557 0, 1152784.561 778912.541 0, 1153070.042 778921.542 0, 1153355.523 778930.56 0,
+ 1153641.004 778939.595 0, 1153926.483 778948.646 0, 1154211.963 778957.714 0, 1154497.441 778966.799 0, 1154782.92 778975.901 0, 1155068.397 778985.02 0, 1155353.874 778994.155 0, 1155639.351 779003.308 0, 1155924.827 779012.477 0, 1156210.302 779021.662 0,
+ 1156495.777 779030.865 0, 1156781.252 779040.084 0, 1157066.726 779049.321 0, 1157352.199 779058.574 0, 1157636.316 779067.799 0, 1157923.144 779077.13 0, 1158208.616 779086.434 0, 1158494.087 779095.754 0, 1158779.557 779105.091 0, 1159065.027 779114.445 0,
+ 1159350.497 779123.815 0, 1159635.966 779133.203 0, 1159921.434 779142.607 0, 1160206.902 779152.028 0, 1160492.369 779161.466 0, 1160777.836 779170.921 0, 1161063.302 779180.392 0, 1161348.768 779189.88 0, 1161634.233 779199.386 0, 1161919.697 779208.907 0,
+ 1162205.161 779218.446 0, 1162490.624 779228.002 0, 1162776.087 779237.574 0, 1163061.549 779247.163 0, 1163347.011 779256.769 0, 1163632.472 779266.391 0, 1163917.933 779276.031 0, 1164203.393 779285.687 0, 1164487.497 779295.314 0, 1164676.421 773724.847 0,
+ 1164865.336 768154.623 0))
+
+POLYGON ((1178188.862 779779.377 0, 1177904.784 779768.947 0, 1177619.352 779758.484 0, 1177333.92 779748.038 0, 1177048.487 779737.609 0, 1176763.054 779727.197 0, 1176477.62 779716.801 0, 1176192.185 779706.423 0, 1175906.75 779696.061 0, 1175621.314 779685.716 0,
+ 1175335.878 779675.387 0, 1175050.441 779665.076 0, 1174765.003 779654.781 0, 1174479.565 779644.503 0, 1174194.126 779634.242 0, 1173908.686 779623.998 0, 1173623.246 779613.77 0, 1173337.806 779603.559 0, 1173052.364 779593.365 0, 1172766.923 779583.188 0,
+ 1172481.48 779573.028 0, 1172196.037 779562.885 0, 1171910.593 779552.758 0, 1171625.149 779542.648 0, 1171338.351 779532.507 0, 1171054.259 779522.478 0, 1170768.813 779512.419 0, 1170483.366 779502.376 0, 1170197.919 779492.35 0, 1169912.471 779482.341 0,
+ 1169627.023 779472.349 0, 1169341.574 779462.373 0, 1169056.124 779452.415 0, 1168770.674 779442.473 0, 1168485.223 779432.548 0, 1168199.772 779422.639 0, 1167914.32 779412.748 0, 1167628.868 779402.873 0, 1167343.414 779393.015 0, 1167057.961 779383.174 0,
+ 1166772.507 779373.35 0, 1166487.052 779363.542 0, 1166201.596 779353.752 0, 1165916.14 779343.978 0, 1165630.684 779334.221 0, 1165345.227 779324.48 0, 1165059.769 779314.757 0, 1164774.311 779305.05 0, 1164487.497 779295.314 0, 1164298.565 784866.021 0,
+ 1164109.626 790436.964 0, 1164395.781 790446.678 0, 1164680.583 790456.362 0, 1164965.385 790466.063 0, 1165250.186 790475.781 0, 1165534.987 790485.516 0, 1165819.787 790495.267 0, 1166104.587 790505.036 0, 1166389.386 790514.821 0, 1166674.184 790524.622 0,
+ 1166958.982 790534.441 0, 1167243.78 790544.276 0, 1167528.576 790554.128 0, 1167813.372 790563.997 0, 1168098.168 790573.882 0, 1168382.963 790583.785 0, 1168667.757 790593.704 0, 1168952.551 790603.64 0, 1169237.344 790613.592 0, 1169522.137 790623.562 0,
+ 1169806.929 790633.548 0, 1170091.721 790643.551 0, 1170376.511 790653.57 0, 1170661.302 790663.607 0, 1170944.741 790673.612 0, 1171230.881 790683.73 0, 1171515.669 790693.816 0, 1171800.457 790703.92 0, 1172085.244 790714.04 0, 1172370.031 790724.177 0,
+ 1172654.817 790734.331 0, 1172939.603 790744.501 0, 1173224.388 790754.689 0, 1173509.172 790764.893 0, 1173793.956 790775.113 0, 1174078.739 790785.351 0, 1174363.521 790795.605 0, 1174648.303 790805.876 0, 1174933.085 790816.164 0, 1175217.865 790826.469 0,
+ 1175502.645 790836.79 0, 1175787.425 790847.128 0, 1176072.204 790857.483 0, 1176356.982 790867.855 0, 1176641.76 790878.243 0, 1176926.537 790888.648 0, 1177211.313 790899.07 0, 1177496.089 790909.509 0, 1177779.515 790919.915 0, 1177984.193 785349.528 0,
+ 1178188.862 779779.377 0))
+
+POLYGON ((1191447.985 791441.483 0, 1191164.588 791430.277 0, 1190879.842 791419.033 0, 1190595.097 791407.807 0, 1190310.35 791396.597 0, 1190025.603 791385.404 0, 1189740.855 791374.228 0, 1189456.107 791363.069 0, 1189171.357 791351.926 0, 1188886.608 791340.8 0,
+ 1188601.857 791329.691 0, 1188317.106 791318.599 0, 1188032.354 791307.523 0, 1187747.602 791296.464 0, 1187462.849 791285.422 0, 1187178.095 791274.397 0, 1186893.341 791263.388 0, 1186608.586 791252.397 0, 1186323.83 791241.422 0, 1186039.074 791230.463 0,
+ 1185754.317 791219.522 0, 1185469.559 791208.597 0, 1185184.801 791197.689 0, 1184900.042 791186.798 0, 1184613.934 791175.872 0, 1184330.522 791165.066 0, 1184045.761 791154.225 0, 1183761 791143.401 0, 1183476.238 791132.593 0, 1183191.475 791121.802 0,
+ 1182906.712 791111.029 0, 1182621.948 791100.271 0, 1182337.183 791089.531 0, 1182052.418 791078.807 0, 1181767.652 791068.101 0, 1181482.886 791057.41 0, 1181198.119 791046.737 0, 1180913.351 791036.081 0, 1180628.582 791025.441 0, 1180343.813 791014.818 0,
+ 1180059.044 791004.211 0, 1179774.274 790993.622 0, 1179489.503 790983.049 0, 1179204.731 790972.493 0, 1178919.959 790961.954 0, 1178635.186 790951.431 0, 1178350.413 790940.926 0, 1178065.639 790930.437 0, 1177779.515 790919.915 0, 1177574.828 796490.534 0,
+ 1177370.134 802061.382 0, 1177655.599 802071.88 0, 1177939.717 802082.345 0, 1178223.835 802092.826 0, 1178507.952 802103.324 0, 1178792.068 802113.839 0, 1179076.184 802124.371 0, 1179360.299 802134.92 0, 1179644.413 802145.485 0, 1179928.527 802156.067 0,
+ 1180212.64 802166.665 0, 1180496.753 802177.281 0, 1180780.865 802187.913 0, 1181064.976 802198.561 0, 1181349.087 802209.227 0, 1181633.197 802219.909 0, 1181917.307 802230.608 0, 1182201.416 802241.324 0, 1182485.524 802252.056 0, 1182769.632 802262.805 0,
+ 1183053.739 802273.571 0, 1183337.845 802284.353 0, 1183621.951 802295.153 0, 1183906.056 802305.969 0, 1184188.815 802316.75 0, 1184474.264 802327.651 0, 1184758.367 802338.517 0, 1185042.47 802349.4 0, 1185326.571 802360.299 0, 1185610.673 802371.216 0,
+ 1185894.773 802382.149 0, 1186178.873 802393.099 0, 1186462.972 802404.065 0, 1186747.071 802415.048 0, 1187031.169 802426.048 0, 1187315.267 802437.065 0, 1187599.363 802448.098 0, 1187883.459 802459.148 0, 1188167.555 802470.215 0, 1188451.649 802481.299 0,
+ 1188735.744 802492.399 0, 1189019.837 802503.516 0, 1189303.93 802514.649 0, 1189588.022 802525.8 0, 1189872.113 802536.967 0, 1190156.204 802548.151 0, 1190440.294 802559.351 0, 1190724.384 802570.569 0, 1191007.129 802581.75 0, 1191227.561 797011.502 0,
+ 1191447.985 791441.483 0))
+
+POLYGON ((1204642.599 803140.642 0, 1204359.885 803128.662 0, 1204075.828 803116.642 0, 1203791.771 803104.639 0, 1203507.713 803092.653 0, 1203223.654 803080.683 0, 1202939.595 803068.73 0, 1202655.534 803056.794 0, 1202371.473 803044.874 0, 1202087.412 803032.971 0,
+ 1201803.35 803021.085 0, 1201519.287 803009.216 0, 1201235.223 802997.363 0, 1200951.158 802985.527 0, 1200667.093 802973.708 0, 1200383.028 802961.906 0, 1200098.961 802950.12 0, 1199814.894 802938.351 0, 1199530.826 802926.598 0, 1199246.757 802914.863 0,
+ 1198962.688 802903.144 0, 1198678.618 802891.442 0, 1198394.548 802879.756 0, 1198110.476 802868.087 0, 1197825.061 802856.38 0, 1197542.332 802844.8 0, 1197258.258 802833.182 0, 1196974.184 802821.58 0, 1196690.109 802809.994 0, 1196406.034 802798.426 0,
+ 1196121.958 802786.874 0, 1195837.881 802775.339 0, 1195553.804 802763.821 0, 1195269.725 802752.32 0, 1194985.647 802740.835 0, 1194701.567 802729.367 0, 1194417.487 802717.915 0, 1194133.406 802706.481 0, 1193849.325 802695.063 0, 1193565.242 802683.661 0,
+ 1193281.16 802672.277 0, 1192997.076 802660.909 0, 1192712.992 802649.558 0, 1192428.907 802638.224 0, 1192144.821 802626.906 0, 1191860.735 802615.605 0, 1191576.648 802604.321 0, 1191292.561 802593.054 0, 1191007.129 802581.75 0, 1190786.687 808152.222 0,
+ 1190566.237 813722.916 0, 1190851.01 813734.194 0, 1191134.442 813745.436 0, 1191417.873 813756.694 0, 1191701.303 813767.969 0, 1191984.733 813779.26 0, 1192268.162 813790.568 0, 1192551.591 813801.893 0, 1192835.019 813813.235 0, 1193118.446 813824.593 0,
+ 1193401.872 813835.968 0, 1193685.298 813847.359 0, 1193968.723 813858.768 0, 1194252.148 813870.193 0, 1194535.571 813881.634 0, 1194818.994 813893.093 0, 1195102.417 813904.568 0, 1195385.839 813916.059 0, 1195669.26 813927.568 0, 1195952.68 813939.093 0,
+ 1196236.1 813950.634 0, 1196519.519 813962.193 0, 1196802.937 813973.768 0, 1197086.355 813985.36 0, 1197368.432 813996.913 0, 1197653.188 814008.593 0, 1197936.604 814020.235 0, 1198220.019 814031.894 0, 1198503.433 814043.569 0, 1198786.846 814055.261 0,
+ 1199070.259 814066.969 0, 1199353.671 814078.694 0, 1199637.083 814090.436 0, 1199920.494 814102.195 0, 1200203.904 814113.97 0, 1200487.313 814125.762 0, 1200770.722 814137.571 0, 1201054.13 814149.396 0, 1201337.537 814161.238 0, 1201620.944 814173.097 0,
+ 1201904.35 814184.972 0, 1202187.755 814196.864 0, 1202471.159 814208.773 0, 1202754.563 814220.698 0, 1203037.966 814232.64 0, 1203321.369 814244.599 0, 1203604.771 814256.574 0, 1203888.172 814268.567 0, 1204170.233 814280.519 0, 1204406.421 808710.469 0,
+ 1204642.599 803140.642 0))
+
+POLYGON ((1217772.6 814876.552 0, 1217490.571 814863.803 0, 1217207.205 814851.011 0, 1216923.838 814838.235 0, 1216640.471 814825.475 0, 1216357.103 814812.732 0, 1216073.734 814800.006 0, 1215790.364 814787.297 0, 1215506.993 814774.605 0, 1215223.622 814761.929 0,
+ 1214940.25 814749.269 0, 1214656.877 814736.627 0, 1214373.504 814724.001 0, 1214090.13 814711.391 0, 1213806.755 814698.799 0, 1213523.379 814686.223 0, 1213240.003 814673.664 0, 1212956.626 814661.121 0, 1212673.248 814648.595 0, 1212389.869 814636.086 0,
+ 1212106.49 814623.594 0, 1211823.109 814611.118 0, 1211539.729 814598.659 0, 1211256.347 814586.216 0, 1210971.627 814573.732 0, 1210689.582 814561.381 0, 1210406.198 814548.989 0, 1210122.813 814536.613 0, 1209839.428 814524.254 0, 1209556.042 814511.912 0,
+ 1209272.655 814499.586 0, 1208989.268 814487.277 0, 1208705.88 814474.985 0, 1208422.491 814462.709 0, 1208139.101 814450.45 0, 1207855.711 814438.208 0, 1207572.32 814425.982 0, 1207288.928 814413.773 0, 1207005.536 814401.581 0, 1206722.143 814389.405 0,
+ 1206438.749 814377.246 0, 1206155.354 814365.104 0, 1205871.959 814352.978 0, 1205588.563 814340.87 0, 1205305.166 814328.777 0, 1205021.769 814316.702 0, 1204738.37 814304.643 0, 1204454.971 814292.601 0, 1204170.233 814280.519 0, 1203934.036 819850.785 0,
+ 1203697.83 825421.266 0, 1203981.91 825433.321 0, 1204264.653 825445.335 0, 1204547.395 825457.366 0, 1204830.137 825469.414 0, 1205112.878 825481.478 0, 1205395.618 825493.559 0, 1205678.358 825505.656 0, 1205961.097 825517.77 0, 1206243.835 825529.901 0,
+ 1206526.573 825542.048 0, 1206809.309 825554.213 0, 1207092.045 825566.393 0, 1207374.781 825578.591 0, 1207657.515 825590.805 0, 1207940.249 825603.035 0, 1208222.982 825615.282 0, 1208505.715 825627.546 0, 1208788.447 825639.827 0, 1209071.178 825652.124 0,
+ 1209353.908 825664.438 0, 1209636.637 825676.768 0, 1209919.366 825689.116 0, 1210202.094 825701.479 0, 1210483.487 825713.801 0, 1210767.548 825726.257 0, 1211050.274 825738.67 0, 1211332.999 825751.101 0, 1211615.724 825763.548 0, 1211898.448 825776.011 0,
+ 1212181.171 825788.492 0, 1212463.893 825800.988 0, 1212746.614 825813.502 0, 1213029.335 825826.032 0, 1213312.055 825838.579 0, 1213594.774 825851.142 0, 1213877.493 825863.722 0, 1214160.211 825876.319 0, 1214442.928 825888.933 0, 1214725.644 825901.563 0,
+ 1215008.36 825914.209 0, 1215291.075 825926.872 0, 1215573.789 825939.552 0, 1215856.502 825952.249 0, 1216139.215 825964.962 0, 1216421.927 825977.692 0, 1216704.638 825990.438 0, 1216987.348 826003.202 0, 1217268.725 826015.921 0, 1217520.667 820446.13 0,
+ 1217772.6 814876.552 0))
+
+POLYGON ((1230837.885 826648.914 0, 1230556.543 826635.399 0, 1230273.87 826621.837 0, 1229991.196 826608.292 0, 1229708.521 826594.764 0, 1229425.845 826581.252 0, 1229143.169 826567.757 0, 1228860.492 826554.278 0, 1228577.814 826540.816 0, 1228295.135 826527.371 0,
+ 1228012.456 826513.942 0, 1227729.775 826500.53 0, 1227447.094 826487.135 0, 1227164.413 826473.756 0, 1226881.73 826460.394 0, 1226599.046 826447.048 0, 1226316.362 826433.719 0, 1226033.677 826420.407 0, 1225750.991 826407.112 0, 1225468.305 826393.833 0,
+ 1225185.617 826380.57 0, 1224902.929 826367.325 0, 1224620.24 826354.096 0, 1224337.551 826340.883 0, 1224053.528 826327.625 0, 1223772.169 826314.508 0, 1223489.477 826301.346 0, 1223206.784 826288.2 0, 1222924.09 826275.071 0, 1222641.396 826261.958 0,
+ 1222358.701 826248.862 0, 1222076.005 826235.783 0, 1221793.308 826222.721 0, 1221510.611 826209.675 0, 1221227.913 826196.645 0, 1220945.214 826183.633 0, 1220662.514 826170.636 0, 1220379.813 826157.657 0, 1220097.112 826144.694 0, 1219814.41 826131.748 0,
+ 1219531.707 826118.819 0, 1219249.004 826105.906 0, 1218966.299 826093.009 0, 1218683.594 826080.13 0, 1218400.889 826067.267 0, 1218118.182 826054.421 0, 1217835.475 826041.591 0, 1217552.767 826028.778 0, 1217268.725 826015.921 0, 1217016.772 831585.923 0,
+ 1216764.811 837156.132 0, 1217048.194 837168.958 0, 1217330.246 837181.742 0, 1217612.298 837194.542 0, 1217894.349 837207.358 0, 1218176.399 837220.191 0, 1218458.448 837233.041 0, 1218740.497 837245.907 0, 1219022.545 837258.79 0, 1219304.592 837271.69 0,
+ 1219586.638 837284.606 0, 1219868.684 837297.539 0, 1220150.729 837310.488 0, 1220432.773 837323.454 0, 1220714.816 837336.437 0, 1220996.859 837349.436 0, 1221278.901 837362.451 0, 1221560.942 837375.484 0, 1221842.982 837388.533 0, 1222125.021 837401.598 0,
+ 1222407.06 837414.68 0, 1222689.098 837427.779 0, 1222971.135 837440.894 0, 1223253.171 837454.026 0, 1223533.878 837467.113 0, 1223817.242 837480.34 0, 1224099.276 837493.522 0, 1224381.309 837506.72 0, 1224663.342 837519.935 0, 1224945.374 837533.167 0,
+ 1225227.405 837546.415 0, 1225509.435 837559.679 0, 1225791.464 837572.961 0, 1226073.493 837586.259 0, 1226355.521 837599.573 0, 1226637.548 837612.904 0, 1226919.574 837626.252 0, 1227201.599 837639.616 0, 1227483.624 837652.997 0, 1227765.648 837666.395 0,
+ 1228047.671 837679.809 0, 1228329.693 837693.24 0, 1228611.715 837706.687 0, 1228893.736 837720.151 0, 1229175.756 837733.632 0, 1229457.775 837747.129 0, 1229739.793 837760.642 0, 1230021.811 837774.173 0, 1230302.5 837787.656 0, 1230570.197 832218.181 0,
+ 1230837.885 826648.914 0))
+
+POLYGON ((1243838.35 838457.424 0, 1243557.698 838443.148 0, 1243275.72 838428.821 0, 1242993.741 838414.511 0, 1242711.761 838400.217 0, 1242429.78 838385.94 0, 1242147.799 838371.679 0, 1241865.816 838357.435 0, 1241583.833 838343.207 0, 1241301.849 838328.997 0,
+ 1241019.864 838314.802 0, 1240737.878 838300.625 0, 1240455.892 838286.464 0, 1240173.904 838272.319 0, 1239891.916 838258.191 0, 1239609.927 838244.08 0, 1239327.937 838229.985 0, 1239045.946 838215.907 0, 1238763.955 838201.846 0, 1238481.962 838187.801 0,
+ 1238199.969 838173.773 0, 1237917.975 838159.761 0, 1237635.98 838145.766 0, 1237353.985 838131.787 0, 1237070.662 838117.76 0, 1236789.991 838103.88 0, 1236507.993 838089.952 0, 1236225.994 838076.039 0, 1235943.994 838062.144 0, 1235661.993 838048.265 0,
+ 1235379.992 838034.403 0, 1235097.989 838020.557 0, 1234815.986 838006.728 0, 1234533.983 837992.915 0, 1234251.978 837979.12 0, 1233969.972 837965.34 0, 1233687.966 837951.578 0, 1233405.959 837937.831 0, 1233123.951 837924.102 0, 1232841.942 837910.389 0,
+ 1232559.933 837896.693 0, 1232277.922 837883.013 0, 1231995.911 837869.35 0, 1231713.899 837855.703 0, 1231431.886 837842.073 0, 1231149.873 837828.46 0, 1230867.858 837814.863 0, 1230585.843 837801.283 0, 1230302.5 837787.656 0, 1230034.793 843357.333 0,
+ 1229767.076 848927.21 0, 1230049.761 848940.806 0, 1230331.12 848954.354 0, 1230612.479 848967.92 0, 1230893.837 848981.501 0, 1231175.194 848995.099 0, 1231456.55 849008.714 0, 1231737.906 849022.346 0, 1232019.261 849035.994 0, 1232300.614 849049.658 0,
+ 1232581.968 849063.339 0, 1232863.32 849077.037 0, 1233144.671 849090.751 0, 1233426.022 849104.482 0, 1233707.372 849118.229 0, 1233988.721 849131.993 0, 1234270.069 849145.773 0, 1234551.417 849159.57 0, 1234832.763 849173.383 0, 1235114.109 849187.214 0,
+ 1235395.454 849201.06 0, 1235676.798 849214.923 0, 1235958.142 849228.803 0, 1236239.484 849242.699 0, 1236519.503 849256.547 0, 1236802.167 849270.542 0, 1237083.507 849284.488 0, 1237364.846 849298.45 0, 1237646.185 849312.429 0, 1237927.522 849326.425 0,
+ 1238208.859 849340.437 0, 1238490.195 849354.466 0, 1238771.53 849368.511 0, 1239052.865 849382.573 0, 1239334.198 849396.652 0, 1239615.531 849410.747 0, 1239896.863 849424.858 0, 1240178.194 849438.986 0, 1240459.524 849453.131 0, 1240740.853 849467.292 0,
+ 1241022.182 849481.47 0, 1241303.509 849495.665 0, 1241584.836 849509.875 0, 1241866.162 849524.103 0, 1242147.487 849538.347 0, 1242428.812 849552.608 0, 1242710.135 849566.885 0, 1242991.458 849581.178 0, 1243271.457 849595.421 0, 1243554.909 844026.323 0,
+ 1243838.35 838457.424 0))
+
+POLYGON ((1256773.897 850301.782 0, 1256493.937 850286.748 0, 1256212.656 850271.66 0, 1255931.374 850256.588 0, 1255650.091 850241.532 0, 1255368.807 850226.494 0, 1255087.522 850211.471 0, 1254806.237 850196.466 0, 1254524.95 850181.477 0, 1254243.663 850166.504 0,
+ 1253962.375 850151.548 0, 1253681.086 850136.609 0, 1253399.796 850121.686 0, 1253118.505 850106.779 0, 1252837.213 850091.89 0, 1252555.92 850077.016 0, 1252274.627 850062.16 0, 1251993.333 850047.32 0, 1251712.037 850032.496 0, 1251430.741 850017.689 0,
+ 1251149.444 850002.899 0, 1250868.147 849988.125 0, 1250586.848 849973.368 0, 1250305.548 849958.627 0, 1250022.927 849943.833 0, 1249742.946 849929.195 0, 1249461.644 849914.504 0, 1249180.341 849899.829 0, 1248899.037 849885.171 0, 1248617.733 849870.53 0,
+ 1248336.427 849855.905 0, 1248055.121 849841.297 0, 1247773.813 849826.705 0, 1247492.505 849812.13 0, 1247211.196 849797.571 0, 1246929.886 849783.029 0, 1246648.575 849768.504 0, 1246367.264 849753.995 0, 1246085.951 849739.502 0, 1245804.638 849725.026 0,
+ 1245523.324 849710.567 0, 1245242.009 849696.124 0, 1244960.693 849681.698 0, 1244679.376 849667.288 0, 1244398.058 849652.895 0, 1244116.74 849638.519 0, 1243835.421 849624.159 0, 1243554.101 849609.816 0, 1243271.457 849595.421 0, 1242987.996 855164.715 0,
+ 1242704.525 860734.201 0, 1242986.509 860748.561 0, 1243267.174 860762.871 0, 1243547.837 860777.198 0, 1243828.5 860791.541 0, 1244109.162 860805.9 0, 1244389.823 860820.276 0, 1244670.483 860834.669 0, 1244951.143 860849.078 0, 1245231.801 860863.504 0,
+ 1245512.459 860877.946 0, 1245793.116 860892.404 0, 1246073.772 860906.88 0, 1246354.427 860921.371 0, 1246635.082 860935.879 0, 1246915.735 860950.404 0, 1247196.388 860964.945 0, 1247477.04 860979.503 0, 1247757.69 860994.077 0, 1248038.341 861008.668 0,
+ 1248318.99 861023.275 0, 1248599.638 861037.899 0, 1248880.286 861052.54 0, 1249160.932 861067.196 0, 1249440.26 861081.801 0, 1249722.223 861096.56 0, 1250002.867 861111.266 0, 1250283.51 861125.989 0, 1250564.152 861140.729 0, 1250844.794 861155.484 0,
+ 1251125.434 861170.257 0, 1251406.074 861185.046 0, 1251686.713 861199.852 0, 1251967.351 861214.674 0, 1252247.988 861229.512 0, 1252528.624 861244.367 0, 1252809.259 861259.239 0, 1253089.894 861274.127 0, 1253370.527 861289.032 0, 1253651.16 861303.953 0,
+ 1253931.792 861318.89 0, 1254212.423 861333.844 0, 1254493.053 861348.815 0, 1254773.682 861363.802 0, 1255054.31 861378.806 0, 1255334.938 861393.826 0, 1255615.564 861408.863 0, 1255896.19 861423.916 0, 1256175.498 861438.915 0, 1256474.703 855870.253 0,
+ 1256773.897 850301.782 0))
+
+POLYGON ((1269644.426 862181.685 0, 1269365.159 862165.897 0, 1269084.577 862150.051 0, 1268803.994 862134.221 0, 1268523.411 862118.408 0, 1268242.826 862102.612 0, 1267962.24 862086.832 0, 1267681.653 862071.069 0, 1267401.066 862055.322 0, 1267120.477 862039.591 0,
+ 1266839.888 862023.877 0, 1266559.298 862008.18 0, 1266278.706 861992.499 0, 1265998.114 861976.835 0, 1265717.521 861961.187 0, 1265436.927 861945.555 0, 1265156.332 861929.941 0, 1264875.736 861914.342 0, 1264595.14 861898.76 0, 1264314.542 861883.195 0,
+ 1264033.943 861867.646 0, 1263753.344 861852.114 0, 1263472.743 861836.598 0, 1263192.142 861821.099 0, 1262910.224 861805.544 0, 1262630.937 861790.15 0, 1262350.332 861774.701 0, 1262069.727 861759.267 0, 1261789.122 861743.851 0, 1261508.515 861728.451 0,
+ 1261227.907 861713.067 0, 1260947.298 861697.7 0, 1260666.689 861682.349 0, 1260386.078 861667.015 0, 1260105.467 861651.698 0, 1259824.855 861636.397 0, 1259544.242 861621.112 0, 1259263.628 861605.844 0, 1258983.013 861590.593 0, 1258702.397 861575.358 0,
+ 1258421.78 861560.139 0, 1258141.163 861544.937 0, 1257860.544 861529.752 0, 1257579.925 861514.583 0, 1257299.304 861499.431 0, 1257018.683 861484.295 0, 1256738.061 861469.175 0, 1256457.438 861454.073 0, 1256175.498 861438.915 0, 1255876.282 867007.766 0,
+ 1255577.058 872576.801 0, 1255858.34 872591.922 0, 1256138.307 872606.99 0, 1256418.273 872622.074 0, 1256698.239 872637.175 0, 1256978.204 872652.292 0, 1257258.168 872667.425 0, 1257538.131 872682.575 0, 1257818.093 872697.741 0, 1258098.054 872712.924 0,
+ 1258378.014 872728.124 0, 1258657.974 872743.34 0, 1258937.932 872758.572 0, 1259217.89 872773.821 0, 1259497.846 872789.086 0, 1259777.802 872804.368 0, 1260057.757 872819.666 0, 1260337.711 872834.981 0, 1260617.664 872850.312 0, 1260897.616 872865.66 0,
+ 1261177.568 872881.024 0, 1261457.518 872896.404 0, 1261737.468 872911.801 0, 1262017.416 872927.215 0, 1262296.051 872942.573 0, 1262577.311 872958.092 0, 1262857.256 872973.555 0, 1263137.201 872989.034 0, 1263417.145 873004.53 0, 1263697.089 873020.043 0,
+ 1263977.031 873035.572 0, 1264256.972 873051.117 0, 1264536.912 873066.679 0, 1264816.852 873082.257 0, 1265096.79 873097.852 0, 1265376.728 873113.463 0, 1265656.665 873129.091 0, 1265936.601 873144.735 0, 1266216.535 873160.396 0, 1266496.469 873176.073 0,
+ 1266776.402 873191.767 0, 1267056.334 873207.477 0, 1267336.266 873223.204 0, 1267616.196 873238.947 0, 1267896.125 873254.706 0, 1268176.054 873270.483 0, 1268455.981 873286.275 0, 1268735.907 873302.084 0, 1269014.522 873317.835 0, 1269329.479 867749.668 0,
+ 1269644.426 862181.685 0))
+
+POLYGON ((1282449.839 874096.83 0, 1282171.268 874080.292 0, 1281891.387 874063.692 0, 1281611.505 874047.109 0, 1281331.623 874030.542 0, 1281051.739 874013.992 0, 1280771.854 873997.458 0, 1280491.969 873980.94 0, 1280212.082 873964.439 0, 1279932.195 873947.955 0,
+ 1279652.306 873931.487 0, 1279372.417 873915.035 0, 1279092.526 873898.6 0, 1278812.635 873882.182 0, 1278532.742 873865.779 0, 1278252.849 873849.394 0, 1277972.955 873833.025 0, 1277693.059 873816.672 0, 1277413.163 873800.336 0, 1277133.266 873784.016 0,
+ 1276853.368 873767.713 0, 1276573.469 873751.426 0, 1276293.569 873735.155 0, 1276013.668 873718.902 0, 1275732.455 873702.588 0, 1275453.863 873686.443 0, 1275173.959 873670.239 0, 1274894.054 873654.051 0, 1274614.148 873637.879 0, 1274334.241 873621.724 0,
+ 1274054.333 873605.586 0, 1273774.425 873589.464 0, 1273494.515 873573.358 0, 1273214.605 873557.269 0, 1272934.693 873541.197 0, 1272654.781 873525.14 0, 1272374.867 873509.101 0, 1272094.953 873493.078 0, 1271815.038 873477.071 0, 1271535.121 873461.081 0,
+ 1271255.204 873445.107 0, 1270975.286 873429.149 0, 1270695.367 873413.209 0, 1270415.447 873397.284 0, 1270135.526 873381.376 0, 1269855.604 873365.485 0, 1269575.681 873349.61 0, 1269295.758 873333.752 0, 1269014.522 873317.835 0, 1268699.554 878886.183 0,
+ 1268384.577 884454.707 0, 1268665.154 884470.586 0, 1268944.422 884486.408 0, 1269223.69 884502.245 0, 1269502.956 884518.1 0, 1269782.221 884533.97 0, 1270061.486 884549.857 0, 1270340.75 884565.761 0, 1270620.012 884581.681 0, 1270899.274 884597.617 0,
+ 1271178.535 884613.57 0, 1271457.794 884629.539 0, 1271737.053 884645.525 0, 1272016.311 884661.527 0, 1272295.568 884677.546 0, 1272574.824 884693.581 0, 1272854.079 884709.632 0, 1273133.334 884725.7 0, 1273412.587 884741.784 0, 1273691.839 884757.885 0,
+ 1273971.09 884774.002 0, 1274250.341 884790.136 0, 1274529.59 884806.286 0, 1274808.839 884822.452 0, 1275086.779 884838.559 0, 1275367.333 884854.834 0, 1275646.578 884871.05 0, 1275925.823 884887.283 0, 1276205.067 884903.531 0, 1276484.309 884919.796 0,
+ 1276763.551 884936.078 0, 1277042.792 884952.376 0, 1277322.032 884968.69 0, 1277601.271 884985.021 0, 1277880.509 885001.368 0, 1278159.746 885017.732 0, 1278438.982 885034.112 0, 1278718.217 885050.509 0, 1278997.451 885066.922 0, 1279276.684 885083.351 0,
+ 1279555.916 885099.797 0, 1279835.147 885116.259 0, 1280114.378 885132.738 0, 1280393.607 885149.233 0, 1280672.835 885165.745 0, 1280952.062 885182.273 0, 1281231.289 885198.818 0, 1281510.514 885215.378 0, 1281788.432 885231.878 0, 1282119.141 879664.266 0,
+ 1282449.839 874096.83 0))
+
+POLYGON ((1295190.039 886046.914 0, 1294912.166 886029.629 0, 1294632.989 886012.28 0, 1294353.81 885994.946 0, 1294074.631 885977.629 0, 1293795.45 885960.329 0, 1293516.269 885943.045 0, 1293237.086 885925.777 0, 1292957.903 885908.526 0, 1292678.718 885891.292 0,
+ 1292399.533 885874.073 0, 1292120.346 885856.871 0, 1291841.158 885839.686 0, 1291561.97 885822.517 0, 1291282.78 885805.365 0, 1291003.589 885788.228 0, 1290724.398 885771.109 0, 1290445.205 885754.005 0, 1290166.012 885736.919 0, 1289886.817 885719.848 0,
+ 1289607.621 885702.794 0, 1289328.424 885685.757 0, 1289049.227 885668.736 0, 1288770.028 885651.731 0, 1288489.524 885634.664 0, 1288211.628 885617.771 0, 1287932.426 885600.816 0, 1287653.223 885583.877 0, 1287374.02 885566.954 0, 1287094.815 885550.048 0,
+ 1286815.609 885533.159 0, 1286536.403 885516.286 0, 1286257.195 885499.429 0, 1285977.986 885482.588 0, 1285698.777 885465.765 0, 1285419.566 885448.957 0, 1285140.355 885432.166 0, 1284861.142 885415.392 0, 1284581.928 885398.633 0, 1284302.714 885381.892 0,
+ 1284023.498 885365.166 0, 1283744.282 885348.458 0, 1283465.064 885331.765 0, 1283185.846 885315.089 0, 1282906.626 885298.43 0, 1282627.406 885281.787 0, 1282348.184 885265.16 0, 1282068.962 885248.55 0, 1281788.432 885231.878 0, 1281457.714 890799.663 0,
+ 1281126.985 896367.618 0, 1281406.856 896384.25 0, 1281685.423 896400.821 0, 1281963.989 896417.409 0, 1282242.554 896434.013 0, 1282521.118 896450.633 0, 1282799.681 896467.27 0, 1283078.243 896483.923 0, 1283356.805 896500.593 0, 1283635.365 896517.279 0,
+ 1283913.924 896533.981 0, 1284192.482 896550.7 0, 1284471.039 896567.435 0, 1284749.595 896584.187 0, 1285028.151 896600.955 0, 1285306.705 896617.739 0, 1285585.258 896634.54 0, 1285863.81 896651.357 0, 1286142.362 896668.191 0, 1286420.912 896685.041 0,
+ 1286699.461 896701.907 0, 1286978.01 896718.79 0, 1287256.557 896735.689 0, 1287535.103 896752.605 0, 1287812.347 896769.457 0, 1288092.193 896786.485 0, 1288370.736 896803.45 0, 1288649.278 896820.431 0, 1288927.82 896837.428 0, 1289206.36 896854.442 0,
+ 1289484.899 896871.472 0, 1289763.438 896888.519 0, 1290041.975 896905.582 0, 1290320.511 896922.662 0, 1290599.047 896939.758 0, 1290877.581 896956.87 0, 1291156.114 896973.999 0, 1291434.646 896991.144 0, 1291713.178 897008.305 0, 1291991.708 897025.483 0,
+ 1292270.237 897042.677 0, 1292548.765 897059.888 0, 1292827.293 897077.115 0, 1293105.819 897094.358 0, 1293384.344 897111.618 0, 1293662.868 897128.894 0, 1293941.391 897146.187 0, 1294219.913 897163.496 0, 1294497.134 897180.74 0, 1294843.592 891613.743 0,
+ 1295190.039 886046.914 0))
+
+POLYGON ((1307864.932 898031.633 0, 1307587.759 898013.605 0, 1307309.287 897995.51 0, 1307030.814 897977.43 0, 1306752.34 897959.367 0, 1306473.865 897941.321 0, 1306195.388 897923.29 0, 1305916.911 897905.276 0, 1305638.432 897887.279 0, 1305359.953 897869.298 0,
+ 1305081.472 897851.333 0, 1304802.99 897833.385 0, 1304524.508 897815.453 0, 1304246.024 897797.537 0, 1303967.539 897779.638 0, 1303689.053 897761.756 0, 1303410.566 897743.889 0, 1303132.078 897726.039 0, 1302853.589 897708.206 0, 1302575.099 897690.389 0,
+ 1302296.608 897672.588 0, 1302018.116 897654.803 0, 1301739.623 897637.035 0, 1301461.128 897619.284 0, 1301181.334 897601.466 0, 1300904.137 897583.83 0, 1300625.639 897566.127 0, 1300347.141 897548.441 0, 1300068.641 897530.772 0, 1299790.141 897513.119 0,
+ 1299511.639 897495.482 0, 1299233.137 897477.861 0, 1298954.633 897460.257 0, 1298676.128 897442.669 0, 1298397.623 897425.098 0, 1298119.116 897407.543 0, 1297840.608 897390.005 0, 1297562.099 897372.483 0, 1297283.589 897354.977 0, 1297005.079 897337.488 0,
+ 1296726.567 897320.015 0, 1296448.054 897302.558 0, 1296169.54 897285.118 0, 1295891.025 897267.694 0, 1295612.509 897250.287 0, 1295333.992 897232.896 0, 1295055.474 897215.521 0, 1294776.955 897198.163 0, 1294497.134 897180.74 0, 1294150.666 902747.903 0,
+ 1293804.188 908315.227 0, 1294083.35 908332.609 0, 1294361.214 908349.926 0, 1294639.076 908367.26 0, 1294916.938 908384.61 0, 1295194.799 908401.976 0, 1295472.658 908419.359 0, 1295750.517 908436.758 0, 1296028.375 908454.174 0, 1296306.231 908471.606 0,
+ 1296584.087 908489.054 0, 1296861.941 908506.518 0, 1297139.795 908523.999 0, 1297417.647 908541.496 0, 1297695.499 908559.01 0, 1297973.349 908576.54 0, 1298251.198 908594.086 0, 1298529.047 908611.649 0, 1298806.894 908629.228 0, 1299084.74 908646.823 0,
+ 1299362.585 908664.435 0, 1299640.43 908682.063 0, 1299918.273 908699.707 0, 1300196.115 908717.368 0, 1300472.66 908734.963 0, 1300751.796 908752.739 0, 1301029.635 908770.449 0, 1301307.473 908788.175 0, 1301585.31 908805.917 0, 1301863.146 908823.676 0,
+ 1302140.98 908841.451 0, 1302418.814 908859.243 0, 1302696.647 908877.051 0, 1302974.479 908894.875 0, 1303252.309 908912.716 0, 1303530.139 908930.573 0, 1303807.967 908948.446 0, 1304085.795 908966.336 0, 1304363.621 908984.242 0, 1304641.446 909002.165 0,
+ 1304919.271 909020.103 0, 1305197.094 909038.058 0, 1305474.916 909056.03 0, 1305752.737 909074.018 0, 1306030.557 909092.022 0, 1306308.376 909110.042 0, 1306586.194 909128.079 0, 1306864.011 909146.132 0, 1307140.532 909164.118 0, 1307502.737 903597.795 0,
+ 1307864.932 898031.633 0))
+
+POLYGON ((1320474.425 910050.683 0, 1320197.954 910031.916 0, 1319920.189 910013.078 0, 1319642.423 909994.256 0, 1319364.656 909975.451 0, 1319086.888 909956.662 0, 1318809.119 909937.889 0, 1318531.348 909919.133 0, 1318253.577 909900.393 0, 1317975.804 909881.669 0,
+ 1317698.031 909862.962 0, 1317420.256 909844.271 0, 1317142.48 909825.597 0, 1316864.703 909806.939 0, 1316586.925 909788.297 0, 1316309.146 909769.671 0, 1316031.366 909751.062 0, 1315753.585 909732.469 0, 1315475.802 909713.893 0, 1315198.019 909695.333 0,
+ 1314920.234 909676.789 0, 1314642.449 909658.261 0, 1314364.662 909639.75 0, 1314086.874 909621.256 0, 1313807.791 909602.691 0, 1313531.295 909584.315 0, 1313253.504 909565.87 0, 1312975.712 909547.44 0, 1312697.919 909529.027 0, 1312420.124 909510.631 0,
+ 1312142.329 909492.251 0, 1311864.532 909473.887 0, 1311586.735 909455.539 0, 1311308.936 909437.208 0, 1311031.136 909418.893 0, 1310753.335 909400.595 0, 1310475.534 909382.312 0, 1310197.731 909364.047 0, 1309919.927 909345.797 0, 1309642.121 909327.564 0,
+ 1309364.315 909309.347 0, 1309086.508 909291.147 0, 1308808.7 909272.963 0, 1308530.89 909254.795 0, 1308253.08 909236.644 0, 1307975.268 909218.509 0, 1307697.455 909200.39 0, 1307419.642 909182.288 0, 1307140.532 909164.118 0, 1306778.316 914730.598 0,
+ 1306416.091 920297.232 0, 1306694.542 920315.36 0, 1306971.7 920333.419 0, 1307248.858 920351.495 0, 1307526.014 920369.587 0, 1307803.169 920387.696 0, 1308080.324 920405.821 0, 1308357.477 920423.962 0, 1308634.629 920442.119 0, 1308911.78 920460.293 0,
+ 1309188.929 920478.483 0, 1309466.078 920496.69 0, 1309743.226 920514.912 0, 1310020.373 920533.151 0, 1310297.518 920551.407 0, 1310574.663 920569.678 0, 1310851.806 920587.966 0, 1311128.949 920606.271 0, 1311406.09 920624.591 0, 1311683.23 920642.928 0,
+ 1311960.369 920661.281 0, 1312237.507 920679.651 0, 1312514.644 920698.037 0, 1312791.78 920716.439 0, 1313067.624 920734.771 0, 1313346.049 920753.292 0, 1313623.181 920771.743 0, 1313900.313 920790.21 0, 1314177.443 920808.694 0, 1314454.573 920827.194 0,
+ 1314731.701 920845.711 0, 1315008.828 920864.243 0, 1315285.954 920882.792 0, 1315563.079 920901.357 0, 1315840.203 920919.939 0, 1316117.326 920938.537 0, 1316394.448 920957.151 0, 1316671.568 920975.781 0, 1316948.688 920994.428 0, 1317225.806 921013.091 0,
+ 1317502.924 921031.771 0, 1317780.04 921050.467 0, 1318057.155 921069.179 0, 1318334.269 921087.907 0, 1318611.382 921106.652 0, 1318888.494 921125.413 0, 1319165.605 921144.19 0, 1319442.714 921162.984 0, 1319718.533 921181.706 0, 1320096.484 915616.117 0,
+ 1320474.425 910050.683 0))
+
+POLYGON ((1333018.423 922103.758 0, 1332742.657 922084.256 0, 1332465.601 922064.68 0, 1332188.545 922045.12 0, 1331911.487 922025.576 0, 1331634.428 922006.048 0, 1331357.368 921986.537 0, 1331080.307 921967.042 0, 1330803.244 921947.564 0, 1330526.181 921928.102 0,
+ 1330249.116 921908.656 0, 1329972.051 921889.226 0, 1329694.984 921869.813 0, 1329417.916 921850.416 0, 1329140.847 921831.035 0, 1328863.776 921811.67 0, 1328586.705 921792.322 0, 1328309.632 921772.99 0, 1328032.559 921753.675 0, 1327755.484 921734.376 0,
+ 1327478.408 921715.093 0, 1327201.331 921695.826 0, 1326924.252 921676.576 0, 1326647.173 921657.342 0, 1326368.804 921638.035 0, 1326093.011 921618.923 0, 1325815.928 921599.738 0, 1325538.844 921580.569 0, 1325261.759 921561.417 0, 1324984.673 921542.281 0,
+ 1324707.585 921523.161 0, 1324430.497 921504.058 0, 1324153.407 921484.97 0, 1323876.317 921465.899 0, 1323599.225 921446.845 0, 1323322.132 921427.807 0, 1323045.038 921408.785 0, 1322767.943 921389.779 0, 1322490.847 921370.79 0, 1322213.749 921351.817 0,
+ 1321936.651 921332.86 0, 1321659.551 921313.92 0, 1321382.45 921294.996 0, 1321105.349 921276.088 0, 1320828.246 921257.196 0, 1320551.142 921238.321 0, 1320274.036 921219.462 0, 1319996.93 921200.62 0, 1319718.533 921181.706 0, 1319340.572 926747.444 0,
+ 1318962.601 932313.328 0, 1319240.34 932332.197 0, 1319516.791 932350.995 0, 1319793.241 932369.809 0, 1320069.69 932388.64 0, 1320346.137 932407.487 0, 1320622.584 932426.35 0, 1320899.03 932445.229 0, 1321175.474 932464.125 0, 1321451.917 932483.037 0,
+ 1321728.36 932501.965 0, 1322004.801 932520.909 0, 1322281.241 932539.87 0, 1322557.68 932558.847 0, 1322834.117 932577.84 0, 1323110.554 932596.85 0, 1323386.99 932615.875 0, 1323663.424 932634.917 0, 1323939.857 932653.976 0, 1324216.289 932673.05 0,
+ 1324492.72 932692.141 0, 1324769.15 932711.248 0, 1325045.579 932730.372 0, 1325322.007 932749.511 0, 1325597.148 932768.578 0, 1325874.859 932787.84 0, 1326151.283 932807.028 0, 1326427.706 932826.233 0, 1326704.128 932845.454 0, 1326980.549 932864.691 0,
+ 1327256.969 932883.945 0, 1327533.387 932903.215 0, 1327809.805 932922.501 0, 1328086.221 932941.803 0, 1328362.637 932961.122 0, 1328639.051 932980.457 0, 1328915.464 932999.808 0, 1329191.875 933019.175 0, 1329468.286 933038.559 0, 1329744.696 933057.959 0,
+ 1330021.104 933077.375 0, 1330297.511 933096.808 0, 1330573.917 933116.256 0, 1330850.322 933135.721 0, 1331126.726 933155.203 0, 1331403.129 933174.7 0, 1331679.53 933194.214 0, 1331955.93 933213.744 0, 1332231.045 933233.2 0, 1332624.74 927668.406 0,
+ 1333018.423 922103.758 0))
+
+POLYGON ((1345496.838 934190.554 0, 1345221.777 934170.321 0, 1344945.433 934150.01 0, 1344669.088 934129.715 0, 1344392.742 934109.437 0, 1344116.394 934089.175 0, 1343840.045 934068.929 0, 1343563.695 934048.699 0, 1343287.344 934028.486 0, 1343010.991 934008.289 0,
+ 1342734.638 933988.108 0, 1342458.283 933967.944 0, 1342181.927 933947.795 0, 1341905.57 933927.663 0, 1341629.211 933907.548 0, 1341352.852 933887.448 0, 1341076.491 933867.365 0, 1340800.129 933847.298 0, 1340523.766 933827.247 0, 1340247.402 933807.213 0,
+ 1339971.037 933787.195 0, 1339694.67 933767.193 0, 1339418.302 933747.207 0, 1339141.933 933727.238 0, 1338864.28 933707.192 0, 1338589.192 933687.348 0, 1338312.819 933667.427 0, 1338036.446 933647.523 0, 1337760.071 933627.635 0, 1337483.695 933607.763 0,
+ 1337207.318 933587.908 0, 1336930.939 933568.069 0, 1336654.56 933548.246 0, 1336378.179 933528.439 0, 1336101.797 933508.649 0, 1335825.414 933488.874 0, 1335549.03 933469.117 0, 1335272.645 933449.375 0, 1334996.258 933429.65 0, 1334719.871 933409.94 0,
+ 1334443.482 933390.248 0, 1334167.092 933370.571 0, 1333890.701 933350.911 0, 1333614.308 933331.267 0, 1333337.915 933311.639 0, 1333061.52 933292.028 0, 1332785.125 933272.432 0, 1332508.728 933252.853 0, 1332231.045 933233.2 0, 1331837.341 938798.136 0,
+ 1331443.627 944363.209 0, 1331720.651 944382.816 0, 1331996.393 944402.349 0, 1332272.134 944421.898 0, 1332547.873 944441.463 0, 1332823.612 944461.044 0, 1333099.349 944480.641 0, 1333375.085 944500.255 0, 1333650.82 944519.885 0, 1333926.554 944539.531 0,
+ 1334202.286 944559.193 0, 1334478.018 944578.872 0, 1334753.748 944598.567 0, 1335029.477 944618.278 0, 1335305.205 944638.005 0, 1335580.932 944657.749 0, 1335856.657 944677.508 0, 1336132.382 944697.284 0, 1336408.105 944717.077 0, 1336683.827 944736.885 0,
+ 1336959.548 944756.71 0, 1337235.268 944776.551 0, 1337510.987 944796.408 0, 1337786.704 944816.281 0, 1338061.14 944836.078 0, 1338338.136 944856.076 0, 1338613.849 944875.998 0, 1338889.562 944895.937 0, 1339165.274 944915.891 0, 1339440.984 944935.862 0,
+ 1339716.694 944955.849 0, 1339992.402 944975.852 0, 1340268.109 944995.871 0, 1340543.814 945015.907 0, 1340819.519 945035.959 0, 1341095.222 945056.027 0, 1341370.924 945076.111 0, 1341646.625 945096.212 0, 1341922.325 945116.328 0, 1342198.024 945136.461 0,
+ 1342473.721 945156.611 0, 1342749.417 945176.776 0, 1343025.112 945196.958 0, 1343300.806 945217.156 0, 1343576.499 945237.37 0, 1343852.191 945257.6 0, 1344127.881 945277.847 0, 1344403.57 945298.109 0, 1344677.979 945318.294 0, 1345087.414 939754.355 0,
+ 1345496.838 934190.554 0))
+
+POLYGON ((1357909.58 946310.765 0, 1357635.227 946289.805 0, 1357359.596 946268.763 0, 1357083.964 946247.738 0, 1356808.331 946226.729 0, 1356532.696 946205.736 0, 1356257.06 946184.759 0, 1355981.423 946163.799 0, 1355705.785 946142.854 0, 1355430.146 946121.926 0,
+ 1355154.505 946101.014 0, 1354878.863 946080.119 0, 1354603.22 946059.24 0, 1354327.576 946038.376 0, 1354051.93 946017.53 0, 1353776.284 945996.699 0, 1353500.636 945975.884 0, 1353224.986 945955.086 0, 1352949.336 945934.304 0, 1352673.684 945913.538 0,
+ 1352398.031 945892.789 0, 1352122.377 945872.055 0, 1351846.722 945851.338 0, 1351571.065 945830.637 0, 1351294.13 945809.857 0, 1351019.748 945789.284 0, 1350744.088 945768.632 0, 1350468.427 945747.996 0, 1350192.764 945727.376 0, 1349917.1 945706.773 0,
+ 1349641.435 945686.186 0, 1349365.769 945665.614 0, 1349090.102 945645.06 0, 1348814.433 945624.521 0, 1348538.763 945603.999 0, 1348263.092 945583.492 0, 1347987.419 945563.002 0, 1347711.746 945542.529 0, 1347436.071 945522.071 0, 1347160.395 945501.63 0,
+ 1346884.718 945481.205 0, 1346609.04 945460.796 0, 1346333.36 945440.403 0, 1346057.68 945420.027 0, 1345781.998 945399.667 0, 1345506.314 945379.323 0, 1345230.63 945358.995 0, 1344954.945 945338.684 0, 1344677.979 945318.294 0, 1344268.534 950882.368 0,
+ 1343859.08 956446.571 0, 1344135.388 956466.912 0, 1344410.418 956487.175 0, 1344685.448 956507.454 0, 1344960.476 956527.75 0, 1345235.503 956548.062 0, 1345510.529 956568.39 0, 1345785.553 956588.734 0, 1346060.576 956609.094 0, 1346335.599 956629.471 0,
+ 1346610.62 956649.863 0, 1346885.639 956670.272 0, 1347160.658 956690.697 0, 1347435.675 956711.139 0, 1347710.692 956731.596 0, 1347985.706 956752.07 0, 1348260.72 956772.56 0, 1348535.733 956793.066 0, 1348810.744 956813.588 0, 1349085.754 956834.126 0,
+ 1349360.763 956854.681 0, 1349635.771 956875.252 0, 1349910.777 956895.839 0, 1350185.783 956916.442 0, 1350459.512 956936.965 0, 1350735.79 956957.697 0, 1351010.791 956978.348 0, 1351285.792 956999.016 0, 1351560.791 957019.7 0, 1351835.789 957040.4 0,
+ 1352110.786 957061.117 0, 1352385.781 957081.85 0, 1352660.776 957102.598 0, 1352935.769 957123.363 0, 1353210.761 957144.145 0, 1353485.751 957164.942 0, 1353760.741 957185.756 0, 1354035.729 957206.585 0, 1354310.716 957227.431 0, 1354585.702 957248.293 0,
+ 1354860.686 957269.172 0, 1355135.67 957290.066 0, 1355410.652 957310.977 0, 1355685.632 957331.904 0, 1355960.612 957352.847 0, 1356235.59 957373.806 0, 1356510.568 957394.781 0, 1356785.544 957415.773 0, 1357059.245 957436.683 0, 1357484.417 951873.659 0,
+ 1357909.58 946310.765 0))
+
+POLYGON ((1370256.559 958464.085 0, 1369982.916 958442.401 0, 1369708.001 958420.633 0, 1369433.084 958398.881 0, 1369158.166 958377.145 0, 1368883.246 958355.425 0, 1368608.326 958333.721 0, 1368333.404 958312.034 0, 1368058.481 958290.362 0, 1367783.556 958268.707 0,
+ 1367508.631 958247.068 0, 1367233.704 958225.446 0, 1366958.775 958203.839 0, 1366683.846 958182.249 0, 1366408.915 958160.674 0, 1366133.983 958139.116 0, 1365859.05 958117.575 0, 1365584.115 958096.049 0, 1365309.179 958074.54 0, 1365034.242 958053.046 0,
+ 1364759.303 958031.569 0, 1364484.364 958010.108 0, 1364209.423 957988.664 0, 1363934.481 957967.235 0, 1363658.265 957945.724 0, 1363384.592 957924.426 0, 1363109.646 957903.046 0, 1362834.699 957881.683 0, 1362559.751 957860.335 0, 1362284.801 957839.003 0,
+ 1362009.85 957817.688 0, 1361734.898 957796.389 0, 1361459.944 957775.106 0, 1361184.989 957753.839 0, 1360910.033 957732.589 0, 1360635.076 957711.355 0, 1360360.118 957690.136 0, 1360085.158 957668.934 0, 1359810.197 957647.749 0, 1359535.234 957626.579 0,
+ 1359260.271 957605.426 0, 1358985.306 957584.288 0, 1358710.34 957563.167 0, 1358435.373 957542.062 0, 1358160.405 957520.974 0, 1357885.435 957499.901 0, 1357610.464 957478.845 0, 1357335.492 957457.805 0, 1357059.245 957436.683 0, 1356634.063 962999.834 0,
+ 1356208.871 968563.106 0, 1356484.46 968584.177 0, 1356758.778 968605.167 0, 1357033.094 968626.173 0, 1357307.409 968647.196 0, 1357581.722 968668.234 0, 1357856.035 968689.289 0, 1358130.346 968710.359 0, 1358404.656 968731.446 0, 1358678.964 968752.549 0,
+ 1358953.272 968773.669 0, 1359227.578 968794.804 0, 1359501.883 968815.955 0, 1359776.186 968837.123 0, 1360050.489 968858.307 0, 1360324.79 968879.507 0, 1360599.09 968900.723 0, 1360873.389 968921.955 0, 1361147.686 968943.203 0, 1361421.982 968964.468 0,
+ 1361696.277 968985.749 0, 1361970.571 969007.045 0, 1362244.863 969028.358 0, 1362519.154 969049.687 0, 1362792.175 969070.934 0, 1363067.733 969092.394 0, 1363342.02 969113.772 0, 1363616.307 969135.165 0, 1363890.591 969156.575 0, 1364164.875 969178.001 0,
+ 1364439.157 969199.443 0, 1364713.439 969220.901 0, 1364987.718 969242.376 0, 1365261.997 969263.866 0, 1365536.274 969285.373 0, 1365810.55 969306.896 0, 1366084.825 969328.435 0, 1366359.099 969349.99 0, 1366633.371 969371.561 0, 1366907.642 969393.148 0,
+ 1367181.911 969414.752 0, 1367456.18 969436.371 0, 1367730.447 969458.007 0, 1368004.713 969479.659 0, 1368278.978 969501.327 0, 1368553.241 969523.012 0, 1368827.503 969544.712 0, 1369101.764 969566.429 0, 1369374.755 969588.061 0, 1369815.662 964026.012 0,
+ 1370256.559 958464.085 0))
+
+POLYGON ((1382537.691 970650.207 0, 1382264.759 970627.804 0, 1381990.561 970605.313 0, 1381716.361 970582.837 0, 1381442.16 970560.378 0, 1381167.958 970537.936 0, 1380893.755 970515.509 0, 1380619.55 970493.098 0, 1380345.343 970470.704 0, 1380071.136 970448.325 0,
+ 1379796.927 970425.963 0, 1379522.717 970403.617 0, 1379248.505 970381.287 0, 1378974.292 970358.974 0, 1378700.078 970336.676 0, 1378425.863 970314.395 0, 1378151.646 970292.129 0, 1377877.428 970269.88 0, 1377603.209 970247.647 0, 1377328.988 970225.43 0,
+ 1377054.766 970203.229 0, 1376780.543 970181.045 0, 1376506.318 970158.876 0, 1376232.092 970136.724 0, 1375956.598 970114.486 0, 1375683.636 970092.468 0, 1375409.407 970070.364 0, 1375135.175 970048.276 0, 1374860.943 970026.204 0, 1374586.709 970004.149 0,
+ 1374312.474 969982.109 0, 1374038.238 969960.086 0, 1373764 969938.079 0, 1373489.761 969916.088 0, 1373215.521 969894.113 0, 1372941.28 969872.155 0, 1372667.037 969850.212 0, 1372392.793 969828.286 0, 1372118.548 969806.376 0, 1371844.301 969784.482 0,
+ 1371570.053 969762.604 0, 1371295.804 969740.742 0, 1371021.553 969718.896 0, 1370747.301 969697.067 0, 1370473.048 969675.253 0, 1370198.794 969653.456 0, 1369924.538 969631.675 0, 1369650.281 969609.91 0, 1369374.755 969588.061 0, 1368933.839 975150.228 0,
+ 1368492.914 980712.509 0, 1368767.782 980734.306 0, 1369041.384 980756.019 0, 1369314.985 980777.748 0, 1369588.585 980799.493 0, 1369862.183 980821.254 0, 1370135.78 980843.032 0, 1370409.376 980864.825 0, 1370682.97 980886.635 0, 1370956.563 980908.461 0,
+ 1371230.155 980930.302 0, 1371503.746 980952.16 0, 1371777.335 980974.034 0, 1372050.923 980995.925 0, 1372324.51 981017.831 0, 1372598.096 981039.753 0, 1372871.68 981061.692 0, 1373145.263 981083.646 0, 1373418.844 981105.617 0, 1373692.425 981127.603 0,
+ 1373966.004 981149.606 0, 1374239.581 981171.625 0, 1374513.158 981193.66 0, 1374786.733 981215.711 0, 1375059.043 981237.677 0, 1375333.879 981259.862 0, 1375607.451 981281.961 0, 1375881.02 981304.077 0, 1376154.589 981326.209 0, 1376428.156 981348.356 0,
+ 1376701.722 981370.52 0, 1376975.287 981392.7 0, 1377248.851 981414.896 0, 1377522.413 981437.109 0, 1377795.973 981459.337 0, 1378069.533 981481.581 0, 1378343.091 981503.842 0, 1378616.648 981526.118 0, 1378890.204 981548.411 0, 1379163.758 981570.72 0,
+ 1379437.311 981593.045 0, 1379710.862 981615.386 0, 1379984.413 981637.743 0, 1380257.962 981660.116 0, 1380531.509 981682.505 0, 1380805.056 981704.91 0, 1381078.601 981727.332 0, 1381352.144 981749.769 0, 1381624.424 981772.119 0, 1382081.062 976211.106 0,
+ 1382537.691 970650.207 0))
+
+POLYGON ((1394752.889 982868.825 0, 1394480.671 982845.706 0, 1394207.192 982822.495 0, 1393933.711 982799.301 0, 1393660.229 982776.123 0, 1393386.746 982752.961 0, 1393113.261 982729.815 0, 1392839.775 982706.685 0, 1392566.288 982683.572 0, 1392292.799 982660.474 0,
+ 1392019.309 982637.392 0, 1391745.817 982614.327 0, 1391472.325 982591.278 0, 1391198.83 982568.244 0, 1390925.335 982545.227 0, 1390651.838 982522.226 0, 1390378.34 982499.241 0, 1390104.84 982476.273 0, 1389831.339 982453.32 0, 1389557.837 982430.383 0,
+ 1389284.333 982407.463 0, 1389010.828 982384.558 0, 1388737.322 982361.67 0, 1388463.814 982338.797 0, 1388189.044 982315.836 0, 1387916.795 982293.101 0, 1387643.283 982270.277 0, 1387369.77 982247.469 0, 1387096.255 982224.678 0, 1386822.74 982201.902 0,
+ 1386549.223 982179.142 0, 1386275.704 982156.399 0, 1386002.184 982133.672 0, 1385728.663 982110.96 0, 1385455.141 982088.265 0, 1385181.617 982065.586 0, 1384908.092 982042.923 0, 1384634.565 982020.276 0, 1384361.038 981997.645 0, 1384087.509 981975.031 0,
+ 1383813.978 981952.432 0, 1383540.446 981929.85 0, 1383266.913 981907.283 0, 1382993.379 981884.733 0, 1382719.843 981862.199 0, 1382446.306 981839.681 0, 1382172.767 981817.179 0, 1381899.228 981794.693 0, 1381624.424 981772.119 0, 1381167.777 987333.243 0,
+ 1380711.121 992894.472 0, 1380985.267 992916.991 0, 1381258.152 992939.423 0, 1381531.036 992961.871 0, 1381803.919 992984.336 0, 1382076.8 993006.816 0, 1382349.68 993029.312 0, 1382622.558 993051.825 0, 1382895.435 993074.353 0, 1383168.311 993096.897 0,
+ 1383441.186 993119.458 0, 1383714.059 993142.035 0, 1383986.931 993164.627 0, 1384259.801 993187.236 0, 1384532.67 993209.861 0, 1384805.538 993232.502 0, 1385078.405 993255.159 0, 1385351.27 993277.832 0, 1385624.134 993300.521 0, 1385896.996 993323.226 0,
+ 1386169.857 993345.947 0, 1386442.717 993368.684 0, 1386715.576 993391.437 0, 1386988.433 993414.207 0, 1387260.03 993436.887 0, 1387534.143 993459.794 0, 1387806.996 993482.611 0, 1388079.848 993505.445 0, 1388352.699 993528.294 0, 1388625.548 993551.16 0,
+ 1388898.396 993574.042 0, 1389171.242 993596.94 0, 1389444.087 993619.853 0, 1389716.931 993642.783 0, 1389989.773 993665.729 0, 1390262.614 993688.691 0, 1390535.454 993711.67 0, 1390808.292 993734.664 0, 1391081.129 993757.674 0, 1391353.965 993780.7 0,
+ 1391626.799 993803.743 0, 1391899.632 993826.801 0, 1392172.463 993849.875 0, 1392445.293 993872.966 0, 1392718.122 993896.073 0, 1392990.95 993919.195 0, 1393263.776 993942.334 0, 1393536.601 993965.489 0, 1393808.167 993988.553 0, 1394280.532 988428.636 0,
+ 1394752.889 982868.825 0))
+
+POLYGON ((1406902.069 995119.631 0, 1406630.567 995095.799 0, 1406357.809 995071.874 0, 1406085.049 995047.965 0, 1405812.288 995024.071 0, 1405539.526 995000.194 0, 1405266.762 994976.333 0, 1404993.997 994952.488 0, 1404721.23 994928.658 0, 1404448.462 994904.845 0,
+ 1404175.692 994881.048 0, 1403902.922 994857.267 0, 1403630.149 994833.503 0, 1403357.376 994809.754 0, 1403084.601 994786.021 0, 1402811.824 994762.304 0, 1402539.046 994738.604 0, 1402266.267 994714.919 0, 1401993.486 994691.25 0, 1401720.704 994667.598 0,
+ 1401447.921 994643.961 0, 1401175.136 994620.341 0, 1400902.35 994596.737 0, 1400629.562 994573.148 0, 1400355.517 994549.468 0, 1400083.983 994526.02 0, 1399811.191 994502.48 0, 1399538.398 994478.956 0, 1399265.604 994455.448 0, 1398992.808 994431.956 0,
+ 1398720.01 994408.48 0, 1398447.212 994385.02 0, 1398174.412 994361.576 0, 1397901.61 994338.149 0, 1397628.807 994314.737 0, 1397356.003 994291.341 0, 1397083.198 994267.962 0, 1396810.391 994244.598 0, 1396537.582 994221.251 0, 1396264.773 994197.919 0,
+ 1395991.962 994174.604 0, 1395719.149 994151.305 0, 1395446.335 994128.022 0, 1395173.52 994104.754 0, 1394900.704 994081.503 0, 1394627.886 994058.268 0, 1394355.067 994035.049 0, 1394082.246 994011.846 0, 1393808.167 993988.553 0, 1393335.793 999548.571 0,
+ 1392863.41 1005108.688 0, 1393136.832 1005131.926 0, 1393408.998 1005155.073 0, 1393681.163 1005178.236 0, 1393953.326 1005201.416 0, 1394225.488 1005224.611 0, 1394497.649 1005247.822 0, 1394769.808 1005271.05 0, 1395041.966 1005294.293 0, 1395314.123 1005317.552 0,
+ 1395586.278 1005340.828 0, 1395858.432 1005364.119 0, 1396130.584 1005387.427 0, 1396402.735 1005410.75 0, 1396674.885 1005434.09 0, 1396947.033 1005457.445 0, 1397219.18 1005480.817 0, 1397491.326 1005504.204 0, 1397763.47 1005527.608 0, 1398035.613 1005551.027 0,
+ 1398307.755 1005574.463 0, 1398579.895 1005597.915 0, 1398852.033 1005621.382 0, 1399124.171 1005644.866 0, 1399395.054 1005668.257 0, 1399668.441 1005691.881 0, 1399940.574 1005715.413 0, 1400212.706 1005738.961 0, 1400484.836 1005762.524 0, 1400756.965 1005786.104 0,
+ 1401029.093 1005809.7 0, 1401301.219 1005833.312 0, 1401573.344 1005856.939 0, 1401845.468 1005880.583 0, 1402117.59 1005904.243 0, 1402389.71 1005927.919 0, 1402661.83 1005951.611 0, 1402933.947 1005975.319 0, 1403206.064 1005999.043 0, 1403478.179 1006022.783 0,
+ 1403750.293 1006046.538 0, 1404022.405 1006070.31 0, 1404294.516 1006094.098 0, 1404566.625 1006117.902 0, 1404838.733 1006141.722 0, 1405110.84 1006165.558 0, 1405382.945 1006189.41 0, 1405655.049 1006213.278 0, 1405925.9 1006237.053 0, 1406413.989 1000678.293 0,
+ 1406902.069 995119.631 0))
+
+POLYGON ((885296.56 555080.278 0, 884999.368 555087.005 0, 884700.713 555093.782 0, 884402.058 555100.577 0, 884103.403 555107.39 0, 883804.749 555114.22 0, 883506.095 555121.068 0, 883207.442 555127.933 0, 882908.789 555134.816 0, 882610.136 555141.717 0,
+ 882311.484 555148.635 0, 882012.832 555155.571 0, 881714.181 555162.524 0, 881415.53 555169.495 0, 881116.88 555176.483 0, 880818.23 555183.489 0, 880519.58 555190.513 0, 880220.931 555197.554 0, 879922.282 555204.613 0, 879623.633 555211.689 0,
+ 879324.985 555218.783 0, 879026.338 555225.894 0, 878727.691 555233.024 0, 878429.044 555240.17 0, 878128.933 555247.37 0, 877831.752 555254.516 0, 877533.106 555261.716 0, 877234.461 555268.932 0, 876935.816 555276.167 0, 876637.172 555283.419 0,
+ 876338.528 555290.689 0, 876039.885 555297.976 0, 875741.242 555305.281 0, 875442.6 555312.603 0, 875143.957 555319.943 0, 874845.316 555327.301 0, 874546.675 555334.676 0, 874248.034 555342.069 0, 873949.393 555349.479 0, 873650.754 555356.907 0,
+ 873352.114 555364.352 0, 873053.475 555371.815 0, 872754.837 555379.296 0, 872456.198 555386.794 0, 872157.561 555394.31 0, 871858.923 555401.843 0, 871560.287 555409.394 0, 871261.65 555416.963 0, 870961.549 555424.586 0, 871102.947 560984.428 0,
+ 871244.356 566544.641 0, 871543.799 566537.035 0, 871841.781 566529.483 0, 872139.764 566521.948 0, 872437.746 566514.431 0, 872735.73 566506.932 0, 873033.713 566499.45 0, 873331.697 566491.986 0, 873629.682 566484.54 0, 873927.667 566477.11 0,
+ 874225.652 566469.699 0, 874523.638 566462.305 0, 874821.624 566454.928 0, 875119.611 566447.569 0, 875417.598 566440.228 0, 875715.586 566432.904 0, 876013.573 566425.598 0, 876311.562 566418.309 0, 876609.551 566411.037 0, 876907.54 566403.784 0,
+ 877205.53 566396.547 0, 877503.52 566389.329 0, 877801.51 566382.128 0, 878099.501 566374.944 0, 878396.031 566367.813 0, 878695.485 566360.629 0, 878993.477 566353.499 0, 879291.469 566346.385 0, 879589.463 566339.289 0, 879887.456 566332.211 0,
+ 880185.45 566325.15 0, 880483.444 566318.107 0, 880781.439 566311.081 0, 881079.434 566304.073 0, 881377.43 566297.082 0, 881675.426 566290.109 0, 881973.422 566283.153 0, 882271.419 566276.215 0, 882569.416 566269.295 0, 882867.414 566262.392 0,
+ 883165.412 566255.507 0, 883463.41 566248.639 0, 883761.409 566241.788 0, 884059.408 566234.955 0, 884357.408 566228.14 0, 884655.408 566221.343 0, 884953.408 566214.562 0, 885251.409 566207.8 0, 885547.95 566201.088 0, 885422.251 560640.497 0,
+ 885296.56 555080.278 0))
+
+POLYGON ((899852.458 565897.946 0, 899555.897 565903.82 0, 899257.878 565909.741 0, 898959.86 565915.679 0, 898661.842 565921.635 0, 898363.824 565927.608 0, 898065.807 565933.599 0, 897767.79 565939.607 0, 897469.773 565945.633 0, 897171.757 565951.677 0,
+ 896873.741 565957.738 0, 896575.725 565963.816 0, 896277.71 565969.912 0, 895979.695 565976.026 0, 895681.681 565982.157 0, 895383.667 565988.306 0, 895085.653 565994.472 0, 894787.639 566000.656 0, 894489.626 566006.858 0, 894191.614 566013.076 0,
+ 893893.601 566019.313 0, 893595.589 566025.567 0, 893297.578 566031.838 0, 892999.567 566038.127 0, 892700.097 566044.465 0, 892403.545 566050.758 0, 892105.535 566057.1 0, 891807.526 566063.459 0, 891509.516 566069.836 0, 891211.507 566076.23 0,
+ 890913.499 566082.642 0, 890615.491 566089.071 0, 890317.483 566095.518 0, 890019.475 566101.983 0, 889721.468 566108.465 0, 889423.462 566114.964 0, 889125.455 566121.481 0, 888827.449 566128.016 0, 888529.444 566134.568 0, 888231.439 566141.138 0,
+ 887933.434 566147.725 0, 887635.43 566154.33 0, 887337.426 566160.952 0, 887039.422 566167.592 0, 886741.419 566174.25 0, 886443.416 566180.924 0, 886145.414 566187.617 0, 885847.412 566194.327 0, 885547.95 566201.088 0, 885673.657 571762.046 0,
+ 885799.373 577323.369 0, 886098.177 577316.623 0, 886395.524 577309.928 0, 886692.872 577303.25 0, 886990.22 577296.59 0, 887287.569 577289.947 0, 887584.918 577283.322 0, 887882.267 577276.714 0, 888179.617 577270.124 0, 888476.967 577263.551 0,
+ 888774.317 577256.996 0, 889071.668 577250.458 0, 889369.019 577243.938 0, 889666.371 577237.435 0, 889963.723 577230.949 0, 890261.075 577224.482 0, 890558.428 577218.031 0, 890855.781 577211.599 0, 891153.135 577205.183 0, 891450.489 577198.786 0,
+ 891747.843 577192.405 0, 892045.198 577186.043 0, 892342.553 577179.697 0, 892639.908 577173.37 0, 892935.808 577167.09 0, 893234.62 577160.767 0, 893531.977 577154.491 0, 893829.334 577148.234 0, 894126.691 577141.993 0, 894424.049 577135.771 0,
+ 894721.407 577129.565 0, 895018.765 577123.378 0, 895316.124 577117.207 0, 895613.483 577111.055 0, 895910.842 577104.919 0, 896208.202 577098.802 0, 896505.562 577092.702 0, 896802.923 577086.619 0, 897100.284 577080.554 0, 897397.645 577074.506 0,
+ 897695.006 577068.476 0, 897992.368 577062.463 0, 898289.731 577056.468 0, 898587.093 577050.49 0, 898884.456 577044.53 0, 899181.82 577038.587 0, 899479.183 577032.662 0, 899776.548 577026.754 0, 900072.457 577020.893 0, 899962.454 571459.237 0,
+ 899852.458 565897.946 0))
+
+POLYGON ((914346.339 576758.742 0, 914050.412 576763.767 0, 913753.032 576768.835 0, 913455.653 576773.92 0, 913158.274 576779.023 0, 912860.895 576784.143 0, 912563.517 576789.28 0, 912266.139 576794.435 0, 911968.761 576799.608 0, 911671.384 576804.798 0,
+ 911374.007 576810.006 0, 911076.63 576815.231 0, 910779.253 576820.473 0, 910481.877 576825.733 0, 910184.501 576831.011 0, 909887.125 576836.306 0, 909589.75 576841.619 0, 909292.375 576846.949 0, 908995.001 576852.297 0, 908697.626 576857.662 0,
+ 908400.252 576863.044 0, 908102.878 576868.444 0, 907805.505 576873.862 0, 907508.132 576879.297 0, 907209.306 576884.777 0, 906913.387 576890.22 0, 906616.015 576895.708 0, 906318.643 576901.213 0, 906021.271 576906.735 0, 905723.9 576912.276 0,
+ 905426.53 576917.833 0, 905129.159 576923.408 0, 904831.789 576929.001 0, 904534.419 576934.611 0, 904237.05 576940.239 0, 903939.68 576945.884 0, 903642.312 576951.547 0, 903344.943 576957.227 0, 903047.575 576962.925 0, 902750.207 576968.64 0,
+ 902452.84 576974.372 0, 902155.472 576980.123 0, 901858.106 576985.89 0, 901560.739 576991.675 0, 901263.373 576997.478 0, 900966.007 577003.298 0, 900668.642 577009.136 0, 900371.277 577014.991 0, 900072.457 577020.893 0, 900182.468 582582.91 0,
+ 900292.485 588145.286 0, 900590.647 588139.397 0, 900887.357 588133.555 0, 901184.068 588127.73 0, 901480.779 588121.923 0, 901777.49 588116.133 0, 902074.202 588110.361 0, 902370.914 588104.606 0, 902667.626 588098.868 0, 902964.339 588093.148 0,
+ 903261.052 588087.445 0, 903557.765 588081.76 0, 903854.479 588076.093 0, 904151.193 588070.442 0, 904447.908 588064.81 0, 904744.622 588059.194 0, 905041.337 588053.597 0, 905338.053 588048.016 0, 905634.768 588042.453 0, 905931.485 588036.908 0,
+ 906228.201 588031.38 0, 906524.918 588025.869 0, 906821.635 588020.376 0, 907118.352 588014.901 0, 907413.619 588009.469 0, 907711.788 588004.002 0, 908008.506 587998.579 0, 908305.224 587993.173 0, 908601.943 587987.785 0, 908898.663 587982.414 0,
+ 909195.382 587977.061 0, 909492.102 587971.725 0, 909788.822 587966.407 0, 910085.543 587961.106 0, 910382.264 587955.822 0, 910678.985 587950.556 0, 910975.706 587945.308 0, 911272.428 587940.077 0, 911569.15 587934.863 0, 911865.872 587929.667 0,
+ 912162.595 587924.488 0, 912459.318 587919.327 0, 912756.041 587914.183 0, 913052.765 587909.057 0, 913349.489 587903.948 0, 913646.213 587898.857 0, 913942.937 587893.783 0, 914239.662 587888.727 0, 914534.938 587883.712 0, 914440.635 582321.048 0,
+ 914346.339 576758.742 0))
+
+POLYGON ((928778.073 587662.377 0, 928482.782 587666.558 0, 928186.044 587670.776 0, 927889.306 587675.011 0, 927592.569 587679.264 0, 927295.832 587683.535 0, 926999.095 587687.823 0, 926702.358 587692.128 0, 926405.622 587696.451 0, 926108.886 587700.791 0,
+ 925812.15 587705.149 0, 925515.414 587709.524 0, 925218.679 587713.917 0, 924921.944 587718.327 0, 924625.209 587722.755 0, 924328.474 587727.2 0, 924031.74 587731.663 0, 923735.006 587736.143 0, 923438.272 587740.64 0, 923141.539 587745.155 0,
+ 922844.806 587749.688 0, 922548.073 587754.238 0, 922251.34 587758.805 0, 921954.607 587763.39 0, 921656.427 587768.015 0, 921361.143 587772.612 0, 921064.412 587777.249 0, 920767.68 587781.904 0, 920470.949 587786.576 0, 920174.219 587791.266 0,
+ 919877.488 587795.973 0, 919580.758 587800.698 0, 919284.028 587805.44 0, 918987.298 587810.199 0, 918690.569 587814.976 0, 918393.84 587819.771 0, 918097.111 587824.583 0, 917800.382 587829.412 0, 917503.654 587834.259 0, 917206.926 587839.123 0,
+ 916910.198 587844.005 0, 916613.471 587848.904 0, 916316.744 587853.821 0, 916020.017 587858.755 0, 915723.29 587863.707 0, 915426.564 587868.676 0, 915129.838 587873.662 0, 914833.113 587878.666 0, 914534.938 587883.712 0, 914629.246 593446.732 0,
+ 914723.561 599010.103 0, 915021.077 599005.068 0, 915317.148 599000.075 0, 915613.219 598995.1 0, 915909.29 598990.142 0, 916205.362 598985.201 0, 916501.434 598980.278 0, 916797.506 598975.372 0, 917093.579 598970.483 0, 917389.652 598965.612 0,
+ 917685.725 598960.759 0, 917981.798 598955.923 0, 918277.872 598951.104 0, 918573.946 598946.303 0, 918870.02 598941.519 0, 919166.095 598936.752 0, 919462.169 598932.003 0, 919758.244 598927.272 0, 920054.32 598922.558 0, 920350.395 598917.861 0,
+ 920646.471 598913.182 0, 920942.547 598908.52 0, 921238.624 598903.875 0, 921534.701 598899.248 0, 921829.333 598894.661 0, 922126.855 598890.047 0, 922422.932 598885.472 0, 922719.01 598880.914 0, 923015.088 598876.375 0, 923311.167 598871.852 0,
+ 923607.245 598867.347 0, 923903.324 598862.859 0, 924199.403 598858.389 0, 924495.483 598853.936 0, 924791.562 598849.501 0, 925087.642 598845.083 0, 925383.722 598840.683 0, 925679.803 598836.3 0, 925975.884 598831.934 0, 926271.965 598827.586 0,
+ 926568.046 598823.255 0, 926864.127 598818.942 0, 927160.209 598814.646 0, 927456.291 598810.367 0, 927752.373 598806.106 0, 928048.456 598801.863 0, 928344.538 598797.636 0, 928640.621 598793.428 0, 928935.261 598789.257 0, 928856.664 593225.641 0,
+ 928778.073 587662.377 0))
+
+POLYGON ((943147.528 598608.562 0, 942852.876 598611.9 0, 942556.782 598615.273 0, 942260.688 598618.662 0, 941964.595 598622.069 0, 941668.502 598625.494 0, 941372.409 598628.936 0, 941076.317 598632.395 0, 940780.224 598635.872 0, 940484.132 598639.366 0,
+ 940188.04 598642.878 0, 939891.948 598646.407 0, 939595.856 598649.954 0, 939299.765 598653.518 0, 939003.674 598657.099 0, 938707.583 598660.698 0, 938411.492 598664.314 0, 938115.401 598667.948 0, 937819.311 598671.599 0, 937523.221 598675.268 0,
+ 937227.131 598678.954 0, 936931.041 598682.657 0, 936634.952 598686.378 0, 936338.862 598690.116 0, 936041.33 598693.89 0, 935746.684 598697.645 0, 935450.596 598701.435 0, 935154.507 598705.243 0, 934858.419 598709.069 0, 934562.331 598712.912 0,
+ 934266.244 598716.772 0, 933970.156 598720.65 0, 933674.069 598724.545 0, 933377.982 598728.457 0, 933081.895 598732.387 0, 932785.808 598736.335 0, 932489.722 598740.299 0, 932193.636 598744.282 0, 931897.55 598748.281 0, 931601.464 598752.298 0,
+ 931305.379 598756.333 0, 931009.294 598760.385 0, 930713.209 598764.454 0, 930417.124 598768.541 0, 930121.04 598772.645 0, 929824.956 598776.767 0, 929528.872 598780.906 0, 929232.788 598785.062 0, 928935.261 598789.257 0, 929013.862 604353.221 0,
+ 929092.468 609917.531 0, 929389.337 609913.346 0, 929684.766 609909.198 0, 929980.195 609905.069 0, 930275.624 609900.956 0, 930571.054 609896.861 0, 930866.483 609892.783 0, 931161.913 609888.723 0, 931457.344 609884.68 0, 931752.774 609880.654 0,
+ 932048.205 609876.646 0, 932343.635 609872.655 0, 932639.067 609868.682 0, 932934.498 609864.726 0, 933229.929 609860.787 0, 933525.361 609856.866 0, 933820.793 609852.962 0, 934116.226 609849.075 0, 934411.658 609845.206 0, 934707.091 609841.355 0,
+ 935002.524 609837.52 0, 935297.957 609833.703 0, 935593.39 609829.904 0, 935888.824 609826.122 0, 936182.818 609822.375 0, 936479.692 609818.61 0, 936775.126 609814.88 0, 937070.561 609811.167 0, 937365.995 609807.472 0, 937661.43 609803.794 0,
+ 937956.865 609800.134 0, 938252.301 609796.49 0, 938547.736 609792.865 0, 938843.172 609789.257 0, 939138.608 609785.666 0, 939434.044 609782.092 0, 939729.481 609778.536 0, 940024.917 609774.997 0, 940320.354 609771.476 0, 940615.791 609767.972 0,
+ 940911.229 609764.486 0, 941206.666 609761.016 0, 941502.104 609757.565 0, 941797.542 609754.13 0, 942092.98 609750.713 0, 942388.418 609747.314 0, 942683.856 609743.932 0, 942979.295 609740.567 0, 943273.295 609737.236 0, 943210.41 604172.726 0,
+ 943147.528 598608.562 0))
+
+POLYGON ((957454.575 609597.004 0, 957160.565 609599.505 0, 956865.118 609602.035 0, 956569.671 609604.583 0, 956274.224 609607.148 0, 955978.777 609609.73 0, 955683.331 609612.33 0, 955387.885 609614.947 0, 955092.439 609617.581 0, 954796.993 609620.233 0,
+ 954501.547 609622.902 0, 954206.101 609625.589 0, 953910.656 609628.293 0, 953615.211 609631.014 0, 953319.766 609633.753 0, 953024.321 609636.509 0, 952728.876 609639.283 0, 952433.431 609642.074 0, 952137.987 609644.882 0, 951842.542 609647.708 0,
+ 951547.098 609650.551 0, 951251.654 609653.412 0, 950956.21 609656.29 0, 950660.767 609659.185 0, 950363.886 609662.112 0, 950069.88 609665.028 0, 949774.437 609667.975 0, 949478.994 609670.94 0, 949183.551 609673.922 0, 948888.109 609676.922 0,
+ 948592.666 609679.939 0, 948297.224 609682.973 0, 948001.782 609686.025 0, 947706.34 609689.094 0, 947410.898 609692.181 0, 947115.457 609695.285 0, 946820.015 609698.406 0, 946524.574 609701.545 0, 946229.133 609704.701 0, 945933.692 609707.875 0,
+ 945638.252 609711.066 0, 945342.811 609714.274 0, 945047.371 609717.5 0, 944751.931 609720.743 0, 944456.491 609724.003 0, 944161.052 609727.281 0, 943865.612 609730.577 0, 943570.173 609733.889 0, 943273.295 609737.236 0, 943336.185 615302.087 0,
+ 943399.078 620867.278 0, 943695.298 620863.939 0, 943990.082 620860.634 0, 944284.866 620857.346 0, 944579.651 620854.075 0, 944874.436 620850.822 0, 945169.221 620847.586 0, 945464.006 620844.368 0, 945758.791 620841.167 0, 946053.576 620837.983 0,
+ 946348.362 620834.816 0, 946643.148 620831.667 0, 946937.934 620828.535 0, 947232.72 620825.421 0, 947527.507 620822.324 0, 947822.293 620819.244 0, 948117.08 620816.182 0, 948411.867 620813.136 0, 948706.654 620810.109 0, 949001.442 620807.098 0,
+ 949296.229 620804.105 0, 949591.017 620801.13 0, 949885.805 620798.171 0, 950180.593 620795.231 0, 950473.947 620792.321 0, 950770.169 620789.401 0, 951064.958 620786.512 0, 951359.746 620783.64 0, 951654.535 620780.786 0, 951949.324 620777.949 0,
+ 952244.114 620775.13 0, 952538.903 620772.328 0, 952833.692 620769.543 0, 953128.482 620766.775 0, 953423.272 620764.025 0, 953718.062 620761.293 0, 954012.852 620758.577 0, 954307.643 620755.879 0, 954602.433 620753.198 0, 954897.224 620750.535 0,
+ 955192.015 620747.889 0, 955486.806 620745.26 0, 955781.597 620742.649 0, 956076.388 620740.055 0, 956371.179 620737.479 0, 956665.971 620734.919 0, 956960.763 620732.378 0, 957255.555 620729.853 0, 957548.914 620727.358 0, 957501.743 615162.012 0,
+ 957454.575 609597.004 0))
+
+POLYGON ((971699.087 620627.414 0, 971405.72 620629.08 0, 971110.923 620630.772 0, 970816.125 620632.481 0, 970521.327 620634.207 0, 970226.53 620635.951 0, 969931.732 620637.712 0, 969636.935 620639.491 0, 969342.138 620641.287 0, 969047.341 620643.1 0,
+ 968752.544 620644.93 0, 968457.747 620646.778 0, 968162.95 620648.643 0, 967868.153 620650.526 0, 967573.357 620652.426 0, 967278.56 620654.343 0, 966983.764 620656.277 0, 966688.968 620658.229 0, 966394.171 620660.199 0, 966099.375 620662.185 0,
+ 965804.58 620664.189 0, 965509.784 620666.211 0, 965214.988 620668.249 0, 964920.193 620670.305 0, 964623.965 620672.389 0, 964330.602 620674.47 0, 964035.807 620676.578 0, 963741.012 620678.703 0, 963446.217 620680.846 0, 963151.422 620683.006 0,
+ 962856.627 620685.184 0, 962561.833 620687.379 0, 962267.038 620689.591 0, 961972.244 620691.82 0, 961677.45 620694.067 0, 961382.656 620696.331 0, 961087.862 620698.613 0, 960793.069 620700.912 0, 960498.275 620703.228 0, 960203.481 620705.562 0,
+ 959908.688 620707.913 0, 959613.895 620710.281 0, 959319.102 620712.667 0, 959024.309 620715.07 0, 958729.516 620717.491 0, 958434.724 620719.928 0, 958139.931 620722.384 0, 957845.139 620724.856 0, 957548.914 620727.358 0, 957596.087 626293.04 0,
+ 957643.263 631859.054 0, 957938.83 631856.558 0, 958232.967 631854.091 0, 958527.104 631851.641 0, 958821.242 631849.209 0, 959115.379 631846.794 0, 959409.517 631844.396 0, 959703.655 631842.016 0, 959997.793 631839.653 0, 960291.931 631837.307 0,
+ 960586.069 631834.978 0, 960880.208 631832.667 0, 961174.346 631830.373 0, 961468.485 631828.097 0, 961762.624 631825.838 0, 962056.763 631823.596 0, 962350.902 631821.371 0, 962645.041 631819.164 0, 962939.18 631816.974 0, 963233.32 631814.801 0,
+ 963527.459 631812.646 0, 963821.599 631810.508 0, 964115.739 631808.387 0, 964409.879 631806.283 0, 964702.59 631804.207 0, 964998.159 631802.129 0, 965292.299 631800.077 0, 965586.44 631798.043 0, 965880.581 631796.026 0, 966174.721 631794.027 0,
+ 966468.862 631792.044 0, 966763.003 631790.079 0, 967057.144 631788.132 0, 967351.285 631786.201 0, 967645.426 631784.288 0, 967939.568 631782.393 0, 968233.709 631780.514 0, 968527.851 631778.653 0, 968821.992 631776.81 0, 969116.134 631774.983 0,
+ 969410.276 631773.174 0, 969704.418 631771.382 0, 969998.56 631769.608 0, 970292.703 631767.851 0, 970586.845 631766.111 0, 970880.987 631764.388 0, 971175.13 631762.683 0, 971469.273 631760.995 0, 971761.988 631759.333 0, 971730.537 626193.207 0,
+ 971699.087 620627.414 0))
+
+POLYGON ((985880.937 631699.499 0, 985588.217 631700.335 0, 985294.07 631701.192 0, 984999.924 631702.066 0, 984705.778 631702.958 0, 984411.632 631703.866 0, 984117.486 631704.793 0, 983823.34 631705.736 0, 983529.194 631706.697 0, 983235.048 631707.675 0,
+ 982940.902 631708.67 0, 982646.757 631709.683 0, 982352.611 631710.713 0, 982058.465 631711.76 0, 981764.32 631712.825 0, 981470.174 631713.907 0, 981176.029 631715.006 0, 980881.884 631716.123 0, 980587.738 631717.257 0, 980293.593 631718.408 0,
+ 979999.448 631719.577 0, 979705.303 631720.762 0, 979411.158 631721.966 0, 979117.013 631723.186 0, 978821.441 631724.43 0, 978528.723 631725.679 0, 978234.578 631726.951 0, 977940.434 631728.241 0, 977646.289 631729.548 0, 977352.145 631730.872 0,
+ 977058 631732.214 0, 976763.856 631733.573 0, 976469.712 631734.949 0, 976175.568 631736.343 0, 975881.423 631737.754 0, 975587.279 631739.182 0, 975293.135 631740.628 0, 974998.992 631742.091 0, 974704.848 631743.571 0, 974410.704 631745.068 0,
+ 974116.561 631746.583 0, 973822.417 631748.115 0, 973528.274 631749.665 0, 973234.13 631751.231 0, 972939.987 631752.815 0, 972645.844 631754.417 0, 972351.701 631756.035 0, 972057.558 631757.671 0, 971761.988 631759.333 0, 971793.44 637325.787 0,
+ 971824.895 642892.568 0, 972119.807 642890.91 0, 972413.295 642889.278 0, 972706.783 642887.663 0, 973000.27 642886.065 0, 973293.758 642884.484 0, 973587.246 642882.921 0, 973880.735 642881.375 0, 974174.223 642879.846 0, 974467.711 642878.335 0,
+ 974761.199 642876.841 0, 975054.688 642875.364 0, 975348.176 642873.904 0, 975641.665 642872.462 0, 975935.154 642871.037 0, 976228.643 642869.629 0, 976522.132 642868.239 0, 976815.621 642866.865 0, 977109.11 642865.509 0, 977402.599 642864.171 0,
+ 977696.088 642862.849 0, 977989.577 642861.545 0, 978283.067 642860.258 0, 978576.556 642858.989 0, 978868.622 642857.743 0, 979163.535 642856.502 0, 979457.025 642855.284 0, 979750.515 642854.083 0, 980044.004 642852.9 0, 980337.494 642851.734 0,
+ 980630.984 642850.585 0, 980924.474 642849.454 0, 981217.964 642848.34 0, 981511.454 642847.243 0, 981804.945 642846.164 0, 982098.435 642845.101 0, 982391.925 642844.056 0, 982685.416 642843.029 0, 982978.906 642842.018 0, 983272.397 642841.025 0,
+ 983565.887 642840.049 0, 983859.378 642839.09 0, 984152.868 642838.149 0, 984446.359 642837.225 0, 984739.85 642836.318 0, 985033.341 642835.429 0, 985326.832 642834.556 0, 985620.323 642833.701 0, 985912.391 642832.868 0, 985896.664 637266.021 0,
+ 985880.937 631699.499 0))
+
+POLYGON ((1000000 642812.967 0, 999707.928 642812.976 0, 999414.436 642813.002 0, 999120.943 642813.045 0, 998827.451 642813.105 0, 998533.959 642813.183 0, 998240.467 642813.278 0, 997946.975 642813.39 0, 997653.483 642813.52 0, 997359.99 642813.666 0,
+ 997066.498 642813.83 0, 996773.006 642814.012 0, 996479.514 642814.21 0, 996186.022 642814.426 0, 995892.53 642814.659 0, 995599.038 642814.91 0, 995305.546 642815.177 0, 995012.054 642815.462 0, 994718.562 642815.764 0, 994425.07 642816.084 0,
+ 994131.578 642816.421 0, 993838.086 642816.775 0, 993544.594 642817.146 0, 993251.102 642817.535 0, 992956.189 642817.942 0, 992664.118 642818.364 0, 992370.626 642818.804 0, 992077.134 642819.262 0, 991783.642 642819.737 0, 991490.151 642820.229 0,
+ 991196.659 642820.738 0, 990903.167 642821.265 0, 990609.675 642821.809 0, 990316.184 642822.371 0, 990022.692 642822.949 0, 989729.201 642823.545 0, 989435.709 642824.158 0, 989142.218 642824.789 0, 988848.726 642825.436 0, 988555.235 642826.101 0,
+ 988261.743 642826.784 0, 987968.252 642827.483 0, 987674.761 642828.2 0, 987381.269 642828.934 0, 987087.778 642829.685 0, 986794.287 642830.454 0, 986500.796 642831.24 0, 986207.305 642832.043 0, 985912.391 642832.868 0, 985928.12 648400.037 0,
+ 985943.849 653967.526 0, 986238.104 653966.703 0, 986530.939 653965.902 0, 986823.775 653965.118 0, 987116.611 653964.351 0, 987409.447 653963.601 0, 987702.283 653962.869 0, 987995.119 653962.153 0, 988287.955 653961.455 0, 988580.791 653960.775 0,
+ 988873.627 653960.111 0, 989166.463 653959.465 0, 989459.299 653958.836 0, 989752.135 653958.224 0, 990044.971 653957.63 0, 990337.808 653957.052 0, 990630.644 653956.492 0, 990923.48 653955.949 0, 991216.317 653955.424 0, 991509.153 653954.915 0,
+ 991801.99 653954.424 0, 992094.826 653953.95 0, 992387.662 653953.494 0, 992680.499 653953.054 0, 992971.917 653952.634 0, 993266.172 653952.227 0, 993559.009 653951.839 0, 993851.845 653951.469 0, 994144.682 653951.116 0, 994437.518 653950.78 0,
+ 994730.355 653950.461 0, 995023.192 653950.159 0, 995316.028 653949.875 0, 995608.865 653949.608 0, 995901.702 653949.358 0, 996194.539 653949.125 0, 996487.375 653948.91 0, 996780.212 653948.712 0, 997073.049 653948.531 0, 997365.886 653948.367 0,
+ 997658.722 653948.221 0, 997951.559 653948.092 0, 998244.396 653947.98 0, 998537.233 653947.885 0, 998830.07 653947.808 0, 999122.906 653947.747 0, 999415.743 653947.704 0, 999708.58 653947.679 0, 1000000 653947.67 0, 1000000 648380.159 0,
+ 1000000 642812.967 0))
+
+POLYGON ((1014056.151 653967.526 0, 1013764.73 653966.711 0, 1013471.894 653965.909 0, 1013179.059 653965.125 0, 1012886.223 653964.358 0, 1012593.387 653963.608 0, 1012300.551 653962.876 0, 1012007.715 653962.16 0, 1011714.879 653961.462 0, 1011422.043 653960.781 0,
+ 1011129.207 653960.118 0, 1010836.371 653959.471 0, 1010543.535 653958.842 0, 1010250.698 653958.23 0, 1009957.862 653957.635 0, 1009665.026 653957.058 0, 1009372.19 653956.498 0, 1009079.353 653955.955 0, 1008786.517 653955.429 0, 1008493.681 653954.92 0,
+ 1008200.844 653954.429 0, 1007908.008 653953.955 0, 1007615.171 653953.498 0, 1007322.335 653953.058 0, 1007028.083 653952.634 0, 1006736.662 653952.231 0, 1006443.825 653951.843 0, 1006150.989 653951.472 0, 1005858.152 653951.119 0, 1005565.315 653950.783 0,
+ 1005272.479 653950.464 0, 1004979.642 653950.162 0, 1004686.805 653949.878 0, 1004393.969 653949.61 0, 1004101.132 653949.36 0, 1003808.295 653949.128 0, 1003515.458 653948.912 0, 1003222.622 653948.714 0, 1002929.785 653948.533 0, 1002636.948 653948.369 0,
+ 1002344.111 653948.222 0, 1002051.275 653948.093 0, 1001758.438 653947.981 0, 1001465.601 653947.886 0, 1001172.764 653947.808 0, 1000879.927 653947.748 0, 1000587.091 653947.705 0, 1000294.254 653947.679 0, 1000000 653947.67 0, 1000000 659515.497 0,
+ 1000000 665083.636 0, 1000293.595 665083.645 0, 1000585.776 665083.671 0, 1000877.958 665083.714 0, 1001170.139 665083.774 0, 1001462.321 665083.852 0, 1001754.502 665083.946 0, 1002046.683 665084.058 0, 1002338.865 665084.187 0, 1002631.046 665084.333 0,
+ 1002923.227 665084.497 0, 1003215.409 665084.678 0, 1003507.59 665084.875 0, 1003799.771 665085.09 0, 1004091.953 665085.323 0, 1004384.134 665085.572 0, 1004676.315 665085.839 0, 1004968.496 665086.123 0, 1005260.678 665086.424 0, 1005552.859 665086.742 0,
+ 1005845.04 665087.077 0, 1006137.221 665087.43 0, 1006429.402 665087.8 0, 1006721.583 665088.187 0, 1007012.352 665088.589 0, 1007305.946 665089.012 0, 1007598.127 665089.451 0, 1007890.308 665089.907 0, 1008182.489 665090.38 0, 1008474.67 665090.87 0,
+ 1008766.851 665091.377 0, 1009059.032 665091.902 0, 1009351.212 665092.444 0, 1009643.393 665093.003 0, 1009935.574 665093.579 0, 1010227.755 665094.172 0, 1010519.936 665094.783 0, 1010812.116 665095.411 0, 1011104.297 665096.056 0, 1011396.478 665096.718 0,
+ 1011688.658 665097.397 0, 1011980.839 665098.094 0, 1012273.019 665098.808 0, 1012565.2 665099.539 0, 1012857.38 665100.287 0, 1013149.561 665101.052 0, 1013441.741 665101.835 0, 1013733.921 665102.634 0, 1014024.69 665103.447 0, 1014040.421 659535.33 0,
+ 1014056.151 653967.526 0))
+
+POLYGON ((1028049.268 665162.881 0, 1027758.5 665161.246 0, 1027466.324 665159.621 0, 1027174.147 665158.013 0, 1026881.97 665156.422 0, 1026589.792 665154.849 0, 1026297.615 665153.292 0, 1026005.438 665151.753 0, 1025713.26 665150.231 0, 1025421.083 665148.726 0,
+ 1025128.905 665147.239 0, 1024836.728 665145.768 0, 1024544.55 665144.315 0, 1024252.372 665142.879 0, 1023960.194 665141.46 0, 1023668.016 665140.058 0, 1023375.838 665138.674 0, 1023083.66 665137.307 0, 1022791.481 665135.957 0, 1022499.303 665134.624 0,
+ 1022207.125 665133.308 0, 1021914.946 665132.01 0, 1021622.768 665130.728 0, 1021330.589 665129.464 0, 1021037 665128.211 0, 1020746.231 665126.988 0, 1020454.053 665125.775 0, 1020161.874 665124.58 0, 1019869.695 665123.402 0, 1019577.516 665122.241 0,
+ 1019285.336 665121.097 0, 1018993.157 665119.971 0, 1018700.978 665118.861 0, 1018408.799 665117.769 0, 1018116.619 665116.694 0, 1017824.44 665115.637 0, 1017532.26 665114.596 0, 1017240.081 665113.573 0, 1016947.901 665112.567 0, 1016655.721 665111.578 0,
+ 1016363.541 665110.606 0, 1016071.362 665109.652 0, 1015779.182 665108.714 0, 1015487.002 665107.794 0, 1015194.822 665106.891 0, 1014902.642 665106.005 0, 1014610.462 665105.137 0, 1014318.282 665104.286 0, 1014024.69 665103.447 0, 1014008.958 670671.874 0,
+ 1013993.225 676240.606 0, 1014286.158 676241.442 0, 1014577.683 676242.291 0, 1014869.208 676243.158 0, 1015160.732 676244.042 0, 1015452.257 676244.943 0, 1015743.781 676245.861 0, 1016035.305 676246.796 0, 1016326.83 676247.748 0, 1016618.354 676248.718 0,
+ 1016909.878 676249.705 0, 1017201.402 676250.708 0, 1017492.926 676251.729 0, 1017784.45 676252.768 0, 1018075.974 676253.823 0, 1018367.498 676254.895 0, 1018659.022 676255.985 0, 1018950.546 676257.092 0, 1019242.069 676258.216 0, 1019533.593 676259.357 0,
+ 1019825.117 676260.515 0, 1020116.64 676261.691 0, 1020408.164 676262.883 0, 1020699.687 676264.093 0, 1020989.803 676265.314 0, 1021282.733 676266.564 0, 1021574.257 676267.825 0, 1021865.78 676269.104 0, 1022157.303 676270.399 0, 1022448.826 676271.712 0,
+ 1022740.348 676273.042 0, 1023031.871 676274.389 0, 1023323.394 676275.753 0, 1023614.916 676277.134 0, 1023906.439 676278.533 0, 1024197.961 676279.949 0, 1024489.484 676281.381 0, 1024781.006 676282.831 0, 1025072.528 676284.299 0, 1025364.05 676285.783 0,
+ 1025655.572 676287.284 0, 1025947.094 676288.803 0, 1026238.616 676290.339 0, 1026530.138 676291.892 0, 1026821.659 676293.462 0, 1027113.181 676295.049 0, 1027404.702 676296.653 0, 1027696.224 676298.275 0, 1027986.339 676299.906 0, 1028017.804 670731.24 0,
+ 1028049.268 665162.881 0))
+
+POLYGON ((1041979.229 676398.739 0, 1041689.118 676396.288 0, 1041397.602 676393.843 0, 1041106.086 676391.415 0, 1040814.57 676389.004 0, 1040523.054 676386.61 0, 1040231.538 676384.234 0, 1039940.022 676381.875 0, 1039648.505 676379.532 0, 1039356.989 676377.207 0,
+ 1039065.472 676374.899 0, 1038773.955 676372.609 0, 1038482.438 676370.335 0, 1038190.921 676368.079 0, 1037899.404 676365.839 0, 1037607.886 676363.617 0, 1037316.369 676361.412 0, 1037024.851 676359.225 0, 1036733.333 676357.054 0, 1036441.815 676354.9 0,
+ 1036150.297 676352.764 0, 1035858.779 676350.645 0, 1035567.261 676348.543 0, 1035275.742 676346.458 0, 1034982.819 676344.381 0, 1034692.705 676342.34 0, 1034401.186 676340.307 0, 1034109.668 676338.29 0, 1033818.149 676336.291 0, 1033526.629 676334.309 0,
+ 1033235.11 676332.345 0, 1032943.591 676330.397 0, 1032652.071 676328.467 0, 1032360.552 676326.554 0, 1032069.032 676324.657 0, 1031777.512 676322.778 0, 1031485.992 676320.917 0, 1031194.472 676319.072 0, 1030902.952 676317.245 0, 1030611.432 676315.434 0,
+ 1030319.912 676313.641 0, 1030028.391 676311.865 0, 1029736.871 676310.106 0, 1029445.35 676308.365 0, 1029153.829 676306.64 0, 1028862.308 676304.933 0, 1028570.787 676303.243 0, 1028279.266 676301.57 0, 1027986.339 676299.906 0, 1027954.872 681868.873 0,
+ 1027923.403 687438.14 0, 1028215.672 687439.8 0, 1028506.537 687441.47 0, 1028797.403 687443.156 0, 1029088.268 687444.859 0, 1029379.133 687446.58 0, 1029669.998 687448.318 0, 1029960.863 687450.073 0, 1030251.728 687451.845 0, 1030542.593 687453.634 0,
+ 1030833.457 687455.44 0, 1031124.322 687457.263 0, 1031415.186 687459.104 0, 1031706.051 687460.962 0, 1031996.915 687462.836 0, 1032287.779 687464.728 0, 1032578.643 687466.637 0, 1032869.507 687468.563 0, 1033160.371 687470.506 0, 1033451.235 687472.467 0,
+ 1033742.098 687474.444 0, 1034032.962 687476.439 0, 1034323.825 687478.45 0, 1034614.688 687480.479 0, 1034904.15 687482.515 0, 1035196.414 687484.588 0, 1035487.277 687486.668 0, 1035778.14 687488.765 0, 1036069.002 687490.88 0, 1036359.865 687493.011 0,
+ 1036650.727 687495.16 0, 1036941.589 687497.326 0, 1037232.452 687499.509 0, 1037523.313 687501.709 0, 1037814.175 687503.926 0, 1038105.037 687506.16 0, 1038395.899 687508.411 0, 1038686.76 687510.68 0, 1038977.621 687512.965 0, 1039268.482 687515.268 0,
+ 1039559.344 687517.588 0, 1039850.204 687519.925 0, 1040141.065 687522.279 0, 1040431.926 687524.65 0, 1040722.786 687527.038 0, 1041013.647 687529.444 0, 1041304.507 687531.866 0, 1041595.367 687534.306 0, 1041884.826 687536.751 0, 1041932.029 681967.595 0,
+ 1041979.229 676398.739 0))
+
+POLYGON ((1055845.915 687674.805 0, 1055556.461 687671.542 0, 1055265.609 687668.281 0, 1054974.757 687665.036 0, 1054683.905 687661.809 0, 1054393.052 687658.599 0, 1054102.199 687655.406 0, 1053811.347 687652.23 0, 1053520.493 687649.072 0, 1053229.64 687645.93 0,
+ 1052938.787 687642.806 0, 1052647.933 687639.698 0, 1052357.079 687636.608 0, 1052066.225 687633.535 0, 1051775.371 687630.479 0, 1051484.516 687627.44 0, 1051193.662 687624.419 0, 1050902.807 687621.414 0, 1050611.952 687618.427 0, 1050321.097 687615.456 0,
+ 1050030.242 687612.503 0, 1049739.386 687609.567 0, 1049448.531 687606.648 0, 1049157.675 687603.746 0, 1048865.419 687600.847 0, 1048575.963 687597.994 0, 1048285.106 687595.143 0, 1047994.25 687592.31 0, 1047703.393 687589.493 0, 1047412.536 687586.694 0,
+ 1047121.679 687583.912 0, 1046830.822 687581.147 0, 1046539.965 687578.399 0, 1046249.107 687575.669 0, 1045958.25 687572.955 0, 1045667.392 687570.259 0, 1045376.534 687567.579 0, 1045085.676 687564.917 0, 1044794.818 687562.272 0, 1044503.959 687559.644 0,
+ 1044213.101 687557.033 0, 1043922.242 687554.44 0, 1043631.383 687551.863 0, 1043340.524 687549.303 0, 1043049.665 687546.761 0, 1042758.806 687544.236 0, 1042467.946 687541.728 0, 1042177.087 687539.237 0, 1041884.826 687536.751 0, 1041837.621 693106.202 0,
+ 1041790.413 698675.946 0, 1042082.015 698678.426 0, 1042372.219 698680.911 0, 1042662.422 698683.414 0, 1042952.626 698685.933 0, 1043242.83 698688.47 0, 1043533.033 698691.024 0, 1043823.236 698693.594 0, 1044113.439 698696.182 0, 1044403.642 698698.787 0,
+ 1044693.845 698701.409 0, 1044984.048 698704.048 0, 1045274.25 698706.705 0, 1045564.453 698709.378 0, 1045854.655 698712.068 0, 1046144.857 698714.776 0, 1046435.059 698717.5 0, 1046725.26 698720.242 0, 1047015.462 698723.001 0, 1047305.663 698725.776 0,
+ 1047595.864 698728.569 0, 1047886.065 698731.379 0, 1048176.266 698734.206 0, 1048466.467 698737.05 0, 1048755.271 698739.898 0, 1049046.868 698742.79 0, 1049337.068 698745.685 0, 1049627.268 698748.597 0, 1049917.468 698751.527 0, 1050207.667 698754.474 0,
+ 1050497.867 698757.437 0, 1050788.066 698760.418 0, 1051078.265 698763.416 0, 1051368.464 698766.431 0, 1051658.663 698769.463 0, 1051948.862 698772.512 0, 1052239.06 698775.578 0, 1052529.259 698778.661 0, 1052819.457 698781.761 0, 1053109.654 698784.879 0,
+ 1053399.852 698788.013 0, 1053690.05 698791.165 0, 1053980.247 698794.333 0, 1054270.444 698797.519 0, 1054560.641 698800.722 0, 1054850.838 698803.942 0, 1055141.034 698807.179 0, 1055431.231 698810.433 0, 1055720.032 698813.688 0, 1055782.975 693244.1 0,
+ 1055845.915 687674.805 0))
+
+POLYGON ((1069649.206 698990.784 0, 1069360.413 698986.713 0, 1069070.227 698982.639 0, 1068780.041 698978.582 0, 1068489.854 698974.542 0, 1068199.667 698970.52 0, 1067909.481 698966.514 0, 1067619.293 698962.526 0, 1067329.106 698958.554 0, 1067038.918 698954.6 0,
+ 1066748.73 698950.663 0, 1066458.542 698946.742 0, 1066168.354 698942.839 0, 1065878.165 698938.953 0, 1065587.976 698935.084 0, 1065297.787 698931.233 0, 1065007.598 698927.398 0, 1064717.408 698923.58 0, 1064427.219 698919.78 0, 1064137.029 698915.996 0,
+ 1063846.838 698912.23 0, 1063556.648 698908.48 0, 1063266.457 698904.748 0, 1062976.267 698901.033 0, 1062684.681 698897.317 0, 1062395.884 698893.654 0, 1062105.693 698889.99 0, 1061815.501 698886.343 0, 1061525.309 698882.713 0, 1061235.117 698879.1 0,
+ 1060944.925 698875.505 0, 1060654.732 698871.926 0, 1060364.539 698868.365 0, 1060074.346 698864.82 0, 1059784.153 698861.293 0, 1059493.96 698857.783 0, 1059203.766 698854.29 0, 1058913.572 698850.813 0, 1058623.378 698847.354 0, 1058333.184 698843.913 0,
+ 1058042.99 698840.488 0, 1057752.795 698837.08 0, 1057462.6 698833.689 0, 1057172.405 698830.316 0, 1056882.21 698826.959 0, 1056592.014 698823.62 0, 1056301.819 698820.297 0, 1056011.623 698816.992 0, 1055720.032 698813.688 0, 1055657.085 704383.565 0,
+ 1055594.136 709953.727 0, 1055885.068 709957.023 0, 1056174.608 709960.321 0, 1056464.148 709963.636 0, 1056753.688 709966.968 0, 1057043.228 709970.317 0, 1057332.767 709973.683 0, 1057622.306 709977.066 0, 1057911.845 709980.466 0, 1058201.384 709983.883 0,
+ 1058490.922 709987.317 0, 1058780.461 709990.768 0, 1059069.999 709994.236 0, 1059359.537 709997.722 0, 1059649.074 710001.224 0, 1059938.612 710004.743 0, 1060228.149 710008.28 0, 1060517.686 710011.833 0, 1060807.223 710015.404 0, 1061096.76 710018.991 0,
+ 1061386.296 710022.596 0, 1061675.833 710026.217 0, 1061965.369 710029.856 0, 1062254.904 710033.512 0, 1062543.049 710037.167 0, 1062833.976 710040.874 0, 1063123.511 710044.581 0, 1063413.046 710048.305 0, 1063702.58 710052.046 0, 1063992.115 710055.803 0,
+ 1064281.649 710059.578 0, 1064571.183 710063.37 0, 1064860.717 710067.18 0, 1065150.251 710071.006 0, 1065439.784 710074.849 0, 1065729.317 710078.709 0, 1066018.85 710082.586 0, 1066308.383 710086.48 0, 1066597.915 710090.392 0, 1066887.448 710094.32 0,
+ 1067176.98 710098.265 0, 1067466.512 710102.228 0, 1067756.043 710106.207 0, 1068045.574 710110.204 0, 1068335.106 710114.217 0, 1068624.636 710118.248 0, 1068914.167 710122.296 0, 1069203.697 710126.36 0, 1069491.838 710130.422 0, 1069570.524 704560.46 0,
+ 1069649.206 698990.784 0))
+
+POLYGON ((1083388.985 710346.381 0, 1083100.855 710341.505 0, 1082811.337 710336.622 0, 1082521.819 710331.756 0, 1082232.301 710326.908 0, 1081942.782 710322.076 0, 1081653.264 710317.262 0, 1081363.744 710312.464 0, 1081074.225 710307.684 0, 1080784.705 710302.921 0,
+ 1080495.185 710298.174 0, 1080205.665 710293.445 0, 1079916.144 710288.733 0, 1079626.624 710284.038 0, 1079337.102 710279.36 0, 1079047.581 710274.698 0, 1078758.059 710270.054 0, 1078468.537 710265.427 0, 1078179.015 710260.817 0, 1077889.493 710256.224 0,
+ 1077599.97 710251.649 0, 1077310.447 710247.09 0, 1077020.924 710242.548 0, 1076731.4 710238.023 0, 1076440.488 710233.494 0, 1076152.352 710229.025 0, 1075862.828 710224.551 0, 1075573.303 710220.094 0, 1075283.778 710215.655 0, 1074994.253 710211.232 0,
+ 1074704.728 710206.827 0, 1074415.202 710202.438 0, 1074125.676 710198.067 0, 1073836.15 710193.713 0, 1073546.624 710189.375 0, 1073257.097 710185.055 0, 1072967.57 710180.752 0, 1072678.043 710176.466 0, 1072388.516 710172.196 0, 1072098.988 710167.944 0,
+ 1071809.46 710163.709 0, 1071519.932 710159.491 0, 1071230.403 710155.29 0, 1070940.875 710151.106 0, 1070651.346 710146.939 0, 1070361.817 710142.789 0, 1070072.287 710138.657 0, 1069782.757 710134.541 0, 1069491.838 710130.422 0, 1069413.148 715700.666 0,
+ 1069334.454 721271.188 0, 1069624.714 721275.297 0, 1069913.588 721279.404 0, 1070202.462 721283.527 0, 1070491.336 721287.668 0, 1070780.209 721291.825 0, 1071069.082 721296 0, 1071357.954 721300.191 0, 1071646.827 721304.4 0, 1071935.699 721308.625 0,
+ 1072224.571 721312.868 0, 1072513.443 721317.127 0, 1072802.314 721321.404 0, 1073091.185 721325.697 0, 1073380.056 721330.008 0, 1073668.927 721334.335 0, 1073957.798 721338.68 0, 1074246.668 721343.041 0, 1074535.538 721347.42 0, 1074824.407 721351.815 0,
+ 1075113.277 721356.228 0, 1075402.146 721360.657 0, 1075691.015 721365.104 0, 1075979.883 721369.567 0, 1076267.366 721374.026 0, 1076557.62 721378.545 0, 1076846.488 721383.06 0, 1077135.355 721387.591 0, 1077424.223 721392.14 0, 1077713.09 721396.706 0,
+ 1078001.957 721401.288 0, 1078290.823 721405.888 0, 1078579.689 721410.504 0, 1078868.555 721415.138 0, 1079157.421 721419.788 0, 1079446.286 721424.456 0, 1079735.151 721429.14 0, 1080024.016 721433.842 0, 1080312.881 721438.56 0, 1080601.745 721443.296 0,
+ 1080890.609 721448.049 0, 1081179.473 721452.818 0, 1081468.336 721457.605 0, 1081757.2 721462.408 0, 1082046.063 721467.229 0, 1082334.925 721472.066 0, 1082623.787 721476.921 0, 1082912.65 721481.793 0, 1083200.127 721486.658 0, 1083294.558 715916.38 0,
+ 1083388.985 710346.381 0))
+
+POLYGON ((1097065.136 721741.299 0, 1096777.671 721735.622 0, 1096488.824 721729.934 0, 1096199.977 721724.264 0, 1095911.129 721718.61 0, 1095622.281 721712.973 0, 1095333.432 721707.354 0, 1095044.584 721701.751 0, 1094755.734 721696.165 0, 1094466.885 721690.597 0,
+ 1094178.035 721685.045 0, 1093889.185 721679.511 0, 1093600.335 721673.993 0, 1093311.484 721668.492 0, 1093022.633 721663.009 0, 1092733.782 721657.542 0, 1092444.93 721652.092 0, 1092156.078 721646.66 0, 1091867.225 721641.244 0, 1091578.373 721635.846 0,
+ 1091289.52 721630.464 0, 1091000.666 721625.099 0, 1090711.813 721619.752 0, 1090422.959 721614.421 0, 1090132.721 721609.082 0, 1089845.25 721603.811 0, 1089556.395 721598.531 0, 1089267.54 721593.269 0, 1088978.685 721588.023 0, 1088689.829 721582.794 0,
+ 1088400.973 721577.583 0, 1088112.116 721572.388 0, 1087823.259 721567.211 0, 1087534.402 721562.05 0, 1087245.545 721556.906 0, 1086956.687 721551.78 0, 1086667.83 721546.67 0, 1086378.971 721541.578 0, 1086090.113 721536.502 0, 1085801.254 721531.443 0,
+ 1085512.395 721526.402 0, 1085223.535 721521.377 0, 1084934.676 721516.37 0, 1084645.816 721511.379 0, 1084356.955 721506.405 0, 1084068.095 721501.449 0, 1083779.234 721496.509 0, 1083490.373 721491.587 0, 1083200.127 721486.658 0, 1083105.691 727057.21 0,
+ 1083011.25 732628.034 0, 1083300.837 732632.952 0, 1083589.042 732637.864 0, 1083877.248 732642.792 0, 1084165.452 732647.737 0, 1084453.657 732652.7 0, 1084741.861 732657.679 0, 1085030.065 732662.675 0, 1085318.269 732667.688 0, 1085606.472 732672.718 0,
+ 1085894.675 732677.766 0, 1086182.878 732682.83 0, 1086471.081 732687.911 0, 1086759.283 732693.009 0, 1087047.485 732698.124 0, 1087335.686 732703.256 0, 1087623.887 732708.404 0, 1087912.088 732713.57 0, 1088200.289 732718.753 0, 1088488.489 732723.953 0,
+ 1088776.69 732729.17 0, 1089064.889 732734.403 0, 1089353.089 732739.654 0, 1089641.288 732744.922 0, 1089928.107 732750.181 0, 1090217.685 732755.508 0, 1090505.883 732760.826 0, 1090794.081 732766.162 0, 1091082.279 732771.514 0, 1091370.476 732776.884 0,
+ 1091658.673 732782.27 0, 1091946.87 732787.673 0, 1092235.066 732793.094 0, 1092523.262 732798.531 0, 1092811.458 732803.985 0, 1093099.653 732809.456 0, 1093387.848 732814.944 0, 1093676.043 732820.449 0, 1093964.237 732825.972 0, 1094252.431 732831.511 0,
+ 1094540.625 732837.067 0, 1094828.818 732842.64 0, 1095117.011 732848.229 0, 1095405.204 732853.836 0, 1095693.396 732859.46 0, 1095981.588 732865.101 0, 1096269.78 732870.759 0, 1096557.971 732876.433 0, 1096844.784 732882.098 0, 1096954.963 727311.563 0,
+ 1097065.136 721741.299 0))
+
+POLYGON ((1110677.544 733175.243 0, 1110390.747 733168.768 0, 1110102.573 733162.279 0, 1109814.398 733155.807 0, 1109526.223 733149.352 0, 1109238.048 733142.914 0, 1108949.872 733136.493 0, 1108661.696 733130.089 0, 1108373.519 733123.702 0, 1108085.343 733117.332 0,
+ 1107797.165 733110.978 0, 1107508.988 733104.642 0, 1107220.81 733098.323 0, 1106932.631 733092.02 0, 1106644.453 733085.735 0, 1106356.274 733079.467 0, 1106068.094 733073.215 0, 1105779.914 733066.981 0, 1105491.734 733060.763 0, 1105203.553 733054.563 0,
+ 1104915.373 733048.379 0, 1104627.191 733042.213 0, 1104339.01 733036.063 0, 1104050.828 733029.93 0, 1103761.267 733023.785 0, 1103474.462 733017.716 0, 1103186.279 733011.634 0, 1102898.096 733005.569 0, 1102609.912 732999.521 0, 1102321.728 732993.49 0,
+ 1102033.543 732987.476 0, 1101745.359 732981.479 0, 1101457.173 732975.499 0, 1101168.988 732969.536 0, 1100880.802 732963.59 0, 1100592.616 732957.661 0, 1100304.429 732951.748 0, 1100016.242 732945.853 0, 1099728.055 732939.975 0, 1099439.867 732934.114 0,
+ 1099151.679 732928.269 0, 1098863.491 732922.442 0, 1098575.302 732916.631 0, 1098287.113 732910.838 0, 1097998.923 732905.062 0, 1097710.734 732899.302 0, 1097422.544 732893.559 0, 1097134.353 732887.834 0, 1096844.784 732882.098 0, 1096734.599 738452.901 0,
+ 1096624.41 744023.968 0, 1096913.321 744029.691 0, 1097200.855 744035.404 0, 1097488.39 744041.133 0, 1097775.923 744046.88 0, 1098063.457 744052.643 0, 1098350.99 744058.423 0, 1098638.523 744064.221 0, 1098926.056 744070.035 0, 1099213.588 744075.866 0,
+ 1099501.12 744081.714 0, 1099788.651 744087.579 0, 1100076.183 744093.461 0, 1100363.714 744099.359 0, 1100651.244 744105.275 0, 1100938.774 744111.208 0, 1101226.304 744117.157 0, 1101513.833 744123.124 0, 1101801.363 744129.107 0, 1102088.891 744135.107 0,
+ 1102376.42 744141.124 0, 1102663.948 744147.159 0, 1102951.475 744153.21 0, 1103239.003 744159.278 0, 1103525.155 744165.333 0, 1103814.056 744171.464 0, 1104101.583 744177.583 0, 1104389.108 744183.719 0, 1104676.634 744189.871 0, 1104964.159 744196.041 0,
+ 1105251.684 744202.227 0, 1105539.208 744208.431 0, 1105826.732 744214.651 0, 1106114.256 744220.888 0, 1106401.779 744227.142 0, 1106689.302 744233.413 0, 1106976.825 744239.701 0, 1107264.347 744246.006 0, 1107551.869 744252.328 0, 1107839.391 744258.667 0,
+ 1108126.912 744265.022 0, 1108414.432 744271.395 0, 1108701.953 744277.785 0, 1108989.473 744284.191 0, 1109276.992 744290.614 0, 1109564.512 744297.055 0, 1109852.031 744303.512 0, 1110139.549 744309.986 0, 1110425.694 744316.446 0, 1110551.622 738745.712 0,
+ 1110677.544 733175.243 0))
+
+POLYGON ((1124226.096 744647.914 0, 1123939.968 744640.645 0, 1123652.469 744633.359 0, 1123364.97 744626.089 0, 1123077.47 744618.837 0, 1122789.97 744611.601 0, 1122502.469 744604.382 0, 1122214.968 744597.181 0, 1121927.466 744589.996 0, 1121639.964 744582.828 0,
+ 1121352.462 744575.677 0, 1121064.959 744568.543 0, 1120777.456 744561.425 0, 1120489.952 744554.325 0, 1120202.448 744547.242 0, 1119914.943 744540.175 0, 1119627.438 744533.126 0, 1119339.933 744526.093 0, 1119052.427 744519.078 0, 1118764.921 744512.079 0,
+ 1118477.415 744505.097 0, 1118189.908 744498.132 0, 1117902.4 744491.184 0, 1117614.892 744484.253 0, 1117326.012 744477.306 0, 1117039.875 744470.442 0, 1116752.366 744463.562 0, 1116464.857 744456.698 0, 1116177.347 744449.852 0, 1115889.837 744443.022 0,
+ 1115602.326 744436.21 0, 1115314.815 744429.414 0, 1115027.304 744422.635 0, 1114739.792 744415.874 0, 1114452.28 744409.129 0, 1114164.767 744402.401 0, 1113877.254 744395.69 0, 1113589.741 744388.996 0, 1113302.227 744382.318 0, 1113014.712 744375.658 0,
+ 1112727.198 744369.015 0, 1112439.683 744362.388 0, 1112152.168 744355.779 0, 1111864.652 744349.186 0, 1111577.136 744342.611 0, 1111289.619 744336.052 0, 1111002.102 744329.51 0, 1110714.585 744322.985 0, 1110425.694 744316.446 0, 1110299.759 749887.441 0,
+ 1110173.819 755458.693 0, 1110462.052 755465.218 0, 1110748.913 755471.728 0, 1111035.774 755478.254 0, 1111322.635 755484.798 0, 1111609.495 755491.359 0, 1111896.355 755497.936 0, 1112183.215 755504.531 0, 1112470.074 755511.142 0, 1112756.933 755517.77 0,
+ 1113043.791 755524.416 0, 1113330.649 755531.077 0, 1113617.507 755537.756 0, 1113904.364 755544.452 0, 1114191.221 755551.165 0, 1114478.078 755557.894 0, 1114764.934 755564.641 0, 1115051.789 755571.404 0, 1115338.644 755578.184 0, 1115625.499 755584.981 0,
+ 1115912.354 755591.795 0, 1116199.208 755598.626 0, 1116486.061 755605.474 0, 1116772.915 755612.338 0, 1117058.398 755619.187 0, 1117346.62 755626.118 0, 1117633.472 755633.033 0, 1117920.324 755639.965 0, 1118207.175 755646.914 0, 1118494.026 755653.88 0,
+ 1118780.876 755660.863 0, 1119067.726 755667.863 0, 1119354.576 755674.879 0, 1119641.425 755681.913 0, 1119928.274 755688.963 0, 1120215.122 755696.03 0, 1120501.97 755703.114 0, 1120788.817 755710.215 0, 1121075.664 755717.333 0, 1121362.511 755724.468 0,
+ 1121649.357 755731.619 0, 1121936.203 755738.788 0, 1122223.048 755745.973 0, 1122509.893 755753.175 0, 1122796.738 755760.394 0, 1123083.582 755767.63 0, 1123370.426 755774.883 0, 1123657.269 755782.153 0, 1123942.744 755789.405 0, 1124084.423 750218.531 0,
+ 1124226.096 744647.914 0))
+
+POLYGON ((1137710.679 756159.015 0, 1137425.223 756150.956 0, 1137138.402 756142.876 0, 1136851.58 756134.813 0, 1136564.757 756126.767 0, 1136277.934 756118.737 0, 1135991.111 756110.725 0, 1135704.287 756102.729 0, 1135417.462 756094.75 0, 1135130.638 756086.788 0,
+ 1134843.812 756078.843 0, 1134556.986 756070.915 0, 1134270.16 756063.003 0, 1133983.333 756055.109 0, 1133696.506 756047.231 0, 1133409.679 756039.371 0, 1133122.85 756031.527 0, 1132836.022 756023.7 0, 1132549.193 756015.89 0, 1132262.363 756008.097 0,
+ 1131975.533 756000.321 0, 1131688.703 755992.561 0, 1131401.872 755984.819 0, 1131115.041 755977.093 0, 1130826.842 755969.348 0, 1130541.376 755961.693 0, 1130254.544 755954.018 0, 1129967.711 755946.36 0, 1129680.877 755938.718 0, 1129394.043 755931.094 0,
+ 1129107.208 755923.487 0, 1128820.373 755915.896 0, 1128533.538 755908.322 0, 1128246.702 755900.766 0, 1127959.866 755893.226 0, 1127673.029 755885.703 0, 1127386.192 755878.197 0, 1127099.354 755870.707 0, 1126812.516 755863.235 0, 1126525.678 755855.779 0,
+ 1126238.839 755848.341 0, 1125952 755840.919 0, 1125665.16 755833.514 0, 1125378.32 755826.126 0, 1125091.479 755818.755 0, 1124804.638 755811.401 0, 1124517.796 755804.064 0, 1124230.954 755796.743 0, 1123942.744 755789.405 0, 1123801.058 761360.533 0,
+ 1123659.366 766931.912 0, 1123946.917 766939.233 0, 1124233.104 766946.537 0, 1124519.289 766953.858 0, 1124805.475 766961.195 0, 1125091.659 766968.549 0, 1125377.844 766975.92 0, 1125664.028 766983.308 0, 1125950.211 766990.713 0, 1126236.394 766998.134 0,
+ 1126522.577 767005.573 0, 1126808.759 767013.028 0, 1127094.941 767020.5 0, 1127381.123 767027.989 0, 1127667.303 767035.495 0, 1127953.484 767043.018 0, 1128239.664 767050.557 0, 1128525.844 767058.114 0, 1128812.023 767065.687 0, 1129098.201 767073.277 0,
+ 1129384.38 767080.884 0, 1129670.557 767088.508 0, 1129956.735 767096.148 0, 1130242.912 767103.806 0, 1130527.724 767111.443 0, 1130815.264 767119.171 0, 1131101.44 767126.879 0, 1131387.615 767134.604 0, 1131673.789 767142.345 0, 1131959.964 767150.104 0,
+ 1132246.137 767157.879 0, 1132532.311 767165.671 0, 1132818.483 767173.48 0, 1133104.656 767181.306 0, 1133390.828 767189.149 0, 1133676.999 767197.008 0, 1133963.17 767204.885 0, 1134249.341 767212.778 0, 1134535.511 767220.688 0, 1134821.68 767228.615 0,
+ 1135107.849 767236.559 0, 1135394.018 767244.519 0, 1135680.186 767252.497 0, 1135966.354 767260.491 0, 1136252.521 767268.502 0, 1136538.688 767276.53 0, 1136824.854 767284.575 0, 1137111.02 767292.637 0, 1137395.823 767300.677 0, 1137553.254 761729.721 0,
+ 1137710.679 756159.015 0))
+
+POLYGON ((1151131.182 767708.248 0, 1150846.401 767699.403 0, 1150560.26 767690.533 0, 1150274.117 767681.68 0, 1149987.974 767672.844 0, 1149701.831 767664.024 0, 1149415.687 767655.221 0, 1149129.542 767646.435 0, 1148843.397 767637.666 0, 1148557.252 767628.914 0,
+ 1148271.106 767620.179 0, 1147984.959 767611.46 0, 1147698.812 767602.759 0, 1147412.665 767594.074 0, 1147126.517 767585.406 0, 1146840.368 767576.755 0, 1146554.219 767568.12 0, 1146268.069 767559.503 0, 1145981.919 767550.902 0, 1145695.769 767542.318 0,
+ 1145409.617 767533.751 0, 1145123.466 767525.201 0, 1144837.314 767516.668 0, 1144551.161 767508.152 0, 1144263.646 767499.612 0, 1143978.854 767491.169 0, 1143692.7 767482.703 0, 1143406.545 767474.254 0, 1143120.39 767465.822 0, 1142834.235 767457.407 0,
+ 1142548.079 767449.008 0, 1142261.922 767440.627 0, 1141975.765 767432.262 0, 1141689.607 767423.914 0, 1141403.449 767415.583 0, 1141117.291 767407.268 0, 1140831.132 767398.971 0, 1140544.972 767390.69 0, 1140258.812 767382.427 0, 1139972.652 767374.18 0,
+ 1139686.491 767365.95 0, 1139400.329 767357.736 0, 1139114.167 767349.54 0, 1138828.005 767341.36 0, 1138541.842 767333.198 0, 1138255.678 767325.052 0, 1137969.514 767316.923 0, 1137683.35 767308.81 0, 1137395.823 767300.677 0, 1137238.384 772871.879 0,
+ 1137080.938 778443.325 0, 1137367.807 778451.441 0, 1137653.315 778459.534 0, 1137938.823 778467.645 0, 1138224.331 778475.772 0, 1138509.838 778483.916 0, 1138795.345 778492.077 0, 1139080.851 778500.254 0, 1139366.357 778508.449 0, 1139651.862 778516.66 0,
+ 1139937.366 778524.888 0, 1140222.871 778533.133 0, 1140508.374 778541.394 0, 1140793.878 778549.673 0, 1141079.38 778557.968 0, 1141364.883 778566.28 0, 1141650.384 778574.609 0, 1141935.886 778582.955 0, 1142221.386 778591.317 0, 1142506.887 778599.696 0,
+ 1142792.387 778608.093 0, 1143077.886 778616.505 0, 1143363.385 778624.935 0, 1143648.883 778633.382 0, 1143933.022 778641.805 0, 1144219.878 778650.325 0, 1144505.375 778658.822 0, 1144790.871 778667.336 0, 1145076.367 778675.866 0, 1145361.862 778684.413 0,
+ 1145647.357 778692.978 0, 1145932.852 778701.558 0, 1146218.345 778710.156 0, 1146503.839 778718.771 0, 1146789.331 778727.402 0, 1147074.824 778736.05 0, 1147360.316 778744.715 0, 1147645.807 778753.397 0, 1147931.298 778762.095 0, 1148216.788 778770.811 0,
+ 1148502.277 778779.543 0, 1148787.767 778788.292 0, 1149073.255 778797.058 0, 1149358.744 778805.84 0, 1149644.231 778814.639 0, 1149929.718 778823.456 0, 1150215.205 778832.289 0, 1150500.691 778841.138 0, 1150784.82 778849.963 0, 1150958.005 773278.984 0,
+ 1151131.182 767708.248 0))
+
+POLYGON ((1164487.497 779295.314 0, 1164203.393 779285.687 0, 1163917.933 779276.031 0, 1163632.472 779266.391 0, 1163347.011 779256.769 0, 1163061.549 779247.163 0, 1162776.087 779237.574 0, 1162490.624 779228.002 0, 1162205.161 779218.446 0, 1161919.697 779208.907 0,
+ 1161634.233 779199.386 0, 1161348.768 779189.88 0, 1161063.302 779180.392 0, 1160777.836 779170.921 0, 1160492.369 779161.466 0, 1160206.902 779152.028 0, 1159921.434 779142.607 0, 1159635.966 779133.203 0, 1159350.497 779123.815 0, 1159065.027 779114.445 0,
+ 1158779.557 779105.091 0, 1158494.087 779095.754 0, 1158208.616 779086.434 0, 1157923.144 779077.13 0, 1157636.316 779067.799 0, 1157352.199 779058.574 0, 1157066.726 779049.321 0, 1156781.252 779040.084 0, 1156495.777 779030.865 0, 1156210.302 779021.662 0,
+ 1155924.827 779012.477 0, 1155639.351 779003.308 0, 1155353.874 778994.155 0, 1155068.397 778985.02 0, 1154782.92 778975.901 0, 1154497.441 778966.799 0, 1154211.963 778957.714 0, 1153926.483 778948.646 0, 1153641.004 778939.595 0, 1153355.523 778930.56 0,
+ 1153070.042 778921.542 0, 1152784.561 778912.541 0, 1152499.079 778903.557 0, 1152213.597 778894.59 0, 1151928.114 778885.639 0, 1151642.63 778876.705 0, 1151357.146 778867.788 0, 1151071.662 778858.888 0, 1150784.82 778849.963 0, 1150611.627 784421.181 0,
+ 1150438.427 789992.636 0, 1150724.61 790001.541 0, 1151009.439 790010.421 0, 1151294.267 790019.317 0, 1151579.095 790028.23 0, 1151863.922 790037.16 0, 1152148.748 790046.107 0, 1152433.574 790055.071 0, 1152718.4 790064.051 0, 1153003.225 790073.048 0,
+ 1153288.049 790082.062 0, 1153572.873 790091.093 0, 1153857.697 790100.14 0, 1154142.52 790109.204 0, 1154427.342 790118.285 0, 1154712.164 790127.383 0, 1154996.985 790136.497 0, 1155281.806 790145.628 0, 1155566.626 790154.776 0, 1155851.446 790163.941 0,
+ 1156136.265 790173.123 0, 1156421.084 790182.321 0, 1156705.902 790191.536 0, 1156990.719 790200.768 0, 1157274.183 790209.972 0, 1157560.352 790219.281 0, 1157845.168 790228.564 0, 1158129.984 790237.862 0, 1158414.798 790247.178 0, 1158699.613 790256.51 0,
+ 1158984.426 790265.859 0, 1159269.239 790275.225 0, 1159554.052 790284.608 0, 1159838.864 790294.007 0, 1160123.676 790303.424 0, 1160408.486 790312.857 0, 1160693.297 790322.306 0, 1160978.107 790331.773 0, 1161262.916 790341.256 0, 1161547.725 790350.756 0,
+ 1161832.533 790360.273 0, 1162117.34 790369.806 0, 1162402.147 790379.357 0, 1162686.954 790388.924 0, 1162971.76 790398.507 0, 1163256.565 790408.108 0, 1163541.37 790417.725 0, 1163826.174 790427.359 0, 1164109.626 790436.964 0, 1164298.565 784866.021 0,
+ 1164487.497 779295.314 0))
+
+POLYGON ((1177779.515 790919.915 0, 1177496.089 790909.509 0, 1177211.313 790899.07 0, 1176926.537 790888.648 0, 1176641.76 790878.243 0, 1176356.982 790867.855 0, 1176072.204 790857.483 0, 1175787.425 790847.128 0, 1175502.645 790836.79 0, 1175217.865 790826.469 0,
+ 1174933.085 790816.164 0, 1174648.303 790805.876 0, 1174363.521 790795.605 0, 1174078.739 790785.351 0, 1173793.956 790775.113 0, 1173509.172 790764.893 0, 1173224.388 790754.689 0, 1172939.603 790744.501 0, 1172654.817 790734.331 0, 1172370.031 790724.177 0,
+ 1172085.244 790714.04 0, 1171800.457 790703.92 0, 1171515.669 790693.816 0, 1171230.881 790683.73 0, 1170944.741 790673.612 0, 1170661.302 790663.607 0, 1170376.511 790653.57 0, 1170091.721 790643.551 0, 1169806.929 790633.548 0, 1169522.137 790623.562 0,
+ 1169237.344 790613.592 0, 1168952.551 790603.64 0, 1168667.757 790593.704 0, 1168382.963 790583.785 0, 1168098.168 790573.882 0, 1167813.372 790563.997 0, 1167528.576 790554.128 0, 1167243.78 790544.276 0, 1166958.982 790534.441 0, 1166674.184 790524.622 0,
+ 1166389.386 790514.821 0, 1166104.587 790505.036 0, 1165819.787 790495.267 0, 1165534.987 790485.516 0, 1165250.186 790475.781 0, 1164965.385 790466.063 0, 1164680.583 790456.362 0, 1164395.781 790446.678 0, 1164109.626 790436.964 0, 1163920.678 796008.14 0,
+ 1163731.723 801579.544 0, 1164017.219 801589.235 0, 1164301.365 801598.897 0, 1164585.511 801608.576 0, 1164869.657 801618.272 0, 1165153.802 801627.984 0, 1165437.946 801637.713 0, 1165722.09 801647.459 0, 1166006.233 801657.221 0, 1166290.376 801667 0,
+ 1166574.518 801676.796 0, 1166858.659 801686.609 0, 1167142.8 801696.438 0, 1167426.941 801706.284 0, 1167711.08 801716.147 0, 1167995.22 801726.026 0, 1168279.358 801735.923 0, 1168563.496 801745.835 0, 1168847.634 801755.765 0, 1169131.77 801765.712 0,
+ 1169415.907 801775.675 0, 1169700.042 801785.654 0, 1169984.177 801795.651 0, 1170268.312 801805.664 0, 1170551.098 801815.647 0, 1170836.579 801825.741 0, 1171120.712 801835.805 0, 1171404.844 801845.885 0, 1171688.976 801855.982 0, 1171973.106 801866.095 0,
+ 1172257.237 801876.226 0, 1172541.367 801886.373 0, 1172825.496 801896.537 0, 1173109.624 801906.717 0, 1173393.752 801916.914 0, 1173677.88 801927.128 0, 1173962.006 801937.359 0, 1174246.132 801947.606 0, 1174530.258 801957.871 0, 1174814.383 801968.151 0,
+ 1175098.507 801978.449 0, 1175382.631 801988.763 0, 1175666.754 801999.094 0, 1175950.877 802009.442 0, 1176234.998 802019.807 0, 1176519.12 802030.188 0, 1176803.24 802040.586 0, 1177087.36 802051 0, 1177370.134 802061.382 0, 1177574.828 796490.534 0,
+ 1177779.515 790919.915 0))
+
+POLYGON ((1191007.129 802581.75 0, 1190724.384 802570.569 0, 1190440.294 802559.351 0, 1190156.204 802548.151 0, 1189872.113 802536.967 0, 1189588.022 802525.8 0, 1189303.93 802514.649 0, 1189019.837 802503.516 0, 1188735.744 802492.399 0, 1188451.649 802481.299 0,
+ 1188167.555 802470.215 0, 1187883.459 802459.148 0, 1187599.363 802448.098 0, 1187315.267 802437.065 0, 1187031.169 802426.048 0, 1186747.071 802415.048 0, 1186462.972 802404.065 0, 1186178.873 802393.099 0, 1185894.773 802382.149 0, 1185610.673 802371.216 0,
+ 1185326.571 802360.299 0, 1185042.47 802349.4 0, 1184758.367 802338.517 0, 1184474.264 802327.651 0, 1184188.815 802316.75 0, 1183906.056 802305.969 0, 1183621.951 802295.153 0, 1183337.845 802284.353 0, 1183053.739 802273.571 0, 1182769.632 802262.805 0,
+ 1182485.524 802252.056 0, 1182201.416 802241.324 0, 1181917.307 802230.608 0, 1181633.197 802219.909 0, 1181349.087 802209.227 0, 1181064.976 802198.561 0, 1180780.865 802187.913 0, 1180496.753 802177.281 0, 1180212.64 802166.665 0, 1179928.527 802156.067 0,
+ 1179644.413 802145.485 0, 1179360.299 802134.92 0, 1179076.184 802124.371 0, 1178792.068 802113.839 0, 1178507.952 802103.324 0, 1178223.835 802092.826 0, 1177939.717 802082.345 0, 1177655.599 802071.88 0, 1177370.134 802061.382 0, 1177165.43 807632.456 0,
+ 1176960.719 813203.75 0, 1177245.525 813214.224 0, 1177528.988 813224.664 0, 1177812.45 813235.122 0, 1178095.911 813245.596 0, 1178379.371 813256.086 0, 1178662.831 813266.594 0, 1178946.291 813277.118 0, 1179229.749 813287.659 0, 1179513.207 813298.216 0,
+ 1179796.665 813308.79 0, 1180080.122 813319.381 0, 1180363.578 813329.988 0, 1180647.033 813340.613 0, 1180930.488 813351.254 0, 1181213.943 813361.911 0, 1181497.396 813372.585 0, 1181780.85 813383.276 0, 1182064.302 813393.984 0, 1182347.754 813404.708 0,
+ 1182631.205 813415.449 0, 1182914.656 813426.207 0, 1183198.105 813436.981 0, 1183481.555 813447.772 0, 1183763.661 813458.529 0, 1184048.451 813469.404 0, 1184331.899 813480.245 0, 1184615.346 813491.103 0, 1184898.792 813501.977 0, 1185182.237 813512.869 0,
+ 1185465.682 813523.776 0, 1185749.126 813534.701 0, 1186032.57 813545.642 0, 1186316.012 813556.6 0, 1186599.455 813567.574 0, 1186882.896 813578.566 0, 1187166.337 813589.573 0, 1187449.778 813600.598 0, 1187733.217 813611.639 0, 1188016.656 813622.697 0,
+ 1188300.095 813633.772 0, 1188583.532 813644.863 0, 1188866.969 813655.971 0, 1189150.406 813667.096 0, 1189433.841 813678.237 0, 1189717.276 813689.395 0, 1190000.711 813700.57 0, 1190284.145 813711.761 0, 1190566.237 813722.916 0, 1190786.687 808152.222 0,
+ 1191007.129 802581.75 0))
+
+POLYGON ((1204170.233 814280.519 0, 1203888.172 814268.567 0, 1203604.771 814256.574 0, 1203321.369 814244.599 0, 1203037.966 814232.64 0, 1202754.563 814220.698 0, 1202471.159 814208.773 0, 1202187.755 814196.864 0, 1201904.35 814184.972 0, 1201620.944 814173.097 0,
+ 1201337.537 814161.238 0, 1201054.13 814149.396 0, 1200770.722 814137.571 0, 1200487.313 814125.762 0, 1200203.904 814113.97 0, 1199920.494 814102.195 0, 1199637.083 814090.436 0, 1199353.671 814078.694 0, 1199070.259 814066.969 0, 1198786.846 814055.261 0,
+ 1198503.433 814043.569 0, 1198220.019 814031.894 0, 1197936.604 814020.235 0, 1197653.188 814008.593 0, 1197368.432 813996.913 0, 1197086.355 813985.36 0, 1196802.937 813973.768 0, 1196519.519 813962.193 0, 1196236.1 813950.634 0, 1195952.68 813939.093 0,
+ 1195669.26 813927.568 0, 1195385.839 813916.059 0, 1195102.417 813904.568 0, 1194818.994 813893.093 0, 1194535.571 813881.634 0, 1194252.148 813870.193 0, 1193968.723 813858.768 0, 1193685.298 813847.359 0, 1193401.872 813835.968 0, 1193118.446 813824.593 0,
+ 1192835.019 813813.235 0, 1192551.591 813801.893 0, 1192268.162 813790.568 0, 1191984.733 813779.26 0, 1191701.303 813767.969 0, 1191417.873 813756.694 0, 1191134.442 813745.436 0, 1190851.01 813734.194 0, 1190566.237 813722.916 0, 1190345.778 819293.828 0,
+ 1190125.31 824864.954 0, 1190409.425 824876.206 0, 1190692.201 824887.422 0, 1190974.976 824898.654 0, 1191257.751 824909.902 0, 1191540.525 824921.168 0, 1191823.298 824932.45 0, 1192106.071 824943.749 0, 1192388.843 824955.064 0, 1192671.614 824966.396 0,
+ 1192954.385 824977.744 0, 1193237.155 824989.11 0, 1193519.924 825000.491 0, 1193802.693 825011.89 0, 1194085.461 825023.305 0, 1194368.228 825034.737 0, 1194650.995 825046.185 0, 1194933.761 825057.65 0, 1195216.526 825069.132 0, 1195499.291 825080.631 0,
+ 1195782.054 825092.146 0, 1196064.818 825103.677 0, 1196347.58 825115.226 0, 1196630.342 825126.791 0, 1196911.767 825138.317 0, 1197195.864 825149.97 0, 1197478.624 825161.585 0, 1197761.383 825173.217 0, 1198044.142 825184.865 0, 1198326.899 825196.53 0,
+ 1198609.656 825208.211 0, 1198892.413 825219.909 0, 1199175.169 825231.624 0, 1199457.924 825243.355 0, 1199740.678 825255.103 0, 1200023.432 825266.868 0, 1200306.185 825278.649 0, 1200588.937 825290.447 0, 1200871.688 825302.262 0, 1201154.439 825314.093 0,
+ 1201437.19 825325.941 0, 1201719.939 825337.806 0, 1202002.688 825349.687 0, 1202285.436 825361.584 0, 1202568.183 825373.499 0, 1202850.93 825385.43 0, 1203133.676 825397.378 0, 1203416.421 825409.342 0, 1203697.83 825421.266 0, 1203934.036 819850.785 0,
+ 1204170.233 814280.519 0))
+
+POLYGON ((1217268.725 826015.921 0, 1216987.348 826003.202 0, 1216704.638 825990.438 0, 1216421.927 825977.692 0, 1216139.215 825964.962 0, 1215856.502 825952.249 0, 1215573.789 825939.552 0, 1215291.075 825926.872 0, 1215008.36 825914.209 0, 1214725.644 825901.563 0,
+ 1214442.928 825888.933 0, 1214160.211 825876.319 0, 1213877.493 825863.722 0, 1213594.774 825851.142 0, 1213312.055 825838.579 0, 1213029.335 825826.032 0, 1212746.614 825813.502 0, 1212463.893 825800.988 0, 1212181.171 825788.492 0, 1211898.448 825776.011 0,
+ 1211615.724 825763.548 0, 1211332.999 825751.101 0, 1211050.274 825738.67 0, 1210767.548 825726.257 0, 1210483.487 825713.801 0, 1210202.094 825701.479 0, 1209919.366 825689.116 0, 1209636.637 825676.768 0, 1209353.908 825664.438 0, 1209071.178 825652.124 0,
+ 1208788.447 825639.827 0, 1208505.715 825627.546 0, 1208222.982 825615.282 0, 1207940.249 825603.035 0, 1207657.515 825590.805 0, 1207374.781 825578.591 0, 1207092.045 825566.393 0, 1206809.309 825554.213 0, 1206526.573 825542.048 0, 1206243.835 825529.901 0,
+ 1205961.097 825517.77 0, 1205678.358 825505.656 0, 1205395.618 825493.559 0, 1205112.878 825481.478 0, 1204830.137 825469.414 0, 1204547.395 825457.366 0, 1204264.653 825445.335 0, 1203981.91 825433.321 0, 1203697.83 825421.266 0, 1203461.615 830991.958 0,
+ 1203225.392 836562.856 0, 1203508.812 836574.882 0, 1203790.9 836586.869 0, 1204072.986 836598.872 0, 1204355.072 836610.892 0, 1204637.158 836622.928 0, 1204919.242 836634.981 0, 1205201.326 836647.05 0, 1205483.409 836659.136 0, 1205765.492 836671.239 0,
+ 1206047.573 836683.358 0, 1206329.654 836695.494 0, 1206611.735 836707.646 0, 1206893.814 836719.815 0, 1207175.893 836732.001 0, 1207457.971 836744.203 0, 1207740.049 836756.422 0, 1208022.125 836768.658 0, 1208304.201 836780.91 0, 1208586.277 836793.178 0,
+ 1208868.351 836805.464 0, 1209150.425 836817.765 0, 1209432.498 836830.084 0, 1209714.57 836842.419 0, 1209995.311 836854.712 0, 1210278.713 836867.139 0, 1210560.783 836879.524 0, 1210842.853 836891.925 0, 1211124.921 836904.343 0, 1211406.989 836916.778 0,
+ 1211689.056 836929.229 0, 1211971.123 836941.697 0, 1212253.189 836954.182 0, 1212535.254 836966.683 0, 1212817.318 836979.201 0, 1213099.382 836991.735 0, 1213381.445 837004.286 0, 1213663.507 837016.853 0, 1213945.568 837029.438 0, 1214227.629 837042.038 0,
+ 1214509.689 837054.656 0, 1214791.748 837067.289 0, 1215073.806 837079.94 0, 1215355.864 837092.607 0, 1215637.921 837105.291 0, 1215919.977 837117.991 0, 1216202.032 837130.708 0, 1216484.087 837143.442 0, 1216764.811 837156.132 0, 1217016.772 831585.923 0,
+ 1217268.725 826015.921 0))
+
+POLYGON ((1230302.5 837787.656 0, 1230021.811 837774.173 0, 1229739.793 837760.642 0, 1229457.775 837747.129 0, 1229175.756 837733.632 0, 1228893.736 837720.151 0, 1228611.715 837706.687 0, 1228329.693 837693.24 0, 1228047.671 837679.809 0, 1227765.648 837666.395 0,
+ 1227483.624 837652.997 0, 1227201.599 837639.616 0, 1226919.574 837626.252 0, 1226637.548 837612.904 0, 1226355.521 837599.573 0, 1226073.493 837586.259 0, 1225791.464 837572.961 0, 1225509.435 837559.679 0, 1225227.405 837546.415 0, 1224945.374 837533.167 0,
+ 1224663.342 837519.935 0, 1224381.309 837506.72 0, 1224099.276 837493.522 0, 1223817.242 837480.34 0, 1223533.878 837467.113 0, 1223253.171 837454.026 0, 1222971.135 837440.894 0, 1222689.098 837427.779 0, 1222407.06 837414.68 0, 1222125.021 837401.598 0,
+ 1221842.982 837388.533 0, 1221560.942 837375.484 0, 1221278.901 837362.451 0, 1220996.859 837349.436 0, 1220714.816 837336.437 0, 1220432.773 837323.454 0, 1220150.729 837310.488 0, 1219868.684 837297.539 0, 1219586.638 837284.606 0, 1219304.592 837271.69 0,
+ 1219022.545 837258.79 0, 1218740.497 837245.907 0, 1218458.448 837233.041 0, 1218176.399 837220.191 0, 1217894.349 837207.358 0, 1217612.298 837194.542 0, 1217330.246 837181.742 0, 1217048.194 837168.958 0, 1216764.811 837156.132 0, 1216512.84 842726.543 0,
+ 1216260.86 848297.154 0, 1216543.585 848309.951 0, 1216824.981 848322.705 0, 1217106.377 848335.475 0, 1217387.772 848348.262 0, 1217669.167 848361.065 0, 1217950.56 848373.885 0, 1218231.953 848386.721 0, 1218513.346 848399.574 0, 1218794.737 848412.444 0,
+ 1219076.128 848425.33 0, 1219357.517 848438.233 0, 1219638.907 848451.152 0, 1219920.295 848464.088 0, 1220201.682 848477.04 0, 1220483.069 848490.009 0, 1220764.455 848502.994 0, 1221045.841 848515.996 0, 1221327.225 848529.015 0, 1221608.609 848542.05 0,
+ 1221889.992 848555.102 0, 1222171.374 848568.17 0, 1222452.756 848581.255 0, 1222734.136 848594.356 0, 1223014.191 848607.412 0, 1223296.895 848620.609 0, 1223578.274 848633.76 0, 1223859.651 848646.928 0, 1224141.028 848660.112 0, 1224422.404 848673.313 0,
+ 1224703.78 848686.53 0, 1224985.154 848699.764 0, 1225266.528 848713.014 0, 1225547.901 848726.281 0, 1225829.273 848739.565 0, 1226110.644 848752.865 0, 1226392.015 848766.182 0, 1226673.385 848779.515 0, 1226954.754 848792.865 0, 1227236.122 848806.231 0,
+ 1227517.489 848819.614 0, 1227798.856 848833.014 0, 1228080.222 848846.43 0, 1228361.587 848859.862 0, 1228642.951 848873.312 0, 1228924.315 848886.777 0, 1229205.677 848900.26 0, 1229487.039 848913.759 0, 1229767.076 848927.21 0, 1230034.793 843357.333 0,
+ 1230302.5 837787.656 0))
+
+POLYGON ((1243271.457 849595.421 0, 1242991.458 849581.178 0, 1242710.135 849566.885 0, 1242428.812 849552.608 0, 1242147.487 849538.347 0, 1241866.162 849524.103 0, 1241584.836 849509.875 0, 1241303.509 849495.665 0, 1241022.182 849481.47 0, 1240740.853 849467.292 0,
+ 1240459.524 849453.131 0, 1240178.194 849438.986 0, 1239896.863 849424.858 0, 1239615.531 849410.747 0, 1239334.198 849396.652 0, 1239052.865 849382.573 0, 1238771.53 849368.511 0, 1238490.195 849354.466 0, 1238208.859 849340.437 0, 1237927.522 849326.425 0,
+ 1237646.185 849312.429 0, 1237364.846 849298.45 0, 1237083.507 849284.488 0, 1236802.167 849270.542 0, 1236519.503 849256.547 0, 1236239.484 849242.699 0, 1235958.142 849228.803 0, 1235676.798 849214.923 0, 1235395.454 849201.06 0, 1235114.109 849187.214 0,
+ 1234832.763 849173.383 0, 1234551.417 849159.57 0, 1234270.069 849145.773 0, 1233988.721 849131.993 0, 1233707.372 849118.229 0, 1233426.022 849104.482 0, 1233144.671 849090.751 0, 1232863.32 849077.037 0, 1232581.968 849063.339 0, 1232300.614 849049.658 0,
+ 1232019.261 849035.994 0, 1231737.906 849022.346 0, 1231456.55 849008.714 0, 1231175.194 848995.099 0, 1230893.837 848981.501 0, 1230612.479 848967.92 0, 1230331.12 848954.354 0, 1230049.761 848940.806 0, 1229767.076 848927.21 0, 1229499.35 854497.283 0,
+ 1229231.614 860067.547 0, 1229513.64 860081.111 0, 1229794.344 860094.628 0, 1230075.047 860108.161 0, 1230355.749 860121.711 0, 1230636.451 860135.278 0, 1230917.152 860148.861 0, 1231197.851 860162.461 0, 1231478.55 860176.077 0, 1231759.249 860189.709 0,
+ 1232039.946 860203.358 0, 1232320.643 860217.024 0, 1232601.338 860230.706 0, 1232882.034 860244.405 0, 1233162.728 860258.12 0, 1233443.421 860271.852 0, 1233724.114 860285.6 0, 1234004.805 860299.365 0, 1234285.496 860313.146 0, 1234566.187 860326.944 0,
+ 1234846.876 860340.759 0, 1235127.564 860354.589 0, 1235408.252 860368.437 0, 1235688.939 860382.301 0, 1235968.305 860396.116 0, 1236250.31 860410.078 0, 1236530.995 860423.992 0, 1236811.679 860437.922 0, 1237092.361 860451.868 0, 1237373.043 860465.831 0,
+ 1237653.724 860479.811 0, 1237934.405 860493.807 0, 1238215.084 860507.82 0, 1238495.763 860521.849 0, 1238776.441 860535.894 0, 1239057.118 860549.956 0, 1239337.794 860564.035 0, 1239618.469 860578.13 0, 1239899.144 860592.242 0, 1240179.818 860606.37 0,
+ 1240460.491 860620.515 0, 1240741.163 860634.676 0, 1241021.834 860648.854 0, 1241302.504 860663.049 0, 1241583.174 860677.259 0, 1241863.843 860691.487 0, 1242144.51 860705.731 0, 1242425.177 860719.991 0, 1242704.525 860734.201 0, 1242987.996 855164.715 0,
+ 1243271.457 849595.421 0))
+
+POLYGON ((1256175.498 861438.915 0, 1255896.19 861423.916 0, 1255615.564 861408.863 0, 1255334.938 861393.826 0, 1255054.31 861378.806 0, 1254773.682 861363.802 0, 1254493.053 861348.815 0, 1254212.423 861333.844 0, 1253931.792 861318.89 0, 1253651.16 861303.953 0,
+ 1253370.527 861289.032 0, 1253089.894 861274.127 0, 1252809.259 861259.239 0, 1252528.624 861244.367 0, 1252247.988 861229.512 0, 1251967.351 861214.674 0, 1251686.713 861199.852 0, 1251406.074 861185.046 0, 1251125.434 861170.257 0, 1250844.794 861155.484 0,
+ 1250564.152 861140.729 0, 1250283.51 861125.989 0, 1250002.867 861111.266 0, 1249722.223 861096.56 0, 1249440.26 861081.801 0, 1249160.932 861067.196 0, 1248880.286 861052.54 0, 1248599.638 861037.899 0, 1248318.99 861023.275 0, 1248038.341 861008.668 0,
+ 1247757.69 860994.077 0, 1247477.04 860979.503 0, 1247196.388 860964.945 0, 1246915.735 860950.404 0, 1246635.082 860935.879 0, 1246354.427 860921.371 0, 1246073.772 860906.88 0, 1245793.116 860892.404 0, 1245512.459 860877.946 0, 1245231.801 860863.504 0,
+ 1244951.143 860849.078 0, 1244670.483 860834.669 0, 1244389.823 860820.276 0, 1244109.162 860805.9 0, 1243828.5 860791.541 0, 1243547.837 860777.198 0, 1243267.174 860762.871 0, 1242986.509 860748.561 0, 1242704.525 860734.201 0, 1242421.044 866303.874 0,
+ 1242137.553 871873.732 0, 1242418.879 871888.059 0, 1242698.888 871902.336 0, 1242978.896 871916.629 0, 1243258.903 871930.938 0, 1243538.91 871945.264 0, 1243818.915 871959.607 0, 1244098.92 871973.966 0, 1244378.924 871988.341 0, 1244658.927 872002.733 0,
+ 1244938.929 872017.142 0, 1245218.93 872031.566 0, 1245498.93 872046.008 0, 1245778.93 872060.466 0, 1246058.929 872074.94 0, 1246338.926 872089.431 0, 1246618.923 872103.938 0, 1246898.92 872118.462 0, 1247178.915 872133.002 0, 1247458.909 872147.559 0,
+ 1247738.903 872162.132 0, 1248018.896 872176.721 0, 1248298.888 872191.328 0, 1248578.879 872205.95 0, 1248857.554 872220.52 0, 1249138.858 872235.245 0, 1249418.846 872249.917 0, 1249698.834 872264.605 0, 1249978.821 872279.31 0, 1250258.806 872294.032 0,
+ 1250538.791 872308.77 0, 1250818.775 872323.524 0, 1251098.759 872338.295 0, 1251378.741 872353.083 0, 1251658.723 872367.887 0, 1251938.703 872382.707 0, 1252218.683 872397.544 0, 1252498.662 872412.397 0, 1252778.64 872427.267 0, 1253058.617 872442.153 0,
+ 1253338.593 872457.056 0, 1253618.568 872471.975 0, 1253898.543 872486.911 0, 1254178.516 872501.863 0, 1254458.489 872516.832 0, 1254738.461 872531.817 0, 1255018.432 872546.819 0, 1255298.402 872561.837 0, 1255577.058 872576.801 0, 1255876.282 867007.766 0,
+ 1256175.498 861438.915 0))
+
+POLYGON ((1269014.522 873317.835 0, 1268735.907 873302.084 0, 1268455.981 873286.275 0, 1268176.054 873270.483 0, 1267896.125 873254.706 0, 1267616.196 873238.947 0, 1267336.266 873223.204 0, 1267056.334 873207.477 0, 1266776.402 873191.767 0, 1266496.469 873176.073 0,
+ 1266216.535 873160.396 0, 1265936.601 873144.735 0, 1265656.665 873129.091 0, 1265376.728 873113.463 0, 1265096.79 873097.852 0, 1264816.852 873082.257 0, 1264536.912 873066.679 0, 1264256.972 873051.117 0, 1263977.031 873035.572 0, 1263697.089 873020.043 0,
+ 1263417.145 873004.53 0, 1263137.201 872989.034 0, 1262857.256 872973.555 0, 1262577.311 872958.092 0, 1262296.051 872942.573 0, 1262017.416 872927.215 0, 1261737.468 872911.801 0, 1261457.518 872896.404 0, 1261177.568 872881.024 0, 1260897.616 872865.66 0,
+ 1260617.664 872850.312 0, 1260337.711 872834.981 0, 1260057.757 872819.666 0, 1259777.802 872804.368 0, 1259497.846 872789.086 0, 1259217.89 872773.821 0, 1258937.932 872758.572 0, 1258657.974 872743.34 0, 1258378.014 872728.124 0, 1258098.054 872712.924 0,
+ 1257818.093 872697.741 0, 1257538.131 872682.575 0, 1257258.168 872667.425 0, 1256978.204 872652.292 0, 1256698.239 872637.175 0, 1256418.273 872622.074 0, 1256138.307 872606.99 0, 1255858.34 872591.922 0, 1255577.058 872576.801 0, 1255277.823 878146.016 0,
+ 1254978.579 883715.408 0, 1255259.202 883730.494 0, 1255538.514 883745.527 0, 1255817.825 883760.575 0, 1256097.135 883775.64 0, 1256376.444 883790.722 0, 1256655.752 883805.82 0, 1256935.06 883820.935 0, 1257214.366 883836.065 0, 1257493.672 883851.213 0,
+ 1257772.976 883866.377 0, 1258052.28 883881.557 0, 1258331.583 883896.753 0, 1258610.885 883911.967 0, 1258890.186 883927.196 0, 1259169.487 883942.442 0, 1259448.786 883957.705 0, 1259728.084 883972.983 0, 1260007.382 883988.279 0, 1260286.679 884003.59 0,
+ 1260565.974 884018.919 0, 1260845.269 884034.263 0, 1261124.563 884049.624 0, 1261403.856 884065.002 0, 1261681.839 884080.323 0, 1261962.439 884095.806 0, 1262241.73 884111.233 0, 1262521.019 884126.676 0, 1262800.308 884142.136 0, 1263079.595 884157.612 0,
+ 1263358.882 884173.105 0, 1263638.168 884188.614 0, 1263917.452 884204.139 0, 1264196.736 884219.681 0, 1264476.019 884235.239 0, 1264755.302 884250.814 0, 1265034.583 884266.405 0, 1265313.863 884282.013 0, 1265593.142 884297.637 0, 1265872.421 884313.277 0,
+ 1266151.698 884328.934 0, 1266430.975 884344.608 0, 1266710.25 884360.297 0, 1266989.525 884376.004 0, 1267268.799 884391.726 0, 1267548.072 884407.465 0, 1267827.344 884423.221 0, 1268106.615 884438.993 0, 1268384.577 884454.707 0, 1268699.554 878886.183 0,
+ 1269014.522 873317.835 0))
+
+POLYGON ((1281788.432 885231.878 0, 1281510.514 885215.378 0, 1281231.289 885198.818 0, 1280952.062 885182.273 0, 1280672.835 885165.745 0, 1280393.607 885149.233 0, 1280114.378 885132.738 0, 1279835.147 885116.259 0, 1279555.916 885099.797 0, 1279276.684 885083.351 0,
+ 1278997.451 885066.922 0, 1278718.217 885050.509 0, 1278438.982 885034.112 0, 1278159.746 885017.732 0, 1277880.509 885001.368 0, 1277601.271 884985.021 0, 1277322.032 884968.69 0, 1277042.792 884952.376 0, 1276763.551 884936.078 0, 1276484.309 884919.796 0,
+ 1276205.067 884903.531 0, 1275925.823 884887.283 0, 1275646.578 884871.05 0, 1275367.333 884854.834 0, 1275086.779 884838.559 0, 1274808.839 884822.452 0, 1274529.59 884806.286 0, 1274250.341 884790.136 0, 1273971.09 884774.002 0, 1273691.839 884757.885 0,
+ 1273412.587 884741.784 0, 1273133.334 884725.7 0, 1272854.079 884709.632 0, 1272574.824 884693.581 0, 1272295.568 884677.546 0, 1272016.311 884661.527 0, 1271737.053 884645.525 0, 1271457.794 884629.539 0, 1271178.535 884613.57 0, 1270899.274 884597.617 0,
+ 1270620.012 884581.681 0, 1270340.75 884565.761 0, 1270061.486 884549.857 0, 1269782.221 884533.97 0, 1269502.956 884518.1 0, 1269223.69 884502.245 0, 1268944.422 884486.408 0, 1268665.154 884470.586 0, 1268384.577 884454.707 0, 1268069.589 890023.405 0,
+ 1267754.593 895592.271 0, 1268034.511 895608.113 0, 1268313.124 895623.897 0, 1268591.736 895639.697 0, 1268870.347 895655.514 0, 1269148.957 895671.348 0, 1269427.566 895687.197 0, 1269706.174 895703.064 0, 1269984.781 895718.946 0, 1270263.387 895734.845 0,
+ 1270541.992 895750.761 0, 1270820.597 895766.692 0, 1271099.2 895782.64 0, 1271377.802 895798.605 0, 1271656.404 895814.586 0, 1271935.004 895830.583 0, 1272213.604 895846.597 0, 1272492.203 895862.627 0, 1272770.8 895878.674 0, 1273049.397 895894.737 0,
+ 1273327.993 895910.816 0, 1273606.588 895926.912 0, 1273885.182 895943.024 0, 1274163.775 895959.153 0, 1274441.063 895975.222 0, 1274720.958 895991.459 0, 1274999.548 896007.637 0, 1275278.137 896023.831 0, 1275556.725 896040.041 0, 1275835.313 896056.268 0,
+ 1276113.899 896072.511 0, 1276392.484 896088.771 0, 1276671.069 896105.047 0, 1276949.652 896121.34 0, 1277228.235 896137.649 0, 1277506.816 896153.974 0, 1277785.397 896170.316 0, 1278063.976 896186.674 0, 1278342.555 896203.048 0, 1278621.133 896219.439 0,
+ 1278899.709 896235.846 0, 1279178.285 896252.27 0, 1279456.86 896268.71 0, 1279735.434 896285.167 0, 1280014.006 896301.639 0, 1280292.578 896318.129 0, 1280571.149 896334.634 0, 1280849.719 896351.156 0, 1281126.985 896367.618 0, 1281457.714 890799.663 0,
+ 1281788.432 885231.878 0))
+
+POLYGON ((1294497.134 897180.74 0, 1294219.913 897163.496 0, 1293941.391 897146.187 0, 1293662.868 897128.894 0, 1293384.344 897111.618 0, 1293105.819 897094.358 0, 1292827.293 897077.115 0, 1292548.765 897059.888 0, 1292270.237 897042.677 0, 1291991.708 897025.483 0,
+ 1291713.178 897008.305 0, 1291434.646 896991.144 0, 1291156.114 896973.999 0, 1290877.581 896956.87 0, 1290599.047 896939.758 0, 1290320.511 896922.662 0, 1290041.975 896905.582 0, 1289763.438 896888.519 0, 1289484.899 896871.472 0, 1289206.36 896854.442 0,
+ 1288927.82 896837.428 0, 1288649.278 896820.431 0, 1288370.736 896803.45 0, 1288092.193 896786.485 0, 1287812.347 896769.457 0, 1287535.103 896752.605 0, 1287256.557 896735.689 0, 1286978.01 896718.79 0, 1286699.461 896701.907 0, 1286420.912 896685.041 0,
+ 1286142.362 896668.191 0, 1285863.81 896651.357 0, 1285585.258 896634.54 0, 1285306.705 896617.739 0, 1285028.151 896600.955 0, 1284749.595 896584.187 0, 1284471.039 896567.435 0, 1284192.482 896550.7 0, 1283913.924 896533.981 0, 1283635.365 896517.279 0,
+ 1283356.805 896500.593 0, 1283078.243 896483.923 0, 1282799.681 896467.27 0, 1282521.118 896450.633 0, 1282242.554 896434.013 0, 1281963.989 896417.409 0, 1281685.423 896400.821 0, 1281406.856 896384.25 0, 1281126.985 896367.618 0, 1280796.247 901935.737 0,
+ 1280465.499 907504.018 0, 1280744.711 907520.611 0, 1281022.623 907537.143 0, 1281300.533 907553.692 0, 1281578.443 907570.257 0, 1281856.351 907586.838 0, 1282134.259 907603.436 0, 1282412.166 907620.05 0, 1282690.071 907636.68 0, 1282967.976 907653.327 0,
+ 1283245.88 907669.99 0, 1283523.782 907686.669 0, 1283801.684 907703.365 0, 1284079.585 907720.077 0, 1284357.485 907736.806 0, 1284635.384 907753.551 0, 1284913.281 907770.312 0, 1285191.178 907787.09 0, 1285469.074 907803.884 0, 1285746.969 907820.694 0,
+ 1286024.863 907837.521 0, 1286302.756 907854.364 0, 1286580.648 907871.223 0, 1286858.538 907888.099 0, 1287135.13 907904.912 0, 1287414.317 907921.899 0, 1287692.205 907938.824 0, 1287970.092 907955.765 0, 1288247.978 907972.723 0, 1288525.863 907989.697 0,
+ 1288803.747 908006.687 0, 1289081.63 908023.694 0, 1289359.512 908040.716 0, 1289637.393 908057.756 0, 1289915.272 908074.811 0, 1290193.151 908091.883 0, 1290471.029 908108.972 0, 1290748.906 908126.077 0, 1291026.782 908143.198 0, 1291304.657 908160.335 0,
+ 1291582.531 908177.489 0, 1291860.404 908194.659 0, 1292138.276 908211.845 0, 1292416.146 908229.048 0, 1292694.016 908246.268 0, 1292971.885 908263.503 0, 1293249.753 908280.755 0, 1293527.62 908298.023 0, 1293804.188 908315.227 0, 1294150.666 902747.903 0,
+ 1294497.134 897180.74 0))
+
+POLYGON ((1307140.532 909164.118 0, 1306864.011 909146.132 0, 1306586.194 909128.079 0, 1306308.376 909110.042 0, 1306030.557 909092.022 0, 1305752.737 909074.018 0, 1305474.916 909056.03 0, 1305197.094 909038.058 0, 1304919.271 909020.103 0, 1304641.446 909002.165 0,
+ 1304363.621 908984.242 0, 1304085.795 908966.336 0, 1303807.967 908948.446 0, 1303530.139 908930.573 0, 1303252.309 908912.716 0, 1302974.479 908894.875 0, 1302696.647 908877.051 0, 1302418.814 908859.243 0, 1302140.98 908841.451 0, 1301863.146 908823.676 0,
+ 1301585.31 908805.917 0, 1301307.473 908788.175 0, 1301029.635 908770.449 0, 1300751.796 908752.739 0, 1300472.66 908734.963 0, 1300196.115 908717.368 0, 1299918.273 908699.707 0, 1299640.43 908682.063 0, 1299362.585 908664.435 0, 1299084.74 908646.823 0,
+ 1298806.894 908629.228 0, 1298529.047 908611.649 0, 1298251.198 908594.086 0, 1297973.349 908576.54 0, 1297695.499 908559.01 0, 1297417.647 908541.496 0, 1297139.795 908523.999 0, 1296861.941 908506.518 0, 1296584.087 908489.054 0, 1296306.231 908471.606 0,
+ 1296028.375 908454.174 0, 1295750.517 908436.758 0, 1295472.658 908419.359 0, 1295194.799 908401.976 0, 1294916.938 908384.61 0, 1294639.076 908367.26 0, 1294361.214 908349.926 0, 1294083.35 908332.609 0, 1293804.188 908315.227 0, 1293457.7 913882.709 0,
+ 1293111.202 919450.344 0, 1293389.706 919467.685 0, 1293666.914 919484.961 0, 1293944.122 919502.254 0, 1294221.328 919519.563 0, 1294498.533 919536.889 0, 1294775.738 919554.23 0, 1295052.941 919571.588 0, 1295330.143 919588.963 0, 1295607.344 919606.353 0,
+ 1295884.544 919623.76 0, 1296161.744 919641.184 0, 1296438.942 919658.623 0, 1296716.139 919676.079 0, 1296993.335 919693.552 0, 1297270.53 919711.04 0, 1297547.724 919728.545 0, 1297824.917 919746.066 0, 1298102.109 919763.604 0, 1298379.3 919781.158 0,
+ 1298656.49 919798.728 0, 1298933.678 919816.314 0, 1299210.866 919833.917 0, 1299488.053 919851.536 0, 1299763.946 919869.09 0, 1300042.423 919886.824 0, 1300319.607 919904.492 0, 1300596.79 919922.176 0, 1300873.971 919939.877 0, 1301151.152 919957.594 0,
+ 1301428.331 919975.327 0, 1301705.51 919993.077 0, 1301982.687 920010.843 0, 1302259.864 920028.625 0, 1302537.039 920046.423 0, 1302814.213 920064.238 0, 1303091.386 920082.069 0, 1303368.558 920099.917 0, 1303645.73 920117.781 0, 1303922.9 920135.661 0,
+ 1304200.069 920153.557 0, 1304477.237 920171.47 0, 1304754.403 920189.399 0, 1305031.569 920207.345 0, 1305308.734 920225.306 0, 1305585.898 920243.284 0, 1305863.06 920261.279 0, 1306140.222 920279.289 0, 1306416.091 920297.232 0, 1306778.316 914730.598 0,
+ 1307140.532 909164.118 0))
+
+POLYGON ((1319718.533 921181.706 0, 1319442.714 921162.984 0, 1319165.605 921144.19 0, 1318888.494 921125.413 0, 1318611.382 921106.652 0, 1318334.269 921087.907 0, 1318057.155 921069.179 0, 1317780.04 921050.467 0, 1317502.924 921031.771 0, 1317225.806 921013.091 0,
+ 1316948.688 920994.428 0, 1316671.568 920975.781 0, 1316394.448 920957.151 0, 1316117.326 920938.537 0, 1315840.203 920919.939 0, 1315563.079 920901.357 0, 1315285.954 920882.792 0, 1315008.828 920864.243 0, 1314731.701 920845.711 0, 1314454.573 920827.194 0,
+ 1314177.443 920808.694 0, 1313900.313 920790.21 0, 1313623.181 920771.743 0, 1313346.049 920753.292 0, 1313067.624 920734.771 0, 1312791.78 920716.439 0, 1312514.644 920698.037 0, 1312237.507 920679.651 0, 1311960.369 920661.281 0, 1311683.23 920642.928 0,
+ 1311406.09 920624.591 0, 1311128.949 920606.271 0, 1310851.806 920587.966 0, 1310574.663 920569.678 0, 1310297.518 920551.407 0, 1310020.373 920533.151 0, 1309743.226 920514.912 0, 1309466.078 920496.69 0, 1309188.929 920478.483 0, 1308911.78 920460.293 0,
+ 1308634.629 920442.119 0, 1308357.477 920423.962 0, 1308080.324 920405.821 0, 1307803.169 920387.696 0, 1307526.014 920369.587 0, 1307248.858 920351.495 0, 1306971.7 920333.419 0, 1306694.542 920315.36 0, 1306416.091 920297.232 0, 1306053.855 925864.016 0,
+ 1305691.61 931430.946 0, 1305969.403 931449.03 0, 1306245.906 931467.047 0, 1306522.409 931485.08 0, 1306798.909 931503.13 0, 1307075.409 931521.195 0, 1307351.908 931539.277 0, 1307628.406 931557.376 0, 1307904.903 931575.49 0, 1308181.398 931593.621 0,
+ 1308457.893 931611.768 0, 1308734.387 931629.931 0, 1309010.879 931648.111 0, 1309287.37 931666.307 0, 1309563.861 931684.519 0, 1309840.35 931702.747 0, 1310116.838 931720.992 0, 1310393.325 931739.253 0, 1310669.811 931757.53 0, 1310946.296 931775.824 0,
+ 1311222.78 931794.134 0, 1311499.263 931812.46 0, 1311775.745 931830.802 0, 1312052.225 931849.161 0, 1312327.417 931867.45 0, 1312605.183 931885.927 0, 1312881.661 931904.334 0, 1313158.137 931922.758 0, 1313434.612 931941.198 0, 1313711.086 931959.654 0,
+ 1313987.559 931978.127 0, 1314264.031 931996.616 0, 1314540.502 932015.121 0, 1314816.972 932033.642 0, 1315093.441 932052.18 0, 1315369.908 932070.734 0, 1315646.375 932089.304 0, 1315922.84 932107.89 0, 1316199.305 932126.493 0, 1316475.768 932145.112 0,
+ 1316752.23 932163.747 0, 1317028.691 932182.399 0, 1317305.151 932201.067 0, 1317581.61 932219.751 0, 1317858.067 932238.451 0, 1318134.524 932257.168 0, 1318410.98 932275.901 0, 1318687.434 932294.65 0, 1318962.601 932313.328 0, 1319340.572 926747.444 0,
+ 1319718.533 921181.706 0))
+
+POLYGON ((1332231.045 933233.2 0, 1331955.93 933213.744 0, 1331679.53 933194.214 0, 1331403.129 933174.7 0, 1331126.726 933155.203 0, 1330850.322 933135.721 0, 1330573.917 933116.256 0, 1330297.511 933096.808 0, 1330021.104 933077.375 0, 1329744.696 933057.959 0,
+ 1329468.286 933038.559 0, 1329191.875 933019.175 0, 1328915.464 932999.808 0, 1328639.051 932980.457 0, 1328362.637 932961.122 0, 1328086.221 932941.803 0, 1327809.805 932922.501 0, 1327533.387 932903.215 0, 1327256.969 932883.945 0, 1326980.549 932864.691 0,
+ 1326704.128 932845.454 0, 1326427.706 932826.233 0, 1326151.283 932807.028 0, 1325874.859 932787.84 0, 1325597.148 932768.578 0, 1325322.007 932749.511 0, 1325045.579 932730.372 0, 1324769.15 932711.248 0, 1324492.72 932692.141 0, 1324216.289 932673.05 0,
+ 1323939.857 932653.976 0, 1323663.424 932634.917 0, 1323386.99 932615.875 0, 1323110.554 932596.85 0, 1322834.117 932577.84 0, 1322557.68 932558.847 0, 1322281.241 932539.87 0, 1322004.801 932520.909 0, 1321728.36 932501.965 0, 1321451.917 932483.037 0,
+ 1321175.474 932464.125 0, 1320899.03 932445.229 0, 1320622.584 932426.35 0, 1320346.137 932407.487 0, 1320069.69 932388.64 0, 1319793.241 932369.809 0, 1319516.791 932350.995 0, 1319240.34 932332.197 0, 1318962.601 932313.328 0, 1318584.62 937879.354 0,
+ 1318206.63 943445.518 0, 1318483.711 943464.342 0, 1318759.506 943483.095 0, 1319035.301 943501.865 0, 1319311.095 943520.651 0, 1319586.887 943539.453 0, 1319862.679 943558.272 0, 1320138.469 943577.106 0, 1320414.259 943595.957 0, 1320690.047 943614.824 0,
+ 1320965.834 943633.707 0, 1321241.62 943652.607 0, 1321517.404 943671.523 0, 1321793.188 943690.455 0, 1322068.971 943709.403 0, 1322344.752 943728.367 0, 1322620.533 943747.348 0, 1322896.312 943766.345 0, 1323172.09 943785.358 0, 1323447.867 943804.387 0,
+ 1323723.643 943823.433 0, 1323999.418 943842.495 0, 1324275.191 943861.573 0, 1324550.964 943880.667 0, 1324825.453 943899.689 0, 1325102.505 943918.905 0, 1325378.274 943938.048 0, 1325654.042 943957.207 0, 1325929.809 943976.382 0, 1326205.575 943995.574 0,
+ 1326481.34 944014.782 0, 1326757.103 944034.006 0, 1327032.866 944053.246 0, 1327308.627 944072.503 0, 1327584.387 944091.776 0, 1327860.146 944111.065 0, 1328135.904 944130.37 0, 1328411.66 944149.692 0, 1328687.416 944169.03 0, 1328963.17 944188.384 0,
+ 1329238.923 944207.754 0, 1329514.676 944227.14 0, 1329790.427 944246.543 0, 1330066.176 944265.962 0, 1330341.925 944285.397 0, 1330617.673 944304.849 0, 1330893.419 944324.316 0, 1331169.164 944343.8 0, 1331443.627 944363.209 0, 1331837.341 938798.136 0,
+ 1332231.045 933233.2 0))
+
+POLYGON ((1344677.979 945318.294 0, 1344403.57 945298.109 0, 1344127.881 945277.847 0, 1343852.191 945257.6 0, 1343576.499 945237.37 0, 1343300.806 945217.156 0, 1343025.112 945196.958 0, 1342749.417 945176.776 0, 1342473.721 945156.611 0, 1342198.024 945136.461 0,
+ 1341922.325 945116.328 0, 1341646.625 945096.212 0, 1341370.924 945076.111 0, 1341095.222 945056.027 0, 1340819.519 945035.959 0, 1340543.814 945015.907 0, 1340268.109 944995.871 0, 1339992.402 944975.852 0, 1339716.694 944955.849 0, 1339440.984 944935.862 0,
+ 1339165.274 944915.891 0, 1338889.562 944895.937 0, 1338613.849 944875.998 0, 1338338.136 944856.076 0, 1338061.14 944836.078 0, 1337786.704 944816.281 0, 1337510.987 944796.408 0, 1337235.268 944776.551 0, 1336959.548 944756.71 0, 1336683.827 944736.885 0,
+ 1336408.105 944717.077 0, 1336132.382 944697.284 0, 1335856.657 944677.508 0, 1335580.932 944657.749 0, 1335305.205 944638.005 0, 1335029.477 944618.278 0, 1334753.748 944598.567 0, 1334478.018 944578.872 0, 1334202.286 944559.193 0, 1333926.554 944539.531 0,
+ 1333650.82 944519.885 0, 1333375.085 944500.255 0, 1333099.349 944480.641 0, 1332823.612 944461.044 0, 1332547.873 944441.463 0, 1332272.134 944421.898 0, 1331996.393 944402.349 0, 1331720.651 944382.816 0, 1331443.627 944363.209 0, 1331049.904 949928.417 0,
+ 1330656.171 955493.755 0, 1330932.537 955513.315 0, 1331207.624 955532.801 0, 1331482.709 955552.304 0, 1331757.794 955571.822 0, 1332032.877 955591.357 0, 1332307.959 955610.908 0, 1332583.04 955630.475 0, 1332858.12 955650.058 0, 1333133.198 955669.658 0,
+ 1333408.276 955689.273 0, 1333683.352 955708.905 0, 1333958.427 955728.553 0, 1334233.502 955748.217 0, 1334508.574 955767.898 0, 1334783.646 955787.594 0, 1335058.717 955807.307 0, 1335333.786 955827.036 0, 1335608.854 955846.781 0, 1335883.921 955866.543 0,
+ 1336158.987 955886.32 0, 1336434.052 955906.114 0, 1336709.115 955925.924 0, 1336984.178 955945.75 0, 1337257.962 955965.5 0, 1337534.299 955985.451 0, 1337809.358 956005.326 0, 1338084.416 956025.216 0, 1338359.472 956045.124 0, 1338634.528 956065.047 0,
+ 1338909.582 956084.986 0, 1339184.635 956104.942 0, 1339459.687 956124.914 0, 1339734.738 956144.902 0, 1340009.787 956164.906 0, 1340284.835 956184.926 0, 1340559.883 956204.963 0, 1340834.928 956225.016 0, 1341109.973 956245.085 0, 1341385.017 956265.17 0,
+ 1341660.059 956285.271 0, 1341935.101 956305.389 0, 1342210.141 956325.522 0, 1342485.179 956345.672 0, 1342760.217 956365.838 0, 1343035.254 956386.021 0, 1343310.289 956406.219 0, 1343585.323 956426.434 0, 1343859.08 956446.571 0, 1344268.534 950882.368 0,
+ 1344677.979 945318.294 0))
+
+POLYGON ((1357059.245 957436.683 0, 1356785.544 957415.773 0, 1356510.568 957394.781 0, 1356235.59 957373.806 0, 1355960.612 957352.847 0, 1355685.632 957331.904 0, 1355410.652 957310.977 0, 1355135.67 957290.066 0, 1354860.686 957269.172 0, 1354585.702 957248.293 0,
+ 1354310.716 957227.431 0, 1354035.729 957206.585 0, 1353760.741 957185.756 0, 1353485.751 957164.942 0, 1353210.761 957144.145 0, 1352935.769 957123.363 0, 1352660.776 957102.598 0, 1352385.781 957081.85 0, 1352110.786 957061.117 0, 1351835.789 957040.4 0,
+ 1351560.791 957019.7 0, 1351285.792 956999.016 0, 1351010.791 956978.348 0, 1350735.79 956957.697 0, 1350459.512 956936.965 0, 1350185.783 956916.442 0, 1349910.777 956895.839 0, 1349635.771 956875.252 0, 1349360.763 956854.681 0, 1349085.754 956834.126 0,
+ 1348810.744 956813.588 0, 1348535.733 956793.066 0, 1348260.72 956772.56 0, 1347985.706 956752.07 0, 1347710.692 956731.596 0, 1347435.675 956711.139 0, 1347160.658 956690.697 0, 1346885.639 956670.272 0, 1346610.62 956649.863 0, 1346335.599 956629.471 0,
+ 1346060.576 956609.094 0, 1345785.553 956588.734 0, 1345510.529 956568.39 0, 1345235.503 956548.062 0, 1344960.476 956527.75 0, 1344685.448 956507.454 0, 1344410.418 956487.175 0, 1344135.388 956466.912 0, 1343859.08 956446.571 0, 1343449.617 962010.9 0,
+ 1343040.144 967575.351 0, 1343315.794 967595.644 0, 1343590.169 967615.859 0, 1343864.544 967636.09 0, 1344138.917 967656.337 0, 1344413.289 967676.601 0, 1344687.66 967696.88 0, 1344962.029 967717.176 0, 1345236.397 967737.488 0, 1345510.765 967757.816 0,
+ 1345785.131 967778.16 0, 1346059.495 967798.52 0, 1346333.859 967818.897 0, 1346608.221 967839.289 0, 1346882.583 967859.698 0, 1347156.943 967880.123 0, 1347431.301 967900.564 0, 1347705.659 967921.021 0, 1347980.015 967941.494 0, 1348254.37 967961.984 0,
+ 1348528.724 967982.49 0, 1348803.077 968003.011 0, 1349077.429 968023.549 0, 1349351.779 968044.103 0, 1349624.857 968064.578 0, 1349900.476 968085.26 0, 1350174.823 968105.862 0, 1350449.168 968126.481 0, 1350723.513 968147.116 0, 1350997.856 968167.767 0,
+ 1351272.197 968188.434 0, 1351546.538 968209.117 0, 1351820.878 968229.817 0, 1352095.216 968250.532 0, 1352369.553 968271.264 0, 1352643.888 968292.012 0, 1352918.223 968312.776 0, 1353192.556 968333.556 0, 1353466.888 968354.352 0, 1353741.219 968375.165 0,
+ 1354015.549 968395.993 0, 1354289.877 968416.838 0, 1354564.204 968437.699 0, 1354838.53 968458.576 0, 1355112.855 968479.469 0, 1355387.179 968500.378 0, 1355661.501 968521.304 0, 1355935.822 968542.245 0, 1356208.871 968563.106 0, 1356634.063 962999.834 0,
+ 1357059.245 957436.683 0))
+
+POLYGON ((1369374.755 969588.061 0, 1369101.764 969566.429 0, 1368827.503 969544.712 0, 1368553.241 969523.012 0, 1368278.978 969501.327 0, 1368004.713 969479.659 0, 1367730.447 969458.007 0, 1367456.18 969436.371 0, 1367181.911 969414.752 0, 1366907.642 969393.148 0,
+ 1366633.371 969371.561 0, 1366359.099 969349.99 0, 1366084.825 969328.435 0, 1365810.55 969306.896 0, 1365536.274 969285.373 0, 1365261.997 969263.866 0, 1364987.718 969242.376 0, 1364713.439 969220.901 0, 1364439.157 969199.443 0, 1364164.875 969178.001 0,
+ 1363890.591 969156.575 0, 1363616.307 969135.165 0, 1363342.02 969113.772 0, 1363067.733 969092.394 0, 1362792.175 969070.934 0, 1362519.154 969049.687 0, 1362244.863 969028.358 0, 1361970.571 969007.045 0, 1361696.277 968985.749 0, 1361421.982 968964.468 0,
+ 1361147.686 968943.203 0, 1360873.389 968921.955 0, 1360599.09 968900.723 0, 1360324.79 968879.507 0, 1360050.489 968858.307 0, 1359776.186 968837.123 0, 1359501.883 968815.955 0, 1359227.578 968794.804 0, 1358953.272 968773.669 0, 1358678.964 968752.549 0,
+ 1358404.656 968731.446 0, 1358130.346 968710.359 0, 1357856.035 968689.289 0, 1357581.722 968668.234 0, 1357307.409 968647.196 0, 1357033.094 968626.173 0, 1356758.778 968605.167 0, 1356484.46 968584.177 0, 1356208.871 968563.106 0, 1355783.671 974126.496 0,
+ 1355358.462 979690.001 0, 1355633.393 979711.022 0, 1355907.055 979731.962 0, 1356180.716 979752.918 0, 1356454.376 979773.89 0, 1356728.035 979794.878 0, 1357001.693 979815.882 0, 1357275.349 979836.903 0, 1357549.004 979857.939 0, 1357822.658 979878.992 0,
+ 1358096.31 979900.061 0, 1358369.961 979921.146 0, 1358643.611 979942.247 0, 1358917.26 979963.364 0, 1359190.908 979984.497 0, 1359464.554 980005.646 0, 1359738.199 980026.812 0, 1360011.843 980047.993 0, 1360285.486 980069.191 0, 1360559.127 980090.405 0,
+ 1360832.767 980111.634 0, 1361106.406 980132.88 0, 1361380.043 980154.142 0, 1361653.68 980175.421 0, 1361926.049 980196.616 0, 1362200.949 980218.025 0, 1362474.581 980239.352 0, 1362748.213 980260.694 0, 1363021.843 980282.053 0, 1363295.471 980303.428 0,
+ 1363569.099 980324.819 0, 1363842.725 980346.226 0, 1364116.35 980367.649 0, 1364389.974 980389.088 0, 1364663.597 980410.543 0, 1364937.218 980432.015 0, 1365210.838 980453.502 0, 1365484.456 980475.006 0, 1365758.074 980496.526 0, 1366031.69 980518.062 0,
+ 1366305.305 980539.614 0, 1366578.919 980561.182 0, 1366852.531 980582.766 0, 1367126.142 980604.366 0, 1367399.752 980625.982 0, 1367673.36 980647.615 0, 1367946.968 980669.263 0, 1368220.574 980690.928 0, 1368492.914 980712.509 0, 1368933.839 975150.228 0,
+ 1369374.755 969588.061 0))
+
+POLYGON ((1381624.424 981772.119 0, 1381352.144 981749.769 0, 1381078.601 981727.332 0, 1380805.056 981704.91 0, 1380531.509 981682.505 0, 1380257.962 981660.116 0, 1379984.413 981637.743 0, 1379710.862 981615.386 0, 1379437.311 981593.045 0, 1379163.758 981570.72 0,
+ 1378890.204 981548.411 0, 1378616.648 981526.118 0, 1378343.091 981503.842 0, 1378069.533 981481.581 0, 1377795.973 981459.337 0, 1377522.413 981437.109 0, 1377248.851 981414.896 0, 1376975.287 981392.7 0, 1376701.722 981370.52 0, 1376428.156 981348.356 0,
+ 1376154.589 981326.209 0, 1375881.02 981304.077 0, 1375607.451 981281.961 0, 1375333.879 981259.862 0, 1375059.043 981237.677 0, 1374786.733 981215.711 0, 1374513.158 981193.66 0, 1374239.581 981171.625 0, 1373966.004 981149.606 0, 1373692.425 981127.603 0,
+ 1373418.844 981105.617 0, 1373145.263 981083.646 0, 1372871.68 981061.692 0, 1372598.096 981039.753 0, 1372324.51 981017.831 0, 1372050.923 980995.925 0, 1371777.335 980974.034 0, 1371503.746 980952.16 0, 1371230.155 980930.302 0, 1370956.563 980908.461 0,
+ 1370682.97 980886.635 0, 1370409.376 980864.825 0, 1370135.78 980843.032 0, 1369862.183 980821.254 0, 1369588.585 980799.493 0, 1369314.985 980777.748 0, 1369041.384 980756.019 0, 1368767.782 980734.306 0, 1368492.914 980712.509 0, 1368051.979 986274.9 0,
+ 1367611.037 991837.397 0, 1367885.248 991859.142 0, 1368158.195 991880.803 0, 1368431.141 991902.48 0, 1368704.086 991924.173 0, 1368977.029 991945.882 0, 1369249.972 991967.608 0, 1369522.913 991989.349 0, 1369795.852 992011.106 0, 1370068.791 992032.88 0,
+ 1370341.728 992054.669 0, 1370614.664 992076.475 0, 1370887.599 992098.297 0, 1371160.532 992120.134 0, 1371433.464 992141.988 0, 1371706.395 992163.858 0, 1371979.324 992185.744 0, 1372252.252 992207.646 0, 1372525.179 992229.564 0, 1372798.105 992251.498 0,
+ 1373071.029 992273.448 0, 1373343.952 992295.415 0, 1373616.874 992317.397 0, 1373889.794 992339.395 0, 1374161.452 992361.308 0, 1374435.631 992383.44 0, 1374708.547 992405.487 0, 1374981.463 992427.549 0, 1375254.377 992449.628 0, 1375527.289 992471.723 0,
+ 1375800.201 992493.834 0, 1376073.111 992515.961 0, 1376346.019 992538.104 0, 1376618.927 992560.263 0, 1376891.833 992582.438 0, 1377164.738 992604.629 0, 1377437.641 992626.836 0, 1377710.543 992649.059 0, 1377983.444 992671.299 0, 1378256.344 992693.554 0,
+ 1378529.242 992715.825 0, 1378802.139 992738.113 0, 1379075.035 992760.416 0, 1379347.929 992782.736 0, 1379620.822 992805.072 0, 1379893.714 992827.424 0, 1380166.604 992849.791 0, 1380439.493 992872.175 0, 1380711.121 992894.472 0, 1381167.777 987333.243 0,
+ 1381624.424 981772.119 0))
+
+POLYGON ((1393808.167 993988.553 0, 1393536.601 993965.489 0, 1393263.776 993942.334 0, 1392990.95 993919.195 0, 1392718.122 993896.073 0, 1392445.293 993872.966 0, 1392172.463 993849.875 0, 1391899.632 993826.801 0, 1391626.799 993803.743 0, 1391353.965 993780.7 0,
+ 1391081.129 993757.674 0, 1390808.292 993734.664 0, 1390535.454 993711.67 0, 1390262.614 993688.691 0, 1389989.773 993665.729 0, 1389716.931 993642.783 0, 1389444.087 993619.853 0, 1389171.242 993596.94 0, 1388898.396 993574.042 0, 1388625.548 993551.16 0,
+ 1388352.699 993528.294 0, 1388079.848 993505.445 0, 1387806.996 993482.611 0, 1387534.143 993459.794 0, 1387260.03 993436.887 0, 1386988.433 993414.207 0, 1386715.576 993391.437 0, 1386442.717 993368.684 0, 1386169.857 993345.947 0, 1385896.996 993323.226 0,
+ 1385624.134 993300.521 0, 1385351.27 993277.832 0, 1385078.405 993255.159 0, 1384805.538 993232.502 0, 1384532.67 993209.861 0, 1384259.801 993187.236 0, 1383986.931 993164.627 0, 1383714.059 993142.035 0, 1383441.186 993119.458 0, 1383168.311 993096.897 0,
+ 1382895.435 993074.353 0, 1382622.558 993051.825 0, 1382349.68 993029.312 0, 1382076.8 993006.816 0, 1381803.919 992984.336 0, 1381531.036 992961.871 0, 1381258.152 992939.423 0, 1380985.267 992916.991 0, 1380711.121 992894.472 0, 1380254.457 998455.803 0,
+ 1379797.785 1004017.232 0, 1380071.273 1004039.697 0, 1380343.504 1004062.076 0, 1380615.733 1004084.47 0, 1380887.961 1004106.88 0, 1381160.187 1004129.306 0, 1381432.412 1004151.749 0, 1381704.636 1004174.207 0, 1381976.859 1004196.682 0, 1382249.08 1004219.172 0,
+ 1382521.3 1004241.678 0, 1382793.518 1004264.201 0, 1383065.735 1004286.739 0, 1383337.951 1004309.294 0, 1383610.166 1004331.864 0, 1383882.379 1004354.451 0, 1384154.591 1004377.053 0, 1384426.802 1004399.672 0, 1384699.011 1004422.307 0, 1384971.219 1004444.957 0,
+ 1385243.425 1004467.624 0, 1385515.631 1004490.307 0, 1385787.835 1004513.005 0, 1386060.037 1004535.72 0, 1386330.983 1004558.346 0, 1386604.438 1004581.197 0, 1386876.637 1004603.96 0, 1387148.834 1004626.739 0, 1387421.03 1004649.534 0, 1387693.224 1004672.345 0,
+ 1387965.418 1004695.172 0, 1388237.61 1004718.014 0, 1388509.8 1004740.873 0, 1388781.989 1004763.748 0, 1389054.177 1004786.639 0, 1389326.363 1004809.546 0, 1389598.549 1004832.469 0, 1389870.732 1004855.408 0, 1390142.915 1004878.363 0, 1390415.096 1004901.334 0,
+ 1390687.276 1004924.321 0, 1390959.454 1004947.324 0, 1391231.631 1004970.344 0, 1391503.807 1004993.379 0, 1391775.981 1005016.43 0, 1392048.154 1005039.497 0, 1392320.325 1005062.58 0, 1392592.496 1005085.679 0, 1392863.41 1005108.688 0, 1393335.793 999548.571 0,
+ 1393808.167 993988.553 0))
+
+POLYGON ((870961.549 555424.586 0, 870664.379 555432.152 0, 870365.744 555439.774 0, 870067.109 555447.412 0, 869768.475 555455.069 0, 869469.841 555462.743 0, 869171.208 555470.434 0, 868872.575 555478.143 0, 868573.943 555485.87 0, 868275.311 555493.614 0,
+ 867976.68 555501.376 0, 867678.049 555509.156 0, 867379.418 555516.953 0, 867080.788 555524.767 0, 866782.159 555532.599 0, 866483.53 555540.449 0, 866184.901 555548.316 0, 865886.273 555556.201 0, 865587.645 555564.104 0, 865289.018 555572.024 0,
+ 864990.391 555579.961 0, 864691.765 555587.917 0, 864393.139 555595.889 0, 864094.514 555603.88 0, 863794.422 555611.927 0, 863497.264 555619.913 0, 863198.64 555627.956 0, 862900.017 555636.017 0, 862601.394 555644.095 0, 862302.771 555652.191 0,
+ 862004.149 555660.304 0, 861705.528 555668.435 0, 861406.906 555676.584 0, 861108.286 555684.75 0, 860809.666 555692.933 0, 860511.046 555701.135 0, 860212.427 555709.353 0, 859913.808 555717.59 0, 859615.19 555725.844 0, 859316.572 555734.115 0,
+ 859017.955 555742.405 0, 858719.338 555750.711 0, 858420.722 555759.036 0, 858122.106 555767.377 0, 857823.491 555775.737 0, 857524.876 555784.114 0, 857226.262 555792.508 0, 856927.648 555800.921 0, 856627.567 555809.392 0, 856784.673 561368.812 0,
+ 856941.789 566928.604 0, 857241.212 566920.151 0, 857539.172 566911.757 0, 857837.132 566903.381 0, 858135.092 566895.022 0, 858433.053 566886.681 0, 858731.014 566878.358 0, 859028.976 566870.052 0, 859326.938 566861.763 0, 859624.901 566853.492 0,
+ 859922.864 566845.239 0, 860220.828 566837.003 0, 860518.792 566828.785 0, 860816.757 566820.584 0, 861114.722 566812.4 0, 861412.688 566804.235 0, 861710.654 566796.086 0, 862008.62 566787.956 0, 862306.588 566779.843 0, 862604.555 566771.747 0,
+ 862902.523 566763.669 0, 863200.492 566755.609 0, 863498.461 566747.566 0, 863796.43 566739.54 0, 864092.937 566731.571 0, 864392.371 566723.542 0, 864690.341 566715.569 0, 864988.313 566707.614 0, 865286.285 566699.676 0, 865584.257 566691.756 0,
+ 865882.23 566683.853 0, 866180.203 566675.968 0, 866478.177 566668.1 0, 866776.151 566660.25 0, 867074.125 566652.418 0, 867372.101 566644.603 0, 867670.076 566636.805 0, 867968.052 566629.025 0, 868266.029 566621.263 0, 868564.005 566613.518 0,
+ 868861.983 566605.791 0, 869159.961 566598.081 0, 869457.939 566590.389 0, 869755.918 566582.714 0, 870053.897 566575.057 0, 870351.876 566567.418 0, 870649.856 566559.796 0, 870947.837 566552.191 0, 871244.356 566544.641 0, 871102.947 560984.428 0,
+ 870961.549 555424.586 0))
+
+POLYGON ((885547.95 566201.088 0, 885251.409 566207.8 0, 884953.408 566214.562 0, 884655.408 566221.343 0, 884357.408 566228.14 0, 884059.408 566234.955 0, 883761.409 566241.788 0, 883463.41 566248.639 0, 883165.412 566255.507 0, 882867.414 566262.392 0,
+ 882569.416 566269.295 0, 882271.419 566276.215 0, 881973.422 566283.153 0, 881675.426 566290.109 0, 881377.43 566297.082 0, 881079.434 566304.073 0, 880781.439 566311.081 0, 880483.444 566318.107 0, 880185.45 566325.15 0, 879887.456 566332.211 0,
+ 879589.463 566339.289 0, 879291.469 566346.385 0, 878993.477 566353.499 0, 878695.485 566360.629 0, 878396.031 566367.813 0, 878099.501 566374.944 0, 877801.51 566382.128 0, 877503.52 566389.329 0, 877205.53 566396.547 0, 876907.54 566403.784 0,
+ 876609.551 566411.037 0, 876311.562 566418.309 0, 876013.573 566425.598 0, 875715.586 566432.904 0, 875417.598 566440.228 0, 875119.611 566447.569 0, 874821.624 566454.928 0, 874523.638 566462.305 0, 874225.652 566469.699 0, 873927.667 566477.11 0,
+ 873629.682 566484.54 0, 873331.697 566491.986 0, 873033.713 566499.45 0, 872735.73 566506.932 0, 872437.746 566514.431 0, 872139.764 566521.948 0, 871841.781 566529.483 0, 871543.799 566537.035 0, 871244.356 566544.641 0, 871385.773 572105.222 0,
+ 871527.2 577666.168 0, 871825.986 577658.578 0, 872123.313 577651.042 0, 872420.641 577643.525 0, 872717.969 577636.024 0, 873015.298 577628.541 0, 873312.627 577621.076 0, 873609.956 577613.628 0, 873907.286 577606.198 0, 874204.616 577598.785 0,
+ 874501.947 577591.39 0, 874799.278 577584.012 0, 875096.61 577576.652 0, 875393.942 577569.309 0, 875691.275 577561.984 0, 875988.608 577554.676 0, 876285.941 577547.386 0, 876583.275 577540.113 0, 876880.609 577532.857 0, 877177.944 577525.62 0,
+ 877475.279 577518.399 0, 877772.614 577511.196 0, 878069.95 577504.011 0, 878367.287 577496.843 0, 878663.165 577489.728 0, 878961.961 577482.56 0, 879259.298 577475.445 0, 879556.636 577468.347 0, 879853.975 577461.267 0, 880151.314 577454.204 0,
+ 880448.653 577447.159 0, 880745.993 577440.131 0, 881043.333 577433.121 0, 881340.673 577426.128 0, 881638.014 577419.152 0, 881935.355 577412.195 0, 882232.697 577405.254 0, 882530.039 577398.332 0, 882827.382 577391.426 0, 883124.725 577384.538 0,
+ 883422.068 577377.668 0, 883719.412 577370.815 0, 884016.756 577363.98 0, 884314.101 577357.162 0, 884611.446 577350.362 0, 884908.791 577343.579 0, 885206.137 577336.814 0, 885503.483 577330.066 0, 885799.373 577323.369 0, 885673.657 571762.046 0,
+ 885547.95 566201.088 0))
+
+POLYGON ((900072.457 577020.893 0, 899776.548 577026.754 0, 899479.183 577032.662 0, 899181.82 577038.587 0, 898884.456 577044.53 0, 898587.093 577050.49 0, 898289.731 577056.468 0, 897992.368 577062.463 0, 897695.006 577068.476 0, 897397.645 577074.506 0,
+ 897100.284 577080.554 0, 896802.923 577086.619 0, 896505.562 577092.702 0, 896208.202 577098.802 0, 895910.842 577104.919 0, 895613.483 577111.055 0, 895316.124 577117.207 0, 895018.765 577123.378 0, 894721.407 577129.565 0, 894424.049 577135.771 0,
+ 894126.691 577141.993 0, 893829.334 577148.234 0, 893531.977 577154.491 0, 893234.62 577160.767 0, 892935.808 577167.09 0, 892639.908 577173.37 0, 892342.553 577179.697 0, 892045.198 577186.043 0, 891747.843 577192.405 0, 891450.489 577198.786 0,
+ 891153.135 577205.183 0, 890855.781 577211.599 0, 890558.428 577218.031 0, 890261.075 577224.482 0, 889963.723 577230.949 0, 889666.371 577237.435 0, 889369.019 577243.938 0, 889071.668 577250.458 0, 888774.317 577256.996 0, 888476.967 577263.551 0,
+ 888179.617 577270.124 0, 887882.267 577276.714 0, 887584.918 577283.322 0, 887287.569 577289.947 0, 886990.22 577296.59 0, 886692.872 577303.25 0, 886395.524 577309.928 0, 886098.177 577316.623 0, 885799.373 577323.369 0, 885925.097 582885.053 0,
+ 886050.828 588447.096 0, 886348.974 588440.365 0, 886645.667 588433.685 0, 886942.36 588427.021 0, 887239.053 588420.376 0, 887535.747 588413.748 0, 887832.441 588407.137 0, 888129.136 588400.544 0, 888425.831 588393.968 0, 888722.526 588387.41 0,
+ 889019.222 588380.869 0, 889315.918 588374.345 0, 889612.615 588367.84 0, 889909.312 588361.351 0, 890206.009 588354.88 0, 890502.707 588348.427 0, 890799.405 588341.991 0, 891096.103 588335.572 0, 891392.802 588329.171 0, 891689.501 588322.787 0,
+ 891986.201 588316.421 0, 892282.901 588310.072 0, 892579.601 588303.741 0, 892876.302 588297.427 0, 893171.55 588291.162 0, 893469.704 588284.852 0, 893766.406 588278.59 0, 894063.108 588272.346 0, 894359.811 588266.12 0, 894656.514 588259.911 0,
+ 894953.217 588253.719 0, 895249.92 588247.545 0, 895546.624 588241.389 0, 895843.329 588235.249 0, 896140.034 588229.128 0, 896436.739 588223.023 0, 896733.444 588216.937 0, 897030.15 588210.867 0, 897326.856 588204.815 0, 897623.562 588198.781 0,
+ 897920.269 588192.764 0, 898216.976 588186.765 0, 898513.684 588180.783 0, 898810.392 588174.818 0, 899107.1 588168.871 0, 899403.809 588162.941 0, 899700.518 588157.029 0, 899997.227 588151.134 0, 900292.485 588145.286 0, 900182.468 582582.91 0,
+ 900072.457 577020.893 0))
+
+POLYGON ((914534.938 587883.712 0, 914239.662 587888.727 0, 913942.937 587893.783 0, 913646.213 587898.857 0, 913349.489 587903.948 0, 913052.765 587909.057 0, 912756.041 587914.183 0, 912459.318 587919.327 0, 912162.595 587924.488 0, 911865.872 587929.667 0,
+ 911569.15 587934.863 0, 911272.428 587940.077 0, 910975.706 587945.308 0, 910678.985 587950.556 0, 910382.264 587955.822 0, 910085.543 587961.106 0, 909788.822 587966.407 0, 909492.102 587971.725 0, 909195.382 587977.061 0, 908898.663 587982.414 0,
+ 908601.943 587987.785 0, 908305.224 587993.173 0, 908008.506 587998.579 0, 907711.788 588004.002 0, 907413.619 588009.469 0, 907118.352 588014.901 0, 906821.635 588020.376 0, 906524.918 588025.869 0, 906228.201 588031.38 0, 905931.485 588036.908 0,
+ 905634.768 588042.453 0, 905338.053 588048.016 0, 905041.337 588053.597 0, 904744.622 588059.194 0, 904447.908 588064.81 0, 904151.193 588070.442 0, 903854.479 588076.093 0, 903557.765 588081.76 0, 903261.052 588087.445 0, 902964.339 588093.148 0,
+ 902667.626 588098.868 0, 902370.914 588104.606 0, 902074.202 588110.361 0, 901777.49 588116.133 0, 901480.779 588121.923 0, 901184.068 588127.73 0, 900887.357 588133.555 0, 900590.647 588139.397 0, 900292.485 588145.286 0, 900402.51 593708.017 0,
+ 900512.541 599271.1 0, 900810.045 599265.224 0, 901106.1 599259.395 0, 901402.156 599253.583 0, 901698.212 599247.788 0, 901994.269 599242.011 0, 902290.326 599236.251 0, 902586.383 599230.509 0, 902882.44 599224.784 0, 903178.498 599219.077 0,
+ 903474.556 599213.387 0, 903770.615 599207.714 0, 904066.674 599202.059 0, 904362.733 599196.421 0, 904658.793 599190.801 0, 904954.852 599185.198 0, 905250.913 599179.613 0, 905546.973 599174.044 0, 905843.034 599168.494 0, 906139.095 599162.961 0,
+ 906435.157 599157.445 0, 906731.219 599151.947 0, 907027.281 599146.466 0, 907323.343 599141.002 0, 907617.959 599135.583 0, 907915.469 599130.128 0, 908211.533 599124.716 0, 908507.596 599119.323 0, 908803.66 599113.946 0, 909099.725 599108.587 0,
+ 909395.789 599103.246 0, 909691.854 599097.922 0, 909987.92 599092.615 0, 910283.985 599087.326 0, 910580.051 599082.054 0, 910876.118 599076.8 0, 911172.184 599071.563 0, 911468.251 599066.343 0, 911764.318 599061.141 0, 912060.386 599055.957 0,
+ 912356.454 599050.789 0, 912652.522 599045.639 0, 912948.59 599040.507 0, 913244.659 599035.392 0, 913540.728 599030.295 0, 913836.797 599025.214 0, 914132.867 599020.152 0, 914428.937 599015.107 0, 914723.561 599010.103 0, 914629.246 593446.732 0,
+ 914534.938 587883.712 0))
+
+POLYGON ((928935.261 598789.257 0, 928640.621 598793.428 0, 928344.538 598797.636 0, 928048.456 598801.863 0, 927752.373 598806.106 0, 927456.291 598810.367 0, 927160.209 598814.646 0, 926864.127 598818.942 0, 926568.046 598823.255 0, 926271.965 598827.586 0,
+ 925975.884 598831.934 0, 925679.803 598836.3 0, 925383.722 598840.683 0, 925087.642 598845.083 0, 924791.562 598849.501 0, 924495.483 598853.936 0, 924199.403 598858.389 0, 923903.324 598862.859 0, 923607.245 598867.347 0, 923311.167 598871.852 0,
+ 923015.088 598876.375 0, 922719.01 598880.914 0, 922422.932 598885.472 0, 922126.855 598890.047 0, 921829.333 598894.661 0, 921534.701 598899.248 0, 921238.624 598903.875 0, 920942.547 598908.52 0, 920646.471 598913.182 0, 920350.395 598917.861 0,
+ 920054.32 598922.558 0, 919758.244 598927.272 0, 919462.169 598932.003 0, 919166.095 598936.752 0, 918870.02 598941.519 0, 918573.946 598946.303 0, 918277.872 598951.104 0, 917981.798 598955.923 0, 917685.725 598960.759 0, 917389.652 598965.612 0,
+ 917093.579 598970.483 0, 916797.506 598975.372 0, 916501.434 598980.278 0, 916205.362 598985.201 0, 915909.29 598990.142 0, 915613.219 598995.1 0, 915317.148 599000.075 0, 915021.077 599005.068 0, 914723.561 599010.103 0, 914817.881 604573.823 0,
+ 914912.207 610137.889 0, 915209.065 610132.865 0, 915504.481 610127.883 0, 915799.897 610122.919 0, 916095.314 610117.971 0, 916390.73 610113.042 0, 916686.147 610108.129 0, 916981.565 610103.234 0, 917276.982 610098.357 0, 917572.4 610093.496 0,
+ 917867.818 610088.654 0, 918163.237 610083.828 0, 918458.655 610079.02 0, 918754.074 610074.229 0, 919049.494 610069.456 0, 919344.913 610064.7 0, 919640.333 610059.962 0, 919935.753 610055.241 0, 920231.174 610050.537 0, 920526.594 610045.851 0,
+ 920822.015 610041.182 0, 921117.436 610036.53 0, 921412.858 610031.896 0, 921708.28 610027.279 0, 922002.26 610022.702 0, 922299.124 610018.098 0, 922594.546 610013.533 0, 922889.969 610008.986 0, 923185.392 610004.456 0, 923480.816 609999.943 0,
+ 923776.239 609995.448 0, 924071.663 609990.971 0, 924367.087 609986.51 0, 924662.512 609982.068 0, 924957.937 609977.642 0, 925253.362 609973.234 0, 925548.787 609968.843 0, 925844.212 609964.47 0, 926139.638 609960.114 0, 926435.064 609955.775 0,
+ 926730.49 609951.454 0, 927025.917 609947.15 0, 927321.343 609942.864 0, 927616.77 609938.595 0, 927912.198 609934.343 0, 928207.625 609930.109 0, 928503.053 609925.892 0, 928798.481 609921.693 0, 929092.468 609917.531 0, 929013.862 604353.221 0,
+ 928935.261 598789.257 0))
+
+POLYGON ((943273.295 609737.236 0, 942979.295 609740.567 0, 942683.856 609743.932 0, 942388.418 609747.314 0, 942092.98 609750.713 0, 941797.542 609754.13 0, 941502.104 609757.565 0, 941206.666 609761.016 0, 940911.229 609764.486 0, 940615.791 609767.972 0,
+ 940320.354 609771.476 0, 940024.917 609774.997 0, 939729.481 609778.536 0, 939434.044 609782.092 0, 939138.608 609785.666 0, 938843.172 609789.257 0, 938547.736 609792.865 0, 938252.301 609796.49 0, 937956.865 609800.134 0, 937661.43 609803.794 0,
+ 937365.995 609807.472 0, 937070.561 609811.167 0, 936775.126 609814.88 0, 936479.692 609818.61 0, 936182.818 609822.375 0, 935888.824 609826.122 0, 935593.39 609829.904 0, 935297.957 609833.703 0, 935002.524 609837.52 0, 934707.091 609841.355 0,
+ 934411.658 609845.206 0, 934116.226 609849.075 0, 933820.793 609852.962 0, 933525.361 609856.866 0, 933229.929 609860.787 0, 932934.498 609864.726 0, 932639.067 609868.682 0, 932343.635 609872.655 0, 932048.205 609876.646 0, 931752.774 609880.654 0,
+ 931457.344 609884.68 0, 931161.913 609888.723 0, 930866.483 609892.783 0, 930571.054 609896.861 0, 930275.624 609900.956 0, 929980.195 609905.069 0, 929684.766 609909.198 0, 929389.337 609913.346 0, 929092.468 609917.531 0, 929171.079 615482.183 0,
+ 929249.695 621047.174 0, 929545.906 621042.998 0, 929840.68 621038.86 0, 930135.454 621034.739 0, 930430.228 621030.636 0, 930725.002 621026.55 0, 931019.777 621022.481 0, 931314.552 621018.43 0, 931609.327 621014.395 0, 931904.102 621010.379 0,
+ 932198.878 621006.38 0, 932493.653 621002.398 0, 932788.429 620998.433 0, 933083.206 620994.486 0, 933377.982 620990.556 0, 933672.759 620986.643 0, 933967.536 620982.748 0, 934262.313 620978.87 0, 934557.091 620975.01 0, 934851.868 620971.166 0,
+ 935146.646 620967.341 0, 935441.424 620963.532 0, 935736.202 620959.741 0, 936030.981 620955.967 0, 936324.323 620952.229 0, 936620.539 620948.472 0, 936915.318 620944.75 0, 937210.097 620941.046 0, 937504.877 620937.359 0, 937799.657 620933.689 0,
+ 938094.437 620930.037 0, 938389.217 620926.402 0, 938683.998 620922.784 0, 938978.778 620919.184 0, 939273.559 620915.601 0, 939568.34 620912.035 0, 939863.122 620908.487 0, 940157.903 620904.956 0, 940452.685 620901.443 0, 940747.467 620897.947 0,
+ 941042.249 620894.468 0, 941337.032 620891.006 0, 941631.814 620887.562 0, 941926.597 620884.136 0, 942221.38 620880.726 0, 942516.163 620877.334 0, 942810.946 620873.959 0, 943105.73 620870.602 0, 943399.078 620867.278 0, 943336.185 615302.087 0,
+ 943273.295 609737.236 0))
+
+POLYGON ((957548.914 620727.358 0, 957255.555 620729.853 0, 956960.763 620732.378 0, 956665.971 620734.919 0, 956371.179 620737.479 0, 956076.388 620740.055 0, 955781.597 620742.649 0, 955486.806 620745.26 0, 955192.015 620747.889 0, 954897.224 620750.535 0,
+ 954602.433 620753.198 0, 954307.643 620755.879 0, 954012.852 620758.577 0, 953718.062 620761.293 0, 953423.272 620764.025 0, 953128.482 620766.775 0, 952833.692 620769.543 0, 952538.903 620772.328 0, 952244.114 620775.13 0, 951949.324 620777.949 0,
+ 951654.535 620780.786 0, 951359.746 620783.64 0, 951064.958 620786.512 0, 950770.169 620789.401 0, 950473.947 620792.321 0, 950180.593 620795.231 0, 949885.805 620798.171 0, 949591.017 620801.13 0, 949296.229 620804.105 0, 949001.442 620807.098 0,
+ 948706.654 620810.109 0, 948411.867 620813.136 0, 948117.08 620816.182 0, 947822.293 620819.244 0, 947527.507 620822.324 0, 947232.72 620825.421 0, 946937.934 620828.535 0, 946643.148 620831.667 0, 946348.362 620834.816 0, 946053.576 620837.983 0,
+ 945758.791 620841.167 0, 945464.006 620844.368 0, 945169.221 620847.586 0, 944874.436 620850.822 0, 944579.651 620854.075 0, 944284.866 620857.346 0, 943990.082 620860.634 0, 943695.298 620863.939 0, 943399.078 620867.278 0, 943461.976 626432.805 0,
+ 943524.877 631998.664 0, 943820.438 631995.332 0, 944114.567 631992.034 0, 944408.696 631988.753 0, 944702.825 631985.49 0, 944996.955 631982.244 0, 945291.085 631979.015 0, 945585.215 631975.804 0, 945879.345 631972.61 0, 946173.475 631969.433 0,
+ 946467.605 631966.274 0, 946761.736 631963.132 0, 947055.867 631960.007 0, 947349.998 631956.899 0, 947644.129 631953.809 0, 947938.261 631950.736 0, 948232.392 631947.68 0, 948526.524 631944.642 0, 948820.656 631941.621 0, 949114.788 631938.618 0,
+ 949408.921 631935.631 0, 949703.053 631932.662 0, 949997.186 631929.71 0, 950291.319 631926.776 0, 950584.021 631923.873 0, 950879.585 631920.959 0, 951173.718 631918.077 0, 951467.852 631915.211 0, 951761.985 631912.364 0, 952056.119 631909.533 0,
+ 952350.253 631906.72 0, 952644.388 631903.924 0, 952938.522 631901.145 0, 953232.656 631898.384 0, 953526.791 631895.64 0, 953820.926 631892.913 0, 954115.061 631890.204 0, 954409.196 631887.512 0, 954703.331 631884.837 0, 954997.467 631882.18 0,
+ 955291.603 631879.54 0, 955585.738 631876.917 0, 955879.874 631874.312 0, 956174.01 631871.723 0, 956468.147 631869.152 0, 956762.283 631866.599 0, 957056.42 631864.063 0, 957350.556 631861.544 0, 957643.263 631859.054 0, 957596.087 626293.04 0,
+ 957548.914 620727.358 0))
+
+POLYGON ((971761.988 631759.333 0, 971469.273 631760.995 0, 971175.13 631762.683 0, 970880.987 631764.388 0, 970586.845 631766.111 0, 970292.703 631767.851 0, 969998.56 631769.608 0, 969704.418 631771.382 0, 969410.276 631773.174 0, 969116.134 631774.983 0,
+ 968821.992 631776.81 0, 968527.851 631778.653 0, 968233.709 631780.514 0, 967939.568 631782.393 0, 967645.426 631784.288 0, 967351.285 631786.201 0, 967057.144 631788.132 0, 966763.003 631790.079 0, 966468.862 631792.044 0, 966174.721 631794.027 0,
+ 965880.581 631796.026 0, 965586.44 631798.043 0, 965292.299 631800.077 0, 964998.159 631802.129 0, 964702.59 631804.207 0, 964409.879 631806.283 0, 964115.739 631808.387 0, 963821.599 631810.508 0, 963527.459 631812.646 0, 963233.32 631814.801 0,
+ 962939.18 631816.974 0, 962645.041 631819.164 0, 962350.902 631821.371 0, 962056.763 631823.596 0, 961762.624 631825.838 0, 961468.485 631828.097 0, 961174.346 631830.373 0, 960880.208 631832.667 0, 960586.069 631834.978 0, 960291.931 631837.307 0,
+ 959997.793 631839.653 0, 959703.655 631842.016 0, 959409.517 631844.396 0, 959115.379 631846.794 0, 958821.242 631849.209 0, 958527.104 631851.641 0, 958232.967 631854.091 0, 957938.83 631856.558 0, 957643.263 631859.054 0, 957690.442 637425.398 0,
+ 957737.624 642992.067 0, 958032.532 642989.576 0, 958326.014 642987.115 0, 958619.496 642984.671 0, 958912.978 642982.244 0, 959206.461 642979.834 0, 959499.943 642977.442 0, 959793.426 642975.066 0, 960086.908 642972.709 0, 960380.391 642970.368 0,
+ 960673.874 642968.045 0, 960967.357 642965.739 0, 961260.841 642963.45 0, 961554.324 642961.178 0, 961847.808 642958.924 0, 962141.291 642956.687 0, 962434.775 642954.468 0, 962728.259 642952.265 0, 963021.743 642950.08 0, 963315.227 642947.912 0,
+ 963608.712 642945.762 0, 963902.196 642943.629 0, 964195.681 642941.513 0, 964489.165 642939.414 0, 964781.224 642937.342 0, 965076.135 642935.268 0, 965369.62 642933.221 0, 965663.105 642931.192 0, 965956.59 642929.179 0, 966250.076 642927.184 0,
+ 966543.561 642925.206 0, 966837.047 642923.246 0, 967130.533 642921.303 0, 967424.019 642919.377 0, 967717.505 642917.468 0, 968010.991 642915.576 0, 968304.477 642913.702 0, 968597.963 642911.845 0, 968891.45 642910.006 0, 969184.936 642908.183 0,
+ 969478.423 642906.378 0, 969771.91 642904.59 0, 970065.396 642902.82 0, 970358.883 642901.067 0, 970652.37 642899.331 0, 970945.858 642897.612 0, 971239.345 642895.911 0, 971532.832 642894.226 0, 971824.895 642892.568 0, 971793.44 637325.787 0,
+ 971761.988 631759.333 0))
+
+POLYGON ((985912.391 642832.868 0, 985620.323 642833.701 0, 985326.832 642834.556 0, 985033.341 642835.429 0, 984739.85 642836.318 0, 984446.359 642837.225 0, 984152.868 642838.149 0, 983859.378 642839.09 0, 983565.887 642840.049 0, 983272.397 642841.025 0,
+ 982978.906 642842.018 0, 982685.416 642843.029 0, 982391.925 642844.056 0, 982098.435 642845.101 0, 981804.945 642846.164 0, 981511.454 642847.243 0, 981217.964 642848.34 0, 980924.474 642849.454 0, 980630.984 642850.585 0, 980337.494 642851.734 0,
+ 980044.004 642852.9 0, 979750.515 642854.083 0, 979457.025 642855.284 0, 979163.535 642856.502 0, 978868.622 642857.743 0, 978576.556 642858.989 0, 978283.067 642860.258 0, 977989.577 642861.545 0, 977696.088 642862.849 0, 977402.599 642864.171 0,
+ 977109.11 642865.509 0, 976815.621 642866.865 0, 976522.132 642868.239 0, 976228.643 642869.629 0, 975935.154 642871.037 0, 975641.665 642872.462 0, 975348.176 642873.904 0, 975054.688 642875.364 0, 974761.199 642876.841 0, 974467.711 642878.335 0,
+ 974174.223 642879.846 0, 973880.735 642881.375 0, 973587.246 642882.921 0, 973293.758 642884.484 0, 973000.27 642886.065 0, 972706.783 642887.663 0, 972413.295 642889.278 0, 972119.807 642890.91 0, 971824.895 642892.568 0, 971856.352 648459.67 0,
+ 971887.81 654027.093 0, 972182.064 654025.439 0, 972474.896 654023.81 0, 972767.728 654022.198 0, 973060.561 654020.604 0, 973353.393 654019.027 0, 973646.226 654017.467 0, 973939.059 654015.925 0, 974231.892 654014.4 0, 974524.725 654012.892 0,
+ 974817.558 654011.401 0, 975110.391 654009.927 0, 975403.224 654008.471 0, 975696.057 654007.032 0, 975988.891 654005.61 0, 976281.724 654004.205 0, 976574.558 654002.818 0, 976867.391 654001.448 0, 977160.225 654000.095 0, 977453.059 653998.759 0,
+ 977745.892 653997.441 0, 978038.726 653996.139 0, 978331.56 653994.856 0, 978624.394 653993.589 0, 978915.808 653992.345 0, 979210.063 653991.107 0, 979502.897 653989.892 0, 979795.732 653988.694 0, 980088.566 653987.514 0, 980381.401 653986.35 0,
+ 980674.235 653985.204 0, 980967.07 653984.075 0, 981259.904 653982.964 0, 981552.739 653981.869 0, 981845.574 653980.792 0, 982138.409 653979.732 0, 982431.244 653978.69 0, 982724.079 653977.664 0, 983016.914 653976.656 0, 983309.749 653975.665 0,
+ 983602.584 653974.691 0, 983895.42 653973.735 0, 984188.255 653972.795 0, 984481.09 653971.873 0, 984773.926 653970.969 0, 985066.761 653970.081 0, 985359.597 653969.211 0, 985652.432 653968.358 0, 985943.849 653967.526 0, 985928.12 648400.037 0,
+ 985912.391 642832.868 0))
+
+POLYGON ((1000000 653947.67 0, 999708.58 653947.679 0, 999415.743 653947.704 0, 999122.906 653947.747 0, 998830.07 653947.808 0, 998537.233 653947.885 0, 998244.396 653947.98 0, 997951.559 653948.092 0, 997658.722 653948.221 0, 997365.886 653948.367 0,
+ 997073.049 653948.531 0, 996780.212 653948.712 0, 996487.375 653948.91 0, 996194.539 653949.125 0, 995901.702 653949.358 0, 995608.865 653949.608 0, 995316.028 653949.875 0, 995023.192 653950.159 0, 994730.355 653950.461 0, 994437.518 653950.78 0,
+ 994144.682 653951.116 0, 993851.845 653951.469 0, 993559.009 653951.839 0, 993266.172 653952.227 0, 992971.917 653952.634 0, 992680.499 653953.054 0, 992387.662 653953.494 0, 992094.826 653953.95 0, 991801.99 653954.424 0, 991509.153 653954.915 0,
+ 991216.317 653955.424 0, 990923.48 653955.949 0, 990630.644 653956.492 0, 990337.808 653957.052 0, 990044.971 653957.63 0, 989752.135 653958.224 0, 989459.299 653958.836 0, 989166.463 653959.465 0, 988873.627 653960.111 0, 988580.791 653960.775 0,
+ 988287.955 653961.455 0, 987995.119 653962.153 0, 987702.283 653962.869 0, 987409.447 653963.601 0, 987116.611 653964.351 0, 986823.775 653965.118 0, 986530.939 653965.902 0, 986238.104 653966.703 0, 985943.849 653967.526 0, 985959.579 659535.33 0,
+ 985975.31 665103.447 0, 986268.906 665102.627 0, 986561.086 665101.827 0, 986853.267 665101.045 0, 987145.447 665100.279 0, 987437.628 665099.531 0, 987729.808 665098.801 0, 988021.989 665098.087 0, 988314.169 665097.391 0, 988606.35 665096.711 0,
+ 988898.53 665096.049 0, 989190.711 665095.405 0, 989482.892 665094.777 0, 989775.073 665094.167 0, 990067.253 665093.573 0, 990359.434 665092.997 0, 990651.615 665092.439 0, 990943.796 665091.897 0, 991235.977 665091.372 0, 991528.158 665090.865 0,
+ 991820.339 665090.375 0, 992112.52 665089.902 0, 992404.701 665089.447 0, 992696.882 665089.008 0, 992987.648 665088.589 0, 993281.244 665088.183 0, 993573.425 665087.796 0, 993865.606 665087.426 0, 994157.787 665087.074 0, 994449.969 665086.739 0,
+ 994742.15 665086.421 0, 995034.331 665086.12 0, 995326.512 665085.836 0, 995618.694 665085.57 0, 995910.875 665085.32 0, 996203.056 665085.088 0, 996495.237 665084.873 0, 996787.419 665084.676 0, 997079.6 665084.495 0, 997371.781 665084.332 0,
+ 997663.963 665084.186 0, 997956.144 665084.057 0, 998248.325 665083.945 0, 998540.507 665083.851 0, 998832.688 665083.773 0, 999124.87 665083.713 0, 999417.051 665083.67 0, 999709.232 665083.645 0, 1000000 665083.636 0, 1000000 659515.497 0,
+ 1000000 653947.67 0))
+
+POLYGON ((1014024.69 665103.447 0, 1013733.921 665102.634 0, 1013441.741 665101.835 0, 1013149.561 665101.052 0, 1012857.38 665100.287 0, 1012565.2 665099.539 0, 1012273.019 665098.808 0, 1011980.839 665098.094 0, 1011688.658 665097.397 0, 1011396.478 665096.718 0,
+ 1011104.297 665096.056 0, 1010812.116 665095.411 0, 1010519.936 665094.783 0, 1010227.755 665094.172 0, 1009935.574 665093.579 0, 1009643.393 665093.003 0, 1009351.212 665092.444 0, 1009059.032 665091.902 0, 1008766.851 665091.377 0, 1008474.67 665090.87 0,
+ 1008182.489 665090.38 0, 1007890.308 665089.907 0, 1007598.127 665089.451 0, 1007305.946 665089.012 0, 1007012.352 665088.589 0, 1006721.583 665088.187 0, 1006429.402 665087.8 0, 1006137.221 665087.43 0, 1005845.04 665087.077 0, 1005552.859 665086.742 0,
+ 1005260.678 665086.424 0, 1004968.496 665086.123 0, 1004676.315 665085.839 0, 1004384.134 665085.572 0, 1004091.953 665085.323 0, 1003799.771 665085.09 0, 1003507.59 665084.875 0, 1003215.409 665084.678 0, 1002923.227 665084.497 0, 1002631.046 665084.333 0,
+ 1002338.865 665084.187 0, 1002046.683 665084.058 0, 1001754.502 665083.946 0, 1001462.321 665083.852 0, 1001170.139 665083.774 0, 1000877.958 665083.714 0, 1000585.776 665083.671 0, 1000293.595 665083.645 0, 1000000 665083.636 0, 1000000 670652.085 0,
+ 1000000 676220.839 0, 1000292.936 676220.848 0, 1000584.462 676220.873 0, 1000875.988 676220.916 0, 1001167.514 676220.977 0, 1001459.04 676221.054 0, 1001750.566 676221.148 0, 1002042.092 676221.26 0, 1002333.617 676221.389 0, 1002625.143 676221.535 0,
+ 1002916.669 676221.698 0, 1003208.195 676221.878 0, 1003499.721 676222.075 0, 1003791.246 676222.29 0, 1004082.772 676222.522 0, 1004374.298 676222.77 0, 1004665.824 676223.037 0, 1004957.349 676223.32 0, 1005248.875 676223.62 0, 1005540.401 676223.938 0,
+ 1005831.927 676224.272 0, 1006123.452 676224.624 0, 1006414.978 676224.993 0, 1006706.503 676225.379 0, 1006996.62 676225.781 0, 1007289.555 676226.203 0, 1007581.08 676226.641 0, 1007872.606 676227.095 0, 1008164.131 676227.567 0, 1008455.657 676228.057 0,
+ 1008747.182 676228.563 0, 1009038.707 676229.086 0, 1009330.233 676229.627 0, 1009621.758 676230.185 0, 1009913.283 676230.759 0, 1010204.809 676231.351 0, 1010496.334 676231.961 0, 1010787.859 676232.587 0, 1011079.384 676233.231 0, 1011370.909 676233.891 0,
+ 1011662.435 676234.569 0, 1011953.96 676235.264 0, 1012245.485 676235.976 0, 1012537.01 676236.706 0, 1012828.534 676237.452 0, 1013120.059 676238.216 0, 1013411.584 676238.997 0, 1013703.109 676239.795 0, 1013993.225 676240.606 0, 1014008.958 670671.874 0,
+ 1014024.69 665103.447 0))
+
+POLYGON ((1027986.339 676299.906 0, 1027696.224 676298.275 0, 1027404.702 676296.653 0, 1027113.181 676295.049 0, 1026821.659 676293.462 0, 1026530.138 676291.892 0, 1026238.616 676290.339 0, 1025947.094 676288.803 0, 1025655.572 676287.284 0, 1025364.05 676285.783 0,
+ 1025072.528 676284.299 0, 1024781.006 676282.831 0, 1024489.484 676281.381 0, 1024197.961 676279.949 0, 1023906.439 676278.533 0, 1023614.916 676277.134 0, 1023323.394 676275.753 0, 1023031.871 676274.389 0, 1022740.348 676273.042 0, 1022448.826 676271.712 0,
+ 1022157.303 676270.399 0, 1021865.78 676269.104 0, 1021574.257 676267.825 0, 1021282.733 676266.564 0, 1020989.803 676265.314 0, 1020699.687 676264.093 0, 1020408.164 676262.883 0, 1020116.64 676261.691 0, 1019825.117 676260.515 0, 1019533.593 676259.357 0,
+ 1019242.069 676258.216 0, 1018950.546 676257.092 0, 1018659.022 676255.985 0, 1018367.498 676254.895 0, 1018075.974 676253.823 0, 1017784.45 676252.768 0, 1017492.926 676251.729 0, 1017201.402 676250.708 0, 1016909.878 676249.705 0, 1016618.354 676248.718 0,
+ 1016326.83 676247.748 0, 1016035.305 676246.796 0, 1015743.781 676245.861 0, 1015452.257 676244.943 0, 1015160.732 676244.042 0, 1014869.208 676243.158 0, 1014577.683 676242.291 0, 1014286.158 676241.442 0, 1013993.225 676240.606 0, 1013977.492 681809.64 0,
+ 1013961.757 687378.973 0, 1014254.032 687379.808 0, 1014544.901 687380.655 0, 1014835.77 687381.52 0, 1015126.639 687382.402 0, 1015417.507 687383.301 0, 1015708.376 687384.217 0, 1015999.245 687385.15 0, 1016290.114 687386.1 0, 1016580.982 687387.067 0,
+ 1016871.851 687388.052 0, 1017162.72 687389.053 0, 1017453.588 687390.072 0, 1017744.457 687391.108 0, 1018035.325 687392.161 0, 1018326.193 687393.231 0, 1018617.062 687394.318 0, 1018907.93 687395.423 0, 1019198.798 687396.544 0, 1019489.666 687397.683 0,
+ 1019780.534 687398.838 0, 1020071.402 687400.011 0, 1020362.27 687401.201 0, 1020653.137 687402.408 0, 1020942.601 687403.626 0, 1021234.873 687404.874 0, 1021525.74 687406.132 0, 1021816.608 687407.407 0, 1022107.475 687408.7 0, 1022398.343 687410.01 0,
+ 1022689.21 687411.337 0, 1022980.077 687412.681 0, 1023270.944 687414.042 0, 1023561.811 687415.42 0, 1023852.678 687416.815 0, 1024143.545 687418.228 0, 1024434.412 687419.658 0, 1024725.278 687421.104 0, 1025016.145 687422.568 0, 1025307.011 687424.049 0,
+ 1025597.878 687425.547 0, 1025888.744 687427.062 0, 1026179.61 687428.595 0, 1026470.477 687430.144 0, 1026761.343 687431.711 0, 1027052.209 687433.294 0, 1027343.075 687434.895 0, 1027633.94 687436.513 0, 1027923.403 687438.14 0, 1027954.872 681868.873 0,
+ 1027986.339 676299.906 0))
+
+POLYGON ((1041884.826 687536.751 0, 1041595.367 687534.306 0, 1041304.507 687531.866 0, 1041013.647 687529.444 0, 1040722.786 687527.038 0, 1040431.926 687524.65 0, 1040141.065 687522.279 0, 1039850.204 687519.925 0, 1039559.344 687517.588 0, 1039268.482 687515.268 0,
+ 1038977.621 687512.965 0, 1038686.76 687510.68 0, 1038395.899 687508.411 0, 1038105.037 687506.16 0, 1037814.175 687503.926 0, 1037523.313 687501.709 0, 1037232.452 687499.509 0, 1036941.589 687497.326 0, 1036650.727 687495.16 0, 1036359.865 687493.011 0,
+ 1036069.002 687490.88 0, 1035778.14 687488.765 0, 1035487.277 687486.668 0, 1035196.414 687484.588 0, 1034904.15 687482.515 0, 1034614.688 687480.479 0, 1034323.825 687478.45 0, 1034032.962 687476.439 0, 1033742.098 687474.444 0, 1033451.235 687472.467 0,
+ 1033160.371 687470.506 0, 1032869.507 687468.563 0, 1032578.643 687466.637 0, 1032287.779 687464.728 0, 1031996.915 687462.836 0, 1031706.051 687460.962 0, 1031415.186 687459.104 0, 1031124.322 687457.263 0, 1030833.457 687455.44 0, 1030542.593 687453.634 0,
+ 1030251.728 687451.845 0, 1029960.863 687450.073 0, 1029669.998 687448.318 0, 1029379.133 687446.58 0, 1029088.268 687444.859 0, 1028797.403 687443.156 0, 1028506.537 687441.47 0, 1028215.672 687439.8 0, 1027923.403 687438.14 0, 1027891.933 693007.703 0,
+ 1027860.461 698577.557 0, 1028152.07 698579.213 0, 1028442.28 698580.879 0, 1028732.49 698582.562 0, 1029022.7 698584.261 0, 1029312.909 698585.978 0, 1029603.119 698587.712 0, 1029893.328 698589.463 0, 1030183.537 698591.231 0, 1030473.746 698593.016 0,
+ 1030763.955 698594.818 0, 1031054.164 698596.637 0, 1031344.373 698598.474 0, 1031634.582 698600.327 0, 1031924.79 698602.198 0, 1032214.999 698604.085 0, 1032505.207 698605.99 0, 1032795.416 698607.911 0, 1033085.624 698609.85 0, 1033375.832 698611.806 0,
+ 1033666.04 698613.779 0, 1033956.247 698615.769 0, 1034246.455 698617.776 0, 1034536.663 698619.801 0, 1034825.472 698621.832 0, 1035117.078 698623.9 0, 1035407.285 698625.976 0, 1035697.492 698628.068 0, 1035987.699 698630.178 0, 1036277.906 698632.305 0,
+ 1036568.112 698634.448 0, 1036858.319 698636.609 0, 1037148.525 698638.787 0, 1037438.732 698640.982 0, 1037728.938 698643.194 0, 1038019.144 698645.424 0, 1038309.35 698647.67 0, 1038599.556 698649.933 0, 1038889.761 698652.214 0, 1039179.967 698654.511 0,
+ 1039470.172 698656.826 0, 1039760.378 698659.157 0, 1040050.583 698661.506 0, 1040340.788 698663.872 0, 1040630.993 698666.255 0, 1040921.197 698668.655 0, 1041211.402 698671.072 0, 1041501.606 698673.506 0, 1041790.413 698675.946 0, 1041837.621 693106.202 0,
+ 1041884.826 687536.751 0))
+
+POLYGON ((1055720.032 698813.688 0, 1055431.231 698810.433 0, 1055141.034 698807.179 0, 1054850.838 698803.942 0, 1054560.641 698800.722 0, 1054270.444 698797.519 0, 1053980.247 698794.333 0, 1053690.05 698791.165 0, 1053399.852 698788.013 0, 1053109.654 698784.879 0,
+ 1052819.457 698781.761 0, 1052529.259 698778.661 0, 1052239.06 698775.578 0, 1051948.862 698772.512 0, 1051658.663 698769.463 0, 1051368.464 698766.431 0, 1051078.265 698763.416 0, 1050788.066 698760.418 0, 1050497.867 698757.437 0, 1050207.667 698754.474 0,
+ 1049917.468 698751.527 0, 1049627.268 698748.597 0, 1049337.068 698745.685 0, 1049046.868 698742.79 0, 1048755.271 698739.898 0, 1048466.467 698737.05 0, 1048176.266 698734.206 0, 1047886.065 698731.379 0, 1047595.864 698728.569 0, 1047305.663 698725.776 0,
+ 1047015.462 698723.001 0, 1046725.26 698720.242 0, 1046435.059 698717.5 0, 1046144.857 698714.776 0, 1045854.655 698712.068 0, 1045564.453 698709.378 0, 1045274.25 698706.705 0, 1044984.048 698704.048 0, 1044693.845 698701.409 0, 1044403.642 698698.787 0,
+ 1044113.439 698696.182 0, 1043823.236 698693.594 0, 1043533.033 698691.024 0, 1043242.83 698688.47 0, 1042952.626 698685.933 0, 1042662.422 698683.414 0, 1042372.219 698680.911 0, 1042082.015 698678.426 0, 1041790.413 698675.946 0, 1041743.203 704245.978 0,
+ 1041695.99 709816.295 0, 1041986.933 709818.77 0, 1042276.481 709821.25 0, 1042566.029 709823.746 0, 1042855.577 709826.26 0, 1043145.125 709828.791 0, 1043434.673 709831.339 0, 1043724.22 709833.904 0, 1044013.768 709836.486 0, 1044303.315 709839.085 0,
+ 1044592.862 709841.701 0, 1044882.409 709844.335 0, 1045171.956 709846.985 0, 1045461.502 709849.652 0, 1045751.049 709852.336 0, 1046040.595 709855.038 0, 1046330.141 709857.756 0, 1046619.687 709860.492 0, 1046909.233 709863.244 0, 1047198.779 709866.014 0,
+ 1047488.324 709868.8 0, 1047777.87 709871.604 0, 1048067.415 709874.424 0, 1048356.96 709877.262 0, 1048645.112 709880.103 0, 1048936.049 709882.988 0, 1049225.594 709885.877 0, 1049515.138 709888.783 0, 1049804.682 709891.706 0, 1050094.226 709894.646 0,
+ 1050383.77 709897.603 0, 1050673.314 709900.577 0, 1050962.857 709903.568 0, 1051252.4 709906.576 0, 1051541.944 709909.601 0, 1051831.487 709912.643 0, 1052121.029 709915.703 0, 1052410.572 709918.779 0, 1052700.114 709921.872 0, 1052989.656 709924.982 0,
+ 1053279.198 709928.11 0, 1053568.74 709931.254 0, 1053858.282 709934.416 0, 1054147.823 709937.594 0, 1054437.365 709940.79 0, 1054726.906 709944.002 0, 1055016.447 709947.232 0, 1055305.987 709950.479 0, 1055594.136 709953.727 0, 1055657.085 704383.565 0,
+ 1055720.032 698813.688 0))
+
+POLYGON ((1069491.838 710130.422 0, 1069203.697 710126.36 0, 1068914.167 710122.296 0, 1068624.636 710118.248 0, 1068335.106 710114.217 0, 1068045.574 710110.204 0, 1067756.043 710106.207 0, 1067466.512 710102.228 0, 1067176.98 710098.265 0, 1066887.448 710094.32 0,
+ 1066597.915 710090.392 0, 1066308.383 710086.48 0, 1066018.85 710082.586 0, 1065729.317 710078.709 0, 1065439.784 710074.849 0, 1065150.251 710071.006 0, 1064860.717 710067.18 0, 1064571.183 710063.37 0, 1064281.649 710059.578 0, 1063992.115 710055.803 0,
+ 1063702.58 710052.046 0, 1063413.046 710048.305 0, 1063123.511 710044.581 0, 1062833.976 710040.874 0, 1062543.049 710037.167 0, 1062254.904 710033.512 0, 1061965.369 710029.856 0, 1061675.833 710026.217 0, 1061386.296 710022.596 0, 1061096.76 710018.991 0,
+ 1060807.223 710015.404 0, 1060517.686 710011.833 0, 1060228.149 710008.28 0, 1059938.612 710004.743 0, 1059649.074 710001.224 0, 1059359.537 709997.722 0, 1059069.999 709994.236 0, 1058780.461 709990.768 0, 1058490.922 709987.317 0, 1058201.384 709983.883 0,
+ 1057911.845 709980.466 0, 1057622.306 709977.066 0, 1057332.767 709973.683 0, 1057043.228 709970.317 0, 1056753.688 709966.968 0, 1056464.148 709963.636 0, 1056174.608 709960.321 0, 1055885.068 709957.023 0, 1055594.136 709953.727 0, 1055531.183 715524.171 0,
+ 1055468.227 721094.893 0, 1055758.5 721098.182 0, 1056047.385 721101.472 0, 1056336.269 721104.78 0, 1056625.153 721108.104 0, 1056914.037 721111.445 0, 1057202.92 721114.804 0, 1057491.804 721118.179 0, 1057780.687 721121.571 0, 1058069.57 721124.981 0,
+ 1058358.453 721128.407 0, 1058647.335 721131.85 0, 1058936.218 721135.311 0, 1059225.1 721138.788 0, 1059513.982 721142.283 0, 1059802.864 721145.794 0, 1060091.745 721149.322 0, 1060380.627 721152.868 0, 1060669.508 721156.43 0, 1060958.389 721160.009 0,
+ 1061247.27 721163.606 0, 1061536.15 721167.219 0, 1061825.03 721170.85 0, 1062113.91 721174.497 0, 1062401.403 721178.144 0, 1062691.67 721181.843 0, 1062980.549 721185.541 0, 1063269.429 721189.257 0, 1063558.308 721192.989 0, 1063847.186 721196.738 0,
+ 1064136.065 721200.505 0, 1064424.943 721204.288 0, 1064713.822 721208.089 0, 1065002.699 721211.906 0, 1065291.577 721215.741 0, 1065580.455 721219.592 0, 1065869.332 721223.46 0, 1066158.209 721227.346 0, 1066447.086 721231.248 0, 1066735.962 721235.168 0,
+ 1067024.838 721239.104 0, 1067313.714 721243.058 0, 1067602.59 721247.028 0, 1067891.466 721251.016 0, 1068180.341 721255.02 0, 1068469.216 721259.042 0, 1068758.091 721263.08 0, 1069046.966 721267.135 0, 1069334.454 721271.188 0, 1069413.148 715700.666 0,
+ 1069491.838 710130.422 0))
+
+POLYGON ((1083200.127 721486.658 0, 1082912.65 721481.793 0, 1082623.787 721476.921 0, 1082334.925 721472.066 0, 1082046.063 721467.229 0, 1081757.2 721462.408 0, 1081468.336 721457.605 0, 1081179.473 721452.818 0, 1080890.609 721448.049 0, 1080601.745 721443.296 0,
+ 1080312.881 721438.56 0, 1080024.016 721433.842 0, 1079735.151 721429.14 0, 1079446.286 721424.456 0, 1079157.421 721419.788 0, 1078868.555 721415.138 0, 1078579.689 721410.504 0, 1078290.823 721405.888 0, 1078001.957 721401.288 0, 1077713.09 721396.706 0,
+ 1077424.223 721392.14 0, 1077135.355 721387.591 0, 1076846.488 721383.06 0, 1076557.62 721378.545 0, 1076267.366 721374.026 0, 1075979.883 721369.567 0, 1075691.015 721365.104 0, 1075402.146 721360.657 0, 1075113.277 721356.228 0, 1074824.407 721351.815 0,
+ 1074535.538 721347.42 0, 1074246.668 721343.041 0, 1073957.798 721338.68 0, 1073668.927 721334.335 0, 1073380.056 721330.008 0, 1073091.185 721325.697 0, 1072802.314 721321.404 0, 1072513.443 721317.127 0, 1072224.571 721312.868 0, 1071935.699 721308.625 0,
+ 1071646.827 721304.4 0, 1071357.954 721300.191 0, 1071069.082 721296 0, 1070780.209 721291.825 0, 1070491.336 721287.668 0, 1070202.462 721283.527 0, 1069913.588 721279.404 0, 1069624.714 721275.297 0, 1069334.454 721271.188 0, 1069255.756 726841.986 0,
+ 1069177.054 732413.054 0, 1069466.656 732417.154 0, 1069754.874 732421.251 0, 1070043.092 732425.365 0, 1070331.31 732429.496 0, 1070619.527 732433.644 0, 1070907.744 732437.809 0, 1071195.961 732441.991 0, 1071484.178 732446.19 0, 1071772.394 732450.406 0,
+ 1072060.61 732454.639 0, 1072348.826 732458.889 0, 1072637.042 732463.156 0, 1072925.257 732467.439 0, 1073213.473 732471.74 0, 1073501.688 732476.058 0, 1073789.902 732480.392 0, 1074078.117 732484.744 0, 1074366.331 732489.113 0, 1074654.545 732493.498 0,
+ 1074942.758 732497.901 0, 1075230.972 732502.32 0, 1075519.185 732506.757 0, 1075807.398 732511.21 0, 1076094.228 732515.659 0, 1076383.823 732520.168 0, 1076672.035 732524.672 0, 1076960.247 732529.193 0, 1077248.458 732533.731 0, 1077536.669 732538.286 0,
+ 1077824.88 732542.859 0, 1078113.091 732547.448 0, 1078401.302 732552.054 0, 1078689.512 732556.677 0, 1078977.722 732561.317 0, 1079265.931 732565.974 0, 1079554.141 732570.648 0, 1079842.35 732575.339 0, 1080130.559 732580.046 0, 1080418.767 732584.771 0,
+ 1080706.975 732589.513 0, 1080995.183 732594.272 0, 1081283.391 732599.047 0, 1081571.598 732603.84 0, 1081859.806 732608.65 0, 1082148.012 732613.476 0, 1082436.219 732618.32 0, 1082724.425 732623.18 0, 1083011.25 732628.034 0, 1083105.691 727057.21 0,
+ 1083200.127 721486.658 0))
+
+POLYGON ((1096844.784 732882.098 0, 1096557.971 732876.433 0, 1096269.78 732870.759 0, 1095981.588 732865.101 0, 1095693.396 732859.46 0, 1095405.204 732853.836 0, 1095117.011 732848.229 0, 1094828.818 732842.64 0, 1094540.625 732837.067 0, 1094252.431 732831.511 0,
+ 1093964.237 732825.972 0, 1093676.043 732820.449 0, 1093387.848 732814.944 0, 1093099.653 732809.456 0, 1092811.458 732803.985 0, 1092523.262 732798.531 0, 1092235.066 732793.094 0, 1091946.87 732787.673 0, 1091658.673 732782.27 0, 1091370.476 732776.884 0,
+ 1091082.279 732771.514 0, 1090794.081 732766.162 0, 1090505.883 732760.826 0, 1090217.685 732755.508 0, 1089928.107 732750.181 0, 1089641.288 732744.922 0, 1089353.089 732739.654 0, 1089064.889 732734.403 0, 1088776.69 732729.17 0, 1088488.489 732723.953 0,
+ 1088200.289 732718.753 0, 1087912.088 732713.57 0, 1087623.887 732708.404 0, 1087335.686 732703.256 0, 1087047.485 732698.124 0, 1086759.283 732693.009 0, 1086471.081 732687.911 0, 1086182.878 732682.83 0, 1085894.675 732677.766 0, 1085606.472 732672.718 0,
+ 1085318.269 732667.688 0, 1085030.065 732662.675 0, 1084741.861 732657.679 0, 1084453.657 732652.7 0, 1084165.452 732647.737 0, 1083877.248 732642.792 0, 1083589.042 732637.864 0, 1083300.837 732632.952 0, 1083011.25 732628.034 0, 1082916.805 738199.126 0,
+ 1082822.355 743770.483 0, 1083111.283 743775.39 0, 1083398.833 743780.29 0, 1083686.382 743785.207 0, 1083973.931 743790.141 0, 1084261.48 743795.092 0, 1084549.028 743800.06 0, 1084836.576 743805.045 0, 1085124.124 743810.047 0, 1085411.672 743815.065 0,
+ 1085699.219 743820.101 0, 1085986.766 743825.154 0, 1086274.313 743830.223 0, 1086561.859 743835.31 0, 1086849.405 743840.413 0, 1087136.951 743845.533 0, 1087424.496 743850.67 0, 1087712.041 743855.824 0, 1087999.586 743860.995 0, 1088287.131 743866.183 0,
+ 1088574.675 743871.388 0, 1088862.219 743876.61 0, 1089149.763 743881.849 0, 1089437.306 743887.104 0, 1089723.472 743892.352 0, 1090012.392 743897.666 0, 1090299.934 743902.973 0, 1090587.476 743908.296 0, 1090875.018 743913.636 0, 1091162.559 743918.994 0,
+ 1091450.101 743924.368 0, 1091737.641 743929.759 0, 1092025.182 743935.167 0, 1092312.722 743940.592 0, 1092600.262 743946.033 0, 1092887.801 743951.492 0, 1093175.341 743956.968 0, 1093462.88 743962.46 0, 1093750.418 743967.97 0, 1094037.956 743973.496 0,
+ 1094325.494 743979.04 0, 1094613.032 743984.6 0, 1094900.569 743990.177 0, 1095188.106 743995.771 0, 1095475.643 744001.382 0, 1095763.179 744007.01 0, 1096050.715 744012.655 0, 1096338.25 744018.317 0, 1096624.41 744023.968 0, 1096734.599 738452.901 0,
+ 1096844.784 732882.098 0))
+
+POLYGON ((1110425.694 744316.446 0, 1110139.549 744309.986 0, 1109852.031 744303.512 0, 1109564.512 744297.055 0, 1109276.992 744290.614 0, 1108989.473 744284.191 0, 1108701.953 744277.785 0, 1108414.432 744271.395 0, 1108126.912 744265.022 0, 1107839.391 744258.667 0,
+ 1107551.869 744252.328 0, 1107264.347 744246.006 0, 1106976.825 744239.701 0, 1106689.302 744233.413 0, 1106401.779 744227.142 0, 1106114.256 744220.888 0, 1105826.732 744214.651 0, 1105539.208 744208.431 0, 1105251.684 744202.227 0, 1104964.159 744196.041 0,
+ 1104676.634 744189.871 0, 1104389.108 744183.719 0, 1104101.583 744177.583 0, 1103814.056 744171.464 0, 1103525.155 744165.333 0, 1103239.003 744159.278 0, 1102951.475 744153.21 0, 1102663.948 744147.159 0, 1102376.42 744141.124 0, 1102088.891 744135.107 0,
+ 1101801.363 744129.107 0, 1101513.833 744123.124 0, 1101226.304 744117.157 0, 1100938.774 744111.208 0, 1100651.244 744105.275 0, 1100363.714 744099.359 0, 1100076.183 744093.461 0, 1099788.651 744087.579 0, 1099501.12 744081.714 0, 1099213.588 744075.866 0,
+ 1098926.056 744070.035 0, 1098638.523 744064.221 0, 1098350.99 744058.423 0, 1098063.457 744052.643 0, 1097775.923 744046.88 0, 1097488.39 744041.133 0, 1097200.855 744035.404 0, 1096913.321 744029.691 0, 1096624.41 744023.968 0, 1096514.215 749595.297 0,
+ 1096404.016 755166.883 0, 1096692.267 755172.593 0, 1096979.146 755178.292 0, 1097266.025 755184.009 0, 1097552.903 755189.742 0, 1097839.78 755195.492 0, 1098126.658 755201.259 0, 1098413.535 755207.043 0, 1098700.412 755212.844 0, 1098987.288 755218.662 0,
+ 1099274.164 755224.497 0, 1099561.04 755230.348 0, 1099847.915 755236.217 0, 1100134.79 755242.102 0, 1100421.665 755248.004 0, 1100708.539 755253.923 0, 1100995.413 755259.859 0, 1101282.287 755265.812 0, 1101569.16 755271.782 0, 1101856.033 755277.768 0,
+ 1102142.905 755283.772 0, 1102429.778 755289.792 0, 1102716.649 755295.829 0, 1103003.521 755301.883 0, 1103289.021 755307.925 0, 1103577.263 755314.042 0, 1103864.133 755320.147 0, 1104151.003 755326.269 0, 1104437.873 755332.407 0, 1104724.742 755338.563 0,
+ 1105011.611 755344.735 0, 1105298.48 755350.924 0, 1105585.348 755357.13 0, 1105872.216 755363.353 0, 1106159.084 755369.593 0, 1106445.951 755375.85 0, 1106732.818 755382.124 0, 1107019.684 755388.414 0, 1107306.55 755394.722 0, 1107593.416 755401.046 0,
+ 1107880.281 755407.387 0, 1108167.146 755413.745 0, 1108454.01 755420.12 0, 1108740.875 755426.512 0, 1109027.738 755432.921 0, 1109314.602 755439.346 0, 1109601.465 755445.789 0, 1109888.327 755452.248 0, 1110173.819 755458.693 0, 1110299.759 749887.441 0,
+ 1110425.694 744316.446 0))
+
+POLYGON ((1123942.744 755789.405 0, 1123657.269 755782.153 0, 1123370.426 755774.883 0, 1123083.582 755767.63 0, 1122796.738 755760.394 0, 1122509.893 755753.175 0, 1122223.048 755745.973 0, 1121936.203 755738.788 0, 1121649.357 755731.619 0, 1121362.511 755724.468 0,
+ 1121075.664 755717.333 0, 1120788.817 755710.215 0, 1120501.97 755703.114 0, 1120215.122 755696.03 0, 1119928.274 755688.963 0, 1119641.425 755681.913 0, 1119354.576 755674.879 0, 1119067.726 755667.863 0, 1118780.876 755660.863 0, 1118494.026 755653.88 0,
+ 1118207.175 755646.914 0, 1117920.324 755639.965 0, 1117633.472 755633.033 0, 1117346.62 755626.118 0, 1117058.398 755619.187 0, 1116772.915 755612.338 0, 1116486.061 755605.474 0, 1116199.208 755598.626 0, 1115912.354 755591.795 0, 1115625.499 755584.981 0,
+ 1115338.644 755578.184 0, 1115051.789 755571.404 0, 1114764.934 755564.641 0, 1114478.078 755557.894 0, 1114191.221 755551.165 0, 1113904.364 755544.452 0, 1113617.507 755537.756 0, 1113330.649 755531.077 0, 1113043.791 755524.416 0, 1112756.933 755517.77 0,
+ 1112470.074 755511.142 0, 1112183.215 755504.531 0, 1111896.355 755497.936 0, 1111609.495 755491.359 0, 1111322.635 755484.798 0, 1111035.774 755478.254 0, 1110748.913 755471.728 0, 1110462.052 755465.218 0, 1110173.819 755458.693 0, 1110047.874 761030.2 0,
+ 1109921.922 766601.956 0, 1110209.496 766608.466 0, 1110495.701 766614.961 0, 1110781.906 766621.473 0, 1111068.111 766628.001 0, 1111354.316 766634.547 0, 1111640.52 766641.11 0, 1111926.724 766647.689 0, 1112212.927 766654.285 0, 1112499.13 766660.898 0,
+ 1112785.332 766667.528 0, 1113071.535 766674.175 0, 1113357.736 766680.839 0, 1113643.938 766687.519 0, 1113930.139 766694.216 0, 1114216.339 766700.93 0, 1114502.539 766707.661 0, 1114788.739 766714.409 0, 1115074.939 766721.174 0, 1115361.138 766727.955 0,
+ 1115647.336 766734.754 0, 1115933.534 766741.569 0, 1116219.732 766748.401 0, 1116505.93 766755.25 0, 1116790.761 766762.083 0, 1117078.323 766768.998 0, 1117364.519 766775.898 0, 1117650.715 766782.814 0, 1117936.911 766789.747 0, 1118223.106 766796.697 0,
+ 1118509.3 766803.664 0, 1118795.494 766810.647 0, 1119081.688 766817.648 0, 1119367.881 766824.665 0, 1119654.074 766831.699 0, 1119940.267 766838.75 0, 1120226.459 766845.818 0, 1120512.65 766852.903 0, 1120798.842 766860.004 0, 1121085.032 766867.123 0,
+ 1121371.223 766874.258 0, 1121657.413 766881.41 0, 1121943.602 766888.579 0, 1122229.792 766895.765 0, 1122515.98 766902.968 0, 1122802.169 766910.187 0, 1123088.356 766917.423 0, 1123374.544 766924.676 0, 1123659.366 766931.912 0, 1123801.058 761360.533 0,
+ 1123942.744 755789.405 0))
+
+POLYGON ((1137395.823 767300.677 0, 1137111.02 767292.637 0, 1136824.854 767284.575 0, 1136538.688 767276.53 0, 1136252.521 767268.502 0, 1135966.354 767260.491 0, 1135680.186 767252.497 0, 1135394.018 767244.519 0, 1135107.849 767236.559 0, 1134821.68 767228.615 0,
+ 1134535.511 767220.688 0, 1134249.341 767212.778 0, 1133963.17 767204.885 0, 1133676.999 767197.008 0, 1133390.828 767189.149 0, 1133104.656 767181.306 0, 1132818.483 767173.48 0, 1132532.311 767165.671 0, 1132246.137 767157.879 0, 1131959.964 767150.104 0,
+ 1131673.789 767142.345 0, 1131387.615 767134.604 0, 1131101.44 767126.879 0, 1130815.264 767119.171 0, 1130527.724 767111.443 0, 1130242.912 767103.806 0, 1129956.735 767096.148 0, 1129670.557 767088.508 0, 1129384.38 767080.884 0, 1129098.201 767073.277 0,
+ 1128812.023 767065.687 0, 1128525.844 767058.114 0, 1128239.664 767050.557 0, 1127953.484 767043.018 0, 1127667.303 767035.495 0, 1127381.123 767027.989 0, 1127094.941 767020.5 0, 1126808.759 767013.028 0, 1126522.577 767005.573 0, 1126236.394 766998.134 0,
+ 1125950.211 766990.713 0, 1125664.028 766983.308 0, 1125377.844 766975.92 0, 1125091.659 766968.549 0, 1124805.475 766961.195 0, 1124519.289 766953.858 0, 1124233.104 766946.537 0, 1123946.917 766939.233 0, 1123659.366 766931.912 0, 1123517.668 772503.537 0,
+ 1123375.963 778075.406 0, 1123662.855 778082.711 0, 1123948.386 778089.997 0, 1124233.916 778097.301 0, 1124519.445 778104.622 0, 1124804.974 778111.959 0, 1125090.502 778119.313 0, 1125376.031 778126.684 0, 1125661.558 778134.072 0, 1125947.085 778141.477 0,
+ 1126232.612 778148.898 0, 1126518.139 778156.336 0, 1126803.665 778163.791 0, 1127089.19 778171.263 0, 1127374.715 778178.752 0, 1127660.24 778186.257 0, 1127945.764 778193.779 0, 1128231.288 778201.318 0, 1128516.811 778208.874 0, 1128802.334 778216.447 0,
+ 1129087.856 778224.036 0, 1129373.378 778231.643 0, 1129658.9 778239.266 0, 1129944.421 778246.906 0, 1130228.581 778254.526 0, 1130515.461 778262.236 0, 1130800.981 778269.926 0, 1131086.5 778277.633 0, 1131372.019 778285.357 0, 1131657.537 778293.098 0,
+ 1131943.055 778300.855 0, 1132228.573 778308.629 0, 1132514.09 778316.421 0, 1132799.606 778324.229 0, 1133085.122 778332.053 0, 1133370.638 778339.895 0, 1133656.153 778347.753 0, 1133941.667 778355.628 0, 1134227.182 778363.52 0, 1134512.695 778371.429 0,
+ 1134798.209 778379.354 0, 1135083.721 778387.297 0, 1135369.234 778395.256 0, 1135654.746 778403.232 0, 1135940.257 778411.225 0, 1136225.768 778419.234 0, 1136511.278 778427.261 0, 1136796.788 778435.304 0, 1137080.938 778443.325 0, 1137238.384 772871.879 0,
+ 1137395.823 767300.677 0))
+
+POLYGON ((1150784.82 778849.963 0, 1150500.691 778841.138 0, 1150215.205 778832.289 0, 1149929.718 778823.456 0, 1149644.231 778814.639 0, 1149358.744 778805.84 0, 1149073.255 778797.058 0, 1148787.767 778788.292 0, 1148502.277 778779.543 0, 1148216.788 778770.811 0,
+ 1147931.298 778762.095 0, 1147645.807 778753.397 0, 1147360.316 778744.715 0, 1147074.824 778736.05 0, 1146789.331 778727.402 0, 1146503.839 778718.771 0, 1146218.345 778710.156 0, 1145932.852 778701.558 0, 1145647.357 778692.978 0, 1145361.862 778684.413 0,
+ 1145076.367 778675.866 0, 1144790.871 778667.336 0, 1144505.375 778658.822 0, 1144219.878 778650.325 0, 1143933.022 778641.805 0, 1143648.883 778633.382 0, 1143363.385 778624.935 0, 1143077.886 778616.505 0, 1142792.387 778608.093 0, 1142506.887 778599.696 0,
+ 1142221.386 778591.317 0, 1141935.886 778582.955 0, 1141650.384 778574.609 0, 1141364.883 778566.28 0, 1141079.38 778557.968 0, 1140793.878 778549.673 0, 1140508.374 778541.394 0, 1140222.871 778533.133 0, 1139937.366 778524.888 0, 1139651.862 778516.66 0,
+ 1139366.357 778508.449 0, 1139080.851 778500.254 0, 1138795.345 778492.077 0, 1138509.838 778483.916 0, 1138224.331 778475.772 0, 1137938.823 778467.645 0, 1137653.315 778459.534 0, 1137367.807 778451.441 0, 1137080.938 778443.325 0, 1136923.486 784015.011 0,
+ 1136766.027 789586.933 0, 1137052.236 789595.029 0, 1137337.089 789603.104 0, 1137621.941 789611.196 0, 1137906.793 789619.305 0, 1138191.644 789627.43 0, 1138476.495 789635.572 0, 1138761.345 789643.731 0, 1139046.195 789651.906 0, 1139331.044 789660.099 0,
+ 1139615.893 789668.308 0, 1139900.741 789676.534 0, 1140185.589 789684.777 0, 1140470.437 789693.036 0, 1140755.284 789701.312 0, 1141040.13 789709.605 0, 1141324.976 789717.915 0, 1141609.821 789726.241 0, 1141894.666 789734.585 0, 1142179.511 789742.945 0,
+ 1142464.355 789751.321 0, 1142749.198 789759.715 0, 1143034.041 789768.125 0, 1143318.883 789776.552 0, 1143602.37 789784.956 0, 1143888.567 789793.457 0, 1144173.408 789801.934 0, 1144458.248 789810.428 0, 1144743.088 789818.939 0, 1145027.928 789827.467 0,
+ 1145312.767 789836.011 0, 1145597.605 789844.573 0, 1145882.443 789853.15 0, 1146167.28 789861.745 0, 1146452.117 789870.357 0, 1146736.954 789878.985 0, 1147021.79 789887.63 0, 1147306.625 789896.292 0, 1147591.46 789904.97 0, 1147876.294 789913.666 0,
+ 1148161.128 789922.378 0, 1148445.962 789931.107 0, 1148730.795 789939.852 0, 1149015.627 789948.615 0, 1149300.459 789957.394 0, 1149585.29 789966.19 0, 1149870.121 789975.002 0, 1150154.951 789983.832 0, 1150438.427 789992.636 0, 1150611.627 784421.181 0,
+ 1150784.82 778849.963 0))
+
+POLYGON ((1164109.626 790436.964 0, 1163826.174 790427.359 0, 1163541.37 790417.725 0, 1163256.565 790408.108 0, 1162971.76 790398.507 0, 1162686.954 790388.924 0, 1162402.147 790379.357 0, 1162117.34 790369.806 0, 1161832.533 790360.273 0, 1161547.725 790350.756 0,
+ 1161262.916 790341.256 0, 1160978.107 790331.773 0, 1160693.297 790322.306 0, 1160408.486 790312.857 0, 1160123.676 790303.424 0, 1159838.864 790294.007 0, 1159554.052 790284.608 0, 1159269.239 790275.225 0, 1158984.426 790265.859 0, 1158699.613 790256.51 0,
+ 1158414.798 790247.178 0, 1158129.984 790237.862 0, 1157845.168 790228.564 0, 1157560.352 790219.281 0, 1157274.183 790209.972 0, 1156990.719 790200.768 0, 1156705.902 790191.536 0, 1156421.084 790182.321 0, 1156136.265 790173.123 0, 1155851.446 790163.941 0,
+ 1155566.626 790154.776 0, 1155281.806 790145.628 0, 1154996.985 790136.497 0, 1154712.164 790127.383 0, 1154427.342 790118.285 0, 1154142.52 790109.204 0, 1153857.697 790100.14 0, 1153572.873 790091.093 0, 1153288.049 790082.062 0, 1153003.225 790073.048 0,
+ 1152718.4 790064.051 0, 1152433.574 790055.071 0, 1152148.748 790046.107 0, 1151863.922 790037.16 0, 1151579.095 790028.23 0, 1151294.267 790019.317 0, 1151009.439 790010.421 0, 1150724.61 790001.541 0, 1150438.427 789992.636 0, 1150265.219 795564.323 0,
+ 1150092.005 801136.239 0, 1150377.529 801145.123 0, 1150661.702 801153.983 0, 1150945.874 801162.859 0, 1151230.046 801171.751 0, 1151514.217 801180.661 0, 1151798.388 801189.587 0, 1152082.558 801198.53 0, 1152366.728 801207.489 0, 1152650.897 801216.466 0,
+ 1152935.066 801225.459 0, 1153219.234 801234.469 0, 1153503.401 801243.495 0, 1153787.568 801252.539 0, 1154071.735 801261.599 0, 1154355.901 801270.675 0, 1154640.066 801279.769 0, 1154924.231 801288.879 0, 1155208.396 801298.006 0, 1155492.559 801307.149 0,
+ 1155776.723 801316.31 0, 1156060.885 801325.487 0, 1156345.047 801334.681 0, 1156629.209 801343.891 0, 1156912.02 801353.075 0, 1157197.531 801362.362 0, 1157481.691 801371.623 0, 1157765.85 801380.9 0, 1158050.009 801390.195 0, 1158334.168 801399.505 0,
+ 1158618.325 801408.833 0, 1158902.483 801418.177 0, 1159186.639 801427.538 0, 1159470.796 801436.916 0, 1159754.951 801446.311 0, 1160039.106 801455.722 0, 1160323.261 801465.15 0, 1160607.415 801474.595 0, 1160891.568 801484.056 0, 1161175.721 801493.534 0,
+ 1161459.873 801503.029 0, 1161744.025 801512.54 0, 1162028.176 801522.069 0, 1162312.327 801531.614 0, 1162596.477 801541.176 0, 1162880.626 801550.754 0, 1163164.775 801560.349 0, 1163448.924 801569.961 0, 1163731.723 801579.544 0, 1163920.678 796008.14 0,
+ 1164109.626 790436.964 0))
+
+POLYGON ((1177370.134 802061.382 0, 1177087.36 802051 0, 1176803.24 802040.586 0, 1176519.12 802030.188 0, 1176234.998 802019.807 0, 1175950.877 802009.442 0, 1175666.754 801999.094 0, 1175382.631 801988.763 0, 1175098.507 801978.449 0, 1174814.383 801968.151 0,
+ 1174530.258 801957.871 0, 1174246.132 801947.606 0, 1173962.006 801937.359 0, 1173677.88 801927.128 0, 1173393.752 801916.914 0, 1173109.624 801906.717 0, 1172825.496 801896.537 0, 1172541.367 801886.373 0, 1172257.237 801876.226 0, 1171973.106 801866.095 0,
+ 1171688.976 801855.982 0, 1171404.844 801845.885 0, 1171120.712 801835.805 0, 1170836.579 801825.741 0, 1170551.098 801815.647 0, 1170268.312 801805.664 0, 1169984.177 801795.651 0, 1169700.042 801785.654 0, 1169415.907 801775.675 0, 1169131.77 801765.712 0,
+ 1168847.634 801755.765 0, 1168563.496 801745.835 0, 1168279.358 801735.923 0, 1167995.22 801726.026 0, 1167711.08 801716.147 0, 1167426.941 801706.284 0, 1167142.8 801696.438 0, 1166858.659 801686.609 0, 1166574.518 801676.796 0, 1166290.376 801667 0,
+ 1166006.233 801657.221 0, 1165722.09 801647.459 0, 1165437.946 801637.713 0, 1165153.802 801627.984 0, 1164869.657 801618.272 0, 1164585.511 801608.576 0, 1164301.365 801598.897 0, 1164017.219 801589.235 0, 1163731.723 801579.544 0, 1163542.76 807151.173 0,
+ 1163353.789 812723.024 0, 1163638.626 812732.693 0, 1163922.117 812742.333 0, 1164205.607 812751.989 0, 1164489.097 812761.662 0, 1164772.586 812771.352 0, 1165056.074 812781.059 0, 1165339.562 812790.782 0, 1165623.05 812800.522 0, 1165906.536 812810.278 0,
+ 1166190.022 812820.052 0, 1166473.508 812829.842 0, 1166756.993 812839.648 0, 1167040.478 812849.472 0, 1167323.962 812859.312 0, 1167607.445 812869.168 0, 1167890.928 812879.042 0, 1168174.41 812888.932 0, 1168457.891 812898.839 0, 1168741.372 812908.762 0,
+ 1169024.853 812918.702 0, 1169308.332 812928.659 0, 1169591.812 812938.632 0, 1169875.29 812948.623 0, 1170157.424 812958.582 0, 1170442.246 812968.653 0, 1170725.723 812978.693 0, 1171009.199 812988.75 0, 1171292.675 812998.824 0, 1171576.15 813008.914 0,
+ 1171859.624 813019.021 0, 1172143.098 813029.145 0, 1172426.571 813039.285 0, 1172710.044 813049.442 0, 1172993.516 813059.616 0, 1173276.988 813069.806 0, 1173560.459 813080.013 0, 1173843.929 813090.237 0, 1174127.399 813100.477 0, 1174410.868 813110.735 0,
+ 1174694.336 813121.008 0, 1174977.804 813131.299 0, 1175261.271 813141.606 0, 1175544.738 813151.93 0, 1175828.204 813162.271 0, 1176111.67 813172.628 0, 1176395.135 813183.002 0, 1176678.599 813193.392 0, 1176960.719 813203.75 0, 1177165.43 807632.456 0,
+ 1177370.134 802061.382 0))
+
+POLYGON ((1190566.237 813722.916 0, 1190284.145 813711.761 0, 1190000.711 813700.57 0, 1189717.276 813689.395 0, 1189433.841 813678.237 0, 1189150.406 813667.096 0, 1188866.969 813655.971 0, 1188583.532 813644.863 0, 1188300.095 813633.772 0, 1188016.656 813622.697 0,
+ 1187733.217 813611.639 0, 1187449.778 813600.598 0, 1187166.337 813589.573 0, 1186882.896 813578.566 0, 1186599.455 813567.574 0, 1186316.012 813556.6 0, 1186032.57 813545.642 0, 1185749.126 813534.701 0, 1185465.682 813523.776 0, 1185182.237 813512.869 0,
+ 1184898.792 813501.977 0, 1184615.346 813491.103 0, 1184331.899 813480.245 0, 1184048.451 813469.404 0, 1183763.661 813458.529 0, 1183481.555 813447.772 0, 1183198.105 813436.981 0, 1182914.656 813426.207 0, 1182631.205 813415.449 0, 1182347.754 813404.708 0,
+ 1182064.302 813393.984 0, 1181780.85 813383.276 0, 1181497.396 813372.585 0, 1181213.943 813361.911 0, 1180930.488 813351.254 0, 1180647.033 813340.613 0, 1180363.578 813329.988 0, 1180080.122 813319.381 0, 1179796.665 813308.79 0, 1179513.207 813298.216 0,
+ 1179229.749 813287.659 0, 1178946.291 813277.118 0, 1178662.831 813266.594 0, 1178379.371 813256.086 0, 1178095.911 813245.596 0, 1177812.45 813235.122 0, 1177528.988 813224.664 0, 1177245.525 813214.224 0, 1176960.719 813203.75 0, 1176756 818775.263 0,
+ 1176551.273 824346.99 0, 1176835.42 824357.439 0, 1177118.227 824367.855 0, 1177401.033 824378.288 0, 1177683.838 824388.738 0, 1177966.643 824399.205 0, 1178249.447 824409.688 0, 1178532.25 824420.187 0, 1178815.053 824430.704 0, 1179097.855 824441.237 0,
+ 1179380.657 824451.786 0, 1179663.458 824462.353 0, 1179946.258 824472.936 0, 1180229.058 824483.535 0, 1180511.857 824494.152 0, 1180794.655 824504.784 0, 1181077.453 824515.434 0, 1181360.251 824526.1 0, 1181643.047 824536.783 0, 1181925.843 824547.482 0,
+ 1182208.638 824558.199 0, 1182491.433 824568.931 0, 1182774.227 824579.681 0, 1183057.021 824590.447 0, 1183338.475 824601.178 0, 1183622.606 824612.029 0, 1183905.397 824622.845 0, 1184188.188 824633.677 0, 1184470.978 824644.527 0, 1184753.768 824655.393 0,
+ 1185036.557 824666.275 0, 1185319.345 824677.174 0, 1185602.133 824688.09 0, 1185884.92 824699.023 0, 1186167.706 824709.972 0, 1186450.492 824720.938 0, 1186733.277 824731.92 0, 1187016.062 824742.919 0, 1187298.846 824753.935 0, 1187581.629 824764.967 0,
+ 1187864.411 824776.016 0, 1188147.193 824787.082 0, 1188429.975 824798.164 0, 1188712.755 824809.263 0, 1188995.535 824820.379 0, 1189278.314 824831.511 0, 1189561.093 824842.66 0, 1189843.871 824853.825 0, 1190125.31 824864.954 0, 1190345.778 819293.828 0,
+ 1190566.237 813722.916 0))
+
+POLYGON ((1203697.83 825421.266 0, 1203416.421 825409.342 0, 1203133.676 825397.378 0, 1202850.93 825385.43 0, 1202568.183 825373.499 0, 1202285.436 825361.584 0, 1202002.688 825349.687 0, 1201719.939 825337.806 0, 1201437.19 825325.941 0, 1201154.439 825314.093 0,
+ 1200871.688 825302.262 0, 1200588.937 825290.447 0, 1200306.185 825278.649 0, 1200023.432 825266.868 0, 1199740.678 825255.103 0, 1199457.924 825243.355 0, 1199175.169 825231.624 0, 1198892.413 825219.909 0, 1198609.656 825208.211 0, 1198326.899 825196.53 0,
+ 1198044.142 825184.865 0, 1197761.383 825173.217 0, 1197478.624 825161.585 0, 1197195.864 825149.97 0, 1196911.767 825138.317 0, 1196630.342 825126.791 0, 1196347.58 825115.226 0, 1196064.818 825103.677 0, 1195782.054 825092.146 0, 1195499.291 825080.631 0,
+ 1195216.526 825069.132 0, 1194933.761 825057.65 0, 1194650.995 825046.185 0, 1194368.228 825034.737 0, 1194085.461 825023.305 0, 1193802.693 825011.89 0, 1193519.924 825000.491 0, 1193237.155 824989.11 0, 1192954.385 824977.744 0, 1192671.614 824966.396 0,
+ 1192388.843 824955.064 0, 1192106.071 824943.749 0, 1191823.298 824932.45 0, 1191540.525 824921.168 0, 1191257.751 824909.902 0, 1190974.976 824898.654 0, 1190692.201 824887.422 0, 1190409.425 824876.206 0, 1190125.31 824864.954 0, 1189904.835 830436.291 0,
+ 1189684.351 836007.834 0, 1189967.806 836019.06 0, 1190249.926 836030.249 0, 1190532.046 836041.455 0, 1190814.165 836052.678 0, 1191096.283 836063.917 0, 1191378.4 836075.173 0, 1191660.517 836086.446 0, 1191942.633 836097.735 0, 1192224.749 836109.04 0,
+ 1192506.863 836120.363 0, 1192788.978 836131.702 0, 1193071.091 836143.057 0, 1193353.204 836154.429 0, 1193635.316 836165.818 0, 1193917.428 836177.223 0, 1194199.538 836188.645 0, 1194481.649 836200.083 0, 1194763.758 836211.539 0, 1195045.867 836223.01 0,
+ 1195327.975 836234.499 0, 1195610.082 836246.004 0, 1195892.189 836257.525 0, 1196174.295 836269.063 0, 1196455.067 836280.563 0, 1196738.505 836292.189 0, 1197020.609 836303.777 0, 1197302.713 836315.382 0, 1197584.816 836327.003 0, 1197866.918 836338.641 0,
+ 1198149.019 836350.295 0, 1198431.119 836361.966 0, 1198713.219 836373.654 0, 1198995.319 836385.358 0, 1199277.417 836397.078 0, 1199559.515 836408.816 0, 1199841.612 836420.57 0, 1200123.709 836432.34 0, 1200405.805 836444.128 0, 1200687.9 836455.931 0,
+ 1200969.994 836467.752 0, 1201252.088 836479.589 0, 1201534.181 836491.442 0, 1201816.273 836503.313 0, 1202098.365 836515.199 0, 1202380.456 836527.103 0, 1202662.546 836539.023 0, 1202944.635 836550.959 0, 1203225.392 836562.856 0, 1203461.615 830991.958 0,
+ 1203697.83 825421.266 0))
+
+POLYGON ((1216764.811 837156.132 0, 1216484.087 837143.442 0, 1216202.032 837130.708 0, 1215919.977 837117.991 0, 1215637.921 837105.291 0, 1215355.864 837092.607 0, 1215073.806 837079.94 0, 1214791.748 837067.289 0, 1214509.689 837054.656 0, 1214227.629 837042.038 0,
+ 1213945.568 837029.438 0, 1213663.507 837016.853 0, 1213381.445 837004.286 0, 1213099.382 836991.735 0, 1212817.318 836979.201 0, 1212535.254 836966.683 0, 1212253.189 836954.182 0, 1211971.123 836941.697 0, 1211689.056 836929.229 0, 1211406.989 836916.778 0,
+ 1211124.921 836904.343 0, 1210842.853 836891.925 0, 1210560.783 836879.524 0, 1210278.713 836867.139 0, 1209995.311 836854.712 0, 1209714.57 836842.419 0, 1209432.498 836830.084 0, 1209150.425 836817.765 0, 1208868.351 836805.464 0, 1208586.277 836793.178 0,
+ 1208304.201 836780.91 0, 1208022.125 836768.658 0, 1207740.049 836756.422 0, 1207457.971 836744.203 0, 1207175.893 836732.001 0, 1206893.814 836719.815 0, 1206611.735 836707.646 0, 1206329.654 836695.494 0, 1206047.573 836683.358 0, 1205765.492 836671.239 0,
+ 1205483.409 836659.136 0, 1205201.326 836647.05 0, 1204919.242 836634.981 0, 1204637.158 836622.928 0, 1204355.072 836610.892 0, 1204072.986 836598.872 0, 1203790.9 836586.869 0, 1203508.812 836574.882 0, 1203225.392 836562.856 0, 1202989.159 842133.957 0,
+ 1202752.919 847705.258 0, 1203035.68 847717.256 0, 1203317.112 847729.215 0, 1203598.543 847741.19 0, 1203879.973 847753.182 0, 1204161.402 847765.19 0, 1204442.831 847777.215 0, 1204724.259 847789.256 0, 1205005.686 847801.314 0, 1205287.113 847813.389 0,
+ 1205568.539 847825.48 0, 1205849.964 847837.587 0, 1206131.389 847849.712 0, 1206412.812 847861.852 0, 1206694.236 847874.01 0, 1206975.658 847886.184 0, 1207257.079 847898.374 0, 1207538.5 847910.581 0, 1207819.921 847922.805 0, 1208101.34 847935.045 0,
+ 1208382.759 847947.301 0, 1208664.177 847959.575 0, 1208945.594 847971.865 0, 1209227.011 847984.171 0, 1209507.098 847996.436 0, 1209789.842 848008.833 0, 1210071.256 848021.19 0, 1210352.67 848033.562 0, 1210634.083 848045.951 0, 1210915.495 848058.357 0,
+ 1211196.906 848070.78 0, 1211478.317 848083.218 0, 1211759.727 848095.674 0, 1212041.137 848108.146 0, 1212322.545 848120.635 0, 1212603.953 848133.14 0, 1212885.36 848145.662 0, 1213166.766 848158.2 0, 1213448.172 848170.755 0, 1213729.577 848183.326 0,
+ 1214010.981 848195.914 0, 1214292.384 848208.519 0, 1214573.787 848221.14 0, 1214855.189 848233.777 0, 1215136.59 848246.432 0, 1215417.99 848259.102 0, 1215699.39 848271.79 0, 1215980.789 848284.494 0, 1216260.86 848297.154 0, 1216512.84 842726.543 0,
+ 1216764.811 837156.132 0))
+
+POLYGON ((1229767.076 848927.21 0, 1229487.039 848913.759 0, 1229205.677 848900.26 0, 1228924.315 848886.777 0, 1228642.951 848873.312 0, 1228361.587 848859.862 0, 1228080.222 848846.43 0, 1227798.856 848833.014 0, 1227517.489 848819.614 0, 1227236.122 848806.231 0,
+ 1226954.754 848792.865 0, 1226673.385 848779.515 0, 1226392.015 848766.182 0, 1226110.644 848752.865 0, 1225829.273 848739.565 0, 1225547.901 848726.281 0, 1225266.528 848713.014 0, 1224985.154 848699.764 0, 1224703.78 848686.53 0, 1224422.404 848673.313 0,
+ 1224141.028 848660.112 0, 1223859.651 848646.928 0, 1223578.274 848633.76 0, 1223296.895 848620.609 0, 1223014.191 848607.412 0, 1222734.136 848594.356 0, 1222452.756 848581.255 0, 1222171.374 848568.17 0, 1221889.992 848555.102 0, 1221608.609 848542.05 0,
+ 1221327.225 848529.015 0, 1221045.841 848515.996 0, 1220764.455 848502.994 0, 1220483.069 848490.009 0, 1220201.682 848477.04 0, 1219920.295 848464.088 0, 1219638.907 848451.152 0, 1219357.517 848438.233 0, 1219076.128 848425.33 0, 1218794.737 848412.444 0,
+ 1218513.346 848399.574 0, 1218231.953 848386.721 0, 1217950.56 848373.885 0, 1217669.167 848361.065 0, 1217387.772 848348.262 0, 1217106.377 848335.475 0, 1216824.981 848322.705 0, 1216543.585 848309.951 0, 1216260.86 848297.154 0, 1216008.872 853867.961 0,
+ 1215756.874 859438.959 0, 1216038.94 859451.726 0, 1216319.681 859464.45 0, 1216600.421 859477.191 0, 1216881.16 859489.948 0, 1217161.899 859502.721 0, 1217442.637 859515.511 0, 1217723.374 859528.317 0, 1218004.11 859541.14 0, 1218284.846 859553.98 0,
+ 1218565.581 859566.836 0, 1218846.315 859579.709 0, 1219127.048 859592.598 0, 1219407.781 859605.503 0, 1219688.513 859618.426 0, 1219969.244 859631.364 0, 1220249.974 859644.32 0, 1220530.704 859657.291 0, 1220811.432 859670.28 0, 1221092.16 859683.284 0,
+ 1221372.888 859696.306 0, 1221653.614 859709.343 0, 1221934.34 859722.398 0, 1222215.065 859735.469 0, 1222494.466 859748.494 0, 1222776.512 859761.66 0, 1223057.235 859774.78 0, 1223337.957 859787.917 0, 1223618.678 859801.071 0, 1223899.398 859814.241 0,
+ 1224180.118 859827.427 0, 1224460.837 859840.631 0, 1224741.555 859853.85 0, 1225022.272 859867.086 0, 1225302.988 859880.339 0, 1225583.704 859893.608 0, 1225864.419 859906.894 0, 1226145.133 859920.196 0, 1226425.846 859933.515 0, 1226706.559 859946.85 0,
+ 1226987.27 859960.202 0, 1227267.981 859973.57 0, 1227548.691 859986.955 0, 1227829.401 860000.356 0, 1228110.109 860013.774 0, 1228390.817 860027.208 0, 1228671.524 860040.659 0, 1228952.23 860054.126 0, 1229231.614 860067.547 0, 1229499.35 854497.283 0,
+ 1229767.076 848927.21 0))
+
+POLYGON ((1242704.525 860734.201 0, 1242425.177 860719.991 0, 1242144.51 860705.731 0, 1241863.843 860691.487 0, 1241583.174 860677.259 0, 1241302.504 860663.049 0, 1241021.834 860648.854 0, 1240741.163 860634.676 0, 1240460.491 860620.515 0, 1240179.818 860606.37 0,
+ 1239899.144 860592.242 0, 1239618.469 860578.13 0, 1239337.794 860564.035 0, 1239057.118 860549.956 0, 1238776.441 860535.894 0, 1238495.763 860521.849 0, 1238215.084 860507.82 0, 1237934.405 860493.807 0, 1237653.724 860479.811 0, 1237373.043 860465.831 0,
+ 1237092.361 860451.868 0, 1236811.679 860437.922 0, 1236530.995 860423.992 0, 1236250.31 860410.078 0, 1235968.305 860396.116 0, 1235688.939 860382.301 0, 1235408.252 860368.437 0, 1235127.564 860354.589 0, 1234846.876 860340.759 0, 1234566.187 860326.944 0,
+ 1234285.496 860313.146 0, 1234004.805 860299.365 0, 1233724.114 860285.6 0, 1233443.421 860271.852 0, 1233162.728 860258.12 0, 1232882.034 860244.405 0, 1232601.338 860230.706 0, 1232320.643 860217.024 0, 1232039.946 860203.358 0, 1231759.249 860189.709 0,
+ 1231478.55 860176.077 0, 1231197.851 860162.461 0, 1230917.152 860148.861 0, 1230636.451 860135.278 0, 1230355.749 860121.711 0, 1230075.047 860108.161 0, 1229794.344 860094.628 0, 1229513.64 860081.111 0, 1229231.614 860067.547 0, 1228963.87 865637.999 0,
+ 1228696.117 871208.636 0, 1228977.484 871222.168 0, 1229257.532 871235.654 0, 1229537.579 871249.155 0, 1229817.626 871262.674 0, 1230097.671 871276.209 0, 1230377.716 871289.76 0, 1230657.76 871303.328 0, 1230937.804 871316.912 0, 1231217.846 871330.513 0,
+ 1231497.888 871344.13 0, 1231777.929 871357.764 0, 1232057.969 871371.414 0, 1232338.008 871385.081 0, 1232618.047 871398.764 0, 1232898.084 871412.464 0, 1233178.121 871426.18 0, 1233458.157 871439.912 0, 1233738.193 871453.662 0, 1234018.227 871467.427 0,
+ 1234298.261 871481.209 0, 1234578.294 871495.008 0, 1234858.326 871508.823 0, 1235138.357 871522.654 0, 1235417.07 871536.437 0, 1235698.417 871550.367 0, 1235978.445 871564.248 0, 1236258.473 871578.145 0, 1236538.501 871592.059 0, 1236818.527 871605.99 0,
+ 1237098.552 871619.937 0, 1237378.577 871633.9 0, 1237658.601 871647.88 0, 1237938.624 871661.876 0, 1238218.646 871675.889 0, 1238498.667 871689.918 0, 1238778.688 871703.964 0, 1239058.708 871718.027 0, 1239338.726 871732.105 0, 1239618.745 871746.201 0,
+ 1239898.762 871760.312 0, 1240178.778 871774.44 0, 1240458.794 871788.585 0, 1240738.808 871802.746 0, 1241018.822 871816.924 0, 1241298.835 871831.118 0, 1241578.848 871845.329 0, 1241858.859 871859.556 0, 1242137.553 871873.732 0, 1242421.044 866303.874 0,
+ 1242704.525 860734.201 0))
+
+POLYGON ((1255577.058 872576.801 0, 1255298.402 872561.837 0, 1255018.432 872546.819 0, 1254738.461 872531.817 0, 1254458.489 872516.832 0, 1254178.516 872501.863 0, 1253898.543 872486.911 0, 1253618.568 872471.975 0, 1253338.593 872457.056 0, 1253058.617 872442.153 0,
+ 1252778.64 872427.267 0, 1252498.662 872412.397 0, 1252218.683 872397.544 0, 1251938.703 872382.707 0, 1251658.723 872367.887 0, 1251378.741 872353.083 0, 1251098.759 872338.295 0, 1250818.775 872323.524 0, 1250538.791 872308.77 0, 1250258.806 872294.032 0,
+ 1249978.821 872279.31 0, 1249698.834 872264.605 0, 1249418.846 872249.917 0, 1249138.858 872235.245 0, 1248857.554 872220.52 0, 1248578.879 872205.95 0, 1248298.888 872191.328 0, 1248018.896 872176.721 0, 1247738.903 872162.132 0, 1247458.909 872147.559 0,
+ 1247178.915 872133.002 0, 1246898.92 872118.462 0, 1246618.923 872103.938 0, 1246338.926 872089.431 0, 1246058.929 872074.94 0, 1245778.93 872060.466 0, 1245498.93 872046.008 0, 1245218.93 872031.566 0, 1244938.929 872017.142 0, 1244658.927 872002.733 0,
+ 1244378.924 871988.341 0, 1244098.92 871973.966 0, 1243818.915 871959.607 0, 1243538.91 871945.264 0, 1243258.903 871930.938 0, 1242978.896 871916.629 0, 1242698.888 871902.336 0, 1242418.879 871888.059 0, 1242137.553 871873.732 0, 1241854.054 877443.771 0,
+ 1241570.546 883013.986 0, 1241851.213 883028.28 0, 1242130.566 883042.523 0, 1242409.918 883056.782 0, 1242689.27 883071.058 0, 1242968.62 883085.351 0, 1243247.97 883099.659 0, 1243527.319 883113.985 0, 1243806.667 883128.327 0, 1244086.014 883142.685 0,
+ 1244365.361 883157.059 0, 1244644.706 883171.45 0, 1244924.051 883185.858 0, 1245203.395 883200.282 0, 1245482.738 883214.722 0, 1245762.08 883229.179 0, 1246041.422 883243.652 0, 1246320.762 883258.142 0, 1246600.102 883272.648 0, 1246879.441 883287.171 0,
+ 1247158.778 883301.71 0, 1247438.116 883316.266 0, 1247717.452 883330.837 0, 1247996.787 883345.426 0, 1248274.81 883359.962 0, 1248555.455 883374.652 0, 1248834.788 883389.29 0, 1249114.12 883403.944 0, 1249393.451 883418.614 0, 1249672.781 883433.301 0,
+ 1249952.111 883448.005 0, 1250231.439 883462.725 0, 1250510.767 883477.461 0, 1250790.093 883492.214 0, 1251069.419 883506.983 0, 1251348.744 883521.769 0, 1251628.068 883536.571 0, 1251907.391 883551.389 0, 1252186.714 883566.224 0, 1252466.035 883581.076 0,
+ 1252745.356 883595.944 0, 1253024.676 883610.828 0, 1253303.995 883625.729 0, 1253583.313 883640.646 0, 1253862.63 883655.58 0, 1254141.946 883670.53 0, 1254421.261 883685.496 0, 1254700.576 883700.479 0, 1254978.579 883715.408 0, 1255277.823 878146.016 0,
+ 1255577.058 872576.801 0))
+
+POLYGON ((1268384.577 884454.707 0, 1268106.615 884438.993 0, 1267827.344 884423.221 0, 1267548.072 884407.465 0, 1267268.799 884391.726 0, 1266989.525 884376.004 0, 1266710.25 884360.297 0, 1266430.975 884344.608 0, 1266151.698 884328.934 0, 1265872.421 884313.277 0,
+ 1265593.142 884297.637 0, 1265313.863 884282.013 0, 1265034.583 884266.405 0, 1264755.302 884250.814 0, 1264476.019 884235.239 0, 1264196.736 884219.681 0, 1263917.452 884204.139 0, 1263638.168 884188.614 0, 1263358.882 884173.105 0, 1263079.595 884157.612 0,
+ 1262800.308 884142.136 0, 1262521.019 884126.676 0, 1262241.73 884111.233 0, 1261962.439 884095.806 0, 1261681.839 884080.323 0, 1261403.856 884065.002 0, 1261124.563 884049.624 0, 1260845.269 884034.263 0, 1260565.974 884018.919 0, 1260286.679 884003.59 0,
+ 1260007.382 883988.279 0, 1259728.084 883972.983 0, 1259448.786 883957.705 0, 1259169.487 883942.442 0, 1258890.186 883927.196 0, 1258610.885 883911.967 0, 1258331.583 883896.753 0, 1258052.28 883881.557 0, 1257772.976 883866.377 0, 1257493.672 883851.213 0,
+ 1257214.366 883836.065 0, 1256935.06 883820.935 0, 1256655.752 883805.82 0, 1256376.444 883790.722 0, 1256097.135 883775.64 0, 1255817.825 883760.575 0, 1255538.514 883745.527 0, 1255259.202 883730.494 0, 1254978.579 883715.408 0, 1254679.325 889284.973 0,
+ 1254380.063 894854.707 0, 1254660.027 894869.758 0, 1254938.684 894884.755 0, 1255217.339 894899.768 0, 1255495.993 894914.798 0, 1255774.647 894929.844 0, 1256053.299 894944.907 0, 1256331.951 894959.986 0, 1256610.602 894975.081 0, 1256889.252 894990.193 0,
+ 1257167.901 895005.321 0, 1257446.549 895020.466 0, 1257725.197 895035.627 0, 1258003.843 895050.804 0, 1258282.489 895065.998 0, 1258561.133 895081.208 0, 1258839.777 895096.435 0, 1259118.42 895111.678 0, 1259397.062 895126.937 0, 1259675.703 895142.213 0,
+ 1259954.343 895157.505 0, 1260232.982 895172.814 0, 1260511.621 895188.139 0, 1260790.258 895203.48 0, 1261067.588 895218.766 0, 1261347.53 895234.212 0, 1261626.165 895249.603 0, 1261904.799 895265.01 0, 1262183.432 895280.433 0, 1262462.064 895295.873 0,
+ 1262740.695 895311.329 0, 1263019.325 895326.802 0, 1263297.954 895342.291 0, 1263576.582 895357.796 0, 1263855.21 895373.318 0, 1264133.836 895388.856 0, 1264412.462 895404.411 0, 1264691.087 895419.982 0, 1264969.711 895435.569 0, 1265248.333 895451.173 0,
+ 1265526.955 895466.793 0, 1265805.576 895482.43 0, 1266084.197 895498.083 0, 1266362.816 895513.752 0, 1266641.434 895529.438 0, 1266920.051 895545.14 0, 1267198.668 895560.858 0, 1267477.283 895576.593 0, 1267754.593 895592.271 0, 1268069.589 890023.405 0,
+ 1268384.577 884454.707 0))
+
+POLYGON ((1281126.985 896367.618 0, 1280849.719 896351.156 0, 1280571.149 896334.634 0, 1280292.578 896318.129 0, 1280014.006 896301.639 0, 1279735.434 896285.167 0, 1279456.86 896268.71 0, 1279178.285 896252.27 0, 1278899.709 896235.846 0, 1278621.133 896219.439 0,
+ 1278342.555 896203.048 0, 1278063.976 896186.674 0, 1277785.397 896170.316 0, 1277506.816 896153.974 0, 1277228.235 896137.649 0, 1276949.652 896121.34 0, 1276671.069 896105.047 0, 1276392.484 896088.771 0, 1276113.899 896072.511 0, 1275835.313 896056.268 0,
+ 1275556.725 896040.041 0, 1275278.137 896023.831 0, 1274999.548 896007.637 0, 1274720.958 895991.459 0, 1274441.063 895975.222 0, 1274163.775 895959.153 0, 1273885.182 895943.024 0, 1273606.588 895926.912 0, 1273327.993 895910.816 0, 1273049.397 895894.737 0,
+ 1272770.8 895878.674 0, 1272492.203 895862.627 0, 1272213.604 895846.597 0, 1271935.004 895830.583 0, 1271656.404 895814.586 0, 1271377.802 895798.605 0, 1271099.2 895782.64 0, 1270820.597 895766.692 0, 1270541.992 895750.761 0, 1270263.387 895734.845 0,
+ 1269984.781 895718.946 0, 1269706.174 895703.064 0, 1269427.566 895687.197 0, 1269148.957 895671.348 0, 1268870.347 895655.514 0, 1268591.736 895639.697 0, 1268313.124 895623.897 0, 1268034.511 895608.113 0, 1267754.593 895592.271 0, 1267439.586 901161.303 0,
+ 1267124.571 906730.495 0, 1267403.831 906746.3 0, 1267681.788 906762.047 0, 1267959.745 906777.81 0, 1268237.7 906793.59 0, 1268515.654 906809.386 0, 1268793.608 906825.199 0, 1269071.56 906841.027 0, 1269349.512 906856.873 0, 1269627.462 906872.734 0,
+ 1269905.412 906888.612 0, 1270183.361 906904.506 0, 1270461.309 906920.417 0, 1270739.255 906936.344 0, 1271017.201 906952.287 0, 1271295.146 906968.247 0, 1271573.09 906984.223 0, 1271851.034 907000.216 0, 1272128.976 907016.224 0, 1272406.917 907032.249 0,
+ 1272684.857 907048.291 0, 1272962.797 907064.349 0, 1273240.735 907080.423 0, 1273518.672 907096.514 0, 1273795.308 907112.545 0, 1274074.545 907128.744 0, 1274352.479 907144.884 0, 1274630.413 907161.04 0, 1274908.346 907177.212 0, 1275186.277 907193.401 0,
+ 1275464.208 907209.606 0, 1275742.138 907225.827 0, 1276020.067 907242.065 0, 1276297.995 907258.319 0, 1276575.922 907274.59 0, 1276853.848 907290.877 0, 1277131.773 907307.18 0, 1277409.697 907323.5 0, 1277687.62 907339.835 0, 1277965.542 907356.188 0,
+ 1278243.464 907372.556 0, 1278521.384 907388.942 0, 1278799.303 907405.343 0, 1279077.221 907421.761 0, 1279355.139 907438.195 0, 1279633.055 907454.645 0, 1279910.971 907471.112 0, 1280188.885 907487.595 0, 1280465.499 907504.018 0, 1280796.247 901935.737 0,
+ 1281126.985 896367.618 0))
+
+POLYGON ((1293804.188 908315.227 0, 1293527.62 908298.023 0, 1293249.753 908280.755 0, 1292971.885 908263.503 0, 1292694.016 908246.268 0, 1292416.146 908229.048 0, 1292138.276 908211.845 0, 1291860.404 908194.659 0, 1291582.531 908177.489 0, 1291304.657 908160.335 0,
+ 1291026.782 908143.198 0, 1290748.906 908126.077 0, 1290471.029 908108.972 0, 1290193.151 908091.883 0, 1289915.272 908074.811 0, 1289637.393 908057.756 0, 1289359.512 908040.716 0, 1289081.63 908023.694 0, 1288803.747 908006.687 0, 1288525.863 907989.697 0,
+ 1288247.978 907972.723 0, 1287970.092 907955.765 0, 1287692.205 907938.824 0, 1287414.317 907921.899 0, 1287135.13 907904.912 0, 1286858.538 907888.099 0, 1286580.648 907871.223 0, 1286302.756 907854.364 0, 1286024.863 907837.521 0, 1285746.969 907820.694 0,
+ 1285469.074 907803.884 0, 1285191.178 907787.09 0, 1284913.281 907770.312 0, 1284635.384 907753.551 0, 1284357.485 907736.806 0, 1284079.585 907720.077 0, 1283801.684 907703.365 0, 1283523.782 907686.669 0, 1283245.88 907669.99 0, 1282967.976 907653.327 0,
+ 1282690.071 907636.68 0, 1282412.166 907620.05 0, 1282134.259 907603.436 0, 1281856.351 907586.838 0, 1281578.443 907570.257 0, 1281300.533 907553.692 0, 1281022.623 907537.143 0, 1280744.711 907520.611 0, 1280465.499 907504.018 0, 1280134.741 913072.456 0,
+ 1279803.975 918641.048 0, 1280082.529 918657.602 0, 1280359.785 918674.095 0, 1280637.04 918690.604 0, 1280914.294 918707.13 0, 1281191.547 918723.673 0, 1281468.799 918740.231 0, 1281746.05 918756.806 0, 1282023.3 918773.397 0, 1282300.55 918790.005 0,
+ 1282577.798 918806.628 0, 1282855.045 918823.269 0, 1283132.291 918839.925 0, 1283409.537 918856.598 0, 1283686.781 918873.287 0, 1283964.024 918889.992 0, 1284241.267 918906.714 0, 1284518.508 918923.452 0, 1284795.748 918940.206 0, 1285072.988 918956.977 0,
+ 1285350.226 918973.764 0, 1285627.464 918990.567 0, 1285904.7 919007.387 0, 1286181.936 919024.223 0, 1286457.874 919040.996 0, 1286736.403 919057.944 0, 1287013.636 919074.829 0, 1287290.867 919091.73 0, 1287568.098 919108.647 0, 1287845.327 919125.581 0,
+ 1288122.556 919142.531 0, 1288399.783 919159.498 0, 1288677.01 919176.481 0, 1288954.235 919193.48 0, 1289231.46 919210.495 0, 1289508.683 919227.527 0, 1289785.906 919244.575 0, 1290063.127 919261.639 0, 1290340.348 919278.72 0, 1290617.567 919295.817 0,
+ 1290894.786 919312.93 0, 1291172.003 919330.06 0, 1291449.219 919347.206 0, 1291726.435 919364.368 0, 1292003.649 919381.547 0, 1292280.863 919398.742 0, 1292558.075 919415.953 0, 1292835.286 919433.181 0, 1293111.202 919450.344 0, 1293457.7 913882.709 0,
+ 1293804.188 908315.227 0))
+
+POLYGON ((1306416.091 920297.232 0, 1306140.222 920279.289 0, 1305863.06 920261.279 0, 1305585.898 920243.284 0, 1305308.734 920225.306 0, 1305031.569 920207.345 0, 1304754.403 920189.399 0, 1304477.237 920171.47 0, 1304200.069 920153.557 0, 1303922.9 920135.661 0,
+ 1303645.73 920117.781 0, 1303368.558 920099.917 0, 1303091.386 920082.069 0, 1302814.213 920064.238 0, 1302537.039 920046.423 0, 1302259.864 920028.625 0, 1301982.687 920010.843 0, 1301705.51 919993.077 0, 1301428.331 919975.327 0, 1301151.152 919957.594 0,
+ 1300873.971 919939.877 0, 1300596.79 919922.176 0, 1300319.607 919904.492 0, 1300042.423 919886.824 0, 1299763.946 919869.09 0, 1299488.053 919851.536 0, 1299210.866 919833.917 0, 1298933.678 919816.314 0, 1298656.49 919798.728 0, 1298379.3 919781.158 0,
+ 1298102.109 919763.604 0, 1297824.917 919746.066 0, 1297547.724 919728.545 0, 1297270.53 919711.04 0, 1296993.335 919693.552 0, 1296716.139 919676.079 0, 1296438.942 919658.623 0, 1296161.744 919641.184 0, 1295884.544 919623.76 0, 1295607.344 919606.353 0,
+ 1295330.143 919588.963 0, 1295052.941 919571.588 0, 1294775.738 919554.23 0, 1294498.533 919536.889 0, 1294221.328 919519.563 0, 1293944.122 919502.254 0, 1293666.914 919484.961 0, 1293389.706 919467.685 0, 1293111.202 919450.344 0, 1292764.696 925018.129 0,
+ 1292418.18 930586.06 0, 1292696.025 930603.359 0, 1292972.578 930620.595 0, 1293249.13 930637.847 0, 1293525.681 930655.115 0, 1293802.231 930672.4 0, 1294078.779 930689.7 0, 1294355.327 930707.017 0, 1294631.874 930724.351 0, 1294908.42 930741.7 0,
+ 1295184.965 930759.066 0, 1295461.508 930776.448 0, 1295738.051 930793.847 0, 1296014.593 930811.261 0, 1296291.133 930828.692 0, 1296567.673 930846.14 0, 1296844.212 930863.603 0, 1297120.749 930881.083 0, 1297397.286 930898.579 0, 1297673.821 930916.091 0,
+ 1297950.356 930933.62 0, 1298226.889 930951.165 0, 1298503.422 930968.726 0, 1298779.953 930986.303 0, 1299055.193 931003.815 0, 1299333.013 931021.507 0, 1299609.541 931039.134 0, 1299886.068 931056.776 0, 1300162.595 931074.435 0, 1300439.12 931092.11 0,
+ 1300715.644 931109.801 0, 1300992.167 931127.509 0, 1301268.689 931145.233 0, 1301545.21 931162.973 0, 1301821.73 931180.73 0, 1302098.249 931198.502 0, 1302374.767 931216.292 0, 1302651.284 931234.097 0, 1302927.799 931251.918 0, 1303204.314 931269.756 0,
+ 1303480.828 931287.61 0, 1303757.34 931305.481 0, 1304033.852 931323.368 0, 1304310.362 931341.271 0, 1304586.872 931359.19 0, 1304863.38 931377.125 0, 1305139.888 931395.077 0, 1305416.394 931413.045 0, 1305691.61 931430.946 0, 1306053.855 925864.016 0,
+ 1306416.091 920297.232 0))
+
+POLYGON ((1318962.601 932313.328 0, 1318687.434 932294.65 0, 1318410.98 932275.901 0, 1318134.524 932257.168 0, 1317858.067 932238.451 0, 1317581.61 932219.751 0, 1317305.151 932201.067 0, 1317028.691 932182.399 0, 1316752.23 932163.747 0, 1316475.768 932145.112 0,
+ 1316199.305 932126.493 0, 1315922.84 932107.89 0, 1315646.375 932089.304 0, 1315369.908 932070.734 0, 1315093.441 932052.18 0, 1314816.972 932033.642 0, 1314540.502 932015.121 0, 1314264.031 931996.616 0, 1313987.559 931978.127 0, 1313711.086 931959.654 0,
+ 1313434.612 931941.198 0, 1313158.137 931922.758 0, 1312881.661 931904.334 0, 1312605.183 931885.927 0, 1312327.417 931867.45 0, 1312052.225 931849.161 0, 1311775.745 931830.802 0, 1311499.263 931812.46 0, 1311222.78 931794.134 0, 1310946.296 931775.824 0,
+ 1310669.811 931757.53 0, 1310393.325 931739.253 0, 1310116.838 931720.992 0, 1309840.35 931702.747 0, 1309563.861 931684.519 0, 1309287.37 931666.307 0, 1309010.879 931648.111 0, 1308734.387 931629.931 0, 1308457.893 931611.768 0, 1308181.398 931593.621 0,
+ 1307904.903 931575.49 0, 1307628.406 931557.376 0, 1307351.908 931539.277 0, 1307075.409 931521.195 0, 1306798.909 931503.13 0, 1306522.409 931485.08 0, 1306245.906 931467.047 0, 1305969.403 931449.03 0, 1305691.61 931430.946 0, 1305329.356 936998.017 0,
+ 1304967.093 942565.227 0, 1305244.228 942583.268 0, 1305520.075 942601.242 0, 1305795.922 942619.233 0, 1306071.768 942637.239 0, 1306347.612 942655.262 0, 1306623.456 942673.301 0, 1306899.298 942691.357 0, 1307175.14 942709.428 0, 1307450.98 942727.516 0,
+ 1307726.819 942745.62 0, 1308002.658 942763.741 0, 1308278.495 942781.877 0, 1308554.331 942800.03 0, 1308830.166 942818.199 0, 1309106 942836.384 0, 1309381.833 942854.586 0, 1309657.665 942872.803 0, 1309933.495 942891.037 0, 1310209.325 942909.288 0,
+ 1310485.153 942927.554 0, 1310760.981 942945.837 0, 1311036.807 942964.136 0, 1311312.633 942982.451 0, 1311587.172 943000.697 0, 1311864.28 943019.13 0, 1312140.102 943037.493 0, 1312415.923 943055.874 0, 1312691.743 943074.27 0, 1312967.562 943092.682 0,
+ 1313243.38 943111.111 0, 1313519.197 943129.556 0, 1313795.012 943148.017 0, 1314070.827 943166.495 0, 1314346.64 943184.989 0, 1314622.453 943203.498 0, 1314898.264 943222.025 0, 1315174.074 943240.567 0, 1315449.883 943259.126 0, 1315725.691 943277.701 0,
+ 1316001.498 943296.292 0, 1316277.304 943314.899 0, 1316553.108 943333.523 0, 1316828.912 943352.162 0, 1317104.715 943370.818 0, 1317380.516 943389.491 0, 1317656.316 943408.179 0, 1317932.115 943426.884 0, 1318206.63 943445.518 0, 1318584.62 937879.354 0,
+ 1318962.601 932313.328 0))
+
+POLYGON ((1331443.627 944363.209 0, 1331169.164 944343.8 0, 1330893.419 944324.316 0, 1330617.673 944304.849 0, 1330341.925 944285.397 0, 1330066.176 944265.962 0, 1329790.427 944246.543 0, 1329514.676 944227.14 0, 1329238.923 944207.754 0, 1328963.17 944188.384 0,
+ 1328687.416 944169.03 0, 1328411.66 944149.692 0, 1328135.904 944130.37 0, 1327860.146 944111.065 0, 1327584.387 944091.776 0, 1327308.627 944072.503 0, 1327032.866 944053.246 0, 1326757.103 944034.006 0, 1326481.34 944014.782 0, 1326205.575 943995.574 0,
+ 1325929.809 943976.382 0, 1325654.042 943957.207 0, 1325378.274 943938.048 0, 1325102.505 943918.905 0, 1324825.453 943899.689 0, 1324550.964 943880.667 0, 1324275.191 943861.573 0, 1323999.418 943842.495 0, 1323723.643 943823.433 0, 1323447.867 943804.387 0,
+ 1323172.09 943785.358 0, 1322896.312 943766.345 0, 1322620.533 943747.348 0, 1322344.752 943728.367 0, 1322068.971 943709.403 0, 1321793.188 943690.455 0, 1321517.404 943671.523 0, 1321241.62 943652.607 0, 1320965.834 943633.707 0, 1320690.047 943614.824 0,
+ 1320414.259 943595.957 0, 1320138.469 943577.106 0, 1319862.679 943558.272 0, 1319586.887 943539.453 0, 1319311.095 943520.651 0, 1319035.301 943501.865 0, 1318759.506 943483.095 0, 1318483.711 943464.342 0, 1318206.63 943445.518 0, 1317828.631 949011.816 0,
+ 1317450.623 954578.243 0, 1317727.045 954597.023 0, 1318002.186 954615.732 0, 1318277.325 954634.457 0, 1318552.464 954653.198 0, 1318827.601 954671.956 0, 1319102.737 954690.729 0, 1319377.872 954709.519 0, 1319653.006 954728.325 0, 1319928.139 954747.148 0,
+ 1320203.271 954765.986 0, 1320478.402 954784.841 0, 1320753.531 954803.711 0, 1321028.66 954822.598 0, 1321303.787 954841.502 0, 1321578.914 954860.421 0, 1321854.039 954879.357 0, 1322129.163 954898.308 0, 1322404.286 954917.276 0, 1322679.407 954936.261 0,
+ 1322954.528 954955.261 0, 1323229.648 954974.278 0, 1323504.766 954993.31 0, 1323779.883 955012.359 0, 1324053.72 955031.336 0, 1324330.115 955050.506 0, 1324605.229 955069.603 0, 1324880.341 955088.717 0, 1325155.453 955107.847 0, 1325430.564 955126.993 0,
+ 1325705.673 955146.155 0, 1325980.781 955165.334 0, 1326255.889 955184.528 0, 1326530.995 955203.739 0, 1326806.1 955222.966 0, 1327081.203 955242.21 0, 1327356.306 955261.469 0, 1327631.408 955280.745 0, 1327906.508 955300.036 0, 1328181.607 955319.344 0,
+ 1328456.705 955338.669 0, 1328731.802 955358.009 0, 1329006.898 955377.366 0, 1329281.993 955396.738 0, 1329557.086 955416.127 0, 1329832.179 955435.533 0, 1330107.27 955454.954 0, 1330382.36 955474.392 0, 1330656.171 955493.755 0, 1331049.904 949928.417 0,
+ 1331443.627 944363.209 0))
+
+POLYGON ((1343859.08 956446.571 0, 1343585.323 956426.434 0, 1343310.289 956406.219 0, 1343035.254 956386.021 0, 1342760.217 956365.838 0, 1342485.179 956345.672 0, 1342210.141 956325.522 0, 1341935.101 956305.389 0, 1341660.059 956285.271 0, 1341385.017 956265.17 0,
+ 1341109.973 956245.085 0, 1340834.928 956225.016 0, 1340559.883 956204.963 0, 1340284.835 956184.926 0, 1340009.787 956164.906 0, 1339734.738 956144.902 0, 1339459.687 956124.914 0, 1339184.635 956104.942 0, 1338909.582 956084.986 0, 1338634.528 956065.047 0,
+ 1338359.472 956045.124 0, 1338084.416 956025.216 0, 1337809.358 956005.326 0, 1337534.299 955985.451 0, 1337257.962 955965.5 0, 1336984.178 955945.75 0, 1336709.115 955925.924 0, 1336434.052 955906.114 0, 1336158.987 955886.32 0, 1335883.921 955866.543 0,
+ 1335608.854 955846.781 0, 1335333.786 955827.036 0, 1335058.717 955807.307 0, 1334783.646 955787.594 0, 1334508.574 955767.898 0, 1334233.502 955748.217 0, 1333958.427 955728.553 0, 1333683.352 955708.905 0, 1333408.276 955689.273 0, 1333133.198 955669.658 0,
+ 1332858.12 955650.058 0, 1332583.04 955630.475 0, 1332307.959 955610.908 0, 1332032.877 955591.357 0, 1331757.794 955571.822 0, 1331482.709 955552.304 0, 1331207.624 955532.801 0, 1330932.537 955513.315 0, 1330656.171 955493.755 0, 1330262.429 961059.219 0,
+ 1329868.679 966624.805 0, 1330144.387 966644.319 0, 1330418.819 966663.758 0, 1330693.249 966683.214 0, 1330967.678 966702.686 0, 1331242.106 966722.174 0, 1331516.533 966741.679 0, 1331790.959 966761.199 0, 1332065.384 966780.736 0, 1332339.807 966800.289 0,
+ 1332614.23 966819.857 0, 1332888.651 966839.443 0, 1333163.071 966859.044 0, 1333437.49 966878.661 0, 1333711.908 966898.295 0, 1333986.324 966917.944 0, 1334260.74 966937.61 0, 1334535.154 966957.292 0, 1334809.567 966976.99 0, 1335083.979 966996.705 0,
+ 1335358.39 967016.435 0, 1335632.799 967036.182 0, 1335907.208 967055.945 0, 1336181.615 967075.723 0, 1336454.747 967095.427 0, 1336730.426 967115.33 0, 1337004.83 967135.157 0, 1337279.233 967155.001 0, 1337553.634 967174.86 0, 1337828.035 967194.736 0,
+ 1338102.434 967214.628 0, 1338376.832 967234.536 0, 1338651.229 967254.46 0, 1338925.624 967274.401 0, 1339200.019 967294.357 0, 1339474.412 967314.33 0, 1339748.804 967334.319 0, 1340023.195 967354.324 0, 1340297.585 967374.345 0, 1340571.973 967394.382 0,
+ 1340846.361 967414.436 0, 1341120.747 967434.506 0, 1341395.132 967454.591 0, 1341669.516 967474.693 0, 1341943.898 967494.811 0, 1342218.28 967514.945 0, 1342492.66 967535.096 0, 1342767.039 967555.262 0, 1343040.144 967575.351 0, 1343449.617 962010.9 0,
+ 1343859.08 956446.571 0))
+
+POLYGON ((1356208.871 968563.106 0, 1355935.822 968542.245 0, 1355661.501 968521.304 0, 1355387.179 968500.378 0, 1355112.855 968479.469 0, 1354838.53 968458.576 0, 1354564.204 968437.699 0, 1354289.877 968416.838 0, 1354015.549 968395.993 0, 1353741.219 968375.165 0,
+ 1353466.888 968354.352 0, 1353192.556 968333.556 0, 1352918.223 968312.776 0, 1352643.888 968292.012 0, 1352369.553 968271.264 0, 1352095.216 968250.532 0, 1351820.878 968229.817 0, 1351546.538 968209.117 0, 1351272.197 968188.434 0, 1350997.856 968167.767 0,
+ 1350723.513 968147.116 0, 1350449.168 968126.481 0, 1350174.823 968105.862 0, 1349900.476 968085.26 0, 1349624.857 968064.578 0, 1349351.779 968044.103 0, 1349077.429 968023.549 0, 1348803.077 968003.011 0, 1348528.724 967982.49 0, 1348254.37 967961.984 0,
+ 1347980.015 967941.494 0, 1347705.659 967921.021 0, 1347431.301 967900.564 0, 1347156.943 967880.123 0, 1346882.583 967859.698 0, 1346608.221 967839.289 0, 1346333.859 967818.897 0, 1346059.495 967798.52 0, 1345785.131 967778.16 0, 1345510.765 967757.816 0,
+ 1345236.397 967737.488 0, 1344962.029 967717.176 0, 1344687.66 967696.88 0, 1344413.289 967676.601 0, 1344138.917 967656.337 0, 1343864.544 967636.09 0, 1343590.169 967615.859 0, 1343315.794 967595.644 0, 1343040.144 967575.351 0, 1342630.663 973139.921 0,
+ 1342221.174 978704.604 0, 1342496.165 978724.848 0, 1342769.886 978745.015 0, 1343043.605 978765.198 0, 1343317.323 978785.397 0, 1343591.04 978805.612 0, 1343864.756 978825.843 0, 1344138.47 978846.09 0, 1344412.184 978866.354 0, 1344685.896 978886.633 0,
+ 1344959.607 978906.929 0, 1345233.316 978927.24 0, 1345507.025 978947.568 0, 1345780.732 978967.912 0, 1346054.439 978988.272 0, 1346328.144 979008.648 0, 1346601.847 979029.041 0, 1346875.55 979049.449 0, 1347149.251 979069.873 0, 1347422.951 979090.314 0,
+ 1347696.65 979110.771 0, 1347970.348 979131.243 0, 1348244.045 979151.732 0, 1348517.74 979172.237 0, 1348790.166 979192.663 0, 1349065.127 979213.296 0, 1349338.819 979233.849 0, 1349612.509 979254.418 0, 1349886.199 979275.004 0, 1350159.887 979295.606 0,
+ 1350433.574 979316.223 0, 1350707.259 979336.857 0, 1350980.944 979357.507 0, 1351254.627 979378.173 0, 1351528.309 979398.856 0, 1351801.99 979419.554 0, 1352075.669 979440.268 0, 1352349.348 979460.999 0, 1352623.025 979481.745 0, 1352896.701 979502.508 0,
+ 1353170.376 979523.287 0, 1353444.049 979544.082 0, 1353717.721 979564.893 0, 1353991.392 979585.72 0, 1354265.062 979606.564 0, 1354538.731 979627.423 0, 1354812.398 979648.298 0, 1355086.064 979669.19 0, 1355358.462 979690.001 0, 1355783.671 974126.496 0,
+ 1356208.871 968563.106 0))
+
+POLYGON ((1368492.914 980712.509 0, 1368220.574 980690.928 0, 1367946.968 980669.263 0, 1367673.36 980647.615 0, 1367399.752 980625.982 0, 1367126.142 980604.366 0, 1366852.531 980582.766 0, 1366578.919 980561.182 0, 1366305.305 980539.614 0, 1366031.69 980518.062 0,
+ 1365758.074 980496.526 0, 1365484.456 980475.006 0, 1365210.838 980453.502 0, 1364937.218 980432.015 0, 1364663.597 980410.543 0, 1364389.974 980389.088 0, 1364116.35 980367.649 0, 1363842.725 980346.226 0, 1363569.099 980324.819 0, 1363295.471 980303.428 0,
+ 1363021.843 980282.053 0, 1362748.213 980260.694 0, 1362474.581 980239.352 0, 1362200.949 980218.025 0, 1361926.049 980196.616 0, 1361653.68 980175.421 0, 1361380.043 980154.142 0, 1361106.406 980132.88 0, 1360832.767 980111.634 0, 1360559.127 980090.405 0,
+ 1360285.486 980069.191 0, 1360011.843 980047.993 0, 1359738.199 980026.812 0, 1359464.554 980005.646 0, 1359190.908 979984.497 0, 1358917.26 979963.364 0, 1358643.611 979942.247 0, 1358369.961 979921.146 0, 1358096.31 979900.061 0, 1357822.658 979878.992 0,
+ 1357549.004 979857.939 0, 1357275.349 979836.903 0, 1357001.693 979815.882 0, 1356728.035 979794.878 0, 1356454.376 979773.89 0, 1356180.716 979752.918 0, 1355907.055 979731.962 0, 1355633.393 979711.022 0, 1355358.462 979690.001 0, 1354933.244 985253.615 0,
+ 1354508.019 990817.336 0, 1354782.292 990838.306 0, 1355055.299 990859.196 0, 1355328.305 990880.102 0, 1355601.31 990901.024 0, 1355874.314 990921.962 0, 1356147.317 990942.916 0, 1356420.318 990963.886 0, 1356693.318 990984.873 0, 1356966.317 991005.875 0,
+ 1357239.315 991026.893 0, 1357512.311 991047.928 0, 1357785.306 991068.978 0, 1358058.3 991090.045 0, 1358331.293 991111.127 0, 1358604.284 991132.226 0, 1358877.274 991153.341 0, 1359150.263 991174.472 0, 1359423.251 991195.619 0, 1359696.238 991216.782 0,
+ 1359969.223 991237.961 0, 1360242.207 991259.156 0, 1360515.189 991280.367 0, 1360788.171 991301.594 0, 1361059.888 991322.739 0, 1361334.13 991344.097 0, 1361607.108 991365.372 0, 1361880.084 991386.664 0, 1362153.059 991407.971 0, 1362426.033 991429.295 0,
+ 1362699.006 991450.635 0, 1362971.978 991471.991 0, 1363244.948 991493.362 0, 1363517.917 991514.75 0, 1363790.884 991536.154 0, 1364063.851 991557.574 0, 1364336.816 991579.01 0, 1364609.78 991600.463 0, 1364882.742 991621.931 0, 1365155.704 991643.415 0,
+ 1365428.664 991664.915 0, 1365701.623 991686.432 0, 1365974.58 991707.964 0, 1366247.537 991729.513 0, 1366520.492 991751.078 0, 1366793.445 991772.658 0, 1367066.398 991794.255 0, 1367339.349 991815.868 0, 1367611.037 991837.397 0, 1368051.979 986274.9 0,
+ 1368492.914 980712.509 0))
+
+POLYGON ((1380711.121 992894.472 0, 1380439.493 992872.175 0, 1380166.604 992849.791 0, 1379893.714 992827.424 0, 1379620.822 992805.072 0, 1379347.929 992782.736 0, 1379075.035 992760.416 0, 1378802.139 992738.113 0, 1378529.242 992715.825 0, 1378256.344 992693.554 0,
+ 1377983.444 992671.299 0, 1377710.543 992649.059 0, 1377437.641 992626.836 0, 1377164.738 992604.629 0, 1376891.833 992582.438 0, 1376618.927 992560.263 0, 1376346.019 992538.104 0, 1376073.111 992515.961 0, 1375800.201 992493.834 0, 1375527.289 992471.723 0,
+ 1375254.377 992449.628 0, 1374981.463 992427.549 0, 1374708.547 992405.487 0, 1374435.631 992383.44 0, 1374161.452 992361.308 0, 1373889.794 992339.395 0, 1373616.874 992317.397 0, 1373343.952 992295.415 0, 1373071.029 992273.448 0, 1372798.105 992251.498 0,
+ 1372525.179 992229.564 0, 1372252.252 992207.646 0, 1371979.324 992185.744 0, 1371706.395 992163.858 0, 1371433.464 992141.988 0, 1371160.532 992120.134 0, 1370887.599 992098.297 0, 1370614.664 992076.475 0, 1370341.728 992054.669 0, 1370068.791 992032.88 0,
+ 1369795.852 992011.106 0, 1369522.913 991989.349 0, 1369249.972 991967.608 0, 1368977.029 991945.882 0, 1368704.086 991924.173 0, 1368431.141 991902.48 0, 1368158.195 991880.803 0, 1367885.248 991859.142 0, 1367611.037 991837.397 0, 1367170.086 997399.996 0,
+ 1366729.128 1002962.693 0, 1367002.681 1002984.386 0, 1367274.973 1003005.995 0, 1367547.265 1003027.62 0, 1367819.555 1003049.261 0, 1368091.844 1003070.918 0, 1368364.131 1003092.591 0, 1368636.417 1003114.28 0, 1368908.702 1003135.986 0, 1369180.986 1003157.707 0,
+ 1369453.268 1003179.444 0, 1369725.549 1003201.197 0, 1369997.829 1003222.967 0, 1370270.108 1003244.752 0, 1370542.385 1003266.554 0, 1370814.661 1003288.371 0, 1371086.936 1003310.204 0, 1371359.209 1003332.054 0, 1371631.481 1003353.919 0, 1371903.752 1003375.801 0,
+ 1372176.021 1003397.698 0, 1372448.29 1003419.612 0, 1372720.557 1003441.541 0, 1372992.822 1003463.487 0, 1373263.829 1003485.347 0, 1373537.35 1003507.426 0, 1373809.611 1003529.42 0, 1374081.872 1003551.43 0, 1374354.131 1003573.455 0, 1374626.389 1003595.497 0,
+ 1374898.646 1003617.555 0, 1375170.901 1003639.629 0, 1375443.155 1003661.719 0, 1375715.408 1003683.824 0, 1375987.659 1003705.946 0, 1376259.909 1003728.084 0, 1376532.158 1003750.238 0, 1376804.405 1003772.408 0, 1377076.652 1003794.594 0, 1377348.896 1003816.796 0,
+ 1377621.14 1003839.014 0, 1377893.382 1003861.248 0, 1378165.623 1003883.498 0, 1378437.863 1003905.764 0, 1378710.101 1003928.046 0, 1378982.338 1003950.345 0, 1379254.574 1003972.659 0, 1379526.808 1003994.989 0, 1379797.785 1004017.232 0, 1380254.457 998455.803 0,
+ 1380711.121 992894.472 0))
+
+POLYGON ((1392863.41 1005108.688 0, 1392592.496 1005085.679 0, 1392320.325 1005062.58 0, 1392048.154 1005039.497 0, 1391775.981 1005016.43 0, 1391503.807 1004993.379 0, 1391231.631 1004970.344 0, 1390959.454 1004947.324 0, 1390687.276 1004924.321 0, 1390415.096 1004901.334 0,
+ 1390142.915 1004878.363 0, 1389870.732 1004855.408 0, 1389598.549 1004832.469 0, 1389326.363 1004809.546 0, 1389054.177 1004786.639 0, 1388781.989 1004763.748 0, 1388509.8 1004740.873 0, 1388237.61 1004718.014 0, 1387965.418 1004695.172 0, 1387693.224 1004672.345 0,
+ 1387421.03 1004649.534 0, 1387148.834 1004626.739 0, 1386876.637 1004603.96 0, 1386604.438 1004581.197 0, 1386330.983 1004558.346 0, 1386060.037 1004535.72 0, 1385787.835 1004513.005 0, 1385515.631 1004490.307 0, 1385243.425 1004467.624 0, 1384971.219 1004444.957 0,
+ 1384699.011 1004422.307 0, 1384426.802 1004399.672 0, 1384154.591 1004377.053 0, 1383882.379 1004354.451 0, 1383610.166 1004331.864 0, 1383337.951 1004309.294 0, 1383065.735 1004286.739 0, 1382793.518 1004264.201 0, 1382521.3 1004241.678 0, 1382249.08 1004219.172 0,
+ 1381976.859 1004196.682 0, 1381704.636 1004174.207 0, 1381432.412 1004151.749 0, 1381160.187 1004129.306 0, 1380887.961 1004106.88 0, 1380615.733 1004084.47 0, 1380343.504 1004062.076 0, 1380071.273 1004039.697 0, 1379797.785 1004017.232 0, 1379341.105 1009578.755 0,
+ 1378884.418 1015140.367 0, 1379157.248 1015162.779 0, 1379428.824 1015185.103 0, 1379700.399 1015207.443 0, 1379971.972 1015229.8 0, 1380243.543 1015252.172 0, 1380515.114 1015274.561 0, 1380786.683 1015296.965 0, 1381058.251 1015319.385 0, 1381329.818 1015341.822 0,
+ 1381601.383 1015364.274 0, 1381872.947 1015386.742 0, 1382144.509 1015409.227 0, 1382416.07 1015431.727 0, 1382687.63 1015454.243 0, 1382959.189 1015476.775 0, 1383230.746 1015499.323 0, 1383502.302 1015521.888 0, 1383773.857 1015544.468 0, 1384045.41 1015567.064 0,
+ 1384316.962 1015589.676 0, 1384588.513 1015612.304 0, 1384860.062 1015634.948 0, 1385131.61 1015657.608 0, 1385401.904 1015680.18 0, 1385674.702 1015702.977 0, 1385946.246 1015725.685 0, 1386217.789 1015748.409 0, 1386489.33 1015771.149 0, 1386760.87 1015793.905 0,
+ 1387032.408 1015816.677 0, 1387303.946 1015839.465 0, 1387575.482 1015862.268 0, 1387847.016 1015885.088 0, 1388118.549 1015907.924 0, 1388390.081 1015930.776 0, 1388661.612 1015953.644 0, 1388933.141 1015976.528 0, 1389204.669 1015999.428 0, 1389476.195 1016022.344 0,
+ 1389747.72 1016045.275 0, 1390019.244 1016068.223 0, 1390290.767 1016091.187 0, 1390562.288 1016114.167 0, 1390833.808 1016137.162 0, 1391105.326 1016160.174 0, 1391376.843 1016183.202 0, 1391648.359 1016206.245 0, 1391918.622 1016229.199 0, 1392391.02 1010668.898 0,
+ 1392863.41 1005108.688 0))
+
+POLYGON ((871244.356 566544.641 0, 870947.837 566552.191 0, 870649.856 566559.796 0, 870351.876 566567.418 0, 870053.897 566575.057 0, 869755.918 566582.714 0, 869457.939 566590.389 0, 869159.961 566598.081 0, 868861.983 566605.791 0, 868564.005 566613.518 0,
+ 868266.029 566621.263 0, 867968.052 566629.025 0, 867670.076 566636.805 0, 867372.101 566644.603 0, 867074.125 566652.418 0, 866776.151 566660.25 0, 866478.177 566668.1 0, 866180.203 566675.968 0, 865882.23 566683.853 0, 865584.257 566691.756 0,
+ 865286.285 566699.676 0, 864988.313 566707.614 0, 864690.341 566715.569 0, 864392.371 566723.542 0, 864092.937 566731.571 0, 863796.43 566739.54 0, 863498.461 566747.566 0, 863200.492 566755.609 0, 862902.523 566763.669 0, 862604.555 566771.747 0,
+ 862306.588 566779.843 0, 862008.62 566787.956 0, 861710.654 566796.086 0, 861412.688 566804.235 0, 861114.722 566812.4 0, 860816.757 566820.584 0, 860518.792 566828.785 0, 860220.828 566837.003 0, 859922.864 566845.239 0, 859624.901 566853.492 0,
+ 859326.938 566861.763 0, 859028.976 566870.052 0, 858731.014 566878.358 0, 858433.053 566886.681 0, 858135.092 566895.022 0, 857837.132 566903.381 0, 857539.172 566911.757 0, 857241.212 566920.151 0, 856941.789 566928.604 0, 857098.916 572488.763 0,
+ 857256.052 578049.287 0, 857554.818 578040.853 0, 857852.123 578032.477 0, 858149.428 578024.12 0, 858446.734 578015.779 0, 858744.04 578007.456 0, 859041.347 577999.151 0, 859338.654 577990.863 0, 859635.962 577982.593 0, 859933.27 577974.34 0,
+ 860230.579 577966.105 0, 860527.888 577957.887 0, 860825.198 577949.687 0, 861122.508 577941.504 0, 861419.819 577933.339 0, 861717.13 577925.191 0, 862014.441 577917.061 0, 862311.753 577908.948 0, 862609.066 577900.853 0, 862906.379 577892.775 0,
+ 863203.692 577884.714 0, 863501.006 577876.672 0, 863798.321 577868.646 0, 864095.636 577860.638 0, 864391.491 577852.687 0, 864690.267 577844.675 0, 864987.583 577836.72 0, 865284.9 577828.782 0, 865582.217 577820.862 0, 865879.535 577812.959 0,
+ 866176.853 577805.074 0, 866474.172 577797.206 0, 866771.491 577789.356 0, 867068.811 577781.523 0, 867366.131 577773.708 0, 867663.451 577765.91 0, 867960.772 577758.129 0, 868258.094 577750.367 0, 868555.415 577742.621 0, 868852.738 577734.893 0,
+ 869150.061 577727.183 0, 869447.384 577719.49 0, 869744.707 577711.815 0, 870042.032 577704.157 0, 870339.356 577696.517 0, 870636.681 577688.894 0, 870934.007 577681.289 0, 871231.333 577673.701 0, 871527.2 577666.168 0, 871385.773 572105.222 0,
+ 871244.356 566544.641 0))
+
+POLYGON ((885799.373 577323.369 0, 885503.483 577330.066 0, 885206.137 577336.814 0, 884908.791 577343.579 0, 884611.446 577350.362 0, 884314.101 577357.162 0, 884016.756 577363.98 0, 883719.412 577370.815 0, 883422.068 577377.668 0, 883124.725 577384.538 0,
+ 882827.382 577391.426 0, 882530.039 577398.332 0, 882232.697 577405.254 0, 881935.355 577412.195 0, 881638.014 577419.152 0, 881340.673 577426.128 0, 881043.333 577433.121 0, 880745.993 577440.131 0, 880448.653 577447.159 0, 880151.314 577454.204 0,
+ 879853.975 577461.267 0, 879556.636 577468.347 0, 879259.298 577475.445 0, 878961.961 577482.56 0, 878663.165 577489.728 0, 878367.287 577496.843 0, 878069.95 577504.011 0, 877772.614 577511.196 0, 877475.279 577518.399 0, 877177.944 577525.62 0,
+ 876880.609 577532.857 0, 876583.275 577540.113 0, 876285.941 577547.386 0, 875988.608 577554.676 0, 875691.275 577561.984 0, 875393.942 577569.309 0, 875096.61 577576.652 0, 874799.278 577584.012 0, 874501.947 577591.39 0, 874204.616 577598.785 0,
+ 873907.286 577606.198 0, 873609.956 577613.628 0, 873312.627 577621.076 0, 873015.298 577628.541 0, 872717.969 577636.024 0, 872420.641 577643.525 0, 872123.313 577651.042 0, 871825.986 577658.578 0, 871527.2 577666.168 0, 871668.636 583227.475 0,
+ 871810.081 588789.14 0, 872108.209 588781.567 0, 872404.882 588774.048 0, 872701.555 588766.547 0, 872998.228 588759.063 0, 873294.902 588751.597 0, 873591.576 588744.148 0, 873888.251 588736.716 0, 874184.926 588729.302 0, 874481.602 588721.906 0,
+ 874778.278 588714.527 0, 875074.955 588707.165 0, 875371.632 588699.821 0, 875668.309 588692.495 0, 875964.987 588685.185 0, 876261.665 588677.894 0, 876558.344 588670.619 0, 876855.023 588663.363 0, 877151.703 588656.123 0, 877448.383 588648.901 0,
+ 877745.063 588641.697 0, 878041.744 588634.51 0, 878338.425 588627.341 0, 878635.107 588620.189 0, 878930.334 588613.089 0, 879228.471 588605.937 0, 879525.154 588598.837 0, 879821.837 588591.755 0, 880118.521 588584.69 0, 880415.205 588577.643 0,
+ 880711.89 588570.613 0, 881008.575 588563.601 0, 881305.26 588556.606 0, 881601.946 588549.629 0, 881898.632 588542.669 0, 882195.319 588535.726 0, 882492.006 588528.801 0, 882788.694 588521.894 0, 883085.381 588515.004 0, 883382.07 588508.131 0,
+ 883678.758 588501.276 0, 883975.447 588494.438 0, 884272.137 588487.618 0, 884568.827 588480.815 0, 884865.517 588474.03 0, 885162.208 588467.262 0, 885458.899 588460.511 0, 885755.59 588453.779 0, 886050.828 588447.096 0, 885925.097 582885.053 0,
+ 885799.373 577323.369 0))
+
+POLYGON ((900292.485 588145.286 0, 899997.227 588151.134 0, 899700.518 588157.029 0, 899403.809 588162.941 0, 899107.1 588168.871 0, 898810.392 588174.818 0, 898513.684 588180.783 0, 898216.976 588186.765 0, 897920.269 588192.764 0, 897623.562 588198.781 0,
+ 897326.856 588204.815 0, 897030.15 588210.867 0, 896733.444 588216.937 0, 896436.739 588223.023 0, 896140.034 588229.128 0, 895843.329 588235.249 0, 895546.624 588241.389 0, 895249.92 588247.545 0, 894953.217 588253.719 0, 894656.514 588259.911 0,
+ 894359.811 588266.12 0, 894063.108 588272.346 0, 893766.406 588278.59 0, 893469.704 588284.852 0, 893171.55 588291.162 0, 892876.302 588297.427 0, 892579.601 588303.741 0, 892282.901 588310.072 0, 891986.201 588316.421 0, 891689.501 588322.787 0,
+ 891392.802 588329.171 0, 891096.103 588335.572 0, 890799.405 588341.991 0, 890502.707 588348.427 0, 890206.009 588354.88 0, 889909.312 588361.351 0, 889612.615 588367.84 0, 889315.918 588374.345 0, 889019.222 588380.869 0, 888722.526 588387.41 0,
+ 888425.831 588393.968 0, 888129.136 588400.544 0, 887832.441 588407.137 0, 887535.747 588413.748 0, 887239.053 588420.376 0, 886942.36 588427.021 0, 886645.667 588433.685 0, 886348.974 588440.365 0, 886050.828 588447.096 0, 886176.568 594009.494 0,
+ 886302.316 599572.243 0, 886599.804 599565.527 0, 886895.842 599558.862 0, 887191.88 599552.213 0, 887487.919 599545.582 0, 887783.958 599538.969 0, 888079.997 599532.373 0, 888376.037 599525.794 0, 888672.077 599519.233 0, 888968.118 599512.689 0,
+ 889264.159 599506.163 0, 889560.2 599499.654 0, 889856.242 599493.162 0, 890152.284 599486.688 0, 890448.326 599480.231 0, 890744.369 599473.792 0, 891040.412 599467.37 0, 891336.456 599460.966 0, 891632.5 599454.579 0, 891928.544 599448.209 0,
+ 892224.589 599441.857 0, 892520.634 599435.522 0, 892816.68 599429.205 0, 893112.725 599422.905 0, 893407.322 599416.653 0, 893704.818 599410.357 0, 894000.865 599404.11 0, 894296.913 599397.88 0, 894592.96 599391.667 0, 894889.008 599385.472 0,
+ 895185.057 599379.294 0, 895481.106 599373.133 0, 895777.155 599366.99 0, 896073.204 599360.864 0, 896369.254 599354.756 0, 896665.304 599348.665 0, 896961.355 599342.592 0, 897257.406 599336.536 0, 897553.457 599330.498 0, 897849.509 599324.477 0,
+ 898145.561 599318.473 0, 898441.613 599312.487 0, 898737.666 599306.518 0, 899033.719 599300.566 0, 899329.772 599294.632 0, 899625.826 599288.716 0, 899921.88 599282.817 0, 900217.935 599276.935 0, 900512.541 599271.1 0, 900402.51 593708.017 0,
+ 900292.485 588145.286 0))
+
+POLYGON ((914723.561 599010.103 0, 914428.937 599015.107 0, 914132.867 599020.152 0, 913836.797 599025.214 0, 913540.728 599030.295 0, 913244.659 599035.392 0, 912948.59 599040.507 0, 912652.522 599045.639 0, 912356.454 599050.789 0, 912060.386 599055.957 0,
+ 911764.318 599061.141 0, 911468.251 599066.343 0, 911172.184 599071.563 0, 910876.118 599076.8 0, 910580.051 599082.054 0, 910283.985 599087.326 0, 909987.92 599092.615 0, 909691.854 599097.922 0, 909395.789 599103.246 0, 909099.725 599108.587 0,
+ 908803.66 599113.946 0, 908507.596 599119.323 0, 908211.533 599124.716 0, 907915.469 599130.128 0, 907617.959 599135.583 0, 907323.343 599141.002 0, 907027.281 599146.466 0, 906731.219 599151.947 0, 906435.157 599157.445 0, 906139.095 599162.961 0,
+ 905843.034 599168.494 0, 905546.973 599174.044 0, 905250.913 599179.613 0, 904954.852 599185.198 0, 904658.793 599190.801 0, 904362.733 599196.421 0, 904066.674 599202.059 0, 903770.615 599207.714 0, 903474.556 599213.387 0, 903178.498 599219.077 0,
+ 902882.44 599224.784 0, 902586.383 599230.509 0, 902290.326 599236.251 0, 901994.269 599242.011 0, 901698.212 599247.788 0, 901402.156 599253.583 0, 901106.1 599259.395 0, 900810.045 599265.224 0, 900512.541 599271.1 0, 900622.58 604834.531 0,
+ 900732.625 610398.308 0, 901029.47 610392.445 0, 901324.871 610386.629 0, 901620.272 610380.83 0, 901915.673 610375.048 0, 902211.075 610369.283 0, 902506.477 610363.537 0, 902801.879 610357.807 0, 903097.281 610352.095 0, 903392.684 610346.4 0,
+ 903688.088 610340.723 0, 903983.491 610335.062 0, 904278.895 610329.42 0, 904574.299 610323.795 0, 904869.704 610318.187 0, 905165.109 610312.596 0, 905460.514 610307.023 0, 905755.92 610301.467 0, 906051.326 610295.929 0, 906346.732 610290.408 0,
+ 906642.139 610284.905 0, 906937.545 610279.418 0, 907232.953 610273.95 0, 907528.36 610268.498 0, 907822.324 610263.091 0, 908119.176 610257.648 0, 908414.585 610252.248 0, 908709.993 610246.867 0, 909005.403 610241.502 0, 909300.812 610236.155 0,
+ 909596.222 610230.825 0, 909891.632 610225.513 0, 910187.042 610220.218 0, 910482.453 610214.941 0, 910777.864 610209.68 0, 911073.275 610204.438 0, 911368.687 610199.212 0, 911664.099 610194.004 0, 911959.511 610188.814 0, 912254.924 610183.641 0,
+ 912550.336 610178.485 0, 912845.75 610173.346 0, 913141.163 610168.225 0, 913436.577 610163.122 0, 913731.991 610158.035 0, 914027.405 610152.967 0, 914322.82 610147.915 0, 914618.235 610142.881 0, 914912.207 610137.889 0, 914817.881 604573.823 0,
+ 914723.561 599010.103 0))
+
+POLYGON ((929092.468 609917.531 0, 928798.481 609921.693 0, 928503.053 609925.892 0, 928207.625 609930.109 0, 927912.198 609934.343 0, 927616.77 609938.595 0, 927321.343 609942.864 0, 927025.917 609947.15 0, 926730.49 609951.454 0, 926435.064 609955.775 0,
+ 926139.638 609960.114 0, 925844.212 609964.47 0, 925548.787 609968.843 0, 925253.362 609973.234 0, 924957.937 609977.642 0, 924662.512 609982.068 0, 924367.087 609986.51 0, 924071.663 609990.971 0, 923776.239 609995.448 0, 923480.816 609999.943 0,
+ 923185.392 610004.456 0, 922889.969 610008.986 0, 922594.546 610013.533 0, 922299.124 610018.098 0, 922002.26 610022.702 0, 921708.28 610027.279 0, 921412.858 610031.896 0, 921117.436 610036.53 0, 920822.015 610041.182 0, 920526.594 610045.851 0,
+ 920231.174 610050.537 0, 919935.753 610055.241 0, 919640.333 610059.962 0, 919344.913 610064.7 0, 919049.494 610069.456 0, 918754.074 610074.229 0, 918458.655 610079.02 0, 918163.237 610083.828 0, 917867.818 610088.654 0, 917572.4 610093.496 0,
+ 917276.982 610098.357 0, 916981.565 610103.234 0, 916686.147 610108.129 0, 916390.73 610113.042 0, 916095.314 610117.971 0, 915799.897 610122.919 0, 915504.481 610127.883 0, 915209.065 610132.865 0, 914912.207 610137.889 0, 915006.539 615702.296 0,
+ 915100.877 621267.043 0, 915397.077 621262.03 0, 915691.838 621257.06 0, 915986.599 621252.106 0, 916281.36 621247.17 0, 916576.122 621242.251 0, 916870.884 621237.35 0, 917165.646 621232.465 0, 917460.408 621227.599 0, 917755.171 621222.749 0,
+ 918049.934 621217.917 0, 918344.698 621213.102 0, 918639.461 621208.305 0, 918934.225 621203.525 0, 919228.989 621198.762 0, 919523.754 621194.017 0, 919818.519 621189.289 0, 920113.284 621184.578 0, 920408.049 621179.885 0, 920702.815 621175.209 0,
+ 920997.581 621170.55 0, 921292.347 621165.909 0, 921587.113 621161.285 0, 921881.88 621156.679 0, 922175.208 621152.112 0, 922471.414 621147.518 0, 922766.182 621142.963 0, 923060.949 621138.426 0, 923355.717 621133.906 0, 923650.486 621129.404 0,
+ 923945.254 621124.919 0, 924240.023 621120.451 0, 924534.792 621116 0, 924829.562 621111.567 0, 925124.331 621107.152 0, 925419.101 621102.753 0, 925713.871 621098.372 0, 926008.642 621094.009 0, 926303.412 621089.662 0, 926598.183 621085.333 0,
+ 926892.954 621081.022 0, 927187.726 621076.727 0, 927482.497 621072.451 0, 927777.269 621068.191 0, 928072.042 621063.949 0, 928366.814 621059.724 0, 928661.587 621055.516 0, 928956.36 621051.326 0, 929249.695 621047.174 0, 929171.079 615482.183 0,
+ 929092.468 609917.531 0))
+
+POLYGON ((943399.078 620867.278 0, 943105.73 620870.602 0, 942810.946 620873.959 0, 942516.163 620877.334 0, 942221.38 620880.726 0, 941926.597 620884.136 0, 941631.814 620887.562 0, 941337.032 620891.006 0, 941042.249 620894.468 0, 940747.467 620897.947 0,
+ 940452.685 620901.443 0, 940157.903 620904.956 0, 939863.122 620908.487 0, 939568.34 620912.035 0, 939273.559 620915.601 0, 938978.778 620919.184 0, 938683.998 620922.784 0, 938389.217 620926.402 0, 938094.437 620930.037 0, 937799.657 620933.689 0,
+ 937504.877 620937.359 0, 937210.097 620941.046 0, 936915.318 620944.75 0, 936620.539 620948.472 0, 936324.323 620952.229 0, 936030.981 620955.967 0, 935736.202 620959.741 0, 935441.424 620963.532 0, 935146.646 620967.341 0, 934851.868 620971.166 0,
+ 934557.091 620975.01 0, 934262.313 620978.87 0, 933967.536 620982.748 0, 933672.759 620986.643 0, 933377.982 620990.556 0, 933083.206 620994.486 0, 932788.429 620998.433 0, 932493.653 621002.398 0, 932198.878 621006.38 0, 931904.102 621010.379 0,
+ 931609.327 621014.395 0, 931314.552 621018.43 0, 931019.777 621022.481 0, 930725.002 621026.55 0, 930430.228 621030.636 0, 930135.454 621034.739 0, 929840.68 621038.86 0, 929545.906 621042.998 0, 929249.695 621047.174 0, 929328.316 626612.5 0,
+ 929406.941 632178.159 0, 929702.494 632173.993 0, 929996.612 632169.864 0, 930290.731 632165.752 0, 930584.85 632161.658 0, 930878.969 632157.581 0, 931173.089 632153.521 0, 931467.208 632149.479 0, 931761.328 632145.454 0, 932055.448 632141.446 0,
+ 932349.569 632137.456 0, 932643.69 632133.483 0, 932937.81 632129.527 0, 933231.932 632125.588 0, 933526.053 632121.667 0, 933820.174 632117.763 0, 934114.296 632113.877 0, 934408.418 632110.007 0, 934702.541 632106.156 0, 934996.663 632102.321 0,
+ 935290.786 632098.504 0, 935584.909 632094.704 0, 935879.032 632090.921 0, 936173.155 632087.156 0, 936465.846 632083.426 0, 936761.403 632079.677 0, 937055.527 632075.963 0, 937349.651 632072.267 0, 937643.775 632068.588 0, 937937.9 632064.927 0,
+ 938232.025 632061.283 0, 938526.15 632057.656 0, 938820.275 632054.046 0, 939114.401 632050.454 0, 939408.527 632046.879 0, 939702.653 632043.321 0, 939996.779 632039.781 0, 940290.905 632036.258 0, 940585.032 632032.752 0, 940879.159 632029.264 0,
+ 941173.286 632025.793 0, 941467.413 632022.339 0, 941761.54 632018.903 0, 942055.668 632015.483 0, 942349.796 632012.082 0, 942643.924 632008.697 0, 942938.052 632005.33 0, 943232.18 632001.98 0, 943524.877 631998.664 0, 943461.976 626432.805 0,
+ 943399.078 620867.278 0))
+
+POLYGON ((957643.263 631859.054 0, 957350.556 631861.544 0, 957056.42 631864.063 0, 956762.283 631866.599 0, 956468.147 631869.152 0, 956174.01 631871.723 0, 955879.874 631874.312 0, 955585.738 631876.917 0, 955291.603 631879.54 0, 954997.467 631882.18 0,
+ 954703.331 631884.837 0, 954409.196 631887.512 0, 954115.061 631890.204 0, 953820.926 631892.913 0, 953526.791 631895.64 0, 953232.656 631898.384 0, 952938.522 631901.145 0, 952644.388 631903.924 0, 952350.253 631906.72 0, 952056.119 631909.533 0,
+ 951761.985 631912.364 0, 951467.852 631915.211 0, 951173.718 631918.077 0, 950879.585 631920.959 0, 950584.021 631923.873 0, 950291.319 631926.776 0, 949997.186 631929.71 0, 949703.053 631932.662 0, 949408.921 631935.631 0, 949114.788 631938.618 0,
+ 948820.656 631941.621 0, 948526.524 631944.642 0, 948232.392 631947.68 0, 947938.261 631950.736 0, 947644.129 631953.809 0, 947349.998 631956.899 0, 947055.867 631960.007 0, 946761.736 631963.132 0, 946467.605 631966.274 0, 946173.475 631969.433 0,
+ 945879.345 631972.61 0, 945585.215 631975.804 0, 945291.085 631979.015 0, 944996.955 631982.244 0, 944702.825 631985.49 0, 944408.696 631988.753 0, 944114.567 631992.034 0, 943820.438 631995.332 0, 943524.877 631998.664 0, 943587.781 637564.852 0,
+ 943650.69 643131.365 0, 943945.592 643128.041 0, 944239.066 643124.751 0, 944532.54 643121.477 0, 944826.014 643118.221 0, 945119.488 643114.982 0, 945412.963 643111.761 0, 945706.438 643108.557 0, 945999.913 643105.37 0, 946293.388 643102.2 0,
+ 946586.863 643099.048 0, 946880.338 643095.912 0, 947173.814 643092.795 0, 947467.29 643089.694 0, 947760.766 643086.611 0, 948054.242 643083.545 0, 948347.718 643080.496 0, 948641.195 643077.464 0, 948934.672 643074.45 0, 949228.148 643071.453 0,
+ 949521.626 643068.473 0, 949815.103 643065.511 0, 950108.58 643062.566 0, 950402.058 643059.638 0, 950694.108 643056.741 0, 950989.013 643053.834 0, 951282.492 643050.958 0, 951575.97 643048.099 0, 951869.448 643045.258 0, 952162.927 643042.433 0,
+ 952456.406 643039.626 0, 952749.885 643036.837 0, 953043.364 643034.064 0, 953336.843 643031.309 0, 953630.322 643028.571 0, 953923.802 643025.851 0, 954217.282 643023.147 0, 954510.762 643020.461 0, 954804.242 643017.793 0, 955097.722 643015.141 0,
+ 955391.202 643012.507 0, 955684.683 643009.89 0, 955978.163 643007.29 0, 956271.644 643004.708 0, 956565.125 643002.143 0, 956858.606 642999.595 0, 957152.088 642997.064 0, 957445.569 642994.551 0, 957737.624 642992.067 0, 957690.442 637425.398 0,
+ 957643.263 631859.054 0))
+
+POLYGON ((971824.895 642892.568 0, 971532.832 642894.226 0, 971239.345 642895.911 0, 970945.858 642897.612 0, 970652.37 642899.331 0, 970358.883 642901.067 0, 970065.396 642902.82 0, 969771.91 642904.59 0, 969478.423 642906.378 0, 969184.936 642908.183 0,
+ 968891.45 642910.006 0, 968597.963 642911.845 0, 968304.477 642913.702 0, 968010.991 642915.576 0, 967717.505 642917.468 0, 967424.019 642919.377 0, 967130.533 642921.303 0, 966837.047 642923.246 0, 966543.561 642925.206 0, 966250.076 642927.184 0,
+ 965956.59 642929.179 0, 965663.105 642931.192 0, 965369.62 642933.221 0, 965076.135 642935.268 0, 964781.224 642937.342 0, 964489.165 642939.414 0, 964195.681 642941.513 0, 963902.196 642943.629 0, 963608.712 642945.762 0, 963315.227 642947.912 0,
+ 963021.743 642950.08 0, 962728.259 642952.265 0, 962434.775 642954.468 0, 962141.291 642956.687 0, 961847.808 642958.924 0, 961554.324 642961.178 0, 961260.841 642963.45 0, 960967.357 642965.739 0, 960673.874 642968.045 0, 960380.391 642970.368 0,
+ 960086.908 642972.709 0, 959793.426 642975.066 0, 959499.943 642977.442 0, 959206.461 642979.834 0, 958912.978 642982.244 0, 958619.496 642984.671 0, 958326.014 642987.115 0, 958032.532 642989.576 0, 957737.624 642992.067 0, 957784.808 648559.059 0,
+ 957831.996 654126.37 0, 958126.245 654123.885 0, 958419.072 654121.429 0, 958711.899 654118.99 0, 959004.725 654116.568 0, 959297.552 654114.164 0, 959590.379 654111.777 0, 959883.207 654109.407 0, 960176.034 654107.055 0, 960468.862 654104.719 0,
+ 960761.689 654102.401 0, 961054.517 654100.1 0, 961347.345 654097.817 0, 961640.173 654095.55 0, 961933.001 654093.301 0, 962225.83 654091.069 0, 962518.658 654088.854 0, 962811.487 654086.657 0, 963104.315 654084.477 0, 963397.144 654082.314 0,
+ 963689.973 654080.168 0, 963982.802 654078.039 0, 964275.631 654075.928 0, 964568.461 654073.834 0, 964859.868 654071.767 0, 965154.12 654069.698 0, 965446.949 654067.655 0, 965739.779 654065.63 0, 966032.609 654063.622 0, 966325.439 654061.632 0,
+ 966618.269 654059.658 0, 966911.1 654057.702 0, 967203.93 654055.763 0, 967496.761 654053.842 0, 967789.591 654051.937 0, 968082.422 654050.05 0, 968375.253 654048.18 0, 968668.084 654046.327 0, 968960.915 654044.492 0, 969253.746 654042.673 0,
+ 969546.577 654040.872 0, 969839.409 654039.089 0, 970132.24 654037.322 0, 970425.072 654035.573 0, 970717.904 654033.841 0, 971010.735 654032.126 0, 971303.567 654030.428 0, 971596.399 654028.748 0, 971887.81 654027.093 0, 971856.352 648459.67 0,
+ 971824.895 642892.568 0))
+
+POLYGON ((985943.849 653967.526 0, 985652.432 653968.358 0, 985359.597 653969.211 0, 985066.761 653970.081 0, 984773.926 653970.969 0, 984481.09 653971.873 0, 984188.255 653972.795 0, 983895.42 653973.735 0, 983602.584 653974.691 0, 983309.749 653975.665 0,
+ 983016.914 653976.656 0, 982724.079 653977.664 0, 982431.244 653978.69 0, 982138.409 653979.732 0, 981845.574 653980.792 0, 981552.739 653981.869 0, 981259.904 653982.964 0, 980967.07 653984.075 0, 980674.235 653985.204 0, 980381.401 653986.35 0,
+ 980088.566 653987.514 0, 979795.732 653988.694 0, 979502.897 653989.892 0, 979210.063 653991.107 0, 978915.808 653992.345 0, 978624.394 653993.589 0, 978331.56 653994.856 0, 978038.726 653996.139 0, 977745.892 653997.441 0, 977453.059 653998.759 0,
+ 977160.225 654000.095 0, 976867.391 654001.448 0, 976574.558 654002.818 0, 976281.724 654004.205 0, 975988.891 654005.61 0, 975696.057 654007.032 0, 975403.224 654008.471 0, 975110.391 654009.927 0, 974817.558 654011.401 0, 974524.725 654012.892 0,
+ 974231.892 654014.4 0, 973939.059 654015.925 0, 973646.226 654017.467 0, 973353.393 654019.027 0, 973060.561 654020.604 0, 972767.728 654022.198 0, 972474.896 654023.81 0, 972182.064 654025.439 0, 971887.81 654027.093 0, 971919.27 659594.83 0,
+ 971950.732 665162.881 0, 972244.327 665161.231 0, 972536.504 665159.606 0, 972828.681 665157.998 0, 973120.858 665156.407 0, 973413.035 665154.834 0, 973705.212 665153.277 0, 973997.39 665151.738 0, 974289.567 665150.216 0, 974581.744 665148.712 0,
+ 974873.922 665147.224 0, 975166.1 665145.754 0, 975458.278 665144.301 0, 975750.455 665142.865 0, 976042.633 665141.446 0, 976334.811 665140.045 0, 976626.989 665138.661 0, 976919.168 665137.293 0, 977211.346 665135.944 0, 977503.524 665134.611 0,
+ 977795.703 665133.295 0, 978087.881 665131.997 0, 978380.06 665130.716 0, 978672.238 665129.452 0, 978963 665128.211 0, 979256.596 665126.976 0, 979548.775 665125.764 0, 979840.954 665124.568 0, 980133.133 665123.39 0, 980425.312 665122.23 0,
+ 980717.491 665121.086 0, 981009.67 665119.96 0, 981301.849 665118.851 0, 981594.029 665117.759 0, 981886.208 665116.684 0, 982178.388 665115.627 0, 982470.567 665114.586 0, 982762.747 665113.563 0, 983054.926 665112.557 0, 983347.106 665111.568 0,
+ 983639.286 665110.597 0, 983931.466 665109.642 0, 984223.646 665108.705 0, 984515.826 665107.785 0, 984808.005 665106.883 0, 985100.186 665105.997 0, 985392.366 665105.129 0, 985684.546 665104.277 0, 985975.31 665103.447 0, 985959.579 659535.33 0,
+ 985943.849 653967.526 0))
+
+POLYGON ((1000000 665083.636 0, 999709.232 665083.645 0, 999417.051 665083.67 0, 999124.87 665083.713 0, 998832.688 665083.773 0, 998540.507 665083.851 0, 998248.325 665083.945 0, 997956.144 665084.057 0, 997663.963 665084.186 0, 997371.781 665084.332 0,
+ 997079.6 665084.495 0, 996787.419 665084.676 0, 996495.237 665084.873 0, 996203.056 665085.088 0, 995910.875 665085.32 0, 995618.694 665085.57 0, 995326.512 665085.836 0, 995034.331 665086.12 0, 994742.15 665086.421 0, 994449.969 665086.739 0,
+ 994157.787 665087.074 0, 993865.606 665087.426 0, 993573.425 665087.796 0, 993281.244 665088.183 0, 992987.648 665088.589 0, 992696.882 665089.008 0, 992404.701 665089.447 0, 992112.52 665089.902 0, 991820.339 665090.375 0, 991528.158 665090.865 0,
+ 991235.977 665091.372 0, 990943.796 665091.897 0, 990651.615 665092.439 0, 990359.434 665092.997 0, 990067.253 665093.573 0, 989775.073 665094.167 0, 989482.892 665094.777 0, 989190.711 665095.405 0, 988898.53 665096.049 0, 988606.35 665096.711 0,
+ 988314.169 665097.391 0, 988021.989 665098.087 0, 987729.808 665098.801 0, 987437.628 665099.531 0, 987145.447 665100.279 0, 986853.267 665101.045 0, 986561.086 665101.827 0, 986268.906 665102.627 0, 985975.31 665103.447 0, 985991.042 670671.874 0,
+ 986006.775 676240.606 0, 986299.712 676239.787 0, 986591.237 676238.989 0, 986882.762 676238.208 0, 987174.287 676237.445 0, 987465.812 676236.698 0, 987757.336 676235.969 0, 988048.861 676235.257 0, 988340.387 676234.562 0, 988631.912 676233.885 0,
+ 988923.437 676233.224 0, 989214.962 676232.581 0, 989506.487 676231.955 0, 989798.012 676231.346 0, 990089.538 676230.754 0, 990381.063 676230.179 0, 990672.588 676229.621 0, 990964.114 676229.081 0, 991255.639 676228.558 0, 991547.164 676228.052 0,
+ 991838.69 676227.563 0, 992130.215 676227.091 0, 992421.741 676226.636 0, 992713.266 676226.199 0, 993003.38 676225.781 0, 993296.318 676225.375 0, 993587.843 676224.989 0, 993879.369 676224.621 0, 994170.894 676224.269 0, 994462.42 676223.934 0,
+ 994753.946 676223.617 0, 995045.472 676223.317 0, 995336.997 676223.034 0, 995628.523 676222.768 0, 995920.049 676222.519 0, 996211.575 676222.288 0, 996503.1 676222.073 0, 996794.626 676221.876 0, 997086.152 676221.696 0, 997377.678 676221.533 0,
+ 997669.204 676221.387 0, 997960.729 676221.259 0, 998252.255 676221.147 0, 998543.781 676221.053 0, 998835.307 676220.976 0, 999126.833 676220.916 0, 999418.359 676220.873 0, 999709.885 676220.847 0, 1000000 676220.839 0, 1000000 670652.085 0,
+ 1000000 665083.636 0))
+
+POLYGON ((1013993.225 676240.606 0, 1013703.109 676239.795 0, 1013411.584 676238.997 0, 1013120.059 676238.216 0, 1012828.534 676237.452 0, 1012537.01 676236.706 0, 1012245.485 676235.976 0, 1011953.96 676235.264 0, 1011662.435 676234.569 0, 1011370.909 676233.891 0,
+ 1011079.384 676233.231 0, 1010787.859 676232.587 0, 1010496.334 676231.961 0, 1010204.809 676231.351 0, 1009913.283 676230.759 0, 1009621.758 676230.185 0, 1009330.233 676229.627 0, 1009038.707 676229.086 0, 1008747.182 676228.563 0, 1008455.657 676228.057 0,
+ 1008164.131 676227.567 0, 1007872.606 676227.095 0, 1007581.08 676226.641 0, 1007289.555 676226.203 0, 1006996.62 676225.781 0, 1006706.503 676225.379 0, 1006414.978 676224.993 0, 1006123.452 676224.624 0, 1005831.927 676224.272 0, 1005540.401 676223.938 0,
+ 1005248.875 676223.62 0, 1004957.349 676223.32 0, 1004665.824 676223.037 0, 1004374.298 676222.77 0, 1004082.772 676222.522 0, 1003791.246 676222.29 0, 1003499.721 676222.075 0, 1003208.195 676221.878 0, 1002916.669 676221.698 0, 1002625.143 676221.535 0,
+ 1002333.617 676221.389 0, 1002042.092 676221.26 0, 1001750.566 676221.148 0, 1001459.04 676221.054 0, 1001167.514 676220.977 0, 1000875.988 676220.916 0, 1000584.462 676220.873 0, 1000292.936 676220.848 0, 1000000 676220.839 0, 1000000 681789.896 0,
+ 1000000 687359.251 0, 1000292.278 687359.26 0, 1000583.148 687359.286 0, 1000874.018 687359.328 0, 1001164.888 687359.388 0, 1001455.759 687359.466 0, 1001746.629 687359.56 0, 1002037.499 687359.671 0, 1002328.37 687359.8 0, 1002619.24 687359.945 0,
+ 1002910.11 687360.108 0, 1003200.98 687360.288 0, 1003491.85 687360.485 0, 1003782.721 687360.699 0, 1004073.591 687360.93 0, 1004364.461 687361.178 0, 1004655.331 687361.444 0, 1004946.201 687361.726 0, 1005237.071 687362.026 0, 1005527.942 687362.343 0,
+ 1005818.812 687362.677 0, 1006109.682 687363.028 0, 1006400.552 687363.396 0, 1006691.422 687363.781 0, 1006980.886 687364.182 0, 1007273.162 687364.603 0, 1007564.032 687365.04 0, 1007854.902 687365.494 0, 1008145.772 687365.965 0, 1008436.641 687366.453 0,
+ 1008727.511 687366.958 0, 1009018.381 687367.48 0, 1009309.251 687368.019 0, 1009600.121 687368.576 0, 1009890.99 687369.149 0, 1010181.86 687369.74 0, 1010472.73 687370.348 0, 1010763.599 687370.973 0, 1011054.469 687371.615 0, 1011345.338 687372.274 0,
+ 1011636.208 687372.951 0, 1011927.077 687373.644 0, 1012217.947 687374.355 0, 1012508.816 687375.082 0, 1012799.686 687375.827 0, 1013090.555 687376.589 0, 1013381.424 687377.368 0, 1013672.293 687378.164 0, 1013961.757 687378.973 0, 1013977.492 681809.64 0,
+ 1013993.225 676240.606 0))
+
+POLYGON ((1027923.403 687438.14 0, 1027633.94 687436.513 0, 1027343.075 687434.895 0, 1027052.209 687433.294 0, 1026761.343 687431.711 0, 1026470.477 687430.144 0, 1026179.61 687428.595 0, 1025888.744 687427.062 0, 1025597.878 687425.547 0, 1025307.011 687424.049 0,
+ 1025016.145 687422.568 0, 1024725.278 687421.104 0, 1024434.412 687419.658 0, 1024143.545 687418.228 0, 1023852.678 687416.815 0, 1023561.811 687415.42 0, 1023270.944 687414.042 0, 1022980.077 687412.681 0, 1022689.21 687411.337 0, 1022398.343 687410.01 0,
+ 1022107.475 687408.7 0, 1021816.608 687407.407 0, 1021525.74 687406.132 0, 1021234.873 687404.874 0, 1020942.601 687403.626 0, 1020653.137 687402.408 0, 1020362.27 687401.201 0, 1020071.402 687400.011 0, 1019780.534 687398.838 0, 1019489.666 687397.683 0,
+ 1019198.798 687396.544 0, 1018907.93 687395.423 0, 1018617.062 687394.318 0, 1018326.193 687393.231 0, 1018035.325 687392.161 0, 1017744.457 687391.108 0, 1017453.588 687390.072 0, 1017162.72 687389.053 0, 1016871.851 687388.052 0, 1016580.982 687387.067 0,
+ 1016290.114 687386.1 0, 1015999.245 687385.15 0, 1015708.376 687384.217 0, 1015417.507 687383.301 0, 1015126.639 687382.402 0, 1014835.77 687381.52 0, 1014544.901 687380.655 0, 1014254.032 687379.808 0, 1013961.757 687378.973 0, 1013946.022 692948.603 0,
+ 1013930.286 698518.524 0, 1014221.901 698519.356 0, 1014512.115 698520.202 0, 1014802.328 698521.065 0, 1015092.541 698521.944 0, 1015382.755 698522.841 0, 1015672.968 698523.755 0, 1015963.181 698524.686 0, 1016253.394 698525.634 0, 1016543.607 698526.599 0,
+ 1016833.82 698527.582 0, 1017124.033 698528.581 0, 1017414.246 698529.598 0, 1017704.459 698530.631 0, 1017994.671 698531.682 0, 1018284.884 698532.749 0, 1018575.097 698533.834 0, 1018865.309 698534.936 0, 1019155.522 698536.055 0, 1019445.734 698537.191 0,
+ 1019735.946 698538.344 0, 1020026.159 698539.514 0, 1020316.371 698540.701 0, 1020606.583 698541.906 0, 1020895.394 698543.121 0, 1021187.007 698544.365 0, 1021477.219 698545.621 0, 1021767.431 698546.894 0, 1022057.642 698548.183 0, 1022347.854 698549.49 0,
+ 1022638.066 698550.814 0, 1022928.277 698552.155 0, 1023218.489 698553.513 0, 1023508.7 698554.888 0, 1023798.911 698556.28 0, 1024089.123 698557.69 0, 1024379.334 698559.116 0, 1024669.545 698560.56 0, 1024959.756 698562.02 0, 1025249.967 698563.498 0,
+ 1025540.177 698564.992 0, 1025830.388 698566.504 0, 1026120.599 698568.033 0, 1026410.809 698569.579 0, 1026701.02 698571.142 0, 1026991.23 698572.722 0, 1027281.44 698574.319 0, 1027571.65 698575.934 0, 1027860.461 698577.557 0, 1027891.933 693007.703 0,
+ 1027923.403 687438.14 0))
+
+POLYGON ((1041790.413 698675.946 0, 1041501.606 698673.506 0, 1041211.402 698671.072 0, 1040921.197 698668.655 0, 1040630.993 698666.255 0, 1040340.788 698663.872 0, 1040050.583 698661.506 0, 1039760.378 698659.157 0, 1039470.172 698656.826 0, 1039179.967 698654.511 0,
+ 1038889.761 698652.214 0, 1038599.556 698649.933 0, 1038309.35 698647.67 0, 1038019.144 698645.424 0, 1037728.938 698643.194 0, 1037438.732 698640.982 0, 1037148.525 698638.787 0, 1036858.319 698636.609 0, 1036568.112 698634.448 0, 1036277.906 698632.305 0,
+ 1035987.699 698630.178 0, 1035697.492 698628.068 0, 1035407.285 698625.976 0, 1035117.078 698623.9 0, 1034825.472 698621.832 0, 1034536.663 698619.801 0, 1034246.455 698617.776 0, 1033956.247 698615.769 0, 1033666.04 698613.779 0, 1033375.832 698611.806 0,
+ 1033085.624 698609.85 0, 1032795.416 698607.911 0, 1032505.207 698605.99 0, 1032214.999 698604.085 0, 1031924.79 698602.198 0, 1031634.582 698600.327 0, 1031344.373 698598.474 0, 1031054.164 698596.637 0, 1030763.955 698594.818 0, 1030473.746 698593.016 0,
+ 1030183.537 698591.231 0, 1029893.328 698589.463 0, 1029603.119 698587.712 0, 1029312.909 698585.978 0, 1029022.7 698584.261 0, 1028732.49 698582.562 0, 1028442.28 698580.879 0, 1028152.07 698579.213 0, 1027860.461 698577.557 0, 1027828.987 704147.701 0,
+ 1027797.512 709718.129 0, 1028088.462 709719.782 0, 1028378.017 709721.444 0, 1028667.571 709723.122 0, 1028957.125 709724.818 0, 1029246.678 709726.531 0, 1029536.232 709728.261 0, 1029825.786 709730.008 0, 1030115.339 709731.772 0, 1030404.893 709733.553 0,
+ 1030694.446 709735.351 0, 1030983.999 709737.166 0, 1031273.552 709738.998 0, 1031563.105 709740.848 0, 1031852.658 709742.714 0, 1032142.211 709744.597 0, 1032431.764 709746.498 0, 1032721.316 709748.415 0, 1033010.869 709750.349 0, 1033300.421 709752.301 0,
+ 1033589.973 709754.269 0, 1033879.525 709756.255 0, 1034169.077 709758.258 0, 1034458.629 709760.277 0, 1034746.786 709762.304 0, 1035037.733 709764.368 0, 1035327.284 709766.438 0, 1035616.835 709768.526 0, 1035906.387 709770.631 0, 1036195.938 709772.753 0,
+ 1036485.489 709774.892 0, 1036775.04 709777.048 0, 1037064.591 709779.221 0, 1037354.141 709781.411 0, 1037643.692 709783.618 0, 1037933.242 709785.842 0, 1038222.792 709788.083 0, 1038512.342 709790.342 0, 1038801.892 709792.617 0, 1039091.442 709794.909 0,
+ 1039380.992 709797.219 0, 1039670.541 709799.545 0, 1039960.091 709801.889 0, 1040249.64 709804.249 0, 1040539.189 709806.627 0, 1040828.738 709809.021 0, 1041118.287 709811.433 0, 1041407.836 709813.861 0, 1041695.99 709816.295 0, 1041743.203 704245.978 0,
+ 1041790.413 698675.946 0))
+
+POLYGON ((1055594.136 709953.727 0, 1055305.987 709950.479 0, 1055016.447 709947.232 0, 1054726.906 709944.002 0, 1054437.365 709940.79 0, 1054147.823 709937.594 0, 1053858.282 709934.416 0, 1053568.74 709931.254 0, 1053279.198 709928.11 0, 1052989.656 709924.982 0,
+ 1052700.114 709921.872 0, 1052410.572 709918.779 0, 1052121.029 709915.703 0, 1051831.487 709912.643 0, 1051541.944 709909.601 0, 1051252.4 709906.576 0, 1050962.857 709903.568 0, 1050673.314 709900.577 0, 1050383.77 709897.603 0, 1050094.226 709894.646 0,
+ 1049804.682 709891.706 0, 1049515.138 709888.783 0, 1049225.594 709885.877 0, 1048936.049 709882.988 0, 1048645.112 709880.103 0, 1048356.96 709877.262 0, 1048067.415 709874.424 0, 1047777.87 709871.604 0, 1047488.324 709868.8 0, 1047198.779 709866.014 0,
+ 1046909.233 709863.244 0, 1046619.687 709860.492 0, 1046330.141 709857.756 0, 1046040.595 709855.038 0, 1045751.049 709852.336 0, 1045461.502 709849.652 0, 1045171.956 709846.985 0, 1044882.409 709844.335 0, 1044592.862 709841.701 0, 1044303.315 709839.085 0,
+ 1044013.768 709836.486 0, 1043724.22 709833.904 0, 1043434.673 709831.339 0, 1043145.125 709828.791 0, 1042855.577 709826.26 0, 1042566.029 709823.746 0, 1042276.481 709821.25 0, 1041986.933 709818.77 0, 1041695.99 709816.295 0, 1041648.775 715386.895 0,
+ 1041601.558 720957.773 0, 1041891.841 720960.242 0, 1042180.734 720962.716 0, 1042469.626 720965.207 0, 1042758.519 720967.715 0, 1043047.411 720970.24 0, 1043336.303 720972.783 0, 1043625.194 720975.342 0, 1043914.086 720977.918 0, 1044202.978 720980.511 0,
+ 1044491.869 720983.121 0, 1044780.76 720985.749 0, 1045069.651 720988.393 0, 1045358.542 720991.054 0, 1045647.433 720993.732 0, 1045936.323 720996.427 0, 1046225.214 720999.14 0, 1046514.104 721001.869 0, 1046802.994 721004.615 0, 1047091.884 721007.378 0,
+ 1047380.773 721010.159 0, 1047669.663 721012.956 0, 1047958.552 721015.77 0, 1048247.442 721018.601 0, 1048534.941 721021.436 0, 1048825.22 721024.315 0, 1049114.108 721027.197 0, 1049402.997 721030.096 0, 1049691.885 721033.013 0, 1049980.774 721035.946 0,
+ 1050269.662 721038.896 0, 1050558.55 721041.863 0, 1050847.437 721044.848 0, 1051136.325 721047.849 0, 1051425.212 721050.867 0, 1051714.099 721053.903 0, 1052002.986 721056.955 0, 1052291.873 721060.024 0, 1052580.76 721063.11 0, 1052869.646 721066.214 0,
+ 1053158.532 721069.334 0, 1053447.419 721072.471 0, 1053736.304 721075.626 0, 1054025.19 721078.797 0, 1054314.076 721081.985 0, 1054602.961 721085.191 0, 1054891.846 721088.413 0, 1055180.731 721091.652 0, 1055468.227 721094.893 0, 1055531.183 715524.171 0,
+ 1055594.136 709953.727 0))
+
+POLYGON ((1069334.454 721271.188 0, 1069046.966 721267.135 0, 1068758.091 721263.08 0, 1068469.216 721259.042 0, 1068180.341 721255.02 0, 1067891.466 721251.016 0, 1067602.59 721247.028 0, 1067313.714 721243.058 0, 1067024.838 721239.104 0, 1066735.962 721235.168 0,
+ 1066447.086 721231.248 0, 1066158.209 721227.346 0, 1065869.332 721223.46 0, 1065580.455 721219.592 0, 1065291.577 721215.741 0, 1065002.699 721211.906 0, 1064713.822 721208.089 0, 1064424.943 721204.288 0, 1064136.065 721200.505 0, 1063847.186 721196.738 0,
+ 1063558.308 721192.989 0, 1063269.429 721189.257 0, 1062980.549 721185.541 0, 1062691.67 721181.843 0, 1062401.403 721178.144 0, 1062113.91 721174.497 0, 1061825.03 721170.85 0, 1061536.15 721167.219 0, 1061247.27 721163.606 0, 1060958.389 721160.009 0,
+ 1060669.508 721156.43 0, 1060380.627 721152.868 0, 1060091.745 721149.322 0, 1059802.864 721145.794 0, 1059513.982 721142.283 0, 1059225.1 721138.788 0, 1058936.218 721135.311 0, 1058647.335 721131.85 0, 1058358.453 721128.407 0, 1058069.57 721124.981 0,
+ 1057780.687 721121.571 0, 1057491.804 721118.179 0, 1057202.92 721114.804 0, 1056914.037 721111.445 0, 1056625.153 721108.104 0, 1056336.269 721104.78 0, 1056047.385 721101.472 0, 1055758.5 721098.182 0, 1055468.227 721094.893 0, 1055405.268 726665.89 0,
+ 1055342.306 732237.159 0, 1055631.92 732240.441 0, 1055920.149 732243.723 0, 1056208.377 732247.023 0, 1056496.605 732250.34 0, 1056784.833 732253.674 0, 1057073.061 732257.024 0, 1057361.289 732260.392 0, 1057649.516 732263.777 0, 1057937.743 732267.178 0,
+ 1058225.97 732270.597 0, 1058514.197 732274.033 0, 1058802.424 732277.485 0, 1059090.65 732280.955 0, 1059378.876 732284.441 0, 1059667.102 732287.944 0, 1059955.328 732291.465 0, 1060243.554 732295.002 0, 1060531.779 732298.556 0, 1060820.004 732302.128 0,
+ 1061108.229 732305.716 0, 1061396.454 732309.321 0, 1061684.678 732312.943 0, 1061972.903 732316.582 0, 1062259.742 732320.221 0, 1062549.351 732323.912 0, 1062837.574 732327.602 0, 1063125.798 732331.308 0, 1063414.021 732335.032 0, 1063702.244 732338.773 0,
+ 1063990.467 732342.531 0, 1064278.689 732346.306 0, 1064566.911 732350.098 0, 1064855.134 732353.907 0, 1065143.355 732357.732 0, 1065431.577 732361.575 0, 1065719.798 732365.435 0, 1066008.02 732369.311 0, 1066296.241 732373.205 0, 1066584.461 732377.115 0,
+ 1066872.682 732381.043 0, 1067160.902 732384.987 0, 1067449.122 732388.949 0, 1067737.342 732392.927 0, 1068025.562 732396.923 0, 1068313.781 732400.935 0, 1068602 732404.964 0, 1068890.219 732409.011 0, 1069177.054 732413.054 0, 1069255.756 726841.986 0,
+ 1069334.454 721271.188 0))
+
+POLYGON ((1083011.25 732628.034 0, 1082724.425 732623.18 0, 1082436.219 732618.32 0, 1082148.012 732613.476 0, 1081859.806 732608.65 0, 1081571.598 732603.84 0, 1081283.391 732599.047 0, 1080995.183 732594.272 0, 1080706.975 732589.513 0, 1080418.767 732584.771 0,
+ 1080130.559 732580.046 0, 1079842.35 732575.339 0, 1079554.141 732570.648 0, 1079265.931 732565.974 0, 1078977.722 732561.317 0, 1078689.512 732556.677 0, 1078401.302 732552.054 0, 1078113.091 732547.448 0, 1077824.88 732542.859 0, 1077536.669 732538.286 0,
+ 1077248.458 732533.731 0, 1076960.247 732529.193 0, 1076672.035 732524.672 0, 1076383.823 732520.168 0, 1076094.228 732515.659 0, 1075807.398 732511.21 0, 1075519.185 732506.757 0, 1075230.972 732502.32 0, 1074942.758 732497.901 0, 1074654.545 732493.498 0,
+ 1074366.331 732489.113 0, 1074078.117 732484.744 0, 1073789.902 732480.392 0, 1073501.688 732476.058 0, 1073213.473 732471.74 0, 1072925.257 732467.439 0, 1072637.042 732463.156 0, 1072348.826 732458.889 0, 1072060.61 732454.639 0, 1071772.394 732450.406 0,
+ 1071484.178 732446.19 0, 1071195.961 732441.991 0, 1070907.744 732437.809 0, 1070619.527 732433.644 0, 1070331.31 732429.496 0, 1070043.092 732425.365 0, 1069754.874 732421.251 0, 1069466.656 732417.154 0, 1069177.054 732413.054 0, 1069098.349 737984.391 0,
+ 1069019.639 743555.992 0, 1069308.582 743560.082 0, 1069596.144 743564.17 0, 1069883.706 743568.275 0, 1070171.268 743572.397 0, 1070458.83 743576.535 0, 1070746.391 743580.691 0, 1071033.952 743584.863 0, 1071321.513 743589.053 0, 1071609.074 743593.259 0,
+ 1071896.634 743597.482 0, 1072184.194 743601.722 0, 1072471.754 743605.979 0, 1072759.314 743610.253 0, 1073046.873 743614.544 0, 1073334.432 743618.852 0, 1073621.991 743623.177 0, 1073909.549 743627.519 0, 1074197.108 743631.877 0, 1074484.666 743636.253 0,
+ 1074772.224 743640.645 0, 1075059.781 743645.055 0, 1075347.338 743649.481 0, 1075634.895 743653.924 0, 1075921.073 743658.363 0, 1076210.009 743662.862 0, 1076497.565 743667.356 0, 1076785.121 743671.867 0, 1077072.677 743676.395 0, 1077360.232 743680.939 0,
+ 1077647.787 743685.501 0, 1077935.342 743690.08 0, 1078222.897 743694.675 0, 1078510.451 743699.288 0, 1078798.005 743703.917 0, 1079085.559 743708.564 0, 1079373.112 743713.227 0, 1079660.666 743717.907 0, 1079948.219 743722.604 0, 1080235.771 743727.318 0,
+ 1080523.324 743732.049 0, 1080810.876 743736.797 0, 1081098.428 743741.562 0, 1081385.979 743746.344 0, 1081673.531 743751.142 0, 1081961.082 743755.958 0, 1082248.633 743760.791 0, 1082536.183 743765.64 0, 1082822.355 743770.483 0, 1082916.805 738199.126 0,
+ 1083011.25 732628.034 0))
+
+POLYGON ((1096624.41 744023.968 0, 1096338.25 744018.317 0, 1096050.715 744012.655 0, 1095763.179 744007.01 0, 1095475.643 744001.382 0, 1095188.106 743995.771 0, 1094900.569 743990.177 0, 1094613.032 743984.6 0, 1094325.494 743979.04 0, 1094037.956 743973.496 0,
+ 1093750.418 743967.97 0, 1093462.88 743962.46 0, 1093175.341 743956.968 0, 1092887.801 743951.492 0, 1092600.262 743946.033 0, 1092312.722 743940.592 0, 1092025.182 743935.167 0, 1091737.641 743929.759 0, 1091450.101 743924.368 0, 1091162.559 743918.994 0,
+ 1090875.018 743913.636 0, 1090587.476 743908.296 0, 1090299.934 743902.973 0, 1090012.392 743897.666 0, 1089723.472 743892.352 0, 1089437.306 743887.104 0, 1089149.763 743881.849 0, 1088862.219 743876.61 0, 1088574.675 743871.388 0, 1088287.131 743866.183 0,
+ 1087999.586 743860.995 0, 1087712.041 743855.824 0, 1087424.496 743850.67 0, 1087136.951 743845.533 0, 1086849.405 743840.413 0, 1086561.859 743835.31 0, 1086274.313 743830.223 0, 1085986.766 743825.154 0, 1085699.219 743820.101 0, 1085411.672 743815.065 0,
+ 1085124.124 743810.047 0, 1084836.576 743805.045 0, 1084549.028 743800.06 0, 1084261.48 743795.092 0, 1083973.931 743790.141 0, 1083686.382 743785.207 0, 1083398.833 743780.29 0, 1083111.283 743775.39 0, 1082822.355 743770.483 0, 1082727.901 749342.101 0,
+ 1082633.443 754913.976 0, 1082921.711 754918.871 0, 1083208.605 754923.76 0, 1083495.499 754928.666 0, 1083782.392 754933.589 0, 1084069.285 754938.529 0, 1084356.177 754943.485 0, 1084643.069 754948.459 0, 1084929.961 754953.449 0, 1085216.853 754958.456 0,
+ 1085503.744 754963.481 0, 1085790.635 754968.522 0, 1086077.526 754973.58 0, 1086364.417 754978.654 0, 1086651.307 754983.746 0, 1086938.197 754988.855 0, 1087225.086 754993.98 0, 1087511.976 754999.122 0, 1087798.865 755004.282 0, 1088085.753 755009.458 0,
+ 1088372.642 755014.651 0, 1088659.53 755019.861 0, 1088946.418 755025.087 0, 1089233.305 755030.331 0, 1089518.818 755035.566 0, 1089807.079 755040.869 0, 1090093.966 755046.163 0, 1090380.852 755051.474 0, 1090667.738 755056.803 0, 1090954.623 755062.147 0,
+ 1091241.508 755067.509 0, 1091528.393 755072.888 0, 1091815.278 755078.284 0, 1092102.162 755083.696 0, 1092389.046 755089.126 0, 1092675.93 755094.572 0, 1092962.813 755100.035 0, 1093249.696 755105.515 0, 1093536.579 755111.012 0, 1093823.462 755116.526 0,
+ 1094110.344 755122.057 0, 1094397.225 755127.604 0, 1094684.107 755133.169 0, 1094970.988 755138.75 0, 1095257.869 755144.348 0, 1095544.749 755149.963 0, 1095831.629 755155.595 0, 1096118.509 755161.244 0, 1096404.016 755166.883 0, 1096514.215 749595.297 0,
+ 1096624.41 744023.968 0))
+
+POLYGON ((1110173.819 755458.693 0, 1109888.327 755452.248 0, 1109601.465 755445.789 0, 1109314.602 755439.346 0, 1109027.738 755432.921 0, 1108740.875 755426.512 0, 1108454.01 755420.12 0, 1108167.146 755413.745 0, 1107880.281 755407.387 0, 1107593.416 755401.046 0,
+ 1107306.55 755394.722 0, 1107019.684 755388.414 0, 1106732.818 755382.124 0, 1106445.951 755375.85 0, 1106159.084 755369.593 0, 1105872.216 755363.353 0, 1105585.348 755357.13 0, 1105298.48 755350.924 0, 1105011.611 755344.735 0, 1104724.742 755338.563 0,
+ 1104437.873 755332.407 0, 1104151.003 755326.269 0, 1103864.133 755320.147 0, 1103577.263 755314.042 0, 1103289.021 755307.925 0, 1103003.521 755301.883 0, 1102716.649 755295.829 0, 1102429.778 755289.792 0, 1102142.905 755283.772 0, 1101856.033 755277.768 0,
+ 1101569.16 755271.782 0, 1101282.287 755265.812 0, 1100995.413 755259.859 0, 1100708.539 755253.923 0, 1100421.665 755248.004 0, 1100134.79 755242.102 0, 1099847.915 755236.217 0, 1099561.04 755230.348 0, 1099274.164 755224.497 0, 1098987.288 755218.662 0,
+ 1098700.412 755212.844 0, 1098413.535 755207.043 0, 1098126.658 755201.259 0, 1097839.78 755195.492 0, 1097552.903 755189.742 0, 1097266.025 755184.009 0, 1096979.146 755178.292 0, 1096692.267 755172.593 0, 1096404.016 755166.883 0, 1096293.811 760738.723 0,
+ 1096183.601 766310.813 0, 1096471.194 766316.51 0, 1096757.417 766322.196 0, 1097043.639 766327.9 0, 1097329.862 766333.62 0, 1097616.083 766339.357 0, 1097902.305 766345.111 0, 1098188.526 766350.882 0, 1098474.747 766356.669 0, 1098760.967 766362.474 0,
+ 1099047.187 766368.295 0, 1099333.407 766374.133 0, 1099619.627 766379.988 0, 1099905.846 766385.86 0, 1100192.065 766391.749 0, 1100478.283 766397.654 0, 1100764.501 766403.577 0, 1101050.719 766409.516 0, 1101336.936 766415.472 0, 1101623.153 766421.445 0,
+ 1101909.37 766427.435 0, 1102195.586 766433.441 0, 1102481.802 766439.465 0, 1102768.018 766445.505 0, 1103052.865 766451.533 0, 1103340.448 766457.636 0, 1103626.662 766463.727 0, 1103912.877 766469.835 0, 1104199.09 766475.959 0, 1104485.304 766482.1 0,
+ 1104771.517 766488.259 0, 1105057.73 766494.434 0, 1105343.942 766500.626 0, 1105630.154 766506.834 0, 1105916.366 766513.06 0, 1106202.577 766519.302 0, 1106488.788 766525.562 0, 1106774.998 766531.838 0, 1107061.208 766538.131 0, 1107347.418 766544.441 0,
+ 1107633.628 766550.767 0, 1107919.837 766557.111 0, 1108206.045 766563.471 0, 1108492.254 766569.848 0, 1108778.462 766576.243 0, 1109064.669 766582.653 0, 1109350.876 766589.081 0, 1109637.083 766595.526 0, 1109921.922 766601.956 0, 1110047.874 761030.2 0,
+ 1110173.819 755458.693 0))
+
+POLYGON ((1123659.366 766931.912 0, 1123374.544 766924.676 0, 1123088.356 766917.423 0, 1122802.169 766910.187 0, 1122515.98 766902.968 0, 1122229.792 766895.765 0, 1121943.602 766888.579 0, 1121657.413 766881.41 0, 1121371.223 766874.258 0, 1121085.032 766867.123 0,
+ 1120798.842 766860.004 0, 1120512.65 766852.903 0, 1120226.459 766845.818 0, 1119940.267 766838.75 0, 1119654.074 766831.699 0, 1119367.881 766824.665 0, 1119081.688 766817.648 0, 1118795.494 766810.647 0, 1118509.3 766803.664 0, 1118223.106 766796.697 0,
+ 1117936.911 766789.747 0, 1117650.715 766782.814 0, 1117364.519 766775.898 0, 1117078.323 766768.998 0, 1116790.761 766762.083 0, 1116505.93 766755.25 0, 1116219.732 766748.401 0, 1115933.534 766741.569 0, 1115647.336 766734.754 0, 1115361.138 766727.955 0,
+ 1115074.939 766721.174 0, 1114788.739 766714.409 0, 1114502.539 766707.661 0, 1114216.339 766700.93 0, 1113930.139 766694.216 0, 1113643.938 766687.519 0, 1113357.736 766680.839 0, 1113071.535 766674.175 0, 1112785.332 766667.528 0, 1112499.13 766660.898 0,
+ 1112212.927 766654.285 0, 1111926.724 766647.689 0, 1111640.52 766641.11 0, 1111354.316 766634.547 0, 1111068.111 766628.001 0, 1110781.906 766621.473 0, 1110495.701 766614.961 0, 1110209.496 766608.466 0, 1109921.922 766601.956 0, 1109795.965 772173.96 0,
+ 1109670.003 777746.207 0, 1109956.917 777752.701 0, 1110242.467 777759.181 0, 1110528.016 777765.678 0, 1110813.565 777772.192 0, 1111099.114 777778.723 0, 1111384.662 777785.27 0, 1111670.21 777791.834 0, 1111955.757 777798.415 0, 1112241.304 777805.013 0,
+ 1112526.851 777811.628 0, 1112812.397 777818.26 0, 1113097.943 777824.908 0, 1113383.488 777831.573 0, 1113669.033 777838.255 0, 1113954.578 777844.954 0, 1114240.122 777851.669 0, 1114525.666 777858.402 0, 1114811.21 777865.151 0, 1115096.753 777871.917 0,
+ 1115382.295 777878.699 0, 1115667.838 777885.499 0, 1115953.379 777892.315 0, 1116238.921 777899.149 0, 1116523.099 777905.966 0, 1116810.003 777912.865 0, 1117095.543 777919.749 0, 1117381.083 777926.649 0, 1117666.622 777933.567 0, 1117952.161 777940.501 0,
+ 1118237.7 777947.452 0, 1118523.238 777954.419 0, 1118808.776 777961.404 0, 1119094.314 777968.405 0, 1119379.851 777975.423 0, 1119665.387 777982.458 0, 1119950.923 777989.509 0, 1120236.459 777996.578 0, 1120521.994 778003.663 0, 1120807.529 778010.765 0,
+ 1121093.064 778017.884 0, 1121378.598 778025.02 0, 1121664.132 778032.172 0, 1121949.665 778039.342 0, 1122235.198 778046.528 0, 1122520.73 778053.731 0, 1122806.262 778060.95 0, 1123091.794 778068.187 0, 1123375.963 778075.406 0, 1123517.668 772503.537 0,
+ 1123659.366 766931.912 0))
+
+POLYGON ((1137080.938 778443.325 0, 1136796.788 778435.304 0, 1136511.278 778427.261 0, 1136225.768 778419.234 0, 1135940.257 778411.225 0, 1135654.746 778403.232 0, 1135369.234 778395.256 0, 1135083.721 778387.297 0, 1134798.209 778379.354 0, 1134512.695 778371.429 0,
+ 1134227.182 778363.52 0, 1133941.667 778355.628 0, 1133656.153 778347.753 0, 1133370.638 778339.895 0, 1133085.122 778332.053 0, 1132799.606 778324.229 0, 1132514.09 778316.421 0, 1132228.573 778308.629 0, 1131943.055 778300.855 0, 1131657.537 778293.098 0,
+ 1131372.019 778285.357 0, 1131086.5 778277.633 0, 1130800.981 778269.926 0, 1130515.461 778262.236 0, 1130228.581 778254.526 0, 1129944.421 778246.906 0, 1129658.9 778239.266 0, 1129373.378 778231.643 0, 1129087.856 778224.036 0, 1128802.334 778216.447 0,
+ 1128516.811 778208.874 0, 1128231.288 778201.318 0, 1127945.764 778193.779 0, 1127660.24 778186.257 0, 1127374.715 778178.752 0, 1127089.19 778171.263 0, 1126803.665 778163.791 0, 1126518.139 778156.336 0, 1126232.612 778148.898 0, 1125947.085 778141.477 0,
+ 1125661.558 778134.072 0, 1125376.031 778126.684 0, 1125090.502 778119.313 0, 1124804.974 778111.959 0, 1124519.445 778104.622 0, 1124233.916 778097.301 0, 1123948.386 778089.997 0, 1123662.855 778082.711 0, 1123375.963 778075.406 0, 1123234.252 783647.514 0,
+ 1123092.536 789219.858 0, 1123378.769 789227.146 0, 1123663.643 789234.416 0, 1123948.517 789241.703 0, 1124233.391 789249.007 0, 1124518.264 789256.328 0, 1124803.136 789263.665 0, 1125088.009 789271.019 0, 1125372.88 789278.39 0, 1125657.752 789285.777 0,
+ 1125942.622 789293.182 0, 1126227.493 789300.603 0, 1126512.363 789308.041 0, 1126797.232 789315.495 0, 1127082.102 789322.967 0, 1127366.97 789330.455 0, 1127651.838 789337.96 0, 1127936.706 789345.482 0, 1128221.574 789353.02 0, 1128506.441 789360.575 0,
+ 1128791.307 789368.147 0, 1129076.173 789375.736 0, 1129361.039 789383.342 0, 1129645.904 789390.964 0, 1129929.411 789398.567 0, 1130215.633 789406.259 0, 1130500.496 789413.932 0, 1130785.36 789421.621 0, 1131070.223 789429.327 0, 1131355.085 789437.05 0,
+ 1131639.947 789444.79 0, 1131924.808 789452.546 0, 1132209.67 789460.319 0, 1132494.53 789468.109 0, 1132779.39 789475.916 0, 1133064.25 789483.74 0, 1133349.109 789491.58 0, 1133633.968 789499.437 0, 1133918.826 789507.311 0, 1134203.684 789515.201 0,
+ 1134488.541 789523.109 0, 1134773.398 789531.033 0, 1135058.255 789538.974 0, 1135343.111 789546.931 0, 1135627.966 789554.906 0, 1135912.821 789562.897 0, 1136197.676 789570.905 0, 1136482.53 789578.93 0, 1136766.027 789586.933 0, 1136923.486 784015.011 0,
+ 1137080.938 778443.325 0))
+
+POLYGON ((1150438.427 789992.636 0, 1150154.951 789983.832 0, 1149870.121 789975.002 0, 1149585.29 789966.19 0, 1149300.459 789957.394 0, 1149015.627 789948.615 0, 1148730.795 789939.852 0, 1148445.962 789931.107 0, 1148161.128 789922.378 0, 1147876.294 789913.666 0,
+ 1147591.46 789904.97 0, 1147306.625 789896.292 0, 1147021.79 789887.63 0, 1146736.954 789878.985 0, 1146452.117 789870.357 0, 1146167.28 789861.745 0, 1145882.443 789853.15 0, 1145597.605 789844.573 0, 1145312.767 789836.011 0, 1145027.928 789827.467 0,
+ 1144743.088 789818.939 0, 1144458.248 789810.428 0, 1144173.408 789801.934 0, 1143888.567 789793.457 0, 1143602.37 789784.956 0, 1143318.883 789776.552 0, 1143034.041 789768.125 0, 1142749.198 789759.715 0, 1142464.355 789751.321 0, 1142179.511 789742.945 0,
+ 1141894.666 789734.585 0, 1141609.821 789726.241 0, 1141324.976 789717.915 0, 1141040.13 789709.605 0, 1140755.284 789701.312 0, 1140470.437 789693.036 0, 1140185.589 789684.777 0, 1139900.741 789676.534 0, 1139615.893 789668.308 0, 1139331.044 789660.099 0,
+ 1139046.195 789651.906 0, 1138761.345 789643.731 0, 1138476.495 789635.572 0, 1138191.644 789627.43 0, 1137906.793 789619.305 0, 1137621.941 789611.196 0, 1137337.089 789603.104 0, 1137052.236 789595.029 0, 1136766.027 789586.933 0, 1136608.561 795159.087 0,
+ 1136451.089 800731.47 0, 1136736.64 800739.548 0, 1137020.836 800747.604 0, 1137305.033 800755.677 0, 1137589.228 800763.767 0, 1137873.424 800771.874 0, 1138157.619 800779.997 0, 1138441.813 800788.137 0, 1138726.007 800796.294 0, 1139010.2 800804.467 0,
+ 1139294.393 800812.658 0, 1139578.585 800820.865 0, 1139862.777 800829.088 0, 1140146.969 800837.329 0, 1140431.16 800845.586 0, 1140715.35 800853.86 0, 1140999.54 800862.15 0, 1141283.73 800870.458 0, 1141567.919 800878.782 0, 1141852.107 800887.122 0,
+ 1142136.295 800895.48 0, 1142420.483 800903.854 0, 1142704.67 800912.245 0, 1142988.856 800920.653 0, 1143271.69 800929.037 0, 1143557.228 800937.518 0, 1143841.413 800945.976 0, 1144125.597 800954.451 0, 1144409.781 800962.942 0, 1144693.965 800971.45 0,
+ 1144978.148 800979.975 0, 1145262.331 800988.516 0, 1145546.513 800997.074 0, 1145830.694 801005.649 0, 1146114.875 801014.241 0, 1146399.056 801022.849 0, 1146683.236 801031.475 0, 1146967.415 801040.116 0, 1147251.594 801048.775 0, 1147535.773 801057.45 0,
+ 1147819.951 801066.142 0, 1148104.128 801074.851 0, 1148388.305 801083.577 0, 1148672.482 801092.319 0, 1148956.657 801101.078 0, 1149240.833 801109.853 0, 1149525.008 801118.646 0, 1149809.182 801127.455 0, 1150092.005 801136.239 0, 1150265.219 795564.323 0,
+ 1150438.427 789992.636 0))
+
+POLYGON ((1163731.723 801579.544 0, 1163448.924 801569.961 0, 1163164.775 801560.349 0, 1162880.626 801550.754 0, 1162596.477 801541.176 0, 1162312.327 801531.614 0, 1162028.176 801522.069 0, 1161744.025 801512.54 0, 1161459.873 801503.029 0, 1161175.721 801493.534 0,
+ 1160891.568 801484.056 0, 1160607.415 801474.595 0, 1160323.261 801465.15 0, 1160039.106 801455.722 0, 1159754.951 801446.311 0, 1159470.796 801436.916 0, 1159186.639 801427.538 0, 1158902.483 801418.177 0, 1158618.325 801408.833 0, 1158334.168 801399.505 0,
+ 1158050.009 801390.195 0, 1157765.85 801380.9 0, 1157481.691 801371.623 0, 1157197.531 801362.362 0, 1156912.02 801353.075 0, 1156629.209 801343.891 0, 1156345.047 801334.681 0, 1156060.885 801325.487 0, 1155776.723 801316.31 0, 1155492.559 801307.149 0,
+ 1155208.396 801298.006 0, 1154924.231 801288.879 0, 1154640.066 801279.769 0, 1154355.901 801270.675 0, 1154071.735 801261.599 0, 1153787.568 801252.539 0, 1153503.401 801243.495 0, 1153219.234 801234.469 0, 1152935.066 801225.459 0, 1152650.897 801216.466 0,
+ 1152366.728 801207.489 0, 1152082.558 801198.53 0, 1151798.388 801189.587 0, 1151514.217 801180.661 0, 1151230.046 801171.751 0, 1150945.874 801162.859 0, 1150661.702 801153.983 0, 1150377.529 801145.123 0, 1150092.005 801136.239 0, 1149918.784 806708.38 0,
+ 1149745.555 812280.742 0, 1150030.421 812289.606 0, 1150313.937 812298.445 0, 1150597.454 812307.301 0, 1150880.97 812316.173 0, 1151164.485 812325.062 0, 1151448 812333.967 0, 1151731.514 812342.889 0, 1152015.028 812351.828 0, 1152298.541 812360.784 0,
+ 1152582.054 812369.756 0, 1152865.566 812378.745 0, 1153149.077 812387.751 0, 1153432.588 812396.774 0, 1153716.099 812405.813 0, 1153999.609 812414.868 0, 1154283.119 812423.941 0, 1154566.628 812433.03 0, 1154850.136 812442.136 0, 1155133.644 812451.258 0,
+ 1155417.151 812460.398 0, 1155700.658 812469.553 0, 1155984.164 812478.726 0, 1156267.67 812487.915 0, 1156549.828 812497.077 0, 1156834.68 812506.344 0, 1157118.184 812515.583 0, 1157401.687 812524.839 0, 1157685.19 812534.112 0, 1157968.693 812543.401 0,
+ 1158252.195 812552.707 0, 1158535.696 812562.03 0, 1158819.197 812571.369 0, 1159102.697 812580.726 0, 1159386.197 812590.098 0, 1159669.696 812599.488 0, 1159953.195 812608.894 0, 1160236.693 812618.317 0, 1160520.19 812627.757 0, 1160803.687 812637.213 0,
+ 1161087.184 812646.686 0, 1161370.68 812656.175 0, 1161654.175 812665.682 0, 1161937.67 812675.205 0, 1162221.164 812684.744 0, 1162504.657 812694.301 0, 1162788.15 812703.874 0, 1163071.643 812713.463 0, 1163353.789 812723.024 0, 1163542.76 807151.173 0,
+ 1163731.723 801579.544 0))
+
+POLYGON ((1176960.719 813203.75 0, 1176678.599 813193.392 0, 1176395.135 813183.002 0, 1176111.67 813172.628 0, 1175828.204 813162.271 0, 1175544.738 813151.93 0, 1175261.271 813141.606 0, 1174977.804 813131.299 0, 1174694.336 813121.008 0, 1174410.868 813110.735 0,
+ 1174127.399 813100.477 0, 1173843.929 813090.237 0, 1173560.459 813080.013 0, 1173276.988 813069.806 0, 1172993.516 813059.616 0, 1172710.044 813049.442 0, 1172426.571 813039.285 0, 1172143.098 813029.145 0, 1171859.624 813019.021 0, 1171576.15 813008.914 0,
+ 1171292.675 812998.824 0, 1171009.199 812988.75 0, 1170725.723 812978.693 0, 1170442.246 812968.653 0, 1170157.424 812958.582 0, 1169875.29 812948.623 0, 1169591.812 812938.632 0, 1169308.332 812928.659 0, 1169024.853 812918.702 0, 1168741.372 812908.762 0,
+ 1168457.891 812898.839 0, 1168174.41 812888.932 0, 1167890.928 812879.042 0, 1167607.445 812869.168 0, 1167323.962 812859.312 0, 1167040.478 812849.472 0, 1166756.993 812839.648 0, 1166473.508 812829.842 0, 1166190.022 812820.052 0, 1165906.536 812810.278 0,
+ 1165623.05 812800.522 0, 1165339.562 812790.782 0, 1165056.074 812781.059 0, 1164772.586 812771.352 0, 1164489.097 812761.662 0, 1164205.607 812751.989 0, 1163922.117 812742.333 0, 1163638.626 812732.693 0, 1163353.789 812723.024 0, 1163164.811 818295.093 0,
+ 1162975.826 823867.376 0, 1163260.004 823877.022 0, 1163542.839 823886.64 0, 1163825.673 823896.274 0, 1164108.507 823905.925 0, 1164391.34 823915.592 0, 1164674.172 823925.276 0, 1164957.004 823934.977 0, 1165239.836 823944.694 0, 1165522.667 823954.428 0,
+ 1165805.497 823964.179 0, 1166088.327 823973.946 0, 1166371.156 823983.73 0, 1166653.984 823993.531 0, 1166936.812 824003.348 0, 1167219.64 824013.182 0, 1167502.467 824023.032 0, 1167785.293 824032.899 0, 1168068.118 824042.783 0, 1168350.944 824052.684 0,
+ 1168633.768 824062.601 0, 1168916.592 824072.535 0, 1169199.415 824082.485 0, 1169482.238 824092.452 0, 1169763.719 824102.388 0, 1170047.882 824112.436 0, 1170330.703 824122.453 0, 1170613.523 824132.487 0, 1170896.343 824142.537 0, 1171179.162 824152.604 0,
+ 1171461.981 824162.688 0, 1171744.799 824172.788 0, 1172027.616 824182.905 0, 1172310.433 824193.038 0, 1172593.249 824203.189 0, 1172876.065 824213.355 0, 1173158.88 824223.539 0, 1173441.694 824233.739 0, 1173724.508 824243.956 0, 1174007.321 824254.189 0,
+ 1174290.134 824264.439 0, 1174572.946 824274.706 0, 1174855.757 824284.989 0, 1175138.568 824295.289 0, 1175421.378 824305.606 0, 1175704.188 824315.939 0, 1175986.997 824326.289 0, 1176269.805 824336.656 0, 1176551.273 824346.99 0, 1176756 818775.263 0,
+ 1176960.719 813203.75 0))
+
+POLYGON ((1190125.31 824864.954 0, 1189843.871 824853.825 0, 1189561.093 824842.66 0, 1189278.314 824831.511 0, 1188995.535 824820.379 0, 1188712.755 824809.263 0, 1188429.975 824798.164 0, 1188147.193 824787.082 0, 1187864.411 824776.016 0, 1187581.629 824764.967 0,
+ 1187298.846 824753.935 0, 1187016.062 824742.919 0, 1186733.277 824731.92 0, 1186450.492 824720.938 0, 1186167.706 824709.972 0, 1185884.92 824699.023 0, 1185602.133 824688.09 0, 1185319.345 824677.174 0, 1185036.557 824666.275 0, 1184753.768 824655.393 0,
+ 1184470.978 824644.527 0, 1184188.188 824633.677 0, 1183905.397 824622.845 0, 1183622.606 824612.029 0, 1183338.475 824601.178 0, 1183057.021 824590.447 0, 1182774.227 824579.681 0, 1182491.433 824568.931 0, 1182208.638 824558.199 0, 1181925.843 824547.482 0,
+ 1181643.047 824536.783 0, 1181360.251 824526.1 0, 1181077.453 824515.434 0, 1180794.655 824504.784 0, 1180511.857 824494.152 0, 1180229.058 824483.535 0, 1179946.258 824472.936 0, 1179663.458 824462.353 0, 1179380.657 824451.786 0, 1179097.855 824441.237 0,
+ 1178815.053 824430.704 0, 1178532.25 824420.187 0, 1178249.447 824409.688 0, 1177966.643 824399.205 0, 1177683.838 824388.738 0, 1177401.033 824378.288 0, 1177118.227 824367.855 0, 1176835.42 824357.439 0, 1176551.273 824346.99 0, 1176346.538 829918.927 0,
+ 1176141.796 835491.071 0, 1176425.284 835501.496 0, 1176707.434 835511.888 0, 1176989.584 835522.297 0, 1177271.734 835532.722 0, 1177553.883 835543.165 0, 1177836.031 835553.623 0, 1178118.178 835564.099 0, 1178400.325 835574.591 0, 1178682.472 835585.099 0,
+ 1178964.617 835595.625 0, 1179246.762 835606.166 0, 1179528.907 835616.725 0, 1179811.051 835627.3 0, 1180093.194 835637.891 0, 1180375.336 835648.5 0, 1180657.478 835659.124 0, 1180939.62 835669.766 0, 1181221.76 835680.424 0, 1181503.9 835691.099 0,
+ 1181786.04 835701.79 0, 1182068.179 835712.498 0, 1182350.317 835723.222 0, 1182632.454 835733.963 0, 1182913.256 835744.67 0, 1183196.728 835755.495 0, 1183478.863 835766.286 0, 1183760.998 835777.094 0, 1184043.133 835787.918 0, 1184325.267 835798.759 0,
+ 1184607.4 835809.616 0, 1184889.532 835820.49 0, 1185171.664 835831.38 0, 1185453.795 835842.287 0, 1185735.926 835853.211 0, 1186018.056 835864.152 0, 1186300.185 835875.109 0, 1186582.313 835886.082 0, 1186864.441 835897.072 0, 1187146.569 835908.079 0,
+ 1187428.695 835919.102 0, 1187710.821 835930.142 0, 1187992.947 835941.199 0, 1188275.072 835952.272 0, 1188557.196 835963.362 0, 1188839.319 835974.468 0, 1189121.442 835985.591 0, 1189403.564 835996.731 0, 1189684.351 836007.834 0, 1189904.835 830436.291 0,
+ 1190125.31 824864.954 0))
+
+POLYGON ((1203225.392 836562.856 0, 1202944.635 836550.959 0, 1202662.546 836539.023 0, 1202380.456 836527.103 0, 1202098.365 836515.199 0, 1201816.273 836503.313 0, 1201534.181 836491.442 0, 1201252.088 836479.589 0, 1200969.994 836467.752 0, 1200687.9 836455.931 0,
+ 1200405.805 836444.128 0, 1200123.709 836432.34 0, 1199841.612 836420.57 0, 1199559.515 836408.816 0, 1199277.417 836397.078 0, 1198995.319 836385.358 0, 1198713.219 836373.654 0, 1198431.119 836361.966 0, 1198149.019 836350.295 0, 1197866.918 836338.641 0,
+ 1197584.816 836327.003 0, 1197302.713 836315.382 0, 1197020.609 836303.777 0, 1196738.505 836292.189 0, 1196455.067 836280.563 0, 1196174.295 836269.063 0, 1195892.189 836257.525 0, 1195610.082 836246.004 0, 1195327.975 836234.499 0, 1195045.867 836223.01 0,
+ 1194763.758 836211.539 0, 1194481.649 836200.083 0, 1194199.538 836188.645 0, 1193917.428 836177.223 0, 1193635.316 836165.818 0, 1193353.204 836154.429 0, 1193071.091 836143.057 0, 1192788.978 836131.702 0, 1192506.863 836120.363 0, 1192224.749 836109.04 0,
+ 1191942.633 836097.735 0, 1191660.517 836086.446 0, 1191378.4 836075.173 0, 1191096.283 836063.917 0, 1190814.165 836052.678 0, 1190532.046 836041.455 0, 1190249.926 836030.249 0, 1189967.806 836019.06 0, 1189684.351 836007.834 0, 1189463.859 841579.581 0,
+ 1189243.359 847151.527 0, 1189526.155 847162.726 0, 1189807.619 847173.89 0, 1190089.083 847185.07 0, 1190370.546 847196.266 0, 1190652.008 847207.479 0, 1190933.47 847218.709 0, 1191214.931 847229.955 0, 1191496.391 847241.218 0, 1191777.851 847252.497 0,
+ 1192059.31 847263.793 0, 1192340.768 847275.106 0, 1192622.226 847286.435 0, 1192903.682 847297.781 0, 1193185.139 847309.143 0, 1193466.594 847320.522 0, 1193748.049 847331.917 0, 1194029.504 847343.329 0, 1194310.957 847354.757 0, 1194592.41 847366.202 0,
+ 1194873.862 847377.664 0, 1195155.314 847389.142 0, 1195436.765 847400.637 0, 1195718.215 847412.148 0, 1195998.334 847423.621 0, 1196281.114 847435.22 0, 1196562.562 847446.781 0, 1196844.009 847458.359 0, 1197125.456 847469.953 0, 1197406.902 847481.564 0,
+ 1197688.348 847493.191 0, 1197969.792 847504.835 0, 1198251.237 847516.495 0, 1198532.68 847528.172 0, 1198814.123 847539.866 0, 1199095.565 847551.576 0, 1199377.006 847563.302 0, 1199658.447 847575.046 0, 1199939.887 847586.805 0, 1200221.326 847598.582 0,
+ 1200502.764 847610.375 0, 1200784.202 847622.184 0, 1201065.64 847634.01 0, 1201347.076 847645.853 0, 1201628.512 847657.712 0, 1201909.947 847669.588 0, 1202191.381 847681.48 0, 1202472.815 847693.389 0, 1202752.919 847705.258 0, 1202989.159 842133.957 0,
+ 1203225.392 836562.856 0))
+
+POLYGON ((1216260.86 848297.154 0, 1215980.789 848284.494 0, 1215699.39 848271.79 0, 1215417.99 848259.102 0, 1215136.59 848246.432 0, 1214855.189 848233.777 0, 1214573.787 848221.14 0, 1214292.384 848208.519 0, 1214010.981 848195.914 0, 1213729.577 848183.326 0,
+ 1213448.172 848170.755 0, 1213166.766 848158.2 0, 1212885.36 848145.662 0, 1212603.953 848133.14 0, 1212322.545 848120.635 0, 1212041.137 848108.146 0, 1211759.727 848095.674 0, 1211478.317 848083.218 0, 1211196.906 848070.78 0, 1210915.495 848058.357 0,
+ 1210634.083 848045.951 0, 1210352.67 848033.562 0, 1210071.256 848021.19 0, 1209789.842 848008.833 0, 1209507.098 847996.436 0, 1209227.011 847984.171 0, 1208945.594 847971.865 0, 1208664.177 847959.575 0, 1208382.759 847947.301 0, 1208101.34 847935.045 0,
+ 1207819.921 847922.805 0, 1207538.5 847910.581 0, 1207257.079 847898.374 0, 1206975.658 847886.184 0, 1206694.236 847874.01 0, 1206412.812 847861.852 0, 1206131.389 847849.712 0, 1205849.964 847837.587 0, 1205568.539 847825.48 0, 1205287.113 847813.389 0,
+ 1205005.686 847801.314 0, 1204724.259 847789.256 0, 1204442.831 847777.215 0, 1204161.402 847765.19 0, 1203879.973 847753.182 0, 1203598.543 847741.19 0, 1203317.112 847729.215 0, 1203035.68 847717.256 0, 1202752.919 847705.258 0, 1202516.67 853276.754 0,
+ 1202280.412 858848.442 0, 1202562.515 858860.413 0, 1202843.291 858872.343 0, 1203124.066 858884.291 0, 1203404.84 858896.254 0, 1203685.614 858908.235 0, 1203966.387 858920.231 0, 1204247.159 858932.245 0, 1204527.93 858944.275 0, 1204808.701 858956.321 0,
+ 1205089.471 858968.384 0, 1205370.24 858980.463 0, 1205651.009 858992.559 0, 1205931.777 859004.672 0, 1206212.544 859016.801 0, 1206493.311 859028.946 0, 1206774.076 859041.108 0, 1207054.842 859053.287 0, 1207335.606 859065.482 0, 1207616.37 859077.694 0,
+ 1207897.132 859089.922 0, 1208177.895 859102.166 0, 1208458.656 859114.428 0, 1208739.417 859126.705 0, 1209018.852 859138.941 0, 1209300.936 859151.31 0, 1209581.695 859163.638 0, 1209862.453 859175.981 0, 1210143.21 859188.342 0, 1210423.966 859200.719 0,
+ 1210704.722 859213.112 0, 1210985.477 859225.522 0, 1211266.231 859237.948 0, 1211546.985 859250.391 0, 1211827.737 859262.851 0, 1212108.489 859275.327 0, 1212389.241 859287.819 0, 1212669.991 859300.329 0, 1212950.741 859312.854 0, 1213231.49 859325.396 0,
+ 1213512.238 859337.955 0, 1213792.986 859350.53 0, 1214073.733 859363.122 0, 1214354.479 859375.73 0, 1214635.224 859388.355 0, 1214915.969 859400.996 0, 1215196.713 859413.654 0, 1215477.456 859426.328 0, 1215756.874 859438.959 0, 1216008.872 853867.961 0,
+ 1216260.86 848297.154 0))
+
+POLYGON ((1229231.614 860067.547 0, 1228952.23 860054.126 0, 1228671.524 860040.659 0, 1228390.817 860027.208 0, 1228110.109 860013.774 0, 1227829.401 860000.356 0, 1227548.691 859986.955 0, 1227267.981 859973.57 0, 1226987.27 859960.202 0, 1226706.559 859946.85 0,
+ 1226425.846 859933.515 0, 1226145.133 859920.196 0, 1225864.419 859906.894 0, 1225583.704 859893.608 0, 1225302.988 859880.339 0, 1225022.272 859867.086 0, 1224741.555 859853.85 0, 1224460.837 859840.631 0, 1224180.118 859827.427 0, 1223899.398 859814.241 0,
+ 1223618.678 859801.071 0, 1223337.957 859787.917 0, 1223057.235 859774.78 0, 1222776.512 859761.66 0, 1222494.466 859748.494 0, 1222215.065 859735.469 0, 1221934.34 859722.398 0, 1221653.614 859709.343 0, 1221372.888 859696.306 0, 1221092.16 859683.284 0,
+ 1220811.432 859670.28 0, 1220530.704 859657.291 0, 1220249.974 859644.32 0, 1219969.244 859631.364 0, 1219688.513 859618.426 0, 1219407.781 859605.503 0, 1219127.048 859592.598 0, 1218846.315 859579.709 0, 1218565.581 859566.836 0, 1218284.846 859553.98 0,
+ 1218004.11 859541.14 0, 1217723.374 859528.317 0, 1217442.637 859515.511 0, 1217161.899 859502.721 0, 1216881.16 859489.948 0, 1216600.421 859477.191 0, 1216319.681 859464.45 0, 1216038.94 859451.726 0, 1215756.874 859438.959 0, 1215504.869 865010.146 0,
+ 1215252.854 870581.516 0, 1215534.261 870594.254 0, 1215814.346 870606.948 0, 1216094.43 870619.659 0, 1216374.514 870632.386 0, 1216654.597 870645.129 0, 1216934.679 870657.889 0, 1217214.76 870670.666 0, 1217494.841 870683.459 0, 1217774.921 870696.269 0,
+ 1218055 870709.095 0, 1218335.078 870721.937 0, 1218615.155 870734.796 0, 1218895.232 870747.672 0, 1219175.308 870760.564 0, 1219455.384 870773.472 0, 1219735.458 870786.397 0, 1220015.532 870799.339 0, 1220295.605 870812.297 0, 1220575.677 870825.271 0,
+ 1220855.748 870838.262 0, 1221135.819 870851.269 0, 1221415.889 870864.293 0, 1221695.958 870877.333 0, 1221974.707 870890.329 0, 1222256.094 870903.464 0, 1222536.161 870916.553 0, 1222816.227 870929.66 0, 1223096.292 870942.782 0, 1223376.357 870955.922 0,
+ 1223656.421 870969.077 0, 1223936.484 870982.25 0, 1224216.546 870995.438 0, 1224496.607 871008.643 0, 1224776.668 871021.865 0, 1225056.728 871035.103 0, 1225336.787 871048.358 0, 1225616.845 871061.629 0, 1225896.903 871074.917 0, 1226176.96 871088.221 0,
+ 1226457.016 871101.541 0, 1226737.071 871114.878 0, 1227017.125 871128.232 0, 1227297.179 871141.602 0, 1227577.232 871154.988 0, 1227857.284 871168.391 0, 1228137.335 871181.811 0, 1228417.385 871195.247 0, 1228696.117 871208.636 0, 1228963.87 865637.999 0,
+ 1229231.614 860067.547 0))
+
+POLYGON ((1242137.553 871873.732 0, 1241858.859 871859.556 0, 1241578.848 871845.329 0, 1241298.835 871831.118 0, 1241018.822 871816.924 0, 1240738.808 871802.746 0, 1240458.794 871788.585 0, 1240178.778 871774.44 0, 1239898.762 871760.312 0, 1239618.745 871746.201 0,
+ 1239338.726 871732.105 0, 1239058.708 871718.027 0, 1238778.688 871703.964 0, 1238498.667 871689.918 0, 1238218.646 871675.889 0, 1237938.624 871661.876 0, 1237658.601 871647.88 0, 1237378.577 871633.9 0, 1237098.552 871619.937 0, 1236818.527 871605.99 0,
+ 1236538.501 871592.059 0, 1236258.473 871578.145 0, 1235978.445 871564.248 0, 1235698.417 871550.367 0, 1235417.07 871536.437 0, 1235138.357 871522.654 0, 1234858.326 871508.823 0, 1234578.294 871495.008 0, 1234298.261 871481.209 0, 1234018.227 871467.427 0,
+ 1233738.193 871453.662 0, 1233458.157 871439.912 0, 1233178.121 871426.18 0, 1232898.084 871412.464 0, 1232618.047 871398.764 0, 1232338.008 871385.081 0, 1232057.969 871371.414 0, 1231777.929 871357.764 0, 1231497.888 871344.13 0, 1231217.846 871330.513 0,
+ 1230937.804 871316.912 0, 1230657.76 871303.328 0, 1230377.716 871289.76 0, 1230097.671 871276.209 0, 1229817.626 871262.674 0, 1229537.579 871249.155 0, 1229257.532 871235.654 0, 1228977.484 871222.168 0, 1228696.117 871208.636 0, 1228428.355 876779.453 0,
+ 1228160.584 882350.447 0, 1228441.293 882363.948 0, 1228720.685 882377.401 0, 1229000.076 882390.872 0, 1229279.467 882404.358 0, 1229558.857 882417.861 0, 1229838.246 882431.381 0, 1230117.635 882444.917 0, 1230397.022 882458.47 0, 1230676.409 882472.039 0,
+ 1230955.795 882485.624 0, 1231235.18 882499.226 0, 1231514.564 882512.844 0, 1231793.948 882526.479 0, 1232073.33 882540.13 0, 1232352.712 882553.797 0, 1232632.094 882567.482 0, 1232911.474 882581.182 0, 1233190.853 882594.899 0, 1233470.232 882608.632 0,
+ 1233749.61 882622.382 0, 1234028.987 882636.148 0, 1234308.363 882649.931 0, 1234587.739 882663.73 0, 1234865.799 882677.481 0, 1235146.487 882691.378 0, 1235425.86 882705.226 0, 1235705.232 882719.091 0, 1235984.604 882732.973 0, 1236263.974 882746.87 0,
+ 1236543.344 882760.785 0, 1236822.713 882774.715 0, 1237102.081 882788.662 0, 1237381.448 882802.626 0, 1237660.815 882816.606 0, 1237940.181 882830.603 0, 1238219.545 882844.615 0, 1238498.909 882858.645 0, 1238778.273 882872.691 0, 1239057.635 882886.753 0,
+ 1239336.996 882900.832 0, 1239616.357 882914.927 0, 1239895.717 882929.038 0, 1240175.076 882943.166 0, 1240454.434 882957.311 0, 1240733.791 882971.472 0, 1241013.148 882985.649 0, 1241292.504 882999.843 0, 1241570.546 883013.986 0, 1241854.054 877443.771 0,
+ 1242137.553 871873.732 0))
+
+POLYGON ((1254978.579 883715.408 0, 1254700.576 883700.479 0, 1254421.261 883685.496 0, 1254141.946 883670.53 0, 1253862.63 883655.58 0, 1253583.313 883640.646 0, 1253303.995 883625.729 0, 1253024.676 883610.828 0, 1252745.356 883595.944 0, 1252466.035 883581.076 0,
+ 1252186.714 883566.224 0, 1251907.391 883551.389 0, 1251628.068 883536.571 0, 1251348.744 883521.769 0, 1251069.419 883506.983 0, 1250790.093 883492.214 0, 1250510.767 883477.461 0, 1250231.439 883462.725 0, 1249952.111 883448.005 0, 1249672.781 883433.301 0,
+ 1249393.451 883418.614 0, 1249114.12 883403.944 0, 1248834.788 883389.29 0, 1248555.455 883374.652 0, 1248274.81 883359.962 0, 1247996.787 883345.426 0, 1247717.452 883330.837 0, 1247438.116 883316.266 0, 1247158.778 883301.71 0, 1246879.441 883287.171 0,
+ 1246600.102 883272.648 0, 1246320.762 883258.142 0, 1246041.422 883243.652 0, 1245762.08 883229.179 0, 1245482.738 883214.722 0, 1245203.395 883200.282 0, 1244924.051 883185.858 0, 1244644.706 883171.45 0, 1244365.361 883157.059 0, 1244086.014 883142.685 0,
+ 1243806.667 883128.327 0, 1243527.319 883113.985 0, 1243247.97 883099.659 0, 1242968.62 883085.351 0, 1242689.27 883071.058 0, 1242409.918 883056.782 0, 1242130.566 883042.523 0, 1241851.213 883028.28 0, 1241570.546 883013.986 0, 1241287.028 888584.374 0,
+ 1241003.502 894154.931 0, 1241283.511 894169.191 0, 1241562.208 894183.401 0, 1241840.905 894197.627 0, 1242119.6 894211.87 0, 1242398.295 894226.128 0, 1242676.99 894240.404 0, 1242955.683 894254.695 0, 1243234.375 894269.003 0, 1243513.067 894283.328 0,
+ 1243791.757 894297.669 0, 1244070.447 894312.026 0, 1244349.136 894326.4 0, 1244627.825 894340.79 0, 1244906.512 894355.197 0, 1245185.198 894369.619 0, 1245463.884 894384.059 0, 1245742.569 894398.514 0, 1246021.253 894412.987 0, 1246299.936 894427.475 0,
+ 1246578.618 894441.98 0, 1246857.299 894456.501 0, 1247135.98 894471.039 0, 1247414.66 894485.593 0, 1247692.03 894500.095 0, 1247972.016 894514.751 0, 1248250.693 894529.354 0, 1248529.37 894543.974 0, 1248808.045 894558.61 0, 1249086.72 894573.262 0,
+ 1249365.393 894587.931 0, 1249644.066 894602.617 0, 1249922.738 894617.319 0, 1250201.409 894632.037 0, 1250480.079 894646.771 0, 1250758.749 894661.522 0, 1251037.417 894676.29 0, 1251316.085 894691.073 0, 1251594.751 894705.873 0, 1251873.417 894720.69 0,
+ 1252152.082 894735.523 0, 1252430.746 894750.372 0, 1252709.409 894765.238 0, 1252988.072 894780.12 0, 1253266.733 894795.019 0, 1253545.394 894809.934 0, 1253824.053 894824.865 0, 1254102.712 894839.813 0, 1254380.063 894854.707 0, 1254679.325 889284.973 0,
+ 1254978.579 883715.408 0))
+
+POLYGON ((1267754.593 895592.271 0, 1267477.283 895576.593 0, 1267198.668 895560.858 0, 1266920.051 895545.14 0, 1266641.434 895529.438 0, 1266362.816 895513.752 0, 1266084.197 895498.083 0, 1265805.576 895482.43 0, 1265526.955 895466.793 0, 1265248.333 895451.173 0,
+ 1264969.711 895435.569 0, 1264691.087 895419.982 0, 1264412.462 895404.411 0, 1264133.836 895388.856 0, 1263855.21 895373.318 0, 1263576.582 895357.796 0, 1263297.954 895342.291 0, 1263019.325 895326.802 0, 1262740.695 895311.329 0, 1262462.064 895295.873 0,
+ 1262183.432 895280.433 0, 1261904.799 895265.01 0, 1261626.165 895249.603 0, 1261347.53 895234.212 0, 1261067.588 895218.766 0, 1260790.258 895203.48 0, 1260511.621 895188.139 0, 1260232.982 895172.814 0, 1259954.343 895157.505 0, 1259675.703 895142.213 0,
+ 1259397.062 895126.937 0, 1259118.42 895111.678 0, 1258839.777 895096.435 0, 1258561.133 895081.208 0, 1258282.489 895065.998 0, 1258003.843 895050.804 0, 1257725.197 895035.627 0, 1257446.549 895020.466 0, 1257167.901 895005.321 0, 1256889.252 894990.193 0,
+ 1256610.602 894975.081 0, 1256331.951 894959.986 0, 1256053.299 894944.907 0, 1255774.647 894929.844 0, 1255495.993 894914.798 0, 1255217.339 894899.768 0, 1254938.684 894884.755 0, 1254660.027 894869.758 0, 1254380.063 894854.707 0, 1254080.791 900424.606 0,
+ 1253781.511 905994.667 0, 1254060.817 906009.682 0, 1254338.818 906024.644 0, 1254616.817 906039.622 0, 1254894.816 906054.616 0, 1255172.814 906069.627 0, 1255450.811 906084.654 0, 1255728.807 906099.698 0, 1256006.802 906114.758 0, 1256284.796 906129.834 0,
+ 1256562.79 906144.927 0, 1256840.782 906160.036 0, 1257118.774 906175.161 0, 1257396.765 906190.303 0, 1257674.755 906205.461 0, 1257952.744 906220.635 0, 1258230.732 906235.826 0, 1258508.719 906251.033 0, 1258786.705 906266.256 0, 1259064.691 906281.496 0,
+ 1259342.675 906296.752 0, 1259620.659 906312.025 0, 1259898.642 906327.314 0, 1260176.623 906342.619 0, 1260453.301 906357.869 0, 1260732.584 906373.279 0, 1261010.563 906388.633 0, 1261288.542 906404.004 0, 1261566.519 906419.391 0, 1261844.495 906434.795 0,
+ 1262122.471 906450.215 0, 1262400.445 906465.651 0, 1262678.419 906481.103 0, 1262956.392 906496.572 0, 1263234.364 906512.057 0, 1263512.334 906527.559 0, 1263790.305 906543.077 0, 1264068.274 906558.611 0, 1264346.242 906574.162 0, 1264624.209 906589.729 0,
+ 1264902.175 906605.313 0, 1265180.141 906620.912 0, 1265458.105 906636.529 0, 1265736.069 906652.161 0, 1266014.032 906667.81 0, 1266291.993 906683.475 0, 1266569.954 906699.157 0, 1266847.914 906714.855 0, 1267124.571 906730.495 0, 1267439.586 901161.303 0,
+ 1267754.593 895592.271 0))
+
+POLYGON ((1280465.499 907504.018 0, 1280188.885 907487.595 0, 1279910.971 907471.112 0, 1279633.055 907454.645 0, 1279355.139 907438.195 0, 1279077.221 907421.761 0, 1278799.303 907405.343 0, 1278521.384 907388.942 0, 1278243.464 907372.556 0, 1277965.542 907356.188 0,
+ 1277687.62 907339.835 0, 1277409.697 907323.5 0, 1277131.773 907307.18 0, 1276853.848 907290.877 0, 1276575.922 907274.59 0, 1276297.995 907258.319 0, 1276020.067 907242.065 0, 1275742.138 907225.827 0, 1275464.208 907209.606 0, 1275186.277 907193.401 0,
+ 1274908.346 907177.212 0, 1274630.413 907161.04 0, 1274352.479 907144.884 0, 1274074.545 907128.744 0, 1273795.308 907112.545 0, 1273518.672 907096.514 0, 1273240.735 907080.423 0, 1272962.797 907064.349 0, 1272684.857 907048.291 0, 1272406.917 907032.249 0,
+ 1272128.976 907016.224 0, 1271851.034 907000.216 0, 1271573.09 906984.223 0, 1271295.146 906968.247 0, 1271017.201 906952.287 0, 1270739.255 906936.344 0, 1270461.309 906920.417 0, 1270183.361 906904.506 0, 1269905.412 906888.612 0, 1269627.462 906872.734 0,
+ 1269349.512 906856.873 0, 1269071.56 906841.027 0, 1268793.608 906825.199 0, 1268515.654 906809.386 0, 1268237.7 906793.59 0, 1267959.745 906777.81 0, 1267681.788 906762.047 0, 1267403.831 906746.3 0, 1267124.571 906730.495 0, 1266809.547 912299.846 0,
+ 1266494.514 917869.35 0, 1266773.115 917885.117 0, 1267050.417 917900.827 0, 1267327.717 917916.553 0, 1267605.017 917932.296 0, 1267882.316 917948.055 0, 1268159.614 917963.83 0, 1268436.911 917979.621 0, 1268714.207 917995.429 0, 1268991.502 918011.253 0,
+ 1269268.796 918027.094 0, 1269546.089 918042.95 0, 1269823.381 918058.824 0, 1270100.672 918074.713 0, 1270377.963 918090.619 0, 1270655.252 918106.541 0, 1270932.541 918122.479 0, 1271209.828 918138.434 0, 1271487.115 918154.405 0, 1271764.401 918170.392 0,
+ 1272041.685 918186.396 0, 1272318.969 918202.416 0, 1272596.252 918218.452 0, 1272873.534 918234.505 0, 1273149.517 918250.499 0, 1273428.095 918266.659 0, 1273705.374 918282.761 0, 1273982.652 918298.879 0, 1274259.929 918315.013 0, 1274537.205 918331.163 0,
+ 1274814.481 918347.33 0, 1275091.755 918363.514 0, 1275369.028 918379.713 0, 1275646.301 918395.929 0, 1275923.572 918412.161 0, 1276200.843 918428.41 0, 1276478.112 918444.674 0, 1276755.381 918460.955 0, 1277032.648 918477.253 0, 1277309.915 918493.567 0,
+ 1277587.181 918509.897 0, 1277864.445 918526.243 0, 1278141.709 918542.606 0, 1278418.972 918558.985 0, 1278696.234 918575.38 0, 1278973.495 918591.792 0, 1279250.755 918608.22 0, 1279528.014 918624.664 0, 1279803.975 918641.048 0, 1280134.741 913072.456 0,
+ 1280465.499 907504.018 0))
+
+POLYGON ((1293111.202 919450.344 0, 1292835.286 919433.181 0, 1292558.075 919415.953 0, 1292280.863 919398.742 0, 1292003.649 919381.547 0, 1291726.435 919364.368 0, 1291449.219 919347.206 0, 1291172.003 919330.06 0, 1290894.786 919312.93 0, 1290617.567 919295.817 0,
+ 1290340.348 919278.72 0, 1290063.127 919261.639 0, 1289785.906 919244.575 0, 1289508.683 919227.527 0, 1289231.46 919210.495 0, 1288954.235 919193.48 0, 1288677.01 919176.481 0, 1288399.783 919159.498 0, 1288122.556 919142.531 0, 1287845.327 919125.581 0,
+ 1287568.098 919108.647 0, 1287290.867 919091.73 0, 1287013.636 919074.829 0, 1286736.403 919057.944 0, 1286457.874 919040.996 0, 1286181.936 919024.223 0, 1285904.7 919007.387 0, 1285627.464 918990.567 0, 1285350.226 918973.764 0, 1285072.988 918956.977 0,
+ 1284795.748 918940.206 0, 1284518.508 918923.452 0, 1284241.267 918906.714 0, 1283964.024 918889.992 0, 1283686.781 918873.287 0, 1283409.537 918856.598 0, 1283132.291 918839.925 0, 1282855.045 918823.269 0, 1282577.798 918806.628 0, 1282300.55 918790.005 0,
+ 1282023.3 918773.397 0, 1281746.05 918756.806 0, 1281468.799 918740.231 0, 1281191.547 918723.673 0, 1280914.294 918707.13 0, 1280637.04 918690.604 0, 1280359.785 918674.095 0, 1280082.529 918657.602 0, 1279803.975 918641.048 0, 1279473.199 924209.789 0,
+ 1279142.415 929778.677 0, 1279420.31 929795.192 0, 1279696.911 929811.646 0, 1279973.51 929828.116 0, 1280250.109 929844.603 0, 1280526.707 929861.106 0, 1280803.303 929877.626 0, 1281079.899 929894.161 0, 1281356.494 929910.713 0, 1281633.087 929927.282 0,
+ 1281909.68 929943.866 0, 1282186.272 929960.467 0, 1282462.862 929977.084 0, 1282739.452 929993.717 0, 1283016.041 930010.367 0, 1283292.629 930027.033 0, 1283569.216 930043.715 0, 1283845.802 930060.413 0, 1284122.386 930077.128 0, 1284398.97 930093.859 0,
+ 1284675.553 930110.607 0, 1284952.135 930127.37 0, 1285228.716 930144.15 0, 1285505.296 930160.946 0, 1285780.583 930177.68 0, 1286058.453 930194.587 0, 1286335.03 930211.432 0, 1286611.606 930228.293 0, 1286888.181 930245.171 0, 1287164.755 930262.065 0,
+ 1287441.328 930278.975 0, 1287717.9 930295.901 0, 1287994.471 930312.844 0, 1288271.041 930329.803 0, 1288547.61 930346.778 0, 1288824.178 930363.769 0, 1289100.745 930380.777 0, 1289377.311 930397.801 0, 1289653.876 930414.842 0, 1289930.44 930431.898 0,
+ 1290207.003 930448.971 0, 1290483.565 930466.06 0, 1290760.126 930483.166 0, 1291036.686 930500.287 0, 1291313.245 930517.425 0, 1291589.803 930534.58 0, 1291866.36 930551.75 0, 1292142.916 930568.937 0, 1292418.18 930586.06 0, 1292764.696 925018.129 0,
+ 1293111.202 919450.344 0))
+
+POLYGON ((1305691.61 931430.946 0, 1305416.394 931413.045 0, 1305139.888 931395.077 0, 1304863.38 931377.125 0, 1304586.872 931359.19 0, 1304310.362 931341.271 0, 1304033.852 931323.368 0, 1303757.34 931305.481 0, 1303480.828 931287.61 0, 1303204.314 931269.756 0,
+ 1302927.799 931251.918 0, 1302651.284 931234.097 0, 1302374.767 931216.292 0, 1302098.249 931198.502 0, 1301821.73 931180.73 0, 1301545.21 931162.973 0, 1301268.689 931145.233 0, 1300992.167 931127.509 0, 1300715.644 931109.801 0, 1300439.12 931092.11 0,
+ 1300162.595 931074.435 0, 1299886.068 931056.776 0, 1299609.541 931039.134 0, 1299333.013 931021.507 0, 1299055.193 931003.815 0, 1298779.953 930986.303 0, 1298503.422 930968.726 0, 1298226.889 930951.165 0, 1297950.356 930933.62 0, 1297673.821 930916.091 0,
+ 1297397.286 930898.579 0, 1297120.749 930881.083 0, 1296844.212 930863.603 0, 1296567.673 930846.14 0, 1296291.133 930828.692 0, 1296014.593 930811.261 0, 1295738.051 930793.847 0, 1295461.508 930776.448 0, 1295184.965 930759.066 0, 1294908.42 930741.7 0,
+ 1294631.874 930724.351 0, 1294355.327 930707.017 0, 1294078.779 930689.7 0, 1293802.231 930672.4 0, 1293525.681 930655.115 0, 1293249.13 930637.847 0, 1292972.578 930620.595 0, 1292696.025 930603.359 0, 1292418.18 930586.06 0, 1292071.655 936154.132 0,
+ 1291725.122 941722.343 0, 1292002.308 941739.602 0, 1292278.206 941756.797 0, 1292554.102 941774.008 0, 1292829.998 941791.235 0, 1293105.892 941808.478 0, 1293381.786 941825.738 0, 1293657.678 941843.014 0, 1293933.569 941860.306 0, 1294209.46 941877.615 0,
+ 1294485.349 941894.939 0, 1294761.237 941912.28 0, 1295037.125 941929.638 0, 1295313.011 941947.011 0, 1295588.896 941964.401 0, 1295864.78 941981.807 0, 1296140.663 941999.229 0, 1296416.546 942016.667 0, 1296692.427 942034.122 0, 1296968.307 942051.593 0,
+ 1297244.186 942069.08 0, 1297520.064 942086.583 0, 1297795.941 942104.103 0, 1298071.817 942121.638 0, 1298346.405 942139.108 0, 1298623.566 942156.759 0, 1298899.439 942174.343 0, 1299175.311 942191.944 0, 1299451.182 942209.561 0, 1299727.051 942227.194 0,
+ 1300002.92 942244.844 0, 1300278.788 942262.509 0, 1300554.654 942280.191 0, 1300830.52 942297.889 0, 1301106.385 942315.604 0, 1301382.248 942333.334 0, 1301658.111 942351.081 0, 1301933.972 942368.844 0, 1302209.833 942386.624 0, 1302485.692 942404.419 0,
+ 1302761.55 942422.231 0, 1303037.407 942440.059 0, 1303313.264 942457.903 0, 1303589.119 942475.764 0, 1303864.973 942493.641 0, 1304140.826 942511.534 0, 1304416.678 942529.443 0, 1304692.529 942547.369 0, 1304967.093 942565.227 0, 1305329.356 936998.017 0,
+ 1305691.61 931430.946 0))
+
+POLYGON ((1318206.63 943445.518 0, 1317932.115 943426.884 0, 1317656.316 943408.179 0, 1317380.516 943389.491 0, 1317104.715 943370.818 0, 1316828.912 943352.162 0, 1316553.108 943333.523 0, 1316277.304 943314.899 0, 1316001.498 943296.292 0, 1315725.691 943277.701 0,
+ 1315449.883 943259.126 0, 1315174.074 943240.567 0, 1314898.264 943222.025 0, 1314622.453 943203.498 0, 1314346.64 943184.989 0, 1314070.827 943166.495 0, 1313795.012 943148.017 0, 1313519.197 943129.556 0, 1313243.38 943111.111 0, 1312967.562 943092.682 0,
+ 1312691.743 943074.27 0, 1312415.923 943055.874 0, 1312140.102 943037.493 0, 1311864.28 943019.13 0, 1311587.172 943000.697 0, 1311312.633 942982.451 0, 1311036.807 942964.136 0, 1310760.981 942945.837 0, 1310485.153 942927.554 0, 1310209.325 942909.288 0,
+ 1309933.495 942891.037 0, 1309657.665 942872.803 0, 1309381.833 942854.586 0, 1309106 942836.384 0, 1308830.166 942818.199 0, 1308554.331 942800.03 0, 1308278.495 942781.877 0, 1308002.658 942763.741 0, 1307726.819 942745.62 0, 1307450.98 942727.516 0,
+ 1307175.14 942709.428 0, 1306899.298 942691.357 0, 1306623.456 942673.301 0, 1306347.612 942655.262 0, 1306071.768 942637.239 0, 1305795.922 942619.233 0, 1305520.075 942601.242 0, 1305244.228 942583.268 0, 1304967.093 942565.227 0, 1304604.821 948132.57 0,
+ 1304242.541 953700.044 0, 1304519.017 953718.043 0, 1304794.209 953735.974 0, 1305069.401 953753.922 0, 1305344.591 953771.886 0, 1305619.78 953789.866 0, 1305894.968 953807.862 0, 1306170.156 953825.874 0, 1306445.342 953843.903 0, 1306720.527 953861.948 0,
+ 1306995.711 953880.009 0, 1307270.893 953898.086 0, 1307546.075 953916.18 0, 1307821.256 953934.289 0, 1308096.436 953952.415 0, 1308371.614 953970.557 0, 1308646.792 953988.715 0, 1308921.968 954006.89 0, 1309197.144 954025.08 0, 1309472.318 954043.287 0,
+ 1309747.491 954061.51 0, 1310022.663 954079.75 0, 1310297.835 954098.005 0, 1310573.005 954116.277 0, 1310846.892 954134.479 0, 1311123.341 954152.868 0, 1311398.508 954171.189 0, 1311673.674 954189.525 0, 1311948.839 954207.878 0, 1312224.002 954226.246 0,
+ 1312499.165 954244.631 0, 1312774.326 954263.033 0, 1313049.486 954281.45 0, 1313324.646 954299.883 0, 1313599.804 954318.333 0, 1313874.961 954336.799 0, 1314150.117 954355.281 0, 1314425.272 954373.78 0, 1314700.425 954392.294 0, 1314975.578 954410.825 0,
+ 1315250.73 954429.372 0, 1315525.88 954447.935 0, 1315801.03 954466.514 0, 1316076.178 954485.11 0, 1316351.325 954503.722 0, 1316626.471 954522.35 0, 1316901.617 954540.994 0, 1317176.76 954559.654 0, 1317450.623 954578.243 0, 1317828.631 949011.816 0,
+ 1318206.63 943445.518 0))
+
+POLYGON ((1330656.171 955493.755 0, 1330382.36 955474.392 0, 1330107.27 955454.954 0, 1329832.179 955435.533 0, 1329557.086 955416.127 0, 1329281.993 955396.738 0, 1329006.898 955377.366 0, 1328731.802 955358.009 0, 1328456.705 955338.669 0, 1328181.607 955319.344 0,
+ 1327906.508 955300.036 0, 1327631.408 955280.745 0, 1327356.306 955261.469 0, 1327081.203 955242.21 0, 1326806.1 955222.966 0, 1326530.995 955203.739 0, 1326255.889 955184.528 0, 1325980.781 955165.334 0, 1325705.673 955146.155 0, 1325430.564 955126.993 0,
+ 1325155.453 955107.847 0, 1324880.341 955088.717 0, 1324605.229 955069.603 0, 1324330.115 955050.506 0, 1324053.72 955031.336 0, 1323779.883 955012.359 0, 1323504.766 954993.31 0, 1323229.648 954974.278 0, 1322954.528 954955.261 0, 1322679.407 954936.261 0,
+ 1322404.286 954917.276 0, 1322129.163 954898.308 0, 1321854.039 954879.357 0, 1321578.914 954860.421 0, 1321303.787 954841.502 0, 1321028.66 954822.598 0, 1320753.531 954803.711 0, 1320478.402 954784.841 0, 1320203.271 954765.986 0, 1319928.139 954747.148 0,
+ 1319653.006 954728.325 0, 1319377.872 954709.519 0, 1319102.737 954690.729 0, 1318827.601 954671.956 0, 1318552.464 954653.198 0, 1318277.325 954634.457 0, 1318002.186 954615.732 0, 1317727.045 954597.023 0, 1317450.623 954578.243 0, 1317072.606 960144.797 0,
+ 1316694.581 965711.474 0, 1316970.345 965730.209 0, 1317244.831 965748.873 0, 1317519.315 965767.553 0, 1317793.798 965786.25 0, 1318068.28 965804.963 0, 1318342.761 965823.692 0, 1318617.241 965842.437 0, 1318891.72 965861.198 0, 1319166.197 965879.976 0,
+ 1319440.674 965898.769 0, 1319715.149 965917.579 0, 1319989.624 965936.405 0, 1320264.097 965955.247 0, 1320538.569 965974.105 0, 1320813.04 965992.979 0, 1321087.51 966011.87 0, 1321361.979 966030.776 0, 1321636.447 966049.699 0, 1321910.913 966068.638 0,
+ 1322185.379 966087.593 0, 1322459.843 966106.565 0, 1322734.306 966125.552 0, 1323008.768 966144.556 0, 1323281.953 966163.487 0, 1323557.689 966182.611 0, 1323832.148 966201.663 0, 1324106.605 966220.731 0, 1324381.062 966239.816 0, 1324655.517 966258.916 0,
+ 1324929.971 966278.033 0, 1325204.425 966297.166 0, 1325478.877 966316.315 0, 1325753.327 966335.48 0, 1326027.777 966354.661 0, 1326302.226 966373.859 0, 1326576.673 966393.072 0, 1326851.12 966412.302 0, 1327125.565 966431.548 0, 1327400.009 966450.81 0,
+ 1327674.452 966470.088 0, 1327948.894 966489.382 0, 1328223.334 966508.693 0, 1328497.774 966528.019 0, 1328772.212 966547.362 0, 1329046.649 966566.721 0, 1329321.086 966586.096 0, 1329595.521 966605.488 0, 1329868.679 966624.805 0, 1330262.429 961059.219 0,
+ 1330656.171 955493.755 0))
+
+POLYGON ((1343040.144 967575.351 0, 1342767.039 967555.262 0, 1342492.66 967535.096 0, 1342218.28 967514.945 0, 1341943.898 967494.811 0, 1341669.516 967474.693 0, 1341395.132 967454.591 0, 1341120.747 967434.506 0, 1340846.361 967414.436 0, 1340571.973 967394.382 0,
+ 1340297.585 967374.345 0, 1340023.195 967354.324 0, 1339748.804 967334.319 0, 1339474.412 967314.33 0, 1339200.019 967294.357 0, 1338925.624 967274.401 0, 1338651.229 967254.46 0, 1338376.832 967234.536 0, 1338102.434 967214.628 0, 1337828.035 967194.736 0,
+ 1337553.634 967174.86 0, 1337279.233 967155.001 0, 1337004.83 967135.157 0, 1336730.426 967115.33 0, 1336454.747 967095.427 0, 1336181.615 967075.723 0, 1335907.208 967055.945 0, 1335632.799 967036.182 0, 1335358.39 967016.435 0, 1335083.979 966996.705 0,
+ 1334809.567 966976.99 0, 1334535.154 966957.292 0, 1334260.74 966937.61 0, 1333986.324 966917.944 0, 1333711.908 966898.295 0, 1333437.49 966878.661 0, 1333163.071 966859.044 0, 1332888.651 966839.443 0, 1332614.23 966819.857 0, 1332339.807 966800.289 0,
+ 1332065.384 966780.736 0, 1331790.959 966761.199 0, 1331516.533 966741.679 0, 1331242.106 966722.174 0, 1330967.678 966702.686 0, 1330693.249 966683.214 0, 1330418.819 966663.758 0, 1330144.387 966644.319 0, 1329868.679 966624.805 0, 1329474.921 972190.509 0,
+ 1329081.154 977756.327 0, 1329356.204 977775.794 0, 1329629.98 977795.188 0, 1329903.755 977814.597 0, 1330177.529 977834.023 0, 1330451.302 977853.464 0, 1330725.074 977872.922 0, 1330998.845 977892.396 0, 1331272.614 977911.886 0, 1331546.383 977931.392 0,
+ 1331820.15 977950.914 0, 1332093.916 977970.453 0, 1332367.681 977990.007 0, 1332641.445 978009.578 0, 1332915.207 978029.164 0, 1333188.969 978048.767 0, 1333462.729 978068.386 0, 1333736.488 978088.021 0, 1334010.246 978107.672 0, 1334284.003 978127.339 0,
+ 1334557.759 978147.023 0, 1334831.513 978166.722 0, 1335105.266 978186.438 0, 1335379.019 978206.169 0, 1335651.499 978225.825 0, 1335926.519 978245.681 0, 1336200.268 978265.461 0, 1336474.016 978285.257 0, 1336747.762 978305.069 0, 1337021.507 978324.898 0,
+ 1337295.251 978344.742 0, 1337568.994 978364.603 0, 1337842.736 978384.48 0, 1338116.476 978404.372 0, 1338390.216 978424.281 0, 1338663.954 978444.206 0, 1338937.691 978464.147 0, 1339211.427 978484.105 0, 1339485.162 978504.078 0, 1339758.895 978524.068 0,
+ 1340032.627 978544.073 0, 1340306.358 978564.095 0, 1340580.088 978584.133 0, 1340853.817 978604.187 0, 1341127.545 978624.257 0, 1341401.271 978644.343 0, 1341674.996 978664.445 0, 1341948.72 978684.563 0, 1342221.174 978704.604 0, 1342630.663 973139.921 0,
+ 1343040.144 967575.351 0))
+
+POLYGON ((1355358.462 979690.001 0, 1355086.064 979669.19 0, 1354812.398 979648.298 0, 1354538.731 979627.423 0, 1354265.062 979606.564 0, 1353991.392 979585.72 0, 1353717.721 979564.893 0, 1353444.049 979544.082 0, 1353170.376 979523.287 0, 1352896.701 979502.508 0,
+ 1352623.025 979481.745 0, 1352349.348 979460.999 0, 1352075.669 979440.268 0, 1351801.99 979419.554 0, 1351528.309 979398.856 0, 1351254.627 979378.173 0, 1350980.944 979357.507 0, 1350707.259 979336.857 0, 1350433.574 979316.223 0, 1350159.887 979295.606 0,
+ 1349886.199 979275.004 0, 1349612.509 979254.418 0, 1349338.819 979233.849 0, 1349065.127 979213.296 0, 1348790.166 979192.663 0, 1348517.74 979172.237 0, 1348244.045 979151.732 0, 1347970.348 979131.243 0, 1347696.65 979110.771 0, 1347422.951 979090.314 0,
+ 1347149.251 979069.873 0, 1346875.55 979049.449 0, 1346601.847 979029.041 0, 1346328.144 979008.648 0, 1346054.439 978988.272 0, 1345780.732 978967.912 0, 1345507.025 978947.568 0, 1345233.316 978927.24 0, 1344959.607 978906.929 0, 1344685.896 978886.633 0,
+ 1344412.184 978866.354 0, 1344138.47 978846.09 0, 1343864.756 978825.843 0, 1343591.04 978805.612 0, 1343317.323 978785.397 0, 1343043.605 978765.198 0, 1342769.886 978745.015 0, 1342496.165 978724.848 0, 1342221.174 978704.604 0, 1341811.676 984269.398 0,
+ 1341402.171 989834.298 0, 1341676.504 989854.493 0, 1341949.569 989874.612 0, 1342222.634 989894.746 0, 1342495.697 989914.897 0, 1342768.758 989935.064 0, 1343041.819 989955.246 0, 1343314.879 989975.445 0, 1343587.937 989995.66 0, 1343860.994 990015.891 0,
+ 1344134.05 990036.138 0, 1344407.105 990056.401 0, 1344680.158 990076.68 0, 1344953.211 990096.975 0, 1345226.262 990117.287 0, 1345499.312 990137.614 0, 1345772.36 990157.958 0, 1346045.408 990178.317 0, 1346318.454 990198.693 0, 1346591.499 990219.084 0,
+ 1346864.543 990239.492 0, 1347137.586 990259.916 0, 1347410.628 990280.356 0, 1347683.668 990300.812 0, 1347955.442 990321.189 0, 1348229.745 990341.772 0, 1348502.782 990362.276 0, 1348775.817 990382.796 0, 1349048.852 990403.332 0, 1349321.885 990423.885 0,
+ 1349594.917 990444.453 0, 1349867.947 990465.038 0, 1350140.977 990485.638 0, 1350414.005 990506.255 0, 1350687.032 990526.888 0, 1350960.058 990547.536 0, 1351233.083 990568.201 0, 1351506.106 990588.882 0, 1351779.128 990609.579 0, 1352052.149 990630.292 0,
+ 1352325.169 990651.021 0, 1352598.187 990671.766 0, 1352871.205 990692.528 0, 1353144.221 990713.305 0, 1353417.236 990734.098 0, 1353690.249 990754.908 0, 1353963.262 990775.733 0, 1354236.273 990796.575 0, 1354508.019 990817.336 0, 1354933.244 985253.615 0,
+ 1355358.462 979690.001 0))
+
+POLYGON ((1367611.037 991837.397 0, 1367339.349 991815.868 0, 1367066.398 991794.255 0, 1366793.445 991772.658 0, 1366520.492 991751.078 0, 1366247.537 991729.513 0, 1365974.58 991707.964 0, 1365701.623 991686.432 0, 1365428.664 991664.915 0, 1365155.704 991643.415 0,
+ 1364882.742 991621.931 0, 1364609.78 991600.463 0, 1364336.816 991579.01 0, 1364063.851 991557.574 0, 1363790.884 991536.154 0, 1363517.917 991514.75 0, 1363244.948 991493.362 0, 1362971.978 991471.991 0, 1362699.006 991450.635 0, 1362426.033 991429.295 0,
+ 1362153.059 991407.971 0, 1361880.084 991386.664 0, 1361607.108 991365.372 0, 1361334.13 991344.097 0, 1361059.888 991322.739 0, 1360788.171 991301.594 0, 1360515.189 991280.367 0, 1360242.207 991259.156 0, 1359969.223 991237.961 0, 1359696.238 991216.782 0,
+ 1359423.251 991195.619 0, 1359150.263 991174.472 0, 1358877.274 991153.341 0, 1358604.284 991132.226 0, 1358331.293 991111.127 0, 1358058.3 991090.045 0, 1357785.306 991068.978 0, 1357512.311 991047.928 0, 1357239.315 991026.893 0, 1356966.317 991005.875 0,
+ 1356693.318 990984.873 0, 1356420.318 990963.886 0, 1356147.317 990942.916 0, 1355874.314 990921.962 0, 1355601.31 990901.024 0, 1355328.305 990880.102 0, 1355055.299 990859.196 0, 1354782.292 990838.306 0, 1354508.019 990817.336 0, 1354082.785 996381.159 0,
+ 1353657.544 1001945.079 0, 1353931.159 1001965.999 0, 1354203.512 1001986.839 0, 1354475.863 1002007.695 0, 1354748.213 1002028.567 0, 1355020.562 1002049.454 0, 1355292.91 1002070.358 0, 1355565.256 1002091.278 0, 1355837.601 1002112.214 0, 1356109.945 1002133.166 0,
+ 1356382.288 1002154.134 0, 1356654.629 1002175.118 0, 1356926.97 1002196.118 0, 1357199.309 1002217.134 0, 1357471.646 1002238.166 0, 1357743.983 1002259.214 0, 1358016.318 1002280.278 0, 1358288.652 1002301.358 0, 1358560.985 1002322.454 0, 1358833.316 1002343.567 0,
+ 1359105.647 1002364.695 0, 1359377.976 1002385.839 0, 1359650.304 1002406.999 0, 1359922.63 1002428.176 0, 1360193.695 1002449.27 0, 1360467.28 1002470.576 0, 1360739.602 1002491.801 0, 1361011.924 1002513.041 0, 1361284.244 1002534.298 0, 1361556.563 1002555.57 0,
+ 1361828.881 1002576.859 0, 1362101.198 1002598.163 0, 1362373.513 1002619.484 0, 1362645.827 1002640.82 0, 1362918.14 1002662.173 0, 1363190.452 1002683.542 0, 1363462.762 1002704.926 0, 1363735.071 1002726.327 0, 1364007.379 1002747.744 0, 1364279.685 1002769.177 0,
+ 1364551.991 1002790.625 0, 1364824.294 1002812.09 0, 1365096.597 1002833.571 0, 1365368.899 1002855.068 0, 1365641.199 1002876.581 0, 1365913.498 1002898.11 0, 1366185.795 1002919.655 0, 1366458.092 1002941.216 0, 1366729.128 1002962.693 0, 1367170.086 997399.996 0,
+ 1367611.037 991837.397 0))
+
+POLYGON ((1379797.785 1004017.232 0, 1379526.808 1003994.989 0, 1379254.574 1003972.659 0, 1378982.338 1003950.345 0, 1378710.101 1003928.046 0, 1378437.863 1003905.764 0, 1378165.623 1003883.498 0, 1377893.382 1003861.248 0, 1377621.14 1003839.014 0, 1377348.896 1003816.796 0,
+ 1377076.652 1003794.594 0, 1376804.405 1003772.408 0, 1376532.158 1003750.238 0, 1376259.909 1003728.084 0, 1375987.659 1003705.946 0, 1375715.408 1003683.824 0, 1375443.155 1003661.719 0, 1375170.901 1003639.629 0, 1374898.646 1003617.555 0, 1374626.389 1003595.497 0,
+ 1374354.131 1003573.455 0, 1374081.872 1003551.43 0, 1373809.611 1003529.42 0, 1373537.35 1003507.426 0, 1373263.829 1003485.347 0, 1372992.822 1003463.487 0, 1372720.557 1003441.541 0, 1372448.29 1003419.612 0, 1372176.021 1003397.698 0, 1371903.752 1003375.801 0,
+ 1371631.481 1003353.919 0, 1371359.209 1003332.054 0, 1371086.936 1003310.204 0, 1370814.661 1003288.371 0, 1370542.385 1003266.554 0, 1370270.108 1003244.752 0, 1369997.829 1003222.967 0, 1369725.549 1003201.197 0, 1369453.268 1003179.444 0, 1369180.986 1003157.707 0,
+ 1368908.702 1003135.986 0, 1368636.417 1003114.28 0, 1368364.131 1003092.591 0, 1368091.844 1003070.918 0, 1367819.555 1003049.261 0, 1367547.265 1003027.62 0, 1367274.973 1003005.995 0, 1367002.681 1002984.386 0, 1366729.128 1002962.693 0, 1366288.162 1008525.484 0,
+ 1365847.189 1014088.364 0, 1366120.084 1014110.005 0, 1366391.722 1014131.562 0, 1366663.359 1014153.135 0, 1366934.994 1014174.724 0, 1367206.628 1014196.329 0, 1367478.26 1014217.95 0, 1367749.892 1014239.587 0, 1368021.522 1014261.24 0, 1368293.151 1014282.909 0,
+ 1368564.778 1014304.594 0, 1368836.405 1014326.295 0, 1369108.03 1014348.012 0, 1369379.653 1014369.745 0, 1369651.276 1014391.494 0, 1369922.897 1014413.259 0, 1370194.517 1014435.04 0, 1370466.135 1014456.837 0, 1370737.753 1014478.65 0, 1371009.369 1014500.479 0,
+ 1371280.984 1014522.324 0, 1371552.597 1014544.184 0, 1371824.209 1014566.061 0, 1372095.82 1014587.954 0, 1372366.175 1014609.762 0, 1372639.038 1014631.788 0, 1372910.645 1014653.729 0, 1373182.251 1014675.685 0, 1373453.855 1014697.658 0, 1373725.458 1014719.647 0,
+ 1373997.06 1014741.652 0, 1374268.661 1014763.672 0, 1374540.26 1014785.709 0, 1374811.858 1014807.762 0, 1375083.455 1014829.83 0, 1375355.05 1014851.915 0, 1375626.644 1014874.016 0, 1375898.237 1014896.132 0, 1376169.828 1014918.265 0, 1376441.419 1014940.413 0,
+ 1376713.007 1014962.578 0, 1376984.595 1014984.759 0, 1377256.181 1015006.955 0, 1377527.766 1015029.168 0, 1377799.35 1015051.396 0, 1378070.932 1015073.641 0, 1378342.513 1015095.901 0, 1378614.093 1015118.178 0, 1378884.418 1015140.367 0, 1379341.105 1009578.755 0,
+ 1379797.785 1004017.232 0))
+
+POLYGON ((1391918.622 1016229.199 0, 1391648.359 1016206.245 0, 1391376.843 1016183.202 0, 1391105.326 1016160.174 0, 1390833.808 1016137.162 0, 1390562.288 1016114.167 0, 1390290.767 1016091.187 0, 1390019.244 1016068.223 0, 1389747.72 1016045.275 0, 1389476.195 1016022.344 0,
+ 1389204.669 1015999.428 0, 1388933.141 1015976.528 0, 1388661.612 1015953.644 0, 1388390.081 1015930.776 0, 1388118.549 1015907.924 0, 1387847.016 1015885.088 0, 1387575.482 1015862.268 0, 1387303.946 1015839.465 0, 1387032.408 1015816.677 0, 1386760.87 1015793.905 0,
+ 1386489.33 1015771.149 0, 1386217.789 1015748.409 0, 1385946.246 1015725.685 0, 1385674.702 1015702.977 0, 1385401.904 1015680.18 0, 1385131.61 1015657.608 0, 1384860.062 1015634.948 0, 1384588.513 1015612.304 0, 1384316.962 1015589.676 0, 1384045.41 1015567.064 0,
+ 1383773.857 1015544.468 0, 1383502.302 1015521.888 0, 1383230.746 1015499.323 0, 1382959.189 1015476.775 0, 1382687.63 1015454.243 0, 1382416.07 1015431.727 0, 1382144.509 1015409.227 0, 1381872.947 1015386.742 0, 1381601.383 1015364.274 0, 1381329.818 1015341.822 0,
+ 1381058.251 1015319.385 0, 1380786.683 1015296.965 0, 1380515.114 1015274.561 0, 1380243.543 1015252.172 0, 1379971.972 1015229.8 0, 1379700.399 1015207.443 0, 1379428.824 1015185.103 0, 1379157.248 1015162.779 0, 1378884.418 1015140.367 0, 1378427.723 1020702.065 0,
+ 1377971.022 1026263.845 0, 1378243.195 1026286.203 0, 1378514.116 1026308.473 0, 1378785.036 1026330.76 0, 1379055.955 1026353.062 0, 1379326.872 1026375.381 0, 1379597.787 1026397.715 0, 1379868.702 1026420.065 0, 1380139.615 1026442.432 0, 1380410.527 1026464.814 0,
+ 1380681.438 1026487.212 0, 1380952.347 1026509.626 0, 1381223.255 1026532.056 0, 1381494.161 1026554.502 0, 1381765.067 1026576.964 0, 1382035.97 1026599.442 0, 1382306.873 1026621.936 0, 1382577.774 1026644.446 0, 1382848.674 1026666.972 0, 1383119.573 1026689.513 0,
+ 1383390.47 1026712.071 0, 1383661.366 1026734.644 0, 1383932.261 1026757.234 0, 1384203.154 1026779.839 0, 1384472.797 1026802.356 0, 1384744.937 1026825.098 0, 1385015.826 1026847.751 0, 1385286.714 1026870.421 0, 1385557.601 1026893.106 0, 1385828.486 1026915.807 0,
+ 1386099.37 1026938.524 0, 1386370.253 1026961.257 0, 1386641.134 1026984.006 0, 1386912.014 1027006.771 0, 1387182.893 1027029.552 0, 1387453.77 1027052.349 0, 1387724.646 1027075.161 0, 1387995.521 1027097.99 0, 1388266.394 1027120.835 0, 1388537.266 1027143.695 0,
+ 1388808.136 1027166.572 0, 1389079.006 1027189.464 0, 1389349.874 1027212.373 0, 1389620.74 1027235.297 0, 1389891.605 1027258.237 0, 1390162.469 1027281.193 0, 1390433.332 1027304.165 0, 1390704.193 1027327.154 0, 1390973.804 1027350.052 0, 1391446.217 1021789.584 0,
+ 1391918.622 1016229.199 0))
+
+POLYGON ((871527.2 577666.168 0, 871231.333 577673.701 0, 870934.007 577681.289 0, 870636.681 577688.894 0, 870339.356 577696.517 0, 870042.032 577704.157 0, 869744.707 577711.815 0, 869447.384 577719.49 0, 869150.061 577727.183 0, 868852.738 577734.893 0,
+ 868555.415 577742.621 0, 868258.094 577750.367 0, 867960.772 577758.129 0, 867663.451 577765.91 0, 867366.131 577773.708 0, 867068.811 577781.523 0, 866771.491 577789.356 0, 866474.172 577797.206 0, 866176.853 577805.074 0, 865879.535 577812.959 0,
+ 865582.217 577820.862 0, 865284.9 577828.782 0, 864987.583 577836.72 0, 864690.267 577844.675 0, 864391.491 577852.687 0, 864095.636 577860.638 0, 863798.321 577868.646 0, 863501.006 577876.672 0, 863203.692 577884.714 0, 862906.379 577892.775 0,
+ 862609.066 577900.853 0, 862311.753 577908.948 0, 862014.441 577917.061 0, 861717.13 577925.191 0, 861419.819 577933.339 0, 861122.508 577941.504 0, 860825.198 577949.687 0, 860527.888 577957.887 0, 860230.579 577966.105 0, 859933.27 577974.34 0,
+ 859635.962 577982.593 0, 859338.654 577990.863 0, 859041.347 577999.151 0, 858744.04 578007.456 0, 858446.734 578015.779 0, 858149.428 578024.12 0, 857852.123 578032.477 0, 857554.818 578040.853 0, 857256.052 578049.287 0, 857413.2 583610.172 0,
+ 857570.357 589171.415 0, 857868.465 589163 0, 858165.115 589154.643 0, 858461.765 589146.304 0, 858758.417 589137.982 0, 859055.068 589129.677 0, 859351.72 589121.39 0, 859648.373 589113.121 0, 859945.026 589104.869 0, 860241.68 589096.634 0,
+ 860538.334 589088.417 0, 860834.988 589080.217 0, 861131.643 589072.035 0, 861428.299 589063.87 0, 861724.955 589055.723 0, 862021.611 589047.593 0, 862318.268 589039.481 0, 862614.926 589031.386 0, 862911.584 589023.308 0, 863208.242 589015.248 0,
+ 863504.901 589007.206 0, 863801.56 588999.18 0, 864098.22 588991.173 0, 864394.88 588983.183 0, 864690.084 588975.249 0, 864988.202 588967.255 0, 865284.864 588959.317 0, 865581.526 588951.397 0, 865878.189 588943.494 0, 866174.852 588935.608 0,
+ 866471.515 588927.74 0, 866768.179 588919.89 0, 867064.844 588912.057 0, 867361.509 588904.241 0, 867658.174 588896.443 0, 867954.84 588888.662 0, 868251.506 588880.899 0, 868548.173 588873.154 0, 868844.84 588865.425 0, 869141.508 588857.714 0,
+ 869438.176 588850.021 0, 869734.844 588842.345 0, 870031.513 588834.687 0, 870328.183 588827.046 0, 870624.853 588819.422 0, 870921.523 588811.816 0, 871218.194 588804.228 0, 871514.865 588796.657 0, 871810.081 588789.14 0, 871668.636 583227.475 0,
+ 871527.2 577666.168 0))
+
+POLYGON ((886050.828 588447.096 0, 885755.59 588453.779 0, 885458.899 588460.511 0, 885162.208 588467.262 0, 884865.517 588474.03 0, 884568.827 588480.815 0, 884272.137 588487.618 0, 883975.447 588494.438 0, 883678.758 588501.276 0, 883382.07 588508.131 0,
+ 883085.381 588515.004 0, 882788.694 588521.894 0, 882492.006 588528.801 0, 882195.319 588535.726 0, 881898.632 588542.669 0, 881601.946 588549.629 0, 881305.26 588556.606 0, 881008.575 588563.601 0, 880711.89 588570.613 0, 880415.205 588577.643 0,
+ 880118.521 588584.69 0, 879821.837 588591.755 0, 879525.154 588598.837 0, 879228.471 588605.937 0, 878930.334 588613.089 0, 878635.107 588620.189 0, 878338.425 588627.341 0, 878041.744 588634.51 0, 877745.063 588641.697 0, 877448.383 588648.901 0,
+ 877151.703 588656.123 0, 876855.023 588663.363 0, 876558.344 588670.619 0, 876261.665 588677.894 0, 875964.987 588685.185 0, 875668.309 588692.495 0, 875371.632 588699.821 0, 875074.955 588707.165 0, 874778.278 588714.527 0, 874481.602 588721.906 0,
+ 874184.926 588729.302 0, 873888.251 588736.716 0, 873591.576 588744.148 0, 873294.902 588751.597 0, 872998.228 588759.063 0, 872701.555 588766.547 0, 872404.882 588774.048 0, 872108.209 588781.567 0, 871810.081 588789.14 0, 871951.535 594351.16 0,
+ 872092.998 599913.533 0, 872390.468 599905.976 0, 872686.486 599898.474 0, 872982.504 599890.989 0, 873278.523 599883.522 0, 873574.542 599876.072 0, 873870.562 599868.64 0, 874166.582 599861.225 0, 874462.602 599853.827 0, 874758.623 599846.447 0,
+ 875054.645 599839.084 0, 875350.666 599831.739 0, 875646.689 599824.411 0, 875942.711 599817.1 0, 876238.734 599809.807 0, 876534.758 599802.532 0, 876830.782 599795.274 0, 877126.806 599788.033 0, 877422.831 599780.809 0, 877718.856 599773.604 0,
+ 878014.881 599766.415 0, 878310.908 599759.244 0, 878606.934 599752.09 0, 878902.961 599744.954 0, 879197.537 599737.87 0, 879495.016 599730.734 0, 879791.044 599723.65 0, 880087.073 599716.583 0, 880383.102 599709.534 0, 880679.131 599702.502 0,
+ 880975.161 599695.488 0, 881271.191 599688.491 0, 881567.222 599681.512 0, 881863.253 599674.55 0, 882159.284 599667.605 0, 882455.316 599660.678 0, 882751.348 599653.768 0, 883047.381 599646.876 0, 883343.414 599640.001 0, 883639.447 599633.144 0,
+ 883935.481 599626.304 0, 884231.515 599619.481 0, 884527.55 599612.676 0, 884823.585 599605.888 0, 885119.621 599599.118 0, 885415.657 599592.365 0, 885711.693 599585.629 0, 886007.729 599578.911 0, 886302.316 599572.243 0, 886176.568 594009.494 0,
+ 886050.828 588447.096 0))
+
+POLYGON ((900512.541 599271.1 0, 900217.935 599276.935 0, 899921.88 599282.817 0, 899625.826 599288.716 0, 899329.772 599294.632 0, 899033.719 599300.566 0, 898737.666 599306.518 0, 898441.613 599312.487 0, 898145.561 599318.473 0, 897849.509 599324.477 0,
+ 897553.457 599330.498 0, 897257.406 599336.536 0, 896961.355 599342.592 0, 896665.304 599348.665 0, 896369.254 599354.756 0, 896073.204 599360.864 0, 895777.155 599366.99 0, 895481.106 599373.133 0, 895185.057 599379.294 0, 894889.008 599385.472 0,
+ 894592.96 599391.667 0, 894296.913 599397.88 0, 894000.865 599404.11 0, 893704.818 599410.357 0, 893407.322 599416.653 0, 893112.725 599422.905 0, 892816.68 599429.205 0, 892520.634 599435.522 0, 892224.589 599441.857 0, 891928.544 599448.209 0,
+ 891632.5 599454.579 0, 891336.456 599460.966 0, 891040.412 599467.37 0, 890744.369 599473.792 0, 890448.326 599480.231 0, 890152.284 599486.688 0, 889856.242 599493.162 0, 889560.2 599499.654 0, 889264.159 599506.163 0, 888968.118 599512.689 0,
+ 888672.077 599519.233 0, 888376.037 599525.794 0, 888079.997 599532.373 0, 887783.958 599538.969 0, 887487.919 599545.582 0, 887191.88 599552.213 0, 886895.842 599558.862 0, 886599.804 599565.527 0, 886302.316 599572.243 0, 886428.072 605135.342 0,
+ 886553.835 610698.785 0, 886850.665 610692.084 0, 887146.048 610685.433 0, 887441.431 610678.8 0, 887736.815 610672.183 0, 888032.199 610665.584 0, 888327.584 610659.003 0, 888622.969 610652.439 0, 888918.354 610645.892 0, 889213.74 610639.363 0,
+ 889509.126 610632.851 0, 889804.512 610626.356 0, 890099.899 610619.879 0, 890395.286 610613.419 0, 890690.674 610606.977 0, 890986.062 610600.552 0, 891281.45 610594.144 0, 891576.839 610587.754 0, 891872.228 610581.381 0, 892167.617 610575.025 0,
+ 892463.007 610568.687 0, 892758.397 610562.367 0, 893053.788 610556.063 0, 893349.179 610549.777 0, 893643.124 610543.539 0, 893939.962 610537.258 0, 894235.354 610531.024 0, 894530.746 610524.807 0, 894826.139 610518.608 0, 895121.532 610512.427 0,
+ 895416.926 610506.262 0, 895712.32 610500.116 0, 896007.714 610493.986 0, 896303.108 610487.874 0, 896598.503 610481.779 0, 896893.899 610475.702 0, 897189.294 610469.642 0, 897484.69 610463.6 0, 897780.087 610457.574 0, 898075.484 610451.567 0,
+ 898370.881 610445.576 0, 898666.278 610439.603 0, 898961.676 610433.648 0, 899257.074 610427.709 0, 899552.473 610421.789 0, 899847.871 610415.885 0, 900143.271 610409.999 0, 900438.67 610404.13 0, 900732.625 610398.308 0, 900622.58 604834.531 0,
+ 900512.541 599271.1 0))
+
+POLYGON ((914912.207 610137.889 0, 914618.235 610142.881 0, 914322.82 610147.915 0, 914027.405 610152.967 0, 913731.991 610158.035 0, 913436.577 610163.122 0, 913141.163 610168.225 0, 912845.75 610173.346 0, 912550.336 610178.485 0, 912254.924 610183.641 0,
+ 911959.511 610188.814 0, 911664.099 610194.004 0, 911368.687 610199.212 0, 911073.275 610204.438 0, 910777.864 610209.68 0, 910482.453 610214.941 0, 910187.042 610220.218 0, 909891.632 610225.513 0, 909596.222 610230.825 0, 909300.812 610236.155 0,
+ 909005.403 610241.502 0, 908709.993 610246.867 0, 908414.585 610252.248 0, 908119.176 610257.648 0, 907822.324 610263.091 0, 907528.36 610268.498 0, 907232.953 610273.95 0, 906937.545 610279.418 0, 906642.139 610284.905 0, 906346.732 610290.408 0,
+ 906051.326 610295.929 0, 905755.92 610301.467 0, 905460.514 610307.023 0, 905165.109 610312.596 0, 904869.704 610318.187 0, 904574.299 610323.795 0, 904278.895 610329.42 0, 903983.491 610335.062 0, 903688.088 610340.723 0, 903392.684 610346.4 0,
+ 903097.281 610352.095 0, 902801.879 610357.807 0, 902506.477 610363.537 0, 902211.075 610369.283 0, 901915.673 610375.048 0, 901620.272 610380.83 0, 901324.871 610386.629 0, 901029.47 610392.445 0, 900732.625 610398.308 0, 900842.677 615962.427 0,
+ 900952.736 621526.885 0, 901248.923 621521.035 0, 901543.668 621515.231 0, 901838.414 621509.445 0, 902133.16 621503.676 0, 902427.907 621497.925 0, 902722.654 621492.19 0, 903017.401 621486.474 0, 903312.149 621480.774 0, 903606.897 621475.092 0,
+ 903901.645 621469.427 0, 904196.394 621463.78 0, 904491.143 621458.149 0, 904785.892 621452.537 0, 905080.641 621446.941 0, 905375.391 621441.363 0, 905670.142 621435.802 0, 905964.892 621430.259 0, 906259.643 621424.733 0, 906554.394 621419.224 0,
+ 906849.146 621413.733 0, 907143.898 621408.259 0, 907438.65 621402.802 0, 907733.402 621397.363 0, 908026.714 621391.967 0, 908322.908 621386.536 0, 908617.662 621381.149 0, 908912.416 621375.779 0, 909207.17 621370.427 0, 909501.924 621365.091 0,
+ 909796.679 621359.774 0, 910091.434 621354.473 0, 910386.189 621349.19 0, 910680.945 621343.924 0, 910975.701 621338.676 0, 911270.457 621333.444 0, 911565.214 621328.231 0, 911859.971 621323.034 0, 912154.728 621317.855 0, 912449.485 621312.693 0,
+ 912744.243 621307.549 0, 913039.001 621302.422 0, 913333.76 621297.312 0, 913628.518 621292.22 0, 913923.277 621287.145 0, 914218.037 621282.087 0, 914512.796 621277.047 0, 914807.556 621272.024 0, 915100.877 621267.043 0, 915006.539 615702.296 0,
+ 914912.207 610137.889 0))
+
+POLYGON ((929249.695 621047.174 0, 928956.36 621051.326 0, 928661.587 621055.516 0, 928366.814 621059.724 0, 928072.042 621063.949 0, 927777.269 621068.191 0, 927482.497 621072.451 0, 927187.726 621076.727 0, 926892.954 621081.022 0, 926598.183 621085.333 0,
+ 926303.412 621089.662 0, 926008.642 621094.009 0, 925713.871 621098.372 0, 925419.101 621102.753 0, 925124.331 621107.152 0, 924829.562 621111.567 0, 924534.792 621116 0, 924240.023 621120.451 0, 923945.254 621124.919 0, 923650.486 621129.404 0,
+ 923355.717 621133.906 0, 923060.949 621138.426 0, 922766.182 621142.963 0, 922471.414 621147.518 0, 922175.208 621152.112 0, 921881.88 621156.679 0, 921587.113 621161.285 0, 921292.347 621165.909 0, 920997.581 621170.55 0, 920702.815 621175.209 0,
+ 920408.049 621179.885 0, 920113.284 621184.578 0, 919818.519 621189.289 0, 919523.754 621194.017 0, 919228.989 621198.762 0, 918934.225 621203.525 0, 918639.461 621208.305 0, 918344.698 621213.102 0, 918049.934 621217.917 0, 917755.171 621222.749 0,
+ 917460.408 621227.599 0, 917165.646 621232.465 0, 916870.884 621237.35 0, 916576.122 621242.251 0, 916281.36 621247.17 0, 915986.599 621252.106 0, 915691.838 621257.06 0, 915397.077 621262.03 0, 915100.877 621267.043 0, 915195.22 626832.125 0,
+ 915289.569 632397.54 0, 915585.111 632392.538 0, 915879.217 632387.579 0, 916173.322 632382.636 0, 916467.429 632377.711 0, 916761.535 632372.803 0, 917055.642 632367.912 0, 917349.749 632363.039 0, 917643.857 632358.183 0, 917937.964 632353.344 0,
+ 918232.072 632348.523 0, 918526.18 632343.719 0, 918820.289 632338.932 0, 919114.398 632334.163 0, 919408.507 632329.411 0, 919702.616 632324.676 0, 919996.726 632319.958 0, 920290.836 632315.258 0, 920584.946 632310.575 0, 920879.057 632305.91 0,
+ 921173.167 632301.262 0, 921467.278 632296.631 0, 921761.39 632292.017 0, 922055.501 632287.421 0, 922348.178 632282.864 0, 922643.725 632278.28 0, 922937.837 632273.736 0, 923231.95 632269.209 0, 923526.063 632264.699 0, 923820.176 632260.206 0,
+ 924114.29 632255.731 0, 924408.403 632251.273 0, 924702.517 632246.833 0, 924996.632 632242.41 0, 925290.746 632238.004 0, 925584.861 632233.615 0, 925878.976 632229.244 0, 926173.091 632224.89 0, 926467.207 632220.553 0, 926761.322 632216.234 0,
+ 927055.438 632211.932 0, 927349.555 632207.647 0, 927643.671 632203.38 0, 927937.788 632199.13 0, 928231.905 632194.897 0, 928526.022 632190.682 0, 928820.14 632186.483 0, 929114.257 632182.303 0, 929406.941 632178.159 0, 929328.316 626612.5 0,
+ 929249.695 621047.174 0))
+
+POLYGON ((943524.877 631998.664 0, 943232.18 632001.98 0, 942938.052 632005.33 0, 942643.924 632008.697 0, 942349.796 632012.082 0, 942055.668 632015.483 0, 941761.54 632018.903 0, 941467.413 632022.339 0, 941173.286 632025.793 0, 940879.159 632029.264 0,
+ 940585.032 632032.752 0, 940290.905 632036.258 0, 939996.779 632039.781 0, 939702.653 632043.321 0, 939408.527 632046.879 0, 939114.401 632050.454 0, 938820.275 632054.046 0, 938526.15 632057.656 0, 938232.025 632061.283 0, 937937.9 632064.927 0,
+ 937643.775 632068.588 0, 937349.651 632072.267 0, 937055.527 632075.963 0, 936761.403 632079.677 0, 936465.846 632083.426 0, 936173.155 632087.156 0, 935879.032 632090.921 0, 935584.909 632094.704 0, 935290.786 632098.504 0, 934996.663 632102.321 0,
+ 934702.541 632106.156 0, 934408.418 632110.007 0, 934114.296 632113.877 0, 933820.174 632117.763 0, 933526.053 632121.667 0, 933231.932 632125.588 0, 932937.81 632129.527 0, 932643.69 632133.483 0, 932349.569 632137.456 0, 932055.448 632141.446 0,
+ 931761.328 632145.454 0, 931467.208 632149.479 0, 931173.089 632153.521 0, 930878.969 632157.581 0, 930584.85 632161.658 0, 930290.731 632165.752 0, 929996.612 632169.864 0, 929702.494 632173.993 0, 929406.941 632178.159 0, 929485.571 637744.147 0,
+ 929564.206 643310.461 0, 929859.1 643306.304 0, 930152.563 643302.184 0, 930446.027 643298.082 0, 930739.49 643293.997 0, 931032.954 643289.929 0, 931326.419 643285.878 0, 931619.883 643281.845 0, 931913.348 643277.829 0, 932206.813 643273.83 0,
+ 932500.278 643269.848 0, 932793.743 643265.884 0, 933087.209 643261.937 0, 933380.675 643258.007 0, 933674.141 643254.095 0, 933967.607 643250.2 0, 934261.074 643246.322 0, 934554.541 643242.461 0, 934848.008 643238.618 0, 935141.475 643234.792 0,
+ 935434.942 643230.983 0, 935728.41 643227.191 0, 936021.878 643223.417 0, 936315.346 643219.66 0, 936607.384 643215.939 0, 936902.283 643212.198 0, 937195.752 643208.493 0, 937489.221 643204.805 0, 937782.69 643201.134 0, 938076.16 643197.481 0,
+ 938369.629 643193.845 0, 938663.099 643190.226 0, 938956.569 643186.625 0, 939250.04 643183.04 0, 939543.51 643179.473 0, 939836.981 643175.924 0, 940130.452 643172.391 0, 940423.923 643168.876 0, 940717.394 643165.378 0, 941010.866 643161.897 0,
+ 941304.338 643158.434 0, 941597.809 643154.988 0, 941891.282 643151.559 0, 942184.754 643148.148 0, 942478.227 643144.753 0, 942771.699 643141.376 0, 943065.172 643138.017 0, 943358.645 643134.674 0, 943650.69 643131.365 0, 943587.781 637564.852 0,
+ 943524.877 631998.664 0))
+
+POLYGON ((957737.624 642992.067 0, 957445.569 642994.551 0, 957152.088 642997.064 0, 956858.606 642999.595 0, 956565.125 643002.143 0, 956271.644 643004.708 0, 955978.163 643007.29 0, 955684.683 643009.89 0, 955391.202 643012.507 0, 955097.722 643015.141 0,
+ 954804.242 643017.793 0, 954510.762 643020.461 0, 954217.282 643023.147 0, 953923.802 643025.851 0, 953630.322 643028.571 0, 953336.843 643031.309 0, 953043.364 643034.064 0, 952749.885 643036.837 0, 952456.406 643039.626 0, 952162.927 643042.433 0,
+ 951869.448 643045.258 0, 951575.97 643048.099 0, 951282.492 643050.958 0, 950989.013 643053.834 0, 950694.108 643056.741 0, 950402.058 643059.638 0, 950108.58 643062.566 0, 949815.103 643065.511 0, 949521.626 643068.473 0, 949228.148 643071.453 0,
+ 948934.672 643074.45 0, 948641.195 643077.464 0, 948347.718 643080.496 0, 948054.242 643083.545 0, 947760.766 643086.611 0, 947467.29 643089.694 0, 947173.814 643092.795 0, 946880.338 643095.912 0, 946586.863 643099.048 0, 946293.388 643102.2 0,
+ 945999.913 643105.37 0, 945706.438 643108.557 0, 945412.963 643111.761 0, 945119.488 643114.982 0, 944826.014 643118.221 0, 944532.54 643121.477 0, 944239.066 643124.751 0, 943945.592 643128.041 0, 943650.69 643131.365 0, 943713.602 648698.202 0,
+ 943776.518 654265.357 0, 944070.762 654262.04 0, 944363.58 654258.757 0, 944656.399 654255.491 0, 944949.217 654252.242 0, 945242.036 654249.011 0, 945534.856 654245.796 0, 945827.675 654242.599 0, 946120.494 654239.419 0, 946413.314 654236.257 0,
+ 946706.134 654233.111 0, 946998.954 654229.983 0, 947291.775 654226.872 0, 947584.595 654223.779 0, 947877.416 654220.702 0, 948170.237 654217.643 0, 948463.058 654214.601 0, 948755.879 654211.576 0, 949048.7 654208.569 0, 949341.522 654205.579 0,
+ 949634.343 654202.605 0, 949927.165 654199.65 0, 950219.987 654196.711 0, 950512.81 654193.79 0, 950804.207 654190.9 0, 951098.455 654187.999 0, 951391.277 654185.129 0, 951684.1 654182.277 0, 951976.924 654179.442 0, 952269.747 654176.624 0,
+ 952562.57 654173.823 0, 952855.394 654171.04 0, 953148.218 654168.273 0, 953441.041 654165.524 0, 953733.866 654162.793 0, 954026.69 654160.078 0, 954319.514 654157.381 0, 954612.339 654154.701 0, 954905.163 654152.038 0, 955197.988 654149.392 0,
+ 955490.813 654146.764 0, 955783.639 654144.153 0, 956076.464 654141.559 0, 956369.289 654138.982 0, 956662.115 654136.423 0, 956954.941 654133.881 0, 957247.767 654131.356 0, 957540.593 654128.848 0, 957831.996 654126.37 0, 957784.808 648559.059 0,
+ 957737.624 642992.067 0))
+
+POLYGON ((971887.81 654027.093 0, 971596.399 654028.748 0, 971303.567 654030.428 0, 971010.735 654032.126 0, 970717.904 654033.841 0, 970425.072 654035.573 0, 970132.24 654037.322 0, 969839.409 654039.089 0, 969546.577 654040.872 0, 969253.746 654042.673 0,
+ 968960.915 654044.492 0, 968668.084 654046.327 0, 968375.253 654048.18 0, 968082.422 654050.05 0, 967789.591 654051.937 0, 967496.761 654053.842 0, 967203.93 654055.763 0, 966911.1 654057.702 0, 966618.269 654059.658 0, 966325.439 654061.632 0,
+ 966032.609 654063.622 0, 965739.779 654065.63 0, 965446.949 654067.655 0, 965154.12 654069.698 0, 964859.868 654071.767 0, 964568.461 654073.834 0, 964275.631 654075.928 0, 963982.802 654078.039 0, 963689.973 654080.168 0, 963397.144 654082.314 0,
+ 963104.315 654084.477 0, 962811.487 654086.657 0, 962518.658 654088.854 0, 962225.83 654091.069 0, 961933.001 654093.301 0, 961640.173 654095.55 0, 961347.345 654097.817 0, 961054.517 654100.1 0, 960761.689 654102.401 0, 960468.862 654104.719 0,
+ 960176.034 654107.055 0, 959883.207 654109.407 0, 959590.379 654111.777 0, 959297.552 654114.164 0, 959004.725 654116.568 0, 958711.899 654118.99 0, 958419.072 654121.429 0, 958126.245 654123.885 0, 957831.996 654126.37 0, 957879.185 659693.997 0,
+ 957926.378 665261.936 0, 958219.969 665259.456 0, 958512.14 665257.006 0, 958804.312 665254.572 0, 959096.483 665252.156 0, 959388.654 665249.757 0, 959680.826 665247.376 0, 959972.998 665245.011 0, 960265.17 665242.664 0, 960557.342 665240.334 0,
+ 960849.514 665238.021 0, 961141.687 665235.725 0, 961433.859 665233.447 0, 961726.032 665231.185 0, 962018.205 665228.941 0, 962310.377 665226.714 0, 962602.55 665224.505 0, 962894.724 665222.312 0, 963186.897 665220.137 0, 963479.07 665217.978 0,
+ 963771.244 665215.838 0, 964063.417 665213.714 0, 964355.591 665211.607 0, 964647.765 665209.518 0, 964938.52 665207.456 0, 965232.113 665205.391 0, 965524.288 665203.353 0, 965816.462 665201.332 0, 966108.637 665199.329 0, 966400.811 665197.343 0,
+ 966692.986 665195.374 0, 966985.161 665193.422 0, 967277.336 665191.487 0, 967569.511 665189.57 0, 967861.686 665187.67 0, 968153.861 665185.787 0, 968446.037 665183.921 0, 968738.212 665182.072 0, 969030.388 665180.241 0, 969322.564 665178.427 0,
+ 969614.74 665176.63 0, 969906.916 665174.85 0, 970199.092 665173.087 0, 970491.268 665171.342 0, 970783.444 665169.614 0, 971075.62 665167.903 0, 971367.797 665166.209 0, 971659.973 665164.532 0, 971950.732 665162.881 0, 971919.27 659594.83 0,
+ 971887.81 654027.093 0))
+
+POLYGON ((985975.31 665103.447 0, 985684.546 665104.277 0, 985392.366 665105.129 0, 985100.186 665105.997 0, 984808.005 665106.883 0, 984515.826 665107.785 0, 984223.646 665108.705 0, 983931.466 665109.642 0, 983639.286 665110.597 0, 983347.106 665111.568 0,
+ 983054.926 665112.557 0, 982762.747 665113.563 0, 982470.567 665114.586 0, 982178.388 665115.627 0, 981886.208 665116.684 0, 981594.029 665117.759 0, 981301.849 665118.851 0, 981009.67 665119.96 0, 980717.491 665121.086 0, 980425.312 665122.23 0,
+ 980133.133 665123.39 0, 979840.954 665124.568 0, 979548.775 665125.764 0, 979256.596 665126.976 0, 978963 665128.211 0, 978672.238 665129.452 0, 978380.06 665130.716 0, 978087.881 665131.997 0, 977795.703 665133.295 0, 977503.524 665134.611 0,
+ 977211.346 665135.944 0, 976919.168 665137.293 0, 976626.989 665138.661 0, 976334.811 665140.045 0, 976042.633 665141.446 0, 975750.455 665142.865 0, 975458.278 665144.301 0, 975166.1 665145.754 0, 974873.922 665147.224 0, 974581.744 665148.712 0,
+ 974289.567 665150.216 0, 973997.39 665151.738 0, 973705.212 665153.277 0, 973413.035 665154.834 0, 973120.858 665156.407 0, 972828.681 665157.998 0, 972536.504 665159.606 0, 972244.327 665161.231 0, 971950.732 665162.881 0, 971982.196 670731.24 0,
+ 972013.661 676299.906 0, 972306.597 676298.259 0, 972598.119 676296.638 0, 972889.64 676295.034 0, 973181.162 676293.446 0, 973472.683 676291.876 0, 973764.205 676290.324 0, 974055.727 676288.788 0, 974347.249 676287.27 0, 974638.771 676285.768 0,
+ 974930.293 676284.284 0, 975221.815 676282.817 0, 975513.337 676281.367 0, 975804.86 676279.935 0, 976096.382 676278.519 0, 976387.905 676277.121 0, 976679.427 676275.74 0, 976970.95 676274.376 0, 977262.473 676273.029 0, 977553.995 676271.699 0,
+ 977845.518 676270.387 0, 978137.041 676269.091 0, 978428.564 676267.813 0, 978720.088 676266.552 0, 979010.197 676265.314 0, 979303.134 676264.081 0, 979594.657 676262.872 0, 979886.181 676261.679 0, 980177.704 676260.504 0, 980469.228 676259.346 0,
+ 980760.752 676258.205 0, 981052.275 676257.081 0, 981343.799 676255.974 0, 981635.323 676254.885 0, 981926.847 676253.813 0, 982218.371 676252.757 0, 982509.895 676251.719 0, 982801.419 676250.699 0, 983092.943 676249.695 0, 983384.467 676248.708 0,
+ 983675.991 676247.739 0, 983967.516 676246.787 0, 984259.04 676245.852 0, 984550.565 676244.934 0, 984842.089 676244.033 0, 985133.614 676243.149 0, 985425.138 676242.283 0, 985716.663 676241.434 0, 986006.775 676240.606 0, 985991.042 670671.874 0,
+ 985975.31 665103.447 0))
+
+POLYGON ((1000000 676220.839 0, 999709.885 676220.847 0, 999418.359 676220.873 0, 999126.833 676220.916 0, 998835.307 676220.976 0, 998543.781 676221.053 0, 998252.255 676221.147 0, 997960.729 676221.259 0, 997669.204 676221.387 0, 997377.678 676221.533 0,
+ 997086.152 676221.696 0, 996794.626 676221.876 0, 996503.1 676222.073 0, 996211.575 676222.288 0, 995920.049 676222.519 0, 995628.523 676222.768 0, 995336.997 676223.034 0, 995045.472 676223.317 0, 994753.946 676223.617 0, 994462.42 676223.934 0,
+ 994170.894 676224.269 0, 993879.369 676224.621 0, 993587.843 676224.989 0, 993296.318 676225.375 0, 993003.38 676225.781 0, 992713.266 676226.199 0, 992421.741 676226.636 0, 992130.215 676227.091 0, 991838.69 676227.563 0, 991547.164 676228.052 0,
+ 991255.639 676228.558 0, 990964.114 676229.081 0, 990672.588 676229.621 0, 990381.063 676230.179 0, 990089.538 676230.754 0, 989798.012 676231.346 0, 989506.487 676231.955 0, 989214.962 676232.581 0, 988923.437 676233.224 0, 988631.912 676233.885 0,
+ 988340.387 676234.562 0, 988048.861 676235.257 0, 987757.336 676235.969 0, 987465.812 676236.698 0, 987174.287 676237.445 0, 986882.762 676238.208 0, 986591.237 676238.989 0, 986299.712 676239.787 0, 986006.775 676240.606 0, 986022.508 681809.64 0,
+ 986038.243 687378.973 0, 986330.521 687378.156 0, 986621.391 687377.36 0, 986912.26 687376.582 0, 987203.129 687375.82 0, 987493.998 687375.075 0, 987784.868 687374.348 0, 988075.737 687373.637 0, 988366.607 687372.944 0, 988657.476 687372.268 0,
+ 988948.346 687371.609 0, 989239.215 687370.967 0, 989530.085 687370.342 0, 989820.955 687369.734 0, 990111.824 687369.144 0, 990402.694 687368.57 0, 990693.564 687368.014 0, 990984.434 687367.475 0, 991275.303 687366.953 0, 991566.173 687366.448 0,
+ 991857.043 687365.96 0, 992147.913 687365.489 0, 992438.783 687365.036 0, 992729.653 687364.599 0, 993019.114 687364.182 0, 993311.393 687363.778 0, 993602.263 687363.392 0, 993893.133 687363.024 0, 994184.003 687362.674 0, 994474.873 687362.34 0,
+ 994765.743 687362.023 0, 995056.613 687361.724 0, 995347.483 687361.441 0, 995638.354 687361.176 0, 995929.224 687360.928 0, 996220.094 687360.697 0, 996510.964 687360.483 0, 996801.834 687360.286 0, 997092.705 687360.106 0, 997383.575 687359.944 0,
+ 997674.445 687359.798 0, 997965.315 687359.67 0, 998256.186 687359.559 0, 998547.056 687359.465 0, 998837.926 687359.388 0, 999128.796 687359.328 0, 999419.667 687359.285 0, 999710.537 687359.26 0, 1000000 687359.251 0, 1000000 681789.896 0,
+ 1000000 676220.839 0))
+
+POLYGON ((1013961.757 687378.973 0, 1013672.293 687378.164 0, 1013381.424 687377.368 0, 1013090.555 687376.589 0, 1012799.686 687375.827 0, 1012508.816 687375.082 0, 1012217.947 687374.355 0, 1011927.077 687373.644 0, 1011636.208 687372.951 0, 1011345.338 687372.274 0,
+ 1011054.469 687371.615 0, 1010763.599 687370.973 0, 1010472.73 687370.348 0, 1010181.86 687369.74 0, 1009890.99 687369.149 0, 1009600.121 687368.576 0, 1009309.251 687368.019 0, 1009018.381 687367.48 0, 1008727.511 687366.958 0, 1008436.641 687366.453 0,
+ 1008145.772 687365.965 0, 1007854.902 687365.494 0, 1007564.032 687365.04 0, 1007273.162 687364.603 0, 1006980.886 687364.182 0, 1006691.422 687363.781 0, 1006400.552 687363.396 0, 1006109.682 687363.028 0, 1005818.812 687362.677 0, 1005527.942 687362.343 0,
+ 1005237.071 687362.026 0, 1004946.201 687361.726 0, 1004655.331 687361.444 0, 1004364.461 687361.178 0, 1004073.591 687360.93 0, 1003782.721 687360.699 0, 1003491.85 687360.485 0, 1003200.98 687360.288 0, 1002910.11 687360.108 0, 1002619.24 687359.945 0,
+ 1002328.37 687359.8 0, 1002037.499 687359.671 0, 1001746.629 687359.56 0, 1001455.759 687359.466 0, 1001164.888 687359.388 0, 1000874.018 687359.328 0, 1000583.148 687359.286 0, 1000292.278 687359.26 0, 1000000 687359.251 0, 1000000 692928.902 0,
+ 1000000 698498.846 0, 1000291.619 698498.855 0, 1000581.833 698498.88 0, 1000872.048 698498.923 0, 1001162.263 698498.983 0, 1001452.477 698499.06 0, 1001742.692 698499.154 0, 1002032.907 698499.265 0, 1002323.121 698499.393 0, 1002613.336 698499.539 0,
+ 1002903.55 698499.701 0, 1003193.765 698499.88 0, 1003483.979 698500.077 0, 1003774.194 698500.29 0, 1004064.409 698500.521 0, 1004354.623 698500.769 0, 1004644.838 698501.034 0, 1004935.052 698501.316 0, 1005225.267 698501.615 0, 1005515.481 698501.931 0,
+ 1005805.695 698502.264 0, 1006095.91 698502.614 0, 1006386.124 698502.982 0, 1006676.339 698503.366 0, 1006965.15 698503.765 0, 1007256.767 698504.186 0, 1007546.982 698504.622 0, 1007837.196 698505.074 0, 1008127.41 698505.544 0, 1008417.624 698506.031 0,
+ 1008707.839 698506.535 0, 1008998.053 698507.056 0, 1009288.267 698507.594 0, 1009578.481 698508.15 0, 1009868.695 698508.722 0, 1010158.909 698509.311 0, 1010449.123 698509.918 0, 1010739.337 698510.541 0, 1011029.551 698511.182 0, 1011319.765 698511.84 0,
+ 1011609.979 698512.514 0, 1011900.192 698513.206 0, 1012190.406 698513.915 0, 1012480.62 698514.641 0, 1012770.834 698515.384 0, 1013061.047 698516.145 0, 1013351.261 698516.922 0, 1013641.474 698517.716 0, 1013930.286 698518.524 0, 1013946.022 692948.603 0,
+ 1013961.757 687378.973 0))
+
+POLYGON ((1027860.461 698577.557 0, 1027571.65 698575.934 0, 1027281.44 698574.319 0, 1026991.23 698572.722 0, 1026701.02 698571.142 0, 1026410.809 698569.579 0, 1026120.599 698568.033 0, 1025830.388 698566.504 0, 1025540.177 698564.992 0, 1025249.967 698563.498 0,
+ 1024959.756 698562.02 0, 1024669.545 698560.56 0, 1024379.334 698559.116 0, 1024089.123 698557.69 0, 1023798.911 698556.28 0, 1023508.7 698554.888 0, 1023218.489 698553.513 0, 1022928.277 698552.155 0, 1022638.066 698550.814 0, 1022347.854 698549.49 0,
+ 1022057.642 698548.183 0, 1021767.431 698546.894 0, 1021477.219 698545.621 0, 1021187.007 698544.365 0, 1020895.394 698543.121 0, 1020606.583 698541.906 0, 1020316.371 698540.701 0, 1020026.159 698539.514 0, 1019735.946 698538.344 0, 1019445.734 698537.191 0,
+ 1019155.522 698536.055 0, 1018865.309 698534.936 0, 1018575.097 698533.834 0, 1018284.884 698532.749 0, 1017994.671 698531.682 0, 1017704.459 698530.631 0, 1017414.246 698529.598 0, 1017124.033 698528.581 0, 1016833.82 698527.582 0, 1016543.607 698526.599 0,
+ 1016253.394 698525.634 0, 1015963.181 698524.686 0, 1015672.968 698523.755 0, 1015382.755 698522.841 0, 1015092.541 698521.944 0, 1014802.328 698521.065 0, 1014512.115 698520.202 0, 1014221.901 698519.356 0, 1013930.286 698518.524 0, 1013914.549 704088.734 0,
+ 1013898.811 709659.229 0, 1014189.768 709660.06 0, 1014479.325 709660.904 0, 1014768.883 709661.764 0, 1015058.441 709662.642 0, 1015347.998 709663.537 0, 1015637.556 709664.449 0, 1015927.113 709665.378 0, 1016216.67 709666.324 0, 1016506.228 709667.287 0,
+ 1016795.785 709668.267 0, 1017085.342 709669.264 0, 1017374.899 709670.278 0, 1017664.456 709671.309 0, 1017954.013 709672.357 0, 1018243.57 709673.423 0, 1018533.127 709674.505 0, 1018822.684 709675.604 0, 1019112.241 709676.721 0, 1019401.798 709677.854 0,
+ 1019691.354 709679.005 0, 1019980.911 709680.172 0, 1020270.467 709681.357 0, 1020560.024 709682.558 0, 1020848.182 709683.771 0, 1021139.136 709685.013 0, 1021428.692 709686.265 0, 1021718.249 709687.535 0, 1022007.805 709688.822 0, 1022297.361 709690.126 0,
+ 1022586.916 709691.447 0, 1022876.472 709692.785 0, 1023166.028 709694.14 0, 1023455.584 709695.512 0, 1023745.139 709696.901 0, 1024034.695 709698.307 0, 1024324.25 709699.73 0, 1024613.805 709701.17 0, 1024903.361 709702.627 0, 1025192.916 709704.102 0,
+ 1025482.471 709705.593 0, 1025772.026 709707.101 0, 1026061.581 709708.627 0, 1026351.136 709710.169 0, 1026640.69 709711.729 0, 1026930.245 709713.305 0, 1027219.799 709714.899 0, 1027509.354 709716.509 0, 1027797.512 709718.129 0, 1027828.987 704147.701 0,
+ 1027860.461 698577.557 0))
+
+POLYGON ((1041695.99 709816.295 0, 1041407.836 709813.861 0, 1041118.287 709811.433 0, 1040828.738 709809.021 0, 1040539.189 709806.627 0, 1040249.64 709804.249 0, 1039960.091 709801.889 0, 1039670.541 709799.545 0, 1039380.992 709797.219 0, 1039091.442 709794.909 0,
+ 1038801.892 709792.617 0, 1038512.342 709790.342 0, 1038222.792 709788.083 0, 1037933.242 709785.842 0, 1037643.692 709783.618 0, 1037354.141 709781.411 0, 1037064.591 709779.221 0, 1036775.04 709777.048 0, 1036485.489 709774.892 0, 1036195.938 709772.753 0,
+ 1035906.387 709770.631 0, 1035616.835 709768.526 0, 1035327.284 709766.438 0, 1035037.733 709764.368 0, 1034746.786 709762.304 0, 1034458.629 709760.277 0, 1034169.077 709758.258 0, 1033879.525 709756.255 0, 1033589.973 709754.269 0, 1033300.421 709752.301 0,
+ 1033010.869 709750.349 0, 1032721.316 709748.415 0, 1032431.764 709746.498 0, 1032142.211 709744.597 0, 1031852.658 709742.714 0, 1031563.105 709740.848 0, 1031273.552 709738.998 0, 1030983.999 709737.166 0, 1030694.446 709735.351 0, 1030404.893 709733.553 0,
+ 1030115.339 709731.772 0, 1029825.786 709730.008 0, 1029536.232 709728.261 0, 1029246.678 709726.531 0, 1028957.125 709724.818 0, 1028667.571 709723.122 0, 1028378.017 709721.444 0, 1028088.462 709719.782 0, 1027797.512 709718.129 0, 1027766.035 715288.84 0,
+ 1027734.556 720859.829 0, 1028024.848 720861.478 0, 1028313.746 720863.136 0, 1028602.645 720864.811 0, 1028891.543 720866.503 0, 1029180.441 720868.212 0, 1029469.339 720869.938 0, 1029758.237 720871.681 0, 1030047.135 720873.441 0, 1030336.032 720875.218 0,
+ 1030624.93 720877.012 0, 1030913.827 720878.823 0, 1031202.725 720880.651 0, 1031491.622 720882.496 0, 1031780.519 720884.358 0, 1032069.416 720886.237 0, 1032358.313 720888.133 0, 1032647.21 720890.046 0, 1032936.106 720891.976 0, 1033225.003 720893.923 0,
+ 1033513.899 720895.887 0, 1033802.796 720897.868 0, 1034091.692 720899.866 0, 1034380.588 720901.882 0, 1034668.092 720903.904 0, 1034958.38 720905.963 0, 1035247.275 720908.029 0, 1035536.171 720910.112 0, 1035825.066 720912.212 0, 1036113.962 720914.329 0,
+ 1036402.857 720916.463 0, 1036691.752 720918.614 0, 1036980.647 720920.782 0, 1037269.542 720922.967 0, 1037558.437 720925.17 0, 1037847.331 720927.389 0, 1038136.226 720929.625 0, 1038425.12 720931.878 0, 1038714.014 720934.148 0, 1039002.908 720936.435 0,
+ 1039291.802 720938.739 0, 1039580.696 720941.06 0, 1039869.59 720943.399 0, 1040158.483 720945.754 0, 1040447.377 720948.126 0, 1040736.27 720950.515 0, 1041025.163 720952.921 0, 1041314.056 720955.344 0, 1041601.558 720957.773 0, 1041648.775 715386.895 0,
+ 1041695.99 709816.295 0))
+
+POLYGON ((1055468.227 721094.893 0, 1055180.731 721091.652 0, 1054891.846 721088.413 0, 1054602.961 721085.191 0, 1054314.076 721081.985 0, 1054025.19 721078.797 0, 1053736.304 721075.626 0, 1053447.419 721072.471 0, 1053158.532 721069.334 0, 1052869.646 721066.214 0,
+ 1052580.76 721063.11 0, 1052291.873 721060.024 0, 1052002.986 721056.955 0, 1051714.099 721053.903 0, 1051425.212 721050.867 0, 1051136.325 721047.849 0, 1050847.437 721044.848 0, 1050558.55 721041.863 0, 1050269.662 721038.896 0, 1049980.774 721035.946 0,
+ 1049691.885 721033.013 0, 1049402.997 721030.096 0, 1049114.108 721027.197 0, 1048825.22 721024.315 0, 1048534.941 721021.436 0, 1048247.442 721018.601 0, 1047958.552 721015.77 0, 1047669.663 721012.956 0, 1047380.773 721010.159 0, 1047091.884 721007.378 0,
+ 1046802.994 721004.615 0, 1046514.104 721001.869 0, 1046225.214 720999.14 0, 1045936.323 720996.427 0, 1045647.433 720993.732 0, 1045358.542 720991.054 0, 1045069.651 720988.393 0, 1044780.76 720985.749 0, 1044491.869 720983.121 0, 1044202.978 720980.511 0,
+ 1043914.086 720977.918 0, 1043625.194 720975.342 0, 1043336.303 720972.783 0, 1043047.411 720970.24 0, 1042758.519 720967.715 0, 1042469.626 720965.207 0, 1042180.734 720962.716 0, 1041891.841 720960.242 0, 1041601.558 720957.773 0, 1041554.338 726528.926 0,
+ 1041507.116 732100.35 0, 1041796.741 732102.813 0, 1042084.977 732105.282 0, 1042373.214 732107.768 0, 1042661.45 732110.27 0, 1042949.687 732112.789 0, 1043237.923 732115.326 0, 1043526.159 732117.879 0, 1043814.394 732120.45 0, 1044102.63 732123.037 0,
+ 1044390.866 732125.641 0, 1044679.101 732128.262 0, 1044967.336 732130.901 0, 1045255.571 732133.556 0, 1045543.806 732136.228 0, 1045832.041 732138.917 0, 1046120.275 732141.623 0, 1046408.51 732144.346 0, 1046696.744 732147.086 0, 1046984.978 732149.843 0,
+ 1047273.212 732152.617 0, 1047561.446 732155.408 0, 1047849.679 732158.216 0, 1048137.913 732161.041 0, 1048424.759 732163.869 0, 1048714.379 732166.741 0, 1049002.612 732169.617 0, 1049290.845 732172.51 0, 1049579.077 732175.419 0, 1049867.31 732178.346 0,
+ 1050155.542 732181.289 0, 1050443.774 732184.25 0, 1050732.006 732187.227 0, 1051020.238 732190.222 0, 1051308.469 732193.233 0, 1051596.701 732196.262 0, 1051884.932 732199.307 0, 1052173.163 732202.369 0, 1052461.394 732205.449 0, 1052749.624 732208.545 0,
+ 1053037.855 732211.658 0, 1053326.085 732214.788 0, 1053614.315 732217.935 0, 1053902.545 732221.1 0, 1054190.775 732224.281 0, 1054479.004 732227.479 0, 1054767.233 732230.694 0, 1055055.463 732233.926 0, 1055342.306 732237.159 0, 1055405.268 726665.89 0,
+ 1055468.227 721094.893 0))
+
+POLYGON ((1069177.054 732413.054 0, 1068890.219 732409.011 0, 1068602 732404.964 0, 1068313.781 732400.935 0, 1068025.562 732396.923 0, 1067737.342 732392.927 0, 1067449.122 732388.949 0, 1067160.902 732384.987 0, 1066872.682 732381.043 0, 1066584.461 732377.115 0,
+ 1066296.241 732373.205 0, 1066008.02 732369.311 0, 1065719.798 732365.435 0, 1065431.577 732361.575 0, 1065143.355 732357.732 0, 1064855.134 732353.907 0, 1064566.911 732350.098 0, 1064278.689 732346.306 0, 1063990.467 732342.531 0, 1063702.244 732338.773 0,
+ 1063414.021 732335.032 0, 1063125.798 732331.308 0, 1062837.574 732327.602 0, 1062549.351 732323.912 0, 1062259.742 732320.221 0, 1061972.903 732316.582 0, 1061684.678 732312.943 0, 1061396.454 732309.321 0, 1061108.229 732305.716 0, 1060820.004 732302.128 0,
+ 1060531.779 732298.556 0, 1060243.554 732295.002 0, 1059955.328 732291.465 0, 1059667.102 732287.944 0, 1059378.876 732284.441 0, 1059090.65 732280.955 0, 1058802.424 732277.485 0, 1058514.197 732274.033 0, 1058225.97 732270.597 0, 1057937.743 732267.178 0,
+ 1057649.516 732263.777 0, 1057361.289 732260.392 0, 1057073.061 732257.024 0, 1056784.833 732253.674 0, 1056496.605 732250.34 0, 1056208.377 732247.023 0, 1055920.149 732243.723 0, 1055631.92 732240.441 0, 1055342.306 732237.159 0, 1055279.341 737808.696 0,
+ 1055216.373 743380.497 0, 1055505.328 743383.771 0, 1055792.901 743387.047 0, 1056080.473 743390.339 0, 1056368.045 743393.648 0, 1056655.618 743396.974 0, 1056943.189 743400.317 0, 1057230.761 743403.677 0, 1057518.333 743407.054 0, 1057805.904 743410.448 0,
+ 1058093.475 743413.859 0, 1058381.046 743417.287 0, 1058668.617 743420.731 0, 1058956.187 743424.193 0, 1059243.758 743427.672 0, 1059531.328 743431.167 0, 1059818.898 743434.679 0, 1060106.467 743438.209 0, 1060394.037 743441.755 0, 1060681.606 743445.318 0,
+ 1060969.175 743448.898 0, 1061256.744 743452.495 0, 1061544.313 743456.109 0, 1061831.881 743459.74 0, 1062118.068 743463.37 0, 1062407.017 743467.052 0, 1062694.585 743470.734 0, 1062982.153 743474.432 0, 1063269.72 743478.148 0, 1063557.287 743481.88 0,
+ 1063844.854 743485.63 0, 1064132.421 743489.396 0, 1064419.987 743493.179 0, 1064707.553 743496.979 0, 1064995.119 743500.796 0, 1065282.685 743504.63 0, 1065570.251 743508.481 0, 1065857.816 743512.349 0, 1066145.381 743516.233 0, 1066432.946 743520.135 0,
+ 1066720.511 743524.054 0, 1067008.075 743527.989 0, 1067295.639 743531.942 0, 1067583.203 743535.911 0, 1067870.767 743539.897 0, 1068158.331 743543.9 0, 1068445.894 743547.921 0, 1068733.457 743551.958 0, 1069019.639 743555.992 0, 1069098.349 737984.391 0,
+ 1069177.054 732413.054 0))
+
+POLYGON ((1082822.355 743770.483 0, 1082536.183 743765.64 0, 1082248.633 743760.791 0, 1081961.082 743755.958 0, 1081673.531 743751.142 0, 1081385.979 743746.344 0, 1081098.428 743741.562 0, 1080810.876 743736.797 0, 1080523.324 743732.049 0, 1080235.771 743727.318 0,
+ 1079948.219 743722.604 0, 1079660.666 743717.907 0, 1079373.112 743713.227 0, 1079085.559 743708.564 0, 1078798.005 743703.917 0, 1078510.451 743699.288 0, 1078222.897 743694.675 0, 1077935.342 743690.08 0, 1077647.787 743685.501 0, 1077360.232 743680.939 0,
+ 1077072.677 743676.395 0, 1076785.121 743671.867 0, 1076497.565 743667.356 0, 1076210.009 743662.862 0, 1075921.073 743658.363 0, 1075634.895 743653.924 0, 1075347.338 743649.481 0, 1075059.781 743645.055 0, 1074772.224 743640.645 0, 1074484.666 743636.253 0,
+ 1074197.108 743631.877 0, 1073909.549 743627.519 0, 1073621.991 743623.177 0, 1073334.432 743618.852 0, 1073046.873 743614.544 0, 1072759.314 743610.253 0, 1072471.754 743605.979 0, 1072184.194 743601.722 0, 1071896.634 743597.482 0, 1071609.074 743593.259 0,
+ 1071321.513 743589.053 0, 1071033.952 743584.863 0, 1070746.391 743580.691 0, 1070458.83 743576.535 0, 1070171.268 743572.397 0, 1069883.706 743568.275 0, 1069596.144 743564.17 0, 1069308.582 743560.082 0, 1069019.639 743555.992 0, 1068940.926 749127.854 0,
+ 1068862.21 754699.974 0, 1069150.494 754704.055 0, 1069437.4 754708.134 0, 1069724.306 754712.229 0, 1070011.212 754716.341 0, 1070298.118 754720.47 0, 1070585.023 754724.616 0, 1070871.928 754728.779 0, 1071158.833 754732.959 0, 1071445.738 754737.156 0,
+ 1071732.642 754741.37 0, 1072019.546 754745.6 0, 1072306.45 754749.847 0, 1072593.354 754754.112 0, 1072880.257 754758.393 0, 1073167.161 754762.691 0, 1073454.064 754767.006 0, 1073740.966 754771.338 0, 1074027.869 754775.686 0, 1074314.771 754780.052 0,
+ 1074601.673 754784.434 0, 1074888.574 754788.834 0, 1075175.476 754793.25 0, 1075462.377 754797.683 0, 1075747.902 754802.112 0, 1076036.178 754806.6 0, 1076323.079 754811.084 0, 1076609.979 754815.584 0, 1076896.879 754820.102 0, 1077183.778 754824.636 0,
+ 1077470.677 754829.188 0, 1077757.576 754833.756 0, 1078044.475 754838.341 0, 1078331.374 754842.943 0, 1078618.272 754847.562 0, 1078905.17 754852.198 0, 1079192.067 754856.85 0, 1079478.965 754861.52 0, 1079765.862 754866.206 0, 1080052.759 754870.909 0,
+ 1080339.655 754875.63 0, 1080626.551 754880.367 0, 1080913.447 754885.121 0, 1081200.343 754889.892 0, 1081487.239 754894.679 0, 1081774.134 754899.484 0, 1082061.029 754904.305 0, 1082347.923 754909.144 0, 1082633.443 754913.976 0, 1082727.901 749342.101 0,
+ 1082822.355 743770.483 0))
+
+POLYGON ((1096404.016 755166.883 0, 1096118.509 755161.244 0, 1095831.629 755155.595 0, 1095544.749 755149.963 0, 1095257.869 755144.348 0, 1094970.988 755138.75 0, 1094684.107 755133.169 0, 1094397.225 755127.604 0, 1094110.344 755122.057 0, 1093823.462 755116.526 0,
+ 1093536.579 755111.012 0, 1093249.696 755105.515 0, 1092962.813 755100.035 0, 1092675.93 755094.572 0, 1092389.046 755089.126 0, 1092102.162 755083.696 0, 1091815.278 755078.284 0, 1091528.393 755072.888 0, 1091241.508 755067.509 0, 1090954.623 755062.147 0,
+ 1090667.738 755056.803 0, 1090380.852 755051.474 0, 1090093.966 755046.163 0, 1089807.079 755040.869 0, 1089518.818 755035.566 0, 1089233.305 755030.331 0, 1088946.418 755025.087 0, 1088659.53 755019.861 0, 1088372.642 755014.651 0, 1088085.753 755009.458 0,
+ 1087798.865 755004.282 0, 1087511.976 754999.122 0, 1087225.086 754993.98 0, 1086938.197 754988.855 0, 1086651.307 754983.746 0, 1086364.417 754978.654 0, 1086077.526 754973.58 0, 1085790.635 754968.522 0, 1085503.744 754963.481 0, 1085216.853 754958.456 0,
+ 1084929.961 754953.449 0, 1084643.069 754948.459 0, 1084356.177 754943.485 0, 1084069.285 754938.529 0, 1083782.392 754933.589 0, 1083495.499 754928.666 0, 1083208.605 754923.76 0, 1082921.711 754918.871 0, 1082633.443 754913.976 0, 1082538.98 760486.105 0,
+ 1082444.513 766058.484 0, 1082732.122 766063.368 0, 1083018.36 766068.246 0, 1083304.598 766073.141 0, 1083590.835 766078.053 0, 1083877.072 766082.981 0, 1084163.308 766087.926 0, 1084449.545 766092.888 0, 1084735.781 766097.867 0, 1085022.016 766102.863 0,
+ 1085308.252 766107.876 0, 1085594.487 766112.905 0, 1085880.722 766117.952 0, 1086166.956 766123.015 0, 1086453.191 766128.095 0, 1086739.425 766133.192 0, 1087025.658 766138.305 0, 1087311.892 766143.436 0, 1087598.125 766148.583 0, 1087884.358 766153.748 0,
+ 1088170.59 766158.929 0, 1088456.822 766164.127 0, 1088743.054 766169.342 0, 1089029.285 766174.573 0, 1089314.146 766179.797 0, 1089601.748 766185.087 0, 1089887.978 766190.369 0, 1090174.208 766195.668 0, 1090460.438 766200.984 0, 1090746.668 766206.317 0,
+ 1091032.897 766211.667 0, 1091319.126 766217.033 0, 1091605.355 766222.416 0, 1091891.584 766227.817 0, 1092177.812 766233.234 0, 1092464.039 766238.667 0, 1092750.267 766244.118 0, 1093036.494 766249.586 0, 1093322.721 766255.07 0, 1093608.947 766260.571 0,
+ 1093895.173 766266.089 0, 1094181.399 766271.624 0, 1094467.625 766277.176 0, 1094753.85 766282.744 0, 1095040.075 766288.33 0, 1095326.299 766293.932 0, 1095612.523 766299.551 0, 1095898.747 766305.187 0, 1096183.601 766310.813 0, 1096293.811 760738.723 0,
+ 1096404.016 755166.883 0))
+
+POLYGON ((1109921.922 766601.956 0, 1109637.083 766595.526 0, 1109350.876 766589.081 0, 1109064.669 766582.653 0, 1108778.462 766576.243 0, 1108492.254 766569.848 0, 1108206.045 766563.471 0, 1107919.837 766557.111 0, 1107633.628 766550.767 0, 1107347.418 766544.441 0,
+ 1107061.208 766538.131 0, 1106774.998 766531.838 0, 1106488.788 766525.562 0, 1106202.577 766519.302 0, 1105916.366 766513.06 0, 1105630.154 766506.834 0, 1105343.942 766500.626 0, 1105057.73 766494.434 0, 1104771.517 766488.259 0, 1104485.304 766482.1 0,
+ 1104199.09 766475.959 0, 1103912.877 766469.835 0, 1103626.662 766463.727 0, 1103340.448 766457.636 0, 1103052.865 766451.533 0, 1102768.018 766445.505 0, 1102481.802 766439.465 0, 1102195.586 766433.441 0, 1101909.37 766427.435 0, 1101623.153 766421.445 0,
+ 1101336.936 766415.472 0, 1101050.719 766409.516 0, 1100764.501 766403.577 0, 1100478.283 766397.654 0, 1100192.065 766391.749 0, 1099905.846 766385.86 0, 1099619.627 766379.988 0, 1099333.407 766374.133 0, 1099047.187 766368.295 0, 1098760.967 766362.474 0,
+ 1098474.747 766356.669 0, 1098188.526 766350.882 0, 1097902.305 766345.111 0, 1097616.083 766339.357 0, 1097329.862 766333.62 0, 1097043.639 766327.9 0, 1096757.417 766322.196 0, 1096471.194 766316.51 0, 1096183.601 766310.813 0, 1096073.387 771883.15 0,
+ 1095963.167 777455.73 0, 1096250.101 777461.414 0, 1096535.668 777467.088 0, 1096821.234 777472.778 0, 1097106.801 777478.485 0, 1097392.366 777484.209 0, 1097677.932 777489.95 0, 1097963.497 777495.707 0, 1098249.062 777501.482 0, 1098534.627 777507.273 0,
+ 1098820.191 777513.081 0, 1099105.755 777518.905 0, 1099391.318 777524.747 0, 1099676.881 777530.605 0, 1099962.444 777536.481 0, 1100248.007 777542.373 0, 1100533.569 777548.281 0, 1100819.13 777554.207 0, 1101104.692 777560.149 0, 1101390.253 777566.109 0,
+ 1101675.814 777572.085 0, 1101961.374 777578.078 0, 1102246.934 777584.087 0, 1102532.494 777590.114 0, 1102816.688 777596.128 0, 1103103.612 777602.217 0, 1103389.17 777608.294 0, 1103674.729 777614.387 0, 1103960.287 777620.498 0, 1104245.844 777626.625 0,
+ 1104531.401 777632.769 0, 1104816.958 777638.93 0, 1105102.514 777645.108 0, 1105388.07 777651.303 0, 1105673.626 777657.514 0, 1105959.181 777663.742 0, 1106244.736 777669.987 0, 1106530.291 777676.249 0, 1106815.845 777682.527 0, 1107101.399 777688.823 0,
+ 1107386.953 777695.135 0, 1107672.506 777701.464 0, 1107958.058 777707.81 0, 1108243.611 777714.172 0, 1108529.163 777720.552 0, 1108814.714 777726.948 0, 1109100.266 777733.361 0, 1109385.816 777739.791 0, 1109670.003 777746.207 0, 1109795.965 772173.96 0,
+ 1109921.922 766601.956 0))
+
+POLYGON ((1123375.963 778075.406 0, 1123091.794 778068.187 0, 1122806.262 778060.95 0, 1122520.73 778053.731 0, 1122235.198 778046.528 0, 1121949.665 778039.342 0, 1121664.132 778032.172 0, 1121378.598 778025.02 0, 1121093.064 778017.884 0, 1120807.529 778010.765 0,
+ 1120521.994 778003.663 0, 1120236.459 777996.578 0, 1119950.923 777989.509 0, 1119665.387 777982.458 0, 1119379.851 777975.423 0, 1119094.314 777968.405 0, 1118808.776 777961.404 0, 1118523.238 777954.419 0, 1118237.7 777947.452 0, 1117952.161 777940.501 0,
+ 1117666.622 777933.567 0, 1117381.083 777926.649 0, 1117095.543 777919.749 0, 1116810.003 777912.865 0, 1116523.099 777905.966 0, 1116238.921 777899.149 0, 1115953.379 777892.315 0, 1115667.838 777885.499 0, 1115382.295 777878.699 0, 1115096.753 777871.917 0,
+ 1114811.21 777865.151 0, 1114525.666 777858.402 0, 1114240.122 777851.669 0, 1113954.578 777844.954 0, 1113669.033 777838.255 0, 1113383.488 777831.573 0, 1113097.943 777824.908 0, 1112812.397 777818.26 0, 1112526.851 777811.628 0, 1112241.304 777805.013 0,
+ 1111955.757 777798.415 0, 1111670.21 777791.834 0, 1111384.662 777785.27 0, 1111099.114 777778.723 0, 1110813.565 777772.192 0, 1110528.016 777765.678 0, 1110242.467 777759.181 0, 1109956.917 777752.701 0, 1109670.003 777746.207 0, 1109544.035 783318.693 0,
+ 1109418.062 788891.415 0, 1109704.317 788897.895 0, 1109989.21 788904.36 0, 1110274.104 788910.842 0, 1110558.997 788917.341 0, 1110843.889 788923.857 0, 1111128.782 788930.389 0, 1111413.673 788936.938 0, 1111698.565 788943.504 0, 1111983.456 788950.087 0,
+ 1112268.347 788956.687 0, 1112553.237 788963.303 0, 1112838.127 788969.936 0, 1113123.016 788976.586 0, 1113407.905 788983.252 0, 1113692.794 788989.936 0, 1113977.682 788996.636 0, 1114262.57 789003.353 0, 1114547.458 789010.086 0, 1114832.345 789016.837 0,
+ 1115117.232 789023.604 0, 1115402.118 789030.388 0, 1115687.004 789037.189 0, 1115971.889 789044.006 0, 1116255.415 789050.808 0, 1116541.659 789057.691 0, 1116826.543 789064.559 0, 1117111.427 789071.444 0, 1117396.311 789078.345 0, 1117681.194 789085.263 0,
+ 1117966.077 789092.198 0, 1118250.959 789099.15 0, 1118535.841 789106.118 0, 1118820.722 789113.103 0, 1119105.603 789120.105 0, 1119390.484 789127.124 0, 1119675.364 789134.159 0, 1119960.244 789141.212 0, 1120245.123 789148.281 0, 1120530.002 789155.366 0,
+ 1120814.881 789162.469 0, 1121099.759 789169.588 0, 1121384.637 789176.724 0, 1121669.514 789183.877 0, 1121954.391 789191.047 0, 1122239.267 789198.233 0, 1122524.143 789205.436 0, 1122809.019 789212.656 0, 1123092.536 789219.858 0, 1123234.252 783647.514 0,
+ 1123375.963 778075.406 0))
+
+POLYGON ((1136766.027 789586.933 0, 1136482.53 789578.93 0, 1136197.676 789570.905 0, 1135912.821 789562.897 0, 1135627.966 789554.906 0, 1135343.111 789546.931 0, 1135058.255 789538.974 0, 1134773.398 789531.033 0, 1134488.541 789523.109 0, 1134203.684 789515.201 0,
+ 1133918.826 789507.311 0, 1133633.968 789499.437 0, 1133349.109 789491.58 0, 1133064.25 789483.74 0, 1132779.39 789475.916 0, 1132494.53 789468.109 0, 1132209.67 789460.319 0, 1131924.808 789452.546 0, 1131639.947 789444.79 0, 1131355.085 789437.05 0,
+ 1131070.223 789429.327 0, 1130785.36 789421.621 0, 1130500.496 789413.932 0, 1130215.633 789406.259 0, 1129929.411 789398.567 0, 1129645.904 789390.964 0, 1129361.039 789383.342 0, 1129076.173 789375.736 0, 1128791.307 789368.147 0, 1128506.441 789360.575 0,
+ 1128221.574 789353.02 0, 1127936.706 789345.482 0, 1127651.838 789337.96 0, 1127366.97 789330.455 0, 1127082.102 789322.967 0, 1126797.232 789315.495 0, 1126512.363 789308.041 0, 1126227.493 789300.603 0, 1125942.622 789293.182 0, 1125657.752 789285.777 0,
+ 1125372.88 789278.39 0, 1125088.009 789271.019 0, 1124803.136 789263.665 0, 1124518.264 789256.328 0, 1124233.391 789249.007 0, 1123948.517 789241.703 0, 1123663.643 789234.416 0, 1123378.769 789227.146 0, 1123092.536 789219.858 0, 1122950.813 794792.435 0,
+ 1122809.085 800365.241 0, 1123094.659 800372.512 0, 1123378.877 800379.765 0, 1123663.095 800387.035 0, 1123947.313 800394.322 0, 1124231.53 800401.626 0, 1124515.746 800408.946 0, 1124799.962 800416.284 0, 1125084.178 800423.637 0, 1125368.394 800431.008 0,
+ 1125652.608 800438.395 0, 1125936.823 800445.799 0, 1126221.037 800453.22 0, 1126505.25 800460.657 0, 1126789.464 800468.112 0, 1127073.676 800475.583 0, 1127357.889 800483.07 0, 1127642.1 800490.575 0, 1127926.312 800498.096 0, 1128210.523 800505.634 0,
+ 1128494.733 800513.188 0, 1128778.943 800520.76 0, 1129063.153 800528.348 0, 1129347.362 800535.952 0, 1129630.216 800543.537 0, 1129915.779 800551.212 0, 1130199.987 800558.867 0, 1130484.194 800566.539 0, 1130768.401 800574.227 0, 1131052.607 800581.932 0,
+ 1131336.813 800589.654 0, 1131621.019 800597.393 0, 1131905.224 800605.148 0, 1132189.429 800612.92 0, 1132473.633 800620.709 0, 1132757.837 800628.514 0, 1133042.04 800636.337 0, 1133326.243 800644.175 0, 1133610.445 800652.031 0, 1133894.647 800659.904 0,
+ 1134178.848 800667.793 0, 1134463.049 800675.699 0, 1134747.25 800683.621 0, 1135031.45 800691.561 0, 1135315.649 800699.517 0, 1135599.848 800707.489 0, 1135884.047 800715.479 0, 1136168.245 800723.485 0, 1136451.089 800731.47 0, 1136608.561 795159.087 0,
+ 1136766.027 789586.933 0))
+
+POLYGON ((1150092.005 801136.239 0, 1149809.182 801127.455 0, 1149525.008 801118.646 0, 1149240.833 801109.853 0, 1148956.657 801101.078 0, 1148672.482 801092.319 0, 1148388.305 801083.577 0, 1148104.128 801074.851 0, 1147819.951 801066.142 0, 1147535.773 801057.45 0,
+ 1147251.594 801048.775 0, 1146967.415 801040.116 0, 1146683.236 801031.475 0, 1146399.056 801022.849 0, 1146114.875 801014.241 0, 1145830.694 801005.649 0, 1145546.513 800997.074 0, 1145262.331 800988.516 0, 1144978.148 800979.975 0, 1144693.965 800971.45 0,
+ 1144409.781 800962.942 0, 1144125.597 800954.451 0, 1143841.413 800945.976 0, 1143557.228 800937.518 0, 1143271.69 800929.037 0, 1142988.856 800920.653 0, 1142704.67 800912.245 0, 1142420.483 800903.854 0, 1142136.295 800895.48 0, 1141852.107 800887.122 0,
+ 1141567.919 800878.782 0, 1141283.73 800870.458 0, 1140999.54 800862.15 0, 1140715.35 800853.86 0, 1140431.16 800845.586 0, 1140146.969 800837.329 0, 1139862.777 800829.088 0, 1139578.585 800820.865 0, 1139294.393 800812.658 0, 1139010.2 800804.467 0,
+ 1138726.007 800796.294 0, 1138441.813 800788.137 0, 1138157.619 800779.997 0, 1137873.424 800771.874 0, 1137589.228 800763.767 0, 1137305.033 800755.677 0, 1137020.836 800747.604 0, 1136736.64 800739.548 0, 1136451.089 800731.47 0, 1136293.611 806304.078 0,
+ 1136136.126 811876.907 0, 1136421.018 811884.967 0, 1136704.558 811893.005 0, 1136988.099 811901.059 0, 1137271.638 811909.13 0, 1137555.178 811917.218 0, 1137838.716 811925.323 0, 1138122.255 811933.444 0, 1138405.793 811941.582 0, 1138689.33 811949.737 0,
+ 1138972.867 811957.908 0, 1139256.403 811966.096 0, 1139539.939 811974.301 0, 1139823.475 811982.522 0, 1140107.01 811990.76 0, 1140390.544 811999.015 0, 1140674.078 812007.286 0, 1140957.612 812015.574 0, 1141241.145 812023.879 0, 1141524.677 812032.201 0,
+ 1141808.209 812040.539 0, 1142091.741 812048.894 0, 1142375.272 812057.265 0, 1142658.802 812065.654 0, 1142940.983 812074.019 0, 1143225.862 812082.48 0, 1143509.391 812090.919 0, 1143792.92 812099.374 0, 1144076.448 812107.845 0, 1144359.975 812116.334 0,
+ 1144643.502 812124.839 0, 1144927.029 812133.361 0, 1145210.555 812141.899 0, 1145494.081 812150.454 0, 1145777.606 812159.026 0, 1146061.13 812167.615 0, 1146344.654 812176.22 0, 1146628.178 812184.842 0, 1146911.701 812193.48 0, 1147195.223 812202.136 0,
+ 1147478.745 812210.808 0, 1147762.267 812219.496 0, 1148045.788 812228.202 0, 1148329.308 812236.924 0, 1148612.828 812245.662 0, 1148896.348 812254.418 0, 1149179.867 812263.19 0, 1149463.385 812271.979 0, 1149745.555 812280.742 0, 1149918.784 806708.38 0,
+ 1150092.005 801136.239 0))
+
+POLYGON ((1163353.789 812723.024 0, 1163071.643 812713.463 0, 1162788.15 812703.874 0, 1162504.657 812694.301 0, 1162221.164 812684.744 0, 1161937.67 812675.205 0, 1161654.175 812665.682 0, 1161370.68 812656.175 0, 1161087.184 812646.686 0, 1160803.687 812637.213 0,
+ 1160520.19 812627.757 0, 1160236.693 812618.317 0, 1159953.195 812608.894 0, 1159669.696 812599.488 0, 1159386.197 812590.098 0, 1159102.697 812580.726 0, 1158819.197 812571.369 0, 1158535.696 812562.03 0, 1158252.195 812552.707 0, 1157968.693 812543.401 0,
+ 1157685.19 812534.112 0, 1157401.687 812524.839 0, 1157118.184 812515.583 0, 1156834.68 812506.344 0, 1156549.828 812497.077 0, 1156267.67 812487.915 0, 1155984.164 812478.726 0, 1155700.658 812469.553 0, 1155417.151 812460.398 0, 1155133.644 812451.258 0,
+ 1154850.136 812442.136 0, 1154566.628 812433.03 0, 1154283.119 812423.941 0, 1153999.609 812414.868 0, 1153716.099 812405.813 0, 1153432.588 812396.774 0, 1153149.077 812387.751 0, 1152865.566 812378.745 0, 1152582.054 812369.756 0, 1152298.541 812360.784 0,
+ 1152015.028 812351.828 0, 1151731.514 812342.889 0, 1151448 812333.967 0, 1151164.485 812325.062 0, 1150880.97 812316.173 0, 1150597.454 812307.301 0, 1150313.937 812298.445 0, 1150030.421 812289.606 0, 1149745.555 812280.742 0, 1149572.32 817853.322 0,
+ 1149399.079 823426.117 0, 1149683.285 823434.961 0, 1149966.146 823443.779 0, 1150249.006 823452.614 0, 1150531.866 823461.466 0, 1150814.725 823470.334 0, 1151097.584 823479.219 0, 1151380.442 823488.121 0, 1151663.3 823497.039 0, 1151946.157 823505.974 0,
+ 1152229.014 823514.925 0, 1152511.87 823523.894 0, 1152794.726 823532.878 0, 1153077.581 823541.88 0, 1153360.435 823550.898 0, 1153643.289 823559.933 0, 1153926.143 823568.984 0, 1154208.996 823578.053 0, 1154491.848 823587.137 0, 1154774.7 823596.239 0,
+ 1155057.552 823605.357 0, 1155340.402 823614.491 0, 1155623.253 823623.643 0, 1155906.103 823632.811 0, 1156187.608 823641.952 0, 1156471.8 823651.197 0, 1156754.649 823660.415 0, 1157037.496 823669.649 0, 1157320.343 823678.901 0, 1157603.19 823688.168 0,
+ 1157886.036 823697.453 0, 1158168.881 823706.754 0, 1158451.726 823716.072 0, 1158734.57 823725.406 0, 1159017.414 823734.758 0, 1159300.257 823744.125 0, 1159583.1 823753.51 0, 1159865.942 823762.911 0, 1160148.784 823772.329 0, 1160431.625 823781.763 0,
+ 1160714.465 823791.214 0, 1160997.305 823800.682 0, 1161280.144 823810.166 0, 1161562.983 823819.667 0, 1161845.821 823829.184 0, 1162128.659 823838.719 0, 1162411.496 823848.27 0, 1162694.333 823857.837 0, 1162975.826 823867.376 0, 1163164.811 818295.093 0,
+ 1163353.789 812723.024 0))
+
+POLYGON ((1176551.273 824346.99 0, 1176269.805 824336.656 0, 1175986.997 824326.289 0, 1175704.188 824315.939 0, 1175421.378 824305.606 0, 1175138.568 824295.289 0, 1174855.757 824284.989 0, 1174572.946 824274.706 0, 1174290.134 824264.439 0, 1174007.321 824254.189 0,
+ 1173724.508 824243.956 0, 1173441.694 824233.739 0, 1173158.88 824223.539 0, 1172876.065 824213.355 0, 1172593.249 824203.189 0, 1172310.433 824193.038 0, 1172027.616 824182.905 0, 1171744.799 824172.788 0, 1171461.981 824162.688 0, 1171179.162 824152.604 0,
+ 1170896.343 824142.537 0, 1170613.523 824132.487 0, 1170330.703 824122.453 0, 1170047.882 824112.436 0, 1169763.719 824102.388 0, 1169482.238 824092.452 0, 1169199.415 824082.485 0, 1168916.592 824072.535 0, 1168633.768 824062.601 0, 1168350.944 824052.684 0,
+ 1168068.118 824042.783 0, 1167785.293 824032.899 0, 1167502.467 824023.032 0, 1167219.64 824013.182 0, 1166936.812 824003.348 0, 1166653.984 823993.531 0, 1166371.156 823983.73 0, 1166088.327 823973.946 0, 1165805.497 823964.179 0, 1165522.667 823954.428 0,
+ 1165239.836 823944.694 0, 1164957.004 823934.977 0, 1164674.172 823925.276 0, 1164391.34 823915.592 0, 1164108.507 823905.925 0, 1163825.673 823896.274 0, 1163542.839 823886.64 0, 1163260.004 823877.022 0, 1162975.826 823867.376 0, 1162786.834 829439.869 0,
+ 1162597.834 835012.569 0, 1162881.353 835022.193 0, 1163163.532 835031.789 0, 1163445.71 835041.4 0, 1163727.888 835051.029 0, 1164010.065 835060.674 0, 1164292.242 835070.335 0, 1164574.418 835080.014 0, 1164856.593 835089.708 0, 1165138.768 835099.42 0,
+ 1165420.942 835109.148 0, 1165703.116 835118.892 0, 1165985.289 835128.654 0, 1166267.462 835138.432 0, 1166549.634 835148.226 0, 1166831.805 835158.037 0, 1167113.976 835167.865 0, 1167396.147 835177.709 0, 1167678.316 835187.57 0, 1167960.485 835197.448 0,
+ 1168242.654 835207.342 0, 1168524.822 835217.252 0, 1168806.989 835227.18 0, 1169089.156 835237.124 0, 1169369.984 835247.037 0, 1169653.488 835257.061 0, 1169935.653 835267.055 0, 1170217.817 835277.066 0, 1170499.981 835287.093 0, 1170782.144 835297.136 0,
+ 1171064.307 835307.196 0, 1171346.469 835317.273 0, 1171628.63 835327.367 0, 1171910.791 835337.477 0, 1172192.952 835347.603 0, 1172475.111 835357.747 0, 1172757.27 835367.906 0, 1173039.429 835378.083 0, 1173321.587 835388.276 0, 1173603.744 835398.486 0,
+ 1173885.901 835408.712 0, 1174168.057 835418.955 0, 1174450.212 835429.214 0, 1174732.367 835439.49 0, 1175014.521 835449.783 0, 1175296.675 835460.092 0, 1175578.828 835470.418 0, 1175860.981 835480.761 0, 1176141.796 835491.071 0, 1176346.538 829918.927 0,
+ 1176551.273 824346.99 0))
+
+POLYGON ((1189684.351 836007.834 0, 1189403.564 835996.731 0, 1189121.442 835985.591 0, 1188839.319 835974.468 0, 1188557.196 835963.362 0, 1188275.072 835952.272 0, 1187992.947 835941.199 0, 1187710.821 835930.142 0, 1187428.695 835919.102 0, 1187146.569 835908.079 0,
+ 1186864.441 835897.072 0, 1186582.313 835886.082 0, 1186300.185 835875.109 0, 1186018.056 835864.152 0, 1185735.926 835853.211 0, 1185453.795 835842.287 0, 1185171.664 835831.38 0, 1184889.532 835820.49 0, 1184607.4 835809.616 0, 1184325.267 835798.759 0,
+ 1184043.133 835787.918 0, 1183760.998 835777.094 0, 1183478.863 835766.286 0, 1183196.728 835755.495 0, 1182913.256 835744.67 0, 1182632.454 835733.963 0, 1182350.317 835723.222 0, 1182068.179 835712.498 0, 1181786.04 835701.79 0, 1181503.9 835691.099 0,
+ 1181221.76 835680.424 0, 1180939.62 835669.766 0, 1180657.478 835659.124 0, 1180375.336 835648.5 0, 1180093.194 835637.891 0, 1179811.051 835627.3 0, 1179528.907 835616.725 0, 1179246.762 835606.166 0, 1178964.617 835595.625 0, 1178682.472 835585.099 0,
+ 1178400.325 835574.591 0, 1178118.178 835564.099 0, 1177836.031 835553.623 0, 1177553.883 835543.165 0, 1177271.734 835532.722 0, 1176989.584 835522.297 0, 1176707.434 835511.888 0, 1176425.284 835501.496 0, 1176141.796 835491.071 0, 1175937.046 841063.418 0,
+ 1175732.288 846635.964 0, 1176015.117 846646.365 0, 1176296.612 846656.733 0, 1176578.106 846667.118 0, 1176859.6 846677.519 0, 1177141.092 846687.937 0, 1177422.585 846698.372 0, 1177704.076 846708.823 0, 1177985.567 846719.29 0, 1178267.058 846729.774 0,
+ 1178548.547 846740.275 0, 1178830.036 846750.792 0, 1179111.525 846761.326 0, 1179393.013 846771.877 0, 1179674.5 846782.444 0, 1179955.987 846793.027 0, 1180237.473 846803.627 0, 1180518.958 846814.244 0, 1180800.443 846824.877 0, 1181081.927 846835.527 0,
+ 1181363.411 846846.194 0, 1181644.893 846856.877 0, 1181926.376 846867.576 0, 1182207.857 846878.292 0, 1182488.006 846888.974 0, 1182770.819 846899.774 0, 1183052.298 846910.54 0, 1183333.778 846921.322 0, 1183615.256 846932.121 0, 1183896.734 846942.937 0,
+ 1184178.211 846953.769 0, 1184459.688 846964.618 0, 1184741.163 846975.483 0, 1185022.639 846986.365 0, 1185304.113 846997.263 0, 1185585.587 847008.178 0, 1185867.061 847019.109 0, 1186148.533 847030.057 0, 1186430.005 847041.022 0, 1186711.477 847052.003 0,
+ 1186992.948 847063.001 0, 1187274.418 847074.015 0, 1187555.887 847085.046 0, 1187837.356 847096.094 0, 1188118.824 847107.158 0, 1188400.292 847118.238 0, 1188681.759 847129.335 0, 1188963.225 847140.449 0, 1189243.359 847151.527 0, 1189463.859 841579.581 0,
+ 1189684.351 836007.834 0))
+
+POLYGON ((1202752.919 847705.258 0, 1202472.815 847693.389 0, 1202191.381 847681.48 0, 1201909.947 847669.588 0, 1201628.512 847657.712 0, 1201347.076 847645.853 0, 1201065.64 847634.01 0, 1200784.202 847622.184 0, 1200502.764 847610.375 0, 1200221.326 847598.582 0,
+ 1199939.887 847586.805 0, 1199658.447 847575.046 0, 1199377.006 847563.302 0, 1199095.565 847551.576 0, 1198814.123 847539.866 0, 1198532.68 847528.172 0, 1198251.237 847516.495 0, 1197969.792 847504.835 0, 1197688.348 847493.191 0, 1197406.902 847481.564 0,
+ 1197125.456 847469.953 0, 1196844.009 847458.359 0, 1196562.562 847446.781 0, 1196281.114 847435.22 0, 1195998.334 847423.621 0, 1195718.215 847412.148 0, 1195436.765 847400.637 0, 1195155.314 847389.142 0, 1194873.862 847377.664 0, 1194592.41 847366.202 0,
+ 1194310.957 847354.757 0, 1194029.504 847343.329 0, 1193748.049 847331.917 0, 1193466.594 847320.522 0, 1193185.139 847309.143 0, 1192903.682 847297.781 0, 1192622.226 847286.435 0, 1192340.768 847275.106 0, 1192059.31 847263.793 0, 1191777.851 847252.497 0,
+ 1191496.391 847241.218 0, 1191214.931 847229.955 0, 1190933.47 847218.709 0, 1190652.008 847207.479 0, 1190370.546 847196.266 0, 1190089.083 847185.07 0, 1189807.619 847173.89 0, 1189526.155 847162.726 0, 1189243.359 847151.527 0, 1189022.851 852723.668 0,
+ 1188802.336 858296.001 0, 1189084.473 858307.175 0, 1189365.282 858318.312 0, 1189646.089 858329.466 0, 1189926.896 858340.637 0, 1190207.703 858351.824 0, 1190488.508 858363.027 0, 1190769.313 858374.247 0, 1191050.118 858385.484 0, 1191330.921 858396.737 0,
+ 1191611.724 858408.006 0, 1191892.527 858419.293 0, 1192173.328 858430.595 0, 1192454.129 858441.914 0, 1192734.93 858453.25 0, 1193015.729 858464.602 0, 1193296.529 858475.971 0, 1193577.327 858487.357 0, 1193858.125 858498.758 0, 1194138.922 858510.177 0,
+ 1194419.718 858521.612 0, 1194700.514 858533.063 0, 1194981.309 858544.531 0, 1195262.103 858556.015 0, 1195541.569 858567.462 0, 1195823.69 858579.034 0, 1196104.482 858590.568 0, 1196385.273 858602.119 0, 1196666.064 858613.686 0, 1196946.855 858625.269 0,
+ 1197227.644 858636.87 0, 1197508.433 858648.486 0, 1197789.221 858660.119 0, 1198070.009 858671.769 0, 1198350.796 858683.435 0, 1198631.582 858695.118 0, 1198912.367 858706.818 0, 1199193.152 858718.533 0, 1199473.936 858730.266 0, 1199754.719 858742.015 0,
+ 1200035.502 858753.78 0, 1200316.284 858765.562 0, 1200597.065 858777.361 0, 1200877.846 858789.176 0, 1201158.626 858801.007 0, 1201439.405 858812.855 0, 1201720.184 858824.72 0, 1202000.961 858836.601 0, 1202280.412 858848.442 0, 1202516.67 853276.754 0,
+ 1202752.919 847705.258 0))
+
+POLYGON ((1215756.874 859438.959 0, 1215477.456 859426.328 0, 1215196.713 859413.654 0, 1214915.969 859400.996 0, 1214635.224 859388.355 0, 1214354.479 859375.73 0, 1214073.733 859363.122 0, 1213792.986 859350.53 0, 1213512.238 859337.955 0, 1213231.49 859325.396 0,
+ 1212950.741 859312.854 0, 1212669.991 859300.329 0, 1212389.241 859287.819 0, 1212108.489 859275.327 0, 1211827.737 859262.851 0, 1211546.985 859250.391 0, 1211266.231 859237.948 0, 1210985.477 859225.522 0, 1210704.722 859213.112 0, 1210423.966 859200.719 0,
+ 1210143.21 859188.342 0, 1209862.453 859175.981 0, 1209581.695 859163.638 0, 1209300.936 859151.31 0, 1209018.852 859138.941 0, 1208739.417 859126.705 0, 1208458.656 859114.428 0, 1208177.895 859102.166 0, 1207897.132 859089.922 0, 1207616.37 859077.694 0,
+ 1207335.606 859065.482 0, 1207054.842 859053.287 0, 1206774.076 859041.108 0, 1206493.311 859028.946 0, 1206212.544 859016.801 0, 1205931.777 859004.672 0, 1205651.009 858992.559 0, 1205370.24 858980.463 0, 1205089.471 858968.384 0, 1204808.701 858956.321 0,
+ 1204527.93 858944.275 0, 1204247.159 858932.245 0, 1203966.387 858920.231 0, 1203685.614 858908.235 0, 1203404.84 858896.254 0, 1203124.066 858884.291 0, 1202843.291 858872.343 0, 1202562.515 858860.413 0, 1202280.412 858848.442 0, 1202044.147 864420.319 0,
+ 1201807.874 869992.379 0, 1202089.318 870004.322 0, 1202369.438 870016.224 0, 1202649.557 870028.144 0, 1202929.675 870040.079 0, 1203209.793 870052.032 0, 1203489.91 870064.001 0, 1203770.026 870075.986 0, 1204050.142 870087.988 0, 1204330.257 870100.006 0,
+ 1204610.371 870112.04 0, 1204890.484 870124.092 0, 1205170.597 870136.159 0, 1205450.709 870148.244 0, 1205730.82 870160.344 0, 1206010.931 870172.461 0, 1206291.041 870184.595 0, 1206571.15 870196.745 0, 1206851.259 870208.912 0, 1207131.366 870221.095 0,
+ 1207411.473 870233.294 0, 1207691.58 870245.511 0, 1207971.685 870257.743 0, 1208251.79 870269.992 0, 1208530.572 870282.2 0, 1208811.998 870294.54 0, 1209092.1 870306.838 0, 1209372.202 870319.153 0, 1209652.304 870331.485 0, 1209932.404 870343.833 0,
+ 1210212.504 870356.197 0, 1210492.603 870368.578 0, 1210772.702 870380.975 0, 1211052.799 870393.389 0, 1211332.896 870405.82 0, 1211612.992 870418.267 0, 1211893.088 870430.73 0, 1212173.182 870443.21 0, 1212453.276 870455.706 0, 1212733.369 870468.219 0,
+ 1213013.462 870480.748 0, 1213293.554 870493.294 0, 1213573.645 870505.856 0, 1213853.735 870518.435 0, 1214133.825 870531.03 0, 1214413.913 870543.642 0, 1214694.001 870556.27 0, 1214974.089 870568.915 0, 1215252.854 870581.516 0, 1215504.869 865010.146 0,
+ 1215756.874 859438.959 0))
+
+POLYGON ((1228696.117 871208.636 0, 1228417.385 871195.247 0, 1228137.335 871181.811 0, 1227857.284 871168.391 0, 1227577.232 871154.988 0, 1227297.179 871141.602 0, 1227017.125 871128.232 0, 1226737.071 871114.878 0, 1226457.016 871101.541 0, 1226176.96 871088.221 0,
+ 1225896.903 871074.917 0, 1225616.845 871061.629 0, 1225336.787 871048.358 0, 1225056.728 871035.103 0, 1224776.668 871021.865 0, 1224496.607 871008.643 0, 1224216.546 870995.438 0, 1223936.484 870982.25 0, 1223656.421 870969.077 0, 1223376.357 870955.922 0,
+ 1223096.292 870942.782 0, 1222816.227 870929.66 0, 1222536.161 870916.553 0, 1222256.094 870903.464 0, 1221974.707 870890.329 0, 1221695.958 870877.333 0, 1221415.889 870864.293 0, 1221135.819 870851.269 0, 1220855.748 870838.262 0, 1220575.677 870825.271 0,
+ 1220295.605 870812.297 0, 1220015.532 870799.339 0, 1219735.458 870786.397 0, 1219455.384 870773.472 0, 1219175.308 870760.564 0, 1218895.232 870747.672 0, 1218615.155 870734.796 0, 1218335.078 870721.937 0, 1218055 870709.095 0, 1217774.921 870696.269 0,
+ 1217494.841 870683.459 0, 1217214.76 870670.666 0, 1216934.679 870657.889 0, 1216654.597 870645.129 0, 1216374.514 870632.386 0, 1216094.43 870619.659 0, 1215814.346 870606.948 0, 1215534.261 870594.254 0, 1215252.854 870581.516 0, 1215000.832 876153.068 0,
+ 1214748.802 881724.796 0, 1215029.549 881737.504 0, 1215308.979 881750.168 0, 1215588.407 881762.849 0, 1215867.835 881775.546 0, 1216147.262 881788.26 0, 1216426.688 881800.99 0, 1216706.113 881813.737 0, 1216985.538 881826.5 0, 1217264.962 881839.28 0,
+ 1217544.385 881852.076 0, 1217823.808 881864.888 0, 1218103.229 881877.717 0, 1218382.65 881890.562 0, 1218662.071 881903.424 0, 1218941.49 881916.302 0, 1219220.909 881929.197 0, 1219500.327 881942.108 0, 1219779.744 881955.036 0, 1220059.16 881967.98 0,
+ 1220338.576 881980.94 0, 1220617.991 881993.917 0, 1220897.405 882006.91 0, 1221176.818 882019.92 0, 1221454.914 882032.885 0, 1221735.642 882045.989 0, 1222015.053 882059.048 0, 1222294.464 882072.124 0, 1222573.873 882085.216 0, 1222853.282 882098.324 0,
+ 1223132.69 882111.449 0, 1223412.097 882124.591 0, 1223691.503 882137.749 0, 1223970.909 882150.923 0, 1224250.314 882164.114 0, 1224529.718 882177.321 0, 1224809.121 882190.544 0, 1225088.524 882203.784 0, 1225367.925 882217.041 0, 1225647.326 882230.314 0,
+ 1225926.726 882243.603 0, 1226206.126 882256.909 0, 1226485.524 882270.231 0, 1226764.922 882283.57 0, 1227044.319 882296.925 0, 1227323.716 882310.297 0, 1227603.111 882323.685 0, 1227882.506 882337.089 0, 1228160.584 882350.447 0, 1228428.355 876779.453 0,
+ 1228696.117 871208.636 0))
+
+POLYGON ((1241570.546 883013.986 0, 1241292.504 882999.843 0, 1241013.148 882985.649 0, 1240733.791 882971.472 0, 1240454.434 882957.311 0, 1240175.076 882943.166 0, 1239895.717 882929.038 0, 1239616.357 882914.927 0, 1239336.996 882900.832 0, 1239057.635 882886.753 0,
+ 1238778.273 882872.691 0, 1238498.909 882858.645 0, 1238219.545 882844.615 0, 1237940.181 882830.603 0, 1237660.815 882816.606 0, 1237381.448 882802.626 0, 1237102.081 882788.662 0, 1236822.713 882774.715 0, 1236543.344 882760.785 0, 1236263.974 882746.87 0,
+ 1235984.604 882732.973 0, 1235705.232 882719.091 0, 1235425.86 882705.226 0, 1235146.487 882691.378 0, 1234865.799 882677.481 0, 1234587.739 882663.73 0, 1234308.363 882649.931 0, 1234028.987 882636.148 0, 1233749.61 882622.382 0, 1233470.232 882608.632 0,
+ 1233190.853 882594.899 0, 1232911.474 882581.182 0, 1232632.094 882567.482 0, 1232352.712 882553.797 0, 1232073.33 882540.13 0, 1231793.948 882526.479 0, 1231514.564 882512.844 0, 1231235.18 882499.226 0, 1230955.795 882485.624 0, 1230676.409 882472.039 0,
+ 1230397.022 882458.47 0, 1230117.635 882444.917 0, 1229838.246 882431.381 0, 1229558.857 882417.861 0, 1229279.467 882404.358 0, 1229000.076 882390.872 0, 1228720.685 882377.401 0, 1228441.293 882363.948 0, 1228160.584 882350.447 0, 1227892.805 887921.614 0,
+ 1227625.019 893492.95 0, 1227905.068 893506.419 0, 1228183.805 893519.841 0, 1228462.54 893533.28 0, 1228741.275 893546.735 0, 1229020.009 893560.206 0, 1229298.743 893573.694 0, 1229577.475 893587.198 0, 1229856.207 893600.719 0, 1230134.938 893614.256 0,
+ 1230413.668 893627.81 0, 1230692.397 893641.379 0, 1230971.126 893654.966 0, 1231249.853 893668.568 0, 1231528.58 893682.188 0, 1231807.307 893695.823 0, 1232086.032 893709.475 0, 1232364.756 893723.143 0, 1232643.48 893736.828 0, 1232922.203 893750.529 0,
+ 1233200.925 893764.247 0, 1233479.646 893777.981 0, 1233758.367 893791.731 0, 1234037.087 893805.498 0, 1234314.494 893819.216 0, 1234594.523 893833.08 0, 1234873.241 893846.896 0, 1235151.957 893860.729 0, 1235430.673 893874.578 0, 1235709.388 893888.443 0,
+ 1235988.102 893902.324 0, 1236266.815 893916.222 0, 1236545.527 893930.137 0, 1236824.239 893944.068 0, 1237102.949 893958.015 0, 1237381.659 893971.978 0, 1237660.368 893985.958 0, 1237939.076 893999.955 0, 1238217.784 894013.968 0, 1238496.49 894027.997 0,
+ 1238775.196 894042.042 0, 1239053.901 894056.105 0, 1239332.605 894070.183 0, 1239611.308 894084.278 0, 1239890.011 894098.389 0, 1240168.713 894112.517 0, 1240447.413 894126.661 0, 1240726.113 894140.821 0, 1241003.502 894154.931 0, 1241287.028 888584.374 0,
+ 1241570.546 883013.986 0))
+
+POLYGON ((1254380.063 894854.707 0, 1254102.712 894839.813 0, 1253824.053 894824.865 0, 1253545.394 894809.934 0, 1253266.733 894795.019 0, 1252988.072 894780.12 0, 1252709.409 894765.238 0, 1252430.746 894750.372 0, 1252152.082 894735.523 0, 1251873.417 894720.69 0,
+ 1251594.751 894705.873 0, 1251316.085 894691.073 0, 1251037.417 894676.29 0, 1250758.749 894661.522 0, 1250480.079 894646.771 0, 1250201.409 894632.037 0, 1249922.738 894617.319 0, 1249644.066 894602.617 0, 1249365.393 894587.931 0, 1249086.72 894573.262 0,
+ 1248808.045 894558.61 0, 1248529.37 894543.974 0, 1248250.693 894529.354 0, 1247972.016 894514.751 0, 1247692.03 894500.095 0, 1247414.66 894485.593 0, 1247135.98 894471.039 0, 1246857.299 894456.501 0, 1246578.618 894441.98 0, 1246299.936 894427.475 0,
+ 1246021.253 894412.987 0, 1245742.569 894398.514 0, 1245463.884 894384.059 0, 1245185.198 894369.619 0, 1244906.512 894355.197 0, 1244627.825 894340.79 0, 1244349.136 894326.4 0, 1244070.447 894312.026 0, 1243791.757 894297.669 0, 1243513.067 894283.328 0,
+ 1243234.375 894269.003 0, 1242955.683 894254.695 0, 1242676.99 894240.404 0, 1242398.295 894226.128 0, 1242119.6 894211.87 0, 1241840.905 894197.627 0, 1241562.208 894183.401 0, 1241283.511 894169.191 0, 1241003.502 894154.931 0, 1240719.968 899725.654 0,
+ 1240436.426 905296.538 0, 1240715.775 905310.764 0, 1240993.817 905324.94 0, 1241271.858 905339.133 0, 1241549.898 905353.342 0, 1241827.937 905367.567 0, 1242105.975 905381.809 0, 1242384.013 905396.067 0, 1242662.049 905410.342 0, 1242940.085 905424.632 0,
+ 1243218.12 905438.939 0, 1243496.154 905453.263 0, 1243774.187 905467.603 0, 1244052.22 905481.959 0, 1244330.251 905496.332 0, 1244608.282 905510.721 0, 1244886.312 905525.126 0, 1245164.341 905539.548 0, 1245442.369 905553.986 0, 1245720.397 905568.44 0,
+ 1245998.423 905582.911 0, 1246276.449 905597.398 0, 1246554.474 905611.902 0, 1246832.498 905626.422 0, 1247109.215 905640.89 0, 1247388.543 905655.511 0, 1247666.564 905670.079 0, 1247944.585 905684.665 0, 1248222.604 905699.267 0, 1248500.623 905713.885 0,
+ 1248778.641 905728.519 0, 1249056.658 905743.17 0, 1249334.674 905757.837 0, 1249612.69 905772.521 0, 1249890.704 905787.22 0, 1250168.718 905801.937 0, 1250446.731 905816.669 0, 1250724.743 905831.418 0, 1251002.754 905846.184 0, 1251280.764 905860.965 0,
+ 1251558.773 905875.763 0, 1251836.781 905890.578 0, 1252114.789 905905.409 0, 1252392.796 905920.256 0, 1252670.801 905935.119 0, 1252948.806 905949.999 0, 1253226.81 905964.895 0, 1253504.813 905979.808 0, 1253781.511 905994.667 0, 1254080.791 900424.606 0,
+ 1254380.063 894854.707 0))
+
+POLYGON ((1267124.571 906730.495 0, 1266847.914 906714.855 0, 1266569.954 906699.157 0, 1266291.993 906683.475 0, 1266014.032 906667.81 0, 1265736.069 906652.161 0, 1265458.105 906636.529 0, 1265180.141 906620.912 0, 1264902.175 906605.313 0, 1264624.209 906589.729 0,
+ 1264346.242 906574.162 0, 1264068.274 906558.611 0, 1263790.305 906543.077 0, 1263512.334 906527.559 0, 1263234.364 906512.057 0, 1262956.392 906496.572 0, 1262678.419 906481.103 0, 1262400.445 906465.651 0, 1262122.471 906450.215 0, 1261844.495 906434.795 0,
+ 1261566.519 906419.391 0, 1261288.542 906404.004 0, 1261010.563 906388.633 0, 1260732.584 906373.279 0, 1260453.301 906357.869 0, 1260176.623 906342.619 0, 1259898.642 906327.314 0, 1259620.659 906312.025 0, 1259342.675 906296.752 0, 1259064.691 906281.496 0,
+ 1258786.705 906266.256 0, 1258508.719 906251.033 0, 1258230.732 906235.826 0, 1257952.744 906220.635 0, 1257674.755 906205.461 0, 1257396.765 906190.303 0, 1257118.774 906175.161 0, 1256840.782 906160.036 0, 1256562.79 906144.927 0, 1256284.796 906129.834 0,
+ 1256006.802 906114.758 0, 1255728.807 906099.698 0, 1255450.811 906084.654 0, 1255172.814 906069.627 0, 1254894.816 906054.616 0, 1254616.817 906039.622 0, 1254338.818 906024.644 0, 1254060.817 906009.682 0, 1253781.511 905994.667 0, 1253482.223 911564.885 0,
+ 1253182.926 917135.257 0, 1253461.573 917150.237 0, 1253738.918 917165.163 0, 1254016.262 917180.106 0, 1254293.605 917195.065 0, 1254570.947 917210.041 0, 1254848.288 917225.032 0, 1255125.629 917240.04 0, 1255402.968 917255.065 0, 1255680.307 917270.105 0,
+ 1255957.644 917285.162 0, 1256234.981 917300.236 0, 1256512.317 917315.325 0, 1256789.652 917330.431 0, 1257066.987 917345.554 0, 1257344.32 917360.692 0, 1257621.652 917375.847 0, 1257898.984 917391.018 0, 1258176.314 917406.206 0, 1258453.644 917421.41 0,
+ 1258730.973 917436.63 0, 1259008.301 917451.867 0, 1259285.628 917467.12 0, 1259562.954 917482.389 0, 1259838.979 917497.603 0, 1260117.604 917512.976 0, 1260394.927 917528.294 0, 1260672.25 917543.629 0, 1260949.571 917558.98 0, 1261226.892 917574.347 0,
+ 1261504.212 917589.73 0, 1261781.531 917605.13 0, 1262058.849 917620.546 0, 1262336.166 917635.978 0, 1262613.482 917651.427 0, 1262890.797 917666.892 0, 1263168.112 917682.374 0, 1263445.425 917697.871 0, 1263722.738 917713.385 0, 1264000.049 917728.916 0,
+ 1264277.36 917744.462 0, 1264554.67 917760.025 0, 1264831.979 917775.605 0, 1265109.287 917791.2 0, 1265386.594 917806.812 0, 1265663.9 917822.441 0, 1265941.205 917838.085 0, 1266218.51 917853.746 0, 1266494.514 917869.35 0, 1266809.547 912299.846 0,
+ 1267124.571 906730.495 0))
+
+POLYGON ((1279803.975 918641.048 0, 1279528.014 918624.664 0, 1279250.755 918608.22 0, 1278973.495 918591.792 0, 1278696.234 918575.38 0, 1278418.972 918558.985 0, 1278141.709 918542.606 0, 1277864.445 918526.243 0, 1277587.181 918509.897 0, 1277309.915 918493.567 0,
+ 1277032.648 918477.253 0, 1276755.381 918460.955 0, 1276478.112 918444.674 0, 1276200.843 918428.41 0, 1275923.572 918412.161 0, 1275646.301 918395.929 0, 1275369.028 918379.713 0, 1275091.755 918363.514 0, 1274814.481 918347.33 0, 1274537.205 918331.163 0,
+ 1274259.929 918315.013 0, 1273982.652 918298.879 0, 1273705.374 918282.761 0, 1273428.095 918266.659 0, 1273149.517 918250.499 0, 1272873.534 918234.505 0, 1272596.252 918218.452 0, 1272318.969 918202.416 0, 1272041.685 918186.396 0, 1271764.401 918170.392 0,
+ 1271487.115 918154.405 0, 1271209.828 918138.434 0, 1270932.541 918122.479 0, 1270655.252 918106.541 0, 1270377.963 918090.619 0, 1270100.672 918074.713 0, 1269823.381 918058.824 0, 1269546.089 918042.95 0, 1269268.796 918027.094 0, 1268991.502 918011.253 0,
+ 1268714.207 917995.429 0, 1268436.911 917979.621 0, 1268159.614 917963.83 0, 1267882.316 917948.055 0, 1267605.017 917932.296 0, 1267327.717 917916.553 0, 1267050.417 917900.827 0, 1266773.115 917885.117 0, 1266494.514 917869.35 0, 1266179.472 923439.004 0,
+ 1265864.423 929008.804 0, 1266142.366 929024.534 0, 1266419.011 929040.206 0, 1266695.656 929055.895 0, 1266972.3 929071.601 0, 1267248.944 929087.322 0, 1267525.586 929103.06 0, 1267802.227 929118.814 0, 1268078.867 929134.585 0, 1268355.507 929150.371 0,
+ 1268632.145 929166.174 0, 1268908.783 929181.994 0, 1269185.419 929197.829 0, 1269462.055 929213.681 0, 1269738.69 929229.549 0, 1270015.324 929245.434 0, 1270291.956 929261.334 0, 1270568.588 929277.251 0, 1270845.219 929293.185 0, 1271121.85 929309.134 0,
+ 1271398.479 929325.1 0, 1271675.107 929341.082 0, 1271951.734 929357.081 0, 1272228.36 929373.095 0, 1272503.691 929389.051 0, 1272781.61 929405.173 0, 1273058.234 929421.237 0, 1273334.856 929437.317 0, 1273611.478 929453.413 0, 1273888.098 929469.525 0,
+ 1274164.718 929485.654 0, 1274441.337 929501.799 0, 1274717.955 929517.96 0, 1274994.571 929534.138 0, 1275271.187 929550.331 0, 1275547.802 929566.541 0, 1275824.416 929582.768 0, 1276101.029 929599.01 0, 1276377.641 929615.269 0, 1276654.252 929631.544 0,
+ 1276930.862 929647.836 0, 1277207.472 929664.144 0, 1277484.08 929680.468 0, 1277760.687 929696.808 0, 1278037.293 929713.165 0, 1278313.899 929729.537 0, 1278590.503 929745.927 0, 1278867.106 929762.332 0, 1279142.415 929778.677 0, 1279473.199 924209.789 0,
+ 1279803.975 918641.048 0))
+
+POLYGON ((1292418.18 930586.06 0, 1292142.916 930568.937 0, 1291866.36 930551.75 0, 1291589.803 930534.58 0, 1291313.245 930517.425 0, 1291036.686 930500.287 0, 1290760.126 930483.166 0, 1290483.565 930466.06 0, 1290207.003 930448.971 0, 1289930.44 930431.898 0,
+ 1289653.876 930414.842 0, 1289377.311 930397.801 0, 1289100.745 930380.777 0, 1288824.178 930363.769 0, 1288547.61 930346.778 0, 1288271.041 930329.803 0, 1287994.471 930312.844 0, 1287717.9 930295.901 0, 1287441.328 930278.975 0, 1287164.755 930262.065 0,
+ 1286888.181 930245.171 0, 1286611.606 930228.293 0, 1286335.03 930211.432 0, 1286058.453 930194.587 0, 1285780.583 930177.68 0, 1285505.296 930160.946 0, 1285228.716 930144.15 0, 1284952.135 930127.37 0, 1284675.553 930110.607 0, 1284398.97 930093.859 0,
+ 1284122.386 930077.128 0, 1283845.802 930060.413 0, 1283569.216 930043.715 0, 1283292.629 930027.033 0, 1283016.041 930010.367 0, 1282739.452 929993.717 0, 1282462.862 929977.084 0, 1282186.272 929960.467 0, 1281909.68 929943.866 0, 1281633.087 929927.282 0,
+ 1281356.494 929910.713 0, 1281079.899 929894.161 0, 1280803.303 929877.626 0, 1280526.707 929861.106 0, 1280250.109 929844.603 0, 1279973.51 929828.116 0, 1279696.911 929811.646 0, 1279420.31 929795.192 0, 1279142.415 929778.677 0, 1278811.623 935347.706 0,
+ 1278480.822 940916.874 0, 1278758.058 940933.35 0, 1279034.003 940949.765 0, 1279309.947 940966.196 0, 1279585.89 940982.644 0, 1279861.832 940999.108 0, 1280137.773 941015.588 0, 1280413.714 941032.085 0, 1280689.653 941048.597 0, 1280965.591 941065.126 0,
+ 1281241.528 941081.672 0, 1281517.464 941098.233 0, 1281793.399 941114.811 0, 1282069.334 941131.405 0, 1282345.267 941148.015 0, 1282621.199 941164.641 0, 1282897.131 941181.284 0, 1283173.061 941197.943 0, 1283448.99 941214.618 0, 1283724.919 941231.309 0,
+ 1284000.846 941248.017 0, 1284276.772 941264.741 0, 1284552.698 941281.481 0, 1284828.622 941298.237 0, 1285103.256 941314.931 0, 1285380.468 941331.798 0, 1285656.39 941348.603 0, 1285932.31 941365.425 0, 1286208.23 941382.262 0, 1286484.148 941399.116 0,
+ 1286760.066 941415.986 0, 1287035.982 941432.872 0, 1287311.898 941449.775 0, 1287587.812 941466.694 0, 1287863.726 941483.629 0, 1288139.638 941500.58 0, 1288415.55 941517.547 0, 1288691.46 941534.531 0, 1288967.37 941551.531 0, 1289243.278 941568.547 0,
+ 1289519.186 941585.579 0, 1289795.092 941602.628 0, 1290070.998 941619.693 0, 1290346.902 941636.774 0, 1290622.806 941653.871 0, 1290898.708 941670.985 0, 1291174.61 941688.115 0, 1291450.51 941705.261 0, 1291725.122 941722.343 0, 1292071.655 936154.132 0,
+ 1292418.18 930586.06 0))
+
+POLYGON ((1304967.093 942565.227 0, 1304692.529 942547.369 0, 1304416.678 942529.443 0, 1304140.826 942511.534 0, 1303864.973 942493.641 0, 1303589.119 942475.764 0, 1303313.264 942457.903 0, 1303037.407 942440.059 0, 1302761.55 942422.231 0, 1302485.692 942404.419 0,
+ 1302209.833 942386.624 0, 1301933.972 942368.844 0, 1301658.111 942351.081 0, 1301382.248 942333.334 0, 1301106.385 942315.604 0, 1300830.52 942297.889 0, 1300554.654 942280.191 0, 1300278.788 942262.509 0, 1300002.92 942244.844 0, 1299727.051 942227.194 0,
+ 1299451.182 942209.561 0, 1299175.311 942191.944 0, 1298899.439 942174.343 0, 1298623.566 942156.759 0, 1298346.405 942139.108 0, 1298071.817 942121.638 0, 1297795.941 942104.103 0, 1297520.064 942086.583 0, 1297244.186 942069.08 0, 1296968.307 942051.593 0,
+ 1296692.427 942034.122 0, 1296416.546 942016.667 0, 1296140.663 941999.229 0, 1295864.78 941981.807 0, 1295588.896 941964.401 0, 1295313.011 941947.011 0, 1295037.125 941929.638 0, 1294761.237 941912.28 0, 1294485.349 941894.939 0, 1294209.46 941877.615 0,
+ 1293933.569 941860.306 0, 1293657.678 941843.014 0, 1293381.786 941825.738 0, 1293105.892 941808.478 0, 1292829.998 941791.235 0, 1292554.102 941774.008 0, 1292278.206 941756.797 0, 1292002.308 941739.602 0, 1291725.122 941722.343 0, 1291378.58 947290.688 0,
+ 1291032.03 952859.163 0, 1291308.558 952876.38 0, 1291583.8 952893.534 0, 1291859.041 952910.705 0, 1292134.281 952927.891 0, 1292409.52 952945.093 0, 1292684.758 952962.312 0, 1292959.995 952979.547 0, 1293235.231 952996.798 0, 1293510.466 953014.066 0,
+ 1293785.7 953031.349 0, 1294060.933 953048.649 0, 1294336.164 953065.965 0, 1294611.395 953083.297 0, 1294886.625 953100.645 0, 1295161.854 953118.01 0, 1295437.081 953135.391 0, 1295712.308 953152.788 0, 1295987.534 953170.201 0, 1296262.759 953187.63 0,
+ 1296537.982 953205.076 0, 1296813.205 953222.537 0, 1297088.426 953240.015 0, 1297363.647 953257.509 0, 1297637.582 953274.938 0, 1297914.085 953292.546 0, 1298189.302 953310.089 0, 1298464.519 953327.648 0, 1298739.734 953345.223 0, 1299014.949 953362.814 0,
+ 1299290.162 953380.422 0, 1299565.374 953398.046 0, 1299840.585 953415.686 0, 1300115.796 953433.342 0, 1300391.005 953451.014 0, 1300666.213 953468.702 0, 1300941.42 953486.407 0, 1301216.626 953504.128 0, 1301491.831 953521.865 0, 1301767.035 953539.619 0,
+ 1302042.238 953557.388 0, 1302317.44 953575.174 0, 1302592.641 953592.976 0, 1302867.84 953610.794 0, 1303143.039 953628.628 0, 1303418.237 953646.479 0, 1303693.433 953664.345 0, 1303968.629 953682.228 0, 1304242.541 953700.044 0, 1304604.821 948132.57 0,
+ 1304967.093 942565.227 0))
+
+POLYGON ((1317450.623 954578.243 0, 1317176.76 954559.654 0, 1316901.617 954540.994 0, 1316626.471 954522.35 0, 1316351.325 954503.722 0, 1316076.178 954485.11 0, 1315801.03 954466.514 0, 1315525.88 954447.935 0, 1315250.73 954429.372 0, 1314975.578 954410.825 0,
+ 1314700.425 954392.294 0, 1314425.272 954373.78 0, 1314150.117 954355.281 0, 1313874.961 954336.799 0, 1313599.804 954318.333 0, 1313324.646 954299.883 0, 1313049.486 954281.45 0, 1312774.326 954263.033 0, 1312499.165 954244.631 0, 1312224.002 954226.246 0,
+ 1311948.839 954207.878 0, 1311673.674 954189.525 0, 1311398.508 954171.189 0, 1311123.341 954152.868 0, 1310846.892 954134.479 0, 1310573.005 954116.277 0, 1310297.835 954098.005 0, 1310022.663 954079.75 0, 1309747.491 954061.51 0, 1309472.318 954043.287 0,
+ 1309197.144 954025.08 0, 1308921.968 954006.89 0, 1308646.792 953988.715 0, 1308371.614 953970.557 0, 1308096.436 953952.415 0, 1307821.256 953934.289 0, 1307546.075 953916.18 0, 1307270.893 953898.086 0, 1306995.711 953880.009 0, 1306720.527 953861.948 0,
+ 1306445.342 953843.903 0, 1306170.156 953825.874 0, 1305894.968 953807.862 0, 1305619.78 953789.866 0, 1305344.591 953771.886 0, 1305069.401 953753.922 0, 1304794.209 953735.974 0, 1304519.017 953718.043 0, 1304242.541 953700.044 0, 1303880.252 959267.644 0,
+ 1303517.956 964835.366 0, 1303793.774 964853.321 0, 1304068.311 964871.21 0, 1304342.847 964889.115 0, 1304617.381 964907.036 0, 1304891.915 964924.973 0, 1305166.448 964942.927 0, 1305440.98 964960.896 0, 1305715.51 964978.882 0, 1305990.04 964996.884 0,
+ 1306264.569 965014.902 0, 1306539.096 965032.936 0, 1306813.623 965050.987 0, 1307088.148 965069.053 0, 1307362.672 965087.136 0, 1307637.195 965105.235 0, 1307911.718 965123.35 0, 1308186.239 965141.481 0, 1308460.759 965159.628 0, 1308735.278 965177.792 0,
+ 1309009.796 965195.971 0, 1309284.312 965214.167 0, 1309558.828 965232.379 0, 1309833.343 965250.607 0, 1310106.578 965268.766 0, 1310382.369 965287.112 0, 1310656.881 965305.388 0, 1310931.391 965323.681 0, 1311205.9 965341.99 0, 1311480.408 965360.315 0,
+ 1311754.916 965378.656 0, 1312029.422 965397.014 0, 1312303.927 965415.387 0, 1312578.431 965433.777 0, 1312852.933 965452.183 0, 1313127.435 965470.604 0, 1313401.936 965489.043 0, 1313676.435 965507.497 0, 1313950.934 965525.967 0, 1314225.431 965544.454 0,
+ 1314499.928 965562.957 0, 1314774.423 965581.476 0, 1315048.917 965600.011 0, 1315323.41 965618.562 0, 1315597.902 965637.129 0, 1315872.393 965655.713 0, 1316146.883 965674.313 0, 1316421.371 965692.928 0, 1316694.581 965711.474 0, 1317072.606 960144.797 0,
+ 1317450.623 954578.243 0))
+
+POLYGON ((1329868.679 966624.805 0, 1329595.521 966605.488 0, 1329321.086 966586.096 0, 1329046.649 966566.721 0, 1328772.212 966547.362 0, 1328497.774 966528.019 0, 1328223.334 966508.693 0, 1327948.894 966489.382 0, 1327674.452 966470.088 0, 1327400.009 966450.81 0,
+ 1327125.565 966431.548 0, 1326851.12 966412.302 0, 1326576.673 966393.072 0, 1326302.226 966373.859 0, 1326027.777 966354.661 0, 1325753.327 966335.48 0, 1325478.877 966316.315 0, 1325204.425 966297.166 0, 1324929.971 966278.033 0, 1324655.517 966258.916 0,
+ 1324381.062 966239.816 0, 1324106.605 966220.731 0, 1323832.148 966201.663 0, 1323557.689 966182.611 0, 1323281.953 966163.487 0, 1323008.768 966144.556 0, 1322734.306 966125.552 0, 1322459.843 966106.565 0, 1322185.379 966087.593 0, 1321910.913 966068.638 0,
+ 1321636.447 966049.699 0, 1321361.979 966030.776 0, 1321087.51 966011.87 0, 1320813.04 965992.979 0, 1320538.569 965974.105 0, 1320264.097 965955.247 0, 1319989.624 965936.405 0, 1319715.149 965917.579 0, 1319440.674 965898.769 0, 1319166.197 965879.976 0,
+ 1318891.72 965861.198 0, 1318617.241 965842.437 0, 1318342.761 965823.692 0, 1318068.28 965804.963 0, 1317793.798 965786.25 0, 1317519.315 965767.553 0, 1317244.831 965748.873 0, 1316970.345 965730.209 0, 1316694.581 965711.474 0, 1316316.548 971278.268 0,
+ 1315938.508 976845.177 0, 1316213.613 976863.867 0, 1316487.443 976882.487 0, 1316761.272 976901.122 0, 1317035.1 976919.774 0, 1317308.927 976938.443 0, 1317582.753 976957.127 0, 1317856.577 976975.827 0, 1318130.401 976994.544 0, 1318404.223 977013.276 0,
+ 1318678.044 977032.025 0, 1318951.865 977050.79 0, 1319225.684 977069.571 0, 1319499.502 977088.368 0, 1319773.319 977107.181 0, 1320047.134 977126.01 0, 1320320.949 977144.856 0, 1320594.762 977163.717 0, 1320868.575 977182.595 0, 1321142.386 977201.488 0,
+ 1321416.196 977220.398 0, 1321690.005 977239.324 0, 1321963.813 977258.266 0, 1322237.62 977277.225 0, 1322510.153 977296.111 0, 1322785.231 977315.189 0, 1323059.034 977334.196 0, 1323332.836 977353.219 0, 1323606.638 977372.257 0, 1323880.438 977391.312 0,
+ 1324154.237 977410.383 0, 1324428.035 977429.47 0, 1324701.831 977448.574 0, 1324975.627 977467.693 0, 1325249.422 977486.828 0, 1325523.215 977505.98 0, 1325797.007 977525.148 0, 1326070.798 977544.332 0, 1326344.588 977563.531 0, 1326618.377 977582.748 0,
+ 1326892.165 977601.98 0, 1327165.952 977621.228 0, 1327439.737 977640.492 0, 1327713.521 977659.773 0, 1327987.305 977679.07 0, 1328261.087 977698.382 0, 1328534.868 977717.711 0, 1328808.647 977737.056 0, 1329081.154 977756.327 0, 1329474.921 972190.509 0,
+ 1329868.679 966624.805 0))
+
+POLYGON ((1342221.174 978704.604 0, 1341948.72 978684.563 0, 1341674.996 978664.445 0, 1341401.271 978644.343 0, 1341127.545 978624.257 0, 1340853.817 978604.187 0, 1340580.088 978584.133 0, 1340306.358 978564.095 0, 1340032.627 978544.073 0, 1339758.895 978524.068 0,
+ 1339485.162 978504.078 0, 1339211.427 978484.105 0, 1338937.691 978464.147 0, 1338663.954 978444.206 0, 1338390.216 978424.281 0, 1338116.476 978404.372 0, 1337842.736 978384.48 0, 1337568.994 978364.603 0, 1337295.251 978344.742 0, 1337021.507 978324.898 0,
+ 1336747.762 978305.069 0, 1336474.016 978285.257 0, 1336200.268 978265.461 0, 1335926.519 978245.681 0, 1335651.499 978225.825 0, 1335379.019 978206.169 0, 1335105.266 978186.438 0, 1334831.513 978166.722 0, 1334557.759 978147.023 0, 1334284.003 978127.339 0,
+ 1334010.246 978107.672 0, 1333736.488 978088.021 0, 1333462.729 978068.386 0, 1333188.969 978048.767 0, 1332915.207 978029.164 0, 1332641.445 978009.578 0, 1332367.681 977990.007 0, 1332093.916 977970.453 0, 1331820.15 977950.914 0, 1331546.383 977931.392 0,
+ 1331272.614 977911.886 0, 1330998.845 977892.396 0, 1330725.074 977872.922 0, 1330451.302 977853.464 0, 1330177.529 977834.023 0, 1329903.755 977814.597 0, 1329629.98 977795.188 0, 1329356.204 977775.794 0, 1329081.154 977756.327 0, 1328687.38 983322.256 0,
+ 1328293.598 988888.29 0, 1328567.989 988907.711 0, 1328841.11 988927.058 0, 1329114.23 988946.421 0, 1329387.349 988965.8 0, 1329660.467 988985.195 0, 1329933.583 989004.606 0, 1330206.699 989024.033 0, 1330479.813 989043.477 0, 1330752.926 989062.936 0,
+ 1331026.038 989082.411 0, 1331299.149 989101.903 0, 1331572.259 989121.411 0, 1331845.368 989140.934 0, 1332118.475 989160.474 0, 1332391.581 989180.03 0, 1332664.686 989199.602 0, 1332937.79 989219.19 0, 1333210.893 989238.794 0, 1333483.995 989258.414 0,
+ 1333757.096 989278.051 0, 1334030.195 989297.703 0, 1334303.293 989317.371 0, 1334576.39 989337.056 0, 1334848.218 989356.665 0, 1335122.581 989376.473 0, 1335395.674 989396.206 0, 1335668.767 989415.954 0, 1335941.858 989435.719 0, 1336214.948 989455.5 0,
+ 1336488.037 989475.297 0, 1336761.125 989495.11 0, 1337034.211 989514.939 0, 1337307.297 989534.784 0, 1337580.381 989554.646 0, 1337853.464 989574.523 0, 1338126.546 989594.416 0, 1338399.627 989614.326 0, 1338672.706 989634.251 0, 1338945.785 989654.193 0,
+ 1339218.862 989674.151 0, 1339491.938 989694.125 0, 1339765.013 989714.114 0, 1340038.086 989734.12 0, 1340311.159 989754.142 0, 1340584.23 989774.18 0, 1340857.3 989794.235 0, 1341130.369 989814.305 0, 1341402.171 989834.298 0, 1341811.676 984269.398 0,
+ 1342221.174 978704.604 0))
+
+POLYGON ((1354508.019 990817.336 0, 1354236.273 990796.575 0, 1353963.262 990775.733 0, 1353690.249 990754.908 0, 1353417.236 990734.098 0, 1353144.221 990713.305 0, 1352871.205 990692.528 0, 1352598.187 990671.766 0, 1352325.169 990651.021 0, 1352052.149 990630.292 0,
+ 1351779.128 990609.579 0, 1351506.106 990588.882 0, 1351233.083 990568.201 0, 1350960.058 990547.536 0, 1350687.032 990526.888 0, 1350414.005 990506.255 0, 1350140.977 990485.638 0, 1349867.947 990465.038 0, 1349594.917 990444.453 0, 1349321.885 990423.885 0,
+ 1349048.852 990403.332 0, 1348775.817 990382.796 0, 1348502.782 990362.276 0, 1348229.745 990341.772 0, 1347955.442 990321.189 0, 1347683.668 990300.812 0, 1347410.628 990280.356 0, 1347137.586 990259.916 0, 1346864.543 990239.492 0, 1346591.499 990219.084 0,
+ 1346318.454 990198.693 0, 1346045.408 990178.317 0, 1345772.36 990157.958 0, 1345499.312 990137.614 0, 1345226.262 990117.287 0, 1344953.211 990096.975 0, 1344680.158 990076.68 0, 1344407.105 990056.401 0, 1344134.05 990036.138 0, 1343860.994 990015.891 0,
+ 1343587.937 989995.66 0, 1343314.879 989975.445 0, 1343041.819 989955.246 0, 1342768.758 989935.064 0, 1342495.697 989914.897 0, 1342222.634 989894.746 0, 1341949.569 989874.612 0, 1341676.504 989854.493 0, 1341402.171 989834.298 0, 1340992.658 995399.3 0,
+ 1340583.137 1000964.399 0, 1340856.813 1000984.547 0, 1341129.223 1001004.617 0, 1341401.632 1001024.703 0, 1341674.04 1001044.805 0, 1341946.447 1001064.923 0, 1342218.852 1001085.058 0, 1342491.257 1001105.208 0, 1342763.66 1001125.374 0, 1343036.062 1001145.557 0,
+ 1343308.463 1001165.755 0, 1343580.863 1001185.97 0, 1343853.261 1001206.2 0, 1344125.658 1001226.447 0, 1344398.054 1001246.709 0, 1344670.449 1001266.988 0, 1344942.843 1001287.283 0, 1345215.236 1001307.593 0, 1345487.627 1001327.92 0, 1345760.017 1001348.263 0,
+ 1346032.406 1001368.621 0, 1346304.794 1001388.996 0, 1346577.18 1001409.387 0, 1346849.565 1001429.794 0, 1347120.687 1001450.122 0, 1347394.333 1001470.656 0, 1347666.714 1001491.111 0, 1347939.095 1001511.582 0, 1348211.474 1001532.069 0, 1348483.852 1001552.572 0,
+ 1348756.229 1001573.091 0, 1349028.605 1001593.626 0, 1349300.979 1001614.177 0, 1349573.352 1001634.744 0, 1349845.724 1001655.328 0, 1350118.095 1001675.927 0, 1350390.465 1001696.542 0, 1350662.833 1001717.173 0, 1350935.201 1001737.821 0, 1351207.566 1001758.484 0,
+ 1351479.931 1001779.163 0, 1351752.295 1001799.859 0, 1352024.657 1001820.57 0, 1352297.018 1001841.298 0, 1352569.378 1001862.041 0, 1352841.737 1001882.801 0, 1353114.094 1001903.576 0, 1353386.45 1001924.368 0, 1353657.544 1001945.079 0, 1354082.785 996381.159 0,
+ 1354508.019 990817.336 0))
+
+POLYGON ((1366729.128 1002962.693 0, 1366458.092 1002941.216 0, 1366185.795 1002919.655 0, 1365913.498 1002898.11 0, 1365641.199 1002876.581 0, 1365368.899 1002855.068 0, 1365096.597 1002833.571 0, 1364824.294 1002812.09 0, 1364551.991 1002790.625 0, 1364279.685 1002769.177 0,
+ 1364007.379 1002747.744 0, 1363735.071 1002726.327 0, 1363462.762 1002704.926 0, 1363190.452 1002683.542 0, 1362918.14 1002662.173 0, 1362645.827 1002640.82 0, 1362373.513 1002619.484 0, 1362101.198 1002598.163 0, 1361828.881 1002576.859 0, 1361556.563 1002555.57 0,
+ 1361284.244 1002534.298 0, 1361011.924 1002513.041 0, 1360739.602 1002491.801 0, 1360467.28 1002470.576 0, 1360193.695 1002449.27 0, 1359922.63 1002428.176 0, 1359650.304 1002406.999 0, 1359377.976 1002385.839 0, 1359105.647 1002364.695 0, 1358833.316 1002343.567 0,
+ 1358560.985 1002322.454 0, 1358288.652 1002301.358 0, 1358016.318 1002280.278 0, 1357743.983 1002259.214 0, 1357471.646 1002238.166 0, 1357199.309 1002217.134 0, 1356926.97 1002196.118 0, 1356654.629 1002175.118 0, 1356382.288 1002154.134 0, 1356109.945 1002133.166 0,
+ 1355837.601 1002112.214 0, 1355565.256 1002091.278 0, 1355292.91 1002070.358 0, 1355020.562 1002049.454 0, 1354748.213 1002028.567 0, 1354475.863 1002007.695 0, 1354203.512 1001986.839 0, 1353931.159 1001965.999 0, 1353657.544 1001945.079 0, 1353232.296 1007509.094 0,
+ 1352807.041 1013073.198 0, 1353079.998 1013094.068 0, 1353351.696 1013114.857 0, 1353623.392 1013135.663 0, 1353895.087 1013156.484 0, 1354166.781 1013177.322 0, 1354438.474 1013198.176 0, 1354710.165 1013219.045 0, 1354981.855 1013239.931 0, 1355253.544 1013260.832 0,
+ 1355525.232 1013281.75 0, 1355796.919 1013302.683 0, 1356068.604 1013323.633 0, 1356340.288 1013344.598 0, 1356611.971 1013365.58 0, 1356883.652 1013386.577 0, 1357155.333 1013407.591 0, 1357427.012 1013428.62 0, 1357698.69 1013449.665 0, 1357970.366 1013470.727 0,
+ 1358242.042 1013491.804 0, 1358513.716 1013512.898 0, 1358785.389 1013534.007 0, 1359057.06 1013555.132 0, 1359327.474 1013576.176 0, 1359600.4 1013597.431 0, 1359872.068 1013618.605 0, 1360143.735 1013639.794 0, 1360415.4 1013660.999 0, 1360687.064 1013682.221 0,
+ 1360958.727 1013703.458 0, 1361230.389 1013724.711 0, 1361502.049 1013745.981 0, 1361773.708 1013767.266 0, 1362045.366 1013788.567 0, 1362317.023 1013809.884 0, 1362588.678 1013831.218 0, 1362860.333 1013852.567 0, 1363131.986 1013873.932 0, 1363403.637 1013895.313 0,
+ 1363675.288 1013916.711 0, 1363946.937 1013938.124 0, 1364218.585 1013959.553 0, 1364490.231 1013980.998 0, 1364761.877 1014002.459 0, 1365033.521 1014023.936 0, 1365305.163 1014045.43 0, 1365576.805 1014066.939 0, 1365847.189 1014088.364 0, 1366288.162 1008525.484 0,
+ 1366729.128 1002962.693 0))
+
+POLYGON ((1378884.418 1015140.367 0, 1378614.093 1015118.178 0, 1378342.513 1015095.901 0, 1378070.932 1015073.641 0, 1377799.35 1015051.396 0, 1377527.766 1015029.168 0, 1377256.181 1015006.955 0, 1376984.595 1014984.759 0, 1376713.007 1014962.578 0, 1376441.419 1014940.413 0,
+ 1376169.828 1014918.265 0, 1375898.237 1014896.132 0, 1375626.644 1014874.016 0, 1375355.05 1014851.915 0, 1375083.455 1014829.83 0, 1374811.858 1014807.762 0, 1374540.26 1014785.709 0, 1374268.661 1014763.672 0, 1373997.06 1014741.652 0, 1373725.458 1014719.647 0,
+ 1373453.855 1014697.658 0, 1373182.251 1014675.685 0, 1372910.645 1014653.729 0, 1372639.038 1014631.788 0, 1372366.175 1014609.762 0, 1372095.82 1014587.954 0, 1371824.209 1014566.061 0, 1371552.597 1014544.184 0, 1371280.984 1014522.324 0, 1371009.369 1014500.479 0,
+ 1370737.753 1014478.65 0, 1370466.135 1014456.837 0, 1370194.517 1014435.04 0, 1369922.897 1014413.259 0, 1369651.276 1014391.494 0, 1369379.653 1014369.745 0, 1369108.03 1014348.012 0, 1368836.405 1014326.295 0, 1368564.778 1014304.594 0, 1368293.151 1014282.909 0,
+ 1368021.522 1014261.24 0, 1367749.892 1014239.587 0, 1367478.26 1014217.95 0, 1367206.628 1014196.329 0, 1366934.994 1014174.724 0, 1366663.359 1014153.135 0, 1366391.722 1014131.562 0, 1366120.084 1014110.005 0, 1365847.189 1014088.364 0, 1365406.21 1019651.33 0,
+ 1364965.224 1025214.378 0, 1365237.461 1025235.967 0, 1365508.444 1025257.472 0, 1365779.425 1025278.993 0, 1366050.406 1025300.53 0, 1366321.385 1025322.083 0, 1366592.362 1025343.652 0, 1366863.339 1025365.237 0, 1367134.314 1025386.838 0, 1367405.288 1025408.454 0,
+ 1367676.261 1025430.087 0, 1367947.233 1025451.736 0, 1368218.203 1025473.4 0, 1368489.172 1025495.081 0, 1368760.139 1025516.777 0, 1369031.106 1025538.49 0, 1369302.071 1025560.218 0, 1369573.035 1025581.963 0, 1369843.997 1025603.723 0, 1370114.958 1025625.499 0,
+ 1370385.918 1025647.291 0, 1370656.877 1025669.1 0, 1370927.834 1025690.924 0, 1371198.79 1025712.764 0, 1371468.494 1025734.519 0, 1371740.699 1025756.492 0, 1372011.651 1025778.38 0, 1372282.602 1025800.283 0, 1372553.552 1025822.203 0, 1372824.5 1025844.139 0,
+ 1373095.447 1025866.091 0, 1373366.393 1025888.058 0, 1373637.338 1025910.042 0, 1373908.281 1025932.041 0, 1374179.223 1025954.057 0, 1374450.163 1025976.088 0, 1374721.103 1025998.136 0, 1374992.041 1026020.199 0, 1375262.977 1026042.278 0, 1375533.913 1026064.373 0,
+ 1375804.847 1026086.485 0, 1376075.78 1026108.612 0, 1376346.711 1026130.755 0, 1376617.641 1026152.914 0, 1376888.57 1026175.089 0, 1377159.498 1026197.28 0, 1377430.424 1026219.486 0, 1377701.349 1026241.709 0, 1377971.022 1026263.845 0, 1378427.723 1020702.065 0,
+ 1378884.418 1015140.367 0))
+
+POLYGON ((1390973.804 1027350.052 0, 1390704.193 1027327.154 0, 1390433.332 1027304.165 0, 1390162.469 1027281.193 0, 1389891.605 1027258.237 0, 1389620.74 1027235.297 0, 1389349.874 1027212.373 0, 1389079.006 1027189.464 0, 1388808.136 1027166.572 0, 1388537.266 1027143.695 0,
+ 1388266.394 1027120.835 0, 1387995.521 1027097.99 0, 1387724.646 1027075.161 0, 1387453.77 1027052.349 0, 1387182.893 1027029.552 0, 1386912.014 1027006.771 0, 1386641.134 1026984.006 0, 1386370.253 1026961.257 0, 1386099.37 1026938.524 0, 1385828.486 1026915.807 0,
+ 1385557.601 1026893.106 0, 1385286.714 1026870.421 0, 1385015.826 1026847.751 0, 1384744.937 1026825.098 0, 1384472.797 1026802.356 0, 1384203.154 1026779.839 0, 1383932.261 1026757.234 0, 1383661.366 1026734.644 0, 1383390.47 1026712.071 0, 1383119.573 1026689.513 0,
+ 1382848.674 1026666.972 0, 1382577.774 1026644.446 0, 1382306.873 1026621.936 0, 1382035.97 1026599.442 0, 1381765.067 1026576.964 0, 1381494.161 1026554.502 0, 1381223.255 1026532.056 0, 1380952.347 1026509.626 0, 1380681.438 1026487.212 0, 1380410.527 1026464.814 0,
+ 1380139.615 1026442.432 0, 1379868.702 1026420.065 0, 1379597.787 1026397.715 0, 1379326.872 1026375.381 0, 1379055.955 1026353.062 0, 1378785.036 1026330.76 0, 1378514.116 1026308.473 0, 1378243.195 1026286.203 0, 1377971.022 1026263.845 0, 1377514.315 1031825.702 0,
+ 1377057.602 1037387.633 0, 1377329.117 1037409.936 0, 1377599.383 1037432.153 0, 1377869.648 1037454.385 0, 1378139.912 1037476.634 0, 1378410.174 1037498.899 0, 1378680.435 1037521.179 0, 1378950.695 1037543.475 0, 1379220.954 1037565.788 0, 1379491.211 1037588.116 0,
+ 1379761.467 1037610.46 0, 1380031.721 1037632.82 0, 1380301.974 1037655.196 0, 1380572.226 1037677.587 0, 1380842.477 1037699.995 0, 1381112.726 1037722.419 0, 1381382.974 1037744.858 0, 1381653.221 1037767.313 0, 1381923.466 1037789.785 0, 1382193.71 1037812.272 0,
+ 1382463.953 1037834.775 0, 1382734.194 1037857.294 0, 1383004.434 1037879.829 0, 1383274.673 1037902.38 0, 1383543.664 1037924.843 0, 1383815.146 1037947.529 0, 1384085.381 1037970.128 0, 1384355.614 1037992.742 0, 1384625.846 1038015.373 0, 1384896.077 1038038.019 0,
+ 1385166.306 1038060.681 0, 1385436.534 1038083.359 0, 1385706.761 1038106.053 0, 1385976.986 1038128.763 0, 1386247.21 1038151.489 0, 1386517.433 1038174.231 0, 1386787.654 1038196.988 0, 1387057.874 1038219.762 0, 1387328.093 1038242.551 0, 1387598.31 1038265.356 0,
+ 1387868.526 1038288.178 0, 1388138.741 1038311.015 0, 1388408.954 1038333.868 0, 1388679.166 1038356.737 0, 1388949.377 1038379.621 0, 1389219.586 1038402.522 0, 1389489.794 1038425.439 0, 1389760.001 1038448.371 0, 1390028.961 1038471.214 0, 1390501.386 1032910.596 0,
+ 1390973.804 1027350.052 0))
+
+POLYGON ((871810.081 588789.14 0, 871514.865 588796.657 0, 871218.194 588804.228 0, 870921.523 588811.816 0, 870624.853 588819.422 0, 870328.183 588827.046 0, 870031.513 588834.687 0, 869734.844 588842.345 0, 869438.176 588850.021 0, 869141.508 588857.714 0,
+ 868844.84 588865.425 0, 868548.173 588873.154 0, 868251.506 588880.899 0, 867954.84 588888.662 0, 867658.174 588896.443 0, 867361.509 588904.241 0, 867064.844 588912.057 0, 866768.179 588919.89 0, 866471.515 588927.74 0, 866174.852 588935.608 0,
+ 865878.189 588943.494 0, 865581.526 588951.397 0, 865284.864 588959.317 0, 864988.202 588967.255 0, 864690.084 588975.249 0, 864394.88 588983.183 0, 864098.22 588991.173 0, 863801.56 588999.18 0, 863504.901 589007.206 0, 863208.242 589015.248 0,
+ 862911.584 589023.308 0, 862614.926 589031.386 0, 862318.268 589039.481 0, 862021.611 589047.593 0, 861724.955 589055.723 0, 861428.299 589063.87 0, 861131.643 589072.035 0, 860834.988 589080.217 0, 860538.334 589088.417 0, 860241.68 589096.634 0,
+ 859945.026 589104.869 0, 859648.373 589113.121 0, 859351.72 589121.39 0, 859055.068 589129.677 0, 858758.417 589137.982 0, 858461.765 589146.304 0, 858165.115 589154.643 0, 857868.465 589163 0, 857570.357 589171.415 0, 857727.524 594733.014 0,
+ 857884.701 600294.964 0, 858182.151 600286.567 0, 858478.147 600278.229 0, 858774.143 600269.908 0, 859070.139 600261.605 0, 859366.136 600253.318 0, 859662.133 600245.05 0, 859958.131 600236.798 0, 860254.13 600228.564 0, 860550.128 600220.348 0,
+ 860846.128 600212.149 0, 861142.128 600203.967 0, 861438.128 600195.803 0, 861734.129 600187.656 0, 862030.13 600179.527 0, 862326.132 600171.415 0, 862622.134 600163.321 0, 862918.137 600155.244 0, 863214.14 600147.184 0, 863510.144 600139.142 0,
+ 863806.148 600131.117 0, 864102.152 600123.109 0, 864398.157 600115.12 0, 864694.163 600107.147 0, 864988.715 600099.231 0, 865286.175 600091.254 0, 865582.182 600083.334 0, 865878.19 600075.431 0, 866174.198 600067.546 0, 866470.206 600059.678 0,
+ 866766.215 600051.827 0, 867062.224 600043.994 0, 867358.234 600036.178 0, 867654.244 600028.38 0, 867950.254 600020.599 0, 868246.266 600012.835 0, 868542.277 600005.089 0, 868838.289 599997.361 0, 869134.302 599989.65 0, 869430.314 599981.956 0,
+ 869726.328 599974.279 0, 870022.342 599966.62 0, 870318.356 599958.979 0, 870614.371 599951.355 0, 870910.386 599943.748 0, 871206.401 599936.159 0, 871502.417 599928.587 0, 871798.434 599921.033 0, 872092.998 599913.533 0, 871951.535 594351.16 0,
+ 871810.081 588789.14 0))
+
+POLYGON ((886302.316 599572.243 0, 886007.729 599578.911 0, 885711.693 599585.629 0, 885415.657 599592.365 0, 885119.621 599599.118 0, 884823.585 599605.888 0, 884527.55 599612.676 0, 884231.515 599619.481 0, 883935.481 599626.304 0, 883639.447 599633.144 0,
+ 883343.414 599640.001 0, 883047.381 599646.876 0, 882751.348 599653.768 0, 882455.316 599660.678 0, 882159.284 599667.605 0, 881863.253 599674.55 0, 881567.222 599681.512 0, 881271.191 599688.491 0, 880975.161 599695.488 0, 880679.131 599702.502 0,
+ 880383.102 599709.534 0, 880087.073 599716.583 0, 879791.044 599723.65 0, 879495.016 599730.734 0, 879197.537 599737.87 0, 878902.961 599744.954 0, 878606.934 599752.09 0, 878310.908 599759.244 0, 878014.881 599766.415 0, 877718.856 599773.604 0,
+ 877422.831 599780.809 0, 877126.806 599788.033 0, 876830.782 599795.274 0, 876534.758 599802.532 0, 876238.734 599809.807 0, 875942.711 599817.1 0, 875646.689 599824.411 0, 875350.666 599831.739 0, 875054.645 599839.084 0, 874758.623 599846.447 0,
+ 874462.602 599853.827 0, 874166.582 599861.225 0, 873870.562 599868.64 0, 873574.542 599876.072 0, 873278.523 599883.522 0, 872982.504 599890.989 0, 872686.486 599898.474 0, 872390.468 599905.976 0, 872092.998 599913.533 0, 872234.47 605476.253 0,
+ 872375.951 611039.32 0, 872672.763 611031.78 0, 872968.126 611024.294 0, 873263.489 611016.826 0, 873558.853 611009.375 0, 873854.217 611001.942 0, 874149.582 610994.526 0, 874444.947 610987.127 0, 874740.313 610979.746 0, 875035.679 610972.382 0,
+ 875331.046 610965.036 0, 875626.412 610957.707 0, 875921.78 610950.395 0, 876217.148 610943.101 0, 876512.516 610935.824 0, 876807.884 610928.564 0, 877103.253 610921.322 0, 877398.623 610914.097 0, 877693.993 610906.89 0, 877989.363 610899.7 0,
+ 878284.734 610892.527 0, 878580.105 610885.372 0, 878875.477 610878.234 0, 879170.849 610871.114 0, 879464.773 610864.046 0, 879761.594 610856.925 0, 880056.967 610849.857 0, 880352.341 610842.806 0, 880647.715 610835.772 0, 880943.09 610828.756 0,
+ 881238.464 610821.758 0, 881533.84 610814.776 0, 881829.216 610807.812 0, 882124.592 610800.866 0, 882419.968 610793.936 0, 882715.345 610787.025 0, 883010.723 610780.13 0, 883306.1 610773.253 0, 883601.479 610766.393 0, 883896.857 610759.551 0,
+ 884192.236 610752.726 0, 884487.616 610745.919 0, 884782.995 610739.128 0, 885078.376 610732.356 0, 885373.756 610725.6 0, 885669.137 610718.862 0, 885964.518 610712.142 0, 886259.9 610705.439 0, 886553.835 610698.785 0, 886428.072 605135.342 0,
+ 886302.316 599572.243 0))
+
+POLYGON ((900732.625 610398.308 0, 900438.67 610404.13 0, 900143.271 610409.999 0, 899847.871 610415.885 0, 899552.473 610421.789 0, 899257.074 610427.709 0, 898961.676 610433.648 0, 898666.278 610439.603 0, 898370.881 610445.576 0, 898075.484 610451.567 0,
+ 897780.087 610457.574 0, 897484.69 610463.6 0, 897189.294 610469.642 0, 896893.899 610475.702 0, 896598.503 610481.779 0, 896303.108 610487.874 0, 896007.714 610493.986 0, 895712.32 610500.116 0, 895416.926 610506.262 0, 895121.532 610512.427 0,
+ 894826.139 610518.608 0, 894530.746 610524.807 0, 894235.354 610531.024 0, 893939.962 610537.258 0, 893643.124 610543.539 0, 893349.179 610549.777 0, 893053.788 610556.063 0, 892758.397 610562.367 0, 892463.007 610568.687 0, 892167.617 610575.025 0,
+ 891872.228 610581.381 0, 891576.839 610587.754 0, 891281.45 610594.144 0, 890986.062 610600.552 0, 890690.674 610606.977 0, 890395.286 610613.419 0, 890099.899 610619.879 0, 889804.512 610626.356 0, 889509.126 610632.851 0, 889213.74 610639.363 0,
+ 888918.354 610645.892 0, 888622.969 610652.439 0, 888327.584 610659.003 0, 888032.199 610665.584 0, 887736.815 610672.183 0, 887441.431 610678.8 0, 887146.048 610685.433 0, 886850.665 610692.084 0, 886553.835 610698.785 0, 886679.606 616262.571 0,
+ 886805.385 621826.696 0, 887101.557 621820.01 0, 887396.285 621813.373 0, 887691.013 621806.754 0, 887985.742 621800.153 0, 888280.471 621793.569 0, 888575.201 621787.002 0, 888869.931 621780.452 0, 889164.661 621773.92 0, 889459.392 621767.405 0,
+ 889754.123 621760.908 0, 890048.854 621754.427 0, 890343.586 621747.964 0, 890638.318 621741.519 0, 890933.051 621735.091 0, 891227.784 621728.68 0, 891522.517 621722.287 0, 891817.251 621715.911 0, 892111.985 621709.552 0, 892406.72 621703.21 0,
+ 892701.454 621696.886 0, 892996.19 621690.58 0, 893290.925 621684.29 0, 893585.661 621678.018 0, 893878.955 621671.794 0, 894175.134 621665.526 0, 894469.871 621659.306 0, 894764.609 621653.104 0, 895059.347 621646.918 0, 895354.085 621640.751 0,
+ 895648.823 621634.6 0, 895943.562 621628.467 0, 896238.301 621622.351 0, 896533.041 621616.252 0, 896827.781 621610.171 0, 897122.521 621604.107 0, 897417.262 621598.061 0, 897712.003 621592.032 0, 898006.744 621586.02 0, 898301.486 621580.025 0,
+ 898596.228 621574.048 0, 898890.971 621568.089 0, 899185.713 621562.146 0, 899480.457 621556.221 0, 899775.2 621550.313 0, 900069.944 621544.423 0, 900364.688 621538.55 0, 900659.433 621532.694 0, 900952.736 621526.885 0, 900842.677 615962.427 0,
+ 900732.625 610398.308 0))
+
+POLYGON ((915100.877 621267.043 0, 914807.556 621272.024 0, 914512.796 621277.047 0, 914218.037 621282.087 0, 913923.277 621287.145 0, 913628.518 621292.22 0, 913333.76 621297.312 0, 913039.001 621302.422 0, 912744.243 621307.549 0, 912449.485 621312.693 0,
+ 912154.728 621317.855 0, 911859.971 621323.034 0, 911565.214 621328.231 0, 911270.457 621333.444 0, 910975.701 621338.676 0, 910680.945 621343.924 0, 910386.189 621349.19 0, 910091.434 621354.473 0, 909796.679 621359.774 0, 909501.924 621365.091 0,
+ 909207.17 621370.427 0, 908912.416 621375.779 0, 908617.662 621381.149 0, 908322.908 621386.536 0, 908026.714 621391.967 0, 907733.402 621397.363 0, 907438.65 621402.802 0, 907143.898 621408.259 0, 906849.146 621413.733 0, 906554.394 621419.224 0,
+ 906259.643 621424.733 0, 905964.892 621430.259 0, 905670.142 621435.802 0, 905375.391 621441.363 0, 905080.641 621446.941 0, 904785.892 621452.537 0, 904491.143 621458.149 0, 904196.394 621463.78 0, 903901.645 621469.427 0, 903606.897 621475.092 0,
+ 903312.149 621480.774 0, 903017.401 621486.474 0, 902722.654 621492.19 0, 902427.907 621497.925 0, 902133.16 621503.676 0, 901838.414 621509.445 0, 901543.668 621515.231 0, 901248.923 621521.035 0, 900952.736 621526.885 0, 901062.801 627091.678 0,
+ 901172.873 632656.804 0, 901468.402 632650.967 0, 901762.492 632645.177 0, 902056.583 632639.403 0, 902350.674 632633.647 0, 902644.766 632627.908 0, 902938.858 632622.187 0, 903232.95 632616.483 0, 903527.042 632610.796 0, 903821.135 632605.126 0,
+ 904115.228 632599.474 0, 904409.322 632593.839 0, 904703.416 632588.222 0, 904997.51 632582.621 0, 905291.604 632577.038 0, 905585.699 632571.473 0, 905879.794 632565.924 0, 906173.89 632560.393 0, 906467.985 632554.879 0, 906762.082 632549.383 0,
+ 907056.178 632543.904 0, 907350.275 632538.442 0, 907644.372 632532.997 0, 907938.469 632527.57 0, 908231.129 632522.187 0, 908526.665 632516.768 0, 908820.763 632511.392 0, 909114.862 632506.034 0, 909408.961 632500.694 0, 909703.06 632495.37 0,
+ 909997.16 632490.064 0, 910291.26 632484.776 0, 910585.36 632479.504 0, 910879.461 632474.25 0, 911173.562 632469.013 0, 911467.663 632463.794 0, 911761.764 632458.592 0, 912055.866 632453.407 0, 912349.968 632448.239 0, 912644.07 632443.089 0,
+ 912938.173 632437.956 0, 913232.276 632432.84 0, 913526.379 632427.742 0, 913820.483 632422.661 0, 914114.587 632417.597 0, 914408.691 632412.551 0, 914702.796 632407.522 0, 914996.9 632402.51 0, 915289.569 632397.54 0, 915195.22 626832.125 0,
+ 915100.877 621267.043 0))
+
+POLYGON ((929406.941 632178.159 0, 929114.257 632182.303 0, 928820.14 632186.483 0, 928526.022 632190.682 0, 928231.905 632194.897 0, 927937.788 632199.13 0, 927643.671 632203.38 0, 927349.555 632207.647 0, 927055.438 632211.932 0, 926761.322 632216.234 0,
+ 926467.207 632220.553 0, 926173.091 632224.89 0, 925878.976 632229.244 0, 925584.861 632233.615 0, 925290.746 632238.004 0, 924996.632 632242.41 0, 924702.517 632246.833 0, 924408.403 632251.273 0, 924114.29 632255.731 0, 923820.176 632260.206 0,
+ 923526.063 632264.699 0, 923231.95 632269.209 0, 922937.837 632273.736 0, 922643.725 632278.28 0, 922348.178 632282.864 0, 922055.501 632287.421 0, 921761.39 632292.017 0, 921467.278 632296.631 0, 921173.167 632301.262 0, 920879.057 632305.91 0,
+ 920584.946 632310.575 0, 920290.836 632315.258 0, 919996.726 632319.958 0, 919702.616 632324.676 0, 919408.507 632329.411 0, 919114.398 632334.163 0, 918820.289 632338.932 0, 918526.18 632343.719 0, 918232.072 632348.523 0, 917937.964 632353.344 0,
+ 917643.857 632358.183 0, 917349.749 632363.039 0, 917055.642 632367.912 0, 916761.535 632372.803 0, 916467.429 632377.711 0, 916173.322 632382.636 0, 915879.217 632387.579 0, 915585.111 632392.538 0, 915289.569 632397.54 0, 915383.923 637963.284 0,
+ 915478.284 643529.353 0, 915773.167 643524.363 0, 916066.618 643519.414 0, 916360.068 643514.482 0, 916653.519 643509.568 0, 916946.971 643504.671 0, 917240.422 643499.792 0, 917533.874 643494.929 0, 917827.326 643490.084 0, 918120.779 643485.256 0,
+ 918414.232 643480.445 0, 918707.685 643475.652 0, 919001.138 643470.876 0, 919294.592 643466.117 0, 919588.046 643461.376 0, 919881.5 643456.651 0, 920174.954 643451.944 0, 920468.409 643447.255 0, 920761.864 643442.582 0, 921055.319 643437.927 0,
+ 921348.775 643433.289 0, 921642.23 643428.669 0, 921935.687 643424.065 0, 922229.143 643419.479 0, 922521.167 643414.933 0, 922816.056 643410.359 0, 923109.514 643405.825 0, 923402.971 643401.308 0, 923696.429 643396.808 0, 923989.887 643392.326 0,
+ 924283.345 643387.86 0, 924576.803 643383.412 0, 924870.262 643378.982 0, 925163.721 643374.568 0, 925457.18 643370.172 0, 925750.64 643365.794 0, 926044.1 643361.432 0, 926337.56 643357.088 0, 926631.02 643352.761 0, 926924.481 643348.451 0,
+ 927217.941 643344.159 0, 927511.402 643339.883 0, 927804.864 643335.626 0, 928098.325 643331.385 0, 928391.787 643327.162 0, 928685.249 643322.956 0, 928978.711 643318.767 0, 929272.174 643314.595 0, 929564.206 643310.461 0, 929485.571 637744.147 0,
+ 929406.941 632178.159 0))
+
+POLYGON ((943650.69 643131.365 0, 943358.645 643134.674 0, 943065.172 643138.017 0, 942771.699 643141.376 0, 942478.227 643144.753 0, 942184.754 643148.148 0, 941891.282 643151.559 0, 941597.809 643154.988 0, 941304.338 643158.434 0, 941010.866 643161.897 0,
+ 940717.394 643165.378 0, 940423.923 643168.876 0, 940130.452 643172.391 0, 939836.981 643175.924 0, 939543.51 643179.473 0, 939250.04 643183.04 0, 938956.569 643186.625 0, 938663.099 643190.226 0, 938369.629 643193.845 0, 938076.16 643197.481 0,
+ 937782.69 643201.134 0, 937489.221 643204.805 0, 937195.752 643208.493 0, 936902.283 643212.198 0, 936607.384 643215.939 0, 936315.346 643219.66 0, 936021.878 643223.417 0, 935728.41 643227.191 0, 935434.942 643230.983 0, 935141.475 643234.792 0,
+ 934848.008 643238.618 0, 934554.541 643242.461 0, 934261.074 643246.322 0, 933967.607 643250.2 0, 933674.141 643254.095 0, 933380.675 643258.007 0, 933087.209 643261.937 0, 932793.743 643265.884 0, 932500.278 643269.848 0, 932206.813 643273.83 0,
+ 931913.348 643277.829 0, 931619.883 643281.845 0, 931326.419 643285.878 0, 931032.954 643289.929 0, 930739.49 643293.997 0, 930446.027 643298.082 0, 930152.563 643302.184 0, 929859.1 643306.304 0, 929564.206 643310.461 0, 929642.845 648877.097 0,
+ 929721.488 654444.053 0, 930015.724 654439.905 0, 930308.532 654435.794 0, 930601.34 654431.701 0, 930894.149 654427.625 0, 931186.957 654423.566 0, 931479.766 654419.525 0, 931772.576 654415.5 0, 932065.385 654411.493 0, 932358.195 654407.503 0,
+ 932651.004 654403.531 0, 932943.815 654399.575 0, 933236.625 654395.637 0, 933529.435 654391.716 0, 933822.246 654387.813 0, 934115.057 654383.926 0, 934407.869 654380.057 0, 934700.68 654376.205 0, 934993.492 654372.37 0, 935286.304 654368.552 0,
+ 935579.116 654364.752 0, 935871.928 654360.969 0, 936164.741 654357.203 0, 936457.554 654353.455 0, 936748.94 654349.741 0, 937043.18 654346.009 0, 937335.993 654342.312 0, 937628.807 654338.633 0, 937921.621 654334.97 0, 938214.435 654331.325 0,
+ 938507.25 654327.697 0, 938800.064 654324.086 0, 939092.879 654320.493 0, 939385.694 654316.917 0, 939678.509 654313.358 0, 939971.325 654309.816 0, 940264.14 654306.291 0, 940556.956 654302.784 0, 940849.772 654299.294 0, 941142.588 654295.821 0,
+ 941435.405 654292.365 0, 941728.221 654288.927 0, 942021.038 654285.506 0, 942313.855 654282.102 0, 942606.672 654278.715 0, 942899.49 654275.346 0, 943192.307 654271.994 0, 943485.125 654268.659 0, 943776.518 654265.357 0, 943713.602 648698.202 0,
+ 943650.69 643131.365 0))
+
+POLYGON ((957831.996 654126.37 0, 957540.593 654128.848 0, 957247.767 654131.356 0, 956954.941 654133.881 0, 956662.115 654136.423 0, 956369.289 654138.982 0, 956076.464 654141.559 0, 955783.639 654144.153 0, 955490.813 654146.764 0, 955197.988 654149.392 0,
+ 954905.163 654152.038 0, 954612.339 654154.701 0, 954319.514 654157.381 0, 954026.69 654160.078 0, 953733.866 654162.793 0, 953441.041 654165.524 0, 953148.218 654168.273 0, 952855.394 654171.04 0, 952562.57 654173.823 0, 952269.747 654176.624 0,
+ 951976.924 654179.442 0, 951684.1 654182.277 0, 951391.277 654185.129 0, 951098.455 654187.999 0, 950804.207 654190.9 0, 950512.81 654193.79 0, 950219.987 654196.711 0, 949927.165 654199.65 0, 949634.343 654202.605 0, 949341.522 654205.579 0,
+ 949048.7 654208.569 0, 948755.879 654211.576 0, 948463.058 654214.601 0, 948170.237 654217.643 0, 947877.416 654220.702 0, 947584.595 654223.779 0, 947291.775 654226.872 0, 946998.954 654229.983 0, 946706.134 654233.111 0, 946413.314 654236.257 0,
+ 946120.494 654239.419 0, 945827.675 654242.599 0, 945534.856 654245.796 0, 945242.036 654249.011 0, 944949.217 654252.242 0, 944656.399 654255.491 0, 944363.58 654258.757 0, 944070.762 654262.04 0, 943776.518 654265.357 0, 943839.437 659832.828 0,
+ 943902.36 665400.612 0, 944195.945 665397.303 0, 944488.108 665394.027 0, 944780.271 665390.768 0, 945072.435 665387.527 0, 945364.598 665384.302 0, 945656.762 665381.095 0, 945948.926 665377.905 0, 946241.09 665374.733 0, 946533.254 665371.577 0,
+ 946825.419 665368.439 0, 947117.584 665365.317 0, 947409.749 665362.214 0, 947701.914 665359.127 0, 947994.079 665356.057 0, 948286.244 665353.005 0, 948578.41 665349.97 0, 948870.576 665346.952 0, 949162.742 665343.951 0, 949454.908 665340.967 0,
+ 949747.074 665338.001 0, 950039.241 665335.052 0, 950331.407 665332.12 0, 950623.574 665329.205 0, 950914.32 665326.321 0, 951207.908 665323.427 0, 951500.076 665320.564 0, 951792.243 665317.718 0, 952084.411 665314.889 0, 952376.579 665312.077 0,
+ 952668.747 665309.283 0, 952960.915 665306.506 0, 953253.083 665303.746 0, 953545.252 665301.003 0, 953837.421 665298.277 0, 954129.589 665295.569 0, 954421.758 665292.878 0, 954713.928 665290.203 0, 955006.097 665287.547 0, 955298.266 665284.907 0,
+ 955590.436 665282.284 0, 955882.606 665279.679 0, 956174.776 665277.091 0, 956466.946 665274.52 0, 956759.116 665271.967 0, 957051.286 665269.43 0, 957343.457 665266.911 0, 957635.627 665264.409 0, 957926.378 665261.936 0, 957879.185 659693.997 0,
+ 957831.996 654126.37 0))
+
+POLYGON ((971950.732 665162.881 0, 971659.973 665164.532 0, 971367.797 665166.209 0, 971075.62 665167.903 0, 970783.444 665169.614 0, 970491.268 665171.342 0, 970199.092 665173.087 0, 969906.916 665174.85 0, 969614.74 665176.63 0, 969322.564 665178.427 0,
+ 969030.388 665180.241 0, 968738.212 665182.072 0, 968446.037 665183.921 0, 968153.861 665185.787 0, 967861.686 665187.67 0, 967569.511 665189.57 0, 967277.336 665191.487 0, 966985.161 665193.422 0, 966692.986 665195.374 0, 966400.811 665197.343 0,
+ 966108.637 665199.329 0, 965816.462 665201.332 0, 965524.288 665203.353 0, 965232.113 665205.391 0, 964938.52 665207.456 0, 964647.765 665209.518 0, 964355.591 665211.607 0, 964063.417 665213.714 0, 963771.244 665215.838 0, 963479.07 665217.978 0,
+ 963186.897 665220.137 0, 962894.724 665222.312 0, 962602.55 665224.505 0, 962310.377 665226.714 0, 962018.205 665228.941 0, 961726.032 665231.185 0, 961433.859 665233.447 0, 961141.687 665235.725 0, 960849.514 665238.021 0, 960557.342 665240.334 0,
+ 960265.17 665242.664 0, 959972.998 665245.011 0, 959680.826 665247.376 0, 959388.654 665249.757 0, 959096.483 665252.156 0, 958804.312 665254.572 0, 958512.14 665257.006 0, 958219.969 665259.456 0, 957926.378 665261.936 0, 957973.573 670830.184 0,
+ 958020.771 676398.739 0, 958313.703 676396.264 0, 958605.219 676393.819 0, 958896.735 676391.392 0, 959188.251 676388.981 0, 959479.767 676386.587 0, 959771.283 676384.211 0, 960062.799 676381.852 0, 960354.316 676379.51 0, 960645.832 676377.185 0,
+ 960937.349 676374.877 0, 961228.866 676372.587 0, 961520.383 676370.313 0, 961811.9 676368.057 0, 962103.417 676365.818 0, 962394.935 676363.596 0, 962686.452 676361.391 0, 962977.97 676359.204 0, 963269.488 676357.033 0, 963561.006 676354.88 0,
+ 963852.524 676352.744 0, 964144.042 676350.625 0, 964435.56 676348.523 0, 964727.078 676346.438 0, 965017.181 676344.381 0, 965310.116 676342.32 0, 965601.634 676340.287 0, 965893.153 676338.271 0, 966184.672 676336.272 0, 966476.192 676334.29 0,
+ 966767.711 676332.326 0, 967059.23 676330.378 0, 967350.75 676328.448 0, 967642.269 676326.535 0, 967933.789 676324.639 0, 968225.309 676322.76 0, 968516.829 676320.899 0, 968808.349 676319.054 0, 969099.869 676317.227 0, 969391.389 676315.417 0,
+ 969682.909 676313.624 0, 969974.43 676311.848 0, 970265.95 676310.089 0, 970557.471 676308.348 0, 970848.992 676306.624 0, 971140.513 676304.916 0, 971432.034 676303.226 0, 971723.555 676301.553 0, 972013.661 676299.906 0, 971982.196 670731.24 0,
+ 971950.732 665162.881 0))
+
+POLYGON ((986006.775 676240.606 0, 985716.663 676241.434 0, 985425.138 676242.283 0, 985133.614 676243.149 0, 984842.089 676244.033 0, 984550.565 676244.934 0, 984259.04 676245.852 0, 983967.516 676246.787 0, 983675.991 676247.739 0, 983384.467 676248.708 0,
+ 983092.943 676249.695 0, 982801.419 676250.699 0, 982509.895 676251.719 0, 982218.371 676252.757 0, 981926.847 676253.813 0, 981635.323 676254.885 0, 981343.799 676255.974 0, 981052.275 676257.081 0, 980760.752 676258.205 0, 980469.228 676259.346 0,
+ 980177.704 676260.504 0, 979886.181 676261.679 0, 979594.657 676262.872 0, 979303.134 676264.081 0, 979010.197 676265.314 0, 978720.088 676266.552 0, 978428.564 676267.813 0, 978137.041 676269.091 0, 977845.518 676270.387 0, 977553.995 676271.699 0,
+ 977262.473 676273.029 0, 976970.95 676274.376 0, 976679.427 676275.74 0, 976387.905 676277.121 0, 976096.382 676278.519 0, 975804.86 676279.935 0, 975513.337 676281.367 0, 975221.815 676282.817 0, 974930.293 676284.284 0, 974638.771 676285.768 0,
+ 974347.249 676287.27 0, 974055.727 676288.788 0, 973764.205 676290.324 0, 973472.683 676291.876 0, 973181.162 676293.446 0, 972889.64 676295.034 0, 972598.119 676296.638 0, 972306.597 676298.259 0, 972013.661 676299.906 0, 972045.128 681868.873 0,
+ 972076.597 687438.14 0, 972368.874 687436.497 0, 972659.74 687434.88 0, 972950.606 687433.279 0, 973241.472 687431.695 0, 973532.338 687430.129 0, 973823.204 687428.58 0, 974114.07 687427.048 0, 974404.937 687425.533 0, 974695.803 687424.035 0,
+ 974986.67 687422.554 0, 975277.536 687421.09 0, 975568.403 687419.644 0, 975859.27 687418.214 0, 976150.137 687416.802 0, 976441.004 687415.407 0, 976731.871 687414.029 0, 977022.738 687412.668 0, 977313.605 687411.324 0, 977604.472 687409.997 0,
+ 977895.339 687408.688 0, 978186.207 687407.395 0, 978477.074 687406.12 0, 978767.942 687404.861 0, 979057.399 687403.626 0, 979349.677 687402.396 0, 979640.545 687401.189 0, 979931.413 687400 0, 980222.281 687398.827 0, 980513.149 687397.672 0,
+ 980804.017 687396.533 0, 981094.885 687395.412 0, 981385.753 687394.308 0, 981676.621 687393.221 0, 981967.49 687392.151 0, 982258.358 687391.098 0, 982549.227 687390.062 0, 982840.095 687389.044 0, 983130.964 687388.042 0, 983421.832 687387.058 0,
+ 983712.701 687386.091 0, 984003.57 687385.141 0, 984294.438 687384.208 0, 984585.307 687383.292 0, 984876.176 687382.393 0, 985167.045 687381.512 0, 985457.914 687380.647 0, 985748.783 687379.8 0, 986038.243 687378.973 0, 986022.508 681809.64 0,
+ 986006.775 676240.606 0))
+
+POLYGON ((1000000 687359.251 0, 999710.537 687359.26 0, 999419.667 687359.285 0, 999128.796 687359.328 0, 998837.926 687359.388 0, 998547.056 687359.465 0, 998256.186 687359.559 0, 997965.315 687359.67 0, 997674.445 687359.798 0, 997383.575 687359.944 0,
+ 997092.705 687360.106 0, 996801.834 687360.286 0, 996510.964 687360.483 0, 996220.094 687360.697 0, 995929.224 687360.928 0, 995638.354 687361.176 0, 995347.483 687361.441 0, 995056.613 687361.724 0, 994765.743 687362.023 0, 994474.873 687362.34 0,
+ 994184.003 687362.674 0, 993893.133 687363.024 0, 993602.263 687363.392 0, 993311.393 687363.778 0, 993019.114 687364.182 0, 992729.653 687364.599 0, 992438.783 687365.036 0, 992147.913 687365.489 0, 991857.043 687365.96 0, 991566.173 687366.448 0,
+ 991275.303 687366.953 0, 990984.434 687367.475 0, 990693.564 687368.014 0, 990402.694 687368.57 0, 990111.824 687369.144 0, 989820.955 687369.734 0, 989530.085 687370.342 0, 989239.215 687370.967 0, 988948.346 687371.609 0, 988657.476 687372.268 0,
+ 988366.607 687372.944 0, 988075.737 687373.637 0, 987784.868 687374.348 0, 987493.998 687375.075 0, 987203.129 687375.82 0, 986912.26 687376.582 0, 986621.391 687377.36 0, 986330.521 687378.156 0, 986038.243 687378.973 0, 986053.978 692948.603 0,
+ 986069.714 698518.524 0, 986361.334 698517.709 0, 986651.547 698516.914 0, 986941.761 698516.137 0, 987231.975 698515.377 0, 987522.188 698514.634 0, 987812.402 698513.908 0, 988102.616 698513.2 0, 988392.83 698512.508 0, 988683.044 698511.833 0,
+ 988973.257 698511.176 0, 989263.471 698510.535 0, 989553.685 698509.912 0, 989843.899 698509.305 0, 990134.113 698508.716 0, 990424.327 698508.144 0, 990714.542 698507.589 0, 991004.756 698507.051 0, 991294.97 698506.53 0, 991585.184 698506.026 0,
+ 991875.398 698505.54 0, 992165.612 698505.07 0, 992455.827 698504.617 0, 992746.041 698504.182 0, 993034.85 698503.765 0, 993326.47 698503.362 0, 993616.684 698502.978 0, 993906.898 698502.611 0, 994197.113 698502.261 0, 994487.327 698501.928 0,
+ 994777.542 698501.612 0, 995067.756 698501.313 0, 995357.971 698501.031 0, 995648.185 698500.766 0, 995938.4 698500.519 0, 996228.614 698500.288 0, 996518.829 698500.075 0, 996809.043 698499.878 0, 997099.258 698499.699 0, 997389.473 698499.537 0,
+ 997679.687 698499.392 0, 997969.902 698499.264 0, 998260.116 698499.153 0, 998550.331 698499.059 0, 998840.546 698498.982 0, 999130.76 698498.923 0, 999420.975 698498.88 0, 999711.19 698498.854 0, 1000000 698498.846 0, 1000000 692928.902 0,
+ 1000000 687359.251 0))
+
+POLYGON ((1013930.286 698518.524 0, 1013641.474 698517.716 0, 1013351.261 698516.922 0, 1013061.047 698516.145 0, 1012770.834 698515.384 0, 1012480.62 698514.641 0, 1012190.406 698513.915 0, 1011900.192 698513.206 0, 1011609.979 698512.514 0, 1011319.765 698511.84 0,
+ 1011029.551 698511.182 0, 1010739.337 698510.541 0, 1010449.123 698509.918 0, 1010158.909 698509.311 0, 1009868.695 698508.722 0, 1009578.481 698508.15 0, 1009288.267 698507.594 0, 1008998.053 698507.056 0, 1008707.839 698506.535 0, 1008417.624 698506.031 0,
+ 1008127.41 698505.544 0, 1007837.196 698505.074 0, 1007546.982 698504.622 0, 1007256.767 698504.186 0, 1006965.15 698503.765 0, 1006676.339 698503.366 0, 1006386.124 698502.982 0, 1006095.91 698502.614 0, 1005805.695 698502.264 0, 1005515.481 698501.931 0,
+ 1005225.267 698501.615 0, 1004935.052 698501.316 0, 1004644.838 698501.034 0, 1004354.623 698500.769 0, 1004064.409 698500.521 0, 1003774.194 698500.29 0, 1003483.979 698500.077 0, 1003193.765 698499.88 0, 1002903.55 698499.701 0, 1002613.336 698499.539 0,
+ 1002323.121 698499.393 0, 1002032.907 698499.265 0, 1001742.692 698499.154 0, 1001452.477 698499.06 0, 1001162.263 698498.983 0, 1000872.048 698498.923 0, 1000581.833 698498.88 0, 1000291.619 698498.855 0, 1000000 698498.846 0, 1000000 704069.078 0,
+ 1000000 709639.596 0, 1000290.96 709639.605 0, 1000580.519 709639.63 0, 1000870.078 709639.673 0, 1001159.637 709639.733 0, 1001449.196 709639.809 0, 1001738.754 709639.903 0, 1002028.313 709640.014 0, 1002317.872 709640.142 0, 1002607.431 709640.287 0,
+ 1002896.99 709640.449 0, 1003186.549 709640.628 0, 1003476.108 709640.824 0, 1003765.666 709641.037 0, 1004055.225 709641.267 0, 1004344.784 709641.514 0, 1004634.343 709641.779 0, 1004923.902 709642.06 0, 1005213.46 709642.358 0, 1005503.019 709642.674 0,
+ 1005792.578 709643.006 0, 1006082.137 709643.356 0, 1006371.695 709643.722 0, 1006661.254 709644.106 0, 1006949.413 709644.504 0, 1007240.371 709644.924 0, 1007529.93 709645.359 0, 1007819.488 709645.81 0, 1008109.047 709646.279 0, 1008398.605 709646.765 0,
+ 1008688.164 709647.268 0, 1008977.722 709647.788 0, 1009267.281 709648.324 0, 1009556.839 709648.878 0, 1009846.397 709649.449 0, 1010135.956 709650.038 0, 1010425.514 709650.643 0, 1010715.072 709651.265 0, 1011004.63 709651.904 0, 1011294.188 709652.56 0,
+ 1011583.747 709653.233 0, 1011873.305 709653.924 0, 1012162.863 709654.631 0, 1012452.421 709655.356 0, 1012741.979 709656.097 0, 1013031.537 709656.856 0, 1013321.094 709657.631 0, 1013610.652 709658.424 0, 1013898.811 709659.229 0, 1013914.549 704088.734 0,
+ 1013930.286 698518.524 0))
+
+POLYGON ((1027797.512 709718.129 0, 1027509.354 709716.509 0, 1027219.799 709714.899 0, 1026930.245 709713.305 0, 1026640.69 709711.729 0, 1026351.136 709710.169 0, 1026061.581 709708.627 0, 1025772.026 709707.101 0, 1025482.471 709705.593 0, 1025192.916 709704.102 0,
+ 1024903.361 709702.627 0, 1024613.805 709701.17 0, 1024324.25 709699.73 0, 1024034.695 709698.307 0, 1023745.139 709696.901 0, 1023455.584 709695.512 0, 1023166.028 709694.14 0, 1022876.472 709692.785 0, 1022586.916 709691.447 0, 1022297.361 709690.126 0,
+ 1022007.805 709688.822 0, 1021718.249 709687.535 0, 1021428.692 709686.265 0, 1021139.136 709685.013 0, 1020848.182 709683.771 0, 1020560.024 709682.558 0, 1020270.467 709681.357 0, 1019980.911 709680.172 0, 1019691.354 709679.005 0, 1019401.798 709677.854 0,
+ 1019112.241 709676.721 0, 1018822.684 709675.604 0, 1018533.127 709674.505 0, 1018243.57 709673.423 0, 1017954.013 709672.357 0, 1017664.456 709671.309 0, 1017374.899 709670.278 0, 1017085.342 709669.264 0, 1016795.785 709668.267 0, 1016506.228 709667.287 0,
+ 1016216.67 709666.324 0, 1015927.113 709665.378 0, 1015637.556 709664.449 0, 1015347.998 709663.537 0, 1015058.441 709662.642 0, 1014768.883 709661.764 0, 1014479.325 709660.904 0, 1014189.768 709660.06 0, 1013898.811 709659.229 0, 1013883.073 715230.007 0,
+ 1013867.333 720801.062 0, 1014157.631 720801.891 0, 1014446.533 720802.733 0, 1014735.435 720803.592 0, 1015024.337 720804.468 0, 1015313.238 720805.36 0, 1015602.14 720806.27 0, 1015891.042 720807.197 0, 1016179.943 720808.141 0, 1016468.845 720809.102 0,
+ 1016757.746 720810.079 0, 1017046.648 720811.074 0, 1017335.549 720812.086 0, 1017624.45 720813.115 0, 1017913.351 720814.161 0, 1018202.253 720815.224 0, 1018491.154 720816.303 0, 1018780.055 720817.4 0, 1019068.956 720818.514 0, 1019357.857 720819.645 0,
+ 1019646.757 720820.793 0, 1019935.658 720821.958 0, 1020224.559 720823.14 0, 1020513.46 720824.339 0, 1020800.966 720825.549 0, 1021091.261 720826.787 0, 1021380.161 720828.037 0, 1021669.061 720829.304 0, 1021957.962 720830.588 0, 1022246.862 720831.889 0,
+ 1022535.762 720833.207 0, 1022824.662 720834.542 0, 1023113.562 720835.894 0, 1023402.462 720837.263 0, 1023691.362 720838.648 0, 1023980.261 720840.051 0, 1024269.161 720841.471 0, 1024558.06 720842.908 0, 1024846.96 720844.362 0, 1025135.859 720845.833 0,
+ 1025424.759 720847.321 0, 1025713.658 720848.826 0, 1026002.557 720850.348 0, 1026291.456 720851.887 0, 1026580.355 720853.443 0, 1026869.254 720855.016 0, 1027158.152 720856.606 0, 1027447.051 720858.213 0, 1027734.556 720859.829 0, 1027766.035 715288.84 0,
+ 1027797.512 709718.129 0))
+
+POLYGON ((1041601.558 720957.773 0, 1041314.056 720955.344 0, 1041025.163 720952.921 0, 1040736.27 720950.515 0, 1040447.377 720948.126 0, 1040158.483 720945.754 0, 1039869.59 720943.399 0, 1039580.696 720941.06 0, 1039291.802 720938.739 0, 1039002.908 720936.435 0,
+ 1038714.014 720934.148 0, 1038425.12 720931.878 0, 1038136.226 720929.625 0, 1037847.331 720927.389 0, 1037558.437 720925.17 0, 1037269.542 720922.967 0, 1036980.647 720920.782 0, 1036691.752 720918.614 0, 1036402.857 720916.463 0, 1036113.962 720914.329 0,
+ 1035825.066 720912.212 0, 1035536.171 720910.112 0, 1035247.275 720908.029 0, 1034958.38 720905.963 0, 1034668.092 720903.904 0, 1034380.588 720901.882 0, 1034091.692 720899.866 0, 1033802.796 720897.868 0, 1033513.899 720895.887 0, 1033225.003 720893.923 0,
+ 1032936.106 720891.976 0, 1032647.21 720890.046 0, 1032358.313 720888.133 0, 1032069.416 720886.237 0, 1031780.519 720884.358 0, 1031491.622 720882.496 0, 1031202.725 720880.651 0, 1030913.827 720878.823 0, 1030624.93 720877.012 0, 1030336.032 720875.218 0,
+ 1030047.135 720873.441 0, 1029758.237 720871.681 0, 1029469.339 720869.938 0, 1029180.441 720868.212 0, 1028891.543 720866.503 0, 1028602.645 720864.811 0, 1028313.746 720863.136 0, 1028024.848 720861.478 0, 1027734.556 720859.829 0, 1027703.076 726431.093 0,
+ 1027671.595 732002.629 0, 1027961.227 732004.274 0, 1028249.47 732005.928 0, 1028537.712 732007.599 0, 1028825.955 732009.287 0, 1029114.197 732010.993 0, 1029402.439 732012.715 0, 1029690.681 732014.454 0, 1029978.923 732016.21 0, 1030267.165 732017.983 0,
+ 1030555.407 732019.773 0, 1030843.648 732021.58 0, 1031131.89 732023.403 0, 1031420.131 732025.244 0, 1031708.372 732027.102 0, 1031996.613 732028.977 0, 1032284.855 732030.869 0, 1032573.095 732032.777 0, 1032861.336 732034.703 0, 1033149.577 732036.646 0,
+ 1033437.818 732038.605 0, 1033726.058 732040.582 0, 1034014.298 732042.575 0, 1034302.539 732044.586 0, 1034589.39 732046.603 0, 1034879.019 732048.658 0, 1035167.259 732050.719 0, 1035455.499 732052.797 0, 1035743.738 732054.893 0, 1036031.978 732057.005 0,
+ 1036320.217 732059.134 0, 1036608.456 732061.28 0, 1036896.696 732063.444 0, 1037184.935 732065.624 0, 1037473.173 732067.821 0, 1037761.412 732070.035 0, 1038049.651 732072.266 0, 1038337.889 732074.514 0, 1038626.128 732076.779 0, 1038914.366 732079.061 0,
+ 1039202.604 732081.36 0, 1039490.842 732083.676 0, 1039779.08 732086.009 0, 1040067.318 732088.358 0, 1040355.555 732090.725 0, 1040643.792 732093.109 0, 1040932.03 732095.51 0, 1041220.267 732097.927 0, 1041507.116 732100.35 0, 1041554.338 726528.926 0,
+ 1041601.558 720957.773 0))
+
+POLYGON ((1055342.306 732237.159 0, 1055055.463 732233.926 0, 1054767.233 732230.694 0, 1054479.004 732227.479 0, 1054190.775 732224.281 0, 1053902.545 732221.1 0, 1053614.315 732217.935 0, 1053326.085 732214.788 0, 1053037.855 732211.658 0, 1052749.624 732208.545 0,
+ 1052461.394 732205.449 0, 1052173.163 732202.369 0, 1051884.932 732199.307 0, 1051596.701 732196.262 0, 1051308.469 732193.233 0, 1051020.238 732190.222 0, 1050732.006 732187.227 0, 1050443.774 732184.25 0, 1050155.542 732181.289 0, 1049867.31 732178.346 0,
+ 1049579.077 732175.419 0, 1049290.845 732172.51 0, 1049002.612 732169.617 0, 1048714.379 732166.741 0, 1048424.759 732163.869 0, 1048137.913 732161.041 0, 1047849.679 732158.216 0, 1047561.446 732155.408 0, 1047273.212 732152.617 0, 1046984.978 732149.843 0,
+ 1046696.744 732147.086 0, 1046408.51 732144.346 0, 1046120.275 732141.623 0, 1045832.041 732138.917 0, 1045543.806 732136.228 0, 1045255.571 732133.556 0, 1044967.336 732130.901 0, 1044679.101 732128.262 0, 1044390.866 732125.641 0, 1044102.63 732123.037 0,
+ 1043814.394 732120.45 0, 1043526.159 732117.879 0, 1043237.923 732115.326 0, 1042949.687 732112.789 0, 1042661.45 732110.27 0, 1042373.214 732107.768 0, 1042084.977 732105.282 0, 1041796.741 732102.813 0, 1041507.116 732100.35 0, 1041459.892 737672.043 0,
+ 1041412.665 743244 0, 1041701.631 743246.457 0, 1041989.212 743248.92 0, 1042276.792 743251.4 0, 1042564.373 743253.897 0, 1042851.953 743256.411 0, 1043139.533 743258.941 0, 1043427.113 743261.489 0, 1043714.693 743264.053 0, 1044002.273 743266.635 0,
+ 1044289.853 743269.233 0, 1044577.432 743271.848 0, 1044865.011 743274.481 0, 1045152.591 743277.13 0, 1045440.17 743279.796 0, 1045727.748 743282.479 0, 1046015.327 743285.179 0, 1046302.906 743287.895 0, 1046590.484 743290.629 0, 1046878.062 743293.38 0,
+ 1047165.64 743296.148 0, 1047453.218 743298.932 0, 1047740.796 743301.734 0, 1048028.373 743304.552 0, 1048314.567 743307.374 0, 1048603.528 743310.24 0, 1048891.105 743313.109 0, 1049178.682 743315.995 0, 1049466.258 743318.898 0, 1049753.835 743321.818 0,
+ 1050041.411 743324.755 0, 1050328.988 743327.708 0, 1050616.564 743330.679 0, 1050904.139 743333.667 0, 1051191.715 743336.671 0, 1051479.29 743339.693 0, 1051766.866 743342.731 0, 1052054.441 743345.787 0, 1052342.016 743348.859 0, 1052629.591 743351.948 0,
+ 1052917.165 743355.054 0, 1053204.74 743358.177 0, 1053492.314 743361.317 0, 1053779.888 743364.474 0, 1054067.462 743367.648 0, 1054355.035 743370.839 0, 1054642.609 743374.047 0, 1054930.182 743377.271 0, 1055216.373 743380.497 0, 1055279.341 737808.696 0,
+ 1055342.306 732237.159 0))
+
+POLYGON ((1069019.639 743555.992 0, 1068733.457 743551.958 0, 1068445.894 743547.921 0, 1068158.331 743543.9 0, 1067870.767 743539.897 0, 1067583.203 743535.911 0, 1067295.639 743531.942 0, 1067008.075 743527.989 0, 1066720.511 743524.054 0, 1066432.946 743520.135 0,
+ 1066145.381 743516.233 0, 1065857.816 743512.349 0, 1065570.251 743508.481 0, 1065282.685 743504.63 0, 1064995.119 743500.796 0, 1064707.553 743496.979 0, 1064419.987 743493.179 0, 1064132.421 743489.396 0, 1063844.854 743485.63 0, 1063557.287 743481.88 0,
+ 1063269.72 743478.148 0, 1062982.153 743474.432 0, 1062694.585 743470.734 0, 1062407.017 743467.052 0, 1062118.068 743463.37 0, 1061831.881 743459.74 0, 1061544.313 743456.109 0, 1061256.744 743452.495 0, 1060969.175 743448.898 0, 1060681.606 743445.318 0,
+ 1060394.037 743441.755 0, 1060106.467 743438.209 0, 1059818.898 743434.679 0, 1059531.328 743431.167 0, 1059243.758 743427.672 0, 1058956.187 743424.193 0, 1058668.617 743420.731 0, 1058381.046 743417.287 0, 1058093.475 743413.859 0, 1057805.904 743410.448 0,
+ 1057518.333 743407.054 0, 1057230.761 743403.677 0, 1056943.189 743400.317 0, 1056655.618 743396.974 0, 1056368.045 743393.648 0, 1056080.473 743390.339 0, 1055792.901 743387.047 0, 1055505.328 743383.771 0, 1055216.373 743380.497 0, 1055153.401 748952.559 0,
+ 1055090.427 754524.879 0, 1055378.724 754528.146 0, 1055665.64 754531.414 0, 1055952.557 754534.699 0, 1056239.473 754538 0, 1056526.39 754541.319 0, 1056813.306 754544.654 0, 1057100.221 754548.007 0, 1057387.137 754551.376 0, 1057674.052 754554.762 0,
+ 1057960.968 754558.165 0, 1058247.883 754561.585 0, 1058534.797 754565.022 0, 1058821.712 754568.476 0, 1059108.626 754571.946 0, 1059395.54 754575.434 0, 1059682.454 754578.938 0, 1059969.368 754582.459 0, 1060256.282 754585.997 0, 1060543.195 754589.552 0,
+ 1060830.108 754593.124 0, 1061117.021 754596.713 0, 1061403.934 754600.319 0, 1061690.846 754603.941 0, 1061976.38 754607.563 0, 1062264.671 754611.237 0, 1062551.583 754614.91 0, 1062838.494 754618.6 0, 1063125.406 754622.307 0, 1063412.317 754626.031 0,
+ 1063699.228 754629.772 0, 1063986.139 754633.53 0, 1064273.049 754637.304 0, 1064559.959 754641.096 0, 1064846.87 754644.904 0, 1065133.779 754648.729 0, 1065420.689 754652.571 0, 1065707.599 754656.43 0, 1065994.508 754660.306 0, 1066281.417 754664.199 0,
+ 1066568.325 754668.108 0, 1066855.234 754672.035 0, 1067142.142 754675.978 0, 1067429.05 754679.939 0, 1067715.958 754683.916 0, 1068002.866 754687.91 0, 1068289.773 754691.921 0, 1068576.68 754695.949 0, 1068862.21 754699.974 0, 1068940.926 749127.854 0,
+ 1069019.639 743555.992 0))
+
+POLYGON ((1082633.443 754913.976 0, 1082347.923 754909.144 0, 1082061.029 754904.305 0, 1081774.134 754899.484 0, 1081487.239 754894.679 0, 1081200.343 754889.892 0, 1080913.447 754885.121 0, 1080626.551 754880.367 0, 1080339.655 754875.63 0, 1080052.759 754870.909 0,
+ 1079765.862 754866.206 0, 1079478.965 754861.52 0, 1079192.067 754856.85 0, 1078905.17 754852.198 0, 1078618.272 754847.562 0, 1078331.374 754842.943 0, 1078044.475 754838.341 0, 1077757.576 754833.756 0, 1077470.677 754829.188 0, 1077183.778 754824.636 0,
+ 1076896.879 754820.102 0, 1076609.979 754815.584 0, 1076323.079 754811.084 0, 1076036.178 754806.6 0, 1075747.902 754802.112 0, 1075462.377 754797.683 0, 1075175.476 754793.25 0, 1074888.574 754788.834 0, 1074601.673 754784.434 0, 1074314.771 754780.052 0,
+ 1074027.869 754775.686 0, 1073740.966 754771.338 0, 1073454.064 754767.006 0, 1073167.161 754762.691 0, 1072880.257 754758.393 0, 1072593.354 754754.112 0, 1072306.45 754749.847 0, 1072019.546 754745.6 0, 1071732.642 754741.37 0, 1071445.738 754737.156 0,
+ 1071158.833 754732.959 0, 1070871.928 754728.779 0, 1070585.023 754724.616 0, 1070298.118 754720.47 0, 1070011.212 754716.341 0, 1069724.306 754712.229 0, 1069437.4 754708.134 0, 1069150.494 754704.055 0, 1068862.21 754699.974 0, 1068783.49 760272.348 0,
+ 1068704.766 765844.972 0, 1068992.391 765849.043 0, 1069278.641 765853.113 0, 1069564.891 765857.199 0, 1069851.141 765861.301 0, 1070137.391 765865.421 0, 1070423.64 765869.558 0, 1070709.889 765873.711 0, 1070996.138 765877.881 0, 1071282.387 765882.069 0,
+ 1071568.636 765886.273 0, 1071854.884 765890.493 0, 1072141.132 765894.731 0, 1072427.379 765898.986 0, 1072713.627 765903.257 0, 1072999.874 765907.545 0, 1073286.121 765911.85 0, 1073572.368 765916.172 0, 1073858.614 765920.511 0, 1074144.86 765924.866 0,
+ 1074431.106 765929.239 0, 1074717.352 765933.628 0, 1075003.597 765938.034 0, 1075289.843 765942.457 0, 1075574.715 765946.876 0, 1075862.332 765951.354 0, 1076148.577 765955.827 0, 1076434.821 765960.318 0, 1076721.065 765964.825 0, 1077007.308 765969.349 0,
+ 1077293.551 765973.89 0, 1077579.794 765978.448 0, 1077866.037 765983.022 0, 1078152.28 765987.614 0, 1078438.522 765992.222 0, 1078724.764 765996.847 0, 1079011.006 766001.489 0, 1079297.247 766006.148 0, 1079583.488 766010.824 0, 1079869.729 766015.516 0,
+ 1080155.97 766020.226 0, 1080442.21 766024.952 0, 1080728.45 766029.695 0, 1081014.69 766034.455 0, 1081300.929 766039.232 0, 1081587.168 766044.025 0, 1081873.407 766048.836 0, 1082159.646 766053.663 0, 1082444.513 766058.484 0, 1082538.98 760486.105 0,
+ 1082633.443 754913.976 0))
+
+POLYGON ((1096183.601 766310.813 0, 1095898.747 766305.187 0, 1095612.523 766299.551 0, 1095326.299 766293.932 0, 1095040.075 766288.33 0, 1094753.85 766282.744 0, 1094467.625 766277.176 0, 1094181.399 766271.624 0, 1093895.173 766266.089 0, 1093608.947 766260.571 0,
+ 1093322.721 766255.07 0, 1093036.494 766249.586 0, 1092750.267 766244.118 0, 1092464.039 766238.667 0, 1092177.812 766233.234 0, 1091891.584 766227.817 0, 1091605.355 766222.416 0, 1091319.126 766217.033 0, 1091032.897 766211.667 0, 1090746.668 766206.317 0,
+ 1090460.438 766200.984 0, 1090174.208 766195.668 0, 1089887.978 766190.369 0, 1089601.748 766185.087 0, 1089314.146 766179.797 0, 1089029.285 766174.573 0, 1088743.054 766169.342 0, 1088456.822 766164.127 0, 1088170.59 766158.929 0, 1087884.358 766153.748 0,
+ 1087598.125 766148.583 0, 1087311.892 766143.436 0, 1087025.658 766138.305 0, 1086739.425 766133.192 0, 1086453.191 766128.095 0, 1086166.956 766123.015 0, 1085880.722 766117.952 0, 1085594.487 766112.905 0, 1085308.252 766107.876 0, 1085022.016 766102.863 0,
+ 1084735.781 766097.867 0, 1084449.545 766092.888 0, 1084163.308 766087.926 0, 1083877.072 766082.981 0, 1083590.835 766078.053 0, 1083304.598 766073.141 0, 1083018.36 766068.246 0, 1082732.122 766063.368 0, 1082444.513 766058.484 0, 1082350.041 771631.11 0,
+ 1082255.566 777203.98 0, 1082542.517 777208.853 0, 1082828.098 777213.72 0, 1083113.68 777218.603 0, 1083399.261 777223.503 0, 1083684.842 777228.421 0, 1083970.423 777233.354 0, 1084256.003 777238.305 0, 1084541.583 777243.273 0, 1084827.163 777248.257 0,
+ 1085112.742 777253.258 0, 1085398.321 777258.276 0, 1085683.9 777263.311 0, 1085969.479 777268.363 0, 1086255.057 777273.431 0, 1086540.635 777278.516 0, 1086826.213 777283.618 0, 1087111.79 777288.737 0, 1087397.367 777293.873 0, 1087682.944 777299.025 0,
+ 1087968.52 777304.194 0, 1088254.096 777309.38 0, 1088539.672 777314.583 0, 1088825.248 777319.803 0, 1089109.456 777325.014 0, 1089396.398 777330.293 0, 1089681.973 777335.563 0, 1089967.547 777340.85 0, 1090253.121 777346.153 0, 1090538.695 777351.474 0,
+ 1090824.268 777356.811 0, 1091109.841 777362.165 0, 1091395.414 777367.536 0, 1091680.986 777372.924 0, 1091966.558 777378.329 0, 1092252.13 777383.75 0, 1092537.701 777389.188 0, 1092823.273 777394.643 0, 1093108.843 777400.115 0, 1093394.414 777405.604 0,
+ 1093679.984 777411.109 0, 1093965.554 777416.631 0, 1094251.123 777422.17 0, 1094536.693 777427.726 0, 1094822.262 777433.299 0, 1095107.83 777438.888 0, 1095393.398 777444.495 0, 1095678.966 777450.118 0, 1095963.167 777455.73 0, 1096073.387 771883.15 0,
+ 1096183.601 766310.813 0))
+
+POLYGON ((1109670.003 777746.207 0, 1109385.816 777739.791 0, 1109100.266 777733.361 0, 1108814.714 777726.948 0, 1108529.163 777720.552 0, 1108243.611 777714.172 0, 1107958.058 777707.81 0, 1107672.506 777701.464 0, 1107386.953 777695.135 0, 1107101.399 777688.823 0,
+ 1106815.845 777682.527 0, 1106530.291 777676.249 0, 1106244.736 777669.987 0, 1105959.181 777663.742 0, 1105673.626 777657.514 0, 1105388.07 777651.303 0, 1105102.514 777645.108 0, 1104816.958 777638.93 0, 1104531.401 777632.769 0, 1104245.844 777626.625 0,
+ 1103960.287 777620.498 0, 1103674.729 777614.387 0, 1103389.17 777608.294 0, 1103103.612 777602.217 0, 1102816.688 777596.128 0, 1102532.494 777590.114 0, 1102246.934 777584.087 0, 1101961.374 777578.078 0, 1101675.814 777572.085 0, 1101390.253 777566.109 0,
+ 1101104.692 777560.149 0, 1100819.13 777554.207 0, 1100533.569 777548.281 0, 1100248.007 777542.373 0, 1099962.444 777536.481 0, 1099676.881 777530.605 0, 1099391.318 777524.747 0, 1099105.755 777518.905 0, 1098820.191 777513.081 0, 1098534.627 777507.273 0,
+ 1098249.062 777501.482 0, 1097963.497 777495.707 0, 1097677.932 777489.95 0, 1097392.366 777484.209 0, 1097106.801 777478.485 0, 1096821.234 777472.778 0, 1096535.668 777467.088 0, 1096250.101 777461.414 0, 1095963.167 777455.73 0, 1095852.943 783028.55 0,
+ 1095742.715 788601.607 0, 1096028.989 788607.277 0, 1096313.9 788612.938 0, 1096598.81 788618.615 0, 1096883.72 788624.309 0, 1097168.63 788630.02 0, 1097453.54 788635.747 0, 1097738.449 788641.491 0, 1098023.358 788647.253 0, 1098308.266 788653.03 0,
+ 1098593.175 788658.825 0, 1098878.082 788664.636 0, 1099162.99 788670.465 0, 1099447.897 788676.309 0, 1099732.804 788682.171 0, 1100017.71 788688.05 0, 1100302.616 788693.945 0, 1100587.522 788699.857 0, 1100872.427 788705.786 0, 1101157.333 788711.731 0,
+ 1101442.237 788717.693 0, 1101727.142 788723.673 0, 1102012.046 788729.668 0, 1102296.949 788735.681 0, 1102580.49 788741.681 0, 1102866.755 788747.756 0, 1103151.658 788753.819 0, 1103436.56 788759.899 0, 1103721.462 788765.996 0, 1104006.364 788772.109 0,
+ 1104291.265 788778.239 0, 1104576.166 788784.386 0, 1104861.066 788790.549 0, 1105145.966 788796.729 0, 1105430.866 788802.926 0, 1105715.765 788809.14 0, 1106000.664 788815.371 0, 1106285.563 788821.618 0, 1106570.461 788827.882 0, 1106855.359 788834.163 0,
+ 1107140.256 788840.461 0, 1107425.153 788846.775 0, 1107710.05 788853.107 0, 1107994.946 788859.455 0, 1108279.842 788865.819 0, 1108564.738 788872.201 0, 1108849.633 788878.599 0, 1109134.528 788885.014 0, 1109418.062 788891.415 0, 1109544.035 783318.693 0,
+ 1109670.003 777746.207 0))
+
+POLYGON ((1123092.536 789219.858 0, 1122809.019 789212.656 0, 1122524.143 789205.436 0, 1122239.267 789198.233 0, 1121954.391 789191.047 0, 1121669.514 789183.877 0, 1121384.637 789176.724 0, 1121099.759 789169.588 0, 1120814.881 789162.469 0, 1120530.002 789155.366 0,
+ 1120245.123 789148.281 0, 1119960.244 789141.212 0, 1119675.364 789134.159 0, 1119390.484 789127.124 0, 1119105.603 789120.105 0, 1118820.722 789113.103 0, 1118535.841 789106.118 0, 1118250.959 789099.15 0, 1117966.077 789092.198 0, 1117681.194 789085.263 0,
+ 1117396.311 789078.345 0, 1117111.427 789071.444 0, 1116826.543 789064.559 0, 1116541.659 789057.691 0, 1116255.415 789050.808 0, 1115971.889 789044.006 0, 1115687.004 789037.189 0, 1115402.118 789030.388 0, 1115117.232 789023.604 0, 1114832.345 789016.837 0,
+ 1114547.458 789010.086 0, 1114262.57 789003.353 0, 1113977.682 788996.636 0, 1113692.794 788989.936 0, 1113407.905 788983.252 0, 1113123.016 788976.586 0, 1112838.127 788969.936 0, 1112553.237 788963.303 0, 1112268.347 788956.687 0, 1111983.456 788950.087 0,
+ 1111698.565 788943.504 0, 1111413.673 788936.938 0, 1111128.782 788930.389 0, 1110843.889 788923.857 0, 1110558.997 788917.341 0, 1110274.104 788910.842 0, 1109989.21 788904.36 0, 1109704.317 788897.895 0, 1109418.062 788891.415 0, 1109292.083 794464.37 0,
+ 1109166.1 800037.554 0, 1109451.695 800044.018 0, 1109735.933 800050.469 0, 1110020.17 800056.936 0, 1110304.407 800063.42 0, 1110588.644 800069.921 0, 1110872.88 800076.438 0, 1111157.116 800082.972 0, 1111441.351 800089.523 0, 1111725.586 800096.091 0,
+ 1112009.821 800102.675 0, 1112294.055 800109.276 0, 1112578.289 800115.894 0, 1112862.522 800122.528 0, 1113146.756 800129.179 0, 1113430.988 800135.847 0, 1113715.22 800142.532 0, 1113999.452 800149.233 0, 1114283.684 800155.952 0, 1114567.915 800162.686 0,
+ 1114852.146 800169.438 0, 1115136.376 800176.206 0, 1115420.606 800182.991 0, 1115704.835 800189.793 0, 1115987.708 800196.579 0, 1116273.293 800203.447 0, 1116557.521 800210.299 0, 1116841.749 800217.168 0, 1117125.977 800224.053 0, 1117410.204 800230.955 0,
+ 1117694.431 800237.874 0, 1117978.657 800244.81 0, 1118262.883 800251.762 0, 1118547.108 800258.731 0, 1118831.333 800265.717 0, 1119115.558 800272.72 0, 1119399.782 800279.739 0, 1119684.006 800286.775 0, 1119968.229 800293.828 0, 1120252.452 800300.897 0,
+ 1120536.675 800307.983 0, 1120820.897 800315.086 0, 1121105.119 800322.206 0, 1121389.34 800329.342 0, 1121673.561 800336.495 0, 1121957.781 800343.665 0, 1122242.001 800350.852 0, 1122526.221 800358.055 0, 1122809.085 800365.241 0, 1122950.813 794792.435 0,
+ 1123092.536 789219.858 0))
+
+POLYGON ((1136451.089 800731.47 0, 1136168.245 800723.485 0, 1135884.047 800715.479 0, 1135599.848 800707.489 0, 1135315.649 800699.517 0, 1135031.45 800691.561 0, 1134747.25 800683.621 0, 1134463.049 800675.699 0, 1134178.848 800667.793 0, 1133894.647 800659.904 0,
+ 1133610.445 800652.031 0, 1133326.243 800644.175 0, 1133042.04 800636.337 0, 1132757.837 800628.514 0, 1132473.633 800620.709 0, 1132189.429 800612.92 0, 1131905.224 800605.148 0, 1131621.019 800597.393 0, 1131336.813 800589.654 0, 1131052.607 800581.932 0,
+ 1130768.401 800574.227 0, 1130484.194 800566.539 0, 1130199.987 800558.867 0, 1129915.779 800551.212 0, 1129630.216 800543.537 0, 1129347.362 800535.952 0, 1129063.153 800528.348 0, 1128778.943 800520.76 0, 1128494.733 800513.188 0, 1128210.523 800505.634 0,
+ 1127926.312 800498.096 0, 1127642.1 800490.575 0, 1127357.889 800483.07 0, 1127073.676 800475.583 0, 1126789.464 800468.112 0, 1126505.25 800460.657 0, 1126221.037 800453.22 0, 1125936.823 800445.799 0, 1125652.608 800438.395 0, 1125368.394 800431.008 0,
+ 1125084.178 800423.637 0, 1124799.962 800416.284 0, 1124515.746 800408.946 0, 1124231.53 800401.626 0, 1123947.313 800394.322 0, 1123663.095 800387.035 0, 1123378.877 800379.765 0, 1123094.659 800372.512 0, 1122809.085 800365.241 0, 1122667.35 805938.271 0,
+ 1122525.611 811511.524 0, 1122810.526 811518.778 0, 1123094.088 811526.015 0, 1123377.65 811533.268 0, 1123661.211 811540.538 0, 1123944.772 811547.825 0, 1124228.333 811555.129 0, 1124511.893 811562.449 0, 1124795.453 811569.786 0, 1125079.012 811577.139 0,
+ 1125362.571 811584.509 0, 1125646.129 811591.896 0, 1125929.687 811599.3 0, 1126213.245 811606.72 0, 1126496.802 811614.157 0, 1126780.359 811621.611 0, 1127063.915 811629.081 0, 1127347.471 811636.568 0, 1127631.026 811644.072 0, 1127914.581 811651.593 0,
+ 1128198.135 811659.13 0, 1128481.689 811666.684 0, 1128765.243 811674.254 0, 1129048.796 811681.841 0, 1129330.998 811689.409 0, 1129615.901 811697.066 0, 1129899.453 811704.703 0, 1130183.004 811712.357 0, 1130466.555 811720.028 0, 1130750.105 811727.715 0,
+ 1131033.655 811735.419 0, 1131317.205 811743.14 0, 1131600.754 811750.877 0, 1131884.303 811758.631 0, 1132167.851 811766.402 0, 1132451.398 811774.19 0, 1132734.946 811781.994 0, 1133018.492 811789.815 0, 1133302.039 811797.652 0, 1133585.585 811805.507 0,
+ 1133869.13 811813.377 0, 1134152.675 811821.265 0, 1134436.219 811829.169 0, 1134719.763 811837.09 0, 1135003.307 811845.028 0, 1135286.85 811852.982 0, 1135570.393 811860.953 0, 1135853.935 811868.941 0, 1136136.126 811876.907 0, 1136293.611 806304.078 0,
+ 1136451.089 800731.47 0))
+
+POLYGON ((1149745.555 812280.742 0, 1149463.385 812271.979 0, 1149179.867 812263.19 0, 1148896.348 812254.418 0, 1148612.828 812245.662 0, 1148329.308 812236.924 0, 1148045.788 812228.202 0, 1147762.267 812219.496 0, 1147478.745 812210.808 0, 1147195.223 812202.136 0,
+ 1146911.701 812193.48 0, 1146628.178 812184.842 0, 1146344.654 812176.22 0, 1146061.13 812167.615 0, 1145777.606 812159.026 0, 1145494.081 812150.454 0, 1145210.555 812141.899 0, 1144927.029 812133.361 0, 1144643.502 812124.839 0, 1144359.975 812116.334 0,
+ 1144076.448 812107.845 0, 1143792.92 812099.374 0, 1143509.391 812090.919 0, 1143225.862 812082.48 0, 1142940.983 812074.019 0, 1142658.802 812065.654 0, 1142375.272 812057.265 0, 1142091.741 812048.894 0, 1141808.209 812040.539 0, 1141524.677 812032.201 0,
+ 1141241.145 812023.879 0, 1140957.612 812015.574 0, 1140674.078 812007.286 0, 1140390.544 811999.015 0, 1140107.01 811990.76 0, 1139823.475 811982.522 0, 1139539.939 811974.301 0, 1139256.403 811966.096 0, 1138972.867 811957.908 0, 1138689.33 811949.737 0,
+ 1138405.793 811941.582 0, 1138122.255 811933.444 0, 1137838.716 811925.323 0, 1137555.178 811917.218 0, 1137271.638 811909.13 0, 1136988.099 811901.059 0, 1136704.558 811893.005 0, 1136421.018 811884.967 0, 1136136.126 811876.907 0, 1135978.636 817449.955 0,
+ 1135821.139 823023.217 0, 1136105.371 823031.257 0, 1136388.255 823039.277 0, 1136671.14 823047.312 0, 1136954.023 823055.365 0, 1137236.907 823063.434 0, 1137519.789 823071.52 0, 1137802.672 823079.622 0, 1138085.553 823087.742 0, 1138368.435 823095.877 0,
+ 1138651.316 823104.03 0, 1138934.196 823112.199 0, 1139217.076 823120.385 0, 1139499.955 823128.587 0, 1139782.834 823136.806 0, 1140065.713 823145.042 0, 1140348.591 823153.294 0, 1140631.468 823161.563 0, 1140914.345 823169.848 0, 1141197.222 823178.151 0,
+ 1141480.098 823186.47 0, 1141762.973 823194.805 0, 1142045.848 823203.157 0, 1142328.723 823211.526 0, 1142610.251 823219.872 0, 1142894.47 823228.314 0, 1143177.343 823236.733 0, 1143460.216 823245.168 0, 1143743.088 823253.62 0, 1144025.96 823262.089 0,
+ 1144308.831 823270.575 0, 1144591.701 823279.077 0, 1144874.571 823287.595 0, 1145157.441 823296.131 0, 1145440.31 823304.683 0, 1145723.178 823313.251 0, 1146006.046 823321.837 0, 1146288.914 823330.439 0, 1146571.781 823339.057 0, 1146854.648 823347.692 0,
+ 1147137.514 823356.344 0, 1147420.379 823365.013 0, 1147703.244 823373.698 0, 1147986.109 823382.4 0, 1148268.973 823391.118 0, 1148551.836 823399.853 0, 1148834.699 823408.605 0, 1149117.561 823417.374 0, 1149399.079 823426.117 0, 1149572.32 817853.322 0,
+ 1149745.555 812280.742 0))
+
+POLYGON ((1162975.826 823867.376 0, 1162694.333 823857.837 0, 1162411.496 823848.27 0, 1162128.659 823838.719 0, 1161845.821 823829.184 0, 1161562.983 823819.667 0, 1161280.144 823810.166 0, 1160997.305 823800.682 0, 1160714.465 823791.214 0, 1160431.625 823781.763 0,
+ 1160148.784 823772.329 0, 1159865.942 823762.911 0, 1159583.1 823753.51 0, 1159300.257 823744.125 0, 1159017.414 823734.758 0, 1158734.57 823725.406 0, 1158451.726 823716.072 0, 1158168.881 823706.754 0, 1157886.036 823697.453 0, 1157603.19 823688.168 0,
+ 1157320.343 823678.901 0, 1157037.496 823669.649 0, 1156754.649 823660.415 0, 1156471.8 823651.197 0, 1156187.608 823641.952 0, 1155906.103 823632.811 0, 1155623.253 823623.643 0, 1155340.402 823614.491 0, 1155057.552 823605.357 0, 1154774.7 823596.239 0,
+ 1154491.848 823587.137 0, 1154208.996 823578.053 0, 1153926.143 823568.984 0, 1153643.289 823559.933 0, 1153360.435 823550.898 0, 1153077.581 823541.88 0, 1152794.726 823532.878 0, 1152511.87 823523.894 0, 1152229.014 823514.925 0, 1151946.157 823505.974 0,
+ 1151663.3 823497.039 0, 1151380.442 823488.121 0, 1151097.584 823479.219 0, 1150814.725 823470.334 0, 1150531.866 823461.466 0, 1150249.006 823452.614 0, 1149966.146 823443.779 0, 1149683.285 823434.961 0, 1149399.079 823426.117 0, 1149225.83 828999.122 0,
+ 1149052.576 834572.334 0, 1149336.123 834581.157 0, 1149618.327 834589.955 0, 1149900.532 834598.77 0, 1150182.736 834607.601 0, 1150464.939 834616.448 0, 1150747.142 834625.313 0, 1151029.344 834634.194 0, 1151311.546 834643.091 0, 1151593.747 834652.006 0,
+ 1151875.947 834660.936 0, 1152158.148 834669.884 0, 1152440.347 834678.848 0, 1152722.546 834687.828 0, 1153004.745 834696.826 0, 1153286.943 834705.84 0, 1153569.14 834714.87 0, 1153851.337 834723.917 0, 1154133.534 834732.981 0, 1154415.73 834742.061 0,
+ 1154697.925 834751.158 0, 1154980.12 834760.272 0, 1155262.314 834769.402 0, 1155544.508 834778.548 0, 1155825.361 834787.668 0, 1156108.894 834796.892 0, 1156391.086 834806.088 0, 1156673.277 834815.301 0, 1156955.468 834824.531 0, 1157237.659 834833.778 0,
+ 1157519.849 834843.041 0, 1157802.038 834852.32 0, 1158084.227 834861.616 0, 1158366.415 834870.929 0, 1158648.603 834880.259 0, 1158930.79 834889.605 0, 1159212.977 834898.967 0, 1159495.163 834908.347 0, 1159777.349 834917.743 0, 1160059.534 834927.155 0,
+ 1160341.718 834936.584 0, 1160623.902 834946.03 0, 1160906.085 834955.492 0, 1161188.268 834964.971 0, 1161470.45 834974.467 0, 1161752.632 834983.979 0, 1162034.813 834993.507 0, 1162316.994 835003.053 0, 1162597.834 835012.569 0, 1162786.834 829439.869 0,
+ 1162975.826 823867.376 0))
+
+POLYGON ((1176141.796 835491.071 0, 1175860.981 835480.761 0, 1175578.828 835470.418 0, 1175296.675 835460.092 0, 1175014.521 835449.783 0, 1174732.367 835439.49 0, 1174450.212 835429.214 0, 1174168.057 835418.955 0, 1173885.901 835408.712 0, 1173603.744 835398.486 0,
+ 1173321.587 835388.276 0, 1173039.429 835378.083 0, 1172757.27 835367.906 0, 1172475.111 835357.747 0, 1172192.952 835347.603 0, 1171910.791 835337.477 0, 1171628.63 835327.367 0, 1171346.469 835317.273 0, 1171064.307 835307.196 0, 1170782.144 835297.136 0,
+ 1170499.981 835287.093 0, 1170217.817 835277.066 0, 1169935.653 835267.055 0, 1169653.488 835257.061 0, 1169369.984 835247.037 0, 1169089.156 835237.124 0, 1168806.989 835227.18 0, 1168524.822 835217.252 0, 1168242.654 835207.342 0, 1167960.485 835197.448 0,
+ 1167678.316 835187.57 0, 1167396.147 835177.709 0, 1167113.976 835167.865 0, 1166831.805 835158.037 0, 1166549.634 835148.226 0, 1166267.462 835138.432 0, 1165985.289 835128.654 0, 1165703.116 835118.892 0, 1165420.942 835109.148 0, 1165138.768 835099.42 0,
+ 1164856.593 835089.708 0, 1164574.418 835080.014 0, 1164292.242 835070.335 0, 1164010.065 835060.674 0, 1163727.888 835051.029 0, 1163445.71 835041.4 0, 1163163.532 835031.789 0, 1162881.353 835022.193 0, 1162597.834 835012.569 0, 1162408.828 840585.473 0,
+ 1162219.815 846158.575 0, 1162502.675 846168.177 0, 1162784.198 846177.75 0, 1163065.72 846187.339 0, 1163347.242 846196.945 0, 1163628.763 846206.568 0, 1163910.283 846216.207 0, 1164191.803 846225.863 0, 1164473.323 846235.535 0, 1164754.842 846245.224 0,
+ 1165036.36 846254.929 0, 1165317.878 846264.651 0, 1165599.395 846274.39 0, 1165880.911 846284.145 0, 1166162.427 846293.917 0, 1166443.943 846303.705 0, 1166725.458 846313.51 0, 1167006.972 846323.331 0, 1167288.486 846333.169 0, 1167569.999 846343.024 0,
+ 1167851.511 846352.895 0, 1168133.023 846362.783 0, 1168414.534 846372.687 0, 1168696.045 846382.608 0, 1168976.22 846392.498 0, 1169259.065 846402.499 0, 1169540.574 846412.47 0, 1169822.083 846422.457 0, 1170103.59 846432.46 0, 1170385.098 846442.481 0,
+ 1170666.604 846452.518 0, 1170948.11 846462.571 0, 1171229.616 846472.641 0, 1171511.121 846482.727 0, 1171792.625 846492.83 0, 1172074.129 846502.95 0, 1172355.632 846513.086 0, 1172637.134 846523.239 0, 1172918.636 846533.408 0, 1173200.138 846543.594 0,
+ 1173481.638 846553.797 0, 1173763.138 846564.016 0, 1174044.638 846574.252 0, 1174326.137 846584.504 0, 1174607.635 846594.773 0, 1174889.133 846605.058 0, 1175170.63 846615.36 0, 1175452.126 846625.678 0, 1175732.288 846635.964 0, 1175937.046 841063.418 0,
+ 1176141.796 835491.071 0))
+
+POLYGON ((1189243.359 847151.527 0, 1188963.225 847140.449 0, 1188681.759 847129.335 0, 1188400.292 847118.238 0, 1188118.824 847107.158 0, 1187837.356 847096.094 0, 1187555.887 847085.046 0, 1187274.418 847074.015 0, 1186992.948 847063.001 0, 1186711.477 847052.003 0,
+ 1186430.005 847041.022 0, 1186148.533 847030.057 0, 1185867.061 847019.109 0, 1185585.587 847008.178 0, 1185304.113 846997.263 0, 1185022.639 846986.365 0, 1184741.163 846975.483 0, 1184459.688 846964.618 0, 1184178.211 846953.769 0, 1183896.734 846942.937 0,
+ 1183615.256 846932.121 0, 1183333.778 846921.322 0, 1183052.298 846910.54 0, 1182770.819 846899.774 0, 1182488.006 846888.974 0, 1182207.857 846878.292 0, 1181926.376 846867.576 0, 1181644.893 846856.877 0, 1181363.411 846846.194 0, 1181081.927 846835.527 0,
+ 1180800.443 846824.877 0, 1180518.958 846814.244 0, 1180237.473 846803.627 0, 1179955.987 846793.027 0, 1179674.5 846782.444 0, 1179393.013 846771.877 0, 1179111.525 846761.326 0, 1178830.036 846750.792 0, 1178548.547 846740.275 0, 1178267.058 846729.774 0,
+ 1177985.567 846719.29 0, 1177704.076 846708.823 0, 1177422.585 846698.372 0, 1177141.092 846687.937 0, 1176859.6 846677.519 0, 1176578.106 846667.118 0, 1176296.612 846656.733 0, 1176015.117 846646.365 0, 1175732.288 846635.964 0, 1175527.524 852208.707 0,
+ 1175322.752 857781.641 0, 1175604.922 857792.017 0, 1175885.761 857802.361 0, 1176166.599 857812.722 0, 1176447.437 857823.099 0, 1176728.273 857833.492 0, 1177009.11 857843.902 0, 1177289.945 857854.329 0, 1177570.78 857864.772 0, 1177851.614 857875.232 0,
+ 1178132.448 857885.708 0, 1178413.281 857896.201 0, 1178694.114 857906.71 0, 1178974.946 857917.236 0, 1179255.777 857927.779 0, 1179536.608 857938.338 0, 1179817.438 857948.913 0, 1180098.267 857959.505 0, 1180379.096 857970.113 0, 1180659.924 857980.738 0,
+ 1180940.752 857991.38 0, 1181221.578 858002.038 0, 1181502.405 858012.713 0, 1181783.23 858023.404 0, 1182062.726 858034.061 0, 1182344.88 858044.836 0, 1182625.704 858055.576 0, 1182906.527 858066.334 0, 1183187.349 858077.107 0, 1183468.171 858087.898 0,
+ 1183748.992 858098.705 0, 1184029.813 858109.528 0, 1184310.633 858120.368 0, 1184591.452 858131.224 0, 1184872.271 858142.097 0, 1185153.089 858152.987 0, 1185433.906 858163.893 0, 1185714.723 858174.815 0, 1185995.539 858185.754 0, 1186276.354 858196.71 0,
+ 1186557.169 858207.682 0, 1186837.983 858218.671 0, 1187118.797 858229.676 0, 1187399.61 858240.698 0, 1187680.422 858251.736 0, 1187961.234 858262.79 0, 1188242.044 858273.862 0, 1188522.855 858284.95 0, 1188802.336 858296.001 0, 1189022.851 852723.668 0,
+ 1189243.359 847151.527 0))
+
+POLYGON ((1202280.412 858848.442 0, 1202000.961 858836.601 0, 1201720.184 858824.72 0, 1201439.405 858812.855 0, 1201158.626 858801.007 0, 1200877.846 858789.176 0, 1200597.065 858777.361 0, 1200316.284 858765.562 0, 1200035.502 858753.78 0, 1199754.719 858742.015 0,
+ 1199473.936 858730.266 0, 1199193.152 858718.533 0, 1198912.367 858706.818 0, 1198631.582 858695.118 0, 1198350.796 858683.435 0, 1198070.009 858671.769 0, 1197789.221 858660.119 0, 1197508.433 858648.486 0, 1197227.644 858636.87 0, 1196946.855 858625.269 0,
+ 1196666.064 858613.686 0, 1196385.273 858602.119 0, 1196104.482 858590.568 0, 1195823.69 858579.034 0, 1195541.569 858567.462 0, 1195262.103 858556.015 0, 1194981.309 858544.531 0, 1194700.514 858533.063 0, 1194419.718 858521.612 0, 1194138.922 858510.177 0,
+ 1193858.125 858498.758 0, 1193577.327 858487.357 0, 1193296.529 858475.971 0, 1193015.729 858464.602 0, 1192734.93 858453.25 0, 1192454.129 858441.914 0, 1192173.328 858430.595 0, 1191892.527 858419.293 0, 1191611.724 858408.006 0, 1191330.921 858396.737 0,
+ 1191050.118 858385.484 0, 1190769.313 858374.247 0, 1190488.508 858363.027 0, 1190207.703 858351.824 0, 1189926.896 858340.637 0, 1189646.089 858329.466 0, 1189365.282 858318.312 0, 1189084.473 858307.175 0, 1188802.336 858296.001 0, 1188581.813 863868.523 0,
+ 1188361.283 869441.229 0, 1188642.762 869452.376 0, 1188922.914 869463.487 0, 1189203.066 869474.615 0, 1189483.217 869485.76 0, 1189763.367 869496.921 0, 1190043.517 869508.098 0, 1190323.666 869519.292 0, 1190603.814 869530.502 0, 1190883.962 869541.729 0,
+ 1191164.109 869552.972 0, 1191444.255 869564.232 0, 1191724.401 869575.508 0, 1192004.546 869586.801 0, 1192284.69 869598.11 0, 1192564.834 869609.436 0, 1192844.977 869620.778 0, 1193125.12 869632.137 0, 1193405.261 869643.512 0, 1193685.402 869654.904 0,
+ 1193965.543 869666.312 0, 1194245.682 869677.737 0, 1194525.822 869689.178 0, 1194805.96 869700.635 0, 1195084.773 869712.055 0, 1195366.235 869723.6 0, 1195646.371 869735.107 0, 1195926.507 869746.631 0, 1196206.642 869758.171 0, 1196486.776 869769.728 0,
+ 1196766.91 869781.301 0, 1197047.042 869792.89 0, 1197327.175 869804.496 0, 1197607.306 869816.119 0, 1197887.437 869827.758 0, 1198167.567 869839.413 0, 1198447.697 869851.085 0, 1198727.826 869862.774 0, 1199007.954 869874.479 0, 1199288.081 869886.2 0,
+ 1199568.208 869897.938 0, 1199848.334 869909.693 0, 1200128.46 869921.463 0, 1200408.584 869933.251 0, 1200688.708 869945.055 0, 1200968.832 869956.875 0, 1201248.954 869968.712 0, 1201529.076 869980.565 0, 1201807.874 869992.379 0, 1202044.147 864420.319 0,
+ 1202280.412 858848.442 0))
+
+POLYGON ((1215252.854 870581.516 0, 1214974.089 870568.915 0, 1214694.001 870556.27 0, 1214413.913 870543.642 0, 1214133.825 870531.03 0, 1213853.735 870518.435 0, 1213573.645 870505.856 0, 1213293.554 870493.294 0, 1213013.462 870480.748 0, 1212733.369 870468.219 0,
+ 1212453.276 870455.706 0, 1212173.182 870443.21 0, 1211893.088 870430.73 0, 1211612.992 870418.267 0, 1211332.896 870405.82 0, 1211052.799 870393.389 0, 1210772.702 870380.975 0, 1210492.603 870368.578 0, 1210212.504 870356.197 0, 1209932.404 870343.833 0,
+ 1209652.304 870331.485 0, 1209372.202 870319.153 0, 1209092.1 870306.838 0, 1208811.998 870294.54 0, 1208530.572 870282.2 0, 1208251.79 870269.992 0, 1207971.685 870257.743 0, 1207691.58 870245.511 0, 1207411.473 870233.294 0, 1207131.366 870221.095 0,
+ 1206851.259 870208.912 0, 1206571.15 870196.745 0, 1206291.041 870184.595 0, 1206010.931 870172.461 0, 1205730.82 870160.344 0, 1205450.709 870148.244 0, 1205170.597 870136.159 0, 1204890.484 870124.092 0, 1204610.371 870112.04 0, 1204330.257 870100.006 0,
+ 1204050.142 870087.988 0, 1203770.026 870075.986 0, 1203489.91 870064.001 0, 1203209.793 870052.032 0, 1202929.675 870040.079 0, 1202649.557 870028.144 0, 1202369.438 870016.224 0, 1202089.318 870004.322 0, 1201807.874 869992.379 0, 1201571.594 875564.62 0,
+ 1201335.305 881137.038 0, 1201616.09 881148.953 0, 1201895.554 881160.828 0, 1202175.017 881172.719 0, 1202454.479 881184.627 0, 1202733.941 881196.551 0, 1203013.402 881208.492 0, 1203292.863 881220.449 0, 1203572.322 881232.423 0, 1203851.781 881244.413 0,
+ 1204131.239 881256.419 0, 1204410.697 881268.442 0, 1204690.154 881280.482 0, 1204969.61 881292.538 0, 1205249.065 881304.61 0, 1205528.52 881316.699 0, 1205807.974 881328.804 0, 1206087.427 881340.926 0, 1206366.88 881353.064 0, 1206646.332 881365.218 0,
+ 1206925.783 881377.389 0, 1207205.233 881389.577 0, 1207484.683 881401.781 0, 1207764.132 881414.001 0, 1208042.261 881426.18 0, 1208323.028 881438.491 0, 1208602.474 881450.761 0, 1208881.92 881463.047 0, 1209161.366 881475.35 0, 1209440.81 881487.669 0,
+ 1209720.254 881500.004 0, 1209999.698 881512.356 0, 1210279.14 881524.725 0, 1210558.582 881537.109 0, 1210838.023 881549.511 0, 1211117.463 881561.928 0, 1211396.903 881574.363 0, 1211676.341 881586.813 0, 1211955.779 881599.28 0, 1212235.217 881611.764 0,
+ 1212514.653 881624.264 0, 1212794.089 881636.78 0, 1213073.524 881649.313 0, 1213352.959 881661.862 0, 1213632.392 881674.428 0, 1213911.825 881687.01 0, 1214191.257 881699.609 0, 1214470.689 881712.224 0, 1214748.802 881724.796 0, 1215000.832 876153.068 0,
+ 1215252.854 870581.516 0))
+
+POLYGON ((1228160.584 882350.447 0, 1227882.506 882337.089 0, 1227603.111 882323.685 0, 1227323.716 882310.297 0, 1227044.319 882296.925 0, 1226764.922 882283.57 0, 1226485.524 882270.231 0, 1226206.126 882256.909 0, 1225926.726 882243.603 0, 1225647.326 882230.314 0,
+ 1225367.925 882217.041 0, 1225088.524 882203.784 0, 1224809.121 882190.544 0, 1224529.718 882177.321 0, 1224250.314 882164.114 0, 1223970.909 882150.923 0, 1223691.503 882137.749 0, 1223412.097 882124.591 0, 1223132.69 882111.449 0, 1222853.282 882098.324 0,
+ 1222573.873 882085.216 0, 1222294.464 882072.124 0, 1222015.053 882059.048 0, 1221735.642 882045.989 0, 1221454.914 882032.885 0, 1221176.818 882019.92 0, 1220897.405 882006.91 0, 1220617.991 881993.917 0, 1220338.576 881980.94 0, 1220059.16 881967.98 0,
+ 1219779.744 881955.036 0, 1219500.327 881942.108 0, 1219220.909 881929.197 0, 1218941.49 881916.302 0, 1218662.071 881903.424 0, 1218382.65 881890.562 0, 1218103.229 881877.717 0, 1217823.808 881864.888 0, 1217544.385 881852.076 0, 1217264.962 881839.28 0,
+ 1216985.538 881826.5 0, 1216706.113 881813.737 0, 1216426.688 881800.99 0, 1216147.262 881788.26 0, 1215867.835 881775.546 0, 1215588.407 881762.849 0, 1215308.979 881750.168 0, 1215029.549 881737.504 0, 1214748.802 881724.796 0, 1214496.764 887296.697 0,
+ 1214244.718 892868.767 0, 1214524.807 892881.445 0, 1214803.58 892894.08 0, 1215082.352 892906.731 0, 1215361.124 892919.399 0, 1215639.895 892932.083 0, 1215918.666 892944.783 0, 1216197.435 892957.5 0, 1216476.204 892970.233 0, 1216754.972 892982.982 0,
+ 1217033.739 892995.748 0, 1217312.506 893008.531 0, 1217591.272 893021.329 0, 1217870.037 893034.145 0, 1218148.801 893046.976 0, 1218427.564 893059.824 0, 1218706.327 893072.689 0, 1218985.089 893085.57 0, 1219263.851 893098.467 0, 1219542.611 893111.38 0,
+ 1219821.371 893124.31 0, 1220100.13 893137.257 0, 1220378.888 893150.22 0, 1220657.645 893163.199 0, 1220935.089 893176.133 0, 1221215.158 893189.207 0, 1221493.913 893202.235 0, 1221772.668 893215.28 0, 1222051.421 893228.341 0, 1222330.174 893241.419 0,
+ 1222608.926 893254.513 0, 1222887.677 893267.624 0, 1223166.428 893280.751 0, 1223445.178 893293.894 0, 1223723.927 893307.054 0, 1224002.675 893320.23 0, 1224281.422 893333.423 0, 1224560.169 893346.631 0, 1224838.915 893359.857 0, 1225117.66 893373.099 0,
+ 1225396.404 893386.357 0, 1225675.148 893399.631 0, 1225953.891 893412.922 0, 1226232.633 893426.23 0, 1226511.374 893439.554 0, 1226790.114 893452.894 0, 1227068.854 893466.25 0, 1227347.593 893479.623 0, 1227625.019 893492.95 0, 1227892.805 887921.614 0,
+ 1228160.584 882350.447 0))
+
+POLYGON ((1241003.502 894154.931 0, 1240726.113 894140.821 0, 1240447.413 894126.661 0, 1240168.713 894112.517 0, 1239890.011 894098.389 0, 1239611.308 894084.278 0, 1239332.605 894070.183 0, 1239053.901 894056.105 0, 1238775.196 894042.042 0, 1238496.49 894027.997 0,
+ 1238217.784 894013.968 0, 1237939.076 893999.955 0, 1237660.368 893985.958 0, 1237381.659 893971.978 0, 1237102.949 893958.015 0, 1236824.239 893944.068 0, 1236545.527 893930.137 0, 1236266.815 893916.222 0, 1235988.102 893902.324 0, 1235709.388 893888.443 0,
+ 1235430.673 893874.578 0, 1235151.957 893860.729 0, 1234873.241 893846.896 0, 1234594.523 893833.08 0, 1234314.494 893819.216 0, 1234037.087 893805.498 0, 1233758.367 893791.731 0, 1233479.646 893777.981 0, 1233200.925 893764.247 0, 1232922.203 893750.529 0,
+ 1232643.48 893736.828 0, 1232364.756 893723.143 0, 1232086.032 893709.475 0, 1231807.307 893695.823 0, 1231528.58 893682.188 0, 1231249.853 893668.568 0, 1230971.126 893654.966 0, 1230692.397 893641.379 0, 1230413.668 893627.81 0, 1230134.938 893614.256 0,
+ 1229856.207 893600.719 0, 1229577.475 893587.198 0, 1229298.743 893573.694 0, 1229020.009 893560.206 0, 1228741.275 893546.735 0, 1228462.54 893533.28 0, 1228183.805 893519.841 0, 1227905.068 893506.419 0, 1227625.019 893492.95 0, 1227357.224 899064.451 0,
+ 1227089.421 904636.114 0, 1227368.812 904649.551 0, 1227646.892 904662.942 0, 1227924.972 904676.349 0, 1228203.051 904689.772 0, 1228481.13 904703.212 0, 1228759.207 904716.668 0, 1229037.284 904730.141 0, 1229315.36 904743.629 0, 1229593.435 904757.135 0,
+ 1229871.509 904770.656 0, 1230149.582 904784.194 0, 1230427.655 904797.749 0, 1230705.727 904811.319 0, 1230983.798 904824.906 0, 1231261.868 904838.51 0, 1231539.938 904852.13 0, 1231818.006 904865.766 0, 1232096.074 904879.418 0, 1232374.141 904893.087 0,
+ 1232652.208 904906.772 0, 1232930.273 904920.474 0, 1233208.338 904934.192 0, 1233486.402 904947.926 0, 1233763.157 904961.612 0, 1234042.527 904975.444 0, 1234320.588 904989.228 0, 1234598.649 905003.028 0, 1234876.709 905016.844 0, 1235154.768 905030.676 0,
+ 1235432.826 905044.525 0, 1235710.883 905058.39 0, 1235988.94 905072.272 0, 1236266.996 905086.17 0, 1236545.05 905100.085 0, 1236823.105 905114.015 0, 1237101.158 905127.962 0, 1237379.21 905141.926 0, 1237657.262 905155.906 0, 1237935.313 905169.902 0,
+ 1238213.363 905183.915 0, 1238491.412 905197.944 0, 1238769.46 905211.989 0, 1239047.508 905226.051 0, 1239325.554 905240.129 0, 1239603.6 905254.223 0, 1239881.645 905268.334 0, 1240159.689 905282.461 0, 1240436.426 905296.538 0, 1240719.968 899725.654 0,
+ 1241003.502 894154.931 0))
+
+POLYGON ((1253781.511 905994.667 0, 1253504.813 905979.808 0, 1253226.81 905964.895 0, 1252948.806 905949.999 0, 1252670.801 905935.119 0, 1252392.796 905920.256 0, 1252114.789 905905.409 0, 1251836.781 905890.578 0, 1251558.773 905875.763 0, 1251280.764 905860.965 0,
+ 1251002.754 905846.184 0, 1250724.743 905831.418 0, 1250446.731 905816.669 0, 1250168.718 905801.937 0, 1249890.704 905787.22 0, 1249612.69 905772.521 0, 1249334.674 905757.837 0, 1249056.658 905743.17 0, 1248778.641 905728.519 0, 1248500.623 905713.885 0,
+ 1248222.604 905699.267 0, 1247944.585 905684.665 0, 1247666.564 905670.079 0, 1247388.543 905655.511 0, 1247109.215 905640.89 0, 1246832.498 905626.422 0, 1246554.474 905611.902 0, 1246276.449 905597.398 0, 1245998.423 905582.911 0, 1245720.397 905568.44 0,
+ 1245442.369 905553.986 0, 1245164.341 905539.548 0, 1244886.312 905525.126 0, 1244608.282 905510.721 0, 1244330.251 905496.332 0, 1244052.22 905481.959 0, 1243774.187 905467.603 0, 1243496.154 905453.263 0, 1243218.12 905438.939 0, 1242940.085 905424.632 0,
+ 1242662.049 905410.342 0, 1242384.013 905396.067 0, 1242105.975 905381.809 0, 1241827.937 905367.567 0, 1241549.898 905353.342 0, 1241271.858 905339.133 0, 1240993.817 905324.94 0, 1240715.775 905310.764 0, 1240436.426 905296.538 0, 1240152.875 910867.579 0,
+ 1239869.317 916438.775 0, 1240148.007 916452.967 0, 1240425.393 916467.11 0, 1240702.778 916481.269 0, 1240980.162 916495.445 0, 1241257.546 916509.637 0, 1241534.928 916523.845 0, 1241812.31 916538.069 0, 1242089.691 916552.31 0, 1242367.071 916566.567 0,
+ 1242644.45 916580.84 0, 1242921.828 916595.13 0, 1243199.206 916609.436 0, 1243476.583 916623.759 0, 1243753.958 916638.097 0, 1244031.333 916652.452 0, 1244308.708 916666.824 0, 1244586.081 916681.211 0, 1244863.453 916695.615 0, 1245140.825 916710.036 0,
+ 1245418.196 916724.472 0, 1245695.565 916738.925 0, 1245972.934 916753.395 0, 1246250.303 916767.88 0, 1246526.367 916782.314 0, 1246805.036 916796.901 0, 1247082.402 916811.435 0, 1247359.767 916825.986 0, 1247637.131 916840.553 0, 1247914.494 916855.137 0,
+ 1248191.856 916869.737 0, 1248469.217 916884.353 0, 1248746.578 916898.986 0, 1249023.937 916913.635 0, 1249301.296 916928.3 0, 1249578.654 916942.981 0, 1249856.011 916957.679 0, 1250133.367 916972.393 0, 1250410.722 916987.124 0, 1250688.077 917001.871 0,
+ 1250965.43 917016.634 0, 1251242.783 917031.413 0, 1251520.135 917046.209 0, 1251797.486 917061.021 0, 1252074.836 917075.85 0, 1252352.185 917090.695 0, 1252629.533 917105.556 0, 1252906.881 917120.433 0, 1253182.926 917135.257 0, 1253482.223 911564.885 0,
+ 1253781.511 905994.667 0))
+
+POLYGON ((1266494.514 917869.35 0, 1266218.51 917853.746 0, 1265941.205 917838.085 0, 1265663.9 917822.441 0, 1265386.594 917806.812 0, 1265109.287 917791.2 0, 1264831.979 917775.605 0, 1264554.67 917760.025 0, 1264277.36 917744.462 0, 1264000.049 917728.916 0,
+ 1263722.738 917713.385 0, 1263445.425 917697.871 0, 1263168.112 917682.374 0, 1262890.797 917666.892 0, 1262613.482 917651.427 0, 1262336.166 917635.978 0, 1262058.849 917620.546 0, 1261781.531 917605.13 0, 1261504.212 917589.73 0, 1261226.892 917574.347 0,
+ 1260949.571 917558.98 0, 1260672.25 917543.629 0, 1260394.927 917528.294 0, 1260117.604 917512.976 0, 1259838.979 917497.603 0, 1259562.954 917482.389 0, 1259285.628 917467.12 0, 1259008.301 917451.867 0, 1258730.973 917436.63 0, 1258453.644 917421.41 0,
+ 1258176.314 917406.206 0, 1257898.984 917391.018 0, 1257621.652 917375.847 0, 1257344.32 917360.692 0, 1257066.987 917345.554 0, 1256789.652 917330.431 0, 1256512.317 917315.325 0, 1256234.981 917300.236 0, 1255957.644 917285.162 0, 1255680.307 917270.105 0,
+ 1255402.968 917255.065 0, 1255125.629 917240.04 0, 1254848.288 917225.032 0, 1254570.947 917210.041 0, 1254293.605 917195.065 0, 1254016.262 917180.106 0, 1253738.918 917165.163 0, 1253461.573 917150.237 0, 1253182.926 917135.257 0, 1252883.621 922705.779 0,
+ 1252584.308 928276.446 0, 1252862.296 928291.391 0, 1253138.986 928306.282 0, 1253415.674 928321.19 0, 1253692.361 928336.113 0, 1253969.047 928351.053 0, 1254245.733 928366.009 0, 1254522.418 928380.982 0, 1254799.101 928395.971 0, 1255075.784 928410.976 0,
+ 1255352.466 928425.997 0, 1255629.148 928441.035 0, 1255905.828 928456.089 0, 1256182.507 928471.159 0, 1256459.186 928486.246 0, 1256735.863 928501.349 0, 1257012.54 928516.468 0, 1257289.216 928531.603 0, 1257565.891 928546.755 0, 1257842.565 928561.923 0,
+ 1258119.238 928577.107 0, 1258395.91 928592.307 0, 1258672.581 928607.524 0, 1258949.252 928622.757 0, 1259224.624 928637.935 0, 1259502.59 928653.272 0, 1259779.258 928668.554 0, 1260055.925 928683.853 0, 1260332.59 928699.167 0, 1260609.256 928714.498 0,
+ 1260885.92 928729.845 0, 1261162.583 928745.208 0, 1261439.245 928760.588 0, 1261715.907 928775.984 0, 1261992.567 928791.396 0, 1262269.227 928806.825 0, 1262545.886 928822.269 0, 1262822.543 928837.731 0, 1263099.2 928853.208 0, 1263375.856 928868.702 0,
+ 1263652.511 928884.211 0, 1263929.165 928899.738 0, 1264205.819 928915.28 0, 1264482.471 928930.839 0, 1264759.122 928946.414 0, 1265035.773 928962.005 0, 1265312.422 928977.613 0, 1265589.071 928993.237 0, 1265864.423 929008.804 0, 1266179.472 923439.004 0,
+ 1266494.514 917869.35 0))
+
+POLYGON ((1279142.415 929778.677 0, 1278867.106 929762.332 0, 1278590.503 929745.927 0, 1278313.899 929729.537 0, 1278037.293 929713.165 0, 1277760.687 929696.808 0, 1277484.08 929680.468 0, 1277207.472 929664.144 0, 1276930.862 929647.836 0, 1276654.252 929631.544 0,
+ 1276377.641 929615.269 0, 1276101.029 929599.01 0, 1275824.416 929582.768 0, 1275547.802 929566.541 0, 1275271.187 929550.331 0, 1274994.571 929534.138 0, 1274717.955 929517.96 0, 1274441.337 929501.799 0, 1274164.718 929485.654 0, 1273888.098 929469.525 0,
+ 1273611.478 929453.413 0, 1273334.856 929437.317 0, 1273058.234 929421.237 0, 1272781.61 929405.173 0, 1272503.691 929389.051 0, 1272228.36 929373.095 0, 1271951.734 929357.081 0, 1271675.107 929341.082 0, 1271398.479 929325.1 0, 1271121.85 929309.134 0,
+ 1270845.219 929293.185 0, 1270568.588 929277.251 0, 1270291.956 929261.334 0, 1270015.324 929245.434 0, 1269738.69 929229.549 0, 1269462.055 929213.681 0, 1269185.419 929197.829 0, 1268908.783 929181.994 0, 1268632.145 929166.174 0, 1268355.507 929150.371 0,
+ 1268078.867 929134.585 0, 1267802.227 929118.814 0, 1267525.586 929103.06 0, 1267248.944 929087.322 0, 1266972.3 929071.601 0, 1266695.656 929055.895 0, 1266419.011 929040.206 0, 1266142.366 929024.534 0, 1265864.423 929008.804 0, 1265549.365 934578.746 0,
+ 1265234.3 940148.825 0, 1265511.584 940164.518 0, 1265787.574 940180.153 0, 1266063.563 940195.805 0, 1266339.551 940211.473 0, 1266615.539 940227.158 0, 1266891.525 940242.858 0, 1267167.511 940258.575 0, 1267443.496 940274.308 0, 1267719.479 940290.058 0,
+ 1267995.462 940305.823 0, 1268271.444 940321.605 0, 1268547.425 940337.403 0, 1268823.405 940353.217 0, 1269099.384 940369.048 0, 1269375.362 940384.895 0, 1269651.34 940400.758 0, 1269927.316 940416.637 0, 1270203.291 940432.532 0, 1270479.266 940448.444 0,
+ 1270755.239 940464.372 0, 1271031.212 940480.316 0, 1271307.183 940496.277 0, 1271583.154 940512.254 0, 1271857.832 940528.172 0, 1272135.093 940544.256 0, 1272411.06 940560.281 0, 1272687.027 940576.323 0, 1272962.993 940592.381 0, 1273238.958 940608.455 0,
+ 1273514.922 940624.545 0, 1273790.885 940640.652 0, 1274066.848 940656.775 0, 1274342.809 940672.914 0, 1274618.769 940689.07 0, 1274894.728 940705.241 0, 1275170.687 940721.429 0, 1275446.644 940737.633 0, 1275722.601 940753.854 0, 1275998.556 940770.09 0,
+ 1276274.511 940786.343 0, 1276550.464 940802.612 0, 1276826.417 940818.897 0, 1277102.369 940835.199 0, 1277378.319 940851.517 0, 1277654.269 940867.851 0, 1277930.218 940884.201 0, 1278206.166 940900.568 0, 1278480.822 940916.874 0, 1278811.623 935347.706 0,
+ 1279142.415 929778.677 0))
+
+POLYGON ((1291725.122 941722.343 0, 1291450.51 941705.261 0, 1291174.61 941688.115 0, 1290898.708 941670.985 0, 1290622.806 941653.871 0, 1290346.902 941636.774 0, 1290070.998 941619.693 0, 1289795.092 941602.628 0, 1289519.186 941585.579 0, 1289243.278 941568.547 0,
+ 1288967.37 941551.531 0, 1288691.46 941534.531 0, 1288415.55 941517.547 0, 1288139.638 941500.58 0, 1287863.726 941483.629 0, 1287587.812 941466.694 0, 1287311.898 941449.775 0, 1287035.982 941432.872 0, 1286760.066 941415.986 0, 1286484.148 941399.116 0,
+ 1286208.23 941382.262 0, 1285932.31 941365.425 0, 1285656.39 941348.603 0, 1285380.468 941331.798 0, 1285103.256 941314.931 0, 1284828.622 941298.237 0, 1284552.698 941281.481 0, 1284276.772 941264.741 0, 1284000.846 941248.017 0, 1283724.919 941231.309 0,
+ 1283448.99 941214.618 0, 1283173.061 941197.943 0, 1282897.131 941181.284 0, 1282621.199 941164.641 0, 1282345.267 941148.015 0, 1282069.334 941131.405 0, 1281793.399 941114.811 0, 1281517.464 941098.233 0, 1281241.528 941081.672 0, 1280965.591 941065.126 0,
+ 1280689.653 941048.597 0, 1280413.714 941032.085 0, 1280137.773 941015.588 0, 1279861.832 940999.108 0, 1279585.89 940982.644 0, 1279309.947 940966.196 0, 1279034.003 940949.765 0, 1278758.058 940933.35 0, 1278480.822 940916.874 0, 1278150.013 946486.175 0,
+ 1277819.197 952055.607 0, 1278095.775 952072.044 0, 1278371.064 952088.42 0, 1278646.352 952104.813 0, 1278921.64 952121.221 0, 1279196.926 952137.646 0, 1279472.212 952154.087 0, 1279747.496 952170.544 0, 1280022.78 952187.018 0, 1280298.062 952203.508 0,
+ 1280573.344 952220.013 0, 1280848.625 952236.536 0, 1281123.904 952253.074 0, 1281399.183 952269.628 0, 1281674.461 952286.199 0, 1281949.737 952302.786 0, 1282225.013 952319.389 0, 1282500.288 952336.008 0, 1282775.562 952352.644 0, 1283050.834 952369.296 0,
+ 1283326.106 952385.963 0, 1283601.377 952402.648 0, 1283876.647 952419.348 0, 1284151.916 952436.064 0, 1284425.897 952452.719 0, 1284702.451 952469.546 0, 1284977.717 952486.311 0, 1285252.981 952503.093 0, 1285528.245 952519.89 0, 1285803.508 952536.704 0,
+ 1286078.77 952553.534 0, 1286354.031 952570.38 0, 1286629.291 952587.242 0, 1286904.55 952604.121 0, 1287179.808 952621.015 0, 1287455.065 952637.926 0, 1287730.321 952654.853 0, 1288005.576 952671.797 0, 1288280.83 952688.756 0, 1288556.083 952705.732 0,
+ 1288831.335 952722.724 0, 1289106.586 952739.732 0, 1289381.836 952756.756 0, 1289657.085 952773.797 0, 1289932.333 952790.854 0, 1290207.58 952807.927 0, 1290482.826 952825.016 0, 1290758.071 952842.121 0, 1291032.03 952859.163 0, 1291378.58 947290.688 0,
+ 1291725.122 941722.343 0))
+
+POLYGON ((1304242.541 953700.044 0, 1303968.629 953682.228 0, 1303693.433 953664.345 0, 1303418.237 953646.479 0, 1303143.039 953628.628 0, 1302867.84 953610.794 0, 1302592.641 953592.976 0, 1302317.44 953575.174 0, 1302042.238 953557.388 0, 1301767.035 953539.619 0,
+ 1301491.831 953521.865 0, 1301216.626 953504.128 0, 1300941.42 953486.407 0, 1300666.213 953468.702 0, 1300391.005 953451.014 0, 1300115.796 953433.342 0, 1299840.585 953415.686 0, 1299565.374 953398.046 0, 1299290.162 953380.422 0, 1299014.949 953362.814 0,
+ 1298739.734 953345.223 0, 1298464.519 953327.648 0, 1298189.302 953310.089 0, 1297914.085 953292.546 0, 1297637.582 953274.938 0, 1297363.647 953257.509 0, 1297088.426 953240.015 0, 1296813.205 953222.537 0, 1296537.982 953205.076 0, 1296262.759 953187.63 0,
+ 1295987.534 953170.201 0, 1295712.308 953152.788 0, 1295437.081 953135.391 0, 1295161.854 953118.01 0, 1294886.625 953100.645 0, 1294611.395 953083.297 0, 1294336.164 953065.965 0, 1294060.933 953048.649 0, 1293785.7 953031.349 0, 1293510.466 953014.066 0,
+ 1293235.231 952996.798 0, 1292959.995 952979.547 0, 1292684.758 952962.312 0, 1292409.52 952945.093 0, 1292134.281 952927.891 0, 1291859.041 952910.705 0, 1291583.8 952893.534 0, 1291308.558 952876.38 0, 1291032.03 952859.163 0, 1290685.473 958427.764 0,
+ 1290338.907 963996.487 0, 1290614.777 964013.664 0, 1290889.363 964030.777 0, 1291163.949 964047.906 0, 1291438.533 964065.052 0, 1291713.117 964082.213 0, 1291987.699 964099.391 0, 1292262.281 964116.585 0, 1292536.861 964133.795 0, 1292811.44 964151.021 0,
+ 1293086.019 964168.264 0, 1293360.596 964185.522 0, 1293635.172 964202.797 0, 1293909.748 964220.088 0, 1294184.322 964237.395 0, 1294458.895 964254.718 0, 1294733.468 964272.057 0, 1295008.039 964289.413 0, 1295282.609 964306.784 0, 1295557.178 964324.172 0,
+ 1295831.746 964341.576 0, 1296106.313 964358.996 0, 1296380.88 964376.433 0, 1296655.445 964393.885 0, 1296928.728 964411.272 0, 1297204.572 964428.839 0, 1297479.134 964446.339 0, 1297753.695 964463.857 0, 1298028.255 964481.39 0, 1298302.814 964498.939 0,
+ 1298577.372 964516.505 0, 1298851.928 964534.087 0, 1299126.484 964551.685 0, 1299401.039 964569.299 0, 1299675.593 964586.929 0, 1299950.145 964604.575 0, 1300224.697 964622.238 0, 1300499.248 964639.916 0, 1300773.797 964657.611 0, 1301048.346 964675.322 0,
+ 1301322.893 964693.05 0, 1301597.44 964710.793 0, 1301871.985 964728.552 0, 1302146.529 964746.328 0, 1302421.073 964764.12 0, 1302695.615 964781.928 0, 1302970.156 964799.752 0, 1303244.696 964817.592 0, 1303517.956 964835.366 0, 1303880.252 959267.644 0,
+ 1304242.541 953700.044 0))
+
+POLYGON ((1316694.581 965711.474 0, 1316421.371 965692.928 0, 1316146.883 965674.313 0, 1315872.393 965655.713 0, 1315597.902 965637.129 0, 1315323.41 965618.562 0, 1315048.917 965600.011 0, 1314774.423 965581.476 0, 1314499.928 965562.957 0, 1314225.431 965544.454 0,
+ 1313950.934 965525.967 0, 1313676.435 965507.497 0, 1313401.936 965489.043 0, 1313127.435 965470.604 0, 1312852.933 965452.183 0, 1312578.431 965433.777 0, 1312303.927 965415.387 0, 1312029.422 965397.014 0, 1311754.916 965378.656 0, 1311480.408 965360.315 0,
+ 1311205.9 965341.99 0, 1310931.391 965323.681 0, 1310656.881 965305.388 0, 1310382.369 965287.112 0, 1310106.578 965268.766 0, 1309833.343 965250.607 0, 1309558.828 965232.379 0, 1309284.312 965214.167 0, 1309009.796 965195.971 0, 1308735.278 965177.792 0,
+ 1308460.759 965159.628 0, 1308186.239 965141.481 0, 1307911.718 965123.35 0, 1307637.195 965105.235 0, 1307362.672 965087.136 0, 1307088.148 965069.053 0, 1306813.623 965050.987 0, 1306539.096 965032.936 0, 1306264.569 965014.902 0, 1305990.04 964996.884 0,
+ 1305715.51 964978.882 0, 1305440.98 964960.896 0, 1305166.448 964942.927 0, 1304891.915 964924.973 0, 1304617.381 964907.036 0, 1304342.847 964889.115 0, 1304068.311 964871.21 0, 1303793.774 964853.321 0, 1303517.956 964835.366 0, 1303155.651 970403.206 0,
+ 1302793.34 975971.16 0, 1303068.499 975989.073 0, 1303342.381 976006.919 0, 1303616.261 976024.781 0, 1303890.141 976042.66 0, 1304164.019 976060.554 0, 1304437.897 976078.465 0, 1304711.773 976096.391 0, 1304985.648 976114.334 0, 1305259.522 976132.293 0,
+ 1305533.396 976150.268 0, 1305807.268 976168.259 0, 1306081.139 976186.266 0, 1306355.009 976204.29 0, 1306628.878 976222.329 0, 1306902.745 976240.385 0, 1307176.612 976258.457 0, 1307450.478 976276.545 0, 1307724.343 976294.649 0, 1307998.206 976312.769 0,
+ 1308272.069 976330.905 0, 1308545.93 976349.057 0, 1308819.791 976367.226 0, 1309093.65 976385.41 0, 1309366.232 976403.526 0, 1309641.365 976421.828 0, 1309915.221 976440.061 0, 1310189.076 976458.31 0, 1310462.93 976476.575 0, 1310736.783 976494.856 0,
+ 1311010.635 976513.154 0, 1311284.486 976531.467 0, 1311558.335 976549.797 0, 1311832.184 976568.143 0, 1312106.031 976586.504 0, 1312379.878 976604.882 0, 1312653.723 976623.277 0, 1312927.567 976641.687 0, 1313201.411 976660.113 0, 1313475.253 976678.556 0,
+ 1313749.094 976697.014 0, 1314022.933 976715.489 0, 1314296.772 976733.98 0, 1314570.61 976752.487 0, 1314844.447 976771.01 0, 1315118.282 976789.549 0, 1315392.117 976808.104 0, 1315665.95 976826.676 0, 1315938.508 976845.177 0, 1316316.548 971278.268 0,
+ 1316694.581 965711.474 0))
+
+POLYGON ((1329081.154 977756.327 0, 1328808.647 977737.056 0, 1328534.868 977717.711 0, 1328261.087 977698.382 0, 1327987.305 977679.07 0, 1327713.521 977659.773 0, 1327439.737 977640.492 0, 1327165.952 977621.228 0, 1326892.165 977601.98 0, 1326618.377 977582.748 0,
+ 1326344.588 977563.531 0, 1326070.798 977544.332 0, 1325797.007 977525.148 0, 1325523.215 977505.98 0, 1325249.422 977486.828 0, 1324975.627 977467.693 0, 1324701.831 977448.574 0, 1324428.035 977429.47 0, 1324154.237 977410.383 0, 1323880.438 977391.312 0,
+ 1323606.638 977372.257 0, 1323332.836 977353.219 0, 1323059.034 977334.196 0, 1322785.231 977315.189 0, 1322510.153 977296.111 0, 1322237.62 977277.225 0, 1321963.813 977258.266 0, 1321690.005 977239.324 0, 1321416.196 977220.398 0, 1321142.386 977201.488 0,
+ 1320868.575 977182.595 0, 1320594.762 977163.717 0, 1320320.949 977144.856 0, 1320047.134 977126.01 0, 1319773.319 977107.181 0, 1319499.502 977088.368 0, 1319225.684 977069.571 0, 1318951.865 977050.79 0, 1318678.044 977032.025 0, 1318404.223 977013.276 0,
+ 1318130.401 976994.544 0, 1317856.577 976975.827 0, 1317582.753 976957.127 0, 1317308.927 976938.443 0, 1317035.1 976919.774 0, 1316761.272 976901.122 0, 1316487.443 976882.487 0, 1316213.613 976863.867 0, 1315938.508 976845.177 0, 1315560.46 982412.195 0,
+ 1315182.404 987979.32 0, 1315456.852 987997.966 0, 1315730.026 988016.541 0, 1316003.2 988035.132 0, 1316276.373 988053.739 0, 1316549.544 988072.363 0, 1316822.714 988091.002 0, 1317095.884 988109.658 0, 1317369.052 988128.33 0, 1317642.219 988147.017 0,
+ 1317915.385 988165.721 0, 1318188.55 988184.441 0, 1318461.713 988203.177 0, 1318734.876 988221.929 0, 1319008.038 988240.697 0, 1319281.198 988259.481 0, 1319554.357 988278.282 0, 1319827.516 988297.098 0, 1320100.673 988315.931 0, 1320373.829 988334.779 0,
+ 1320646.984 988353.644 0, 1320920.137 988372.524 0, 1321193.29 988391.421 0, 1321466.442 988410.334 0, 1321738.322 988429.175 0, 1322012.742 988448.208 0, 1322285.89 988467.169 0, 1322559.037 988486.146 0, 1322832.183 988505.139 0, 1323105.328 988524.149 0,
+ 1323378.472 988543.174 0, 1323651.614 988562.215 0, 1323924.756 988581.273 0, 1324197.896 988600.347 0, 1324471.035 988619.436 0, 1324744.173 988638.542 0, 1325017.31 988657.664 0, 1325290.446 988676.802 0, 1325563.581 988695.956 0, 1325836.715 988715.126 0,
+ 1326109.847 988734.312 0, 1326382.979 988753.514 0, 1326656.109 988772.732 0, 1326929.238 988791.967 0, 1327202.366 988811.217 0, 1327475.493 988830.484 0, 1327748.619 988849.766 0, 1328021.743 988869.065 0, 1328293.598 988888.29 0, 1328687.38 983322.256 0,
+ 1329081.154 977756.327 0))
+
+POLYGON ((1341402.171 989834.298 0, 1341130.369 989814.305 0, 1340857.3 989794.235 0, 1340584.23 989774.18 0, 1340311.159 989754.142 0, 1340038.086 989734.12 0, 1339765.013 989714.114 0, 1339491.938 989694.125 0, 1339218.862 989674.151 0, 1338945.785 989654.193 0,
+ 1338672.706 989634.251 0, 1338399.627 989614.326 0, 1338126.546 989594.416 0, 1337853.464 989574.523 0, 1337580.381 989554.646 0, 1337307.297 989534.784 0, 1337034.211 989514.939 0, 1336761.125 989495.11 0, 1336488.037 989475.297 0, 1336214.948 989455.5 0,
+ 1335941.858 989435.719 0, 1335668.767 989415.954 0, 1335395.674 989396.206 0, 1335122.581 989376.473 0, 1334848.218 989356.665 0, 1334576.39 989337.056 0, 1334303.293 989317.371 0, 1334030.195 989297.703 0, 1333757.096 989278.051 0, 1333483.995 989258.414 0,
+ 1333210.893 989238.794 0, 1332937.79 989219.19 0, 1332664.686 989199.602 0, 1332391.581 989180.03 0, 1332118.475 989160.474 0, 1331845.368 989140.934 0, 1331572.259 989121.411 0, 1331299.149 989101.903 0, 1331026.038 989082.411 0, 1330752.926 989062.936 0,
+ 1330479.813 989043.477 0, 1330206.699 989024.033 0, 1329933.583 989004.606 0, 1329660.467 988985.195 0, 1329387.349 988965.8 0, 1329114.23 988946.421 0, 1328841.11 988927.058 0, 1328567.989 988907.711 0, 1328293.598 988888.29 0, 1327899.808 994454.427 0,
+ 1327506.012 1000020.661 0, 1327779.745 1000040.035 0, 1328052.211 1000059.336 0, 1328324.676 1000078.652 0, 1328597.14 1000097.985 0, 1328869.602 1000117.333 0, 1329142.064 1000136.698 0, 1329414.524 1000156.079 0, 1329686.983 1000175.475 0, 1329959.441 1000194.888 0,
+ 1330231.898 1000214.317 0, 1330504.354 1000233.762 0, 1330776.808 1000253.222 0, 1331049.262 1000272.699 0, 1331321.714 1000292.192 0, 1331594.165 1000311.701 0, 1331866.615 1000331.226 0, 1332139.064 1000350.767 0, 1332411.511 1000370.324 0, 1332683.958 1000389.897 0,
+ 1332956.403 1000409.486 0, 1333228.847 1000429.092 0, 1333501.29 1000448.713 0, 1333773.732 1000468.35 0, 1334044.908 1000487.912 0, 1334318.613 1000507.673 0, 1334591.051 1000527.358 0, 1334863.488 1000547.059 0, 1335135.924 1000566.777 0, 1335408.359 1000586.51 0,
+ 1335680.793 1000606.26 0, 1335953.226 1000626.025 0, 1336225.657 1000645.807 0, 1336498.087 1000665.604 0, 1336770.516 1000685.418 0, 1337042.944 1000705.248 0, 1337315.371 1000725.093 0, 1337587.797 1000744.955 0, 1337860.221 1000764.833 0, 1338132.644 1000784.727 0,
+ 1338405.067 1000804.637 0, 1338677.488 1000824.562 0, 1338949.907 1000844.504 0, 1339222.326 1000864.462 0, 1339494.743 1000884.436 0, 1339767.159 1000904.426 0, 1340039.575 1000924.432 0, 1340311.988 1000944.454 0, 1340583.137 1000964.399 0, 1340992.658 995399.3 0,
+ 1341402.171 989834.298 0))
+
+POLYGON ((1353657.544 1001945.079 0, 1353386.45 1001924.368 0, 1353114.094 1001903.576 0, 1352841.737 1001882.801 0, 1352569.378 1001862.041 0, 1352297.018 1001841.298 0, 1352024.657 1001820.57 0, 1351752.295 1001799.859 0, 1351479.931 1001779.163 0, 1351207.566 1001758.484 0,
+ 1350935.201 1001737.821 0, 1350662.833 1001717.173 0, 1350390.465 1001696.542 0, 1350118.095 1001675.927 0, 1349845.724 1001655.328 0, 1349573.352 1001634.744 0, 1349300.979 1001614.177 0, 1349028.605 1001593.626 0, 1348756.229 1001573.091 0, 1348483.852 1001552.572 0,
+ 1348211.474 1001532.069 0, 1347939.095 1001511.582 0, 1347666.714 1001491.111 0, 1347394.333 1001470.656 0, 1347120.687 1001450.122 0, 1346849.565 1001429.794 0, 1346577.18 1001409.387 0, 1346304.794 1001388.996 0, 1346032.406 1001368.621 0, 1345760.017 1001348.263 0,
+ 1345487.627 1001327.92 0, 1345215.236 1001307.593 0, 1344942.843 1001287.283 0, 1344670.449 1001266.988 0, 1344398.054 1001246.709 0, 1344125.658 1001226.447 0, 1343853.261 1001206.2 0, 1343580.863 1001185.97 0, 1343308.463 1001165.755 0, 1343036.062 1001145.557 0,
+ 1342763.66 1001125.374 0, 1342491.257 1001105.208 0, 1342218.852 1001085.058 0, 1341946.447 1001064.923 0, 1341674.04 1001044.805 0, 1341401.632 1001024.703 0, 1341129.223 1001004.617 0, 1340856.813 1000984.547 0, 1340583.137 1000964.399 0, 1340173.61 1006529.593 0,
+ 1339764.077 1012094.877 0, 1340037.094 1012114.975 0, 1340308.849 1012134.997 0, 1340580.603 1012155.035 0, 1340852.356 1012175.089 0, 1341124.108 1012195.159 0, 1341395.858 1012215.245 0, 1341667.607 1012235.347 0, 1341939.355 1012255.464 0, 1342211.102 1012275.598 0,
+ 1342482.848 1012295.748 0, 1342754.593 1012315.914 0, 1343026.336 1012336.096 0, 1343298.078 1012356.294 0, 1343569.819 1012376.508 0, 1343841.559 1012396.737 0, 1344113.298 1012416.983 0, 1344385.035 1012437.245 0, 1344656.771 1012457.523 0, 1344928.507 1012477.817 0,
+ 1345200.24 1012498.126 0, 1345471.973 1012518.452 0, 1345743.704 1012538.794 0, 1346015.435 1012559.152 0, 1346285.904 1012579.431 0, 1346558.892 1012599.915 0, 1346830.618 1012620.321 0, 1347102.344 1012640.743 0, 1347374.068 1012661.181 0, 1347645.791 1012681.634 0,
+ 1347917.513 1012702.104 0, 1348189.234 1012722.59 0, 1348460.953 1012743.092 0, 1348732.671 1012763.609 0, 1349004.388 1012784.143 0, 1349276.104 1012804.693 0, 1349547.819 1012825.258 0, 1349819.532 1012845.84 0, 1350091.244 1012866.438 0, 1350362.955 1012887.051 0,
+ 1350634.665 1012907.681 0, 1350906.374 1012928.327 0, 1351178.081 1012948.988 0, 1351449.787 1012969.666 0, 1351721.492 1012990.36 0, 1351993.196 1013011.069 0, 1352264.898 1013031.795 0, 1352536.599 1013052.537 0, 1352807.041 1013073.198 0, 1353232.296 1007509.094 0,
+ 1353657.544 1001945.079 0))
+
+POLYGON ((1365847.189 1014088.364 0, 1365576.805 1014066.939 0, 1365305.163 1014045.43 0, 1365033.521 1014023.936 0, 1364761.877 1014002.459 0, 1364490.231 1013980.998 0, 1364218.585 1013959.553 0, 1363946.937 1013938.124 0, 1363675.288 1013916.711 0, 1363403.637 1013895.313 0,
+ 1363131.986 1013873.932 0, 1362860.333 1013852.567 0, 1362588.678 1013831.218 0, 1362317.023 1013809.884 0, 1362045.366 1013788.567 0, 1361773.708 1013767.266 0, 1361502.049 1013745.981 0, 1361230.389 1013724.711 0, 1360958.727 1013703.458 0, 1360687.064 1013682.221 0,
+ 1360415.4 1013660.999 0, 1360143.735 1013639.794 0, 1359872.068 1013618.605 0, 1359600.4 1013597.431 0, 1359327.474 1013576.176 0, 1359057.06 1013555.132 0, 1358785.389 1013534.007 0, 1358513.716 1013512.898 0, 1358242.042 1013491.804 0, 1357970.366 1013470.727 0,
+ 1357698.69 1013449.665 0, 1357427.012 1013428.62 0, 1357155.333 1013407.591 0, 1356883.652 1013386.577 0, 1356611.971 1013365.58 0, 1356340.288 1013344.598 0, 1356068.604 1013323.633 0, 1355796.919 1013302.683 0, 1355525.232 1013281.75 0, 1355253.544 1013260.832 0,
+ 1354981.855 1013239.931 0, 1354710.165 1013219.045 0, 1354438.474 1013198.176 0, 1354166.781 1013177.322 0, 1353895.087 1013156.484 0, 1353623.392 1013135.663 0, 1353351.696 1013114.857 0, 1353079.998 1013094.068 0, 1352807.041 1013073.198 0, 1352381.78 1018637.388 0,
+ 1351956.512 1024201.659 0, 1352228.811 1024222.479 0, 1352499.853 1024243.218 0, 1352770.895 1024263.974 0, 1353041.935 1024284.745 0, 1353312.974 1024305.532 0, 1353584.011 1024326.336 0, 1353855.048 1024347.155 0, 1354126.083 1024367.99 0, 1354397.117 1024388.841 0,
+ 1354668.15 1024409.708 0, 1354939.181 1024430.591 0, 1355210.212 1024451.49 0, 1355481.241 1024472.405 0, 1355752.269 1024493.336 0, 1356023.295 1024514.283 0, 1356294.321 1024535.246 0, 1356565.345 1024556.224 0, 1356836.368 1024577.219 0, 1357107.39 1024598.23 0,
+ 1357378.41 1024619.256 0, 1357649.429 1024640.299 0, 1357920.447 1024661.358 0, 1358191.464 1024682.432 0, 1358461.225 1024703.425 0, 1358733.494 1024724.629 0, 1359004.507 1024745.751 0, 1359275.518 1024766.889 0, 1359546.529 1024788.044 0, 1359817.538 1024809.214 0,
+ 1360088.546 1024830.4 0, 1360359.553 1024851.602 0, 1360630.559 1024872.82 0, 1360901.563 1024894.054 0, 1361172.566 1024915.304 0, 1361443.568 1024936.57 0, 1361714.568 1024957.852 0, 1361985.567 1024979.149 0, 1362256.565 1025000.463 0, 1362527.562 1025021.793 0,
+ 1362798.558 1025043.138 0, 1363069.552 1025064.5 0, 1363340.545 1025085.877 0, 1363611.537 1025107.271 0, 1363882.527 1025128.68 0, 1364153.516 1025150.106 0, 1364424.504 1025171.547 0, 1364695.491 1025193.004 0, 1364965.224 1025214.378 0, 1365406.21 1019651.33 0,
+ 1365847.189 1014088.364 0))
+
+POLYGON ((1377971.022 1026263.845 0, 1377701.349 1026241.709 0, 1377430.424 1026219.486 0, 1377159.498 1026197.28 0, 1376888.57 1026175.089 0, 1376617.641 1026152.914 0, 1376346.711 1026130.755 0, 1376075.78 1026108.612 0, 1375804.847 1026086.485 0, 1375533.913 1026064.373 0,
+ 1375262.977 1026042.278 0, 1374992.041 1026020.199 0, 1374721.103 1025998.136 0, 1374450.163 1025976.088 0, 1374179.223 1025954.057 0, 1373908.281 1025932.041 0, 1373637.338 1025910.042 0, 1373366.393 1025888.058 0, 1373095.447 1025866.091 0, 1372824.5 1025844.139 0,
+ 1372553.552 1025822.203 0, 1372282.602 1025800.283 0, 1372011.651 1025778.38 0, 1371740.699 1025756.492 0, 1371468.494 1025734.519 0, 1371198.79 1025712.764 0, 1370927.834 1025690.924 0, 1370656.877 1025669.1 0, 1370385.918 1025647.291 0, 1370114.958 1025625.499 0,
+ 1369843.997 1025603.723 0, 1369573.035 1025581.963 0, 1369302.071 1025560.218 0, 1369031.106 1025538.49 0, 1368760.139 1025516.777 0, 1368489.172 1025495.081 0, 1368218.203 1025473.4 0, 1367947.233 1025451.736 0, 1367676.261 1025430.087 0, 1367405.288 1025408.454 0,
+ 1367134.314 1025386.838 0, 1366863.339 1025365.237 0, 1366592.362 1025343.652 0, 1366321.385 1025322.083 0, 1366050.406 1025300.53 0, 1365779.425 1025278.993 0, 1365508.444 1025257.472 0, 1365237.461 1025235.967 0, 1364965.224 1025214.378 0, 1364524.231 1030777.503 0,
+ 1364083.233 1036340.702 0, 1364354.812 1036362.238 0, 1364625.14 1036383.691 0, 1364895.467 1036405.16 0, 1365165.793 1036426.645 0, 1365436.117 1036448.146 0, 1365706.44 1036469.663 0, 1365976.762 1036491.196 0, 1366247.082 1036512.744 0, 1366517.401 1036534.309 0,
+ 1366787.719 1036555.889 0, 1367058.036 1036577.486 0, 1367328.351 1036599.098 0, 1367598.665 1036620.726 0, 1367868.978 1036642.37 0, 1368139.29 1036664.03 0, 1368409.6 1036685.706 0, 1368679.909 1036707.398 0, 1368950.216 1036729.106 0, 1369220.523 1036750.829 0,
+ 1369490.828 1036772.569 0, 1369761.132 1036794.324 0, 1370031.435 1036816.096 0, 1370301.736 1036837.883 0, 1370570.787 1036859.585 0, 1370842.335 1036881.505 0, 1371112.632 1036903.34 0, 1371382.928 1036925.191 0, 1371653.223 1036947.058 0, 1371923.517 1036968.941 0,
+ 1372193.809 1036990.839 0, 1372464.1 1037012.754 0, 1372734.39 1037034.684 0, 1373004.678 1037056.631 0, 1373274.965 1037078.593 0, 1373545.251 1037100.571 0, 1373815.536 1037122.565 0, 1374085.819 1037144.575 0, 1374356.101 1037166.601 0, 1374626.382 1037188.643 0,
+ 1374896.661 1037210.701 0, 1375166.939 1037232.774 0, 1375437.216 1037254.864 0, 1375707.491 1037276.969 0, 1375977.766 1037299.091 0, 1376248.038 1037321.228 0, 1376518.31 1037343.381 0, 1376788.58 1037365.55 0, 1377057.602 1037387.633 0, 1377514.315 1031825.702 0,
+ 1377971.022 1026263.845 0))
+
+POLYGON ((1390028.961 1038471.214 0, 1389760.001 1038448.371 0, 1389489.794 1038425.439 0, 1389219.586 1038402.522 0, 1388949.377 1038379.621 0, 1388679.166 1038356.737 0, 1388408.954 1038333.868 0, 1388138.741 1038311.015 0, 1387868.526 1038288.178 0, 1387598.31 1038265.356 0,
+ 1387328.093 1038242.551 0, 1387057.874 1038219.762 0, 1386787.654 1038196.988 0, 1386517.433 1038174.231 0, 1386247.21 1038151.489 0, 1385976.986 1038128.763 0, 1385706.761 1038106.053 0, 1385436.534 1038083.359 0, 1385166.306 1038060.681 0, 1384896.077 1038038.019 0,
+ 1384625.846 1038015.373 0, 1384355.614 1037992.742 0, 1384085.381 1037970.128 0, 1383815.146 1037947.529 0, 1383543.664 1037924.843 0, 1383274.673 1037902.38 0, 1383004.434 1037879.829 0, 1382734.194 1037857.294 0, 1382463.953 1037834.775 0, 1382193.71 1037812.272 0,
+ 1381923.466 1037789.785 0, 1381653.221 1037767.313 0, 1381382.974 1037744.858 0, 1381112.726 1037722.419 0, 1380842.477 1037699.995 0, 1380572.226 1037677.587 0, 1380301.974 1037655.196 0, 1380031.721 1037632.82 0, 1379761.467 1037610.46 0, 1379491.211 1037588.116 0,
+ 1379220.954 1037565.788 0, 1378950.695 1037543.475 0, 1378680.435 1037521.179 0, 1378410.174 1037498.899 0, 1378139.912 1037476.634 0, 1377869.648 1037454.385 0, 1377599.383 1037432.153 0, 1377329.117 1037409.936 0, 1377057.602 1037387.633 0, 1376600.883 1042949.632 0,
+ 1376144.158 1048511.696 0, 1376415.016 1048533.946 0, 1376684.627 1048556.109 0, 1376954.238 1048578.287 0, 1377223.847 1048600.482 0, 1377493.454 1048622.693 0, 1377763.061 1048644.919 0, 1378032.666 1048667.162 0, 1378302.269 1048689.42 0, 1378571.872 1048711.694 0,
+ 1378841.473 1048733.984 0, 1379111.073 1048756.289 0, 1379380.671 1048778.611 0, 1379650.269 1048800.949 0, 1379919.865 1048823.302 0, 1380189.459 1048845.671 0, 1380459.052 1048868.056 0, 1380728.644 1048890.457 0, 1380998.235 1048912.874 0, 1381267.824 1048935.307 0,
+ 1381537.412 1048957.756 0, 1381806.999 1048980.22 0, 1382076.584 1049002.7 0, 1382346.168 1049025.197 0, 1382614.508 1049047.605 0, 1382885.332 1049070.237 0, 1383154.912 1049092.78 0, 1383424.491 1049115.34 0, 1383694.068 1049137.916 0, 1383963.644 1049160.507 0,
+ 1384233.219 1049183.114 0, 1384502.792 1049205.737 0, 1384772.365 1049228.376 0, 1385041.935 1049251.031 0, 1385311.505 1049273.702 0, 1385581.073 1049296.389 0, 1385850.639 1049319.091 0, 1386120.205 1049341.809 0, 1386389.769 1049364.544 0, 1386659.331 1049387.294 0,
+ 1386928.893 1049410.06 0, 1387198.453 1049432.841 0, 1387468.012 1049455.639 0, 1387737.569 1049478.453 0, 1388007.125 1049501.282 0, 1388276.68 1049524.127 0, 1388546.233 1049546.988 0, 1388815.785 1049569.865 0, 1389084.093 1049592.653 0, 1389556.53 1044031.901 0,
+ 1390028.961 1038471.214 0))
+
+POLYGON ((872092.998 599913.533 0, 871798.434 599921.033 0, 871502.417 599928.587 0, 871206.401 599936.159 0, 870910.386 599943.748 0, 870614.371 599951.355 0, 870318.356 599958.979 0, 870022.342 599966.62 0, 869726.328 599974.279 0, 869430.314 599981.956 0,
+ 869134.302 599989.65 0, 868838.289 599997.361 0, 868542.277 600005.089 0, 868246.266 600012.835 0, 867950.254 600020.599 0, 867654.244 600028.38 0, 867358.234 600036.178 0, 867062.224 600043.994 0, 866766.215 600051.827 0, 866470.206 600059.678 0,
+ 866174.198 600067.546 0, 865878.19 600075.431 0, 865582.182 600083.334 0, 865286.175 600091.254 0, 864988.715 600099.231 0, 864694.163 600107.147 0, 864398.157 600115.12 0, 864102.152 600123.109 0, 863806.148 600131.117 0, 863510.144 600139.142 0,
+ 863214.14 600147.184 0, 862918.137 600155.244 0, 862622.134 600163.321 0, 862326.132 600171.415 0, 862030.13 600179.527 0, 861734.129 600187.656 0, 861438.128 600195.803 0, 861142.128 600203.967 0, 860846.128 600212.149 0, 860550.128 600220.348 0,
+ 860254.13 600228.564 0, 859958.131 600236.798 0, 859662.133 600245.05 0, 859366.136 600253.318 0, 859070.139 600261.605 0, 858774.143 600269.908 0, 858478.147 600278.229 0, 858182.151 600286.567 0, 857884.701 600294.964 0, 858041.888 605857.263 0,
+ 858199.085 611419.908 0, 858495.877 611411.529 0, 858791.218 611403.209 0, 859086.559 611394.907 0, 859381.9 611386.622 0, 859677.243 611378.354 0, 859972.585 611370.103 0, 860267.928 611361.87 0, 860563.272 611353.655 0, 860858.616 611345.456 0,
+ 861153.96 611337.275 0, 861449.306 611329.112 0, 861744.651 611320.966 0, 862039.997 611312.837 0, 862335.343 611304.726 0, 862630.69 611296.632 0, 862926.038 611288.555 0, 863221.386 611280.496 0, 863516.734 611272.454 0, 863812.083 611264.43 0,
+ 864107.432 611256.423 0, 864402.782 611248.433 0, 864698.132 611240.461 0, 864993.483 611232.506 0, 865287.384 611224.607 0, 865584.186 611216.648 0, 865879.538 611208.745 0, 866174.891 611200.86 0, 866470.244 611192.992 0, 866765.597 611185.141 0,
+ 867060.951 611177.308 0, 867356.306 611169.492 0, 867651.66 611161.694 0, 867947.016 611153.913 0, 868242.372 611146.149 0, 868537.728 611138.403 0, 868833.085 611130.674 0, 869128.442 611122.962 0, 869423.799 611115.268 0, 869719.157 611107.591 0,
+ 870014.516 611099.932 0, 870309.875 611092.29 0, 870605.234 611084.665 0, 870900.594 611077.058 0, 871195.955 611069.468 0, 871491.315 611061.896 0, 871786.677 611054.341 0, 872082.038 611046.803 0, 872375.951 611039.32 0, 872234.47 605476.253 0,
+ 872092.998 599913.533 0))
+
+POLYGON ((886553.835 610698.785 0, 886259.9 610705.439 0, 885964.518 610712.142 0, 885669.137 610718.862 0, 885373.756 610725.6 0, 885078.376 610732.356 0, 884782.995 610739.128 0, 884487.616 610745.919 0, 884192.236 610752.726 0, 883896.857 610759.551 0,
+ 883601.479 610766.393 0, 883306.1 610773.253 0, 883010.723 610780.13 0, 882715.345 610787.025 0, 882419.968 610793.936 0, 882124.592 610800.866 0, 881829.216 610807.812 0, 881533.84 610814.776 0, 881238.464 610821.758 0, 880943.09 610828.756 0,
+ 880647.715 610835.772 0, 880352.341 610842.806 0, 880056.967 610849.857 0, 879761.594 610856.925 0, 879464.773 610864.046 0, 879170.849 610871.114 0, 878875.477 610878.234 0, 878580.105 610885.372 0, 878284.734 610892.527 0, 877989.363 610899.7 0,
+ 877693.993 610906.89 0, 877398.623 610914.097 0, 877103.253 610921.322 0, 876807.884 610928.564 0, 876512.516 610935.824 0, 876217.148 610943.101 0, 875921.78 610950.395 0, 875626.412 610957.707 0, 875331.046 610965.036 0, 875035.679 610972.382 0,
+ 874740.313 610979.746 0, 874444.947 610987.127 0, 874149.582 610994.526 0, 873854.217 611001.942 0, 873558.853 611009.375 0, 873263.489 611016.826 0, 872968.126 611024.294 0, 872672.763 611031.78 0, 872375.951 611039.32 0, 872517.44 616602.728 0,
+ 872658.938 622166.475 0, 872955.092 622158.952 0, 873249.8 622151.483 0, 873544.509 622144.032 0, 873839.218 622136.597 0, 874133.927 622129.18 0, 874428.637 622121.781 0, 874723.347 622114.399 0, 875018.058 622107.034 0, 875312.769 622099.686 0,
+ 875607.48 622092.356 0, 875902.192 622085.043 0, 876196.905 622077.748 0, 876491.618 622070.47 0, 876786.331 622063.209 0, 877081.045 622055.965 0, 877375.759 622048.739 0, 877670.473 622041.531 0, 877965.188 622034.339 0, 878259.904 622027.165 0,
+ 878554.62 622020.008 0, 878849.336 622012.869 0, 879144.052 622005.747 0, 879438.769 621998.642 0, 879732.042 621991.59 0, 880028.205 621984.485 0, 880322.923 621977.432 0, 880617.642 621970.397 0, 880912.361 621963.379 0, 881207.081 621956.379 0,
+ 881501.801 621949.395 0, 881796.521 621942.43 0, 882091.242 621935.481 0, 882385.963 621928.55 0, 882680.685 621921.636 0, 882975.407 621914.739 0, 883270.129 621907.86 0, 883564.852 621900.998 0, 883859.575 621894.154 0, 884154.299 621887.327 0,
+ 884449.023 621880.517 0, 884743.747 621873.725 0, 885038.472 621866.95 0, 885333.197 621860.192 0, 885627.923 621853.451 0, 885922.649 621846.728 0, 886217.375 621840.023 0, 886512.102 621833.334 0, 886805.385 621826.696 0, 886679.606 616262.571 0,
+ 886553.835 610698.785 0))
+
+POLYGON ((900952.736 621526.885 0, 900659.433 621532.694 0, 900364.688 621538.55 0, 900069.944 621544.423 0, 899775.2 621550.313 0, 899480.457 621556.221 0, 899185.713 621562.146 0, 898890.971 621568.089 0, 898596.228 621574.048 0, 898301.486 621580.025 0,
+ 898006.744 621586.02 0, 897712.003 621592.032 0, 897417.262 621598.061 0, 897122.521 621604.107 0, 896827.781 621610.171 0, 896533.041 621616.252 0, 896238.301 621622.351 0, 895943.562 621628.467 0, 895648.823 621634.6 0, 895354.085 621640.751 0,
+ 895059.347 621646.918 0, 894764.609 621653.104 0, 894469.871 621659.306 0, 894175.134 621665.526 0, 893878.955 621671.794 0, 893585.661 621678.018 0, 893290.925 621684.29 0, 892996.19 621690.58 0, 892701.454 621696.886 0, 892406.72 621703.21 0,
+ 892111.985 621709.552 0, 891817.251 621715.911 0, 891522.517 621722.287 0, 891227.784 621728.68 0, 890933.051 621735.091 0, 890638.318 621741.519 0, 890343.586 621747.964 0, 890048.854 621754.427 0, 889754.123 621760.908 0, 889459.392 621767.405 0,
+ 889164.661 621773.92 0, 888869.931 621780.452 0, 888575.201 621787.002 0, 888280.471 621793.569 0, 887985.742 621800.153 0, 887691.013 621806.754 0, 887396.285 621813.373 0, 887101.557 621820.01 0, 886805.385 621826.696 0, 886931.172 627391.156 0,
+ 887056.966 632955.949 0, 887352.479 632949.278 0, 887646.552 632942.656 0, 887940.625 632936.052 0, 888234.699 632929.465 0, 888528.773 632922.895 0, 888822.848 632916.343 0, 889116.923 632909.808 0, 889410.998 632903.29 0, 889705.073 632896.79 0,
+ 889999.15 632890.307 0, 890293.226 632883.841 0, 890587.303 632877.392 0, 890881.38 632870.961 0, 891175.457 632864.547 0, 891469.535 632858.151 0, 891763.614 632851.772 0, 892057.692 632845.41 0, 892351.771 632839.065 0, 892645.851 632832.738 0,
+ 892939.931 632826.428 0, 893234.011 632820.135 0, 893528.091 632813.86 0, 893822.172 632807.602 0, 894114.814 632801.391 0, 894410.335 632795.138 0, 894704.417 632788.931 0, 894998.499 632782.743 0, 895292.582 632776.571 0, 895586.665 632770.417 0,
+ 895880.749 632764.28 0, 896174.833 632758.16 0, 896468.917 632752.058 0, 896763.001 632745.973 0, 897057.086 632739.905 0, 897351.171 632733.855 0, 897645.257 632727.822 0, 897939.343 632721.806 0, 898233.429 632715.808 0, 898527.516 632709.827 0,
+ 898821.603 632703.863 0, 899115.69 632697.916 0, 899409.778 632691.987 0, 899703.866 632686.075 0, 899997.955 632680.181 0, 900292.043 632674.303 0, 900586.132 632668.443 0, 900880.222 632662.601 0, 901172.873 632656.804 0, 901062.801 627091.678 0,
+ 900952.736 621526.885 0))
+
+POLYGON ((915289.569 632397.54 0, 914996.9 632402.51 0, 914702.796 632407.522 0, 914408.691 632412.551 0, 914114.587 632417.597 0, 913820.483 632422.661 0, 913526.379 632427.742 0, 913232.276 632432.84 0, 912938.173 632437.956 0, 912644.07 632443.089 0,
+ 912349.968 632448.239 0, 912055.866 632453.407 0, 911761.764 632458.592 0, 911467.663 632463.794 0, 911173.562 632469.013 0, 910879.461 632474.25 0, 910585.36 632479.504 0, 910291.26 632484.776 0, 909997.16 632490.064 0, 909703.06 632495.37 0,
+ 909408.961 632500.694 0, 909114.862 632506.034 0, 908820.763 632511.392 0, 908526.665 632516.768 0, 908231.129 632522.187 0, 907938.469 632527.57 0, 907644.372 632532.997 0, 907350.275 632538.442 0, 907056.178 632543.904 0, 906762.082 632549.383 0,
+ 906467.985 632554.879 0, 906173.89 632560.393 0, 905879.794 632565.924 0, 905585.699 632571.473 0, 905291.604 632577.038 0, 904997.51 632582.621 0, 904703.416 632588.222 0, 904409.322 632593.839 0, 904115.228 632599.474 0, 903821.135 632605.126 0,
+ 903527.042 632610.796 0, 903232.95 632616.483 0, 902938.858 632622.187 0, 902644.766 632627.908 0, 902350.674 632633.647 0, 902056.583 632639.403 0, 901762.492 632645.177 0, 901468.402 632650.967 0, 901172.873 632656.804 0, 901282.951 638222.259 0,
+ 901393.036 643788.039 0, 901687.907 643782.216 0, 901981.342 643776.438 0, 902274.778 643770.678 0, 902568.214 643764.934 0, 902861.65 643759.208 0, 903155.087 643753.5 0, 903448.524 643747.808 0, 903741.961 643742.134 0, 904035.399 643736.477 0,
+ 904328.837 643730.837 0, 904622.275 643725.215 0, 904915.714 643719.61 0, 905209.153 643714.022 0, 905502.592 643708.451 0, 905796.032 643702.898 0, 906089.472 643697.362 0, 906382.912 643691.843 0, 906676.352 643686.342 0, 906969.793 643680.858 0,
+ 907263.235 643675.391 0, 907556.676 643669.941 0, 907850.118 643664.509 0, 908143.56 643659.094 0, 908435.569 643653.722 0, 908730.446 643648.315 0, 909023.889 643642.952 0, 909317.333 643637.606 0, 909610.776 643632.277 0, 909904.22 643626.966 0,
+ 910197.665 643621.671 0, 910491.11 643616.394 0, 910784.555 643611.135 0, 911078 643605.892 0, 911371.446 643600.667 0, 911664.892 643595.459 0, 911958.338 643590.269 0, 912251.785 643585.095 0, 912545.231 643579.939 0, 912838.679 643574.801 0,
+ 913132.126 643569.679 0, 913425.574 643564.575 0, 913719.022 643559.488 0, 914012.47 643554.418 0, 914305.919 643549.366 0, 914599.368 643544.331 0, 914892.817 643539.313 0, 915186.267 643534.312 0, 915478.284 643529.353 0, 915383.923 637963.284 0,
+ 915289.569 632397.54 0))
+
+POLYGON ((929564.206 643310.461 0, 929272.174 643314.595 0, 928978.711 643318.767 0, 928685.249 643322.956 0, 928391.787 643327.162 0, 928098.325 643331.385 0, 927804.864 643335.626 0, 927511.402 643339.883 0, 927217.941 643344.159 0, 926924.481 643348.451 0,
+ 926631.02 643352.761 0, 926337.56 643357.088 0, 926044.1 643361.432 0, 925750.64 643365.794 0, 925457.18 643370.172 0, 925163.721 643374.568 0, 924870.262 643378.982 0, 924576.803 643383.412 0, 924283.345 643387.86 0, 923989.887 643392.326 0,
+ 923696.429 643396.808 0, 923402.971 643401.308 0, 923109.514 643405.825 0, 922816.056 643410.359 0, 922521.167 643414.933 0, 922229.143 643419.479 0, 921935.687 643424.065 0, 921642.23 643428.669 0, 921348.775 643433.289 0, 921055.319 643437.927 0,
+ 920761.864 643442.582 0, 920468.409 643447.255 0, 920174.954 643451.944 0, 919881.5 643456.651 0, 919588.046 643461.376 0, 919294.592 643466.117 0, 919001.138 643470.876 0, 918707.685 643475.652 0, 918414.232 643480.445 0, 918120.779 643485.256 0,
+ 917827.326 643490.084 0, 917533.874 643494.929 0, 917240.422 643499.792 0, 916946.971 643504.671 0, 916653.519 643509.568 0, 916360.068 643514.482 0, 916066.618 643519.414 0, 915773.167 643524.363 0, 915478.284 643529.353 0, 915572.649 649095.745 0,
+ 915667.02 654662.456 0, 915961.245 654657.477 0, 916254.04 654652.539 0, 916546.836 654647.619 0, 916839.632 654642.715 0, 917132.428 654637.829 0, 917425.224 654632.961 0, 917718.021 654628.109 0, 918010.818 654623.275 0, 918303.615 654618.458 0,
+ 918596.412 654613.658 0, 918889.21 654608.875 0, 919182.008 654604.11 0, 919474.806 654599.361 0, 919767.605 654594.631 0, 920060.404 654589.917 0, 920353.203 654585.22 0, 920646.002 654580.541 0, 920938.802 654575.879 0, 921231.602 654571.234 0,
+ 921524.402 654566.607 0, 921817.203 654561.996 0, 922110.004 654557.403 0, 922402.805 654552.828 0, 922694.177 654548.291 0, 922988.408 654543.728 0, 923281.21 654539.203 0, 923574.012 654534.697 0, 923866.814 654530.207 0, 924159.617 654525.734 0,
+ 924452.42 654521.279 0, 924745.223 654516.841 0, 925038.026 654512.421 0, 925330.83 654508.017 0, 925623.634 654503.631 0, 925916.438 654499.262 0, 926209.243 654494.91 0, 926502.048 654490.575 0, 926794.853 654486.258 0, 927087.658 654481.958 0,
+ 927380.463 654477.675 0, 927673.269 654473.41 0, 927966.075 654469.161 0, 928258.881 654464.93 0, 928551.688 654460.716 0, 928844.495 654456.519 0, 929137.302 654452.34 0, 929430.109 654448.178 0, 929721.488 654444.053 0, 929642.845 648877.097 0,
+ 929564.206 643310.461 0))
+
+POLYGON ((943776.518 654265.357 0, 943485.125 654268.659 0, 943192.307 654271.994 0, 942899.49 654275.346 0, 942606.672 654278.715 0, 942313.855 654282.102 0, 942021.038 654285.506 0, 941728.221 654288.927 0, 941435.405 654292.365 0, 941142.588 654295.821 0,
+ 940849.772 654299.294 0, 940556.956 654302.784 0, 940264.14 654306.291 0, 939971.325 654309.816 0, 939678.509 654313.358 0, 939385.694 654316.917 0, 939092.879 654320.493 0, 938800.064 654324.086 0, 938507.25 654327.697 0, 938214.435 654331.325 0,
+ 937921.621 654334.97 0, 937628.807 654338.633 0, 937335.993 654342.312 0, 937043.18 654346.009 0, 936748.94 654349.741 0, 936457.554 654353.455 0, 936164.741 654357.203 0, 935871.928 654360.969 0, 935579.116 654364.752 0, 935286.304 654368.552 0,
+ 934993.492 654372.37 0, 934700.68 654376.205 0, 934407.869 654380.057 0, 934115.057 654383.926 0, 933822.246 654387.813 0, 933529.435 654391.716 0, 933236.625 654395.637 0, 932943.815 654399.575 0, 932651.004 654403.531 0, 932358.195 654407.503 0,
+ 932065.385 654411.493 0, 931772.576 654415.5 0, 931479.766 654419.525 0, 931186.957 654423.566 0, 930894.149 654427.625 0, 930601.34 654431.701 0, 930308.532 654435.794 0, 930015.724 654439.905 0, 929721.488 654444.053 0, 929800.136 660011.324 0,
+ 929878.789 665578.908 0, 930172.366 665574.769 0, 930464.519 665570.668 0, 930756.672 665566.584 0, 931048.825 665562.517 0, 931340.978 665558.467 0, 931633.131 665554.435 0, 931925.285 665550.419 0, 932217.439 665546.421 0, 932509.594 665542.44 0,
+ 932801.748 665538.477 0, 933093.903 665534.53 0, 933386.058 665530.601 0, 933678.213 665526.688 0, 933970.368 665522.793 0, 934262.524 665518.916 0, 934554.68 665515.055 0, 934846.836 665511.212 0, 935138.992 665507.386 0, 935431.149 665503.577 0,
+ 935723.306 665499.785 0, 936015.463 665496.01 0, 936307.62 665492.253 0, 936599.777 665488.513 0, 936890.511 665484.808 0, 937184.093 665481.084 0, 937476.251 665477.395 0, 937768.409 665473.724 0, 938060.568 665470.069 0, 938352.727 665466.432 0,
+ 938644.885 665462.813 0, 938937.045 665459.21 0, 939229.204 665455.624 0, 939521.364 665452.056 0, 939813.523 665448.505 0, 940105.683 665444.971 0, 940397.844 665441.455 0, 940690.004 665437.955 0, 940982.165 665434.473 0, 941274.326 665431.008 0,
+ 941566.487 665427.56 0, 941858.648 665424.129 0, 942150.809 665420.716 0, 942442.971 665417.319 0, 942735.133 665413.94 0, 943027.295 665410.578 0, 943319.457 665407.234 0, 943611.619 665403.906 0, 943902.36 665400.612 0, 943839.437 659832.828 0,
+ 943776.518 654265.357 0))
+
+POLYGON ((957926.378 665261.936 0, 957635.627 665264.409 0, 957343.457 665266.911 0, 957051.286 665269.43 0, 956759.116 665271.967 0, 956466.946 665274.52 0, 956174.776 665277.091 0, 955882.606 665279.679 0, 955590.436 665282.284 0, 955298.266 665284.907 0,
+ 955006.097 665287.547 0, 954713.928 665290.203 0, 954421.758 665292.878 0, 954129.589 665295.569 0, 953837.421 665298.277 0, 953545.252 665301.003 0, 953253.083 665303.746 0, 952960.915 665306.506 0, 952668.747 665309.283 0, 952376.579 665312.077 0,
+ 952084.411 665314.889 0, 951792.243 665317.718 0, 951500.076 665320.564 0, 951207.908 665323.427 0, 950914.32 665326.321 0, 950623.574 665329.205 0, 950331.407 665332.12 0, 950039.241 665335.052 0, 949747.074 665338.001 0, 949454.908 665340.967 0,
+ 949162.742 665343.951 0, 948870.576 665346.952 0, 948578.41 665349.97 0, 948286.244 665353.005 0, 947994.079 665356.057 0, 947701.914 665359.127 0, 947409.749 665362.214 0, 947117.584 665365.317 0, 946825.419 665368.439 0, 946533.254 665371.577 0,
+ 946241.09 665374.733 0, 945948.926 665377.905 0, 945656.762 665381.095 0, 945364.598 665384.302 0, 945072.435 665387.527 0, 944780.271 665390.768 0, 944488.108 665394.027 0, 944195.945 665397.303 0, 943902.36 665400.612 0, 943965.286 670968.705 0,
+ 944028.216 676537.104 0, 944321.142 676533.802 0, 944612.65 676530.533 0, 944904.158 676527.282 0, 945195.665 676524.048 0, 945487.174 676520.83 0, 945778.682 676517.631 0, 946070.19 676514.448 0, 946361.699 676511.282 0, 946653.208 676508.134 0,
+ 946944.717 676505.002 0, 947236.226 676501.888 0, 947527.736 676498.791 0, 947819.245 676495.711 0, 948110.755 676492.649 0, 948402.265 676489.603 0, 948693.775 676486.575 0, 948985.285 676483.564 0, 949276.796 676480.57 0, 949568.307 676477.593 0,
+ 949859.817 676474.633 0, 950151.328 676471.69 0, 950442.84 676468.765 0, 950734.351 676465.857 0, 951024.444 676462.98 0, 951317.374 676460.092 0, 951608.886 676457.235 0, 951900.398 676454.395 0, 952191.91 676451.573 0, 952483.423 676448.767 0,
+ 952774.935 676445.979 0, 953066.448 676443.208 0, 953357.961 676440.455 0, 953649.474 676437.718 0, 953940.987 676434.998 0, 954232.5 676432.296 0, 954524.014 676429.611 0, 954815.528 676426.943 0, 955107.041 676424.292 0, 955398.555 676421.658 0,
+ 955690.069 676419.041 0, 955981.584 676416.442 0, 956273.098 676413.86 0, 956564.613 676411.295 0, 956856.127 676408.747 0, 957147.642 676406.216 0, 957439.157 676403.702 0, 957730.673 676401.206 0, 958020.771 676398.739 0, 957973.573 670830.184 0,
+ 957926.378 665261.936 0))
+
+POLYGON ((972013.661 676299.906 0, 971723.555 676301.553 0, 971432.034 676303.226 0, 971140.513 676304.916 0, 970848.992 676306.624 0, 970557.471 676308.348 0, 970265.95 676310.089 0, 969974.43 676311.848 0, 969682.909 676313.624 0, 969391.389 676315.417 0,
+ 969099.869 676317.227 0, 968808.349 676319.054 0, 968516.829 676320.899 0, 968225.309 676322.76 0, 967933.789 676324.639 0, 967642.269 676326.535 0, 967350.75 676328.448 0, 967059.23 676330.378 0, 966767.711 676332.326 0, 966476.192 676334.29 0,
+ 966184.672 676336.272 0, 965893.153 676338.271 0, 965601.634 676340.287 0, 965310.116 676342.32 0, 965017.181 676344.381 0, 964727.078 676346.438 0, 964435.56 676348.523 0, 964144.042 676350.625 0, 963852.524 676352.744 0, 963561.006 676354.88 0,
+ 963269.488 676357.033 0, 962977.97 676359.204 0, 962686.452 676361.391 0, 962394.935 676363.596 0, 962103.417 676365.818 0, 961811.9 676368.057 0, 961520.383 676370.313 0, 961228.866 676372.587 0, 960937.349 676374.877 0, 960645.832 676377.185 0,
+ 960354.316 676379.51 0, 960062.799 676381.852 0, 959771.283 676384.211 0, 959479.767 676386.587 0, 959188.251 676388.981 0, 958896.735 676391.392 0, 958605.219 676393.819 0, 958313.703 676396.264 0, 958020.771 676398.739 0, 958067.971 681967.595 0,
+ 958115.174 687536.751 0, 958407.448 687534.282 0, 958698.308 687531.843 0, 958989.168 687529.42 0, 959280.028 687527.015 0, 959570.889 687524.627 0, 959861.749 687522.256 0, 960152.61 687519.902 0, 960443.471 687517.565 0, 960734.332 687515.246 0,
+ 961025.193 687512.943 0, 961316.055 687510.658 0, 961606.916 687508.389 0, 961897.778 687506.138 0, 962188.639 687503.904 0, 962479.501 687501.687 0, 962770.363 687499.487 0, 963061.225 687497.305 0, 963352.087 687495.139 0, 963642.95 687492.991 0,
+ 963933.812 687490.859 0, 964224.675 687488.745 0, 964515.538 687486.648 0, 964806.4 687484.568 0, 965095.85 687482.515 0, 965388.126 687480.459 0, 965678.99 687478.431 0, 965969.853 687476.419 0, 966260.716 687474.425 0, 966551.58 687472.448 0,
+ 966842.444 687470.487 0, 967133.308 687468.544 0, 967424.171 687466.618 0, 967715.035 687464.71 0, 968005.9 687462.818 0, 968296.764 687460.943 0, 968587.628 687459.086 0, 968878.493 687457.246 0, 969169.357 687455.423 0, 969460.222 687453.616 0,
+ 969751.087 687451.828 0, 970041.952 687450.056 0, 970332.817 687448.301 0, 970623.682 687446.563 0, 970914.547 687444.843 0, 971205.412 687443.14 0, 971496.278 687441.453 0, 971787.143 687439.784 0, 972076.597 687438.14 0, 972045.128 681868.873 0,
+ 972013.661 676299.906 0))
+
+POLYGON ((986038.243 687378.973 0, 985748.783 687379.8 0, 985457.914 687380.647 0, 985167.045 687381.512 0, 984876.176 687382.393 0, 984585.307 687383.292 0, 984294.438 687384.208 0, 984003.57 687385.141 0, 983712.701 687386.091 0, 983421.832 687387.058 0,
+ 983130.964 687388.042 0, 982840.095 687389.044 0, 982549.227 687390.062 0, 982258.358 687391.098 0, 981967.49 687392.151 0, 981676.621 687393.221 0, 981385.753 687394.308 0, 981094.885 687395.412 0, 980804.017 687396.533 0, 980513.149 687397.672 0,
+ 980222.281 687398.827 0, 979931.413 687400 0, 979640.545 687401.189 0, 979349.677 687402.396 0, 979057.399 687403.626 0, 978767.942 687404.861 0, 978477.074 687406.12 0, 978186.207 687407.395 0, 977895.339 687408.688 0, 977604.472 687409.997 0,
+ 977313.605 687411.324 0, 977022.738 687412.668 0, 976731.871 687414.029 0, 976441.004 687415.407 0, 976150.137 687416.802 0, 975859.27 687418.214 0, 975568.403 687419.644 0, 975277.536 687421.09 0, 974986.67 687422.554 0, 974695.803 687424.035 0,
+ 974404.937 687425.533 0, 974114.07 687427.048 0, 973823.204 687428.58 0, 973532.338 687430.129 0, 973241.472 687431.695 0, 972950.606 687433.279 0, 972659.74 687434.88 0, 972368.874 687436.497 0, 972076.597 687438.14 0, 972108.067 693007.703 0,
+ 972139.539 698577.557 0, 972431.158 698575.918 0, 972721.368 698574.304 0, 973011.578 698572.707 0, 973301.789 698571.127 0, 973591.999 698569.564 0, 973882.21 698568.018 0, 974172.42 698566.49 0, 974462.631 698564.978 0, 974752.842 698563.483 0,
+ 975043.053 698562.006 0, 975333.264 698560.546 0, 975623.475 698559.102 0, 975913.686 698557.676 0, 976203.897 698556.267 0, 976494.108 698554.875 0, 976784.32 698553.5 0, 977074.531 698552.142 0, 977364.743 698550.801 0, 977654.954 698549.478 0,
+ 977945.166 698548.171 0, 978235.378 698546.881 0, 978525.589 698545.609 0, 978815.801 698544.353 0, 979104.606 698543.121 0, 979396.225 698541.894 0, 979686.438 698540.69 0, 979976.65 698539.503 0, 980266.862 698538.333 0, 980557.074 698537.18 0,
+ 980847.287 698536.044 0, 981137.499 698534.925 0, 981427.712 698533.823 0, 981717.924 698532.739 0, 982008.137 698531.671 0, 982298.35 698530.621 0, 982588.563 698529.588 0, 982878.775 698528.571 0, 983168.988 698527.572 0, 983459.201 698526.59 0,
+ 983749.414 698525.625 0, 984039.627 698524.677 0, 984329.841 698523.746 0, 984620.054 698522.832 0, 984910.267 698521.936 0, 985200.48 698521.056 0, 985490.694 698520.194 0, 985780.907 698519.348 0, 986069.714 698518.524 0, 986053.978 692948.603 0,
+ 986038.243 687378.973 0))
+
+POLYGON ((1000000 698498.846 0, 999711.19 698498.854 0, 999420.975 698498.88 0, 999130.76 698498.923 0, 998840.546 698498.982 0, 998550.331 698499.059 0, 998260.116 698499.153 0, 997969.902 698499.264 0, 997679.687 698499.392 0, 997389.473 698499.537 0,
+ 997099.258 698499.699 0, 996809.043 698499.878 0, 996518.829 698500.075 0, 996228.614 698500.288 0, 995938.4 698500.519 0, 995648.185 698500.766 0, 995357.971 698501.031 0, 995067.756 698501.313 0, 994777.542 698501.612 0, 994487.327 698501.928 0,
+ 994197.113 698502.261 0, 993906.898 698502.611 0, 993616.684 698502.978 0, 993326.47 698503.362 0, 993034.85 698503.765 0, 992746.041 698504.182 0, 992455.827 698504.617 0, 992165.612 698505.07 0, 991875.398 698505.54 0, 991585.184 698506.026 0,
+ 991294.97 698506.53 0, 991004.756 698507.051 0, 990714.542 698507.589 0, 990424.327 698508.144 0, 990134.113 698508.716 0, 989843.899 698509.305 0, 989553.685 698509.912 0, 989263.471 698510.535 0, 988973.257 698511.176 0, 988683.044 698511.833 0,
+ 988392.83 698512.508 0, 988102.616 698513.2 0, 987812.402 698513.908 0, 987522.188 698514.634 0, 987231.975 698515.377 0, 986941.761 698516.137 0, 986651.547 698516.914 0, 986361.334 698517.709 0, 986069.714 698518.524 0, 986085.451 704088.734 0,
+ 986101.189 709659.229 0, 986392.15 709658.416 0, 986681.708 709657.623 0, 986971.265 709656.848 0, 987260.823 709656.09 0, 987550.381 709655.348 0, 987839.939 709654.624 0, 988129.497 709653.917 0, 988419.055 709653.227 0, 988708.614 709652.554 0,
+ 988998.172 709651.898 0, 989287.73 709651.259 0, 989577.288 709650.637 0, 989866.846 709650.032 0, 990156.405 709649.444 0, 990445.963 709648.873 0, 990735.521 709648.319 0, 991025.08 709647.782 0, 991314.638 709647.263 0, 991604.197 709646.76 0,
+ 991893.755 709646.274 0, 992183.314 709645.806 0, 992472.872 709645.354 0, 992762.431 709644.92 0, 993050.587 709644.504 0, 993341.548 709644.102 0, 993631.107 709643.718 0, 993920.665 709643.352 0, 994210.224 709643.003 0, 994499.783 709642.671 0,
+ 994789.342 709642.355 0, 995078.9 709642.057 0, 995368.459 709641.776 0, 995658.018 709641.512 0, 995947.577 709641.265 0, 996237.136 709641.035 0, 996526.694 709640.822 0, 996816.253 709640.626 0, 997105.812 709640.447 0, 997395.371 709640.285 0,
+ 997684.93 709640.141 0, 997974.489 709640.013 0, 998264.048 709639.902 0, 998553.606 709639.809 0, 998843.165 709639.732 0, 999132.724 709639.672 0, 999422.283 709639.63 0, 999711.842 709639.604 0, 1000000 709639.596 0, 1000000 704069.078 0,
+ 1000000 698498.846 0))
+
+POLYGON ((1013898.811 709659.229 0, 1013610.652 709658.424 0, 1013321.094 709657.631 0, 1013031.537 709656.856 0, 1012741.979 709656.097 0, 1012452.421 709655.356 0, 1012162.863 709654.631 0, 1011873.305 709653.924 0, 1011583.747 709653.233 0, 1011294.188 709652.56 0,
+ 1011004.63 709651.904 0, 1010715.072 709651.265 0, 1010425.514 709650.643 0, 1010135.956 709650.038 0, 1009846.397 709649.449 0, 1009556.839 709648.878 0, 1009267.281 709648.324 0, 1008977.722 709647.788 0, 1008688.164 709647.268 0, 1008398.605 709646.765 0,
+ 1008109.047 709646.279 0, 1007819.488 709645.81 0, 1007529.93 709645.359 0, 1007240.371 709644.924 0, 1006949.413 709644.504 0, 1006661.254 709644.106 0, 1006371.695 709643.722 0, 1006082.137 709643.356 0, 1005792.578 709643.006 0, 1005503.019 709642.674 0,
+ 1005213.46 709642.358 0, 1004923.902 709642.06 0, 1004634.343 709641.779 0, 1004344.784 709641.514 0, 1004055.225 709641.267 0, 1003765.666 709641.037 0, 1003476.108 709640.824 0, 1003186.549 709640.628 0, 1002896.99 709640.449 0, 1002607.431 709640.287 0,
+ 1002317.872 709640.142 0, 1002028.313 709640.014 0, 1001738.754 709639.903 0, 1001449.196 709639.809 0, 1001159.637 709639.733 0, 1000870.078 709639.673 0, 1000580.519 709639.63 0, 1000290.96 709639.605 0, 1000000 709639.596 0, 1000000 715210.395 0,
+ 1000000 720781.474 0, 1000290.301 720781.482 0, 1000579.204 720781.508 0, 1000868.107 720781.55 0, 1001157.01 720781.61 0, 1001445.913 720781.686 0, 1001734.817 720781.78 0, 1002023.72 720781.891 0, 1002312.623 720782.018 0, 1002601.526 720782.163 0,
+ 1002890.429 720782.325 0, 1003179.332 720782.503 0, 1003468.235 720782.699 0, 1003757.138 720782.911 0, 1004046.041 720783.141 0, 1004334.944 720783.388 0, 1004623.847 720783.651 0, 1004912.75 720783.932 0, 1005201.653 720784.23 0, 1005490.556 720784.544 0,
+ 1005779.459 720784.876 0, 1006068.362 720785.225 0, 1006357.265 720785.59 0, 1006646.168 720785.973 0, 1006933.674 720786.371 0, 1007223.973 720786.789 0, 1007512.876 720787.223 0, 1007801.779 720787.674 0, 1008090.681 720788.141 0, 1008379.584 720788.626 0,
+ 1008668.487 720789.128 0, 1008957.39 720789.647 0, 1009246.292 720790.182 0, 1009535.195 720790.735 0, 1009824.097 720791.305 0, 1010113 720791.892 0, 1010401.902 720792.495 0, 1010690.805 720793.116 0, 1010979.707 720793.754 0, 1011268.61 720794.408 0,
+ 1011557.512 720795.08 0, 1011846.414 720795.769 0, 1012135.316 720796.475 0, 1012424.219 720797.197 0, 1012713.121 720797.937 0, 1013002.023 720798.694 0, 1013290.925 720799.468 0, 1013579.827 720800.259 0, 1013867.333 720801.062 0, 1013883.073 715230.007 0,
+ 1013898.811 709659.229 0))
+
+POLYGON ((1027734.556 720859.829 0, 1027447.051 720858.213 0, 1027158.152 720856.606 0, 1026869.254 720855.016 0, 1026580.355 720853.443 0, 1026291.456 720851.887 0, 1026002.557 720850.348 0, 1025713.658 720848.826 0, 1025424.759 720847.321 0, 1025135.859 720845.833 0,
+ 1024846.96 720844.362 0, 1024558.06 720842.908 0, 1024269.161 720841.471 0, 1023980.261 720840.051 0, 1023691.362 720838.648 0, 1023402.462 720837.263 0, 1023113.562 720835.894 0, 1022824.662 720834.542 0, 1022535.762 720833.207 0, 1022246.862 720831.889 0,
+ 1021957.962 720830.588 0, 1021669.061 720829.304 0, 1021380.161 720828.037 0, 1021091.261 720826.787 0, 1020800.966 720825.549 0, 1020513.46 720824.339 0, 1020224.559 720823.14 0, 1019935.658 720821.958 0, 1019646.757 720820.793 0, 1019357.857 720819.645 0,
+ 1019068.956 720818.514 0, 1018780.055 720817.4 0, 1018491.154 720816.303 0, 1018202.253 720815.224 0, 1017913.351 720814.161 0, 1017624.45 720813.115 0, 1017335.549 720812.086 0, 1017046.648 720811.074 0, 1016757.746 720810.079 0, 1016468.845 720809.102 0,
+ 1016179.943 720808.141 0, 1015891.042 720807.197 0, 1015602.14 720806.27 0, 1015313.238 720805.36 0, 1015024.337 720804.468 0, 1014735.435 720803.592 0, 1014446.533 720802.733 0, 1014157.631 720801.891 0, 1013867.333 720801.062 0, 1013851.593 726372.393 0,
+ 1013835.853 731943.996 0, 1014125.491 731944.822 0, 1014413.737 731945.662 0, 1014701.983 731946.519 0, 1014990.229 731947.393 0, 1015278.475 731948.284 0, 1015566.721 731949.191 0, 1015854.967 731950.116 0, 1016143.212 731951.058 0, 1016431.458 731952.016 0,
+ 1016719.704 731952.992 0, 1017007.949 731953.985 0, 1017296.195 731954.994 0, 1017584.44 731956.021 0, 1017872.685 731957.064 0, 1018160.931 731958.125 0, 1018449.176 731959.202 0, 1018737.421 731960.296 0, 1019025.666 731961.408 0, 1019313.911 731962.536 0,
+ 1019602.156 731963.681 0, 1019890.401 731964.843 0, 1020178.646 731966.023 0, 1020466.891 731967.219 0, 1020753.744 731968.426 0, 1021043.38 731969.662 0, 1021331.625 731970.909 0, 1021619.869 731972.173 0, 1021908.114 731973.454 0, 1022196.358 731974.752 0,
+ 1022484.602 731976.067 0, 1022772.847 731977.399 0, 1023061.091 731978.748 0, 1023349.335 731980.114 0, 1023637.579 731981.496 0, 1023925.822 731982.896 0, 1024214.066 731984.313 0, 1024502.31 731985.746 0, 1024790.554 731987.197 0, 1025078.797 731988.665 0,
+ 1025367.041 731990.149 0, 1025655.284 731991.651 0, 1025943.527 731993.169 0, 1026231.77 731994.705 0, 1026520.013 731996.257 0, 1026808.256 731997.827 0, 1027096.499 731999.413 0, 1027384.742 732001.016 0, 1027671.595 732002.629 0, 1027703.076 726431.093 0,
+ 1027734.556 720859.829 0))
+
+POLYGON ((1041507.116 732100.35 0, 1041220.267 732097.927 0, 1040932.03 732095.51 0, 1040643.792 732093.109 0, 1040355.555 732090.725 0, 1040067.318 732088.358 0, 1039779.08 732086.009 0, 1039490.842 732083.676 0, 1039202.604 732081.36 0, 1038914.366 732079.061 0,
+ 1038626.128 732076.779 0, 1038337.889 732074.514 0, 1038049.651 732072.266 0, 1037761.412 732070.035 0, 1037473.173 732067.821 0, 1037184.935 732065.624 0, 1036896.696 732063.444 0, 1036608.456 732061.28 0, 1036320.217 732059.134 0, 1036031.978 732057.005 0,
+ 1035743.738 732054.893 0, 1035455.499 732052.797 0, 1035167.259 732050.719 0, 1034879.019 732048.658 0, 1034589.39 732046.603 0, 1034302.539 732044.586 0, 1034014.298 732042.575 0, 1033726.058 732040.582 0, 1033437.818 732038.605 0, 1033149.577 732036.646 0,
+ 1032861.336 732034.703 0, 1032573.095 732032.777 0, 1032284.855 732030.869 0, 1031996.613 732028.977 0, 1031708.372 732027.102 0, 1031420.131 732025.244 0, 1031131.89 732023.403 0, 1030843.648 732021.58 0, 1030555.407 732019.773 0, 1030267.165 732017.983 0,
+ 1029978.923 732016.21 0, 1029690.681 732014.454 0, 1029402.439 732012.715 0, 1029114.197 732010.993 0, 1028825.955 732009.287 0, 1028537.712 732007.599 0, 1028249.47 732005.928 0, 1027961.227 732004.274 0, 1027671.595 732002.629 0, 1027640.112 737574.432 0,
+ 1027608.627 743146.501 0, 1027897.601 743148.142 0, 1028185.187 743149.792 0, 1028472.774 743151.46 0, 1028760.36 743153.144 0, 1029047.947 743154.845 0, 1029335.533 743156.563 0, 1029623.119 743158.299 0, 1029910.705 743160.051 0, 1030198.291 743161.82 0,
+ 1030485.877 743163.605 0, 1030773.462 743165.408 0, 1031061.048 743167.228 0, 1031348.633 743169.065 0, 1031636.219 743170.918 0, 1031923.804 743172.789 0, 1032211.389 743174.676 0, 1032498.974 743176.58 0, 1032786.559 743178.502 0, 1033074.144 743180.44 0,
+ 1033361.729 743182.395 0, 1033649.313 743184.367 0, 1033936.898 743186.356 0, 1034224.482 743188.362 0, 1034510.68 743190.375 0, 1034799.65 743192.425 0, 1035087.234 743194.481 0, 1035374.818 743196.555 0, 1035662.402 743198.646 0, 1035949.986 743200.753 0,
+ 1036237.569 743202.878 0, 1036525.153 743205.019 0, 1036812.736 743207.177 0, 1037100.319 743209.352 0, 1037387.902 743211.544 0, 1037675.485 743213.753 0, 1037963.068 743215.979 0, 1038250.65 743218.222 0, 1038538.233 743220.482 0, 1038825.815 743222.759 0,
+ 1039113.397 743225.053 0, 1039400.979 743227.363 0, 1039688.561 743229.691 0, 1039976.143 743232.035 0, 1040263.725 743234.397 0, 1040551.306 743236.775 0, 1040838.887 743239.17 0, 1041126.469 743241.582 0, 1041412.665 743244 0, 1041459.892 737672.043 0,
+ 1041507.116 732100.35 0))
+
+POLYGON ((1055216.373 743380.497 0, 1054930.182 743377.271 0, 1054642.609 743374.047 0, 1054355.035 743370.839 0, 1054067.462 743367.648 0, 1053779.888 743364.474 0, 1053492.314 743361.317 0, 1053204.74 743358.177 0, 1052917.165 743355.054 0, 1052629.591 743351.948 0,
+ 1052342.016 743348.859 0, 1052054.441 743345.787 0, 1051766.866 743342.731 0, 1051479.29 743339.693 0, 1051191.715 743336.671 0, 1050904.139 743333.667 0, 1050616.564 743330.679 0, 1050328.988 743327.708 0, 1050041.411 743324.755 0, 1049753.835 743321.818 0,
+ 1049466.258 743318.898 0, 1049178.682 743315.995 0, 1048891.105 743313.109 0, 1048603.528 743310.24 0, 1048314.567 743307.374 0, 1048028.373 743304.552 0, 1047740.796 743301.734 0, 1047453.218 743298.932 0, 1047165.64 743296.148 0, 1046878.062 743293.38 0,
+ 1046590.484 743290.629 0, 1046302.906 743287.895 0, 1046015.327 743285.179 0, 1045727.748 743282.479 0, 1045440.17 743279.796 0, 1045152.591 743277.13 0, 1044865.011 743274.481 0, 1044577.432 743271.848 0, 1044289.853 743269.233 0, 1044002.273 743266.635 0,
+ 1043714.693 743264.053 0, 1043427.113 743261.489 0, 1043139.533 743258.941 0, 1042851.953 743256.411 0, 1042564.373 743253.897 0, 1042276.792 743251.4 0, 1041989.212 743248.92 0, 1041701.631 743246.457 0, 1041412.665 743244 0, 1041365.436 748816.218 0,
+ 1041318.205 754388.693 0, 1041606.512 754391.145 0, 1041893.437 754393.603 0, 1042180.361 754396.077 0, 1042467.286 754398.568 0, 1042754.21 754401.076 0, 1043041.135 754403.601 0, 1043328.059 754406.142 0, 1043614.983 754408.701 0, 1043901.907 754411.277 0,
+ 1044188.83 754413.869 0, 1044475.754 754416.478 0, 1044762.677 754419.105 0, 1045049.6 754421.748 0, 1045336.523 754424.408 0, 1045623.446 754427.085 0, 1045910.369 754429.778 0, 1046197.292 754432.489 0, 1046484.214 754435.216 0, 1046771.136 754437.961 0,
+ 1047058.058 754440.722 0, 1047344.98 754443.5 0, 1047631.902 754446.295 0, 1047918.824 754449.107 0, 1048204.364 754451.923 0, 1048492.666 754454.782 0, 1048779.587 754457.645 0, 1049066.508 754460.524 0, 1049353.429 754463.42 0, 1049640.35 754466.334 0,
+ 1049927.27 754469.264 0, 1050214.19 754472.211 0, 1050501.11 754475.175 0, 1050788.03 754478.156 0, 1051074.95 754481.154 0, 1051361.869 754484.168 0, 1051648.789 754487.2 0, 1051935.708 754490.248 0, 1052222.627 754493.313 0, 1052509.546 754496.395 0,
+ 1052796.464 754499.495 0, 1053083.383 754502.61 0, 1053370.301 754505.743 0, 1053657.219 754508.893 0, 1053944.137 754512.06 0, 1054231.055 754515.243 0, 1054517.972 754518.443 0, 1054804.89 754521.661 0, 1055090.427 754524.879 0, 1055153.401 748952.559 0,
+ 1055216.373 743380.497 0))
+
+POLYGON ((1068862.21 754699.974 0, 1068576.68 754695.949 0, 1068289.773 754691.921 0, 1068002.866 754687.91 0, 1067715.958 754683.916 0, 1067429.05 754679.939 0, 1067142.142 754675.978 0, 1066855.234 754672.035 0, 1066568.325 754668.108 0, 1066281.417 754664.199 0,
+ 1065994.508 754660.306 0, 1065707.599 754656.43 0, 1065420.689 754652.571 0, 1065133.779 754648.729 0, 1064846.87 754644.904 0, 1064559.959 754641.096 0, 1064273.049 754637.304 0, 1063986.139 754633.53 0, 1063699.228 754629.772 0, 1063412.317 754626.031 0,
+ 1063125.406 754622.307 0, 1062838.494 754618.6 0, 1062551.583 754614.91 0, 1062264.671 754611.237 0, 1061976.38 754607.563 0, 1061690.846 754603.941 0, 1061403.934 754600.319 0, 1061117.021 754596.713 0, 1060830.108 754593.124 0, 1060543.195 754589.552 0,
+ 1060256.282 754585.997 0, 1059969.368 754582.459 0, 1059682.454 754578.938 0, 1059395.54 754575.434 0, 1059108.626 754571.946 0, 1058821.712 754568.476 0, 1058534.797 754565.022 0, 1058247.883 754561.585 0, 1057960.968 754558.165 0, 1057674.052 754554.762 0,
+ 1057387.137 754551.376 0, 1057100.221 754548.007 0, 1056813.306 754544.654 0, 1056526.39 754541.319 0, 1056239.473 754538 0, 1055952.557 754534.699 0, 1055665.64 754531.414 0, 1055378.724 754528.146 0, 1055090.427 754524.879 0, 1055027.45 760097.453 0,
+ 1054964.471 765670.277 0, 1055252.108 765673.536 0, 1055538.369 765676.797 0, 1055824.629 765680.074 0, 1056110.89 765683.368 0, 1056397.15 765686.679 0, 1056683.41 765690.007 0, 1056969.67 765693.352 0, 1057255.929 765696.713 0, 1057542.189 765700.092 0,
+ 1057828.448 765703.487 0, 1058114.707 765706.899 0, 1058400.966 765710.328 0, 1058687.224 765713.774 0, 1058973.483 765717.237 0, 1059259.741 765720.716 0, 1059545.999 765724.212 0, 1059832.257 765727.726 0, 1060118.514 765731.256 0, 1060404.772 765734.802 0,
+ 1060691.029 765738.366 0, 1060977.286 765741.947 0, 1061263.542 765745.544 0, 1061549.799 765749.158 0, 1061834.68 765752.772 0, 1062122.311 765756.438 0, 1062408.567 765760.102 0, 1062694.823 765763.784 0, 1062981.078 765767.483 0, 1063267.333 765771.198 0,
+ 1063553.588 765774.93 0, 1063839.843 765778.679 0, 1064126.098 765782.445 0, 1064412.352 765786.228 0, 1064698.606 765790.027 0, 1064984.86 765793.844 0, 1065271.114 765797.677 0, 1065557.367 765801.527 0, 1065843.62 765805.394 0, 1066129.873 765809.278 0,
+ 1066416.126 765813.179 0, 1066702.379 765817.096 0, 1066988.631 765821.031 0, 1067274.883 765824.982 0, 1067561.135 765828.95 0, 1067847.387 765832.935 0, 1068133.638 765836.937 0, 1068419.889 765840.956 0, 1068704.766 765844.972 0, 1068783.49 760272.348 0,
+ 1068862.21 754699.974 0))
+
+POLYGON ((1082444.513 766058.484 0, 1082159.646 766053.663 0, 1081873.407 766048.836 0, 1081587.168 766044.025 0, 1081300.929 766039.232 0, 1081014.69 766034.455 0, 1080728.45 766029.695 0, 1080442.21 766024.952 0, 1080155.97 766020.226 0, 1079869.729 766015.516 0,
+ 1079583.488 766010.824 0, 1079297.247 766006.148 0, 1079011.006 766001.489 0, 1078724.764 765996.847 0, 1078438.522 765992.222 0, 1078152.28 765987.614 0, 1077866.037 765983.022 0, 1077579.794 765978.448 0, 1077293.551 765973.89 0, 1077007.308 765969.349 0,
+ 1076721.065 765964.825 0, 1076434.821 765960.318 0, 1076148.577 765955.827 0, 1075862.332 765951.354 0, 1075574.715 765946.876 0, 1075289.843 765942.457 0, 1075003.597 765938.034 0, 1074717.352 765933.628 0, 1074431.106 765929.239 0, 1074144.86 765924.866 0,
+ 1073858.614 765920.511 0, 1073572.368 765916.172 0, 1073286.121 765911.85 0, 1072999.874 765907.545 0, 1072713.627 765903.257 0, 1072427.379 765898.986 0, 1072141.132 765894.731 0, 1071854.884 765890.493 0, 1071568.636 765886.273 0, 1071282.387 765882.069 0,
+ 1070996.138 765877.881 0, 1070709.889 765873.711 0, 1070423.64 765869.558 0, 1070137.391 765865.421 0, 1069851.141 765861.301 0, 1069564.891 765857.199 0, 1069278.641 765853.113 0, 1068992.391 765849.043 0, 1068704.766 765844.972 0, 1068626.039 771417.843 0,
+ 1068547.308 776990.957 0, 1068834.274 776995.019 0, 1069119.868 776999.079 0, 1069405.462 777003.156 0, 1069691.056 777007.249 0, 1069976.65 777011.359 0, 1070262.243 777015.486 0, 1070547.836 777019.63 0, 1070833.429 777023.791 0, 1071119.022 777027.969 0,
+ 1071404.614 777032.163 0, 1071690.206 777036.374 0, 1071975.798 777040.602 0, 1072261.39 777044.847 0, 1072546.982 777049.108 0, 1072832.573 777053.387 0, 1073118.164 777057.682 0, 1073403.754 777061.994 0, 1073689.345 777066.323 0, 1073974.935 777070.668 0,
+ 1074260.525 777075.031 0, 1074546.115 777079.41 0, 1074831.704 777083.806 0, 1075117.293 777088.219 0, 1075401.512 777092.627 0, 1075688.471 777097.095 0, 1075974.059 777101.558 0, 1076259.647 777106.038 0, 1076545.235 777110.535 0, 1076830.822 777115.049 0,
+ 1077116.41 777119.579 0, 1077401.997 777124.127 0, 1077687.584 777128.691 0, 1077973.17 777133.272 0, 1078258.756 777137.87 0, 1078544.342 777142.484 0, 1078829.928 777147.116 0, 1079115.513 777151.764 0, 1079401.098 777156.429 0, 1079686.683 777161.11 0,
+ 1079972.268 777165.809 0, 1080257.852 777170.524 0, 1080543.436 777175.257 0, 1080829.02 777180.006 0, 1081114.604 777184.772 0, 1081400.187 777189.554 0, 1081685.77 777194.354 0, 1081971.352 777199.17 0, 1082255.566 777203.98 0, 1082350.041 771631.11 0,
+ 1082444.513 766058.484 0))
+
+POLYGON ((1095963.167 777455.73 0, 1095678.966 777450.118 0, 1095393.398 777444.495 0, 1095107.83 777438.888 0, 1094822.262 777433.299 0, 1094536.693 777427.726 0, 1094251.123 777422.17 0, 1093965.554 777416.631 0, 1093679.984 777411.109 0, 1093394.414 777405.604 0,
+ 1093108.843 777400.115 0, 1092823.273 777394.643 0, 1092537.701 777389.188 0, 1092252.13 777383.75 0, 1091966.558 777378.329 0, 1091680.986 777372.924 0, 1091395.414 777367.536 0, 1091109.841 777362.165 0, 1090824.268 777356.811 0, 1090538.695 777351.474 0,
+ 1090253.121 777346.153 0, 1089967.547 777340.85 0, 1089681.973 777335.563 0, 1089396.398 777330.293 0, 1089109.456 777325.014 0, 1088825.248 777319.803 0, 1088539.672 777314.583 0, 1088254.096 777309.38 0, 1087968.52 777304.194 0, 1087682.944 777299.025 0,
+ 1087397.367 777293.873 0, 1087111.79 777288.737 0, 1086826.213 777283.618 0, 1086540.635 777278.516 0, 1086255.057 777273.431 0, 1085969.479 777268.363 0, 1085683.9 777263.311 0, 1085398.321 777258.276 0, 1085112.742 777253.258 0, 1084827.163 777248.257 0,
+ 1084541.583 777243.273 0, 1084256.003 777238.305 0, 1083970.423 777233.354 0, 1083684.842 777228.421 0, 1083399.261 777223.503 0, 1083113.68 777218.603 0, 1082828.098 777213.72 0, 1082542.517 777208.853 0, 1082255.566 777203.98 0, 1082161.087 782777.089 0,
+ 1082066.603 788350.434 0, 1082352.895 788355.296 0, 1082637.82 788360.152 0, 1082922.746 788365.024 0, 1083207.671 788369.913 0, 1083492.596 788374.819 0, 1083777.52 788379.741 0, 1084062.445 788384.681 0, 1084347.369 788389.637 0, 1084632.292 788394.61 0,
+ 1084917.216 788399.599 0, 1085202.139 788404.606 0, 1085487.062 788409.629 0, 1085771.984 788414.669 0, 1086056.906 788419.726 0, 1086341.828 788424.799 0, 1086626.75 788429.89 0, 1086911.671 788434.997 0, 1087196.592 788440.121 0, 1087481.513 788445.261 0,
+ 1087766.433 788450.419 0, 1088051.353 788455.593 0, 1088336.273 788460.784 0, 1088621.193 788465.991 0, 1088904.748 788471.191 0, 1089191.031 788476.457 0, 1089475.949 788481.715 0, 1089760.868 788486.99 0, 1090045.785 788492.281 0, 1090330.703 788497.59 0,
+ 1090615.62 788502.915 0, 1090900.537 788508.256 0, 1091185.454 788513.615 0, 1091470.371 788518.99 0, 1091755.287 788524.383 0, 1092040.202 788529.792 0, 1092325.118 788535.217 0, 1092610.033 788540.66 0, 1092894.948 788546.119 0, 1093179.862 788551.595 0,
+ 1093464.776 788557.088 0, 1093749.69 788562.597 0, 1094034.604 788568.123 0, 1094319.517 788573.667 0, 1094604.43 788579.226 0, 1094889.342 788584.803 0, 1095174.254 788590.396 0, 1095459.166 788596.007 0, 1095742.715 788601.607 0, 1095852.943 783028.55 0,
+ 1095963.167 777455.73 0))
+
+POLYGON ((1109418.062 788891.415 0, 1109134.528 788885.014 0, 1108849.633 788878.599 0, 1108564.738 788872.201 0, 1108279.842 788865.819 0, 1107994.946 788859.455 0, 1107710.05 788853.107 0, 1107425.153 788846.775 0, 1107140.256 788840.461 0, 1106855.359 788834.163 0,
+ 1106570.461 788827.882 0, 1106285.563 788821.618 0, 1106000.664 788815.371 0, 1105715.765 788809.14 0, 1105430.866 788802.926 0, 1105145.966 788796.729 0, 1104861.066 788790.549 0, 1104576.166 788784.386 0, 1104291.265 788778.239 0, 1104006.364 788772.109 0,
+ 1103721.462 788765.996 0, 1103436.56 788759.899 0, 1103151.658 788753.819 0, 1102866.755 788747.756 0, 1102580.49 788741.681 0, 1102296.949 788735.681 0, 1102012.046 788729.668 0, 1101727.142 788723.673 0, 1101442.237 788717.693 0, 1101157.333 788711.731 0,
+ 1100872.427 788705.786 0, 1100587.522 788699.857 0, 1100302.616 788693.945 0, 1100017.71 788688.05 0, 1099732.804 788682.171 0, 1099447.897 788676.309 0, 1099162.99 788670.465 0, 1098878.082 788664.636 0, 1098593.175 788658.825 0, 1098308.266 788653.03 0,
+ 1098023.358 788647.253 0, 1097738.449 788641.491 0, 1097453.54 788635.747 0, 1097168.63 788630.02 0, 1096883.72 788624.309 0, 1096598.81 788618.615 0, 1096313.9 788612.938 0, 1096028.989 788607.277 0, 1095742.715 788601.607 0, 1095632.481 794174.895 0,
+ 1095522.243 799748.412 0, 1095807.858 799754.07 0, 1096092.113 799759.718 0, 1096376.368 799765.382 0, 1096660.622 799771.063 0, 1096944.876 799776.76 0, 1097229.129 799782.475 0, 1097513.382 799788.206 0, 1097797.635 799793.953 0, 1098081.887 799799.718 0,
+ 1098366.139 799805.499 0, 1098650.391 799811.297 0, 1098934.643 799817.112 0, 1099218.894 799822.943 0, 1099503.144 799828.792 0, 1099787.395 799834.657 0, 1100071.645 799840.538 0, 1100355.894 799846.437 0, 1100640.144 799852.352 0, 1100924.393 799858.284 0,
+ 1101208.641 799864.232 0, 1101492.89 799870.197 0, 1101777.138 799876.179 0, 1102061.385 799882.178 0, 1102344.274 799888.165 0, 1102629.879 799894.226 0, 1102914.126 799900.275 0, 1103198.372 799906.341 0, 1103482.618 799912.423 0, 1103766.863 799918.522 0,
+ 1104051.108 799924.638 0, 1104335.353 799930.771 0, 1104619.597 799936.92 0, 1104903.841 799943.086 0, 1105188.085 799949.269 0, 1105472.328 799955.468 0, 1105756.571 799961.685 0, 1106040.814 799967.918 0, 1106325.056 799974.167 0, 1106609.298 799980.434 0,
+ 1106893.539 799986.717 0, 1107177.78 799993.017 0, 1107462.021 799999.333 0, 1107746.261 800005.667 0, 1108030.501 800012.017 0, 1108314.741 800018.384 0, 1108598.98 800024.767 0, 1108883.219 800031.168 0, 1109166.1 800037.554 0, 1109292.083 794464.37 0,
+ 1109418.062 788891.415 0))
+
+POLYGON ((1122809.085 800365.241 0, 1122526.221 800358.055 0, 1122242.001 800350.852 0, 1121957.781 800343.665 0, 1121673.561 800336.495 0, 1121389.34 800329.342 0, 1121105.119 800322.206 0, 1120820.897 800315.086 0, 1120536.675 800307.983 0, 1120252.452 800300.897 0,
+ 1119968.229 800293.828 0, 1119684.006 800286.775 0, 1119399.782 800279.739 0, 1119115.558 800272.72 0, 1118831.333 800265.717 0, 1118547.108 800258.731 0, 1118262.883 800251.762 0, 1117978.657 800244.81 0, 1117694.431 800237.874 0, 1117410.204 800230.955 0,
+ 1117125.977 800224.053 0, 1116841.749 800217.168 0, 1116557.521 800210.299 0, 1116273.293 800203.447 0, 1115987.708 800196.579 0, 1115704.835 800189.793 0, 1115420.606 800182.991 0, 1115136.376 800176.206 0, 1114852.146 800169.438 0, 1114567.915 800162.686 0,
+ 1114283.684 800155.952 0, 1113999.452 800149.233 0, 1113715.22 800142.532 0, 1113430.988 800135.847 0, 1113146.756 800129.179 0, 1112862.522 800122.528 0, 1112578.289 800115.894 0, 1112294.055 800109.276 0, 1112009.821 800102.675 0, 1111725.586 800096.091 0,
+ 1111441.351 800089.523 0, 1111157.116 800082.972 0, 1110872.88 800076.438 0, 1110588.644 800069.921 0, 1110304.407 800063.42 0, 1110020.17 800056.936 0, 1109735.933 800050.469 0, 1109451.695 800044.018 0, 1109166.1 800037.554 0, 1109040.111 805610.963 0,
+ 1108914.117 811184.593 0, 1109199.054 811191.043 0, 1109482.635 811197.478 0, 1109766.217 811203.931 0, 1110049.797 811210.4 0, 1110333.378 811216.885 0, 1110616.958 811223.388 0, 1110900.538 811229.907 0, 1111184.117 811236.442 0, 1111467.696 811242.995 0,
+ 1111751.274 811249.564 0, 1112034.853 811256.15 0, 1112318.43 811262.752 0, 1112602.008 811269.372 0, 1112885.585 811276.007 0, 1113169.161 811282.66 0, 1113452.737 811289.329 0, 1113736.313 811296.015 0, 1114019.889 811302.718 0, 1114303.464 811309.437 0,
+ 1114587.038 811316.173 0, 1114870.613 811322.926 0, 1115154.186 811329.695 0, 1115437.76 811336.481 0, 1115719.979 811343.252 0, 1116004.905 811350.104 0, 1116288.478 811356.94 0, 1116572.05 811363.793 0, 1116855.621 811370.662 0, 1117139.192 811377.548 0,
+ 1117422.763 811384.451 0, 1117706.333 811391.371 0, 1117989.903 811398.307 0, 1118273.472 811405.26 0, 1118557.041 811412.23 0, 1118840.61 811419.216 0, 1119124.178 811426.219 0, 1119407.745 811433.239 0, 1119691.313 811440.276 0, 1119974.88 811447.329 0,
+ 1120258.446 811454.399 0, 1120542.012 811461.485 0, 1120825.578 811468.588 0, 1121109.143 811475.708 0, 1121392.708 811482.845 0, 1121676.272 811489.998 0, 1121959.836 811497.168 0, 1122243.4 811504.355 0, 1122525.611 811511.524 0, 1122667.35 805938.271 0,
+ 1122809.085 800365.241 0))
+
+POLYGON ((1136136.126 811876.907 0, 1135853.935 811868.941 0, 1135570.393 811860.953 0, 1135286.85 811852.982 0, 1135003.307 811845.028 0, 1134719.763 811837.09 0, 1134436.219 811829.169 0, 1134152.675 811821.265 0, 1133869.13 811813.377 0, 1133585.585 811805.507 0,
+ 1133302.039 811797.652 0, 1133018.492 811789.815 0, 1132734.946 811781.994 0, 1132451.398 811774.19 0, 1132167.851 811766.402 0, 1131884.303 811758.631 0, 1131600.754 811750.877 0, 1131317.205 811743.14 0, 1131033.655 811735.419 0, 1130750.105 811727.715 0,
+ 1130466.555 811720.028 0, 1130183.004 811712.357 0, 1129899.453 811704.703 0, 1129615.901 811697.066 0, 1129330.998 811689.409 0, 1129048.796 811681.841 0, 1128765.243 811674.254 0, 1128481.689 811666.684 0, 1128198.135 811659.13 0, 1127914.581 811651.593 0,
+ 1127631.026 811644.072 0, 1127347.471 811636.568 0, 1127063.915 811629.081 0, 1126780.359 811621.611 0, 1126496.802 811614.157 0, 1126213.245 811606.72 0, 1125929.687 811599.3 0, 1125646.129 811591.896 0, 1125362.571 811584.509 0, 1125079.012 811577.139 0,
+ 1124795.453 811569.786 0, 1124511.893 811562.449 0, 1124228.333 811555.129 0, 1123944.772 811547.825 0, 1123661.211 811540.538 0, 1123377.65 811533.268 0, 1123094.088 811526.015 0, 1122810.526 811518.778 0, 1122525.611 811511.524 0, 1122383.865 817084.994 0,
+ 1122242.115 822658.678 0, 1122526.37 822665.916 0, 1122809.277 822673.136 0, 1123092.182 822680.373 0, 1123375.088 822687.626 0, 1123657.993 822694.896 0, 1123940.897 822702.182 0, 1124223.801 822709.486 0, 1124506.705 822716.806 0, 1124789.608 822724.142 0,
+ 1125072.511 822731.495 0, 1125355.413 822738.865 0, 1125638.315 822746.252 0, 1125921.216 822753.655 0, 1126204.117 822761.075 0, 1126487.018 822768.511 0, 1126769.918 822775.964 0, 1127052.818 822783.434 0, 1127335.717 822790.92 0, 1127618.616 822798.423 0,
+ 1127901.514 822805.943 0, 1128184.412 822813.479 0, 1128467.31 822821.032 0, 1128750.207 822828.602 0, 1129031.755 822836.152 0, 1129316 822843.791 0, 1129598.895 822851.411 0, 1129881.791 822859.047 0, 1130164.685 822866.7 0, 1130447.58 822874.37 0,
+ 1130730.474 822882.056 0, 1131013.367 822889.759 0, 1131296.26 822897.478 0, 1131579.153 822905.214 0, 1131862.045 822912.967 0, 1132144.936 822920.737 0, 1132427.828 822928.523 0, 1132710.718 822936.326 0, 1132993.609 822944.145 0, 1133276.498 822951.981 0,
+ 1133559.388 822959.834 0, 1133842.277 822967.703 0, 1134125.165 822975.589 0, 1134408.053 822983.492 0, 1134690.94 822991.411 0, 1134973.827 822999.347 0, 1135256.714 823007.3 0, 1135539.6 823015.269 0, 1135821.139 823023.217 0, 1135978.636 817449.955 0,
+ 1136136.126 811876.907 0))
+
+POLYGON ((1149399.079 823426.117 0, 1149117.561 823417.374 0, 1148834.699 823408.605 0, 1148551.836 823399.853 0, 1148268.973 823391.118 0, 1147986.109 823382.4 0, 1147703.244 823373.698 0, 1147420.379 823365.013 0, 1147137.514 823356.344 0, 1146854.648 823347.692 0,
+ 1146571.781 823339.057 0, 1146288.914 823330.439 0, 1146006.046 823321.837 0, 1145723.178 823313.251 0, 1145440.31 823304.683 0, 1145157.441 823296.131 0, 1144874.571 823287.595 0, 1144591.701 823279.077 0, 1144308.831 823270.575 0, 1144025.96 823262.089 0,
+ 1143743.088 823253.62 0, 1143460.216 823245.168 0, 1143177.343 823236.733 0, 1142894.47 823228.314 0, 1142610.251 823219.872 0, 1142328.723 823211.526 0, 1142045.848 823203.157 0, 1141762.973 823194.805 0, 1141480.098 823186.47 0, 1141197.222 823178.151 0,
+ 1140914.345 823169.848 0, 1140631.468 823161.563 0, 1140348.591 823153.294 0, 1140065.713 823145.042 0, 1139782.834 823136.806 0, 1139499.955 823128.587 0, 1139217.076 823120.385 0, 1138934.196 823112.199 0, 1138651.316 823104.03 0, 1138368.435 823095.877 0,
+ 1138085.553 823087.742 0, 1137802.672 823079.622 0, 1137519.789 823071.52 0, 1137236.907 823063.434 0, 1136954.023 823055.365 0, 1136671.14 823047.312 0, 1136388.255 823039.277 0, 1136105.371 823031.257 0, 1135821.139 823023.217 0, 1135663.636 828596.689 0,
+ 1135506.127 834170.368 0, 1135789.7 834178.39 0, 1136071.929 834186.391 0, 1136354.157 834194.408 0, 1136636.384 834202.442 0, 1136918.612 834210.492 0, 1137200.838 834218.559 0, 1137483.064 834226.643 0, 1137765.29 834234.743 0, 1138047.515 834242.86 0,
+ 1138329.74 834250.994 0, 1138611.964 834259.144 0, 1138894.188 834267.311 0, 1139176.412 834275.494 0, 1139458.634 834283.694 0, 1139740.857 834291.911 0, 1140023.079 834300.144 0, 1140305.3 834308.393 0, 1140587.521 834316.66 0, 1140869.741 834324.943 0,
+ 1141151.961 834333.242 0, 1141434.181 834341.559 0, 1141716.4 834349.892 0, 1141998.618 834358.241 0, 1142279.493 834366.567 0, 1142563.054 834374.99 0, 1142845.271 834383.389 0, 1143127.487 834391.805 0, 1143409.703 834400.237 0, 1143691.919 834408.687 0,
+ 1143974.134 834417.152 0, 1144256.348 834425.635 0, 1144538.562 834434.134 0, 1144820.776 834442.649 0, 1145102.989 834451.181 0, 1145385.201 834459.73 0, 1145667.413 834468.295 0, 1145949.625 834476.877 0, 1146231.835 834485.476 0, 1146514.046 834494.091 0,
+ 1146796.256 834502.723 0, 1147078.465 834511.372 0, 1147360.674 834520.037 0, 1147642.883 834528.718 0, 1147925.091 834537.417 0, 1148207.298 834546.131 0, 1148489.505 834554.863 0, 1148771.711 834563.611 0, 1149052.576 834572.334 0, 1149225.83 828999.122 0,
+ 1149399.079 823426.117 0))
+
+POLYGON ((1162597.834 835012.569 0, 1162316.994 835003.053 0, 1162034.813 834993.507 0, 1161752.632 834983.979 0, 1161470.45 834974.467 0, 1161188.268 834964.971 0, 1160906.085 834955.492 0, 1160623.902 834946.03 0, 1160341.718 834936.584 0, 1160059.534 834927.155 0,
+ 1159777.349 834917.743 0, 1159495.163 834908.347 0, 1159212.977 834898.967 0, 1158930.79 834889.605 0, 1158648.603 834880.259 0, 1158366.415 834870.929 0, 1158084.227 834861.616 0, 1157802.038 834852.32 0, 1157519.849 834843.041 0, 1157237.659 834833.778 0,
+ 1156955.468 834824.531 0, 1156673.277 834815.301 0, 1156391.086 834806.088 0, 1156108.894 834796.892 0, 1155825.361 834787.668 0, 1155544.508 834778.548 0, 1155262.314 834769.402 0, 1154980.12 834760.272 0, 1154697.925 834751.158 0, 1154415.73 834742.061 0,
+ 1154133.534 834732.981 0, 1153851.337 834723.917 0, 1153569.14 834714.87 0, 1153286.943 834705.84 0, 1153004.745 834696.826 0, 1152722.546 834687.828 0, 1152440.347 834678.848 0, 1152158.148 834669.884 0, 1151875.947 834660.936 0, 1151593.747 834652.006 0,
+ 1151311.546 834643.091 0, 1151029.344 834634.194 0, 1150747.142 834625.313 0, 1150464.939 834616.448 0, 1150182.736 834607.601 0, 1149900.532 834598.77 0, 1149618.327 834589.955 0, 1149336.123 834581.157 0, 1149052.576 834572.334 0, 1148879.315 840145.749 0,
+ 1148706.047 845719.364 0, 1148988.935 845728.166 0, 1149270.484 845736.944 0, 1149552.032 845745.738 0, 1149833.58 845754.548 0, 1150115.127 845763.375 0, 1150396.674 845772.219 0, 1150678.22 845781.08 0, 1150959.766 845789.956 0, 1151241.311 845798.85 0,
+ 1151522.855 845807.76 0, 1151804.399 845816.687 0, 1152085.943 845825.63 0, 1152367.486 845834.59 0, 1152649.028 845843.566 0, 1152930.57 845852.559 0, 1153212.112 845861.568 0, 1153493.653 845870.594 0, 1153775.193 845879.637 0, 1154056.733 845888.696 0,
+ 1154338.272 845897.772 0, 1154619.811 845906.864 0, 1154901.349 845915.973 0, 1155182.887 845925.099 0, 1155463.086 845934.197 0, 1155745.96 845943.399 0, 1156027.496 845952.574 0, 1156309.032 845961.766 0, 1156590.567 845970.974 0, 1156872.101 845980.199 0,
+ 1157153.635 845989.441 0, 1157435.169 845998.699 0, 1157716.702 846007.973 0, 1157998.234 846017.265 0, 1158279.765 846026.572 0, 1158561.297 846035.897 0, 1158842.827 846045.238 0, 1159124.357 846054.595 0, 1159405.887 846063.969 0, 1159687.416 846073.36 0,
+ 1159968.944 846082.767 0, 1160250.472 846092.191 0, 1160531.999 846101.631 0, 1160813.526 846111.088 0, 1161095.052 846120.561 0, 1161376.578 846130.051 0, 1161658.103 846139.558 0, 1161939.628 846149.081 0, 1162219.815 846158.575 0, 1162408.828 840585.473 0,
+ 1162597.834 835012.569 0))
+
+POLYGON ((1175732.288 846635.964 0, 1175452.126 846625.678 0, 1175170.63 846615.36 0, 1174889.133 846605.058 0, 1174607.635 846594.773 0, 1174326.137 846584.504 0, 1174044.638 846574.252 0, 1173763.138 846564.016 0, 1173481.638 846553.797 0, 1173200.138 846543.594 0,
+ 1172918.636 846533.408 0, 1172637.134 846523.239 0, 1172355.632 846513.086 0, 1172074.129 846502.95 0, 1171792.625 846492.83 0, 1171511.121 846482.727 0, 1171229.616 846472.641 0, 1170948.11 846462.571 0, 1170666.604 846452.518 0, 1170385.098 846442.481 0,
+ 1170103.59 846432.46 0, 1169822.083 846422.457 0, 1169540.574 846412.47 0, 1169259.065 846402.499 0, 1168976.22 846392.498 0, 1168696.045 846382.608 0, 1168414.534 846372.687 0, 1168133.023 846362.783 0, 1167851.511 846352.895 0, 1167569.999 846343.024 0,
+ 1167288.486 846333.169 0, 1167006.972 846323.331 0, 1166725.458 846313.51 0, 1166443.943 846303.705 0, 1166162.427 846293.917 0, 1165880.911 846284.145 0, 1165599.395 846274.39 0, 1165317.878 846264.651 0, 1165036.36 846254.929 0, 1164754.842 846245.224 0,
+ 1164473.323 846235.535 0, 1164191.803 846225.863 0, 1163910.283 846216.207 0, 1163628.763 846206.568 0, 1163347.242 846196.945 0, 1163065.72 846187.339 0, 1162784.198 846177.75 0, 1162502.675 846168.177 0, 1162219.815 846158.575 0, 1162030.796 851731.874 0,
+ 1161841.77 857305.364 0, 1162123.97 857314.943 0, 1162404.837 857324.494 0, 1162685.703 857334.061 0, 1162966.568 857343.645 0, 1163247.434 857353.245 0, 1163528.298 857362.862 0, 1163809.162 857372.495 0, 1164090.025 857382.145 0, 1164370.888 857391.811 0,
+ 1164651.75 857401.494 0, 1164932.612 857411.193 0, 1165213.473 857420.909 0, 1165494.334 857430.641 0, 1165775.194 857440.39 0, 1166056.053 857450.156 0, 1166336.912 857459.938 0, 1166617.77 857469.736 0, 1166898.627 857479.551 0, 1167179.485 857489.383 0,
+ 1167460.341 857499.231 0, 1167741.197 857509.096 0, 1168022.052 857518.977 0, 1168302.907 857528.874 0, 1168582.429 857538.742 0, 1168864.615 857548.719 0, 1169145.468 857558.667 0, 1169426.32 857568.631 0, 1169707.172 857578.611 0, 1169988.023 857588.608 0,
+ 1170268.874 857598.621 0, 1170549.724 857608.651 0, 1170830.573 857618.698 0, 1171111.422 857628.761 0, 1171392.27 857638.84 0, 1171673.118 857648.936 0, 1171953.965 857659.049 0, 1172234.812 857669.178 0, 1172515.657 857679.324 0, 1172796.503 857689.486 0,
+ 1173077.347 857699.665 0, 1173358.191 857709.86 0, 1173639.035 857720.072 0, 1173919.878 857730.3 0, 1174200.72 857740.545 0, 1174481.562 857750.806 0, 1174762.403 857761.084 0, 1175043.243 857771.379 0, 1175322.752 857781.641 0, 1175527.524 852208.707 0,
+ 1175732.288 846635.964 0))
+
+POLYGON ((1188802.336 858296.001 0, 1188522.855 858284.95 0, 1188242.044 858273.862 0, 1187961.234 858262.79 0, 1187680.422 858251.736 0, 1187399.61 858240.698 0, 1187118.797 858229.676 0, 1186837.983 858218.671 0, 1186557.169 858207.682 0, 1186276.354 858196.71 0,
+ 1185995.539 858185.754 0, 1185714.723 858174.815 0, 1185433.906 858163.893 0, 1185153.089 858152.987 0, 1184872.271 858142.097 0, 1184591.452 858131.224 0, 1184310.633 858120.368 0, 1184029.813 858109.528 0, 1183748.992 858098.705 0, 1183468.171 858087.898 0,
+ 1183187.349 858077.107 0, 1182906.527 858066.334 0, 1182625.704 858055.576 0, 1182344.88 858044.836 0, 1182062.726 858034.061 0, 1181783.23 858023.404 0, 1181502.405 858012.713 0, 1181221.578 858002.038 0, 1180940.752 857991.38 0, 1180659.924 857980.738 0,
+ 1180379.096 857970.113 0, 1180098.267 857959.505 0, 1179817.438 857948.913 0, 1179536.608 857938.338 0, 1179255.777 857927.779 0, 1178974.946 857917.236 0, 1178694.114 857906.71 0, 1178413.281 857896.201 0, 1178132.448 857885.708 0, 1177851.614 857875.232 0,
+ 1177570.78 857864.772 0, 1177289.945 857854.329 0, 1177009.11 857843.902 0, 1176728.273 857833.492 0, 1176447.437 857823.099 0, 1176166.599 857812.722 0, 1175885.761 857802.361 0, 1175604.922 857792.017 0, 1175322.752 857781.641 0, 1175117.974 863354.763 0,
+ 1174913.189 868928.07 0, 1175194.7 868938.422 0, 1175474.882 868948.742 0, 1175755.064 868959.078 0, 1176035.246 868969.431 0, 1176315.426 868979.8 0, 1176595.607 868990.186 0, 1176875.786 869000.588 0, 1177155.965 869011.007 0, 1177436.143 869021.442 0,
+ 1177716.321 869031.894 0, 1177996.498 869042.362 0, 1178276.675 869052.847 0, 1178556.85 869063.348 0, 1178837.026 869073.866 0, 1179117.2 869084.4 0, 1179397.374 869094.951 0, 1179677.548 869105.518 0, 1179957.72 869116.102 0, 1180237.893 869126.702 0,
+ 1180518.064 869137.319 0, 1180798.235 869147.952 0, 1181078.405 869158.602 0, 1181358.575 869169.268 0, 1181637.417 869179.9 0, 1181918.912 869190.65 0, 1182199.08 869201.365 0, 1182479.247 869212.098 0, 1182759.413 869222.846 0, 1183039.579 869233.611 0,
+ 1183319.744 869244.393 0, 1183599.909 869255.191 0, 1183880.073 869266.005 0, 1184160.236 869276.837 0, 1184440.399 869287.684 0, 1184720.561 869298.548 0, 1185000.722 869309.429 0, 1185280.883 869320.326 0, 1185561.043 869331.239 0, 1185841.203 869342.169 0,
+ 1186121.361 869353.116 0, 1186401.52 869364.079 0, 1186681.677 869375.058 0, 1186961.834 869386.054 0, 1187241.99 869397.067 0, 1187522.146 869408.095 0, 1187802.301 869419.141 0, 1188082.455 869430.203 0, 1188361.283 869441.229 0, 1188581.813 863868.523 0,
+ 1188802.336 858296.001 0))
+
+POLYGON ((1201807.874 869992.379 0, 1201529.076 869980.565 0, 1201248.954 869968.712 0, 1200968.832 869956.875 0, 1200688.708 869945.055 0, 1200408.584 869933.251 0, 1200128.46 869921.463 0, 1199848.334 869909.693 0, 1199568.208 869897.938 0, 1199288.081 869886.2 0,
+ 1199007.954 869874.479 0, 1198727.826 869862.774 0, 1198447.697 869851.085 0, 1198167.567 869839.413 0, 1197887.437 869827.758 0, 1197607.306 869816.119 0, 1197327.175 869804.496 0, 1197047.042 869792.89 0, 1196766.91 869781.301 0, 1196486.776 869769.728 0,
+ 1196206.642 869758.171 0, 1195926.507 869746.631 0, 1195646.371 869735.107 0, 1195366.235 869723.6 0, 1195084.773 869712.055 0, 1194805.96 869700.635 0, 1194525.822 869689.178 0, 1194245.682 869677.737 0, 1193965.543 869666.312 0, 1193685.402 869654.904 0,
+ 1193405.261 869643.512 0, 1193125.12 869632.137 0, 1192844.977 869620.778 0, 1192564.834 869609.436 0, 1192284.69 869598.11 0, 1192004.546 869586.801 0, 1191724.401 869575.508 0, 1191444.255 869564.232 0, 1191164.109 869552.972 0, 1190883.962 869541.729 0,
+ 1190603.814 869530.502 0, 1190323.666 869519.292 0, 1190043.517 869508.098 0, 1189763.367 869496.921 0, 1189483.217 869485.76 0, 1189203.066 869474.615 0, 1188922.914 869463.487 0, 1188642.762 869452.376 0, 1188361.283 869441.229 0, 1188140.746 875014.115 0,
+ 1187920.202 880587.179 0, 1188201.021 880598.3 0, 1188480.518 880609.385 0, 1188760.013 880620.487 0, 1189039.508 880631.605 0, 1189319.002 880642.74 0, 1189598.496 880653.891 0, 1189877.989 880665.059 0, 1190157.482 880676.243 0, 1190436.973 880687.443 0,
+ 1190716.464 880698.66 0, 1190995.955 880709.894 0, 1191275.444 880721.144 0, 1191554.933 880732.41 0, 1191834.422 880743.693 0, 1192113.91 880754.992 0, 1192393.397 880766.308 0, 1192672.883 880777.64 0, 1192952.369 880788.988 0, 1193231.854 880800.353 0,
+ 1193511.338 880811.735 0, 1193790.822 880823.133 0, 1194070.305 880834.547 0, 1194349.787 880845.978 0, 1194627.948 880857.371 0, 1194908.75 880868.889 0, 1195188.23 880880.369 0, 1195467.71 880891.866 0, 1195747.189 880903.379 0, 1196026.667 880914.908 0,
+ 1196306.145 880926.454 0, 1196585.622 880938.017 0, 1196865.098 880949.595 0, 1197144.574 880961.191 0, 1197424.049 880972.802 0, 1197703.523 880984.431 0, 1197982.997 880996.075 0, 1198262.469 881007.736 0, 1198541.942 881019.414 0, 1198821.413 881031.108 0,
+ 1199100.884 881042.818 0, 1199380.354 881054.545 0, 1199659.823 881066.289 0, 1199939.292 881078.049 0, 1200218.76 881089.825 0, 1200498.228 881101.617 0, 1200777.694 881113.427 0, 1201057.16 881125.252 0, 1201335.305 881137.038 0, 1201571.594 875564.62 0,
+ 1201807.874 869992.379 0))
+
+POLYGON ((1214748.802 881724.796 0, 1214470.689 881712.224 0, 1214191.257 881699.609 0, 1213911.825 881687.01 0, 1213632.392 881674.428 0, 1213352.959 881661.862 0, 1213073.524 881649.313 0, 1212794.089 881636.78 0, 1212514.653 881624.264 0, 1212235.217 881611.764 0,
+ 1211955.779 881599.28 0, 1211676.341 881586.813 0, 1211396.903 881574.363 0, 1211117.463 881561.928 0, 1210838.023 881549.511 0, 1210558.582 881537.109 0, 1210279.14 881524.725 0, 1209999.698 881512.356 0, 1209720.254 881500.004 0, 1209440.81 881487.669 0,
+ 1209161.366 881475.35 0, 1208881.92 881463.047 0, 1208602.474 881450.761 0, 1208323.028 881438.491 0, 1208042.261 881426.18 0, 1207764.132 881414.001 0, 1207484.683 881401.781 0, 1207205.233 881389.577 0, 1206925.783 881377.389 0, 1206646.332 881365.218 0,
+ 1206366.88 881353.064 0, 1206087.427 881340.926 0, 1205807.974 881328.804 0, 1205528.52 881316.699 0, 1205249.065 881304.61 0, 1204969.61 881292.538 0, 1204690.154 881280.482 0, 1204410.697 881268.442 0, 1204131.239 881256.419 0, 1203851.781 881244.413 0,
+ 1203572.322 881232.423 0, 1203292.863 881220.449 0, 1203013.402 881208.492 0, 1202733.941 881196.551 0, 1202454.479 881184.627 0, 1202175.017 881172.719 0, 1201895.554 881160.828 0, 1201616.09 881148.953 0, 1201335.305 881137.038 0, 1201099.01 886709.629 0,
+ 1200862.707 892282.389 0, 1201142.833 892294.276 0, 1201421.641 892306.123 0, 1201700.448 892317.987 0, 1201979.254 892329.866 0, 1202258.06 892341.763 0, 1202536.865 892353.675 0, 1202815.669 892365.605 0, 1203094.473 892377.55 0, 1203373.276 892389.512 0,
+ 1203652.078 892401.49 0, 1203930.88 892413.485 0, 1204209.681 892425.496 0, 1204488.481 892437.524 0, 1204767.28 892449.568 0, 1205046.079 892461.628 0, 1205324.877 892473.705 0, 1205603.674 892485.798 0, 1205882.471 892497.908 0, 1206161.267 892510.034 0,
+ 1206440.062 892522.176 0, 1206718.856 892534.335 0, 1206997.65 892546.511 0, 1207276.443 892558.702 0, 1207553.92 892570.853 0, 1207834.027 892583.135 0, 1208112.818 892595.376 0, 1208391.608 892607.633 0, 1208670.397 892619.907 0, 1208949.186 892632.197 0,
+ 1209227.974 892644.503 0, 1209506.761 892656.826 0, 1209785.548 892669.166 0, 1210064.334 892681.521 0, 1210343.119 892693.894 0, 1210621.903 892706.282 0, 1210900.687 892718.687 0, 1211179.469 892731.109 0, 1211458.252 892743.546 0, 1211737.033 892756.001 0,
+ 1212015.814 892768.471 0, 1212294.594 892780.958 0, 1212573.373 892793.462 0, 1212852.151 892805.982 0, 1213130.929 892818.518 0, 1213409.706 892831.071 0, 1213688.482 892843.64 0, 1213967.258 892856.225 0, 1214244.718 892868.767 0, 1214496.764 887296.697 0,
+ 1214748.802 881724.796 0))
+
+POLYGON ((1227625.019 893492.95 0, 1227347.593 893479.623 0, 1227068.854 893466.25 0, 1226790.114 893452.894 0, 1226511.374 893439.554 0, 1226232.633 893426.23 0, 1225953.891 893412.922 0, 1225675.148 893399.631 0, 1225396.404 893386.357 0, 1225117.66 893373.099 0,
+ 1224838.915 893359.857 0, 1224560.169 893346.631 0, 1224281.422 893333.423 0, 1224002.675 893320.23 0, 1223723.927 893307.054 0, 1223445.178 893293.894 0, 1223166.428 893280.751 0, 1222887.677 893267.624 0, 1222608.926 893254.513 0, 1222330.174 893241.419 0,
+ 1222051.421 893228.341 0, 1221772.668 893215.28 0, 1221493.913 893202.235 0, 1221215.158 893189.207 0, 1220935.089 893176.133 0, 1220657.645 893163.199 0, 1220378.888 893150.22 0, 1220100.13 893137.257 0, 1219821.371 893124.31 0, 1219542.611 893111.38 0,
+ 1219263.851 893098.467 0, 1218985.089 893085.57 0, 1218706.327 893072.689 0, 1218427.564 893059.824 0, 1218148.801 893046.976 0, 1217870.037 893034.145 0, 1217591.272 893021.329 0, 1217312.506 893008.531 0, 1217033.739 892995.748 0, 1216754.972 892982.982 0,
+ 1216476.204 892970.233 0, 1216197.435 892957.5 0, 1215918.666 892944.783 0, 1215639.895 892932.083 0, 1215361.124 892919.399 0, 1215082.352 892906.731 0, 1214803.58 892894.08 0, 1214524.807 892881.445 0, 1214244.718 892868.767 0, 1213992.665 898441.003 0,
+ 1213740.604 904013.4 0, 1214020.034 904026.048 0, 1214298.151 904038.653 0, 1214576.268 904051.275 0, 1214854.384 904063.912 0, 1215132.499 904076.566 0, 1215410.613 904089.237 0, 1215688.727 904101.924 0, 1215966.839 904114.627 0, 1216244.952 904127.346 0,
+ 1216523.063 904140.082 0, 1216801.174 904152.835 0, 1217079.283 904165.603 0, 1217357.393 904178.388 0, 1217635.501 904191.19 0, 1217913.609 904204.008 0, 1218191.715 904216.842 0, 1218469.821 904229.692 0, 1218747.927 904242.559 0, 1219026.031 904255.442 0,
+ 1219304.135 904268.342 0, 1219582.238 904281.258 0, 1219860.341 904294.19 0, 1220138.442 904307.139 0, 1220415.233 904320.043 0, 1220694.643 904333.086 0, 1220972.742 904346.083 0, 1221250.841 904359.098 0, 1221528.938 904372.128 0, 1221807.035 904385.175 0,
+ 1222085.132 904398.238 0, 1222363.227 904411.318 0, 1222641.322 904424.414 0, 1222919.415 904437.527 0, 1223197.509 904450.655 0, 1223475.601 904463.8 0, 1223753.692 904476.962 0, 1224031.783 904490.14 0, 1224309.873 904503.334 0, 1224587.962 904516.545 0,
+ 1224866.051 904529.772 0, 1225144.139 904543.015 0, 1225422.225 904556.275 0, 1225700.312 904569.551 0, 1225978.397 904582.843 0, 1226256.481 904596.152 0, 1226534.565 904609.477 0, 1226812.648 904622.819 0, 1227089.421 904636.114 0, 1227357.224 899064.451 0,
+ 1227625.019 893492.95 0))
+
+POLYGON ((1240436.426 905296.538 0, 1240159.689 905282.461 0, 1239881.645 905268.334 0, 1239603.6 905254.223 0, 1239325.554 905240.129 0, 1239047.508 905226.051 0, 1238769.46 905211.989 0, 1238491.412 905197.944 0, 1238213.363 905183.915 0, 1237935.313 905169.902 0,
+ 1237657.262 905155.906 0, 1237379.21 905141.926 0, 1237101.158 905127.962 0, 1236823.105 905114.015 0, 1236545.05 905100.085 0, 1236266.996 905086.17 0, 1235988.94 905072.272 0, 1235710.883 905058.39 0, 1235432.826 905044.525 0, 1235154.768 905030.676 0,
+ 1234876.709 905016.844 0, 1234598.649 905003.028 0, 1234320.588 904989.228 0, 1234042.527 904975.444 0, 1233763.157 904961.612 0, 1233486.402 904947.926 0, 1233208.338 904934.192 0, 1232930.273 904920.474 0, 1232652.208 904906.772 0, 1232374.141 904893.087 0,
+ 1232096.074 904879.418 0, 1231818.006 904865.766 0, 1231539.938 904852.13 0, 1231261.868 904838.51 0, 1230983.798 904824.906 0, 1230705.727 904811.319 0, 1230427.655 904797.749 0, 1230149.582 904784.194 0, 1229871.509 904770.656 0, 1229593.435 904757.135 0,
+ 1229315.36 904743.629 0, 1229037.284 904730.141 0, 1228759.207 904716.668 0, 1228481.13 904703.212 0, 1228203.051 904689.772 0, 1227924.972 904676.349 0, 1227646.892 904662.942 0, 1227368.812 904649.551 0, 1227089.421 904636.114 0, 1226821.611 910207.934 0,
+ 1226553.794 915779.908 0, 1226832.525 915793.314 0, 1227109.95 915806.673 0, 1227387.374 915820.048 0, 1227664.797 915833.44 0, 1227942.219 915846.848 0, 1228219.641 915860.273 0, 1228497.062 915873.713 0, 1228774.482 915887.17 0, 1229051.901 915900.644 0,
+ 1229329.319 915914.133 0, 1229606.737 915927.639 0, 1229884.154 915941.162 0, 1230161.57 915954.701 0, 1230438.985 915968.256 0, 1230716.399 915981.827 0, 1230993.813 915995.415 0, 1231271.226 916009.019 0, 1231548.638 916022.639 0, 1231826.049 916036.276 0,
+ 1232103.459 916049.929 0, 1232380.869 916063.598 0, 1232658.278 916077.283 0, 1232935.686 916090.985 0, 1233211.788 916104.639 0, 1233490.499 916118.438 0, 1233767.905 916132.189 0, 1234045.31 916145.957 0, 1234322.713 916159.74 0, 1234600.117 916173.54 0,
+ 1234877.519 916187.356 0, 1235154.92 916201.189 0, 1235432.321 916215.038 0, 1235709.721 916228.903 0, 1235987.12 916242.785 0, 1236264.518 916256.683 0, 1236541.916 916270.597 0, 1236819.312 916284.527 0, 1237096.708 916298.474 0, 1237374.103 916312.437 0,
+ 1237651.497 916326.417 0, 1237928.891 916340.413 0, 1238206.283 916354.425 0, 1238483.675 916368.454 0, 1238761.066 916382.498 0, 1239038.456 916396.56 0, 1239315.845 916410.637 0, 1239593.233 916424.731 0, 1239869.317 916438.775 0, 1240152.875 910867.579 0,
+ 1240436.426 905296.538 0))
+
+POLYGON ((1253182.926 917135.257 0, 1252906.881 917120.433 0, 1252629.533 917105.556 0, 1252352.185 917090.695 0, 1252074.836 917075.85 0, 1251797.486 917061.021 0, 1251520.135 917046.209 0, 1251242.783 917031.413 0, 1250965.43 917016.634 0, 1250688.077 917001.871 0,
+ 1250410.722 916987.124 0, 1250133.367 916972.393 0, 1249856.011 916957.679 0, 1249578.654 916942.981 0, 1249301.296 916928.3 0, 1249023.937 916913.635 0, 1248746.578 916898.986 0, 1248469.217 916884.353 0, 1248191.856 916869.737 0, 1247914.494 916855.137 0,
+ 1247637.131 916840.553 0, 1247359.767 916825.986 0, 1247082.402 916811.435 0, 1246805.036 916796.901 0, 1246526.367 916782.314 0, 1246250.303 916767.88 0, 1245972.934 916753.395 0, 1245695.565 916738.925 0, 1245418.196 916724.472 0, 1245140.825 916710.036 0,
+ 1244863.453 916695.615 0, 1244586.081 916681.211 0, 1244308.708 916666.824 0, 1244031.333 916652.452 0, 1243753.958 916638.097 0, 1243476.583 916623.759 0, 1243199.206 916609.436 0, 1242921.828 916595.13 0, 1242644.45 916580.84 0, 1242367.071 916566.567 0,
+ 1242089.691 916552.31 0, 1241812.31 916538.069 0, 1241534.928 916523.845 0, 1241257.546 916509.637 0, 1240980.162 916495.445 0, 1240702.778 916481.269 0, 1240425.393 916467.11 0, 1240148.007 916452.967 0, 1239869.317 916438.775 0, 1239585.751 922010.12 0,
+ 1239302.178 927581.611 0, 1239580.209 927595.77 0, 1239856.939 927609.879 0, 1240133.668 927624.005 0, 1240410.397 927638.147 0, 1240687.124 927652.305 0, 1240963.851 927666.48 0, 1241240.577 927680.671 0, 1241517.302 927694.878 0, 1241794.026 927709.101 0,
+ 1242070.749 927723.341 0, 1242347.472 927737.597 0, 1242624.194 927751.869 0, 1242900.914 927766.157 0, 1243177.634 927780.462 0, 1243454.354 927794.783 0, 1243731.072 927809.121 0, 1244007.789 927823.474 0, 1244284.506 927837.844 0, 1244561.222 927852.231 0,
+ 1244837.937 927866.633 0, 1245114.651 927881.052 0, 1245391.364 927895.487 0, 1245668.076 927909.938 0, 1245943.488 927924.338 0, 1246221.498 927938.89 0, 1246498.208 927953.39 0, 1246774.917 927967.907 0, 1247051.625 927982.44 0, 1247328.333 927996.989 0,
+ 1247605.039 928011.554 0, 1247881.745 928026.136 0, 1248158.449 928040.734 0, 1248435.153 928055.348 0, 1248711.856 928069.979 0, 1248988.558 928084.625 0, 1249265.259 928099.289 0, 1249541.96 928113.968 0, 1249818.659 928128.664 0, 1250095.358 928143.376 0,
+ 1250372.056 928158.104 0, 1250648.753 928172.848 0, 1250925.449 928187.609 0, 1251202.144 928202.386 0, 1251478.838 928217.18 0, 1251755.532 928231.989 0, 1252032.224 928246.815 0, 1252308.916 928261.658 0, 1252584.308 928276.446 0, 1252883.621 922705.779 0,
+ 1253182.926 917135.257 0))
+
+POLYGON ((1265864.423 929008.804 0, 1265589.071 928993.237 0, 1265312.422 928977.613 0, 1265035.773 928962.005 0, 1264759.122 928946.414 0, 1264482.471 928930.839 0, 1264205.819 928915.28 0, 1263929.165 928899.738 0, 1263652.511 928884.211 0, 1263375.856 928868.702 0,
+ 1263099.2 928853.208 0, 1262822.543 928837.731 0, 1262545.886 928822.269 0, 1262269.227 928806.825 0, 1261992.567 928791.396 0, 1261715.907 928775.984 0, 1261439.245 928760.588 0, 1261162.583 928745.208 0, 1260885.92 928729.845 0, 1260609.256 928714.498 0,
+ 1260332.59 928699.167 0, 1260055.925 928683.853 0, 1259779.258 928668.554 0, 1259502.59 928653.272 0, 1259224.624 928637.935 0, 1258949.252 928622.757 0, 1258672.581 928607.524 0, 1258395.91 928592.307 0, 1258119.238 928577.107 0, 1257842.565 928561.923 0,
+ 1257565.891 928546.755 0, 1257289.216 928531.603 0, 1257012.54 928516.468 0, 1256735.863 928501.349 0, 1256459.186 928486.246 0, 1256182.507 928471.159 0, 1255905.828 928456.089 0, 1255629.148 928441.035 0, 1255352.466 928425.997 0, 1255075.784 928410.976 0,
+ 1254799.101 928395.971 0, 1254522.418 928380.982 0, 1254245.733 928366.009 0, 1253969.047 928351.053 0, 1253692.361 928336.113 0, 1253415.674 928321.19 0, 1253138.986 928306.282 0, 1252862.296 928291.391 0, 1252584.308 928276.446 0, 1252284.988 933847.256 0,
+ 1251985.66 939418.204 0, 1252262.99 939433.113 0, 1252539.023 939447.969 0, 1252815.055 939462.841 0, 1253091.087 939477.729 0, 1253367.117 939492.634 0, 1253643.147 939507.555 0, 1253919.176 939522.492 0, 1254195.204 939537.445 0, 1254471.231 939552.414 0,
+ 1254747.257 939567.4 0, 1255023.283 939582.402 0, 1255299.307 939597.421 0, 1255575.331 939612.455 0, 1255851.354 939627.506 0, 1256127.376 939642.573 0, 1256403.396 939657.656 0, 1256679.417 939672.756 0, 1256955.436 939687.872 0, 1257231.454 939703.004 0,
+ 1257507.471 939718.152 0, 1257783.488 939733.316 0, 1258059.503 939748.497 0, 1258335.518 939763.694 0, 1258610.238 939778.836 0, 1258887.545 939794.137 0, 1259163.557 939809.382 0, 1259439.568 939824.644 0, 1259715.578 939839.923 0, 1259991.588 939855.217 0,
+ 1260267.596 939870.528 0, 1260543.604 939885.855 0, 1260819.61 939901.198 0, 1261095.616 939916.557 0, 1261371.621 939931.933 0, 1261647.625 939947.325 0, 1261923.628 939962.733 0, 1262199.63 939978.158 0, 1262475.631 939993.598 0, 1262751.631 940009.055 0,
+ 1263027.63 940024.528 0, 1263303.629 940040.018 0, 1263579.626 940055.523 0, 1263855.623 940071.045 0, 1264131.619 940086.584 0, 1264407.614 940102.138 0, 1264683.607 940117.709 0, 1264959.6 940133.295 0, 1265234.3 940148.825 0, 1265549.365 934578.746 0,
+ 1265864.423 929008.804 0))
+
+POLYGON ((1278480.822 940916.874 0, 1278206.166 940900.568 0, 1277930.218 940884.201 0, 1277654.269 940867.851 0, 1277378.319 940851.517 0, 1277102.369 940835.199 0, 1276826.417 940818.897 0, 1276550.464 940802.612 0, 1276274.511 940786.343 0, 1275998.556 940770.09 0,
+ 1275722.601 940753.854 0, 1275446.644 940737.633 0, 1275170.687 940721.429 0, 1274894.728 940705.241 0, 1274618.769 940689.07 0, 1274342.809 940672.914 0, 1274066.848 940656.775 0, 1273790.885 940640.652 0, 1273514.922 940624.545 0, 1273238.958 940608.455 0,
+ 1272962.993 940592.381 0, 1272687.027 940576.323 0, 1272411.06 940560.281 0, 1272135.093 940544.256 0, 1271857.832 940528.172 0, 1271583.154 940512.254 0, 1271307.183 940496.277 0, 1271031.212 940480.316 0, 1270755.239 940464.372 0, 1270479.266 940448.444 0,
+ 1270203.291 940432.532 0, 1269927.316 940416.637 0, 1269651.34 940400.758 0, 1269375.362 940384.895 0, 1269099.384 940369.048 0, 1268823.405 940353.217 0, 1268547.425 940337.403 0, 1268271.444 940321.605 0, 1267995.462 940305.823 0, 1267719.479 940290.058 0,
+ 1267443.496 940274.308 0, 1267167.511 940258.575 0, 1266891.525 940242.858 0, 1266615.539 940227.158 0, 1266339.551 940211.473 0, 1266063.563 940195.805 0, 1265787.574 940180.153 0, 1265511.584 940164.518 0, 1265234.3 940148.825 0, 1264919.226 945719.039 0,
+ 1264604.146 951289.384 0, 1264880.771 951305.039 0, 1265156.106 951320.637 0, 1265431.439 951336.252 0, 1265706.772 951351.883 0, 1265982.104 951367.53 0, 1266257.435 951383.193 0, 1266532.765 951398.873 0, 1266808.093 951414.568 0, 1267083.422 951430.28 0,
+ 1267358.749 951446.008 0, 1267634.075 951461.753 0, 1267909.4 951477.513 0, 1268184.724 951493.29 0, 1268460.048 951509.083 0, 1268735.37 951524.892 0, 1269010.692 951540.717 0, 1269286.013 951556.559 0, 1269561.332 951572.416 0, 1269836.651 951588.29 0,
+ 1270111.969 951604.181 0, 1270387.286 951620.087 0, 1270662.602 951636.01 0, 1270937.917 951651.948 0, 1271211.942 951667.829 0, 1271488.544 951683.874 0, 1271763.856 951699.862 0, 1272039.167 951715.865 0, 1272314.478 951731.885 0, 1272589.787 951747.921 0,
+ 1272865.095 951763.973 0, 1273140.403 951780.042 0, 1273415.709 951796.126 0, 1273691.015 951812.227 0, 1273966.32 951828.344 0, 1274241.623 951844.477 0, 1274516.926 951860.627 0, 1274792.228 951876.792 0, 1275067.529 951892.974 0, 1275342.829 951909.172 0,
+ 1275618.127 951925.387 0, 1275893.425 951941.617 0, 1276168.722 951957.864 0, 1276444.018 951974.126 0, 1276719.314 951990.405 0, 1276994.608 952006.701 0, 1277269.901 952023.012 0, 1277545.193 952039.34 0, 1277819.197 952055.607 0, 1278150.013 946486.175 0,
+ 1278480.822 940916.874 0))
+
+POLYGON ((1291032.03 952859.163 0, 1290758.071 952842.121 0, 1290482.826 952825.016 0, 1290207.58 952807.927 0, 1289932.333 952790.854 0, 1289657.085 952773.797 0, 1289381.836 952756.756 0, 1289106.586 952739.732 0, 1288831.335 952722.724 0, 1288556.083 952705.732 0,
+ 1288280.83 952688.756 0, 1288005.576 952671.797 0, 1287730.321 952654.853 0, 1287455.065 952637.926 0, 1287179.808 952621.015 0, 1286904.55 952604.121 0, 1286629.291 952587.242 0, 1286354.031 952570.38 0, 1286078.77 952553.534 0, 1285803.508 952536.704 0,
+ 1285528.245 952519.89 0, 1285252.981 952503.093 0, 1284977.717 952486.311 0, 1284702.451 952469.546 0, 1284425.897 952452.719 0, 1284151.916 952436.064 0, 1283876.647 952419.348 0, 1283601.377 952402.648 0, 1283326.106 952385.963 0, 1283050.834 952369.296 0,
+ 1282775.562 952352.644 0, 1282500.288 952336.008 0, 1282225.013 952319.389 0, 1281949.737 952302.786 0, 1281674.461 952286.199 0, 1281399.183 952269.628 0, 1281123.904 952253.074 0, 1280848.625 952236.536 0, 1280573.344 952220.013 0, 1280298.062 952203.508 0,
+ 1280022.78 952187.018 0, 1279747.496 952170.544 0, 1279472.212 952154.087 0, 1279196.926 952137.646 0, 1278921.64 952121.221 0, 1278646.352 952104.813 0, 1278371.064 952088.42 0, 1278095.775 952072.044 0, 1277819.197 952055.607 0, 1277488.373 957625.165 0,
+ 1277157.542 963194.845 0, 1277433.461 963211.243 0, 1277708.095 963227.58 0, 1277982.727 963243.933 0, 1278257.359 963260.303 0, 1278531.99 963276.689 0, 1278806.62 963293.091 0, 1279081.249 963309.509 0, 1279355.877 963325.943 0, 1279630.504 963342.394 0,
+ 1279905.13 963358.86 0, 1280179.755 963375.343 0, 1280454.379 963391.842 0, 1280729.002 963408.357 0, 1281003.624 963424.888 0, 1281278.245 963441.435 0, 1281552.865 963457.999 0, 1281827.484 963474.579 0, 1282102.102 963491.175 0, 1282376.72 963507.787 0,
+ 1282651.336 963524.415 0, 1282925.951 963541.059 0, 1283200.565 963557.72 0, 1283475.179 963574.396 0, 1283748.508 963591.011 0, 1284024.402 963607.798 0, 1284299.013 963624.524 0, 1284573.622 963641.265 0, 1284848.23 963658.022 0, 1285122.838 963674.796 0,
+ 1285397.444 963691.586 0, 1285672.05 963708.392 0, 1285946.654 963725.214 0, 1286221.258 963742.053 0, 1286495.86 963758.907 0, 1286770.461 963775.778 0, 1287045.062 963792.664 0, 1287319.661 963809.567 0, 1287594.26 963826.487 0, 1287868.857 963843.422 0,
+ 1288143.454 963860.373 0, 1288418.049 963877.341 0, 1288692.644 963894.325 0, 1288967.237 963911.325 0, 1289241.83 963928.341 0, 1289516.421 963945.373 0, 1289791.012 963962.422 0, 1290065.601 963979.486 0, 1290338.907 963996.487 0, 1290685.473 958427.764 0,
+ 1291032.03 952859.163 0))
+
+POLYGON ((1303517.956 964835.366 0, 1303244.696 964817.592 0, 1302970.156 964799.752 0, 1302695.615 964781.928 0, 1302421.073 964764.12 0, 1302146.529 964746.328 0, 1301871.985 964728.552 0, 1301597.44 964710.793 0, 1301322.893 964693.05 0, 1301048.346 964675.322 0,
+ 1300773.797 964657.611 0, 1300499.248 964639.916 0, 1300224.697 964622.238 0, 1299950.145 964604.575 0, 1299675.593 964586.929 0, 1299401.039 964569.299 0, 1299126.484 964551.685 0, 1298851.928 964534.087 0, 1298577.372 964516.505 0, 1298302.814 964498.939 0,
+ 1298028.255 964481.39 0, 1297753.695 964463.857 0, 1297479.134 964446.339 0, 1297204.572 964428.839 0, 1296928.728 964411.272 0, 1296655.445 964393.885 0, 1296380.88 964376.433 0, 1296106.313 964358.996 0, 1295831.746 964341.576 0, 1295557.178 964324.172 0,
+ 1295282.609 964306.784 0, 1295008.039 964289.413 0, 1294733.468 964272.057 0, 1294458.895 964254.718 0, 1294184.322 964237.395 0, 1293909.748 964220.088 0, 1293635.172 964202.797 0, 1293360.596 964185.522 0, 1293086.019 964168.264 0, 1292811.44 964151.021 0,
+ 1292536.861 964133.795 0, 1292262.281 964116.585 0, 1291987.699 964099.391 0, 1291713.117 964082.213 0, 1291438.533 964065.052 0, 1291163.949 964047.906 0, 1290889.363 964030.777 0, 1290614.777 964013.664 0, 1290338.907 963996.487 0, 1289992.335 969565.329 0,
+ 1289645.755 975134.284 0, 1289920.966 975151.42 0, 1290194.897 975168.492 0, 1290468.827 975185.581 0, 1290742.756 975202.685 0, 1291016.684 975219.806 0, 1291290.611 975236.943 0, 1291564.536 975254.095 0, 1291838.461 975271.264 0, 1292112.385 975288.449 0,
+ 1292386.308 975305.651 0, 1292660.23 975322.868 0, 1292934.151 975340.101 0, 1293208.07 975357.351 0, 1293481.989 975374.617 0, 1293755.907 975391.899 0, 1294029.824 975409.197 0, 1294303.739 975426.511 0, 1294577.654 975443.841 0, 1294851.568 975461.187 0,
+ 1295125.481 975478.55 0, 1295399.392 975495.928 0, 1295673.303 975513.323 0, 1295947.212 975530.734 0, 1296219.843 975548.079 0, 1296495.029 975565.604 0, 1296768.935 975583.063 0, 1297042.841 975600.538 0, 1297316.745 975618.029 0, 1297590.648 975635.537 0,
+ 1297864.551 975653.061 0, 1298138.452 975670.6 0, 1298412.353 975688.156 0, 1298686.252 975705.728 0, 1298960.15 975723.316 0, 1299234.047 975740.921 0, 1299507.944 975758.541 0, 1299781.839 975776.178 0, 1300055.733 975793.83 0, 1300329.626 975811.499 0,
+ 1300603.518 975829.184 0, 1300877.409 975846.885 0, 1301151.299 975864.602 0, 1301425.188 975882.335 0, 1301699.076 975900.085 0, 1301972.962 975917.85 0, 1302246.848 975935.632 0, 1302520.733 975953.429 0, 1302793.34 975971.16 0, 1303155.651 970403.206 0,
+ 1303517.956 964835.366 0))
+
+POLYGON ((1315938.508 976845.177 0, 1315665.95 976826.676 0, 1315392.117 976808.104 0, 1315118.282 976789.549 0, 1314844.447 976771.01 0, 1314570.61 976752.487 0, 1314296.772 976733.98 0, 1314022.933 976715.489 0, 1313749.094 976697.014 0, 1313475.253 976678.556 0,
+ 1313201.411 976660.113 0, 1312927.567 976641.687 0, 1312653.723 976623.277 0, 1312379.878 976604.882 0, 1312106.031 976586.504 0, 1311832.184 976568.143 0, 1311558.335 976549.797 0, 1311284.486 976531.467 0, 1311010.635 976513.154 0, 1310736.783 976494.856 0,
+ 1310462.93 976476.575 0, 1310189.076 976458.31 0, 1309915.221 976440.061 0, 1309641.365 976421.828 0, 1309366.232 976403.526 0, 1309093.65 976385.41 0, 1308819.791 976367.226 0, 1308545.93 976349.057 0, 1308272.069 976330.905 0, 1307998.206 976312.769 0,
+ 1307724.343 976294.649 0, 1307450.478 976276.545 0, 1307176.612 976258.457 0, 1306902.745 976240.385 0, 1306628.878 976222.329 0, 1306355.009 976204.29 0, 1306081.139 976186.266 0, 1305807.268 976168.259 0, 1305533.396 976150.268 0, 1305259.522 976132.293 0,
+ 1304985.648 976114.334 0, 1304711.773 976096.391 0, 1304437.897 976078.465 0, 1304164.019 976060.554 0, 1303890.141 976042.66 0, 1303616.261 976024.781 0, 1303342.381 976006.919 0, 1303068.499 975989.073 0, 1302793.34 975971.16 0, 1302431.021 981539.225 0,
+ 1302068.695 987107.395 0, 1302343.196 987125.265 0, 1302616.422 987143.069 0, 1302889.648 987160.888 0, 1303162.872 987178.724 0, 1303436.095 987196.575 0, 1303709.316 987214.443 0, 1303982.537 987232.327 0, 1304255.757 987250.227 0, 1304528.976 987268.142 0,
+ 1304802.194 987286.074 0, 1305075.41 987304.023 0, 1305348.626 987321.987 0, 1305621.84 987339.967 0, 1305895.054 987357.963 0, 1306168.266 987375.976 0, 1306441.478 987394.004 0, 1306714.688 987412.049 0, 1306987.897 987430.109 0, 1307261.105 987448.186 0,
+ 1307534.313 987466.279 0, 1307807.519 987484.388 0, 1308080.724 987502.513 0, 1308353.928 987520.654 0, 1308625.858 987538.727 0, 1308900.332 987556.984 0, 1309173.533 987575.174 0, 1309446.732 987593.379 0, 1309719.931 987611.6 0, 1309993.129 987629.838 0,
+ 1310266.325 987648.092 0, 1310539.52 987666.361 0, 1310812.715 987684.647 0, 1311085.908 987702.949 0, 1311359.1 987721.267 0, 1311632.291 987739.601 0, 1311905.481 987757.951 0, 1312178.67 987776.317 0, 1312451.858 987794.699 0, 1312725.044 987813.098 0,
+ 1312998.23 987831.512 0, 1313271.414 987849.943 0, 1313544.598 987868.389 0, 1313817.78 987886.852 0, 1314090.961 987905.331 0, 1314364.142 987923.825 0, 1314637.321 987942.336 0, 1314910.499 987960.863 0, 1315182.404 987979.32 0, 1315560.46 982412.195 0,
+ 1315938.508 976845.177 0))
+
+POLYGON ((1328293.598 988888.29 0, 1328021.743 988869.065 0, 1327748.619 988849.766 0, 1327475.493 988830.484 0, 1327202.366 988811.217 0, 1326929.238 988791.967 0, 1326656.109 988772.732 0, 1326382.979 988753.514 0, 1326109.847 988734.312 0, 1325836.715 988715.126 0,
+ 1325563.581 988695.956 0, 1325290.446 988676.802 0, 1325017.31 988657.664 0, 1324744.173 988638.542 0, 1324471.035 988619.436 0, 1324197.896 988600.347 0, 1323924.756 988581.273 0, 1323651.614 988562.215 0, 1323378.472 988543.174 0, 1323105.328 988524.149 0,
+ 1322832.183 988505.139 0, 1322559.037 988486.146 0, 1322285.89 988467.169 0, 1322012.742 988448.208 0, 1321738.322 988429.175 0, 1321466.442 988410.334 0, 1321193.29 988391.421 0, 1320920.137 988372.524 0, 1320646.984 988353.644 0, 1320373.829 988334.779 0,
+ 1320100.673 988315.931 0, 1319827.516 988297.098 0, 1319554.357 988278.282 0, 1319281.198 988259.481 0, 1319008.038 988240.697 0, 1318734.876 988221.929 0, 1318461.713 988203.177 0, 1318188.55 988184.441 0, 1317915.385 988165.721 0, 1317642.219 988147.017 0,
+ 1317369.052 988128.33 0, 1317095.884 988109.658 0, 1316822.714 988091.002 0, 1316549.544 988072.363 0, 1316276.373 988053.739 0, 1316003.2 988035.132 0, 1315730.026 988016.541 0, 1315456.852 987997.966 0, 1315182.404 987979.32 0, 1314804.342 993546.547 0,
+ 1314426.273 999113.872 0, 1314700.062 999132.472 0, 1314972.581 999151.003 0, 1315245.1 999169.55 0, 1315517.617 999188.112 0, 1315790.133 999206.691 0, 1316062.648 999225.286 0, 1316335.162 999243.897 0, 1316607.675 999262.524 0, 1316880.186 999281.167 0,
+ 1317152.697 999299.826 0, 1317425.207 999318.501 0, 1317697.715 999337.192 0, 1317970.222 999355.899 0, 1318242.729 999374.622 0, 1318515.234 999393.361 0, 1318787.738 999412.116 0, 1319060.241 999430.887 0, 1319332.743 999449.675 0, 1319605.243 999468.478 0,
+ 1319877.743 999487.297 0, 1320150.241 999506.133 0, 1320422.739 999524.984 0, 1320695.235 999543.852 0, 1320966.463 999562.647 0, 1321240.224 999581.635 0, 1321512.717 999600.55 0, 1321785.209 999619.482 0, 1322057.7 999638.43 0, 1322330.189 999657.393 0,
+ 1322602.678 999676.373 0, 1322875.165 999695.369 0, 1323147.651 999714.381 0, 1323420.136 999733.408 0, 1323692.62 999752.452 0, 1323965.103 999771.512 0, 1324237.585 999790.588 0, 1324510.066 999809.68 0, 1324782.545 999828.788 0, 1325055.024 999847.912 0,
+ 1325327.501 999867.052 0, 1325599.977 999886.209 0, 1325872.452 999905.381 0, 1326144.926 999924.569 0, 1326417.399 999943.773 0, 1326689.87 999962.994 0, 1326962.341 999982.23 0, 1327234.81 1000001.482 0, 1327506.012 1000020.661 0, 1327899.808 994454.427 0,
+ 1328293.598 988888.29 0))
+
+POLYGON ((1340583.137 1000964.399 0, 1340311.988 1000944.454 0, 1340039.575 1000924.432 0, 1339767.159 1000904.426 0, 1339494.743 1000884.436 0, 1339222.326 1000864.462 0, 1338949.907 1000844.504 0, 1338677.488 1000824.562 0, 1338405.067 1000804.637 0, 1338132.644 1000784.727 0,
+ 1337860.221 1000764.833 0, 1337587.797 1000744.955 0, 1337315.371 1000725.093 0, 1337042.944 1000705.248 0, 1336770.516 1000685.418 0, 1336498.087 1000665.604 0, 1336225.657 1000645.807 0, 1335953.226 1000626.025 0, 1335680.793 1000606.26 0, 1335408.359 1000586.51 0,
+ 1335135.924 1000566.777 0, 1334863.488 1000547.059 0, 1334591.051 1000527.358 0, 1334318.613 1000507.673 0, 1334044.908 1000487.912 0, 1333773.732 1000468.35 0, 1333501.29 1000448.713 0, 1333228.847 1000429.092 0, 1332956.403 1000409.486 0, 1332683.958 1000389.897 0,
+ 1332411.511 1000370.324 0, 1332139.064 1000350.767 0, 1331866.615 1000331.226 0, 1331594.165 1000311.701 0, 1331321.714 1000292.192 0, 1331049.262 1000272.699 0, 1330776.808 1000253.222 0, 1330504.354 1000233.762 0, 1330231.898 1000214.317 0, 1329959.441 1000194.888 0,
+ 1329686.983 1000175.475 0, 1329414.524 1000156.079 0, 1329142.064 1000136.698 0, 1328869.602 1000117.333 0, 1328597.14 1000097.985 0, 1328324.676 1000078.652 0, 1328052.211 1000059.336 0, 1327779.745 1000040.035 0, 1327506.012 1000020.661 0, 1327112.21 1005586.989 0,
+ 1326718.4 1011153.408 0, 1326991.475 1011172.735 0, 1327263.286 1011191.989 0, 1327535.096 1011211.259 0, 1327806.904 1011230.545 0, 1328078.711 1011249.847 0, 1328350.517 1011269.165 0, 1328622.322 1011288.5 0, 1328894.126 1011307.85 0, 1329165.929 1011327.216 0,
+ 1329437.731 1011346.598 0, 1329709.531 1011365.996 0, 1329981.33 1011385.41 0, 1330253.129 1011404.84 0, 1330524.926 1011424.286 0, 1330796.722 1011443.748 0, 1331068.516 1011463.226 0, 1331340.31 1011482.72 0, 1331612.102 1011502.23 0, 1331883.894 1011521.756 0,
+ 1332155.684 1011541.298 0, 1332427.473 1011560.856 0, 1332699.261 1011580.43 0, 1332971.047 1011600.02 0, 1333241.571 1011619.535 0, 1333514.617 1011639.248 0, 1333786.4 1011658.886 0, 1334058.183 1011678.54 0, 1334329.963 1011698.21 0, 1334601.743 1011717.896 0,
+ 1334873.522 1011737.598 0, 1335145.299 1011757.316 0, 1335417.076 1011777.05 0, 1335688.851 1011796.8 0, 1335960.625 1011816.566 0, 1336232.397 1011836.348 0, 1336504.169 1011856.146 0, 1336775.939 1011875.96 0, 1337047.709 1011895.79 0, 1337319.477 1011915.636 0,
+ 1337591.244 1011935.498 0, 1337863.01 1011955.376 0, 1338134.774 1011975.27 0, 1338406.538 1011995.18 0, 1338678.3 1012015.106 0, 1338950.061 1012035.048 0, 1339221.821 1012055.005 0, 1339493.58 1012074.979 0, 1339764.077 1012094.877 0, 1340173.61 1006529.593 0,
+ 1340583.137 1000964.399 0))
+
+POLYGON ((1352807.041 1013073.198 0, 1352536.599 1013052.537 0, 1352264.898 1013031.795 0, 1351993.196 1013011.069 0, 1351721.492 1012990.36 0, 1351449.787 1012969.666 0, 1351178.081 1012948.988 0, 1350906.374 1012928.327 0, 1350634.665 1012907.681 0, 1350362.955 1012887.051 0,
+ 1350091.244 1012866.438 0, 1349819.532 1012845.84 0, 1349547.819 1012825.258 0, 1349276.104 1012804.693 0, 1349004.388 1012784.143 0, 1348732.671 1012763.609 0, 1348460.953 1012743.092 0, 1348189.234 1012722.59 0, 1347917.513 1012702.104 0, 1347645.791 1012681.634 0,
+ 1347374.068 1012661.181 0, 1347102.344 1012640.743 0, 1346830.618 1012620.321 0, 1346558.892 1012599.915 0, 1346285.904 1012579.431 0, 1346015.435 1012559.152 0, 1345743.704 1012538.794 0, 1345471.973 1012518.452 0, 1345200.24 1012498.126 0, 1344928.507 1012477.817 0,
+ 1344656.771 1012457.523 0, 1344385.035 1012437.245 0, 1344113.298 1012416.983 0, 1343841.559 1012396.737 0, 1343569.819 1012376.508 0, 1343298.078 1012356.294 0, 1343026.336 1012336.096 0, 1342754.593 1012315.914 0, 1342482.848 1012295.748 0, 1342211.102 1012275.598 0,
+ 1341939.355 1012255.464 0, 1341667.607 1012235.347 0, 1341395.858 1012215.245 0, 1341124.108 1012195.159 0, 1340852.356 1012175.089 0, 1340580.603 1012155.035 0, 1340308.849 1012134.997 0, 1340037.094 1012114.975 0, 1339764.077 1012094.877 0, 1339354.537 1017660.246 0,
+ 1338944.991 1023225.696 0, 1339217.35 1023245.747 0, 1339488.45 1023265.72 0, 1339759.549 1023285.71 0, 1340030.646 1023305.715 0, 1340301.743 1023325.737 0, 1340572.838 1023345.774 0, 1340843.932 1023365.828 0, 1341115.025 1023385.897 0, 1341386.117 1023405.982 0,
+ 1341657.208 1023426.084 0, 1341928.297 1023446.201 0, 1342199.386 1023466.334 0, 1342470.473 1023486.483 0, 1342741.559 1023506.648 0, 1343012.643 1023526.829 0, 1343283.727 1023547.027 0, 1343554.809 1023567.239 0, 1343825.89 1023587.468 0, 1344096.97 1023607.713 0,
+ 1344368.049 1023627.974 0, 1344639.127 1023648.251 0, 1344910.203 1023668.544 0, 1345181.278 1023688.852 0, 1345451.096 1023709.083 0, 1345723.425 1023729.518 0, 1345994.497 1023749.874 0, 1346265.567 1023770.247 0, 1346536.636 1023790.635 0, 1346807.704 1023811.04 0,
+ 1347078.771 1023831.46 0, 1347349.837 1023851.896 0, 1347620.901 1023872.349 0, 1347891.964 1023892.817 0, 1348163.026 1023913.301 0, 1348434.087 1023933.801 0, 1348705.147 1023954.317 0, 1348976.205 1023974.85 0, 1349247.262 1023995.398 0, 1349518.318 1024015.962 0,
+ 1349789.373 1024036.541 0, 1350060.426 1024057.137 0, 1350331.479 1024077.749 0, 1350602.53 1024098.377 0, 1350873.58 1024119.021 0, 1351144.628 1024139.68 0, 1351415.676 1024160.356 0, 1351686.722 1024181.048 0, 1351956.512 1024201.659 0, 1352381.78 1018637.388 0,
+ 1352807.041 1013073.198 0))
+
+POLYGON ((1364965.224 1025214.378 0, 1364695.491 1025193.004 0, 1364424.504 1025171.547 0, 1364153.516 1025150.106 0, 1363882.527 1025128.68 0, 1363611.537 1025107.271 0, 1363340.545 1025085.877 0, 1363069.552 1025064.5 0, 1362798.558 1025043.138 0, 1362527.562 1025021.793 0,
+ 1362256.565 1025000.463 0, 1361985.567 1024979.149 0, 1361714.568 1024957.852 0, 1361443.568 1024936.57 0, 1361172.566 1024915.304 0, 1360901.563 1024894.054 0, 1360630.559 1024872.82 0, 1360359.553 1024851.602 0, 1360088.546 1024830.4 0, 1359817.538 1024809.214 0,
+ 1359546.529 1024788.044 0, 1359275.518 1024766.889 0, 1359004.507 1024745.751 0, 1358733.494 1024724.629 0, 1358461.225 1024703.425 0, 1358191.464 1024682.432 0, 1357920.447 1024661.358 0, 1357649.429 1024640.299 0, 1357378.41 1024619.256 0, 1357107.39 1024598.23 0,
+ 1356836.368 1024577.219 0, 1356565.345 1024556.224 0, 1356294.321 1024535.246 0, 1356023.295 1024514.283 0, 1355752.269 1024493.336 0, 1355481.241 1024472.405 0, 1355210.212 1024451.49 0, 1354939.181 1024430.591 0, 1354668.15 1024409.708 0, 1354397.117 1024388.841 0,
+ 1354126.083 1024367.99 0, 1353855.048 1024347.155 0, 1353584.011 1024326.336 0, 1353312.974 1024305.532 0, 1353041.935 1024284.745 0, 1352770.895 1024263.974 0, 1352499.853 1024243.218 0, 1352228.811 1024222.479 0, 1351956.512 1024201.659 0, 1351531.238 1029766.008 0,
+ 1351105.959 1035330.43 0, 1351377.6 1035351.199 0, 1351647.987 1035371.889 0, 1351918.374 1035392.594 0, 1352188.759 1035413.315 0, 1352459.143 1035434.052 0, 1352729.525 1035454.805 0, 1352999.907 1035475.574 0, 1353270.287 1035496.359 0, 1353540.666 1035517.16 0,
+ 1353811.044 1035537.976 0, 1354081.42 1035558.809 0, 1354351.796 1035579.658 0, 1354622.17 1035600.522 0, 1354892.543 1035621.402 0, 1355162.914 1035642.298 0, 1355433.285 1035663.211 0, 1355703.654 1035684.139 0, 1355974.022 1035705.083 0, 1356244.389 1035726.042 0,
+ 1356514.754 1035747.018 0, 1356785.118 1035768.01 0, 1357055.482 1035789.018 0, 1357325.843 1035810.041 0, 1357594.953 1035830.983 0, 1357866.563 1035852.136 0, 1358136.921 1035873.207 0, 1358407.278 1035894.294 0, 1358677.634 1035915.397 0, 1358947.988 1035936.517 0,
+ 1359218.341 1035957.651 0, 1359488.693 1035978.802 0, 1359759.044 1035999.969 0, 1360029.393 1036021.152 0, 1360299.741 1036042.35 0, 1360570.088 1036063.565 0, 1360840.433 1036084.795 0, 1361110.778 1036106.041 0, 1361381.121 1036127.304 0, 1361651.463 1036148.582 0,
+ 1361921.803 1036169.876 0, 1362192.143 1036191.186 0, 1362462.481 1036212.512 0, 1362732.818 1036233.853 0, 1363003.153 1036255.211 0, 1363273.488 1036276.585 0, 1363543.821 1036297.974 0, 1363814.153 1036319.38 0, 1364083.233 1036340.702 0, 1364524.231 1030777.503 0,
+ 1364965.224 1025214.378 0))
+
+POLYGON ((1377057.602 1037387.633 0, 1376788.58 1037365.55 0, 1376518.31 1037343.381 0, 1376248.038 1037321.228 0, 1375977.766 1037299.091 0, 1375707.491 1037276.969 0, 1375437.216 1037254.864 0, 1375166.939 1037232.774 0, 1374896.661 1037210.701 0, 1374626.382 1037188.643 0,
+ 1374356.101 1037166.601 0, 1374085.819 1037144.575 0, 1373815.536 1037122.565 0, 1373545.251 1037100.571 0, 1373274.965 1037078.593 0, 1373004.678 1037056.631 0, 1372734.39 1037034.684 0, 1372464.1 1037012.754 0, 1372193.809 1036990.839 0, 1371923.517 1036968.941 0,
+ 1371653.223 1036947.058 0, 1371382.928 1036925.191 0, 1371112.632 1036903.34 0, 1370842.335 1036881.505 0, 1370570.787 1036859.585 0, 1370301.736 1036837.883 0, 1370031.435 1036816.096 0, 1369761.132 1036794.324 0, 1369490.828 1036772.569 0, 1369220.523 1036750.829 0,
+ 1368950.216 1036729.106 0, 1368679.909 1036707.398 0, 1368409.6 1036685.706 0, 1368139.29 1036664.03 0, 1367868.978 1036642.37 0, 1367598.665 1036620.726 0, 1367328.351 1036599.098 0, 1367058.036 1036577.486 0, 1366787.719 1036555.889 0, 1366517.401 1036534.309 0,
+ 1366247.082 1036512.744 0, 1365976.762 1036491.196 0, 1365706.44 1036469.663 0, 1365436.117 1036448.146 0, 1365165.793 1036426.645 0, 1364895.467 1036405.16 0, 1364625.14 1036383.691 0, 1364354.812 1036362.238 0, 1364083.233 1036340.702 0, 1363642.23 1041903.969 0,
+ 1363201.221 1047467.302 0, 1363472.142 1047488.786 0, 1363741.815 1047510.187 0, 1364011.487 1047531.604 0, 1364281.158 1047553.037 0, 1364550.827 1047574.486 0, 1364820.495 1047595.951 0, 1365090.162 1047617.431 0, 1365359.828 1047638.928 0, 1365629.492 1047660.44 0,
+ 1365899.155 1047681.968 0, 1366168.817 1047703.512 0, 1366438.477 1047725.072 0, 1366708.137 1047746.648 0, 1366977.795 1047768.239 0, 1367247.451 1047789.847 0, 1367517.107 1047811.47 0, 1367786.761 1047833.11 0, 1368056.414 1047854.765 0, 1368326.065 1047876.436 0,
+ 1368595.716 1047898.123 0, 1368865.365 1047919.825 0, 1369135.012 1047941.544 0, 1369404.659 1047963.278 0, 1369673.058 1047984.928 0, 1369943.948 1048006.795 0, 1370213.591 1048028.577 0, 1370483.232 1048050.375 0, 1370752.872 1048072.189 0, 1371022.511 1048094.019 0,
+ 1371292.148 1048115.864 0, 1371561.785 1048137.726 0, 1371831.42 1048159.603 0, 1372101.053 1048181.496 0, 1372370.686 1048203.405 0, 1372640.317 1048225.33 0, 1372909.946 1048247.271 0, 1373179.575 1048269.228 0, 1373449.202 1048291.2 0, 1373718.828 1048313.189 0,
+ 1373988.453 1048335.193 0, 1374258.076 1048357.213 0, 1374527.698 1048379.249 0, 1374797.319 1048401.301 0, 1375066.938 1048423.369 0, 1375336.556 1048445.452 0, 1375606.173 1048467.552 0, 1375875.789 1048489.667 0, 1376144.158 1048511.696 0, 1376600.883 1042949.632 0,
+ 1377057.602 1037387.633 0))
+
+POLYGON ((1389084.093 1049592.653 0, 1388815.785 1049569.865 0, 1388546.233 1049546.988 0, 1388276.68 1049524.127 0, 1388007.125 1049501.282 0, 1387737.569 1049478.453 0, 1387468.012 1049455.639 0, 1387198.453 1049432.841 0, 1386928.893 1049410.06 0, 1386659.331 1049387.294 0,
+ 1386389.769 1049364.544 0, 1386120.205 1049341.809 0, 1385850.639 1049319.091 0, 1385581.073 1049296.389 0, 1385311.505 1049273.702 0, 1385041.935 1049251.031 0, 1384772.365 1049228.376 0, 1384502.792 1049205.737 0, 1384233.219 1049183.114 0, 1383963.644 1049160.507 0,
+ 1383694.068 1049137.916 0, 1383424.491 1049115.34 0, 1383154.912 1049092.78 0, 1382885.332 1049070.237 0, 1382614.508 1049047.605 0, 1382346.168 1049025.197 0, 1382076.584 1049002.7 0, 1381806.999 1048980.22 0, 1381537.412 1048957.756 0, 1381267.824 1048935.307 0,
+ 1380998.235 1048912.874 0, 1380728.644 1048890.457 0, 1380459.052 1048868.056 0, 1380189.459 1048845.671 0, 1379919.865 1048823.302 0, 1379650.269 1048800.949 0, 1379380.671 1048778.611 0, 1379111.073 1048756.289 0, 1378841.473 1048733.984 0, 1378571.872 1048711.694 0,
+ 1378302.269 1048689.42 0, 1378032.666 1048667.162 0, 1377763.061 1048644.919 0, 1377493.454 1048622.693 0, 1377223.847 1048600.482 0, 1376954.238 1048578.287 0, 1376684.627 1048556.109 0, 1376415.016 1048533.946 0, 1376144.158 1048511.696 0, 1375687.429 1054073.821 0,
+ 1375230.695 1059636.003 0, 1375500.895 1059658.198 0, 1375769.851 1059680.307 0, 1376038.807 1059702.432 0, 1376307.761 1059724.573 0, 1376576.714 1059746.73 0, 1376845.666 1059768.902 0, 1377114.616 1059791.091 0, 1377383.565 1059813.295 0, 1377652.513 1059835.515 0,
+ 1377921.459 1059857.75 0, 1378190.404 1059880.002 0, 1378459.348 1059902.269 0, 1378728.291 1059924.553 0, 1378997.232 1059946.852 0, 1379266.172 1059969.167 0, 1379535.11 1059991.498 0, 1379804.048 1060013.844 0, 1380072.983 1060036.207 0, 1380341.918 1060058.585 0,
+ 1380610.851 1060080.979 0, 1380879.783 1060103.389 0, 1381148.714 1060125.815 0, 1381417.643 1060148.256 0, 1381685.331 1060170.61 0, 1381955.498 1060193.187 0, 1382224.423 1060215.676 0, 1382493.347 1060238.181 0, 1382762.27 1060260.701 0, 1383031.191 1060283.238 0,
+ 1383300.112 1060305.79 0, 1383569.03 1060328.359 0, 1383837.948 1060350.943 0, 1384106.864 1060373.542 0, 1384375.778 1060396.158 0, 1384644.692 1060418.79 0, 1384913.604 1060441.437 0, 1385182.515 1060464.1 0, 1385451.424 1060486.779 0, 1385720.332 1060509.474 0,
+ 1385989.239 1060532.185 0, 1386258.144 1060554.911 0, 1386527.048 1060577.653 0, 1386795.951 1060600.411 0, 1387064.852 1060623.185 0, 1387333.752 1060645.975 0, 1387602.651 1060668.781 0, 1387871.549 1060691.602 0, 1388139.205 1060714.334 0, 1388611.652 1055153.465 0,
+ 1389084.093 1049592.653 0))
+
+POLYGON ((857884.701 600294.964 0, 857590.162 600303.297 0, 857294.168 600311.687 0, 856998.174 600320.095 0, 856702.181 600328.521 0, 856406.189 600336.964 0, 856110.197 600345.424 0, 855814.205 600353.902 0, 855518.214 600362.397 0, 855222.224 600370.91 0,
+ 854926.234 600379.44 0, 854630.244 600387.987 0, 854334.255 600396.552 0, 854038.267 600405.134 0, 853742.279 600413.734 0, 853446.291 600422.351 0, 853150.304 600430.986 0, 852854.318 600439.638 0, 852558.332 600448.307 0, 852262.347 600456.994 0,
+ 851966.362 600465.698 0, 851670.377 600474.42 0, 851374.393 600483.159 0, 851078.41 600491.916 0, 850780.971 600500.733 0, 850486.445 600509.481 0, 850190.463 600518.29 0, 849894.482 600527.116 0, 849598.501 600535.96 0, 849302.521 600544.821 0,
+ 849006.541 600553.699 0, 848710.562 600562.595 0, 848414.583 600571.508 0, 848118.605 600580.439 0, 847822.627 600589.387 0, 847526.65 600598.353 0, 847230.673 600607.336 0, 846934.697 600616.336 0, 846638.722 600625.354 0, 846342.747 600634.389 0,
+ 846046.772 600643.442 0, 845750.798 600652.512 0, 845454.825 600661.599 0, 845158.852 600670.704 0, 844862.88 600679.827 0, 844566.908 600688.966 0, 844270.937 600698.124 0, 843974.966 600707.298 0, 843677.539 600716.536 0, 843850.44 606278.368 0,
+ 844023.351 611840.546 0, 844320.121 611831.329 0, 844615.437 611822.175 0, 844910.753 611813.038 0, 845206.07 611803.919 0, 845501.388 611794.816 0, 845796.706 611785.732 0, 846092.025 611776.664 0, 846387.344 611767.614 0, 846682.663 611758.582 0,
+ 846977.984 611749.566 0, 847273.304 611740.568 0, 847568.626 611731.588 0, 847863.948 611722.625 0, 848159.27 611713.679 0, 848454.593 611704.751 0, 848749.916 611695.84 0, 849045.24 611686.946 0, 849340.565 611678.07 0, 849635.89 611669.211 0,
+ 849931.215 611660.37 0, 850226.541 611651.546 0, 850521.868 611642.739 0, 850817.195 611633.95 0, 851111.07 611625.221 0, 851407.851 611616.423 0, 851703.179 611607.686 0, 851998.508 611598.966 0, 852293.838 611590.264 0, 852589.168 611581.579 0,
+ 852884.499 611572.911 0, 853179.83 611564.261 0, 853475.162 611555.628 0, 853770.494 611547.013 0, 854065.826 611538.415 0, 854361.16 611529.834 0, 854656.493 611521.271 0, 854951.828 611512.725 0, 855247.162 611504.196 0, 855542.498 611495.685 0,
+ 855837.833 611487.191 0, 856133.169 611478.715 0, 856428.506 611470.256 0, 856723.843 611461.814 0, 857019.181 611453.39 0, 857314.519 611444.983 0, 857609.858 611436.593 0, 857905.197 611428.221 0, 858199.085 611419.908 0, 858041.888 605857.263 0,
+ 857884.701 600294.964 0))
+
+POLYGON ((872375.951 611039.32 0, 872082.038 611046.803 0, 871786.677 611054.341 0, 871491.315 611061.896 0, 871195.955 611069.468 0, 870900.594 611077.058 0, 870605.234 611084.665 0, 870309.875 611092.29 0, 870014.516 611099.932 0, 869719.157 611107.591 0,
+ 869423.799 611115.268 0, 869128.442 611122.962 0, 868833.085 611130.674 0, 868537.728 611138.403 0, 868242.372 611146.149 0, 867947.016 611153.913 0, 867651.66 611161.694 0, 867356.306 611169.492 0, 867060.951 611177.308 0, 866765.597 611185.141 0,
+ 866470.244 611192.992 0, 866174.891 611200.86 0, 865879.538 611208.745 0, 865584.186 611216.648 0, 865287.384 611224.607 0, 864993.483 611232.506 0, 864698.132 611240.461 0, 864402.782 611248.433 0, 864107.432 611256.423 0, 863812.083 611264.43 0,
+ 863516.734 611272.454 0, 863221.386 611280.496 0, 862926.038 611288.555 0, 862630.69 611296.632 0, 862335.343 611304.726 0, 862039.997 611312.837 0, 861744.651 611320.966 0, 861449.306 611329.112 0, 861153.96 611337.275 0, 860858.616 611345.456 0,
+ 860563.272 611353.655 0, 860267.928 611361.87 0, 859972.585 611370.103 0, 859677.243 611378.354 0, 859381.9 611386.622 0, 859086.559 611394.907 0, 858791.218 611403.209 0, 858495.877 611411.529 0, 858199.085 611419.908 0, 858356.292 616982.894 0,
+ 858513.508 622546.219 0, 858809.641 622537.859 0, 859104.327 622529.558 0, 859399.014 622521.274 0, 859693.7 622513.007 0, 859988.388 622504.757 0, 860283.075 622496.525 0, 860577.764 622488.311 0, 860872.452 622480.113 0, 861167.141 622471.933 0,
+ 861461.831 622463.77 0, 861756.521 622455.625 0, 862051.212 622447.497 0, 862345.903 622439.386 0, 862640.594 622431.293 0, 862935.287 622423.217 0, 863229.979 622415.158 0, 863524.672 622407.117 0, 863819.366 622399.093 0, 864114.059 622391.086 0,
+ 864408.754 622383.097 0, 864703.449 622375.125 0, 864998.144 622367.17 0, 865292.84 622359.233 0, 865586.089 622351.352 0, 865882.233 622343.41 0, 866176.93 622335.525 0, 866471.628 622327.657 0, 866766.326 622319.807 0, 867061.025 622311.973 0,
+ 867355.724 622304.158 0, 867650.423 622296.359 0, 867945.123 622288.578 0, 868239.824 622280.814 0, 868534.525 622273.068 0, 868829.226 622265.339 0, 869123.928 622257.627 0, 869418.63 622249.932 0, 869713.333 622242.255 0, 870008.036 622234.596 0,
+ 870302.74 622226.953 0, 870597.444 622219.328 0, 870892.148 622211.72 0, 871186.853 622204.13 0, 871481.558 622196.557 0, 871776.264 622189.001 0, 872070.971 622181.463 0, 872365.677 622173.942 0, 872658.938 622166.475 0, 872517.44 616602.728 0,
+ 872375.951 611039.32 0))
+
+POLYGON ((886805.385 621826.696 0, 886512.102 621833.334 0, 886217.375 621840.023 0, 885922.649 621846.728 0, 885627.923 621853.451 0, 885333.197 621860.192 0, 885038.472 621866.95 0, 884743.747 621873.725 0, 884449.023 621880.517 0, 884154.299 621887.327 0,
+ 883859.575 621894.154 0, 883564.852 621900.998 0, 883270.129 621907.86 0, 882975.407 621914.739 0, 882680.685 621921.636 0, 882385.963 621928.55 0, 882091.242 621935.481 0, 881796.521 621942.43 0, 881501.801 621949.395 0, 881207.081 621956.379 0,
+ 880912.361 621963.379 0, 880617.642 621970.397 0, 880322.923 621977.432 0, 880028.205 621984.485 0, 879732.042 621991.59 0, 879438.769 621998.642 0, 879144.052 622005.747 0, 878849.336 622012.869 0, 878554.62 622020.008 0, 878259.904 622027.165 0,
+ 877965.188 622034.339 0, 877670.473 622041.531 0, 877375.759 622048.739 0, 877081.045 622055.965 0, 876786.331 622063.209 0, 876491.618 622070.47 0, 876196.905 622077.748 0, 875902.192 622085.043 0, 875607.48 622092.356 0, 875312.769 622099.686 0,
+ 875018.058 622107.034 0, 874723.347 622114.399 0, 874428.637 622121.781 0, 874133.927 622129.18 0, 873839.218 622136.597 0, 873544.509 622144.032 0, 873249.8 622151.483 0, 872955.092 622158.952 0, 872658.938 622166.475 0, 872800.445 627730.558 0,
+ 872941.96 633294.973 0, 873237.456 633287.467 0, 873531.509 633280.014 0, 873825.562 633272.579 0, 874119.616 633265.162 0, 874413.67 633257.761 0, 874707.725 633250.378 0, 875001.78 633243.012 0, 875295.836 633235.664 0, 875589.892 633228.333 0,
+ 875883.949 633221.019 0, 876178.006 633213.722 0, 876472.063 633206.443 0, 876766.121 633199.181 0, 877060.179 633191.936 0, 877354.238 633184.709 0, 877648.297 633177.499 0, 877942.357 633170.306 0, 878236.416 633163.131 0, 878530.477 633155.973 0,
+ 878824.538 633148.832 0, 879118.599 633141.708 0, 879412.661 633134.602 0, 879706.723 633127.513 0, 879999.343 633120.476 0, 880294.848 633113.387 0, 880588.911 633106.35 0, 880882.975 633099.331 0, 881177.039 633092.329 0, 881471.104 633085.343 0,
+ 881765.168 633078.376 0, 882059.234 633071.425 0, 882353.3 633064.492 0, 882647.366 633057.576 0, 882941.432 633050.678 0, 883235.499 633043.797 0, 883529.567 633036.933 0, 883823.635 633030.086 0, 884117.703 633023.257 0, 884411.771 633016.445 0,
+ 884705.84 633009.65 0, 884999.91 633002.873 0, 885293.979 632996.113 0, 885588.05 632989.37 0, 885882.12 632982.645 0, 886176.191 632975.937 0, 886470.263 632969.246 0, 886764.334 632962.573 0, 887056.966 632955.949 0, 886931.172 627391.156 0,
+ 886805.385 621826.696 0))
+
+POLYGON ((901172.873 632656.804 0, 900880.222 632662.601 0, 900586.132 632668.443 0, 900292.043 632674.303 0, 899997.955 632680.181 0, 899703.866 632686.075 0, 899409.778 632691.987 0, 899115.69 632697.916 0, 898821.603 632703.863 0, 898527.516 632709.827 0,
+ 898233.429 632715.808 0, 897939.343 632721.806 0, 897645.257 632727.822 0, 897351.171 632733.855 0, 897057.086 632739.905 0, 896763.001 632745.973 0, 896468.917 632752.058 0, 896174.833 632758.16 0, 895880.749 632764.28 0, 895586.665 632770.417 0,
+ 895292.582 632776.571 0, 894998.499 632782.743 0, 894704.417 632788.931 0, 894410.335 632795.138 0, 894114.814 632801.391 0, 893822.172 632807.602 0, 893528.091 632813.86 0, 893234.011 632820.135 0, 892939.931 632826.428 0, 892645.851 632832.738 0,
+ 892351.771 632839.065 0, 892057.692 632845.41 0, 891763.614 632851.772 0, 891469.535 632858.151 0, 891175.457 632864.547 0, 890881.38 632870.961 0, 890587.303 632877.392 0, 890293.226 632883.841 0, 889999.15 632890.307 0, 889705.073 632896.79 0,
+ 889410.998 632903.29 0, 889116.923 632909.808 0, 888822.848 632916.343 0, 888528.773 632922.895 0, 888234.699 632929.465 0, 887940.625 632936.052 0, 887646.552 632942.656 0, 887352.479 632949.278 0, 887056.966 632955.949 0, 887182.767 638521.071 0,
+ 887308.576 644086.518 0, 887603.431 644079.862 0, 887896.849 644073.255 0, 888190.267 644066.665 0, 888483.686 644060.093 0, 888777.105 644053.538 0, 889070.524 644047 0, 889363.944 644040.48 0, 889657.364 644033.977 0, 889950.784 644027.491 0,
+ 890244.205 644021.022 0, 890537.626 644014.571 0, 890831.048 644008.137 0, 891124.47 644001.72 0, 891417.893 643995.32 0, 891711.315 643988.938 0, 892004.739 643982.573 0, 892298.162 643976.225 0, 892591.586 643969.895 0, 892885.01 643963.581 0,
+ 893178.435 643957.286 0, 893471.86 643951.007 0, 893765.285 643944.745 0, 894058.711 643938.501 0, 894350.701 643932.305 0, 894645.564 643926.065 0, 894938.991 643919.873 0, 895232.418 643913.698 0, 895525.845 643907.54 0, 895819.273 643901.399 0,
+ 896112.702 643895.276 0, 896406.13 643889.17 0, 896699.559 643883.081 0, 896992.989 643877.01 0, 897286.418 643870.956 0, 897579.849 643864.919 0, 897873.279 643858.899 0, 898166.71 643852.897 0, 898460.141 643846.912 0, 898753.572 643840.944 0,
+ 899047.004 643834.994 0, 899340.437 643829.06 0, 899633.869 643823.144 0, 899927.302 643817.246 0, 900220.735 643811.364 0, 900514.169 643805.5 0, 900807.603 643799.653 0, 901101.037 643793.823 0, 901393.036 643788.039 0, 901282.951 638222.259 0,
+ 901172.873 632656.804 0))
+
+POLYGON ((915478.284 643529.353 0, 915186.267 643534.312 0, 914892.817 643539.313 0, 914599.368 643544.331 0, 914305.919 643549.366 0, 914012.47 643554.418 0, 913719.022 643559.488 0, 913425.574 643564.575 0, 913132.126 643569.679 0, 912838.679 643574.801 0,
+ 912545.231 643579.939 0, 912251.785 643585.095 0, 911958.338 643590.269 0, 911664.892 643595.459 0, 911371.446 643600.667 0, 911078 643605.892 0, 910784.555 643611.135 0, 910491.11 643616.394 0, 910197.665 643621.671 0, 909904.22 643626.966 0,
+ 909610.776 643632.277 0, 909317.333 643637.606 0, 909023.889 643642.952 0, 908730.446 643648.315 0, 908435.569 643653.722 0, 908143.56 643659.094 0, 907850.118 643664.509 0, 907556.676 643669.941 0, 907263.235 643675.391 0, 906969.793 643680.858 0,
+ 906676.352 643686.342 0, 906382.912 643691.843 0, 906089.472 643697.362 0, 905796.032 643702.898 0, 905502.592 643708.451 0, 905209.153 643714.022 0, 904915.714 643719.61 0, 904622.275 643725.215 0, 904328.837 643730.837 0, 904035.399 643736.477 0,
+ 903741.961 643742.134 0, 903448.524 643747.808 0, 903155.087 643753.5 0, 902861.65 643759.208 0, 902568.214 643764.934 0, 902274.778 643770.678 0, 901981.342 643776.438 0, 901687.907 643782.216 0, 901393.036 643788.039 0, 901503.127 649354.143 0,
+ 901613.225 654920.565 0, 901907.437 654914.754 0, 902200.217 654908.989 0, 902492.998 654903.242 0, 902785.778 654897.511 0, 903078.559 654891.798 0, 903371.341 654886.102 0, 903664.123 654880.423 0, 903956.905 654874.762 0, 904249.687 654869.118 0,
+ 904542.47 654863.49 0, 904835.253 654857.881 0, 905128.036 654852.288 0, 905420.82 654846.713 0, 905713.604 654841.155 0, 906006.389 654835.614 0, 906299.173 654830.09 0, 906591.958 654824.584 0, 906884.744 654819.094 0, 907177.529 654813.622 0,
+ 907470.315 654808.168 0, 907763.102 654802.73 0, 908055.888 654797.31 0, 908348.675 654791.907 0, 908640.031 654786.547 0, 908934.25 654781.153 0, 909227.038 654775.801 0, 909519.826 654770.467 0, 909812.615 654765.15 0, 910105.404 654759.851 0,
+ 910398.193 654754.568 0, 910690.983 654749.303 0, 910983.772 654744.055 0, 911276.562 654738.824 0, 911569.353 654733.611 0, 911862.144 654728.415 0, 912154.935 654723.236 0, 912447.726 654718.074 0, 912740.518 654712.929 0, 913033.309 654707.802 0,
+ 913326.102 654702.692 0, 913618.894 654697.599 0, 913911.687 654692.524 0, 914204.48 654687.465 0, 914497.274 654682.424 0, 914790.067 654677.4 0, 915082.861 654672.393 0, 915375.656 654667.404 0, 915667.02 654662.456 0, 915572.649 649095.745 0,
+ 915478.284 643529.353 0))
+
+POLYGON ((929721.488 654444.053 0, 929430.109 654448.178 0, 929137.302 654452.34 0, 928844.495 654456.519 0, 928551.688 654460.716 0, 928258.881 654464.93 0, 927966.075 654469.161 0, 927673.269 654473.41 0, 927380.463 654477.675 0, 927087.658 654481.958 0,
+ 926794.853 654486.258 0, 926502.048 654490.575 0, 926209.243 654494.91 0, 925916.438 654499.262 0, 925623.634 654503.631 0, 925330.83 654508.017 0, 925038.026 654512.421 0, 924745.223 654516.841 0, 924452.42 654521.279 0, 924159.617 654525.734 0,
+ 923866.814 654530.207 0, 923574.012 654534.697 0, 923281.21 654539.203 0, 922988.408 654543.728 0, 922694.177 654548.291 0, 922402.805 654552.828 0, 922110.004 654557.403 0, 921817.203 654561.996 0, 921524.402 654566.607 0, 921231.602 654571.234 0,
+ 920938.802 654575.879 0, 920646.002 654580.541 0, 920353.203 654585.22 0, 920060.404 654589.917 0, 919767.605 654594.631 0, 919474.806 654599.361 0, 919182.008 654604.11 0, 918889.21 654608.875 0, 918596.412 654613.658 0, 918303.615 654618.458 0,
+ 918010.818 654623.275 0, 917718.021 654628.109 0, 917425.224 654632.961 0, 917132.428 654637.829 0, 916839.632 654642.715 0, 916546.836 654647.619 0, 916254.04 654652.539 0, 915961.245 654657.477 0, 915667.02 654662.456 0, 915761.396 660229.483 0,
+ 915855.778 665796.822 0, 916149.345 665791.854 0, 916441.484 665786.928 0, 916733.625 665782.018 0, 917025.765 665777.126 0, 917317.906 665772.251 0, 917610.047 665767.393 0, 917902.188 665762.552 0, 918194.33 665757.729 0, 918486.471 665752.922 0,
+ 918778.614 665748.133 0, 919070.756 665743.361 0, 919362.899 665738.606 0, 919655.042 665733.869 0, 919947.185 665729.149 0, 920239.328 665724.445 0, 920531.472 665719.759 0, 920823.616 665715.091 0, 921115.761 665710.439 0, 921407.905 665705.805 0,
+ 921700.05 665701.188 0, 921992.195 665696.588 0, 922284.341 665692.005 0, 922576.486 665687.439 0, 922867.207 665682.913 0, 923160.779 665678.36 0, 923452.925 665673.846 0, 923745.072 665669.349 0, 924037.219 665664.869 0, 924329.366 665660.407 0,
+ 924621.514 665655.961 0, 924913.662 665651.533 0, 925205.81 665647.123 0, 925497.958 665642.729 0, 925790.107 665638.353 0, 926082.256 665633.993 0, 926374.405 665629.651 0, 926666.554 665625.326 0, 926958.704 665621.019 0, 927250.854 665616.728 0,
+ 927543.004 665612.455 0, 927835.154 665608.199 0, 928127.305 665603.96 0, 928419.456 665599.738 0, 928711.607 665595.534 0, 929003.758 665591.347 0, 929295.91 665587.176 0, 929588.062 665583.024 0, 929878.789 665578.908 0, 929800.136 660011.324 0,
+ 929721.488 654444.053 0))
+
+POLYGON ((943902.36 665400.612 0, 943611.619 665403.906 0, 943319.457 665407.234 0, 943027.295 665410.578 0, 942735.133 665413.94 0, 942442.971 665417.319 0, 942150.809 665420.716 0, 941858.648 665424.129 0, 941566.487 665427.56 0, 941274.326 665431.008 0,
+ 940982.165 665434.473 0, 940690.004 665437.955 0, 940397.844 665441.455 0, 940105.683 665444.971 0, 939813.523 665448.505 0, 939521.364 665452.056 0, 939229.204 665455.624 0, 938937.045 665459.21 0, 938644.885 665462.813 0, 938352.727 665466.432 0,
+ 938060.568 665470.069 0, 937768.409 665473.724 0, 937476.251 665477.395 0, 937184.093 665481.084 0, 936890.511 665484.808 0, 936599.777 665488.513 0, 936307.62 665492.253 0, 936015.463 665496.01 0, 935723.306 665499.785 0, 935431.149 665503.577 0,
+ 935138.992 665507.386 0, 934846.836 665511.212 0, 934554.68 665515.055 0, 934262.524 665518.916 0, 933970.368 665522.793 0, 933678.213 665526.688 0, 933386.058 665530.601 0, 933093.903 665534.53 0, 932801.748 665538.477 0, 932509.594 665542.44 0,
+ 932217.439 665546.421 0, 931925.285 665550.419 0, 931633.131 665554.435 0, 931340.978 665558.467 0, 931048.825 665562.517 0, 930756.672 665566.584 0, 930464.519 665570.668 0, 930172.366 665574.769 0, 929878.789 665578.908 0, 929957.446 671146.801 0,
+ 930036.107 676714.999 0, 930329.026 676710.87 0, 930620.523 676706.778 0, 930912.02 676702.703 0, 931203.518 676698.645 0, 931495.016 676694.605 0, 931786.514 676690.581 0, 932078.012 676686.575 0, 932369.511 676682.586 0, 932661.009 676678.614 0,
+ 932952.508 676674.659 0, 933244.008 676670.721 0, 933535.507 676666.8 0, 933827.007 676662.897 0, 934118.507 676659.011 0, 934410.007 676655.142 0, 934701.507 676651.29 0, 934993.008 676647.455 0, 935284.509 676643.638 0, 935576.01 676639.837 0,
+ 935867.511 676636.054 0, 936159.013 676632.288 0, 936450.515 676628.539 0, 936742.017 676624.807 0, 937032.098 676621.11 0, 937325.021 676617.395 0, 937616.524 676613.714 0, 937908.027 676610.051 0, 938199.53 676606.405 0, 938491.033 676602.776 0,
+ 938782.537 676599.165 0, 939074.04 676595.57 0, 939365.544 676591.993 0, 939657.048 676588.432 0, 939948.553 676584.889 0, 940240.057 676581.363 0, 940531.562 676577.855 0, 940823.067 676574.363 0, 941114.572 676570.888 0, 941406.078 676567.431 0,
+ 941697.583 676563.991 0, 941989.089 676560.568 0, 942280.595 676557.162 0, 942572.101 676553.774 0, 942863.607 676550.402 0, 943155.114 676547.048 0, 943446.621 676543.71 0, 943738.128 676540.39 0, 944028.216 676537.104 0, 943965.286 670968.705 0,
+ 943902.36 665400.612 0))
+
+POLYGON ((958020.771 676398.739 0, 957730.673 676401.206 0, 957439.157 676403.702 0, 957147.642 676406.216 0, 956856.127 676408.747 0, 956564.613 676411.295 0, 956273.098 676413.86 0, 955981.584 676416.442 0, 955690.069 676419.041 0, 955398.555 676421.658 0,
+ 955107.041 676424.292 0, 954815.528 676426.943 0, 954524.014 676429.611 0, 954232.5 676432.296 0, 953940.987 676434.998 0, 953649.474 676437.718 0, 953357.961 676440.455 0, 953066.448 676443.208 0, 952774.935 676445.979 0, 952483.423 676448.767 0,
+ 952191.91 676451.573 0, 951900.398 676454.395 0, 951608.886 676457.235 0, 951317.374 676460.092 0, 951024.444 676462.98 0, 950734.351 676465.857 0, 950442.84 676468.765 0, 950151.328 676471.69 0, 949859.817 676474.633 0, 949568.307 676477.593 0,
+ 949276.796 676480.57 0, 948985.285 676483.564 0, 948693.775 676486.575 0, 948402.265 676489.603 0, 948110.755 676492.649 0, 947819.245 676495.711 0, 947527.736 676498.791 0, 947236.226 676501.888 0, 946944.717 676505.002 0, 946653.208 676508.134 0,
+ 946361.699 676511.282 0, 946070.19 676514.448 0, 945778.682 676517.631 0, 945487.174 676520.83 0, 945195.665 676524.048 0, 944904.158 676527.282 0, 944612.65 676530.533 0, 944321.142 676533.802 0, 944028.216 676537.104 0, 944091.149 682105.805 0,
+ 944154.085 687674.805 0, 944446.353 687671.51 0, 944737.205 687668.249 0, 945028.057 687665.005 0, 945318.91 687661.778 0, 945609.762 687658.568 0, 945900.615 687655.375 0, 946191.468 687652.2 0, 946482.321 687649.041 0, 946773.174 687645.9 0,
+ 947064.028 687642.776 0, 947354.882 687639.668 0, 947645.736 687636.578 0, 947936.59 687633.506 0, 948227.444 687630.45 0, 948518.298 687627.411 0, 948809.153 687624.39 0, 949100.008 687621.385 0, 949390.863 687618.398 0, 949681.718 687615.428 0,
+ 949972.573 687612.475 0, 950263.428 687609.539 0, 950554.284 687606.62 0, 950845.14 687603.718 0, 951134.581 687600.847 0, 951426.852 687597.966 0, 951717.708 687595.116 0, 952008.565 687592.282 0, 952299.421 687589.466 0, 952590.278 687586.667 0,
+ 952881.135 687583.885 0, 953171.992 687581.121 0, 953462.85 687578.373 0, 953753.707 687575.642 0, 954044.565 687572.929 0, 954335.423 687570.233 0, 954626.28 687567.554 0, 954917.139 687564.891 0, 955207.997 687562.247 0, 955498.855 687559.619 0,
+ 955789.714 687557.008 0, 956080.573 687554.415 0, 956371.431 687551.838 0, 956662.29 687549.279 0, 956953.15 687546.737 0, 957244.009 687544.211 0, 957534.868 687541.703 0, 957825.728 687539.213 0, 958115.174 687536.751 0, 958067.971 681967.595 0,
+ 958020.771 676398.739 0))
+
+POLYGON ((972076.597 687438.14 0, 971787.143 687439.784 0, 971496.278 687441.453 0, 971205.412 687443.14 0, 970914.547 687444.843 0, 970623.682 687446.563 0, 970332.817 687448.301 0, 970041.952 687450.056 0, 969751.087 687451.828 0, 969460.222 687453.616 0,
+ 969169.357 687455.423 0, 968878.493 687457.246 0, 968587.628 687459.086 0, 968296.764 687460.943 0, 968005.9 687462.818 0, 967715.035 687464.71 0, 967424.171 687466.618 0, 967133.308 687468.544 0, 966842.444 687470.487 0, 966551.58 687472.448 0,
+ 966260.716 687474.425 0, 965969.853 687476.419 0, 965678.99 687478.431 0, 965388.126 687480.459 0, 965095.85 687482.515 0, 964806.4 687484.568 0, 964515.538 687486.648 0, 964224.675 687488.745 0, 963933.812 687490.859 0, 963642.95 687492.991 0,
+ 963352.087 687495.139 0, 963061.225 687497.305 0, 962770.363 687499.487 0, 962479.501 687501.687 0, 962188.639 687503.904 0, 961897.778 687506.138 0, 961606.916 687508.389 0, 961316.055 687510.658 0, 961025.193 687512.943 0, 960734.332 687515.246 0,
+ 960443.471 687517.565 0, 960152.61 687519.902 0, 959861.749 687522.256 0, 959570.889 687524.627 0, 959280.028 687527.015 0, 958989.168 687529.42 0, 958698.308 687531.843 0, 958407.448 687534.282 0, 958115.174 687536.751 0, 958162.379 693106.202 0,
+ 958209.587 698675.946 0, 958501.202 698673.482 0, 958791.406 698671.048 0, 959081.611 698668.632 0, 959371.816 698666.232 0, 959662.021 698663.849 0, 959952.226 698661.483 0, 960242.431 698659.135 0, 960532.636 698656.803 0, 960822.841 698654.489 0,
+ 961113.047 698652.191 0, 961403.253 698649.911 0, 961693.458 698647.648 0, 961983.664 698645.402 0, 962273.87 698643.173 0, 962564.077 698640.961 0, 962854.283 698638.766 0, 963144.489 698636.588 0, 963434.696 698634.428 0, 963724.903 698632.284 0,
+ 964015.109 698630.157 0, 964305.316 698628.048 0, 964595.524 698625.956 0, 964885.731 698623.88 0, 965174.528 698621.832 0, 965466.146 698619.781 0, 965756.353 698617.757 0, 966046.561 698615.75 0, 966336.769 698613.76 0, 966626.977 698611.787 0,
+ 966917.185 698609.831 0, 967207.393 698607.893 0, 967497.601 698605.971 0, 967787.809 698604.067 0, 968078.018 698602.179 0, 968368.226 698600.309 0, 968658.435 698598.456 0, 968948.644 698596.62 0, 969238.853 698594.801 0, 969529.062 698592.999 0,
+ 969819.271 698591.214 0, 970109.48 698589.446 0, 970399.69 698587.695 0, 970689.899 698585.961 0, 970980.109 698584.245 0, 971270.318 698582.545 0, 971560.528 698580.863 0, 971850.738 698579.197 0, 972139.539 698577.557 0, 972108.067 693007.703 0,
+ 972076.597 687438.14 0))
+
+POLYGON ((986069.714 698518.524 0, 985780.907 698519.348 0, 985490.694 698520.194 0, 985200.48 698521.056 0, 984910.267 698521.936 0, 984620.054 698522.832 0, 984329.841 698523.746 0, 984039.627 698524.677 0, 983749.414 698525.625 0, 983459.201 698526.59 0,
+ 983168.988 698527.572 0, 982878.775 698528.571 0, 982588.563 698529.588 0, 982298.35 698530.621 0, 982008.137 698531.671 0, 981717.924 698532.739 0, 981427.712 698533.823 0, 981137.499 698534.925 0, 980847.287 698536.044 0, 980557.074 698537.18 0,
+ 980266.862 698538.333 0, 979976.65 698539.503 0, 979686.438 698540.69 0, 979396.225 698541.894 0, 979104.606 698543.121 0, 978815.801 698544.353 0, 978525.589 698545.609 0, 978235.378 698546.881 0, 977945.166 698548.171 0, 977654.954 698549.478 0,
+ 977364.743 698550.801 0, 977074.531 698552.142 0, 976784.32 698553.5 0, 976494.108 698554.875 0, 976203.897 698556.267 0, 975913.686 698557.676 0, 975623.475 698559.102 0, 975333.264 698560.546 0, 975043.053 698562.006 0, 974752.842 698563.483 0,
+ 974462.631 698564.978 0, 974172.42 698566.49 0, 973882.21 698568.018 0, 973591.999 698569.564 0, 973301.789 698571.127 0, 973011.578 698572.707 0, 972721.368 698574.304 0, 972431.158 698575.918 0, 972139.539 698577.557 0, 972171.013 704147.701 0,
+ 972202.488 709718.129 0, 972493.448 709716.494 0, 972783.003 709714.883 0, 973072.557 709713.29 0, 973362.112 709711.714 0, 973651.666 709710.154 0, 973941.221 709708.612 0, 974230.776 709707.087 0, 974520.331 709705.578 0, 974809.886 709704.087 0,
+ 975099.441 709702.613 0, 975388.997 709701.156 0, 975678.552 709699.716 0, 975968.107 709698.293 0, 976257.663 709696.887 0, 976547.218 709695.498 0, 976836.774 709694.126 0, 977126.33 709692.772 0, 977415.886 709691.434 0, 977705.441 709690.113 0,
+ 977994.997 709688.809 0, 978284.553 709687.523 0, 978574.11 709686.253 0, 978863.666 709685.001 0, 979151.818 709683.771 0, 979442.778 709682.547 0, 979732.335 709681.345 0, 980021.891 709680.161 0, 980311.448 709678.993 0, 980601.004 709677.843 0,
+ 980890.561 709676.71 0, 981180.118 709675.594 0, 981469.675 709674.494 0, 981759.232 709673.412 0, 982048.789 709672.347 0, 982338.346 709671.299 0, 982627.903 709670.268 0, 982917.46 709669.254 0, 983207.017 709668.257 0, 983496.574 709667.277 0,
+ 983786.132 709666.314 0, 984075.689 709665.369 0, 984365.246 709664.44 0, 984654.804 709663.528 0, 984944.361 709662.634 0, 985233.919 709661.756 0, 985523.477 709660.895 0, 985813.034 709660.052 0, 986101.189 709659.229 0, 986085.451 704088.734 0,
+ 986069.714 698518.524 0))
+
+POLYGON ((1000000 709639.596 0, 999711.842 709639.604 0, 999422.283 709639.63 0, 999132.724 709639.672 0, 998843.165 709639.732 0, 998553.606 709639.809 0, 998264.048 709639.902 0, 997974.489 709640.013 0, 997684.93 709640.141 0, 997395.371 709640.285 0,
+ 997105.812 709640.447 0, 996816.253 709640.626 0, 996526.694 709640.822 0, 996237.136 709641.035 0, 995947.577 709641.265 0, 995658.018 709641.512 0, 995368.459 709641.776 0, 995078.9 709642.057 0, 994789.342 709642.355 0, 994499.783 709642.671 0,
+ 994210.224 709643.003 0, 993920.665 709643.352 0, 993631.107 709643.718 0, 993341.548 709644.102 0, 993050.587 709644.504 0, 992762.431 709644.92 0, 992472.872 709645.354 0, 992183.314 709645.806 0, 991893.755 709646.274 0, 991604.197 709646.76 0,
+ 991314.638 709647.263 0, 991025.08 709647.782 0, 990735.521 709648.319 0, 990445.963 709648.873 0, 990156.405 709649.444 0, 989866.846 709650.032 0, 989577.288 709650.637 0, 989287.73 709651.259 0, 988998.172 709651.898 0, 988708.614 709652.554 0,
+ 988419.055 709653.227 0, 988129.497 709653.917 0, 987839.939 709654.624 0, 987550.381 709655.348 0, 987260.823 709656.09 0, 986971.265 709656.848 0, 986681.708 709657.623 0, 986392.15 709658.416 0, 986101.189 709659.229 0, 986116.927 715230.007 0,
+ 986132.667 720801.062 0, 986422.969 720800.251 0, 986711.871 720799.46 0, 987000.773 720798.687 0, 987289.675 720797.93 0, 987578.577 720797.19 0, 987867.479 720796.468 0, 988156.381 720795.762 0, 988445.284 720795.074 0, 988734.186 720794.402 0,
+ 989023.088 720793.747 0, 989311.991 720793.11 0, 989600.893 720792.489 0, 989889.796 720791.886 0, 990178.698 720791.299 0, 990467.601 720790.73 0, 990756.503 720790.177 0, 991045.406 720789.642 0, 991334.309 720789.123 0, 991623.211 720788.621 0,
+ 991912.114 720788.137 0, 992201.017 720787.669 0, 992489.92 720787.219 0, 992778.822 720786.785 0, 993066.326 720786.371 0, 993356.628 720785.969 0, 993645.531 720785.587 0, 993934.434 720785.221 0, 994223.337 720784.873 0, 994512.24 720784.541 0,
+ 994801.143 720784.227 0, 995090.046 720783.929 0, 995378.949 720783.649 0, 995667.852 720783.385 0, 995956.755 720783.139 0, 996245.658 720782.909 0, 996534.561 720782.697 0, 996823.464 720782.501 0, 997112.367 720782.323 0, 997401.27 720782.161 0,
+ 997690.173 720782.017 0, 997979.076 720781.89 0, 998267.979 720781.779 0, 998556.882 720781.686 0, 998845.785 720781.609 0, 999134.688 720781.55 0, 999423.592 720781.507 0, 999712.495 720781.482 0, 1000000 720781.474 0, 1000000 715210.395 0,
+ 1000000 709639.596 0))
+
+POLYGON ((1013867.333 720801.062 0, 1013579.827 720800.259 0, 1013290.925 720799.468 0, 1013002.023 720798.694 0, 1012713.121 720797.937 0, 1012424.219 720797.197 0, 1012135.316 720796.475 0, 1011846.414 720795.769 0, 1011557.512 720795.08 0, 1011268.61 720794.408 0,
+ 1010979.707 720793.754 0, 1010690.805 720793.116 0, 1010401.902 720792.495 0, 1010113 720791.892 0, 1009824.097 720791.305 0, 1009535.195 720790.735 0, 1009246.292 720790.182 0, 1008957.39 720789.647 0, 1008668.487 720789.128 0, 1008379.584 720788.626 0,
+ 1008090.681 720788.141 0, 1007801.779 720787.674 0, 1007512.876 720787.223 0, 1007223.973 720786.789 0, 1006933.674 720786.371 0, 1006646.168 720785.973 0, 1006357.265 720785.59 0, 1006068.362 720785.225 0, 1005779.459 720784.876 0, 1005490.556 720784.544 0,
+ 1005201.653 720784.23 0, 1004912.75 720783.932 0, 1004623.847 720783.651 0, 1004334.944 720783.388 0, 1004046.041 720783.141 0, 1003757.138 720782.911 0, 1003468.235 720782.699 0, 1003179.332 720782.503 0, 1002890.429 720782.325 0, 1002601.526 720782.163 0,
+ 1002312.623 720782.018 0, 1002023.72 720781.891 0, 1001734.817 720781.78 0, 1001445.913 720781.686 0, 1001157.01 720781.61 0, 1000868.107 720781.55 0, 1000579.204 720781.508 0, 1000290.301 720781.482 0, 1000000 720781.474 0, 1000000 726352.827 0,
+ 1000000 731924.451 0, 1000289.642 731924.46 0, 1000577.889 731924.485 0, 1000866.136 731924.528 0, 1001154.384 731924.587 0, 1001442.631 731924.664 0, 1001730.878 731924.757 0, 1002019.125 731924.867 0, 1002307.373 731924.995 0, 1002595.62 731925.139 0,
+ 1002883.867 731925.3 0, 1003172.114 731925.478 0, 1003460.362 731925.674 0, 1003748.609 731925.886 0, 1004036.856 731926.115 0, 1004325.103 731926.361 0, 1004613.35 731926.624 0, 1004901.597 731926.904 0, 1005189.844 731927.201 0, 1005478.092 731927.515 0,
+ 1005766.339 731927.846 0, 1006054.586 731928.194 0, 1006342.833 731928.559 0, 1006631.08 731928.94 0, 1006917.933 731929.337 0, 1007207.574 731929.755 0, 1007495.821 731930.188 0, 1007784.068 731930.637 0, 1008072.314 731931.104 0, 1008360.561 731931.588 0,
+ 1008648.808 731932.088 0, 1008937.055 731932.606 0, 1009225.302 731933.14 0, 1009513.548 731933.692 0, 1009801.795 731934.26 0, 1010090.042 731934.845 0, 1010378.288 731935.448 0, 1010666.535 731936.067 0, 1010954.782 731936.703 0, 1011243.028 731937.357 0,
+ 1011531.275 731938.027 0, 1011819.521 731938.714 0, 1012107.767 731939.418 0, 1012396.014 731940.139 0, 1012684.26 731940.877 0, 1012972.506 731941.633 0, 1013260.753 731942.405 0, 1013548.999 731943.194 0, 1013835.853 731943.996 0, 1013851.593 726372.393 0,
+ 1013867.333 720801.062 0))
+
+POLYGON ((1027671.595 732002.629 0, 1027384.742 732001.016 0, 1027096.499 731999.413 0, 1026808.256 731997.827 0, 1026520.013 731996.257 0, 1026231.77 731994.705 0, 1025943.527 731993.169 0, 1025655.284 731991.651 0, 1025367.041 731990.149 0, 1025078.797 731988.665 0,
+ 1024790.554 731987.197 0, 1024502.31 731985.746 0, 1024214.066 731984.313 0, 1023925.822 731982.896 0, 1023637.579 731981.496 0, 1023349.335 731980.114 0, 1023061.091 731978.748 0, 1022772.847 731977.399 0, 1022484.602 731976.067 0, 1022196.358 731974.752 0,
+ 1021908.114 731973.454 0, 1021619.869 731972.173 0, 1021331.625 731970.909 0, 1021043.38 731969.662 0, 1020753.744 731968.426 0, 1020466.891 731967.219 0, 1020178.646 731966.023 0, 1019890.401 731964.843 0, 1019602.156 731963.681 0, 1019313.911 731962.536 0,
+ 1019025.666 731961.408 0, 1018737.421 731960.296 0, 1018449.176 731959.202 0, 1018160.931 731958.125 0, 1017872.685 731957.064 0, 1017584.44 731956.021 0, 1017296.195 731954.994 0, 1017007.949 731953.985 0, 1016719.704 731952.992 0, 1016431.458 731952.016 0,
+ 1016143.212 731951.058 0, 1015854.967 731950.116 0, 1015566.721 731949.191 0, 1015278.475 731948.284 0, 1014990.229 731947.393 0, 1014701.983 731946.519 0, 1014413.737 731945.662 0, 1014125.491 731944.822 0, 1013835.853 731943.996 0, 1013820.111 737515.866 0,
+ 1013804.369 743088.001 0, 1014093.348 743088.826 0, 1014380.938 743089.664 0, 1014668.528 743090.519 0, 1014956.118 743091.39 0, 1015243.708 743092.279 0, 1015531.298 743093.185 0, 1015818.888 743094.107 0, 1016106.478 743095.047 0, 1016394.068 743096.003 0,
+ 1016681.657 743096.977 0, 1016969.247 743097.967 0, 1017256.837 743098.974 0, 1017544.426 743099.999 0, 1017832.016 743101.04 0, 1018119.605 743102.098 0, 1018407.194 743103.173 0, 1018694.784 743104.265 0, 1018982.373 743105.373 0, 1019269.962 743106.499 0,
+ 1019557.551 743107.642 0, 1019845.14 743108.801 0, 1020132.729 743109.978 0, 1020420.318 743111.171 0, 1020706.518 743112.376 0, 1020995.495 743113.609 0, 1021283.084 743114.853 0, 1021570.673 743116.114 0, 1021858.261 743117.392 0, 1022145.85 743118.687 0,
+ 1022433.438 743119.999 0, 1022721.026 743121.328 0, 1023008.614 743122.674 0, 1023296.202 743124.037 0, 1023583.791 743125.416 0, 1023871.378 743126.813 0, 1024158.966 743128.226 0, 1024446.554 743129.657 0, 1024734.142 743131.104 0, 1025021.729 743132.568 0,
+ 1025309.317 743134.049 0, 1025596.904 743135.548 0, 1025884.492 743137.063 0, 1026172.079 743138.595 0, 1026459.666 743140.144 0, 1026747.253 743141.709 0, 1027034.84 743143.292 0, 1027322.427 743144.892 0, 1027608.627 743146.501 0, 1027640.112 737574.432 0,
+ 1027671.595 732002.629 0))
+
+POLYGON ((1041412.665 743244 0, 1041126.469 743241.582 0, 1040838.887 743239.17 0, 1040551.306 743236.775 0, 1040263.725 743234.397 0, 1039976.143 743232.035 0, 1039688.561 743229.691 0, 1039400.979 743227.363 0, 1039113.397 743225.053 0, 1038825.815 743222.759 0,
+ 1038538.233 743220.482 0, 1038250.65 743218.222 0, 1037963.068 743215.979 0, 1037675.485 743213.753 0, 1037387.902 743211.544 0, 1037100.319 743209.352 0, 1036812.736 743207.177 0, 1036525.153 743205.019 0, 1036237.569 743202.878 0, 1035949.986 743200.753 0,
+ 1035662.402 743198.646 0, 1035374.818 743196.555 0, 1035087.234 743194.481 0, 1034799.65 743192.425 0, 1034510.68 743190.375 0, 1034224.482 743188.362 0, 1033936.898 743186.356 0, 1033649.313 743184.367 0, 1033361.729 743182.395 0, 1033074.144 743180.44 0,
+ 1032786.559 743178.502 0, 1032498.974 743176.58 0, 1032211.389 743174.676 0, 1031923.804 743172.789 0, 1031636.219 743170.918 0, 1031348.633 743169.065 0, 1031061.048 743167.228 0, 1030773.462 743165.408 0, 1030485.877 743163.605 0, 1030198.291 743161.82 0,
+ 1029910.705 743160.051 0, 1029623.119 743158.299 0, 1029335.533 743156.563 0, 1029047.947 743154.845 0, 1028760.36 743153.144 0, 1028472.774 743151.46 0, 1028185.187 743149.792 0, 1027897.601 743148.142 0, 1027608.627 743146.501 0, 1027577.141 748718.83 0,
+ 1027545.653 754291.416 0, 1027833.968 754293.054 0, 1028120.899 754294.701 0, 1028407.829 754296.364 0, 1028694.76 754298.045 0, 1028981.69 754299.742 0, 1029268.62 754301.456 0, 1029555.55 754303.188 0, 1029842.48 754304.936 0, 1030129.41 754306.701 0,
+ 1030416.34 754308.482 0, 1030703.27 754310.281 0, 1030990.2 754312.097 0, 1031277.129 754313.929 0, 1031564.059 754315.778 0, 1031850.988 754317.645 0, 1032137.917 754319.528 0, 1032424.846 754321.428 0, 1032711.775 754323.345 0, 1032998.704 754325.278 0,
+ 1033285.633 754327.229 0, 1033572.561 754329.197 0, 1033859.49 754331.181 0, 1034146.418 754333.183 0, 1034431.964 754335.191 0, 1034720.275 754337.236 0, 1035007.203 754339.288 0, 1035294.131 754341.357 0, 1035581.058 754343.443 0, 1035867.986 754345.545 0,
+ 1036154.914 754347.665 0, 1036441.841 754349.801 0, 1036728.768 754351.955 0, 1037015.695 754354.125 0, 1037302.622 754356.312 0, 1037589.549 754358.516 0, 1037876.476 754360.737 0, 1038163.403 754362.975 0, 1038450.329 754365.229 0, 1038737.256 754367.501 0,
+ 1039024.182 754369.789 0, 1039311.108 754372.095 0, 1039598.034 754374.417 0, 1039884.96 754376.756 0, 1040171.886 754379.112 0, 1040458.811 754381.485 0, 1040745.737 754383.875 0, 1041032.662 754386.281 0, 1041318.205 754388.693 0, 1041365.436 748816.218 0,
+ 1041412.665 743244 0))
+
+POLYGON ((1055090.427 754524.879 0, 1054804.89 754521.661 0, 1054517.972 754518.443 0, 1054231.055 754515.243 0, 1053944.137 754512.06 0, 1053657.219 754508.893 0, 1053370.301 754505.743 0, 1053083.383 754502.61 0, 1052796.464 754499.495 0, 1052509.546 754496.395 0,
+ 1052222.627 754493.313 0, 1051935.708 754490.248 0, 1051648.789 754487.2 0, 1051361.869 754484.168 0, 1051074.95 754481.154 0, 1050788.03 754478.156 0, 1050501.11 754475.175 0, 1050214.19 754472.211 0, 1049927.27 754469.264 0, 1049640.35 754466.334 0,
+ 1049353.429 754463.42 0, 1049066.508 754460.524 0, 1048779.587 754457.645 0, 1048492.666 754454.782 0, 1048204.364 754451.923 0, 1047918.824 754449.107 0, 1047631.902 754446.295 0, 1047344.98 754443.5 0, 1047058.058 754440.722 0, 1046771.136 754437.961 0,
+ 1046484.214 754435.216 0, 1046197.292 754432.489 0, 1045910.369 754429.778 0, 1045623.446 754427.085 0, 1045336.523 754424.408 0, 1045049.6 754421.748 0, 1044762.677 754419.105 0, 1044475.754 754416.478 0, 1044188.83 754413.869 0, 1043901.907 754411.277 0,
+ 1043614.983 754408.701 0, 1043328.059 754406.142 0, 1043041.135 754403.601 0, 1042754.21 754401.076 0, 1042467.286 754398.568 0, 1042180.361 754396.077 0, 1041893.437 754393.603 0, 1041606.512 754391.145 0, 1041318.205 754388.693 0, 1041270.972 759961.423 0,
+ 1041223.737 765534.402 0, 1041511.384 765536.849 0, 1041797.653 765539.301 0, 1042083.922 765541.769 0, 1042370.19 765544.255 0, 1042656.459 765546.757 0, 1042942.727 765549.276 0, 1043228.995 765551.812 0, 1043515.263 765554.365 0, 1043801.531 765556.934 0,
+ 1044087.799 765559.521 0, 1044374.066 765562.124 0, 1044660.333 765564.744 0, 1044946.601 765567.381 0, 1045232.868 765570.035 0, 1045519.135 765572.706 0, 1045805.401 765575.394 0, 1046091.668 765578.098 0, 1046377.934 765580.819 0, 1046664.2 765583.558 0,
+ 1046950.467 765586.313 0, 1047236.732 765589.084 0, 1047522.998 765591.873 0, 1047809.264 765594.679 0, 1048094.152 765597.487 0, 1048381.794 765600.34 0, 1048668.06 765603.196 0, 1048954.324 765606.069 0, 1049240.589 765608.959 0, 1049526.854 765611.866 0,
+ 1049813.118 765614.789 0, 1050099.382 765617.729 0, 1050385.646 765620.687 0, 1050671.91 765623.661 0, 1050958.174 765626.651 0, 1051244.438 765629.659 0, 1051530.701 765632.684 0, 1051816.964 765635.725 0, 1052103.227 765638.783 0, 1052389.49 765641.859 0,
+ 1052675.753 765644.951 0, 1052962.015 765648.059 0, 1053248.277 765651.185 0, 1053534.539 765654.328 0, 1053820.801 765657.487 0, 1054107.063 765660.663 0, 1054393.325 765663.856 0, 1054679.586 765667.066 0, 1054964.471 765670.277 0, 1055027.45 760097.453 0,
+ 1055090.427 754524.879 0))
+
+POLYGON ((1068704.766 765844.972 0, 1068419.889 765840.956 0, 1068133.638 765836.937 0, 1067847.387 765832.935 0, 1067561.135 765828.95 0, 1067274.883 765824.982 0, 1066988.631 765821.031 0, 1066702.379 765817.096 0, 1066416.126 765813.179 0, 1066129.873 765809.278 0,
+ 1065843.62 765805.394 0, 1065557.367 765801.527 0, 1065271.114 765797.677 0, 1064984.86 765793.844 0, 1064698.606 765790.027 0, 1064412.352 765786.228 0, 1064126.098 765782.445 0, 1063839.843 765778.679 0, 1063553.588 765774.93 0, 1063267.333 765771.198 0,
+ 1062981.078 765767.483 0, 1062694.823 765763.784 0, 1062408.567 765760.102 0, 1062122.311 765756.438 0, 1061834.68 765752.772 0, 1061549.799 765749.158 0, 1061263.542 765745.544 0, 1060977.286 765741.947 0, 1060691.029 765738.366 0, 1060404.772 765734.802 0,
+ 1060118.514 765731.256 0, 1059832.257 765727.726 0, 1059545.999 765724.212 0, 1059259.741 765720.716 0, 1058973.483 765717.237 0, 1058687.224 765713.774 0, 1058400.966 765710.328 0, 1058114.707 765706.899 0, 1057828.448 765703.487 0, 1057542.189 765700.092 0,
+ 1057255.929 765696.713 0, 1056969.67 765693.352 0, 1056683.41 765690.007 0, 1056397.15 765686.679 0, 1056110.89 765683.368 0, 1055824.629 765680.074 0, 1055538.369 765676.797 0, 1055252.108 765673.536 0, 1054964.471 765670.277 0, 1054901.488 771243.348 0,
+ 1054838.503 776816.663 0, 1055125.481 776819.914 0, 1055411.086 776823.167 0, 1055696.69 776826.437 0, 1055982.295 776829.724 0, 1056267.899 776833.027 0, 1056553.503 776836.347 0, 1056839.106 776839.684 0, 1057124.71 776843.038 0, 1057410.313 776846.409 0,
+ 1057695.916 776849.796 0, 1057981.519 776853.201 0, 1058267.122 776856.622 0, 1058552.725 776860.06 0, 1058838.327 776863.514 0, 1059123.929 776866.986 0, 1059409.531 776870.474 0, 1059695.133 776873.979 0, 1059980.734 776877.501 0, 1060266.336 776881.04 0,
+ 1060551.937 776884.596 0, 1060837.538 776888.168 0, 1061123.138 776891.757 0, 1061408.739 776895.363 0, 1061692.967 776898.968 0, 1061979.939 776902.625 0, 1062265.539 776906.282 0, 1062551.139 776909.955 0, 1062836.738 776913.645 0, 1063122.337 776917.352 0,
+ 1063407.936 776921.076 0, 1063693.535 776924.816 0, 1063979.133 776928.573 0, 1064264.732 776932.348 0, 1064550.33 776936.138 0, 1064835.928 776939.946 0, 1065121.525 776943.771 0, 1065407.123 776947.612 0, 1065692.72 776951.47 0, 1065978.317 776955.345 0,
+ 1066263.913 776959.237 0, 1066549.51 776963.145 0, 1066835.106 776967.071 0, 1067120.702 776971.013 0, 1067406.298 776974.972 0, 1067691.894 776978.948 0, 1067977.489 776982.94 0, 1068263.084 776986.95 0, 1068547.308 776990.957 0, 1068626.039 771417.843 0,
+ 1068704.766 765844.972 0))
+
+POLYGON ((1082255.566 777203.98 0, 1081971.352 777199.17 0, 1081685.77 777194.354 0, 1081400.187 777189.554 0, 1081114.604 777184.772 0, 1080829.02 777180.006 0, 1080543.436 777175.257 0, 1080257.852 777170.524 0, 1079972.268 777165.809 0, 1079686.683 777161.11 0,
+ 1079401.098 777156.429 0, 1079115.513 777151.764 0, 1078829.928 777147.116 0, 1078544.342 777142.484 0, 1078258.756 777137.87 0, 1077973.17 777133.272 0, 1077687.584 777128.691 0, 1077401.997 777124.127 0, 1077116.41 777119.579 0, 1076830.822 777115.049 0,
+ 1076545.235 777110.535 0, 1076259.647 777106.038 0, 1075974.059 777101.558 0, 1075688.471 777097.095 0, 1075401.512 777092.627 0, 1075117.293 777088.219 0, 1074831.704 777083.806 0, 1074546.115 777079.41 0, 1074260.525 777075.031 0, 1073974.935 777070.668 0,
+ 1073689.345 777066.323 0, 1073403.754 777061.994 0, 1073118.164 777057.682 0, 1072832.573 777053.387 0, 1072546.982 777049.108 0, 1072261.39 777044.847 0, 1071975.798 777040.602 0, 1071690.206 777036.374 0, 1071404.614 777032.163 0, 1071119.022 777027.969 0,
+ 1070833.429 777023.791 0, 1070547.836 777019.63 0, 1070262.243 777015.486 0, 1069976.65 777011.359 0, 1069691.056 777007.249 0, 1069405.462 777003.156 0, 1069119.868 776999.079 0, 1068834.274 776995.019 0, 1068547.308 776990.957 0, 1068468.574 782564.311 0,
+ 1068389.837 788137.9 0, 1068676.143 788141.954 0, 1068961.081 788146.004 0, 1069246.019 788150.071 0, 1069530.957 788154.155 0, 1069815.895 788158.256 0, 1070100.832 788162.374 0, 1070385.769 788166.508 0, 1070670.706 788170.659 0, 1070955.643 788174.827 0,
+ 1071240.579 788179.012 0, 1071525.515 788183.213 0, 1071810.451 788187.432 0, 1072095.386 788191.667 0, 1072380.322 788195.919 0, 1072665.257 788200.187 0, 1072950.192 788204.472 0, 1073235.126 788208.774 0, 1073520.061 788213.093 0, 1073804.995 788217.429 0,
+ 1074089.929 788221.781 0, 1074374.862 788226.151 0, 1074659.796 788230.536 0, 1074944.729 788234.939 0, 1075228.295 788239.337 0, 1075514.594 788243.795 0, 1075799.526 788248.248 0, 1076084.458 788252.718 0, 1076369.39 788257.204 0, 1076654.322 788261.708 0,
+ 1076939.253 788266.228 0, 1077224.184 788270.765 0, 1077509.115 788275.318 0, 1077794.045 788279.889 0, 1078078.975 788284.476 0, 1078363.905 788289.08 0, 1078648.835 788293.701 0, 1078933.764 788298.338 0, 1079218.693 788302.992 0, 1079503.622 788307.663 0,
+ 1079788.55 788312.351 0, 1080073.479 788317.056 0, 1080358.407 788321.777 0, 1080643.334 788326.515 0, 1080928.262 788331.27 0, 1081213.189 788336.042 0, 1081498.116 788340.83 0, 1081783.042 788345.635 0, 1082066.603 788350.434 0, 1082161.087 782777.089 0,
+ 1082255.566 777203.98 0))
+
+POLYGON ((1095742.715 788601.607 0, 1095459.166 788596.007 0, 1095174.254 788590.396 0, 1094889.342 788584.803 0, 1094604.43 788579.226 0, 1094319.517 788573.667 0, 1094034.604 788568.123 0, 1093749.69 788562.597 0, 1093464.776 788557.088 0, 1093179.862 788551.595 0,
+ 1092894.948 788546.119 0, 1092610.033 788540.66 0, 1092325.118 788535.217 0, 1092040.202 788529.792 0, 1091755.287 788524.383 0, 1091470.371 788518.99 0, 1091185.454 788513.615 0, 1090900.537 788508.256 0, 1090615.62 788502.915 0, 1090330.703 788497.59 0,
+ 1090045.785 788492.281 0, 1089760.868 788486.99 0, 1089475.949 788481.715 0, 1089191.031 788476.457 0, 1088904.748 788471.191 0, 1088621.193 788465.991 0, 1088336.273 788460.784 0, 1088051.353 788455.593 0, 1087766.433 788450.419 0, 1087481.513 788445.261 0,
+ 1087196.592 788440.121 0, 1086911.671 788434.997 0, 1086626.75 788429.89 0, 1086341.828 788424.799 0, 1086056.906 788419.726 0, 1085771.984 788414.669 0, 1085487.062 788409.629 0, 1085202.139 788404.606 0, 1084917.216 788399.599 0, 1084632.292 788394.61 0,
+ 1084347.369 788389.637 0, 1084062.445 788384.681 0, 1083777.52 788379.741 0, 1083492.596 788374.819 0, 1083207.671 788369.913 0, 1082922.746 788365.024 0, 1082637.82 788360.152 0, 1082352.895 788355.296 0, 1082066.603 788350.434 0, 1081972.116 793924.012 0,
+ 1081877.624 799497.819 0, 1082163.257 799502.669 0, 1082447.526 799507.514 0, 1082731.796 799512.375 0, 1083016.065 799517.252 0, 1083300.333 799522.147 0, 1083584.602 799527.058 0, 1083868.87 799531.986 0, 1084153.138 799536.931 0, 1084437.405 799541.892 0,
+ 1084721.673 799546.871 0, 1085005.94 799551.866 0, 1085290.206 799556.877 0, 1085574.473 799561.906 0, 1085858.739 799566.951 0, 1086143.005 799572.012 0, 1086427.27 799577.091 0, 1086711.535 799582.186 0, 1086995.8 799587.298 0, 1087280.065 799592.427 0,
+ 1087564.329 799597.573 0, 1087848.593 799602.735 0, 1088132.857 799607.914 0, 1088417.12 799613.11 0, 1088700.022 799618.297 0, 1088985.646 799623.551 0, 1089269.909 799628.797 0, 1089554.171 799634.06 0, 1089838.433 799639.339 0, 1090122.694 799644.635 0,
+ 1090406.956 799649.948 0, 1090691.217 799655.277 0, 1090975.477 799660.624 0, 1091259.737 799665.987 0, 1091543.997 799671.366 0, 1091828.257 799676.763 0, 1092112.516 799682.176 0, 1092396.775 799687.606 0, 1092681.034 799693.053 0, 1092965.292 799698.516 0,
+ 1093249.551 799703.996 0, 1093533.808 799709.493 0, 1093818.066 799715.007 0, 1094102.323 799720.537 0, 1094386.58 799726.084 0, 1094670.836 799731.648 0, 1094955.092 799737.228 0, 1095239.348 799742.825 0, 1095522.243 799748.412 0, 1095632.481 794174.895 0,
+ 1095742.715 788601.607 0))
+
+POLYGON ((1109166.1 800037.554 0, 1108883.219 800031.168 0, 1108598.98 800024.767 0, 1108314.741 800018.384 0, 1108030.501 800012.017 0, 1107746.261 800005.667 0, 1107462.021 799999.333 0, 1107177.78 799993.017 0, 1106893.539 799986.717 0, 1106609.298 799980.434 0,
+ 1106325.056 799974.167 0, 1106040.814 799967.918 0, 1105756.571 799961.685 0, 1105472.328 799955.468 0, 1105188.085 799949.269 0, 1104903.841 799943.086 0, 1104619.597 799936.92 0, 1104335.353 799930.771 0, 1104051.108 799924.638 0, 1103766.863 799918.522 0,
+ 1103482.618 799912.423 0, 1103198.372 799906.341 0, 1102914.126 799900.275 0, 1102629.879 799894.226 0, 1102344.274 799888.165 0, 1102061.385 799882.178 0, 1101777.138 799876.179 0, 1101492.89 799870.197 0, 1101208.641 799864.232 0, 1100924.393 799858.284 0,
+ 1100640.144 799852.352 0, 1100355.894 799846.437 0, 1100071.645 799840.538 0, 1099787.395 799834.657 0, 1099503.144 799828.792 0, 1099218.894 799822.943 0, 1098934.643 799817.112 0, 1098650.391 799811.297 0, 1098366.139 799805.499 0, 1098081.887 799799.718 0,
+ 1097797.635 799793.953 0, 1097513.382 799788.206 0, 1097229.129 799782.475 0, 1096944.876 799776.76 0, 1096660.622 799771.063 0, 1096376.368 799765.382 0, 1096092.113 799759.718 0, 1095807.858 799754.07 0, 1095522.243 799748.412 0, 1095412.001 805322.155 0,
+ 1095301.754 810896.119 0, 1095586.71 810901.764 0, 1095870.309 810907.398 0, 1096153.907 810913.049 0, 1096437.505 810918.717 0, 1096721.103 810924.402 0, 1097004.7 810930.103 0, 1097288.297 810935.821 0, 1097571.894 810941.555 0, 1097855.49 810947.306 0,
+ 1098139.086 810953.074 0, 1098422.681 810958.859 0, 1098706.277 810964.66 0, 1098989.872 810970.478 0, 1099273.466 810976.313 0, 1099557.061 810982.164 0, 1099840.654 810988.032 0, 1100124.248 810993.917 0, 1100407.841 810999.819 0, 1100691.434 811005.737 0,
+ 1100975.027 811011.672 0, 1101258.619 811017.623 0, 1101542.211 811023.591 0, 1101825.802 811029.576 0, 1102108.037 811035.549 0, 1102392.984 811041.596 0, 1102676.574 811047.631 0, 1102960.164 811053.683 0, 1103243.754 811059.751 0, 1103527.344 811065.836 0,
+ 1103810.933 811071.938 0, 1104094.521 811078.057 0, 1104378.109 811084.192 0, 1104661.697 811090.344 0, 1104945.285 811096.512 0, 1105228.872 811102.697 0, 1105512.459 811108.899 0, 1105796.045 811115.118 0, 1106079.631 811121.353 0, 1106363.217 811127.605 0,
+ 1106646.802 811133.874 0, 1106930.387 811140.159 0, 1107213.972 811146.461 0, 1107497.556 811152.78 0, 1107781.14 811159.115 0, 1108064.724 811165.467 0, 1108348.307 811171.836 0, 1108631.889 811178.222 0, 1108914.117 811184.593 0, 1109040.111 805610.963 0,
+ 1109166.1 800037.554 0))
+
+POLYGON ((1122525.611 811511.524 0, 1122243.4 811504.355 0, 1121959.836 811497.168 0, 1121676.272 811489.998 0, 1121392.708 811482.845 0, 1121109.143 811475.708 0, 1120825.578 811468.588 0, 1120542.012 811461.485 0, 1120258.446 811454.399 0, 1119974.88 811447.329 0,
+ 1119691.313 811440.276 0, 1119407.745 811433.239 0, 1119124.178 811426.219 0, 1118840.61 811419.216 0, 1118557.041 811412.23 0, 1118273.472 811405.26 0, 1117989.903 811398.307 0, 1117706.333 811391.371 0, 1117422.763 811384.451 0, 1117139.192 811377.548 0,
+ 1116855.621 811370.662 0, 1116572.05 811363.793 0, 1116288.478 811356.94 0, 1116004.905 811350.104 0, 1115719.979 811343.252 0, 1115437.76 811336.481 0, 1115154.186 811329.695 0, 1114870.613 811322.926 0, 1114587.038 811316.173 0, 1114303.464 811309.437 0,
+ 1114019.889 811302.718 0, 1113736.313 811296.015 0, 1113452.737 811289.329 0, 1113169.161 811282.66 0, 1112885.585 811276.007 0, 1112602.008 811269.372 0, 1112318.43 811262.752 0, 1112034.853 811256.15 0, 1111751.274 811249.564 0, 1111467.696 811242.995 0,
+ 1111184.117 811236.442 0, 1110900.538 811229.907 0, 1110616.958 811223.388 0, 1110333.378 811216.885 0, 1110049.797 811210.4 0, 1109766.217 811203.931 0, 1109482.635 811197.478 0, 1109199.054 811191.043 0, 1108914.117 811184.593 0, 1108788.118 816758.442 0,
+ 1108662.115 822332.505 0, 1108946.392 822338.939 0, 1109229.318 822345.36 0, 1109512.243 822351.797 0, 1109795.167 822358.251 0, 1110078.092 822364.722 0, 1110361.016 822371.209 0, 1110643.939 822377.713 0, 1110926.862 822384.234 0, 1111209.785 822390.771 0,
+ 1111492.708 822397.325 0, 1111775.63 822403.895 0, 1112058.551 822410.483 0, 1112341.473 822417.086 0, 1112624.393 822423.707 0, 1112907.314 822430.344 0, 1113190.234 822436.998 0, 1113473.154 822443.668 0, 1113756.073 822450.356 0, 1114038.992 822457.059 0,
+ 1114321.91 822463.78 0, 1114604.828 822470.517 0, 1114887.746 822477.271 0, 1115170.663 822484.041 0, 1115452.23 822490.796 0, 1115736.497 822497.632 0, 1116019.413 822504.452 0, 1116302.329 822511.289 0, 1116585.244 822518.143 0, 1116868.159 822525.013 0,
+ 1117151.073 822531.9 0, 1117433.987 822538.804 0, 1117716.901 822545.724 0, 1117999.814 822552.661 0, 1118282.727 822559.614 0, 1118565.64 822566.585 0, 1118848.552 822573.571 0, 1119131.463 822580.575 0, 1119414.375 822587.595 0, 1119697.285 822594.632 0,
+ 1119980.196 822601.685 0, 1120263.106 822608.756 0, 1120546.015 822615.842 0, 1120828.924 822622.946 0, 1121111.833 822630.066 0, 1121394.741 822637.203 0, 1121677.649 822644.356 0, 1121960.557 822651.526 0, 1122242.115 822658.678 0, 1122383.865 817084.994 0,
+ 1122525.611 811511.524 0))
+
+POLYGON ((1135821.139 823023.217 0, 1135539.6 823015.269 0, 1135256.714 823007.3 0, 1134973.827 822999.347 0, 1134690.94 822991.411 0, 1134408.053 822983.492 0, 1134125.165 822975.589 0, 1133842.277 822967.703 0, 1133559.388 822959.834 0, 1133276.498 822951.981 0,
+ 1132993.609 822944.145 0, 1132710.718 822936.326 0, 1132427.828 822928.523 0, 1132144.936 822920.737 0, 1131862.045 822912.967 0, 1131579.153 822905.214 0, 1131296.26 822897.478 0, 1131013.367 822889.759 0, 1130730.474 822882.056 0, 1130447.58 822874.37 0,
+ 1130164.685 822866.7 0, 1129881.791 822859.047 0, 1129598.895 822851.411 0, 1129316 822843.791 0, 1129031.755 822836.152 0, 1128750.207 822828.602 0, 1128467.31 822821.032 0, 1128184.412 822813.479 0, 1127901.514 822805.943 0, 1127618.616 822798.423 0,
+ 1127335.717 822790.92 0, 1127052.818 822783.434 0, 1126769.918 822775.964 0, 1126487.018 822768.511 0, 1126204.117 822761.075 0, 1125921.216 822753.655 0, 1125638.315 822746.252 0, 1125355.413 822738.865 0, 1125072.511 822731.495 0, 1124789.608 822724.142 0,
+ 1124506.705 822716.806 0, 1124223.801 822709.486 0, 1123940.897 822702.182 0, 1123657.993 822694.896 0, 1123375.088 822687.626 0, 1123092.182 822680.373 0, 1122809.277 822673.136 0, 1122526.37 822665.916 0, 1122242.115 822658.678 0, 1122100.358 828232.573 0,
+ 1121958.597 833806.675 0, 1122242.194 833813.896 0, 1122524.444 833821.099 0, 1122806.693 833828.319 0, 1123088.943 833835.556 0, 1123371.191 833842.809 0, 1123653.44 833850.078 0, 1123935.688 833857.365 0, 1124217.935 833864.668 0, 1124500.182 833871.987 0,
+ 1124782.429 833879.323 0, 1125064.675 833886.676 0, 1125346.921 833894.045 0, 1125629.166 833901.431 0, 1125911.411 833908.834 0, 1126193.655 833916.253 0, 1126475.899 833923.689 0, 1126758.143 833931.141 0, 1127040.386 833938.61 0, 1127322.629 833946.096 0,
+ 1127604.871 833953.598 0, 1127887.113 833961.117 0, 1128169.354 833968.653 0, 1128451.595 833976.205 0, 1128732.491 833983.737 0, 1129016.076 833991.359 0, 1129298.315 833998.961 0, 1129580.554 834006.579 0, 1129862.793 834014.215 0, 1130145.031 834021.866 0,
+ 1130427.269 834029.535 0, 1130709.506 834037.22 0, 1130991.743 834044.921 0, 1131273.98 834052.64 0, 1131556.216 834060.374 0, 1131838.451 834068.126 0, 1132120.686 834075.894 0, 1132402.921 834083.679 0, 1132685.155 834091.48 0, 1132967.389 834099.298 0,
+ 1133249.622 834107.132 0, 1133531.855 834114.983 0, 1133814.087 834122.851 0, 1134096.319 834130.735 0, 1134378.55 834138.636 0, 1134660.781 834146.554 0, 1134943.012 834154.488 0, 1135225.242 834162.439 0, 1135506.127 834170.368 0, 1135663.636 828596.689 0,
+ 1135821.139 823023.217 0))
+
+POLYGON ((1149052.576 834572.334 0, 1148771.711 834563.611 0, 1148489.505 834554.863 0, 1148207.298 834546.131 0, 1147925.091 834537.417 0, 1147642.883 834528.718 0, 1147360.674 834520.037 0, 1147078.465 834511.372 0, 1146796.256 834502.723 0, 1146514.046 834494.091 0,
+ 1146231.835 834485.476 0, 1145949.625 834476.877 0, 1145667.413 834468.295 0, 1145385.201 834459.73 0, 1145102.989 834451.181 0, 1144820.776 834442.649 0, 1144538.562 834434.134 0, 1144256.348 834425.635 0, 1143974.134 834417.152 0, 1143691.919 834408.687 0,
+ 1143409.703 834400.237 0, 1143127.487 834391.805 0, 1142845.271 834383.389 0, 1142563.054 834374.99 0, 1142279.493 834366.567 0, 1141998.618 834358.241 0, 1141716.4 834349.892 0, 1141434.181 834341.559 0, 1141151.961 834333.242 0, 1140869.741 834324.943 0,
+ 1140587.521 834316.66 0, 1140305.3 834308.393 0, 1140023.079 834300.144 0, 1139740.857 834291.911 0, 1139458.634 834283.694 0, 1139176.412 834275.494 0, 1138894.188 834267.311 0, 1138611.964 834259.144 0, 1138329.74 834250.994 0, 1138047.515 834242.86 0,
+ 1137765.29 834234.743 0, 1137483.064 834226.643 0, 1137200.838 834218.559 0, 1136918.612 834210.492 0, 1136636.384 834202.442 0, 1136354.157 834194.408 0, 1136071.929 834186.391 0, 1135789.7 834178.39 0, 1135506.127 834170.368 0, 1135348.613 839744.251 0,
+ 1135191.093 845318.332 0, 1135474.006 845326.336 0, 1135755.579 845334.318 0, 1136037.151 845342.316 0, 1136318.722 845350.331 0, 1136600.293 845358.363 0, 1136881.864 845366.411 0, 1137163.434 845374.476 0, 1137445.003 845382.558 0, 1137726.573 845390.656 0,
+ 1138008.141 845398.77 0, 1138289.709 845406.902 0, 1138571.277 845415.049 0, 1138852.844 845423.214 0, 1139134.411 845431.395 0, 1139415.977 845439.592 0, 1139697.543 845447.806 0, 1139979.108 845456.037 0, 1140260.673 845464.284 0, 1140542.237 845472.548 0,
+ 1140823.801 845480.828 0, 1141105.364 845489.125 0, 1141386.927 845497.438 0, 1141668.489 845505.768 0, 1141948.712 845514.075 0, 1142231.613 845522.478 0, 1142513.174 845530.858 0, 1142794.734 845539.254 0, 1143076.294 845547.667 0, 1143357.853 845556.097 0,
+ 1143639.412 845564.543 0, 1143920.97 845573.005 0, 1144202.528 845581.484 0, 1144484.086 845589.98 0, 1144765.643 845598.493 0, 1145047.199 845607.021 0, 1145328.755 845615.567 0, 1145610.31 845624.129 0, 1145891.865 845632.708 0, 1146173.42 845641.303 0,
+ 1146454.973 845649.915 0, 1146736.527 845658.543 0, 1147018.08 845667.188 0, 1147299.632 845675.849 0, 1147581.184 845684.527 0, 1147862.735 845693.222 0, 1148144.286 845701.933 0, 1148425.836 845710.661 0, 1148706.047 845719.364 0, 1148879.315 840145.749 0,
+ 1149052.576 834572.334 0))
+
+POLYGON ((1162219.815 846158.575 0, 1161939.628 846149.081 0, 1161658.103 846139.558 0, 1161376.578 846130.051 0, 1161095.052 846120.561 0, 1160813.526 846111.088 0, 1160531.999 846101.631 0, 1160250.472 846092.191 0, 1159968.944 846082.767 0, 1159687.416 846073.36 0,
+ 1159405.887 846063.969 0, 1159124.357 846054.595 0, 1158842.827 846045.238 0, 1158561.297 846035.897 0, 1158279.765 846026.572 0, 1157998.234 846017.265 0, 1157716.702 846007.973 0, 1157435.169 845998.699 0, 1157153.635 845989.441 0, 1156872.101 845980.199 0,
+ 1156590.567 845970.974 0, 1156309.032 845961.766 0, 1156027.496 845952.574 0, 1155745.96 845943.399 0, 1155463.086 845934.197 0, 1155182.887 845925.099 0, 1154901.349 845915.973 0, 1154619.811 845906.864 0, 1154338.272 845897.772 0, 1154056.733 845888.696 0,
+ 1153775.193 845879.637 0, 1153493.653 845870.594 0, 1153212.112 845861.568 0, 1152930.57 845852.559 0, 1152649.028 845843.566 0, 1152367.486 845834.59 0, 1152085.943 845825.63 0, 1151804.399 845816.687 0, 1151522.855 845807.76 0, 1151241.311 845798.85 0,
+ 1150959.766 845789.956 0, 1150678.22 845781.08 0, 1150396.674 845772.219 0, 1150115.127 845763.375 0, 1149833.58 845754.548 0, 1149552.032 845745.738 0, 1149270.484 845736.944 0, 1148988.935 845728.166 0, 1148706.047 845719.364 0, 1148532.774 851293.174 0,
+ 1148359.495 856867.176 0, 1148641.723 856875.958 0, 1148922.616 856884.715 0, 1149203.508 856893.489 0, 1149484.4 856902.279 0, 1149765.291 856911.085 0, 1150046.181 856919.908 0, 1150327.071 856928.748 0, 1150607.961 856937.604 0, 1150888.85 856946.477 0,
+ 1151169.738 856955.366 0, 1151450.626 856964.272 0, 1151731.514 856973.195 0, 1152012.4 856982.133 0, 1152293.287 856991.089 0, 1152574.173 857000.061 0, 1152855.058 857009.049 0, 1153135.943 857018.054 0, 1153416.827 857027.076 0, 1153697.711 857036.114 0,
+ 1153978.594 857045.168 0, 1154259.476 857054.24 0, 1154540.359 857063.327 0, 1154821.24 857072.431 0, 1155100.787 857081.509 0, 1155383.002 857090.689 0, 1155663.882 857099.843 0, 1155944.761 857109.014 0, 1156225.64 857118.2 0, 1156506.518 857127.404 0,
+ 1156787.396 857136.624 0, 1157068.273 857145.86 0, 1157349.15 857155.113 0, 1157630.026 857164.383 0, 1157910.902 857173.669 0, 1158191.777 857182.971 0, 1158472.651 857192.291 0, 1158753.525 857201.626 0, 1159034.399 857210.978 0, 1159315.272 857220.347 0,
+ 1159596.144 857229.732 0, 1159877.016 857239.134 0, 1160157.887 857248.552 0, 1160438.758 857257.987 0, 1160719.628 857267.439 0, 1161000.497 857276.907 0, 1161281.366 857286.391 0, 1161562.235 857295.892 0, 1161841.77 857305.364 0, 1162030.796 851731.874 0,
+ 1162219.815 846158.575 0))
+
+POLYGON ((1175322.752 857781.641 0, 1175043.243 857771.379 0, 1174762.403 857761.084 0, 1174481.562 857750.806 0, 1174200.72 857740.545 0, 1173919.878 857730.3 0, 1173639.035 857720.072 0, 1173358.191 857709.86 0, 1173077.347 857699.665 0, 1172796.503 857689.486 0,
+ 1172515.657 857679.324 0, 1172234.812 857669.178 0, 1171953.965 857659.049 0, 1171673.118 857648.936 0, 1171392.27 857638.84 0, 1171111.422 857628.761 0, 1170830.573 857618.698 0, 1170549.724 857608.651 0, 1170268.874 857598.621 0, 1169988.023 857588.608 0,
+ 1169707.172 857578.611 0, 1169426.32 857568.631 0, 1169145.468 857558.667 0, 1168864.615 857548.719 0, 1168582.429 857538.742 0, 1168302.907 857528.874 0, 1168022.052 857518.977 0, 1167741.197 857509.096 0, 1167460.341 857499.231 0, 1167179.485 857489.383 0,
+ 1166898.627 857479.551 0, 1166617.77 857469.736 0, 1166336.912 857459.938 0, 1166056.053 857450.156 0, 1165775.194 857440.39 0, 1165494.334 857430.641 0, 1165213.473 857420.909 0, 1164932.612 857411.193 0, 1164651.75 857401.494 0, 1164370.888 857391.811 0,
+ 1164090.025 857382.145 0, 1163809.162 857372.495 0, 1163528.298 857362.862 0, 1163247.434 857353.245 0, 1162966.568 857343.645 0, 1162685.703 857334.061 0, 1162404.837 857324.494 0, 1162123.97 857314.943 0, 1161841.77 857305.364 0, 1161652.737 862879.043 0,
+ 1161463.698 868452.906 0, 1161745.239 868462.463 0, 1162025.45 868471.991 0, 1162305.66 868481.536 0, 1162585.87 868491.097 0, 1162866.079 868500.675 0, 1163146.287 868510.269 0, 1163426.495 868519.88 0, 1163706.702 868529.507 0, 1163986.909 868539.15 0,
+ 1164267.115 868548.811 0, 1164547.32 868558.487 0, 1164827.525 868568.18 0, 1165107.73 868577.89 0, 1165387.934 868587.616 0, 1165668.137 868597.359 0, 1165948.339 868607.118 0, 1166228.542 868616.894 0, 1166508.743 868626.686 0, 1166788.944 868636.494 0,
+ 1167069.144 868646.32 0, 1167349.344 868656.161 0, 1167629.543 868666.019 0, 1167909.742 868675.894 0, 1168188.611 868685.738 0, 1168470.138 868695.693 0, 1168750.335 868705.617 0, 1169030.531 868715.557 0, 1169310.727 868725.514 0, 1169590.922 868735.488 0,
+ 1169871.116 868745.478 0, 1170151.31 868755.484 0, 1170431.504 868765.507 0, 1170711.696 868775.547 0, 1170991.889 868785.603 0, 1171272.08 868795.675 0, 1171552.271 868805.764 0, 1171832.462 868815.87 0, 1172112.651 868825.992 0, 1172392.841 868836.13 0,
+ 1172673.029 868846.285 0, 1172953.217 868856.457 0, 1173233.405 868866.644 0, 1173513.591 868876.849 0, 1173793.778 868887.07 0, 1174073.963 868897.307 0, 1174354.148 868907.561 0, 1174634.333 868917.831 0, 1174913.189 868928.07 0, 1175117.974 863354.763 0,
+ 1175322.752 857781.641 0))
+
+POLYGON ((1188361.283 869441.229 0, 1188082.455 869430.203 0, 1187802.301 869419.141 0, 1187522.146 869408.095 0, 1187241.99 869397.067 0, 1186961.834 869386.054 0, 1186681.677 869375.058 0, 1186401.52 869364.079 0, 1186121.361 869353.116 0, 1185841.203 869342.169 0,
+ 1185561.043 869331.239 0, 1185280.883 869320.326 0, 1185000.722 869309.429 0, 1184720.561 869298.548 0, 1184440.399 869287.684 0, 1184160.236 869276.837 0, 1183880.073 869266.005 0, 1183599.909 869255.191 0, 1183319.744 869244.393 0, 1183039.579 869233.611 0,
+ 1182759.413 869222.846 0, 1182479.247 869212.098 0, 1182199.08 869201.365 0, 1181918.912 869190.65 0, 1181637.417 869179.9 0, 1181358.575 869169.268 0, 1181078.405 869158.602 0, 1180798.235 869147.952 0, 1180518.064 869137.319 0, 1180237.893 869126.702 0,
+ 1179957.72 869116.102 0, 1179677.548 869105.518 0, 1179397.374 869094.951 0, 1179117.2 869084.4 0, 1178837.026 869073.866 0, 1178556.85 869063.348 0, 1178276.675 869052.847 0, 1177996.498 869042.362 0, 1177716.321 869031.894 0, 1177436.143 869021.442 0,
+ 1177155.965 869011.007 0, 1176875.786 869000.588 0, 1176595.607 868990.186 0, 1176315.426 868979.8 0, 1176035.246 868969.431 0, 1175755.064 868959.078 0, 1175474.882 868948.742 0, 1175194.7 868938.422 0, 1174913.189 868928.07 0, 1174708.397 874501.557 0,
+ 1174503.599 880075.221 0, 1174784.45 880085.549 0, 1175063.977 880095.845 0, 1175343.503 880106.157 0, 1175623.028 880116.485 0, 1175902.553 880126.83 0, 1176182.077 880137.192 0, 1176461.6 880147.57 0, 1176741.123 880157.964 0, 1177020.645 880168.375 0,
+ 1177300.167 880178.802 0, 1177579.688 880189.246 0, 1177859.208 880199.706 0, 1178138.728 880210.183 0, 1178418.247 880220.676 0, 1178697.766 880231.186 0, 1178977.284 880241.712 0, 1179256.801 880252.254 0, 1179536.318 880262.813 0, 1179815.834 880273.389 0,
+ 1180095.349 880283.98 0, 1180374.864 880294.589 0, 1180654.378 880305.213 0, 1180933.892 880315.855 0, 1181212.081 880326.462 0, 1181492.917 880337.186 0, 1181772.429 880347.877 0, 1182051.94 880358.584 0, 1182331.45 880369.307 0, 1182610.96 880380.047 0,
+ 1182890.469 880390.804 0, 1183169.977 880401.576 0, 1183449.485 880412.366 0, 1183728.993 880423.171 0, 1184008.499 880433.993 0, 1184288.005 880444.832 0, 1184567.51 880455.687 0, 1184847.015 880466.559 0, 1185126.519 880477.447 0, 1185406.023 880488.351 0,
+ 1185685.525 880499.272 0, 1185965.027 880510.209 0, 1186244.529 880521.163 0, 1186524.03 880532.133 0, 1186803.53 880543.12 0, 1187083.03 880554.123 0, 1187362.528 880565.142 0, 1187642.027 880576.178 0, 1187920.202 880587.179 0, 1188140.746 875014.115 0,
+ 1188361.283 869441.229 0))
+
+POLYGON ((1201335.305 881137.038 0, 1201057.16 881125.252 0, 1200777.694 881113.427 0, 1200498.228 881101.617 0, 1200218.76 881089.825 0, 1199939.292 881078.049 0, 1199659.823 881066.289 0, 1199380.354 881054.545 0, 1199100.884 881042.818 0, 1198821.413 881031.108 0,
+ 1198541.942 881019.414 0, 1198262.469 881007.736 0, 1197982.997 880996.075 0, 1197703.523 880984.431 0, 1197424.049 880972.802 0, 1197144.574 880961.191 0, 1196865.098 880949.595 0, 1196585.622 880938.017 0, 1196306.145 880926.454 0, 1196026.667 880914.908 0,
+ 1195747.189 880903.379 0, 1195467.71 880891.866 0, 1195188.23 880880.369 0, 1194908.75 880868.889 0, 1194627.948 880857.371 0, 1194349.787 880845.978 0, 1194070.305 880834.547 0, 1193790.822 880823.133 0, 1193511.338 880811.735 0, 1193231.854 880800.353 0,
+ 1192952.369 880788.988 0, 1192672.883 880777.64 0, 1192393.397 880766.308 0, 1192113.91 880754.992 0, 1191834.422 880743.693 0, 1191554.933 880732.41 0, 1191275.444 880721.144 0, 1190995.955 880709.894 0, 1190716.464 880698.66 0, 1190436.973 880687.443 0,
+ 1190157.482 880676.243 0, 1189877.989 880665.059 0, 1189598.496 880653.891 0, 1189319.002 880642.74 0, 1189039.508 880631.605 0, 1188760.013 880620.487 0, 1188480.518 880609.385 0, 1188201.021 880598.3 0, 1187920.202 880587.179 0, 1187699.651 886160.415 0,
+ 1187479.093 891733.82 0, 1187759.253 891744.915 0, 1188038.094 891755.975 0, 1188316.933 891767.051 0, 1188595.772 891778.143 0, 1188874.61 891789.251 0, 1189153.448 891800.376 0, 1189432.285 891811.518 0, 1189711.121 891822.676 0, 1189989.957 891833.85 0,
+ 1190268.792 891845.04 0, 1190547.626 891856.247 0, 1190826.46 891867.471 0, 1191105.293 891878.711 0, 1191384.125 891889.967 0, 1191662.957 891901.24 0, 1191941.788 891912.529 0, 1192220.618 891923.834 0, 1192499.448 891935.156 0, 1192778.277 891946.495 0,
+ 1193057.105 891957.849 0, 1193335.933 891969.221 0, 1193614.76 891980.608 0, 1193893.586 891992.012 0, 1194171.094 892003.379 0, 1194451.237 892014.869 0, 1194730.061 892026.323 0, 1195008.885 892037.792 0, 1195287.708 892049.278 0, 1195566.53 892060.781 0,
+ 1195845.352 892072.3 0, 1196124.173 892083.835 0, 1196402.993 892095.387 0, 1196681.813 892106.955 0, 1196960.632 892118.539 0, 1197239.45 892130.14 0, 1197518.267 892141.757 0, 1197797.084 892153.391 0, 1198075.9 892165.041 0, 1198354.716 892176.708 0,
+ 1198633.531 892188.391 0, 1198912.345 892200.09 0, 1199191.158 892211.806 0, 1199469.971 892223.538 0, 1199748.783 892235.287 0, 1200027.594 892247.052 0, 1200306.405 892258.833 0, 1200585.215 892270.631 0, 1200862.707 892282.389 0, 1201099.01 886709.629 0,
+ 1201335.305 881137.038 0))
+
+POLYGON ((1214244.718 892868.767 0, 1213967.258 892856.225 0, 1213688.482 892843.64 0, 1213409.706 892831.071 0, 1213130.929 892818.518 0, 1212852.151 892805.982 0, 1212573.373 892793.462 0, 1212294.594 892780.958 0, 1212015.814 892768.471 0, 1211737.033 892756.001 0,
+ 1211458.252 892743.546 0, 1211179.469 892731.109 0, 1210900.687 892718.687 0, 1210621.903 892706.282 0, 1210343.119 892693.894 0, 1210064.334 892681.521 0, 1209785.548 892669.166 0, 1209506.761 892656.826 0, 1209227.974 892644.503 0, 1208949.186 892632.197 0,
+ 1208670.397 892619.907 0, 1208391.608 892607.633 0, 1208112.818 892595.376 0, 1207834.027 892583.135 0, 1207553.92 892570.853 0, 1207276.443 892558.702 0, 1206997.65 892546.511 0, 1206718.856 892534.335 0, 1206440.062 892522.176 0, 1206161.267 892510.034 0,
+ 1205882.471 892497.908 0, 1205603.674 892485.798 0, 1205324.877 892473.705 0, 1205046.079 892461.628 0, 1204767.28 892449.568 0, 1204488.481 892437.524 0, 1204209.681 892425.496 0, 1203930.88 892413.485 0, 1203652.078 892401.49 0, 1203373.276 892389.512 0,
+ 1203094.473 892377.55 0, 1202815.669 892365.605 0, 1202536.865 892353.675 0, 1202258.06 892341.763 0, 1201979.254 892329.866 0, 1201700.448 892317.987 0, 1201421.641 892306.123 0, 1201142.833 892294.276 0, 1200862.707 892282.389 0, 1200626.398 897855.315 0,
+ 1200390.081 903428.402 0, 1200669.547 903440.261 0, 1200947.699 903452.08 0, 1201225.85 903463.915 0, 1201504.001 903475.767 0, 1201782.151 903487.636 0, 1202060.3 903499.52 0, 1202338.448 903511.421 0, 1202616.596 903523.339 0, 1202894.743 903535.272 0,
+ 1203172.889 903547.223 0, 1203451.034 903559.189 0, 1203729.179 903571.172 0, 1204007.323 903583.171 0, 1204285.467 903595.187 0, 1204563.609 903607.219 0, 1204841.751 903619.267 0, 1205119.893 903631.332 0, 1205398.033 903643.413 0, 1205676.173 903655.511 0,
+ 1205954.312 903667.625 0, 1206232.451 903679.755 0, 1206510.589 903691.902 0, 1206788.726 903704.065 0, 1207065.549 903716.186 0, 1207344.997 903728.44 0, 1207623.132 903740.652 0, 1207901.266 903752.88 0, 1208179.4 903765.125 0, 1208457.533 903777.386 0,
+ 1208735.665 903789.664 0, 1209013.796 903801.958 0, 1209291.926 903814.268 0, 1209570.056 903826.595 0, 1209848.185 903838.938 0, 1210126.314 903851.297 0, 1210404.441 903863.673 0, 1210682.568 903876.065 0, 1210960.694 903888.474 0, 1211238.82 903900.899 0,
+ 1211516.944 903913.34 0, 1211795.068 903925.798 0, 1212073.192 903938.272 0, 1212351.314 903950.762 0, 1212629.436 903963.269 0, 1212907.557 903975.792 0, 1213185.677 903988.331 0, 1213463.797 904000.887 0, 1213740.604 904013.4 0, 1213992.665 898441.003 0,
+ 1214244.718 892868.767 0))
+
+POLYGON ((1227089.421 904636.114 0, 1226812.648 904622.819 0, 1226534.565 904609.477 0, 1226256.481 904596.152 0, 1225978.397 904582.843 0, 1225700.312 904569.551 0, 1225422.225 904556.275 0, 1225144.139 904543.015 0, 1224866.051 904529.772 0, 1224587.962 904516.545 0,
+ 1224309.873 904503.334 0, 1224031.783 904490.14 0, 1223753.692 904476.962 0, 1223475.601 904463.8 0, 1223197.509 904450.655 0, 1222919.415 904437.527 0, 1222641.322 904424.414 0, 1222363.227 904411.318 0, 1222085.132 904398.238 0, 1221807.035 904385.175 0,
+ 1221528.938 904372.128 0, 1221250.841 904359.098 0, 1220972.742 904346.083 0, 1220694.643 904333.086 0, 1220415.233 904320.043 0, 1220138.442 904307.139 0, 1219860.341 904294.19 0, 1219582.238 904281.258 0, 1219304.135 904268.342 0, 1219026.031 904255.442 0,
+ 1218747.927 904242.559 0, 1218469.821 904229.692 0, 1218191.715 904216.842 0, 1217913.609 904204.008 0, 1217635.501 904191.19 0, 1217357.393 904178.388 0, 1217079.283 904165.603 0, 1216801.174 904152.835 0, 1216523.063 904140.082 0, 1216244.952 904127.346 0,
+ 1215966.839 904114.627 0, 1215688.727 904101.924 0, 1215410.613 904089.237 0, 1215132.499 904076.566 0, 1214854.384 904063.912 0, 1214576.268 904051.275 0, 1214298.151 904038.653 0, 1214020.034 904026.048 0, 1213740.604 904013.4 0, 1213488.536 909585.955 0,
+ 1213236.462 915158.664 0, 1213515.232 915171.282 0, 1213792.694 915183.857 0, 1214070.154 915196.448 0, 1214347.614 915209.056 0, 1214625.073 915221.681 0, 1214902.532 915234.321 0, 1215179.989 915246.978 0, 1215457.446 915259.651 0, 1215734.902 915272.341 0,
+ 1216012.358 915285.047 0, 1216289.812 915297.769 0, 1216567.266 915310.508 0, 1216844.719 915323.262 0, 1217122.172 915336.034 0, 1217399.623 915348.821 0, 1217677.074 915361.625 0, 1217954.525 915374.445 0, 1218231.974 915387.282 0, 1218509.423 915400.135 0,
+ 1218786.87 915413.004 0, 1219064.318 915425.889 0, 1219341.764 915438.791 0, 1219619.209 915451.709 0, 1219895.347 915464.583 0, 1220174.098 915477.595 0, 1220451.542 915490.562 0, 1220728.984 915503.546 0, 1221006.426 915516.545 0, 1221283.867 915529.562 0,
+ 1221561.307 915542.594 0, 1221838.747 915555.643 0, 1222116.185 915568.708 0, 1222393.623 915581.789 0, 1222671.061 915594.887 0, 1222948.497 915608.001 0, 1223225.933 915621.132 0, 1223503.367 915634.279 0, 1223780.802 915647.442 0, 1224058.235 915660.621 0,
+ 1224335.667 915673.817 0, 1224613.099 915687.029 0, 1224890.53 915700.258 0, 1225167.96 915713.502 0, 1225445.39 915726.763 0, 1225722.818 915740.041 0, 1226000.246 915753.335 0, 1226277.673 915766.645 0, 1226553.794 915779.908 0, 1226821.611 910207.934 0,
+ 1227089.421 904636.114 0))
+
+POLYGON ((1239869.317 916438.775 0, 1239593.233 916424.731 0, 1239315.845 916410.637 0, 1239038.456 916396.56 0, 1238761.066 916382.498 0, 1238483.675 916368.454 0, 1238206.283 916354.425 0, 1237928.891 916340.413 0, 1237651.497 916326.417 0, 1237374.103 916312.437 0,
+ 1237096.708 916298.474 0, 1236819.312 916284.527 0, 1236541.916 916270.597 0, 1236264.518 916256.683 0, 1235987.12 916242.785 0, 1235709.721 916228.903 0, 1235432.321 916215.038 0, 1235154.92 916201.189 0, 1234877.519 916187.356 0, 1234600.117 916173.54 0,
+ 1234322.713 916159.74 0, 1234045.31 916145.957 0, 1233767.905 916132.189 0, 1233490.499 916118.438 0, 1233211.788 916104.639 0, 1232935.686 916090.985 0, 1232658.278 916077.283 0, 1232380.869 916063.598 0, 1232103.459 916049.929 0, 1231826.049 916036.276 0,
+ 1231548.638 916022.639 0, 1231271.226 916009.019 0, 1230993.813 915995.415 0, 1230716.399 915981.827 0, 1230438.985 915968.256 0, 1230161.57 915954.701 0, 1229884.154 915941.162 0, 1229606.737 915927.639 0, 1229329.319 915914.133 0, 1229051.901 915900.644 0,
+ 1228774.482 915887.17 0, 1228497.062 915873.713 0, 1228219.641 915860.273 0, 1227942.219 915846.848 0, 1227664.797 915833.44 0, 1227387.374 915820.048 0, 1227109.95 915806.673 0, 1226832.525 915793.314 0, 1226553.794 915779.908 0, 1226285.969 921352.032 0,
+ 1226018.137 926924.302 0, 1226296.21 926937.676 0, 1226572.978 926951.004 0, 1226849.746 926964.347 0, 1227126.514 926977.708 0, 1227403.28 926991.084 0, 1227680.046 927004.477 0, 1227956.81 927017.885 0, 1228233.575 927031.311 0, 1228510.338 927044.752 0,
+ 1228787.1 927058.21 0, 1229063.862 927071.684 0, 1229340.623 927085.175 0, 1229617.383 927098.681 0, 1229894.142 927112.204 0, 1230170.901 927125.743 0, 1230447.658 927139.299 0, 1230724.415 927152.871 0, 1231001.171 927166.459 0, 1231277.927 927180.063 0,
+ 1231554.681 927193.684 0, 1231831.435 927207.321 0, 1232108.188 927220.974 0, 1232384.94 927234.644 0, 1232660.389 927248.265 0, 1232938.442 927262.032 0, 1233215.191 927275.75 0, 1233491.94 927289.485 0, 1233768.688 927303.236 0, 1234045.436 927317.003 0,
+ 1234322.182 927330.787 0, 1234598.928 927344.587 0, 1234875.673 927358.403 0, 1235152.417 927372.235 0, 1235429.16 927386.084 0, 1235705.902 927399.949 0, 1235982.644 927413.831 0, 1236259.384 927427.728 0, 1236536.124 927441.642 0, 1236812.863 927455.572 0,
+ 1237089.602 927469.519 0, 1237366.339 927483.482 0, 1237643.076 927497.461 0, 1237919.812 927511.456 0, 1238196.547 927525.468 0, 1238473.281 927539.495 0, 1238750.014 927553.54 0, 1239026.747 927567.6 0, 1239302.178 927581.611 0, 1239585.751 922010.12 0,
+ 1239869.317 916438.775 0))
+
+POLYGON ((1252584.308 928276.446 0, 1252308.916 928261.658 0, 1252032.224 928246.815 0, 1251755.532 928231.989 0, 1251478.838 928217.18 0, 1251202.144 928202.386 0, 1250925.449 928187.609 0, 1250648.753 928172.848 0, 1250372.056 928158.104 0, 1250095.358 928143.376 0,
+ 1249818.659 928128.664 0, 1249541.96 928113.968 0, 1249265.259 928099.289 0, 1248988.558 928084.625 0, 1248711.856 928069.979 0, 1248435.153 928055.348 0, 1248158.449 928040.734 0, 1247881.745 928026.136 0, 1247605.039 928011.554 0, 1247328.333 927996.989 0,
+ 1247051.625 927982.44 0, 1246774.917 927967.907 0, 1246498.208 927953.39 0, 1246221.498 927938.89 0, 1245943.488 927924.338 0, 1245668.076 927909.938 0, 1245391.364 927895.487 0, 1245114.651 927881.052 0, 1244837.937 927866.633 0, 1244561.222 927852.231 0,
+ 1244284.506 927837.844 0, 1244007.789 927823.474 0, 1243731.072 927809.121 0, 1243454.354 927794.783 0, 1243177.634 927780.462 0, 1242900.914 927766.157 0, 1242624.194 927751.869 0, 1242347.472 927737.597 0, 1242070.749 927723.341 0, 1241794.026 927709.101 0,
+ 1241517.302 927694.878 0, 1241240.577 927680.671 0, 1240963.851 927666.48 0, 1240687.124 927652.305 0, 1240410.397 927638.147 0, 1240133.668 927624.005 0, 1239856.939 927609.879 0, 1239580.209 927595.77 0, 1239302.178 927581.611 0, 1239018.597 933153.244 0,
+ 1238735.009 938725.015 0, 1239012.382 938739.141 0, 1239288.456 938753.217 0, 1239564.529 938767.309 0, 1239840.602 938781.417 0, 1240116.674 938795.542 0, 1240392.744 938809.683 0, 1240668.814 938823.84 0, 1240944.884 938838.013 0, 1241220.952 938852.203 0,
+ 1241497.019 938866.409 0, 1241773.086 938880.631 0, 1242049.152 938894.87 0, 1242325.217 938909.124 0, 1242601.281 938923.395 0, 1242877.344 938937.682 0, 1243153.407 938951.986 0, 1243429.468 938966.305 0, 1243705.529 938980.641 0, 1243981.589 938994.993 0,
+ 1244257.648 939009.362 0, 1244533.706 939023.746 0, 1244809.764 939038.147 0, 1245085.82 939052.564 0, 1245360.58 939066.93 0, 1245637.931 939081.447 0, 1245913.985 939095.913 0, 1246190.038 939110.395 0, 1246466.09 939124.894 0, 1246742.142 939139.408 0,
+ 1247018.192 939153.939 0, 1247294.242 939168.486 0, 1247570.291 939183.05 0, 1247846.339 939197.629 0, 1248122.386 939212.225 0, 1248398.432 939226.837 0, 1248674.478 939241.466 0, 1248950.522 939256.11 0, 1249226.566 939270.771 0, 1249502.609 939285.448 0,
+ 1249778.651 939300.142 0, 1250054.692 939314.851 0, 1250330.732 939329.577 0, 1250606.772 939344.319 0, 1250882.81 939359.078 0, 1251158.848 939373.852 0, 1251434.884 939388.643 0, 1251710.92 939403.45 0, 1251985.66 939418.204 0, 1252284.988 933847.256 0,
+ 1252584.308 928276.446 0))
+
+POLYGON ((1265234.3 940148.825 0, 1264959.6 940133.295 0, 1264683.607 940117.709 0, 1264407.614 940102.138 0, 1264131.619 940086.584 0, 1263855.623 940071.045 0, 1263579.626 940055.523 0, 1263303.629 940040.018 0, 1263027.63 940024.528 0, 1262751.631 940009.055 0,
+ 1262475.631 939993.598 0, 1262199.63 939978.158 0, 1261923.628 939962.733 0, 1261647.625 939947.325 0, 1261371.621 939931.933 0, 1261095.616 939916.557 0, 1260819.61 939901.198 0, 1260543.604 939885.855 0, 1260267.596 939870.528 0, 1259991.588 939855.217 0,
+ 1259715.578 939839.923 0, 1259439.568 939824.644 0, 1259163.557 939809.382 0, 1258887.545 939794.137 0, 1258610.238 939778.836 0, 1258335.518 939763.694 0, 1258059.503 939748.497 0, 1257783.488 939733.316 0, 1257507.471 939718.152 0, 1257231.454 939703.004 0,
+ 1256955.436 939687.872 0, 1256679.417 939672.756 0, 1256403.396 939657.656 0, 1256127.376 939642.573 0, 1255851.354 939627.506 0, 1255575.331 939612.455 0, 1255299.307 939597.421 0, 1255023.283 939582.402 0, 1254747.257 939567.4 0, 1254471.231 939552.414 0,
+ 1254195.204 939537.445 0, 1253919.176 939522.492 0, 1253643.147 939507.555 0, 1253367.117 939492.634 0, 1253091.087 939477.729 0, 1252815.055 939462.841 0, 1252539.023 939447.969 0, 1252262.99 939433.113 0, 1251985.66 939418.204 0, 1251686.325 944989.286 0,
+ 1251386.983 950560.498 0, 1251663.654 950575.372 0, 1251939.031 950590.192 0, 1252214.408 950605.029 0, 1252489.784 950619.882 0, 1252765.158 950634.751 0, 1253040.532 950649.636 0, 1253315.905 950664.538 0, 1253591.278 950679.456 0, 1253866.649 950694.39 0,
+ 1254142.019 950709.34 0, 1254417.389 950724.306 0, 1254692.758 950739.289 0, 1254968.126 950754.288 0, 1255243.492 950769.303 0, 1255518.859 950784.334 0, 1255794.224 950799.381 0, 1256069.588 950814.445 0, 1256344.951 950829.525 0, 1256620.314 950844.621 0,
+ 1256895.675 950859.733 0, 1257171.036 950874.862 0, 1257446.396 950890.006 0, 1257721.755 950905.167 0, 1257995.822 950920.273 0, 1258272.47 950935.538 0, 1258547.826 950950.747 0, 1258823.182 950965.973 0, 1259098.536 950981.215 0, 1259373.89 950996.473 0,
+ 1259649.243 951011.747 0, 1259924.594 951027.038 0, 1260199.945 951042.344 0, 1260475.295 951057.667 0, 1260750.644 951073.007 0, 1261025.992 951088.362 0, 1261301.34 951103.734 0, 1261576.686 951119.121 0, 1261852.031 951134.525 0, 1262127.376 951149.945 0,
+ 1262402.72 951165.382 0, 1262678.062 951180.835 0, 1262953.404 951196.303 0, 1263228.745 951211.788 0, 1263504.085 951227.29 0, 1263779.424 951242.807 0, 1264054.762 951258.341 0, 1264330.1 951273.89 0, 1264604.146 951289.384 0, 1264919.226 945719.039 0,
+ 1265234.3 940148.825 0))
+
+POLYGON ((1277819.197 952055.607 0, 1277545.193 952039.34 0, 1277269.901 952023.012 0, 1276994.608 952006.701 0, 1276719.314 951990.405 0, 1276444.018 951974.126 0, 1276168.722 951957.864 0, 1275893.425 951941.617 0, 1275618.127 951925.387 0, 1275342.829 951909.172 0,
+ 1275067.529 951892.974 0, 1274792.228 951876.792 0, 1274516.926 951860.627 0, 1274241.623 951844.477 0, 1273966.32 951828.344 0, 1273691.015 951812.227 0, 1273415.709 951796.126 0, 1273140.403 951780.042 0, 1272865.095 951763.973 0, 1272589.787 951747.921 0,
+ 1272314.478 951731.885 0, 1272039.167 951715.865 0, 1271763.856 951699.862 0, 1271488.544 951683.874 0, 1271211.942 951667.829 0, 1270937.917 951651.948 0, 1270662.602 951636.01 0, 1270387.286 951620.087 0, 1270111.969 951604.181 0, 1269836.651 951588.29 0,
+ 1269561.332 951572.416 0, 1269286.013 951556.559 0, 1269010.692 951540.717 0, 1268735.37 951524.892 0, 1268460.048 951509.083 0, 1268184.724 951493.29 0, 1267909.4 951477.513 0, 1267634.075 951461.753 0, 1267358.749 951446.008 0, 1267083.422 951430.28 0,
+ 1266808.093 951414.568 0, 1266532.765 951398.873 0, 1266257.435 951383.193 0, 1265982.104 951367.53 0, 1265706.772 951351.883 0, 1265431.439 951336.252 0, 1265156.106 951320.637 0, 1264880.771 951305.039 0, 1264604.146 951289.384 0, 1264289.058 956859.854 0,
+ 1263973.964 962430.447 0, 1264249.93 962446.064 0, 1264524.609 962461.626 0, 1264799.287 962477.203 0, 1265073.964 962492.797 0, 1265348.64 962508.407 0, 1265623.315 962524.033 0, 1265897.989 962539.675 0, 1266172.662 962555.333 0, 1266447.335 962571.008 0,
+ 1266722.006 962586.698 0, 1266996.677 962602.405 0, 1267271.346 962618.128 0, 1267546.015 962633.867 0, 1267820.683 962649.623 0, 1268095.349 962665.394 0, 1268370.015 962681.182 0, 1268644.68 962696.985 0, 1268919.344 962712.805 0, 1269194.007 962728.642 0,
+ 1269468.669 962744.494 0, 1269743.33 962760.362 0, 1270017.991 962776.247 0, 1270292.65 962792.148 0, 1270566.023 962807.99 0, 1270841.966 962823.998 0, 1271116.622 962839.947 0, 1271391.278 962855.913 0, 1271665.933 962871.894 0, 1271940.586 962887.892 0,
+ 1272215.239 962903.906 0, 1272489.891 962919.936 0, 1272764.542 962935.983 0, 1273039.192 962952.045 0, 1273313.841 962968.124 0, 1273588.489 962984.218 0, 1273863.136 963000.329 0, 1274137.782 963016.456 0, 1274412.427 963032.6 0, 1274687.071 963048.759 0,
+ 1274961.714 963064.935 0, 1275236.357 963081.127 0, 1275510.998 963097.335 0, 1275785.639 963113.559 0, 1276060.278 963129.799 0, 1276334.916 963146.055 0, 1276609.554 963162.328 0, 1276884.191 963178.617 0, 1277157.542 963194.845 0, 1277488.373 957625.165 0,
+ 1277819.197 952055.607 0))
+
+POLYGON ((1290338.907 963996.487 0, 1290065.601 963979.486 0, 1289791.012 963962.422 0, 1289516.421 963945.373 0, 1289241.83 963928.341 0, 1288967.237 963911.325 0, 1288692.644 963894.325 0, 1288418.049 963877.341 0, 1288143.454 963860.373 0, 1287868.857 963843.422 0,
+ 1287594.26 963826.487 0, 1287319.661 963809.567 0, 1287045.062 963792.664 0, 1286770.461 963775.778 0, 1286495.86 963758.907 0, 1286221.258 963742.053 0, 1285946.654 963725.214 0, 1285672.05 963708.392 0, 1285397.444 963691.586 0, 1285122.838 963674.796 0,
+ 1284848.23 963658.022 0, 1284573.622 963641.265 0, 1284299.013 963624.524 0, 1284024.402 963607.798 0, 1283748.508 963591.011 0, 1283475.179 963574.396 0, 1283200.565 963557.72 0, 1282925.951 963541.059 0, 1282651.336 963524.415 0, 1282376.72 963507.787 0,
+ 1282102.102 963491.175 0, 1281827.484 963474.579 0, 1281552.865 963457.999 0, 1281278.245 963441.435 0, 1281003.624 963424.888 0, 1280729.002 963408.357 0, 1280454.379 963391.842 0, 1280179.755 963375.343 0, 1279905.13 963358.86 0, 1279630.504 963342.394 0,
+ 1279355.877 963325.943 0, 1279081.249 963309.509 0, 1278806.62 963293.091 0, 1278531.99 963276.689 0, 1278257.359 963260.303 0, 1277982.727 963243.933 0, 1277708.095 963227.58 0, 1277433.461 963211.243 0, 1277157.542 963194.845 0, 1276826.704 968764.644 0,
+ 1276495.859 974334.556 0, 1276771.119 974350.915 0, 1277045.097 974367.213 0, 1277319.074 974383.527 0, 1277593.05 974399.858 0, 1277867.025 974416.205 0, 1278141 974432.567 0, 1278414.973 974448.946 0, 1278688.945 974465.341 0, 1278962.916 974481.752 0,
+ 1279236.887 974498.18 0, 1279510.856 974514.623 0, 1279784.825 974531.083 0, 1280058.792 974547.558 0, 1280332.758 974564.05 0, 1280606.724 974580.558 0, 1280880.688 974597.082 0, 1281154.652 974613.622 0, 1281428.615 974630.178 0, 1281702.576 974646.751 0,
+ 1281976.537 974663.339 0, 1282250.496 974679.944 0, 1282524.455 974696.565 0, 1282798.413 974713.201 0, 1283071.089 974729.777 0, 1283346.325 974746.524 0, 1283620.28 974763.209 0, 1283894.234 974779.91 0, 1284168.187 974796.628 0, 1284442.138 974813.361 0,
+ 1284716.089 974830.111 0, 1284990.039 974846.877 0, 1285263.988 974863.659 0, 1285537.936 974880.457 0, 1285811.883 974897.271 0, 1286085.828 974914.102 0, 1286359.773 974930.948 0, 1286633.717 974947.811 0, 1286907.66 974964.69 0, 1287181.602 974981.585 0,
+ 1287455.543 974998.496 0, 1287729.483 975015.423 0, 1288003.422 975032.366 0, 1288277.36 975049.325 0, 1288551.297 975066.301 0, 1288825.232 975083.292 0, 1289099.167 975100.3 0, 1289373.101 975117.324 0, 1289645.755 975134.284 0, 1289992.335 969565.329 0,
+ 1290338.907 963996.487 0))
+
+POLYGON ((1302793.34 975971.16 0, 1302520.733 975953.429 0, 1302246.848 975935.632 0, 1301972.962 975917.85 0, 1301699.076 975900.085 0, 1301425.188 975882.335 0, 1301151.299 975864.602 0, 1300877.409 975846.885 0, 1300603.518 975829.184 0, 1300329.626 975811.499 0,
+ 1300055.733 975793.83 0, 1299781.839 975776.178 0, 1299507.944 975758.541 0, 1299234.047 975740.921 0, 1298960.15 975723.316 0, 1298686.252 975705.728 0, 1298412.353 975688.156 0, 1298138.452 975670.6 0, 1297864.551 975653.061 0, 1297590.648 975635.537 0,
+ 1297316.745 975618.029 0, 1297042.841 975600.538 0, 1296768.935 975583.063 0, 1296495.029 975565.604 0, 1296219.843 975548.079 0, 1295947.212 975530.734 0, 1295673.303 975513.323 0, 1295399.392 975495.928 0, 1295125.481 975478.55 0, 1294851.568 975461.187 0,
+ 1294577.654 975443.841 0, 1294303.739 975426.511 0, 1294029.824 975409.197 0, 1293755.907 975391.899 0, 1293481.989 975374.617 0, 1293208.07 975357.351 0, 1292934.151 975340.101 0, 1292660.23 975322.868 0, 1292386.308 975305.651 0, 1292112.385 975288.449 0,
+ 1291838.461 975271.264 0, 1291564.536 975254.095 0, 1291290.611 975236.943 0, 1291016.684 975219.806 0, 1290742.756 975202.685 0, 1290468.827 975185.581 0, 1290194.897 975168.492 0, 1289920.966 975151.42 0, 1289645.755 975134.284 0, 1289299.169 980703.35 0,
+ 1288952.575 986272.522 0, 1289227.128 986289.617 0, 1289500.403 986306.648 0, 1289773.677 986323.696 0, 1290046.951 986340.759 0, 1290320.223 986357.839 0, 1290593.494 986374.935 0, 1290866.765 986392.047 0, 1291140.034 986409.174 0, 1291413.302 986426.318 0,
+ 1291686.57 986443.478 0, 1291959.836 986460.655 0, 1292233.101 986477.847 0, 1292506.365 986495.055 0, 1292779.629 986512.28 0, 1293052.891 986529.52 0, 1293326.152 986546.777 0, 1293599.412 986564.049 0, 1293872.671 986581.338 0, 1294145.93 986598.643 0,
+ 1294419.187 986615.964 0, 1294692.443 986633.301 0, 1294965.698 986650.654 0, 1295238.952 986668.023 0, 1295510.93 986685.327 0, 1295785.457 986702.809 0, 1296058.708 986720.227 0, 1296331.958 986737.66 0, 1296605.207 986755.11 0, 1296878.455 986772.575 0,
+ 1297151.702 986790.057 0, 1297424.948 986807.555 0, 1297698.193 986825.069 0, 1297971.436 986842.599 0, 1298244.679 986860.145 0, 1298517.921 986877.707 0, 1298791.162 986895.285 0, 1299064.401 986912.879 0, 1299337.64 986930.49 0, 1299610.878 986948.116 0,
+ 1299884.114 986965.759 0, 1300157.35 986983.417 0, 1300430.584 987001.092 0, 1300703.818 987018.783 0, 1300977.05 987036.49 0, 1301250.281 987054.213 0, 1301523.512 987071.952 0, 1301796.741 987089.707 0, 1302068.695 987107.395 0, 1302431.021 981539.225 0,
+ 1302793.34 975971.16 0))
+
+POLYGON ((1315182.404 987979.32 0, 1314910.499 987960.863 0, 1314637.321 987942.336 0, 1314364.142 987923.825 0, 1314090.961 987905.331 0, 1313817.78 987886.852 0, 1313544.598 987868.389 0, 1313271.414 987849.943 0, 1312998.23 987831.512 0, 1312725.044 987813.098 0,
+ 1312451.858 987794.699 0, 1312178.67 987776.317 0, 1311905.481 987757.951 0, 1311632.291 987739.601 0, 1311359.1 987721.267 0, 1311085.908 987702.949 0, 1310812.715 987684.647 0, 1310539.52 987666.361 0, 1310266.325 987648.092 0, 1309993.129 987629.838 0,
+ 1309719.931 987611.6 0, 1309446.732 987593.379 0, 1309173.533 987575.174 0, 1308900.332 987556.984 0, 1308625.858 987538.727 0, 1308353.928 987520.654 0, 1308080.724 987502.513 0, 1307807.519 987484.388 0, 1307534.313 987466.279 0, 1307261.105 987448.186 0,
+ 1306987.897 987430.109 0, 1306714.688 987412.049 0, 1306441.478 987394.004 0, 1306168.266 987375.976 0, 1305895.054 987357.963 0, 1305621.84 987339.967 0, 1305348.626 987321.987 0, 1305075.41 987304.023 0, 1304802.194 987286.074 0, 1304528.976 987268.142 0,
+ 1304255.757 987250.227 0, 1303982.537 987232.327 0, 1303709.316 987214.443 0, 1303436.095 987196.575 0, 1303162.872 987178.724 0, 1302889.648 987160.888 0, 1302616.422 987143.069 0, 1302343.196 987125.265 0, 1302068.695 987107.395 0, 1301706.363 992675.668 0,
+ 1301344.024 998244.039 0, 1301617.867 998261.866 0, 1301890.437 998279.627 0, 1302163.007 998297.403 0, 1302435.576 998315.196 0, 1302708.143 998333.005 0, 1302980.71 998350.83 0, 1303253.275 998368.67 0, 1303525.839 998386.527 0, 1303798.403 998404.4 0,
+ 1304070.965 998422.289 0, 1304343.526 998440.194 0, 1304616.086 998458.115 0, 1304888.645 998476.053 0, 1305161.203 998494.006 0, 1305433.76 998511.975 0, 1305706.316 998529.96 0, 1305978.871 998547.961 0, 1306251.425 998565.979 0, 1306523.978 998584.012 0,
+ 1306796.529 998602.062 0, 1307069.08 998620.127 0, 1307341.63 998638.208 0, 1307614.178 998656.306 0, 1307885.456 998674.335 0, 1308159.272 998692.549 0, 1308431.817 998710.695 0, 1308704.361 998728.857 0, 1308976.904 998747.034 0, 1309249.447 998765.228 0,
+ 1309521.988 998783.438 0, 1309794.528 998801.664 0, 1310067.066 998819.906 0, 1310339.604 998838.164 0, 1310612.141 998856.438 0, 1310884.677 998874.728 0, 1311157.211 998893.034 0, 1311429.745 998911.356 0, 1311702.277 998929.694 0, 1311974.808 998948.048 0,
+ 1312247.339 998966.418 0, 1312519.868 998984.805 0, 1312792.396 999003.207 0, 1313064.923 999021.625 0, 1313337.449 999040.06 0, 1313609.974 999058.51 0, 1313882.497 999076.977 0, 1314155.02 999095.459 0, 1314426.273 999113.872 0, 1314804.342 993546.547 0,
+ 1315182.404 987979.32 0))
+
+POLYGON ((1327506.012 1000020.661 0, 1327234.81 1000001.482 0, 1326962.341 999982.23 0, 1326689.87 999962.994 0, 1326417.399 999943.773 0, 1326144.926 999924.569 0, 1325872.452 999905.381 0, 1325599.977 999886.209 0, 1325327.501 999867.052 0, 1325055.024 999847.912 0,
+ 1324782.545 999828.788 0, 1324510.066 999809.68 0, 1324237.585 999790.588 0, 1323965.103 999771.512 0, 1323692.62 999752.452 0, 1323420.136 999733.408 0, 1323147.651 999714.381 0, 1322875.165 999695.369 0, 1322602.678 999676.373 0, 1322330.189 999657.393 0,
+ 1322057.7 999638.43 0, 1321785.209 999619.482 0, 1321512.717 999600.55 0, 1321240.224 999581.635 0, 1320966.463 999562.647 0, 1320695.235 999543.852 0, 1320422.739 999524.984 0, 1320150.241 999506.133 0, 1319877.743 999487.297 0, 1319605.243 999468.478 0,
+ 1319332.743 999449.675 0, 1319060.241 999430.887 0, 1318787.738 999412.116 0, 1318515.234 999393.361 0, 1318242.729 999374.622 0, 1317970.222 999355.899 0, 1317697.715 999337.192 0, 1317425.207 999318.501 0, 1317152.697 999299.826 0, 1316880.186 999281.167 0,
+ 1316607.675 999262.524 0, 1316335.162 999243.897 0, 1316062.648 999225.286 0, 1315790.133 999206.691 0, 1315517.617 999188.112 0, 1315245.1 999169.55 0, 1314972.581 999151.003 0, 1314700.062 999132.472 0, 1314426.273 999113.872 0, 1314048.198 1004681.29 0,
+ 1313670.116 1010248.799 0, 1313943.247 1010267.355 0, 1314215.111 1010285.841 0, 1314486.974 1010304.343 0, 1314758.836 1010322.861 0, 1315030.696 1010341.395 0, 1315302.556 1010359.945 0, 1315574.415 1010378.512 0, 1315846.272 1010397.094 0, 1316118.128 1010415.692 0,
+ 1316389.984 1010434.306 0, 1316661.838 1010452.936 0, 1316933.691 1010471.582 0, 1317205.543 1010490.244 0, 1317477.394 1010508.922 0, 1317749.244 1010527.616 0, 1318021.092 1010546.326 0, 1318292.94 1010565.052 0, 1318564.786 1010583.795 0, 1318836.632 1010602.553 0,
+ 1319108.476 1010621.327 0, 1319380.319 1010640.117 0, 1319652.161 1010658.923 0, 1319924.002 1010677.745 0, 1320194.578 1010696.495 0, 1320467.681 1010715.437 0, 1320739.518 1010734.307 0, 1321011.355 1010753.193 0, 1321283.19 1010772.095 0, 1321555.025 1010791.014 0,
+ 1321826.858 1010809.948 0, 1322098.69 1010828.898 0, 1322370.521 1010847.864 0, 1322642.351 1010866.846 0, 1322914.179 1010885.844 0, 1323186.007 1010904.858 0, 1323457.833 1010923.888 0, 1323729.659 1010942.934 0, 1324001.483 1010961.996 0, 1324273.306 1010981.074 0,
+ 1324545.128 1011000.168 0, 1324816.949 1011019.279 0, 1325088.769 1011038.405 0, 1325360.587 1011057.547 0, 1325632.405 1011076.705 0, 1325904.221 1011095.879 0, 1326176.036 1011115.069 0, 1326447.85 1011134.275 0, 1326718.4 1011153.408 0, 1327112.21 1005586.989 0,
+ 1327506.012 1000020.661 0))
+
+POLYGON ((1339764.077 1012094.877 0, 1339493.58 1012074.979 0, 1339221.821 1012055.005 0, 1338950.061 1012035.048 0, 1338678.3 1012015.106 0, 1338406.538 1011995.18 0, 1338134.774 1011975.27 0, 1337863.01 1011955.376 0, 1337591.244 1011935.498 0, 1337319.477 1011915.636 0,
+ 1337047.709 1011895.79 0, 1336775.939 1011875.96 0, 1336504.169 1011856.146 0, 1336232.397 1011836.348 0, 1335960.625 1011816.566 0, 1335688.851 1011796.8 0, 1335417.076 1011777.05 0, 1335145.299 1011757.316 0, 1334873.522 1011737.598 0, 1334601.743 1011717.896 0,
+ 1334329.963 1011698.21 0, 1334058.183 1011678.54 0, 1333786.4 1011658.886 0, 1333514.617 1011639.248 0, 1333241.571 1011619.535 0, 1332971.047 1011600.02 0, 1332699.261 1011580.43 0, 1332427.473 1011560.856 0, 1332155.684 1011541.298 0, 1331883.894 1011521.756 0,
+ 1331612.102 1011502.23 0, 1331340.31 1011482.72 0, 1331068.516 1011463.226 0, 1330796.722 1011443.748 0, 1330524.926 1011424.286 0, 1330253.129 1011404.84 0, 1329981.33 1011385.41 0, 1329709.531 1011365.996 0, 1329437.731 1011346.598 0, 1329165.929 1011327.216 0,
+ 1328894.126 1011307.85 0, 1328622.322 1011288.5 0, 1328350.517 1011269.165 0, 1328078.711 1011249.847 0, 1327806.904 1011230.545 0, 1327535.096 1011211.259 0, 1327263.286 1011191.989 0, 1326991.475 1011172.735 0, 1326718.4 1011153.408 0, 1326324.585 1016719.912 0,
+ 1325930.764 1022286.497 0, 1326203.181 1022305.778 0, 1326474.336 1022324.986 0, 1326745.491 1022344.209 0, 1327016.644 1022363.449 0, 1327287.796 1022382.704 0, 1327558.947 1022401.976 0, 1327830.096 1022421.263 0, 1328101.245 1022440.567 0, 1328372.393 1022459.886 0,
+ 1328643.539 1022479.221 0, 1328914.684 1022498.573 0, 1329185.828 1022517.94 0, 1329456.971 1022537.323 0, 1329728.113 1022556.722 0, 1329999.254 1022576.137 0, 1330270.393 1022595.569 0, 1330541.532 1022615.016 0, 1330812.669 1022634.479 0, 1331083.805 1022653.957 0,
+ 1331354.94 1022673.452 0, 1331626.074 1022692.963 0, 1331897.206 1022712.49 0, 1332168.338 1022732.033 0, 1332438.209 1022751.501 0, 1332710.597 1022771.166 0, 1332981.725 1022790.757 0, 1333252.852 1022810.364 0, 1333523.978 1022829.986 0, 1333795.102 1022849.625 0,
+ 1334066.226 1022869.279 0, 1334337.348 1022888.95 0, 1334608.469 1022908.636 0, 1334879.589 1022928.338 0, 1335150.708 1022948.057 0, 1335421.825 1022967.791 0, 1335692.942 1022987.541 0, 1335964.057 1023007.308 0, 1336235.171 1023027.09 0, 1336506.284 1023046.888 0,
+ 1336777.396 1023066.702 0, 1337048.507 1023086.532 0, 1337319.616 1023106.378 0, 1337590.724 1023126.24 0, 1337861.832 1023146.118 0, 1338132.937 1023166.012 0, 1338404.042 1023185.921 0, 1338675.146 1023205.847 0, 1338944.991 1023225.696 0, 1339354.537 1017660.246 0,
+ 1339764.077 1012094.877 0))
+
+POLYGON ((1351956.512 1024201.659 0, 1351686.722 1024181.048 0, 1351415.676 1024160.356 0, 1351144.628 1024139.68 0, 1350873.58 1024119.021 0, 1350602.53 1024098.377 0, 1350331.479 1024077.749 0, 1350060.426 1024057.137 0, 1349789.373 1024036.541 0, 1349518.318 1024015.962 0,
+ 1349247.262 1023995.398 0, 1348976.205 1023974.85 0, 1348705.147 1023954.317 0, 1348434.087 1023933.801 0, 1348163.026 1023913.301 0, 1347891.964 1023892.817 0, 1347620.901 1023872.349 0, 1347349.837 1023851.896 0, 1347078.771 1023831.46 0, 1346807.704 1023811.04 0,
+ 1346536.636 1023790.635 0, 1346265.567 1023770.247 0, 1345994.497 1023749.874 0, 1345723.425 1023729.518 0, 1345451.096 1023709.083 0, 1345181.278 1023688.852 0, 1344910.203 1023668.544 0, 1344639.127 1023648.251 0, 1344368.049 1023627.974 0, 1344096.97 1023607.713 0,
+ 1343825.89 1023587.468 0, 1343554.809 1023567.239 0, 1343283.727 1023547.027 0, 1343012.643 1023526.829 0, 1342741.559 1023506.648 0, 1342470.473 1023486.483 0, 1342199.386 1023466.334 0, 1341928.297 1023446.201 0, 1341657.208 1023426.084 0, 1341386.117 1023405.982 0,
+ 1341115.025 1023385.897 0, 1340843.932 1023365.828 0, 1340572.838 1023345.774 0, 1340301.743 1023325.737 0, 1340030.646 1023305.715 0, 1339759.549 1023285.71 0, 1339488.45 1023265.72 0, 1339217.35 1023245.747 0, 1338944.991 1023225.696 0, 1338535.439 1028791.224 0,
+ 1338125.882 1034356.826 0, 1338397.583 1034376.828 0, 1338668.028 1034396.753 0, 1338938.471 1034416.694 0, 1339208.914 1034436.652 0, 1339479.355 1034456.625 0, 1339749.796 1034476.614 0, 1340020.235 1034496.619 0, 1340290.672 1034516.64 0, 1340561.109 1034536.676 0,
+ 1340831.545 1034556.729 0, 1341101.979 1034576.798 0, 1341372.412 1034596.882 0, 1341642.844 1034616.983 0, 1341913.275 1034637.099 0, 1342183.705 1034657.231 0, 1342454.133 1034677.38 0, 1342724.56 1034697.544 0, 1342994.986 1034717.724 0, 1343265.411 1034737.92 0,
+ 1343535.835 1034758.132 0, 1343806.257 1034778.359 0, 1344076.679 1034798.603 0, 1344347.099 1034818.863 0, 1344616.264 1034839.044 0, 1344887.935 1034859.43 0, 1345158.352 1034879.737 0, 1345428.767 1034900.06 0, 1345699.181 1034920.4 0, 1345969.594 1034940.755 0,
+ 1346240.006 1034961.126 0, 1346510.416 1034981.513 0, 1346780.826 1035001.916 0, 1347051.234 1035022.334 0, 1347321.641 1035042.769 0, 1347592.047 1035063.22 0, 1347862.451 1035083.686 0, 1348132.854 1035104.169 0, 1348403.256 1035124.667 0, 1348673.657 1035145.181 0,
+ 1348944.057 1035165.711 0, 1349214.456 1035186.258 0, 1349484.853 1035206.82 0, 1349755.249 1035227.398 0, 1350025.644 1035247.991 0, 1350296.037 1035268.601 0, 1350566.43 1035289.227 0, 1350836.821 1035309.868 0, 1351105.959 1035330.43 0, 1351531.238 1029766.008 0,
+ 1351956.512 1024201.659 0))
+
+POLYGON ((1364083.233 1036340.702 0, 1363814.153 1036319.38 0, 1363543.821 1036297.974 0, 1363273.488 1036276.585 0, 1363003.153 1036255.211 0, 1362732.818 1036233.853 0, 1362462.481 1036212.512 0, 1362192.143 1036191.186 0, 1361921.803 1036169.876 0, 1361651.463 1036148.582 0,
+ 1361381.121 1036127.304 0, 1361110.778 1036106.041 0, 1360840.433 1036084.795 0, 1360570.088 1036063.565 0, 1360299.741 1036042.35 0, 1360029.393 1036021.152 0, 1359759.044 1035999.969 0, 1359488.693 1035978.802 0, 1359218.341 1035957.651 0, 1358947.988 1035936.517 0,
+ 1358677.634 1035915.397 0, 1358407.278 1035894.294 0, 1358136.921 1035873.207 0, 1357866.563 1035852.136 0, 1357594.953 1035830.983 0, 1357325.843 1035810.041 0, 1357055.482 1035789.018 0, 1356785.118 1035768.01 0, 1356514.754 1035747.018 0, 1356244.389 1035726.042 0,
+ 1355974.022 1035705.083 0, 1355703.654 1035684.139 0, 1355433.285 1035663.211 0, 1355162.914 1035642.298 0, 1354892.543 1035621.402 0, 1354622.17 1035600.522 0, 1354351.796 1035579.658 0, 1354081.42 1035558.809 0, 1353811.044 1035537.976 0, 1353540.666 1035517.16 0,
+ 1353270.287 1035496.359 0, 1352999.907 1035475.574 0, 1352729.525 1035454.805 0, 1352459.143 1035434.052 0, 1352188.759 1035413.315 0, 1351918.374 1035392.594 0, 1351647.987 1035371.889 0, 1351377.6 1035351.199 0, 1351105.959 1035330.43 0, 1350680.674 1040894.922 0,
+ 1350255.385 1046459.478 0, 1350526.368 1046480.197 0, 1350796.1 1046500.836 0, 1351065.832 1046521.491 0, 1351335.562 1046542.162 0, 1351605.29 1046562.849 0, 1351875.018 1046583.551 0, 1352144.745 1046604.27 0, 1352414.47 1046625.005 0, 1352684.194 1046645.755 0,
+ 1352953.917 1046666.521 0, 1353223.638 1046687.303 0, 1353493.359 1046708.101 0, 1353763.078 1046728.915 0, 1354032.796 1046749.745 0, 1354302.512 1046770.59 0, 1354572.228 1046791.452 0, 1354841.942 1046812.329 0, 1355111.655 1046833.222 0, 1355381.367 1046854.132 0,
+ 1355651.077 1046875.056 0, 1355920.786 1046895.997 0, 1356190.494 1046916.954 0, 1356460.201 1046937.927 0, 1356728.659 1046958.818 0, 1356999.611 1046979.92 0, 1357269.314 1047000.94 0, 1357539.016 1047021.976 0, 1357808.717 1047043.028 0, 1358078.416 1047064.096 0,
+ 1358348.114 1047085.179 0, 1358617.811 1047106.279 0, 1358887.507 1047127.394 0, 1359157.201 1047148.526 0, 1359426.894 1047169.673 0, 1359696.586 1047190.836 0, 1359966.277 1047212.015 0, 1360235.967 1047233.21 0, 1360505.655 1047254.421 0, 1360775.342 1047275.647 0,
+ 1361045.027 1047296.89 0, 1361314.712 1047318.148 0, 1361584.395 1047339.422 0, 1361854.077 1047360.712 0, 1362123.758 1047382.018 0, 1362393.437 1047403.34 0, 1362663.115 1047424.678 0, 1362932.792 1047446.031 0, 1363201.221 1047467.302 0, 1363642.23 1041903.969 0,
+ 1364083.233 1036340.702 0))
+
+POLYGON ((1376144.158 1048511.696 0, 1375875.789 1048489.667 0, 1375606.173 1048467.552 0, 1375336.556 1048445.452 0, 1375066.938 1048423.369 0, 1374797.319 1048401.301 0, 1374527.698 1048379.249 0, 1374258.076 1048357.213 0, 1373988.453 1048335.193 0, 1373718.828 1048313.189 0,
+ 1373449.202 1048291.2 0, 1373179.575 1048269.228 0, 1372909.946 1048247.271 0, 1372640.317 1048225.33 0, 1372370.686 1048203.405 0, 1372101.053 1048181.496 0, 1371831.42 1048159.603 0, 1371561.785 1048137.726 0, 1371292.148 1048115.864 0, 1371022.511 1048094.019 0,
+ 1370752.872 1048072.189 0, 1370483.232 1048050.375 0, 1370213.591 1048028.577 0, 1369943.948 1048006.795 0, 1369673.058 1047984.928 0, 1369404.659 1047963.278 0, 1369135.012 1047941.544 0, 1368865.365 1047919.825 0, 1368595.716 1047898.123 0, 1368326.065 1047876.436 0,
+ 1368056.414 1047854.765 0, 1367786.761 1047833.11 0, 1367517.107 1047811.47 0, 1367247.451 1047789.847 0, 1366977.795 1047768.239 0, 1366708.137 1047746.648 0, 1366438.477 1047725.072 0, 1366168.817 1047703.512 0, 1365899.155 1047681.968 0, 1365629.492 1047660.44 0,
+ 1365359.828 1047638.928 0, 1365090.162 1047617.431 0, 1364820.495 1047595.951 0, 1364550.827 1047574.486 0, 1364281.158 1047553.037 0, 1364011.487 1047531.604 0, 1363741.815 1047510.187 0, 1363472.142 1047488.786 0, 1363201.221 1047467.302 0, 1362760.207 1053030.695 0,
+ 1362319.189 1058594.145 0, 1362589.453 1058615.577 0, 1362858.471 1058636.926 0, 1363127.488 1058658.291 0, 1363396.504 1058679.672 0, 1363665.518 1058701.069 0, 1363934.531 1058722.481 0, 1364203.543 1058743.909 0, 1364472.554 1058765.354 0, 1364741.564 1058786.814 0,
+ 1365010.572 1058808.29 0, 1365279.579 1058829.781 0, 1365548.584 1058851.289 0, 1365817.589 1058872.812 0, 1366086.592 1058894.351 0, 1366355.594 1058915.907 0, 1366624.594 1058937.477 0, 1366893.593 1058959.064 0, 1367162.591 1058980.667 0, 1367431.588 1059002.285 0,
+ 1367700.584 1059023.919 0, 1367969.578 1059045.569 0, 1368238.571 1059067.235 0, 1368507.562 1059088.917 0, 1368775.31 1059110.514 0, 1369045.542 1059132.328 0, 1369314.53 1059154.057 0, 1369583.516 1059175.802 0, 1369852.501 1059197.563 0, 1370121.485 1059219.34 0,
+ 1370390.468 1059241.132 0, 1370659.45 1059262.94 0, 1370928.43 1059284.765 0, 1371197.409 1059306.605 0, 1371466.386 1059328.461 0, 1371735.362 1059350.332 0, 1372004.337 1059372.22 0, 1372273.311 1059394.123 0, 1372542.283 1059416.042 0, 1372811.255 1059437.977 0,
+ 1373080.224 1059459.928 0, 1373349.193 1059481.895 0, 1373618.16 1059503.877 0, 1373887.126 1059525.876 0, 1374156.091 1059547.89 0, 1374425.054 1059569.92 0, 1374694.016 1059591.966 0, 1374962.977 1059614.027 0, 1375230.695 1059636.003 0, 1375687.429 1054073.821 0,
+ 1376144.158 1048511.696 0))
+
+POLYGON ((1388139.205 1060714.334 0, 1387871.549 1060691.602 0, 1387602.651 1060668.781 0, 1387333.752 1060645.975 0, 1387064.852 1060623.185 0, 1386795.951 1060600.411 0, 1386527.048 1060577.653 0, 1386258.144 1060554.911 0, 1385989.239 1060532.185 0, 1385720.332 1060509.474 0,
+ 1385451.424 1060486.779 0, 1385182.515 1060464.1 0, 1384913.604 1060441.437 0, 1384644.692 1060418.79 0, 1384375.778 1060396.158 0, 1384106.864 1060373.542 0, 1383837.948 1060350.943 0, 1383569.03 1060328.359 0, 1383300.112 1060305.79 0, 1383031.191 1060283.238 0,
+ 1382762.27 1060260.701 0, 1382493.347 1060238.181 0, 1382224.423 1060215.676 0, 1381955.498 1060193.187 0, 1381685.331 1060170.61 0, 1381417.643 1060148.256 0, 1381148.714 1060125.815 0, 1380879.783 1060103.389 0, 1380610.851 1060080.979 0, 1380341.918 1060058.585 0,
+ 1380072.983 1060036.207 0, 1379804.048 1060013.844 0, 1379535.11 1059991.498 0, 1379266.172 1059969.167 0, 1378997.232 1059946.852 0, 1378728.291 1059924.553 0, 1378459.348 1059902.269 0, 1378190.404 1059880.002 0, 1377921.459 1059857.75 0, 1377652.513 1059835.515 0,
+ 1377383.565 1059813.295 0, 1377114.616 1059791.091 0, 1376845.666 1059768.902 0, 1376576.714 1059746.73 0, 1376307.761 1059724.573 0, 1376038.807 1059702.432 0, 1375769.851 1059680.307 0, 1375500.895 1059658.198 0, 1375230.695 1059636.003 0, 1374773.957 1065198.237 0,
+ 1374317.214 1070760.519 0, 1374586.756 1070782.66 0, 1374855.058 1070804.715 0, 1375123.359 1070826.786 0, 1375391.659 1070848.873 0, 1375659.957 1070870.976 0, 1375928.254 1070893.094 0, 1376196.549 1070915.229 0, 1376464.844 1070937.379 0, 1376733.137 1070959.545 0,
+ 1377001.428 1070981.726 0, 1377269.719 1071003.924 0, 1377538.008 1071026.137 0, 1377806.295 1071048.366 0, 1378074.582 1071070.611 0, 1378342.867 1071092.871 0, 1378611.151 1071115.148 0, 1378879.433 1071137.44 0, 1379147.715 1071159.748 0, 1379415.995 1071182.072 0,
+ 1379684.273 1071204.411 0, 1379952.55 1071226.767 0, 1380220.826 1071249.138 0, 1380489.101 1071271.525 0, 1380756.137 1071293.824 0, 1381025.646 1071316.346 0, 1381293.917 1071338.78 0, 1381562.186 1071361.23 0, 1381830.454 1071383.696 0, 1382098.721 1071406.178 0,
+ 1382366.986 1071428.675 0, 1382635.25 1071451.189 0, 1382903.513 1071473.718 0, 1383171.775 1071496.263 0, 1383440.035 1071518.823 0, 1383708.293 1071541.4 0, 1383976.551 1071563.992 0, 1384244.807 1071586.6 0, 1384513.062 1071609.224 0, 1384781.315 1071631.863 0,
+ 1385049.567 1071654.519 0, 1385317.818 1071677.19 0, 1385586.067 1071699.877 0, 1385854.316 1071722.579 0, 1386122.562 1071745.298 0, 1386390.808 1071768.032 0, 1386659.052 1071790.782 0, 1386927.294 1071813.548 0, 1387194.3 1071836.225 0, 1387666.755 1066275.255 0,
+ 1388139.205 1060714.334 0))
+
+POLYGON ((858199.085 611419.908 0, 857905.197 611428.221 0, 857609.858 611436.593 0, 857314.519 611444.983 0, 857019.181 611453.39 0, 856723.843 611461.814 0, 856428.506 611470.256 0, 856133.169 611478.715 0, 855837.833 611487.191 0, 855542.498 611495.685 0,
+ 855247.162 611504.196 0, 854951.828 611512.725 0, 854656.493 611521.271 0, 854361.16 611529.834 0, 854065.826 611538.415 0, 853770.494 611547.013 0, 853475.162 611555.628 0, 853179.83 611564.261 0, 852884.499 611572.911 0, 852589.168 611581.579 0,
+ 852293.838 611590.264 0, 851998.508 611598.966 0, 851703.179 611607.686 0, 851407.851 611616.423 0, 851111.07 611625.221 0, 850817.195 611633.95 0, 850521.868 611642.739 0, 850226.541 611651.546 0, 849931.215 611660.37 0, 849635.89 611669.211 0,
+ 849340.565 611678.07 0, 849045.24 611686.946 0, 848749.916 611695.84 0, 848454.593 611704.751 0, 848159.27 611713.679 0, 847863.948 611722.625 0, 847568.626 611731.588 0, 847273.304 611740.568 0, 846977.984 611749.566 0, 846682.663 611758.582 0,
+ 846387.344 611767.614 0, 846092.025 611776.664 0, 845796.706 611785.732 0, 845501.388 611794.816 0, 845206.07 611803.919 0, 844910.753 611813.038 0, 844615.437 611822.175 0, 844320.121 611831.329 0, 844023.351 611840.546 0, 844196.274 617403.066 0,
+ 844369.207 622965.925 0, 844665.318 622956.729 0, 844959.979 622947.595 0, 845254.641 622938.478 0, 845549.303 622929.379 0, 845843.966 622920.297 0, 846138.629 622911.232 0, 846433.293 622902.185 0, 846727.957 622893.155 0, 847022.622 622884.142 0,
+ 847317.287 622875.147 0, 847611.953 622866.169 0, 847906.62 622857.208 0, 848201.287 622848.265 0, 848495.954 622839.339 0, 848790.622 622830.431 0, 849085.291 622821.539 0, 849379.96 622812.666 0, 849674.63 622803.809 0, 849969.3 622794.97 0,
+ 850263.971 622786.148 0, 850558.642 622777.344 0, 850853.313 622768.556 0, 851147.986 622759.787 0, 851441.209 622751.077 0, 851737.332 622742.299 0, 852032.005 622733.581 0, 852326.68 622724.881 0, 852621.355 622716.198 0, 852916.03 622707.532 0,
+ 853210.706 622698.884 0, 853505.382 622690.253 0, 853800.059 622681.639 0, 854094.736 622673.042 0, 854389.414 622664.463 0, 854684.092 622655.902 0, 854978.771 622647.357 0, 855273.45 622638.83 0, 855568.13 622630.321 0, 855862.811 622621.828 0,
+ 856157.492 622613.354 0, 856452.173 622604.896 0, 856746.855 622596.456 0, 857041.537 622588.033 0, 857336.22 622579.627 0, 857630.903 622571.239 0, 857925.587 622562.868 0, 858220.271 622554.514 0, 858513.508 622546.219 0, 858356.292 616982.894 0,
+ 858199.085 611419.908 0))
+
+POLYGON ((872658.938 622166.475 0, 872365.677 622173.942 0, 872070.971 622181.463 0, 871776.264 622189.001 0, 871481.558 622196.557 0, 871186.853 622204.13 0, 870892.148 622211.72 0, 870597.444 622219.328 0, 870302.74 622226.953 0, 870008.036 622234.596 0,
+ 869713.333 622242.255 0, 869418.63 622249.932 0, 869123.928 622257.627 0, 868829.226 622265.339 0, 868534.525 622273.068 0, 868239.824 622280.814 0, 867945.123 622288.578 0, 867650.423 622296.359 0, 867355.724 622304.158 0, 867061.025 622311.973 0,
+ 866766.326 622319.807 0, 866471.628 622327.657 0, 866176.93 622335.525 0, 865882.233 622343.41 0, 865586.089 622351.352 0, 865292.84 622359.233 0, 864998.144 622367.17 0, 864703.449 622375.125 0, 864408.754 622383.097 0, 864114.059 622391.086 0,
+ 863819.366 622399.093 0, 863524.672 622407.117 0, 863229.979 622415.158 0, 862935.287 622423.217 0, 862640.594 622431.293 0, 862345.903 622439.386 0, 862051.212 622447.497 0, 861756.521 622455.625 0, 861461.831 622463.77 0, 861167.141 622471.933 0,
+ 860872.452 622480.113 0, 860577.764 622488.311 0, 860283.075 622496.525 0, 859988.388 622504.757 0, 859693.7 622513.007 0, 859399.014 622521.274 0, 859104.327 622529.558 0, 858809.641 622537.859 0, 858513.508 622546.219 0, 858670.733 628109.88 0,
+ 858827.968 633673.873 0, 859123.444 633665.532 0, 859417.475 633657.249 0, 859711.506 633648.983 0, 860005.538 633640.735 0, 860299.57 633632.503 0, 860593.603 633624.29 0, 860887.636 633616.093 0, 861181.67 633607.914 0, 861475.704 633599.752 0,
+ 861769.739 633591.607 0, 862063.774 633583.48 0, 862357.81 633575.37 0, 862651.846 633567.277 0, 862945.882 633559.202 0, 863239.919 633551.144 0, 863533.957 633543.103 0, 863827.995 633535.08 0, 864122.034 633527.073 0, 864416.072 633519.085 0,
+ 864710.112 633511.113 0, 865004.152 633503.159 0, 865298.192 633495.222 0, 865592.233 633487.302 0, 865884.83 633479.439 0, 866180.316 633471.515 0, 866474.358 633463.647 0, 866768.401 633455.797 0, 867062.444 633447.964 0, 867356.488 633440.148 0,
+ 867650.532 633432.349 0, 867944.577 633424.568 0, 868238.622 633416.804 0, 868532.667 633409.058 0, 868826.713 633401.329 0, 869120.759 633393.617 0, 869414.806 633385.922 0, 869708.853 633378.245 0, 870002.901 633370.585 0, 870296.949 633362.942 0,
+ 870590.998 633355.317 0, 870885.047 633347.708 0, 871179.096 633340.118 0, 871473.146 633332.544 0, 871767.197 633324.988 0, 872061.248 633317.449 0, 872355.299 633309.928 0, 872649.351 633302.423 0, 872941.96 633294.973 0, 872800.445 627730.558 0,
+ 872658.938 622166.475 0))
+
+POLYGON ((887056.966 632955.949 0, 886764.334 632962.573 0, 886470.263 632969.246 0, 886176.191 632975.937 0, 885882.12 632982.645 0, 885588.05 632989.37 0, 885293.979 632996.113 0, 884999.91 633002.873 0, 884705.84 633009.65 0, 884411.771 633016.445 0,
+ 884117.703 633023.257 0, 883823.635 633030.086 0, 883529.567 633036.933 0, 883235.499 633043.797 0, 882941.432 633050.678 0, 882647.366 633057.576 0, 882353.3 633064.492 0, 882059.234 633071.425 0, 881765.168 633078.376 0, 881471.104 633085.343 0,
+ 881177.039 633092.329 0, 880882.975 633099.331 0, 880588.911 633106.35 0, 880294.848 633113.387 0, 879999.343 633120.476 0, 879706.723 633127.513 0, 879412.661 633134.602 0, 879118.599 633141.708 0, 878824.538 633148.832 0, 878530.477 633155.973 0,
+ 878236.416 633163.131 0, 877942.357 633170.306 0, 877648.297 633177.499 0, 877354.238 633184.709 0, 877060.179 633191.936 0, 876766.121 633199.181 0, 876472.063 633206.443 0, 876178.006 633213.722 0, 875883.949 633221.019 0, 875589.892 633228.333 0,
+ 875295.836 633235.664 0, 875001.78 633243.012 0, 874707.725 633250.378 0, 874413.67 633257.761 0, 874119.616 633265.162 0, 873825.562 633272.579 0, 873531.509 633280.014 0, 873237.456 633287.467 0, 872941.96 633294.973 0, 873083.483 638859.717 0,
+ 873225.015 644424.787 0, 873519.852 644417.297 0, 873813.25 644409.862 0, 874106.649 644402.443 0, 874400.048 644395.042 0, 874693.447 644387.658 0, 874986.847 644380.291 0, 875280.247 644372.942 0, 875573.647 644365.61 0, 875867.048 644358.295 0,
+ 876160.45 644350.997 0, 876453.852 644343.717 0, 876747.254 644336.454 0, 877040.657 644329.208 0, 877334.06 644321.98 0, 877627.463 644314.768 0, 877920.867 644307.574 0, 878214.272 644300.398 0, 878507.677 644293.238 0, 878801.082 644286.096 0,
+ 879094.488 644278.971 0, 879387.894 644271.864 0, 879681.3 644264.773 0, 879974.707 644257.7 0, 880266.676 644250.679 0, 880561.522 644243.606 0, 880854.931 644236.585 0, 881148.339 644229.581 0, 881441.748 644222.594 0, 881735.158 644215.624 0,
+ 882028.568 644208.672 0, 882321.978 644201.737 0, 882615.388 644194.82 0, 882908.8 644187.919 0, 883202.211 644181.036 0, 883495.623 644174.17 0, 883789.035 644167.322 0, 884082.448 644160.49 0, 884375.861 644153.676 0, 884669.274 644146.88 0,
+ 884962.688 644140.1 0, 885256.103 644133.338 0, 885549.517 644126.593 0, 885842.932 644119.865 0, 886136.348 644113.155 0, 886429.764 644106.462 0, 886723.18 644099.786 0, 887016.596 644093.127 0, 887308.576 644086.518 0, 887182.767 638521.071 0,
+ 887056.966 632955.949 0))
+
+POLYGON ((901393.036 643788.039 0, 901101.037 643793.823 0, 900807.603 643799.653 0, 900514.169 643805.5 0, 900220.735 643811.364 0, 899927.302 643817.246 0, 899633.869 643823.144 0, 899340.437 643829.06 0, 899047.004 643834.994 0, 898753.572 643840.944 0,
+ 898460.141 643846.912 0, 898166.71 643852.897 0, 897873.279 643858.899 0, 897579.849 643864.919 0, 897286.418 643870.956 0, 896992.989 643877.01 0, 896699.559 643883.081 0, 896406.13 643889.17 0, 896112.702 643895.276 0, 895819.273 643901.399 0,
+ 895525.845 643907.54 0, 895232.418 643913.698 0, 894938.991 643919.873 0, 894645.564 643926.065 0, 894350.701 643932.305 0, 894058.711 643938.501 0, 893765.285 643944.745 0, 893471.86 643951.007 0, 893178.435 643957.286 0, 892885.01 643963.581 0,
+ 892591.586 643969.895 0, 892298.162 643976.225 0, 892004.739 643982.573 0, 891711.315 643988.938 0, 891417.893 643995.32 0, 891124.47 644001.72 0, 890831.048 644008.137 0, 890537.626 644014.571 0, 890244.205 644021.022 0, 889950.784 644027.491 0,
+ 889657.364 644033.977 0, 889363.944 644040.48 0, 889070.524 644047 0, 888777.105 644053.538 0, 888483.686 644060.093 0, 888190.267 644066.665 0, 887896.849 644073.255 0, 887603.431 644079.862 0, 887308.576 644086.518 0, 887434.392 649652.288 0,
+ 887560.215 655218.377 0, 887854.412 655211.735 0, 888147.174 655205.143 0, 888439.938 655198.568 0, 888732.701 655192.011 0, 889025.465 655185.471 0, 889318.229 655178.947 0, 889610.993 655172.442 0, 889903.758 655165.953 0, 890196.524 655159.481 0,
+ 890489.289 655153.027 0, 890782.055 655146.59 0, 891074.822 655140.171 0, 891367.589 655133.768 0, 891660.356 655127.383 0, 891953.123 655121.015 0, 892245.891 655114.664 0, 892538.66 655108.33 0, 892831.428 655102.014 0, 893124.197 655095.715 0,
+ 893416.967 655089.433 0, 893709.737 655083.168 0, 894002.507 655076.921 0, 894295.277 655070.691 0, 894586.615 655064.508 0, 894880.82 655058.282 0, 895173.591 655052.104 0, 895466.363 655045.942 0, 895759.136 655039.798 0, 896051.908 655033.671 0,
+ 896344.681 655027.562 0, 896637.455 655021.47 0, 896930.229 655015.394 0, 897223.003 655009.337 0, 897515.777 655003.296 0, 897808.552 654997.273 0, 898101.327 654991.266 0, 898394.103 654985.277 0, 898686.879 654979.306 0, 898979.655 654973.351 0,
+ 899272.432 654967.414 0, 899565.209 654961.494 0, 899857.986 654955.591 0, 900150.764 654949.706 0, 900443.542 654943.837 0, 900736.32 654937.986 0, 901029.099 654932.153 0, 901321.878 654926.336 0, 901613.225 654920.565 0, 901503.127 649354.143 0,
+ 901393.036 643788.039 0))
+
+POLYGON ((915667.02 654662.456 0, 915375.656 654667.404 0, 915082.861 654672.393 0, 914790.067 654677.4 0, 914497.274 654682.424 0, 914204.48 654687.465 0, 913911.687 654692.524 0, 913618.894 654697.599 0, 913326.102 654702.692 0, 913033.309 654707.802 0,
+ 912740.518 654712.929 0, 912447.726 654718.074 0, 912154.935 654723.236 0, 911862.144 654728.415 0, 911569.353 654733.611 0, 911276.562 654738.824 0, 910983.772 654744.055 0, 910690.983 654749.303 0, 910398.193 654754.568 0, 910105.404 654759.851 0,
+ 909812.615 654765.15 0, 909519.826 654770.467 0, 909227.038 654775.801 0, 908934.25 654781.153 0, 908640.031 654786.547 0, 908348.675 654791.907 0, 908055.888 654797.31 0, 907763.102 654802.73 0, 907470.315 654808.168 0, 907177.529 654813.622 0,
+ 906884.744 654819.094 0, 906591.958 654824.584 0, 906299.173 654830.09 0, 906006.389 654835.614 0, 905713.604 654841.155 0, 905420.82 654846.713 0, 905128.036 654852.288 0, 904835.253 654857.881 0, 904542.47 654863.49 0, 904249.687 654869.118 0,
+ 903956.905 654874.762 0, 903664.123 654880.423 0, 903371.341 654886.102 0, 903078.559 654891.798 0, 902785.778 654897.511 0, 902492.998 654903.242 0, 902200.217 654908.989 0, 901907.437 654914.754 0, 901613.225 654920.565 0, 901723.329 660487.303 0,
+ 901833.439 666054.353 0, 902126.992 666048.556 0, 902419.117 666042.804 0, 902711.242 666037.069 0, 903003.368 666031.351 0, 903295.493 666025.651 0, 903587.62 666019.968 0, 903879.746 666014.302 0, 904171.873 666008.653 0, 904464 666003.021 0,
+ 904756.127 665997.407 0, 905048.255 665991.809 0, 905340.383 665986.229 0, 905632.512 665980.666 0, 905924.64 665975.121 0, 906216.769 665969.592 0, 906508.899 665964.081 0, 906801.028 665958.587 0, 907093.159 665953.11 0, 907385.289 665947.65 0,
+ 907677.42 665942.208 0, 907969.551 665936.782 0, 908261.682 665931.374 0, 908553.814 665925.983 0, 908844.517 665920.636 0, 909138.078 665915.253 0, 909430.21 665909.914 0, 909722.343 665904.592 0, 910014.477 665899.287 0, 910306.61 665893.999 0,
+ 910598.744 665888.728 0, 910890.878 665883.475 0, 911183.013 665878.239 0, 911475.147 665873.02 0, 911767.282 665867.818 0, 912059.418 665862.633 0, 912351.553 665857.466 0, 912643.689 665852.316 0, 912935.826 665847.183 0, 913227.962 665842.067 0,
+ 913520.099 665836.968 0, 913812.236 665831.887 0, 914104.374 665826.822 0, 914396.512 665821.775 0, 914688.65 665816.746 0, 914980.788 665811.733 0, 915272.927 665806.737 0, 915565.066 665801.759 0, 915855.778 665796.822 0, 915761.396 660229.483 0,
+ 915667.02 654662.456 0))
+
+POLYGON ((929878.789 665578.908 0, 929588.062 665583.024 0, 929295.91 665587.176 0, 929003.758 665591.347 0, 928711.607 665595.534 0, 928419.456 665599.738 0, 928127.305 665603.96 0, 927835.154 665608.199 0, 927543.004 665612.455 0, 927250.854 665616.728 0,
+ 926958.704 665621.019 0, 926666.554 665625.326 0, 926374.405 665629.651 0, 926082.256 665633.993 0, 925790.107 665638.353 0, 925497.958 665642.729 0, 925205.81 665647.123 0, 924913.662 665651.533 0, 924621.514 665655.961 0, 924329.366 665660.407 0,
+ 924037.219 665664.869 0, 923745.072 665669.349 0, 923452.925 665673.846 0, 923160.779 665678.36 0, 922867.207 665682.913 0, 922576.486 665687.439 0, 922284.341 665692.005 0, 921992.195 665696.588 0, 921700.05 665701.188 0, 921407.905 665705.805 0,
+ 921115.761 665710.439 0, 920823.616 665715.091 0, 920531.472 665719.759 0, 920239.328 665724.445 0, 919947.185 665729.149 0, 919655.042 665733.869 0, 919362.899 665738.606 0, 919070.756 665743.361 0, 918778.614 665748.133 0, 918486.471 665752.922 0,
+ 918194.33 665757.729 0, 917902.188 665762.552 0, 917610.047 665767.393 0, 917317.906 665772.251 0, 917025.765 665777.126 0, 916733.625 665782.018 0, 916441.484 665786.928 0, 916149.345 665791.854 0, 915855.778 665796.822 0, 915950.165 671364.471 0,
+ 916044.557 676932.425 0, 916337.465 676927.468 0, 916628.949 676922.552 0, 916920.434 676917.654 0, 917211.919 676912.773 0, 917503.404 676907.908 0, 917794.89 676903.061 0, 918086.376 676898.232 0, 918377.862 676893.419 0, 918669.348 676888.623 0,
+ 918960.835 676883.845 0, 919252.322 676879.084 0, 919543.809 676874.34 0, 919835.297 676869.613 0, 920126.785 676864.903 0, 920418.273 676860.21 0, 920709.761 676855.535 0, 921001.25 676850.877 0, 921292.739 676846.236 0, 921584.228 676841.612 0,
+ 921875.717 676837.005 0, 922167.207 676832.415 0, 922458.697 676827.843 0, 922750.187 676823.287 0, 923040.255 676818.771 0, 923333.169 676814.228 0, 923624.66 676809.724 0, 923916.151 676805.237 0, 924207.643 676800.768 0, 924499.135 676796.315 0,
+ 924790.627 676791.88 0, 925082.119 676787.462 0, 925373.612 676783.061 0, 925665.105 676778.677 0, 925956.598 676774.311 0, 926248.091 676769.961 0, 926539.585 676765.629 0, 926831.079 676761.314 0, 927122.573 676757.016 0, 927414.067 676752.735 0,
+ 927705.562 676748.471 0, 927997.057 676744.225 0, 928288.552 676739.995 0, 928580.048 676735.783 0, 928871.543 676731.588 0, 929163.039 676727.41 0, 929454.536 676723.249 0, 929746.032 676719.106 0, 930036.107 676714.999 0, 929957.446 671146.801 0,
+ 929878.789 665578.908 0))
+
+POLYGON ((944028.216 676537.104 0, 943738.128 676540.39 0, 943446.621 676543.71 0, 943155.114 676547.048 0, 942863.607 676550.402 0, 942572.101 676553.774 0, 942280.595 676557.162 0, 941989.089 676560.568 0, 941697.583 676563.991 0, 941406.078 676567.431 0,
+ 941114.572 676570.888 0, 940823.067 676574.363 0, 940531.562 676577.855 0, 940240.057 676581.363 0, 939948.553 676584.889 0, 939657.048 676588.432 0, 939365.544 676591.993 0, 939074.04 676595.57 0, 938782.537 676599.165 0, 938491.033 676602.776 0,
+ 938199.53 676606.405 0, 937908.027 676610.051 0, 937616.524 676613.714 0, 937325.021 676617.395 0, 937032.098 676621.11 0, 936742.017 676624.807 0, 936450.515 676628.539 0, 936159.013 676632.288 0, 935867.511 676636.054 0, 935576.01 676639.837 0,
+ 935284.509 676643.638 0, 934993.008 676647.455 0, 934701.507 676651.29 0, 934410.007 676655.142 0, 934118.507 676659.011 0, 933827.007 676662.897 0, 933535.507 676666.8 0, 933244.008 676670.721 0, 932952.508 676674.659 0, 932661.009 676678.614 0,
+ 932369.511 676682.586 0, 932078.012 676686.575 0, 931786.514 676690.581 0, 931495.016 676694.605 0, 931203.518 676698.645 0, 930912.02 676702.703 0, 930620.523 676706.778 0, 930329.026 676710.87 0, 930036.107 676714.999 0, 930114.772 682283.501 0,
+ 930193.442 687852.301 0, 930485.702 687848.18 0, 930776.544 687844.098 0, 931067.385 687840.032 0, 931358.228 687835.983 0, 931649.07 687831.951 0, 931939.912 687827.937 0, 932230.755 687823.94 0, 932521.598 687819.96 0, 932812.442 687815.996 0,
+ 933103.285 687812.05 0, 933394.129 687808.122 0, 933684.973 687804.21 0, 933975.817 687800.315 0, 934266.662 687796.438 0, 934557.506 687792.577 0, 934848.351 687788.734 0, 935139.196 687784.908 0, 935430.042 687781.099 0, 935720.887 687777.307 0,
+ 936011.733 687773.532 0, 936302.579 687769.775 0, 936593.425 687766.034 0, 936884.272 687762.311 0, 937173.701 687758.622 0, 937465.965 687754.915 0, 937756.812 687751.243 0, 938047.66 687747.588 0, 938338.507 687743.95 0, 938629.355 687740.33 0,
+ 938920.203 687736.726 0, 939211.051 687733.14 0, 939501.899 687729.57 0, 939792.748 687726.018 0, 940083.597 687722.483 0, 940374.446 687718.965 0, 940665.295 687715.464 0, 940956.144 687711.98 0, 941246.994 687708.514 0, 941537.844 687705.064 0,
+ 941828.694 687701.632 0, 942119.544 687698.216 0, 942410.395 687694.818 0, 942701.245 687691.437 0, 942992.096 687688.073 0, 943282.947 687684.726 0, 943573.798 687681.397 0, 943864.65 687678.084 0, 944154.085 687674.805 0, 944091.149 682105.805 0,
+ 944028.216 676537.104 0))
+
+POLYGON ((958115.174 687536.751 0, 957825.728 687539.213 0, 957534.868 687541.703 0, 957244.009 687544.211 0, 956953.15 687546.737 0, 956662.29 687549.279 0, 956371.431 687551.838 0, 956080.573 687554.415 0, 955789.714 687557.008 0, 955498.855 687559.619 0,
+ 955207.997 687562.247 0, 954917.139 687564.891 0, 954626.28 687567.554 0, 954335.423 687570.233 0, 954044.565 687572.929 0, 953753.707 687575.642 0, 953462.85 687578.373 0, 953171.992 687581.121 0, 952881.135 687583.885 0, 952590.278 687586.667 0,
+ 952299.421 687589.466 0, 952008.565 687592.282 0, 951717.708 687595.116 0, 951426.852 687597.966 0, 951134.581 687600.847 0, 950845.14 687603.718 0, 950554.284 687606.62 0, 950263.428 687609.539 0, 949972.573 687612.475 0, 949681.718 687615.428 0,
+ 949390.863 687618.398 0, 949100.008 687621.385 0, 948809.153 687624.39 0, 948518.298 687627.411 0, 948227.444 687630.45 0, 947936.59 687633.506 0, 947645.736 687636.578 0, 947354.882 687639.668 0, 947064.028 687642.776 0, 946773.174 687645.9 0,
+ 946482.321 687649.041 0, 946191.468 687652.2 0, 945900.615 687655.375 0, 945609.762 687658.568 0, 945318.91 687661.778 0, 945028.057 687665.005 0, 944737.205 687668.249 0, 944446.353 687671.51 0, 944154.085 687674.805 0, 944217.025 693244.1 0,
+ 944279.968 698813.688 0, 944571.577 698810.401 0, 944861.774 698807.147 0, 945151.97 698803.911 0, 945442.167 698800.691 0, 945732.364 698797.488 0, 946022.561 698794.303 0, 946312.758 698791.134 0, 946602.956 698787.983 0, 946893.154 698784.849 0,
+ 947183.352 698781.731 0, 947473.55 698778.631 0, 947763.748 698775.548 0, 948053.946 698772.482 0, 948344.145 698769.433 0, 948634.344 698766.401 0, 948924.543 698763.387 0, 949214.742 698760.389 0, 949504.941 698757.408 0, 949795.141 698754.445 0,
+ 950085.34 698751.499 0, 950375.54 698748.569 0, 950665.74 698745.657 0, 950955.94 698742.762 0, 951244.729 698739.898 0, 951536.341 698737.023 0, 951826.542 698734.179 0, 952116.743 698731.352 0, 952406.944 698728.542 0, 952697.145 698725.749 0,
+ 952987.346 698722.974 0, 953277.548 698720.215 0, 953567.75 698717.474 0, 953857.951 698714.749 0, 954148.153 698712.042 0, 954438.356 698709.352 0, 954728.558 698706.679 0, 955018.76 698704.023 0, 955308.963 698701.384 0, 955599.166 698698.762 0,
+ 955889.369 698696.157 0, 956179.572 698693.569 0, 956469.775 698690.999 0, 956759.979 698688.445 0, 957050.182 698685.909 0, 957340.386 698683.389 0, 957630.59 698680.887 0, 957920.794 698678.402 0, 958209.587 698675.946 0, 958162.379 693106.202 0,
+ 958115.174 687536.751 0))
+
+POLYGON ((972139.539 698577.557 0, 971850.738 698579.197 0, 971560.528 698580.863 0, 971270.318 698582.545 0, 970980.109 698584.245 0, 970689.899 698585.961 0, 970399.69 698587.695 0, 970109.48 698589.446 0, 969819.271 698591.214 0, 969529.062 698592.999 0,
+ 969238.853 698594.801 0, 968948.644 698596.62 0, 968658.435 698598.456 0, 968368.226 698600.309 0, 968078.018 698602.179 0, 967787.809 698604.067 0, 967497.601 698605.971 0, 967207.393 698607.893 0, 966917.185 698609.831 0, 966626.977 698611.787 0,
+ 966336.769 698613.76 0, 966046.561 698615.75 0, 965756.353 698617.757 0, 965466.146 698619.781 0, 965174.528 698621.832 0, 964885.731 698623.88 0, 964595.524 698625.956 0, 964305.316 698628.048 0, 964015.109 698630.157 0, 963724.903 698632.284 0,
+ 963434.696 698634.428 0, 963144.489 698636.588 0, 962854.283 698638.766 0, 962564.077 698640.961 0, 962273.87 698643.173 0, 961983.664 698645.402 0, 961693.458 698647.648 0, 961403.253 698649.911 0, 961113.047 698652.191 0, 960822.841 698654.489 0,
+ 960532.636 698656.803 0, 960242.431 698659.135 0, 959952.226 698661.483 0, 959662.021 698663.849 0, 959371.816 698666.232 0, 959081.611 698668.632 0, 958791.406 698671.048 0, 958501.202 698673.482 0, 958209.587 698675.946 0, 958256.797 704245.978 0,
+ 958304.01 709816.295 0, 958594.966 709813.838 0, 958884.515 709811.409 0, 959174.064 709808.998 0, 959463.613 709806.603 0, 959753.162 709804.226 0, 960042.711 709801.866 0, 960332.261 709799.522 0, 960621.81 709797.196 0, 960911.36 709794.887 0,
+ 961200.91 709792.595 0, 961490.46 709790.32 0, 961780.01 709788.062 0, 962069.56 709785.821 0, 962359.11 709783.597 0, 962648.661 709781.39 0, 962938.211 709779.2 0, 963227.762 709777.027 0, 963517.313 709774.871 0, 963806.864 709772.732 0,
+ 964096.415 709770.611 0, 964385.966 709768.506 0, 964675.518 709766.418 0, 964965.069 709764.348 0, 965253.214 709762.304 0, 965544.173 709760.258 0, 965833.725 709758.238 0, 966123.277 709756.236 0, 966412.829 709754.25 0, 966702.381 709752.282 0,
+ 966991.933 709750.331 0, 967281.486 709748.396 0, 967571.038 709746.479 0, 967860.591 709744.579 0, 968150.144 709742.696 0, 968439.697 709740.83 0, 968729.25 709738.981 0, 969018.803 709737.149 0, 969308.356 709735.334 0, 969597.909 709733.536 0,
+ 969887.463 709731.755 0, 970177.016 709729.991 0, 970466.57 709728.244 0, 970756.124 709726.514 0, 971045.677 709724.802 0, 971335.231 709723.106 0, 971624.785 709721.427 0, 971914.34 709719.766 0, 972202.488 709718.129 0, 972171.013 704147.701 0,
+ 972139.539 698577.557 0))
+
+POLYGON ((986101.189 709659.229 0, 985813.034 709660.052 0, 985523.477 709660.895 0, 985233.919 709661.756 0, 984944.361 709662.634 0, 984654.804 709663.528 0, 984365.246 709664.44 0, 984075.689 709665.369 0, 983786.132 709666.314 0, 983496.574 709667.277 0,
+ 983207.017 709668.257 0, 982917.46 709669.254 0, 982627.903 709670.268 0, 982338.346 709671.299 0, 982048.789 709672.347 0, 981759.232 709673.412 0, 981469.675 709674.494 0, 981180.118 709675.594 0, 980890.561 709676.71 0, 980601.004 709677.843 0,
+ 980311.448 709678.993 0, 980021.891 709680.161 0, 979732.335 709681.345 0, 979442.778 709682.547 0, 979151.818 709683.771 0, 978863.666 709685.001 0, 978574.11 709686.253 0, 978284.553 709687.523 0, 977994.997 709688.809 0, 977705.441 709690.113 0,
+ 977415.886 709691.434 0, 977126.33 709692.772 0, 976836.774 709694.126 0, 976547.218 709695.498 0, 976257.663 709696.887 0, 975968.107 709698.293 0, 975678.552 709699.716 0, 975388.997 709701.156 0, 975099.441 709702.613 0, 974809.886 709704.087 0,
+ 974520.331 709705.578 0, 974230.776 709707.087 0, 973941.221 709708.612 0, 973651.666 709710.154 0, 973362.112 709711.714 0, 973072.557 709713.29 0, 972783.003 709714.883 0, 972493.448 709716.494 0, 972202.488 709718.129 0, 972233.965 715288.84 0,
+ 972265.444 720859.829 0, 972555.745 720858.197 0, 972844.643 720856.59 0, 973133.542 720855.001 0, 973422.441 720853.428 0, 973711.34 720851.872 0, 974000.239 720850.333 0, 974289.138 720848.811 0, 974578.037 720847.307 0, 974866.936 720845.819 0,
+ 975155.836 720844.348 0, 975444.735 720842.894 0, 975733.635 720841.458 0, 976022.534 720840.038 0, 976311.434 720838.635 0, 976600.334 720837.249 0, 976889.234 720835.88 0, 977178.134 720834.529 0, 977467.034 720833.194 0, 977755.934 720831.876 0,
+ 978044.834 720830.575 0, 978333.734 720829.292 0, 978622.635 720828.025 0, 978911.535 720826.775 0, 979199.034 720825.549 0, 979489.336 720824.327 0, 979778.237 720823.128 0, 980067.137 720821.946 0, 980356.038 720820.782 0, 980644.939 720819.634 0,
+ 980933.84 720818.503 0, 981222.741 720817.39 0, 981511.642 720816.293 0, 981800.543 720815.213 0, 982089.444 720814.151 0, 982378.345 720813.105 0, 982667.247 720812.076 0, 982956.148 720811.065 0, 983245.049 720810.07 0, 983533.951 720809.092 0,
+ 983822.852 720808.132 0, 984111.754 720807.188 0, 984400.656 720806.261 0, 984689.557 720805.352 0, 984978.459 720804.459 0, 985267.361 720803.583 0, 985556.263 720802.725 0, 985845.165 720801.883 0, 986132.667 720801.062 0, 986116.927 715230.007 0,
+ 986101.189 709659.229 0))
+
+POLYGON ((1000000 720781.474 0, 999712.495 720781.482 0, 999423.592 720781.507 0, 999134.688 720781.55 0, 998845.785 720781.609 0, 998556.882 720781.686 0, 998267.979 720781.779 0, 997979.076 720781.89 0, 997690.173 720782.017 0, 997401.27 720782.161 0,
+ 997112.367 720782.323 0, 996823.464 720782.501 0, 996534.561 720782.697 0, 996245.658 720782.909 0, 995956.755 720783.139 0, 995667.852 720783.385 0, 995378.949 720783.649 0, 995090.046 720783.929 0, 994801.143 720784.227 0, 994512.24 720784.541 0,
+ 994223.337 720784.873 0, 993934.434 720785.221 0, 993645.531 720785.587 0, 993356.628 720785.969 0, 993066.326 720786.371 0, 992778.822 720786.785 0, 992489.92 720787.219 0, 992201.017 720787.669 0, 991912.114 720788.137 0, 991623.211 720788.621 0,
+ 991334.309 720789.123 0, 991045.406 720789.642 0, 990756.503 720790.177 0, 990467.601 720790.73 0, 990178.698 720791.299 0, 989889.796 720791.886 0, 989600.893 720792.489 0, 989311.991 720793.11 0, 989023.088 720793.747 0, 988734.186 720794.402 0,
+ 988445.284 720795.074 0, 988156.381 720795.762 0, 987867.479 720796.468 0, 987578.577 720797.19 0, 987289.675 720797.93 0, 987000.773 720798.687 0, 986711.871 720799.46 0, 986422.969 720800.251 0, 986132.667 720801.062 0, 986148.407 726372.393 0,
+ 986164.147 731943.996 0, 986453.79 731943.186 0, 986742.037 731942.397 0, 987030.283 731941.625 0, 987318.529 731940.87 0, 987606.775 731940.132 0, 987895.022 731939.411 0, 988183.268 731938.707 0, 988471.515 731938.02 0, 988759.761 731937.35 0,
+ 989048.008 731936.697 0, 989336.254 731936.061 0, 989624.501 731935.442 0, 989912.748 731934.84 0, 990200.994 731934.254 0, 990489.241 731933.686 0, 990777.488 731933.135 0, 991065.734 731932.601 0, 991353.981 731932.083 0, 991642.228 731931.583 0,
+ 991930.475 731931.099 0, 992218.722 731930.633 0, 992506.969 731930.183 0, 992795.216 731929.751 0, 993082.067 731929.337 0, 993371.71 731928.937 0, 993659.957 731928.555 0, 993948.204 731928.19 0, 994236.451 731927.843 0, 994524.698 731927.512 0,
+ 994812.945 731927.198 0, 995101.192 731926.901 0, 995389.439 731926.621 0, 995677.686 731926.359 0, 995965.933 731926.113 0, 996254.181 731925.884 0, 996542.428 731925.672 0, 996830.675 731925.477 0, 997118.922 731925.299 0, 997407.169 731925.137 0,
+ 997695.417 731924.993 0, 997983.664 731924.866 0, 998271.911 731924.756 0, 998560.158 731924.663 0, 998848.406 731924.587 0, 999136.653 731924.527 0, 999424.9 731924.485 0, 999713.147 731924.46 0, 1000000 731924.451 0, 1000000 726352.827 0,
+ 1000000 720781.474 0))
+
+POLYGON ((1013835.853 731943.996 0, 1013548.999 731943.194 0, 1013260.753 731942.405 0, 1012972.506 731941.633 0, 1012684.26 731940.877 0, 1012396.014 731940.139 0, 1012107.767 731939.418 0, 1011819.521 731938.714 0, 1011531.275 731938.027 0, 1011243.028 731937.357 0,
+ 1010954.782 731936.703 0, 1010666.535 731936.067 0, 1010378.288 731935.448 0, 1010090.042 731934.845 0, 1009801.795 731934.26 0, 1009513.548 731933.692 0, 1009225.302 731933.14 0, 1008937.055 731932.606 0, 1008648.808 731932.088 0, 1008360.561 731931.588 0,
+ 1008072.314 731931.104 0, 1007784.068 731930.637 0, 1007495.821 731930.188 0, 1007207.574 731929.755 0, 1006917.933 731929.337 0, 1006631.08 731928.94 0, 1006342.833 731928.559 0, 1006054.586 731928.194 0, 1005766.339 731927.846 0, 1005478.092 731927.515 0,
+ 1005189.844 731927.201 0, 1004901.597 731926.904 0, 1004613.35 731926.624 0, 1004325.103 731926.361 0, 1004036.856 731926.115 0, 1003748.609 731925.886 0, 1003460.362 731925.674 0, 1003172.114 731925.478 0, 1002883.867 731925.3 0, 1002595.62 731925.139 0,
+ 1002307.373 731924.995 0, 1002019.125 731924.867 0, 1001730.878 731924.757 0, 1001442.631 731924.664 0, 1001154.384 731924.587 0, 1000866.136 731924.528 0, 1000577.889 731924.485 0, 1000289.642 731924.46 0, 1000000 731924.451 0, 1000000 737496.344 0,
+ 1000000 743068.501 0, 1000288.983 743068.509 0, 1000576.574 743068.535 0, 1000864.166 743068.577 0, 1001151.757 743068.637 0, 1001439.348 743068.713 0, 1001726.94 743068.806 0, 1002014.531 743068.916 0, 1002302.122 743069.043 0, 1002589.713 743069.187 0,
+ 1002877.305 743069.348 0, 1003164.896 743069.526 0, 1003452.487 743069.721 0, 1003740.079 743069.932 0, 1004027.67 743070.161 0, 1004315.261 743070.406 0, 1004602.852 743070.669 0, 1004890.444 743070.948 0, 1005178.035 743071.245 0, 1005465.626 743071.558 0,
+ 1005753.217 743071.888 0, 1006040.808 743072.235 0, 1006328.399 743072.599 0, 1006615.99 743072.98 0, 1006902.191 743073.376 0, 1007191.173 743073.793 0, 1007478.764 743074.224 0, 1007766.355 743074.673 0, 1008053.946 743075.139 0, 1008341.537 743075.621 0,
+ 1008629.127 743076.12 0, 1008916.718 743076.637 0, 1009204.309 743077.17 0, 1009491.9 743077.72 0, 1009779.491 743078.287 0, 1010067.082 743078.872 0, 1010354.672 743079.473 0, 1010642.263 743080.09 0, 1010929.854 743080.725 0, 1011217.444 743081.377 0,
+ 1011505.035 743082.046 0, 1011792.625 743082.731 0, 1012080.216 743083.434 0, 1012367.806 743084.153 0, 1012655.397 743084.89 0, 1012942.987 743085.643 0, 1013230.577 743086.413 0, 1013518.168 743087.201 0, 1013804.369 743088.001 0, 1013820.111 737515.866 0,
+ 1013835.853 731943.996 0))
+
+POLYGON ((1027608.627 743146.501 0, 1027322.427 743144.892 0, 1027034.84 743143.292 0, 1026747.253 743141.709 0, 1026459.666 743140.144 0, 1026172.079 743138.595 0, 1025884.492 743137.063 0, 1025596.904 743135.548 0, 1025309.317 743134.049 0, 1025021.729 743132.568 0,
+ 1024734.142 743131.104 0, 1024446.554 743129.657 0, 1024158.966 743128.226 0, 1023871.378 743126.813 0, 1023583.791 743125.416 0, 1023296.202 743124.037 0, 1023008.614 743122.674 0, 1022721.026 743121.328 0, 1022433.438 743119.999 0, 1022145.85 743118.687 0,
+ 1021858.261 743117.392 0, 1021570.673 743116.114 0, 1021283.084 743114.853 0, 1020995.495 743113.609 0, 1020706.518 743112.376 0, 1020420.318 743111.171 0, 1020132.729 743109.978 0, 1019845.14 743108.801 0, 1019557.551 743107.642 0, 1019269.962 743106.499 0,
+ 1018982.373 743105.373 0, 1018694.784 743104.265 0, 1018407.194 743103.173 0, 1018119.605 743102.098 0, 1017832.016 743101.04 0, 1017544.426 743099.999 0, 1017256.837 743098.974 0, 1016969.247 743097.967 0, 1016681.657 743096.977 0, 1016394.068 743096.003 0,
+ 1016106.478 743095.047 0, 1015818.888 743094.107 0, 1015531.298 743093.185 0, 1015243.708 743092.279 0, 1014956.118 743091.39 0, 1014668.528 743090.519 0, 1014380.938 743089.664 0, 1014093.348 743088.826 0, 1013804.369 743088.001 0, 1013788.625 748660.397 0,
+ 1013772.882 754233.05 0, 1014061.202 754233.873 0, 1014348.136 754234.709 0, 1014635.07 754235.562 0, 1014922.004 754236.432 0, 1015208.938 754237.319 0, 1015495.872 754238.222 0, 1015782.806 754239.143 0, 1016069.74 754240.08 0, 1016356.674 754241.035 0,
+ 1016643.607 754242.006 0, 1016930.541 754242.994 0, 1017217.475 754243.999 0, 1017504.408 754245.021 0, 1017791.342 754246.059 0, 1018078.275 754247.115 0, 1018365.209 754248.187 0, 1018652.142 754249.277 0, 1018939.075 754250.383 0, 1019226.008 754251.506 0,
+ 1019512.941 754252.646 0, 1019799.874 754253.803 0, 1020086.807 754254.977 0, 1020373.74 754256.168 0, 1020659.288 754257.369 0, 1020947.606 754258.6 0, 1021234.539 754259.841 0, 1021521.471 754261.099 0, 1021808.404 754262.375 0, 1022095.336 754263.667 0,
+ 1022382.269 754264.976 0, 1022669.201 754266.301 0, 1022956.133 754267.644 0, 1023243.065 754269.004 0, 1023529.997 754270.38 0, 1023816.929 754271.774 0, 1024103.861 754273.184 0, 1024390.793 754274.611 0, 1024677.725 754276.055 0, 1024964.656 754277.516 0,
+ 1025251.588 754278.994 0, 1025538.519 754280.488 0, 1025825.451 754282 0, 1026112.382 754283.529 0, 1026399.313 754285.074 0, 1026686.244 754286.636 0, 1026973.176 754288.215 0, 1027260.106 754289.811 0, 1027545.653 754291.416 0, 1027577.141 748718.83 0,
+ 1027608.627 743146.501 0))
+
+POLYGON ((1041318.205 754388.693 0, 1041032.662 754386.281 0, 1040745.737 754383.875 0, 1040458.811 754381.485 0, 1040171.886 754379.112 0, 1039884.96 754376.756 0, 1039598.034 754374.417 0, 1039311.108 754372.095 0, 1039024.182 754369.789 0, 1038737.256 754367.501 0,
+ 1038450.329 754365.229 0, 1038163.403 754362.975 0, 1037876.476 754360.737 0, 1037589.549 754358.516 0, 1037302.622 754356.312 0, 1037015.695 754354.125 0, 1036728.768 754351.955 0, 1036441.841 754349.801 0, 1036154.914 754347.665 0, 1035867.986 754345.545 0,
+ 1035581.058 754343.443 0, 1035294.131 754341.357 0, 1035007.203 754339.288 0, 1034720.275 754337.236 0, 1034431.964 754335.191 0, 1034146.418 754333.183 0, 1033859.49 754331.181 0, 1033572.561 754329.197 0, 1033285.633 754327.229 0, 1032998.704 754325.278 0,
+ 1032711.775 754323.345 0, 1032424.846 754321.428 0, 1032137.917 754319.528 0, 1031850.988 754317.645 0, 1031564.059 754315.778 0, 1031277.129 754313.929 0, 1030990.2 754312.097 0, 1030703.27 754310.281 0, 1030416.34 754308.482 0, 1030129.41 754306.701 0,
+ 1029842.48 754304.936 0, 1029555.55 754303.188 0, 1029268.62 754301.456 0, 1028981.69 754299.742 0, 1028694.76 754298.045 0, 1028407.829 754296.364 0, 1028120.899 754294.701 0, 1027833.968 754293.054 0, 1027545.653 754291.416 0, 1027514.164 759864.257 0,
+ 1027482.674 765437.348 0, 1027770.33 765438.982 0, 1028056.604 765440.625 0, 1028342.879 765442.285 0, 1028629.153 765443.961 0, 1028915.427 765445.655 0, 1029201.702 765447.365 0, 1029487.976 765449.092 0, 1029774.25 765450.836 0, 1030060.524 765452.597 0,
+ 1030346.798 765454.375 0, 1030633.071 765456.17 0, 1030919.345 765457.981 0, 1031205.618 765459.809 0, 1031491.892 765461.654 0, 1031778.165 765463.516 0, 1032064.438 765465.395 0, 1032350.711 765467.291 0, 1032636.984 765469.203 0, 1032923.257 765471.133 0,
+ 1033209.53 765473.079 0, 1033495.802 765475.042 0, 1033782.075 765477.022 0, 1034068.347 765479.019 0, 1034353.24 765481.023 0, 1034640.892 765483.063 0, 1034927.164 765485.11 0, 1035213.435 765487.174 0, 1035499.707 765489.255 0, 1035785.979 765491.353 0,
+ 1036072.25 765493.468 0, 1036358.522 765495.6 0, 1036644.793 765497.748 0, 1036931.064 765499.913 0, 1037217.335 765502.095 0, 1037503.606 765504.294 0, 1037789.877 765506.51 0, 1038076.147 765508.743 0, 1038362.418 765510.992 0, 1038648.688 765513.259 0,
+ 1038934.959 765515.542 0, 1039221.229 765517.842 0, 1039507.499 765520.159 0, 1039793.768 765522.493 0, 1040080.038 765524.843 0, 1040366.308 765527.211 0, 1040652.577 765529.595 0, 1040938.846 765531.996 0, 1041223.737 765534.402 0, 1041270.972 759961.423 0,
+ 1041318.205 754388.693 0))
+
+POLYGON ((1054964.471 765670.277 0, 1054679.586 765667.066 0, 1054393.325 765663.856 0, 1054107.063 765660.663 0, 1053820.801 765657.487 0, 1053534.539 765654.328 0, 1053248.277 765651.185 0, 1052962.015 765648.059 0, 1052675.753 765644.951 0, 1052389.49 765641.859 0,
+ 1052103.227 765638.783 0, 1051816.964 765635.725 0, 1051530.701 765632.684 0, 1051244.438 765629.659 0, 1050958.174 765626.651 0, 1050671.91 765623.661 0, 1050385.646 765620.687 0, 1050099.382 765617.729 0, 1049813.118 765614.789 0, 1049526.854 765611.866 0,
+ 1049240.589 765608.959 0, 1048954.324 765606.069 0, 1048668.06 765603.196 0, 1048381.794 765600.34 0, 1048094.152 765597.487 0, 1047809.264 765594.679 0, 1047522.998 765591.873 0, 1047236.732 765589.084 0, 1046950.467 765586.313 0, 1046664.2 765583.558 0,
+ 1046377.934 765580.819 0, 1046091.668 765578.098 0, 1045805.401 765575.394 0, 1045519.135 765572.706 0, 1045232.868 765570.035 0, 1044946.601 765567.381 0, 1044660.333 765564.744 0, 1044374.066 765562.124 0, 1044087.799 765559.521 0, 1043801.531 765556.934 0,
+ 1043515.263 765554.365 0, 1043228.995 765551.812 0, 1042942.727 765549.276 0, 1042656.459 765546.757 0, 1042370.19 765544.255 0, 1042083.922 765541.769 0, 1041797.653 765539.301 0, 1041511.384 765536.849 0, 1041223.737 765534.402 0, 1041176.5 771107.629 0,
+ 1041129.26 776681.099 0, 1041416.248 776683.54 0, 1041701.861 776685.986 0, 1041987.474 776688.449 0, 1042273.086 776690.929 0, 1042558.699 776693.425 0, 1042844.311 776695.939 0, 1043129.923 776698.469 0, 1043415.535 776701.016 0, 1043701.146 776703.58 0,
+ 1043986.758 776706.16 0, 1044272.369 776708.757 0, 1044557.981 776711.372 0, 1044843.592 776714.003 0, 1045129.203 776716.65 0, 1045414.814 776719.315 0, 1045700.424 776721.997 0, 1045986.035 776724.695 0, 1046271.645 776727.41 0, 1046557.255 776730.142 0,
+ 1046842.865 776732.89 0, 1047128.475 776735.656 0, 1047414.085 776738.438 0, 1047699.694 776741.237 0, 1047983.929 776744.04 0, 1048270.913 776746.886 0, 1048556.522 776749.735 0, 1048842.131 776752.602 0, 1049127.739 776755.485 0, 1049413.348 776758.385 0,
+ 1049698.956 776761.302 0, 1049984.564 776764.235 0, 1050270.172 776767.186 0, 1050555.78 776770.153 0, 1050841.388 776773.137 0, 1051126.995 776776.138 0, 1051412.603 776779.155 0, 1051698.21 776782.19 0, 1051983.817 776785.241 0, 1052269.424 776788.309 0,
+ 1052555.03 776791.394 0, 1052840.637 776794.496 0, 1053126.243 776797.614 0, 1053411.849 776800.749 0, 1053697.455 776803.902 0, 1053983.06 776807.071 0, 1054268.666 776810.256 0, 1054554.271 776813.459 0, 1054838.503 776816.663 0, 1054901.488 771243.348 0,
+ 1054964.471 765670.277 0))
+
+POLYGON ((1068547.308 776990.957 0, 1068263.084 776986.95 0, 1067977.489 776982.94 0, 1067691.894 776978.948 0, 1067406.298 776974.972 0, 1067120.702 776971.013 0, 1066835.106 776967.071 0, 1066549.51 776963.145 0, 1066263.913 776959.237 0, 1065978.317 776955.345 0,
+ 1065692.72 776951.47 0, 1065407.123 776947.612 0, 1065121.525 776943.771 0, 1064835.928 776939.946 0, 1064550.33 776936.138 0, 1064264.732 776932.348 0, 1063979.133 776928.573 0, 1063693.535 776924.816 0, 1063407.936 776921.076 0, 1063122.337 776917.352 0,
+ 1062836.738 776913.645 0, 1062551.139 776909.955 0, 1062265.539 776906.282 0, 1061979.939 776902.625 0, 1061692.967 776898.968 0, 1061408.739 776895.363 0, 1061123.138 776891.757 0, 1060837.538 776888.168 0, 1060551.937 776884.596 0, 1060266.336 776881.04 0,
+ 1059980.734 776877.501 0, 1059695.133 776873.979 0, 1059409.531 776870.474 0, 1059123.929 776866.986 0, 1058838.327 776863.514 0, 1058552.725 776860.06 0, 1058267.122 776856.622 0, 1057981.519 776853.201 0, 1057695.916 776849.796 0, 1057410.313 776846.409 0,
+ 1057124.71 776843.038 0, 1056839.106 776839.684 0, 1056553.503 776836.347 0, 1056267.899 776833.027 0, 1055982.295 776829.724 0, 1055696.69 776826.437 0, 1055411.086 776823.167 0, 1055125.481 776819.914 0, 1054838.503 776816.663 0, 1054775.515 782390.217 0,
+ 1054712.524 787964.007 0, 1054998.843 787967.251 0, 1055283.792 787970.497 0, 1055568.74 787973.759 0, 1055853.688 787977.038 0, 1056138.636 787980.334 0, 1056423.584 787983.646 0, 1056708.532 787986.976 0, 1056993.479 787990.322 0, 1057278.427 787993.685 0,
+ 1057563.374 787997.064 0, 1057848.32 788000.461 0, 1058133.267 788003.874 0, 1058418.213 788007.304 0, 1058703.16 788010.751 0, 1058988.106 788014.214 0, 1059273.052 788017.695 0, 1059557.997 788021.192 0, 1059842.943 788024.706 0, 1060127.888 788028.236 0,
+ 1060412.833 788031.784 0, 1060697.778 788035.348 0, 1060982.722 788038.929 0, 1061267.667 788042.526 0, 1061551.242 788046.124 0, 1061837.555 788049.772 0, 1062122.498 788053.42 0, 1062407.442 788057.085 0, 1062692.385 788060.767 0, 1062977.328 788064.465 0,
+ 1063262.271 788068.18 0, 1063547.214 788071.912 0, 1063832.156 788075.661 0, 1064117.099 788079.426 0, 1064402.04 788083.208 0, 1064686.982 788087.007 0, 1064971.924 788090.823 0, 1065256.865 788094.655 0, 1065541.806 788098.505 0, 1065826.747 788102.371 0,
+ 1066111.688 788106.253 0, 1066396.628 788110.153 0, 1066681.568 788114.069 0, 1066966.508 788118.003 0, 1067251.448 788121.952 0, 1067536.387 788125.919 0, 1067821.327 788129.903 0, 1068106.266 788133.903 0, 1068389.837 788137.9 0, 1068468.574 782564.311 0,
+ 1068547.308 776990.957 0))
+
+POLYGON ((1082066.603 788350.434 0, 1081783.042 788345.635 0, 1081498.116 788340.83 0, 1081213.189 788336.042 0, 1080928.262 788331.27 0, 1080643.334 788326.515 0, 1080358.407 788321.777 0, 1080073.479 788317.056 0, 1079788.55 788312.351 0, 1079503.622 788307.663 0,
+ 1079218.693 788302.992 0, 1078933.764 788298.338 0, 1078648.835 788293.701 0, 1078363.905 788289.08 0, 1078078.975 788284.476 0, 1077794.045 788279.889 0, 1077509.115 788275.318 0, 1077224.184 788270.765 0, 1076939.253 788266.228 0, 1076654.322 788261.708 0,
+ 1076369.39 788257.204 0, 1076084.458 788252.718 0, 1075799.526 788248.248 0, 1075514.594 788243.795 0, 1075228.295 788239.337 0, 1074944.729 788234.939 0, 1074659.796 788230.536 0, 1074374.862 788226.151 0, 1074089.929 788221.781 0, 1073804.995 788217.429 0,
+ 1073520.061 788213.093 0, 1073235.126 788208.774 0, 1072950.192 788204.472 0, 1072665.257 788200.187 0, 1072380.322 788195.919 0, 1072095.386 788191.667 0, 1071810.451 788187.432 0, 1071525.515 788183.213 0, 1071240.579 788179.012 0, 1070955.643 788174.827 0,
+ 1070670.706 788170.659 0, 1070385.769 788166.508 0, 1070100.832 788162.374 0, 1069815.895 788158.256 0, 1069530.957 788154.155 0, 1069246.019 788150.071 0, 1068961.081 788146.004 0, 1068676.143 788141.954 0, 1068389.837 788137.9 0, 1068311.096 793711.723 0,
+ 1068232.352 799285.774 0, 1068517.999 799289.818 0, 1068802.281 799293.859 0, 1069086.563 799297.917 0, 1069370.845 799301.992 0, 1069655.126 799306.083 0, 1069939.408 799310.191 0, 1070223.688 799314.316 0, 1070507.969 799318.458 0, 1070792.25 799322.616 0,
+ 1071076.53 799326.791 0, 1071360.81 799330.983 0, 1071645.09 799335.191 0, 1071929.369 799339.417 0, 1072213.648 799343.659 0, 1072497.927 799347.917 0, 1072782.206 799352.193 0, 1073066.484 799356.485 0, 1073350.763 799360.794 0, 1073635.041 799365.12 0,
+ 1073919.318 799369.462 0, 1074203.596 799373.821 0, 1074487.873 799378.197 0, 1074772.15 799382.589 0, 1075055.063 799386.978 0, 1075340.703 799391.425 0, 1075624.979 799395.868 0, 1075909.255 799400.327 0, 1076193.531 799404.803 0, 1076477.806 799409.296 0,
+ 1076762.081 799413.806 0, 1077046.356 799418.332 0, 1077330.631 799422.876 0, 1077614.905 799427.435 0, 1077899.179 799432.012 0, 1078183.453 799436.605 0, 1078467.726 799441.216 0, 1078752 799445.842 0, 1079036.272 799450.486 0, 1079320.545 799455.146 0,
+ 1079604.818 799459.823 0, 1079889.09 799464.517 0, 1080173.362 799469.227 0, 1080457.633 799473.955 0, 1080741.904 799478.699 0, 1081026.175 799483.459 0, 1081310.446 799488.237 0, 1081594.717 799493.031 0, 1081877.624 799497.819 0, 1081972.116 793924.012 0,
+ 1082066.603 788350.434 0))
+
+POLYGON ((1095522.243 799748.412 0, 1095239.348 799742.825 0, 1094955.092 799737.228 0, 1094670.836 799731.648 0, 1094386.58 799726.084 0, 1094102.323 799720.537 0, 1093818.066 799715.007 0, 1093533.808 799709.493 0, 1093249.551 799703.996 0, 1092965.292 799698.516 0,
+ 1092681.034 799693.053 0, 1092396.775 799687.606 0, 1092112.516 799682.176 0, 1091828.257 799676.763 0, 1091543.997 799671.366 0, 1091259.737 799665.987 0, 1090975.477 799660.624 0, 1090691.217 799655.277 0, 1090406.956 799649.948 0, 1090122.694 799644.635 0,
+ 1089838.433 799639.339 0, 1089554.171 799634.06 0, 1089269.909 799628.797 0, 1088985.646 799623.551 0, 1088700.022 799618.297 0, 1088417.12 799613.11 0, 1088132.857 799607.914 0, 1087848.593 799602.735 0, 1087564.329 799597.573 0, 1087280.065 799592.427 0,
+ 1086995.8 799587.298 0, 1086711.535 799582.186 0, 1086427.27 799577.091 0, 1086143.005 799572.012 0, 1085858.739 799566.951 0, 1085574.473 799561.906 0, 1085290.206 799556.877 0, 1085005.94 799551.866 0, 1084721.673 799546.871 0, 1084437.405 799541.892 0,
+ 1084153.138 799536.931 0, 1083868.87 799531.986 0, 1083584.602 799527.058 0, 1083300.333 799522.147 0, 1083016.065 799517.252 0, 1082731.796 799512.375 0, 1082447.526 799507.514 0, 1082163.257 799502.669 0, 1081877.624 799497.819 0, 1081783.129 805071.85 0,
+ 1081688.631 810646.104 0, 1081973.603 810650.943 0, 1082257.217 810655.777 0, 1082540.83 810660.626 0, 1082824.443 810665.493 0, 1083108.055 810670.376 0, 1083391.668 810675.276 0, 1083675.28 810680.193 0, 1083958.891 810685.126 0, 1084242.503 810690.076 0,
+ 1084526.114 810695.043 0, 1084809.725 810700.026 0, 1085093.335 810705.026 0, 1085376.946 810710.043 0, 1085660.556 810715.076 0, 1085944.165 810720.127 0, 1086227.775 810725.193 0, 1086511.384 810730.277 0, 1086794.992 810735.377 0, 1087078.601 810740.494 0,
+ 1087362.209 810745.628 0, 1087645.817 810750.778 0, 1087929.424 810755.945 0, 1088213.032 810761.129 0, 1088495.281 810766.304 0, 1088780.245 810771.546 0, 1089063.852 810776.78 0, 1089347.458 810782.03 0, 1089631.063 810787.298 0, 1089914.669 810792.581 0,
+ 1090198.274 810797.882 0, 1090481.879 810803.199 0, 1090765.483 810808.533 0, 1091049.087 810813.884 0, 1091332.691 810819.251 0, 1091616.295 810824.635 0, 1091899.898 810830.036 0, 1092183.501 810835.453 0, 1092467.103 810840.887 0, 1092750.705 810846.338 0,
+ 1093034.307 810851.806 0, 1093317.909 810857.29 0, 1093601.51 810862.791 0, 1093885.111 810868.308 0, 1094168.712 810873.842 0, 1094452.312 810879.393 0, 1094735.912 810884.961 0, 1095019.512 810890.545 0, 1095301.754 810896.119 0, 1095412.001 805322.155 0,
+ 1095522.243 799748.412 0))
+
+POLYGON ((1108914.117 811184.593 0, 1108631.889 811178.222 0, 1108348.307 811171.836 0, 1108064.724 811165.467 0, 1107781.14 811159.115 0, 1107497.556 811152.78 0, 1107213.972 811146.461 0, 1106930.387 811140.159 0, 1106646.802 811133.874 0, 1106363.217 811127.605 0,
+ 1106079.631 811121.353 0, 1105796.045 811115.118 0, 1105512.459 811108.899 0, 1105228.872 811102.697 0, 1104945.285 811096.512 0, 1104661.697 811090.344 0, 1104378.109 811084.192 0, 1104094.521 811078.057 0, 1103810.933 811071.938 0, 1103527.344 811065.836 0,
+ 1103243.754 811059.751 0, 1102960.164 811053.683 0, 1102676.574 811047.631 0, 1102392.984 811041.596 0, 1102108.037 811035.549 0, 1101825.802 811029.576 0, 1101542.211 811023.591 0, 1101258.619 811017.623 0, 1100975.027 811011.672 0, 1100691.434 811005.737 0,
+ 1100407.841 810999.819 0, 1100124.248 810993.917 0, 1099840.654 810988.032 0, 1099557.061 810982.164 0, 1099273.466 810976.313 0, 1098989.872 810970.478 0, 1098706.277 810964.66 0, 1098422.681 810958.859 0, 1098139.086 810953.074 0, 1097855.49 810947.306 0,
+ 1097571.894 810941.555 0, 1097288.297 810935.821 0, 1097004.7 810930.103 0, 1096721.103 810924.402 0, 1096437.505 810918.717 0, 1096153.907 810913.049 0, 1095870.309 810907.398 0, 1095586.71 810901.764 0, 1095301.754 810896.119 0, 1095191.503 816470.302 0,
+ 1095081.248 822044.698 0, 1095365.544 822050.329 0, 1095648.487 822055.951 0, 1095931.429 822061.589 0, 1096214.371 822067.243 0, 1096497.312 822072.915 0, 1096780.253 822078.603 0, 1097063.194 822084.307 0, 1097346.135 822090.029 0, 1097629.075 822095.767 0,
+ 1097912.015 822101.521 0, 1098194.954 822107.292 0, 1098477.893 822113.08 0, 1098760.832 822118.885 0, 1099043.77 822124.706 0, 1099326.708 822130.544 0, 1099609.646 822136.398 0, 1099892.584 822142.269 0, 1100175.521 822148.157 0, 1100458.457 822154.062 0,
+ 1100741.394 822159.983 0, 1101024.33 822165.921 0, 1101307.265 822171.875 0, 1101590.201 822177.846 0, 1101871.783 822183.805 0, 1102156.07 822189.838 0, 1102439.004 822195.859 0, 1102721.938 822201.897 0, 1103004.872 822207.951 0, 1103287.805 822214.022 0,
+ 1103570.738 822220.11 0, 1103853.67 822226.214 0, 1104136.602 822232.335 0, 1104419.534 822238.473 0, 1104702.466 822244.627 0, 1104985.397 822250.798 0, 1105268.327 822256.985 0, 1105551.258 822263.19 0, 1105834.187 822269.411 0, 1106117.117 822275.648 0,
+ 1106400.046 822281.902 0, 1106682.975 822288.173 0, 1106965.903 822294.461 0, 1107248.832 822300.765 0, 1107531.759 822307.085 0, 1107814.687 822313.423 0, 1108097.614 822319.777 0, 1108380.54 822326.148 0, 1108662.115 822332.505 0, 1108788.118 816758.442 0,
+ 1108914.117 811184.593 0))
+
+POLYGON ((1122242.115 822658.678 0, 1121960.557 822651.526 0, 1121677.649 822644.356 0, 1121394.741 822637.203 0, 1121111.833 822630.066 0, 1120828.924 822622.946 0, 1120546.015 822615.842 0, 1120263.106 822608.756 0, 1119980.196 822601.685 0, 1119697.285 822594.632 0,
+ 1119414.375 822587.595 0, 1119131.463 822580.575 0, 1118848.552 822573.571 0, 1118565.64 822566.585 0, 1118282.727 822559.614 0, 1117999.814 822552.661 0, 1117716.901 822545.724 0, 1117433.987 822538.804 0, 1117151.073 822531.9 0, 1116868.159 822525.013 0,
+ 1116585.244 822518.143 0, 1116302.329 822511.289 0, 1116019.413 822504.452 0, 1115736.497 822497.632 0, 1115452.23 822490.796 0, 1115170.663 822484.041 0, 1114887.746 822477.271 0, 1114604.828 822470.517 0, 1114321.91 822463.78 0, 1114038.992 822457.059 0,
+ 1113756.073 822450.356 0, 1113473.154 822443.668 0, 1113190.234 822436.998 0, 1112907.314 822430.344 0, 1112624.393 822423.707 0, 1112341.473 822417.086 0, 1112058.551 822410.483 0, 1111775.63 822403.895 0, 1111492.708 822397.325 0, 1111209.785 822390.771 0,
+ 1110926.862 822384.234 0, 1110643.939 822377.713 0, 1110361.016 822371.209 0, 1110078.092 822364.722 0, 1109795.167 822358.251 0, 1109512.243 822351.797 0, 1109229.318 822345.36 0, 1108946.392 822338.939 0, 1108662.115 822332.505 0, 1108536.107 827906.778 0,
+ 1108410.094 833481.258 0, 1108693.712 833487.678 0, 1108975.981 833494.083 0, 1109258.25 833500.506 0, 1109540.518 833506.945 0, 1109822.786 833513.401 0, 1110105.054 833519.873 0, 1110387.322 833526.362 0, 1110669.589 833532.867 0, 1110951.855 833539.389 0,
+ 1111234.121 833545.928 0, 1111516.387 833552.483 0, 1111798.653 833559.055 0, 1112080.918 833565.644 0, 1112363.182 833572.249 0, 1112645.447 833578.871 0, 1112927.711 833585.509 0, 1113209.974 833592.164 0, 1113492.237 833598.836 0, 1113774.5 833605.524 0,
+ 1114056.762 833612.229 0, 1114339.024 833618.95 0, 1114621.286 833625.688 0, 1114903.547 833632.443 0, 1115184.46 833639.182 0, 1115468.068 833646.002 0, 1115750.328 833652.807 0, 1116032.587 833659.628 0, 1116314.846 833666.466 0, 1116597.105 833673.32 0,
+ 1116879.364 833680.191 0, 1117161.621 833687.079 0, 1117443.879 833693.983 0, 1117726.136 833700.904 0, 1118008.393 833707.841 0, 1118290.649 833714.795 0, 1118572.905 833721.766 0, 1118855.16 833728.753 0, 1119137.415 833735.757 0, 1119419.67 833742.777 0,
+ 1119701.924 833749.815 0, 1119984.178 833756.868 0, 1120266.432 833763.939 0, 1120548.685 833771.026 0, 1120830.937 833778.129 0, 1121113.189 833785.249 0, 1121395.441 833792.386 0, 1121677.692 833799.539 0, 1121958.597 833806.675 0, 1122100.358 828232.573 0,
+ 1122242.115 822658.678 0))
+
+POLYGON ((1135506.127 834170.368 0, 1135225.242 834162.439 0, 1134943.012 834154.488 0, 1134660.781 834146.554 0, 1134378.55 834138.636 0, 1134096.319 834130.735 0, 1133814.087 834122.851 0, 1133531.855 834114.983 0, 1133249.622 834107.132 0, 1132967.389 834099.298 0,
+ 1132685.155 834091.48 0, 1132402.921 834083.679 0, 1132120.686 834075.894 0, 1131838.451 834068.126 0, 1131556.216 834060.374 0, 1131273.98 834052.64 0, 1130991.743 834044.921 0, 1130709.506 834037.22 0, 1130427.269 834029.535 0, 1130145.031 834021.866 0,
+ 1129862.793 834014.215 0, 1129580.554 834006.579 0, 1129298.315 833998.961 0, 1129016.076 833991.359 0, 1128732.491 833983.737 0, 1128451.595 833976.205 0, 1128169.354 833968.653 0, 1127887.113 833961.117 0, 1127604.871 833953.598 0, 1127322.629 833946.096 0,
+ 1127040.386 833938.61 0, 1126758.143 833931.141 0, 1126475.899 833923.689 0, 1126193.655 833916.253 0, 1125911.411 833908.834 0, 1125629.166 833901.431 0, 1125346.921 833894.045 0, 1125064.675 833886.676 0, 1124782.429 833879.323 0, 1124500.182 833871.987 0,
+ 1124217.935 833864.668 0, 1123935.688 833857.365 0, 1123653.44 833850.078 0, 1123371.191 833842.809 0, 1123088.943 833835.556 0, 1122806.693 833828.319 0, 1122524.444 833821.099 0, 1122242.194 833813.896 0, 1121958.597 833806.675 0, 1121816.831 839380.98 0,
+ 1121675.059 844955.485 0, 1121957.996 844962.689 0, 1122239.59 844969.875 0, 1122521.183 844977.079 0, 1122802.776 844984.298 0, 1123084.369 844991.534 0, 1123365.961 844998.787 0, 1123647.553 845006.057 0, 1123929.144 845013.342 0, 1124210.735 845020.645 0,
+ 1124492.326 845027.964 0, 1124773.916 845035.3 0, 1125055.505 845042.652 0, 1125337.094 845050.021 0, 1125618.683 845057.406 0, 1125900.271 845064.808 0, 1126181.859 845072.227 0, 1126463.446 845079.662 0, 1126745.033 845087.113 0, 1127026.62 845094.582 0,
+ 1127308.206 845102.066 0, 1127589.792 845109.568 0, 1127871.377 845117.086 0, 1128152.962 845124.62 0, 1128433.204 845132.135 0, 1128716.13 845139.739 0, 1128997.713 845147.323 0, 1129279.296 845154.924 0, 1129560.879 845162.542 0, 1129842.461 845170.176 0,
+ 1130124.042 845177.826 0, 1130405.623 845185.493 0, 1130687.204 845193.177 0, 1130968.784 845200.877 0, 1131250.364 845208.594 0, 1131531.944 845216.328 0, 1131813.523 845224.078 0, 1132095.101 845231.844 0, 1132376.679 845239.627 0, 1132658.257 845247.427 0,
+ 1132939.834 845255.243 0, 1133221.41 845263.076 0, 1133502.986 845270.926 0, 1133784.562 845278.792 0, 1134066.137 845286.674 0, 1134347.712 845294.573 0, 1134629.286 845302.489 0, 1134910.86 845310.421 0, 1135191.093 845318.332 0, 1135348.613 839744.251 0,
+ 1135506.127 834170.368 0))
+
+POLYGON ((1148706.047 845719.364 0, 1148425.836 845710.661 0, 1148144.286 845701.933 0, 1147862.735 845693.222 0, 1147581.184 845684.527 0, 1147299.632 845675.849 0, 1147018.08 845667.188 0, 1146736.527 845658.543 0, 1146454.973 845649.915 0, 1146173.42 845641.303 0,
+ 1145891.865 845632.708 0, 1145610.31 845624.129 0, 1145328.755 845615.567 0, 1145047.199 845607.021 0, 1144765.643 845598.493 0, 1144484.086 845589.98 0, 1144202.528 845581.484 0, 1143920.97 845573.005 0, 1143639.412 845564.543 0, 1143357.853 845556.097 0,
+ 1143076.294 845547.667 0, 1142794.734 845539.254 0, 1142513.174 845530.858 0, 1142231.613 845522.478 0, 1141948.712 845514.075 0, 1141668.489 845505.768 0, 1141386.927 845497.438 0, 1141105.364 845489.125 0, 1140823.801 845480.828 0, 1140542.237 845472.548 0,
+ 1140260.673 845464.284 0, 1139979.108 845456.037 0, 1139697.543 845447.806 0, 1139415.977 845439.592 0, 1139134.411 845431.395 0, 1138852.844 845423.214 0, 1138571.277 845415.049 0, 1138289.709 845406.902 0, 1138008.141 845398.77 0, 1137726.573 845390.656 0,
+ 1137445.003 845382.558 0, 1137163.434 845374.476 0, 1136881.864 845366.411 0, 1136600.293 845358.363 0, 1136318.722 845350.331 0, 1136037.151 845342.316 0, 1135755.579 845334.318 0, 1135474.006 845326.336 0, 1135191.093 845318.332 0, 1135033.567 850892.61 0,
+ 1134876.036 856467.079 0, 1135158.29 856475.064 0, 1135439.207 856483.027 0, 1135720.122 856491.007 0, 1136001.038 856499.004 0, 1136281.953 856507.017 0, 1136562.867 856515.046 0, 1136843.781 856523.092 0, 1137124.694 856531.155 0, 1137405.607 856539.234 0,
+ 1137686.52 856547.33 0, 1137967.432 856555.442 0, 1138248.343 856563.571 0, 1138529.254 856571.716 0, 1138810.165 856579.878 0, 1139091.075 856588.056 0, 1139371.984 856596.251 0, 1139652.893 856604.463 0, 1139933.802 856612.691 0, 1140214.71 856620.935 0,
+ 1140495.618 856629.196 0, 1140776.525 856637.474 0, 1141057.431 856645.768 0, 1141338.338 856654.078 0, 1141617.907 856662.366 0, 1141900.149 856670.749 0, 1142181.053 856679.11 0, 1142461.957 856687.486 0, 1142742.861 856695.88 0, 1143023.764 856704.289 0,
+ 1143304.667 856712.716 0, 1143585.569 856721.159 0, 1143866.471 856729.618 0, 1144147.372 856738.094 0, 1144428.273 856746.587 0, 1144709.173 856755.096 0, 1144990.073 856763.621 0, 1145270.972 856772.163 0, 1145551.871 856780.722 0, 1145832.769 856789.297 0,
+ 1146113.667 856797.889 0, 1146394.564 856806.497 0, 1146675.461 856815.122 0, 1146956.357 856823.763 0, 1147237.253 856832.421 0, 1147518.148 856841.095 0, 1147799.042 856849.786 0, 1148079.937 856858.494 0, 1148359.495 856867.176 0, 1148532.774 851293.174 0,
+ 1148706.047 845719.364 0))
+
+POLYGON ((1161841.77 857305.364 0, 1161562.235 857295.892 0, 1161281.366 857286.391 0, 1161000.497 857276.907 0, 1160719.628 857267.439 0, 1160438.758 857257.987 0, 1160157.887 857248.552 0, 1159877.016 857239.134 0, 1159596.144 857229.732 0, 1159315.272 857220.347 0,
+ 1159034.399 857210.978 0, 1158753.525 857201.626 0, 1158472.651 857192.291 0, 1158191.777 857182.971 0, 1157910.902 857173.669 0, 1157630.026 857164.383 0, 1157349.15 857155.113 0, 1157068.273 857145.86 0, 1156787.396 857136.624 0, 1156506.518 857127.404 0,
+ 1156225.64 857118.2 0, 1155944.761 857109.014 0, 1155663.882 857099.843 0, 1155383.002 857090.689 0, 1155100.787 857081.509 0, 1154821.24 857072.431 0, 1154540.359 857063.327 0, 1154259.476 857054.24 0, 1153978.594 857045.168 0, 1153697.711 857036.114 0,
+ 1153416.827 857027.076 0, 1153135.943 857018.054 0, 1152855.058 857009.049 0, 1152574.173 857000.061 0, 1152293.287 856991.089 0, 1152012.4 856982.133 0, 1151731.514 856973.195 0, 1151450.626 856964.272 0, 1151169.738 856955.366 0, 1150888.85 856946.477 0,
+ 1150607.961 856937.604 0, 1150327.071 856928.748 0, 1150046.181 856919.908 0, 1149765.291 856911.085 0, 1149484.4 856902.279 0, 1149203.508 856893.489 0, 1148922.616 856884.715 0, 1148641.723 856875.958 0, 1148359.495 856867.176 0, 1148186.21 862441.366 0,
+ 1148012.919 868015.741 0, 1148294.488 868024.503 0, 1148574.725 868033.239 0, 1148854.961 868041.992 0, 1149135.196 868050.762 0, 1149415.431 868059.548 0, 1149695.665 868068.35 0, 1149975.899 868077.169 0, 1150256.132 868086.005 0, 1150536.365 868094.857 0,
+ 1150816.597 868103.726 0, 1151096.829 868112.611 0, 1151377.06 868121.512 0, 1151657.291 868130.43 0, 1151937.521 868139.365 0, 1152217.751 868148.316 0, 1152497.98 868157.283 0, 1152778.209 868166.267 0, 1153058.437 868175.267 0, 1153338.664 868184.284 0,
+ 1153618.891 868193.318 0, 1153899.118 868202.368 0, 1154179.344 868211.434 0, 1154459.569 868220.517 0, 1154738.463 868229.573 0, 1155020.018 868238.733 0, 1155300.242 868247.865 0, 1155580.466 868257.014 0, 1155860.688 868266.179 0, 1156140.91 868275.361 0,
+ 1156421.132 868284.56 0, 1156701.353 868293.774 0, 1156981.574 868303.006 0, 1157261.794 868312.254 0, 1157542.013 868321.518 0, 1157822.232 868330.799 0, 1158102.451 868340.096 0, 1158382.668 868349.41 0, 1158662.886 868358.74 0, 1158943.102 868368.087 0,
+ 1159223.319 868377.451 0, 1159503.534 868386.83 0, 1159783.749 868396.227 0, 1160063.964 868405.64 0, 1160344.178 868415.069 0, 1160624.391 868424.515 0, 1160904.604 868433.977 0, 1161184.816 868443.456 0, 1161463.698 868452.906 0, 1161652.737 862879.043 0,
+ 1161841.77 857305.364 0))
+
+POLYGON ((1174913.189 868928.07 0, 1174634.333 868917.831 0, 1174354.148 868907.561 0, 1174073.963 868897.307 0, 1173793.778 868887.07 0, 1173513.591 868876.849 0, 1173233.405 868866.644 0, 1172953.217 868856.457 0, 1172673.029 868846.285 0, 1172392.841 868836.13 0,
+ 1172112.651 868825.992 0, 1171832.462 868815.87 0, 1171552.271 868805.764 0, 1171272.08 868795.675 0, 1170991.889 868785.603 0, 1170711.696 868775.547 0, 1170431.504 868765.507 0, 1170151.31 868755.484 0, 1169871.116 868745.478 0, 1169590.922 868735.488 0,
+ 1169310.727 868725.514 0, 1169030.531 868715.557 0, 1168750.335 868705.617 0, 1168470.138 868695.693 0, 1168188.611 868685.738 0, 1167909.742 868675.894 0, 1167629.543 868666.019 0, 1167349.344 868656.161 0, 1167069.144 868646.32 0, 1166788.944 868636.494 0,
+ 1166508.743 868626.686 0, 1166228.542 868616.894 0, 1165948.339 868607.118 0, 1165668.137 868597.359 0, 1165387.934 868587.616 0, 1165107.73 868577.89 0, 1164827.525 868568.18 0, 1164547.32 868558.487 0, 1164267.115 868548.811 0, 1163986.909 868539.15 0,
+ 1163706.702 868529.507 0, 1163426.495 868519.88 0, 1163146.287 868510.269 0, 1162866.079 868500.675 0, 1162585.87 868491.097 0, 1162305.66 868481.536 0, 1162025.45 868471.991 0, 1161745.239 868462.463 0, 1161463.698 868452.906 0, 1161274.653 874026.949 0,
+ 1161085.603 879601.17 0, 1161366.484 879610.704 0, 1161646.039 879620.21 0, 1161925.593 879629.733 0, 1162205.146 879639.272 0, 1162484.699 879648.827 0, 1162764.251 879658.399 0, 1163043.803 879667.987 0, 1163323.354 879677.591 0, 1163602.904 879687.213 0,
+ 1163882.454 879696.85 0, 1164162.004 879706.504 0, 1164441.553 879716.175 0, 1164721.101 879725.862 0, 1165000.648 879735.565 0, 1165280.196 879745.285 0, 1165559.742 879755.021 0, 1165839.288 879764.774 0, 1166118.833 879774.543 0, 1166398.378 879784.329 0,
+ 1166677.923 879794.131 0, 1166957.466 879803.949 0, 1167237.009 879813.784 0, 1167516.552 879823.636 0, 1167794.768 879833.457 0, 1168075.635 879843.388 0, 1168355.176 879853.289 0, 1168634.716 879863.206 0, 1168914.256 879873.14 0, 1169193.795 879883.09 0,
+ 1169473.333 879893.057 0, 1169752.871 879903.04 0, 1170032.408 879913.039 0, 1170311.945 879923.055 0, 1170591.481 879933.088 0, 1170871.016 879943.137 0, 1171150.551 879953.202 0, 1171430.085 879963.284 0, 1171709.619 879973.382 0, 1171989.152 879983.497 0,
+ 1172268.685 879993.628 0, 1172548.217 880003.776 0, 1172827.748 880013.94 0, 1173107.279 880024.12 0, 1173386.809 880034.317 0, 1173666.338 880044.531 0, 1173945.867 880054.761 0, 1174225.396 880065.007 0, 1174503.599 880075.221 0, 1174708.397 874501.557 0,
+ 1174913.189 868928.07 0))
+
+POLYGON ((1187920.202 880587.179 0, 1187642.027 880576.178 0, 1187362.528 880565.142 0, 1187083.03 880554.123 0, 1186803.53 880543.12 0, 1186524.03 880532.133 0, 1186244.529 880521.163 0, 1185965.027 880510.209 0, 1185685.525 880499.272 0, 1185406.023 880488.351 0,
+ 1185126.519 880477.447 0, 1184847.015 880466.559 0, 1184567.51 880455.687 0, 1184288.005 880444.832 0, 1184008.499 880433.993 0, 1183728.993 880423.171 0, 1183449.485 880412.366 0, 1183169.977 880401.576 0, 1182890.469 880390.804 0, 1182610.96 880380.047 0,
+ 1182331.45 880369.307 0, 1182051.94 880358.584 0, 1181772.429 880347.877 0, 1181492.917 880337.186 0, 1181212.081 880326.462 0, 1180933.892 880315.855 0, 1180654.378 880305.213 0, 1180374.864 880294.589 0, 1180095.349 880283.98 0, 1179815.834 880273.389 0,
+ 1179536.318 880262.813 0, 1179256.801 880252.254 0, 1178977.284 880241.712 0, 1178697.766 880231.186 0, 1178418.247 880220.676 0, 1178138.728 880210.183 0, 1177859.208 880199.706 0, 1177579.688 880189.246 0, 1177300.167 880178.802 0, 1177020.645 880168.375 0,
+ 1176741.123 880157.964 0, 1176461.6 880147.57 0, 1176182.077 880137.192 0, 1175902.553 880126.83 0, 1175623.028 880116.485 0, 1175343.503 880106.157 0, 1175063.977 880095.845 0, 1174784.45 880085.549 0, 1174503.599 880075.221 0, 1174298.794 885649.058 0,
+ 1174093.983 891223.065 0, 1174374.176 891233.368 0, 1174653.046 891243.64 0, 1174931.916 891253.928 0, 1175210.785 891264.232 0, 1175489.653 891274.553 0, 1175768.521 891284.89 0, 1176047.389 891295.244 0, 1176326.255 891305.614 0, 1176605.121 891316 0,
+ 1176883.987 891326.403 0, 1177162.852 891336.822 0, 1177441.716 891347.258 0, 1177720.58 891357.71 0, 1177999.443 891368.178 0, 1178278.305 891378.663 0, 1178557.167 891389.165 0, 1178836.028 891399.682 0, 1179114.889 891410.216 0, 1179393.749 891420.767 0,
+ 1179672.608 891431.334 0, 1179951.467 891441.917 0, 1180230.325 891452.517 0, 1180509.182 891463.133 0, 1180786.719 891473.716 0, 1181066.895 891484.415 0, 1181345.751 891495.08 0, 1181624.606 891505.762 0, 1181903.46 891516.461 0, 1182182.314 891527.175 0,
+ 1182461.167 891537.906 0, 1182740.019 891548.654 0, 1183018.871 891559.418 0, 1183297.722 891570.198 0, 1183576.573 891580.995 0, 1183855.422 891591.808 0, 1184134.272 891602.638 0, 1184413.12 891613.484 0, 1184691.968 891624.346 0, 1184970.816 891635.225 0,
+ 1185249.662 891646.12 0, 1185528.508 891657.032 0, 1185807.354 891667.96 0, 1186086.198 891678.904 0, 1186365.043 891689.865 0, 1186643.886 891700.842 0, 1186922.729 891711.836 0, 1187201.571 891722.846 0, 1187479.093 891733.82 0, 1187699.651 886160.415 0,
+ 1187920.202 880587.179 0))
+
+POLYGON ((1200862.707 892282.389 0, 1200585.215 892270.631 0, 1200306.405 892258.833 0, 1200027.594 892247.052 0, 1199748.783 892235.287 0, 1199469.971 892223.538 0, 1199191.158 892211.806 0, 1198912.345 892200.09 0, 1198633.531 892188.391 0, 1198354.716 892176.708 0,
+ 1198075.9 892165.041 0, 1197797.084 892153.391 0, 1197518.267 892141.757 0, 1197239.45 892130.14 0, 1196960.632 892118.539 0, 1196681.813 892106.955 0, 1196402.993 892095.387 0, 1196124.173 892083.835 0, 1195845.352 892072.3 0, 1195566.53 892060.781 0,
+ 1195287.708 892049.278 0, 1195008.885 892037.792 0, 1194730.061 892026.323 0, 1194451.237 892014.869 0, 1194171.094 892003.379 0, 1193893.586 891992.012 0, 1193614.76 891980.608 0, 1193335.933 891969.221 0, 1193057.105 891957.849 0, 1192778.277 891946.495 0,
+ 1192499.448 891935.156 0, 1192220.618 891923.834 0, 1191941.788 891912.529 0, 1191662.957 891901.24 0, 1191384.125 891889.967 0, 1191105.293 891878.711 0, 1190826.46 891867.471 0, 1190547.626 891856.247 0, 1190268.792 891845.04 0, 1189989.957 891833.85 0,
+ 1189711.121 891822.676 0, 1189432.285 891811.518 0, 1189153.448 891800.376 0, 1188874.61 891789.251 0, 1188595.772 891778.143 0, 1188316.933 891767.051 0, 1188038.094 891755.975 0, 1187759.253 891744.915 0, 1187479.093 891733.82 0, 1187258.529 897307.391 0,
+ 1187037.959 902881.124 0, 1187317.459 902892.193 0, 1187595.644 902903.226 0, 1187873.827 902914.276 0, 1188152.01 902925.342 0, 1188430.192 902936.424 0, 1188708.374 902947.523 0, 1188986.554 902958.638 0, 1189264.735 902969.77 0, 1189542.914 902980.918 0,
+ 1189821.093 902992.082 0, 1190099.271 903003.263 0, 1190377.449 903014.46 0, 1190655.626 903025.673 0, 1190933.802 903036.903 0, 1191211.978 903048.149 0, 1191490.153 903059.412 0, 1191768.327 903070.691 0, 1192046.5 903081.986 0, 1192324.673 903093.298 0,
+ 1192602.846 903104.626 0, 1192881.017 903115.97 0, 1193159.188 903127.331 0, 1193437.358 903138.708 0, 1193714.213 903150.048 0, 1193993.697 903161.511 0, 1194271.865 903172.938 0, 1194550.033 903184.38 0, 1194828.2 903195.839 0, 1195106.366 903207.315 0,
+ 1195384.532 903218.806 0, 1195662.696 903230.315 0, 1195940.861 903241.839 0, 1196219.024 903253.38 0, 1196497.187 903264.937 0, 1196775.349 903276.511 0, 1197053.511 903288.101 0, 1197331.671 903299.707 0, 1197609.832 903311.33 0, 1197887.991 903322.969 0,
+ 1198166.15 903334.624 0, 1198444.308 903346.296 0, 1198722.465 903357.985 0, 1199000.622 903369.689 0, 1199278.778 903381.41 0, 1199556.933 903393.147 0, 1199835.088 903404.901 0, 1200113.242 903416.671 0, 1200390.081 903428.402 0, 1200626.398 897855.315 0,
+ 1200862.707 892282.389 0))
+
+POLYGON ((1213740.604 904013.4 0, 1213463.797 904000.887 0, 1213185.677 903988.331 0, 1212907.557 903975.792 0, 1212629.436 903963.269 0, 1212351.314 903950.762 0, 1212073.192 903938.272 0, 1211795.068 903925.798 0, 1211516.944 903913.34 0, 1211238.82 903900.899 0,
+ 1210960.694 903888.474 0, 1210682.568 903876.065 0, 1210404.441 903863.673 0, 1210126.314 903851.297 0, 1209848.185 903838.938 0, 1209570.056 903826.595 0, 1209291.926 903814.268 0, 1209013.796 903801.958 0, 1208735.665 903789.664 0, 1208457.533 903777.386 0,
+ 1208179.4 903765.125 0, 1207901.266 903752.88 0, 1207623.132 903740.652 0, 1207344.997 903728.44 0, 1207065.549 903716.186 0, 1206788.726 903704.065 0, 1206510.589 903691.902 0, 1206232.451 903679.755 0, 1205954.312 903667.625 0, 1205676.173 903655.511 0,
+ 1205398.033 903643.413 0, 1205119.893 903631.332 0, 1204841.751 903619.267 0, 1204563.609 903607.219 0, 1204285.467 903595.187 0, 1204007.323 903583.171 0, 1203729.179 903571.172 0, 1203451.034 903559.189 0, 1203172.889 903547.223 0, 1202894.743 903535.272 0,
+ 1202616.596 903523.339 0, 1202338.448 903511.421 0, 1202060.3 903499.52 0, 1201782.151 903487.636 0, 1201504.001 903475.767 0, 1201225.85 903463.915 0, 1200947.699 903452.08 0, 1200669.547 903440.261 0, 1200390.081 903428.402 0, 1200153.758 909001.647 0,
+ 1199917.428 914575.045 0, 1200196.235 914586.876 0, 1200473.731 914598.667 0, 1200751.226 914610.475 0, 1201028.721 914622.299 0, 1201306.214 914634.139 0, 1201583.707 914645.996 0, 1201861.2 914657.869 0, 1202138.691 914669.758 0, 1202416.182 914681.664 0,
+ 1202693.672 914693.585 0, 1202971.162 914705.524 0, 1203248.65 914717.478 0, 1203526.139 914729.449 0, 1203803.626 914741.437 0, 1204081.113 914753.44 0, 1204358.599 914765.46 0, 1204636.084 914777.497 0, 1204913.568 914789.549 0, 1205191.052 914801.618 0,
+ 1205468.535 914813.704 0, 1205746.018 914825.805 0, 1206023.499 914837.923 0, 1206300.98 914850.057 0, 1206577.151 914862.151 0, 1206855.94 914874.375 0, 1207133.419 914886.558 0, 1207410.897 914898.758 0, 1207688.375 914910.974 0, 1207965.851 914923.206 0,
+ 1208243.327 914935.455 0, 1208520.802 914947.72 0, 1208798.277 914960.001 0, 1209075.751 914972.299 0, 1209353.224 914984.613 0, 1209630.696 914996.943 0, 1209908.168 915009.29 0, 1210185.639 915021.653 0, 1210463.109 915034.032 0, 1210740.578 915046.427 0,
+ 1211018.047 915058.839 0, 1211295.515 915071.268 0, 1211572.982 915083.712 0, 1211850.449 915096.173 0, 1212127.914 915108.65 0, 1212405.38 915121.144 0, 1212682.844 915133.654 0, 1212960.307 915146.18 0, 1213236.462 915158.664 0, 1213488.536 909585.955 0,
+ 1213740.604 904013.4 0))
+
+POLYGON ((1226553.794 915779.908 0, 1226277.673 915766.645 0, 1226000.246 915753.335 0, 1225722.818 915740.041 0, 1225445.39 915726.763 0, 1225167.96 915713.502 0, 1224890.53 915700.258 0, 1224613.099 915687.029 0, 1224335.667 915673.817 0, 1224058.235 915660.621 0,
+ 1223780.802 915647.442 0, 1223503.367 915634.279 0, 1223225.933 915621.132 0, 1222948.497 915608.001 0, 1222671.061 915594.887 0, 1222393.623 915581.789 0, 1222116.185 915568.708 0, 1221838.747 915555.643 0, 1221561.307 915542.594 0, 1221283.867 915529.562 0,
+ 1221006.426 915516.545 0, 1220728.984 915503.546 0, 1220451.542 915490.562 0, 1220174.098 915477.595 0, 1219895.347 915464.583 0, 1219619.209 915451.709 0, 1219341.764 915438.791 0, 1219064.318 915425.889 0, 1218786.87 915413.004 0, 1218509.423 915400.135 0,
+ 1218231.974 915387.282 0, 1217954.525 915374.445 0, 1217677.074 915361.625 0, 1217399.623 915348.821 0, 1217122.172 915336.034 0, 1216844.719 915323.262 0, 1216567.266 915310.508 0, 1216289.812 915297.769 0, 1216012.358 915285.047 0, 1215734.902 915272.341 0,
+ 1215457.446 915259.651 0, 1215179.989 915246.978 0, 1214902.532 915234.321 0, 1214625.073 915221.681 0, 1214347.614 915209.056 0, 1214070.154 915196.448 0, 1213792.694 915183.857 0, 1213515.232 915171.282 0, 1213236.462 915158.664 0, 1212984.38 920731.522 0,
+ 1212732.292 926304.526 0, 1213010.404 926317.115 0, 1213287.209 926329.66 0, 1213564.014 926342.222 0, 1213840.818 926354.8 0, 1214117.621 926367.394 0, 1214394.423 926380.005 0, 1214671.225 926392.632 0, 1214948.026 926405.275 0, 1215224.826 926417.935 0,
+ 1215501.625 926430.611 0, 1215778.424 926443.303 0, 1216055.222 926456.011 0, 1216332.019 926468.736 0, 1216608.815 926481.477 0, 1216885.611 926494.234 0, 1217162.406 926507.008 0, 1217439.2 926519.798 0, 1217715.993 926532.604 0, 1217992.786 926545.427 0,
+ 1218269.578 926558.265 0, 1218546.369 926571.12 0, 1218823.159 926583.992 0, 1219099.949 926596.879 0, 1219375.434 926609.722 0, 1219653.526 926622.704 0, 1219930.313 926635.64 0, 1220207.1 926648.593 0, 1220483.886 926661.562 0, 1220760.671 926674.547 0,
+ 1221037.455 926687.549 0, 1221314.238 926700.567 0, 1221591.021 926713.601 0, 1221867.803 926726.652 0, 1222144.584 926739.719 0, 1222421.365 926752.802 0, 1222698.144 926765.901 0, 1222974.923 926779.017 0, 1223251.701 926792.149 0, 1223528.479 926805.297 0,
+ 1223805.255 926818.462 0, 1224082.031 926831.643 0, 1224358.806 926844.84 0, 1224635.58 926858.053 0, 1224912.354 926871.283 0, 1225189.127 926884.529 0, 1225465.899 926897.791 0, 1225742.67 926911.07 0, 1226018.137 926924.302 0, 1226285.969 921352.032 0,
+ 1226553.794 915779.908 0))
+
+POLYGON ((1239302.178 927581.611 0, 1239026.747 927567.6 0, 1238750.014 927553.54 0, 1238473.281 927539.495 0, 1238196.547 927525.468 0, 1237919.812 927511.456 0, 1237643.076 927497.461 0, 1237366.339 927483.482 0, 1237089.602 927469.519 0, 1236812.863 927455.572 0,
+ 1236536.124 927441.642 0, 1236259.384 927427.728 0, 1235982.644 927413.831 0, 1235705.902 927399.949 0, 1235429.16 927386.084 0, 1235152.417 927372.235 0, 1234875.673 927358.403 0, 1234598.928 927344.587 0, 1234322.182 927330.787 0, 1234045.436 927317.003 0,
+ 1233768.688 927303.236 0, 1233491.94 927289.485 0, 1233215.191 927275.75 0, 1232938.442 927262.032 0, 1232660.389 927248.265 0, 1232384.94 927234.644 0, 1232108.188 927220.974 0, 1231831.435 927207.321 0, 1231554.681 927193.684 0, 1231277.927 927180.063 0,
+ 1231001.171 927166.459 0, 1230724.415 927152.871 0, 1230447.658 927139.299 0, 1230170.901 927125.743 0, 1229894.142 927112.204 0, 1229617.383 927098.681 0, 1229340.623 927085.175 0, 1229063.862 927071.684 0, 1228787.1 927058.21 0, 1228510.338 927044.752 0,
+ 1228233.575 927031.311 0, 1227956.81 927017.885 0, 1227680.046 927004.477 0, 1227403.28 926991.084 0, 1227126.514 926977.708 0, 1226849.746 926964.347 0, 1226572.978 926951.004 0, 1226296.21 926937.676 0, 1226018.137 926924.302 0, 1225750.298 932496.714 0,
+ 1225482.453 938069.264 0, 1225759.867 938082.607 0, 1226035.98 938095.902 0, 1226312.092 938109.215 0, 1226588.203 938122.543 0, 1226864.313 938135.888 0, 1227140.423 938149.249 0, 1227416.532 938162.626 0, 1227692.64 938176.019 0, 1227968.747 938189.429 0,
+ 1228244.854 938202.855 0, 1228520.959 938216.297 0, 1228797.064 938229.755 0, 1229073.169 938243.23 0, 1229349.272 938256.721 0, 1229625.374 938270.228 0, 1229901.476 938283.752 0, 1230177.577 938297.291 0, 1230453.677 938310.847 0, 1230729.777 938324.419 0,
+ 1231005.875 938338.008 0, 1231281.973 938351.612 0, 1231558.07 938365.233 0, 1231834.166 938378.87 0, 1232108.963 938392.46 0, 1232386.356 938406.194 0, 1232662.45 938419.879 0, 1232938.543 938433.582 0, 1233214.635 938447.3 0, 1233490.726 938461.035 0,
+ 1233766.817 938474.786 0, 1234042.907 938488.553 0, 1234318.996 938502.336 0, 1234595.084 938516.136 0, 1234871.171 938529.952 0, 1235147.257 938543.784 0, 1235423.343 938557.632 0, 1235699.428 938571.497 0, 1235975.512 938585.378 0, 1236251.595 938599.275 0,
+ 1236527.677 938613.189 0, 1236803.759 938627.118 0, 1237079.84 938641.064 0, 1237355.92 938655.026 0, 1237631.999 938669.005 0, 1237908.077 938683 0, 1238184.155 938697.01 0, 1238460.231 938711.038 0, 1238735.009 938725.015 0, 1239018.597 933153.244 0,
+ 1239302.178 927581.611 0))
+
+POLYGON ((1251985.66 939418.204 0, 1251710.92 939403.45 0, 1251434.884 939388.643 0, 1251158.848 939373.852 0, 1250882.81 939359.078 0, 1250606.772 939344.319 0, 1250330.732 939329.577 0, 1250054.692 939314.851 0, 1249778.651 939300.142 0, 1249502.609 939285.448 0,
+ 1249226.566 939270.771 0, 1248950.522 939256.11 0, 1248674.478 939241.466 0, 1248398.432 939226.837 0, 1248122.386 939212.225 0, 1247846.339 939197.629 0, 1247570.291 939183.05 0, 1247294.242 939168.486 0, 1247018.192 939153.939 0, 1246742.142 939139.408 0,
+ 1246466.09 939124.894 0, 1246190.038 939110.395 0, 1245913.985 939095.913 0, 1245637.931 939081.447 0, 1245360.58 939066.93 0, 1245085.82 939052.564 0, 1244809.764 939038.147 0, 1244533.706 939023.746 0, 1244257.648 939009.362 0, 1243981.589 938994.993 0,
+ 1243705.529 938980.641 0, 1243429.468 938966.305 0, 1243153.407 938951.986 0, 1242877.344 938937.682 0, 1242601.281 938923.395 0, 1242325.217 938909.124 0, 1242049.152 938894.87 0, 1241773.086 938880.631 0, 1241497.019 938866.409 0, 1241220.952 938852.203 0,
+ 1240944.884 938838.013 0, 1240668.814 938823.84 0, 1240392.744 938809.683 0, 1240116.674 938795.542 0, 1239840.602 938781.417 0, 1239564.529 938767.309 0, 1239288.456 938753.217 0, 1239012.382 938739.141 0, 1238735.009 938725.015 0, 1238451.415 944296.92 0,
+ 1238167.814 949868.956 0, 1238444.527 949883.048 0, 1238719.946 949897.091 0, 1238995.363 949911.149 0, 1239270.78 949925.224 0, 1239546.195 949939.315 0, 1239821.61 949953.423 0, 1240097.024 949967.546 0, 1240372.438 949981.686 0, 1240647.85 949995.842 0,
+ 1240923.262 950010.014 0, 1241198.673 950024.202 0, 1241474.082 950038.407 0, 1241749.492 950052.628 0, 1242024.9 950066.865 0, 1242300.307 950081.118 0, 1242575.714 950095.387 0, 1242851.12 950109.673 0, 1243126.524 950123.975 0, 1243401.928 950138.293 0,
+ 1243677.332 950152.627 0, 1243952.734 950166.978 0, 1244228.136 950181.344 0, 1244503.536 950195.727 0, 1244777.643 950210.059 0, 1245054.335 950224.542 0, 1245329.733 950238.973 0, 1245605.13 950253.421 0, 1245880.527 950267.885 0, 1246155.922 950282.365 0,
+ 1246431.317 950296.861 0, 1246706.711 950311.374 0, 1246982.104 950325.903 0, 1247257.496 950340.448 0, 1247532.888 950355.009 0, 1247808.278 950369.586 0, 1248083.668 950384.18 0, 1248359.056 950398.79 0, 1248634.444 950413.416 0, 1248909.831 950428.058 0,
+ 1249185.217 950442.716 0, 1249460.603 950457.391 0, 1249735.987 950472.082 0, 1250011.371 950486.789 0, 1250286.753 950501.512 0, 1250562.135 950516.252 0, 1250837.516 950531.007 0, 1251112.896 950545.779 0, 1251386.983 950560.498 0, 1251686.325 944989.286 0,
+ 1251985.66 939418.204 0))
+
+POLYGON ((1264604.146 951289.384 0, 1264330.1 951273.89 0, 1264054.762 951258.341 0, 1263779.424 951242.807 0, 1263504.085 951227.29 0, 1263228.745 951211.788 0, 1262953.404 951196.303 0, 1262678.062 951180.835 0, 1262402.72 951165.382 0, 1262127.376 951149.945 0,
+ 1261852.031 951134.525 0, 1261576.686 951119.121 0, 1261301.34 951103.734 0, 1261025.992 951088.362 0, 1260750.644 951073.007 0, 1260475.295 951057.667 0, 1260199.945 951042.344 0, 1259924.594 951027.038 0, 1259649.243 951011.747 0, 1259373.89 950996.473 0,
+ 1259098.536 950981.215 0, 1258823.182 950965.973 0, 1258547.826 950950.747 0, 1258272.47 950935.538 0, 1257995.822 950920.273 0, 1257721.755 950905.167 0, 1257446.396 950890.006 0, 1257171.036 950874.862 0, 1256895.675 950859.733 0, 1256620.314 950844.621 0,
+ 1256344.951 950829.525 0, 1256069.588 950814.445 0, 1255794.224 950799.381 0, 1255518.859 950784.334 0, 1255243.492 950769.303 0, 1254968.126 950754.288 0, 1254692.758 950739.289 0, 1254417.389 950724.306 0, 1254142.019 950709.34 0, 1253866.649 950694.39 0,
+ 1253591.278 950679.456 0, 1253315.905 950664.538 0, 1253040.532 950649.636 0, 1252765.158 950634.751 0, 1252489.784 950619.882 0, 1252214.408 950605.029 0, 1251939.031 950590.192 0, 1251663.654 950575.372 0, 1251386.983 950560.498 0, 1251087.634 956131.836 0,
+ 1250788.279 961703.297 0, 1251064.291 961718.135 0, 1251339.012 961732.92 0, 1251613.733 961747.722 0, 1251888.453 961762.539 0, 1252163.172 961777.373 0, 1252437.89 961792.223 0, 1252712.607 961807.089 0, 1252987.324 961821.971 0, 1253262.039 961836.87 0,
+ 1253536.754 961851.784 0, 1253811.468 961866.715 0, 1254086.181 961881.662 0, 1254360.893 961896.625 0, 1254635.604 961911.604 0, 1254910.314 961926.6 0, 1255185.023 961941.611 0, 1255459.732 961956.639 0, 1255734.439 961971.683 0, 1256009.146 961986.743 0,
+ 1256283.852 962001.819 0, 1256558.557 962016.912 0, 1256833.261 962032.02 0, 1257107.964 962047.145 0, 1257381.378 962062.215 0, 1257657.368 962077.443 0, 1257932.068 962092.617 0, 1258206.768 962107.806 0, 1258481.466 962123.012 0, 1258756.164 962138.233 0,
+ 1259030.861 962153.471 0, 1259305.557 962168.726 0, 1259580.252 962183.996 0, 1259854.946 962199.282 0, 1260129.64 962214.585 0, 1260404.332 962229.904 0, 1260679.024 962245.239 0, 1260953.714 962260.59 0, 1261228.404 962275.957 0, 1261503.093 962291.341 0,
+ 1261777.78 962306.74 0, 1262052.467 962322.156 0, 1262327.153 962337.588 0, 1262601.839 962353.036 0, 1262876.523 962368.5 0, 1263151.206 962383.981 0, 1263425.889 962399.478 0, 1263700.57 962414.99 0, 1263973.964 962430.447 0, 1264289.058 956859.854 0,
+ 1264604.146 951289.384 0))
+
+POLYGON ((1277157.542 963194.845 0, 1276884.191 963178.617 0, 1276609.554 963162.328 0, 1276334.916 963146.055 0, 1276060.278 963129.799 0, 1275785.639 963113.559 0, 1275510.998 963097.335 0, 1275236.357 963081.127 0, 1274961.714 963064.935 0, 1274687.071 963048.759 0,
+ 1274412.427 963032.6 0, 1274137.782 963016.456 0, 1273863.136 963000.329 0, 1273588.489 962984.218 0, 1273313.841 962968.124 0, 1273039.192 962952.045 0, 1272764.542 962935.983 0, 1272489.891 962919.936 0, 1272215.239 962903.906 0, 1271940.586 962887.892 0,
+ 1271665.933 962871.894 0, 1271391.278 962855.913 0, 1271116.622 962839.947 0, 1270841.966 962823.998 0, 1270566.023 962807.99 0, 1270292.65 962792.148 0, 1270017.991 962776.247 0, 1269743.33 962760.362 0, 1269468.669 962744.494 0, 1269194.007 962728.642 0,
+ 1268919.344 962712.805 0, 1268644.68 962696.985 0, 1268370.015 962681.182 0, 1268095.349 962665.394 0, 1267820.683 962649.623 0, 1267546.015 962633.867 0, 1267271.346 962618.128 0, 1266996.677 962602.405 0, 1266722.006 962586.698 0, 1266447.335 962571.008 0,
+ 1266172.662 962555.333 0, 1265897.989 962539.675 0, 1265623.315 962524.033 0, 1265348.64 962508.407 0, 1265073.964 962492.797 0, 1264799.287 962477.203 0, 1264524.609 962461.626 0, 1264249.93 962446.064 0, 1263973.964 962430.447 0, 1263658.863 968001.157 0,
+ 1263343.755 973571.983 0, 1263619.063 973587.563 0, 1263893.086 973603.087 0, 1264167.108 973618.628 0, 1264441.129 973634.184 0, 1264715.149 973649.757 0, 1264989.169 973665.345 0, 1265263.187 973680.95 0, 1265537.204 973696.571 0, 1265811.221 973712.208 0,
+ 1266085.237 973727.861 0, 1266359.251 973743.531 0, 1266633.265 973759.216 0, 1266907.278 973774.918 0, 1267181.29 973790.635 0, 1267455.301 973806.369 0, 1267729.311 973822.119 0, 1268003.32 973837.885 0, 1268277.329 973853.667 0, 1268551.336 973869.466 0,
+ 1268825.342 973885.28 0, 1269099.348 973901.111 0, 1269373.352 973916.957 0, 1269647.356 973932.82 0, 1269920.076 973948.625 0, 1270195.36 973964.594 0, 1270469.361 973980.506 0, 1270743.361 973996.433 0, 1271017.36 974012.376 0, 1271291.358 974028.336 0,
+ 1271565.355 974044.312 0, 1271839.351 974060.304 0, 1272113.346 974076.312 0, 1272387.34 974092.336 0, 1272661.334 974108.376 0, 1272935.326 974124.432 0, 1273209.317 974140.505 0, 1273483.308 974156.593 0, 1273757.297 974172.698 0, 1274031.286 974188.819 0,
+ 1274305.274 974204.956 0, 1274579.26 974221.109 0, 1274853.246 974237.278 0, 1275127.231 974253.464 0, 1275401.214 974269.665 0, 1275675.197 974285.883 0, 1275949.179 974302.117 0, 1276223.16 974318.367 0, 1276495.859 974334.556 0, 1276826.704 968764.644 0,
+ 1277157.542 963194.845 0))
+
+POLYGON ((1289645.755 975134.284 0, 1289373.101 975117.324 0, 1289099.167 975100.3 0, 1288825.232 975083.292 0, 1288551.297 975066.301 0, 1288277.36 975049.325 0, 1288003.422 975032.366 0, 1287729.483 975015.423 0, 1287455.543 974998.496 0, 1287181.602 974981.585 0,
+ 1286907.66 974964.69 0, 1286633.717 974947.811 0, 1286359.773 974930.948 0, 1286085.828 974914.102 0, 1285811.883 974897.271 0, 1285537.936 974880.457 0, 1285263.988 974863.659 0, 1284990.039 974846.877 0, 1284716.089 974830.111 0, 1284442.138 974813.361 0,
+ 1284168.187 974796.628 0, 1283894.234 974779.91 0, 1283620.28 974763.209 0, 1283346.325 974746.524 0, 1283071.089 974729.777 0, 1282798.413 974713.201 0, 1282524.455 974696.565 0, 1282250.496 974679.944 0, 1281976.537 974663.339 0, 1281702.576 974646.751 0,
+ 1281428.615 974630.178 0, 1281154.652 974613.622 0, 1280880.688 974597.082 0, 1280606.724 974580.558 0, 1280332.758 974564.05 0, 1280058.792 974547.558 0, 1279784.825 974531.083 0, 1279510.856 974514.623 0, 1279236.887 974498.18 0, 1278962.916 974481.752 0,
+ 1278688.945 974465.341 0, 1278414.973 974448.946 0, 1278141 974432.567 0, 1277867.025 974416.205 0, 1277593.05 974399.858 0, 1277319.074 974383.527 0, 1277045.097 974367.213 0, 1276771.119 974350.915 0, 1276495.859 974334.556 0, 1276165.007 979904.579 0,
+ 1275834.149 985474.708 0, 1276108.751 985491.027 0, 1276382.073 985507.287 0, 1276655.395 985523.562 0, 1276928.715 985539.853 0, 1277202.035 985556.161 0, 1277475.353 985572.485 0, 1277748.671 985588.824 0, 1278021.987 985605.18 0, 1278295.303 985621.552 0,
+ 1278568.618 985637.94 0, 1278841.931 985654.344 0, 1279115.244 985670.764 0, 1279388.556 985687.2 0, 1279661.867 985703.653 0, 1279935.176 985720.121 0, 1280208.485 985736.605 0, 1280481.793 985753.106 0, 1280755.1 985769.623 0, 1281028.406 985786.155 0,
+ 1281301.711 985802.704 0, 1281575.015 985819.269 0, 1281848.318 985835.85 0, 1282121.62 985852.447 0, 1282393.644 985868.983 0, 1282668.221 985885.69 0, 1282941.52 985902.335 0, 1283214.819 985918.996 0, 1283488.116 985935.674 0, 1283761.412 985952.367 0,
+ 1284034.707 985969.077 0, 1284308.001 985985.803 0, 1284581.295 986002.545 0, 1284854.587 986019.303 0, 1285127.878 986036.077 0, 1285401.168 986052.867 0, 1285674.458 986069.673 0, 1285947.746 986086.495 0, 1286221.033 986103.334 0, 1286494.32 986120.188 0,
+ 1286767.605 986137.058 0, 1287040.889 986153.945 0, 1287314.172 986170.848 0, 1287587.455 986187.767 0, 1287860.736 986204.701 0, 1288134.016 986221.652 0, 1288407.296 986238.619 0, 1288680.574 986255.603 0, 1288952.575 986272.522 0, 1289299.169 980703.35 0,
+ 1289645.755 975134.284 0))
+
+POLYGON ((1302068.695 987107.395 0, 1301796.741 987089.707 0, 1301523.512 987071.952 0, 1301250.281 987054.213 0, 1300977.05 987036.49 0, 1300703.818 987018.783 0, 1300430.584 987001.092 0, 1300157.35 986983.417 0, 1299884.114 986965.759 0, 1299610.878 986948.116 0,
+ 1299337.64 986930.49 0, 1299064.401 986912.879 0, 1298791.162 986895.285 0, 1298517.921 986877.707 0, 1298244.679 986860.145 0, 1297971.436 986842.599 0, 1297698.193 986825.069 0, 1297424.948 986807.555 0, 1297151.702 986790.057 0, 1296878.455 986772.575 0,
+ 1296605.207 986755.11 0, 1296331.958 986737.66 0, 1296058.708 986720.227 0, 1295785.457 986702.809 0, 1295510.93 986685.327 0, 1295238.952 986668.023 0, 1294965.698 986650.654 0, 1294692.443 986633.301 0, 1294419.187 986615.964 0, 1294145.93 986598.643 0,
+ 1293872.671 986581.338 0, 1293599.412 986564.049 0, 1293326.152 986546.777 0, 1293052.891 986529.52 0, 1292779.629 986512.28 0, 1292506.365 986495.055 0, 1292233.101 986477.847 0, 1291959.836 986460.655 0, 1291686.57 986443.478 0, 1291413.302 986426.318 0,
+ 1291140.034 986409.174 0, 1290866.765 986392.047 0, 1290593.494 986374.935 0, 1290320.223 986357.839 0, 1290046.951 986340.759 0, 1289773.677 986323.696 0, 1289500.403 986306.648 0, 1289227.128 986289.617 0, 1288952.575 986272.522 0, 1288605.976 991841.797 0,
+ 1288259.37 997411.169 0, 1288533.264 997428.222 0, 1288805.884 997445.213 0, 1289078.503 997462.219 0, 1289351.12 997479.242 0, 1289623.737 997496.281 0, 1289896.353 997513.335 0, 1290168.967 997530.406 0, 1290441.581 997547.493 0, 1290714.194 997564.596 0,
+ 1290986.806 997581.715 0, 1291259.416 997598.85 0, 1291532.026 997616.001 0, 1291804.635 997633.168 0, 1292077.242 997650.351 0, 1292349.849 997667.55 0, 1292622.455 997684.765 0, 1292895.059 997701.996 0, 1293167.663 997719.243 0, 1293440.266 997736.507 0,
+ 1293712.867 997753.786 0, 1293985.468 997771.081 0, 1294258.067 997788.393 0, 1294530.666 997805.72 0, 1294801.991 997822.983 0, 1295075.86 997840.423 0, 1295348.455 997857.799 0, 1295621.05 997875.191 0, 1295893.643 997892.598 0, 1296166.236 997910.022 0,
+ 1296438.827 997927.462 0, 1296711.417 997944.918 0, 1296984.007 997962.389 0, 1297256.595 997979.877 0, 1297529.182 997997.381 0, 1297801.768 998014.901 0, 1298074.354 998032.437 0, 1298346.938 998049.989 0, 1298619.521 998067.558 0, 1298892.103 998085.142 0,
+ 1299164.684 998102.742 0, 1299437.264 998120.358 0, 1299709.843 998137.991 0, 1299982.421 998155.639 0, 1300254.998 998173.303 0, 1300527.574 998190.984 0, 1300800.149 998208.68 0, 1301072.722 998226.393 0, 1301344.024 998244.039 0, 1301706.363 992675.668 0,
+ 1302068.695 987107.395 0))
+
+POLYGON ((1314426.273 999113.872 0, 1314155.02 999095.459 0, 1313882.497 999076.977 0, 1313609.974 999058.51 0, 1313337.449 999040.06 0, 1313064.923 999021.625 0, 1312792.396 999003.207 0, 1312519.868 998984.805 0, 1312247.339 998966.418 0, 1311974.808 998948.048 0,
+ 1311702.277 998929.694 0, 1311429.745 998911.356 0, 1311157.211 998893.034 0, 1310884.677 998874.728 0, 1310612.141 998856.438 0, 1310339.604 998838.164 0, 1310067.066 998819.906 0, 1309794.528 998801.664 0, 1309521.988 998783.438 0, 1309249.447 998765.228 0,
+ 1308976.904 998747.034 0, 1308704.361 998728.857 0, 1308431.817 998710.695 0, 1308159.272 998692.549 0, 1307885.456 998674.335 0, 1307614.178 998656.306 0, 1307341.63 998638.208 0, 1307069.08 998620.127 0, 1306796.529 998602.062 0, 1306523.978 998584.012 0,
+ 1306251.425 998565.979 0, 1305978.871 998547.961 0, 1305706.316 998529.96 0, 1305433.76 998511.975 0, 1305161.203 998494.006 0, 1304888.645 998476.053 0, 1304616.086 998458.115 0, 1304343.526 998440.194 0, 1304070.965 998422.289 0, 1303798.403 998404.4 0,
+ 1303525.839 998386.527 0, 1303253.275 998368.67 0, 1302980.71 998350.83 0, 1302708.143 998333.005 0, 1302435.576 998315.196 0, 1302163.007 998297.403 0, 1301890.437 998279.627 0, 1301617.867 998261.866 0, 1301344.024 998244.039 0, 1300981.68 1003812.503 0,
+ 1300619.329 1009381.058 0, 1300892.513 1009398.842 0, 1301164.428 1009416.56 0, 1301436.342 1009434.294 0, 1301708.255 1009452.044 0, 1301980.167 1009469.81 0, 1302252.078 1009487.592 0, 1302523.988 1009505.39 0, 1302795.897 1009523.204 0, 1303067.805 1009541.034 0,
+ 1303339.711 1009558.88 0, 1303611.617 1009576.742 0, 1303883.522 1009594.62 0, 1304155.425 1009612.514 0, 1304427.328 1009630.424 0, 1304699.23 1009648.35 0, 1304971.13 1009666.292 0, 1305243.029 1009684.25 0, 1305514.928 1009702.224 0, 1305786.825 1009720.214 0,
+ 1306058.721 1009738.22 0, 1306330.616 1009756.242 0, 1306602.511 1009774.28 0, 1306874.404 1009792.334 0, 1307145.029 1009810.32 0, 1307418.186 1009828.49 0, 1307690.076 1009846.592 0, 1307961.965 1009864.71 0, 1308233.853 1009882.844 0, 1308505.74 1009900.994 0,
+ 1308777.625 1009919.16 0, 1309049.51 1009937.342 0, 1309321.393 1009955.54 0, 1309593.275 1009973.754 0, 1309865.157 1009991.984 0, 1310137.037 1010010.23 0, 1310408.916 1010028.492 0, 1310680.794 1010046.77 0, 1310952.671 1010065.064 0, 1311224.547 1010083.374 0,
+ 1311496.422 1010101.7 0, 1311768.296 1010120.043 0, 1312040.168 1010138.401 0, 1312312.04 1010156.775 0, 1312583.911 1010175.165 0, 1312855.78 1010193.571 0, 1313127.648 1010211.993 0, 1313399.516 1010230.431 0, 1313670.116 1010248.799 0, 1314048.198 1004681.29 0,
+ 1314426.273 999113.872 0))
+
+POLYGON ((1326718.4 1011153.408 0, 1326447.85 1011134.275 0, 1326176.036 1011115.069 0, 1325904.221 1011095.879 0, 1325632.405 1011076.705 0, 1325360.587 1011057.547 0, 1325088.769 1011038.405 0, 1324816.949 1011019.279 0, 1324545.128 1011000.168 0, 1324273.306 1010981.074 0,
+ 1324001.483 1010961.996 0, 1323729.659 1010942.934 0, 1323457.833 1010923.888 0, 1323186.007 1010904.858 0, 1322914.179 1010885.844 0, 1322642.351 1010866.846 0, 1322370.521 1010847.864 0, 1322098.69 1010828.898 0, 1321826.858 1010809.948 0, 1321555.025 1010791.014 0,
+ 1321283.19 1010772.095 0, 1321011.355 1010753.193 0, 1320739.518 1010734.307 0, 1320467.681 1010715.437 0, 1320194.578 1010696.495 0, 1319924.002 1010677.745 0, 1319652.161 1010658.923 0, 1319380.319 1010640.117 0, 1319108.476 1010621.327 0, 1318836.632 1010602.553 0,
+ 1318564.786 1010583.795 0, 1318292.94 1010565.052 0, 1318021.092 1010546.326 0, 1317749.244 1010527.616 0, 1317477.394 1010508.922 0, 1317205.543 1010490.244 0, 1316933.691 1010471.582 0, 1316661.838 1010452.936 0, 1316389.984 1010434.306 0, 1316118.128 1010415.692 0,
+ 1315846.272 1010397.094 0, 1315574.415 1010378.512 0, 1315302.556 1010359.945 0, 1315030.696 1010341.395 0, 1314758.836 1010322.861 0, 1314486.974 1010304.343 0, 1314215.111 1010285.841 0, 1313943.247 1010267.355 0, 1313670.116 1010248.799 0, 1313292.029 1015816.393 0,
+ 1312913.937 1021384.069 0, 1313186.408 1021402.581 0, 1313457.617 1021421.022 0, 1313728.825 1021439.48 0, 1314000.031 1021457.953 0, 1314271.236 1021476.442 0, 1314542.441 1021494.948 0, 1314813.644 1021513.469 0, 1315084.846 1021532.006 0, 1315356.047 1021550.56 0,
+ 1315627.247 1021569.129 0, 1315898.446 1021587.714 0, 1316169.643 1021606.315 0, 1316440.84 1021624.932 0, 1316712.035 1021643.565 0, 1316983.23 1021662.214 0, 1317254.423 1021680.879 0, 1317525.615 1021699.56 0, 1317796.807 1021718.257 0, 1318067.997 1021736.97 0,
+ 1318339.186 1021755.699 0, 1318610.373 1021774.444 0, 1318881.56 1021793.204 0, 1319152.746 1021811.981 0, 1319422.669 1021830.686 0, 1319695.114 1021849.582 0, 1319966.296 1021868.407 0, 1320237.477 1021887.248 0, 1320508.657 1021906.104 0, 1320779.836 1021924.977 0,
+ 1321051.014 1021943.865 0, 1321322.191 1021962.769 0, 1321593.366 1021981.69 0, 1321864.541 1022000.626 0, 1322135.714 1022019.578 0, 1322406.887 1022038.547 0, 1322678.058 1022057.531 0, 1322949.228 1022076.531 0, 1323220.397 1022095.547 0, 1323491.565 1022114.579 0,
+ 1323762.731 1022133.627 0, 1324033.897 1022152.691 0, 1324305.061 1022171.771 0, 1324576.225 1022190.867 0, 1324847.387 1022209.979 0, 1325118.548 1022229.107 0, 1325389.708 1022248.251 0, 1325660.867 1022267.411 0, 1325930.764 1022286.497 0, 1326324.585 1016719.912 0,
+ 1326718.4 1011153.408 0))
+
+POLYGON ((1338944.991 1023225.696 0, 1338675.146 1023205.847 0, 1338404.042 1023185.921 0, 1338132.937 1023166.012 0, 1337861.832 1023146.118 0, 1337590.724 1023126.24 0, 1337319.616 1023106.378 0, 1337048.507 1023086.532 0, 1336777.396 1023066.702 0, 1336506.284 1023046.888 0,
+ 1336235.171 1023027.09 0, 1335964.057 1023007.308 0, 1335692.942 1022987.541 0, 1335421.825 1022967.791 0, 1335150.708 1022948.057 0, 1334879.589 1022928.338 0, 1334608.469 1022908.636 0, 1334337.348 1022888.95 0, 1334066.226 1022869.279 0, 1333795.102 1022849.625 0,
+ 1333523.978 1022829.986 0, 1333252.852 1022810.364 0, 1332981.725 1022790.757 0, 1332710.597 1022771.166 0, 1332438.209 1022751.501 0, 1332168.338 1022732.033 0, 1331897.206 1022712.49 0, 1331626.074 1022692.963 0, 1331354.94 1022673.452 0, 1331083.805 1022653.957 0,
+ 1330812.669 1022634.479 0, 1330541.532 1022615.016 0, 1330270.393 1022595.569 0, 1329999.254 1022576.137 0, 1329728.113 1022556.722 0, 1329456.971 1022537.323 0, 1329185.828 1022517.94 0, 1328914.684 1022498.573 0, 1328643.539 1022479.221 0, 1328372.393 1022459.886 0,
+ 1328101.245 1022440.567 0, 1327830.096 1022421.263 0, 1327558.947 1022401.976 0, 1327287.796 1022382.704 0, 1327016.644 1022363.449 0, 1326745.491 1022344.209 0, 1326474.336 1022324.986 0, 1326203.181 1022305.778 0, 1325930.764 1022286.497 0, 1325536.938 1027853.16 0,
+ 1325143.106 1033419.896 0, 1325414.864 1033439.131 0, 1325685.365 1033458.292 0, 1325955.864 1033477.469 0, 1326226.362 1033496.662 0, 1326496.858 1033515.871 0, 1326767.354 1033535.096 0, 1327037.848 1033554.337 0, 1327308.342 1033573.594 0, 1327578.834 1033592.866 0,
+ 1327849.325 1033612.155 0, 1328119.815 1033631.459 0, 1328390.304 1033650.78 0, 1328660.792 1033670.116 0, 1328931.278 1033689.469 0, 1329201.764 1033708.837 0, 1329472.248 1033728.221 0, 1329742.731 1033747.621 0, 1330013.213 1033767.037 0, 1330283.694 1033786.469 0,
+ 1330554.173 1033805.917 0, 1330824.652 1033825.38 0, 1331095.129 1033844.86 0, 1331365.606 1033864.355 0, 1331634.825 1033883.776 0, 1331906.555 1033903.394 0, 1332177.028 1033922.938 0, 1332447.499 1033942.497 0, 1332717.97 1033962.072 0, 1332988.439 1033981.663 0,
+ 1333258.907 1034001.27 0, 1333529.374 1034020.893 0, 1333799.84 1034040.532 0, 1334070.305 1034060.187 0, 1334340.768 1034079.857 0, 1334611.231 1034099.544 0, 1334881.692 1034119.246 0, 1335152.152 1034138.965 0, 1335422.611 1034158.699 0, 1335693.069 1034178.449 0,
+ 1335963.526 1034198.216 0, 1336233.981 1034217.998 0, 1336504.435 1034237.796 0, 1336774.888 1034257.61 0, 1337045.34 1034277.44 0, 1337315.791 1034297.285 0, 1337586.241 1034317.147 0, 1337856.689 1034337.025 0, 1338125.882 1034356.826 0, 1338535.439 1028791.224 0,
+ 1338944.991 1023225.696 0))
+
+POLYGON ((1351105.959 1035330.43 0, 1350836.821 1035309.868 0, 1350566.43 1035289.227 0, 1350296.037 1035268.601 0, 1350025.644 1035247.991 0, 1349755.249 1035227.398 0, 1349484.853 1035206.82 0, 1349214.456 1035186.258 0, 1348944.057 1035165.711 0, 1348673.657 1035145.181 0,
+ 1348403.256 1035124.667 0, 1348132.854 1035104.169 0, 1347862.451 1035083.686 0, 1347592.047 1035063.22 0, 1347321.641 1035042.769 0, 1347051.234 1035022.334 0, 1346780.826 1035001.916 0, 1346510.416 1034981.513 0, 1346240.006 1034961.126 0, 1345969.594 1034940.755 0,
+ 1345699.181 1034920.4 0, 1345428.767 1034900.06 0, 1345158.352 1034879.737 0, 1344887.935 1034859.43 0, 1344616.264 1034839.044 0, 1344347.099 1034818.863 0, 1344076.679 1034798.603 0, 1343806.257 1034778.359 0, 1343535.835 1034758.132 0, 1343265.411 1034737.92 0,
+ 1342994.986 1034717.724 0, 1342724.56 1034697.544 0, 1342454.133 1034677.38 0, 1342183.705 1034657.231 0, 1341913.275 1034637.099 0, 1341642.844 1034616.983 0, 1341372.412 1034596.882 0, 1341101.979 1034576.798 0, 1340831.545 1034556.729 0, 1340561.109 1034536.676 0,
+ 1340290.672 1034516.64 0, 1340020.235 1034496.619 0, 1339749.796 1034476.614 0, 1339479.355 1034456.625 0, 1339208.914 1034436.652 0, 1338938.471 1034416.694 0, 1338668.028 1034396.753 0, 1338397.583 1034376.828 0, 1338125.882 1034356.826 0, 1337716.32 1039922.496 0,
+ 1337306.753 1045488.232 0, 1337577.795 1045508.185 0, 1337847.585 1045528.062 0, 1338117.374 1045547.955 0, 1338387.161 1045567.864 0, 1338656.947 1045587.789 0, 1338926.732 1045607.73 0, 1339196.516 1045627.686 0, 1339466.299 1045647.658 0, 1339736.081 1045667.647 0,
+ 1340005.861 1045687.651 0, 1340275.64 1045707.671 0, 1340545.418 1045727.707 0, 1340815.195 1045747.758 0, 1341084.971 1045767.826 0, 1341354.745 1045787.91 0, 1341624.518 1045808.009 0, 1341894.291 1045828.124 0, 1342164.062 1045848.255 0, 1342433.831 1045868.402 0,
+ 1342703.6 1045888.565 0, 1342973.367 1045908.744 0, 1343243.133 1045928.939 0, 1343512.898 1045949.149 0, 1343781.412 1045969.282 0, 1344052.425 1045989.618 0, 1344322.186 1046009.876 0, 1344591.946 1046030.15 0, 1344861.705 1046050.44 0, 1345131.463 1046070.746 0,
+ 1345401.22 1046091.068 0, 1345670.975 1046111.405 0, 1345940.73 1046131.759 0, 1346210.483 1046152.128 0, 1346480.234 1046172.513 0, 1346749.985 1046192.914 0, 1347019.735 1046213.331 0, 1347289.483 1046233.764 0, 1347559.23 1046254.213 0, 1347828.976 1046274.678 0,
+ 1348098.72 1046295.158 0, 1348368.464 1046315.654 0, 1348638.206 1046336.167 0, 1348907.947 1046356.695 0, 1349177.687 1046377.239 0, 1349447.425 1046397.798 0, 1349717.163 1046418.374 0, 1349986.899 1046438.966 0, 1350255.385 1046459.478 0, 1350680.674 1040894.922 0,
+ 1351105.959 1035330.43 0))
+
+POLYGON ((1363201.221 1047467.302 0, 1362932.792 1047446.031 0, 1362663.115 1047424.678 0, 1362393.437 1047403.34 0, 1362123.758 1047382.018 0, 1361854.077 1047360.712 0, 1361584.395 1047339.422 0, 1361314.712 1047318.148 0, 1361045.027 1047296.89 0, 1360775.342 1047275.647 0,
+ 1360505.655 1047254.421 0, 1360235.967 1047233.21 0, 1359966.277 1047212.015 0, 1359696.586 1047190.836 0, 1359426.894 1047169.673 0, 1359157.201 1047148.526 0, 1358887.507 1047127.394 0, 1358617.811 1047106.279 0, 1358348.114 1047085.179 0, 1358078.416 1047064.096 0,
+ 1357808.717 1047043.028 0, 1357539.016 1047021.976 0, 1357269.314 1047000.94 0, 1356999.611 1046979.92 0, 1356728.659 1046958.818 0, 1356460.201 1046937.927 0, 1356190.494 1046916.954 0, 1355920.786 1046895.997 0, 1355651.077 1046875.056 0, 1355381.367 1046854.132 0,
+ 1355111.655 1046833.222 0, 1354841.942 1046812.329 0, 1354572.228 1046791.452 0, 1354302.512 1046770.59 0, 1354032.796 1046749.745 0, 1353763.078 1046728.915 0, 1353493.359 1046708.101 0, 1353223.638 1046687.303 0, 1352953.917 1046666.521 0, 1352684.194 1046645.755 0,
+ 1352414.47 1046625.005 0, 1352144.745 1046604.27 0, 1351875.018 1046583.551 0, 1351605.29 1046562.849 0, 1351335.562 1046542.162 0, 1351065.832 1046521.491 0, 1350796.1 1046500.836 0, 1350526.368 1046480.197 0, 1350255.385 1046459.478 0, 1349830.091 1052024.095 0,
+ 1349404.792 1057588.768 0, 1349675.117 1057609.437 0, 1349944.194 1057630.026 0, 1350213.271 1057650.631 0, 1350482.346 1057671.251 0, 1350751.42 1057691.888 0, 1351020.492 1057712.54 0, 1351289.564 1057733.209 0, 1351558.634 1057753.893 0, 1351827.703 1057774.593 0,
+ 1352096.771 1057795.309 0, 1352365.837 1057816.04 0, 1352634.902 1057836.788 0, 1352903.967 1057857.551 0, 1353173.029 1057878.33 0, 1353442.091 1057899.125 0, 1353711.152 1057919.936 0, 1353980.211 1057940.763 0, 1354249.269 1057961.605 0, 1354518.325 1057982.463 0,
+ 1354787.381 1058003.338 0, 1355056.435 1058024.228 0, 1355325.488 1058045.133 0, 1355594.54 1058066.055 0, 1355862.346 1058086.896 0, 1356132.64 1058107.946 0, 1356401.688 1058128.915 0, 1356670.735 1058149.9 0, 1356939.781 1058170.901 0, 1357208.825 1058191.918 0,
+ 1357477.868 1058212.95 0, 1357746.91 1058233.999 0, 1358015.951 1058255.063 0, 1358284.991 1058276.143 0, 1358554.029 1058297.239 0, 1358823.066 1058318.35 0, 1359092.102 1058339.478 0, 1359361.136 1058360.621 0, 1359630.169 1058381.78 0, 1359899.201 1058402.955 0,
+ 1360168.232 1058424.146 0, 1360437.262 1058445.353 0, 1360706.29 1058466.576 0, 1360975.317 1058487.814 0, 1361244.343 1058509.068 0, 1361513.367 1058530.338 0, 1361782.391 1058551.624 0, 1362051.413 1058572.926 0, 1362319.189 1058594.145 0, 1362760.207 1053030.695 0,
+ 1363201.221 1047467.302 0))
+
+POLYGON ((1375230.695 1059636.003 0, 1374962.977 1059614.027 0, 1374694.016 1059591.966 0, 1374425.054 1059569.92 0, 1374156.091 1059547.89 0, 1373887.126 1059525.876 0, 1373618.16 1059503.877 0, 1373349.193 1059481.895 0, 1373080.224 1059459.928 0, 1372811.255 1059437.977 0,
+ 1372542.283 1059416.042 0, 1372273.311 1059394.123 0, 1372004.337 1059372.22 0, 1371735.362 1059350.332 0, 1371466.386 1059328.461 0, 1371197.409 1059306.605 0, 1370928.43 1059284.765 0, 1370659.45 1059262.94 0, 1370390.468 1059241.132 0, 1370121.485 1059219.34 0,
+ 1369852.501 1059197.563 0, 1369583.516 1059175.802 0, 1369314.53 1059154.057 0, 1369045.542 1059132.328 0, 1368775.31 1059110.514 0, 1368507.562 1059088.917 0, 1368238.571 1059067.235 0, 1367969.578 1059045.569 0, 1367700.584 1059023.919 0, 1367431.588 1059002.285 0,
+ 1367162.591 1058980.667 0, 1366893.593 1058959.064 0, 1366624.594 1058937.477 0, 1366355.594 1058915.907 0, 1366086.592 1058894.351 0, 1365817.589 1058872.812 0, 1365548.584 1058851.289 0, 1365279.579 1058829.781 0, 1365010.572 1058808.29 0, 1364741.564 1058786.814 0,
+ 1364472.554 1058765.354 0, 1364203.543 1058743.909 0, 1363934.531 1058722.481 0, 1363665.518 1058701.069 0, 1363396.504 1058679.672 0, 1363127.488 1058658.291 0, 1362858.471 1058636.926 0, 1362589.453 1058615.577 0, 1362319.189 1058594.145 0, 1361878.167 1064157.647 0,
+ 1361437.141 1069721.197 0, 1361706.747 1069742.577 0, 1361975.11 1069763.874 0, 1362243.472 1069785.187 0, 1362511.833 1069806.516 0, 1362780.193 1069827.86 0, 1363048.551 1069849.221 0, 1363316.908 1069870.597 0, 1363585.264 1069891.989 0, 1363853.618 1069913.397 0,
+ 1364121.972 1069934.82 0, 1364390.324 1069956.26 0, 1364658.674 1069977.715 0, 1364927.024 1069999.186 0, 1365195.372 1070020.673 0, 1365463.719 1070042.175 0, 1365732.065 1070063.694 0, 1366000.409 1070085.228 0, 1366268.752 1070106.778 0, 1366537.094 1070128.343 0,
+ 1366805.435 1070149.925 0, 1367073.774 1070171.522 0, 1367342.112 1070193.135 0, 1367610.449 1070214.764 0, 1367877.545 1070236.309 0, 1368147.119 1070258.07 0, 1368415.452 1070279.746 0, 1368683.783 1070301.438 0, 1368952.114 1070323.146 0, 1369220.443 1070344.87 0,
+ 1369488.771 1070366.609 0, 1369757.098 1070388.364 0, 1370025.423 1070410.135 0, 1370293.747 1070431.922 0, 1370562.07 1070453.725 0, 1370830.391 1070475.543 0, 1371098.711 1070497.378 0, 1371367.03 1070519.228 0, 1371635.348 1070541.093 0, 1371903.664 1070562.975 0,
+ 1372171.979 1070584.872 0, 1372440.293 1070606.786 0, 1372708.605 1070628.715 0, 1372976.916 1070650.659 0, 1373245.226 1070672.62 0, 1373513.535 1070694.596 0, 1373781.842 1070716.589 0, 1374050.148 1070738.597 0, 1374317.214 1070760.519 0, 1374773.957 1065198.237 0,
+ 1375230.695 1059636.003 0))
+
+POLYGON ((1387194.3 1071836.225 0, 1386927.294 1071813.548 0, 1386659.052 1071790.782 0, 1386390.808 1071768.032 0, 1386122.562 1071745.298 0, 1385854.316 1071722.579 0, 1385586.067 1071699.877 0, 1385317.818 1071677.19 0, 1385049.567 1071654.519 0, 1384781.315 1071631.863 0,
+ 1384513.062 1071609.224 0, 1384244.807 1071586.6 0, 1383976.551 1071563.992 0, 1383708.293 1071541.4 0, 1383440.035 1071518.823 0, 1383171.775 1071496.263 0, 1382903.513 1071473.718 0, 1382635.25 1071451.189 0, 1382366.986 1071428.675 0, 1382098.721 1071406.178 0,
+ 1381830.454 1071383.696 0, 1381562.186 1071361.23 0, 1381293.917 1071338.78 0, 1381025.646 1071316.346 0, 1380756.137 1071293.824 0, 1380489.101 1071271.525 0, 1380220.826 1071249.138 0, 1379952.55 1071226.767 0, 1379684.273 1071204.411 0, 1379415.995 1071182.072 0,
+ 1379147.715 1071159.748 0, 1378879.433 1071137.44 0, 1378611.151 1071115.148 0, 1378342.867 1071092.871 0, 1378074.582 1071070.611 0, 1377806.295 1071048.366 0, 1377538.008 1071026.137 0, 1377269.719 1071003.924 0, 1377001.428 1070981.726 0, 1376733.137 1070959.545 0,
+ 1376464.844 1070937.379 0, 1376196.549 1070915.229 0, 1375928.254 1070893.094 0, 1375659.957 1070870.976 0, 1375391.659 1070848.873 0, 1375123.359 1070826.786 0, 1374855.058 1070804.715 0, 1374586.756 1070782.66 0, 1374317.214 1070760.519 0, 1373860.469 1076322.844 0,
+ 1373403.72 1081885.209 0, 1373672.604 1081907.297 0, 1373940.251 1081929.298 0, 1374207.897 1081951.315 0, 1374475.542 1081973.348 0, 1374743.185 1081995.397 0, 1375010.827 1082017.462 0, 1375278.468 1082039.542 0, 1375546.108 1082061.638 0, 1375813.746 1082083.75 0,
+ 1376081.383 1082105.877 0, 1376349.018 1082128.02 0, 1376616.653 1082150.179 0, 1376884.286 1082172.354 0, 1377151.917 1082194.545 0, 1377419.548 1082216.751 0, 1377687.177 1082238.973 0, 1377954.805 1082261.211 0, 1378222.431 1082283.464 0, 1378490.056 1082305.734 0,
+ 1378757.68 1082328.019 0, 1379025.303 1082350.32 0, 1379292.924 1082372.636 0, 1379560.544 1082394.968 0, 1379826.928 1082417.213 0, 1380095.78 1082439.68 0, 1380363.396 1082462.06 0, 1380631.011 1082484.455 0, 1380898.624 1082506.866 0, 1381166.236 1082529.293 0,
+ 1381433.847 1082551.736 0, 1381701.456 1082574.194 0, 1381969.064 1082596.668 0, 1382236.671 1082619.158 0, 1382504.276 1082641.663 0, 1382771.88 1082664.185 0, 1383039.483 1082686.722 0, 1383307.084 1082709.275 0, 1383574.685 1082731.843 0, 1383842.283 1082754.427 0,
+ 1384109.881 1082777.028 0, 1384377.477 1082799.643 0, 1384645.072 1082822.275 0, 1384912.665 1082844.922 0, 1385180.257 1082867.585 0, 1385447.848 1082890.264 0, 1385715.437 1082912.959 0, 1385983.026 1082935.669 0, 1386249.379 1082958.29 0, 1386721.841 1077397.238 0,
+ 1387194.3 1071836.225 0))
+
+POLYGON ((844023.351 611840.546 0, 843729.49 611849.69 0, 843434.176 611858.897 0, 843138.862 611868.12 0, 842843.549 611877.362 0, 842548.236 611886.62 0, 842252.924 611895.896 0, 841957.612 611905.19 0, 841662.301 611914.5 0, 841366.991 611923.829 0,
+ 841071.681 611933.174 0, 840776.371 611942.537 0, 840481.062 611951.917 0, 840185.754 611961.315 0, 839890.446 611970.73 0, 839595.139 611980.162 0, 839299.832 611989.612 0, 839004.526 611999.079 0, 838709.221 612008.564 0, 838413.916 612018.066 0,
+ 838118.611 612027.585 0, 837823.307 612037.122 0, 837528.004 612046.676 0, 837232.701 612056.247 0, 836935.944 612065.884 0, 836642.097 612075.443 0, 836346.796 612085.066 0, 836051.496 612094.707 0, 835756.196 612104.365 0, 835460.897 612114.041 0,
+ 835165.598 612123.734 0, 834870.3 612133.445 0, 834575.002 612143.173 0, 834279.705 612152.918 0, 833984.408 612162.681 0, 833689.113 612172.461 0, 833393.817 612182.258 0, 833098.522 612192.073 0, 832803.228 612201.905 0, 832507.935 612211.755 0,
+ 832212.642 612221.622 0, 831917.349 612231.506 0, 831622.057 612241.408 0, 831326.766 612251.327 0, 831031.475 612261.263 0, 830736.185 612271.217 0, 830440.896 612281.188 0, 830145.607 612291.177 0, 829848.863 612301.232 0, 830037.499 617863.242 0,
+ 830226.147 623425.59 0, 830522.234 623415.557 0, 830816.868 623405.59 0, 831111.503 623395.641 0, 831406.138 623385.709 0, 831700.774 623375.795 0, 831995.411 623365.898 0, 832290.048 623356.018 0, 832584.685 623346.156 0, 832879.324 623336.311 0,
+ 833173.962 623326.483 0, 833468.602 623316.672 0, 833763.242 623306.879 0, 834057.882 623297.104 0, 834352.523 623287.345 0, 834647.165 623277.604 0, 834941.808 623267.881 0, 835236.45 623258.174 0, 835531.094 623248.485 0, 835825.738 623238.814 0,
+ 836120.382 623229.159 0, 836415.028 623219.522 0, 836709.673 623209.903 0, 837004.319 623200.301 0, 837297.515 623190.763 0, 837593.614 623181.148 0, 837888.262 623171.598 0, 838182.91 623162.065 0, 838477.559 623152.549 0, 838772.209 623143.051 0,
+ 839066.859 623133.57 0, 839361.51 623124.107 0, 839656.161 623114.661 0, 839950.813 623105.232 0, 840245.465 623095.82 0, 840540.118 623086.426 0, 840834.772 623077.049 0, 841129.426 623067.69 0, 841424.081 623058.348 0, 841718.736 623049.023 0,
+ 842013.392 623039.715 0, 842308.048 623030.425 0, 842602.705 623021.152 0, 842897.362 623011.897 0, 843192.02 623002.659 0, 843486.678 622993.438 0, 843781.337 622984.235 0, 844075.997 622975.049 0, 844369.207 622965.925 0, 844196.274 617403.066 0,
+ 844023.351 611840.546 0))
+
+POLYGON ((858513.508 622546.219 0, 858220.271 622554.514 0, 857925.587 622562.868 0, 857630.903 622571.239 0, 857336.22 622579.627 0, 857041.537 622588.033 0, 856746.855 622596.456 0, 856452.173 622604.896 0, 856157.492 622613.354 0, 855862.811 622621.828 0,
+ 855568.13 622630.321 0, 855273.45 622638.83 0, 854978.771 622647.357 0, 854684.092 622655.902 0, 854389.414 622664.463 0, 854094.736 622673.042 0, 853800.059 622681.639 0, 853505.382 622690.253 0, 853210.706 622698.884 0, 852916.03 622707.532 0,
+ 852621.355 622716.198 0, 852326.68 622724.881 0, 852032.005 622733.581 0, 851737.332 622742.299 0, 851441.209 622751.077 0, 851147.986 622759.787 0, 850853.313 622768.556 0, 850558.642 622777.344 0, 850263.971 622786.148 0, 849969.3 622794.97 0,
+ 849674.63 622803.809 0, 849379.96 622812.666 0, 849085.291 622821.539 0, 848790.622 622830.431 0, 848495.954 622839.339 0, 848201.287 622848.265 0, 847906.62 622857.208 0, 847611.953 622866.169 0, 847317.287 622875.147 0, 847022.622 622884.142 0,
+ 846727.957 622893.155 0, 846433.293 622902.185 0, 846138.629 622911.232 0, 845843.966 622920.297 0, 845549.303 622929.379 0, 845254.641 622938.478 0, 844959.979 622947.595 0, 844665.318 622956.729 0, 844369.207 622965.925 0, 844542.15 628529.12 0,
+ 844715.103 634092.646 0, 845010.556 634083.47 0, 845304.563 634074.356 0, 845598.57 634065.26 0, 845892.577 634056.181 0, 846186.585 634047.119 0, 846480.593 634038.075 0, 846774.602 634029.047 0, 847068.611 634020.038 0, 847362.621 634011.045 0,
+ 847656.632 634002.07 0, 847950.643 633993.112 0, 848244.655 633984.171 0, 848538.667 633975.248 0, 848832.679 633966.342 0, 849126.692 633957.453 0, 849420.706 633948.581 0, 849714.72 633939.727 0, 850008.735 633930.89 0, 850302.75 633922.071 0,
+ 850596.766 633913.269 0, 850890.782 633904.484 0, 851184.799 633895.716 0, 851478.816 633886.966 0, 851771.388 633878.276 0, 852066.853 633869.517 0, 852360.871 633860.819 0, 852654.891 633852.138 0, 852948.911 633843.474 0, 853242.931 633834.827 0,
+ 853536.952 633826.198 0, 853830.973 633817.586 0, 854124.995 633808.992 0, 854419.018 633800.414 0, 854713.04 633791.854 0, 855007.064 633783.312 0, 855301.088 633774.786 0, 855595.112 633766.278 0, 855889.137 633757.788 0, 856183.162 633749.314 0,
+ 856477.188 633740.858 0, 856771.215 633732.419 0, 857065.242 633723.998 0, 857359.269 633715.594 0, 857653.297 633707.207 0, 857947.325 633698.837 0, 858241.354 633690.485 0, 858535.384 633682.15 0, 858827.968 633673.873 0, 858670.733 628109.88 0,
+ 858513.508 622546.219 0))
+
+POLYGON ((872941.96 633294.973 0, 872649.351 633302.423 0, 872355.299 633309.928 0, 872061.248 633317.449 0, 871767.197 633324.988 0, 871473.146 633332.544 0, 871179.096 633340.118 0, 870885.047 633347.708 0, 870590.998 633355.317 0, 870296.949 633362.942 0,
+ 870002.901 633370.585 0, 869708.853 633378.245 0, 869414.806 633385.922 0, 869120.759 633393.617 0, 868826.713 633401.329 0, 868532.667 633409.058 0, 868238.622 633416.804 0, 867944.577 633424.568 0, 867650.532 633432.349 0, 867356.488 633440.148 0,
+ 867062.444 633447.964 0, 866768.401 633455.797 0, 866474.358 633463.647 0, 866180.316 633471.515 0, 865884.83 633479.439 0, 865592.233 633487.302 0, 865298.192 633495.222 0, 865004.152 633503.159 0, 864710.112 633511.113 0, 864416.072 633519.085 0,
+ 864122.034 633527.073 0, 863827.995 633535.08 0, 863533.957 633543.103 0, 863239.919 633551.144 0, 862945.882 633559.202 0, 862651.846 633567.277 0, 862357.81 633575.37 0, 862063.774 633583.48 0, 861769.739 633591.607 0, 861475.704 633599.752 0,
+ 861181.67 633607.914 0, 860887.636 633616.093 0, 860593.603 633624.29 0, 860299.57 633632.503 0, 860005.538 633640.735 0, 859711.506 633648.983 0, 859417.475 633657.249 0, 859123.444 633665.532 0, 858827.968 633673.873 0, 858985.212 639238.195 0,
+ 859142.466 644802.843 0, 859437.283 644794.52 0, 859730.659 644786.256 0, 860024.035 644778.008 0, 860317.412 644769.778 0, 860610.789 644761.565 0, 860904.167 644753.37 0, 861197.545 644745.192 0, 861490.924 644737.031 0, 861784.303 644728.887 0,
+ 862077.683 644720.76 0, 862371.063 644712.651 0, 862664.444 644704.559 0, 862957.825 644696.485 0, 863251.206 644688.427 0, 863544.588 644680.387 0, 863837.971 644672.364 0, 864131.354 644664.359 0, 864424.737 644656.37 0, 864718.121 644648.399 0,
+ 865011.506 644640.445 0, 865304.89 644632.509 0, 865598.276 644624.59 0, 865891.662 644616.688 0, 866183.607 644608.842 0, 866478.435 644600.936 0, 866771.822 644593.085 0, 867065.209 644585.252 0, 867358.597 644577.437 0, 867651.986 644569.638 0,
+ 867945.375 644561.857 0, 868238.765 644554.093 0, 868532.155 644546.347 0, 868825.545 644538.618 0, 869118.936 644530.906 0, 869412.327 644523.211 0, 869705.719 644515.533 0, 869999.111 644507.873 0, 870292.504 644500.23 0, 870585.897 644492.604 0,
+ 870879.29 644484.996 0, 871172.684 644477.405 0, 871466.079 644469.831 0, 871759.474 644462.274 0, 872052.869 644454.735 0, 872346.265 644447.213 0, 872639.661 644439.708 0, 872933.058 644432.221 0, 873225.015 644424.787 0, 873083.483 638859.717 0,
+ 872941.96 633294.973 0))
+
+POLYGON ((887308.576 644086.518 0, 887016.596 644093.127 0, 886723.18 644099.786 0, 886429.764 644106.462 0, 886136.348 644113.155 0, 885842.932 644119.865 0, 885549.517 644126.593 0, 885256.103 644133.338 0, 884962.688 644140.1 0, 884669.274 644146.88 0,
+ 884375.861 644153.676 0, 884082.448 644160.49 0, 883789.035 644167.322 0, 883495.623 644174.17 0, 883202.211 644181.036 0, 882908.8 644187.919 0, 882615.388 644194.82 0, 882321.978 644201.737 0, 882028.568 644208.672 0, 881735.158 644215.624 0,
+ 881441.748 644222.594 0, 881148.339 644229.581 0, 880854.931 644236.585 0, 880561.522 644243.606 0, 880266.676 644250.679 0, 879974.707 644257.7 0, 879681.3 644264.773 0, 879387.894 644271.864 0, 879094.488 644278.971 0, 878801.082 644286.096 0,
+ 878507.677 644293.238 0, 878214.272 644300.398 0, 877920.867 644307.574 0, 877627.463 644314.768 0, 877334.06 644321.98 0, 877040.657 644329.208 0, 876747.254 644336.454 0, 876453.852 644343.717 0, 876160.45 644350.997 0, 875867.048 644358.295 0,
+ 875573.647 644365.61 0, 875280.247 644372.942 0, 874986.847 644380.291 0, 874693.447 644387.658 0, 874400.048 644395.042 0, 874106.649 644402.443 0, 873813.25 644409.862 0, 873519.852 644417.297 0, 873225.015 644424.787 0, 873366.555 649990.179 0,
+ 873508.103 655555.89 0, 873802.282 655548.417 0, 874095.025 655540.998 0, 874387.768 655533.596 0, 874680.512 655526.212 0, 874973.256 655518.844 0, 875266 655511.494 0, 875558.745 655504.161 0, 875851.491 655496.845 0, 876144.237 655489.547 0,
+ 876436.983 655482.266 0, 876729.73 655475.002 0, 877022.477 655467.755 0, 877315.224 655460.525 0, 877607.972 655453.313 0, 877900.721 655446.118 0, 878193.47 655438.94 0, 878486.219 655431.779 0, 878778.968 655424.636 0, 879071.719 655417.509 0,
+ 879364.469 655410.4 0, 879657.22 655403.309 0, 879949.971 655396.234 0, 880242.723 655389.177 0, 880534.04 655382.171 0, 880828.228 655375.114 0, 881120.981 655368.108 0, 881413.734 655361.12 0, 881706.488 655354.149 0, 881999.242 655347.195 0,
+ 882291.997 655340.258 0, 882584.752 655333.339 0, 882877.508 655326.437 0, 883170.264 655319.552 0, 883463.02 655312.684 0, 883755.776 655305.833 0, 884048.534 655299 0, 884341.291 655292.184 0, 884634.049 655285.385 0, 884926.807 655278.604 0,
+ 885219.566 655271.839 0, 885512.325 655265.092 0, 885805.084 655258.362 0, 886097.844 655251.65 0, 886390.605 655244.954 0, 886683.365 655238.276 0, 886976.126 655231.615 0, 887268.888 655224.971 0, 887560.215 655218.377 0, 887434.392 649652.288 0,
+ 887308.576 644086.518 0))
+
+POLYGON ((901613.225 654920.565 0, 901321.878 654926.336 0, 901029.099 654932.153 0, 900736.32 654937.986 0, 900443.542 654943.837 0, 900150.764 654949.706 0, 899857.986 654955.591 0, 899565.209 654961.494 0, 899272.432 654967.414 0, 898979.655 654973.351 0,
+ 898686.879 654979.306 0, 898394.103 654985.277 0, 898101.327 654991.266 0, 897808.552 654997.273 0, 897515.777 655003.296 0, 897223.003 655009.337 0, 896930.229 655015.394 0, 896637.455 655021.47 0, 896344.681 655027.562 0, 896051.908 655033.671 0,
+ 895759.136 655039.798 0, 895466.363 655045.942 0, 895173.591 655052.104 0, 894880.82 655058.282 0, 894586.615 655064.508 0, 894295.277 655070.691 0, 894002.507 655076.921 0, 893709.737 655083.168 0, 893416.967 655089.433 0, 893124.197 655095.715 0,
+ 892831.428 655102.014 0, 892538.66 655108.33 0, 892245.891 655114.664 0, 891953.123 655121.015 0, 891660.356 655127.383 0, 891367.589 655133.768 0, 891074.822 655140.171 0, 890782.055 655146.59 0, 890489.289 655153.027 0, 890196.524 655159.481 0,
+ 889903.758 655165.953 0, 889610.993 655172.442 0, 889318.229 655178.947 0, 889025.465 655185.471 0, 888732.701 655192.011 0, 888439.938 655198.568 0, 888147.174 655205.143 0, 887854.412 655211.735 0, 887560.215 655218.377 0, 887686.046 660784.782 0,
+ 887811.883 666351.499 0, 888105.421 666344.872 0, 888397.529 666338.295 0, 888689.636 666331.735 0, 888981.744 666325.192 0, 889273.853 666318.666 0, 889565.962 666312.158 0, 889858.071 666305.666 0, 890150.181 666299.192 0, 890442.291 666292.735 0,
+ 890734.401 666286.295 0, 891026.512 666279.873 0, 891318.623 666273.467 0, 891610.735 666267.079 0, 891902.847 666260.708 0, 892194.959 666254.355 0, 892487.072 666248.018 0, 892779.185 666241.699 0, 893071.298 666235.396 0, 893363.412 666229.111 0,
+ 893655.526 666222.844 0, 893947.64 666216.593 0, 894239.755 666210.359 0, 894531.871 666204.143 0, 894822.556 666197.974 0, 895116.102 666191.762 0, 895408.219 666185.598 0, 895700.335 666179.45 0, 895992.452 666173.32 0, 896284.57 666167.207 0,
+ 896576.687 666161.111 0, 896868.806 666155.032 0, 897160.924 666148.971 0, 897453.043 666142.926 0, 897745.162 666136.899 0, 898037.282 666130.889 0, 898329.402 666124.897 0, 898621.522 666118.921 0, 898913.643 666112.963 0, 899205.764 666107.022 0,
+ 899497.885 666101.098 0, 899790.007 666095.191 0, 900082.129 666089.301 0, 900374.251 666083.429 0, 900666.374 666077.574 0, 900958.497 666071.736 0, 901250.62 666065.915 0, 901542.744 666060.111 0, 901833.439 666054.353 0, 901723.329 660487.303 0,
+ 901613.225 654920.565 0))
+
+POLYGON ((915855.778 665796.822 0, 915565.066 665801.759 0, 915272.927 665806.737 0, 914980.788 665811.733 0, 914688.65 665816.746 0, 914396.512 665821.775 0, 914104.374 665826.822 0, 913812.236 665831.887 0, 913520.099 665836.968 0, 913227.962 665842.067 0,
+ 912935.826 665847.183 0, 912643.689 665852.316 0, 912351.553 665857.466 0, 912059.418 665862.633 0, 911767.282 665867.818 0, 911475.147 665873.02 0, 911183.013 665878.239 0, 910890.878 665883.475 0, 910598.744 665888.728 0, 910306.61 665893.999 0,
+ 910014.477 665899.287 0, 909722.343 665904.592 0, 909430.21 665909.914 0, 909138.078 665915.253 0, 908844.517 665920.636 0, 908553.814 665925.983 0, 908261.682 665931.374 0, 907969.551 665936.782 0, 907677.42 665942.208 0, 907385.289 665947.65 0,
+ 907093.159 665953.11 0, 906801.028 665958.587 0, 906508.899 665964.081 0, 906216.769 665969.592 0, 905924.64 665975.121 0, 905632.512 665980.666 0, 905340.383 665986.229 0, 905048.255 665991.809 0, 904756.127 665997.407 0, 904464 666003.021 0,
+ 904171.873 666008.653 0, 903879.746 666014.302 0, 903587.62 666019.968 0, 903295.493 666025.651 0, 903003.368 666031.351 0, 902711.242 666037.069 0, 902419.117 666042.804 0, 902126.992 666048.556 0, 901833.439 666054.353 0, 901943.555 671621.713 0,
+ 902053.677 677189.378 0, 902346.572 677183.594 0, 902638.041 677177.855 0, 902929.511 677172.133 0, 903220.981 677166.428 0, 903512.452 677160.74 0, 903803.922 677155.07 0, 904095.393 677149.416 0, 904386.865 677143.78 0, 904678.336 677138.161 0,
+ 904969.808 677132.559 0, 905261.281 677126.975 0, 905552.753 677121.407 0, 905844.227 677115.857 0, 906135.7 677110.323 0, 906427.174 677104.807 0, 906718.648 677099.308 0, 907010.122 677093.827 0, 907301.597 677088.362 0, 907593.071 677082.915 0,
+ 907884.547 677077.484 0, 908176.022 677072.071 0, 908467.498 677066.675 0, 908758.975 677061.296 0, 909049.026 677055.961 0, 909341.928 677050.59 0, 909633.405 677045.263 0, 909924.883 677039.952 0, 910216.36 677034.659 0, 910507.839 677029.383 0,
+ 910799.317 677024.125 0, 911090.796 677018.883 0, 911382.275 677013.659 0, 911673.754 677008.451 0, 911965.234 677003.261 0, 912256.714 676998.088 0, 912548.194 676992.932 0, 912839.675 676987.794 0, 913131.156 676982.672 0, 913422.637 676977.568 0,
+ 913714.118 676972.481 0, 914005.6 676967.411 0, 914297.082 676962.358 0, 914588.564 676957.322 0, 914880.047 676952.304 0, 915171.53 676947.302 0, 915463.013 676942.318 0, 915754.497 676937.351 0, 916044.557 676932.425 0, 915950.165 671364.471 0,
+ 915855.778 665796.822 0))
+
+POLYGON ((930036.107 676714.999 0, 929746.032 676719.106 0, 929454.536 676723.249 0, 929163.039 676727.41 0, 928871.543 676731.588 0, 928580.048 676735.783 0, 928288.552 676739.995 0, 927997.057 676744.225 0, 927705.562 676748.471 0, 927414.067 676752.735 0,
+ 927122.573 676757.016 0, 926831.079 676761.314 0, 926539.585 676765.629 0, 926248.091 676769.961 0, 925956.598 676774.311 0, 925665.105 676778.677 0, 925373.612 676783.061 0, 925082.119 676787.462 0, 924790.627 676791.88 0, 924499.135 676796.315 0,
+ 924207.643 676800.768 0, 923916.151 676805.237 0, 923624.66 676809.724 0, 923333.169 676814.228 0, 923040.255 676818.771 0, 922750.187 676823.287 0, 922458.697 676827.843 0, 922167.207 676832.415 0, 921875.717 676837.005 0, 921584.228 676841.612 0,
+ 921292.739 676846.236 0, 921001.25 676850.877 0, 920709.761 676855.535 0, 920418.273 676860.21 0, 920126.785 676864.903 0, 919835.297 676869.613 0, 919543.809 676874.34 0, 919252.322 676879.084 0, 918960.835 676883.845 0, 918669.348 676888.623 0,
+ 918377.862 676893.419 0, 918086.376 676898.232 0, 917794.89 676903.061 0, 917503.404 676907.908 0, 917211.919 676912.773 0, 916920.434 676917.654 0, 916628.949 676922.552 0, 916337.465 676927.468 0, 916044.557 676932.425 0, 916138.954 682500.681 0,
+ 916233.356 688069.237 0, 916525.606 688064.291 0, 916816.435 688059.387 0, 917107.264 688054.499 0, 917398.093 688049.629 0, 917688.923 688044.776 0, 917979.753 688039.94 0, 918270.583 688035.121 0, 918561.414 688030.319 0, 918852.245 688025.534 0,
+ 919143.076 688020.766 0, 919433.908 688016.016 0, 919724.74 688011.282 0, 920015.572 688006.566 0, 920306.404 688001.867 0, 920597.236 687997.185 0, 920888.069 687992.52 0, 921178.903 687987.872 0, 921469.736 687983.241 0, 921760.57 687978.628 0,
+ 922051.404 687974.031 0, 922342.238 687969.452 0, 922633.072 687964.89 0, 922923.907 687960.345 0, 923213.323 687955.839 0, 923505.577 687951.306 0, 923796.413 687946.812 0, 924087.249 687942.335 0, 924378.085 687937.876 0, 924668.921 687933.434 0,
+ 924959.758 687929.008 0, 925250.595 687924.6 0, 925541.432 687920.209 0, 925832.269 687915.835 0, 926123.107 687911.478 0, 926413.945 687907.139 0, 926704.783 687902.816 0, 926995.621 687898.511 0, 927286.46 687894.222 0, 927577.299 687889.951 0,
+ 927868.138 687885.697 0, 928158.978 687881.46 0, 928449.817 687877.24 0, 928740.657 687873.037 0, 929031.497 687868.852 0, 929322.338 687864.683 0, 929613.179 687860.532 0, 929904.019 687856.398 0, 930193.442 687852.301 0, 930114.772 682283.501 0,
+ 930036.107 676714.999 0))
+
+POLYGON ((944154.085 687674.805 0, 943864.65 687678.084 0, 943573.798 687681.397 0, 943282.947 687684.726 0, 942992.096 687688.073 0, 942701.245 687691.437 0, 942410.395 687694.818 0, 942119.544 687698.216 0, 941828.694 687701.632 0, 941537.844 687705.064 0,
+ 941246.994 687708.514 0, 940956.144 687711.98 0, 940665.295 687715.464 0, 940374.446 687718.965 0, 940083.597 687722.483 0, 939792.748 687726.018 0, 939501.899 687729.57 0, 939211.051 687733.14 0, 938920.203 687736.726 0, 938629.355 687740.33 0,
+ 938338.507 687743.95 0, 938047.66 687747.588 0, 937756.812 687751.243 0, 937465.965 687754.915 0, 937173.701 687758.622 0, 936884.272 687762.311 0, 936593.425 687766.034 0, 936302.579 687769.775 0, 936011.733 687773.532 0, 935720.887 687777.307 0,
+ 935430.042 687781.099 0, 935139.196 687784.908 0, 934848.351 687788.734 0, 934557.506 687792.577 0, 934266.662 687796.438 0, 933975.817 687800.315 0, 933684.973 687804.21 0, 933394.129 687808.122 0, 933103.285 687812.05 0, 932812.442 687815.996 0,
+ 932521.598 687819.96 0, 932230.755 687823.94 0, 931939.912 687827.937 0, 931649.07 687831.951 0, 931358.228 687835.983 0, 931067.385 687840.032 0, 930776.544 687844.098 0, 930485.702 687848.18 0, 930193.442 687852.301 0, 930272.116 693421.396 0,
+ 930350.794 698990.784 0, 930642.395 698986.673 0, 930932.581 698982.599 0, 931222.767 698978.543 0, 931512.954 698974.503 0, 931803.141 698970.481 0, 932093.328 698966.475 0, 932383.515 698962.487 0, 932673.702 698958.516 0, 932963.89 698954.562 0,
+ 933254.078 698950.625 0, 933544.266 698946.705 0, 933834.454 698942.802 0, 934124.643 698938.916 0, 934414.832 698935.047 0, 934705.021 698931.195 0, 934995.21 698927.361 0, 935285.4 698923.543 0, 935575.59 698919.743 0, 935865.779 698915.96 0,
+ 936155.97 698912.193 0, 936446.16 698908.444 0, 936736.351 698904.712 0, 937026.542 698900.997 0, 937315.319 698897.317 0, 937606.924 698893.618 0, 937897.115 698889.954 0, 938187.307 698886.308 0, 938477.499 698882.678 0, 938767.691 698879.065 0,
+ 939057.884 698875.47 0, 939348.076 698871.892 0, 939638.269 698868.33 0, 939928.462 698864.786 0, 940218.655 698861.259 0, 940508.848 698857.749 0, 940799.042 698854.256 0, 941089.236 698850.78 0, 941379.43 698847.321 0, 941669.624 698843.879 0,
+ 941959.819 698840.455 0, 942250.013 698837.047 0, 942540.208 698833.657 0, 942830.403 698830.283 0, 943120.598 698826.927 0, 943410.794 698823.587 0, 943700.989 698820.265 0, 943991.185 698816.96 0, 944279.968 698813.688 0, 944217.025 693244.1 0,
+ 944154.085 687674.805 0))
+
+POLYGON ((958209.587 698675.946 0, 957920.794 698678.402 0, 957630.59 698680.887 0, 957340.386 698683.389 0, 957050.182 698685.909 0, 956759.979 698688.445 0, 956469.775 698690.999 0, 956179.572 698693.569 0, 955889.369 698696.157 0, 955599.166 698698.762 0,
+ 955308.963 698701.384 0, 955018.76 698704.023 0, 954728.558 698706.679 0, 954438.356 698709.352 0, 954148.153 698712.042 0, 953857.951 698714.749 0, 953567.75 698717.474 0, 953277.548 698720.215 0, 952987.346 698722.974 0, 952697.145 698725.749 0,
+ 952406.944 698728.542 0, 952116.743 698731.352 0, 951826.542 698734.179 0, 951536.341 698737.023 0, 951244.729 698739.898 0, 950955.94 698742.762 0, 950665.74 698745.657 0, 950375.54 698748.569 0, 950085.34 698751.499 0, 949795.141 698754.445 0,
+ 949504.941 698757.408 0, 949214.742 698760.389 0, 948924.543 698763.387 0, 948634.344 698766.401 0, 948344.145 698769.433 0, 948053.946 698772.482 0, 947763.748 698775.548 0, 947473.55 698778.631 0, 947183.352 698781.731 0, 946893.154 698784.849 0,
+ 946602.956 698787.983 0, 946312.758 698791.134 0, 946022.561 698794.303 0, 945732.364 698797.488 0, 945442.167 698800.691 0, 945151.97 698803.911 0, 944861.774 698807.147 0, 944571.577 698810.401 0, 944279.968 698813.688 0, 944342.915 704383.565 0,
+ 944405.864 709953.727 0, 944696.814 709950.447 0, 944986.355 709947.201 0, 945275.896 709943.971 0, 945565.437 709940.759 0, 945854.978 709937.563 0, 946144.52 709934.385 0, 946434.062 709931.224 0, 946723.603 709928.079 0, 947013.145 709924.952 0,
+ 947302.688 709921.842 0, 947592.23 709918.749 0, 947881.773 709915.673 0, 948171.315 709912.614 0, 948460.858 709909.572 0, 948750.401 709906.547 0, 949039.945 709903.539 0, 949329.488 709900.548 0, 949619.032 709897.574 0, 949908.576 709894.617 0,
+ 950198.12 709891.678 0, 950487.664 709888.755 0, 950777.208 709885.849 0, 951066.753 709882.961 0, 951354.888 709880.103 0, 951645.842 709877.234 0, 951935.387 709874.397 0, 952224.932 709871.576 0, 952514.478 709868.773 0, 952804.023 709865.987 0,
+ 953093.569 709863.217 0, 953383.115 709860.465 0, 953672.661 709857.73 0, 953962.207 709855.012 0, 954251.753 709852.31 0, 954541.299 709849.626 0, 954830.846 709846.959 0, 955120.393 709844.309 0, 955409.94 709841.676 0, 955699.487 709839.06 0,
+ 955989.034 709836.461 0, 956278.582 709833.879 0, 956568.129 709831.314 0, 956857.677 709828.767 0, 957147.225 709826.236 0, 957436.773 709823.722 0, 957726.321 709821.226 0, 958015.869 709818.746 0, 958304.01 709816.295 0, 958256.797 704245.978 0,
+ 958209.587 698675.946 0))
+
+POLYGON ((972202.488 709718.129 0, 971914.34 709719.766 0, 971624.785 709721.427 0, 971335.231 709723.106 0, 971045.677 709724.802 0, 970756.124 709726.514 0, 970466.57 709728.244 0, 970177.016 709729.991 0, 969887.463 709731.755 0, 969597.909 709733.536 0,
+ 969308.356 709735.334 0, 969018.803 709737.149 0, 968729.25 709738.981 0, 968439.697 709740.83 0, 968150.144 709742.696 0, 967860.591 709744.579 0, 967571.038 709746.479 0, 967281.486 709748.396 0, 966991.933 709750.331 0, 966702.381 709752.282 0,
+ 966412.829 709754.25 0, 966123.277 709756.236 0, 965833.725 709758.238 0, 965544.173 709760.258 0, 965253.214 709762.304 0, 964965.069 709764.348 0, 964675.518 709766.418 0, 964385.966 709768.506 0, 964096.415 709770.611 0, 963806.864 709772.732 0,
+ 963517.313 709774.871 0, 963227.762 709777.027 0, 962938.211 709779.2 0, 962648.661 709781.39 0, 962359.11 709783.597 0, 962069.56 709785.821 0, 961780.01 709788.062 0, 961490.46 709790.32 0, 961200.91 709792.595 0, 960911.36 709794.887 0,
+ 960621.81 709797.196 0, 960332.261 709799.522 0, 960042.711 709801.866 0, 959753.162 709804.226 0, 959463.613 709806.603 0, 959174.064 709808.998 0, 958884.515 709811.409 0, 958594.966 709813.838 0, 958304.01 709816.295 0, 958351.225 715386.895 0,
+ 958398.442 720957.773 0, 958688.74 720955.321 0, 958977.633 720952.898 0, 959266.526 720950.492 0, 959555.419 720948.103 0, 959844.312 720945.731 0, 960133.206 720943.376 0, 960422.099 720941.038 0, 960710.993 720938.717 0, 960999.887 720936.413 0,
+ 961288.781 720934.126 0, 961577.675 720931.856 0, 961866.57 720929.603 0, 962155.464 720927.367 0, 962444.359 720925.148 0, 962733.254 720922.946 0, 963022.148 720920.761 0, 963311.043 720918.593 0, 963599.938 720916.442 0, 963888.834 720914.308 0,
+ 964177.729 720912.192 0, 964466.625 720910.092 0, 964755.52 720908.009 0, 965044.416 720905.943 0, 965331.908 720903.904 0, 965622.208 720901.862 0, 965911.104 720899.847 0, 966200 720897.849 0, 966488.896 720895.868 0, 966777.793 720893.904 0,
+ 967066.689 720891.957 0, 967355.586 720890.028 0, 967644.483 720888.115 0, 967933.38 720886.219 0, 968222.277 720884.34 0, 968511.174 720882.478 0, 968800.071 720880.633 0, 969088.968 720878.805 0, 969377.866 720876.994 0, 969666.763 720875.201 0,
+ 969955.661 720873.424 0, 970244.559 720871.664 0, 970533.457 720869.921 0, 970822.355 720868.195 0, 971111.253 720866.486 0, 971400.151 720864.795 0, 971689.049 720863.12 0, 971977.948 720861.462 0, 972265.444 720859.829 0, 972233.965 715288.84 0,
+ 972202.488 709718.129 0))
+
+POLYGON ((986132.667 720801.062 0, 985845.165 720801.883 0, 985556.263 720802.725 0, 985267.361 720803.583 0, 984978.459 720804.459 0, 984689.557 720805.352 0, 984400.656 720806.261 0, 984111.754 720807.188 0, 983822.852 720808.132 0, 983533.951 720809.092 0,
+ 983245.049 720810.07 0, 982956.148 720811.065 0, 982667.247 720812.076 0, 982378.345 720813.105 0, 982089.444 720814.151 0, 981800.543 720815.213 0, 981511.642 720816.293 0, 981222.741 720817.39 0, 980933.84 720818.503 0, 980644.939 720819.634 0,
+ 980356.038 720820.782 0, 980067.137 720821.946 0, 979778.237 720823.128 0, 979489.336 720824.327 0, 979199.034 720825.549 0, 978911.535 720826.775 0, 978622.635 720828.025 0, 978333.734 720829.292 0, 978044.834 720830.575 0, 977755.934 720831.876 0,
+ 977467.034 720833.194 0, 977178.134 720834.529 0, 976889.234 720835.88 0, 976600.334 720837.249 0, 976311.434 720838.635 0, 976022.534 720840.038 0, 975733.635 720841.458 0, 975444.735 720842.894 0, 975155.836 720844.348 0, 974866.936 720845.819 0,
+ 974578.037 720847.307 0, 974289.138 720848.811 0, 974000.239 720850.333 0, 973711.34 720851.872 0, 973422.441 720853.428 0, 973133.542 720855.001 0, 972844.643 720856.59 0, 972555.745 720858.197 0, 972265.444 720859.829 0, 972296.924 726431.093 0,
+ 972328.405 732002.629 0, 972618.047 732001.001 0, 972906.29 731999.397 0, 973194.533 731997.811 0, 973482.776 731996.242 0, 973771.019 731994.69 0, 974059.262 731993.154 0, 974347.505 731991.636 0, 974635.749 731990.135 0, 974923.992 731988.65 0,
+ 975212.236 731987.183 0, 975500.479 731985.732 0, 975788.723 731984.299 0, 976076.967 731982.882 0, 976365.211 731981.483 0, 976653.455 731980.1 0, 976941.699 731978.735 0, 977229.943 731977.386 0, 977518.187 731976.054 0, 977806.431 731974.739 0,
+ 978094.676 731973.442 0, 978382.92 731972.161 0, 978671.164 731970.897 0, 978959.409 731969.65 0, 979246.256 731968.426 0, 979535.898 731967.207 0, 979824.143 731966.011 0, 980112.388 731964.832 0, 980400.633 731963.67 0, 980688.878 731962.525 0,
+ 980977.123 731961.397 0, 981265.368 731960.286 0, 981553.613 731959.191 0, 981841.859 731958.114 0, 982130.104 731957.054 0, 982418.349 731956.011 0, 982706.595 731954.984 0, 982994.84 731953.975 0, 983283.086 731952.983 0, 983571.331 731952.007 0,
+ 983859.577 731951.049 0, 984147.823 731950.107 0, 984436.069 731949.183 0, 984724.314 731948.275 0, 985012.56 731947.384 0, 985300.806 731946.511 0, 985589.052 731945.654 0, 985877.298 731944.814 0, 986164.147 731943.996 0, 986148.407 726372.393 0,
+ 986132.667 720801.062 0))
+
+POLYGON ((1000000 731924.451 0, 999713.147 731924.46 0, 999424.9 731924.485 0, 999136.653 731924.527 0, 998848.406 731924.587 0, 998560.158 731924.663 0, 998271.911 731924.756 0, 997983.664 731924.866 0, 997695.417 731924.993 0, 997407.169 731925.137 0,
+ 997118.922 731925.299 0, 996830.675 731925.477 0, 996542.428 731925.672 0, 996254.181 731925.884 0, 995965.933 731926.113 0, 995677.686 731926.359 0, 995389.439 731926.621 0, 995101.192 731926.901 0, 994812.945 731927.198 0, 994524.698 731927.512 0,
+ 994236.451 731927.843 0, 993948.204 731928.19 0, 993659.957 731928.555 0, 993371.71 731928.937 0, 993082.067 731929.337 0, 992795.216 731929.751 0, 992506.969 731930.183 0, 992218.722 731930.633 0, 991930.475 731931.099 0, 991642.228 731931.583 0,
+ 991353.981 731932.083 0, 991065.734 731932.601 0, 990777.488 731933.135 0, 990489.241 731933.686 0, 990200.994 731934.254 0, 989912.748 731934.84 0, 989624.501 731935.442 0, 989336.254 731936.061 0, 989048.008 731936.697 0, 988759.761 731937.35 0,
+ 988471.515 731938.02 0, 988183.268 731938.707 0, 987895.022 731939.411 0, 987606.775 731940.132 0, 987318.529 731940.87 0, 987030.283 731941.625 0, 986742.037 731942.397 0, 986453.79 731943.186 0, 986164.147 731943.996 0, 986179.889 737515.866 0,
+ 986195.631 743088.001 0, 986484.615 743087.193 0, 986772.206 743086.406 0, 987059.796 743085.636 0, 987347.386 743084.883 0, 987634.977 743084.146 0, 987922.567 743083.427 0, 988210.158 743082.725 0, 988497.748 743082.039 0, 988785.339 743081.371 0,
+ 989072.929 743080.719 0, 989360.52 743080.084 0, 989648.111 743079.467 0, 989935.701 743078.866 0, 990223.292 743078.282 0, 990510.883 743077.715 0, 990798.474 743077.165 0, 991086.065 743076.632 0, 991373.656 743076.116 0, 991661.246 743075.616 0,
+ 991948.837 743075.134 0, 992236.428 743074.669 0, 992524.019 743074.22 0, 992811.61 743073.789 0, 993097.809 743073.376 0, 993386.792 743072.976 0, 993674.384 743072.595 0, 993961.975 743072.232 0, 994249.566 743071.885 0, 994537.157 743071.555 0,
+ 994824.748 743071.242 0, 995112.339 743070.945 0, 995399.931 743070.666 0, 995687.522 743070.404 0, 995975.113 743070.159 0, 996262.704 743069.93 0, 996550.296 743069.719 0, 996837.887 743069.524 0, 997125.478 743069.346 0, 997413.069 743069.186 0,
+ 997700.661 743069.042 0, 997988.252 743068.915 0, 998275.843 743068.805 0, 998563.435 743068.712 0, 998851.026 743068.636 0, 999138.617 743068.577 0, 999426.209 743068.535 0, 999713.8 743068.509 0, 1000000 743068.501 0, 1000000 737496.344 0,
+ 1000000 731924.451 0))
+
+POLYGON ((1013804.369 743088.001 0, 1013518.168 743087.201 0, 1013230.577 743086.413 0, 1012942.987 743085.643 0, 1012655.397 743084.89 0, 1012367.806 743084.153 0, 1012080.216 743083.434 0, 1011792.625 743082.731 0, 1011505.035 743082.046 0, 1011217.444 743081.377 0,
+ 1010929.854 743080.725 0, 1010642.263 743080.09 0, 1010354.672 743079.473 0, 1010067.082 743078.872 0, 1009779.491 743078.287 0, 1009491.9 743077.72 0, 1009204.309 743077.17 0, 1008916.718 743076.637 0, 1008629.127 743076.12 0, 1008341.537 743075.621 0,
+ 1008053.946 743075.139 0, 1007766.355 743074.673 0, 1007478.764 743074.224 0, 1007191.173 743073.793 0, 1006902.191 743073.376 0, 1006615.99 743072.98 0, 1006328.399 743072.599 0, 1006040.808 743072.235 0, 1005753.217 743071.888 0, 1005465.626 743071.558 0,
+ 1005178.035 743071.245 0, 1004890.444 743070.948 0, 1004602.852 743070.669 0, 1004315.261 743070.406 0, 1004027.67 743070.161 0, 1003740.079 743069.932 0, 1003452.487 743069.721 0, 1003164.896 743069.526 0, 1002877.305 743069.348 0, 1002589.713 743069.187 0,
+ 1002302.122 743069.043 0, 1002014.531 743068.916 0, 1001726.94 743068.806 0, 1001439.348 743068.713 0, 1001151.757 743068.637 0, 1000864.166 743068.577 0, 1000576.574 743068.535 0, 1000288.983 743068.509 0, 1000000 743068.501 0, 1000000 748640.919 0,
+ 1000000 754213.595 0, 1000288.324 754213.603 0, 1000575.259 754213.629 0, 1000862.194 754213.671 0, 1001149.13 754213.73 0, 1001436.065 754213.806 0, 1001723 754213.899 0, 1002009.936 754214.009 0, 1002296.871 754214.136 0, 1002583.807 754214.279 0,
+ 1002870.742 754214.44 0, 1003157.677 754214.617 0, 1003444.612 754214.812 0, 1003731.548 754215.023 0, 1004018.483 754215.251 0, 1004305.418 754215.496 0, 1004592.354 754215.758 0, 1004879.289 754216.036 0, 1005166.224 754216.332 0, 1005453.159 754216.645 0,
+ 1005740.094 754216.974 0, 1006027.03 754217.32 0, 1006313.965 754217.683 0, 1006600.9 754218.064 0, 1006886.448 754218.459 0, 1007174.77 754218.874 0, 1007461.705 754219.305 0, 1007748.64 754219.753 0, 1008035.575 754220.217 0, 1008322.51 754220.699 0,
+ 1008609.445 754221.197 0, 1008896.38 754221.712 0, 1009183.315 754222.244 0, 1009470.25 754222.793 0, 1009757.184 754223.359 0, 1010044.119 754223.942 0, 1010331.054 754224.541 0, 1010617.989 754225.158 0, 1010904.923 754225.791 0, 1011191.858 754226.442 0,
+ 1011478.793 754227.109 0, 1011765.727 754227.793 0, 1012052.662 754228.494 0, 1012339.596 754229.212 0, 1012626.53 754229.946 0, 1012913.465 754230.698 0, 1013200.399 754231.466 0, 1013487.334 754232.252 0, 1013772.882 754233.05 0, 1013788.625 748660.397 0,
+ 1013804.369 743088.001 0))
+
+POLYGON ((1027545.653 754291.416 0, 1027260.106 754289.811 0, 1026973.176 754288.215 0, 1026686.244 754286.636 0, 1026399.313 754285.074 0, 1026112.382 754283.529 0, 1025825.451 754282 0, 1025538.519 754280.488 0, 1025251.588 754278.994 0, 1024964.656 754277.516 0,
+ 1024677.725 754276.055 0, 1024390.793 754274.611 0, 1024103.861 754273.184 0, 1023816.929 754271.774 0, 1023529.997 754270.38 0, 1023243.065 754269.004 0, 1022956.133 754267.644 0, 1022669.201 754266.301 0, 1022382.269 754264.976 0, 1022095.336 754263.667 0,
+ 1021808.404 754262.375 0, 1021521.471 754261.099 0, 1021234.539 754259.841 0, 1020947.606 754258.6 0, 1020659.288 754257.369 0, 1020373.74 754256.168 0, 1020086.807 754254.977 0, 1019799.874 754253.803 0, 1019512.941 754252.646 0, 1019226.008 754251.506 0,
+ 1018939.075 754250.383 0, 1018652.142 754249.277 0, 1018365.209 754248.187 0, 1018078.275 754247.115 0, 1017791.342 754246.059 0, 1017504.408 754245.021 0, 1017217.475 754243.999 0, 1016930.541 754242.994 0, 1016643.607 754242.006 0, 1016356.674 754241.035 0,
+ 1016069.74 754240.08 0, 1015782.806 754239.143 0, 1015495.872 754238.222 0, 1015208.938 754237.319 0, 1014922.004 754236.432 0, 1014635.07 754235.562 0, 1014348.136 754234.709 0, 1014061.202 754233.873 0, 1013772.882 754233.05 0, 1013757.137 759805.958 0,
+ 1013741.392 765379.115 0, 1014029.053 765379.937 0, 1014315.331 765380.771 0, 1014601.609 765381.622 0, 1014887.887 765382.49 0, 1015174.165 765383.374 0, 1015460.443 765384.276 0, 1015746.721 765385.194 0, 1016032.999 765386.129 0, 1016319.276 765387.082 0,
+ 1016605.554 765388.05 0, 1016891.832 765389.036 0, 1017178.109 765390.039 0, 1017464.387 765391.058 0, 1017750.664 765392.095 0, 1018036.942 765393.148 0, 1018323.219 765394.218 0, 1018609.496 765395.305 0, 1018895.774 765396.409 0, 1019182.051 765397.529 0,
+ 1019468.328 765398.667 0, 1019754.605 765399.821 0, 1020040.882 765400.992 0, 1020327.159 765402.18 0, 1020612.054 765403.379 0, 1020899.712 765404.607 0, 1021185.989 765405.845 0, 1021472.265 765407.101 0, 1021758.542 765408.373 0, 1022044.818 765409.662 0,
+ 1022331.095 765410.968 0, 1022617.371 765412.291 0, 1022903.647 765413.63 0, 1023189.923 765414.987 0, 1023476.199 765416.36 0, 1023762.475 765417.75 0, 1024048.751 765419.157 0, 1024335.027 765420.581 0, 1024621.303 765422.022 0, 1024907.578 765423.48 0,
+ 1025193.854 765424.954 0, 1025480.129 765426.445 0, 1025766.405 765427.953 0, 1026052.68 765429.478 0, 1026338.955 765431.02 0, 1026625.23 765432.579 0, 1026911.505 765434.154 0, 1027197.78 765435.747 0, 1027482.674 765437.348 0, 1027514.164 759864.257 0,
+ 1027545.653 754291.416 0))
+
+POLYGON ((1041223.737 765534.402 0, 1040938.846 765531.996 0, 1040652.577 765529.595 0, 1040366.308 765527.211 0, 1040080.038 765524.843 0, 1039793.768 765522.493 0, 1039507.499 765520.159 0, 1039221.229 765517.842 0, 1038934.959 765515.542 0, 1038648.688 765513.259 0,
+ 1038362.418 765510.992 0, 1038076.147 765508.743 0, 1037789.877 765506.51 0, 1037503.606 765504.294 0, 1037217.335 765502.095 0, 1036931.064 765499.913 0, 1036644.793 765497.748 0, 1036358.522 765495.6 0, 1036072.25 765493.468 0, 1035785.979 765491.353 0,
+ 1035499.707 765489.255 0, 1035213.435 765487.174 0, 1034927.164 765485.11 0, 1034640.892 765483.063 0, 1034353.24 765481.023 0, 1034068.347 765479.019 0, 1033782.075 765477.022 0, 1033495.802 765475.042 0, 1033209.53 765473.079 0, 1032923.257 765471.133 0,
+ 1032636.984 765469.203 0, 1032350.711 765467.291 0, 1032064.438 765465.395 0, 1031778.165 765463.516 0, 1031491.892 765461.654 0, 1031205.618 765459.809 0, 1030919.345 765457.981 0, 1030633.071 765456.17 0, 1030346.798 765454.375 0, 1030060.524 765452.597 0,
+ 1029774.25 765450.836 0, 1029487.976 765449.092 0, 1029201.702 765447.365 0, 1028915.427 765445.655 0, 1028629.153 765443.961 0, 1028342.879 765442.285 0, 1028056.604 765440.625 0, 1027770.33 765438.982 0, 1027482.674 765437.348 0, 1027451.182 771010.686 0,
+ 1027419.689 776584.267 0, 1027706.685 776585.898 0, 1027992.304 776587.537 0, 1028277.922 776589.193 0, 1028563.541 776590.866 0, 1028849.159 776592.555 0, 1029134.777 776594.262 0, 1029420.395 776595.985 0, 1029706.013 776597.725 0, 1029991.631 776599.482 0,
+ 1030277.249 776601.255 0, 1030562.866 776603.046 0, 1030848.484 776604.853 0, 1031134.101 776606.677 0, 1031419.718 776608.518 0, 1031705.336 776610.376 0, 1031990.953 776612.25 0, 1032276.57 776614.142 0, 1032562.187 776616.05 0, 1032847.803 776617.975 0,
+ 1033133.42 776619.916 0, 1033419.036 776621.875 0, 1033704.653 776623.85 0, 1033990.269 776625.843 0, 1034274.509 776627.842 0, 1034561.501 776629.877 0, 1034847.117 776631.92 0, 1035132.733 776633.979 0, 1035418.349 776636.056 0, 1035703.964 776638.149 0,
+ 1035989.58 776640.259 0, 1036275.195 776642.385 0, 1036560.81 776644.529 0, 1036846.425 776646.689 0, 1037132.04 776648.866 0, 1037417.655 776651.06 0, 1037703.27 776653.271 0, 1037988.884 776655.498 0, 1038274.499 776657.743 0, 1038560.113 776660.004 0,
+ 1038845.727 776662.282 0, 1039131.341 776664.577 0, 1039416.955 776666.888 0, 1039702.569 776669.217 0, 1039988.183 776671.562 0, 1040273.796 776673.924 0, 1040559.409 776676.303 0, 1040845.023 776678.698 0, 1041129.26 776681.099 0, 1041176.5 771107.629 0,
+ 1041223.737 765534.402 0))
+
+POLYGON ((1054838.503 776816.663 0, 1054554.271 776813.459 0, 1054268.666 776810.256 0, 1053983.06 776807.071 0, 1053697.455 776803.902 0, 1053411.849 776800.749 0, 1053126.243 776797.614 0, 1052840.637 776794.496 0, 1052555.03 776791.394 0, 1052269.424 776788.309 0,
+ 1051983.817 776785.241 0, 1051698.21 776782.19 0, 1051412.603 776779.155 0, 1051126.995 776776.138 0, 1050841.388 776773.137 0, 1050555.78 776770.153 0, 1050270.172 776767.186 0, 1049984.564 776764.235 0, 1049698.956 776761.302 0, 1049413.348 776758.385 0,
+ 1049127.739 776755.485 0, 1048842.131 776752.602 0, 1048556.522 776749.735 0, 1048270.913 776746.886 0, 1047983.929 776744.04 0, 1047699.694 776741.237 0, 1047414.085 776738.438 0, 1047128.475 776735.656 0, 1046842.865 776732.89 0, 1046557.255 776730.142 0,
+ 1046271.645 776727.41 0, 1045986.035 776724.695 0, 1045700.424 776721.997 0, 1045414.814 776719.315 0, 1045129.203 776716.65 0, 1044843.592 776714.003 0, 1044557.981 776711.372 0, 1044272.369 776708.757 0, 1043986.758 776706.16 0, 1043701.146 776703.58 0,
+ 1043415.535 776701.016 0, 1043129.923 776698.469 0, 1042844.311 776695.939 0, 1042558.699 776693.425 0, 1042273.086 776690.929 0, 1041987.474 776688.449 0, 1041701.861 776685.986 0, 1041416.248 776683.54 0, 1041129.26 776681.099 0, 1041082.019 782254.809 0,
+ 1041034.775 787828.755 0, 1041321.104 787831.19 0, 1041606.061 787833.631 0, 1041891.017 787836.088 0, 1042175.974 787838.562 0, 1042460.93 787841.053 0, 1042745.886 787843.56 0, 1043030.842 787846.085 0, 1043315.798 787848.626 0, 1043600.753 787851.183 0,
+ 1043885.709 787853.758 0, 1044170.664 787856.35 0, 1044455.619 787858.958 0, 1044740.574 787861.583 0, 1045025.529 787864.224 0, 1045310.484 787866.883 0, 1045595.438 787869.558 0, 1045880.393 787872.25 0, 1046165.347 787874.959 0, 1046450.301 787877.685 0,
+ 1046735.255 787880.427 0, 1047020.209 787883.186 0, 1047305.162 787885.962 0, 1047590.115 787888.755 0, 1047873.698 787891.551 0, 1048160.022 787894.39 0, 1048444.975 787897.233 0, 1048729.927 787900.093 0, 1049014.88 787902.97 0, 1049299.832 787905.863 0,
+ 1049584.785 787908.773 0, 1049869.737 787911.7 0, 1050154.689 787914.643 0, 1050439.64 787917.604 0, 1050724.592 787920.581 0, 1051009.543 787923.575 0, 1051294.494 787926.586 0, 1051579.445 787929.613 0, 1051864.396 787932.657 0, 1052149.347 787935.718 0,
+ 1052434.297 787938.796 0, 1052719.248 787941.891 0, 1053004.198 787945.002 0, 1053289.148 787948.13 0, 1053574.097 787951.275 0, 1053859.047 787954.437 0, 1054143.996 787957.615 0, 1054428.945 787960.81 0, 1054712.524 787964.007 0, 1054775.515 782390.217 0,
+ 1054838.503 776816.663 0))
+
+POLYGON ((1068389.837 788137.9 0, 1068106.266 788133.903 0, 1067821.327 788129.903 0, 1067536.387 788125.919 0, 1067251.448 788121.952 0, 1066966.508 788118.003 0, 1066681.568 788114.069 0, 1066396.628 788110.153 0, 1066111.688 788106.253 0, 1065826.747 788102.371 0,
+ 1065541.806 788098.505 0, 1065256.865 788094.655 0, 1064971.924 788090.823 0, 1064686.982 788087.007 0, 1064402.04 788083.208 0, 1064117.099 788079.426 0, 1063832.156 788075.661 0, 1063547.214 788071.912 0, 1063262.271 788068.18 0, 1062977.328 788064.465 0,
+ 1062692.385 788060.767 0, 1062407.442 788057.085 0, 1062122.498 788053.42 0, 1061837.555 788049.772 0, 1061551.242 788046.124 0, 1061267.667 788042.526 0, 1060982.722 788038.929 0, 1060697.778 788035.348 0, 1060412.833 788031.784 0, 1060127.888 788028.236 0,
+ 1059842.943 788024.706 0, 1059557.997 788021.192 0, 1059273.052 788017.695 0, 1058988.106 788014.214 0, 1058703.16 788010.751 0, 1058418.213 788007.304 0, 1058133.267 788003.874 0, 1057848.32 788000.461 0, 1057563.374 787997.064 0, 1057278.427 787993.685 0,
+ 1056993.479 787990.322 0, 1056708.532 787986.976 0, 1056423.584 787983.646 0, 1056138.636 787980.334 0, 1055853.688 787977.038 0, 1055568.74 787973.759 0, 1055283.792 787970.497 0, 1054998.843 787967.251 0, 1054712.524 787964.007 0, 1054649.531 793538.03 0,
+ 1054586.535 799112.281 0, 1054872.195 799115.518 0, 1055156.487 799118.756 0, 1055440.779 799122.011 0, 1055725.071 799125.282 0, 1056009.363 799128.57 0, 1056293.655 799131.875 0, 1056577.946 799135.197 0, 1056862.238 799138.535 0, 1057146.529 799141.891 0,
+ 1057430.82 799145.262 0, 1057715.11 799148.651 0, 1057999.401 799152.056 0, 1058283.691 799155.479 0, 1058567.981 799158.917 0, 1058852.271 799162.373 0, 1059136.561 799165.845 0, 1059420.85 799169.334 0, 1059705.139 799172.84 0, 1059989.429 799176.363 0,
+ 1060273.717 799179.902 0, 1060558.006 799183.458 0, 1060842.294 799187.03 0, 1061126.583 799190.62 0, 1061409.505 799194.209 0, 1061695.158 799197.849 0, 1061979.446 799201.489 0, 1062263.733 799205.145 0, 1062548.021 799208.818 0, 1062832.307 799212.508 0,
+ 1063116.594 799216.214 0, 1063400.881 799219.938 0, 1063685.167 799223.678 0, 1063969.453 799227.434 0, 1064253.739 799231.208 0, 1064538.024 799234.998 0, 1064822.31 799238.805 0, 1065106.595 799242.629 0, 1065390.88 799246.469 0, 1065675.165 799250.326 0,
+ 1065959.449 799254.2 0, 1066243.733 799258.091 0, 1066528.017 799261.998 0, 1066812.301 799265.922 0, 1067096.585 799269.863 0, 1067380.868 799273.82 0, 1067665.151 799277.795 0, 1067949.434 799281.786 0, 1068232.352 799285.774 0, 1068311.096 793711.723 0,
+ 1068389.837 788137.9 0))
+
+POLYGON ((1081877.624 799497.819 0, 1081594.717 799493.031 0, 1081310.446 799488.237 0, 1081026.175 799483.459 0, 1080741.904 799478.699 0, 1080457.633 799473.955 0, 1080173.362 799469.227 0, 1079889.09 799464.517 0, 1079604.818 799459.823 0, 1079320.545 799455.146 0,
+ 1079036.272 799450.486 0, 1078752 799445.842 0, 1078467.726 799441.216 0, 1078183.453 799436.605 0, 1077899.179 799432.012 0, 1077614.905 799427.435 0, 1077330.631 799422.876 0, 1077046.356 799418.332 0, 1076762.081 799413.806 0, 1076477.806 799409.296 0,
+ 1076193.531 799404.803 0, 1075909.255 799400.327 0, 1075624.979 799395.868 0, 1075340.703 799391.425 0, 1075055.063 799386.978 0, 1074772.15 799382.589 0, 1074487.873 799378.197 0, 1074203.596 799373.821 0, 1073919.318 799369.462 0, 1073635.041 799365.12 0,
+ 1073350.763 799360.794 0, 1073066.484 799356.485 0, 1072782.206 799352.193 0, 1072497.927 799347.917 0, 1072213.648 799343.659 0, 1071929.369 799339.417 0, 1071645.09 799335.191 0, 1071360.81 799330.983 0, 1071076.53 799326.791 0, 1070792.25 799322.616 0,
+ 1070507.969 799318.458 0, 1070223.688 799314.316 0, 1069939.408 799310.191 0, 1069655.126 799306.083 0, 1069370.845 799301.992 0, 1069086.563 799297.917 0, 1068802.281 799293.859 0, 1068517.999 799289.818 0, 1068232.352 799285.774 0, 1068153.605 804860.051 0,
+ 1068074.855 810434.549 0, 1068359.843 810438.583 0, 1068643.469 810442.615 0, 1068927.094 810446.664 0, 1069210.72 810450.729 0, 1069494.345 810454.811 0, 1069777.97 810458.91 0, 1070061.595 810463.025 0, 1070345.219 810467.157 0, 1070628.844 810471.306 0,
+ 1070912.468 810475.471 0, 1071196.091 810479.653 0, 1071479.715 810483.852 0, 1071763.338 810488.068 0, 1072046.961 810492.3 0, 1072330.584 810496.549 0, 1072614.207 810500.814 0, 1072897.829 810505.097 0, 1073181.451 810509.396 0, 1073465.073 810513.711 0,
+ 1073748.694 810518.044 0, 1074032.315 810522.393 0, 1074315.936 810526.758 0, 1074599.557 810531.141 0, 1074881.817 810535.519 0, 1075166.798 810539.956 0, 1075450.418 810544.388 0, 1075734.038 810548.837 0, 1076017.657 810553.303 0, 1076301.276 810557.786 0,
+ 1076584.895 810562.285 0, 1076868.514 810566.801 0, 1077152.132 810571.334 0, 1077435.75 810575.883 0, 1077719.368 810580.449 0, 1078002.986 810585.032 0, 1078286.603 810589.632 0, 1078570.22 810594.248 0, 1078853.837 810598.88 0, 1079137.454 810603.53 0,
+ 1079421.07 810608.196 0, 1079704.686 810612.879 0, 1079988.301 810617.579 0, 1080271.917 810622.295 0, 1080555.532 810627.028 0, 1080839.147 810631.778 0, 1081122.761 810636.544 0, 1081406.376 810641.327 0, 1081688.631 810646.104 0, 1081783.129 805071.85 0,
+ 1081877.624 799497.819 0))
+
+POLYGON ((1095301.754 810896.119 0, 1095019.512 810890.545 0, 1094735.912 810884.961 0, 1094452.312 810879.393 0, 1094168.712 810873.842 0, 1093885.111 810868.308 0, 1093601.51 810862.791 0, 1093317.909 810857.29 0, 1093034.307 810851.806 0, 1092750.705 810846.338 0,
+ 1092467.103 810840.887 0, 1092183.501 810835.453 0, 1091899.898 810830.036 0, 1091616.295 810824.635 0, 1091332.691 810819.251 0, 1091049.087 810813.884 0, 1090765.483 810808.533 0, 1090481.879 810803.199 0, 1090198.274 810797.882 0, 1089914.669 810792.581 0,
+ 1089631.063 810787.298 0, 1089347.458 810782.03 0, 1089063.852 810776.78 0, 1088780.245 810771.546 0, 1088495.281 810766.304 0, 1088213.032 810761.129 0, 1087929.424 810755.945 0, 1087645.817 810750.778 0, 1087362.209 810745.628 0, 1087078.601 810740.494 0,
+ 1086794.992 810735.377 0, 1086511.384 810730.277 0, 1086227.775 810725.193 0, 1085944.165 810720.127 0, 1085660.556 810715.076 0, 1085376.946 810710.043 0, 1085093.335 810705.026 0, 1084809.725 810700.026 0, 1084526.114 810695.043 0, 1084242.503 810690.076 0,
+ 1083958.891 810685.126 0, 1083675.28 810680.193 0, 1083391.668 810675.276 0, 1083108.055 810670.376 0, 1082824.443 810665.493 0, 1082540.83 810660.626 0, 1082257.217 810655.777 0, 1081973.603 810650.943 0, 1081688.631 810646.104 0, 1081594.128 816220.575 0,
+ 1081499.622 821795.261 0, 1081783.935 821800.089 0, 1082066.893 821804.911 0, 1082349.85 821809.75 0, 1082632.806 821814.605 0, 1082915.763 821819.477 0, 1083198.719 821824.366 0, 1083481.674 821829.271 0, 1083764.63 821834.193 0, 1084047.585 821839.131 0,
+ 1084330.54 821844.087 0, 1084613.495 821849.058 0, 1084896.449 821854.047 0, 1085179.403 821859.052 0, 1085462.357 821864.074 0, 1085745.31 821869.112 0, 1086028.263 821874.167 0, 1086311.216 821879.239 0, 1086594.169 821884.328 0, 1086877.121 821889.433 0,
+ 1087160.073 821894.555 0, 1087443.025 821899.693 0, 1087725.976 821904.848 0, 1088008.927 821910.02 0, 1088290.523 821915.183 0, 1088574.828 821920.413 0, 1088857.778 821925.635 0, 1089140.728 821930.873 0, 1089423.678 821936.128 0, 1089706.627 821941.4 0,
+ 1089989.576 821946.688 0, 1090272.524 821951.993 0, 1090555.473 821957.314 0, 1090838.421 821962.653 0, 1091121.368 821968.008 0, 1091404.316 821973.379 0, 1091687.263 821978.767 0, 1091970.209 821984.172 0, 1092253.156 821989.594 0, 1092536.102 821995.032 0,
+ 1092819.047 822000.487 0, 1093101.993 822005.958 0, 1093384.938 822011.446 0, 1093667.883 822016.951 0, 1093950.827 822022.472 0, 1094233.771 822028.011 0, 1094516.715 822033.565 0, 1094799.658 822039.137 0, 1095081.248 822044.698 0, 1095191.503 816470.302 0,
+ 1095301.754 810896.119 0))
+
+POLYGON ((1108662.115 822332.505 0, 1108380.54 822326.148 0, 1108097.614 822319.777 0, 1107814.687 822313.423 0, 1107531.759 822307.085 0, 1107248.832 822300.765 0, 1106965.903 822294.461 0, 1106682.975 822288.173 0, 1106400.046 822281.902 0, 1106117.117 822275.648 0,
+ 1105834.187 822269.411 0, 1105551.258 822263.19 0, 1105268.327 822256.985 0, 1104985.397 822250.798 0, 1104702.466 822244.627 0, 1104419.534 822238.473 0, 1104136.602 822232.335 0, 1103853.67 822226.214 0, 1103570.738 822220.11 0, 1103287.805 822214.022 0,
+ 1103004.872 822207.951 0, 1102721.938 822201.897 0, 1102439.004 822195.859 0, 1102156.07 822189.838 0, 1101871.783 822183.805 0, 1101590.201 822177.846 0, 1101307.265 822171.875 0, 1101024.33 822165.921 0, 1100741.394 822159.983 0, 1100458.457 822154.062 0,
+ 1100175.521 822148.157 0, 1099892.584 822142.269 0, 1099609.646 822136.398 0, 1099326.708 822130.544 0, 1099043.77 822124.706 0, 1098760.832 822118.885 0, 1098477.893 822113.08 0, 1098194.954 822107.292 0, 1097912.015 822101.521 0, 1097629.075 822095.767 0,
+ 1097346.135 822090.029 0, 1097063.194 822084.307 0, 1096780.253 822078.603 0, 1096497.312 822072.915 0, 1096214.371 822067.243 0, 1095931.429 822061.589 0, 1095648.487 822055.951 0, 1095365.544 822050.329 0, 1095081.248 822044.698 0, 1094970.988 827619.305 0,
+ 1094860.725 833194.119 0, 1095144.362 833199.737 0, 1095426.648 833205.346 0, 1095708.934 833210.971 0, 1095991.22 833216.612 0, 1096273.505 833222.27 0, 1096555.79 833227.945 0, 1096838.074 833233.636 0, 1097120.359 833239.344 0, 1097402.643 833245.069 0,
+ 1097684.926 833250.81 0, 1097967.209 833256.568 0, 1098249.492 833262.343 0, 1098531.775 833268.134 0, 1098814.057 833273.941 0, 1099096.339 833279.766 0, 1099378.62 833285.607 0, 1099660.902 833291.464 0, 1099943.182 833297.338 0, 1100225.463 833303.229 0,
+ 1100507.743 833309.136 0, 1100790.023 833315.06 0, 1101072.302 833321.001 0, 1101354.581 833326.958 0, 1101635.511 833332.904 0, 1101919.139 833338.923 0, 1102201.417 833344.93 0, 1102483.694 833350.953 0, 1102765.972 833356.994 0, 1103048.249 833363.05 0,
+ 1103330.525 833369.124 0, 1103612.801 833375.214 0, 1103895.077 833381.321 0, 1104177.353 833387.444 0, 1104459.628 833393.584 0, 1104741.903 833399.741 0, 1105024.177 833405.914 0, 1105306.451 833412.104 0, 1105588.725 833418.31 0, 1105870.998 833424.533 0,
+ 1106153.271 833430.773 0, 1106435.544 833437.029 0, 1106717.816 833443.302 0, 1107000.088 833449.592 0, 1107282.36 833455.898 0, 1107564.631 833462.221 0, 1107846.902 833468.56 0, 1108129.172 833474.916 0, 1108410.094 833481.258 0, 1108536.107 827906.778 0,
+ 1108662.115 822332.505 0))
+
+POLYGON ((1121958.597 833806.675 0, 1121677.692 833799.539 0, 1121395.441 833792.386 0, 1121113.189 833785.249 0, 1120830.937 833778.129 0, 1120548.685 833771.026 0, 1120266.432 833763.939 0, 1119984.178 833756.868 0, 1119701.924 833749.815 0, 1119419.67 833742.777 0,
+ 1119137.415 833735.757 0, 1118855.16 833728.753 0, 1118572.905 833721.766 0, 1118290.649 833714.795 0, 1118008.393 833707.841 0, 1117726.136 833700.904 0, 1117443.879 833693.983 0, 1117161.621 833687.079 0, 1116879.364 833680.191 0, 1116597.105 833673.32 0,
+ 1116314.846 833666.466 0, 1116032.587 833659.628 0, 1115750.328 833652.807 0, 1115468.068 833646.002 0, 1115184.46 833639.182 0, 1114903.547 833632.443 0, 1114621.286 833625.688 0, 1114339.024 833618.95 0, 1114056.762 833612.229 0, 1113774.5 833605.524 0,
+ 1113492.237 833598.836 0, 1113209.974 833592.164 0, 1112927.711 833585.509 0, 1112645.447 833578.871 0, 1112363.182 833572.249 0, 1112080.918 833565.644 0, 1111798.653 833559.055 0, 1111516.387 833552.483 0, 1111234.121 833545.928 0, 1110951.855 833539.389 0,
+ 1110669.589 833532.867 0, 1110387.322 833526.362 0, 1110105.054 833519.873 0, 1109822.786 833513.401 0, 1109540.518 833506.945 0, 1109258.25 833500.506 0, 1108975.981 833494.083 0, 1108693.712 833487.678 0, 1108410.094 833481.258 0, 1108284.076 839055.941 0,
+ 1108158.054 844630.824 0, 1108441.013 844637.229 0, 1108722.626 844643.62 0, 1109004.238 844650.027 0, 1109285.851 844656.451 0, 1109567.462 844662.892 0, 1109849.074 844669.349 0, 1110130.685 844675.823 0, 1110412.296 844682.313 0, 1110693.906 844688.82 0,
+ 1110975.516 844695.344 0, 1111257.126 844701.884 0, 1111538.735 844708.441 0, 1111820.344 844715.014 0, 1112101.952 844721.604 0, 1112383.56 844728.21 0, 1112665.168 844734.833 0, 1112946.775 844741.472 0, 1113228.382 844748.129 0, 1113509.989 844754.801 0,
+ 1113791.595 844761.491 0, 1114073.201 844768.196 0, 1114354.806 844774.919 0, 1114636.411 844781.658 0, 1114916.671 844788.381 0, 1115199.619 844795.185 0, 1115481.223 844801.974 0, 1115762.826 844808.779 0, 1116044.429 844815.601 0, 1116326.032 844822.44 0,
+ 1116607.634 844829.295 0, 1116889.236 844836.166 0, 1117170.837 844843.054 0, 1117452.438 844849.959 0, 1117734.038 844856.88 0, 1118015.638 844863.818 0, 1118297.238 844870.773 0, 1118578.837 844877.744 0, 1118860.436 844884.731 0, 1119142.035 844891.736 0,
+ 1119423.633 844898.756 0, 1119705.23 844905.794 0, 1119986.828 844912.848 0, 1120268.424 844919.918 0, 1120550.021 844927.005 0, 1120831.617 844934.109 0, 1121113.212 844941.229 0, 1121394.807 844948.366 0, 1121675.059 844955.485 0, 1121816.831 839380.98 0,
+ 1121958.597 833806.675 0))
+
+POLYGON ((1135191.093 845318.332 0, 1134910.86 845310.421 0, 1134629.286 845302.489 0, 1134347.712 845294.573 0, 1134066.137 845286.674 0, 1133784.562 845278.792 0, 1133502.986 845270.926 0, 1133221.41 845263.076 0, 1132939.834 845255.243 0, 1132658.257 845247.427 0,
+ 1132376.679 845239.627 0, 1132095.101 845231.844 0, 1131813.523 845224.078 0, 1131531.944 845216.328 0, 1131250.364 845208.594 0, 1130968.784 845200.877 0, 1130687.204 845193.177 0, 1130405.623 845185.493 0, 1130124.042 845177.826 0, 1129842.461 845170.176 0,
+ 1129560.879 845162.542 0, 1129279.296 845154.924 0, 1128997.713 845147.323 0, 1128716.13 845139.739 0, 1128433.204 845132.135 0, 1128152.962 845124.62 0, 1127871.377 845117.086 0, 1127589.792 845109.568 0, 1127308.206 845102.066 0, 1127026.62 845094.582 0,
+ 1126745.033 845087.113 0, 1126463.446 845079.662 0, 1126181.859 845072.227 0, 1125900.271 845064.808 0, 1125618.683 845057.406 0, 1125337.094 845050.021 0, 1125055.505 845042.652 0, 1124773.916 845035.3 0, 1124492.326 845027.964 0, 1124210.735 845020.645 0,
+ 1123929.144 845013.342 0, 1123647.553 845006.057 0, 1123365.961 844998.787 0, 1123084.369 844991.534 0, 1122802.776 844984.298 0, 1122521.183 844977.079 0, 1122239.59 844969.875 0, 1121957.996 844962.689 0, 1121675.059 844955.485 0, 1121533.282 850530.185 0,
+ 1121391.501 856105.077 0, 1121673.779 856112.265 0, 1121954.716 856119.434 0, 1122235.654 856126.621 0, 1122516.59 856133.824 0, 1122797.527 856141.043 0, 1123078.463 856148.279 0, 1123359.398 856155.531 0, 1123640.333 856162.8 0, 1123921.268 856170.086 0,
+ 1124202.202 856177.388 0, 1124483.136 856184.706 0, 1124764.069 856192.041 0, 1125045.002 856199.393 0, 1125325.934 856206.761 0, 1125606.866 856214.146 0, 1125887.798 856221.547 0, 1126168.729 856228.965 0, 1126449.66 856236.399 0, 1126730.59 856243.85 0,
+ 1127011.52 856251.317 0, 1127292.45 856258.801 0, 1127573.378 856266.302 0, 1127854.307 856273.819 0, 1128133.896 856281.316 0, 1128416.163 856288.902 0, 1128697.09 856296.469 0, 1128978.017 856304.052 0, 1129258.943 856311.652 0, 1129539.869 856319.268 0,
+ 1129820.794 856326.901 0, 1130101.719 856334.55 0, 1130382.644 856342.216 0, 1130663.568 856349.898 0, 1130944.491 856357.597 0, 1131225.415 856365.312 0, 1131506.337 856373.044 0, 1131787.259 856380.793 0, 1132068.181 856388.558 0, 1132349.103 856396.339 0,
+ 1132630.023 856404.137 0, 1132910.944 856411.952 0, 1133191.864 856419.783 0, 1133472.783 856427.631 0, 1133753.702 856435.495 0, 1134034.621 856443.376 0, 1134315.539 856451.273 0, 1134596.457 856459.187 0, 1134876.036 856467.079 0, 1135033.567 850892.61 0,
+ 1135191.093 845318.332 0))
+
+POLYGON ((1148359.495 856867.176 0, 1148079.937 856858.494 0, 1147799.042 856849.786 0, 1147518.148 856841.095 0, 1147237.253 856832.421 0, 1146956.357 856823.763 0, 1146675.461 856815.122 0, 1146394.564 856806.497 0, 1146113.667 856797.889 0, 1145832.769 856789.297 0,
+ 1145551.871 856780.722 0, 1145270.972 856772.163 0, 1144990.073 856763.621 0, 1144709.173 856755.096 0, 1144428.273 856746.587 0, 1144147.372 856738.094 0, 1143866.471 856729.618 0, 1143585.569 856721.159 0, 1143304.667 856712.716 0, 1143023.764 856704.289 0,
+ 1142742.861 856695.88 0, 1142461.957 856687.486 0, 1142181.053 856679.11 0, 1141900.149 856670.749 0, 1141617.907 856662.366 0, 1141338.338 856654.078 0, 1141057.431 856645.768 0, 1140776.525 856637.474 0, 1140495.618 856629.196 0, 1140214.71 856620.935 0,
+ 1139933.802 856612.691 0, 1139652.893 856604.463 0, 1139371.984 856596.251 0, 1139091.075 856588.056 0, 1138810.165 856579.878 0, 1138529.254 856571.716 0, 1138248.343 856563.571 0, 1137967.432 856555.442 0, 1137686.52 856547.33 0, 1137405.607 856539.234 0,
+ 1137124.694 856531.155 0, 1136843.781 856523.092 0, 1136562.867 856515.046 0, 1136281.953 856507.017 0, 1136001.038 856499.004 0, 1135720.122 856491.007 0, 1135439.207 856483.027 0, 1135158.29 856475.064 0, 1134876.036 856467.079 0, 1134718.5 862041.737 0,
+ 1134560.958 867616.579 0, 1134842.553 867624.545 0, 1135122.813 867632.49 0, 1135403.073 867640.451 0, 1135683.332 867648.429 0, 1135963.59 867656.423 0, 1136243.849 867664.434 0, 1136524.106 867672.461 0, 1136804.363 867680.505 0, 1137084.62 867688.566 0,
+ 1137364.876 867696.642 0, 1137645.132 867704.736 0, 1137925.387 867712.845 0, 1138205.642 867720.972 0, 1138485.896 867729.114 0, 1138766.15 867737.274 0, 1139046.404 867745.449 0, 1139326.656 867753.642 0, 1139606.909 867761.85 0, 1139887.161 867770.076 0,
+ 1140167.412 867778.317 0, 1140447.663 867786.576 0, 1140727.914 867794.85 0, 1141008.164 867803.141 0, 1141287.08 867811.41 0, 1141568.662 867819.773 0, 1141848.91 867828.114 0, 1142129.158 867836.471 0, 1142409.406 867844.845 0, 1142689.653 867853.235 0,
+ 1142969.9 867861.642 0, 1143250.146 867870.065 0, 1143530.391 867878.505 0, 1143810.636 867886.961 0, 1144090.881 867895.433 0, 1144371.125 867903.923 0, 1144651.368 867912.428 0, 1144931.611 867920.95 0, 1145211.854 867929.489 0, 1145492.096 867938.044 0,
+ 1145772.337 867946.616 0, 1146052.578 867955.204 0, 1146332.819 867963.809 0, 1146613.059 867972.43 0, 1146893.298 867981.067 0, 1147173.537 867989.721 0, 1147453.776 867998.392 0, 1147734.014 868007.079 0, 1148012.919 868015.741 0, 1148186.21 862441.366 0,
+ 1148359.495 856867.176 0))
+
+POLYGON ((1161463.698 868452.906 0, 1161184.816 868443.456 0, 1160904.604 868433.977 0, 1160624.391 868424.515 0, 1160344.178 868415.069 0, 1160063.964 868405.64 0, 1159783.749 868396.227 0, 1159503.534 868386.83 0, 1159223.319 868377.451 0, 1158943.102 868368.087 0,
+ 1158662.886 868358.74 0, 1158382.668 868349.41 0, 1158102.451 868340.096 0, 1157822.232 868330.799 0, 1157542.013 868321.518 0, 1157261.794 868312.254 0, 1156981.574 868303.006 0, 1156701.353 868293.774 0, 1156421.132 868284.56 0, 1156140.91 868275.361 0,
+ 1155860.688 868266.179 0, 1155580.466 868257.014 0, 1155300.242 868247.865 0, 1155020.018 868238.733 0, 1154738.463 868229.573 0, 1154459.569 868220.517 0, 1154179.344 868211.434 0, 1153899.118 868202.368 0, 1153618.891 868193.318 0, 1153338.664 868184.284 0,
+ 1153058.437 868175.267 0, 1152778.209 868166.267 0, 1152497.98 868157.283 0, 1152217.751 868148.316 0, 1151937.521 868139.365 0, 1151657.291 868130.43 0, 1151377.06 868121.512 0, 1151096.829 868112.611 0, 1150816.597 868103.726 0, 1150536.365 868094.857 0,
+ 1150256.132 868086.005 0, 1149975.899 868077.169 0, 1149695.665 868068.35 0, 1149415.431 868059.548 0, 1149135.196 868050.762 0, 1148854.961 868041.992 0, 1148574.725 868033.239 0, 1148294.488 868024.503 0, 1148012.919 868015.741 0, 1147839.623 873590.297 0,
+ 1147666.321 879165.029 0, 1147947.23 879173.77 0, 1148226.811 879182.486 0, 1148506.39 879191.219 0, 1148785.97 879199.968 0, 1149065.548 879208.733 0, 1149345.126 879217.515 0, 1149624.704 879226.313 0, 1149904.281 879235.128 0, 1150183.858 879243.96 0,
+ 1150463.434 879252.807 0, 1150743.009 879261.672 0, 1151022.584 879270.552 0, 1151302.159 879279.449 0, 1151581.733 879288.363 0, 1151861.306 879297.293 0, 1152140.879 879306.239 0, 1152420.452 879315.202 0, 1152700.023 879324.182 0, 1152979.595 879333.178 0,
+ 1153259.166 879342.19 0, 1153538.736 879351.219 0, 1153818.306 879360.264 0, 1154097.875 879369.325 0, 1154376.116 879378.36 0, 1154657.012 879387.498 0, 1154936.579 879396.609 0, 1155216.146 879405.737 0, 1155495.713 879414.881 0, 1155775.279 879424.041 0,
+ 1156054.844 879433.218 0, 1156334.409 879442.411 0, 1156613.974 879451.621 0, 1156893.538 879460.847 0, 1157173.101 879470.09 0, 1157452.664 879479.349 0, 1157732.226 879488.625 0, 1158011.787 879497.917 0, 1158291.349 879507.225 0, 1158570.909 879516.55 0,
+ 1158850.469 879525.891 0, 1159130.029 879535.249 0, 1159409.588 879544.624 0, 1159689.146 879554.014 0, 1159968.704 879563.422 0, 1160248.261 879572.845 0, 1160527.818 879582.285 0, 1160807.374 879591.742 0, 1161085.603 879601.17 0, 1161274.653 874026.949 0,
+ 1161463.698 868452.906 0))
+
+POLYGON ((1174503.599 880075.221 0, 1174225.396 880065.007 0, 1173945.867 880054.761 0, 1173666.338 880044.531 0, 1173386.809 880034.317 0, 1173107.279 880024.12 0, 1172827.748 880013.94 0, 1172548.217 880003.776 0, 1172268.685 879993.628 0, 1171989.152 879983.497 0,
+ 1171709.619 879973.382 0, 1171430.085 879963.284 0, 1171150.551 879953.202 0, 1170871.016 879943.137 0, 1170591.481 879933.088 0, 1170311.945 879923.055 0, 1170032.408 879913.039 0, 1169752.871 879903.04 0, 1169473.333 879893.057 0, 1169193.795 879883.09 0,
+ 1168914.256 879873.14 0, 1168634.716 879863.206 0, 1168355.176 879853.289 0, 1168075.635 879843.388 0, 1167794.768 879833.457 0, 1167516.552 879823.636 0, 1167237.009 879813.784 0, 1166957.466 879803.949 0, 1166677.923 879794.131 0, 1166398.378 879784.329 0,
+ 1166118.833 879774.543 0, 1165839.288 879764.774 0, 1165559.742 879755.021 0, 1165280.196 879745.285 0, 1165000.648 879735.565 0, 1164721.101 879725.862 0, 1164441.553 879716.175 0, 1164162.004 879706.504 0, 1163882.454 879696.85 0, 1163602.904 879687.213 0,
+ 1163323.354 879677.591 0, 1163043.803 879667.987 0, 1162764.251 879658.399 0, 1162484.699 879648.827 0, 1162205.146 879639.272 0, 1161925.593 879629.733 0, 1161646.039 879620.21 0, 1161366.484 879610.704 0, 1161085.603 879601.17 0, 1160896.546 885175.563 0,
+ 1160707.483 890750.126 0, 1160987.706 890759.638 0, 1161266.604 890769.122 0, 1161545.502 890778.622 0, 1161824.399 890788.138 0, 1162103.295 890797.671 0, 1162382.192 890807.221 0, 1162661.087 890816.786 0, 1162939.982 890826.368 0, 1163218.876 890835.967 0,
+ 1163497.77 890845.582 0, 1163776.663 890855.213 0, 1164055.556 890864.861 0, 1164334.448 890874.525 0, 1164613.339 890884.206 0, 1164892.23 890893.903 0, 1165171.121 890903.616 0, 1165450.01 890913.346 0, 1165728.9 890923.092 0, 1166007.788 890932.855 0,
+ 1166286.676 890942.634 0, 1166565.564 890952.43 0, 1166844.451 890962.242 0, 1167123.337 890972.07 0, 1167400.9 890981.868 0, 1167681.108 890991.776 0, 1167959.993 891001.653 0, 1168238.877 891011.547 0, 1168517.76 891021.458 0, 1168796.643 891031.385 0,
+ 1169075.525 891041.328 0, 1169354.407 891051.288 0, 1169633.288 891061.264 0, 1169912.168 891071.256 0, 1170191.048 891081.265 0, 1170469.928 891091.29 0, 1170748.806 891101.332 0, 1171027.684 891111.39 0, 1171306.562 891121.465 0, 1171585.439 891131.556 0,
+ 1171864.315 891141.663 0, 1172143.191 891151.787 0, 1172422.066 891161.927 0, 1172700.941 891172.084 0, 1172979.815 891182.257 0, 1173258.688 891192.446 0, 1173537.561 891202.652 0, 1173816.433 891212.874 0, 1174093.983 891223.065 0, 1174298.794 885649.058 0,
+ 1174503.599 880075.221 0))
+
+POLYGON ((1187479.093 891733.82 0, 1187201.571 891722.846 0, 1186922.729 891711.836 0, 1186643.886 891700.842 0, 1186365.043 891689.865 0, 1186086.198 891678.904 0, 1185807.354 891667.96 0, 1185528.508 891657.032 0, 1185249.662 891646.12 0, 1184970.816 891635.225 0,
+ 1184691.968 891624.346 0, 1184413.12 891613.484 0, 1184134.272 891602.638 0, 1183855.422 891591.808 0, 1183576.573 891580.995 0, 1183297.722 891570.198 0, 1183018.871 891559.418 0, 1182740.019 891548.654 0, 1182461.167 891537.906 0, 1182182.314 891527.175 0,
+ 1181903.46 891516.461 0, 1181624.606 891505.762 0, 1181345.751 891495.08 0, 1181066.895 891484.415 0, 1180786.719 891473.716 0, 1180509.182 891463.133 0, 1180230.325 891452.517 0, 1179951.467 891441.917 0, 1179672.608 891431.334 0, 1179393.749 891420.767 0,
+ 1179114.889 891410.216 0, 1178836.028 891399.682 0, 1178557.167 891389.165 0, 1178278.305 891378.663 0, 1177999.443 891368.178 0, 1177720.58 891357.71 0, 1177441.716 891347.258 0, 1177162.852 891336.822 0, 1176883.987 891326.403 0, 1176605.121 891316 0,
+ 1176326.255 891305.614 0, 1176047.389 891295.244 0, 1175768.521 891284.89 0, 1175489.653 891274.553 0, 1175210.785 891264.232 0, 1174931.916 891253.928 0, 1174653.046 891243.64 0, 1174374.176 891233.368 0, 1174093.983 891223.065 0, 1173889.166 896797.236 0,
+ 1173684.343 902371.57 0, 1173963.876 902381.849 0, 1174242.091 902392.096 0, 1174520.304 902402.36 0, 1174798.517 902412.64 0, 1175076.729 902422.937 0, 1175354.941 902433.25 0, 1175633.152 902443.579 0, 1175911.363 902453.924 0, 1176189.573 902464.286 0,
+ 1176467.782 902474.665 0, 1176745.991 902485.06 0, 1177024.199 902495.471 0, 1177302.406 902505.898 0, 1177580.613 902516.342 0, 1177858.82 902526.802 0, 1178137.025 902537.279 0, 1178415.23 902547.772 0, 1178693.435 902558.281 0, 1178971.638 902568.807 0,
+ 1179249.842 902579.349 0, 1179528.044 902589.907 0, 1179806.246 902600.482 0, 1180084.447 902611.074 0, 1180361.331 902621.631 0, 1180640.848 902632.305 0, 1180919.048 902642.945 0, 1181197.246 902653.602 0, 1181475.445 902664.275 0, 1181753.642 902674.965 0,
+ 1182031.839 902685.671 0, 1182310.035 902696.393 0, 1182588.231 902707.131 0, 1182866.426 902717.886 0, 1183144.62 902728.658 0, 1183422.814 902739.445 0, 1183701.007 902750.25 0, 1183979.2 902761.07 0, 1184257.392 902771.907 0, 1184535.583 902782.76 0,
+ 1184813.773 902793.63 0, 1185091.963 902804.516 0, 1185370.152 902815.418 0, 1185648.341 902826.337 0, 1185926.529 902837.272 0, 1186204.716 902848.223 0, 1186482.903 902859.191 0, 1186761.089 902870.175 0, 1187037.959 902881.124 0, 1187258.529 897307.391 0,
+ 1187479.093 891733.82 0))
+
+POLYGON ((1200390.081 903428.402 0, 1200113.242 903416.671 0, 1199835.088 903404.901 0, 1199556.933 903393.147 0, 1199278.778 903381.41 0, 1199000.622 903369.689 0, 1198722.465 903357.985 0, 1198444.308 903346.296 0, 1198166.15 903334.624 0, 1197887.991 903322.969 0,
+ 1197609.832 903311.33 0, 1197331.671 903299.707 0, 1197053.511 903288.101 0, 1196775.349 903276.511 0, 1196497.187 903264.937 0, 1196219.024 903253.38 0, 1195940.861 903241.839 0, 1195662.696 903230.315 0, 1195384.532 903218.806 0, 1195106.366 903207.315 0,
+ 1194828.2 903195.839 0, 1194550.033 903184.38 0, 1194271.865 903172.938 0, 1193993.697 903161.511 0, 1193714.213 903150.048 0, 1193437.358 903138.708 0, 1193159.188 903127.331 0, 1192881.017 903115.97 0, 1192602.846 903104.626 0, 1192324.673 903093.298 0,
+ 1192046.5 903081.986 0, 1191768.327 903070.691 0, 1191490.153 903059.412 0, 1191211.978 903048.149 0, 1190933.802 903036.903 0, 1190655.626 903025.673 0, 1190377.449 903014.46 0, 1190099.271 903003.263 0, 1189821.093 902992.082 0, 1189542.914 902980.918 0,
+ 1189264.735 902969.77 0, 1188986.554 902958.638 0, 1188708.374 902947.523 0, 1188430.192 902936.424 0, 1188152.01 902925.342 0, 1187873.827 902914.276 0, 1187595.644 902903.226 0, 1187317.459 902892.193 0, 1187037.959 902881.124 0, 1186817.382 908455.014 0,
+ 1186596.799 914029.058 0, 1186875.64 914040.101 0, 1187153.168 914051.108 0, 1187430.696 914062.131 0, 1187708.222 914073.171 0, 1187985.748 914084.228 0, 1188263.274 914095.3 0, 1188540.799 914106.389 0, 1188818.323 914117.495 0, 1189095.846 914128.616 0,
+ 1189373.369 914139.754 0, 1189650.891 914150.909 0, 1189928.412 914162.079 0, 1190205.933 914173.266 0, 1190483.453 914184.469 0, 1190760.973 914195.689 0, 1191038.492 914206.925 0, 1191316.01 914218.177 0, 1191593.527 914229.446 0, 1191871.044 914240.731 0,
+ 1192148.56 914252.032 0, 1192426.076 914263.35 0, 1192703.591 914274.684 0, 1192981.105 914286.034 0, 1193257.306 914297.347 0, 1193536.131 914308.784 0, 1193813.643 914320.183 0, 1194091.155 914331.599 0, 1194368.665 914343.031 0, 1194646.176 914354.479 0,
+ 1194923.685 914365.944 0, 1195201.194 914377.425 0, 1195478.702 914388.922 0, 1195756.209 914400.436 0, 1196033.716 914411.966 0, 1196311.222 914423.512 0, 1196588.728 914435.075 0, 1196866.232 914446.654 0, 1197143.736 914458.249 0, 1197421.24 914469.861 0,
+ 1197698.742 914481.489 0, 1197976.244 914493.133 0, 1198253.746 914504.794 0, 1198531.246 914516.471 0, 1198808.746 914528.164 0, 1199086.245 914539.874 0, 1199363.744 914551.6 0, 1199641.242 914563.342 0, 1199917.428 914575.045 0, 1200153.758 909001.647 0,
+ 1200390.081 903428.402 0))
+
+POLYGON ((1213236.462 915158.664 0, 1212960.307 915146.18 0, 1212682.844 915133.654 0, 1212405.38 915121.144 0, 1212127.914 915108.65 0, 1211850.449 915096.173 0, 1211572.982 915083.712 0, 1211295.515 915071.268 0, 1211018.047 915058.839 0, 1210740.578 915046.427 0,
+ 1210463.109 915034.032 0, 1210185.639 915021.653 0, 1209908.168 915009.29 0, 1209630.696 914996.943 0, 1209353.224 914984.613 0, 1209075.751 914972.299 0, 1208798.277 914960.001 0, 1208520.802 914947.72 0, 1208243.327 914935.455 0, 1207965.851 914923.206 0,
+ 1207688.375 914910.974 0, 1207410.897 914898.758 0, 1207133.419 914886.558 0, 1206855.94 914874.375 0, 1206577.151 914862.151 0, 1206300.98 914850.057 0, 1206023.499 914837.923 0, 1205746.018 914825.805 0, 1205468.535 914813.704 0, 1205191.052 914801.618 0,
+ 1204913.568 914789.549 0, 1204636.084 914777.497 0, 1204358.599 914765.46 0, 1204081.113 914753.44 0, 1203803.626 914741.437 0, 1203526.139 914729.449 0, 1203248.65 914717.478 0, 1202971.162 914705.524 0, 1202693.672 914693.585 0, 1202416.182 914681.664 0,
+ 1202138.691 914669.758 0, 1201861.2 914657.869 0, 1201583.707 914645.996 0, 1201306.214 914634.139 0, 1201028.721 914622.299 0, 1200751.226 914610.475 0, 1200473.731 914598.667 0, 1200196.235 914586.876 0, 1199917.428 914575.045 0, 1199681.092 920148.593 0,
+ 1199444.75 925722.288 0, 1199722.898 925734.09 0, 1199999.737 925745.854 0, 1200276.576 925757.634 0, 1200553.415 925769.43 0, 1200830.252 925781.242 0, 1201107.089 925793.07 0, 1201383.925 925804.915 0, 1201660.761 925816.777 0, 1201937.596 925828.654 0,
+ 1202214.43 925840.548 0, 1202491.263 925852.458 0, 1202768.096 925864.384 0, 1203044.928 925876.327 0, 1203321.759 925888.286 0, 1203598.59 925900.261 0, 1203875.42 925912.253 0, 1204152.249 925924.261 0, 1204429.077 925936.285 0, 1204705.905 925948.325 0,
+ 1204982.732 925960.382 0, 1205259.558 925972.455 0, 1205536.384 925984.544 0, 1205813.209 925996.65 0, 1206088.727 926008.715 0, 1206366.857 926020.91 0, 1206643.679 926033.065 0, 1206920.501 926045.235 0, 1207197.323 926057.422 0, 1207474.143 926069.626 0,
+ 1207750.963 926081.845 0, 1208027.783 926094.081 0, 1208304.601 926106.334 0, 1208581.419 926118.602 0, 1208858.236 926130.887 0, 1209135.052 926143.188 0, 1209411.868 926155.506 0, 1209688.683 926167.839 0, 1209965.497 926180.189 0, 1210242.31 926192.556 0,
+ 1210519.123 926204.938 0, 1210795.935 926217.337 0, 1211072.746 926229.752 0, 1211349.556 926242.184 0, 1211626.366 926254.631 0, 1211903.175 926267.095 0, 1212179.983 926279.576 0, 1212456.791 926292.072 0, 1212732.292 926304.526 0, 1212984.38 920731.522 0,
+ 1213236.462 915158.664 0))
+
+POLYGON ((1226018.137 926924.302 0, 1225742.67 926911.07 0, 1225465.899 926897.791 0, 1225189.127 926884.529 0, 1224912.354 926871.283 0, 1224635.58 926858.053 0, 1224358.806 926844.84 0, 1224082.031 926831.643 0, 1223805.255 926818.462 0, 1223528.479 926805.297 0,
+ 1223251.701 926792.149 0, 1222974.923 926779.017 0, 1222698.144 926765.901 0, 1222421.365 926752.802 0, 1222144.584 926739.719 0, 1221867.803 926726.652 0, 1221591.021 926713.601 0, 1221314.238 926700.567 0, 1221037.455 926687.549 0, 1220760.671 926674.547 0,
+ 1220483.886 926661.562 0, 1220207.1 926648.593 0, 1219930.313 926635.64 0, 1219653.526 926622.704 0, 1219375.434 926609.722 0, 1219099.949 926596.879 0, 1218823.159 926583.992 0, 1218546.369 926571.12 0, 1218269.578 926558.265 0, 1217992.786 926545.427 0,
+ 1217715.993 926532.604 0, 1217439.2 926519.798 0, 1217162.406 926507.008 0, 1216885.611 926494.234 0, 1216608.815 926481.477 0, 1216332.019 926468.736 0, 1216055.222 926456.011 0, 1215778.424 926443.303 0, 1215501.625 926430.611 0, 1215224.826 926417.935 0,
+ 1214948.026 926405.275 0, 1214671.225 926392.632 0, 1214394.423 926380.005 0, 1214117.621 926367.394 0, 1213840.818 926354.8 0, 1213564.014 926342.222 0, 1213287.209 926329.66 0, 1213010.404 926317.115 0, 1212732.292 926304.526 0, 1212480.198 931877.673 0,
+ 1212228.097 937450.957 0, 1212505.549 937463.516 0, 1212781.699 937476.032 0, 1213057.847 937488.564 0, 1213333.995 937501.112 0, 1213610.142 937513.676 0, 1213886.288 937526.257 0, 1214162.434 937538.854 0, 1214438.579 937551.468 0, 1214714.723 937564.097 0,
+ 1214990.866 937576.743 0, 1215267.009 937589.405 0, 1215543.151 937602.083 0, 1215819.292 937614.778 0, 1216095.432 937627.489 0, 1216371.572 937640.216 0, 1216647.711 937652.959 0, 1216923.849 937665.719 0, 1217199.986 937678.495 0, 1217476.123 937691.287 0,
+ 1217752.259 937704.095 0, 1218028.394 937716.92 0, 1218304.528 937729.76 0, 1218580.662 937742.618 0, 1218855.494 937755.43 0, 1219132.927 937768.38 0, 1219409.058 937781.286 0, 1219685.189 937794.208 0, 1219961.318 937807.147 0, 1220237.447 937820.101 0,
+ 1220513.576 937833.072 0, 1220789.703 937846.059 0, 1221065.83 937859.063 0, 1221341.956 937872.082 0, 1221618.081 937885.118 0, 1221894.206 937898.17 0, 1222170.329 937911.239 0, 1222446.452 937924.323 0, 1222722.574 937937.424 0, 1222998.696 937950.541 0,
+ 1223274.816 937963.675 0, 1223550.936 937976.824 0, 1223827.055 937989.99 0, 1224103.173 938003.172 0, 1224379.291 938016.371 0, 1224655.408 938029.585 0, 1224931.524 938042.816 0, 1225207.639 938056.064 0, 1225482.453 938069.264 0, 1225750.298 932496.714 0,
+ 1226018.137 926924.302 0))
+
+POLYGON ((1238735.009 938725.015 0, 1238460.231 938711.038 0, 1238184.155 938697.01 0, 1237908.077 938683 0, 1237631.999 938669.005 0, 1237355.92 938655.026 0, 1237079.84 938641.064 0, 1236803.759 938627.118 0, 1236527.677 938613.189 0, 1236251.595 938599.275 0,
+ 1235975.512 938585.378 0, 1235699.428 938571.497 0, 1235423.343 938557.632 0, 1235147.257 938543.784 0, 1234871.171 938529.952 0, 1234595.084 938516.136 0, 1234318.996 938502.336 0, 1234042.907 938488.553 0, 1233766.817 938474.786 0, 1233490.726 938461.035 0,
+ 1233214.635 938447.3 0, 1232938.543 938433.582 0, 1232662.45 938419.879 0, 1232386.356 938406.194 0, 1232108.963 938392.46 0, 1231834.166 938378.87 0, 1231558.07 938365.233 0, 1231281.973 938351.612 0, 1231005.875 938338.008 0, 1230729.777 938324.419 0,
+ 1230453.677 938310.847 0, 1230177.577 938297.291 0, 1229901.476 938283.752 0, 1229625.374 938270.228 0, 1229349.272 938256.721 0, 1229073.169 938243.23 0, 1228797.064 938229.755 0, 1228520.959 938216.297 0, 1228244.854 938202.855 0, 1227968.747 938189.429 0,
+ 1227692.64 938176.019 0, 1227416.532 938162.626 0, 1227140.423 938149.249 0, 1226864.313 938135.888 0, 1226588.203 938122.543 0, 1226312.092 938109.215 0, 1226035.98 938095.902 0, 1225759.867 938082.607 0, 1225482.453 938069.264 0, 1225214.602 943641.949 0,
+ 1224946.744 949214.763 0, 1225223.498 949228.074 0, 1225498.955 949241.338 0, 1225774.411 949254.619 0, 1226049.866 949267.915 0, 1226325.321 949281.228 0, 1226600.774 949294.557 0, 1226876.227 949307.903 0, 1227151.679 949321.264 0, 1227427.131 949334.642 0,
+ 1227702.581 949348.036 0, 1227978.031 949361.446 0, 1228253.48 949374.873 0, 1228528.928 949388.316 0, 1228804.375 949401.774 0, 1229079.822 949415.25 0, 1229355.268 949428.741 0, 1229630.713 949442.248 0, 1229906.157 949455.772 0, 1230181.6 949469.312 0,
+ 1230457.043 949482.868 0, 1230732.485 949496.44 0, 1231007.926 949510.029 0, 1231283.366 949523.634 0, 1231557.51 949537.191 0, 1231834.244 949550.892 0, 1232109.682 949564.545 0, 1232385.119 949578.215 0, 1232660.555 949591.901 0, 1232935.99 949605.603 0,
+ 1233211.425 949619.321 0, 1233486.859 949633.056 0, 1233762.292 949646.806 0, 1234037.724 949660.573 0, 1234313.155 949674.356 0, 1234588.586 949688.156 0, 1234864.015 949701.971 0, 1235139.444 949715.803 0, 1235414.872 949729.651 0, 1235690.3 949743.515 0,
+ 1235965.726 949757.395 0, 1236241.152 949771.292 0, 1236516.577 949785.205 0, 1236792.001 949799.134 0, 1237067.424 949813.079 0, 1237342.846 949827.04 0, 1237618.268 949841.018 0, 1237893.688 949855.012 0, 1238167.814 949868.956 0, 1238451.415 944296.92 0,
+ 1238735.009 938725.015 0))
+
+POLYGON ((1251386.983 950560.498 0, 1251112.896 950545.779 0, 1250837.516 950531.007 0, 1250562.135 950516.252 0, 1250286.753 950501.512 0, 1250011.371 950486.789 0, 1249735.987 950472.082 0, 1249460.603 950457.391 0, 1249185.217 950442.716 0, 1248909.831 950428.058 0,
+ 1248634.444 950413.416 0, 1248359.056 950398.79 0, 1248083.668 950384.18 0, 1247808.278 950369.586 0, 1247532.888 950355.009 0, 1247257.496 950340.448 0, 1246982.104 950325.903 0, 1246706.711 950311.374 0, 1246431.317 950296.861 0, 1246155.922 950282.365 0,
+ 1245880.527 950267.885 0, 1245605.13 950253.421 0, 1245329.733 950238.973 0, 1245054.335 950224.542 0, 1244777.643 950210.059 0, 1244503.536 950195.727 0, 1244228.136 950181.344 0, 1243952.734 950166.978 0, 1243677.332 950152.627 0, 1243401.928 950138.293 0,
+ 1243126.524 950123.975 0, 1242851.12 950109.673 0, 1242575.714 950095.387 0, 1242300.307 950081.118 0, 1242024.9 950066.865 0, 1241749.492 950052.628 0, 1241474.082 950038.407 0, 1241198.673 950024.202 0, 1240923.262 950010.014 0, 1240647.85 949995.842 0,
+ 1240372.438 949981.686 0, 1240097.024 949967.546 0, 1239821.61 949953.423 0, 1239546.195 949939.315 0, 1239270.78 949925.224 0, 1238995.363 949911.149 0, 1238719.946 949897.091 0, 1238444.527 949883.048 0, 1238167.814 949868.956 0, 1237884.206 955441.118 0,
+ 1237600.593 961013.402 0, 1237876.647 961027.46 0, 1238151.409 961041.469 0, 1238426.171 961055.495 0, 1238700.932 961069.536 0, 1238975.691 961083.594 0, 1239250.45 961097.667 0, 1239525.209 961111.757 0, 1239799.966 961125.863 0, 1240074.722 961139.986 0,
+ 1240349.478 961154.124 0, 1240624.233 961168.278 0, 1240898.987 961182.449 0, 1241173.74 961196.636 0, 1241448.493 961210.839 0, 1241723.244 961225.059 0, 1241997.995 961239.294 0, 1242272.745 961253.546 0, 1242547.494 961267.813 0, 1242822.242 961282.097 0,
+ 1243096.989 961296.397 0, 1243371.735 961310.714 0, 1243646.481 961325.046 0, 1243921.226 961339.395 0, 1244194.679 961353.692 0, 1244470.713 961368.141 0, 1244745.455 961382.538 0, 1245020.197 961396.951 0, 1245294.937 961411.381 0, 1245569.677 961425.826 0,
+ 1245844.416 961440.288 0, 1246119.154 961454.766 0, 1246393.891 961469.26 0, 1246668.627 961483.771 0, 1246943.362 961498.297 0, 1247218.097 961512.84 0, 1247492.831 961527.399 0, 1247767.564 961541.974 0, 1248042.296 961556.565 0, 1248317.027 961571.172 0,
+ 1248591.757 961585.796 0, 1248866.486 961600.435 0, 1249141.215 961615.091 0, 1249415.943 961629.763 0, 1249690.67 961644.451 0, 1249965.396 961659.156 0, 1250240.121 961673.876 0, 1250514.845 961688.613 0, 1250788.279 961703.297 0, 1251087.634 956131.836 0,
+ 1251386.983 950560.498 0))
+
+POLYGON ((1263973.964 962430.447 0, 1263700.57 962414.99 0, 1263425.889 962399.478 0, 1263151.206 962383.981 0, 1262876.523 962368.5 0, 1262601.839 962353.036 0, 1262327.153 962337.588 0, 1262052.467 962322.156 0, 1261777.78 962306.74 0, 1261503.093 962291.341 0,
+ 1261228.404 962275.957 0, 1260953.714 962260.59 0, 1260679.024 962245.239 0, 1260404.332 962229.904 0, 1260129.64 962214.585 0, 1259854.946 962199.282 0, 1259580.252 962183.996 0, 1259305.557 962168.726 0, 1259030.861 962153.471 0, 1258756.164 962138.233 0,
+ 1258481.466 962123.012 0, 1258206.768 962107.806 0, 1257932.068 962092.617 0, 1257657.368 962077.443 0, 1257381.378 962062.215 0, 1257107.964 962047.145 0, 1256833.261 962032.02 0, 1256558.557 962016.912 0, 1256283.852 962001.819 0, 1256009.146 961986.743 0,
+ 1255734.439 961971.683 0, 1255459.732 961956.639 0, 1255185.023 961941.611 0, 1254910.314 961926.6 0, 1254635.604 961911.604 0, 1254360.893 961896.625 0, 1254086.181 961881.662 0, 1253811.468 961866.715 0, 1253536.754 961851.784 0, 1253262.039 961836.87 0,
+ 1252987.324 961821.971 0, 1252712.607 961807.089 0, 1252437.89 961792.223 0, 1252163.172 961777.373 0, 1251888.453 961762.539 0, 1251613.733 961747.722 0, 1251339.012 961732.92 0, 1251064.291 961718.135 0, 1250788.279 961703.297 0, 1250488.917 967274.876 0,
+ 1250189.55 972846.569 0, 1250464.902 972861.372 0, 1250738.968 972876.122 0, 1251013.033 972890.888 0, 1251287.097 972905.67 0, 1251561.16 972920.468 0, 1251835.222 972935.283 0, 1252109.284 972950.113 0, 1252383.344 972964.96 0, 1252657.404 972979.823 0,
+ 1252931.463 972994.702 0, 1253205.521 973009.597 0, 1253479.578 973024.508 0, 1253753.634 973039.435 0, 1254027.689 973054.379 0, 1254301.744 973069.339 0, 1254575.797 973084.314 0, 1254849.85 973099.306 0, 1255123.902 973114.314 0, 1255397.952 973129.338 0,
+ 1255672.002 973144.379 0, 1255946.051 973159.435 0, 1256220.1 973174.508 0, 1256494.147 973189.596 0, 1256766.909 973204.63 0, 1257042.239 973219.822 0, 1257316.284 973234.959 0, 1257590.327 973250.112 0, 1257864.37 973265.282 0, 1258138.412 973280.467 0,
+ 1258412.453 973295.669 0, 1258686.493 973310.886 0, 1258960.533 973326.12 0, 1259234.571 973341.37 0, 1259508.609 973356.636 0, 1259782.645 973371.918 0, 1260056.681 973387.217 0, 1260330.716 973402.531 0, 1260604.75 973417.862 0, 1260878.783 973433.209 0,
+ 1261152.815 973448.572 0, 1261426.846 973463.951 0, 1261700.876 973479.346 0, 1261974.906 973494.757 0, 1262248.934 973510.184 0, 1262522.962 973525.628 0, 1262796.988 973541.087 0, 1263071.014 973556.563 0, 1263343.755 973571.983 0, 1263658.863 968001.157 0,
+ 1263973.964 962430.447 0))
+
+POLYGON ((1276495.859 974334.556 0, 1276223.16 974318.367 0, 1275949.179 974302.117 0, 1275675.197 974285.883 0, 1275401.214 974269.665 0, 1275127.231 974253.464 0, 1274853.246 974237.278 0, 1274579.26 974221.109 0, 1274305.274 974204.956 0, 1274031.286 974188.819 0,
+ 1273757.297 974172.698 0, 1273483.308 974156.593 0, 1273209.317 974140.505 0, 1272935.326 974124.432 0, 1272661.334 974108.376 0, 1272387.34 974092.336 0, 1272113.346 974076.312 0, 1271839.351 974060.304 0, 1271565.355 974044.312 0, 1271291.358 974028.336 0,
+ 1271017.36 974012.376 0, 1270743.361 973996.433 0, 1270469.361 973980.506 0, 1270195.36 973964.594 0, 1269920.076 973948.625 0, 1269647.356 973932.82 0, 1269373.352 973916.957 0, 1269099.348 973901.111 0, 1268825.342 973885.28 0, 1268551.336 973869.466 0,
+ 1268277.329 973853.667 0, 1268003.32 973837.885 0, 1267729.311 973822.119 0, 1267455.301 973806.369 0, 1267181.29 973790.635 0, 1266907.278 973774.918 0, 1266633.265 973759.216 0, 1266359.251 973743.531 0, 1266085.237 973727.861 0, 1265811.221 973712.208 0,
+ 1265537.204 973696.571 0, 1265263.187 973680.95 0, 1264989.169 973665.345 0, 1264715.149 973649.757 0, 1264441.129 973634.184 0, 1264167.108 973618.628 0, 1263893.086 973603.087 0, 1263619.063 973587.563 0, 1263343.755 973571.983 0, 1263028.641 979142.918 0,
+ 1262713.521 984713.959 0, 1262988.17 984729.503 0, 1263261.537 984744.99 0, 1263534.904 984760.493 0, 1263808.269 984776.012 0, 1264081.633 984791.547 0, 1264354.997 984807.099 0, 1264628.36 984822.666 0, 1264901.721 984838.25 0, 1265175.082 984853.849 0,
+ 1265448.442 984869.465 0, 1265721.801 984885.097 0, 1265995.159 984900.745 0, 1266268.516 984916.409 0, 1266541.872 984932.089 0, 1266815.228 984947.785 0, 1267088.582 984963.497 0, 1267361.935 984979.226 0, 1267635.288 984994.97 0, 1267908.639 985010.731 0,
+ 1268181.99 985026.507 0, 1268455.34 985042.3 0, 1268728.689 985058.109 0, 1269002.036 985073.934 0, 1269274.104 985089.7 0, 1269548.729 985105.632 0, 1269822.074 985121.505 0, 1270095.419 985137.394 0, 1270368.762 985153.299 0, 1270642.104 985169.221 0,
+ 1270915.445 985185.158 0, 1271188.786 985201.112 0, 1271462.125 985217.081 0, 1271735.464 985233.067 0, 1272008.801 985249.069 0, 1272282.138 985265.087 0, 1272555.473 985281.121 0, 1272828.808 985297.171 0, 1273102.142 985313.237 0, 1273375.475 985329.32 0,
+ 1273648.807 985345.418 0, 1273922.138 985361.533 0, 1274195.468 985377.663 0, 1274468.797 985393.81 0, 1274742.125 985409.972 0, 1275015.452 985426.151 0, 1275288.778 985442.346 0, 1275562.103 985458.557 0, 1275834.149 985474.708 0, 1276165.007 979904.579 0,
+ 1276495.859 974334.556 0))
+
+POLYGON ((1288952.575 986272.522 0, 1288680.574 986255.603 0, 1288407.296 986238.619 0, 1288134.016 986221.652 0, 1287860.736 986204.701 0, 1287587.455 986187.767 0, 1287314.172 986170.848 0, 1287040.889 986153.945 0, 1286767.605 986137.058 0, 1286494.32 986120.188 0,
+ 1286221.033 986103.334 0, 1285947.746 986086.495 0, 1285674.458 986069.673 0, 1285401.168 986052.867 0, 1285127.878 986036.077 0, 1284854.587 986019.303 0, 1284581.295 986002.545 0, 1284308.001 985985.803 0, 1284034.707 985969.077 0, 1283761.412 985952.367 0,
+ 1283488.116 985935.674 0, 1283214.819 985918.996 0, 1282941.52 985902.335 0, 1282668.221 985885.69 0, 1282393.644 985868.983 0, 1282121.62 985852.447 0, 1281848.318 985835.85 0, 1281575.015 985819.269 0, 1281301.711 985802.704 0, 1281028.406 985786.155 0,
+ 1280755.1 985769.623 0, 1280481.793 985753.106 0, 1280208.485 985736.605 0, 1279935.176 985720.121 0, 1279661.867 985703.653 0, 1279388.556 985687.2 0, 1279115.244 985670.764 0, 1278841.931 985654.344 0, 1278568.618 985637.94 0, 1278295.303 985621.552 0,
+ 1278021.987 985605.18 0, 1277748.671 985588.824 0, 1277475.353 985572.485 0, 1277202.035 985556.161 0, 1276928.715 985539.853 0, 1276655.395 985523.562 0, 1276382.073 985507.287 0, 1276108.751 985491.027 0, 1275834.149 985474.708 0, 1275503.285 991044.939 0,
+ 1275172.416 996615.269 0, 1275446.358 996631.549 0, 1275719.025 996647.769 0, 1275991.691 996664.005 0, 1276264.356 996680.257 0, 1276537.019 996696.526 0, 1276809.682 996712.81 0, 1277082.344 996729.111 0, 1277355.005 996745.427 0, 1277627.665 996761.76 0,
+ 1277900.324 996778.109 0, 1278172.982 996794.473 0, 1278445.639 996810.854 0, 1278718.295 996827.251 0, 1278990.95 996843.664 0, 1279263.604 996860.092 0, 1279536.258 996876.537 0, 1279808.91 996892.998 0, 1280081.561 996909.475 0, 1280354.211 996925.968 0,
+ 1280626.861 996942.478 0, 1280899.509 996959.003 0, 1281172.156 996975.544 0, 1281444.803 996992.101 0, 1281716.174 997008.597 0, 1281990.093 997025.264 0, 1282262.736 997041.869 0, 1282535.379 997058.491 0, 1282808.02 997075.128 0, 1283080.661 997091.782 0,
+ 1283353.3 997108.451 0, 1283625.939 997125.137 0, 1283898.576 997141.839 0, 1284171.213 997158.556 0, 1284443.849 997175.29 0, 1284716.483 997192.04 0, 1284989.117 997208.806 0, 1285261.749 997225.588 0, 1285534.381 997242.386 0, 1285807.012 997259.2 0,
+ 1286079.642 997276.03 0, 1286352.27 997292.876 0, 1286624.898 997309.738 0, 1286897.525 997326.616 0, 1287170.15 997343.51 0, 1287442.775 997360.421 0, 1287715.399 997377.347 0, 1287988.022 997394.289 0, 1288259.37 997411.169 0, 1288605.976 991841.797 0,
+ 1288952.575 986272.522 0))
+
+POLYGON ((1301344.024 998244.039 0, 1301072.722 998226.393 0, 1300800.149 998208.68 0, 1300527.574 998190.984 0, 1300254.998 998173.303 0, 1299982.421 998155.639 0, 1299709.843 998137.991 0, 1299437.264 998120.358 0, 1299164.684 998102.742 0, 1298892.103 998085.142 0,
+ 1298619.521 998067.558 0, 1298346.938 998049.989 0, 1298074.354 998032.437 0, 1297801.768 998014.901 0, 1297529.182 997997.381 0, 1297256.595 997979.877 0, 1296984.007 997962.389 0, 1296711.417 997944.918 0, 1296438.827 997927.462 0, 1296166.236 997910.022 0,
+ 1295893.643 997892.598 0, 1295621.05 997875.191 0, 1295348.455 997857.799 0, 1295075.86 997840.423 0, 1294801.991 997822.983 0, 1294530.666 997805.72 0, 1294258.067 997788.393 0, 1293985.468 997771.081 0, 1293712.867 997753.786 0, 1293440.266 997736.507 0,
+ 1293167.663 997719.243 0, 1292895.059 997701.996 0, 1292622.455 997684.765 0, 1292349.849 997667.55 0, 1292077.242 997650.351 0, 1291804.635 997633.168 0, 1291532.026 997616.001 0, 1291259.416 997598.85 0, 1290986.806 997581.715 0, 1290714.194 997564.596 0,
+ 1290441.581 997547.493 0, 1290168.967 997530.406 0, 1289896.353 997513.335 0, 1289623.737 997496.281 0, 1289351.12 997479.242 0, 1289078.503 997462.219 0, 1288805.884 997445.213 0, 1288533.264 997428.222 0, 1288259.37 997411.169 0, 1287912.759 1002980.635 0,
+ 1287566.142 1008550.191 0, 1287839.377 1008567.204 0, 1288111.341 1008584.153 0, 1288383.304 1008601.119 0, 1288655.266 1008618.101 0, 1288927.227 1008635.098 0, 1289199.188 1008652.112 0, 1289471.147 1008669.142 0, 1289743.105 1008686.187 0, 1290015.062 1008703.249 0,
+ 1290287.018 1008720.327 0, 1290558.973 1008737.42 0, 1290830.927 1008754.53 0, 1291102.88 1008771.656 0, 1291374.832 1008788.798 0, 1291646.783 1008805.955 0, 1291918.734 1008823.129 0, 1292190.683 1008840.319 0, 1292462.631 1008857.525 0, 1292734.578 1008874.746 0,
+ 1293006.524 1008891.984 0, 1293278.469 1008909.238 0, 1293550.413 1008926.508 0, 1293822.356 1008943.794 0, 1294093.029 1008961.015 0, 1294366.238 1008978.413 0, 1294638.178 1008995.747 0, 1294910.117 1009013.097 0, 1295182.055 1009030.463 0, 1295453.992 1009047.844 0,
+ 1295725.928 1009065.242 0, 1295997.863 1009082.656 0, 1296269.796 1009100.086 0, 1296541.729 1009117.532 0, 1296813.661 1009134.994 0, 1297085.592 1009152.472 0, 1297357.521 1009169.965 0, 1297629.45 1009187.475 0, 1297901.377 1009205.001 0, 1298173.304 1009222.543 0,
+ 1298445.23 1009240.101 0, 1298717.154 1009257.675 0, 1298989.077 1009275.265 0, 1299261 1009292.871 0, 1299532.921 1009310.493 0, 1299804.842 1009328.131 0, 1300076.761 1009345.784 0, 1300348.679 1009363.454 0, 1300619.329 1009381.058 0, 1300981.68 1003812.503 0,
+ 1301344.024 998244.039 0))
+
+POLYGON ((1313670.116 1010248.799 0, 1313399.516 1010230.431 0, 1313127.648 1010211.993 0, 1312855.78 1010193.571 0, 1312583.911 1010175.165 0, 1312312.04 1010156.775 0, 1312040.168 1010138.401 0, 1311768.296 1010120.043 0, 1311496.422 1010101.7 0, 1311224.547 1010083.374 0,
+ 1310952.671 1010065.064 0, 1310680.794 1010046.77 0, 1310408.916 1010028.492 0, 1310137.037 1010010.23 0, 1309865.157 1009991.984 0, 1309593.275 1009973.754 0, 1309321.393 1009955.54 0, 1309049.51 1009937.342 0, 1308777.625 1009919.16 0, 1308505.74 1009900.994 0,
+ 1308233.853 1009882.844 0, 1307961.965 1009864.71 0, 1307690.076 1009846.592 0, 1307418.186 1009828.49 0, 1307145.029 1009810.32 0, 1306874.404 1009792.334 0, 1306602.511 1009774.28 0, 1306330.616 1009756.242 0, 1306058.721 1009738.22 0, 1305786.825 1009720.214 0,
+ 1305514.928 1009702.224 0, 1305243.029 1009684.25 0, 1304971.13 1009666.292 0, 1304699.23 1009648.35 0, 1304427.328 1009630.424 0, 1304155.425 1009612.514 0, 1303883.522 1009594.62 0, 1303611.617 1009576.742 0, 1303339.711 1009558.88 0, 1303067.805 1009541.034 0,
+ 1302795.897 1009523.204 0, 1302523.988 1009505.39 0, 1302252.078 1009487.592 0, 1301980.167 1009469.81 0, 1301708.255 1009452.044 0, 1301436.342 1009434.294 0, 1301164.428 1009416.56 0, 1300892.513 1009398.842 0, 1300619.329 1009381.058 0, 1300256.973 1014949.698 0,
+ 1299894.611 1020518.42 0, 1300167.136 1020536.162 0, 1300438.396 1020553.837 0, 1300709.655 1020571.528 0, 1300980.912 1020589.235 0, 1301252.169 1020606.958 0, 1301523.424 1020624.697 0, 1301794.678 1020642.452 0, 1302065.932 1020660.223 0, 1302337.184 1020678.01 0,
+ 1302608.435 1020695.813 0, 1302879.686 1020713.632 0, 1303150.935 1020731.467 0, 1303422.183 1020749.318 0, 1303693.43 1020767.185 0, 1303964.676 1020785.068 0, 1304235.921 1020802.966 0, 1304507.165 1020820.881 0, 1304778.408 1020838.812 0, 1305049.65 1020856.758 0,
+ 1305320.89 1020874.721 0, 1305592.13 1020892.699 0, 1305863.369 1020910.694 0, 1306134.606 1020928.704 0, 1306404.58 1020946.647 0, 1306677.078 1020964.773 0, 1306948.313 1020982.832 0, 1307219.546 1021000.906 0, 1307490.778 1021018.996 0, 1307762.01 1021037.103 0,
+ 1308033.24 1021055.225 0, 1308304.469 1021073.363 0, 1308575.697 1021091.517 0, 1308846.924 1021109.687 0, 1309118.15 1021127.873 0, 1309389.374 1021146.076 0, 1309660.598 1021164.294 0, 1309931.821 1021182.528 0, 1310203.042 1021200.778 0, 1310474.263 1021219.043 0,
+ 1310745.482 1021237.325 0, 1311016.701 1021255.623 0, 1311287.918 1021273.937 0, 1311559.134 1021292.267 0, 1311830.349 1021310.612 0, 1312101.563 1021328.974 0, 1312372.776 1021347.352 0, 1312643.988 1021365.745 0, 1312913.937 1021384.069 0, 1313292.029 1015816.393 0,
+ 1313670.116 1010248.799 0))
+
+POLYGON ((1325930.764 1022286.497 0, 1325660.867 1022267.411 0, 1325389.708 1022248.251 0, 1325118.548 1022229.107 0, 1324847.387 1022209.979 0, 1324576.225 1022190.867 0, 1324305.061 1022171.771 0, 1324033.897 1022152.691 0, 1323762.731 1022133.627 0, 1323491.565 1022114.579 0,
+ 1323220.397 1022095.547 0, 1322949.228 1022076.531 0, 1322678.058 1022057.531 0, 1322406.887 1022038.547 0, 1322135.714 1022019.578 0, 1321864.541 1022000.626 0, 1321593.366 1021981.69 0, 1321322.191 1021962.769 0, 1321051.014 1021943.865 0, 1320779.836 1021924.977 0,
+ 1320508.657 1021906.104 0, 1320237.477 1021887.248 0, 1319966.296 1021868.407 0, 1319695.114 1021849.582 0, 1319422.669 1021830.686 0, 1319152.746 1021811.981 0, 1318881.56 1021793.204 0, 1318610.373 1021774.444 0, 1318339.186 1021755.699 0, 1318067.997 1021736.97 0,
+ 1317796.807 1021718.257 0, 1317525.615 1021699.56 0, 1317254.423 1021680.879 0, 1316983.23 1021662.214 0, 1316712.035 1021643.565 0, 1316440.84 1021624.932 0, 1316169.643 1021606.315 0, 1315898.446 1021587.714 0, 1315627.247 1021569.129 0, 1315356.047 1021550.56 0,
+ 1315084.846 1021532.006 0, 1314813.644 1021513.469 0, 1314542.441 1021494.948 0, 1314271.236 1021476.442 0, 1314000.031 1021457.953 0, 1313728.825 1021439.48 0, 1313457.617 1021421.022 0, 1313186.408 1021402.581 0, 1312913.937 1021384.069 0, 1312535.839 1026951.823 0,
+ 1312157.736 1032519.649 0, 1312429.549 1032538.116 0, 1312700.102 1032556.513 0, 1312970.654 1032574.926 0, 1313241.205 1032593.355 0, 1313511.755 1032611.799 0, 1313782.304 1032630.26 0, 1314052.852 1032648.736 0, 1314323.399 1032667.229 0, 1314593.944 1032685.737 0,
+ 1314864.489 1032704.262 0, 1315135.032 1032722.802 0, 1315405.574 1032741.358 0, 1315676.116 1032759.93 0, 1315946.656 1032778.518 0, 1316217.195 1032797.122 0, 1316487.733 1032815.742 0, 1316758.27 1032834.378 0, 1317028.805 1032853.03 0, 1317299.34 1032871.697 0,
+ 1317569.874 1032890.381 0, 1317840.406 1032909.08 0, 1318110.937 1032927.796 0, 1318381.468 1032946.527 0, 1318650.739 1032965.187 0, 1318922.525 1032984.038 0, 1319193.052 1033002.817 0, 1319463.578 1033021.612 0, 1319734.102 1033040.423 0, 1320004.626 1033059.25 0,
+ 1320275.149 1033078.092 0, 1320545.67 1033096.951 0, 1320816.19 1033115.826 0, 1321086.709 1033134.716 0, 1321357.228 1033153.623 0, 1321627.744 1033172.545 0, 1321898.26 1033191.483 0, 1322168.775 1033210.438 0, 1322439.289 1033229.408 0, 1322709.801 1033248.394 0,
+ 1322980.313 1033267.396 0, 1323250.823 1033286.414 0, 1323521.332 1033305.448 0, 1323791.84 1033324.498 0, 1324062.347 1033343.563 0, 1324332.853 1033362.645 0, 1324603.357 1033381.743 0, 1324873.861 1033400.856 0, 1325143.106 1033419.896 0, 1325536.938 1027853.16 0,
+ 1325930.764 1022286.497 0))
+
+POLYGON ((1338125.882 1034356.826 0, 1337856.689 1034337.025 0, 1337586.241 1034317.147 0, 1337315.791 1034297.285 0, 1337045.34 1034277.44 0, 1336774.888 1034257.61 0, 1336504.435 1034237.796 0, 1336233.981 1034217.998 0, 1335963.526 1034198.216 0, 1335693.069 1034178.449 0,
+ 1335422.611 1034158.699 0, 1335152.152 1034138.965 0, 1334881.692 1034119.246 0, 1334611.231 1034099.544 0, 1334340.768 1034079.857 0, 1334070.305 1034060.187 0, 1333799.84 1034040.532 0, 1333529.374 1034020.893 0, 1333258.907 1034001.27 0, 1332988.439 1033981.663 0,
+ 1332717.97 1033962.072 0, 1332447.499 1033942.497 0, 1332177.028 1033922.938 0, 1331906.555 1033903.394 0, 1331634.825 1033883.776 0, 1331365.606 1033864.355 0, 1331095.129 1033844.86 0, 1330824.652 1033825.38 0, 1330554.173 1033805.917 0, 1330283.694 1033786.469 0,
+ 1330013.213 1033767.037 0, 1329742.731 1033747.621 0, 1329472.248 1033728.221 0, 1329201.764 1033708.837 0, 1328931.278 1033689.469 0, 1328660.792 1033670.116 0, 1328390.304 1033650.78 0, 1328119.815 1033631.459 0, 1327849.325 1033612.155 0, 1327578.834 1033592.866 0,
+ 1327308.342 1033573.594 0, 1327037.848 1033554.337 0, 1326767.354 1033535.096 0, 1326496.858 1033515.871 0, 1326226.362 1033496.662 0, 1325955.864 1033477.469 0, 1325685.365 1033458.292 0, 1325414.864 1033439.131 0, 1325143.106 1033419.896 0, 1324749.27 1038986.702 0,
+ 1324355.429 1044553.572 0, 1324626.529 1044572.76 0, 1324896.373 1044591.875 0, 1325166.217 1044611.005 0, 1325436.06 1044630.152 0, 1325705.901 1044649.314 0, 1325975.741 1044668.493 0, 1326245.581 1044687.687 0, 1326515.419 1044706.897 0, 1326785.256 1044726.123 0,
+ 1327055.092 1044745.365 0, 1327324.926 1044764.623 0, 1327594.76 1044783.896 0, 1327864.592 1044803.186 0, 1328134.423 1044822.491 0, 1328404.254 1044841.813 0, 1328674.083 1044861.15 0, 1328943.91 1044880.503 0, 1329213.737 1044899.872 0, 1329483.563 1044919.257 0,
+ 1329753.387 1044938.657 0, 1330023.211 1044958.074 0, 1330293.033 1044977.506 0, 1330562.854 1044996.955 0, 1330831.421 1045016.328 0, 1331102.492 1045035.899 0, 1331372.31 1045055.395 0, 1331642.126 1045074.907 0, 1331911.942 1045094.434 0, 1332181.756 1045113.978 0,
+ 1332451.569 1045133.538 0, 1332721.38 1045153.113 0, 1332991.191 1045172.704 0, 1333261.001 1045192.311 0, 1333530.809 1045211.934 0, 1333800.616 1045231.573 0, 1334070.422 1045251.228 0, 1334340.227 1045270.899 0, 1334610.031 1045290.585 0, 1334879.833 1045310.288 0,
+ 1335149.635 1045330.006 0, 1335419.435 1045349.74 0, 1335689.234 1045369.49 0, 1335959.032 1045389.256 0, 1336228.829 1045409.038 0, 1336498.625 1045428.836 0, 1336768.419 1045448.649 0, 1337038.212 1045468.479 0, 1337306.753 1045488.232 0, 1337716.32 1039922.496 0,
+ 1338125.882 1034356.826 0))
+
+POLYGON ((1350255.385 1046459.478 0, 1349986.899 1046438.966 0, 1349717.163 1046418.374 0, 1349447.425 1046397.798 0, 1349177.687 1046377.239 0, 1348907.947 1046356.695 0, 1348638.206 1046336.167 0, 1348368.464 1046315.654 0, 1348098.72 1046295.158 0, 1347828.976 1046274.678 0,
+ 1347559.23 1046254.213 0, 1347289.483 1046233.764 0, 1347019.735 1046213.331 0, 1346749.985 1046192.914 0, 1346480.234 1046172.513 0, 1346210.483 1046152.128 0, 1345940.73 1046131.759 0, 1345670.975 1046111.405 0, 1345401.22 1046091.068 0, 1345131.463 1046070.746 0,
+ 1344861.705 1046050.44 0, 1344591.946 1046030.15 0, 1344322.186 1046009.876 0, 1344052.425 1045989.618 0, 1343781.412 1045969.282 0, 1343512.898 1045949.149 0, 1343243.133 1045928.939 0, 1342973.367 1045908.744 0, 1342703.6 1045888.565 0, 1342433.831 1045868.402 0,
+ 1342164.062 1045848.255 0, 1341894.291 1045828.124 0, 1341624.518 1045808.009 0, 1341354.745 1045787.91 0, 1341084.971 1045767.826 0, 1340815.195 1045747.758 0, 1340545.418 1045727.707 0, 1340275.64 1045707.671 0, 1340005.861 1045687.651 0, 1339736.081 1045667.647 0,
+ 1339466.299 1045647.658 0, 1339196.516 1045627.686 0, 1338926.732 1045607.73 0, 1338656.947 1045587.789 0, 1338387.161 1045567.864 0, 1338117.374 1045547.955 0, 1337847.585 1045528.062 0, 1337577.795 1045508.185 0, 1337306.753 1045488.232 0, 1336897.181 1051054.028 0,
+ 1336487.606 1056619.881 0, 1336757.99 1056639.786 0, 1337027.125 1056659.615 0, 1337296.258 1056679.459 0, 1337565.39 1056699.32 0, 1337834.521 1056719.196 0, 1338103.651 1056739.088 0, 1338372.78 1056758.996 0, 1338641.908 1056778.92 0, 1338911.034 1056798.86 0,
+ 1339180.159 1056818.816 0, 1339449.283 1056838.787 0, 1339718.406 1056858.774 0, 1339987.528 1056878.777 0, 1340256.648 1056898.796 0, 1340525.768 1056918.831 0, 1340794.886 1056938.881 0, 1341064.003 1056958.948 0, 1341333.119 1056979.03 0, 1341602.233 1056999.128 0,
+ 1341871.347 1057019.242 0, 1342140.459 1057039.372 0, 1342409.57 1057059.518 0, 1342678.68 1057079.679 0, 1342946.541 1057099.763 0, 1343216.896 1057120.05 0, 1343486.002 1057140.259 0, 1343755.107 1057160.483 0, 1344024.211 1057180.724 0, 1344293.314 1057200.981 0,
+ 1344562.416 1057221.253 0, 1344831.516 1057241.541 0, 1345100.615 1057261.845 0, 1345369.713 1057282.165 0, 1345638.81 1057302.501 0, 1345907.905 1057322.852 0, 1346177 1057343.22 0, 1346446.093 1057363.603 0, 1346715.185 1057384.002 0, 1346984.276 1057404.417 0,
+ 1347253.365 1057424.847 0, 1347522.453 1057445.294 0, 1347791.541 1057465.756 0, 1348060.627 1057486.235 0, 1348329.711 1057506.729 0, 1348598.795 1057527.239 0, 1348867.877 1057547.764 0, 1349136.958 1057568.306 0, 1349404.792 1057588.768 0, 1349830.091 1052024.095 0,
+ 1350255.385 1046459.478 0))
+
+POLYGON ((1362319.189 1058594.145 0, 1362051.413 1058572.926 0, 1361782.391 1058551.624 0, 1361513.367 1058530.338 0, 1361244.343 1058509.068 0, 1360975.317 1058487.814 0, 1360706.29 1058466.576 0, 1360437.262 1058445.353 0, 1360168.232 1058424.146 0, 1359899.201 1058402.955 0,
+ 1359630.169 1058381.78 0, 1359361.136 1058360.621 0, 1359092.102 1058339.478 0, 1358823.066 1058318.35 0, 1358554.029 1058297.239 0, 1358284.991 1058276.143 0, 1358015.951 1058255.063 0, 1357746.91 1058233.999 0, 1357477.868 1058212.95 0, 1357208.825 1058191.918 0,
+ 1356939.781 1058170.901 0, 1356670.735 1058149.9 0, 1356401.688 1058128.915 0, 1356132.64 1058107.946 0, 1355862.346 1058086.896 0, 1355594.54 1058066.055 0, 1355325.488 1058045.133 0, 1355056.435 1058024.228 0, 1354787.381 1058003.338 0, 1354518.325 1057982.463 0,
+ 1354249.269 1057961.605 0, 1353980.211 1057940.763 0, 1353711.152 1057919.936 0, 1353442.091 1057899.125 0, 1353173.029 1057878.33 0, 1352903.967 1057857.551 0, 1352634.902 1057836.788 0, 1352365.837 1057816.04 0, 1352096.771 1057795.309 0, 1351827.703 1057774.593 0,
+ 1351558.634 1057753.893 0, 1351289.564 1057733.209 0, 1351020.492 1057712.54 0, 1350751.42 1057691.888 0, 1350482.346 1057671.251 0, 1350213.271 1057650.631 0, 1349944.194 1057630.026 0, 1349675.117 1057609.437 0, 1349404.792 1057588.768 0, 1348979.49 1063153.494 0,
+ 1348554.183 1068718.268 0, 1348823.85 1068738.886 0, 1349092.273 1068759.425 0, 1349360.694 1068779.98 0, 1349629.114 1068800.55 0, 1349897.533 1068821.137 0, 1350165.95 1068841.739 0, 1350434.367 1068862.357 0, 1350702.782 1068882.99 0, 1350971.196 1068903.64 0,
+ 1351239.608 1068924.305 0, 1351508.02 1068944.987 0, 1351776.43 1068965.684 0, 1352044.839 1068986.396 0, 1352313.247 1069007.125 0, 1352581.654 1069027.869 0, 1352850.059 1069048.629 0, 1353118.463 1069069.405 0, 1353386.866 1069090.197 0, 1353655.268 1069111.005 0,
+ 1353923.669 1069131.828 0, 1354192.068 1069152.667 0, 1354460.466 1069173.522 0, 1354728.863 1069194.393 0, 1354996.017 1069215.183 0, 1355265.653 1069236.182 0, 1355534.046 1069257.1 0, 1355802.438 1069278.034 0, 1356070.829 1069298.983 0, 1356339.218 1069319.949 0,
+ 1356607.606 1069340.93 0, 1356875.993 1069361.927 0, 1357144.379 1069382.94 0, 1357412.764 1069403.969 0, 1357681.147 1069425.013 0, 1357949.529 1069446.074 0, 1358217.91 1069467.15 0, 1358486.289 1069488.242 0, 1358754.668 1069509.349 0, 1359023.045 1069530.473 0,
+ 1359291.42 1069551.612 0, 1359559.795 1069572.767 0, 1359828.168 1069593.938 0, 1360096.54 1069615.125 0, 1360364.911 1069636.327 0, 1360633.281 1069657.546 0, 1360901.649 1069678.78 0, 1361170.016 1069700.029 0, 1361437.141 1069721.197 0, 1361878.167 1064157.647 0,
+ 1362319.189 1058594.145 0))
+
+POLYGON ((1374317.214 1070760.519 0, 1374050.148 1070738.597 0, 1373781.842 1070716.589 0, 1373513.535 1070694.596 0, 1373245.226 1070672.62 0, 1372976.916 1070650.659 0, 1372708.605 1070628.715 0, 1372440.293 1070606.786 0, 1372171.979 1070584.872 0, 1371903.664 1070562.975 0,
+ 1371635.348 1070541.093 0, 1371367.03 1070519.228 0, 1371098.711 1070497.378 0, 1370830.391 1070475.543 0, 1370562.07 1070453.725 0, 1370293.747 1070431.922 0, 1370025.423 1070410.135 0, 1369757.098 1070388.364 0, 1369488.771 1070366.609 0, 1369220.443 1070344.87 0,
+ 1368952.114 1070323.146 0, 1368683.783 1070301.438 0, 1368415.452 1070279.746 0, 1368147.119 1070258.07 0, 1367877.545 1070236.309 0, 1367610.449 1070214.764 0, 1367342.112 1070193.135 0, 1367073.774 1070171.522 0, 1366805.435 1070149.925 0, 1366537.094 1070128.343 0,
+ 1366268.752 1070106.778 0, 1366000.409 1070085.228 0, 1365732.065 1070063.694 0, 1365463.719 1070042.175 0, 1365195.372 1070020.673 0, 1364927.024 1069999.186 0, 1364658.674 1069977.715 0, 1364390.324 1069956.26 0, 1364121.972 1069934.82 0, 1363853.618 1069913.397 0,
+ 1363585.264 1069891.989 0, 1363316.908 1069870.597 0, 1363048.551 1069849.221 0, 1362780.193 1069827.86 0, 1362511.833 1069806.516 0, 1362243.472 1069785.187 0, 1361975.11 1069763.874 0, 1361706.747 1069742.577 0, 1361437.141 1069721.197 0, 1360996.112 1075284.791 0,
+ 1360555.079 1080848.424 0, 1360824.027 1080869.752 0, 1361091.735 1080890.997 0, 1361359.442 1080912.258 0, 1361627.148 1080933.535 0, 1361894.853 1080954.827 0, 1362162.556 1080976.135 0, 1362430.259 1080997.459 0, 1362697.959 1081018.799 0, 1362965.659 1081040.155 0,
+ 1363233.357 1081061.526 0, 1363501.055 1081082.913 0, 1363768.75 1081104.316 0, 1364036.445 1081125.735 0, 1364304.138 1081147.169 0, 1364571.83 1081168.619 0, 1364839.521 1081190.085 0, 1365107.211 1081211.567 0, 1365374.899 1081233.064 0, 1365642.586 1081254.577 0,
+ 1365910.272 1081276.106 0, 1366177.956 1081297.651 0, 1366445.64 1081319.211 0, 1366713.322 1081340.787 0, 1366979.766 1081362.279 0, 1367248.682 1081383.987 0, 1367516.36 1081405.61 0, 1367784.037 1081427.249 0, 1368051.712 1081448.904 0, 1368319.387 1081470.575 0,
+ 1368587.06 1081492.261 0, 1368854.731 1081513.963 0, 1369122.402 1081535.681 0, 1369390.071 1081557.415 0, 1369657.739 1081579.164 0, 1369925.406 1081600.93 0, 1370193.071 1081622.711 0, 1370460.735 1081644.507 0, 1370728.398 1081666.32 0, 1370996.059 1081688.148 0,
+ 1371263.72 1081709.992 0, 1371531.378 1081731.852 0, 1371799.036 1081753.727 0, 1372066.692 1081775.618 0, 1372334.348 1081797.525 0, 1372602.001 1081819.448 0, 1372869.654 1081841.387 0, 1373137.305 1081863.341 0, 1373403.72 1081885.209 0, 1373860.469 1076322.844 0,
+ 1374317.214 1070760.519 0))
+
+POLYGON ((1386249.379 1082958.29 0, 1385983.026 1082935.669 0, 1385715.437 1082912.959 0, 1385447.848 1082890.264 0, 1385180.257 1082867.585 0, 1384912.665 1082844.922 0, 1384645.072 1082822.275 0, 1384377.477 1082799.643 0, 1384109.881 1082777.028 0, 1383842.283 1082754.427 0,
+ 1383574.685 1082731.843 0, 1383307.084 1082709.275 0, 1383039.483 1082686.722 0, 1382771.88 1082664.185 0, 1382504.276 1082641.663 0, 1382236.671 1082619.158 0, 1381969.064 1082596.668 0, 1381701.456 1082574.194 0, 1381433.847 1082551.736 0, 1381166.236 1082529.293 0,
+ 1380898.624 1082506.866 0, 1380631.011 1082484.455 0, 1380363.396 1082462.06 0, 1380095.78 1082439.68 0, 1379826.928 1082417.213 0, 1379560.544 1082394.968 0, 1379292.924 1082372.636 0, 1379025.303 1082350.32 0, 1378757.68 1082328.019 0, 1378490.056 1082305.734 0,
+ 1378222.431 1082283.464 0, 1377954.805 1082261.211 0, 1377687.177 1082238.973 0, 1377419.548 1082216.751 0, 1377151.917 1082194.545 0, 1376884.286 1082172.354 0, 1376616.653 1082150.179 0, 1376349.018 1082128.02 0, 1376081.383 1082105.877 0, 1375813.746 1082083.75 0,
+ 1375546.108 1082061.638 0, 1375278.468 1082039.542 0, 1375010.827 1082017.462 0, 1374743.185 1081995.397 0, 1374475.542 1081973.348 0, 1374207.897 1081951.315 0, 1373940.251 1081929.298 0, 1373672.604 1081907.297 0, 1373403.72 1081885.209 0, 1372946.968 1087447.61 0,
+ 1372490.213 1093010.041 0, 1372758.439 1093032.074 0, 1373025.432 1093054.022 0, 1373292.423 1093075.985 0, 1373559.413 1093097.964 0, 1373826.402 1093119.959 0, 1374093.389 1093141.97 0, 1374360.375 1093163.996 0, 1374627.36 1093186.038 0, 1374894.343 1093208.096 0,
+ 1375161.326 1093230.169 0, 1375428.306 1093252.258 0, 1375695.286 1093274.363 0, 1375962.264 1093296.483 0, 1376229.241 1093318.62 0, 1376496.217 1093340.772 0, 1376763.191 1093362.939 0, 1377030.164 1093385.123 0, 1377297.136 1093407.322 0, 1377564.107 1093429.537 0,
+ 1377831.076 1093451.767 0, 1378098.044 1093474.013 0, 1378365.01 1093496.275 0, 1378631.975 1093518.553 0, 1378897.708 1093540.744 0, 1379165.902 1093563.156 0, 1379432.863 1093585.48 0, 1379699.823 1093607.821 0, 1379966.782 1093630.177 0, 1380233.739 1093652.549 0,
+ 1380500.695 1093674.937 0, 1380767.65 1093697.34 0, 1381034.603 1093719.759 0, 1381301.555 1093742.194 0, 1381568.506 1093764.644 0, 1381835.455 1093787.111 0, 1382102.403 1093809.593 0, 1382369.35 1093832.09 0, 1382636.296 1093854.604 0, 1382903.24 1093877.133 0,
+ 1383170.182 1093899.677 0, 1383437.124 1093922.238 0, 1383704.064 1093944.814 0, 1383971.003 1093967.406 0, 1384237.94 1093990.014 0, 1384504.876 1094012.637 0, 1384771.811 1094035.276 0, 1385038.745 1094057.931 0, 1385304.447 1094080.497 0, 1385776.914 1088519.378 0,
+ 1386249.379 1082958.29 0))
+
+POLYGON ((844369.207 622965.925 0, 844075.997 622975.049 0, 843781.337 622984.235 0, 843486.678 622993.438 0, 843192.02 623002.659 0, 842897.362 623011.897 0, 842602.705 623021.152 0, 842308.048 623030.425 0, 842013.392 623039.715 0, 841718.736 623049.023 0,
+ 841424.081 623058.348 0, 841129.426 623067.69 0, 840834.772 623077.049 0, 840540.118 623086.426 0, 840245.465 623095.82 0, 839950.813 623105.232 0, 839656.161 623114.661 0, 839361.51 623124.107 0, 839066.859 623133.57 0, 838772.209 623143.051 0,
+ 838477.559 623152.549 0, 838182.91 623162.065 0, 837888.262 623171.598 0, 837593.614 623181.148 0, 837297.515 623190.763 0, 837004.319 623200.301 0, 836709.673 623209.903 0, 836415.028 623219.522 0, 836120.382 623229.159 0, 835825.738 623238.814 0,
+ 835531.094 623248.485 0, 835236.45 623258.174 0, 834941.808 623267.881 0, 834647.165 623277.604 0, 834352.523 623287.345 0, 834057.882 623297.104 0, 833763.242 623306.879 0, 833468.602 623316.672 0, 833173.962 623326.483 0, 832879.324 623336.311 0,
+ 832584.685 623346.156 0, 832290.048 623356.018 0, 831995.411 623365.898 0, 831700.774 623375.795 0, 831406.138 623385.709 0, 831111.503 623395.641 0, 830816.868 623405.59 0, 830522.234 623415.557 0, 830226.147 623425.59 0, 830414.807 628988.273 0,
+ 830603.478 634551.289 0, 830898.906 634541.278 0, 831192.886 634531.334 0, 831486.865 634521.407 0, 831780.846 634511.497 0, 832074.827 634501.605 0, 832368.809 634491.73 0, 832662.791 634481.872 0, 832956.774 634472.032 0, 833250.757 634462.208 0,
+ 833544.741 634452.402 0, 833838.726 634442.614 0, 834132.711 634432.843 0, 834426.697 634423.089 0, 834720.683 634413.352 0, 835014.67 634403.633 0, 835308.657 634393.931 0, 835602.645 634384.246 0, 835896.634 634374.578 0, 836190.623 634364.928 0,
+ 836484.613 634355.295 0, 836778.603 634345.68 0, 837072.594 634336.082 0, 837366.585 634326.501 0, 837659.129 634316.984 0, 837954.57 634307.391 0, 838248.563 634297.862 0, 838542.556 634288.35 0, 838836.551 634278.856 0, 839130.545 634269.378 0,
+ 839424.541 634259.919 0, 839718.537 634250.476 0, 840012.533 634241.051 0, 840306.53 634231.643 0, 840600.528 634222.252 0, 840894.526 634212.879 0, 841188.524 634203.523 0, 841482.524 634194.185 0, 841776.523 634184.863 0, 842070.524 634175.559 0,
+ 842364.524 634166.272 0, 842658.526 634157.003 0, 842952.528 634147.751 0, 843246.53 634138.516 0, 843540.533 634129.298 0, 843834.537 634120.098 0, 844128.541 634110.915 0, 844422.546 634101.75 0, 844715.103 634092.646 0, 844542.15 628529.12 0,
+ 844369.207 622965.925 0))
+
+POLYGON ((858827.968 633673.873 0, 858535.384 633682.15 0, 858241.354 633690.485 0, 857947.325 633698.837 0, 857653.297 633707.207 0, 857359.269 633715.594 0, 857065.242 633723.998 0, 856771.215 633732.419 0, 856477.188 633740.858 0, 856183.162 633749.314 0,
+ 855889.137 633757.788 0, 855595.112 633766.278 0, 855301.088 633774.786 0, 855007.064 633783.312 0, 854713.04 633791.854 0, 854419.018 633800.414 0, 854124.995 633808.992 0, 853830.973 633817.586 0, 853536.952 633826.198 0, 853242.931 633834.827 0,
+ 852948.911 633843.474 0, 852654.891 633852.138 0, 852360.871 633860.819 0, 852066.853 633869.517 0, 851771.388 633878.276 0, 851478.816 633886.966 0, 851184.799 633895.716 0, 850890.782 633904.484 0, 850596.766 633913.269 0, 850302.75 633922.071 0,
+ 850008.735 633930.89 0, 849714.72 633939.727 0, 849420.706 633948.581 0, 849126.692 633957.453 0, 848832.679 633966.342 0, 848538.667 633975.248 0, 848244.655 633984.171 0, 847950.643 633993.112 0, 847656.632 634002.07 0, 847362.621 634011.045 0,
+ 847068.611 634020.038 0, 846774.602 634029.047 0, 846480.593 634038.075 0, 846186.585 634047.119 0, 845892.577 634056.181 0, 845598.57 634065.26 0, 845304.563 634074.356 0, 845010.556 634083.47 0, 844715.103 634092.646 0, 844888.067 639656.502 0,
+ 845061.041 645220.683 0, 845355.836 645211.527 0, 845649.187 645202.434 0, 845942.539 645193.358 0, 846235.891 645184.299 0, 846529.244 645175.257 0, 846822.598 645166.233 0, 847115.952 645157.226 0, 847409.306 645148.236 0, 847702.661 645139.264 0,
+ 847996.017 645130.308 0, 848289.373 645121.37 0, 848582.729 645112.45 0, 848876.087 645103.546 0, 849169.444 645094.66 0, 849462.802 645085.791 0, 849756.161 645076.939 0, 850049.52 645068.105 0, 850342.88 645059.288 0, 850636.24 645050.488 0,
+ 850929.601 645041.705 0, 851222.962 645032.94 0, 851516.324 645024.192 0, 851809.686 645015.461 0, 852101.606 645006.79 0, 852396.412 644998.051 0, 852689.776 644989.372 0, 852983.141 644980.71 0, 853276.505 644972.066 0, 853569.871 644963.439 0,
+ 853863.237 644954.829 0, 854156.603 644946.236 0, 854449.97 644937.66 0, 854743.337 644929.102 0, 855036.705 644920.561 0, 855330.074 644912.038 0, 855623.442 644903.531 0, 855916.812 644895.042 0, 856210.182 644886.571 0, 856503.552 644878.116 0,
+ 856796.923 644869.679 0, 857090.294 644861.259 0, 857383.666 644852.856 0, 857677.039 644844.47 0, 857970.412 644836.102 0, 858263.785 644827.751 0, 858557.159 644819.418 0, 858850.533 644811.101 0, 859142.466 644802.843 0, 858985.212 639238.195 0,
+ 858827.968 633673.873 0))
+
+POLYGON ((873225.015 644424.787 0, 872933.058 644432.221 0, 872639.661 644439.708 0, 872346.265 644447.213 0, 872052.869 644454.735 0, 871759.474 644462.274 0, 871466.079 644469.831 0, 871172.684 644477.405 0, 870879.29 644484.996 0, 870585.897 644492.604 0,
+ 870292.504 644500.23 0, 869999.111 644507.873 0, 869705.719 644515.533 0, 869412.327 644523.211 0, 869118.936 644530.906 0, 868825.545 644538.618 0, 868532.155 644546.347 0, 868238.765 644554.093 0, 867945.375 644561.857 0, 867651.986 644569.638 0,
+ 867358.597 644577.437 0, 867065.209 644585.252 0, 866771.822 644593.085 0, 866478.435 644600.936 0, 866183.607 644608.842 0, 865891.662 644616.688 0, 865598.276 644624.59 0, 865304.89 644632.509 0, 865011.506 644640.445 0, 864718.121 644648.399 0,
+ 864424.737 644656.37 0, 864131.354 644664.359 0, 863837.971 644672.364 0, 863544.588 644680.387 0, 863251.206 644688.427 0, 862957.825 644696.485 0, 862664.444 644704.559 0, 862371.063 644712.651 0, 862077.683 644720.76 0, 861784.303 644728.887 0,
+ 861490.924 644737.031 0, 861197.545 644745.192 0, 860904.167 644753.37 0, 860610.789 644761.565 0, 860317.412 644769.778 0, 860024.035 644778.008 0, 859730.659 644786.256 0, 859437.283 644794.52 0, 859142.466 644802.843 0, 859299.728 650367.813 0,
+ 859457 655933.102 0, 859751.159 655924.798 0, 860043.88 655916.552 0, 860336.601 655908.323 0, 860629.323 655900.111 0, 860922.045 655891.917 0, 861214.767 655883.74 0, 861507.49 655875.58 0, 861800.214 655867.437 0, 862092.938 655859.311 0,
+ 862385.663 655851.203 0, 862678.388 655843.112 0, 862971.113 655835.038 0, 863263.839 655826.981 0, 863556.566 655818.942 0, 863849.293 655810.92 0, 864142.02 655802.915 0, 864434.748 655794.927 0, 864727.476 655786.957 0, 865020.205 655779.003 0,
+ 865312.934 655771.067 0, 865605.664 655763.149 0, 865898.394 655755.247 0, 866191.125 655747.363 0, 866482.418 655739.534 0, 866776.587 655731.646 0, 867069.32 655723.813 0, 867362.052 655715.998 0, 867654.785 655708.199 0, 867947.518 655700.418 0,
+ 868240.252 655692.655 0, 868532.987 655684.908 0, 868825.721 655677.179 0, 869118.457 655669.467 0, 869411.192 655661.772 0, 869703.929 655654.095 0, 869996.665 655646.434 0, 870289.402 655638.791 0, 870582.14 655631.165 0, 870874.878 655623.556 0,
+ 871167.616 655615.965 0, 871460.355 655608.391 0, 871753.094 655600.834 0, 872045.834 655593.294 0, 872338.574 655585.772 0, 872631.315 655578.266 0, 872924.056 655570.778 0, 873216.797 655563.307 0, 873508.103 655555.89 0, 873366.555 649990.179 0,
+ 873225.015 644424.787 0))
+
+POLYGON ((887560.215 655218.377 0, 887268.888 655224.971 0, 886976.126 655231.615 0, 886683.365 655238.276 0, 886390.605 655244.954 0, 886097.844 655251.65 0, 885805.084 655258.362 0, 885512.325 655265.092 0, 885219.566 655271.839 0, 884926.807 655278.604 0,
+ 884634.049 655285.385 0, 884341.291 655292.184 0, 884048.534 655299 0, 883755.776 655305.833 0, 883463.02 655312.684 0, 883170.264 655319.552 0, 882877.508 655326.437 0, 882584.752 655333.339 0, 882291.997 655340.258 0, 881999.242 655347.195 0,
+ 881706.488 655354.149 0, 881413.734 655361.12 0, 881120.981 655368.108 0, 880828.228 655375.114 0, 880534.04 655382.171 0, 880242.723 655389.177 0, 879949.971 655396.234 0, 879657.22 655403.309 0, 879364.469 655410.4 0, 879071.719 655417.509 0,
+ 878778.968 655424.636 0, 878486.219 655431.779 0, 878193.47 655438.94 0, 877900.721 655446.118 0, 877607.972 655453.313 0, 877315.224 655460.525 0, 877022.477 655467.755 0, 876729.73 655475.002 0, 876436.983 655482.266 0, 876144.237 655489.547 0,
+ 875851.491 655496.845 0, 875558.745 655504.161 0, 875266 655511.494 0, 874973.256 655518.844 0, 874680.512 655526.212 0, 874387.768 655533.596 0, 874095.025 655540.998 0, 873802.282 655548.417 0, 873508.103 655555.89 0, 873649.659 661121.917 0,
+ 873791.223 666688.257 0, 874084.743 666680.801 0, 874376.831 666673.398 0, 874668.919 666666.013 0, 874961.007 666658.645 0, 875253.096 666651.294 0, 875545.186 666643.96 0, 875837.275 666636.643 0, 876129.366 666629.344 0, 876421.456 666622.062 0,
+ 876713.547 666614.797 0, 877005.639 666607.549 0, 877297.731 666600.318 0, 877589.823 666593.105 0, 877881.916 666585.909 0, 878174.009 666578.73 0, 878466.102 666571.568 0, 878758.197 666564.423 0, 879050.291 666557.296 0, 879342.386 666550.186 0,
+ 879634.481 666543.093 0, 879926.577 666536.017 0, 880218.673 666528.958 0, 880510.769 666521.916 0, 880801.434 666514.927 0, 881094.964 666507.885 0, 881387.061 666500.895 0, 881679.16 666493.922 0, 881971.258 666486.967 0, 882263.357 666480.029 0,
+ 882555.457 666473.107 0, 882847.556 666466.203 0, 883139.657 666459.317 0, 883431.757 666452.447 0, 883723.858 666445.595 0, 884015.96 666438.76 0, 884308.061 666431.942 0, 884600.164 666425.141 0, 884892.266 666418.357 0, 885184.369 666411.591 0,
+ 885476.473 666404.841 0, 885768.577 666398.109 0, 886060.681 666391.395 0, 886352.785 666384.697 0, 886644.89 666378.017 0, 886936.996 666371.353 0, 887229.102 666364.707 0, 887521.208 666358.078 0, 887811.883 666351.499 0, 887686.046 660784.782 0,
+ 887560.215 655218.377 0))
+
+POLYGON ((901833.439 666054.353 0, 901542.744 666060.111 0, 901250.62 666065.915 0, 900958.497 666071.736 0, 900666.374 666077.574 0, 900374.251 666083.429 0, 900082.129 666089.301 0, 899790.007 666095.191 0, 899497.885 666101.098 0, 899205.764 666107.022 0,
+ 898913.643 666112.963 0, 898621.522 666118.921 0, 898329.402 666124.897 0, 898037.282 666130.889 0, 897745.162 666136.899 0, 897453.043 666142.926 0, 897160.924 666148.971 0, 896868.806 666155.032 0, 896576.687 666161.111 0, 896284.57 666167.207 0,
+ 895992.452 666173.32 0, 895700.335 666179.45 0, 895408.219 666185.598 0, 895116.102 666191.762 0, 894822.556 666197.974 0, 894531.871 666204.143 0, 894239.755 666210.359 0, 893947.64 666216.593 0, 893655.526 666222.844 0, 893363.412 666229.111 0,
+ 893071.298 666235.396 0, 892779.185 666241.699 0, 892487.072 666248.018 0, 892194.959 666254.355 0, 891902.847 666260.708 0, 891610.735 666267.079 0, 891318.623 666273.467 0, 891026.512 666279.873 0, 890734.401 666286.295 0, 890442.291 666292.735 0,
+ 890150.181 666299.192 0, 889858.071 666305.666 0, 889565.962 666312.158 0, 889273.853 666318.666 0, 888981.744 666325.192 0, 888689.636 666331.735 0, 888397.529 666338.295 0, 888105.421 666344.872 0, 887811.883 666351.499 0, 887937.728 671918.525 0,
+ 888063.579 677485.857 0, 888356.459 677479.245 0, 888647.911 677472.683 0, 888939.363 677466.137 0, 889230.816 677459.609 0, 889522.269 677453.098 0, 889813.722 677446.604 0, 890105.176 677440.127 0, 890396.631 677433.668 0, 890688.085 677427.225 0,
+ 890979.54 677420.8 0, 891270.996 677414.392 0, 891562.452 677408.001 0, 891853.908 677401.627 0, 892145.364 677395.27 0, 892436.821 677388.931 0, 892728.279 677382.608 0, 893019.736 677376.303 0, 893311.194 677370.015 0, 893602.653 677363.744 0,
+ 893894.111 677357.49 0, 894185.571 677351.254 0, 894477.03 677345.034 0, 894768.49 677338.832 0, 895058.523 677332.677 0, 895351.411 677326.479 0, 895642.872 677320.328 0, 895934.333 677314.194 0, 896225.795 677308.078 0, 896517.257 677301.978 0,
+ 896808.719 677295.896 0, 897100.182 677289.831 0, 897391.645 677283.783 0, 897683.109 677277.753 0, 897974.573 677271.739 0, 898266.037 677265.743 0, 898557.501 677259.763 0, 898848.966 677253.801 0, 899140.431 677247.856 0, 899431.897 677241.928 0,
+ 899723.363 677236.018 0, 900014.829 677230.124 0, 900306.296 677224.248 0, 900597.763 677218.389 0, 900889.23 677212.547 0, 901180.698 677206.722 0, 901472.166 677200.914 0, 901763.634 677195.123 0, 902053.677 677189.378 0, 901943.555 671621.713 0,
+ 901833.439 666054.353 0))
+
+POLYGON ((916044.557 676932.425 0, 915754.497 676937.351 0, 915463.013 676942.318 0, 915171.53 676947.302 0, 914880.047 676952.304 0, 914588.564 676957.322 0, 914297.082 676962.358 0, 914005.6 676967.411 0, 913714.118 676972.481 0, 913422.637 676977.568 0,
+ 913131.156 676982.672 0, 912839.675 676987.794 0, 912548.194 676992.932 0, 912256.714 676998.088 0, 911965.234 677003.261 0, 911673.754 677008.451 0, 911382.275 677013.659 0, 911090.796 677018.883 0, 910799.317 677024.125 0, 910507.839 677029.383 0,
+ 910216.36 677034.659 0, 909924.883 677039.952 0, 909633.405 677045.263 0, 909341.928 677050.59 0, 909049.026 677055.961 0, 908758.975 677061.296 0, 908467.498 677066.675 0, 908176.022 677072.071 0, 907884.547 677077.484 0, 907593.071 677082.915 0,
+ 907301.597 677088.362 0, 907010.122 677093.827 0, 906718.648 677099.308 0, 906427.174 677104.807 0, 906135.7 677110.323 0, 905844.227 677115.857 0, 905552.753 677121.407 0, 905261.281 677126.975 0, 904969.808 677132.559 0, 904678.336 677138.161 0,
+ 904386.865 677143.78 0, 904095.393 677149.416 0, 903803.922 677155.07 0, 903512.452 677160.74 0, 903220.981 677166.428 0, 902929.511 677172.133 0, 902638.041 677177.855 0, 902346.572 677183.594 0, 902053.677 677189.378 0, 902163.805 682757.346 0,
+ 902273.939 688325.612 0, 902566.176 688319.841 0, 902856.989 688314.115 0, 903147.804 688308.406 0, 903438.618 688302.714 0, 903729.433 688297.039 0, 904020.248 688291.381 0, 904311.064 688285.74 0, 904601.88 688280.117 0, 904892.696 688274.511 0,
+ 905183.513 688268.921 0, 905474.33 688263.349 0, 905765.147 688257.794 0, 906055.964 688252.256 0, 906346.782 688246.735 0, 906637.601 688241.232 0, 906928.419 688235.745 0, 907219.238 688230.276 0, 907510.057 688224.823 0, 907800.877 688219.388 0,
+ 908091.696 688213.97 0, 908382.517 688208.569 0, 908673.337 688203.185 0, 908964.158 688197.818 0, 909253.557 688192.495 0, 909545.8 688187.136 0, 909836.622 688181.821 0, 910127.444 688176.523 0, 910418.266 688171.242 0, 910709.089 688165.977 0,
+ 910999.912 688160.731 0, 911290.735 688155.501 0, 911581.559 688150.288 0, 911872.383 688145.092 0, 912163.207 688139.914 0, 912454.031 688134.753 0, 912744.856 688129.608 0, 913035.681 688124.481 0, 913326.507 688119.371 0, 913617.332 688114.278 0,
+ 913908.158 688109.203 0, 914198.985 688104.144 0, 914489.811 688099.103 0, 914780.638 688094.078 0, 915071.465 688089.071 0, 915362.293 688084.081 0, 915653.121 688079.108 0, 915943.949 688074.152 0, 916233.356 688069.237 0, 916138.954 682500.681 0,
+ 916044.557 676932.425 0))
+
+POLYGON ((930193.442 687852.301 0, 929904.019 687856.398 0, 929613.179 687860.532 0, 929322.338 687864.683 0, 929031.497 687868.852 0, 928740.657 687873.037 0, 928449.817 687877.24 0, 928158.978 687881.46 0, 927868.138 687885.697 0, 927577.299 687889.951 0,
+ 927286.46 687894.222 0, 926995.621 687898.511 0, 926704.783 687902.816 0, 926413.945 687907.139 0, 926123.107 687911.478 0, 925832.269 687915.835 0, 925541.432 687920.209 0, 925250.595 687924.6 0, 924959.758 687929.008 0, 924668.921 687933.434 0,
+ 924378.085 687937.876 0, 924087.249 687942.335 0, 923796.413 687946.812 0, 923505.577 687951.306 0, 923213.323 687955.839 0, 922923.907 687960.345 0, 922633.072 687964.89 0, 922342.238 687969.452 0, 922051.404 687974.031 0, 921760.57 687978.628 0,
+ 921469.736 687983.241 0, 921178.903 687987.872 0, 920888.069 687992.52 0, 920597.236 687997.185 0, 920306.404 688001.867 0, 920015.572 688006.566 0, 919724.74 688011.282 0, 919433.908 688016.016 0, 919143.076 688020.766 0, 918852.245 688025.534 0,
+ 918561.414 688030.319 0, 918270.583 688035.121 0, 917979.753 688039.94 0, 917688.923 688044.776 0, 917398.093 688049.629 0, 917107.264 688054.499 0, 916816.435 688059.387 0, 916525.606 688064.291 0, 916233.356 688069.237 0, 916327.764 693638.088 0,
+ 916422.176 699207.231 0, 916713.766 699202.297 0, 917003.94 699197.403 0, 917294.113 699192.527 0, 917584.287 699187.667 0, 917874.461 699182.825 0, 918164.636 699178 0, 918454.811 699173.192 0, 918744.986 699168.401 0, 919035.161 699163.627 0,
+ 919325.337 699158.87 0, 919615.513 699154.13 0, 919905.689 699149.407 0, 920195.865 699144.702 0, 920486.042 699140.013 0, 920776.219 699135.342 0, 921066.397 699130.687 0, 921356.574 699126.05 0, 921646.752 699121.43 0, 921936.93 699116.826 0,
+ 922227.109 699112.24 0, 922517.287 699107.671 0, 922807.466 699103.119 0, 923097.645 699098.585 0, 923386.409 699094.089 0, 923678.005 699089.566 0, 923968.184 699085.082 0, 924258.365 699080.616 0, 924548.545 699076.166 0, 924838.726 699071.734 0,
+ 925128.907 699067.319 0, 925419.088 699062.921 0, 925709.27 699058.539 0, 925999.452 699054.175 0, 926289.634 699049.828 0, 926579.816 699045.498 0, 926869.999 699041.186 0, 927160.182 699036.89 0, 927450.365 699032.611 0, 927740.548 699028.35 0,
+ 928030.732 699024.105 0, 928320.915 699019.878 0, 928611.1 699015.667 0, 928901.284 699011.474 0, 929191.468 699007.298 0, 929481.653 699003.139 0, 929771.838 698998.997 0, 930062.024 698994.872 0, 930350.794 698990.784 0, 930272.116 693421.396 0,
+ 930193.442 687852.301 0))
+
+POLYGON ((944279.968 698813.688 0, 943991.185 698816.96 0, 943700.989 698820.265 0, 943410.794 698823.587 0, 943120.598 698826.927 0, 942830.403 698830.283 0, 942540.208 698833.657 0, 942250.013 698837.047 0, 941959.819 698840.455 0, 941669.624 698843.879 0,
+ 941379.43 698847.321 0, 941089.236 698850.78 0, 940799.042 698854.256 0, 940508.848 698857.749 0, 940218.655 698861.259 0, 939928.462 698864.786 0, 939638.269 698868.33 0, 939348.076 698871.892 0, 939057.884 698875.47 0, 938767.691 698879.065 0,
+ 938477.499 698882.678 0, 938187.307 698886.308 0, 937897.115 698889.954 0, 937606.924 698893.618 0, 937315.319 698897.317 0, 937026.542 698900.997 0, 936736.351 698904.712 0, 936446.16 698908.444 0, 936155.97 698912.193 0, 935865.779 698915.96 0,
+ 935575.59 698919.743 0, 935285.4 698923.543 0, 934995.21 698927.361 0, 934705.021 698931.195 0, 934414.832 698935.047 0, 934124.643 698938.916 0, 933834.454 698942.802 0, 933544.266 698946.705 0, 933254.078 698950.625 0, 932963.89 698954.562 0,
+ 932673.702 698958.516 0, 932383.515 698962.487 0, 932093.328 698966.475 0, 931803.141 698970.481 0, 931512.954 698974.503 0, 931222.767 698978.543 0, 930932.581 698982.599 0, 930642.395 698986.673 0, 930350.794 698990.784 0, 930429.476 704560.46 0,
+ 930508.162 710130.422 0, 930799.104 710126.321 0, 931088.635 710122.256 0, 931378.165 710118.209 0, 931667.696 710114.178 0, 931957.227 710110.165 0, 932246.759 710106.169 0, 932536.29 710102.189 0, 932825.822 710098.227 0, 933115.354 710094.282 0,
+ 933404.886 710090.354 0, 933694.419 710086.443 0, 933983.951 710082.549 0, 934273.484 710078.671 0, 934563.018 710074.811 0, 934852.551 710070.968 0, 935142.085 710067.143 0, 935431.618 710063.334 0, 935721.153 710059.542 0, 936010.687 710055.767 0,
+ 936300.221 710052.009 0, 936589.756 710048.269 0, 936879.291 710044.545 0, 937168.826 710040.838 0, 937456.951 710037.167 0, 937747.897 710033.476 0, 938037.433 710029.821 0, 938326.969 710026.182 0, 938616.505 710022.561 0, 938906.042 710018.956 0,
+ 939195.579 710015.369 0, 939485.115 710011.799 0, 939774.653 710008.245 0, 940064.19 710004.709 0, 940353.727 710001.19 0, 940643.265 709997.688 0, 940932.803 709994.203 0, 941222.341 709990.735 0, 941511.88 709987.284 0, 941801.418 709983.85 0,
+ 942090.957 709980.433 0, 942380.496 709977.033 0, 942670.035 709973.65 0, 942959.574 709970.284 0, 943249.114 709966.935 0, 943538.654 709963.604 0, 943828.194 709960.289 0, 944117.734 709956.991 0, 944405.864 709953.727 0, 944342.915 704383.565 0,
+ 944279.968 698813.688 0))
+
+POLYGON ((958304.01 709816.295 0, 958015.869 709818.746 0, 957726.321 709821.226 0, 957436.773 709823.722 0, 957147.225 709826.236 0, 956857.677 709828.767 0, 956568.129 709831.314 0, 956278.582 709833.879 0, 955989.034 709836.461 0, 955699.487 709839.06 0,
+ 955409.94 709841.676 0, 955120.393 709844.309 0, 954830.846 709846.959 0, 954541.299 709849.626 0, 954251.753 709852.31 0, 953962.207 709855.012 0, 953672.661 709857.73 0, 953383.115 709860.465 0, 953093.569 709863.217 0, 952804.023 709865.987 0,
+ 952514.478 709868.773 0, 952224.932 709871.576 0, 951935.387 709874.397 0, 951645.842 709877.234 0, 951354.888 709880.103 0, 951066.753 709882.961 0, 950777.208 709885.849 0, 950487.664 709888.755 0, 950198.12 709891.678 0, 949908.576 709894.617 0,
+ 949619.032 709897.574 0, 949329.488 709900.548 0, 949039.945 709903.539 0, 948750.401 709906.547 0, 948460.858 709909.572 0, 948171.315 709912.614 0, 947881.773 709915.673 0, 947592.23 709918.749 0, 947302.688 709921.842 0, 947013.145 709924.952 0,
+ 946723.603 709928.079 0, 946434.062 709931.224 0, 946144.52 709934.385 0, 945854.978 709937.563 0, 945565.437 709940.759 0, 945275.896 709943.971 0, 944986.355 709947.201 0, 944696.814 709950.447 0, 944405.864 709953.727 0, 944468.817 715524.171 0,
+ 944531.773 721094.893 0, 944822.064 721091.621 0, 945110.949 721088.382 0, 945399.834 721085.159 0, 945688.72 721081.954 0, 945977.605 721078.766 0, 946266.491 721075.595 0, 946555.377 721072.441 0, 946844.263 721069.304 0, 947133.149 721066.184 0,
+ 947422.036 721063.08 0, 947710.922 721059.994 0, 947999.809 721056.925 0, 948288.696 721053.873 0, 948577.583 721050.838 0, 948866.471 721047.82 0, 949155.358 721044.819 0, 949444.246 721041.835 0, 949733.134 721038.867 0, 950022.022 721035.917 0,
+ 950310.91 721032.984 0, 950599.799 721030.068 0, 950888.687 721027.169 0, 951177.576 721024.287 0, 951465.059 721021.436 0, 951755.354 721018.574 0, 952044.243 721015.743 0, 952333.132 721012.929 0, 952622.022 721010.132 0, 952910.912 721007.352 0,
+ 953199.802 721004.588 0, 953488.692 721001.842 0, 953777.582 720999.113 0, 954066.472 720996.401 0, 954355.363 720993.706 0, 954644.254 720991.028 0, 954933.144 720988.367 0, 955222.036 720985.723 0, 955510.927 720983.096 0, 955799.818 720980.486 0,
+ 956088.71 720977.893 0, 956377.601 720975.317 0, 956666.493 720972.758 0, 956955.385 720970.216 0, 957244.277 720967.691 0, 957533.169 720965.183 0, 957822.062 720962.692 0, 958110.954 720960.218 0, 958398.442 720957.773 0, 958351.225 715386.895 0,
+ 958304.01 709816.295 0))
+
+POLYGON ((972265.444 720859.829 0, 971977.948 720861.462 0, 971689.049 720863.12 0, 971400.151 720864.795 0, 971111.253 720866.486 0, 970822.355 720868.195 0, 970533.457 720869.921 0, 970244.559 720871.664 0, 969955.661 720873.424 0, 969666.763 720875.201 0,
+ 969377.866 720876.994 0, 969088.968 720878.805 0, 968800.071 720880.633 0, 968511.174 720882.478 0, 968222.277 720884.34 0, 967933.38 720886.219 0, 967644.483 720888.115 0, 967355.586 720890.028 0, 967066.689 720891.957 0, 966777.793 720893.904 0,
+ 966488.896 720895.868 0, 966200 720897.849 0, 965911.104 720899.847 0, 965622.208 720901.862 0, 965331.908 720903.904 0, 965044.416 720905.943 0, 964755.52 720908.009 0, 964466.625 720910.092 0, 964177.729 720912.192 0, 963888.834 720914.308 0,
+ 963599.938 720916.442 0, 963311.043 720918.593 0, 963022.148 720920.761 0, 962733.254 720922.946 0, 962444.359 720925.148 0, 962155.464 720927.367 0, 961866.57 720929.603 0, 961577.675 720931.856 0, 961288.781 720934.126 0, 960999.887 720936.413 0,
+ 960710.993 720938.717 0, 960422.099 720941.038 0, 960133.206 720943.376 0, 959844.312 720945.731 0, 959555.419 720948.103 0, 959266.526 720950.492 0, 958977.633 720952.898 0, 958688.74 720955.321 0, 958398.442 720957.773 0, 958445.662 726528.926 0,
+ 958492.884 732100.35 0, 958782.522 732097.904 0, 959070.759 732095.486 0, 959358.997 732093.086 0, 959647.234 732090.702 0, 959935.472 732088.336 0, 960223.709 732085.986 0, 960511.947 732083.653 0, 960800.185 732081.338 0, 961088.423 732079.039 0,
+ 961376.662 732076.757 0, 961664.9 732074.492 0, 961953.138 732072.244 0, 962241.377 732070.013 0, 962529.616 732067.8 0, 962817.855 732065.603 0, 963106.094 732063.423 0, 963394.333 732061.26 0, 963682.572 732059.114 0, 963970.812 732056.984 0,
+ 964259.051 732054.872 0, 964547.291 732052.777 0, 964835.53 732050.699 0, 965123.77 732048.638 0, 965410.61 732046.603 0, 965700.251 732044.566 0, 965988.491 732042.556 0, 966276.731 732040.563 0, 966564.972 732038.586 0, 966853.212 732036.627 0,
+ 967141.453 732034.684 0, 967429.694 732032.759 0, 967717.935 732030.85 0, 968006.176 732028.959 0, 968294.417 732027.084 0, 968582.658 732025.226 0, 968870.9 732023.386 0, 969159.141 732021.562 0, 969447.383 732019.755 0, 969735.624 732017.965 0,
+ 970023.866 732016.193 0, 970312.108 732014.437 0, 970600.35 732012.698 0, 970888.592 732010.976 0, 971176.835 732009.271 0, 971465.077 732007.583 0, 971753.319 732005.912 0, 972041.562 732004.258 0, 972328.405 732002.629 0, 972296.924 726431.093 0,
+ 972265.444 720859.829 0))
+
+POLYGON ((986164.147 731943.996 0, 985877.298 731944.814 0, 985589.052 731945.654 0, 985300.806 731946.511 0, 985012.56 731947.384 0, 984724.314 731948.275 0, 984436.069 731949.183 0, 984147.823 731950.107 0, 983859.577 731951.049 0, 983571.331 731952.007 0,
+ 983283.086 731952.983 0, 982994.84 731953.975 0, 982706.595 731954.984 0, 982418.349 731956.011 0, 982130.104 731957.054 0, 981841.859 731958.114 0, 981553.613 731959.191 0, 981265.368 731960.286 0, 980977.123 731961.397 0, 980688.878 731962.525 0,
+ 980400.633 731963.67 0, 980112.388 731964.832 0, 979824.143 731966.011 0, 979535.898 731967.207 0, 979246.256 731968.426 0, 978959.409 731969.65 0, 978671.164 731970.897 0, 978382.92 731972.161 0, 978094.676 731973.442 0, 977806.431 731974.739 0,
+ 977518.187 731976.054 0, 977229.943 731977.386 0, 976941.699 731978.735 0, 976653.455 731980.1 0, 976365.211 731981.483 0, 976076.967 731982.882 0, 975788.723 731984.299 0, 975500.479 731985.732 0, 975212.236 731987.183 0, 974923.992 731988.65 0,
+ 974635.749 731990.135 0, 974347.505 731991.636 0, 974059.262 731993.154 0, 973771.019 731994.69 0, 973482.776 731996.242 0, 973194.533 731997.811 0, 972906.29 731999.397 0, 972618.047 732001.001 0, 972328.405 732002.629 0, 972359.888 737574.432 0,
+ 972391.373 743146.501 0, 972680.356 743144.876 0, 972967.943 743143.277 0, 973255.53 743141.694 0, 973543.117 743140.128 0, 973830.704 743138.58 0, 974118.291 743137.048 0, 974405.878 743135.533 0, 974693.466 743134.035 0, 974981.053 743132.554 0,
+ 975268.641 743131.09 0, 975556.229 743129.643 0, 975843.817 743128.212 0, 976131.404 743126.799 0, 976418.992 743125.403 0, 976706.58 743124.023 0, 976994.169 743122.661 0, 977281.757 743121.315 0, 977569.345 743119.986 0, 977856.933 743118.675 0,
+ 978144.522 743117.38 0, 978432.11 743116.102 0, 978719.699 743114.841 0, 979007.288 743113.597 0, 979293.482 743112.376 0, 979582.465 743111.16 0, 979870.054 743109.966 0, 980157.643 743108.79 0, 980445.232 743107.631 0, 980732.821 743106.488 0,
+ 981020.41 743105.363 0, 981307.999 743104.254 0, 981595.589 743103.162 0, 981883.178 743102.087 0, 982170.767 743101.03 0, 982458.357 743099.989 0, 982745.946 743098.965 0, 983033.536 743097.958 0, 983321.126 743096.967 0, 983608.715 743095.994 0,
+ 983896.305 743095.038 0, 984183.895 743094.098 0, 984471.485 743093.176 0, 984759.075 743092.271 0, 985046.665 743091.382 0, 985334.255 743090.51 0, 985621.845 743089.656 0, 985909.435 743088.818 0, 986195.631 743088.001 0, 986179.889 737515.866 0,
+ 986164.147 731943.996 0))
+
+POLYGON ((1000000 743068.501 0, 999713.8 743068.509 0, 999426.209 743068.535 0, 999138.617 743068.577 0, 998851.026 743068.636 0, 998563.435 743068.712 0, 998275.843 743068.805 0, 997988.252 743068.915 0, 997700.661 743069.042 0, 997413.069 743069.186 0,
+ 997125.478 743069.346 0, 996837.887 743069.524 0, 996550.296 743069.719 0, 996262.704 743069.93 0, 995975.113 743070.159 0, 995687.522 743070.404 0, 995399.931 743070.666 0, 995112.339 743070.945 0, 994824.748 743071.242 0, 994537.157 743071.555 0,
+ 994249.566 743071.885 0, 993961.975 743072.232 0, 993674.384 743072.595 0, 993386.792 743072.976 0, 993097.809 743073.376 0, 992811.61 743073.789 0, 992524.019 743074.22 0, 992236.428 743074.669 0, 991948.837 743075.134 0, 991661.246 743075.616 0,
+ 991373.656 743076.116 0, 991086.065 743076.632 0, 990798.474 743077.165 0, 990510.883 743077.715 0, 990223.292 743078.282 0, 989935.701 743078.866 0, 989648.111 743079.467 0, 989360.52 743080.084 0, 989072.929 743080.719 0, 988785.339 743081.371 0,
+ 988497.748 743082.039 0, 988210.158 743082.725 0, 987922.567 743083.427 0, 987634.977 743084.146 0, 987347.386 743084.883 0, 987059.796 743085.636 0, 986772.206 743086.406 0, 986484.615 743087.193 0, 986195.631 743088.001 0, 986211.375 748660.397 0,
+ 986227.118 754233.05 0, 986515.443 754232.244 0, 986802.377 754231.459 0, 987089.312 754230.691 0, 987376.246 754229.939 0, 987663.181 754229.205 0, 987950.115 754228.487 0, 988237.05 754227.786 0, 988523.984 754227.102 0, 988810.919 754226.435 0,
+ 989097.853 754225.785 0, 989384.788 754225.152 0, 989671.723 754224.535 0, 989958.657 754223.936 0, 990245.592 754223.353 0, 990532.527 754222.788 0, 990819.462 754222.239 0, 991106.397 754221.707 0, 991393.332 754221.192 0, 991680.267 754220.694 0,
+ 991967.202 754220.213 0, 992254.137 754219.748 0, 992541.072 754219.301 0, 992828.007 754218.87 0, 993113.552 754218.459 0, 993401.877 754218.06 0, 993688.812 754217.68 0, 993975.747 754217.317 0, 994262.682 754216.971 0, 994549.617 754216.641 0,
+ 994836.553 754216.329 0, 995123.488 754216.034 0, 995410.423 754215.755 0, 995697.358 754215.493 0, 995984.294 754215.249 0, 996271.229 754215.021 0, 996558.164 754214.81 0, 996845.099 754214.616 0, 997132.035 754214.438 0, 997418.97 754214.278 0,
+ 997705.905 754214.134 0, 997992.841 754214.008 0, 998279.776 754213.898 0, 998566.711 754213.805 0, 998853.647 754213.729 0, 999140.582 754213.67 0, 999427.518 754213.628 0, 999714.453 754213.603 0, 1000000 754213.595 0, 1000000 748640.919 0,
+ 1000000 743068.501 0))
+
+POLYGON ((1013772.882 754233.05 0, 1013487.334 754232.252 0, 1013200.399 754231.466 0, 1012913.465 754230.698 0, 1012626.53 754229.946 0, 1012339.596 754229.212 0, 1012052.662 754228.494 0, 1011765.727 754227.793 0, 1011478.793 754227.109 0, 1011191.858 754226.442 0,
+ 1010904.923 754225.791 0, 1010617.989 754225.158 0, 1010331.054 754224.541 0, 1010044.119 754223.942 0, 1009757.184 754223.359 0, 1009470.25 754222.793 0, 1009183.315 754222.244 0, 1008896.38 754221.712 0, 1008609.445 754221.197 0, 1008322.51 754220.699 0,
+ 1008035.575 754220.217 0, 1007748.64 754219.753 0, 1007461.705 754219.305 0, 1007174.77 754218.874 0, 1006886.448 754218.459 0, 1006600.9 754218.064 0, 1006313.965 754217.683 0, 1006027.03 754217.32 0, 1005740.094 754216.974 0, 1005453.159 754216.645 0,
+ 1005166.224 754216.332 0, 1004879.289 754216.036 0, 1004592.354 754215.758 0, 1004305.418 754215.496 0, 1004018.483 754215.251 0, 1003731.548 754215.023 0, 1003444.612 754214.812 0, 1003157.677 754214.617 0, 1002870.742 754214.44 0, 1002583.807 754214.279 0,
+ 1002296.871 754214.136 0, 1002009.936 754214.009 0, 1001723 754213.899 0, 1001436.065 754213.806 0, 1001149.13 754213.73 0, 1000862.194 754213.671 0, 1000575.259 754213.629 0, 1000288.324 754213.603 0, 1000000 754213.595 0, 1000000 759786.524 0,
+ 1000000 765359.704 0, 1000287.664 765359.713 0, 1000573.944 765359.738 0, 1000860.223 765359.78 0, 1001146.502 765359.839 0, 1001432.782 765359.915 0, 1001719.061 765360.008 0, 1002005.34 765360.118 0, 1002291.62 765360.244 0, 1002577.899 765360.388 0,
+ 1002864.178 765360.548 0, 1003150.458 765360.725 0, 1003436.737 765360.919 0, 1003723.016 765361.129 0, 1004009.295 765361.357 0, 1004295.575 765361.601 0, 1004581.854 765361.862 0, 1004868.133 765362.141 0, 1005154.412 765362.436 0, 1005440.691 765362.747 0,
+ 1005726.97 765363.076 0, 1006013.25 765363.421 0, 1006299.529 765363.784 0, 1006585.808 765364.163 0, 1006870.703 765364.557 0, 1007158.366 765364.972 0, 1007444.645 765365.402 0, 1007730.924 765365.848 0, 1008017.203 765366.312 0, 1008303.482 765366.792 0,
+ 1008589.761 765367.289 0, 1008876.04 765367.803 0, 1009162.318 765368.334 0, 1009448.597 765368.882 0, 1009734.876 765369.446 0, 1010021.155 765370.028 0, 1010307.433 765370.626 0, 1010593.712 765371.241 0, 1010879.991 765371.873 0, 1011166.269 765372.522 0,
+ 1011452.548 765373.187 0, 1011738.826 765373.87 0, 1012025.105 765374.569 0, 1012311.383 765375.286 0, 1012597.662 765376.019 0, 1012883.94 765376.768 0, 1013170.218 765377.535 0, 1013456.497 765378.319 0, 1013741.392 765379.115 0, 1013757.137 759805.958 0,
+ 1013772.882 754233.05 0))
+
+POLYGON ((1027482.674 765437.348 0, 1027197.78 765435.747 0, 1026911.505 765434.154 0, 1026625.23 765432.579 0, 1026338.955 765431.02 0, 1026052.68 765429.478 0, 1025766.405 765427.953 0, 1025480.129 765426.445 0, 1025193.854 765424.954 0, 1024907.578 765423.48 0,
+ 1024621.303 765422.022 0, 1024335.027 765420.581 0, 1024048.751 765419.157 0, 1023762.475 765417.75 0, 1023476.199 765416.36 0, 1023189.923 765414.987 0, 1022903.647 765413.63 0, 1022617.371 765412.291 0, 1022331.095 765410.968 0, 1022044.818 765409.662 0,
+ 1021758.542 765408.373 0, 1021472.265 765407.101 0, 1021185.989 765405.845 0, 1020899.712 765404.607 0, 1020612.054 765403.379 0, 1020327.159 765402.18 0, 1020040.882 765400.992 0, 1019754.605 765399.821 0, 1019468.328 765398.667 0, 1019182.051 765397.529 0,
+ 1018895.774 765396.409 0, 1018609.496 765395.305 0, 1018323.219 765394.218 0, 1018036.942 765393.148 0, 1017750.664 765392.095 0, 1017464.387 765391.058 0, 1017178.109 765390.039 0, 1016891.832 765389.036 0, 1016605.554 765388.05 0, 1016319.276 765387.082 0,
+ 1016032.999 765386.129 0, 1015746.721 765385.194 0, 1015460.443 765384.276 0, 1015174.165 765383.374 0, 1014887.887 765382.49 0, 1014601.609 765381.622 0, 1014315.331 765380.771 0, 1014029.053 765379.937 0, 1013741.392 765379.115 0, 1013725.646 770952.52 0,
+ 1013709.899 776526.168 0, 1013996.901 776526.987 0, 1014282.523 776527.82 0, 1014568.145 776528.669 0, 1014853.767 776529.535 0, 1015139.389 776530.417 0, 1015425.011 776531.317 0, 1015710.633 776532.233 0, 1015996.254 776533.166 0, 1016281.876 776534.116 0,
+ 1016567.498 776535.083 0, 1016853.119 776536.066 0, 1017138.741 776537.067 0, 1017424.362 776538.084 0, 1017709.983 776539.118 0, 1017995.605 776540.168 0, 1018281.226 776541.236 0, 1018566.847 776542.32 0, 1018852.468 776543.422 0, 1019138.089 776544.54 0,
+ 1019423.71 776545.675 0, 1019709.331 776546.826 0, 1019994.952 776547.995 0, 1020280.573 776549.18 0, 1020564.815 776550.376 0, 1020851.814 776551.601 0, 1021137.435 776552.837 0, 1021423.055 776554.089 0, 1021708.676 776555.358 0, 1021994.296 776556.645 0,
+ 1022279.916 776557.948 0, 1022565.536 776559.267 0, 1022851.156 776560.604 0, 1023136.776 776561.957 0, 1023422.396 776563.327 0, 1023708.016 776564.714 0, 1023993.636 776566.118 0, 1024279.256 776567.539 0, 1024564.875 776568.976 0, 1024850.495 776570.431 0,
+ 1025136.114 776571.902 0, 1025421.734 776573.389 0, 1025707.353 776574.894 0, 1025992.972 776576.416 0, 1026278.591 776577.954 0, 1026564.21 776579.509 0, 1026849.829 776581.081 0, 1027135.448 776582.67 0, 1027419.689 776584.267 0, 1027451.182 771010.686 0,
+ 1027482.674 765437.348 0))
+
+POLYGON ((1041129.26 776681.099 0, 1040845.023 776678.698 0, 1040559.409 776676.303 0, 1040273.796 776673.924 0, 1039988.183 776671.562 0, 1039702.569 776669.217 0, 1039416.955 776666.888 0, 1039131.341 776664.577 0, 1038845.727 776662.282 0, 1038560.113 776660.004 0,
+ 1038274.499 776657.743 0, 1037988.884 776655.498 0, 1037703.27 776653.271 0, 1037417.655 776651.06 0, 1037132.04 776648.866 0, 1036846.425 776646.689 0, 1036560.81 776644.529 0, 1036275.195 776642.385 0, 1035989.58 776640.259 0, 1035703.964 776638.149 0,
+ 1035418.349 776636.056 0, 1035132.733 776633.979 0, 1034847.117 776631.92 0, 1034561.501 776629.877 0, 1034274.509 776627.842 0, 1033990.269 776625.843 0, 1033704.653 776623.85 0, 1033419.036 776621.875 0, 1033133.42 776619.916 0, 1032847.803 776617.975 0,
+ 1032562.187 776616.05 0, 1032276.57 776614.142 0, 1031990.953 776612.25 0, 1031705.336 776610.376 0, 1031419.718 776608.518 0, 1031134.101 776606.677 0, 1030848.484 776604.853 0, 1030562.866 776603.046 0, 1030277.249 776601.255 0, 1029991.631 776599.482 0,
+ 1029706.013 776597.725 0, 1029420.395 776595.985 0, 1029134.777 776594.262 0, 1028849.159 776592.555 0, 1028563.541 776590.866 0, 1028277.922 776589.193 0, 1027992.304 776587.537 0, 1027706.685 776585.898 0, 1027419.689 776584.267 0, 1027388.195 782158.088 0,
+ 1027356.699 787732.145 0, 1027643.036 787733.772 0, 1027927.998 787735.407 0, 1028212.96 787737.059 0, 1028497.923 787738.728 0, 1028782.885 787740.414 0, 1029067.847 787742.117 0, 1029352.809 787743.836 0, 1029637.77 787745.572 0, 1029922.732 787747.325 0,
+ 1030207.694 787749.094 0, 1030492.655 787750.881 0, 1030777.617 787752.684 0, 1031062.578 787754.504 0, 1031347.539 787756.34 0, 1031632.5 787758.194 0, 1031917.461 787760.064 0, 1032202.422 787761.951 0, 1032487.383 787763.855 0, 1032772.343 787765.775 0,
+ 1033057.304 787767.713 0, 1033342.264 787769.667 0, 1033627.224 787771.637 0, 1033912.185 787773.625 0, 1034195.771 787775.62 0, 1034482.104 787777.651 0, 1034767.064 787779.689 0, 1035052.024 787781.743 0, 1035336.983 787783.815 0, 1035621.943 787785.903 0,
+ 1035906.902 787788.008 0, 1036191.861 787790.13 0, 1036476.82 787792.268 0, 1036761.779 787794.424 0, 1037046.738 787796.596 0, 1037331.697 787798.785 0, 1037616.655 787800.99 0, 1037901.614 787803.213 0, 1038186.572 787805.452 0, 1038471.53 787807.708 0,
+ 1038756.488 787809.981 0, 1039041.446 787812.27 0, 1039326.404 787814.577 0, 1039611.362 787816.9 0, 1039896.319 787819.239 0, 1040181.276 787821.596 0, 1040466.234 787823.969 0, 1040751.191 787826.36 0, 1041034.775 787828.755 0, 1041082.019 782254.809 0,
+ 1041129.26 776681.099 0))
+
+POLYGON ((1054712.524 787964.007 0, 1054428.945 787960.81 0, 1054143.996 787957.615 0, 1053859.047 787954.437 0, 1053574.097 787951.275 0, 1053289.148 787948.13 0, 1053004.198 787945.002 0, 1052719.248 787941.891 0, 1052434.297 787938.796 0, 1052149.347 787935.718 0,
+ 1051864.396 787932.657 0, 1051579.445 787929.613 0, 1051294.494 787926.586 0, 1051009.543 787923.575 0, 1050724.592 787920.581 0, 1050439.64 787917.604 0, 1050154.689 787914.643 0, 1049869.737 787911.7 0, 1049584.785 787908.773 0, 1049299.832 787905.863 0,
+ 1049014.88 787902.97 0, 1048729.927 787900.093 0, 1048444.975 787897.233 0, 1048160.022 787894.39 0, 1047873.698 787891.551 0, 1047590.115 787888.755 0, 1047305.162 787885.962 0, 1047020.209 787883.186 0, 1046735.255 787880.427 0, 1046450.301 787877.685 0,
+ 1046165.347 787874.959 0, 1045880.393 787872.25 0, 1045595.438 787869.558 0, 1045310.484 787866.883 0, 1045025.529 787864.224 0, 1044740.574 787861.583 0, 1044455.619 787858.958 0, 1044170.664 787856.35 0, 1043885.709 787853.758 0, 1043600.753 787851.183 0,
+ 1043315.798 787848.626 0, 1043030.842 787846.085 0, 1042745.886 787843.56 0, 1042460.93 787841.053 0, 1042175.974 787838.562 0, 1041891.017 787836.088 0, 1041606.061 787833.631 0, 1041321.104 787831.19 0, 1041034.775 787828.755 0, 1040987.53 793402.933 0,
+ 1040940.283 798977.34 0, 1041225.952 798979.77 0, 1041510.253 798982.205 0, 1041794.553 798984.657 0, 1042078.853 798987.125 0, 1042363.153 798989.61 0, 1042647.453 798992.112 0, 1042931.753 798994.63 0, 1043216.052 798997.166 0, 1043500.352 798999.717 0,
+ 1043784.651 799002.286 0, 1044068.95 799004.872 0, 1044353.249 799007.474 0, 1044637.548 799010.093 0, 1044921.847 799012.728 0, 1045206.145 799015.381 0, 1045490.444 799018.05 0, 1045774.742 799020.736 0, 1046059.04 799023.438 0, 1046343.338 799026.158 0,
+ 1046627.635 799028.894 0, 1046911.933 799031.646 0, 1047196.23 799034.416 0, 1047480.527 799037.202 0, 1047763.457 799039.992 0, 1048049.121 799042.825 0, 1048333.418 799045.661 0, 1048617.715 799048.514 0, 1048902.011 799051.384 0, 1049186.307 799054.271 0,
+ 1049470.603 799057.174 0, 1049754.899 799060.095 0, 1050039.195 799063.031 0, 1050323.491 799065.985 0, 1050607.786 799068.955 0, 1050892.081 799071.942 0, 1051176.376 799074.946 0, 1051460.671 799077.967 0, 1051744.966 799081.004 0, 1052029.26 799084.058 0,
+ 1052313.554 799087.128 0, 1052597.848 799090.216 0, 1052882.142 799093.32 0, 1053166.436 799096.441 0, 1053450.73 799099.579 0, 1053735.023 799102.733 0, 1054019.316 799105.904 0, 1054303.609 799109.092 0, 1054586.535 799112.281 0, 1054649.531 793538.03 0,
+ 1054712.524 787964.007 0))
+
+POLYGON ((1068232.352 799285.774 0, 1067949.434 799281.786 0, 1067665.151 799277.795 0, 1067380.868 799273.82 0, 1067096.585 799269.863 0, 1066812.301 799265.922 0, 1066528.017 799261.998 0, 1066243.733 799258.091 0, 1065959.449 799254.2 0, 1065675.165 799250.326 0,
+ 1065390.88 799246.469 0, 1065106.595 799242.629 0, 1064822.31 799238.805 0, 1064538.024 799234.998 0, 1064253.739 799231.208 0, 1063969.453 799227.434 0, 1063685.167 799223.678 0, 1063400.881 799219.938 0, 1063116.594 799216.214 0, 1062832.307 799212.508 0,
+ 1062548.021 799208.818 0, 1062263.733 799205.145 0, 1061979.446 799201.489 0, 1061695.158 799197.849 0, 1061409.505 799194.209 0, 1061126.583 799190.62 0, 1060842.294 799187.03 0, 1060558.006 799183.458 0, 1060273.717 799179.902 0, 1059989.429 799176.363 0,
+ 1059705.139 799172.84 0, 1059420.85 799169.334 0, 1059136.561 799165.845 0, 1058852.271 799162.373 0, 1058567.981 799158.917 0, 1058283.691 799155.479 0, 1057999.401 799152.056 0, 1057715.11 799148.651 0, 1057430.82 799145.262 0, 1057146.529 799141.891 0,
+ 1056862.238 799138.535 0, 1056577.946 799135.197 0, 1056293.655 799131.875 0, 1056009.363 799128.57 0, 1055725.071 799125.282 0, 1055440.779 799122.011 0, 1055156.487 799118.756 0, 1054872.195 799115.518 0, 1054586.535 799112.281 0, 1054523.537 804686.758 0,
+ 1054460.536 810261.456 0, 1054745.536 810264.686 0, 1055029.172 810267.916 0, 1055312.808 810271.163 0, 1055596.444 810274.427 0, 1055880.08 810277.708 0, 1056163.715 810281.005 0, 1056447.35 810284.319 0, 1056730.986 810287.65 0, 1057014.62 810290.997 0,
+ 1057298.255 810294.362 0, 1057581.89 810297.742 0, 1057865.524 810301.14 0, 1058149.158 810304.554 0, 1058432.792 810307.985 0, 1058716.425 810311.433 0, 1059000.059 810314.897 0, 1059283.692 810318.378 0, 1059567.325 810321.875 0, 1059850.958 810325.39 0,
+ 1060134.591 810328.921 0, 1060418.223 810332.469 0, 1060701.855 810336.033 0, 1060985.487 810339.614 0, 1061267.757 810343.195 0, 1061552.751 810346.827 0, 1061836.382 810350.458 0, 1062120.013 810354.106 0, 1062403.644 810357.77 0, 1062687.275 810361.452 0,
+ 1062970.905 810365.15 0, 1063254.536 810368.864 0, 1063538.166 810372.596 0, 1063821.796 810376.344 0, 1064105.425 810380.109 0, 1064389.055 810383.89 0, 1064672.684 810387.688 0, 1064956.313 810391.503 0, 1065239.942 810395.335 0, 1065523.57 810399.183 0,
+ 1065807.198 810403.048 0, 1066090.826 810406.929 0, 1066374.454 810410.828 0, 1066658.082 810414.743 0, 1066941.709 810418.674 0, 1067225.336 810422.623 0, 1067508.963 810426.588 0, 1067792.59 810430.57 0, 1068074.855 810434.549 0, 1068153.605 804860.051 0,
+ 1068232.352 799285.774 0))
+
+POLYGON ((1081688.631 810646.104 0, 1081406.376 810641.327 0, 1081122.761 810636.544 0, 1080839.147 810631.778 0, 1080555.532 810627.028 0, 1080271.917 810622.295 0, 1079988.301 810617.579 0, 1079704.686 810612.879 0, 1079421.07 810608.196 0, 1079137.454 810603.53 0,
+ 1078853.837 810598.88 0, 1078570.22 810594.248 0, 1078286.603 810589.632 0, 1078002.986 810585.032 0, 1077719.368 810580.449 0, 1077435.75 810575.883 0, 1077152.132 810571.334 0, 1076868.514 810566.801 0, 1076584.895 810562.285 0, 1076301.276 810557.786 0,
+ 1076017.657 810553.303 0, 1075734.038 810548.837 0, 1075450.418 810544.388 0, 1075166.798 810539.956 0, 1074881.817 810535.519 0, 1074599.557 810531.141 0, 1074315.936 810526.758 0, 1074032.315 810522.393 0, 1073748.694 810518.044 0, 1073465.073 810513.711 0,
+ 1073181.451 810509.396 0, 1072897.829 810505.097 0, 1072614.207 810500.814 0, 1072330.584 810496.549 0, 1072046.961 810492.3 0, 1071763.338 810488.068 0, 1071479.715 810483.852 0, 1071196.091 810479.653 0, 1070912.468 810475.471 0, 1070628.844 810471.306 0,
+ 1070345.219 810467.157 0, 1070061.595 810463.025 0, 1069777.97 810458.91 0, 1069494.345 810454.811 0, 1069210.72 810450.729 0, 1068927.094 810446.664 0, 1068643.469 810442.615 0, 1068359.843 810438.583 0, 1068074.855 810434.549 0, 1067996.102 816009.265 0,
+ 1067917.345 821584.196 0, 1068201.674 821588.221 0, 1068484.643 821592.243 0, 1068767.613 821596.282 0, 1069050.582 821600.338 0, 1069333.551 821604.411 0, 1069616.52 821608.5 0, 1069899.488 821612.606 0, 1070182.457 821616.728 0, 1070465.425 821620.867 0,
+ 1070748.392 821625.023 0, 1071031.36 821629.196 0, 1071314.327 821633.385 0, 1071597.294 821637.59 0, 1071880.261 821641.813 0, 1072163.228 821646.052 0, 1072446.194 821650.308 0, 1072729.16 821654.58 0, 1073012.126 821658.869 0, 1073295.091 821663.175 0,
+ 1073578.057 821667.497 0, 1073861.022 821671.836 0, 1074143.986 821676.192 0, 1074426.951 821680.564 0, 1074708.558 821684.932 0, 1074992.879 821689.358 0, 1075275.843 821693.781 0, 1075558.807 821698.22 0, 1075841.77 821702.675 0, 1076124.733 821707.147 0,
+ 1076407.695 821711.636 0, 1076690.658 821716.142 0, 1076973.62 821720.664 0, 1077256.582 821725.203 0, 1077539.544 821729.758 0, 1077822.505 821734.33 0, 1078105.466 821738.919 0, 1078388.427 821743.525 0, 1078671.387 821748.147 0, 1078954.348 821752.786 0,
+ 1079237.308 821757.441 0, 1079520.267 821762.113 0, 1079803.227 821766.802 0, 1080086.186 821771.507 0, 1080369.145 821776.229 0, 1080652.104 821780.968 0, 1080935.062 821785.723 0, 1081218.02 821790.495 0, 1081499.622 821795.261 0, 1081594.128 816220.575 0,
+ 1081688.631 810646.104 0))
+
+POLYGON ((1095081.248 822044.698 0, 1094799.658 822039.137 0, 1094516.715 822033.565 0, 1094233.771 822028.011 0, 1093950.827 822022.472 0, 1093667.883 822016.951 0, 1093384.938 822011.446 0, 1093101.993 822005.958 0, 1092819.047 822000.487 0, 1092536.102 821995.032 0,
+ 1092253.156 821989.594 0, 1091970.209 821984.172 0, 1091687.263 821978.767 0, 1091404.316 821973.379 0, 1091121.368 821968.008 0, 1090838.421 821962.653 0, 1090555.473 821957.314 0, 1090272.524 821951.993 0, 1089989.576 821946.688 0, 1089706.627 821941.4 0,
+ 1089423.678 821936.128 0, 1089140.728 821930.873 0, 1088857.778 821925.635 0, 1088574.828 821920.413 0, 1088290.523 821915.183 0, 1088008.927 821910.02 0, 1087725.976 821904.848 0, 1087443.025 821899.693 0, 1087160.073 821894.555 0, 1086877.121 821889.433 0,
+ 1086594.169 821884.328 0, 1086311.216 821879.239 0, 1086028.263 821874.167 0, 1085745.31 821869.112 0, 1085462.357 821864.074 0, 1085179.403 821859.052 0, 1084896.449 821854.047 0, 1084613.495 821849.058 0, 1084330.54 821844.087 0, 1084047.585 821839.131 0,
+ 1083764.63 821834.193 0, 1083481.674 821829.271 0, 1083198.719 821824.366 0, 1082915.763 821819.477 0, 1082632.806 821814.605 0, 1082349.85 821809.75 0, 1082066.893 821804.911 0, 1081783.935 821800.089 0, 1081499.622 821795.261 0, 1081405.112 827370.157 0,
+ 1081310.599 832945.26 0, 1081594.253 832950.078 0, 1081876.554 832954.888 0, 1082158.855 832959.716 0, 1082441.155 832964.56 0, 1082723.455 832969.42 0, 1083005.755 832974.298 0, 1083288.054 832979.191 0, 1083570.354 832984.102 0, 1083852.653 832989.029 0,
+ 1084134.951 832993.973 0, 1084417.25 832998.933 0, 1084699.548 833003.91 0, 1084981.846 833008.904 0, 1085264.143 833013.914 0, 1085546.44 833018.941 0, 1085828.737 833023.984 0, 1086111.034 833029.044 0, 1086393.33 833034.121 0, 1086675.626 833039.214 0,
+ 1086957.922 833044.324 0, 1087240.217 833049.45 0, 1087522.512 833054.593 0, 1087804.807 833059.753 0, 1088085.75 833064.904 0, 1088369.396 833070.122 0, 1088651.69 833075.332 0, 1088933.983 833080.558 0, 1089216.276 833085.801 0, 1089498.569 833091.06 0,
+ 1089780.862 833096.336 0, 1090063.154 833101.629 0, 1090345.446 833106.938 0, 1090627.738 833112.264 0, 1090910.029 833117.606 0, 1091192.321 833122.965 0, 1091474.611 833128.341 0, 1091756.902 833133.734 0, 1092039.192 833139.142 0, 1092321.482 833144.568 0,
+ 1092603.771 833150.01 0, 1092886.06 833155.469 0, 1093168.349 833160.944 0, 1093450.638 833166.436 0, 1093732.926 833171.945 0, 1094015.214 833177.47 0, 1094297.501 833183.012 0, 1094579.789 833188.571 0, 1094860.725 833194.119 0, 1094970.988 827619.305 0,
+ 1095081.248 822044.698 0))
+
+POLYGON ((1108410.094 833481.258 0, 1108129.172 833474.916 0, 1107846.902 833468.56 0, 1107564.631 833462.221 0, 1107282.36 833455.898 0, 1107000.088 833449.592 0, 1106717.816 833443.302 0, 1106435.544 833437.029 0, 1106153.271 833430.773 0, 1105870.998 833424.533 0,
+ 1105588.725 833418.31 0, 1105306.451 833412.104 0, 1105024.177 833405.914 0, 1104741.903 833399.741 0, 1104459.628 833393.584 0, 1104177.353 833387.444 0, 1103895.077 833381.321 0, 1103612.801 833375.214 0, 1103330.525 833369.124 0, 1103048.249 833363.05 0,
+ 1102765.972 833356.994 0, 1102483.694 833350.953 0, 1102201.417 833344.93 0, 1101919.139 833338.923 0, 1101635.511 833332.904 0, 1101354.581 833326.958 0, 1101072.302 833321.001 0, 1100790.023 833315.06 0, 1100507.743 833309.136 0, 1100225.463 833303.229 0,
+ 1099943.182 833297.338 0, 1099660.902 833291.464 0, 1099378.62 833285.607 0, 1099096.339 833279.766 0, 1098814.057 833273.941 0, 1098531.775 833268.134 0, 1098249.492 833262.343 0, 1097967.209 833256.568 0, 1097684.926 833250.81 0, 1097402.643 833245.069 0,
+ 1097120.359 833239.344 0, 1096838.074 833233.636 0, 1096555.79 833227.945 0, 1096273.505 833222.27 0, 1095991.22 833216.612 0, 1095708.934 833210.971 0, 1095426.648 833205.346 0, 1095144.362 833199.737 0, 1094860.725 833194.119 0, 1094750.457 838769.136 0,
+ 1094640.186 844344.353 0, 1094923.164 844349.958 0, 1095204.793 844355.553 0, 1095486.423 844361.165 0, 1095768.052 844366.794 0, 1096049.681 844372.439 0, 1096331.31 844378.1 0, 1096612.938 844383.778 0, 1096894.566 844389.473 0, 1097176.194 844395.184 0,
+ 1097457.821 844400.912 0, 1097739.448 844406.657 0, 1098021.075 844412.418 0, 1098302.701 844418.195 0, 1098584.327 844423.99 0, 1098865.953 844429.8 0, 1099147.578 844435.628 0, 1099429.203 844441.472 0, 1099710.827 844447.332 0, 1099992.452 844453.209 0,
+ 1100274.075 844459.103 0, 1100555.699 844465.013 0, 1100837.322 844470.94 0, 1101118.945 844476.883 0, 1101399.221 844482.815 0, 1101682.19 844488.82 0, 1101963.811 844494.813 0, 1102245.433 844500.822 0, 1102527.054 844506.849 0, 1102808.675 844512.892 0,
+ 1103090.295 844518.951 0, 1103371.915 844525.027 0, 1103653.535 844531.119 0, 1103935.154 844537.229 0, 1104216.773 844543.354 0, 1104498.391 844549.497 0, 1104780.009 844555.655 0, 1105061.627 844561.831 0, 1105343.245 844568.023 0, 1105624.862 844574.231 0,
+ 1105906.479 844580.457 0, 1106188.095 844586.698 0, 1106469.711 844592.957 0, 1106751.327 844599.232 0, 1107032.942 844605.523 0, 1107314.557 844611.831 0, 1107596.171 844618.156 0, 1107877.785 844624.497 0, 1108158.054 844630.824 0, 1108284.076 839055.941 0,
+ 1108410.094 833481.258 0))
+
+POLYGON ((1121675.059 844955.485 0, 1121394.807 844948.366 0, 1121113.212 844941.229 0, 1120831.617 844934.109 0, 1120550.021 844927.005 0, 1120268.424 844919.918 0, 1119986.828 844912.848 0, 1119705.23 844905.794 0, 1119423.633 844898.756 0, 1119142.035 844891.736 0,
+ 1118860.436 844884.731 0, 1118578.837 844877.744 0, 1118297.238 844870.773 0, 1118015.638 844863.818 0, 1117734.038 844856.88 0, 1117452.438 844849.959 0, 1117170.837 844843.054 0, 1116889.236 844836.166 0, 1116607.634 844829.295 0, 1116326.032 844822.44 0,
+ 1116044.429 844815.601 0, 1115762.826 844808.779 0, 1115481.223 844801.974 0, 1115199.619 844795.185 0, 1114916.671 844788.381 0, 1114636.411 844781.658 0, 1114354.806 844774.919 0, 1114073.201 844768.196 0, 1113791.595 844761.491 0, 1113509.989 844754.801 0,
+ 1113228.382 844748.129 0, 1112946.775 844741.472 0, 1112665.168 844734.833 0, 1112383.56 844728.21 0, 1112101.952 844721.604 0, 1111820.344 844715.014 0, 1111538.735 844708.441 0, 1111257.126 844701.884 0, 1110975.516 844695.344 0, 1110693.906 844688.82 0,
+ 1110412.296 844682.313 0, 1110130.685 844675.823 0, 1109849.074 844669.349 0, 1109567.462 844662.892 0, 1109285.851 844656.451 0, 1109004.238 844650.027 0, 1108722.626 844643.62 0, 1108441.013 844637.229 0, 1108158.054 844630.824 0, 1108032.027 850205.903 0,
+ 1107905.997 855781.173 0, 1108188.296 855787.563 0, 1108469.253 855793.939 0, 1108750.209 855800.332 0, 1109031.165 855806.741 0, 1109312.121 855813.166 0, 1109593.076 855819.609 0, 1109874.031 855826.067 0, 1110154.985 855832.542 0, 1110435.939 855839.034 0,
+ 1110716.893 855845.543 0, 1110997.846 855852.067 0, 1111278.799 855858.609 0, 1111559.752 855865.167 0, 1111840.704 855871.741 0, 1112121.656 855878.332 0, 1112402.607 855884.94 0, 1112683.558 855891.564 0, 1112964.509 855898.204 0, 1113245.459 855904.861 0,
+ 1113526.409 855911.535 0, 1113807.358 855918.225 0, 1114088.307 855924.932 0, 1114369.256 855931.655 0, 1114648.863 855938.363 0, 1114931.152 855945.152 0, 1115212.099 855951.924 0, 1115493.047 855958.714 0, 1115773.993 855965.52 0, 1116054.939 855972.342 0,
+ 1116335.885 855979.181 0, 1116616.831 855986.037 0, 1116897.776 855992.909 0, 1117178.72 855999.798 0, 1117459.665 856006.703 0, 1117740.608 856013.625 0, 1118021.552 856020.563 0, 1118302.495 856027.518 0, 1118583.437 856034.489 0, 1118864.38 856041.477 0,
+ 1119145.321 856048.481 0, 1119426.263 856055.502 0, 1119707.204 856062.54 0, 1119988.144 856069.594 0, 1120269.084 856076.664 0, 1120550.024 856083.751 0, 1120830.963 856090.855 0, 1121111.902 856097.975 0, 1121391.501 856105.077 0, 1121533.282 850530.185 0,
+ 1121675.059 844955.485 0))
+
+POLYGON ((1134876.036 856467.079 0, 1134596.457 856459.187 0, 1134315.539 856451.273 0, 1134034.621 856443.376 0, 1133753.702 856435.495 0, 1133472.783 856427.631 0, 1133191.864 856419.783 0, 1132910.944 856411.952 0, 1132630.023 856404.137 0, 1132349.103 856396.339 0,
+ 1132068.181 856388.558 0, 1131787.259 856380.793 0, 1131506.337 856373.044 0, 1131225.415 856365.312 0, 1130944.491 856357.597 0, 1130663.568 856349.898 0, 1130382.644 856342.216 0, 1130101.719 856334.55 0, 1129820.794 856326.901 0, 1129539.869 856319.268 0,
+ 1129258.943 856311.652 0, 1128978.017 856304.052 0, 1128697.09 856296.469 0, 1128416.163 856288.902 0, 1128133.896 856281.316 0, 1127854.307 856273.819 0, 1127573.378 856266.302 0, 1127292.45 856258.801 0, 1127011.52 856251.317 0, 1126730.59 856243.85 0,
+ 1126449.66 856236.399 0, 1126168.729 856228.965 0, 1125887.798 856221.547 0, 1125606.866 856214.146 0, 1125325.934 856206.761 0, 1125045.002 856199.393 0, 1124764.069 856192.041 0, 1124483.136 856184.706 0, 1124202.202 856177.388 0, 1123921.268 856170.086 0,
+ 1123640.333 856162.8 0, 1123359.398 856155.531 0, 1123078.463 856148.279 0, 1122797.527 856141.043 0, 1122516.59 856133.824 0, 1122235.654 856126.621 0, 1121954.716 856119.434 0, 1121673.779 856112.265 0, 1121391.501 856105.077 0, 1121249.715 861680.158 0,
+ 1121107.924 867255.423 0, 1121389.542 867262.593 0, 1121669.823 867269.746 0, 1121950.104 867276.916 0, 1122230.385 867284.102 0, 1122510.665 867291.304 0, 1122790.945 867298.523 0, 1123071.224 867305.759 0, 1123351.502 867313.011 0, 1123631.781 867320.279 0,
+ 1123912.059 867327.564 0, 1124192.336 867334.866 0, 1124472.613 867342.184 0, 1124752.89 867349.518 0, 1125033.166 867356.869 0, 1125313.442 867364.237 0, 1125593.717 867371.621 0, 1125873.992 867379.021 0, 1126154.267 867386.438 0, 1126434.541 867393.871 0,
+ 1126714.814 867401.321 0, 1126995.087 867408.788 0, 1127275.36 867416.271 0, 1127555.632 867423.77 0, 1127834.569 867431.25 0, 1128116.176 867438.818 0, 1128396.446 867446.367 0, 1128676.717 867453.933 0, 1128956.987 867461.515 0, 1129237.257 867469.113 0,
+ 1129517.526 867476.728 0, 1129797.794 867484.359 0, 1130078.063 867492.007 0, 1130358.331 867499.672 0, 1130638.598 867507.352 0, 1130918.865 867515.05 0, 1131199.131 867522.764 0, 1131479.397 867530.494 0, 1131759.663 867538.241 0, 1132039.928 867546.004 0,
+ 1132320.192 867553.784 0, 1132600.457 867561.58 0, 1132880.72 867569.393 0, 1133160.984 867577.223 0, 1133441.246 867585.069 0, 1133721.509 867592.931 0, 1134001.771 867600.81 0, 1134282.032 867608.705 0, 1134560.958 867616.579 0, 1134718.5 862041.737 0,
+ 1134876.036 856467.079 0))
+
+POLYGON ((1148012.919 868015.741 0, 1147734.014 868007.079 0, 1147453.776 867998.392 0, 1147173.537 867989.721 0, 1146893.298 867981.067 0, 1146613.059 867972.43 0, 1146332.819 867963.809 0, 1146052.578 867955.204 0, 1145772.337 867946.616 0, 1145492.096 867938.044 0,
+ 1145211.854 867929.489 0, 1144931.611 867920.95 0, 1144651.368 867912.428 0, 1144371.125 867903.923 0, 1144090.881 867895.433 0, 1143810.636 867886.961 0, 1143530.391 867878.505 0, 1143250.146 867870.065 0, 1142969.9 867861.642 0, 1142689.653 867853.235 0,
+ 1142409.406 867844.845 0, 1142129.158 867836.471 0, 1141848.91 867828.114 0, 1141568.662 867819.773 0, 1141287.08 867811.41 0, 1141008.164 867803.141 0, 1140727.914 867794.85 0, 1140447.663 867786.576 0, 1140167.412 867778.317 0, 1139887.161 867770.076 0,
+ 1139606.909 867761.85 0, 1139326.656 867753.642 0, 1139046.404 867745.449 0, 1138766.15 867737.274 0, 1138485.896 867729.114 0, 1138205.642 867720.972 0, 1137925.387 867712.845 0, 1137645.132 867704.736 0, 1137364.876 867696.642 0, 1137084.62 867688.566 0,
+ 1136804.363 867680.505 0, 1136524.106 867672.461 0, 1136243.849 867664.434 0, 1135963.59 867656.423 0, 1135683.332 867648.429 0, 1135403.073 867640.451 0, 1135122.813 867632.49 0, 1134842.553 867624.545 0, 1134560.958 867616.579 0, 1134403.412 873191.602 0,
+ 1134245.86 878766.802 0, 1134526.796 878774.749 0, 1134806.399 878782.675 0, 1135086.003 878790.618 0, 1135365.605 878798.577 0, 1135645.208 878806.553 0, 1135924.81 878814.545 0, 1136204.411 878822.553 0, 1136484.012 878830.578 0, 1136763.612 878838.619 0,
+ 1137043.212 878846.677 0, 1137322.812 878854.752 0, 1137602.411 878862.842 0, 1137882.009 878870.95 0, 1138161.607 878879.073 0, 1138441.205 878887.214 0, 1138720.802 878895.37 0, 1139000.398 878903.543 0, 1139279.995 878911.733 0, 1139559.59 878919.939 0,
+ 1139839.185 878928.161 0, 1140118.78 878936.4 0, 1140398.374 878944.655 0, 1140677.968 878952.927 0, 1140956.231 878961.176 0, 1141237.154 878969.52 0, 1141516.746 878977.841 0, 1141796.338 878986.179 0, 1142075.929 878994.533 0, 1142355.52 879002.903 0,
+ 1142635.11 879011.29 0, 1142914.7 879019.694 0, 1143194.289 879028.114 0, 1143473.878 879036.55 0, 1143753.466 879045.003 0, 1144033.054 879053.472 0, 1144312.641 879061.958 0, 1144592.228 879070.46 0, 1144871.815 879078.979 0, 1145151.4 879087.514 0,
+ 1145430.986 879096.065 0, 1145710.57 879104.633 0, 1145990.155 879113.218 0, 1146269.738 879121.819 0, 1146549.322 879130.436 0, 1146828.904 879139.07 0, 1147108.487 879147.72 0, 1147388.068 879156.387 0, 1147666.321 879165.029 0, 1147839.623 873590.297 0,
+ 1148012.919 868015.741 0))
+
+POLYGON ((1161085.603 879601.17 0, 1160807.374 879591.742 0, 1160527.818 879582.285 0, 1160248.261 879572.845 0, 1159968.704 879563.422 0, 1159689.146 879554.014 0, 1159409.588 879544.624 0, 1159130.029 879535.249 0, 1158850.469 879525.891 0, 1158570.909 879516.55 0,
+ 1158291.349 879507.225 0, 1158011.787 879497.917 0, 1157732.226 879488.625 0, 1157452.664 879479.349 0, 1157173.101 879470.09 0, 1156893.538 879460.847 0, 1156613.974 879451.621 0, 1156334.409 879442.411 0, 1156054.844 879433.218 0, 1155775.279 879424.041 0,
+ 1155495.713 879414.881 0, 1155216.146 879405.737 0, 1154936.579 879396.609 0, 1154657.012 879387.498 0, 1154376.116 879378.36 0, 1154097.875 879369.325 0, 1153818.306 879360.264 0, 1153538.736 879351.219 0, 1153259.166 879342.19 0, 1152979.595 879333.178 0,
+ 1152700.023 879324.182 0, 1152420.452 879315.202 0, 1152140.879 879306.239 0, 1151861.306 879297.293 0, 1151581.733 879288.363 0, 1151302.159 879279.449 0, 1151022.584 879270.552 0, 1150743.009 879261.672 0, 1150463.434 879252.807 0, 1150183.858 879243.96 0,
+ 1149904.281 879235.128 0, 1149624.704 879226.313 0, 1149345.126 879217.515 0, 1149065.548 879208.733 0, 1148785.97 879199.968 0, 1148506.39 879191.219 0, 1148226.811 879182.486 0, 1147947.23 879173.77 0, 1147666.321 879165.029 0, 1147493.013 884739.934 0,
+ 1147319.701 890315.009 0, 1147599.951 890323.729 0, 1147878.875 890332.425 0, 1148157.798 890341.137 0, 1148436.721 890349.866 0, 1148715.644 890358.611 0, 1148994.566 890367.372 0, 1149273.487 890376.15 0, 1149552.408 890384.944 0, 1149831.328 890393.754 0,
+ 1150110.248 890402.581 0, 1150389.167 890411.425 0, 1150668.086 890420.285 0, 1150947.004 890429.161 0, 1151225.922 890438.053 0, 1151504.839 890446.962 0, 1151783.756 890455.888 0, 1152062.672 890464.83 0, 1152341.588 890473.788 0, 1152620.503 890482.763 0,
+ 1152899.417 890491.754 0, 1153178.332 890500.762 0, 1153457.245 890509.786 0, 1153736.158 890518.826 0, 1154013.746 890527.84 0, 1154293.982 890536.956 0, 1154572.894 890546.046 0, 1154851.805 890555.152 0, 1155130.715 890564.274 0, 1155409.625 890573.413 0,
+ 1155688.534 890582.568 0, 1155967.443 890591.74 0, 1156246.351 890600.928 0, 1156525.258 890610.133 0, 1156804.165 890619.354 0, 1157083.072 890628.591 0, 1157361.978 890637.845 0, 1157640.883 890647.115 0, 1157919.788 890656.402 0, 1158198.693 890665.705 0,
+ 1158477.596 890675.024 0, 1158756.5 890684.36 0, 1159035.402 890693.713 0, 1159314.305 890703.081 0, 1159593.206 890712.466 0, 1159872.107 890721.868 0, 1160151.008 890731.286 0, 1160429.908 890740.72 0, 1160707.483 890750.126 0, 1160896.546 885175.563 0,
+ 1161085.603 879601.17 0))
+
+POLYGON ((1174093.983 891223.065 0, 1173816.433 891212.874 0, 1173537.561 891202.652 0, 1173258.688 891192.446 0, 1172979.815 891182.257 0, 1172700.941 891172.084 0, 1172422.066 891161.927 0, 1172143.191 891151.787 0, 1171864.315 891141.663 0, 1171585.439 891131.556 0,
+ 1171306.562 891121.465 0, 1171027.684 891111.39 0, 1170748.806 891101.332 0, 1170469.928 891091.29 0, 1170191.048 891081.265 0, 1169912.168 891071.256 0, 1169633.288 891061.264 0, 1169354.407 891051.288 0, 1169075.525 891041.328 0, 1168796.643 891031.385 0,
+ 1168517.76 891021.458 0, 1168238.877 891011.547 0, 1167959.993 891001.653 0, 1167681.108 890991.776 0, 1167400.9 890981.868 0, 1167123.337 890972.07 0, 1166844.451 890962.242 0, 1166565.564 890952.43 0, 1166286.676 890942.634 0, 1166007.788 890932.855 0,
+ 1165728.9 890923.092 0, 1165450.01 890913.346 0, 1165171.121 890903.616 0, 1164892.23 890893.903 0, 1164613.339 890884.206 0, 1164334.448 890874.525 0, 1164055.556 890864.861 0, 1163776.663 890855.213 0, 1163497.77 890845.582 0, 1163218.876 890835.967 0,
+ 1162939.982 890826.368 0, 1162661.087 890816.786 0, 1162382.192 890807.221 0, 1162103.295 890797.671 0, 1161824.399 890788.138 0, 1161545.502 890778.622 0, 1161266.604 890769.122 0, 1160987.706 890759.638 0, 1160707.483 890750.126 0, 1160518.415 896324.854 0,
+ 1160329.342 901899.744 0, 1160608.905 901909.234 0, 1160887.147 901918.695 0, 1161165.388 901928.173 0, 1161443.629 901937.667 0, 1161721.869 901947.177 0, 1162000.109 901956.704 0, 1162278.348 901966.247 0, 1162556.587 901975.807 0, 1162834.825 901985.383 0,
+ 1163113.063 901994.975 0, 1163391.3 902004.584 0, 1163669.536 902014.209 0, 1163947.772 902023.85 0, 1164226.007 902033.508 0, 1164504.242 902043.182 0, 1164782.476 902052.873 0, 1165060.71 902062.58 0, 1165338.943 902072.303 0, 1165617.175 902082.043 0,
+ 1165895.407 902091.799 0, 1166173.638 902101.572 0, 1166451.869 902111.36 0, 1166730.099 902121.166 0, 1167007.009 902130.941 0, 1167286.557 902140.825 0, 1167564.786 902150.68 0, 1167843.014 902160.55 0, 1168121.241 902170.437 0, 1168399.467 902180.341 0,
+ 1168677.694 902190.261 0, 1168955.919 902200.197 0, 1169234.144 902210.149 0, 1169512.368 902220.118 0, 1169790.592 902230.104 0, 1170068.815 902240.106 0, 1170347.038 902250.124 0, 1170625.259 902260.158 0, 1170903.481 902270.209 0, 1171181.702 902280.276 0,
+ 1171459.922 902290.36 0, 1171738.141 902300.46 0, 1172016.36 902310.576 0, 1172294.579 902320.709 0, 1172572.796 902330.858 0, 1172851.014 902341.023 0, 1173129.23 902351.205 0, 1173407.446 902361.404 0, 1173684.343 902371.57 0, 1173889.166 896797.236 0,
+ 1174093.983 891223.065 0))
+
+POLYGON ((1187037.959 902881.124 0, 1186761.089 902870.175 0, 1186482.903 902859.191 0, 1186204.716 902848.223 0, 1185926.529 902837.272 0, 1185648.341 902826.337 0, 1185370.152 902815.418 0, 1185091.963 902804.516 0, 1184813.773 902793.63 0, 1184535.583 902782.76 0,
+ 1184257.392 902771.907 0, 1183979.2 902761.07 0, 1183701.007 902750.25 0, 1183422.814 902739.445 0, 1183144.62 902728.658 0, 1182866.426 902717.886 0, 1182588.231 902707.131 0, 1182310.035 902696.393 0, 1182031.839 902685.671 0, 1181753.642 902674.965 0,
+ 1181475.445 902664.275 0, 1181197.246 902653.602 0, 1180919.048 902642.945 0, 1180640.848 902632.305 0, 1180361.331 902621.631 0, 1180084.447 902611.074 0, 1179806.246 902600.482 0, 1179528.044 902589.907 0, 1179249.842 902579.349 0, 1178971.638 902568.807 0,
+ 1178693.435 902558.281 0, 1178415.23 902547.772 0, 1178137.025 902537.279 0, 1177858.82 902526.802 0, 1177580.613 902516.342 0, 1177302.406 902505.898 0, 1177024.199 902495.471 0, 1176745.991 902485.06 0, 1176467.782 902474.665 0, 1176189.573 902464.286 0,
+ 1175911.363 902453.924 0, 1175633.152 902443.579 0, 1175354.941 902433.25 0, 1175076.729 902422.937 0, 1174798.517 902412.64 0, 1174520.304 902402.36 0, 1174242.091 902392.096 0, 1173963.876 902381.849 0, 1173684.343 902371.57 0, 1173479.515 907946.061 0,
+ 1173274.68 913520.705 0, 1173553.554 913530.961 0, 1173831.112 913541.184 0, 1174108.669 913551.423 0, 1174386.226 913561.679 0, 1174663.782 913571.951 0, 1174941.338 913582.24 0, 1175218.893 913592.545 0, 1175496.447 913602.866 0, 1175774.001 913613.204 0,
+ 1176051.554 913623.557 0, 1176329.106 913633.928 0, 1176606.658 913644.314 0, 1176884.21 913654.717 0, 1177161.76 913665.136 0, 1177439.31 913675.572 0, 1177716.86 913686.024 0, 1177994.409 913696.492 0, 1178271.957 913706.977 0, 1178549.504 913717.477 0,
+ 1178827.051 913727.995 0, 1179104.598 913738.528 0, 1179382.144 913749.078 0, 1179659.689 913759.644 0, 1179935.919 913770.177 0, 1180214.777 913780.826 0, 1180492.32 913791.441 0, 1180769.863 913802.073 0, 1181047.405 913812.721 0, 1181324.946 913823.385 0,
+ 1181602.487 913834.066 0, 1181880.027 913844.762 0, 1182157.567 913855.476 0, 1182435.105 913866.205 0, 1182712.644 913876.951 0, 1182990.181 913887.714 0, 1183267.718 913898.492 0, 1183545.254 913909.287 0, 1183822.79 913920.098 0, 1184100.325 913930.926 0,
+ 1184377.86 913941.77 0, 1184655.393 913952.63 0, 1184932.927 913963.507 0, 1185210.459 913974.4 0, 1185487.991 913985.309 0, 1185765.522 913996.235 0, 1186043.053 914007.177 0, 1186320.583 914018.135 0, 1186596.799 914029.058 0, 1186817.382 908455.014 0,
+ 1187037.959 902881.124 0))
+
+POLYGON ((1199917.428 914575.045 0, 1199641.242 914563.342 0, 1199363.744 914551.6 0, 1199086.245 914539.874 0, 1198808.746 914528.164 0, 1198531.246 914516.471 0, 1198253.746 914504.794 0, 1197976.244 914493.133 0, 1197698.742 914481.489 0, 1197421.24 914469.861 0,
+ 1197143.736 914458.249 0, 1196866.232 914446.654 0, 1196588.728 914435.075 0, 1196311.222 914423.512 0, 1196033.716 914411.966 0, 1195756.209 914400.436 0, 1195478.702 914388.922 0, 1195201.194 914377.425 0, 1194923.685 914365.944 0, 1194646.176 914354.479 0,
+ 1194368.665 914343.031 0, 1194091.155 914331.599 0, 1193813.643 914320.183 0, 1193536.131 914308.784 0, 1193257.306 914297.347 0, 1192981.105 914286.034 0, 1192703.591 914274.684 0, 1192426.076 914263.35 0, 1192148.56 914252.032 0, 1191871.044 914240.731 0,
+ 1191593.527 914229.446 0, 1191316.01 914218.177 0, 1191038.492 914206.925 0, 1190760.973 914195.689 0, 1190483.453 914184.469 0, 1190205.933 914173.266 0, 1189928.412 914162.079 0, 1189650.891 914150.909 0, 1189373.369 914139.754 0, 1189095.846 914128.616 0,
+ 1188818.323 914117.495 0, 1188540.799 914106.389 0, 1188263.274 914095.3 0, 1187985.748 914084.228 0, 1187708.222 914073.171 0, 1187430.696 914062.131 0, 1187153.168 914051.108 0, 1186875.64 914040.101 0, 1186596.799 914029.058 0, 1186376.21 919603.251 0,
+ 1186155.615 925177.591 0, 1186433.798 925188.608 0, 1186710.669 925199.589 0, 1186987.541 925210.587 0, 1187264.411 925221.601 0, 1187541.281 925232.631 0, 1187818.15 925243.677 0, 1188095.019 925254.74 0, 1188371.887 925265.819 0, 1188648.754 925276.914 0,
+ 1188925.62 925288.026 0, 1189202.486 925299.154 0, 1189479.352 925310.298 0, 1189756.216 925321.459 0, 1190033.08 925332.636 0, 1190309.944 925343.829 0, 1190586.806 925355.038 0, 1190863.668 925366.264 0, 1191140.53 925377.506 0, 1191417.39 925388.764 0,
+ 1191694.25 925400.039 0, 1191971.11 925411.33 0, 1192247.968 925422.637 0, 1192524.826 925433.96 0, 1192800.375 925445.246 0, 1193078.54 925456.656 0, 1193355.396 925468.029 0, 1193632.252 925479.417 0, 1193909.106 925490.822 0, 1194185.96 925502.243 0,
+ 1194462.814 925513.681 0, 1194739.666 925525.135 0, 1195016.518 925536.605 0, 1195293.37 925548.091 0, 1195570.22 925559.594 0, 1195847.07 925571.113 0, 1196123.919 925582.648 0, 1196400.768 925594.2 0, 1196677.616 925605.768 0, 1196954.463 925617.352 0,
+ 1197231.31 925628.953 0, 1197508.156 925640.569 0, 1197785.001 925652.202 0, 1198061.845 925663.852 0, 1198338.689 925675.518 0, 1198615.532 925687.2 0, 1198892.375 925698.898 0, 1199169.216 925710.612 0, 1199444.75 925722.288 0, 1199681.092 920148.593 0,
+ 1199917.428 914575.045 0))
+
+POLYGON ((1212732.292 926304.526 0, 1212456.791 926292.072 0, 1212179.983 926279.576 0, 1211903.175 926267.095 0, 1211626.366 926254.631 0, 1211349.556 926242.184 0, 1211072.746 926229.752 0, 1210795.935 926217.337 0, 1210519.123 926204.938 0, 1210242.31 926192.556 0,
+ 1209965.497 926180.189 0, 1209688.683 926167.839 0, 1209411.868 926155.506 0, 1209135.052 926143.188 0, 1208858.236 926130.887 0, 1208581.419 926118.602 0, 1208304.601 926106.334 0, 1208027.783 926094.081 0, 1207750.963 926081.845 0, 1207474.143 926069.626 0,
+ 1207197.323 926057.422 0, 1206920.501 926045.235 0, 1206643.679 926033.065 0, 1206366.857 926020.91 0, 1206088.727 926008.715 0, 1205813.209 925996.65 0, 1205536.384 925984.544 0, 1205259.558 925972.455 0, 1204982.732 925960.382 0, 1204705.905 925948.325 0,
+ 1204429.077 925936.285 0, 1204152.249 925924.261 0, 1203875.42 925912.253 0, 1203598.59 925900.261 0, 1203321.759 925888.286 0, 1203044.928 925876.327 0, 1202768.096 925864.384 0, 1202491.263 925852.458 0, 1202214.43 925840.548 0, 1201937.596 925828.654 0,
+ 1201660.761 925816.777 0, 1201383.925 925804.915 0, 1201107.089 925793.07 0, 1200830.252 925781.242 0, 1200553.415 925769.43 0, 1200276.576 925757.634 0, 1199999.737 925745.854 0, 1199722.898 925734.09 0, 1199444.75 925722.288 0, 1199208.402 931296.124 0,
+ 1198972.047 936870.099 0, 1199249.536 936881.873 0, 1199525.72 936893.609 0, 1199801.902 936905.361 0, 1200078.085 936917.129 0, 1200354.266 936928.913 0, 1200630.447 936940.714 0, 1200906.627 936952.531 0, 1201182.806 936964.364 0, 1201458.985 936976.213 0,
+ 1201735.163 936988.079 0, 1202011.34 936999.96 0, 1202287.517 937011.859 0, 1202563.693 937023.773 0, 1202839.868 937035.704 0, 1203116.042 937047.65 0, 1203392.216 937059.614 0, 1203668.389 937071.593 0, 1203944.562 937083.589 0, 1204220.733 937095.601 0,
+ 1204496.904 937107.629 0, 1204773.074 937119.673 0, 1205049.244 937131.734 0, 1205325.413 937143.811 0, 1205600.277 937155.847 0, 1205877.748 937168.013 0, 1206153.915 937180.139 0, 1206430.081 937192.281 0, 1206706.246 937204.439 0, 1206982.411 937216.614 0,
+ 1207258.574 937228.804 0, 1207534.738 937241.011 0, 1207810.9 937253.234 0, 1208087.062 937265.474 0, 1208363.223 937277.73 0, 1208639.383 937290.002 0, 1208915.542 937302.29 0, 1209191.701 937314.594 0, 1209467.859 937326.915 0, 1209744.016 937339.252 0,
+ 1210020.173 937351.605 0, 1210296.329 937363.975 0, 1210572.484 937376.36 0, 1210848.638 937388.762 0, 1211124.792 937401.181 0, 1211400.945 937413.615 0, 1211677.097 937426.066 0, 1211953.249 937438.533 0, 1212228.097 937450.957 0, 1212480.198 931877.673 0,
+ 1212732.292 926304.526 0))
+
+POLYGON ((1225482.453 938069.264 0, 1225207.639 938056.064 0, 1224931.524 938042.816 0, 1224655.408 938029.585 0, 1224379.291 938016.371 0, 1224103.173 938003.172 0, 1223827.055 937989.99 0, 1223550.936 937976.824 0, 1223274.816 937963.675 0, 1222998.696 937950.541 0,
+ 1222722.574 937937.424 0, 1222446.452 937924.323 0, 1222170.329 937911.239 0, 1221894.206 937898.17 0, 1221618.081 937885.118 0, 1221341.956 937872.082 0, 1221065.83 937859.063 0, 1220789.703 937846.059 0, 1220513.576 937833.072 0, 1220237.447 937820.101 0,
+ 1219961.318 937807.147 0, 1219685.189 937794.208 0, 1219409.058 937781.286 0, 1219132.927 937768.38 0, 1218855.494 937755.43 0, 1218580.662 937742.618 0, 1218304.528 937729.76 0, 1218028.394 937716.92 0, 1217752.259 937704.095 0, 1217476.123 937691.287 0,
+ 1217199.986 937678.495 0, 1216923.849 937665.719 0, 1216647.711 937652.959 0, 1216371.572 937640.216 0, 1216095.432 937627.489 0, 1215819.292 937614.778 0, 1215543.151 937602.083 0, 1215267.009 937589.405 0, 1214990.866 937576.743 0, 1214714.723 937564.097 0,
+ 1214438.579 937551.468 0, 1214162.434 937538.854 0, 1213886.288 937526.257 0, 1213610.142 937513.676 0, 1213333.995 937501.112 0, 1213057.847 937488.564 0, 1212781.699 937476.032 0, 1212505.549 937463.516 0, 1212228.097 937450.957 0, 1211975.99 943024.376 0,
+ 1211723.878 948597.925 0, 1212000.671 948610.454 0, 1212276.164 948622.94 0, 1212551.656 948635.442 0, 1212827.148 948647.961 0, 1213102.639 948660.495 0, 1213378.129 948673.046 0, 1213653.619 948685.613 0, 1213929.108 948698.197 0, 1214204.596 948710.796 0,
+ 1214480.083 948723.412 0, 1214755.57 948736.044 0, 1215031.055 948748.692 0, 1215306.54 948761.357 0, 1215582.025 948774.037 0, 1215857.508 948786.734 0, 1216132.991 948799.447 0, 1216408.473 948812.176 0, 1216683.954 948824.922 0, 1216959.435 948837.684 0,
+ 1217234.915 948850.461 0, 1217510.394 948863.256 0, 1217785.872 948876.066 0, 1218061.35 948888.892 0, 1218335.529 948901.675 0, 1218612.303 948914.594 0, 1218887.778 948927.469 0, 1219163.252 948940.361 0, 1219438.726 948953.268 0, 1219714.199 948966.192 0,
+ 1219989.671 948979.132 0, 1220265.143 948992.089 0, 1220540.614 949005.061 0, 1220816.083 949018.05 0, 1221091.553 949031.055 0, 1221367.021 949044.076 0, 1221642.489 949057.113 0, 1221917.956 949070.167 0, 1222193.422 949083.236 0, 1222468.887 949096.322 0,
+ 1222744.352 949109.425 0, 1223019.815 949122.543 0, 1223295.278 949135.678 0, 1223570.741 949148.828 0, 1223846.202 949161.995 0, 1224121.663 949175.179 0, 1224397.123 949188.378 0, 1224672.582 949201.594 0, 1224946.744 949214.763 0, 1225214.602 943641.949 0,
+ 1225482.453 938069.264 0))
+
+POLYGON ((1238167.814 949868.956 0, 1237893.688 949855.012 0, 1237618.268 949841.018 0, 1237342.846 949827.04 0, 1237067.424 949813.079 0, 1236792.001 949799.134 0, 1236516.577 949785.205 0, 1236241.152 949771.292 0, 1235965.726 949757.395 0, 1235690.3 949743.515 0,
+ 1235414.872 949729.651 0, 1235139.444 949715.803 0, 1234864.015 949701.971 0, 1234588.586 949688.156 0, 1234313.155 949674.356 0, 1234037.724 949660.573 0, 1233762.292 949646.806 0, 1233486.859 949633.056 0, 1233211.425 949619.321 0, 1232935.99 949605.603 0,
+ 1232660.555 949591.901 0, 1232385.119 949578.215 0, 1232109.682 949564.545 0, 1231834.244 949550.892 0, 1231557.51 949537.191 0, 1231283.366 949523.634 0, 1231007.926 949510.029 0, 1230732.485 949496.44 0, 1230457.043 949482.868 0, 1230181.6 949469.312 0,
+ 1229906.157 949455.772 0, 1229630.713 949442.248 0, 1229355.268 949428.741 0, 1229079.822 949415.25 0, 1228804.375 949401.774 0, 1228528.928 949388.316 0, 1228253.48 949374.873 0, 1227978.031 949361.446 0, 1227702.581 949348.036 0, 1227427.131 949334.642 0,
+ 1227151.679 949321.264 0, 1226876.227 949307.903 0, 1226600.774 949294.557 0, 1226325.321 949281.228 0, 1226049.866 949267.915 0, 1225774.411 949254.619 0, 1225498.955 949241.338 0, 1225223.498 949228.074 0, 1224946.744 949214.763 0, 1224678.88 954787.704 0,
+ 1224411.01 960360.767 0, 1224687.105 960374.046 0, 1224961.906 960387.279 0, 1225236.706 960400.528 0, 1225511.505 960413.793 0, 1225786.303 960427.074 0, 1226061.101 960440.371 0, 1226335.898 960453.685 0, 1226610.694 960467.015 0, 1226885.489 960480.361 0,
+ 1227160.284 960493.723 0, 1227435.078 960507.101 0, 1227709.871 960520.496 0, 1227984.663 960533.906 0, 1228259.454 960547.333 0, 1228534.245 960560.776 0, 1228809.034 960574.235 0, 1229083.823 960587.71 0, 1229358.612 960601.202 0, 1229633.399 960614.71 0,
+ 1229908.186 960628.233 0, 1230182.972 960641.774 0, 1230457.757 960655.33 0, 1230732.541 960668.902 0, 1231006.032 960682.427 0, 1231282.107 960696.095 0, 1231556.889 960709.716 0, 1231831.67 960723.353 0, 1232106.45 960737.007 0, 1232381.229 960750.676 0,
+ 1232656.008 960764.362 0, 1232930.786 960778.063 0, 1233205.563 960791.781 0, 1233480.339 960805.515 0, 1233755.114 960819.266 0, 1234029.889 960833.032 0, 1234304.663 960846.815 0, 1234579.436 960860.613 0, 1234854.208 960874.428 0, 1235128.979 960888.26 0,
+ 1235403.749 960902.107 0, 1235678.519 960915.97 0, 1235953.288 960929.85 0, 1236228.056 960943.746 0, 1236502.823 960957.658 0, 1236777.59 960971.586 0, 1237052.355 960985.53 0, 1237327.12 960999.491 0, 1237600.593 961013.402 0, 1237884.206 955441.118 0,
+ 1238167.814 949868.956 0))
+
+POLYGON ((1250788.279 961703.297 0, 1250514.845 961688.613 0, 1250240.121 961673.876 0, 1249965.396 961659.156 0, 1249690.67 961644.451 0, 1249415.943 961629.763 0, 1249141.215 961615.091 0, 1248866.486 961600.435 0, 1248591.757 961585.796 0, 1248317.027 961571.172 0,
+ 1248042.296 961556.565 0, 1247767.564 961541.974 0, 1247492.831 961527.399 0, 1247218.097 961512.84 0, 1246943.362 961498.297 0, 1246668.627 961483.771 0, 1246393.891 961469.26 0, 1246119.154 961454.766 0, 1245844.416 961440.288 0, 1245569.677 961425.826 0,
+ 1245294.937 961411.381 0, 1245020.197 961396.951 0, 1244745.455 961382.538 0, 1244470.713 961368.141 0, 1244194.679 961353.692 0, 1243921.226 961339.395 0, 1243646.481 961325.046 0, 1243371.735 961310.714 0, 1243096.989 961296.397 0, 1242822.242 961282.097 0,
+ 1242547.494 961267.813 0, 1242272.745 961253.546 0, 1241997.995 961239.294 0, 1241723.244 961225.059 0, 1241448.493 961210.839 0, 1241173.74 961196.636 0, 1240898.987 961182.449 0, 1240624.233 961168.278 0, 1240349.478 961154.124 0, 1240074.722 961139.986 0,
+ 1239799.966 961125.863 0, 1239525.209 961111.757 0, 1239250.45 961097.667 0, 1238975.691 961083.594 0, 1238700.932 961069.536 0, 1238426.171 961055.495 0, 1238151.409 961041.469 0, 1237876.647 961027.46 0, 1237600.593 961013.402 0, 1237316.973 966585.804 0,
+ 1237033.347 972158.321 0, 1237308.743 972172.346 0, 1237582.849 972186.321 0, 1237856.955 972200.313 0, 1238131.059 972214.321 0, 1238405.163 972228.345 0, 1238679.266 972242.385 0, 1238953.368 972256.441 0, 1239227.47 972270.514 0, 1239501.57 972284.602 0,
+ 1239775.67 972298.707 0, 1240049.769 972312.828 0, 1240323.867 972326.965 0, 1240597.964 972341.118 0, 1240872.061 972355.287 0, 1241146.156 972369.472 0, 1241420.251 972383.674 0, 1241694.345 972397.891 0, 1241968.438 972412.125 0, 1242242.53 972426.375 0,
+ 1242516.622 972440.641 0, 1242790.712 972454.923 0, 1243064.802 972469.221 0, 1243338.891 972483.536 0, 1243611.692 972497.799 0, 1243887.066 972512.213 0, 1244161.152 972526.575 0, 1244435.238 972540.954 0, 1244709.322 972555.349 0, 1244983.406 972569.761 0,
+ 1245257.489 972584.188 0, 1245531.571 972598.631 0, 1245805.652 972613.091 0, 1246079.733 972627.567 0, 1246353.812 972642.058 0, 1246627.891 972656.566 0, 1246901.969 972671.09 0, 1247176.046 972685.631 0, 1247450.122 972700.187 0, 1247724.197 972714.76 0,
+ 1247998.272 972729.348 0, 1248272.345 972743.953 0, 1248546.418 972758.574 0, 1248820.49 972773.211 0, 1249094.561 972787.864 0, 1249368.631 972802.533 0, 1249642.7 972817.219 0, 1249916.768 972831.92 0, 1250189.55 972846.569 0, 1250488.917 967274.876 0,
+ 1250788.279 961703.297 0))
+
+POLYGON ((1263343.755 973571.983 0, 1263071.014 973556.563 0, 1262796.988 973541.087 0, 1262522.962 973525.628 0, 1262248.934 973510.184 0, 1261974.906 973494.757 0, 1261700.876 973479.346 0, 1261426.846 973463.951 0, 1261152.815 973448.572 0, 1260878.783 973433.209 0,
+ 1260604.75 973417.862 0, 1260330.716 973402.531 0, 1260056.681 973387.217 0, 1259782.645 973371.918 0, 1259508.609 973356.636 0, 1259234.571 973341.37 0, 1258960.533 973326.12 0, 1258686.493 973310.886 0, 1258412.453 973295.669 0, 1258138.412 973280.467 0,
+ 1257864.37 973265.282 0, 1257590.327 973250.112 0, 1257316.284 973234.959 0, 1257042.239 973219.822 0, 1256766.909 973204.63 0, 1256494.147 973189.596 0, 1256220.1 973174.508 0, 1255946.051 973159.435 0, 1255672.002 973144.379 0, 1255397.952 973129.338 0,
+ 1255123.902 973114.314 0, 1254849.85 973099.306 0, 1254575.797 973084.314 0, 1254301.744 973069.339 0, 1254027.689 973054.379 0, 1253753.634 973039.435 0, 1253479.578 973024.508 0, 1253205.521 973009.597 0, 1252931.463 972994.702 0, 1252657.404 972979.823 0,
+ 1252383.344 972964.96 0, 1252109.284 972950.113 0, 1251835.222 972935.283 0, 1251561.16 972920.468 0, 1251287.097 972905.67 0, 1251013.033 972890.888 0, 1250738.968 972876.122 0, 1250464.902 972861.372 0, 1250189.55 972846.569 0, 1249890.176 978418.372 0,
+ 1249590.796 983990.282 0, 1249865.49 984005.049 0, 1250138.9 984019.764 0, 1250412.309 984034.494 0, 1250685.717 984049.241 0, 1250959.124 984064.004 0, 1251232.531 984078.783 0, 1251505.936 984093.578 0, 1251779.341 984108.39 0, 1252052.745 984123.217 0,
+ 1252326.148 984138.06 0, 1252599.55 984152.92 0, 1252872.951 984167.795 0, 1253146.351 984182.687 0, 1253419.751 984197.595 0, 1253693.149 984212.518 0, 1253966.547 984227.458 0, 1254239.944 984242.414 0, 1254513.339 984257.386 0, 1254786.734 984272.375 0,
+ 1255060.129 984287.379 0, 1255333.522 984302.399 0, 1255606.914 984317.436 0, 1255880.306 984332.488 0, 1256152.414 984347.486 0, 1256427.086 984362.642 0, 1256700.475 984377.743 0, 1256973.863 984392.859 0, 1257247.25 984407.992 0, 1257520.636 984423.142 0,
+ 1257794.021 984438.307 0, 1258067.405 984453.488 0, 1258340.789 984468.685 0, 1258614.171 984483.899 0, 1258887.553 984499.128 0, 1259160.934 984514.374 0, 1259434.314 984529.636 0, 1259707.693 984544.914 0, 1259981.071 984560.208 0, 1260254.448 984575.518 0,
+ 1260527.824 984590.844 0, 1260801.2 984606.186 0, 1261074.574 984621.544 0, 1261347.948 984636.919 0, 1261621.32 984652.309 0, 1261894.692 984667.716 0, 1262168.063 984683.138 0, 1262441.433 984698.577 0, 1262713.521 984713.959 0, 1263028.641 979142.918 0,
+ 1263343.755 973571.983 0))
+
+POLYGON ((1275834.149 985474.708 0, 1275562.103 985458.557 0, 1275288.778 985442.346 0, 1275015.452 985426.151 0, 1274742.125 985409.972 0, 1274468.797 985393.81 0, 1274195.468 985377.663 0, 1273922.138 985361.533 0, 1273648.807 985345.418 0, 1273375.475 985329.32 0,
+ 1273102.142 985313.237 0, 1272828.808 985297.171 0, 1272555.473 985281.121 0, 1272282.138 985265.087 0, 1272008.801 985249.069 0, 1271735.464 985233.067 0, 1271462.125 985217.081 0, 1271188.786 985201.112 0, 1270915.445 985185.158 0, 1270642.104 985169.221 0,
+ 1270368.762 985153.299 0, 1270095.419 985137.394 0, 1269822.074 985121.505 0, 1269548.729 985105.632 0, 1269274.104 985089.7 0, 1269002.036 985073.934 0, 1268728.689 985058.109 0, 1268455.34 985042.3 0, 1268181.99 985026.507 0, 1267908.639 985010.731 0,
+ 1267635.288 984994.97 0, 1267361.935 984979.226 0, 1267088.582 984963.497 0, 1266815.228 984947.785 0, 1266541.872 984932.089 0, 1266268.516 984916.409 0, 1265995.159 984900.745 0, 1265721.801 984885.097 0, 1265448.442 984869.465 0, 1265175.082 984853.849 0,
+ 1264901.721 984838.25 0, 1264628.36 984822.666 0, 1264354.997 984807.099 0, 1264081.633 984791.547 0, 1263808.269 984776.012 0, 1263534.904 984760.493 0, 1263261.537 984744.99 0, 1262988.17 984729.503 0, 1262713.521 984713.959 0, 1262398.396 990285.103 0,
+ 1262083.264 995856.345 0, 1262357.254 995871.851 0, 1262629.966 995887.301 0, 1262902.676 995902.767 0, 1263175.386 995918.249 0, 1263448.094 995933.747 0, 1263720.802 995949.261 0, 1263993.509 995964.791 0, 1264266.215 995980.337 0, 1264538.92 995995.899 0,
+ 1264811.624 996011.477 0, 1265084.327 996027.072 0, 1265357.029 996042.682 0, 1265629.731 996058.308 0, 1265902.431 996073.951 0, 1266175.131 996089.609 0, 1266447.829 996105.284 0, 1266720.527 996120.975 0, 1266993.224 996136.681 0, 1267265.919 996152.404 0,
+ 1267538.614 996168.143 0, 1267811.308 996183.898 0, 1268084.001 996199.668 0, 1268356.693 996215.455 0, 1268628.108 996231.184 0, 1268902.075 996247.077 0, 1269174.764 996262.912 0, 1269447.452 996278.764 0, 1269720.14 996294.631 0, 1269992.826 996310.514 0,
+ 1270265.512 996326.413 0, 1270538.196 996342.328 0, 1270810.88 996358.26 0, 1271083.563 996374.207 0, 1271356.245 996390.171 0, 1271628.926 996406.15 0, 1271901.605 996422.146 0, 1272174.284 996438.157 0, 1272446.962 996454.185 0, 1272719.64 996470.229 0,
+ 1272992.316 996486.289 0, 1273264.991 996502.364 0, 1273537.665 996518.456 0, 1273810.338 996534.564 0, 1274083.011 996550.688 0, 1274355.682 996566.828 0, 1274628.353 996582.984 0, 1274901.022 996599.156 0, 1275172.416 996615.269 0, 1275503.285 991044.939 0,
+ 1275834.149 985474.708 0))
+
+POLYGON ((1288259.37 997411.169 0, 1287988.022 997394.289 0, 1287715.399 997377.347 0, 1287442.775 997360.421 0, 1287170.15 997343.51 0, 1286897.525 997326.616 0, 1286624.898 997309.738 0, 1286352.27 997292.876 0, 1286079.642 997276.03 0, 1285807.012 997259.2 0,
+ 1285534.381 997242.386 0, 1285261.749 997225.588 0, 1284989.117 997208.806 0, 1284716.483 997192.04 0, 1284443.849 997175.29 0, 1284171.213 997158.556 0, 1283898.576 997141.839 0, 1283625.939 997125.137 0, 1283353.3 997108.451 0, 1283080.661 997091.782 0,
+ 1282808.02 997075.128 0, 1282535.379 997058.491 0, 1282262.736 997041.869 0, 1281990.093 997025.264 0, 1281716.174 997008.597 0, 1281444.803 996992.101 0, 1281172.156 996975.544 0, 1280899.509 996959.003 0, 1280626.861 996942.478 0, 1280354.211 996925.968 0,
+ 1280081.561 996909.475 0, 1279808.91 996892.998 0, 1279536.258 996876.537 0, 1279263.604 996860.092 0, 1278990.95 996843.664 0, 1278718.295 996827.251 0, 1278445.639 996810.854 0, 1278172.982 996794.473 0, 1277900.324 996778.109 0, 1277627.665 996761.76 0,
+ 1277355.005 996745.427 0, 1277082.344 996729.111 0, 1276809.682 996712.81 0, 1276537.019 996696.526 0, 1276264.356 996680.257 0, 1275991.691 996664.005 0, 1275719.025 996647.769 0, 1275446.358 996631.549 0, 1275172.416 996615.269 0, 1274841.54 1002185.692 0,
+ 1274510.66 1007756.205 0, 1274783.944 1007772.446 0, 1275055.955 1007788.627 0, 1275327.965 1007804.824 0, 1275599.974 1007821.037 0, 1275871.982 1007837.267 0, 1276143.989 1007853.512 0, 1276415.995 1007869.773 0, 1276688 1007886.051 0, 1276960.004 1007902.344 0,
+ 1277232.008 1007918.653 0, 1277504.01 1007934.978 0, 1277776.011 1007951.32 0, 1278048.012 1007967.677 0, 1278320.011 1007984.051 0, 1278592.01 1008000.44 0, 1278864.007 1008016.845 0, 1279136.004 1008033.267 0, 1279407.999 1008049.704 0, 1279679.994 1008066.157 0,
+ 1279951.987 1008082.627 0, 1280223.98 1008099.112 0, 1280495.972 1008115.614 0, 1280767.962 1008132.131 0, 1281038.681 1008148.587 0, 1281311.941 1008165.214 0, 1281583.929 1008181.78 0, 1281855.916 1008198.361 0, 1282127.901 1008214.959 0, 1282399.886 1008231.572 0,
+ 1282671.87 1008248.201 0, 1282943.853 1008264.847 0, 1283215.835 1008281.509 0, 1283487.816 1008298.186 0, 1283759.796 1008314.88 0, 1284031.775 1008331.589 0, 1284303.753 1008348.315 0, 1284575.73 1008365.056 0, 1284847.706 1008381.814 0, 1285119.681 1008398.587 0,
+ 1285391.655 1008415.377 0, 1285663.628 1008432.183 0, 1285935.6 1008449.004 0, 1286207.571 1008465.842 0, 1286479.541 1008482.695 0, 1286751.51 1008499.565 0, 1287023.479 1008516.451 0, 1287295.446 1008533.352 0, 1287566.142 1008550.191 0, 1287912.759 1002980.635 0,
+ 1288259.37 997411.169 0))
+
+POLYGON ((1300619.329 1009381.058 0, 1300348.679 1009363.454 0, 1300076.761 1009345.784 0, 1299804.842 1009328.131 0, 1299532.921 1009310.493 0, 1299261 1009292.871 0, 1298989.077 1009275.265 0, 1298717.154 1009257.675 0, 1298445.23 1009240.101 0, 1298173.304 1009222.543 0,
+ 1297901.377 1009205.001 0, 1297629.45 1009187.475 0, 1297357.521 1009169.965 0, 1297085.592 1009152.472 0, 1296813.661 1009134.994 0, 1296541.729 1009117.532 0, 1296269.796 1009100.086 0, 1295997.863 1009082.656 0, 1295725.928 1009065.242 0, 1295453.992 1009047.844 0,
+ 1295182.055 1009030.463 0, 1294910.117 1009013.097 0, 1294638.178 1008995.747 0, 1294366.238 1008978.413 0, 1294093.029 1008961.015 0, 1293822.356 1008943.794 0, 1293550.413 1008926.508 0, 1293278.469 1008909.238 0, 1293006.524 1008891.984 0, 1292734.578 1008874.746 0,
+ 1292462.631 1008857.525 0, 1292190.683 1008840.319 0, 1291918.734 1008823.129 0, 1291646.783 1008805.955 0, 1291374.832 1008788.798 0, 1291102.88 1008771.656 0, 1290830.927 1008754.53 0, 1290558.973 1008737.42 0, 1290287.018 1008720.327 0, 1290015.062 1008703.249 0,
+ 1289743.105 1008686.187 0, 1289471.147 1008669.142 0, 1289199.188 1008652.112 0, 1288927.227 1008635.098 0, 1288655.266 1008618.101 0, 1288383.304 1008601.119 0, 1288111.341 1008584.153 0, 1287839.377 1008567.204 0, 1287566.142 1008550.191 0, 1287219.519 1014119.833 0,
+ 1286872.892 1019689.556 0, 1287145.468 1019706.528 0, 1287416.777 1019723.436 0, 1287688.084 1019740.361 0, 1287959.391 1019757.302 0, 1288230.696 1019774.259 0, 1288502.001 1019791.231 0, 1288773.304 1019808.22 0, 1289044.607 1019825.225 0, 1289315.908 1019842.245 0,
+ 1289587.209 1019859.282 0, 1289858.508 1019876.334 0, 1290129.807 1019893.403 0, 1290401.104 1019910.487 0, 1290672.401 1019927.588 0, 1290943.696 1019944.704 0, 1291214.991 1019961.836 0, 1291486.284 1019978.985 0, 1291757.577 1019996.149 0, 1292028.868 1020013.329 0,
+ 1292300.158 1020030.525 0, 1292571.448 1020047.738 0, 1292842.736 1020064.966 0, 1293114.024 1020082.21 0, 1293384.044 1020099.389 0, 1293656.595 1020116.746 0, 1293927.88 1020134.038 0, 1294199.163 1020151.346 0, 1294470.445 1020168.67 0, 1294741.727 1020186.01 0,
+ 1295013.007 1020203.366 0, 1295284.286 1020220.738 0, 1295555.564 1020238.126 0, 1295826.841 1020255.529 0, 1296098.118 1020272.949 0, 1296369.393 1020290.385 0, 1296640.667 1020307.837 0, 1296911.94 1020325.304 0, 1297183.212 1020342.788 0, 1297454.483 1020360.287 0,
+ 1297725.753 1020377.803 0, 1297997.022 1020395.334 0, 1298268.29 1020412.882 0, 1298539.557 1020430.445 0, 1298810.823 1020448.025 0, 1299082.087 1020465.62 0, 1299353.351 1020483.232 0, 1299624.614 1020500.859 0, 1299894.611 1020518.42 0, 1300256.973 1014949.698 0,
+ 1300619.329 1009381.058 0))
+
+POLYGON ((1312913.937 1021384.069 0, 1312643.988 1021365.745 0, 1312372.776 1021347.352 0, 1312101.563 1021328.974 0, 1311830.349 1021310.612 0, 1311559.134 1021292.267 0, 1311287.918 1021273.937 0, 1311016.701 1021255.623 0, 1310745.482 1021237.325 0, 1310474.263 1021219.043 0,
+ 1310203.042 1021200.778 0, 1309931.821 1021182.528 0, 1309660.598 1021164.294 0, 1309389.374 1021146.076 0, 1309118.15 1021127.873 0, 1308846.924 1021109.687 0, 1308575.697 1021091.517 0, 1308304.469 1021073.363 0, 1308033.24 1021055.225 0, 1307762.01 1021037.103 0,
+ 1307490.778 1021018.996 0, 1307219.546 1021000.906 0, 1306948.313 1020982.832 0, 1306677.078 1020964.773 0, 1306404.58 1020946.647 0, 1306134.606 1020928.704 0, 1305863.369 1020910.694 0, 1305592.13 1020892.699 0, 1305320.89 1020874.721 0, 1305049.65 1020856.758 0,
+ 1304778.408 1020838.812 0, 1304507.165 1020820.881 0, 1304235.921 1020802.966 0, 1303964.676 1020785.068 0, 1303693.43 1020767.185 0, 1303422.183 1020749.318 0, 1303150.935 1020731.467 0, 1302879.686 1020713.632 0, 1302608.435 1020695.813 0, 1302337.184 1020678.01 0,
+ 1302065.932 1020660.223 0, 1301794.678 1020642.452 0, 1301523.424 1020624.697 0, 1301252.169 1020606.958 0, 1300980.912 1020589.235 0, 1300709.655 1020571.528 0, 1300438.396 1020553.837 0, 1300167.136 1020536.162 0, 1299894.611 1020518.42 0, 1299532.244 1026087.219 0,
+ 1299169.873 1031656.092 0, 1299441.74 1031673.791 0, 1299712.344 1031691.423 0, 1299982.947 1031709.072 0, 1300253.549 1031726.736 0, 1300524.15 1031744.416 0, 1300794.75 1031762.113 0, 1301065.349 1031779.825 0, 1301335.947 1031797.553 0, 1301606.543 1031815.297 0,
+ 1301877.139 1031833.057 0, 1302147.734 1031850.833 0, 1302418.328 1031868.624 0, 1302688.92 1031886.432 0, 1302959.512 1031904.256 0, 1303230.102 1031922.095 0, 1303500.692 1031939.951 0, 1303771.28 1031957.822 0, 1304041.868 1031975.709 0, 1304312.454 1031993.613 0,
+ 1304583.039 1032011.532 0, 1304853.623 1032029.467 0, 1305124.206 1032047.418 0, 1305394.789 1032065.385 0, 1305664.109 1032083.284 0, 1305935.95 1032101.367 0, 1306206.529 1032119.381 0, 1306477.106 1032137.412 0, 1306747.683 1032155.459 0, 1307018.259 1032173.521 0,
+ 1307288.834 1032191.6 0, 1307559.407 1032209.694 0, 1307829.98 1032227.804 0, 1308100.551 1032245.931 0, 1308371.122 1032264.073 0, 1308641.691 1032282.231 0, 1308912.259 1032300.405 0, 1309182.826 1032318.595 0, 1309453.393 1032336.801 0, 1309723.958 1032355.022 0,
+ 1309994.522 1032373.26 0, 1310265.084 1032391.514 0, 1310535.646 1032409.783 0, 1310806.207 1032428.069 0, 1311076.767 1032446.37 0, 1311347.325 1032464.687 0, 1311617.883 1032483.021 0, 1311888.439 1032501.37 0, 1312157.736 1032519.649 0, 1312535.839 1026951.823 0,
+ 1312913.937 1021384.069 0))
+
+POLYGON ((1325143.106 1033419.896 0, 1324873.861 1033400.856 0, 1324603.357 1033381.743 0, 1324332.853 1033362.645 0, 1324062.347 1033343.563 0, 1323791.84 1033324.498 0, 1323521.332 1033305.448 0, 1323250.823 1033286.414 0, 1322980.313 1033267.396 0, 1322709.801 1033248.394 0,
+ 1322439.289 1033229.408 0, 1322168.775 1033210.438 0, 1321898.26 1033191.483 0, 1321627.744 1033172.545 0, 1321357.228 1033153.623 0, 1321086.709 1033134.716 0, 1320816.19 1033115.826 0, 1320545.67 1033096.951 0, 1320275.149 1033078.092 0, 1320004.626 1033059.25 0,
+ 1319734.102 1033040.423 0, 1319463.578 1033021.612 0, 1319193.052 1033002.817 0, 1318922.525 1032984.038 0, 1318650.739 1032965.187 0, 1318381.468 1032946.527 0, 1318110.937 1032927.796 0, 1317840.406 1032909.08 0, 1317569.874 1032890.381 0, 1317299.34 1032871.697 0,
+ 1317028.805 1032853.03 0, 1316758.27 1032834.378 0, 1316487.733 1032815.742 0, 1316217.195 1032797.122 0, 1315946.656 1032778.518 0, 1315676.116 1032759.93 0, 1315405.574 1032741.358 0, 1315135.032 1032722.802 0, 1314864.489 1032704.262 0, 1314593.944 1032685.737 0,
+ 1314323.399 1032667.229 0, 1314052.852 1032648.736 0, 1313782.304 1032630.26 0, 1313511.755 1032611.799 0, 1313241.205 1032593.355 0, 1312970.654 1032574.926 0, 1312700.102 1032556.513 0, 1312429.549 1032538.116 0, 1312157.736 1032519.649 0, 1311779.628 1038087.545 0,
+ 1311401.516 1043655.506 0, 1311672.671 1043673.928 0, 1311942.568 1043692.28 0, 1312212.465 1043710.649 0, 1312482.361 1043729.033 0, 1312752.255 1043747.433 0, 1313022.149 1043765.849 0, 1313292.041 1043784.28 0, 1313561.932 1043802.728 0, 1313831.823 1043821.192 0,
+ 1314101.712 1043839.671 0, 1314371.6 1043858.167 0, 1314641.487 1043876.678 0, 1314911.372 1043895.205 0, 1315181.257 1043913.748 0, 1315451.141 1043932.307 0, 1315721.023 1043950.882 0, 1315990.905 1043969.472 0, 1316260.785 1043988.079 0, 1316530.664 1044006.701 0,
+ 1316800.543 1044025.339 0, 1317070.42 1044043.994 0, 1317340.296 1044062.664 0, 1317610.171 1044081.35 0, 1317878.789 1044099.965 0, 1318149.917 1044118.769 0, 1318419.789 1044137.503 0, 1318689.659 1044156.252 0, 1318959.528 1044175.018 0, 1319229.397 1044193.799 0,
+ 1319499.264 1044212.596 0, 1319769.13 1044231.409 0, 1320038.995 1044250.238 0, 1320308.859 1044269.083 0, 1320578.721 1044287.944 0, 1320848.583 1044306.82 0, 1321118.444 1044325.713 0, 1321388.303 1044344.621 0, 1321658.161 1044363.545 0, 1321928.018 1044382.485 0,
+ 1322197.874 1044401.441 0, 1322467.729 1044420.413 0, 1322737.583 1044439.401 0, 1323007.436 1044458.405 0, 1323277.287 1044477.424 0, 1323547.138 1044496.459 0, 1323816.987 1044515.511 0, 1324086.835 1044534.578 0, 1324355.429 1044553.572 0, 1324749.27 1038986.702 0,
+ 1325143.106 1033419.896 0))
+
+POLYGON ((1337306.753 1045488.232 0, 1337038.212 1045468.479 0, 1336768.419 1045448.649 0, 1336498.625 1045428.836 0, 1336228.829 1045409.038 0, 1335959.032 1045389.256 0, 1335689.234 1045369.49 0, 1335419.435 1045349.74 0, 1335149.635 1045330.006 0, 1334879.833 1045310.288 0,
+ 1334610.031 1045290.585 0, 1334340.227 1045270.899 0, 1334070.422 1045251.228 0, 1333800.616 1045231.573 0, 1333530.809 1045211.934 0, 1333261.001 1045192.311 0, 1332991.191 1045172.704 0, 1332721.38 1045153.113 0, 1332451.569 1045133.538 0, 1332181.756 1045113.978 0,
+ 1331911.942 1045094.434 0, 1331642.126 1045074.907 0, 1331372.31 1045055.395 0, 1331102.492 1045035.899 0, 1330831.421 1045016.328 0, 1330562.854 1044996.955 0, 1330293.033 1044977.506 0, 1330023.211 1044958.074 0, 1329753.387 1044938.657 0, 1329483.563 1044919.257 0,
+ 1329213.737 1044899.872 0, 1328943.91 1044880.503 0, 1328674.083 1044861.15 0, 1328404.254 1044841.813 0, 1328134.423 1044822.491 0, 1327864.592 1044803.186 0, 1327594.76 1044783.896 0, 1327324.926 1044764.623 0, 1327055.092 1044745.365 0, 1326785.256 1044726.123 0,
+ 1326515.419 1044706.897 0, 1326245.581 1044687.687 0, 1325975.741 1044668.493 0, 1325705.901 1044649.314 0, 1325436.06 1044630.152 0, 1325166.217 1044611.005 0, 1324896.373 1044591.875 0, 1324626.529 1044572.76 0, 1324355.429 1044553.572 0, 1323961.583 1050120.503 0,
+ 1323567.734 1055687.491 0, 1323838.175 1055706.632 0, 1324107.365 1055725.701 0, 1324376.553 1055744.785 0, 1324645.741 1055763.885 0, 1324914.927 1055783.001 0, 1325184.112 1055802.133 0, 1325453.296 1055821.28 0, 1325722.478 1055840.444 0, 1325991.66 1055859.623 0,
+ 1326260.841 1055878.818 0, 1326530.02 1055898.029 0, 1326799.198 1055917.256 0, 1327068.375 1055936.499 0, 1327337.551 1055955.757 0, 1327606.726 1055975.031 0, 1327875.9 1055994.322 0, 1328145.073 1056013.628 0, 1328414.244 1056032.95 0, 1328683.414 1056052.287 0,
+ 1328952.584 1056071.641 0, 1329221.752 1056091.01 0, 1329490.918 1056110.396 0, 1329760.084 1056129.797 0, 1330027.999 1056149.123 0, 1330298.412 1056168.646 0, 1330567.575 1056188.095 0, 1330836.736 1056207.559 0, 1331105.896 1056227.04 0, 1331375.055 1056246.536 0,
+ 1331644.212 1056266.048 0, 1331913.369 1056285.576 0, 1332182.524 1056305.119 0, 1332451.679 1056324.679 0, 1332720.832 1056344.254 0, 1332989.984 1056363.846 0, 1333259.135 1056383.453 0, 1333528.284 1056403.075 0, 1333797.433 1056422.714 0, 1334066.58 1056442.369 0,
+ 1334335.726 1056462.039 0, 1334604.872 1056481.725 0, 1334874.015 1056501.428 0, 1335143.158 1056521.146 0, 1335412.3 1056540.879 0, 1335681.44 1056560.629 0, 1335950.579 1056580.394 0, 1336219.717 1056600.176 0, 1336487.606 1056619.881 0, 1336897.181 1051054.028 0,
+ 1337306.753 1045488.232 0))
+
+POLYGON ((1349404.792 1057588.768 0, 1349136.958 1057568.306 0, 1348867.877 1057547.764 0, 1348598.795 1057527.239 0, 1348329.711 1057506.729 0, 1348060.627 1057486.235 0, 1347791.541 1057465.756 0, 1347522.453 1057445.294 0, 1347253.365 1057424.847 0, 1346984.276 1057404.417 0,
+ 1346715.185 1057384.002 0, 1346446.093 1057363.603 0, 1346177 1057343.22 0, 1345907.905 1057322.852 0, 1345638.81 1057302.501 0, 1345369.713 1057282.165 0, 1345100.615 1057261.845 0, 1344831.516 1057241.541 0, 1344562.416 1057221.253 0, 1344293.314 1057200.981 0,
+ 1344024.211 1057180.724 0, 1343755.107 1057160.483 0, 1343486.002 1057140.259 0, 1343216.896 1057120.05 0, 1342946.541 1057099.763 0, 1342678.68 1057079.679 0, 1342409.57 1057059.518 0, 1342140.459 1057039.372 0, 1341871.347 1057019.242 0, 1341602.233 1056999.128 0,
+ 1341333.119 1056979.03 0, 1341064.003 1056958.948 0, 1340794.886 1056938.881 0, 1340525.768 1056918.831 0, 1340256.648 1056898.796 0, 1339987.528 1056878.777 0, 1339718.406 1056858.774 0, 1339449.283 1056838.787 0, 1339180.159 1056818.816 0, 1338911.034 1056798.86 0,
+ 1338641.908 1056778.92 0, 1338372.78 1056758.996 0, 1338103.651 1056739.088 0, 1337834.521 1056719.196 0, 1337565.39 1056699.32 0, 1337296.258 1056679.459 0, 1337027.125 1056659.615 0, 1336757.99 1056639.786 0, 1336487.606 1056619.881 0, 1336078.026 1062185.786 0,
+ 1335668.444 1067751.739 0, 1335938.169 1067771.596 0, 1336206.649 1067791.376 0, 1336475.127 1067811.173 0, 1336743.604 1067830.985 0, 1337012.08 1067850.813 0, 1337280.555 1067870.656 0, 1337549.028 1067890.516 0, 1337817.501 1067910.391 0, 1338085.972 1067930.283 0,
+ 1338354.442 1067950.189 0, 1338622.911 1067970.112 0, 1338891.379 1067990.051 0, 1339159.845 1068010.005 0, 1339428.31 1068029.975 0, 1339696.775 1068049.961 0, 1339965.238 1068069.963 0, 1340233.699 1068089.981 0, 1340502.16 1068110.014 0, 1340770.62 1068130.063 0,
+ 1341039.078 1068150.128 0, 1341307.535 1068170.209 0, 1341575.991 1068190.306 0, 1341844.446 1068210.418 0, 1342111.655 1068230.453 0, 1342381.351 1068250.69 0, 1342649.803 1068270.85 0, 1342918.253 1068291.026 0, 1343186.701 1068311.217 0, 1343455.149 1068331.424 0,
+ 1343723.595 1068351.647 0, 1343992.041 1068371.886 0, 1344260.485 1068392.14 0, 1344528.928 1068412.411 0, 1344797.369 1068432.697 0, 1345065.81 1068452.999 0, 1345334.249 1068473.317 0, 1345602.687 1068493.65 0, 1345871.124 1068514 0, 1346139.56 1068534.365 0,
+ 1346407.994 1068554.746 0, 1346676.427 1068575.143 0, 1346944.859 1068595.555 0, 1347213.29 1068615.984 0, 1347481.72 1068636.428 0, 1347750.148 1068656.888 0, 1348018.576 1068677.364 0, 1348287.002 1068697.855 0, 1348554.183 1068718.268 0, 1348979.49 1063153.494 0,
+ 1349404.792 1057588.768 0))
+
+POLYGON ((1361437.141 1069721.197 0, 1361170.016 1069700.029 0, 1360901.649 1069678.78 0, 1360633.281 1069657.546 0, 1360364.911 1069636.327 0, 1360096.54 1069615.125 0, 1359828.168 1069593.938 0, 1359559.795 1069572.767 0, 1359291.42 1069551.612 0, 1359023.045 1069530.473 0,
+ 1358754.668 1069509.349 0, 1358486.289 1069488.242 0, 1358217.91 1069467.15 0, 1357949.529 1069446.074 0, 1357681.147 1069425.013 0, 1357412.764 1069403.969 0, 1357144.379 1069382.94 0, 1356875.993 1069361.927 0, 1356607.606 1069340.93 0, 1356339.218 1069319.949 0,
+ 1356070.829 1069298.983 0, 1355802.438 1069278.034 0, 1355534.046 1069257.1 0, 1355265.653 1069236.182 0, 1354996.017 1069215.183 0, 1354728.863 1069194.393 0, 1354460.466 1069173.522 0, 1354192.068 1069152.667 0, 1353923.669 1069131.828 0, 1353655.268 1069111.005 0,
+ 1353386.866 1069090.197 0, 1353118.463 1069069.405 0, 1352850.059 1069048.629 0, 1352581.654 1069027.869 0, 1352313.247 1069007.125 0, 1352044.839 1068986.396 0, 1351776.43 1068965.684 0, 1351508.02 1068944.987 0, 1351239.608 1068924.305 0, 1350971.196 1068903.64 0,
+ 1350702.782 1068882.99 0, 1350434.367 1068862.357 0, 1350165.95 1068841.739 0, 1349897.533 1068821.137 0, 1349629.114 1068800.55 0, 1349360.694 1068779.98 0, 1349092.273 1068759.425 0, 1348823.85 1068738.886 0, 1348554.183 1068718.268 0, 1348128.874 1074283.085 0,
+ 1347703.561 1079847.942 0, 1347972.57 1079868.51 0, 1348240.337 1079888.999 0, 1348508.104 1079909.504 0, 1348775.869 1079930.024 0, 1349043.632 1079950.56 0, 1349311.395 1079971.112 0, 1349579.156 1079991.68 0, 1349846.916 1080012.263 0, 1350114.675 1080032.862 0,
+ 1350382.433 1080053.477 0, 1350650.189 1080074.108 0, 1350917.945 1080094.754 0, 1351185.699 1080115.417 0, 1351453.451 1080136.095 0, 1351721.203 1080156.788 0, 1351988.953 1080177.498 0, 1352256.703 1080198.223 0, 1352524.451 1080218.964 0, 1352792.197 1080239.721 0,
+ 1353059.943 1080260.493 0, 1353327.687 1080281.282 0, 1353595.43 1080302.086 0, 1353863.172 1080322.906 0, 1354129.674 1080343.645 0, 1354398.652 1080364.592 0, 1354666.39 1080385.46 0, 1354934.127 1080406.342 0, 1355201.863 1080427.241 0, 1355469.597 1080448.155 0,
+ 1355737.331 1080469.085 0, 1356005.063 1080490.031 0, 1356272.793 1080510.993 0, 1356540.523 1080531.97 0, 1356808.251 1080552.963 0, 1357075.978 1080573.972 0, 1357343.704 1080594.997 0, 1357611.429 1080616.037 0, 1357879.152 1080637.094 0, 1358146.874 1080658.166 0,
+ 1358414.595 1080679.253 0, 1358682.315 1080700.357 0, 1358950.033 1080721.476 0, 1359217.75 1080742.611 0, 1359485.466 1080763.762 0, 1359753.181 1080784.928 0, 1360020.894 1080806.11 0, 1360288.606 1080827.308 0, 1360555.079 1080848.424 0, 1360996.112 1075284.791 0,
+ 1361437.141 1069721.197 0))
+
+POLYGON ((1373403.72 1081885.209 0, 1373137.305 1081863.341 0, 1372869.654 1081841.387 0, 1372602.001 1081819.448 0, 1372334.348 1081797.525 0, 1372066.692 1081775.618 0, 1371799.036 1081753.727 0, 1371531.378 1081731.852 0, 1371263.72 1081709.992 0, 1370996.059 1081688.148 0,
+ 1370728.398 1081666.32 0, 1370460.735 1081644.507 0, 1370193.071 1081622.711 0, 1369925.406 1081600.93 0, 1369657.739 1081579.164 0, 1369390.071 1081557.415 0, 1369122.402 1081535.681 0, 1368854.731 1081513.963 0, 1368587.06 1081492.261 0, 1368319.387 1081470.575 0,
+ 1368051.712 1081448.904 0, 1367784.037 1081427.249 0, 1367516.36 1081405.61 0, 1367248.682 1081383.987 0, 1366979.766 1081362.279 0, 1366713.322 1081340.787 0, 1366445.64 1081319.211 0, 1366177.956 1081297.651 0, 1365910.272 1081276.106 0, 1365642.586 1081254.577 0,
+ 1365374.899 1081233.064 0, 1365107.211 1081211.567 0, 1364839.521 1081190.085 0, 1364571.83 1081168.619 0, 1364304.138 1081147.169 0, 1364036.445 1081125.735 0, 1363768.75 1081104.316 0, 1363501.055 1081082.913 0, 1363233.357 1081061.526 0, 1362965.659 1081040.155 0,
+ 1362697.959 1081018.799 0, 1362430.259 1080997.459 0, 1362162.556 1080976.135 0, 1361894.853 1080954.827 0, 1361627.148 1080933.535 0, 1361359.442 1080912.258 0, 1361091.735 1080890.997 0, 1360824.027 1080869.752 0, 1360555.079 1080848.424 0, 1360114.044 1086412.093 0,
+ 1359673.006 1091975.792 0, 1359941.296 1091997.067 0, 1360208.349 1092018.261 0, 1360475.401 1092039.47 0, 1360742.452 1092060.694 0, 1361009.502 1092081.935 0, 1361276.551 1092103.191 0, 1361543.598 1092124.463 0, 1361810.644 1092145.751 0, 1362077.689 1092167.054 0,
+ 1362344.732 1092188.373 0, 1362611.774 1092209.708 0, 1362878.815 1092231.058 0, 1363145.855 1092252.424 0, 1363412.893 1092273.806 0, 1363679.931 1092295.204 0, 1363946.967 1092316.617 0, 1364214.001 1092338.046 0, 1364481.035 1092359.491 0, 1364748.067 1092380.951 0,
+ 1365015.098 1092402.428 0, 1365282.127 1092423.92 0, 1365549.156 1092445.427 0, 1365816.183 1092466.951 0, 1366081.975 1092488.39 0, 1366350.233 1092510.044 0, 1366617.256 1092531.615 0, 1366884.278 1092553.201 0, 1367151.299 1092574.803 0, 1367418.319 1092596.421 0,
+ 1367685.337 1092618.054 0, 1367952.354 1092639.703 0, 1368219.369 1092661.368 0, 1368486.384 1092683.049 0, 1368753.397 1092704.745 0, 1369020.409 1092726.457 0, 1369287.419 1092748.184 0, 1369554.428 1092769.928 0, 1369821.436 1092791.687 0, 1370088.443 1092813.462 0,
+ 1370355.448 1092835.252 0, 1370622.453 1092857.058 0, 1370889.455 1092878.88 0, 1371156.457 1092900.718 0, 1371423.457 1092922.572 0, 1371690.456 1092944.441 0, 1371957.454 1092966.325 0, 1372224.45 1092988.226 0, 1372490.213 1093010.041 0, 1372946.968 1087447.61 0,
+ 1373403.72 1081885.209 0))
+
+POLYGON ((1385304.447 1094080.497 0, 1385038.745 1094057.931 0, 1384771.811 1094035.276 0, 1384504.876 1094012.637 0, 1384237.94 1093990.014 0, 1383971.003 1093967.406 0, 1383704.064 1093944.814 0, 1383437.124 1093922.238 0, 1383170.182 1093899.677 0, 1382903.24 1093877.133 0,
+ 1382636.296 1093854.604 0, 1382369.35 1093832.09 0, 1382102.403 1093809.593 0, 1381835.455 1093787.111 0, 1381568.506 1093764.644 0, 1381301.555 1093742.194 0, 1381034.603 1093719.759 0, 1380767.65 1093697.34 0, 1380500.695 1093674.937 0, 1380233.739 1093652.549 0,
+ 1379966.782 1093630.177 0, 1379699.823 1093607.821 0, 1379432.863 1093585.48 0, 1379165.902 1093563.156 0, 1378897.708 1093540.744 0, 1378631.975 1093518.553 0, 1378365.01 1093496.275 0, 1378098.044 1093474.013 0, 1377831.076 1093451.767 0, 1377564.107 1093429.537 0,
+ 1377297.136 1093407.322 0, 1377030.164 1093385.123 0, 1376763.191 1093362.939 0, 1376496.217 1093340.772 0, 1376229.241 1093318.62 0, 1375962.264 1093296.483 0, 1375695.286 1093274.363 0, 1375428.306 1093252.258 0, 1375161.326 1093230.169 0, 1374894.343 1093208.096 0,
+ 1374627.36 1093186.038 0, 1374360.375 1093163.996 0, 1374093.389 1093141.97 0, 1373826.402 1093119.959 0, 1373559.413 1093097.964 0, 1373292.423 1093075.985 0, 1373025.432 1093054.022 0, 1372758.439 1093032.074 0, 1372490.213 1093010.041 0, 1372033.456 1098572.499 0,
+ 1371576.698 1104134.979 0, 1371844.266 1104156.958 0, 1372110.604 1104178.852 0, 1372376.941 1104200.762 0, 1372643.276 1104222.687 0, 1372909.61 1104244.628 0, 1373175.942 1104266.584 0, 1373442.273 1104288.556 0, 1373708.603 1104310.544 0, 1373974.932 1104332.548 0,
+ 1374241.26 1104354.567 0, 1374507.586 1104376.602 0, 1374773.911 1104398.653 0, 1375040.234 1104420.719 0, 1375306.556 1104442.801 0, 1375572.877 1104464.899 0, 1375839.197 1104487.012 0, 1376105.515 1104509.141 0, 1376371.832 1104531.286 0, 1376638.148 1104553.446 0,
+ 1376904.462 1104575.622 0, 1377170.775 1104597.814 0, 1377437.087 1104620.021 0, 1377703.398 1104642.244 0, 1377968.479 1104664.38 0, 1378236.015 1104686.737 0, 1378502.321 1104709.007 0, 1378768.627 1104731.293 0, 1379034.931 1104753.594 0, 1379301.233 1104775.911 0,
+ 1379567.534 1104798.244 0, 1379833.834 1104820.593 0, 1380100.133 1104842.957 0, 1380366.431 1104865.336 0, 1380632.727 1104887.732 0, 1380899.021 1104910.143 0, 1381165.315 1104932.57 0, 1381431.607 1104955.012 0, 1381697.898 1104977.47 0, 1381964.187 1104999.944 0,
+ 1382230.475 1105022.434 0, 1382496.762 1105044.939 0, 1382763.047 1105067.46 0, 1383029.332 1105089.996 0, 1383295.614 1105112.548 0, 1383561.896 1105135.116 0, 1383828.176 1105157.7 0, 1384094.455 1105180.299 0, 1384359.505 1105202.81 0, 1384831.977 1099641.642 0,
+ 1385304.447 1094080.497 0))
+
+POLYGON ((844715.103 634092.646 0, 844422.546 634101.75 0, 844128.541 634110.915 0, 843834.537 634120.098 0, 843540.533 634129.298 0, 843246.53 634138.516 0, 842952.528 634147.751 0, 842658.526 634157.003 0, 842364.524 634166.272 0, 842070.524 634175.559 0,
+ 841776.523 634184.863 0, 841482.524 634194.185 0, 841188.524 634203.523 0, 840894.526 634212.879 0, 840600.528 634222.252 0, 840306.53 634231.643 0, 840012.533 634241.051 0, 839718.537 634250.476 0, 839424.541 634259.919 0, 839130.545 634269.378 0,
+ 838836.551 634278.856 0, 838542.556 634288.35 0, 838248.563 634297.862 0, 837954.57 634307.391 0, 837659.129 634316.984 0, 837366.585 634326.501 0, 837072.594 634336.082 0, 836778.603 634345.68 0, 836484.613 634355.295 0, 836190.623 634364.928 0,
+ 835896.634 634374.578 0, 835602.645 634384.246 0, 835308.657 634393.931 0, 835014.67 634403.633 0, 834720.683 634413.352 0, 834426.697 634423.089 0, 834132.711 634432.843 0, 833838.726 634442.614 0, 833544.741 634452.402 0, 833250.757 634462.208 0,
+ 832956.774 634472.032 0, 832662.791 634481.872 0, 832368.809 634491.73 0, 832074.827 634501.605 0, 831780.846 634511.497 0, 831486.865 634521.407 0, 831192.886 634531.334 0, 830898.906 634541.278 0, 830603.478 634551.289 0, 830792.16 640114.634 0,
+ 830980.853 645678.304 0, 831275.623 645668.316 0, 831568.948 645658.394 0, 831862.273 645648.489 0, 832155.598 645638.601 0, 832448.924 645628.731 0, 832742.251 645618.878 0, 833035.578 645609.042 0, 833328.906 645599.223 0, 833622.235 645589.422 0,
+ 833915.564 645579.638 0, 834208.894 645569.871 0, 834502.224 645560.122 0, 834795.555 645550.389 0, 835088.886 645540.674 0, 835382.218 645530.977 0, 835675.55 645521.296 0, 835968.883 645511.633 0, 836262.217 645501.987 0, 836555.551 645492.358 0,
+ 836848.886 645482.747 0, 837142.221 645473.153 0, 837435.557 645463.576 0, 837728.894 645454.017 0, 838020.786 645444.521 0, 838315.568 645434.949 0, 838608.906 645425.441 0, 838902.245 645415.951 0, 839195.584 645406.478 0, 839488.924 645397.022 0,
+ 839782.265 645387.583 0, 840075.606 645378.161 0, 840368.947 645368.757 0, 840662.289 645359.37 0, 840955.632 645350.001 0, 841248.975 645340.648 0, 841542.318 645331.313 0, 841835.663 645321.995 0, 842129.008 645312.695 0, 842422.353 645303.411 0,
+ 842715.699 645294.145 0, 843009.045 645284.896 0, 843302.392 645275.665 0, 843595.74 645266.451 0, 843889.088 645257.254 0, 844182.436 645248.074 0, 844475.785 645238.911 0, 844769.135 645229.766 0, 845061.041 645220.683 0, 844888.067 639656.502 0,
+ 844715.103 634092.646 0))
+
+POLYGON ((859142.466 644802.843 0, 858850.533 644811.101 0, 858557.159 644819.418 0, 858263.785 644827.751 0, 857970.412 644836.102 0, 857677.039 644844.47 0, 857383.666 644852.856 0, 857090.294 644861.259 0, 856796.923 644869.679 0, 856503.552 644878.116 0,
+ 856210.182 644886.571 0, 855916.812 644895.042 0, 855623.442 644903.531 0, 855330.074 644912.038 0, 855036.705 644920.561 0, 854743.337 644929.102 0, 854449.97 644937.66 0, 854156.603 644946.236 0, 853863.237 644954.829 0, 853569.871 644963.439 0,
+ 853276.505 644972.066 0, 852983.141 644980.71 0, 852689.776 644989.372 0, 852396.412 644998.051 0, 852101.606 645006.79 0, 851809.686 645015.461 0, 851516.324 645024.192 0, 851222.962 645032.94 0, 850929.601 645041.705 0, 850636.24 645050.488 0,
+ 850342.88 645059.288 0, 850049.52 645068.105 0, 849756.161 645076.939 0, 849462.802 645085.791 0, 849169.444 645094.66 0, 848876.087 645103.546 0, 848582.729 645112.45 0, 848289.373 645121.37 0, 847996.017 645130.308 0, 847702.661 645139.264 0,
+ 847409.306 645148.236 0, 847115.952 645157.226 0, 846822.598 645166.233 0, 846529.244 645175.257 0, 846235.891 645184.299 0, 845942.539 645193.358 0, 845649.187 645202.434 0, 845355.836 645211.527 0, 845061.041 645220.683 0, 845234.025 650785.187 0,
+ 845407.019 656350.009 0, 845701.156 656340.874 0, 845993.852 656331.801 0, 846286.549 656322.745 0, 846579.246 656313.707 0, 846871.944 656304.685 0, 847164.642 656295.681 0, 847457.341 656286.694 0, 847750.04 656277.724 0, 848042.74 656268.772 0,
+ 848335.441 656259.836 0, 848628.142 656250.918 0, 848920.843 656242.017 0, 849213.545 656233.134 0, 849506.248 656224.268 0, 849798.951 656215.418 0, 850091.655 656206.586 0, 850384.359 656197.772 0, 850677.063 656188.974 0, 850969.769 656180.194 0,
+ 851262.474 656171.431 0, 851555.18 656162.685 0, 851847.887 656153.957 0, 852140.594 656145.245 0, 852431.862 656136.594 0, 852726.01 656127.874 0, 853018.719 656119.215 0, 853311.428 656110.572 0, 853604.138 656101.947 0, 853896.848 656093.339 0,
+ 854189.559 656084.748 0, 854482.271 656076.175 0, 854774.982 656067.619 0, 855067.695 656059.08 0, 855360.407 656050.558 0, 855653.121 656042.053 0, 855945.835 656033.566 0, 856238.549 656025.096 0, 856531.264 656016.643 0, 856823.979 656008.207 0,
+ 857116.695 655999.789 0, 857409.411 655991.388 0, 857702.128 655983.004 0, 857994.845 655974.637 0, 858287.563 655966.287 0, 858580.281 655957.955 0, 858873 655949.64 0, 859165.719 655941.342 0, 859457 655933.102 0, 859299.728 650367.813 0,
+ 859142.466 644802.843 0))
+
+POLYGON ((873508.103 655555.89 0, 873216.797 655563.307 0, 872924.056 655570.778 0, 872631.315 655578.266 0, 872338.574 655585.772 0, 872045.834 655593.294 0, 871753.094 655600.834 0, 871460.355 655608.391 0, 871167.616 655615.965 0, 870874.878 655623.556 0,
+ 870582.14 655631.165 0, 870289.402 655638.791 0, 869996.665 655646.434 0, 869703.929 655654.095 0, 869411.192 655661.772 0, 869118.457 655669.467 0, 868825.721 655677.179 0, 868532.987 655684.908 0, 868240.252 655692.655 0, 867947.518 655700.418 0,
+ 867654.785 655708.199 0, 867362.052 655715.998 0, 867069.32 655723.813 0, 866776.587 655731.646 0, 866482.418 655739.534 0, 866191.125 655747.363 0, 865898.394 655755.247 0, 865605.664 655763.149 0, 865312.934 655771.067 0, 865020.205 655779.003 0,
+ 864727.476 655786.957 0, 864434.748 655794.927 0, 864142.02 655802.915 0, 863849.293 655810.92 0, 863556.566 655818.942 0, 863263.839 655826.981 0, 862971.113 655835.038 0, 862678.388 655843.112 0, 862385.663 655851.203 0, 862092.938 655859.311 0,
+ 861800.214 655867.437 0, 861507.49 655875.58 0, 861214.767 655883.74 0, 860922.045 655891.917 0, 860629.323 655900.111 0, 860336.601 655908.323 0, 860043.88 655916.552 0, 859751.159 655924.798 0, 859457 655933.102 0, 859614.281 661498.707 0,
+ 859771.57 667064.624 0, 860065.07 667056.339 0, 860357.136 667048.111 0, 860649.202 667039.901 0, 860941.268 667031.707 0, 861233.335 667023.531 0, 861525.403 667015.372 0, 861817.471 667007.231 0, 862109.539 666999.106 0, 862401.608 666990.999 0,
+ 862693.677 666982.908 0, 862985.747 666974.835 0, 863277.818 666966.78 0, 863569.888 666958.741 0, 863861.96 666950.72 0, 864154.031 666942.715 0, 864446.103 666934.728 0, 864738.176 666926.759 0, 865030.249 666918.806 0, 865322.323 666910.87 0,
+ 865614.397 666902.952 0, 865906.471 666895.051 0, 866198.546 666887.167 0, 866490.622 666879.301 0, 866781.263 666871.49 0, 867074.774 666863.619 0, 867366.851 666855.804 0, 867658.928 666848.006 0, 867951.006 666840.225 0, 868243.084 666832.461 0,
+ 868535.163 666824.715 0, 868827.242 666816.986 0, 869119.322 666809.274 0, 869411.402 666801.579 0, 869703.482 666793.902 0, 869995.563 666786.241 0, 870287.645 666778.598 0, 870579.727 666770.972 0, 870871.809 666763.363 0, 871163.892 666755.772 0,
+ 871455.975 666748.197 0, 871748.058 666740.64 0, 872040.142 666733.1 0, 872332.227 666725.577 0, 872624.312 666718.071 0, 872916.397 666710.583 0, 873208.483 666703.111 0, 873500.569 666695.657 0, 873791.223 666688.257 0, 873649.659 661121.917 0,
+ 873508.103 655555.89 0))
+
+POLYGON ((887811.883 666351.499 0, 887521.208 666358.078 0, 887229.102 666364.707 0, 886936.996 666371.353 0, 886644.89 666378.017 0, 886352.785 666384.697 0, 886060.681 666391.395 0, 885768.577 666398.109 0, 885476.473 666404.841 0, 885184.369 666411.591 0,
+ 884892.266 666418.357 0, 884600.164 666425.141 0, 884308.061 666431.942 0, 884015.96 666438.76 0, 883723.858 666445.595 0, 883431.757 666452.447 0, 883139.657 666459.317 0, 882847.556 666466.203 0, 882555.457 666473.107 0, 882263.357 666480.029 0,
+ 881971.258 666486.967 0, 881679.16 666493.922 0, 881387.061 666500.895 0, 881094.964 666507.885 0, 880801.434 666514.927 0, 880510.769 666521.916 0, 880218.673 666528.958 0, 879926.577 666536.017 0, 879634.481 666543.093 0, 879342.386 666550.186 0,
+ 879050.291 666557.296 0, 878758.197 666564.423 0, 878466.102 666571.568 0, 878174.009 666578.73 0, 877881.916 666585.909 0, 877589.823 666593.105 0, 877297.731 666600.318 0, 877005.639 666607.549 0, 876713.547 666614.797 0, 876421.456 666622.062 0,
+ 876129.366 666629.344 0, 875837.275 666636.643 0, 875545.186 666643.96 0, 875253.096 666651.294 0, 874961.007 666658.645 0, 874668.919 666666.013 0, 874376.831 666673.398 0, 874084.743 666680.801 0, 873791.223 666688.257 0, 873932.795 672254.905 0,
+ 874074.374 677821.86 0, 874367.236 677814.42 0, 874658.669 677807.034 0, 874950.101 677799.665 0, 875241.534 677792.314 0, 875532.968 677784.979 0, 875824.402 677777.662 0, 876115.836 677770.362 0, 876407.271 677763.079 0, 876698.707 677755.813 0,
+ 876990.142 677748.564 0, 877281.579 677741.333 0, 877573.015 677734.118 0, 877864.452 677726.921 0, 878155.89 677719.741 0, 878447.327 677712.578 0, 878738.766 677705.432 0, 879030.204 677698.304 0, 879321.644 677691.192 0, 879613.083 677684.098 0,
+ 879904.523 677677.021 0, 880195.963 677669.961 0, 880487.404 677662.918 0, 880778.845 677655.892 0, 881068.858 677648.918 0, 881361.729 677641.892 0, 881653.171 677634.918 0, 881944.614 677627.961 0, 882236.058 677621.021 0, 882527.501 677614.098 0,
+ 882818.945 677607.193 0, 883110.39 677600.304 0, 883401.835 677593.433 0, 883693.28 677586.579 0, 883984.726 677579.742 0, 884276.172 677572.922 0, 884567.618 677566.119 0, 884859.065 677559.334 0, 885150.512 677552.565 0, 885441.96 677545.814 0,
+ 885733.408 677539.08 0, 886024.857 677532.363 0, 886316.305 677525.663 0, 886607.755 677518.981 0, 886899.204 677512.315 0, 887190.654 677505.667 0, 887482.105 677499.036 0, 887773.556 677492.422 0, 888063.579 677485.857 0, 887937.728 671918.525 0,
+ 887811.883 666351.499 0))
+
+POLYGON ((902053.677 677189.378 0, 901763.634 677195.123 0, 901472.166 677200.914 0, 901180.698 677206.722 0, 900889.23 677212.547 0, 900597.763 677218.389 0, 900306.296 677224.248 0, 900014.829 677230.124 0, 899723.363 677236.018 0, 899431.897 677241.928 0,
+ 899140.431 677247.856 0, 898848.966 677253.801 0, 898557.501 677259.763 0, 898266.037 677265.743 0, 897974.573 677271.739 0, 897683.109 677277.753 0, 897391.645 677283.783 0, 897100.182 677289.831 0, 896808.719 677295.896 0, 896517.257 677301.978 0,
+ 896225.795 677308.078 0, 895934.333 677314.194 0, 895642.872 677320.328 0, 895351.411 677326.479 0, 895058.523 677332.677 0, 894768.49 677338.832 0, 894477.03 677345.034 0, 894185.571 677351.254 0, 893894.111 677357.49 0, 893602.653 677363.744 0,
+ 893311.194 677370.015 0, 893019.736 677376.303 0, 892728.279 677382.608 0, 892436.821 677388.931 0, 892145.364 677395.27 0, 891853.908 677401.627 0, 891562.452 677408.001 0, 891270.996 677414.392 0, 890979.54 677420.8 0, 890688.085 677427.225 0,
+ 890396.631 677433.668 0, 890105.176 677440.127 0, 889813.722 677446.604 0, 889522.269 677453.098 0, 889230.816 677459.609 0, 888939.363 677466.137 0, 888647.911 677472.683 0, 888356.459 677479.245 0, 888063.579 677485.857 0, 888189.437 683053.491 0,
+ 888315.302 688621.425 0, 888607.523 688614.828 0, 888898.32 688608.28 0, 889189.117 688601.749 0, 889479.914 688595.236 0, 889770.712 688588.739 0, 890061.51 688582.26 0, 890352.308 688575.798 0, 890643.107 688569.353 0, 890933.906 688562.925 0,
+ 891224.706 688556.514 0, 891515.506 688550.12 0, 891806.306 688543.743 0, 892097.107 688537.384 0, 892387.908 688531.041 0, 892678.71 688524.716 0, 892969.512 688518.408 0, 893260.314 688512.117 0, 893551.117 688505.843 0, 893841.92 688499.586 0,
+ 894132.723 688493.347 0, 894423.527 688487.124 0, 894714.331 688480.918 0, 895005.135 688474.73 0, 895294.516 688468.589 0, 895586.745 688462.405 0, 895877.551 688456.268 0, 896168.357 688450.148 0, 896459.163 688444.045 0, 896749.969 688437.96 0,
+ 897040.776 688431.891 0, 897331.584 688425.84 0, 897622.391 688419.805 0, 897913.199 688413.788 0, 898204.008 688407.788 0, 898494.817 688401.805 0, 898785.626 688395.839 0, 899076.435 688389.89 0, 899367.245 688383.959 0, 899658.055 688378.044 0,
+ 899948.866 688372.147 0, 900239.676 688366.267 0, 900530.488 688360.404 0, 900821.299 688354.558 0, 901112.111 688348.729 0, 901402.923 688342.917 0, 901693.736 688337.122 0, 901984.549 688331.345 0, 902273.939 688325.612 0, 902163.805 682757.346 0,
+ 902053.677 677189.378 0))
+
+POLYGON ((916233.356 688069.237 0, 915943.949 688074.152 0, 915653.121 688079.108 0, 915362.293 688084.081 0, 915071.465 688089.071 0, 914780.638 688094.078 0, 914489.811 688099.103 0, 914198.985 688104.144 0, 913908.158 688109.203 0, 913617.332 688114.278 0,
+ 913326.507 688119.371 0, 913035.681 688124.481 0, 912744.856 688129.608 0, 912454.031 688134.753 0, 912163.207 688139.914 0, 911872.383 688145.092 0, 911581.559 688150.288 0, 911290.735 688155.501 0, 910999.912 688160.731 0, 910709.089 688165.977 0,
+ 910418.266 688171.242 0, 910127.444 688176.523 0, 909836.622 688181.821 0, 909545.8 688187.136 0, 909253.557 688192.495 0, 908964.158 688197.818 0, 908673.337 688203.185 0, 908382.517 688208.569 0, 908091.696 688213.97 0, 907800.877 688219.388 0,
+ 907510.057 688224.823 0, 907219.238 688230.276 0, 906928.419 688235.745 0, 906637.601 688241.232 0, 906346.782 688246.735 0, 906055.964 688252.256 0, 905765.147 688257.794 0, 905474.33 688263.349 0, 905183.513 688268.921 0, 904892.696 688274.511 0,
+ 904601.88 688280.117 0, 904311.064 688285.74 0, 904020.248 688291.381 0, 903729.433 688297.039 0, 903438.618 688302.714 0, 903147.804 688308.406 0, 902856.989 688314.115 0, 902566.176 688319.841 0, 902273.939 688325.612 0, 902384.079 693894.175 0,
+ 902494.225 699463.029 0, 902785.802 699457.27 0, 903075.961 699451.557 0, 903366.119 699445.861 0, 903656.279 699440.182 0, 903946.438 699434.52 0, 904236.598 699428.875 0, 904526.758 699423.247 0, 904816.918 699417.636 0, 905107.079 699412.042 0,
+ 905397.24 699406.466 0, 905687.401 699400.906 0, 905977.563 699395.364 0, 906267.725 699389.838 0, 906557.887 699384.33 0, 906848.05 699378.838 0, 907138.213 699373.364 0, 907428.376 699367.907 0, 907718.54 699362.467 0, 908008.704 699357.044 0,
+ 908298.868 699351.638 0, 908589.033 699346.249 0, 908879.198 699340.878 0, 909169.363 699335.523 0, 909458.11 699330.212 0, 909749.694 699324.865 0, 910039.86 699319.562 0, 910330.027 699314.275 0, 910620.194 699309.006 0, 910910.361 699303.754 0,
+ 911200.528 699298.519 0, 911490.696 699293.301 0, 911780.864 699288.1 0, 912071.032 699282.916 0, 912361.201 699277.749 0, 912651.37 699272.599 0, 912941.539 699267.467 0, 913231.709 699262.351 0, 913521.878 699257.253 0, 913812.049 699252.171 0,
+ 914102.219 699247.107 0, 914392.39 699242.06 0, 914682.561 699237.03 0, 914972.732 699232.017 0, 915262.904 699227.021 0, 915553.076 699222.042 0, 915843.248 699217.08 0, 916133.42 699212.135 0, 916422.176 699207.231 0, 916327.764 693638.088 0,
+ 916233.356 688069.237 0))
+
+POLYGON ((930350.794 698990.784 0, 930062.024 698994.872 0, 929771.838 698998.997 0, 929481.653 699003.139 0, 929191.468 699007.298 0, 928901.284 699011.474 0, 928611.1 699015.667 0, 928320.915 699019.878 0, 928030.732 699024.105 0, 927740.548 699028.35 0,
+ 927450.365 699032.611 0, 927160.182 699036.89 0, 926869.999 699041.186 0, 926579.816 699045.498 0, 926289.634 699049.828 0, 925999.452 699054.175 0, 925709.27 699058.539 0, 925419.088 699062.921 0, 925128.907 699067.319 0, 924838.726 699071.734 0,
+ 924548.545 699076.166 0, 924258.365 699080.616 0, 923968.184 699085.082 0, 923678.005 699089.566 0, 923386.409 699094.089 0, 923097.645 699098.585 0, 922807.466 699103.119 0, 922517.287 699107.671 0, 922227.109 699112.24 0, 921936.93 699116.826 0,
+ 921646.752 699121.43 0, 921356.574 699126.05 0, 921066.397 699130.687 0, 920776.219 699135.342 0, 920486.042 699140.013 0, 920195.865 699144.702 0, 919905.689 699149.407 0, 919615.513 699154.13 0, 919325.337 699158.87 0, 919035.161 699163.627 0,
+ 918744.986 699168.401 0, 918454.811 699173.192 0, 918164.636 699178 0, 917874.461 699182.825 0, 917584.287 699187.667 0, 917294.113 699192.527 0, 917003.94 699197.403 0, 916713.766 699202.297 0, 916422.176 699207.231 0, 916516.593 704776.663 0,
+ 916611.015 710346.381 0, 916901.947 710341.457 0, 917191.464 710336.575 0, 917480.982 710331.709 0, 917770.501 710326.861 0, 918060.019 710322.03 0, 918349.538 710317.215 0, 918639.057 710312.418 0, 918928.577 710307.638 0, 919218.096 710302.875 0,
+ 919507.616 710298.129 0, 919797.137 710293.399 0, 920086.657 710288.687 0, 920376.178 710283.992 0, 920665.699 710279.314 0, 920955.221 710274.653 0, 921244.742 710270.01 0, 921534.264 710265.383 0, 921823.786 710260.773 0, 922113.309 710256.18 0,
+ 922402.832 710251.604 0, 922692.355 710247.046 0, 922981.878 710242.504 0, 923271.402 710237.979 0, 923559.512 710233.494 0, 923850.449 710228.981 0, 924139.974 710224.508 0, 924429.498 710220.051 0, 924719.023 710215.612 0, 925008.548 710211.19 0,
+ 925298.074 710206.784 0, 925587.599 710202.396 0, 925877.125 710198.025 0, 926166.652 710193.671 0, 926456.178 710189.333 0, 926745.705 710185.013 0, 927035.232 710180.71 0, 927324.759 710176.424 0, 927614.286 710172.155 0, 927903.814 710167.903 0,
+ 928193.342 710163.668 0, 928482.87 710159.45 0, 928772.398 710155.25 0, 929061.927 710151.066 0, 929351.456 710146.899 0, 929640.985 710142.749 0, 929930.515 710138.617 0, 930220.044 710134.501 0, 930508.162 710130.422 0, 930429.476 704560.46 0,
+ 930350.794 698990.784 0))
+
+POLYGON ((944405.864 709953.727 0, 944117.734 709956.991 0, 943828.194 709960.289 0, 943538.654 709963.604 0, 943249.114 709966.935 0, 942959.574 709970.284 0, 942670.035 709973.65 0, 942380.496 709977.033 0, 942090.957 709980.433 0, 941801.418 709983.85 0,
+ 941511.88 709987.284 0, 941222.341 709990.735 0, 940932.803 709994.203 0, 940643.265 709997.688 0, 940353.727 710001.19 0, 940064.19 710004.709 0, 939774.653 710008.245 0, 939485.115 710011.799 0, 939195.579 710015.369 0, 938906.042 710018.956 0,
+ 938616.505 710022.561 0, 938326.969 710026.182 0, 938037.433 710029.821 0, 937747.897 710033.476 0, 937456.951 710037.167 0, 937168.826 710040.838 0, 936879.291 710044.545 0, 936589.756 710048.269 0, 936300.221 710052.009 0, 936010.687 710055.767 0,
+ 935721.153 710059.542 0, 935431.618 710063.334 0, 935142.085 710067.143 0, 934852.551 710070.968 0, 934563.018 710074.811 0, 934273.484 710078.671 0, 933983.951 710082.549 0, 933694.419 710086.443 0, 933404.886 710090.354 0, 933115.354 710094.282 0,
+ 932825.822 710098.227 0, 932536.29 710102.189 0, 932246.759 710106.169 0, 931957.227 710110.165 0, 931667.696 710114.178 0, 931378.165 710118.209 0, 931088.635 710122.256 0, 930799.104 710126.321 0, 930508.162 710130.422 0, 930586.852 715700.666 0,
+ 930665.546 721271.188 0, 930955.829 721267.096 0, 931244.704 721263.041 0, 931533.579 721259.003 0, 931822.454 721254.981 0, 932111.33 721250.977 0, 932400.205 721246.99 0, 932689.081 721243.019 0, 932977.957 721239.066 0, 933266.833 721235.13 0,
+ 933555.71 721231.21 0, 933844.587 721227.308 0, 934133.464 721223.423 0, 934422.341 721219.555 0, 934711.218 721215.703 0, 935000.096 721211.869 0, 935288.974 721208.052 0, 935577.852 721204.252 0, 935866.73 721200.468 0, 936155.609 721196.702 0,
+ 936444.488 721192.953 0, 936733.367 721189.221 0, 937022.246 721185.505 0, 937311.125 721181.807 0, 937598.597 721178.144 0, 937888.885 721174.462 0, 938177.765 721170.814 0, 938466.645 721167.184 0, 938755.526 721163.571 0, 939044.407 721159.975 0,
+ 939333.288 721156.395 0, 939622.169 721152.833 0, 939911.05 721149.288 0, 940199.932 721145.76 0, 940488.813 721142.249 0, 940777.695 721138.754 0, 941066.578 721135.277 0, 941355.46 721131.817 0, 941644.343 721128.374 0, 941933.225 721124.948 0,
+ 942222.108 721121.538 0, 942510.992 721118.146 0, 942799.875 721114.771 0, 943088.759 721111.413 0, 943377.642 721108.072 0, 943666.526 721104.747 0, 943955.411 721101.44 0, 944244.295 721098.15 0, 944531.773 721094.893 0, 944468.817 715524.171 0,
+ 944405.864 709953.727 0))
+
+POLYGON ((958398.442 720957.773 0, 958110.954 720960.218 0, 957822.062 720962.692 0, 957533.169 720965.183 0, 957244.277 720967.691 0, 956955.385 720970.216 0, 956666.493 720972.758 0, 956377.601 720975.317 0, 956088.71 720977.893 0, 955799.818 720980.486 0,
+ 955510.927 720983.096 0, 955222.036 720985.723 0, 954933.144 720988.367 0, 954644.254 720991.028 0, 954355.363 720993.706 0, 954066.472 720996.401 0, 953777.582 720999.113 0, 953488.692 721001.842 0, 953199.802 721004.588 0, 952910.912 721007.352 0,
+ 952622.022 721010.132 0, 952333.132 721012.929 0, 952044.243 721015.743 0, 951755.354 721018.574 0, 951465.059 721021.436 0, 951177.576 721024.287 0, 950888.687 721027.169 0, 950599.799 721030.068 0, 950310.91 721032.984 0, 950022.022 721035.917 0,
+ 949733.134 721038.867 0, 949444.246 721041.835 0, 949155.358 721044.819 0, 948866.471 721047.82 0, 948577.583 721050.838 0, 948288.696 721053.873 0, 947999.809 721056.925 0, 947710.922 721059.994 0, 947422.036 721063.08 0, 947133.149 721066.184 0,
+ 946844.263 721069.304 0, 946555.377 721072.441 0, 946266.491 721075.595 0, 945977.605 721078.766 0, 945688.72 721081.954 0, 945399.834 721085.159 0, 945110.949 721088.382 0, 944822.064 721091.621 0, 944531.773 721094.893 0, 944594.732 726665.89 0,
+ 944657.694 732237.159 0, 944947.327 732233.894 0, 945235.556 732230.663 0, 945523.785 732227.448 0, 945812.015 732224.25 0, 946100.244 732221.069 0, 946388.474 732217.905 0, 946676.704 732214.758 0, 946964.935 732211.628 0, 947253.165 732208.515 0,
+ 947541.396 732205.419 0, 947829.626 732202.34 0, 948117.857 732199.277 0, 948406.089 732196.232 0, 948694.32 732193.204 0, 948982.551 732190.193 0, 949270.783 732187.198 0, 949559.015 732184.221 0, 949847.247 732181.261 0, 950135.479 732178.317 0,
+ 950423.712 732175.391 0, 950711.944 732172.481 0, 951000.177 732169.589 0, 951288.41 732166.713 0, 951575.241 732163.869 0, 951864.876 732161.013 0, 952153.11 732158.189 0, 952441.343 732155.381 0, 952729.577 732152.59 0, 953017.811 732149.816 0,
+ 953306.045 732147.06 0, 953594.279 732144.32 0, 953882.514 732141.597 0, 954170.748 732138.891 0, 954458.983 732136.202 0, 954747.218 732133.53 0, 955035.453 732130.875 0, 955323.688 732128.237 0, 955611.924 732125.616 0, 955900.159 732123.012 0,
+ 956188.395 732120.425 0, 956476.631 732117.854 0, 956764.866 732115.301 0, 957053.103 732112.765 0, 957341.339 732110.246 0, 957629.575 732107.743 0, 957917.812 732105.258 0, 958206.049 732102.79 0, 958492.884 732100.35 0, 958445.662 726528.926 0,
+ 958398.442 720957.773 0))
+
+POLYGON ((972328.405 732002.629 0, 972041.562 732004.258 0, 971753.319 732005.912 0, 971465.077 732007.583 0, 971176.835 732009.271 0, 970888.592 732010.976 0, 970600.35 732012.698 0, 970312.108 732014.437 0, 970023.866 732016.193 0, 969735.624 732017.965 0,
+ 969447.383 732019.755 0, 969159.141 732021.562 0, 968870.9 732023.386 0, 968582.658 732025.226 0, 968294.417 732027.084 0, 968006.176 732028.959 0, 967717.935 732030.85 0, 967429.694 732032.759 0, 967141.453 732034.684 0, 966853.212 732036.627 0,
+ 966564.972 732038.586 0, 966276.731 732040.563 0, 965988.491 732042.556 0, 965700.251 732044.566 0, 965410.61 732046.603 0, 965123.77 732048.638 0, 964835.53 732050.699 0, 964547.291 732052.777 0, 964259.051 732054.872 0, 963970.812 732056.984 0,
+ 963682.572 732059.114 0, 963394.333 732061.26 0, 963106.094 732063.423 0, 962817.855 732065.603 0, 962529.616 732067.8 0, 962241.377 732070.013 0, 961953.138 732072.244 0, 961664.9 732074.492 0, 961376.662 732076.757 0, 961088.423 732079.039 0,
+ 960800.185 732081.338 0, 960511.947 732083.653 0, 960223.709 732085.986 0, 959935.472 732088.336 0, 959647.234 732090.702 0, 959358.997 732093.086 0, 959070.759 732095.486 0, 958782.522 732097.904 0, 958492.884 732100.35 0, 958540.108 737672.043 0,
+ 958587.335 743244 0, 958876.314 743241.559 0, 959163.895 743239.147 0, 959451.477 743236.752 0, 959739.058 743234.374 0, 960026.64 743232.012 0, 960314.222 743229.668 0, 960601.804 743227.341 0, 960889.386 743225.03 0, 961176.968 743222.737 0,
+ 961464.55 743220.46 0, 961752.133 743218.201 0, 962039.715 743215.958 0, 962327.298 743213.732 0, 962614.881 743211.523 0, 962902.464 743209.331 0, 963190.047 743207.156 0, 963477.63 743204.998 0, 963765.214 743202.857 0, 964052.797 743200.733 0,
+ 964340.381 743198.625 0, 964627.965 743196.535 0, 964915.548 743194.461 0, 965203.132 743192.405 0, 965489.32 743190.375 0, 965778.301 743188.343 0, 966065.885 743186.337 0, 966353.47 743184.348 0, 966641.054 743182.376 0, 966928.639 743180.421 0,
+ 967216.224 743178.483 0, 967503.809 743176.562 0, 967791.394 743174.658 0, 968078.979 743172.771 0, 968366.564 743170.9 0, 968654.149 743169.047 0, 968941.735 743167.21 0, 969229.321 743165.391 0, 969516.906 743163.588 0, 969804.492 743161.802 0,
+ 970092.078 743160.034 0, 970379.664 743158.282 0, 970667.25 743156.547 0, 970954.836 743154.829 0, 971242.423 743153.128 0, 971530.009 743151.444 0, 971817.596 743149.776 0, 972105.182 743148.126 0, 972391.373 743146.501 0, 972359.888 737574.432 0,
+ 972328.405 732002.629 0))
+
+POLYGON ((986195.631 743088.001 0, 985909.435 743088.818 0, 985621.845 743089.656 0, 985334.255 743090.51 0, 985046.665 743091.382 0, 984759.075 743092.271 0, 984471.485 743093.176 0, 984183.895 743094.098 0, 983896.305 743095.038 0, 983608.715 743095.994 0,
+ 983321.126 743096.967 0, 983033.536 743097.958 0, 982745.946 743098.965 0, 982458.357 743099.989 0, 982170.767 743101.03 0, 981883.178 743102.087 0, 981595.589 743103.162 0, 981307.999 743104.254 0, 981020.41 743105.363 0, 980732.821 743106.488 0,
+ 980445.232 743107.631 0, 980157.643 743108.79 0, 979870.054 743109.966 0, 979582.465 743111.16 0, 979293.482 743112.376 0, 979007.288 743113.597 0, 978719.699 743114.841 0, 978432.11 743116.102 0, 978144.522 743117.38 0, 977856.933 743118.675 0,
+ 977569.345 743119.986 0, 977281.757 743121.315 0, 976994.169 743122.661 0, 976706.58 743124.023 0, 976418.992 743125.403 0, 976131.404 743126.799 0, 975843.817 743128.212 0, 975556.229 743129.643 0, 975268.641 743131.09 0, 974981.053 743132.554 0,
+ 974693.466 743134.035 0, 974405.878 743135.533 0, 974118.291 743137.048 0, 973830.704 743138.58 0, 973543.117 743140.128 0, 973255.53 743141.694 0, 972967.943 743143.277 0, 972680.356 743144.876 0, 972391.373 743146.501 0, 972422.859 748718.83 0,
+ 972454.347 754291.416 0, 972742.67 754289.796 0, 973029.601 754288.2 0, 973316.532 754286.621 0, 973603.463 754285.059 0, 973890.394 754283.514 0, 974177.326 754281.985 0, 974464.257 754280.474 0, 974751.189 754278.979 0, 975038.12 754277.502 0,
+ 975325.052 754276.041 0, 975611.984 754274.597 0, 975898.915 754273.17 0, 976185.847 754271.76 0, 976472.779 754270.367 0, 976759.711 754268.99 0, 977046.643 754267.631 0, 977333.576 754266.289 0, 977620.508 754264.963 0, 977907.44 754263.654 0,
+ 978194.373 754262.362 0, 978481.305 754261.087 0, 978768.238 754259.829 0, 979055.171 754258.588 0, 979340.712 754257.369 0, 979629.036 754256.156 0, 979915.969 754254.966 0, 980202.902 754253.792 0, 980489.835 754252.635 0, 980776.768 754251.495 0,
+ 981063.701 754250.372 0, 981350.635 754249.266 0, 981637.568 754248.177 0, 981924.501 754247.105 0, 982211.435 754246.049 0, 982498.368 754245.011 0, 982785.302 754243.989 0, 983072.235 754242.984 0, 983359.169 754241.996 0, 983646.103 754241.025 0,
+ 983933.037 754240.071 0, 984219.97 754239.134 0, 984506.904 754238.214 0, 984793.838 754237.31 0, 985080.772 754236.424 0, 985367.706 754235.554 0, 985654.64 754234.701 0, 985941.575 754233.865 0, 986227.118 754233.05 0, 986211.375 748660.397 0,
+ 986195.631 743088.001 0))
+
+POLYGON ((1000000 754213.595 0, 999714.453 754213.603 0, 999427.518 754213.628 0, 999140.582 754213.67 0, 998853.647 754213.729 0, 998566.711 754213.805 0, 998279.776 754213.898 0, 997992.841 754214.008 0, 997705.905 754214.134 0, 997418.97 754214.278 0,
+ 997132.035 754214.438 0, 996845.099 754214.616 0, 996558.164 754214.81 0, 996271.229 754215.021 0, 995984.294 754215.249 0, 995697.358 754215.493 0, 995410.423 754215.755 0, 995123.488 754216.034 0, 994836.553 754216.329 0, 994549.617 754216.641 0,
+ 994262.682 754216.971 0, 993975.747 754217.317 0, 993688.812 754217.68 0, 993401.877 754218.06 0, 993113.552 754218.459 0, 992828.007 754218.87 0, 992541.072 754219.301 0, 992254.137 754219.748 0, 991967.202 754220.213 0, 991680.267 754220.694 0,
+ 991393.332 754221.192 0, 991106.397 754221.707 0, 990819.462 754222.239 0, 990532.527 754222.788 0, 990245.592 754223.353 0, 989958.657 754223.936 0, 989671.723 754224.535 0, 989384.788 754225.152 0, 989097.853 754225.785 0, 988810.919 754226.435 0,
+ 988523.984 754227.102 0, 988237.05 754227.786 0, 987950.115 754228.487 0, 987663.181 754229.205 0, 987376.246 754229.939 0, 987089.312 754230.691 0, 986802.377 754231.459 0, 986515.443 754232.244 0, 986227.118 754233.05 0, 986242.863 759805.958 0,
+ 986258.608 765379.115 0, 986546.274 765378.311 0, 986832.552 765377.528 0, 987118.83 765376.761 0, 987405.109 765376.011 0, 987691.387 765375.279 0, 987977.665 765374.562 0, 988263.944 765373.863 0, 988550.222 765373.181 0, 988836.501 765372.515 0,
+ 989122.78 765371.867 0, 989409.058 765371.235 0, 989695.337 765370.62 0, 989981.616 765370.022 0, 990267.894 765369.441 0, 990554.173 765368.876 0, 990840.452 765368.329 0, 991126.731 765367.798 0, 991413.01 765367.284 0, 991699.289 765366.787 0,
+ 991985.567 765366.307 0, 992271.846 765365.844 0, 992558.125 765365.397 0, 992844.404 765364.968 0, 993129.297 765364.557 0, 993416.962 765364.159 0, 993703.242 765363.78 0, 993989.521 765363.418 0, 994275.8 765363.073 0, 994562.079 765362.744 0,
+ 994848.358 765362.433 0, 995134.637 765362.138 0, 995420.916 765361.86 0, 995707.196 765361.599 0, 995993.475 765361.355 0, 996279.754 765361.127 0, 996566.033 765360.917 0, 996852.313 765360.723 0, 997138.592 765360.546 0, 997424.871 765360.386 0,
+ 997711.151 765360.243 0, 997997.43 765360.117 0, 998283.709 765360.007 0, 998569.988 765359.915 0, 998856.268 765359.839 0, 999142.547 765359.78 0, 999428.826 765359.738 0, 999715.106 765359.713 0, 1000000 765359.704 0, 1000000 759786.524 0,
+ 1000000 754213.595 0))
+
+POLYGON ((1013741.392 765379.115 0, 1013456.497 765378.319 0, 1013170.218 765377.535 0, 1012883.94 765376.768 0, 1012597.662 765376.019 0, 1012311.383 765375.286 0, 1012025.105 765374.569 0, 1011738.826 765373.87 0, 1011452.548 765373.187 0, 1011166.269 765372.522 0,
+ 1010879.991 765371.873 0, 1010593.712 765371.241 0, 1010307.433 765370.626 0, 1010021.155 765370.028 0, 1009734.876 765369.446 0, 1009448.597 765368.882 0, 1009162.318 765368.334 0, 1008876.04 765367.803 0, 1008589.761 765367.289 0, 1008303.482 765366.792 0,
+ 1008017.203 765366.312 0, 1007730.924 765365.848 0, 1007444.645 765365.402 0, 1007158.366 765364.972 0, 1006870.703 765364.557 0, 1006585.808 765364.163 0, 1006299.529 765363.784 0, 1006013.25 765363.421 0, 1005726.97 765363.076 0, 1005440.691 765362.747 0,
+ 1005154.412 765362.436 0, 1004868.133 765362.141 0, 1004581.854 765361.862 0, 1004295.575 765361.601 0, 1004009.295 765361.357 0, 1003723.016 765361.129 0, 1003436.737 765360.919 0, 1003150.458 765360.725 0, 1002864.178 765360.548 0, 1002577.899 765360.388 0,
+ 1002291.62 765360.244 0, 1002005.34 765360.118 0, 1001719.061 765360.008 0, 1001432.782 765359.915 0, 1001146.502 765359.839 0, 1000860.223 765359.78 0, 1000573.944 765359.738 0, 1000287.664 765359.713 0, 1000000 765359.704 0, 1000000 770933.131 0,
+ 1000000 776506.802 0, 1000287.005 776506.81 0, 1000572.628 776506.835 0, 1000858.252 776506.877 0, 1001143.875 776506.936 0, 1001429.498 776507.012 0, 1001715.121 776507.105 0, 1002000.745 776507.214 0, 1002286.368 776507.34 0, 1002571.991 776507.483 0,
+ 1002857.614 776507.643 0, 1003143.237 776507.82 0, 1003428.861 776508.013 0, 1003714.484 776508.223 0, 1004000.107 776508.45 0, 1004285.73 776508.694 0, 1004571.353 776508.955 0, 1004856.976 776509.232 0, 1005142.599 776509.526 0, 1005428.222 776509.838 0,
+ 1005713.845 776510.165 0, 1005999.468 776510.51 0, 1006285.091 776510.872 0, 1006570.714 776511.25 0, 1006854.956 776511.643 0, 1007141.96 776512.057 0, 1007427.583 776512.486 0, 1007713.206 776512.931 0, 1007998.829 776513.394 0, 1008284.452 776513.873 0,
+ 1008570.075 776514.369 0, 1008855.697 776514.882 0, 1009141.32 776515.411 0, 1009426.943 776515.958 0, 1009712.566 776516.521 0, 1009998.188 776517.101 0, 1010283.811 776517.698 0, 1010569.433 776518.312 0, 1010855.056 776518.942 0, 1011140.678 776519.59 0,
+ 1011426.301 776520.254 0, 1011711.923 776520.935 0, 1011997.546 776521.632 0, 1012283.168 776522.347 0, 1012568.79 776523.078 0, 1012854.413 776523.827 0, 1013140.035 776524.592 0, 1013425.657 776525.373 0, 1013709.899 776526.168 0, 1013725.646 770952.52 0,
+ 1013741.392 765379.115 0))
+
+POLYGON ((1027419.689 776584.267 0, 1027135.448 776582.67 0, 1026849.829 776581.081 0, 1026564.21 776579.509 0, 1026278.591 776577.954 0, 1025992.972 776576.416 0, 1025707.353 776574.894 0, 1025421.734 776573.389 0, 1025136.114 776571.902 0, 1024850.495 776570.431 0,
+ 1024564.875 776568.976 0, 1024279.256 776567.539 0, 1023993.636 776566.118 0, 1023708.016 776564.714 0, 1023422.396 776563.327 0, 1023136.776 776561.957 0, 1022851.156 776560.604 0, 1022565.536 776559.267 0, 1022279.916 776557.948 0, 1021994.296 776556.645 0,
+ 1021708.676 776555.358 0, 1021423.055 776554.089 0, 1021137.435 776552.837 0, 1020851.814 776551.601 0, 1020564.815 776550.376 0, 1020280.573 776549.18 0, 1019994.952 776547.995 0, 1019709.331 776546.826 0, 1019423.71 776545.675 0, 1019138.089 776544.54 0,
+ 1018852.468 776543.422 0, 1018566.847 776542.32 0, 1018281.226 776541.236 0, 1017995.605 776540.168 0, 1017709.983 776539.118 0, 1017424.362 776538.084 0, 1017138.741 776537.067 0, 1016853.119 776536.066 0, 1016567.498 776535.083 0, 1016281.876 776534.116 0,
+ 1015996.254 776533.166 0, 1015710.633 776532.233 0, 1015425.011 776531.317 0, 1015139.389 776530.417 0, 1014853.767 776529.535 0, 1014568.145 776528.669 0, 1014282.523 776527.82 0, 1013996.901 776526.987 0, 1013709.899 776526.168 0, 1013694.152 782100.056 0,
+ 1013678.404 787674.18 0, 1013964.747 787674.997 0, 1014249.712 787675.827 0, 1014534.678 787676.674 0, 1014819.644 787677.538 0, 1015104.61 787678.419 0, 1015389.575 787679.316 0, 1015674.541 787680.231 0, 1015959.507 787681.162 0, 1016244.472 787682.109 0,
+ 1016529.438 787683.074 0, 1016814.403 787684.055 0, 1017099.368 787685.053 0, 1017384.334 787686.068 0, 1017669.299 787687.099 0, 1017954.264 787688.148 0, 1018239.229 787689.213 0, 1018524.194 787690.295 0, 1018809.159 787691.394 0, 1019094.124 787692.509 0,
+ 1019379.089 787693.641 0, 1019664.054 787694.79 0, 1019949.018 787695.956 0, 1020233.983 787697.139 0, 1020517.572 787698.332 0, 1020803.912 787699.554 0, 1021088.876 787700.787 0, 1021373.841 787702.036 0, 1021658.805 787703.303 0, 1021943.769 787704.586 0,
+ 1022228.733 787705.886 0, 1022513.697 787707.203 0, 1022798.661 787708.536 0, 1023083.625 787709.887 0, 1023368.589 787711.254 0, 1023653.553 787712.637 0, 1023938.516 787714.038 0, 1024223.48 787715.455 0, 1024508.443 787716.889 0, 1024793.407 787718.34 0,
+ 1025078.37 787719.808 0, 1025363.333 787721.292 0, 1025648.296 787722.794 0, 1025933.259 787724.312 0, 1026218.222 787725.846 0, 1026503.185 787727.398 0, 1026788.148 787728.966 0, 1027073.111 787730.551 0, 1027356.699 787732.145 0, 1027388.195 782158.088 0,
+ 1027419.689 776584.267 0))
+
+POLYGON ((1041034.775 787828.755 0, 1040751.191 787826.36 0, 1040466.234 787823.969 0, 1040181.276 787821.596 0, 1039896.319 787819.239 0, 1039611.362 787816.9 0, 1039326.404 787814.577 0, 1039041.446 787812.27 0, 1038756.488 787809.981 0, 1038471.53 787807.708 0,
+ 1038186.572 787805.452 0, 1037901.614 787803.213 0, 1037616.655 787800.99 0, 1037331.697 787798.785 0, 1037046.738 787796.596 0, 1036761.779 787794.424 0, 1036476.82 787792.268 0, 1036191.861 787790.13 0, 1035906.902 787788.008 0, 1035621.943 787785.903 0,
+ 1035336.983 787783.815 0, 1035052.024 787781.743 0, 1034767.064 787779.689 0, 1034482.104 787777.651 0, 1034195.771 787775.62 0, 1033912.185 787773.625 0, 1033627.224 787771.637 0, 1033342.264 787769.667 0, 1033057.304 787767.713 0, 1032772.343 787765.775 0,
+ 1032487.383 787763.855 0, 1032202.422 787761.951 0, 1031917.461 787760.064 0, 1031632.5 787758.194 0, 1031347.539 787756.34 0, 1031062.578 787754.504 0, 1030777.617 787752.684 0, 1030492.655 787750.881 0, 1030207.694 787749.094 0, 1029922.732 787747.325 0,
+ 1029637.77 787745.572 0, 1029352.809 787743.836 0, 1029067.847 787742.117 0, 1028782.885 787740.414 0, 1028497.923 787738.728 0, 1028212.96 787737.059 0, 1027927.998 787735.407 0, 1027643.036 787733.772 0, 1027356.699 787732.145 0, 1027325.202 793306.435 0,
+ 1027293.703 798880.954 0, 1027579.381 798882.576 0, 1027863.687 798884.208 0, 1028147.993 798885.856 0, 1028432.299 798887.521 0, 1028716.605 798889.203 0, 1029000.911 798890.902 0, 1029285.217 798892.617 0, 1029569.522 798894.349 0, 1029853.828 798896.098 0,
+ 1030138.133 798897.863 0, 1030422.438 798899.646 0, 1030706.744 798901.445 0, 1030991.049 798903.26 0, 1031275.354 798905.093 0, 1031559.658 798906.942 0, 1031843.963 798908.808 0, 1032128.268 798910.69 0, 1032412.572 798912.59 0, 1032696.877 798914.506 0,
+ 1032981.181 798916.439 0, 1033265.485 798918.388 0, 1033549.789 798920.355 0, 1033834.093 798922.338 0, 1034117.027 798924.328 0, 1034402.701 798926.354 0, 1034687.005 798928.387 0, 1034971.308 798930.437 0, 1035255.611 798932.504 0, 1035539.915 798934.587 0,
+ 1035824.218 798936.688 0, 1036108.521 798938.804 0, 1036392.824 798940.938 0, 1036677.126 798943.088 0, 1036961.429 798945.256 0, 1037245.731 798947.439 0, 1037530.034 798949.64 0, 1037814.336 798951.857 0, 1038098.638 798954.091 0, 1038382.94 798956.342 0,
+ 1038667.242 798958.61 0, 1038951.544 798960.894 0, 1039235.845 798963.195 0, 1039520.147 798965.513 0, 1039804.448 798967.847 0, 1040088.749 798970.198 0, 1040373.05 798972.566 0, 1040657.351 798974.951 0, 1040940.283 798977.34 0, 1040987.53 793402.933 0,
+ 1041034.775 787828.755 0))
+
+POLYGON ((1054586.535 799112.281 0, 1054303.609 799109.092 0, 1054019.316 799105.904 0, 1053735.023 799102.733 0, 1053450.73 799099.579 0, 1053166.436 799096.441 0, 1052882.142 799093.32 0, 1052597.848 799090.216 0, 1052313.554 799087.128 0, 1052029.26 799084.058 0,
+ 1051744.966 799081.004 0, 1051460.671 799077.967 0, 1051176.376 799074.946 0, 1050892.081 799071.942 0, 1050607.786 799068.955 0, 1050323.491 799065.985 0, 1050039.195 799063.031 0, 1049754.899 799060.095 0, 1049470.603 799057.174 0, 1049186.307 799054.271 0,
+ 1048902.011 799051.384 0, 1048617.715 799048.514 0, 1048333.418 799045.661 0, 1048049.121 799042.825 0, 1047763.457 799039.992 0, 1047480.527 799037.202 0, 1047196.23 799034.416 0, 1046911.933 799031.646 0, 1046627.635 799028.894 0, 1046343.338 799026.158 0,
+ 1046059.04 799023.438 0, 1045774.742 799020.736 0, 1045490.444 799018.05 0, 1045206.145 799015.381 0, 1044921.847 799012.728 0, 1044637.548 799010.093 0, 1044353.249 799007.474 0, 1044068.95 799004.872 0, 1043784.651 799002.286 0, 1043500.352 798999.717 0,
+ 1043216.052 798997.166 0, 1042931.753 798994.63 0, 1042647.453 798992.112 0, 1042363.153 798989.61 0, 1042078.853 798987.125 0, 1041794.553 798984.657 0, 1041510.253 798982.205 0, 1041225.952 798979.77 0, 1040940.283 798977.34 0, 1040893.033 804551.973 0,
+ 1040845.782 810126.827 0, 1041130.793 810129.251 0, 1041414.437 810131.681 0, 1041698.081 810134.126 0, 1041981.725 810136.589 0, 1042265.369 810139.068 0, 1042549.012 810141.564 0, 1042832.656 810144.077 0, 1043116.299 810146.606 0, 1043399.942 810149.153 0,
+ 1043683.585 810151.715 0, 1043967.228 810154.295 0, 1044250.871 810156.891 0, 1044534.513 810159.504 0, 1044818.156 810162.133 0, 1045101.798 810164.78 0, 1045385.44 810167.443 0, 1045669.082 810170.122 0, 1045952.724 810172.819 0, 1046236.366 810175.532 0,
+ 1046520.007 810178.261 0, 1046803.648 810181.008 0, 1047087.29 810183.771 0, 1047370.931 810186.551 0, 1047653.207 810189.334 0, 1047938.212 810192.16 0, 1048221.853 810194.99 0, 1048505.493 810197.837 0, 1048789.133 810200.7 0, 1049072.773 810203.58 0,
+ 1049356.413 810206.477 0, 1049640.053 810209.39 0, 1049923.692 810212.32 0, 1050207.331 810215.267 0, 1050490.971 810218.23 0, 1050774.609 810221.211 0, 1051058.248 810224.207 0, 1051341.887 810227.221 0, 1051625.525 810230.251 0, 1051909.164 810233.298 0,
+ 1052192.802 810236.362 0, 1052476.44 810239.442 0, 1052760.077 810242.539 0, 1053043.715 810245.653 0, 1053327.352 810248.783 0, 1053610.989 810251.93 0, 1053894.626 810255.094 0, 1054178.263 810258.275 0, 1054460.536 810261.456 0, 1054523.537 804686.758 0,
+ 1054586.535 799112.281 0))
+
+POLYGON ((1068074.855 810434.549 0, 1067792.59 810430.57 0, 1067508.963 810426.588 0, 1067225.336 810422.623 0, 1066941.709 810418.674 0, 1066658.082 810414.743 0, 1066374.454 810410.828 0, 1066090.826 810406.929 0, 1065807.198 810403.048 0, 1065523.57 810399.183 0,
+ 1065239.942 810395.335 0, 1064956.313 810391.503 0, 1064672.684 810387.688 0, 1064389.055 810383.89 0, 1064105.425 810380.109 0, 1063821.796 810376.344 0, 1063538.166 810372.596 0, 1063254.536 810368.864 0, 1062970.905 810365.15 0, 1062687.275 810361.452 0,
+ 1062403.644 810357.77 0, 1062120.013 810354.106 0, 1061836.382 810350.458 0, 1061552.751 810346.827 0, 1061267.757 810343.195 0, 1060985.487 810339.614 0, 1060701.855 810336.033 0, 1060418.223 810332.469 0, 1060134.591 810328.921 0, 1059850.958 810325.39 0,
+ 1059567.325 810321.875 0, 1059283.692 810318.378 0, 1059000.059 810314.897 0, 1058716.425 810311.433 0, 1058432.792 810307.985 0, 1058149.158 810304.554 0, 1057865.524 810301.14 0, 1057581.89 810297.742 0, 1057298.255 810294.362 0, 1057014.62 810290.997 0,
+ 1056730.986 810287.65 0, 1056447.35 810284.319 0, 1056163.715 810281.005 0, 1055880.08 810277.708 0, 1055596.444 810274.427 0, 1055312.808 810271.163 0, 1055029.172 810267.916 0, 1054745.536 810264.686 0, 1054460.536 810261.456 0, 1054397.533 815836.373 0,
+ 1054334.527 821411.503 0, 1054618.867 821414.725 0, 1054901.847 821417.948 0, 1055184.827 821421.188 0, 1055467.807 821424.444 0, 1055750.786 821427.717 0, 1056033.765 821431.007 0, 1056316.744 821434.313 0, 1056599.723 821437.637 0, 1056882.702 821440.976 0,
+ 1057165.68 821444.333 0, 1057448.658 821447.706 0, 1057731.636 821451.095 0, 1058014.614 821454.501 0, 1058297.592 821457.924 0, 1058580.569 821461.364 0, 1058863.546 821464.82 0, 1059146.523 821468.293 0, 1059429.5 821471.783 0, 1059712.477 821475.289 0,
+ 1059995.453 821478.812 0, 1060278.429 821482.351 0, 1060561.405 821485.908 0, 1060844.381 821489.48 0, 1061125.997 821493.053 0, 1061410.332 821496.676 0, 1061693.307 821500.299 0, 1061976.282 821503.938 0, 1062259.256 821507.595 0, 1062542.231 821511.267 0,
+ 1062825.205 821514.957 0, 1063108.179 821518.663 0, 1063391.153 821522.386 0, 1063674.127 821526.125 0, 1063957.1 821529.881 0, 1064240.073 821533.654 0, 1064523.046 821537.443 0, 1064806.019 821541.249 0, 1065088.991 821545.072 0, 1065371.964 821548.911 0,
+ 1065654.936 821552.767 0, 1065937.907 821556.64 0, 1066220.879 821560.529 0, 1066503.85 821564.435 0, 1066786.821 821568.358 0, 1067069.792 821572.297 0, 1067352.763 821576.253 0, 1067635.733 821580.225 0, 1067917.345 821584.196 0, 1067996.102 816009.265 0,
+ 1068074.855 810434.549 0))
+
+POLYGON ((1081499.622 821795.261 0, 1081218.02 821790.495 0, 1080935.062 821785.723 0, 1080652.104 821780.968 0, 1080369.145 821776.229 0, 1080086.186 821771.507 0, 1079803.227 821766.802 0, 1079520.267 821762.113 0, 1079237.308 821757.441 0, 1078954.348 821752.786 0,
+ 1078671.387 821748.147 0, 1078388.427 821743.525 0, 1078105.466 821738.919 0, 1077822.505 821734.33 0, 1077539.544 821729.758 0, 1077256.582 821725.203 0, 1076973.62 821720.664 0, 1076690.658 821716.142 0, 1076407.695 821711.636 0, 1076124.733 821707.147 0,
+ 1075841.77 821702.675 0, 1075558.807 821698.22 0, 1075275.843 821693.781 0, 1074992.879 821689.358 0, 1074708.558 821684.932 0, 1074426.951 821680.564 0, 1074143.986 821676.192 0, 1073861.022 821671.836 0, 1073578.057 821667.497 0, 1073295.091 821663.175 0,
+ 1073012.126 821658.869 0, 1072729.16 821654.58 0, 1072446.194 821650.308 0, 1072163.228 821646.052 0, 1071880.261 821641.813 0, 1071597.294 821637.59 0, 1071314.327 821633.385 0, 1071031.36 821629.196 0, 1070748.392 821625.023 0, 1070465.425 821620.867 0,
+ 1070182.457 821616.728 0, 1069899.488 821612.606 0, 1069616.52 821608.5 0, 1069333.551 821604.411 0, 1069050.582 821600.338 0, 1068767.613 821596.282 0, 1068484.643 821592.243 0, 1068201.674 821588.221 0, 1067917.345 821584.196 0, 1067838.586 827159.337 0,
+ 1067759.824 832734.685 0, 1068043.493 832738.7 0, 1068325.806 832742.714 0, 1068608.119 832746.743 0, 1068890.432 832750.79 0, 1069172.745 832754.853 0, 1069455.057 832758.933 0, 1069737.37 832763.029 0, 1070019.682 832767.142 0, 1070301.993 832771.271 0,
+ 1070584.305 832775.417 0, 1070866.616 832779.58 0, 1071148.927 832783.76 0, 1071431.238 832787.956 0, 1071713.548 832792.168 0, 1071995.859 832796.397 0, 1072278.169 832800.643 0, 1072560.478 832804.906 0, 1072842.788 832809.185 0, 1073125.097 832813.48 0,
+ 1073407.406 832817.793 0, 1073689.715 832822.122 0, 1073972.024 832826.467 0, 1074254.332 832830.829 0, 1074535.286 832835.187 0, 1074818.947 832839.604 0, 1075101.255 832844.016 0, 1075383.562 832848.444 0, 1075665.869 832852.889 0, 1075948.176 832857.351 0,
+ 1076230.482 832861.83 0, 1076512.788 832866.325 0, 1076795.094 832870.836 0, 1077077.4 832875.365 0, 1077359.705 832879.91 0, 1077642.01 832884.471 0, 1077924.315 832889.049 0, 1078206.62 832893.644 0, 1078488.924 832898.256 0, 1078771.228 832902.884 0,
+ 1079053.532 832907.528 0, 1079335.835 832912.189 0, 1079618.138 832916.867 0, 1079900.441 832921.562 0, 1080182.744 832926.273 0, 1080465.046 832931.001 0, 1080747.348 832935.745 0, 1081029.65 832940.506 0, 1081310.599 832945.26 0, 1081405.112 827370.157 0,
+ 1081499.622 821795.261 0))
+
+POLYGON ((1094860.725 833194.119 0, 1094579.789 833188.571 0, 1094297.501 833183.012 0, 1094015.214 833177.47 0, 1093732.926 833171.945 0, 1093450.638 833166.436 0, 1093168.349 833160.944 0, 1092886.06 833155.469 0, 1092603.771 833150.01 0, 1092321.482 833144.568 0,
+ 1092039.192 833139.142 0, 1091756.902 833133.734 0, 1091474.611 833128.341 0, 1091192.321 833122.965 0, 1090910.029 833117.606 0, 1090627.738 833112.264 0, 1090345.446 833106.938 0, 1090063.154 833101.629 0, 1089780.862 833096.336 0, 1089498.569 833091.06 0,
+ 1089216.276 833085.801 0, 1088933.983 833080.558 0, 1088651.69 833075.332 0, 1088369.396 833070.122 0, 1088085.75 833064.904 0, 1087804.807 833059.753 0, 1087522.512 833054.593 0, 1087240.217 833049.45 0, 1086957.922 833044.324 0, 1086675.626 833039.214 0,
+ 1086393.33 833034.121 0, 1086111.034 833029.044 0, 1085828.737 833023.984 0, 1085546.44 833018.941 0, 1085264.143 833013.914 0, 1084981.846 833008.904 0, 1084699.548 833003.91 0, 1084417.25 832998.933 0, 1084134.951 832993.973 0, 1083852.653 832989.029 0,
+ 1083570.354 832984.102 0, 1083288.054 832979.191 0, 1083005.755 832974.298 0, 1082723.455 832969.42 0, 1082441.155 832964.56 0, 1082158.855 832959.716 0, 1081876.554 832954.888 0, 1081594.253 832950.078 0, 1081310.599 832945.26 0, 1081216.082 838520.567 0,
+ 1081121.562 844096.073 0, 1081404.557 844100.879 0, 1081686.201 844105.678 0, 1081967.846 844110.494 0, 1082249.49 844115.327 0, 1082531.134 844120.177 0, 1082812.777 844125.042 0, 1083094.42 844129.925 0, 1083376.063 844134.824 0, 1083657.706 844139.74 0,
+ 1083939.348 844144.672 0, 1084220.99 844149.621 0, 1084502.632 844154.586 0, 1084784.274 844159.568 0, 1085065.915 844164.566 0, 1085347.556 844169.582 0, 1085629.196 844174.613 0, 1085910.837 844179.661 0, 1086192.477 844184.726 0, 1086474.116 844189.808 0,
+ 1086755.756 844194.906 0, 1087037.395 844200.02 0, 1087319.034 844205.151 0, 1087600.672 844210.299 0, 1087880.962 844215.439 0, 1088163.948 844220.644 0, 1088445.586 844225.842 0, 1088727.223 844231.056 0, 1089008.86 844236.286 0, 1089290.497 844241.534 0,
+ 1089572.133 844246.797 0, 1089853.769 844252.078 0, 1090135.405 844257.374 0, 1090417.04 844262.688 0, 1090698.675 844268.018 0, 1090980.31 844273.365 0, 1091261.944 844278.728 0, 1091543.579 844284.108 0, 1091825.212 844289.504 0, 1092106.846 844294.917 0,
+ 1092388.479 844300.346 0, 1092670.112 844305.793 0, 1092951.745 844311.255 0, 1093233.377 844316.734 0, 1093515.009 844322.23 0, 1093796.64 844327.743 0, 1094078.272 844333.272 0, 1094359.903 844338.817 0, 1094640.186 844344.353 0, 1094750.457 838769.136 0,
+ 1094860.725 833194.119 0))
+
+POLYGON ((1108158.054 844630.824 0, 1107877.785 844624.497 0, 1107596.171 844618.156 0, 1107314.557 844611.831 0, 1107032.942 844605.523 0, 1106751.327 844599.232 0, 1106469.711 844592.957 0, 1106188.095 844586.698 0, 1105906.479 844580.457 0, 1105624.862 844574.231 0,
+ 1105343.245 844568.023 0, 1105061.627 844561.831 0, 1104780.009 844555.655 0, 1104498.391 844549.497 0, 1104216.773 844543.354 0, 1103935.154 844537.229 0, 1103653.535 844531.119 0, 1103371.915 844525.027 0, 1103090.295 844518.951 0, 1102808.675 844512.892 0,
+ 1102527.054 844506.849 0, 1102245.433 844500.822 0, 1101963.811 844494.813 0, 1101682.19 844488.82 0, 1101399.221 844482.815 0, 1101118.945 844476.883 0, 1100837.322 844470.94 0, 1100555.699 844465.013 0, 1100274.075 844459.103 0, 1099992.452 844453.209 0,
+ 1099710.827 844447.332 0, 1099429.203 844441.472 0, 1099147.578 844435.628 0, 1098865.953 844429.8 0, 1098584.327 844423.99 0, 1098302.701 844418.195 0, 1098021.075 844412.418 0, 1097739.448 844406.657 0, 1097457.821 844400.912 0, 1097176.194 844395.184 0,
+ 1096894.566 844389.473 0, 1096612.938 844383.778 0, 1096331.31 844378.1 0, 1096049.681 844372.439 0, 1095768.052 844366.794 0, 1095486.423 844361.165 0, 1095204.793 844355.553 0, 1094923.164 844349.958 0, 1094640.186 844344.353 0, 1094529.91 849919.765 0,
+ 1094419.631 855495.369 0, 1094701.95 855500.962 0, 1094982.923 855506.544 0, 1095263.896 855512.143 0, 1095544.869 855517.758 0, 1095825.842 855523.39 0, 1096106.814 855529.038 0, 1096387.786 855534.703 0, 1096668.758 855540.385 0, 1096949.729 855546.083 0,
+ 1097230.7 855551.797 0, 1097511.671 855557.528 0, 1097792.641 855563.276 0, 1098073.611 855569.04 0, 1098354.581 855574.821 0, 1098635.55 855580.618 0, 1098916.519 855586.432 0, 1099197.488 855592.262 0, 1099478.456 855598.109 0, 1099759.424 855603.972 0,
+ 1100040.391 855609.852 0, 1100321.359 855615.749 0, 1100602.325 855621.662 0, 1100883.292 855627.591 0, 1101162.915 855633.509 0, 1101445.224 855639.5 0, 1101726.189 855645.479 0, 1102007.154 855651.475 0, 1102288.119 855657.487 0, 1102569.084 855663.515 0,
+ 1102850.048 855669.561 0, 1103131.011 855675.623 0, 1103411.975 855681.701 0, 1103692.938 855687.796 0, 1103973.9 855693.907 0, 1104254.863 855700.035 0, 1104535.825 855706.18 0, 1104816.786 855712.341 0, 1105097.747 855718.518 0, 1105378.708 855724.712 0,
+ 1105659.668 855730.923 0, 1105940.629 855737.15 0, 1106221.588 855743.394 0, 1106502.548 855749.654 0, 1106783.507 855755.931 0, 1107064.465 855762.224 0, 1107345.423 855768.534 0, 1107626.381 855774.861 0, 1107905.997 855781.173 0, 1108032.027 850205.903 0,
+ 1108158.054 844630.824 0))
+
+POLYGON ((1121391.501 856105.077 0, 1121111.902 856097.975 0, 1120830.963 856090.855 0, 1120550.024 856083.751 0, 1120269.084 856076.664 0, 1119988.144 856069.594 0, 1119707.204 856062.54 0, 1119426.263 856055.502 0, 1119145.321 856048.481 0, 1118864.38 856041.477 0,
+ 1118583.437 856034.489 0, 1118302.495 856027.518 0, 1118021.552 856020.563 0, 1117740.608 856013.625 0, 1117459.665 856006.703 0, 1117178.72 855999.798 0, 1116897.776 855992.909 0, 1116616.831 855986.037 0, 1116335.885 855979.181 0, 1116054.939 855972.342 0,
+ 1115773.993 855965.52 0, 1115493.047 855958.714 0, 1115212.099 855951.924 0, 1114931.152 855945.152 0, 1114648.863 855938.363 0, 1114369.256 855931.655 0, 1114088.307 855924.932 0, 1113807.358 855918.225 0, 1113526.409 855911.535 0, 1113245.459 855904.861 0,
+ 1112964.509 855898.204 0, 1112683.558 855891.564 0, 1112402.607 855884.94 0, 1112121.656 855878.332 0, 1111840.704 855871.741 0, 1111559.752 855865.167 0, 1111278.799 855858.609 0, 1110997.846 855852.067 0, 1110716.893 855845.543 0, 1110435.939 855839.034 0,
+ 1110154.985 855832.542 0, 1109874.031 855826.067 0, 1109593.076 855819.609 0, 1109312.121 855813.166 0, 1109031.165 855806.741 0, 1108750.209 855800.332 0, 1108469.253 855793.939 0, 1108188.296 855787.563 0, 1107905.997 855781.173 0, 1107779.962 861356.632 0,
+ 1107653.922 866932.275 0, 1107935.562 866938.65 0, 1108215.863 866945.011 0, 1108496.163 866951.389 0, 1108776.462 866957.783 0, 1109056.761 866964.194 0, 1109337.06 866970.621 0, 1109617.359 866977.065 0, 1109897.657 866983.525 0, 1110177.955 866990.001 0,
+ 1110458.252 866996.494 0, 1110738.549 867003.004 0, 1111018.846 867009.53 0, 1111299.142 867016.073 0, 1111579.438 867022.632 0, 1111859.733 867029.207 0, 1112140.028 867035.799 0, 1112420.323 867042.408 0, 1112700.617 867049.033 0, 1112980.911 867055.675 0,
+ 1113261.205 867062.333 0, 1113541.498 867069.007 0, 1113821.791 867075.698 0, 1114102.083 867082.406 0, 1114381.037 867089.098 0, 1114662.667 867095.871 0, 1114942.958 867102.628 0, 1115223.248 867109.401 0, 1115503.539 867116.191 0, 1115783.829 867122.998 0,
+ 1116064.118 867129.821 0, 1116344.407 867136.66 0, 1116624.696 867143.517 0, 1116904.984 867150.389 0, 1117185.272 867157.278 0, 1117465.56 867164.184 0, 1117745.847 867171.106 0, 1118026.134 867178.044 0, 1118306.42 867184.999 0, 1118586.706 867191.971 0,
+ 1118866.991 867198.959 0, 1119147.277 867205.963 0, 1119427.561 867212.984 0, 1119707.845 867220.022 0, 1119988.129 867227.076 0, 1120268.413 867234.146 0, 1120548.696 867241.233 0, 1120828.978 867248.337 0, 1121107.924 867255.423 0, 1121249.715 861680.158 0,
+ 1121391.501 856105.077 0))
+
+POLYGON ((1134560.958 867616.579 0, 1134282.032 867608.705 0, 1134001.771 867600.81 0, 1133721.509 867592.931 0, 1133441.246 867585.069 0, 1133160.984 867577.223 0, 1132880.72 867569.393 0, 1132600.457 867561.58 0, 1132320.192 867553.784 0, 1132039.928 867546.004 0,
+ 1131759.663 867538.241 0, 1131479.397 867530.494 0, 1131199.131 867522.764 0, 1130918.865 867515.05 0, 1130638.598 867507.352 0, 1130358.331 867499.672 0, 1130078.063 867492.007 0, 1129797.794 867484.359 0, 1129517.526 867476.728 0, 1129237.257 867469.113 0,
+ 1128956.987 867461.515 0, 1128676.717 867453.933 0, 1128396.446 867446.367 0, 1128116.176 867438.818 0, 1127834.569 867431.25 0, 1127555.632 867423.77 0, 1127275.36 867416.271 0, 1126995.087 867408.788 0, 1126714.814 867401.321 0, 1126434.541 867393.871 0,
+ 1126154.267 867386.438 0, 1125873.992 867379.021 0, 1125593.717 867371.621 0, 1125313.442 867364.237 0, 1125033.166 867356.869 0, 1124752.89 867349.518 0, 1124472.613 867342.184 0, 1124192.336 867334.866 0, 1123912.059 867327.564 0, 1123631.781 867320.279 0,
+ 1123351.502 867313.011 0, 1123071.224 867305.759 0, 1122790.945 867298.523 0, 1122510.665 867291.304 0, 1122230.385 867284.102 0, 1121950.104 867276.916 0, 1121669.823 867269.746 0, 1121389.542 867262.593 0, 1121107.924 867255.423 0, 1120966.128 872830.869 0,
+ 1120824.328 878406.491 0, 1121105.287 878413.645 0, 1121384.912 878420.781 0, 1121664.537 878427.934 0, 1121944.161 878435.103 0, 1122223.785 878442.289 0, 1122503.408 878449.491 0, 1122783.031 878456.709 0, 1123062.653 878463.944 0, 1123342.275 878471.196 0,
+ 1123621.897 878478.464 0, 1123901.518 878485.748 0, 1124181.139 878493.049 0, 1124460.759 878500.366 0, 1124740.379 878507.7 0, 1125019.998 878515.05 0, 1125299.617 878522.417 0, 1125579.236 878529.8 0, 1125858.854 878537.199 0, 1126138.472 878544.615 0,
+ 1126418.089 878552.048 0, 1126697.706 878559.497 0, 1126977.322 878566.962 0, 1127256.938 878574.444 0, 1127535.221 878581.907 0, 1127816.169 878589.457 0, 1128095.784 878596.988 0, 1128375.398 878604.536 0, 1128655.011 878612.1 0, 1128934.625 878619.681 0,
+ 1129214.238 878627.278 0, 1129493.85 878634.891 0, 1129773.462 878642.521 0, 1130053.073 878650.168 0, 1130332.685 878657.831 0, 1130612.295 878665.51 0, 1130891.905 878673.206 0, 1131171.515 878680.918 0, 1131451.124 878688.647 0, 1131730.733 878696.392 0,
+ 1132010.341 878704.154 0, 1132289.949 878711.932 0, 1132569.557 878719.726 0, 1132849.164 878727.537 0, 1133128.77 878735.365 0, 1133408.376 878743.209 0, 1133687.982 878751.069 0, 1133967.587 878758.946 0, 1134245.86 878766.802 0, 1134403.412 873191.602 0,
+ 1134560.958 867616.579 0))
+
+POLYGON ((1147666.321 879165.029 0, 1147388.068 879156.387 0, 1147108.487 879147.72 0, 1146828.904 879139.07 0, 1146549.322 879130.436 0, 1146269.738 879121.819 0, 1145990.155 879113.218 0, 1145710.57 879104.633 0, 1145430.986 879096.065 0, 1145151.4 879087.514 0,
+ 1144871.815 879078.979 0, 1144592.228 879070.46 0, 1144312.641 879061.958 0, 1144033.054 879053.472 0, 1143753.466 879045.003 0, 1143473.878 879036.55 0, 1143194.289 879028.114 0, 1142914.7 879019.694 0, 1142635.11 879011.29 0, 1142355.52 879002.903 0,
+ 1142075.929 878994.533 0, 1141796.338 878986.179 0, 1141516.746 878977.841 0, 1141237.154 878969.52 0, 1140956.231 878961.176 0, 1140677.968 878952.927 0, 1140398.374 878944.655 0, 1140118.78 878936.4 0, 1139839.185 878928.161 0, 1139559.59 878919.939 0,
+ 1139279.995 878911.733 0, 1139000.398 878903.543 0, 1138720.802 878895.37 0, 1138441.205 878887.214 0, 1138161.607 878879.073 0, 1137882.009 878870.95 0, 1137602.411 878862.842 0, 1137322.812 878854.752 0, 1137043.212 878846.677 0, 1136763.612 878838.619 0,
+ 1136484.012 878830.578 0, 1136204.411 878822.553 0, 1135924.81 878814.545 0, 1135645.208 878806.553 0, 1135365.605 878798.577 0, 1135086.003 878790.618 0, 1134806.399 878782.675 0, 1134526.796 878774.749 0, 1134245.86 878766.802 0, 1134088.304 884342.174 0,
+ 1133930.742 889917.716 0, 1134211.018 889925.645 0, 1134489.966 889933.553 0, 1134768.913 889941.477 0, 1135047.859 889949.417 0, 1135326.805 889957.374 0, 1135605.751 889965.347 0, 1135884.696 889973.337 0, 1136163.64 889981.343 0, 1136442.584 889989.366 0,
+ 1136721.528 889997.405 0, 1137000.471 890005.46 0, 1137279.414 890013.532 0, 1137558.356 890021.62 0, 1137837.298 890029.725 0, 1138116.239 890037.846 0, 1138395.18 890045.983 0, 1138674.12 890054.137 0, 1138953.06 890062.307 0, 1139231.999 890070.494 0,
+ 1139510.938 890078.697 0, 1139789.877 890086.917 0, 1140068.815 890095.153 0, 1140347.752 890103.405 0, 1140625.362 890111.634 0, 1140905.625 890119.959 0, 1141184.561 890128.261 0, 1141463.497 890136.579 0, 1141742.432 890144.913 0, 1142021.366 890153.264 0,
+ 1142300.3 890161.631 0, 1142579.234 890170.015 0, 1142858.167 890178.415 0, 1143137.099 890186.832 0, 1143416.031 890195.265 0, 1143694.963 890203.714 0, 1143973.894 890212.18 0, 1144252.824 890220.662 0, 1144531.754 890229.161 0, 1144810.684 890237.676 0,
+ 1145089.613 890246.207 0, 1145368.541 890254.755 0, 1145647.469 890263.32 0, 1145926.397 890271.9 0, 1146205.324 890280.497 0, 1146484.25 890289.111 0, 1146763.176 890297.741 0, 1147042.102 890306.387 0, 1147319.701 890315.009 0, 1147493.013 884739.934 0,
+ 1147666.321 879165.029 0))
+
+POLYGON ((1160707.483 890750.126 0, 1160429.908 890740.72 0, 1160151.008 890731.286 0, 1159872.107 890721.868 0, 1159593.206 890712.466 0, 1159314.305 890703.081 0, 1159035.402 890693.713 0, 1158756.5 890684.36 0, 1158477.596 890675.024 0, 1158198.693 890665.705 0,
+ 1157919.788 890656.402 0, 1157640.883 890647.115 0, 1157361.978 890637.845 0, 1157083.072 890628.591 0, 1156804.165 890619.354 0, 1156525.258 890610.133 0, 1156246.351 890600.928 0, 1155967.443 890591.74 0, 1155688.534 890582.568 0, 1155409.625 890573.413 0,
+ 1155130.715 890564.274 0, 1154851.805 890555.152 0, 1154572.894 890546.046 0, 1154293.982 890536.956 0, 1154013.746 890527.84 0, 1153736.158 890518.826 0, 1153457.245 890509.786 0, 1153178.332 890500.762 0, 1152899.417 890491.754 0, 1152620.503 890482.763 0,
+ 1152341.588 890473.788 0, 1152062.672 890464.83 0, 1151783.756 890455.888 0, 1151504.839 890446.962 0, 1151225.922 890438.053 0, 1150947.004 890429.161 0, 1150668.086 890420.285 0, 1150389.167 890411.425 0, 1150110.248 890402.581 0, 1149831.328 890393.754 0,
+ 1149552.408 890384.944 0, 1149273.487 890376.15 0, 1148994.566 890367.372 0, 1148715.644 890358.611 0, 1148436.721 890349.866 0, 1148157.798 890341.137 0, 1147878.875 890332.425 0, 1147599.951 890323.729 0, 1147319.701 890315.009 0, 1147146.383 895890.249 0,
+ 1146973.06 901465.651 0, 1147252.651 901474.351 0, 1147530.919 901483.026 0, 1147809.186 901491.717 0, 1148087.453 901500.425 0, 1148365.719 901509.15 0, 1148643.984 901517.89 0, 1148922.249 901526.647 0, 1149200.514 901535.421 0, 1149478.778 901544.211 0,
+ 1149757.041 901553.017 0, 1150035.304 901561.84 0, 1150313.567 901570.679 0, 1150591.829 901579.534 0, 1150870.09 901588.406 0, 1151148.351 901597.294 0, 1151426.612 901606.198 0, 1151704.872 901615.119 0, 1151983.131 901624.056 0, 1152261.39 901633.01 0,
+ 1152539.648 901641.98 0, 1152817.906 901650.966 0, 1153096.163 901659.969 0, 1153374.42 901668.988 0, 1153651.354 901677.981 0, 1153930.932 901687.076 0, 1154209.187 901696.144 0, 1154487.441 901705.228 0, 1154765.695 901714.329 0, 1155043.949 901723.447 0,
+ 1155322.202 901732.581 0, 1155600.454 901741.731 0, 1155878.706 901750.897 0, 1156156.957 901760.08 0, 1156435.208 901769.279 0, 1156713.458 901778.495 0, 1156991.708 901787.727 0, 1157269.957 901796.976 0, 1157548.206 901806.24 0, 1157826.454 901815.521 0,
+ 1158104.702 901824.819 0, 1158382.949 901834.133 0, 1158661.195 901843.463 0, 1158939.441 901852.81 0, 1159217.686 901862.173 0, 1159495.931 901871.552 0, 1159774.175 901880.948 0, 1160052.419 901890.36 0, 1160329.342 901899.744 0, 1160518.415 896324.854 0,
+ 1160707.483 890750.126 0))
+
+POLYGON ((1173684.343 902371.57 0, 1173407.446 902361.404 0, 1173129.23 902351.205 0, 1172851.014 902341.023 0, 1172572.796 902330.858 0, 1172294.579 902320.709 0, 1172016.36 902310.576 0, 1171738.141 902300.46 0, 1171459.922 902290.36 0, 1171181.702 902280.276 0,
+ 1170903.481 902270.209 0, 1170625.259 902260.158 0, 1170347.038 902250.124 0, 1170068.815 902240.106 0, 1169790.592 902230.104 0, 1169512.368 902220.118 0, 1169234.144 902210.149 0, 1168955.919 902200.197 0, 1168677.694 902190.261 0, 1168399.467 902180.341 0,
+ 1168121.241 902170.437 0, 1167843.014 902160.55 0, 1167564.786 902150.68 0, 1167286.557 902140.825 0, 1167007.009 902130.941 0, 1166730.099 902121.166 0, 1166451.869 902111.36 0, 1166173.638 902101.572 0, 1165895.407 902091.799 0, 1165617.175 902082.043 0,
+ 1165338.943 902072.303 0, 1165060.71 902062.58 0, 1164782.476 902052.873 0, 1164504.242 902043.182 0, 1164226.007 902033.508 0, 1163947.772 902023.85 0, 1163669.536 902014.209 0, 1163391.3 902004.584 0, 1163113.063 901994.975 0, 1162834.825 901985.383 0,
+ 1162556.587 901975.807 0, 1162278.348 901966.247 0, 1162000.109 901956.704 0, 1161721.869 901947.177 0, 1161443.629 901937.667 0, 1161165.388 901928.173 0, 1160887.147 901918.695 0, 1160608.905 901909.234 0, 1160329.342 901899.744 0, 1160140.263 907474.792 0,
+ 1159951.178 913049.993 0, 1160230.082 913059.46 0, 1160507.668 913068.899 0, 1160785.253 913078.354 0, 1161062.838 913087.826 0, 1161340.422 913097.314 0, 1161618.005 913106.819 0, 1161895.588 913116.339 0, 1162173.171 913125.876 0, 1162450.753 913135.43 0,
+ 1162728.334 913144.999 0, 1163005.915 913154.585 0, 1163283.495 913164.188 0, 1163561.074 913173.806 0, 1163838.653 913183.441 0, 1164116.232 913193.093 0, 1164393.81 913202.761 0, 1164671.387 913212.445 0, 1164948.964 913222.145 0, 1165226.54 913231.862 0,
+ 1165504.115 913241.595 0, 1165781.69 913251.344 0, 1166059.265 913261.11 0, 1166336.839 913270.892 0, 1166613.096 913280.644 0, 1166891.985 913290.505 0, 1167169.557 913300.336 0, 1167447.128 913310.184 0, 1167724.699 913320.048 0, 1168002.27 913329.928 0,
+ 1168279.839 913339.824 0, 1168557.409 913349.737 0, 1168834.977 913359.666 0, 1169112.545 913369.611 0, 1169390.113 913379.573 0, 1169667.68 913389.551 0, 1169945.246 913399.546 0, 1170222.812 913409.557 0, 1170500.377 913419.584 0, 1170777.941 913429.627 0,
+ 1171055.505 913439.687 0, 1171333.069 913449.763 0, 1171610.631 913459.856 0, 1171888.194 913469.965 0, 1172165.755 913480.09 0, 1172443.316 913490.231 0, 1172720.876 913500.389 0, 1172998.436 913510.563 0, 1173274.68 913520.705 0, 1173479.515 907946.061 0,
+ 1173684.343 902371.57 0))
+
+POLYGON ((1186596.799 914029.058 0, 1186320.583 914018.135 0, 1186043.053 914007.177 0, 1185765.522 913996.235 0, 1185487.991 913985.309 0, 1185210.459 913974.4 0, 1184932.927 913963.507 0, 1184655.393 913952.63 0, 1184377.86 913941.77 0, 1184100.325 913930.926 0,
+ 1183822.79 913920.098 0, 1183545.254 913909.287 0, 1183267.718 913898.492 0, 1182990.181 913887.714 0, 1182712.644 913876.951 0, 1182435.105 913866.205 0, 1182157.567 913855.476 0, 1181880.027 913844.762 0, 1181602.487 913834.066 0, 1181324.946 913823.385 0,
+ 1181047.405 913812.721 0, 1180769.863 913802.073 0, 1180492.32 913791.441 0, 1180214.777 913780.826 0, 1179935.919 913770.177 0, 1179659.689 913759.644 0, 1179382.144 913749.078 0, 1179104.598 913738.528 0, 1178827.051 913727.995 0, 1178549.504 913717.477 0,
+ 1178271.957 913706.977 0, 1177994.409 913696.492 0, 1177716.86 913686.024 0, 1177439.31 913675.572 0, 1177161.76 913665.136 0, 1176884.21 913654.717 0, 1176606.658 913644.314 0, 1176329.106 913633.928 0, 1176051.554 913623.557 0, 1175774.001 913613.204 0,
+ 1175496.447 913602.866 0, 1175218.893 913592.545 0, 1174941.338 913582.24 0, 1174663.782 913571.951 0, 1174386.226 913561.679 0, 1174108.669 913551.423 0, 1173831.112 913541.184 0, 1173553.554 913530.961 0, 1173274.68 913520.705 0, 1173069.84 919095.5 0,
+ 1172864.995 924670.441 0, 1173143.21 924680.672 0, 1173420.111 924690.871 0, 1173697.012 924701.086 0, 1173973.913 924711.318 0, 1174250.813 924721.566 0, 1174527.712 924731.83 0, 1174804.611 924742.11 0, 1175081.509 924752.407 0, 1175358.406 924762.72 0,
+ 1175635.303 924773.05 0, 1175912.2 924783.395 0, 1176189.095 924793.757 0, 1176465.99 924804.136 0, 1176742.885 924814.53 0, 1177019.779 924824.941 0, 1177296.672 924835.368 0, 1177573.564 924845.812 0, 1177850.456 924856.272 0, 1178127.348 924866.748 0,
+ 1178404.238 924877.24 0, 1178681.129 924887.749 0, 1178958.018 924898.274 0, 1179234.907 924908.815 0, 1179510.484 924919.323 0, 1179788.683 924929.946 0, 1180065.57 924940.537 0, 1180342.456 924951.143 0, 1180619.342 924961.766 0, 1180896.227 924972.405 0,
+ 1181173.112 924983.06 0, 1181449.996 924993.732 0, 1181726.879 925004.42 0, 1182003.762 925015.124 0, 1182280.644 925025.844 0, 1182557.525 925036.581 0, 1182834.406 925047.334 0, 1183111.286 925058.104 0, 1183388.165 925068.89 0, 1183665.044 925079.692 0,
+ 1183941.923 925090.51 0, 1184218.8 925101.344 0, 1184495.677 925112.195 0, 1184772.553 925123.063 0, 1185049.429 925133.946 0, 1185326.304 925144.846 0, 1185603.178 925155.762 0, 1185880.052 925166.694 0, 1186155.615 925177.591 0, 1186376.21 919603.251 0,
+ 1186596.799 914029.058 0))
+
+POLYGON ((1199444.75 925722.288 0, 1199169.216 925710.612 0, 1198892.375 925698.898 0, 1198615.532 925687.2 0, 1198338.689 925675.518 0, 1198061.845 925663.852 0, 1197785.001 925652.202 0, 1197508.156 925640.569 0, 1197231.31 925628.953 0, 1196954.463 925617.352 0,
+ 1196677.616 925605.768 0, 1196400.768 925594.2 0, 1196123.919 925582.648 0, 1195847.07 925571.113 0, 1195570.22 925559.594 0, 1195293.37 925548.091 0, 1195016.518 925536.605 0, 1194739.666 925525.135 0, 1194462.814 925513.681 0, 1194185.96 925502.243 0,
+ 1193909.106 925490.822 0, 1193632.252 925479.417 0, 1193355.396 925468.029 0, 1193078.54 925456.656 0, 1192800.375 925445.246 0, 1192524.826 925433.96 0, 1192247.968 925422.637 0, 1191971.11 925411.33 0, 1191694.25 925400.039 0, 1191417.39 925388.764 0,
+ 1191140.53 925377.506 0, 1190863.668 925366.264 0, 1190586.806 925355.038 0, 1190309.944 925343.829 0, 1190033.08 925332.636 0, 1189756.216 925321.459 0, 1189479.352 925310.298 0, 1189202.486 925299.154 0, 1188925.62 925288.026 0, 1188648.754 925276.914 0,
+ 1188371.887 925265.819 0, 1188095.019 925254.74 0, 1187818.15 925243.677 0, 1187541.281 925232.631 0, 1187264.411 925221.601 0, 1186987.541 925210.587 0, 1186710.669 925199.589 0, 1186433.798 925188.608 0, 1186155.615 925177.591 0, 1185935.015 930752.073 0,
+ 1185714.409 936326.693 0, 1185991.932 936337.684 0, 1186268.148 936348.639 0, 1186544.363 936359.611 0, 1186820.577 936370.598 0, 1187096.791 936381.602 0, 1187373.004 936392.623 0, 1187649.216 936403.659 0, 1187925.428 936414.712 0, 1188201.639 936425.781 0,
+ 1188477.849 936436.866 0, 1188754.059 936447.968 0, 1189030.268 936459.086 0, 1189306.477 936470.22 0, 1189582.684 936481.37 0, 1189858.892 936492.537 0, 1190135.098 936503.72 0, 1190411.304 936514.919 0, 1190687.509 936526.134 0, 1190963.713 936537.366 0,
+ 1191239.917 936548.614 0, 1191516.12 936559.878 0, 1191792.323 936571.158 0, 1192068.525 936582.455 0, 1192343.42 936593.714 0, 1192620.926 936605.097 0, 1192897.126 936616.442 0, 1193173.325 936627.804 0, 1193449.524 936639.182 0, 1193725.722 936650.576 0,
+ 1194001.919 936661.986 0, 1194278.115 936673.413 0, 1194554.311 936684.856 0, 1194830.506 936696.315 0, 1195106.701 936707.791 0, 1195382.895 936719.282 0, 1195659.088 936730.79 0, 1195935.28 936742.315 0, 1196211.472 936753.855 0, 1196487.663 936765.412 0,
+ 1196763.853 936776.985 0, 1197040.043 936788.574 0, 1197316.232 936800.18 0, 1197592.42 936811.801 0, 1197868.608 936823.439 0, 1198144.795 936835.094 0, 1198420.981 936846.764 0, 1198697.167 936858.451 0, 1198972.047 936870.099 0, 1199208.402 931296.124 0,
+ 1199444.75 925722.288 0))
+
+POLYGON ((1212228.097 937450.957 0, 1211953.249 937438.533 0, 1211677.097 937426.066 0, 1211400.945 937413.615 0, 1211124.792 937401.181 0, 1210848.638 937388.762 0, 1210572.484 937376.36 0, 1210296.329 937363.975 0, 1210020.173 937351.605 0, 1209744.016 937339.252 0,
+ 1209467.859 937326.915 0, 1209191.701 937314.594 0, 1208915.542 937302.29 0, 1208639.383 937290.002 0, 1208363.223 937277.73 0, 1208087.062 937265.474 0, 1207810.9 937253.234 0, 1207534.738 937241.011 0, 1207258.574 937228.804 0, 1206982.411 937216.614 0,
+ 1206706.246 937204.439 0, 1206430.081 937192.281 0, 1206153.915 937180.139 0, 1205877.748 937168.013 0, 1205600.277 937155.847 0, 1205325.413 937143.811 0, 1205049.244 937131.734 0, 1204773.074 937119.673 0, 1204496.904 937107.629 0, 1204220.733 937095.601 0,
+ 1203944.562 937083.589 0, 1203668.389 937071.593 0, 1203392.216 937059.614 0, 1203116.042 937047.65 0, 1202839.868 937035.704 0, 1202563.693 937023.773 0, 1202287.517 937011.859 0, 1202011.34 936999.96 0, 1201735.163 936988.079 0, 1201458.985 936976.213 0,
+ 1201182.806 936964.364 0, 1200906.627 936952.531 0, 1200630.447 936940.714 0, 1200354.266 936928.913 0, 1200078.085 936917.129 0, 1199801.902 936905.361 0, 1199525.72 936893.609 0, 1199249.536 936881.873 0, 1198972.047 936870.099 0, 1198735.688 942444.208 0,
+ 1198499.322 948018.447 0, 1198776.152 948030.193 0, 1199051.679 948041.901 0, 1199327.206 948053.625 0, 1199602.732 948065.365 0, 1199878.257 948077.121 0, 1200153.782 948088.894 0, 1200429.305 948100.683 0, 1200704.829 948112.488 0, 1200980.351 948124.309 0,
+ 1201255.873 948136.146 0, 1201531.394 948148 0, 1201806.915 948159.87 0, 1202082.434 948171.756 0, 1202357.953 948183.658 0, 1202633.472 948195.577 0, 1202908.989 948207.511 0, 1203184.506 948219.462 0, 1203460.022 948231.429 0, 1203735.538 948243.413 0,
+ 1204011.053 948255.412 0, 1204286.567 948267.428 0, 1204562.08 948279.46 0, 1204837.593 948291.508 0, 1205111.805 948303.516 0, 1205388.616 948315.653 0, 1205664.127 948327.75 0, 1205939.637 948339.863 0, 1206215.146 948351.993 0, 1206490.654 948364.138 0,
+ 1206766.162 948376.3 0, 1207041.669 948388.478 0, 1207317.175 948400.672 0, 1207592.681 948412.882 0, 1207868.185 948425.109 0, 1208143.69 948437.352 0, 1208419.193 948449.611 0, 1208694.696 948461.886 0, 1208970.197 948474.178 0, 1209245.699 948486.485 0,
+ 1209521.199 948498.809 0, 1209796.699 948511.149 0, 1210072.198 948523.506 0, 1210347.696 948535.878 0, 1210623.194 948548.267 0, 1210898.691 948560.672 0, 1211174.187 948573.093 0, 1211449.682 948585.53 0, 1211723.878 948597.925 0, 1211975.99 943024.376 0,
+ 1212228.097 937450.957 0))
+
+POLYGON ((1224946.744 949214.763 0, 1224672.582 949201.594 0, 1224397.123 949188.378 0, 1224121.663 949175.179 0, 1223846.202 949161.995 0, 1223570.741 949148.828 0, 1223295.278 949135.678 0, 1223019.815 949122.543 0, 1222744.352 949109.425 0, 1222468.887 949096.322 0,
+ 1222193.422 949083.236 0, 1221917.956 949070.167 0, 1221642.489 949057.113 0, 1221367.021 949044.076 0, 1221091.553 949031.055 0, 1220816.083 949018.05 0, 1220540.614 949005.061 0, 1220265.143 948992.089 0, 1219989.671 948979.132 0, 1219714.199 948966.192 0,
+ 1219438.726 948953.268 0, 1219163.252 948940.361 0, 1218887.778 948927.469 0, 1218612.303 948914.594 0, 1218335.529 948901.675 0, 1218061.35 948888.892 0, 1217785.872 948876.066 0, 1217510.394 948863.256 0, 1217234.915 948850.461 0, 1216959.435 948837.684 0,
+ 1216683.954 948824.922 0, 1216408.473 948812.176 0, 1216132.991 948799.447 0, 1215857.508 948786.734 0, 1215582.025 948774.037 0, 1215306.54 948761.357 0, 1215031.055 948748.692 0, 1214755.57 948736.044 0, 1214480.083 948723.412 0, 1214204.596 948710.796 0,
+ 1213929.108 948698.197 0, 1213653.619 948685.613 0, 1213378.129 948673.046 0, 1213102.639 948660.495 0, 1212827.148 948647.961 0, 1212551.656 948635.442 0, 1212276.164 948622.94 0, 1212000.671 948610.454 0, 1211723.878 948597.925 0, 1211471.759 954171.601 0,
+ 1211219.636 959745.398 0, 1211495.769 959757.897 0, 1211770.606 959770.353 0, 1212045.443 959782.826 0, 1212320.278 959795.314 0, 1212595.113 959807.819 0, 1212869.947 959820.34 0, 1213144.781 959832.878 0, 1213419.613 959845.431 0, 1213694.445 959858 0,
+ 1213969.277 959870.586 0, 1214244.107 959883.188 0, 1214518.937 959895.806 0, 1214793.766 959908.44 0, 1215068.594 959921.091 0, 1215343.421 959933.757 0, 1215618.248 959946.44 0, 1215893.074 959959.139 0, 1216167.899 959971.854 0, 1216442.724 959984.586 0,
+ 1216717.547 959997.333 0, 1216992.37 960010.097 0, 1217267.193 960022.876 0, 1217542.014 960035.672 0, 1217815.54 960048.424 0, 1218091.655 960061.313 0, 1218366.474 960074.158 0, 1218641.292 960087.018 0, 1218916.11 960099.895 0, 1219190.927 960112.788 0,
+ 1219465.743 960125.697 0, 1219740.559 960138.623 0, 1220015.373 960151.564 0, 1220290.187 960164.522 0, 1220565 960177.496 0, 1220839.813 960190.486 0, 1221114.624 960203.492 0, 1221389.435 960216.515 0, 1221664.245 960229.554 0, 1221939.054 960242.608 0,
+ 1222213.863 960255.679 0, 1222488.671 960268.766 0, 1222763.478 960281.87 0, 1223038.284 960294.989 0, 1223313.089 960308.125 0, 1223587.894 960321.277 0, 1223862.698 960334.445 0, 1224137.501 960347.629 0, 1224411.01 960360.767 0, 1224678.88 954787.704 0,
+ 1224946.744 949214.763 0))
+
+POLYGON ((1237600.593 961013.402 0, 1237327.12 960999.491 0, 1237052.355 960985.53 0, 1236777.59 960971.586 0, 1236502.823 960957.658 0, 1236228.056 960943.746 0, 1235953.288 960929.85 0, 1235678.519 960915.97 0, 1235403.749 960902.107 0, 1235128.979 960888.26 0,
+ 1234854.208 960874.428 0, 1234579.436 960860.613 0, 1234304.663 960846.815 0, 1234029.889 960833.032 0, 1233755.114 960819.266 0, 1233480.339 960805.515 0, 1233205.563 960791.781 0, 1232930.786 960778.063 0, 1232656.008 960764.362 0, 1232381.229 960750.676 0,
+ 1232106.45 960737.007 0, 1231831.67 960723.353 0, 1231556.889 960709.716 0, 1231282.107 960696.095 0, 1231006.032 960682.427 0, 1230732.541 960668.902 0, 1230457.757 960655.33 0, 1230182.972 960641.774 0, 1229908.186 960628.233 0, 1229633.399 960614.71 0,
+ 1229358.612 960601.202 0, 1229083.823 960587.71 0, 1228809.034 960574.235 0, 1228534.245 960560.776 0, 1228259.454 960547.333 0, 1227984.663 960533.906 0, 1227709.871 960520.496 0, 1227435.078 960507.101 0, 1227160.284 960493.723 0, 1226885.489 960480.361 0,
+ 1226610.694 960467.015 0, 1226335.898 960453.685 0, 1226061.101 960440.371 0, 1225786.303 960427.074 0, 1225511.505 960413.793 0, 1225236.706 960400.528 0, 1224961.906 960387.279 0, 1224687.105 960374.046 0, 1224411.01 960360.767 0, 1224143.134 965933.949 0,
+ 1223875.253 971507.244 0, 1224150.689 971520.491 0, 1224424.834 971533.693 0, 1224698.978 971546.91 0, 1224973.121 971560.143 0, 1225247.263 971573.393 0, 1225521.405 971586.658 0, 1225795.546 971599.94 0, 1226069.686 971613.238 0, 1226343.825 971626.552 0,
+ 1226617.964 971639.882 0, 1226892.101 971653.229 0, 1227166.238 971666.591 0, 1227440.374 971679.97 0, 1227714.51 971693.365 0, 1227988.644 971706.776 0, 1228262.778 971720.203 0, 1228536.911 971733.646 0, 1228811.043 971747.105 0, 1229085.175 971760.581 0,
+ 1229359.305 971774.072 0, 1229633.435 971787.58 0, 1229907.564 971801.104 0, 1230181.692 971814.644 0, 1230454.53 971828.136 0, 1230729.946 971841.772 0, 1231004.072 971855.36 0, 1231278.197 971868.965 0, 1231552.321 971882.585 0, 1231826.445 971896.222 0,
+ 1232100.567 971909.875 0, 1232374.689 971923.544 0, 1232648.81 971937.229 0, 1232922.93 971950.931 0, 1233197.05 971964.648 0, 1233471.168 971978.382 0, 1233745.286 971992.131 0, 1234019.403 972005.897 0, 1234293.519 972019.679 0, 1234567.634 972033.477 0,
+ 1234841.749 972047.292 0, 1235115.863 972061.122 0, 1235389.975 972074.969 0, 1235664.088 972088.831 0, 1235938.199 972102.71 0, 1236212.309 972116.605 0, 1236486.419 972130.516 0, 1236760.528 972144.443 0, 1237033.347 972158.321 0, 1237316.973 966585.804 0,
+ 1237600.593 961013.402 0))
+
+POLYGON ((1250189.55 972846.569 0, 1249916.768 972831.92 0, 1249642.7 972817.219 0, 1249368.631 972802.533 0, 1249094.561 972787.864 0, 1248820.49 972773.211 0, 1248546.418 972758.574 0, 1248272.345 972743.953 0, 1247998.272 972729.348 0, 1247724.197 972714.76 0,
+ 1247450.122 972700.187 0, 1247176.046 972685.631 0, 1246901.969 972671.09 0, 1246627.891 972656.566 0, 1246353.812 972642.058 0, 1246079.733 972627.567 0, 1245805.652 972613.091 0, 1245531.571 972598.631 0, 1245257.489 972584.188 0, 1244983.406 972569.761 0,
+ 1244709.322 972555.349 0, 1244435.238 972540.954 0, 1244161.152 972526.575 0, 1243887.066 972512.213 0, 1243611.692 972497.799 0, 1243338.891 972483.536 0, 1243064.802 972469.221 0, 1242790.712 972454.923 0, 1242516.622 972440.641 0, 1242242.53 972426.375 0,
+ 1241968.438 972412.125 0, 1241694.345 972397.891 0, 1241420.251 972383.674 0, 1241146.156 972369.472 0, 1240872.061 972355.287 0, 1240597.964 972341.118 0, 1240323.867 972326.965 0, 1240049.769 972312.828 0, 1239775.67 972298.707 0, 1239501.57 972284.602 0,
+ 1239227.47 972270.514 0, 1238953.368 972256.441 0, 1238679.266 972242.385 0, 1238405.163 972228.345 0, 1238131.059 972214.321 0, 1237856.955 972200.313 0, 1237582.849 972186.321 0, 1237308.743 972172.346 0, 1237033.347 972158.321 0, 1236749.716 977730.948 0,
+ 1236466.08 983303.681 0, 1236740.816 983317.672 0, 1237014.266 983331.614 0, 1237287.716 983345.573 0, 1237561.165 983359.547 0, 1237834.612 983373.537 0, 1238108.059 983387.544 0, 1238381.506 983401.567 0, 1238654.951 983415.605 0, 1238928.396 983429.66 0,
+ 1239201.839 983443.731 0, 1239475.282 983457.818 0, 1239748.724 983471.921 0, 1240022.166 983486.04 0, 1240295.606 983500.176 0, 1240569.046 983514.327 0, 1240842.485 983528.494 0, 1241115.922 983542.678 0, 1241389.36 983556.878 0, 1241662.796 983571.093 0,
+ 1241936.231 983585.325 0, 1242209.666 983599.573 0, 1242483.1 983613.837 0, 1242756.533 983628.117 0, 1243028.68 983642.346 0, 1243303.396 983656.726 0, 1243576.826 983671.054 0, 1243850.256 983685.399 0, 1244123.684 983699.759 0, 1244397.112 983714.136 0,
+ 1244670.539 983728.529 0, 1244943.965 983742.938 0, 1245217.391 983757.363 0, 1245490.815 983771.804 0, 1245764.239 983786.261 0, 1246037.662 983800.734 0, 1246311.083 983815.223 0, 1246584.504 983829.729 0, 1246857.925 983844.25 0, 1247131.344 983858.788 0,
+ 1247404.763 983873.342 0, 1247678.18 983887.911 0, 1247951.597 983902.497 0, 1248225.013 983917.099 0, 1248498.428 983931.717 0, 1248771.842 983946.352 0, 1249045.255 983961.002 0, 1249318.668 983975.668 0, 1249590.796 983990.282 0, 1249890.176 978418.372 0,
+ 1250189.55 972846.569 0))
+
+POLYGON ((1262713.521 984713.959 0, 1262441.433 984698.577 0, 1262168.063 984683.138 0, 1261894.692 984667.716 0, 1261621.32 984652.309 0, 1261347.948 984636.919 0, 1261074.574 984621.544 0, 1260801.2 984606.186 0, 1260527.824 984590.844 0, 1260254.448 984575.518 0,
+ 1259981.071 984560.208 0, 1259707.693 984544.914 0, 1259434.314 984529.636 0, 1259160.934 984514.374 0, 1258887.553 984499.128 0, 1258614.171 984483.899 0, 1258340.789 984468.685 0, 1258067.405 984453.488 0, 1257794.021 984438.307 0, 1257520.636 984423.142 0,
+ 1257247.25 984407.992 0, 1256973.863 984392.859 0, 1256700.475 984377.743 0, 1256427.086 984362.642 0, 1256152.414 984347.486 0, 1255880.306 984332.488 0, 1255606.914 984317.436 0, 1255333.522 984302.399 0, 1255060.129 984287.379 0, 1254786.734 984272.375 0,
+ 1254513.339 984257.386 0, 1254239.944 984242.414 0, 1253966.547 984227.458 0, 1253693.149 984212.518 0, 1253419.751 984197.595 0, 1253146.351 984182.687 0, 1252872.951 984167.795 0, 1252599.55 984152.92 0, 1252326.148 984138.06 0, 1252052.745 984123.217 0,
+ 1251779.341 984108.39 0, 1251505.936 984093.578 0, 1251232.531 984078.783 0, 1250959.124 984064.004 0, 1250685.717 984049.241 0, 1250412.309 984034.494 0, 1250138.9 984019.764 0, 1249865.49 984005.049 0, 1249590.796 983990.282 0, 1249291.412 989562.293 0,
+ 1248992.021 995134.403 0, 1249266.056 995149.135 0, 1249538.81 995163.815 0, 1249811.563 995178.51 0, 1250084.315 995193.221 0, 1250357.067 995207.949 0, 1250629.817 995222.692 0, 1250902.567 995237.452 0, 1251175.316 995252.228 0, 1251448.063 995267.019 0,
+ 1251720.81 995281.827 0, 1251993.557 995296.651 0, 1252266.302 995311.491 0, 1252539.046 995326.347 0, 1252811.79 995341.219 0, 1253084.532 995356.107 0, 1253357.274 995371.011 0, 1253630.015 995385.931 0, 1253902.755 995400.867 0, 1254175.494 995415.819 0,
+ 1254448.232 995430.788 0, 1254720.97 995445.772 0, 1254993.706 995460.772 0, 1255266.442 995475.789 0, 1255537.898 995490.751 0, 1255811.91 995505.87 0, 1256084.643 995520.934 0, 1256357.375 995536.015 0, 1256630.107 995551.112 0, 1256902.837 995566.225 0,
+ 1257175.566 995581.353 0, 1257448.295 995596.498 0, 1257721.022 995611.659 0, 1257993.749 995626.836 0, 1258266.475 995642.029 0, 1258539.2 995657.238 0, 1258811.924 995672.463 0, 1259084.647 995687.705 0, 1259357.369 995702.962 0, 1259630.091 995718.235 0,
+ 1259902.811 995733.524 0, 1260175.53 995748.83 0, 1260448.249 995764.151 0, 1260720.967 995779.489 0, 1260993.684 995794.842 0, 1261266.4 995810.212 0, 1261539.115 995825.598 0, 1261811.829 995840.999 0, 1262083.264 995856.345 0, 1262398.396 990285.103 0,
+ 1262713.521 984713.959 0))
+
+POLYGON ((1275172.416 996615.269 0, 1274901.022 996599.156 0, 1274628.353 996582.984 0, 1274355.682 996566.828 0, 1274083.011 996550.688 0, 1273810.338 996534.564 0, 1273537.665 996518.456 0, 1273264.991 996502.364 0, 1272992.316 996486.289 0, 1272719.64 996470.229 0,
+ 1272446.962 996454.185 0, 1272174.284 996438.157 0, 1271901.605 996422.146 0, 1271628.926 996406.15 0, 1271356.245 996390.171 0, 1271083.563 996374.207 0, 1270810.88 996358.26 0, 1270538.196 996342.328 0, 1270265.512 996326.413 0, 1269992.826 996310.514 0,
+ 1269720.14 996294.631 0, 1269447.452 996278.764 0, 1269174.764 996262.912 0, 1268902.075 996247.077 0, 1268628.108 996231.184 0, 1268356.693 996215.455 0, 1268084.001 996199.668 0, 1267811.308 996183.898 0, 1267538.614 996168.143 0, 1267265.919 996152.404 0,
+ 1266993.224 996136.681 0, 1266720.527 996120.975 0, 1266447.829 996105.284 0, 1266175.131 996089.609 0, 1265902.431 996073.951 0, 1265629.731 996058.308 0, 1265357.029 996042.682 0, 1265084.327 996027.072 0, 1264811.624 996011.477 0, 1264538.92 995995.899 0,
+ 1264266.215 995980.337 0, 1263993.509 995964.791 0, 1263720.802 995949.261 0, 1263448.094 995933.747 0, 1263175.386 995918.249 0, 1262902.676 995902.767 0, 1262629.966 995887.301 0, 1262357.254 995871.851 0, 1262083.264 995856.345 0, 1261768.128 1001427.68 0,
+ 1261452.986 1006999.106 0, 1261726.317 1007014.575 0, 1261998.373 1007029.988 0, 1262270.427 1007045.416 0, 1262542.481 1007060.861 0, 1262814.534 1007076.322 0, 1263086.586 1007091.798 0, 1263358.637 1007107.291 0, 1263630.687 1007122.8 0, 1263902.736 1007138.325 0,
+ 1264174.784 1007153.866 0, 1264446.832 1007169.422 0, 1264718.878 1007184.995 0, 1264990.924 1007200.584 0, 1265262.968 1007216.189 0, 1265535.012 1007231.81 0, 1265807.055 1007247.447 0, 1266079.097 1007263.099 0, 1266351.138 1007278.768 0, 1266623.178 1007294.453 0,
+ 1266895.217 1007310.154 0, 1267167.255 1007325.871 0, 1267439.292 1007341.604 0, 1267711.328 1007357.353 0, 1267982.09 1007373.044 0, 1268255.398 1007388.899 0, 1268527.432 1007404.696 0, 1268799.464 1007420.509 0, 1269071.496 1007436.338 0, 1269343.527 1007452.183 0,
+ 1269615.556 1007468.044 0, 1269887.585 1007483.921 0, 1270159.613 1007499.814 0, 1270431.64 1007515.723 0, 1270703.666 1007531.648 0, 1270975.691 1007547.589 0, 1271247.715 1007563.546 0, 1271519.739 1007579.52 0, 1271791.761 1007595.509 0, 1272063.782 1007611.514 0,
+ 1272335.803 1007627.535 0, 1272607.822 1007643.572 0, 1272879.841 1007659.625 0, 1273151.858 1007675.694 0, 1273423.875 1007691.78 0, 1273695.89 1007707.881 0, 1273967.905 1007723.998 0, 1274239.919 1007740.131 0, 1274510.66 1007756.205 0, 1274841.54 1002185.692 0,
+ 1275172.416 996615.269 0))
+
+POLYGON ((1287566.142 1008550.191 0, 1287295.446 1008533.352 0, 1287023.479 1008516.451 0, 1286751.51 1008499.565 0, 1286479.541 1008482.695 0, 1286207.571 1008465.842 0, 1285935.6 1008449.004 0, 1285663.628 1008432.183 0, 1285391.655 1008415.377 0, 1285119.681 1008398.587 0,
+ 1284847.706 1008381.814 0, 1284575.73 1008365.056 0, 1284303.753 1008348.315 0, 1284031.775 1008331.589 0, 1283759.796 1008314.88 0, 1283487.816 1008298.186 0, 1283215.835 1008281.509 0, 1282943.853 1008264.847 0, 1282671.87 1008248.201 0, 1282399.886 1008231.572 0,
+ 1282127.901 1008214.959 0, 1281855.916 1008198.361 0, 1281583.929 1008181.78 0, 1281311.941 1008165.214 0, 1281038.681 1008148.587 0, 1280767.962 1008132.131 0, 1280495.972 1008115.614 0, 1280223.98 1008099.112 0, 1279951.987 1008082.627 0, 1279679.994 1008066.157 0,
+ 1279407.999 1008049.704 0, 1279136.004 1008033.267 0, 1278864.007 1008016.845 0, 1278592.01 1008000.44 0, 1278320.011 1007984.051 0, 1278048.012 1007967.677 0, 1277776.011 1007951.32 0, 1277504.01 1007934.978 0, 1277232.008 1007918.653 0, 1276960.004 1007902.344 0,
+ 1276688 1007886.051 0, 1276415.995 1007869.773 0, 1276143.989 1007853.512 0, 1275871.982 1007837.267 0, 1275599.974 1007821.037 0, 1275327.965 1007804.824 0, 1275055.955 1007788.627 0, 1274783.944 1007772.446 0, 1274510.66 1007756.205 0, 1274179.774 1013326.804 0,
+ 1273848.883 1018897.484 0, 1274121.509 1018913.686 0, 1274392.864 1018929.828 0, 1274664.218 1018945.986 0, 1274935.571 1018962.16 0, 1275206.923 1018978.351 0, 1275478.275 1018994.557 0, 1275749.625 1019010.779 0, 1276020.975 1019027.017 0, 1276292.323 1019043.271 0,
+ 1276563.671 1019059.541 0, 1276835.017 1019075.827 0, 1277106.363 1019092.129 0, 1277377.708 1019108.447 0, 1277649.051 1019124.781 0, 1277920.394 1019141.13 0, 1278191.736 1019157.496 0, 1278463.077 1019173.878 0, 1278734.417 1019190.276 0, 1279005.755 1019206.69 0,
+ 1279277.093 1019223.119 0, 1279548.43 1019239.565 0, 1279819.766 1019256.027 0, 1280091.101 1019272.504 0, 1280361.167 1019288.921 0, 1280633.768 1019305.507 0, 1280905.101 1019322.033 0, 1281176.432 1019338.574 0, 1281447.762 1019355.132 0, 1281719.091 1019371.705 0,
+ 1281990.419 1019388.295 0, 1282261.746 1019404.9 0, 1282533.073 1019421.521 0, 1282804.398 1019438.159 0, 1283075.722 1019454.812 0, 1283347.046 1019471.481 0, 1283618.368 1019488.167 0, 1283889.689 1019504.868 0, 1284161.01 1019521.585 0, 1284432.329 1019538.318 0,
+ 1284703.647 1019555.067 0, 1284974.965 1019571.832 0, 1285246.281 1019588.613 0, 1285517.597 1019605.41 0, 1285788.911 1019622.223 0, 1286060.224 1019639.052 0, 1286331.537 1019655.897 0, 1286602.848 1019672.758 0, 1286872.892 1019689.556 0, 1287219.519 1014119.833 0,
+ 1287566.142 1008550.191 0))
+
+POLYGON ((1299894.611 1020518.42 0, 1299624.614 1020500.859 0, 1299353.351 1020483.232 0, 1299082.087 1020465.62 0, 1298810.823 1020448.025 0, 1298539.557 1020430.445 0, 1298268.29 1020412.882 0, 1297997.022 1020395.334 0, 1297725.753 1020377.803 0, 1297454.483 1020360.287 0,
+ 1297183.212 1020342.788 0, 1296911.94 1020325.304 0, 1296640.667 1020307.837 0, 1296369.393 1020290.385 0, 1296098.118 1020272.949 0, 1295826.841 1020255.529 0, 1295555.564 1020238.126 0, 1295284.286 1020220.738 0, 1295013.007 1020203.366 0, 1294741.727 1020186.01 0,
+ 1294470.445 1020168.67 0, 1294199.163 1020151.346 0, 1293927.88 1020134.038 0, 1293656.595 1020116.746 0, 1293384.044 1020099.389 0, 1293114.024 1020082.21 0, 1292842.736 1020064.966 0, 1292571.448 1020047.738 0, 1292300.158 1020030.525 0, 1292028.868 1020013.329 0,
+ 1291757.577 1019996.149 0, 1291486.284 1019978.985 0, 1291214.991 1019961.836 0, 1290943.696 1019944.704 0, 1290672.401 1019927.588 0, 1290401.104 1019910.487 0, 1290129.807 1019893.403 0, 1289858.508 1019876.334 0, 1289587.209 1019859.282 0, 1289315.908 1019842.245 0,
+ 1289044.607 1019825.225 0, 1288773.304 1019808.22 0, 1288502.001 1019791.231 0, 1288230.696 1019774.259 0, 1287959.391 1019757.302 0, 1287688.084 1019740.361 0, 1287416.777 1019723.436 0, 1287145.468 1019706.528 0, 1286872.892 1019689.556 0, 1286526.26 1025259.357 0,
+ 1286179.623 1030829.231 0, 1286451.541 1030846.162 0, 1286722.193 1030863.03 0, 1286992.845 1030879.914 0, 1287263.496 1030896.813 0, 1287534.146 1030913.729 0, 1287804.795 1030930.661 0, 1288075.443 1030947.608 0, 1288346.089 1030964.572 0, 1288616.735 1030981.551 0,
+ 1288887.38 1030998.547 0, 1289158.024 1031015.558 0, 1289428.667 1031032.585 0, 1289699.309 1031049.628 0, 1289969.95 1031066.687 0, 1290240.589 1031083.762 0, 1290511.228 1031100.853 0, 1290781.866 1031117.96 0, 1291052.503 1031135.083 0, 1291323.139 1031152.222 0,
+ 1291593.774 1031169.377 0, 1291864.407 1031186.547 0, 1292135.04 1031203.734 0, 1292405.672 1031220.936 0, 1292675.04 1031238.074 0, 1292946.932 1031255.389 0, 1293217.561 1031272.639 0, 1293488.189 1031289.905 0, 1293758.816 1031307.187 0, 1294029.441 1031324.485 0,
+ 1294300.066 1031341.799 0, 1294570.69 1031359.129 0, 1294841.312 1031376.475 0, 1295111.934 1031393.837 0, 1295382.554 1031411.214 0, 1295653.174 1031428.608 0, 1295923.792 1031446.017 0, 1296194.41 1031463.443 0, 1296465.026 1031480.884 0, 1296735.642 1031498.342 0,
+ 1297006.256 1031515.815 0, 1297276.87 1031533.304 0, 1297547.482 1031550.809 0, 1297818.093 1031568.33 0, 1298088.704 1031585.867 0, 1298359.313 1031603.42 0, 1298629.921 1031620.989 0, 1298900.528 1031638.573 0, 1299169.873 1031656.092 0, 1299532.244 1026087.219 0,
+ 1299894.611 1020518.42 0))
+
+POLYGON ((1312157.736 1032519.649 0, 1311888.439 1032501.37 0, 1311617.883 1032483.021 0, 1311347.325 1032464.687 0, 1311076.767 1032446.37 0, 1310806.207 1032428.069 0, 1310535.646 1032409.783 0, 1310265.084 1032391.514 0, 1309994.522 1032373.26 0, 1309723.958 1032355.022 0,
+ 1309453.393 1032336.801 0, 1309182.826 1032318.595 0, 1308912.259 1032300.405 0, 1308641.691 1032282.231 0, 1308371.122 1032264.073 0, 1308100.551 1032245.931 0, 1307829.98 1032227.804 0, 1307559.407 1032209.694 0, 1307288.834 1032191.6 0, 1307018.259 1032173.521 0,
+ 1306747.683 1032155.459 0, 1306477.106 1032137.412 0, 1306206.529 1032119.381 0, 1305935.95 1032101.367 0, 1305664.109 1032083.284 0, 1305394.789 1032065.385 0, 1305124.206 1032047.418 0, 1304853.623 1032029.467 0, 1304583.039 1032011.532 0, 1304312.454 1031993.613 0,
+ 1304041.868 1031975.709 0, 1303771.28 1031957.822 0, 1303500.692 1031939.951 0, 1303230.102 1031922.095 0, 1302959.512 1031904.256 0, 1302688.92 1031886.432 0, 1302418.328 1031868.624 0, 1302147.734 1031850.833 0, 1301877.139 1031833.057 0, 1301606.543 1031815.297 0,
+ 1301335.947 1031797.553 0, 1301065.349 1031779.825 0, 1300794.75 1031762.113 0, 1300524.15 1031744.416 0, 1300253.549 1031726.736 0, 1299982.947 1031709.072 0, 1299712.344 1031691.423 0, 1299441.74 1031673.791 0, 1299169.873 1031656.092 0, 1298807.497 1037225.034 0,
+ 1298445.117 1042794.041 0, 1298716.325 1042811.697 0, 1298986.274 1042829.286 0, 1299256.221 1042846.892 0, 1299526.168 1042864.514 0, 1299796.113 1042882.151 0, 1300066.058 1042899.804 0, 1300336.001 1042917.474 0, 1300605.943 1042935.159 0, 1300875.884 1042952.86 0,
+ 1301145.825 1042970.577 0, 1301415.764 1042988.309 0, 1301685.702 1043006.058 0, 1301955.639 1043023.823 0, 1302225.575 1043041.603 0, 1302495.51 1043059.4 0, 1302765.444 1043077.212 0, 1303035.377 1043095.04 0, 1303305.309 1043112.884 0, 1303575.24 1043130.744 0,
+ 1303845.169 1043148.62 0, 1304115.098 1043166.511 0, 1304385.026 1043184.419 0, 1304654.952 1043202.342 0, 1304923.621 1043220.198 0, 1305194.802 1043238.237 0, 1305464.726 1043256.208 0, 1305734.648 1043274.195 0, 1306004.57 1043292.198 0, 1306274.49 1043310.216 0,
+ 1306544.409 1043328.251 0, 1306814.327 1043346.302 0, 1307084.244 1043364.368 0, 1307354.16 1043382.45 0, 1307624.075 1043400.549 0, 1307893.989 1043418.663 0, 1308163.902 1043436.793 0, 1308433.813 1043454.939 0, 1308703.724 1043473.1 0, 1308973.634 1043491.278 0,
+ 1309243.542 1043509.471 0, 1309513.45 1043527.681 0, 1309783.356 1043545.906 0, 1310053.261 1043564.147 0, 1310323.166 1043582.404 0, 1310593.069 1043600.677 0, 1310862.971 1043618.966 0, 1311132.872 1043637.271 0, 1311401.516 1043655.506 0, 1311779.628 1038087.545 0,
+ 1312157.736 1032519.649 0))
+
+POLYGON ((1324355.429 1044553.572 0, 1324086.835 1044534.578 0, 1323816.987 1044515.511 0, 1323547.138 1044496.459 0, 1323277.287 1044477.424 0, 1323007.436 1044458.405 0, 1322737.583 1044439.401 0, 1322467.729 1044420.413 0, 1322197.874 1044401.441 0, 1321928.018 1044382.485 0,
+ 1321658.161 1044363.545 0, 1321388.303 1044344.621 0, 1321118.444 1044325.713 0, 1320848.583 1044306.82 0, 1320578.721 1044287.944 0, 1320308.859 1044269.083 0, 1320038.995 1044250.238 0, 1319769.13 1044231.409 0, 1319499.264 1044212.596 0, 1319229.397 1044193.799 0,
+ 1318959.528 1044175.018 0, 1318689.659 1044156.252 0, 1318419.789 1044137.503 0, 1318149.917 1044118.769 0, 1317878.789 1044099.965 0, 1317610.171 1044081.35 0, 1317340.296 1044062.664 0, 1317070.42 1044043.994 0, 1316800.543 1044025.339 0, 1316530.664 1044006.701 0,
+ 1316260.785 1043988.079 0, 1315990.905 1043969.472 0, 1315721.023 1043950.882 0, 1315451.141 1043932.307 0, 1315181.257 1043913.748 0, 1314911.372 1043895.205 0, 1314641.487 1043876.678 0, 1314371.6 1043858.167 0, 1314101.712 1043839.671 0, 1313831.823 1043821.192 0,
+ 1313561.932 1043802.728 0, 1313292.041 1043784.28 0, 1313022.149 1043765.849 0, 1312752.255 1043747.433 0, 1312482.361 1043729.033 0, 1312212.465 1043710.649 0, 1311942.568 1043692.28 0, 1311672.671 1043673.928 0, 1311401.516 1043655.506 0, 1311023.399 1049223.528 0,
+ 1310645.279 1054791.606 0, 1310915.776 1054809.983 0, 1311185.018 1054828.291 0, 1311454.259 1054846.614 0, 1311723.5 1054864.954 0, 1311992.739 1054883.309 0, 1312261.977 1054901.68 0, 1312531.214 1054920.068 0, 1312800.449 1054938.47 0, 1313069.684 1054956.889 0,
+ 1313338.918 1054975.324 0, 1313608.151 1054993.774 0, 1313877.382 1055012.24 0, 1314146.612 1055030.723 0, 1314415.842 1055049.221 0, 1314685.07 1055067.734 0, 1314954.297 1055086.264 0, 1315223.523 1055104.81 0, 1315492.748 1055123.371 0, 1315761.972 1055141.948 0,
+ 1316031.195 1055160.541 0, 1316300.417 1055179.15 0, 1316569.637 1055197.775 0, 1316838.857 1055216.415 0, 1317106.823 1055234.985 0, 1317377.292 1055253.744 0, 1317646.508 1055272.432 0, 1317915.724 1055291.136 0, 1318184.938 1055309.856 0, 1318454.15 1055328.592 0,
+ 1318723.362 1055347.343 0, 1318992.573 1055366.11 0, 1319261.783 1055384.894 0, 1319530.991 1055403.693 0, 1319800.198 1055422.508 0, 1320069.405 1055441.338 0, 1320338.61 1055460.185 0, 1320607.814 1055479.047 0, 1320877.017 1055497.926 0, 1321146.219 1055516.82 0,
+ 1321415.419 1055535.73 0, 1321684.619 1055554.655 0, 1321953.817 1055573.597 0, 1322223.015 1055592.554 0, 1322492.211 1055611.528 0, 1322761.406 1055630.517 0, 1323030.6 1055649.522 0, 1323299.793 1055668.543 0, 1323567.734 1055687.491 0, 1323961.583 1050120.503 0,
+ 1324355.429 1044553.572 0))
+
+POLYGON ((1336487.606 1056619.881 0, 1336219.717 1056600.176 0, 1335950.579 1056580.394 0, 1335681.44 1056560.629 0, 1335412.3 1056540.879 0, 1335143.158 1056521.146 0, 1334874.015 1056501.428 0, 1334604.872 1056481.725 0, 1334335.726 1056462.039 0, 1334066.58 1056442.369 0,
+ 1333797.433 1056422.714 0, 1333528.284 1056403.075 0, 1333259.135 1056383.453 0, 1332989.984 1056363.846 0, 1332720.832 1056344.254 0, 1332451.679 1056324.679 0, 1332182.524 1056305.119 0, 1331913.369 1056285.576 0, 1331644.212 1056266.048 0, 1331375.055 1056246.536 0,
+ 1331105.896 1056227.04 0, 1330836.736 1056207.559 0, 1330567.575 1056188.095 0, 1330298.412 1056168.646 0, 1330027.999 1056149.123 0, 1329760.084 1056129.797 0, 1329490.918 1056110.396 0, 1329221.752 1056091.01 0, 1328952.584 1056071.641 0, 1328683.414 1056052.287 0,
+ 1328414.244 1056032.95 0, 1328145.073 1056013.628 0, 1327875.9 1055994.322 0, 1327606.726 1055975.031 0, 1327337.551 1055955.757 0, 1327068.375 1055936.499 0, 1326799.198 1055917.256 0, 1326530.02 1055898.029 0, 1326260.841 1055878.818 0, 1325991.66 1055859.623 0,
+ 1325722.478 1055840.444 0, 1325453.296 1055821.28 0, 1325184.112 1055802.133 0, 1324914.927 1055783.001 0, 1324645.741 1055763.885 0, 1324376.553 1055744.785 0, 1324107.365 1055725.701 0, 1323838.175 1055706.632 0, 1323567.734 1055687.491 0, 1323173.881 1061254.531 0,
+ 1322780.024 1066821.619 0, 1323049.807 1066840.714 0, 1323318.342 1066859.736 0, 1323586.875 1066878.773 0, 1323855.407 1066897.827 0, 1324123.937 1066916.896 0, 1324392.467 1066935.982 0, 1324660.996 1066955.083 0, 1324929.523 1066974.199 0, 1325198.05 1066993.332 0,
+ 1325466.575 1067012.48 0, 1325735.099 1067031.645 0, 1326003.622 1067050.825 0, 1326272.144 1067070.02 0, 1326540.664 1067089.232 0, 1326809.184 1067108.46 0, 1327077.702 1067127.703 0, 1327346.22 1067146.962 0, 1327614.736 1067166.237 0, 1327883.251 1067185.527 0,
+ 1328151.765 1067204.834 0, 1328420.278 1067224.156 0, 1328688.789 1067243.494 0, 1328957.3 1067262.848 0, 1329224.562 1067282.128 0, 1329494.317 1067301.603 0, 1329762.824 1067321.004 0, 1330031.33 1067340.422 0, 1330299.835 1067359.854 0, 1330568.339 1067379.303 0,
+ 1330836.841 1067398.768 0, 1331105.342 1067418.248 0, 1331373.843 1067437.744 0, 1331642.342 1067457.256 0, 1331910.84 1067476.784 0, 1332179.336 1067496.327 0, 1332447.832 1067515.886 0, 1332716.326 1067535.462 0, 1332984.82 1067555.052 0, 1333253.312 1067574.659 0,
+ 1333521.803 1067594.282 0, 1333790.293 1067613.92 0, 1334058.781 1067633.574 0, 1334327.269 1067653.244 0, 1334595.755 1067672.93 0, 1334864.24 1067692.631 0, 1335132.724 1067712.349 0, 1335401.207 1067732.082 0, 1335668.444 1067751.739 0, 1336078.026 1062185.786 0,
+ 1336487.606 1056619.881 0))
+
+POLYGON ((1348554.183 1068718.268 0, 1348287.002 1068697.855 0, 1348018.576 1068677.364 0, 1347750.148 1068656.888 0, 1347481.72 1068636.428 0, 1347213.29 1068615.984 0, 1346944.859 1068595.555 0, 1346676.427 1068575.143 0, 1346407.994 1068554.746 0, 1346139.56 1068534.365 0,
+ 1345871.124 1068514 0, 1345602.687 1068493.65 0, 1345334.249 1068473.317 0, 1345065.81 1068452.999 0, 1344797.369 1068432.697 0, 1344528.928 1068412.411 0, 1344260.485 1068392.14 0, 1343992.041 1068371.886 0, 1343723.595 1068351.647 0, 1343455.149 1068331.424 0,
+ 1343186.701 1068311.217 0, 1342918.253 1068291.026 0, 1342649.803 1068270.85 0, 1342381.351 1068250.69 0, 1342111.655 1068230.453 0, 1341844.446 1068210.418 0, 1341575.991 1068190.306 0, 1341307.535 1068170.209 0, 1341039.078 1068150.128 0, 1340770.62 1068130.063 0,
+ 1340502.16 1068110.014 0, 1340233.699 1068089.981 0, 1339965.238 1068069.963 0, 1339696.775 1068049.961 0, 1339428.31 1068029.975 0, 1339159.845 1068010.005 0, 1338891.379 1067990.051 0, 1338622.911 1067970.112 0, 1338354.442 1067950.189 0, 1338085.972 1067930.283 0,
+ 1337817.501 1067910.391 0, 1337549.028 1067890.516 0, 1337280.555 1067870.656 0, 1337012.08 1067850.813 0, 1336743.604 1067830.985 0, 1336475.127 1067811.173 0, 1336206.649 1067791.376 0, 1335938.169 1067771.596 0, 1335668.444 1067751.739 0, 1335258.857 1073317.736 0,
+ 1334849.268 1078883.773 0, 1335118.336 1078903.581 0, 1335386.16 1078923.313 0, 1335653.983 1078943.061 0, 1335921.805 1078962.825 0, 1336189.626 1078982.604 0, 1336457.445 1079002.4 0, 1336725.264 1079022.211 0, 1336993.081 1079042.038 0, 1337260.897 1079061.88 0,
+ 1337528.712 1079081.739 0, 1337796.525 1079101.613 0, 1338064.338 1079121.503 0, 1338332.149 1079141.408 0, 1338599.959 1079161.33 0, 1338867.768 1079181.267 0, 1339135.576 1079201.22 0, 1339403.383 1079221.189 0, 1339671.188 1079241.173 0, 1339938.993 1079261.173 0,
+ 1340206.796 1079281.19 0, 1340474.598 1079301.221 0, 1340742.399 1079321.269 0, 1341010.198 1079341.332 0, 1341276.755 1079361.318 0, 1341545.794 1079381.506 0, 1341813.59 1079401.617 0, 1342081.385 1079421.743 0, 1342349.178 1079441.885 0, 1342616.971 1079462.043 0,
+ 1342884.762 1079482.217 0, 1343152.552 1079502.406 0, 1343420.341 1079522.611 0, 1343688.129 1079542.832 0, 1343955.915 1079563.069 0, 1344223.701 1079583.321 0, 1344491.485 1079603.589 0, 1344759.268 1079623.873 0, 1345027.05 1079644.173 0, 1345294.83 1079664.489 0,
+ 1345562.61 1079684.82 0, 1345830.388 1079705.167 0, 1346098.165 1079725.53 0, 1346365.941 1079745.908 0, 1346633.715 1079766.302 0, 1346901.489 1079786.712 0, 1347169.261 1079807.138 0, 1347437.032 1079827.58 0, 1347703.561 1079847.942 0, 1348128.874 1074283.085 0,
+ 1348554.183 1068718.268 0))
+
+POLYGON ((1360555.079 1080848.424 0, 1360288.606 1080827.308 0, 1360020.894 1080806.11 0, 1359753.181 1080784.928 0, 1359485.466 1080763.762 0, 1359217.75 1080742.611 0, 1358950.033 1080721.476 0, 1358682.315 1080700.357 0, 1358414.595 1080679.253 0, 1358146.874 1080658.166 0,
+ 1357879.152 1080637.094 0, 1357611.429 1080616.037 0, 1357343.704 1080594.997 0, 1357075.978 1080573.972 0, 1356808.251 1080552.963 0, 1356540.523 1080531.97 0, 1356272.793 1080510.993 0, 1356005.063 1080490.031 0, 1355737.331 1080469.085 0, 1355469.597 1080448.155 0,
+ 1355201.863 1080427.241 0, 1354934.127 1080406.342 0, 1354666.39 1080385.46 0, 1354398.652 1080364.592 0, 1354129.674 1080343.645 0, 1353863.172 1080322.906 0, 1353595.43 1080302.086 0, 1353327.687 1080281.282 0, 1353059.943 1080260.493 0, 1352792.197 1080239.721 0,
+ 1352524.451 1080218.964 0, 1352256.703 1080198.223 0, 1351988.953 1080177.498 0, 1351721.203 1080156.788 0, 1351453.451 1080136.095 0, 1351185.699 1080115.417 0, 1350917.945 1080094.754 0, 1350650.189 1080074.108 0, 1350382.433 1080053.477 0, 1350114.675 1080032.862 0,
+ 1349846.916 1080012.263 0, 1349579.156 1079991.68 0, 1349311.395 1079971.112 0, 1349043.632 1079950.56 0, 1348775.869 1079930.024 0, 1348508.104 1079909.504 0, 1348240.337 1079888.999 0, 1347972.57 1079868.51 0, 1347703.561 1079847.942 0, 1347278.246 1085412.835 0,
+ 1346852.929 1090977.758 0, 1347121.279 1090998.276 0, 1347388.391 1091018.714 0, 1347655.503 1091039.169 0, 1347922.612 1091059.639 0, 1348189.721 1091080.125 0, 1348456.829 1091100.627 0, 1348723.935 1091121.144 0, 1348991.04 1091141.677 0, 1349258.144 1091162.226 0,
+ 1349525.246 1091182.79 0, 1349792.348 1091203.37 0, 1350059.448 1091223.966 0, 1350326.547 1091244.578 0, 1350593.645 1091265.205 0, 1350860.741 1091285.849 0, 1351127.837 1091306.507 0, 1351394.931 1091327.182 0, 1351662.024 1091347.872 0, 1351929.116 1091368.578 0,
+ 1352196.206 1091389.3 0, 1352463.295 1091410.037 0, 1352730.383 1091430.79 0, 1352997.47 1091451.559 0, 1353263.32 1091472.248 0, 1353531.64 1091493.144 0, 1353798.723 1091513.96 0, 1354065.805 1091534.792 0, 1354332.886 1091555.639 0, 1354599.965 1091576.503 0,
+ 1354867.044 1091597.382 0, 1355134.121 1091618.276 0, 1355401.196 1091639.187 0, 1355668.271 1091660.113 0, 1355935.344 1091681.054 0, 1356202.416 1091702.012 0, 1356469.487 1091722.985 0, 1356736.557 1091743.974 0, 1357003.625 1091764.979 0, 1357270.692 1091785.999 0,
+ 1357537.758 1091807.035 0, 1357804.823 1091828.087 0, 1358071.886 1091849.155 0, 1358338.949 1091870.238 0, 1358606.01 1091891.337 0, 1358873.069 1091912.451 0, 1359140.128 1091933.582 0, 1359407.185 1091954.728 0, 1359673.006 1091975.792 0, 1360114.044 1086412.093 0,
+ 1360555.079 1080848.424 0))
+
+POLYGON ((1372490.213 1093010.041 0, 1372224.45 1092988.226 0, 1371957.454 1092966.325 0, 1371690.456 1092944.441 0, 1371423.457 1092922.572 0, 1371156.457 1092900.718 0, 1370889.455 1092878.88 0, 1370622.453 1092857.058 0, 1370355.448 1092835.252 0, 1370088.443 1092813.462 0,
+ 1369821.436 1092791.687 0, 1369554.428 1092769.928 0, 1369287.419 1092748.184 0, 1369020.409 1092726.457 0, 1368753.397 1092704.745 0, 1368486.384 1092683.049 0, 1368219.369 1092661.368 0, 1367952.354 1092639.703 0, 1367685.337 1092618.054 0, 1367418.319 1092596.421 0,
+ 1367151.299 1092574.803 0, 1366884.278 1092553.201 0, 1366617.256 1092531.615 0, 1366350.233 1092510.044 0, 1366081.975 1092488.39 0, 1365816.183 1092466.951 0, 1365549.156 1092445.427 0, 1365282.127 1092423.92 0, 1365015.098 1092402.428 0, 1364748.067 1092380.951 0,
+ 1364481.035 1092359.491 0, 1364214.001 1092338.046 0, 1363946.967 1092316.617 0, 1363679.931 1092295.204 0, 1363412.893 1092273.806 0, 1363145.855 1092252.424 0, 1362878.815 1092231.058 0, 1362611.774 1092209.708 0, 1362344.732 1092188.373 0, 1362077.689 1092167.054 0,
+ 1361810.644 1092145.751 0, 1361543.598 1092124.463 0, 1361276.551 1092103.191 0, 1361009.502 1092081.935 0, 1360742.452 1092060.694 0, 1360475.401 1092039.47 0, 1360208.349 1092018.261 0, 1359941.296 1091997.067 0, 1359673.006 1091975.792 0, 1359231.966 1097539.518 0,
+ 1358790.925 1103103.267 0, 1359058.556 1103124.49 0, 1359324.955 1103145.631 0, 1359591.352 1103166.788 0, 1359857.748 1103187.961 0, 1360124.143 1103209.149 0, 1360390.536 1103230.353 0, 1360656.929 1103251.573 0, 1360923.32 1103272.808 0, 1361189.71 1103294.059 0,
+ 1361456.098 1103315.326 0, 1361722.486 1103336.609 0, 1361988.872 1103357.907 0, 1362255.256 1103379.22 0, 1362521.64 1103400.55 0, 1362788.022 1103421.895 0, 1363054.403 1103443.256 0, 1363320.783 1103464.632 0, 1363587.162 1103486.025 0, 1363853.539 1103507.432 0,
+ 1364119.915 1103528.856 0, 1364386.29 1103550.295 0, 1364652.663 1103571.75 0, 1364919.035 1103593.221 0, 1365184.176 1103614.608 0, 1365451.776 1103636.209 0, 1365718.144 1103657.726 0, 1365984.511 1103679.26 0, 1366250.877 1103700.809 0, 1366517.242 1103722.373 0,
+ 1366783.605 1103743.954 0, 1367049.967 1103765.55 0, 1367316.328 1103787.161 0, 1367582.688 1103808.789 0, 1367849.046 1103830.432 0, 1368115.403 1103852.09 0, 1368381.759 1103873.765 0, 1368648.113 1103895.455 0, 1368914.466 1103917.16 0, 1369180.818 1103938.882 0,
+ 1369447.169 1103960.619 0, 1369713.518 1103982.372 0, 1369979.866 1104004.14 0, 1370246.213 1104025.924 0, 1370512.558 1104047.724 0, 1370778.902 1104069.54 0, 1371045.245 1104091.371 0, 1371311.587 1104113.218 0, 1371576.698 1104134.979 0, 1372033.456 1098572.499 0,
+ 1372490.213 1093010.041 0))
+
+POLYGON ((1384359.505 1105202.81 0, 1384094.455 1105180.299 0, 1383828.176 1105157.7 0, 1383561.896 1105135.116 0, 1383295.614 1105112.548 0, 1383029.332 1105089.996 0, 1382763.047 1105067.46 0, 1382496.762 1105044.939 0, 1382230.475 1105022.434 0, 1381964.187 1104999.944 0,
+ 1381697.898 1104977.47 0, 1381431.607 1104955.012 0, 1381165.315 1104932.57 0, 1380899.021 1104910.143 0, 1380632.727 1104887.732 0, 1380366.431 1104865.336 0, 1380100.133 1104842.957 0, 1379833.834 1104820.593 0, 1379567.534 1104798.244 0, 1379301.233 1104775.911 0,
+ 1379034.931 1104753.594 0, 1378768.627 1104731.293 0, 1378502.321 1104709.007 0, 1378236.015 1104686.737 0, 1377968.479 1104664.38 0, 1377703.398 1104642.244 0, 1377437.087 1104620.021 0, 1377170.775 1104597.814 0, 1376904.462 1104575.622 0, 1376638.148 1104553.446 0,
+ 1376371.832 1104531.286 0, 1376105.515 1104509.141 0, 1375839.197 1104487.012 0, 1375572.877 1104464.899 0, 1375306.556 1104442.801 0, 1375040.234 1104420.719 0, 1374773.911 1104398.653 0, 1374507.586 1104376.602 0, 1374241.26 1104354.567 0, 1373974.932 1104332.548 0,
+ 1373708.603 1104310.544 0, 1373442.273 1104288.556 0, 1373175.942 1104266.584 0, 1372909.61 1104244.628 0, 1372643.276 1104222.687 0, 1372376.941 1104200.762 0, 1372110.604 1104178.852 0, 1371844.266 1104156.958 0, 1371576.698 1104134.979 0, 1371119.938 1109697.477 0,
+ 1370663.177 1115259.989 0, 1370930.087 1115281.914 0, 1371195.77 1115303.754 0, 1371461.452 1115325.61 0, 1371727.132 1115347.481 0, 1371992.812 1115369.368 0, 1372258.489 1115391.27 0, 1372524.166 1115413.189 0, 1372789.841 1115435.122 0, 1373055.515 1115457.072 0,
+ 1373321.188 1115479.037 0, 1373586.859 1115501.018 0, 1373852.529 1115523.014 0, 1374118.198 1115545.026 0, 1374383.865 1115567.054 0, 1374649.532 1115589.097 0, 1374915.196 1115611.156 0, 1375180.86 1115633.231 0, 1375446.522 1115655.321 0, 1375712.183 1115677.427 0,
+ 1375977.843 1115699.548 0, 1376243.501 1115721.685 0, 1376509.158 1115743.838 0, 1376774.814 1115766.007 0, 1377039.243 1115788.088 0, 1377306.122 1115810.39 0, 1377571.774 1115832.606 0, 1377837.424 1115854.837 0, 1378103.073 1115877.083 0, 1378368.721 1115899.345 0,
+ 1378634.368 1115921.623 0, 1378900.013 1115943.917 0, 1379165.657 1115966.226 0, 1379431.3 1115988.551 0, 1379696.941 1116010.891 0, 1379962.581 1116033.247 0, 1380228.22 1116055.619 0, 1380493.857 1116078.006 0, 1380759.494 1116100.409 0, 1381025.128 1116122.827 0,
+ 1381290.762 1116145.262 0, 1381556.394 1116167.712 0, 1381822.025 1116190.177 0, 1382087.654 1116212.658 0, 1382353.282 1116235.155 0, 1382618.909 1116257.667 0, 1382884.535 1116280.195 0, 1383150.159 1116302.739 0, 1383414.558 1116325.194 0, 1383887.032 1110763.995 0,
+ 1384359.505 1105202.81 0))
+
+POLYGON ((830603.478 634551.289 0, 830310.949 634561.219 0, 830016.972 634571.215 0, 829722.995 634581.229 0, 829429.018 634591.259 0, 829135.043 634601.307 0, 828841.067 634611.373 0, 828547.093 634621.456 0, 828253.119 634631.556 0, 827959.145 634641.673 0,
+ 827665.172 634651.808 0, 827371.2 634661.96 0, 827077.228 634672.129 0, 826783.257 634682.315 0, 826489.287 634692.519 0, 826195.317 634702.74 0, 825901.348 634712.979 0, 825607.379 634723.235 0, 825313.411 634733.508 0, 825019.444 634743.798 0,
+ 824725.477 634754.106 0, 824431.511 634764.431 0, 824137.545 634774.773 0, 823843.58 634785.132 0, 823548.165 634795.56 0, 823255.652 634805.903 0, 822961.689 634816.315 0, 822667.726 634826.744 0, 822373.764 634837.19 0, 822079.803 634847.653 0,
+ 821785.842 634858.134 0, 821491.882 634868.632 0, 821197.923 634879.147 0, 820903.964 634889.68 0, 820610.006 634900.23 0, 820316.048 634910.797 0, 820022.091 634921.381 0, 819728.135 634931.983 0, 819434.179 634942.602 0, 819140.224 634953.238 0,
+ 818846.269 634963.892 0, 818552.316 634974.563 0, 818258.362 634985.251 0, 817964.41 634995.957 0, 817670.458 635006.68 0, 817376.506 635017.42 0, 817082.556 635028.178 0, 816788.606 635038.953 0, 816493.205 635049.798 0, 816697.603 640612.587 0,
+ 816902.014 646175.703 0, 817196.757 646164.881 0, 817490.052 646154.13 0, 817783.348 646143.397 0, 818076.645 646132.681 0, 818369.942 646121.982 0, 818663.239 646111.3 0, 818956.538 646100.635 0, 819249.837 646089.988 0, 819543.136 646079.358 0,
+ 819836.437 646068.745 0, 820129.738 646058.15 0, 820423.039 646047.572 0, 820716.341 646037.011 0, 821009.644 646026.467 0, 821302.947 646015.941 0, 821596.251 646005.432 0, 821889.556 645994.94 0, 822182.861 645984.465 0, 822476.167 645974.008 0,
+ 822769.473 645963.568 0, 823062.78 645953.145 0, 823356.088 645942.74 0, 823649.396 645932.351 0, 823941.258 645922.031 0, 824236.015 645911.627 0, 824529.325 645901.29 0, 824822.636 645890.971 0, 825115.947 645880.669 0, 825409.259 645870.384 0,
+ 825702.571 645860.117 0, 825995.885 645849.867 0, 826289.198 645839.634 0, 826582.513 645829.418 0, 826875.828 645819.22 0, 827169.143 645809.039 0, 827462.459 645798.875 0, 827755.776 645788.728 0, 828049.093 645778.599 0, 828342.411 645768.487 0,
+ 828635.73 645758.392 0, 828929.049 645748.314 0, 829222.369 645738.254 0, 829515.689 645728.211 0, 829809.01 645718.185 0, 830102.331 645708.177 0, 830395.653 645698.186 0, 830688.976 645688.212 0, 830980.853 645678.304 0, 830792.16 640114.634 0,
+ 830603.478 634551.289 0))
+
+POLYGON ((845061.041 645220.683 0, 844769.135 645229.766 0, 844475.785 645238.911 0, 844182.436 645248.074 0, 843889.088 645257.254 0, 843595.74 645266.451 0, 843302.392 645275.665 0, 843009.045 645284.896 0, 842715.699 645294.145 0, 842422.353 645303.411 0,
+ 842129.008 645312.695 0, 841835.663 645321.995 0, 841542.318 645331.313 0, 841248.975 645340.648 0, 840955.632 645350.001 0, 840662.289 645359.37 0, 840368.947 645368.757 0, 840075.606 645378.161 0, 839782.265 645387.583 0, 839488.924 645397.022 0,
+ 839195.584 645406.478 0, 838902.245 645415.951 0, 838608.906 645425.441 0, 838315.568 645434.949 0, 838020.786 645444.521 0, 837728.894 645454.017 0, 837435.557 645463.576 0, 837142.221 645473.153 0, 836848.886 645482.747 0, 836555.551 645492.358 0,
+ 836262.217 645501.987 0, 835968.883 645511.633 0, 835675.55 645521.296 0, 835382.218 645530.977 0, 835088.886 645540.674 0, 834795.555 645550.389 0, 834502.224 645560.122 0, 834208.894 645569.871 0, 833915.564 645579.638 0, 833622.235 645589.422 0,
+ 833328.906 645599.223 0, 833035.578 645609.042 0, 832742.251 645618.878 0, 832448.924 645628.731 0, 832155.598 645638.601 0, 831862.273 645648.489 0, 831568.948 645658.394 0, 831275.623 645668.316 0, 830980.853 645678.304 0, 831169.557 651242.297 0,
+ 831358.272 656806.609 0, 831652.384 656796.642 0, 831945.053 656786.742 0, 832237.723 656776.86 0, 832530.394 656766.994 0, 832823.065 656757.146 0, 833115.737 656747.315 0, 833408.409 656737.501 0, 833701.082 656727.704 0, 833993.755 656717.925 0,
+ 834286.43 656708.163 0, 834579.104 656698.418 0, 834871.779 656688.69 0, 835164.455 656678.979 0, 835457.132 656669.286 0, 835749.808 656659.61 0, 836042.486 656649.951 0, 836335.164 656640.31 0, 836627.843 656630.685 0, 836920.522 656621.078 0,
+ 837213.202 656611.488 0, 837505.882 656601.916 0, 837798.563 656592.36 0, 838091.244 656582.822 0, 838382.484 656573.348 0, 838676.609 656563.797 0, 838969.292 656554.31 0, 839261.976 656544.841 0, 839554.66 656535.389 0, 839847.345 656525.954 0,
+ 840140.03 656516.536 0, 840432.716 656507.136 0, 840725.402 656497.753 0, 841018.089 656488.387 0, 841310.777 656479.038 0, 841603.465 656469.707 0, 841896.154 656460.392 0, 842188.843 656451.095 0, 842481.533 656441.815 0, 842774.223 656432.553 0,
+ 843066.914 656423.307 0, 843359.605 656414.079 0, 843652.297 656404.868 0, 843944.989 656395.675 0, 844237.683 656386.498 0, 844530.376 656377.339 0, 844823.07 656368.197 0, 845115.765 656359.072 0, 845407.019 656350.009 0, 845234.025 650785.187 0,
+ 845061.041 645220.683 0))
+
+POLYGON ((873791.223 666688.257 0, 873500.569 666695.657 0, 873208.483 666703.111 0, 872916.397 666710.583 0, 872624.312 666718.071 0, 872332.227 666725.577 0, 872040.142 666733.1 0, 871748.058 666740.64 0, 871455.975 666748.197 0, 871163.892 666755.772 0,
+ 870871.809 666763.363 0, 870579.727 666770.972 0, 870287.645 666778.598 0, 869995.563 666786.241 0, 869703.482 666793.902 0, 869411.402 666801.579 0, 869119.322 666809.274 0, 868827.242 666816.986 0, 868535.163 666824.715 0, 868243.084 666832.461 0,
+ 867951.006 666840.225 0, 867658.928 666848.006 0, 867366.851 666855.804 0, 867074.774 666863.619 0, 866781.263 666871.49 0, 866490.622 666879.301 0, 866198.546 666887.167 0, 865906.471 666895.051 0, 865614.397 666902.952 0, 865322.323 666910.87 0,
+ 865030.249 666918.806 0, 864738.176 666926.759 0, 864446.103 666934.728 0, 864154.031 666942.715 0, 863861.96 666950.72 0, 863569.888 666958.741 0, 863277.818 666966.78 0, 862985.747 666974.835 0, 862693.677 666982.908 0, 862401.608 666990.999 0,
+ 862109.539 666999.106 0, 861817.471 667007.231 0, 861525.403 667015.372 0, 861233.335 667023.531 0, 860941.268 667031.707 0, 860649.202 667039.901 0, 860357.136 667048.111 0, 860065.07 667056.339 0, 859771.57 667064.624 0, 859928.868 672630.851 0,
+ 860086.175 678197.383 0, 860379.017 678189.116 0, 860670.427 678180.907 0, 860961.838 678172.714 0, 861253.249 678164.54 0, 861544.661 678156.382 0, 861836.073 678148.241 0, 862127.485 678140.118 0, 862418.899 678132.011 0, 862710.312 678123.922 0,
+ 863001.726 678115.85 0, 863293.141 678107.795 0, 863584.556 678099.758 0, 863875.971 678091.737 0, 864167.387 678083.734 0, 864458.804 678075.747 0, 864750.221 678067.778 0, 865041.638 678059.826 0, 865333.056 678051.891 0, 865624.474 678043.974 0,
+ 865915.893 678036.073 0, 866207.312 678028.19 0, 866498.732 678020.324 0, 866790.152 678012.475 0, 867080.142 678004.681 0, 867372.994 677996.828 0, 867664.416 677989.03 0, 867955.838 677981.25 0, 868247.26 677973.487 0, 868538.683 677965.741 0,
+ 868830.107 677958.012 0, 869121.53 677950.3 0, 869412.955 677942.605 0, 869704.379 677934.928 0, 869995.805 677927.267 0, 870287.23 677919.624 0, 870578.656 677911.998 0, 870870.083 677904.389 0, 871161.51 677896.797 0, 871452.937 677889.223 0,
+ 871744.365 677881.665 0, 872035.794 677874.125 0, 872327.222 677866.602 0, 872618.652 677859.096 0, 872910.081 677851.607 0, 873201.511 677844.135 0, 873492.942 677836.681 0, 873784.373 677829.243 0, 874074.374 677821.86 0, 873932.795 672254.905 0,
+ 873791.223 666688.257 0))
+
+POLYGON ((888063.579 677485.857 0, 887773.556 677492.422 0, 887482.105 677499.036 0, 887190.654 677505.667 0, 886899.204 677512.315 0, 886607.755 677518.981 0, 886316.305 677525.663 0, 886024.857 677532.363 0, 885733.408 677539.08 0, 885441.96 677545.814 0,
+ 885150.512 677552.565 0, 884859.065 677559.334 0, 884567.618 677566.119 0, 884276.172 677572.922 0, 883984.726 677579.742 0, 883693.28 677586.579 0, 883401.835 677593.433 0, 883110.39 677600.304 0, 882818.945 677607.193 0, 882527.501 677614.098 0,
+ 882236.058 677621.021 0, 881944.614 677627.961 0, 881653.171 677634.918 0, 881361.729 677641.892 0, 881068.858 677648.918 0, 880778.845 677655.892 0, 880487.404 677662.918 0, 880195.963 677669.961 0, 879904.523 677677.021 0, 879613.083 677684.098 0,
+ 879321.644 677691.192 0, 879030.204 677698.304 0, 878738.766 677705.432 0, 878447.327 677712.578 0, 878155.89 677719.741 0, 877864.452 677726.921 0, 877573.015 677734.118 0, 877281.579 677741.333 0, 876990.142 677748.564 0, 876698.707 677755.813 0,
+ 876407.271 677763.079 0, 876115.836 677770.362 0, 875824.402 677777.662 0, 875532.968 677784.979 0, 875241.534 677792.314 0, 874950.101 677799.665 0, 874658.669 677807.034 0, 874367.236 677814.42 0, 874074.374 677821.86 0, 874215.961 683389.116 0,
+ 874357.556 688956.671 0, 874649.76 688949.249 0, 874940.537 688941.879 0, 875231.314 688934.527 0, 875522.092 688927.192 0, 875812.87 688919.874 0, 876103.649 688912.573 0, 876394.428 688905.29 0, 876685.207 688898.023 0, 876975.987 688890.773 0,
+ 877266.768 688883.541 0, 877557.548 688876.326 0, 877848.33 688869.128 0, 878139.111 688861.947 0, 878429.893 688854.783 0, 878720.676 688847.636 0, 879011.459 688840.506 0, 879302.242 688833.394 0, 879593.026 688826.298 0, 879883.81 688819.22 0,
+ 880174.594 688812.159 0, 880465.379 688805.114 0, 880756.165 688798.087 0, 881046.951 688791.077 0, 881336.311 688784.119 0, 881628.523 688777.109 0, 881919.31 688770.15 0, 882210.098 688763.209 0, 882500.886 688756.285 0, 882791.674 688749.377 0,
+ 883082.463 688742.487 0, 883373.252 688735.614 0, 883664.041 688728.759 0, 883954.831 688721.92 0, 884245.621 688715.098 0, 884536.412 688708.294 0, 884827.203 688701.506 0, 885117.995 688694.736 0, 885408.786 688687.983 0, 885699.579 688681.247 0,
+ 885990.371 688674.528 0, 886281.164 688667.826 0, 886571.958 688661.141 0, 886862.752 688654.474 0, 887153.546 688647.823 0, 887444.341 688641.19 0, 887735.136 688634.574 0, 888025.931 688627.975 0, 888315.302 688621.425 0, 888189.437 683053.491 0,
+ 888063.579 677485.857 0))
+
+POLYGON ((902273.939 688325.612 0, 901984.549 688331.345 0, 901693.736 688337.122 0, 901402.923 688342.917 0, 901112.111 688348.729 0, 900821.299 688354.558 0, 900530.488 688360.404 0, 900239.676 688366.267 0, 899948.866 688372.147 0, 899658.055 688378.044 0,
+ 899367.245 688383.959 0, 899076.435 688389.89 0, 898785.626 688395.839 0, 898494.817 688401.805 0, 898204.008 688407.788 0, 897913.199 688413.788 0, 897622.391 688419.805 0, 897331.584 688425.84 0, 897040.776 688431.891 0, 896749.969 688437.96 0,
+ 896459.163 688444.045 0, 896168.357 688450.148 0, 895877.551 688456.268 0, 895586.745 688462.405 0, 895294.516 688468.589 0, 895005.135 688474.73 0, 894714.331 688480.918 0, 894423.527 688487.124 0, 894132.723 688493.347 0, 893841.92 688499.586 0,
+ 893551.117 688505.843 0, 893260.314 688512.117 0, 892969.512 688518.408 0, 892678.71 688524.716 0, 892387.908 688531.041 0, 892097.107 688537.384 0, 891806.306 688543.743 0, 891515.506 688550.12 0, 891224.706 688556.514 0, 890933.906 688562.925 0,
+ 890643.107 688569.353 0, 890352.308 688575.798 0, 890061.51 688582.26 0, 889770.712 688588.739 0, 889479.914 688595.236 0, 889189.117 688601.749 0, 888898.32 688608.28 0, 888607.523 688614.828 0, 888315.302 688621.425 0, 888441.174 694189.653 0,
+ 888567.052 699758.174 0, 888858.614 699751.592 0, 889148.755 699745.059 0, 889438.897 699738.543 0, 889729.039 699732.044 0, 890019.181 699725.563 0, 890309.324 699719.098 0, 890599.467 699712.65 0, 890889.61 699706.22 0, 891179.754 699699.806 0,
+ 891469.898 699693.41 0, 891760.042 699687.03 0, 892050.187 699680.668 0, 892340.333 699674.323 0, 892630.478 699667.995 0, 892920.624 699661.684 0, 893210.771 699655.39 0, 893500.917 699649.113 0, 893791.064 699642.853 0, 894081.212 699636.611 0,
+ 894371.36 699630.385 0, 894661.508 699624.176 0, 894951.656 699617.985 0, 895241.805 699611.811 0, 895530.534 699605.683 0, 895822.104 699599.513 0, 896112.254 699593.39 0, 896402.405 699587.284 0, 896692.556 699581.195 0, 896982.707 699575.123 0,
+ 897272.858 699569.068 0, 897563.01 699563.03 0, 897853.162 699557.009 0, 898143.315 699551.006 0, 898433.468 699545.019 0, 898723.621 699539.05 0, 899013.774 699533.097 0, 899303.928 699527.162 0, 899594.083 699521.244 0, 899884.237 699515.343 0,
+ 900174.392 699509.459 0, 900464.547 699503.592 0, 900754.703 699497.742 0, 901044.859 699491.909 0, 901335.015 699486.093 0, 901625.172 699480.294 0, 901915.329 699474.513 0, 902205.487 699468.748 0, 902494.225 699463.029 0, 902384.079 693894.175 0,
+ 902273.939 688325.612 0))
+
+POLYGON ((916422.176 699207.231 0, 916133.42 699212.135 0, 915843.248 699217.08 0, 915553.076 699222.042 0, 915262.904 699227.021 0, 914972.732 699232.017 0, 914682.561 699237.03 0, 914392.39 699242.06 0, 914102.219 699247.107 0, 913812.049 699252.171 0,
+ 913521.878 699257.253 0, 913231.709 699262.351 0, 912941.539 699267.467 0, 912651.37 699272.599 0, 912361.201 699277.749 0, 912071.032 699282.916 0, 911780.864 699288.1 0, 911490.696 699293.301 0, 911200.528 699298.519 0, 910910.361 699303.754 0,
+ 910620.194 699309.006 0, 910330.027 699314.275 0, 910039.86 699319.562 0, 909749.694 699324.865 0, 909458.11 699330.212 0, 909169.363 699335.523 0, 908879.198 699340.878 0, 908589.033 699346.249 0, 908298.868 699351.638 0, 908008.704 699357.044 0,
+ 907718.54 699362.467 0, 907428.376 699367.907 0, 907138.213 699373.364 0, 906848.05 699378.838 0, 906557.887 699384.33 0, 906267.725 699389.838 0, 905977.563 699395.364 0, 905687.401 699400.906 0, 905397.24 699406.466 0, 905107.079 699412.042 0,
+ 904816.918 699417.636 0, 904526.758 699423.247 0, 904236.598 699428.875 0, 903946.438 699434.52 0, 903656.279 699440.182 0, 903366.119 699445.861 0, 903075.961 699451.557 0, 902785.802 699457.27 0, 902494.225 699463.029 0, 902604.376 705032.172 0,
+ 902714.533 710601.6 0, 903005.452 710595.855 0, 903294.955 710590.155 0, 903584.458 710584.471 0, 903873.961 710578.805 0, 904163.465 710573.156 0, 904452.969 710567.523 0, 904742.474 710561.908 0, 905031.978 710556.31 0, 905321.484 710550.729 0,
+ 905610.989 710545.165 0, 905900.495 710539.618 0, 906190.001 710534.088 0, 906479.507 710528.575 0, 906769.014 710523.079 0, 907058.521 710517.6 0, 907348.029 710512.138 0, 907637.536 710506.693 0, 907927.044 710501.266 0, 908216.553 710495.855 0,
+ 908506.061 710490.461 0, 908795.57 710485.085 0, 909085.08 710479.725 0, 909374.589 710474.383 0, 909662.684 710469.083 0, 909953.609 710463.749 0, 910243.12 710458.457 0, 910532.631 710453.183 0, 910822.142 710447.925 0, 911111.653 710442.685 0,
+ 911401.165 710437.462 0, 911690.677 710432.256 0, 911980.19 710427.066 0, 912269.702 710421.894 0, 912559.215 710416.739 0, 912848.729 710411.601 0, 913138.242 710406.48 0, 913427.756 710401.376 0, 913717.271 710396.289 0, 914006.785 710391.219 0,
+ 914296.3 710386.166 0, 914585.815 710381.13 0, 914875.33 710376.112 0, 915164.846 710371.11 0, 915454.362 710366.125 0, 915743.878 710361.158 0, 916033.395 710356.207 0, 916322.912 710351.273 0, 916611.015 710346.381 0, 916516.593 704776.663 0,
+ 916422.176 699207.231 0))
+
+POLYGON ((930508.162 710130.422 0, 930220.044 710134.501 0, 929930.515 710138.617 0, 929640.985 710142.749 0, 929351.456 710146.899 0, 929061.927 710151.066 0, 928772.398 710155.25 0, 928482.87 710159.45 0, 928193.342 710163.668 0, 927903.814 710167.903 0,
+ 927614.286 710172.155 0, 927324.759 710176.424 0, 927035.232 710180.71 0, 926745.705 710185.013 0, 926456.178 710189.333 0, 926166.652 710193.671 0, 925877.125 710198.025 0, 925587.599 710202.396 0, 925298.074 710206.784 0, 925008.548 710211.19 0,
+ 924719.023 710215.612 0, 924429.498 710220.051 0, 924139.974 710224.508 0, 923850.449 710228.981 0, 923559.512 710233.494 0, 923271.402 710237.979 0, 922981.878 710242.504 0, 922692.355 710247.046 0, 922402.832 710251.604 0, 922113.309 710256.18 0,
+ 921823.786 710260.773 0, 921534.264 710265.383 0, 921244.742 710270.01 0, 920955.221 710274.653 0, 920665.699 710279.314 0, 920376.178 710283.992 0, 920086.657 710288.687 0, 919797.137 710293.399 0, 919507.616 710298.129 0, 919218.096 710302.875 0,
+ 918928.577 710307.638 0, 918639.057 710312.418 0, 918349.538 710317.215 0, 918060.019 710322.03 0, 917770.501 710326.861 0, 917480.982 710331.709 0, 917191.464 710336.575 0, 916901.947 710341.457 0, 916611.015 710346.381 0, 916705.442 715916.38 0,
+ 916799.873 721486.658 0, 917090.146 721481.745 0, 917379.008 721476.874 0, 917667.87 721472.02 0, 917956.733 721467.182 0, 918245.596 721462.362 0, 918534.459 721457.558 0, 918823.322 721452.772 0, 919112.186 721448.003 0, 919401.05 721443.25 0,
+ 919689.914 721438.515 0, 919978.779 721433.796 0, 920267.644 721429.095 0, 920556.509 721424.411 0, 920845.374 721419.743 0, 921134.24 721415.093 0, 921423.106 721410.459 0, 921711.972 721405.843 0, 922000.839 721401.244 0, 922289.706 721396.661 0,
+ 922578.573 721392.096 0, 922867.44 721387.548 0, 923156.307 721383.016 0, 923445.175 721378.502 0, 923732.634 721374.026 0, 924022.912 721369.524 0, 924311.78 721365.061 0, 924600.649 721360.614 0, 924889.519 721356.185 0, 925178.388 721351.773 0,
+ 925467.258 721347.377 0, 925756.128 721342.999 0, 926044.998 721338.638 0, 926333.868 721334.293 0, 926622.739 721329.966 0, 926911.61 721325.656 0, 927200.481 721321.362 0, 927489.353 721317.086 0, 927778.224 721312.827 0, 928067.096 721308.584 0,
+ 928355.968 721304.359 0, 928644.841 721300.151 0, 928933.714 721295.959 0, 929222.587 721291.785 0, 929511.46 721287.628 0, 929800.333 721283.487 0, 930089.207 721279.364 0, 930378.081 721275.258 0, 930665.546 721271.188 0, 930586.852 715700.666 0,
+ 930508.162 710130.422 0))
+
+POLYGON ((944531.773 721094.893 0, 944244.295 721098.15 0, 943955.411 721101.44 0, 943666.526 721104.747 0, 943377.642 721108.072 0, 943088.759 721111.413 0, 942799.875 721114.771 0, 942510.992 721118.146 0, 942222.108 721121.538 0, 941933.225 721124.948 0,
+ 941644.343 721128.374 0, 941355.46 721131.817 0, 941066.578 721135.277 0, 940777.695 721138.754 0, 940488.813 721142.249 0, 940199.932 721145.76 0, 939911.05 721149.288 0, 939622.169 721152.833 0, 939333.288 721156.395 0, 939044.407 721159.975 0,
+ 938755.526 721163.571 0, 938466.645 721167.184 0, 938177.765 721170.814 0, 937888.885 721174.462 0, 937598.597 721178.144 0, 937311.125 721181.807 0, 937022.246 721185.505 0, 936733.367 721189.221 0, 936444.488 721192.953 0, 936155.609 721196.702 0,
+ 935866.73 721200.468 0, 935577.852 721204.252 0, 935288.974 721208.052 0, 935000.096 721211.869 0, 934711.218 721215.703 0, 934422.341 721219.555 0, 934133.464 721223.423 0, 933844.587 721227.308 0, 933555.71 721231.21 0, 933266.833 721235.13 0,
+ 932977.957 721239.066 0, 932689.081 721243.019 0, 932400.205 721246.99 0, 932111.33 721250.977 0, 931822.454 721254.981 0, 931533.579 721259.003 0, 931244.704 721263.041 0, 930955.829 721267.096 0, 930665.546 721271.188 0, 930744.244 726841.986 0,
+ 930822.946 732413.054 0, 931112.57 732408.971 0, 931400.789 732404.925 0, 931689.008 732400.896 0, 931977.227 732396.884 0, 932265.447 732392.889 0, 932553.667 732388.91 0, 932841.887 732384.949 0, 933130.107 732381.005 0, 933418.328 732377.078 0,
+ 933706.548 732373.167 0, 933994.769 732369.274 0, 934282.991 732365.397 0, 934571.212 732361.538 0, 934859.434 732357.695 0, 935147.656 732353.87 0, 935435.878 732350.061 0, 935724.1 732346.269 0, 936012.323 732342.495 0, 936300.545 732338.737 0,
+ 936588.768 732334.996 0, 936876.991 732331.273 0, 937165.215 732327.566 0, 937453.439 732323.876 0, 937740.258 732320.221 0, 938029.887 732316.547 0, 938318.111 732312.908 0, 938606.335 732309.286 0, 938894.56 732305.681 0, 939182.785 732302.093 0,
+ 939471.01 732298.522 0, 939759.235 732294.968 0, 940047.461 732291.431 0, 940335.687 732287.91 0, 940623.913 732284.407 0, 940912.139 732280.921 0, 941200.365 732277.452 0, 941488.592 732273.999 0, 941776.819 732270.564 0, 942065.046 732267.145 0,
+ 942353.273 732263.744 0, 942641.5 732260.36 0, 942929.728 732256.992 0, 943217.956 732253.641 0, 943506.184 732250.308 0, 943794.412 732246.991 0, 944082.64 732243.692 0, 944370.869 732240.409 0, 944657.694 732237.159 0, 944594.732 726665.89 0,
+ 944531.773 721094.893 0))
+
+POLYGON ((958492.884 732100.35 0, 958206.049 732102.79 0, 957917.812 732105.258 0, 957629.575 732107.743 0, 957341.339 732110.246 0, 957053.103 732112.765 0, 956764.866 732115.301 0, 956476.631 732117.854 0, 956188.395 732120.425 0, 955900.159 732123.012 0,
+ 955611.924 732125.616 0, 955323.688 732128.237 0, 955035.453 732130.875 0, 954747.218 732133.53 0, 954458.983 732136.202 0, 954170.748 732138.891 0, 953882.514 732141.597 0, 953594.279 732144.32 0, 953306.045 732147.06 0, 953017.811 732149.816 0,
+ 952729.577 732152.59 0, 952441.343 732155.381 0, 952153.11 732158.189 0, 951864.876 732161.013 0, 951575.241 732163.869 0, 951288.41 732166.713 0, 951000.177 732169.589 0, 950711.944 732172.481 0, 950423.712 732175.391 0, 950135.479 732178.317 0,
+ 949847.247 732181.261 0, 949559.015 732184.221 0, 949270.783 732187.198 0, 948982.551 732190.193 0, 948694.32 732193.204 0, 948406.089 732196.232 0, 948117.857 732199.277 0, 947829.626 732202.34 0, 947541.396 732205.419 0, 947253.165 732208.515 0,
+ 946964.935 732211.628 0, 946676.704 732214.758 0, 946388.474 732217.905 0, 946100.244 732221.069 0, 945812.015 732224.25 0, 945523.785 732227.448 0, 945235.556 732230.663 0, 944947.327 732233.894 0, 944657.694 732237.159 0, 944720.659 737808.696 0,
+ 944783.627 743380.497 0, 945072.601 743377.24 0, 945360.174 743374.015 0, 945647.748 743370.808 0, 945935.321 743367.617 0, 946222.895 743364.444 0, 946510.469 743361.287 0, 946798.043 743358.147 0, 947085.618 743355.024 0, 947373.192 743351.918 0,
+ 947660.767 743348.829 0, 947948.342 743345.757 0, 948235.917 743342.702 0, 948523.492 743339.664 0, 948811.068 743336.642 0, 949098.643 743333.638 0, 949386.219 743330.65 0, 949673.795 743327.68 0, 949961.371 743324.726 0, 950248.948 743321.789 0,
+ 950536.524 743318.87 0, 950824.101 743315.967 0, 951111.678 743313.081 0, 951399.255 743310.212 0, 951685.433 743307.374 0, 951974.41 743304.525 0, 952261.987 743301.706 0, 952549.565 743298.905 0, 952837.143 743296.121 0, 953124.721 743293.353 0,
+ 953412.299 743290.603 0, 953699.877 743287.869 0, 953987.456 743285.152 0, 954275.034 743282.453 0, 954562.613 743279.77 0, 954850.192 743277.104 0, 955137.771 743274.455 0, 955425.351 743271.823 0, 955712.93 743269.208 0, 956000.51 743266.61 0,
+ 956288.09 743264.028 0, 956575.669 743261.464 0, 956863.25 743258.917 0, 957150.83 743256.386 0, 957438.41 743253.873 0, 957725.991 743251.376 0, 958013.571 743248.896 0, 958301.152 743246.434 0, 958587.335 743244 0, 958540.108 737672.043 0,
+ 958492.884 732100.35 0))
+
+POLYGON ((972391.373 743146.501 0, 972105.182 743148.126 0, 971817.596 743149.776 0, 971530.009 743151.444 0, 971242.423 743153.128 0, 970954.836 743154.829 0, 970667.25 743156.547 0, 970379.664 743158.282 0, 970092.078 743160.034 0, 969804.492 743161.802 0,
+ 969516.906 743163.588 0, 969229.321 743165.391 0, 968941.735 743167.21 0, 968654.149 743169.047 0, 968366.564 743170.9 0, 968078.979 743172.771 0, 967791.394 743174.658 0, 967503.809 743176.562 0, 967216.224 743178.483 0, 966928.639 743180.421 0,
+ 966641.054 743182.376 0, 966353.47 743184.348 0, 966065.885 743186.337 0, 965778.301 743188.343 0, 965489.32 743190.375 0, 965203.132 743192.405 0, 964915.548 743194.461 0, 964627.965 743196.535 0, 964340.381 743198.625 0, 964052.797 743200.733 0,
+ 963765.214 743202.857 0, 963477.63 743204.998 0, 963190.047 743207.156 0, 962902.464 743209.331 0, 962614.881 743211.523 0, 962327.298 743213.732 0, 962039.715 743215.958 0, 961752.133 743218.201 0, 961464.55 743220.46 0, 961176.968 743222.737 0,
+ 960889.386 743225.03 0, 960601.804 743227.341 0, 960314.222 743229.668 0, 960026.64 743232.012 0, 959739.058 743234.374 0, 959451.477 743236.752 0, 959163.895 743239.147 0, 958876.314 743241.559 0, 958587.335 743244 0, 958634.564 748816.218 0,
+ 958681.795 754388.693 0, 958970.115 754386.258 0, 959257.04 754383.851 0, 959543.965 754381.462 0, 959830.891 754379.089 0, 960117.817 754376.733 0, 960404.743 754374.394 0, 960691.668 754372.072 0, 960978.595 754369.767 0, 961265.521 754367.479 0,
+ 961552.447 754365.207 0, 961839.374 754362.953 0, 962126.3 754360.715 0, 962413.227 754358.495 0, 962700.154 754356.291 0, 962987.081 754354.104 0, 963274.008 754351.934 0, 963560.936 754349.781 0, 963847.863 754347.644 0, 964134.791 754345.525 0,
+ 964421.718 754343.422 0, 964708.646 754341.337 0, 964995.574 754339.268 0, 965282.502 754337.216 0, 965568.036 754335.191 0, 965856.358 754333.163 0, 966143.287 754331.162 0, 966430.215 754329.178 0, 966717.144 754327.21 0, 967004.073 754325.26 0,
+ 967291.001 754323.326 0, 967577.93 754321.409 0, 967864.86 754319.509 0, 968151.789 754317.627 0, 968438.718 754315.76 0, 968725.647 754313.911 0, 969012.577 754312.079 0, 969299.507 754310.264 0, 969586.436 754308.465 0, 969873.366 754306.683 0,
+ 970160.296 754304.919 0, 970447.226 754303.171 0, 970734.156 754301.44 0, 971021.087 754299.726 0, 971308.017 754298.028 0, 971594.947 754296.348 0, 971881.878 754294.685 0, 972168.809 754293.038 0, 972454.347 754291.416 0, 972422.859 748718.83 0,
+ 972391.373 743146.501 0))
+
+POLYGON ((986227.118 754233.05 0, 985941.575 754233.865 0, 985654.64 754234.701 0, 985367.706 754235.554 0, 985080.772 754236.424 0, 984793.838 754237.31 0, 984506.904 754238.214 0, 984219.97 754239.134 0, 983933.037 754240.071 0, 983646.103 754241.025 0,
+ 983359.169 754241.996 0, 983072.235 754242.984 0, 982785.302 754243.989 0, 982498.368 754245.011 0, 982211.435 754246.049 0, 981924.501 754247.105 0, 981637.568 754248.177 0, 981350.635 754249.266 0, 981063.701 754250.372 0, 980776.768 754251.495 0,
+ 980489.835 754252.635 0, 980202.902 754253.792 0, 979915.969 754254.966 0, 979629.036 754256.156 0, 979340.712 754257.369 0, 979055.171 754258.588 0, 978768.238 754259.829 0, 978481.305 754261.087 0, 978194.373 754262.362 0, 977907.44 754263.654 0,
+ 977620.508 754264.963 0, 977333.576 754266.289 0, 977046.643 754267.631 0, 976759.711 754268.99 0, 976472.779 754270.367 0, 976185.847 754271.76 0, 975898.915 754273.17 0, 975611.984 754274.597 0, 975325.052 754276.041 0, 975038.12 754277.502 0,
+ 974751.189 754278.979 0, 974464.257 754280.474 0, 974177.326 754281.985 0, 973890.394 754283.514 0, 973603.463 754285.059 0, 973316.532 754286.621 0, 973029.601 754288.2 0, 972742.67 754289.796 0, 972454.347 754291.416 0, 972485.836 759864.257 0,
+ 972517.326 765437.348 0, 972804.99 765435.731 0, 973091.265 765434.139 0, 973377.54 765432.564 0, 973663.815 765431.005 0, 973950.09 765429.464 0, 974236.366 765427.939 0, 974522.641 765426.431 0, 974808.916 765424.94 0, 975095.192 765423.465 0,
+ 975381.468 765422.008 0, 975667.743 765420.567 0, 975954.019 765419.144 0, 976240.295 765417.737 0, 976526.571 765416.347 0, 976812.847 765414.974 0, 977099.123 765413.617 0, 977385.399 765412.278 0, 977671.676 765410.955 0, 977957.952 765409.649 0,
+ 978244.228 765408.36 0, 978530.505 765407.088 0, 978816.781 765405.833 0, 979103.058 765404.595 0, 979387.946 765403.379 0, 979675.612 765402.169 0, 979961.889 765400.981 0, 980248.165 765399.81 0, 980534.442 765398.656 0, 980820.72 765397.518 0,
+ 981106.997 765396.398 0, 981393.274 765395.294 0, 981679.551 765394.208 0, 981965.828 765393.138 0, 982252.106 765392.085 0, 982538.383 765391.048 0, 982824.661 765390.029 0, 983110.938 765389.027 0, 983397.216 765388.041 0, 983683.494 765387.072 0,
+ 983969.772 765386.12 0, 984256.049 765385.185 0, 984542.327 765384.267 0, 984828.605 765383.366 0, 985114.883 765382.481 0, 985401.161 765381.613 0, 985687.439 765380.763 0, 985973.717 765379.929 0, 986258.608 765379.115 0, 986242.863 759805.958 0,
+ 986227.118 754233.05 0))
+
+POLYGON ((1000000 765359.704 0, 999715.106 765359.713 0, 999428.826 765359.738 0, 999142.547 765359.78 0, 998856.268 765359.839 0, 998569.988 765359.915 0, 998283.709 765360.007 0, 997997.43 765360.117 0, 997711.151 765360.243 0, 997424.871 765360.386 0,
+ 997138.592 765360.546 0, 996852.313 765360.723 0, 996566.033 765360.917 0, 996279.754 765361.127 0, 995993.475 765361.355 0, 995707.196 765361.599 0, 995420.916 765361.86 0, 995134.637 765362.138 0, 994848.358 765362.433 0, 994562.079 765362.744 0,
+ 994275.8 765363.073 0, 993989.521 765363.418 0, 993703.242 765363.78 0, 993416.962 765364.159 0, 993129.297 765364.557 0, 992844.404 765364.968 0, 992558.125 765365.397 0, 992271.846 765365.844 0, 991985.567 765366.307 0, 991699.289 765366.787 0,
+ 991413.01 765367.284 0, 991126.731 765367.798 0, 990840.452 765368.329 0, 990554.173 765368.876 0, 990267.894 765369.441 0, 989981.616 765370.022 0, 989695.337 765370.62 0, 989409.058 765371.235 0, 989122.78 765371.867 0, 988836.501 765372.515 0,
+ 988550.222 765373.181 0, 988263.944 765373.863 0, 987977.665 765374.562 0, 987691.387 765375.279 0, 987405.109 765376.011 0, 987118.83 765376.761 0, 986832.552 765377.528 0, 986546.274 765378.311 0, 986258.608 765379.115 0, 986274.354 770952.52 0,
+ 986290.101 776526.168 0, 986577.107 776525.366 0, 986862.729 776524.584 0, 987148.351 776523.819 0, 987433.974 776523.071 0, 987719.596 776522.34 0, 988005.218 776521.626 0, 988290.841 776520.928 0, 988576.463 776520.247 0, 988862.086 776519.583 0,
+ 989147.708 776518.936 0, 989433.331 776518.306 0, 989718.953 776517.692 0, 990004.576 776517.096 0, 990290.198 776516.516 0, 990575.821 776515.953 0, 990861.444 776515.406 0, 991147.067 776514.877 0, 991432.689 776514.364 0, 991718.312 776513.868 0,
+ 992003.935 776513.389 0, 992289.558 776512.927 0, 992575.181 776512.482 0, 992860.804 776512.053 0, 993145.044 776511.643 0, 993432.05 776511.246 0, 993717.673 776510.868 0, 994003.296 776510.507 0, 994288.919 776510.162 0, 994574.542 776509.834 0,
+ 994860.165 776509.523 0, 995145.788 776509.229 0, 995431.411 776508.952 0, 995717.034 776508.692 0, 996002.657 776508.448 0, 996288.28 776508.221 0, 996573.903 776508.011 0, 996859.527 776507.818 0, 997145.15 776507.641 0, 997430.773 776507.482 0,
+ 997716.396 776507.339 0, 998002.019 776507.213 0, 998287.643 776507.104 0, 998573.266 776507.011 0, 998858.889 776506.936 0, 999144.512 776506.877 0, 999430.135 776506.835 0, 999715.759 776506.81 0, 1000000 776506.802 0, 1000000 770933.131 0,
+ 1000000 765359.704 0))
+
+POLYGON ((1013709.899 776526.168 0, 1013425.657 776525.373 0, 1013140.035 776524.592 0, 1012854.413 776523.827 0, 1012568.79 776523.078 0, 1012283.168 776522.347 0, 1011997.546 776521.632 0, 1011711.923 776520.935 0, 1011426.301 776520.254 0, 1011140.678 776519.59 0,
+ 1010855.056 776518.942 0, 1010569.433 776518.312 0, 1010283.811 776517.698 0, 1009998.188 776517.101 0, 1009712.566 776516.521 0, 1009426.943 776515.958 0, 1009141.32 776515.411 0, 1008855.697 776514.882 0, 1008570.075 776514.369 0, 1008284.452 776513.873 0,
+ 1007998.829 776513.394 0, 1007713.206 776512.931 0, 1007427.583 776512.486 0, 1007141.96 776512.057 0, 1006854.956 776511.643 0, 1006570.714 776511.25 0, 1006285.091 776510.872 0, 1005999.468 776510.51 0, 1005713.845 776510.165 0, 1005428.222 776509.838 0,
+ 1005142.599 776509.526 0, 1004856.976 776509.232 0, 1004571.353 776508.955 0, 1004285.73 776508.694 0, 1004000.107 776508.45 0, 1003714.484 776508.223 0, 1003428.861 776508.013 0, 1003143.237 776507.82 0, 1002857.614 776507.643 0, 1002571.991 776507.483 0,
+ 1002286.368 776507.34 0, 1002000.745 776507.214 0, 1001715.121 776507.105 0, 1001429.498 776507.012 0, 1001143.875 776506.936 0, 1000858.252 776506.877 0, 1000572.628 776506.835 0, 1000287.005 776506.81 0, 1000000 776506.802 0, 1000000 782080.711 0,
+ 1000000 787654.858 0, 1000286.346 787654.866 0, 1000571.313 787654.891 0, 1000856.28 787654.933 0, 1001141.247 787654.992 0, 1001426.214 787655.068 0, 1001711.181 787655.16 0, 1001996.148 787655.269 0, 1002281.115 787655.395 0, 1002566.082 787655.538 0,
+ 1002851.049 787655.697 0, 1003136.016 787655.873 0, 1003420.984 787656.066 0, 1003705.951 787656.276 0, 1003990.918 787656.502 0, 1004275.884 787656.746 0, 1004560.851 787657.006 0, 1004845.818 787657.283 0, 1005130.785 787657.576 0, 1005415.752 787657.887 0,
+ 1005700.719 787658.214 0, 1005985.686 787658.558 0, 1006270.653 787658.918 0, 1006555.62 787659.296 0, 1006839.209 787659.688 0, 1007125.553 787660.101 0, 1007410.52 787660.529 0, 1007695.487 787660.973 0, 1007980.454 787661.435 0, 1008265.42 787661.913 0,
+ 1008550.387 787662.408 0, 1008835.353 787662.919 0, 1009120.32 787663.448 0, 1009405.287 787663.993 0, 1009690.253 787664.555 0, 1009975.22 787665.134 0, 1010260.186 787665.729 0, 1010545.153 787666.341 0, 1010830.119 787666.97 0, 1011115.085 787667.616 0,
+ 1011400.052 787668.279 0, 1011685.018 787668.958 0, 1011969.984 787669.654 0, 1012254.95 787670.367 0, 1012539.916 787671.097 0, 1012824.883 787671.843 0, 1013109.849 787672.607 0, 1013394.815 787673.387 0, 1013678.404 787674.18 0, 1013694.152 782100.056 0,
+ 1013709.899 776526.168 0))
+
+POLYGON ((1027356.699 787732.145 0, 1027073.111 787730.551 0, 1026788.148 787728.966 0, 1026503.185 787727.398 0, 1026218.222 787725.846 0, 1025933.259 787724.312 0, 1025648.296 787722.794 0, 1025363.333 787721.292 0, 1025078.37 787719.808 0, 1024793.407 787718.34 0,
+ 1024508.443 787716.889 0, 1024223.48 787715.455 0, 1023938.516 787714.038 0, 1023653.553 787712.637 0, 1023368.589 787711.254 0, 1023083.625 787709.887 0, 1022798.661 787708.536 0, 1022513.697 787707.203 0, 1022228.733 787705.886 0, 1021943.769 787704.586 0,
+ 1021658.805 787703.303 0, 1021373.841 787702.036 0, 1021088.876 787700.787 0, 1020803.912 787699.554 0, 1020517.572 787698.332 0, 1020233.983 787697.139 0, 1019949.018 787695.956 0, 1019664.054 787694.79 0, 1019379.089 787693.641 0, 1019094.124 787692.509 0,
+ 1018809.159 787691.394 0, 1018524.194 787690.295 0, 1018239.229 787689.213 0, 1017954.264 787688.148 0, 1017669.299 787687.099 0, 1017384.334 787686.068 0, 1017099.368 787685.053 0, 1016814.403 787684.055 0, 1016529.438 787683.074 0, 1016244.472 787682.109 0,
+ 1015959.507 787681.162 0, 1015674.541 787680.231 0, 1015389.575 787679.316 0, 1015104.61 787678.419 0, 1014819.644 787677.538 0, 1014534.678 787676.674 0, 1014249.712 787675.827 0, 1013964.747 787674.997 0, 1013678.404 787674.18 0, 1013662.655 793248.536 0,
+ 1013646.906 798823.121 0, 1013932.589 798823.937 0, 1014216.899 798824.765 0, 1014501.209 798825.61 0, 1014785.518 798826.472 0, 1015069.828 798827.351 0, 1015354.137 798828.246 0, 1015638.447 798829.158 0, 1015922.756 798830.087 0, 1016207.065 798831.033 0,
+ 1016491.374 798831.995 0, 1016775.684 798832.974 0, 1017059.993 798833.97 0, 1017344.302 798834.982 0, 1017628.611 798836.011 0, 1017912.92 798837.057 0, 1018197.229 798838.12 0, 1018481.538 798839.199 0, 1018765.846 798840.296 0, 1019050.155 798841.408 0,
+ 1019334.464 798842.538 0, 1019618.772 798843.684 0, 1019903.081 798844.847 0, 1020187.389 798846.027 0, 1020470.325 798847.218 0, 1020756.006 798848.437 0, 1021040.314 798849.667 0, 1021324.622 798850.914 0, 1021608.93 798852.177 0, 1021893.238 798853.458 0,
+ 1022177.546 798854.755 0, 1022461.854 798856.068 0, 1022746.162 798857.399 0, 1023030.469 798858.746 0, 1023314.777 798860.11 0, 1023599.085 798861.49 0, 1023883.392 798862.888 0, 1024167.699 798864.302 0, 1024452.007 798865.733 0, 1024736.314 798867.18 0,
+ 1025020.621 798868.645 0, 1025304.928 798870.126 0, 1025589.235 798871.623 0, 1025873.542 798873.138 0, 1026157.848 798874.669 0, 1026442.155 798876.217 0, 1026726.462 798877.782 0, 1027010.768 798879.363 0, 1027293.703 798880.954 0, 1027325.202 793306.435 0,
+ 1027356.699 787732.145 0))
+
+POLYGON ((1040940.283 798977.34 0, 1040657.351 798974.951 0, 1040373.05 798972.566 0, 1040088.749 798970.198 0, 1039804.448 798967.847 0, 1039520.147 798965.513 0, 1039235.845 798963.195 0, 1038951.544 798960.894 0, 1038667.242 798958.61 0, 1038382.94 798956.342 0,
+ 1038098.638 798954.091 0, 1037814.336 798951.857 0, 1037530.034 798949.64 0, 1037245.731 798947.439 0, 1036961.429 798945.256 0, 1036677.126 798943.088 0, 1036392.824 798940.938 0, 1036108.521 798938.804 0, 1035824.218 798936.688 0, 1035539.915 798934.587 0,
+ 1035255.611 798932.504 0, 1034971.308 798930.437 0, 1034687.005 798928.387 0, 1034402.701 798926.354 0, 1034117.027 798924.328 0, 1033834.093 798922.338 0, 1033549.789 798920.355 0, 1033265.485 798918.388 0, 1032981.181 798916.439 0, 1032696.877 798914.506 0,
+ 1032412.572 798912.59 0, 1032128.268 798910.69 0, 1031843.963 798908.808 0, 1031559.658 798906.942 0, 1031275.354 798905.093 0, 1030991.049 798903.26 0, 1030706.744 798901.445 0, 1030422.438 798899.646 0, 1030138.133 798897.863 0, 1029853.828 798896.098 0,
+ 1029569.522 798894.349 0, 1029285.217 798892.617 0, 1029000.911 798890.902 0, 1028716.605 798889.203 0, 1028432.299 798887.521 0, 1028147.993 798885.856 0, 1027863.687 798884.208 0, 1027579.381 798882.576 0, 1027293.703 798880.954 0, 1027262.204 804455.697 0,
+ 1027230.703 810030.663 0, 1027515.721 810032.282 0, 1027799.371 810033.91 0, 1028083.021 810035.554 0, 1028366.67 810037.215 0, 1028650.32 810038.893 0, 1028933.97 810040.588 0, 1029217.619 810042.299 0, 1029501.268 810044.027 0, 1029784.918 810045.772 0,
+ 1030068.567 810047.534 0, 1030352.216 810049.312 0, 1030635.865 810051.106 0, 1030919.514 810052.918 0, 1031203.162 810054.746 0, 1031486.811 810056.591 0, 1031770.459 810058.453 0, 1032054.108 810060.331 0, 1032337.756 810062.226 0, 1032621.404 810064.138 0,
+ 1032905.052 810066.066 0, 1033188.7 810068.011 0, 1033472.348 810069.973 0, 1033755.996 810071.951 0, 1034038.276 810073.937 0, 1034323.291 810075.958 0, 1034606.938 810077.987 0, 1034890.586 810080.032 0, 1035174.233 810082.094 0, 1035457.88 810084.173 0,
+ 1035741.527 810086.268 0, 1036025.173 810088.38 0, 1036308.82 810090.509 0, 1036592.466 810092.654 0, 1036876.113 810094.816 0, 1037159.759 810096.995 0, 1037443.405 810099.191 0, 1037727.051 810101.403 0, 1038010.697 810103.632 0, 1038294.343 810105.877 0,
+ 1038577.988 810108.14 0, 1038861.634 810110.419 0, 1039145.279 810112.714 0, 1039428.924 810115.027 0, 1039712.569 810117.356 0, 1039996.214 810119.701 0, 1040279.859 810122.064 0, 1040563.504 810124.443 0, 1040845.782 810126.827 0, 1040893.033 804551.973 0,
+ 1040940.283 798977.34 0))
+
+POLYGON ((1054460.536 810261.456 0, 1054178.263 810258.275 0, 1053894.626 810255.094 0, 1053610.989 810251.93 0, 1053327.352 810248.783 0, 1053043.715 810245.653 0, 1052760.077 810242.539 0, 1052476.44 810239.442 0, 1052192.802 810236.362 0, 1051909.164 810233.298 0,
+ 1051625.525 810230.251 0, 1051341.887 810227.221 0, 1051058.248 810224.207 0, 1050774.609 810221.211 0, 1050490.971 810218.23 0, 1050207.331 810215.267 0, 1049923.692 810212.32 0, 1049640.053 810209.39 0, 1049356.413 810206.477 0, 1049072.773 810203.58 0,
+ 1048789.133 810200.7 0, 1048505.493 810197.837 0, 1048221.853 810194.99 0, 1047938.212 810192.16 0, 1047653.207 810189.334 0, 1047370.931 810186.551 0, 1047087.29 810183.771 0, 1046803.648 810181.008 0, 1046520.007 810178.261 0, 1046236.366 810175.532 0,
+ 1045952.724 810172.819 0, 1045669.082 810170.122 0, 1045385.44 810167.443 0, 1045101.798 810164.78 0, 1044818.156 810162.133 0, 1044534.513 810159.504 0, 1044250.871 810156.891 0, 1043967.228 810154.295 0, 1043683.585 810151.715 0, 1043399.942 810149.153 0,
+ 1043116.299 810146.606 0, 1042832.656 810144.077 0, 1042549.012 810141.564 0, 1042265.369 810139.068 0, 1041981.725 810136.589 0, 1041698.081 810134.126 0, 1041414.437 810131.681 0, 1041130.793 810129.251 0, 1040845.782 810126.827 0, 1040798.529 815701.899 0,
+ 1040751.275 821277.186 0, 1041035.625 821279.604 0, 1041318.613 821282.028 0, 1041601.601 821284.468 0, 1041884.589 821286.925 0, 1042167.576 821289.399 0, 1042450.564 821291.889 0, 1042733.551 821294.396 0, 1043016.538 821296.919 0, 1043299.525 821299.459 0,
+ 1043582.511 821302.016 0, 1043865.498 821304.59 0, 1044148.485 821307.18 0, 1044431.471 821309.787 0, 1044714.457 821312.41 0, 1044997.443 821315.05 0, 1045280.429 821317.707 0, 1045563.414 821320.381 0, 1045846.4 821323.071 0, 1046129.385 821325.777 0,
+ 1046412.371 821328.501 0, 1046695.356 821331.241 0, 1046978.34 821333.998 0, 1047261.325 821336.771 0, 1047542.948 821339.548 0, 1047827.294 821342.368 0, 1048110.278 821345.191 0, 1048393.262 821348.031 0, 1048676.246 821350.888 0, 1048959.23 821353.761 0,
+ 1049242.214 821356.651 0, 1049525.197 821359.558 0, 1049808.18 821362.481 0, 1050091.163 821365.421 0, 1050374.146 821368.378 0, 1050657.129 821371.351 0, 1050940.111 821374.341 0, 1051223.094 821377.347 0, 1051506.076 821380.37 0, 1051789.058 821383.41 0,
+ 1052072.039 821386.467 0, 1052355.021 821389.54 0, 1052638.003 821392.63 0, 1052920.984 821395.736 0, 1053203.965 821398.86 0, 1053486.946 821401.999 0, 1053769.926 821405.156 0, 1054052.907 821408.329 0, 1054334.527 821411.503 0, 1054397.533 815836.373 0,
+ 1054460.536 810261.456 0))
+
+POLYGON ((1067917.345 821584.196 0, 1067635.733 821580.225 0, 1067352.763 821576.253 0, 1067069.792 821572.297 0, 1066786.821 821568.358 0, 1066503.85 821564.435 0, 1066220.879 821560.529 0, 1065937.907 821556.64 0, 1065654.936 821552.767 0, 1065371.964 821548.911 0,
+ 1065088.991 821545.072 0, 1064806.019 821541.249 0, 1064523.046 821537.443 0, 1064240.073 821533.654 0, 1063957.1 821529.881 0, 1063674.127 821526.125 0, 1063391.153 821522.386 0, 1063108.179 821518.663 0, 1062825.205 821514.957 0, 1062542.231 821511.267 0,
+ 1062259.256 821507.595 0, 1061976.282 821503.938 0, 1061693.307 821500.299 0, 1061410.332 821496.676 0, 1061125.997 821493.053 0, 1060844.381 821489.48 0, 1060561.405 821485.908 0, 1060278.429 821482.351 0, 1059995.453 821478.812 0, 1059712.477 821475.289 0,
+ 1059429.5 821471.783 0, 1059146.523 821468.293 0, 1058863.546 821464.82 0, 1058580.569 821461.364 0, 1058297.592 821457.924 0, 1058014.614 821454.501 0, 1057731.636 821451.095 0, 1057448.658 821447.706 0, 1057165.68 821444.333 0, 1056882.702 821440.976 0,
+ 1056599.723 821437.637 0, 1056316.744 821434.313 0, 1056033.765 821431.007 0, 1055750.786 821427.717 0, 1055467.807 821424.444 0, 1055184.827 821421.188 0, 1054901.847 821417.948 0, 1054618.867 821414.725 0, 1054334.527 821411.503 0, 1054271.519 826986.845 0,
+ 1054208.508 832562.393 0, 1054492.189 832565.607 0, 1054774.513 832568.823 0, 1055056.836 832572.055 0, 1055339.16 832575.304 0, 1055621.483 832578.569 0, 1055903.806 832581.851 0, 1056186.128 832585.15 0, 1056468.451 832588.465 0, 1056750.773 832591.797 0,
+ 1057033.095 832595.146 0, 1057315.417 832598.511 0, 1057597.739 832601.893 0, 1057880.06 832605.291 0, 1058162.381 832608.706 0, 1058444.703 832612.138 0, 1058727.023 832615.586 0, 1059009.344 832619.051 0, 1059291.665 832622.532 0, 1059573.985 832626.031 0,
+ 1059856.305 832629.545 0, 1060138.625 832633.077 0, 1060420.944 832636.625 0, 1060703.264 832640.189 0, 1060984.227 832643.753 0, 1061267.902 832647.368 0, 1061550.221 832650.983 0, 1061832.54 832654.614 0, 1062114.858 832658.261 0, 1062397.176 832661.925 0,
+ 1062679.494 832665.606 0, 1062961.812 832669.304 0, 1063244.129 832673.018 0, 1063526.447 832676.749 0, 1063808.764 832680.496 0, 1064091.08 832684.26 0, 1064373.397 832688.041 0, 1064655.714 832691.838 0, 1064938.03 832695.652 0, 1065220.346 832699.482 0,
+ 1065502.661 832703.329 0, 1065784.977 832707.193 0, 1066067.292 832711.073 0, 1066349.607 832714.97 0, 1066631.922 832718.883 0, 1066914.237 832722.814 0, 1067196.551 832726.76 0, 1067478.865 832730.724 0, 1067759.824 832734.685 0, 1067838.586 827159.337 0,
+ 1067917.345 821584.196 0))
+
+POLYGON ((1081310.599 832945.26 0, 1081029.65 832940.506 0, 1080747.348 832935.745 0, 1080465.046 832931.001 0, 1080182.744 832926.273 0, 1079900.441 832921.562 0, 1079618.138 832916.867 0, 1079335.835 832912.189 0, 1079053.532 832907.528 0, 1078771.228 832902.884 0,
+ 1078488.924 832898.256 0, 1078206.62 832893.644 0, 1077924.315 832889.049 0, 1077642.01 832884.471 0, 1077359.705 832879.91 0, 1077077.4 832875.365 0, 1076795.094 832870.836 0, 1076512.788 832866.325 0, 1076230.482 832861.83 0, 1075948.176 832857.351 0,
+ 1075665.869 832852.889 0, 1075383.562 832848.444 0, 1075101.255 832844.016 0, 1074818.947 832839.604 0, 1074535.286 832835.187 0, 1074254.332 832830.829 0, 1073972.024 832826.467 0, 1073689.715 832822.122 0, 1073407.406 832817.793 0, 1073125.097 832813.48 0,
+ 1072842.788 832809.185 0, 1072560.478 832804.906 0, 1072278.169 832800.643 0, 1071995.859 832796.397 0, 1071713.548 832792.168 0, 1071431.238 832787.956 0, 1071148.927 832783.76 0, 1070866.616 832779.58 0, 1070584.305 832775.417 0, 1070301.993 832771.271 0,
+ 1070019.682 832767.142 0, 1069737.37 832763.029 0, 1069455.057 832758.933 0, 1069172.745 832754.853 0, 1068890.432 832750.79 0, 1068608.119 832746.743 0, 1068325.806 832742.714 0, 1068043.493 832738.7 0, 1067759.824 832734.685 0, 1067681.059 838310.236 0,
+ 1067602.291 843885.986 0, 1067885.3 843889.993 0, 1068166.957 843893.997 0, 1068448.614 843898.017 0, 1068730.271 843902.054 0, 1069011.927 843906.108 0, 1069293.583 843910.178 0, 1069575.239 843914.265 0, 1069856.895 843918.368 0, 1070138.55 843922.488 0,
+ 1070420.205 843926.625 0, 1070701.86 843930.778 0, 1070983.515 843934.947 0, 1071265.169 843939.134 0, 1071546.824 843943.336 0, 1071828.478 843947.556 0, 1072110.131 843951.792 0, 1072391.785 843956.044 0, 1072673.438 843960.313 0, 1072955.091 843964.599 0,
+ 1073236.743 843968.901 0, 1073518.396 843973.22 0, 1073800.048 843977.556 0, 1074081.7 843981.908 0, 1074362.001 843986.255 0, 1074645.003 843990.661 0, 1074926.654 843995.063 0, 1075208.305 843999.482 0, 1075489.956 844003.916 0, 1075771.606 844008.368 0,
+ 1076053.256 844012.836 0, 1076334.906 844017.321 0, 1076616.555 844021.822 0, 1076898.205 844026.34 0, 1077179.854 844030.874 0, 1077461.503 844035.425 0, 1077743.151 844039.992 0, 1078024.799 844044.577 0, 1078306.447 844049.177 0, 1078588.095 844053.794 0,
+ 1078869.742 844058.428 0, 1079151.39 844063.079 0, 1079433.036 844067.746 0, 1079714.683 844072.429 0, 1079996.329 844077.129 0, 1080277.975 844081.846 0, 1080559.621 844086.579 0, 1080841.267 844091.329 0, 1081121.562 844096.073 0, 1081216.082 838520.567 0,
+ 1081310.599 832945.26 0))
+
+POLYGON ((1094640.186 844344.353 0, 1094359.903 844338.817 0, 1094078.272 844333.272 0, 1093796.64 844327.743 0, 1093515.009 844322.23 0, 1093233.377 844316.734 0, 1092951.745 844311.255 0, 1092670.112 844305.793 0, 1092388.479 844300.346 0, 1092106.846 844294.917 0,
+ 1091825.212 844289.504 0, 1091543.579 844284.108 0, 1091261.944 844278.728 0, 1090980.31 844273.365 0, 1090698.675 844268.018 0, 1090417.04 844262.688 0, 1090135.405 844257.374 0, 1089853.769 844252.078 0, 1089572.133 844246.797 0, 1089290.497 844241.534 0,
+ 1089008.86 844236.286 0, 1088727.223 844231.056 0, 1088445.586 844225.842 0, 1088163.948 844220.644 0, 1087880.962 844215.439 0, 1087600.672 844210.299 0, 1087319.034 844205.151 0, 1087037.395 844200.02 0, 1086755.756 844194.906 0, 1086474.116 844189.808 0,
+ 1086192.477 844184.726 0, 1085910.837 844179.661 0, 1085629.196 844174.613 0, 1085347.556 844169.582 0, 1085065.915 844164.566 0, 1084784.274 844159.568 0, 1084502.632 844154.586 0, 1084220.99 844149.621 0, 1083939.348 844144.672 0, 1083657.706 844139.74 0,
+ 1083376.063 844134.824 0, 1083094.42 844129.925 0, 1082812.777 844125.042 0, 1082531.134 844120.177 0, 1082249.49 844115.327 0, 1081967.846 844110.494 0, 1081686.201 844105.678 0, 1081404.557 844100.879 0, 1081121.562 844096.073 0, 1081027.039 849671.774 0,
+ 1080932.512 855247.668 0, 1081214.847 855252.463 0, 1081495.836 855257.251 0, 1081776.824 855262.056 0, 1082057.811 855266.878 0, 1082338.799 855271.716 0, 1082619.786 855276.57 0, 1082900.773 855281.441 0, 1083181.759 855286.329 0, 1083462.746 855291.233 0,
+ 1083743.732 855296.154 0, 1084024.717 855301.091 0, 1084305.703 855306.045 0, 1084586.688 855311.015 0, 1084867.673 855316.002 0, 1085148.657 855321.006 0, 1085429.641 855326.026 0, 1085710.625 855331.062 0, 1085991.609 855336.115 0, 1086272.592 855341.185 0,
+ 1086553.575 855346.271 0, 1086834.558 855351.373 0, 1087115.541 855356.493 0, 1087396.523 855361.628 0, 1087676.159 855366.756 0, 1087958.486 855371.949 0, 1088239.467 855377.135 0, 1088520.448 855382.337 0, 1088801.429 855387.555 0, 1089082.409 855392.79 0,
+ 1089363.389 855398.041 0, 1089644.369 855403.309 0, 1089925.348 855408.594 0, 1090206.327 855413.895 0, 1090487.306 855419.213 0, 1090768.285 855424.547 0, 1091049.263 855429.898 0, 1091330.241 855435.265 0, 1091611.218 855440.649 0, 1091892.195 855446.049 0,
+ 1092173.172 855451.466 0, 1092454.149 855456.899 0, 1092735.125 855462.349 0, 1093016.101 855467.816 0, 1093297.076 855473.299 0, 1093578.052 855478.798 0, 1093859.027 855484.314 0, 1094140.001 855489.847 0, 1094419.631 855495.369 0, 1094529.91 849919.765 0,
+ 1094640.186 844344.353 0))
+
+POLYGON ((1107905.997 855781.173 0, 1107626.381 855774.861 0, 1107345.423 855768.534 0, 1107064.465 855762.224 0, 1106783.507 855755.931 0, 1106502.548 855749.654 0, 1106221.588 855743.394 0, 1105940.629 855737.15 0, 1105659.668 855730.923 0, 1105378.708 855724.712 0,
+ 1105097.747 855718.518 0, 1104816.786 855712.341 0, 1104535.825 855706.18 0, 1104254.863 855700.035 0, 1103973.9 855693.907 0, 1103692.938 855687.796 0, 1103411.975 855681.701 0, 1103131.011 855675.623 0, 1102850.048 855669.561 0, 1102569.084 855663.515 0,
+ 1102288.119 855657.487 0, 1102007.154 855651.475 0, 1101726.189 855645.479 0, 1101445.224 855639.5 0, 1101162.915 855633.509 0, 1100883.292 855627.591 0, 1100602.325 855621.662 0, 1100321.359 855615.749 0, 1100040.391 855609.852 0, 1099759.424 855603.972 0,
+ 1099478.456 855598.109 0, 1099197.488 855592.262 0, 1098916.519 855586.432 0, 1098635.55 855580.618 0, 1098354.581 855574.821 0, 1098073.611 855569.04 0, 1097792.641 855563.276 0, 1097511.671 855557.528 0, 1097230.7 855551.797 0, 1096949.729 855546.083 0,
+ 1096668.758 855540.385 0, 1096387.786 855534.703 0, 1096106.814 855529.038 0, 1095825.842 855523.39 0, 1095544.869 855517.758 0, 1095263.896 855512.143 0, 1094982.923 855506.544 0, 1094701.95 855500.962 0, 1094419.631 855495.369 0, 1094309.348 861071.162 0,
+ 1094199.062 866647.139 0, 1094480.721 866652.718 0, 1094761.038 866658.288 0, 1095041.355 866663.873 0, 1095321.671 866669.476 0, 1095601.988 866675.094 0, 1095882.304 866680.729 0, 1096162.619 866686.381 0, 1096442.934 866692.049 0, 1096723.249 866697.734 0,
+ 1097003.564 866703.435 0, 1097283.878 866709.153 0, 1097564.192 866714.887 0, 1097844.506 866720.638 0, 1098124.819 866726.405 0, 1098405.132 866732.189 0, 1098685.445 866737.989 0, 1098965.757 866743.805 0, 1099246.069 866749.639 0, 1099526.38 866755.488 0,
+ 1099806.691 866761.354 0, 1100087.002 866767.237 0, 1100367.313 866773.136 0, 1100647.623 866779.052 0, 1100926.593 866784.956 0, 1101208.242 866790.933 0, 1101488.551 866796.898 0, 1101768.86 866802.88 0, 1102049.169 866808.878 0, 1102329.477 866814.892 0,
+ 1102609.784 866820.924 0, 1102890.092 866826.971 0, 1103170.399 866833.035 0, 1103450.705 866839.116 0, 1103731.012 866845.213 0, 1104011.318 866851.327 0, 1104291.623 866857.457 0, 1104571.928 866863.604 0, 1104852.233 866869.767 0, 1105132.538 866875.947 0,
+ 1105412.842 866882.143 0, 1105693.145 866888.355 0, 1105973.449 866894.584 0, 1106253.752 866900.83 0, 1106534.054 866907.092 0, 1106814.357 866913.371 0, 1107094.659 866919.666 0, 1107374.96 866925.978 0, 1107653.922 866932.275 0, 1107779.962 861356.632 0,
+ 1107905.997 855781.173 0))
+
+POLYGON ((1121107.924 867255.423 0, 1120828.978 867248.337 0, 1120548.696 867241.233 0, 1120268.413 867234.146 0, 1119988.129 867227.076 0, 1119707.845 867220.022 0, 1119427.561 867212.984 0, 1119147.277 867205.963 0, 1118866.991 867198.959 0, 1118586.706 867191.971 0,
+ 1118306.42 867184.999 0, 1118026.134 867178.044 0, 1117745.847 867171.106 0, 1117465.56 867164.184 0, 1117185.272 867157.278 0, 1116904.984 867150.389 0, 1116624.696 867143.517 0, 1116344.407 867136.66 0, 1116064.118 867129.821 0, 1115783.829 867122.998 0,
+ 1115503.539 867116.191 0, 1115223.248 867109.401 0, 1114942.958 867102.628 0, 1114662.667 867095.871 0, 1114381.037 867089.098 0, 1114102.083 867082.406 0, 1113821.791 867075.698 0, 1113541.498 867069.007 0, 1113261.205 867062.333 0, 1112980.911 867055.675 0,
+ 1112700.617 867049.033 0, 1112420.323 867042.408 0, 1112140.028 867035.799 0, 1111859.733 867029.207 0, 1111579.438 867022.632 0, 1111299.142 867016.073 0, 1111018.846 867009.53 0, 1110738.549 867003.004 0, 1110458.252 866996.494 0, 1110177.955 866990.001 0,
+ 1109897.657 866983.525 0, 1109617.359 866977.065 0, 1109337.06 866970.621 0, 1109056.761 866964.194 0, 1108776.462 866957.783 0, 1108496.163 866951.389 0, 1108215.863 866945.011 0, 1107935.562 866938.65 0, 1107653.922 866932.275 0, 1107527.879 872508.099 0,
+ 1107401.832 878084.1 0, 1107682.812 878090.46 0, 1107962.456 878096.807 0, 1108242.1 878103.169 0, 1108521.743 878109.548 0, 1108801.386 878115.944 0, 1109081.028 878122.356 0, 1109360.67 878128.785 0, 1109640.312 878135.23 0, 1109919.954 878141.691 0,
+ 1110199.595 878148.169 0, 1110479.235 878154.663 0, 1110758.876 878161.174 0, 1111038.515 878167.701 0, 1111318.155 878174.245 0, 1111597.794 878180.805 0, 1111877.433 878187.382 0, 1112157.071 878193.975 0, 1112436.709 878200.585 0, 1112716.347 878207.211 0,
+ 1112995.984 878213.853 0, 1113275.62 878220.512 0, 1113555.257 878227.188 0, 1113834.893 878233.879 0, 1114113.194 878240.556 0, 1114394.164 878247.312 0, 1114673.798 878254.054 0, 1114953.433 878260.811 0, 1115233.067 878267.586 0, 1115512.7 878274.376 0,
+ 1115792.334 878281.183 0, 1116071.966 878288.007 0, 1116351.599 878294.847 0, 1116631.231 878301.703 0, 1116910.862 878308.576 0, 1117190.494 878315.466 0, 1117470.124 878322.371 0, 1117749.755 878329.294 0, 1118029.385 878336.232 0, 1118309.014 878343.188 0,
+ 1118588.643 878350.159 0, 1118868.272 878357.147 0, 1119147.9 878364.152 0, 1119427.528 878371.173 0, 1119707.156 878378.211 0, 1119986.783 878385.264 0, 1120266.41 878392.335 0, 1120546.036 878399.422 0, 1120824.328 878406.491 0, 1120966.128 872830.869 0,
+ 1121107.924 867255.423 0))
+
+POLYGON ((1134245.86 878766.802 0, 1133967.587 878758.946 0, 1133687.982 878751.069 0, 1133408.376 878743.209 0, 1133128.77 878735.365 0, 1132849.164 878727.537 0, 1132569.557 878719.726 0, 1132289.949 878711.932 0, 1132010.341 878704.154 0, 1131730.733 878696.392 0,
+ 1131451.124 878688.647 0, 1131171.515 878680.918 0, 1130891.905 878673.206 0, 1130612.295 878665.51 0, 1130332.685 878657.831 0, 1130053.073 878650.168 0, 1129773.462 878642.521 0, 1129493.85 878634.891 0, 1129214.238 878627.278 0, 1128934.625 878619.681 0,
+ 1128655.011 878612.1 0, 1128375.398 878604.536 0, 1128095.784 878596.988 0, 1127816.169 878589.457 0, 1127535.221 878581.907 0, 1127256.938 878574.444 0, 1126977.322 878566.962 0, 1126697.706 878559.497 0, 1126418.089 878552.048 0, 1126138.472 878544.615 0,
+ 1125858.854 878537.199 0, 1125579.236 878529.8 0, 1125299.617 878522.417 0, 1125019.998 878515.05 0, 1124740.379 878507.7 0, 1124460.759 878500.366 0, 1124181.139 878493.049 0, 1123901.518 878485.748 0, 1123621.897 878478.464 0, 1123342.275 878471.196 0,
+ 1123062.653 878463.944 0, 1122783.031 878456.709 0, 1122503.408 878449.491 0, 1122223.785 878442.289 0, 1121944.161 878435.103 0, 1121664.537 878427.934 0, 1121384.912 878420.781 0, 1121105.287 878413.645 0, 1120824.328 878406.491 0, 1120682.524 883982.287 0,
+ 1120540.715 889558.252 0, 1120821.014 889565.389 0, 1121099.983 889572.508 0, 1121378.951 889579.644 0, 1121657.919 889586.796 0, 1121936.886 889593.965 0, 1122215.853 889601.15 0, 1122494.82 889608.352 0, 1122773.786 889615.57 0, 1123052.752 889622.804 0,
+ 1123331.717 889630.055 0, 1123610.682 889637.323 0, 1123889.646 889644.606 0, 1124168.61 889651.906 0, 1124447.573 889659.223 0, 1124726.537 889666.556 0, 1125005.499 889673.905 0, 1125284.461 889681.271 0, 1125563.423 889688.653 0, 1125842.385 889696.052 0,
+ 1126121.346 889703.467 0, 1126400.306 889710.898 0, 1126679.266 889718.346 0, 1126958.226 889725.81 0, 1127235.855 889733.255 0, 1127516.144 889740.788 0, 1127795.102 889748.302 0, 1128074.06 889755.832 0, 1128353.017 889763.378 0, 1128631.974 889770.941 0,
+ 1128910.931 889778.52 0, 1129189.887 889786.116 0, 1129468.842 889793.728 0, 1129747.797 889801.356 0, 1130026.752 889809.001 0, 1130305.706 889816.663 0, 1130584.66 889824.34 0, 1130863.614 889832.035 0, 1131142.567 889839.745 0, 1131421.519 889847.472 0,
+ 1131700.471 889855.216 0, 1131979.423 889862.975 0, 1132258.374 889870.752 0, 1132537.324 889878.544 0, 1132816.274 889886.353 0, 1133095.224 889894.179 0, 1133374.173 889902.021 0, 1133653.122 889909.879 0, 1133930.742 889917.716 0, 1134088.304 884342.174 0,
+ 1134245.86 878766.802 0))
+
+POLYGON ((1147319.701 890315.009 0, 1147042.102 890306.387 0, 1146763.176 890297.741 0, 1146484.25 890289.111 0, 1146205.324 890280.497 0, 1145926.397 890271.9 0, 1145647.469 890263.32 0, 1145368.541 890254.755 0, 1145089.613 890246.207 0, 1144810.684 890237.676 0,
+ 1144531.754 890229.161 0, 1144252.824 890220.662 0, 1143973.894 890212.18 0, 1143694.963 890203.714 0, 1143416.031 890195.265 0, 1143137.099 890186.832 0, 1142858.167 890178.415 0, 1142579.234 890170.015 0, 1142300.3 890161.631 0, 1142021.366 890153.264 0,
+ 1141742.432 890144.913 0, 1141463.497 890136.579 0, 1141184.561 890128.261 0, 1140905.625 890119.959 0, 1140625.362 890111.634 0, 1140347.752 890103.405 0, 1140068.815 890095.153 0, 1139789.877 890086.917 0, 1139510.938 890078.697 0, 1139231.999 890070.494 0,
+ 1138953.06 890062.307 0, 1138674.12 890054.137 0, 1138395.18 890045.983 0, 1138116.239 890037.846 0, 1137837.298 890029.725 0, 1137558.356 890021.62 0, 1137279.414 890013.532 0, 1137000.471 890005.46 0, 1136721.528 889997.405 0, 1136442.584 889989.366 0,
+ 1136163.64 889981.343 0, 1135884.696 889973.337 0, 1135605.751 889965.347 0, 1135326.805 889957.374 0, 1135047.859 889949.417 0, 1134768.913 889941.477 0, 1134489.966 889933.553 0, 1134211.018 889925.645 0, 1133930.742 889917.716 0, 1133773.176 895493.424 0,
+ 1133615.606 901069.293 0, 1133895.222 901077.203 0, 1134173.513 901085.092 0, 1134451.804 901092.997 0, 1134730.094 901100.919 0, 1135008.384 901108.857 0, 1135286.673 901116.812 0, 1135564.962 901124.783 0, 1135843.25 901132.77 0, 1136121.538 901140.774 0,
+ 1136399.825 901148.794 0, 1136678.112 901156.83 0, 1136956.398 901164.883 0, 1137234.684 901172.952 0, 1137512.969 901181.038 0, 1137791.254 901189.14 0, 1138069.539 901197.258 0, 1138347.823 901205.393 0, 1138626.106 901213.544 0, 1138904.389 901221.711 0,
+ 1139182.672 901229.895 0, 1139460.954 901238.095 0, 1139739.235 901246.312 0, 1140017.516 901254.545 0, 1140294.473 901262.755 0, 1140574.077 901271.06 0, 1140852.357 901279.342 0, 1141130.636 901287.64 0, 1141408.914 901295.955 0, 1141687.193 901304.286 0,
+ 1141965.47 901312.634 0, 1142243.747 901320.998 0, 1142522.024 901329.378 0, 1142800.3 901337.775 0, 1143078.576 901346.188 0, 1143356.851 901354.618 0, 1143635.126 901363.064 0, 1143913.4 901371.526 0, 1144191.674 901380.005 0, 1144469.947 901388.5 0,
+ 1144748.22 901397.011 0, 1145026.492 901405.539 0, 1145304.763 901414.083 0, 1145583.035 901422.644 0, 1145861.305 901431.22 0, 1146139.576 901439.814 0, 1146417.845 901448.423 0, 1146696.114 901457.049 0, 1146973.06 901465.651 0, 1147146.383 895890.249 0,
+ 1147319.701 890315.009 0))
+
+POLYGON ((1160329.342 901899.744 0, 1160052.419 901890.36 0, 1159774.175 901880.948 0, 1159495.931 901871.552 0, 1159217.686 901862.173 0, 1158939.441 901852.81 0, 1158661.195 901843.463 0, 1158382.949 901834.133 0, 1158104.702 901824.819 0, 1157826.454 901815.521 0,
+ 1157548.206 901806.24 0, 1157269.957 901796.976 0, 1156991.708 901787.727 0, 1156713.458 901778.495 0, 1156435.208 901769.279 0, 1156156.957 901760.08 0, 1155878.706 901750.897 0, 1155600.454 901741.731 0, 1155322.202 901732.581 0, 1155043.949 901723.447 0,
+ 1154765.695 901714.329 0, 1154487.441 901705.228 0, 1154209.187 901696.144 0, 1153930.932 901687.076 0, 1153651.354 901677.981 0, 1153374.42 901668.988 0, 1153096.163 901659.969 0, 1152817.906 901650.966 0, 1152539.648 901641.98 0, 1152261.39 901633.01 0,
+ 1151983.131 901624.056 0, 1151704.872 901615.119 0, 1151426.612 901606.198 0, 1151148.351 901597.294 0, 1150870.09 901588.406 0, 1150591.829 901579.534 0, 1150313.567 901570.679 0, 1150035.304 901561.84 0, 1149757.041 901553.017 0, 1149478.778 901544.211 0,
+ 1149200.514 901535.421 0, 1148922.249 901526.647 0, 1148643.984 901517.89 0, 1148365.719 901509.15 0, 1148087.453 901500.425 0, 1147809.186 901491.717 0, 1147530.919 901483.026 0, 1147252.651 901474.351 0, 1146973.06 901465.651 0, 1146799.733 907041.21 0,
+ 1146626.4 912616.923 0, 1146905.332 912625.603 0, 1147182.943 912634.257 0, 1147460.554 912642.929 0, 1147738.164 912651.616 0, 1148015.774 912660.32 0, 1148293.383 912669.04 0, 1148570.992 912677.776 0, 1148848.6 912686.529 0, 1149126.208 912695.298 0,
+ 1149403.815 912704.084 0, 1149681.422 912712.885 0, 1149959.028 912721.703 0, 1150236.633 912730.538 0, 1150514.238 912739.389 0, 1150791.843 912748.256 0, 1151069.447 912757.139 0, 1151347.051 912766.039 0, 1151624.654 912774.955 0, 1151902.256 912783.888 0,
+ 1152179.858 912792.837 0, 1152457.46 912801.802 0, 1152735.061 912810.783 0, 1153012.661 912819.781 0, 1153288.942 912828.752 0, 1153567.86 912837.826 0, 1153845.459 912846.873 0, 1154123.057 912855.936 0, 1154400.655 912865.015 0, 1154678.252 912874.111 0,
+ 1154955.849 912883.224 0, 1155233.445 912892.352 0, 1155511.041 912901.497 0, 1155788.636 912910.658 0, 1156066.23 912919.836 0, 1156343.824 912929.03 0, 1156621.417 912938.24 0, 1156899.01 912947.467 0, 1157176.603 912956.71 0, 1157454.194 912965.969 0,
+ 1157731.786 912975.244 0, 1158009.376 912984.536 0, 1158286.967 912993.845 0, 1158564.556 913003.169 0, 1158842.145 913012.51 0, 1159119.734 913021.868 0, 1159397.322 913031.241 0, 1159674.909 913040.631 0, 1159951.178 913049.993 0, 1160140.263 907474.792 0,
+ 1160329.342 901899.744 0))
+
+POLYGON ((1173274.68 913520.705 0, 1172998.436 913510.563 0, 1172720.876 913500.389 0, 1172443.316 913490.231 0, 1172165.755 913480.09 0, 1171888.194 913469.965 0, 1171610.631 913459.856 0, 1171333.069 913449.763 0, 1171055.505 913439.687 0, 1170777.941 913429.627 0,
+ 1170500.377 913419.584 0, 1170222.812 913409.557 0, 1169945.246 913399.546 0, 1169667.68 913389.551 0, 1169390.113 913379.573 0, 1169112.545 913369.611 0, 1168834.977 913359.666 0, 1168557.409 913349.737 0, 1168279.839 913339.824 0, 1168002.27 913329.928 0,
+ 1167724.699 913320.048 0, 1167447.128 913310.184 0, 1167169.557 913300.336 0, 1166891.985 913290.505 0, 1166613.096 913280.644 0, 1166336.839 913270.892 0, 1166059.265 913261.11 0, 1165781.69 913251.344 0, 1165504.115 913241.595 0, 1165226.54 913231.862 0,
+ 1164948.964 913222.145 0, 1164671.387 913212.445 0, 1164393.81 913202.761 0, 1164116.232 913193.093 0, 1163838.653 913183.441 0, 1163561.074 913173.806 0, 1163283.495 913164.188 0, 1163005.915 913154.585 0, 1162728.334 913144.999 0, 1162450.753 913135.43 0,
+ 1162173.171 913125.876 0, 1161895.588 913116.339 0, 1161618.005 913106.819 0, 1161340.422 913097.314 0, 1161062.838 913087.826 0, 1160785.253 913078.354 0, 1160507.668 913068.899 0, 1160230.082 913059.46 0, 1159951.178 913049.993 0, 1159762.089 918625.344 0,
+ 1159572.995 924200.841 0, 1159851.239 924210.286 0, 1160128.169 924219.703 0, 1160405.098 924229.136 0, 1160682.026 924238.585 0, 1160958.954 924248.051 0, 1161235.881 924257.533 0, 1161512.808 924267.031 0, 1161789.734 924276.545 0, 1162066.659 924286.076 0,
+ 1162343.584 924295.623 0, 1162620.509 924305.186 0, 1162897.432 924314.766 0, 1163174.356 924324.362 0, 1163451.278 924333.974 0, 1163728.201 924343.603 0, 1164005.122 924353.248 0, 1164282.043 924362.909 0, 1164558.964 924372.586 0, 1164835.883 924382.28 0,
+ 1165112.803 924391.99 0, 1165389.721 924401.717 0, 1165666.64 924411.459 0, 1165943.557 924421.218 0, 1166219.161 924430.947 0, 1166497.391 924440.785 0, 1166774.306 924450.593 0, 1167051.222 924460.417 0, 1167328.136 924470.258 0, 1167605.05 924480.114 0,
+ 1167881.964 924489.987 0, 1168158.877 924499.877 0, 1168435.789 924509.782 0, 1168712.701 924519.704 0, 1168989.612 924529.642 0, 1169266.523 924539.597 0, 1169543.433 924549.568 0, 1169820.342 924559.555 0, 1170097.251 924569.558 0, 1170374.16 924579.578 0,
+ 1170651.067 924589.614 0, 1170927.974 924599.667 0, 1171204.881 924609.735 0, 1171481.787 924619.82 0, 1171758.692 924629.921 0, 1172035.597 924640.039 0, 1172312.501 924650.173 0, 1172589.404 924660.323 0, 1172864.995 924670.441 0, 1173069.84 919095.5 0,
+ 1173274.68 913520.705 0))
+
+POLYGON ((1186155.615 925177.591 0, 1185880.052 925166.694 0, 1185603.178 925155.762 0, 1185326.304 925144.846 0, 1185049.429 925133.946 0, 1184772.553 925123.063 0, 1184495.677 925112.195 0, 1184218.8 925101.344 0, 1183941.923 925090.51 0, 1183665.044 925079.692 0,
+ 1183388.165 925068.89 0, 1183111.286 925058.104 0, 1182834.406 925047.334 0, 1182557.525 925036.581 0, 1182280.644 925025.844 0, 1182003.762 925015.124 0, 1181726.879 925004.42 0, 1181449.996 924993.732 0, 1181173.112 924983.06 0, 1180896.227 924972.405 0,
+ 1180619.342 924961.766 0, 1180342.456 924951.143 0, 1180065.57 924940.537 0, 1179788.683 924929.946 0, 1179510.484 924919.323 0, 1179234.907 924908.815 0, 1178958.018 924898.274 0, 1178681.129 924887.749 0, 1178404.238 924877.24 0, 1178127.348 924866.748 0,
+ 1177850.456 924856.272 0, 1177573.564 924845.812 0, 1177296.672 924835.368 0, 1177019.779 924824.941 0, 1176742.885 924814.53 0, 1176465.99 924804.136 0, 1176189.095 924793.757 0, 1175912.2 924783.395 0, 1175635.303 924773.05 0, 1175358.406 924762.72 0,
+ 1175081.509 924752.407 0, 1174804.611 924742.11 0, 1174527.712 924731.83 0, 1174250.813 924721.566 0, 1173973.913 924711.318 0, 1173697.012 924701.086 0, 1173420.111 924690.871 0, 1173143.21 924680.672 0, 1172864.995 924670.441 0, 1172660.145 930245.524 0,
+ 1172455.289 935820.745 0, 1172732.844 935830.952 0, 1173009.09 935841.127 0, 1173285.334 935851.318 0, 1173561.579 935861.525 0, 1173837.822 935871.749 0, 1174114.065 935881.988 0, 1174390.308 935892.245 0, 1174666.55 935902.517 0, 1174942.791 935912.806 0,
+ 1175219.031 935923.111 0, 1175495.271 935933.432 0, 1175771.511 935943.769 0, 1176047.75 935954.123 0, 1176323.988 935964.493 0, 1176600.225 935974.879 0, 1176876.462 935985.281 0, 1177152.699 935995.7 0, 1177428.934 936006.135 0, 1177705.169 936016.586 0,
+ 1177981.404 936027.054 0, 1178257.638 936037.538 0, 1178533.871 936048.038 0, 1178810.104 936058.554 0, 1179085.028 936069.037 0, 1179362.567 936079.635 0, 1179638.798 936090.2 0, 1179915.028 936100.782 0, 1180191.258 936111.379 0, 1180467.487 936121.993 0,
+ 1180743.715 936132.623 0, 1181019.943 936143.27 0, 1181296.17 936153.932 0, 1181572.396 936164.611 0, 1181848.622 936175.306 0, 1182124.847 936186.018 0, 1182401.071 936196.745 0, 1182677.295 936207.489 0, 1182953.519 936218.249 0, 1183229.741 936229.026 0,
+ 1183505.963 936239.818 0, 1183782.185 936250.627 0, 1184058.405 936261.452 0, 1184334.625 936272.294 0, 1184610.845 936283.152 0, 1184887.064 936294.025 0, 1185163.282 936304.916 0, 1185439.499 936315.822 0, 1185714.409 936326.693 0, 1185935.015 930752.073 0,
+ 1186155.615 925177.591 0))
+
+POLYGON ((1198972.047 936870.099 0, 1198697.167 936858.451 0, 1198420.981 936846.764 0, 1198144.795 936835.094 0, 1197868.608 936823.439 0, 1197592.42 936811.801 0, 1197316.232 936800.18 0, 1197040.043 936788.574 0, 1196763.853 936776.985 0, 1196487.663 936765.412 0,
+ 1196211.472 936753.855 0, 1195935.28 936742.315 0, 1195659.088 936730.79 0, 1195382.895 936719.282 0, 1195106.701 936707.791 0, 1194830.506 936696.315 0, 1194554.311 936684.856 0, 1194278.115 936673.413 0, 1194001.919 936661.986 0, 1193725.722 936650.576 0,
+ 1193449.524 936639.182 0, 1193173.325 936627.804 0, 1192897.126 936616.442 0, 1192620.926 936605.097 0, 1192343.42 936593.714 0, 1192068.525 936582.455 0, 1191792.323 936571.158 0, 1191516.12 936559.878 0, 1191239.917 936548.614 0, 1190963.713 936537.366 0,
+ 1190687.509 936526.134 0, 1190411.304 936514.919 0, 1190135.098 936503.72 0, 1189858.892 936492.537 0, 1189582.684 936481.37 0, 1189306.477 936470.22 0, 1189030.268 936459.086 0, 1188754.059 936447.968 0, 1188477.849 936436.866 0, 1188201.639 936425.781 0,
+ 1187925.428 936414.712 0, 1187649.216 936403.659 0, 1187373.004 936392.623 0, 1187096.791 936381.602 0, 1186820.577 936370.598 0, 1186544.363 936359.611 0, 1186268.148 936348.639 0, 1185991.932 936337.684 0, 1185714.409 936326.693 0, 1185493.798 941901.447 0,
+ 1185273.182 947476.332 0, 1185550.046 947487.297 0, 1185825.605 947498.226 0, 1186101.164 947509.171 0, 1186376.722 947520.133 0, 1186652.279 947531.111 0, 1186927.836 947542.105 0, 1187203.392 947553.115 0, 1187478.948 947564.142 0, 1187754.502 947575.185 0,
+ 1188030.057 947586.244 0, 1188305.61 947597.319 0, 1188581.163 947608.41 0, 1188856.715 947619.518 0, 1189132.267 947630.642 0, 1189407.818 947641.782 0, 1189683.368 947652.938 0, 1189958.918 947664.11 0, 1190234.466 947675.299 0, 1190510.015 947686.504 0,
+ 1190785.562 947697.725 0, 1191061.109 947708.963 0, 1191336.656 947720.216 0, 1191612.201 947731.486 0, 1191886.444 947742.719 0, 1192163.29 947754.074 0, 1192438.834 947765.393 0, 1192714.377 947776.727 0, 1192989.919 947788.078 0, 1193265.461 947799.445 0,
+ 1193541.002 947810.829 0, 1193816.542 947822.228 0, 1194092.082 947833.644 0, 1194367.621 947845.076 0, 1194643.159 947856.524 0, 1194918.697 947867.989 0, 1195194.234 947879.469 0, 1195469.77 947890.966 0, 1195745.305 947902.479 0, 1196020.84 947914.008 0,
+ 1196296.374 947925.554 0, 1196571.908 947937.116 0, 1196847.441 947948.694 0, 1197122.973 947960.288 0, 1197398.504 947971.898 0, 1197674.035 947983.525 0, 1197949.565 947995.168 0, 1198225.095 948006.827 0, 1198499.322 948018.447 0, 1198735.688 942444.208 0,
+ 1198972.047 936870.099 0))
+
+POLYGON ((1211723.878 948597.925 0, 1211449.682 948585.53 0, 1211174.187 948573.093 0, 1210898.691 948560.672 0, 1210623.194 948548.267 0, 1210347.696 948535.878 0, 1210072.198 948523.506 0, 1209796.699 948511.149 0, 1209521.199 948498.809 0, 1209245.699 948486.485 0,
+ 1208970.197 948474.178 0, 1208694.696 948461.886 0, 1208419.193 948449.611 0, 1208143.69 948437.352 0, 1207868.185 948425.109 0, 1207592.681 948412.882 0, 1207317.175 948400.672 0, 1207041.669 948388.478 0, 1206766.162 948376.3 0, 1206490.654 948364.138 0,
+ 1206215.146 948351.993 0, 1205939.637 948339.863 0, 1205664.127 948327.75 0, 1205388.616 948315.653 0, 1205111.805 948303.516 0, 1204837.593 948291.508 0, 1204562.08 948279.46 0, 1204286.567 948267.428 0, 1204011.053 948255.412 0, 1203735.538 948243.413 0,
+ 1203460.022 948231.429 0, 1203184.506 948219.462 0, 1202908.989 948207.511 0, 1202633.472 948195.577 0, 1202357.953 948183.658 0, 1202082.434 948171.756 0, 1201806.915 948159.87 0, 1201531.394 948148 0, 1201255.873 948136.146 0, 1200980.351 948124.309 0,
+ 1200704.829 948112.488 0, 1200429.305 948100.683 0, 1200153.782 948088.894 0, 1199878.257 948077.121 0, 1199602.732 948065.365 0, 1199327.206 948053.625 0, 1199051.679 948041.901 0, 1198776.152 948030.193 0, 1198499.322 948018.447 0, 1198262.951 953592.812 0,
+ 1198026.576 959167.3 0, 1198302.746 959179.018 0, 1198577.617 959190.698 0, 1198852.487 959202.394 0, 1199127.357 959214.106 0, 1199402.226 959225.835 0, 1199677.095 959237.579 0, 1199951.962 959249.34 0, 1200226.829 959261.117 0, 1200501.696 959272.91 0,
+ 1200776.561 959284.719 0, 1201051.426 959296.544 0, 1201326.291 959308.386 0, 1201601.154 959320.244 0, 1201876.017 959332.118 0, 1202150.879 959344.008 0, 1202425.741 959355.914 0, 1202700.601 959367.836 0, 1202975.461 959379.775 0, 1203250.321 959391.73 0,
+ 1203525.179 959403.701 0, 1203800.037 959415.688 0, 1204074.895 959427.691 0, 1204349.751 959439.711 0, 1204623.31 959451.69 0, 1204899.462 959463.799 0, 1205174.316 959475.867 0, 1205449.17 959487.951 0, 1205724.023 959500.051 0, 1205998.875 959512.168 0,
+ 1206273.727 959524.301 0, 1206548.578 959536.45 0, 1206823.428 959548.615 0, 1207098.277 959560.796 0, 1207373.126 959572.994 0, 1207647.974 959585.207 0, 1207922.821 959597.437 0, 1208197.668 959609.683 0, 1208472.513 959621.945 0, 1208747.358 959634.224 0,
+ 1209022.203 959646.518 0, 1209297.046 959658.829 0, 1209571.889 959671.156 0, 1209846.732 959683.499 0, 1210121.573 959695.858 0, 1210396.414 959708.234 0, 1210671.254 959720.625 0, 1210946.093 959733.033 0, 1211219.636 959745.398 0, 1211471.759 954171.601 0,
+ 1211723.878 948597.925 0))
+
+POLYGON ((1224411.01 960360.767 0, 1224137.501 960347.629 0, 1223862.698 960334.445 0, 1223587.894 960321.277 0, 1223313.089 960308.125 0, 1223038.284 960294.989 0, 1222763.478 960281.87 0, 1222488.671 960268.766 0, 1222213.863 960255.679 0, 1221939.054 960242.608 0,
+ 1221664.245 960229.554 0, 1221389.435 960216.515 0, 1221114.624 960203.492 0, 1220839.813 960190.486 0, 1220565 960177.496 0, 1220290.187 960164.522 0, 1220015.373 960151.564 0, 1219740.559 960138.623 0, 1219465.743 960125.697 0, 1219190.927 960112.788 0,
+ 1218916.11 960099.895 0, 1218641.292 960087.018 0, 1218366.474 960074.158 0, 1218091.655 960061.313 0, 1217815.54 960048.424 0, 1217542.014 960035.672 0, 1217267.193 960022.876 0, 1216992.37 960010.097 0, 1216717.547 959997.333 0, 1216442.724 959984.586 0,
+ 1216167.899 959971.854 0, 1215893.074 959959.139 0, 1215618.248 959946.44 0, 1215343.421 959933.757 0, 1215068.594 959921.091 0, 1214793.766 959908.44 0, 1214518.937 959895.806 0, 1214244.107 959883.188 0, 1213969.277 959870.586 0, 1213694.445 959858 0,
+ 1213419.613 959845.431 0, 1213144.781 959832.878 0, 1212869.947 959820.34 0, 1212595.113 959807.819 0, 1212320.278 959795.314 0, 1212045.443 959782.826 0, 1211770.606 959770.353 0, 1211495.769 959757.897 0, 1211219.636 959745.398 0, 1210967.506 965319.314 0,
+ 1210715.372 970893.345 0, 1210990.846 970905.813 0, 1211265.027 970918.24 0, 1211539.208 970930.683 0, 1211813.387 970943.142 0, 1212087.566 970955.617 0, 1212361.744 970968.108 0, 1212635.921 970980.615 0, 1212910.098 970993.138 0, 1213184.273 971005.678 0,
+ 1213458.448 971018.234 0, 1213732.623 971030.805 0, 1214006.796 971043.393 0, 1214280.969 971055.997 0, 1214555.141 971068.618 0, 1214829.313 971081.254 0, 1215103.483 971093.906 0, 1215377.653 971106.575 0, 1215651.822 971119.26 0, 1215925.99 971131.961 0,
+ 1216200.158 971144.678 0, 1216474.325 971157.411 0, 1216748.491 971170.16 0, 1217022.656 971182.926 0, 1217295.529 971195.647 0, 1217570.985 971208.505 0, 1217845.148 971221.319 0, 1218119.31 971234.149 0, 1218393.472 971246.995 0, 1218667.633 971259.857 0,
+ 1218941.793 971272.736 0, 1219215.952 971285.63 0, 1219490.111 971298.541 0, 1219764.269 971311.468 0, 1220038.426 971324.411 0, 1220312.582 971337.37 0, 1220586.737 971350.345 0, 1220860.892 971363.336 0, 1221135.046 971376.344 0, 1221409.199 971389.368 0,
+ 1221683.352 971402.407 0, 1221957.503 971415.463 0, 1222231.654 971428.535 0, 1222505.805 971441.623 0, 1222779.954 971454.728 0, 1223054.102 971467.848 0, 1223328.25 971480.985 0, 1223602.397 971494.138 0, 1223875.253 971507.244 0, 1224143.134 965933.949 0,
+ 1224411.01 960360.767 0))
+
+POLYGON ((1237033.347 972158.321 0, 1236760.528 972144.443 0, 1236486.419 972130.516 0, 1236212.309 972116.605 0, 1235938.199 972102.71 0, 1235664.088 972088.831 0, 1235389.975 972074.969 0, 1235115.863 972061.122 0, 1234841.749 972047.292 0, 1234567.634 972033.477 0,
+ 1234293.519 972019.679 0, 1234019.403 972005.897 0, 1233745.286 971992.131 0, 1233471.168 971978.382 0, 1233197.05 971964.648 0, 1232922.93 971950.931 0, 1232648.81 971937.229 0, 1232374.689 971923.544 0, 1232100.567 971909.875 0, 1231826.445 971896.222 0,
+ 1231552.321 971882.585 0, 1231278.197 971868.965 0, 1231004.072 971855.36 0, 1230729.946 971841.772 0, 1230454.53 971828.136 0, 1230181.692 971814.644 0, 1229907.564 971801.104 0, 1229633.435 971787.58 0, 1229359.305 971774.072 0, 1229085.175 971760.581 0,
+ 1228811.043 971747.105 0, 1228536.911 971733.646 0, 1228262.778 971720.203 0, 1227988.644 971706.776 0, 1227714.51 971693.365 0, 1227440.374 971679.97 0, 1227166.238 971666.591 0, 1226892.101 971653.229 0, 1226617.964 971639.882 0, 1226343.825 971626.552 0,
+ 1226069.686 971613.238 0, 1225795.546 971599.94 0, 1225521.405 971586.658 0, 1225247.263 971573.393 0, 1224973.121 971560.143 0, 1224698.978 971546.91 0, 1224424.834 971533.693 0, 1224150.689 971520.491 0, 1223875.253 971507.244 0, 1223607.367 977080.65 0,
+ 1223339.475 982654.163 0, 1223614.252 982667.378 0, 1223887.741 982680.547 0, 1224161.229 982693.733 0, 1224434.716 982706.935 0, 1224708.202 982720.153 0, 1224981.688 982733.387 0, 1225255.172 982746.637 0, 1225528.656 982759.903 0, 1225802.14 982773.185 0,
+ 1226075.622 982786.483 0, 1226349.104 982799.798 0, 1226622.584 982813.128 0, 1226896.065 982826.475 0, 1227169.544 982839.837 0, 1227443.022 982853.216 0, 1227716.5 982866.611 0, 1227989.977 982880.022 0, 1228263.453 982893.449 0, 1228536.928 982906.892 0,
+ 1228810.403 982920.352 0, 1229083.877 982933.827 0, 1229357.35 982947.319 0, 1229630.822 982960.826 0, 1229903.007 982974.286 0, 1230177.764 982987.889 0, 1230451.233 983001.445 0, 1230724.702 983015.017 0, 1230998.171 983028.605 0, 1231271.638 983042.209 0,
+ 1231545.105 983055.83 0, 1231818.57 983069.466 0, 1232092.035 983083.118 0, 1232365.499 983096.787 0, 1232638.963 983110.472 0, 1232912.425 983124.172 0, 1233185.887 983137.889 0, 1233459.348 983151.622 0, 1233732.808 983165.371 0, 1234006.268 983179.136 0,
+ 1234279.726 983192.917 0, 1234553.184 983206.715 0, 1234826.641 983220.528 0, 1235100.097 983234.357 0, 1235373.552 983248.203 0, 1235647.006 983262.065 0, 1235920.46 983275.942 0, 1236193.913 983289.836 0, 1236466.08 983303.681 0, 1236749.716 977730.948 0,
+ 1237033.347 972158.321 0))
+
+POLYGON ((1249590.796 983990.282 0, 1249318.668 983975.668 0, 1249045.255 983961.002 0, 1248771.842 983946.352 0, 1248498.428 983931.717 0, 1248225.013 983917.099 0, 1247951.597 983902.497 0, 1247678.18 983887.911 0, 1247404.763 983873.342 0, 1247131.344 983858.788 0,
+ 1246857.925 983844.25 0, 1246584.504 983829.729 0, 1246311.083 983815.223 0, 1246037.662 983800.734 0, 1245764.239 983786.261 0, 1245490.815 983771.804 0, 1245217.391 983757.363 0, 1244943.965 983742.938 0, 1244670.539 983728.529 0, 1244397.112 983714.136 0,
+ 1244123.684 983699.759 0, 1243850.256 983685.399 0, 1243576.826 983671.054 0, 1243303.396 983656.726 0, 1243028.68 983642.346 0, 1242756.533 983628.117 0, 1242483.1 983613.837 0, 1242209.666 983599.573 0, 1241936.231 983585.325 0, 1241662.796 983571.093 0,
+ 1241389.36 983556.878 0, 1241115.922 983542.678 0, 1240842.485 983528.494 0, 1240569.046 983514.327 0, 1240295.606 983500.176 0, 1240022.166 983486.04 0, 1239748.724 983471.921 0, 1239475.282 983457.818 0, 1239201.839 983443.731 0, 1238928.396 983429.66 0,
+ 1238654.951 983415.605 0, 1238381.506 983401.567 0, 1238108.059 983387.544 0, 1237834.612 983373.537 0, 1237561.165 983359.547 0, 1237287.716 983345.573 0, 1237014.266 983331.614 0, 1236740.816 983317.672 0, 1236466.08 983303.681 0, 1236182.438 988876.516 0,
+ 1235898.791 994449.45 0, 1236172.868 994463.407 0, 1236445.663 994477.316 0, 1236718.456 994491.241 0, 1236991.249 994505.182 0, 1237264.041 994519.139 0, 1237536.832 994533.111 0, 1237809.622 994547.1 0, 1238082.411 994561.105 0, 1238355.2 994575.127 0,
+ 1238627.988 994589.164 0, 1238900.775 994603.217 0, 1239173.561 994617.286 0, 1239446.346 994631.371 0, 1239719.13 994645.473 0, 1239991.914 994659.59 0, 1240264.697 994673.724 0, 1240537.479 994687.873 0, 1240810.26 994702.039 0, 1241083.04 994716.22 0,
+ 1241355.82 994730.418 0, 1241628.598 994744.632 0, 1241901.376 994758.862 0, 1242174.153 994773.108 0, 1242445.648 994787.303 0, 1242719.704 994801.647 0, 1242992.479 994815.942 0, 1243265.252 994830.252 0, 1243538.025 994844.578 0, 1243810.797 994858.92 0,
+ 1244083.568 994873.278 0, 1244356.338 994887.652 0, 1244629.108 994902.043 0, 1244901.876 994916.449 0, 1245174.644 994930.872 0, 1245447.41 994945.31 0, 1245720.176 994959.765 0, 1245992.942 994974.235 0, 1246265.706 994988.722 0, 1246538.469 995003.225 0,
+ 1246811.232 995017.744 0, 1247083.993 995032.278 0, 1247356.754 995046.829 0, 1247629.514 995061.396 0, 1247902.273 995075.979 0, 1248175.032 995090.578 0, 1248447.789 995105.194 0, 1248720.546 995119.825 0, 1248992.021 995134.403 0, 1249291.412 989562.293 0,
+ 1249590.796 983990.282 0))
+
+POLYGON ((1262083.264 995856.345 0, 1261811.829 995840.999 0, 1261539.115 995825.598 0, 1261266.4 995810.212 0, 1260993.684 995794.842 0, 1260720.967 995779.489 0, 1260448.249 995764.151 0, 1260175.53 995748.83 0, 1259902.811 995733.524 0, 1259630.091 995718.235 0,
+ 1259357.369 995702.962 0, 1259084.647 995687.705 0, 1258811.924 995672.463 0, 1258539.2 995657.238 0, 1258266.475 995642.029 0, 1257993.749 995626.836 0, 1257721.022 995611.659 0, 1257448.295 995596.498 0, 1257175.566 995581.353 0, 1256902.837 995566.225 0,
+ 1256630.107 995551.112 0, 1256357.375 995536.015 0, 1256084.643 995520.934 0, 1255811.91 995505.87 0, 1255537.898 995490.751 0, 1255266.442 995475.789 0, 1254993.706 995460.772 0, 1254720.97 995445.772 0, 1254448.232 995430.788 0, 1254175.494 995415.819 0,
+ 1253902.755 995400.867 0, 1253630.015 995385.931 0, 1253357.274 995371.011 0, 1253084.532 995356.107 0, 1252811.79 995341.219 0, 1252539.046 995326.347 0, 1252266.302 995311.491 0, 1251993.557 995296.651 0, 1251720.81 995281.827 0, 1251448.063 995267.019 0,
+ 1251175.316 995252.228 0, 1250902.567 995237.452 0, 1250629.817 995222.692 0, 1250357.067 995207.949 0, 1250084.315 995193.221 0, 1249811.563 995178.51 0, 1249538.81 995163.815 0, 1249266.056 995149.135 0, 1248992.021 995134.403 0, 1248692.626 1000706.607 0,
+ 1248393.226 1006278.901 0, 1248666.602 1006293.597 0, 1248938.7 1006308.241 0, 1249210.797 1006322.901 0, 1249482.893 1006337.577 0, 1249754.989 1006352.269 0, 1250027.083 1006366.978 0, 1250299.177 1006381.702 0, 1250571.27 1006396.442 0, 1250843.362 1006411.198 0,
+ 1251115.453 1006425.97 0, 1251387.543 1006440.758 0, 1251659.632 1006455.562 0, 1251931.721 1006470.383 0, 1252203.808 1006485.219 0, 1252475.895 1006500.071 0, 1252747.981 1006514.939 0, 1253020.066 1006529.824 0, 1253292.15 1006544.724 0, 1253564.233 1006559.64 0,
+ 1253836.316 1006574.572 0, 1254108.397 1006589.521 0, 1254380.478 1006604.485 0, 1254652.557 1006619.465 0, 1254923.36 1006634.391 0, 1255196.714 1006649.474 0, 1255468.791 1006664.502 0, 1255740.867 1006679.547 0, 1256012.943 1006694.607 0, 1256285.017 1006709.684 0,
+ 1256557.09 1006724.776 0, 1256829.163 1006739.885 0, 1257101.235 1006755.009 0, 1257373.306 1006770.149 0, 1257645.376 1006785.306 0, 1257917.445 1006800.478 0, 1258189.513 1006815.667 0, 1258461.58 1006830.871 0, 1258733.646 1006846.092 0, 1259005.712 1006861.329 0,
+ 1259277.777 1006876.581 0, 1259549.84 1006891.85 0, 1259821.903 1006907.134 0, 1260093.965 1006922.435 0, 1260366.026 1006937.752 0, 1260638.086 1006953.084 0, 1260910.145 1006968.433 0, 1261182.203 1006983.797 0, 1261452.986 1006999.106 0, 1261768.128 1001427.68 0,
+ 1262083.264 995856.345 0))
+
+POLYGON ((1274510.66 1007756.205 0, 1274239.919 1007740.131 0, 1273967.905 1007723.998 0, 1273695.89 1007707.881 0, 1273423.875 1007691.78 0, 1273151.858 1007675.694 0, 1272879.841 1007659.625 0, 1272607.822 1007643.572 0, 1272335.803 1007627.535 0, 1272063.782 1007611.514 0,
+ 1271791.761 1007595.509 0, 1271519.739 1007579.52 0, 1271247.715 1007563.546 0, 1270975.691 1007547.589 0, 1270703.666 1007531.648 0, 1270431.64 1007515.723 0, 1270159.613 1007499.814 0, 1269887.585 1007483.921 0, 1269615.556 1007468.044 0, 1269343.527 1007452.183 0,
+ 1269071.496 1007436.338 0, 1268799.464 1007420.509 0, 1268527.432 1007404.696 0, 1268255.398 1007388.899 0, 1267982.09 1007373.044 0, 1267711.328 1007357.353 0, 1267439.292 1007341.604 0, 1267167.255 1007325.871 0, 1266895.217 1007310.154 0, 1266623.178 1007294.453 0,
+ 1266351.138 1007278.768 0, 1266079.097 1007263.099 0, 1265807.055 1007247.447 0, 1265535.012 1007231.81 0, 1265262.968 1007216.189 0, 1264990.924 1007200.584 0, 1264718.878 1007184.995 0, 1264446.832 1007169.422 0, 1264174.784 1007153.866 0, 1263902.736 1007138.325 0,
+ 1263630.687 1007122.8 0, 1263358.637 1007107.291 0, 1263086.586 1007091.798 0, 1262814.534 1007076.322 0, 1262542.481 1007060.861 0, 1262270.427 1007045.416 0, 1261998.373 1007029.988 0, 1261726.317 1007014.575 0, 1261452.986 1006999.106 0, 1261137.84 1012570.617 0,
+ 1260822.689 1018142.211 0, 1261095.361 1018157.642 0, 1261366.76 1018173.018 0, 1261638.159 1018188.409 0, 1261909.557 1018203.817 0, 1262180.954 1018219.24 0, 1262452.35 1018234.679 0, 1262723.745 1018250.135 0, 1262995.14 1018265.606 0, 1263266.533 1018281.094 0,
+ 1263537.925 1018296.597 0, 1263809.317 1018312.116 0, 1264080.707 1018327.652 0, 1264352.097 1018343.203 0, 1264623.486 1018358.77 0, 1264894.874 1018374.353 0, 1265166.261 1018389.952 0, 1265437.647 1018405.568 0, 1265709.032 1018421.199 0, 1265980.416 1018436.846 0,
+ 1266251.799 1018452.509 0, 1266523.182 1018468.188 0, 1266794.563 1018483.883 0, 1267065.943 1018499.594 0, 1267336.053 1018515.247 0, 1267608.702 1018531.064 0, 1267880.079 1018546.823 0, 1268151.456 1018562.597 0, 1268422.832 1018578.388 0, 1268694.207 1018594.195 0,
+ 1268965.581 1018610.018 0, 1269236.954 1018625.857 0, 1269508.326 1018641.711 0, 1269779.697 1018657.582 0, 1270051.067 1018673.469 0, 1270322.437 1018689.372 0, 1270593.805 1018705.29 0, 1270865.173 1018721.225 0, 1271136.539 1018737.175 0, 1271407.905 1018753.142 0,
+ 1271679.269 1018769.124 0, 1271950.633 1018785.123 0, 1272221.996 1018801.137 0, 1272493.358 1018817.168 0, 1272764.718 1018833.214 0, 1273036.078 1018849.277 0, 1273307.437 1018865.355 0, 1273578.795 1018881.449 0, 1273848.883 1018897.484 0, 1274179.774 1013326.804 0,
+ 1274510.66 1007756.205 0))
+
+POLYGON ((1286872.892 1019689.556 0, 1286602.848 1019672.758 0, 1286331.537 1019655.897 0, 1286060.224 1019639.052 0, 1285788.911 1019622.223 0, 1285517.597 1019605.41 0, 1285246.281 1019588.613 0, 1284974.965 1019571.832 0, 1284703.647 1019555.067 0, 1284432.329 1019538.318 0,
+ 1284161.01 1019521.585 0, 1283889.689 1019504.868 0, 1283618.368 1019488.167 0, 1283347.046 1019471.481 0, 1283075.722 1019454.812 0, 1282804.398 1019438.159 0, 1282533.073 1019421.521 0, 1282261.746 1019404.9 0, 1281990.419 1019388.295 0, 1281719.091 1019371.705 0,
+ 1281447.762 1019355.132 0, 1281176.432 1019338.574 0, 1280905.101 1019322.033 0, 1280633.768 1019305.507 0, 1280361.167 1019288.921 0, 1280091.101 1019272.504 0, 1279819.766 1019256.027 0, 1279548.43 1019239.565 0, 1279277.093 1019223.119 0, 1279005.755 1019206.69 0,
+ 1278734.417 1019190.276 0, 1278463.077 1019173.878 0, 1278191.736 1019157.496 0, 1277920.394 1019141.13 0, 1277649.051 1019124.781 0, 1277377.708 1019108.447 0, 1277106.363 1019092.129 0, 1276835.017 1019075.827 0, 1276563.671 1019059.541 0, 1276292.323 1019043.271 0,
+ 1276020.975 1019027.017 0, 1275749.625 1019010.779 0, 1275478.275 1018994.557 0, 1275206.923 1018978.351 0, 1274935.571 1018962.16 0, 1274664.218 1018945.986 0, 1274392.864 1018929.828 0, 1274121.509 1018913.686 0, 1273848.883 1018897.484 0, 1273517.988 1024468.242 0,
+ 1273187.088 1030039.073 0, 1273459.055 1030055.236 0, 1273729.754 1030071.339 0, 1274000.453 1030087.458 0, 1274271.15 1030103.593 0, 1274541.847 1030119.744 0, 1274812.542 1030135.911 0, 1275083.237 1030152.094 0, 1275353.931 1030168.293 0, 1275624.624 1030184.508 0,
+ 1275895.315 1030200.738 0, 1276166.006 1030216.985 0, 1276436.696 1030233.248 0, 1276707.385 1030249.526 0, 1276978.073 1030265.821 0, 1277248.76 1030282.131 0, 1277519.446 1030298.457 0, 1277790.131 1030314.799 0, 1278060.815 1030331.158 0, 1278331.498 1030347.532 0,
+ 1278602.181 1030363.922 0, 1278872.862 1030380.328 0, 1279143.542 1030396.749 0, 1279414.221 1030413.187 0, 1279683.635 1030429.564 0, 1279955.577 1030446.111 0, 1280226.253 1030462.596 0, 1280496.929 1030479.098 0, 1280767.603 1030495.615 0, 1281038.277 1030512.149 0,
+ 1281308.949 1030528.698 0, 1281579.621 1030545.263 0, 1281850.291 1030561.844 0, 1282120.961 1030578.441 0, 1282391.629 1030595.054 0, 1282662.297 1030611.683 0, 1282932.964 1030628.328 0, 1283203.629 1030644.989 0, 1283474.294 1030661.666 0, 1283744.958 1030678.359 0,
+ 1284015.62 1030695.067 0, 1284286.282 1030711.792 0, 1284556.943 1030728.532 0, 1284827.603 1030745.289 0, 1285098.261 1030762.061 0, 1285368.919 1030778.849 0, 1285639.576 1030795.654 0, 1285910.232 1030812.474 0, 1286179.623 1030829.231 0, 1286526.26 1025259.357 0,
+ 1286872.892 1019689.556 0))
+
+POLYGON ((1299169.873 1031656.092 0, 1298900.528 1031638.573 0, 1298629.921 1031620.989 0, 1298359.313 1031603.42 0, 1298088.704 1031585.867 0, 1297818.093 1031568.33 0, 1297547.482 1031550.809 0, 1297276.87 1031533.304 0, 1297006.256 1031515.815 0, 1296735.642 1031498.342 0,
+ 1296465.026 1031480.884 0, 1296194.41 1031463.443 0, 1295923.792 1031446.017 0, 1295653.174 1031428.608 0, 1295382.554 1031411.214 0, 1295111.934 1031393.837 0, 1294841.312 1031376.475 0, 1294570.69 1031359.129 0, 1294300.066 1031341.799 0, 1294029.441 1031324.485 0,
+ 1293758.816 1031307.187 0, 1293488.189 1031289.905 0, 1293217.561 1031272.639 0, 1292946.932 1031255.389 0, 1292675.04 1031238.074 0, 1292405.672 1031220.936 0, 1292135.04 1031203.734 0, 1291864.407 1031186.547 0, 1291593.774 1031169.377 0, 1291323.139 1031152.222 0,
+ 1291052.503 1031135.083 0, 1290781.866 1031117.96 0, 1290511.228 1031100.853 0, 1290240.589 1031083.762 0, 1289969.95 1031066.687 0, 1289699.309 1031049.628 0, 1289428.667 1031032.585 0, 1289158.024 1031015.558 0, 1288887.38 1030998.547 0, 1288616.735 1030981.551 0,
+ 1288346.089 1030964.572 0, 1288075.443 1030947.608 0, 1287804.795 1030930.661 0, 1287534.146 1030913.729 0, 1287263.496 1030896.813 0, 1286992.845 1030879.914 0, 1286722.193 1030863.03 0, 1286451.541 1030846.162 0, 1286179.623 1030829.231 0, 1285832.982 1036399.175 0,
+ 1285486.337 1041969.183 0, 1285757.595 1041986.073 0, 1286027.593 1042002.9 0, 1286297.589 1042019.743 0, 1286567.584 1042036.602 0, 1286837.578 1042053.476 0, 1287107.571 1042070.367 0, 1287377.564 1042087.273 0, 1287647.555 1042104.196 0, 1287917.545 1042121.134 0,
+ 1288187.534 1042138.088 0, 1288457.522 1042155.058 0, 1288727.51 1042172.044 0, 1288997.496 1042189.046 0, 1289267.481 1042206.064 0, 1289537.465 1042223.098 0, 1289807.448 1042240.147 0, 1290077.431 1042257.213 0, 1290347.412 1042274.294 0, 1290617.392 1042291.391 0,
+ 1290887.371 1042308.504 0, 1291157.349 1042325.633 0, 1291427.326 1042342.778 0, 1291697.303 1042359.939 0, 1291966.018 1042377.036 0, 1292237.252 1042394.308 0, 1292507.225 1042411.517 0, 1292777.197 1042428.741 0, 1293047.168 1042445.981 0, 1293317.138 1042463.237 0,
+ 1293587.107 1042480.509 0, 1293857.075 1042497.797 0, 1294127.042 1042515.101 0, 1294397.008 1042532.421 0, 1294666.973 1042549.756 0, 1294936.937 1042567.108 0, 1295206.9 1042584.475 0, 1295476.862 1042601.858 0, 1295746.823 1042619.257 0, 1296016.783 1042636.673 0,
+ 1296286.742 1042654.103 0, 1296556.7 1042671.55 0, 1296826.656 1042689.013 0, 1297096.612 1042706.491 0, 1297366.567 1042723.986 0, 1297636.521 1042741.496 0, 1297906.473 1042759.023 0, 1298176.425 1042776.565 0, 1298445.117 1042794.041 0, 1298807.497 1037225.034 0,
+ 1299169.873 1031656.092 0))
+
+POLYGON ((1311401.516 1043655.506 0, 1311132.872 1043637.271 0, 1310862.971 1043618.966 0, 1310593.069 1043600.677 0, 1310323.166 1043582.404 0, 1310053.261 1043564.147 0, 1309783.356 1043545.906 0, 1309513.45 1043527.681 0, 1309243.542 1043509.471 0, 1308973.634 1043491.278 0,
+ 1308703.724 1043473.1 0, 1308433.813 1043454.939 0, 1308163.902 1043436.793 0, 1307893.989 1043418.663 0, 1307624.075 1043400.549 0, 1307354.16 1043382.45 0, 1307084.244 1043364.368 0, 1306814.327 1043346.302 0, 1306544.409 1043328.251 0, 1306274.49 1043310.216 0,
+ 1306004.57 1043292.198 0, 1305734.648 1043274.195 0, 1305464.726 1043256.208 0, 1305194.802 1043238.237 0, 1304923.621 1043220.198 0, 1304654.952 1043202.342 0, 1304385.026 1043184.419 0, 1304115.098 1043166.511 0, 1303845.169 1043148.62 0, 1303575.24 1043130.744 0,
+ 1303305.309 1043112.884 0, 1303035.377 1043095.04 0, 1302765.444 1043077.212 0, 1302495.51 1043059.4 0, 1302225.575 1043041.603 0, 1301955.639 1043023.823 0, 1301685.702 1043006.058 0, 1301415.764 1042988.309 0, 1301145.825 1042970.577 0, 1300875.884 1042952.86 0,
+ 1300605.943 1042935.159 0, 1300336.001 1042917.474 0, 1300066.058 1042899.804 0, 1299796.113 1042882.151 0, 1299526.168 1042864.514 0, 1299256.221 1042846.892 0, 1298986.274 1042829.286 0, 1298716.325 1042811.697 0, 1298445.117 1042794.041 0, 1298082.733 1048363.108 0,
+ 1297720.345 1053932.233 0, 1297990.895 1053949.846 0, 1298260.188 1053967.393 0, 1298529.48 1053984.956 0, 1298798.771 1054002.534 0, 1299068.06 1054020.129 0, 1299337.349 1054037.739 0, 1299606.637 1054055.366 0, 1299875.924 1054073.008 0, 1300145.21 1054090.666 0,
+ 1300414.494 1054108.34 0, 1300683.778 1054126.03 0, 1300953.061 1054143.735 0, 1301222.342 1054161.457 0, 1301491.623 1054179.194 0, 1301760.902 1054196.947 0, 1302030.18 1054214.716 0, 1302299.458 1054232.501 0, 1302568.734 1054250.301 0, 1302838.009 1054268.118 0,
+ 1303107.284 1054285.95 0, 1303376.557 1054303.799 0, 1303645.829 1054321.663 0, 1303915.1 1054339.542 0, 1304183.116 1054357.355 0, 1304453.639 1054375.35 0, 1304722.907 1054393.277 0, 1304992.174 1054411.221 0, 1305261.44 1054429.18 0, 1305530.704 1054447.155 0,
+ 1305799.968 1054465.146 0, 1306069.231 1054483.152 0, 1306338.492 1054501.175 0, 1306607.753 1054519.213 0, 1306877.012 1054537.268 0, 1307146.271 1054555.338 0, 1307415.528 1054573.424 0, 1307684.784 1054591.525 0, 1307954.039 1054609.643 0, 1308223.294 1054627.776 0,
+ 1308492.547 1054645.926 0, 1308761.799 1054664.091 0, 1309031.05 1054682.272 0, 1309300.299 1054700.469 0, 1309569.548 1054718.682 0, 1309838.796 1054736.91 0, 1310108.042 1054755.155 0, 1310377.288 1054773.415 0, 1310645.279 1054791.606 0, 1311023.399 1049223.528 0,
+ 1311401.516 1043655.506 0))
+
+POLYGON ((1323567.734 1055687.491 0, 1323299.793 1055668.543 0, 1323030.6 1055649.522 0, 1322761.406 1055630.517 0, 1322492.211 1055611.528 0, 1322223.015 1055592.554 0, 1321953.817 1055573.597 0, 1321684.619 1055554.655 0, 1321415.419 1055535.73 0, 1321146.219 1055516.82 0,
+ 1320877.017 1055497.926 0, 1320607.814 1055479.047 0, 1320338.61 1055460.185 0, 1320069.405 1055441.338 0, 1319800.198 1055422.508 0, 1319530.991 1055403.693 0, 1319261.783 1055384.894 0, 1318992.573 1055366.11 0, 1318723.362 1055347.343 0, 1318454.15 1055328.592 0,
+ 1318184.938 1055309.856 0, 1317915.724 1055291.136 0, 1317646.508 1055272.432 0, 1317377.292 1055253.744 0, 1317106.823 1055234.985 0, 1316838.857 1055216.415 0, 1316569.637 1055197.775 0, 1316300.417 1055179.15 0, 1316031.195 1055160.541 0, 1315761.972 1055141.948 0,
+ 1315492.748 1055123.371 0, 1315223.523 1055104.81 0, 1314954.297 1055086.264 0, 1314685.07 1055067.734 0, 1314415.842 1055049.221 0, 1314146.612 1055030.723 0, 1313877.382 1055012.24 0, 1313608.151 1054993.774 0, 1313338.918 1054975.324 0, 1313069.684 1054956.889 0,
+ 1312800.449 1054938.47 0, 1312531.214 1054920.068 0, 1312261.977 1054901.68 0, 1311992.739 1054883.309 0, 1311723.5 1054864.954 0, 1311454.259 1054846.614 0, 1311185.018 1054828.291 0, 1310915.776 1054809.983 0, 1310645.279 1054791.606 0, 1310267.156 1060359.736 0,
+ 1309889.029 1065927.915 0, 1310158.867 1065946.247 0, 1310427.454 1065964.511 0, 1310696.04 1065982.79 0, 1310964.624 1066001.084 0, 1311233.208 1066019.395 0, 1311501.79 1066037.722 0, 1311770.372 1066056.064 0, 1312038.952 1066074.422 0, 1312307.532 1066092.796 0,
+ 1312576.11 1066111.186 0, 1312844.687 1066129.591 0, 1313113.263 1066148.012 0, 1313381.838 1066166.45 0, 1313650.412 1066184.902 0, 1313918.985 1066203.371 0, 1314187.557 1066221.856 0, 1314456.127 1066240.356 0, 1314724.697 1066258.872 0, 1314993.265 1066277.404 0,
+ 1315261.833 1066295.952 0, 1315530.399 1066314.516 0, 1315798.964 1066333.095 0, 1316067.528 1066351.69 0, 1316334.842 1066370.215 0, 1316604.653 1066388.928 0, 1316873.214 1066407.571 0, 1317141.774 1066426.229 0, 1317410.332 1066444.903 0, 1317678.89 1066463.593 0,
+ 1317947.446 1066482.299 0, 1318216.001 1066501.021 0, 1318484.556 1066519.758 0, 1318753.109 1066538.512 0, 1319021.661 1066557.281 0, 1319290.212 1066576.066 0, 1319558.761 1066594.866 0, 1319827.31 1066613.683 0, 1320095.858 1066632.515 0, 1320364.404 1066651.363 0,
+ 1320632.949 1066670.227 0, 1320901.494 1066689.107 0, 1321170.037 1066708.002 0, 1321438.579 1066726.914 0, 1321707.12 1066745.841 0, 1321975.659 1066764.784 0, 1322244.198 1066783.743 0, 1322512.736 1066802.717 0, 1322780.024 1066821.619 0, 1323173.881 1061254.531 0,
+ 1323567.734 1055687.491 0))
+
+POLYGON ((1335668.444 1067751.739 0, 1335401.207 1067732.082 0, 1335132.724 1067712.349 0, 1334864.24 1067692.631 0, 1334595.755 1067672.93 0, 1334327.269 1067653.244 0, 1334058.781 1067633.574 0, 1333790.293 1067613.92 0, 1333521.803 1067594.282 0, 1333253.312 1067574.659 0,
+ 1332984.82 1067555.052 0, 1332716.326 1067535.462 0, 1332447.832 1067515.886 0, 1332179.336 1067496.327 0, 1331910.84 1067476.784 0, 1331642.342 1067457.256 0, 1331373.843 1067437.744 0, 1331105.342 1067418.248 0, 1330836.841 1067398.768 0, 1330568.339 1067379.303 0,
+ 1330299.835 1067359.854 0, 1330031.33 1067340.422 0, 1329762.824 1067321.004 0, 1329494.317 1067301.603 0, 1329224.562 1067282.128 0, 1328957.3 1067262.848 0, 1328688.789 1067243.494 0, 1328420.278 1067224.156 0, 1328151.765 1067204.834 0, 1327883.251 1067185.527 0,
+ 1327614.736 1067166.237 0, 1327346.22 1067146.962 0, 1327077.702 1067127.703 0, 1326809.184 1067108.46 0, 1326540.664 1067089.232 0, 1326272.144 1067070.02 0, 1326003.622 1067050.825 0, 1325735.099 1067031.645 0, 1325466.575 1067012.48 0, 1325198.05 1066993.332 0,
+ 1324929.523 1066974.199 0, 1324660.996 1066955.083 0, 1324392.467 1066935.982 0, 1324123.937 1066916.896 0, 1323855.407 1066897.827 0, 1323586.875 1066878.773 0, 1323318.342 1066859.736 0, 1323049.807 1066840.714 0, 1322780.024 1066821.619 0, 1322386.165 1072388.751 0,
+ 1321992.302 1077955.923 0, 1322261.427 1077974.97 0, 1322529.306 1077993.946 0, 1322797.184 1078012.937 0, 1323065.06 1078031.944 0, 1323332.936 1078050.967 0, 1323600.81 1078070.006 0, 1323868.683 1078089.06 0, 1324136.556 1078108.13 0, 1324404.427 1078127.216 0,
+ 1324672.296 1078146.318 0, 1324940.165 1078165.435 0, 1325208.033 1078184.569 0, 1325475.899 1078203.718 0, 1325743.765 1078222.882 0, 1326011.629 1078242.063 0, 1326279.492 1078261.259 0, 1326547.354 1078280.471 0, 1326815.215 1078299.699 0, 1327083.075 1078318.943 0,
+ 1327350.933 1078338.202 0, 1327618.791 1078357.477 0, 1327886.647 1078376.768 0, 1328154.502 1078396.075 0, 1328421.113 1078415.307 0, 1328690.209 1078434.735 0, 1328958.061 1078454.089 0, 1329225.912 1078473.459 0, 1329493.761 1078492.844 0, 1329761.61 1078512.245 0,
+ 1330029.457 1078531.662 0, 1330297.303 1078551.095 0, 1330565.148 1078570.544 0, 1330832.992 1078590.008 0, 1331100.834 1078609.488 0, 1331368.676 1078628.984 0, 1331636.516 1078648.496 0, 1331904.355 1078668.023 0, 1332172.194 1078687.566 0, 1332440.03 1078707.125 0,
+ 1332707.866 1078726.699 0, 1332975.701 1078746.29 0, 1333243.534 1078765.896 0, 1333511.367 1078785.518 0, 1333779.198 1078805.156 0, 1334047.028 1078824.809 0, 1334314.856 1078844.478 0, 1334582.684 1078864.163 0, 1334849.268 1078883.773 0, 1335258.857 1073317.736 0,
+ 1335668.444 1067751.739 0))
+
+POLYGON ((1347703.561 1079847.942 0, 1347437.032 1079827.58 0, 1347169.261 1079807.138 0, 1346901.489 1079786.712 0, 1346633.715 1079766.302 0, 1346365.941 1079745.908 0, 1346098.165 1079725.53 0, 1345830.388 1079705.167 0, 1345562.61 1079684.82 0, 1345294.83 1079664.489 0,
+ 1345027.05 1079644.173 0, 1344759.268 1079623.873 0, 1344491.485 1079603.589 0, 1344223.701 1079583.321 0, 1343955.915 1079563.069 0, 1343688.129 1079542.832 0, 1343420.341 1079522.611 0, 1343152.552 1079502.406 0, 1342884.762 1079482.217 0, 1342616.971 1079462.043 0,
+ 1342349.178 1079441.885 0, 1342081.385 1079421.743 0, 1341813.59 1079401.617 0, 1341545.794 1079381.506 0, 1341276.755 1079361.318 0, 1341010.198 1079341.332 0, 1340742.399 1079321.269 0, 1340474.598 1079301.221 0, 1340206.796 1079281.19 0, 1339938.993 1079261.173 0,
+ 1339671.188 1079241.173 0, 1339403.383 1079221.189 0, 1339135.576 1079201.22 0, 1338867.768 1079181.267 0, 1338599.959 1079161.33 0, 1338332.149 1079141.408 0, 1338064.338 1079121.503 0, 1337796.525 1079101.613 0, 1337528.712 1079081.739 0, 1337260.897 1079061.88 0,
+ 1336993.081 1079042.038 0, 1336725.264 1079022.211 0, 1336457.445 1079002.4 0, 1336189.626 1078982.604 0, 1335921.805 1078962.825 0, 1335653.983 1078943.061 0, 1335386.16 1078923.313 0, 1335118.336 1078903.581 0, 1334849.268 1078883.773 0, 1334439.677 1084449.844 0,
+ 1334030.083 1090015.947 0, 1334298.492 1090035.707 0, 1334565.661 1090055.391 0, 1334832.829 1090075.09 0, 1335099.995 1090094.806 0, 1335367.161 1090114.537 0, 1335634.325 1090134.284 0, 1335901.488 1090154.047 0, 1336168.65 1090173.825 0, 1336435.811 1090193.619 0,
+ 1336702.971 1090213.429 0, 1336970.129 1090233.254 0, 1337237.287 1090253.096 0, 1337504.443 1090272.953 0, 1337771.598 1090292.825 0, 1338038.752 1090312.714 0, 1338305.904 1090332.618 0, 1338573.056 1090352.538 0, 1338840.206 1090372.473 0, 1339107.355 1090392.425 0,
+ 1339374.503 1090412.392 0, 1339641.65 1090432.374 0, 1339908.796 1090452.373 0, 1340175.94 1090472.387 0, 1340441.845 1090492.324 0, 1340710.226 1090512.463 0, 1340977.366 1090532.524 0, 1341244.506 1090552.601 0, 1341511.645 1090572.694 0, 1341778.782 1090592.803 0,
+ 1342045.918 1090612.927 0, 1342313.053 1090633.067 0, 1342580.187 1090653.223 0, 1342847.32 1090673.394 0, 1343114.451 1090693.581 0, 1343381.581 1090713.784 0, 1343648.71 1090734.003 0, 1343915.838 1090754.237 0, 1344182.965 1090774.487 0, 1344450.09 1090794.753 0,
+ 1344717.215 1090815.035 0, 1344984.338 1090835.332 0, 1345251.46 1090855.645 0, 1345518.58 1090875.973 0, 1345785.7 1090896.318 0, 1346052.818 1090916.678 0, 1346319.935 1090937.054 0, 1346587.051 1090957.445 0, 1346852.929 1090977.758 0, 1347278.246 1085412.835 0,
+ 1347703.561 1079847.942 0))
+
+POLYGON ((1359673.006 1091975.792 0, 1359407.185 1091954.728 0, 1359140.128 1091933.582 0, 1358873.069 1091912.451 0, 1358606.01 1091891.337 0, 1358338.949 1091870.238 0, 1358071.886 1091849.155 0, 1357804.823 1091828.087 0, 1357537.758 1091807.035 0, 1357270.692 1091785.999 0,
+ 1357003.625 1091764.979 0, 1356736.557 1091743.974 0, 1356469.487 1091722.985 0, 1356202.416 1091702.012 0, 1355935.344 1091681.054 0, 1355668.271 1091660.113 0, 1355401.196 1091639.187 0, 1355134.121 1091618.276 0, 1354867.044 1091597.382 0, 1354599.965 1091576.503 0,
+ 1354332.886 1091555.639 0, 1354065.805 1091534.792 0, 1353798.723 1091513.96 0, 1353531.64 1091493.144 0, 1353263.32 1091472.248 0, 1352997.47 1091451.559 0, 1352730.383 1091430.79 0, 1352463.295 1091410.037 0, 1352196.206 1091389.3 0, 1351929.116 1091368.578 0,
+ 1351662.024 1091347.872 0, 1351394.931 1091327.182 0, 1351127.837 1091306.507 0, 1350860.741 1091285.849 0, 1350593.645 1091265.205 0, 1350326.547 1091244.578 0, 1350059.448 1091223.966 0, 1349792.348 1091203.37 0, 1349525.246 1091182.79 0, 1349258.144 1091162.226 0,
+ 1348991.04 1091141.677 0, 1348723.935 1091121.144 0, 1348456.829 1091100.627 0, 1348189.721 1091080.125 0, 1347922.612 1091059.639 0, 1347655.503 1091039.169 0, 1347388.391 1091018.714 0, 1347121.279 1090998.276 0, 1346852.929 1090977.758 0, 1346427.609 1096542.708 0,
+ 1346002.288 1102107.68 0, 1346269.98 1102128.147 0, 1346536.437 1102148.536 0, 1346802.893 1102168.94 0, 1347069.348 1102189.36 0, 1347335.802 1102209.796 0, 1347602.254 1102230.247 0, 1347868.705 1102250.714 0, 1348135.155 1102271.197 0, 1348401.604 1102291.695 0,
+ 1348668.052 1102312.21 0, 1348934.498 1102332.739 0, 1349200.943 1102353.285 0, 1349467.387 1102373.846 0, 1349733.83 1102394.423 0, 1350000.272 1102415.015 0, 1350266.712 1102435.623 0, 1350533.151 1102456.247 0, 1350799.589 1102476.887 0, 1351066.026 1102497.542 0,
+ 1351332.461 1102518.213 0, 1351598.895 1102538.899 0, 1351865.328 1102559.602 0, 1352131.76 1102580.319 0, 1352396.958 1102600.957 0, 1352664.62 1102621.802 0, 1352931.048 1102642.567 0, 1353197.475 1102663.348 0, 1353463.901 1102684.144 0, 1353730.325 1102704.956 0,
+ 1353996.749 1102725.784 0, 1354263.171 1102746.627 0, 1354529.591 1102767.487 0, 1354796.011 1102788.361 0, 1355062.429 1102809.252 0, 1355328.846 1102830.158 0, 1355595.262 1102851.08 0, 1355861.677 1102872.017 0, 1356128.09 1102892.97 0, 1356394.502 1102913.939 0,
+ 1356660.913 1102934.924 0, 1356927.323 1102955.924 0, 1357193.732 1102976.94 0, 1357460.139 1102997.971 0, 1357726.545 1103019.018 0, 1357992.95 1103040.081 0, 1358259.353 1103061.16 0, 1358525.755 1103082.254 0, 1358790.925 1103103.267 0, 1359231.966 1097539.518 0,
+ 1359673.006 1091975.792 0))
+
+POLYGON ((1371576.698 1104134.979 0, 1371311.587 1104113.218 0, 1371045.245 1104091.371 0, 1370778.902 1104069.54 0, 1370512.558 1104047.724 0, 1370246.213 1104025.924 0, 1369979.866 1104004.14 0, 1369713.518 1103982.372 0, 1369447.169 1103960.619 0, 1369180.818 1103938.882 0,
+ 1368914.466 1103917.16 0, 1368648.113 1103895.455 0, 1368381.759 1103873.765 0, 1368115.403 1103852.09 0, 1367849.046 1103830.432 0, 1367582.688 1103808.789 0, 1367316.328 1103787.161 0, 1367049.967 1103765.55 0, 1366783.605 1103743.954 0, 1366517.242 1103722.373 0,
+ 1366250.877 1103700.809 0, 1365984.511 1103679.26 0, 1365718.144 1103657.726 0, 1365451.776 1103636.209 0, 1365184.176 1103614.608 0, 1364919.035 1103593.221 0, 1364652.663 1103571.75 0, 1364386.29 1103550.295 0, 1364119.915 1103528.856 0, 1363853.539 1103507.432 0,
+ 1363587.162 1103486.025 0, 1363320.783 1103464.632 0, 1363054.403 1103443.256 0, 1362788.022 1103421.895 0, 1362521.64 1103400.55 0, 1362255.256 1103379.22 0, 1361988.872 1103357.907 0, 1361722.486 1103336.609 0, 1361456.098 1103315.326 0, 1361189.71 1103294.059 0,
+ 1360923.32 1103272.808 0, 1360656.929 1103251.573 0, 1360390.536 1103230.353 0, 1360124.143 1103209.149 0, 1359857.748 1103187.961 0, 1359591.352 1103166.788 0, 1359324.955 1103145.631 0, 1359058.556 1103124.49 0, 1358790.925 1103103.267 0, 1358349.882 1108667.033 0,
+ 1357908.837 1114230.813 0, 1358175.811 1114251.984 0, 1358441.555 1114273.073 0, 1358707.297 1114294.178 0, 1358973.038 1114315.299 0, 1359238.778 1114336.435 0, 1359504.517 1114357.587 0, 1359770.254 1114378.754 0, 1360035.99 1114399.938 0, 1360301.725 1114421.136 0,
+ 1360567.459 1114442.351 0, 1360833.191 1114463.581 0, 1361098.922 1114484.827 0, 1361364.652 1114506.088 0, 1361630.381 1114527.365 0, 1361896.108 1114548.658 0, 1362161.834 1114569.966 0, 1362427.559 1114591.29 0, 1362693.283 1114612.63 0, 1362959.005 1114633.985 0,
+ 1363224.726 1114655.356 0, 1363490.446 1114676.742 0, 1363756.165 1114698.144 0, 1364021.882 1114719.562 0, 1364286.371 1114740.897 0, 1364553.313 1114762.445 0, 1364819.026 1114783.909 0, 1365084.739 1114805.39 0, 1365350.45 1114826.886 0, 1365616.16 1114848.397 0,
+ 1365881.868 1114869.925 0, 1366147.575 1114891.468 0, 1366413.281 1114913.026 0, 1366678.986 1114934.6 0, 1366944.689 1114956.19 0, 1367210.391 1114977.796 0, 1367476.092 1114999.417 0, 1367741.792 1115021.053 0, 1368007.49 1115042.706 0, 1368273.187 1115064.374 0,
+ 1368538.883 1115086.057 0, 1368804.578 1115107.757 0, 1369070.271 1115129.472 0, 1369335.963 1115151.202 0, 1369601.653 1115172.948 0, 1369867.343 1115194.71 0, 1370133.031 1115216.488 0, 1370398.718 1115238.281 0, 1370663.177 1115259.989 0, 1371119.938 1109697.477 0,
+ 1371576.698 1104134.979 0))
+
+POLYGON ((1383414.558 1116325.194 0, 1383150.159 1116302.739 0, 1382884.535 1116280.195 0, 1382618.909 1116257.667 0, 1382353.282 1116235.155 0, 1382087.654 1116212.658 0, 1381822.025 1116190.177 0, 1381556.394 1116167.712 0, 1381290.762 1116145.262 0, 1381025.128 1116122.827 0,
+ 1380759.494 1116100.409 0, 1380493.857 1116078.006 0, 1380228.22 1116055.619 0, 1379962.581 1116033.247 0, 1379696.941 1116010.891 0, 1379431.3 1115988.551 0, 1379165.657 1115966.226 0, 1378900.013 1115943.917 0, 1378634.368 1115921.623 0, 1378368.721 1115899.345 0,
+ 1378103.073 1115877.083 0, 1377837.424 1115854.837 0, 1377571.774 1115832.606 0, 1377306.122 1115810.39 0, 1377039.243 1115788.088 0, 1376774.814 1115766.007 0, 1376509.158 1115743.838 0, 1376243.501 1115721.685 0, 1375977.843 1115699.548 0, 1375712.183 1115677.427 0,
+ 1375446.522 1115655.321 0, 1375180.86 1115633.231 0, 1374915.196 1115611.156 0, 1374649.532 1115589.097 0, 1374383.865 1115567.054 0, 1374118.198 1115545.026 0, 1373852.529 1115523.014 0, 1373586.859 1115501.018 0, 1373321.188 1115479.037 0, 1373055.515 1115457.072 0,
+ 1372789.841 1115435.122 0, 1372524.166 1115413.189 0, 1372258.489 1115391.27 0, 1371992.812 1115369.368 0, 1371727.132 1115347.481 0, 1371461.452 1115325.61 0, 1371195.77 1115303.754 0, 1370930.087 1115281.914 0, 1370663.177 1115259.989 0, 1370206.415 1120822.51 0,
+ 1369749.653 1126385.035 0, 1370015.906 1126406.906 0, 1370280.934 1126428.692 0, 1370545.961 1126450.494 0, 1370810.986 1126472.312 0, 1371076.01 1126494.145 0, 1371341.034 1126515.993 0, 1371606.055 1126537.857 0, 1371871.076 1126559.737 0, 1372136.095 1126581.633 0,
+ 1372401.113 1126603.544 0, 1372666.129 1126625.47 0, 1372931.145 1126647.412 0, 1373196.159 1126669.37 0, 1373461.171 1126691.344 0, 1373726.183 1126713.333 0, 1373991.193 1126735.337 0, 1374256.202 1126757.357 0, 1374521.209 1126779.393 0, 1374786.216 1126801.444 0,
+ 1375051.221 1126823.511 0, 1375316.224 1126845.594 0, 1375581.226 1126867.692 0, 1375846.228 1126889.806 0, 1376110.005 1126911.833 0, 1376376.226 1126934.08 0, 1376641.223 1126956.241 0, 1376906.219 1126978.417 0, 1377171.213 1127000.609 0, 1377436.206 1127022.816 0,
+ 1377701.198 1127045.039 0, 1377966.189 1127067.278 0, 1378231.178 1127089.532 0, 1378496.166 1127111.801 0, 1378761.153 1127134.087 0, 1379026.138 1127156.388 0, 1379291.122 1127178.704 0, 1379556.105 1127201.036 0, 1379821.086 1127223.384 0, 1380086.066 1127245.747 0,
+ 1380351.045 1127268.126 0, 1380616.023 1127290.521 0, 1380880.999 1127312.931 0, 1381145.974 1127335.357 0, 1381410.947 1127357.798 0, 1381675.919 1127380.255 0, 1381940.89 1127402.727 0, 1382205.86 1127425.215 0, 1382469.607 1127447.615 0, 1382942.083 1121886.402 0,
+ 1383414.558 1116325.194 0))
+
+POLYGON ((816493.205 635049.798 0, 816200.707 635060.554 0, 815906.759 635071.381 0, 815612.812 635082.225 0, 815318.865 635093.086 0, 815024.919 635103.965 0, 814730.973 635114.861 0, 814437.028 635125.774 0, 814143.084 635136.704 0, 813849.14 635147.652 0,
+ 813555.197 635158.617 0, 813261.255 635169.6 0, 812967.313 635180.599 0, 812673.372 635191.616 0, 812379.431 635202.651 0, 812085.492 635213.702 0, 811791.552 635224.771 0, 811497.614 635235.858 0, 811203.676 635246.961 0, 810909.739 635258.082 0,
+ 810615.802 635269.22 0, 810321.866 635280.375 0, 810027.931 635291.548 0, 809733.997 635302.738 0, 809438.61 635314.001 0, 809146.13 635325.17 0, 808852.197 635336.412 0, 808558.265 635347.671 0, 808264.334 635358.948 0, 807970.403 635370.242 0,
+ 807676.473 635381.553 0, 807382.544 635392.881 0, 807088.615 635404.227 0, 806794.688 635415.59 0, 806500.76 635426.97 0, 806206.834 635438.368 0, 805912.908 635449.783 0, 805618.983 635461.215 0, 805325.058 635472.665 0, 805031.134 635484.131 0,
+ 804737.211 635495.616 0, 804443.288 635507.117 0, 804149.367 635518.636 0, 803855.445 635530.172 0, 803561.525 635541.725 0, 803267.605 635553.296 0, 802973.686 635564.884 0, 802679.767 635576.489 0, 802384.396 635588.169 0, 802604.51 641150.359 0,
+ 802824.636 646712.874 0, 803119.35 646701.22 0, 803412.614 646689.641 0, 803705.878 646678.079 0, 803999.143 646666.534 0, 804292.409 646655.006 0, 804585.675 646643.496 0, 804878.942 646632.003 0, 805172.21 646620.527 0, 805465.478 646609.068 0,
+ 805758.747 646597.627 0, 806052.017 646586.203 0, 806345.288 646574.796 0, 806638.559 646563.407 0, 806931.831 646552.035 0, 807225.103 646540.68 0, 807518.376 646529.342 0, 807811.65 646518.021 0, 808104.924 646506.718 0, 808398.199 646495.432 0,
+ 808691.475 646484.164 0, 808984.752 646472.912 0, 809278.029 646461.678 0, 809571.307 646450.461 0, 809863.136 646439.317 0, 810157.864 646428.079 0, 810451.144 646416.914 0, 810744.424 646405.766 0, 811037.705 646394.636 0, 811330.987 646383.522 0,
+ 811624.269 646372.426 0, 811917.552 646361.348 0, 812210.836 646350.286 0, 812504.12 646339.242 0, 812797.405 646328.215 0, 813090.691 646317.205 0, 813383.977 646306.213 0, 813677.264 646295.237 0, 813970.552 646284.279 0, 814263.84 646273.339 0,
+ 814557.129 646262.415 0, 814850.418 646251.509 0, 815143.708 646240.62 0, 815436.999 646229.749 0, 815730.29 646218.894 0, 816023.582 646208.057 0, 816316.875 646197.237 0, 816610.168 646186.435 0, 816902.014 646175.703 0, 816697.603 640612.587 0,
+ 816493.205 635049.798 0))
+
+POLYGON ((830980.853 645678.304 0, 830688.976 645688.212 0, 830395.653 645698.186 0, 830102.331 645708.177 0, 829809.01 645718.185 0, 829515.689 645728.211 0, 829222.369 645738.254 0, 828929.049 645748.314 0, 828635.73 645758.392 0, 828342.411 645768.487 0,
+ 828049.093 645778.599 0, 827755.776 645788.728 0, 827462.459 645798.875 0, 827169.143 645809.039 0, 826875.828 645819.22 0, 826582.513 645829.418 0, 826289.198 645839.634 0, 825995.885 645849.867 0, 825702.571 645860.117 0, 825409.259 645870.384 0,
+ 825115.947 645880.669 0, 824822.636 645890.971 0, 824529.325 645901.29 0, 824236.015 645911.627 0, 823941.258 645922.031 0, 823649.396 645932.351 0, 823356.088 645942.74 0, 823062.78 645953.145 0, 822769.473 645963.568 0, 822476.167 645974.008 0,
+ 822182.861 645984.465 0, 821889.556 645994.94 0, 821596.251 646005.432 0, 821302.947 646015.941 0, 821009.644 646026.467 0, 820716.341 646037.011 0, 820423.039 646047.572 0, 820129.738 646058.15 0, 819836.437 646068.745 0, 819543.136 646079.358 0,
+ 819249.837 646089.988 0, 818956.538 646100.635 0, 818663.239 646111.3 0, 818369.942 646121.982 0, 818076.645 646132.681 0, 817783.348 646143.397 0, 817490.052 646154.13 0, 817196.757 646164.881 0, 816902.014 646175.703 0, 817106.437 651739.14 0,
+ 817310.871 657302.896 0, 817604.956 657292.099 0, 817897.596 657281.372 0, 818190.237 657270.663 0, 818482.878 657259.97 0, 818775.521 657249.295 0, 819068.163 657238.637 0, 819360.807 657227.997 0, 819653.451 657217.373 0, 819946.096 657206.767 0,
+ 820238.741 657196.178 0, 820531.387 657185.606 0, 820824.033 657175.052 0, 821116.681 657164.514 0, 821409.328 657153.994 0, 821701.977 657143.491 0, 821994.626 657133.006 0, 822287.275 657122.537 0, 822579.926 657112.086 0, 822872.577 657101.652 0,
+ 823165.228 657091.235 0, 823457.88 657080.836 0, 823750.533 657070.453 0, 824043.186 657060.088 0, 824334.396 657049.792 0, 824628.495 657039.41 0, 824921.15 657029.097 0, 825213.806 657018.8 0, 825506.462 657008.521 0, 825799.119 656998.26 0,
+ 826091.777 656988.015 0, 826384.435 656977.788 0, 826677.094 656967.578 0, 826969.753 656957.385 0, 827262.413 656947.209 0, 827555.073 656937.051 0, 827847.735 656926.91 0, 828140.396 656916.786 0, 828433.059 656906.679 0, 828725.722 656896.59 0,
+ 829018.385 656886.517 0, 829311.049 656876.462 0, 829603.714 656866.425 0, 829896.379 656856.404 0, 830189.045 656846.401 0, 830481.712 656836.415 0, 830774.379 656826.446 0, 831067.047 656816.494 0, 831358.272 656806.609 0, 831169.557 651242.297 0,
+ 830980.853 645678.304 0))
+
+POLYGON ((874074.374 677821.86 0, 873784.373 677829.243 0, 873492.942 677836.681 0, 873201.511 677844.135 0, 872910.081 677851.607 0, 872618.652 677859.096 0, 872327.222 677866.602 0, 872035.794 677874.125 0, 871744.365 677881.665 0, 871452.937 677889.223 0,
+ 871161.51 677896.797 0, 870870.083 677904.389 0, 870578.656 677911.998 0, 870287.23 677919.624 0, 869995.805 677927.267 0, 869704.379 677934.928 0, 869412.955 677942.605 0, 869121.53 677950.3 0, 868830.107 677958.012 0, 868538.683 677965.741 0,
+ 868247.26 677973.487 0, 867955.838 677981.25 0, 867664.416 677989.03 0, 867372.994 677996.828 0, 867080.142 678004.681 0, 866790.152 678012.475 0, 866498.732 678020.324 0, 866207.312 678028.19 0, 865915.893 678036.073 0, 865624.474 678043.974 0,
+ 865333.056 678051.891 0, 865041.638 678059.826 0, 864750.221 678067.778 0, 864458.804 678075.747 0, 864167.387 678083.734 0, 863875.971 678091.737 0, 863584.556 678099.758 0, 863293.141 678107.795 0, 863001.726 678115.85 0, 862710.312 678123.922 0,
+ 862418.899 678132.011 0, 862127.485 678140.118 0, 861836.073 678148.241 0, 861544.661 678156.382 0, 861253.249 678164.54 0, 860961.838 678172.714 0, 860670.427 678180.907 0, 860379.017 678189.116 0, 860086.175 678197.383 0, 860243.49 683764.217 0,
+ 860400.813 689331.35 0, 860692.997 689323.102 0, 860983.752 689314.911 0, 861274.507 689306.737 0, 861565.263 689298.581 0, 861856.02 689290.441 0, 862146.777 689282.319 0, 862437.534 689274.214 0, 862728.292 689266.126 0, 863019.05 689258.055 0,
+ 863309.809 689250.001 0, 863600.568 689241.964 0, 863891.328 689233.944 0, 864182.088 689225.942 0, 864472.848 689217.957 0, 864763.61 689209.988 0, 865054.371 689202.037 0, 865345.133 689194.103 0, 865635.896 689186.186 0, 865926.659 689178.286 0,
+ 866217.422 689170.403 0, 866508.186 689162.538 0, 866798.95 689154.689 0, 867089.715 689146.858 0, 867379.053 689139.082 0, 867671.246 689131.246 0, 867962.013 689123.466 0, 868252.779 689115.703 0, 868543.546 689107.958 0, 868834.314 689100.229 0,
+ 869125.082 689092.517 0, 869415.851 689084.823 0, 869706.619 689077.146 0, 869997.389 689069.485 0, 870288.159 689061.842 0, 870578.929 689054.216 0, 870869.7 689046.607 0, 871160.471 689039.015 0, 871451.243 689031.441 0, 871742.015 689023.883 0,
+ 872032.787 689016.343 0, 872323.56 689008.819 0, 872614.334 689001.313 0, 872905.107 688993.824 0, 873195.882 688986.352 0, 873486.657 688978.897 0, 873777.432 688971.459 0, 874068.207 688964.039 0, 874357.556 688956.671 0, 874215.961 683389.116 0,
+ 874074.374 677821.86 0))
+
+POLYGON ((888315.302 688621.425 0, 888025.931 688627.975 0, 887735.136 688634.574 0, 887444.341 688641.19 0, 887153.546 688647.823 0, 886862.752 688654.474 0, 886571.958 688661.141 0, 886281.164 688667.826 0, 885990.371 688674.528 0, 885699.579 688681.247 0,
+ 885408.786 688687.983 0, 885117.995 688694.736 0, 884827.203 688701.506 0, 884536.412 688708.294 0, 884245.621 688715.098 0, 883954.831 688721.92 0, 883664.041 688728.759 0, 883373.252 688735.614 0, 883082.463 688742.487 0, 882791.674 688749.377 0,
+ 882500.886 688756.285 0, 882210.098 688763.209 0, 881919.31 688770.15 0, 881628.523 688777.109 0, 881336.311 688784.119 0, 881046.951 688791.077 0, 880756.165 688798.087 0, 880465.379 688805.114 0, 880174.594 688812.159 0, 879883.81 688819.22 0,
+ 879593.026 688826.298 0, 879302.242 688833.394 0, 879011.459 688840.506 0, 878720.676 688847.636 0, 878429.893 688854.783 0, 878139.111 688861.947 0, 877848.33 688869.128 0, 877557.548 688876.326 0, 877266.768 688883.541 0, 876975.987 688890.773 0,
+ 876685.207 688898.023 0, 876394.428 688905.29 0, 876103.649 688912.573 0, 875812.87 688919.874 0, 875522.092 688927.192 0, 875231.314 688934.527 0, 874940.537 688941.879 0, 874649.76 688949.249 0, 874357.556 688956.671 0, 874499.159 694524.522 0,
+ 874640.769 700092.665 0, 874932.313 700085.259 0, 875222.435 700077.907 0, 875512.557 700070.571 0, 875802.679 700063.253 0, 876092.802 700055.951 0, 876382.925 700048.667 0, 876673.049 700041.399 0, 876963.173 700034.149 0, 877253.297 700026.916 0,
+ 877543.422 700019.7 0, 877833.547 700012.501 0, 878123.673 700005.319 0, 878413.799 699998.154 0, 878703.926 699991.006 0, 878994.053 699983.876 0, 879284.18 699976.762 0, 879574.308 699969.665 0, 879864.437 699962.586 0, 880154.565 699955.524 0,
+ 880444.694 699948.478 0, 880734.824 699941.45 0, 881024.954 699934.439 0, 881315.084 699927.445 0, 881603.792 699920.502 0, 881895.346 699913.508 0, 882185.478 699906.565 0, 882475.61 699899.639 0, 882765.742 699892.73 0, 883055.875 699885.839 0,
+ 883346.008 699878.964 0, 883636.142 699872.107 0, 883926.276 699865.266 0, 884216.41 699858.443 0, 884506.545 699851.637 0, 884796.68 699844.848 0, 885086.816 699838.075 0, 885376.952 699831.32 0, 885667.088 699824.582 0, 885957.225 699817.862 0,
+ 886247.362 699811.158 0, 886537.5 699804.471 0, 886827.638 699797.801 0, 887117.776 699791.149 0, 887407.915 699784.513 0, 887698.054 699777.895 0, 887988.193 699771.294 0, 888278.333 699764.709 0, 888567.052 699758.174 0, 888441.174 694189.653 0,
+ 888315.302 688621.425 0))
+
+POLYGON ((902494.225 699463.029 0, 902205.487 699468.748 0, 901915.329 699474.513 0, 901625.172 699480.294 0, 901335.015 699486.093 0, 901044.859 699491.909 0, 900754.703 699497.742 0, 900464.547 699503.592 0, 900174.392 699509.459 0, 899884.237 699515.343 0,
+ 899594.083 699521.244 0, 899303.928 699527.162 0, 899013.774 699533.097 0, 898723.621 699539.05 0, 898433.468 699545.019 0, 898143.315 699551.006 0, 897853.162 699557.009 0, 897563.01 699563.03 0, 897272.858 699569.068 0, 896982.707 699575.123 0,
+ 896692.556 699581.195 0, 896402.405 699587.284 0, 896112.254 699593.39 0, 895822.104 699599.513 0, 895530.534 699605.683 0, 895241.805 699611.811 0, 894951.656 699617.985 0, 894661.508 699624.176 0, 894371.36 699630.385 0, 894081.212 699636.611 0,
+ 893791.064 699642.853 0, 893500.917 699649.113 0, 893210.771 699655.39 0, 892920.624 699661.684 0, 892630.478 699667.995 0, 892340.333 699674.323 0, 892050.187 699680.668 0, 891760.042 699687.03 0, 891469.898 699693.41 0, 891179.754 699699.806 0,
+ 890889.61 699706.22 0, 890599.467 699712.65 0, 890309.324 699719.098 0, 890019.181 699725.563 0, 889729.039 699732.044 0, 889438.897 699738.543 0, 889148.755 699745.059 0, 888858.614 699751.592 0, 888567.052 699758.174 0, 888692.937 705326.984 0,
+ 888818.828 710896.079 0, 889109.732 710889.512 0, 889399.217 710882.993 0, 889688.703 710876.492 0, 889978.189 710870.008 0, 890267.676 710863.541 0, 890557.163 710857.091 0, 890846.65 710850.658 0, 891136.138 710844.242 0, 891425.626 710837.843 0,
+ 891715.115 710831.461 0, 892004.604 710825.096 0, 892294.093 710818.748 0, 892583.583 710812.417 0, 892873.073 710806.103 0, 893162.564 710799.806 0, 893452.054 710793.527 0, 893741.545 710787.264 0, 894031.037 710781.018 0, 894320.529 710774.79 0,
+ 894610.021 710768.578 0, 894899.514 710762.384 0, 895189.007 710756.206 0, 895478.5 710750.046 0, 895766.577 710743.932 0, 896057.488 710737.776 0, 896346.982 710731.667 0, 896636.477 710725.574 0, 896925.972 710719.499 0, 897215.468 710713.441 0,
+ 897504.964 710707.4 0, 897794.46 710701.376 0, 898083.957 710695.369 0, 898373.454 710689.378 0, 898662.951 710683.405 0, 898952.449 710677.449 0, 899241.947 710671.511 0, 899531.445 710665.589 0, 899820.944 710659.684 0, 900110.443 710653.796 0,
+ 900399.942 710647.925 0, 900689.442 710642.071 0, 900978.942 710636.235 0, 901268.442 710630.415 0, 901557.943 710624.612 0, 901847.444 710618.827 0, 902136.946 710613.058 0, 902426.447 710607.307 0, 902714.533 710601.6 0, 902604.376 705032.172 0,
+ 902494.225 699463.029 0))
+
+POLYGON ((916611.015 710346.381 0, 916322.912 710351.273 0, 916033.395 710356.207 0, 915743.878 710361.158 0, 915454.362 710366.125 0, 915164.846 710371.11 0, 914875.33 710376.112 0, 914585.815 710381.13 0, 914296.3 710386.166 0, 914006.785 710391.219 0,
+ 913717.271 710396.289 0, 913427.756 710401.376 0, 913138.242 710406.48 0, 912848.729 710411.601 0, 912559.215 710416.739 0, 912269.702 710421.894 0, 911980.19 710427.066 0, 911690.677 710432.256 0, 911401.165 710437.462 0, 911111.653 710442.685 0,
+ 910822.142 710447.925 0, 910532.631 710453.183 0, 910243.12 710458.457 0, 909953.609 710463.749 0, 909662.684 710469.083 0, 909374.589 710474.383 0, 909085.08 710479.725 0, 908795.57 710485.085 0, 908506.061 710490.461 0, 908216.553 710495.855 0,
+ 907927.044 710501.266 0, 907637.536 710506.693 0, 907348.029 710512.138 0, 907058.521 710517.6 0, 906769.014 710523.079 0, 906479.507 710528.575 0, 906190.001 710534.088 0, 905900.495 710539.618 0, 905610.989 710545.165 0, 905321.484 710550.729 0,
+ 905031.978 710556.31 0, 904742.474 710561.908 0, 904452.969 710567.523 0, 904163.465 710573.156 0, 903873.961 710578.805 0, 903584.458 710584.471 0, 903294.955 710590.155 0, 903005.452 710595.855 0, 902714.533 710601.6 0, 902824.696 716171.311 0,
+ 902934.864 721741.299 0, 903225.124 721735.567 0, 903513.971 721729.879 0, 903802.818 721724.209 0, 904091.666 721718.555 0, 904380.514 721712.919 0, 904669.363 721707.299 0, 904958.212 721701.697 0, 905247.061 721696.111 0, 905535.91 721690.543 0,
+ 905824.76 721684.992 0, 906113.61 721679.457 0, 906402.46 721673.94 0, 906691.311 721668.439 0, 906980.162 721662.956 0, 907269.014 721657.489 0, 907557.865 721652.04 0, 907846.717 721646.607 0, 908135.57 721641.192 0, 908424.422 721635.793 0,
+ 908713.275 721630.412 0, 909002.129 721625.047 0, 909290.982 721619.7 0, 909579.836 721614.37 0, 909867.279 721609.082 0, 910157.545 721603.76 0, 910446.4 721598.48 0, 910735.255 721593.218 0, 911024.111 721587.972 0, 911312.966 721582.744 0,
+ 911601.823 721577.532 0, 911890.679 721572.338 0, 912179.536 721567.161 0, 912468.393 721562 0, 912757.25 721556.857 0, 913046.108 721551.73 0, 913334.966 721546.621 0, 913623.824 721541.528 0, 913912.682 721536.453 0, 914201.541 721531.395 0,
+ 914490.4 721526.353 0, 914779.26 721521.329 0, 915068.12 721516.321 0, 915356.98 721511.331 0, 915645.84 721506.357 0, 915934.7 721501.401 0, 916223.561 721496.462 0, 916512.423 721491.539 0, 916799.873 721486.658 0, 916705.442 715916.38 0,
+ 916611.015 710346.381 0))
+
+POLYGON ((930665.546 721271.188 0, 930378.081 721275.258 0, 930089.207 721279.364 0, 929800.333 721283.487 0, 929511.46 721287.628 0, 929222.587 721291.785 0, 928933.714 721295.959 0, 928644.841 721300.151 0, 928355.968 721304.359 0, 928067.096 721308.584 0,
+ 927778.224 721312.827 0, 927489.353 721317.086 0, 927200.481 721321.362 0, 926911.61 721325.656 0, 926622.739 721329.966 0, 926333.868 721334.293 0, 926044.998 721338.638 0, 925756.128 721342.999 0, 925467.258 721347.377 0, 925178.388 721351.773 0,
+ 924889.519 721356.185 0, 924600.649 721360.614 0, 924311.78 721365.061 0, 924022.912 721369.524 0, 923732.634 721374.026 0, 923445.175 721378.502 0, 923156.307 721383.016 0, 922867.44 721387.548 0, 922578.573 721392.096 0, 922289.706 721396.661 0,
+ 922000.839 721401.244 0, 921711.972 721405.843 0, 921423.106 721410.459 0, 921134.24 721415.093 0, 920845.374 721419.743 0, 920556.509 721424.411 0, 920267.644 721429.095 0, 919978.779 721433.796 0, 919689.914 721438.515 0, 919401.05 721443.25 0,
+ 919112.186 721448.003 0, 918823.322 721452.772 0, 918534.459 721457.558 0, 918245.596 721462.362 0, 917956.733 721467.182 0, 917667.87 721472.02 0, 917379.008 721476.874 0, 917090.146 721481.745 0, 916799.873 721486.658 0, 916894.309 727057.21 0,
+ 916988.75 732628.034 0, 917278.364 732623.133 0, 917566.57 732618.273 0, 917854.776 732613.429 0, 918142.983 732608.603 0, 918431.19 732603.794 0, 918719.398 732599.001 0, 919007.606 732594.226 0, 919295.814 732589.467 0, 919584.022 732584.725 0,
+ 919872.23 732580.001 0, 920160.439 732575.293 0, 920448.648 732570.602 0, 920736.858 732565.929 0, 921025.067 732561.272 0, 921313.277 732556.632 0, 921601.487 732552.009 0, 921889.698 732547.403 0, 922177.909 732542.814 0, 922466.12 732538.242 0,
+ 922754.331 732533.687 0, 923042.542 732529.149 0, 923330.754 732524.628 0, 923618.966 732520.124 0, 923905.772 732515.659 0, 924195.391 732511.167 0, 924483.604 732506.713 0, 924771.817 732502.277 0, 925060.031 732497.858 0, 925348.244 732493.456 0,
+ 925636.458 732489.07 0, 925924.672 732484.702 0, 926212.887 732480.35 0, 926501.101 732476.016 0, 926789.316 732471.698 0, 927077.532 732467.398 0, 927365.747 732463.114 0, 927653.963 732458.848 0, 927942.179 732454.598 0, 928230.395 732450.365 0,
+ 928518.611 732446.15 0, 928806.828 732441.951 0, 929095.045 732437.769 0, 929383.262 732433.604 0, 929671.479 732429.456 0, 929959.697 732425.325 0, 930247.915 732421.211 0, 930536.133 732417.114 0, 930822.946 732413.054 0, 930744.244 726841.986 0,
+ 930665.546 721271.188 0))
+
+POLYGON ((944657.694 732237.159 0, 944370.869 732240.409 0, 944082.64 732243.692 0, 943794.412 732246.991 0, 943506.184 732250.308 0, 943217.956 732253.641 0, 942929.728 732256.992 0, 942641.5 732260.36 0, 942353.273 732263.744 0, 942065.046 732267.145 0,
+ 941776.819 732270.564 0, 941488.592 732273.999 0, 941200.365 732277.452 0, 940912.139 732280.921 0, 940623.913 732284.407 0, 940335.687 732287.91 0, 940047.461 732291.431 0, 939759.235 732294.968 0, 939471.01 732298.522 0, 939182.785 732302.093 0,
+ 938894.56 732305.681 0, 938606.335 732309.286 0, 938318.111 732312.908 0, 938029.887 732316.547 0, 937740.258 732320.221 0, 937453.439 732323.876 0, 937165.215 732327.566 0, 936876.991 732331.273 0, 936588.768 732334.996 0, 936300.545 732338.737 0,
+ 936012.323 732342.495 0, 935724.1 732346.269 0, 935435.878 732350.061 0, 935147.656 732353.87 0, 934859.434 732357.695 0, 934571.212 732361.538 0, 934282.991 732365.397 0, 933994.769 732369.274 0, 933706.548 732373.167 0, 933418.328 732377.078 0,
+ 933130.107 732381.005 0, 932841.887 732384.949 0, 932553.667 732388.91 0, 932265.447 732392.889 0, 931977.227 732396.884 0, 931689.008 732400.896 0, 931400.789 732404.925 0, 931112.57 732408.971 0, 930822.946 732413.054 0, 930901.651 737984.391 0,
+ 930980.361 743555.992 0, 931269.326 743551.918 0, 931556.889 743547.882 0, 931844.452 743543.862 0, 932132.016 743539.859 0, 932419.579 743535.872 0, 932707.143 743531.903 0, 932994.708 743527.951 0, 933282.272 743524.016 0, 933569.837 743520.097 0,
+ 933857.401 743516.196 0, 934144.967 743512.311 0, 934432.532 743508.444 0, 934720.097 743504.593 0, 935007.663 743500.759 0, 935295.229 743496.942 0, 935582.796 743493.142 0, 935870.362 743489.359 0, 936157.929 743485.593 0, 936445.496 743481.844 0,
+ 936733.063 743478.112 0, 937020.63 743474.397 0, 937308.198 743470.698 0, 937595.765 743467.017 0, 937881.932 743463.37 0, 938170.902 743459.705 0, 938458.47 743456.074 0, 938746.039 743452.46 0, 939033.608 743448.863 0, 939321.177 743445.283 0,
+ 939608.746 743441.72 0, 939896.315 743438.174 0, 940183.885 743434.645 0, 940471.455 743431.133 0, 940759.025 743427.638 0, 941046.595 743424.159 0, 941334.166 743420.698 0, 941621.737 743417.254 0, 941909.308 743413.826 0, 942196.879 743410.415 0,
+ 942484.45 743407.022 0, 942772.022 743403.645 0, 943059.593 743400.285 0, 943347.165 743396.942 0, 943634.737 743393.616 0, 943922.31 743390.307 0, 944209.882 743387.015 0, 944497.455 743383.74 0, 944783.627 743380.497 0, 944720.659 737808.696 0,
+ 944657.694 732237.159 0))
+
+POLYGON ((958587.335 743244 0, 958301.152 743246.434 0, 958013.571 743248.896 0, 957725.991 743251.376 0, 957438.41 743253.873 0, 957150.83 743256.386 0, 956863.25 743258.917 0, 956575.669 743261.464 0, 956288.09 743264.028 0, 956000.51 743266.61 0,
+ 955712.93 743269.208 0, 955425.351 743271.823 0, 955137.771 743274.455 0, 954850.192 743277.104 0, 954562.613 743279.77 0, 954275.034 743282.453 0, 953987.456 743285.152 0, 953699.877 743287.869 0, 953412.299 743290.603 0, 953124.721 743293.353 0,
+ 952837.143 743296.121 0, 952549.565 743298.905 0, 952261.987 743301.706 0, 951974.41 743304.525 0, 951685.433 743307.374 0, 951399.255 743310.212 0, 951111.678 743313.081 0, 950824.101 743315.967 0, 950536.524 743318.87 0, 950248.948 743321.789 0,
+ 949961.371 743324.726 0, 949673.795 743327.68 0, 949386.219 743330.65 0, 949098.643 743333.638 0, 948811.068 743336.642 0, 948523.492 743339.664 0, 948235.917 743342.702 0, 947948.342 743345.757 0, 947660.767 743348.829 0, 947373.192 743351.918 0,
+ 947085.618 743355.024 0, 946798.043 743358.147 0, 946510.469 743361.287 0, 946222.895 743364.444 0, 945935.321 743367.617 0, 945647.748 743370.808 0, 945360.174 743374.015 0, 945072.601 743377.24 0, 944783.627 743380.497 0, 944846.599 748952.559 0,
+ 944909.573 754524.879 0, 945197.887 754521.63 0, 945484.804 754518.412 0, 945771.722 754515.212 0, 946058.639 754512.029 0, 946345.557 754508.862 0, 946632.475 754505.713 0, 946919.394 754502.58 0, 947206.312 754499.464 0, 947493.231 754496.366 0,
+ 947780.15 754493.284 0, 948067.069 754490.218 0, 948353.988 754487.17 0, 948640.907 754484.139 0, 948927.827 754481.124 0, 949214.746 754478.127 0, 949501.666 754475.146 0, 949788.586 754472.182 0, 950075.507 754469.236 0, 950362.427 754466.306 0,
+ 950649.347 754463.392 0, 950936.268 754460.496 0, 951223.189 754457.617 0, 951510.11 754454.754 0, 951795.636 754451.923 0, 952083.953 754449.08 0, 952370.875 754446.268 0, 952657.796 754443.473 0, 952944.718 754440.695 0, 953231.64 754437.934 0,
+ 953518.563 754435.19 0, 953805.485 754432.463 0, 954092.408 754429.752 0, 954379.33 754427.059 0, 954666.253 754424.382 0, 954953.176 754421.722 0, 955240.099 754419.079 0, 955527.023 754416.453 0, 955813.946 754413.844 0, 956100.87 754411.252 0,
+ 956387.794 754408.676 0, 956674.718 754406.118 0, 956961.642 754403.576 0, 957248.566 754401.051 0, 957535.49 754398.544 0, 957822.415 754396.053 0, 958109.34 754393.579 0, 958396.265 754391.122 0, 958681.795 754388.693 0, 958634.564 748816.218 0,
+ 958587.335 743244 0))
+
+POLYGON ((972454.347 754291.416 0, 972168.809 754293.038 0, 971881.878 754294.685 0, 971594.947 754296.348 0, 971308.017 754298.028 0, 971021.087 754299.726 0, 970734.156 754301.44 0, 970447.226 754303.171 0, 970160.296 754304.919 0, 969873.366 754306.683 0,
+ 969586.436 754308.465 0, 969299.507 754310.264 0, 969012.577 754312.079 0, 968725.647 754313.911 0, 968438.718 754315.76 0, 968151.789 754317.627 0, 967864.86 754319.509 0, 967577.93 754321.409 0, 967291.001 754323.326 0, 967004.073 754325.26 0,
+ 966717.144 754327.21 0, 966430.215 754329.178 0, 966143.287 754331.162 0, 965856.358 754333.163 0, 965568.036 754335.191 0, 965282.502 754337.216 0, 964995.574 754339.268 0, 964708.646 754341.337 0, 964421.718 754343.422 0, 964134.791 754345.525 0,
+ 963847.863 754347.644 0, 963560.936 754349.781 0, 963274.008 754351.934 0, 962987.081 754354.104 0, 962700.154 754356.291 0, 962413.227 754358.495 0, 962126.3 754360.715 0, 961839.374 754362.953 0, 961552.447 754365.207 0, 961265.521 754367.479 0,
+ 960978.595 754369.767 0, 960691.668 754372.072 0, 960404.743 754374.394 0, 960117.817 754376.733 0, 959830.891 754379.089 0, 959543.965 754381.462 0, 959257.04 754383.851 0, 958970.115 754386.258 0, 958681.795 754388.693 0, 958729.028 759961.423 0,
+ 958776.263 765534.402 0, 959063.924 765531.973 0, 959350.193 765529.572 0, 959636.463 765527.188 0, 959922.732 765524.82 0, 960209.002 765522.47 0, 960495.272 765520.136 0, 960781.542 765517.82 0, 961067.812 765515.52 0, 961354.082 765513.237 0,
+ 961640.352 765510.97 0, 961926.623 765508.721 0, 962212.893 765506.489 0, 962499.164 765504.273 0, 962785.435 765502.074 0, 963071.706 765499.892 0, 963357.977 765497.727 0, 963644.248 765495.579 0, 963930.52 765493.447 0, 964216.791 765491.333 0,
+ 964503.063 765489.235 0, 964789.335 765487.154 0, 965075.607 765485.09 0, 965361.879 765483.043 0, 965646.76 765481.023 0, 965934.423 765478.999 0, 966220.695 765477.003 0, 966506.968 765475.023 0, 966793.241 765473.06 0, 967079.513 765471.114 0,
+ 967365.786 765469.185 0, 967652.059 765467.273 0, 967938.332 765465.377 0, 968224.605 765463.498 0, 968510.879 765461.637 0, 968797.152 765459.792 0, 969083.425 765457.963 0, 969369.699 765456.152 0, 969655.973 765454.358 0, 969942.247 765452.58 0,
+ 970228.52 765450.82 0, 970514.794 765449.076 0, 970801.069 765447.349 0, 971087.343 765445.638 0, 971373.617 765443.945 0, 971659.892 765442.269 0, 971946.166 765440.609 0, 972232.441 765438.966 0, 972517.326 765437.348 0, 972485.836 759864.257 0,
+ 972454.347 754291.416 0))
+
+POLYGON ((986258.608 765379.115 0, 985973.717 765379.929 0, 985687.439 765380.763 0, 985401.161 765381.613 0, 985114.883 765382.481 0, 984828.605 765383.366 0, 984542.327 765384.267 0, 984256.049 765385.185 0, 983969.772 765386.12 0, 983683.494 765387.072 0,
+ 983397.216 765388.041 0, 983110.938 765389.027 0, 982824.661 765390.029 0, 982538.383 765391.048 0, 982252.106 765392.085 0, 981965.828 765393.138 0, 981679.551 765394.208 0, 981393.274 765395.294 0, 981106.997 765396.398 0, 980820.72 765397.518 0,
+ 980534.442 765398.656 0, 980248.165 765399.81 0, 979961.889 765400.981 0, 979675.612 765402.169 0, 979387.946 765403.379 0, 979103.058 765404.595 0, 978816.781 765405.833 0, 978530.505 765407.088 0, 978244.228 765408.36 0, 977957.952 765409.649 0,
+ 977671.676 765410.955 0, 977385.399 765412.278 0, 977099.123 765413.617 0, 976812.847 765414.974 0, 976526.571 765416.347 0, 976240.295 765417.737 0, 975954.019 765419.144 0, 975667.743 765420.567 0, 975381.468 765422.008 0, 975095.192 765423.465 0,
+ 974808.916 765424.94 0, 974522.641 765426.431 0, 974236.366 765427.939 0, 973950.09 765429.464 0, 973663.815 765431.005 0, 973377.54 765432.564 0, 973091.265 765434.139 0, 972804.99 765435.731 0, 972517.326 765437.348 0, 972548.818 771010.686 0,
+ 972580.311 776584.267 0, 972867.316 776582.654 0, 973152.935 776581.066 0, 973438.554 776579.494 0, 973724.173 776577.939 0, 974009.792 776576.401 0, 974295.411 776574.879 0, 974581.03 776573.375 0, 974866.649 776571.887 0, 975152.269 776570.416 0,
+ 975437.888 776568.962 0, 975723.508 776567.525 0, 976009.128 776566.105 0, 976294.748 776564.701 0, 976580.367 776563.314 0, 976865.987 776561.944 0, 977151.607 776560.591 0, 977437.228 776559.254 0, 977722.848 776557.935 0, 978008.468 776556.632 0,
+ 978294.088 776555.346 0, 978579.709 776554.077 0, 978865.329 776552.825 0, 979150.95 776551.589 0, 979435.185 776550.376 0, 979722.191 776549.168 0, 980007.812 776547.983 0, 980293.433 776546.815 0, 980579.054 776545.663 0, 980864.675 776544.529 0,
+ 981150.296 776543.411 0, 981435.917 776542.31 0, 981721.538 776541.226 0, 982007.159 776540.158 0, 982292.781 776539.108 0, 982578.402 776538.074 0, 982864.023 776537.057 0, 983149.645 776536.057 0, 983435.266 776535.073 0, 983720.888 776534.107 0,
+ 984006.51 776533.157 0, 984292.131 776532.224 0, 984577.753 776531.308 0, 984863.375 776530.409 0, 985148.997 776529.526 0, 985434.619 776528.66 0, 985720.241 776527.811 0, 986005.863 776526.979 0, 986290.101 776526.168 0, 986274.354 770952.52 0,
+ 986258.608 765379.115 0))
+
+POLYGON ((1000000 776506.802 0, 999715.759 776506.81 0, 999430.135 776506.835 0, 999144.512 776506.877 0, 998858.889 776506.936 0, 998573.266 776507.011 0, 998287.643 776507.104 0, 998002.019 776507.213 0, 997716.396 776507.339 0, 997430.773 776507.482 0,
+ 997145.15 776507.641 0, 996859.527 776507.818 0, 996573.903 776508.011 0, 996288.28 776508.221 0, 996002.657 776508.448 0, 995717.034 776508.692 0, 995431.411 776508.952 0, 995145.788 776509.229 0, 994860.165 776509.523 0, 994574.542 776509.834 0,
+ 994288.919 776510.162 0, 994003.296 776510.507 0, 993717.673 776510.868 0, 993432.05 776511.246 0, 993145.044 776511.643 0, 992860.804 776512.053 0, 992575.181 776512.482 0, 992289.558 776512.927 0, 992003.935 776513.389 0, 991718.312 776513.868 0,
+ 991432.689 776514.364 0, 991147.067 776514.877 0, 990861.444 776515.406 0, 990575.821 776515.953 0, 990290.198 776516.516 0, 990004.576 776517.096 0, 989718.953 776517.692 0, 989433.331 776518.306 0, 989147.708 776518.936 0, 988862.086 776519.583 0,
+ 988576.463 776520.247 0, 988290.841 776520.928 0, 988005.218 776521.626 0, 987719.596 776522.34 0, 987433.974 776523.071 0, 987148.351 776523.819 0, 986862.729 776524.584 0, 986577.107 776525.366 0, 986290.101 776526.168 0, 986305.848 782100.056 0,
+ 986321.596 787674.18 0, 986607.943 787673.379 0, 986892.909 787672.599 0, 987177.875 787671.836 0, 987462.841 787671.09 0, 987747.807 787670.36 0, 988032.773 787669.648 0, 988317.74 787668.952 0, 988602.706 787668.272 0, 988887.672 787667.61 0,
+ 989172.639 787666.964 0, 989457.605 787666.335 0, 989742.571 787665.723 0, 990027.538 787665.128 0, 990312.504 787664.549 0, 990597.471 787663.988 0, 990882.437 787663.443 0, 991167.404 787662.914 0, 991452.371 787662.403 0, 991737.337 787661.908 0,
+ 992022.304 787661.43 0, 992307.271 787660.969 0, 992592.237 787660.525 0, 992877.204 787660.097 0, 993160.791 787659.688 0, 993447.138 787659.292 0, 993732.105 787658.915 0, 994017.072 787658.554 0, 994302.038 787658.21 0, 994587.005 787657.883 0,
+ 994871.972 787657.573 0, 995156.939 787657.28 0, 995441.906 787657.003 0, 995726.873 787656.743 0, 996011.84 787656.5 0, 996296.807 787656.274 0, 996581.774 787656.064 0, 996866.741 787655.871 0, 997151.708 787655.695 0, 997436.675 787655.536 0,
+ 997721.642 787655.394 0, 998006.609 787655.268 0, 998291.576 787655.159 0, 998576.543 787655.067 0, 998861.51 787654.991 0, 999146.478 787654.933 0, 999431.445 787654.891 0, 999716.412 787654.866 0, 1000000 787654.858 0, 1000000 782080.711 0,
+ 1000000 776506.802 0))
+
+POLYGON ((1013678.404 787674.18 0, 1013394.815 787673.387 0, 1013109.849 787672.607 0, 1012824.883 787671.843 0, 1012539.916 787671.097 0, 1012254.95 787670.367 0, 1011969.984 787669.654 0, 1011685.018 787668.958 0, 1011400.052 787668.279 0, 1011115.085 787667.616 0,
+ 1010830.119 787666.97 0, 1010545.153 787666.341 0, 1010260.186 787665.729 0, 1009975.22 787665.134 0, 1009690.253 787664.555 0, 1009405.287 787663.993 0, 1009120.32 787663.448 0, 1008835.353 787662.919 0, 1008550.387 787662.408 0, 1008265.42 787661.913 0,
+ 1007980.454 787661.435 0, 1007695.487 787660.973 0, 1007410.52 787660.529 0, 1007125.553 787660.101 0, 1006839.209 787659.688 0, 1006555.62 787659.296 0, 1006270.653 787658.918 0, 1005985.686 787658.558 0, 1005700.719 787658.214 0, 1005415.752 787657.887 0,
+ 1005130.785 787657.576 0, 1004845.818 787657.283 0, 1004560.851 787657.006 0, 1004275.884 787656.746 0, 1003990.918 787656.502 0, 1003705.951 787656.276 0, 1003420.984 787656.066 0, 1003136.016 787655.873 0, 1002851.049 787655.697 0, 1002566.082 787655.538 0,
+ 1002281.115 787655.395 0, 1001996.148 787655.269 0, 1001711.181 787655.16 0, 1001426.214 787655.068 0, 1001141.247 787654.992 0, 1000856.28 787654.933 0, 1000571.313 787654.891 0, 1000286.346 787654.866 0, 1000000 787654.858 0, 1000000 793229.236 0,
+ 1000000 798803.844 0, 1000285.686 798803.852 0, 1000569.997 798803.877 0, 1000854.308 798803.919 0, 1001138.619 798803.978 0, 1001422.93 798804.053 0, 1001707.241 798804.145 0, 1001991.552 798804.254 0, 1002275.863 798804.38 0, 1002560.173 798804.522 0,
+ 1002844.484 798804.681 0, 1003128.795 798804.857 0, 1003413.106 798805.049 0, 1003697.417 798805.259 0, 1003981.727 798805.485 0, 1004266.038 798805.727 0, 1004550.349 798805.987 0, 1004834.66 798806.263 0, 1005118.97 798806.556 0, 1005403.281 798806.866 0,
+ 1005687.592 798807.192 0, 1005971.903 798807.535 0, 1006256.213 798807.895 0, 1006540.524 798808.272 0, 1006823.46 798808.663 0, 1007109.145 798809.075 0, 1007393.456 798809.502 0, 1007677.766 798809.945 0, 1007962.077 798810.406 0, 1008246.387 798810.883 0,
+ 1008530.697 798811.376 0, 1008815.008 798811.887 0, 1009099.318 798812.414 0, 1009383.629 798812.958 0, 1009667.939 798813.519 0, 1009952.249 798814.096 0, 1010236.56 798814.69 0, 1010520.87 798815.301 0, 1010805.18 798815.929 0, 1011089.49 798816.573 0,
+ 1011373.8 798817.234 0, 1011658.11 798817.912 0, 1011942.42 798818.606 0, 1012226.73 798819.318 0, 1012511.04 798820.046 0, 1012795.35 798820.79 0, 1013079.66 798821.552 0, 1013363.97 798822.33 0, 1013646.906 798823.121 0, 1013662.655 793248.536 0,
+ 1013678.404 787674.18 0))
+
+POLYGON ((1027293.703 798880.954 0, 1027010.768 798879.363 0, 1026726.462 798877.782 0, 1026442.155 798876.217 0, 1026157.848 798874.669 0, 1025873.542 798873.138 0, 1025589.235 798871.623 0, 1025304.928 798870.126 0, 1025020.621 798868.645 0, 1024736.314 798867.18 0,
+ 1024452.007 798865.733 0, 1024167.699 798864.302 0, 1023883.392 798862.888 0, 1023599.085 798861.49 0, 1023314.777 798860.11 0, 1023030.469 798858.746 0, 1022746.162 798857.399 0, 1022461.854 798856.068 0, 1022177.546 798854.755 0, 1021893.238 798853.458 0,
+ 1021608.93 798852.177 0, 1021324.622 798850.914 0, 1021040.314 798849.667 0, 1020756.006 798848.437 0, 1020470.325 798847.218 0, 1020187.389 798846.027 0, 1019903.081 798844.847 0, 1019618.772 798843.684 0, 1019334.464 798842.538 0, 1019050.155 798841.408 0,
+ 1018765.846 798840.296 0, 1018481.538 798839.199 0, 1018197.229 798838.12 0, 1017912.92 798837.057 0, 1017628.611 798836.011 0, 1017344.302 798834.982 0, 1017059.993 798833.97 0, 1016775.684 798832.974 0, 1016491.374 798831.995 0, 1016207.065 798831.033 0,
+ 1015922.756 798830.087 0, 1015638.447 798829.158 0, 1015354.137 798828.246 0, 1015069.828 798827.351 0, 1014785.518 798826.472 0, 1014501.209 798825.61 0, 1014216.899 798824.765 0, 1013932.589 798823.937 0, 1013646.906 798823.121 0, 1013631.156 804397.932 0,
+ 1013615.406 809972.964 0, 1013900.429 809973.778 0, 1014184.083 809974.604 0, 1014467.736 809975.447 0, 1014751.389 809976.307 0, 1015035.043 809977.184 0, 1015318.696 809978.077 0, 1015602.349 809978.987 0, 1015886.002 809979.914 0, 1016169.655 809980.857 0,
+ 1016453.308 809981.817 0, 1016736.961 809982.794 0, 1017020.614 809983.787 0, 1017304.267 809984.797 0, 1017587.92 809985.824 0, 1017871.572 809986.868 0, 1018155.225 809987.928 0, 1018438.878 809989.005 0, 1018722.53 809990.099 0, 1019006.183 809991.209 0,
+ 1019289.835 809992.336 0, 1019573.487 809993.48 0, 1019857.139 809994.64 0, 1020140.792 809995.817 0, 1020423.075 809997.005 0, 1020708.096 809998.221 0, 1020991.748 809999.449 0, 1021275.4 810000.692 0, 1021559.051 810001.953 0, 1021842.703 810003.23 0,
+ 1022126.355 810004.524 0, 1022410.006 810005.835 0, 1022693.658 810007.162 0, 1022977.309 810008.506 0, 1023260.961 810009.867 0, 1023544.612 810011.245 0, 1023828.263 810012.639 0, 1024111.914 810014.049 0, 1024395.565 810015.477 0, 1024679.216 810016.921 0,
+ 1024962.867 810018.382 0, 1025246.518 810019.86 0, 1025530.169 810021.354 0, 1025813.819 810022.865 0, 1026097.47 810024.393 0, 1026381.12 810025.937 0, 1026664.77 810027.498 0, 1026948.421 810029.076 0, 1027230.703 810030.663 0, 1027262.204 804455.697 0,
+ 1027293.703 798880.954 0))
+
+POLYGON ((1040845.782 810126.827 0, 1040563.504 810124.443 0, 1040279.859 810122.064 0, 1039996.214 810119.701 0, 1039712.569 810117.356 0, 1039428.924 810115.027 0, 1039145.279 810112.714 0, 1038861.634 810110.419 0, 1038577.988 810108.14 0, 1038294.343 810105.877 0,
+ 1038010.697 810103.632 0, 1037727.051 810101.403 0, 1037443.405 810099.191 0, 1037159.759 810096.995 0, 1036876.113 810094.816 0, 1036592.466 810092.654 0, 1036308.82 810090.509 0, 1036025.173 810088.38 0, 1035741.527 810086.268 0, 1035457.88 810084.173 0,
+ 1035174.233 810082.094 0, 1034890.586 810080.032 0, 1034606.938 810077.987 0, 1034323.291 810075.958 0, 1034038.276 810073.937 0, 1033755.996 810071.951 0, 1033472.348 810069.973 0, 1033188.7 810068.011 0, 1032905.052 810066.066 0, 1032621.404 810064.138 0,
+ 1032337.756 810062.226 0, 1032054.108 810060.331 0, 1031770.459 810058.453 0, 1031486.811 810056.591 0, 1031203.162 810054.746 0, 1030919.514 810052.918 0, 1030635.865 810051.106 0, 1030352.216 810049.312 0, 1030068.567 810047.534 0, 1029784.918 810045.772 0,
+ 1029501.268 810044.027 0, 1029217.619 810042.299 0, 1028933.97 810040.588 0, 1028650.32 810038.893 0, 1028366.67 810037.215 0, 1028083.021 810035.554 0, 1027799.371 810033.91 0, 1027515.721 810032.282 0, 1027230.703 810030.663 0, 1027199.2 815605.846 0,
+ 1027167.697 821181.244 0, 1027452.056 821182.859 0, 1027735.049 821184.483 0, 1028018.043 821186.124 0, 1028301.036 821187.781 0, 1028584.03 821189.455 0, 1028867.023 821191.146 0, 1029150.016 821192.853 0, 1029433.009 821194.578 0, 1029716.002 821196.318 0,
+ 1029998.995 821198.076 0, 1030281.988 821199.85 0, 1030564.98 821201.64 0, 1030847.973 821203.448 0, 1031130.965 821205.272 0, 1031413.958 821207.112 0, 1031696.95 821208.969 0, 1031979.942 821210.843 0, 1032262.934 821212.734 0, 1032545.926 821214.641 0,
+ 1032828.918 821216.565 0, 1033111.909 821218.506 0, 1033394.901 821220.463 0, 1033677.892 821222.437 0, 1033959.52 821224.418 0, 1034243.875 821226.435 0, 1034526.866 821228.458 0, 1034809.857 821230.499 0, 1035092.848 821232.556 0, 1035375.838 821234.63 0,
+ 1035658.829 821236.72 0, 1035941.819 821238.828 0, 1036224.81 821240.951 0, 1036507.8 821243.092 0, 1036790.79 821245.249 0, 1037073.78 821247.423 0, 1037356.77 821249.613 0, 1037639.759 821251.82 0, 1037922.749 821254.044 0, 1038205.738 821256.284 0,
+ 1038488.728 821258.541 0, 1038771.717 821260.815 0, 1039054.706 821263.105 0, 1039337.695 821265.412 0, 1039620.684 821267.736 0, 1039903.672 821270.076 0, 1040186.661 821272.433 0, 1040469.649 821274.807 0, 1040751.275 821277.186 0, 1040798.529 815701.899 0,
+ 1040845.782 810126.827 0))
+
+POLYGON ((1054334.527 821411.503 0, 1054052.907 821408.329 0, 1053769.926 821405.156 0, 1053486.946 821401.999 0, 1053203.965 821398.86 0, 1052920.984 821395.736 0, 1052638.003 821392.63 0, 1052355.021 821389.54 0, 1052072.039 821386.467 0, 1051789.058 821383.41 0,
+ 1051506.076 821380.37 0, 1051223.094 821377.347 0, 1050940.111 821374.341 0, 1050657.129 821371.351 0, 1050374.146 821368.378 0, 1050091.163 821365.421 0, 1049808.18 821362.481 0, 1049525.197 821359.558 0, 1049242.214 821356.651 0, 1048959.23 821353.761 0,
+ 1048676.246 821350.888 0, 1048393.262 821348.031 0, 1048110.278 821345.191 0, 1047827.294 821342.368 0, 1047542.948 821339.548 0, 1047261.325 821336.771 0, 1046978.34 821333.998 0, 1046695.356 821331.241 0, 1046412.371 821328.501 0, 1046129.385 821325.777 0,
+ 1045846.4 821323.071 0, 1045563.414 821320.381 0, 1045280.429 821317.707 0, 1044997.443 821315.05 0, 1044714.457 821312.41 0, 1044431.471 821309.787 0, 1044148.485 821307.18 0, 1043865.498 821304.59 0, 1043582.511 821302.016 0, 1043299.525 821299.459 0,
+ 1043016.538 821296.919 0, 1042733.551 821294.396 0, 1042450.564 821291.889 0, 1042167.576 821289.399 0, 1041884.589 821286.925 0, 1041601.601 821284.468 0, 1041318.613 821282.028 0, 1041035.625 821279.604 0, 1040751.275 821277.186 0, 1040704.018 826852.683 0,
+ 1040656.76 832428.387 0, 1040940.451 832430.8 0, 1041222.783 832433.218 0, 1041505.114 832435.652 0, 1041787.445 832438.104 0, 1042069.776 832440.571 0, 1042352.107 832443.056 0, 1042634.438 832445.557 0, 1042916.769 832448.075 0, 1043199.1 832450.609 0,
+ 1043481.43 832453.16 0, 1043763.76 832455.727 0, 1044046.09 832458.311 0, 1044328.42 832460.912 0, 1044610.75 832463.53 0, 1044893.08 832466.164 0, 1045175.409 832468.814 0, 1045457.739 832471.482 0, 1045740.068 832474.165 0, 1046022.397 832476.866 0,
+ 1046304.726 832479.583 0, 1046587.055 832482.317 0, 1046869.383 832485.067 0, 1047151.711 832487.834 0, 1047432.681 832490.604 0, 1047716.368 832493.418 0, 1047998.696 832496.234 0, 1048281.023 832499.068 0, 1048563.351 832501.918 0, 1048845.678 832504.785 0,
+ 1049128.006 832507.668 0, 1049410.333 832510.568 0, 1049692.659 832513.484 0, 1049974.986 832516.417 0, 1050257.313 832519.367 0, 1050539.639 832522.333 0, 1050821.965 832525.316 0, 1051104.291 832528.316 0, 1051386.617 832531.332 0, 1051668.943 832534.365 0,
+ 1051951.268 832537.414 0, 1052233.594 832540.481 0, 1052515.919 832543.563 0, 1052798.244 832546.663 0, 1053080.568 832549.778 0, 1053362.893 832552.911 0, 1053645.217 832556.06 0, 1053927.541 832559.226 0, 1054208.508 832562.393 0, 1054271.519 826986.845 0,
+ 1054334.527 821411.503 0))
+
+POLYGON ((1067759.824 832734.685 0, 1067478.865 832730.724 0, 1067196.551 832726.76 0, 1066914.237 832722.814 0, 1066631.922 832718.883 0, 1066349.607 832714.97 0, 1066067.292 832711.073 0, 1065784.977 832707.193 0, 1065502.661 832703.329 0, 1065220.346 832699.482 0,
+ 1064938.03 832695.652 0, 1064655.714 832691.838 0, 1064373.397 832688.041 0, 1064091.08 832684.26 0, 1063808.764 832680.496 0, 1063526.447 832676.749 0, 1063244.129 832673.018 0, 1062961.812 832669.304 0, 1062679.494 832665.606 0, 1062397.176 832661.925 0,
+ 1062114.858 832658.261 0, 1061832.54 832654.614 0, 1061550.221 832650.983 0, 1061267.902 832647.368 0, 1060984.227 832643.753 0, 1060703.264 832640.189 0, 1060420.944 832636.625 0, 1060138.625 832633.077 0, 1059856.305 832629.545 0, 1059573.985 832626.031 0,
+ 1059291.665 832622.532 0, 1059009.344 832619.051 0, 1058727.023 832615.586 0, 1058444.703 832612.138 0, 1058162.381 832608.706 0, 1057880.06 832605.291 0, 1057597.739 832601.893 0, 1057315.417 832598.511 0, 1057033.095 832595.146 0, 1056750.773 832591.797 0,
+ 1056468.451 832588.465 0, 1056186.128 832585.15 0, 1055903.806 832581.851 0, 1055621.483 832578.569 0, 1055339.16 832575.304 0, 1055056.836 832572.055 0, 1054774.513 832568.823 0, 1054492.189 832565.607 0, 1054208.508 832562.393 0, 1054145.495 838138.144 0,
+ 1054082.48 843714.095 0, 1054365.502 843717.302 0, 1054647.169 843720.51 0, 1054928.836 843723.735 0, 1055210.503 843726.976 0, 1055492.17 843730.234 0, 1055773.836 843733.509 0, 1056055.503 843736.8 0, 1056337.169 843740.107 0, 1056618.835 843743.431 0,
+ 1056900.5 843746.772 0, 1057182.166 843750.13 0, 1057463.831 843753.503 0, 1057745.496 843756.894 0, 1058027.161 843760.301 0, 1058308.826 843763.725 0, 1058590.491 843767.165 0, 1058872.155 843770.622 0, 1059153.819 843774.095 0, 1059435.483 843777.585 0,
+ 1059717.147 843781.092 0, 1059998.81 843784.615 0, 1060280.473 843788.154 0, 1060562.137 843791.711 0, 1060842.446 843795.266 0, 1061125.462 843798.873 0, 1061407.125 843802.479 0, 1061688.787 843806.102 0, 1061970.449 843809.741 0, 1062252.111 843813.397 0,
+ 1062533.772 843817.069 0, 1062815.434 843820.758 0, 1063097.095 843824.463 0, 1063378.756 843828.185 0, 1063660.416 843831.924 0, 1063942.077 843835.679 0, 1064223.737 843839.451 0, 1064505.397 843843.239 0, 1064787.057 843847.044 0, 1065068.717 843850.866 0,
+ 1065350.376 843854.704 0, 1065632.035 843858.559 0, 1065913.694 843862.43 0, 1066195.353 843866.318 0, 1066477.011 843870.222 0, 1066758.67 843874.143 0, 1067040.328 843878.081 0, 1067321.985 843882.035 0, 1067602.291 843885.986 0, 1067681.059 838310.236 0,
+ 1067759.824 832734.685 0))
+
+POLYGON ((1081121.562 844096.073 0, 1080841.267 844091.329 0, 1080559.621 844086.579 0, 1080277.975 844081.846 0, 1079996.329 844077.129 0, 1079714.683 844072.429 0, 1079433.036 844067.746 0, 1079151.39 844063.079 0, 1078869.742 844058.428 0, 1078588.095 844053.794 0,
+ 1078306.447 844049.177 0, 1078024.799 844044.577 0, 1077743.151 844039.992 0, 1077461.503 844035.425 0, 1077179.854 844030.874 0, 1076898.205 844026.34 0, 1076616.555 844021.822 0, 1076334.906 844017.321 0, 1076053.256 844012.836 0, 1075771.606 844008.368 0,
+ 1075489.956 844003.916 0, 1075208.305 843999.482 0, 1074926.654 843995.063 0, 1074645.003 843990.661 0, 1074362.001 843986.255 0, 1074081.7 843981.908 0, 1073800.048 843977.556 0, 1073518.396 843973.22 0, 1073236.743 843968.901 0, 1072955.091 843964.599 0,
+ 1072673.438 843960.313 0, 1072391.785 843956.044 0, 1072110.131 843951.792 0, 1071828.478 843947.556 0, 1071546.824 843943.336 0, 1071265.169 843939.134 0, 1070983.515 843934.947 0, 1070701.86 843930.778 0, 1070420.205 843926.625 0, 1070138.55 843922.488 0,
+ 1069856.895 843918.368 0, 1069575.239 843914.265 0, 1069293.583 843910.178 0, 1069011.927 843906.108 0, 1068730.271 843902.054 0, 1068448.614 843898.017 0, 1068166.957 843893.997 0, 1067885.3 843889.993 0, 1067602.291 843885.986 0, 1067523.52 849461.933 0,
+ 1067444.747 855038.071 0, 1067727.097 855042.068 0, 1068008.097 855046.063 0, 1068289.098 855050.074 0, 1068570.098 855054.102 0, 1068851.098 855058.146 0, 1069132.098 855062.207 0, 1069413.097 855066.284 0, 1069694.097 855070.378 0, 1069975.096 855074.488 0,
+ 1070256.094 855078.615 0, 1070537.093 855082.758 0, 1070818.091 855086.918 0, 1071099.089 855091.095 0, 1071380.087 855095.288 0, 1071661.085 855099.497 0, 1071942.082 855103.723 0, 1072223.079 855107.966 0, 1072504.076 855112.225 0, 1072785.072 855116.501 0,
+ 1073066.069 855120.793 0, 1073347.065 855125.102 0, 1073628.06 855129.427 0, 1073909.056 855133.769 0, 1074188.704 855138.107 0, 1074471.046 855142.502 0, 1074752.041 855146.894 0, 1075033.036 855151.302 0, 1075314.03 855155.727 0, 1075595.024 855160.168 0,
+ 1075876.018 855164.625 0, 1076157.011 855169.099 0, 1076438.004 855173.59 0, 1076718.997 855178.097 0, 1076999.99 855182.621 0, 1077280.982 855187.162 0, 1077561.974 855191.718 0, 1077842.966 855196.292 0, 1078123.958 855200.882 0, 1078404.949 855205.488 0,
+ 1078685.94 855210.111 0, 1078966.931 855214.751 0, 1079247.921 855219.407 0, 1079528.912 855224.08 0, 1079809.902 855228.769 0, 1080090.891 855233.475 0, 1080371.881 855238.197 0, 1080652.87 855242.936 0, 1080932.512 855247.668 0, 1081027.039 849671.774 0,
+ 1081121.562 844096.073 0))
+
+POLYGON ((1094419.631 855495.369 0, 1094140.001 855489.847 0, 1093859.027 855484.314 0, 1093578.052 855478.798 0, 1093297.076 855473.299 0, 1093016.101 855467.816 0, 1092735.125 855462.349 0, 1092454.149 855456.899 0, 1092173.172 855451.466 0, 1091892.195 855446.049 0,
+ 1091611.218 855440.649 0, 1091330.241 855435.265 0, 1091049.263 855429.898 0, 1090768.285 855424.547 0, 1090487.306 855419.213 0, 1090206.327 855413.895 0, 1089925.348 855408.594 0, 1089644.369 855403.309 0, 1089363.389 855398.041 0, 1089082.409 855392.79 0,
+ 1088801.429 855387.555 0, 1088520.448 855382.337 0, 1088239.467 855377.135 0, 1087958.486 855371.949 0, 1087676.159 855366.756 0, 1087396.523 855361.628 0, 1087115.541 855356.493 0, 1086834.558 855351.373 0, 1086553.575 855346.271 0, 1086272.592 855341.185 0,
+ 1085991.609 855336.115 0, 1085710.625 855331.062 0, 1085429.641 855326.026 0, 1085148.657 855321.006 0, 1084867.673 855316.002 0, 1084586.688 855311.015 0, 1084305.703 855306.045 0, 1084024.717 855301.091 0, 1083743.732 855296.154 0, 1083462.746 855291.233 0,
+ 1083181.759 855286.329 0, 1082900.773 855281.441 0, 1082619.786 855276.57 0, 1082338.799 855271.716 0, 1082057.811 855266.878 0, 1081776.824 855262.056 0, 1081495.836 855257.251 0, 1081214.847 855252.463 0, 1080932.512 855247.668 0, 1080837.982 860823.75 0,
+ 1080743.449 866400.017 0, 1081025.125 866404.8 0, 1081305.457 866409.577 0, 1081585.788 866414.371 0, 1081866.12 866419.181 0, 1082146.451 866424.008 0, 1082426.781 866428.851 0, 1082707.112 866433.711 0, 1082987.442 866438.587 0, 1083267.772 866443.48 0,
+ 1083548.102 866448.389 0, 1083828.431 866453.315 0, 1084108.76 866458.257 0, 1084389.089 866463.216 0, 1084669.417 866468.191 0, 1084949.745 866473.183 0, 1085230.073 866478.191 0, 1085510.401 866483.216 0, 1085790.728 866488.257 0, 1086071.055 866493.315 0,
+ 1086351.381 866498.389 0, 1086631.708 866503.48 0, 1086912.034 866508.587 0, 1087192.36 866513.711 0, 1087471.343 866518.826 0, 1087753.01 866524.007 0, 1088033.335 866529.181 0, 1088313.66 866534.37 0, 1088593.984 866539.577 0, 1088874.308 866544.799 0,
+ 1089154.631 866550.039 0, 1089434.955 866555.294 0, 1089715.278 866560.566 0, 1089995.6 866565.855 0, 1090275.923 866571.16 0, 1090556.245 866576.482 0, 1090836.567 866581.82 0, 1091116.888 866587.175 0, 1091397.209 866592.546 0, 1091677.53 866597.934 0,
+ 1091957.851 866603.338 0, 1092238.171 866608.759 0, 1092518.491 866614.196 0, 1092798.81 866619.65 0, 1093079.129 866625.12 0, 1093359.448 866630.607 0, 1093639.767 866636.11 0, 1093920.085 866641.63 0, 1094199.062 866647.139 0, 1094309.348 861071.162 0,
+ 1094419.631 855495.369 0))
+
+POLYGON ((1107653.922 866932.275 0, 1107374.96 866925.978 0, 1107094.659 866919.666 0, 1106814.357 866913.371 0, 1106534.054 866907.092 0, 1106253.752 866900.83 0, 1105973.449 866894.584 0, 1105693.145 866888.355 0, 1105412.842 866882.143 0, 1105132.538 866875.947 0,
+ 1104852.233 866869.767 0, 1104571.928 866863.604 0, 1104291.623 866857.457 0, 1104011.318 866851.327 0, 1103731.012 866845.213 0, 1103450.705 866839.116 0, 1103170.399 866833.035 0, 1102890.092 866826.971 0, 1102609.784 866820.924 0, 1102329.477 866814.892 0,
+ 1102049.169 866808.878 0, 1101768.86 866802.88 0, 1101488.551 866796.898 0, 1101208.242 866790.933 0, 1100926.593 866784.956 0, 1100647.623 866779.052 0, 1100367.313 866773.136 0, 1100087.002 866767.237 0, 1099806.691 866761.354 0, 1099526.38 866755.488 0,
+ 1099246.069 866749.639 0, 1098965.757 866743.805 0, 1098685.445 866737.989 0, 1098405.132 866732.189 0, 1098124.819 866726.405 0, 1097844.506 866720.638 0, 1097564.192 866714.887 0, 1097283.878 866709.153 0, 1097003.564 866703.435 0, 1096723.249 866697.734 0,
+ 1096442.934 866692.049 0, 1096162.619 866686.381 0, 1095882.304 866680.729 0, 1095601.988 866675.094 0, 1095321.671 866669.476 0, 1095041.355 866663.873 0, 1094761.038 866658.288 0, 1094480.721 866652.718 0, 1094199.062 866647.139 0, 1094088.772 872223.297 0,
+ 1093978.478 877799.632 0, 1094259.477 877805.198 0, 1094539.138 877810.754 0, 1094818.799 877816.327 0, 1095098.459 877821.916 0, 1095378.119 877827.521 0, 1095657.778 877833.143 0, 1095937.437 877838.782 0, 1096217.096 877844.437 0, 1096496.755 877850.108 0,
+ 1096776.413 877855.796 0, 1097056.071 877861.5 0, 1097335.728 877867.221 0, 1097615.386 877872.958 0, 1097895.042 877878.712 0, 1098174.699 877884.482 0, 1098454.355 877890.269 0, 1098734.011 877896.072 0, 1099013.667 877901.891 0, 1099293.322 877907.727 0,
+ 1099572.976 877913.58 0, 1099852.631 877919.449 0, 1100132.285 877925.334 0, 1100411.939 877931.236 0, 1100690.255 877937.126 0, 1100971.245 877943.089 0, 1101250.898 877949.04 0, 1101530.55 877955.008 0, 1101810.202 877960.992 0, 1102089.854 877966.992 0,
+ 1102369.505 877973.009 0, 1102649.156 877979.043 0, 1102928.807 877985.093 0, 1103208.457 877991.159 0, 1103488.107 877997.242 0, 1103767.757 878003.341 0, 1104047.406 878009.457 0, 1104327.055 878015.589 0, 1104606.703 878021.738 0, 1104886.351 878027.903 0,
+ 1105165.999 878034.085 0, 1105445.646 878040.283 0, 1105725.293 878046.498 0, 1106004.94 878052.729 0, 1106284.586 878058.976 0, 1106564.232 878065.24 0, 1106843.878 878071.52 0, 1107123.523 878077.817 0, 1107401.832 878084.1 0, 1107527.879 872508.099 0,
+ 1107653.922 866932.275 0))
+
+POLYGON ((1120824.328 878406.491 0, 1120546.036 878399.422 0, 1120266.41 878392.335 0, 1119986.783 878385.264 0, 1119707.156 878378.211 0, 1119427.528 878371.173 0, 1119147.9 878364.152 0, 1118868.272 878357.147 0, 1118588.643 878350.159 0, 1118309.014 878343.188 0,
+ 1118029.385 878336.232 0, 1117749.755 878329.294 0, 1117470.124 878322.371 0, 1117190.494 878315.466 0, 1116910.862 878308.576 0, 1116631.231 878301.703 0, 1116351.599 878294.847 0, 1116071.966 878288.007 0, 1115792.334 878281.183 0, 1115512.7 878274.376 0,
+ 1115233.067 878267.586 0, 1114953.433 878260.811 0, 1114673.798 878254.054 0, 1114394.164 878247.312 0, 1114113.194 878240.556 0, 1113834.893 878233.879 0, 1113555.257 878227.188 0, 1113275.62 878220.512 0, 1112995.984 878213.853 0, 1112716.347 878207.211 0,
+ 1112436.709 878200.585 0, 1112157.071 878193.975 0, 1111877.433 878187.382 0, 1111597.794 878180.805 0, 1111318.155 878174.245 0, 1111038.515 878167.701 0, 1110758.876 878161.174 0, 1110479.235 878154.663 0, 1110199.595 878148.169 0, 1109919.954 878141.691 0,
+ 1109640.312 878135.23 0, 1109360.67 878128.785 0, 1109081.028 878122.356 0, 1108801.386 878115.944 0, 1108521.743 878109.548 0, 1108242.1 878103.169 0, 1107962.456 878096.807 0, 1107682.812 878090.46 0, 1107401.832 878084.1 0, 1107275.78 883660.274 0,
+ 1107149.725 889236.618 0, 1107430.046 889242.963 0, 1107709.034 889249.294 0, 1107988.021 889255.642 0, 1108267.008 889262.006 0, 1108545.994 889268.387 0, 1108824.98 889274.784 0, 1109103.966 889281.197 0, 1109382.952 889287.627 0, 1109661.937 889294.073 0,
+ 1109940.921 889300.536 0, 1110219.905 889307.015 0, 1110498.889 889313.511 0, 1110777.873 889320.022 0, 1111056.856 889326.551 0, 1111335.838 889333.096 0, 1111614.821 889339.657 0, 1111893.803 889346.235 0, 1112172.784 889352.829 0, 1112451.765 889359.439 0,
+ 1112730.746 889366.066 0, 1113009.726 889372.709 0, 1113288.706 889379.369 0, 1113567.686 889386.045 0, 1113845.334 889392.706 0, 1114125.644 889399.447 0, 1114404.622 889406.172 0, 1114683.6 889412.914 0, 1114962.578 889419.672 0, 1115241.555 889426.447 0,
+ 1115520.532 889433.238 0, 1115799.509 889440.046 0, 1116078.485 889446.869 0, 1116357.46 889453.71 0, 1116636.435 889460.567 0, 1116915.41 889467.44 0, 1117194.385 889474.329 0, 1117473.359 889481.235 0, 1117752.332 889488.158 0, 1118031.305 889495.097 0,
+ 1118310.278 889502.052 0, 1118589.25 889509.024 0, 1118868.222 889516.012 0, 1119147.194 889523.017 0, 1119426.165 889530.038 0, 1119705.136 889537.075 0, 1119984.106 889544.129 0, 1120263.076 889551.199 0, 1120540.715 889558.252 0, 1120682.524 883982.287 0,
+ 1120824.328 878406.491 0))
+
+POLYGON ((1133930.742 889917.716 0, 1133653.122 889909.879 0, 1133374.173 889902.021 0, 1133095.224 889894.179 0, 1132816.274 889886.353 0, 1132537.324 889878.544 0, 1132258.374 889870.752 0, 1131979.423 889862.975 0, 1131700.471 889855.216 0, 1131421.519 889847.472 0,
+ 1131142.567 889839.745 0, 1130863.614 889832.035 0, 1130584.66 889824.34 0, 1130305.706 889816.663 0, 1130026.752 889809.001 0, 1129747.797 889801.356 0, 1129468.842 889793.728 0, 1129189.887 889786.116 0, 1128910.931 889778.52 0, 1128631.974 889770.941 0,
+ 1128353.017 889763.378 0, 1128074.06 889755.832 0, 1127795.102 889748.302 0, 1127516.144 889740.788 0, 1127235.855 889733.255 0, 1126958.226 889725.81 0, 1126679.266 889718.346 0, 1126400.306 889710.898 0, 1126121.346 889703.467 0, 1125842.385 889696.052 0,
+ 1125563.423 889688.653 0, 1125284.461 889681.271 0, 1125005.499 889673.905 0, 1124726.537 889666.556 0, 1124447.573 889659.223 0, 1124168.61 889651.906 0, 1123889.646 889644.606 0, 1123610.682 889637.323 0, 1123331.717 889630.055 0, 1123052.752 889622.804 0,
+ 1122773.786 889615.57 0, 1122494.82 889608.352 0, 1122215.853 889601.15 0, 1121936.886 889593.965 0, 1121657.919 889586.796 0, 1121378.951 889579.644 0, 1121099.983 889572.508 0, 1120821.014 889565.389 0, 1120540.715 889558.252 0, 1120398.902 895134.382 0,
+ 1120257.085 900710.674 0, 1120536.725 900717.794 0, 1120815.037 900724.897 0, 1121093.349 900732.016 0, 1121371.66 900739.152 0, 1121649.971 900746.304 0, 1121928.282 900753.472 0, 1122206.592 900760.656 0, 1122484.901 900767.857 0, 1122763.211 900775.075 0,
+ 1123041.52 900782.309 0, 1123319.828 900789.559 0, 1123598.136 900796.825 0, 1123876.444 900804.108 0, 1124154.751 900811.408 0, 1124433.057 900818.723 0, 1124711.364 900826.055 0, 1124989.669 900833.404 0, 1125267.975 900840.769 0, 1125546.28 900848.15 0,
+ 1125824.584 900855.547 0, 1126102.888 900862.961 0, 1126381.192 900870.392 0, 1126659.495 900877.839 0, 1126936.472 900885.266 0, 1127216.1 900892.781 0, 1127494.402 900900.277 0, 1127772.704 900907.789 0, 1128051.005 900915.318 0, 1128329.305 900922.863 0,
+ 1128607.606 900930.424 0, 1128885.905 900938.002 0, 1129164.205 900945.596 0, 1129442.503 900953.207 0, 1129720.802 900960.834 0, 1129999.1 900968.477 0, 1130277.397 900976.137 0, 1130555.694 900983.813 0, 1130833.991 900991.505 0, 1131112.287 900999.214 0,
+ 1131390.582 901006.939 0, 1131668.877 901014.681 0, 1131947.172 901022.439 0, 1132225.466 901030.213 0, 1132503.76 901038.004 0, 1132782.054 901045.811 0, 1133060.346 901053.634 0, 1133338.639 901061.474 0, 1133615.606 901069.293 0, 1133773.176 895493.424 0,
+ 1133930.742 889917.716 0))
+
+POLYGON ((1146973.06 901465.651 0, 1146696.114 901457.049 0, 1146417.845 901448.423 0, 1146139.576 901439.814 0, 1145861.305 901431.22 0, 1145583.035 901422.644 0, 1145304.763 901414.083 0, 1145026.492 901405.539 0, 1144748.22 901397.011 0, 1144469.947 901388.5 0,
+ 1144191.674 901380.005 0, 1143913.4 901371.526 0, 1143635.126 901363.064 0, 1143356.851 901354.618 0, 1143078.576 901346.188 0, 1142800.3 901337.775 0, 1142522.024 901329.378 0, 1142243.747 901320.998 0, 1141965.47 901312.634 0, 1141687.193 901304.286 0,
+ 1141408.914 901295.955 0, 1141130.636 901287.64 0, 1140852.357 901279.342 0, 1140574.077 901271.06 0, 1140294.473 901262.755 0, 1140017.516 901254.545 0, 1139739.235 901246.312 0, 1139460.954 901238.095 0, 1139182.672 901229.895 0, 1138904.389 901221.711 0,
+ 1138626.106 901213.544 0, 1138347.823 901205.393 0, 1138069.539 901197.258 0, 1137791.254 901189.14 0, 1137512.969 901181.038 0, 1137234.684 901172.952 0, 1136956.398 901164.883 0, 1136678.112 901156.83 0, 1136399.825 901148.794 0, 1136121.538 901140.774 0,
+ 1135843.25 901132.77 0, 1135564.962 901124.783 0, 1135286.673 901116.812 0, 1135008.384 901108.857 0, 1134730.094 901100.919 0, 1134451.804 901092.997 0, 1134173.513 901085.092 0, 1133895.222 901077.203 0, 1133615.606 901069.293 0, 1133458.031 906645.32 0,
+ 1133300.451 912221.5 0, 1133579.408 912229.392 0, 1133857.043 912237.262 0, 1134134.677 912245.149 0, 1134412.311 912253.052 0, 1134689.944 912260.971 0, 1134967.577 912268.907 0, 1135245.209 912276.859 0, 1135522.841 912284.828 0, 1135800.473 912292.813 0,
+ 1136078.103 912300.814 0, 1136355.734 912308.831 0, 1136633.364 912316.865 0, 1136910.993 912324.915 0, 1137188.622 912332.982 0, 1137466.251 912341.064 0, 1137743.879 912349.164 0, 1138021.507 912357.279 0, 1138299.134 912365.411 0, 1138576.76 912373.559 0,
+ 1138854.386 912381.724 0, 1139132.012 912389.904 0, 1139409.637 912398.102 0, 1139687.262 912406.315 0, 1139963.565 912414.506 0, 1140242.51 912422.791 0, 1140520.133 912431.054 0, 1140797.756 912439.333 0, 1141075.378 912447.628 0, 1141353 912455.94 0,
+ 1141630.621 912464.268 0, 1141908.242 912472.612 0, 1142185.862 912480.972 0, 1142463.482 912489.349 0, 1142741.102 912497.743 0, 1143018.72 912506.152 0, 1143296.339 912514.578 0, 1143573.957 912523.021 0, 1143851.574 912531.479 0, 1144129.191 912539.954 0,
+ 1144406.807 912548.446 0, 1144684.423 912556.953 0, 1144962.038 912565.477 0, 1145239.653 912574.018 0, 1145517.268 912582.574 0, 1145794.881 912591.147 0, 1146072.495 912599.737 0, 1146350.108 912608.342 0, 1146626.4 912616.923 0, 1146799.733 907041.21 0,
+ 1146973.06 901465.651 0))
+
+POLYGON ((1159951.178 913049.993 0, 1159674.909 913040.631 0, 1159397.322 913031.241 0, 1159119.734 913021.868 0, 1158842.145 913012.51 0, 1158564.556 913003.169 0, 1158286.967 912993.845 0, 1158009.376 912984.536 0, 1157731.786 912975.244 0, 1157454.194 912965.969 0,
+ 1157176.603 912956.71 0, 1156899.01 912947.467 0, 1156621.417 912938.24 0, 1156343.824 912929.03 0, 1156066.23 912919.836 0, 1155788.636 912910.658 0, 1155511.041 912901.497 0, 1155233.445 912892.352 0, 1154955.849 912883.224 0, 1154678.252 912874.111 0,
+ 1154400.655 912865.015 0, 1154123.057 912855.936 0, 1153845.459 912846.873 0, 1153567.86 912837.826 0, 1153288.942 912828.752 0, 1153012.661 912819.781 0, 1152735.061 912810.783 0, 1152457.46 912801.802 0, 1152179.858 912792.837 0, 1151902.256 912783.888 0,
+ 1151624.654 912774.955 0, 1151347.051 912766.039 0, 1151069.447 912757.139 0, 1150791.843 912748.256 0, 1150514.238 912739.389 0, 1150236.633 912730.538 0, 1149959.028 912721.703 0, 1149681.422 912712.885 0, 1149403.815 912704.084 0, 1149126.208 912695.298 0,
+ 1148848.6 912686.529 0, 1148570.992 912677.776 0, 1148293.383 912669.04 0, 1148015.774 912660.32 0, 1147738.164 912651.616 0, 1147460.554 912642.929 0, 1147182.943 912634.257 0, 1146905.332 912625.603 0, 1146626.4 912616.923 0, 1146453.063 918192.786 0,
+ 1146279.721 923768.796 0, 1146557.993 923777.455 0, 1146834.948 923786.089 0, 1147111.903 923794.739 0, 1147388.857 923803.406 0, 1147665.81 923812.089 0, 1147942.763 923820.789 0, 1148219.715 923829.505 0, 1148496.667 923838.237 0, 1148773.618 923846.985 0,
+ 1149050.569 923855.75 0, 1149327.52 923864.531 0, 1149604.469 923873.328 0, 1149881.419 923882.142 0, 1150158.367 923890.971 0, 1150435.316 923899.818 0, 1150712.263 923908.68 0, 1150989.211 923917.559 0, 1151266.157 923926.454 0, 1151543.103 923935.365 0,
+ 1151820.049 923944.293 0, 1152096.994 923953.237 0, 1152373.939 923962.197 0, 1152650.883 923971.174 0, 1152926.511 923980.124 0, 1153204.769 923989.176 0, 1153481.712 923998.201 0, 1153758.654 924007.243 0, 1154035.595 924016.301 0, 1154312.536 924025.376 0,
+ 1154589.476 924034.466 0, 1154866.416 924043.573 0, 1155143.355 924052.697 0, 1155420.294 924061.836 0, 1155697.232 924070.992 0, 1155974.17 924080.164 0, 1156251.107 924089.353 0, 1156528.043 924098.557 0, 1156804.979 924107.779 0, 1157081.915 924117.016 0,
+ 1157358.85 924126.27 0, 1157635.784 924135.54 0, 1157912.718 924144.826 0, 1158189.651 924154.128 0, 1158466.584 924163.447 0, 1158743.516 924172.783 0, 1159020.448 924182.134 0, 1159297.379 924191.502 0, 1159572.995 924200.841 0, 1159762.089 918625.344 0,
+ 1159951.178 913049.993 0))
+
+POLYGON ((1172864.995 924670.441 0, 1172589.404 924660.323 0, 1172312.501 924650.173 0, 1172035.597 924640.039 0, 1171758.692 924629.921 0, 1171481.787 924619.82 0, 1171204.881 924609.735 0, 1170927.974 924599.667 0, 1170651.067 924589.614 0, 1170374.16 924579.578 0,
+ 1170097.251 924569.558 0, 1169820.342 924559.555 0, 1169543.433 924549.568 0, 1169266.523 924539.597 0, 1168989.612 924529.642 0, 1168712.701 924519.704 0, 1168435.789 924509.782 0, 1168158.877 924499.877 0, 1167881.964 924489.987 0, 1167605.05 924480.114 0,
+ 1167328.136 924470.258 0, 1167051.222 924460.417 0, 1166774.306 924450.593 0, 1166497.391 924440.785 0, 1166219.161 924430.947 0, 1165943.557 924421.218 0, 1165666.64 924411.459 0, 1165389.721 924401.717 0, 1165112.803 924391.99 0, 1164835.883 924382.28 0,
+ 1164558.964 924372.586 0, 1164282.043 924362.909 0, 1164005.122 924353.248 0, 1163728.201 924343.603 0, 1163451.278 924333.974 0, 1163174.356 924324.362 0, 1162897.432 924314.766 0, 1162620.509 924305.186 0, 1162343.584 924295.623 0, 1162066.659 924286.076 0,
+ 1161789.734 924276.545 0, 1161512.808 924267.031 0, 1161235.881 924257.533 0, 1160958.954 924248.051 0, 1160682.026 924238.585 0, 1160405.098 924229.136 0, 1160128.169 924219.703 0, 1159851.239 924210.286 0, 1159572.995 924200.841 0, 1159383.896 929776.481 0,
+ 1159194.792 935352.258 0, 1159472.377 935361.681 0, 1159748.65 935371.075 0, 1160024.923 935380.486 0, 1160301.195 935389.913 0, 1160577.466 935399.356 0, 1160853.737 935408.815 0, 1161130.007 935418.291 0, 1161406.277 935427.783 0, 1161682.546 935437.291 0,
+ 1161958.815 935446.815 0, 1162235.083 935456.356 0, 1162511.35 935465.913 0, 1162787.617 935475.486 0, 1163063.884 935485.076 0, 1163340.15 935494.682 0, 1163616.415 935504.304 0, 1163892.68 935513.942 0, 1164168.944 935523.596 0, 1164445.207 935533.267 0,
+ 1164721.47 935542.954 0, 1164997.733 935552.657 0, 1165273.994 935562.377 0, 1165550.256 935572.113 0, 1165825.206 935581.819 0, 1166102.776 935591.633 0, 1166379.036 935601.418 0, 1166655.295 935611.219 0, 1166931.553 935621.036 0, 1167207.811 935630.869 0,
+ 1167484.068 935640.719 0, 1167760.325 935650.585 0, 1168036.581 935660.467 0, 1168312.836 935670.365 0, 1168589.091 935680.28 0, 1168865.346 935690.211 0, 1169141.599 935700.158 0, 1169417.853 935710.122 0, 1169694.105 935720.102 0, 1169970.357 935730.098 0,
+ 1170246.608 935740.11 0, 1170522.859 935750.138 0, 1170799.109 935760.183 0, 1171075.359 935770.244 0, 1171351.608 935780.321 0, 1171627.856 935790.415 0, 1171904.104 935800.525 0, 1172180.351 935810.651 0, 1172455.289 935820.745 0, 1172660.145 930245.524 0,
+ 1172864.995 924670.441 0))
+
+POLYGON ((1185714.409 936326.693 0, 1185439.499 936315.822 0, 1185163.282 936304.916 0, 1184887.064 936294.025 0, 1184610.845 936283.152 0, 1184334.625 936272.294 0, 1184058.405 936261.452 0, 1183782.185 936250.627 0, 1183505.963 936239.818 0, 1183229.741 936229.026 0,
+ 1182953.519 936218.249 0, 1182677.295 936207.489 0, 1182401.071 936196.745 0, 1182124.847 936186.018 0, 1181848.622 936175.306 0, 1181572.396 936164.611 0, 1181296.17 936153.932 0, 1181019.943 936143.27 0, 1180743.715 936132.623 0, 1180467.487 936121.993 0,
+ 1180191.258 936111.379 0, 1179915.028 936100.782 0, 1179638.798 936090.2 0, 1179362.567 936079.635 0, 1179085.028 936069.037 0, 1178810.104 936058.554 0, 1178533.871 936048.038 0, 1178257.638 936037.538 0, 1177981.404 936027.054 0, 1177705.169 936016.586 0,
+ 1177428.934 936006.135 0, 1177152.699 935995.7 0, 1176876.462 935985.281 0, 1176600.225 935974.879 0, 1176323.988 935964.493 0, 1176047.75 935954.123 0, 1175771.511 935943.769 0, 1175495.271 935933.432 0, 1175219.031 935923.111 0, 1174942.791 935912.806 0,
+ 1174666.55 935902.517 0, 1174390.308 935892.245 0, 1174114.065 935881.988 0, 1173837.822 935871.749 0, 1173561.579 935861.525 0, 1173285.334 935851.318 0, 1173009.09 935841.127 0, 1172732.844 935830.952 0, 1172455.289 935820.745 0, 1172250.429 941396.1 0,
+ 1172045.563 946971.586 0, 1172322.459 946981.768 0, 1172598.048 946991.919 0, 1172873.637 947002.086 0, 1173149.225 947012.269 0, 1173424.812 947022.468 0, 1173700.399 947032.684 0, 1173975.985 947042.916 0, 1174251.57 947053.164 0, 1174527.155 947063.428 0,
+ 1174802.739 947073.708 0, 1175078.323 947084.005 0, 1175353.906 947094.318 0, 1175629.489 947104.647 0, 1175905.071 947114.992 0, 1176180.652 947125.354 0, 1176456.233 947135.732 0, 1176731.813 947146.126 0, 1177007.392 947156.536 0, 1177282.971 947166.962 0,
+ 1177558.549 947177.405 0, 1177834.127 947187.864 0, 1178109.704 947198.339 0, 1178385.28 947208.83 0, 1178659.551 947219.288 0, 1178936.431 947229.861 0, 1179212.005 947240.401 0, 1179487.579 947250.957 0, 1179763.153 947261.53 0, 1180038.725 947272.118 0,
+ 1180314.297 947282.723 0, 1180589.869 947293.344 0, 1180865.439 947303.982 0, 1181141.01 947314.635 0, 1181416.579 947325.305 0, 1181692.148 947335.991 0, 1181967.716 947346.693 0, 1182243.284 947357.411 0, 1182518.851 947368.146 0, 1182794.417 947378.897 0,
+ 1183069.983 947389.664 0, 1183345.548 947400.447 0, 1183621.112 947411.246 0, 1183896.676 947422.062 0, 1184172.239 947432.894 0, 1184447.802 947443.742 0, 1184723.364 947454.606 0, 1184998.925 947465.487 0, 1185273.182 947476.332 0, 1185493.798 941901.447 0,
+ 1185714.409 936326.693 0))
+
+POLYGON ((1198499.322 948018.447 0, 1198225.095 948006.827 0, 1197949.565 947995.168 0, 1197674.035 947983.525 0, 1197398.504 947971.898 0, 1197122.973 947960.288 0, 1196847.441 947948.694 0, 1196571.908 947937.116 0, 1196296.374 947925.554 0, 1196020.84 947914.008 0,
+ 1195745.305 947902.479 0, 1195469.77 947890.966 0, 1195194.234 947879.469 0, 1194918.697 947867.989 0, 1194643.159 947856.524 0, 1194367.621 947845.076 0, 1194092.082 947833.644 0, 1193816.542 947822.228 0, 1193541.002 947810.829 0, 1193265.461 947799.445 0,
+ 1192989.919 947788.078 0, 1192714.377 947776.727 0, 1192438.834 947765.393 0, 1192163.29 947754.074 0, 1191886.444 947742.719 0, 1191612.201 947731.486 0, 1191336.656 947720.216 0, 1191061.109 947708.963 0, 1190785.562 947697.725 0, 1190510.015 947686.504 0,
+ 1190234.466 947675.299 0, 1189958.918 947664.11 0, 1189683.368 947652.938 0, 1189407.818 947641.782 0, 1189132.267 947630.642 0, 1188856.715 947619.518 0, 1188581.163 947608.41 0, 1188305.61 947597.319 0, 1188030.057 947586.244 0, 1187754.502 947575.185 0,
+ 1187478.948 947564.142 0, 1187203.392 947553.115 0, 1186927.836 947542.105 0, 1186652.279 947531.111 0, 1186376.722 947520.133 0, 1186101.164 947509.171 0, 1185825.605 947498.226 0, 1185550.046 947487.297 0, 1185273.182 947476.332 0, 1185052.561 953051.343 0,
+ 1184831.935 958626.476 0, 1185108.139 958637.415 0, 1185383.042 958648.318 0, 1185657.945 958659.237 0, 1185932.847 958670.173 0, 1186207.748 958681.125 0, 1186482.648 958692.093 0, 1186757.548 958703.077 0, 1187032.447 958714.077 0, 1187307.346 958725.093 0,
+ 1187582.244 958736.126 0, 1187857.141 958747.175 0, 1188132.038 958758.24 0, 1188406.933 958769.321 0, 1188681.829 958780.418 0, 1188956.723 958791.532 0, 1189231.617 958802.661 0, 1189506.511 958813.807 0, 1189781.403 958824.969 0, 1190056.295 958836.148 0,
+ 1190331.187 958847.342 0, 1190606.078 958858.553 0, 1190880.968 958869.78 0, 1191155.857 958881.022 0, 1191429.446 958892.228 0, 1191705.634 958903.557 0, 1191980.521 958914.848 0, 1192255.408 958926.156 0, 1192530.294 958937.48 0, 1192805.179 958948.82 0,
+ 1193080.064 958960.176 0, 1193354.948 958971.549 0, 1193629.831 958982.937 0, 1193904.714 958994.342 0, 1194179.596 959005.763 0, 1194454.478 959017.2 0, 1194729.358 959028.653 0, 1195004.238 959040.123 0, 1195279.118 959051.608 0, 1195553.996 959063.11 0,
+ 1195828.874 959074.628 0, 1196103.752 959086.162 0, 1196378.628 959097.713 0, 1196653.504 959109.279 0, 1196928.38 959120.862 0, 1197203.254 959132.461 0, 1197478.128 959144.076 0, 1197753.001 959155.707 0, 1198026.576 959167.3 0, 1198262.951 953592.812 0,
+ 1198499.322 948018.447 0))
+
+POLYGON ((1211219.636 959745.398 0, 1210946.093 959733.033 0, 1210671.254 959720.625 0, 1210396.414 959708.234 0, 1210121.573 959695.858 0, 1209846.732 959683.499 0, 1209571.889 959671.156 0, 1209297.046 959658.829 0, 1209022.203 959646.518 0, 1208747.358 959634.224 0,
+ 1208472.513 959621.945 0, 1208197.668 959609.683 0, 1207922.821 959597.437 0, 1207647.974 959585.207 0, 1207373.126 959572.994 0, 1207098.277 959560.796 0, 1206823.428 959548.615 0, 1206548.578 959536.45 0, 1206273.727 959524.301 0, 1205998.875 959512.168 0,
+ 1205724.023 959500.051 0, 1205449.17 959487.951 0, 1205174.316 959475.867 0, 1204899.462 959463.799 0, 1204623.31 959451.69 0, 1204349.751 959439.711 0, 1204074.895 959427.691 0, 1203800.037 959415.688 0, 1203525.179 959403.701 0, 1203250.321 959391.73 0,
+ 1202975.461 959379.775 0, 1202700.601 959367.836 0, 1202425.741 959355.914 0, 1202150.879 959344.008 0, 1201876.017 959332.118 0, 1201601.154 959320.244 0, 1201326.291 959308.386 0, 1201051.426 959296.544 0, 1200776.561 959284.719 0, 1200501.696 959272.91 0,
+ 1200226.829 959261.117 0, 1199951.962 959249.34 0, 1199677.095 959237.579 0, 1199402.226 959225.835 0, 1199127.357 959214.106 0, 1198852.487 959202.394 0, 1198577.617 959190.698 0, 1198302.746 959179.018 0, 1198026.576 959167.3 0, 1197790.195 964741.906 0,
+ 1197553.809 970316.626 0, 1197829.32 970328.317 0, 1198103.535 970339.969 0, 1198377.749 970351.637 0, 1198651.962 970363.321 0, 1198926.175 970375.021 0, 1199200.388 970386.738 0, 1199474.599 970398.47 0, 1199748.81 970410.219 0, 1200023.02 970421.984 0,
+ 1200297.229 970433.765 0, 1200571.438 970445.562 0, 1200845.646 970457.376 0, 1201119.853 970469.205 0, 1201394.06 970481.051 0, 1201668.266 970492.912 0, 1201942.471 970504.79 0, 1202216.676 970516.684 0, 1202490.88 970528.594 0, 1202765.083 970540.521 0,
+ 1203039.285 970552.463 0, 1203313.487 970564.422 0, 1203587.688 970576.396 0, 1203861.888 970588.387 0, 1204134.794 970600.337 0, 1204410.287 970612.417 0, 1204684.485 970624.456 0, 1204958.683 970636.512 0, 1205232.879 970648.583 0, 1205507.076 970660.671 0,
+ 1205781.271 970672.775 0, 1206055.466 970684.895 0, 1206329.66 970697.031 0, 1206603.853 970709.183 0, 1206878.045 970721.351 0, 1207152.237 970733.536 0, 1207426.428 970745.737 0, 1207700.619 970757.953 0, 1207974.808 970770.186 0, 1208248.997 970782.435 0,
+ 1208523.185 970794.7 0, 1208797.373 970806.982 0, 1209071.56 970819.279 0, 1209345.746 970831.593 0, 1209619.931 970843.923 0, 1209894.115 970856.269 0, 1210168.299 970868.631 0, 1210442.482 970881.009 0, 1210715.372 970893.345 0, 1210967.506 965319.314 0,
+ 1211219.636 959745.398 0))
+
+POLYGON ((1223875.253 971507.244 0, 1223602.397 971494.138 0, 1223328.25 971480.985 0, 1223054.102 971467.848 0, 1222779.954 971454.728 0, 1222505.805 971441.623 0, 1222231.654 971428.535 0, 1221957.503 971415.463 0, 1221683.352 971402.407 0, 1221409.199 971389.368 0,
+ 1221135.046 971376.344 0, 1220860.892 971363.336 0, 1220586.737 971350.345 0, 1220312.582 971337.37 0, 1220038.426 971324.411 0, 1219764.269 971311.468 0, 1219490.111 971298.541 0, 1219215.952 971285.63 0, 1218941.793 971272.736 0, 1218667.633 971259.857 0,
+ 1218393.472 971246.995 0, 1218119.31 971234.149 0, 1217845.148 971221.319 0, 1217570.985 971208.505 0, 1217295.529 971195.647 0, 1217022.656 971182.926 0, 1216748.491 971170.16 0, 1216474.325 971157.411 0, 1216200.158 971144.678 0, 1215925.99 971131.961 0,
+ 1215651.822 971119.26 0, 1215377.653 971106.575 0, 1215103.483 971093.906 0, 1214829.313 971081.254 0, 1214555.141 971068.618 0, 1214280.969 971055.997 0, 1214006.796 971043.393 0, 1213732.623 971030.805 0, 1213458.448 971018.234 0, 1213184.273 971005.678 0,
+ 1212910.098 970993.138 0, 1212635.921 970980.615 0, 1212361.744 970968.108 0, 1212087.566 970955.617 0, 1211813.387 970943.142 0, 1211539.208 970930.683 0, 1211265.027 970918.24 0, 1210990.846 970905.813 0, 1210715.372 970893.345 0, 1210463.232 976467.485 0,
+ 1210211.088 982041.732 0, 1210485.904 982054.171 0, 1210759.428 982066.568 0, 1211032.952 982078.981 0, 1211306.476 982091.41 0, 1211579.998 982103.855 0, 1211853.52 982116.316 0, 1212127.041 982128.793 0, 1212400.562 982141.287 0, 1212674.081 982153.796 0,
+ 1212947.6 982166.322 0, 1213221.118 982178.864 0, 1213494.636 982191.422 0, 1213768.152 982203.995 0, 1214041.668 982216.585 0, 1214315.183 982229.192 0, 1214588.698 982241.814 0, 1214862.212 982254.452 0, 1215135.725 982267.107 0, 1215409.237 982279.777 0,
+ 1215682.748 982292.464 0, 1215956.259 982305.166 0, 1216229.769 982317.885 0, 1216503.278 982330.62 0, 1216775.498 982343.311 0, 1217050.294 982356.138 0, 1217323.801 982368.921 0, 1217597.308 982381.721 0, 1217870.813 982394.536 0, 1218144.318 982407.368 0,
+ 1218417.822 982420.215 0, 1218691.325 982433.079 0, 1218964.827 982445.959 0, 1219238.329 982458.854 0, 1219511.83 982471.766 0, 1219785.33 982484.695 0, 1220058.83 982497.639 0, 1220332.328 982510.599 0, 1220605.826 982523.575 0, 1220879.323 982536.568 0,
+ 1221152.82 982549.576 0, 1221426.315 982562.601 0, 1221699.81 982575.642 0, 1221973.304 982588.699 0, 1222246.797 982601.772 0, 1222520.29 982614.861 0, 1222793.782 982627.966 0, 1223067.273 982641.087 0, 1223339.475 982654.163 0, 1223607.367 977080.65 0,
+ 1223875.253 971507.244 0))
+
+POLYGON ((1236466.08 983303.681 0, 1236193.913 983289.836 0, 1235920.46 983275.942 0, 1235647.006 983262.065 0, 1235373.552 983248.203 0, 1235100.097 983234.357 0, 1234826.641 983220.528 0, 1234553.184 983206.715 0, 1234279.726 983192.917 0, 1234006.268 983179.136 0,
+ 1233732.808 983165.371 0, 1233459.348 983151.622 0, 1233185.887 983137.889 0, 1232912.425 983124.172 0, 1232638.963 983110.472 0, 1232365.499 983096.787 0, 1232092.035 983083.118 0, 1231818.57 983069.466 0, 1231545.105 983055.83 0, 1231271.638 983042.209 0,
+ 1230998.171 983028.605 0, 1230724.702 983015.017 0, 1230451.233 983001.445 0, 1230177.764 982987.889 0, 1229903.007 982974.286 0, 1229630.822 982960.826 0, 1229357.35 982947.319 0, 1229083.877 982933.827 0, 1228810.403 982920.352 0, 1228536.928 982906.892 0,
+ 1228263.453 982893.449 0, 1227989.977 982880.022 0, 1227716.5 982866.611 0, 1227443.022 982853.216 0, 1227169.544 982839.837 0, 1226896.065 982826.475 0, 1226622.584 982813.128 0, 1226349.104 982799.798 0, 1226075.622 982786.483 0, 1225802.14 982773.185 0,
+ 1225528.656 982759.903 0, 1225255.172 982746.637 0, 1224981.688 982733.387 0, 1224708.202 982720.153 0, 1224434.716 982706.935 0, 1224161.229 982693.733 0, 1223887.741 982680.547 0, 1223614.252 982667.378 0, 1223339.475 982654.163 0, 1223071.579 988227.777 0,
+ 1222803.678 993801.489 0, 1223077.795 993814.673 0, 1223350.628 993827.811 0, 1223623.46 993840.965 0, 1223896.291 993854.135 0, 1224169.121 993867.321 0, 1224441.95 993880.523 0, 1224714.779 993893.742 0, 1224987.607 993906.976 0, 1225260.434 993920.226 0,
+ 1225533.26 993933.493 0, 1225806.086 993946.775 0, 1226078.911 993960.074 0, 1226351.735 993973.388 0, 1226624.558 993986.719 0, 1226897.38 994000.066 0, 1227170.202 994013.428 0, 1227443.023 994026.807 0, 1227715.843 994040.202 0, 1227988.662 994053.613 0,
+ 1228261.481 994067.04 0, 1228534.298 994080.483 0, 1228807.115 994093.942 0, 1229079.931 994107.417 0, 1229351.463 994120.845 0, 1229625.561 994134.416 0, 1229898.375 994147.939 0, 1230171.188 994161.478 0, 1230444 994175.034 0, 1230716.811 994188.605 0,
+ 1230989.622 994202.193 0, 1231262.431 994215.797 0, 1231535.24 994229.416 0, 1231808.048 994243.052 0, 1232080.856 994256.704 0, 1232353.662 994270.372 0, 1232626.468 994284.056 0, 1232899.273 994297.756 0, 1233172.077 994311.472 0, 1233444.88 994325.204 0,
+ 1233717.683 994338.952 0, 1233990.484 994352.716 0, 1234263.285 994366.496 0, 1234536.085 994380.292 0, 1234808.884 994394.105 0, 1235081.683 994407.933 0, 1235354.48 994421.778 0, 1235627.277 994435.638 0, 1235898.791 994449.45 0, 1236182.438 988876.516 0,
+ 1236466.08 983303.681 0))
+
+POLYGON ((1248992.021 995134.403 0, 1248720.546 995119.825 0, 1248447.789 995105.194 0, 1248175.032 995090.578 0, 1247902.273 995075.979 0, 1247629.514 995061.396 0, 1247356.754 995046.829 0, 1247083.993 995032.278 0, 1246811.232 995017.744 0, 1246538.469 995003.225 0,
+ 1246265.706 994988.722 0, 1245992.942 994974.235 0, 1245720.176 994959.765 0, 1245447.41 994945.31 0, 1245174.644 994930.872 0, 1244901.876 994916.449 0, 1244629.108 994902.043 0, 1244356.338 994887.652 0, 1244083.568 994873.278 0, 1243810.797 994858.92 0,
+ 1243538.025 994844.578 0, 1243265.252 994830.252 0, 1242992.479 994815.942 0, 1242719.704 994801.647 0, 1242445.648 994787.303 0, 1242174.153 994773.108 0, 1241901.376 994758.862 0, 1241628.598 994744.632 0, 1241355.82 994730.418 0, 1241083.04 994716.22 0,
+ 1240810.26 994702.039 0, 1240537.479 994687.873 0, 1240264.697 994673.724 0, 1239991.914 994659.59 0, 1239719.13 994645.473 0, 1239446.346 994631.371 0, 1239173.561 994617.286 0, 1238900.775 994603.217 0, 1238627.988 994589.164 0, 1238355.2 994575.127 0,
+ 1238082.411 994561.105 0, 1237809.622 994547.1 0, 1237536.832 994533.111 0, 1237264.041 994519.139 0, 1236991.249 994505.182 0, 1236718.456 994491.241 0, 1236445.663 994477.316 0, 1236172.868 994463.407 0, 1235898.791 994449.45 0, 1235615.139 1000022.477 0,
+ 1235331.483 1005595.594 0, 1235604.901 1005609.519 0, 1235877.04 1005623.394 0, 1236149.177 1005637.285 0, 1236421.314 1005651.192 0, 1236693.45 1005665.116 0, 1236965.585 1005679.055 0, 1237237.719 1005693.01 0, 1237509.852 1005706.982 0, 1237781.985 1005720.969 0,
+ 1238054.117 1005734.972 0, 1238326.248 1005748.992 0, 1238598.378 1005763.027 0, 1238870.507 1005777.079 0, 1239142.635 1005791.146 0, 1239414.763 1005805.23 0, 1239686.89 1005819.329 0, 1239959.016 1005833.445 0, 1240231.141 1005847.576 0, 1240503.265 1005861.724 0,
+ 1240775.388 1005875.887 0, 1241047.511 1005890.067 0, 1241319.633 1005904.262 0, 1241591.754 1005918.474 0, 1241862.596 1005932.635 0, 1242135.993 1005946.945 0, 1242408.112 1005961.205 0, 1242680.229 1005975.481 0, 1242952.346 1005989.772 0, 1243224.462 1006004.08 0,
+ 1243496.577 1006018.404 0, 1243768.691 1006032.743 0, 1244040.804 1006047.099 0, 1244312.917 1006061.471 0, 1244585.029 1006075.859 0, 1244857.14 1006090.262 0, 1245129.25 1006104.682 0, 1245401.359 1006119.118 0, 1245673.467 1006133.57 0, 1245945.574 1006148.038 0,
+ 1246217.681 1006162.522 0, 1246489.787 1006177.022 0, 1246761.892 1006191.537 0, 1247033.996 1006206.069 0, 1247306.099 1006220.617 0, 1247578.201 1006235.181 0, 1247850.303 1006249.761 0, 1248122.403 1006264.357 0, 1248393.226 1006278.901 0, 1248692.626 1000706.607 0,
+ 1248992.021 995134.403 0))
+
+POLYGON ((1261452.986 1006999.106 0, 1261182.203 1006983.797 0, 1260910.145 1006968.433 0, 1260638.086 1006953.084 0, 1260366.026 1006937.752 0, 1260093.965 1006922.435 0, 1259821.903 1006907.134 0, 1259549.84 1006891.85 0, 1259277.777 1006876.581 0, 1259005.712 1006861.329 0,
+ 1258733.646 1006846.092 0, 1258461.58 1006830.871 0, 1258189.513 1006815.667 0, 1257917.445 1006800.478 0, 1257645.376 1006785.306 0, 1257373.306 1006770.149 0, 1257101.235 1006755.009 0, 1256829.163 1006739.885 0, 1256557.09 1006724.776 0, 1256285.017 1006709.684 0,
+ 1256012.943 1006694.607 0, 1255740.867 1006679.547 0, 1255468.791 1006664.502 0, 1255196.714 1006649.474 0, 1254923.36 1006634.391 0, 1254652.557 1006619.465 0, 1254380.478 1006604.485 0, 1254108.397 1006589.521 0, 1253836.316 1006574.572 0, 1253564.233 1006559.64 0,
+ 1253292.15 1006544.724 0, 1253020.066 1006529.824 0, 1252747.981 1006514.939 0, 1252475.895 1006500.071 0, 1252203.808 1006485.219 0, 1251931.721 1006470.383 0, 1251659.632 1006455.562 0, 1251387.543 1006440.758 0, 1251115.453 1006425.97 0, 1250843.362 1006411.198 0,
+ 1250571.27 1006396.442 0, 1250299.177 1006381.702 0, 1250027.083 1006366.978 0, 1249754.989 1006352.269 0, 1249482.893 1006337.577 0, 1249210.797 1006322.901 0, 1248938.7 1006308.241 0, 1248666.602 1006293.597 0, 1248393.226 1006278.901 0, 1248093.821 1011851.28 0,
+ 1247794.412 1017423.741 0, 1248067.129 1017438.403 0, 1248338.571 1017453.011 0, 1248610.012 1017467.636 0, 1248881.452 1017482.277 0, 1249152.892 1017496.933 0, 1249424.331 1017511.606 0, 1249695.768 1017526.295 0, 1249967.205 1017540.999 0, 1250238.641 1017555.72 0,
+ 1250510.076 1017570.456 0, 1250781.511 1017585.209 0, 1251052.944 1017599.977 0, 1251324.377 1017614.762 0, 1251595.808 1017629.562 0, 1251867.239 1017644.379 0, 1252138.669 1017659.211 0, 1252410.098 1017674.059 0, 1252681.526 1017688.924 0, 1252952.953 1017703.804 0,
+ 1253224.38 1017718.7 0, 1253495.805 1017733.613 0, 1253767.23 1017748.541 0, 1254038.654 1017763.485 0, 1254308.804 1017778.375 0, 1254581.499 1017793.421 0, 1254852.92 1017808.414 0, 1255124.34 1017823.422 0, 1255395.76 1017838.446 0, 1255667.178 1017853.486 0,
+ 1255938.596 1017868.542 0, 1256210.012 1017883.614 0, 1256481.428 1017898.702 0, 1256752.843 1017913.806 0, 1257024.257 1017928.926 0, 1257295.67 1017944.062 0, 1257567.083 1017959.214 0, 1257838.494 1017974.382 0, 1258109.905 1017989.565 0, 1258381.314 1018004.765 0,
+ 1258652.723 1018019.981 0, 1258924.131 1018035.213 0, 1259195.538 1018050.46 0, 1259466.944 1018065.724 0, 1259738.349 1018081.004 0, 1260009.753 1018096.3 0, 1260281.156 1018111.611 0, 1260552.559 1018126.939 0, 1260822.689 1018142.211 0, 1261137.84 1012570.617 0,
+ 1261452.986 1006999.106 0))
+
+POLYGON ((1273848.883 1018897.484 0, 1273578.795 1018881.449 0, 1273307.437 1018865.355 0, 1273036.078 1018849.277 0, 1272764.718 1018833.214 0, 1272493.358 1018817.168 0, 1272221.996 1018801.137 0, 1271950.633 1018785.123 0, 1271679.269 1018769.124 0, 1271407.905 1018753.142 0,
+ 1271136.539 1018737.175 0, 1270865.173 1018721.225 0, 1270593.805 1018705.29 0, 1270322.437 1018689.372 0, 1270051.067 1018673.469 0, 1269779.697 1018657.582 0, 1269508.326 1018641.711 0, 1269236.954 1018625.857 0, 1268965.581 1018610.018 0, 1268694.207 1018594.195 0,
+ 1268422.832 1018578.388 0, 1268151.456 1018562.597 0, 1267880.079 1018546.823 0, 1267608.702 1018531.064 0, 1267336.053 1018515.247 0, 1267065.943 1018499.594 0, 1266794.563 1018483.883 0, 1266523.182 1018468.188 0, 1266251.799 1018452.509 0, 1265980.416 1018436.846 0,
+ 1265709.032 1018421.199 0, 1265437.647 1018405.568 0, 1265166.261 1018389.952 0, 1264894.874 1018374.353 0, 1264623.486 1018358.77 0, 1264352.097 1018343.203 0, 1264080.707 1018327.652 0, 1263809.317 1018312.116 0, 1263537.925 1018296.597 0, 1263266.533 1018281.094 0,
+ 1262995.14 1018265.606 0, 1262723.745 1018250.135 0, 1262452.35 1018234.679 0, 1262180.954 1018219.24 0, 1261909.557 1018203.817 0, 1261638.159 1018188.409 0, 1261366.76 1018173.018 0, 1261095.361 1018157.642 0, 1260822.689 1018142.211 0, 1260507.533 1023713.881 0,
+ 1260192.374 1029285.625 0, 1260464.387 1029301.019 0, 1260735.13 1029316.358 0, 1261005.873 1029331.712 0, 1261276.615 1029347.082 0, 1261547.356 1029362.468 0, 1261818.097 1029377.871 0, 1262088.836 1029393.289 0, 1262359.574 1029408.723 0, 1262630.312 1029424.172 0,
+ 1262901.048 1029439.638 0, 1263171.784 1029455.12 0, 1263442.519 1029470.618 0, 1263713.253 1029486.132 0, 1263983.986 1029501.661 0, 1264254.718 1029517.207 0, 1264525.449 1029532.768 0, 1264796.179 1029548.346 0, 1265066.908 1029563.939 0, 1265337.636 1029579.548 0,
+ 1265608.364 1029595.173 0, 1265879.09 1029610.815 0, 1266149.816 1029626.472 0, 1266420.541 1029642.145 0, 1266689.997 1029657.76 0, 1266961.987 1029673.539 0, 1267232.709 1029689.259 0, 1267503.43 1029704.996 0, 1267774.15 1029720.749 0, 1268044.869 1029736.517 0,
+ 1268315.587 1029752.302 0, 1268586.305 1029768.102 0, 1268857.021 1029783.919 0, 1269127.736 1029799.751 0, 1269398.451 1029815.6 0, 1269669.164 1029831.464 0, 1269939.877 1029847.344 0, 1270210.588 1029863.24 0, 1270481.299 1029879.152 0, 1270752.009 1029895.08 0,
+ 1271022.718 1029911.024 0, 1271293.426 1029926.984 0, 1271564.133 1029942.959 0, 1271834.839 1029958.951 0, 1272105.544 1029974.959 0, 1272376.248 1029990.982 0, 1272646.951 1030007.022 0, 1272917.653 1030023.077 0, 1273187.088 1030039.073 0, 1273517.988 1024468.242 0,
+ 1273848.883 1018897.484 0))
+
+POLYGON ((1286179.623 1030829.231 0, 1285910.232 1030812.474 0, 1285639.576 1030795.654 0, 1285368.919 1030778.849 0, 1285098.261 1030762.061 0, 1284827.603 1030745.289 0, 1284556.943 1030728.532 0, 1284286.282 1030711.792 0, 1284015.62 1030695.067 0, 1283744.958 1030678.359 0,
+ 1283474.294 1030661.666 0, 1283203.629 1030644.989 0, 1282932.964 1030628.328 0, 1282662.297 1030611.683 0, 1282391.629 1030595.054 0, 1282120.961 1030578.441 0, 1281850.291 1030561.844 0, 1281579.621 1030545.263 0, 1281308.949 1030528.698 0, 1281038.277 1030512.149 0,
+ 1280767.603 1030495.615 0, 1280496.929 1030479.098 0, 1280226.253 1030462.596 0, 1279955.577 1030446.111 0, 1279683.635 1030429.564 0, 1279414.221 1030413.187 0, 1279143.542 1030396.749 0, 1278872.862 1030380.328 0, 1278602.181 1030363.922 0, 1278331.498 1030347.532 0,
+ 1278060.815 1030331.158 0, 1277790.131 1030314.799 0, 1277519.446 1030298.457 0, 1277248.76 1030282.131 0, 1276978.073 1030265.821 0, 1276707.385 1030249.526 0, 1276436.696 1030233.248 0, 1276166.006 1030216.985 0, 1275895.315 1030200.738 0, 1275624.624 1030184.508 0,
+ 1275353.931 1030168.293 0, 1275083.237 1030152.094 0, 1274812.542 1030135.911 0, 1274541.847 1030119.744 0, 1274271.15 1030103.593 0, 1274000.453 1030087.458 0, 1273729.754 1030071.339 0, 1273459.055 1030055.236 0, 1273187.088 1030039.073 0, 1272856.185 1035609.974 0,
+ 1272525.277 1041180.939 0, 1272796.585 1041197.063 0, 1273066.628 1041213.127 0, 1273336.671 1041229.207 0, 1273606.713 1041245.303 0, 1273876.754 1041261.415 0, 1274146.793 1041277.543 0, 1274416.832 1041293.686 0, 1274686.87 1041309.846 0, 1274956.907 1041326.022 0,
+ 1275226.943 1041342.213 0, 1275496.978 1041358.42 0, 1275767.013 1041374.643 0, 1276037.046 1041390.882 0, 1276307.078 1041407.137 0, 1276577.109 1041423.408 0, 1276847.139 1041439.695 0, 1277117.169 1041455.997 0, 1277387.197 1041472.316 0, 1277657.225 1041488.65 0,
+ 1277927.251 1041505.001 0, 1278197.276 1041521.367 0, 1278467.301 1041537.749 0, 1278737.325 1041554.147 0, 1279006.085 1041570.484 0, 1279277.369 1041586.991 0, 1279547.389 1041603.436 0, 1279817.409 1041619.898 0, 1280087.428 1041636.375 0, 1280357.446 1041652.869 0,
+ 1280627.462 1041669.378 0, 1280897.478 1041685.903 0, 1281167.493 1041702.444 0, 1281437.507 1041719.001 0, 1281707.52 1041735.574 0, 1281977.532 1041752.162 0, 1282247.543 1041768.767 0, 1282517.553 1041785.387 0, 1282787.562 1041802.024 0, 1283057.57 1041818.676 0,
+ 1283327.577 1041835.344 0, 1283597.583 1041852.028 0, 1283867.588 1041868.728 0, 1284137.592 1041885.444 0, 1284407.595 1041902.176 0, 1284677.597 1041918.923 0, 1284947.598 1041935.687 0, 1285217.598 1041952.466 0, 1285486.337 1041969.183 0, 1285832.982 1036399.175 0,
+ 1286179.623 1030829.231 0))
+
+POLYGON ((1298445.117 1042794.041 0, 1298176.425 1042776.565 0, 1297906.473 1042759.023 0, 1297636.521 1042741.496 0, 1297366.567 1042723.986 0, 1297096.612 1042706.491 0, 1296826.656 1042689.013 0, 1296556.7 1042671.55 0, 1296286.742 1042654.103 0, 1296016.783 1042636.673 0,
+ 1295746.823 1042619.257 0, 1295476.862 1042601.858 0, 1295206.9 1042584.475 0, 1294936.937 1042567.108 0, 1294666.973 1042549.756 0, 1294397.008 1042532.421 0, 1294127.042 1042515.101 0, 1293857.075 1042497.797 0, 1293587.107 1042480.509 0, 1293317.138 1042463.237 0,
+ 1293047.168 1042445.981 0, 1292777.197 1042428.741 0, 1292507.225 1042411.517 0, 1292237.252 1042394.308 0, 1291966.018 1042377.036 0, 1291697.303 1042359.939 0, 1291427.326 1042342.778 0, 1291157.349 1042325.633 0, 1290887.371 1042308.504 0, 1290617.392 1042291.391 0,
+ 1290347.412 1042274.294 0, 1290077.431 1042257.213 0, 1289807.448 1042240.147 0, 1289537.465 1042223.098 0, 1289267.481 1042206.064 0, 1288997.496 1042189.046 0, 1288727.51 1042172.044 0, 1288457.522 1042155.058 0, 1288187.534 1042138.088 0, 1287917.545 1042121.134 0,
+ 1287647.555 1042104.196 0, 1287377.564 1042087.273 0, 1287107.571 1042070.367 0, 1286837.578 1042053.476 0, 1286567.584 1042036.602 0, 1286297.589 1042019.743 0, 1286027.593 1042002.9 0, 1285757.595 1041986.073 0, 1285486.337 1041969.183 0, 1285139.688 1047539.252 0,
+ 1284793.035 1053109.378 0, 1285063.635 1053126.227 0, 1285332.977 1053143.013 0, 1285602.317 1053159.815 0, 1285871.657 1053176.633 0, 1286140.995 1053193.467 0, 1286410.333 1053210.316 0, 1286679.669 1053227.182 0, 1286949.005 1053244.063 0, 1287218.339 1053260.96 0,
+ 1287487.673 1053277.873 0, 1287757.005 1053294.802 0, 1288026.337 1053311.747 0, 1288295.667 1053328.707 0, 1288564.997 1053345.684 0, 1288834.326 1053362.676 0, 1289103.653 1053379.684 0, 1289372.98 1053396.708 0, 1289642.305 1053413.748 0, 1289911.63 1053430.804 0,
+ 1290180.953 1053447.875 0, 1290450.276 1053464.963 0, 1290719.597 1053482.066 0, 1290988.918 1053499.185 0, 1291256.981 1053516.24 0, 1291527.556 1053533.471 0, 1291796.873 1053550.638 0, 1292066.19 1053567.82 0, 1292335.505 1053585.018 0, 1292604.82 1053602.233 0,
+ 1292874.133 1053619.463 0, 1293143.446 1053636.709 0, 1293412.757 1053653.97 0, 1293682.067 1053671.248 0, 1293951.377 1053688.541 0, 1294220.685 1053705.851 0, 1294489.993 1053723.176 0, 1294759.299 1053740.517 0, 1295028.604 1053757.874 0, 1295297.908 1053775.247 0,
+ 1295567.212 1053792.635 0, 1295836.514 1053810.04 0, 1296105.815 1053827.46 0, 1296375.115 1053844.896 0, 1296644.414 1053862.348 0, 1296913.713 1053879.816 0, 1297183.01 1053897.299 0, 1297452.306 1053914.799 0, 1297720.345 1053932.233 0, 1298082.733 1048363.108 0,
+ 1298445.117 1042794.041 0))
+
+POLYGON ((1310645.279 1054791.606 0, 1310377.288 1054773.415 0, 1310108.042 1054755.155 0, 1309838.796 1054736.91 0, 1309569.548 1054718.682 0, 1309300.299 1054700.469 0, 1309031.05 1054682.272 0, 1308761.799 1054664.091 0, 1308492.547 1054645.926 0, 1308223.294 1054627.776 0,
+ 1307954.039 1054609.643 0, 1307684.784 1054591.525 0, 1307415.528 1054573.424 0, 1307146.271 1054555.338 0, 1306877.012 1054537.268 0, 1306607.753 1054519.213 0, 1306338.492 1054501.175 0, 1306069.231 1054483.152 0, 1305799.968 1054465.146 0, 1305530.704 1054447.155 0,
+ 1305261.44 1054429.18 0, 1304992.174 1054411.221 0, 1304722.907 1054393.277 0, 1304453.639 1054375.35 0, 1304183.116 1054357.355 0, 1303915.1 1054339.542 0, 1303645.829 1054321.663 0, 1303376.557 1054303.799 0, 1303107.284 1054285.95 0, 1302838.009 1054268.118 0,
+ 1302568.734 1054250.301 0, 1302299.458 1054232.501 0, 1302030.18 1054214.716 0, 1301760.902 1054196.947 0, 1301491.623 1054179.194 0, 1301222.342 1054161.457 0, 1300953.061 1054143.735 0, 1300683.778 1054126.03 0, 1300414.494 1054108.34 0, 1300145.21 1054090.666 0,
+ 1299875.924 1054073.008 0, 1299606.637 1054055.366 0, 1299337.349 1054037.739 0, 1299068.06 1054020.129 0, 1298798.771 1054002.534 0, 1298529.48 1053984.956 0, 1298260.188 1053967.393 0, 1297990.895 1053949.846 0, 1297720.345 1053932.233 0, 1297357.954 1059501.409 0,
+ 1296995.56 1065070.634 0, 1297265.451 1065088.204 0, 1297534.088 1065105.708 0, 1297802.724 1065123.228 0, 1298071.36 1065140.764 0, 1298339.994 1065158.316 0, 1298608.627 1065175.884 0, 1298877.26 1065193.467 0, 1299145.891 1065211.066 0, 1299414.521 1065228.681 0,
+ 1299683.15 1065246.312 0, 1299951.778 1065263.959 0, 1300220.405 1065281.621 0, 1300489.031 1065299.3 0, 1300757.656 1065316.994 0, 1301026.28 1065334.704 0, 1301294.903 1065352.429 0, 1301563.525 1065370.171 0, 1301832.146 1065387.928 0, 1302100.765 1065405.701 0,
+ 1302369.384 1065423.49 0, 1302638.002 1065441.295 0, 1302906.618 1065459.116 0, 1303175.234 1065476.952 0, 1303442.597 1065494.721 0, 1303712.462 1065512.672 0, 1303981.074 1065530.556 0, 1304249.686 1065548.456 0, 1304518.296 1065566.371 0, 1304786.905 1065584.302 0,
+ 1305055.513 1065602.249 0, 1305324.12 1065620.212 0, 1305592.726 1065638.191 0, 1305861.331 1065656.186 0, 1306129.935 1065674.196 0, 1306398.538 1065692.222 0, 1306667.14 1065710.264 0, 1306935.741 1065728.322 0, 1307204.341 1065746.395 0, 1307472.939 1065764.484 0,
+ 1307741.537 1065782.59 0, 1308010.133 1065800.711 0, 1308278.729 1065818.847 0, 1308547.323 1065837 0, 1308815.916 1065855.168 0, 1309084.509 1065873.352 0, 1309353.1 1065891.552 0, 1309621.69 1065909.768 0, 1309889.029 1065927.915 0, 1310267.156 1060359.736 0,
+ 1310645.279 1054791.606 0))
+
+POLYGON ((1322780.024 1066821.619 0, 1322512.736 1066802.717 0, 1322244.198 1066783.743 0, 1321975.659 1066764.784 0, 1321707.12 1066745.841 0, 1321438.579 1066726.914 0, 1321170.037 1066708.002 0, 1320901.494 1066689.107 0, 1320632.949 1066670.227 0, 1320364.404 1066651.363 0,
+ 1320095.858 1066632.515 0, 1319827.31 1066613.683 0, 1319558.761 1066594.866 0, 1319290.212 1066576.066 0, 1319021.661 1066557.281 0, 1318753.109 1066538.512 0, 1318484.556 1066519.758 0, 1318216.001 1066501.021 0, 1317947.446 1066482.299 0, 1317678.89 1066463.593 0,
+ 1317410.332 1066444.903 0, 1317141.774 1066426.229 0, 1316873.214 1066407.571 0, 1316604.653 1066388.928 0, 1316334.842 1066370.215 0, 1316067.528 1066351.69 0, 1315798.964 1066333.095 0, 1315530.399 1066314.516 0, 1315261.833 1066295.952 0, 1314993.265 1066277.404 0,
+ 1314724.697 1066258.872 0, 1314456.127 1066240.356 0, 1314187.557 1066221.856 0, 1313918.985 1066203.371 0, 1313650.412 1066184.902 0, 1313381.838 1066166.45 0, 1313113.263 1066148.012 0, 1312844.687 1066129.591 0, 1312576.11 1066111.186 0, 1312307.532 1066092.796 0,
+ 1312038.952 1066074.422 0, 1311770.372 1066056.064 0, 1311501.79 1066037.722 0, 1311233.208 1066019.395 0, 1310964.624 1066001.084 0, 1310696.04 1065982.79 0, 1310427.454 1065964.511 0, 1310158.867 1065946.247 0, 1309889.029 1065927.915 0, 1309510.899 1071496.137 0,
+ 1309132.766 1077064.399 0, 1309401.946 1077082.687 0, 1309669.877 1077100.906 0, 1309937.808 1077119.14 0, 1310205.737 1077137.39 0, 1310473.665 1077155.656 0, 1310741.592 1077173.938 0, 1311009.518 1077192.236 0, 1311277.443 1077210.549 0, 1311545.367 1077228.878 0,
+ 1311813.29 1077247.223 0, 1312081.212 1077265.583 0, 1312349.132 1077283.96 0, 1312617.052 1077302.352 0, 1312884.97 1077320.76 0, 1313152.888 1077339.183 0, 1313420.804 1077357.623 0, 1313688.719 1077376.078 0, 1313956.633 1077394.549 0, 1314224.546 1077413.036 0,
+ 1314492.458 1077431.538 0, 1314760.369 1077450.057 0, 1315028.279 1077468.591 0, 1315296.188 1077487.14 0, 1315562.849 1077505.62 0, 1315832.002 1077524.287 0, 1316099.907 1077542.885 0, 1316367.811 1077561.497 0, 1316635.714 1077580.126 0, 1316903.617 1077598.771 0,
+ 1317171.518 1077617.431 0, 1317439.418 1077636.107 0, 1317707.316 1077654.798 0, 1317975.214 1077673.506 0, 1318243.111 1077692.229 0, 1318511.006 1077710.968 0, 1318778.901 1077729.723 0, 1319046.794 1077748.494 0, 1319314.686 1077767.28 0, 1319582.577 1077786.082 0,
+ 1319850.467 1077804.9 0, 1320118.356 1077823.734 0, 1320386.244 1077842.583 0, 1320654.13 1077861.448 0, 1320922.016 1077880.329 0, 1321189.9 1077899.226 0, 1321457.784 1077918.138 0, 1321725.666 1077937.067 0, 1321992.302 1077955.923 0, 1322386.165 1072388.751 0,
+ 1322780.024 1066821.619 0))
+
+POLYGON ((1334849.268 1078883.773 0, 1334582.684 1078864.163 0, 1334314.856 1078844.478 0, 1334047.028 1078824.809 0, 1333779.198 1078805.156 0, 1333511.367 1078785.518 0, 1333243.534 1078765.896 0, 1332975.701 1078746.29 0, 1332707.866 1078726.699 0, 1332440.03 1078707.125 0,
+ 1332172.194 1078687.566 0, 1331904.355 1078668.023 0, 1331636.516 1078648.496 0, 1331368.676 1078628.984 0, 1331100.834 1078609.488 0, 1330832.992 1078590.008 0, 1330565.148 1078570.544 0, 1330297.303 1078551.095 0, 1330029.457 1078531.662 0, 1329761.61 1078512.245 0,
+ 1329493.761 1078492.844 0, 1329225.912 1078473.459 0, 1328958.061 1078454.089 0, 1328690.209 1078434.735 0, 1328421.113 1078415.307 0, 1328154.502 1078396.075 0, 1327886.647 1078376.768 0, 1327618.791 1078357.477 0, 1327350.933 1078338.202 0, 1327083.075 1078318.943 0,
+ 1326815.215 1078299.699 0, 1326547.354 1078280.471 0, 1326279.492 1078261.259 0, 1326011.629 1078242.063 0, 1325743.765 1078222.882 0, 1325475.899 1078203.718 0, 1325208.033 1078184.569 0, 1324940.165 1078165.435 0, 1324672.296 1078146.318 0, 1324404.427 1078127.216 0,
+ 1324136.556 1078108.13 0, 1323868.683 1078089.06 0, 1323600.81 1078070.006 0, 1323332.936 1078050.967 0, 1323065.06 1078031.944 0, 1322797.184 1078012.937 0, 1322529.306 1077993.946 0, 1322261.427 1077974.97 0, 1321992.302 1077955.923 0, 1321598.437 1083523.129 0,
+ 1321204.57 1089090.367 0, 1321473.037 1089109.368 0, 1321740.26 1089128.297 0, 1322007.483 1089147.242 0, 1322274.704 1089166.203 0, 1322541.924 1089185.179 0, 1322809.143 1089204.171 0, 1323076.361 1089223.179 0, 1323343.578 1089242.202 0, 1323610.794 1089261.242 0,
+ 1323878.008 1089280.297 0, 1324145.222 1089299.367 0, 1324412.434 1089318.454 0, 1324679.645 1089337.556 0, 1324946.855 1089356.674 0, 1325214.064 1089375.807 0, 1325481.272 1089394.957 0, 1325748.479 1089414.122 0, 1326015.684 1089433.302 0, 1326282.889 1089452.499 0,
+ 1326550.092 1089471.711 0, 1326817.294 1089490.939 0, 1327084.495 1089510.183 0, 1327351.695 1089529.442 0, 1327617.653 1089548.628 0, 1327886.091 1089568.008 0, 1328153.288 1089587.315 0, 1328420.483 1089606.637 0, 1328687.678 1089625.975 0, 1328954.871 1089645.329 0,
+ 1329222.063 1089664.698 0, 1329489.253 1089684.084 0, 1329756.443 1089703.485 0, 1330023.632 1089722.901 0, 1330290.819 1089742.334 0, 1330558.005 1089761.782 0, 1330825.19 1089781.246 0, 1331092.374 1089800.725 0, 1331359.557 1089820.22 0, 1331626.739 1089839.731 0,
+ 1331893.919 1089859.258 0, 1332161.099 1089878.801 0, 1332428.277 1089898.359 0, 1332695.454 1089917.933 0, 1332962.63 1089937.523 0, 1333229.805 1089957.128 0, 1333496.978 1089976.749 0, 1333764.151 1089996.386 0, 1334030.083 1090015.947 0, 1334439.677 1084449.844 0,
+ 1334849.268 1078883.773 0))
+
+POLYGON ((1346852.929 1090977.758 0, 1346587.051 1090957.445 0, 1346319.935 1090937.054 0, 1346052.818 1090916.678 0, 1345785.7 1090896.318 0, 1345518.58 1090875.973 0, 1345251.46 1090855.645 0, 1344984.338 1090835.332 0, 1344717.215 1090815.035 0, 1344450.09 1090794.753 0,
+ 1344182.965 1090774.487 0, 1343915.838 1090754.237 0, 1343648.71 1090734.003 0, 1343381.581 1090713.784 0, 1343114.451 1090693.581 0, 1342847.32 1090673.394 0, 1342580.187 1090653.223 0, 1342313.053 1090633.067 0, 1342045.918 1090612.927 0, 1341778.782 1090592.803 0,
+ 1341511.645 1090572.694 0, 1341244.506 1090552.601 0, 1340977.366 1090532.524 0, 1340710.226 1090512.463 0, 1340441.845 1090492.324 0, 1340175.94 1090472.387 0, 1339908.796 1090452.373 0, 1339641.65 1090432.374 0, 1339374.503 1090412.392 0, 1339107.355 1090392.425 0,
+ 1338840.206 1090372.473 0, 1338573.056 1090352.538 0, 1338305.904 1090332.618 0, 1338038.752 1090312.714 0, 1337771.598 1090292.825 0, 1337504.443 1090272.953 0, 1337237.287 1090253.096 0, 1336970.129 1090233.254 0, 1336702.971 1090213.429 0, 1336435.811 1090193.619 0,
+ 1336168.65 1090173.825 0, 1335901.488 1090154.047 0, 1335634.325 1090134.284 0, 1335367.161 1090114.537 0, 1335099.995 1090094.806 0, 1334832.829 1090075.09 0, 1334565.661 1090055.391 0, 1334298.492 1090035.707 0, 1334030.083 1090015.947 0, 1333620.487 1095582.077 0,
+ 1333210.889 1101148.228 0, 1333478.64 1101167.939 0, 1333745.154 1101187.575 0, 1334011.667 1101207.226 0, 1334278.178 1101226.893 0, 1334544.688 1101246.576 0, 1334811.197 1101266.275 0, 1335077.705 1101285.989 0, 1335344.212 1101305.719 0, 1335610.718 1101325.464 0,
+ 1335877.222 1101345.225 0, 1336143.726 1101365.002 0, 1336410.228 1101384.795 0, 1336676.729 1101404.603 0, 1336943.229 1101424.427 0, 1337209.727 1101444.267 0, 1337476.225 1101464.122 0, 1337742.721 1101483.993 0, 1338009.216 1101503.88 0, 1338275.71 1101523.782 0,
+ 1338542.203 1101543.7 0, 1338808.695 1101563.634 0, 1339075.185 1101583.584 0, 1339341.674 1101603.549 0, 1339606.927 1101623.437 0, 1339874.649 1101643.526 0, 1340141.135 1101663.538 0, 1340407.62 1101683.566 0, 1340674.103 1101703.61 0, 1340940.585 1101723.669 0,
+ 1341207.066 1101743.744 0, 1341473.546 1101763.834 0, 1341740.025 1101783.941 0, 1342006.502 1101804.063 0, 1342272.979 1101824.2 0, 1342539.454 1101844.354 0, 1342805.928 1101864.523 0, 1343072.4 1101884.708 0, 1343338.872 1101904.908 0, 1343605.342 1101925.124 0,
+ 1343871.811 1101945.356 0, 1344138.279 1101965.603 0, 1344404.746 1101985.866 0, 1344671.212 1102006.145 0, 1344937.676 1102026.44 0, 1345204.139 1102046.75 0, 1345470.601 1102067.076 0, 1345737.062 1102087.417 0, 1346002.288 1102107.68 0, 1346427.609 1096542.708 0,
+ 1346852.929 1090977.758 0))
+
+POLYGON ((1358790.925 1103103.267 0, 1358525.755 1103082.254 0, 1358259.353 1103061.16 0, 1357992.95 1103040.081 0, 1357726.545 1103019.018 0, 1357460.139 1102997.971 0, 1357193.732 1102976.94 0, 1356927.323 1102955.924 0, 1356660.913 1102934.924 0, 1356394.502 1102913.939 0,
+ 1356128.09 1102892.97 0, 1355861.677 1102872.017 0, 1355595.262 1102851.08 0, 1355328.846 1102830.158 0, 1355062.429 1102809.252 0, 1354796.011 1102788.361 0, 1354529.591 1102767.487 0, 1354263.171 1102746.627 0, 1353996.749 1102725.784 0, 1353730.325 1102704.956 0,
+ 1353463.901 1102684.144 0, 1353197.475 1102663.348 0, 1352931.048 1102642.567 0, 1352664.62 1102621.802 0, 1352396.958 1102600.957 0, 1352131.76 1102580.319 0, 1351865.328 1102559.602 0, 1351598.895 1102538.899 0, 1351332.461 1102518.213 0, 1351066.026 1102497.542 0,
+ 1350799.589 1102476.887 0, 1350533.151 1102456.247 0, 1350266.712 1102435.623 0, 1350000.272 1102415.015 0, 1349733.83 1102394.423 0, 1349467.387 1102373.846 0, 1349200.943 1102353.285 0, 1348934.498 1102332.739 0, 1348668.052 1102312.21 0, 1348401.604 1102291.695 0,
+ 1348135.155 1102271.197 0, 1347868.705 1102250.714 0, 1347602.254 1102230.247 0, 1347335.802 1102209.796 0, 1347069.348 1102189.36 0, 1346802.893 1102168.94 0, 1346536.437 1102148.536 0, 1346269.98 1102128.147 0, 1346002.288 1102107.68 0, 1345576.965 1107672.67 0,
+ 1345151.641 1113237.674 0, 1345418.676 1113258.091 0, 1345684.478 1113278.43 0, 1345950.279 1113298.784 0, 1346216.078 1113319.153 0, 1346481.877 1113339.539 0, 1346747.674 1113359.94 0, 1347013.47 1113380.357 0, 1347279.265 1113400.789 0, 1347545.059 1113421.237 0,
+ 1347810.852 1113441.701 0, 1348076.643 1113462.18 0, 1348342.433 1113482.675 0, 1348608.222 1113503.185 0, 1348874.01 1113523.712 0, 1349139.796 1113544.253 0, 1349405.581 1113564.811 0, 1349671.365 1113585.384 0, 1349937.148 1113605.973 0, 1350202.93 1113626.577 0,
+ 1350468.71 1113647.197 0, 1350734.49 1113667.833 0, 1351000.268 1113688.484 0, 1351266.044 1113709.151 0, 1351530.59 1113729.738 0, 1351797.594 1113750.532 0, 1352063.367 1113771.246 0, 1352329.139 1113791.976 0, 1352594.91 1113812.721 0, 1352860.679 1113833.482 0,
+ 1353126.448 1113854.258 0, 1353392.215 1113875.05 0, 1353657.981 1113895.858 0, 1353923.745 1113916.682 0, 1354189.508 1113937.521 0, 1354455.271 1113958.375 0, 1354721.031 1113979.246 0, 1354986.791 1114000.132 0, 1355252.55 1114021.033 0, 1355518.307 1114041.951 0,
+ 1355784.063 1114062.884 0, 1356049.817 1114083.832 0, 1356315.571 1114104.796 0, 1356581.323 1114125.776 0, 1356847.074 1114146.772 0, 1357112.824 1114167.783 0, 1357378.573 1114188.81 0, 1357644.32 1114209.852 0, 1357908.837 1114230.813 0, 1358349.882 1108667.033 0,
+ 1358790.925 1103103.267 0))
+
+POLYGON ((1370663.177 1115259.989 0, 1370398.718 1115238.281 0, 1370133.031 1115216.488 0, 1369867.343 1115194.71 0, 1369601.653 1115172.948 0, 1369335.963 1115151.202 0, 1369070.271 1115129.472 0, 1368804.578 1115107.757 0, 1368538.883 1115086.057 0, 1368273.187 1115064.374 0,
+ 1368007.49 1115042.706 0, 1367741.792 1115021.053 0, 1367476.092 1114999.417 0, 1367210.391 1114977.796 0, 1366944.689 1114956.19 0, 1366678.986 1114934.6 0, 1366413.281 1114913.026 0, 1366147.575 1114891.468 0, 1365881.868 1114869.925 0, 1365616.16 1114848.397 0,
+ 1365350.45 1114826.886 0, 1365084.739 1114805.39 0, 1364819.026 1114783.909 0, 1364553.313 1114762.445 0, 1364286.371 1114740.897 0, 1364021.882 1114719.562 0, 1363756.165 1114698.144 0, 1363490.446 1114676.742 0, 1363224.726 1114655.356 0, 1362959.005 1114633.985 0,
+ 1362693.283 1114612.63 0, 1362427.559 1114591.29 0, 1362161.834 1114569.966 0, 1361896.108 1114548.658 0, 1361630.381 1114527.365 0, 1361364.652 1114506.088 0, 1361098.922 1114484.827 0, 1360833.191 1114463.581 0, 1360567.459 1114442.351 0, 1360301.725 1114421.136 0,
+ 1360035.99 1114399.938 0, 1359770.254 1114378.754 0, 1359504.517 1114357.587 0, 1359238.778 1114336.435 0, 1358973.038 1114315.299 0, 1358707.297 1114294.178 0, 1358441.555 1114273.073 0, 1358175.811 1114251.984 0, 1357908.837 1114230.813 0, 1357467.793 1119794.602 0,
+ 1357026.747 1125358.396 0, 1357293.063 1125379.515 0, 1357558.151 1125400.552 0, 1357823.239 1125421.605 0, 1358088.325 1125442.673 0, 1358353.41 1125463.758 0, 1358618.494 1125484.857 0, 1358883.576 1125505.973 0, 1359148.657 1125527.104 0, 1359413.737 1125548.25 0,
+ 1359678.816 1125569.412 0, 1359943.894 1125590.59 0, 1360208.97 1125611.784 0, 1360474.045 1125632.993 0, 1360739.119 1125654.217 0, 1361004.191 1125675.457 0, 1361269.262 1125696.713 0, 1361534.332 1125717.985 0, 1361799.401 1125739.272 0, 1362064.468 1125760.574 0,
+ 1362329.535 1125781.892 0, 1362594.6 1125803.226 0, 1362859.663 1125824.576 0, 1363124.726 1125845.941 0, 1363388.563 1125867.222 0, 1363654.847 1125888.717 0, 1363919.906 1125910.129 0, 1364184.963 1125931.557 0, 1364450.019 1125953 0, 1364715.074 1125974.458 0,
+ 1364980.128 1125995.932 0, 1365245.18 1126017.422 0, 1365510.231 1126038.928 0, 1365775.281 1126060.449 0, 1366040.33 1126081.985 0, 1366305.377 1126103.537 0, 1366570.423 1126125.105 0, 1366835.468 1126146.689 0, 1367100.511 1126168.288 0, 1367365.553 1126189.902 0,
+ 1367630.594 1126211.532 0, 1367895.634 1126233.178 0, 1368160.672 1126254.84 0, 1368425.71 1126276.517 0, 1368690.745 1126298.209 0, 1368955.78 1126319.917 0, 1369220.813 1126341.641 0, 1369485.845 1126363.381 0, 1369749.653 1126385.035 0, 1370206.415 1120822.51 0,
+ 1370663.177 1115259.989 0))
+
+POLYGON ((1382469.607 1127447.615 0, 1382205.86 1127425.215 0, 1381940.89 1127402.727 0, 1381675.919 1127380.255 0, 1381410.947 1127357.798 0, 1381145.974 1127335.357 0, 1380880.999 1127312.931 0, 1380616.023 1127290.521 0, 1380351.045 1127268.126 0, 1380086.066 1127245.747 0,
+ 1379821.086 1127223.384 0, 1379556.105 1127201.036 0, 1379291.122 1127178.704 0, 1379026.138 1127156.388 0, 1378761.153 1127134.087 0, 1378496.166 1127111.801 0, 1378231.178 1127089.532 0, 1377966.189 1127067.278 0, 1377701.198 1127045.039 0, 1377436.206 1127022.816 0,
+ 1377171.213 1127000.609 0, 1376906.219 1126978.417 0, 1376641.223 1126956.241 0, 1376376.226 1126934.08 0, 1376110.005 1126911.833 0, 1375846.228 1126889.806 0, 1375581.226 1126867.692 0, 1375316.224 1126845.594 0, 1375051.221 1126823.511 0, 1374786.216 1126801.444 0,
+ 1374521.209 1126779.393 0, 1374256.202 1126757.357 0, 1373991.193 1126735.337 0, 1373726.183 1126713.333 0, 1373461.171 1126691.344 0, 1373196.159 1126669.37 0, 1372931.145 1126647.412 0, 1372666.129 1126625.47 0, 1372401.113 1126603.544 0, 1372136.095 1126581.633 0,
+ 1371871.076 1126559.737 0, 1371606.055 1126537.857 0, 1371341.034 1126515.993 0, 1371076.01 1126494.145 0, 1370810.986 1126472.312 0, 1370545.961 1126450.494 0, 1370280.934 1126428.692 0, 1370015.906 1126406.906 0, 1369749.653 1126385.035 0, 1369292.89 1131947.561 0,
+ 1368836.129 1137510.083 0, 1369101.723 1137531.9 0, 1369366.097 1137553.632 0, 1369630.469 1137575.38 0, 1369894.84 1137597.144 0, 1370159.209 1137618.923 0, 1370423.578 1137640.717 0, 1370687.945 1137662.528 0, 1370952.31 1137684.353 0, 1371216.675 1137706.195 0,
+ 1371481.038 1137728.052 0, 1371745.4 1137749.924 0, 1372009.76 1137771.812 0, 1372274.119 1137793.715 0, 1372538.477 1137815.635 0, 1372802.834 1137837.569 0, 1373067.189 1137859.519 0, 1373331.543 1137881.485 0, 1373595.896 1137903.467 0, 1373860.248 1137925.463 0,
+ 1374124.598 1137947.476 0, 1374388.947 1137969.504 0, 1374653.294 1137991.547 0, 1374917.641 1138013.607 0, 1375180.767 1138035.579 0, 1375446.33 1138057.772 0, 1375710.672 1138079.877 0, 1375975.013 1138101.999 0, 1376239.353 1138124.136 0, 1376503.691 1138146.288 0,
+ 1376768.029 1138168.456 0, 1377032.364 1138190.64 0, 1377296.699 1138212.839 0, 1377561.032 1138235.054 0, 1377825.364 1138257.284 0, 1378089.695 1138279.53 0, 1378354.024 1138301.791 0, 1378618.352 1138324.068 0, 1378882.679 1138346.361 0, 1379147.005 1138368.669 0,
+ 1379411.329 1138390.992 0, 1379675.651 1138413.331 0, 1379939.973 1138435.686 0, 1380204.293 1138458.056 0, 1380468.612 1138480.442 0, 1380732.929 1138502.844 0, 1380997.246 1138525.261 0, 1381261.561 1138547.693 0, 1381524.656 1138570.038 0, 1381997.131 1133008.829 0,
+ 1382469.607 1127447.615 0))
+
+POLYGON ((816902.014 646175.703 0, 816610.168 646186.435 0, 816316.875 646197.237 0, 816023.582 646208.057 0, 815730.29 646218.894 0, 815436.999 646229.749 0, 815143.708 646240.62 0, 814850.418 646251.509 0, 814557.129 646262.415 0, 814263.84 646273.339 0,
+ 813970.552 646284.279 0, 813677.264 646295.237 0, 813383.977 646306.213 0, 813090.691 646317.205 0, 812797.405 646328.215 0, 812504.12 646339.242 0, 812210.836 646350.286 0, 811917.552 646361.348 0, 811624.269 646372.426 0, 811330.987 646383.522 0,
+ 811037.705 646394.636 0, 810744.424 646405.766 0, 810451.144 646416.914 0, 810157.864 646428.079 0, 809863.136 646439.317 0, 809571.307 646450.461 0, 809278.029 646461.678 0, 808984.752 646472.912 0, 808691.475 646484.164 0, 808398.199 646495.432 0,
+ 808104.924 646506.718 0, 807811.65 646518.021 0, 807518.376 646529.342 0, 807225.103 646540.68 0, 806931.831 646552.035 0, 806638.559 646563.407 0, 806345.288 646574.796 0, 806052.017 646586.203 0, 805758.747 646597.627 0, 805465.478 646609.068 0,
+ 805172.21 646620.527 0, 804878.942 646632.003 0, 804585.675 646643.496 0, 804292.409 646655.006 0, 803999.143 646666.534 0, 803705.878 646678.079 0, 803412.614 646689.641 0, 803119.35 646701.22 0, 802824.636 646712.874 0, 803044.776 652275.712 0,
+ 803264.928 657838.868 0, 803558.983 657827.24 0, 803851.592 657815.687 0, 804144.202 657804.151 0, 804436.812 657792.631 0, 804729.423 657781.13 0, 805022.034 657769.645 0, 805314.646 657758.178 0, 805607.259 657746.727 0, 805899.873 657735.294 0,
+ 806192.487 657723.879 0, 806485.102 657712.48 0, 806777.718 657701.099 0, 807070.334 657689.735 0, 807362.951 657678.388 0, 807655.568 657667.058 0, 807948.187 657655.746 0, 808240.805 657644.451 0, 808533.425 657633.173 0, 808826.045 657621.912 0,
+ 809118.666 657610.669 0, 809411.288 657599.442 0, 809703.91 657588.233 0, 809996.533 657577.041 0, 810287.71 657565.922 0, 810581.781 657554.709 0, 810874.405 657543.569 0, 811167.031 657532.446 0, 811459.657 657521.341 0, 811752.284 657510.252 0,
+ 812044.911 657499.181 0, 812337.539 657488.127 0, 812630.168 657477.09 0, 812922.798 657466.07 0, 813215.428 657455.068 0, 813508.058 657444.083 0, 813800.69 657433.115 0, 814093.322 657422.164 0, 814385.954 657411.231 0, 814678.588 657400.314 0,
+ 814971.222 657389.415 0, 815263.856 657378.534 0, 815556.491 657367.669 0, 815849.127 657356.822 0, 816141.764 657345.991 0, 816434.401 657335.179 0, 816727.039 657324.383 0, 817019.677 657313.604 0, 817310.871 657302.896 0, 817106.437 651739.14 0,
+ 816902.014 646175.703 0))
+
+POLYGON ((874357.556 688956.671 0, 874068.207 688964.039 0, 873777.432 688971.459 0, 873486.657 688978.897 0, 873195.882 688986.352 0, 872905.107 688993.824 0, 872614.334 689001.313 0, 872323.56 689008.819 0, 872032.787 689016.343 0, 871742.015 689023.883 0,
+ 871451.243 689031.441 0, 871160.471 689039.015 0, 870869.7 689046.607 0, 870578.929 689054.216 0, 870288.159 689061.842 0, 869997.389 689069.485 0, 869706.619 689077.146 0, 869415.851 689084.823 0, 869125.082 689092.517 0, 868834.314 689100.229 0,
+ 868543.546 689107.958 0, 868252.779 689115.703 0, 867962.013 689123.466 0, 867671.246 689131.246 0, 867379.053 689139.082 0, 867089.715 689146.858 0, 866798.95 689154.689 0, 866508.186 689162.538 0, 866217.422 689170.403 0, 865926.659 689178.286 0,
+ 865635.896 689186.186 0, 865345.133 689194.103 0, 865054.371 689202.037 0, 864763.61 689209.988 0, 864472.848 689217.957 0, 864182.088 689225.942 0, 863891.328 689233.944 0, 863600.568 689241.964 0, 863309.809 689250.001 0, 863019.05 689258.055 0,
+ 862728.292 689266.126 0, 862437.534 689274.214 0, 862146.777 689282.319 0, 861856.02 689290.441 0, 861565.263 689298.581 0, 861274.507 689306.737 0, 860983.752 689314.911 0, 860692.997 689323.102 0, 860400.813 689331.35 0, 860558.145 694898.779 0,
+ 860715.486 700466.5 0, 861007.011 700458.27 0, 861297.11 700450.098 0, 861587.21 700441.942 0, 861877.311 700433.804 0, 862167.412 700425.683 0, 862457.513 700417.579 0, 862747.615 700409.492 0, 863037.718 700401.422 0, 863327.82 700393.369 0,
+ 863617.924 700385.334 0, 863908.028 700377.315 0, 864198.132 700369.313 0, 864488.237 700361.329 0, 864778.342 700353.362 0, 865068.448 700345.411 0, 865358.554 700337.478 0, 865648.66 700329.562 0, 865938.768 700321.663 0, 866228.875 700313.781 0,
+ 866518.983 700305.916 0, 866809.092 700298.068 0, 867099.201 700290.237 0, 867389.31 700282.423 0, 867677.995 700274.665 0, 867969.53 700266.847 0, 868259.641 700259.084 0, 868549.752 700251.339 0, 868839.864 700243.611 0, 869129.976 700235.899 0,
+ 869420.089 700228.205 0, 869710.202 700220.528 0, 870000.315 700212.868 0, 870290.429 700205.225 0, 870580.544 700197.599 0, 870870.659 700189.99 0, 871160.774 700182.398 0, 871450.89 700174.824 0, 871741.006 700167.266 0, 872031.123 700159.726 0,
+ 872321.24 700152.202 0, 872611.357 700144.696 0, 872901.475 700137.207 0, 873191.594 700129.734 0, 873481.713 700122.279 0, 873771.832 700114.841 0, 874061.952 700107.42 0, 874352.072 700100.016 0, 874640.769 700092.665 0, 874499.159 694524.522 0,
+ 874357.556 688956.671 0))
+
+POLYGON ((888567.052 699758.174 0, 888278.333 699764.709 0, 887988.193 699771.294 0, 887698.054 699777.895 0, 887407.915 699784.513 0, 887117.776 699791.149 0, 886827.638 699797.801 0, 886537.5 699804.471 0, 886247.362 699811.158 0, 885957.225 699817.862 0,
+ 885667.088 699824.582 0, 885376.952 699831.32 0, 885086.816 699838.075 0, 884796.68 699844.848 0, 884506.545 699851.637 0, 884216.41 699858.443 0, 883926.276 699865.266 0, 883636.142 699872.107 0, 883346.008 699878.964 0, 883055.875 699885.839 0,
+ 882765.742 699892.73 0, 882475.61 699899.639 0, 882185.478 699906.565 0, 881895.346 699913.508 0, 881603.792 699920.502 0, 881315.084 699927.445 0, 881024.954 699934.439 0, 880734.824 699941.45 0, 880444.694 699948.478 0, 880154.565 699955.524 0,
+ 879864.437 699962.586 0, 879574.308 699969.665 0, 879284.18 699976.762 0, 878994.053 699983.876 0, 878703.926 699991.006 0, 878413.799 699998.154 0, 878123.673 700005.319 0, 877833.547 700012.501 0, 877543.422 700019.7 0, 877253.297 700026.916 0,
+ 876963.173 700034.149 0, 876673.049 700041.399 0, 876382.925 700048.667 0, 876092.802 700055.951 0, 875802.679 700063.253 0, 875512.557 700070.571 0, 875222.435 700077.907 0, 874932.313 700085.259 0, 874640.769 700092.665 0, 874782.386 705661.097 0,
+ 874924.01 711229.814 0, 875214.896 711222.425 0, 875504.362 711215.089 0, 875793.829 711207.77 0, 876083.295 711200.468 0, 876372.763 711193.183 0, 876662.23 711185.915 0, 876951.698 711178.664 0, 877241.167 711171.43 0, 877530.636 711164.213 0,
+ 877820.105 711157.014 0, 878109.575 711149.831 0, 878399.045 711142.665 0, 878688.516 711135.516 0, 878977.987 711128.385 0, 879267.459 711121.27 0, 879556.931 711114.173 0, 879846.403 711107.092 0, 880135.876 711100.029 0, 880425.349 711092.982 0,
+ 880714.822 711085.953 0, 881004.296 711078.94 0, 881293.771 711071.945 0, 881583.246 711064.967 0, 881871.301 711058.04 0, 882162.196 711051.061 0, 882451.672 711044.134 0, 882741.149 711037.224 0, 883030.626 711030.331 0, 883320.103 711023.455 0,
+ 883609.581 711016.596 0, 883899.059 711009.754 0, 884188.537 711002.929 0, 884478.016 710996.121 0, 884767.495 710989.33 0, 885056.975 710982.556 0, 885346.455 710975.799 0, 885635.935 710969.06 0, 885925.416 710962.337 0, 886214.898 710955.631 0,
+ 886504.379 710948.943 0, 886793.861 710942.271 0, 887083.344 710935.616 0, 887372.826 710928.979 0, 887662.31 710922.358 0, 887951.793 710915.755 0, 888241.277 710909.169 0, 888530.762 710902.599 0, 888818.828 710896.079 0, 888692.937 705326.984 0,
+ 888567.052 699758.174 0))
+
+POLYGON ((902714.533 710601.6 0, 902426.447 710607.307 0, 902136.946 710613.058 0, 901847.444 710618.827 0, 901557.943 710624.612 0, 901268.442 710630.415 0, 900978.942 710636.235 0, 900689.442 710642.071 0, 900399.942 710647.925 0, 900110.443 710653.796 0,
+ 899820.944 710659.684 0, 899531.445 710665.589 0, 899241.947 710671.511 0, 898952.449 710677.449 0, 898662.951 710683.405 0, 898373.454 710689.378 0, 898083.957 710695.369 0, 897794.46 710701.376 0, 897504.964 710707.4 0, 897215.468 710713.441 0,
+ 896925.972 710719.499 0, 896636.477 710725.574 0, 896346.982 710731.667 0, 896057.488 710737.776 0, 895766.577 710743.932 0, 895478.5 710750.046 0, 895189.007 710756.206 0, 894899.514 710762.384 0, 894610.021 710768.578 0, 894320.529 710774.79 0,
+ 894031.037 710781.018 0, 893741.545 710787.264 0, 893452.054 710793.527 0, 893162.564 710799.806 0, 892873.073 710806.103 0, 892583.583 710812.417 0, 892294.093 710818.748 0, 892004.604 710825.096 0, 891715.115 710831.461 0, 891425.626 710837.843 0,
+ 891136.138 710844.242 0, 890846.65 710850.658 0, 890557.163 710857.091 0, 890267.676 710863.541 0, 889978.189 710870.008 0, 889688.703 710876.492 0, 889399.217 710882.993 0, 889109.732 710889.512 0, 888818.828 710896.079 0, 888944.726 716465.456 0,
+ 889070.629 722035.111 0, 889360.874 722028.558 0, 889649.704 722022.055 0, 889938.534 722015.568 0, 890227.365 722009.099 0, 890516.196 722002.646 0, 890805.028 721996.211 0, 891093.859 721989.792 0, 891382.692 721983.391 0, 891671.524 721977.006 0,
+ 891960.357 721970.639 0, 892249.19 721964.288 0, 892538.024 721957.955 0, 892826.858 721951.638 0, 893115.693 721945.339 0, 893404.527 721939.056 0, 893693.363 721932.791 0, 893982.198 721926.542 0, 894271.034 721920.311 0, 894559.87 721914.096 0,
+ 894848.707 721907.899 0, 895137.544 721901.718 0, 895426.381 721895.555 0, 895715.219 721889.408 0, 896002.643 721883.309 0, 896292.896 721877.166 0, 896581.734 721871.071 0, 896870.574 721864.992 0, 897159.413 721858.931 0, 897448.253 721852.886 0,
+ 897737.093 721846.859 0, 898025.934 721840.849 0, 898314.775 721834.855 0, 898603.616 721828.879 0, 898892.458 721822.919 0, 899181.3 721816.977 0, 899470.142 721811.051 0, 899758.985 721805.143 0, 900047.828 721799.251 0, 900336.671 721793.377 0,
+ 900625.515 721787.519 0, 900914.359 721781.679 0, 901203.203 721775.855 0, 901492.048 721770.049 0, 901780.893 721764.259 0, 902069.739 721758.487 0, 902358.584 721752.731 0, 902647.431 721746.993 0, 902934.864 721741.299 0, 902824.696 716171.311 0,
+ 902714.533 710601.6 0))
+
+POLYGON ((916799.873 721486.658 0, 916512.423 721491.539 0, 916223.561 721496.462 0, 915934.7 721501.401 0, 915645.84 721506.357 0, 915356.98 721511.331 0, 915068.12 721516.321 0, 914779.26 721521.329 0, 914490.4 721526.353 0, 914201.541 721531.395 0,
+ 913912.682 721536.453 0, 913623.824 721541.528 0, 913334.966 721546.621 0, 913046.108 721551.73 0, 912757.25 721556.857 0, 912468.393 721562 0, 912179.536 721567.161 0, 911890.679 721572.338 0, 911601.823 721577.532 0, 911312.966 721582.744 0,
+ 911024.111 721587.972 0, 910735.255 721593.218 0, 910446.4 721598.48 0, 910157.545 721603.76 0, 909867.279 721609.082 0, 909579.836 721614.37 0, 909290.982 721619.7 0, 909002.129 721625.047 0, 908713.275 721630.412 0, 908424.422 721635.793 0,
+ 908135.57 721641.192 0, 907846.717 721646.607 0, 907557.865 721652.04 0, 907269.014 721657.489 0, 906980.162 721662.956 0, 906691.311 721668.439 0, 906402.46 721673.94 0, 906113.61 721679.457 0, 905824.76 721684.992 0, 905535.91 721690.543 0,
+ 905247.061 721696.111 0, 904958.212 721701.697 0, 904669.363 721707.299 0, 904380.514 721712.919 0, 904091.666 721718.555 0, 903802.818 721724.209 0, 903513.971 721729.879 0, 903225.124 721735.567 0, 902934.864 721741.299 0, 903045.037 727311.563 0,
+ 903155.216 732882.098 0, 903444.817 732876.378 0, 903733.009 732870.704 0, 904021.2 732865.046 0, 904309.393 732859.406 0, 904597.585 732853.782 0, 904885.778 732848.175 0, 905173.971 732842.585 0, 905462.164 732837.013 0, 905750.358 732831.457 0,
+ 906038.552 732825.918 0, 906326.746 732820.396 0, 906614.941 732814.891 0, 906903.136 732809.403 0, 907191.331 732803.932 0, 907479.527 732798.478 0, 907767.723 732793.041 0, 908055.919 732787.621 0, 908344.116 732782.218 0, 908632.313 732776.832 0,
+ 908920.51 732771.462 0, 909208.708 732766.11 0, 909496.905 732760.775 0, 909785.104 732755.456 0, 910071.893 732750.181 0, 910361.501 732744.871 0, 910649.7 732739.603 0, 910937.9 732734.353 0, 911226.099 732729.119 0, 911514.299 732723.902 0,
+ 911802.5 732718.703 0, 912090.7 732713.52 0, 912378.901 732708.355 0, 912667.103 732703.206 0, 912955.304 732698.074 0, 913243.506 732692.959 0, 913531.708 732687.861 0, 913819.911 732682.781 0, 914108.114 732677.717 0, 914396.317 732672.67 0,
+ 914684.52 732667.64 0, 914972.724 732662.627 0, 915260.928 732657.631 0, 915549.132 732652.652 0, 915837.336 732647.689 0, 916125.541 732642.744 0, 916413.746 732637.816 0, 916701.952 732632.905 0, 916988.75 732628.034 0, 916894.309 727057.21 0,
+ 916799.873 721486.658 0))
+
+POLYGON ((930822.946 732413.054 0, 930536.133 732417.114 0, 930247.915 732421.211 0, 929959.697 732425.325 0, 929671.479 732429.456 0, 929383.262 732433.604 0, 929095.045 732437.769 0, 928806.828 732441.951 0, 928518.611 732446.15 0, 928230.395 732450.365 0,
+ 927942.179 732454.598 0, 927653.963 732458.848 0, 927365.747 732463.114 0, 927077.532 732467.398 0, 926789.316 732471.698 0, 926501.101 732476.016 0, 926212.887 732480.35 0, 925924.672 732484.702 0, 925636.458 732489.07 0, 925348.244 732493.456 0,
+ 925060.031 732497.858 0, 924771.817 732502.277 0, 924483.604 732506.713 0, 924195.391 732511.167 0, 923905.772 732515.659 0, 923618.966 732520.124 0, 923330.754 732524.628 0, 923042.542 732529.149 0, 922754.331 732533.687 0, 922466.12 732538.242 0,
+ 922177.909 732542.814 0, 921889.698 732547.403 0, 921601.487 732552.009 0, 921313.277 732556.632 0, 921025.067 732561.272 0, 920736.858 732565.929 0, 920448.648 732570.602 0, 920160.439 732575.293 0, 919872.23 732580.001 0, 919584.022 732584.725 0,
+ 919295.814 732589.467 0, 919007.606 732594.226 0, 918719.398 732599.001 0, 918431.19 732603.794 0, 918142.983 732608.603 0, 917854.776 732613.429 0, 917566.57 732618.273 0, 917278.364 732623.133 0, 916988.75 732628.034 0, 917083.195 738199.126 0,
+ 917177.645 743770.483 0, 917466.6 743765.593 0, 917754.15 743760.744 0, 918041.701 743755.911 0, 918329.252 743751.096 0, 918616.803 743746.297 0, 918904.355 743741.516 0, 919191.907 743736.751 0, 919479.459 743732.003 0, 919767.011 743727.273 0,
+ 920054.564 743722.559 0, 920342.117 743717.862 0, 920629.67 743713.182 0, 920917.224 743708.519 0, 921204.777 743703.872 0, 921492.332 743699.243 0, 921779.886 743694.631 0, 922067.441 743690.035 0, 922354.995 743685.457 0, 922642.551 743680.895 0,
+ 922930.106 743676.351 0, 923217.662 743671.823 0, 923505.218 743667.312 0, 923792.774 743662.818 0, 924078.927 743658.363 0, 924367.887 743653.881 0, 924655.444 743649.438 0, 924943.002 743645.012 0, 925230.559 743640.603 0, 925518.117 743636.211 0,
+ 925805.675 743631.835 0, 926093.233 743627.477 0, 926380.792 743623.135 0, 926668.351 743618.811 0, 926955.91 743614.503 0, 927243.469 743610.212 0, 927531.029 743605.938 0, 927818.589 743601.681 0, 928106.149 743597.441 0, 928393.709 743593.218 0,
+ 928681.27 743589.012 0, 928968.83 743584.823 0, 929256.391 743580.651 0, 929543.953 743576.495 0, 929831.514 743572.357 0, 930119.076 743568.235 0, 930406.638 743564.131 0, 930694.201 743560.043 0, 930980.361 743555.992 0, 930901.651 737984.391 0,
+ 930822.946 732413.054 0))
+
+POLYGON ((944783.627 743380.497 0, 944497.455 743383.74 0, 944209.882 743387.015 0, 943922.31 743390.307 0, 943634.737 743393.616 0, 943347.165 743396.942 0, 943059.593 743400.285 0, 942772.022 743403.645 0, 942484.45 743407.022 0, 942196.879 743410.415 0,
+ 941909.308 743413.826 0, 941621.737 743417.254 0, 941334.166 743420.698 0, 941046.595 743424.159 0, 940759.025 743427.638 0, 940471.455 743431.133 0, 940183.885 743434.645 0, 939896.315 743438.174 0, 939608.746 743441.72 0, 939321.177 743445.283 0,
+ 939033.608 743448.863 0, 938746.039 743452.46 0, 938458.47 743456.074 0, 938170.902 743459.705 0, 937881.932 743463.37 0, 937595.765 743467.017 0, 937308.198 743470.698 0, 937020.63 743474.397 0, 936733.063 743478.112 0, 936445.496 743481.844 0,
+ 936157.929 743485.593 0, 935870.362 743489.359 0, 935582.796 743493.142 0, 935295.229 743496.942 0, 935007.663 743500.759 0, 934720.097 743504.593 0, 934432.532 743508.444 0, 934144.967 743512.311 0, 933857.401 743516.196 0, 933569.837 743520.097 0,
+ 933282.272 743524.016 0, 932994.708 743527.951 0, 932707.143 743531.903 0, 932419.579 743535.872 0, 932132.016 743539.859 0, 931844.452 743543.862 0, 931556.889 743547.882 0, 931269.326 743551.918 0, 930980.361 743555.992 0, 931059.074 749127.854 0,
+ 931137.79 754699.974 0, 931426.096 754695.91 0, 931713.003 754691.882 0, 931999.911 754687.871 0, 932286.818 754683.877 0, 932573.726 754679.9 0, 932860.634 754675.94 0, 933147.542 754671.997 0, 933434.451 754668.071 0, 933721.36 754664.161 0,
+ 934008.269 754660.268 0, 934295.178 754656.393 0, 934582.087 754652.534 0, 934868.997 754648.692 0, 935155.907 754644.867 0, 935442.817 754641.059 0, 935729.727 754637.268 0, 936016.638 754633.493 0, 936303.549 754629.736 0, 936590.459 754625.995 0,
+ 936877.371 754622.271 0, 937164.282 754618.565 0, 937451.194 754614.875 0, 937738.106 754611.202 0, 938023.62 754607.563 0, 938311.93 754603.906 0, 938598.843 754600.284 0, 938885.755 754596.678 0, 939172.668 754593.09 0, 939459.581 754589.518 0,
+ 939746.495 754585.963 0, 940033.408 754582.425 0, 940320.322 754578.904 0, 940607.236 754575.4 0, 940894.15 754571.912 0, 941181.064 754568.442 0, 941467.979 754564.989 0, 941754.894 754561.552 0, 942041.809 754558.132 0, 942328.724 754554.729 0,
+ 942615.639 754551.343 0, 942902.555 754547.974 0, 943189.471 754544.622 0, 943476.387 754541.287 0, 943763.303 754537.968 0, 944050.219 754534.667 0, 944337.136 754531.382 0, 944624.053 754528.114 0, 944909.573 754524.879 0, 944846.599 748952.559 0,
+ 944783.627 743380.497 0))
+
+POLYGON ((958681.795 754388.693 0, 958396.265 754391.122 0, 958109.34 754393.579 0, 957822.415 754396.053 0, 957535.49 754398.544 0, 957248.566 754401.051 0, 956961.642 754403.576 0, 956674.718 754406.118 0, 956387.794 754408.676 0, 956100.87 754411.252 0,
+ 955813.946 754413.844 0, 955527.023 754416.453 0, 955240.099 754419.079 0, 954953.176 754421.722 0, 954666.253 754424.382 0, 954379.33 754427.059 0, 954092.408 754429.752 0, 953805.485 754432.463 0, 953518.563 754435.19 0, 953231.64 754437.934 0,
+ 952944.718 754440.695 0, 952657.796 754443.473 0, 952370.875 754446.268 0, 952083.953 754449.08 0, 951795.636 754451.923 0, 951510.11 754454.754 0, 951223.189 754457.617 0, 950936.268 754460.496 0, 950649.347 754463.392 0, 950362.427 754466.306 0,
+ 950075.507 754469.236 0, 949788.586 754472.182 0, 949501.666 754475.146 0, 949214.746 754478.127 0, 948927.827 754481.124 0, 948640.907 754484.139 0, 948353.988 754487.17 0, 948067.069 754490.218 0, 947780.15 754493.284 0, 947493.231 754496.366 0,
+ 947206.312 754499.464 0, 946919.394 754502.58 0, 946632.475 754505.713 0, 946345.557 754508.862 0, 946058.639 754512.029 0, 945771.722 754515.212 0, 945484.804 754518.412 0, 945197.887 754521.63 0, 944909.573 754524.879 0, 944972.55 760097.453 0,
+ 945035.529 765670.277 0, 945323.184 765667.035 0, 945609.446 765663.825 0, 945895.707 765660.632 0, 946181.969 765657.456 0, 946468.231 765654.297 0, 946754.493 765651.155 0, 947040.755 765648.029 0, 947327.018 765644.921 0, 947613.28 765641.829 0,
+ 947899.543 765638.754 0, 948185.806 765635.696 0, 948472.069 765632.654 0, 948758.332 765629.63 0, 949044.596 765626.622 0, 949330.86 765623.632 0, 949617.124 765620.658 0, 949903.388 765617.701 0, 950189.652 765614.761 0, 950475.916 765611.837 0,
+ 950762.181 765608.931 0, 951048.446 765606.041 0, 951334.711 765603.169 0, 951620.976 765600.313 0, 951905.848 765597.487 0, 952193.506 765594.651 0, 952479.772 765591.846 0, 952766.038 765589.057 0, 953052.304 765586.286 0, 953338.57 765583.531 0,
+ 953624.836 765580.793 0, 953911.102 765578.072 0, 954197.369 765575.368 0, 954483.636 765572.68 0, 954769.902 765570.01 0, 955056.169 765567.356 0, 955342.437 765564.719 0, 955628.704 765562.099 0, 955914.972 765559.496 0, 956201.239 765556.909 0,
+ 956487.507 765554.34 0, 956773.775 765551.787 0, 957060.043 765549.252 0, 957346.311 765546.733 0, 957632.58 765544.231 0, 957918.848 765541.745 0, 958205.117 765539.277 0, 958491.386 765536.825 0, 958776.263 765534.402 0, 958729.028 759961.423 0,
+ 958681.795 754388.693 0))
+
+POLYGON ((972517.326 765437.348 0, 972232.441 765438.966 0, 971946.166 765440.609 0, 971659.892 765442.269 0, 971373.617 765443.945 0, 971087.343 765445.638 0, 970801.069 765447.349 0, 970514.794 765449.076 0, 970228.52 765450.82 0, 969942.247 765452.58 0,
+ 969655.973 765454.358 0, 969369.699 765456.152 0, 969083.425 765457.963 0, 968797.152 765459.792 0, 968510.879 765461.637 0, 968224.605 765463.498 0, 967938.332 765465.377 0, 967652.059 765467.273 0, 967365.786 765469.185 0, 967079.513 765471.114 0,
+ 966793.241 765473.06 0, 966506.968 765475.023 0, 966220.695 765477.003 0, 965934.423 765478.999 0, 965646.76 765481.023 0, 965361.879 765483.043 0, 965075.607 765485.09 0, 964789.335 765487.154 0, 964503.063 765489.235 0, 964216.791 765491.333 0,
+ 963930.52 765493.447 0, 963644.248 765495.579 0, 963357.977 765497.727 0, 963071.706 765499.892 0, 962785.435 765502.074 0, 962499.164 765504.273 0, 962212.893 765506.489 0, 961926.623 765508.721 0, 961640.352 765510.97 0, 961354.082 765513.237 0,
+ 961067.812 765515.52 0, 960781.542 765517.82 0, 960495.272 765520.136 0, 960209.002 765522.47 0, 959922.732 765524.82 0, 959636.463 765527.188 0, 959350.193 765529.572 0, 959063.924 765531.973 0, 958776.263 765534.402 0, 958823.5 771107.629 0,
+ 958870.74 776681.099 0, 959157.741 776678.675 0, 959443.354 776676.28 0, 959728.968 776673.901 0, 960014.581 776671.539 0, 960300.195 776669.194 0, 960585.809 776666.866 0, 960871.423 776664.554 0, 961157.037 776662.26 0, 961442.651 776659.982 0,
+ 961728.265 776657.721 0, 962013.879 776655.477 0, 962299.494 776653.249 0, 962585.109 776651.039 0, 962870.723 776648.845 0, 963156.338 776646.668 0, 963441.953 776644.508 0, 963727.569 776642.365 0, 964013.184 776640.238 0, 964298.799 776638.128 0,
+ 964584.415 776636.036 0, 964870.031 776633.959 0, 965155.646 776631.9 0, 965441.262 776629.858 0, 965725.491 776627.842 0, 966012.495 776625.823 0, 966298.111 776623.831 0, 966583.727 776621.856 0, 966869.344 776619.898 0, 967154.961 776617.956 0,
+ 967440.577 776616.031 0, 967726.194 776614.123 0, 968011.811 776612.232 0, 968297.428 776610.358 0, 968583.045 776608.5 0, 968868.663 776606.659 0, 969154.28 776604.835 0, 969439.898 776603.028 0, 969725.515 776601.238 0, 970011.133 776599.465 0,
+ 970296.751 776597.708 0, 970582.369 776595.968 0, 970867.987 776594.245 0, 971153.605 776592.539 0, 971439.223 776590.849 0, 971724.842 776589.177 0, 972010.46 776587.521 0, 972296.078 776585.882 0, 972580.311 776584.267 0, 972548.818 771010.686 0,
+ 972517.326 765437.348 0))
+
+POLYGON ((986290.101 776526.168 0, 986005.863 776526.979 0, 985720.241 776527.811 0, 985434.619 776528.66 0, 985148.997 776529.526 0, 984863.375 776530.409 0, 984577.753 776531.308 0, 984292.131 776532.224 0, 984006.51 776533.157 0, 983720.888 776534.107 0,
+ 983435.266 776535.073 0, 983149.645 776536.057 0, 982864.023 776537.057 0, 982578.402 776538.074 0, 982292.781 776539.108 0, 982007.159 776540.158 0, 981721.538 776541.226 0, 981435.917 776542.31 0, 981150.296 776543.411 0, 980864.675 776544.529 0,
+ 980579.054 776545.663 0, 980293.433 776546.815 0, 980007.812 776547.983 0, 979722.191 776549.168 0, 979435.185 776550.376 0, 979150.95 776551.589 0, 978865.329 776552.825 0, 978579.709 776554.077 0, 978294.088 776555.346 0, 978008.468 776556.632 0,
+ 977722.848 776557.935 0, 977437.228 776559.254 0, 977151.607 776560.591 0, 976865.987 776561.944 0, 976580.367 776563.314 0, 976294.748 776564.701 0, 976009.128 776566.105 0, 975723.508 776567.525 0, 975437.888 776568.962 0, 975152.269 776570.416 0,
+ 974866.649 776571.887 0, 974581.03 776573.375 0, 974295.411 776574.879 0, 974009.792 776576.401 0, 973724.173 776577.939 0, 973438.554 776579.494 0, 973152.935 776581.066 0, 972867.316 776582.654 0, 972580.311 776584.267 0, 972611.805 782158.088 0,
+ 972643.301 787732.145 0, 972929.647 787730.536 0, 973214.609 787728.951 0, 973499.572 787727.383 0, 973784.535 787725.832 0, 974069.498 787724.297 0, 974354.461 787722.779 0, 974639.424 787721.278 0, 974924.387 787719.794 0, 975209.351 787718.326 0,
+ 975494.314 787716.876 0, 975779.278 787715.442 0, 976064.241 787714.024 0, 976349.205 787712.624 0, 976634.169 787711.24 0, 976919.132 787709.873 0, 977204.096 787708.523 0, 977489.06 787707.19 0, 977774.024 787705.873 0, 978058.988 787704.574 0,
+ 978343.953 787703.291 0, 978628.917 787702.024 0, 978913.881 787700.775 0, 979198.846 787699.542 0, 979482.428 787698.332 0, 979768.775 787697.127 0, 980053.739 787695.945 0, 980338.704 787694.779 0, 980623.669 787693.63 0, 980908.634 787692.498 0,
+ 981193.599 787691.383 0, 981478.563 787690.284 0, 981763.529 787689.203 0, 982048.494 787688.138 0, 982333.459 787687.089 0, 982618.424 787686.058 0, 982903.389 787685.043 0, 983188.355 787684.045 0, 983473.32 787683.064 0, 983758.285 787682.1 0,
+ 984043.251 787681.152 0, 984328.217 787680.222 0, 984613.182 787679.308 0, 984898.148 787678.41 0, 985183.114 787677.53 0, 985468.079 787676.666 0, 985753.045 787675.819 0, 986038.011 787674.989 0, 986321.596 787674.18 0, 986305.848 782100.056 0,
+ 986290.101 776526.168 0))
+
+POLYGON ((1000000 787654.858 0, 999716.412 787654.866 0, 999431.445 787654.891 0, 999146.478 787654.933 0, 998861.51 787654.991 0, 998576.543 787655.067 0, 998291.576 787655.159 0, 998006.609 787655.268 0, 997721.642 787655.394 0, 997436.675 787655.536 0,
+ 997151.708 787655.695 0, 996866.741 787655.871 0, 996581.774 787656.064 0, 996296.807 787656.274 0, 996011.84 787656.5 0, 995726.873 787656.743 0, 995441.906 787657.003 0, 995156.939 787657.28 0, 994871.972 787657.573 0, 994587.005 787657.883 0,
+ 994302.038 787658.21 0, 994017.072 787658.554 0, 993732.105 787658.915 0, 993447.138 787659.292 0, 993160.791 787659.688 0, 992877.204 787660.097 0, 992592.237 787660.525 0, 992307.271 787660.969 0, 992022.304 787661.43 0, 991737.337 787661.908 0,
+ 991452.371 787662.403 0, 991167.404 787662.914 0, 990882.437 787663.443 0, 990597.471 787663.988 0, 990312.504 787664.549 0, 990027.538 787665.128 0, 989742.571 787665.723 0, 989457.605 787666.335 0, 989172.639 787666.964 0, 988887.672 787667.61 0,
+ 988602.706 787668.272 0, 988317.74 787668.952 0, 988032.773 787669.648 0, 987747.807 787670.36 0, 987462.841 787671.09 0, 987177.875 787671.836 0, 986892.909 787672.599 0, 986607.943 787673.379 0, 986321.596 787674.18 0, 986337.345 793248.536 0,
+ 986353.094 798823.121 0, 986638.781 798822.322 0, 986923.091 798821.544 0, 987207.401 798820.783 0, 987491.711 798820.039 0, 987776.021 798819.311 0, 988060.331 798818.6 0, 988344.641 798817.905 0, 988628.951 798817.228 0, 988913.261 798816.567 0,
+ 989197.571 798815.922 0, 989481.881 798815.295 0, 989766.192 798814.684 0, 990050.502 798814.09 0, 990334.812 798813.513 0, 990619.123 798812.953 0, 990903.433 798812.409 0, 991187.743 798811.882 0, 991472.054 798811.371 0, 991756.364 798810.878 0,
+ 992040.675 798810.401 0, 992324.985 798809.941 0, 992609.296 798809.498 0, 992893.606 798809.071 0, 993176.54 798808.663 0, 993462.227 798808.268 0, 993746.538 798807.891 0, 994030.849 798807.532 0, 994315.159 798807.189 0, 994599.47 798806.863 0,
+ 994883.781 798806.553 0, 995168.092 798806.26 0, 995452.402 798805.984 0, 995736.713 798805.725 0, 996021.024 798805.482 0, 996305.335 798805.257 0, 996589.645 798805.048 0, 996873.956 798804.855 0, 997158.267 798804.68 0, 997442.578 798804.521 0,
+ 997726.889 798804.378 0, 998011.2 798804.253 0, 998295.51 798804.144 0, 998579.821 798804.052 0, 998864.132 798803.977 0, 999148.443 798803.919 0, 999432.754 798803.877 0, 999717.065 798803.852 0, 1000000 798803.844 0, 1000000 793229.236 0,
+ 1000000 787654.858 0))
+
+POLYGON ((1013646.906 798823.121 0, 1013363.97 798822.33 0, 1013079.66 798821.552 0, 1012795.35 798820.79 0, 1012511.04 798820.046 0, 1012226.73 798819.318 0, 1011942.42 798818.606 0, 1011658.11 798817.912 0, 1011373.8 798817.234 0, 1011089.49 798816.573 0,
+ 1010805.18 798815.929 0, 1010520.87 798815.301 0, 1010236.56 798814.69 0, 1009952.249 798814.096 0, 1009667.939 798813.519 0, 1009383.629 798812.958 0, 1009099.318 798812.414 0, 1008815.008 798811.887 0, 1008530.697 798811.376 0, 1008246.387 798810.883 0,
+ 1007962.077 798810.406 0, 1007677.766 798809.945 0, 1007393.456 798809.502 0, 1007109.145 798809.075 0, 1006823.46 798808.663 0, 1006540.524 798808.272 0, 1006256.213 798807.895 0, 1005971.903 798807.535 0, 1005687.592 798807.192 0, 1005403.281 798806.866 0,
+ 1005118.97 798806.556 0, 1004834.66 798806.263 0, 1004550.349 798805.987 0, 1004266.038 798805.727 0, 1003981.727 798805.485 0, 1003697.417 798805.259 0, 1003413.106 798805.049 0, 1003128.795 798804.857 0, 1002844.484 798804.681 0, 1002560.173 798804.522 0,
+ 1002275.863 798804.38 0, 1001991.552 798804.254 0, 1001707.241 798804.145 0, 1001422.93 798804.053 0, 1001138.619 798803.978 0, 1000854.308 798803.919 0, 1000569.997 798803.877 0, 1000285.686 798803.852 0, 1000000 798803.844 0, 1000000 804378.676 0,
+ 1000000 809953.731 0, 1000285.027 809953.739 0, 1000568.682 809953.764 0, 1000852.336 809953.806 0, 1001135.991 809953.865 0, 1001419.645 809953.94 0, 1001703.3 809954.032 0, 1001986.955 809954.14 0, 1002270.609 809954.266 0, 1002554.264 809954.408 0,
+ 1002837.918 809954.566 0, 1003121.573 809954.742 0, 1003405.228 809954.934 0, 1003688.882 809955.143 0, 1003972.537 809955.368 0, 1004256.191 809955.61 0, 1004539.846 809955.869 0, 1004823.5 809956.145 0, 1005107.155 809956.437 0, 1005390.809 809956.746 0,
+ 1005674.463 809957.071 0, 1005958.118 809957.414 0, 1006241.772 809957.773 0, 1006525.427 809958.149 0, 1006807.71 809958.539 0, 1007092.735 809958.95 0, 1007376.39 809959.376 0, 1007660.044 809959.818 0, 1007943.698 809960.278 0, 1008227.352 809960.754 0,
+ 1008511.007 809961.246 0, 1008794.661 809961.755 0, 1009078.315 809962.281 0, 1009361.969 809962.824 0, 1009645.623 809963.383 0, 1009929.277 809963.96 0, 1010212.931 809964.552 0, 1010496.585 809965.162 0, 1010780.239 809965.788 0, 1011063.893 809966.431 0,
+ 1011347.547 809967.09 0, 1011631.2 809967.767 0, 1011914.854 809968.459 0, 1012198.508 809969.169 0, 1012482.162 809969.895 0, 1012765.815 809970.638 0, 1013049.469 809971.398 0, 1013333.122 809972.175 0, 1013615.406 809972.964 0, 1013631.156 804397.932 0,
+ 1013646.906 798823.121 0))
+
+POLYGON ((1027230.703 810030.663 0, 1026948.421 810029.076 0, 1026664.77 810027.498 0, 1026381.12 810025.937 0, 1026097.47 810024.393 0, 1025813.819 810022.865 0, 1025530.169 810021.354 0, 1025246.518 810019.86 0, 1024962.867 810018.382 0, 1024679.216 810016.921 0,
+ 1024395.565 810015.477 0, 1024111.914 810014.049 0, 1023828.263 810012.639 0, 1023544.612 810011.245 0, 1023260.961 810009.867 0, 1022977.309 810008.506 0, 1022693.658 810007.162 0, 1022410.006 810005.835 0, 1022126.355 810004.524 0, 1021842.703 810003.23 0,
+ 1021559.051 810001.953 0, 1021275.4 810000.692 0, 1020991.748 809999.449 0, 1020708.096 809998.221 0, 1020423.075 809997.005 0, 1020140.792 809995.817 0, 1019857.139 809994.64 0, 1019573.487 809993.48 0, 1019289.835 809992.336 0, 1019006.183 809991.209 0,
+ 1018722.53 809990.099 0, 1018438.878 809989.005 0, 1018155.225 809987.928 0, 1017871.572 809986.868 0, 1017587.92 809985.824 0, 1017304.267 809984.797 0, 1017020.614 809983.787 0, 1016736.961 809982.794 0, 1016453.308 809981.817 0, 1016169.655 809980.857 0,
+ 1015886.002 809979.914 0, 1015602.349 809978.987 0, 1015318.696 809978.077 0, 1015035.043 809977.184 0, 1014751.389 809976.307 0, 1014467.736 809975.447 0, 1014184.083 809974.604 0, 1013900.429 809973.778 0, 1013615.406 809972.964 0, 1013599.655 815548.214 0,
+ 1013583.903 821123.678 0, 1013868.267 821124.49 0, 1014151.264 821125.315 0, 1014434.261 821126.156 0, 1014717.258 821127.014 0, 1015000.255 821127.888 0, 1015283.252 821128.78 0, 1015566.249 821129.688 0, 1015849.246 821130.612 0, 1016132.242 821131.553 0,
+ 1016415.239 821132.511 0, 1016698.236 821133.486 0, 1016981.232 821134.477 0, 1017264.229 821135.485 0, 1017547.225 821136.509 0, 1017830.222 821137.55 0, 1018113.218 821138.608 0, 1018396.214 821139.682 0, 1018679.21 821140.773 0, 1018962.207 821141.881 0,
+ 1019245.203 821143.006 0, 1019528.199 821144.147 0, 1019811.195 821145.304 0, 1020094.19 821146.479 0, 1020375.82 821147.664 0, 1020660.182 821148.878 0, 1020943.178 821150.102 0, 1021226.173 821151.343 0, 1021509.169 821152.601 0, 1021792.164 821153.875 0,
+ 1022075.16 821155.166 0, 1022358.155 821156.473 0, 1022641.15 821157.798 0, 1022924.145 821159.139 0, 1023207.14 821160.496 0, 1023490.135 821161.871 0, 1023773.13 821163.261 0, 1024056.125 821164.669 0, 1024339.12 821166.093 0, 1024622.114 821167.534 0,
+ 1024905.109 821168.992 0, 1025188.103 821170.466 0, 1025471.098 821171.957 0, 1025754.092 821173.464 0, 1026037.086 821174.988 0, 1026320.08 821176.529 0, 1026603.074 821178.087 0, 1026886.068 821179.661 0, 1027167.697 821181.244 0, 1027199.2 815605.846 0,
+ 1027230.703 810030.663 0))
+
+POLYGON ((1040751.275 821277.186 0, 1040469.649 821274.807 0, 1040186.661 821272.433 0, 1039903.672 821270.076 0, 1039620.684 821267.736 0, 1039337.695 821265.412 0, 1039054.706 821263.105 0, 1038771.717 821260.815 0, 1038488.728 821258.541 0, 1038205.738 821256.284 0,
+ 1037922.749 821254.044 0, 1037639.759 821251.82 0, 1037356.77 821249.613 0, 1037073.78 821247.423 0, 1036790.79 821245.249 0, 1036507.8 821243.092 0, 1036224.81 821240.951 0, 1035941.819 821238.828 0, 1035658.829 821236.72 0, 1035375.838 821234.63 0,
+ 1035092.848 821232.556 0, 1034809.857 821230.499 0, 1034526.866 821228.458 0, 1034243.875 821226.435 0, 1033959.52 821224.418 0, 1033677.892 821222.437 0, 1033394.901 821220.463 0, 1033111.909 821218.506 0, 1032828.918 821216.565 0, 1032545.926 821214.641 0,
+ 1032262.934 821212.734 0, 1031979.942 821210.843 0, 1031696.95 821208.969 0, 1031413.958 821207.112 0, 1031130.965 821205.272 0, 1030847.973 821203.448 0, 1030564.98 821201.64 0, 1030281.988 821199.85 0, 1029998.995 821198.076 0, 1029716.002 821196.318 0,
+ 1029433.009 821194.578 0, 1029150.016 821192.853 0, 1028867.023 821191.146 0, 1028584.03 821189.455 0, 1028301.036 821187.781 0, 1028018.043 821186.124 0, 1027735.049 821184.483 0, 1027452.056 821182.859 0, 1027167.697 821181.244 0, 1027136.193 826756.852 0,
+ 1027104.687 832332.667 0, 1027388.386 832334.279 0, 1027670.723 832335.899 0, 1027953.06 832337.536 0, 1028235.397 832339.19 0, 1028517.734 832340.86 0, 1028800.071 832342.547 0, 1029082.408 832344.25 0, 1029364.745 832345.97 0, 1029647.081 832347.707 0,
+ 1029929.418 832349.46 0, 1030211.754 832351.23 0, 1030494.091 832353.017 0, 1030776.427 832354.82 0, 1031058.763 832356.639 0, 1031341.099 832358.476 0, 1031623.435 832360.329 0, 1031905.771 832362.198 0, 1032188.106 832364.085 0, 1032470.442 832365.987 0,
+ 1032752.777 832367.907 0, 1033035.112 832369.843 0, 1033317.448 832371.796 0, 1033599.783 832373.765 0, 1033880.757 832375.741 0, 1034164.453 832377.753 0, 1034446.787 832379.773 0, 1034729.122 832381.808 0, 1035011.456 832383.861 0, 1035293.791 832385.93 0,
+ 1035576.125 832388.015 0, 1035858.459 832390.118 0, 1036140.793 832392.236 0, 1036423.127 832394.372 0, 1036705.461 832396.524 0, 1036987.794 832398.693 0, 1037270.128 832400.878 0, 1037552.461 832403.08 0, 1037834.794 832405.299 0, 1038117.127 832407.534 0,
+ 1038399.46 832409.786 0, 1038681.793 832412.054 0, 1038964.126 832414.339 0, 1039246.458 832416.641 0, 1039528.791 832418.959 0, 1039811.123 832421.294 0, 1040093.455 832423.645 0, 1040375.787 832426.014 0, 1040656.76 832428.387 0, 1040704.018 826852.683 0,
+ 1040751.275 821277.186 0))
+
+POLYGON ((1054208.508 832562.393 0, 1053927.541 832559.226 0, 1053645.217 832556.06 0, 1053362.893 832552.911 0, 1053080.568 832549.778 0, 1052798.244 832546.663 0, 1052515.919 832543.563 0, 1052233.594 832540.481 0, 1051951.268 832537.414 0, 1051668.943 832534.365 0,
+ 1051386.617 832531.332 0, 1051104.291 832528.316 0, 1050821.965 832525.316 0, 1050539.639 832522.333 0, 1050257.313 832519.367 0, 1049974.986 832516.417 0, 1049692.659 832513.484 0, 1049410.333 832510.568 0, 1049128.006 832507.668 0, 1048845.678 832504.785 0,
+ 1048563.351 832501.918 0, 1048281.023 832499.068 0, 1047998.696 832496.234 0, 1047716.368 832493.418 0, 1047432.681 832490.604 0, 1047151.711 832487.834 0, 1046869.383 832485.067 0, 1046587.055 832482.317 0, 1046304.726 832479.583 0, 1046022.397 832476.866 0,
+ 1045740.068 832474.165 0, 1045457.739 832471.482 0, 1045175.409 832468.814 0, 1044893.08 832466.164 0, 1044610.75 832463.53 0, 1044328.42 832460.912 0, 1044046.09 832458.311 0, 1043763.76 832455.727 0, 1043481.43 832453.16 0, 1043199.1 832450.609 0,
+ 1042916.769 832448.075 0, 1042634.438 832445.557 0, 1042352.107 832443.056 0, 1042069.776 832440.571 0, 1041787.445 832438.104 0, 1041505.114 832435.652 0, 1041222.783 832433.218 0, 1040940.451 832430.8 0, 1040656.76 832428.387 0, 1040609.5 838004.294 0,
+ 1040562.238 843580.401 0, 1040845.27 843582.808 0, 1041126.945 843585.22 0, 1041408.62 843587.649 0, 1041690.295 843590.095 0, 1041971.97 843592.557 0, 1042253.644 843595.036 0, 1042535.319 843597.531 0, 1042816.993 843600.043 0, 1043098.667 843602.571 0,
+ 1043380.341 843605.116 0, 1043662.015 843607.678 0, 1043943.689 843610.256 0, 1044225.363 843612.851 0, 1044507.036 843615.462 0, 1044788.709 843618.09 0, 1045070.382 843620.734 0, 1045352.055 843623.395 0, 1045633.728 843626.073 0, 1045915.401 843628.767 0,
+ 1046197.073 843631.478 0, 1046478.746 843634.205 0, 1046760.418 843636.949 0, 1047042.09 843639.71 0, 1047322.406 843642.473 0, 1047605.433 843645.28 0, 1047887.105 843648.091 0, 1048168.776 843650.918 0, 1048450.447 843653.761 0, 1048732.118 843656.621 0,
+ 1049013.789 843659.498 0, 1049295.46 843662.391 0, 1049577.13 843665.3 0, 1049858.801 843668.227 0, 1050140.471 843671.17 0, 1050422.141 843674.129 0, 1050703.811 843677.105 0, 1050985.48 843680.098 0, 1051267.15 843683.107 0, 1051548.819 843686.133 0,
+ 1051830.488 843689.175 0, 1052112.157 843692.234 0, 1052393.826 843695.309 0, 1052675.494 843698.402 0, 1052957.163 843701.51 0, 1053238.831 843704.635 0, 1053520.499 843707.777 0, 1053802.167 843710.936 0, 1054082.48 843714.095 0, 1054145.495 838138.144 0,
+ 1054208.508 832562.393 0))
+
+POLYGON ((1067602.291 843885.986 0, 1067321.985 843882.035 0, 1067040.328 843878.081 0, 1066758.67 843874.143 0, 1066477.011 843870.222 0, 1066195.353 843866.318 0, 1065913.694 843862.43 0, 1065632.035 843858.559 0, 1065350.376 843854.704 0, 1065068.717 843850.866 0,
+ 1064787.057 843847.044 0, 1064505.397 843843.239 0, 1064223.737 843839.451 0, 1063942.077 843835.679 0, 1063660.416 843831.924 0, 1063378.756 843828.185 0, 1063097.095 843824.463 0, 1062815.434 843820.758 0, 1062533.772 843817.069 0, 1062252.111 843813.397 0,
+ 1061970.449 843809.741 0, 1061688.787 843806.102 0, 1061407.125 843802.479 0, 1061125.462 843798.873 0, 1060842.446 843795.266 0, 1060562.137 843791.711 0, 1060280.473 843788.154 0, 1059998.81 843784.615 0, 1059717.147 843781.092 0, 1059435.483 843777.585 0,
+ 1059153.819 843774.095 0, 1058872.155 843770.622 0, 1058590.491 843767.165 0, 1058308.826 843763.725 0, 1058027.161 843760.301 0, 1057745.496 843756.894 0, 1057463.831 843753.503 0, 1057182.166 843750.13 0, 1056900.5 843746.772 0, 1056618.835 843743.431 0,
+ 1056337.169 843740.107 0, 1056055.503 843736.8 0, 1055773.836 843733.509 0, 1055492.17 843730.234 0, 1055210.503 843726.976 0, 1054928.836 843723.735 0, 1054647.169 843720.51 0, 1054365.502 843717.302 0, 1054082.48 843714.095 0, 1054019.463 849290.242 0,
+ 1053956.444 854866.581 0, 1054238.806 854869.78 0, 1054519.817 854872.981 0, 1054800.827 854876.198 0, 1055081.838 854879.432 0, 1055362.848 854882.682 0, 1055643.858 854885.949 0, 1055924.868 854889.232 0, 1056205.878 854892.532 0, 1056486.887 854895.849 0,
+ 1056767.896 854899.182 0, 1057048.906 854902.531 0, 1057329.914 854905.897 0, 1057610.923 854909.28 0, 1057891.932 854912.679 0, 1058172.94 854916.095 0, 1058453.948 854919.527 0, 1058734.956 854922.976 0, 1059015.964 854926.441 0, 1059296.971 854929.923 0,
+ 1059577.979 854933.421 0, 1059858.986 854936.936 0, 1060139.993 854940.467 0, 1060420.999 854944.015 0, 1060700.656 854947.563 0, 1060983.012 854951.161 0, 1061264.018 854954.759 0, 1061545.024 854958.373 0, 1061826.03 854962.003 0, 1062107.035 854965.651 0,
+ 1062388.04 854969.314 0, 1062669.045 854972.995 0, 1062950.05 854976.692 0, 1063231.054 854980.405 0, 1063512.059 854984.135 0, 1063793.063 854987.881 0, 1064074.067 854991.644 0, 1064355.07 854995.424 0, 1064636.074 854999.22 0, 1064917.077 855003.033 0,
+ 1065198.08 855006.862 0, 1065479.083 855010.707 0, 1065760.085 855014.57 0, 1066041.088 855018.448 0, 1066322.09 855022.344 0, 1066603.092 855026.256 0, 1066884.093 855030.184 0, 1067165.095 855034.129 0, 1067444.747 855038.071 0, 1067523.52 849461.933 0,
+ 1067602.291 843885.986 0))
+
+POLYGON ((1080932.512 855247.668 0, 1080652.87 855242.936 0, 1080371.881 855238.197 0, 1080090.891 855233.475 0, 1079809.902 855228.769 0, 1079528.912 855224.08 0, 1079247.921 855219.407 0, 1078966.931 855214.751 0, 1078685.94 855210.111 0, 1078404.949 855205.488 0,
+ 1078123.958 855200.882 0, 1077842.966 855196.292 0, 1077561.974 855191.718 0, 1077280.982 855187.162 0, 1076999.99 855182.621 0, 1076718.997 855178.097 0, 1076438.004 855173.59 0, 1076157.011 855169.099 0, 1075876.018 855164.625 0, 1075595.024 855160.168 0,
+ 1075314.03 855155.727 0, 1075033.036 855151.302 0, 1074752.041 855146.894 0, 1074471.046 855142.502 0, 1074188.704 855138.107 0, 1073909.056 855133.769 0, 1073628.06 855129.427 0, 1073347.065 855125.102 0, 1073066.069 855120.793 0, 1072785.072 855116.501 0,
+ 1072504.076 855112.225 0, 1072223.079 855107.966 0, 1071942.082 855103.723 0, 1071661.085 855099.497 0, 1071380.087 855095.288 0, 1071099.089 855091.095 0, 1070818.091 855086.918 0, 1070537.093 855082.758 0, 1070256.094 855078.615 0, 1069975.096 855074.488 0,
+ 1069694.097 855070.378 0, 1069413.097 855066.284 0, 1069132.098 855062.207 0, 1068851.098 855058.146 0, 1068570.098 855054.102 0, 1068289.098 855050.074 0, 1068008.097 855046.063 0, 1067727.097 855042.068 0, 1067444.747 855038.071 0, 1067365.971 860614.398 0,
+ 1067287.192 866190.909 0, 1067568.883 866194.897 0, 1067849.227 866198.882 0, 1068129.571 866202.884 0, 1068409.915 866206.902 0, 1068690.258 866210.937 0, 1068970.601 866214.988 0, 1069250.944 866219.056 0, 1069531.287 866223.14 0, 1069811.63 866227.241 0,
+ 1070091.972 866231.358 0, 1070372.314 866235.492 0, 1070652.656 866239.642 0, 1070932.998 866243.809 0, 1071213.339 866247.992 0, 1071493.68 866252.192 0, 1071774.021 866256.408 0, 1072054.362 866260.641 0, 1072334.702 866264.89 0, 1072615.042 866269.156 0,
+ 1072895.382 866273.438 0, 1073175.722 866277.737 0, 1073456.061 866282.052 0, 1073736.4 866286.384 0, 1074015.395 866290.711 0, 1074297.078 866295.097 0, 1074577.416 866299.478 0, 1074857.754 866303.876 0, 1075138.092 866308.29 0, 1075418.43 866312.721 0,
+ 1075698.767 866317.168 0, 1075979.104 866321.631 0, 1076259.441 866326.112 0, 1076539.777 866330.608 0, 1076820.114 866335.122 0, 1077100.45 866339.651 0, 1077380.785 866344.198 0, 1077661.121 866348.76 0, 1077941.456 866353.34 0, 1078221.791 866357.935 0,
+ 1078502.125 866362.548 0, 1078782.46 866367.176 0, 1079062.794 866371.821 0, 1079343.128 866376.483 0, 1079623.461 866381.161 0, 1079903.795 866385.856 0, 1080184.128 866390.567 0, 1080464.46 866395.295 0, 1080743.449 866400.017 0, 1080837.982 860823.75 0,
+ 1080932.512 855247.668 0))
+
+POLYGON ((1094199.062 866647.139 0, 1093920.085 866641.63 0, 1093639.767 866636.11 0, 1093359.448 866630.607 0, 1093079.129 866625.12 0, 1092798.81 866619.65 0, 1092518.491 866614.196 0, 1092238.171 866608.759 0, 1091957.851 866603.338 0, 1091677.53 866597.934 0,
+ 1091397.209 866592.546 0, 1091116.888 866587.175 0, 1090836.567 866581.82 0, 1090556.245 866576.482 0, 1090275.923 866571.16 0, 1089995.6 866565.855 0, 1089715.278 866560.566 0, 1089434.955 866555.294 0, 1089154.631 866550.039 0, 1088874.308 866544.799 0,
+ 1088593.984 866539.577 0, 1088313.66 866534.37 0, 1088033.335 866529.181 0, 1087753.01 866524.007 0, 1087471.343 866518.826 0, 1087192.36 866513.711 0, 1086912.034 866508.587 0, 1086631.708 866503.48 0, 1086351.381 866498.389 0, 1086071.055 866493.315 0,
+ 1085790.728 866488.257 0, 1085510.401 866483.216 0, 1085230.073 866478.191 0, 1084949.745 866473.183 0, 1084669.417 866468.191 0, 1084389.089 866463.216 0, 1084108.76 866458.257 0, 1083828.431 866453.315 0, 1083548.102 866448.389 0, 1083267.772 866443.48 0,
+ 1082987.442 866438.587 0, 1082707.112 866433.711 0, 1082426.781 866428.851 0, 1082146.451 866424.008 0, 1081866.12 866419.181 0, 1081585.788 866414.371 0, 1081305.457 866409.577 0, 1081025.125 866404.8 0, 1080743.449 866400.017 0, 1080648.913 871976.464 0,
+ 1080554.374 877553.088 0, 1080835.39 877557.86 0, 1081115.066 877562.626 0, 1081394.741 877567.409 0, 1081674.416 877572.208 0, 1081954.09 877577.023 0, 1082233.765 877581.855 0, 1082513.439 877586.703 0, 1082793.112 877591.568 0, 1083072.786 877596.449 0,
+ 1083352.459 877601.347 0, 1083632.132 877606.261 0, 1083911.804 877611.192 0, 1084191.477 877616.139 0, 1084471.149 877621.103 0, 1084750.82 877626.083 0, 1085030.492 877631.079 0, 1085310.163 877636.092 0, 1085589.834 877641.122 0, 1085869.504 877646.167 0,
+ 1086149.174 877651.23 0, 1086428.844 877656.309 0, 1086708.514 877661.404 0, 1086988.183 877666.516 0, 1087266.513 877671.619 0, 1087547.521 877676.788 0, 1087827.19 877681.95 0, 1088106.858 877687.127 0, 1088386.525 877692.321 0, 1088666.193 877697.532 0,
+ 1088945.86 877702.759 0, 1089225.527 877708.002 0, 1089505.194 877713.262 0, 1089784.86 877718.538 0, 1090064.526 877723.831 0, 1090344.191 877729.14 0, 1090623.857 877734.466 0, 1090903.522 877739.808 0, 1091183.187 877745.167 0, 1091462.851 877750.542 0,
+ 1091742.515 877755.933 0, 1092022.179 877761.341 0, 1092301.842 877766.766 0, 1092581.505 877772.207 0, 1092861.168 877777.664 0, 1093140.831 877783.138 0, 1093420.493 877788.628 0, 1093700.155 877794.135 0, 1093978.478 877799.632 0, 1094088.772 872223.297 0,
+ 1094199.062 866647.139 0))
+
+POLYGON ((1107401.832 878084.1 0, 1107123.523 878077.817 0, 1106843.878 878071.52 0, 1106564.232 878065.24 0, 1106284.586 878058.976 0, 1106004.94 878052.729 0, 1105725.293 878046.498 0, 1105445.646 878040.283 0, 1105165.999 878034.085 0, 1104886.351 878027.903 0,
+ 1104606.703 878021.738 0, 1104327.055 878015.589 0, 1104047.406 878009.457 0, 1103767.757 878003.341 0, 1103488.107 877997.242 0, 1103208.457 877991.159 0, 1102928.807 877985.093 0, 1102649.156 877979.043 0, 1102369.505 877973.009 0, 1102089.854 877966.992 0,
+ 1101810.202 877960.992 0, 1101530.55 877955.008 0, 1101250.898 877949.04 0, 1100971.245 877943.089 0, 1100690.255 877937.126 0, 1100411.939 877931.236 0, 1100132.285 877925.334 0, 1099852.631 877919.449 0, 1099572.976 877913.58 0, 1099293.322 877907.727 0,
+ 1099013.667 877901.891 0, 1098734.011 877896.072 0, 1098454.355 877890.269 0, 1098174.699 877884.482 0, 1097895.042 877878.712 0, 1097615.386 877872.958 0, 1097335.728 877867.221 0, 1097056.071 877861.5 0, 1096776.413 877855.796 0, 1096496.755 877850.108 0,
+ 1096217.096 877844.437 0, 1095937.437 877838.782 0, 1095657.778 877833.143 0, 1095378.119 877827.521 0, 1095098.459 877821.916 0, 1094818.799 877816.327 0, 1094539.138 877810.754 0, 1094259.477 877805.198 0, 1093978.478 877799.632 0, 1093868.181 883376.14 0,
+ 1093757.881 888952.817 0, 1094038.22 888958.37 0, 1094317.225 888963.913 0, 1094596.229 888969.473 0, 1094875.232 888975.049 0, 1095154.236 888980.641 0, 1095433.239 888986.25 0, 1095712.242 888991.875 0, 1095991.244 888997.517 0, 1096270.246 889003.175 0,
+ 1096549.248 889008.849 0, 1096828.249 889014.54 0, 1097107.25 889020.247 0, 1097386.251 889025.971 0, 1097665.252 889031.711 0, 1097944.252 889037.468 0, 1098223.251 889043.241 0, 1098502.251 889049.03 0, 1098781.25 889054.836 0, 1099060.249 889060.659 0,
+ 1099339.247 889066.497 0, 1099618.245 889072.352 0, 1099897.243 889078.224 0, 1100176.24 889084.112 0, 1100453.903 889089.988 0, 1100734.234 889095.937 0, 1101013.23 889101.874 0, 1101292.226 889107.828 0, 1101571.221 889113.798 0, 1101850.217 889119.785 0,
+ 1102129.212 889125.787 0, 1102408.206 889131.807 0, 1102687.2 889137.843 0, 1102966.194 889143.895 0, 1103245.188 889149.963 0, 1103524.181 889156.048 0, 1103803.173 889162.15 0, 1104082.166 889168.268 0, 1104361.158 889174.402 0, 1104640.149 889180.553 0,
+ 1104919.141 889186.72 0, 1105198.132 889192.903 0, 1105477.122 889199.103 0, 1105756.112 889205.32 0, 1106035.102 889211.552 0, 1106314.092 889217.802 0, 1106593.081 889224.067 0, 1106872.07 889230.349 0, 1107149.725 889236.618 0, 1107275.78 883660.274 0,
+ 1107401.832 878084.1 0))
+
+POLYGON ((1120540.715 889558.252 0, 1120263.076 889551.199 0, 1119984.106 889544.129 0, 1119705.136 889537.075 0, 1119426.165 889530.038 0, 1119147.194 889523.017 0, 1118868.222 889516.012 0, 1118589.25 889509.024 0, 1118310.278 889502.052 0, 1118031.305 889495.097 0,
+ 1117752.332 889488.158 0, 1117473.359 889481.235 0, 1117194.385 889474.329 0, 1116915.41 889467.44 0, 1116636.435 889460.567 0, 1116357.46 889453.71 0, 1116078.485 889446.869 0, 1115799.509 889440.046 0, 1115520.532 889433.238 0, 1115241.555 889426.447 0,
+ 1114962.578 889419.672 0, 1114683.6 889412.914 0, 1114404.622 889406.172 0, 1114125.644 889399.447 0, 1113845.334 889392.706 0, 1113567.686 889386.045 0, 1113288.706 889379.369 0, 1113009.726 889372.709 0, 1112730.746 889366.066 0, 1112451.765 889359.439 0,
+ 1112172.784 889352.829 0, 1111893.803 889346.235 0, 1111614.821 889339.657 0, 1111335.838 889333.096 0, 1111056.856 889326.551 0, 1110777.873 889320.022 0, 1110498.889 889313.511 0, 1110219.905 889307.015 0, 1109940.921 889300.536 0, 1109661.937 889294.073 0,
+ 1109382.952 889287.627 0, 1109103.966 889281.197 0, 1108824.98 889274.784 0, 1108545.994 889268.387 0, 1108267.008 889262.006 0, 1107988.021 889255.642 0, 1107709.034 889249.294 0, 1107430.046 889242.963 0, 1107149.725 889236.618 0, 1107023.666 894813.127 0,
+ 1106897.604 900389.797 0, 1107177.265 900396.127 0, 1107455.596 900402.443 0, 1107733.927 900408.776 0, 1108012.258 900415.125 0, 1108290.588 900421.491 0, 1108568.917 900427.873 0, 1108847.247 900434.271 0, 1109125.575 900440.686 0, 1109403.904 900447.117 0,
+ 1109682.232 900453.565 0, 1109960.56 900460.029 0, 1110238.887 900466.509 0, 1110517.214 900473.005 0, 1110795.541 900479.518 0, 1111073.867 900486.048 0, 1111352.193 900492.594 0, 1111630.519 900499.156 0, 1111908.844 900505.734 0, 1112187.168 900512.329 0,
+ 1112465.493 900518.941 0, 1112743.817 900525.568 0, 1113022.14 900532.212 0, 1113300.463 900538.873 0, 1113577.458 900545.518 0, 1113857.109 900552.243 0, 1114135.431 900558.952 0, 1114413.752 900565.678 0, 1114692.073 900572.421 0, 1114970.394 900579.179 0,
+ 1115248.714 900585.955 0, 1115527.034 900592.746 0, 1115805.354 900599.554 0, 1116083.673 900606.378 0, 1116361.992 900613.219 0, 1116640.31 900620.076 0, 1116918.628 900626.949 0, 1117196.946 900633.839 0, 1117475.263 900640.745 0, 1117753.58 900647.668 0,
+ 1118031.896 900654.607 0, 1118310.212 900661.562 0, 1118588.528 900668.534 0, 1118866.843 900675.522 0, 1119145.157 900682.526 0, 1119423.472 900689.547 0, 1119701.786 900696.584 0, 1119980.099 900703.638 0, 1120257.085 900710.674 0, 1120398.902 895134.382 0,
+ 1120540.715 889558.252 0))
+
+POLYGON ((1133615.606 901069.293 0, 1133338.639 901061.474 0, 1133060.346 901053.634 0, 1132782.054 901045.811 0, 1132503.76 901038.004 0, 1132225.466 901030.213 0, 1131947.172 901022.439 0, 1131668.877 901014.681 0, 1131390.582 901006.939 0, 1131112.287 900999.214 0,
+ 1130833.991 900991.505 0, 1130555.694 900983.813 0, 1130277.397 900976.137 0, 1129999.1 900968.477 0, 1129720.802 900960.834 0, 1129442.503 900953.207 0, 1129164.205 900945.596 0, 1128885.905 900938.002 0, 1128607.606 900930.424 0, 1128329.305 900922.863 0,
+ 1128051.005 900915.318 0, 1127772.704 900907.789 0, 1127494.402 900900.277 0, 1127216.1 900892.781 0, 1126936.472 900885.266 0, 1126659.495 900877.839 0, 1126381.192 900870.392 0, 1126102.888 900862.961 0, 1125824.584 900855.547 0, 1125546.28 900848.15 0,
+ 1125267.975 900840.769 0, 1124989.669 900833.404 0, 1124711.364 900826.055 0, 1124433.057 900818.723 0, 1124154.751 900811.408 0, 1123876.444 900804.108 0, 1123598.136 900796.825 0, 1123319.828 900789.559 0, 1123041.52 900782.309 0, 1122763.211 900775.075 0,
+ 1122484.901 900767.857 0, 1122206.592 900760.656 0, 1121928.282 900753.472 0, 1121649.971 900746.304 0, 1121371.66 900739.152 0, 1121093.349 900732.016 0, 1120815.037 900724.897 0, 1120536.725 900717.794 0, 1120257.085 900710.674 0, 1120115.264 906287.124 0,
+ 1119973.439 911863.727 0, 1120252.419 911870.831 0, 1120530.075 911877.917 0, 1120807.73 911885.019 0, 1121085.385 911892.138 0, 1121363.04 911899.273 0, 1121640.694 911906.424 0, 1121918.347 911913.592 0, 1122196.001 911920.776 0, 1122473.654 911927.976 0,
+ 1122751.306 911935.193 0, 1123028.958 911942.426 0, 1123306.609 911949.675 0, 1123584.261 911956.941 0, 1123861.911 911964.223 0, 1124139.562 911971.522 0, 1124417.211 911978.837 0, 1124694.861 911986.168 0, 1124972.51 911993.515 0, 1125250.158 912000.879 0,
+ 1125527.806 912008.259 0, 1125805.454 912015.656 0, 1126083.101 912023.068 0, 1126360.748 912030.498 0, 1126637.071 912037.908 0, 1126916.04 912045.405 0, 1127193.686 912052.883 0, 1127471.331 912060.378 0, 1127748.976 912067.889 0, 1128026.62 912075.416 0,
+ 1128304.263 912082.959 0, 1128581.907 912090.519 0, 1128859.55 912098.095 0, 1129137.192 912105.688 0, 1129414.834 912113.297 0, 1129692.475 912120.922 0, 1129970.116 912128.564 0, 1130247.757 912136.222 0, 1130525.397 912143.896 0, 1130803.037 912151.587 0,
+ 1131080.676 912159.294 0, 1131358.315 912167.017 0, 1131635.953 912174.757 0, 1131913.591 912182.513 0, 1132191.228 912190.285 0, 1132468.865 912198.074 0, 1132746.502 912205.879 0, 1133024.138 912213.7 0, 1133300.451 912221.5 0, 1133458.031 906645.32 0,
+ 1133615.606 901069.293 0))
+
+POLYGON ((1146626.4 912616.923 0, 1146350.108 912608.342 0, 1146072.495 912599.737 0, 1145794.881 912591.147 0, 1145517.268 912582.574 0, 1145239.653 912574.018 0, 1144962.038 912565.477 0, 1144684.423 912556.953 0, 1144406.807 912548.446 0, 1144129.191 912539.954 0,
+ 1143851.574 912531.479 0, 1143573.957 912523.021 0, 1143296.339 912514.578 0, 1143018.72 912506.152 0, 1142741.102 912497.743 0, 1142463.482 912489.349 0, 1142185.862 912480.972 0, 1141908.242 912472.612 0, 1141630.621 912464.268 0, 1141353 912455.94 0,
+ 1141075.378 912447.628 0, 1140797.756 912439.333 0, 1140520.133 912431.054 0, 1140242.51 912422.791 0, 1139963.565 912414.506 0, 1139687.262 912406.315 0, 1139409.637 912398.102 0, 1139132.012 912389.904 0, 1138854.386 912381.724 0, 1138576.76 912373.559 0,
+ 1138299.134 912365.411 0, 1138021.507 912357.279 0, 1137743.879 912349.164 0, 1137466.251 912341.064 0, 1137188.622 912332.982 0, 1136910.993 912324.915 0, 1136633.364 912316.865 0, 1136355.734 912308.831 0, 1136078.103 912300.814 0, 1135800.473 912292.813 0,
+ 1135522.841 912284.828 0, 1135245.209 912276.859 0, 1134967.577 912268.907 0, 1134689.944 912260.971 0, 1134412.311 912253.052 0, 1134134.677 912245.149 0, 1133857.043 912237.262 0, 1133579.408 912229.392 0, 1133300.451 912221.5 0, 1133142.868 917797.831 0,
+ 1132985.28 923374.308 0, 1133263.578 923382.181 0, 1133540.556 923390.032 0, 1133817.534 923397.9 0, 1134094.511 923405.785 0, 1134371.488 923413.685 0, 1134648.464 923421.602 0, 1134925.44 923429.536 0, 1135202.415 923437.485 0, 1135479.39 923445.451 0,
+ 1135756.365 923453.433 0, 1136033.339 923461.432 0, 1136310.312 923469.447 0, 1136587.285 923477.478 0, 1136864.258 923485.525 0, 1137141.23 923493.589 0, 1137418.202 923501.669 0, 1137695.173 923509.765 0, 1137972.144 923517.878 0, 1138249.114 923526.007 0,
+ 1138526.084 923534.152 0, 1138803.053 923542.314 0, 1139080.022 923550.491 0, 1139356.99 923558.686 0, 1139632.64 923566.857 0, 1139910.925 923575.123 0, 1140187.892 923583.366 0, 1140464.858 923591.625 0, 1140741.824 923599.901 0, 1141018.79 923608.193 0,
+ 1141295.754 923616.501 0, 1141572.719 923624.825 0, 1141849.683 923633.166 0, 1142126.646 923641.523 0, 1142403.609 923649.897 0, 1142680.572 923658.287 0, 1142957.534 923666.693 0, 1143234.495 923675.115 0, 1143511.456 923683.554 0, 1143788.416 923692.009 0,
+ 1144065.376 923700.48 0, 1144342.336 923708.967 0, 1144619.295 923717.471 0, 1144896.253 923725.991 0, 1145173.211 923734.528 0, 1145450.169 923743.081 0, 1145727.126 923751.65 0, 1146004.082 923760.235 0, 1146279.721 923768.796 0, 1146453.063 918192.786 0,
+ 1146626.4 912616.923 0))
+
+POLYGON ((1159572.995 924200.841 0, 1159297.379 924191.502 0, 1159020.448 924182.134 0, 1158743.516 924172.783 0, 1158466.584 924163.447 0, 1158189.651 924154.128 0, 1157912.718 924144.826 0, 1157635.784 924135.54 0, 1157358.85 924126.27 0, 1157081.915 924117.016 0,
+ 1156804.979 924107.779 0, 1156528.043 924098.557 0, 1156251.107 924089.353 0, 1155974.17 924080.164 0, 1155697.232 924070.992 0, 1155420.294 924061.836 0, 1155143.355 924052.697 0, 1154866.416 924043.573 0, 1154589.476 924034.466 0, 1154312.536 924025.376 0,
+ 1154035.595 924016.301 0, 1153758.654 924007.243 0, 1153481.712 923998.201 0, 1153204.769 923989.176 0, 1152926.511 923980.124 0, 1152650.883 923971.174 0, 1152373.939 923962.197 0, 1152096.994 923953.237 0, 1151820.049 923944.293 0, 1151543.103 923935.365 0,
+ 1151266.157 923926.454 0, 1150989.211 923917.559 0, 1150712.263 923908.68 0, 1150435.316 923899.818 0, 1150158.367 923890.971 0, 1149881.419 923882.142 0, 1149604.469 923873.328 0, 1149327.52 923864.531 0, 1149050.569 923855.75 0, 1148773.618 923846.985 0,
+ 1148496.667 923838.237 0, 1148219.715 923829.505 0, 1147942.763 923820.789 0, 1147665.81 923812.089 0, 1147388.857 923803.406 0, 1147111.903 923794.739 0, 1146834.948 923786.089 0, 1146557.993 923777.455 0, 1146279.721 923768.796 0, 1146106.375 929344.947 0,
+ 1145933.025 934921.237 0, 1146210.637 934929.875 0, 1146486.936 934938.489 0, 1146763.234 934947.119 0, 1147039.531 934955.765 0, 1147315.828 934964.428 0, 1147592.125 934973.107 0, 1147868.421 934981.802 0, 1148144.716 934990.513 0, 1148421.011 934999.241 0,
+ 1148697.306 935007.985 0, 1148973.6 935016.745 0, 1149249.893 935025.521 0, 1149526.186 935034.314 0, 1149802.478 935043.123 0, 1150078.77 935051.948 0, 1150355.061 935060.79 0, 1150631.352 935069.647 0, 1150907.643 935078.521 0, 1151183.932 935087.412 0,
+ 1151460.222 935096.318 0, 1151736.51 935105.241 0, 1152012.798 935114.18 0, 1152289.086 935123.135 0, 1152564.061 935132.064 0, 1152841.66 935141.095 0, 1153117.946 935150.099 0, 1153394.231 935159.119 0, 1153670.516 935168.156 0, 1153946.801 935177.208 0,
+ 1154223.085 935186.278 0, 1154499.368 935195.363 0, 1154775.651 935204.465 0, 1155051.933 935213.583 0, 1155328.215 935222.717 0, 1155604.497 935231.867 0, 1155880.777 935241.034 0, 1156157.057 935250.217 0, 1156433.337 935259.416 0, 1156709.616 935268.632 0,
+ 1156985.895 935277.863 0, 1157262.173 935287.111 0, 1157538.45 935296.376 0, 1157814.727 935305.656 0, 1158091.004 935314.953 0, 1158367.279 935324.266 0, 1158643.555 935333.595 0, 1158919.829 935342.941 0, 1159194.792 935352.258 0, 1159383.896 929776.481 0,
+ 1159572.995 924200.841 0))
+
+POLYGON ((1172455.289 935820.745 0, 1172180.351 935810.651 0, 1171904.104 935800.525 0, 1171627.856 935790.415 0, 1171351.608 935780.321 0, 1171075.359 935770.244 0, 1170799.109 935760.183 0, 1170522.859 935750.138 0, 1170246.608 935740.11 0, 1169970.357 935730.098 0,
+ 1169694.105 935720.102 0, 1169417.853 935710.122 0, 1169141.599 935700.158 0, 1168865.346 935690.211 0, 1168589.091 935680.28 0, 1168312.836 935670.365 0, 1168036.581 935660.467 0, 1167760.325 935650.585 0, 1167484.068 935640.719 0, 1167207.811 935630.869 0,
+ 1166931.553 935621.036 0, 1166655.295 935611.219 0, 1166379.036 935601.418 0, 1166102.776 935591.633 0, 1165825.206 935581.819 0, 1165550.256 935572.113 0, 1165273.994 935562.377 0, 1164997.733 935552.657 0, 1164721.47 935542.954 0, 1164445.207 935533.267 0,
+ 1164168.944 935523.596 0, 1163892.68 935513.942 0, 1163616.415 935504.304 0, 1163340.15 935494.682 0, 1163063.884 935485.076 0, 1162787.617 935475.486 0, 1162511.35 935465.913 0, 1162235.083 935456.356 0, 1161958.815 935446.815 0, 1161682.546 935437.291 0,
+ 1161406.277 935427.783 0, 1161130.007 935418.291 0, 1160853.737 935408.815 0, 1160577.466 935399.356 0, 1160301.195 935389.913 0, 1160024.923 935380.486 0, 1159748.65 935371.075 0, 1159472.377 935361.681 0, 1159194.792 935352.258 0, 1159005.684 940928.17 0,
+ 1158816.571 946504.212 0, 1159093.497 946513.612 0, 1159369.113 946522.984 0, 1159644.73 946532.373 0, 1159920.345 946541.777 0, 1160195.96 946551.198 0, 1160471.575 946560.635 0, 1160747.189 946570.088 0, 1161022.802 946579.557 0, 1161298.415 946589.043 0,
+ 1161574.027 946598.545 0, 1161849.639 946608.063 0, 1162125.25 946617.597 0, 1162400.861 946627.148 0, 1162676.471 946636.714 0, 1162952.08 946646.297 0, 1163227.689 946655.896 0, 1163503.297 946665.512 0, 1163778.905 946675.143 0, 1164054.512 946684.791 0,
+ 1164330.119 946694.455 0, 1164605.725 946704.135 0, 1164881.33 946713.832 0, 1165156.935 946723.545 0, 1165431.232 946733.227 0, 1165708.143 946743.019 0, 1165983.746 946752.78 0, 1166259.349 946762.558 0, 1166534.951 946772.351 0, 1166810.553 946782.161 0,
+ 1167086.153 946791.988 0, 1167361.754 946801.83 0, 1167637.353 946811.689 0, 1167912.953 946821.564 0, 1168188.551 946831.455 0, 1168464.149 946841.362 0, 1168739.746 946851.286 0, 1169015.343 946861.226 0, 1169290.94 946871.182 0, 1169566.535 946881.154 0,
+ 1169842.13 946891.142 0, 1170117.725 946901.147 0, 1170393.319 946911.168 0, 1170668.912 946921.205 0, 1170944.504 946931.258 0, 1171220.097 946941.328 0, 1171495.688 946951.414 0, 1171771.279 946961.516 0, 1172045.563 946971.586 0, 1172250.429 941396.1 0,
+ 1172455.289 935820.745 0))
+
+POLYGON ((1185273.182 947476.332 0, 1184998.925 947465.487 0, 1184723.364 947454.606 0, 1184447.802 947443.742 0, 1184172.239 947432.894 0, 1183896.676 947422.062 0, 1183621.112 947411.246 0, 1183345.548 947400.447 0, 1183069.983 947389.664 0, 1182794.417 947378.897 0,
+ 1182518.851 947368.146 0, 1182243.284 947357.411 0, 1181967.716 947346.693 0, 1181692.148 947335.991 0, 1181416.579 947325.305 0, 1181141.01 947314.635 0, 1180865.439 947303.982 0, 1180589.869 947293.344 0, 1180314.297 947282.723 0, 1180038.725 947272.118 0,
+ 1179763.153 947261.53 0, 1179487.579 947250.957 0, 1179212.005 947240.401 0, 1178936.431 947229.861 0, 1178659.551 947219.288 0, 1178385.28 947208.83 0, 1178109.704 947198.339 0, 1177834.127 947187.864 0, 1177558.549 947177.405 0, 1177282.971 947166.962 0,
+ 1177007.392 947156.536 0, 1176731.813 947146.126 0, 1176456.233 947135.732 0, 1176180.652 947125.354 0, 1175905.071 947114.992 0, 1175629.489 947104.647 0, 1175353.906 947094.318 0, 1175078.323 947084.005 0, 1174802.739 947073.708 0, 1174527.155 947063.428 0,
+ 1174251.57 947053.164 0, 1173975.985 947042.916 0, 1173700.399 947032.684 0, 1173424.812 947022.468 0, 1173149.225 947012.269 0, 1172873.637 947002.086 0, 1172598.048 946991.919 0, 1172322.459 946981.768 0, 1172045.563 946971.586 0, 1171840.694 952547.198 0,
+ 1171635.819 958122.932 0, 1171912.055 958133.09 0, 1172186.988 958143.217 0, 1172461.92 958153.36 0, 1172736.852 958163.518 0, 1173011.783 958173.694 0, 1173286.713 958183.885 0, 1173561.643 958194.092 0, 1173836.572 958204.316 0, 1174111.501 958214.555 0,
+ 1174386.429 958224.811 0, 1174661.356 958235.084 0, 1174936.283 958245.372 0, 1175211.209 958255.676 0, 1175486.135 958265.997 0, 1175761.06 958276.334 0, 1176035.984 958286.687 0, 1176310.908 958297.056 0, 1176585.831 958307.442 0, 1176860.753 958317.843 0,
+ 1177135.675 958328.261 0, 1177410.596 958338.695 0, 1177685.517 958349.145 0, 1177960.437 958359.611 0, 1178234.055 958370.044 0, 1178510.275 958380.592 0, 1178785.194 958391.107 0, 1179060.111 958401.638 0, 1179335.028 958412.186 0, 1179609.944 958422.749 0,
+ 1179884.86 958433.329 0, 1180159.775 958443.924 0, 1180434.69 958454.536 0, 1180709.604 958465.164 0, 1180984.517 958475.809 0, 1181259.429 958486.469 0, 1181534.341 958497.146 0, 1181809.253 958507.839 0, 1182084.163 958518.548 0, 1182359.073 958529.273 0,
+ 1182633.983 958540.014 0, 1182908.892 958550.772 0, 1183183.8 958561.546 0, 1183458.707 958572.335 0, 1183733.614 958583.142 0, 1184008.521 958593.964 0, 1184283.426 958604.802 0, 1184558.331 958615.657 0, 1184831.935 958626.476 0, 1185052.561 953051.343 0,
+ 1185273.182 947476.332 0))
+
+POLYGON ((1198026.576 959167.3 0, 1197753.001 959155.707 0, 1197478.128 959144.076 0, 1197203.254 959132.461 0, 1196928.38 959120.862 0, 1196653.504 959109.279 0, 1196378.628 959097.713 0, 1196103.752 959086.162 0, 1195828.874 959074.628 0, 1195553.996 959063.11 0,
+ 1195279.118 959051.608 0, 1195004.238 959040.123 0, 1194729.358 959028.653 0, 1194454.478 959017.2 0, 1194179.596 959005.763 0, 1193904.714 958994.342 0, 1193629.831 958982.937 0, 1193354.948 958971.549 0, 1193080.064 958960.176 0, 1192805.179 958948.82 0,
+ 1192530.294 958937.48 0, 1192255.408 958926.156 0, 1191980.521 958914.848 0, 1191705.634 958903.557 0, 1191429.446 958892.228 0, 1191155.857 958881.022 0, 1190880.968 958869.78 0, 1190606.078 958858.553 0, 1190331.187 958847.342 0, 1190056.295 958836.148 0,
+ 1189781.403 958824.969 0, 1189506.511 958813.807 0, 1189231.617 958802.661 0, 1188956.723 958791.532 0, 1188681.829 958780.418 0, 1188406.933 958769.321 0, 1188132.038 958758.24 0, 1187857.141 958747.175 0, 1187582.244 958736.126 0, 1187307.346 958725.093 0,
+ 1187032.447 958714.077 0, 1186757.548 958703.077 0, 1186482.648 958692.093 0, 1186207.748 958681.125 0, 1185932.847 958670.173 0, 1185657.945 958659.237 0, 1185383.042 958648.318 0, 1185108.139 958637.415 0, 1184831.935 958626.476 0, 1184611.304 964201.728 0,
+ 1184390.669 969777.094 0, 1184666.214 969788.006 0, 1184940.461 969798.883 0, 1185214.707 969809.777 0, 1185488.952 969820.686 0, 1185763.197 969831.612 0, 1186037.441 969842.553 0, 1186311.685 969853.511 0, 1186585.928 969864.485 0, 1186860.17 969875.475 0,
+ 1187134.412 969886.482 0, 1187408.653 969897.504 0, 1187682.893 969908.543 0, 1187957.133 969919.597 0, 1188231.372 969930.668 0, 1188505.61 969941.755 0, 1188779.848 969952.858 0, 1189054.085 969963.978 0, 1189328.321 969975.113 0, 1189602.557 969986.265 0,
+ 1189876.792 969997.432 0, 1190151.026 970008.616 0, 1190425.26 970019.816 0, 1190699.493 970031.032 0, 1190972.429 970042.211 0, 1191247.958 970053.513 0, 1191522.189 970064.778 0, 1191796.419 970076.058 0, 1192070.649 970087.355 0, 1192344.878 970098.668 0,
+ 1192619.107 970109.997 0, 1192893.334 970121.342 0, 1193167.562 970132.704 0, 1193441.788 970144.081 0, 1193716.014 970155.475 0, 1193990.239 970166.885 0, 1194264.463 970178.311 0, 1194538.687 970189.753 0, 1194812.91 970201.211 0, 1195087.133 970212.685 0,
+ 1195361.354 970224.176 0, 1195635.576 970235.683 0, 1195909.796 970247.205 0, 1196184.016 970258.744 0, 1196458.235 970270.299 0, 1196732.453 970281.871 0, 1197006.671 970293.458 0, 1197280.888 970305.061 0, 1197553.809 970316.626 0, 1197790.195 964741.906 0,
+ 1198026.576 959167.3 0))
+
+POLYGON ((1210715.372 970893.345 0, 1210442.482 970881.009 0, 1210168.299 970868.631 0, 1209894.115 970856.269 0, 1209619.931 970843.923 0, 1209345.746 970831.593 0, 1209071.56 970819.279 0, 1208797.373 970806.982 0, 1208523.185 970794.7 0, 1208248.997 970782.435 0,
+ 1207974.808 970770.186 0, 1207700.619 970757.953 0, 1207426.428 970745.737 0, 1207152.237 970733.536 0, 1206878.045 970721.351 0, 1206603.853 970709.183 0, 1206329.66 970697.031 0, 1206055.466 970684.895 0, 1205781.271 970672.775 0, 1205507.076 970660.671 0,
+ 1205232.879 970648.583 0, 1204958.683 970636.512 0, 1204684.485 970624.456 0, 1204410.287 970612.417 0, 1204134.794 970600.337 0, 1203861.888 970588.387 0, 1203587.688 970576.396 0, 1203313.487 970564.422 0, 1203039.285 970552.463 0, 1202765.083 970540.521 0,
+ 1202490.88 970528.594 0, 1202216.676 970516.684 0, 1201942.471 970504.79 0, 1201668.266 970492.912 0, 1201394.06 970481.051 0, 1201119.853 970469.205 0, 1200845.646 970457.376 0, 1200571.438 970445.562 0, 1200297.229 970433.765 0, 1200023.02 970421.984 0,
+ 1199748.81 970410.219 0, 1199474.599 970398.47 0, 1199200.388 970386.738 0, 1198926.175 970375.021 0, 1198651.962 970363.321 0, 1198377.749 970351.637 0, 1198103.535 970339.969 0, 1197829.32 970328.317 0, 1197553.809 970316.626 0, 1197317.418 975891.457 0,
+ 1197081.023 981466.394 0, 1197355.875 981478.056 0, 1197629.434 981489.68 0, 1197902.992 981501.321 0, 1198176.549 981512.977 0, 1198450.106 981524.649 0, 1198723.662 981536.338 0, 1198997.217 981548.042 0, 1199270.771 981559.763 0, 1199544.325 981571.499 0,
+ 1199817.878 981583.252 0, 1200091.431 981595.021 0, 1200364.983 981606.806 0, 1200638.534 981618.607 0, 1200912.084 981630.425 0, 1201185.634 981642.258 0, 1201459.183 981654.107 0, 1201732.731 981665.973 0, 1202006.279 981677.855 0, 1202279.826 981689.752 0,
+ 1202553.372 981701.666 0, 1202826.918 981713.596 0, 1203100.462 981725.542 0, 1203374.007 981737.504 0, 1203646.259 981749.426 0, 1203921.093 981761.477 0, 1204194.635 981773.487 0, 1204468.176 981785.514 0, 1204741.717 981797.556 0, 1205015.256 981809.615 0,
+ 1205288.796 981821.69 0, 1205562.334 981833.781 0, 1205835.872 981845.888 0, 1206109.409 981858.011 0, 1206382.945 981870.15 0, 1206656.481 981882.306 0, 1206930.016 981894.477 0, 1207203.55 981906.665 0, 1207477.083 981918.868 0, 1207750.616 981931.088 0,
+ 1208024.148 981943.324 0, 1208297.679 981955.576 0, 1208571.21 981967.844 0, 1208844.74 981980.128 0, 1209118.269 981992.428 0, 1209391.797 982004.745 0, 1209665.325 982017.077 0, 1209938.852 982029.426 0, 1210211.088 982041.732 0, 1210463.232 976467.485 0,
+ 1210715.372 970893.345 0))
+
+POLYGON ((1223339.475 982654.163 0, 1223067.273 982641.087 0, 1222793.782 982627.966 0, 1222520.29 982614.861 0, 1222246.797 982601.772 0, 1221973.304 982588.699 0, 1221699.81 982575.642 0, 1221426.315 982562.601 0, 1221152.82 982549.576 0, 1220879.323 982536.568 0,
+ 1220605.826 982523.575 0, 1220332.328 982510.599 0, 1220058.83 982497.639 0, 1219785.33 982484.695 0, 1219511.83 982471.766 0, 1219238.329 982458.854 0, 1218964.827 982445.959 0, 1218691.325 982433.079 0, 1218417.822 982420.215 0, 1218144.318 982407.368 0,
+ 1217870.813 982394.536 0, 1217597.308 982381.721 0, 1217323.801 982368.921 0, 1217050.294 982356.138 0, 1216775.498 982343.311 0, 1216503.278 982330.62 0, 1216229.769 982317.885 0, 1215956.259 982305.166 0, 1215682.748 982292.464 0, 1215409.237 982279.777 0,
+ 1215135.725 982267.107 0, 1214862.212 982254.452 0, 1214588.698 982241.814 0, 1214315.183 982229.192 0, 1214041.668 982216.585 0, 1213768.152 982203.995 0, 1213494.636 982191.422 0, 1213221.118 982178.864 0, 1212947.6 982166.322 0, 1212674.081 982153.796 0,
+ 1212400.562 982141.287 0, 1212127.041 982128.793 0, 1211853.52 982116.316 0, 1211579.998 982103.855 0, 1211306.476 982091.41 0, 1211032.952 982078.981 0, 1210759.428 982066.568 0, 1210485.904 982054.171 0, 1210211.088 982041.732 0, 1209958.939 987616.081 0,
+ 1209706.786 993190.528 0, 1209980.942 993202.937 0, 1210253.811 993215.304 0, 1210526.679 993227.687 0, 1210799.546 993240.087 0, 1211072.412 993252.502 0, 1211345.278 993264.933 0, 1211618.143 993277.381 0, 1211891.007 993289.844 0, 1212163.87 993302.324 0,
+ 1212436.733 993314.819 0, 1212709.595 993327.331 0, 1212982.456 993339.859 0, 1213255.317 993352.402 0, 1213528.176 993364.962 0, 1213801.035 993377.538 0, 1214073.894 993390.13 0, 1214346.751 993402.738 0, 1214619.608 993415.362 0, 1214892.464 993428.002 0,
+ 1215165.319 993440.658 0, 1215438.174 993453.33 0, 1215711.028 993466.019 0, 1215983.881 993478.723 0, 1216255.448 993491.384 0, 1216529.585 993504.18 0, 1216802.436 993516.933 0, 1217075.286 993529.701 0, 1217348.135 993542.486 0, 1217620.984 993555.286 0,
+ 1217893.831 993568.103 0, 1218166.679 993580.936 0, 1218439.525 993593.785 0, 1218712.37 993606.65 0, 1218985.215 993619.531 0, 1219258.059 993632.428 0, 1219530.902 993645.341 0, 1219803.745 993658.27 0, 1220076.587 993671.216 0, 1220349.428 993684.177 0,
+ 1220622.268 993697.154 0, 1220895.107 993710.148 0, 1221167.946 993723.157 0, 1221440.784 993736.183 0, 1221713.621 993749.224 0, 1221986.458 993762.282 0, 1222259.293 993775.356 0, 1222532.128 993788.445 0, 1222803.678 993801.489 0, 1223071.579 988227.777 0,
+ 1223339.475 982654.163 0))
+
+POLYGON ((1235898.791 994449.45 0, 1235627.277 994435.638 0, 1235354.48 994421.778 0, 1235081.683 994407.933 0, 1234808.884 994394.105 0, 1234536.085 994380.292 0, 1234263.285 994366.496 0, 1233990.484 994352.716 0, 1233717.683 994338.952 0, 1233444.88 994325.204 0,
+ 1233172.077 994311.472 0, 1232899.273 994297.756 0, 1232626.468 994284.056 0, 1232353.662 994270.372 0, 1232080.856 994256.704 0, 1231808.048 994243.052 0, 1231535.24 994229.416 0, 1231262.431 994215.797 0, 1230989.622 994202.193 0, 1230716.811 994188.605 0,
+ 1230444 994175.034 0, 1230171.188 994161.478 0, 1229898.375 994147.939 0, 1229625.561 994134.416 0, 1229351.463 994120.845 0, 1229079.931 994107.417 0, 1228807.115 994093.942 0, 1228534.298 994080.483 0, 1228261.481 994067.04 0, 1227988.662 994053.613 0,
+ 1227715.843 994040.202 0, 1227443.023 994026.807 0, 1227170.202 994013.428 0, 1226897.38 994000.066 0, 1226624.558 993986.719 0, 1226351.735 993973.388 0, 1226078.911 993960.074 0, 1225806.086 993946.775 0, 1225533.26 993933.493 0, 1225260.434 993920.226 0,
+ 1224987.607 993906.976 0, 1224714.779 993893.742 0, 1224441.95 993880.523 0, 1224169.121 993867.321 0, 1223896.291 993854.135 0, 1223623.46 993840.965 0, 1223350.628 993827.811 0, 1223077.795 993814.673 0, 1222803.678 993801.489 0, 1222535.772 999375.296 0,
+ 1222267.862 1004949.192 0, 1222541.321 1004962.344 0, 1222813.497 1004975.451 0, 1223085.673 1004988.573 0, 1223357.848 1005001.711 0, 1223630.022 1005014.866 0, 1223902.195 1005028.036 0, 1224174.368 1005041.223 0, 1224446.539 1005054.425 0, 1224718.71 1005067.644 0,
+ 1224990.881 1005080.878 0, 1225263.05 1005094.129 0, 1225535.219 1005107.395 0, 1225807.386 1005120.678 0, 1226079.554 1005133.976 0, 1226351.72 1005147.291 0, 1226623.885 1005160.622 0, 1226896.05 1005173.968 0, 1227168.214 1005187.331 0, 1227440.377 1005200.71 0,
+ 1227712.54 1005214.104 0, 1227984.701 1005227.515 0, 1228256.862 1005240.942 0, 1228529.022 1005254.385 0, 1228799.901 1005267.78 0, 1229073.34 1005281.318 0, 1229345.497 1005294.809 0, 1229617.654 1005308.316 0, 1229889.81 1005321.839 0, 1230161.965 1005335.377 0,
+ 1230434.12 1005348.932 0, 1230706.273 1005362.503 0, 1230978.426 1005376.09 0, 1231250.578 1005389.693 0, 1231522.73 1005403.312 0, 1231794.88 1005416.947 0, 1232067.03 1005430.598 0, 1232339.178 1005444.265 0, 1232611.327 1005457.948 0, 1232883.474 1005471.647 0,
+ 1233155.62 1005485.362 0, 1233427.766 1005499.093 0, 1233699.911 1005512.84 0, 1233972.055 1005526.604 0, 1234244.198 1005540.383 0, 1234516.34 1005554.178 0, 1234788.482 1005567.989 0, 1235060.622 1005581.816 0, 1235331.483 1005595.594 0, 1235615.139 1000022.477 0,
+ 1235898.791 994449.45 0))
+
+POLYGON ((1248393.226 1006278.901 0, 1248122.403 1006264.357 0, 1247850.303 1006249.761 0, 1247578.201 1006235.181 0, 1247306.099 1006220.617 0, 1247033.996 1006206.069 0, 1246761.892 1006191.537 0, 1246489.787 1006177.022 0, 1246217.681 1006162.522 0, 1245945.574 1006148.038 0,
+ 1245673.467 1006133.57 0, 1245401.359 1006119.118 0, 1245129.25 1006104.682 0, 1244857.14 1006090.262 0, 1244585.029 1006075.859 0, 1244312.917 1006061.471 0, 1244040.804 1006047.099 0, 1243768.691 1006032.743 0, 1243496.577 1006018.404 0, 1243224.462 1006004.08 0,
+ 1242952.346 1005989.772 0, 1242680.229 1005975.481 0, 1242408.112 1005961.205 0, 1242135.993 1005946.945 0, 1241862.596 1005932.635 0, 1241591.754 1005918.474 0, 1241319.633 1005904.262 0, 1241047.511 1005890.067 0, 1240775.388 1005875.887 0, 1240503.265 1005861.724 0,
+ 1240231.141 1005847.576 0, 1239959.016 1005833.445 0, 1239686.89 1005819.329 0, 1239414.763 1005805.23 0, 1239142.635 1005791.146 0, 1238870.507 1005777.079 0, 1238598.378 1005763.027 0, 1238326.248 1005748.992 0, 1238054.117 1005734.972 0, 1237781.985 1005720.969 0,
+ 1237509.852 1005706.982 0, 1237237.719 1005693.01 0, 1236965.585 1005679.055 0, 1236693.45 1005665.116 0, 1236421.314 1005651.192 0, 1236149.177 1005637.285 0, 1235877.04 1005623.394 0, 1235604.901 1005609.519 0, 1235331.483 1005595.594 0, 1235047.823 1011168.797 0,
+ 1234764.158 1016742.082 0, 1235036.917 1016755.973 0, 1235308.399 1016769.815 0, 1235579.881 1016783.673 0, 1235851.361 1016797.546 0, 1236122.841 1016811.436 0, 1236394.32 1016825.342 0, 1236665.798 1016839.263 0, 1236937.276 1016853.201 0, 1237208.752 1016867.155 0,
+ 1237480.228 1016881.124 0, 1237751.703 1016895.11 0, 1238023.177 1016909.112 0, 1238294.65 1016923.129 0, 1238566.122 1016937.163 0, 1238837.594 1016951.212 0, 1239109.065 1016965.278 0, 1239380.535 1016979.359 0, 1239652.004 1016993.457 0, 1239923.472 1017007.57 0,
+ 1240194.939 1017021.699 0, 1240466.406 1017035.845 0, 1240737.872 1017050.006 0, 1241009.337 1017064.184 0, 1241279.526 1017078.31 0, 1241552.264 1017092.586 0, 1241823.726 1017106.811 0, 1242095.188 1017121.053 0, 1242366.649 1017135.31 0, 1242638.109 1017149.583 0,
+ 1242909.568 1017163.872 0, 1243181.026 1017178.177 0, 1243452.483 1017192.499 0, 1243723.94 1017206.836 0, 1243995.396 1017221.189 0, 1244266.85 1017235.558 0, 1244538.304 1017249.943 0, 1244809.758 1017264.344 0, 1245081.21 1017278.761 0, 1245352.661 1017293.194 0,
+ 1245624.112 1017307.643 0, 1245895.562 1017322.108 0, 1246167.011 1017336.589 0, 1246438.459 1017351.086 0, 1246709.906 1017365.599 0, 1246981.352 1017380.127 0, 1247252.798 1017394.672 0, 1247524.242 1017409.233 0, 1247794.412 1017423.741 0, 1248093.821 1011851.28 0,
+ 1248393.226 1006278.901 0))
+
+POLYGON ((1260822.689 1018142.211 0, 1260552.559 1018126.939 0, 1260281.156 1018111.611 0, 1260009.753 1018096.3 0, 1259738.349 1018081.004 0, 1259466.944 1018065.724 0, 1259195.538 1018050.46 0, 1258924.131 1018035.213 0, 1258652.723 1018019.981 0, 1258381.314 1018004.765 0,
+ 1258109.905 1017989.565 0, 1257838.494 1017974.382 0, 1257567.083 1017959.214 0, 1257295.67 1017944.062 0, 1257024.257 1017928.926 0, 1256752.843 1017913.806 0, 1256481.428 1017898.702 0, 1256210.012 1017883.614 0, 1255938.596 1017868.542 0, 1255667.178 1017853.486 0,
+ 1255395.76 1017838.446 0, 1255124.34 1017823.422 0, 1254852.92 1017808.414 0, 1254581.499 1017793.421 0, 1254308.804 1017778.375 0, 1254038.654 1017763.485 0, 1253767.23 1017748.541 0, 1253495.805 1017733.613 0, 1253224.38 1017718.7 0, 1252952.953 1017703.804 0,
+ 1252681.526 1017688.924 0, 1252410.098 1017674.059 0, 1252138.669 1017659.211 0, 1251867.239 1017644.379 0, 1251595.808 1017629.562 0, 1251324.377 1017614.762 0, 1251052.944 1017599.977 0, 1250781.511 1017585.209 0, 1250510.076 1017570.456 0, 1250238.641 1017555.72 0,
+ 1249967.205 1017540.999 0, 1249695.768 1017526.295 0, 1249424.331 1017511.606 0, 1249152.892 1017496.933 0, 1248881.452 1017482.277 0, 1248610.012 1017467.636 0, 1248338.571 1017453.011 0, 1248067.129 1017438.403 0, 1247794.412 1017423.741 0, 1247494.999 1022996.28 0,
+ 1247195.582 1028568.892 0, 1247467.639 1028583.518 0, 1247738.426 1028598.091 0, 1248009.211 1028612.681 0, 1248279.995 1028627.286 0, 1248550.779 1028641.907 0, 1248821.561 1028656.544 0, 1249092.343 1028671.197 0, 1249363.124 1028685.867 0, 1249633.904 1028700.552 0,
+ 1249904.683 1028715.252 0, 1250175.461 1028729.969 0, 1250446.239 1028744.702 0, 1250717.015 1028759.451 0, 1250987.791 1028774.216 0, 1251258.566 1028788.996 0, 1251529.34 1028803.793 0, 1251800.113 1028818.605 0, 1252070.885 1028833.434 0, 1252341.657 1028848.278 0,
+ 1252612.427 1028863.138 0, 1252883.197 1028878.014 0, 1253153.965 1028892.907 0, 1253424.733 1028907.815 0, 1253694.231 1028922.669 0, 1253966.266 1028937.679 0, 1254237.032 1028952.635 0, 1254507.796 1028967.607 0, 1254778.559 1028982.594 0, 1255049.322 1028997.598 0,
+ 1255320.084 1029012.618 0, 1255590.844 1029027.653 0, 1255861.604 1029042.705 0, 1256132.363 1029057.772 0, 1256403.122 1029072.856 0, 1256673.879 1029087.955 0, 1256944.635 1029103.07 0, 1257215.391 1029118.202 0, 1257486.145 1029133.349 0, 1257756.899 1029148.512 0,
+ 1258027.652 1029163.691 0, 1258298.404 1029178.886 0, 1258569.155 1029194.097 0, 1258839.905 1029209.324 0, 1259110.654 1029224.566 0, 1259381.402 1029239.825 0, 1259652.15 1029255.1 0, 1259922.896 1029270.39 0, 1260192.374 1029285.625 0, 1260507.533 1023713.881 0,
+ 1260822.689 1018142.211 0))
+
+POLYGON ((1273187.088 1030039.073 0, 1272917.653 1030023.077 0, 1272646.951 1030007.022 0, 1272376.248 1029990.982 0, 1272105.544 1029974.959 0, 1271834.839 1029958.951 0, 1271564.133 1029942.959 0, 1271293.426 1029926.984 0, 1271022.718 1029911.024 0, 1270752.009 1029895.08 0,
+ 1270481.299 1029879.152 0, 1270210.588 1029863.24 0, 1269939.877 1029847.344 0, 1269669.164 1029831.464 0, 1269398.451 1029815.6 0, 1269127.736 1029799.751 0, 1268857.021 1029783.919 0, 1268586.305 1029768.102 0, 1268315.587 1029752.302 0, 1268044.869 1029736.517 0,
+ 1267774.15 1029720.749 0, 1267503.43 1029704.996 0, 1267232.709 1029689.259 0, 1266961.987 1029673.539 0, 1266689.997 1029657.76 0, 1266420.541 1029642.145 0, 1266149.816 1029626.472 0, 1265879.09 1029610.815 0, 1265608.364 1029595.173 0, 1265337.636 1029579.548 0,
+ 1265066.908 1029563.939 0, 1264796.179 1029548.346 0, 1264525.449 1029532.768 0, 1264254.718 1029517.207 0, 1263983.986 1029501.661 0, 1263713.253 1029486.132 0, 1263442.519 1029470.618 0, 1263171.784 1029455.12 0, 1262901.048 1029439.638 0, 1262630.312 1029424.172 0,
+ 1262359.574 1029408.723 0, 1262088.836 1029393.289 0, 1261818.097 1029377.871 0, 1261547.356 1029362.468 0, 1261276.615 1029347.082 0, 1261005.873 1029331.712 0, 1260735.13 1029316.358 0, 1260464.387 1029301.019 0, 1260192.374 1029285.625 0, 1259877.21 1034857.438 0,
+ 1259562.043 1040429.316 0, 1259833.397 1040444.673 0, 1260103.485 1040459.974 0, 1260373.572 1040475.292 0, 1260643.658 1040490.625 0, 1260913.743 1040505.974 0, 1261183.828 1040521.338 0, 1261453.911 1040536.719 0, 1261723.993 1040552.116 0, 1261994.075 1040567.528 0,
+ 1262264.156 1040582.957 0, 1262534.236 1040598.401 0, 1262804.314 1040613.861 0, 1263074.392 1040629.337 0, 1263344.469 1040644.829 0, 1263614.546 1040660.337 0, 1263884.621 1040675.861 0, 1264154.695 1040691.4 0, 1264424.768 1040706.956 0, 1264694.841 1040722.527 0,
+ 1264964.913 1040738.115 0, 1265234.983 1040753.718 0, 1265505.053 1040769.337 0, 1265775.122 1040784.972 0, 1266043.925 1040800.55 0, 1266315.257 1040816.29 0, 1266585.323 1040831.973 0, 1266855.388 1040847.671 0, 1267125.452 1040863.386 0, 1267395.515 1040879.116 0,
+ 1267665.578 1040894.863 0, 1267935.639 1040910.625 0, 1268205.699 1040926.403 0, 1268475.759 1040942.197 0, 1268745.818 1040958.007 0, 1269015.875 1040973.833 0, 1269285.932 1040989.674 0, 1269555.988 1041005.532 0, 1269826.043 1041021.405 0, 1270096.097 1041037.295 0,
+ 1270366.15 1041053.2 0, 1270636.202 1041069.121 0, 1270906.253 1041085.058 0, 1271176.303 1041101.011 0, 1271446.353 1041116.98 0, 1271716.401 1041132.965 0, 1271986.448 1041148.966 0, 1272256.495 1041164.982 0, 1272525.277 1041180.939 0, 1272856.185 1035609.974 0,
+ 1273187.088 1030039.073 0))
+
+POLYGON ((1285486.337 1041969.183 0, 1285217.598 1041952.466 0, 1284947.598 1041935.687 0, 1284677.597 1041918.923 0, 1284407.595 1041902.176 0, 1284137.592 1041885.444 0, 1283867.588 1041868.728 0, 1283597.583 1041852.028 0, 1283327.577 1041835.344 0, 1283057.57 1041818.676 0,
+ 1282787.562 1041802.024 0, 1282517.553 1041785.387 0, 1282247.543 1041768.767 0, 1281977.532 1041752.162 0, 1281707.52 1041735.574 0, 1281437.507 1041719.001 0, 1281167.493 1041702.444 0, 1280897.478 1041685.903 0, 1280627.462 1041669.378 0, 1280357.446 1041652.869 0,
+ 1280087.428 1041636.375 0, 1279817.409 1041619.898 0, 1279547.389 1041603.436 0, 1279277.369 1041586.991 0, 1279006.085 1041570.484 0, 1278737.325 1041554.147 0, 1278467.301 1041537.749 0, 1278197.276 1041521.367 0, 1277927.251 1041505.001 0, 1277657.225 1041488.65 0,
+ 1277387.197 1041472.316 0, 1277117.169 1041455.997 0, 1276847.139 1041439.695 0, 1276577.109 1041423.408 0, 1276307.078 1041407.137 0, 1276037.046 1041390.882 0, 1275767.013 1041374.643 0, 1275496.978 1041358.42 0, 1275226.943 1041342.213 0, 1274956.907 1041326.022 0,
+ 1274686.87 1041309.846 0, 1274416.832 1041293.686 0, 1274146.793 1041277.543 0, 1273876.754 1041261.415 0, 1273606.713 1041245.303 0, 1273336.671 1041229.207 0, 1273066.628 1041213.127 0, 1272796.585 1041197.063 0, 1272525.277 1041180.939 0, 1272194.366 1046751.966 0,
+ 1271863.452 1052323.049 0, 1272134.1 1052339.133 0, 1272403.488 1052355.158 0, 1272672.875 1052371.199 0, 1272942.261 1052387.256 0, 1273211.646 1052403.329 0, 1273481.03 1052419.417 0, 1273750.413 1052435.522 0, 1274019.795 1052451.642 0, 1274289.176 1052467.778 0,
+ 1274558.557 1052483.93 0, 1274827.936 1052500.098 0, 1275097.314 1052516.282 0, 1275366.692 1052532.482 0, 1275636.068 1052548.697 0, 1275905.444 1052564.929 0, 1276174.818 1052581.176 0, 1276444.192 1052597.439 0, 1276713.564 1052613.718 0, 1276982.936 1052630.012 0,
+ 1277252.307 1052646.323 0, 1277521.676 1052662.649 0, 1277791.045 1052678.992 0, 1278060.413 1052695.35 0, 1278328.521 1052711.647 0, 1278599.146 1052728.114 0, 1278868.511 1052744.519 0, 1279137.875 1052760.941 0, 1279407.238 1052777.378 0, 1279676.6 1052793.832 0,
+ 1279945.961 1052810.301 0, 1280215.321 1052826.786 0, 1280484.68 1052843.287 0, 1280754.038 1052859.803 0, 1281023.395 1052876.336 0, 1281292.751 1052892.884 0, 1281562.107 1052909.449 0, 1281831.461 1052926.029 0, 1282100.814 1052942.625 0, 1282370.166 1052959.236 0,
+ 1282639.518 1052975.864 0, 1282908.868 1052992.508 0, 1283178.217 1053009.167 0, 1283447.566 1053025.842 0, 1283716.913 1053042.533 0, 1283986.259 1053059.24 0, 1284255.605 1053075.963 0, 1284524.949 1053092.702 0, 1284793.035 1053109.378 0, 1285139.688 1047539.252 0,
+ 1285486.337 1041969.183 0))
+
+POLYGON ((1297720.345 1053932.233 0, 1297452.306 1053914.799 0, 1297183.01 1053897.299 0, 1296913.713 1053879.816 0, 1296644.414 1053862.348 0, 1296375.115 1053844.896 0, 1296105.815 1053827.46 0, 1295836.514 1053810.04 0, 1295567.212 1053792.635 0, 1295297.908 1053775.247 0,
+ 1295028.604 1053757.874 0, 1294759.299 1053740.517 0, 1294489.993 1053723.176 0, 1294220.685 1053705.851 0, 1293951.377 1053688.541 0, 1293682.067 1053671.248 0, 1293412.757 1053653.97 0, 1293143.446 1053636.709 0, 1292874.133 1053619.463 0, 1292604.82 1053602.233 0,
+ 1292335.505 1053585.018 0, 1292066.19 1053567.82 0, 1291796.873 1053550.638 0, 1291527.556 1053533.471 0, 1291256.981 1053516.24 0, 1290988.918 1053499.185 0, 1290719.597 1053482.066 0, 1290450.276 1053464.963 0, 1290180.953 1053447.875 0, 1289911.63 1053430.804 0,
+ 1289642.305 1053413.748 0, 1289372.98 1053396.708 0, 1289103.653 1053379.684 0, 1288834.326 1053362.676 0, 1288564.997 1053345.684 0, 1288295.667 1053328.707 0, 1288026.337 1053311.747 0, 1287757.005 1053294.802 0, 1287487.673 1053277.873 0, 1287218.339 1053260.96 0,
+ 1286949.005 1053244.063 0, 1286679.669 1053227.182 0, 1286410.333 1053210.316 0, 1286140.995 1053193.467 0, 1285871.657 1053176.633 0, 1285602.317 1053159.815 0, 1285332.977 1053143.013 0, 1285063.635 1053126.227 0, 1284793.035 1053109.378 0, 1284446.379 1058679.556 0,
+ 1284099.721 1064249.782 0, 1284369.662 1064266.59 0, 1284638.348 1064283.335 0, 1284907.032 1064300.097 0, 1285175.716 1064316.873 0, 1285444.399 1064333.666 0, 1285713.081 1064350.475 0, 1285981.762 1064367.299 0, 1286250.442 1064384.14 0, 1286519.12 1064400.996 0,
+ 1286787.798 1064417.867 0, 1287056.475 1064434.755 0, 1287325.151 1064451.659 0, 1287593.826 1064468.578 0, 1287862.5 1064485.513 0, 1288131.173 1064502.464 0, 1288399.845 1064519.431 0, 1288668.515 1064536.413 0, 1288937.185 1064553.412 0, 1289205.854 1064570.426 0,
+ 1289474.522 1064587.456 0, 1289743.189 1064604.501 0, 1290011.855 1064621.563 0, 1290280.52 1064638.641 0, 1290547.93 1064655.654 0, 1290817.846 1064672.843 0, 1291086.508 1064689.968 0, 1291355.169 1064707.108 0, 1291623.829 1064724.265 0, 1291892.488 1064741.437 0,
+ 1292161.146 1064758.625 0, 1292429.802 1064775.829 0, 1292698.458 1064793.049 0, 1292967.113 1064810.285 0, 1293235.767 1064827.536 0, 1293504.42 1064844.803 0, 1293773.071 1064862.086 0, 1294041.722 1064879.385 0, 1294310.372 1064896.699 0, 1294579.02 1064914.03 0,
+ 1294847.668 1064931.376 0, 1295116.315 1064948.738 0, 1295384.96 1064966.116 0, 1295653.605 1064983.51 0, 1295922.248 1065000.919 0, 1296190.891 1065018.345 0, 1296459.532 1065035.786 0, 1296728.173 1065053.243 0, 1296995.56 1065070.634 0, 1297357.954 1059501.409 0,
+ 1297720.345 1053932.233 0))
+
+POLYGON ((1309889.029 1065927.915 0, 1309621.69 1065909.768 0, 1309353.1 1065891.552 0, 1309084.509 1065873.352 0, 1308815.916 1065855.168 0, 1308547.323 1065837 0, 1308278.729 1065818.847 0, 1308010.133 1065800.711 0, 1307741.537 1065782.59 0, 1307472.939 1065764.484 0,
+ 1307204.341 1065746.395 0, 1306935.741 1065728.322 0, 1306667.14 1065710.264 0, 1306398.538 1065692.222 0, 1306129.935 1065674.196 0, 1305861.331 1065656.186 0, 1305592.726 1065638.191 0, 1305324.12 1065620.212 0, 1305055.513 1065602.249 0, 1304786.905 1065584.302 0,
+ 1304518.296 1065566.371 0, 1304249.686 1065548.456 0, 1303981.074 1065530.556 0, 1303712.462 1065512.672 0, 1303442.597 1065494.721 0, 1303175.234 1065476.952 0, 1302906.618 1065459.116 0, 1302638.002 1065441.295 0, 1302369.384 1065423.49 0, 1302100.765 1065405.701 0,
+ 1301832.146 1065387.928 0, 1301563.525 1065370.171 0, 1301294.903 1065352.429 0, 1301026.28 1065334.704 0, 1300757.656 1065316.994 0, 1300489.031 1065299.3 0, 1300220.405 1065281.621 0, 1299951.778 1065263.959 0, 1299683.15 1065246.312 0, 1299414.521 1065228.681 0,
+ 1299145.891 1065211.066 0, 1298877.26 1065193.467 0, 1298608.627 1065175.884 0, 1298339.994 1065158.316 0, 1298071.36 1065140.764 0, 1297802.724 1065123.228 0, 1297534.088 1065105.708 0, 1297265.451 1065088.204 0, 1296995.56 1065070.634 0, 1296633.163 1070639.902 0,
+ 1296270.763 1076209.21 0, 1296539.995 1076226.738 0, 1296807.977 1076244.199 0, 1297075.958 1076261.677 0, 1297343.938 1076279.17 0, 1297611.916 1076296.679 0, 1297879.894 1076314.203 0, 1298147.871 1076331.744 0, 1298415.846 1076349.3 0, 1298683.821 1076366.872 0,
+ 1298951.794 1076384.46 0, 1299219.767 1076402.064 0, 1299487.738 1076419.683 0, 1299755.709 1076437.318 0, 1300023.678 1076454.969 0, 1300291.647 1076472.636 0, 1300559.614 1076490.318 0, 1300827.58 1076508.016 0, 1301095.545 1076525.73 0, 1301363.51 1076543.46 0,
+ 1301631.473 1076561.206 0, 1301899.435 1076578.967 0, 1302167.396 1076596.744 0, 1302435.356 1076614.537 0, 1302702.067 1076632.263 0, 1302971.273 1076650.17 0, 1303239.23 1076668.01 0, 1303507.186 1076685.866 0, 1303775.14 1076703.738 0, 1304043.094 1076721.625 0,
+ 1304311.047 1076739.529 0, 1304578.998 1076757.448 0, 1304846.949 1076775.383 0, 1305114.898 1076793.333 0, 1305382.847 1076811.299 0, 1305650.794 1076829.282 0, 1305918.741 1076847.279 0, 1306186.686 1076865.293 0, 1306454.63 1076883.322 0, 1306722.573 1076901.368 0,
+ 1306990.515 1076919.429 0, 1307258.456 1076937.505 0, 1307526.396 1076955.598 0, 1307794.335 1076973.706 0, 1308062.273 1076991.83 0, 1308330.21 1077009.97 0, 1308598.145 1077028.126 0, 1308866.08 1077046.297 0, 1309132.766 1077064.399 0, 1309510.899 1071496.137 0,
+ 1309889.029 1065927.915 0))
+
+POLYGON ((1321992.302 1077955.923 0, 1321725.666 1077937.067 0, 1321457.784 1077918.138 0, 1321189.9 1077899.226 0, 1320922.016 1077880.329 0, 1320654.13 1077861.448 0, 1320386.244 1077842.583 0, 1320118.356 1077823.734 0, 1319850.467 1077804.9 0, 1319582.577 1077786.082 0,
+ 1319314.686 1077767.28 0, 1319046.794 1077748.494 0, 1318778.901 1077729.723 0, 1318511.006 1077710.968 0, 1318243.111 1077692.229 0, 1317975.214 1077673.506 0, 1317707.316 1077654.798 0, 1317439.418 1077636.107 0, 1317171.518 1077617.431 0, 1316903.617 1077598.771 0,
+ 1316635.714 1077580.126 0, 1316367.811 1077561.497 0, 1316099.907 1077542.885 0, 1315832.002 1077524.287 0, 1315562.849 1077505.62 0, 1315296.188 1077487.14 0, 1315028.279 1077468.591 0, 1314760.369 1077450.057 0, 1314492.458 1077431.538 0, 1314224.546 1077413.036 0,
+ 1313956.633 1077394.549 0, 1313688.719 1077376.078 0, 1313420.804 1077357.623 0, 1313152.888 1077339.183 0, 1312884.97 1077320.76 0, 1312617.052 1077302.352 0, 1312349.132 1077283.96 0, 1312081.212 1077265.583 0, 1311813.29 1077247.223 0, 1311545.367 1077228.878 0,
+ 1311277.443 1077210.549 0, 1311009.518 1077192.236 0, 1310741.592 1077173.938 0, 1310473.665 1077155.656 0, 1310205.737 1077137.39 0, 1309937.808 1077119.14 0, 1309669.877 1077100.906 0, 1309401.946 1077082.687 0, 1309132.766 1077064.399 0, 1308754.632 1082632.697 0,
+ 1308376.494 1088201.025 0, 1308645.015 1088219.268 0, 1308912.291 1088237.442 0, 1309179.566 1088255.632 0, 1309446.84 1088273.837 0, 1309714.113 1088292.059 0, 1309981.384 1088310.296 0, 1310248.655 1088328.548 0, 1310515.924 1088346.817 0, 1310783.193 1088365.101 0,
+ 1311050.46 1088383.401 0, 1311317.726 1088401.717 0, 1311584.992 1088420.048 0, 1311852.256 1088438.395 0, 1312119.519 1088456.758 0, 1312386.781 1088475.137 0, 1312654.041 1088493.531 0, 1312921.301 1088511.941 0, 1313188.56 1088530.367 0, 1313455.818 1088548.808 0,
+ 1313723.074 1088567.266 0, 1313990.33 1088585.739 0, 1314257.584 1088604.227 0, 1314524.837 1088622.732 0, 1314790.847 1088641.166 0, 1315059.34 1088659.788 0, 1315326.59 1088678.339 0, 1315593.839 1088696.907 0, 1315861.087 1088715.49 0, 1316128.334 1088734.089 0,
+ 1316395.579 1088752.703 0, 1316662.824 1088771.334 0, 1316930.067 1088789.98 0, 1317197.31 1088808.641 0, 1317464.551 1088827.319 0, 1317731.791 1088846.012 0, 1317999.03 1088864.721 0, 1318266.268 1088883.446 0, 1318533.505 1088902.186 0, 1318800.74 1088920.942 0,
+ 1319067.975 1088939.714 0, 1319335.209 1088958.501 0, 1319602.441 1088977.305 0, 1319869.672 1088996.124 0, 1320136.902 1089014.959 0, 1320404.131 1089033.809 0, 1320671.359 1089052.675 0, 1320938.586 1089071.557 0, 1321204.57 1089090.367 0, 1321598.437 1083523.129 0,
+ 1321992.302 1077955.923 0))
+
+POLYGON ((1334030.083 1090015.947 0, 1333764.151 1089996.386 0, 1333496.978 1089976.749 0, 1333229.805 1089957.128 0, 1332962.63 1089937.523 0, 1332695.454 1089917.933 0, 1332428.277 1089898.359 0, 1332161.099 1089878.801 0, 1331893.919 1089859.258 0, 1331626.739 1089839.731 0,
+ 1331359.557 1089820.22 0, 1331092.374 1089800.725 0, 1330825.19 1089781.246 0, 1330558.005 1089761.782 0, 1330290.819 1089742.334 0, 1330023.632 1089722.901 0, 1329756.443 1089703.485 0, 1329489.253 1089684.084 0, 1329222.063 1089664.698 0, 1328954.871 1089645.329 0,
+ 1328687.678 1089625.975 0, 1328420.483 1089606.637 0, 1328153.288 1089587.315 0, 1327886.091 1089568.008 0, 1327617.653 1089548.628 0, 1327351.695 1089529.442 0, 1327084.495 1089510.183 0, 1326817.294 1089490.939 0, 1326550.092 1089471.711 0, 1326282.889 1089452.499 0,
+ 1326015.684 1089433.302 0, 1325748.479 1089414.122 0, 1325481.272 1089394.957 0, 1325214.064 1089375.807 0, 1324946.855 1089356.674 0, 1324679.645 1089337.556 0, 1324412.434 1089318.454 0, 1324145.222 1089299.367 0, 1323878.008 1089280.297 0, 1323610.794 1089261.242 0,
+ 1323343.578 1089242.202 0, 1323076.361 1089223.179 0, 1322809.143 1089204.171 0, 1322541.924 1089185.179 0, 1322274.704 1089166.203 0, 1322007.483 1089147.242 0, 1321740.26 1089128.297 0, 1321473.037 1089109.368 0, 1321204.57 1089090.367 0, 1320810.701 1094657.631 0,
+ 1320416.831 1100224.918 0, 1320684.639 1100243.873 0, 1320951.207 1100262.755 0, 1321217.774 1100281.654 0, 1321484.34 1100300.568 0, 1321750.905 1100319.497 0, 1322017.468 1100338.443 0, 1322284.031 1100357.404 0, 1322550.593 1100376.381 0, 1322817.153 1100395.373 0,
+ 1323083.712 1100414.382 0, 1323350.27 1100433.406 0, 1323616.827 1100452.445 0, 1323883.383 1100471.501 0, 1324149.938 1100490.571 0, 1324416.491 1100509.658 0, 1324683.044 1100528.761 0, 1324949.595 1100547.879 0, 1325216.146 1100567.012 0, 1325482.695 1100586.162 0,
+ 1325749.243 1100605.327 0, 1326015.79 1100624.508 0, 1326282.335 1100643.704 0, 1326548.88 1100662.916 0, 1326814.186 1100682.055 0, 1327081.966 1100701.388 0, 1327348.507 1100720.647 0, 1327615.047 1100739.922 0, 1327881.586 1100759.212 0, 1328148.124 1100778.519 0,
+ 1328414.661 1100797.841 0, 1328681.196 1100817.178 0, 1328947.731 1100836.532 0, 1329214.264 1100855.901 0, 1329480.796 1100875.286 0, 1329747.327 1100894.686 0, 1330013.857 1100914.102 0, 1330280.385 1100933.534 0, 1330546.913 1100952.981 0, 1330813.439 1100972.445 0,
+ 1331079.965 1100991.923 0, 1331346.489 1101011.418 0, 1331613.012 1101030.928 0, 1331879.534 1101050.454 0, 1332146.054 1101069.996 0, 1332412.574 1101089.553 0, 1332679.092 1101109.126 0, 1332945.609 1101128.715 0, 1333210.889 1101148.228 0, 1333620.487 1095582.077 0,
+ 1334030.083 1090015.947 0))
+
+POLYGON ((1346002.288 1102107.68 0, 1345737.062 1102087.417 0, 1345470.601 1102067.076 0, 1345204.139 1102046.75 0, 1344937.676 1102026.44 0, 1344671.212 1102006.145 0, 1344404.746 1101985.866 0, 1344138.279 1101965.603 0, 1343871.811 1101945.356 0, 1343605.342 1101925.124 0,
+ 1343338.872 1101904.908 0, 1343072.4 1101884.708 0, 1342805.928 1101864.523 0, 1342539.454 1101844.354 0, 1342272.979 1101824.2 0, 1342006.502 1101804.063 0, 1341740.025 1101783.941 0, 1341473.546 1101763.834 0, 1341207.066 1101743.744 0, 1340940.585 1101723.669 0,
+ 1340674.103 1101703.61 0, 1340407.62 1101683.566 0, 1340141.135 1101663.538 0, 1339874.649 1101643.526 0, 1339606.927 1101623.437 0, 1339341.674 1101603.549 0, 1339075.185 1101583.584 0, 1338808.695 1101563.634 0, 1338542.203 1101543.7 0, 1338275.71 1101523.782 0,
+ 1338009.216 1101503.88 0, 1337742.721 1101483.993 0, 1337476.225 1101464.122 0, 1337209.727 1101444.267 0, 1336943.229 1101424.427 0, 1336676.729 1101404.603 0, 1336410.228 1101384.795 0, 1336143.726 1101365.002 0, 1335877.222 1101345.225 0, 1335610.718 1101325.464 0,
+ 1335344.212 1101305.719 0, 1335077.705 1101285.989 0, 1334811.197 1101266.275 0, 1334544.688 1101246.576 0, 1334278.178 1101226.893 0, 1334011.667 1101207.226 0, 1333745.154 1101187.575 0, 1333478.64 1101167.939 0, 1333210.889 1101148.228 0, 1332801.29 1106714.398 0,
+ 1332391.69 1112280.581 0, 1332658.783 1112300.243 0, 1332924.642 1112319.831 0, 1333190.499 1112339.434 0, 1333456.355 1112359.053 0, 1333722.21 1112378.687 0, 1333988.064 1112398.337 0, 1334253.917 1112418.003 0, 1334519.769 1112437.684 0, 1334785.619 1112457.381 0,
+ 1335051.468 1112477.094 0, 1335317.317 1112496.822 0, 1335583.163 1112516.566 0, 1335849.009 1112536.326 0, 1336114.854 1112556.101 0, 1336380.697 1112575.892 0, 1336646.54 1112595.698 0, 1336912.381 1112615.52 0, 1337178.221 1112635.358 0, 1337444.06 1112655.212 0,
+ 1337709.897 1112675.081 0, 1337975.734 1112694.966 0, 1338241.569 1112714.866 0, 1338507.403 1112734.782 0, 1338772.004 1112754.621 0, 1339039.068 1112774.661 0, 1339304.898 1112794.624 0, 1339570.728 1112814.603 0, 1339836.556 1112834.597 0, 1340102.383 1112854.607 0,
+ 1340368.209 1112874.632 0, 1340634.034 1112894.674 0, 1340899.857 1112914.731 0, 1341165.679 1112934.803 0, 1341431.501 1112954.891 0, 1341697.321 1112974.995 0, 1341963.139 1112995.114 0, 1342228.957 1113015.25 0, 1342494.773 1113035.4 0, 1342760.589 1113055.567 0,
+ 1343026.403 1113075.749 0, 1343292.216 1113095.946 0, 1343558.027 1113116.16 0, 1343823.838 1113136.389 0, 1344089.647 1113156.633 0, 1344355.455 1113176.894 0, 1344621.262 1113197.169 0, 1344887.068 1113217.461 0, 1345151.641 1113237.674 0, 1345576.965 1107672.67 0,
+ 1346002.288 1102107.68 0))
+
+POLYGON ((1357908.837 1114230.813 0, 1357644.32 1114209.852 0, 1357378.573 1114188.81 0, 1357112.824 1114167.783 0, 1356847.074 1114146.772 0, 1356581.323 1114125.776 0, 1356315.571 1114104.796 0, 1356049.817 1114083.832 0, 1355784.063 1114062.884 0, 1355518.307 1114041.951 0,
+ 1355252.55 1114021.033 0, 1354986.791 1114000.132 0, 1354721.031 1113979.246 0, 1354455.271 1113958.375 0, 1354189.508 1113937.521 0, 1353923.745 1113916.682 0, 1353657.981 1113895.858 0, 1353392.215 1113875.05 0, 1353126.448 1113854.258 0, 1352860.679 1113833.482 0,
+ 1352594.91 1113812.721 0, 1352329.139 1113791.976 0, 1352063.367 1113771.246 0, 1351797.594 1113750.532 0, 1351530.59 1113729.738 0, 1351266.044 1113709.151 0, 1351000.268 1113688.484 0, 1350734.49 1113667.833 0, 1350468.71 1113647.197 0, 1350202.93 1113626.577 0,
+ 1349937.148 1113605.973 0, 1349671.365 1113585.384 0, 1349405.581 1113564.811 0, 1349139.796 1113544.253 0, 1348874.01 1113523.712 0, 1348608.222 1113503.185 0, 1348342.433 1113482.675 0, 1348076.643 1113462.18 0, 1347810.852 1113441.701 0, 1347545.059 1113421.237 0,
+ 1347279.265 1113400.789 0, 1347013.47 1113380.357 0, 1346747.674 1113359.94 0, 1346481.877 1113339.539 0, 1346216.078 1113319.153 0, 1345950.279 1113298.784 0, 1345684.478 1113278.43 0, 1345418.676 1113258.091 0, 1345151.641 1113237.674 0, 1344726.317 1118802.687 0,
+ 1344300.992 1124367.705 0, 1344567.368 1124388.071 0, 1344832.515 1124408.36 0, 1345097.661 1124428.664 0, 1345362.806 1124448.983 0, 1345627.949 1124469.318 0, 1345893.092 1124489.669 0, 1346158.233 1124510.035 0, 1346423.372 1124530.417 0, 1346688.511 1124550.815 0,
+ 1346953.649 1124571.228 0, 1347218.785 1124591.657 0, 1347483.92 1124612.101 0, 1347749.054 1124632.561 0, 1348014.186 1124653.037 0, 1348279.318 1124673.528 0, 1348544.448 1124694.035 0, 1348809.577 1124714.558 0, 1349074.705 1124735.096 0, 1349339.831 1124755.649 0,
+ 1349604.957 1124776.219 0, 1349870.081 1124796.803 0, 1350135.204 1124817.404 0, 1350400.326 1124838.02 0, 1350664.22 1124858.556 0, 1350930.566 1124879.299 0, 1351195.684 1124899.962 0, 1351460.801 1124920.64 0, 1351725.916 1124941.334 0, 1351991.031 1124962.044 0,
+ 1352256.144 1124982.769 0, 1352521.256 1125003.51 0, 1352786.367 1125024.267 0, 1353051.476 1125045.039 0, 1353316.585 1125065.826 0, 1353581.692 1125086.63 0, 1353846.798 1125107.449 0, 1354111.903 1125128.283 0, 1354377.006 1125149.133 0, 1354642.108 1125169.999 0,
+ 1354907.209 1125190.88 0, 1355172.309 1125211.777 0, 1355437.408 1125232.69 0, 1355702.505 1125253.618 0, 1355967.601 1125274.562 0, 1356232.696 1125295.521 0, 1356497.789 1125316.496 0, 1356762.882 1125337.487 0, 1357026.747 1125358.396 0, 1357467.793 1119794.602 0,
+ 1357908.837 1114230.813 0))
+
+POLYGON ((1369749.653 1126385.035 0, 1369485.845 1126363.381 0, 1369220.813 1126341.641 0, 1368955.78 1126319.917 0, 1368690.745 1126298.209 0, 1368425.71 1126276.517 0, 1368160.672 1126254.84 0, 1367895.634 1126233.178 0, 1367630.594 1126211.532 0, 1367365.553 1126189.902 0,
+ 1367100.511 1126168.288 0, 1366835.468 1126146.689 0, 1366570.423 1126125.105 0, 1366305.377 1126103.537 0, 1366040.33 1126081.985 0, 1365775.281 1126060.449 0, 1365510.231 1126038.928 0, 1365245.18 1126017.422 0, 1364980.128 1125995.932 0, 1364715.074 1125974.458 0,
+ 1364450.019 1125953 0, 1364184.963 1125931.557 0, 1363919.906 1125910.129 0, 1363654.847 1125888.717 0, 1363388.563 1125867.222 0, 1363124.726 1125845.941 0, 1362859.663 1125824.576 0, 1362594.6 1125803.226 0, 1362329.535 1125781.892 0, 1362064.468 1125760.574 0,
+ 1361799.401 1125739.272 0, 1361534.332 1125717.985 0, 1361269.262 1125696.713 0, 1361004.191 1125675.457 0, 1360739.119 1125654.217 0, 1360474.045 1125632.993 0, 1360208.97 1125611.784 0, 1359943.894 1125590.59 0, 1359678.816 1125569.412 0, 1359413.737 1125548.25 0,
+ 1359148.657 1125527.104 0, 1358883.576 1125505.973 0, 1358618.494 1125484.857 0, 1358353.41 1125463.758 0, 1358088.325 1125442.673 0, 1357823.239 1125421.605 0, 1357558.151 1125400.552 0, 1357293.063 1125379.515 0, 1357026.747 1125358.396 0, 1356585.702 1130922.19 0,
+ 1356144.657 1136485.98 0, 1356410.315 1136507.047 0, 1356674.748 1136528.032 0, 1356939.181 1136549.033 0, 1357203.612 1136570.049 0, 1357468.042 1136591.082 0, 1357732.471 1136612.129 0, 1357996.898 1136633.192 0, 1358261.325 1136654.271 0, 1358525.75 1136675.365 0,
+ 1358790.173 1136696.475 0, 1359054.596 1136717.601 0, 1359319.017 1136738.742 0, 1359583.437 1136759.898 0, 1359847.856 1136781.071 0, 1360112.274 1136802.258 0, 1360376.69 1136823.462 0, 1360641.105 1136844.68 0, 1360905.519 1136865.915 0, 1361169.932 1136887.165 0,
+ 1361434.343 1136908.43 0, 1361698.753 1136929.711 0, 1361963.162 1136951.008 0, 1362227.57 1136972.32 0, 1362490.754 1136993.549 0, 1362756.381 1137014.991 0, 1363020.785 1137036.35 0, 1363285.187 1137057.725 0, 1363549.589 1137079.115 0, 1363813.989 1137100.52 0,
+ 1364078.387 1137121.941 0, 1364342.785 1137143.378 0, 1364607.181 1137164.83 0, 1364871.576 1137186.298 0, 1365135.97 1137207.782 0, 1365400.362 1137229.281 0, 1365664.754 1137250.795 0, 1365929.143 1137272.325 0, 1366193.532 1137293.871 0, 1366457.92 1137315.432 0,
+ 1366722.306 1137337.009 0, 1366986.691 1137358.601 0, 1367251.074 1137380.209 0, 1367515.456 1137401.833 0, 1367779.837 1137423.472 0, 1368044.217 1137445.126 0, 1368308.596 1137466.796 0, 1368572.973 1137488.482 0, 1368836.129 1137510.083 0, 1369292.89 1131947.561 0,
+ 1369749.653 1126385.035 0))
+
+POLYGON ((1381524.656 1138570.038 0, 1381261.561 1138547.693 0, 1380997.246 1138525.261 0, 1380732.929 1138502.844 0, 1380468.612 1138480.442 0, 1380204.293 1138458.056 0, 1379939.973 1138435.686 0, 1379675.651 1138413.331 0, 1379411.329 1138390.992 0, 1379147.005 1138368.669 0,
+ 1378882.679 1138346.361 0, 1378618.352 1138324.068 0, 1378354.024 1138301.791 0, 1378089.695 1138279.53 0, 1377825.364 1138257.284 0, 1377561.032 1138235.054 0, 1377296.699 1138212.839 0, 1377032.364 1138190.64 0, 1376768.029 1138168.456 0, 1376503.691 1138146.288 0,
+ 1376239.353 1138124.136 0, 1375975.013 1138101.999 0, 1375710.672 1138079.877 0, 1375446.33 1138057.772 0, 1375180.767 1138035.579 0, 1374917.641 1138013.607 0, 1374653.294 1137991.547 0, 1374388.947 1137969.504 0, 1374124.598 1137947.476 0, 1373860.248 1137925.463 0,
+ 1373595.896 1137903.467 0, 1373331.543 1137881.485 0, 1373067.189 1137859.519 0, 1372802.834 1137837.569 0, 1372538.477 1137815.635 0, 1372274.119 1137793.715 0, 1372009.76 1137771.812 0, 1371745.4 1137749.924 0, 1371481.038 1137728.052 0, 1371216.675 1137706.195 0,
+ 1370952.31 1137684.353 0, 1370687.945 1137662.528 0, 1370423.578 1137640.717 0, 1370159.209 1137618.923 0, 1369894.84 1137597.144 0, 1369630.469 1137575.38 0, 1369366.097 1137553.632 0, 1369101.723 1137531.9 0, 1368836.129 1137510.083 0, 1368379.367 1143072.596 0,
+ 1367922.607 1148635.097 0, 1368187.544 1148656.86 0, 1368451.263 1148678.538 0, 1368714.98 1148700.232 0, 1368978.696 1148721.942 0, 1369242.411 1148743.667 0, 1369506.124 1148765.408 0, 1369769.837 1148787.164 0, 1370033.548 1148808.935 0, 1370297.257 1148830.723 0,
+ 1370560.966 1148852.525 0, 1370824.673 1148874.344 0, 1371088.378 1148896.177 0, 1371352.083 1148918.027 0, 1371615.786 1148939.891 0, 1371879.488 1148961.772 0, 1372143.189 1148983.668 0, 1372406.888 1149005.579 0, 1372670.586 1149027.506 0, 1372934.283 1149049.448 0,
+ 1373197.978 1149071.406 0, 1373461.672 1149093.38 0, 1373725.365 1149115.369 0, 1373989.057 1149137.373 0, 1374251.531 1149159.292 0, 1374516.436 1149181.429 0, 1374780.124 1149203.48 0, 1375043.81 1149225.546 0, 1375307.495 1149247.628 0, 1375571.179 1149269.726 0,
+ 1375834.862 1149291.839 0, 1376098.543 1149313.968 0, 1376362.223 1149336.112 0, 1376625.901 1149358.272 0, 1376889.579 1149380.447 0, 1377153.255 1149402.638 0, 1377416.929 1149424.844 0, 1377680.603 1149447.066 0, 1377944.275 1149469.303 0, 1378207.946 1149491.556 0,
+ 1378471.615 1149513.824 0, 1378735.283 1149536.108 0, 1378998.95 1149558.407 0, 1379262.615 1149580.722 0, 1379526.28 1149603.053 0, 1379789.942 1149625.398 0, 1380053.604 1149647.76 0, 1380317.264 1149670.137 0, 1380579.708 1149692.426 0, 1381052.182 1144131.238 0,
+ 1381524.656 1138570.038 0))
+
+POLYGON ((802824.636 646712.874 0, 802532.825 646724.431 0, 802239.563 646736.062 0, 801946.302 646747.71 0, 801653.042 646759.376 0, 801359.782 646771.059 0, 801066.523 646782.759 0, 800773.265 646794.477 0, 800480.008 646806.211 0, 800186.751 646817.963 0,
+ 799893.495 646829.732 0, 799600.239 646841.519 0, 799306.985 646853.323 0, 799013.731 646865.144 0, 798720.477 646876.982 0, 798427.225 646888.838 0, 798133.973 646900.71 0, 797840.721 646912.6 0, 797547.471 646924.508 0, 797254.221 646936.432 0,
+ 796960.972 646948.374 0, 796667.723 646960.333 0, 796374.476 646972.31 0, 796081.229 646984.303 0, 795786.531 646996.374 0, 795494.737 647008.342 0, 795201.492 647020.388 0, 794908.248 647032.45 0, 794615.004 647044.53 0, 794321.761 647056.627 0,
+ 794028.519 647068.742 0, 793735.278 647080.874 0, 793442.037 647093.023 0, 793148.797 647105.189 0, 792855.558 647117.372 0, 792562.32 647129.573 0, 792269.082 647141.791 0, 791975.845 647154.026 0, 791682.609 647166.279 0, 791389.373 647178.549 0,
+ 791096.138 647190.836 0, 790802.904 647203.14 0, 790509.671 647215.461 0, 790216.438 647227.8 0, 789923.206 647240.156 0, 789629.975 647252.53 0, 789336.744 647264.92 0, 789043.514 647277.328 0, 788748.833 647289.815 0, 788984.687 652852.008 0,
+ 789220.555 658414.521 0, 789514.579 658402.062 0, 789807.154 658389.682 0, 790099.73 658377.319 0, 790392.306 658364.973 0, 790684.883 658352.645 0, 790977.461 658340.333 0, 791270.04 658328.039 0, 791562.619 658315.763 0, 791855.199 658303.503 0,
+ 792147.78 658291.261 0, 792440.362 658279.035 0, 792732.944 658266.827 0, 793025.527 658254.637 0, 793318.111 658242.463 0, 793610.695 658230.307 0, 793903.28 658218.168 0, 794195.866 658206.046 0, 794488.453 658193.941 0, 794781.04 658181.854 0,
+ 795073.628 658169.784 0, 795366.216 658157.731 0, 795658.806 658145.695 0, 795951.396 658133.677 0, 796242.538 658121.735 0, 796536.578 658109.691 0, 796829.17 658097.725 0, 797121.763 658085.775 0, 797414.357 658073.843 0, 797706.951 658061.927 0,
+ 797999.546 658050.029 0, 798292.142 658038.149 0, 798584.738 658026.285 0, 798877.335 658014.439 0, 799169.933 658002.61 0, 799462.532 657990.798 0, 799755.131 657979.003 0, 800047.731 657967.226 0, 800340.331 657955.466 0, 800632.933 657943.723 0,
+ 800925.535 657931.997 0, 801218.137 657920.289 0, 801510.741 657908.597 0, 801803.345 657896.923 0, 802095.949 657885.266 0, 802388.555 657873.627 0, 802681.161 657862.004 0, 802973.768 657850.399 0, 803264.928 657838.868 0, 803044.776 652275.712 0,
+ 802824.636 646712.874 0))
+
+POLYGON ((860400.813 689331.35 0, 860111.489 689339.535 0, 859820.735 689347.777 0, 859529.982 689356.036 0, 859239.23 689364.312 0, 858948.478 689372.606 0, 858657.726 689380.916 0, 858366.975 689389.244 0, 858076.224 689397.589 0, 857785.474 689405.951 0,
+ 857494.725 689414.33 0, 857203.976 689422.726 0, 856913.227 689431.139 0, 856622.479 689439.57 0, 856331.731 689448.017 0, 856040.984 689456.482 0, 855750.238 689464.963 0, 855459.492 689473.462 0, 855168.746 689481.978 0, 854878.001 689490.511 0,
+ 854587.256 689499.061 0, 854296.512 689507.628 0, 854005.769 689516.213 0, 853715.026 689524.814 0, 853422.853 689533.475 0, 853133.541 689542.069 0, 852842.799 689550.721 0, 852552.058 689559.391 0, 852261.318 689568.078 0, 851970.578 689576.783 0,
+ 851679.838 689585.504 0, 851389.099 689594.242 0, 851098.361 689602.998 0, 850807.623 689611.77 0, 850516.885 689620.56 0, 850226.149 689629.367 0, 849935.412 689638.191 0, 849644.676 689647.032 0, 849353.941 689655.89 0, 849063.206 689664.765 0,
+ 848772.472 689673.658 0, 848481.738 689682.567 0, 848191.005 689691.494 0, 847900.272 689700.438 0, 847609.54 689709.399 0, 847318.808 689718.376 0, 847028.077 689727.372 0, 846737.346 689736.384 0, 846445.185 689745.457 0, 846618.245 695312.419 0,
+ 846791.315 700879.673 0, 847082.817 700870.62 0, 847372.893 700861.628 0, 847662.969 700852.654 0, 847953.045 700843.696 0, 848243.122 700834.755 0, 848533.199 700825.832 0, 848823.277 700816.925 0, 849113.356 700808.036 0, 849403.435 700799.163 0,
+ 849693.514 700790.308 0, 849983.594 700781.47 0, 850273.675 700772.649 0, 850563.756 700763.845 0, 850853.837 700755.058 0, 851143.919 700746.288 0, 851434.002 700737.535 0, 851724.085 700728.799 0, 852014.169 700720.08 0, 852304.253 700711.379 0,
+ 852594.338 700702.694 0, 852884.423 700694.027 0, 853174.508 700685.376 0, 853464.595 700676.743 0, 853753.254 700668.169 0, 854044.768 700659.528 0, 854334.856 700650.946 0, 854624.944 700642.381 0, 854915.033 700633.833 0, 855205.122 700625.302 0,
+ 855495.212 700616.788 0, 855785.302 700608.291 0, 856075.393 700599.812 0, 856365.484 700591.349 0, 856655.576 700582.903 0, 856945.668 700574.475 0, 857235.761 700566.064 0, 857525.854 700557.669 0, 857815.948 700549.292 0, 858106.042 700540.932 0,
+ 858396.137 700532.589 0, 858686.232 700524.263 0, 858976.327 700515.954 0, 859266.424 700507.662 0, 859556.52 700499.388 0, 859846.617 700491.13 0, 860136.715 700482.889 0, 860426.813 700474.666 0, 860715.486 700466.5 0, 860558.145 694898.779 0,
+ 860400.813 689331.35 0))
+
+POLYGON ((874640.769 700092.665 0, 874352.072 700100.016 0, 874061.952 700107.42 0, 873771.832 700114.841 0, 873481.713 700122.279 0, 873191.594 700129.734 0, 872901.475 700137.207 0, 872611.357 700144.696 0, 872321.24 700152.202 0, 872031.123 700159.726 0,
+ 871741.006 700167.266 0, 871450.89 700174.824 0, 871160.774 700182.398 0, 870870.659 700189.99 0, 870580.544 700197.599 0, 870290.429 700205.225 0, 870000.315 700212.868 0, 869710.202 700220.528 0, 869420.089 700228.205 0, 869129.976 700235.899 0,
+ 868839.864 700243.611 0, 868549.752 700251.339 0, 868259.641 700259.084 0, 867969.53 700266.847 0, 867677.995 700274.665 0, 867389.31 700282.423 0, 867099.201 700290.237 0, 866809.092 700298.068 0, 866518.983 700305.916 0, 866228.875 700313.781 0,
+ 865938.768 700321.663 0, 865648.66 700329.562 0, 865358.554 700337.478 0, 865068.448 700345.411 0, 864778.342 700353.362 0, 864488.237 700361.329 0, 864198.132 700369.313 0, 863908.028 700377.315 0, 863617.924 700385.334 0, 863327.82 700393.369 0,
+ 863037.718 700401.422 0, 862747.615 700409.492 0, 862457.513 700417.579 0, 862167.412 700425.683 0, 861877.311 700433.804 0, 861587.21 700441.942 0, 861297.11 700450.098 0, 861007.011 700458.27 0, 860715.486 700466.5 0, 860872.834 706034.509 0,
+ 861030.191 711602.804 0, 861321.057 711594.593 0, 861610.501 711586.439 0, 861899.946 711578.302 0, 862189.391 711570.182 0, 862478.836 711562.079 0, 862768.282 711553.994 0, 863057.729 711545.925 0, 863347.176 711537.873 0, 863636.623 711529.839 0,
+ 863926.071 711521.821 0, 864215.519 711513.821 0, 864504.968 711505.837 0, 864794.417 711497.871 0, 865083.867 711489.921 0, 865373.317 711481.989 0, 865662.768 711474.074 0, 865952.219 711466.175 0, 866241.671 711458.294 0, 866531.123 711450.43 0,
+ 866820.576 711442.583 0, 867110.029 711434.752 0, 867399.482 711426.939 0, 867688.936 711419.143 0, 867976.969 711411.402 0, 868267.845 711403.602 0, 868557.3 711395.857 0, 868846.756 711388.129 0, 869136.212 711380.418 0, 869425.669 711372.725 0,
+ 869715.126 711365.048 0, 870004.584 711357.388 0, 870294.042 711349.745 0, 870583.5 711342.119 0, 870872.959 711334.511 0, 871162.419 711326.919 0, 871451.878 711319.345 0, 871741.339 711311.787 0, 872030.799 711304.246 0, 872320.261 711296.723 0,
+ 872609.722 711289.216 0, 872899.184 711281.727 0, 873188.647 711274.255 0, 873478.11 711266.799 0, 873767.573 711259.361 0, 874057.037 711251.94 0, 874346.501 711244.536 0, 874635.966 711237.148 0, 874924.01 711229.814 0, 874782.386 705661.097 0,
+ 874640.769 700092.665 0))
+
+POLYGON ((888818.828 710896.079 0, 888530.762 710902.599 0, 888241.277 710909.169 0, 887951.793 710915.755 0, 887662.31 710922.358 0, 887372.826 710928.979 0, 887083.344 710935.616 0, 886793.861 710942.271 0, 886504.379 710948.943 0, 886214.898 710955.631 0,
+ 885925.416 710962.337 0, 885635.935 710969.06 0, 885346.455 710975.799 0, 885056.975 710982.556 0, 884767.495 710989.33 0, 884478.016 710996.121 0, 884188.537 711002.929 0, 883899.059 711009.754 0, 883609.581 711016.596 0, 883320.103 711023.455 0,
+ 883030.626 711030.331 0, 882741.149 711037.224 0, 882451.672 711044.134 0, 882162.196 711051.061 0, 881871.301 711058.04 0, 881583.246 711064.967 0, 881293.771 711071.945 0, 881004.296 711078.94 0, 880714.822 711085.953 0, 880425.349 711092.982 0,
+ 880135.876 711100.029 0, 879846.403 711107.092 0, 879556.931 711114.173 0, 879267.459 711121.27 0, 878977.987 711128.385 0, 878688.516 711135.516 0, 878399.045 711142.665 0, 878109.575 711149.831 0, 877820.105 711157.014 0, 877530.636 711164.213 0,
+ 877241.167 711171.43 0, 876951.698 711178.664 0, 876662.23 711185.915 0, 876372.763 711193.183 0, 876083.295 711200.468 0, 875793.829 711207.77 0, 875504.362 711215.089 0, 875214.896 711222.425 0, 874924.01 711229.814 0, 875065.642 716798.813 0,
+ 875207.28 722368.09 0, 875497.508 722360.718 0, 875786.318 722353.398 0, 876075.129 722346.096 0, 876363.94 722338.81 0, 876652.752 722331.542 0, 876941.564 722324.291 0, 877230.376 722317.056 0, 877519.189 722309.839 0, 877808.003 722302.638 0,
+ 878096.817 722295.455 0, 878385.631 722288.288 0, 878674.445 722281.139 0, 878963.261 722274.006 0, 879252.076 722266.891 0, 879540.892 722259.792 0, 879829.708 722252.711 0, 880118.525 722245.646 0, 880407.342 722238.599 0, 880696.16 722231.568 0,
+ 880984.978 722224.555 0, 881273.796 722217.558 0, 881562.615 722210.579 0, 881851.434 722203.616 0, 882138.837 722196.705 0, 882429.074 722189.742 0, 882717.894 722182.831 0, 883006.715 722175.936 0, 883295.536 722169.059 0, 883584.358 722162.198 0,
+ 883873.18 722155.355 0, 884162.002 722148.528 0, 884450.825 722141.719 0, 884739.648 722134.926 0, 885028.472 722128.151 0, 885317.296 722121.392 0, 885606.121 722114.651 0, 885894.945 722107.926 0, 886183.771 722101.219 0, 886472.596 722094.528 0,
+ 886761.422 722087.855 0, 887050.249 722081.198 0, 887339.076 722074.559 0, 887627.903 722067.936 0, 887916.73 722061.331 0, 888205.558 722054.742 0, 888494.387 722048.171 0, 888783.216 722041.616 0, 889070.629 722035.111 0, 888944.726 716465.456 0,
+ 888818.828 710896.079 0))
+
+POLYGON ((902934.864 721741.299 0, 902647.431 721746.993 0, 902358.584 721752.731 0, 902069.739 721758.487 0, 901780.893 721764.259 0, 901492.048 721770.049 0, 901203.203 721775.855 0, 900914.359 721781.679 0, 900625.515 721787.519 0, 900336.671 721793.377 0,
+ 900047.828 721799.251 0, 899758.985 721805.143 0, 899470.142 721811.051 0, 899181.3 721816.977 0, 898892.458 721822.919 0, 898603.616 721828.879 0, 898314.775 721834.855 0, 898025.934 721840.849 0, 897737.093 721846.859 0, 897448.253 721852.886 0,
+ 897159.413 721858.931 0, 896870.574 721864.992 0, 896581.734 721871.071 0, 896292.896 721877.166 0, 896002.643 721883.309 0, 895715.219 721889.408 0, 895426.381 721895.555 0, 895137.544 721901.718 0, 894848.707 721907.899 0, 894559.87 721914.096 0,
+ 894271.034 721920.311 0, 893982.198 721926.542 0, 893693.363 721932.791 0, 893404.527 721939.056 0, 893115.693 721945.339 0, 892826.858 721951.638 0, 892538.024 721957.955 0, 892249.19 721964.288 0, 891960.357 721970.639 0, 891671.524 721977.006 0,
+ 891382.692 721983.391 0, 891093.859 721989.792 0, 890805.028 721996.211 0, 890516.196 722002.646 0, 890227.365 722009.099 0, 889938.534 722015.568 0, 889649.704 722022.055 0, 889360.874 722028.558 0, 889070.629 722035.111 0, 889196.54 727605.041 0,
+ 889322.456 733175.243 0, 889612.042 733168.705 0, 889900.216 733162.216 0, 890188.39 733155.744 0, 890476.565 733149.29 0, 890764.741 733142.852 0, 891052.917 733136.431 0, 891341.093 733130.027 0, 891629.269 733123.64 0, 891917.446 733117.27 0,
+ 892205.623 733110.917 0, 892493.801 733104.581 0, 892781.979 733098.262 0, 893070.157 733091.96 0, 893358.336 733085.674 0, 893646.515 733079.406 0, 893934.695 733073.155 0, 894222.874 733066.921 0, 894511.055 733060.703 0, 894799.235 733054.503 0,
+ 895087.416 733048.319 0, 895375.597 733042.153 0, 895663.779 733036.003 0, 895951.961 733029.871 0, 896238.733 733023.785 0, 896528.326 733017.657 0, 896816.509 733011.575 0, 897104.693 733005.51 0, 897392.877 732999.463 0, 897681.061 732993.432 0,
+ 897969.245 732987.418 0, 898257.43 732981.421 0, 898545.615 732975.441 0, 898833.801 732969.478 0, 899121.987 732963.532 0, 899410.173 732957.603 0, 899698.36 732951.691 0, 899986.547 732945.796 0, 900274.734 732939.918 0, 900562.922 732934.057 0,
+ 900851.11 732928.213 0, 901139.298 732922.386 0, 901427.487 732916.575 0, 901715.676 732910.782 0, 902003.865 732905.006 0, 902292.055 732899.246 0, 902580.245 732893.504 0, 902868.435 732887.778 0, 903155.216 732882.098 0, 903045.037 727311.563 0,
+ 902934.864 721741.299 0))
+
+POLYGON ((916988.75 732628.034 0, 916701.952 732632.905 0, 916413.746 732637.816 0, 916125.541 732642.744 0, 915837.336 732647.689 0, 915549.132 732652.652 0, 915260.928 732657.631 0, 914972.724 732662.627 0, 914684.52 732667.64 0, 914396.317 732672.67 0,
+ 914108.114 732677.717 0, 913819.911 732682.781 0, 913531.708 732687.861 0, 913243.506 732692.959 0, 912955.304 732698.074 0, 912667.103 732703.206 0, 912378.901 732708.355 0, 912090.7 732713.52 0, 911802.5 732718.703 0, 911514.299 732723.902 0,
+ 911226.099 732729.119 0, 910937.9 732734.353 0, 910649.7 732739.603 0, 910361.501 732744.871 0, 910071.893 732750.181 0, 909785.104 732755.456 0, 909496.905 732760.775 0, 909208.708 732766.11 0, 908920.51 732771.462 0, 908632.313 732776.832 0,
+ 908344.116 732782.218 0, 908055.919 732787.621 0, 907767.723 732793.041 0, 907479.527 732798.478 0, 907191.331 732803.932 0, 906903.136 732809.403 0, 906614.941 732814.891 0, 906326.746 732820.396 0, 906038.552 732825.918 0, 905750.358 732831.457 0,
+ 905462.164 732837.013 0, 905173.971 732842.585 0, 904885.778 732848.175 0, 904597.585 732853.782 0, 904309.393 732859.406 0, 904021.2 732865.046 0, 903733.009 732870.704 0, 903444.817 732876.378 0, 903155.216 732882.098 0, 903265.401 738452.901 0,
+ 903375.59 744023.968 0, 903664.532 744018.262 0, 903952.068 744012.6 0, 904239.604 744006.956 0, 904527.14 744001.328 0, 904814.676 743995.717 0, 905102.213 743990.123 0, 905389.751 743984.546 0, 905677.288 743978.986 0, 905964.826 743973.443 0,
+ 906252.364 743967.916 0, 906539.903 743962.407 0, 906827.442 743956.915 0, 907114.981 743951.439 0, 907402.521 743945.981 0, 907690.06 743940.539 0, 907977.601 743935.114 0, 908265.141 743929.706 0, 908552.682 743924.316 0, 908840.223 743918.942 0,
+ 909127.765 743913.585 0, 909415.306 743908.245 0, 909702.848 743902.921 0, 909990.391 743897.615 0, 910276.528 743892.352 0, 910565.477 743887.053 0, 910853.02 743881.798 0, 911140.563 743876.559 0, 911428.107 743871.338 0, 911715.652 743866.133 0,
+ 912003.196 743860.945 0, 912290.741 743855.774 0, 912578.286 743850.62 0, 912865.832 743845.483 0, 913153.377 743840.363 0, 913440.924 743835.26 0, 913728.47 743830.174 0, 914016.017 743825.105 0, 914303.564 743820.052 0, 914591.111 743815.017 0,
+ 914878.658 743809.998 0, 915166.206 743804.997 0, 915453.754 743800.012 0, 915741.303 743795.044 0, 916028.852 743790.093 0, 916316.401 743785.159 0, 916603.95 743780.242 0, 916891.499 743775.342 0, 917177.645 743770.483 0, 917083.195 738199.126 0,
+ 916988.75 732628.034 0))
+
+POLYGON ((930980.361 743555.992 0, 930694.201 743560.043 0, 930406.638 743564.131 0, 930119.076 743568.235 0, 929831.514 743572.357 0, 929543.953 743576.495 0, 929256.391 743580.651 0, 928968.83 743584.823 0, 928681.27 743589.012 0, 928393.709 743593.218 0,
+ 928106.149 743597.441 0, 927818.589 743601.681 0, 927531.029 743605.938 0, 927243.469 743610.212 0, 926955.91 743614.503 0, 926668.351 743618.811 0, 926380.792 743623.135 0, 926093.233 743627.477 0, 925805.675 743631.835 0, 925518.117 743636.211 0,
+ 925230.559 743640.603 0, 924943.002 743645.012 0, 924655.444 743649.438 0, 924367.887 743653.881 0, 924078.927 743658.363 0, 923792.774 743662.818 0, 923505.218 743667.312 0, 923217.662 743671.823 0, 922930.106 743676.351 0, 922642.551 743680.895 0,
+ 922354.995 743685.457 0, 922067.441 743690.035 0, 921779.886 743694.631 0, 921492.332 743699.243 0, 921204.777 743703.872 0, 920917.224 743708.519 0, 920629.67 743713.182 0, 920342.117 743717.862 0, 920054.564 743722.559 0, 919767.011 743727.273 0,
+ 919479.459 743732.003 0, 919191.907 743736.751 0, 918904.355 743741.516 0, 918616.803 743746.297 0, 918329.252 743751.096 0, 918041.701 743755.911 0, 917754.15 743760.744 0, 917466.6 743765.593 0, 917177.645 743770.483 0, 917272.099 749342.101 0,
+ 917366.557 754913.976 0, 917654.853 754909.097 0, 917941.748 754904.259 0, 918228.643 754899.437 0, 918515.538 754894.633 0, 918802.433 754889.845 0, 919089.329 754885.075 0, 919376.225 754880.321 0, 919663.121 754875.584 0, 919950.018 754870.864 0,
+ 920236.914 754866.161 0, 920523.812 754861.474 0, 920810.709 754856.805 0, 921097.607 754852.153 0, 921384.505 754847.517 0, 921671.403 754842.898 0, 921958.301 754838.296 0, 922245.2 754833.712 0, 922532.099 754829.144 0, 922818.998 754824.592 0,
+ 923105.898 754820.058 0, 923392.798 754815.541 0, 923679.698 754811.04 0, 923966.598 754806.557 0, 924252.098 754802.112 0, 924540.399 754797.64 0, 924827.301 754793.207 0, 925114.202 754788.791 0, 925401.104 754784.392 0, 925688.005 754780.009 0,
+ 925974.908 754775.644 0, 926261.81 754771.296 0, 926548.713 754766.964 0, 926835.616 754762.649 0, 927122.519 754758.351 0, 927409.422 754754.07 0, 927696.326 754749.806 0, 927983.23 754745.559 0, 928270.134 754741.329 0, 928557.039 754737.115 0,
+ 928843.943 754732.919 0, 929130.848 754728.739 0, 929417.753 754724.576 0, 929704.659 754720.43 0, 929991.564 754716.301 0, 930278.47 754712.189 0, 930565.376 754708.094 0, 930852.283 754704.016 0, 931137.79 754699.974 0, 931059.074 749127.854 0,
+ 930980.361 743555.992 0))
+
+POLYGON ((944909.573 754524.879 0, 944624.053 754528.114 0, 944337.136 754531.382 0, 944050.219 754534.667 0, 943763.303 754537.968 0, 943476.387 754541.287 0, 943189.471 754544.622 0, 942902.555 754547.974 0, 942615.639 754551.343 0, 942328.724 754554.729 0,
+ 942041.809 754558.132 0, 941754.894 754561.552 0, 941467.979 754564.989 0, 941181.064 754568.442 0, 940894.15 754571.912 0, 940607.236 754575.4 0, 940320.322 754578.904 0, 940033.408 754582.425 0, 939746.495 754585.963 0, 939459.581 754589.518 0,
+ 939172.668 754593.09 0, 938885.755 754596.678 0, 938598.843 754600.284 0, 938311.93 754603.906 0, 938023.62 754607.563 0, 937738.106 754611.202 0, 937451.194 754614.875 0, 937164.282 754618.565 0, 936877.371 754622.271 0, 936590.459 754625.995 0,
+ 936303.549 754629.736 0, 936016.638 754633.493 0, 935729.727 754637.268 0, 935442.817 754641.059 0, 935155.907 754644.867 0, 934868.997 754648.692 0, 934582.087 754652.534 0, 934295.178 754656.393 0, 934008.269 754660.268 0, 933721.36 754664.161 0,
+ 933434.451 754668.071 0, 933147.542 754671.997 0, 932860.634 754675.94 0, 932573.726 754679.9 0, 932286.818 754683.877 0, 931999.911 754687.871 0, 931713.003 754691.882 0, 931426.096 754695.91 0, 931137.79 754699.974 0, 931216.51 760272.348 0,
+ 931295.234 765844.972 0, 931582.881 765840.917 0, 931869.132 765836.898 0, 932155.383 765832.897 0, 932441.635 765828.912 0, 932727.887 765824.944 0, 933014.139 765820.993 0, 933300.391 765817.058 0, 933586.644 765813.141 0, 933872.897 765809.241 0,
+ 934159.15 765805.357 0, 934445.403 765801.49 0, 934731.656 765797.64 0, 935017.91 765793.807 0, 935304.164 765789.991 0, 935590.418 765786.191 0, 935876.672 765782.409 0, 936162.927 765778.643 0, 936449.182 765774.894 0, 936735.437 765771.162 0,
+ 937021.692 765767.447 0, 937307.947 765763.748 0, 937594.203 765760.067 0, 937880.459 765756.402 0, 938165.32 765752.772 0, 938452.971 765749.123 0, 938739.228 765745.509 0, 939025.484 765741.912 0, 939311.741 765738.332 0, 939597.999 765734.768 0,
+ 939884.256 765731.221 0, 940170.513 765727.691 0, 940456.771 765724.178 0, 940743.029 765720.682 0, 941029.287 765717.203 0, 941315.546 765713.74 0, 941601.804 765710.295 0, 941888.063 765706.866 0, 942174.322 765703.454 0, 942460.581 765700.059 0,
+ 942746.841 765696.681 0, 943033.1 765693.319 0, 943319.36 765689.975 0, 943605.62 765686.647 0, 943891.88 765683.336 0, 944178.141 765680.042 0, 944464.401 765676.765 0, 944750.662 765673.505 0, 945035.529 765670.277 0, 944972.55 760097.453 0,
+ 944909.573 754524.879 0))
+
+POLYGON ((958776.263 765534.402 0, 958491.386 765536.825 0, 958205.117 765539.277 0, 957918.848 765541.745 0, 957632.58 765544.231 0, 957346.311 765546.733 0, 957060.043 765549.252 0, 956773.775 765551.787 0, 956487.507 765554.34 0, 956201.239 765556.909 0,
+ 955914.972 765559.496 0, 955628.704 765562.099 0, 955342.437 765564.719 0, 955056.169 765567.356 0, 954769.902 765570.01 0, 954483.636 765572.68 0, 954197.369 765575.368 0, 953911.102 765578.072 0, 953624.836 765580.793 0, 953338.57 765583.531 0,
+ 953052.304 765586.286 0, 952766.038 765589.057 0, 952479.772 765591.846 0, 952193.506 765594.651 0, 951905.848 765597.487 0, 951620.976 765600.313 0, 951334.711 765603.169 0, 951048.446 765606.041 0, 950762.181 765608.931 0, 950475.916 765611.837 0,
+ 950189.652 765614.761 0, 949903.388 765617.701 0, 949617.124 765620.658 0, 949330.86 765623.632 0, 949044.596 765626.622 0, 948758.332 765629.63 0, 948472.069 765632.654 0, 948185.806 765635.696 0, 947899.543 765638.754 0, 947613.28 765641.829 0,
+ 947327.018 765644.921 0, 947040.755 765648.029 0, 946754.493 765651.155 0, 946468.231 765654.297 0, 946181.969 765657.456 0, 945895.707 765660.632 0, 945609.446 765663.825 0, 945323.184 765667.035 0, 945035.529 765670.277 0, 945098.512 771243.348 0,
+ 945161.497 776816.663 0, 945448.493 776813.428 0, 945734.098 776810.225 0, 946019.703 776807.04 0, 946305.309 776803.871 0, 946590.915 776800.719 0, 946876.521 776797.584 0, 947162.127 776794.466 0, 947447.734 776791.364 0, 947733.34 776788.279 0,
+ 948018.947 776785.211 0, 948304.554 776782.16 0, 948590.161 776779.126 0, 948875.768 776776.109 0, 949161.376 776773.108 0, 949446.983 776770.124 0, 949732.591 776767.157 0, 950018.199 776764.207 0, 950303.807 776761.273 0, 950589.416 776758.357 0,
+ 950875.024 776755.457 0, 951160.633 776752.574 0, 951446.242 776749.708 0, 951731.851 776746.858 0, 952016.071 776744.04 0, 952303.069 776741.21 0, 952588.679 776738.411 0, 952874.289 776735.629 0, 953159.898 776732.864 0, 953445.509 776730.115 0,
+ 953731.119 776727.383 0, 954016.729 776724.669 0, 954302.34 776721.97 0, 954587.95 776719.289 0, 954873.561 776716.625 0, 955159.172 776713.977 0, 955444.783 776711.346 0, 955730.394 776708.732 0, 956016.006 776706.135 0, 956301.617 776703.555 0,
+ 956587.229 776700.991 0, 956872.841 776698.444 0, 957158.453 776695.914 0, 957444.065 776693.401 0, 957729.677 776690.905 0, 958015.29 776688.425 0, 958300.903 776685.962 0, 958586.515 776683.517 0, 958870.74 776681.099 0, 958823.5 771107.629 0,
+ 958776.263 765534.402 0))
+
+POLYGON ((972580.311 776584.267 0, 972296.078 776585.882 0, 972010.46 776587.521 0, 971724.842 776589.177 0, 971439.223 776590.849 0, 971153.605 776592.539 0, 970867.987 776594.245 0, 970582.369 776595.968 0, 970296.751 776597.708 0, 970011.133 776599.465 0,
+ 969725.515 776601.238 0, 969439.898 776603.028 0, 969154.28 776604.835 0, 968868.663 776606.659 0, 968583.045 776608.5 0, 968297.428 776610.358 0, 968011.811 776612.232 0, 967726.194 776614.123 0, 967440.577 776616.031 0, 967154.961 776617.956 0,
+ 966869.344 776619.898 0, 966583.727 776621.856 0, 966298.111 776623.831 0, 966012.495 776625.823 0, 965725.491 776627.842 0, 965441.262 776629.858 0, 965155.646 776631.9 0, 964870.031 776633.959 0, 964584.415 776636.036 0, 964298.799 776638.128 0,
+ 964013.184 776640.238 0, 963727.569 776642.365 0, 963441.953 776644.508 0, 963156.338 776646.668 0, 962870.723 776648.845 0, 962585.109 776651.039 0, 962299.494 776653.249 0, 962013.879 776655.477 0, 961728.265 776657.721 0, 961442.651 776659.982 0,
+ 961157.037 776662.26 0, 960871.423 776664.554 0, 960585.809 776666.866 0, 960300.195 776669.194 0, 960014.581 776671.539 0, 959728.968 776673.901 0, 959443.354 776676.28 0, 959157.741 776678.675 0, 958870.74 776681.099 0, 958917.981 782254.809 0,
+ 958965.225 787828.755 0, 959251.567 787826.336 0, 959536.524 787823.946 0, 959821.481 787821.573 0, 960106.438 787819.217 0, 960391.396 787816.877 0, 960676.354 787814.554 0, 960961.311 787812.248 0, 961246.269 787809.959 0, 961531.227 787807.686 0,
+ 961816.185 787805.43 0, 962101.144 787803.191 0, 962386.102 787800.969 0, 962671.061 787798.763 0, 962956.019 787796.575 0, 963240.978 787794.403 0, 963525.937 787792.248 0, 963810.896 787790.109 0, 964095.855 787787.988 0, 964380.815 787785.883 0,
+ 964665.774 787783.795 0, 964950.734 787781.723 0, 965235.693 787779.669 0, 965520.653 787777.631 0, 965804.229 787775.62 0, 966090.573 787773.606 0, 966375.533 787771.618 0, 966660.493 787769.648 0, 966945.454 787767.694 0, 967230.414 787765.757 0,
+ 967515.375 787763.836 0, 967800.336 787761.933 0, 968085.296 787760.046 0, 968370.257 787758.176 0, 968655.218 787756.322 0, 968940.18 787754.486 0, 969225.141 787752.666 0, 969510.102 787750.863 0, 969795.064 787749.077 0, 970080.025 787747.308 0,
+ 970364.987 787745.555 0, 970649.949 787743.819 0, 970934.911 787742.1 0, 971219.873 787740.398 0, 971504.835 787738.712 0, 971789.797 787737.043 0, 972074.759 787735.391 0, 972359.722 787733.756 0, 972643.301 787732.145 0, 972611.805 782158.088 0,
+ 972580.311 776584.267 0))
+
+POLYGON ((986321.596 787674.18 0, 986038.011 787674.989 0, 985753.045 787675.819 0, 985468.079 787676.666 0, 985183.114 787677.53 0, 984898.148 787678.41 0, 984613.182 787679.308 0, 984328.217 787680.222 0, 984043.251 787681.152 0, 983758.285 787682.1 0,
+ 983473.32 787683.064 0, 983188.355 787684.045 0, 982903.389 787685.043 0, 982618.424 787686.058 0, 982333.459 787687.089 0, 982048.494 787688.138 0, 981763.529 787689.203 0, 981478.563 787690.284 0, 981193.599 787691.383 0, 980908.634 787692.498 0,
+ 980623.669 787693.63 0, 980338.704 787694.779 0, 980053.739 787695.945 0, 979768.775 787697.127 0, 979482.428 787698.332 0, 979198.846 787699.542 0, 978913.881 787700.775 0, 978628.917 787702.024 0, 978343.953 787703.291 0, 978058.988 787704.574 0,
+ 977774.024 787705.873 0, 977489.06 787707.19 0, 977204.096 787708.523 0, 976919.132 787709.873 0, 976634.169 787711.24 0, 976349.205 787712.624 0, 976064.241 787714.024 0, 975779.278 787715.442 0, 975494.314 787716.876 0, 975209.351 787718.326 0,
+ 974924.387 787719.794 0, 974639.424 787721.278 0, 974354.461 787722.779 0, 974069.498 787724.297 0, 973784.535 787725.832 0, 973499.572 787727.383 0, 973214.609 787728.951 0, 972929.647 787730.536 0, 972643.301 787732.145 0, 972674.798 793306.435 0,
+ 972706.297 798880.954 0, 972991.983 798879.348 0, 973276.289 798877.767 0, 973560.596 798876.202 0, 973844.903 798874.654 0, 974129.209 798873.123 0, 974413.516 798871.609 0, 974697.823 798870.111 0, 974982.13 798868.63 0, 975266.437 798867.166 0,
+ 975550.745 798865.719 0, 975835.052 798864.288 0, 976119.359 798862.874 0, 976403.667 798861.477 0, 976687.974 798860.097 0, 976972.282 798858.733 0, 977256.589 798857.386 0, 977540.897 798856.056 0, 977825.205 798854.742 0, 978109.513 798853.445 0,
+ 978393.821 798852.165 0, 978678.129 798850.902 0, 978962.437 798849.655 0, 979246.745 798848.425 0, 979529.675 798847.218 0, 979815.362 798846.016 0, 980099.671 798844.836 0, 980383.979 798843.673 0, 980668.288 798842.527 0, 980952.596 798841.398 0,
+ 981236.905 798840.285 0, 981521.214 798839.189 0, 981805.522 798838.11 0, 982089.831 798837.047 0, 982374.14 798836.001 0, 982658.449 798834.972 0, 982942.758 798833.96 0, 983227.068 798832.964 0, 983511.377 798831.985 0, 983795.686 798831.023 0,
+ 984079.995 798830.078 0, 984364.305 798829.149 0, 984648.614 798828.237 0, 984932.924 798827.342 0, 985217.233 798826.464 0, 985501.543 798825.602 0, 985785.852 798824.757 0, 986070.162 798823.929 0, 986353.094 798823.121 0, 986337.345 793248.536 0,
+ 986321.596 787674.18 0))
+
+POLYGON ((1000000 798803.844 0, 999717.065 798803.852 0, 999432.754 798803.877 0, 999148.443 798803.919 0, 998864.132 798803.977 0, 998579.821 798804.052 0, 998295.51 798804.144 0, 998011.2 798804.253 0, 997726.889 798804.378 0, 997442.578 798804.521 0,
+ 997158.267 798804.68 0, 996873.956 798804.855 0, 996589.645 798805.048 0, 996305.335 798805.257 0, 996021.024 798805.482 0, 995736.713 798805.725 0, 995452.402 798805.984 0, 995168.092 798806.26 0, 994883.781 798806.553 0, 994599.47 798806.863 0,
+ 994315.159 798807.189 0, 994030.849 798807.532 0, 993746.538 798807.891 0, 993462.227 798808.268 0, 993176.54 798808.663 0, 992893.606 798809.071 0, 992609.296 798809.498 0, 992324.985 798809.941 0, 992040.675 798810.401 0, 991756.364 798810.878 0,
+ 991472.054 798811.371 0, 991187.743 798811.882 0, 990903.433 798812.409 0, 990619.123 798812.953 0, 990334.812 798813.513 0, 990050.502 798814.09 0, 989766.192 798814.684 0, 989481.881 798815.295 0, 989197.571 798815.922 0, 988913.261 798816.567 0,
+ 988628.951 798817.228 0, 988344.641 798817.905 0, 988060.331 798818.6 0, 987776.021 798819.311 0, 987491.711 798820.039 0, 987207.401 798820.783 0, 986923.091 798821.544 0, 986638.781 798822.322 0, 986353.094 798823.121 0, 986368.844 804397.932 0,
+ 986384.594 809972.964 0, 986669.622 809972.167 0, 986953.276 809971.391 0, 987236.93 809970.631 0, 987520.583 809969.888 0, 987804.237 809969.162 0, 988087.891 809968.453 0, 988371.544 809967.76 0, 988655.198 809967.084 0, 988938.852 809966.424 0,
+ 989222.506 809965.782 0, 989506.16 809965.156 0, 989789.814 809964.546 0, 990073.468 809963.954 0, 990357.122 809963.378 0, 990640.776 809962.819 0, 990924.43 809962.276 0, 991208.084 809961.75 0, 991491.738 809961.241 0, 991775.393 809960.749 0,
+ 992059.047 809960.273 0, 992342.701 809959.814 0, 992626.355 809959.372 0, 992910.01 809958.946 0, 993192.29 809958.539 0, 993477.318 809958.145 0, 993760.973 809957.769 0, 994044.627 809957.41 0, 994328.281 809957.068 0, 994611.936 809956.743 0,
+ 994895.59 809956.434 0, 995179.245 809956.142 0, 995462.899 809955.867 0, 995746.554 809955.608 0, 996030.208 809955.366 0, 996313.863 809955.141 0, 996597.517 809954.932 0, 996881.172 809954.74 0, 997164.826 809954.565 0, 997448.481 809954.406 0,
+ 997732.136 809954.264 0, 998015.79 809954.139 0, 998299.445 809954.031 0, 998583.099 809953.939 0, 998866.754 809953.864 0, 999150.409 809953.806 0, 999434.063 809953.764 0, 999717.718 809953.739 0, 1000000 809953.731 0, 1000000 804378.676 0,
+ 1000000 798803.844 0))
+
+POLYGON ((1013615.406 809972.964 0, 1013333.122 809972.175 0, 1013049.469 809971.398 0, 1012765.815 809970.638 0, 1012482.162 809969.895 0, 1012198.508 809969.169 0, 1011914.854 809968.459 0, 1011631.2 809967.767 0, 1011347.547 809967.09 0, 1011063.893 809966.431 0,
+ 1010780.239 809965.788 0, 1010496.585 809965.162 0, 1010212.931 809964.552 0, 1009929.277 809963.96 0, 1009645.623 809963.383 0, 1009361.969 809962.824 0, 1009078.315 809962.281 0, 1008794.661 809961.755 0, 1008511.007 809961.246 0, 1008227.352 809960.754 0,
+ 1007943.698 809960.278 0, 1007660.044 809959.818 0, 1007376.39 809959.376 0, 1007092.735 809958.95 0, 1006807.71 809958.539 0, 1006525.427 809958.149 0, 1006241.772 809957.773 0, 1005958.118 809957.414 0, 1005674.463 809957.071 0, 1005390.809 809956.746 0,
+ 1005107.155 809956.437 0, 1004823.5 809956.145 0, 1004539.846 809955.869 0, 1004256.191 809955.61 0, 1003972.537 809955.368 0, 1003688.882 809955.143 0, 1003405.228 809954.934 0, 1003121.573 809954.742 0, 1002837.918 809954.566 0, 1002554.264 809954.408 0,
+ 1002270.609 809954.266 0, 1001986.955 809954.14 0, 1001703.3 809954.032 0, 1001419.645 809953.94 0, 1001135.991 809953.865 0, 1000852.336 809953.806 0, 1000568.682 809953.764 0, 1000285.027 809953.739 0, 1000000 809953.731 0, 1000000 815529.003 0,
+ 1000000 821104.49 0, 1000284.368 821104.498 0, 1000567.366 821104.523 0, 1000850.364 821104.565 0, 1001133.362 821104.623 0, 1001416.361 821104.698 0, 1001699.359 821104.79 0, 1001982.357 821104.899 0, 1002265.356 821105.024 0, 1002548.354 821105.165 0,
+ 1002831.352 821105.324 0, 1003114.35 821105.499 0, 1003397.349 821105.69 0, 1003680.347 821105.898 0, 1003963.345 821106.123 0, 1004246.343 821106.365 0, 1004529.341 821106.623 0, 1004812.34 821106.898 0, 1005095.338 821107.19 0, 1005378.336 821107.498 0,
+ 1005661.334 821107.823 0, 1005944.332 821108.164 0, 1006227.33 821108.523 0, 1006510.328 821108.897 0, 1006791.958 821109.287 0, 1007076.324 821109.697 0, 1007359.322 821110.122 0, 1007642.32 821110.563 0, 1007925.318 821111.022 0, 1008208.316 821111.496 0,
+ 1008491.314 821111.988 0, 1008774.312 821112.496 0, 1009057.31 821113.021 0, 1009340.307 821113.562 0, 1009623.305 821114.12 0, 1009906.303 821114.695 0, 1010189.301 821115.286 0, 1010472.298 821115.894 0, 1010755.296 821116.519 0, 1011038.293 821117.16 0,
+ 1011321.291 821117.818 0, 1011604.289 821118.493 0, 1011887.286 821119.184 0, 1012170.283 821119.892 0, 1012453.281 821120.617 0, 1012736.278 821121.358 0, 1013019.275 821122.116 0, 1013302.273 821122.891 0, 1013583.903 821123.678 0, 1013599.655 815548.214 0,
+ 1013615.406 809972.964 0))
+
+POLYGON ((1027167.697 821181.244 0, 1026886.068 821179.661 0, 1026603.074 821178.087 0, 1026320.08 821176.529 0, 1026037.086 821174.988 0, 1025754.092 821173.464 0, 1025471.098 821171.957 0, 1025188.103 821170.466 0, 1024905.109 821168.992 0, 1024622.114 821167.534 0,
+ 1024339.12 821166.093 0, 1024056.125 821164.669 0, 1023773.13 821163.261 0, 1023490.135 821161.871 0, 1023207.14 821160.496 0, 1022924.145 821159.139 0, 1022641.15 821157.798 0, 1022358.155 821156.473 0, 1022075.16 821155.166 0, 1021792.164 821153.875 0,
+ 1021509.169 821152.601 0, 1021226.173 821151.343 0, 1020943.178 821150.102 0, 1020660.182 821148.878 0, 1020375.82 821147.664 0, 1020094.19 821146.479 0, 1019811.195 821145.304 0, 1019528.199 821144.147 0, 1019245.203 821143.006 0, 1018962.207 821141.881 0,
+ 1018679.21 821140.773 0, 1018396.214 821139.682 0, 1018113.218 821138.608 0, 1017830.222 821137.55 0, 1017547.225 821136.509 0, 1017264.229 821135.485 0, 1016981.232 821134.477 0, 1016698.236 821133.486 0, 1016415.239 821132.511 0, 1016132.242 821131.553 0,
+ 1015849.246 821130.612 0, 1015566.249 821129.688 0, 1015283.252 821128.78 0, 1015000.255 821127.888 0, 1014717.258 821127.014 0, 1014434.261 821126.156 0, 1014151.264 821125.315 0, 1013868.267 821124.49 0, 1013583.903 821123.678 0, 1013568.15 826699.353 0,
+ 1013552.397 832275.236 0, 1013836.102 832276.045 0, 1014118.443 832276.868 0, 1014400.784 832277.707 0, 1014683.124 832278.563 0, 1014965.465 832279.436 0, 1015247.805 832280.325 0, 1015530.146 832281.231 0, 1015812.486 832282.153 0, 1016094.827 832283.092 0,
+ 1016377.167 832284.048 0, 1016659.507 832285.02 0, 1016941.848 832286.009 0, 1017224.188 832287.014 0, 1017506.528 832288.036 0, 1017788.868 832289.075 0, 1018071.208 832290.13 0, 1018353.548 832291.202 0, 1018635.888 832292.291 0, 1018918.227 832293.396 0,
+ 1019200.567 832294.518 0, 1019482.907 832295.656 0, 1019765.246 832296.811 0, 1020047.586 832297.983 0, 1020328.562 832299.166 0, 1020612.265 832300.376 0, 1020894.604 832301.598 0, 1021176.943 832302.836 0, 1021459.282 832304.091 0, 1021741.621 832305.362 0,
+ 1022023.96 832306.65 0, 1022306.299 832307.954 0, 1022588.638 832309.276 0, 1022870.977 832310.614 0, 1023153.316 832311.968 0, 1023435.654 832313.339 0, 1023717.993 832314.727 0, 1024000.331 832316.131 0, 1024282.67 832317.552 0, 1024565.008 832318.989 0,
+ 1024847.346 832320.444 0, 1025129.684 832321.914 0, 1025412.022 832323.402 0, 1025694.36 832324.906 0, 1025976.698 832326.426 0, 1026259.036 832327.964 0, 1026541.373 832329.518 0, 1026823.711 832331.088 0, 1027104.687 832332.667 0, 1027136.193 826756.852 0,
+ 1027167.697 821181.244 0))
+
+POLYGON ((1040656.76 832428.387 0, 1040375.787 832426.014 0, 1040093.455 832423.645 0, 1039811.123 832421.294 0, 1039528.791 832418.959 0, 1039246.458 832416.641 0, 1038964.126 832414.339 0, 1038681.793 832412.054 0, 1038399.46 832409.786 0, 1038117.127 832407.534 0,
+ 1037834.794 832405.299 0, 1037552.461 832403.08 0, 1037270.128 832400.878 0, 1036987.794 832398.693 0, 1036705.461 832396.524 0, 1036423.127 832394.372 0, 1036140.793 832392.236 0, 1035858.459 832390.118 0, 1035576.125 832388.015 0, 1035293.791 832385.93 0,
+ 1035011.456 832383.861 0, 1034729.122 832381.808 0, 1034446.787 832379.773 0, 1034164.453 832377.753 0, 1033880.757 832375.741 0, 1033599.783 832373.765 0, 1033317.448 832371.796 0, 1033035.112 832369.843 0, 1032752.777 832367.907 0, 1032470.442 832365.987 0,
+ 1032188.106 832364.085 0, 1031905.771 832362.198 0, 1031623.435 832360.329 0, 1031341.099 832358.476 0, 1031058.763 832356.639 0, 1030776.427 832354.82 0, 1030494.091 832353.017 0, 1030211.754 832351.23 0, 1029929.418 832349.46 0, 1029647.081 832347.707 0,
+ 1029364.745 832345.97 0, 1029082.408 832344.25 0, 1028800.071 832342.547 0, 1028517.734 832340.86 0, 1028235.397 832339.19 0, 1027953.06 832337.536 0, 1027670.723 832335.899 0, 1027388.386 832334.279 0, 1027104.687 832332.667 0, 1027073.18 837908.686 0,
+ 1027041.672 843484.904 0, 1027324.711 843486.512 0, 1027606.392 843488.128 0, 1027888.073 843489.761 0, 1028169.754 843491.411 0, 1028451.434 843493.077 0, 1028733.115 843494.76 0, 1029014.795 843496.46 0, 1029296.476 843498.176 0, 1029578.156 843499.908 0,
+ 1029859.836 843501.658 0, 1030141.516 843503.423 0, 1030423.196 843505.206 0, 1030704.876 843507.005 0, 1030986.555 843508.82 0, 1031268.235 843510.652 0, 1031549.914 843512.501 0, 1031831.594 843514.366 0, 1032113.273 843516.248 0, 1032394.952 843518.146 0,
+ 1032676.631 843520.061 0, 1032958.31 843521.993 0, 1033239.989 843523.941 0, 1033521.668 843525.906 0, 1033801.989 843527.878 0, 1034085.025 843529.885 0, 1034366.703 843531.9 0, 1034648.381 843533.931 0, 1034930.059 843535.978 0, 1035211.737 843538.042 0,
+ 1035493.415 843540.123 0, 1035775.093 843542.221 0, 1036056.77 843544.335 0, 1036338.448 843546.465 0, 1036620.125 843548.612 0, 1036901.802 843550.776 0, 1037183.479 843552.956 0, 1037465.156 843555.153 0, 1037746.833 843557.366 0, 1038028.51 843559.596 0,
+ 1038310.187 843561.843 0, 1038591.863 843564.106 0, 1038873.539 843566.386 0, 1039155.215 843568.682 0, 1039436.892 843570.995 0, 1039718.567 843573.324 0, 1040000.243 843575.67 0, 1040281.919 843578.033 0, 1040562.238 843580.401 0, 1040609.5 838004.294 0,
+ 1040656.76 832428.387 0))
+
+POLYGON ((1054082.48 843714.095 0, 1053802.167 843710.936 0, 1053520.499 843707.777 0, 1053238.831 843704.635 0, 1052957.163 843701.51 0, 1052675.494 843698.402 0, 1052393.826 843695.309 0, 1052112.157 843692.234 0, 1051830.488 843689.175 0, 1051548.819 843686.133 0,
+ 1051267.15 843683.107 0, 1050985.48 843680.098 0, 1050703.811 843677.105 0, 1050422.141 843674.129 0, 1050140.471 843671.17 0, 1049858.801 843668.227 0, 1049577.13 843665.3 0, 1049295.46 843662.391 0, 1049013.789 843659.498 0, 1048732.118 843656.621 0,
+ 1048450.447 843653.761 0, 1048168.776 843650.918 0, 1047887.105 843648.091 0, 1047605.433 843645.28 0, 1047322.406 843642.473 0, 1047042.09 843639.71 0, 1046760.418 843636.949 0, 1046478.746 843634.205 0, 1046197.073 843631.478 0, 1045915.401 843628.767 0,
+ 1045633.728 843626.073 0, 1045352.055 843623.395 0, 1045070.382 843620.734 0, 1044788.709 843618.09 0, 1044507.036 843615.462 0, 1044225.363 843612.851 0, 1043943.689 843610.256 0, 1043662.015 843607.678 0, 1043380.341 843605.116 0, 1043098.667 843602.571 0,
+ 1042816.993 843600.043 0, 1042535.319 843597.531 0, 1042253.644 843595.036 0, 1041971.97 843592.557 0, 1041690.295 843590.095 0, 1041408.62 843587.649 0, 1041126.945 843585.22 0, 1040845.27 843582.808 0, 1040562.238 843580.401 0, 1040514.975 849156.703 0,
+ 1040467.71 854733.198 0, 1040750.082 854735.6 0, 1041031.1 854738.006 0, 1041312.119 854740.43 0, 1041593.138 854742.869 0, 1041874.156 854745.326 0, 1042155.174 854747.799 0, 1042436.192 854750.288 0, 1042717.21 854752.794 0, 1042998.228 854755.317 0,
+ 1043279.245 854757.856 0, 1043560.263 854760.411 0, 1043841.28 854762.983 0, 1044122.297 854765.572 0, 1044403.314 854768.177 0, 1044684.331 854770.799 0, 1044965.348 854773.437 0, 1045246.364 854776.092 0, 1045527.381 854778.764 0, 1045808.397 854781.452 0,
+ 1046089.413 854784.156 0, 1046370.429 854786.877 0, 1046651.445 854789.615 0, 1046932.46 854792.369 0, 1047212.124 854795.126 0, 1047494.491 854797.926 0, 1047775.506 854800.73 0, 1048056.521 854803.55 0, 1048337.536 854806.387 0, 1048618.55 854809.24 0,
+ 1048899.565 854812.11 0, 1049180.579 854814.997 0, 1049461.593 854817.9 0, 1049742.607 854820.819 0, 1050023.621 854823.755 0, 1050304.634 854826.708 0, 1050585.648 854829.677 0, 1050866.661 854832.662 0, 1051147.674 854835.665 0, 1051428.687 854838.683 0,
+ 1051709.7 854841.719 0, 1051990.712 854844.77 0, 1052271.724 854847.839 0, 1052552.737 854850.924 0, 1052833.749 854854.025 0, 1053114.76 854857.143 0, 1053395.772 854860.278 0, 1053676.783 854863.429 0, 1053956.444 854866.581 0, 1054019.463 849290.242 0,
+ 1054082.48 843714.095 0))
+
+POLYGON ((1067444.747 855038.071 0, 1067165.095 855034.129 0, 1066884.093 855030.184 0, 1066603.092 855026.256 0, 1066322.09 855022.344 0, 1066041.088 855018.448 0, 1065760.085 855014.57 0, 1065479.083 855010.707 0, 1065198.08 855006.862 0, 1064917.077 855003.033 0,
+ 1064636.074 854999.22 0, 1064355.07 854995.424 0, 1064074.067 854991.644 0, 1063793.063 854987.881 0, 1063512.059 854984.135 0, 1063231.054 854980.405 0, 1062950.05 854976.692 0, 1062669.045 854972.995 0, 1062388.04 854969.314 0, 1062107.035 854965.651 0,
+ 1061826.03 854962.003 0, 1061545.024 854958.373 0, 1061264.018 854954.759 0, 1060983.012 854951.161 0, 1060700.656 854947.563 0, 1060420.999 854944.015 0, 1060139.993 854940.467 0, 1059858.986 854936.936 0, 1059577.979 854933.421 0, 1059296.971 854929.923 0,
+ 1059015.964 854926.441 0, 1058734.956 854922.976 0, 1058453.948 854919.527 0, 1058172.94 854916.095 0, 1057891.932 854912.679 0, 1057610.923 854909.28 0, 1057329.914 854905.897 0, 1057048.906 854902.531 0, 1056767.896 854899.182 0, 1056486.887 854895.849 0,
+ 1056205.878 854892.532 0, 1055924.868 854889.232 0, 1055643.858 854885.949 0, 1055362.848 854882.682 0, 1055081.838 854879.432 0, 1054800.827 854876.198 0, 1054519.817 854872.981 0, 1054238.806 854869.78 0, 1053956.444 854866.581 0, 1053893.422 860443.108 0,
+ 1053830.398 866019.82 0, 1054112.101 866023.011 0, 1054392.455 866026.205 0, 1054672.809 866029.414 0, 1054953.163 866032.64 0, 1055233.517 866035.883 0, 1055513.871 866039.142 0, 1055794.224 866042.418 0, 1056074.578 866045.71 0, 1056354.931 866049.019 0,
+ 1056635.284 866052.344 0, 1056915.636 866055.686 0, 1057195.989 866059.044 0, 1057476.341 866062.419 0, 1057756.693 866065.81 0, 1058037.045 866069.218 0, 1058317.397 866072.642 0, 1058597.748 866076.082 0, 1058878.099 866079.54 0, 1059158.45 866083.013 0,
+ 1059438.801 866086.504 0, 1059719.152 866090.01 0, 1059999.502 866093.533 0, 1060279.853 866097.073 0, 1060558.856 866100.612 0, 1060840.552 866104.202 0, 1061120.902 866107.791 0, 1061401.251 866111.397 0, 1061681.601 866115.019 0, 1061961.95 866118.658 0,
+ 1062242.298 866122.313 0, 1062522.647 866125.985 0, 1062802.995 866129.673 0, 1063083.343 866133.378 0, 1063363.691 866137.099 0, 1063644.039 866140.837 0, 1063924.386 866144.591 0, 1064204.733 866148.362 0, 1064485.08 866152.149 0, 1064765.427 866155.953 0,
+ 1065045.774 866159.773 0, 1065326.12 866163.609 0, 1065606.466 866167.463 0, 1065886.812 866171.332 0, 1066167.158 866175.219 0, 1066447.503 866179.121 0, 1066727.848 866183.041 0, 1067008.193 866186.976 0, 1067287.192 866190.909 0, 1067365.971 860614.398 0,
+ 1067444.747 855038.071 0))
+
+POLYGON ((1080743.449 866400.017 0, 1080464.46 866395.295 0, 1080184.128 866390.567 0, 1079903.795 866385.856 0, 1079623.461 866381.161 0, 1079343.128 866376.483 0, 1079062.794 866371.821 0, 1078782.46 866367.176 0, 1078502.125 866362.548 0, 1078221.791 866357.935 0,
+ 1077941.456 866353.34 0, 1077661.121 866348.76 0, 1077380.785 866344.198 0, 1077100.45 866339.651 0, 1076820.114 866335.122 0, 1076539.777 866330.608 0, 1076259.441 866326.112 0, 1075979.104 866321.631 0, 1075698.767 866317.168 0, 1075418.43 866312.721 0,
+ 1075138.092 866308.29 0, 1074857.754 866303.876 0, 1074577.416 866299.478 0, 1074297.078 866295.097 0, 1074015.395 866290.711 0, 1073736.4 866286.384 0, 1073456.061 866282.052 0, 1073175.722 866277.737 0, 1072895.382 866273.438 0, 1072615.042 866269.156 0,
+ 1072334.702 866264.89 0, 1072054.362 866260.641 0, 1071774.021 866256.408 0, 1071493.68 866252.192 0, 1071213.339 866247.992 0, 1070932.998 866243.809 0, 1070652.656 866239.642 0, 1070372.314 866235.492 0, 1070091.972 866231.358 0, 1069811.63 866227.241 0,
+ 1069531.287 866223.14 0, 1069250.944 866219.056 0, 1068970.601 866214.988 0, 1068690.258 866210.937 0, 1068409.915 866206.902 0, 1068129.571 866202.884 0, 1067849.227 866198.882 0, 1067568.883 866194.897 0, 1067287.192 866190.909 0, 1067208.411 871767.601 0,
+ 1067129.628 877344.47 0, 1067410.658 877348.449 0, 1067690.346 877352.425 0, 1067970.033 877356.417 0, 1068249.721 877360.426 0, 1068529.408 877364.451 0, 1068809.095 877368.493 0, 1069088.781 877372.551 0, 1069368.468 877376.626 0, 1069648.154 877380.717 0,
+ 1069927.84 877384.824 0, 1070207.525 877388.948 0, 1070487.211 877393.089 0, 1070766.896 877397.246 0, 1071046.581 877401.419 0, 1071326.265 877405.609 0, 1071605.95 877409.816 0, 1071885.634 877414.038 0, 1072165.318 877418.278 0, 1072445.001 877422.533 0,
+ 1072724.685 877426.806 0, 1073004.368 877431.094 0, 1073284.051 877435.399 0, 1073563.734 877439.721 0, 1073842.075 877444.038 0, 1074123.098 877448.414 0, 1074402.78 877452.785 0, 1074682.462 877457.172 0, 1074962.143 877461.576 0, 1075241.824 877465.996 0,
+ 1075521.505 877470.433 0, 1075801.186 877474.886 0, 1076080.866 877479.356 0, 1076360.546 877483.842 0, 1076640.226 877488.345 0, 1076919.905 877492.864 0, 1077199.584 877497.4 0, 1077479.263 877501.952 0, 1077758.942 877506.52 0, 1078038.621 877511.105 0,
+ 1078318.299 877515.707 0, 1078597.977 877520.324 0, 1078877.654 877524.959 0, 1079157.332 877529.61 0, 1079437.009 877534.277 0, 1079716.686 877538.961 0, 1079996.362 877543.661 0, 1080276.039 877548.378 0, 1080554.374 877553.088 0, 1080648.913 871976.464 0,
+ 1080743.449 866400.017 0))
+
+POLYGON ((1093978.478 877799.632 0, 1093700.155 877794.135 0, 1093420.493 877788.628 0, 1093140.831 877783.138 0, 1092861.168 877777.664 0, 1092581.505 877772.207 0, 1092301.842 877766.766 0, 1092022.179 877761.341 0, 1091742.515 877755.933 0, 1091462.851 877750.542 0,
+ 1091183.187 877745.167 0, 1090903.522 877739.808 0, 1090623.857 877734.466 0, 1090344.191 877729.14 0, 1090064.526 877723.831 0, 1089784.86 877718.538 0, 1089505.194 877713.262 0, 1089225.527 877708.002 0, 1088945.86 877702.759 0, 1088666.193 877697.532 0,
+ 1088386.525 877692.321 0, 1088106.858 877687.127 0, 1087827.19 877681.95 0, 1087547.521 877676.788 0, 1087266.513 877671.619 0, 1086988.183 877666.516 0, 1086708.514 877661.404 0, 1086428.844 877656.309 0, 1086149.174 877651.23 0, 1085869.504 877646.167 0,
+ 1085589.834 877641.122 0, 1085310.163 877636.092 0, 1085030.492 877631.079 0, 1084750.82 877626.083 0, 1084471.149 877621.103 0, 1084191.477 877616.139 0, 1083911.804 877611.192 0, 1083632.132 877606.261 0, 1083352.459 877601.347 0, 1083072.786 877596.449 0,
+ 1082793.112 877591.568 0, 1082513.439 877586.703 0, 1082233.765 877581.855 0, 1081954.09 877577.023 0, 1081674.416 877572.208 0, 1081394.741 877567.409 0, 1081115.066 877562.626 0, 1080835.39 877557.86 0, 1080554.374 877553.088 0, 1080459.832 883129.885 0,
+ 1080365.287 888706.852 0, 1080645.644 888711.613 0, 1080924.663 888716.368 0, 1081203.681 888721.139 0, 1081482.7 888725.927 0, 1081761.718 888730.731 0, 1082040.736 888735.551 0, 1082319.753 888740.388 0, 1082598.77 888745.242 0, 1082877.787 888750.111 0,
+ 1083156.804 888754.998 0, 1083435.821 888759.9 0, 1083714.837 888764.819 0, 1083993.852 888769.755 0, 1084272.868 888774.707 0, 1084551.883 888779.675 0, 1084830.898 888784.66 0, 1085109.913 888789.661 0, 1085388.927 888794.679 0, 1085667.941 888799.713 0,
+ 1085946.955 888804.763 0, 1086225.968 888809.83 0, 1086504.981 888814.913 0, 1086783.994 888820.013 0, 1087061.671 888825.105 0, 1087342.019 888830.262 0, 1087621.031 888835.411 0, 1087900.043 888840.576 0, 1088179.054 888845.758 0, 1088458.065 888850.956 0,
+ 1088737.076 888856.171 0, 1089016.086 888861.402 0, 1089295.096 888866.65 0, 1089574.106 888871.914 0, 1089853.116 888877.194 0, 1090132.125 888882.491 0, 1090411.134 888887.804 0, 1090690.142 888893.134 0, 1090969.151 888898.48 0, 1091248.158 888903.842 0,
+ 1091527.166 888909.221 0, 1091806.173 888914.616 0, 1092085.18 888920.028 0, 1092364.187 888925.456 0, 1092643.193 888930.901 0, 1092922.199 888936.362 0, 1093201.205 888941.839 0, 1093480.21 888947.333 0, 1093757.881 888952.817 0, 1093868.181 883376.14 0,
+ 1093978.478 877799.632 0))
+
+POLYGON ((1107149.725 889236.618 0, 1106872.07 889230.349 0, 1106593.081 889224.067 0, 1106314.092 889217.802 0, 1106035.102 889211.552 0, 1105756.112 889205.32 0, 1105477.122 889199.103 0, 1105198.132 889192.903 0, 1104919.141 889186.72 0, 1104640.149 889180.553 0,
+ 1104361.158 889174.402 0, 1104082.166 889168.268 0, 1103803.173 889162.15 0, 1103524.181 889156.048 0, 1103245.188 889149.963 0, 1102966.194 889143.895 0, 1102687.2 889137.843 0, 1102408.206 889131.807 0, 1102129.212 889125.787 0, 1101850.217 889119.785 0,
+ 1101571.221 889113.798 0, 1101292.226 889107.828 0, 1101013.23 889101.874 0, 1100734.234 889095.937 0, 1100453.903 889089.988 0, 1100176.24 889084.112 0, 1099897.243 889078.224 0, 1099618.245 889072.352 0, 1099339.247 889066.497 0, 1099060.249 889060.659 0,
+ 1098781.25 889054.836 0, 1098502.251 889049.03 0, 1098223.251 889043.241 0, 1097944.252 889037.468 0, 1097665.252 889031.711 0, 1097386.251 889025.971 0, 1097107.25 889020.247 0, 1096828.249 889014.54 0, 1096549.248 889008.849 0, 1096270.246 889003.175 0,
+ 1095991.244 888997.517 0, 1095712.242 888991.875 0, 1095433.239 888986.25 0, 1095154.236 888980.641 0, 1094875.232 888975.049 0, 1094596.229 888969.473 0, 1094317.225 888963.913 0, 1094038.22 888958.37 0, 1093757.881 888952.817 0, 1093647.577 894529.66 0,
+ 1093537.27 900106.664 0, 1093816.95 900112.204 0, 1094095.298 900117.734 0, 1094373.646 900123.28 0, 1094651.993 900128.843 0, 1094930.34 900134.423 0, 1095208.686 900140.018 0, 1095487.033 900145.63 0, 1095765.378 900151.258 0, 1096043.724 900156.903 0,
+ 1096322.069 900162.564 0, 1096600.414 900168.242 0, 1096878.759 900173.936 0, 1097157.103 900179.646 0, 1097435.447 900185.373 0, 1097713.791 900191.116 0, 1097992.134 900196.875 0, 1098270.477 900202.651 0, 1098548.819 900208.443 0, 1098827.162 900214.252 0,
+ 1099105.504 900220.077 0, 1099383.845 900225.918 0, 1099662.186 900231.776 0, 1099940.527 900237.65 0, 1100217.537 900243.512 0, 1100497.208 900249.447 0, 1100775.548 900255.371 0, 1101053.887 900261.31 0, 1101332.226 900267.266 0, 1101610.565 900273.239 0,
+ 1101888.903 900279.227 0, 1102167.241 900285.233 0, 1102445.579 900291.254 0, 1102723.917 900297.292 0, 1103002.254 900303.346 0, 1103280.59 900309.417 0, 1103558.926 900315.504 0, 1103837.262 900321.608 0, 1104115.598 900327.727 0, 1104393.933 900333.864 0,
+ 1104672.268 900340.016 0, 1104950.602 900346.185 0, 1105228.937 900352.371 0, 1105507.27 900358.572 0, 1105785.604 900364.791 0, 1106063.937 900371.025 0, 1106342.269 900377.276 0, 1106620.602 900383.543 0, 1106897.604 900389.797 0, 1107023.666 894813.127 0,
+ 1107149.725 889236.618 0))
+
+POLYGON ((1120257.085 900710.674 0, 1119980.099 900703.638 0, 1119701.786 900696.584 0, 1119423.472 900689.547 0, 1119145.157 900682.526 0, 1118866.843 900675.522 0, 1118588.528 900668.534 0, 1118310.212 900661.562 0, 1118031.896 900654.607 0, 1117753.58 900647.668 0,
+ 1117475.263 900640.745 0, 1117196.946 900633.839 0, 1116918.628 900626.949 0, 1116640.31 900620.076 0, 1116361.992 900613.219 0, 1116083.673 900606.378 0, 1115805.354 900599.554 0, 1115527.034 900592.746 0, 1115248.714 900585.955 0, 1114970.394 900579.179 0,
+ 1114692.073 900572.421 0, 1114413.752 900565.678 0, 1114135.431 900558.952 0, 1113857.109 900552.243 0, 1113577.458 900545.518 0, 1113300.463 900538.873 0, 1113022.14 900532.212 0, 1112743.817 900525.568 0, 1112465.493 900518.941 0, 1112187.168 900512.329 0,
+ 1111908.844 900505.734 0, 1111630.519 900499.156 0, 1111352.193 900492.594 0, 1111073.867 900486.048 0, 1110795.541 900479.518 0, 1110517.214 900473.005 0, 1110238.887 900466.509 0, 1109960.56 900460.029 0, 1109682.232 900453.565 0, 1109403.904 900447.117 0,
+ 1109125.575 900440.686 0, 1108847.247 900434.271 0, 1108568.917 900427.873 0, 1108290.588 900421.491 0, 1108012.258 900415.125 0, 1107733.927 900408.776 0, 1107455.596 900402.443 0, 1107177.265 900396.127 0, 1106897.604 900389.797 0, 1106771.538 905966.625 0,
+ 1106645.468 911543.607 0, 1106924.47 911549.922 0, 1107202.145 911556.224 0, 1107479.819 911562.542 0, 1107757.493 911568.876 0, 1108035.166 911575.226 0, 1108312.84 911581.593 0, 1108590.512 911587.977 0, 1108868.185 911594.376 0, 1109145.857 911600.792 0,
+ 1109423.529 911607.224 0, 1109701.2 911613.673 0, 1109978.871 911620.138 0, 1110256.541 911626.619 0, 1110534.212 911633.117 0, 1110811.881 911639.631 0, 1111089.551 911646.161 0, 1111367.22 911652.708 0, 1111644.888 911659.271 0, 1111922.557 911665.85 0,
+ 1112200.224 911672.446 0, 1112477.892 911679.058 0, 1112755.559 911685.687 0, 1113033.226 911692.331 0, 1113309.567 911698.96 0, 1113588.558 911705.67 0, 1113866.223 911712.364 0, 1114143.888 911719.074 0, 1114421.553 911725.8 0, 1114699.218 911732.543 0,
+ 1114976.881 911739.302 0, 1115254.545 911746.078 0, 1115532.208 911752.869 0, 1115809.871 911759.677 0, 1116087.533 911766.502 0, 1116365.195 911773.343 0, 1116642.857 911780.2 0, 1116920.518 911787.074 0, 1117198.178 911793.963 0, 1117475.839 911800.87 0,
+ 1117753.499 911807.792 0, 1118031.158 911814.731 0, 1118308.817 911821.686 0, 1118586.476 911828.658 0, 1118864.134 911835.646 0, 1119141.792 911842.65 0, 1119419.449 911849.671 0, 1119697.106 911856.708 0, 1119973.439 911863.727 0, 1120115.264 906287.124 0,
+ 1120257.085 900710.674 0))
+
+POLYGON ((1133300.451 912221.5 0, 1133024.138 912213.7 0, 1132746.502 912205.879 0, 1132468.865 912198.074 0, 1132191.228 912190.285 0, 1131913.591 912182.513 0, 1131635.953 912174.757 0, 1131358.315 912167.017 0, 1131080.676 912159.294 0, 1130803.037 912151.587 0,
+ 1130525.397 912143.896 0, 1130247.757 912136.222 0, 1129970.116 912128.564 0, 1129692.475 912120.922 0, 1129414.834 912113.297 0, 1129137.192 912105.688 0, 1128859.55 912098.095 0, 1128581.907 912090.519 0, 1128304.263 912082.959 0, 1128026.62 912075.416 0,
+ 1127748.976 912067.889 0, 1127471.331 912060.378 0, 1127193.686 912052.883 0, 1126916.04 912045.405 0, 1126637.071 912037.908 0, 1126360.748 912030.498 0, 1126083.101 912023.068 0, 1125805.454 912015.656 0, 1125527.806 912008.259 0, 1125250.158 912000.879 0,
+ 1124972.51 911993.515 0, 1124694.861 911986.168 0, 1124417.211 911978.837 0, 1124139.562 911971.522 0, 1123861.911 911964.223 0, 1123584.261 911956.941 0, 1123306.609 911949.675 0, 1123028.958 911942.426 0, 1122751.306 911935.193 0, 1122473.654 911927.976 0,
+ 1122196.001 911920.776 0, 1121918.347 911913.592 0, 1121640.694 911906.424 0, 1121363.04 911899.273 0, 1121085.385 911892.138 0, 1120807.73 911885.019 0, 1120530.075 911877.917 0, 1120252.419 911870.831 0, 1119973.439 911863.727 0, 1119831.61 917440.481 0,
+ 1119689.777 923017.381 0, 1119968.098 923024.467 0, 1120245.097 923031.536 0, 1120522.096 923038.622 0, 1120799.095 923045.724 0, 1121076.093 923052.842 0, 1121353.09 923059.976 0, 1121630.088 923067.127 0, 1121907.084 923074.294 0, 1122184.081 923081.478 0,
+ 1122461.077 923088.677 0, 1122738.072 923095.893 0, 1123015.067 923103.125 0, 1123292.062 923110.374 0, 1123569.056 923117.639 0, 1123846.05 923124.92 0, 1124123.043 923132.218 0, 1124400.036 923139.531 0, 1124677.029 923146.861 0, 1124954.021 923154.208 0,
+ 1125231.013 923161.571 0, 1125508.004 923168.95 0, 1125784.994 923176.345 0, 1126061.985 923183.756 0, 1126337.655 923191.149 0, 1126615.964 923198.629 0, 1126892.953 923206.089 0, 1127169.942 923213.566 0, 1127446.93 923221.059 0, 1127723.918 923228.568 0,
+ 1128000.905 923236.094 0, 1128277.892 923243.636 0, 1128554.878 923251.195 0, 1128831.864 923258.769 0, 1129108.85 923266.36 0, 1129385.835 923273.967 0, 1129662.819 923281.591 0, 1129939.803 923289.231 0, 1130216.787 923296.887 0, 1130493.77 923304.559 0,
+ 1130770.753 923312.248 0, 1131047.735 923319.953 0, 1131324.717 923327.675 0, 1131601.699 923335.412 0, 1131878.68 923343.166 0, 1132155.66 923350.936 0, 1132432.64 923358.723 0, 1132709.62 923366.526 0, 1132985.28 923374.308 0, 1133142.868 917797.831 0,
+ 1133300.451 912221.5 0))
+
+POLYGON ((1146279.721 923768.796 0, 1146004.082 923760.235 0, 1145727.126 923751.65 0, 1145450.169 923743.081 0, 1145173.211 923734.528 0, 1144896.253 923725.991 0, 1144619.295 923717.471 0, 1144342.336 923708.967 0, 1144065.376 923700.48 0, 1143788.416 923692.009 0,
+ 1143511.456 923683.554 0, 1143234.495 923675.115 0, 1142957.534 923666.693 0, 1142680.572 923658.287 0, 1142403.609 923649.897 0, 1142126.646 923641.523 0, 1141849.683 923633.166 0, 1141572.719 923624.825 0, 1141295.754 923616.501 0, 1141018.79 923608.193 0,
+ 1140741.824 923599.901 0, 1140464.858 923591.625 0, 1140187.892 923583.366 0, 1139910.925 923575.123 0, 1139632.64 923566.857 0, 1139356.99 923558.686 0, 1139080.022 923550.491 0, 1138803.053 923542.314 0, 1138526.084 923534.152 0, 1138249.114 923526.007 0,
+ 1137972.144 923517.878 0, 1137695.173 923509.765 0, 1137418.202 923501.669 0, 1137141.23 923493.589 0, 1136864.258 923485.525 0, 1136587.285 923477.478 0, 1136310.312 923469.447 0, 1136033.339 923461.432 0, 1135756.365 923453.433 0, 1135479.39 923445.451 0,
+ 1135202.415 923437.485 0, 1134925.44 923429.536 0, 1134648.464 923421.602 0, 1134371.488 923413.685 0, 1134094.511 923405.785 0, 1133817.534 923397.9 0, 1133540.556 923390.032 0, 1133263.578 923382.181 0, 1132985.28 923374.308 0, 1132827.688 928950.927 0,
+ 1132670.093 934527.684 0, 1132947.731 934535.538 0, 1133224.052 934543.371 0, 1133500.374 934551.22 0, 1133776.694 934559.086 0, 1134053.015 934566.968 0, 1134329.335 934574.866 0, 1134605.654 934582.781 0, 1134881.973 934590.712 0, 1135158.292 934598.659 0,
+ 1135434.61 934606.622 0, 1135710.927 934614.601 0, 1135987.244 934622.597 0, 1136263.561 934630.609 0, 1136539.877 934638.638 0, 1136816.193 934646.682 0, 1137092.508 934654.743 0, 1137368.823 934662.82 0, 1137645.137 934670.914 0, 1137921.451 934679.023 0,
+ 1138197.764 934687.149 0, 1138474.077 934695.291 0, 1138750.389 934703.45 0, 1139026.701 934711.624 0, 1139301.698 934719.776 0, 1139579.323 934728.023 0, 1139855.634 934736.246 0, 1140131.944 934744.486 0, 1140408.253 934752.742 0, 1140684.562 934761.014 0,
+ 1140960.87 934769.303 0, 1141237.178 934777.608 0, 1141513.486 934785.929 0, 1141789.793 934794.266 0, 1142066.099 934802.62 0, 1142342.405 934810.989 0, 1142618.711 934819.376 0, 1142895.016 934827.778 0, 1143171.321 934836.197 0, 1143447.625 934844.632 0,
+ 1143723.928 934853.083 0, 1144000.231 934861.55 0, 1144276.534 934870.034 0, 1144552.836 934878.534 0, 1144829.137 934887.05 0, 1145105.438 934895.582 0, 1145381.739 934904.131 0, 1145658.039 934912.696 0, 1145933.025 934921.237 0, 1146106.375 929344.947 0,
+ 1146279.721 923768.796 0))
+
+POLYGON ((1159194.792 935352.258 0, 1158919.829 935342.941 0, 1158643.555 935333.595 0, 1158367.279 935324.266 0, 1158091.004 935314.953 0, 1157814.727 935305.656 0, 1157538.45 935296.376 0, 1157262.173 935287.111 0, 1156985.895 935277.863 0, 1156709.616 935268.632 0,
+ 1156433.337 935259.416 0, 1156157.057 935250.217 0, 1155880.777 935241.034 0, 1155604.497 935231.867 0, 1155328.215 935222.717 0, 1155051.933 935213.583 0, 1154775.651 935204.465 0, 1154499.368 935195.363 0, 1154223.085 935186.278 0, 1153946.801 935177.208 0,
+ 1153670.516 935168.156 0, 1153394.231 935159.119 0, 1153117.946 935150.099 0, 1152841.66 935141.095 0, 1152564.061 935132.064 0, 1152289.086 935123.135 0, 1152012.798 935114.18 0, 1151736.51 935105.241 0, 1151460.222 935096.318 0, 1151183.932 935087.412 0,
+ 1150907.643 935078.521 0, 1150631.352 935069.647 0, 1150355.061 935060.79 0, 1150078.77 935051.948 0, 1149802.478 935043.123 0, 1149526.186 935034.314 0, 1149249.893 935025.521 0, 1148973.6 935016.745 0, 1148697.306 935007.985 0, 1148421.011 934999.241 0,
+ 1148144.716 934990.513 0, 1147868.421 934981.802 0, 1147592.125 934973.107 0, 1147315.828 934964.428 0, 1147039.531 934955.765 0, 1146763.234 934947.119 0, 1146486.936 934938.489 0, 1146210.637 934929.875 0, 1145933.025 934921.237 0, 1145759.67 940497.661 0,
+ 1145586.312 946074.215 0, 1145863.265 946082.833 0, 1146138.907 946091.426 0, 1146414.548 946100.035 0, 1146690.189 946108.661 0, 1146965.83 946117.303 0, 1147241.47 946125.962 0, 1147517.11 946134.636 0, 1147792.749 946143.327 0, 1148068.387 946152.034 0,
+ 1148344.025 946160.757 0, 1148619.663 946169.496 0, 1148895.3 946178.252 0, 1149170.936 946187.023 0, 1149446.572 946195.811 0, 1149722.207 946204.616 0, 1149997.842 946213.436 0, 1150273.477 946222.273 0, 1150549.111 946231.126 0, 1150824.744 946239.995 0,
+ 1151100.377 946248.88 0, 1151376.009 946257.782 0, 1151651.641 946266.7 0, 1151927.272 946275.634 0, 1152201.593 946284.541 0, 1152478.533 946293.55 0, 1152754.163 946302.533 0, 1153029.792 946311.532 0, 1153305.42 946320.547 0, 1153581.048 946329.578 0,
+ 1153856.676 946338.626 0, 1154132.303 946347.69 0, 1154407.929 946356.77 0, 1154683.555 946365.866 0, 1154959.181 946374.979 0, 1155234.806 946384.107 0, 1155510.43 946393.252 0, 1155786.054 946402.413 0, 1156061.677 946411.591 0, 1156337.3 946420.784 0,
+ 1156612.922 946429.994 0, 1156888.543 946439.22 0, 1157164.165 946448.462 0, 1157439.785 946457.721 0, 1157715.405 946466.996 0, 1157991.025 946476.287 0, 1158266.643 946485.594 0, 1158542.262 946494.917 0, 1158816.571 946504.212 0, 1159005.684 940928.17 0,
+ 1159194.792 935352.258 0))
+
+POLYGON ((1172045.563 946971.586 0, 1171771.279 946961.516 0, 1171495.688 946951.414 0, 1171220.097 946941.328 0, 1170944.504 946931.258 0, 1170668.912 946921.205 0, 1170393.319 946911.168 0, 1170117.725 946901.147 0, 1169842.13 946891.142 0, 1169566.535 946881.154 0,
+ 1169290.94 946871.182 0, 1169015.343 946861.226 0, 1168739.746 946851.286 0, 1168464.149 946841.362 0, 1168188.551 946831.455 0, 1167912.953 946821.564 0, 1167637.353 946811.689 0, 1167361.754 946801.83 0, 1167086.153 946791.988 0, 1166810.553 946782.161 0,
+ 1166534.951 946772.351 0, 1166259.349 946762.558 0, 1165983.746 946752.78 0, 1165708.143 946743.019 0, 1165431.232 946733.227 0, 1165156.935 946723.545 0, 1164881.33 946713.832 0, 1164605.725 946704.135 0, 1164330.119 946694.455 0, 1164054.512 946684.791 0,
+ 1163778.905 946675.143 0, 1163503.297 946665.512 0, 1163227.689 946655.896 0, 1162952.08 946646.297 0, 1162676.471 946636.714 0, 1162400.861 946627.148 0, 1162125.25 946617.597 0, 1161849.639 946608.063 0, 1161574.027 946598.545 0, 1161298.415 946589.043 0,
+ 1161022.802 946579.557 0, 1160747.189 946570.088 0, 1160471.575 946560.635 0, 1160195.96 946551.198 0, 1159920.345 946541.777 0, 1159644.73 946532.373 0, 1159369.113 946522.984 0, 1159093.497 946513.612 0, 1158816.571 946504.212 0, 1158627.454 952080.381 0,
+ 1158438.333 957656.672 0, 1158714.599 957666.049 0, 1158989.559 957675.399 0, 1159264.519 957684.765 0, 1159539.478 957694.147 0, 1159814.437 957703.545 0, 1160089.395 957712.96 0, 1160364.353 957722.391 0, 1160639.31 957731.837 0, 1160914.266 957741.3 0,
+ 1161189.222 957750.78 0, 1161464.177 957760.275 0, 1161739.132 957769.786 0, 1162014.086 957779.314 0, 1162289.04 957788.858 0, 1162563.993 957798.418 0, 1162838.945 957807.994 0, 1163113.897 957817.587 0, 1163388.849 957827.196 0, 1163663.799 957836.82 0,
+ 1163938.75 957846.461 0, 1164213.699 957856.119 0, 1164488.648 957865.792 0, 1164763.597 957875.482 0, 1165037.241 957885.141 0, 1165313.492 957894.909 0, 1165588.439 957904.647 0, 1165863.385 957914.402 0, 1166138.331 957924.172 0, 1166413.276 957933.959 0,
+ 1166688.22 957943.762 0, 1166963.164 957953.581 0, 1167238.108 957963.416 0, 1167513.051 957973.267 0, 1167787.993 957983.135 0, 1168062.934 957993.019 0, 1168337.875 958002.919 0, 1168612.816 958012.835 0, 1168887.756 958022.767 0, 1169162.695 958032.716 0,
+ 1169437.634 958042.68 0, 1169712.572 958052.661 0, 1169987.509 958062.658 0, 1170262.446 958072.671 0, 1170537.382 958082.701 0, 1170812.318 958092.746 0, 1171087.253 958102.808 0, 1171362.188 958112.886 0, 1171635.819 958122.932 0, 1171840.694 952547.198 0,
+ 1172045.563 946971.586 0))
+
+POLYGON ((1184831.935 958626.476 0, 1184558.331 958615.657 0, 1184283.426 958604.802 0, 1184008.521 958593.964 0, 1183733.614 958583.142 0, 1183458.707 958572.335 0, 1183183.8 958561.546 0, 1182908.892 958550.772 0, 1182633.983 958540.014 0, 1182359.073 958529.273 0,
+ 1182084.163 958518.548 0, 1181809.253 958507.839 0, 1181534.341 958497.146 0, 1181259.429 958486.469 0, 1180984.517 958475.809 0, 1180709.604 958465.164 0, 1180434.69 958454.536 0, 1180159.775 958443.924 0, 1179884.86 958433.329 0, 1179609.944 958422.749 0,
+ 1179335.028 958412.186 0, 1179060.111 958401.638 0, 1178785.194 958391.107 0, 1178510.275 958380.592 0, 1178234.055 958370.044 0, 1177960.437 958359.611 0, 1177685.517 958349.145 0, 1177410.596 958338.695 0, 1177135.675 958328.261 0, 1176860.753 958317.843 0,
+ 1176585.831 958307.442 0, 1176310.908 958297.056 0, 1176035.984 958286.687 0, 1175761.06 958276.334 0, 1175486.135 958265.997 0, 1175211.209 958255.676 0, 1174936.283 958245.372 0, 1174661.356 958235.084 0, 1174386.429 958224.811 0, 1174111.501 958214.555 0,
+ 1173836.572 958204.316 0, 1173561.643 958194.092 0, 1173286.713 958183.885 0, 1173011.783 958173.694 0, 1172736.852 958163.518 0, 1172461.92 958153.36 0, 1172186.988 958143.217 0, 1171912.055 958133.09 0, 1171635.819 958122.932 0, 1171430.94 963698.785 0,
+ 1171226.057 969274.752 0, 1171501.634 969284.886 0, 1171775.911 969294.988 0, 1172050.186 969305.107 0, 1172324.462 969315.241 0, 1172598.736 969325.392 0, 1172873.01 969335.559 0, 1173147.284 969345.742 0, 1173421.556 969355.941 0, 1173695.829 969366.156 0,
+ 1173970.1 969376.388 0, 1174244.371 969386.636 0, 1174518.642 969396.899 0, 1174792.912 969407.179 0, 1175067.181 969417.475 0, 1175341.449 969427.787 0, 1175615.717 969438.116 0, 1175889.985 969448.46 0, 1176164.251 969458.821 0, 1176438.518 969469.198 0,
+ 1176712.783 969479.59 0, 1176987.048 969489.999 0, 1177261.312 969500.425 0, 1177535.576 969510.866 0, 1177808.541 969521.274 0, 1178084.102 969531.797 0, 1178358.364 969542.287 0, 1178632.625 969552.793 0, 1178906.885 969563.315 0, 1179181.145 969573.853 0,
+ 1179455.405 969584.407 0, 1179729.664 969594.978 0, 1180003.922 969605.564 0, 1180278.179 969616.167 0, 1180552.436 969626.786 0, 1180826.692 969637.421 0, 1181100.948 969648.072 0, 1181375.203 969658.739 0, 1181649.457 969669.423 0, 1181923.711 969680.122 0,
+ 1182197.964 969690.838 0, 1182472.217 969701.57 0, 1182746.469 969712.318 0, 1183020.72 969723.082 0, 1183294.97 969733.863 0, 1183569.22 969744.659 0, 1183843.47 969755.472 0, 1184117.718 969766.3 0, 1184390.669 969777.094 0, 1184611.304 964201.728 0,
+ 1184831.935 958626.476 0))
+
+POLYGON ((1197553.809 970316.626 0, 1197280.888 970305.061 0, 1197006.671 970293.458 0, 1196732.453 970281.871 0, 1196458.235 970270.299 0, 1196184.016 970258.744 0, 1195909.796 970247.205 0, 1195635.576 970235.683 0, 1195361.354 970224.176 0, 1195087.133 970212.685 0,
+ 1194812.91 970201.211 0, 1194538.687 970189.753 0, 1194264.463 970178.311 0, 1193990.239 970166.885 0, 1193716.014 970155.475 0, 1193441.788 970144.081 0, 1193167.562 970132.704 0, 1192893.334 970121.342 0, 1192619.107 970109.997 0, 1192344.878 970098.668 0,
+ 1192070.649 970087.355 0, 1191796.419 970076.058 0, 1191522.189 970064.778 0, 1191247.958 970053.513 0, 1190972.429 970042.211 0, 1190699.493 970031.032 0, 1190425.26 970019.816 0, 1190151.026 970008.616 0, 1189876.792 969997.432 0, 1189602.557 969986.265 0,
+ 1189328.321 969975.113 0, 1189054.085 969963.978 0, 1188779.848 969952.858 0, 1188505.61 969941.755 0, 1188231.372 969930.668 0, 1187957.133 969919.597 0, 1187682.893 969908.543 0, 1187408.653 969897.504 0, 1187134.412 969886.482 0, 1186860.17 969875.475 0,
+ 1186585.928 969864.485 0, 1186311.685 969853.511 0, 1186037.441 969842.553 0, 1185763.197 969831.612 0, 1185488.952 969820.686 0, 1185214.707 969809.777 0, 1184940.461 969798.883 0, 1184666.214 969788.006 0, 1184390.669 969777.094 0, 1184170.029 975352.57 0,
+ 1183949.386 980928.153 0, 1184224.271 980939.039 0, 1184497.861 980949.89 0, 1184771.451 980960.757 0, 1185045.04 980971.641 0, 1185318.629 980982.54 0, 1185592.217 980993.456 0, 1185865.804 981004.387 0, 1186139.391 981015.335 0, 1186412.977 981026.299 0,
+ 1186686.562 981037.279 0, 1186960.147 981048.275 0, 1187233.731 981059.287 0, 1187507.314 981070.315 0, 1187780.897 981081.36 0, 1188054.479 981092.42 0, 1188328.06 981103.497 0, 1188601.641 981114.589 0, 1188875.221 981125.698 0, 1189148.8 981136.823 0,
+ 1189422.379 981147.964 0, 1189695.957 981159.121 0, 1189969.535 981170.294 0, 1190243.112 981181.483 0, 1190515.395 981192.636 0, 1190790.263 981203.91 0, 1191063.838 981215.148 0, 1191337.412 981226.401 0, 1191610.986 981237.671 0, 1191884.559 981248.957 0,
+ 1192158.131 981260.259 0, 1192431.702 981271.577 0, 1192705.273 981282.911 0, 1192978.843 981294.262 0, 1193252.413 981305.628 0, 1193525.982 981317.011 0, 1193799.55 981328.409 0, 1194073.118 981339.824 0, 1194346.684 981351.255 0, 1194620.251 981362.702 0,
+ 1194893.816 981374.165 0, 1195167.381 981385.644 0, 1195440.945 981397.139 0, 1195714.508 981408.65 0, 1195988.071 981420.178 0, 1196261.633 981431.721 0, 1196535.195 981443.281 0, 1196808.755 981454.857 0, 1197081.023 981466.394 0, 1197317.418 975891.457 0,
+ 1197553.809 970316.626 0))
+
+POLYGON ((1210211.088 982041.732 0, 1209938.852 982029.426 0, 1209665.325 982017.077 0, 1209391.797 982004.745 0, 1209118.269 981992.428 0, 1208844.74 981980.128 0, 1208571.21 981967.844 0, 1208297.679 981955.576 0, 1208024.148 981943.324 0, 1207750.616 981931.088 0,
+ 1207477.083 981918.868 0, 1207203.55 981906.665 0, 1206930.016 981894.477 0, 1206656.481 981882.306 0, 1206382.945 981870.15 0, 1206109.409 981858.011 0, 1205835.872 981845.888 0, 1205562.334 981833.781 0, 1205288.796 981821.69 0, 1205015.256 981809.615 0,
+ 1204741.717 981797.556 0, 1204468.176 981785.514 0, 1204194.635 981773.487 0, 1203921.093 981761.477 0, 1203646.259 981749.426 0, 1203374.007 981737.504 0, 1203100.462 981725.542 0, 1202826.918 981713.596 0, 1202553.372 981701.666 0, 1202279.826 981689.752 0,
+ 1202006.279 981677.855 0, 1201732.731 981665.973 0, 1201459.183 981654.107 0, 1201185.634 981642.258 0, 1200912.084 981630.425 0, 1200638.534 981618.607 0, 1200364.983 981606.806 0, 1200091.431 981595.021 0, 1199817.878 981583.252 0, 1199544.325 981571.499 0,
+ 1199270.771 981559.763 0, 1198997.217 981548.042 0, 1198723.662 981536.338 0, 1198450.106 981524.649 0, 1198176.549 981512.977 0, 1197902.992 981501.321 0, 1197629.434 981489.68 0, 1197355.875 981478.056 0, 1197081.023 981466.394 0, 1196844.624 987041.433 0,
+ 1196608.221 992616.57 0, 1196882.413 992628.205 0, 1197155.315 992639.801 0, 1197428.217 992651.413 0, 1197701.118 992663.041 0, 1197974.018 992674.686 0, 1198246.918 992686.346 0, 1198519.817 992698.023 0, 1198792.715 992709.715 0, 1199065.613 992721.424 0,
+ 1199338.51 992733.148 0, 1199611.406 992744.889 0, 1199884.302 992756.646 0, 1200157.197 992768.419 0, 1200430.091 992780.207 0, 1200702.984 992792.012 0, 1200975.877 992803.833 0, 1201248.769 992815.67 0, 1201521.66 992827.524 0, 1201794.551 992839.393 0,
+ 1202067.441 992851.278 0, 1202340.33 992863.179 0, 1202613.219 992875.097 0, 1202886.107 992887.03 0, 1203157.706 992898.923 0, 1203431.88 992910.945 0, 1203704.766 992922.927 0, 1203977.651 992934.925 0, 1204250.536 992946.938 0, 1204523.419 992958.968 0,
+ 1204796.302 992971.014 0, 1205069.184 992983.076 0, 1205342.066 992995.154 0, 1205614.947 993007.248 0, 1205887.827 993019.358 0, 1206160.706 993031.484 0, 1206433.585 993043.627 0, 1206706.463 993055.785 0, 1206979.34 993067.959 0, 1207252.217 993080.15 0,
+ 1207525.092 993092.356 0, 1207797.967 993104.579 0, 1208070.842 993116.817 0, 1208343.715 993129.072 0, 1208616.588 993141.343 0, 1208889.461 993153.629 0, 1209162.332 993165.932 0, 1209435.203 993178.251 0, 1209706.786 993190.528 0, 1209958.939 987616.081 0,
+ 1210211.088 982041.732 0))
+
+POLYGON ((1222803.678 993801.489 0, 1222532.128 993788.445 0, 1222259.293 993775.356 0, 1221986.458 993762.282 0, 1221713.621 993749.224 0, 1221440.784 993736.183 0, 1221167.946 993723.157 0, 1220895.107 993710.148 0, 1220622.268 993697.154 0, 1220349.428 993684.177 0,
+ 1220076.587 993671.216 0, 1219803.745 993658.27 0, 1219530.902 993645.341 0, 1219258.059 993632.428 0, 1218985.215 993619.531 0, 1218712.37 993606.65 0, 1218439.525 993593.785 0, 1218166.679 993580.936 0, 1217893.831 993568.103 0, 1217620.984 993555.286 0,
+ 1217348.135 993542.486 0, 1217075.286 993529.701 0, 1216802.436 993516.933 0, 1216529.585 993504.18 0, 1216255.448 993491.384 0, 1215983.881 993478.723 0, 1215711.028 993466.019 0, 1215438.174 993453.33 0, 1215165.319 993440.658 0, 1214892.464 993428.002 0,
+ 1214619.608 993415.362 0, 1214346.751 993402.738 0, 1214073.894 993390.13 0, 1213801.035 993377.538 0, 1213528.176 993364.962 0, 1213255.317 993352.402 0, 1212982.456 993339.859 0, 1212709.595 993327.331 0, 1212436.733 993314.819 0, 1212163.87 993302.324 0,
+ 1211891.007 993289.844 0, 1211618.143 993277.381 0, 1211345.278 993264.933 0, 1211072.412 993252.502 0, 1210799.546 993240.087 0, 1210526.679 993227.687 0, 1210253.811 993215.304 0, 1209980.942 993202.937 0, 1209706.786 993190.528 0, 1209454.629 998765.069 0,
+ 1209202.467 1004339.7 0, 1209475.964 1004352.08 0, 1209748.176 1004364.417 0, 1210020.388 1004376.77 0, 1210292.599 1004389.14 0, 1210564.809 1004401.525 0, 1210837.018 1004413.927 0, 1211109.227 1004426.344 0, 1211381.435 1004438.778 0, 1211653.642 1004451.227 0,
+ 1211925.849 1004463.693 0, 1212198.054 1004476.174 0, 1212470.259 1004488.672 0, 1212742.464 1004501.185 0, 1213014.667 1004513.715 0, 1213286.87 1004526.261 0, 1213559.072 1004538.822 0, 1213831.274 1004551.4 0, 1214103.474 1004563.994 0, 1214375.674 1004576.603 0,
+ 1214647.873 1004589.229 0, 1214920.072 1004601.871 0, 1215192.269 1004614.529 0, 1215464.466 1004627.202 0, 1215735.38 1004639.832 0, 1216008.858 1004652.598 0, 1216281.052 1004665.32 0, 1216553.246 1004678.058 0, 1216825.439 1004690.812 0, 1217097.632 1004703.582 0,
+ 1217369.823 1004716.368 0, 1217642.014 1004729.169 0, 1217914.205 1004741.987 0, 1218186.394 1004754.821 0, 1218458.583 1004767.671 0, 1218730.77 1004780.538 0, 1219002.958 1004793.42 0, 1219275.144 1004806.318 0, 1219547.329 1004819.232 0, 1219819.514 1004832.162 0,
+ 1220091.698 1004845.108 0, 1220363.882 1004858.07 0, 1220636.064 1004871.048 0, 1220908.246 1004884.043 0, 1221180.427 1004897.053 0, 1221452.607 1004910.079 0, 1221724.787 1004923.121 0, 1221996.966 1004936.18 0, 1222267.862 1004949.192 0, 1222535.772 999375.296 0,
+ 1222803.678 993801.489 0))
+
+POLYGON ((1235331.483 1005595.594 0, 1235060.622 1005581.816 0, 1234788.482 1005567.989 0, 1234516.34 1005554.178 0, 1234244.198 1005540.383 0, 1233972.055 1005526.604 0, 1233699.911 1005512.84 0, 1233427.766 1005499.093 0, 1233155.62 1005485.362 0, 1232883.474 1005471.647 0,
+ 1232611.327 1005457.948 0, 1232339.178 1005444.265 0, 1232067.03 1005430.598 0, 1231794.88 1005416.947 0, 1231522.73 1005403.312 0, 1231250.578 1005389.693 0, 1230978.426 1005376.09 0, 1230706.273 1005362.503 0, 1230434.12 1005348.932 0, 1230161.965 1005335.377 0,
+ 1229889.81 1005321.839 0, 1229617.654 1005308.316 0, 1229345.497 1005294.809 0, 1229073.34 1005281.318 0, 1228799.901 1005267.78 0, 1228529.022 1005254.385 0, 1228256.862 1005240.942 0, 1227984.701 1005227.515 0, 1227712.54 1005214.104 0, 1227440.377 1005200.71 0,
+ 1227168.214 1005187.331 0, 1226896.05 1005173.968 0, 1226623.885 1005160.622 0, 1226351.72 1005147.291 0, 1226079.554 1005133.976 0, 1225807.386 1005120.678 0, 1225535.219 1005107.395 0, 1225263.05 1005094.129 0, 1224990.881 1005080.878 0, 1224718.71 1005067.644 0,
+ 1224446.539 1005054.425 0, 1224174.368 1005041.223 0, 1223902.195 1005028.036 0, 1223630.022 1005014.866 0, 1223357.848 1005001.711 0, 1223085.673 1004988.573 0, 1222813.497 1004975.451 0, 1222541.321 1004962.344 0, 1222267.862 1004949.192 0, 1221999.948 1010523.175 0,
+ 1221732.03 1016097.239 0, 1222004.829 1016110.359 0, 1222276.35 1016123.434 0, 1222547.869 1016136.524 0, 1222819.388 1016149.631 0, 1223090.906 1016162.754 0, 1223362.423 1016175.892 0, 1223633.939 1016189.047 0, 1223905.455 1016202.218 0, 1224176.97 1016215.404 0,
+ 1224448.484 1016228.607 0, 1224719.997 1016241.826 0, 1224991.51 1016255.06 0, 1225263.022 1016268.311 0, 1225534.532 1016281.577 0, 1225806.043 1016294.86 0, 1226077.552 1016308.158 0, 1226349.061 1016321.473 0, 1226620.568 1016334.803 0, 1226892.076 1016348.15 0,
+ 1227163.582 1016361.512 0, 1227435.087 1016374.89 0, 1227706.592 1016388.285 0, 1227978.096 1016401.695 0, 1228248.322 1016415.058 0, 1228521.101 1016428.564 0, 1228792.603 1016442.022 0, 1229064.104 1016455.496 0, 1229335.603 1016468.986 0, 1229607.103 1016482.493 0,
+ 1229878.601 1016496.015 0, 1230150.098 1016509.553 0, 1230421.595 1016523.107 0, 1230693.091 1016536.677 0, 1230964.586 1016550.264 0, 1231236.081 1016563.866 0, 1231507.574 1016577.484 0, 1231779.067 1016591.118 0, 1232050.559 1016604.768 0, 1232322.05 1016618.434 0,
+ 1232593.54 1016632.116 0, 1232865.03 1016645.814 0, 1233136.519 1016659.528 0, 1233408.007 1016673.258 0, 1233679.494 1016687.004 0, 1233950.98 1016700.766 0, 1234222.466 1016714.543 0, 1234493.95 1016728.337 0, 1234764.158 1016742.082 0, 1235047.823 1011168.797 0,
+ 1235331.483 1005595.594 0))
+
+POLYGON ((1247794.412 1017423.741 0, 1247524.242 1017409.233 0, 1247252.798 1017394.672 0, 1246981.352 1017380.127 0, 1246709.906 1017365.599 0, 1246438.459 1017351.086 0, 1246167.011 1017336.589 0, 1245895.562 1017322.108 0, 1245624.112 1017307.643 0, 1245352.661 1017293.194 0,
+ 1245081.21 1017278.761 0, 1244809.758 1017264.344 0, 1244538.304 1017249.943 0, 1244266.85 1017235.558 0, 1243995.396 1017221.189 0, 1243723.94 1017206.836 0, 1243452.483 1017192.499 0, 1243181.026 1017178.177 0, 1242909.568 1017163.872 0, 1242638.109 1017149.583 0,
+ 1242366.649 1017135.31 0, 1242095.188 1017121.053 0, 1241823.726 1017106.811 0, 1241552.264 1017092.586 0, 1241279.526 1017078.31 0, 1241009.337 1017064.184 0, 1240737.872 1017050.006 0, 1240466.406 1017035.845 0, 1240194.939 1017021.699 0, 1239923.472 1017007.57 0,
+ 1239652.004 1016993.457 0, 1239380.535 1016979.359 0, 1239109.065 1016965.278 0, 1238837.594 1016951.212 0, 1238566.122 1016937.163 0, 1238294.65 1016923.129 0, 1238023.177 1016909.112 0, 1237751.703 1016895.11 0, 1237480.228 1016881.124 0, 1237208.752 1016867.155 0,
+ 1236937.276 1016853.201 0, 1236665.798 1016839.263 0, 1236394.32 1016825.342 0, 1236122.841 1016811.436 0, 1235851.361 1016797.546 0, 1235579.881 1016783.673 0, 1235308.399 1016769.815 0, 1235036.917 1016755.973 0, 1234764.158 1016742.082 0, 1234480.489 1022315.445 0,
+ 1234196.817 1027888.88 0, 1234468.917 1027902.738 0, 1234739.743 1027916.546 0, 1235010.569 1027930.37 0, 1235281.393 1027944.21 0, 1235552.217 1027958.067 0, 1235823.04 1027971.939 0, 1236093.862 1027985.827 0, 1236364.683 1027999.731 0, 1236635.504 1028013.651 0,
+ 1236906.323 1028027.587 0, 1237177.142 1028041.538 0, 1237447.96 1028055.506 0, 1237718.777 1028069.49 0, 1237989.593 1028083.489 0, 1238260.409 1028097.505 0, 1238531.224 1028111.536 0, 1238802.038 1028125.584 0, 1239072.851 1028139.647 0, 1239343.663 1028153.727 0,
+ 1239614.474 1028167.822 0, 1239885.285 1028181.933 0, 1240156.094 1028196.06 0, 1240426.903 1028210.203 0, 1240696.44 1028224.296 0, 1240968.519 1028238.537 0, 1241239.325 1028252.728 0, 1241510.131 1028266.935 0, 1241780.935 1028281.158 0, 1242051.739 1028295.396 0,
+ 1242322.542 1028309.651 0, 1242593.344 1028323.922 0, 1242864.146 1028338.208 0, 1243134.946 1028352.511 0, 1243405.746 1028366.829 0, 1243676.545 1028381.163 0, 1243947.343 1028395.514 0, 1244218.14 1028409.88 0, 1244488.936 1028424.262 0, 1244759.732 1028438.66 0,
+ 1245030.526 1028453.074 0, 1245301.32 1028467.504 0, 1245572.113 1028481.95 0, 1245842.905 1028496.412 0, 1246113.696 1028510.89 0, 1246384.487 1028525.384 0, 1246655.276 1028539.893 0, 1246926.065 1028554.419 0, 1247195.582 1028568.892 0, 1247494.999 1022996.28 0,
+ 1247794.412 1017423.741 0))
+
+POLYGON ((1260192.374 1029285.625 0, 1259922.896 1029270.39 0, 1259652.15 1029255.1 0, 1259381.402 1029239.825 0, 1259110.654 1029224.566 0, 1258839.905 1029209.324 0, 1258569.155 1029194.097 0, 1258298.404 1029178.886 0, 1258027.652 1029163.691 0, 1257756.899 1029148.512 0,
+ 1257486.145 1029133.349 0, 1257215.391 1029118.202 0, 1256944.635 1029103.07 0, 1256673.879 1029087.955 0, 1256403.122 1029072.856 0, 1256132.363 1029057.772 0, 1255861.604 1029042.705 0, 1255590.844 1029027.653 0, 1255320.084 1029012.618 0, 1255049.322 1028997.598 0,
+ 1254778.559 1028982.594 0, 1254507.796 1028967.607 0, 1254237.032 1028952.635 0, 1253966.266 1028937.679 0, 1253694.231 1028922.669 0, 1253424.733 1028907.815 0, 1253153.965 1028892.907 0, 1252883.197 1028878.014 0, 1252612.427 1028863.138 0, 1252341.657 1028848.278 0,
+ 1252070.885 1028833.434 0, 1251800.113 1028818.605 0, 1251529.34 1028803.793 0, 1251258.566 1028788.996 0, 1250987.791 1028774.216 0, 1250717.015 1028759.451 0, 1250446.239 1028744.702 0, 1250175.461 1028729.969 0, 1249904.683 1028715.252 0, 1249633.904 1028700.552 0,
+ 1249363.124 1028685.867 0, 1249092.343 1028671.197 0, 1248821.561 1028656.544 0, 1248550.779 1028641.907 0, 1248279.995 1028627.286 0, 1248009.211 1028612.681 0, 1247738.426 1028598.091 0, 1247467.639 1028583.518 0, 1247195.582 1028568.892 0, 1246896.161 1034141.573 0,
+ 1246596.737 1039714.32 0, 1246868.135 1039728.91 0, 1247138.265 1039743.448 0, 1247408.394 1039758.002 0, 1247678.523 1039772.572 0, 1247948.65 1039787.158 0, 1248218.777 1039801.76 0, 1248488.903 1039816.377 0, 1248759.028 1039831.011 0, 1249029.152 1039845.66 0,
+ 1249299.275 1039860.326 0, 1249569.397 1039875.007 0, 1249839.519 1039889.704 0, 1250109.639 1039904.417 0, 1250379.759 1039919.146 0, 1250649.878 1039933.891 0, 1250919.996 1039948.651 0, 1251190.113 1039963.428 0, 1251460.229 1039978.22 0, 1251730.345 1039993.029 0,
+ 1252000.459 1040007.853 0, 1252270.573 1040022.693 0, 1252540.686 1040037.549 0, 1252810.798 1040052.421 0, 1253079.642 1040067.239 0, 1253351.019 1040082.213 0, 1253621.128 1040097.133 0, 1253891.236 1040112.068 0, 1254161.344 1040127.02 0, 1254431.451 1040141.987 0,
+ 1254701.556 1040156.97 0, 1254971.661 1040171.97 0, 1255241.765 1040186.985 0, 1255511.868 1040202.016 0, 1255781.97 1040217.063 0, 1256052.072 1040232.125 0, 1256322.172 1040247.204 0, 1256592.272 1040262.299 0, 1256862.37 1040277.409 0, 1257132.468 1040292.535 0,
+ 1257402.565 1040307.678 0, 1257672.661 1040322.836 0, 1257942.756 1040338.01 0, 1258212.85 1040353.2 0, 1258482.944 1040368.406 0, 1258753.036 1040383.627 0, 1259023.128 1040398.865 0, 1259293.218 1040414.118 0, 1259562.043 1040429.316 0, 1259877.21 1034857.438 0,
+ 1260192.374 1029285.625 0))
+
+POLYGON ((1272525.277 1041180.939 0, 1272256.495 1041164.982 0, 1271986.448 1041148.966 0, 1271716.401 1041132.965 0, 1271446.353 1041116.98 0, 1271176.303 1041101.011 0, 1270906.253 1041085.058 0, 1270636.202 1041069.121 0, 1270366.15 1041053.2 0, 1270096.097 1041037.295 0,
+ 1269826.043 1041021.405 0, 1269555.988 1041005.532 0, 1269285.932 1040989.674 0, 1269015.875 1040973.833 0, 1268745.818 1040958.007 0, 1268475.759 1040942.197 0, 1268205.699 1040926.403 0, 1267935.639 1040910.625 0, 1267665.578 1040894.863 0, 1267395.515 1040879.116 0,
+ 1267125.452 1040863.386 0, 1266855.388 1040847.671 0, 1266585.323 1040831.973 0, 1266315.257 1040816.29 0, 1266043.925 1040800.55 0, 1265775.122 1040784.972 0, 1265505.053 1040769.337 0, 1265234.983 1040753.718 0, 1264964.913 1040738.115 0, 1264694.841 1040722.527 0,
+ 1264424.768 1040706.956 0, 1264154.695 1040691.4 0, 1263884.621 1040675.861 0, 1263614.546 1040660.337 0, 1263344.469 1040644.829 0, 1263074.392 1040629.337 0, 1262804.314 1040613.861 0, 1262534.236 1040598.401 0, 1262264.156 1040582.957 0, 1261994.075 1040567.528 0,
+ 1261723.993 1040552.116 0, 1261453.911 1040536.719 0, 1261183.828 1040521.338 0, 1260913.743 1040505.974 0, 1260643.658 1040490.625 0, 1260373.572 1040475.292 0, 1260103.485 1040459.974 0, 1259833.397 1040444.673 0, 1259562.043 1040429.316 0, 1259246.872 1046001.255 0,
+ 1258931.698 1051573.251 0, 1259202.393 1051588.571 0, 1259471.825 1051603.835 0, 1259741.257 1051619.115 0, 1260010.687 1051634.41 0, 1260280.116 1051649.722 0, 1260549.545 1051665.049 0, 1260818.972 1051680.393 0, 1261088.399 1051695.752 0, 1261357.824 1051711.127 0,
+ 1261627.249 1051726.518 0, 1261896.673 1051741.925 0, 1262166.096 1051757.347 0, 1262435.518 1051772.786 0, 1262704.939 1051788.24 0, 1262974.36 1051803.711 0, 1263243.779 1051819.197 0, 1263513.197 1051834.699 0, 1263782.615 1051850.216 0, 1264052.031 1051865.75 0,
+ 1264321.447 1051881.299 0, 1264590.862 1051896.865 0, 1264860.276 1051912.446 0, 1265129.689 1051928.043 0, 1265397.84 1051943.583 0, 1265668.512 1051959.285 0, 1265937.922 1051974.93 0, 1266207.331 1051990.59 0, 1266476.74 1052006.266 0, 1266746.147 1052021.959 0,
+ 1267015.554 1052037.667 0, 1267284.959 1052053.391 0, 1267554.364 1052069.13 0, 1267823.768 1052084.886 0, 1268093.17 1052100.658 0, 1268362.572 1052116.445 0, 1268631.973 1052132.248 0, 1268901.373 1052148.067 0, 1269170.772 1052163.902 0, 1269440.17 1052179.753 0,
+ 1269709.568 1052195.62 0, 1269978.964 1052211.502 0, 1270248.359 1052227.4 0, 1270517.754 1052243.315 0, 1270787.147 1052259.245 0, 1271056.54 1052275.191 0, 1271325.931 1052291.152 0, 1271595.322 1052307.13 0, 1271863.452 1052323.049 0, 1272194.366 1046751.966 0,
+ 1272525.277 1041180.939 0))
+
+POLYGON ((1284793.035 1053109.378 0, 1284524.949 1053092.702 0, 1284255.605 1053075.963 0, 1283986.259 1053059.24 0, 1283716.913 1053042.533 0, 1283447.566 1053025.842 0, 1283178.217 1053009.167 0, 1282908.868 1052992.508 0, 1282639.518 1052975.864 0, 1282370.166 1052959.236 0,
+ 1282100.814 1052942.625 0, 1281831.461 1052926.029 0, 1281562.107 1052909.449 0, 1281292.751 1052892.884 0, 1281023.395 1052876.336 0, 1280754.038 1052859.803 0, 1280484.68 1052843.287 0, 1280215.321 1052826.786 0, 1279945.961 1052810.301 0, 1279676.6 1052793.832 0,
+ 1279407.238 1052777.378 0, 1279137.875 1052760.941 0, 1278868.511 1052744.519 0, 1278599.146 1052728.114 0, 1278328.521 1052711.647 0, 1278060.413 1052695.35 0, 1277791.045 1052678.992 0, 1277521.676 1052662.649 0, 1277252.307 1052646.323 0, 1276982.936 1052630.012 0,
+ 1276713.564 1052613.718 0, 1276444.192 1052597.439 0, 1276174.818 1052581.176 0, 1275905.444 1052564.929 0, 1275636.068 1052548.697 0, 1275366.692 1052532.482 0, 1275097.314 1052516.282 0, 1274827.936 1052500.098 0, 1274558.557 1052483.93 0, 1274289.176 1052467.778 0,
+ 1274019.795 1052451.642 0, 1273750.413 1052435.522 0, 1273481.03 1052419.417 0, 1273211.646 1052403.329 0, 1272942.261 1052387.256 0, 1272672.875 1052371.199 0, 1272403.488 1052355.158 0, 1272134.1 1052339.133 0, 1271863.452 1052323.049 0, 1271532.534 1057894.184 0,
+ 1271201.614 1063465.367 0, 1271471.603 1063481.412 0, 1271740.335 1063497.399 0, 1272009.066 1063513.401 0, 1272277.797 1063529.418 0, 1272546.526 1063545.452 0, 1272815.254 1063561.502 0, 1273083.981 1063577.567 0, 1273352.708 1063593.648 0, 1273621.433 1063609.745 0,
+ 1273890.158 1063625.857 0, 1274158.881 1063641.986 0, 1274427.604 1063658.13 0, 1274696.325 1063674.291 0, 1274965.046 1063690.467 0, 1275233.766 1063706.658 0, 1275502.484 1063722.866 0, 1275771.202 1063739.089 0, 1276039.919 1063755.329 0, 1276308.635 1063771.584 0,
+ 1276577.35 1063787.855 0, 1276846.064 1063804.141 0, 1277114.777 1063820.444 0, 1277383.489 1063836.762 0, 1277650.944 1063853.02 0, 1277920.91 1063869.446 0, 1278189.619 1063885.812 0, 1278458.327 1063902.194 0, 1278727.035 1063918.591 0, 1278995.741 1063935.004 0,
+ 1279264.446 1063951.433 0, 1279533.15 1063967.878 0, 1279801.854 1063984.339 0, 1280070.556 1064000.815 0, 1280339.258 1064017.308 0, 1280607.958 1064033.816 0, 1280876.658 1064050.34 0, 1281145.356 1064066.879 0, 1281414.054 1064083.435 0, 1281682.75 1064100.006 0,
+ 1281951.446 1064116.594 0, 1282220.14 1064133.197 0, 1282488.834 1064149.815 0, 1282757.527 1064166.45 0, 1283026.218 1064183.101 0, 1283294.909 1064199.767 0, 1283563.599 1064216.449 0, 1283832.287 1064233.147 0, 1284099.721 1064249.782 0, 1284446.379 1058679.556 0,
+ 1284793.035 1053109.378 0))
+
+POLYGON ((1296995.56 1065070.634 0, 1296728.173 1065053.243 0, 1296459.532 1065035.786 0, 1296190.891 1065018.345 0, 1295922.248 1065000.919 0, 1295653.605 1064983.51 0, 1295384.96 1064966.116 0, 1295116.315 1064948.738 0, 1294847.668 1064931.376 0, 1294579.02 1064914.03 0,
+ 1294310.372 1064896.699 0, 1294041.722 1064879.385 0, 1293773.071 1064862.086 0, 1293504.42 1064844.803 0, 1293235.767 1064827.536 0, 1292967.113 1064810.285 0, 1292698.458 1064793.049 0, 1292429.802 1064775.829 0, 1292161.146 1064758.625 0, 1291892.488 1064741.437 0,
+ 1291623.829 1064724.265 0, 1291355.169 1064707.108 0, 1291086.508 1064689.968 0, 1290817.846 1064672.843 0, 1290547.93 1064655.654 0, 1290280.52 1064638.641 0, 1290011.855 1064621.563 0, 1289743.189 1064604.501 0, 1289474.522 1064587.456 0, 1289205.854 1064570.426 0,
+ 1288937.185 1064553.412 0, 1288668.515 1064536.413 0, 1288399.845 1064519.431 0, 1288131.173 1064502.464 0, 1287862.5 1064485.513 0, 1287593.826 1064468.578 0, 1287325.151 1064451.659 0, 1287056.475 1064434.755 0, 1286787.798 1064417.867 0, 1286519.12 1064400.996 0,
+ 1286250.442 1064384.14 0, 1285981.762 1064367.299 0, 1285713.081 1064350.475 0, 1285444.399 1064333.666 0, 1285175.716 1064316.873 0, 1284907.032 1064300.097 0, 1284638.348 1064283.335 0, 1284369.662 1064266.59 0, 1284099.721 1064249.782 0, 1283753.059 1069820.053 0,
+ 1283406.395 1075390.362 0, 1283675.678 1075407.129 0, 1283943.708 1075423.833 0, 1284211.737 1075440.554 0, 1284479.765 1075457.29 0, 1284747.792 1075474.041 0, 1285015.818 1075490.809 0, 1285283.843 1075507.592 0, 1285551.867 1075524.391 0, 1285819.891 1075541.206 0,
+ 1286087.913 1075558.037 0, 1286355.934 1075574.883 0, 1286623.954 1075591.746 0, 1286891.973 1075608.624 0, 1287159.992 1075625.517 0, 1287428.009 1075642.427 0, 1287696.025 1075659.352 0, 1287964.04 1075676.293 0, 1288232.054 1075693.25 0, 1288500.068 1075710.223 0,
+ 1288768.08 1075727.211 0, 1289036.091 1075744.216 0, 1289304.101 1075761.236 0, 1289572.111 1075778.271 0, 1289838.868 1075795.243 0, 1290108.126 1075812.39 0, 1290376.132 1075829.473 0, 1290644.137 1075846.572 0, 1290912.142 1075863.687 0, 1291180.145 1075880.817 0,
+ 1291448.147 1075897.963 0, 1291716.148 1075915.125 0, 1291984.148 1075932.303 0, 1292252.147 1075949.496 0, 1292520.145 1075966.706 0, 1292788.143 1075983.931 0, 1293056.139 1076001.172 0, 1293324.134 1076018.428 0, 1293592.128 1076035.7 0, 1293860.121 1076052.989 0,
+ 1294128.113 1076070.293 0, 1294396.104 1076087.612 0, 1294664.094 1076104.948 0, 1294932.083 1076122.299 0, 1295200.071 1076139.666 0, 1295468.058 1076157.049 0, 1295736.044 1076174.447 0, 1296004.029 1076191.862 0, 1296270.763 1076209.21 0, 1296633.163 1070639.902 0,
+ 1296995.56 1065070.634 0))
+
+POLYGON ((1309132.766 1077064.399 0, 1308866.08 1077046.297 0, 1308598.145 1077028.126 0, 1308330.21 1077009.97 0, 1308062.273 1076991.83 0, 1307794.335 1076973.706 0, 1307526.396 1076955.598 0, 1307258.456 1076937.505 0, 1306990.515 1076919.429 0, 1306722.573 1076901.368 0,
+ 1306454.63 1076883.322 0, 1306186.686 1076865.293 0, 1305918.741 1076847.279 0, 1305650.794 1076829.282 0, 1305382.847 1076811.299 0, 1305114.898 1076793.333 0, 1304846.949 1076775.383 0, 1304578.998 1076757.448 0, 1304311.047 1076739.529 0, 1304043.094 1076721.625 0,
+ 1303775.14 1076703.738 0, 1303507.186 1076685.866 0, 1303239.23 1076668.01 0, 1302971.273 1076650.17 0, 1302702.067 1076632.263 0, 1302435.356 1076614.537 0, 1302167.396 1076596.744 0, 1301899.435 1076578.967 0, 1301631.473 1076561.206 0, 1301363.51 1076543.46 0,
+ 1301095.545 1076525.73 0, 1300827.58 1076508.016 0, 1300559.614 1076490.318 0, 1300291.647 1076472.636 0, 1300023.678 1076454.969 0, 1299755.709 1076437.318 0, 1299487.738 1076419.683 0, 1299219.767 1076402.064 0, 1298951.794 1076384.46 0, 1298683.821 1076366.872 0,
+ 1298415.846 1076349.3 0, 1298147.871 1076331.744 0, 1297879.894 1076314.203 0, 1297611.916 1076296.679 0, 1297343.938 1076279.17 0, 1297075.958 1076261.677 0, 1296807.977 1076244.199 0, 1296539.995 1076226.738 0, 1296270.763 1076209.21 0, 1295908.361 1081778.554 0,
+ 1295545.957 1087347.928 0, 1295814.531 1087365.412 0, 1296081.857 1087382.831 0, 1296349.182 1087400.266 0, 1296616.506 1087417.716 0, 1296883.829 1087435.182 0, 1297151.151 1087452.664 0, 1297418.472 1087470.162 0, 1297685.792 1087487.675 0, 1297953.111 1087505.204 0,
+ 1298220.429 1087522.749 0, 1298487.746 1087540.31 0, 1298755.062 1087557.886 0, 1299022.377 1087575.478 0, 1299289.691 1087593.086 0, 1299557.004 1087610.709 0, 1299824.316 1087628.348 0, 1300091.626 1087646.003 0, 1300358.936 1087663.674 0, 1300626.245 1087681.36 0,
+ 1300893.552 1087699.062 0, 1301160.859 1087716.78 0, 1301428.164 1087734.514 0, 1301695.469 1087752.263 0, 1301961.527 1087769.945 0, 1302230.075 1087787.809 0, 1302497.376 1087805.605 0, 1302764.676 1087823.418 0, 1303031.975 1087841.246 0, 1303299.274 1087859.089 0,
+ 1303566.571 1087876.949 0, 1303833.867 1087894.824 0, 1304101.162 1087912.715 0, 1304368.456 1087930.622 0, 1304635.749 1087948.544 0, 1304903.041 1087966.482 0, 1305170.331 1087984.436 0, 1305437.621 1088002.406 0, 1305704.91 1088020.391 0, 1305972.197 1088038.392 0,
+ 1306239.484 1088056.409 0, 1306506.77 1088074.441 0, 1306774.054 1088092.49 0, 1307041.337 1088110.554 0, 1307308.62 1088128.633 0, 1307575.901 1088146.729 0, 1307843.181 1088164.84 0, 1308110.46 1088182.967 0, 1308376.494 1088201.025 0, 1308754.632 1082632.697 0,
+ 1309132.766 1077064.399 0))
+
+POLYGON ((1321204.57 1089090.367 0, 1320938.586 1089071.557 0, 1320671.359 1089052.675 0, 1320404.131 1089033.809 0, 1320136.902 1089014.959 0, 1319869.672 1088996.124 0, 1319602.441 1088977.305 0, 1319335.209 1088958.501 0, 1319067.975 1088939.714 0, 1318800.74 1088920.942 0,
+ 1318533.505 1088902.186 0, 1318266.268 1088883.446 0, 1317999.03 1088864.721 0, 1317731.791 1088846.012 0, 1317464.551 1088827.319 0, 1317197.31 1088808.641 0, 1316930.067 1088789.98 0, 1316662.824 1088771.334 0, 1316395.579 1088752.703 0, 1316128.334 1088734.089 0,
+ 1315861.087 1088715.49 0, 1315593.839 1088696.907 0, 1315326.59 1088678.339 0, 1315059.34 1088659.788 0, 1314790.847 1088641.166 0, 1314524.837 1088622.732 0, 1314257.584 1088604.227 0, 1313990.33 1088585.739 0, 1313723.074 1088567.266 0, 1313455.818 1088548.808 0,
+ 1313188.56 1088530.367 0, 1312921.301 1088511.941 0, 1312654.041 1088493.531 0, 1312386.781 1088475.137 0, 1312119.519 1088456.758 0, 1311852.256 1088438.395 0, 1311584.992 1088420.048 0, 1311317.726 1088401.717 0, 1311050.46 1088383.401 0, 1310783.193 1088365.101 0,
+ 1310515.924 1088346.817 0, 1310248.655 1088328.548 0, 1309981.384 1088310.296 0, 1309714.113 1088292.059 0, 1309446.84 1088273.837 0, 1309179.566 1088255.632 0, 1308912.291 1088237.442 0, 1308645.015 1088219.268 0, 1308376.494 1088201.025 0, 1307998.356 1093769.38 0,
+ 1307620.215 1099337.757 0, 1307888.078 1099355.955 0, 1308154.698 1099374.084 0, 1308421.317 1099392.23 0, 1308687.936 1099410.391 0, 1308954.553 1099428.567 0, 1309221.169 1099446.76 0, 1309487.784 1099464.968 0, 1309754.398 1099483.191 0, 1310021.011 1099501.431 0,
+ 1310287.623 1099519.686 0, 1310554.234 1099537.956 0, 1310820.844 1099556.243 0, 1311087.452 1099574.545 0, 1311354.06 1099592.863 0, 1311620.666 1099611.196 0, 1311887.272 1099629.546 0, 1312153.876 1099647.91 0, 1312420.479 1099666.291 0, 1312687.082 1099684.687 0,
+ 1312953.683 1099703.099 0, 1313220.283 1099721.527 0, 1313486.882 1099739.97 0, 1313753.479 1099758.429 0, 1314018.836 1099776.818 0, 1314286.672 1099795.395 0, 1314553.266 1099813.901 0, 1314819.86 1099832.423 0, 1315086.452 1099850.96 0, 1315353.043 1099869.513 0,
+ 1315619.634 1099888.082 0, 1315886.223 1099906.667 0, 1316152.811 1099925.267 0, 1316419.398 1099943.883 0, 1316685.984 1099962.515 0, 1316952.568 1099981.162 0, 1317219.152 1099999.825 0, 1317485.734 1100018.504 0, 1317752.316 1100037.198 0, 1318018.896 1100055.908 0,
+ 1318285.475 1100074.634 0, 1318552.054 1100093.376 0, 1318818.631 1100112.133 0, 1319085.207 1100130.906 0, 1319351.781 1100149.694 0, 1319618.355 1100168.499 0, 1319884.928 1100187.319 0, 1320151.499 1100206.154 0, 1320416.831 1100224.918 0, 1320810.701 1094657.631 0,
+ 1321204.57 1089090.367 0))
+
+POLYGON ((1333210.889 1101148.228 0, 1332945.609 1101128.715 0, 1332679.092 1101109.126 0, 1332412.574 1101089.553 0, 1332146.054 1101069.996 0, 1331879.534 1101050.454 0, 1331613.012 1101030.928 0, 1331346.489 1101011.418 0, 1331079.965 1100991.923 0, 1330813.439 1100972.445 0,
+ 1330546.913 1100952.981 0, 1330280.385 1100933.534 0, 1330013.857 1100914.102 0, 1329747.327 1100894.686 0, 1329480.796 1100875.286 0, 1329214.264 1100855.901 0, 1328947.731 1100836.532 0, 1328681.196 1100817.178 0, 1328414.661 1100797.841 0, 1328148.124 1100778.519 0,
+ 1327881.586 1100759.212 0, 1327615.047 1100739.922 0, 1327348.507 1100720.647 0, 1327081.966 1100701.388 0, 1326814.186 1100682.055 0, 1326548.88 1100662.916 0, 1326282.335 1100643.704 0, 1326015.79 1100624.508 0, 1325749.243 1100605.327 0, 1325482.695 1100586.162 0,
+ 1325216.146 1100567.012 0, 1324949.595 1100547.879 0, 1324683.044 1100528.761 0, 1324416.491 1100509.658 0, 1324149.938 1100490.571 0, 1323883.383 1100471.501 0, 1323616.827 1100452.445 0, 1323350.27 1100433.406 0, 1323083.712 1100414.382 0, 1322817.153 1100395.373 0,
+ 1322550.593 1100376.381 0, 1322284.031 1100357.404 0, 1322017.468 1100338.443 0, 1321750.905 1100319.497 0, 1321484.34 1100300.568 0, 1321217.774 1100281.654 0, 1320951.207 1100262.755 0, 1320684.639 1100243.873 0, 1320416.831 1100224.918 0, 1320022.959 1105792.222 0,
+ 1319629.086 1111359.541 0, 1319896.236 1111378.449 0, 1320162.149 1111397.285 0, 1320428.06 1111416.137 0, 1320693.971 1111435.004 0, 1320959.88 1111453.888 0, 1321225.789 1111472.786 0, 1321491.696 1111491.701 0, 1321757.602 1111510.631 0, 1322023.507 1111529.577 0,
+ 1322289.411 1111548.539 0, 1322555.314 1111567.516 0, 1322821.215 1111586.508 0, 1323087.116 1111605.517 0, 1323353.015 1111624.541 0, 1323618.914 1111643.581 0, 1323884.811 1111662.636 0, 1324150.707 1111681.707 0, 1324416.602 1111700.794 0, 1324682.496 1111719.896 0,
+ 1324948.388 1111739.014 0, 1325214.28 1111758.148 0, 1325480.17 1111777.297 0, 1325746.06 1111796.462 0, 1326010.714 1111815.554 0, 1326277.835 1111834.839 0, 1326543.721 1111854.051 0, 1326809.606 1111873.278 0, 1327075.489 1111892.522 0, 1327341.372 1111911.78 0,
+ 1327607.253 1111931.055 0, 1327873.134 1111950.345 0, 1328139.013 1111969.651 0, 1328404.891 1111988.972 0, 1328670.768 1112008.309 0, 1328936.643 1112027.662 0, 1329202.518 1112047.03 0, 1329468.391 1112066.414 0, 1329734.264 1112085.814 0, 1330000.135 1112105.229 0,
+ 1330266.005 1112124.66 0, 1330531.874 1112144.107 0, 1330797.741 1112163.569 0, 1331063.608 1112183.047 0, 1331329.473 1112202.541 0, 1331595.338 1112222.05 0, 1331861.201 1112241.575 0, 1332127.063 1112261.115 0, 1332391.69 1112280.581 0, 1332801.29 1106714.398 0,
+ 1333210.889 1101148.228 0))
+
+POLYGON ((1345151.641 1113237.674 0, 1344887.068 1113217.461 0, 1344621.262 1113197.169 0, 1344355.455 1113176.894 0, 1344089.647 1113156.633 0, 1343823.838 1113136.389 0, 1343558.027 1113116.16 0, 1343292.216 1113095.946 0, 1343026.403 1113075.749 0, 1342760.589 1113055.567 0,
+ 1342494.773 1113035.4 0, 1342228.957 1113015.25 0, 1341963.139 1112995.114 0, 1341697.321 1112974.995 0, 1341431.501 1112954.891 0, 1341165.679 1112934.803 0, 1340899.857 1112914.731 0, 1340634.034 1112894.674 0, 1340368.209 1112874.632 0, 1340102.383 1112854.607 0,
+ 1339836.556 1112834.597 0, 1339570.728 1112814.603 0, 1339304.898 1112794.624 0, 1339039.068 1112774.661 0, 1338772.004 1112754.621 0, 1338507.403 1112734.782 0, 1338241.569 1112714.866 0, 1337975.734 1112694.966 0, 1337709.897 1112675.081 0, 1337444.06 1112655.212 0,
+ 1337178.221 1112635.358 0, 1336912.381 1112615.52 0, 1336646.54 1112595.698 0, 1336380.697 1112575.892 0, 1336114.854 1112556.101 0, 1335849.009 1112536.326 0, 1335583.163 1112516.566 0, 1335317.317 1112496.822 0, 1335051.468 1112477.094 0, 1334785.619 1112457.381 0,
+ 1334519.769 1112437.684 0, 1334253.917 1112418.003 0, 1333988.064 1112398.337 0, 1333722.21 1112378.687 0, 1333456.355 1112359.053 0, 1333190.499 1112339.434 0, 1332924.642 1112319.831 0, 1332658.783 1112300.243 0, 1332391.69 1112280.581 0, 1331982.09 1117846.773 0,
+ 1331572.489 1123412.97 0, 1331838.924 1123432.584 0, 1332104.127 1123452.123 0, 1332369.329 1123471.678 0, 1332634.53 1123491.249 0, 1332899.73 1123510.835 0, 1333164.929 1123530.436 0, 1333430.126 1123550.054 0, 1333695.322 1123569.686 0, 1333960.518 1123589.335 0,
+ 1334225.712 1123608.999 0, 1334490.905 1123628.679 0, 1334756.096 1123648.374 0, 1335021.287 1123668.085 0, 1335286.476 1123687.811 0, 1335551.665 1123707.553 0, 1335816.852 1123727.311 0, 1336082.038 1123747.084 0, 1336347.223 1123766.873 0, 1336612.406 1123786.678 0,
+ 1336877.589 1123806.498 0, 1337142.77 1123826.334 0, 1337407.95 1123846.185 0, 1337673.129 1123866.052 0, 1337937.078 1123885.842 0, 1338203.483 1123905.833 0, 1338468.659 1123925.747 0, 1338733.833 1123945.676 0, 1338999.006 1123965.621 0, 1339264.178 1123985.582 0,
+ 1339529.349 1124005.558 0, 1339794.518 1124025.55 0, 1340059.687 1124045.557 0, 1340324.854 1124065.58 0, 1340590.02 1124085.619 0, 1340855.185 1124105.673 0, 1341120.348 1124125.743 0, 1341385.511 1124145.828 0, 1341650.672 1124165.929 0, 1341915.832 1124186.046 0,
+ 1342180.991 1124206.178 0, 1342446.149 1124226.326 0, 1342711.306 1124246.49 0, 1342976.461 1124266.669 0, 1343241.615 1124286.864 0, 1343506.768 1124307.074 0, 1343771.92 1124327.3 0, 1344037.071 1124347.541 0, 1344300.992 1124367.705 0, 1344726.317 1118802.687 0,
+ 1345151.641 1113237.674 0))
+
+POLYGON ((1357026.747 1125358.396 0, 1356762.882 1125337.487 0, 1356497.789 1125316.496 0, 1356232.696 1125295.521 0, 1355967.601 1125274.562 0, 1355702.505 1125253.618 0, 1355437.408 1125232.69 0, 1355172.309 1125211.777 0, 1354907.209 1125190.88 0, 1354642.108 1125169.999 0,
+ 1354377.006 1125149.133 0, 1354111.903 1125128.283 0, 1353846.798 1125107.449 0, 1353581.692 1125086.63 0, 1353316.585 1125065.826 0, 1353051.476 1125045.039 0, 1352786.367 1125024.267 0, 1352521.256 1125003.51 0, 1352256.144 1124982.769 0, 1351991.031 1124962.044 0,
+ 1351725.916 1124941.334 0, 1351460.801 1124920.64 0, 1351195.684 1124899.962 0, 1350930.566 1124879.299 0, 1350664.22 1124858.556 0, 1350400.326 1124838.02 0, 1350135.204 1124817.404 0, 1349870.081 1124796.803 0, 1349604.957 1124776.219 0, 1349339.831 1124755.649 0,
+ 1349074.705 1124735.096 0, 1348809.577 1124714.558 0, 1348544.448 1124694.035 0, 1348279.318 1124673.528 0, 1348014.186 1124653.037 0, 1347749.054 1124632.561 0, 1347483.92 1124612.101 0, 1347218.785 1124591.657 0, 1346953.649 1124571.228 0, 1346688.511 1124550.815 0,
+ 1346423.372 1124530.417 0, 1346158.233 1124510.035 0, 1345893.092 1124489.669 0, 1345627.949 1124469.318 0, 1345362.806 1124448.983 0, 1345097.661 1124428.664 0, 1344832.515 1124408.36 0, 1344567.368 1124388.071 0, 1344300.992 1124367.705 0, 1343875.667 1129932.723 0,
+ 1343450.343 1135497.737 0, 1343716.061 1135518.053 0, 1343980.553 1135538.291 0, 1344245.044 1135558.545 0, 1344509.533 1135578.814 0, 1344774.021 1135599.099 0, 1345038.509 1135619.4 0, 1345302.995 1135639.716 0, 1345567.479 1135660.047 0, 1345831.963 1135680.395 0,
+ 1346096.445 1135700.757 0, 1346360.927 1135721.136 0, 1346625.407 1135741.53 0, 1346889.885 1135761.939 0, 1347154.363 1135782.364 0, 1347418.839 1135802.805 0, 1347683.315 1135823.261 0, 1347947.789 1135843.733 0, 1348212.261 1135864.22 0, 1348476.733 1135884.723 0,
+ 1348741.203 1135905.241 0, 1349005.672 1135925.775 0, 1349270.14 1135946.325 0, 1349534.607 1135966.89 0, 1349797.849 1135987.375 0, 1350063.537 1136008.067 0, 1350328 1136028.679 0, 1350592.462 1136049.306 0, 1350856.923 1136069.949 0, 1351121.382 1136090.607 0,
+ 1351385.84 1136111.282 0, 1351650.297 1136131.971 0, 1351914.753 1136152.676 0, 1352179.208 1136173.397 0, 1352443.661 1136194.134 0, 1352708.113 1136214.885 0, 1352972.564 1136235.653 0, 1353237.014 1136256.436 0, 1353501.462 1136277.235 0, 1353765.91 1136298.049 0,
+ 1354030.356 1136318.879 0, 1354294.8 1136339.724 0, 1354559.244 1136360.585 0, 1354823.686 1136381.461 0, 1355088.127 1136402.353 0, 1355352.567 1136423.261 0, 1355617.006 1136444.184 0, 1355881.443 1136465.123 0, 1356144.657 1136485.98 0, 1356585.702 1130922.19 0,
+ 1357026.747 1125358.396 0))
+
+POLYGON ((1368836.129 1137510.083 0, 1368572.973 1137488.482 0, 1368308.596 1137466.796 0, 1368044.217 1137445.126 0, 1367779.837 1137423.472 0, 1367515.456 1137401.833 0, 1367251.074 1137380.209 0, 1366986.691 1137358.601 0, 1366722.306 1137337.009 0, 1366457.92 1137315.432 0,
+ 1366193.532 1137293.871 0, 1365929.143 1137272.325 0, 1365664.754 1137250.795 0, 1365400.362 1137229.281 0, 1365135.97 1137207.782 0, 1364871.576 1137186.298 0, 1364607.181 1137164.83 0, 1364342.785 1137143.378 0, 1364078.387 1137121.941 0, 1363813.989 1137100.52 0,
+ 1363549.589 1137079.115 0, 1363285.187 1137057.725 0, 1363020.785 1137036.35 0, 1362756.381 1137014.991 0, 1362490.754 1136993.549 0, 1362227.57 1136972.32 0, 1361963.162 1136951.008 0, 1361698.753 1136929.711 0, 1361434.343 1136908.43 0, 1361169.932 1136887.165 0,
+ 1360905.519 1136865.915 0, 1360641.105 1136844.68 0, 1360376.69 1136823.462 0, 1360112.274 1136802.258 0, 1359847.856 1136781.071 0, 1359583.437 1136759.898 0, 1359319.017 1136738.742 0, 1359054.596 1136717.601 0, 1358790.173 1136696.475 0, 1358525.75 1136675.365 0,
+ 1358261.325 1136654.271 0, 1357996.898 1136633.192 0, 1357732.471 1136612.129 0, 1357468.042 1136591.082 0, 1357203.612 1136570.049 0, 1356939.181 1136549.033 0, 1356674.748 1136528.032 0, 1356410.315 1136507.047 0, 1356144.657 1136485.98 0, 1355703.613 1142049.761 0,
+ 1355262.569 1147613.53 0, 1355527.569 1147634.545 0, 1355791.348 1147655.478 0, 1356055.125 1147676.427 0, 1356318.902 1147697.391 0, 1356582.677 1147718.371 0, 1356846.451 1147739.367 0, 1357110.223 1147760.378 0, 1357373.995 1147781.404 0, 1357637.765 1147802.446 0,
+ 1357901.534 1147823.504 0, 1358165.301 1147844.577 0, 1358429.068 1147865.666 0, 1358692.833 1147886.77 0, 1358956.597 1147907.89 0, 1359220.359 1147929.025 0, 1359484.121 1147950.176 0, 1359747.881 1147971.342 0, 1360011.64 1147992.524 0, 1360275.398 1148013.721 0,
+ 1360539.154 1148034.934 0, 1360802.909 1148056.162 0, 1361066.663 1148077.406 0, 1361330.416 1148098.666 0, 1361592.949 1148119.842 0, 1361857.918 1148141.231 0, 1362121.667 1148162.537 0, 1362385.414 1148183.859 0, 1362649.161 1148205.196 0, 1362912.906 1148226.548 0,
+ 1363176.65 1148247.916 0, 1363440.392 1148269.3 0, 1363704.134 1148290.699 0, 1363967.874 1148312.114 0, 1364231.613 1148333.544 0, 1364495.351 1148354.99 0, 1364759.087 1148376.451 0, 1365022.822 1148397.928 0, 1365286.556 1148419.42 0, 1365550.288 1148440.928 0,
+ 1365814.02 1148462.451 0, 1366077.75 1148483.99 0, 1366341.479 1148505.544 0, 1366605.206 1148527.114 0, 1366868.932 1148548.7 0, 1367132.657 1148570.301 0, 1367396.381 1148591.917 0, 1367660.103 1148613.549 0, 1367922.607 1148635.097 0, 1368379.367 1143072.596 0,
+ 1368836.129 1137510.083 0))
+
+POLYGON ((1380579.708 1149692.426 0, 1380317.264 1149670.137 0, 1380053.604 1149647.76 0, 1379789.942 1149625.398 0, 1379526.28 1149603.053 0, 1379262.615 1149580.722 0, 1378998.95 1149558.407 0, 1378735.283 1149536.108 0, 1378471.615 1149513.824 0, 1378207.946 1149491.556 0,
+ 1377944.275 1149469.303 0, 1377680.603 1149447.066 0, 1377416.929 1149424.844 0, 1377153.255 1149402.638 0, 1376889.579 1149380.447 0, 1376625.901 1149358.272 0, 1376362.223 1149336.112 0, 1376098.543 1149313.968 0, 1375834.862 1149291.839 0, 1375571.179 1149269.726 0,
+ 1375307.495 1149247.628 0, 1375043.81 1149225.546 0, 1374780.124 1149203.48 0, 1374516.436 1149181.429 0, 1374251.531 1149159.292 0, 1373989.057 1149137.373 0, 1373725.365 1149115.369 0, 1373461.672 1149093.38 0, 1373197.978 1149071.406 0, 1372934.283 1149049.448 0,
+ 1372670.586 1149027.506 0, 1372406.888 1149005.579 0, 1372143.189 1148983.668 0, 1371879.488 1148961.772 0, 1371615.786 1148939.891 0, 1371352.083 1148918.027 0, 1371088.378 1148896.177 0, 1370824.673 1148874.344 0, 1370560.966 1148852.525 0, 1370297.257 1148830.723 0,
+ 1370033.548 1148808.935 0, 1369769.837 1148787.164 0, 1369506.124 1148765.408 0, 1369242.411 1148743.667 0, 1368978.696 1148721.942 0, 1368714.98 1148700.232 0, 1368451.263 1148678.538 0, 1368187.544 1148656.86 0, 1367922.607 1148635.097 0, 1367465.848 1154197.579 0,
+ 1367009.092 1159760.04 0, 1367273.371 1159781.749 0, 1367536.435 1159803.374 0, 1367799.497 1159825.014 0, 1368062.558 1159846.67 0, 1368325.618 1159868.341 0, 1368588.677 1159890.028 0, 1368851.734 1159911.73 0, 1369114.791 1159933.447 0, 1369377.845 1159955.181 0,
+ 1369640.899 1159976.929 0, 1369903.951 1159998.693 0, 1370167.002 1160020.473 0, 1370430.052 1160042.268 0, 1370693.101 1160064.078 0, 1370956.148 1160085.904 0, 1371219.194 1160107.746 0, 1371482.238 1160129.603 0, 1371745.282 1160151.475 0, 1372008.324 1160173.363 0,
+ 1372271.364 1160195.267 0, 1372534.404 1160217.185 0, 1372797.442 1160239.12 0, 1373060.479 1160261.07 0, 1373322.301 1160282.934 0, 1373586.549 1160305.016 0, 1373849.582 1160327.012 0, 1374112.613 1160349.024 0, 1374375.644 1160371.051 0, 1374638.673 1160393.094 0,
+ 1374901.701 1160415.152 0, 1375164.727 1160437.226 0, 1375427.752 1160459.315 0, 1375690.776 1160481.42 0, 1375953.799 1160503.54 0, 1376216.82 1160525.676 0, 1376479.84 1160547.827 0, 1376742.859 1160569.993 0, 1377005.876 1160592.175 0, 1377268.892 1160614.373 0,
+ 1377531.907 1160636.586 0, 1377794.921 1160658.814 0, 1378057.933 1160681.058 0, 1378320.944 1160703.318 0, 1378583.953 1160725.593 0, 1378846.961 1160747.883 0, 1379109.968 1160770.189 0, 1379372.974 1160792.511 0, 1379634.766 1160814.745 0, 1380107.236 1155253.596 0,
+ 1380579.708 1149692.426 0))
+
+POLYGON ((788748.833 647289.815 0, 788457.057 647302.196 0, 788163.829 647314.655 0, 787870.602 647327.132 0, 787577.376 647339.626 0, 787284.151 647352.138 0, 786990.926 647364.666 0, 786697.702 647377.212 0, 786404.479 647389.775 0, 786111.257 647402.356 0,
+ 785818.035 647414.954 0, 785524.814 647427.569 0, 785231.594 647440.201 0, 784938.374 647452.85 0, 784645.156 647465.517 0, 784351.938 647478.201 0, 784058.72 647490.902 0, 783765.504 647503.621 0, 783472.288 647516.356 0, 783179.073 647529.109 0,
+ 782885.859 647541.88 0, 782592.646 647554.667 0, 782299.433 647567.472 0, 782006.221 647580.294 0, 781711.556 647593.197 0, 781419.799 647605.99 0, 781126.589 647618.864 0, 780833.381 647631.755 0, 780540.172 647644.663 0, 780246.965 647657.589 0,
+ 779953.758 647670.532 0, 779660.552 647683.492 0, 779367.347 647696.469 0, 779074.143 647709.464 0, 778780.939 647722.476 0, 778487.736 647735.505 0, 778194.534 647748.551 0, 777901.333 647761.615 0, 777608.132 647774.696 0, 777314.933 647787.794 0,
+ 777021.734 647800.909 0, 776728.535 647814.042 0, 776435.338 647827.192 0, 776142.141 647840.359 0, 775848.945 647853.544 0, 775555.75 647866.745 0, 775262.556 647879.964 0, 774969.362 647893.201 0, 774674.715 647906.52 0, 774926.283 653468.025 0,
+ 775177.865 659029.849 0, 775471.855 659016.559 0, 775764.393 659003.352 0, 776056.933 658990.163 0, 776349.474 658976.991 0, 776642.015 658963.836 0, 776934.557 658950.698 0, 777227.099 658937.577 0, 777519.643 658924.474 0, 777812.187 658911.388 0,
+ 778104.732 658898.319 0, 778397.278 658885.267 0, 778689.825 658872.233 0, 778982.372 658859.216 0, 779274.92 658846.215 0, 779567.469 658833.233 0, 779860.019 658820.267 0, 780152.569 658807.319 0, 780445.12 658794.387 0, 780737.672 658781.473 0,
+ 781030.225 658768.577 0, 781322.778 658755.697 0, 781615.333 658742.835 0, 781907.888 658729.99 0, 782198.993 658717.226 0, 782493 658704.351 0, 782785.557 658691.558 0, 783078.115 658678.782 0, 783370.674 658666.023 0, 783663.233 658653.281 0,
+ 783955.793 658640.556 0, 784248.354 658627.849 0, 784540.916 658615.159 0, 784833.479 658602.486 0, 785126.042 658589.83 0, 785418.606 658577.192 0, 785711.171 658564.571 0, 786003.736 658551.967 0, 786296.302 658539.38 0, 786588.869 658526.81 0,
+ 786881.437 658514.258 0, 787174.005 658501.723 0, 787466.574 658489.205 0, 787759.144 658476.704 0, 788051.715 658464.221 0, 788344.286 658451.755 0, 788636.858 658439.306 0, 788929.431 658426.874 0, 789220.555 658414.521 0, 788984.687 652852.008 0,
+ 788748.833 647289.815 0))
+
+POLYGON ((860715.486 700466.5 0, 860426.813 700474.666 0, 860136.715 700482.889 0, 859846.617 700491.13 0, 859556.52 700499.388 0, 859266.424 700507.662 0, 858976.327 700515.954 0, 858686.232 700524.263 0, 858396.137 700532.589 0, 858106.042 700540.932 0,
+ 857815.948 700549.292 0, 857525.854 700557.669 0, 857235.761 700566.064 0, 856945.668 700574.475 0, 856655.576 700582.903 0, 856365.484 700591.349 0, 856075.393 700599.812 0, 855785.302 700608.291 0, 855495.212 700616.788 0, 855205.122 700625.302 0,
+ 854915.033 700633.833 0, 854624.944 700642.381 0, 854334.856 700650.946 0, 854044.768 700659.528 0, 853753.254 700668.169 0, 853464.595 700676.743 0, 853174.508 700685.376 0, 852884.423 700694.027 0, 852594.338 700702.694 0, 852304.253 700711.379 0,
+ 852014.169 700720.08 0, 851724.085 700728.799 0, 851434.002 700737.535 0, 851143.919 700746.288 0, 850853.837 700755.058 0, 850563.756 700763.845 0, 850273.675 700772.649 0, 849983.594 700781.47 0, 849693.514 700790.308 0, 849403.435 700799.163 0,
+ 849113.356 700808.036 0, 848823.277 700816.925 0, 848533.199 700825.832 0, 848243.122 700834.755 0, 847953.045 700843.696 0, 847662.969 700852.654 0, 847372.893 700861.628 0, 847082.817 700870.62 0, 846791.315 700879.673 0, 846964.393 706447.216 0,
+ 847137.48 712015.044 0, 847428.325 712006.011 0, 847717.744 711997.04 0, 848007.165 711988.085 0, 848296.586 711979.148 0, 848586.007 711970.227 0, 848875.429 711961.324 0, 849164.852 711952.437 0, 849454.275 711943.568 0, 849743.698 711934.716 0,
+ 850033.122 711925.881 0, 850322.547 711917.062 0, 850611.972 711908.261 0, 850901.398 711899.477 0, 851190.824 711890.71 0, 851480.251 711881.96 0, 851769.678 711873.227 0, 852059.106 711864.511 0, 852348.534 711855.812 0, 852637.962 711847.13 0,
+ 852927.392 711838.465 0, 853216.821 711829.817 0, 853506.252 711821.186 0, 853795.682 711812.572 0, 854083.69 711804.018 0, 854374.545 711795.396 0, 854663.978 711786.833 0, 854953.411 711778.287 0, 855242.844 711769.759 0, 855532.278 711761.247 0,
+ 855821.712 711752.753 0, 856111.147 711744.275 0, 856400.582 711735.814 0, 856690.018 711727.371 0, 856979.454 711718.945 0, 857268.891 711710.535 0, 857558.328 711702.143 0, 857847.766 711693.768 0, 858137.204 711685.409 0, 858426.643 711677.068 0,
+ 858716.082 711668.744 0, 859005.522 711660.437 0, 859294.962 711652.147 0, 859584.403 711643.873 0, 859873.844 711635.617 0, 860163.285 711627.378 0, 860452.728 711619.156 0, 860742.17 711610.951 0, 861030.191 711602.804 0, 860872.834 706034.509 0,
+ 860715.486 700466.5 0))
+
+POLYGON ((874924.01 711229.814 0, 874635.966 711237.148 0, 874346.501 711244.536 0, 874057.037 711251.94 0, 873767.573 711259.361 0, 873478.11 711266.799 0, 873188.647 711274.255 0, 872899.184 711281.727 0, 872609.722 711289.216 0, 872320.261 711296.723 0,
+ 872030.799 711304.246 0, 871741.339 711311.787 0, 871451.878 711319.345 0, 871162.419 711326.919 0, 870872.959 711334.511 0, 870583.5 711342.119 0, 870294.042 711349.745 0, 870004.584 711357.388 0, 869715.126 711365.048 0, 869425.669 711372.725 0,
+ 869136.212 711380.418 0, 868846.756 711388.129 0, 868557.3 711395.857 0, 868267.845 711403.602 0, 867976.969 711411.402 0, 867688.936 711419.143 0, 867399.482 711426.939 0, 867110.029 711434.752 0, 866820.576 711442.583 0, 866531.123 711450.43 0,
+ 866241.671 711458.294 0, 865952.219 711466.175 0, 865662.768 711474.074 0, 865373.317 711481.989 0, 865083.867 711489.921 0, 864794.417 711497.871 0, 864504.968 711505.837 0, 864215.519 711513.821 0, 863926.071 711521.821 0, 863636.623 711529.839 0,
+ 863347.176 711537.873 0, 863057.729 711545.925 0, 862768.282 711553.994 0, 862478.836 711562.079 0, 862189.391 711570.182 0, 861899.946 711578.302 0, 861610.501 711586.439 0, 861321.057 711594.593 0, 861030.191 711602.804 0, 861187.555 717171.38 0,
+ 861344.927 722740.235 0, 861635.135 722732.043 0, 861923.924 722723.907 0, 862212.713 722715.789 0, 862501.502 722707.687 0, 862790.292 722699.603 0, 863079.083 722691.536 0, 863367.873 722683.485 0, 863656.665 722675.452 0, 863945.457 722667.435 0,
+ 864234.249 722659.436 0, 864523.042 722651.454 0, 864811.835 722643.488 0, 865100.629 722635.54 0, 865389.423 722627.608 0, 865678.218 722619.694 0, 865967.013 722611.797 0, 866255.809 722603.916 0, 866544.605 722596.053 0, 866833.401 722588.206 0,
+ 867122.198 722580.377 0, 867410.996 722572.564 0, 867699.794 722564.769 0, 867988.592 722556.991 0, 868275.973 722549.267 0, 868566.19 722541.485 0, 868854.99 722533.757 0, 869143.79 722526.047 0, 869432.591 722518.353 0, 869721.392 722510.677 0,
+ 870010.194 722503.018 0, 870298.996 722495.375 0, 870587.798 722487.75 0, 870876.601 722480.141 0, 871165.404 722472.55 0, 871454.208 722464.975 0, 871743.012 722457.418 0, 872031.817 722449.877 0, 872320.622 722442.354 0, 872609.428 722434.847 0,
+ 872898.234 722427.358 0, 873187.04 722419.886 0, 873475.847 722412.43 0, 873764.655 722404.992 0, 874053.462 722397.57 0, 874342.271 722390.166 0, 874631.079 722382.778 0, 874919.888 722375.408 0, 875207.28 722368.09 0, 875065.642 716798.813 0,
+ 874924.01 711229.814 0))
+
+POLYGON ((889070.629 722035.111 0, 888783.216 722041.616 0, 888494.387 722048.171 0, 888205.558 722054.742 0, 887916.73 722061.331 0, 887627.903 722067.936 0, 887339.076 722074.559 0, 887050.249 722081.198 0, 886761.422 722087.855 0, 886472.596 722094.528 0,
+ 886183.771 722101.219 0, 885894.945 722107.926 0, 885606.121 722114.651 0, 885317.296 722121.392 0, 885028.472 722128.151 0, 884739.648 722134.926 0, 884450.825 722141.719 0, 884162.002 722148.528 0, 883873.18 722155.355 0, 883584.358 722162.198 0,
+ 883295.536 722169.059 0, 883006.715 722175.936 0, 882717.894 722182.831 0, 882429.074 722189.742 0, 882138.837 722196.705 0, 881851.434 722203.616 0, 881562.615 722210.579 0, 881273.796 722217.558 0, 880984.978 722224.555 0, 880696.16 722231.568 0,
+ 880407.342 722238.599 0, 880118.525 722245.646 0, 879829.708 722252.711 0, 879540.892 722259.792 0, 879252.076 722266.891 0, 878963.261 722274.006 0, 878674.445 722281.139 0, 878385.631 722288.288 0, 878096.817 722295.455 0, 877808.003 722302.638 0,
+ 877519.189 722309.839 0, 877230.376 722317.056 0, 876941.564 722324.291 0, 876652.752 722331.542 0, 876363.94 722338.81 0, 876075.129 722346.096 0, 875786.318 722353.398 0, 875497.508 722360.718 0, 875207.28 722368.09 0, 875348.926 727937.643 0,
+ 875490.579 733507.466 0, 875780.147 733500.11 0, 876068.302 733492.807 0, 876356.457 733485.522 0, 876644.613 733478.253 0, 876932.769 733471.001 0, 877220.925 733463.766 0, 877509.082 733456.548 0, 877797.239 733449.347 0, 878085.397 733442.162 0,
+ 878373.555 733434.995 0, 878661.714 733427.845 0, 878949.873 733420.712 0, 879238.032 733413.595 0, 879526.192 733406.496 0, 879814.352 733399.414 0, 880102.513 733392.348 0, 880390.674 733385.3 0, 880678.835 733378.268 0, 880966.997 733371.254 0,
+ 881255.16 733364.256 0, 881543.322 733357.276 0, 881831.485 733350.312 0, 882119.649 733343.365 0, 882406.4 733336.47 0, 882695.977 733329.523 0, 882984.142 733322.627 0, 883272.307 733315.748 0, 883560.473 733308.886 0, 883848.639 733302.041 0,
+ 884136.805 733295.214 0, 884424.972 733288.403 0, 884713.139 733281.608 0, 885001.307 733274.831 0, 885289.475 733268.071 0, 885577.643 733261.328 0, 885865.812 733254.602 0, 886153.981 733247.893 0, 886442.151 733241.2 0, 886730.321 733234.525 0,
+ 887018.491 733227.867 0, 887306.662 733221.225 0, 887594.833 733214.601 0, 887883.004 733207.994 0, 888171.176 733201.403 0, 888459.349 733194.829 0, 888747.521 733188.273 0, 889035.694 733181.733 0, 889322.456 733175.243 0, 889196.54 727605.041 0,
+ 889070.629 722035.111 0))
+
+POLYGON ((903155.216 732882.098 0, 902868.435 732887.778 0, 902580.245 732893.504 0, 902292.055 732899.246 0, 902003.865 732905.006 0, 901715.676 732910.782 0, 901427.487 732916.575 0, 901139.298 732922.386 0, 900851.11 732928.213 0, 900562.922 732934.057 0,
+ 900274.734 732939.918 0, 899986.547 732945.796 0, 899698.36 732951.691 0, 899410.173 732957.603 0, 899121.987 732963.532 0, 898833.801 732969.478 0, 898545.615 732975.441 0, 898257.43 732981.421 0, 897969.245 732987.418 0, 897681.061 732993.432 0,
+ 897392.877 732999.463 0, 897104.693 733005.51 0, 896816.509 733011.575 0, 896528.326 733017.657 0, 896238.733 733023.785 0, 895951.961 733029.871 0, 895663.779 733036.003 0, 895375.597 733042.153 0, 895087.416 733048.319 0, 894799.235 733054.503 0,
+ 894511.055 733060.703 0, 894222.874 733066.921 0, 893934.695 733073.155 0, 893646.515 733079.406 0, 893358.336 733085.674 0, 893070.157 733091.96 0, 892781.979 733098.262 0, 892493.801 733104.581 0, 892205.623 733110.917 0, 891917.446 733117.27 0,
+ 891629.269 733123.64 0, 891341.093 733130.027 0, 891052.917 733136.431 0, 890764.741 733142.852 0, 890476.565 733149.29 0, 890188.39 733155.744 0, 889900.216 733162.216 0, 889612.042 733168.705 0, 889322.456 733175.243 0, 889448.378 738745.712 0,
+ 889574.306 744316.446 0, 889863.233 744309.923 0, 890150.752 744303.449 0, 890438.271 744296.992 0, 890725.79 744290.552 0, 891013.309 744284.129 0, 891300.829 744277.723 0, 891588.35 744271.333 0, 891875.871 744264.961 0, 892163.392 744258.605 0,
+ 892450.913 744252.267 0, 892738.435 744245.945 0, 893025.957 744239.64 0, 893313.48 744233.353 0, 893601.003 744227.082 0, 893888.526 744220.828 0, 894176.05 744214.591 0, 894463.574 744208.371 0, 894751.098 744202.167 0, 895038.623 744195.981 0,
+ 895326.148 744189.812 0, 895613.674 744183.659 0, 895901.2 744177.524 0, 896188.726 744171.405 0, 896474.845 744165.333 0, 896763.78 744159.219 0, 897051.307 744153.151 0, 897338.835 744147.1 0, 897626.363 744141.066 0, 897913.891 744135.049 0,
+ 898201.42 744129.049 0, 898488.949 744123.066 0, 898776.478 744117.099 0, 899064.008 744111.15 0, 899351.538 744105.218 0, 899639.069 744099.302 0, 899926.6 744093.404 0, 900214.131 744087.522 0, 900501.662 744081.657 0, 900789.194 744075.809 0,
+ 901076.727 744069.978 0, 901364.259 744064.165 0, 901651.792 744058.367 0, 901939.325 744052.587 0, 902226.859 744046.824 0, 902514.393 744041.078 0, 902801.927 744035.349 0, 903089.462 744029.636 0, 903375.59 744023.968 0, 903265.401 738452.901 0,
+ 903155.216 732882.098 0))
+
+POLYGON ((917177.645 743770.483 0, 916891.499 743775.342 0, 916603.95 743780.242 0, 916316.401 743785.159 0, 916028.852 743790.093 0, 915741.303 743795.044 0, 915453.754 743800.012 0, 915166.206 743804.997 0, 914878.658 743809.998 0, 914591.111 743815.017 0,
+ 914303.564 743820.052 0, 914016.017 743825.105 0, 913728.47 743830.174 0, 913440.924 743835.26 0, 913153.377 743840.363 0, 912865.832 743845.483 0, 912578.286 743850.62 0, 912290.741 743855.774 0, 912003.196 743860.945 0, 911715.652 743866.133 0,
+ 911428.107 743871.338 0, 911140.563 743876.559 0, 910853.02 743881.798 0, 910565.477 743887.053 0, 910276.528 743892.352 0, 909990.391 743897.615 0, 909702.848 743902.921 0, 909415.306 743908.245 0, 909127.765 743913.585 0, 908840.223 743918.942 0,
+ 908552.682 743924.316 0, 908265.141 743929.706 0, 907977.601 743935.114 0, 907690.06 743940.539 0, 907402.521 743945.981 0, 907114.981 743951.439 0, 906827.442 743956.915 0, 906539.903 743962.407 0, 906252.364 743967.916 0, 905964.826 743973.443 0,
+ 905677.288 743978.986 0, 905389.751 743984.546 0, 905102.213 743990.123 0, 904814.676 743995.717 0, 904527.14 744001.328 0, 904239.604 744006.956 0, 903952.068 744012.6 0, 903664.532 744018.262 0, 903375.59 744023.968 0, 903485.785 749595.297 0,
+ 903595.984 755166.883 0, 903884.267 755161.19 0, 904171.147 755155.541 0, 904458.027 755149.909 0, 904744.907 755144.294 0, 905031.788 755138.696 0, 905318.669 755133.115 0, 905605.551 755127.55 0, 905892.432 755122.003 0, 906179.315 755116.472 0,
+ 906466.197 755110.959 0, 906753.08 755105.462 0, 907039.963 755099.982 0, 907326.846 755094.519 0, 907613.73 755089.073 0, 907900.614 755083.644 0, 908187.498 755078.231 0, 908474.383 755072.836 0, 908761.268 755067.457 0, 909048.153 755062.096 0,
+ 909335.039 755056.751 0, 909621.924 755051.423 0, 909908.811 755046.112 0, 910195.697 755040.818 0, 910481.182 755035.566 0, 910769.471 755030.28 0, 911056.359 755025.037 0, 911343.246 755019.81 0, 911630.134 755014.6 0, 911917.023 755009.407 0,
+ 912203.911 755004.232 0, 912490.8 754999.072 0, 912777.69 754993.93 0, 913064.579 754988.805 0, 913351.469 754983.697 0, 913638.359 754978.605 0, 913925.25 754973.53 0, 914212.141 754968.473 0, 914499.032 754963.432 0, 914785.923 754958.408 0,
+ 915072.815 754953.401 0, 915359.707 754948.411 0, 915646.599 754943.437 0, 915933.492 754938.481 0, 916220.385 754933.541 0, 916507.278 754928.619 0, 916794.171 754923.713 0, 917081.065 754918.824 0, 917366.557 754913.976 0, 917272.099 749342.101 0,
+ 917177.645 743770.483 0))
+
+POLYGON ((931137.79 754699.974 0, 930852.283 754704.016 0, 930565.376 754708.094 0, 930278.47 754712.189 0, 929991.564 754716.301 0, 929704.659 754720.43 0, 929417.753 754724.576 0, 929130.848 754728.739 0, 928843.943 754732.919 0, 928557.039 754737.115 0,
+ 928270.134 754741.329 0, 927983.23 754745.559 0, 927696.326 754749.806 0, 927409.422 754754.07 0, 927122.519 754758.351 0, 926835.616 754762.649 0, 926548.713 754766.964 0, 926261.81 754771.296 0, 925974.908 754775.644 0, 925688.005 754780.009 0,
+ 925401.104 754784.392 0, 925114.202 754788.791 0, 924827.301 754793.207 0, 924540.399 754797.64 0, 924252.098 754802.112 0, 923966.598 754806.557 0, 923679.698 754811.04 0, 923392.798 754815.541 0, 923105.898 754820.058 0, 922818.998 754824.592 0,
+ 922532.099 754829.144 0, 922245.2 754833.712 0, 921958.301 754838.296 0, 921671.403 754842.898 0, 921384.505 754847.517 0, 921097.607 754852.153 0, 920810.709 754856.805 0, 920523.812 754861.474 0, 920236.914 754866.161 0, 919950.018 754870.864 0,
+ 919663.121 754875.584 0, 919376.225 754880.321 0, 919089.329 754885.075 0, 918802.433 754889.845 0, 918515.538 754894.633 0, 918228.643 754899.437 0, 917941.748 754904.259 0, 917654.853 754909.097 0, 917366.557 754913.976 0, 917461.02 760486.105 0,
+ 917555.487 766058.484 0, 917843.124 766053.616 0, 918129.362 766048.789 0, 918415.601 766043.979 0, 918701.841 766039.185 0, 918988.08 766034.409 0, 919274.32 766029.649 0, 919560.56 766024.906 0, 919846.8 766020.18 0, 920133.041 766015.471 0,
+ 920419.282 766010.778 0, 920705.523 766006.103 0, 920991.764 766001.444 0, 921278.006 765996.802 0, 921564.248 765992.177 0, 921850.49 765987.569 0, 922136.733 765982.978 0, 922422.975 765978.403 0, 922709.219 765973.846 0, 922995.462 765969.305 0,
+ 923281.705 765964.781 0, 923567.949 765960.274 0, 923854.193 765955.784 0, 924140.438 765951.311 0, 924425.285 765946.876 0, 924712.927 765942.414 0, 924999.172 765937.992 0, 925285.418 765933.586 0, 925571.664 765929.196 0, 925857.91 765924.824 0,
+ 926144.156 765920.469 0, 926430.402 765916.13 0, 926716.649 765911.808 0, 927002.896 765907.503 0, 927289.143 765903.215 0, 927575.391 765898.944 0, 927861.638 765894.69 0, 928147.886 765890.452 0, 928434.134 765886.232 0, 928720.383 765882.028 0,
+ 929006.632 765877.841 0, 929292.881 765873.671 0, 929579.13 765869.518 0, 929865.379 765865.381 0, 930151.629 765861.262 0, 930437.879 765857.159 0, 930724.129 765853.073 0, 931010.379 765849.004 0, 931295.234 765844.972 0, 931216.51 760272.348 0,
+ 931137.79 754699.974 0))
+
+POLYGON ((945035.529 765670.277 0, 944750.662 765673.505 0, 944464.401 765676.765 0, 944178.141 765680.042 0, 943891.88 765683.336 0, 943605.62 765686.647 0, 943319.36 765689.975 0, 943033.1 765693.319 0, 942746.841 765696.681 0, 942460.581 765700.059 0,
+ 942174.322 765703.454 0, 941888.063 765706.866 0, 941601.804 765710.295 0, 941315.546 765713.74 0, 941029.287 765717.203 0, 940743.029 765720.682 0, 940456.771 765724.178 0, 940170.513 765727.691 0, 939884.256 765731.221 0, 939597.999 765734.768 0,
+ 939311.741 765738.332 0, 939025.484 765741.912 0, 938739.228 765745.509 0, 938452.971 765749.123 0, 938165.32 765752.772 0, 937880.459 765756.402 0, 937594.203 765760.067 0, 937307.947 765763.748 0, 937021.692 765767.447 0, 936735.437 765771.162 0,
+ 936449.182 765774.894 0, 936162.927 765778.643 0, 935876.672 765782.409 0, 935590.418 765786.191 0, 935304.164 765789.991 0, 935017.91 765793.807 0, 934731.656 765797.64 0, 934445.403 765801.49 0, 934159.15 765805.357 0, 933872.897 765809.241 0,
+ 933586.644 765813.141 0, 933300.391 765817.058 0, 933014.139 765820.993 0, 932727.887 765824.944 0, 932441.635 765828.912 0, 932155.383 765832.897 0, 931869.132 765836.898 0, 931582.881 765840.917 0, 931295.234 765844.972 0, 931373.961 771417.843 0,
+ 931452.692 776990.957 0, 931739.68 776986.911 0, 932025.275 776982.902 0, 932310.87 776978.909 0, 932596.466 776974.934 0, 932882.061 776970.975 0, 933167.657 776967.033 0, 933453.254 776963.107 0, 933738.85 776959.199 0, 934024.447 776955.307 0,
+ 934310.044 776951.433 0, 934595.641 776947.575 0, 934881.238 776943.734 0, 935166.836 776939.909 0, 935452.434 776936.102 0, 935738.032 776932.311 0, 936023.63 776928.537 0, 936309.229 776924.78 0, 936594.828 776921.04 0, 936880.427 776917.316 0,
+ 937166.026 776913.609 0, 937451.625 776909.92 0, 937737.225 776906.246 0, 938022.825 776902.59 0, 938307.033 776898.968 0, 938594.025 776895.328 0, 938879.625 776891.722 0, 939165.226 776888.133 0, 939450.827 776884.561 0, 939736.428 776881.006 0,
+ 940022.029 776877.467 0, 940307.631 776873.945 0, 940593.233 776870.44 0, 940878.835 776866.952 0, 941164.437 776863.481 0, 941450.039 776860.026 0, 941735.642 776856.589 0, 942021.244 776853.168 0, 942306.847 776849.763 0, 942592.45 776846.376 0,
+ 942878.054 776843.006 0, 943163.657 776839.652 0, 943449.261 776836.315 0, 943734.865 776832.995 0, 944020.469 776829.692 0, 944306.074 776826.405 0, 944591.678 776823.136 0, 944877.283 776819.883 0, 945161.497 776816.663 0, 945098.512 771243.348 0,
+ 945035.529 765670.277 0))
+
+POLYGON ((958870.74 776681.099 0, 958586.515 776683.517 0, 958300.903 776685.962 0, 958015.29 776688.425 0, 957729.677 776690.905 0, 957444.065 776693.401 0, 957158.453 776695.914 0, 956872.841 776698.444 0, 956587.229 776700.991 0, 956301.617 776703.555 0,
+ 956016.006 776706.135 0, 955730.394 776708.732 0, 955444.783 776711.346 0, 955159.172 776713.977 0, 954873.561 776716.625 0, 954587.95 776719.289 0, 954302.34 776721.97 0, 954016.729 776724.669 0, 953731.119 776727.383 0, 953445.509 776730.115 0,
+ 953159.898 776732.864 0, 952874.289 776735.629 0, 952588.679 776738.411 0, 952303.069 776741.21 0, 952016.071 776744.04 0, 951731.851 776746.858 0, 951446.242 776749.708 0, 951160.633 776752.574 0, 950875.024 776755.457 0, 950589.416 776758.357 0,
+ 950303.807 776761.273 0, 950018.199 776764.207 0, 949732.591 776767.157 0, 949446.983 776770.124 0, 949161.376 776773.108 0, 948875.768 776776.109 0, 948590.161 776779.126 0, 948304.554 776782.16 0, 948018.947 776785.211 0, 947733.34 776788.279 0,
+ 947447.734 776791.364 0, 947162.127 776794.466 0, 946876.521 776797.584 0, 946590.915 776800.719 0, 946305.309 776803.871 0, 946019.703 776807.04 0, 945734.098 776810.225 0, 945448.493 776813.428 0, 945161.497 776816.663 0, 945224.485 782390.217 0,
+ 945287.476 787964.007 0, 945573.812 787960.779 0, 945858.761 787957.584 0, 946143.711 787954.406 0, 946428.66 787951.245 0, 946713.61 787948.1 0, 946998.56 787944.972 0, 947283.51 787941.861 0, 947568.46 787938.766 0, 947853.411 787935.689 0,
+ 948138.361 787932.628 0, 948423.312 787929.584 0, 948708.263 787926.556 0, 948993.214 787923.546 0, 949278.166 787920.552 0, 949563.117 787917.575 0, 949848.069 787914.615 0, 950133.021 787911.671 0, 950417.973 787908.745 0, 950702.925 787905.835 0,
+ 950987.877 787902.942 0, 951272.83 787900.065 0, 951557.783 787897.206 0, 951842.736 787894.363 0, 952126.302 787891.551 0, 952412.642 787888.728 0, 952697.595 787885.935 0, 952982.549 787883.159 0, 953267.503 787880.4 0, 953552.457 787877.658 0,
+ 953837.411 787874.933 0, 954122.365 787872.224 0, 954407.319 787869.532 0, 954692.274 787866.857 0, 954977.228 787864.199 0, 955262.183 787861.557 0, 955547.138 787858.932 0, 955832.093 787856.324 0, 956117.049 787853.733 0, 956402.004 787851.159 0,
+ 956686.96 787848.601 0, 956971.915 787846.06 0, 957256.871 787843.536 0, 957541.827 787841.028 0, 957826.784 787838.538 0, 958111.74 787836.064 0, 958396.696 787833.607 0, 958681.653 787831.167 0, 958965.225 787828.755 0, 958917.981 782254.809 0,
+ 958870.74 776681.099 0))
+
+POLYGON ((972643.301 787732.145 0, 972359.722 787733.756 0, 972074.759 787735.391 0, 971789.797 787737.043 0, 971504.835 787738.712 0, 971219.873 787740.398 0, 970934.911 787742.1 0, 970649.949 787743.819 0, 970364.987 787745.555 0, 970080.025 787747.308 0,
+ 969795.064 787749.077 0, 969510.102 787750.863 0, 969225.141 787752.666 0, 968940.18 787754.486 0, 968655.218 787756.322 0, 968370.257 787758.176 0, 968085.296 787760.046 0, 967800.336 787761.933 0, 967515.375 787763.836 0, 967230.414 787765.757 0,
+ 966945.454 787767.694 0, 966660.493 787769.648 0, 966375.533 787771.618 0, 966090.573 787773.606 0, 965804.229 787775.62 0, 965520.653 787777.631 0, 965235.693 787779.669 0, 964950.734 787781.723 0, 964665.774 787783.795 0, 964380.815 787785.883 0,
+ 964095.855 787787.988 0, 963810.896 787790.109 0, 963525.937 787792.248 0, 963240.978 787794.403 0, 962956.019 787796.575 0, 962671.061 787798.763 0, 962386.102 787800.969 0, 962101.144 787803.191 0, 961816.185 787805.43 0, 961531.227 787807.686 0,
+ 961246.269 787809.959 0, 960961.311 787812.248 0, 960676.354 787814.554 0, 960391.396 787816.877 0, 960106.438 787819.217 0, 959821.481 787821.573 0, 959536.524 787823.946 0, 959251.567 787826.336 0, 958965.225 787828.755 0, 959012.47 793402.933 0,
+ 959059.717 798977.34 0, 959345.4 798974.928 0, 959629.701 798972.543 0, 959914.002 798970.175 0, 960198.303 798967.824 0, 960482.604 798965.49 0, 960766.906 798963.172 0, 961051.207 798960.872 0, 961335.509 798958.588 0, 961619.811 798956.32 0,
+ 961904.113 798954.07 0, 962188.415 798951.836 0, 962472.717 798949.619 0, 962757.02 798947.418 0, 963041.322 798945.235 0, 963325.625 798943.068 0, 963609.928 798940.917 0, 963894.23 798938.784 0, 964178.533 798936.667 0, 964462.837 798934.567 0,
+ 964747.14 798932.484 0, 965031.443 798930.417 0, 965315.747 798928.367 0, 965600.05 798926.334 0, 965882.973 798924.328 0, 966168.658 798922.318 0, 966452.962 798920.336 0, 966737.266 798918.369 0, 967021.57 798916.42 0, 967305.874 798914.487 0,
+ 967590.179 798912.571 0, 967874.483 798910.672 0, 968158.788 798908.79 0, 968443.093 798906.924 0, 968727.398 798905.075 0, 969011.703 798903.243 0, 969296.008 798901.427 0, 969580.313 798899.628 0, 969864.618 798897.846 0, 970148.924 798896.081 0,
+ 970433.229 798894.332 0, 970717.535 798892.6 0, 971001.84 798890.885 0, 971286.146 798889.187 0, 971570.452 798887.505 0, 971854.758 798885.84 0, 972139.064 798884.192 0, 972423.37 798882.561 0, 972706.297 798880.954 0, 972674.798 793306.435 0,
+ 972643.301 787732.145 0))
+
+POLYGON ((986353.094 798823.121 0, 986070.162 798823.929 0, 985785.852 798824.757 0, 985501.543 798825.602 0, 985217.233 798826.464 0, 984932.924 798827.342 0, 984648.614 798828.237 0, 984364.305 798829.149 0, 984079.995 798830.078 0, 983795.686 798831.023 0,
+ 983511.377 798831.985 0, 983227.068 798832.964 0, 982942.758 798833.96 0, 982658.449 798834.972 0, 982374.14 798836.001 0, 982089.831 798837.047 0, 981805.522 798838.11 0, 981521.214 798839.189 0, 981236.905 798840.285 0, 980952.596 798841.398 0,
+ 980668.288 798842.527 0, 980383.979 798843.673 0, 980099.671 798844.836 0, 979815.362 798846.016 0, 979529.675 798847.218 0, 979246.745 798848.425 0, 978962.437 798849.655 0, 978678.129 798850.902 0, 978393.821 798852.165 0, 978109.513 798853.445 0,
+ 977825.205 798854.742 0, 977540.897 798856.056 0, 977256.589 798857.386 0, 976972.282 798858.733 0, 976687.974 798860.097 0, 976403.667 798861.477 0, 976119.359 798862.874 0, 975835.052 798864.288 0, 975550.745 798865.719 0, 975266.437 798867.166 0,
+ 974982.13 798868.63 0, 974697.823 798870.111 0, 974413.516 798871.609 0, 974129.209 798873.123 0, 973844.903 798874.654 0, 973560.596 798876.202 0, 973276.289 798877.767 0, 972991.983 798879.348 0, 972706.297 798880.954 0, 972737.796 804455.697 0,
+ 972769.297 810030.663 0, 973054.324 810029.061 0, 973337.974 810027.483 0, 973621.625 810025.922 0, 973905.275 810024.378 0, 974188.926 810022.85 0, 974472.576 810021.34 0, 974756.227 810019.845 0, 975039.878 810018.368 0, 975323.529 810016.907 0,
+ 975607.18 810015.463 0, 975890.831 810014.036 0, 976174.482 810012.625 0, 976458.133 810011.231 0, 976741.784 810009.854 0, 977025.435 810008.493 0, 977309.087 810007.149 0, 977592.738 810005.822 0, 977876.39 810004.512 0, 978160.042 810003.218 0,
+ 978443.693 810001.941 0, 978727.345 810000.68 0, 979010.997 809999.437 0, 979294.649 809998.21 0, 979576.925 809997.005 0, 979861.953 809995.806 0, 980145.605 809994.629 0, 980429.258 809993.468 0, 980712.91 809992.325 0, 980996.562 809991.198 0,
+ 981280.215 809990.088 0, 981563.867 809988.994 0, 981847.52 809987.918 0, 982131.173 809986.858 0, 982414.825 809985.814 0, 982698.478 809984.788 0, 982982.131 809983.778 0, 983265.784 809982.784 0, 983549.437 809981.808 0, 983833.09 809980.848 0,
+ 984116.743 809979.905 0, 984400.396 809978.978 0, 984684.049 809978.068 0, 984967.702 809977.175 0, 985251.355 809976.299 0, 985535.009 809975.439 0, 985818.662 809974.596 0, 986102.315 809973.77 0, 986384.594 809972.964 0, 986368.844 804397.932 0,
+ 986353.094 798823.121 0))
+
+POLYGON ((1000000 809953.731 0, 999717.718 809953.739 0, 999434.063 809953.764 0, 999150.409 809953.806 0, 998866.754 809953.864 0, 998583.099 809953.939 0, 998299.445 809954.031 0, 998015.79 809954.139 0, 997732.136 809954.264 0, 997448.481 809954.406 0,
+ 997164.826 809954.565 0, 996881.172 809954.74 0, 996597.517 809954.932 0, 996313.863 809955.141 0, 996030.208 809955.366 0, 995746.554 809955.608 0, 995462.899 809955.867 0, 995179.245 809956.142 0, 994895.59 809956.434 0, 994611.936 809956.743 0,
+ 994328.281 809957.068 0, 994044.627 809957.41 0, 993760.973 809957.769 0, 993477.318 809958.145 0, 993192.29 809958.539 0, 992910.01 809958.946 0, 992626.355 809959.372 0, 992342.701 809959.814 0, 992059.047 809960.273 0, 991775.393 809960.749 0,
+ 991491.738 809961.241 0, 991208.084 809961.75 0, 990924.43 809962.276 0, 990640.776 809962.819 0, 990357.122 809963.378 0, 990073.468 809963.954 0, 989789.814 809964.546 0, 989506.16 809965.156 0, 989222.506 809965.782 0, 988938.852 809966.424 0,
+ 988655.198 809967.084 0, 988371.544 809967.76 0, 988087.891 809968.453 0, 987804.237 809969.162 0, 987520.583 809969.888 0, 987236.93 809970.631 0, 986953.276 809971.391 0, 986669.622 809972.167 0, 986384.594 809972.964 0, 986400.345 815548.214 0,
+ 986416.097 821123.678 0, 986700.466 821122.883 0, 986983.463 821122.109 0, 987266.46 821121.351 0, 987549.458 821120.61 0, 987832.455 821119.886 0, 988115.453 821119.178 0, 988398.45 821118.487 0, 988681.447 821117.812 0, 988964.445 821117.154 0,
+ 989247.443 821116.513 0, 989530.44 821115.888 0, 989813.438 821115.281 0, 990096.436 821114.689 0, 990379.433 821114.115 0, 990662.431 821113.557 0, 990945.429 821113.016 0, 991228.427 821112.491 0, 991511.425 821111.983 0, 991794.422 821111.492 0,
+ 992077.42 821111.017 0, 992360.418 821110.559 0, 992643.416 821110.118 0, 992926.414 821109.693 0, 993208.042 821109.287 0, 993492.41 821108.894 0, 993775.408 821108.519 0, 994058.406 821108.161 0, 994341.404 821107.82 0, 994624.403 821107.495 0,
+ 994907.401 821107.187 0, 995190.399 821106.895 0, 995473.397 821106.621 0, 995756.395 821106.363 0, 996039.393 821106.121 0, 996322.392 821105.896 0, 996605.39 821105.688 0, 996888.388 821105.497 0, 997171.386 821105.322 0, 997454.385 821105.164 0,
+ 997737.383 821105.022 0, 998020.381 821104.897 0, 998303.379 821104.789 0, 998586.378 821104.698 0, 998869.376 821104.623 0, 999152.374 821104.565 0, 999435.373 821104.523 0, 999718.371 821104.498 0, 1000000 821104.49 0, 1000000 815529.003 0,
+ 1000000 809953.731 0))
+
+POLYGON ((1013583.903 821123.678 0, 1013302.273 821122.891 0, 1013019.275 821122.116 0, 1012736.278 821121.358 0, 1012453.281 821120.617 0, 1012170.283 821119.892 0, 1011887.286 821119.184 0, 1011604.289 821118.493 0, 1011321.291 821117.818 0, 1011038.293 821117.16 0,
+ 1010755.296 821116.519 0, 1010472.298 821115.894 0, 1010189.301 821115.286 0, 1009906.303 821114.695 0, 1009623.305 821114.12 0, 1009340.307 821113.562 0, 1009057.31 821113.021 0, 1008774.312 821112.496 0, 1008491.314 821111.988 0, 1008208.316 821111.496 0,
+ 1007925.318 821111.022 0, 1007642.32 821110.563 0, 1007359.322 821110.122 0, 1007076.324 821109.697 0, 1006791.958 821109.287 0, 1006510.328 821108.897 0, 1006227.33 821108.523 0, 1005944.332 821108.164 0, 1005661.334 821107.823 0, 1005378.336 821107.498 0,
+ 1005095.338 821107.19 0, 1004812.34 821106.898 0, 1004529.341 821106.623 0, 1004246.343 821106.365 0, 1003963.345 821106.123 0, 1003680.347 821105.898 0, 1003397.349 821105.69 0, 1003114.35 821105.499 0, 1002831.352 821105.324 0, 1002548.354 821105.165 0,
+ 1002265.356 821105.024 0, 1001982.357 821104.899 0, 1001699.359 821104.79 0, 1001416.361 821104.698 0, 1001133.362 821104.623 0, 1000850.364 821104.565 0, 1000567.366 821104.523 0, 1000284.368 821104.498 0, 1000000 821104.49 0, 1000000 826680.187 0,
+ 1000000 832256.091 0, 1000283.708 832256.1 0, 1000566.05 832256.125 0, 1000848.392 832256.167 0, 1001130.734 832256.225 0, 1001413.076 832256.3 0, 1001695.418 832256.391 0, 1001977.76 832256.499 0, 1002260.102 832256.624 0, 1002542.443 832256.765 0,
+ 1002824.785 832256.923 0, 1003107.127 832257.098 0, 1003389.469 832257.289 0, 1003671.811 832257.497 0, 1003954.153 832257.721 0, 1004236.495 832257.962 0, 1004518.837 832258.22 0, 1004801.178 832258.494 0, 1005083.52 832258.785 0, 1005365.862 832259.093 0,
+ 1005648.204 832259.417 0, 1005930.545 832259.757 0, 1006212.887 832260.115 0, 1006495.229 832260.489 0, 1006776.205 832260.877 0, 1007059.912 832261.287 0, 1007342.254 832261.71 0, 1007624.595 832262.151 0, 1007906.937 832262.608 0, 1008189.278 832263.082 0,
+ 1008471.62 832263.572 0, 1008753.961 832264.079 0, 1009036.303 832264.603 0, 1009318.644 832265.143 0, 1009600.986 832265.699 0, 1009883.327 832266.273 0, 1010165.668 832266.863 0, 1010448.01 832267.47 0, 1010730.351 832268.093 0, 1011012.692 832268.733 0,
+ 1011295.033 832269.389 0, 1011577.375 832270.062 0, 1011859.716 832270.752 0, 1012142.057 832271.458 0, 1012424.398 832272.181 0, 1012706.739 832272.921 0, 1012989.08 832273.677 0, 1013271.421 832274.45 0, 1013552.397 832275.236 0, 1013568.15 826699.353 0,
+ 1013583.903 821123.678 0))
+
+POLYGON ((1027104.687 832332.667 0, 1026823.711 832331.088 0, 1026541.373 832329.518 0, 1026259.036 832327.964 0, 1025976.698 832326.426 0, 1025694.36 832324.906 0, 1025412.022 832323.402 0, 1025129.684 832321.914 0, 1024847.346 832320.444 0, 1024565.008 832318.989 0,
+ 1024282.67 832317.552 0, 1024000.331 832316.131 0, 1023717.993 832314.727 0, 1023435.654 832313.339 0, 1023153.316 832311.968 0, 1022870.977 832310.614 0, 1022588.638 832309.276 0, 1022306.299 832307.954 0, 1022023.96 832306.65 0, 1021741.621 832305.362 0,
+ 1021459.282 832304.091 0, 1021176.943 832302.836 0, 1020894.604 832301.598 0, 1020612.265 832300.376 0, 1020328.562 832299.166 0, 1020047.586 832297.983 0, 1019765.246 832296.811 0, 1019482.907 832295.656 0, 1019200.567 832294.518 0, 1018918.227 832293.396 0,
+ 1018635.888 832292.291 0, 1018353.548 832291.202 0, 1018071.208 832290.13 0, 1017788.868 832289.075 0, 1017506.528 832288.036 0, 1017224.188 832287.014 0, 1016941.848 832286.009 0, 1016659.507 832285.02 0, 1016377.167 832284.048 0, 1016094.827 832283.092 0,
+ 1015812.486 832282.153 0, 1015530.146 832281.231 0, 1015247.805 832280.325 0, 1014965.465 832279.436 0, 1014683.124 832278.563 0, 1014400.784 832277.707 0, 1014118.443 832276.868 0, 1013836.102 832276.045 0, 1013552.397 832275.236 0, 1013536.644 837851.321 0,
+ 1013520.89 843427.606 0, 1013803.935 843428.414 0, 1014085.619 843429.234 0, 1014367.304 843430.072 0, 1014648.988 843430.926 0, 1014930.672 843431.796 0, 1015212.356 843432.683 0, 1015494.04 843433.587 0, 1015775.724 843434.507 0, 1016057.408 843435.444 0,
+ 1016339.092 843436.397 0, 1016620.776 843437.367 0, 1016902.46 843438.354 0, 1017184.144 843439.357 0, 1017465.827 843440.377 0, 1017747.511 843441.413 0, 1018029.195 843442.466 0, 1018310.878 843443.535 0, 1018592.561 843444.621 0, 1018874.245 843445.724 0,
+ 1019155.928 843446.843 0, 1019437.611 843447.979 0, 1019719.295 843449.131 0, 1020000.978 843450.3 0, 1020281.301 843451.48 0, 1020564.344 843452.688 0, 1020846.027 843453.906 0, 1021127.709 843455.142 0, 1021409.392 843456.393 0, 1021691.075 843457.662 0,
+ 1021972.757 843458.947 0, 1022254.44 843460.248 0, 1022536.122 843461.567 0, 1022817.805 843462.901 0, 1023099.487 843464.253 0, 1023381.169 843465.62 0, 1023662.851 843467.005 0, 1023944.534 843468.406 0, 1024226.215 843469.824 0, 1024507.897 843471.258 0,
+ 1024789.579 843472.709 0, 1025071.261 843474.176 0, 1025352.943 843475.66 0, 1025634.624 843477.16 0, 1025916.305 843478.677 0, 1026197.987 843480.211 0, 1026479.668 843481.761 0, 1026761.349 843483.328 0, 1027041.672 843484.904 0, 1027073.18 837908.686 0,
+ 1027104.687 832332.667 0))
+
+POLYGON ((1040562.238 843580.401 0, 1040281.919 843578.033 0, 1040000.243 843575.67 0, 1039718.567 843573.324 0, 1039436.892 843570.995 0, 1039155.215 843568.682 0, 1038873.539 843566.386 0, 1038591.863 843564.106 0, 1038310.187 843561.843 0, 1038028.51 843559.596 0,
+ 1037746.833 843557.366 0, 1037465.156 843555.153 0, 1037183.479 843552.956 0, 1036901.802 843550.776 0, 1036620.125 843548.612 0, 1036338.448 843546.465 0, 1036056.77 843544.335 0, 1035775.093 843542.221 0, 1035493.415 843540.123 0, 1035211.737 843538.042 0,
+ 1034930.059 843535.978 0, 1034648.381 843533.931 0, 1034366.703 843531.9 0, 1034085.025 843529.885 0, 1033801.989 843527.878 0, 1033521.668 843525.906 0, 1033239.989 843523.941 0, 1032958.31 843521.993 0, 1032676.631 843520.061 0, 1032394.952 843518.146 0,
+ 1032113.273 843516.248 0, 1031831.594 843514.366 0, 1031549.914 843512.501 0, 1031268.235 843510.652 0, 1030986.555 843508.82 0, 1030704.876 843507.005 0, 1030423.196 843505.206 0, 1030141.516 843503.423 0, 1029859.836 843501.658 0, 1029578.156 843499.908 0,
+ 1029296.476 843498.176 0, 1029014.795 843496.46 0, 1028733.115 843494.76 0, 1028451.434 843493.077 0, 1028169.754 843491.411 0, 1027888.073 843489.761 0, 1027606.392 843488.128 0, 1027324.711 843486.512 0, 1027041.672 843484.904 0, 1027010.163 849061.318 0,
+ 1026978.652 854637.924 0, 1027261.032 854639.528 0, 1027542.057 854641.14 0, 1027823.081 854642.77 0, 1028104.105 854644.416 0, 1028385.13 854646.078 0, 1028666.154 854647.757 0, 1028947.178 854649.452 0, 1029228.202 854651.164 0, 1029509.225 854652.893 0,
+ 1029790.249 854654.638 0, 1030071.273 854656.4 0, 1030352.296 854658.178 0, 1030633.319 854659.973 0, 1030914.343 854661.784 0, 1031195.366 854663.612 0, 1031476.389 854665.456 0, 1031757.412 854667.317 0, 1032038.434 854669.195 0, 1032319.457 854671.089 0,
+ 1032600.48 854672.999 0, 1032881.502 854674.926 0, 1033162.525 854676.87 0, 1033443.547 854678.83 0, 1033723.215 854680.797 0, 1034005.591 854682.8 0, 1034286.613 854684.81 0, 1034567.635 854686.836 0, 1034848.656 854688.879 0, 1035129.678 854690.938 0,
+ 1035410.699 854693.014 0, 1035691.721 854695.107 0, 1035972.742 854697.216 0, 1036253.763 854699.341 0, 1036534.784 854701.483 0, 1036815.804 854703.642 0, 1037096.825 854705.817 0, 1037377.846 854708.009 0, 1037658.866 854710.217 0, 1037939.886 854712.442 0,
+ 1038220.906 854714.683 0, 1038501.926 854716.941 0, 1038782.946 854719.216 0, 1039063.966 854721.506 0, 1039344.986 854723.814 0, 1039626.005 854726.138 0, 1039907.024 854728.479 0, 1040188.044 854730.836 0, 1040467.71 854733.198 0, 1040514.975 849156.703 0,
+ 1040562.238 843580.401 0))
+
+POLYGON ((1053956.444 854866.581 0, 1053676.783 854863.429 0, 1053395.772 854860.278 0, 1053114.76 854857.143 0, 1052833.749 854854.025 0, 1052552.737 854850.924 0, 1052271.724 854847.839 0, 1051990.712 854844.77 0, 1051709.7 854841.719 0, 1051428.687 854838.683 0,
+ 1051147.674 854835.665 0, 1050866.661 854832.662 0, 1050585.648 854829.677 0, 1050304.634 854826.708 0, 1050023.621 854823.755 0, 1049742.607 854820.819 0, 1049461.593 854817.9 0, 1049180.579 854814.997 0, 1048899.565 854812.11 0, 1048618.55 854809.24 0,
+ 1048337.536 854806.387 0, 1048056.521 854803.55 0, 1047775.506 854800.73 0, 1047494.491 854797.926 0, 1047212.124 854795.126 0, 1046932.46 854792.369 0, 1046651.445 854789.615 0, 1046370.429 854786.877 0, 1046089.413 854784.156 0, 1045808.397 854781.452 0,
+ 1045527.381 854778.764 0, 1045246.364 854776.092 0, 1044965.348 854773.437 0, 1044684.331 854770.799 0, 1044403.314 854768.177 0, 1044122.297 854765.572 0, 1043841.28 854762.983 0, 1043560.263 854760.411 0, 1043279.245 854757.856 0, 1042998.228 854755.317 0,
+ 1042717.21 854752.794 0, 1042436.192 854750.288 0, 1042155.174 854747.799 0, 1041874.156 854745.326 0, 1041593.138 854742.869 0, 1041312.119 854740.43 0, 1041031.1 854738.006 0, 1040750.082 854735.6 0, 1040467.71 854733.198 0, 1040420.443 860309.881 0,
+ 1040373.175 865886.748 0, 1040654.887 865889.144 0, 1040935.25 865891.545 0, 1041215.612 865893.963 0, 1041495.974 865896.397 0, 1041776.336 865898.848 0, 1042056.697 865901.315 0, 1042337.059 865903.798 0, 1042617.42 865906.299 0, 1042897.782 865908.815 0,
+ 1043178.143 865911.348 0, 1043458.504 865913.898 0, 1043738.865 865916.464 0, 1044019.225 865919.047 0, 1044299.586 865921.646 0, 1044579.946 865924.262 0, 1044860.306 865926.894 0, 1045140.666 865929.542 0, 1045421.026 865932.207 0, 1045701.386 865934.889 0,
+ 1045981.746 865937.587 0, 1046262.105 865940.302 0, 1046542.464 865943.033 0, 1046822.824 865945.781 0, 1047101.834 865948.531 0, 1047383.541 865951.325 0, 1047663.9 865954.123 0, 1047944.258 865956.936 0, 1048224.617 865959.766 0, 1048504.975 865962.613 0,
+ 1048785.333 865965.476 0, 1049065.691 865968.356 0, 1049346.048 865971.252 0, 1049626.406 865974.165 0, 1049906.763 865977.094 0, 1050187.12 865980.04 0, 1050467.477 865983.002 0, 1050747.834 865985.98 0, 1051028.19 865988.976 0, 1051308.547 865991.987 0,
+ 1051588.903 865995.015 0, 1051869.259 865998.06 0, 1052149.615 866001.121 0, 1052429.971 866004.199 0, 1052710.326 866007.293 0, 1052990.681 866010.404 0, 1053271.037 866013.531 0, 1053551.391 866016.675 0, 1053830.398 866019.82 0, 1053893.422 860443.108 0,
+ 1053956.444 854866.581 0))
+
+POLYGON ((1067287.192 866190.909 0, 1067008.193 866186.976 0, 1066727.848 866183.041 0, 1066447.503 866179.121 0, 1066167.158 866175.219 0, 1065886.812 866171.332 0, 1065606.466 866167.463 0, 1065326.12 866163.609 0, 1065045.774 866159.773 0, 1064765.427 866155.953 0,
+ 1064485.08 866152.149 0, 1064204.733 866148.362 0, 1063924.386 866144.591 0, 1063644.039 866140.837 0, 1063363.691 866137.099 0, 1063083.343 866133.378 0, 1062802.995 866129.673 0, 1062522.647 866125.985 0, 1062242.298 866122.313 0, 1061961.95 866118.658 0,
+ 1061681.601 866115.019 0, 1061401.251 866111.397 0, 1061120.902 866107.791 0, 1060840.552 866104.202 0, 1060558.856 866100.612 0, 1060279.853 866097.073 0, 1059999.502 866093.533 0, 1059719.152 866090.01 0, 1059438.801 866086.504 0, 1059158.45 866083.013 0,
+ 1058878.099 866079.54 0, 1058597.748 866076.082 0, 1058317.397 866072.642 0, 1058037.045 866069.218 0, 1057756.693 866065.81 0, 1057476.341 866062.419 0, 1057195.989 866059.044 0, 1056915.636 866055.686 0, 1056635.284 866052.344 0, 1056354.931 866049.019 0,
+ 1056074.578 866045.71 0, 1055794.224 866042.418 0, 1055513.871 866039.142 0, 1055233.517 866035.883 0, 1054953.163 866032.64 0, 1054672.809 866029.414 0, 1054392.455 866026.205 0, 1054112.101 866023.011 0, 1053830.398 866019.82 0, 1053767.373 871596.712 0,
+ 1053704.345 877173.781 0, 1053985.388 877176.966 0, 1054265.086 877180.151 0, 1054544.783 877183.353 0, 1054824.481 877186.572 0, 1055104.178 877189.807 0, 1055383.875 877193.059 0, 1055663.572 877196.327 0, 1055943.269 877199.611 0, 1056222.966 877202.912 0,
+ 1056502.662 877206.23 0, 1056782.358 877209.563 0, 1057062.054 877212.914 0, 1057341.75 877216.281 0, 1057621.445 877219.664 0, 1057901.141 877223.064 0, 1058180.836 877226.48 0, 1058460.531 877229.912 0, 1058740.226 877233.361 0, 1059019.92 877236.827 0,
+ 1059299.615 877240.309 0, 1059579.309 877243.808 0, 1059859.003 877247.322 0, 1060138.697 877250.854 0, 1060417.047 877254.385 0, 1060698.083 877257.966 0, 1060977.777 877261.547 0, 1061257.469 877265.144 0, 1061537.162 877268.758 0, 1061816.855 877272.388 0,
+ 1062096.547 877276.035 0, 1062376.239 877279.698 0, 1062655.931 877283.377 0, 1062935.622 877287.073 0, 1063215.314 877290.786 0, 1063495.005 877294.515 0, 1063774.696 877298.26 0, 1064054.387 877302.022 0, 1064334.077 877305.801 0, 1064613.768 877309.595 0,
+ 1064893.458 877313.407 0, 1065173.147 877317.234 0, 1065452.837 877321.079 0, 1065732.526 877324.939 0, 1066012.216 877328.816 0, 1066291.905 877332.71 0, 1066571.593 877336.62 0, 1066851.282 877340.546 0, 1067129.628 877344.47 0, 1067208.411 871767.601 0,
+ 1067287.192 866190.909 0))
+
+POLYGON ((1080554.374 877553.088 0, 1080276.039 877548.378 0, 1079996.362 877543.661 0, 1079716.686 877538.961 0, 1079437.009 877534.277 0, 1079157.332 877529.61 0, 1078877.654 877524.959 0, 1078597.977 877520.324 0, 1078318.299 877515.707 0, 1078038.621 877511.105 0,
+ 1077758.942 877506.52 0, 1077479.263 877501.952 0, 1077199.584 877497.4 0, 1076919.905 877492.864 0, 1076640.226 877488.345 0, 1076360.546 877483.842 0, 1076080.866 877479.356 0, 1075801.186 877474.886 0, 1075521.505 877470.433 0, 1075241.824 877465.996 0,
+ 1074962.143 877461.576 0, 1074682.462 877457.172 0, 1074402.78 877452.785 0, 1074123.098 877448.414 0, 1073842.075 877444.038 0, 1073563.734 877439.721 0, 1073284.051 877435.399 0, 1073004.368 877431.094 0, 1072724.685 877426.806 0, 1072445.001 877422.533 0,
+ 1072165.318 877418.278 0, 1071885.634 877414.038 0, 1071605.95 877409.816 0, 1071326.265 877405.609 0, 1071046.581 877401.419 0, 1070766.896 877397.246 0, 1070487.211 877393.089 0, 1070207.525 877388.948 0, 1069927.84 877384.824 0, 1069648.154 877380.717 0,
+ 1069368.468 877376.626 0, 1069088.781 877372.551 0, 1068809.095 877368.493 0, 1068529.408 877364.451 0, 1068249.721 877360.426 0, 1067970.033 877356.417 0, 1067690.346 877352.425 0, 1067410.658 877348.449 0, 1067129.628 877344.47 0, 1067050.841 882921.513 0,
+ 1066972.053 888498.724 0, 1067252.424 888502.693 0, 1067531.455 888506.66 0, 1067810.486 888510.643 0, 1068089.517 888514.642 0, 1068368.547 888518.658 0, 1068647.578 888522.69 0, 1068926.608 888526.739 0, 1069205.638 888530.804 0, 1069484.667 888534.885 0,
+ 1069763.697 888538.983 0, 1070042.726 888543.098 0, 1070321.755 888547.228 0, 1070600.783 888551.376 0, 1070879.812 888555.539 0, 1071158.84 888559.719 0, 1071437.868 888563.916 0, 1071716.895 888568.129 0, 1071995.923 888572.358 0, 1072274.95 888576.604 0,
+ 1072553.977 888580.866 0, 1072833.003 888585.145 0, 1073112.03 888589.44 0, 1073391.056 888593.751 0, 1073668.744 888598.058 0, 1073949.108 888602.423 0, 1074228.133 888606.784 0, 1074507.158 888611.161 0, 1074786.183 888615.555 0, 1075065.208 888619.964 0,
+ 1075344.232 888624.391 0, 1075623.256 888628.834 0, 1075902.28 888633.293 0, 1076181.303 888637.769 0, 1076460.327 888642.261 0, 1076739.35 888646.769 0, 1077018.372 888651.294 0, 1077297.395 888655.836 0, 1077576.417 888660.393 0, 1077855.439 888664.968 0,
+ 1078134.461 888669.558 0, 1078413.482 888674.165 0, 1078692.503 888678.789 0, 1078971.524 888683.429 0, 1079250.545 888688.085 0, 1079529.565 888692.758 0, 1079808.585 888697.447 0, 1080087.605 888702.152 0, 1080365.287 888706.852 0, 1080459.832 883129.885 0,
+ 1080554.374 877553.088 0))
+
+POLYGON ((1093757.881 888952.817 0, 1093480.21 888947.333 0, 1093201.205 888941.839 0, 1092922.199 888936.362 0, 1092643.193 888930.901 0, 1092364.187 888925.456 0, 1092085.18 888920.028 0, 1091806.173 888914.616 0, 1091527.166 888909.221 0, 1091248.158 888903.842 0,
+ 1090969.151 888898.48 0, 1090690.142 888893.134 0, 1090411.134 888887.804 0, 1090132.125 888882.491 0, 1089853.116 888877.194 0, 1089574.106 888871.914 0, 1089295.096 888866.65 0, 1089016.086 888861.402 0, 1088737.076 888856.171 0, 1088458.065 888850.956 0,
+ 1088179.054 888845.758 0, 1087900.043 888840.576 0, 1087621.031 888835.411 0, 1087342.019 888830.262 0, 1087061.671 888825.105 0, 1086783.994 888820.013 0, 1086504.981 888814.913 0, 1086225.968 888809.83 0, 1085946.955 888804.763 0, 1085667.941 888799.713 0,
+ 1085388.927 888794.679 0, 1085109.913 888789.661 0, 1084830.898 888784.66 0, 1084551.883 888779.675 0, 1084272.868 888774.707 0, 1083993.852 888769.755 0, 1083714.837 888764.819 0, 1083435.821 888759.9 0, 1083156.804 888754.998 0, 1082877.787 888750.111 0,
+ 1082598.77 888745.242 0, 1082319.753 888740.388 0, 1082040.736 888735.551 0, 1081761.718 888730.731 0, 1081482.7 888725.927 0, 1081203.681 888721.139 0, 1080924.663 888716.368 0, 1080645.644 888711.613 0, 1080365.287 888706.852 0, 1080270.74 894283.984 0,
+ 1080176.189 899861.277 0, 1080455.886 899866.027 0, 1080734.249 899870.771 0, 1081012.611 899875.531 0, 1081290.973 899880.307 0, 1081569.334 899885.1 0, 1081847.695 899889.909 0, 1082126.056 899894.735 0, 1082404.417 899899.577 0, 1082682.778 899904.435 0,
+ 1082961.138 899909.31 0, 1083239.498 899914.201 0, 1083517.857 899919.109 0, 1083796.216 899924.033 0, 1084074.575 899928.973 0, 1084352.934 899933.93 0, 1084631.293 899938.903 0, 1084909.651 899943.892 0, 1085188.009 899948.898 0, 1085466.366 899953.92 0,
+ 1085744.723 899958.959 0, 1086023.08 899964.014 0, 1086301.437 899969.085 0, 1086579.793 899974.173 0, 1086856.816 899979.252 0, 1087136.505 899984.397 0, 1087414.86 899989.534 0, 1087693.216 899994.687 0, 1087971.57 899999.857 0, 1088249.925 900005.043 0,
+ 1088528.279 900010.245 0, 1088806.633 900015.464 0, 1089084.987 900020.699 0, 1089363.34 900025.951 0, 1089641.693 900031.219 0, 1089920.046 900036.503 0, 1090198.398 900041.804 0, 1090476.75 900047.121 0, 1090755.102 900052.454 0, 1091033.453 900057.804 0,
+ 1091311.804 900063.171 0, 1091590.155 900068.553 0, 1091868.506 900073.952 0, 1092146.856 900079.368 0, 1092425.206 900084.799 0, 1092703.555 900090.247 0, 1092981.904 900095.712 0, 1093260.253 900101.193 0, 1093537.27 900106.664 0, 1093647.577 894529.66 0,
+ 1093757.881 888952.817 0))
+
+POLYGON ((1106897.604 900389.797 0, 1106620.602 900383.543 0, 1106342.269 900377.276 0, 1106063.937 900371.025 0, 1105785.604 900364.791 0, 1105507.27 900358.572 0, 1105228.937 900352.371 0, 1104950.602 900346.185 0, 1104672.268 900340.016 0, 1104393.933 900333.864 0,
+ 1104115.598 900327.727 0, 1103837.262 900321.608 0, 1103558.926 900315.504 0, 1103280.59 900309.417 0, 1103002.254 900303.346 0, 1102723.917 900297.292 0, 1102445.579 900291.254 0, 1102167.241 900285.233 0, 1101888.903 900279.227 0, 1101610.565 900273.239 0,
+ 1101332.226 900267.266 0, 1101053.887 900261.31 0, 1100775.548 900255.371 0, 1100497.208 900249.447 0, 1100217.537 900243.512 0, 1099940.527 900237.65 0, 1099662.186 900231.776 0, 1099383.845 900225.918 0, 1099105.504 900220.077 0, 1098827.162 900214.252 0,
+ 1098548.819 900208.443 0, 1098270.477 900202.651 0, 1097992.134 900196.875 0, 1097713.791 900191.116 0, 1097435.447 900185.373 0, 1097157.103 900179.646 0, 1096878.759 900173.936 0, 1096600.414 900168.242 0, 1096322.069 900162.564 0, 1096043.724 900156.903 0,
+ 1095765.378 900151.258 0, 1095487.033 900145.63 0, 1095208.686 900140.018 0, 1094930.34 900134.423 0, 1094651.993 900128.843 0, 1094373.646 900123.28 0, 1094095.298 900117.734 0, 1093816.95 900112.204 0, 1093537.27 900106.664 0, 1093426.96 905683.826 0,
+ 1093316.647 911261.142 0, 1093595.667 911266.669 0, 1093873.359 911272.186 0, 1094151.05 911277.719 0, 1094428.74 911283.269 0, 1094706.431 911288.835 0, 1094984.121 911294.417 0, 1095261.811 911300.016 0, 1095539.5 911305.631 0, 1095817.189 911311.263 0,
+ 1096094.878 911316.91 0, 1096372.566 911322.575 0, 1096650.254 911328.255 0, 1096927.942 911333.952 0, 1097205.63 911339.665 0, 1097483.317 911345.395 0, 1097761.003 911351.14 0, 1098038.69 911356.903 0, 1098316.376 911362.681 0, 1098594.062 911368.476 0,
+ 1098871.747 911374.287 0, 1099149.432 911380.115 0, 1099427.117 911385.959 0, 1099704.801 911391.819 0, 1099981.157 911397.667 0, 1100260.169 911403.588 0, 1100537.852 911409.498 0, 1100815.535 911415.423 0, 1101093.218 911421.365 0, 1101370.9 911427.324 0,
+ 1101648.582 911433.298 0, 1101926.263 911439.289 0, 1102203.944 911445.297 0, 1102481.625 911451.32 0, 1102759.306 911457.36 0, 1103036.986 911463.417 0, 1103314.666 911469.49 0, 1103592.345 911475.579 0, 1103870.024 911481.684 0, 1104147.703 911487.806 0,
+ 1104425.381 911493.944 0, 1104703.059 911500.098 0, 1104980.737 911506.269 0, 1105258.414 911512.456 0, 1105536.091 911518.66 0, 1105813.768 911524.88 0, 1106091.444 911531.116 0, 1106369.119 911537.368 0, 1106645.468 911543.607 0, 1106771.538 905966.625 0,
+ 1106897.604 900389.797 0))
+
+POLYGON ((1119973.439 911863.727 0, 1119697.106 911856.708 0, 1119419.449 911849.671 0, 1119141.792 911842.65 0, 1118864.134 911835.646 0, 1118586.476 911828.658 0, 1118308.817 911821.686 0, 1118031.158 911814.731 0, 1117753.499 911807.792 0, 1117475.839 911800.87 0,
+ 1117198.178 911793.963 0, 1116920.518 911787.074 0, 1116642.857 911780.2 0, 1116365.195 911773.343 0, 1116087.533 911766.502 0, 1115809.871 911759.677 0, 1115532.208 911752.869 0, 1115254.545 911746.078 0, 1114976.881 911739.302 0, 1114699.218 911732.543 0,
+ 1114421.553 911725.8 0, 1114143.888 911719.074 0, 1113866.223 911712.364 0, 1113588.558 911705.67 0, 1113309.567 911698.96 0, 1113033.226 911692.331 0, 1112755.559 911685.687 0, 1112477.892 911679.058 0, 1112200.224 911672.446 0, 1111922.557 911665.85 0,
+ 1111644.888 911659.271 0, 1111367.22 911652.708 0, 1111089.551 911646.161 0, 1110811.881 911639.631 0, 1110534.212 911633.117 0, 1110256.541 911626.619 0, 1109978.871 911620.138 0, 1109701.2 911613.673 0, 1109423.529 911607.224 0, 1109145.857 911600.792 0,
+ 1108868.185 911594.376 0, 1108590.512 911587.977 0, 1108312.84 911581.593 0, 1108035.166 911575.226 0, 1107757.493 911568.876 0, 1107479.819 911562.542 0, 1107202.145 911556.224 0, 1106924.47 911549.922 0, 1106645.468 911543.607 0, 1106519.396 917120.739 0,
+ 1106393.319 922698.017 0, 1106671.661 922704.317 0, 1106948.679 922710.604 0, 1107225.697 922716.907 0, 1107502.715 922723.226 0, 1107779.732 922729.562 0, 1108056.748 922735.914 0, 1108333.765 922742.282 0, 1108610.78 922748.666 0, 1108887.796 922755.067 0,
+ 1109164.811 922761.484 0, 1109441.826 922767.917 0, 1109718.84 922774.367 0, 1109995.854 922780.833 0, 1110272.868 922787.315 0, 1110549.881 922793.814 0, 1110826.894 922800.329 0, 1111103.907 922806.86 0, 1111380.919 922813.408 0, 1111657.931 922819.971 0,
+ 1111934.942 922826.552 0, 1112211.953 922833.148 0, 1112488.963 922839.761 0, 1112765.974 922846.39 0, 1113041.661 922853.003 0, 1113319.993 922859.697 0, 1113597.002 922866.375 0, 1113874.01 922873.069 0, 1114151.019 922879.779 0, 1114428.026 922886.506 0,
+ 1114705.034 922893.249 0, 1114982.041 922900.009 0, 1115259.047 922906.785 0, 1115536.054 922913.577 0, 1115813.059 922920.385 0, 1116090.065 922927.21 0, 1116367.07 922934.051 0, 1116644.075 922940.908 0, 1116921.079 922947.782 0, 1117198.083 922954.672 0,
+ 1117475.086 922961.578 0, 1117752.089 922968.5 0, 1118029.092 922975.439 0, 1118306.094 922982.394 0, 1118583.095 922989.366 0, 1118860.097 922996.353 0, 1119137.098 923003.357 0, 1119414.098 923010.378 0, 1119689.777 923017.381 0, 1119831.61 917440.481 0,
+ 1119973.439 911863.727 0))
+
+POLYGON ((1132985.28 923374.308 0, 1132709.62 923366.526 0, 1132432.64 923358.723 0, 1132155.66 923350.936 0, 1131878.68 923343.166 0, 1131601.699 923335.412 0, 1131324.717 923327.675 0, 1131047.735 923319.953 0, 1130770.753 923312.248 0, 1130493.77 923304.559 0,
+ 1130216.787 923296.887 0, 1129939.803 923289.231 0, 1129662.819 923281.591 0, 1129385.835 923273.967 0, 1129108.85 923266.36 0, 1128831.864 923258.769 0, 1128554.878 923251.195 0, 1128277.892 923243.636 0, 1128000.905 923236.094 0, 1127723.918 923228.568 0,
+ 1127446.93 923221.059 0, 1127169.942 923213.566 0, 1126892.953 923206.089 0, 1126615.964 923198.629 0, 1126337.655 923191.149 0, 1126061.985 923183.756 0, 1125784.994 923176.345 0, 1125508.004 923168.95 0, 1125231.013 923161.571 0, 1124954.021 923154.208 0,
+ 1124677.029 923146.861 0, 1124400.036 923139.531 0, 1124123.043 923132.218 0, 1123846.05 923124.92 0, 1123569.056 923117.639 0, 1123292.062 923110.374 0, 1123015.067 923103.125 0, 1122738.072 923095.893 0, 1122461.077 923088.677 0, 1122184.081 923081.478 0,
+ 1121907.084 923074.294 0, 1121630.088 923067.127 0, 1121353.09 923059.976 0, 1121076.093 923052.842 0, 1120799.095 923045.724 0, 1120522.096 923038.622 0, 1120245.097 923031.536 0, 1119968.098 923024.467 0, 1119689.777 923017.381 0, 1119547.941 928594.422 0,
+ 1119406.102 934171.603 0, 1119683.763 934178.672 0, 1119960.105 934185.725 0, 1120236.448 934192.794 0, 1120512.79 934199.879 0, 1120789.131 934206.98 0, 1121065.472 934214.097 0, 1121341.813 934221.231 0, 1121618.153 934228.381 0, 1121894.493 934235.548 0,
+ 1122170.833 934242.73 0, 1122447.172 934249.929 0, 1122723.51 934257.144 0, 1122999.848 934264.376 0, 1123276.186 934271.623 0, 1123552.523 934278.887 0, 1123828.86 934286.167 0, 1124105.197 934293.464 0, 1124381.533 934300.776 0, 1124657.868 934308.105 0,
+ 1124934.203 934315.451 0, 1125210.538 934322.812 0, 1125486.872 934330.19 0, 1125763.206 934337.584 0, 1126038.223 934344.959 0, 1126315.873 934352.421 0, 1126592.205 934359.864 0, 1126868.537 934367.323 0, 1127144.869 934374.798 0, 1127421.2 934382.29 0,
+ 1127697.531 934389.798 0, 1127973.861 934397.322 0, 1128250.191 934404.862 0, 1128526.521 934412.419 0, 1128802.85 934419.992 0, 1129079.178 934427.581 0, 1129355.506 934435.187 0, 1129631.834 934442.808 0, 1129908.161 934450.446 0, 1130184.488 934458.101 0,
+ 1130460.814 934465.771 0, 1130737.14 934473.458 0, 1131013.466 934481.161 0, 1131289.791 934488.88 0, 1131566.115 934496.616 0, 1131842.439 934504.368 0, 1132118.763 934512.136 0, 1132395.086 934519.92 0, 1132670.093 934527.684 0, 1132827.688 928950.927 0,
+ 1132985.28 923374.308 0))
+
+POLYGON ((1145933.025 934921.237 0, 1145658.039 934912.696 0, 1145381.739 934904.131 0, 1145105.438 934895.582 0, 1144829.137 934887.05 0, 1144552.836 934878.534 0, 1144276.534 934870.034 0, 1144000.231 934861.55 0, 1143723.928 934853.083 0, 1143447.625 934844.632 0,
+ 1143171.321 934836.197 0, 1142895.016 934827.778 0, 1142618.711 934819.376 0, 1142342.405 934810.989 0, 1142066.099 934802.62 0, 1141789.793 934794.266 0, 1141513.486 934785.929 0, 1141237.178 934777.608 0, 1140960.87 934769.303 0, 1140684.562 934761.014 0,
+ 1140408.253 934752.742 0, 1140131.944 934744.486 0, 1139855.634 934736.246 0, 1139579.323 934728.023 0, 1139301.698 934719.776 0, 1139026.701 934711.624 0, 1138750.389 934703.45 0, 1138474.077 934695.291 0, 1138197.764 934687.149 0, 1137921.451 934679.023 0,
+ 1137645.137 934670.914 0, 1137368.823 934662.82 0, 1137092.508 934654.743 0, 1136816.193 934646.682 0, 1136539.877 934638.638 0, 1136263.561 934630.609 0, 1135987.244 934622.597 0, 1135710.927 934614.601 0, 1135434.61 934606.622 0, 1135158.292 934598.659 0,
+ 1134881.973 934590.712 0, 1134605.654 934582.781 0, 1134329.335 934574.866 0, 1134053.015 934566.968 0, 1133776.694 934559.086 0, 1133500.374 934551.22 0, 1133224.052 934543.371 0, 1132947.731 934535.538 0, 1132670.093 934527.684 0, 1132512.493 940104.575 0,
+ 1132354.89 945681.597 0, 1132631.868 945689.432 0, 1132907.534 945697.247 0, 1133183.199 945705.078 0, 1133458.863 945712.925 0, 1133734.527 945720.788 0, 1134010.19 945728.667 0, 1134285.853 945736.563 0, 1134561.516 945744.475 0, 1134837.178 945752.403 0,
+ 1135112.839 945760.347 0, 1135388.5 945768.308 0, 1135664.161 945776.285 0, 1135939.821 945784.278 0, 1136215.481 945792.287 0, 1136491.14 945800.313 0, 1136766.798 945808.354 0, 1137042.457 945816.412 0, 1137318.115 945824.486 0, 1137593.772 945832.577 0,
+ 1137869.429 945840.683 0, 1138145.085 945848.806 0, 1138420.741 945856.945 0, 1138696.396 945865.101 0, 1138970.74 945873.233 0, 1139247.706 945881.46 0, 1139523.359 945889.664 0, 1139799.013 945897.884 0, 1140074.666 945906.12 0, 1140350.318 945914.373 0,
+ 1140625.97 945922.642 0, 1140901.622 945930.927 0, 1141177.273 945939.228 0, 1141452.923 945947.546 0, 1141728.574 945955.879 0, 1142004.223 945964.229 0, 1142279.872 945972.596 0, 1142555.521 945980.978 0, 1142831.169 945989.377 0, 1143106.816 945997.792 0,
+ 1143382.463 946006.223 0, 1143658.11 946014.67 0, 1143933.756 946023.134 0, 1144209.402 946031.613 0, 1144485.047 946040.109 0, 1144760.691 946048.621 0, 1145036.335 946057.15 0, 1145311.979 946065.695 0, 1145586.312 946074.215 0, 1145759.67 940497.661 0,
+ 1145933.025 934921.237 0))
+
+POLYGON ((1158816.571 946504.212 0, 1158542.262 946494.917 0, 1158266.643 946485.594 0, 1157991.025 946476.287 0, 1157715.405 946466.996 0, 1157439.785 946457.721 0, 1157164.165 946448.462 0, 1156888.543 946439.22 0, 1156612.922 946429.994 0, 1156337.3 946420.784 0,
+ 1156061.677 946411.591 0, 1155786.054 946402.413 0, 1155510.43 946393.252 0, 1155234.806 946384.107 0, 1154959.181 946374.979 0, 1154683.555 946365.866 0, 1154407.929 946356.77 0, 1154132.303 946347.69 0, 1153856.676 946338.626 0, 1153581.048 946329.578 0,
+ 1153305.42 946320.547 0, 1153029.792 946311.532 0, 1152754.163 946302.533 0, 1152478.533 946293.55 0, 1152201.593 946284.541 0, 1151927.272 946275.634 0, 1151651.641 946266.7 0, 1151376.009 946257.782 0, 1151100.377 946248.88 0, 1150824.744 946239.995 0,
+ 1150549.111 946231.126 0, 1150273.477 946222.273 0, 1149997.842 946213.436 0, 1149722.207 946204.616 0, 1149446.572 946195.811 0, 1149170.936 946187.023 0, 1148895.3 946178.252 0, 1148619.663 946169.496 0, 1148344.025 946160.757 0, 1148068.387 946152.034 0,
+ 1147792.749 946143.327 0, 1147517.11 946134.636 0, 1147241.47 946125.962 0, 1146965.83 946117.303 0, 1146690.189 946108.661 0, 1146414.548 946100.035 0, 1146138.907 946091.426 0, 1145863.265 946082.833 0, 1145586.312 946074.215 0, 1145412.949 951650.895 0,
+ 1145239.583 957227.698 0, 1145515.876 957236.296 0, 1145790.862 957244.868 0, 1146065.847 957253.457 0, 1146340.832 957262.063 0, 1146615.816 957270.684 0, 1146890.799 957279.322 0, 1147165.782 957287.976 0, 1147440.765 957296.646 0, 1147715.747 957305.332 0,
+ 1147990.729 957314.034 0, 1148265.71 957322.753 0, 1148540.69 957331.487 0, 1148815.67 957340.238 0, 1149090.65 957349.005 0, 1149365.628 957357.789 0, 1149640.607 957366.588 0, 1149915.585 957375.404 0, 1150190.562 957384.235 0, 1150465.539 957393.083 0,
+ 1150740.516 957401.948 0, 1151015.491 957410.828 0, 1151290.467 957419.725 0, 1151565.442 957428.637 0, 1151839.11 957437.524 0, 1152115.39 957446.511 0, 1152390.363 957455.473 0, 1152665.335 957464.45 0, 1152940.308 957473.444 0, 1153215.279 957482.454 0,
+ 1153490.25 957491.48 0, 1153765.221 957500.522 0, 1154040.191 957509.58 0, 1154315.16 957518.655 0, 1154590.129 957527.746 0, 1154865.098 957536.853 0, 1155140.066 957545.976 0, 1155415.033 957555.115 0, 1155690 957564.271 0, 1155964.966 957573.442 0,
+ 1156239.932 957582.63 0, 1156514.897 957591.834 0, 1156789.862 957601.055 0, 1157064.826 957610.291 0, 1157339.79 957619.544 0, 1157614.753 957628.812 0, 1157889.715 957638.097 0, 1158164.677 957647.399 0, 1158438.333 957656.672 0, 1158627.454 952080.381 0,
+ 1158816.571 946504.212 0))
+
+POLYGON ((1171635.819 958122.932 0, 1171362.188 958112.886 0, 1171087.253 958102.808 0, 1170812.318 958092.746 0, 1170537.382 958082.701 0, 1170262.446 958072.671 0, 1169987.509 958062.658 0, 1169712.572 958052.661 0, 1169437.634 958042.68 0, 1169162.695 958032.716 0,
+ 1168887.756 958022.767 0, 1168612.816 958012.835 0, 1168337.875 958002.919 0, 1168062.934 957993.019 0, 1167787.993 957983.135 0, 1167513.051 957973.267 0, 1167238.108 957963.416 0, 1166963.164 957953.581 0, 1166688.22 957943.762 0, 1166413.276 957933.959 0,
+ 1166138.331 957924.172 0, 1165863.385 957914.402 0, 1165588.439 957904.647 0, 1165313.492 957894.909 0, 1165037.241 957885.141 0, 1164763.597 957875.482 0, 1164488.648 957865.792 0, 1164213.699 957856.119 0, 1163938.75 957846.461 0, 1163663.799 957836.82 0,
+ 1163388.849 957827.196 0, 1163113.897 957817.587 0, 1162838.945 957807.994 0, 1162563.993 957798.418 0, 1162289.04 957788.858 0, 1162014.086 957779.314 0, 1161739.132 957769.786 0, 1161464.177 957760.275 0, 1161189.222 957750.78 0, 1160914.266 957741.3 0,
+ 1160639.31 957731.837 0, 1160364.353 957722.391 0, 1160089.395 957712.96 0, 1159814.437 957703.545 0, 1159539.478 957694.147 0, 1159264.519 957684.765 0, 1158989.559 957675.399 0, 1158714.599 957666.049 0, 1158438.333 957656.672 0, 1158249.208 963233.081 0,
+ 1158060.079 968809.605 0, 1158335.686 968818.96 0, 1158609.989 968828.287 0, 1158884.293 968837.631 0, 1159158.595 968846.991 0, 1159432.898 968856.366 0, 1159707.199 968865.758 0, 1159981.5 968875.166 0, 1160255.801 968884.591 0, 1160530.101 968894.031 0,
+ 1160804.4 968903.488 0, 1161078.699 968912.96 0, 1161352.998 968922.449 0, 1161627.295 968931.954 0, 1161901.592 968941.475 0, 1162175.889 968951.013 0, 1162450.185 968960.566 0, 1162724.481 968970.136 0, 1162998.776 968979.721 0, 1163273.07 968989.323 0,
+ 1163547.364 968998.941 0, 1163821.657 969008.575 0, 1164095.95 969018.226 0, 1164370.242 969027.892 0, 1164643.233 969037.529 0, 1164918.824 969047.273 0, 1165193.115 969056.988 0, 1165467.405 969066.719 0, 1165741.694 969076.466 0, 1166015.983 969086.23 0,
+ 1166290.271 969096.009 0, 1166564.558 969105.805 0, 1166838.845 969115.616 0, 1167113.132 969125.444 0, 1167387.417 969135.288 0, 1167661.703 969145.149 0, 1167935.987 969155.025 0, 1168210.271 969164.917 0, 1168484.555 969174.826 0, 1168758.838 969184.751 0,
+ 1169033.12 969194.692 0, 1169307.402 969204.649 0, 1169581.683 969214.622 0, 1169855.963 969224.611 0, 1170130.243 969234.616 0, 1170404.523 969244.638 0, 1170678.801 969254.676 0, 1170953.08 969264.73 0, 1171226.057 969274.752 0, 1171430.94 963698.785 0,
+ 1171635.819 958122.932 0))
+
+POLYGON ((1184390.669 969777.094 0, 1184117.718 969766.3 0, 1183843.47 969755.472 0, 1183569.22 969744.659 0, 1183294.97 969733.863 0, 1183020.72 969723.082 0, 1182746.469 969712.318 0, 1182472.217 969701.57 0, 1182197.964 969690.838 0, 1181923.711 969680.122 0,
+ 1181649.457 969669.423 0, 1181375.203 969658.739 0, 1181100.948 969648.072 0, 1180826.692 969637.421 0, 1180552.436 969626.786 0, 1180278.179 969616.167 0, 1180003.922 969605.564 0, 1179729.664 969594.978 0, 1179455.405 969584.407 0, 1179181.145 969573.853 0,
+ 1178906.885 969563.315 0, 1178632.625 969552.793 0, 1178358.364 969542.287 0, 1178084.102 969531.797 0, 1177808.541 969521.274 0, 1177535.576 969510.866 0, 1177261.312 969500.425 0, 1176987.048 969489.999 0, 1176712.783 969479.59 0, 1176438.518 969469.198 0,
+ 1176164.251 969458.821 0, 1175889.985 969448.46 0, 1175615.717 969438.116 0, 1175341.449 969427.787 0, 1175067.181 969417.475 0, 1174792.912 969407.179 0, 1174518.642 969396.899 0, 1174244.371 969386.636 0, 1173970.1 969376.388 0, 1173695.829 969366.156 0,
+ 1173421.556 969355.941 0, 1173147.284 969345.742 0, 1172873.01 969335.559 0, 1172598.736 969325.392 0, 1172324.462 969315.241 0, 1172050.186 969305.107 0, 1171775.911 969294.988 0, 1171501.634 969284.886 0, 1171226.057 969274.752 0, 1171021.17 974850.829 0,
+ 1170816.28 980427.013 0, 1171091.197 980437.123 0, 1171364.817 980447.201 0, 1171638.436 980457.295 0, 1171912.055 980467.405 0, 1172185.673 980477.532 0, 1172459.291 980487.674 0, 1172732.908 980497.833 0, 1173006.524 980508.008 0, 1173280.14 980518.199 0,
+ 1173553.755 980528.406 0, 1173827.37 980538.629 0, 1174100.984 980548.868 0, 1174374.597 980559.123 0, 1174648.21 980569.395 0, 1174921.822 980579.682 0, 1175195.434 980589.986 0, 1175469.045 980600.305 0, 1175742.655 980610.641 0, 1176016.265 980620.993 0,
+ 1176289.874 980631.361 0, 1176563.483 980641.745 0, 1176837.091 980652.146 0, 1177110.698 980662.562 0, 1177383.01 980672.945 0, 1177657.911 980683.443 0, 1177931.517 980693.907 0, 1178205.122 980704.388 0, 1178478.726 980714.885 0, 1178752.329 980725.398 0,
+ 1179025.932 980735.927 0, 1179299.535 980746.472 0, 1179573.137 980757.034 0, 1179846.738 980767.611 0, 1180120.338 980778.204 0, 1180393.938 980788.814 0, 1180667.538 980799.44 0, 1180941.136 980810.081 0, 1181214.734 980820.739 0, 1181488.332 980831.413 0,
+ 1181761.928 980842.103 0, 1182035.525 980852.81 0, 1182309.12 980863.532 0, 1182582.715 980874.27 0, 1182856.309 980885.025 0, 1183129.903 980895.795 0, 1183403.496 980906.582 0, 1183677.088 980917.385 0, 1183949.386 980928.153 0, 1184170.029 975352.57 0,
+ 1184390.669 969777.094 0))
+
+POLYGON ((1197081.023 981466.394 0, 1196808.755 981454.857 0, 1196535.195 981443.281 0, 1196261.633 981431.721 0, 1195988.071 981420.178 0, 1195714.508 981408.65 0, 1195440.945 981397.139 0, 1195167.381 981385.644 0, 1194893.816 981374.165 0, 1194620.251 981362.702 0,
+ 1194346.684 981351.255 0, 1194073.118 981339.824 0, 1193799.55 981328.409 0, 1193525.982 981317.011 0, 1193252.413 981305.628 0, 1192978.843 981294.262 0, 1192705.273 981282.911 0, 1192431.702 981271.577 0, 1192158.131 981260.259 0, 1191884.559 981248.957 0,
+ 1191610.986 981237.671 0, 1191337.412 981226.401 0, 1191063.838 981215.148 0, 1190790.263 981203.91 0, 1190515.395 981192.636 0, 1190243.112 981181.483 0, 1189969.535 981170.294 0, 1189695.957 981159.121 0, 1189422.379 981147.964 0, 1189148.8 981136.823 0,
+ 1188875.221 981125.698 0, 1188601.641 981114.589 0, 1188328.06 981103.497 0, 1188054.479 981092.42 0, 1187780.897 981081.36 0, 1187507.314 981070.315 0, 1187233.731 981059.287 0, 1186960.147 981048.275 0, 1186686.562 981037.279 0, 1186412.977 981026.299 0,
+ 1186139.391 981015.335 0, 1185865.804 981004.387 0, 1185592.217 980993.456 0, 1185318.629 980982.54 0, 1185045.04 980971.641 0, 1184771.451 980960.757 0, 1184497.861 980949.89 0, 1184224.271 980939.039 0, 1183949.386 980928.153 0, 1183728.738 986503.837 0,
+ 1183508.086 992079.62 0, 1183782.312 992090.48 0, 1184055.246 992101.305 0, 1184328.18 992112.147 0, 1184601.112 992123.004 0, 1184874.045 992133.877 0, 1185146.976 992144.766 0, 1185419.907 992155.672 0, 1185692.837 992166.593 0, 1185965.767 992177.531 0,
+ 1186238.696 992188.485 0, 1186511.624 992199.454 0, 1186784.552 992210.44 0, 1187057.479 992221.442 0, 1187330.405 992232.46 0, 1187603.331 992243.494 0, 1187876.256 992254.544 0, 1188149.18 992265.61 0, 1188422.104 992276.692 0, 1188695.027 992287.79 0,
+ 1188967.95 992298.904 0, 1189240.872 992310.034 0, 1189513.793 992321.181 0, 1189786.713 992332.343 0, 1190058.343 992343.469 0, 1190332.552 992354.716 0, 1190605.471 992365.927 0, 1190878.389 992377.154 0, 1191151.306 992388.396 0, 1191424.222 992399.655 0,
+ 1191697.138 992410.93 0, 1191970.054 992422.221 0, 1192242.968 992433.528 0, 1192515.882 992444.851 0, 1192788.795 992456.19 0, 1193061.708 992467.545 0, 1193334.62 992478.917 0, 1193607.531 992490.304 0, 1193880.441 992501.707 0, 1194153.351 992513.127 0,
+ 1194426.26 992524.562 0, 1194699.169 992536.014 0, 1194972.077 992547.482 0, 1195244.984 992558.965 0, 1195517.89 992570.465 0, 1195790.796 992581.981 0, 1196063.701 992593.513 0, 1196336.606 992605.061 0, 1196608.221 992616.57 0, 1196844.624 987041.433 0,
+ 1197081.023 981466.394 0))
+
+POLYGON ((1209706.786 993190.528 0, 1209435.203 993178.251 0, 1209162.332 993165.932 0, 1208889.461 993153.629 0, 1208616.588 993141.343 0, 1208343.715 993129.072 0, 1208070.842 993116.817 0, 1207797.967 993104.579 0, 1207525.092 993092.356 0, 1207252.217 993080.15 0,
+ 1206979.34 993067.959 0, 1206706.463 993055.785 0, 1206433.585 993043.627 0, 1206160.706 993031.484 0, 1205887.827 993019.358 0, 1205614.947 993007.248 0, 1205342.066 992995.154 0, 1205069.184 992983.076 0, 1204796.302 992971.014 0, 1204523.419 992958.968 0,
+ 1204250.536 992946.938 0, 1203977.651 992934.925 0, 1203704.766 992922.927 0, 1203431.88 992910.945 0, 1203157.706 992898.923 0, 1202886.107 992887.03 0, 1202613.219 992875.097 0, 1202340.33 992863.179 0, 1202067.441 992851.278 0, 1201794.551 992839.393 0,
+ 1201521.66 992827.524 0, 1201248.769 992815.67 0, 1200975.877 992803.833 0, 1200702.984 992792.012 0, 1200430.091 992780.207 0, 1200157.197 992768.419 0, 1199884.302 992756.646 0, 1199611.406 992744.889 0, 1199338.51 992733.148 0, 1199065.613 992721.424 0,
+ 1198792.715 992709.715 0, 1198519.817 992698.023 0, 1198246.918 992686.346 0, 1197974.018 992674.686 0, 1197701.118 992663.041 0, 1197428.217 992651.413 0, 1197155.315 992639.801 0, 1196882.413 992628.205 0, 1196608.221 992616.57 0, 1196371.813 998191.801 0,
+ 1196135.402 1003767.123 0, 1196408.935 1003778.729 0, 1196681.181 1003790.298 0, 1196953.426 1003801.882 0, 1197225.671 1003813.482 0, 1197497.915 1003825.099 0, 1197770.158 1003836.731 0, 1198042.401 1003848.379 0, 1198314.643 1003860.044 0, 1198586.885 1003871.724 0,
+ 1198859.125 1003883.42 0, 1199131.365 1003895.133 0, 1199403.604 1003906.861 0, 1199675.843 1003918.606 0, 1199948.081 1003930.366 0, 1200220.318 1003942.143 0, 1200492.555 1003953.936 0, 1200764.79 1003965.744 0, 1201037.025 1003977.569 0, 1201309.26 1003989.41 0,
+ 1201581.494 1004001.266 0, 1201853.727 1004013.139 0, 1202125.959 1004025.028 0, 1202398.191 1004036.932 0, 1202669.137 1004048.797 0, 1202942.652 1004060.79 0, 1203214.881 1004072.743 0, 1203487.11 1004084.712 0, 1203759.338 1004096.696 0, 1204031.565 1004108.697 0,
+ 1204303.792 1004120.714 0, 1204576.018 1004132.747 0, 1204848.243 1004144.796 0, 1205120.468 1004156.861 0, 1205392.692 1004168.942 0, 1205664.915 1004181.039 0, 1205937.137 1004193.152 0, 1206209.359 1004205.281 0, 1206481.58 1004217.426 0, 1206753.8 1004229.587 0,
+ 1207026.02 1004241.764 0, 1207298.239 1004253.958 0, 1207570.457 1004266.167 0, 1207842.674 1004278.392 0, 1208114.891 1004290.633 0, 1208387.107 1004302.89 0, 1208659.322 1004315.164 0, 1208931.537 1004327.453 0, 1209202.467 1004339.7 0, 1209454.629 998765.069 0,
+ 1209706.786 993190.528 0))
+
+POLYGON ((1222267.862 1004949.192 0, 1221996.966 1004936.18 0, 1221724.787 1004923.121 0, 1221452.607 1004910.079 0, 1221180.427 1004897.053 0, 1220908.246 1004884.043 0, 1220636.064 1004871.048 0, 1220363.882 1004858.07 0, 1220091.698 1004845.108 0, 1219819.514 1004832.162 0,
+ 1219547.329 1004819.232 0, 1219275.144 1004806.318 0, 1219002.958 1004793.42 0, 1218730.77 1004780.538 0, 1218458.583 1004767.671 0, 1218186.394 1004754.821 0, 1217914.205 1004741.987 0, 1217642.014 1004729.169 0, 1217369.823 1004716.368 0, 1217097.632 1004703.582 0,
+ 1216825.439 1004690.812 0, 1216553.246 1004678.058 0, 1216281.052 1004665.32 0, 1216008.858 1004652.598 0, 1215735.38 1004639.832 0, 1215464.466 1004627.202 0, 1215192.269 1004614.529 0, 1214920.072 1004601.871 0, 1214647.873 1004589.229 0, 1214375.674 1004576.603 0,
+ 1214103.474 1004563.994 0, 1213831.274 1004551.4 0, 1213559.072 1004538.822 0, 1213286.87 1004526.261 0, 1213014.667 1004513.715 0, 1212742.464 1004501.185 0, 1212470.259 1004488.672 0, 1212198.054 1004476.174 0, 1211925.849 1004463.693 0, 1211653.642 1004451.227 0,
+ 1211381.435 1004438.778 0, 1211109.227 1004426.344 0, 1210837.018 1004413.927 0, 1210564.809 1004401.525 0, 1210292.599 1004389.14 0, 1210020.388 1004376.77 0, 1209748.176 1004364.417 0, 1209475.964 1004352.08 0, 1209202.467 1004339.7 0, 1208950.301 1009914.417 0,
+ 1208698.132 1015489.216 0, 1208970.97 1015501.565 0, 1209242.526 1015513.873 0, 1209514.081 1015526.197 0, 1209785.636 1015538.536 0, 1210057.19 1015550.892 0, 1210328.743 1015563.263 0, 1210600.295 1015575.651 0, 1210871.847 1015588.054 0, 1211143.398 1015600.474 0,
+ 1211414.949 1015612.909 0, 1211686.498 1015625.361 0, 1211958.047 1015637.828 0, 1212229.595 1015650.312 0, 1212501.142 1015662.811 0, 1212772.689 1015675.326 0, 1213044.235 1015687.858 0, 1213315.78 1015700.405 0, 1213587.324 1015712.968 0, 1213858.868 1015725.548 0,
+ 1214130.411 1015738.143 0, 1214401.953 1015750.754 0, 1214673.495 1015763.382 0, 1214945.035 1015776.025 0, 1215215.296 1015788.624 0, 1215488.115 1015801.359 0, 1215759.653 1015814.05 0, 1216031.191 1015826.758 0, 1216302.728 1015839.481 0, 1216574.264 1015852.22 0,
+ 1216845.799 1015864.975 0, 1217117.334 1015877.746 0, 1217388.868 1015890.533 0, 1217660.401 1015903.336 0, 1217931.934 1015916.155 0, 1218203.465 1015928.99 0, 1218474.996 1015941.841 0, 1218746.527 1015954.708 0, 1219018.056 1015967.591 0, 1219289.585 1015980.49 0,
+ 1219561.113 1015993.405 0, 1219832.64 1016006.336 0, 1220104.166 1016019.283 0, 1220375.692 1016032.246 0, 1220647.217 1016045.225 0, 1220918.741 1016058.22 0, 1221190.264 1016071.231 0, 1221461.787 1016084.257 0, 1221732.03 1016097.239 0, 1221999.948 1010523.175 0,
+ 1222267.862 1004949.192 0))
+
+POLYGON ((1234764.158 1016742.082 0, 1234493.95 1016728.337 0, 1234222.466 1016714.543 0, 1233950.98 1016700.766 0, 1233679.494 1016687.004 0, 1233408.007 1016673.258 0, 1233136.519 1016659.528 0, 1232865.03 1016645.814 0, 1232593.54 1016632.116 0, 1232322.05 1016618.434 0,
+ 1232050.559 1016604.768 0, 1231779.067 1016591.118 0, 1231507.574 1016577.484 0, 1231236.081 1016563.866 0, 1230964.586 1016550.264 0, 1230693.091 1016536.677 0, 1230421.595 1016523.107 0, 1230150.098 1016509.553 0, 1229878.601 1016496.015 0, 1229607.103 1016482.493 0,
+ 1229335.603 1016468.986 0, 1229064.104 1016455.496 0, 1228792.603 1016442.022 0, 1228521.101 1016428.564 0, 1228248.322 1016415.058 0, 1227978.096 1016401.695 0, 1227706.592 1016388.285 0, 1227435.087 1016374.89 0, 1227163.582 1016361.512 0, 1226892.076 1016348.15 0,
+ 1226620.568 1016334.803 0, 1226349.061 1016321.473 0, 1226077.552 1016308.158 0, 1225806.043 1016294.86 0, 1225534.532 1016281.577 0, 1225263.022 1016268.311 0, 1224991.51 1016255.06 0, 1224719.997 1016241.826 0, 1224448.484 1016228.607 0, 1224176.97 1016215.404 0,
+ 1223905.455 1016202.218 0, 1223633.939 1016189.047 0, 1223362.423 1016175.892 0, 1223090.906 1016162.754 0, 1222819.388 1016149.631 0, 1222547.869 1016136.524 0, 1222276.35 1016123.434 0, 1222004.829 1016110.359 0, 1221732.03 1016097.239 0, 1221464.108 1021671.38 0,
+ 1221196.183 1027245.595 0, 1221468.323 1027258.684 0, 1221739.187 1027271.727 0, 1222010.051 1027284.786 0, 1222280.913 1027297.861 0, 1222551.775 1027310.952 0, 1222822.636 1027324.059 0, 1223093.496 1027337.182 0, 1223364.356 1027350.321 0, 1223635.214 1027363.475 0,
+ 1223906.072 1027376.646 0, 1224176.929 1027389.833 0, 1224447.786 1027403.035 0, 1224718.641 1027416.254 0, 1224989.496 1027429.488 0, 1225260.35 1027442.739 0, 1225531.204 1027456.005 0, 1225802.056 1027469.287 0, 1226072.908 1027482.585 0, 1226343.759 1027495.9 0,
+ 1226614.609 1027509.23 0, 1226885.458 1027522.576 0, 1227156.307 1027535.938 0, 1227427.154 1027549.316 0, 1227696.727 1027562.647 0, 1227968.848 1027576.119 0, 1228239.693 1027589.545 0, 1228510.538 1027602.987 0, 1228781.381 1027616.445 0, 1229052.224 1027629.918 0,
+ 1229323.067 1027643.408 0, 1229593.908 1027656.913 0, 1229864.749 1027670.435 0, 1230135.589 1027683.972 0, 1230406.428 1027697.525 0, 1230677.266 1027711.094 0, 1230948.103 1027724.68 0, 1231218.94 1027738.281 0, 1231489.776 1027751.898 0, 1231760.611 1027765.531 0,
+ 1232031.445 1027779.18 0, 1232302.279 1027792.845 0, 1232573.111 1027806.525 0, 1232843.943 1027820.222 0, 1233114.774 1027833.935 0, 1233385.604 1027847.664 0, 1233656.434 1027861.408 0, 1233927.262 1027875.169 0, 1234196.817 1027888.88 0, 1234480.489 1022315.445 0,
+ 1234764.158 1016742.082 0))
+
+POLYGON ((1247195.582 1028568.892 0, 1246926.065 1028554.419 0, 1246655.276 1028539.893 0, 1246384.487 1028525.384 0, 1246113.696 1028510.89 0, 1245842.905 1028496.412 0, 1245572.113 1028481.95 0, 1245301.32 1028467.504 0, 1245030.526 1028453.074 0, 1244759.732 1028438.66 0,
+ 1244488.936 1028424.262 0, 1244218.14 1028409.88 0, 1243947.343 1028395.514 0, 1243676.545 1028381.163 0, 1243405.746 1028366.829 0, 1243134.946 1028352.511 0, 1242864.146 1028338.208 0, 1242593.344 1028323.922 0, 1242322.542 1028309.651 0, 1242051.739 1028295.396 0,
+ 1241780.935 1028281.158 0, 1241510.131 1028266.935 0, 1241239.325 1028252.728 0, 1240968.519 1028238.537 0, 1240696.44 1028224.296 0, 1240426.903 1028210.203 0, 1240156.094 1028196.06 0, 1239885.285 1028181.933 0, 1239614.474 1028167.822 0, 1239343.663 1028153.727 0,
+ 1239072.851 1028139.647 0, 1238802.038 1028125.584 0, 1238531.224 1028111.536 0, 1238260.409 1028097.505 0, 1237989.593 1028083.489 0, 1237718.777 1028069.49 0, 1237447.96 1028055.506 0, 1237177.142 1028041.538 0, 1236906.323 1028027.587 0, 1236635.504 1028013.651 0,
+ 1236364.683 1027999.731 0, 1236093.862 1027985.827 0, 1235823.04 1027971.939 0, 1235552.217 1027958.067 0, 1235281.393 1027944.21 0, 1235010.569 1027930.37 0, 1234739.743 1027916.546 0, 1234468.917 1027902.738 0, 1234196.817 1027888.88 0, 1233913.141 1033462.385 0,
+ 1233629.462 1039035.955 0, 1233900.903 1039049.779 0, 1234171.073 1039063.554 0, 1234441.242 1039077.345 0, 1234711.411 1039091.151 0, 1234981.578 1039104.974 0, 1235251.745 1039118.812 0, 1235521.911 1039132.667 0, 1235792.076 1039146.537 0, 1236062.241 1039160.423 0,
+ 1236332.404 1039174.325 0, 1236602.567 1039188.243 0, 1236872.729 1039202.177 0, 1237142.89 1039216.127 0, 1237413.05 1039230.093 0, 1237683.21 1039244.075 0, 1237953.368 1039258.072 0, 1238223.526 1039272.085 0, 1238493.683 1039286.115 0, 1238763.839 1039300.16 0,
+ 1239033.995 1039314.221 0, 1239304.149 1039328.298 0, 1239574.303 1039342.391 0, 1239844.456 1039356.5 0, 1240113.339 1039370.558 0, 1240384.759 1039384.765 0, 1240654.909 1039398.922 0, 1240925.059 1039413.094 0, 1241195.207 1039427.282 0, 1241465.355 1039441.487 0,
+ 1241735.502 1039455.707 0, 1242005.648 1039469.943 0, 1242275.794 1039484.195 0, 1242545.938 1039498.463 0, 1242816.082 1039512.746 0, 1243086.225 1039527.046 0, 1243356.367 1039541.361 0, 1243626.508 1039555.693 0, 1243896.648 1039570.04 0, 1244166.787 1039584.403 0,
+ 1244436.926 1039598.783 0, 1244707.064 1039613.178 0, 1244977.201 1039627.588 0, 1245247.337 1039642.015 0, 1245517.472 1039656.458 0, 1245787.606 1039670.917 0, 1246057.74 1039685.391 0, 1246327.872 1039699.882 0, 1246596.737 1039714.32 0, 1246896.161 1034141.573 0,
+ 1247195.582 1028568.892 0))
+
+POLYGON ((1259562.043 1040429.316 0, 1259293.218 1040414.118 0, 1259023.128 1040398.865 0, 1258753.036 1040383.627 0, 1258482.944 1040368.406 0, 1258212.85 1040353.2 0, 1257942.756 1040338.01 0, 1257672.661 1040322.836 0, 1257402.565 1040307.678 0, 1257132.468 1040292.535 0,
+ 1256862.37 1040277.409 0, 1256592.272 1040262.299 0, 1256322.172 1040247.204 0, 1256052.072 1040232.125 0, 1255781.97 1040217.063 0, 1255511.868 1040202.016 0, 1255241.765 1040186.985 0, 1254971.661 1040171.97 0, 1254701.556 1040156.97 0, 1254431.451 1040141.987 0,
+ 1254161.344 1040127.02 0, 1253891.236 1040112.068 0, 1253621.128 1040097.133 0, 1253351.019 1040082.213 0, 1253079.642 1040067.239 0, 1252810.798 1040052.421 0, 1252540.686 1040037.549 0, 1252270.573 1040022.693 0, 1252000.459 1040007.853 0, 1251730.345 1039993.029 0,
+ 1251460.229 1039978.22 0, 1251190.113 1039963.428 0, 1250919.996 1039948.651 0, 1250649.878 1039933.891 0, 1250379.759 1039919.146 0, 1250109.639 1039904.417 0, 1249839.519 1039889.704 0, 1249569.397 1039875.007 0, 1249299.275 1039860.326 0, 1249029.152 1039845.66 0,
+ 1248759.028 1039831.011 0, 1248488.903 1039816.377 0, 1248218.777 1039801.76 0, 1247948.65 1039787.158 0, 1247678.523 1039772.572 0, 1247408.394 1039758.002 0, 1247138.265 1039743.448 0, 1246868.135 1039728.91 0, 1246596.737 1039714.32 0, 1246297.309 1045287.127 0,
+ 1245997.878 1050859.991 0, 1246268.618 1050874.546 0, 1246538.092 1050889.048 0, 1246807.565 1050903.567 0, 1247077.037 1050918.102 0, 1247346.509 1050932.652 0, 1247615.979 1050947.218 0, 1247885.449 1050961.8 0, 1248154.918 1050976.398 0, 1248424.386 1050991.012 0,
+ 1248693.853 1051005.642 0, 1248963.32 1051020.287 0, 1249232.785 1051034.949 0, 1249502.25 1051049.626 0, 1249771.714 1051064.319 0, 1250041.177 1051079.028 0, 1250310.639 1051093.753 0, 1250580.1 1051108.494 0, 1250849.56 1051123.25 0, 1251119.019 1051138.023 0,
+ 1251388.478 1051152.811 0, 1251657.936 1051167.615 0, 1251927.392 1051182.435 0, 1252196.848 1051197.271 0, 1252465.04 1051212.053 0, 1252735.758 1051226.991 0, 1253005.211 1051241.874 0, 1253274.663 1051256.773 0, 1253544.115 1051271.688 0, 1253813.566 1051286.619 0,
+ 1254083.015 1051301.566 0, 1254352.464 1051316.529 0, 1254621.912 1051331.508 0, 1254891.36 1051346.502 0, 1255160.806 1051361.513 0, 1255430.251 1051376.539 0, 1255699.696 1051391.581 0, 1255969.139 1051406.639 0, 1256238.582 1051421.712 0, 1256508.024 1051436.802 0,
+ 1256777.465 1051451.908 0, 1257046.905 1051467.029 0, 1257316.344 1051482.166 0, 1257585.782 1051497.319 0, 1257855.22 1051512.488 0, 1258124.656 1051527.673 0, 1258394.092 1051542.873 0, 1258663.527 1051558.09 0, 1258931.698 1051573.251 0, 1259246.872 1046001.255 0,
+ 1259562.043 1040429.316 0))
+
+POLYGON ((1271863.452 1052323.049 0, 1271595.322 1052307.13 0, 1271325.931 1052291.152 0, 1271056.54 1052275.191 0, 1270787.147 1052259.245 0, 1270517.754 1052243.315 0, 1270248.359 1052227.4 0, 1269978.964 1052211.502 0, 1269709.568 1052195.62 0, 1269440.17 1052179.753 0,
+ 1269170.772 1052163.902 0, 1268901.373 1052148.067 0, 1268631.973 1052132.248 0, 1268362.572 1052116.445 0, 1268093.17 1052100.658 0, 1267823.768 1052084.886 0, 1267554.364 1052069.13 0, 1267284.959 1052053.391 0, 1267015.554 1052037.667 0, 1266746.147 1052021.959 0,
+ 1266476.74 1052006.266 0, 1266207.331 1051990.59 0, 1265937.922 1051974.93 0, 1265668.512 1051959.285 0, 1265397.84 1051943.583 0, 1265129.689 1051928.043 0, 1264860.276 1051912.446 0, 1264590.862 1051896.865 0, 1264321.447 1051881.299 0, 1264052.031 1051865.75 0,
+ 1263782.615 1051850.216 0, 1263513.197 1051834.699 0, 1263243.779 1051819.197 0, 1262974.36 1051803.711 0, 1262704.939 1051788.24 0, 1262435.518 1051772.786 0, 1262166.096 1051757.347 0, 1261896.673 1051741.925 0, 1261627.249 1051726.518 0, 1261357.824 1051711.127 0,
+ 1261088.399 1051695.752 0, 1260818.972 1051680.393 0, 1260549.545 1051665.049 0, 1260280.116 1051649.722 0, 1260010.687 1051634.41 0, 1259741.257 1051619.115 0, 1259471.825 1051603.835 0, 1259202.393 1051588.571 0, 1258931.698 1051573.251 0, 1258616.521 1057145.299 0,
+ 1258301.342 1062717.395 0, 1258571.378 1062732.677 0, 1258840.154 1062747.904 0, 1259108.929 1062763.147 0, 1259377.704 1062778.405 0, 1259646.477 1062793.68 0, 1259915.25 1062808.97 0, 1260184.021 1062824.276 0, 1260452.792 1062839.598 0, 1260721.562 1062854.935 0,
+ 1260990.331 1062870.289 0, 1261259.099 1062885.658 0, 1261527.866 1062901.043 0, 1261796.632 1062916.444 0, 1262065.397 1062931.861 0, 1262334.162 1062947.294 0, 1262602.925 1062962.742 0, 1262871.688 1062978.206 0, 1263140.449 1062993.686 0, 1263409.21 1063009.182 0,
+ 1263677.97 1063024.694 0, 1263946.729 1063040.221 0, 1264215.487 1063055.764 0, 1264484.244 1063071.323 0, 1264751.742 1063086.825 0, 1265021.755 1063102.489 0, 1265290.509 1063118.096 0, 1265559.263 1063133.718 0, 1265828.015 1063149.356 0, 1266096.767 1063165.01 0,
+ 1266365.518 1063180.68 0, 1266634.267 1063196.366 0, 1266903.016 1063212.067 0, 1267171.764 1063227.785 0, 1267440.511 1063243.518 0, 1267709.257 1063259.267 0, 1267978.002 1063275.031 0, 1268246.746 1063290.812 0, 1268515.489 1063306.608 0, 1268784.232 1063322.42 0,
+ 1269052.973 1063338.248 0, 1269321.714 1063354.092 0, 1269590.453 1063369.952 0, 1269859.192 1063385.827 0, 1270127.929 1063401.719 0, 1270396.666 1063417.626 0, 1270665.402 1063433.549 0, 1270934.137 1063449.487 0, 1271201.614 1063465.367 0, 1271532.534 1057894.184 0,
+ 1271863.452 1052323.049 0))
+
+POLYGON ((1284099.721 1064249.782 0, 1283832.287 1064233.147 0, 1283563.599 1064216.449 0, 1283294.909 1064199.767 0, 1283026.218 1064183.101 0, 1282757.527 1064166.45 0, 1282488.834 1064149.815 0, 1282220.14 1064133.197 0, 1281951.446 1064116.594 0, 1281682.75 1064100.006 0,
+ 1281414.054 1064083.435 0, 1281145.356 1064066.879 0, 1280876.658 1064050.34 0, 1280607.958 1064033.816 0, 1280339.258 1064017.308 0, 1280070.556 1064000.815 0, 1279801.854 1063984.339 0, 1279533.15 1063967.878 0, 1279264.446 1063951.433 0, 1278995.741 1063935.004 0,
+ 1278727.035 1063918.591 0, 1278458.327 1063902.194 0, 1278189.619 1063885.812 0, 1277920.91 1063869.446 0, 1277650.944 1063853.02 0, 1277383.489 1063836.762 0, 1277114.777 1063820.444 0, 1276846.064 1063804.141 0, 1276577.35 1063787.855 0, 1276308.635 1063771.584 0,
+ 1276039.919 1063755.329 0, 1275771.202 1063739.089 0, 1275502.484 1063722.866 0, 1275233.766 1063706.658 0, 1274965.046 1063690.467 0, 1274696.325 1063674.291 0, 1274427.604 1063658.13 0, 1274158.881 1063641.986 0, 1273890.158 1063625.857 0, 1273621.433 1063609.745 0,
+ 1273352.708 1063593.648 0, 1273083.981 1063577.567 0, 1272815.254 1063561.502 0, 1272546.526 1063545.452 0, 1272277.797 1063529.418 0, 1272009.066 1063513.401 0, 1271740.335 1063497.399 0, 1271471.603 1063481.412 0, 1271201.614 1063465.367 0, 1270870.69 1069036.595 0,
+ 1270539.765 1074607.861 0, 1270809.096 1074623.867 0, 1271077.172 1074639.815 0, 1271345.247 1074655.777 0, 1271613.322 1074671.756 0, 1271881.395 1074687.751 0, 1272149.468 1074703.761 0, 1272417.539 1074719.787 0, 1272685.61 1074735.829 0, 1272953.679 1074751.887 0,
+ 1273221.748 1074767.96 0, 1273489.816 1074784.049 0, 1273757.882 1074800.154 0, 1274025.948 1074816.275 0, 1274294.013 1074832.411 0, 1274562.077 1074848.564 0, 1274830.14 1074864.732 0, 1275098.202 1074880.915 0, 1275366.263 1074897.115 0, 1275634.323 1074913.331 0,
+ 1275902.382 1074929.562 0, 1276170.44 1074945.809 0, 1276438.498 1074962.071 0, 1276706.554 1074978.35 0, 1276973.356 1074994.568 0, 1277242.663 1075010.954 0, 1277510.717 1075027.28 0, 1277778.769 1075043.622 0, 1278046.821 1075059.979 0, 1278314.871 1075076.352 0,
+ 1278582.921 1075092.741 0, 1278850.969 1075109.146 0, 1279119.017 1075125.566 0, 1279387.064 1075142.003 0, 1279655.109 1075158.455 0, 1279923.154 1075174.923 0, 1280191.198 1075191.406 0, 1280459.241 1075207.906 0, 1280727.282 1075224.421 0, 1280995.323 1075240.952 0,
+ 1281263.363 1075257.498 0, 1281531.402 1075274.061 0, 1281799.44 1075290.639 0, 1282067.477 1075307.233 0, 1282335.513 1075323.843 0, 1282603.548 1075340.469 0, 1282871.582 1075357.11 0, 1283139.615 1075373.767 0, 1283406.395 1075390.362 0, 1283753.059 1069820.053 0,
+ 1284099.721 1064249.782 0))
+
+POLYGON ((1296270.763 1076209.21 0, 1296004.029 1076191.862 0, 1295736.044 1076174.447 0, 1295468.058 1076157.049 0, 1295200.071 1076139.666 0, 1294932.083 1076122.299 0, 1294664.094 1076104.948 0, 1294396.104 1076087.612 0, 1294128.113 1076070.293 0, 1293860.121 1076052.989 0,
+ 1293592.128 1076035.7 0, 1293324.134 1076018.428 0, 1293056.139 1076001.172 0, 1292788.143 1075983.931 0, 1292520.145 1075966.706 0, 1292252.147 1075949.496 0, 1291984.148 1075932.303 0, 1291716.148 1075915.125 0, 1291448.147 1075897.963 0, 1291180.145 1075880.817 0,
+ 1290912.142 1075863.687 0, 1290644.137 1075846.572 0, 1290376.132 1075829.473 0, 1290108.126 1075812.39 0, 1289838.868 1075795.243 0, 1289572.111 1075778.271 0, 1289304.101 1075761.236 0, 1289036.091 1075744.216 0, 1288768.08 1075727.211 0, 1288500.068 1075710.223 0,
+ 1288232.054 1075693.25 0, 1287964.04 1075676.293 0, 1287696.025 1075659.352 0, 1287428.009 1075642.427 0, 1287159.992 1075625.517 0, 1286891.973 1075608.624 0, 1286623.954 1075591.746 0, 1286355.934 1075574.883 0, 1286087.913 1075558.037 0, 1285819.891 1075541.206 0,
+ 1285551.867 1075524.391 0, 1285283.843 1075507.592 0, 1285015.818 1075490.809 0, 1284747.792 1075474.041 0, 1284479.765 1075457.29 0, 1284211.737 1075440.554 0, 1283943.708 1075423.833 0, 1283675.678 1075407.129 0, 1283406.395 1075390.362 0, 1283059.729 1080960.707 0,
+ 1282713.061 1086531.083 0, 1282981.685 1086547.809 0, 1283249.059 1086564.472 0, 1283516.432 1086581.152 0, 1283783.805 1086597.847 0, 1284051.176 1086614.557 0, 1284318.547 1086631.284 0, 1284585.916 1086648.026 0, 1284853.285 1086664.784 0, 1285120.652 1086681.558 0,
+ 1285388.018 1086698.348 0, 1285655.384 1086715.153 0, 1285922.748 1086731.974 0, 1286190.112 1086748.811 0, 1286457.474 1086765.663 0, 1286724.836 1086782.531 0, 1286992.197 1086799.415 0, 1287259.556 1086816.315 0, 1287526.915 1086833.23 0, 1287794.272 1086850.161 0,
+ 1288061.629 1086867.108 0, 1288328.984 1086884.071 0, 1288596.339 1086901.049 0, 1288863.692 1086918.043 0, 1289129.798 1086934.974 0, 1289398.396 1086952.079 0, 1289665.747 1086969.12 0, 1289933.096 1086986.177 0, 1290200.445 1087003.25 0, 1290467.793 1087020.338 0,
+ 1290735.139 1087037.442 0, 1291002.485 1087054.562 0, 1291269.829 1087071.698 0, 1291537.173 1087088.849 0, 1291804.515 1087106.017 0, 1292071.857 1087123.199 0, 1292339.197 1087140.398 0, 1292606.536 1087157.612 0, 1292873.875 1087174.843 0, 1293141.212 1087192.088 0,
+ 1293408.549 1087209.35 0, 1293675.884 1087226.627 0, 1293943.219 1087243.92 0, 1294210.552 1087261.229 0, 1294477.884 1087278.554 0, 1294745.216 1087295.894 0, 1295012.546 1087313.25 0, 1295279.875 1087330.622 0, 1295545.957 1087347.928 0, 1295908.361 1081778.554 0,
+ 1296270.763 1076209.21 0))
+
+POLYGON ((1308376.494 1088201.025 0, 1308110.46 1088182.967 0, 1307843.181 1088164.84 0, 1307575.901 1088146.729 0, 1307308.62 1088128.633 0, 1307041.337 1088110.554 0, 1306774.054 1088092.49 0, 1306506.77 1088074.441 0, 1306239.484 1088056.409 0, 1305972.197 1088038.392 0,
+ 1305704.91 1088020.391 0, 1305437.621 1088002.406 0, 1305170.331 1087984.436 0, 1304903.041 1087966.482 0, 1304635.749 1087948.544 0, 1304368.456 1087930.622 0, 1304101.162 1087912.715 0, 1303833.867 1087894.824 0, 1303566.571 1087876.949 0, 1303299.274 1087859.089 0,
+ 1303031.975 1087841.246 0, 1302764.676 1087823.418 0, 1302497.376 1087805.605 0, 1302230.075 1087787.809 0, 1301961.527 1087769.945 0, 1301695.469 1087752.263 0, 1301428.164 1087734.514 0, 1301160.859 1087716.78 0, 1300893.552 1087699.062 0, 1300626.245 1087681.36 0,
+ 1300358.936 1087663.674 0, 1300091.626 1087646.003 0, 1299824.316 1087628.348 0, 1299557.004 1087610.709 0, 1299289.691 1087593.086 0, 1299022.377 1087575.478 0, 1298755.062 1087557.886 0, 1298487.746 1087540.31 0, 1298220.429 1087522.749 0, 1297953.111 1087505.204 0,
+ 1297685.792 1087487.675 0, 1297418.472 1087470.162 0, 1297151.151 1087452.664 0, 1296883.829 1087435.182 0, 1296616.506 1087417.716 0, 1296349.182 1087400.266 0, 1296081.857 1087382.831 0, 1295814.531 1087365.412 0, 1295545.957 1087347.928 0, 1295183.551 1092917.329 0,
+ 1294821.144 1098486.752 0, 1295089.059 1098504.194 0, 1295355.73 1098521.57 0, 1295622.399 1098538.962 0, 1295889.068 1098556.369 0, 1296155.735 1098573.793 0, 1296422.402 1098591.232 0, 1296689.067 1098608.686 0, 1296955.732 1098626.157 0, 1297222.395 1098643.643 0,
+ 1297489.057 1098661.144 0, 1297755.719 1098678.662 0, 1298022.379 1098696.195 0, 1298289.038 1098713.744 0, 1298555.697 1098731.308 0, 1298822.354 1098748.889 0, 1299089.01 1098766.485 0, 1299355.665 1098784.096 0, 1299622.319 1098801.724 0, 1299888.972 1098819.367 0,
+ 1300155.625 1098837.025 0, 1300422.276 1098854.7 0, 1300688.925 1098872.39 0, 1300955.574 1098890.096 0, 1301220.98 1098907.735 0, 1301488.869 1098925.554 0, 1301755.515 1098943.307 0, 1302022.16 1098961.076 0, 1302288.803 1098978.86 0, 1302555.446 1098996.66 0,
+ 1302822.088 1099014.476 0, 1303088.728 1099032.307 0, 1303355.368 1099050.154 0, 1303622.006 1099068.017 0, 1303888.643 1099085.895 0, 1304155.28 1099103.789 0, 1304421.915 1099121.699 0, 1304688.549 1099139.625 0, 1304955.183 1099157.566 0, 1305221.815 1099175.523 0,
+ 1305488.446 1099193.495 0, 1305755.076 1099211.484 0, 1306021.705 1099229.488 0, 1306288.333 1099247.507 0, 1306554.959 1099265.543 0, 1306821.585 1099283.594 0, 1307088.21 1099301.661 0, 1307354.834 1099319.743 0, 1307620.215 1099337.757 0, 1307998.356 1093769.38 0,
+ 1308376.494 1088201.025 0))
+
+POLYGON ((1320416.831 1100224.918 0, 1320151.499 1100206.154 0, 1319884.928 1100187.319 0, 1319618.355 1100168.499 0, 1319351.781 1100149.694 0, 1319085.207 1100130.906 0, 1318818.631 1100112.133 0, 1318552.054 1100093.376 0, 1318285.475 1100074.634 0, 1318018.896 1100055.908 0,
+ 1317752.316 1100037.198 0, 1317485.734 1100018.504 0, 1317219.152 1099999.825 0, 1316952.568 1099981.162 0, 1316685.984 1099962.515 0, 1316419.398 1099943.883 0, 1316152.811 1099925.267 0, 1315886.223 1099906.667 0, 1315619.634 1099888.082 0, 1315353.043 1099869.513 0,
+ 1315086.452 1099850.96 0, 1314819.86 1099832.423 0, 1314553.266 1099813.901 0, 1314286.672 1099795.395 0, 1314018.836 1099776.818 0, 1313753.479 1099758.429 0, 1313486.882 1099739.97 0, 1313220.283 1099721.527 0, 1312953.683 1099703.099 0, 1312687.082 1099684.687 0,
+ 1312420.479 1099666.291 0, 1312153.876 1099647.91 0, 1311887.272 1099629.546 0, 1311620.666 1099611.196 0, 1311354.06 1099592.863 0, 1311087.452 1099574.545 0, 1310820.844 1099556.243 0, 1310554.234 1099537.956 0, 1310287.623 1099519.686 0, 1310021.011 1099501.431 0,
+ 1309754.398 1099483.191 0, 1309487.784 1099464.968 0, 1309221.169 1099446.76 0, 1308954.553 1099428.567 0, 1308687.936 1099410.391 0, 1308421.317 1099392.23 0, 1308154.698 1099374.084 0, 1307888.078 1099355.955 0, 1307620.215 1099337.757 0, 1307242.074 1104906.152 0,
+ 1306863.931 1110474.561 0, 1307131.135 1110492.714 0, 1307397.1 1110510.799 0, 1307663.064 1110528.899 0, 1307929.027 1110547.016 0, 1308194.988 1110565.148 0, 1308460.949 1110583.295 0, 1308726.909 1110601.458 0, 1308992.867 1110619.637 0, 1309258.825 1110637.832 0,
+ 1309524.781 1110656.042 0, 1309790.737 1110674.268 0, 1310056.691 1110692.509 0, 1310322.644 1110710.767 0, 1310588.596 1110729.039 0, 1310854.547 1110747.328 0, 1311120.497 1110765.632 0, 1311386.446 1110783.952 0, 1311652.394 1110802.287 0, 1311918.341 1110820.638 0,
+ 1312184.286 1110839.005 0, 1312450.231 1110857.387 0, 1312716.174 1110875.785 0, 1312982.117 1110894.199 0, 1313246.821 1110912.543 0, 1313513.998 1110931.073 0, 1313779.937 1110949.534 0, 1314045.875 1110968.01 0, 1314311.812 1110986.502 0, 1314577.748 1111005.01 0,
+ 1314843.683 1111023.533 0, 1315109.617 1111042.072 0, 1315375.549 1111060.626 0, 1315641.481 1111079.197 0, 1315907.411 1111097.782 0, 1316173.341 1111116.384 0, 1316439.269 1111135.001 0, 1316705.196 1111153.634 0, 1316971.122 1111172.282 0, 1317237.047 1111190.947 0,
+ 1317502.971 1111209.626 0, 1317768.894 1111228.322 0, 1318034.815 1111247.033 0, 1318300.736 1111265.76 0, 1318566.655 1111284.502 0, 1318832.573 1111303.26 0, 1319098.491 1111322.034 0, 1319364.407 1111340.823 0, 1319629.086 1111359.541 0, 1320022.959 1105792.222 0,
+ 1320416.831 1100224.918 0))
+
+POLYGON ((1332391.69 1112280.581 0, 1332127.063 1112261.115 0, 1331861.201 1112241.575 0, 1331595.338 1112222.05 0, 1331329.473 1112202.541 0, 1331063.608 1112183.047 0, 1330797.741 1112163.569 0, 1330531.874 1112144.107 0, 1330266.005 1112124.66 0, 1330000.135 1112105.229 0,
+ 1329734.264 1112085.814 0, 1329468.391 1112066.414 0, 1329202.518 1112047.03 0, 1328936.643 1112027.662 0, 1328670.768 1112008.309 0, 1328404.891 1111988.972 0, 1328139.013 1111969.651 0, 1327873.134 1111950.345 0, 1327607.253 1111931.055 0, 1327341.372 1111911.78 0,
+ 1327075.489 1111892.522 0, 1326809.606 1111873.278 0, 1326543.721 1111854.051 0, 1326277.835 1111834.839 0, 1326010.714 1111815.554 0, 1325746.06 1111796.462 0, 1325480.17 1111777.297 0, 1325214.28 1111758.148 0, 1324948.388 1111739.014 0, 1324682.496 1111719.896 0,
+ 1324416.602 1111700.794 0, 1324150.707 1111681.707 0, 1323884.811 1111662.636 0, 1323618.914 1111643.581 0, 1323353.015 1111624.541 0, 1323087.116 1111605.517 0, 1322821.215 1111586.508 0, 1322555.314 1111567.516 0, 1322289.411 1111548.539 0, 1322023.507 1111529.577 0,
+ 1321757.602 1111510.631 0, 1321491.696 1111491.701 0, 1321225.789 1111472.786 0, 1320959.88 1111453.888 0, 1320693.971 1111435.004 0, 1320428.06 1111416.137 0, 1320162.149 1111397.285 0, 1319896.236 1111378.449 0, 1319629.086 1111359.541 0, 1319235.213 1116926.868 0,
+ 1318841.339 1122494.2 0, 1319107.83 1122513.061 0, 1319373.088 1122531.851 0, 1319638.344 1122550.657 0, 1319903.599 1122569.478 0, 1320168.853 1122588.314 0, 1320434.106 1122607.167 0, 1320699.358 1122626.035 0, 1320964.609 1122644.918 0, 1321229.859 1122663.817 0,
+ 1321495.107 1122682.732 0, 1321760.355 1122701.662 0, 1322025.601 1122720.608 0, 1322290.846 1122739.57 0, 1322556.09 1122758.547 0, 1322821.333 1122777.54 0, 1323086.575 1122796.548 0, 1323351.816 1122815.572 0, 1323617.056 1122834.612 0, 1323882.294 1122853.667 0,
+ 1324147.532 1122872.738 0, 1324412.768 1122891.825 0, 1324678.003 1122910.927 0, 1324943.237 1122930.045 0, 1325207.238 1122949.089 0, 1325473.702 1122968.327 0, 1325738.932 1122987.491 0, 1326004.162 1123006.671 0, 1326269.39 1123025.867 0, 1326534.617 1123045.079 0,
+ 1326799.843 1123064.306 0, 1327065.068 1123083.548 0, 1327330.292 1123102.806 0, 1327595.515 1123122.08 0, 1327860.737 1123141.37 0, 1328125.957 1123160.675 0, 1328391.176 1123179.995 0, 1328656.395 1123199.332 0, 1328921.612 1123218.683 0, 1329186.827 1123238.051 0,
+ 1329452.042 1123257.434 0, 1329717.256 1123276.833 0, 1329982.468 1123296.247 0, 1330247.68 1123315.677 0, 1330512.89 1123335.122 0, 1330778.099 1123354.584 0, 1331043.307 1123374.06 0, 1331308.514 1123393.553 0, 1331572.489 1123412.97 0, 1331982.09 1117846.773 0,
+ 1332391.69 1112280.581 0))
+
+POLYGON ((1344300.992 1124367.705 0, 1344037.071 1124347.541 0, 1343771.92 1124327.3 0, 1343506.768 1124307.074 0, 1343241.615 1124286.864 0, 1342976.461 1124266.669 0, 1342711.306 1124246.49 0, 1342446.149 1124226.326 0, 1342180.991 1124206.178 0, 1341915.832 1124186.046 0,
+ 1341650.672 1124165.929 0, 1341385.511 1124145.828 0, 1341120.348 1124125.743 0, 1340855.185 1124105.673 0, 1340590.02 1124085.619 0, 1340324.854 1124065.58 0, 1340059.687 1124045.557 0, 1339794.518 1124025.55 0, 1339529.349 1124005.558 0, 1339264.178 1123985.582 0,
+ 1338999.006 1123965.621 0, 1338733.833 1123945.676 0, 1338468.659 1123925.747 0, 1338203.483 1123905.833 0, 1337937.078 1123885.842 0, 1337673.129 1123866.052 0, 1337407.95 1123846.185 0, 1337142.77 1123826.334 0, 1336877.589 1123806.498 0, 1336612.406 1123786.678 0,
+ 1336347.223 1123766.873 0, 1336082.038 1123747.084 0, 1335816.852 1123727.311 0, 1335551.665 1123707.553 0, 1335286.476 1123687.811 0, 1335021.287 1123668.085 0, 1334756.096 1123648.374 0, 1334490.905 1123628.679 0, 1334225.712 1123608.999 0, 1333960.518 1123589.335 0,
+ 1333695.322 1123569.686 0, 1333430.126 1123550.054 0, 1333164.929 1123530.436 0, 1332899.73 1123510.835 0, 1332634.53 1123491.249 0, 1332369.329 1123471.678 0, 1332104.127 1123452.123 0, 1331838.924 1123432.584 0, 1331572.489 1123412.97 0, 1331162.888 1128979.168 0,
+ 1330753.287 1134545.361 0, 1331019.064 1134564.927 0, 1331283.612 1134584.417 0, 1331548.159 1134603.924 0, 1331812.705 1134623.446 0, 1332077.249 1134642.984 0, 1332341.793 1134662.537 0, 1332606.335 1134682.106 0, 1332870.876 1134701.69 0, 1333135.416 1134721.29 0,
+ 1333399.955 1134740.905 0, 1333664.493 1134760.536 0, 1333929.029 1134780.183 0, 1334193.565 1134799.845 0, 1334458.099 1134819.523 0, 1334722.632 1134839.216 0, 1334987.164 1134858.925 0, 1335251.695 1134878.65 0, 1335516.224 1134898.39 0, 1335780.753 1134918.145 0,
+ 1336045.28 1134937.916 0, 1336309.806 1134957.703 0, 1336574.331 1134977.505 0, 1336838.855 1134997.323 0, 1337102.151 1135017.065 0, 1337367.899 1135037.006 0, 1337632.419 1135056.87 0, 1337896.938 1135076.75 0, 1338161.456 1135096.646 0, 1338425.973 1135116.558 0,
+ 1338690.489 1135136.484 0, 1338955.003 1135156.427 0, 1339219.516 1135176.385 0, 1339484.028 1135196.358 0, 1339748.539 1135216.348 0, 1340013.049 1135236.352 0, 1340277.557 1135256.373 0, 1340542.065 1135276.408 0, 1340806.571 1135296.46 0, 1341071.076 1135316.527 0,
+ 1341335.58 1135336.609 0, 1341600.082 1135356.707 0, 1341864.584 1135376.821 0, 1342129.084 1135396.95 0, 1342393.583 1135417.095 0, 1342658.081 1135437.256 0, 1342922.578 1135457.432 0, 1343187.073 1135477.623 0, 1343450.343 1135497.737 0, 1343875.667 1129932.723 0,
+ 1344300.992 1124367.705 0))
+
+POLYGON ((1356144.657 1136485.98 0, 1355881.443 1136465.123 0, 1355617.006 1136444.184 0, 1355352.567 1136423.261 0, 1355088.127 1136402.353 0, 1354823.686 1136381.461 0, 1354559.244 1136360.585 0, 1354294.8 1136339.724 0, 1354030.356 1136318.879 0, 1353765.91 1136298.049 0,
+ 1353501.462 1136277.235 0, 1353237.014 1136256.436 0, 1352972.564 1136235.653 0, 1352708.113 1136214.885 0, 1352443.661 1136194.134 0, 1352179.208 1136173.397 0, 1351914.753 1136152.676 0, 1351650.297 1136131.971 0, 1351385.84 1136111.282 0, 1351121.382 1136090.607 0,
+ 1350856.923 1136069.949 0, 1350592.462 1136049.306 0, 1350328 1136028.679 0, 1350063.537 1136008.067 0, 1349797.849 1135987.375 0, 1349534.607 1135966.89 0, 1349270.14 1135946.325 0, 1349005.672 1135925.775 0, 1348741.203 1135905.241 0, 1348476.733 1135884.723 0,
+ 1348212.261 1135864.22 0, 1347947.789 1135843.733 0, 1347683.315 1135823.261 0, 1347418.839 1135802.805 0, 1347154.363 1135782.364 0, 1346889.885 1135761.939 0, 1346625.407 1135741.53 0, 1346360.927 1135721.136 0, 1346096.445 1135700.757 0, 1345831.963 1135680.395 0,
+ 1345567.479 1135660.047 0, 1345302.995 1135639.716 0, 1345038.509 1135619.4 0, 1344774.021 1135599.099 0, 1344509.533 1135578.814 0, 1344245.044 1135558.545 0, 1343980.553 1135538.291 0, 1343716.061 1135518.053 0, 1343450.343 1135497.737 0, 1343025.019 1141062.742 0,
+ 1342599.696 1146627.734 0, 1342864.756 1146648 0, 1343128.593 1146668.188 0, 1343392.429 1146688.392 0, 1343656.263 1146708.611 0, 1343920.096 1146728.846 0, 1344183.928 1146749.096 0, 1344447.759 1146769.362 0, 1344711.589 1146789.643 0, 1344975.418 1146809.94 0,
+ 1345239.245 1146830.252 0, 1345503.071 1146850.58 0, 1345766.896 1146870.923 0, 1346030.72 1146891.282 0, 1346294.542 1146911.657 0, 1346558.364 1146932.047 0, 1346822.184 1146952.452 0, 1347086.003 1146972.873 0, 1347349.82 1146993.31 0, 1347613.637 1147013.762 0,
+ 1347877.452 1147034.23 0, 1348141.266 1147054.713 0, 1348405.079 1147075.211 0, 1348668.891 1147095.726 0, 1348931.481 1147116.16 0, 1349196.511 1147136.801 0, 1349460.319 1147157.361 0, 1349724.126 1147177.938 0, 1349987.932 1147198.529 0, 1350251.736 1147219.137 0,
+ 1350515.539 1147239.76 0, 1350779.341 1147260.398 0, 1351043.142 1147281.052 0, 1351306.942 1147301.721 0, 1351570.74 1147322.406 0, 1351834.537 1147343.107 0, 1352098.333 1147363.823 0, 1352362.128 1147384.555 0, 1352625.921 1147405.302 0, 1352889.714 1147426.064 0,
+ 1353153.505 1147446.842 0, 1353417.294 1147467.636 0, 1353681.083 1147488.445 0, 1353944.87 1147509.27 0, 1354208.657 1147530.11 0, 1354472.442 1147550.966 0, 1354736.225 1147571.837 0, 1355000.008 1147592.724 0, 1355262.569 1147613.53 0, 1355703.613 1142049.761 0,
+ 1356144.657 1136485.98 0))
+
+POLYGON ((1367922.607 1148635.097 0, 1367660.103 1148613.549 0, 1367396.381 1148591.917 0, 1367132.657 1148570.301 0, 1366868.932 1148548.7 0, 1366605.206 1148527.114 0, 1366341.479 1148505.544 0, 1366077.75 1148483.99 0, 1365814.02 1148462.451 0, 1365550.288 1148440.928 0,
+ 1365286.556 1148419.42 0, 1365022.822 1148397.928 0, 1364759.087 1148376.451 0, 1364495.351 1148354.99 0, 1364231.613 1148333.544 0, 1363967.874 1148312.114 0, 1363704.134 1148290.699 0, 1363440.392 1148269.3 0, 1363176.65 1148247.916 0, 1362912.906 1148226.548 0,
+ 1362649.161 1148205.196 0, 1362385.414 1148183.859 0, 1362121.667 1148162.537 0, 1361857.918 1148141.231 0, 1361592.949 1148119.842 0, 1361330.416 1148098.666 0, 1361066.663 1148077.406 0, 1360802.909 1148056.162 0, 1360539.154 1148034.934 0, 1360275.398 1148013.721 0,
+ 1360011.64 1147992.524 0, 1359747.881 1147971.342 0, 1359484.121 1147950.176 0, 1359220.359 1147929.025 0, 1358956.597 1147907.89 0, 1358692.833 1147886.77 0, 1358429.068 1147865.666 0, 1358165.301 1147844.577 0, 1357901.534 1147823.504 0, 1357637.765 1147802.446 0,
+ 1357373.995 1147781.404 0, 1357110.223 1147760.378 0, 1356846.451 1147739.367 0, 1356582.677 1147718.371 0, 1356318.902 1147697.391 0, 1356055.125 1147676.427 0, 1355791.348 1147655.478 0, 1355527.569 1147634.545 0, 1355262.569 1147613.53 0, 1354821.528 1153177.281 0,
+ 1354380.487 1158741.01 0, 1354644.829 1158761.972 0, 1354907.953 1158782.854 0, 1355171.075 1158803.751 0, 1355434.197 1158824.663 0, 1355697.317 1158845.591 0, 1355960.436 1158866.534 0, 1356223.554 1158887.493 0, 1356486.67 1158908.468 0, 1356749.785 1158929.458 0,
+ 1357012.899 1158950.463 0, 1357276.012 1158971.484 0, 1357539.123 1158992.52 0, 1357802.234 1159013.572 0, 1358065.343 1159034.639 0, 1358328.451 1159055.722 0, 1358591.557 1159076.82 0, 1358854.662 1159097.934 0, 1359117.766 1159119.063 0, 1359380.869 1159140.208 0,
+ 1359643.971 1159161.368 0, 1359907.071 1159182.544 0, 1360170.17 1159203.735 0, 1360433.268 1159224.941 0, 1360695.149 1159246.065 0, 1360959.46 1159267.401 0, 1361222.554 1159288.654 0, 1361485.647 1159309.923 0, 1361748.739 1159331.207 0, 1362011.829 1159352.506 0,
+ 1362274.918 1159373.821 0, 1362538.006 1159395.152 0, 1362801.092 1159416.498 0, 1363064.178 1159437.859 0, 1363327.262 1159459.236 0, 1363590.344 1159480.629 0, 1363853.426 1159502.037 0, 1364116.506 1159523.46 0, 1364379.585 1159544.899 0, 1364642.663 1159566.354 0,
+ 1364905.739 1159587.823 0, 1365168.815 1159609.309 0, 1365431.889 1159630.81 0, 1365694.961 1159652.326 0, 1365958.033 1159673.858 0, 1366221.103 1159695.405 0, 1366484.172 1159716.968 0, 1366747.239 1159738.546 0, 1367009.092 1159760.04 0, 1367465.848 1154197.579 0,
+ 1367922.607 1148635.097 0))
+
+POLYGON ((1379634.766 1160814.745 0, 1379372.974 1160792.511 0, 1379109.968 1160770.189 0, 1378846.961 1160747.883 0, 1378583.953 1160725.593 0, 1378320.944 1160703.318 0, 1378057.933 1160681.058 0, 1377794.921 1160658.814 0, 1377531.907 1160636.586 0, 1377268.892 1160614.373 0,
+ 1377005.876 1160592.175 0, 1376742.859 1160569.993 0, 1376479.84 1160547.827 0, 1376216.82 1160525.676 0, 1375953.799 1160503.54 0, 1375690.776 1160481.42 0, 1375427.752 1160459.315 0, 1375164.727 1160437.226 0, 1374901.701 1160415.152 0, 1374638.673 1160393.094 0,
+ 1374375.644 1160371.051 0, 1374112.613 1160349.024 0, 1373849.582 1160327.012 0, 1373586.549 1160305.016 0, 1373322.301 1160282.934 0, 1373060.479 1160261.07 0, 1372797.442 1160239.12 0, 1372534.404 1160217.185 0, 1372271.364 1160195.267 0, 1372008.324 1160173.363 0,
+ 1371745.282 1160151.475 0, 1371482.238 1160129.603 0, 1371219.194 1160107.746 0, 1370956.148 1160085.904 0, 1370693.101 1160064.078 0, 1370430.052 1160042.268 0, 1370167.002 1160020.473 0, 1369903.951 1159998.693 0, 1369640.899 1159976.929 0, 1369377.845 1159955.181 0,
+ 1369114.791 1159933.447 0, 1368851.734 1159911.73 0, 1368588.677 1159890.028 0, 1368325.618 1159868.341 0, 1368062.558 1159846.67 0, 1367799.497 1159825.014 0, 1367536.435 1159803.374 0, 1367273.371 1159781.749 0, 1367009.092 1159760.04 0, 1366552.337 1165322.475 0,
+ 1366095.585 1170884.878 0, 1366359.206 1170906.533 0, 1366621.615 1170928.104 0, 1366884.023 1170949.69 0, 1367146.429 1170971.292 0, 1367408.835 1170992.909 0, 1367671.238 1171014.542 0, 1367933.641 1171036.19 0, 1368196.042 1171057.853 0, 1368458.443 1171079.532 0,
+ 1368720.841 1171101.227 0, 1368983.239 1171122.937 0, 1369245.635 1171144.662 0, 1369508.03 1171166.403 0, 1369770.424 1171188.159 0, 1370032.816 1171209.931 0, 1370295.208 1171231.718 0, 1370557.597 1171253.52 0, 1370819.986 1171275.338 0, 1371082.373 1171297.172 0,
+ 1371344.759 1171319.021 0, 1371607.144 1171340.885 0, 1371869.527 1171362.765 0, 1372131.91 1171384.66 0, 1372393.08 1171406.47 0, 1372656.67 1171428.497 0, 1372919.048 1171450.438 0, 1373181.425 1171472.395 0, 1373443.801 1171494.368 0, 1373706.175 1171516.356 0,
+ 1373968.549 1171538.359 0, 1374230.92 1171560.378 0, 1374493.291 1171582.412 0, 1374755.66 1171604.462 0, 1375018.028 1171626.527 0, 1375280.395 1171648.607 0, 1375542.76 1171670.703 0, 1375805.124 1171692.815 0, 1376067.487 1171714.942 0, 1376329.848 1171737.084 0,
+ 1376592.208 1171759.242 0, 1376854.567 1171781.415 0, 1377116.925 1171803.604 0, 1377379.281 1171825.808 0, 1377641.636 1171848.027 0, 1377903.989 1171870.262 0, 1378166.342 1171892.512 0, 1378428.693 1171914.778 0, 1378689.833 1171936.957 0, 1379162.298 1166375.866 0,
+ 1379634.766 1160814.745 0))
+
+POLYGON ((861030.191 711602.804 0, 860742.17 711610.951 0, 860452.728 711619.156 0, 860163.285 711627.378 0, 859873.844 711635.617 0, 859584.403 711643.873 0, 859294.962 711652.147 0, 859005.522 711660.437 0, 858716.082 711668.744 0, 858426.643 711677.068 0,
+ 858137.204 711685.409 0, 857847.766 711693.768 0, 857558.328 711702.143 0, 857268.891 711710.535 0, 856979.454 711718.945 0, 856690.018 711727.371 0, 856400.582 711735.814 0, 856111.147 711744.275 0, 855821.712 711752.753 0, 855532.278 711761.247 0,
+ 855242.844 711769.759 0, 854953.411 711778.287 0, 854663.978 711786.833 0, 854374.545 711795.396 0, 854083.69 711804.018 0, 853795.682 711812.572 0, 853506.252 711821.186 0, 853216.821 711829.817 0, 852927.392 711838.465 0, 852637.962 711847.13 0,
+ 852348.534 711855.812 0, 852059.106 711864.511 0, 851769.678 711873.227 0, 851480.251 711881.96 0, 851190.824 711890.71 0, 850901.398 711899.477 0, 850611.972 711908.261 0, 850322.547 711917.062 0, 850033.122 711925.881 0, 849743.698 711934.716 0,
+ 849454.275 711943.568 0, 849164.852 711952.437 0, 848875.429 711961.324 0, 848586.007 711970.227 0, 848296.586 711979.148 0, 848007.165 711988.085 0, 847717.744 711997.04 0, 847428.325 712006.011 0, 847137.48 712015.044 0, 847310.576 717583.154 0,
+ 847483.681 723151.542 0, 847773.867 723142.529 0, 848062.631 723133.578 0, 848351.396 723124.644 0, 848640.161 723115.727 0, 848928.927 723106.826 0, 849217.694 723097.943 0, 849506.461 723089.077 0, 849795.229 723080.228 0, 850083.997 723071.395 0,
+ 850372.765 723062.58 0, 850661.534 723053.782 0, 850950.304 723045.001 0, 851239.074 723036.236 0, 851527.845 723027.489 0, 851816.616 723018.759 0, 852105.388 723010.046 0, 852394.16 723001.349 0, 852682.933 722992.67 0, 852971.706 722984.008 0,
+ 853260.48 722975.362 0, 853549.254 722966.734 0, 853838.029 722958.123 0, 854126.804 722949.529 0, 854414.159 722940.993 0, 854704.356 722932.391 0, 854993.133 722923.848 0, 855281.91 722915.321 0, 855570.688 722906.812 0, 855859.466 722898.32 0,
+ 856148.245 722889.844 0, 856437.024 722881.386 0, 856725.804 722872.945 0, 857014.584 722864.52 0, 857303.365 722856.113 0, 857592.146 722847.723 0, 857880.928 722839.349 0, 858169.71 722830.993 0, 858458.493 722822.654 0, 858747.276 722814.331 0,
+ 859036.06 722806.026 0, 859324.844 722797.737 0, 859613.629 722789.466 0, 859902.414 722781.212 0, 860191.199 722772.974 0, 860479.986 722764.754 0, 860768.772 722756.551 0, 861057.559 722748.364 0, 861344.927 722740.235 0, 861187.555 717171.38 0,
+ 861030.191 711602.804 0))
+
+POLYGON ((875207.28 722368.09 0, 874919.888 722375.408 0, 874631.079 722382.778 0, 874342.271 722390.166 0, 874053.462 722397.57 0, 873764.655 722404.992 0, 873475.847 722412.43 0, 873187.04 722419.886 0, 872898.234 722427.358 0, 872609.428 722434.847 0,
+ 872320.622 722442.354 0, 872031.817 722449.877 0, 871743.012 722457.418 0, 871454.208 722464.975 0, 871165.404 722472.55 0, 870876.601 722480.141 0, 870587.798 722487.75 0, 870298.996 722495.375 0, 870010.194 722503.018 0, 869721.392 722510.677 0,
+ 869432.591 722518.353 0, 869143.79 722526.047 0, 868854.99 722533.757 0, 868566.19 722541.485 0, 868275.973 722549.267 0, 867988.592 722556.991 0, 867699.794 722564.769 0, 867410.996 722572.564 0, 867122.198 722580.377 0, 866833.401 722588.206 0,
+ 866544.605 722596.053 0, 866255.809 722603.916 0, 865967.013 722611.797 0, 865678.218 722619.694 0, 865389.423 722627.608 0, 865100.629 722635.54 0, 864811.835 722643.488 0, 864523.042 722651.454 0, 864234.249 722659.436 0, 863945.457 722667.435 0,
+ 863656.665 722675.452 0, 863367.873 722683.485 0, 863079.083 722691.536 0, 862790.292 722699.603 0, 862501.502 722707.687 0, 862212.713 722715.789 0, 861923.924 722723.907 0, 861635.135 722732.043 0, 861344.927 722740.235 0, 861502.308 728309.365 0,
+ 861659.695 733878.766 0, 861949.244 733870.592 0, 862237.377 733862.475 0, 862525.51 733854.375 0, 862813.644 733846.292 0, 863101.779 733838.226 0, 863389.914 733830.177 0, 863678.049 733822.145 0, 863966.185 733814.13 0, 864254.321 733806.132 0,
+ 864542.458 733798.15 0, 864830.595 733790.186 0, 865118.733 733782.239 0, 865406.871 733774.308 0, 865695.009 733766.395 0, 865983.149 733758.499 0, 866271.288 733750.619 0, 866559.428 733742.757 0, 866847.569 733734.911 0, 867135.71 733727.082 0,
+ 867423.851 733719.271 0, 867711.993 733711.476 0, 868000.135 733703.698 0, 868288.278 733695.937 0, 868575.006 733688.232 0, 868864.565 733680.467 0, 869152.709 733672.757 0, 869440.853 733665.064 0, 869728.999 733657.388 0, 870017.144 733649.729 0,
+ 870305.29 733642.087 0, 870593.436 733634.462 0, 870881.583 733626.854 0, 871169.73 733619.263 0, 871457.878 733611.688 0, 871746.026 733604.131 0, 872034.175 733596.591 0, 872322.324 733589.067 0, 872610.474 733581.561 0, 872898.624 733574.072 0,
+ 873186.774 733566.599 0, 873474.925 733559.144 0, 873763.076 733551.705 0, 874051.228 733544.284 0, 874339.38 733536.879 0, 874627.532 733529.491 0, 874915.685 733522.121 0, 875203.839 733514.767 0, 875490.579 733507.466 0, 875348.926 727937.643 0,
+ 875207.28 722368.09 0))
+
+POLYGON ((889322.456 733175.243 0, 889035.694 733181.733 0, 888747.521 733188.273 0, 888459.349 733194.829 0, 888171.176 733201.403 0, 887883.004 733207.994 0, 887594.833 733214.601 0, 887306.662 733221.225 0, 887018.491 733227.867 0, 886730.321 733234.525 0,
+ 886442.151 733241.2 0, 886153.981 733247.893 0, 885865.812 733254.602 0, 885577.643 733261.328 0, 885289.475 733268.071 0, 885001.307 733274.831 0, 884713.139 733281.608 0, 884424.972 733288.403 0, 884136.805 733295.214 0, 883848.639 733302.041 0,
+ 883560.473 733308.886 0, 883272.307 733315.748 0, 882984.142 733322.627 0, 882695.977 733329.523 0, 882406.4 733336.47 0, 882119.649 733343.365 0, 881831.485 733350.312 0, 881543.322 733357.276 0, 881255.16 733364.256 0, 880966.997 733371.254 0,
+ 880678.835 733378.268 0, 880390.674 733385.3 0, 880102.513 733392.348 0, 879814.352 733399.414 0, 879526.192 733406.496 0, 879238.032 733413.595 0, 878949.873 733420.712 0, 878661.714 733427.845 0, 878373.555 733434.995 0, 878085.397 733442.162 0,
+ 877797.239 733449.347 0, 877509.082 733456.548 0, 877220.925 733463.766 0, 876932.769 733471.001 0, 876644.613 733478.253 0, 876356.457 733485.522 0, 876068.302 733492.807 0, 875780.147 733500.11 0, 875490.579 733507.466 0, 875632.238 739077.558 0,
+ 875773.904 744647.914 0, 876062.814 744640.575 0, 876350.313 744633.288 0, 876637.812 744626.019 0, 876925.312 744618.767 0, 877212.812 744611.531 0, 877500.313 744604.313 0, 877787.814 744597.111 0, 878075.316 744589.926 0, 878362.818 744582.759 0,
+ 878650.32 744575.608 0, 878937.823 744568.474 0, 879225.326 744561.357 0, 879512.83 744554.257 0, 879800.334 744547.173 0, 880087.839 744540.107 0, 880375.344 744533.058 0, 880662.849 744526.025 0, 880950.355 744519.01 0, 881237.861 744512.011 0,
+ 881525.368 744505.03 0, 881812.875 744498.065 0, 882100.382 744491.117 0, 882387.89 744484.186 0, 882673.988 744477.306 0, 882962.907 744470.375 0, 883250.416 744463.495 0, 883537.925 744456.632 0, 883825.435 744449.786 0, 884112.945 744442.956 0,
+ 884400.456 744436.144 0, 884687.967 744429.349 0, 884975.478 744422.57 0, 885262.99 744415.808 0, 885550.503 744409.064 0, 885838.015 744402.336 0, 886125.528 744395.625 0, 886413.042 744388.931 0, 886700.556 744382.254 0, 886988.07 744375.594 0,
+ 887275.584 744368.951 0, 887563.099 744362.324 0, 887850.615 744355.715 0, 888138.131 744349.123 0, 888425.647 744342.547 0, 888713.163 744335.988 0, 889000.68 744329.447 0, 889288.197 744322.922 0, 889574.306 744316.446 0, 889448.378 738745.712 0,
+ 889322.456 733175.243 0))
+
+POLYGON ((903375.59 744023.968 0, 903089.462 744029.636 0, 902801.927 744035.349 0, 902514.393 744041.078 0, 902226.859 744046.824 0, 901939.325 744052.587 0, 901651.792 744058.367 0, 901364.259 744064.165 0, 901076.727 744069.978 0, 900789.194 744075.809 0,
+ 900501.662 744081.657 0, 900214.131 744087.522 0, 899926.6 744093.404 0, 899639.069 744099.302 0, 899351.538 744105.218 0, 899064.008 744111.15 0, 898776.478 744117.099 0, 898488.949 744123.066 0, 898201.42 744129.049 0, 897913.891 744135.049 0,
+ 897626.363 744141.066 0, 897338.835 744147.1 0, 897051.307 744153.151 0, 896763.78 744159.219 0, 896474.845 744165.333 0, 896188.726 744171.405 0, 895901.2 744177.524 0, 895613.674 744183.659 0, 895326.148 744189.812 0, 895038.623 744195.981 0,
+ 894751.098 744202.167 0, 894463.574 744208.371 0, 894176.05 744214.591 0, 893888.526 744220.828 0, 893601.003 744227.082 0, 893313.48 744233.353 0, 893025.957 744239.64 0, 892738.435 744245.945 0, 892450.913 744252.267 0, 892163.392 744258.605 0,
+ 891875.871 744264.961 0, 891588.35 744271.333 0, 891300.829 744277.723 0, 891013.309 744284.129 0, 890725.79 744290.552 0, 890438.271 744296.992 0, 890150.752 744303.449 0, 889863.233 744309.923 0, 889574.306 744316.446 0, 889700.241 749887.441 0,
+ 889826.181 755458.693 0, 890114.448 755452.186 0, 890401.311 755445.726 0, 890688.174 755439.284 0, 890975.038 755432.859 0, 891261.901 755426.45 0, 891548.766 755420.058 0, 891835.63 755413.684 0, 892122.495 755407.326 0, 892409.36 755400.985 0,
+ 892696.226 755394.661 0, 892983.092 755388.353 0, 893269.958 755382.063 0, 893556.825 755375.789 0, 893843.692 755369.533 0, 894130.56 755363.293 0, 894417.428 755357.07 0, 894704.296 755350.864 0, 894991.165 755344.675 0, 895278.034 755338.503 0,
+ 895564.903 755332.348 0, 895851.773 755326.209 0, 896138.643 755320.088 0, 896425.513 755313.983 0, 896710.979 755307.925 0, 896999.255 755301.825 0, 897286.127 755295.771 0, 897572.998 755289.734 0, 897859.871 755283.713 0, 898146.743 755277.71 0,
+ 898433.616 755271.724 0, 898720.489 755265.754 0, 899007.363 755259.801 0, 899294.237 755253.866 0, 899581.111 755247.947 0, 899867.986 755242.045 0, 900154.861 755236.16 0, 900441.736 755230.291 0, 900728.612 755224.44 0, 901015.488 755218.606 0,
+ 901302.364 755212.788 0, 901589.241 755206.987 0, 901876.118 755201.203 0, 902162.996 755195.437 0, 902449.873 755189.686 0, 902736.751 755183.953 0, 903023.63 755178.237 0, 903310.509 755172.538 0, 903595.984 755166.883 0, 903485.785 749595.297 0,
+ 903375.59 744023.968 0))
+
+POLYGON ((917366.557 754913.976 0, 917081.065 754918.824 0, 916794.171 754923.713 0, 916507.278 754928.619 0, 916220.385 754933.541 0, 915933.492 754938.481 0, 915646.599 754943.437 0, 915359.707 754948.411 0, 915072.815 754953.401 0, 914785.923 754958.408 0,
+ 914499.032 754963.432 0, 914212.141 754968.473 0, 913925.25 754973.53 0, 913638.359 754978.605 0, 913351.469 754983.697 0, 913064.579 754988.805 0, 912777.69 754993.93 0, 912490.8 754999.072 0, 912203.911 755004.232 0, 911917.023 755009.407 0,
+ 911630.134 755014.6 0, 911343.246 755019.81 0, 911056.359 755025.037 0, 910769.471 755030.28 0, 910481.182 755035.566 0, 910195.697 755040.818 0, 909908.811 755046.112 0, 909621.924 755051.423 0, 909335.039 755056.751 0, 909048.153 755062.096 0,
+ 908761.268 755067.457 0, 908474.383 755072.836 0, 908187.498 755078.231 0, 907900.614 755083.644 0, 907613.73 755089.073 0, 907326.846 755094.519 0, 907039.963 755099.982 0, 906753.08 755105.462 0, 906466.197 755110.959 0, 906179.315 755116.472 0,
+ 905892.432 755122.003 0, 905605.551 755127.55 0, 905318.669 755133.115 0, 905031.788 755138.696 0, 904744.907 755144.294 0, 904458.027 755149.909 0, 904171.147 755155.541 0, 903884.267 755161.19 0, 903595.984 755166.883 0, 903706.189 760738.723 0,
+ 903816.399 766310.813 0, 904104.022 766305.133 0, 904390.246 766299.497 0, 904676.471 766293.878 0, 904962.695 766288.276 0, 905248.92 766282.69 0, 905535.145 766277.122 0, 905821.371 766271.57 0, 906107.596 766266.036 0, 906393.823 766260.518 0,
+ 906680.049 766255.017 0, 906966.276 766249.533 0, 907252.503 766244.065 0, 907538.73 766238.615 0, 907824.958 766233.181 0, 908111.186 766227.764 0, 908397.415 766222.364 0, 908683.643 766216.981 0, 908969.872 766211.615 0, 909256.102 766206.265 0,
+ 909542.331 766200.933 0, 909828.561 766195.617 0, 910114.792 766190.318 0, 910401.022 766185.036 0, 910685.854 766179.797 0, 910973.484 766174.523 0, 911259.716 766169.291 0, 911545.948 766164.076 0, 911832.18 766158.879 0, 912118.412 766153.698 0,
+ 912404.645 766148.534 0, 912690.878 766143.386 0, 912977.111 766138.256 0, 913263.345 766133.142 0, 913549.579 766128.046 0, 913835.813 766122.966 0, 914122.048 766117.903 0, 914408.283 766112.857 0, 914694.518 766107.827 0, 914980.753 766102.815 0,
+ 915266.989 766097.819 0, 915553.225 766092.84 0, 915839.461 766087.878 0, 916125.698 766082.933 0, 916411.935 766078.005 0, 916698.172 766073.094 0, 916984.41 766068.199 0, 917270.647 766063.321 0, 917555.487 766058.484 0, 917461.02 760486.105 0,
+ 917366.557 754913.976 0))
+
+POLYGON ((931295.234 765844.972 0, 931010.379 765849.004 0, 930724.129 765853.073 0, 930437.879 765857.159 0, 930151.629 765861.262 0, 929865.379 765865.381 0, 929579.13 765869.518 0, 929292.881 765873.671 0, 929006.632 765877.841 0, 928720.383 765882.028 0,
+ 928434.134 765886.232 0, 928147.886 765890.452 0, 927861.638 765894.69 0, 927575.391 765898.944 0, 927289.143 765903.215 0, 927002.896 765907.503 0, 926716.649 765911.808 0, 926430.402 765916.13 0, 926144.156 765920.469 0, 925857.91 765924.824 0,
+ 925571.664 765929.196 0, 925285.418 765933.586 0, 924999.172 765937.992 0, 924712.927 765942.414 0, 924425.285 765946.876 0, 924140.438 765951.311 0, 923854.193 765955.784 0, 923567.949 765960.274 0, 923281.705 765964.781 0, 922995.462 765969.305 0,
+ 922709.219 765973.846 0, 922422.975 765978.403 0, 922136.733 765982.978 0, 921850.49 765987.569 0, 921564.248 765992.177 0, 921278.006 765996.802 0, 920991.764 766001.444 0, 920705.523 766006.103 0, 920419.282 766010.778 0, 920133.041 766015.471 0,
+ 919846.8 766020.18 0, 919560.56 766024.906 0, 919274.32 766029.649 0, 918988.08 766034.409 0, 918701.841 766039.185 0, 918415.601 766043.979 0, 918129.362 766048.789 0, 917843.124 766053.616 0, 917555.487 766058.484 0, 917649.959 771631.11 0,
+ 917744.434 777203.98 0, 918031.411 777199.123 0, 918316.994 777194.307 0, 918602.577 777189.508 0, 918888.16 777184.725 0, 919173.743 777179.96 0, 919459.327 777175.211 0, 919744.911 777170.479 0, 920030.496 777165.764 0, 920316.08 777161.065 0,
+ 920601.665 777156.383 0, 920887.25 777151.719 0, 921172.836 777147.071 0, 921458.421 777142.439 0, 921744.007 777137.825 0, 922029.593 777133.227 0, 922315.18 777128.647 0, 922600.767 777124.083 0, 922886.354 777119.536 0, 923171.941 777115.005 0,
+ 923457.529 777110.492 0, 923743.117 777105.995 0, 924028.705 777101.515 0, 924314.293 777097.052 0, 924598.488 777092.627 0, 924885.47 777088.176 0, 925171.06 777083.763 0, 925456.649 777079.367 0, 925742.239 777074.988 0, 926027.829 777070.626 0,
+ 926313.419 777066.281 0, 926599.009 777061.952 0, 926884.6 777057.64 0, 927170.191 777053.345 0, 927455.782 777049.067 0, 927741.374 777044.806 0, 928026.965 777040.561 0, 928312.557 777036.333 0, 928598.149 777032.122 0, 928883.742 777027.928 0,
+ 929169.334 777023.751 0, 929454.927 777019.59 0, 929740.521 777015.446 0, 930026.114 777011.319 0, 930311.708 777007.209 0, 930597.302 777003.116 0, 930882.896 776999.04 0, 931168.49 776994.98 0, 931452.692 776990.957 0, 931373.961 771417.843 0,
+ 931295.234 765844.972 0))
+
+POLYGON ((945161.497 776816.663 0, 944877.283 776819.883 0, 944591.678 776823.136 0, 944306.074 776826.405 0, 944020.469 776829.692 0, 943734.865 776832.995 0, 943449.261 776836.315 0, 943163.657 776839.652 0, 942878.054 776843.006 0, 942592.45 776846.376 0,
+ 942306.847 776849.763 0, 942021.244 776853.168 0, 941735.642 776856.589 0, 941450.039 776860.026 0, 941164.437 776863.481 0, 940878.835 776866.952 0, 940593.233 776870.44 0, 940307.631 776873.945 0, 940022.029 776877.467 0, 939736.428 776881.006 0,
+ 939450.827 776884.561 0, 939165.226 776888.133 0, 938879.625 776891.722 0, 938594.025 776895.328 0, 938307.033 776898.968 0, 938022.825 776902.59 0, 937737.225 776906.246 0, 937451.625 776909.92 0, 937166.026 776913.609 0, 936880.427 776917.316 0,
+ 936594.828 776921.04 0, 936309.229 776924.78 0, 936023.63 776928.537 0, 935738.032 776932.311 0, 935452.434 776936.102 0, 935166.836 776939.909 0, 934881.238 776943.734 0, 934595.641 776947.575 0, 934310.044 776951.433 0, 934024.447 776955.307 0,
+ 933738.85 776959.199 0, 933453.254 776963.107 0, 933167.657 776967.033 0, 932882.061 776970.975 0, 932596.466 776974.934 0, 932310.87 776978.909 0, 932025.275 776982.902 0, 931739.68 776986.911 0, 931452.692 776990.957 0, 931531.426 782564.311 0,
+ 931610.163 788137.9 0, 931896.492 788133.864 0, 932181.431 788129.864 0, 932466.37 788125.881 0, 932751.309 788121.914 0, 933036.249 788117.964 0, 933321.189 788114.031 0, 933606.129 788110.115 0, 933891.07 788106.216 0, 934176.01 788102.333 0,
+ 934460.951 788098.467 0, 934745.892 788094.618 0, 935030.834 788090.786 0, 935315.775 788086.97 0, 935600.717 788083.171 0, 935885.659 788079.389 0, 936170.601 788075.624 0, 936455.543 788071.876 0, 936740.486 788068.144 0, 937025.429 788064.429 0,
+ 937310.372 788060.731 0, 937595.315 788057.049 0, 937880.259 788053.385 0, 938165.203 788049.737 0, 938448.758 788046.124 0, 938735.091 788042.492 0, 939020.035 788038.894 0, 939304.98 788035.313 0, 939589.924 788031.749 0, 939874.869 788028.202 0,
+ 940159.815 788024.672 0, 940444.76 788021.158 0, 940729.706 788017.661 0, 941014.652 788014.181 0, 941299.598 788010.717 0, 941584.544 788007.271 0, 941869.49 788003.841 0, 942154.437 788000.428 0, 942439.384 787997.032 0, 942724.331 787993.652 0,
+ 943009.278 787990.289 0, 943294.226 787986.943 0, 943579.173 787983.614 0, 943864.121 787980.302 0, 944149.069 787977.006 0, 944434.017 787973.727 0, 944718.966 787970.465 0, 945003.914 787967.22 0, 945287.476 787964.007 0, 945224.485 782390.217 0,
+ 945161.497 776816.663 0))
+
+POLYGON ((958965.225 787828.755 0, 958681.653 787831.167 0, 958396.696 787833.607 0, 958111.74 787836.064 0, 957826.784 787838.538 0, 957541.827 787841.028 0, 957256.871 787843.536 0, 956971.915 787846.06 0, 956686.96 787848.601 0, 956402.004 787851.159 0,
+ 956117.049 787853.733 0, 955832.093 787856.324 0, 955547.138 787858.932 0, 955262.183 787861.557 0, 954977.228 787864.199 0, 954692.274 787866.857 0, 954407.319 787869.532 0, 954122.365 787872.224 0, 953837.411 787874.933 0, 953552.457 787877.658 0,
+ 953267.503 787880.4 0, 952982.549 787883.159 0, 952697.595 787885.935 0, 952412.642 787888.728 0, 952126.302 787891.551 0, 951842.736 787894.363 0, 951557.783 787897.206 0, 951272.83 787900.065 0, 950987.877 787902.942 0, 950702.925 787905.835 0,
+ 950417.973 787908.745 0, 950133.021 787911.671 0, 949848.069 787914.615 0, 949563.117 787917.575 0, 949278.166 787920.552 0, 948993.214 787923.546 0, 948708.263 787926.556 0, 948423.312 787929.584 0, 948138.361 787932.628 0, 947853.411 787935.689 0,
+ 947568.46 787938.766 0, 947283.51 787941.861 0, 946998.56 787944.972 0, 946713.61 787948.1 0, 946428.66 787951.245 0, 946143.711 787954.406 0, 945858.761 787957.584 0, 945573.812 787960.779 0, 945287.476 787964.007 0, 945350.469 793538.03 0,
+ 945413.465 799112.281 0, 945699.142 799109.061 0, 945983.435 799105.873 0, 946267.728 799102.702 0, 946552.021 799099.548 0, 946836.315 799096.411 0, 947120.609 799093.29 0, 947404.903 799090.186 0, 947689.197 799087.099 0, 947973.491 799084.028 0,
+ 948257.786 799080.974 0, 948542.08 799077.937 0, 948826.375 799074.917 0, 949110.67 799071.913 0, 949394.965 799068.926 0, 949679.261 799065.956 0, 949963.556 799063.003 0, 950247.852 799060.066 0, 950532.148 799057.146 0, 950816.444 799054.243 0,
+ 951100.74 799051.357 0, 951385.036 799048.487 0, 951669.333 799045.634 0, 951953.63 799042.797 0, 952236.543 799039.992 0, 952522.224 799037.175 0, 952806.521 799034.389 0, 953090.818 799031.62 0, 953375.116 799028.867 0, 953659.413 799026.131 0,
+ 953943.711 799023.412 0, 954228.009 799020.71 0, 954512.308 799018.024 0, 954796.606 799015.355 0, 955080.904 799012.703 0, 955365.203 799010.067 0, 955649.502 799007.449 0, 955933.801 799004.847 0, 956218.1 799002.261 0, 956502.399 798999.693 0,
+ 956786.699 798997.141 0, 957070.998 798994.606 0, 957355.298 798992.087 0, 957639.598 798989.586 0, 957923.898 798987.101 0, 958208.198 798984.633 0, 958492.498 798982.181 0, 958776.799 798979.747 0, 959059.717 798977.34 0, 959012.47 793402.933 0,
+ 958965.225 787828.755 0))
+
+POLYGON ((972706.297 798880.954 0, 972423.37 798882.561 0, 972139.064 798884.192 0, 971854.758 798885.84 0, 971570.452 798887.505 0, 971286.146 798889.187 0, 971001.84 798890.885 0, 970717.535 798892.6 0, 970433.229 798894.332 0, 970148.924 798896.081 0,
+ 969864.618 798897.846 0, 969580.313 798899.628 0, 969296.008 798901.427 0, 969011.703 798903.243 0, 968727.398 798905.075 0, 968443.093 798906.924 0, 968158.788 798908.79 0, 967874.483 798910.672 0, 967590.179 798912.571 0, 967305.874 798914.487 0,
+ 967021.57 798916.42 0, 966737.266 798918.369 0, 966452.962 798920.336 0, 966168.658 798922.318 0, 965882.973 798924.328 0, 965600.05 798926.334 0, 965315.747 798928.367 0, 965031.443 798930.417 0, 964747.14 798932.484 0, 964462.837 798934.567 0,
+ 964178.533 798936.667 0, 963894.23 798938.784 0, 963609.928 798940.917 0, 963325.625 798943.068 0, 963041.322 798945.235 0, 962757.02 798947.418 0, 962472.717 798949.619 0, 962188.415 798951.836 0, 961904.113 798954.07 0, 961619.811 798956.32 0,
+ 961335.509 798958.588 0, 961051.207 798960.872 0, 960766.906 798963.172 0, 960482.604 798965.49 0, 960198.303 798967.824 0, 959914.002 798970.175 0, 959629.701 798972.543 0, 959345.4 798974.928 0, 959059.717 798977.34 0, 959106.967 804551.973 0,
+ 959154.218 810126.827 0, 959439.241 810124.42 0, 959722.886 810122.041 0, 960006.53 810119.679 0, 960290.175 810117.333 0, 960573.82 810115.004 0, 960857.466 810112.692 0, 961141.111 810110.396 0, 961424.756 810108.118 0, 961708.402 810105.855 0,
+ 961992.048 810103.61 0, 962275.694 810101.381 0, 962559.34 810099.169 0, 962842.986 810096.974 0, 963126.632 810094.795 0, 963410.278 810092.633 0, 963693.925 810090.488 0, 963977.572 810088.36 0, 964261.218 810086.248 0, 964544.865 810084.153 0,
+ 964828.512 810082.074 0, 965112.159 810080.012 0, 965395.807 810077.967 0, 965679.454 810075.939 0, 965961.724 810073.937 0, 966246.749 810071.932 0, 966530.397 810069.954 0, 966814.045 810067.992 0, 967097.692 810066.047 0, 967381.341 810064.119 0,
+ 967664.989 810062.208 0, 967948.637 810060.313 0, 968232.285 810058.435 0, 968515.934 810056.573 0, 968799.583 810054.728 0, 969083.231 810052.9 0, 969366.88 810051.089 0, 969650.529 810049.294 0, 969934.178 810047.516 0, 970217.827 810045.755 0,
+ 970501.476 810044.011 0, 970785.126 810042.283 0, 971068.775 810040.572 0, 971352.425 810038.877 0, 971636.074 810037.199 0, 971919.724 810035.538 0, 972203.374 810033.894 0, 972487.024 810032.266 0, 972769.297 810030.663 0, 972737.796 804455.697 0,
+ 972706.297 798880.954 0))
+
+POLYGON ((986384.594 809972.964 0, 986102.315 809973.77 0, 985818.662 809974.596 0, 985535.009 809975.439 0, 985251.355 809976.299 0, 984967.702 809977.175 0, 984684.049 809978.068 0, 984400.396 809978.978 0, 984116.743 809979.905 0, 983833.09 809980.848 0,
+ 983549.437 809981.808 0, 983265.784 809982.784 0, 982982.131 809983.778 0, 982698.478 809984.788 0, 982414.825 809985.814 0, 982131.173 809986.858 0, 981847.52 809987.918 0, 981563.867 809988.994 0, 981280.215 809990.088 0, 980996.562 809991.198 0,
+ 980712.91 809992.325 0, 980429.258 809993.468 0, 980145.605 809994.629 0, 979861.953 809995.806 0, 979576.925 809997.005 0, 979294.649 809998.21 0, 979010.997 809999.437 0, 978727.345 810000.68 0, 978443.693 810001.941 0, 978160.042 810003.218 0,
+ 977876.39 810004.512 0, 977592.738 810005.822 0, 977309.087 810007.149 0, 977025.435 810008.493 0, 976741.784 810009.854 0, 976458.133 810011.231 0, 976174.482 810012.625 0, 975890.831 810014.036 0, 975607.18 810015.463 0, 975323.529 810016.907 0,
+ 975039.878 810018.368 0, 974756.227 810019.845 0, 974472.576 810021.34 0, 974188.926 810022.85 0, 973905.275 810024.378 0, 973621.625 810025.922 0, 973337.974 810027.483 0, 973054.324 810029.061 0, 972769.297 810030.663 0, 972800.8 815605.846 0,
+ 972832.303 821181.244 0, 973116.67 821179.645 0, 973399.664 821178.072 0, 973682.658 821176.514 0, 973965.652 821174.974 0, 974248.647 821173.45 0, 974531.641 821171.942 0, 974814.635 821170.451 0, 975097.63 821168.977 0, 975380.624 821167.52 0,
+ 975663.619 821166.079 0, 975946.614 821164.655 0, 976229.608 821163.248 0, 976512.603 821161.857 0, 976795.598 821160.483 0, 977078.593 821159.126 0, 977361.588 821157.785 0, 977644.584 821156.461 0, 977927.579 821155.153 0, 978210.574 821153.862 0,
+ 978493.57 821152.588 0, 978776.565 821151.331 0, 979059.561 821150.09 0, 979342.557 821148.866 0, 979624.18 821147.664 0, 979908.548 821146.467 0, 980191.544 821145.293 0, 980474.54 821144.136 0, 980757.536 821142.995 0, 981040.532 821141.87 0,
+ 981323.528 821140.763 0, 981606.524 821139.672 0, 981889.521 821138.598 0, 982172.517 821137.54 0, 982455.513 821136.499 0, 982738.51 821135.475 0, 983021.506 821134.467 0, 983304.503 821133.476 0, 983587.499 821132.502 0, 983870.496 821131.544 0,
+ 984153.493 821130.603 0, 984436.49 821129.679 0, 984719.486 821128.771 0, 985002.483 821127.88 0, 985285.48 821127.006 0, 985568.477 821126.148 0, 985851.474 821125.307 0, 986134.472 821124.482 0, 986416.097 821123.678 0, 986400.345 815548.214 0,
+ 986384.594 809972.964 0))
+
+POLYGON ((1000000 821104.49 0, 999718.371 821104.498 0, 999435.373 821104.523 0, 999152.374 821104.565 0, 998869.376 821104.623 0, 998586.378 821104.698 0, 998303.379 821104.789 0, 998020.381 821104.897 0, 997737.383 821105.022 0, 997454.385 821105.164 0,
+ 997171.386 821105.322 0, 996888.388 821105.497 0, 996605.39 821105.688 0, 996322.392 821105.896 0, 996039.393 821106.121 0, 995756.395 821106.363 0, 995473.397 821106.621 0, 995190.399 821106.895 0, 994907.401 821107.187 0, 994624.403 821107.495 0,
+ 994341.404 821107.82 0, 994058.406 821108.161 0, 993775.408 821108.519 0, 993492.41 821108.894 0, 993208.042 821109.287 0, 992926.414 821109.693 0, 992643.416 821110.118 0, 992360.418 821110.559 0, 992077.42 821111.017 0, 991794.422 821111.492 0,
+ 991511.425 821111.983 0, 991228.427 821112.491 0, 990945.429 821113.016 0, 990662.431 821113.557 0, 990379.433 821114.115 0, 990096.436 821114.689 0, 989813.438 821115.281 0, 989530.44 821115.888 0, 989247.443 821116.513 0, 988964.445 821117.154 0,
+ 988681.447 821117.812 0, 988398.45 821118.487 0, 988115.453 821119.178 0, 987832.455 821119.886 0, 987549.458 821120.61 0, 987266.46 821121.351 0, 986983.463 821122.109 0, 986700.466 821122.883 0, 986416.097 821123.678 0, 986431.85 826699.353 0,
+ 986447.603 832275.236 0, 986731.312 832274.442 0, 987013.653 832273.67 0, 987295.993 832272.914 0, 987578.334 832272.174 0, 987860.675 832271.451 0, 988143.016 832270.745 0, 988425.358 832270.056 0, 988707.699 832269.383 0, 988990.04 832268.726 0,
+ 989272.381 832268.087 0, 989554.722 832267.464 0, 989837.064 832266.857 0, 990119.405 832266.267 0, 990401.746 832265.694 0, 990684.088 832265.137 0, 990966.429 832264.597 0, 991248.771 832264.074 0, 991531.112 832263.567 0, 991813.454 832263.077 0,
+ 992095.795 832262.604 0, 992378.137 832262.147 0, 992660.478 832261.706 0, 992942.82 832261.283 0, 993223.795 832260.877 0, 993507.503 832260.485 0, 993789.845 832260.111 0, 994072.187 832259.754 0, 994354.529 832259.413 0, 994636.87 832259.09 0,
+ 994919.212 832258.782 0, 995201.554 832258.491 0, 995483.896 832258.217 0, 995766.237 832257.96 0, 996048.579 832257.719 0, 996330.921 832257.495 0, 996613.263 832257.287 0, 996895.605 832257.096 0, 997177.947 832256.922 0, 997460.289 832256.764 0,
+ 997742.631 832256.623 0, 998024.973 832256.498 0, 998307.314 832256.39 0, 998589.656 832256.299 0, 998871.998 832256.224 0, 999154.34 832256.166 0, 999436.682 832256.125 0, 999719.024 832256.1 0, 1000000 832256.091 0, 1000000 826680.187 0,
+ 1000000 821104.49 0))
+
+POLYGON ((1013552.397 832275.236 0, 1013271.421 832274.45 0, 1012989.08 832273.677 0, 1012706.739 832272.921 0, 1012424.398 832272.181 0, 1012142.057 832271.458 0, 1011859.716 832270.752 0, 1011577.375 832270.062 0, 1011295.033 832269.389 0, 1011012.692 832268.733 0,
+ 1010730.351 832268.093 0, 1010448.01 832267.47 0, 1010165.668 832266.863 0, 1009883.327 832266.273 0, 1009600.986 832265.699 0, 1009318.644 832265.143 0, 1009036.303 832264.603 0, 1008753.961 832264.079 0, 1008471.62 832263.572 0, 1008189.278 832263.082 0,
+ 1007906.937 832262.608 0, 1007624.595 832262.151 0, 1007342.254 832261.71 0, 1007059.912 832261.287 0, 1006776.205 832260.877 0, 1006495.229 832260.489 0, 1006212.887 832260.115 0, 1005930.545 832259.757 0, 1005648.204 832259.417 0, 1005365.862 832259.093 0,
+ 1005083.52 832258.785 0, 1004801.178 832258.494 0, 1004518.837 832258.22 0, 1004236.495 832257.962 0, 1003954.153 832257.721 0, 1003671.811 832257.497 0, 1003389.469 832257.289 0, 1003107.127 832257.098 0, 1002824.785 832256.923 0, 1002542.443 832256.765 0,
+ 1002260.102 832256.624 0, 1001977.76 832256.499 0, 1001695.418 832256.391 0, 1001413.076 832256.3 0, 1001130.734 832256.225 0, 1000848.392 832256.167 0, 1000566.05 832256.125 0, 1000283.708 832256.1 0, 1000000 832256.091 0, 1000000 837832.199 0,
+ 1000000 843408.506 0, 1000283.048 843408.514 0, 1000564.734 843408.539 0, 1000846.42 843408.581 0, 1001128.105 843408.639 0, 1001409.791 843408.714 0, 1001691.476 843408.805 0, 1001973.162 843408.913 0, 1002254.847 843409.037 0, 1002536.533 843409.178 0,
+ 1002818.218 843409.336 0, 1003099.904 843409.51 0, 1003381.589 843409.701 0, 1003663.275 843409.908 0, 1003944.96 843410.132 0, 1004226.645 843410.372 0, 1004508.331 843410.629 0, 1004790.016 843410.903 0, 1005071.702 843411.193 0, 1005353.387 843411.5 0,
+ 1005635.072 843411.824 0, 1005916.758 843412.163 0, 1006198.443 843412.52 0, 1006480.128 843412.893 0, 1006760.452 843413.281 0, 1007043.499 843413.689 0, 1007325.184 843414.112 0, 1007606.869 843414.551 0, 1007888.554 843415.007 0, 1008170.239 843415.48 0,
+ 1008451.925 843415.969 0, 1008733.61 843416.475 0, 1009015.295 843416.997 0, 1009296.98 843417.536 0, 1009578.665 843418.092 0, 1009860.35 843418.664 0, 1010142.035 843419.252 0, 1010423.719 843419.858 0, 1010705.404 843420.479 0, 1010987.089 843421.118 0,
+ 1011268.774 843421.773 0, 1011550.459 843422.444 0, 1011832.143 843423.132 0, 1012113.828 843423.837 0, 1012395.513 843424.558 0, 1012677.197 843425.296 0, 1012958.882 843426.051 0, 1013240.566 843426.822 0, 1013520.89 843427.606 0, 1013536.644 837851.321 0,
+ 1013552.397 832275.236 0))
+
+POLYGON ((1027041.672 843484.904 0, 1026761.349 843483.328 0, 1026479.668 843481.761 0, 1026197.987 843480.211 0, 1025916.305 843478.677 0, 1025634.624 843477.16 0, 1025352.943 843475.66 0, 1025071.261 843474.176 0, 1024789.579 843472.709 0, 1024507.897 843471.258 0,
+ 1024226.215 843469.824 0, 1023944.534 843468.406 0, 1023662.851 843467.005 0, 1023381.169 843465.62 0, 1023099.487 843464.253 0, 1022817.805 843462.901 0, 1022536.122 843461.567 0, 1022254.44 843460.248 0, 1021972.757 843458.947 0, 1021691.075 843457.662 0,
+ 1021409.392 843456.393 0, 1021127.709 843455.142 0, 1020846.027 843453.906 0, 1020564.344 843452.688 0, 1020281.301 843451.48 0, 1020000.978 843450.3 0, 1019719.295 843449.131 0, 1019437.611 843447.979 0, 1019155.928 843446.843 0, 1018874.245 843445.724 0,
+ 1018592.561 843444.621 0, 1018310.878 843443.535 0, 1018029.195 843442.466 0, 1017747.511 843441.413 0, 1017465.827 843440.377 0, 1017184.144 843439.357 0, 1016902.46 843438.354 0, 1016620.776 843437.367 0, 1016339.092 843436.397 0, 1016057.408 843435.444 0,
+ 1015775.724 843434.507 0, 1015494.04 843433.587 0, 1015212.356 843432.683 0, 1014930.672 843431.796 0, 1014648.988 843430.926 0, 1014367.304 843430.072 0, 1014085.619 843429.234 0, 1013803.935 843428.414 0, 1013520.89 843427.606 0, 1013505.135 849004.086 0,
+ 1013489.38 854580.759 0, 1013771.766 854581.565 0, 1014052.793 854582.384 0, 1014333.821 854583.219 0, 1014614.849 854584.071 0, 1014895.877 854584.94 0, 1015176.905 854585.825 0, 1015457.932 854586.726 0, 1015738.96 854587.644 0, 1016019.987 854588.579 0,
+ 1016301.015 854589.53 0, 1016582.042 854590.498 0, 1016863.069 854591.482 0, 1017144.097 854592.483 0, 1017425.124 854593.5 0, 1017706.151 854594.534 0, 1017987.178 854595.584 0, 1018268.205 854596.651 0, 1018549.232 854597.735 0, 1018830.259 854598.835 0,
+ 1019111.286 854599.951 0, 1019392.313 854601.085 0, 1019673.34 854602.234 0, 1019954.366 854603.4 0, 1020234.036 854604.577 0, 1020516.419 854605.783 0, 1020797.446 854606.998 0, 1021078.472 854608.231 0, 1021359.499 854609.48 0, 1021640.525 854610.745 0,
+ 1021921.551 854612.027 0, 1022202.577 854613.326 0, 1022483.603 854614.641 0, 1022764.629 854615.972 0, 1023045.655 854617.32 0, 1023326.681 854618.685 0, 1023607.706 854620.066 0, 1023888.732 854621.464 0, 1024169.757 854622.878 0, 1024450.783 854624.309 0,
+ 1024731.808 854625.757 0, 1025012.833 854627.221 0, 1025293.859 854628.701 0, 1025574.884 854630.198 0, 1025855.909 854631.712 0, 1026136.934 854633.242 0, 1026417.958 854634.788 0, 1026698.983 854636.352 0, 1026978.652 854637.924 0, 1027010.163 849061.318 0,
+ 1027041.672 843484.904 0))
+
+POLYGON ((1040467.71 854733.198 0, 1040188.044 854730.836 0, 1039907.024 854728.479 0, 1039626.005 854726.138 0, 1039344.986 854723.814 0, 1039063.966 854721.506 0, 1038782.946 854719.216 0, 1038501.926 854716.941 0, 1038220.906 854714.683 0, 1037939.886 854712.442 0,
+ 1037658.866 854710.217 0, 1037377.846 854708.009 0, 1037096.825 854705.817 0, 1036815.804 854703.642 0, 1036534.784 854701.483 0, 1036253.763 854699.341 0, 1035972.742 854697.216 0, 1035691.721 854695.107 0, 1035410.699 854693.014 0, 1035129.678 854690.938 0,
+ 1034848.656 854688.879 0, 1034567.635 854686.836 0, 1034286.613 854684.81 0, 1034005.591 854682.8 0, 1033723.215 854680.797 0, 1033443.547 854678.83 0, 1033162.525 854676.87 0, 1032881.502 854674.926 0, 1032600.48 854672.999 0, 1032319.457 854671.089 0,
+ 1032038.434 854669.195 0, 1031757.412 854667.317 0, 1031476.389 854665.456 0, 1031195.366 854663.612 0, 1030914.343 854661.784 0, 1030633.319 854659.973 0, 1030352.296 854658.178 0, 1030071.273 854656.4 0, 1029790.249 854654.638 0, 1029509.225 854652.893 0,
+ 1029228.202 854651.164 0, 1028947.178 854649.452 0, 1028666.154 854647.757 0, 1028385.13 854646.078 0, 1028104.105 854644.416 0, 1027823.081 854642.77 0, 1027542.057 854641.14 0, 1027261.032 854639.528 0, 1026978.652 854637.924 0, 1026947.141 860214.718 0,
+ 1026915.629 865791.696 0, 1027197.349 865793.297 0, 1027477.717 865794.906 0, 1027758.085 865796.531 0, 1028038.453 865798.173 0, 1028318.82 865799.832 0, 1028599.188 865801.507 0, 1028879.555 865803.198 0, 1029159.923 865804.906 0, 1029440.29 865806.631 0,
+ 1029720.657 865808.372 0, 1030001.024 865810.13 0, 1030281.391 865811.904 0, 1030561.758 865813.694 0, 1030842.125 865815.501 0, 1031122.492 865817.325 0, 1031402.858 865819.165 0, 1031683.225 865821.021 0, 1031963.591 865822.894 0, 1032243.957 865824.784 0,
+ 1032524.323 865826.69 0, 1032804.689 865828.613 0, 1033085.055 865830.552 0, 1033365.421 865832.507 0, 1033644.435 865834.47 0, 1033926.152 865836.468 0, 1034206.517 865838.473 0, 1034486.883 865840.495 0, 1034767.248 865842.533 0, 1035047.613 865844.587 0,
+ 1035327.978 865846.658 0, 1035608.343 865848.746 0, 1035888.707 865850.85 0, 1036169.072 865852.971 0, 1036449.436 865855.108 0, 1036729.801 865857.261 0, 1037010.165 865859.431 0, 1037290.529 865861.618 0, 1037570.893 865863.821 0, 1037851.257 865866.041 0,
+ 1038131.62 865868.277 0, 1038411.984 865870.529 0, 1038692.347 865872.798 0, 1038972.711 865875.084 0, 1039253.074 865877.386 0, 1039533.437 865879.705 0, 1039813.799 865882.04 0, 1040094.162 865884.392 0, 1040373.175 865886.748 0, 1040420.443 860309.881 0,
+ 1040467.71 854733.198 0))
+
+POLYGON ((1053830.398 866019.82 0, 1053551.391 866016.675 0, 1053271.037 866013.531 0, 1052990.681 866010.404 0, 1052710.326 866007.293 0, 1052429.971 866004.199 0, 1052149.615 866001.121 0, 1051869.259 865998.06 0, 1051588.903 865995.015 0, 1051308.547 865991.987 0,
+ 1051028.19 865988.976 0, 1050747.834 865985.98 0, 1050467.477 865983.002 0, 1050187.12 865980.04 0, 1049906.763 865977.094 0, 1049626.406 865974.165 0, 1049346.048 865971.252 0, 1049065.691 865968.356 0, 1048785.333 865965.476 0, 1048504.975 865962.613 0,
+ 1048224.617 865959.766 0, 1047944.258 865956.936 0, 1047663.9 865954.123 0, 1047383.541 865951.325 0, 1047101.834 865948.531 0, 1046822.824 865945.781 0, 1046542.464 865943.033 0, 1046262.105 865940.302 0, 1045981.746 865937.587 0, 1045701.386 865934.889 0,
+ 1045421.026 865932.207 0, 1045140.666 865929.542 0, 1044860.306 865926.894 0, 1044579.946 865924.262 0, 1044299.586 865921.646 0, 1044019.225 865919.047 0, 1043738.865 865916.464 0, 1043458.504 865913.898 0, 1043178.143 865911.348 0, 1042897.782 865908.815 0,
+ 1042617.42 865906.299 0, 1042337.059 865903.798 0, 1042056.697 865901.315 0, 1041776.336 865898.848 0, 1041495.974 865896.397 0, 1041215.612 865893.963 0, 1040935.25 865891.545 0, 1040654.887 865889.144 0, 1040373.175 865886.748 0, 1040325.905 871463.796 0,
+ 1040278.634 877041.021 0, 1040559.687 877043.412 0, 1040839.392 877045.807 0, 1041119.098 877048.219 0, 1041398.804 877050.648 0, 1041678.509 877053.093 0, 1041958.214 877055.554 0, 1042237.919 877058.032 0, 1042517.624 877060.526 0, 1042797.329 877063.037 0,
+ 1043077.033 877065.564 0, 1043356.738 877068.108 0, 1043636.442 877070.668 0, 1043916.146 877073.244 0, 1044195.85 877075.837 0, 1044475.554 877078.447 0, 1044755.258 877081.073 0, 1045034.962 877083.715 0, 1045314.665 877086.374 0, 1045594.368 877089.05 0,
+ 1045874.071 877091.741 0, 1046153.774 877094.45 0, 1046433.477 877097.174 0, 1046713.18 877099.916 0, 1046991.536 877102.66 0, 1047272.584 877105.447 0, 1047552.286 877108.238 0, 1047831.988 877111.045 0, 1048111.69 877113.869 0, 1048391.392 877116.709 0,
+ 1048671.093 877119.565 0, 1048950.795 877122.438 0, 1049230.496 877125.327 0, 1049510.197 877128.233 0, 1049789.897 877131.156 0, 1050069.598 877134.094 0, 1050349.298 877137.05 0, 1050628.999 877140.021 0, 1050908.699 877143.009 0, 1051188.399 877146.014 0,
+ 1051468.098 877149.035 0, 1051747.798 877152.073 0, 1052027.497 877155.127 0, 1052307.196 877158.197 0, 1052586.895 877161.284 0, 1052866.594 877164.387 0, 1053146.293 877167.507 0, 1053425.991 877170.644 0, 1053704.345 877173.781 0, 1053767.373 871596.712 0,
+ 1053830.398 866019.82 0))
+
+POLYGON ((1067129.628 877344.47 0, 1066851.282 877340.546 0, 1066571.593 877336.62 0, 1066291.905 877332.71 0, 1066012.216 877328.816 0, 1065732.526 877324.939 0, 1065452.837 877321.079 0, 1065173.147 877317.234 0, 1064893.458 877313.407 0, 1064613.768 877309.595 0,
+ 1064334.077 877305.801 0, 1064054.387 877302.022 0, 1063774.696 877298.26 0, 1063495.005 877294.515 0, 1063215.314 877290.786 0, 1062935.622 877287.073 0, 1062655.931 877283.377 0, 1062376.239 877279.698 0, 1062096.547 877276.035 0, 1061816.855 877272.388 0,
+ 1061537.162 877268.758 0, 1061257.469 877265.144 0, 1060977.777 877261.547 0, 1060698.083 877257.966 0, 1060417.047 877254.385 0, 1060138.697 877250.854 0, 1059859.003 877247.322 0, 1059579.309 877243.808 0, 1059299.615 877240.309 0, 1059019.92 877236.827 0,
+ 1058740.226 877233.361 0, 1058460.531 877229.912 0, 1058180.836 877226.48 0, 1057901.141 877223.064 0, 1057621.445 877219.664 0, 1057341.75 877216.281 0, 1057062.054 877212.914 0, 1056782.358 877209.563 0, 1056502.662 877206.23 0, 1056222.966 877202.912 0,
+ 1055943.269 877199.611 0, 1055663.572 877196.327 0, 1055383.875 877193.059 0, 1055104.178 877189.807 0, 1054824.481 877186.572 0, 1054544.783 877183.353 0, 1054265.086 877180.151 0, 1053985.388 877176.966 0, 1053704.345 877173.781 0, 1053641.315 882751.024 0,
+ 1053578.284 888328.435 0, 1053858.667 888331.612 0, 1054137.708 888334.791 0, 1054416.749 888337.985 0, 1054695.79 888341.196 0, 1054974.831 888344.424 0, 1055253.872 888347.668 0, 1055532.912 888350.928 0, 1055811.952 888354.205 0, 1056090.992 888357.498 0,
+ 1056370.032 888360.808 0, 1056649.072 888364.134 0, 1056928.111 888367.476 0, 1057207.151 888370.835 0, 1057486.19 888374.21 0, 1057765.228 888377.602 0, 1058044.267 888381.01 0, 1058323.306 888384.435 0, 1058602.344 888387.876 0, 1058881.382 888391.333 0,
+ 1059160.42 888394.807 0, 1059439.457 888398.297 0, 1059718.495 888401.804 0, 1059997.532 888405.327 0, 1060275.228 888408.85 0, 1060555.606 888412.423 0, 1060834.642 888415.995 0, 1061113.679 888419.584 0, 1061392.715 888423.189 0, 1061671.751 888426.811 0,
+ 1061950.787 888430.449 0, 1062229.822 888434.103 0, 1062508.857 888437.774 0, 1062787.892 888441.462 0, 1063066.927 888445.165 0, 1063345.962 888448.886 0, 1063624.996 888452.622 0, 1063904.031 888456.375 0, 1064183.065 888460.145 0, 1064462.098 888463.931 0,
+ 1064741.132 888467.733 0, 1065020.165 888471.552 0, 1065299.198 888475.387 0, 1065578.231 888479.239 0, 1065857.264 888483.107 0, 1066136.296 888486.991 0, 1066415.329 888490.892 0, 1066694.36 888494.809 0, 1066972.053 888498.724 0, 1067050.841 882921.513 0,
+ 1067129.628 877344.47 0))
+
+POLYGON ((1080365.287 888706.852 0, 1080087.605 888702.152 0, 1079808.585 888697.447 0, 1079529.565 888692.758 0, 1079250.545 888688.085 0, 1078971.524 888683.429 0, 1078692.503 888678.789 0, 1078413.482 888674.165 0, 1078134.461 888669.558 0, 1077855.439 888664.968 0,
+ 1077576.417 888660.393 0, 1077297.395 888655.836 0, 1077018.372 888651.294 0, 1076739.35 888646.769 0, 1076460.327 888642.261 0, 1076181.303 888637.769 0, 1075902.28 888633.293 0, 1075623.256 888628.834 0, 1075344.232 888624.391 0, 1075065.208 888619.964 0,
+ 1074786.183 888615.555 0, 1074507.158 888611.161 0, 1074228.133 888606.784 0, 1073949.108 888602.423 0, 1073668.744 888598.058 0, 1073391.056 888593.751 0, 1073112.03 888589.44 0, 1072833.003 888585.145 0, 1072553.977 888580.866 0, 1072274.95 888576.604 0,
+ 1071995.923 888572.358 0, 1071716.895 888568.129 0, 1071437.868 888563.916 0, 1071158.84 888559.719 0, 1070879.812 888555.539 0, 1070600.783 888551.376 0, 1070321.755 888547.228 0, 1070042.726 888543.098 0, 1069763.697 888538.983 0, 1069484.667 888534.885 0,
+ 1069205.638 888530.804 0, 1068926.608 888526.739 0, 1068647.578 888522.69 0, 1068368.547 888518.658 0, 1068089.517 888514.642 0, 1067810.486 888510.643 0, 1067531.455 888506.66 0, 1067252.424 888502.693 0, 1066972.053 888498.724 0, 1066893.262 894076.101 0,
+ 1066814.469 899653.639 0, 1067094.18 899657.599 0, 1067372.555 899661.556 0, 1067650.929 899665.53 0, 1067929.303 899669.52 0, 1068207.677 899673.526 0, 1068486.051 899677.549 0, 1068764.425 899681.588 0, 1069042.798 899685.644 0, 1069321.171 899689.716 0,
+ 1069599.544 899693.804 0, 1069877.917 899697.909 0, 1070156.289 899702.03 0, 1070434.661 899706.167 0, 1070713.033 899710.321 0, 1070991.404 899714.491 0, 1071269.776 899718.678 0, 1071548.147 899722.881 0, 1071826.518 899727.1 0, 1072104.888 899731.336 0,
+ 1072383.259 899735.588 0, 1072661.629 899739.857 0, 1072939.999 899744.141 0, 1073218.368 899748.443 0, 1073495.402 899752.74 0, 1073775.107 899757.095 0, 1074053.476 899761.445 0, 1074331.844 899765.812 0, 1074610.212 899770.195 0, 1074888.581 899774.595 0,
+ 1075166.948 899779.011 0, 1075445.316 899783.443 0, 1075723.683 899787.892 0, 1076002.05 899792.357 0, 1076280.417 899796.838 0, 1076558.783 899801.336 0, 1076837.15 899805.851 0, 1077115.516 899810.381 0, 1077393.881 899814.928 0, 1077672.247 899819.492 0,
+ 1077950.612 899824.072 0, 1078228.977 899828.668 0, 1078507.341 899833.28 0, 1078785.706 899837.909 0, 1079064.07 899842.555 0, 1079342.434 899847.216 0, 1079620.797 899851.895 0, 1079899.16 899856.589 0, 1080176.189 899861.277 0, 1080270.74 894283.984 0,
+ 1080365.287 888706.852 0))
+
+POLYGON ((1093537.27 900106.664 0, 1093260.253 900101.193 0, 1092981.904 900095.712 0, 1092703.555 900090.247 0, 1092425.206 900084.799 0, 1092146.856 900079.368 0, 1091868.506 900073.952 0, 1091590.155 900068.553 0, 1091311.804 900063.171 0, 1091033.453 900057.804 0,
+ 1090755.102 900052.454 0, 1090476.75 900047.121 0, 1090198.398 900041.804 0, 1089920.046 900036.503 0, 1089641.693 900031.219 0, 1089363.34 900025.951 0, 1089084.987 900020.699 0, 1088806.633 900015.464 0, 1088528.279 900010.245 0, 1088249.925 900005.043 0,
+ 1087971.57 899999.857 0, 1087693.216 899994.687 0, 1087414.86 899989.534 0, 1087136.505 899984.397 0, 1086856.816 899979.252 0, 1086579.793 899974.173 0, 1086301.437 899969.085 0, 1086023.08 899964.014 0, 1085744.723 899958.959 0, 1085466.366 899953.92 0,
+ 1085188.009 899948.898 0, 1084909.651 899943.892 0, 1084631.293 899938.903 0, 1084352.934 899933.93 0, 1084074.575 899928.973 0, 1083796.216 899924.033 0, 1083517.857 899919.109 0, 1083239.498 899914.201 0, 1082961.138 899909.31 0, 1082682.778 899904.435 0,
+ 1082404.417 899899.577 0, 1082126.056 899894.735 0, 1081847.695 899889.909 0, 1081569.334 899885.1 0, 1081290.973 899880.307 0, 1081012.611 899875.531 0, 1080734.249 899870.771 0, 1080455.886 899866.027 0, 1080176.189 899861.277 0, 1080081.636 905438.729 0,
+ 1079987.081 911016.334 0, 1080266.118 911021.073 0, 1080543.824 911025.805 0, 1080821.529 911030.554 0, 1081099.234 911035.319 0, 1081376.939 911040.101 0, 1081654.644 911044.899 0, 1081932.349 911049.713 0, 1082210.053 911054.543 0, 1082487.757 911059.39 0,
+ 1082765.46 911064.254 0, 1083043.164 911069.133 0, 1083320.867 911074.029 0, 1083598.569 911078.941 0, 1083876.272 911083.87 0, 1084153.974 911088.815 0, 1084431.676 911093.776 0, 1084709.377 911098.754 0, 1084987.079 911103.748 0, 1085264.78 911108.758 0,
+ 1085542.48 911113.785 0, 1085820.181 911118.828 0, 1086097.881 911123.887 0, 1086375.581 911128.963 0, 1086651.95 911134.031 0, 1086930.979 911139.164 0, 1087208.678 911144.288 0, 1087486.377 911149.429 0, 1087764.075 911154.587 0, 1088041.773 911159.761 0,
+ 1088319.471 911164.951 0, 1088597.168 911170.157 0, 1088874.865 911175.38 0, 1089152.562 911180.619 0, 1089430.258 911185.875 0, 1089707.954 911191.147 0, 1089985.65 911196.435 0, 1090263.346 911201.739 0, 1090541.041 911207.06 0, 1090818.736 911212.398 0,
+ 1091096.43 911217.751 0, 1091374.125 911223.121 0, 1091651.819 911228.507 0, 1091929.512 911233.91 0, 1092207.206 911239.329 0, 1092484.899 911244.764 0, 1092762.591 911250.216 0, 1093040.284 911255.684 0, 1093316.647 911261.142 0, 1093426.96 905683.826 0,
+ 1093537.27 900106.664 0))
+
+POLYGON ((1106645.468 911543.607 0, 1106369.119 911537.368 0, 1106091.444 911531.116 0, 1105813.768 911524.88 0, 1105536.091 911518.66 0, 1105258.414 911512.456 0, 1104980.737 911506.269 0, 1104703.059 911500.098 0, 1104425.381 911493.944 0, 1104147.703 911487.806 0,
+ 1103870.024 911481.684 0, 1103592.345 911475.579 0, 1103314.666 911469.49 0, 1103036.986 911463.417 0, 1102759.306 911457.36 0, 1102481.625 911451.32 0, 1102203.944 911445.297 0, 1101926.263 911439.289 0, 1101648.582 911433.298 0, 1101370.9 911427.324 0,
+ 1101093.218 911421.365 0, 1100815.535 911415.423 0, 1100537.852 911409.498 0, 1100260.169 911403.588 0, 1099981.157 911397.667 0, 1099704.801 911391.819 0, 1099427.117 911385.959 0, 1099149.432 911380.115 0, 1098871.747 911374.287 0, 1098594.062 911368.476 0,
+ 1098316.376 911362.681 0, 1098038.69 911356.903 0, 1097761.003 911351.14 0, 1097483.317 911345.395 0, 1097205.63 911339.665 0, 1096927.942 911333.952 0, 1096650.254 911328.255 0, 1096372.566 911322.575 0, 1096094.878 911316.91 0, 1095817.189 911311.263 0,
+ 1095539.5 911305.631 0, 1095261.811 911300.016 0, 1094984.121 911294.417 0, 1094706.431 911288.835 0, 1094428.74 911283.269 0, 1094151.05 911277.719 0, 1093873.359 911272.186 0, 1093595.667 911266.669 0, 1093316.647 911261.142 0, 1093206.331 916838.608 0,
+ 1093096.012 922416.22 0, 1093374.373 922421.734 0, 1093651.408 922427.238 0, 1093928.442 922432.758 0, 1094205.476 922438.295 0, 1094482.51 922443.847 0, 1094759.544 922449.417 0, 1095036.577 922455.002 0, 1095313.61 922460.604 0, 1095590.642 922466.222 0,
+ 1095867.674 922471.857 0, 1096144.706 922477.507 0, 1096421.738 922483.174 0, 1096698.769 922488.858 0, 1096975.8 922494.557 0, 1097252.83 922500.273 0, 1097529.86 922506.006 0, 1097806.89 922511.754 0, 1098083.92 922517.519 0, 1098360.949 922523.3 0,
+ 1098637.978 922529.098 0, 1098915.006 922534.911 0, 1099192.034 922540.742 0, 1099469.062 922546.588 0, 1099744.765 922552.423 0, 1100023.117 922558.33 0, 1100300.144 922564.225 0, 1100577.17 922570.137 0, 1100854.196 922576.065 0, 1101131.222 922582.009 0,
+ 1101408.247 922587.969 0, 1101685.272 922593.946 0, 1101962.297 922599.939 0, 1102239.321 922605.949 0, 1102516.345 922611.974 0, 1102793.369 922618.017 0, 1103070.392 922624.075 0, 1103347.415 922630.15 0, 1103624.437 922636.241 0, 1103901.459 922642.348 0,
+ 1104178.481 922648.471 0, 1104455.503 922654.611 0, 1104732.524 922660.767 0, 1105009.544 922666.94 0, 1105286.565 922673.129 0, 1105563.585 922679.334 0, 1105840.604 922685.555 0, 1106117.624 922691.793 0, 1106393.319 922698.017 0, 1106519.396 917120.739 0,
+ 1106645.468 911543.607 0))
+
+POLYGON ((1119689.777 923017.381 0, 1119414.098 923010.378 0, 1119137.098 923003.357 0, 1118860.097 922996.353 0, 1118583.095 922989.366 0, 1118306.094 922982.394 0, 1118029.092 922975.439 0, 1117752.089 922968.5 0, 1117475.086 922961.578 0, 1117198.083 922954.672 0,
+ 1116921.079 922947.782 0, 1116644.075 922940.908 0, 1116367.07 922934.051 0, 1116090.065 922927.21 0, 1115813.059 922920.385 0, 1115536.054 922913.577 0, 1115259.047 922906.785 0, 1114982.041 922900.009 0, 1114705.034 922893.249 0, 1114428.026 922886.506 0,
+ 1114151.019 922879.779 0, 1113874.01 922873.069 0, 1113597.002 922866.375 0, 1113319.993 922859.697 0, 1113041.661 922853.003 0, 1112765.974 922846.39 0, 1112488.963 922839.761 0, 1112211.953 922833.148 0, 1111934.942 922826.552 0, 1111657.931 922819.971 0,
+ 1111380.919 922813.408 0, 1111103.907 922806.86 0, 1110826.894 922800.329 0, 1110549.881 922793.814 0, 1110272.868 922787.315 0, 1109995.854 922780.833 0, 1109718.84 922774.367 0, 1109441.826 922767.917 0, 1109164.811 922761.484 0, 1108887.796 922755.067 0,
+ 1108610.78 922748.666 0, 1108333.765 922742.282 0, 1108056.748 922735.914 0, 1107779.732 922729.562 0, 1107502.715 922723.226 0, 1107225.697 922716.907 0, 1106948.679 922710.604 0, 1106671.661 922704.317 0, 1106393.319 922698.017 0, 1106267.24 928275.437 0,
+ 1106141.157 933852.996 0, 1106418.839 933859.281 0, 1106695.201 933865.553 0, 1106971.562 933871.841 0, 1107247.923 933878.145 0, 1107524.284 933884.466 0, 1107800.644 933890.803 0, 1108077.004 933897.156 0, 1108353.363 933903.525 0, 1108629.722 933909.911 0,
+ 1108906.08 933916.312 0, 1109182.439 933922.731 0, 1109458.797 933929.165 0, 1109735.154 933935.616 0, 1110011.511 933942.083 0, 1110287.868 933948.566 0, 1110564.224 933955.065 0, 1110840.58 933961.581 0, 1111116.936 933968.113 0, 1111393.291 933974.661 0,
+ 1111669.646 933981.226 0, 1111946 933987.806 0, 1112222.354 933994.404 0, 1112498.708 934001.017 0, 1112773.742 934007.615 0, 1113051.414 934014.292 0, 1113327.766 934020.954 0, 1113604.118 934027.633 0, 1113880.47 934034.327 0, 1114156.821 934041.038 0,
+ 1114433.172 934047.766 0, 1114709.523 934054.509 0, 1114985.873 934061.269 0, 1115262.223 934068.045 0, 1115538.572 934074.837 0, 1115814.921 934081.645 0, 1116091.269 934088.47 0, 1116367.617 934095.311 0, 1116643.965 934102.168 0, 1116920.312 934109.042 0,
+ 1117196.659 934115.932 0, 1117473.006 934122.838 0, 1117749.352 934129.76 0, 1118025.697 934136.699 0, 1118302.043 934143.654 0, 1118578.387 934150.625 0, 1118854.732 934157.612 0, 1119131.076 934164.616 0, 1119406.102 934171.603 0, 1119547.941 928594.422 0,
+ 1119689.777 923017.381 0))
+
+POLYGON ((1132670.093 934527.684 0, 1132395.086 934519.92 0, 1132118.763 934512.136 0, 1131842.439 934504.368 0, 1131566.115 934496.616 0, 1131289.791 934488.88 0, 1131013.466 934481.161 0, 1130737.14 934473.458 0, 1130460.814 934465.771 0, 1130184.488 934458.101 0,
+ 1129908.161 934450.446 0, 1129631.834 934442.808 0, 1129355.506 934435.187 0, 1129079.178 934427.581 0, 1128802.85 934419.992 0, 1128526.521 934412.419 0, 1128250.191 934404.862 0, 1127973.861 934397.322 0, 1127697.531 934389.798 0, 1127421.2 934382.29 0,
+ 1127144.869 934374.798 0, 1126868.537 934367.323 0, 1126592.205 934359.864 0, 1126315.873 934352.421 0, 1126038.223 934344.959 0, 1125763.206 934337.584 0, 1125486.872 934330.19 0, 1125210.538 934322.812 0, 1124934.203 934315.451 0, 1124657.868 934308.105 0,
+ 1124381.533 934300.776 0, 1124105.197 934293.464 0, 1123828.86 934286.167 0, 1123552.523 934278.887 0, 1123276.186 934271.623 0, 1122999.848 934264.376 0, 1122723.51 934257.144 0, 1122447.172 934249.929 0, 1122170.833 934242.73 0, 1121894.493 934235.548 0,
+ 1121618.153 934228.381 0, 1121341.813 934221.231 0, 1121065.472 934214.097 0, 1120789.131 934206.98 0, 1120512.79 934199.879 0, 1120236.448 934192.794 0, 1119960.105 934185.725 0, 1119683.763 934178.672 0, 1119406.102 934171.603 0, 1119264.258 939748.917 0,
+ 1119122.412 945326.362 0, 1119399.414 945333.415 0, 1119675.1 945340.45 0, 1119950.786 945347.502 0, 1120226.471 945354.57 0, 1120502.156 945361.655 0, 1120777.841 945368.755 0, 1121053.525 945375.872 0, 1121329.208 945383.005 0, 1121604.892 945390.155 0,
+ 1121880.575 945397.32 0, 1122156.257 945404.502 0, 1122431.939 945411.7 0, 1122707.621 945418.914 0, 1122983.302 945426.145 0, 1123258.983 945433.391 0, 1123534.663 945440.654 0, 1123810.343 945447.933 0, 1124086.022 945455.229 0, 1124361.701 945462.54 0,
+ 1124637.38 945469.868 0, 1124913.058 945477.212 0, 1125188.736 945484.572 0, 1125464.413 945491.949 0, 1125738.777 945499.306 0, 1126015.767 945506.75 0, 1126291.443 945514.176 0, 1126567.118 945521.617 0, 1126842.793 945529.075 0, 1127118.468 945536.548 0,
+ 1127394.142 945544.038 0, 1127669.816 945551.545 0, 1127945.49 945559.067 0, 1128221.163 945566.606 0, 1128496.835 945574.161 0, 1128772.507 945581.732 0, 1129048.179 945589.319 0, 1129323.85 945596.923 0, 1129599.521 945604.543 0, 1129875.191 945612.179 0,
+ 1130150.861 945619.831 0, 1130426.53 945627.5 0, 1130702.199 945635.185 0, 1130977.867 945642.886 0, 1131253.535 945650.603 0, 1131529.203 945658.336 0, 1131804.87 945666.086 0, 1132080.537 945673.852 0, 1132354.89 945681.597 0, 1132512.493 940104.575 0,
+ 1132670.093 934527.684 0))
+
+POLYGON ((1145586.312 946074.215 0, 1145311.979 946065.695 0, 1145036.335 946057.15 0, 1144760.691 946048.621 0, 1144485.047 946040.109 0, 1144209.402 946031.613 0, 1143933.756 946023.134 0, 1143658.11 946014.67 0, 1143382.463 946006.223 0, 1143106.816 945997.792 0,
+ 1142831.169 945989.377 0, 1142555.521 945980.978 0, 1142279.872 945972.596 0, 1142004.223 945964.229 0, 1141728.574 945955.879 0, 1141452.923 945947.546 0, 1141177.273 945939.228 0, 1140901.622 945930.927 0, 1140625.97 945922.642 0, 1140350.318 945914.373 0,
+ 1140074.666 945906.12 0, 1139799.013 945897.884 0, 1139523.359 945889.664 0, 1139247.706 945881.46 0, 1138970.74 945873.233 0, 1138696.396 945865.101 0, 1138420.741 945856.945 0, 1138145.085 945848.806 0, 1137869.429 945840.683 0, 1137593.772 945832.577 0,
+ 1137318.115 945824.486 0, 1137042.457 945816.412 0, 1136766.798 945808.354 0, 1136491.14 945800.313 0, 1136215.481 945792.287 0, 1135939.821 945784.278 0, 1135664.161 945776.285 0, 1135388.5 945768.308 0, 1135112.839 945760.347 0, 1134837.178 945752.403 0,
+ 1134561.516 945744.475 0, 1134285.853 945736.563 0, 1134010.19 945728.667 0, 1133734.527 945720.788 0, 1133458.863 945712.925 0, 1133183.199 945705.078 0, 1132907.534 945697.247 0, 1132631.868 945689.432 0, 1132354.89 945681.597 0, 1132197.283 951258.745 0,
+ 1132039.673 956836.015 0, 1132315.992 956843.832 0, 1132591.001 956851.628 0, 1132866.009 956859.44 0, 1133141.017 956867.269 0, 1133416.024 956875.113 0, 1133691.031 956882.974 0, 1133966.037 956890.851 0, 1134241.043 956898.744 0, 1134516.049 956906.653 0,
+ 1134791.054 956914.578 0, 1135066.058 956922.52 0, 1135341.063 956930.478 0, 1135616.066 956938.452 0, 1135891.069 956946.442 0, 1136166.072 956954.448 0, 1136441.074 956962.471 0, 1136716.076 956970.51 0, 1136991.077 956978.565 0, 1137266.078 956986.636 0,
+ 1137541.078 956994.723 0, 1137816.078 957002.827 0, 1138091.078 957010.946 0, 1138366.076 957019.082 0, 1138639.766 957027.195 0, 1138916.073 957035.402 0, 1139191.07 957043.587 0, 1139466.067 957051.787 0, 1139741.064 957060.004 0, 1140016.06 957068.237 0,
+ 1140291.055 957076.486 0, 1140566.05 957084.752 0, 1140841.045 957093.033 0, 1141116.039 957101.331 0, 1141391.032 957109.645 0, 1141666.025 957117.975 0, 1141941.018 957126.321 0, 1142216.01 957134.684 0, 1142491.002 957143.062 0, 1142765.993 957151.457 0,
+ 1143040.983 957159.868 0, 1143315.973 957168.295 0, 1143590.963 957176.739 0, 1143865.952 957185.198 0, 1144140.941 957193.674 0, 1144415.929 957202.166 0, 1144690.916 957210.674 0, 1144965.904 957219.198 0, 1145239.583 957227.698 0, 1145412.949 951650.895 0,
+ 1145586.312 946074.215 0))
+
+POLYGON ((1158438.333 957656.672 0, 1158164.677 957647.399 0, 1157889.715 957638.097 0, 1157614.753 957628.812 0, 1157339.79 957619.544 0, 1157064.826 957610.291 0, 1156789.862 957601.055 0, 1156514.897 957591.834 0, 1156239.932 957582.63 0, 1155964.966 957573.442 0,
+ 1155690 957564.271 0, 1155415.033 957555.115 0, 1155140.066 957545.976 0, 1154865.098 957536.853 0, 1154590.129 957527.746 0, 1154315.16 957518.655 0, 1154040.191 957509.58 0, 1153765.221 957500.522 0, 1153490.25 957491.48 0, 1153215.279 957482.454 0,
+ 1152940.308 957473.444 0, 1152665.335 957464.45 0, 1152390.363 957455.473 0, 1152115.39 957446.511 0, 1151839.11 957437.524 0, 1151565.442 957428.637 0, 1151290.467 957419.725 0, 1151015.491 957410.828 0, 1150740.516 957401.948 0, 1150465.539 957393.083 0,
+ 1150190.562 957384.235 0, 1149915.585 957375.404 0, 1149640.607 957366.588 0, 1149365.628 957357.789 0, 1149090.65 957349.005 0, 1148815.67 957340.238 0, 1148540.69 957331.487 0, 1148265.71 957322.753 0, 1147990.729 957314.034 0, 1147715.747 957305.332 0,
+ 1147440.765 957296.646 0, 1147165.782 957287.976 0, 1146890.799 957279.322 0, 1146615.816 957270.684 0, 1146340.832 957262.063 0, 1146065.847 957253.457 0, 1145790.862 957244.868 0, 1145515.876 957236.296 0, 1145239.583 957227.698 0, 1145066.213 962804.62 0,
+ 1144892.839 968381.655 0, 1145168.473 968390.232 0, 1145442.802 968398.784 0, 1145717.131 968407.353 0, 1145991.459 968415.938 0, 1146265.787 968424.538 0, 1146540.114 968433.155 0, 1146814.44 968441.789 0, 1147088.766 968450.438 0, 1147363.092 968459.103 0,
+ 1147637.417 968467.785 0, 1147911.741 968476.483 0, 1148186.065 968485.196 0, 1148460.389 968493.926 0, 1148734.712 968502.673 0, 1149009.034 968511.435 0, 1149283.356 968520.213 0, 1149557.678 968529.008 0, 1149831.999 968537.819 0, 1150106.319 968546.646 0,
+ 1150380.639 968555.489 0, 1150654.958 968564.348 0, 1150929.277 968573.223 0, 1151203.596 968582.115 0, 1151476.61 968590.98 0, 1151752.231 968599.946 0, 1152026.547 968608.886 0, 1152300.864 968617.842 0, 1152575.179 968626.814 0, 1152849.495 968635.802 0,
+ 1153123.809 968644.807 0, 1153398.123 968653.828 0, 1153672.437 968662.864 0, 1153946.75 968671.917 0, 1154221.062 968680.986 0, 1154495.374 968690.072 0, 1154769.686 968699.173 0, 1155043.997 968708.29 0, 1155318.307 968717.424 0, 1155592.617 968726.574 0,
+ 1155866.926 968735.74 0, 1156141.235 968744.922 0, 1156415.543 968754.12 0, 1156689.851 968763.335 0, 1156964.158 968772.565 0, 1157238.465 968781.812 0, 1157512.771 968791.075 0, 1157787.076 968800.354 0, 1158060.079 968809.605 0, 1158249.208 963233.081 0,
+ 1158438.333 957656.672 0))
+
+POLYGON ((1171226.057 969274.752 0, 1170953.08 969264.73 0, 1170678.801 969254.676 0, 1170404.523 969244.638 0, 1170130.243 969234.616 0, 1169855.963 969224.611 0, 1169581.683 969214.622 0, 1169307.402 969204.649 0, 1169033.12 969194.692 0, 1168758.838 969184.751 0,
+ 1168484.555 969174.826 0, 1168210.271 969164.917 0, 1167935.987 969155.025 0, 1167661.703 969145.149 0, 1167387.417 969135.288 0, 1167113.132 969125.444 0, 1166838.845 969115.616 0, 1166564.558 969105.805 0, 1166290.271 969096.009 0, 1166015.983 969086.23 0,
+ 1165741.694 969076.466 0, 1165467.405 969066.719 0, 1165193.115 969056.988 0, 1164918.824 969047.273 0, 1164643.233 969037.529 0, 1164370.242 969027.892 0, 1164095.95 969018.226 0, 1163821.657 969008.575 0, 1163547.364 968998.941 0, 1163273.07 968989.323 0,
+ 1162998.776 968979.721 0, 1162724.481 968970.136 0, 1162450.185 968960.566 0, 1162175.889 968951.013 0, 1161901.592 968941.475 0, 1161627.295 968931.954 0, 1161352.998 968922.449 0, 1161078.699 968912.96 0, 1160804.4 968903.488 0, 1160530.101 968894.031 0,
+ 1160255.801 968884.591 0, 1159981.5 968875.166 0, 1159707.199 968865.758 0, 1159432.898 968856.366 0, 1159158.595 968846.991 0, 1158884.293 968837.631 0, 1158609.989 968828.287 0, 1158335.686 968818.96 0, 1158060.079 968809.605 0, 1157870.946 974386.238 0,
+ 1157681.81 979962.979 0, 1157956.757 979972.312 0, 1158230.404 979981.617 0, 1158504.051 979990.938 0, 1158777.697 980000.275 0, 1159051.343 980009.629 0, 1159324.988 980018.998 0, 1159598.633 980028.384 0, 1159872.277 980037.785 0, 1160145.921 980047.203 0,
+ 1160419.564 980056.637 0, 1160693.206 980066.087 0, 1160966.848 980075.553 0, 1161240.489 980085.036 0, 1161514.13 980094.534 0, 1161787.77 980104.048 0, 1162061.41 980113.579 0, 1162335.049 980123.126 0, 1162608.687 980132.688 0, 1162882.325 980142.267 0,
+ 1163155.963 980151.862 0, 1163429.599 980161.473 0, 1163703.236 980171.101 0, 1163976.871 980180.744 0, 1164249.209 980190.357 0, 1164524.141 980200.079 0, 1164797.775 980209.77 0, 1165071.408 980219.478 0, 1165345.041 980229.202 0, 1165618.673 980238.942 0,
+ 1165892.305 980248.698 0, 1166165.936 980258.47 0, 1166439.567 980268.258 0, 1166713.197 980278.063 0, 1166986.826 980287.883 0, 1167260.455 980297.72 0, 1167534.083 980307.572 0, 1167807.711 980317.441 0, 1168081.338 980327.326 0, 1168354.964 980337.227 0,
+ 1168628.59 980347.144 0, 1168902.215 980357.077 0, 1169175.84 980367.027 0, 1169449.464 980376.992 0, 1169723.088 980386.973 0, 1169996.711 980396.971 0, 1170270.333 980406.985 0, 1170543.955 980417.015 0, 1170816.28 980427.013 0, 1171021.17 974850.829 0,
+ 1171226.057 969274.752 0))
+
+POLYGON ((1183949.386 980928.153 0, 1183677.088 980917.385 0, 1183403.496 980906.582 0, 1183129.903 980895.795 0, 1182856.309 980885.025 0, 1182582.715 980874.27 0, 1182309.12 980863.532 0, 1182035.525 980852.81 0, 1181761.928 980842.103 0, 1181488.332 980831.413 0,
+ 1181214.734 980820.739 0, 1180941.136 980810.081 0, 1180667.538 980799.44 0, 1180393.938 980788.814 0, 1180120.338 980778.204 0, 1179846.738 980767.611 0, 1179573.137 980757.034 0, 1179299.535 980746.472 0, 1179025.932 980735.927 0, 1178752.329 980725.398 0,
+ 1178478.726 980714.885 0, 1178205.122 980704.388 0, 1177931.517 980693.907 0, 1177657.911 980683.443 0, 1177383.01 980672.945 0, 1177110.698 980662.562 0, 1176837.091 980652.146 0, 1176563.483 980641.745 0, 1176289.874 980631.361 0, 1176016.265 980620.993 0,
+ 1175742.655 980610.641 0, 1175469.045 980600.305 0, 1175195.434 980589.986 0, 1174921.822 980579.682 0, 1174648.21 980569.395 0, 1174374.597 980559.123 0, 1174100.984 980548.868 0, 1173827.37 980538.629 0, 1173553.755 980528.406 0, 1173280.14 980518.199 0,
+ 1173006.524 980508.008 0, 1172732.908 980497.833 0, 1172459.291 980487.674 0, 1172185.673 980477.532 0, 1171912.055 980467.405 0, 1171638.436 980457.295 0, 1171364.817 980447.201 0, 1171091.197 980437.123 0, 1170816.28 980427.013 0, 1170611.385 986003.299 0,
+ 1170406.487 991579.683 0, 1170680.744 991589.768 0, 1170953.708 991599.822 0, 1171226.671 991609.892 0, 1171499.633 991619.978 0, 1171772.595 991630.08 0, 1172045.556 991640.199 0, 1172318.517 991650.333 0, 1172591.477 991660.483 0, 1172864.436 991670.65 0,
+ 1173137.395 991680.832 0, 1173410.353 991691.031 0, 1173683.311 991701.245 0, 1173956.268 991711.476 0, 1174229.224 991721.723 0, 1174502.18 991731.986 0, 1174775.135 991742.265 0, 1175048.09 991752.56 0, 1175321.044 991762.871 0, 1175593.997 991773.198 0,
+ 1175866.95 991783.541 0, 1176139.902 991793.9 0, 1176412.854 991804.275 0, 1176685.805 991814.667 0, 1176957.463 991825.025 0, 1177231.705 991835.498 0, 1177504.654 991845.937 0, 1177777.603 991856.393 0, 1178050.55 991866.864 0, 1178323.498 991877.352 0,
+ 1178596.444 991887.856 0, 1178869.39 991898.376 0, 1179142.336 991908.912 0, 1179415.281 991919.464 0, 1179688.225 991930.032 0, 1179961.168 991940.616 0, 1180234.111 991951.216 0, 1180507.053 991961.832 0, 1180779.995 991972.465 0, 1181052.936 991983.113 0,
+ 1181325.877 991993.777 0, 1181598.816 992004.458 0, 1181871.756 992015.155 0, 1182144.694 992025.867 0, 1182417.632 992036.596 0, 1182690.569 992047.341 0, 1182963.506 992058.101 0, 1183236.442 992068.878 0, 1183508.086 992079.62 0, 1183728.738 986503.837 0,
+ 1183949.386 980928.153 0))
+
+POLYGON ((1196608.221 992616.57 0, 1196336.606 992605.061 0, 1196063.701 992593.513 0, 1195790.796 992581.981 0, 1195517.89 992570.465 0, 1195244.984 992558.965 0, 1194972.077 992547.482 0, 1194699.169 992536.014 0, 1194426.26 992524.562 0, 1194153.351 992513.127 0,
+ 1193880.441 992501.707 0, 1193607.531 992490.304 0, 1193334.62 992478.917 0, 1193061.708 992467.545 0, 1192788.795 992456.19 0, 1192515.882 992444.851 0, 1192242.968 992433.528 0, 1191970.054 992422.221 0, 1191697.138 992410.93 0, 1191424.222 992399.655 0,
+ 1191151.306 992388.396 0, 1190878.389 992377.154 0, 1190605.471 992365.927 0, 1190332.552 992354.716 0, 1190058.343 992343.469 0, 1189786.713 992332.343 0, 1189513.793 992321.181 0, 1189240.872 992310.034 0, 1188967.95 992298.904 0, 1188695.027 992287.79 0,
+ 1188422.104 992276.692 0, 1188149.18 992265.61 0, 1187876.256 992254.544 0, 1187603.331 992243.494 0, 1187330.405 992232.46 0, 1187057.479 992221.442 0, 1186784.552 992210.44 0, 1186511.624 992199.454 0, 1186238.696 992188.485 0, 1185965.767 992177.531 0,
+ 1185692.837 992166.593 0, 1185419.907 992155.672 0, 1185146.976 992144.766 0, 1184874.045 992133.877 0, 1184601.112 992123.004 0, 1184328.18 992112.147 0, 1184055.246 992101.305 0, 1183782.312 992090.48 0, 1183508.086 992079.62 0, 1183287.431 997655.497 0,
+ 1183066.772 1003231.464 0, 1183340.338 1003242.298 0, 1183612.616 1003253.097 0, 1183884.893 1003263.912 0, 1184157.169 1003274.743 0, 1184429.445 1003285.591 0, 1184701.72 1003296.454 0, 1184973.995 1003307.333 0, 1185246.269 1003318.228 0, 1185518.542 1003329.139 0,
+ 1185790.815 1003340.067 0, 1186063.086 1003351.01 0, 1186335.358 1003361.969 0, 1186607.628 1003372.945 0, 1186879.898 1003383.936 0, 1187152.168 1003394.943 0, 1187424.437 1003405.967 0, 1187696.705 1003417.006 0, 1187968.972 1003428.062 0, 1188241.239 1003439.133 0,
+ 1188513.505 1003450.221 0, 1188785.77 1003461.324 0, 1189058.035 1003472.444 0, 1189330.299 1003483.579 0, 1189601.276 1003494.678 0, 1189874.826 1003505.899 0, 1190147.088 1003517.082 0, 1190419.35 1003528.282 0, 1190691.61 1003539.498 0, 1190963.871 1003550.729 0,
+ 1191236.13 1003561.977 0, 1191508.389 1003573.241 0, 1191780.647 1003584.521 0, 1192052.905 1003595.817 0, 1192325.162 1003607.128 0, 1192597.418 1003618.456 0, 1192869.674 1003629.8 0, 1193141.928 1003641.16 0, 1193414.183 1003652.536 0, 1193686.436 1003663.928 0,
+ 1193958.689 1003675.336 0, 1194230.941 1003686.76 0, 1194503.193 1003698.2 0, 1194775.444 1003709.656 0, 1195047.694 1003721.128 0, 1195319.943 1003732.617 0, 1195592.192 1003744.121 0, 1195864.44 1003755.641 0, 1196135.402 1003767.123 0, 1196371.813 998191.801 0,
+ 1196608.221 992616.57 0))
+
+POLYGON ((1209202.467 1004339.7 0, 1208931.537 1004327.453 0, 1208659.322 1004315.164 0, 1208387.107 1004302.89 0, 1208114.891 1004290.633 0, 1207842.674 1004278.392 0, 1207570.457 1004266.167 0, 1207298.239 1004253.958 0, 1207026.02 1004241.764 0, 1206753.8 1004229.587 0,
+ 1206481.58 1004217.426 0, 1206209.359 1004205.281 0, 1205937.137 1004193.152 0, 1205664.915 1004181.039 0, 1205392.692 1004168.942 0, 1205120.468 1004156.861 0, 1204848.243 1004144.796 0, 1204576.018 1004132.747 0, 1204303.792 1004120.714 0, 1204031.565 1004108.697 0,
+ 1203759.338 1004096.696 0, 1203487.11 1004084.712 0, 1203214.881 1004072.743 0, 1202942.652 1004060.79 0, 1202669.137 1004048.797 0, 1202398.191 1004036.932 0, 1202125.959 1004025.028 0, 1201853.727 1004013.139 0, 1201581.494 1004001.266 0, 1201309.26 1003989.41 0,
+ 1201037.025 1003977.569 0, 1200764.79 1003965.744 0, 1200492.555 1003953.936 0, 1200220.318 1003942.143 0, 1199948.081 1003930.366 0, 1199675.843 1003918.606 0, 1199403.604 1003906.861 0, 1199131.365 1003895.133 0, 1198859.125 1003883.42 0, 1198586.885 1003871.724 0,
+ 1198314.643 1003860.044 0, 1198042.401 1003848.379 0, 1197770.158 1003836.731 0, 1197497.915 1003825.099 0, 1197225.671 1003813.482 0, 1196953.426 1003801.882 0, 1196681.181 1003790.298 0, 1196408.935 1003778.729 0, 1196135.402 1003767.123 0, 1195898.987 1009342.53 0,
+ 1195662.569 1014918.019 0, 1195935.442 1014929.597 0, 1196207.032 1014941.138 0, 1196478.621 1014952.694 0, 1196750.209 1014964.266 0, 1197021.797 1014975.855 0, 1197293.384 1014987.459 0, 1197564.971 1014999.079 0, 1197836.556 1015010.716 0, 1198108.141 1015022.368 0,
+ 1198379.726 1015034.036 0, 1198651.309 1015045.72 0, 1198922.892 1015057.421 0, 1199194.475 1015069.137 0, 1199466.056 1015080.869 0, 1199737.637 1015092.617 0, 1200009.217 1015104.381 0, 1200280.797 1015116.161 0, 1200552.376 1015127.957 0, 1200823.954 1015139.77 0,
+ 1201095.531 1015151.598 0, 1201367.108 1015163.442 0, 1201638.684 1015175.302 0, 1201910.259 1015187.178 0, 1202180.552 1015199.014 0, 1202453.408 1015210.978 0, 1202724.981 1015222.902 0, 1202996.554 1015234.842 0, 1203268.125 1015246.798 0, 1203539.697 1015258.77 0,
+ 1203811.267 1015270.758 0, 1204082.837 1015282.762 0, 1204354.406 1015294.782 0, 1204625.974 1015306.817 0, 1204897.542 1015318.869 0, 1205169.108 1015330.937 0, 1205440.675 1015343.021 0, 1205712.24 1015355.121 0, 1205983.805 1015367.237 0, 1206255.369 1015379.368 0,
+ 1206526.932 1015391.516 0, 1206798.495 1015403.68 0, 1207070.057 1015415.86 0, 1207341.618 1015428.055 0, 1207613.178 1015440.267 0, 1207884.738 1015452.495 0, 1208156.297 1015464.738 0, 1208427.855 1015476.998 0, 1208698.132 1015489.216 0, 1208950.301 1009914.417 0,
+ 1209202.467 1004339.7 0))
+
+POLYGON ((1221732.03 1016097.239 0, 1221461.787 1016084.257 0, 1221190.264 1016071.231 0, 1220918.741 1016058.22 0, 1220647.217 1016045.225 0, 1220375.692 1016032.246 0, 1220104.166 1016019.283 0, 1219832.64 1016006.336 0, 1219561.113 1015993.405 0, 1219289.585 1015980.49 0,
+ 1219018.056 1015967.591 0, 1218746.527 1015954.708 0, 1218474.996 1015941.841 0, 1218203.465 1015928.99 0, 1217931.934 1015916.155 0, 1217660.401 1015903.336 0, 1217388.868 1015890.533 0, 1217117.334 1015877.746 0, 1216845.799 1015864.975 0, 1216574.264 1015852.22 0,
+ 1216302.728 1015839.481 0, 1216031.191 1015826.758 0, 1215759.653 1015814.05 0, 1215488.115 1015801.359 0, 1215215.296 1015788.624 0, 1214945.035 1015776.025 0, 1214673.495 1015763.382 0, 1214401.953 1015750.754 0, 1214130.411 1015738.143 0, 1213858.868 1015725.548 0,
+ 1213587.324 1015712.968 0, 1213315.78 1015700.405 0, 1213044.235 1015687.858 0, 1212772.689 1015675.326 0, 1212501.142 1015662.811 0, 1212229.595 1015650.312 0, 1211958.047 1015637.828 0, 1211686.498 1015625.361 0, 1211414.949 1015612.909 0, 1211143.398 1015600.474 0,
+ 1210871.847 1015588.054 0, 1210600.295 1015575.651 0, 1210328.743 1015563.263 0, 1210057.19 1015550.892 0, 1209785.636 1015538.536 0, 1209514.081 1015526.197 0, 1209242.526 1015513.873 0, 1208970.97 1015501.565 0, 1208698.132 1015489.216 0, 1208445.96 1021064.092 0,
+ 1208193.784 1026639.042 0, 1208465.962 1026651.361 0, 1208736.861 1026663.639 0, 1209007.761 1026675.933 0, 1209278.659 1026688.243 0, 1209549.557 1026700.569 0, 1209820.454 1026712.91 0, 1210091.35 1026725.268 0, 1210362.245 1026737.641 0, 1210633.14 1026750.031 0,
+ 1210904.034 1026762.436 0, 1211174.928 1026774.858 0, 1211445.82 1026787.295 0, 1211716.712 1026799.748 0, 1211987.603 1026812.217 0, 1212258.494 1026824.702 0, 1212529.383 1026837.204 0, 1212800.272 1026849.721 0, 1213071.16 1026862.254 0, 1213342.048 1026874.802 0,
+ 1213612.934 1026887.367 0, 1213883.82 1026899.948 0, 1214154.706 1026912.545 0, 1214425.59 1026925.158 0, 1214695.198 1026937.727 0, 1214967.357 1026950.431 0, 1215238.239 1026963.091 0, 1215509.121 1026975.768 0, 1215780.001 1026988.46 0, 1216050.881 1027001.169 0,
+ 1216321.761 1027013.893 0, 1216592.639 1027026.633 0, 1216863.517 1027039.389 0, 1217134.394 1027052.161 0, 1217405.27 1027064.949 0, 1217676.146 1027077.753 0, 1217947.02 1027090.573 0, 1218217.894 1027103.409 0, 1218488.768 1027116.261 0, 1218759.64 1027129.129 0,
+ 1219030.512 1027142.013 0, 1219301.383 1027154.912 0, 1219572.253 1027167.828 0, 1219843.123 1027180.76 0, 1220113.991 1027193.707 0, 1220384.859 1027206.67 0, 1220655.726 1027219.65 0, 1220926.593 1027232.645 0, 1221196.183 1027245.595 0, 1221464.108 1021671.38 0,
+ 1221732.03 1016097.239 0))
+
+POLYGON ((1234196.817 1027888.88 0, 1233927.262 1027875.169 0, 1233656.434 1027861.408 0, 1233385.604 1027847.664 0, 1233114.774 1027833.935 0, 1232843.943 1027820.222 0, 1232573.111 1027806.525 0, 1232302.279 1027792.845 0, 1232031.445 1027779.18 0, 1231760.611 1027765.531 0,
+ 1231489.776 1027751.898 0, 1231218.94 1027738.281 0, 1230948.103 1027724.68 0, 1230677.266 1027711.094 0, 1230406.428 1027697.525 0, 1230135.589 1027683.972 0, 1229864.749 1027670.435 0, 1229593.908 1027656.913 0, 1229323.067 1027643.408 0, 1229052.224 1027629.918 0,
+ 1228781.381 1027616.445 0, 1228510.538 1027602.987 0, 1228239.693 1027589.545 0, 1227968.848 1027576.119 0, 1227696.727 1027562.647 0, 1227427.154 1027549.316 0, 1227156.307 1027535.938 0, 1226885.458 1027522.576 0, 1226614.609 1027509.23 0, 1226343.759 1027495.9 0,
+ 1226072.908 1027482.585 0, 1225802.056 1027469.287 0, 1225531.204 1027456.005 0, 1225260.35 1027442.739 0, 1224989.496 1027429.488 0, 1224718.641 1027416.254 0, 1224447.786 1027403.035 0, 1224176.929 1027389.833 0, 1223906.072 1027376.646 0, 1223635.214 1027363.475 0,
+ 1223364.356 1027350.321 0, 1223093.496 1027337.182 0, 1222822.636 1027324.059 0, 1222551.775 1027310.952 0, 1222280.913 1027297.861 0, 1222010.051 1027284.786 0, 1221739.187 1027271.727 0, 1221468.323 1027258.684 0, 1221196.183 1027245.595 0, 1220928.255 1032819.879 0,
+ 1220660.323 1038394.229 0, 1220931.804 1038407.285 0, 1221202.012 1038420.297 0, 1221472.219 1038433.324 0, 1221742.425 1038446.368 0, 1222012.631 1038459.427 0, 1222282.835 1038472.502 0, 1222553.04 1038485.593 0, 1222823.243 1038498.7 0, 1223093.445 1038511.823 0,
+ 1223363.647 1038524.962 0, 1223633.848 1038538.117 0, 1223904.048 1038551.287 0, 1224174.248 1038564.474 0, 1224444.446 1038577.676 0, 1224714.644 1038590.894 0, 1224984.841 1038604.129 0, 1225255.038 1038617.379 0, 1225525.233 1038630.645 0, 1225795.428 1038643.927 0,
+ 1226065.622 1038657.225 0, 1226335.815 1038670.538 0, 1226606.008 1038683.868 0, 1226876.199 1038697.213 0, 1227145.119 1038710.512 0, 1227416.58 1038723.952 0, 1227686.769 1038737.345 0, 1227956.958 1038750.755 0, 1228227.146 1038764.18 0, 1228497.332 1038777.621 0,
+ 1228767.519 1038791.077 0, 1229037.704 1038804.55 0, 1229307.888 1038818.039 0, 1229578.072 1038831.543 0, 1229848.255 1038845.064 0, 1230118.437 1038858.6 0, 1230388.618 1038872.152 0, 1230658.799 1038885.721 0, 1230928.979 1038899.305 0, 1231199.158 1038912.905 0,
+ 1231469.336 1038926.521 0, 1231739.513 1038940.152 0, 1232009.69 1038953.8 0, 1232279.865 1038967.464 0, 1232550.04 1038981.143 0, 1232820.214 1038994.838 0, 1233090.388 1039008.55 0, 1233360.56 1039022.277 0, 1233629.462 1039035.955 0, 1233913.141 1033462.385 0,
+ 1234196.817 1027888.88 0))
+
+POLYGON ((1246596.737 1039714.32 0, 1246327.872 1039699.882 0, 1246057.74 1039685.391 0, 1245787.606 1039670.917 0, 1245517.472 1039656.458 0, 1245247.337 1039642.015 0, 1244977.201 1039627.588 0, 1244707.064 1039613.178 0, 1244436.926 1039598.783 0, 1244166.787 1039584.403 0,
+ 1243896.648 1039570.04 0, 1243626.508 1039555.693 0, 1243356.367 1039541.361 0, 1243086.225 1039527.046 0, 1242816.082 1039512.746 0, 1242545.938 1039498.463 0, 1242275.794 1039484.195 0, 1242005.648 1039469.943 0, 1241735.502 1039455.707 0, 1241465.355 1039441.487 0,
+ 1241195.207 1039427.282 0, 1240925.059 1039413.094 0, 1240654.909 1039398.922 0, 1240384.759 1039384.765 0, 1240113.339 1039370.558 0, 1239844.456 1039356.5 0, 1239574.303 1039342.391 0, 1239304.149 1039328.298 0, 1239033.995 1039314.221 0, 1238763.839 1039300.16 0,
+ 1238493.683 1039286.115 0, 1238223.526 1039272.085 0, 1237953.368 1039258.072 0, 1237683.21 1039244.075 0, 1237413.05 1039230.093 0, 1237142.89 1039216.127 0, 1236872.729 1039202.177 0, 1236602.567 1039188.243 0, 1236332.404 1039174.325 0, 1236062.241 1039160.423 0,
+ 1235792.076 1039146.537 0, 1235521.911 1039132.667 0, 1235251.745 1039118.812 0, 1234981.578 1039104.974 0, 1234711.411 1039091.151 0, 1234441.242 1039077.345 0, 1234171.073 1039063.554 0, 1233900.903 1039049.779 0, 1233629.462 1039035.955 0, 1233345.78 1044609.586 0,
+ 1233062.095 1050183.274 0, 1233332.876 1050197.064 0, 1233602.39 1050210.805 0, 1233871.903 1050224.562 0, 1234141.416 1050238.336 0, 1234410.927 1050252.125 0, 1234680.438 1050265.93 0, 1234949.948 1050279.75 0, 1235219.457 1050293.587 0, 1235488.965 1050307.439 0,
+ 1235758.473 1050321.308 0, 1236027.979 1050335.192 0, 1236297.485 1050349.092 0, 1236566.99 1050363.008 0, 1236836.494 1050376.94 0, 1237105.998 1050390.887 0, 1237375.5 1050404.851 0, 1237645.002 1050418.83 0, 1237914.503 1050432.826 0, 1238184.003 1050446.837 0,
+ 1238453.502 1050460.864 0, 1238723.001 1050474.906 0, 1238992.498 1050488.965 0, 1239261.995 1050503.04 0, 1239530.225 1050517.064 0, 1239800.986 1050531.236 0, 1240070.48 1050545.359 0, 1240339.974 1050559.497 0, 1240609.466 1050573.65 0, 1240878.958 1050587.82 0,
+ 1241148.449 1050602.006 0, 1241417.939 1050616.207 0, 1241687.429 1050630.425 0, 1241956.917 1050644.658 0, 1242226.405 1050658.907 0, 1242495.891 1050673.172 0, 1242765.377 1050687.452 0, 1243034.862 1050701.749 0, 1243304.347 1050716.061 0, 1243573.83 1050730.39 0,
+ 1243843.313 1050744.734 0, 1244112.794 1050759.094 0, 1244382.275 1050773.47 0, 1244651.755 1050787.862 0, 1244921.234 1050802.269 0, 1245190.713 1050816.693 0, 1245460.19 1050831.132 0, 1245729.667 1050845.588 0, 1245997.878 1050859.991 0, 1246297.309 1045287.127 0,
+ 1246596.737 1039714.32 0))
+
+POLYGON ((1258931.698 1051573.251 0, 1258663.527 1051558.09 0, 1258394.092 1051542.873 0, 1258124.656 1051527.673 0, 1257855.22 1051512.488 0, 1257585.782 1051497.319 0, 1257316.344 1051482.166 0, 1257046.905 1051467.029 0, 1256777.465 1051451.908 0, 1256508.024 1051436.802 0,
+ 1256238.582 1051421.712 0, 1255969.139 1051406.639 0, 1255699.696 1051391.581 0, 1255430.251 1051376.539 0, 1255160.806 1051361.513 0, 1254891.36 1051346.502 0, 1254621.912 1051331.508 0, 1254352.464 1051316.529 0, 1254083.015 1051301.566 0, 1253813.566 1051286.619 0,
+ 1253544.115 1051271.688 0, 1253274.663 1051256.773 0, 1253005.211 1051241.874 0, 1252735.758 1051226.991 0, 1252465.04 1051212.053 0, 1252196.848 1051197.271 0, 1251927.392 1051182.435 0, 1251657.936 1051167.615 0, 1251388.478 1051152.811 0, 1251119.019 1051138.023 0,
+ 1250849.56 1051123.25 0, 1250580.1 1051108.494 0, 1250310.639 1051093.753 0, 1250041.177 1051079.028 0, 1249771.714 1051064.319 0, 1249502.25 1051049.626 0, 1249232.785 1051034.949 0, 1248963.32 1051020.287 0, 1248693.853 1051005.642 0, 1248424.386 1050991.012 0,
+ 1248154.918 1050976.398 0, 1247885.449 1050961.8 0, 1247615.979 1050947.218 0, 1247346.509 1050932.652 0, 1247077.037 1050918.102 0, 1246807.565 1050903.567 0, 1246538.092 1050889.048 0, 1246268.618 1050874.546 0, 1245997.878 1050859.991 0, 1245698.445 1056432.907 0,
+ 1245399.009 1062005.871 0, 1245669.089 1062020.391 0, 1245937.907 1062034.858 0, 1246206.724 1062049.341 0, 1246475.54 1062063.841 0, 1246744.356 1062078.356 0, 1247013.171 1062092.886 0, 1247281.984 1062107.433 0, 1247550.797 1062121.995 0, 1247819.609 1062136.574 0,
+ 1248088.421 1062151.168 0, 1248357.231 1062165.778 0, 1248626.04 1062180.403 0, 1248894.849 1062195.045 0, 1249163.657 1062209.702 0, 1249432.464 1062224.375 0, 1249701.27 1062239.064 0, 1249970.075 1062253.769 0, 1250238.879 1062268.49 0, 1250507.683 1062283.226 0,
+ 1250776.485 1062297.979 0, 1251045.287 1062312.747 0, 1251314.088 1062327.531 0, 1251582.888 1062342.331 0, 1251850.426 1062357.077 0, 1252120.485 1062371.977 0, 1252389.282 1062386.825 0, 1252658.079 1062401.688 0, 1252926.874 1062416.567 0, 1253195.669 1062431.461 0,
+ 1253464.463 1062446.372 0, 1253733.256 1062461.298 0, 1254002.048 1062476.24 0, 1254270.839 1062491.198 0, 1254539.63 1062506.172 0, 1254808.419 1062521.162 0, 1255077.208 1062536.167 0, 1255345.995 1062551.188 0, 1255614.782 1062566.225 0, 1255883.568 1062581.278 0,
+ 1256152.353 1062596.347 0, 1256421.137 1062611.432 0, 1256689.92 1062626.532 0, 1256958.703 1062641.648 0, 1257227.484 1062656.78 0, 1257496.265 1062671.928 0, 1257765.044 1062687.091 0, 1258033.823 1062702.271 0, 1258301.342 1062717.395 0, 1258616.521 1057145.299 0,
+ 1258931.698 1051573.251 0))
+
+POLYGON ((1271201.614 1063465.367 0, 1270934.137 1063449.487 0, 1270665.402 1063433.549 0, 1270396.666 1063417.626 0, 1270127.929 1063401.719 0, 1269859.192 1063385.827 0, 1269590.453 1063369.952 0, 1269321.714 1063354.092 0, 1269052.973 1063338.248 0, 1268784.232 1063322.42 0,
+ 1268515.489 1063306.608 0, 1268246.746 1063290.812 0, 1267978.002 1063275.031 0, 1267709.257 1063259.267 0, 1267440.511 1063243.518 0, 1267171.764 1063227.785 0, 1266903.016 1063212.067 0, 1266634.267 1063196.366 0, 1266365.518 1063180.68 0, 1266096.767 1063165.01 0,
+ 1265828.015 1063149.356 0, 1265559.263 1063133.718 0, 1265290.509 1063118.096 0, 1265021.755 1063102.489 0, 1264751.742 1063086.825 0, 1264484.244 1063071.323 0, 1264215.487 1063055.764 0, 1263946.729 1063040.221 0, 1263677.97 1063024.694 0, 1263409.21 1063009.182 0,
+ 1263140.449 1062993.686 0, 1262871.688 1062978.206 0, 1262602.925 1062962.742 0, 1262334.162 1062947.294 0, 1262065.397 1062931.861 0, 1261796.632 1062916.444 0, 1261527.866 1062901.043 0, 1261259.099 1062885.658 0, 1260990.331 1062870.289 0, 1260721.562 1062854.935 0,
+ 1260452.792 1062839.598 0, 1260184.021 1062824.276 0, 1259915.25 1062808.97 0, 1259646.477 1062793.68 0, 1259377.704 1062778.405 0, 1259108.929 1062763.147 0, 1258840.154 1062747.904 0, 1258571.378 1062732.677 0, 1258301.342 1062717.395 0, 1257986.16 1068289.535 0,
+ 1257670.976 1073861.714 0, 1257940.353 1073876.959 0, 1258208.473 1073892.149 0, 1258476.592 1073907.355 0, 1258744.711 1073922.576 0, 1259012.828 1073937.813 0, 1259280.945 1073953.066 0, 1259549.06 1073968.335 0, 1259817.175 1073983.619 0, 1260085.289 1073998.919 0,
+ 1260353.402 1074014.235 0, 1260621.514 1074029.567 0, 1260889.625 1074044.915 0, 1261157.736 1074060.278 0, 1261425.845 1074075.657 0, 1261693.953 1074091.052 0, 1261962.061 1074106.463 0, 1262230.168 1074121.889 0, 1262498.273 1074137.331 0, 1262766.378 1074152.789 0,
+ 1263034.482 1074168.263 0, 1263302.585 1074183.753 0, 1263570.687 1074199.258 0, 1263838.788 1074214.779 0, 1264105.634 1074230.243 0, 1264374.988 1074245.869 0, 1264643.087 1074261.437 0, 1264911.184 1074277.022 0, 1265179.281 1074292.622 0, 1265447.376 1074308.237 0,
+ 1265715.471 1074323.869 0, 1265983.565 1074339.516 0, 1266251.658 1074355.18 0, 1266519.75 1074370.858 0, 1266787.841 1074386.553 0, 1267055.931 1074402.264 0, 1267324.02 1074417.99 0, 1267592.109 1074433.732 0, 1267860.196 1074449.49 0, 1268128.283 1074465.263 0,
+ 1268396.368 1074481.053 0, 1268664.453 1074496.858 0, 1268932.536 1074512.679 0, 1269200.619 1074528.516 0, 1269468.701 1074544.368 0, 1269736.782 1074560.236 0, 1270004.862 1074576.12 0, 1270272.941 1074592.02 0, 1270539.765 1074607.861 0, 1270870.69 1069036.595 0,
+ 1271201.614 1063465.367 0))
+
+POLYGON ((1283406.395 1075390.362 0, 1283139.615 1075373.767 0, 1282871.582 1075357.11 0, 1282603.548 1075340.469 0, 1282335.513 1075323.843 0, 1282067.477 1075307.233 0, 1281799.44 1075290.639 0, 1281531.402 1075274.061 0, 1281263.363 1075257.498 0, 1280995.323 1075240.952 0,
+ 1280727.282 1075224.421 0, 1280459.241 1075207.906 0, 1280191.198 1075191.406 0, 1279923.154 1075174.923 0, 1279655.109 1075158.455 0, 1279387.064 1075142.003 0, 1279119.017 1075125.566 0, 1278850.969 1075109.146 0, 1278582.921 1075092.741 0, 1278314.871 1075076.352 0,
+ 1278046.821 1075059.979 0, 1277778.769 1075043.622 0, 1277510.717 1075027.28 0, 1277242.663 1075010.954 0, 1276973.356 1074994.568 0, 1276706.554 1074978.35 0, 1276438.498 1074962.071 0, 1276170.44 1074945.809 0, 1275902.382 1074929.562 0, 1275634.323 1074913.331 0,
+ 1275366.263 1074897.115 0, 1275098.202 1074880.915 0, 1274830.14 1074864.732 0, 1274562.077 1074848.564 0, 1274294.013 1074832.411 0, 1274025.948 1074816.275 0, 1273757.882 1074800.154 0, 1273489.816 1074784.049 0, 1273221.748 1074767.96 0, 1272953.679 1074751.887 0,
+ 1272685.61 1074735.829 0, 1272417.539 1074719.787 0, 1272149.468 1074703.761 0, 1271881.395 1074687.751 0, 1271613.322 1074671.756 0, 1271345.247 1074655.777 0, 1271077.172 1074639.815 0, 1270809.096 1074623.867 0, 1270539.765 1074607.861 0, 1270208.838 1080179.164 0,
+ 1269877.908 1085750.497 0, 1270146.58 1085766.463 0, 1270414.001 1085782.372 0, 1270681.42 1085798.295 0, 1270948.838 1085814.235 0, 1271216.256 1085830.19 0, 1271483.673 1085846.162 0, 1271751.088 1085862.148 0, 1272018.503 1085878.151 0, 1272285.917 1085894.169 0,
+ 1272553.33 1085910.203 0, 1272820.742 1085926.253 0, 1273088.152 1085942.319 0, 1273355.562 1085958.4 0, 1273622.972 1085974.497 0, 1273890.38 1085990.61 0, 1274157.787 1086006.738 0, 1274425.193 1086022.883 0, 1274692.598 1086039.043 0, 1274960.003 1086055.218 0,
+ 1275227.406 1086071.41 0, 1275494.808 1086087.617 0, 1275762.21 1086103.84 0, 1276029.61 1086120.079 0, 1276295.76 1086136.257 0, 1276564.408 1086152.603 0, 1276831.806 1086168.889 0, 1277099.203 1086185.191 0, 1277366.598 1086201.508 0, 1277633.993 1086217.841 0,
+ 1277901.387 1086234.19 0, 1278168.78 1086250.555 0, 1278436.172 1086266.935 0, 1278703.562 1086283.331 0, 1278970.952 1086299.743 0, 1279238.341 1086316.171 0, 1279505.729 1086332.614 0, 1279773.116 1086349.073 0, 1280040.502 1086365.548 0, 1280307.887 1086382.038 0,
+ 1280575.272 1086398.544 0, 1280842.655 1086415.066 0, 1281110.037 1086431.604 0, 1281377.418 1086448.157 0, 1281644.798 1086464.727 0, 1281912.178 1086481.312 0, 1282179.556 1086497.912 0, 1282446.933 1086514.529 0, 1282713.061 1086531.083 0, 1283059.729 1080960.707 0,
+ 1283406.395 1075390.362 0))
+
+POLYGON ((1295545.957 1087347.928 0, 1295279.875 1087330.622 0, 1295012.546 1087313.25 0, 1294745.216 1087295.894 0, 1294477.884 1087278.554 0, 1294210.552 1087261.229 0, 1293943.219 1087243.92 0, 1293675.884 1087226.627 0, 1293408.549 1087209.35 0, 1293141.212 1087192.088 0,
+ 1292873.875 1087174.843 0, 1292606.536 1087157.612 0, 1292339.197 1087140.398 0, 1292071.857 1087123.199 0, 1291804.515 1087106.017 0, 1291537.173 1087088.849 0, 1291269.829 1087071.698 0, 1291002.485 1087054.562 0, 1290735.139 1087037.442 0, 1290467.793 1087020.338 0,
+ 1290200.445 1087003.25 0, 1289933.096 1086986.177 0, 1289665.747 1086969.12 0, 1289398.396 1086952.079 0, 1289129.798 1086934.974 0, 1288863.692 1086918.043 0, 1288596.339 1086901.049 0, 1288328.984 1086884.071 0, 1288061.629 1086867.108 0, 1287794.272 1086850.161 0,
+ 1287526.915 1086833.23 0, 1287259.556 1086816.315 0, 1286992.197 1086799.415 0, 1286724.836 1086782.531 0, 1286457.474 1086765.663 0, 1286190.112 1086748.811 0, 1285922.748 1086731.974 0, 1285655.384 1086715.153 0, 1285388.018 1086698.348 0, 1285120.652 1086681.558 0,
+ 1284853.285 1086664.784 0, 1284585.916 1086648.026 0, 1284318.547 1086631.284 0, 1284051.176 1086614.557 0, 1283783.805 1086597.847 0, 1283516.432 1086581.152 0, 1283249.059 1086564.472 0, 1282981.685 1086547.809 0, 1282713.061 1086531.083 0, 1282366.391 1092101.486 0,
+ 1282019.72 1097671.91 0, 1282287.685 1097688.595 0, 1282554.404 1097705.218 0, 1282821.121 1097721.856 0, 1283087.838 1097738.51 0, 1283354.554 1097755.18 0, 1283621.268 1097771.866 0, 1283887.982 1097788.567 0, 1284154.695 1097805.284 0, 1284421.407 1097822.017 0,
+ 1284688.117 1097838.765 0, 1284954.827 1097855.529 0, 1285221.536 1097872.309 0, 1285488.244 1097889.104 0, 1285754.951 1097905.915 0, 1286021.656 1097922.742 0, 1286288.361 1097939.584 0, 1286555.065 1097956.443 0, 1286821.768 1097973.317 0, 1287088.47 1097990.206 0,
+ 1287355.171 1098007.112 0, 1287621.871 1098024.033 0, 1287888.569 1098040.969 0, 1288155.267 1098057.922 0, 1288420.72 1098074.811 0, 1288688.66 1098091.873 0, 1288955.355 1098108.873 0, 1289222.049 1098125.888 0, 1289488.742 1098142.919 0, 1289755.434 1098159.966 0,
+ 1290022.124 1098177.028 0, 1290288.814 1098194.106 0, 1290555.503 1098211.2 0, 1290822.191 1098228.309 0, 1291088.878 1098245.434 0, 1291355.564 1098262.575 0, 1291622.249 1098279.731 0, 1291888.932 1098296.903 0, 1292155.615 1098314.091 0, 1292422.297 1098331.295 0,
+ 1292688.978 1098348.514 0, 1292955.658 1098365.749 0, 1293222.336 1098383 0, 1293489.014 1098400.266 0, 1293755.691 1098417.548 0, 1294022.366 1098434.846 0, 1294289.041 1098452.159 0, 1294555.715 1098469.488 0, 1294821.144 1098486.752 0, 1295183.551 1092917.329 0,
+ 1295545.957 1087347.928 0))
+
+POLYGON ((1307620.215 1099337.757 0, 1307354.834 1099319.743 0, 1307088.21 1099301.661 0, 1306821.585 1099283.594 0, 1306554.959 1099265.543 0, 1306288.333 1099247.507 0, 1306021.705 1099229.488 0, 1305755.076 1099211.484 0, 1305488.446 1099193.495 0, 1305221.815 1099175.523 0,
+ 1304955.183 1099157.566 0, 1304688.549 1099139.625 0, 1304421.915 1099121.699 0, 1304155.28 1099103.789 0, 1303888.643 1099085.895 0, 1303622.006 1099068.017 0, 1303355.368 1099050.154 0, 1303088.728 1099032.307 0, 1302822.088 1099014.476 0, 1302555.446 1098996.66 0,
+ 1302288.803 1098978.86 0, 1302022.16 1098961.076 0, 1301755.515 1098943.307 0, 1301488.869 1098925.554 0, 1301220.98 1098907.735 0, 1300955.574 1098890.096 0, 1300688.925 1098872.39 0, 1300422.276 1098854.7 0, 1300155.625 1098837.025 0, 1299888.972 1098819.367 0,
+ 1299622.319 1098801.724 0, 1299355.665 1098784.096 0, 1299089.01 1098766.485 0, 1298822.354 1098748.889 0, 1298555.697 1098731.308 0, 1298289.038 1098713.744 0, 1298022.379 1098696.195 0, 1297755.719 1098678.662 0, 1297489.057 1098661.144 0, 1297222.395 1098643.643 0,
+ 1296955.732 1098626.157 0, 1296689.067 1098608.686 0, 1296422.402 1098591.232 0, 1296155.735 1098573.793 0, 1295889.068 1098556.369 0, 1295622.399 1098538.962 0, 1295355.73 1098521.57 0, 1295089.059 1098504.194 0, 1294821.144 1098486.752 0, 1294458.736 1104056.193 0,
+ 1294096.327 1109625.648 0, 1294363.583 1109643.047 0, 1294629.598 1109660.38 0, 1294895.612 1109677.729 0, 1295161.625 1109695.094 0, 1295427.637 1109712.474 0, 1295693.647 1109729.871 0, 1295959.657 1109747.282 0, 1296225.666 1109764.71 0, 1296491.674 1109782.153 0,
+ 1296757.681 1109799.612 0, 1297023.687 1109817.086 0, 1297289.691 1109834.576 0, 1297555.695 1109852.082 0, 1297821.698 1109869.603 0, 1298087.699 1109887.14 0, 1298353.7 1109904.693 0, 1298619.7 1109922.261 0, 1298885.698 1109939.845 0, 1299151.696 1109957.445 0,
+ 1299417.692 1109975.06 0, 1299683.688 1109992.691 0, 1299949.682 1110010.338 0, 1300215.675 1110028 0, 1300480.429 1110045.595 0, 1300747.659 1110063.371 0, 1301013.649 1110081.081 0, 1301279.638 1110098.806 0, 1301545.627 1110116.546 0, 1301811.614 1110134.302 0,
+ 1302077.6 1110152.074 0, 1302343.585 1110169.862 0, 1302609.569 1110187.665 0, 1302875.552 1110205.484 0, 1303141.533 1110223.318 0, 1303407.514 1110241.168 0, 1303673.494 1110259.034 0, 1303939.473 1110276.916 0, 1304205.45 1110294.813 0, 1304471.427 1110312.725 0,
+ 1304737.403 1110330.654 0, 1305003.377 1110348.598 0, 1305269.351 1110366.558 0, 1305535.323 1110384.533 0, 1305801.294 1110402.524 0, 1306067.265 1110420.531 0, 1306333.234 1110438.553 0, 1306599.202 1110456.591 0, 1306863.931 1110474.561 0, 1307242.074 1104906.152 0,
+ 1307620.215 1099337.757 0))
+
+POLYGON ((1319629.086 1111359.541 0, 1319364.407 1111340.823 0, 1319098.491 1111322.034 0, 1318832.573 1111303.26 0, 1318566.655 1111284.502 0, 1318300.736 1111265.76 0, 1318034.815 1111247.033 0, 1317768.894 1111228.322 0, 1317502.971 1111209.626 0, 1317237.047 1111190.947 0,
+ 1316971.122 1111172.282 0, 1316705.196 1111153.634 0, 1316439.269 1111135.001 0, 1316173.341 1111116.384 0, 1315907.411 1111097.782 0, 1315641.481 1111079.197 0, 1315375.549 1111060.626 0, 1315109.617 1111042.072 0, 1314843.683 1111023.533 0, 1314577.748 1111005.01 0,
+ 1314311.812 1110986.502 0, 1314045.875 1110968.01 0, 1313779.937 1110949.534 0, 1313513.998 1110931.073 0, 1313246.821 1110912.543 0, 1312982.117 1110894.199 0, 1312716.174 1110875.785 0, 1312450.231 1110857.387 0, 1312184.286 1110839.005 0, 1311918.341 1110820.638 0,
+ 1311652.394 1110802.287 0, 1311386.446 1110783.952 0, 1311120.497 1110765.632 0, 1310854.547 1110747.328 0, 1310588.596 1110729.039 0, 1310322.644 1110710.767 0, 1310056.691 1110692.509 0, 1309790.737 1110674.268 0, 1309524.781 1110656.042 0, 1309258.825 1110637.832 0,
+ 1308992.867 1110619.637 0, 1308726.909 1110601.458 0, 1308460.949 1110583.295 0, 1308194.988 1110565.148 0, 1307929.027 1110547.016 0, 1307663.064 1110528.899 0, 1307397.1 1110510.799 0, 1307131.135 1110492.714 0, 1306863.931 1110474.561 0, 1306485.788 1116042.978 0,
+ 1306107.645 1121611.401 0, 1306374.19 1121629.51 0, 1306639.499 1121647.55 0, 1306904.808 1121665.606 0, 1307170.115 1121683.678 0, 1307435.421 1121701.765 0, 1307700.727 1121719.868 0, 1307966.031 1121737.986 0, 1308231.334 1121756.12 0, 1308496.636 1121774.27 0,
+ 1308761.937 1121792.435 0, 1309027.237 1121810.616 0, 1309292.535 1121828.813 0, 1309557.833 1121847.025 0, 1309823.13 1121865.253 0, 1310088.425 1121883.496 0, 1310353.72 1121901.755 0, 1310619.013 1121920.03 0, 1310884.306 1121938.32 0, 1311149.597 1121956.626 0,
+ 1311414.887 1121974.947 0, 1311680.176 1121993.284 0, 1311945.464 1122011.637 0, 1312210.751 1122030.005 0, 1312474.804 1122048.304 0, 1312741.322 1122066.789 0, 1313006.606 1122085.204 0, 1313271.888 1122103.634 0, 1313537.17 1122122.081 0, 1313802.45 1122140.543 0,
+ 1314067.73 1122159.02 0, 1314333.008 1122177.514 0, 1314598.285 1122196.022 0, 1314863.561 1122214.547 0, 1315128.836 1122233.087 0, 1315394.11 1122251.643 0, 1315659.383 1122270.214 0, 1315924.655 1122288.801 0, 1316189.926 1122307.403 0, 1316455.195 1122326.021 0,
+ 1316720.464 1122344.655 0, 1316985.731 1122363.304 0, 1317250.997 1122381.969 0, 1317516.262 1122400.65 0, 1317781.526 1122419.346 0, 1318046.789 1122438.058 0, 1318312.051 1122456.785 0, 1318577.312 1122475.528 0, 1318841.339 1122494.2 0, 1319235.213 1116926.868 0,
+ 1319629.086 1111359.541 0))
+
+POLYGON ((1331572.489 1123412.97 0, 1331308.514 1123393.553 0, 1331043.307 1123374.06 0, 1330778.099 1123354.584 0, 1330512.89 1123335.122 0, 1330247.68 1123315.677 0, 1329982.468 1123296.247 0, 1329717.256 1123276.833 0, 1329452.042 1123257.434 0, 1329186.827 1123238.051 0,
+ 1328921.612 1123218.683 0, 1328656.395 1123199.332 0, 1328391.176 1123179.995 0, 1328125.957 1123160.675 0, 1327860.737 1123141.37 0, 1327595.515 1123122.08 0, 1327330.292 1123102.806 0, 1327065.068 1123083.548 0, 1326799.843 1123064.306 0, 1326534.617 1123045.079 0,
+ 1326269.39 1123025.867 0, 1326004.162 1123006.671 0, 1325738.932 1122987.491 0, 1325473.702 1122968.327 0, 1325207.238 1122949.089 0, 1324943.237 1122930.045 0, 1324678.003 1122910.927 0, 1324412.768 1122891.825 0, 1324147.532 1122872.738 0, 1323882.294 1122853.667 0,
+ 1323617.056 1122834.612 0, 1323351.816 1122815.572 0, 1323086.575 1122796.548 0, 1322821.333 1122777.54 0, 1322556.09 1122758.547 0, 1322290.846 1122739.57 0, 1322025.601 1122720.608 0, 1321760.355 1122701.662 0, 1321495.107 1122682.732 0, 1321229.859 1122663.817 0,
+ 1320964.609 1122644.918 0, 1320699.358 1122626.035 0, 1320434.106 1122607.167 0, 1320168.853 1122588.314 0, 1319903.599 1122569.478 0, 1319638.344 1122550.657 0, 1319373.088 1122531.851 0, 1319107.83 1122513.061 0, 1318841.339 1122494.2 0, 1318447.465 1128061.532 0,
+ 1318053.592 1133628.861 0, 1318319.425 1133647.675 0, 1318584.027 1133666.419 0, 1318848.628 1133685.178 0, 1319113.227 1133703.952 0, 1319377.826 1133722.743 0, 1319642.424 1133741.548 0, 1319907.02 1133760.37 0, 1320171.616 1133779.206 0, 1320436.21 1133798.059 0,
+ 1320700.803 1133816.927 0, 1320965.396 1133835.811 0, 1321229.987 1133854.71 0, 1321494.576 1133873.624 0, 1321759.165 1133892.555 0, 1322023.753 1133911.501 0, 1322288.339 1133930.462 0, 1322552.925 1133949.439 0, 1322817.509 1133968.432 0, 1323082.092 1133987.44 0,
+ 1323346.674 1134006.464 0, 1323611.255 1134025.503 0, 1323875.835 1134044.558 0, 1324140.414 1134063.628 0, 1324403.763 1134082.626 0, 1324669.568 1134101.816 0, 1324934.143 1134120.933 0, 1325198.718 1134140.066 0, 1325463.291 1134159.214 0, 1325727.863 1134178.378 0,
+ 1325992.433 1134197.558 0, 1326257.003 1134216.753 0, 1326521.572 1134235.963 0, 1326786.139 1134255.19 0, 1327050.706 1134274.431 0, 1327315.271 1134293.689 0, 1327579.835 1134312.962 0, 1327844.398 1134332.25 0, 1328108.959 1134351.554 0, 1328373.52 1134370.874 0,
+ 1328638.08 1134390.209 0, 1328902.638 1134409.56 0, 1329167.195 1134428.926 0, 1329431.751 1134448.308 0, 1329696.306 1134467.706 0, 1329960.86 1134487.119 0, 1330225.413 1134506.547 0, 1330489.964 1134525.991 0, 1330753.287 1134545.361 0, 1331162.888 1128979.168 0,
+ 1331572.489 1123412.97 0))
+
+POLYGON ((1343450.343 1135497.737 0, 1343187.073 1135477.623 0, 1342922.578 1135457.432 0, 1342658.081 1135437.256 0, 1342393.583 1135417.095 0, 1342129.084 1135396.95 0, 1341864.584 1135376.821 0, 1341600.082 1135356.707 0, 1341335.58 1135336.609 0, 1341071.076 1135316.527 0,
+ 1340806.571 1135296.46 0, 1340542.065 1135276.408 0, 1340277.557 1135256.373 0, 1340013.049 1135236.352 0, 1339748.539 1135216.348 0, 1339484.028 1135196.358 0, 1339219.516 1135176.385 0, 1338955.003 1135156.427 0, 1338690.489 1135136.484 0, 1338425.973 1135116.558 0,
+ 1338161.456 1135096.646 0, 1337896.938 1135076.75 0, 1337632.419 1135056.87 0, 1337367.899 1135037.006 0, 1337102.151 1135017.065 0, 1336838.855 1134997.323 0, 1336574.331 1134977.505 0, 1336309.806 1134957.703 0, 1336045.28 1134937.916 0, 1335780.753 1134918.145 0,
+ 1335516.224 1134898.39 0, 1335251.695 1134878.65 0, 1334987.164 1134858.925 0, 1334722.632 1134839.216 0, 1334458.099 1134819.523 0, 1334193.565 1134799.845 0, 1333929.029 1134780.183 0, 1333664.493 1134760.536 0, 1333399.955 1134740.905 0, 1333135.416 1134721.29 0,
+ 1332870.876 1134701.69 0, 1332606.335 1134682.106 0, 1332341.793 1134662.537 0, 1332077.249 1134642.984 0, 1331812.705 1134623.446 0, 1331548.159 1134603.924 0, 1331283.612 1134584.417 0, 1331019.064 1134564.927 0, 1330753.287 1134545.361 0, 1330343.687 1140111.546 0,
+ 1329934.088 1145677.717 0, 1330199.206 1145697.235 0, 1330463.099 1145716.677 0, 1330726.991 1145736.135 0, 1330990.882 1145755.609 0, 1331254.771 1145775.098 0, 1331518.659 1145794.603 0, 1331782.546 1145814.123 0, 1332046.432 1145833.659 0, 1332310.317 1145853.211 0,
+ 1332574.201 1145872.777 0, 1332838.083 1145892.36 0, 1333101.965 1145911.958 0, 1333365.845 1145931.571 0, 1333629.724 1145951.2 0, 1333893.602 1145970.845 0, 1334157.479 1145990.505 0, 1334421.354 1146010.181 0, 1334685.229 1146029.872 0, 1334949.102 1146049.578 0,
+ 1335212.974 1146069.301 0, 1335476.845 1146089.038 0, 1335740.715 1146108.792 0, 1336004.583 1146128.56 0, 1336267.228 1146148.253 0, 1336532.317 1146168.145 0, 1336796.182 1146187.96 0, 1337060.046 1146207.791 0, 1337323.909 1146227.637 0, 1337587.77 1146247.499 0,
+ 1337851.631 1146267.377 0, 1338115.49 1146287.27 0, 1338379.348 1146307.178 0, 1338643.205 1146327.103 0, 1338907.061 1146347.042 0, 1339170.916 1146366.997 0, 1339434.769 1146386.968 0, 1339698.621 1146406.954 0, 1339962.472 1146426.956 0, 1340226.322 1146446.973 0,
+ 1340490.171 1146467.006 0, 1340754.018 1146487.054 0, 1341017.865 1146507.118 0, 1341281.71 1146527.198 0, 1341545.554 1146547.293 0, 1341809.397 1146567.403 0, 1342073.238 1146587.529 0, 1342337.079 1146607.671 0, 1342599.696 1146627.734 0, 1343025.019 1141062.742 0,
+ 1343450.343 1135497.737 0))
+
+POLYGON ((1355262.569 1147613.53 0, 1355000.008 1147592.724 0, 1354736.225 1147571.837 0, 1354472.442 1147550.966 0, 1354208.657 1147530.11 0, 1353944.87 1147509.27 0, 1353681.083 1147488.445 0, 1353417.294 1147467.636 0, 1353153.505 1147446.842 0, 1352889.714 1147426.064 0,
+ 1352625.921 1147405.302 0, 1352362.128 1147384.555 0, 1352098.333 1147363.823 0, 1351834.537 1147343.107 0, 1351570.74 1147322.406 0, 1351306.942 1147301.721 0, 1351043.142 1147281.052 0, 1350779.341 1147260.398 0, 1350515.539 1147239.76 0, 1350251.736 1147219.137 0,
+ 1349987.932 1147198.529 0, 1349724.126 1147177.938 0, 1349460.319 1147157.361 0, 1349196.511 1147136.801 0, 1348931.481 1147116.16 0, 1348668.891 1147095.726 0, 1348405.079 1147075.211 0, 1348141.266 1147054.713 0, 1347877.452 1147034.23 0, 1347613.637 1147013.762 0,
+ 1347349.82 1146993.31 0, 1347086.003 1146972.873 0, 1346822.184 1146952.452 0, 1346558.364 1146932.047 0, 1346294.542 1146911.657 0, 1346030.72 1146891.282 0, 1345766.896 1146870.923 0, 1345503.071 1146850.58 0, 1345239.245 1146830.252 0, 1344975.418 1146809.94 0,
+ 1344711.589 1146789.643 0, 1344447.759 1146769.362 0, 1344183.928 1146749.096 0, 1343920.096 1146728.846 0, 1343656.263 1146708.611 0, 1343392.429 1146688.392 0, 1343128.593 1146668.188 0, 1342864.756 1146648 0, 1342599.696 1146627.734 0, 1342174.375 1152192.709 0,
+ 1341749.055 1157757.662 0, 1342013.457 1157777.878 0, 1342276.638 1157798.016 0, 1342539.819 1157818.169 0, 1342802.998 1157838.338 0, 1343066.177 1157858.522 0, 1343329.354 1157878.722 0, 1343592.529 1157898.938 0, 1343855.704 1157919.169 0, 1344118.878 1157939.415 0,
+ 1344382.05 1157959.677 0, 1344645.221 1157979.954 0, 1344908.391 1158000.247 0, 1345171.56 1158020.556 0, 1345434.727 1158040.88 0, 1345697.893 1158061.219 0, 1345961.058 1158081.574 0, 1346224.222 1158101.944 0, 1346487.385 1158122.33 0, 1346750.547 1158142.731 0,
+ 1347013.707 1158163.148 0, 1347276.866 1158183.58 0, 1347540.024 1158204.028 0, 1347803.181 1158224.491 0, 1348065.118 1158244.875 0, 1348329.49 1158265.464 0, 1348592.643 1158285.974 0, 1348855.795 1158306.499 0, 1349118.946 1158327.04 0, 1349382.095 1158347.596 0,
+ 1349645.244 1158368.168 0, 1349908.391 1158388.755 0, 1350171.536 1158409.358 0, 1350434.681 1158429.976 0, 1350697.824 1158450.609 0, 1350960.967 1158471.259 0, 1351224.108 1158491.923 0, 1351487.247 1158512.603 0, 1351750.386 1158533.299 0, 1352013.523 1158554.01 0,
+ 1352276.659 1158574.736 0, 1352539.794 1158595.479 0, 1352802.928 1158616.236 0, 1353066.06 1158637.009 0, 1353329.191 1158657.798 0, 1353592.321 1158678.602 0, 1353855.45 1158699.421 0, 1354118.578 1158720.256 0, 1354380.487 1158741.01 0, 1354821.528 1153177.281 0,
+ 1355262.569 1147613.53 0))
+
+POLYGON ((1367009.092 1159760.04 0, 1366747.239 1159738.546 0, 1366484.172 1159716.968 0, 1366221.103 1159695.405 0, 1365958.033 1159673.858 0, 1365694.961 1159652.326 0, 1365431.889 1159630.81 0, 1365168.815 1159609.309 0, 1364905.739 1159587.823 0, 1364642.663 1159566.354 0,
+ 1364379.585 1159544.899 0, 1364116.506 1159523.46 0, 1363853.426 1159502.037 0, 1363590.344 1159480.629 0, 1363327.262 1159459.236 0, 1363064.178 1159437.859 0, 1362801.092 1159416.498 0, 1362538.006 1159395.152 0, 1362274.918 1159373.821 0, 1362011.829 1159352.506 0,
+ 1361748.739 1159331.207 0, 1361485.647 1159309.923 0, 1361222.554 1159288.654 0, 1360959.46 1159267.401 0, 1360695.149 1159246.065 0, 1360433.268 1159224.941 0, 1360170.17 1159203.735 0, 1359907.071 1159182.544 0, 1359643.971 1159161.368 0, 1359380.869 1159140.208 0,
+ 1359117.766 1159119.063 0, 1358854.662 1159097.934 0, 1358591.557 1159076.82 0, 1358328.451 1159055.722 0, 1358065.343 1159034.639 0, 1357802.234 1159013.572 0, 1357539.123 1158992.52 0, 1357276.012 1158971.484 0, 1357012.899 1158950.463 0, 1356749.785 1158929.458 0,
+ 1356486.67 1158908.468 0, 1356223.554 1158887.493 0, 1355960.436 1158866.534 0, 1355697.317 1158845.591 0, 1355434.197 1158824.663 0, 1355171.075 1158803.751 0, 1354907.953 1158782.854 0, 1354644.829 1158761.972 0, 1354380.487 1158741.01 0, 1353939.449 1164304.713 0,
+ 1353498.414 1169868.384 0, 1353762.097 1169889.294 0, 1354024.566 1169910.124 0, 1354287.034 1169930.969 0, 1354549.5 1169951.829 0, 1354811.966 1169972.705 0, 1355074.43 1169993.596 0, 1355336.892 1170014.503 0, 1355599.354 1170035.425 0, 1355861.814 1170056.362 0,
+ 1356124.273 1170077.316 0, 1356386.731 1170098.284 0, 1356649.188 1170119.268 0, 1356911.643 1170140.267 0, 1357174.097 1170161.282 0, 1357436.55 1170182.312 0, 1357699.002 1170203.358 0, 1357961.452 1170224.419 0, 1358223.902 1170245.496 0, 1358486.349 1170266.588 0,
+ 1358748.796 1170287.696 0, 1359011.242 1170308.819 0, 1359273.686 1170329.957 0, 1359536.129 1170351.111 0, 1359797.358 1170372.182 0, 1360061.011 1170393.465 0, 1360323.45 1170414.665 0, 1360585.888 1170435.881 0, 1360848.325 1170457.112 0, 1361110.76 1170478.358 0,
+ 1361373.195 1170499.62 0, 1361635.628 1170520.898 0, 1361898.059 1170542.191 0, 1362160.49 1170563.499 0, 1362422.919 1170584.823 0, 1362685.347 1170606.162 0, 1362947.774 1170627.517 0, 1363210.199 1170648.887 0, 1363472.623 1170670.272 0, 1363735.046 1170691.673 0,
+ 1363997.468 1170713.09 0, 1364259.888 1170734.522 0, 1364522.307 1170755.969 0, 1364784.725 1170777.432 0, 1365047.142 1170798.91 0, 1365309.557 1170820.404 0, 1365571.971 1170841.913 0, 1365834.384 1170863.437 0, 1366095.585 1170884.878 0, 1366552.337 1165322.475 0,
+ 1367009.092 1159760.04 0))
+
+POLYGON ((1378689.833 1171936.957 0, 1378428.693 1171914.778 0, 1378166.342 1171892.512 0, 1377903.989 1171870.262 0, 1377641.636 1171848.027 0, 1377379.281 1171825.808 0, 1377116.925 1171803.604 0, 1376854.567 1171781.415 0, 1376592.208 1171759.242 0, 1376329.848 1171737.084 0,
+ 1376067.487 1171714.942 0, 1375805.124 1171692.815 0, 1375542.76 1171670.703 0, 1375280.395 1171648.607 0, 1375018.028 1171626.527 0, 1374755.66 1171604.462 0, 1374493.291 1171582.412 0, 1374230.92 1171560.378 0, 1373968.549 1171538.359 0, 1373706.175 1171516.356 0,
+ 1373443.801 1171494.368 0, 1373181.425 1171472.395 0, 1372919.048 1171450.438 0, 1372656.67 1171428.497 0, 1372393.08 1171406.47 0, 1372131.91 1171384.66 0, 1371869.527 1171362.765 0, 1371607.144 1171340.885 0, 1371344.759 1171319.021 0, 1371082.373 1171297.172 0,
+ 1370819.986 1171275.338 0, 1370557.597 1171253.52 0, 1370295.208 1171231.718 0, 1370032.816 1171209.931 0, 1369770.424 1171188.159 0, 1369508.03 1171166.403 0, 1369245.635 1171144.662 0, 1368983.239 1171122.937 0, 1368720.841 1171101.227 0, 1368458.443 1171079.532 0,
+ 1368196.042 1171057.853 0, 1367933.641 1171036.19 0, 1367671.238 1171014.542 0, 1367408.835 1170992.909 0, 1367146.429 1170971.292 0, 1366884.023 1170949.69 0, 1366621.615 1170928.104 0, 1366359.206 1170906.533 0, 1366095.585 1170884.878 0, 1365638.835 1176447.246 0,
+ 1365182.089 1182009.573 0, 1365445.053 1182031.174 0, 1365706.807 1182052.691 0, 1365968.56 1182074.223 0, 1366230.312 1182095.771 0, 1366492.062 1182117.335 0, 1366753.812 1182138.913 0, 1367015.559 1182160.507 0, 1367277.306 1182182.117 0, 1367539.051 1182203.742 0,
+ 1367800.796 1182225.382 0, 1368062.538 1182247.038 0, 1368324.28 1182268.709 0, 1368586.02 1182290.396 0, 1368847.759 1182312.098 0, 1369109.497 1182333.815 0, 1369371.233 1182355.548 0, 1369632.968 1182377.296 0, 1369894.702 1182399.059 0, 1370156.435 1182420.838 0,
+ 1370418.166 1182442.633 0, 1370679.896 1182464.442 0, 1370941.625 1182486.268 0, 1371203.352 1182508.108 0, 1371463.871 1182529.863 0, 1371726.803 1182551.836 0, 1371988.527 1182573.722 0, 1372250.249 1182595.625 0, 1372511.97 1182617.542 0, 1372773.69 1182639.475 0,
+ 1373035.408 1182661.424 0, 1373297.126 1182683.388 0, 1373558.841 1182705.367 0, 1373820.556 1182727.361 0, 1374082.269 1182749.371 0, 1374343.981 1182771.397 0, 1374605.692 1182793.438 0, 1374867.401 1182815.494 0, 1375129.109 1182837.566 0, 1375390.816 1182859.653 0,
+ 1375652.521 1182881.755 0, 1375914.226 1182903.873 0, 1376175.929 1182926.006 0, 1376437.63 1182948.155 0, 1376699.33 1182970.319 0, 1376961.029 1182992.498 0, 1377222.727 1183014.693 0, 1377484.423 1183036.904 0, 1377744.912 1183059.027 0, 1378217.371 1177498.012 0,
+ 1378689.833 1171936.957 0))
+
+POLYGON ((861344.927 722740.235 0, 861057.559 722748.364 0, 860768.772 722756.551 0, 860479.986 722764.754 0, 860191.199 722772.974 0, 859902.414 722781.212 0, 859613.629 722789.466 0, 859324.844 722797.737 0, 859036.06 722806.026 0, 858747.276 722814.331 0,
+ 858458.493 722822.654 0, 858169.71 722830.993 0, 857880.928 722839.349 0, 857592.146 722847.723 0, 857303.365 722856.113 0, 857014.584 722864.52 0, 856725.804 722872.945 0, 856437.024 722881.386 0, 856148.245 722889.844 0, 855859.466 722898.32 0,
+ 855570.688 722906.812 0, 855281.91 722915.321 0, 854993.133 722923.848 0, 854704.356 722932.391 0, 854414.159 722940.993 0, 854126.804 722949.529 0, 853838.029 722958.123 0, 853549.254 722966.734 0, 853260.48 722975.362 0, 852971.706 722984.008 0,
+ 852682.933 722992.67 0, 852394.16 723001.349 0, 852105.388 723010.046 0, 851816.616 723018.759 0, 851527.845 723027.489 0, 851239.074 723036.236 0, 850950.304 723045.001 0, 850661.534 723053.782 0, 850372.765 723062.58 0, 850083.997 723071.395 0,
+ 849795.229 723080.228 0, 849506.461 723089.077 0, 849217.694 723097.943 0, 848928.927 723106.826 0, 848640.161 723115.727 0, 848351.396 723124.644 0, 848062.631 723133.578 0, 847773.867 723142.529 0, 847483.681 723151.542 0, 847656.794 728720.205 0,
+ 847829.916 734289.139 0, 848119.443 734280.147 0, 848407.552 734271.216 0, 848695.661 734262.302 0, 848983.771 734253.405 0, 849271.882 734244.525 0, 849559.992 734235.662 0, 849848.104 734226.816 0, 850136.216 734217.987 0, 850424.329 734209.175 0,
+ 850712.442 734200.379 0, 851000.555 734191.601 0, 851288.669 734182.84 0, 851576.784 734174.095 0, 851864.899 734165.368 0, 852153.015 734156.657 0, 852441.131 734147.964 0, 852729.247 734139.287 0, 853017.365 734130.628 0, 853305.482 734121.985 0,
+ 853593.6 734113.36 0, 853881.719 734104.751 0, 854169.838 734096.159 0, 854457.958 734087.584 0, 854744.661 734079.069 0, 855034.199 734070.486 0, 855322.32 734061.962 0, 855610.442 734053.455 0, 855898.564 734044.965 0, 856186.687 734036.492 0,
+ 856474.81 734028.036 0, 856762.934 734019.596 0, 857051.058 734011.174 0, 857339.182 734002.769 0, 857627.308 733994.381 0, 857915.433 733986.009 0, 858203.559 733977.655 0, 858491.686 733969.318 0, 858779.813 733960.997 0, 859067.941 733952.694 0,
+ 859356.069 733944.407 0, 859644.198 733936.138 0, 859932.327 733927.885 0, 860220.456 733919.65 0, 860508.586 733911.431 0, 860796.717 733903.229 0, 861084.848 733895.045 0, 861372.98 733886.877 0, 861659.695 733878.766 0, 861502.308 728309.365 0,
+ 861344.927 722740.235 0))
+
+POLYGON ((875490.579 733507.466 0, 875203.839 733514.767 0, 874915.685 733522.121 0, 874627.532 733529.491 0, 874339.38 733536.879 0, 874051.228 733544.284 0, 873763.076 733551.705 0, 873474.925 733559.144 0, 873186.774 733566.599 0, 872898.624 733574.072 0,
+ 872610.474 733581.561 0, 872322.324 733589.067 0, 872034.175 733596.591 0, 871746.026 733604.131 0, 871457.878 733611.688 0, 871169.73 733619.263 0, 870881.583 733626.854 0, 870593.436 733634.462 0, 870305.29 733642.087 0, 870017.144 733649.729 0,
+ 869728.999 733657.388 0, 869440.853 733665.064 0, 869152.709 733672.757 0, 868864.565 733680.467 0, 868575.006 733688.232 0, 868288.278 733695.937 0, 868000.135 733703.698 0, 867711.993 733711.476 0, 867423.851 733719.271 0, 867135.71 733727.082 0,
+ 866847.569 733734.911 0, 866559.428 733742.757 0, 866271.288 733750.619 0, 865983.149 733758.499 0, 865695.009 733766.395 0, 865406.871 733774.308 0, 865118.733 733782.239 0, 864830.595 733790.186 0, 864542.458 733798.15 0, 864254.321 733806.132 0,
+ 863966.185 733814.13 0, 863678.049 733822.145 0, 863389.914 733830.177 0, 863101.779 733838.226 0, 862813.644 733846.292 0, 862525.51 733854.375 0, 862237.377 733862.475 0, 861949.244 733870.592 0, 861659.695 733878.766 0, 861817.091 739448.435 0,
+ 861974.493 745018.369 0, 862263.383 745010.213 0, 862550.861 745002.115 0, 862838.338 744994.033 0, 863125.817 744985.969 0, 863413.295 744977.921 0, 863700.775 744969.89 0, 863988.254 744961.876 0, 864275.734 744953.879 0, 864563.215 744945.899 0,
+ 864850.696 744937.936 0, 865138.178 744929.99 0, 865425.66 744922.061 0, 865713.142 744914.149 0, 866000.625 744906.253 0, 866288.109 744898.375 0, 866575.592 744890.513 0, 866863.077 744882.669 0, 867150.562 744874.841 0, 867438.047 744867.03 0,
+ 867725.533 744859.236 0, 868013.019 744851.459 0, 868300.505 744843.699 0, 868587.992 744835.956 0, 868874.068 744828.268 0, 869162.968 744820.521 0, 869450.456 744812.828 0, 869737.945 744805.153 0, 870025.435 744797.494 0, 870312.925 744789.853 0,
+ 870600.415 744782.228 0, 870887.905 744774.62 0, 871175.397 744767.03 0, 871462.888 744759.456 0, 871750.38 744751.899 0, 872037.873 744744.359 0, 872325.366 744736.836 0, 872612.859 744729.329 0, 872900.353 744721.84 0, 873187.847 744714.368 0,
+ 873475.342 744706.912 0, 873762.837 744699.474 0, 874050.333 744692.052 0, 874337.829 744684.647 0, 874625.325 744677.26 0, 874912.822 744669.889 0, 875200.319 744662.535 0, 875487.817 744655.198 0, 875773.904 744647.914 0, 875632.238 739077.558 0,
+ 875490.579 733507.466 0))
+
+POLYGON ((889574.306 744316.446 0, 889288.197 744322.922 0, 889000.68 744329.447 0, 888713.163 744335.988 0, 888425.647 744342.547 0, 888138.131 744349.123 0, 887850.615 744355.715 0, 887563.099 744362.324 0, 887275.584 744368.951 0, 886988.07 744375.594 0,
+ 886700.556 744382.254 0, 886413.042 744388.931 0, 886125.528 744395.625 0, 885838.015 744402.336 0, 885550.503 744409.064 0, 885262.99 744415.808 0, 884975.478 744422.57 0, 884687.967 744429.349 0, 884400.456 744436.144 0, 884112.945 744442.956 0,
+ 883825.435 744449.786 0, 883537.925 744456.632 0, 883250.416 744463.495 0, 882962.907 744470.375 0, 882673.988 744477.306 0, 882387.89 744484.186 0, 882100.382 744491.117 0, 881812.875 744498.065 0, 881525.368 744505.03 0, 881237.861 744512.011 0,
+ 880950.355 744519.01 0, 880662.849 744526.025 0, 880375.344 744533.058 0, 880087.839 744540.107 0, 879800.334 744547.173 0, 879512.83 744554.257 0, 879225.326 744561.357 0, 878937.823 744568.474 0, 878650.32 744575.608 0, 878362.818 744582.759 0,
+ 878075.316 744589.926 0, 877787.814 744597.111 0, 877500.313 744604.313 0, 877212.812 744611.531 0, 876925.312 744618.767 0, 876637.812 744626.019 0, 876350.313 744633.288 0, 876062.814 744640.575 0, 875773.904 744647.914 0, 875915.577 750218.531 0,
+ 876057.256 755789.405 0, 876345.507 755782.083 0, 876632.35 755774.813 0, 876919.194 755767.56 0, 877206.038 755760.324 0, 877492.882 755753.105 0, 877779.727 755745.903 0, 878066.573 755738.718 0, 878353.419 755731.55 0, 878640.265 755724.398 0,
+ 878927.111 755717.264 0, 879213.959 755710.146 0, 879500.806 755703.045 0, 879787.654 755695.962 0, 880074.502 755688.895 0, 880361.351 755681.844 0, 880648.2 755674.811 0, 880935.05 755667.795 0, 881221.9 755660.795 0, 881508.75 755653.813 0,
+ 881795.601 755646.847 0, 882082.452 755639.898 0, 882369.304 755632.966 0, 882656.156 755626.051 0, 882941.602 755619.187 0, 883229.861 755612.272 0, 883516.714 755605.407 0, 883803.568 755598.56 0, 884090.422 755591.729 0, 884377.277 755584.915 0,
+ 884664.131 755578.118 0, 884950.987 755571.338 0, 885237.842 755564.575 0, 885524.698 755557.829 0, 885811.555 755551.1 0, 886098.412 755544.387 0, 886385.269 755537.692 0, 886672.127 755531.013 0, 886958.985 755524.351 0, 887245.843 755517.706 0,
+ 887532.702 755511.078 0, 887819.561 755504.467 0, 888106.421 755497.873 0, 888393.281 755491.295 0, 888680.141 755484.735 0, 888967.002 755478.191 0, 889253.863 755471.664 0, 889540.724 755465.155 0, 889826.181 755458.693 0, 889700.241 749887.441 0,
+ 889574.306 744316.446 0))
+
+POLYGON ((903595.984 755166.883 0, 903310.509 755172.538 0, 903023.63 755178.237 0, 902736.751 755183.953 0, 902449.873 755189.686 0, 902162.996 755195.437 0, 901876.118 755201.203 0, 901589.241 755206.987 0, 901302.364 755212.788 0, 901015.488 755218.606 0,
+ 900728.612 755224.44 0, 900441.736 755230.291 0, 900154.861 755236.16 0, 899867.986 755242.045 0, 899581.111 755247.947 0, 899294.237 755253.866 0, 899007.363 755259.801 0, 898720.489 755265.754 0, 898433.616 755271.724 0, 898146.743 755277.71 0,
+ 897859.871 755283.713 0, 897572.998 755289.734 0, 897286.127 755295.771 0, 896999.255 755301.825 0, 896710.979 755307.925 0, 896425.513 755313.983 0, 896138.643 755320.088 0, 895851.773 755326.209 0, 895564.903 755332.348 0, 895278.034 755338.503 0,
+ 894991.165 755344.675 0, 894704.296 755350.864 0, 894417.428 755357.07 0, 894130.56 755363.293 0, 893843.692 755369.533 0, 893556.825 755375.789 0, 893269.958 755382.063 0, 892983.092 755388.353 0, 892696.226 755394.661 0, 892409.36 755400.985 0,
+ 892122.495 755407.326 0, 891835.63 755413.684 0, 891548.766 755420.058 0, 891261.901 755426.45 0, 890975.038 755432.859 0, 890688.174 755439.284 0, 890401.311 755445.726 0, 890114.448 755452.186 0, 889826.181 755458.693 0, 889952.126 761030.2 0,
+ 890078.078 766601.956 0, 890365.686 766595.463 0, 890651.893 766589.019 0, 890938.1 766582.591 0, 891224.308 766576.181 0, 891510.516 766569.787 0, 891796.724 766563.41 0, 892082.933 766557.049 0, 892369.142 766550.706 0, 892655.351 766544.38 0,
+ 892941.561 766538.07 0, 893227.771 766531.777 0, 893513.982 766525.501 0, 893800.193 766519.242 0, 894086.404 766513 0, 894372.616 766506.774 0, 894658.828 766500.566 0, 894945.04 766494.374 0, 895231.253 766488.199 0, 895517.466 766482.041 0,
+ 895803.679 766475.9 0, 896089.893 766469.775 0, 896376.107 766463.668 0, 896662.322 766457.577 0, 896947.135 766451.533 0, 897234.752 766445.446 0, 897520.968 766439.406 0, 897807.184 766433.383 0, 898093.4 766427.376 0, 898379.617 766421.387 0,
+ 898665.834 766415.414 0, 898952.051 766409.458 0, 899238.269 766403.519 0, 899524.487 766397.597 0, 899810.705 766391.692 0, 900096.924 766385.803 0, 900383.143 766379.931 0, 900669.362 766374.077 0, 900955.582 766368.239 0, 901241.802 766362.417 0,
+ 901528.023 766356.613 0, 901814.244 766350.826 0, 902100.465 766345.055 0, 902386.686 766339.301 0, 902672.908 766333.564 0, 902959.13 766327.844 0, 903245.353 766322.141 0, 903531.576 766316.455 0, 903816.399 766310.813 0, 903706.189 760738.723 0,
+ 903595.984 755166.883 0))
+
+POLYGON ((917555.487 766058.484 0, 917270.647 766063.321 0, 916984.41 766068.199 0, 916698.172 766073.094 0, 916411.935 766078.005 0, 916125.698 766082.933 0, 915839.461 766087.878 0, 915553.225 766092.84 0, 915266.989 766097.819 0, 914980.753 766102.815 0,
+ 914694.518 766107.827 0, 914408.283 766112.857 0, 914122.048 766117.903 0, 913835.813 766122.966 0, 913549.579 766128.046 0, 913263.345 766133.142 0, 912977.111 766138.256 0, 912690.878 766143.386 0, 912404.645 766148.534 0, 912118.412 766153.698 0,
+ 911832.18 766158.879 0, 911545.948 766164.076 0, 911259.716 766169.291 0, 910973.484 766174.523 0, 910685.854 766179.797 0, 910401.022 766185.036 0, 910114.792 766190.318 0, 909828.561 766195.617 0, 909542.331 766200.933 0, 909256.102 766206.265 0,
+ 908969.872 766211.615 0, 908683.643 766216.981 0, 908397.415 766222.364 0, 908111.186 766227.764 0, 907824.958 766233.181 0, 907538.73 766238.615 0, 907252.503 766244.065 0, 906966.276 766249.533 0, 906680.049 766255.017 0, 906393.823 766260.518 0,
+ 906107.596 766266.036 0, 905821.371 766271.57 0, 905535.145 766277.122 0, 905248.92 766282.69 0, 904962.695 766288.276 0, 904676.471 766293.878 0, 904390.246 766299.497 0, 904104.022 766305.133 0, 903816.399 766310.813 0, 903926.613 771883.15 0,
+ 904036.833 777455.73 0, 904323.797 777450.063 0, 904609.365 777444.44 0, 904894.933 777438.834 0, 905180.502 777433.245 0, 905466.071 777427.672 0, 905751.64 777422.117 0, 906037.209 777416.578 0, 906322.779 777411.056 0, 906608.349 777405.55 0,
+ 906893.92 777400.062 0, 907179.491 777394.59 0, 907465.062 777389.136 0, 907750.633 777383.698 0, 908036.205 777378.276 0, 908321.777 777372.872 0, 908607.35 777367.484 0, 908892.922 777362.114 0, 909178.496 777356.76 0, 909464.069 777351.422 0,
+ 909749.643 777346.102 0, 910035.217 777340.798 0, 910320.791 777335.512 0, 910606.365 777330.242 0, 910890.544 777325.014 0, 911177.516 777319.752 0, 911463.091 777314.533 0, 911748.667 777309.33 0, 912034.243 777304.144 0, 912319.82 777298.975 0,
+ 912605.396 777293.823 0, 912890.973 777288.687 0, 913176.551 777283.569 0, 913462.128 777278.467 0, 913747.706 777273.382 0, 914033.285 777268.314 0, 914318.863 777263.262 0, 914604.442 777258.228 0, 914890.021 777253.21 0, 915175.601 777248.209 0,
+ 915461.181 777243.225 0, 915746.761 777238.257 0, 916032.341 777233.307 0, 916317.921 777228.373 0, 916603.502 777223.456 0, 916889.084 777218.556 0, 917174.665 777213.672 0, 917460.247 777208.806 0, 917744.434 777203.98 0, 917649.959 771631.11 0,
+ 917555.487 766058.484 0))
+
+POLYGON ((931452.692 776990.957 0, 931168.49 776994.98 0, 930882.896 776999.04 0, 930597.302 777003.116 0, 930311.708 777007.209 0, 930026.114 777011.319 0, 929740.521 777015.446 0, 929454.927 777019.59 0, 929169.334 777023.751 0, 928883.742 777027.928 0,
+ 928598.149 777032.122 0, 928312.557 777036.333 0, 928026.965 777040.561 0, 927741.374 777044.806 0, 927455.782 777049.067 0, 927170.191 777053.345 0, 926884.6 777057.64 0, 926599.009 777061.952 0, 926313.419 777066.281 0, 926027.829 777070.626 0,
+ 925742.239 777074.988 0, 925456.649 777079.367 0, 925171.06 777083.763 0, 924885.47 777088.176 0, 924598.488 777092.627 0, 924314.293 777097.052 0, 924028.705 777101.515 0, 923743.117 777105.995 0, 923457.529 777110.492 0, 923171.941 777115.005 0,
+ 922886.354 777119.536 0, 922600.767 777124.083 0, 922315.18 777128.647 0, 922029.593 777133.227 0, 921744.007 777137.825 0, 921458.421 777142.439 0, 921172.836 777147.071 0, 920887.25 777151.719 0, 920601.665 777156.383 0, 920316.08 777161.065 0,
+ 920030.496 777165.764 0, 919744.911 777170.479 0, 919459.327 777175.211 0, 919173.743 777179.96 0, 918888.16 777184.725 0, 918602.577 777189.508 0, 918316.994 777194.307 0, 918031.411 777199.123 0, 917744.434 777203.98 0, 917838.913 782777.089 0,
+ 917933.397 788350.434 0, 918219.715 788345.589 0, 918504.641 788340.784 0, 918789.568 788335.996 0, 919074.495 788331.224 0, 919359.423 788326.469 0, 919644.351 788321.731 0, 919929.279 788317.01 0, 920214.207 788312.306 0, 920499.135 788307.618 0,
+ 920784.064 788302.947 0, 921068.993 788298.293 0, 921353.923 788293.656 0, 921638.852 788289.035 0, 921923.782 788284.431 0, 922208.712 788279.844 0, 922493.643 788275.274 0, 922778.573 788270.721 0, 923063.504 788266.184 0, 923348.436 788261.664 0,
+ 923633.367 788257.161 0, 923918.299 788252.674 0, 924203.231 788248.205 0, 924488.163 788243.752 0, 924771.705 788239.337 0, 925058.029 788234.896 0, 925342.962 788230.494 0, 925627.895 788226.108 0, 925912.829 788221.739 0, 926197.762 788217.387 0,
+ 926482.696 788213.051 0, 926767.631 788208.733 0, 927052.565 788204.431 0, 927337.5 788200.146 0, 927622.435 788195.877 0, 927907.371 788191.626 0, 928192.306 788187.391 0, 928477.242 788183.173 0, 928762.178 788178.971 0, 929047.115 788174.787 0,
+ 929332.051 788170.619 0, 929616.988 788166.468 0, 929901.925 788162.334 0, 930186.863 788158.216 0, 930471.8 788154.116 0, 930756.738 788150.032 0, 931041.676 788145.965 0, 931326.614 788141.914 0, 931610.163 788137.9 0, 931531.426 782564.311 0,
+ 931452.692 776990.957 0))
+
+POLYGON ((945287.476 787964.007 0, 945003.914 787967.22 0, 944718.966 787970.465 0, 944434.017 787973.727 0, 944149.069 787977.006 0, 943864.121 787980.302 0, 943579.173 787983.614 0, 943294.226 787986.943 0, 943009.278 787990.289 0, 942724.331 787993.652 0,
+ 942439.384 787997.032 0, 942154.437 788000.428 0, 941869.49 788003.841 0, 941584.544 788007.271 0, 941299.598 788010.717 0, 941014.652 788014.181 0, 940729.706 788017.661 0, 940444.76 788021.158 0, 940159.815 788024.672 0, 939874.869 788028.202 0,
+ 939589.924 788031.749 0, 939304.98 788035.313 0, 939020.035 788038.894 0, 938735.091 788042.492 0, 938448.758 788046.124 0, 938165.203 788049.737 0, 937880.259 788053.385 0, 937595.315 788057.049 0, 937310.372 788060.731 0, 937025.429 788064.429 0,
+ 936740.486 788068.144 0, 936455.543 788071.876 0, 936170.601 788075.624 0, 935885.659 788079.389 0, 935600.717 788083.171 0, 935315.775 788086.97 0, 935030.834 788090.786 0, 934745.892 788094.618 0, 934460.951 788098.467 0, 934176.01 788102.333 0,
+ 933891.07 788106.216 0, 933606.129 788110.115 0, 933321.189 788114.031 0, 933036.249 788117.964 0, 932751.309 788121.914 0, 932466.37 788125.881 0, 932181.431 788129.864 0, 931896.492 788133.864 0, 931610.163 788137.9 0, 931688.904 793711.723 0,
+ 931767.648 799285.774 0, 932053.317 799281.747 0, 932337.6 799277.756 0, 932621.883 799273.782 0, 932906.166 799269.825 0, 933190.45 799265.884 0, 933474.734 799261.96 0, 933759.018 799258.053 0, 934043.302 799254.163 0, 934327.586 799250.289 0,
+ 934611.871 799246.432 0, 934896.156 799242.592 0, 935180.441 799238.768 0, 935464.726 799234.961 0, 935749.012 799231.171 0, 936033.298 799227.398 0, 936317.584 799223.641 0, 936601.87 799219.901 0, 936886.157 799216.178 0, 937170.443 799212.472 0,
+ 937454.73 799208.782 0, 937739.018 799205.109 0, 938023.305 799201.453 0, 938307.593 799197.814 0, 938590.495 799194.209 0, 938876.168 799190.585 0, 939160.457 799186.996 0, 939444.745 799183.423 0, 939729.034 799179.867 0, 940013.322 799176.328 0,
+ 940297.612 799172.806 0, 940581.901 799169.3 0, 940866.19 799165.812 0, 941150.48 799162.339 0, 941434.77 799158.884 0, 941719.06 799155.445 0, 942003.35 799152.023 0, 942287.641 799148.618 0, 942571.931 799145.23 0, 942856.222 799141.858 0,
+ 943140.513 799138.503 0, 943424.805 799135.165 0, 943709.096 799131.843 0, 943993.388 799128.538 0, 944277.68 799125.25 0, 944561.972 799121.979 0, 944846.264 799118.724 0, 945130.556 799115.487 0, 945413.465 799112.281 0, 945350.469 793538.03 0,
+ 945287.476 787964.007 0))
+
+POLYGON ((959059.717 798977.34 0, 958776.799 798979.747 0, 958492.498 798982.181 0, 958208.198 798984.633 0, 957923.898 798987.101 0, 957639.598 798989.586 0, 957355.298 798992.087 0, 957070.998 798994.606 0, 956786.699 798997.141 0, 956502.399 798999.693 0,
+ 956218.1 799002.261 0, 955933.801 799004.847 0, 955649.502 799007.449 0, 955365.203 799010.067 0, 955080.904 799012.703 0, 954796.606 799015.355 0, 954512.308 799018.024 0, 954228.009 799020.71 0, 953943.711 799023.412 0, 953659.413 799026.131 0,
+ 953375.116 799028.867 0, 953090.818 799031.62 0, 952806.521 799034.389 0, 952522.224 799037.175 0, 952236.543 799039.992 0, 951953.63 799042.797 0, 951669.333 799045.634 0, 951385.036 799048.487 0, 951100.74 799051.357 0, 950816.444 799054.243 0,
+ 950532.148 799057.146 0, 950247.852 799060.066 0, 949963.556 799063.003 0, 949679.261 799065.956 0, 949394.965 799068.926 0, 949110.67 799071.913 0, 948826.375 799074.917 0, 948542.08 799077.937 0, 948257.786 799080.974 0, 947973.491 799084.028 0,
+ 947689.197 799087.099 0, 947404.903 799090.186 0, 947120.609 799093.29 0, 946836.315 799096.411 0, 946552.021 799099.548 0, 946267.728 799102.702 0, 945983.435 799105.873 0, 945699.142 799109.061 0, 945413.465 799112.281 0, 945476.463 804686.758 0,
+ 945539.464 810261.456 0, 945824.482 810258.244 0, 946108.118 810255.063 0, 946391.755 810251.9 0, 946675.393 810248.753 0, 946959.03 810245.623 0, 947242.667 810242.509 0, 947526.305 810239.412 0, 947809.943 810236.332 0, 948093.581 810233.269 0,
+ 948377.219 810230.222 0, 948660.858 810227.192 0, 948944.496 810224.178 0, 949228.135 810221.182 0, 949511.774 810218.202 0, 949795.413 810215.238 0, 950079.053 810212.292 0, 950362.692 810209.362 0, 950646.332 810206.449 0, 950929.972 810203.552 0,
+ 951213.612 810200.672 0, 951497.252 810197.809 0, 951780.892 810194.963 0, 952064.533 810192.133 0, 952346.793 810189.334 0, 952631.814 810186.524 0, 952915.455 810183.744 0, 953199.096 810180.981 0, 953482.738 810178.235 0, 953766.379 810175.505 0,
+ 954050.021 810172.792 0, 954333.663 810170.096 0, 954617.304 810167.417 0, 954900.947 810164.754 0, 955184.589 810162.108 0, 955468.231 810159.478 0, 955751.874 810156.866 0, 956035.517 810154.27 0, 956319.16 810151.69 0, 956602.803 810149.128 0,
+ 956886.446 810146.582 0, 957170.089 810144.053 0, 957453.733 810141.54 0, 957737.376 810139.044 0, 958021.02 810136.565 0, 958304.664 810134.103 0, 958588.308 810131.657 0, 958871.952 810129.228 0, 959154.218 810126.827 0, 959106.967 804551.973 0,
+ 959059.717 798977.34 0))
+
+POLYGON ((972769.297 810030.663 0, 972487.024 810032.266 0, 972203.374 810033.894 0, 971919.724 810035.538 0, 971636.074 810037.199 0, 971352.425 810038.877 0, 971068.775 810040.572 0, 970785.126 810042.283 0, 970501.476 810044.011 0, 970217.827 810045.755 0,
+ 969934.178 810047.516 0, 969650.529 810049.294 0, 969366.88 810051.089 0, 969083.231 810052.9 0, 968799.583 810054.728 0, 968515.934 810056.573 0, 968232.285 810058.435 0, 967948.637 810060.313 0, 967664.989 810062.208 0, 967381.341 810064.119 0,
+ 967097.692 810066.047 0, 966814.045 810067.992 0, 966530.397 810069.954 0, 966246.749 810071.932 0, 965961.724 810073.937 0, 965679.454 810075.939 0, 965395.807 810077.967 0, 965112.159 810080.012 0, 964828.512 810082.074 0, 964544.865 810084.153 0,
+ 964261.218 810086.248 0, 963977.572 810088.36 0, 963693.925 810090.488 0, 963410.278 810092.633 0, 963126.632 810094.795 0, 962842.986 810096.974 0, 962559.34 810099.169 0, 962275.694 810101.381 0, 961992.048 810103.61 0, 961708.402 810105.855 0,
+ 961424.756 810108.118 0, 961141.111 810110.396 0, 960857.466 810112.692 0, 960573.82 810115.004 0, 960290.175 810117.333 0, 960006.53 810119.679 0, 959722.886 810122.041 0, 959439.241 810124.42 0, 959154.218 810126.827 0, 959201.471 815701.899 0,
+ 959248.725 821277.186 0, 959533.089 821274.784 0, 959816.078 821272.41 0, 960099.066 821270.054 0, 960382.055 821267.714 0, 960665.044 821265.39 0, 960948.032 821263.083 0, 961231.022 821260.793 0, 961514.011 821258.519 0, 961797 821256.263 0,
+ 962079.989 821254.022 0, 962362.979 821251.799 0, 962645.969 821249.592 0, 962928.959 821247.402 0, 963211.948 821245.228 0, 963494.939 821243.071 0, 963777.929 821240.931 0, 964060.919 821238.807 0, 964343.91 821236.7 0, 964626.9 821234.61 0,
+ 964909.891 821232.536 0, 965192.882 821230.479 0, 965475.873 821228.439 0, 965758.864 821226.415 0, 966040.48 821224.418 0, 966324.846 821222.418 0, 966607.838 821220.444 0, 966890.829 821218.487 0, 967173.821 821216.547 0, 967456.813 821214.623 0,
+ 967739.804 821212.716 0, 968022.796 821210.825 0, 968305.789 821208.951 0, 968588.781 821207.094 0, 968871.773 821205.254 0, 969154.766 821203.43 0, 969437.758 821201.623 0, 969720.751 821199.832 0, 970003.743 821198.058 0, 970286.736 821196.301 0,
+ 970569.729 821194.561 0, 970852.722 821192.837 0, 971135.715 821191.13 0, 971418.709 821189.439 0, 971701.702 821187.765 0, 971984.696 821186.108 0, 972267.689 821184.467 0, 972550.683 821182.843 0, 972832.303 821181.244 0, 972800.8 815605.846 0,
+ 972769.297 810030.663 0))
+
+POLYGON ((986416.097 821123.678 0, 986134.472 821124.482 0, 985851.474 821125.307 0, 985568.477 821126.148 0, 985285.48 821127.006 0, 985002.483 821127.88 0, 984719.486 821128.771 0, 984436.49 821129.679 0, 984153.493 821130.603 0, 983870.496 821131.544 0,
+ 983587.499 821132.502 0, 983304.503 821133.476 0, 983021.506 821134.467 0, 982738.51 821135.475 0, 982455.513 821136.499 0, 982172.517 821137.54 0, 981889.521 821138.598 0, 981606.524 821139.672 0, 981323.528 821140.763 0, 981040.532 821141.87 0,
+ 980757.536 821142.995 0, 980474.54 821144.136 0, 980191.544 821145.293 0, 979908.548 821146.467 0, 979624.18 821147.664 0, 979342.557 821148.866 0, 979059.561 821150.09 0, 978776.565 821151.331 0, 978493.57 821152.588 0, 978210.574 821153.862 0,
+ 977927.579 821155.153 0, 977644.584 821156.461 0, 977361.588 821157.785 0, 977078.593 821159.126 0, 976795.598 821160.483 0, 976512.603 821161.857 0, 976229.608 821163.248 0, 975946.614 821164.655 0, 975663.619 821166.079 0, 975380.624 821167.52 0,
+ 975097.63 821168.977 0, 974814.635 821170.451 0, 974531.641 821171.942 0, 974248.647 821173.45 0, 973965.652 821174.974 0, 973682.658 821176.514 0, 973399.664 821178.072 0, 973116.67 821179.645 0, 972832.303 821181.244 0, 972863.807 826756.852 0,
+ 972895.313 832332.667 0, 973179.021 832331.073 0, 973461.359 832329.502 0, 973743.696 832327.949 0, 974026.034 832326.412 0, 974308.372 832324.891 0, 974590.71 832323.387 0, 974873.048 832321.9 0, 975155.386 832320.429 0, 975437.724 832318.975 0,
+ 975720.063 832317.538 0, 976002.401 832316.117 0, 976284.739 832314.713 0, 976567.078 832313.326 0, 976849.417 832311.955 0, 977131.755 832310.6 0, 977414.094 832309.263 0, 977696.433 832307.942 0, 977978.772 832306.637 0, 978261.111 832305.35 0,
+ 978543.45 832304.078 0, 978825.789 832302.824 0, 979108.128 832301.586 0, 979390.468 832300.364 0, 979671.438 832299.166 0, 979955.146 832297.972 0, 980237.486 832296.8 0, 980519.825 832295.645 0, 980802.165 832294.507 0, 981084.505 832293.385 0,
+ 981366.845 832292.28 0, 981649.184 832291.192 0, 981931.524 832290.12 0, 982213.864 832289.065 0, 982496.204 832288.026 0, 982778.544 832287.004 0, 983060.885 832285.999 0, 983343.225 832285.01 0, 983625.565 832284.038 0, 983907.905 832283.083 0,
+ 984190.246 832282.144 0, 984472.586 832281.222 0, 984754.927 832280.316 0, 985037.267 832279.427 0, 985319.608 832278.555 0, 985601.949 832277.699 0, 985884.289 832276.86 0, 986166.63 832276.038 0, 986447.603 832275.236 0, 986431.85 826699.353 0,
+ 986416.097 821123.678 0))
+
+POLYGON ((1000000 832256.091 0, 999719.024 832256.1 0, 999436.682 832256.125 0, 999154.34 832256.166 0, 998871.998 832256.224 0, 998589.656 832256.299 0, 998307.314 832256.39 0, 998024.973 832256.498 0, 997742.631 832256.623 0, 997460.289 832256.764 0,
+ 997177.947 832256.922 0, 996895.605 832257.096 0, 996613.263 832257.287 0, 996330.921 832257.495 0, 996048.579 832257.719 0, 995766.237 832257.96 0, 995483.896 832258.217 0, 995201.554 832258.491 0, 994919.212 832258.782 0, 994636.87 832259.09 0,
+ 994354.529 832259.413 0, 994072.187 832259.754 0, 993789.845 832260.111 0, 993507.503 832260.485 0, 993223.795 832260.877 0, 992942.82 832261.283 0, 992660.478 832261.706 0, 992378.137 832262.147 0, 992095.795 832262.604 0, 991813.454 832263.077 0,
+ 991531.112 832263.567 0, 991248.771 832264.074 0, 990966.429 832264.597 0, 990684.088 832265.137 0, 990401.746 832265.694 0, 990119.405 832266.267 0, 989837.064 832266.857 0, 989554.722 832267.464 0, 989272.381 832268.087 0, 988990.04 832268.726 0,
+ 988707.699 832269.383 0, 988425.358 832270.056 0, 988143.016 832270.745 0, 987860.675 832271.451 0, 987578.334 832272.174 0, 987295.993 832272.914 0, 987013.653 832273.67 0, 986731.312 832274.442 0, 986447.603 832275.236 0, 986463.356 837851.321 0,
+ 986479.11 843427.606 0, 986762.16 843426.814 0, 987043.844 843426.043 0, 987325.529 843425.289 0, 987607.213 843424.551 0, 987888.898 843423.83 0, 988170.582 843423.126 0, 988452.267 843422.438 0, 988733.952 843421.766 0, 989015.637 843421.112 0,
+ 989297.321 843420.473 0, 989579.006 843419.852 0, 989860.691 843419.247 0, 990142.376 843418.658 0, 990424.061 843418.086 0, 990705.746 843417.531 0, 990987.431 843416.992 0, 991269.116 843416.47 0, 991550.801 843415.964 0, 991832.486 843415.475 0,
+ 992114.171 843415.003 0, 992395.857 843414.547 0, 992677.542 843414.108 0, 992959.227 843413.685 0, 993239.548 843413.281 0, 993522.598 843412.889 0, 993804.283 843412.516 0, 994085.968 843412.16 0, 994367.654 843411.82 0, 994649.339 843411.497 0,
+ 994931.024 843411.19 0, 995212.71 843410.9 0, 995494.395 843410.627 0, 995776.08 843410.37 0, 996057.766 843410.13 0, 996339.451 843409.906 0, 996621.137 843409.699 0, 996902.822 843409.508 0, 997184.508 843409.334 0, 997466.193 843409.177 0,
+ 997747.879 843409.036 0, 998029.564 843408.912 0, 998311.25 843408.804 0, 998592.935 843408.713 0, 998874.621 843408.638 0, 999156.306 843408.58 0, 999437.992 843408.539 0, 999719.677 843408.514 0, 1000000 843408.506 0, 1000000 837832.199 0,
+ 1000000 832256.091 0))
+
+POLYGON ((1013520.89 843427.606 0, 1013240.566 843426.822 0, 1012958.882 843426.051 0, 1012677.197 843425.296 0, 1012395.513 843424.558 0, 1012113.828 843423.837 0, 1011832.143 843423.132 0, 1011550.459 843422.444 0, 1011268.774 843421.773 0, 1010987.089 843421.118 0,
+ 1010705.404 843420.479 0, 1010423.719 843419.858 0, 1010142.035 843419.252 0, 1009860.35 843418.664 0, 1009578.665 843418.092 0, 1009296.98 843417.536 0, 1009015.295 843416.997 0, 1008733.61 843416.475 0, 1008451.925 843415.969 0, 1008170.239 843415.48 0,
+ 1007888.554 843415.007 0, 1007606.869 843414.551 0, 1007325.184 843414.112 0, 1007043.499 843413.689 0, 1006760.452 843413.281 0, 1006480.128 843412.893 0, 1006198.443 843412.52 0, 1005916.758 843412.163 0, 1005635.072 843411.824 0, 1005353.387 843411.5 0,
+ 1005071.702 843411.193 0, 1004790.016 843410.903 0, 1004508.331 843410.629 0, 1004226.645 843410.372 0, 1003944.96 843410.132 0, 1003663.275 843409.908 0, 1003381.589 843409.701 0, 1003099.904 843409.51 0, 1002818.218 843409.336 0, 1002536.533 843409.178 0,
+ 1002254.847 843409.037 0, 1001973.162 843408.913 0, 1001691.476 843408.805 0, 1001409.791 843408.714 0, 1001128.105 843408.639 0, 1000846.42 843408.581 0, 1000564.734 843408.539 0, 1000283.048 843408.514 0, 1000000 843408.506 0, 1000000 848985.009 0,
+ 1000000 854561.704 0, 1000282.389 854561.712 0, 1000563.418 854561.737 0, 1000844.447 854561.778 0, 1001125.476 854561.836 0, 1001406.505 854561.911 0, 1001687.534 854562.002 0, 1001968.563 854562.11 0, 1002249.592 854562.234 0, 1002530.621 854562.374 0,
+ 1002811.65 854562.532 0, 1003092.679 854562.705 0, 1003373.708 854562.896 0, 1003654.737 854563.102 0, 1003935.766 854563.326 0, 1004216.795 854563.566 0, 1004497.824 854563.822 0, 1004778.853 854564.095 0, 1005059.882 854564.385 0, 1005340.911 854564.691 0,
+ 1005621.94 854565.013 0, 1005902.969 854565.353 0, 1006183.998 854565.708 0, 1006465.027 854566.081 0, 1006744.697 854566.467 0, 1007027.084 854566.875 0, 1007308.113 854567.297 0, 1007589.142 854567.735 0, 1007870.17 854568.19 0, 1008151.199 854568.661 0,
+ 1008432.228 854569.15 0, 1008713.256 854569.654 0, 1008994.285 854570.175 0, 1009275.314 854570.713 0, 1009556.342 854571.267 0, 1009837.371 854571.838 0, 1010118.399 854572.425 0, 1010399.427 854573.029 0, 1010680.456 854573.649 0, 1010961.484 854574.286 0,
+ 1011242.513 854574.94 0, 1011523.541 854575.61 0, 1011804.569 854576.296 0, 1012085.597 854576.999 0, 1012366.625 854577.719 0, 1012647.654 854578.455 0, 1012928.682 854579.208 0, 1013209.71 854579.977 0, 1013489.38 854580.759 0, 1013505.135 849004.086 0,
+ 1013520.89 843427.606 0))
+
+POLYGON ((1026978.652 854637.924 0, 1026698.983 854636.352 0, 1026417.958 854634.788 0, 1026136.934 854633.242 0, 1025855.909 854631.712 0, 1025574.884 854630.198 0, 1025293.859 854628.701 0, 1025012.833 854627.221 0, 1024731.808 854625.757 0, 1024450.783 854624.309 0,
+ 1024169.757 854622.878 0, 1023888.732 854621.464 0, 1023607.706 854620.066 0, 1023326.681 854618.685 0, 1023045.655 854617.32 0, 1022764.629 854615.972 0, 1022483.603 854614.641 0, 1022202.577 854613.326 0, 1021921.551 854612.027 0, 1021640.525 854610.745 0,
+ 1021359.499 854609.48 0, 1021078.472 854608.231 0, 1020797.446 854606.998 0, 1020516.419 854605.783 0, 1020234.036 854604.577 0, 1019954.366 854603.4 0, 1019673.34 854602.234 0, 1019392.313 854601.085 0, 1019111.286 854599.951 0, 1018830.259 854598.835 0,
+ 1018549.232 854597.735 0, 1018268.205 854596.651 0, 1017987.178 854595.584 0, 1017706.151 854594.534 0, 1017425.124 854593.5 0, 1017144.097 854592.483 0, 1016863.069 854591.482 0, 1016582.042 854590.498 0, 1016301.015 854589.53 0, 1016019.987 854588.579 0,
+ 1015738.96 854587.644 0, 1015457.932 854586.726 0, 1015176.905 854585.825 0, 1014895.877 854584.94 0, 1014614.849 854584.071 0, 1014333.821 854583.219 0, 1014052.793 854582.384 0, 1013771.766 854581.565 0, 1013489.38 854580.759 0, 1013473.624 860157.62 0,
+ 1013457.868 865734.665 0, 1013739.594 865735.469 0, 1014019.965 865736.286 0, 1014300.337 865737.12 0, 1014580.708 865737.97 0, 1014861.079 865738.836 0, 1015141.45 865739.719 0, 1015421.822 865740.619 0, 1015702.193 865741.534 0, 1015982.564 865742.467 0,
+ 1016262.935 865743.416 0, 1016543.306 865744.381 0, 1016823.676 865745.363 0, 1017104.047 865746.362 0, 1017384.418 865747.377 0, 1017664.789 865748.408 0, 1017945.159 865749.456 0, 1018225.53 865750.521 0, 1018505.9 865751.602 0, 1018786.271 865752.699 0,
+ 1019066.641 865753.813 0, 1019347.011 865754.944 0, 1019627.382 865756.09 0, 1019907.752 865757.254 0, 1020186.769 865758.428 0, 1020468.492 865759.63 0, 1020748.862 865760.843 0, 1021029.232 865762.073 0, 1021309.602 865763.319 0, 1021589.971 865764.581 0,
+ 1021870.341 865765.86 0, 1022150.711 865767.156 0, 1022431.08 865768.468 0, 1022711.45 865769.796 0, 1022991.819 865771.141 0, 1023272.188 865772.503 0, 1023552.557 865773.881 0, 1023832.926 865775.275 0, 1024113.296 865776.686 0, 1024393.664 865778.114 0,
+ 1024674.033 865779.558 0, 1024954.402 865781.018 0, 1025234.771 865782.495 0, 1025515.139 865783.989 0, 1025795.508 865785.499 0, 1026075.876 865787.026 0, 1026356.245 865788.569 0, 1026636.613 865790.128 0, 1026915.629 865791.696 0, 1026947.141 860214.718 0,
+ 1026978.652 854637.924 0))
+
+POLYGON ((1040373.175 865886.748 0, 1040094.162 865884.392 0, 1039813.799 865882.04 0, 1039533.437 865879.705 0, 1039253.074 865877.386 0, 1038972.711 865875.084 0, 1038692.347 865872.798 0, 1038411.984 865870.529 0, 1038131.62 865868.277 0, 1037851.257 865866.041 0,
+ 1037570.893 865863.821 0, 1037290.529 865861.618 0, 1037010.165 865859.431 0, 1036729.801 865857.261 0, 1036449.436 865855.108 0, 1036169.072 865852.971 0, 1035888.707 865850.85 0, 1035608.343 865848.746 0, 1035327.978 865846.658 0, 1035047.613 865844.587 0,
+ 1034767.248 865842.533 0, 1034486.883 865840.495 0, 1034206.517 865838.473 0, 1033926.152 865836.468 0, 1033644.435 865834.47 0, 1033365.421 865832.507 0, 1033085.055 865830.552 0, 1032804.689 865828.613 0, 1032524.323 865826.69 0, 1032243.957 865824.784 0,
+ 1031963.591 865822.894 0, 1031683.225 865821.021 0, 1031402.858 865819.165 0, 1031122.492 865817.325 0, 1030842.125 865815.501 0, 1030561.758 865813.694 0, 1030281.391 865811.904 0, 1030001.024 865810.13 0, 1029720.657 865808.372 0, 1029440.29 865806.631 0,
+ 1029159.923 865804.906 0, 1028879.555 865803.198 0, 1028599.188 865801.507 0, 1028318.82 865799.832 0, 1028038.453 865798.173 0, 1027758.085 865796.531 0, 1027477.717 865794.906 0, 1027197.349 865793.297 0, 1026915.629 865791.696 0, 1026884.115 871368.856 0,
+ 1026852.601 876946.192 0, 1027133.662 876947.789 0, 1027413.373 876949.394 0, 1027693.085 876951.016 0, 1027972.796 876952.654 0, 1028252.507 876954.309 0, 1028532.218 876955.98 0, 1028811.929 876957.667 0, 1029091.64 876959.371 0, 1029371.35 876961.092 0,
+ 1029651.061 876962.829 0, 1029930.772 876964.582 0, 1030210.482 876966.352 0, 1030490.192 876968.138 0, 1030769.903 876969.941 0, 1031049.613 876971.761 0, 1031329.323 876973.596 0, 1031609.033 876975.449 0, 1031888.743 876977.317 0, 1032168.452 876979.202 0,
+ 1032448.162 876981.104 0, 1032727.871 876983.022 0, 1033007.581 876984.957 0, 1033287.29 876986.908 0, 1033565.651 876988.865 0, 1033846.708 876990.859 0, 1034126.417 876992.859 0, 1034406.126 876994.876 0, 1034685.834 876996.909 0, 1034965.543 876998.959 0,
+ 1035245.251 877001.025 0, 1035524.959 877003.108 0, 1035804.668 877005.207 0, 1036084.376 877007.323 0, 1036364.084 877009.455 0, 1036643.791 877011.604 0, 1036923.499 877013.769 0, 1037203.207 877015.95 0, 1037482.914 877018.148 0, 1037762.621 877020.362 0,
+ 1038042.328 877022.593 0, 1038322.035 877024.841 0, 1038601.742 877027.104 0, 1038881.449 877029.385 0, 1039161.156 877031.681 0, 1039440.862 877033.995 0, 1039720.568 877036.324 0, 1040000.275 877038.67 0, 1040278.634 877041.021 0, 1040325.905 871463.796 0,
+ 1040373.175 865886.748 0))
+
+POLYGON ((1053704.345 877173.781 0, 1053425.991 877170.644 0, 1053146.293 877167.507 0, 1052866.594 877164.387 0, 1052586.895 877161.284 0, 1052307.196 877158.197 0, 1052027.497 877155.127 0, 1051747.798 877152.073 0, 1051468.098 877149.035 0, 1051188.399 877146.014 0,
+ 1050908.699 877143.009 0, 1050628.999 877140.021 0, 1050349.298 877137.05 0, 1050069.598 877134.094 0, 1049789.897 877131.156 0, 1049510.197 877128.233 0, 1049230.496 877125.327 0, 1048950.795 877122.438 0, 1048671.093 877119.565 0, 1048391.392 877116.709 0,
+ 1048111.69 877113.869 0, 1047831.988 877111.045 0, 1047552.286 877108.238 0, 1047272.584 877105.447 0, 1046991.536 877102.66 0, 1046713.18 877099.916 0, 1046433.477 877097.174 0, 1046153.774 877094.45 0, 1045874.071 877091.741 0, 1045594.368 877089.05 0,
+ 1045314.665 877086.374 0, 1045034.962 877083.715 0, 1044755.258 877081.073 0, 1044475.554 877078.447 0, 1044195.85 877075.837 0, 1043916.146 877073.244 0, 1043636.442 877070.668 0, 1043356.738 877068.108 0, 1043077.033 877065.564 0, 1042797.329 877063.037 0,
+ 1042517.624 877060.526 0, 1042237.919 877058.032 0, 1041958.214 877055.554 0, 1041678.509 877053.093 0, 1041398.804 877050.648 0, 1041119.098 877048.219 0, 1040839.392 877045.807 0, 1040559.687 877043.412 0, 1040278.634 877041.021 0, 1040231.361 882618.42 0,
+ 1040184.087 888195.987 0, 1040464.48 888198.372 0, 1040743.529 888200.762 0, 1041022.578 888203.168 0, 1041301.627 888205.591 0, 1041580.676 888208.03 0, 1041859.725 888210.486 0, 1042138.773 888212.958 0, 1042417.822 888215.446 0, 1042696.87 888217.951 0,
+ 1042975.918 888220.472 0, 1043254.966 888223.01 0, 1043534.014 888225.564 0, 1043813.061 888228.135 0, 1044092.109 888230.721 0, 1044371.156 888233.325 0, 1044650.203 888235.945 0, 1044929.25 888238.581 0, 1045208.297 888241.234 0, 1045487.344 888243.903 0,
+ 1045766.39 888246.588 0, 1046045.437 888249.29 0, 1046324.483 888252.008 0, 1046603.529 888254.743 0, 1046881.232 888257.481 0, 1047161.621 888260.262 0, 1047440.666 888263.046 0, 1047719.712 888265.847 0, 1047998.757 888268.663 0, 1048277.802 888271.497 0,
+ 1048556.847 888274.347 0, 1048835.891 888277.213 0, 1049114.936 888280.095 0, 1049393.98 888282.994 0, 1049673.025 888285.91 0, 1049952.069 888288.842 0, 1050231.113 888291.79 0, 1050510.156 888294.755 0, 1050789.2 888297.736 0, 1051068.243 888300.733 0,
+ 1051347.286 888303.747 0, 1051626.329 888306.778 0, 1051905.372 888309.825 0, 1052184.415 888312.888 0, 1052463.457 888315.968 0, 1052742.5 888319.064 0, 1053021.542 888322.176 0, 1053300.584 888325.305 0, 1053578.284 888328.435 0, 1053641.315 882751.024 0,
+ 1053704.345 877173.781 0))
+
+POLYGON ((1066972.053 888498.724 0, 1066694.36 888494.809 0, 1066415.329 888490.892 0, 1066136.296 888486.991 0, 1065857.264 888483.107 0, 1065578.231 888479.239 0, 1065299.198 888475.387 0, 1065020.165 888471.552 0, 1064741.132 888467.733 0, 1064462.098 888463.931 0,
+ 1064183.065 888460.145 0, 1063904.031 888456.375 0, 1063624.996 888452.622 0, 1063345.962 888448.886 0, 1063066.927 888445.165 0, 1062787.892 888441.462 0, 1062508.857 888437.774 0, 1062229.822 888434.103 0, 1061950.787 888430.449 0, 1061671.751 888426.811 0,
+ 1061392.715 888423.189 0, 1061113.679 888419.584 0, 1060834.642 888415.995 0, 1060555.606 888412.423 0, 1060275.228 888408.85 0, 1059997.532 888405.327 0, 1059718.495 888401.804 0, 1059439.457 888398.297 0, 1059160.42 888394.807 0, 1058881.382 888391.333 0,
+ 1058602.344 888387.876 0, 1058323.306 888384.435 0, 1058044.267 888381.01 0, 1057765.228 888377.602 0, 1057486.19 888374.21 0, 1057207.151 888370.835 0, 1056928.111 888367.476 0, 1056649.072 888364.134 0, 1056370.032 888360.808 0, 1056090.992 888357.498 0,
+ 1055811.952 888354.205 0, 1055532.912 888350.928 0, 1055253.872 888347.668 0, 1054974.831 888344.424 0, 1054695.79 888341.196 0, 1054416.749 888337.985 0, 1054137.708 888334.791 0, 1053858.667 888331.612 0, 1053578.284 888328.435 0, 1053515.25 893906.013 0,
+ 1053452.215 899483.751 0, 1053731.938 899486.921 0, 1054010.323 899490.092 0, 1054288.708 899493.279 0, 1054567.092 899496.482 0, 1054845.476 899499.702 0, 1055123.86 899502.939 0, 1055402.244 899506.191 0, 1055680.628 899509.46 0, 1055959.011 899512.746 0,
+ 1056237.395 899516.048 0, 1056515.778 899519.366 0, 1056794.161 899522.7 0, 1057072.543 899526.051 0, 1057350.926 899529.419 0, 1057629.308 899532.802 0, 1057907.69 899536.203 0, 1058186.072 899539.619 0, 1058464.454 899543.052 0, 1058742.835 899546.501 0,
+ 1059021.216 899549.967 0, 1059299.597 899553.449 0, 1059577.978 899556.947 0, 1059856.359 899560.462 0, 1060133.402 899563.977 0, 1060413.12 899567.541 0, 1060691.5 899571.105 0, 1060969.879 899574.686 0, 1061248.259 899578.282 0, 1061526.638 899581.895 0,
+ 1061805.017 899585.525 0, 1062083.396 899589.171 0, 1062361.775 899592.833 0, 1062640.154 899596.512 0, 1062918.532 899600.207 0, 1063196.91 899603.918 0, 1063475.288 899607.646 0, 1063753.666 899611.39 0, 1064032.043 899615.151 0, 1064310.42 899618.928 0,
+ 1064588.797 899622.721 0, 1064867.174 899626.531 0, 1065145.551 899630.357 0, 1065423.927 899634.2 0, 1065702.303 899638.059 0, 1065980.679 899641.934 0, 1066259.055 899645.826 0, 1066537.43 899649.734 0, 1066814.469 899653.639 0, 1066893.262 894076.101 0,
+ 1066972.053 888498.724 0))
+
+POLYGON ((1080176.189 899861.277 0, 1079899.16 899856.589 0, 1079620.797 899851.895 0, 1079342.434 899847.216 0, 1079064.07 899842.555 0, 1078785.706 899837.909 0, 1078507.341 899833.28 0, 1078228.977 899828.668 0, 1077950.612 899824.072 0, 1077672.247 899819.492 0,
+ 1077393.881 899814.928 0, 1077115.516 899810.381 0, 1076837.15 899805.851 0, 1076558.783 899801.336 0, 1076280.417 899796.838 0, 1076002.05 899792.357 0, 1075723.683 899787.892 0, 1075445.316 899783.443 0, 1075166.948 899779.011 0, 1074888.581 899774.595 0,
+ 1074610.212 899770.195 0, 1074331.844 899765.812 0, 1074053.476 899761.445 0, 1073775.107 899757.095 0, 1073495.402 899752.74 0, 1073218.368 899748.443 0, 1072939.999 899744.141 0, 1072661.629 899739.857 0, 1072383.259 899735.588 0, 1072104.888 899731.336 0,
+ 1071826.518 899727.1 0, 1071548.147 899722.881 0, 1071269.776 899718.678 0, 1070991.404 899714.491 0, 1070713.033 899710.321 0, 1070434.661 899706.167 0, 1070156.289 899702.03 0, 1069877.917 899697.909 0, 1069599.544 899693.804 0, 1069321.171 899689.716 0,
+ 1069042.798 899685.644 0, 1068764.425 899681.588 0, 1068486.051 899677.549 0, 1068207.677 899673.526 0, 1067929.303 899669.52 0, 1067650.929 899665.53 0, 1067372.555 899661.556 0, 1067094.18 899657.599 0, 1066814.469 899653.639 0, 1066735.674 905231.336 0,
+ 1066656.876 910809.186 0, 1066935.927 910813.136 0, 1067213.646 910817.084 0, 1067491.363 910821.048 0, 1067769.081 910825.029 0, 1068046.798 910829.026 0, 1068324.516 910833.039 0, 1068602.233 910837.069 0, 1068879.949 910841.115 0, 1069157.666 910845.177 0,
+ 1069435.382 910849.256 0, 1069713.098 910853.351 0, 1069990.814 910857.462 0, 1070268.529 910861.59 0, 1070546.244 910865.734 0, 1070823.959 910869.894 0, 1071101.674 910874.071 0, 1071379.389 910878.264 0, 1071657.103 910882.473 0, 1071934.817 910886.699 0,
+ 1072212.531 910890.941 0, 1072490.244 910895.2 0, 1072767.958 910899.475 0, 1073045.671 910903.766 0, 1073322.052 910908.052 0, 1073601.096 910912.397 0, 1073878.808 910916.737 0, 1074156.52 910921.094 0, 1074434.232 910925.467 0, 1074711.943 910929.856 0,
+ 1074989.655 910934.261 0, 1075267.366 910938.683 0, 1075545.076 910943.122 0, 1075822.787 910947.576 0, 1076100.497 910952.047 0, 1076378.207 910956.534 0, 1076655.917 910961.038 0, 1076933.626 910965.558 0, 1077211.335 910970.094 0, 1077489.044 910974.647 0,
+ 1077766.753 910979.216 0, 1078044.461 910983.801 0, 1078322.169 910988.403 0, 1078599.877 910993.021 0, 1078877.584 910997.656 0, 1079155.292 911002.306 0, 1079432.998 911006.973 0, 1079710.705 911011.657 0, 1079987.081 911016.334 0, 1080081.636 905438.729 0,
+ 1080176.189 899861.277 0))
+
+POLYGON ((1093316.647 911261.142 0, 1093040.284 911255.684 0, 1092762.591 911250.216 0, 1092484.899 911244.764 0, 1092207.206 911239.329 0, 1091929.512 911233.91 0, 1091651.819 911228.507 0, 1091374.125 911223.121 0, 1091096.43 911217.751 0, 1090818.736 911212.398 0,
+ 1090541.041 911207.06 0, 1090263.346 911201.739 0, 1089985.65 911196.435 0, 1089707.954 911191.147 0, 1089430.258 911185.875 0, 1089152.562 911180.619 0, 1088874.865 911175.38 0, 1088597.168 911170.157 0, 1088319.471 911164.951 0, 1088041.773 911159.761 0,
+ 1087764.075 911154.587 0, 1087486.377 911149.429 0, 1087208.678 911144.288 0, 1086930.979 911139.164 0, 1086651.95 911134.031 0, 1086375.581 911128.963 0, 1086097.881 911123.887 0, 1085820.181 911118.828 0, 1085542.48 911113.785 0, 1085264.78 911108.758 0,
+ 1084987.079 911103.748 0, 1084709.377 911098.754 0, 1084431.676 911093.776 0, 1084153.974 911088.815 0, 1083876.272 911083.87 0, 1083598.569 911078.941 0, 1083320.867 911074.029 0, 1083043.164 911069.133 0, 1082765.46 911064.254 0, 1082487.757 911059.39 0,
+ 1082210.053 911054.543 0, 1081932.349 911049.713 0, 1081654.644 911044.899 0, 1081376.939 911040.101 0, 1081099.234 911035.319 0, 1080821.529 911030.554 0, 1080543.824 911025.805 0, 1080266.118 911021.073 0, 1079987.081 911016.334 0, 1079892.523 916594.089 0,
+ 1079797.962 922171.991 0, 1080076.339 922176.718 0, 1080353.388 922181.44 0, 1080630.437 922186.177 0, 1080907.486 922190.931 0, 1081184.534 922195.701 0, 1081461.583 922200.488 0, 1081738.63 922205.291 0, 1082015.678 922210.11 0, 1082292.725 922214.945 0,
+ 1082569.772 922219.797 0, 1082846.819 922224.665 0, 1083123.865 922229.549 0, 1083400.912 922234.45 0, 1083677.957 922239.367 0, 1083955.003 922244.3 0, 1084232.048 922249.25 0, 1084509.093 922254.216 0, 1084786.138 922259.198 0, 1085063.182 922264.196 0,
+ 1085340.226 922269.211 0, 1085617.27 922274.242 0, 1085894.314 922279.29 0, 1086171.357 922284.354 0, 1086447.073 922289.409 0, 1086725.442 922294.53 0, 1087002.485 922299.643 0, 1087279.527 922304.771 0, 1087556.568 922309.917 0, 1087833.61 922315.078 0,
+ 1088110.651 922320.256 0, 1088387.692 922325.45 0, 1088664.732 922330.661 0, 1088941.772 922335.888 0, 1089218.812 922341.131 0, 1089495.852 922346.39 0, 1089772.891 922351.666 0, 1090049.93 922356.958 0, 1090326.969 922362.266 0, 1090604.007 922367.591 0,
+ 1090881.045 922372.932 0, 1091158.083 922378.289 0, 1091435.12 922383.662 0, 1091712.157 922389.052 0, 1091989.194 922394.458 0, 1092266.23 922399.881 0, 1092543.266 922405.32 0, 1092820.302 922410.775 0, 1093096.012 922416.22 0, 1093206.331 916838.608 0,
+ 1093316.647 911261.142 0))
+
+POLYGON ((1106393.319 922698.017 0, 1106117.624 922691.793 0, 1105840.604 922685.555 0, 1105563.585 922679.334 0, 1105286.565 922673.129 0, 1105009.544 922666.94 0, 1104732.524 922660.767 0, 1104455.503 922654.611 0, 1104178.481 922648.471 0, 1103901.459 922642.348 0,
+ 1103624.437 922636.241 0, 1103347.415 922630.15 0, 1103070.392 922624.075 0, 1102793.369 922618.017 0, 1102516.345 922611.974 0, 1102239.321 922605.949 0, 1101962.297 922599.939 0, 1101685.272 922593.946 0, 1101408.247 922587.969 0, 1101131.222 922582.009 0,
+ 1100854.196 922576.065 0, 1100577.17 922570.137 0, 1100300.144 922564.225 0, 1100023.117 922558.33 0, 1099744.765 922552.423 0, 1099469.062 922546.588 0, 1099192.034 922540.742 0, 1098915.006 922534.911 0, 1098637.978 922529.098 0, 1098360.949 922523.3 0,
+ 1098083.92 922517.519 0, 1097806.89 922511.754 0, 1097529.86 922506.006 0, 1097252.83 922500.273 0, 1096975.8 922494.557 0, 1096698.769 922488.858 0, 1096421.738 922483.174 0, 1096144.706 922477.507 0, 1095867.674 922471.857 0, 1095590.642 922466.222 0,
+ 1095313.61 922460.604 0, 1095036.577 922455.002 0, 1094759.544 922449.417 0, 1094482.51 922443.847 0, 1094205.476 922438.295 0, 1093928.442 922432.758 0, 1093651.408 922427.238 0, 1093374.373 922421.734 0, 1093096.012 922416.22 0, 1092985.69 927993.974 0,
+ 1092875.366 933571.867 0, 1093153.067 933577.367 0, 1093429.445 933582.858 0, 1093705.823 933588.365 0, 1093982.201 933593.889 0, 1094258.578 933599.429 0, 1094534.955 933604.985 0, 1094811.331 933610.557 0, 1095087.708 933616.146 0, 1095364.083 933621.75 0,
+ 1095640.459 933627.371 0, 1095916.834 933633.009 0, 1096193.209 933638.662 0, 1096469.584 933644.332 0, 1096745.958 933650.018 0, 1097022.332 933655.721 0, 1097298.706 933661.439 0, 1097575.079 933667.174 0, 1097851.452 933672.926 0, 1098127.824 933678.693 0,
+ 1098404.197 933684.477 0, 1098680.569 933690.277 0, 1098956.94 933696.093 0, 1099233.311 933701.926 0, 1099508.361 933707.746 0, 1099786.053 933713.64 0, 1100062.423 933719.521 0, 1100338.793 933725.418 0, 1100615.162 933731.332 0, 1100891.531 933737.262 0,
+ 1101167.9 933743.209 0, 1101444.269 933749.172 0, 1101720.637 933755.151 0, 1101997.004 933761.146 0, 1102273.372 933767.157 0, 1102549.739 933773.185 0, 1102826.106 933779.229 0, 1103102.472 933785.289 0, 1103378.838 933791.366 0, 1103655.203 933797.459 0,
+ 1103931.569 933803.568 0, 1104207.934 933809.693 0, 1104484.298 933815.835 0, 1104760.662 933821.992 0, 1105037.026 933828.167 0, 1105313.389 933834.357 0, 1105589.752 933840.564 0, 1105866.115 933846.787 0, 1106141.157 933852.996 0, 1106267.24 928275.437 0,
+ 1106393.319 922698.017 0))
+
+POLYGON ((1119406.102 934171.603 0, 1119131.076 934164.616 0, 1118854.732 934157.612 0, 1118578.387 934150.625 0, 1118302.043 934143.654 0, 1118025.697 934136.699 0, 1117749.352 934129.76 0, 1117473.006 934122.838 0, 1117196.659 934115.932 0, 1116920.312 934109.042 0,
+ 1116643.965 934102.168 0, 1116367.617 934095.311 0, 1116091.269 934088.47 0, 1115814.921 934081.645 0, 1115538.572 934074.837 0, 1115262.223 934068.045 0, 1114985.873 934061.269 0, 1114709.523 934054.509 0, 1114433.172 934047.766 0, 1114156.821 934041.038 0,
+ 1113880.47 934034.327 0, 1113604.118 934027.633 0, 1113327.766 934020.954 0, 1113051.414 934014.292 0, 1112773.742 934007.615 0, 1112498.708 934001.017 0, 1112222.354 933994.404 0, 1111946 933987.806 0, 1111669.646 933981.226 0, 1111393.291 933974.661 0,
+ 1111116.936 933968.113 0, 1110840.58 933961.581 0, 1110564.224 933955.065 0, 1110287.868 933948.566 0, 1110011.511 933942.083 0, 1109735.154 933935.616 0, 1109458.797 933929.165 0, 1109182.439 933922.731 0, 1108906.08 933916.312 0, 1108629.722 933909.911 0,
+ 1108353.363 933903.525 0, 1108077.004 933897.156 0, 1107800.644 933890.803 0, 1107524.284 933884.466 0, 1107247.923 933878.145 0, 1106971.562 933871.841 0, 1106695.201 933865.553 0, 1106418.839 933859.281 0, 1106141.157 933852.996 0, 1106015.072 939430.689 0,
+ 1105888.983 945008.512 0, 1106166.006 945014.782 0, 1106441.711 945021.039 0, 1106717.415 945027.312 0, 1106993.12 945033.602 0, 1107268.823 945039.907 0, 1107544.527 945046.229 0, 1107820.23 945052.567 0, 1108095.933 945058.921 0, 1108371.635 945065.291 0,
+ 1108647.337 945071.678 0, 1108923.039 945078.081 0, 1109198.74 945084.5 0, 1109474.441 945090.935 0, 1109750.142 945097.387 0, 1110025.842 945103.855 0, 1110301.542 945110.339 0, 1110577.241 945116.839 0, 1110852.94 945123.355 0, 1111128.639 945129.888 0,
+ 1111404.337 945136.437 0, 1111680.035 945143.002 0, 1111955.732 945149.584 0, 1112231.429 945156.181 0, 1112505.81 945162.763 0, 1112782.822 945169.425 0, 1113058.518 945176.071 0, 1113334.214 945182.734 0, 1113609.909 945189.413 0, 1113885.603 945196.108 0,
+ 1114161.298 945202.819 0, 1114436.992 945209.546 0, 1114712.685 945216.29 0, 1114988.378 945223.05 0, 1115264.071 945229.826 0, 1115539.763 945236.618 0, 1115815.455 945243.427 0, 1116091.147 945250.252 0, 1116366.838 945257.093 0, 1116642.529 945263.95 0,
+ 1116918.219 945270.823 0, 1117193.909 945277.713 0, 1117469.598 945284.619 0, 1117745.288 945291.541 0, 1118020.976 945298.479 0, 1118296.665 945305.434 0, 1118572.352 945312.405 0, 1118848.04 945319.392 0, 1119122.412 945326.362 0, 1119264.258 939748.917 0,
+ 1119406.102 934171.603 0))
+
+POLYGON ((1132354.89 945681.597 0, 1132080.537 945673.852 0, 1131804.87 945666.086 0, 1131529.203 945658.336 0, 1131253.535 945650.603 0, 1130977.867 945642.886 0, 1130702.199 945635.185 0, 1130426.53 945627.5 0, 1130150.861 945619.831 0, 1129875.191 945612.179 0,
+ 1129599.521 945604.543 0, 1129323.85 945596.923 0, 1129048.179 945589.319 0, 1128772.507 945581.732 0, 1128496.835 945574.161 0, 1128221.163 945566.606 0, 1127945.49 945559.067 0, 1127669.816 945551.545 0, 1127394.142 945544.038 0, 1127118.468 945536.548 0,
+ 1126842.793 945529.075 0, 1126567.118 945521.617 0, 1126291.443 945514.176 0, 1126015.767 945506.75 0, 1125738.777 945499.306 0, 1125464.413 945491.949 0, 1125188.736 945484.572 0, 1124913.058 945477.212 0, 1124637.38 945469.868 0, 1124361.701 945462.54 0,
+ 1124086.022 945455.229 0, 1123810.343 945447.933 0, 1123534.663 945440.654 0, 1123258.983 945433.391 0, 1122983.302 945426.145 0, 1122707.621 945418.914 0, 1122431.939 945411.7 0, 1122156.257 945404.502 0, 1121880.575 945397.32 0, 1121604.892 945390.155 0,
+ 1121329.208 945383.005 0, 1121053.525 945375.872 0, 1120777.841 945368.755 0, 1120502.156 945361.655 0, 1120226.471 945354.57 0, 1119950.786 945347.502 0, 1119675.1 945340.45 0, 1119399.414 945333.415 0, 1119122.412 945326.362 0, 1118980.562 950903.933 0,
+ 1118838.71 956481.626 0, 1119115.052 956488.662 0, 1119390.081 956495.681 0, 1119665.11 956502.716 0, 1119940.139 956509.768 0, 1120215.168 956516.835 0, 1120490.196 956523.919 0, 1120765.223 956531.019 0, 1121040.25 956538.135 0, 1121315.277 956545.267 0,
+ 1121590.303 956552.416 0, 1121865.329 956559.58 0, 1122140.355 956566.761 0, 1122415.38 956573.958 0, 1122690.405 956581.172 0, 1122965.429 956588.401 0, 1123240.452 956595.647 0, 1123515.476 956602.908 0, 1123790.499 956610.186 0, 1124065.521 956617.48 0,
+ 1124340.543 956624.791 0, 1124615.565 956632.117 0, 1124890.586 956639.46 0, 1125165.607 956646.819 0, 1125439.317 956654.159 0, 1125715.647 956661.585 0, 1125990.667 956668.993 0, 1126265.686 956676.416 0, 1126540.704 956683.856 0, 1126815.722 956691.312 0,
+ 1127090.74 956698.785 0, 1127365.757 956706.273 0, 1127640.774 956713.778 0, 1127915.791 956721.298 0, 1128190.807 956728.835 0, 1128465.822 956736.388 0, 1128740.837 956743.958 0, 1129015.852 956751.543 0, 1129290.866 956759.145 0, 1129565.88 956766.763 0,
+ 1129840.893 956774.397 0, 1130115.906 956782.047 0, 1130390.918 956789.714 0, 1130665.93 956797.396 0, 1130940.941 956805.095 0, 1131215.952 956812.81 0, 1131490.963 956820.541 0, 1131765.973 956828.289 0, 1132039.673 956836.015 0, 1132197.283 951258.745 0,
+ 1132354.89 945681.597 0))
+
+POLYGON ((1145239.583 957227.698 0, 1144965.904 957219.198 0, 1144690.916 957210.674 0, 1144415.929 957202.166 0, 1144140.941 957193.674 0, 1143865.952 957185.198 0, 1143590.963 957176.739 0, 1143315.973 957168.295 0, 1143040.983 957159.868 0, 1142765.993 957151.457 0,
+ 1142491.002 957143.062 0, 1142216.01 957134.684 0, 1141941.018 957126.321 0, 1141666.025 957117.975 0, 1141391.032 957109.645 0, 1141116.039 957101.331 0, 1140841.045 957093.033 0, 1140566.05 957084.752 0, 1140291.055 957076.486 0, 1140016.06 957068.237 0,
+ 1139741.064 957060.004 0, 1139466.067 957051.787 0, 1139191.07 957043.587 0, 1138916.073 957035.402 0, 1138639.766 957027.195 0, 1138366.076 957019.082 0, 1138091.078 957010.946 0, 1137816.078 957002.827 0, 1137541.078 956994.723 0, 1137266.078 956986.636 0,
+ 1136991.077 956978.565 0, 1136716.076 956970.51 0, 1136441.074 956962.471 0, 1136166.072 956954.448 0, 1135891.069 956946.442 0, 1135616.066 956938.452 0, 1135341.063 956930.478 0, 1135066.058 956922.52 0, 1134791.054 956914.578 0, 1134516.049 956906.653 0,
+ 1134241.043 956898.744 0, 1133966.037 956890.851 0, 1133691.031 956882.974 0, 1133416.024 956875.113 0, 1133141.017 956867.269 0, 1132866.009 956859.44 0, 1132591.001 956851.628 0, 1132315.992 956843.832 0, 1132039.673 956836.015 0, 1131882.06 962413.404 0,
+ 1131724.443 967990.907 0, 1132000.102 967998.706 0, 1132274.454 968006.483 0, 1132548.806 968014.276 0, 1132823.157 968022.086 0, 1133097.508 968029.912 0, 1133371.858 968037.754 0, 1133646.208 968045.612 0, 1133920.558 968053.486 0, 1134194.907 968061.376 0,
+ 1134469.255 968069.283 0, 1134743.603 968077.206 0, 1135017.951 968085.144 0, 1135292.298 968093.099 0, 1135566.644 968101.07 0, 1135840.99 968109.058 0, 1136115.336 968117.061 0, 1136389.681 968125.081 0, 1136664.026 968133.116 0, 1136938.37 968141.168 0,
+ 1137212.714 968149.236 0, 1137487.057 968157.32 0, 1137761.4 968165.421 0, 1138035.743 968173.537 0, 1138308.779 968181.631 0, 1138584.426 968189.818 0, 1138858.767 968197.983 0, 1139133.107 968206.164 0, 1139407.447 968214.361 0, 1139681.787 968222.575 0,
+ 1139956.126 968230.804 0, 1140230.464 968239.05 0, 1140504.802 968247.312 0, 1140779.14 968255.59 0, 1141053.477 968263.884 0, 1141327.813 968272.194 0, 1141602.149 968280.52 0, 1141876.485 968288.863 0, 1142150.82 968297.221 0, 1142425.155 968305.596 0,
+ 1142699.489 968313.987 0, 1142973.822 968322.394 0, 1143248.155 968330.817 0, 1143522.488 968339.257 0, 1143796.82 968347.712 0, 1144071.152 968356.184 0, 1144345.483 968364.672 0, 1144619.813 968373.176 0, 1144892.839 968381.655 0, 1145066.213 962804.62 0,
+ 1145239.583 957227.698 0))
+
+POLYGON ((1158060.079 968809.605 0, 1157787.076 968800.354 0, 1157512.771 968791.075 0, 1157238.465 968781.812 0, 1156964.158 968772.565 0, 1156689.851 968763.335 0, 1156415.543 968754.12 0, 1156141.235 968744.922 0, 1155866.926 968735.74 0, 1155592.617 968726.574 0,
+ 1155318.307 968717.424 0, 1155043.997 968708.29 0, 1154769.686 968699.173 0, 1154495.374 968690.072 0, 1154221.062 968680.986 0, 1153946.75 968671.917 0, 1153672.437 968662.864 0, 1153398.123 968653.828 0, 1153123.809 968644.807 0, 1152849.495 968635.802 0,
+ 1152575.179 968626.814 0, 1152300.864 968617.842 0, 1152026.547 968608.886 0, 1151752.231 968599.946 0, 1151476.61 968590.98 0, 1151203.596 968582.115 0, 1150929.277 968573.223 0, 1150654.958 968564.348 0, 1150380.639 968555.489 0, 1150106.319 968546.646 0,
+ 1149831.999 968537.819 0, 1149557.678 968529.008 0, 1149283.356 968520.213 0, 1149009.034 968511.435 0, 1148734.712 968502.673 0, 1148460.389 968493.926 0, 1148186.065 968485.196 0, 1147911.741 968476.483 0, 1147637.417 968467.785 0, 1147363.092 968459.103 0,
+ 1147088.766 968450.438 0, 1146814.44 968441.789 0, 1146540.114 968433.155 0, 1146265.787 968424.538 0, 1145991.459 968415.938 0, 1145717.131 968407.353 0, 1145442.802 968398.784 0, 1145168.473 968390.232 0, 1144892.839 968381.655 0, 1144719.462 973958.801 0,
+ 1144546.082 979536.054 0, 1144821.056 979544.61 0, 1145094.729 979553.142 0, 1145368.401 979561.69 0, 1145642.072 979570.254 0, 1145915.744 979578.834 0, 1146189.414 979587.431 0, 1146463.084 979596.043 0, 1146736.754 979604.672 0, 1147010.423 979613.316 0,
+ 1147284.091 979621.977 0, 1147557.759 979630.654 0, 1147831.427 979639.347 0, 1148105.094 979648.056 0, 1148378.76 979656.781 0, 1148652.426 979665.523 0, 1148926.092 979674.28 0, 1149199.757 979683.054 0, 1149473.421 979691.843 0, 1149747.085 979700.649 0,
+ 1150020.748 979709.471 0, 1150294.411 979718.309 0, 1150568.074 979727.163 0, 1150841.735 979736.033 0, 1151114.097 979744.877 0, 1151389.058 979753.822 0, 1151662.718 979762.74 0, 1151936.378 979771.675 0, 1152210.037 979780.626 0, 1152483.695 979789.593 0,
+ 1152757.354 979798.576 0, 1153031.011 979807.575 0, 1153304.668 979816.59 0, 1153578.325 979825.621 0, 1153851.981 979834.668 0, 1154125.636 979843.732 0, 1154399.291 979852.811 0, 1154672.946 979861.907 0, 1154946.6 979871.019 0, 1155220.253 979880.147 0,
+ 1155493.906 979889.291 0, 1155767.558 979898.451 0, 1156041.21 979907.627 0, 1156314.861 979916.819 0, 1156588.512 979926.028 0, 1156862.162 979935.252 0, 1157135.811 979944.493 0, 1157409.46 979953.75 0, 1157681.81 979962.979 0, 1157870.946 974386.238 0,
+ 1158060.079 968809.605 0))
+
+POLYGON ((1170816.28 980427.013 0, 1170543.955 980417.015 0, 1170270.333 980406.985 0, 1169996.711 980396.971 0, 1169723.088 980386.973 0, 1169449.464 980376.992 0, 1169175.84 980367.027 0, 1168902.215 980357.077 0, 1168628.59 980347.144 0, 1168354.964 980337.227 0,
+ 1168081.338 980327.326 0, 1167807.711 980317.441 0, 1167534.083 980307.572 0, 1167260.455 980297.72 0, 1166986.826 980287.883 0, 1166713.197 980278.063 0, 1166439.567 980268.258 0, 1166165.936 980258.47 0, 1165892.305 980248.698 0, 1165618.673 980238.942 0,
+ 1165345.041 980229.202 0, 1165071.408 980219.478 0, 1164797.775 980209.77 0, 1164524.141 980200.079 0, 1164249.209 980190.357 0, 1163976.871 980180.744 0, 1163703.236 980171.101 0, 1163429.599 980161.473 0, 1163155.963 980151.862 0, 1162882.325 980142.267 0,
+ 1162608.687 980132.688 0, 1162335.049 980123.126 0, 1162061.41 980113.579 0, 1161787.77 980104.048 0, 1161514.13 980094.534 0, 1161240.489 980085.036 0, 1160966.848 980075.553 0, 1160693.206 980066.087 0, 1160419.564 980056.637 0, 1160145.921 980047.203 0,
+ 1159872.277 980037.785 0, 1159598.633 980028.384 0, 1159324.988 980018.998 0, 1159051.343 980009.629 0, 1158777.697 980000.275 0, 1158504.051 979990.938 0, 1158230.404 979981.617 0, 1157956.757 979972.312 0, 1157681.81 979962.979 0, 1157492.67 985539.821 0,
+ 1157303.527 991116.762 0, 1157577.814 991126.072 0, 1157850.805 991135.355 0, 1158123.796 991144.654 0, 1158396.785 991153.969 0, 1158669.775 991163.3 0, 1158942.763 991172.647 0, 1159215.751 991182.01 0, 1159488.739 991191.389 0, 1159761.726 991200.784 0,
+ 1160034.713 991210.196 0, 1160307.699 991219.623 0, 1160580.684 991229.066 0, 1160853.669 991238.526 0, 1161126.653 991248.001 0, 1161399.637 991257.493 0, 1161672.62 991267.001 0, 1161945.603 991276.525 0, 1162218.585 991286.064 0, 1162491.566 991295.62 0,
+ 1162764.547 991305.192 0, 1163037.527 991314.78 0, 1163310.507 991324.384 0, 1163583.486 991334.005 0, 1163855.17 991343.595 0, 1164129.443 991353.293 0, 1164402.421 991362.961 0, 1164675.398 991372.646 0, 1164948.374 991382.346 0, 1165221.35 991392.063 0,
+ 1165494.325 991401.796 0, 1165767.3 991411.544 0, 1166040.274 991421.309 0, 1166313.247 991431.09 0, 1166586.22 991440.887 0, 1166859.192 991450.7 0, 1167132.164 991460.529 0, 1167405.135 991470.374 0, 1167678.106 991480.235 0, 1167951.076 991490.112 0,
+ 1168224.046 991500.006 0, 1168497.014 991509.915 0, 1168769.983 991519.84 0, 1169042.95 991529.782 0, 1169315.918 991539.739 0, 1169588.884 991549.713 0, 1169861.85 991559.703 0, 1170134.815 991569.709 0, 1170406.487 991579.683 0, 1170611.385 986003.299 0,
+ 1170816.28 980427.013 0))
+
+POLYGON ((1183508.086 992079.62 0, 1183236.442 992068.878 0, 1182963.506 992058.101 0, 1182690.569 992047.341 0, 1182417.632 992036.596 0, 1182144.694 992025.867 0, 1181871.756 992015.155 0, 1181598.816 992004.458 0, 1181325.877 991993.777 0, 1181052.936 991983.113 0,
+ 1180779.995 991972.465 0, 1180507.053 991961.832 0, 1180234.111 991951.216 0, 1179961.168 991940.616 0, 1179688.225 991930.032 0, 1179415.281 991919.464 0, 1179142.336 991908.912 0, 1178869.39 991898.376 0, 1178596.444 991887.856 0, 1178323.498 991877.352 0,
+ 1178050.55 991866.864 0, 1177777.603 991856.393 0, 1177504.654 991845.937 0, 1177231.705 991835.498 0, 1176957.463 991825.025 0, 1176685.805 991814.667 0, 1176412.854 991804.275 0, 1176139.902 991793.9 0, 1175866.95 991783.541 0, 1175593.997 991773.198 0,
+ 1175321.044 991762.871 0, 1175048.09 991752.56 0, 1174775.135 991742.265 0, 1174502.18 991731.986 0, 1174229.224 991721.723 0, 1173956.268 991711.476 0, 1173683.311 991701.245 0, 1173410.353 991691.031 0, 1173137.395 991680.832 0, 1172864.436 991670.65 0,
+ 1172591.477 991660.483 0, 1172318.517 991650.333 0, 1172045.556 991640.199 0, 1171772.595 991630.08 0, 1171499.633 991619.978 0, 1171226.671 991609.892 0, 1170953.708 991599.822 0, 1170680.744 991589.768 0, 1170406.487 991579.683 0, 1170201.585 997156.161 0,
+ 1169996.68 1002732.729 0, 1170270.278 1002742.79 0, 1170542.585 1002752.82 0, 1170814.892 1002762.866 0, 1171087.198 1002772.928 0, 1171359.503 1002783.005 0, 1171631.808 1002793.099 0, 1171904.112 1002803.209 0, 1172176.416 1002813.335 0, 1172448.719 1002823.477 0,
+ 1172721.021 1002833.635 0, 1172993.323 1002843.809 0, 1173265.624 1002853.999 0, 1173537.924 1002864.205 0, 1173810.224 1002874.427 0, 1174082.524 1002884.666 0, 1174354.823 1002894.92 0, 1174627.121 1002905.19 0, 1174899.418 1002915.476 0, 1175171.715 1002925.778 0,
+ 1175444.012 1002936.097 0, 1175716.307 1002946.431 0, 1175988.603 1002956.781 0, 1176260.897 1002967.148 0, 1176531.902 1002977.481 0, 1176805.484 1002987.928 0, 1177077.777 1002998.343 0, 1177350.069 1003008.773 0, 1177622.361 1003019.22 0, 1177894.652 1003029.682 0,
+ 1178166.942 1003040.161 0, 1178439.231 1003050.655 0, 1178711.52 1003061.166 0, 1178983.809 1003071.693 0, 1179256.097 1003082.235 0, 1179528.384 1003092.794 0, 1179800.67 1003103.369 0, 1180072.956 1003113.959 0, 1180345.241 1003124.566 0, 1180617.526 1003135.189 0,
+ 1180889.81 1003145.828 0, 1181162.093 1003156.483 0, 1181434.376 1003167.153 0, 1181706.658 1003177.84 0, 1181978.94 1003188.543 0, 1182251.221 1003199.262 0, 1182523.501 1003209.997 0, 1182795.781 1003220.748 0, 1183066.772 1003231.464 0, 1183287.431 997655.497 0,
+ 1183508.086 992079.62 0))
+
+POLYGON ((1196135.402 1003767.123 0, 1195864.44 1003755.641 0, 1195592.192 1003744.121 0, 1195319.943 1003732.617 0, 1195047.694 1003721.128 0, 1194775.444 1003709.656 0, 1194503.193 1003698.2 0, 1194230.941 1003686.76 0, 1193958.689 1003675.336 0, 1193686.436 1003663.928 0,
+ 1193414.183 1003652.536 0, 1193141.928 1003641.16 0, 1192869.674 1003629.8 0, 1192597.418 1003618.456 0, 1192325.162 1003607.128 0, 1192052.905 1003595.817 0, 1191780.647 1003584.521 0, 1191508.389 1003573.241 0, 1191236.13 1003561.977 0, 1190963.871 1003550.729 0,
+ 1190691.61 1003539.498 0, 1190419.35 1003528.282 0, 1190147.088 1003517.082 0, 1189874.826 1003505.899 0, 1189601.276 1003494.678 0, 1189330.299 1003483.579 0, 1189058.035 1003472.444 0, 1188785.77 1003461.324 0, 1188513.505 1003450.221 0, 1188241.239 1003439.133 0,
+ 1187968.972 1003428.062 0, 1187696.705 1003417.006 0, 1187424.437 1003405.967 0, 1187152.168 1003394.943 0, 1186879.898 1003383.936 0, 1186607.628 1003372.945 0, 1186335.358 1003361.969 0, 1186063.086 1003351.01 0, 1185790.815 1003340.067 0, 1185518.542 1003329.139 0,
+ 1185246.269 1003318.228 0, 1184973.995 1003307.333 0, 1184701.72 1003296.454 0, 1184429.445 1003285.591 0, 1184157.169 1003274.743 0, 1183884.893 1003263.912 0, 1183612.616 1003253.097 0, 1183340.338 1003242.298 0, 1183066.772 1003231.464 0, 1182846.109 1008807.517 0,
+ 1182625.443 1014383.651 0, 1182898.35 1014394.459 0, 1183169.972 1014405.232 0, 1183441.592 1014416.021 0, 1183713.213 1014426.826 0, 1183984.832 1014437.647 0, 1184256.451 1014448.484 0, 1184528.069 1014459.337 0, 1184799.686 1014470.206 0, 1185071.303 1014481.091 0,
+ 1185342.919 1014491.992 0, 1185614.535 1014502.909 0, 1185886.15 1014513.842 0, 1186157.764 1014524.791 0, 1186429.378 1014535.756 0, 1186700.991 1014546.736 0, 1186972.603 1014557.733 0, 1187244.215 1014568.746 0, 1187515.826 1014579.775 0, 1187787.436 1014590.82 0,
+ 1188059.046 1014601.881 0, 1188330.655 1014612.957 0, 1188602.264 1014624.05 0, 1188873.872 1014635.159 0, 1189144.195 1014646.231 0, 1189417.085 1014657.424 0, 1189688.691 1014668.581 0, 1189960.296 1014679.754 0, 1190231.901 1014690.942 0, 1190503.505 1014702.147 0,
+ 1190775.108 1014713.368 0, 1191046.71 1014724.604 0, 1191318.312 1014735.857 0, 1191589.913 1014747.126 0, 1191861.514 1014758.41 0, 1192133.114 1014769.711 0, 1192404.713 1014781.027 0, 1192676.312 1014792.36 0, 1192947.91 1014803.708 0, 1193219.507 1014815.073 0,
+ 1193491.103 1014826.453 0, 1193762.699 1014837.85 0, 1194034.294 1014849.262 0, 1194305.889 1014860.691 0, 1194577.483 1014872.135 0, 1194849.076 1014883.596 0, 1195120.669 1014895.072 0, 1195392.26 1014906.565 0, 1195662.569 1014918.019 0, 1195898.987 1009342.53 0,
+ 1196135.402 1003767.123 0))
+
+POLYGON ((1208698.132 1015489.216 0, 1208427.855 1015476.998 0, 1208156.297 1015464.738 0, 1207884.738 1015452.495 0, 1207613.178 1015440.267 0, 1207341.618 1015428.055 0, 1207070.057 1015415.86 0, 1206798.495 1015403.68 0, 1206526.932 1015391.516 0, 1206255.369 1015379.368 0,
+ 1205983.805 1015367.237 0, 1205712.24 1015355.121 0, 1205440.675 1015343.021 0, 1205169.108 1015330.937 0, 1204897.542 1015318.869 0, 1204625.974 1015306.817 0, 1204354.406 1015294.782 0, 1204082.837 1015282.762 0, 1203811.267 1015270.758 0, 1203539.697 1015258.77 0,
+ 1203268.125 1015246.798 0, 1202996.554 1015234.842 0, 1202724.981 1015222.902 0, 1202453.408 1015210.978 0, 1202180.552 1015199.014 0, 1201910.259 1015187.178 0, 1201638.684 1015175.302 0, 1201367.108 1015163.442 0, 1201095.531 1015151.598 0, 1200823.954 1015139.77 0,
+ 1200552.376 1015127.957 0, 1200280.797 1015116.161 0, 1200009.217 1015104.381 0, 1199737.637 1015092.617 0, 1199466.056 1015080.869 0, 1199194.475 1015069.137 0, 1198922.892 1015057.421 0, 1198651.309 1015045.72 0, 1198379.726 1015034.036 0, 1198108.141 1015022.368 0,
+ 1197836.556 1015010.716 0, 1197564.971 1014999.079 0, 1197293.384 1014987.459 0, 1197021.797 1014975.855 0, 1196750.209 1014964.266 0, 1196478.621 1014952.694 0, 1196207.032 1014941.138 0, 1195935.442 1014929.597 0, 1195662.569 1014918.019 0, 1195426.147 1020493.585 0,
+ 1195189.722 1026069.225 0, 1195461.936 1026080.776 0, 1195732.87 1026092.288 0, 1196003.802 1026103.816 0, 1196274.735 1026115.361 0, 1196545.666 1026126.921 0, 1196816.597 1026138.497 0, 1197087.527 1026150.09 0, 1197358.456 1026161.698 0, 1197629.385 1026173.322 0,
+ 1197900.313 1026184.962 0, 1198171.24 1026196.618 0, 1198442.167 1026208.29 0, 1198713.093 1026219.978 0, 1198984.018 1026231.682 0, 1199254.943 1026243.401 0, 1199525.867 1026255.137 0, 1199796.79 1026266.889 0, 1200067.712 1026278.656 0, 1200338.634 1026290.44 0,
+ 1200609.555 1026302.239 0, 1200880.476 1026314.055 0, 1201151.395 1026325.886 0, 1201422.314 1026337.734 0, 1201691.954 1026349.541 0, 1201964.15 1026361.476 0, 1202235.067 1026373.371 0, 1202505.984 1026385.282 0, 1202776.899 1026397.21 0, 1203047.814 1026409.153 0,
+ 1203318.728 1026421.112 0, 1203589.641 1026433.086 0, 1203860.554 1026445.077 0, 1204131.466 1026457.084 0, 1204402.378 1026469.107 0, 1204673.288 1026481.146 0, 1204944.198 1026493.2 0, 1205215.107 1026505.271 0, 1205486.016 1026517.357 0, 1205756.923 1026529.46 0,
+ 1206027.83 1026541.578 0, 1206298.737 1026553.713 0, 1206569.642 1026565.863 0, 1206840.547 1026578.029 0, 1207111.451 1026590.211 0, 1207382.355 1026602.409 0, 1207653.258 1026614.623 0, 1207924.16 1026626.854 0, 1208193.784 1026639.042 0, 1208445.96 1021064.092 0,
+ 1208698.132 1015489.216 0))
+
+POLYGON ((1221196.183 1027245.595 0, 1220926.593 1027232.645 0, 1220655.726 1027219.65 0, 1220384.859 1027206.67 0, 1220113.991 1027193.707 0, 1219843.123 1027180.76 0, 1219572.253 1027167.828 0, 1219301.383 1027154.912 0, 1219030.512 1027142.013 0, 1218759.64 1027129.129 0,
+ 1218488.768 1027116.261 0, 1218217.894 1027103.409 0, 1217947.02 1027090.573 0, 1217676.146 1027077.753 0, 1217405.27 1027064.949 0, 1217134.394 1027052.161 0, 1216863.517 1027039.389 0, 1216592.639 1027026.633 0, 1216321.761 1027013.893 0, 1216050.881 1027001.169 0,
+ 1215780.001 1026988.46 0, 1215509.121 1026975.768 0, 1215238.239 1026963.091 0, 1214967.357 1026950.431 0, 1214695.198 1026937.727 0, 1214425.59 1026925.158 0, 1214154.706 1026912.545 0, 1213883.82 1026899.948 0, 1213612.934 1026887.367 0, 1213342.048 1026874.802 0,
+ 1213071.16 1026862.254 0, 1212800.272 1026849.721 0, 1212529.383 1026837.204 0, 1212258.494 1026824.702 0, 1211987.603 1026812.217 0, 1211716.712 1026799.748 0, 1211445.82 1026787.295 0, 1211174.928 1026774.858 0, 1210904.034 1026762.436 0, 1210633.14 1026750.031 0,
+ 1210362.245 1026737.641 0, 1210091.35 1026725.268 0, 1209820.454 1026712.91 0, 1209549.557 1026700.569 0, 1209278.659 1026688.243 0, 1209007.761 1026675.933 0, 1208736.861 1026663.639 0, 1208465.962 1026651.361 0, 1208193.784 1026639.042 0, 1207941.604 1032214.061 0,
+ 1207689.422 1037789.145 0, 1207960.941 1037801.434 0, 1208231.185 1037813.683 0, 1208501.427 1037825.947 0, 1208771.67 1037838.226 0, 1209041.911 1037850.522 0, 1209312.152 1037862.834 0, 1209582.392 1037875.162 0, 1209852.631 1037887.505 0, 1210122.87 1037899.865 0,
+ 1210393.107 1037912.24 0, 1210663.344 1037924.631 0, 1210933.581 1037937.039 0, 1211203.816 1037949.462 0, 1211474.051 1037961.901 0, 1211744.285 1037974.356 0, 1212014.519 1037986.826 0, 1212284.751 1037999.313 0, 1212554.983 1038011.816 0, 1212825.215 1038024.334 0,
+ 1213095.445 1038036.869 0, 1213365.675 1038049.419 0, 1213635.904 1038061.985 0, 1213906.132 1038074.567 0, 1214175.086 1038087.106 0, 1214446.586 1038099.779 0, 1214716.812 1038112.409 0, 1214987.038 1038125.055 0, 1215257.262 1038137.717 0, 1215527.486 1038150.394 0,
+ 1215797.709 1038163.088 0, 1216067.931 1038175.797 0, 1216338.153 1038188.522 0, 1216608.374 1038201.263 0, 1216878.594 1038214.02 0, 1217148.813 1038226.793 0, 1217419.031 1038239.582 0, 1217689.249 1038252.387 0, 1217959.466 1038265.208 0, 1218229.683 1038278.045 0,
+ 1218499.898 1038290.897 0, 1218770.113 1038303.765 0, 1219040.327 1038316.65 0, 1219310.54 1038329.55 0, 1219580.753 1038342.466 0, 1219850.964 1038355.398 0, 1220121.175 1038368.346 0, 1220391.385 1038381.31 0, 1220660.323 1038394.229 0, 1220928.255 1032819.879 0,
+ 1221196.183 1027245.595 0))
+
+POLYGON ((1233629.462 1039035.955 0, 1233360.56 1039022.277 0, 1233090.388 1039008.55 0, 1232820.214 1038994.838 0, 1232550.04 1038981.143 0, 1232279.865 1038967.464 0, 1232009.69 1038953.8 0, 1231739.513 1038940.152 0, 1231469.336 1038926.521 0, 1231199.158 1038912.905 0,
+ 1230928.979 1038899.305 0, 1230658.799 1038885.721 0, 1230388.618 1038872.152 0, 1230118.437 1038858.6 0, 1229848.255 1038845.064 0, 1229578.072 1038831.543 0, 1229307.888 1038818.039 0, 1229037.704 1038804.55 0, 1228767.519 1038791.077 0, 1228497.332 1038777.621 0,
+ 1228227.146 1038764.18 0, 1227956.958 1038750.755 0, 1227686.769 1038737.345 0, 1227416.58 1038723.952 0, 1227145.119 1038710.512 0, 1226876.199 1038697.213 0, 1226606.008 1038683.868 0, 1226335.815 1038670.538 0, 1226065.622 1038657.225 0, 1225795.428 1038643.927 0,
+ 1225525.233 1038630.645 0, 1225255.038 1038617.379 0, 1224984.841 1038604.129 0, 1224714.644 1038590.894 0, 1224444.446 1038577.676 0, 1224174.248 1038564.474 0, 1223904.048 1038551.287 0, 1223633.848 1038538.117 0, 1223363.647 1038524.962 0, 1223093.445 1038511.823 0,
+ 1222823.243 1038498.7 0, 1222553.04 1038485.593 0, 1222282.835 1038472.502 0, 1222012.631 1038459.427 0, 1221742.425 1038446.368 0, 1221472.219 1038433.324 0, 1221202.012 1038420.297 0, 1220931.804 1038407.285 0, 1220660.323 1038394.229 0, 1220392.388 1043968.639 0,
+ 1220124.451 1049543.105 0, 1220395.272 1049556.13 0, 1220664.824 1049569.11 0, 1220934.375 1049582.106 0, 1221203.925 1049595.118 0, 1221473.475 1049608.145 0, 1221743.023 1049621.189 0, 1222012.571 1049634.248 0, 1222282.118 1049647.323 0, 1222551.665 1049660.414 0,
+ 1222821.21 1049673.521 0, 1223090.755 1049686.644 0, 1223360.299 1049699.783 0, 1223629.842 1049712.937 0, 1223899.385 1049726.107 0, 1224168.926 1049739.294 0, 1224438.467 1049752.496 0, 1224708.007 1049765.714 0, 1224977.547 1049778.947 0, 1225247.085 1049792.197 0,
+ 1225516.623 1049805.463 0, 1225786.16 1049818.744 0, 1226055.697 1049832.041 0, 1226325.232 1049845.354 0, 1226593.499 1049858.621 0, 1226864.301 1049872.028 0, 1227133.834 1049885.389 0, 1227403.366 1049898.765 0, 1227672.898 1049912.158 0, 1227942.428 1049925.566 0,
+ 1228211.958 1049938.99 0, 1228481.487 1049952.43 0, 1228751.016 1049965.886 0, 1229020.543 1049979.358 0, 1229290.07 1049992.846 0, 1229559.596 1050006.349 0, 1229829.121 1050019.869 0, 1230098.646 1050033.404 0, 1230368.169 1050046.955 0, 1230637.692 1050060.522 0,
+ 1230907.214 1050074.105 0, 1231176.735 1050087.703 0, 1231446.256 1050101.318 0, 1231715.775 1050114.948 0, 1231985.294 1050128.594 0, 1232254.812 1050142.257 0, 1232524.329 1050155.935 0, 1232793.846 1050169.628 0, 1233062.095 1050183.274 0, 1233345.78 1044609.586 0,
+ 1233629.462 1039035.955 0))
+
+POLYGON ((1245997.878 1050859.991 0, 1245729.667 1050845.588 0, 1245460.19 1050831.132 0, 1245190.713 1050816.693 0, 1244921.234 1050802.269 0, 1244651.755 1050787.862 0, 1244382.275 1050773.47 0, 1244112.794 1050759.094 0, 1243843.313 1050744.734 0, 1243573.83 1050730.39 0,
+ 1243304.347 1050716.061 0, 1243034.862 1050701.749 0, 1242765.377 1050687.452 0, 1242495.891 1050673.172 0, 1242226.405 1050658.907 0, 1241956.917 1050644.658 0, 1241687.429 1050630.425 0, 1241417.939 1050616.207 0, 1241148.449 1050602.006 0, 1240878.958 1050587.82 0,
+ 1240609.466 1050573.65 0, 1240339.974 1050559.497 0, 1240070.48 1050545.359 0, 1239800.986 1050531.236 0, 1239530.225 1050517.064 0, 1239261.995 1050503.04 0, 1238992.498 1050488.965 0, 1238723.001 1050474.906 0, 1238453.502 1050460.864 0, 1238184.003 1050446.837 0,
+ 1237914.503 1050432.826 0, 1237645.002 1050418.83 0, 1237375.5 1050404.851 0, 1237105.998 1050390.887 0, 1236836.494 1050376.94 0, 1236566.99 1050363.008 0, 1236297.485 1050349.092 0, 1236027.979 1050335.192 0, 1235758.473 1050321.308 0, 1235488.965 1050307.439 0,
+ 1235219.457 1050293.587 0, 1234949.948 1050279.75 0, 1234680.438 1050265.93 0, 1234410.927 1050252.125 0, 1234141.416 1050238.336 0, 1233871.903 1050224.562 0, 1233602.39 1050210.805 0, 1233332.876 1050197.064 0, 1233062.095 1050183.274 0, 1232778.407 1055757.014 0,
+ 1232494.717 1061330.802 0, 1232764.839 1061344.558 0, 1233033.697 1061358.266 0, 1233302.554 1061371.99 0, 1233571.41 1061385.729 0, 1233840.265 1061399.485 0, 1234109.12 1061413.256 0, 1234377.974 1061427.043 0, 1234646.827 1061440.846 0, 1234915.679 1061454.665 0,
+ 1235184.53 1061468.5 0, 1235453.381 1061482.35 0, 1235722.231 1061496.216 0, 1235991.08 1061510.098 0, 1236259.928 1061523.996 0, 1236528.775 1061537.91 0, 1236797.621 1061551.839 0, 1237066.467 1061565.785 0, 1237335.312 1061579.746 0, 1237604.156 1061593.723 0,
+ 1237872.999 1061607.716 0, 1238141.841 1061621.724 0, 1238410.683 1061635.749 0, 1238679.524 1061649.789 0, 1238947.101 1061663.779 0, 1239217.203 1061677.917 0, 1239486.041 1061692.005 0, 1239754.878 1061706.109 0, 1240023.715 1061720.228 0, 1240292.55 1061734.363 0,
+ 1240561.385 1061748.514 0, 1240830.219 1061762.681 0, 1241099.053 1061776.864 0, 1241367.885 1061791.062 0, 1241636.717 1061805.277 0, 1241905.547 1061819.507 0, 1242174.377 1061833.753 0, 1242443.206 1061848.015 0, 1242712.034 1061862.292 0, 1242980.862 1061876.586 0,
+ 1243249.688 1061890.895 0, 1243518.514 1061905.22 0, 1243787.339 1061919.561 0, 1244056.163 1061933.918 0, 1244324.986 1061948.29 0, 1244593.808 1061962.679 0, 1244862.63 1061977.083 0, 1245131.45 1061991.503 0, 1245399.009 1062005.871 0, 1245698.445 1056432.907 0,
+ 1245997.878 1050859.991 0))
+
+POLYGON ((1258301.342 1062717.395 0, 1258033.823 1062702.271 0, 1257765.044 1062687.091 0, 1257496.265 1062671.928 0, 1257227.484 1062656.78 0, 1256958.703 1062641.648 0, 1256689.92 1062626.532 0, 1256421.137 1062611.432 0, 1256152.353 1062596.347 0, 1255883.568 1062581.278 0,
+ 1255614.782 1062566.225 0, 1255345.995 1062551.188 0, 1255077.208 1062536.167 0, 1254808.419 1062521.162 0, 1254539.63 1062506.172 0, 1254270.839 1062491.198 0, 1254002.048 1062476.24 0, 1253733.256 1062461.298 0, 1253464.463 1062446.372 0, 1253195.669 1062431.461 0,
+ 1252926.874 1062416.567 0, 1252658.079 1062401.688 0, 1252389.282 1062386.825 0, 1252120.485 1062371.977 0, 1251850.426 1062357.077 0, 1251582.888 1062342.331 0, 1251314.088 1062327.531 0, 1251045.287 1062312.747 0, 1250776.485 1062297.979 0, 1250507.683 1062283.226 0,
+ 1250238.879 1062268.49 0, 1249970.075 1062253.769 0, 1249701.27 1062239.064 0, 1249432.464 1062224.375 0, 1249163.657 1062209.702 0, 1248894.849 1062195.045 0, 1248626.04 1062180.403 0, 1248357.231 1062165.778 0, 1248088.421 1062151.168 0, 1247819.609 1062136.574 0,
+ 1247550.797 1062121.995 0, 1247281.984 1062107.433 0, 1247013.171 1062092.886 0, 1246744.356 1062078.356 0, 1246475.54 1062063.841 0, 1246206.724 1062049.341 0, 1245937.907 1062034.858 0, 1245669.089 1062020.391 0, 1245399.009 1062005.871 0, 1245099.57 1067578.879 0,
+ 1244800.129 1073151.927 0, 1245069.551 1073166.411 0, 1245337.713 1073180.843 0, 1245605.874 1073195.291 0, 1245874.034 1073209.755 0, 1246142.194 1073224.235 0, 1246410.352 1073238.73 0, 1246678.51 1073253.241 0, 1246946.667 1073267.768 0, 1247214.823 1073282.311 0,
+ 1247482.978 1073296.869 0, 1247751.133 1073311.443 0, 1248019.286 1073326.033 0, 1248287.439 1073340.639 0, 1248555.59 1073355.261 0, 1248823.741 1073369.898 0, 1249091.891 1073384.551 0, 1249360.04 1073399.22 0, 1249628.189 1073413.905 0, 1249896.336 1073428.605 0,
+ 1250164.483 1073443.322 0, 1250432.628 1073458.054 0, 1250700.773 1073472.802 0, 1250968.917 1073487.565 0, 1251235.803 1073502.275 0, 1251505.203 1073517.14 0, 1251773.344 1073531.951 0, 1252041.484 1073546.778 0, 1252309.624 1073561.62 0, 1252577.763 1073576.479 0,
+ 1252845.901 1073591.353 0, 1253114.038 1073606.243 0, 1253382.174 1073621.148 0, 1253650.309 1073636.07 0, 1253918.443 1073651.007 0, 1254186.577 1073665.96 0, 1254454.71 1073680.929 0, 1254722.841 1073695.913 0, 1254990.972 1073710.914 0, 1255259.102 1073725.93 0,
+ 1255527.231 1073740.962 0, 1255795.359 1073756.01 0, 1256063.487 1073771.073 0, 1256331.613 1073786.152 0, 1256599.738 1073801.247 0, 1256867.863 1073816.358 0, 1257135.987 1073831.485 0, 1257404.11 1073846.627 0, 1257670.976 1073861.714 0, 1257986.16 1068289.535 0,
+ 1258301.342 1062717.395 0))
+
+POLYGON ((1270539.765 1074607.861 0, 1270272.941 1074592.02 0, 1270004.862 1074576.12 0, 1269736.782 1074560.236 0, 1269468.701 1074544.368 0, 1269200.619 1074528.516 0, 1268932.536 1074512.679 0, 1268664.453 1074496.858 0, 1268396.368 1074481.053 0, 1268128.283 1074465.263 0,
+ 1267860.196 1074449.49 0, 1267592.109 1074433.732 0, 1267324.02 1074417.99 0, 1267055.931 1074402.264 0, 1266787.841 1074386.553 0, 1266519.75 1074370.858 0, 1266251.658 1074355.18 0, 1265983.565 1074339.516 0, 1265715.471 1074323.869 0, 1265447.376 1074308.237 0,
+ 1265179.281 1074292.622 0, 1264911.184 1074277.022 0, 1264643.087 1074261.437 0, 1264374.988 1074245.869 0, 1264105.634 1074230.243 0, 1263838.788 1074214.779 0, 1263570.687 1074199.258 0, 1263302.585 1074183.753 0, 1263034.482 1074168.263 0, 1262766.378 1074152.789 0,
+ 1262498.273 1074137.331 0, 1262230.168 1074121.889 0, 1261962.061 1074106.463 0, 1261693.953 1074091.052 0, 1261425.845 1074075.657 0, 1261157.736 1074060.278 0, 1260889.625 1074044.915 0, 1260621.514 1074029.567 0, 1260353.402 1074014.235 0, 1260085.289 1073998.919 0,
+ 1259817.175 1073983.619 0, 1259549.06 1073968.335 0, 1259280.945 1073953.066 0, 1259012.828 1073937.813 0, 1258744.711 1073922.576 0, 1258476.592 1073907.355 0, 1258208.473 1073892.149 0, 1257940.353 1073876.959 0, 1257670.976 1073861.714 0, 1257355.789 1079433.929 0,
+ 1257040.601 1085006.175 0, 1257309.319 1085021.383 0, 1257576.784 1085036.535 0, 1257844.247 1085051.704 0, 1258111.709 1085066.888 0, 1258379.171 1085082.088 0, 1258646.632 1085097.303 0, 1258914.091 1085112.534 0, 1259181.55 1085127.781 0, 1259449.008 1085143.044 0,
+ 1259716.465 1085158.323 0, 1259983.922 1085173.617 0, 1260251.377 1085188.927 0, 1260518.831 1085204.253 0, 1260786.285 1085219.594 0, 1261053.737 1085234.951 0, 1261321.189 1085250.324 0, 1261588.64 1085265.713 0, 1261856.089 1085281.118 0, 1262123.538 1085296.538 0,
+ 1262390.986 1085311.974 0, 1262658.434 1085327.425 0, 1262925.88 1085342.893 0, 1263193.325 1085358.376 0, 1263459.518 1085373.802 0, 1263728.213 1085389.39 0, 1263995.656 1085404.92 0, 1264263.097 1085420.466 0, 1264530.538 1085436.028 0, 1264797.978 1085451.606 0,
+ 1265065.417 1085467.199 0, 1265332.855 1085482.808 0, 1265600.292 1085498.433 0, 1265867.728 1085514.073 0, 1266135.163 1085529.73 0, 1266402.597 1085545.402 0, 1266670.031 1085561.09 0, 1266937.463 1085576.793 0, 1267204.895 1085592.512 0, 1267472.325 1085608.247 0,
+ 1267739.755 1085623.998 0, 1268007.184 1085639.765 0, 1268274.612 1085655.547 0, 1268542.038 1085671.345 0, 1268809.464 1085687.159 0, 1269076.889 1085702.988 0, 1269344.314 1085718.833 0, 1269611.737 1085734.694 0, 1269877.908 1085750.497 0, 1270208.838 1080179.164 0,
+ 1270539.765 1074607.861 0))
+
+POLYGON ((1282713.061 1086531.083 0, 1282446.933 1086514.529 0, 1282179.556 1086497.912 0, 1281912.178 1086481.312 0, 1281644.798 1086464.727 0, 1281377.418 1086448.157 0, 1281110.037 1086431.604 0, 1280842.655 1086415.066 0, 1280575.272 1086398.544 0, 1280307.887 1086382.038 0,
+ 1280040.502 1086365.548 0, 1279773.116 1086349.073 0, 1279505.729 1086332.614 0, 1279238.341 1086316.171 0, 1278970.952 1086299.743 0, 1278703.562 1086283.331 0, 1278436.172 1086266.935 0, 1278168.78 1086250.555 0, 1277901.387 1086234.19 0, 1277633.993 1086217.841 0,
+ 1277366.598 1086201.508 0, 1277099.203 1086185.191 0, 1276831.806 1086168.889 0, 1276564.408 1086152.603 0, 1276295.76 1086136.257 0, 1276029.61 1086120.079 0, 1275762.21 1086103.84 0, 1275494.808 1086087.617 0, 1275227.406 1086071.41 0, 1274960.003 1086055.218 0,
+ 1274692.598 1086039.043 0, 1274425.193 1086022.883 0, 1274157.787 1086006.738 0, 1273890.38 1085990.61 0, 1273622.972 1085974.497 0, 1273355.562 1085958.4 0, 1273088.152 1085942.319 0, 1272820.742 1085926.253 0, 1272553.33 1085910.203 0, 1272285.917 1085894.169 0,
+ 1272018.503 1085878.151 0, 1271751.088 1085862.148 0, 1271483.673 1085846.162 0, 1271216.256 1085830.19 0, 1270948.838 1085814.235 0, 1270681.42 1085798.295 0, 1270414.001 1085782.372 0, 1270146.58 1085766.463 0, 1269877.908 1085750.497 0, 1269546.977 1091321.856 0,
+ 1269216.045 1096893.238 0, 1269484.058 1096909.166 0, 1269750.823 1096925.035 0, 1270017.586 1096940.92 0, 1270284.349 1096956.821 0, 1270551.111 1096972.737 0, 1270817.871 1096988.669 0, 1271084.631 1097004.616 0, 1271351.39 1097020.58 0, 1271618.148 1097036.559 0,
+ 1271884.905 1097052.554 0, 1272151.661 1097068.564 0, 1272418.416 1097084.59 0, 1272685.17 1097100.632 0, 1272951.924 1097116.69 0, 1273218.676 1097132.763 0, 1273485.427 1097148.852 0, 1273752.178 1097164.956 0, 1274018.927 1097181.077 0, 1274285.676 1097197.213 0,
+ 1274552.423 1097213.365 0, 1274819.17 1097229.532 0, 1275085.916 1097245.715 0, 1275352.66 1097261.914 0, 1275618.157 1097278.053 0, 1275886.147 1097294.359 0, 1276152.889 1097310.605 0, 1276419.63 1097326.867 0, 1276686.37 1097343.144 0, 1276953.108 1097359.437 0,
+ 1277219.846 1097375.746 0, 1277486.584 1097392.07 0, 1277753.32 1097408.41 0, 1278020.055 1097424.766 0, 1278286.789 1097441.138 0, 1278553.522 1097457.525 0, 1278820.254 1097473.928 0, 1279086.986 1097490.347 0, 1279353.716 1097506.781 0, 1279620.445 1097523.231 0,
+ 1279887.174 1097539.697 0, 1280153.901 1097556.178 0, 1280420.627 1097572.675 0, 1280687.353 1097589.188 0, 1280954.077 1097605.717 0, 1281220.801 1097622.261 0, 1281487.523 1097638.821 0, 1281754.245 1097655.397 0, 1282019.72 1097671.91 0, 1282366.391 1092101.486 0,
+ 1282713.061 1086531.083 0))
+
+POLYGON ((1294821.144 1098486.752 0, 1294555.715 1098469.488 0, 1294289.041 1098452.159 0, 1294022.366 1098434.846 0, 1293755.691 1098417.548 0, 1293489.014 1098400.266 0, 1293222.336 1098383 0, 1292955.658 1098365.749 0, 1292688.978 1098348.514 0, 1292422.297 1098331.295 0,
+ 1292155.615 1098314.091 0, 1291888.932 1098296.903 0, 1291622.249 1098279.731 0, 1291355.564 1098262.575 0, 1291088.878 1098245.434 0, 1290822.191 1098228.309 0, 1290555.503 1098211.2 0, 1290288.814 1098194.106 0, 1290022.124 1098177.028 0, 1289755.434 1098159.966 0,
+ 1289488.742 1098142.919 0, 1289222.049 1098125.888 0, 1288955.355 1098108.873 0, 1288688.66 1098091.873 0, 1288420.72 1098074.811 0, 1288155.267 1098057.922 0, 1287888.569 1098040.969 0, 1287621.871 1098024.033 0, 1287355.171 1098007.112 0, 1287088.47 1097990.206 0,
+ 1286821.768 1097973.317 0, 1286555.065 1097956.443 0, 1286288.361 1097939.584 0, 1286021.656 1097922.742 0, 1285754.951 1097905.915 0, 1285488.244 1097889.104 0, 1285221.536 1097872.309 0, 1284954.827 1097855.529 0, 1284688.117 1097838.765 0, 1284421.407 1097822.017 0,
+ 1284154.695 1097805.284 0, 1283887.982 1097788.567 0, 1283621.268 1097771.866 0, 1283354.554 1097755.18 0, 1283087.838 1097738.51 0, 1282821.121 1097721.856 0, 1282554.404 1097705.218 0, 1282287.685 1097688.595 0, 1282019.72 1097671.91 0, 1281673.048 1103242.353 0,
+ 1281326.375 1108812.81 0, 1281593.681 1108829.453 0, 1281859.744 1108846.035 0, 1282125.806 1108862.633 0, 1282391.867 1108879.246 0, 1282657.927 1108895.875 0, 1282923.986 1108912.519 0, 1283190.044 1108929.179 0, 1283456.101 1108945.855 0, 1283722.157 1108962.547 0,
+ 1283988.212 1108979.254 0, 1284254.266 1108995.977 0, 1284520.319 1109012.715 0, 1284786.371 1109029.469 0, 1285052.422 1109046.239 0, 1285318.472 1109063.024 0, 1285584.522 1109079.826 0, 1285850.57 1109096.642 0, 1286116.617 1109113.475 0, 1286382.663 1109130.323 0,
+ 1286648.708 1109147.187 0, 1286914.752 1109164.066 0, 1287180.796 1109180.961 0, 1287446.838 1109197.872 0, 1287711.638 1109214.719 0, 1287978.919 1109231.74 0, 1288244.958 1109248.698 0, 1288510.997 1109265.671 0, 1288777.034 1109282.66 0, 1289043.07 1109299.665 0,
+ 1289309.105 1109316.685 0, 1289575.139 1109333.721 0, 1289841.173 1109350.773 0, 1290107.205 1109367.84 0, 1290373.236 1109384.923 0, 1290639.266 1109402.022 0, 1290905.295 1109419.136 0, 1291171.324 1109436.266 0, 1291437.351 1109453.412 0, 1291703.377 1109470.573 0,
+ 1291969.402 1109487.75 0, 1292235.426 1109504.942 0, 1292501.449 1109522.151 0, 1292767.471 1109539.374 0, 1293033.493 1109556.614 0, 1293299.513 1109573.869 0, 1293565.532 1109591.14 0, 1293831.55 1109608.427 0, 1294096.327 1109625.648 0, 1294458.736 1104056.193 0,
+ 1294821.144 1098486.752 0))
+
+POLYGON ((1306863.931 1110474.561 0, 1306599.202 1110456.591 0, 1306333.234 1110438.553 0, 1306067.265 1110420.531 0, 1305801.294 1110402.524 0, 1305535.323 1110384.533 0, 1305269.351 1110366.558 0, 1305003.377 1110348.598 0, 1304737.403 1110330.654 0, 1304471.427 1110312.725 0,
+ 1304205.45 1110294.813 0, 1303939.473 1110276.916 0, 1303673.494 1110259.034 0, 1303407.514 1110241.168 0, 1303141.533 1110223.318 0, 1302875.552 1110205.484 0, 1302609.569 1110187.665 0, 1302343.585 1110169.862 0, 1302077.6 1110152.074 0, 1301811.614 1110134.302 0,
+ 1301545.627 1110116.546 0, 1301279.638 1110098.806 0, 1301013.649 1110081.081 0, 1300747.659 1110063.371 0, 1300480.429 1110045.595 0, 1300215.675 1110028 0, 1299949.682 1110010.338 0, 1299683.688 1109992.691 0, 1299417.692 1109975.06 0, 1299151.696 1109957.445 0,
+ 1298885.698 1109939.845 0, 1298619.7 1109922.261 0, 1298353.7 1109904.693 0, 1298087.699 1109887.14 0, 1297821.698 1109869.603 0, 1297555.695 1109852.082 0, 1297289.691 1109834.576 0, 1297023.687 1109817.086 0, 1296757.681 1109799.612 0, 1296491.674 1109782.153 0,
+ 1296225.666 1109764.71 0, 1295959.657 1109747.282 0, 1295693.647 1109729.871 0, 1295427.637 1109712.474 0, 1295161.625 1109695.094 0, 1294895.612 1109677.729 0, 1294629.598 1109660.38 0, 1294363.583 1109643.047 0, 1294096.327 1109625.648 0, 1293733.917 1115195.112 0,
+ 1293371.507 1120764.581 0, 1293638.104 1120781.936 0, 1293903.463 1120799.227 0, 1294168.822 1120816.533 0, 1294434.179 1120833.855 0, 1294699.535 1120851.193 0, 1294964.891 1120868.546 0, 1295230.245 1120885.915 0, 1295495.598 1120903.3 0, 1295760.951 1120920.7 0,
+ 1296026.302 1120938.115 0, 1296291.652 1120955.547 0, 1296557.001 1120972.994 0, 1296822.349 1120990.456 0, 1297087.696 1121007.934 0, 1297353.042 1121025.428 0, 1297618.387 1121042.938 0, 1297883.731 1121060.463 0, 1298149.074 1121078.003 0, 1298414.416 1121095.56 0,
+ 1298679.757 1121113.132 0, 1298945.097 1121130.719 0, 1299210.436 1121148.322 0, 1299475.774 1121165.941 0, 1299739.875 1121183.493 0, 1300006.446 1121201.225 0, 1300271.781 1121218.891 0, 1300537.115 1121236.572 0, 1300802.447 1121254.269 0, 1301067.779 1121271.981 0,
+ 1301333.109 1121289.709 0, 1301598.439 1121307.453 0, 1301863.767 1121325.212 0, 1302129.095 1121342.987 0, 1302394.421 1121360.778 0, 1302659.746 1121378.584 0, 1302925.07 1121396.406 0, 1303190.394 1121414.243 0, 1303455.716 1121432.096 0, 1303721.037 1121449.965 0,
+ 1303986.357 1121467.849 0, 1304251.676 1121485.749 0, 1304516.994 1121503.664 0, 1304782.311 1121521.595 0, 1305047.627 1121539.542 0, 1305312.941 1121557.504 0, 1305578.255 1121575.482 0, 1305843.568 1121593.476 0, 1306107.645 1121611.401 0, 1306485.788 1116042.978 0,
+ 1306863.931 1110474.561 0))
+
+POLYGON ((1318841.339 1122494.2 0, 1318577.312 1122475.528 0, 1318312.051 1122456.785 0, 1318046.789 1122438.058 0, 1317781.526 1122419.346 0, 1317516.262 1122400.65 0, 1317250.997 1122381.969 0, 1316985.731 1122363.304 0, 1316720.464 1122344.655 0, 1316455.195 1122326.021 0,
+ 1316189.926 1122307.403 0, 1315924.655 1122288.801 0, 1315659.383 1122270.214 0, 1315394.11 1122251.643 0, 1315128.836 1122233.087 0, 1314863.561 1122214.547 0, 1314598.285 1122196.022 0, 1314333.008 1122177.514 0, 1314067.73 1122159.02 0, 1313802.45 1122140.543 0,
+ 1313537.17 1122122.081 0, 1313271.888 1122103.634 0, 1313006.606 1122085.204 0, 1312741.322 1122066.789 0, 1312474.804 1122048.304 0, 1312210.751 1122030.005 0, 1311945.464 1122011.637 0, 1311680.176 1121993.284 0, 1311414.887 1121974.947 0, 1311149.597 1121956.626 0,
+ 1310884.306 1121938.32 0, 1310619.013 1121920.03 0, 1310353.72 1121901.755 0, 1310088.425 1121883.496 0, 1309823.13 1121865.253 0, 1309557.833 1121847.025 0, 1309292.535 1121828.813 0, 1309027.237 1121810.616 0, 1308761.937 1121792.435 0, 1308496.636 1121774.27 0,
+ 1308231.334 1121756.12 0, 1307966.031 1121737.986 0, 1307700.727 1121719.868 0, 1307435.421 1121701.765 0, 1307170.115 1121683.678 0, 1306904.808 1121665.606 0, 1306639.499 1121647.55 0, 1306374.19 1121629.51 0, 1306107.645 1121611.401 0, 1305729.501 1127179.824 0,
+ 1305351.358 1132748.243 0, 1305617.245 1132766.307 0, 1305881.899 1132784.302 0, 1306146.552 1132802.314 0, 1306411.203 1132820.341 0, 1306675.854 1132838.383 0, 1306940.504 1132856.441 0, 1307205.153 1132874.515 0, 1307469.8 1132892.604 0, 1307734.447 1132910.709 0,
+ 1307999.092 1132928.83 0, 1308263.737 1132946.966 0, 1308528.38 1132965.117 0, 1308793.022 1132983.284 0, 1309057.663 1133001.467 0, 1309322.304 1133019.665 0, 1309586.943 1133037.879 0, 1309851.581 1133056.109 0, 1310116.218 1133074.354 0, 1310380.853 1133092.614 0,
+ 1310645.488 1133110.891 0, 1310910.122 1133129.182 0, 1311174.754 1133147.49 0, 1311439.386 1133165.813 0, 1311702.786 1133184.066 0, 1311968.646 1133202.505 0, 1312233.274 1133220.875 0, 1312497.901 1133239.26 0, 1312762.527 1133257.661 0, 1313027.153 1133276.077 0,
+ 1313291.776 1133294.509 0, 1313556.399 1133312.957 0, 1313821.021 1133331.42 0, 1314085.642 1133349.898 0, 1314350.261 1133368.393 0, 1314614.88 1133386.903 0, 1314879.497 1133405.428 0, 1315144.114 1133423.969 0, 1315408.729 1133442.525 0, 1315673.343 1133461.098 0,
+ 1315937.956 1133479.685 0, 1316202.568 1133498.289 0, 1316467.179 1133516.907 0, 1316731.789 1133535.542 0, 1316996.398 1133554.192 0, 1317261.005 1133572.857 0, 1317525.612 1133591.538 0, 1317790.217 1133610.235 0, 1318053.592 1133628.861 0, 1318447.465 1128061.532 0,
+ 1318841.339 1122494.2 0))
+
+POLYGON ((1330753.287 1134545.361 0, 1330489.964 1134525.991 0, 1330225.413 1134506.547 0, 1329960.86 1134487.119 0, 1329696.306 1134467.706 0, 1329431.751 1134448.308 0, 1329167.195 1134428.926 0, 1328902.638 1134409.56 0, 1328638.08 1134390.209 0, 1328373.52 1134370.874 0,
+ 1328108.959 1134351.554 0, 1327844.398 1134332.25 0, 1327579.835 1134312.962 0, 1327315.271 1134293.689 0, 1327050.706 1134274.431 0, 1326786.139 1134255.19 0, 1326521.572 1134235.963 0, 1326257.003 1134216.753 0, 1325992.433 1134197.558 0, 1325727.863 1134178.378 0,
+ 1325463.291 1134159.214 0, 1325198.718 1134140.066 0, 1324934.143 1134120.933 0, 1324669.568 1134101.816 0, 1324403.763 1134082.626 0, 1324140.414 1134063.628 0, 1323875.835 1134044.558 0, 1323611.255 1134025.503 0, 1323346.674 1134006.464 0, 1323082.092 1133987.44 0,
+ 1322817.509 1133968.432 0, 1322552.925 1133949.439 0, 1322288.339 1133930.462 0, 1322023.753 1133911.501 0, 1321759.165 1133892.555 0, 1321494.576 1133873.624 0, 1321229.987 1133854.71 0, 1320965.396 1133835.811 0, 1320700.803 1133816.927 0, 1320436.21 1133798.059 0,
+ 1320171.616 1133779.206 0, 1319907.02 1133760.37 0, 1319642.424 1133741.548 0, 1319377.826 1133722.743 0, 1319113.227 1133703.952 0, 1318848.628 1133685.178 0, 1318584.027 1133666.419 0, 1318319.425 1133647.675 0, 1318053.592 1133628.861 0, 1317659.719 1139196.18 0,
+ 1317265.847 1144763.487 0, 1317531.021 1144782.255 0, 1317794.968 1144800.952 0, 1318058.914 1144819.665 0, 1318322.858 1144838.393 0, 1318586.802 1144857.137 0, 1318850.744 1144875.896 0, 1319114.685 1144894.67 0, 1319378.625 1144913.461 0, 1319642.564 1144932.266 0,
+ 1319906.502 1144951.088 0, 1320170.439 1144969.924 0, 1320434.375 1144988.777 0, 1320698.309 1145007.645 0, 1320962.243 1145026.528 0, 1321226.175 1145045.427 0, 1321490.106 1145064.342 0, 1321754.036 1145083.272 0, 1322017.965 1145102.217 0, 1322281.893 1145121.178 0,
+ 1322545.82 1145140.155 0, 1322809.746 1145159.147 0, 1323073.67 1145178.155 0, 1323337.593 1145197.178 0, 1323600.291 1145216.128 0, 1323865.437 1145235.271 0, 1324129.357 1145254.341 0, 1324393.276 1145273.426 0, 1324657.194 1145292.527 0, 1324921.11 1145311.644 0,
+ 1325185.026 1145330.776 0, 1325448.94 1145349.923 0, 1325712.854 1145369.086 0, 1325976.766 1145388.265 0, 1326240.677 1145407.459 0, 1326504.587 1145426.669 0, 1326768.496 1145445.894 0, 1327032.403 1145465.135 0, 1327296.31 1145484.391 0, 1327560.215 1145503.663 0,
+ 1327824.119 1145522.95 0, 1328088.023 1145542.253 0, 1328351.924 1145561.571 0, 1328615.825 1145580.905 0, 1328879.725 1145600.254 0, 1329143.624 1145619.619 0, 1329407.521 1145639 0, 1329671.417 1145658.396 0, 1329934.088 1145677.717 0, 1330343.687 1140111.546 0,
+ 1330753.287 1134545.361 0))
+
+POLYGON ((1342599.696 1146627.734 0, 1342337.079 1146607.671 0, 1342073.238 1146587.529 0, 1341809.397 1146567.403 0, 1341545.554 1146547.293 0, 1341281.71 1146527.198 0, 1341017.865 1146507.118 0, 1340754.018 1146487.054 0, 1340490.171 1146467.006 0, 1340226.322 1146446.973 0,
+ 1339962.472 1146426.956 0, 1339698.621 1146406.954 0, 1339434.769 1146386.968 0, 1339170.916 1146366.997 0, 1338907.061 1146347.042 0, 1338643.205 1146327.103 0, 1338379.348 1146307.178 0, 1338115.49 1146287.27 0, 1337851.631 1146267.377 0, 1337587.77 1146247.499 0,
+ 1337323.909 1146227.637 0, 1337060.046 1146207.791 0, 1336796.182 1146187.96 0, 1336532.317 1146168.145 0, 1336267.228 1146148.253 0, 1336004.583 1146128.56 0, 1335740.715 1146108.792 0, 1335476.845 1146089.038 0, 1335212.974 1146069.301 0, 1334949.102 1146049.578 0,
+ 1334685.229 1146029.872 0, 1334421.354 1146010.181 0, 1334157.479 1145990.505 0, 1333893.602 1145970.845 0, 1333629.724 1145951.2 0, 1333365.845 1145931.571 0, 1333101.965 1145911.958 0, 1332838.083 1145892.36 0, 1332574.201 1145872.777 0, 1332310.317 1145853.211 0,
+ 1332046.432 1145833.659 0, 1331782.546 1145814.123 0, 1331518.659 1145794.603 0, 1331254.771 1145775.098 0, 1330990.882 1145755.609 0, 1330726.991 1145736.135 0, 1330463.099 1145716.677 0, 1330199.206 1145697.235 0, 1329934.088 1145677.717 0, 1329524.491 1151243.872 0,
+ 1329114.894 1156810.004 0, 1329379.354 1156829.473 0, 1329642.592 1156848.867 0, 1329905.828 1156868.277 0, 1330169.064 1156887.702 0, 1330432.298 1156907.143 0, 1330695.531 1156926.599 0, 1330958.763 1156946.071 0, 1331221.994 1156965.559 0, 1331485.223 1156985.061 0,
+ 1331748.452 1157004.58 0, 1332011.679 1157024.114 0, 1332274.905 1157043.663 0, 1332538.13 1157063.228 0, 1332801.354 1157082.808 0, 1333064.577 1157102.404 0, 1333327.798 1157122.015 0, 1333591.019 1157141.642 0, 1333854.238 1157161.284 0, 1334117.456 1157180.942 0,
+ 1334380.673 1157200.615 0, 1334643.889 1157220.304 0, 1334907.103 1157240.008 0, 1335170.317 1157259.728 0, 1335432.309 1157279.371 0, 1335696.74 1157299.213 0, 1335959.95 1157318.98 0, 1336223.159 1157338.761 0, 1336486.367 1157358.559 0, 1336749.573 1157378.371 0,
+ 1337012.779 1157398.199 0, 1337275.983 1157418.043 0, 1337539.186 1157437.902 0, 1337802.387 1157457.777 0, 1338065.588 1157477.667 0, 1338328.788 1157497.572 0, 1338591.986 1157517.494 0, 1338855.183 1157537.43 0, 1339118.379 1157557.382 0, 1339381.574 1157577.35 0,
+ 1339644.767 1157597.333 0, 1339907.96 1157617.331 0, 1340171.151 1157637.346 0, 1340434.341 1157657.375 0, 1340697.53 1157677.42 0, 1340960.718 1157697.481 0, 1341223.904 1157717.557 0, 1341487.089 1157737.648 0, 1341749.055 1157757.662 0, 1342174.375 1152192.709 0,
+ 1342599.696 1146627.734 0))
+
+POLYGON ((1354380.487 1158741.01 0, 1354118.578 1158720.256 0, 1353855.45 1158699.421 0, 1353592.321 1158678.602 0, 1353329.191 1158657.798 0, 1353066.06 1158637.009 0, 1352802.928 1158616.236 0, 1352539.794 1158595.479 0, 1352276.659 1158574.736 0, 1352013.523 1158554.01 0,
+ 1351750.386 1158533.299 0, 1351487.247 1158512.603 0, 1351224.108 1158491.923 0, 1350960.967 1158471.259 0, 1350697.824 1158450.609 0, 1350434.681 1158429.976 0, 1350171.536 1158409.358 0, 1349908.391 1158388.755 0, 1349645.244 1158368.168 0, 1349382.095 1158347.596 0,
+ 1349118.946 1158327.04 0, 1348855.795 1158306.499 0, 1348592.643 1158285.974 0, 1348329.49 1158265.464 0, 1348065.118 1158244.875 0, 1347803.181 1158224.491 0, 1347540.024 1158204.028 0, 1347276.866 1158183.58 0, 1347013.707 1158163.148 0, 1346750.547 1158142.731 0,
+ 1346487.385 1158122.33 0, 1346224.222 1158101.944 0, 1345961.058 1158081.574 0, 1345697.893 1158061.219 0, 1345434.727 1158040.88 0, 1345171.56 1158020.556 0, 1344908.391 1158000.247 0, 1344645.221 1157979.954 0, 1344382.05 1157959.677 0, 1344118.878 1157939.415 0,
+ 1343855.704 1157919.169 0, 1343592.529 1157898.938 0, 1343329.354 1157878.722 0, 1343066.177 1157858.522 0, 1342802.998 1157838.338 0, 1342539.819 1157818.169 0, 1342276.638 1157798.016 0, 1342013.457 1157777.878 0, 1341749.055 1157757.662 0, 1341323.737 1163322.588 0,
+ 1340898.422 1168887.484 0, 1341162.165 1168907.649 0, 1341424.692 1168927.737 0, 1341687.217 1168947.84 0, 1341949.742 1168967.959 0, 1342212.265 1168988.093 0, 1342474.787 1169008.243 0, 1342737.308 1169028.408 0, 1342999.827 1169048.588 0, 1343262.346 1169068.784 0,
+ 1343524.863 1169088.996 0, 1343787.379 1169109.223 0, 1344049.894 1169129.465 0, 1344312.407 1169149.723 0, 1344574.92 1169169.996 0, 1344837.431 1169190.285 0, 1345099.941 1169210.589 0, 1345362.45 1169230.909 0, 1345624.958 1169251.244 0, 1345887.464 1169271.594 0,
+ 1346149.97 1169291.96 0, 1346412.474 1169312.342 0, 1346674.977 1169332.739 0, 1346937.478 1169353.151 0, 1347198.764 1169373.484 0, 1347462.478 1169394.022 0, 1347724.976 1169414.481 0, 1347987.473 1169434.955 0, 1348249.969 1169455.444 0, 1348512.463 1169475.949 0,
+ 1348774.956 1169496.47 0, 1349037.448 1169517.006 0, 1349299.939 1169537.557 0, 1349562.429 1169558.124 0, 1349824.917 1169578.706 0, 1350087.404 1169599.304 0, 1350349.89 1169619.917 0, 1350612.375 1169640.546 0, 1350874.859 1169661.19 0, 1351137.341 1169681.849 0,
+ 1351399.822 1169702.524 0, 1351662.302 1169723.215 0, 1351924.781 1169743.921 0, 1352187.258 1169764.642 0, 1352449.735 1169785.379 0, 1352712.21 1169806.131 0, 1352974.683 1169826.899 0, 1353237.156 1169847.682 0, 1353498.414 1169868.384 0, 1353939.449 1164304.713 0,
+ 1354380.487 1158741.01 0))
+
+POLYGON ((1366095.585 1170884.878 0, 1365834.384 1170863.437 0, 1365571.971 1170841.913 0, 1365309.557 1170820.404 0, 1365047.142 1170798.91 0, 1364784.725 1170777.432 0, 1364522.307 1170755.969 0, 1364259.888 1170734.522 0, 1363997.468 1170713.09 0, 1363735.046 1170691.673 0,
+ 1363472.623 1170670.272 0, 1363210.199 1170648.887 0, 1362947.774 1170627.517 0, 1362685.347 1170606.162 0, 1362422.919 1170584.823 0, 1362160.49 1170563.499 0, 1361898.059 1170542.191 0, 1361635.628 1170520.898 0, 1361373.195 1170499.62 0, 1361110.76 1170478.358 0,
+ 1360848.325 1170457.112 0, 1360585.888 1170435.881 0, 1360323.45 1170414.665 0, 1360061.011 1170393.465 0, 1359797.358 1170372.182 0, 1359536.129 1170351.111 0, 1359273.686 1170329.957 0, 1359011.242 1170308.819 0, 1358748.796 1170287.696 0, 1358486.349 1170266.588 0,
+ 1358223.902 1170245.496 0, 1357961.452 1170224.419 0, 1357699.002 1170203.358 0, 1357436.55 1170182.312 0, 1357174.097 1170161.282 0, 1356911.643 1170140.267 0, 1356649.188 1170119.268 0, 1356386.731 1170098.284 0, 1356124.273 1170077.316 0, 1355861.814 1170056.362 0,
+ 1355599.354 1170035.425 0, 1355336.892 1170014.503 0, 1355074.43 1169993.596 0, 1354811.966 1169972.705 0, 1354549.5 1169951.829 0, 1354287.034 1169930.969 0, 1354024.566 1169910.124 0, 1353762.097 1169889.294 0, 1353498.414 1169868.384 0, 1353057.381 1175432.02 0,
+ 1352616.351 1180995.616 0, 1352879.377 1181016.474 0, 1353141.191 1181037.251 0, 1353403.004 1181058.044 0, 1353664.815 1181078.852 0, 1353926.626 1181099.676 0, 1354188.435 1181120.515 0, 1354450.243 1181141.37 0, 1354712.049 1181162.24 0, 1354973.855 1181183.125 0,
+ 1355235.659 1181204.026 0, 1355497.462 1181224.942 0, 1355759.264 1181245.874 0, 1356021.064 1181266.821 0, 1356282.863 1181287.783 0, 1356544.661 1181308.761 0, 1356806.458 1181329.754 0, 1357068.254 1181350.763 0, 1357330.048 1181371.787 0, 1357591.841 1181392.826 0,
+ 1357853.633 1181413.881 0, 1358115.423 1181434.951 0, 1358377.213 1181456.037 0, 1358639.001 1181477.138 0, 1358899.578 1181498.157 0, 1359162.573 1181519.386 0, 1359424.358 1181540.534 0, 1359686.141 1181561.696 0, 1359947.923 1181582.874 0, 1360209.703 1181604.068 0,
+ 1360471.483 1181625.277 0, 1360733.261 1181646.501 0, 1360995.038 1181667.741 0, 1361256.814 1181688.996 0, 1361518.588 1181710.267 0, 1361780.361 1181731.553 0, 1362042.133 1181752.854 0, 1362303.904 1181774.171 0, 1362565.673 1181795.503 0, 1362827.441 1181816.851 0,
+ 1363089.208 1181838.214 0, 1363350.974 1181859.592 0, 1363612.738 1181880.986 0, 1363874.501 1181902.395 0, 1364136.263 1181923.82 0, 1364398.023 1181945.26 0, 1364659.783 1181966.715 0, 1364921.541 1181988.186 0, 1365182.089 1182009.573 0, 1365638.835 1176447.246 0,
+ 1366095.585 1170884.878 0))
+
+POLYGON ((1377744.912 1183059.027 0, 1377484.423 1183036.904 0, 1377222.727 1183014.693 0, 1376961.029 1182992.498 0, 1376699.33 1182970.319 0, 1376437.63 1182948.155 0, 1376175.929 1182926.006 0, 1375914.226 1182903.873 0, 1375652.521 1182881.755 0, 1375390.816 1182859.653 0,
+ 1375129.109 1182837.566 0, 1374867.401 1182815.494 0, 1374605.692 1182793.438 0, 1374343.981 1182771.397 0, 1374082.269 1182749.371 0, 1373820.556 1182727.361 0, 1373558.841 1182705.367 0, 1373297.126 1182683.388 0, 1373035.408 1182661.424 0, 1372773.69 1182639.475 0,
+ 1372511.97 1182617.542 0, 1372250.249 1182595.625 0, 1371988.527 1182573.722 0, 1371726.803 1182551.836 0, 1371463.871 1182529.863 0, 1371203.352 1182508.108 0, 1370941.625 1182486.268 0, 1370679.896 1182464.442 0, 1370418.166 1182442.633 0, 1370156.435 1182420.838 0,
+ 1369894.702 1182399.059 0, 1369632.968 1182377.296 0, 1369371.233 1182355.548 0, 1369109.497 1182333.815 0, 1368847.759 1182312.098 0, 1368586.02 1182290.396 0, 1368324.28 1182268.709 0, 1368062.538 1182247.038 0, 1367800.796 1182225.382 0, 1367539.051 1182203.742 0,
+ 1367277.306 1182182.117 0, 1367015.559 1182160.507 0, 1366753.812 1182138.913 0, 1366492.062 1182117.335 0, 1366230.312 1182095.771 0, 1365968.56 1182074.223 0, 1365706.807 1182052.691 0, 1365445.053 1182031.174 0, 1365182.089 1182009.573 0, 1364725.347 1187571.856 0,
+ 1364268.609 1193134.089 0, 1364530.915 1193155.636 0, 1364792.014 1193177.099 0, 1365053.112 1193198.578 0, 1365314.209 1193220.072 0, 1365575.305 1193241.581 0, 1365836.399 1193263.106 0, 1366097.493 1193284.646 0, 1366358.584 1193306.201 0, 1366619.675 1193327.772 0,
+ 1366880.764 1193349.358 0, 1367141.853 1193370.96 0, 1367402.939 1193392.577 0, 1367664.025 1193414.209 0, 1367925.109 1193435.857 0, 1368186.192 1193457.52 0, 1368447.274 1193479.198 0, 1368708.354 1193500.892 0, 1368969.433 1193522.601 0, 1369230.511 1193544.326 0,
+ 1369491.588 1193566.066 0, 1369752.663 1193587.821 0, 1370013.737 1193609.591 0, 1370274.81 1193631.377 0, 1370534.677 1193653.078 0, 1370796.952 1193674.995 0, 1371058.021 1193696.827 0, 1371319.088 1193718.675 0, 1371580.154 1193740.538 0, 1371841.22 1193762.416 0,
+ 1372102.283 1193784.309 0, 1372363.346 1193806.218 0, 1372624.407 1193828.142 0, 1372885.467 1193850.082 0, 1373146.525 1193872.037 0, 1373407.583 1193894.007 0, 1373668.639 1193915.993 0, 1373929.693 1193937.994 0, 1374190.747 1193960.011 0, 1374451.799 1193982.042 0,
+ 1374712.85 1194004.09 0, 1374973.899 1194026.152 0, 1375234.948 1194048.23 0, 1375495.994 1194070.323 0, 1375757.04 1194092.432 0, 1376018.084 1194114.556 0, 1376279.127 1194136.695 0, 1376540.169 1194158.85 0, 1376800.007 1194180.918 0, 1377272.457 1188619.997 0,
+ 1377744.912 1183059.027 0))
+
+POLYGON ((861659.695 733878.766 0, 861372.98 733886.877 0, 861084.848 733895.045 0, 860796.717 733903.229 0, 860508.586 733911.431 0, 860220.456 733919.65 0, 859932.327 733927.885 0, 859644.198 733936.138 0, 859356.069 733944.407 0, 859067.941 733952.694 0,
+ 858779.813 733960.997 0, 858491.686 733969.318 0, 858203.559 733977.655 0, 857915.433 733986.009 0, 857627.308 733994.381 0, 857339.182 734002.769 0, 857051.058 734011.174 0, 856762.934 734019.596 0, 856474.81 734028.036 0, 856186.687 734036.492 0,
+ 855898.564 734044.965 0, 855610.442 734053.455 0, 855322.32 734061.962 0, 855034.199 734070.486 0, 854744.661 734079.069 0, 854457.958 734087.584 0, 854169.838 734096.159 0, 853881.719 734104.751 0, 853593.6 734113.36 0, 853305.482 734121.985 0,
+ 853017.365 734130.628 0, 852729.247 734139.287 0, 852441.131 734147.964 0, 852153.015 734156.657 0, 851864.899 734165.368 0, 851576.784 734174.095 0, 851288.669 734182.84 0, 851000.555 734191.601 0, 850712.442 734200.379 0, 850424.329 734209.175 0,
+ 850136.216 734217.987 0, 849848.104 734226.816 0, 849559.992 734235.662 0, 849271.882 734244.525 0, 848983.771 734253.405 0, 848695.661 734262.302 0, 848407.552 734271.216 0, 848119.443 734280.147 0, 847829.916 734289.139 0, 848003.046 739858.341 0,
+ 848176.184 745427.808 0, 848465.052 745418.836 0, 848752.506 745409.926 0, 849039.959 745401.032 0, 849327.414 745392.155 0, 849614.869 745383.295 0, 849902.324 745374.453 0, 850189.78 745365.627 0, 850477.236 745356.818 0, 850764.693 745348.025 0,
+ 851052.151 745339.25 0, 851339.609 745330.492 0, 851627.067 745321.75 0, 851914.526 745313.026 0, 852201.985 745304.318 0, 852489.445 745295.628 0, 852776.906 745286.954 0, 853064.367 745278.297 0, 853351.829 745269.657 0, 853639.291 745261.034 0,
+ 853926.753 745252.428 0, 854214.216 745243.839 0, 854501.68 745235.267 0, 854789.144 745226.712 0, 855075.194 745218.215 0, 855364.074 745209.652 0, 855651.539 745201.147 0, 855939.005 745192.66 0, 856226.472 745184.189 0, 856513.939 745175.735 0,
+ 856801.406 745167.299 0, 857088.874 745158.879 0, 857376.343 745150.476 0, 857663.812 745142.089 0, 857951.282 745133.72 0, 858238.752 745125.368 0, 858526.222 745117.033 0, 858813.693 745108.714 0, 859101.165 745100.413 0, 859388.637 745092.128 0,
+ 859676.109 745083.861 0, 859963.582 745075.61 0, 860251.056 745067.376 0, 860538.53 745059.159 0, 860826.004 745050.959 0, 861113.479 745042.776 0, 861400.954 745034.61 0, 861688.43 745026.461 0, 861974.493 745018.369 0, 861817.091 739448.435 0,
+ 861659.695 733878.766 0))
+
+POLYGON ((875773.904 744647.914 0, 875487.817 744655.198 0, 875200.319 744662.535 0, 874912.822 744669.889 0, 874625.325 744677.26 0, 874337.829 744684.647 0, 874050.333 744692.052 0, 873762.837 744699.474 0, 873475.342 744706.912 0, 873187.847 744714.368 0,
+ 872900.353 744721.84 0, 872612.859 744729.329 0, 872325.366 744736.836 0, 872037.873 744744.359 0, 871750.38 744751.899 0, 871462.888 744759.456 0, 871175.397 744767.03 0, 870887.905 744774.62 0, 870600.415 744782.228 0, 870312.925 744789.853 0,
+ 870025.435 744797.494 0, 869737.945 744805.153 0, 869450.456 744812.828 0, 869162.968 744820.521 0, 868874.068 744828.268 0, 868587.992 744835.956 0, 868300.505 744843.699 0, 868013.019 744851.459 0, 867725.533 744859.236 0, 867438.047 744867.03 0,
+ 867150.562 744874.841 0, 866863.077 744882.669 0, 866575.592 744890.513 0, 866288.109 744898.375 0, 866000.625 744906.253 0, 865713.142 744914.149 0, 865425.66 744922.061 0, 865138.178 744929.99 0, 864850.696 744937.936 0, 864563.215 744945.899 0,
+ 864275.734 744953.879 0, 863988.254 744961.876 0, 863700.775 744969.89 0, 863413.295 744977.921 0, 863125.817 744985.969 0, 862838.338 744994.033 0, 862550.861 745002.115 0, 862263.383 745010.213 0, 861974.493 745018.369 0, 862131.904 750588.563 0,
+ 862289.321 756159.015 0, 862577.552 756150.878 0, 862864.374 756142.798 0, 863151.196 756134.735 0, 863438.018 756126.689 0, 863724.841 756118.66 0, 864011.665 756110.647 0, 864298.489 756102.652 0, 864585.313 756094.673 0, 864872.138 756086.711 0,
+ 865158.963 756078.766 0, 865445.789 756070.838 0, 865732.615 756062.927 0, 866019.442 756055.033 0, 866306.269 756047.155 0, 866593.097 756039.295 0, 866879.925 756031.451 0, 867166.754 756023.624 0, 867453.583 756015.815 0, 867740.412 756008.022 0,
+ 868027.242 756000.246 0, 868314.073 755992.486 0, 868600.904 755984.744 0, 868887.735 755977.019 0, 869173.158 755969.348 0, 869461.399 755961.618 0, 869748.232 755953.943 0, 870035.065 755946.286 0, 870321.899 755938.645 0, 870608.733 755931.02 0,
+ 870895.567 755923.413 0, 871182.402 755915.823 0, 871469.238 755908.249 0, 871756.073 755900.693 0, 872042.91 755893.153 0, 872329.746 755885.63 0, 872616.584 755878.124 0, 872903.421 755870.635 0, 873190.259 755863.163 0, 873477.098 755855.707 0,
+ 873763.937 755848.269 0, 874050.776 755840.847 0, 874337.616 755833.443 0, 874624.456 755826.055 0, 874911.297 755818.684 0, 875198.138 755811.33 0, 875484.98 755803.993 0, 875771.822 755796.673 0, 876057.256 755789.405 0, 875915.577 750218.531 0,
+ 875773.904 744647.914 0))
+
+POLYGON ((889826.181 755458.693 0, 889540.724 755465.155 0, 889253.863 755471.664 0, 888967.002 755478.191 0, 888680.141 755484.735 0, 888393.281 755491.295 0, 888106.421 755497.873 0, 887819.561 755504.467 0, 887532.702 755511.078 0, 887245.843 755517.706 0,
+ 886958.985 755524.351 0, 886672.127 755531.013 0, 886385.269 755537.692 0, 886098.412 755544.387 0, 885811.555 755551.1 0, 885524.698 755557.829 0, 885237.842 755564.575 0, 884950.987 755571.338 0, 884664.131 755578.118 0, 884377.277 755584.915 0,
+ 884090.422 755591.729 0, 883803.568 755598.56 0, 883516.714 755605.407 0, 883229.861 755612.272 0, 882941.602 755619.187 0, 882656.156 755626.051 0, 882369.304 755632.966 0, 882082.452 755639.898 0, 881795.601 755646.847 0, 881508.75 755653.813 0,
+ 881221.9 755660.795 0, 880935.05 755667.795 0, 880648.2 755674.811 0, 880361.351 755681.844 0, 880074.502 755688.895 0, 879787.654 755695.962 0, 879500.806 755703.045 0, 879213.959 755710.146 0, 878927.111 755717.264 0, 878640.265 755724.398 0,
+ 878353.419 755731.55 0, 878066.573 755738.718 0, 877779.727 755745.903 0, 877492.882 755753.105 0, 877206.038 755760.324 0, 876919.194 755767.56 0, 876632.35 755774.813 0, 876345.507 755782.083 0, 876057.256 755789.405 0, 876198.942 761360.533 0,
+ 876340.634 766931.912 0, 876628.226 766924.606 0, 876914.413 766917.353 0, 877200.601 766910.117 0, 877486.789 766902.898 0, 877772.978 766895.695 0, 878059.167 766888.51 0, 878345.357 766881.341 0, 878631.547 766874.189 0, 878917.737 766867.054 0,
+ 879203.928 766859.936 0, 879490.119 766852.834 0, 879776.311 766845.75 0, 880062.503 766838.682 0, 880348.695 766831.631 0, 880634.888 766824.597 0, 880921.081 766817.58 0, 881207.275 766810.58 0, 881493.469 766803.596 0, 881779.664 766796.63 0,
+ 882065.859 766789.68 0, 882352.054 766782.747 0, 882638.25 766775.831 0, 882924.446 766768.931 0, 883209.239 766762.083 0, 883496.84 766755.183 0, 883783.037 766748.335 0, 884069.235 766741.503 0, 884355.433 766734.688 0, 884641.632 766727.89 0,
+ 884927.831 766721.108 0, 885214.03 766714.344 0, 885500.23 766707.596 0, 885786.43 766700.865 0, 886072.631 766694.151 0, 886358.832 766687.454 0, 886645.033 766680.774 0, 886931.235 766674.111 0, 887217.437 766667.464 0, 887503.64 766660.834 0,
+ 887789.843 766654.221 0, 888076.046 766647.625 0, 888362.25 766641.046 0, 888648.454 766634.484 0, 888934.658 766627.938 0, 889220.863 766621.41 0, 889507.068 766614.898 0, 889793.274 766608.403 0, 890078.078 766601.956 0, 889952.126 761030.2 0,
+ 889826.181 755458.693 0))
+
+POLYGON ((903816.399 766310.813 0, 903531.576 766316.455 0, 903245.353 766322.141 0, 902959.13 766327.844 0, 902672.908 766333.564 0, 902386.686 766339.301 0, 902100.465 766345.055 0, 901814.244 766350.826 0, 901528.023 766356.613 0, 901241.802 766362.417 0,
+ 900955.582 766368.239 0, 900669.362 766374.077 0, 900383.143 766379.931 0, 900096.924 766385.803 0, 899810.705 766391.692 0, 899524.487 766397.597 0, 899238.269 766403.519 0, 898952.051 766409.458 0, 898665.834 766415.414 0, 898379.617 766421.387 0,
+ 898093.4 766427.376 0, 897807.184 766433.383 0, 897520.968 766439.406 0, 897234.752 766445.446 0, 896947.135 766451.533 0, 896662.322 766457.577 0, 896376.107 766463.668 0, 896089.893 766469.775 0, 895803.679 766475.9 0, 895517.466 766482.041 0,
+ 895231.253 766488.199 0, 894945.04 766494.374 0, 894658.828 766500.566 0, 894372.616 766506.774 0, 894086.404 766513 0, 893800.193 766519.242 0, 893513.982 766525.501 0, 893227.771 766531.777 0, 892941.561 766538.07 0, 892655.351 766544.38 0,
+ 892369.142 766550.706 0, 892082.933 766557.049 0, 891796.724 766563.41 0, 891510.516 766569.787 0, 891224.308 766576.181 0, 890938.1 766582.591 0, 890651.893 766589.019 0, 890365.686 766595.463 0, 890078.078 766601.956 0, 890204.035 772173.96 0,
+ 890329.997 777746.207 0, 890616.947 777739.728 0, 890902.498 777733.299 0, 891188.049 777726.886 0, 891473.601 777720.49 0, 891759.152 777714.111 0, 892044.705 777707.748 0, 892330.258 777701.403 0, 892615.811 777695.074 0, 892901.364 777688.762 0,
+ 893186.918 777682.466 0, 893472.472 777676.188 0, 893758.027 777669.926 0, 894043.582 777663.682 0, 894329.137 777657.454 0, 894614.693 777651.243 0, 894900.249 777645.048 0, 895185.805 777638.871 0, 895471.362 777632.71 0, 895756.919 777626.566 0,
+ 896042.477 777620.439 0, 896328.035 777614.328 0, 896613.593 777608.235 0, 896899.151 777602.158 0, 897183.312 777596.128 0, 897470.27 777590.055 0, 897755.829 777584.029 0, 898041.389 777578.019 0, 898326.95 777572.027 0, 898612.51 777566.051 0,
+ 898898.072 777560.092 0, 899183.633 777554.15 0, 899469.195 777548.224 0, 899754.757 777542.315 0, 900040.319 777536.424 0, 900325.882 777530.549 0, 900611.445 777524.69 0, 900897.009 777518.849 0, 901182.573 777513.024 0, 901468.137 777507.217 0,
+ 901753.701 777501.426 0, 902039.266 777495.651 0, 902324.831 777489.894 0, 902610.397 777484.154 0, 902895.963 777478.43 0, 903181.529 777472.723 0, 903467.096 777467.033 0, 903752.662 777461.359 0, 904036.833 777455.73 0, 903926.613 771883.15 0,
+ 903816.399 766310.813 0))
+
+POLYGON ((917744.434 777203.98 0, 917460.247 777208.806 0, 917174.665 777213.672 0, 916889.084 777218.556 0, 916603.502 777223.456 0, 916317.921 777228.373 0, 916032.341 777233.307 0, 915746.761 777238.257 0, 915461.181 777243.225 0, 915175.601 777248.209 0,
+ 914890.021 777253.21 0, 914604.442 777258.228 0, 914318.863 777263.262 0, 914033.285 777268.314 0, 913747.706 777273.382 0, 913462.128 777278.467 0, 913176.551 777283.569 0, 912890.973 777288.687 0, 912605.396 777293.823 0, 912319.82 777298.975 0,
+ 912034.243 777304.144 0, 911748.667 777309.33 0, 911463.091 777314.533 0, 911177.516 777319.752 0, 910890.544 777325.014 0, 910606.365 777330.242 0, 910320.791 777335.512 0, 910035.217 777340.798 0, 909749.643 777346.102 0, 909464.069 777351.422 0,
+ 909178.496 777356.76 0, 908892.922 777362.114 0, 908607.35 777367.484 0, 908321.777 777372.872 0, 908036.205 777378.276 0, 907750.633 777383.698 0, 907465.062 777389.136 0, 907179.491 777394.59 0, 906893.92 777400.062 0, 906608.349 777405.55 0,
+ 906322.779 777411.056 0, 906037.209 777416.578 0, 905751.64 777422.117 0, 905466.071 777427.672 0, 905180.502 777433.245 0, 904894.933 777438.834 0, 904609.365 777444.44 0, 904323.797 777450.063 0, 904036.833 777455.73 0, 904147.057 783028.55 0,
+ 904257.285 788601.607 0, 904543.591 788595.952 0, 904828.503 788590.342 0, 905113.415 788584.749 0, 905398.327 788579.173 0, 905683.24 788573.613 0, 905968.153 788568.07 0, 906253.067 788562.544 0, 906537.981 788557.034 0, 906822.895 788551.542 0,
+ 907107.809 788546.066 0, 907392.724 788540.607 0, 907677.639 788535.165 0, 907962.555 788529.739 0, 908247.47 788524.33 0, 908532.387 788518.938 0, 908817.303 788513.563 0, 909102.22 788508.205 0, 909387.137 788502.863 0, 909672.054 788497.538 0,
+ 909956.972 788492.23 0, 910241.89 788486.939 0, 910526.808 788481.664 0, 910811.726 788476.406 0, 911095.252 788471.191 0, 911381.564 788465.941 0, 911666.484 788460.733 0, 911951.404 788455.543 0, 912236.324 788450.369 0, 912521.244 788445.211 0,
+ 912806.165 788440.071 0, 913091.086 788434.947 0, 913376.007 788429.84 0, 913660.929 788424.75 0, 913945.851 788419.677 0, 914230.773 788414.62 0, 914515.696 788409.58 0, 914800.618 788404.557 0, 915085.542 788399.551 0, 915370.465 788394.562 0,
+ 915655.389 788389.589 0, 915940.313 788384.633 0, 916225.237 788379.694 0, 916510.161 788374.771 0, 916795.086 788369.866 0, 917080.011 788364.977 0, 917364.937 788360.105 0, 917649.863 788355.249 0, 917933.397 788350.434 0, 917838.913 782777.089 0,
+ 917744.434 777203.98 0))
+
+POLYGON ((931610.163 788137.9 0, 931326.614 788141.914 0, 931041.676 788145.965 0, 930756.738 788150.032 0, 930471.8 788154.116 0, 930186.863 788158.216 0, 929901.925 788162.334 0, 929616.988 788166.468 0, 929332.051 788170.619 0, 929047.115 788174.787 0,
+ 928762.178 788178.971 0, 928477.242 788183.173 0, 928192.306 788187.391 0, 927907.371 788191.626 0, 927622.435 788195.877 0, 927337.5 788200.146 0, 927052.565 788204.431 0, 926767.631 788208.733 0, 926482.696 788213.051 0, 926197.762 788217.387 0,
+ 925912.829 788221.739 0, 925627.895 788226.108 0, 925342.962 788230.494 0, 925058.029 788234.896 0, 924771.705 788239.337 0, 924488.163 788243.752 0, 924203.231 788248.205 0, 923918.299 788252.674 0, 923633.367 788257.161 0, 923348.436 788261.664 0,
+ 923063.504 788266.184 0, 922778.573 788270.721 0, 922493.643 788275.274 0, 922208.712 788279.844 0, 921923.782 788284.431 0, 921638.852 788289.035 0, 921353.923 788293.656 0, 921068.993 788298.293 0, 920784.064 788302.947 0, 920499.135 788307.618 0,
+ 920214.207 788312.306 0, 919929.279 788317.01 0, 919644.351 788321.731 0, 919359.423 788326.469 0, 919074.495 788331.224 0, 918789.568 788335.996 0, 918504.641 788340.784 0, 918219.715 788345.589 0, 917933.397 788350.434 0, 918027.884 793924.012 0,
+ 918122.376 799497.819 0, 918408.034 799492.984 0, 918692.305 799488.19 0, 918976.575 799483.413 0, 919260.846 799478.653 0, 919545.118 799473.909 0, 919829.389 799469.182 0, 920113.661 799464.471 0, 920397.933 799459.778 0, 920682.206 799455.101 0,
+ 920966.478 799450.441 0, 921250.751 799445.798 0, 921535.025 799441.171 0, 921819.298 799436.561 0, 922103.572 799431.968 0, 922387.846 799427.391 0, 922672.12 799422.832 0, 922956.395 799418.289 0, 923240.67 799413.762 0, 923524.945 799409.253 0,
+ 923809.22 799404.76 0, 924093.496 799400.284 0, 924377.772 799395.825 0, 924662.048 799391.382 0, 924944.937 799386.978 0, 925230.601 799382.547 0, 925514.878 799378.154 0, 925799.155 799373.779 0, 926083.433 799369.42 0, 926367.71 799365.078 0,
+ 926651.988 799360.752 0, 926936.266 799356.443 0, 927220.545 799352.151 0, 927504.824 799347.876 0, 927789.103 799343.618 0, 928073.382 799339.376 0, 928357.661 799335.151 0, 928641.941 799330.942 0, 928926.221 799326.751 0, 929210.501 799322.576 0,
+ 929494.782 799318.418 0, 929779.062 799314.276 0, 930063.343 799310.151 0, 930347.625 799306.043 0, 930631.906 799301.952 0, 930916.188 799297.878 0, 931200.47 799293.82 0, 931484.752 799289.779 0, 931767.648 799285.774 0, 931688.904 793711.723 0,
+ 931610.163 788137.9 0))
+
+POLYGON ((945413.465 799112.281 0, 945130.556 799115.487 0, 944846.264 799118.724 0, 944561.972 799121.979 0, 944277.68 799125.25 0, 943993.388 799128.538 0, 943709.096 799131.843 0, 943424.805 799135.165 0, 943140.513 799138.503 0, 942856.222 799141.858 0,
+ 942571.931 799145.23 0, 942287.641 799148.618 0, 942003.35 799152.023 0, 941719.06 799155.445 0, 941434.77 799158.884 0, 941150.48 799162.339 0, 940866.19 799165.812 0, 940581.901 799169.3 0, 940297.612 799172.806 0, 940013.322 799176.328 0,
+ 939729.034 799179.867 0, 939444.745 799183.423 0, 939160.457 799186.996 0, 938876.168 799190.585 0, 938590.495 799194.209 0, 938307.593 799197.814 0, 938023.305 799201.453 0, 937739.018 799205.109 0, 937454.73 799208.782 0, 937170.443 799212.472 0,
+ 936886.157 799216.178 0, 936601.87 799219.901 0, 936317.584 799223.641 0, 936033.298 799227.398 0, 935749.012 799231.171 0, 935464.726 799234.961 0, 935180.441 799238.768 0, 934896.156 799242.592 0, 934611.871 799246.432 0, 934327.586 799250.289 0,
+ 934043.302 799254.163 0, 933759.018 799258.053 0, 933474.734 799261.96 0, 933190.45 799265.884 0, 932906.166 799269.825 0, 932621.883 799273.782 0, 932337.6 799277.756 0, 932053.317 799281.747 0, 931767.648 799285.774 0, 931846.395 804860.051 0,
+ 931925.145 810434.549 0, 932210.155 810430.531 0, 932493.781 810426.549 0, 932777.408 810422.585 0, 933061.035 810418.636 0, 933344.663 810414.705 0, 933628.29 810410.79 0, 933911.918 810406.892 0, 934195.546 810403.01 0, 934479.175 810399.146 0,
+ 934762.803 810395.297 0, 935046.432 810391.466 0, 935330.061 810387.651 0, 935613.69 810383.853 0, 935897.319 810380.072 0, 936180.949 810376.307 0, 936464.579 810372.56 0, 936748.209 810368.828 0, 937031.839 810365.114 0, 937315.47 810361.416 0,
+ 937599.1 810357.735 0, 937882.731 810354.07 0, 938166.363 810350.423 0, 938449.994 810346.792 0, 938732.243 810343.195 0, 939017.257 810339.58 0, 939300.889 810335.999 0, 939584.522 810332.434 0, 939868.154 810328.887 0, 940151.787 810325.356 0,
+ 940435.419 810321.842 0, 940719.053 810318.344 0, 941002.686 810314.863 0, 941286.319 810311.399 0, 941569.953 810307.952 0, 941853.587 810304.521 0, 942137.221 810301.107 0, 942420.855 810297.71 0, 942704.49 810294.329 0, 942988.124 810290.965 0,
+ 943271.759 810287.618 0, 943555.394 810284.287 0, 943839.029 810280.973 0, 944122.665 810277.676 0, 944406.301 810274.396 0, 944689.936 810271.132 0, 944973.572 810267.885 0, 945257.209 810264.654 0, 945539.464 810261.456 0, 945476.463 804686.758 0,
+ 945413.465 799112.281 0))
+
+POLYGON ((959154.218 810126.827 0, 958871.952 810129.228 0, 958588.308 810131.657 0, 958304.664 810134.103 0, 958021.02 810136.565 0, 957737.376 810139.044 0, 957453.733 810141.54 0, 957170.089 810144.053 0, 956886.446 810146.582 0, 956602.803 810149.128 0,
+ 956319.16 810151.69 0, 956035.517 810154.27 0, 955751.874 810156.866 0, 955468.231 810159.478 0, 955184.589 810162.108 0, 954900.947 810164.754 0, 954617.304 810167.417 0, 954333.663 810170.096 0, 954050.021 810172.792 0, 953766.379 810175.505 0,
+ 953482.738 810178.235 0, 953199.096 810180.981 0, 952915.455 810183.744 0, 952631.814 810186.524 0, 952346.793 810189.334 0, 952064.533 810192.133 0, 951780.892 810194.963 0, 951497.252 810197.809 0, 951213.612 810200.672 0, 950929.972 810203.552 0,
+ 950646.332 810206.449 0, 950362.692 810209.362 0, 950079.053 810212.292 0, 949795.413 810215.238 0, 949511.774 810218.202 0, 949228.135 810221.182 0, 948944.496 810224.178 0, 948660.858 810227.192 0, 948377.219 810230.222 0, 948093.581 810233.269 0,
+ 947809.943 810236.332 0, 947526.305 810239.412 0, 947242.667 810242.509 0, 946959.03 810245.623 0, 946675.393 810248.753 0, 946391.755 810251.9 0, 946108.118 810255.063 0, 945824.482 810258.244 0, 945539.464 810261.456 0, 945602.467 815836.373 0,
+ 945665.473 821411.503 0, 945949.831 821408.298 0, 946232.812 821405.125 0, 946515.793 821401.969 0, 946798.773 821398.829 0, 947081.755 821395.706 0, 947364.736 821392.6 0, 947647.717 821389.51 0, 947930.699 821386.437 0, 948213.681 821383.381 0,
+ 948496.663 821380.341 0, 948779.645 821377.318 0, 949062.627 821374.312 0, 949345.61 821371.322 0, 949628.592 821368.349 0, 949911.575 821365.392 0, 950194.558 821362.453 0, 950477.541 821359.53 0, 950760.525 821356.623 0, 951043.508 821353.733 0,
+ 951326.492 821350.86 0, 951609.476 821348.004 0, 951892.46 821345.164 0, 952175.444 821342.341 0, 952457.052 821339.548 0, 952741.413 821336.744 0, 953024.398 821333.971 0, 953307.383 821331.214 0, 953590.368 821328.474 0, 953873.353 821325.751 0,
+ 954156.338 821323.045 0, 954439.324 821320.355 0, 954722.31 821317.681 0, 955005.295 821315.025 0, 955288.281 821312.385 0, 955571.268 821309.761 0, 955854.254 821307.155 0, 956137.24 821304.565 0, 956420.227 821301.991 0, 956703.214 821299.435 0,
+ 956986.201 821296.895 0, 957269.188 821294.371 0, 957552.175 821291.865 0, 957835.162 821289.375 0, 958118.15 821286.901 0, 958401.137 821284.444 0, 958684.125 821282.004 0, 958967.113 821279.581 0, 959248.725 821277.186 0, 959201.471 815701.899 0,
+ 959154.218 810126.827 0))
+
+POLYGON ((972832.303 821181.244 0, 972550.683 821182.843 0, 972267.689 821184.467 0, 971984.696 821186.108 0, 971701.702 821187.765 0, 971418.709 821189.439 0, 971135.715 821191.13 0, 970852.722 821192.837 0, 970569.729 821194.561 0, 970286.736 821196.301 0,
+ 970003.743 821198.058 0, 969720.751 821199.832 0, 969437.758 821201.623 0, 969154.766 821203.43 0, 968871.773 821205.254 0, 968588.781 821207.094 0, 968305.789 821208.951 0, 968022.796 821210.825 0, 967739.804 821212.716 0, 967456.813 821214.623 0,
+ 967173.821 821216.547 0, 966890.829 821218.487 0, 966607.838 821220.444 0, 966324.846 821222.418 0, 966040.48 821224.418 0, 965758.864 821226.415 0, 965475.873 821228.439 0, 965192.882 821230.479 0, 964909.891 821232.536 0, 964626.9 821234.61 0,
+ 964343.91 821236.7 0, 964060.919 821238.807 0, 963777.929 821240.931 0, 963494.939 821243.071 0, 963211.948 821245.228 0, 962928.959 821247.402 0, 962645.969 821249.592 0, 962362.979 821251.799 0, 962079.989 821254.022 0, 961797 821256.263 0,
+ 961514.011 821258.519 0, 961231.022 821260.793 0, 960948.032 821263.083 0, 960665.044 821265.39 0, 960382.055 821267.714 0, 960099.066 821270.054 0, 959816.078 821272.41 0, 959533.089 821274.784 0, 959248.725 821277.186 0, 959295.982 826852.683 0,
+ 959343.24 832428.387 0, 959626.945 832425.991 0, 959909.277 832423.623 0, 960191.609 832421.271 0, 960473.941 832418.937 0, 960756.274 832416.618 0, 961038.606 832414.317 0, 961320.939 832412.032 0, 961603.272 832409.764 0, 961885.605 832407.512 0,
+ 962167.938 832405.277 0, 962450.271 832403.059 0, 962732.604 832400.857 0, 963014.938 832398.672 0, 963297.271 832396.503 0, 963579.605 832394.351 0, 963861.939 832392.216 0, 964144.273 832390.097 0, 964426.607 832387.995 0, 964708.941 832385.91 0,
+ 964991.276 832383.841 0, 965273.61 832381.789 0, 965555.945 832379.753 0, 965838.28 832377.734 0, 966119.243 832375.741 0, 966402.949 832373.746 0, 966685.284 832371.777 0, 966967.62 832369.824 0, 967249.955 832367.888 0, 967532.29 832365.969 0,
+ 967814.626 832364.066 0, 968096.962 832362.18 0, 968379.297 832360.311 0, 968661.633 832358.458 0, 968943.969 832356.622 0, 969226.305 832354.802 0, 969508.641 832352.999 0, 969790.978 832351.213 0, 970073.314 832349.443 0, 970355.651 832347.69 0,
+ 970637.987 832345.953 0, 970920.324 832344.234 0, 971202.661 832342.53 0, 971484.998 832340.844 0, 971767.335 832339.174 0, 972049.672 832337.52 0, 972332.009 832335.883 0, 972614.346 832334.263 0, 972895.313 832332.667 0, 972863.807 826756.852 0,
+ 972832.303 821181.244 0))
+
+POLYGON ((986447.603 832275.236 0, 986166.63 832276.038 0, 985884.289 832276.86 0, 985601.949 832277.699 0, 985319.608 832278.555 0, 985037.267 832279.427 0, 984754.927 832280.316 0, 984472.586 832281.222 0, 984190.246 832282.144 0, 983907.905 832283.083 0,
+ 983625.565 832284.038 0, 983343.225 832285.01 0, 983060.885 832285.999 0, 982778.544 832287.004 0, 982496.204 832288.026 0, 982213.864 832289.065 0, 981931.524 832290.12 0, 981649.184 832291.192 0, 981366.845 832292.28 0, 981084.505 832293.385 0,
+ 980802.165 832294.507 0, 980519.825 832295.645 0, 980237.486 832296.8 0, 979955.146 832297.972 0, 979671.438 832299.166 0, 979390.468 832300.364 0, 979108.128 832301.586 0, 978825.789 832302.824 0, 978543.45 832304.078 0, 978261.111 832305.35 0,
+ 977978.772 832306.637 0, 977696.433 832307.942 0, 977414.094 832309.263 0, 977131.755 832310.6 0, 976849.417 832311.955 0, 976567.078 832313.326 0, 976284.739 832314.713 0, 976002.401 832316.117 0, 975720.063 832317.538 0, 975437.724 832318.975 0,
+ 975155.386 832320.429 0, 974873.048 832321.9 0, 974590.71 832323.387 0, 974308.372 832324.891 0, 974026.034 832326.412 0, 973743.696 832327.949 0, 973461.359 832329.502 0, 973179.021 832331.073 0, 972895.313 832332.667 0, 972926.82 837908.686 0,
+ 972958.328 843484.904 0, 973241.376 843483.313 0, 973523.058 843481.746 0, 973804.739 843480.196 0, 974086.42 843478.663 0, 974368.102 843477.146 0, 974649.783 843475.645 0, 974931.465 843474.162 0, 975213.147 843472.694 0, 975494.828 843471.244 0,
+ 975776.51 843469.81 0, 976058.192 843468.392 0, 976339.874 843466.991 0, 976621.556 843465.607 0, 976903.239 843464.239 0, 977184.921 843462.888 0, 977466.603 843461.554 0, 977748.286 843460.236 0, 978029.968 843458.934 0, 978311.651 843457.65 0,
+ 978593.334 843456.381 0, 978875.016 843455.13 0, 979156.699 843453.895 0, 979438.382 843452.676 0, 979718.699 843451.48 0, 980001.748 843450.289 0, 980283.431 843449.12 0, 980565.114 843447.968 0, 980846.798 843446.832 0, 981128.481 843445.713 0,
+ 981410.164 843444.611 0, 981691.848 843443.525 0, 981973.531 843442.456 0, 982255.215 843441.403 0, 982536.898 843440.367 0, 982818.582 843439.347 0, 983100.266 843438.344 0, 983381.95 843437.358 0, 983663.634 843436.388 0, 983945.318 843435.435 0,
+ 984227.001 843434.498 0, 984508.686 843433.578 0, 984790.37 843432.675 0, 985072.054 843431.788 0, 985353.738 843430.917 0, 985635.422 843430.063 0, 985917.106 843429.226 0, 986198.791 843428.406 0, 986479.11 843427.606 0, 986463.356 837851.321 0,
+ 986447.603 832275.236 0))
+
+POLYGON ((1000000 843408.506 0, 999719.677 843408.514 0, 999437.992 843408.539 0, 999156.306 843408.58 0, 998874.621 843408.638 0, 998592.935 843408.713 0, 998311.25 843408.804 0, 998029.564 843408.912 0, 997747.879 843409.036 0, 997466.193 843409.177 0,
+ 997184.508 843409.334 0, 996902.822 843409.508 0, 996621.137 843409.699 0, 996339.451 843409.906 0, 996057.766 843410.13 0, 995776.08 843410.37 0, 995494.395 843410.627 0, 995212.71 843410.9 0, 994931.024 843411.19 0, 994649.339 843411.497 0,
+ 994367.654 843411.82 0, 994085.968 843412.16 0, 993804.283 843412.516 0, 993522.598 843412.889 0, 993239.548 843413.281 0, 992959.227 843413.685 0, 992677.542 843414.108 0, 992395.857 843414.547 0, 992114.171 843415.003 0, 991832.486 843415.475 0,
+ 991550.801 843415.964 0, 991269.116 843416.47 0, 990987.431 843416.992 0, 990705.746 843417.531 0, 990424.061 843418.086 0, 990142.376 843418.658 0, 989860.691 843419.247 0, 989579.006 843419.852 0, 989297.321 843420.473 0, 989015.637 843421.112 0,
+ 988733.952 843421.766 0, 988452.267 843422.438 0, 988170.582 843423.126 0, 987888.898 843423.83 0, 987607.213 843424.551 0, 987325.529 843425.289 0, 987043.844 843426.043 0, 986762.16 843426.814 0, 986479.11 843427.606 0, 986494.865 849004.086 0,
+ 986510.62 854580.759 0, 986793.01 854579.969 0, 987074.038 854579.2 0, 987355.066 854578.448 0, 987636.094 854577.712 0, 987917.122 854576.992 0, 988198.15 854576.289 0, 988479.179 854575.603 0, 988760.207 854574.933 0, 989041.235 854574.28 0,
+ 989322.264 854573.643 0, 989603.292 854573.023 0, 989884.32 854572.419 0, 990165.349 854571.832 0, 990446.377 854571.262 0, 990727.406 854570.708 0, 991008.434 854570.17 0, 991289.463 854569.649 0, 991570.492 854569.145 0, 991851.52 854568.657 0,
+ 992132.549 854568.185 0, 992413.578 854567.731 0, 992694.606 854567.292 0, 992975.635 854566.871 0, 993255.303 854566.467 0, 993537.693 854566.077 0, 993818.722 854565.705 0, 994099.751 854565.349 0, 994380.779 854565.01 0, 994661.808 854564.688 0,
+ 994942.837 854564.382 0, 995223.866 854564.093 0, 995504.895 854563.82 0, 995785.924 854563.563 0, 996066.953 854563.324 0, 996347.982 854563.1 0, 996629.011 854562.894 0, 996910.04 854562.704 0, 997191.069 854562.53 0, 997472.098 854562.373 0,
+ 997753.127 854562.232 0, 998034.156 854562.108 0, 998315.185 854562.001 0, 998596.214 854561.91 0, 998877.243 854561.836 0, 999158.272 854561.778 0, 999439.302 854561.737 0, 999720.331 854561.712 0, 1000000 854561.704 0, 1000000 848985.009 0,
+ 1000000 843408.506 0))
+
+POLYGON ((1013489.38 854580.759 0, 1013209.71 854579.977 0, 1012928.682 854579.208 0, 1012647.654 854578.455 0, 1012366.625 854577.719 0, 1012085.597 854576.999 0, 1011804.569 854576.296 0, 1011523.541 854575.61 0, 1011242.513 854574.94 0, 1010961.484 854574.286 0,
+ 1010680.456 854573.649 0, 1010399.427 854573.029 0, 1010118.399 854572.425 0, 1009837.371 854571.838 0, 1009556.342 854571.267 0, 1009275.314 854570.713 0, 1008994.285 854570.175 0, 1008713.256 854569.654 0, 1008432.228 854569.15 0, 1008151.199 854568.661 0,
+ 1007870.17 854568.19 0, 1007589.142 854567.735 0, 1007308.113 854567.297 0, 1007027.084 854566.875 0, 1006744.697 854566.467 0, 1006465.027 854566.081 0, 1006183.998 854565.708 0, 1005902.969 854565.353 0, 1005621.94 854565.013 0, 1005340.911 854564.691 0,
+ 1005059.882 854564.385 0, 1004778.853 854564.095 0, 1004497.824 854563.822 0, 1004216.795 854563.566 0, 1003935.766 854563.326 0, 1003654.737 854563.102 0, 1003373.708 854562.896 0, 1003092.679 854562.705 0, 1002811.65 854562.532 0, 1002530.621 854562.374 0,
+ 1002249.592 854562.234 0, 1001968.563 854562.11 0, 1001687.534 854562.002 0, 1001406.505 854561.911 0, 1001125.476 854561.836 0, 1000844.447 854561.778 0, 1000563.418 854561.737 0, 1000282.389 854561.712 0, 1000000 854561.704 0, 1000000 860138.587 0,
+ 1000000 865715.655 0, 1000281.729 865715.663 0, 1000562.102 865715.688 0, 1000842.474 865715.729 0, 1001122.847 865715.787 0, 1001403.219 865715.861 0, 1001683.592 865715.952 0, 1001963.965 865716.059 0, 1002244.337 865716.183 0, 1002524.71 865716.324 0,
+ 1002805.082 865716.481 0, 1003085.455 865716.654 0, 1003365.827 865716.844 0, 1003646.2 865717.05 0, 1003926.572 865717.273 0, 1004206.945 865717.512 0, 1004487.317 865717.768 0, 1004767.69 865718.041 0, 1005048.062 865718.329 0, 1005328.434 865718.635 0,
+ 1005608.807 865718.957 0, 1005889.179 865719.295 0, 1006169.552 865719.65 0, 1006449.924 865720.021 0, 1006728.941 865720.407 0, 1007010.669 865720.814 0, 1007291.041 865721.234 0, 1007571.413 865721.672 0, 1007851.785 865722.126 0, 1008132.157 865722.596 0,
+ 1008412.53 865723.083 0, 1008692.902 865723.586 0, 1008973.274 865724.106 0, 1009253.646 865724.643 0, 1009534.018 865725.196 0, 1009814.39 865725.765 0, 1010094.762 865726.351 0, 1010375.134 865726.953 0, 1010655.506 865727.572 0, 1010935.878 865728.208 0,
+ 1011216.249 865728.86 0, 1011496.621 865729.528 0, 1011776.993 865730.213 0, 1012057.365 865730.914 0, 1012337.736 865731.632 0, 1012618.108 865732.367 0, 1012898.48 865733.118 0, 1013178.851 865733.885 0, 1013457.868 865734.665 0, 1013473.624 860157.62 0,
+ 1013489.38 854580.759 0))
+
+POLYGON ((1026915.629 865791.696 0, 1026636.613 865790.128 0, 1026356.245 865788.569 0, 1026075.876 865787.026 0, 1025795.508 865785.499 0, 1025515.139 865783.989 0, 1025234.771 865782.495 0, 1024954.402 865781.018 0, 1024674.033 865779.558 0, 1024393.664 865778.114 0,
+ 1024113.296 865776.686 0, 1023832.926 865775.275 0, 1023552.557 865773.881 0, 1023272.188 865772.503 0, 1022991.819 865771.141 0, 1022711.45 865769.796 0, 1022431.08 865768.468 0, 1022150.711 865767.156 0, 1021870.341 865765.86 0, 1021589.971 865764.581 0,
+ 1021309.602 865763.319 0, 1021029.232 865762.073 0, 1020748.862 865760.843 0, 1020468.492 865759.63 0, 1020186.769 865758.428 0, 1019907.752 865757.254 0, 1019627.382 865756.09 0, 1019347.011 865754.944 0, 1019066.641 865753.813 0, 1018786.271 865752.699 0,
+ 1018505.9 865751.602 0, 1018225.53 865750.521 0, 1017945.159 865749.456 0, 1017664.789 865748.408 0, 1017384.418 865747.377 0, 1017104.047 865746.362 0, 1016823.676 865745.363 0, 1016543.306 865744.381 0, 1016262.935 865743.416 0, 1015982.564 865742.467 0,
+ 1015702.193 865741.534 0, 1015421.822 865740.619 0, 1015141.45 865739.719 0, 1014861.079 865738.836 0, 1014580.708 865737.97 0, 1014300.337 865737.12 0, 1014019.965 865736.286 0, 1013739.594 865735.469 0, 1013457.868 865734.665 0, 1013442.111 871311.891 0,
+ 1013426.354 876889.294 0, 1013707.42 876890.097 0, 1013987.135 876890.912 0, 1014266.85 876891.743 0, 1014546.565 876892.591 0, 1014826.279 876893.456 0, 1015105.994 876894.337 0, 1015385.709 876895.234 0, 1015665.423 876896.148 0, 1015945.138 876897.078 0,
+ 1016224.852 876898.025 0, 1016504.566 876898.988 0, 1016784.281 876899.968 0, 1017063.995 876900.964 0, 1017343.709 876901.976 0, 1017623.423 876903.005 0, 1017903.138 876904.051 0, 1018182.852 876905.113 0, 1018462.566 876906.191 0, 1018742.279 876907.286 0,
+ 1019021.993 876908.398 0, 1019301.707 876909.525 0, 1019581.421 876910.67 0, 1019861.134 876911.83 0, 1020139.498 876913.002 0, 1020420.561 876914.201 0, 1020700.275 876915.411 0, 1020979.988 876916.638 0, 1021259.701 876917.881 0, 1021539.415 876919.141 0,
+ 1021819.128 876920.417 0, 1022098.841 876921.709 0, 1022378.554 876923.018 0, 1022658.267 876924.343 0, 1022937.98 876925.685 0, 1023217.692 876927.044 0, 1023497.405 876928.418 0, 1023777.117 876929.81 0, 1024056.83 876931.217 0, 1024336.542 876932.642 0,
+ 1024616.255 876934.082 0, 1024895.967 876935.539 0, 1025175.679 876937.013 0, 1025455.391 876938.503 0, 1025735.103 876940.009 0, 1026014.815 876941.532 0, 1026294.527 876943.072 0, 1026574.239 876944.628 0, 1026852.601 876946.192 0, 1026884.115 871368.856 0,
+ 1026915.629 865791.696 0))
+
+POLYGON ((1040278.634 877041.021 0, 1040000.275 877038.67 0, 1039720.568 877036.324 0, 1039440.862 877033.995 0, 1039161.156 877031.681 0, 1038881.449 877029.385 0, 1038601.742 877027.104 0, 1038322.035 877024.841 0, 1038042.328 877022.593 0, 1037762.621 877020.362 0,
+ 1037482.914 877018.148 0, 1037203.207 877015.95 0, 1036923.499 877013.769 0, 1036643.791 877011.604 0, 1036364.084 877009.455 0, 1036084.376 877007.323 0, 1035804.668 877005.207 0, 1035524.959 877003.108 0, 1035245.251 877001.025 0, 1034965.543 876998.959 0,
+ 1034685.834 876996.909 0, 1034406.126 876994.876 0, 1034126.417 876992.859 0, 1033846.708 876990.859 0, 1033565.651 876988.865 0, 1033287.29 876986.908 0, 1033007.581 876984.957 0, 1032727.871 876983.022 0, 1032448.162 876981.104 0, 1032168.452 876979.202 0,
+ 1031888.743 876977.317 0, 1031609.033 876975.449 0, 1031329.323 876973.596 0, 1031049.613 876971.761 0, 1030769.903 876969.941 0, 1030490.192 876968.138 0, 1030210.482 876966.352 0, 1029930.772 876964.582 0, 1029651.061 876962.829 0, 1029371.35 876961.092 0,
+ 1029091.64 876959.371 0, 1028811.929 876957.667 0, 1028532.218 876955.98 0, 1028252.507 876954.309 0, 1027972.796 876952.654 0, 1027693.085 876951.016 0, 1027413.373 876949.394 0, 1027133.662 876947.789 0, 1026852.601 876946.192 0, 1026821.086 882523.702 0,
+ 1026789.57 888101.381 0, 1027069.97 888102.973 0, 1027349.025 888104.575 0, 1027628.08 888106.193 0, 1027907.135 888107.827 0, 1028186.189 888109.478 0, 1028465.244 888111.145 0, 1028744.298 888112.829 0, 1029023.352 888114.529 0, 1029302.407 888116.245 0,
+ 1029581.461 888117.978 0, 1029860.515 888119.727 0, 1030139.568 888121.493 0, 1030418.622 888123.275 0, 1030697.676 888125.074 0, 1030976.729 888126.889 0, 1031255.783 888128.72 0, 1031534.836 888130.568 0, 1031813.889 888132.433 0, 1032092.943 888134.313 0,
+ 1032371.996 888136.21 0, 1032651.048 888138.124 0, 1032930.101 888140.054 0, 1033209.154 888142 0, 1033486.862 888143.954 0, 1033767.259 888145.942 0, 1034046.311 888147.938 0, 1034325.363 888149.95 0, 1034604.416 888151.979 0, 1034883.468 888154.024 0,
+ 1035162.519 888156.085 0, 1035441.571 888158.163 0, 1035720.623 888160.257 0, 1035999.674 888162.368 0, 1036278.725 888164.495 0, 1036557.777 888166.638 0, 1036836.828 888168.798 0, 1037115.879 888170.975 0, 1037394.93 888173.167 0, 1037673.98 888175.377 0,
+ 1037953.031 888177.602 0, 1038232.081 888179.844 0, 1038511.132 888182.103 0, 1038790.182 888184.378 0, 1039069.232 888186.669 0, 1039348.282 888188.977 0, 1039627.332 888191.301 0, 1039906.381 888193.642 0, 1040184.087 888195.987 0, 1040231.361 882618.42 0,
+ 1040278.634 877041.021 0))
+
+POLYGON ((1053578.284 888328.435 0, 1053300.584 888325.305 0, 1053021.542 888322.176 0, 1052742.5 888319.064 0, 1052463.457 888315.968 0, 1052184.415 888312.888 0, 1051905.372 888309.825 0, 1051626.329 888306.778 0, 1051347.286 888303.747 0, 1051068.243 888300.733 0,
+ 1050789.2 888297.736 0, 1050510.156 888294.755 0, 1050231.113 888291.79 0, 1049952.069 888288.842 0, 1049673.025 888285.91 0, 1049393.98 888282.994 0, 1049114.936 888280.095 0, 1048835.891 888277.213 0, 1048556.847 888274.347 0, 1048277.802 888271.497 0,
+ 1047998.757 888268.663 0, 1047719.712 888265.847 0, 1047440.666 888263.046 0, 1047161.621 888260.262 0, 1046881.232 888257.481 0, 1046603.529 888254.743 0, 1046324.483 888252.008 0, 1046045.437 888249.29 0, 1045766.39 888246.588 0, 1045487.344 888243.903 0,
+ 1045208.297 888241.234 0, 1044929.25 888238.581 0, 1044650.203 888235.945 0, 1044371.156 888233.325 0, 1044092.109 888230.721 0, 1043813.061 888228.135 0, 1043534.014 888225.564 0, 1043254.966 888223.01 0, 1042975.918 888220.472 0, 1042696.87 888217.951 0,
+ 1042417.822 888215.446 0, 1042138.773 888212.958 0, 1041859.725 888210.486 0, 1041580.676 888208.03 0, 1041301.627 888205.591 0, 1041022.578 888203.168 0, 1040743.529 888200.762 0, 1040464.48 888198.372 0, 1040184.087 888195.987 0, 1040136.812 893773.72 0,
+ 1040089.535 899351.615 0, 1040369.268 899353.994 0, 1040647.661 899356.378 0, 1040926.053 899358.779 0, 1041204.445 899361.196 0, 1041482.838 899363.629 0, 1041761.23 899366.079 0, 1042039.622 899368.545 0, 1042318.013 899371.028 0, 1042596.405 899373.527 0,
+ 1042874.796 899376.042 0, 1043153.188 899378.574 0, 1043431.579 899381.122 0, 1043709.97 899383.687 0, 1043988.361 899386.267 0, 1044266.752 899388.865 0, 1044545.142 899391.478 0, 1044823.533 899394.108 0, 1045101.923 899396.755 0, 1045380.313 899399.418 0,
+ 1045658.703 899402.097 0, 1045937.093 899404.792 0, 1046215.482 899407.504 0, 1046493.872 899410.233 0, 1046770.922 899412.964 0, 1047050.65 899415.739 0, 1047329.039 899418.516 0, 1047607.428 899421.31 0, 1047885.817 899424.12 0, 1048164.205 899426.947 0,
+ 1048442.593 899429.79 0, 1048720.982 899432.649 0, 1048999.37 899435.525 0, 1049277.757 899438.417 0, 1049556.145 899441.326 0, 1049834.532 899444.251 0, 1050112.92 899447.192 0, 1050391.307 899450.15 0, 1050669.694 899453.124 0, 1050948.081 899456.115 0,
+ 1051226.467 899459.122 0, 1051504.854 899462.145 0, 1051783.24 899465.184 0, 1052061.626 899468.241 0, 1052340.012 899471.313 0, 1052618.397 899474.402 0, 1052896.783 899477.507 0, 1053175.168 899480.629 0, 1053452.215 899483.751 0, 1053515.25 893906.013 0,
+ 1053578.284 888328.435 0))
+
+POLYGON ((1066814.469 899653.639 0, 1066537.43 899649.734 0, 1066259.055 899645.826 0, 1065980.679 899641.934 0, 1065702.303 899638.059 0, 1065423.927 899634.2 0, 1065145.551 899630.357 0, 1064867.174 899626.531 0, 1064588.797 899622.721 0, 1064310.42 899618.928 0,
+ 1064032.043 899615.151 0, 1063753.666 899611.39 0, 1063475.288 899607.646 0, 1063196.91 899603.918 0, 1062918.532 899600.207 0, 1062640.154 899596.512 0, 1062361.775 899592.833 0, 1062083.396 899589.171 0, 1061805.017 899585.525 0, 1061526.638 899581.895 0,
+ 1061248.259 899578.282 0, 1060969.879 899574.686 0, 1060691.5 899571.105 0, 1060413.12 899567.541 0, 1060133.402 899563.977 0, 1059856.359 899560.462 0, 1059577.978 899556.947 0, 1059299.597 899553.449 0, 1059021.216 899549.967 0, 1058742.835 899546.501 0,
+ 1058464.454 899543.052 0, 1058186.072 899539.619 0, 1057907.69 899536.203 0, 1057629.308 899532.802 0, 1057350.926 899529.419 0, 1057072.543 899526.051 0, 1056794.161 899522.7 0, 1056515.778 899519.366 0, 1056237.395 899516.048 0, 1055959.011 899512.746 0,
+ 1055680.628 899509.46 0, 1055402.244 899506.191 0, 1055123.86 899502.939 0, 1054845.476 899499.702 0, 1054567.092 899496.482 0, 1054288.708 899493.279 0, 1054010.323 899490.092 0, 1053731.938 899486.921 0, 1053452.215 899483.751 0, 1053389.178 905061.648 0,
+ 1053326.139 910639.699 0, 1053605.203 910642.861 0, 1053882.931 910646.024 0, 1054160.659 910649.204 0, 1054438.387 910652.399 0, 1054716.114 910655.612 0, 1054993.842 910658.84 0, 1055271.569 910662.085 0, 1055549.296 910665.347 0, 1055827.023 910668.624 0,
+ 1056104.749 910671.919 0, 1056382.476 910675.229 0, 1056660.202 910678.556 0, 1056937.928 910681.899 0, 1057215.654 910685.258 0, 1057493.38 910688.634 0, 1057771.105 910692.026 0, 1058048.83 910695.435 0, 1058326.556 910698.859 0, 1058604.28 910702.3 0,
+ 1058882.005 910705.758 0, 1059159.729 910709.232 0, 1059437.454 910712.722 0, 1059715.178 910716.229 0, 1059991.567 910719.735 0, 1060270.625 910723.291 0, 1060548.349 910726.846 0, 1060826.072 910730.418 0, 1061103.795 910734.007 0, 1061381.518 910737.611 0,
+ 1061659.24 910741.232 0, 1061936.963 910744.869 0, 1062214.685 910748.523 0, 1062492.407 910752.193 0, 1062770.128 910755.879 0, 1063047.85 910759.582 0, 1063325.571 910763.301 0, 1063603.292 910767.037 0, 1063881.013 910770.788 0, 1064158.734 910774.556 0,
+ 1064436.454 910778.341 0, 1064714.174 910782.142 0, 1064991.894 910785.959 0, 1065269.614 910789.792 0, 1065547.333 910793.642 0, 1065825.053 910797.508 0, 1066102.772 910801.391 0, 1066380.49 910805.289 0, 1066656.876 910809.186 0, 1066735.674 905231.336 0,
+ 1066814.469 899653.639 0))
+
+POLYGON ((1079987.081 911016.334 0, 1079710.705 911011.657 0, 1079432.998 911006.973 0, 1079155.292 911002.306 0, 1078877.584 910997.656 0, 1078599.877 910993.021 0, 1078322.169 910988.403 0, 1078044.461 910983.801 0, 1077766.753 910979.216 0, 1077489.044 910974.647 0,
+ 1077211.335 910970.094 0, 1076933.626 910965.558 0, 1076655.917 910961.038 0, 1076378.207 910956.534 0, 1076100.497 910952.047 0, 1075822.787 910947.576 0, 1075545.076 910943.122 0, 1075267.366 910938.683 0, 1074989.655 910934.261 0, 1074711.943 910929.856 0,
+ 1074434.232 910925.467 0, 1074156.52 910921.094 0, 1073878.808 910916.737 0, 1073601.096 910912.397 0, 1073322.052 910908.052 0, 1073045.671 910903.766 0, 1072767.958 910899.475 0, 1072490.244 910895.2 0, 1072212.531 910890.941 0, 1071934.817 910886.699 0,
+ 1071657.103 910882.473 0, 1071379.389 910878.264 0, 1071101.674 910874.071 0, 1070823.959 910869.894 0, 1070546.244 910865.734 0, 1070268.529 910861.59 0, 1069990.814 910857.462 0, 1069713.098 910853.351 0, 1069435.382 910849.256 0, 1069157.666 910845.177 0,
+ 1068879.949 910841.115 0, 1068602.233 910837.069 0, 1068324.516 910833.039 0, 1068046.798 910829.026 0, 1067769.081 910825.029 0, 1067491.363 910821.048 0, 1067213.646 910817.084 0, 1066935.927 910813.136 0, 1066656.876 910809.186 0, 1066578.076 916387.186 0,
+ 1066499.275 921965.332 0, 1066777.666 921969.273 0, 1067054.728 921973.212 0, 1067331.789 921977.167 0, 1067608.85 921981.138 0, 1067885.911 921985.126 0, 1068162.971 921989.129 0, 1068440.032 921993.149 0, 1068717.092 921997.186 0, 1068994.152 922001.238 0,
+ 1069271.211 922005.307 0, 1069548.271 922009.393 0, 1069825.33 922013.494 0, 1070102.389 922017.612 0, 1070379.447 922021.747 0, 1070656.506 922025.897 0, 1070933.564 922030.064 0, 1071210.622 922034.247 0, 1071487.679 922038.447 0, 1071764.737 922042.662 0,
+ 1072041.794 922046.895 0, 1072318.851 922051.143 0, 1072595.907 922055.408 0, 1072872.964 922059.689 0, 1073148.691 922063.965 0, 1073427.076 922068.3 0, 1073704.132 922072.629 0, 1073981.187 922076.976 0, 1074258.242 922081.338 0, 1074535.297 922085.717 0,
+ 1074812.352 922090.112 0, 1075089.406 922094.524 0, 1075366.46 922098.951 0, 1075643.514 922103.396 0, 1075920.567 922107.856 0, 1076197.621 922112.333 0, 1076474.674 922116.826 0, 1076751.727 922121.335 0, 1077028.779 922125.86 0, 1077305.831 922130.402 0,
+ 1077582.883 922134.961 0, 1077859.935 922139.535 0, 1078136.987 922144.126 0, 1078414.038 922148.733 0, 1078691.089 922153.357 0, 1078968.139 922157.996 0, 1079245.19 922162.652 0, 1079522.24 922167.325 0, 1079797.962 922171.991 0, 1079892.523 916594.089 0,
+ 1079987.081 911016.334 0))
+
+POLYGON ((1093096.012 922416.22 0, 1092820.302 922410.775 0, 1092543.266 922405.32 0, 1092266.23 922399.881 0, 1091989.194 922394.458 0, 1091712.157 922389.052 0, 1091435.12 922383.662 0, 1091158.083 922378.289 0, 1090881.045 922372.932 0, 1090604.007 922367.591 0,
+ 1090326.969 922362.266 0, 1090049.93 922356.958 0, 1089772.891 922351.666 0, 1089495.852 922346.39 0, 1089218.812 922341.131 0, 1088941.772 922335.888 0, 1088664.732 922330.661 0, 1088387.692 922325.45 0, 1088110.651 922320.256 0, 1087833.61 922315.078 0,
+ 1087556.568 922309.917 0, 1087279.527 922304.771 0, 1087002.485 922299.643 0, 1086725.442 922294.53 0, 1086447.073 922289.409 0, 1086171.357 922284.354 0, 1085894.314 922279.29 0, 1085617.27 922274.242 0, 1085340.226 922269.211 0, 1085063.182 922264.196 0,
+ 1084786.138 922259.198 0, 1084509.093 922254.216 0, 1084232.048 922249.25 0, 1083955.003 922244.3 0, 1083677.957 922239.367 0, 1083400.912 922234.45 0, 1083123.865 922229.549 0, 1082846.819 922224.665 0, 1082569.772 922219.797 0, 1082292.725 922214.945 0,
+ 1082015.678 922210.11 0, 1081738.63 922205.291 0, 1081461.583 922200.488 0, 1081184.534 922195.701 0, 1080907.486 922190.931 0, 1080630.437 922186.177 0, 1080353.388 922181.44 0, 1080076.339 922176.718 0, 1079797.962 922171.991 0, 1079703.399 927750.035 0,
+ 1079608.833 933328.216 0, 1079886.551 933332.933 0, 1080162.943 933337.643 0, 1080439.336 933342.369 0, 1080715.728 933347.112 0, 1080992.12 933351.871 0, 1081268.511 933356.646 0, 1081544.902 933361.437 0, 1081821.293 933366.245 0, 1082097.684 933371.069 0,
+ 1082374.074 933375.909 0, 1082650.464 933380.766 0, 1082926.854 933385.639 0, 1083203.244 933390.528 0, 1083479.633 933395.433 0, 1083756.022 933400.354 0, 1084032.411 933405.292 0, 1084308.799 933410.246 0, 1084585.187 933415.217 0, 1084861.575 933420.203 0,
+ 1085137.962 933425.206 0, 1085414.349 933430.226 0, 1085690.736 933435.261 0, 1085967.123 933440.313 0, 1086242.186 933445.356 0, 1086519.895 933450.465 0, 1086796.281 933455.566 0, 1087072.666 933460.682 0, 1087349.051 933465.815 0, 1087625.436 933470.965 0,
+ 1087901.821 933476.13 0, 1088178.205 933481.312 0, 1088454.589 933486.51 0, 1088730.972 933491.725 0, 1089007.355 933496.955 0, 1089283.738 933502.202 0, 1089560.121 933507.465 0, 1089836.503 933512.745 0, 1090112.885 933518.041 0, 1090389.267 933523.353 0,
+ 1090665.649 933528.681 0, 1090942.03 933534.025 0, 1091218.41 933539.386 0, 1091494.791 933544.763 0, 1091771.171 933550.157 0, 1092047.551 933555.566 0, 1092323.93 933560.992 0, 1092600.309 933566.434 0, 1092875.366 933571.867 0, 1092985.69 927993.974 0,
+ 1093096.012 922416.22 0))
+
+POLYGON ((1106141.157 933852.996 0, 1105866.115 933846.787 0, 1105589.752 933840.564 0, 1105313.389 933834.357 0, 1105037.026 933828.167 0, 1104760.662 933821.992 0, 1104484.298 933815.835 0, 1104207.934 933809.693 0, 1103931.569 933803.568 0, 1103655.203 933797.459 0,
+ 1103378.838 933791.366 0, 1103102.472 933785.289 0, 1102826.106 933779.229 0, 1102549.739 933773.185 0, 1102273.372 933767.157 0, 1101997.004 933761.146 0, 1101720.637 933755.151 0, 1101444.269 933749.172 0, 1101167.9 933743.209 0, 1100891.531 933737.262 0,
+ 1100615.162 933731.332 0, 1100338.793 933725.418 0, 1100062.423 933719.521 0, 1099786.053 933713.64 0, 1099508.361 933707.746 0, 1099233.311 933701.926 0, 1098956.94 933696.093 0, 1098680.569 933690.277 0, 1098404.197 933684.477 0, 1098127.824 933678.693 0,
+ 1097851.452 933672.926 0, 1097575.079 933667.174 0, 1097298.706 933661.439 0, 1097022.332 933655.721 0, 1096745.958 933650.018 0, 1096469.584 933644.332 0, 1096193.209 933638.662 0, 1095916.834 933633.009 0, 1095640.459 933627.371 0, 1095364.083 933621.75 0,
+ 1095087.708 933616.146 0, 1094811.331 933610.557 0, 1094534.955 933604.985 0, 1094258.578 933599.429 0, 1093982.201 933593.889 0, 1093705.823 933588.365 0, 1093429.445 933582.858 0, 1093153.067 933577.367 0, 1092875.366 933571.867 0, 1092765.039 939149.893 0,
+ 1092654.709 944728.05 0, 1092931.75 944733.538 0, 1093207.472 944739.016 0, 1093483.193 944744.51 0, 1093758.914 944750.021 0, 1094034.635 944755.547 0, 1094310.355 944761.09 0, 1094586.075 944766.649 0, 1094861.795 944772.224 0, 1095137.514 944777.816 0,
+ 1095413.233 944783.423 0, 1095688.952 944789.047 0, 1095964.67 944794.688 0, 1096240.388 944800.344 0, 1096516.105 944806.017 0, 1096791.823 944811.705 0, 1097067.54 944817.411 0, 1097343.256 944823.132 0, 1097618.973 944828.869 0, 1097894.689 944834.623 0,
+ 1098170.404 944840.393 0, 1098446.12 944846.179 0, 1098721.835 944851.982 0, 1098997.549 944857.801 0, 1099271.945 944863.608 0, 1099548.977 944869.487 0, 1099824.691 944875.354 0, 1100100.404 944881.238 0, 1100376.117 944887.137 0, 1100651.83 944893.053 0,
+ 1100927.542 944898.986 0, 1101203.254 944904.934 0, 1101478.965 944910.899 0, 1101754.676 944916.88 0, 1102030.387 944922.877 0, 1102306.097 944928.891 0, 1102581.807 944934.92 0, 1102857.517 944940.966 0, 1103133.226 944947.028 0, 1103408.935 944953.107 0,
+ 1103684.644 944959.201 0, 1103960.352 944965.312 0, 1104236.06 944971.439 0, 1104511.768 944977.582 0, 1104787.475 944983.742 0, 1105063.182 944989.917 0, 1105338.888 944996.109 0, 1105614.595 945002.317 0, 1105888.983 945008.512 0, 1106015.072 939430.689 0,
+ 1106141.157 933852.996 0))
+
+POLYGON ((1119122.412 945326.362 0, 1118848.04 945319.392 0, 1118572.352 945312.405 0, 1118296.665 945305.434 0, 1118020.976 945298.479 0, 1117745.288 945291.541 0, 1117469.598 945284.619 0, 1117193.909 945277.713 0, 1116918.219 945270.823 0, 1116642.529 945263.95 0,
+ 1116366.838 945257.093 0, 1116091.147 945250.252 0, 1115815.455 945243.427 0, 1115539.763 945236.618 0, 1115264.071 945229.826 0, 1114988.378 945223.05 0, 1114712.685 945216.29 0, 1114436.992 945209.546 0, 1114161.298 945202.819 0, 1113885.603 945196.108 0,
+ 1113609.909 945189.413 0, 1113334.214 945182.734 0, 1113058.518 945176.071 0, 1112782.822 945169.425 0, 1112505.81 945162.763 0, 1112231.429 945156.181 0, 1111955.732 945149.584 0, 1111680.035 945143.002 0, 1111404.337 945136.437 0, 1111128.639 945129.888 0,
+ 1110852.94 945123.355 0, 1110577.241 945116.839 0, 1110301.542 945110.339 0, 1110025.842 945103.855 0, 1109750.142 945097.387 0, 1109474.441 945090.935 0, 1109198.74 945084.5 0, 1108923.039 945078.081 0, 1108647.337 945071.678 0, 1108371.635 945065.291 0,
+ 1108095.933 945058.921 0, 1107820.23 945052.567 0, 1107544.527 945046.229 0, 1107268.823 945039.907 0, 1106993.12 945033.602 0, 1106717.415 945027.312 0, 1106441.711 945021.039 0, 1106166.006 945014.782 0, 1105888.983 945008.512 0, 1105762.892 950586.462 0,
+ 1105636.798 956164.534 0, 1105913.16 956170.789 0, 1106188.209 956177.031 0, 1106463.257 956183.289 0, 1106738.304 956189.563 0, 1107013.352 956195.854 0, 1107288.399 956202.161 0, 1107563.445 956208.483 0, 1107838.491 956214.822 0, 1108113.537 956221.178 0,
+ 1108388.583 956227.549 0, 1108663.628 956233.937 0, 1108938.672 956240.341 0, 1109213.717 956246.761 0, 1109488.76 956253.197 0, 1109763.804 956259.649 0, 1110038.847 956266.118 0, 1110313.89 956272.603 0, 1110588.932 956279.104 0, 1110863.974 956285.621 0,
+ 1111139.016 956292.154 0, 1111414.057 956298.703 0, 1111689.098 956305.269 0, 1111964.138 956311.851 0, 1112237.866 956318.418 0, 1112514.218 956325.063 0, 1112789.257 956331.694 0, 1113064.296 956338.341 0, 1113339.335 956345.003 0, 1113614.373 956351.682 0,
+ 1113889.411 956358.378 0, 1114164.448 956365.089 0, 1114439.485 956371.817 0, 1114714.522 956378.56 0, 1114989.558 956385.32 0, 1115264.593 956392.096 0, 1115539.629 956398.889 0, 1115814.664 956405.697 0, 1116089.698 956412.522 0, 1116364.732 956419.363 0,
+ 1116639.766 956426.22 0, 1116914.8 956433.093 0, 1117189.832 956439.983 0, 1117464.865 956446.888 0, 1117739.897 956453.81 0, 1118014.929 956460.748 0, 1118289.96 956467.703 0, 1118564.991 956474.673 0, 1118838.71 956481.626 0, 1118980.562 950903.933 0,
+ 1119122.412 945326.362 0))
+
+POLYGON ((1132039.673 956836.015 0, 1131765.973 956828.289 0, 1131490.963 956820.541 0, 1131215.952 956812.81 0, 1130940.941 956805.095 0, 1130665.93 956797.396 0, 1130390.918 956789.714 0, 1130115.906 956782.047 0, 1129840.893 956774.397 0, 1129565.88 956766.763 0,
+ 1129290.866 956759.145 0, 1129015.852 956751.543 0, 1128740.837 956743.958 0, 1128465.822 956736.388 0, 1128190.807 956728.835 0, 1127915.791 956721.298 0, 1127640.774 956713.778 0, 1127365.757 956706.273 0, 1127090.74 956698.785 0, 1126815.722 956691.312 0,
+ 1126540.704 956683.856 0, 1126265.686 956676.416 0, 1125990.667 956668.993 0, 1125715.647 956661.585 0, 1125439.317 956654.159 0, 1125165.607 956646.819 0, 1124890.586 956639.46 0, 1124615.565 956632.117 0, 1124340.543 956624.791 0, 1124065.521 956617.48 0,
+ 1123790.499 956610.186 0, 1123515.476 956602.908 0, 1123240.452 956595.647 0, 1122965.429 956588.401 0, 1122690.405 956581.172 0, 1122415.38 956573.958 0, 1122140.355 956566.761 0, 1121865.329 956559.58 0, 1121590.303 956552.416 0, 1121315.277 956545.267 0,
+ 1121040.25 956538.135 0, 1120765.223 956531.019 0, 1120490.196 956523.919 0, 1120215.168 956516.835 0, 1119940.139 956509.768 0, 1119665.11 956502.716 0, 1119390.081 956495.681 0, 1119115.052 956488.662 0, 1118838.71 956481.626 0, 1118696.854 962059.438 0,
+ 1118554.995 967637.364 0, 1118830.677 967644.384 0, 1119105.05 967651.386 0, 1119379.423 967658.404 0, 1119653.795 967665.439 0, 1119928.167 967672.489 0, 1120202.539 967679.556 0, 1120476.91 967686.639 0, 1120751.28 967693.738 0, 1121025.65 967700.854 0,
+ 1121300.02 967707.985 0, 1121574.389 967715.133 0, 1121848.758 967722.296 0, 1122123.127 967729.476 0, 1122397.495 967736.672 0, 1122671.862 967743.884 0, 1122946.229 967751.112 0, 1123220.596 967758.357 0, 1123494.963 967765.618 0, 1123769.328 967772.894 0,
+ 1124043.694 967780.187 0, 1124318.059 967787.496 0, 1124592.424 967794.821 0, 1124866.788 967802.163 0, 1125139.844 967809.485 0, 1125415.515 967816.894 0, 1125689.878 967824.284 0, 1125964.24 967831.69 0, 1126238.602 967839.112 0, 1126512.964 967846.55 0,
+ 1126787.325 967854.004 0, 1127061.686 967861.475 0, 1127336.046 967868.961 0, 1127610.406 967876.464 0, 1127884.765 967883.983 0, 1128159.124 967891.518 0, 1128433.483 967899.07 0, 1128707.841 967906.637 0, 1128982.198 967914.221 0, 1129256.555 967921.82 0,
+ 1129530.912 967929.436 0, 1129805.268 967937.068 0, 1130079.624 967944.716 0, 1130353.979 967952.381 0, 1130628.334 967960.061 0, 1130902.689 967967.758 0, 1131177.043 967975.47 0, 1131451.396 967983.199 0, 1131724.443 967990.907 0, 1131882.06 962413.404 0,
+ 1132039.673 956836.015 0))
+
+POLYGON ((1144892.839 968381.655 0, 1144619.813 968373.176 0, 1144345.483 968364.672 0, 1144071.152 968356.184 0, 1143796.82 968347.712 0, 1143522.488 968339.257 0, 1143248.155 968330.817 0, 1142973.822 968322.394 0, 1142699.489 968313.987 0, 1142425.155 968305.596 0,
+ 1142150.82 968297.221 0, 1141876.485 968288.863 0, 1141602.149 968280.52 0, 1141327.813 968272.194 0, 1141053.477 968263.884 0, 1140779.14 968255.59 0, 1140504.802 968247.312 0, 1140230.464 968239.05 0, 1139956.126 968230.804 0, 1139681.787 968222.575 0,
+ 1139407.447 968214.361 0, 1139133.107 968206.164 0, 1138858.767 968197.983 0, 1138584.426 968189.818 0, 1138308.779 968181.631 0, 1138035.743 968173.537 0, 1137761.4 968165.421 0, 1137487.057 968157.32 0, 1137212.714 968149.236 0, 1136938.37 968141.168 0,
+ 1136664.026 968133.116 0, 1136389.681 968125.081 0, 1136115.336 968117.061 0, 1135840.99 968109.058 0, 1135566.644 968101.07 0, 1135292.298 968093.099 0, 1135017.951 968085.144 0, 1134743.603 968077.206 0, 1134469.255 968069.283 0, 1134194.907 968061.376 0,
+ 1133920.558 968053.486 0, 1133646.208 968045.612 0, 1133371.858 968037.754 0, 1133097.508 968029.912 0, 1132823.157 968022.086 0, 1132548.806 968014.276 0, 1132274.454 968006.483 0, 1132000.102 967998.706 0, 1131724.443 967990.907 0, 1131566.823 973568.521 0,
+ 1131409.2 979146.241 0, 1131684.2 979154.02 0, 1131957.895 979161.779 0, 1132231.59 979169.554 0, 1132505.285 979177.345 0, 1132778.979 979185.152 0, 1133052.673 979192.975 0, 1133326.366 979200.814 0, 1133600.059 979208.67 0, 1133873.752 979216.541 0,
+ 1134147.443 979224.429 0, 1134421.135 979232.333 0, 1134694.826 979240.252 0, 1134968.516 979248.188 0, 1135242.206 979256.14 0, 1135515.896 979264.108 0, 1135789.585 979272.093 0, 1136063.274 979280.093 0, 1136336.962 979288.11 0, 1136610.65 979296.142 0,
+ 1136884.337 979304.191 0, 1137158.024 979312.256 0, 1137431.71 979320.336 0, 1137705.396 979328.433 0, 1137977.779 979336.508 0, 1138252.766 979344.676 0, 1138526.45 979352.821 0, 1138800.134 979360.983 0, 1139073.818 979369.16 0, 1139347.5 979377.354 0,
+ 1139621.183 979385.564 0, 1139894.865 979393.789 0, 1140168.546 979402.031 0, 1140442.227 979410.29 0, 1140715.908 979418.564 0, 1140989.588 979426.854 0, 1141263.267 979435.16 0, 1141536.946 979443.483 0, 1141810.625 979451.822 0, 1142084.303 979460.176 0,
+ 1142357.981 979468.547 0, 1142631.658 979476.934 0, 1142905.334 979485.337 0, 1143179.01 979493.756 0, 1143452.686 979502.192 0, 1143726.361 979510.643 0, 1144000.035 979519.111 0, 1144273.71 979527.594 0, 1144546.082 979536.054 0, 1144719.462 973958.801 0,
+ 1144892.839 968381.655 0))
+
+POLYGON ((1157681.81 979962.979 0, 1157409.46 979953.75 0, 1157135.811 979944.493 0, 1156862.162 979935.252 0, 1156588.512 979926.028 0, 1156314.861 979916.819 0, 1156041.21 979907.627 0, 1155767.558 979898.451 0, 1155493.906 979889.291 0, 1155220.253 979880.147 0,
+ 1154946.6 979871.019 0, 1154672.946 979861.907 0, 1154399.291 979852.811 0, 1154125.636 979843.732 0, 1153851.981 979834.668 0, 1153578.325 979825.621 0, 1153304.668 979816.59 0, 1153031.011 979807.575 0, 1152757.354 979798.576 0, 1152483.695 979789.593 0,
+ 1152210.037 979780.626 0, 1151936.378 979771.675 0, 1151662.718 979762.74 0, 1151389.058 979753.822 0, 1151114.097 979744.877 0, 1150841.735 979736.033 0, 1150568.074 979727.163 0, 1150294.411 979718.309 0, 1150020.748 979709.471 0, 1149747.085 979700.649 0,
+ 1149473.421 979691.843 0, 1149199.757 979683.054 0, 1148926.092 979674.28 0, 1148652.426 979665.523 0, 1148378.76 979656.781 0, 1148105.094 979648.056 0, 1147831.427 979639.347 0, 1147557.759 979630.654 0, 1147284.091 979621.977 0, 1147010.423 979613.316 0,
+ 1146736.754 979604.672 0, 1146463.084 979596.043 0, 1146189.414 979587.431 0, 1145915.744 979578.834 0, 1145642.072 979570.254 0, 1145368.401 979561.69 0, 1145094.729 979553.142 0, 1144821.056 979544.61 0, 1144546.082 979536.054 0, 1144372.699 985113.408 0,
+ 1144199.312 990690.861 0, 1144473.627 990699.397 0, 1144746.643 990707.908 0, 1145019.658 990716.436 0, 1145292.673 990724.979 0, 1145565.688 990733.539 0, 1145838.702 990742.115 0, 1146111.715 990750.706 0, 1146384.728 990759.314 0, 1146657.741 990767.938 0,
+ 1146930.753 990776.578 0, 1147203.764 990785.234 0, 1147476.775 990793.906 0, 1147749.786 990802.595 0, 1148022.796 990811.299 0, 1148295.805 990820.019 0, 1148568.814 990828.756 0, 1148841.822 990837.508 0, 1149114.83 990846.277 0, 1149387.838 990855.062 0,
+ 1149660.845 990863.862 0, 1149933.851 990872.679 0, 1150206.857 990881.512 0, 1150479.862 990890.361 0, 1150751.57 990899.184 0, 1151025.871 990908.107 0, 1151298.875 990917.004 0, 1151571.878 990925.917 0, 1151844.881 990934.846 0, 1152117.883 990943.792 0,
+ 1152390.885 990952.753 0, 1152663.886 990961.731 0, 1152936.886 990970.724 0, 1153209.886 990979.734 0, 1153482.886 990988.759 0, 1153755.885 990997.801 0, 1154028.883 991006.859 0, 1154301.881 991015.933 0, 1154574.879 991025.023 0, 1154847.875 991034.129 0,
+ 1155120.872 991043.251 0, 1155393.868 991052.389 0, 1155666.863 991061.543 0, 1155939.857 991070.713 0, 1156212.852 991079.9 0, 1156485.845 991089.102 0, 1156758.838 991098.321 0, 1157031.831 991107.555 0, 1157303.527 991116.762 0, 1157492.67 985539.821 0,
+ 1157681.81 979962.979 0))
+
+POLYGON ((1170406.487 991579.683 0, 1170134.815 991569.709 0, 1169861.85 991559.703 0, 1169588.884 991549.713 0, 1169315.918 991539.739 0, 1169042.95 991529.782 0, 1168769.983 991519.84 0, 1168497.014 991509.915 0, 1168224.046 991500.006 0, 1167951.076 991490.112 0,
+ 1167678.106 991480.235 0, 1167405.135 991470.374 0, 1167132.164 991460.529 0, 1166859.192 991450.7 0, 1166586.22 991440.887 0, 1166313.247 991431.09 0, 1166040.274 991421.309 0, 1165767.3 991411.544 0, 1165494.325 991401.796 0, 1165221.35 991392.063 0,
+ 1164948.374 991382.346 0, 1164675.398 991372.646 0, 1164402.421 991362.961 0, 1164129.443 991353.293 0, 1163855.17 991343.595 0, 1163583.486 991334.005 0, 1163310.507 991324.384 0, 1163037.527 991314.78 0, 1162764.547 991305.192 0, 1162491.566 991295.62 0,
+ 1162218.585 991286.064 0, 1161945.603 991276.525 0, 1161672.62 991267.001 0, 1161399.637 991257.493 0, 1161126.653 991248.001 0, 1160853.669 991238.526 0, 1160580.684 991229.066 0, 1160307.699 991219.623 0, 1160034.713 991210.196 0, 1159761.726 991200.784 0,
+ 1159488.739 991191.389 0, 1159215.751 991182.01 0, 1158942.763 991172.647 0, 1158669.775 991163.3 0, 1158396.785 991153.969 0, 1158123.796 991144.654 0, 1157850.805 991135.355 0, 1157577.814 991126.072 0, 1157303.527 991116.762 0, 1157114.381 996693.797 0,
+ 1156925.231 1002270.921 0, 1157198.859 1002280.209 0, 1157471.193 1002289.47 0, 1157743.527 1002298.746 0, 1158015.86 1002308.039 0, 1158288.193 1002317.347 0, 1158560.525 1002326.672 0, 1158832.857 1002336.012 0, 1159105.188 1002345.369 0, 1159377.519 1002354.742 0,
+ 1159649.849 1002364.13 0, 1159922.178 1002373.535 0, 1160194.507 1002382.956 0, 1160466.835 1002392.392 0, 1160739.163 1002401.845 0, 1161011.49 1002411.314 0, 1161283.817 1002420.799 0, 1161556.143 1002430.3 0, 1161828.469 1002439.817 0, 1162100.794 1002449.35 0,
+ 1162373.118 1002458.898 0, 1162645.442 1002468.463 0, 1162917.765 1002478.044 0, 1163190.088 1002487.642 0, 1163461.119 1002497.209 0, 1163734.732 1002506.884 0, 1164007.053 1002516.529 0, 1164279.373 1002526.19 0, 1164551.693 1002535.867 0, 1164824.013 1002545.56 0,
+ 1165096.331 1002555.27 0, 1165368.65 1002564.995 0, 1165640.967 1002574.736 0, 1165913.284 1002584.493 0, 1166185.601 1002594.267 0, 1166457.917 1002604.056 0, 1166730.232 1002613.861 0, 1167002.547 1002623.683 0, 1167274.861 1002633.52 0, 1167547.174 1002643.374 0,
+ 1167819.487 1002653.243 0, 1168091.8 1002663.129 0, 1168364.112 1002673.03 0, 1168636.423 1002682.948 0, 1168908.733 1002692.882 0, 1169181.044 1002702.831 0, 1169453.353 1002712.797 0, 1169725.662 1002722.779 0, 1169996.68 1002732.729 0, 1170201.585 997156.161 0,
+ 1170406.487 991579.683 0))
+
+POLYGON ((1183066.772 1003231.464 0, 1182795.781 1003220.748 0, 1182523.501 1003209.997 0, 1182251.221 1003199.262 0, 1181978.94 1003188.543 0, 1181706.658 1003177.84 0, 1181434.376 1003167.153 0, 1181162.093 1003156.483 0, 1180889.81 1003145.828 0, 1180617.526 1003135.189 0,
+ 1180345.241 1003124.566 0, 1180072.956 1003113.959 0, 1179800.67 1003103.369 0, 1179528.384 1003092.794 0, 1179256.097 1003082.235 0, 1178983.809 1003071.693 0, 1178711.52 1003061.166 0, 1178439.231 1003050.655 0, 1178166.942 1003040.161 0, 1177894.652 1003029.682 0,
+ 1177622.361 1003019.22 0, 1177350.069 1003008.773 0, 1177077.777 1002998.343 0, 1176805.484 1002987.928 0, 1176531.902 1002977.481 0, 1176260.897 1002967.148 0, 1175988.603 1002956.781 0, 1175716.307 1002946.431 0, 1175444.012 1002936.097 0, 1175171.715 1002925.778 0,
+ 1174899.418 1002915.476 0, 1174627.121 1002905.19 0, 1174354.823 1002894.92 0, 1174082.524 1002884.666 0, 1173810.224 1002874.427 0, 1173537.924 1002864.205 0, 1173265.624 1002853.999 0, 1172993.323 1002843.809 0, 1172721.021 1002833.635 0, 1172448.719 1002823.477 0,
+ 1172176.416 1002813.335 0, 1171904.112 1002803.209 0, 1171631.808 1002793.099 0, 1171359.503 1002783.005 0, 1171087.198 1002772.928 0, 1170814.892 1002762.866 0, 1170542.585 1002752.82 0, 1170270.278 1002742.79 0, 1169996.68 1002732.729 0, 1169791.772 1008309.383 0,
+ 1169586.861 1013886.119 0, 1169859.799 1013896.155 0, 1170131.45 1013906.161 0, 1170403.1 1013916.183 0, 1170674.749 1013926.22 0, 1170946.398 1013936.274 0, 1171218.047 1013946.343 0, 1171489.694 1013956.429 0, 1171761.341 1013966.53 0, 1172032.988 1013976.648 0,
+ 1172304.634 1013986.782 0, 1172576.279 1013996.931 0, 1172847.924 1014007.097 0, 1173119.568 1014017.278 0, 1173391.212 1014027.475 0, 1173662.855 1014037.689 0, 1173934.497 1014047.918 0, 1174206.139 1014058.164 0, 1174477.78 1014068.425 0, 1174749.42 1014078.703 0,
+ 1175021.06 1014088.996 0, 1175292.7 1014099.305 0, 1175564.338 1014109.631 0, 1175835.976 1014119.972 0, 1176106.328 1014130.28 0, 1176379.251 1014140.703 0, 1176650.887 1014151.092 0, 1176922.523 1014161.497 0, 1177194.158 1014171.919 0, 1177465.792 1014182.356 0,
+ 1177737.426 1014192.809 0, 1178009.059 1014203.279 0, 1178280.692 1014213.764 0, 1178552.324 1014224.265 0, 1178823.955 1014234.782 0, 1179095.586 1014245.316 0, 1179367.216 1014255.865 0, 1179638.845 1014266.43 0, 1179910.474 1014277.011 0, 1180182.103 1014287.608 0,
+ 1180453.73 1014298.221 0, 1180725.357 1014308.851 0, 1180996.983 1014319.496 0, 1181268.609 1014330.157 0, 1181540.234 1014340.834 0, 1181811.859 1014351.527 0, 1182083.483 1014362.236 0, 1182355.106 1014372.961 0, 1182625.443 1014383.651 0, 1182846.109 1008807.517 0,
+ 1183066.772 1003231.464 0))
+
+POLYGON ((1195662.569 1014918.019 0, 1195392.26 1014906.565 0, 1195120.669 1014895.072 0, 1194849.076 1014883.596 0, 1194577.483 1014872.135 0, 1194305.889 1014860.691 0, 1194034.294 1014849.262 0, 1193762.699 1014837.85 0, 1193491.103 1014826.453 0, 1193219.507 1014815.073 0,
+ 1192947.91 1014803.708 0, 1192676.312 1014792.36 0, 1192404.713 1014781.027 0, 1192133.114 1014769.711 0, 1191861.514 1014758.41 0, 1191589.913 1014747.126 0, 1191318.312 1014735.857 0, 1191046.71 1014724.604 0, 1190775.108 1014713.368 0, 1190503.505 1014702.147 0,
+ 1190231.901 1014690.942 0, 1189960.296 1014679.754 0, 1189688.691 1014668.581 0, 1189417.085 1014657.424 0, 1189144.195 1014646.231 0, 1188873.872 1014635.159 0, 1188602.264 1014624.05 0, 1188330.655 1014612.957 0, 1188059.046 1014601.881 0, 1187787.436 1014590.82 0,
+ 1187515.826 1014579.775 0, 1187244.215 1014568.746 0, 1186972.603 1014557.733 0, 1186700.991 1014546.736 0, 1186429.378 1014535.756 0, 1186157.764 1014524.791 0, 1185886.15 1014513.842 0, 1185614.535 1014502.909 0, 1185342.919 1014491.992 0, 1185071.303 1014481.091 0,
+ 1184799.686 1014470.206 0, 1184528.069 1014459.337 0, 1184256.451 1014448.484 0, 1183984.832 1014437.647 0, 1183713.213 1014426.826 0, 1183441.592 1014416.021 0, 1183169.972 1014405.232 0, 1182898.35 1014394.459 0, 1182625.443 1014383.651 0, 1182404.775 1019959.863 0,
+ 1182184.103 1025536.149 0, 1182456.351 1025546.931 0, 1182727.316 1025557.678 0, 1182998.28 1025568.441 0, 1183269.243 1025579.22 0, 1183540.206 1025590.014 0, 1183811.169 1025600.825 0, 1184082.131 1025611.652 0, 1184353.092 1025622.495 0, 1184624.052 1025633.353 0,
+ 1184895.012 1025644.228 0, 1185165.971 1025655.118 0, 1185436.93 1025666.025 0, 1185707.888 1025676.947 0, 1185978.845 1025687.886 0, 1186249.801 1025698.84 0, 1186520.757 1025709.81 0, 1186791.713 1025720.796 0, 1187062.667 1025731.799 0, 1187333.621 1025742.817 0,
+ 1187604.575 1025753.851 0, 1187875.528 1025764.901 0, 1188146.48 1025775.967 0, 1188417.431 1025787.049 0, 1188687.101 1025798.094 0, 1188959.332 1025809.26 0, 1189230.281 1025820.39 0, 1189501.23 1025831.536 0, 1189772.178 1025842.697 0, 1190043.126 1025853.875 0,
+ 1190314.073 1025865.068 0, 1190585.019 1025876.278 0, 1190855.964 1025887.503 0, 1191126.909 1025898.745 0, 1191397.853 1025910.002 0, 1191668.797 1025921.275 0, 1191939.74 1025932.565 0, 1192210.682 1025943.87 0, 1192481.624 1025955.191 0, 1192752.564 1025966.528 0,
+ 1193023.505 1025977.881 0, 1193294.444 1025989.25 0, 1193565.383 1026000.635 0, 1193836.321 1026012.036 0, 1194107.259 1026023.452 0, 1194378.196 1026034.885 0, 1194649.132 1026046.334 0, 1194920.067 1026057.798 0, 1195189.722 1026069.225 0, 1195426.147 1020493.585 0,
+ 1195662.569 1014918.019 0))
+
+POLYGON ((1208193.784 1026639.042 0, 1207924.16 1026626.854 0, 1207653.258 1026614.623 0, 1207382.355 1026602.409 0, 1207111.451 1026590.211 0, 1206840.547 1026578.029 0, 1206569.642 1026565.863 0, 1206298.737 1026553.713 0, 1206027.83 1026541.578 0, 1205756.923 1026529.46 0,
+ 1205486.016 1026517.357 0, 1205215.107 1026505.271 0, 1204944.198 1026493.2 0, 1204673.288 1026481.146 0, 1204402.378 1026469.107 0, 1204131.466 1026457.084 0, 1203860.554 1026445.077 0, 1203589.641 1026433.086 0, 1203318.728 1026421.112 0, 1203047.814 1026409.153 0,
+ 1202776.899 1026397.21 0, 1202505.984 1026385.282 0, 1202235.067 1026373.371 0, 1201964.15 1026361.476 0, 1201691.954 1026349.541 0, 1201422.314 1026337.734 0, 1201151.395 1026325.886 0, 1200880.476 1026314.055 0, 1200609.555 1026302.239 0, 1200338.634 1026290.44 0,
+ 1200067.712 1026278.656 0, 1199796.79 1026266.889 0, 1199525.867 1026255.137 0, 1199254.943 1026243.401 0, 1198984.018 1026231.682 0, 1198713.093 1026219.978 0, 1198442.167 1026208.29 0, 1198171.24 1026196.618 0, 1197900.313 1026184.962 0, 1197629.385 1026173.322 0,
+ 1197358.456 1026161.698 0, 1197087.527 1026150.09 0, 1196816.597 1026138.497 0, 1196545.666 1026126.921 0, 1196274.735 1026115.361 0, 1196003.802 1026103.816 0, 1195732.87 1026092.288 0, 1195461.936 1026080.776 0, 1195189.722 1026069.225 0, 1194953.295 1031644.934 0,
+ 1194716.864 1037220.708 0, 1194988.419 1037232.231 0, 1195258.696 1037243.715 0, 1195528.972 1037255.216 0, 1195799.248 1037266.732 0, 1196069.523 1037278.265 0, 1196339.797 1037289.813 0, 1196610.071 1037301.377 0, 1196880.344 1037312.957 0, 1197150.616 1037324.553 0,
+ 1197420.888 1037336.165 0, 1197691.159 1037347.793 0, 1197961.429 1037359.436 0, 1198231.699 1037371.096 0, 1198501.968 1037382.771 0, 1198772.236 1037394.463 0, 1199042.504 1037406.17 0, 1199312.771 1037417.893 0, 1199583.037 1037429.632 0, 1199853.302 1037441.387 0,
+ 1200123.567 1037453.158 0, 1200393.831 1037464.945 0, 1200664.095 1037476.748 0, 1200934.357 1037488.566 0, 1201203.344 1037500.345 0, 1201474.881 1037512.251 0, 1201745.141 1037524.118 0, 1202015.401 1037536 0, 1202285.661 1037547.898 0, 1202555.919 1037559.812 0,
+ 1202826.177 1037571.742 0, 1203096.434 1037583.688 0, 1203366.69 1037595.65 0, 1203636.946 1037607.628 0, 1203907.201 1037619.621 0, 1204177.455 1037631.631 0, 1204447.709 1037643.656 0, 1204717.962 1037655.698 0, 1204988.214 1037667.755 0, 1205258.466 1037679.828 0,
+ 1205528.716 1037691.917 0, 1205798.966 1037704.022 0, 1206069.216 1037716.143 0, 1206339.464 1037728.28 0, 1206609.712 1037740.432 0, 1206879.959 1037752.601 0, 1207150.206 1037764.785 0, 1207420.452 1037776.986 0, 1207689.422 1037789.145 0, 1207941.604 1032214.061 0,
+ 1208193.784 1026639.042 0))
+
+POLYGON ((1220660.323 1038394.229 0, 1220391.385 1038381.31 0, 1220121.175 1038368.346 0, 1219850.964 1038355.398 0, 1219580.753 1038342.466 0, 1219310.54 1038329.55 0, 1219040.327 1038316.65 0, 1218770.113 1038303.765 0, 1218499.898 1038290.897 0, 1218229.683 1038278.045 0,
+ 1217959.466 1038265.208 0, 1217689.249 1038252.387 0, 1217419.031 1038239.582 0, 1217148.813 1038226.793 0, 1216878.594 1038214.02 0, 1216608.374 1038201.263 0, 1216338.153 1038188.522 0, 1216067.931 1038175.797 0, 1215797.709 1038163.088 0, 1215527.486 1038150.394 0,
+ 1215257.262 1038137.717 0, 1214987.038 1038125.055 0, 1214716.812 1038112.409 0, 1214446.586 1038099.779 0, 1214175.086 1038087.106 0, 1213906.132 1038074.567 0, 1213635.904 1038061.985 0, 1213365.675 1038049.419 0, 1213095.445 1038036.869 0, 1212825.215 1038024.334 0,
+ 1212554.983 1038011.816 0, 1212284.751 1037999.313 0, 1212014.519 1037986.826 0, 1211744.285 1037974.356 0, 1211474.051 1037961.901 0, 1211203.816 1037949.462 0, 1210933.581 1037937.039 0, 1210663.344 1037924.631 0, 1210393.107 1037912.24 0, 1210122.87 1037899.865 0,
+ 1209852.631 1037887.505 0, 1209582.392 1037875.162 0, 1209312.152 1037862.834 0, 1209041.911 1037850.522 0, 1208771.67 1037838.226 0, 1208501.427 1037825.947 0, 1208231.185 1037813.683 0, 1207960.941 1037801.434 0, 1207689.422 1037789.145 0, 1207437.238 1043364.289 0,
+ 1207185.05 1048939.491 0, 1207455.909 1048951.751 0, 1207725.497 1048963.969 0, 1207995.083 1048976.203 0, 1208264.669 1048988.453 0, 1208534.254 1049000.719 0, 1208803.839 1049013.001 0, 1209073.422 1049025.299 0, 1209343.005 1049037.613 0, 1209612.588 1049049.942 0,
+ 1209882.169 1049062.287 0, 1210151.75 1049074.649 0, 1210421.33 1049087.026 0, 1210690.909 1049099.418 0, 1210960.488 1049111.827 0, 1211230.066 1049124.252 0, 1211499.643 1049136.692 0, 1211769.219 1049149.149 0, 1212038.795 1049161.621 0, 1212308.37 1049174.109 0,
+ 1212577.944 1049186.613 0, 1212847.518 1049199.133 0, 1213117.091 1049211.669 0, 1213386.663 1049224.22 0, 1213654.964 1049236.729 0, 1213925.804 1049249.371 0, 1214195.374 1049261.97 0, 1214464.943 1049274.585 0, 1214734.511 1049287.216 0, 1215004.079 1049299.863 0,
+ 1215273.646 1049312.526 0, 1215543.212 1049325.204 0, 1215812.777 1049337.899 0, 1216082.342 1049350.609 0, 1216351.906 1049363.335 0, 1216621.469 1049376.077 0, 1216891.031 1049388.835 0, 1217160.592 1049401.608 0, 1217430.153 1049414.398 0, 1217699.713 1049427.203 0,
+ 1217969.273 1049440.025 0, 1218238.831 1049452.862 0, 1218508.389 1049465.715 0, 1218777.946 1049478.584 0, 1219047.502 1049491.469 0, 1219317.058 1049504.369 0, 1219586.613 1049517.286 0, 1219856.167 1049530.218 0, 1220124.451 1049543.105 0, 1220392.388 1043968.639 0,
+ 1220660.323 1038394.229 0))
+
+POLYGON ((1233062.095 1050183.274 0, 1232793.846 1050169.628 0, 1232524.329 1050155.935 0, 1232254.812 1050142.257 0, 1231985.294 1050128.594 0, 1231715.775 1050114.948 0, 1231446.256 1050101.318 0, 1231176.735 1050087.703 0, 1230907.214 1050074.105 0, 1230637.692 1050060.522 0,
+ 1230368.169 1050046.955 0, 1230098.646 1050033.404 0, 1229829.121 1050019.869 0, 1229559.596 1050006.349 0, 1229290.07 1049992.846 0, 1229020.543 1049979.358 0, 1228751.016 1049965.886 0, 1228481.487 1049952.43 0, 1228211.958 1049938.99 0, 1227942.428 1049925.566 0,
+ 1227672.898 1049912.158 0, 1227403.366 1049898.765 0, 1227133.834 1049885.389 0, 1226864.301 1049872.028 0, 1226593.499 1049858.621 0, 1226325.232 1049845.354 0, 1226055.697 1049832.041 0, 1225786.16 1049818.744 0, 1225516.623 1049805.463 0, 1225247.085 1049792.197 0,
+ 1224977.547 1049778.947 0, 1224708.007 1049765.714 0, 1224438.467 1049752.496 0, 1224168.926 1049739.294 0, 1223899.385 1049726.107 0, 1223629.842 1049712.937 0, 1223360.299 1049699.783 0, 1223090.755 1049686.644 0, 1222821.21 1049673.521 0, 1222551.665 1049660.414 0,
+ 1222282.118 1049647.323 0, 1222012.571 1049634.248 0, 1221743.023 1049621.189 0, 1221473.475 1049608.145 0, 1221203.925 1049595.118 0, 1220934.375 1049582.106 0, 1220664.824 1049569.11 0, 1220395.272 1049556.13 0, 1220124.451 1049543.105 0, 1219856.511 1055117.624 0,
+ 1219588.569 1060692.192 0, 1219858.731 1060705.185 0, 1220127.626 1060718.133 0, 1220396.521 1060731.098 0, 1220665.415 1060744.078 0, 1220934.308 1060757.073 0, 1221203.201 1060770.085 0, 1221472.093 1060783.113 0, 1221740.983 1060796.156 0, 1222009.874 1060809.215 0,
+ 1222278.763 1060822.29 0, 1222547.652 1060835.381 0, 1222816.539 1060848.487 0, 1223085.426 1060861.61 0, 1223354.313 1060874.748 0, 1223623.198 1060887.902 0, 1223892.083 1060901.072 0, 1224160.967 1060914.258 0, 1224429.85 1060927.46 0, 1224698.733 1060940.677 0,
+ 1224967.614 1060953.91 0, 1225236.495 1060967.159 0, 1225505.375 1060980.424 0, 1225774.254 1060993.705 0, 1226041.868 1061006.939 0, 1226312.011 1061020.314 0, 1226580.888 1061033.642 0, 1226849.764 1061046.986 0, 1227118.639 1061060.346 0, 1227387.514 1061073.721 0,
+ 1227656.388 1061087.113 0, 1227925.261 1061100.52 0, 1228194.133 1061113.943 0, 1228463.004 1061127.382 0, 1228731.875 1061140.837 0, 1229000.745 1061154.308 0, 1229269.614 1061167.794 0, 1229538.482 1061181.297 0, 1229807.349 1061194.815 0, 1230076.216 1061208.349 0,
+ 1230345.082 1061221.898 0, 1230613.947 1061235.464 0, 1230882.811 1061249.045 0, 1231151.675 1061262.642 0, 1231420.538 1061276.255 0, 1231689.399 1061289.884 0, 1231958.26 1061303.529 0, 1232227.121 1061317.19 0, 1232494.717 1061330.802 0, 1232778.407 1055757.014 0,
+ 1233062.095 1050183.274 0))
+
+POLYGON ((1245399.009 1062005.871 0, 1245131.45 1061991.503 0, 1244862.63 1061977.083 0, 1244593.808 1061962.679 0, 1244324.986 1061948.29 0, 1244056.163 1061933.918 0, 1243787.339 1061919.561 0, 1243518.514 1061905.22 0, 1243249.688 1061890.895 0, 1242980.862 1061876.586 0,
+ 1242712.034 1061862.292 0, 1242443.206 1061848.015 0, 1242174.377 1061833.753 0, 1241905.547 1061819.507 0, 1241636.717 1061805.277 0, 1241367.885 1061791.062 0, 1241099.053 1061776.864 0, 1240830.219 1061762.681 0, 1240561.385 1061748.514 0, 1240292.55 1061734.363 0,
+ 1240023.715 1061720.228 0, 1239754.878 1061706.109 0, 1239486.041 1061692.005 0, 1239217.203 1061677.917 0, 1238947.101 1061663.779 0, 1238679.524 1061649.789 0, 1238410.683 1061635.749 0, 1238141.841 1061621.724 0, 1237872.999 1061607.716 0, 1237604.156 1061593.723 0,
+ 1237335.312 1061579.746 0, 1237066.467 1061565.785 0, 1236797.621 1061551.839 0, 1236528.775 1061537.91 0, 1236259.928 1061523.996 0, 1235991.08 1061510.098 0, 1235722.231 1061496.216 0, 1235453.381 1061482.35 0, 1235184.53 1061468.5 0, 1234915.679 1061454.665 0,
+ 1234646.827 1061440.846 0, 1234377.974 1061427.043 0, 1234109.12 1061413.256 0, 1233840.265 1061399.485 0, 1233571.41 1061385.729 0, 1233302.554 1061371.99 0, 1233033.697 1061358.266 0, 1232764.839 1061344.558 0, 1232494.717 1061330.802 0, 1232211.024 1066904.633 0,
+ 1231927.329 1072478.505 0, 1232196.793 1072492.228 0, 1232464.994 1072505.902 0, 1232733.195 1072519.593 0, 1233001.395 1072533.299 0, 1233269.595 1072547.021 0, 1233537.793 1072560.758 0, 1233805.991 1072574.512 0, 1234074.188 1072588.281 0, 1234342.384 1072602.066 0,
+ 1234610.579 1072615.867 0, 1234878.773 1072629.684 0, 1235146.967 1072643.516 0, 1235415.16 1072657.364 0, 1235683.352 1072671.228 0, 1235951.543 1072685.108 0, 1236219.733 1072699.003 0, 1236487.923 1072712.915 0, 1236756.112 1072726.842 0, 1237024.3 1072740.785 0,
+ 1237292.487 1072754.743 0, 1237560.673 1072768.718 0, 1237828.858 1072782.708 0, 1238097.043 1072796.714 0, 1238363.967 1072810.67 0, 1238633.41 1072824.773 0, 1238901.592 1072838.827 0, 1239169.773 1072852.896 0, 1239437.954 1072866.981 0, 1239706.133 1072881.082 0,
+ 1239974.312 1072895.198 0, 1240242.49 1072909.33 0, 1240510.667 1072923.479 0, 1240778.844 1072937.642 0, 1241047.019 1072951.822 0, 1241315.194 1072966.018 0, 1241583.368 1072980.229 0, 1241851.541 1072994.456 0, 1242119.713 1073008.699 0, 1242387.884 1073022.957 0,
+ 1242656.054 1073037.232 0, 1242924.224 1073051.522 0, 1243192.393 1073065.828 0, 1243460.561 1073080.149 0, 1243728.728 1073094.487 0, 1243996.894 1073108.84 0, 1244265.06 1073123.209 0, 1244533.224 1073137.594 0, 1244800.129 1073151.927 0, 1245099.57 1067578.879 0,
+ 1245399.009 1062005.871 0))
+
+POLYGON ((1257670.976 1073861.714 0, 1257404.11 1073846.627 0, 1257135.987 1073831.485 0, 1256867.863 1073816.358 0, 1256599.738 1073801.247 0, 1256331.613 1073786.152 0, 1256063.487 1073771.073 0, 1255795.359 1073756.01 0, 1255527.231 1073740.962 0, 1255259.102 1073725.93 0,
+ 1254990.972 1073710.914 0, 1254722.841 1073695.913 0, 1254454.71 1073680.929 0, 1254186.577 1073665.96 0, 1253918.443 1073651.007 0, 1253650.309 1073636.07 0, 1253382.174 1073621.148 0, 1253114.038 1073606.243 0, 1252845.901 1073591.353 0, 1252577.763 1073576.479 0,
+ 1252309.624 1073561.62 0, 1252041.484 1073546.778 0, 1251773.344 1073531.951 0, 1251505.203 1073517.14 0, 1251235.803 1073502.275 0, 1250968.917 1073487.565 0, 1250700.773 1073472.802 0, 1250432.628 1073458.054 0, 1250164.483 1073443.322 0, 1249896.336 1073428.605 0,
+ 1249628.189 1073413.905 0, 1249360.04 1073399.22 0, 1249091.891 1073384.551 0, 1248823.741 1073369.898 0, 1248555.59 1073355.261 0, 1248287.439 1073340.639 0, 1248019.286 1073326.033 0, 1247751.133 1073311.443 0, 1247482.978 1073296.869 0, 1247214.823 1073282.311 0,
+ 1246946.667 1073267.768 0, 1246678.51 1073253.241 0, 1246410.352 1073238.73 0, 1246142.194 1073224.235 0, 1245874.034 1073209.755 0, 1245605.874 1073195.291 0, 1245337.713 1073180.843 0, 1245069.551 1073166.411 0, 1244800.129 1073151.927 0, 1244500.687 1078725.01 0,
+ 1244201.243 1084298.124 0, 1244470.005 1084312.573 0, 1244737.511 1084326.97 0, 1245005.016 1084341.382 0, 1245272.52 1084355.811 0, 1245540.024 1084370.255 0, 1245807.526 1084384.715 0, 1246075.028 1084399.19 0, 1246342.529 1084413.682 0, 1246610.029 1084428.189 0,
+ 1246877.528 1084442.711 0, 1247145.026 1084457.25 0, 1247412.524 1084471.804 0, 1247680.021 1084486.374 0, 1247947.516 1084500.96 0, 1248215.011 1084515.562 0, 1248482.505 1084530.179 0, 1248749.998 1084544.812 0, 1249017.491 1084559.461 0, 1249284.982 1084574.126 0,
+ 1249552.473 1084588.806 0, 1249819.962 1084603.502 0, 1250087.451 1084618.214 0, 1250354.939 1084632.941 0, 1250621.172 1084647.615 0, 1250889.913 1084662.444 0, 1251157.398 1084677.218 0, 1251424.882 1084692.009 0, 1251692.366 1084706.815 0, 1251959.849 1084721.637 0,
+ 1252227.331 1084736.475 0, 1252494.812 1084751.328 0, 1252762.292 1084766.197 0, 1253029.771 1084781.082 0, 1253297.249 1084795.983 0, 1253564.727 1084810.899 0, 1253832.204 1084825.832 0, 1254099.679 1084840.78 0, 1254367.154 1084855.743 0, 1254634.628 1084870.723 0,
+ 1254902.101 1084885.718 0, 1255169.574 1084900.729 0, 1255437.045 1084915.755 0, 1255704.515 1084930.798 0, 1255971.985 1084945.856 0, 1256239.454 1084960.93 0, 1256506.921 1084976.019 0, 1256774.388 1084991.125 0, 1257040.601 1085006.175 0, 1257355.789 1079433.929 0,
+ 1257670.976 1073861.714 0))
+
+POLYGON ((1269877.908 1085750.497 0, 1269611.737 1085734.694 0, 1269344.314 1085718.833 0, 1269076.889 1085702.988 0, 1268809.464 1085687.159 0, 1268542.038 1085671.345 0, 1268274.612 1085655.547 0, 1268007.184 1085639.765 0, 1267739.755 1085623.998 0, 1267472.325 1085608.247 0,
+ 1267204.895 1085592.512 0, 1266937.463 1085576.793 0, 1266670.031 1085561.09 0, 1266402.597 1085545.402 0, 1266135.163 1085529.73 0, 1265867.728 1085514.073 0, 1265600.292 1085498.433 0, 1265332.855 1085482.808 0, 1265065.417 1085467.199 0, 1264797.978 1085451.606 0,
+ 1264530.538 1085436.028 0, 1264263.097 1085420.466 0, 1263995.656 1085404.92 0, 1263728.213 1085389.39 0, 1263459.518 1085373.802 0, 1263193.325 1085358.376 0, 1262925.88 1085342.893 0, 1262658.434 1085327.425 0, 1262390.986 1085311.974 0, 1262123.538 1085296.538 0,
+ 1261856.089 1085281.118 0, 1261588.64 1085265.713 0, 1261321.189 1085250.324 0, 1261053.737 1085234.951 0, 1260786.285 1085219.594 0, 1260518.831 1085204.253 0, 1260251.377 1085188.927 0, 1259983.922 1085173.617 0, 1259716.465 1085158.323 0, 1259449.008 1085143.044 0,
+ 1259181.55 1085127.781 0, 1258914.091 1085112.534 0, 1258646.632 1085097.303 0, 1258379.171 1085082.088 0, 1258111.709 1085066.888 0, 1257844.247 1085051.704 0, 1257576.784 1085036.535 0, 1257309.319 1085021.383 0, 1257040.601 1085006.175 0, 1256725.412 1090578.447 0,
+ 1256410.221 1096150.742 0, 1256678.28 1096165.913 0, 1256945.088 1096181.028 0, 1257211.896 1096196.159 0, 1257478.702 1096211.306 0, 1257745.508 1096226.469 0, 1258012.313 1096241.647 0, 1258279.117 1096256.841 0, 1258545.919 1096272.05 0, 1258812.721 1096287.276 0,
+ 1259079.523 1096302.517 0, 1259346.323 1096317.774 0, 1259613.122 1096333.046 0, 1259879.921 1096348.334 0, 1260146.718 1096363.638 0, 1260413.515 1096378.958 0, 1260680.311 1096394.293 0, 1260947.105 1096409.644 0, 1261213.899 1096425.011 0, 1261480.692 1096440.393 0,
+ 1261747.485 1096455.791 0, 1262014.276 1096471.205 0, 1262281.066 1096486.634 0, 1262547.856 1096502.079 0, 1262813.395 1096517.468 0, 1263081.432 1096533.017 0, 1263348.218 1096548.509 0, 1263615.004 1096564.017 0, 1263881.789 1096579.541 0, 1264148.573 1096595.08 0,
+ 1264415.356 1096610.636 0, 1264682.138 1096626.206 0, 1264948.919 1096641.793 0, 1265215.699 1096657.395 0, 1265482.479 1096673.013 0, 1265749.257 1096688.647 0, 1266016.035 1096704.296 0, 1266282.811 1096719.961 0, 1266549.587 1096735.642 0, 1266816.362 1096751.338 0,
+ 1267083.135 1096767.05 0, 1267349.908 1096782.778 0, 1267616.68 1096798.522 0, 1267883.451 1096814.281 0, 1268150.221 1096830.056 0, 1268416.991 1096845.846 0, 1268683.759 1096861.653 0, 1268950.526 1096877.475 0, 1269216.045 1096893.238 0, 1269546.977 1091321.856 0,
+ 1269877.908 1085750.497 0))
+
+POLYGON ((1282019.72 1097671.91 0, 1281754.245 1097655.397 0, 1281487.523 1097638.821 0, 1281220.801 1097622.261 0, 1280954.077 1097605.717 0, 1280687.353 1097589.188 0, 1280420.627 1097572.675 0, 1280153.901 1097556.178 0, 1279887.174 1097539.697 0, 1279620.445 1097523.231 0,
+ 1279353.716 1097506.781 0, 1279086.986 1097490.347 0, 1278820.254 1097473.928 0, 1278553.522 1097457.525 0, 1278286.789 1097441.138 0, 1278020.055 1097424.766 0, 1277753.32 1097408.41 0, 1277486.584 1097392.07 0, 1277219.846 1097375.746 0, 1276953.108 1097359.437 0,
+ 1276686.37 1097343.144 0, 1276419.63 1097326.867 0, 1276152.889 1097310.605 0, 1275886.147 1097294.359 0, 1275618.157 1097278.053 0, 1275352.66 1097261.914 0, 1275085.916 1097245.715 0, 1274819.17 1097229.532 0, 1274552.423 1097213.365 0, 1274285.676 1097197.213 0,
+ 1274018.927 1097181.077 0, 1273752.178 1097164.956 0, 1273485.427 1097148.852 0, 1273218.676 1097132.763 0, 1272951.924 1097116.69 0, 1272685.17 1097100.632 0, 1272418.416 1097084.59 0, 1272151.661 1097068.564 0, 1271884.905 1097052.554 0, 1271618.148 1097036.559 0,
+ 1271351.39 1097020.58 0, 1271084.631 1097004.616 0, 1270817.871 1096988.669 0, 1270551.111 1096972.737 0, 1270284.349 1096956.821 0, 1270017.586 1096940.92 0, 1269750.823 1096925.035 0, 1269484.058 1096909.166 0, 1269216.045 1096893.238 0, 1268885.112 1102464.638 0,
+ 1268554.177 1108036.052 0, 1268821.532 1108051.94 0, 1269087.64 1108067.771 0, 1269353.748 1108083.616 0, 1269619.855 1108099.478 0, 1269885.961 1108115.355 0, 1270152.066 1108131.248 0, 1270418.17 1108147.156 0, 1270684.273 1108163.08 0, 1270950.375 1108179.02 0,
+ 1271216.476 1108194.975 0, 1271482.576 1108210.947 0, 1271748.676 1108226.933 0, 1272014.774 1108242.936 0, 1272280.872 1108258.954 0, 1272546.968 1108274.988 0, 1272813.064 1108291.037 0, 1273079.158 1108307.102 0, 1273345.252 1108323.183 0, 1273611.345 1108339.279 0,
+ 1273877.436 1108355.391 0, 1274143.527 1108371.519 0, 1274409.617 1108387.662 0, 1274675.706 1108403.821 0, 1274940.55 1108419.92 0, 1275207.881 1108436.186 0, 1275473.967 1108452.392 0, 1275740.052 1108468.614 0, 1276006.136 1108484.851 0, 1276272.219 1108501.104 0,
+ 1276538.302 1108517.373 0, 1276804.383 1108533.657 0, 1277070.463 1108549.957 0, 1277336.543 1108566.273 0, 1277602.621 1108582.604 0, 1277868.698 1108598.951 0, 1278134.775 1108615.314 0, 1278400.85 1108631.692 0, 1278666.925 1108648.086 0, 1278932.999 1108664.496 0,
+ 1279199.071 1108680.921 0, 1279465.143 1108697.362 0, 1279731.213 1108713.819 0, 1279997.283 1108730.291 0, 1280263.352 1108746.779 0, 1280529.42 1108763.282 0, 1280795.486 1108779.802 0, 1281061.552 1108796.336 0, 1281326.375 1108812.81 0, 1281673.048 1103242.353 0,
+ 1282019.72 1097671.91 0))
+
+POLYGON ((1294096.327 1109625.648 0, 1293831.55 1109608.427 0, 1293565.532 1109591.14 0, 1293299.513 1109573.869 0, 1293033.493 1109556.614 0, 1292767.471 1109539.374 0, 1292501.449 1109522.151 0, 1292235.426 1109504.942 0, 1291969.402 1109487.75 0, 1291703.377 1109470.573 0,
+ 1291437.351 1109453.412 0, 1291171.324 1109436.266 0, 1290905.295 1109419.136 0, 1290639.266 1109402.022 0, 1290373.236 1109384.923 0, 1290107.205 1109367.84 0, 1289841.173 1109350.773 0, 1289575.139 1109333.721 0, 1289309.105 1109316.685 0, 1289043.07 1109299.665 0,
+ 1288777.034 1109282.66 0, 1288510.997 1109265.671 0, 1288244.958 1109248.698 0, 1287978.919 1109231.74 0, 1287711.638 1109214.719 0, 1287446.838 1109197.872 0, 1287180.796 1109180.961 0, 1286914.752 1109164.066 0, 1286648.708 1109147.187 0, 1286382.663 1109130.323 0,
+ 1286116.617 1109113.475 0, 1285850.57 1109096.642 0, 1285584.522 1109079.826 0, 1285318.472 1109063.024 0, 1285052.422 1109046.239 0, 1284786.371 1109029.469 0, 1284520.319 1109012.715 0, 1284254.266 1108995.977 0, 1283988.212 1108979.254 0, 1283722.157 1108962.547 0,
+ 1283456.101 1108945.855 0, 1283190.044 1108929.179 0, 1282923.986 1108912.519 0, 1282657.927 1108895.875 0, 1282391.867 1108879.246 0, 1282125.806 1108862.633 0, 1281859.744 1108846.035 0, 1281593.681 1108829.453 0, 1281326.375 1108812.81 0, 1280979.701 1114383.275 0,
+ 1280633.027 1119953.746 0, 1280899.675 1119970.348 0, 1281165.082 1119986.889 0, 1281430.488 1120003.446 0, 1281695.893 1120020.018 0, 1281961.297 1120036.606 0, 1282226.701 1120053.209 0, 1282492.103 1120069.828 0, 1282757.504 1120086.463 0, 1283022.905 1120103.114 0,
+ 1283288.304 1120119.78 0, 1283553.702 1120136.461 0, 1283819.1 1120153.158 0, 1284084.496 1120169.871 0, 1284349.892 1120186.6 0, 1284615.286 1120203.344 0, 1284880.679 1120220.103 0, 1285146.072 1120236.879 0, 1285411.463 1120253.67 0, 1285676.854 1120270.476 0,
+ 1285942.243 1120287.298 0, 1286207.632 1120304.136 0, 1286473.019 1120320.99 0, 1286738.406 1120337.859 0, 1287002.553 1120354.665 0, 1287269.176 1120371.644 0, 1287534.56 1120388.56 0, 1287799.942 1120405.491 0, 1288065.324 1120422.438 0, 1288330.704 1120439.401 0,
+ 1288596.084 1120456.379 0, 1288861.462 1120473.373 0, 1289126.84 1120490.383 0, 1289392.216 1120507.408 0, 1289657.592 1120524.449 0, 1289922.966 1120541.506 0, 1290188.34 1120558.578 0, 1290453.712 1120575.665 0, 1290719.084 1120592.769 0, 1290984.455 1120609.888 0,
+ 1291249.824 1120627.022 0, 1291515.193 1120644.172 0, 1291780.56 1120661.338 0, 1292045.926 1120678.52 0, 1292311.292 1120695.717 0, 1292576.656 1120712.929 0, 1292842.02 1120730.158 0, 1293107.382 1120747.402 0, 1293371.507 1120764.581 0, 1293733.917 1115195.112 0,
+ 1294096.327 1109625.648 0))
+
+POLYGON ((1306107.645 1121611.401 0, 1305843.568 1121593.476 0, 1305578.255 1121575.482 0, 1305312.941 1121557.504 0, 1305047.627 1121539.542 0, 1304782.311 1121521.595 0, 1304516.994 1121503.664 0, 1304251.676 1121485.749 0, 1303986.357 1121467.849 0, 1303721.037 1121449.965 0,
+ 1303455.716 1121432.096 0, 1303190.394 1121414.243 0, 1302925.07 1121396.406 0, 1302659.746 1121378.584 0, 1302394.421 1121360.778 0, 1302129.095 1121342.987 0, 1301863.767 1121325.212 0, 1301598.439 1121307.453 0, 1301333.109 1121289.709 0, 1301067.779 1121271.981 0,
+ 1300802.447 1121254.269 0, 1300537.115 1121236.572 0, 1300271.781 1121218.891 0, 1300006.446 1121201.225 0, 1299739.875 1121183.493 0, 1299475.774 1121165.941 0, 1299210.436 1121148.322 0, 1298945.097 1121130.719 0, 1298679.757 1121113.132 0, 1298414.416 1121095.56 0,
+ 1298149.074 1121078.003 0, 1297883.731 1121060.463 0, 1297618.387 1121042.938 0, 1297353.042 1121025.428 0, 1297087.696 1121007.934 0, 1296822.349 1120990.456 0, 1296557.001 1120972.994 0, 1296291.652 1120955.547 0, 1296026.302 1120938.115 0, 1295760.951 1120920.7 0,
+ 1295495.598 1120903.3 0, 1295230.245 1120885.915 0, 1294964.891 1120868.546 0, 1294699.535 1120851.193 0, 1294434.179 1120833.855 0, 1294168.822 1120816.533 0, 1293903.463 1120799.227 0, 1293638.104 1120781.936 0, 1293371.507 1120764.581 0, 1293009.096 1126334.05 0,
+ 1292646.687 1131903.515 0, 1292912.625 1131920.827 0, 1293177.329 1131938.075 0, 1293442.032 1131955.339 0, 1293706.734 1131972.618 0, 1293971.434 1131989.913 0, 1294236.134 1132007.223 0, 1294500.833 1132024.549 0, 1294765.53 1132041.891 0, 1295030.227 1132059.248 0,
+ 1295294.923 1132076.621 0, 1295559.617 1132094.009 0, 1295824.311 1132111.413 0, 1296089.003 1132128.832 0, 1296353.695 1132146.267 0, 1296618.385 1132163.718 0, 1296883.075 1132181.184 0, 1297147.763 1132198.666 0, 1297412.451 1132216.163 0, 1297677.137 1132233.676 0,
+ 1297941.822 1132251.204 0, 1298206.507 1132268.748 0, 1298471.19 1132286.308 0, 1298735.872 1132303.883 0, 1298999.321 1132321.392 0, 1299265.234 1132339.08 0, 1299529.913 1132356.702 0, 1299794.591 1132374.34 0, 1300059.268 1132391.993 0, 1300323.944 1132409.662 0,
+ 1300588.619 1132427.346 0, 1300853.293 1132445.046 0, 1301117.966 1132462.761 0, 1301382.638 1132480.492 0, 1301647.308 1132498.239 0, 1301911.978 1132516.001 0, 1302176.647 1132533.779 0, 1302441.315 1132551.572 0, 1302705.981 1132569.381 0, 1302970.647 1132587.205 0,
+ 1303235.311 1132605.045 0, 1303499.975 1132622.901 0, 1303764.637 1132640.772 0, 1304029.299 1132658.659 0, 1304293.959 1132676.561 0, 1304558.618 1132694.479 0, 1304823.276 1132712.413 0, 1305087.933 1132730.362 0, 1305351.358 1132748.243 0, 1305729.501 1127179.824 0,
+ 1306107.645 1121611.401 0))
+
+POLYGON ((1318053.592 1133628.861 0, 1317790.217 1133610.235 0, 1317525.612 1133591.538 0, 1317261.005 1133572.857 0, 1316996.398 1133554.192 0, 1316731.789 1133535.542 0, 1316467.179 1133516.907 0, 1316202.568 1133498.289 0, 1315937.956 1133479.685 0, 1315673.343 1133461.098 0,
+ 1315408.729 1133442.525 0, 1315144.114 1133423.969 0, 1314879.497 1133405.428 0, 1314614.88 1133386.903 0, 1314350.261 1133368.393 0, 1314085.642 1133349.898 0, 1313821.021 1133331.42 0, 1313556.399 1133312.957 0, 1313291.776 1133294.509 0, 1313027.153 1133276.077 0,
+ 1312762.527 1133257.661 0, 1312497.901 1133239.26 0, 1312233.274 1133220.875 0, 1311968.646 1133202.505 0, 1311702.786 1133184.066 0, 1311439.386 1133165.813 0, 1311174.754 1133147.49 0, 1310910.122 1133129.182 0, 1310645.488 1133110.891 0, 1310380.853 1133092.614 0,
+ 1310116.218 1133074.354 0, 1309851.581 1133056.109 0, 1309586.943 1133037.879 0, 1309322.304 1133019.665 0, 1309057.663 1133001.467 0, 1308793.022 1132983.284 0, 1308528.38 1132965.117 0, 1308263.737 1132946.966 0, 1307999.092 1132928.83 0, 1307734.447 1132910.709 0,
+ 1307469.8 1132892.604 0, 1307205.153 1132874.515 0, 1306940.504 1132856.441 0, 1306675.854 1132838.383 0, 1306411.203 1132820.341 0, 1306146.552 1132802.314 0, 1305881.899 1132784.302 0, 1305617.245 1132766.307 0, 1305351.358 1132748.243 0, 1304973.215 1138316.653 0,
+ 1304595.073 1143885.05 0, 1304860.302 1143903.069 0, 1305124.3 1143921.021 0, 1305388.298 1143938.988 0, 1305652.294 1143956.97 0, 1305916.289 1143974.968 0, 1306180.284 1143992.981 0, 1306444.277 1144011.01 0, 1306708.269 1144029.054 0, 1306972.26 1144047.114 0,
+ 1307236.25 1144065.19 0, 1307500.239 1144083.281 0, 1307764.227 1144101.388 0, 1308028.214 1144119.51 0, 1308292.199 1144137.648 0, 1308556.184 1144155.801 0, 1308820.168 1144173.97 0, 1309084.15 1144192.154 0, 1309348.132 1144210.354 0, 1309612.112 1144228.569 0,
+ 1309876.091 1144246.8 0, 1310140.07 1144265.047 0, 1310404.047 1144283.309 0, 1310668.023 1144301.586 0, 1310930.77 1144319.794 0, 1311195.972 1144338.188 0, 1311459.945 1144356.512 0, 1311723.917 1144374.852 0, 1311987.887 1144393.207 0, 1312251.857 1144411.578 0,
+ 1312515.826 1144429.964 0, 1312779.793 1144448.366 0, 1313043.759 1144466.783 0, 1313307.725 1144485.216 0, 1313571.689 1144503.664 0, 1313835.652 1144522.128 0, 1314099.614 1144540.608 0, 1314363.575 1144559.103 0, 1314627.535 1144577.613 0, 1314891.494 1144596.14 0,
+ 1315155.451 1144614.681 0, 1315419.408 1144633.238 0, 1315683.363 1144651.811 0, 1315947.318 1144670.399 0, 1316211.271 1144689.003 0, 1316475.223 1144707.623 0, 1316739.174 1144726.257 0, 1317003.125 1144744.908 0, 1317265.847 1144763.487 0, 1317659.719 1139196.18 0,
+ 1318053.592 1133628.861 0))
+
+POLYGON ((1329934.088 1145677.717 0, 1329671.417 1145658.396 0, 1329407.521 1145639 0, 1329143.624 1145619.619 0, 1328879.725 1145600.254 0, 1328615.825 1145580.905 0, 1328351.924 1145561.571 0, 1328088.023 1145542.253 0, 1327824.119 1145522.95 0, 1327560.215 1145503.663 0,
+ 1327296.31 1145484.391 0, 1327032.403 1145465.135 0, 1326768.496 1145445.894 0, 1326504.587 1145426.669 0, 1326240.677 1145407.459 0, 1325976.766 1145388.265 0, 1325712.854 1145369.086 0, 1325448.94 1145349.923 0, 1325185.026 1145330.776 0, 1324921.11 1145311.644 0,
+ 1324657.194 1145292.527 0, 1324393.276 1145273.426 0, 1324129.357 1145254.341 0, 1323865.437 1145235.271 0, 1323600.291 1145216.128 0, 1323337.593 1145197.178 0, 1323073.67 1145178.155 0, 1322809.746 1145159.147 0, 1322545.82 1145140.155 0, 1322281.893 1145121.178 0,
+ 1322017.965 1145102.217 0, 1321754.036 1145083.272 0, 1321490.106 1145064.342 0, 1321226.175 1145045.427 0, 1320962.243 1145026.528 0, 1320698.309 1145007.645 0, 1320434.375 1144988.777 0, 1320170.439 1144969.924 0, 1319906.502 1144951.088 0, 1319642.564 1144932.266 0,
+ 1319378.625 1144913.461 0, 1319114.685 1144894.67 0, 1318850.744 1144875.896 0, 1318586.802 1144857.137 0, 1318322.858 1144838.393 0, 1318058.914 1144819.665 0, 1317794.968 1144800.952 0, 1317531.021 1144782.255 0, 1317265.847 1144763.487 0, 1316871.976 1150330.776 0,
+ 1316478.107 1155898.044 0, 1316742.623 1155916.765 0, 1317005.914 1155935.416 0, 1317269.205 1155954.082 0, 1317532.494 1155972.763 0, 1317795.782 1155991.46 0, 1318059.069 1156010.173 0, 1318322.355 1156028.901 0, 1318585.639 1156047.645 0, 1318848.923 1156066.404 0,
+ 1319112.206 1156085.178 0, 1319375.487 1156103.968 0, 1319638.767 1156122.774 0, 1319902.047 1156141.595 0, 1320165.325 1156160.432 0, 1320428.602 1156179.284 0, 1320691.878 1156198.151 0, 1320955.153 1156217.034 0, 1321218.426 1156235.933 0, 1321481.699 1156254.847 0,
+ 1321744.97 1156273.776 0, 1322008.241 1156292.721 0, 1322271.51 1156311.682 0, 1322534.778 1156330.658 0, 1322796.823 1156349.561 0, 1323061.311 1156368.656 0, 1323324.576 1156387.679 0, 1323587.839 1156406.717 0, 1323851.102 1156425.77 0, 1324114.363 1156444.839 0,
+ 1324377.624 1156463.924 0, 1324640.883 1156483.024 0, 1324904.141 1156502.139 0, 1325167.398 1156521.27 0, 1325430.653 1156540.417 0, 1325693.908 1156559.578 0, 1325957.162 1156578.756 0, 1326220.414 1156597.949 0, 1326483.665 1156617.157 0, 1326746.915 1156636.381 0,
+ 1327010.164 1156655.621 0, 1327273.412 1156674.876 0, 1327536.659 1156694.146 0, 1327799.905 1156713.432 0, 1328063.149 1156732.733 0, 1328326.392 1156752.05 0, 1328589.635 1156771.383 0, 1328852.876 1156790.73 0, 1329114.894 1156810.004 0, 1329524.491 1151243.872 0,
+ 1329934.088 1145677.717 0))
+
+POLYGON ((1341749.055 1157757.662 0, 1341487.089 1157737.648 0, 1341223.904 1157717.557 0, 1340960.718 1157697.481 0, 1340697.53 1157677.42 0, 1340434.341 1157657.375 0, 1340171.151 1157637.346 0, 1339907.96 1157617.331 0, 1339644.767 1157597.333 0, 1339381.574 1157577.35 0,
+ 1339118.379 1157557.382 0, 1338855.183 1157537.43 0, 1338591.986 1157517.494 0, 1338328.788 1157497.572 0, 1338065.588 1157477.667 0, 1337802.387 1157457.777 0, 1337539.186 1157437.902 0, 1337275.983 1157418.043 0, 1337012.779 1157398.199 0, 1336749.573 1157378.371 0,
+ 1336486.367 1157358.559 0, 1336223.159 1157338.761 0, 1335959.95 1157318.98 0, 1335696.74 1157299.213 0, 1335432.309 1157279.371 0, 1335170.317 1157259.728 0, 1334907.103 1157240.008 0, 1334643.889 1157220.304 0, 1334380.673 1157200.615 0, 1334117.456 1157180.942 0,
+ 1333854.238 1157161.284 0, 1333591.019 1157141.642 0, 1333327.798 1157122.015 0, 1333064.577 1157102.404 0, 1332801.354 1157082.808 0, 1332538.13 1157063.228 0, 1332274.905 1157043.663 0, 1332011.679 1157024.114 0, 1331748.452 1157004.58 0, 1331485.223 1156985.061 0,
+ 1331221.994 1156965.559 0, 1330958.763 1156946.071 0, 1330695.531 1156926.599 0, 1330432.298 1156907.143 0, 1330169.064 1156887.702 0, 1329905.828 1156868.277 0, 1329642.592 1156848.867 0, 1329379.354 1156829.473 0, 1329114.894 1156810.004 0, 1328705.3 1162376.11 0,
+ 1328295.708 1167942.184 0, 1328559.51 1167961.605 0, 1328822.092 1167980.951 0, 1329084.674 1168000.312 0, 1329347.254 1168019.689 0, 1329609.833 1168039.082 0, 1329872.411 1168058.49 0, 1330134.987 1168077.913 0, 1330397.563 1168097.352 0, 1330660.137 1168116.806 0,
+ 1330922.711 1168136.276 0, 1331185.283 1168155.761 0, 1331447.854 1168175.262 0, 1331710.424 1168194.778 0, 1331972.992 1168214.309 0, 1332235.56 1168233.856 0, 1332498.126 1168253.419 0, 1332760.691 1168272.997 0, 1333023.255 1168292.59 0, 1333285.818 1168312.199 0,
+ 1333548.38 1168331.823 0, 1333810.941 1168351.463 0, 1334073.5 1168371.118 0, 1334336.059 1168390.789 0, 1334597.399 1168410.383 0, 1334861.172 1168430.176 0, 1335123.726 1168449.893 0, 1335386.28 1168469.626 0, 1335648.833 1168489.374 0, 1335911.384 1168509.137 0,
+ 1336173.934 1168528.916 0, 1336436.483 1168548.71 0, 1336699.031 1168568.52 0, 1336961.578 1168588.345 0, 1337224.123 1168608.185 0, 1337486.668 1168628.041 0, 1337749.211 1168647.913 0, 1338011.753 1168667.8 0, 1338274.294 1168687.702 0, 1338536.833 1168707.62 0,
+ 1338799.372 1168727.554 0, 1339061.909 1168747.502 0, 1339324.445 1168767.467 0, 1339586.98 1168787.446 0, 1339849.514 1168807.441 0, 1340112.047 1168827.452 0, 1340374.578 1168847.478 0, 1340637.108 1168867.52 0, 1340898.422 1168887.484 0, 1341323.737 1163322.588 0,
+ 1341749.055 1157757.662 0))
+
+POLYGON ((1353498.414 1169868.384 0, 1353237.156 1169847.682 0, 1352974.683 1169826.899 0, 1352712.21 1169806.131 0, 1352449.735 1169785.379 0, 1352187.258 1169764.642 0, 1351924.781 1169743.921 0, 1351662.302 1169723.215 0, 1351399.822 1169702.524 0, 1351137.341 1169681.849 0,
+ 1350874.859 1169661.19 0, 1350612.375 1169640.546 0, 1350349.89 1169619.917 0, 1350087.404 1169599.304 0, 1349824.917 1169578.706 0, 1349562.429 1169558.124 0, 1349299.939 1169537.557 0, 1349037.448 1169517.006 0, 1348774.956 1169496.47 0, 1348512.463 1169475.949 0,
+ 1348249.969 1169455.444 0, 1347987.473 1169434.955 0, 1347724.976 1169414.481 0, 1347462.478 1169394.022 0, 1347198.764 1169373.484 0, 1346937.478 1169353.151 0, 1346674.977 1169332.739 0, 1346412.474 1169312.342 0, 1346149.97 1169291.96 0, 1345887.464 1169271.594 0,
+ 1345624.958 1169251.244 0, 1345362.45 1169230.909 0, 1345099.941 1169210.589 0, 1344837.431 1169190.285 0, 1344574.92 1169169.996 0, 1344312.407 1169149.723 0, 1344049.894 1169129.465 0, 1343787.379 1169109.223 0, 1343524.863 1169088.996 0, 1343262.346 1169068.784 0,
+ 1342999.827 1169048.588 0, 1342737.308 1169028.408 0, 1342474.787 1169008.243 0, 1342212.265 1168988.093 0, 1341949.742 1168967.959 0, 1341687.217 1168947.84 0, 1341424.692 1168927.737 0, 1341162.165 1168907.649 0, 1340898.422 1168887.484 0, 1340473.109 1174452.343 0,
+ 1340047.799 1180017.163 0, 1340310.885 1180037.278 0, 1340572.756 1180057.316 0, 1340834.627 1180077.369 0, 1341096.496 1180097.437 0, 1341358.364 1180117.521 0, 1341620.231 1180137.621 0, 1341882.097 1180157.735 0, 1342143.961 1180177.866 0, 1342405.825 1180198.011 0,
+ 1342667.687 1180218.172 0, 1342929.548 1180238.349 0, 1343191.408 1180258.541 0, 1343453.266 1180278.748 0, 1343715.124 1180298.97 0, 1343976.98 1180319.209 0, 1344238.835 1180339.462 0, 1344500.689 1180359.731 0, 1344762.542 1180380.015 0, 1345024.393 1180400.315 0,
+ 1345286.243 1180420.63 0, 1345548.092 1180440.961 0, 1345809.94 1180461.307 0, 1346071.787 1180481.668 0, 1346332.421 1180501.951 0, 1346595.477 1180522.437 0, 1346857.32 1180542.845 0, 1347119.162 1180563.268 0, 1347381.002 1180583.706 0, 1347642.842 1180604.16 0,
+ 1347904.68 1180624.629 0, 1348166.517 1180645.114 0, 1348428.353 1180665.614 0, 1348690.188 1180686.13 0, 1348952.021 1180706.661 0, 1349213.853 1180727.207 0, 1349475.684 1180747.769 0, 1349737.514 1180768.346 0, 1349999.343 1180788.938 0, 1350261.17 1180809.546 0,
+ 1350522.996 1180830.17 0, 1350784.821 1180850.809 0, 1351046.645 1180871.463 0, 1351308.468 1180892.132 0, 1351570.289 1180912.817 0, 1351832.109 1180933.518 0, 1352093.928 1180954.234 0, 1352355.746 1180974.965 0, 1352616.351 1180995.616 0, 1353057.381 1175432.02 0,
+ 1353498.414 1169868.384 0))
+
+POLYGON ((1365182.089 1182009.573 0, 1364921.541 1181988.186 0, 1364659.783 1181966.715 0, 1364398.023 1181945.26 0, 1364136.263 1181923.82 0, 1363874.501 1181902.395 0, 1363612.738 1181880.986 0, 1363350.974 1181859.592 0, 1363089.208 1181838.214 0, 1362827.441 1181816.851 0,
+ 1362565.673 1181795.503 0, 1362303.904 1181774.171 0, 1362042.133 1181752.854 0, 1361780.361 1181731.553 0, 1361518.588 1181710.267 0, 1361256.814 1181688.996 0, 1360995.038 1181667.741 0, 1360733.261 1181646.501 0, 1360471.483 1181625.277 0, 1360209.703 1181604.068 0,
+ 1359947.923 1181582.874 0, 1359686.141 1181561.696 0, 1359424.358 1181540.534 0, 1359162.573 1181519.386 0, 1358899.578 1181498.157 0, 1358639.001 1181477.138 0, 1358377.213 1181456.037 0, 1358115.423 1181434.951 0, 1357853.633 1181413.881 0, 1357591.841 1181392.826 0,
+ 1357330.048 1181371.787 0, 1357068.254 1181350.763 0, 1356806.458 1181329.754 0, 1356544.661 1181308.761 0, 1356282.863 1181287.783 0, 1356021.064 1181266.821 0, 1355759.264 1181245.874 0, 1355497.462 1181224.942 0, 1355235.659 1181204.026 0, 1354973.855 1181183.125 0,
+ 1354712.049 1181162.24 0, 1354450.243 1181141.37 0, 1354188.435 1181120.515 0, 1353926.626 1181099.676 0, 1353664.815 1181078.852 0, 1353403.004 1181058.044 0, 1353141.191 1181037.251 0, 1352879.377 1181016.474 0, 1352616.351 1180995.616 0, 1352175.325 1186559.167 0,
+ 1351734.303 1192122.668 0, 1351996.671 1192143.474 0, 1352257.83 1192164.199 0, 1352518.988 1192184.94 0, 1352780.145 1192205.697 0, 1353041.3 1192226.468 0, 1353302.454 1192247.255 0, 1353563.607 1192268.058 0, 1353824.759 1192288.875 0, 1354085.909 1192309.708 0,
+ 1354347.059 1192330.557 0, 1354608.207 1192351.421 0, 1354869.354 1192372.3 0, 1355130.499 1192393.195 0, 1355391.644 1192414.105 0, 1355652.787 1192435.03 0, 1355913.929 1192455.971 0, 1356175.069 1192476.927 0, 1356436.209 1192497.898 0, 1356697.347 1192518.885 0,
+ 1356958.484 1192539.887 0, 1357219.62 1192560.905 0, 1357480.754 1192581.938 0, 1357741.888 1192602.986 0, 1358001.813 1192623.952 0, 1358264.15 1192645.129 0, 1358525.28 1192666.223 0, 1358786.408 1192687.333 0, 1359047.535 1192708.458 0, 1359308.661 1192729.598 0,
+ 1359569.786 1192750.754 0, 1359830.909 1192771.925 0, 1360092.031 1192793.112 0, 1360353.152 1192814.314 0, 1360614.271 1192835.531 0, 1360875.39 1192856.764 0, 1361136.507 1192878.012 0, 1361397.623 1192899.276 0, 1361658.737 1192920.555 0, 1361919.851 1192941.849 0,
+ 1362180.963 1192963.158 0, 1362442.073 1192984.483 0, 1362703.183 1193005.824 0, 1362964.291 1193027.179 0, 1363225.398 1193048.55 0, 1363486.504 1193069.937 0, 1363747.609 1193091.338 0, 1364008.712 1193112.756 0, 1364268.609 1193134.089 0, 1364725.347 1187571.856 0,
+ 1365182.089 1182009.573 0))
+
+POLYGON ((1376800.007 1194180.918 0, 1376540.169 1194158.85 0, 1376279.127 1194136.695 0, 1376018.084 1194114.556 0, 1375757.04 1194092.432 0, 1375495.994 1194070.323 0, 1375234.948 1194048.23 0, 1374973.899 1194026.152 0, 1374712.85 1194004.09 0, 1374451.799 1193982.042 0,
+ 1374190.747 1193960.011 0, 1373929.693 1193937.994 0, 1373668.639 1193915.993 0, 1373407.583 1193894.007 0, 1373146.525 1193872.037 0, 1372885.467 1193850.082 0, 1372624.407 1193828.142 0, 1372363.346 1193806.218 0, 1372102.283 1193784.309 0, 1371841.22 1193762.416 0,
+ 1371580.154 1193740.538 0, 1371319.088 1193718.675 0, 1371058.021 1193696.827 0, 1370796.952 1193674.995 0, 1370534.677 1193653.078 0, 1370274.81 1193631.377 0, 1370013.737 1193609.591 0, 1369752.663 1193587.821 0, 1369491.588 1193566.066 0, 1369230.511 1193544.326 0,
+ 1368969.433 1193522.601 0, 1368708.354 1193500.892 0, 1368447.274 1193479.198 0, 1368186.192 1193457.52 0, 1367925.109 1193435.857 0, 1367664.025 1193414.209 0, 1367402.939 1193392.577 0, 1367141.853 1193370.96 0, 1366880.764 1193349.358 0, 1366619.675 1193327.772 0,
+ 1366358.584 1193306.201 0, 1366097.493 1193284.646 0, 1365836.399 1193263.106 0, 1365575.305 1193241.581 0, 1365314.209 1193220.072 0, 1365053.112 1193198.578 0, 1364792.014 1193177.099 0, 1364530.915 1193155.636 0, 1364268.609 1193134.089 0, 1363811.875 1198696.269 0,
+ 1363355.146 1204258.389 0, 1363616.794 1204279.882 0, 1363877.239 1204301.291 0, 1364137.682 1204322.716 0, 1364398.125 1204344.156 0, 1364658.565 1204365.612 0, 1364919.005 1204387.082 0, 1365179.444 1204408.569 0, 1365439.881 1204430.07 0, 1365700.317 1204451.587 0,
+ 1365960.751 1204473.119 0, 1366221.185 1204494.666 0, 1366481.617 1204516.229 0, 1366742.047 1204537.807 0, 1367002.477 1204559.4 0, 1367262.905 1204581.009 0, 1367523.332 1204602.633 0, 1367783.758 1204624.272 0, 1368044.183 1204645.927 0, 1368304.606 1204667.597 0,
+ 1368565.028 1204689.282 0, 1368825.448 1204710.983 0, 1369085.868 1204732.699 0, 1369346.286 1204754.43 0, 1369605.501 1204776.077 0, 1369867.118 1204797.939 0, 1370127.532 1204819.716 0, 1370387.945 1204841.509 0, 1370648.357 1204863.317 0, 1370908.767 1204885.14 0,
+ 1371169.176 1204906.979 0, 1371429.584 1204928.833 0, 1371689.991 1204950.702 0, 1371950.396 1204972.587 0, 1372210.8 1204994.487 0, 1372471.202 1205016.402 0, 1372731.604 1205038.332 0, 1372992.004 1205060.278 0, 1373252.403 1205082.24 0, 1373512.8 1205104.216 0,
+ 1373773.196 1205126.208 0, 1374033.591 1205148.215 0, 1374293.985 1205170.238 0, 1374554.377 1205192.276 0, 1374814.768 1205214.329 0, 1375075.158 1205236.397 0, 1375335.546 1205258.481 0, 1375595.933 1205280.58 0, 1375855.119 1205302.593 0, 1376327.561 1199741.785 0,
+ 1376800.007 1194180.918 0))
+
+POLYGON ((861974.493 745018.369 0, 861688.43 745026.461 0, 861400.954 745034.61 0, 861113.479 745042.776 0, 860826.004 745050.959 0, 860538.53 745059.159 0, 860251.056 745067.376 0, 859963.582 745075.61 0, 859676.109 745083.861 0, 859388.637 745092.128 0,
+ 859101.165 745100.413 0, 858813.693 745108.714 0, 858526.222 745117.033 0, 858238.752 745125.368 0, 857951.282 745133.72 0, 857663.812 745142.089 0, 857376.343 745150.476 0, 857088.874 745158.879 0, 856801.406 745167.299 0, 856513.939 745175.735 0,
+ 856226.472 745184.189 0, 855939.005 745192.66 0, 855651.539 745201.147 0, 855364.074 745209.652 0, 855075.194 745218.215 0, 854789.144 745226.712 0, 854501.68 745235.267 0, 854214.216 745243.839 0, 853926.753 745252.428 0, 853639.291 745261.034 0,
+ 853351.829 745269.657 0, 853064.367 745278.297 0, 852776.906 745286.954 0, 852489.445 745295.628 0, 852201.985 745304.318 0, 851914.526 745313.026 0, 851627.067 745321.75 0, 851339.609 745330.492 0, 851052.151 745339.25 0, 850764.693 745348.025 0,
+ 850477.236 745356.818 0, 850189.78 745365.627 0, 849902.324 745374.453 0, 849614.869 745383.295 0, 849327.414 745392.155 0, 849039.959 745401.032 0, 848752.506 745409.926 0, 848465.052 745418.836 0, 848176.184 745427.808 0, 848349.331 750997.535 0,
+ 848522.485 756567.52 0, 848810.694 756558.569 0, 849097.492 756549.679 0, 849384.29 756540.806 0, 849671.089 756531.949 0, 849957.888 756523.109 0, 850244.687 756514.287 0, 850531.488 756505.481 0, 850818.288 756496.692 0, 851105.09 756487.92 0,
+ 851391.891 756479.165 0, 851678.694 756470.426 0, 851965.496 756461.705 0, 852252.3 756453 0, 852539.104 756444.312 0, 852825.908 756435.642 0, 853112.713 756426.988 0, 853399.518 756418.351 0, 853686.324 756409.73 0, 853973.13 756401.127 0,
+ 854259.937 756392.541 0, 854546.745 756383.971 0, 854833.552 756375.419 0, 855120.361 756366.883 0, 855405.759 756358.406 0, 855693.979 756349.862 0, 855980.789 756341.377 0, 856267.599 756332.909 0, 856554.41 756324.457 0, 856841.222 756316.023 0,
+ 857128.034 756307.605 0, 857414.846 756299.204 0, 857701.659 756290.821 0, 857988.472 756282.454 0, 858275.286 756274.104 0, 858562.1 756265.77 0, 858848.915 756257.454 0, 859135.73 756249.155 0, 859422.546 756240.872 0, 859709.363 756232.606 0,
+ 859996.179 756224.358 0, 860282.997 756216.126 0, 860569.814 756207.911 0, 860856.633 756199.712 0, 861143.451 756191.531 0, 861430.27 756183.367 0, 861717.09 756175.219 0, 862003.91 756167.089 0, 862289.321 756159.015 0, 862131.904 750588.563 0,
+ 861974.493 745018.369 0))
+
+POLYGON ((876057.256 755789.405 0, 875771.822 755796.673 0, 875484.98 755803.993 0, 875198.138 755811.33 0, 874911.297 755818.684 0, 874624.456 755826.055 0, 874337.616 755833.443 0, 874050.776 755840.847 0, 873763.937 755848.269 0, 873477.098 755855.707 0,
+ 873190.259 755863.163 0, 872903.421 755870.635 0, 872616.584 755878.124 0, 872329.746 755885.63 0, 872042.91 755893.153 0, 871756.073 755900.693 0, 871469.238 755908.249 0, 871182.402 755915.823 0, 870895.567 755923.413 0, 870608.733 755931.02 0,
+ 870321.899 755938.645 0, 870035.065 755946.286 0, 869748.232 755953.943 0, 869461.399 755961.618 0, 869173.158 755969.348 0, 868887.735 755977.019 0, 868600.904 755984.744 0, 868314.073 755992.486 0, 868027.242 756000.246 0, 867740.412 756008.022 0,
+ 867453.583 756015.815 0, 867166.754 756023.624 0, 866879.925 756031.451 0, 866593.097 756039.295 0, 866306.269 756047.155 0, 866019.442 756055.033 0, 865732.615 756062.927 0, 865445.789 756070.838 0, 865158.963 756078.766 0, 864872.138 756086.711 0,
+ 864585.313 756094.673 0, 864298.489 756102.652 0, 864011.665 756110.647 0, 863724.841 756118.66 0, 863438.018 756126.689 0, 863151.196 756134.735 0, 862864.374 756142.798 0, 862577.552 756150.878 0, 862289.321 756159.015 0, 862446.746 761729.721 0,
+ 862604.177 767300.677 0, 862891.749 767292.559 0, 863177.915 767284.497 0, 863464.081 767276.452 0, 863750.248 767268.425 0, 864036.415 767260.414 0, 864322.583 767252.419 0, 864608.751 767244.442 0, 864894.92 767236.482 0, 865181.089 767228.538 0,
+ 865467.259 767220.611 0, 865753.429 767212.701 0, 866039.599 767204.808 0, 866325.77 767196.932 0, 866611.942 767189.073 0, 866898.113 767181.23 0, 867184.286 767173.405 0, 867470.459 767165.596 0, 867756.632 767157.804 0, 868042.806 767150.029 0,
+ 868328.98 767142.27 0, 868615.154 767134.529 0, 868901.33 767126.804 0, 869187.505 767119.096 0, 869472.276 767111.443 0, 869759.858 767103.731 0, 870046.034 767096.074 0, 870332.212 767088.434 0, 870618.39 767080.81 0, 870904.568 767073.203 0,
+ 871190.747 767065.614 0, 871476.926 767058.04 0, 871763.105 767050.484 0, 872049.285 767042.945 0, 872335.466 767035.422 0, 872621.647 767027.917 0, 872907.828 767020.428 0, 873194.01 767012.956 0, 873480.192 767005.501 0, 873766.375 766998.063 0,
+ 874052.558 766990.641 0, 874338.742 766983.237 0, 874624.926 766975.849 0, 874911.11 766968.478 0, 875197.295 766961.124 0, 875483.48 766953.787 0, 875769.666 766946.466 0, 876055.852 766939.163 0, 876340.634 766931.912 0, 876198.942 761360.533 0,
+ 876057.256 755789.405 0))
+
+POLYGON ((890078.078 766601.956 0, 889793.274 766608.403 0, 889507.068 766614.898 0, 889220.863 766621.41 0, 888934.658 766627.938 0, 888648.454 766634.484 0, 888362.25 766641.046 0, 888076.046 766647.625 0, 887789.843 766654.221 0, 887503.64 766660.834 0,
+ 887217.437 766667.464 0, 886931.235 766674.111 0, 886645.033 766680.774 0, 886358.832 766687.454 0, 886072.631 766694.151 0, 885786.43 766700.865 0, 885500.23 766707.596 0, 885214.03 766714.344 0, 884927.831 766721.108 0, 884641.632 766727.89 0,
+ 884355.433 766734.688 0, 884069.235 766741.503 0, 883783.037 766748.335 0, 883496.84 766755.183 0, 883209.239 766762.083 0, 882924.446 766768.931 0, 882638.25 766775.831 0, 882352.054 766782.747 0, 882065.859 766789.68 0, 881779.664 766796.63 0,
+ 881493.469 766803.596 0, 881207.275 766810.58 0, 880921.081 766817.58 0, 880634.888 766824.597 0, 880348.695 766831.631 0, 880062.503 766838.682 0, 879776.311 766845.75 0, 879490.119 766852.834 0, 879203.928 766859.936 0, 878917.737 766867.054 0,
+ 878631.547 766874.189 0, 878345.357 766881.341 0, 878059.167 766888.51 0, 877772.978 766895.695 0, 877486.789 766902.898 0, 877200.601 766910.117 0, 876914.413 766917.353 0, 876628.226 766924.606 0, 876340.634 766931.912 0, 876482.332 772503.537 0,
+ 876624.037 778075.406 0, 876910.969 778068.117 0, 877196.501 778060.881 0, 877482.033 778053.661 0, 877767.565 778046.458 0, 878053.098 778039.272 0, 878338.631 778032.103 0, 878624.165 778024.951 0, 878909.699 778017.815 0, 879195.234 778010.696 0,
+ 879480.769 778003.595 0, 879766.304 777996.509 0, 880051.84 777989.441 0, 880337.376 777982.39 0, 880622.913 777975.355 0, 880908.45 777968.337 0, 881193.987 777961.336 0, 881479.525 777954.352 0, 881765.063 777947.384 0, 882050.602 777940.434 0,
+ 882336.141 777933.5 0, 882621.68 777926.583 0, 882907.22 777919.682 0, 883192.76 777912.799 0, 883476.901 777905.966 0, 883763.842 777899.082 0, 884049.384 777892.249 0, 884334.926 777885.433 0, 884620.468 777878.634 0, 884906.011 777871.851 0,
+ 885191.554 777865.085 0, 885477.097 777858.336 0, 885762.641 777851.604 0, 886048.185 777844.889 0, 886333.73 777838.19 0, 886619.275 777831.508 0, 886904.82 777824.843 0, 887190.366 777818.195 0, 887475.913 777811.564 0, 887761.459 777804.949 0,
+ 888047.006 777798.352 0, 888332.554 777791.771 0, 888618.101 777785.207 0, 888903.65 777778.659 0, 889189.198 777772.129 0, 889474.747 777765.615 0, 889760.297 777759.118 0, 890045.846 777752.638 0, 890329.997 777746.207 0, 890204.035 772173.96 0,
+ 890078.078 766601.956 0))
+
+POLYGON ((904036.833 777455.73 0, 903752.662 777461.359 0, 903467.096 777467.033 0, 903181.529 777472.723 0, 902895.963 777478.43 0, 902610.397 777484.154 0, 902324.831 777489.894 0, 902039.266 777495.651 0, 901753.701 777501.426 0, 901468.137 777507.217 0,
+ 901182.573 777513.024 0, 900897.009 777518.849 0, 900611.445 777524.69 0, 900325.882 777530.549 0, 900040.319 777536.424 0, 899754.757 777542.315 0, 899469.195 777548.224 0, 899183.633 777554.15 0, 898898.072 777560.092 0, 898612.51 777566.051 0,
+ 898326.95 777572.027 0, 898041.389 777578.019 0, 897755.829 777584.029 0, 897470.27 777590.055 0, 897183.312 777596.128 0, 896899.151 777602.158 0, 896613.593 777608.235 0, 896328.035 777614.328 0, 896042.477 777620.439 0, 895756.919 777626.566 0,
+ 895471.362 777632.71 0, 895185.805 777638.871 0, 894900.249 777645.048 0, 894614.693 777651.243 0, 894329.137 777657.454 0, 894043.582 777663.682 0, 893758.027 777669.926 0, 893472.472 777676.188 0, 893186.918 777682.466 0, 892901.364 777688.762 0,
+ 892615.811 777695.074 0, 892330.258 777701.403 0, 892044.705 777707.748 0, 891759.152 777714.111 0, 891473.601 777720.49 0, 891188.049 777726.886 0, 890902.498 777733.299 0, 890616.947 777739.728 0, 890329.997 777746.207 0, 890455.965 783318.693 0,
+ 890581.938 788891.415 0, 890868.229 788884.952 0, 891153.124 788878.537 0, 891438.019 788872.139 0, 891722.914 788865.758 0, 892007.81 788859.393 0, 892292.707 788853.045 0, 892577.604 788846.714 0, 892862.501 788840.4 0, 893147.398 788834.102 0,
+ 893432.296 788827.822 0, 893717.194 788821.558 0, 894002.093 788815.31 0, 894286.992 788809.08 0, 894571.891 788802.866 0, 894856.791 788796.669 0, 895141.691 788790.489 0, 895426.591 788784.326 0, 895711.492 788778.179 0, 895996.393 788772.05 0,
+ 896281.295 788765.936 0, 896566.197 788759.84 0, 896851.099 788753.761 0, 897136.001 788747.698 0, 897419.51 788741.681 0, 897705.808 788735.623 0, 897990.711 788729.61 0, 898275.615 788723.615 0, 898560.52 788717.636 0, 898845.424 788711.674 0,
+ 899130.33 788705.728 0, 899415.235 788699.8 0, 899700.141 788693.888 0, 899985.047 788687.993 0, 900269.953 788682.114 0, 900554.86 788676.253 0, 900839.767 788670.408 0, 901124.675 788664.58 0, 901409.582 788658.769 0, 901694.491 788652.974 0,
+ 901979.399 788647.197 0, 902264.308 788641.436 0, 902549.217 788635.692 0, 902834.127 788629.964 0, 903119.037 788624.254 0, 903403.947 788618.56 0, 903688.857 788612.883 0, 903973.768 788607.222 0, 904257.285 788601.607 0, 904147.057 783028.55 0,
+ 904036.833 777455.73 0))
+
+POLYGON ((917933.397 788350.434 0, 917649.863 788355.249 0, 917364.937 788360.105 0, 917080.011 788364.977 0, 916795.086 788369.866 0, 916510.161 788374.771 0, 916225.237 788379.694 0, 915940.313 788384.633 0, 915655.389 788389.589 0, 915370.465 788394.562 0,
+ 915085.542 788399.551 0, 914800.618 788404.557 0, 914515.696 788409.58 0, 914230.773 788414.62 0, 913945.851 788419.677 0, 913660.929 788424.75 0, 913376.007 788429.84 0, 913091.086 788434.947 0, 912806.165 788440.071 0, 912521.244 788445.211 0,
+ 912236.324 788450.369 0, 911951.404 788455.543 0, 911666.484 788460.733 0, 911381.564 788465.941 0, 911095.252 788471.191 0, 910811.726 788476.406 0, 910526.808 788481.664 0, 910241.89 788486.939 0, 909956.972 788492.23 0, 909672.054 788497.538 0,
+ 909387.137 788502.863 0, 909102.22 788508.205 0, 908817.303 788513.563 0, 908532.387 788518.938 0, 908247.47 788524.33 0, 907962.555 788529.739 0, 907677.639 788535.165 0, 907392.724 788540.607 0, 907107.809 788546.066 0, 906822.895 788551.542 0,
+ 906537.981 788557.034 0, 906253.067 788562.544 0, 905968.153 788568.07 0, 905683.24 788573.613 0, 905398.327 788579.173 0, 905113.415 788584.749 0, 904828.503 788590.342 0, 904543.591 788595.952 0, 904257.285 788601.607 0, 904367.519 794174.895 0,
+ 904477.757 799748.412 0, 904763.403 799742.771 0, 905047.659 799737.174 0, 905331.915 799731.594 0, 905616.171 799726.03 0, 905900.428 799720.483 0, 906184.685 799714.953 0, 906468.942 799709.44 0, 906753.2 799703.943 0, 907037.458 799698.463 0,
+ 907321.717 799693 0, 907605.975 799687.553 0, 907890.234 799682.124 0, 908174.494 799676.711 0, 908458.753 799671.314 0, 908743.013 799665.935 0, 909027.274 799660.572 0, 909311.534 799655.226 0, 909595.795 799649.896 0, 909880.056 799644.584 0,
+ 910164.318 799639.288 0, 910448.58 799634.009 0, 910732.842 799628.746 0, 911017.104 799623.5 0, 911299.978 799618.297 0, 911585.63 799613.059 0, 911869.894 799607.864 0, 912154.157 799602.685 0, 912438.421 799597.523 0, 912722.686 799592.377 0,
+ 913006.95 799587.249 0, 913291.215 799582.137 0, 913575.481 799577.042 0, 913859.746 799571.963 0, 914144.012 799566.902 0, 914428.278 799561.857 0, 914712.544 799556.829 0, 914996.811 799551.817 0, 915281.078 799546.822 0, 915565.345 799541.844 0,
+ 915849.613 799536.883 0, 916133.881 799531.938 0, 916418.149 799527.011 0, 916702.417 799522.1 0, 916986.686 799517.205 0, 917270.955 799512.328 0, 917555.225 799507.467 0, 917839.494 799502.622 0, 918122.376 799497.819 0, 918027.884 793924.012 0,
+ 917933.397 788350.434 0))
+
+POLYGON ((931767.648 799285.774 0, 931484.752 799289.779 0, 931200.47 799293.82 0, 930916.188 799297.878 0, 930631.906 799301.952 0, 930347.625 799306.043 0, 930063.343 799310.151 0, 929779.062 799314.276 0, 929494.782 799318.418 0, 929210.501 799322.576 0,
+ 928926.221 799326.751 0, 928641.941 799330.942 0, 928357.661 799335.151 0, 928073.382 799339.376 0, 927789.103 799343.618 0, 927504.824 799347.876 0, 927220.545 799352.151 0, 926936.266 799356.443 0, 926651.988 799360.752 0, 926367.71 799365.078 0,
+ 926083.433 799369.42 0, 925799.155 799373.779 0, 925514.878 799378.154 0, 925230.601 799382.547 0, 924944.937 799386.978 0, 924662.048 799391.382 0, 924377.772 799395.825 0, 924093.496 799400.284 0, 923809.22 799404.76 0, 923524.945 799409.253 0,
+ 923240.67 799413.762 0, 922956.395 799418.289 0, 922672.12 799422.832 0, 922387.846 799427.391 0, 922103.572 799431.968 0, 921819.298 799436.561 0, 921535.025 799441.171 0, 921250.751 799445.798 0, 920966.478 799450.441 0, 920682.206 799455.101 0,
+ 920397.933 799459.778 0, 920113.661 799464.471 0, 919829.389 799469.182 0, 919545.118 799473.909 0, 919260.846 799478.653 0, 918976.575 799483.413 0, 918692.305 799488.19 0, 918408.034 799492.984 0, 918122.376 799497.819 0, 918216.871 805071.85 0,
+ 918311.369 810646.104 0, 918596.369 810641.281 0, 918879.983 810636.498 0, 919163.598 810631.732 0, 919447.212 810626.982 0, 919730.828 810622.249 0, 920014.443 810617.533 0, 920298.059 810612.834 0, 920581.675 810608.151 0, 920865.291 810603.485 0,
+ 921148.907 810598.836 0, 921432.524 810594.203 0, 921716.141 810589.587 0, 921999.759 810584.988 0, 922283.376 810580.405 0, 922566.994 810575.839 0, 922850.612 810571.29 0, 923134.231 810566.757 0, 923417.849 810562.242 0, 923701.468 810557.742 0,
+ 923985.087 810553.26 0, 924268.707 810548.794 0, 924552.327 810544.345 0, 924835.947 810539.913 0, 925118.183 810535.519 0, 925403.187 810531.098 0, 925686.808 810526.716 0, 925970.429 810522.35 0, 926254.05 810518.002 0, 926537.672 810513.669 0,
+ 926821.294 810509.354 0, 927104.916 810505.055 0, 927388.538 810500.773 0, 927672.161 810496.507 0, 927955.783 810492.259 0, 928239.406 810488.027 0, 928523.03 810483.811 0, 928806.653 810479.613 0, 929090.277 810475.431 0, 929373.901 810471.266 0,
+ 929657.525 810467.117 0, 929941.15 810462.985 0, 930224.775 810458.87 0, 930508.4 810454.771 0, 930792.025 810450.69 0, 931075.65 810446.625 0, 931359.276 810442.576 0, 931642.902 810438.544 0, 931925.145 810434.549 0, 931846.395 804860.051 0,
+ 931767.648 799285.774 0))
+
+POLYGON ((945539.464 810261.456 0, 945257.209 810264.654 0, 944973.572 810267.885 0, 944689.936 810271.132 0, 944406.301 810274.396 0, 944122.665 810277.676 0, 943839.029 810280.973 0, 943555.394 810284.287 0, 943271.759 810287.618 0, 942988.124 810290.965 0,
+ 942704.49 810294.329 0, 942420.855 810297.71 0, 942137.221 810301.107 0, 941853.587 810304.521 0, 941569.953 810307.952 0, 941286.319 810311.399 0, 941002.686 810314.863 0, 940719.053 810318.344 0, 940435.419 810321.842 0, 940151.787 810325.356 0,
+ 939868.154 810328.887 0, 939584.522 810332.434 0, 939300.889 810335.999 0, 939017.257 810339.58 0, 938732.243 810343.195 0, 938449.994 810346.792 0, 938166.363 810350.423 0, 937882.731 810354.07 0, 937599.1 810357.735 0, 937315.47 810361.416 0,
+ 937031.839 810365.114 0, 936748.209 810368.828 0, 936464.579 810372.56 0, 936180.949 810376.307 0, 935897.319 810380.072 0, 935613.69 810383.853 0, 935330.061 810387.651 0, 935046.432 810391.466 0, 934762.803 810395.297 0, 934479.175 810399.146 0,
+ 934195.546 810403.01 0, 933911.918 810406.892 0, 933628.29 810410.79 0, 933344.663 810414.705 0, 933061.035 810418.636 0, 932777.408 810422.585 0, 932493.781 810426.549 0, 932210.155 810430.531 0, 931925.145 810434.549 0, 932003.898 816009.265 0,
+ 932082.655 821584.196 0, 932367.005 821580.187 0, 932649.975 821576.215 0, 932932.946 821572.259 0, 933215.917 821568.32 0, 933498.888 821564.397 0, 933781.859 821560.491 0, 934064.831 821556.602 0, 934347.803 821552.73 0, 934630.775 821548.874 0,
+ 934913.747 821545.035 0, 935196.719 821541.212 0, 935479.692 821537.406 0, 935762.665 821533.617 0, 936045.638 821529.845 0, 936328.612 821526.089 0, 936611.585 821522.35 0, 936894.559 821518.627 0, 937177.533 821514.921 0, 937460.507 821511.232 0,
+ 937743.482 821507.559 0, 938026.456 821503.903 0, 938309.431 821500.264 0, 938592.407 821496.641 0, 938874.003 821493.053 0, 939158.357 821489.446 0, 939441.333 821485.873 0, 939724.309 821482.317 0, 940007.285 821478.778 0, 940290.262 821475.255 0,
+ 940573.238 821471.749 0, 940856.215 821468.26 0, 941139.192 821464.787 0, 941422.169 821461.331 0, 941705.147 821457.891 0, 941988.124 821454.468 0, 942271.102 821451.062 0, 942554.08 821447.673 0, 942837.058 821444.3 0, 943120.037 821440.944 0,
+ 943403.015 821437.604 0, 943685.994 821434.281 0, 943968.973 821430.975 0, 944251.952 821427.686 0, 944534.932 821424.413 0, 944817.911 821421.157 0, 945100.891 821417.917 0, 945383.871 821414.694 0, 945665.473 821411.503 0, 945602.467 815836.373 0,
+ 945539.464 810261.456 0))
+
+POLYGON ((959248.725 821277.186 0, 958967.113 821279.581 0, 958684.125 821282.004 0, 958401.137 821284.444 0, 958118.15 821286.901 0, 957835.162 821289.375 0, 957552.175 821291.865 0, 957269.188 821294.371 0, 956986.201 821296.895 0, 956703.214 821299.435 0,
+ 956420.227 821301.991 0, 956137.24 821304.565 0, 955854.254 821307.155 0, 955571.268 821309.761 0, 955288.281 821312.385 0, 955005.295 821315.025 0, 954722.31 821317.681 0, 954439.324 821320.355 0, 954156.338 821323.045 0, 953873.353 821325.751 0,
+ 953590.368 821328.474 0, 953307.383 821331.214 0, 953024.398 821333.971 0, 952741.413 821336.744 0, 952457.052 821339.548 0, 952175.444 821342.341 0, 951892.46 821345.164 0, 951609.476 821348.004 0, 951326.492 821350.86 0, 951043.508 821353.733 0,
+ 950760.525 821356.623 0, 950477.541 821359.53 0, 950194.558 821362.453 0, 949911.575 821365.392 0, 949628.592 821368.349 0, 949345.61 821371.322 0, 949062.627 821374.312 0, 948779.645 821377.318 0, 948496.663 821380.341 0, 948213.681 821383.381 0,
+ 947930.699 821386.437 0, 947647.717 821389.51 0, 947364.736 821392.6 0, 947081.755 821395.706 0, 946798.773 821398.829 0, 946515.793 821401.969 0, 946232.812 821405.125 0, 945949.831 821408.298 0, 945665.473 821411.503 0, 945728.481 826986.845 0,
+ 945791.492 832562.393 0, 946075.191 832559.195 0, 946357.515 832556.03 0, 946639.839 832552.881 0, 946922.164 832549.748 0, 947204.488 832546.632 0, 947486.813 832543.533 0, 947769.138 832540.451 0, 948051.464 832537.385 0, 948333.789 832534.336 0,
+ 948616.115 832531.303 0, 948898.441 832528.287 0, 949180.767 832525.287 0, 949463.093 832522.305 0, 949745.419 832519.338 0, 950027.746 832516.389 0, 950310.073 832513.456 0, 950592.399 832510.54 0, 950874.726 832507.64 0, 951157.054 832504.757 0,
+ 951439.381 832501.89 0, 951721.709 832499.04 0, 952004.036 832496.207 0, 952286.364 832493.391 0, 952567.319 832490.604 0, 952851.021 832487.807 0, 953133.349 832485.04 0, 953415.678 832482.29 0, 953698.006 832479.557 0, 953980.335 832476.84 0,
+ 954262.664 832474.139 0, 954544.993 832471.456 0, 954827.323 832468.789 0, 955109.652 832466.138 0, 955391.982 832463.504 0, 955674.312 832460.887 0, 955956.642 832458.286 0, 956238.972 832455.702 0, 956521.302 832453.135 0, 956803.632 832450.584 0,
+ 957085.963 832448.05 0, 957368.294 832445.533 0, 957650.625 832443.032 0, 957932.956 832440.547 0, 958215.287 832438.08 0, 958497.618 832435.629 0, 958779.949 832433.194 0, 959062.281 832430.776 0, 959343.24 832428.387 0, 959295.982 826852.683 0,
+ 959248.725 821277.186 0))
+
+POLYGON ((972895.313 832332.667 0, 972614.346 832334.263 0, 972332.009 832335.883 0, 972049.672 832337.52 0, 971767.335 832339.174 0, 971484.998 832340.844 0, 971202.661 832342.53 0, 970920.324 832344.234 0, 970637.987 832345.953 0, 970355.651 832347.69 0,
+ 970073.314 832349.443 0, 969790.978 832351.213 0, 969508.641 832352.999 0, 969226.305 832354.802 0, 968943.969 832356.622 0, 968661.633 832358.458 0, 968379.297 832360.311 0, 968096.962 832362.18 0, 967814.626 832364.066 0, 967532.29 832365.969 0,
+ 967249.955 832367.888 0, 966967.62 832369.824 0, 966685.284 832371.777 0, 966402.949 832373.746 0, 966119.243 832375.741 0, 965838.28 832377.734 0, 965555.945 832379.753 0, 965273.61 832381.789 0, 964991.276 832383.841 0, 964708.941 832385.91 0,
+ 964426.607 832387.995 0, 964144.273 832390.097 0, 963861.939 832392.216 0, 963579.605 832394.351 0, 963297.271 832396.503 0, 963014.938 832398.672 0, 962732.604 832400.857 0, 962450.271 832403.059 0, 962167.938 832405.277 0, 961885.605 832407.512 0,
+ 961603.272 832409.764 0, 961320.939 832412.032 0, 961038.606 832414.317 0, 960756.274 832416.618 0, 960473.941 832418.937 0, 960191.609 832421.271 0, 959909.277 832423.623 0, 959626.945 832425.991 0, 959343.24 832428.387 0, 959390.5 838004.294 0,
+ 959437.762 843580.401 0, 959720.807 843578.01 0, 960002.483 843575.648 0, 960284.158 843573.302 0, 960565.834 843570.972 0, 960847.51 843568.66 0, 961129.186 843566.364 0, 961410.863 843564.084 0, 961692.539 843561.821 0, 961974.216 843559.575 0,
+ 962255.892 843557.345 0, 962537.569 843555.132 0, 962819.246 843552.935 0, 963100.923 843550.755 0, 963382.601 843548.591 0, 963664.278 843546.444 0, 963945.955 843544.314 0, 964227.633 843542.2 0, 964509.311 843540.103 0, 964790.989 843538.022 0,
+ 965072.667 843535.958 0, 965354.345 843533.911 0, 965636.023 843531.88 0, 965917.701 843529.866 0, 966198.011 843527.878 0, 966481.058 843525.887 0, 966762.737 843523.922 0, 967044.416 843521.974 0, 967326.095 843520.043 0, 967607.774 843518.128 0,
+ 967889.453 843516.23 0, 968171.132 843514.348 0, 968452.811 843512.483 0, 968734.491 843510.634 0, 969016.17 843508.803 0, 969297.85 843506.987 0, 969579.53 843505.188 0, 969861.21 843503.406 0, 970142.89 843501.641 0, 970424.57 843499.892 0,
+ 970706.25 843498.159 0, 970987.93 843496.443 0, 971269.611 843494.744 0, 971551.291 843493.061 0, 971832.972 843491.395 0, 972114.653 843489.745 0, 972396.333 843488.112 0, 972678.014 843486.496 0, 972958.328 843484.904 0, 972926.82 837908.686 0,
+ 972895.313 832332.667 0))
+
+POLYGON ((986479.11 843427.606 0, 986198.791 843428.406 0, 985917.106 843429.226 0, 985635.422 843430.063 0, 985353.738 843430.917 0, 985072.054 843431.788 0, 984790.37 843432.675 0, 984508.686 843433.578 0, 984227.001 843434.498 0, 983945.318 843435.435 0,
+ 983663.634 843436.388 0, 983381.95 843437.358 0, 983100.266 843438.344 0, 982818.582 843439.347 0, 982536.898 843440.367 0, 982255.215 843441.403 0, 981973.531 843442.456 0, 981691.848 843443.525 0, 981410.164 843444.611 0, 981128.481 843445.713 0,
+ 980846.798 843446.832 0, 980565.114 843447.968 0, 980283.431 843449.12 0, 980001.748 843450.289 0, 979718.699 843451.48 0, 979438.382 843452.676 0, 979156.699 843453.895 0, 978875.016 843455.13 0, 978593.334 843456.381 0, 978311.651 843457.65 0,
+ 978029.968 843458.934 0, 977748.286 843460.236 0, 977466.603 843461.554 0, 977184.921 843462.888 0, 976903.239 843464.239 0, 976621.556 843465.607 0, 976339.874 843466.991 0, 976058.192 843468.392 0, 975776.51 843469.81 0, 975494.828 843471.244 0,
+ 975213.147 843472.694 0, 974931.465 843474.162 0, 974649.783 843475.645 0, 974368.102 843477.146 0, 974086.42 843478.663 0, 973804.739 843480.196 0, 973523.058 843481.746 0, 973241.376 843483.313 0, 972958.328 843484.904 0, 972989.837 849061.318 0,
+ 973021.348 854637.924 0, 973303.736 854636.336 0, 973584.761 854634.773 0, 973865.786 854633.227 0, 974146.811 854631.697 0, 974427.836 854630.184 0, 974708.861 854628.687 0, 974989.886 854627.206 0, 975270.911 854625.743 0, 975551.937 854624.295 0,
+ 975832.962 854622.865 0, 976113.988 854621.45 0, 976395.013 854620.053 0, 976676.039 854618.672 0, 976957.065 854617.307 0, 977238.09 854615.959 0, 977519.116 854614.628 0, 977800.142 854613.313 0, 978081.168 854612.015 0, 978362.195 854610.733 0,
+ 978643.221 854609.467 0, 978924.247 854608.219 0, 979205.274 854606.986 0, 979486.3 854605.771 0, 979765.964 854604.577 0, 980048.353 854603.389 0, 980329.38 854602.223 0, 980610.406 854601.074 0, 980891.433 854599.941 0, 981172.46 854598.824 0,
+ 981453.487 854597.724 0, 981734.514 854596.641 0, 982015.541 854595.574 0, 982296.568 854594.524 0, 982577.595 854593.49 0, 982858.623 854592.473 0, 983139.65 854591.472 0, 983420.677 854590.488 0, 983701.705 854589.521 0, 983982.732 854588.57 0,
+ 984263.76 854587.635 0, 984544.787 854586.717 0, 984825.815 854585.816 0, 985106.843 854584.931 0, 985387.87 854584.063 0, 985668.898 854583.211 0, 985949.926 854582.376 0, 986230.954 854581.557 0, 986510.62 854580.759 0, 986494.865 849004.086 0,
+ 986479.11 843427.606 0))
+
+POLYGON ((1000000 854561.704 0, 999720.331 854561.712 0, 999439.302 854561.737 0, 999158.272 854561.778 0, 998877.243 854561.836 0, 998596.214 854561.91 0, 998315.185 854562.001 0, 998034.156 854562.108 0, 997753.127 854562.232 0, 997472.098 854562.373 0,
+ 997191.069 854562.53 0, 996910.04 854562.704 0, 996629.011 854562.894 0, 996347.982 854563.1 0, 996066.953 854563.324 0, 995785.924 854563.563 0, 995504.895 854563.82 0, 995223.866 854564.093 0, 994942.837 854564.382 0, 994661.808 854564.688 0,
+ 994380.779 854565.01 0, 994099.751 854565.349 0, 993818.722 854565.705 0, 993537.693 854566.077 0, 993255.303 854566.467 0, 992975.635 854566.871 0, 992694.606 854567.292 0, 992413.578 854567.731 0, 992132.549 854568.185 0, 991851.52 854568.657 0,
+ 991570.492 854569.145 0, 991289.463 854569.649 0, 991008.434 854570.17 0, 990727.406 854570.708 0, 990446.377 854571.262 0, 990165.349 854571.832 0, 989884.32 854572.419 0, 989603.292 854573.023 0, 989322.264 854573.643 0, 989041.235 854574.28 0,
+ 988760.207 854574.933 0, 988479.179 854575.603 0, 988198.15 854576.289 0, 987917.122 854576.992 0, 987636.094 854577.712 0, 987355.066 854578.448 0, 987074.038 854579.2 0, 986793.01 854579.969 0, 986510.62 854580.759 0, 986526.376 860157.62 0,
+ 986542.132 865734.665 0, 986823.862 865733.878 0, 987104.234 865733.11 0, 987384.605 865732.359 0, 987664.977 865731.625 0, 987945.348 865730.907 0, 988225.72 865730.206 0, 988506.092 865729.521 0, 988786.464 865728.853 0, 989066.835 865728.201 0,
+ 989347.207 865727.566 0, 989627.579 865726.947 0, 989907.951 865726.345 0, 990188.323 865725.759 0, 990468.695 865725.19 0, 990749.067 865724.637 0, 991029.439 865724.101 0, 991309.811 865723.581 0, 991590.183 865723.078 0, 991870.556 865722.591 0,
+ 992150.928 865722.121 0, 992431.3 865721.668 0, 992711.672 865721.23 0, 992992.045 865720.81 0, 993271.059 865720.407 0, 993552.789 865720.018 0, 993833.161 865719.646 0, 994113.534 865719.292 0, 994393.906 865718.953 0, 994674.279 865718.632 0,
+ 994954.651 865718.327 0, 995235.023 865718.038 0, 995515.396 865717.766 0, 995795.768 865717.51 0, 996076.141 865717.271 0, 996356.513 865717.048 0, 996636.886 865716.842 0, 996917.258 865716.652 0, 997197.631 865716.479 0, 997478.003 865716.322 0,
+ 997758.376 865716.182 0, 998038.749 865716.058 0, 998319.121 865715.951 0, 998599.494 865715.861 0, 998879.866 865715.786 0, 999160.239 865715.729 0, 999440.611 865715.687 0, 999720.984 865715.663 0, 1000000 865715.655 0, 1000000 860138.587 0,
+ 1000000 854561.704 0))
+
+POLYGON ((1013457.868 865734.665 0, 1013178.851 865733.885 0, 1012898.48 865733.118 0, 1012618.108 865732.367 0, 1012337.736 865731.632 0, 1012057.365 865730.914 0, 1011776.993 865730.213 0, 1011496.621 865729.528 0, 1011216.249 865728.86 0, 1010935.878 865728.208 0,
+ 1010655.506 865727.572 0, 1010375.134 865726.953 0, 1010094.762 865726.351 0, 1009814.39 865725.765 0, 1009534.018 865725.196 0, 1009253.646 865724.643 0, 1008973.274 865724.106 0, 1008692.902 865723.586 0, 1008412.53 865723.083 0, 1008132.157 865722.596 0,
+ 1007851.785 865722.126 0, 1007571.413 865721.672 0, 1007291.041 865721.234 0, 1007010.669 865720.814 0, 1006728.941 865720.407 0, 1006449.924 865720.021 0, 1006169.552 865719.65 0, 1005889.179 865719.295 0, 1005608.807 865718.957 0, 1005328.434 865718.635 0,
+ 1005048.062 865718.329 0, 1004767.69 865718.041 0, 1004487.317 865717.768 0, 1004206.945 865717.512 0, 1003926.572 865717.273 0, 1003646.2 865717.05 0, 1003365.827 865716.844 0, 1003085.455 865716.654 0, 1002805.082 865716.481 0, 1002524.71 865716.324 0,
+ 1002244.337 865716.183 0, 1001963.965 865716.059 0, 1001683.592 865715.952 0, 1001403.219 865715.861 0, 1001122.847 865715.787 0, 1000842.474 865715.729 0, 1000562.102 865715.688 0, 1000281.729 865715.663 0, 1000000 865715.655 0, 1000000 871292.903 0,
+ 1000000 876870.329 0, 1000281.069 876870.337 0, 1000560.785 876870.362 0, 1000840.501 876870.403 0, 1001120.218 876870.461 0, 1001399.934 876870.535 0, 1001679.65 876870.625 0, 1001959.366 876870.732 0, 1002239.082 876870.856 0, 1002518.798 876870.996 0,
+ 1002798.514 876871.152 0, 1003078.23 876871.325 0, 1003357.946 876871.515 0, 1003637.662 876871.721 0, 1003917.377 876871.943 0, 1004197.093 876872.182 0, 1004476.809 876872.437 0, 1004756.525 876872.709 0, 1005036.241 876872.997 0, 1005315.957 876873.302 0,
+ 1005595.673 876873.623 0, 1005875.389 876873.96 0, 1006155.105 876874.314 0, 1006434.82 876874.685 0, 1006713.184 876875.07 0, 1006994.252 876875.475 0, 1007273.968 876875.895 0, 1007553.683 876876.332 0, 1007833.399 876876.784 0, 1008113.115 876877.254 0,
+ 1008392.83 876877.739 0, 1008672.546 876878.242 0, 1008952.261 876878.76 0, 1009231.977 876879.296 0, 1009511.692 876879.847 0, 1009791.408 876880.415 0, 1010071.123 876881 0, 1010350.839 876881.601 0, 1010630.554 876882.218 0, 1010910.269 876882.852 0,
+ 1011189.985 876883.503 0, 1011469.7 876884.169 0, 1011749.415 876884.853 0, 1012029.13 876885.552 0, 1012308.845 876886.269 0, 1012588.56 876887.001 0, 1012868.275 876887.751 0, 1013147.99 876888.516 0, 1013426.354 876889.294 0, 1013442.111 871311.891 0,
+ 1013457.868 865734.665 0))
+
+POLYGON ((1026852.601 876946.192 0, 1026574.239 876944.628 0, 1026294.527 876943.072 0, 1026014.815 876941.532 0, 1025735.103 876940.009 0, 1025455.391 876938.503 0, 1025175.679 876937.013 0, 1024895.967 876935.539 0, 1024616.255 876934.082 0, 1024336.542 876932.642 0,
+ 1024056.83 876931.217 0, 1023777.117 876929.81 0, 1023497.405 876928.418 0, 1023217.692 876927.044 0, 1022937.98 876925.685 0, 1022658.267 876924.343 0, 1022378.554 876923.018 0, 1022098.841 876921.709 0, 1021819.128 876920.417 0, 1021539.415 876919.141 0,
+ 1021259.701 876917.881 0, 1020979.988 876916.638 0, 1020700.275 876915.411 0, 1020420.561 876914.201 0, 1020139.498 876913.002 0, 1019861.134 876911.83 0, 1019581.421 876910.67 0, 1019301.707 876909.525 0, 1019021.993 876908.398 0, 1018742.279 876907.286 0,
+ 1018462.566 876906.191 0, 1018182.852 876905.113 0, 1017903.138 876904.051 0, 1017623.423 876903.005 0, 1017343.709 876901.976 0, 1017063.995 876900.964 0, 1016784.281 876899.968 0, 1016504.566 876898.988 0, 1016224.852 876898.025 0, 1015945.138 876897.078 0,
+ 1015665.423 876896.148 0, 1015385.709 876895.234 0, 1015105.994 876894.337 0, 1014826.279 876893.456 0, 1014546.565 876892.591 0, 1014266.85 876891.743 0, 1013987.135 876890.912 0, 1013707.42 876890.097 0, 1013426.354 876889.294 0, 1013410.596 882466.871 0,
+ 1013394.838 888044.616 0, 1013675.245 888045.417 0, 1013954.303 888046.23 0, 1014233.361 888047.06 0, 1014512.419 888047.906 0, 1014791.477 888048.768 0, 1015070.535 888049.647 0, 1015349.593 888050.542 0, 1015628.651 888051.454 0, 1015907.709 888052.382 0,
+ 1016186.767 888053.326 0, 1016465.825 888054.287 0, 1016744.883 888055.264 0, 1017023.94 888056.258 0, 1017302.998 888057.268 0, 1017582.056 888058.295 0, 1017861.113 888059.338 0, 1018140.171 888060.398 0, 1018419.228 888061.474 0, 1018698.285 888062.566 0,
+ 1018977.343 888063.675 0, 1019256.4 888064.8 0, 1019535.457 888065.941 0, 1019814.514 888067.099 0, 1020092.224 888068.268 0, 1020372.628 888069.465 0, 1020651.685 888070.672 0, 1020930.741 888071.896 0, 1021209.798 888073.136 0, 1021488.855 888074.393 0,
+ 1021767.911 888075.666 0, 1022046.968 888076.955 0, 1022326.024 888078.261 0, 1022605.081 888079.583 0, 1022884.137 888080.922 0, 1023163.193 888082.277 0, 1023442.249 888083.649 0, 1023721.305 888085.036 0, 1024000.361 888086.441 0, 1024279.417 888087.862 0,
+ 1024558.473 888089.299 0, 1024837.528 888090.753 0, 1025116.584 888092.223 0, 1025395.639 888093.709 0, 1025674.695 888095.212 0, 1025953.75 888096.732 0, 1026232.805 888098.267 0, 1026511.86 888099.82 0, 1026789.57 888101.381 0, 1026821.086 882523.702 0,
+ 1026852.601 876946.192 0))
+
+POLYGON ((1040184.087 888195.987 0, 1039906.381 888193.642 0, 1039627.332 888191.301 0, 1039348.282 888188.977 0, 1039069.232 888186.669 0, 1038790.182 888184.378 0, 1038511.132 888182.103 0, 1038232.081 888179.844 0, 1037953.031 888177.602 0, 1037673.98 888175.377 0,
+ 1037394.93 888173.167 0, 1037115.879 888170.975 0, 1036836.828 888168.798 0, 1036557.777 888166.638 0, 1036278.725 888164.495 0, 1035999.674 888162.368 0, 1035720.623 888160.257 0, 1035441.571 888158.163 0, 1035162.519 888156.085 0, 1034883.468 888154.024 0,
+ 1034604.416 888151.979 0, 1034325.363 888149.95 0, 1034046.311 888147.938 0, 1033767.259 888145.942 0, 1033486.862 888143.954 0, 1033209.154 888142 0, 1032930.101 888140.054 0, 1032651.048 888138.124 0, 1032371.996 888136.21 0, 1032092.943 888134.313 0,
+ 1031813.889 888132.433 0, 1031534.836 888130.568 0, 1031255.783 888128.72 0, 1030976.729 888126.889 0, 1030697.676 888125.074 0, 1030418.622 888123.275 0, 1030139.568 888121.493 0, 1029860.515 888119.727 0, 1029581.461 888117.978 0, 1029302.407 888116.245 0,
+ 1029023.352 888114.529 0, 1028744.298 888112.829 0, 1028465.244 888111.145 0, 1028186.189 888109.478 0, 1027907.135 888107.827 0, 1027628.08 888106.193 0, 1027349.025 888104.575 0, 1027069.97 888102.973 0, 1026789.57 888101.381 0, 1026758.052 893679.225 0,
+ 1026726.534 899257.231 0, 1027006.275 899258.82 0, 1027284.674 899260.418 0, 1027563.072 899262.032 0, 1027841.47 899263.662 0, 1028119.868 899265.309 0, 1028398.266 899266.972 0, 1028676.663 899268.652 0, 1028955.061 899270.348 0, 1029233.459 899272.061 0,
+ 1029511.856 899273.789 0, 1029790.253 899275.535 0, 1030068.651 899277.296 0, 1030347.048 899279.074 0, 1030625.445 899280.869 0, 1030903.842 899282.679 0, 1031182.239 899284.506 0, 1031460.635 899286.35 0, 1031739.032 899288.21 0, 1032017.428 899290.086 0,
+ 1032295.825 899291.979 0, 1032574.221 899293.888 0, 1032852.617 899295.813 0, 1033131.013 899297.755 0, 1033408.068 899299.704 0, 1033687.805 899301.688 0, 1033966.201 899303.679 0, 1034244.597 899305.686 0, 1034522.992 899307.71 0, 1034801.387 899309.75 0,
+ 1035079.783 899311.807 0, 1035358.178 899313.88 0, 1035636.573 899315.969 0, 1035914.968 899318.075 0, 1036193.362 899320.197 0, 1036471.757 899322.335 0, 1036750.151 899324.49 0, 1037028.546 899326.661 0, 1037306.94 899328.849 0, 1037585.334 899331.053 0,
+ 1037863.728 899333.273 0, 1038142.122 899335.51 0, 1038420.516 899337.763 0, 1038698.909 899340.033 0, 1038977.303 899342.319 0, 1039255.696 899344.621 0, 1039534.089 899346.94 0, 1039812.482 899349.275 0, 1040089.535 899351.615 0, 1040136.812 893773.72 0,
+ 1040184.087 888195.987 0))
+
+POLYGON ((1053452.215 899483.751 0, 1053175.168 899480.629 0, 1052896.783 899477.507 0, 1052618.397 899474.402 0, 1052340.012 899471.313 0, 1052061.626 899468.241 0, 1051783.24 899465.184 0, 1051504.854 899462.145 0, 1051226.467 899459.122 0, 1050948.081 899456.115 0,
+ 1050669.694 899453.124 0, 1050391.307 899450.15 0, 1050112.92 899447.192 0, 1049834.532 899444.251 0, 1049556.145 899441.326 0, 1049277.757 899438.417 0, 1048999.37 899435.525 0, 1048720.982 899432.649 0, 1048442.593 899429.79 0, 1048164.205 899426.947 0,
+ 1047885.817 899424.12 0, 1047607.428 899421.31 0, 1047329.039 899418.516 0, 1047050.65 899415.739 0, 1046770.922 899412.964 0, 1046493.872 899410.233 0, 1046215.482 899407.504 0, 1045937.093 899404.792 0, 1045658.703 899402.097 0, 1045380.313 899399.418 0,
+ 1045101.923 899396.755 0, 1044823.533 899394.108 0, 1044545.142 899391.478 0, 1044266.752 899388.865 0, 1043988.361 899386.267 0, 1043709.97 899383.687 0, 1043431.579 899381.122 0, 1043153.188 899378.574 0, 1042874.796 899376.042 0, 1042596.405 899373.527 0,
+ 1042318.013 899371.028 0, 1042039.622 899368.545 0, 1041761.23 899366.079 0, 1041482.838 899363.629 0, 1041204.445 899361.196 0, 1040926.053 899358.779 0, 1040647.661 899356.378 0, 1040369.268 899353.994 0, 1040089.535 899351.615 0, 1040042.256 904929.667 0,
+ 1039994.977 910507.874 0, 1040274.05 910510.247 0, 1040551.786 910512.626 0, 1040829.522 910515.021 0, 1041107.258 910517.432 0, 1041384.994 910519.86 0, 1041662.729 910522.304 0, 1041940.464 910524.764 0, 1042218.199 910527.241 0, 1042495.934 910529.734 0,
+ 1042773.669 910532.244 0, 1043051.404 910534.769 0, 1043329.138 910537.311 0, 1043606.873 910539.87 0, 1043884.607 910542.445 0, 1044162.341 910545.036 0, 1044440.075 910547.643 0, 1044717.809 910550.267 0, 1044995.542 910552.907 0, 1045273.276 910555.564 0,
+ 1045551.009 910558.237 0, 1045828.742 910560.926 0, 1046106.475 910563.631 0, 1046384.208 910566.353 0, 1046660.605 910569.078 0, 1046939.673 910571.846 0, 1047217.406 910574.617 0, 1047495.138 910577.404 0, 1047772.87 910580.208 0, 1048050.602 910583.028 0,
+ 1048328.334 910585.864 0, 1048606.065 910588.717 0, 1048883.796 910591.586 0, 1049161.528 910594.471 0, 1049439.259 910597.373 0, 1049716.989 910600.291 0, 1049994.72 910603.226 0, 1050272.451 910606.176 0, 1050550.181 910609.144 0, 1050827.911 910612.127 0,
+ 1051105.641 910615.127 0, 1051383.371 910618.143 0, 1051661.101 910621.175 0, 1051938.83 910624.224 0, 1052216.559 910627.289 0, 1052494.288 910630.371 0, 1052772.017 910633.469 0, 1053049.746 910636.583 0, 1053326.139 910639.699 0, 1053389.178 905061.648 0,
+ 1053452.215 899483.751 0))
+
+POLYGON ((1066656.876 910809.186 0, 1066380.49 910805.289 0, 1066102.772 910801.391 0, 1065825.053 910797.508 0, 1065547.333 910793.642 0, 1065269.614 910789.792 0, 1064991.894 910785.959 0, 1064714.174 910782.142 0, 1064436.454 910778.341 0, 1064158.734 910774.556 0,
+ 1063881.013 910770.788 0, 1063603.292 910767.037 0, 1063325.571 910763.301 0, 1063047.85 910759.582 0, 1062770.128 910755.879 0, 1062492.407 910752.193 0, 1062214.685 910748.523 0, 1061936.963 910744.869 0, 1061659.24 910741.232 0, 1061381.518 910737.611 0,
+ 1061103.795 910734.007 0, 1060826.072 910730.418 0, 1060548.349 910726.846 0, 1060270.625 910723.291 0, 1059991.567 910719.735 0, 1059715.178 910716.229 0, 1059437.454 910712.722 0, 1059159.729 910709.232 0, 1058882.005 910705.758 0, 1058604.28 910702.3 0,
+ 1058326.556 910698.859 0, 1058048.83 910695.435 0, 1057771.105 910692.026 0, 1057493.38 910688.634 0, 1057215.654 910685.258 0, 1056937.928 910681.899 0, 1056660.202 910678.556 0, 1056382.476 910675.229 0, 1056104.749 910671.919 0, 1055827.023 910668.624 0,
+ 1055549.296 910665.347 0, 1055271.569 910662.085 0, 1054993.842 910658.84 0, 1054716.114 910655.612 0, 1054438.387 910652.399 0, 1054160.659 910649.204 0, 1053882.931 910646.024 0, 1053605.203 910642.861 0, 1053326.139 910639.699 0, 1053263.099 916217.899 0,
+ 1053200.057 921796.246 0, 1053478.46 921799.4 0, 1053755.532 921802.556 0, 1054032.603 921805.728 0, 1054309.674 921808.917 0, 1054586.745 921812.121 0, 1054863.816 921815.342 0, 1055140.887 921818.58 0, 1055417.957 921821.833 0, 1055695.027 921825.103 0,
+ 1055972.097 921828.39 0, 1056249.167 921831.692 0, 1056526.237 921835.011 0, 1056803.306 921838.346 0, 1057080.375 921841.698 0, 1057357.444 921845.066 0, 1057634.513 921848.45 0, 1057911.582 921851.85 0, 1058188.65 921855.267 0, 1058465.718 921858.7 0,
+ 1058742.786 921862.149 0, 1059019.854 921865.615 0, 1059296.922 921869.097 0, 1059573.989 921872.595 0, 1059849.725 921876.093 0, 1060128.123 921879.64 0, 1060405.19 921883.188 0, 1060682.257 921886.751 0, 1060959.323 921890.331 0, 1061236.389 921893.927 0,
+ 1061513.455 921897.539 0, 1061790.521 921901.168 0, 1062067.586 921904.813 0, 1062344.652 921908.474 0, 1062621.717 921912.152 0, 1062898.782 921915.846 0, 1063175.846 921919.556 0, 1063452.911 921923.283 0, 1063729.975 921927.026 0, 1064007.039 921930.785 0,
+ 1064284.103 921934.56 0, 1064561.166 921938.352 0, 1064838.229 921942.16 0, 1065115.292 921945.985 0, 1065392.355 921949.825 0, 1065669.418 921953.682 0, 1065946.48 921957.556 0, 1066223.543 921961.445 0, 1066499.275 921965.332 0, 1066578.076 916387.186 0,
+ 1066656.876 910809.186 0))
+
+POLYGON ((1079797.962 922171.991 0, 1079522.24 922167.325 0, 1079245.19 922162.652 0, 1078968.139 922157.996 0, 1078691.089 922153.357 0, 1078414.038 922148.733 0, 1078136.987 922144.126 0, 1077859.935 922139.535 0, 1077582.883 922134.961 0, 1077305.831 922130.402 0,
+ 1077028.779 922125.86 0, 1076751.727 922121.335 0, 1076474.674 922116.826 0, 1076197.621 922112.333 0, 1075920.567 922107.856 0, 1075643.514 922103.396 0, 1075366.46 922098.951 0, 1075089.406 922094.524 0, 1074812.352 922090.112 0, 1074535.297 922085.717 0,
+ 1074258.242 922081.338 0, 1073981.187 922076.976 0, 1073704.132 922072.629 0, 1073427.076 922068.3 0, 1073148.691 922063.965 0, 1072872.964 922059.689 0, 1072595.907 922055.408 0, 1072318.851 922051.143 0, 1072041.794 922046.895 0, 1071764.737 922042.662 0,
+ 1071487.679 922038.447 0, 1071210.622 922034.247 0, 1070933.564 922030.064 0, 1070656.506 922025.897 0, 1070379.447 922021.747 0, 1070102.389 922017.612 0, 1069825.33 922013.494 0, 1069548.271 922009.393 0, 1069271.211 922005.307 0, 1068994.152 922001.238 0,
+ 1068717.092 921997.186 0, 1068440.032 921993.149 0, 1068162.971 921989.129 0, 1067885.911 921985.126 0, 1067608.85 921981.138 0, 1067331.789 921977.167 0, 1067054.728 921973.212 0, 1066777.666 921969.273 0, 1066499.275 921965.332 0, 1066420.471 927543.621 0,
+ 1066341.665 933122.048 0, 1066619.397 933125.979 0, 1066895.802 933129.909 0, 1067172.206 933133.854 0, 1067448.611 933137.816 0, 1067725.015 933141.794 0, 1068001.419 933145.788 0, 1068277.822 933149.799 0, 1068554.226 933153.826 0, 1068830.629 933157.869 0,
+ 1069107.032 933161.928 0, 1069383.435 933166.004 0, 1069659.837 933170.096 0, 1069936.239 933174.204 0, 1070212.641 933178.328 0, 1070489.043 933182.469 0, 1070765.445 933186.626 0, 1071041.846 933190.799 0, 1071318.247 933194.989 0, 1071594.648 933199.194 0,
+ 1071871.048 933203.417 0, 1072147.448 933207.655 0, 1072423.848 933211.909 0, 1072700.248 933216.18 0, 1072975.322 933220.447 0, 1073253.047 933224.771 0, 1073529.446 933229.09 0, 1073805.845 933233.426 0, 1074082.243 933237.779 0, 1074358.641 933242.147 0,
+ 1074635.039 933246.532 0, 1074911.437 933250.933 0, 1075187.835 933255.35 0, 1075464.232 933259.784 0, 1075740.629 933264.233 0, 1076017.025 933268.7 0, 1076293.422 933273.182 0, 1076569.818 933277.68 0, 1076846.214 933282.195 0, 1077122.609 933286.727 0,
+ 1077399.005 933291.274 0, 1077675.4 933295.838 0, 1077951.795 933300.418 0, 1078228.189 933305.014 0, 1078504.584 933309.626 0, 1078780.978 933314.255 0, 1079057.371 933318.9 0, 1079333.765 933323.561 0, 1079608.833 933328.216 0, 1079703.399 927750.035 0,
+ 1079797.962 922171.991 0))
+
+POLYGON ((1092875.366 933571.867 0, 1092600.309 933566.434 0, 1092323.93 933560.992 0, 1092047.551 933555.566 0, 1091771.171 933550.157 0, 1091494.791 933544.763 0, 1091218.41 933539.386 0, 1090942.03 933534.025 0, 1090665.649 933528.681 0, 1090389.267 933523.353 0,
+ 1090112.885 933518.041 0, 1089836.503 933512.745 0, 1089560.121 933507.465 0, 1089283.738 933502.202 0, 1089007.355 933496.955 0, 1088730.972 933491.725 0, 1088454.589 933486.51 0, 1088178.205 933481.312 0, 1087901.821 933476.13 0, 1087625.436 933470.965 0,
+ 1087349.051 933465.815 0, 1087072.666 933460.682 0, 1086796.281 933455.566 0, 1086519.895 933450.465 0, 1086242.186 933445.356 0, 1085967.123 933440.313 0, 1085690.736 933435.261 0, 1085414.349 933430.226 0, 1085137.962 933425.206 0, 1084861.575 933420.203 0,
+ 1084585.187 933415.217 0, 1084308.799 933410.246 0, 1084032.411 933405.292 0, 1083756.022 933400.354 0, 1083479.633 933395.433 0, 1083203.244 933390.528 0, 1082926.854 933385.639 0, 1082650.464 933380.766 0, 1082374.074 933375.909 0, 1082097.684 933371.069 0,
+ 1081821.293 933366.245 0, 1081544.902 933361.437 0, 1081268.511 933356.646 0, 1080992.12 933351.871 0, 1080715.728 933347.112 0, 1080439.336 933342.369 0, 1080162.943 933337.643 0, 1079886.551 933332.933 0, 1079608.833 933328.216 0, 1079514.266 938906.533 0,
+ 1079419.696 944484.979 0, 1079696.753 944489.684 0, 1079972.489 944494.383 0, 1080248.225 944499.098 0, 1080523.96 944503.83 0, 1080799.695 944508.577 0, 1081075.43 944513.341 0, 1081351.165 944518.121 0, 1081626.899 944522.918 0, 1081902.633 944527.73 0,
+ 1082178.367 944532.559 0, 1082454.1 944537.404 0, 1082729.833 944542.265 0, 1083005.566 944547.142 0, 1083281.299 944552.036 0, 1083557.031 944556.946 0, 1083832.763 944561.872 0, 1084108.495 944566.814 0, 1084384.226 944571.773 0, 1084659.957 944576.748 0,
+ 1084935.688 944581.739 0, 1085211.419 944586.746 0, 1085487.149 944591.77 0, 1085762.879 944596.809 0, 1086037.288 944601.841 0, 1086314.338 944606.937 0, 1086590.067 944612.026 0, 1086865.796 944617.13 0, 1087141.524 944622.251 0, 1087417.252 944627.388 0,
+ 1087692.98 944632.542 0, 1087968.708 944637.711 0, 1088244.435 944642.897 0, 1088520.162 944648.099 0, 1088795.888 944653.317 0, 1089071.615 944658.552 0, 1089347.341 944663.802 0, 1089623.067 944669.069 0, 1089898.792 944674.352 0, 1090174.517 944679.652 0,
+ 1090450.242 944684.967 0, 1090725.966 944690.299 0, 1091001.69 944695.647 0, 1091277.414 944701.012 0, 1091553.138 944706.392 0, 1091828.861 944711.789 0, 1092104.584 944717.202 0, 1092380.306 944722.631 0, 1092654.709 944728.05 0, 1092765.039 939149.893 0,
+ 1092875.366 933571.867 0))
+
+POLYGON ((1105888.983 945008.512 0, 1105614.595 945002.317 0, 1105338.888 944996.109 0, 1105063.182 944989.917 0, 1104787.475 944983.742 0, 1104511.768 944977.582 0, 1104236.06 944971.439 0, 1103960.352 944965.312 0, 1103684.644 944959.201 0, 1103408.935 944953.107 0,
+ 1103133.226 944947.028 0, 1102857.517 944940.966 0, 1102581.807 944934.92 0, 1102306.097 944928.891 0, 1102030.387 944922.877 0, 1101754.676 944916.88 0, 1101478.965 944910.899 0, 1101203.254 944904.934 0, 1100927.542 944898.986 0, 1100651.83 944893.053 0,
+ 1100376.117 944887.137 0, 1100100.404 944881.238 0, 1099824.691 944875.354 0, 1099548.977 944869.487 0, 1099271.945 944863.608 0, 1098997.549 944857.801 0, 1098721.835 944851.982 0, 1098446.12 944846.179 0, 1098170.404 944840.393 0, 1097894.689 944834.623 0,
+ 1097618.973 944828.869 0, 1097343.256 944823.132 0, 1097067.54 944817.411 0, 1096791.823 944811.705 0, 1096516.105 944806.017 0, 1096240.388 944800.344 0, 1095964.67 944794.688 0, 1095688.952 944789.047 0, 1095413.233 944783.423 0, 1095137.514 944777.816 0,
+ 1094861.795 944772.224 0, 1094586.075 944766.649 0, 1094310.355 944761.09 0, 1094034.635 944755.547 0, 1093758.914 944750.021 0, 1093483.193 944744.51 0, 1093207.472 944739.016 0, 1092931.75 944733.538 0, 1092654.709 944728.05 0, 1092544.377 950306.334 0,
+ 1092434.042 955884.74 0, 1092710.424 955890.215 0, 1092985.489 955895.68 0, 1093260.553 955901.161 0, 1093535.618 955906.658 0, 1093810.682 955912.171 0, 1094085.745 955917.701 0, 1094360.808 955923.247 0, 1094635.871 955928.809 0, 1094910.934 955934.387 0,
+ 1095185.996 955939.981 0, 1095461.058 955945.592 0, 1095736.12 955951.218 0, 1096011.181 955956.861 0, 1096286.242 955962.52 0, 1096561.303 955968.196 0, 1096836.363 955973.887 0, 1097111.423 955979.595 0, 1097386.483 955985.319 0, 1097661.542 955991.059 0,
+ 1097936.601 955996.815 0, 1098211.66 956002.588 0, 1098486.718 956008.376 0, 1098761.776 956014.181 0, 1099035.519 956019.974 0, 1099311.891 956025.839 0, 1099586.948 956031.693 0, 1099862.005 956037.562 0, 1100137.061 956043.448 0, 1100412.117 956049.35 0,
+ 1100687.172 956055.268 0, 1100962.228 956061.203 0, 1101237.282 956067.153 0, 1101512.337 956073.12 0, 1101787.391 956079.103 0, 1102062.445 956085.102 0, 1102337.498 956091.117 0, 1102612.551 956097.149 0, 1102887.604 956103.196 0, 1103162.656 956109.26 0,
+ 1103437.708 956115.34 0, 1103712.76 956121.436 0, 1103987.811 956127.549 0, 1104262.862 956133.677 0, 1104537.913 956139.822 0, 1104812.963 956145.983 0, 1105088.013 956152.16 0, 1105363.062 956158.354 0, 1105636.798 956164.534 0, 1105762.892 950586.462 0,
+ 1105888.983 945008.512 0))
+
+POLYGON ((1118838.71 956481.626 0, 1118564.991 956474.673 0, 1118289.96 956467.703 0, 1118014.929 956460.748 0, 1117739.897 956453.81 0, 1117464.865 956446.888 0, 1117189.832 956439.983 0, 1116914.8 956433.093 0, 1116639.766 956426.22 0, 1116364.732 956419.363 0,
+ 1116089.698 956412.522 0, 1115814.664 956405.697 0, 1115539.629 956398.889 0, 1115264.593 956392.096 0, 1114989.558 956385.32 0, 1114714.522 956378.56 0, 1114439.485 956371.817 0, 1114164.448 956365.089 0, 1113889.411 956358.378 0, 1113614.373 956351.682 0,
+ 1113339.335 956345.003 0, 1113064.296 956338.341 0, 1112789.257 956331.694 0, 1112514.218 956325.063 0, 1112237.866 956318.418 0, 1111964.138 956311.851 0, 1111689.098 956305.269 0, 1111414.057 956298.703 0, 1111139.016 956292.154 0, 1110863.974 956285.621 0,
+ 1110588.932 956279.104 0, 1110313.89 956272.603 0, 1110038.847 956266.118 0, 1109763.804 956259.649 0, 1109488.76 956253.197 0, 1109213.717 956246.761 0, 1108938.672 956240.341 0, 1108663.628 956233.937 0, 1108388.583 956227.549 0, 1108113.537 956221.178 0,
+ 1107838.491 956214.822 0, 1107563.445 956208.483 0, 1107288.399 956202.161 0, 1107013.352 956195.854 0, 1106738.304 956189.563 0, 1106463.257 956183.289 0, 1106188.209 956177.031 0, 1105913.16 956170.789 0, 1105636.798 956164.534 0, 1105510.701 961742.724 0,
+ 1105384.601 967321.029 0, 1105660.304 967327.269 0, 1105934.696 967333.496 0, 1106209.087 967339.739 0, 1106483.478 967345.999 0, 1106757.869 967352.274 0, 1107032.259 967358.566 0, 1107306.649 967364.874 0, 1107581.039 967371.198 0, 1107855.428 967377.538 0,
+ 1108129.817 967383.894 0, 1108404.205 967390.266 0, 1108678.593 967396.655 0, 1108952.981 967403.06 0, 1109227.368 967409.48 0, 1109501.755 967415.917 0, 1109776.141 967422.37 0, 1110050.528 967428.84 0, 1110324.913 967435.325 0, 1110599.299 967441.827 0,
+ 1110873.684 967448.344 0, 1111148.068 967454.878 0, 1111422.453 967461.428 0, 1111696.836 967467.995 0, 1111969.91 967474.545 0, 1112245.603 967481.175 0, 1112519.986 967487.79 0, 1112794.368 967494.421 0, 1113068.75 967501.068 0, 1113343.131 967507.731 0,
+ 1113617.512 967514.41 0, 1113891.893 967521.105 0, 1114166.273 967527.817 0, 1114440.653 967534.545 0, 1114715.033 967541.288 0, 1114989.412 967548.048 0, 1115263.791 967554.824 0, 1115538.169 967561.617 0, 1115812.547 967568.425 0, 1116086.924 967575.25 0,
+ 1116361.302 967582.09 0, 1116635.678 967588.947 0, 1116910.055 967595.82 0, 1117184.43 967602.71 0, 1117458.806 967609.615 0, 1117733.181 967616.536 0, 1118007.556 967623.474 0, 1118281.93 967630.428 0, 1118554.995 967637.364 0, 1118696.854 962059.438 0,
+ 1118838.71 956481.626 0))
+
+POLYGON ((1131724.443 967990.907 0, 1131451.396 967983.199 0, 1131177.043 967975.47 0, 1130902.689 967967.758 0, 1130628.334 967960.061 0, 1130353.979 967952.381 0, 1130079.624 967944.716 0, 1129805.268 967937.068 0, 1129530.912 967929.436 0, 1129256.555 967921.82 0,
+ 1128982.198 967914.221 0, 1128707.841 967906.637 0, 1128433.483 967899.07 0, 1128159.124 967891.518 0, 1127884.765 967883.983 0, 1127610.406 967876.464 0, 1127336.046 967868.961 0, 1127061.686 967861.475 0, 1126787.325 967854.004 0, 1126512.964 967846.55 0,
+ 1126238.602 967839.112 0, 1125964.24 967831.69 0, 1125689.878 967824.284 0, 1125415.515 967816.894 0, 1125139.844 967809.485 0, 1124866.788 967802.163 0, 1124592.424 967794.821 0, 1124318.059 967787.496 0, 1124043.694 967780.187 0, 1123769.328 967772.894 0,
+ 1123494.963 967765.618 0, 1123220.596 967758.357 0, 1122946.229 967751.112 0, 1122671.862 967743.884 0, 1122397.495 967736.672 0, 1122123.127 967729.476 0, 1121848.758 967722.296 0, 1121574.389 967715.133 0, 1121300.02 967707.985 0, 1121025.65 967700.854 0,
+ 1120751.28 967693.738 0, 1120476.91 967686.639 0, 1120202.539 967679.556 0, 1119928.167 967672.489 0, 1119653.795 967665.439 0, 1119379.423 967658.404 0, 1119105.05 967651.386 0, 1118830.677 967644.384 0, 1118554.995 967637.364 0, 1118413.134 973215.401 0,
+ 1118271.27 978793.544 0, 1118546.292 978800.546 0, 1118820.008 978807.532 0, 1119093.724 978814.533 0, 1119367.44 978821.551 0, 1119641.155 978828.585 0, 1119914.87 978835.635 0, 1120188.584 978842.701 0, 1120462.298 978849.783 0, 1120736.012 978856.881 0,
+ 1121009.725 978863.996 0, 1121283.438 978871.126 0, 1121557.15 978878.273 0, 1121830.862 978885.435 0, 1122104.573 978892.614 0, 1122378.284 978899.809 0, 1122651.995 978907.02 0, 1122925.705 978914.247 0, 1123199.415 978921.49 0, 1123473.124 978928.749 0,
+ 1123746.833 978936.025 0, 1124020.541 978943.316 0, 1124294.249 978950.624 0, 1124567.957 978957.948 0, 1124840.36 978965.253 0, 1125115.371 978972.644 0, 1125389.077 978980.016 0, 1125662.783 978987.404 0, 1125936.488 978994.808 0, 1126210.193 979002.229 0,
+ 1126483.898 979009.665 0, 1126757.602 979017.118 0, 1127031.306 979024.587 0, 1127305.009 979032.072 0, 1127578.712 979039.573 0, 1127852.414 979047.09 0, 1128126.116 979054.623 0, 1128399.817 979062.172 0, 1128673.518 979069.738 0, 1128947.219 979077.319 0,
+ 1129220.919 979084.917 0, 1129494.619 979092.53 0, 1129768.318 979100.16 0, 1130042.017 979107.806 0, 1130315.715 979115.468 0, 1130589.413 979123.147 0, 1130863.11 979130.841 0, 1131136.807 979138.551 0, 1131409.2 979146.241 0, 1131566.823 973568.521 0,
+ 1131724.443 967990.907 0))
+
+POLYGON ((1144546.082 979536.054 0, 1144273.71 979527.594 0, 1144000.035 979519.111 0, 1143726.361 979510.643 0, 1143452.686 979502.192 0, 1143179.01 979493.756 0, 1142905.334 979485.337 0, 1142631.658 979476.934 0, 1142357.981 979468.547 0, 1142084.303 979460.176 0,
+ 1141810.625 979451.822 0, 1141536.946 979443.483 0, 1141263.267 979435.16 0, 1140989.588 979426.854 0, 1140715.908 979418.564 0, 1140442.227 979410.29 0, 1140168.546 979402.031 0, 1139894.865 979393.789 0, 1139621.183 979385.564 0, 1139347.5 979377.354 0,
+ 1139073.818 979369.16 0, 1138800.134 979360.983 0, 1138526.45 979352.821 0, 1138252.766 979344.676 0, 1137977.779 979336.508 0, 1137705.396 979328.433 0, 1137431.71 979320.336 0, 1137158.024 979312.256 0, 1136884.337 979304.191 0, 1136610.65 979296.142 0,
+ 1136336.962 979288.11 0, 1136063.274 979280.093 0, 1135789.585 979272.093 0, 1135515.896 979264.108 0, 1135242.206 979256.14 0, 1134968.516 979248.188 0, 1134694.826 979240.252 0, 1134421.135 979232.333 0, 1134147.443 979224.429 0, 1133873.752 979216.541 0,
+ 1133600.059 979208.67 0, 1133326.366 979200.814 0, 1133052.673 979192.975 0, 1132778.979 979185.152 0, 1132505.285 979177.345 0, 1132231.59 979169.554 0, 1131957.895 979161.779 0, 1131684.2 979154.02 0, 1131409.2 979146.241 0, 1131251.575 984724.063 0,
+ 1131093.946 990301.983 0, 1131368.286 990309.744 0, 1131641.325 990317.484 0, 1131914.363 990325.24 0, 1132187.401 990333.013 0, 1132460.439 990340.801 0, 1132733.476 990348.605 0, 1133006.513 990356.426 0, 1133279.549 990364.262 0, 1133552.585 990372.115 0,
+ 1133825.62 990379.984 0, 1134098.655 990387.868 0, 1134371.689 990395.769 0, 1134644.723 990403.686 0, 1134917.757 990411.619 0, 1135190.79 990419.568 0, 1135463.822 990427.533 0, 1135736.854 990435.514 0, 1136009.886 990443.512 0, 1136282.917 990451.525 0,
+ 1136555.948 990459.554 0, 1136828.978 990467.6 0, 1137102.008 990475.661 0, 1137375.037 990483.739 0, 1137646.766 990491.794 0, 1137921.094 990499.942 0, 1138194.122 990508.068 0, 1138467.149 990516.21 0, 1138740.176 990524.368 0, 1139013.202 990532.542 0,
+ 1139286.228 990540.732 0, 1139559.253 990548.938 0, 1139832.278 990557.16 0, 1140105.303 990565.399 0, 1140378.326 990573.653 0, 1140651.35 990581.923 0, 1140924.373 990590.21 0, 1141197.395 990598.512 0, 1141470.417 990606.831 0, 1141743.439 990615.166 0,
+ 1142016.46 990623.517 0, 1142289.48 990631.883 0, 1142562.5 990640.266 0, 1142835.52 990648.665 0, 1143108.539 990657.08 0, 1143381.557 990665.511 0, 1143654.575 990673.959 0, 1143927.593 990682.422 0, 1144199.312 990690.861 0, 1144372.699 985113.408 0,
+ 1144546.082 979536.054 0))
+
+POLYGON ((1157303.527 991116.762 0, 1157031.831 991107.555 0, 1156758.838 991098.321 0, 1156485.845 991089.102 0, 1156212.852 991079.9 0, 1155939.857 991070.713 0, 1155666.863 991061.543 0, 1155393.868 991052.389 0, 1155120.872 991043.251 0, 1154847.875 991034.129 0,
+ 1154574.879 991025.023 0, 1154301.881 991015.933 0, 1154028.883 991006.859 0, 1153755.885 990997.801 0, 1153482.886 990988.759 0, 1153209.886 990979.734 0, 1152936.886 990970.724 0, 1152663.886 990961.731 0, 1152390.885 990952.753 0, 1152117.883 990943.792 0,
+ 1151844.881 990934.846 0, 1151571.878 990925.917 0, 1151298.875 990917.004 0, 1151025.871 990908.107 0, 1150751.57 990899.184 0, 1150479.862 990890.361 0, 1150206.857 990881.512 0, 1149933.851 990872.679 0, 1149660.845 990863.862 0, 1149387.838 990855.062 0,
+ 1149114.83 990846.277 0, 1148841.822 990837.508 0, 1148568.814 990828.756 0, 1148295.805 990820.019 0, 1148022.796 990811.299 0, 1147749.786 990802.595 0, 1147476.775 990793.906 0, 1147203.764 990785.234 0, 1146930.753 990776.578 0, 1146657.741 990767.938 0,
+ 1146384.728 990759.314 0, 1146111.715 990750.706 0, 1145838.702 990742.115 0, 1145565.688 990733.539 0, 1145292.673 990724.979 0, 1145019.658 990716.436 0, 1144746.643 990707.908 0, 1144473.627 990699.397 0, 1144199.312 990690.861 0, 1144025.923 996268.408 0,
+ 1143852.53 1001846.045 0, 1144126.185 1001854.56 0, 1144398.545 1001863.051 0, 1144670.904 1001871.558 0, 1144943.262 1001880.081 0, 1145215.62 1001888.62 0, 1145487.977 1001897.175 0, 1145760.334 1001905.746 0, 1146032.691 1001914.333 0, 1146305.047 1001922.937 0,
+ 1146577.402 1001931.556 0, 1146849.757 1001940.191 0, 1147122.112 1001948.842 0, 1147394.466 1001957.51 0, 1147666.819 1001966.193 0, 1147939.172 1001974.892 0, 1148211.524 1001983.608 0, 1148483.876 1001992.339 0, 1148756.227 1002001.087 0, 1149028.578 1002009.85 0,
+ 1149300.929 1002018.63 0, 1149573.278 1002027.425 0, 1149845.628 1002036.237 0, 1150117.976 1002045.065 0, 1150389.031 1002053.866 0, 1150662.672 1002062.768 0, 1150935.02 1002071.644 0, 1151207.366 1002080.535 0, 1151479.712 1002089.443 0, 1151752.058 1002098.367 0,
+ 1152024.403 1002107.307 0, 1152296.748 1002116.263 0, 1152569.092 1002125.235 0, 1152841.435 1002134.223 0, 1153113.778 1002143.227 0, 1153386.121 1002152.247 0, 1153658.463 1002161.283 0, 1153930.804 1002170.335 0, 1154203.145 1002179.403 0, 1154475.485 1002188.487 0,
+ 1154747.825 1002197.587 0, 1155020.164 1002206.703 0, 1155292.503 1002215.835 0, 1155564.841 1002224.983 0, 1155837.179 1002234.148 0, 1156109.516 1002243.328 0, 1156381.853 1002252.524 0, 1156654.189 1002261.737 0, 1156925.231 1002270.921 0, 1157114.381 996693.797 0,
+ 1157303.527 991116.762 0))
+
+POLYGON ((1169996.68 1002732.729 0, 1169725.662 1002722.779 0, 1169453.353 1002712.797 0, 1169181.044 1002702.831 0, 1168908.733 1002692.882 0, 1168636.423 1002682.948 0, 1168364.112 1002673.03 0, 1168091.8 1002663.129 0, 1167819.487 1002653.243 0, 1167547.174 1002643.374 0,
+ 1167274.861 1002633.52 0, 1167002.547 1002623.683 0, 1166730.232 1002613.861 0, 1166457.917 1002604.056 0, 1166185.601 1002594.267 0, 1165913.284 1002584.493 0, 1165640.967 1002574.736 0, 1165368.65 1002564.995 0, 1165096.331 1002555.27 0, 1164824.013 1002545.56 0,
+ 1164551.693 1002535.867 0, 1164279.373 1002526.19 0, 1164007.053 1002516.529 0, 1163734.732 1002506.884 0, 1163461.119 1002497.209 0, 1163190.088 1002487.642 0, 1162917.765 1002478.044 0, 1162645.442 1002468.463 0, 1162373.118 1002458.898 0, 1162100.794 1002449.35 0,
+ 1161828.469 1002439.817 0, 1161556.143 1002430.3 0, 1161283.817 1002420.799 0, 1161011.49 1002411.314 0, 1160739.163 1002401.845 0, 1160466.835 1002392.392 0, 1160194.507 1002382.956 0, 1159922.178 1002373.535 0, 1159649.849 1002364.13 0, 1159377.519 1002354.742 0,
+ 1159105.188 1002345.369 0, 1158832.857 1002336.012 0, 1158560.525 1002326.672 0, 1158288.193 1002317.347 0, 1158015.86 1002308.039 0, 1157743.527 1002298.746 0, 1157471.193 1002289.47 0, 1157198.859 1002280.209 0, 1156925.231 1002270.921 0, 1156736.079 1007848.132 0,
+ 1156546.924 1013425.424 0, 1156819.892 1013434.69 0, 1157091.57 1013443.928 0, 1157363.247 1013453.182 0, 1157634.924 1013462.452 0, 1157906.6 1013471.738 0, 1158178.276 1013481.04 0, 1158449.951 1013490.358 0, 1158721.625 1013499.692 0, 1158993.3 1013509.043 0,
+ 1159264.973 1013518.409 0, 1159536.646 1013527.791 0, 1159808.318 1013537.189 0, 1160079.99 1013546.603 0, 1160351.661 1013556.033 0, 1160623.332 1013565.479 0, 1160895.002 1013574.94 0, 1161166.672 1013584.418 0, 1161438.341 1013593.912 0, 1161710.009 1013603.422 0,
+ 1161981.677 1013612.948 0, 1162253.345 1013622.49 0, 1162525.011 1013632.048 0, 1162796.678 1013641.622 0, 1163067.055 1013651.166 0, 1163340.008 1013660.818 0, 1163611.673 1013670.44 0, 1163883.337 1013680.077 0, 1164155 1013689.731 0, 1164426.663 1013699.401 0,
+ 1164698.325 1013709.087 0, 1164969.987 1013718.789 0, 1165241.648 1013728.507 0, 1165513.309 1013738.24 0, 1165784.969 1013747.99 0, 1166056.628 1013757.756 0, 1166328.287 1013767.538 0, 1166599.945 1013777.335 0, 1166871.603 1013787.149 0, 1167143.26 1013796.979 0,
+ 1167414.917 1013806.825 0, 1167686.573 1013816.686 0, 1167958.228 1013826.564 0, 1168229.883 1013836.458 0, 1168501.537 1013846.367 0, 1168773.19 1013856.293 0, 1169044.844 1013866.235 0, 1169316.496 1013876.192 0, 1169586.861 1013886.119 0, 1169791.772 1008309.383 0,
+ 1169996.68 1002732.729 0))
+
+POLYGON ((1182625.443 1014383.651 0, 1182355.106 1014372.961 0, 1182083.483 1014362.236 0, 1181811.859 1014351.527 0, 1181540.234 1014340.834 0, 1181268.609 1014330.157 0, 1180996.983 1014319.496 0, 1180725.357 1014308.851 0, 1180453.73 1014298.221 0, 1180182.103 1014287.608 0,
+ 1179910.474 1014277.011 0, 1179638.845 1014266.43 0, 1179367.216 1014255.865 0, 1179095.586 1014245.316 0, 1178823.955 1014234.782 0, 1178552.324 1014224.265 0, 1178280.692 1014213.764 0, 1178009.059 1014203.279 0, 1177737.426 1014192.809 0, 1177465.792 1014182.356 0,
+ 1177194.158 1014171.919 0, 1176922.523 1014161.497 0, 1176650.887 1014151.092 0, 1176379.251 1014140.703 0, 1176106.328 1014130.28 0, 1175835.976 1014119.972 0, 1175564.338 1014109.631 0, 1175292.7 1014099.305 0, 1175021.06 1014088.996 0, 1174749.42 1014078.703 0,
+ 1174477.78 1014068.425 0, 1174206.139 1014058.164 0, 1173934.497 1014047.918 0, 1173662.855 1014037.689 0, 1173391.212 1014027.475 0, 1173119.568 1014017.278 0, 1172847.924 1014007.097 0, 1172576.279 1013996.931 0, 1172304.634 1013986.782 0, 1172032.988 1013976.648 0,
+ 1171761.341 1013966.53 0, 1171489.694 1013956.429 0, 1171218.047 1013946.343 0, 1170946.398 1013936.274 0, 1170674.749 1013926.22 0, 1170403.1 1013916.183 0, 1170131.45 1013906.161 0, 1169859.799 1013896.155 0, 1169586.861 1013886.119 0, 1169381.947 1019462.932 0,
+ 1169177.03 1025039.819 0, 1169449.309 1025049.831 0, 1169720.303 1025059.813 0, 1169991.297 1025069.81 0, 1170262.29 1025079.823 0, 1170533.282 1025089.853 0, 1170804.274 1025099.898 0, 1171075.265 1025109.959 0, 1171346.256 1025120.036 0, 1171617.246 1025130.129 0,
+ 1171888.235 1025140.238 0, 1172159.224 1025150.363 0, 1172430.212 1025160.504 0, 1172701.2 1025170.661 0, 1172972.187 1025180.834 0, 1173243.174 1025191.023 0, 1173514.159 1025201.227 0, 1173785.145 1025211.448 0, 1174056.129 1025221.685 0, 1174327.113 1025231.937 0,
+ 1174598.097 1025242.206 0, 1174869.08 1025252.49 0, 1175140.062 1025262.791 0, 1175411.044 1025273.107 0, 1175680.742 1025283.39 0, 1175953.005 1025293.788 0, 1176223.985 1025304.152 0, 1176494.964 1025314.532 0, 1176765.943 1025324.928 0, 1177036.921 1025335.34 0,
+ 1177307.898 1025345.768 0, 1177578.875 1025356.212 0, 1177849.851 1025366.672 0, 1178120.827 1025377.148 0, 1178391.802 1025387.64 0, 1178662.776 1025398.147 0, 1178933.75 1025408.671 0, 1179204.723 1025419.211 0, 1179475.695 1025429.766 0, 1179746.667 1025440.338 0,
+ 1180017.638 1025450.926 0, 1180288.609 1025461.529 0, 1180559.579 1025472.148 0, 1180830.548 1025482.784 0, 1181101.517 1025493.435 0, 1181372.485 1025504.102 0, 1181643.452 1025514.785 0, 1181914.419 1025525.485 0, 1182184.103 1025536.149 0, 1182404.775 1019959.863 0,
+ 1182625.443 1014383.651 0))
+
+POLYGON ((1195189.722 1026069.225 0, 1194920.067 1026057.798 0, 1194649.132 1026046.334 0, 1194378.196 1026034.885 0, 1194107.259 1026023.452 0, 1193836.321 1026012.036 0, 1193565.383 1026000.635 0, 1193294.444 1025989.25 0, 1193023.505 1025977.881 0, 1192752.564 1025966.528 0,
+ 1192481.624 1025955.191 0, 1192210.682 1025943.87 0, 1191939.74 1025932.565 0, 1191668.797 1025921.275 0, 1191397.853 1025910.002 0, 1191126.909 1025898.745 0, 1190855.964 1025887.503 0, 1190585.019 1025876.278 0, 1190314.073 1025865.068 0, 1190043.126 1025853.875 0,
+ 1189772.178 1025842.697 0, 1189501.23 1025831.536 0, 1189230.281 1025820.39 0, 1188959.332 1025809.26 0, 1188687.101 1025798.094 0, 1188417.431 1025787.049 0, 1188146.48 1025775.967 0, 1187875.528 1025764.901 0, 1187604.575 1025753.851 0, 1187333.621 1025742.817 0,
+ 1187062.667 1025731.799 0, 1186791.713 1025720.796 0, 1186520.757 1025709.81 0, 1186249.801 1025698.84 0, 1185978.845 1025687.886 0, 1185707.888 1025676.947 0, 1185436.93 1025666.025 0, 1185165.971 1025655.118 0, 1184895.012 1025644.228 0, 1184624.052 1025633.353 0,
+ 1184353.092 1025622.495 0, 1184082.131 1025611.652 0, 1183811.169 1025600.825 0, 1183540.206 1025590.014 0, 1183269.243 1025579.22 0, 1182998.28 1025568.441 0, 1182727.316 1025557.678 0, 1182456.351 1025546.931 0, 1182184.103 1025536.149 0, 1181963.429 1031112.504 0,
+ 1181742.752 1036688.924 0, 1182014.34 1036699.679 0, 1182284.648 1036710.4 0, 1182554.956 1036721.137 0, 1182825.263 1036731.89 0, 1183095.57 1036742.659 0, 1183365.876 1036753.443 0, 1183636.181 1036764.244 0, 1183906.486 1036775.06 0, 1184176.79 1036785.892 0,
+ 1184447.093 1036796.741 0, 1184717.396 1036807.605 0, 1184987.698 1036818.485 0, 1185258 1036829.381 0, 1185528.301 1036840.293 0, 1185798.601 1036851.22 0, 1186068.9 1036862.164 0, 1186339.199 1036873.124 0, 1186609.497 1036884.099 0, 1186879.795 1036895.091 0,
+ 1187150.092 1036906.098 0, 1187420.388 1036917.121 0, 1187690.684 1036928.16 0, 1187960.979 1036939.215 0, 1188229.996 1036950.234 0, 1188501.567 1036961.373 0, 1188771.86 1036972.476 0, 1189042.153 1036983.595 0, 1189312.444 1036994.729 0, 1189582.736 1037005.88 0,
+ 1189853.026 1037017.046 0, 1190123.316 1037028.229 0, 1190393.605 1037039.427 0, 1190663.893 1037050.641 0, 1190934.181 1037061.871 0, 1191204.468 1037073.117 0, 1191474.755 1037084.379 0, 1191745.041 1037095.657 0, 1192015.326 1037106.95 0, 1192285.61 1037118.26 0,
+ 1192555.894 1037129.585 0, 1192826.177 1037140.927 0, 1193096.46 1037152.284 0, 1193366.742 1037163.657 0, 1193637.023 1037175.047 0, 1193907.303 1037186.452 0, 1194177.583 1037197.873 0, 1194447.862 1037209.309 0, 1194716.864 1037220.708 0, 1194953.295 1031644.934 0,
+ 1195189.722 1026069.225 0))
+
+POLYGON ((1207689.422 1037789.145 0, 1207420.452 1037776.986 0, 1207150.206 1037764.785 0, 1206879.959 1037752.601 0, 1206609.712 1037740.432 0, 1206339.464 1037728.28 0, 1206069.216 1037716.143 0, 1205798.966 1037704.022 0, 1205528.716 1037691.917 0, 1205258.466 1037679.828 0,
+ 1204988.214 1037667.755 0, 1204717.962 1037655.698 0, 1204447.709 1037643.656 0, 1204177.455 1037631.631 0, 1203907.201 1037619.621 0, 1203636.946 1037607.628 0, 1203366.69 1037595.65 0, 1203096.434 1037583.688 0, 1202826.177 1037571.742 0, 1202555.919 1037559.812 0,
+ 1202285.661 1037547.898 0, 1202015.401 1037536 0, 1201745.141 1037524.118 0, 1201474.881 1037512.251 0, 1201203.344 1037500.345 0, 1200934.357 1037488.566 0, 1200664.095 1037476.748 0, 1200393.831 1037464.945 0, 1200123.567 1037453.158 0, 1199853.302 1037441.387 0,
+ 1199583.037 1037429.632 0, 1199312.771 1037417.893 0, 1199042.504 1037406.17 0, 1198772.236 1037394.463 0, 1198501.968 1037382.771 0, 1198231.699 1037371.096 0, 1197961.429 1037359.436 0, 1197691.159 1037347.793 0, 1197420.888 1037336.165 0, 1197150.616 1037324.553 0,
+ 1196880.344 1037312.957 0, 1196610.071 1037301.377 0, 1196339.797 1037289.813 0, 1196069.523 1037278.265 0, 1195799.248 1037266.732 0, 1195528.972 1037255.216 0, 1195258.696 1037243.715 0, 1194988.419 1037232.231 0, 1194716.864 1037220.708 0, 1194480.431 1042796.543 0,
+ 1194243.996 1048372.435 0, 1194514.891 1048383.929 0, 1194784.511 1048395.386 0, 1195054.131 1048406.859 0, 1195323.751 1048418.347 0, 1195593.37 1048429.851 0, 1195862.988 1048441.372 0, 1196132.605 1048452.908 0, 1196402.222 1048464.46 0, 1196671.838 1048476.027 0,
+ 1196941.453 1048487.611 0, 1197211.068 1048499.211 0, 1197480.682 1048510.826 0, 1197750.295 1048522.457 0, 1198019.907 1048534.104 0, 1198289.519 1048545.767 0, 1198559.131 1048557.446 0, 1198828.741 1048569.141 0, 1199098.351 1048580.852 0, 1199367.96 1048592.578 0,
+ 1199637.569 1048604.32 0, 1199907.176 1048616.079 0, 1200176.783 1048627.853 0, 1200446.39 1048639.643 0, 1200714.723 1048651.393 0, 1200985.601 1048663.27 0, 1201255.205 1048675.108 0, 1201524.808 1048686.961 0, 1201794.411 1048698.83 0, 1202064.014 1048710.715 0,
+ 1202333.615 1048722.616 0, 1202603.216 1048734.533 0, 1202872.816 1048746.466 0, 1203142.415 1048758.415 0, 1203412.014 1048770.379 0, 1203681.612 1048782.36 0, 1203951.209 1048794.356 0, 1204220.806 1048806.368 0, 1204490.402 1048818.396 0, 1204759.997 1048830.44 0,
+ 1205029.591 1048842.499 0, 1205299.185 1048854.575 0, 1205568.778 1048866.666 0, 1205838.37 1048878.774 0, 1206107.962 1048890.897 0, 1206377.553 1048903.036 0, 1206647.143 1048915.191 0, 1206916.733 1048927.362 0, 1207185.05 1048939.491 0, 1207437.238 1043364.289 0,
+ 1207689.422 1037789.145 0))
+
+POLYGON ((1220124.451 1049543.105 0, 1219856.167 1049530.218 0, 1219586.613 1049517.286 0, 1219317.058 1049504.369 0, 1219047.502 1049491.469 0, 1218777.946 1049478.584 0, 1218508.389 1049465.715 0, 1218238.831 1049452.862 0, 1217969.273 1049440.025 0, 1217699.713 1049427.203 0,
+ 1217430.153 1049414.398 0, 1217160.592 1049401.608 0, 1216891.031 1049388.835 0, 1216621.469 1049376.077 0, 1216351.906 1049363.335 0, 1216082.342 1049350.609 0, 1215812.777 1049337.899 0, 1215543.212 1049325.204 0, 1215273.646 1049312.526 0, 1215004.079 1049299.863 0,
+ 1214734.511 1049287.216 0, 1214464.943 1049274.585 0, 1214195.374 1049261.97 0, 1213925.804 1049249.371 0, 1213654.964 1049236.729 0, 1213386.663 1049224.22 0, 1213117.091 1049211.669 0, 1212847.518 1049199.133 0, 1212577.944 1049186.613 0, 1212308.37 1049174.109 0,
+ 1212038.795 1049161.621 0, 1211769.219 1049149.149 0, 1211499.643 1049136.692 0, 1211230.066 1049124.252 0, 1210960.488 1049111.827 0, 1210690.909 1049099.418 0, 1210421.33 1049087.026 0, 1210151.75 1049074.649 0, 1209882.169 1049062.287 0, 1209612.588 1049049.942 0,
+ 1209343.005 1049037.613 0, 1209073.422 1049025.299 0, 1208803.839 1049013.001 0, 1208534.254 1049000.719 0, 1208264.669 1048988.453 0, 1207995.083 1048976.203 0, 1207725.497 1048963.969 0, 1207455.909 1048951.751 0, 1207185.05 1048939.491 0, 1206932.86 1054514.745 0,
+ 1206680.668 1060090.047 0, 1206950.868 1060102.277 0, 1207219.799 1060114.465 0, 1207488.73 1060126.67 0, 1207757.659 1060138.89 0, 1208026.588 1060151.126 0, 1208295.516 1060163.378 0, 1208564.444 1060175.646 0, 1208833.37 1060187.93 0, 1209102.296 1060200.229 0,
+ 1209371.221 1060212.544 0, 1209640.146 1060224.875 0, 1209909.07 1060237.222 0, 1210177.993 1060249.585 0, 1210446.915 1060261.964 0, 1210715.837 1060274.358 0, 1210984.758 1060286.768 0, 1211253.678 1060299.194 0, 1211522.597 1060311.636 0, 1211791.516 1060324.094 0,
+ 1212060.434 1060336.567 0, 1212329.351 1060349.057 0, 1212598.268 1060361.562 0, 1212867.183 1060374.083 0, 1213134.831 1060386.561 0, 1213405.013 1060399.172 0, 1213673.926 1060411.741 0, 1213942.839 1060424.325 0, 1214211.751 1060436.925 0, 1214480.662 1060449.541 0,
+ 1214749.573 1060462.173 0, 1215018.483 1060474.821 0, 1215287.392 1060487.484 0, 1215556.3 1060500.164 0, 1215825.208 1060512.859 0, 1216094.114 1060525.57 0, 1216363.02 1060538.297 0, 1216631.926 1060551.039 0, 1216900.83 1060563.798 0, 1217169.734 1060576.572 0,
+ 1217438.637 1060589.362 0, 1217707.54 1060602.168 0, 1217976.441 1060614.99 0, 1218245.342 1060627.827 0, 1218514.242 1060640.681 0, 1218783.141 1060653.55 0, 1219052.04 1060666.435 0, 1219320.938 1060679.336 0, 1219588.569 1060692.192 0, 1219856.511 1055117.624 0,
+ 1220124.451 1049543.105 0))
+
+POLYGON ((1232494.717 1061330.802 0, 1232227.121 1061317.19 0, 1231958.26 1061303.529 0, 1231689.399 1061289.884 0, 1231420.538 1061276.255 0, 1231151.675 1061262.642 0, 1230882.811 1061249.045 0, 1230613.947 1061235.464 0, 1230345.082 1061221.898 0, 1230076.216 1061208.349 0,
+ 1229807.349 1061194.815 0, 1229538.482 1061181.297 0, 1229269.614 1061167.794 0, 1229000.745 1061154.308 0, 1228731.875 1061140.837 0, 1228463.004 1061127.382 0, 1228194.133 1061113.943 0, 1227925.261 1061100.52 0, 1227656.388 1061087.113 0, 1227387.514 1061073.721 0,
+ 1227118.639 1061060.346 0, 1226849.764 1061046.986 0, 1226580.888 1061033.642 0, 1226312.011 1061020.314 0, 1226041.868 1061006.939 0, 1225774.254 1060993.705 0, 1225505.375 1060980.424 0, 1225236.495 1060967.159 0, 1224967.614 1060953.91 0, 1224698.733 1060940.677 0,
+ 1224429.85 1060927.46 0, 1224160.967 1060914.258 0, 1223892.083 1060901.072 0, 1223623.198 1060887.902 0, 1223354.313 1060874.748 0, 1223085.426 1060861.61 0, 1222816.539 1060848.487 0, 1222547.652 1060835.381 0, 1222278.763 1060822.29 0, 1222009.874 1060809.215 0,
+ 1221740.983 1060796.156 0, 1221472.093 1060783.113 0, 1221203.201 1060770.085 0, 1220934.308 1060757.073 0, 1220665.415 1060744.078 0, 1220396.521 1060731.098 0, 1220127.626 1060718.133 0, 1219858.731 1060705.185 0, 1219588.569 1060692.192 0, 1219320.624 1066266.803 0,
+ 1219052.678 1071841.453 0, 1219322.181 1071854.415 0, 1219590.42 1071867.332 0, 1219858.659 1071880.264 0, 1220126.897 1071893.213 0, 1220395.134 1071906.177 0, 1220663.37 1071919.157 0, 1220931.605 1071932.153 0, 1221199.84 1071945.164 0, 1221468.074 1071958.191 0,
+ 1221736.307 1071971.234 0, 1222004.54 1071984.293 0, 1222272.771 1071997.368 0, 1222541.002 1072010.458 0, 1222809.232 1072023.565 0, 1223077.462 1072036.687 0, 1223345.69 1072049.824 0, 1223613.918 1072062.978 0, 1223882.145 1072076.147 0, 1224150.371 1072089.332 0,
+ 1224418.597 1072102.533 0, 1224686.821 1072115.75 0, 1224955.045 1072128.983 0, 1225223.268 1072142.231 0, 1225490.229 1072155.433 0, 1225759.712 1072168.775 0, 1226027.933 1072182.071 0, 1226296.153 1072195.382 0, 1226564.372 1072208.709 0, 1226832.591 1072222.052 0,
+ 1227100.808 1072235.411 0, 1227369.025 1072248.786 0, 1227637.241 1072262.176 0, 1227905.456 1072275.582 0, 1228173.671 1072289.004 0, 1228441.884 1072302.442 0, 1228710.097 1072315.895 0, 1228978.309 1072329.365 0, 1229246.521 1072342.85 0, 1229514.731 1072356.351 0,
+ 1229782.941 1072369.867 0, 1230051.15 1072383.4 0, 1230319.358 1072396.948 0, 1230587.565 1072410.512 0, 1230855.772 1072424.092 0, 1231123.978 1072437.688 0, 1231392.183 1072451.299 0, 1231660.387 1072464.926 0, 1231927.329 1072478.505 0, 1232211.024 1066904.633 0,
+ 1232494.717 1061330.802 0))
+
+POLYGON ((1244800.129 1073151.927 0, 1244533.224 1073137.594 0, 1244265.06 1073123.209 0, 1243996.894 1073108.84 0, 1243728.728 1073094.487 0, 1243460.561 1073080.149 0, 1243192.393 1073065.828 0, 1242924.224 1073051.522 0, 1242656.054 1073037.232 0, 1242387.884 1073022.957 0,
+ 1242119.713 1073008.699 0, 1241851.541 1072994.456 0, 1241583.368 1072980.229 0, 1241315.194 1072966.018 0, 1241047.019 1072951.822 0, 1240778.844 1072937.642 0, 1240510.667 1072923.479 0, 1240242.49 1072909.33 0, 1239974.312 1072895.198 0, 1239706.133 1072881.082 0,
+ 1239437.954 1072866.981 0, 1239169.773 1072852.896 0, 1238901.592 1072838.827 0, 1238633.41 1072824.773 0, 1238363.967 1072810.67 0, 1238097.043 1072796.714 0, 1237828.858 1072782.708 0, 1237560.673 1072768.718 0, 1237292.487 1072754.743 0, 1237024.3 1072740.785 0,
+ 1236756.112 1072726.842 0, 1236487.923 1072712.915 0, 1236219.733 1072699.003 0, 1235951.543 1072685.108 0, 1235683.352 1072671.228 0, 1235415.16 1072657.364 0, 1235146.967 1072643.516 0, 1234878.773 1072629.684 0, 1234610.579 1072615.867 0, 1234342.384 1072602.066 0,
+ 1234074.188 1072588.281 0, 1233805.991 1072574.512 0, 1233537.793 1072560.758 0, 1233269.595 1072547.021 0, 1233001.395 1072533.299 0, 1232733.195 1072519.593 0, 1232464.994 1072505.902 0, 1232196.793 1072492.228 0, 1231927.329 1072478.505 0, 1231643.633 1078052.412 0,
+ 1231359.935 1083626.349 0, 1231628.739 1083640.039 0, 1231896.285 1083653.68 0, 1232163.83 1083667.337 0, 1232431.373 1083681.009 0, 1232698.917 1083694.698 0, 1232966.459 1083708.402 0, 1233234.001 1083722.121 0, 1233501.541 1083735.857 0, 1233769.081 1083749.608 0,
+ 1234036.62 1083763.375 0, 1234304.159 1083777.158 0, 1234571.696 1083790.957 0, 1234839.233 1083804.771 0, 1235106.769 1083818.601 0, 1235374.304 1083832.447 0, 1235641.838 1083846.308 0, 1235909.372 1083860.186 0, 1236176.904 1083874.079 0, 1236444.436 1083887.988 0,
+ 1236711.967 1083901.912 0, 1236979.497 1083915.852 0, 1237247.026 1083929.808 0, 1237514.555 1083943.78 0, 1237780.826 1083957.702 0, 1238049.61 1083971.771 0, 1238317.136 1083985.79 0, 1238584.661 1083999.825 0, 1238852.185 1084013.875 0, 1239119.709 1084027.941 0,
+ 1239387.232 1084042.023 0, 1239654.753 1084056.121 0, 1239922.275 1084070.234 0, 1240189.795 1084084.364 0, 1240457.314 1084098.509 0, 1240724.833 1084112.669 0, 1240992.351 1084126.846 0, 1241259.867 1084141.038 0, 1241527.383 1084155.246 0, 1241794.899 1084169.47 0,
+ 1242062.413 1084183.709 0, 1242329.927 1084197.964 0, 1242597.439 1084212.235 0, 1242864.951 1084226.522 0, 1243132.462 1084240.824 0, 1243399.973 1084255.143 0, 1243667.482 1084269.476 0, 1243934.99 1084283.826 0, 1244201.243 1084298.124 0, 1244500.687 1078725.01 0,
+ 1244800.129 1073151.927 0))
+
+POLYGON ((1257040.601 1085006.175 0, 1256774.388 1084991.125 0, 1256506.921 1084976.019 0, 1256239.454 1084960.93 0, 1255971.985 1084945.856 0, 1255704.515 1084930.798 0, 1255437.045 1084915.755 0, 1255169.574 1084900.729 0, 1254902.101 1084885.718 0, 1254634.628 1084870.723 0,
+ 1254367.154 1084855.743 0, 1254099.679 1084840.78 0, 1253832.204 1084825.832 0, 1253564.727 1084810.899 0, 1253297.249 1084795.983 0, 1253029.771 1084781.082 0, 1252762.292 1084766.197 0, 1252494.812 1084751.328 0, 1252227.331 1084736.475 0, 1251959.849 1084721.637 0,
+ 1251692.366 1084706.815 0, 1251424.882 1084692.009 0, 1251157.398 1084677.218 0, 1250889.913 1084662.444 0, 1250621.172 1084647.615 0, 1250354.939 1084632.941 0, 1250087.451 1084618.214 0, 1249819.962 1084603.502 0, 1249552.473 1084588.806 0, 1249284.982 1084574.126 0,
+ 1249017.491 1084559.461 0, 1248749.998 1084544.812 0, 1248482.505 1084530.179 0, 1248215.011 1084515.562 0, 1247947.516 1084500.96 0, 1247680.021 1084486.374 0, 1247412.524 1084471.804 0, 1247145.026 1084457.25 0, 1246877.528 1084442.711 0, 1246610.029 1084428.189 0,
+ 1246342.529 1084413.682 0, 1246075.028 1084399.19 0, 1245807.526 1084384.715 0, 1245540.024 1084370.255 0, 1245272.52 1084355.811 0, 1245005.016 1084341.382 0, 1244737.511 1084326.97 0, 1244470.005 1084312.573 0, 1244201.243 1084298.124 0, 1243901.797 1089871.265 0,
+ 1243602.35 1095444.428 0, 1243870.453 1095458.841 0, 1244137.303 1095473.202 0, 1244404.152 1095487.58 0, 1244671.001 1095501.973 0, 1244937.848 1095516.381 0, 1245204.695 1095530.806 0, 1245471.54 1095545.246 0, 1245738.385 1095559.702 0, 1246005.229 1095574.173 0,
+ 1246272.072 1095588.661 0, 1246538.915 1095603.163 0, 1246805.756 1095617.682 0, 1247072.597 1095632.216 0, 1247339.436 1095646.767 0, 1247606.275 1095661.332 0, 1247873.113 1095675.914 0, 1248139.95 1095690.511 0, 1248406.787 1095705.124 0, 1248673.622 1095719.752 0,
+ 1248940.457 1095734.397 0, 1249207.29 1095749.057 0, 1249474.123 1095763.732 0, 1249740.955 1095778.424 0, 1250006.535 1095793.062 0, 1250274.616 1095807.854 0, 1250541.446 1095822.592 0, 1250808.274 1095837.346 0, 1251075.102 1095852.116 0, 1251341.929 1095866.902 0,
+ 1251608.755 1095881.703 0, 1251875.58 1095896.52 0, 1252142.404 1095911.353 0, 1252409.227 1095926.202 0, 1252676.05 1095941.066 0, 1252942.871 1095955.946 0, 1253209.692 1095970.841 0, 1253476.512 1095985.752 0, 1253743.33 1096000.679 0, 1254010.148 1096015.622 0,
+ 1254276.966 1096030.58 0, 1254543.782 1096045.555 0, 1254810.597 1096060.544 0, 1255077.412 1096075.55 0, 1255344.225 1096090.571 0, 1255611.038 1096105.608 0, 1255877.85 1096120.661 0, 1256144.661 1096135.729 0, 1256410.221 1096150.742 0, 1256725.412 1090578.447 0,
+ 1257040.601 1085006.175 0))
+
+POLYGON ((1269216.045 1096893.238 0, 1268950.526 1096877.475 0, 1268683.759 1096861.653 0, 1268416.991 1096845.846 0, 1268150.221 1096830.056 0, 1267883.451 1096814.281 0, 1267616.68 1096798.522 0, 1267349.908 1096782.778 0, 1267083.135 1096767.05 0, 1266816.362 1096751.338 0,
+ 1266549.587 1096735.642 0, 1266282.811 1096719.961 0, 1266016.035 1096704.296 0, 1265749.257 1096688.647 0, 1265482.479 1096673.013 0, 1265215.699 1096657.395 0, 1264948.919 1096641.793 0, 1264682.138 1096626.206 0, 1264415.356 1096610.636 0, 1264148.573 1096595.08 0,
+ 1263881.789 1096579.541 0, 1263615.004 1096564.017 0, 1263348.218 1096548.509 0, 1263081.432 1096533.017 0, 1262813.395 1096517.468 0, 1262547.856 1096502.079 0, 1262281.066 1096486.634 0, 1262014.276 1096471.205 0, 1261747.485 1096455.791 0, 1261480.692 1096440.393 0,
+ 1261213.899 1096425.011 0, 1260947.105 1096409.644 0, 1260680.311 1096394.293 0, 1260413.515 1096378.958 0, 1260146.718 1096363.638 0, 1259879.921 1096348.334 0, 1259613.122 1096333.046 0, 1259346.323 1096317.774 0, 1259079.523 1096302.517 0, 1258812.721 1096287.276 0,
+ 1258545.919 1096272.05 0, 1258279.117 1096256.841 0, 1258012.313 1096241.647 0, 1257745.508 1096226.469 0, 1257478.702 1096211.306 0, 1257211.896 1096196.159 0, 1256945.088 1096181.028 0, 1256678.28 1096165.913 0, 1256410.221 1096150.742 0, 1256095.029 1101723.055 0,
+ 1255779.837 1107295.381 0, 1256047.237 1107310.514 0, 1256313.389 1107325.593 0, 1256579.541 1107340.687 0, 1256845.691 1107355.796 0, 1257111.841 1107370.921 0, 1257377.99 1107386.062 0, 1257644.137 1107401.219 0, 1257910.284 1107416.391 0, 1258176.431 1107431.579 0,
+ 1258442.576 1107446.783 0, 1258708.72 1107462.002 0, 1258974.864 1107477.237 0, 1259241.006 1107492.487 0, 1259507.148 1107507.754 0, 1259773.288 1107523.036 0, 1260039.428 1107538.333 0, 1260305.567 1107553.646 0, 1260571.705 1107568.975 0, 1260837.842 1107584.32 0,
+ 1261103.979 1107599.68 0, 1261370.114 1107615.056 0, 1261636.248 1107630.447 0, 1261902.382 1107645.855 0, 1262167.269 1107661.205 0, 1262434.646 1107676.716 0, 1262700.777 1107692.17 0, 1262966.907 1107707.64 0, 1263233.036 1107723.126 0, 1263499.164 1107738.627 0,
+ 1263765.291 1107754.144 0, 1264031.417 1107769.676 0, 1264297.542 1107785.225 0, 1264563.667 1107800.788 0, 1264829.79 1107816.368 0, 1265095.913 1107831.963 0, 1265362.034 1107847.574 0, 1265628.155 1107863.201 0, 1265894.275 1107878.843 0, 1266160.394 1107894.501 0,
+ 1266426.512 1107910.174 0, 1266692.629 1107925.863 0, 1266958.745 1107941.568 0, 1267224.86 1107957.289 0, 1267490.974 1107973.025 0, 1267757.088 1107988.776 0, 1268023.2 1108004.544 0, 1268289.312 1108020.327 0, 1268554.177 1108036.052 0, 1268885.112 1102464.638 0,
+ 1269216.045 1096893.238 0))
+
+POLYGON ((1281326.375 1108812.81 0, 1281061.552 1108796.336 0, 1280795.486 1108779.802 0, 1280529.42 1108763.282 0, 1280263.352 1108746.779 0, 1279997.283 1108730.291 0, 1279731.213 1108713.819 0, 1279465.143 1108697.362 0, 1279199.071 1108680.921 0, 1278932.999 1108664.496 0,
+ 1278666.925 1108648.086 0, 1278400.85 1108631.692 0, 1278134.775 1108615.314 0, 1277868.698 1108598.951 0, 1277602.621 1108582.604 0, 1277336.543 1108566.273 0, 1277070.463 1108549.957 0, 1276804.383 1108533.657 0, 1276538.302 1108517.373 0, 1276272.219 1108501.104 0,
+ 1276006.136 1108484.851 0, 1275740.052 1108468.614 0, 1275473.967 1108452.392 0, 1275207.881 1108436.186 0, 1274940.55 1108419.92 0, 1274675.706 1108403.821 0, 1274409.617 1108387.662 0, 1274143.527 1108371.519 0, 1273877.436 1108355.391 0, 1273611.345 1108339.279 0,
+ 1273345.252 1108323.183 0, 1273079.158 1108307.102 0, 1272813.064 1108291.037 0, 1272546.968 1108274.988 0, 1272280.872 1108258.954 0, 1272014.774 1108242.936 0, 1271748.676 1108226.933 0, 1271482.576 1108210.947 0, 1271216.476 1108194.975 0, 1270950.375 1108179.02 0,
+ 1270684.273 1108163.08 0, 1270418.17 1108147.156 0, 1270152.066 1108131.248 0, 1269885.961 1108115.355 0, 1269619.855 1108099.478 0, 1269353.748 1108083.616 0, 1269087.64 1108067.771 0, 1268821.532 1108051.94 0, 1268554.177 1108036.052 0, 1268223.243 1113607.475 0,
+ 1267892.308 1119178.902 0, 1268159.003 1119194.751 0, 1268424.456 1119210.543 0, 1268689.908 1119226.349 0, 1268955.359 1119242.172 0, 1269220.809 1119258.01 0, 1269486.258 1119273.863 0, 1269751.706 1119289.733 0, 1270017.153 1119305.617 0, 1270282.6 1119321.518 0,
+ 1270548.045 1119337.434 0, 1270813.49 1119353.366 0, 1271078.933 1119369.313 0, 1271344.376 1119385.276 0, 1271609.817 1119401.255 0, 1271875.258 1119417.249 0, 1272140.698 1119433.259 0, 1272406.136 1119449.284 0, 1272671.574 1119465.325 0, 1272937.011 1119481.382 0,
+ 1273202.447 1119497.454 0, 1273467.882 1119513.542 0, 1273733.316 1119529.646 0, 1273998.749 1119545.765 0, 1274262.941 1119561.825 0, 1274529.613 1119578.05 0, 1274795.043 1119594.217 0, 1275060.472 1119610.398 0, 1275325.901 1119626.596 0, 1275591.328 1119642.808 0,
+ 1275856.755 1119659.037 0, 1276122.18 1119675.281 0, 1276387.605 1119691.541 0, 1276653.028 1119707.817 0, 1276918.451 1119724.108 0, 1277183.873 1119740.414 0, 1277449.293 1119756.737 0, 1277714.713 1119773.074 0, 1277980.132 1119789.428 0, 1278245.55 1119805.797 0,
+ 1278510.966 1119822.182 0, 1278776.382 1119838.582 0, 1279041.797 1119854.998 0, 1279307.211 1119871.43 0, 1279572.624 1119887.877 0, 1279838.036 1119904.34 0, 1280103.447 1119920.819 0, 1280368.857 1119937.313 0, 1280633.027 1119953.746 0, 1280979.701 1114383.275 0,
+ 1281326.375 1108812.81 0))
+
+POLYGON ((1293371.507 1120764.581 0, 1293107.382 1120747.402 0, 1292842.02 1120730.158 0, 1292576.656 1120712.929 0, 1292311.292 1120695.717 0, 1292045.926 1120678.52 0, 1291780.56 1120661.338 0, 1291515.193 1120644.172 0, 1291249.824 1120627.022 0, 1290984.455 1120609.888 0,
+ 1290719.084 1120592.769 0, 1290453.712 1120575.665 0, 1290188.34 1120558.578 0, 1289922.966 1120541.506 0, 1289657.592 1120524.449 0, 1289392.216 1120507.408 0, 1289126.84 1120490.383 0, 1288861.462 1120473.373 0, 1288596.084 1120456.379 0, 1288330.704 1120439.401 0,
+ 1288065.324 1120422.438 0, 1287799.942 1120405.491 0, 1287534.56 1120388.56 0, 1287269.176 1120371.644 0, 1287002.553 1120354.665 0, 1286738.406 1120337.859 0, 1286473.019 1120320.99 0, 1286207.632 1120304.136 0, 1285942.243 1120287.298 0, 1285676.854 1120270.476 0,
+ 1285411.463 1120253.67 0, 1285146.072 1120236.879 0, 1284880.679 1120220.103 0, 1284615.286 1120203.344 0, 1284349.892 1120186.6 0, 1284084.496 1120169.871 0, 1283819.1 1120153.158 0, 1283553.702 1120136.461 0, 1283288.304 1120119.78 0, 1283022.905 1120103.114 0,
+ 1282757.504 1120086.463 0, 1282492.103 1120069.828 0, 1282226.701 1120053.209 0, 1281961.297 1120036.606 0, 1281695.893 1120020.018 0, 1281430.488 1120003.446 0, 1281165.082 1119986.889 0, 1280899.675 1119970.348 0, 1280633.027 1119953.746 0, 1280286.353 1125524.216 0,
+ 1279939.68 1131094.683 0, 1280205.668 1131111.244 0, 1280470.42 1131127.744 0, 1280735.17 1131144.26 0, 1280999.92 1131160.792 0, 1281264.668 1131177.338 0, 1281529.416 1131193.901 0, 1281794.162 1131210.479 0, 1282058.908 1131227.073 0, 1282323.652 1131243.682 0,
+ 1282588.396 1131260.307 0, 1282853.139 1131276.947 0, 1283117.88 1131293.603 0, 1283382.621 1131310.274 0, 1283647.361 1131326.962 0, 1283912.1 1131343.664 0, 1284176.837 1131360.383 0, 1284441.574 1131377.116 0, 1284706.31 1131393.866 0, 1284971.045 1131410.631 0,
+ 1285235.778 1131427.412 0, 1285500.511 1131444.208 0, 1285765.243 1131461.02 0, 1286029.974 1131477.847 0, 1286293.469 1131494.611 0, 1286559.433 1131511.548 0, 1286824.161 1131528.423 0, 1287088.887 1131545.312 0, 1287353.613 1131562.217 0, 1287618.338 1131579.138 0,
+ 1287883.062 1131596.075 0, 1288147.785 1131613.027 0, 1288412.507 1131629.994 0, 1288677.228 1131646.978 0, 1288941.948 1131663.976 0, 1289206.666 1131680.991 0, 1289471.384 1131698.021 0, 1289736.101 1131715.066 0, 1290000.817 1131732.127 0, 1290265.532 1131749.204 0,
+ 1290530.246 1131766.296 0, 1290794.959 1131783.404 0, 1291059.671 1131800.527 0, 1291324.381 1131817.666 0, 1291589.091 1131834.821 0, 1291853.8 1131851.991 0, 1292118.508 1131869.177 0, 1292383.215 1131886.378 0, 1292646.687 1131903.515 0, 1293009.096 1126334.05 0,
+ 1293371.507 1120764.581 0))
+
+POLYGON ((1305351.358 1132748.243 0, 1305087.933 1132730.362 0, 1304823.276 1132712.413 0, 1304558.618 1132694.479 0, 1304293.959 1132676.561 0, 1304029.299 1132658.659 0, 1303764.637 1132640.772 0, 1303499.975 1132622.901 0, 1303235.311 1132605.045 0, 1302970.647 1132587.205 0,
+ 1302705.981 1132569.381 0, 1302441.315 1132551.572 0, 1302176.647 1132533.779 0, 1301911.978 1132516.001 0, 1301647.308 1132498.239 0, 1301382.638 1132480.492 0, 1301117.966 1132462.761 0, 1300853.293 1132445.046 0, 1300588.619 1132427.346 0, 1300323.944 1132409.662 0,
+ 1300059.268 1132391.993 0, 1299794.591 1132374.34 0, 1299529.913 1132356.702 0, 1299265.234 1132339.08 0, 1298999.321 1132321.392 0, 1298735.872 1132303.883 0, 1298471.19 1132286.308 0, 1298206.507 1132268.748 0, 1297941.822 1132251.204 0, 1297677.137 1132233.676 0,
+ 1297412.451 1132216.163 0, 1297147.763 1132198.666 0, 1296883.075 1132181.184 0, 1296618.385 1132163.718 0, 1296353.695 1132146.267 0, 1296089.003 1132128.832 0, 1295824.311 1132111.413 0, 1295559.617 1132094.009 0, 1295294.923 1132076.621 0, 1295030.227 1132059.248 0,
+ 1294765.53 1132041.891 0, 1294500.833 1132024.549 0, 1294236.134 1132007.223 0, 1293971.434 1131989.913 0, 1293706.734 1131972.618 0, 1293442.032 1131955.339 0, 1293177.329 1131938.075 0, 1292912.625 1131920.827 0, 1292646.687 1131903.515 0, 1292284.277 1137472.971 0,
+ 1291921.869 1143042.414 0, 1292187.149 1143059.684 0, 1292451.197 1143076.89 0, 1292715.244 1143094.11 0, 1292979.29 1143111.347 0, 1293243.335 1143128.599 0, 1293507.379 1143145.866 0, 1293771.423 1143163.149 0, 1294035.465 1143180.448 0, 1294299.506 1143197.762 0,
+ 1294563.546 1143215.092 0, 1294827.585 1143232.437 0, 1295091.623 1143249.798 0, 1295355.66 1143267.174 0, 1295619.696 1143284.566 0, 1295883.73 1143301.973 0, 1296147.764 1143319.396 0, 1296411.797 1143336.834 0, 1296675.829 1143354.288 0, 1296939.86 1143371.758 0,
+ 1297203.89 1143389.243 0, 1297467.918 1143406.744 0, 1297731.946 1143424.26 0, 1297995.973 1143441.791 0, 1298258.769 1143459.257 0, 1298524.023 1143476.901 0, 1298788.047 1143494.48 0, 1299052.069 1143512.074 0, 1299316.091 1143529.683 0, 1299580.111 1143547.308 0,
+ 1299844.131 1143564.948 0, 1300108.149 1143582.604 0, 1300372.166 1143600.276 0, 1300636.183 1143617.963 0, 1300900.198 1143635.666 0, 1301164.212 1143653.384 0, 1301428.225 1143671.117 0, 1301692.238 1143688.867 0, 1301956.249 1143706.631 0, 1302220.259 1143724.412 0,
+ 1302484.268 1143742.208 0, 1302748.276 1143760.019 0, 1303012.283 1143777.846 0, 1303276.289 1143795.688 0, 1303540.293 1143813.546 0, 1303804.297 1143831.42 0, 1304068.3 1143849.309 0, 1304332.302 1143867.214 0, 1304595.073 1143885.05 0, 1304973.215 1138316.653 0,
+ 1305351.358 1132748.243 0))
+
+POLYGON ((1317265.847 1144763.487 0, 1317003.125 1144744.908 0, 1316739.174 1144726.257 0, 1316475.223 1144707.623 0, 1316211.271 1144689.003 0, 1315947.318 1144670.399 0, 1315683.363 1144651.811 0, 1315419.408 1144633.238 0, 1315155.451 1144614.681 0, 1314891.494 1144596.14 0,
+ 1314627.535 1144577.613 0, 1314363.575 1144559.103 0, 1314099.614 1144540.608 0, 1313835.652 1144522.128 0, 1313571.689 1144503.664 0, 1313307.725 1144485.216 0, 1313043.759 1144466.783 0, 1312779.793 1144448.366 0, 1312515.826 1144429.964 0, 1312251.857 1144411.578 0,
+ 1311987.887 1144393.207 0, 1311723.917 1144374.852 0, 1311459.945 1144356.512 0, 1311195.972 1144338.188 0, 1310930.77 1144319.794 0, 1310668.023 1144301.586 0, 1310404.047 1144283.309 0, 1310140.07 1144265.047 0, 1309876.091 1144246.8 0, 1309612.112 1144228.569 0,
+ 1309348.132 1144210.354 0, 1309084.15 1144192.154 0, 1308820.168 1144173.97 0, 1308556.184 1144155.801 0, 1308292.199 1144137.648 0, 1308028.214 1144119.51 0, 1307764.227 1144101.388 0, 1307500.239 1144083.281 0, 1307236.25 1144065.19 0, 1306972.26 1144047.114 0,
+ 1306708.269 1144029.054 0, 1306444.277 1144011.01 0, 1306180.284 1143992.981 0, 1305916.289 1143974.968 0, 1305652.294 1143956.97 0, 1305388.298 1143938.988 0, 1305124.3 1143921.021 0, 1304860.302 1143903.069 0, 1304595.073 1143885.05 0, 1304216.933 1149453.43 0,
+ 1303838.794 1155021.788 0, 1304103.364 1155039.762 0, 1304366.707 1155057.669 0, 1304630.049 1155075.591 0, 1304893.389 1155093.529 0, 1305156.729 1155111.482 0, 1305420.068 1155129.451 0, 1305683.406 1155147.435 0, 1305946.742 1155165.434 0, 1306210.078 1155183.45 0,
+ 1306473.413 1155201.48 0, 1306736.746 1155219.526 0, 1307000.079 1155237.588 0, 1307263.41 1155255.665 0, 1307526.74 1155273.758 0, 1307790.069 1155291.866 0, 1308053.398 1155309.99 0, 1308316.725 1155328.129 0, 1308580.051 1155346.284 0, 1308843.376 1155364.454 0,
+ 1309106.7 1155382.639 0, 1309370.022 1155400.841 0, 1309633.344 1155419.057 0, 1309896.665 1155437.289 0, 1310158.76 1155455.452 0, 1310423.303 1155473.8 0, 1310686.62 1155492.079 0, 1310949.937 1155510.373 0, 1311213.252 1155528.683 0, 1311476.566 1155547.008 0,
+ 1311739.879 1155565.348 0, 1312003.192 1155583.705 0, 1312266.503 1155602.076 0, 1312529.812 1155620.463 0, 1312793.121 1155638.866 0, 1313056.429 1155657.284 0, 1313319.736 1155675.718 0, 1313583.041 1155694.167 0, 1313846.346 1155712.631 0, 1314109.649 1155731.112 0,
+ 1314372.951 1155749.607 0, 1314636.253 1155768.118 0, 1314899.553 1155786.645 0, 1315162.852 1155805.187 0, 1315426.15 1155823.745 0, 1315689.447 1155842.318 0, 1315952.742 1155860.906 0, 1316216.037 1155879.51 0, 1316478.107 1155898.044 0, 1316871.976 1150330.776 0,
+ 1317265.847 1144763.487 0))
+
+POLYGON ((1329114.894 1156810.004 0, 1328852.876 1156790.73 0, 1328589.635 1156771.383 0, 1328326.392 1156752.05 0, 1328063.149 1156732.733 0, 1327799.905 1156713.432 0, 1327536.659 1156694.146 0, 1327273.412 1156674.876 0, 1327010.164 1156655.621 0, 1326746.915 1156636.381 0,
+ 1326483.665 1156617.157 0, 1326220.414 1156597.949 0, 1325957.162 1156578.756 0, 1325693.908 1156559.578 0, 1325430.653 1156540.417 0, 1325167.398 1156521.27 0, 1324904.141 1156502.139 0, 1324640.883 1156483.024 0, 1324377.624 1156463.924 0, 1324114.363 1156444.839 0,
+ 1323851.102 1156425.77 0, 1323587.839 1156406.717 0, 1323324.576 1156387.679 0, 1323061.311 1156368.656 0, 1322796.823 1156349.561 0, 1322534.778 1156330.658 0, 1322271.51 1156311.682 0, 1322008.241 1156292.721 0, 1321744.97 1156273.776 0, 1321481.699 1156254.847 0,
+ 1321218.426 1156235.933 0, 1320955.153 1156217.034 0, 1320691.878 1156198.151 0, 1320428.602 1156179.284 0, 1320165.325 1156160.432 0, 1319902.047 1156141.595 0, 1319638.767 1156122.774 0, 1319375.487 1156103.968 0, 1319112.206 1156085.178 0, 1318848.923 1156066.404 0,
+ 1318585.639 1156047.645 0, 1318322.355 1156028.901 0, 1318059.069 1156010.173 0, 1317795.782 1155991.46 0, 1317532.494 1155972.763 0, 1317269.205 1155954.082 0, 1317005.914 1155935.416 0, 1316742.623 1155916.765 0, 1316478.107 1155898.044 0, 1316084.24 1161465.284 0,
+ 1315690.375 1167032.494 0, 1315954.232 1167051.169 0, 1316216.868 1167069.773 0, 1316479.503 1167088.393 0, 1316742.137 1167107.028 0, 1317004.77 1167125.678 0, 1317267.401 1167144.344 0, 1317530.032 1167163.026 0, 1317792.661 1167181.723 0, 1318055.29 1167200.435 0,
+ 1318317.917 1167219.163 0, 1318580.543 1167237.906 0, 1318843.168 1167256.665 0, 1319105.792 1167275.439 0, 1319368.415 1167294.229 0, 1319631.036 1167313.034 0, 1319893.657 1167331.854 0, 1320156.277 1167350.69 0, 1320418.895 1167369.542 0, 1320681.512 1167388.409 0,
+ 1320944.128 1167407.291 0, 1321206.743 1167426.189 0, 1321469.357 1167445.103 0, 1321731.97 1167464.031 0, 1321993.363 1167482.888 0, 1322257.193 1167501.935 0, 1322519.802 1167520.91 0, 1322782.41 1167539.901 0, 1323045.018 1167558.907 0, 1323307.624 1167577.929 0,
+ 1323570.229 1167596.966 0, 1323832.833 1167616.018 0, 1324095.435 1167635.086 0, 1324358.037 1167654.169 0, 1324620.638 1167673.268 0, 1324883.237 1167692.382 0, 1325145.835 1167711.512 0, 1325408.432 1167730.657 0, 1325671.028 1167749.818 0, 1325933.623 1167768.994 0,
+ 1326196.217 1167788.185 0, 1326458.81 1167807.392 0, 1326721.401 1167826.615 0, 1326983.992 1167845.853 0, 1327246.581 1167865.106 0, 1327509.169 1167884.375 0, 1327771.756 1167903.659 0, 1328034.342 1167922.959 0, 1328295.708 1167942.184 0, 1328705.3 1162376.11 0,
+ 1329114.894 1156810.004 0))
+
+POLYGON ((1340898.422 1168887.484 0, 1340637.108 1168867.52 0, 1340374.578 1168847.478 0, 1340112.047 1168827.452 0, 1339849.514 1168807.441 0, 1339586.98 1168787.446 0, 1339324.445 1168767.467 0, 1339061.909 1168747.502 0, 1338799.372 1168727.554 0, 1338536.833 1168707.62 0,
+ 1338274.294 1168687.702 0, 1338011.753 1168667.8 0, 1337749.211 1168647.913 0, 1337486.668 1168628.041 0, 1337224.123 1168608.185 0, 1336961.578 1168588.345 0, 1336699.031 1168568.52 0, 1336436.483 1168548.71 0, 1336173.934 1168528.916 0, 1335911.384 1168509.137 0,
+ 1335648.833 1168489.374 0, 1335386.28 1168469.626 0, 1335123.726 1168449.893 0, 1334861.172 1168430.176 0, 1334597.399 1168410.383 0, 1334336.059 1168390.789 0, 1334073.5 1168371.118 0, 1333810.941 1168351.463 0, 1333548.38 1168331.823 0, 1333285.818 1168312.199 0,
+ 1333023.255 1168292.59 0, 1332760.691 1168272.997 0, 1332498.126 1168253.419 0, 1332235.56 1168233.856 0, 1331972.992 1168214.309 0, 1331710.424 1168194.778 0, 1331447.854 1168175.262 0, 1331185.283 1168155.761 0, 1330922.711 1168136.276 0, 1330660.137 1168116.806 0,
+ 1330397.563 1168097.352 0, 1330134.987 1168077.913 0, 1329872.411 1168058.49 0, 1329609.833 1168039.082 0, 1329347.254 1168019.689 0, 1329084.674 1168000.312 0, 1328822.092 1167980.951 0, 1328559.51 1167961.605 0, 1328295.708 1167942.184 0, 1327886.119 1173508.223 0,
+ 1327476.533 1179074.222 0, 1327739.676 1179093.594 0, 1328001.603 1179112.892 0, 1328263.529 1179132.205 0, 1328525.454 1179151.534 0, 1328787.378 1179170.878 0, 1329049.301 1179190.237 0, 1329311.222 1179209.612 0, 1329573.143 1179229.003 0, 1329835.062 1179248.408 0,
+ 1330096.98 1179267.829 0, 1330358.897 1179287.266 0, 1330620.813 1179306.718 0, 1330882.727 1179326.185 0, 1331144.641 1179345.668 0, 1331406.553 1179365.166 0, 1331668.464 1179384.68 0, 1331930.375 1179404.209 0, 1332192.283 1179423.754 0, 1332454.191 1179443.313 0,
+ 1332716.098 1179462.889 0, 1332978.003 1179482.479 0, 1333239.908 1179502.086 0, 1333501.811 1179521.707 0, 1333762.499 1179541.253 0, 1334025.614 1179560.996 0, 1334287.513 1179580.664 0, 1334549.412 1179600.347 0, 1334811.309 1179620.046 0, 1335073.205 1179639.76 0,
+ 1335335.101 1179659.49 0, 1335596.994 1179679.234 0, 1335858.887 1179698.995 0, 1336120.779 1179718.77 0, 1336382.669 1179738.561 0, 1336644.558 1179758.368 0, 1336906.446 1179778.19 0, 1337168.333 1179798.027 0, 1337430.219 1179817.88 0, 1337692.104 1179837.748 0,
+ 1337953.987 1179857.632 0, 1338215.869 1179877.531 0, 1338477.75 1179897.445 0, 1338739.63 1179917.375 0, 1339001.509 1179937.32 0, 1339263.386 1179957.281 0, 1339525.263 1179977.257 0, 1339787.138 1179997.249 0, 1340047.799 1180017.163 0, 1340473.109 1174452.343 0,
+ 1340898.422 1168887.484 0))
+
+POLYGON ((1352616.351 1180995.616 0, 1352355.746 1180974.965 0, 1352093.928 1180954.234 0, 1351832.109 1180933.518 0, 1351570.289 1180912.817 0, 1351308.468 1180892.132 0, 1351046.645 1180871.463 0, 1350784.821 1180850.809 0, 1350522.996 1180830.17 0, 1350261.17 1180809.546 0,
+ 1349999.343 1180788.938 0, 1349737.514 1180768.346 0, 1349475.684 1180747.769 0, 1349213.853 1180727.207 0, 1348952.021 1180706.661 0, 1348690.188 1180686.13 0, 1348428.353 1180665.614 0, 1348166.517 1180645.114 0, 1347904.68 1180624.629 0, 1347642.842 1180604.16 0,
+ 1347381.002 1180583.706 0, 1347119.162 1180563.268 0, 1346857.32 1180542.845 0, 1346595.477 1180522.437 0, 1346332.421 1180501.951 0, 1346071.787 1180481.668 0, 1345809.94 1180461.307 0, 1345548.092 1180440.961 0, 1345286.243 1180420.63 0, 1345024.393 1180400.315 0,
+ 1344762.542 1180380.015 0, 1344500.689 1180359.731 0, 1344238.835 1180339.462 0, 1343976.98 1180319.209 0, 1343715.124 1180298.97 0, 1343453.266 1180278.748 0, 1343191.408 1180258.541 0, 1342929.548 1180238.349 0, 1342667.687 1180218.172 0, 1342405.825 1180198.011 0,
+ 1342143.961 1180177.866 0, 1341882.097 1180157.735 0, 1341620.231 1180137.621 0, 1341358.364 1180117.521 0, 1341096.496 1180097.437 0, 1340834.627 1180077.369 0, 1340572.756 1180057.316 0, 1340310.885 1180037.278 0, 1340047.799 1180017.163 0, 1339622.493 1185581.937 0,
+ 1339197.191 1191146.663 0, 1339459.618 1191166.727 0, 1339720.835 1191186.715 0, 1339982.05 1191206.718 0, 1340243.264 1191226.736 0, 1340504.477 1191246.77 0, 1340765.689 1191266.819 0, 1341026.9 1191286.884 0, 1341288.109 1191306.964 0, 1341549.318 1191327.059 0,
+ 1341810.525 1191347.169 0, 1342071.731 1191367.295 0, 1342332.936 1191387.437 0, 1342594.139 1191407.593 0, 1342855.342 1191427.766 0, 1343116.543 1191447.953 0, 1343377.743 1191468.156 0, 1343638.942 1191488.374 0, 1343900.139 1191508.608 0, 1344161.336 1191528.857 0,
+ 1344422.531 1191549.121 0, 1344683.725 1191569.401 0, 1344944.918 1191589.696 0, 1345206.11 1191610.006 0, 1345466.092 1191630.238 0, 1345728.489 1191650.673 0, 1345989.678 1191671.03 0, 1346250.864 1191691.402 0, 1346512.05 1191711.789 0, 1346773.235 1191732.192 0,
+ 1347034.418 1191752.61 0, 1347295.6 1191773.043 0, 1347556.781 1191793.492 0, 1347817.961 1191813.956 0, 1348079.139 1191834.436 0, 1348340.316 1191854.931 0, 1348601.492 1191875.441 0, 1348862.667 1191895.967 0, 1349123.841 1191916.508 0, 1349385.013 1191937.064 0,
+ 1349646.185 1191957.636 0, 1349907.355 1191978.223 0, 1350168.523 1191998.826 0, 1350429.691 1192019.444 0, 1350690.857 1192040.077 0, 1350952.023 1192060.726 0, 1351213.187 1192081.39 0, 1351474.349 1192102.069 0, 1351734.303 1192122.668 0, 1352175.325 1186559.167 0,
+ 1352616.351 1180995.616 0))
+
+POLYGON ((1364268.609 1193134.089 0, 1364008.712 1193112.756 0, 1363747.609 1193091.338 0, 1363486.504 1193069.937 0, 1363225.398 1193048.55 0, 1362964.291 1193027.179 0, 1362703.183 1193005.824 0, 1362442.073 1192984.483 0, 1362180.963 1192963.158 0, 1361919.851 1192941.849 0,
+ 1361658.737 1192920.555 0, 1361397.623 1192899.276 0, 1361136.507 1192878.012 0, 1360875.39 1192856.764 0, 1360614.271 1192835.531 0, 1360353.152 1192814.314 0, 1360092.031 1192793.112 0, 1359830.909 1192771.925 0, 1359569.786 1192750.754 0, 1359308.661 1192729.598 0,
+ 1359047.535 1192708.458 0, 1358786.408 1192687.333 0, 1358525.28 1192666.223 0, 1358264.15 1192645.129 0, 1358001.813 1192623.952 0, 1357741.888 1192602.986 0, 1357480.754 1192581.938 0, 1357219.62 1192560.905 0, 1356958.484 1192539.887 0, 1356697.347 1192518.885 0,
+ 1356436.209 1192497.898 0, 1356175.069 1192476.927 0, 1355913.929 1192455.971 0, 1355652.787 1192435.03 0, 1355391.644 1192414.105 0, 1355130.499 1192393.195 0, 1354869.354 1192372.3 0, 1354608.207 1192351.421 0, 1354347.059 1192330.557 0, 1354085.909 1192309.708 0,
+ 1353824.759 1192288.875 0, 1353563.607 1192268.058 0, 1353302.454 1192247.255 0, 1353041.3 1192226.468 0, 1352780.145 1192205.697 0, 1352518.988 1192184.94 0, 1352257.83 1192164.199 0, 1351996.671 1192143.474 0, 1351734.303 1192122.668 0, 1351293.286 1197686.116 0,
+ 1350852.272 1203249.505 0, 1351113.982 1203270.258 0, 1351374.486 1203290.932 0, 1351634.989 1203311.621 0, 1351895.491 1203332.325 0, 1352155.992 1203353.044 0, 1352416.491 1203373.779 0, 1352676.989 1203394.529 0, 1352937.486 1203415.295 0, 1353197.981 1203436.076 0,
+ 1353458.476 1203456.872 0, 1353718.969 1203477.684 0, 1353979.461 1203498.51 0, 1354239.952 1203519.353 0, 1354500.441 1203540.21 0, 1354760.93 1203561.083 0, 1355021.417 1203581.971 0, 1355281.902 1203602.875 0, 1355542.387 1203623.794 0, 1355802.87 1203644.728 0,
+ 1356063.353 1203665.677 0, 1356323.833 1203686.642 0, 1356584.313 1203707.622 0, 1356844.792 1203728.618 0, 1357104.065 1203749.532 0, 1357365.745 1203770.655 0, 1357626.219 1203791.696 0, 1357886.693 1203812.753 0, 1358147.165 1203833.825 0, 1358407.636 1203854.913 0,
+ 1358668.106 1203876.016 0, 1358928.574 1203897.134 0, 1359189.042 1203918.267 0, 1359449.508 1203939.416 0, 1359709.972 1203960.58 0, 1359970.436 1203981.76 0, 1360230.898 1204002.954 0, 1360491.359 1204024.165 0, 1360751.819 1204045.39 0, 1361012.278 1204066.631 0,
+ 1361272.735 1204087.887 0, 1361533.191 1204109.159 0, 1361793.646 1204130.445 0, 1362054.099 1204151.747 0, 1362314.552 1204173.065 0, 1362575.003 1204194.398 0, 1362835.452 1204215.746 0, 1363095.901 1204237.109 0, 1363355.146 1204258.389 0, 1363811.875 1198696.269 0,
+ 1364268.609 1193134.089 0))
+
+POLYGON ((1375855.119 1205302.593 0, 1375595.933 1205280.58 0, 1375335.546 1205258.481 0, 1375075.158 1205236.397 0, 1374814.768 1205214.329 0, 1374554.377 1205192.276 0, 1374293.985 1205170.238 0, 1374033.591 1205148.215 0, 1373773.196 1205126.208 0, 1373512.8 1205104.216 0,
+ 1373252.403 1205082.24 0, 1372992.004 1205060.278 0, 1372731.604 1205038.332 0, 1372471.202 1205016.402 0, 1372210.8 1204994.487 0, 1371950.396 1204972.587 0, 1371689.991 1204950.702 0, 1371429.584 1204928.833 0, 1371169.176 1204906.979 0, 1370908.767 1204885.14 0,
+ 1370648.357 1204863.317 0, 1370387.945 1204841.509 0, 1370127.532 1204819.716 0, 1369867.118 1204797.939 0, 1369605.501 1204776.077 0, 1369346.286 1204754.43 0, 1369085.868 1204732.699 0, 1368825.448 1204710.983 0, 1368565.028 1204689.282 0, 1368304.606 1204667.597 0,
+ 1368044.183 1204645.927 0, 1367783.758 1204624.272 0, 1367523.332 1204602.633 0, 1367262.905 1204581.009 0, 1367002.477 1204559.4 0, 1366742.047 1204537.807 0, 1366481.617 1204516.229 0, 1366221.185 1204494.666 0, 1365960.751 1204473.119 0, 1365700.317 1204451.587 0,
+ 1365439.881 1204430.07 0, 1365179.444 1204408.569 0, 1364919.005 1204387.082 0, 1364658.565 1204365.612 0, 1364398.125 1204344.156 0, 1364137.682 1204322.716 0, 1363877.239 1204301.291 0, 1363616.794 1204279.882 0, 1363355.146 1204258.389 0, 1362898.422 1209820.447 0,
+ 1362441.704 1215382.436 0, 1362702.694 1215403.875 0, 1362962.484 1215425.231 0, 1363222.273 1215446.601 0, 1363482.061 1215467.988 0, 1363741.847 1215489.389 0, 1364001.632 1215510.806 0, 1364261.415 1215532.238 0, 1364521.198 1215553.685 0, 1364780.979 1215575.148 0,
+ 1365040.759 1215596.626 0, 1365300.538 1215618.119 0, 1365560.315 1215639.628 0, 1365820.091 1215661.151 0, 1366079.866 1215682.69 0, 1366339.64 1215704.245 0, 1366599.412 1215725.814 0, 1366859.183 1215747.399 0, 1367118.953 1215769 0, 1367378.721 1215790.615 0,
+ 1367638.488 1215812.246 0, 1367898.254 1215833.892 0, 1368158.019 1215855.554 0, 1368417.782 1215877.23 0, 1368676.347 1215898.822 0, 1368937.305 1215920.63 0, 1369197.065 1215942.352 0, 1369456.823 1215964.09 0, 1369716.58 1215985.843 0, 1369976.336 1216007.611 0,
+ 1370236.09 1216029.395 0, 1370495.844 1216051.194 0, 1370755.596 1216073.009 0, 1371015.346 1216094.838 0, 1371275.095 1216116.683 0, 1371534.843 1216138.543 0, 1371794.59 1216160.419 0, 1372054.336 1216182.309 0, 1372314.08 1216204.215 0, 1372573.823 1216226.137 0,
+ 1372833.564 1216248.073 0, 1373093.305 1216270.025 0, 1373353.044 1216291.992 0, 1373612.781 1216313.975 0, 1373872.518 1216335.973 0, 1374132.253 1216357.986 0, 1374391.987 1216380.014 0, 1374651.719 1216402.057 0, 1374910.254 1216424.015 0, 1375382.684 1210863.338 0,
+ 1375855.119 1205302.593 0))
+
+POLYGON ((848176.184 745427.808 0, 847890.147 745436.708 0, 847602.696 745445.67 0, 847315.244 745454.648 0, 847027.794 745463.643 0, 846740.344 745472.655 0, 846452.894 745481.684 0, 846165.445 745490.73 0, 845877.997 745499.793 0, 845590.549 745508.873 0,
+ 845303.101 745517.969 0, 845015.654 745527.083 0, 844728.208 745536.214 0, 844440.762 745545.361 0, 844153.317 745554.525 0, 843865.872 745563.707 0, 843578.428 745572.905 0, 843290.984 745582.12 0, 843003.541 745591.352 0, 842716.098 745600.601 0,
+ 842428.656 745609.867 0, 842141.215 745619.15 0, 841853.774 745628.449 0, 841566.334 745637.766 0, 841277.478 745647.146 0, 840991.454 745656.45 0, 840704.016 745665.817 0, 840416.577 745675.202 0, 840129.14 745684.603 0, 839841.703 745694.021 0,
+ 839554.266 745703.456 0, 839266.83 745712.908 0, 838979.395 745722.377 0, 838691.96 745731.863 0, 838404.526 745741.366 0, 838117.092 745750.885 0, 837829.659 745760.422 0, 837542.226 745769.975 0, 837254.794 745779.546 0, 836967.362 745789.133 0,
+ 836679.931 745798.737 0, 836392.501 745808.358 0, 836105.071 745817.996 0, 835817.642 745827.651 0, 835530.213 745837.323 0, 835242.785 745847.012 0, 834955.358 745856.718 0, 834667.931 745866.441 0, 834379.087 745876.228 0, 834567.968 751445.444 0,
+ 834756.858 757014.918 0, 835045.043 757005.152 0, 835331.814 756995.452 0, 835618.586 756985.768 0, 835905.359 756976.102 0, 836192.132 756966.452 0, 836478.906 756956.819 0, 836765.68 756947.203 0, 837052.454 756937.604 0, 837339.23 756928.021 0,
+ 837626.006 756918.456 0, 837912.782 756908.907 0, 838199.559 756899.375 0, 838486.337 756889.861 0, 838773.115 756880.363 0, 839059.894 756870.882 0, 839346.673 756861.417 0, 839633.453 756851.97 0, 839920.233 756842.54 0, 840207.014 756833.126 0,
+ 840493.795 756823.73 0, 840780.577 756814.35 0, 841067.36 756804.987 0, 841354.143 756795.641 0, 841639.514 756786.358 0, 841927.711 756776.999 0, 842214.496 756767.704 0, 842501.281 756758.426 0, 842788.067 756749.164 0, 843074.853 756739.919 0,
+ 843361.64 756730.691 0, 843648.428 756721.48 0, 843935.216 756712.286 0, 844222.004 756703.109 0, 844508.793 756693.949 0, 844795.583 756684.805 0, 845082.373 756675.679 0, 845369.164 756666.569 0, 845655.955 756657.476 0, 845942.747 756648.4 0,
+ 846229.539 756639.341 0, 846516.332 756630.299 0, 846803.126 756621.274 0, 847089.92 756612.265 0, 847376.714 756603.274 0, 847663.509 756594.299 0, 847950.304 756585.341 0, 848237.101 756576.4 0, 848522.485 756567.52 0, 848349.331 750997.535 0,
+ 848176.184 745427.808 0))
+
+POLYGON ((862289.321 756159.015 0, 862003.91 756167.089 0, 861717.09 756175.219 0, 861430.27 756183.367 0, 861143.451 756191.531 0, 860856.633 756199.712 0, 860569.814 756207.911 0, 860282.997 756216.126 0, 859996.179 756224.358 0, 859709.363 756232.606 0,
+ 859422.546 756240.872 0, 859135.73 756249.155 0, 858848.915 756257.454 0, 858562.1 756265.77 0, 858275.286 756274.104 0, 857988.472 756282.454 0, 857701.659 756290.821 0, 857414.846 756299.204 0, 857128.034 756307.605 0, 856841.222 756316.023 0,
+ 856554.41 756324.457 0, 856267.599 756332.909 0, 855980.789 756341.377 0, 855693.979 756349.862 0, 855405.759 756358.406 0, 855120.361 756366.883 0, 854833.552 756375.419 0, 854546.745 756383.971 0, 854259.937 756392.541 0, 853973.13 756401.127 0,
+ 853686.324 756409.73 0, 853399.518 756418.351 0, 853112.713 756426.988 0, 852825.908 756435.642 0, 852539.104 756444.312 0, 852252.3 756453 0, 851965.496 756461.705 0, 851678.694 756470.426 0, 851391.891 756479.165 0, 851105.09 756487.92 0,
+ 850818.288 756496.692 0, 850531.488 756505.481 0, 850244.687 756514.287 0, 849957.888 756523.109 0, 849671.089 756531.949 0, 849384.29 756540.806 0, 849097.492 756549.679 0, 848810.694 756558.569 0, 848522.485 756567.52 0, 848695.647 762137.759 0,
+ 848868.818 767708.248 0, 849156.368 767699.317 0, 849442.509 767690.447 0, 849728.652 767681.594 0, 850014.795 767672.758 0, 850300.938 767663.939 0, 850587.082 767655.136 0, 850873.227 767646.35 0, 851159.372 767637.582 0, 851445.517 767628.829 0,
+ 851731.663 767620.094 0, 852017.81 767611.376 0, 852303.957 767602.674 0, 852590.104 767593.99 0, 852876.252 767585.322 0, 853162.401 767576.671 0, 853448.55 767568.037 0, 853734.7 767559.419 0, 854020.85 767550.819 0, 854307.001 767542.235 0,
+ 854593.152 767533.669 0, 854879.303 767525.119 0, 855165.455 767516.586 0, 855451.608 767508.069 0, 855736.354 767499.612 0, 856023.915 767491.087 0, 856310.069 767482.622 0, 856596.224 767474.173 0, 856882.379 767465.741 0, 857168.534 767457.325 0,
+ 857454.69 767448.927 0, 857740.847 767440.546 0, 858027.004 767432.181 0, 858313.162 767423.833 0, 858599.32 767415.502 0, 858885.478 767407.188 0, 859171.637 767398.891 0, 859457.797 767390.61 0, 859743.957 767382.347 0, 860030.118 767374.1 0,
+ 860316.279 767365.87 0, 860602.44 767357.657 0, 860888.602 767349.461 0, 861174.765 767341.281 0, 861460.927 767333.119 0, 861747.091 767324.973 0, 862033.255 767316.844 0, 862319.419 767308.732 0, 862604.177 767300.677 0, 862446.746 761729.721 0,
+ 862289.321 756159.015 0))
+
+POLYGON ((876340.634 766931.912 0, 876055.852 766939.163 0, 875769.666 766946.466 0, 875483.48 766953.787 0, 875197.295 766961.124 0, 874911.11 766968.478 0, 874624.926 766975.849 0, 874338.742 766983.237 0, 874052.558 766990.641 0, 873766.375 766998.063 0,
+ 873480.192 767005.501 0, 873194.01 767012.956 0, 872907.828 767020.428 0, 872621.647 767027.917 0, 872335.466 767035.422 0, 872049.285 767042.945 0, 871763.105 767050.484 0, 871476.926 767058.04 0, 871190.747 767065.614 0, 870904.568 767073.203 0,
+ 870618.39 767080.81 0, 870332.212 767088.434 0, 870046.034 767096.074 0, 869759.858 767103.731 0, 869472.276 767111.443 0, 869187.505 767119.096 0, 868901.33 767126.804 0, 868615.154 767134.529 0, 868328.98 767142.27 0, 868042.806 767150.029 0,
+ 867756.632 767157.804 0, 867470.459 767165.596 0, 867184.286 767173.405 0, 866898.113 767181.23 0, 866611.942 767189.073 0, 866325.77 767196.932 0, 866039.599 767204.808 0, 865753.429 767212.701 0, 865467.259 767220.611 0, 865181.089 767228.538 0,
+ 864894.92 767236.482 0, 864608.751 767244.442 0, 864322.583 767252.419 0, 864036.415 767260.414 0, 863750.248 767268.425 0, 863464.081 767276.452 0, 863177.915 767284.497 0, 862891.749 767292.559 0, 862604.177 767300.677 0, 862761.616 772871.879 0,
+ 862919.062 778443.325 0, 863205.975 778435.226 0, 863491.485 778427.183 0, 863776.995 778419.157 0, 864062.506 778411.147 0, 864348.017 778403.155 0, 864633.529 778395.179 0, 864919.041 778387.22 0, 865204.554 778379.278 0, 865490.067 778371.352 0,
+ 865775.581 778363.444 0, 866061.095 778355.552 0, 866346.61 778347.677 0, 866632.125 778339.819 0, 866917.641 778331.977 0, 867203.157 778324.153 0, 867488.673 778316.345 0, 867774.19 778308.554 0, 868059.708 778300.78 0, 868345.226 778293.023 0,
+ 868630.744 778285.282 0, 868916.263 778277.558 0, 869201.782 778269.851 0, 869487.302 778262.161 0, 869771.419 778254.526 0, 870058.342 778246.832 0, 870343.863 778239.192 0, 870629.385 778231.569 0, 870914.907 778223.963 0, 871200.429 778216.374 0,
+ 871485.952 778208.801 0, 871771.475 778201.245 0, 872056.999 778193.707 0, 872342.523 778186.184 0, 872628.048 778178.679 0, 872913.573 778171.191 0, 873199.098 778163.719 0, 873484.624 778156.264 0, 873770.151 778148.826 0, 874055.678 778141.405 0,
+ 874341.205 778134.001 0, 874626.732 778126.613 0, 874912.261 778119.242 0, 875197.789 778111.888 0, 875483.318 778104.551 0, 875768.848 778097.23 0, 876054.377 778089.927 0, 876339.908 778082.64 0, 876624.037 778075.406 0, 876482.332 772503.537 0,
+ 876340.634 766931.912 0))
+
+POLYGON ((890329.997 777746.207 0, 890045.846 777752.638 0, 889760.297 777759.118 0, 889474.747 777765.615 0, 889189.198 777772.129 0, 888903.65 777778.659 0, 888618.101 777785.207 0, 888332.554 777791.771 0, 888047.006 777798.352 0, 887761.459 777804.949 0,
+ 887475.913 777811.564 0, 887190.366 777818.195 0, 886904.82 777824.843 0, 886619.275 777831.508 0, 886333.73 777838.19 0, 886048.185 777844.889 0, 885762.641 777851.604 0, 885477.097 777858.336 0, 885191.554 777865.085 0, 884906.011 777871.851 0,
+ 884620.468 777878.634 0, 884334.926 777885.433 0, 884049.384 777892.249 0, 883763.842 777899.082 0, 883476.901 777905.966 0, 883192.76 777912.799 0, 882907.22 777919.682 0, 882621.68 777926.583 0, 882336.141 777933.5 0, 882050.602 777940.434 0,
+ 881765.063 777947.384 0, 881479.525 777954.352 0, 881193.987 777961.336 0, 880908.45 777968.337 0, 880622.913 777975.355 0, 880337.376 777982.39 0, 880051.84 777989.441 0, 879766.304 777996.509 0, 879480.769 778003.595 0, 879195.234 778010.696 0,
+ 878909.699 778017.815 0, 878624.165 778024.951 0, 878338.631 778032.103 0, 878053.098 778039.272 0, 877767.565 778046.458 0, 877482.033 778053.661 0, 877196.501 778060.881 0, 876910.969 778068.117 0, 876624.037 778075.406 0, 876765.748 783647.514 0,
+ 876907.464 789219.858 0, 877193.738 789212.586 0, 877478.613 789205.366 0, 877763.489 789198.163 0, 878048.366 789190.977 0, 878333.243 789183.808 0, 878618.12 789176.655 0, 878902.998 789169.519 0, 879187.876 789162.4 0, 879472.754 789155.298 0,
+ 879757.633 789148.212 0, 880042.513 789141.143 0, 880327.393 789134.091 0, 880612.273 789127.056 0, 880897.153 789120.037 0, 881182.034 789113.036 0, 881466.916 789106.051 0, 881751.798 789099.082 0, 882036.68 789092.131 0, 882321.563 789085.196 0,
+ 882606.446 789078.278 0, 882891.329 789071.377 0, 883176.213 789064.493 0, 883461.098 789057.625 0, 883744.585 789050.808 0, 884030.867 789043.94 0, 884315.753 789037.123 0, 884600.639 789030.322 0, 884885.525 789023.538 0, 885170.412 789016.771 0,
+ 885455.299 789010.021 0, 885740.187 789003.288 0, 886025.075 788996.571 0, 886309.963 788989.871 0, 886594.852 788983.188 0, 886879.741 788976.521 0, 887164.63 788969.872 0, 887449.52 788963.239 0, 887734.41 788956.623 0, 888019.301 788950.023 0,
+ 888304.192 788943.441 0, 888589.083 788936.875 0, 888873.975 788930.326 0, 889158.867 788923.794 0, 889443.76 788917.278 0, 889728.653 788910.779 0, 890013.546 788904.297 0, 890298.44 788897.832 0, 890581.938 788891.415 0, 890455.965 783318.693 0,
+ 890329.997 777746.207 0))
+
+POLYGON ((904257.285 788601.607 0, 903973.768 788607.222 0, 903688.857 788612.883 0, 903403.947 788618.56 0, 903119.037 788624.254 0, 902834.127 788629.964 0, 902549.217 788635.692 0, 902264.308 788641.436 0, 901979.399 788647.197 0, 901694.491 788652.974 0,
+ 901409.582 788658.769 0, 901124.675 788664.58 0, 900839.767 788670.408 0, 900554.86 788676.253 0, 900269.953 788682.114 0, 899985.047 788687.993 0, 899700.141 788693.888 0, 899415.235 788699.8 0, 899130.33 788705.728 0, 898845.424 788711.674 0,
+ 898560.52 788717.636 0, 898275.615 788723.615 0, 897990.711 788729.61 0, 897705.808 788735.623 0, 897419.51 788741.681 0, 897136.001 788747.698 0, 896851.099 788753.761 0, 896566.197 788759.84 0, 896281.295 788765.936 0, 895996.393 788772.05 0,
+ 895711.492 788778.179 0, 895426.591 788784.326 0, 895141.691 788790.489 0, 894856.791 788796.669 0, 894571.891 788802.866 0, 894286.992 788809.08 0, 894002.093 788815.31 0, 893717.194 788821.558 0, 893432.296 788827.822 0, 893147.398 788834.102 0,
+ 892862.501 788840.4 0, 892577.604 788846.714 0, 892292.707 788853.045 0, 892007.81 788859.393 0, 891722.914 788865.758 0, 891438.019 788872.139 0, 891153.124 788878.537 0, 890868.229 788884.952 0, 890581.938 788891.415 0, 890707.917 794464.37 0,
+ 890833.9 800037.554 0, 891119.532 800031.106 0, 891403.77 800024.705 0, 891688.01 800018.322 0, 891972.249 800011.955 0, 892256.489 800005.605 0, 892540.73 799999.272 0, 892824.97 799992.956 0, 893109.211 799986.656 0, 893393.453 799980.373 0,
+ 893677.695 799974.107 0, 893961.937 799967.857 0, 894246.179 799961.624 0, 894530.422 799955.408 0, 894814.665 799949.209 0, 895098.909 799943.026 0, 895383.153 799936.86 0, 895667.398 799930.711 0, 895951.642 799924.579 0, 896235.887 799918.463 0,
+ 896520.133 799912.364 0, 896804.379 799906.282 0, 897088.625 799900.216 0, 897372.871 799894.167 0, 897655.726 799888.165 0, 897941.365 799882.12 0, 898225.613 799876.121 0, 898509.861 799870.14 0, 898794.109 799864.174 0, 899078.358 799858.226 0,
+ 899362.607 799852.294 0, 899646.856 799846.379 0, 899931.106 799840.481 0, 900215.356 799834.6 0, 900499.606 799828.735 0, 900783.857 799822.887 0, 901068.108 799817.056 0, 901352.36 799811.241 0, 901636.611 799805.443 0, 901920.863 799799.662 0,
+ 902205.116 799793.898 0, 902489.369 799788.15 0, 902773.622 799782.419 0, 903057.875 799776.705 0, 903342.129 799771.007 0, 903626.383 799765.327 0, 903910.637 799759.663 0, 904194.892 799754.016 0, 904477.757 799748.412 0, 904367.519 794174.895 0,
+ 904257.285 788601.607 0))
+
+POLYGON ((918122.376 799497.819 0, 917839.494 799502.622 0, 917555.225 799507.467 0, 917270.955 799512.328 0, 916986.686 799517.205 0, 916702.417 799522.1 0, 916418.149 799527.011 0, 916133.881 799531.938 0, 915849.613 799536.883 0, 915565.345 799541.844 0,
+ 915281.078 799546.822 0, 914996.811 799551.817 0, 914712.544 799556.829 0, 914428.278 799561.857 0, 914144.012 799566.902 0, 913859.746 799571.963 0, 913575.481 799577.042 0, 913291.215 799582.137 0, 913006.95 799587.249 0, 912722.686 799592.377 0,
+ 912438.421 799597.523 0, 912154.157 799602.685 0, 911869.894 799607.864 0, 911585.63 799613.059 0, 911299.978 799618.297 0, 911017.104 799623.5 0, 910732.842 799628.746 0, 910448.58 799634.009 0, 910164.318 799639.288 0, 909880.056 799644.584 0,
+ 909595.795 799649.896 0, 909311.534 799655.226 0, 909027.274 799660.572 0, 908743.013 799665.935 0, 908458.753 799671.314 0, 908174.494 799676.711 0, 907890.234 799682.124 0, 907605.975 799687.553 0, 907321.717 799693 0, 907037.458 799698.463 0,
+ 906753.2 799703.943 0, 906468.942 799709.44 0, 906184.685 799714.953 0, 905900.428 799720.483 0, 905616.171 799726.03 0, 905331.915 799731.594 0, 905047.659 799737.174 0, 904763.403 799742.771 0, 904477.757 799748.412 0, 904587.999 805322.155 0,
+ 904698.246 810896.119 0, 904983.233 810890.491 0, 905266.832 810884.907 0, 905550.432 810879.339 0, 905834.033 810873.789 0, 906117.633 810868.255 0, 906401.234 810862.737 0, 906684.835 810857.237 0, 906968.437 810851.753 0, 907252.039 810846.285 0,
+ 907535.641 810840.835 0, 907819.244 810835.401 0, 908102.847 810829.983 0, 908386.45 810824.583 0, 908670.053 810819.199 0, 908953.657 810813.832 0, 909237.261 810808.481 0, 909520.866 810803.148 0, 909804.471 810797.831 0, 910088.076 810792.53 0,
+ 910371.681 810787.247 0, 910655.287 810781.98 0, 910938.893 810776.729 0, 911222.499 810771.496 0, 911504.719 810766.304 0, 911789.713 810761.078 0, 912073.32 810755.895 0, 912356.927 810750.728 0, 912640.535 810745.578 0, 912924.143 810740.444 0,
+ 913207.752 810735.328 0, 913491.361 810730.228 0, 913774.97 810725.144 0, 914058.579 810720.078 0, 914342.189 810715.028 0, 914625.799 810709.994 0, 914909.409 810704.978 0, 915193.02 810699.978 0, 915476.63 810694.995 0, 915760.242 810690.028 0,
+ 916043.853 810685.078 0, 916327.465 810680.145 0, 916611.077 810675.229 0, 916894.689 810670.329 0, 917178.302 810665.446 0, 917461.914 810660.579 0, 917745.528 810655.73 0, 918029.141 810650.897 0, 918311.369 810646.104 0, 918216.871 805071.85 0,
+ 918122.376 799497.819 0))
+
+POLYGON ((931925.145 810434.549 0, 931642.902 810438.544 0, 931359.276 810442.576 0, 931075.65 810446.625 0, 930792.025 810450.69 0, 930508.4 810454.771 0, 930224.775 810458.87 0, 929941.15 810462.985 0, 929657.525 810467.117 0, 929373.901 810471.266 0,
+ 929090.277 810475.431 0, 928806.653 810479.613 0, 928523.03 810483.811 0, 928239.406 810488.027 0, 927955.783 810492.259 0, 927672.161 810496.507 0, 927388.538 810500.773 0, 927104.916 810505.055 0, 926821.294 810509.354 0, 926537.672 810513.669 0,
+ 926254.05 810518.002 0, 925970.429 810522.35 0, 925686.808 810526.716 0, 925403.187 810531.098 0, 925118.183 810535.519 0, 924835.947 810539.913 0, 924552.327 810544.345 0, 924268.707 810548.794 0, 923985.087 810553.26 0, 923701.468 810557.742 0,
+ 923417.849 810562.242 0, 923134.231 810566.757 0, 922850.612 810571.29 0, 922566.994 810575.839 0, 922283.376 810580.405 0, 921999.759 810584.988 0, 921716.141 810589.587 0, 921432.524 810594.203 0, 921148.907 810598.836 0, 920865.291 810603.485 0,
+ 920581.675 810608.151 0, 920298.059 810612.834 0, 920014.443 810617.533 0, 919730.828 810622.249 0, 919447.212 810626.982 0, 919163.598 810631.732 0, 918879.983 810636.498 0, 918596.369 810641.281 0, 918311.369 810646.104 0, 918405.872 816220.575 0,
+ 918500.378 821795.261 0, 918784.718 821790.449 0, 919067.676 821785.677 0, 919350.634 821780.922 0, 919633.593 821776.183 0, 919916.552 821771.462 0, 920199.511 821766.756 0, 920482.471 821762.068 0, 920765.43 821757.396 0, 921048.39 821752.741 0,
+ 921331.351 821748.102 0, 921614.311 821743.48 0, 921897.272 821738.875 0, 922180.233 821734.286 0, 922463.195 821729.714 0, 922746.156 821725.159 0, 923029.118 821720.62 0, 923312.08 821716.098 0, 923595.043 821711.593 0, 923878.005 821707.104 0,
+ 924160.968 821702.632 0, 924443.932 821698.177 0, 924726.895 821693.738 0, 925009.859 821689.316 0, 925291.442 821684.932 0, 925575.787 821680.521 0, 925858.752 821676.149 0, 926141.716 821671.794 0, 926424.682 821667.455 0, 926707.647 821663.133 0,
+ 926990.612 821658.827 0, 927273.578 821654.538 0, 927556.544 821650.266 0, 927839.511 821646.011 0, 928122.477 821641.772 0, 928405.444 821637.55 0, 928688.411 821633.344 0, 928971.378 821629.155 0, 929254.346 821624.983 0, 929537.314 821620.827 0,
+ 929820.282 821616.688 0, 930103.25 821612.566 0, 930386.218 821608.46 0, 930669.187 821604.371 0, 930952.156 821600.299 0, 931235.125 821596.243 0, 931518.095 821592.204 0, 931801.065 821588.182 0, 932082.655 821584.196 0, 932003.898 816009.265 0,
+ 931925.145 810434.549 0))
+
+POLYGON ((945665.473 821411.503 0, 945383.871 821414.694 0, 945100.891 821417.917 0, 944817.911 821421.157 0, 944534.932 821424.413 0, 944251.952 821427.686 0, 943968.973 821430.975 0, 943685.994 821434.281 0, 943403.015 821437.604 0, 943120.037 821440.944 0,
+ 942837.058 821444.3 0, 942554.08 821447.673 0, 942271.102 821451.062 0, 941988.124 821454.468 0, 941705.147 821457.891 0, 941422.169 821461.331 0, 941139.192 821464.787 0, 940856.215 821468.26 0, 940573.238 821471.749 0, 940290.262 821475.255 0,
+ 940007.285 821478.778 0, 939724.309 821482.317 0, 939441.333 821485.873 0, 939158.357 821489.446 0, 938874.003 821493.053 0, 938592.407 821496.641 0, 938309.431 821500.264 0, 938026.456 821503.903 0, 937743.482 821507.559 0, 937460.507 821511.232 0,
+ 937177.533 821514.921 0, 936894.559 821518.627 0, 936611.585 821522.35 0, 936328.612 821526.089 0, 936045.638 821529.845 0, 935762.665 821533.617 0, 935479.692 821537.406 0, 935196.719 821541.212 0, 934913.747 821545.035 0, 934630.775 821548.874 0,
+ 934347.803 821552.73 0, 934064.831 821556.602 0, 933781.859 821560.491 0, 933498.888 821564.397 0, 933215.917 821568.32 0, 932932.946 821572.259 0, 932649.975 821576.215 0, 932367.005 821580.187 0, 932082.655 821584.196 0, 932161.414 827159.337 0,
+ 932240.176 832734.685 0, 932523.867 832730.685 0, 932806.181 832726.722 0, 933088.495 832722.775 0, 933370.81 832718.846 0, 933653.125 832714.932 0, 933935.44 832711.035 0, 934217.755 832707.155 0, 934500.07 832703.292 0, 934782.386 832699.445 0,
+ 935064.702 832695.615 0, 935347.018 832691.801 0, 935629.335 832688.004 0, 935911.651 832684.224 0, 936193.968 832680.46 0, 936476.285 832676.713 0, 936758.603 832672.982 0, 937040.92 832669.268 0, 937323.238 832665.571 0, 937605.556 832661.89 0,
+ 937887.874 832658.226 0, 938170.192 832654.578 0, 938452.511 832650.947 0, 938734.83 832647.333 0, 939015.773 832643.753 0, 939299.468 832640.155 0, 939581.788 832636.59 0, 939864.107 832633.042 0, 940146.427 832629.511 0, 940428.747 832625.997 0,
+ 940711.067 832622.499 0, 940993.388 832619.017 0, 941275.709 832615.553 0, 941558.029 832612.105 0, 941840.351 832608.673 0, 942122.672 832605.258 0, 942404.993 832601.86 0, 942687.315 832598.478 0, 942969.637 832595.113 0, 943251.959 832591.765 0,
+ 943534.281 832588.433 0, 943816.604 832585.118 0, 944098.926 832581.82 0, 944381.249 832578.538 0, 944663.572 832575.272 0, 944945.896 832572.024 0, 945228.219 832568.792 0, 945510.543 832565.576 0, 945791.492 832562.393 0, 945728.481 826986.845 0,
+ 945665.473 821411.503 0))
+
+POLYGON ((959343.24 832428.387 0, 959062.281 832430.776 0, 958779.949 832433.194 0, 958497.618 832435.629 0, 958215.287 832438.08 0, 957932.956 832440.547 0, 957650.625 832443.032 0, 957368.294 832445.533 0, 957085.963 832448.05 0, 956803.632 832450.584 0,
+ 956521.302 832453.135 0, 956238.972 832455.702 0, 955956.642 832458.286 0, 955674.312 832460.887 0, 955391.982 832463.504 0, 955109.652 832466.138 0, 954827.323 832468.789 0, 954544.993 832471.456 0, 954262.664 832474.139 0, 953980.335 832476.84 0,
+ 953698.006 832479.557 0, 953415.678 832482.29 0, 953133.349 832485.04 0, 952851.021 832487.807 0, 952567.319 832490.604 0, 952286.364 832493.391 0, 952004.036 832496.207 0, 951721.709 832499.04 0, 951439.381 832501.89 0, 951157.054 832504.757 0,
+ 950874.726 832507.64 0, 950592.399 832510.54 0, 950310.073 832513.456 0, 950027.746 832516.389 0, 949745.419 832519.338 0, 949463.093 832522.305 0, 949180.767 832525.287 0, 948898.441 832528.287 0, 948616.115 832531.303 0, 948333.789 832534.336 0,
+ 948051.464 832537.385 0, 947769.138 832540.451 0, 947486.813 832543.533 0, 947204.488 832546.632 0, 946922.164 832549.748 0, 946639.839 832552.881 0, 946357.515 832556.03 0, 946075.191 832559.195 0, 945791.492 832562.393 0, 945854.505 838138.144 0,
+ 945917.52 843714.095 0, 946200.559 843710.905 0, 946482.227 843707.747 0, 946763.895 843704.605 0, 947045.563 843701.48 0, 947327.231 843698.372 0, 947608.9 843695.28 0, 947890.569 843692.204 0, 948172.237 843689.145 0, 948453.907 843686.103 0,
+ 948735.576 843683.078 0, 949017.245 843680.069 0, 949298.915 843677.076 0, 949580.585 843674.1 0, 949862.255 843671.141 0, 950143.925 843668.198 0, 950425.595 843665.272 0, 950707.266 843662.363 0, 950988.936 843659.47 0, 951270.607 843656.593 0,
+ 951552.278 843653.733 0, 951833.95 843650.89 0, 952115.621 843648.063 0, 952397.292 843645.253 0, 952677.594 843642.473 0, 952960.636 843639.683 0, 953242.308 843636.923 0, 953523.98 843634.179 0, 953805.652 843631.452 0, 954087.325 843628.741 0,
+ 954368.998 843626.047 0, 954650.67 843623.369 0, 954932.343 843620.709 0, 955214.016 843618.064 0, 955495.69 843615.437 0, 955777.363 843612.825 0, 956059.037 843610.231 0, 956340.711 843607.653 0, 956622.384 843605.091 0, 956904.058 843602.547 0,
+ 957185.733 843600.018 0, 957467.407 843597.507 0, 957749.081 843595.012 0, 958030.756 843592.533 0, 958312.431 843590.071 0, 958594.106 843587.626 0, 958875.781 843585.197 0, 959157.456 843582.785 0, 959437.762 843580.401 0, 959390.5 838004.294 0,
+ 959343.24 832428.387 0))
+
+POLYGON ((972958.328 843484.904 0, 972678.014 843486.496 0, 972396.333 843488.112 0, 972114.653 843489.745 0, 971832.972 843491.395 0, 971551.291 843493.061 0, 971269.611 843494.744 0, 970987.93 843496.443 0, 970706.25 843498.159 0, 970424.57 843499.892 0,
+ 970142.89 843501.641 0, 969861.21 843503.406 0, 969579.53 843505.188 0, 969297.85 843506.987 0, 969016.17 843508.803 0, 968734.491 843510.634 0, 968452.811 843512.483 0, 968171.132 843514.348 0, 967889.453 843516.23 0, 967607.774 843518.128 0,
+ 967326.095 843520.043 0, 967044.416 843521.974 0, 966762.737 843523.922 0, 966481.058 843525.887 0, 966198.011 843527.878 0, 965917.701 843529.866 0, 965636.023 843531.88 0, 965354.345 843533.911 0, 965072.667 843535.958 0, 964790.989 843538.022 0,
+ 964509.311 843540.103 0, 964227.633 843542.2 0, 963945.955 843544.314 0, 963664.278 843546.444 0, 963382.601 843548.591 0, 963100.923 843550.755 0, 962819.246 843552.935 0, 962537.569 843555.132 0, 962255.892 843557.345 0, 961974.216 843559.575 0,
+ 961692.539 843561.821 0, 961410.863 843564.084 0, 961129.186 843566.364 0, 960847.51 843568.66 0, 960565.834 843570.972 0, 960284.158 843573.302 0, 960002.483 843575.648 0, 959720.807 843578.01 0, 959437.762 843580.401 0, 959485.025 849156.703 0,
+ 959532.29 854733.198 0, 959814.676 854730.813 0, 960095.695 854728.456 0, 960376.714 854726.115 0, 960657.734 854723.792 0, 960938.753 854721.484 0, 961219.773 854719.193 0, 961500.793 854716.919 0, 961781.813 854714.661 0, 962062.833 854712.42 0,
+ 962343.853 854710.196 0, 962624.874 854707.988 0, 962905.894 854705.796 0, 963186.915 854703.621 0, 963467.936 854701.463 0, 963748.957 854699.321 0, 964029.978 854697.195 0, 964310.999 854695.086 0, 964592.02 854692.994 0, 964873.042 854690.918 0,
+ 965154.063 854688.859 0, 965435.085 854686.816 0, 965716.107 854684.79 0, 965997.128 854682.781 0, 966276.785 854680.797 0, 966559.173 854678.811 0, 966840.195 854676.851 0, 967121.217 854674.908 0, 967402.24 854672.981 0, 967683.262 854671.07 0,
+ 967964.285 854669.176 0, 968245.308 854667.299 0, 968526.331 854665.438 0, 968807.354 854663.594 0, 969088.377 854661.767 0, 969369.4 854659.955 0, 969650.423 854658.161 0, 969931.447 854656.383 0, 970212.47 854654.621 0, 970493.494 854652.876 0,
+ 970774.518 854651.148 0, 971055.542 854649.436 0, 971336.566 854647.741 0, 971617.59 854646.062 0, 971898.614 854644.4 0, 972179.638 854642.754 0, 972460.663 854641.125 0, 972741.687 854639.512 0, 973021.348 854637.924 0, 972989.837 849061.318 0,
+ 972958.328 843484.904 0))
+
+POLYGON ((986510.62 854580.759 0, 986230.954 854581.557 0, 985949.926 854582.376 0, 985668.898 854583.211 0, 985387.87 854584.063 0, 985106.843 854584.931 0, 984825.815 854585.816 0, 984544.787 854586.717 0, 984263.76 854587.635 0, 983982.732 854588.57 0,
+ 983701.705 854589.521 0, 983420.677 854590.488 0, 983139.65 854591.472 0, 982858.623 854592.473 0, 982577.595 854593.49 0, 982296.568 854594.524 0, 982015.541 854595.574 0, 981734.514 854596.641 0, 981453.487 854597.724 0, 981172.46 854598.824 0,
+ 980891.433 854599.941 0, 980610.406 854601.074 0, 980329.38 854602.223 0, 980048.353 854603.389 0, 979765.964 854604.577 0, 979486.3 854605.771 0, 979205.274 854606.986 0, 978924.247 854608.219 0, 978643.221 854609.467 0, 978362.195 854610.733 0,
+ 978081.168 854612.015 0, 977800.142 854613.313 0, 977519.116 854614.628 0, 977238.09 854615.959 0, 976957.065 854617.307 0, 976676.039 854618.672 0, 976395.013 854620.053 0, 976113.988 854621.45 0, 975832.962 854622.865 0, 975551.937 854624.295 0,
+ 975270.911 854625.743 0, 974989.886 854627.206 0, 974708.861 854628.687 0, 974427.836 854630.184 0, 974146.811 854631.697 0, 973865.786 854633.227 0, 973584.761 854634.773 0, 973303.736 854636.336 0, 973021.348 854637.924 0, 973052.859 860214.718 0,
+ 973084.371 865791.696 0, 973366.1 865790.113 0, 973646.468 865788.554 0, 973926.837 865787.011 0, 974207.205 865785.484 0, 974487.574 865783.974 0, 974767.942 865782.481 0, 975048.311 865781.004 0, 975328.68 865779.544 0, 975609.049 865778.1 0,
+ 975889.418 865776.673 0, 976169.787 865775.262 0, 976450.156 865773.867 0, 976730.525 865772.49 0, 977010.894 865771.128 0, 977291.264 865769.783 0, 977571.633 865768.455 0, 977852.002 865767.143 0, 978132.372 865765.848 0, 978412.742 865764.569 0,
+ 978693.111 865763.307 0, 978973.481 865762.061 0, 979253.851 865760.832 0, 979534.221 865759.619 0, 979813.231 865758.428 0, 980094.961 865757.243 0, 980375.331 865756.079 0, 980655.702 865754.932 0, 980936.072 865753.802 0, 981216.442 865752.688 0,
+ 981496.813 865751.591 0, 981777.183 865750.51 0, 982057.554 865749.446 0, 982337.924 865748.398 0, 982618.295 865747.367 0, 982898.666 865746.352 0, 983179.037 865745.354 0, 983459.408 865744.372 0, 983739.778 865743.407 0, 984020.149 865742.458 0,
+ 984300.52 865741.526 0, 984580.892 865740.61 0, 984861.263 865739.71 0, 985141.634 865738.828 0, 985422.005 865737.961 0, 985702.376 865737.112 0, 985982.748 865736.278 0, 986263.119 865735.462 0, 986542.132 865734.665 0, 986526.376 860157.62 0,
+ 986510.62 854580.759 0))
+
+POLYGON ((1000000 865715.655 0, 999720.984 865715.663 0, 999440.611 865715.687 0, 999160.239 865715.729 0, 998879.866 865715.786 0, 998599.494 865715.861 0, 998319.121 865715.951 0, 998038.749 865716.058 0, 997758.376 865716.182 0, 997478.003 865716.322 0,
+ 997197.631 865716.479 0, 996917.258 865716.652 0, 996636.886 865716.842 0, 996356.513 865717.048 0, 996076.141 865717.271 0, 995795.768 865717.51 0, 995515.396 865717.766 0, 995235.023 865718.038 0, 994954.651 865718.327 0, 994674.279 865718.632 0,
+ 994393.906 865718.953 0, 994113.534 865719.292 0, 993833.161 865719.646 0, 993552.789 865720.018 0, 993271.059 865720.407 0, 992992.045 865720.81 0, 992711.672 865721.23 0, 992431.3 865721.668 0, 992150.928 865722.121 0, 991870.556 865722.591 0,
+ 991590.183 865723.078 0, 991309.811 865723.581 0, 991029.439 865724.101 0, 990749.067 865724.637 0, 990468.695 865725.19 0, 990188.323 865725.759 0, 989907.951 865726.345 0, 989627.579 865726.947 0, 989347.207 865727.566 0, 989066.835 865728.201 0,
+ 988786.464 865728.853 0, 988506.092 865729.521 0, 988225.72 865730.206 0, 987945.348 865730.907 0, 987664.977 865731.625 0, 987384.605 865732.359 0, 987104.234 865733.11 0, 986823.862 865733.878 0, 986542.132 865734.665 0, 986557.889 871311.891 0,
+ 986573.646 876889.294 0, 986854.716 876888.509 0, 987134.431 876887.743 0, 987414.146 876886.994 0, 987693.861 876886.262 0, 987973.577 876885.546 0, 988253.292 876884.846 0, 988533.007 876884.163 0, 988812.722 876883.496 0, 989092.437 876882.846 0,
+ 989372.153 876882.212 0, 989651.868 876881.595 0, 989931.584 876880.994 0, 990211.299 876880.41 0, 990491.014 876879.842 0, 990770.73 876879.29 0, 991050.445 876878.755 0, 991330.161 876878.237 0, 991609.877 876877.735 0, 991889.592 876877.249 0,
+ 992169.308 876876.78 0, 992449.024 876876.327 0, 992728.739 876875.891 0, 993008.455 876875.471 0, 993286.816 876875.07 0, 993567.886 876874.681 0, 993847.602 876874.311 0, 994127.318 876873.957 0, 994407.034 876873.62 0, 994686.75 876873.299 0,
+ 994966.466 876872.994 0, 995246.182 876872.706 0, 995525.897 876872.435 0, 995805.613 876872.179 0, 996085.329 876871.941 0, 996365.045 876871.719 0, 996644.761 876871.513 0, 996924.477 876871.324 0, 997204.193 876871.151 0, 997483.909 876870.995 0,
+ 997763.625 876870.855 0, 998043.341 876870.731 0, 998323.057 876870.624 0, 998602.773 876870.534 0, 998882.489 876870.46 0, 999162.205 876870.402 0, 999441.921 876870.361 0, 999721.637 876870.337 0, 1000000 876870.329 0, 1000000 871292.903 0,
+ 1000000 865715.655 0))
+
+POLYGON ((1013426.354 876889.294 0, 1013147.99 876888.516 0, 1012868.275 876887.751 0, 1012588.56 876887.001 0, 1012308.845 876886.269 0, 1012029.13 876885.552 0, 1011749.415 876884.853 0, 1011469.7 876884.169 0, 1011189.985 876883.503 0, 1010910.269 876882.852 0,
+ 1010630.554 876882.218 0, 1010350.839 876881.601 0, 1010071.123 876881 0, 1009791.408 876880.415 0, 1009511.692 876879.847 0, 1009231.977 876879.296 0, 1008952.261 876878.76 0, 1008672.546 876878.242 0, 1008392.83 876877.739 0, 1008113.115 876877.254 0,
+ 1007833.399 876876.784 0, 1007553.683 876876.332 0, 1007273.968 876875.895 0, 1006994.252 876875.475 0, 1006713.184 876875.07 0, 1006434.82 876874.685 0, 1006155.105 876874.314 0, 1005875.389 876873.96 0, 1005595.673 876873.623 0, 1005315.957 876873.302 0,
+ 1005036.241 876872.997 0, 1004756.525 876872.709 0, 1004476.809 876872.437 0, 1004197.093 876872.182 0, 1003917.377 876871.943 0, 1003637.662 876871.721 0, 1003357.946 876871.515 0, 1003078.23 876871.325 0, 1002798.514 876871.152 0, 1002518.798 876870.996 0,
+ 1002239.082 876870.856 0, 1001959.366 876870.732 0, 1001679.65 876870.625 0, 1001399.934 876870.535 0, 1001120.218 876870.461 0, 1000840.501 876870.403 0, 1000560.785 876870.362 0, 1000281.069 876870.337 0, 1000000 876870.329 0, 1000000 882447.927 0,
+ 1000000 888025.695 0, 1000280.41 888025.703 0, 1000559.469 888025.728 0, 1000838.529 888025.769 0, 1001117.588 888025.827 0, 1001396.647 888025.901 0, 1001675.707 888025.991 0, 1001954.766 888026.098 0, 1002233.826 888026.221 0, 1002512.885 888026.361 0,
+ 1002791.945 888026.517 0, 1003071.004 888026.69 0, 1003350.063 888026.879 0, 1003629.123 888027.084 0, 1003908.182 888027.306 0, 1004187.242 888027.544 0, 1004466.301 888027.799 0, 1004745.36 888028.07 0, 1005024.419 888028.357 0, 1005303.479 888028.661 0,
+ 1005582.538 888028.982 0, 1005861.597 888029.318 0, 1006140.657 888029.672 0, 1006419.716 888030.041 0, 1006697.426 888030.425 0, 1006977.834 888030.83 0, 1007256.893 888031.249 0, 1007535.952 888031.684 0, 1007815.011 888032.136 0, 1008094.071 888032.604 0,
+ 1008373.13 888033.089 0, 1008652.189 888033.59 0, 1008931.248 888034.107 0, 1009210.306 888034.641 0, 1009489.365 888035.191 0, 1009768.424 888035.758 0, 1010047.483 888036.341 0, 1010326.542 888036.941 0, 1010605.601 888037.557 0, 1010884.659 888038.189 0,
+ 1011163.718 888038.838 0, 1011442.777 888039.503 0, 1011721.835 888040.185 0, 1012000.894 888040.883 0, 1012279.953 888041.598 0, 1012559.011 888042.329 0, 1012838.07 888043.076 0, 1013117.128 888043.84 0, 1013394.838 888044.616 0, 1013410.596 882466.871 0,
+ 1013426.354 876889.294 0))
+
+POLYGON ((1026789.57 888101.381 0, 1026511.86 888099.82 0, 1026232.805 888098.267 0, 1025953.75 888096.732 0, 1025674.695 888095.212 0, 1025395.639 888093.709 0, 1025116.584 888092.223 0, 1024837.528 888090.753 0, 1024558.473 888089.299 0, 1024279.417 888087.862 0,
+ 1024000.361 888086.441 0, 1023721.305 888085.036 0, 1023442.249 888083.649 0, 1023163.193 888082.277 0, 1022884.137 888080.922 0, 1022605.081 888079.583 0, 1022326.024 888078.261 0, 1022046.968 888076.955 0, 1021767.911 888075.666 0, 1021488.855 888074.393 0,
+ 1021209.798 888073.136 0, 1020930.741 888071.896 0, 1020651.685 888070.672 0, 1020372.628 888069.465 0, 1020092.224 888068.268 0, 1019814.514 888067.099 0, 1019535.457 888065.941 0, 1019256.4 888064.8 0, 1018977.343 888063.675 0, 1018698.285 888062.566 0,
+ 1018419.228 888061.474 0, 1018140.171 888060.398 0, 1017861.113 888059.338 0, 1017582.056 888058.295 0, 1017302.998 888057.268 0, 1017023.94 888056.258 0, 1016744.883 888055.264 0, 1016465.825 888054.287 0, 1016186.767 888053.326 0, 1015907.709 888052.382 0,
+ 1015628.651 888051.454 0, 1015349.593 888050.542 0, 1015070.535 888049.647 0, 1014791.477 888048.768 0, 1014512.419 888047.906 0, 1014233.361 888047.06 0, 1013954.303 888046.23 0, 1013675.245 888045.417 0, 1013394.838 888044.616 0, 1013379.08 893622.528 0,
+ 1013363.32 899200.6 0, 1013643.067 899201.399 0, 1013921.469 899202.21 0, 1014199.87 899203.038 0, 1014478.272 899203.882 0, 1014756.673 899204.742 0, 1015035.075 899205.619 0, 1015313.476 899206.512 0, 1015591.878 899207.421 0, 1015870.279 899208.347 0,
+ 1016148.68 899209.29 0, 1016427.081 899210.248 0, 1016705.482 899211.223 0, 1016983.883 899212.215 0, 1017262.284 899213.223 0, 1017540.685 899214.247 0, 1017819.086 899215.287 0, 1018097.487 899216.344 0, 1018375.888 899217.418 0, 1018654.289 899218.508 0,
+ 1018932.689 899219.614 0, 1019211.09 899220.736 0, 1019489.49 899221.875 0, 1019767.891 899223.03 0, 1020044.947 899224.196 0, 1020324.691 899225.39 0, 1020603.092 899226.595 0, 1020881.492 899227.816 0, 1021159.892 899229.053 0, 1021438.292 899230.306 0,
+ 1021716.692 899231.576 0, 1021995.092 899232.863 0, 1022273.491 899234.166 0, 1022551.891 899235.485 0, 1022830.291 899236.82 0, 1023108.69 899238.172 0, 1023387.09 899239.541 0, 1023665.489 899240.925 0, 1023943.889 899242.326 0, 1024222.288 899243.744 0,
+ 1024500.687 899245.178 0, 1024779.086 899246.628 0, 1025057.485 899248.095 0, 1025335.884 899249.578 0, 1025614.283 899251.077 0, 1025892.681 899252.593 0, 1026171.08 899254.125 0, 1026449.478 899255.674 0, 1026726.534 899257.231 0, 1026758.052 893679.225 0,
+ 1026789.57 888101.381 0))
+
+POLYGON ((1040089.535 899351.615 0, 1039812.482 899349.275 0, 1039534.089 899346.94 0, 1039255.696 899344.621 0, 1038977.303 899342.319 0, 1038698.909 899340.033 0, 1038420.516 899337.763 0, 1038142.122 899335.51 0, 1037863.728 899333.273 0, 1037585.334 899331.053 0,
+ 1037306.94 899328.849 0, 1037028.546 899326.661 0, 1036750.151 899324.49 0, 1036471.757 899322.335 0, 1036193.362 899320.197 0, 1035914.968 899318.075 0, 1035636.573 899315.969 0, 1035358.178 899313.88 0, 1035079.783 899311.807 0, 1034801.387 899309.75 0,
+ 1034522.992 899307.71 0, 1034244.597 899305.686 0, 1033966.201 899303.679 0, 1033687.805 899301.688 0, 1033408.068 899299.704 0, 1033131.013 899297.755 0, 1032852.617 899295.813 0, 1032574.221 899293.888 0, 1032295.825 899291.979 0, 1032017.428 899290.086 0,
+ 1031739.032 899288.21 0, 1031460.635 899286.35 0, 1031182.239 899284.506 0, 1030903.842 899282.679 0, 1030625.445 899280.869 0, 1030347.048 899279.074 0, 1030068.651 899277.296 0, 1029790.253 899275.535 0, 1029511.856 899273.789 0, 1029233.459 899272.061 0,
+ 1028955.061 899270.348 0, 1028676.663 899268.652 0, 1028398.266 899266.972 0, 1028119.868 899265.309 0, 1027841.47 899263.662 0, 1027563.072 899262.032 0, 1027284.674 899260.418 0, 1027006.275 899258.82 0, 1026726.534 899257.231 0, 1026695.015 904835.395 0,
+ 1026663.495 910413.713 0, 1026942.577 910415.298 0, 1027220.318 910416.892 0, 1027498.06 910418.502 0, 1027775.801 910420.129 0, 1028053.542 910421.772 0, 1028331.284 910423.431 0, 1028609.025 910425.107 0, 1028886.766 910426.799 0, 1029164.507 910428.507 0,
+ 1029442.247 910430.232 0, 1029719.988 910431.973 0, 1029997.729 910433.73 0, 1030275.469 910435.504 0, 1030553.21 910437.294 0, 1030830.95 910439.101 0, 1031108.69 910440.924 0, 1031386.43 910442.763 0, 1031664.17 910444.618 0, 1031941.91 910446.49 0,
+ 1032219.65 910448.378 0, 1032497.39 910450.283 0, 1032775.129 910452.204 0, 1033052.868 910454.141 0, 1033329.269 910456.085 0, 1033608.347 910458.065 0, 1033886.086 910460.051 0, 1034163.825 910462.054 0, 1034441.564 910464.073 0, 1034719.303 910466.108 0,
+ 1034997.041 910468.16 0, 1035274.78 910470.228 0, 1035552.518 910472.312 0, 1035830.256 910474.413 0, 1036107.994 910476.53 0, 1036385.732 910478.663 0, 1036663.47 910480.813 0, 1036941.208 910482.979 0, 1037218.946 910485.161 0, 1037496.683 910487.36 0,
+ 1037774.42 910489.575 0, 1038052.158 910491.807 0, 1038329.895 910494.055 0, 1038607.632 910496.319 0, 1038885.368 910498.6 0, 1039163.105 910500.896 0, 1039440.842 910503.21 0, 1039718.578 910505.539 0, 1039994.977 910507.874 0, 1040042.256 904929.667 0,
+ 1040089.535 899351.615 0))
+
+POLYGON ((1053326.139 910639.699 0, 1053049.746 910636.583 0, 1052772.017 910633.469 0, 1052494.288 910630.371 0, 1052216.559 910627.289 0, 1051938.83 910624.224 0, 1051661.101 910621.175 0, 1051383.371 910618.143 0, 1051105.641 910615.127 0, 1050827.911 910612.127 0,
+ 1050550.181 910609.144 0, 1050272.451 910606.176 0, 1049994.72 910603.226 0, 1049716.989 910600.291 0, 1049439.259 910597.373 0, 1049161.528 910594.471 0, 1048883.796 910591.586 0, 1048606.065 910588.717 0, 1048328.334 910585.864 0, 1048050.602 910583.028 0,
+ 1047772.87 910580.208 0, 1047495.138 910577.404 0, 1047217.406 910574.617 0, 1046939.673 910571.846 0, 1046660.605 910569.078 0, 1046384.208 910566.353 0, 1046106.475 910563.631 0, 1045828.742 910560.926 0, 1045551.009 910558.237 0, 1045273.276 910555.564 0,
+ 1044995.542 910552.907 0, 1044717.809 910550.267 0, 1044440.075 910547.643 0, 1044162.341 910545.036 0, 1043884.607 910542.445 0, 1043606.873 910539.87 0, 1043329.138 910537.311 0, 1043051.404 910534.769 0, 1042773.669 910532.244 0, 1042495.934 910529.734 0,
+ 1042218.199 910527.241 0, 1041940.464 910524.764 0, 1041662.729 910522.304 0, 1041384.994 910519.86 0, 1041107.258 910517.432 0, 1040829.522 910515.021 0, 1040551.786 910512.626 0, 1040274.05 910510.247 0, 1039994.977 910507.874 0, 1039947.696 916086.23 0,
+ 1039900.414 921664.733 0, 1040178.828 921667.101 0, 1040455.907 921669.474 0, 1040732.986 921671.863 0, 1041010.065 921674.269 0, 1041287.144 921676.691 0, 1041564.223 921679.129 0, 1041841.302 921681.583 0, 1042118.38 921684.054 0, 1042395.458 921686.541 0,
+ 1042672.536 921689.045 0, 1042949.615 921691.565 0, 1043226.692 921694.101 0, 1043503.77 921696.653 0, 1043780.848 921699.222 0, 1044057.925 921701.807 0, 1044335.002 921704.408 0, 1044612.079 921707.026 0, 1044889.156 921709.66 0, 1045166.233 921712.31 0,
+ 1045443.31 921714.977 0, 1045720.386 921717.659 0, 1045997.463 921720.359 0, 1046274.539 921723.074 0, 1046550.282 921725.793 0, 1046828.691 921728.554 0, 1047105.766 921731.318 0, 1047382.842 921734.099 0, 1047659.917 921736.896 0, 1047936.993 921739.709 0,
+ 1048214.068 921742.539 0, 1048491.142 921745.385 0, 1048768.217 921748.247 0, 1049045.292 921751.126 0, 1049322.366 921754.021 0, 1049599.44 921756.932 0, 1049876.514 921759.859 0, 1050153.588 921762.803 0, 1050430.662 921765.763 0, 1050707.735 921768.739 0,
+ 1050984.809 921771.732 0, 1051261.882 921774.741 0, 1051538.955 921777.767 0, 1051816.027 921780.808 0, 1052093.1 921783.866 0, 1052370.173 921786.94 0, 1052647.245 921790.031 0, 1052924.317 921793.138 0, 1053200.057 921796.246 0, 1053263.099 916217.899 0,
+ 1053326.139 910639.699 0))
+
+POLYGON ((1066499.275 921965.332 0, 1066223.543 921961.445 0, 1065946.48 921957.556 0, 1065669.418 921953.682 0, 1065392.355 921949.825 0, 1065115.292 921945.985 0, 1064838.229 921942.16 0, 1064561.166 921938.352 0, 1064284.103 921934.56 0, 1064007.039 921930.785 0,
+ 1063729.975 921927.026 0, 1063452.911 921923.283 0, 1063175.846 921919.556 0, 1062898.782 921915.846 0, 1062621.717 921912.152 0, 1062344.652 921908.474 0, 1062067.586 921904.813 0, 1061790.521 921901.168 0, 1061513.455 921897.539 0, 1061236.389 921893.927 0,
+ 1060959.323 921890.331 0, 1060682.257 921886.751 0, 1060405.19 921883.188 0, 1060128.123 921879.64 0, 1059849.725 921876.093 0, 1059573.989 921872.595 0, 1059296.922 921869.097 0, 1059019.854 921865.615 0, 1058742.786 921862.149 0, 1058465.718 921858.7 0,
+ 1058188.65 921855.267 0, 1057911.582 921851.85 0, 1057634.513 921848.45 0, 1057357.444 921845.066 0, 1057080.375 921841.698 0, 1056803.306 921838.346 0, 1056526.237 921835.011 0, 1056249.167 921831.692 0, 1055972.097 921828.39 0, 1055695.027 921825.103 0,
+ 1055417.957 921821.833 0, 1055140.887 921818.58 0, 1054863.816 921815.342 0, 1054586.745 921812.121 0, 1054309.674 921808.917 0, 1054032.603 921805.728 0, 1053755.532 921802.556 0, 1053478.46 921799.4 0, 1053200.057 921796.246 0, 1053137.013 927374.735 0,
+ 1053073.968 932953.362 0, 1053351.712 932956.509 0, 1053628.126 932959.657 0, 1053904.541 932962.822 0, 1054180.955 932966.003 0, 1054457.37 932969.2 0, 1054733.784 932972.413 0, 1055010.198 932975.643 0, 1055286.611 932978.889 0, 1055563.025 932982.151 0,
+ 1055839.438 932985.43 0, 1056115.851 932988.724 0, 1056392.264 932992.035 0, 1056668.677 932995.363 0, 1056945.089 932998.706 0, 1057221.502 933002.066 0, 1057497.914 933005.442 0, 1057774.326 933008.834 0, 1058050.738 933012.243 0, 1058327.149 933015.668 0,
+ 1058603.561 933019.109 0, 1058879.972 933022.566 0, 1059156.383 933026.04 0, 1059432.793 933029.53 0, 1059707.876 933033.019 0, 1059985.614 933036.559 0, 1060262.024 933040.098 0, 1060538.434 933043.653 0, 1060814.844 933047.224 0, 1061091.253 933050.811 0,
+ 1061367.663 933054.415 0, 1061644.072 933058.035 0, 1061920.48 933061.672 0, 1062196.889 933065.324 0, 1062473.297 933068.993 0, 1062749.706 933072.679 0, 1063026.114 933076.38 0, 1063302.521 933080.098 0, 1063578.929 933083.832 0, 1063855.336 933087.582 0,
+ 1064131.743 933091.349 0, 1064408.15 933095.131 0, 1064684.557 933098.93 0, 1064960.963 933102.746 0, 1065237.369 933106.577 0, 1065513.775 933110.425 0, 1065790.181 933114.289 0, 1066066.587 933118.17 0, 1066341.665 933122.048 0, 1066420.471 927543.621 0,
+ 1066499.275 921965.332 0))
+
+POLYGON ((1079608.833 933328.216 0, 1079333.765 933323.561 0, 1079057.371 933318.9 0, 1078780.978 933314.255 0, 1078504.584 933309.626 0, 1078228.189 933305.014 0, 1077951.795 933300.418 0, 1077675.4 933295.838 0, 1077399.005 933291.274 0, 1077122.609 933286.727 0,
+ 1076846.214 933282.195 0, 1076569.818 933277.68 0, 1076293.422 933273.182 0, 1076017.025 933268.7 0, 1075740.629 933264.233 0, 1075464.232 933259.784 0, 1075187.835 933255.35 0, 1074911.437 933250.933 0, 1074635.039 933246.532 0, 1074358.641 933242.147 0,
+ 1074082.243 933237.779 0, 1073805.845 933233.426 0, 1073529.446 933229.09 0, 1073253.047 933224.771 0, 1072975.322 933220.447 0, 1072700.248 933216.18 0, 1072423.848 933211.909 0, 1072147.448 933207.655 0, 1071871.048 933203.417 0, 1071594.648 933199.194 0,
+ 1071318.247 933194.989 0, 1071041.846 933190.799 0, 1070765.445 933186.626 0, 1070489.043 933182.469 0, 1070212.641 933178.328 0, 1069936.239 933174.204 0, 1069659.837 933170.096 0, 1069383.435 933166.004 0, 1069107.032 933161.928 0, 1068830.629 933157.869 0,
+ 1068554.226 933153.826 0, 1068277.822 933149.799 0, 1068001.419 933145.788 0, 1067725.015 933141.794 0, 1067448.611 933137.816 0, 1067172.206 933133.854 0, 1066895.802 933129.909 0, 1066619.397 933125.979 0, 1066341.665 933122.048 0, 1066262.858 938700.609 0,
+ 1066184.048 944279.3 0, 1066461.12 944283.223 0, 1066736.868 944287.143 0, 1067012.616 944291.079 0, 1067288.364 944295.031 0, 1067564.111 944299 0, 1067839.859 944302.984 0, 1068115.605 944306.985 0, 1068391.352 944311.003 0, 1068667.099 944315.036 0,
+ 1068942.845 944319.086 0, 1069218.591 944323.152 0, 1069494.337 944327.234 0, 1069770.082 944331.333 0, 1070045.828 944335.447 0, 1070321.573 944339.578 0, 1070597.317 944343.725 0, 1070873.062 944347.888 0, 1071148.806 944352.068 0, 1071424.55 944356.264 0,
+ 1071700.294 944360.476 0, 1071976.038 944364.704 0, 1072251.781 944368.949 0, 1072527.524 944373.209 0, 1072801.945 944377.466 0, 1073079.01 944381.779 0, 1073354.752 944386.089 0, 1073630.494 944390.414 0, 1073906.236 944394.756 0, 1074181.977 944399.114 0,
+ 1074457.719 944403.489 0, 1074733.46 944407.879 0, 1075009.201 944412.286 0, 1075284.941 944416.709 0, 1075560.681 944421.148 0, 1075836.421 944425.604 0, 1076112.161 944430.075 0, 1076387.901 944434.563 0, 1076663.64 944439.068 0, 1076939.379 944443.588 0,
+ 1077215.117 944448.125 0, 1077490.856 944452.677 0, 1077766.594 944457.246 0, 1078042.332 944461.832 0, 1078318.069 944466.433 0, 1078593.807 944471.051 0, 1078869.544 944475.685 0, 1079145.281 944480.335 0, 1079419.696 944484.979 0, 1079514.266 938906.533 0,
+ 1079608.833 933328.216 0))
+
+POLYGON ((1092654.709 944728.05 0, 1092380.306 944722.631 0, 1092104.584 944717.202 0, 1091828.861 944711.789 0, 1091553.138 944706.392 0, 1091277.414 944701.012 0, 1091001.69 944695.647 0, 1090725.966 944690.299 0, 1090450.242 944684.967 0, 1090174.517 944679.652 0,
+ 1089898.792 944674.352 0, 1089623.067 944669.069 0, 1089347.341 944663.802 0, 1089071.615 944658.552 0, 1088795.888 944653.317 0, 1088520.162 944648.099 0, 1088244.435 944642.897 0, 1087968.708 944637.711 0, 1087692.98 944632.542 0, 1087417.252 944627.388 0,
+ 1087141.524 944622.251 0, 1086865.796 944617.13 0, 1086590.067 944612.026 0, 1086314.338 944606.937 0, 1086037.288 944601.841 0, 1085762.879 944596.809 0, 1085487.149 944591.77 0, 1085211.419 944586.746 0, 1084935.688 944581.739 0, 1084659.957 944576.748 0,
+ 1084384.226 944571.773 0, 1084108.495 944566.814 0, 1083832.763 944561.872 0, 1083557.031 944556.946 0, 1083281.299 944552.036 0, 1083005.566 944547.142 0, 1082729.833 944542.265 0, 1082454.1 944537.404 0, 1082178.367 944532.559 0, 1081902.633 944527.73 0,
+ 1081626.899 944522.918 0, 1081351.165 944518.121 0, 1081075.43 944513.341 0, 1080799.695 944508.577 0, 1080523.96 944503.83 0, 1080248.225 944499.098 0, 1079972.489 944494.383 0, 1079696.753 944489.684 0, 1079419.696 944484.979 0, 1079325.124 950063.552 0,
+ 1079230.549 955642.248 0, 1079506.947 955646.942 0, 1079782.027 955651.629 0, 1080057.106 955656.333 0, 1080332.184 955661.053 0, 1080607.263 955665.79 0, 1080882.341 955670.542 0, 1081157.419 955675.311 0, 1081432.496 955680.096 0, 1081707.574 955684.897 0,
+ 1081982.651 955689.714 0, 1082257.727 955694.547 0, 1082532.804 955699.397 0, 1082807.88 955704.263 0, 1083082.956 955709.145 0, 1083358.031 955714.043 0, 1083633.107 955718.957 0, 1083908.182 955723.888 0, 1084183.257 955728.835 0, 1084458.331 955733.798 0,
+ 1084733.405 955738.777 0, 1085008.479 955743.772 0, 1085283.553 955748.784 0, 1085558.626 955753.811 0, 1085832.382 955758.831 0, 1086108.771 955763.915 0, 1086383.844 955768.992 0, 1086658.916 955774.084 0, 1086933.988 955779.193 0, 1087209.059 955784.318 0,
+ 1087484.13 955789.459 0, 1087759.201 955794.616 0, 1088034.272 955799.789 0, 1088309.342 955804.979 0, 1088584.412 955810.185 0, 1088859.482 955815.407 0, 1089134.551 955820.645 0, 1089409.62 955825.899 0, 1089684.689 955831.17 0, 1089959.757 955836.457 0,
+ 1090234.825 955841.76 0, 1090509.893 955847.079 0, 1090784.96 955852.414 0, 1091060.028 955857.766 0, 1091335.094 955863.133 0, 1091610.161 955868.517 0, 1091885.227 955873.917 0, 1092160.293 955879.334 0, 1092434.042 955884.74 0, 1092544.377 950306.334 0,
+ 1092654.709 944728.05 0))
+
+POLYGON ((1105636.798 956164.534 0, 1105363.062 956158.354 0, 1105088.013 956152.16 0, 1104812.963 956145.983 0, 1104537.913 956139.822 0, 1104262.862 956133.677 0, 1103987.811 956127.549 0, 1103712.76 956121.436 0, 1103437.708 956115.34 0, 1103162.656 956109.26 0,
+ 1102887.604 956103.196 0, 1102612.551 956097.149 0, 1102337.498 956091.117 0, 1102062.445 956085.102 0, 1101787.391 956079.103 0, 1101512.337 956073.12 0, 1101237.282 956067.153 0, 1100962.228 956061.203 0, 1100687.172 956055.268 0, 1100412.117 956049.35 0,
+ 1100137.061 956043.448 0, 1099862.005 956037.562 0, 1099586.948 956031.693 0, 1099311.891 956025.839 0, 1099035.519 956019.974 0, 1098761.776 956014.181 0, 1098486.718 956008.376 0, 1098211.66 956002.588 0, 1097936.601 955996.815 0, 1097661.542 955991.059 0,
+ 1097386.483 955985.319 0, 1097111.423 955979.595 0, 1096836.363 955973.887 0, 1096561.303 955968.196 0, 1096286.242 955962.52 0, 1096011.181 955956.861 0, 1095736.12 955951.218 0, 1095461.058 955945.592 0, 1095185.996 955939.981 0, 1094910.934 955934.387 0,
+ 1094635.871 955928.809 0, 1094360.808 955923.247 0, 1094085.745 955917.701 0, 1093810.682 955912.171 0, 1093535.618 955906.658 0, 1093260.553 955901.161 0, 1092985.489 955895.68 0, 1092710.424 955890.215 0, 1092434.042 955884.74 0, 1092323.706 961463.264 0,
+ 1092213.366 967041.903 0, 1092489.088 967047.365 0, 1092763.496 967052.817 0, 1093037.904 967058.284 0, 1093312.312 967063.769 0, 1093586.719 967069.269 0, 1093861.126 967074.785 0, 1094135.532 967080.318 0, 1094409.939 967085.867 0, 1094684.345 967091.431 0,
+ 1094958.75 967097.012 0, 1095233.156 967102.61 0, 1095507.561 967108.223 0, 1095781.965 967113.852 0, 1096056.37 967119.498 0, 1096330.774 967125.16 0, 1096605.177 967130.838 0, 1096879.581 967136.532 0, 1097153.984 967142.242 0, 1097428.386 967147.968 0,
+ 1097702.788 967153.711 0, 1097977.19 967159.469 0, 1098251.592 967165.244 0, 1098525.993 967171.035 0, 1098799.082 967176.815 0, 1099074.795 967182.666 0, 1099349.195 967188.505 0, 1099623.595 967194.361 0, 1099897.995 967200.232 0, 1100172.394 967206.12 0,
+ 1100446.793 967212.024 0, 1100721.191 967217.944 0, 1100995.589 967223.881 0, 1101269.987 967229.833 0, 1101544.385 967235.802 0, 1101818.782 967241.787 0, 1102093.179 967247.788 0, 1102367.575 967253.805 0, 1102641.971 967259.838 0, 1102916.367 967265.887 0,
+ 1103190.762 967271.953 0, 1103465.157 967278.034 0, 1103739.552 967284.132 0, 1104013.946 967290.246 0, 1104288.34 967296.376 0, 1104562.734 967302.523 0, 1104837.127 967308.685 0, 1105111.52 967314.864 0, 1105384.601 967321.029 0, 1105510.701 961742.724 0,
+ 1105636.798 956164.534 0))
+
+POLYGON ((1118554.995 967637.364 0, 1118281.93 967630.428 0, 1118007.556 967623.474 0, 1117733.181 967616.536 0, 1117458.806 967609.615 0, 1117184.43 967602.71 0, 1116910.055 967595.82 0, 1116635.678 967588.947 0, 1116361.302 967582.09 0, 1116086.924 967575.25 0,
+ 1115812.547 967568.425 0, 1115538.169 967561.617 0, 1115263.791 967554.824 0, 1114989.412 967548.048 0, 1114715.033 967541.288 0, 1114440.653 967534.545 0, 1114166.273 967527.817 0, 1113891.893 967521.105 0, 1113617.512 967514.41 0, 1113343.131 967507.731 0,
+ 1113068.75 967501.068 0, 1112794.368 967494.421 0, 1112519.986 967487.79 0, 1112245.603 967481.175 0, 1111969.91 967474.545 0, 1111696.836 967467.995 0, 1111422.453 967461.428 0, 1111148.068 967454.878 0, 1110873.684 967448.344 0, 1110599.299 967441.827 0,
+ 1110324.913 967435.325 0, 1110050.528 967428.84 0, 1109776.141 967422.37 0, 1109501.755 967415.917 0, 1109227.368 967409.48 0, 1108952.981 967403.06 0, 1108678.593 967396.655 0, 1108404.205 967390.266 0, 1108129.817 967383.894 0, 1107855.428 967377.538 0,
+ 1107581.039 967371.198 0, 1107306.649 967364.874 0, 1107032.259 967358.566 0, 1106757.869 967352.274 0, 1106483.478 967345.999 0, 1106209.087 967339.739 0, 1105934.696 967333.496 0, 1105660.304 967327.269 0, 1105384.601 967321.029 0, 1105258.5 972899.444 0,
+ 1105132.395 978477.965 0, 1105407.438 978484.191 0, 1105681.173 978490.403 0, 1105954.908 978496.631 0, 1106228.642 978502.876 0, 1106502.376 978509.136 0, 1106776.11 978515.413 0, 1107049.843 978521.705 0, 1107323.576 978528.014 0, 1107597.308 978534.339 0,
+ 1107871.041 978540.68 0, 1108144.772 978547.037 0, 1108418.504 978553.41 0, 1108692.235 978559.8 0, 1108965.965 978566.205 0, 1109239.696 978572.627 0, 1109513.425 978579.065 0, 1109787.155 978585.518 0, 1110060.884 978591.988 0, 1110334.613 978598.474 0,
+ 1110608.341 978604.976 0, 1110882.069 978611.495 0, 1111155.797 978618.029 0, 1111429.524 978624.579 0, 1111701.944 978631.115 0, 1111976.977 978637.729 0, 1112250.703 978644.328 0, 1112524.429 978650.942 0, 1112798.154 978657.573 0, 1113071.879 978664.221 0,
+ 1113345.603 978670.884 0, 1113619.327 978677.563 0, 1113893.051 978684.259 0, 1114166.774 978690.97 0, 1114440.497 978697.698 0, 1114714.219 978704.442 0, 1114987.942 978711.202 0, 1115261.663 978717.978 0, 1115535.385 978724.77 0, 1115809.105 978731.578 0,
+ 1116082.826 978738.402 0, 1116356.546 978745.243 0, 1116630.266 978752.099 0, 1116903.985 978758.972 0, 1117177.704 978765.861 0, 1117451.422 978772.766 0, 1117725.14 978779.687 0, 1117998.858 978786.624 0, 1118271.27 978793.544 0, 1118413.134 973215.401 0,
+ 1118554.995 967637.364 0))
+
+POLYGON ((1131409.2 979146.241 0, 1131136.807 979138.551 0, 1130863.11 979130.841 0, 1130589.413 979123.147 0, 1130315.715 979115.468 0, 1130042.017 979107.806 0, 1129768.318 979100.16 0, 1129494.619 979092.53 0, 1129220.919 979084.917 0, 1128947.219 979077.319 0,
+ 1128673.518 979069.738 0, 1128399.817 979062.172 0, 1128126.116 979054.623 0, 1127852.414 979047.09 0, 1127578.712 979039.573 0, 1127305.009 979032.072 0, 1127031.306 979024.587 0, 1126757.602 979017.118 0, 1126483.898 979009.665 0, 1126210.193 979002.229 0,
+ 1125936.488 978994.808 0, 1125662.783 978987.404 0, 1125389.077 978980.016 0, 1125115.371 978972.644 0, 1124840.36 978965.253 0, 1124567.957 978957.948 0, 1124294.249 978950.624 0, 1124020.541 978943.316 0, 1123746.833 978936.025 0, 1123473.124 978928.749 0,
+ 1123199.415 978921.49 0, 1122925.705 978914.247 0, 1122651.995 978907.02 0, 1122378.284 978899.809 0, 1122104.573 978892.614 0, 1121830.862 978885.435 0, 1121557.15 978878.273 0, 1121283.438 978871.126 0, 1121009.725 978863.996 0, 1120736.012 978856.881 0,
+ 1120462.298 978849.783 0, 1120188.584 978842.701 0, 1119914.87 978835.635 0, 1119641.155 978828.585 0, 1119367.44 978821.551 0, 1119093.724 978814.533 0, 1118820.008 978807.532 0, 1118546.292 978800.546 0, 1118271.27 978793.544 0, 1118129.403 984371.789 0,
+ 1117987.534 989950.133 0, 1118261.896 989957.118 0, 1118534.956 989964.087 0, 1118808.015 989971.072 0, 1119081.074 989978.073 0, 1119354.133 989985.089 0, 1119627.191 989992.122 0, 1119900.249 989999.172 0, 1120173.306 990006.237 0, 1120446.363 990013.318 0,
+ 1120719.419 990020.415 0, 1120992.475 990027.528 0, 1121265.531 990034.658 0, 1121538.586 990041.803 0, 1121811.641 990048.965 0, 1122084.695 990056.143 0, 1122357.749 990063.336 0, 1122630.803 990070.546 0, 1122903.856 990077.772 0, 1123176.909 990085.014 0,
+ 1123449.961 990092.272 0, 1123723.013 990099.546 0, 1123996.064 990106.836 0, 1124269.115 990114.142 0, 1124540.864 990121.429 0, 1124815.216 990128.803 0, 1125088.265 990136.157 0, 1125361.314 990143.528 0, 1125634.363 990150.914 0, 1125907.412 990158.317 0,
+ 1126180.459 990165.735 0, 1126453.507 990173.17 0, 1126726.554 990180.621 0, 1126999.601 990188.088 0, 1127272.647 990195.571 0, 1127545.692 990203.07 0, 1127818.738 990210.585 0, 1128091.783 990218.116 0, 1128364.827 990225.664 0, 1128637.871 990233.227 0,
+ 1128910.914 990240.806 0, 1129183.957 990248.402 0, 1129457 990256.013 0, 1129730.042 990263.641 0, 1130003.084 990271.285 0, 1130276.125 990278.944 0, 1130549.166 990286.62 0, 1130822.206 990294.312 0, 1131093.946 990301.983 0, 1131251.575 984724.063 0,
+ 1131409.2 979146.241 0))
+
+POLYGON ((1144199.312 990690.861 0, 1143927.593 990682.422 0, 1143654.575 990673.959 0, 1143381.557 990665.511 0, 1143108.539 990657.08 0, 1142835.52 990648.665 0, 1142562.5 990640.266 0, 1142289.48 990631.883 0, 1142016.46 990623.517 0, 1141743.439 990615.166 0,
+ 1141470.417 990606.831 0, 1141197.395 990598.512 0, 1140924.373 990590.21 0, 1140651.35 990581.923 0, 1140378.326 990573.653 0, 1140105.303 990565.399 0, 1139832.278 990557.16 0, 1139559.253 990548.938 0, 1139286.228 990540.732 0, 1139013.202 990532.542 0,
+ 1138740.176 990524.368 0, 1138467.149 990516.21 0, 1138194.122 990508.068 0, 1137921.094 990499.942 0, 1137646.766 990491.794 0, 1137375.037 990483.739 0, 1137102.008 990475.661 0, 1136828.978 990467.6 0, 1136555.948 990459.554 0, 1136282.917 990451.525 0,
+ 1136009.886 990443.512 0, 1135736.854 990435.514 0, 1135463.822 990427.533 0, 1135190.79 990419.568 0, 1134917.757 990411.619 0, 1134644.723 990403.686 0, 1134371.689 990395.769 0, 1134098.655 990387.868 0, 1133825.62 990379.984 0, 1133552.585 990372.115 0,
+ 1133279.549 990364.262 0, 1133006.513 990356.426 0, 1132733.476 990348.605 0, 1132460.439 990340.801 0, 1132187.401 990333.013 0, 1131914.363 990325.24 0, 1131641.325 990317.484 0, 1131368.286 990309.744 0, 1131093.946 990301.983 0, 1130936.315 995879.998 0,
+ 1130778.681 1001458.102 0, 1131052.361 1001465.844 0, 1131324.743 1001473.566 0, 1131597.125 1001481.303 0, 1131869.507 1001489.057 0, 1132141.888 1001496.827 0, 1132414.268 1001504.612 0, 1132686.648 1001512.414 0, 1132959.028 1001520.232 0, 1133231.407 1001528.065 0,
+ 1133503.786 1001535.915 0, 1133776.164 1001543.781 0, 1134048.542 1001551.663 0, 1134320.919 1001559.56 0, 1134593.296 1001567.474 0, 1134865.672 1001575.404 0, 1135138.048 1001583.35 0, 1135410.424 1001591.312 0, 1135682.799 1001599.29 0, 1135955.173 1001607.284 0,
+ 1136227.547 1001615.294 0, 1136499.921 1001623.32 0, 1136772.294 1001631.362 0, 1137044.667 1001639.421 0, 1137315.743 1001647.456 0, 1137589.41 1001655.585 0, 1137861.782 1001663.691 0, 1138134.152 1001671.814 0, 1138406.523 1001679.952 0, 1138678.892 1001688.106 0,
+ 1138951.262 1001696.277 0, 1139223.63 1001704.463 0, 1139495.999 1001712.665 0, 1139768.366 1001720.884 0, 1140040.734 1001729.118 0, 1140313.101 1001737.369 0, 1140585.467 1001745.636 0, 1140857.833 1001753.918 0, 1141130.198 1001762.217 0, 1141402.563 1001770.531 0,
+ 1141674.928 1001778.862 0, 1141947.292 1001787.209 0, 1142219.655 1001795.572 0, 1142492.018 1001803.95 0, 1142764.38 1001812.345 0, 1143036.742 1001820.756 0, 1143309.104 1001829.183 0, 1143581.465 1001837.626 0, 1143852.53 1001846.045 0, 1144025.923 996268.408 0,
+ 1144199.312 990690.861 0))
+
+POLYGON ((1156925.231 1002270.921 0, 1156654.189 1002261.737 0, 1156381.853 1002252.524 0, 1156109.516 1002243.328 0, 1155837.179 1002234.148 0, 1155564.841 1002224.983 0, 1155292.503 1002215.835 0, 1155020.164 1002206.703 0, 1154747.825 1002197.587 0, 1154475.485 1002188.487 0,
+ 1154203.145 1002179.403 0, 1153930.804 1002170.335 0, 1153658.463 1002161.283 0, 1153386.121 1002152.247 0, 1153113.778 1002143.227 0, 1152841.435 1002134.223 0, 1152569.092 1002125.235 0, 1152296.748 1002116.263 0, 1152024.403 1002107.307 0, 1151752.058 1002098.367 0,
+ 1151479.712 1002089.443 0, 1151207.366 1002080.535 0, 1150935.02 1002071.644 0, 1150662.672 1002062.768 0, 1150389.031 1002053.866 0, 1150117.976 1002045.065 0, 1149845.628 1002036.237 0, 1149573.278 1002027.425 0, 1149300.929 1002018.63 0, 1149028.578 1002009.85 0,
+ 1148756.227 1002001.087 0, 1148483.876 1001992.339 0, 1148211.524 1001983.608 0, 1147939.172 1001974.892 0, 1147666.819 1001966.193 0, 1147394.466 1001957.51 0, 1147122.112 1001948.842 0, 1146849.757 1001940.191 0, 1146577.402 1001931.556 0, 1146305.047 1001922.937 0,
+ 1146032.691 1001914.333 0, 1145760.334 1001905.746 0, 1145487.977 1001897.175 0, 1145215.62 1001888.62 0, 1144943.262 1001880.081 0, 1144670.904 1001871.558 0, 1144398.545 1001863.051 0, 1144126.185 1001854.56 0, 1143852.53 1001846.045 0, 1143679.136 1007423.767 0,
+ 1143505.738 1013001.572 0, 1143778.733 1013010.066 0, 1144050.436 1013018.537 0, 1144322.138 1013027.023 0, 1144593.84 1013035.526 0, 1144865.542 1013044.044 0, 1145137.242 1013052.579 0, 1145408.943 1013061.129 0, 1145680.643 1013069.696 0, 1145952.342 1013078.278 0,
+ 1146224.041 1013086.877 0, 1146495.739 1013095.491 0, 1146767.437 1013104.122 0, 1147039.134 1013112.768 0, 1147310.831 1013121.431 0, 1147582.528 1013130.109 0, 1147854.223 1013138.803 0, 1148125.919 1013147.514 0, 1148397.613 1013156.24 0, 1148669.308 1013164.983 0,
+ 1148941.001 1013173.741 0, 1149212.695 1013182.515 0, 1149484.387 1013191.306 0, 1149756.08 1013200.112 0, 1150026.481 1013208.892 0, 1150299.462 1013217.773 0, 1150571.153 1013226.627 0, 1150842.843 1013235.497 0, 1151114.533 1013244.384 0, 1151386.222 1013253.286 0,
+ 1151657.91 1013262.204 0, 1151929.598 1013271.139 0, 1152201.286 1013280.089 0, 1152472.973 1013289.055 0, 1152744.659 1013298.037 0, 1153016.345 1013307.036 0, 1153288.031 1013316.05 0, 1153559.716 1013325.08 0, 1153831.4 1013334.126 0, 1154103.084 1013343.188 0,
+ 1154374.767 1013352.267 0, 1154646.45 1013361.361 0, 1154918.132 1013370.471 0, 1155189.813 1013379.597 0, 1155461.494 1013388.739 0, 1155733.175 1013397.897 0, 1156004.855 1013407.072 0, 1156276.535 1013416.262 0, 1156546.924 1013425.424 0, 1156736.079 1007848.132 0,
+ 1156925.231 1002270.921 0))
+
+POLYGON ((1169586.861 1013886.119 0, 1169316.496 1013876.192 0, 1169044.844 1013866.235 0, 1168773.19 1013856.293 0, 1168501.537 1013846.367 0, 1168229.883 1013836.458 0, 1167958.228 1013826.564 0, 1167686.573 1013816.686 0, 1167414.917 1013806.825 0, 1167143.26 1013796.979 0,
+ 1166871.603 1013787.149 0, 1166599.945 1013777.335 0, 1166328.287 1013767.538 0, 1166056.628 1013757.756 0, 1165784.969 1013747.99 0, 1165513.309 1013738.24 0, 1165241.648 1013728.507 0, 1164969.987 1013718.789 0, 1164698.325 1013709.087 0, 1164426.663 1013699.401 0,
+ 1164155 1013689.731 0, 1163883.337 1013680.077 0, 1163611.673 1013670.44 0, 1163340.008 1013660.818 0, 1163067.055 1013651.166 0, 1162796.678 1013641.622 0, 1162525.011 1013632.048 0, 1162253.345 1013622.49 0, 1161981.677 1013612.948 0, 1161710.009 1013603.422 0,
+ 1161438.341 1013593.912 0, 1161166.672 1013584.418 0, 1160895.002 1013574.94 0, 1160623.332 1013565.479 0, 1160351.661 1013556.033 0, 1160079.99 1013546.603 0, 1159808.318 1013537.189 0, 1159536.646 1013527.791 0, 1159264.973 1013518.409 0, 1158993.3 1013509.043 0,
+ 1158721.625 1013499.692 0, 1158449.951 1013490.358 0, 1158178.276 1013481.04 0, 1157906.6 1013471.738 0, 1157634.924 1013462.452 0, 1157363.247 1013453.182 0, 1157091.57 1013443.928 0, 1156819.892 1013434.69 0, 1156546.924 1013425.424 0, 1156357.766 1019002.794 0,
+ 1156168.606 1024580.237 0, 1156440.914 1024589.481 0, 1156711.936 1024598.697 0, 1156982.956 1024607.928 0, 1157253.977 1024617.176 0, 1157524.996 1024626.44 0, 1157796.015 1024635.719 0, 1158067.034 1024645.015 0, 1158338.052 1024654.326 0, 1158609.07 1024663.654 0,
+ 1158880.087 1024672.997 0, 1159151.103 1024682.356 0, 1159422.119 1024691.732 0, 1159693.134 1024701.123 0, 1159964.149 1024710.53 0, 1160235.163 1024719.953 0, 1160506.177 1024729.392 0, 1160777.19 1024738.848 0, 1161048.202 1024748.319 0, 1161319.214 1024757.805 0,
+ 1161590.226 1024767.308 0, 1161861.236 1024776.827 0, 1162132.247 1024786.362 0, 1162403.256 1024795.913 0, 1162672.98 1024805.434 0, 1162945.274 1024815.062 0, 1163216.282 1024824.661 0, 1163487.29 1024834.275 0, 1163758.296 1024843.906 0, 1164029.303 1024853.552 0,
+ 1164300.309 1024863.215 0, 1164571.314 1024872.893 0, 1164842.318 1024882.587 0, 1165113.322 1024892.298 0, 1165384.326 1024902.024 0, 1165655.329 1024911.766 0, 1165926.331 1024921.524 0, 1166197.333 1024931.298 0, 1166468.334 1024941.088 0, 1166739.335 1024950.894 0,
+ 1167010.335 1024960.716 0, 1167281.334 1024970.554 0, 1167552.333 1024980.408 0, 1167823.331 1024990.278 0, 1168094.329 1025000.163 0, 1168365.326 1025010.065 0, 1168636.323 1025019.983 0, 1168907.319 1025029.916 0, 1169177.03 1025039.819 0, 1169381.947 1019462.932 0,
+ 1169586.861 1013886.119 0))
+
+POLYGON ((1182184.103 1025536.149 0, 1181914.419 1025525.485 0, 1181643.452 1025514.785 0, 1181372.485 1025504.102 0, 1181101.517 1025493.435 0, 1180830.548 1025482.784 0, 1180559.579 1025472.148 0, 1180288.609 1025461.529 0, 1180017.638 1025450.926 0, 1179746.667 1025440.338 0,
+ 1179475.695 1025429.766 0, 1179204.723 1025419.211 0, 1178933.75 1025408.671 0, 1178662.776 1025398.147 0, 1178391.802 1025387.64 0, 1178120.827 1025377.148 0, 1177849.851 1025366.672 0, 1177578.875 1025356.212 0, 1177307.898 1025345.768 0, 1177036.921 1025335.34 0,
+ 1176765.943 1025324.928 0, 1176494.964 1025314.532 0, 1176223.985 1025304.152 0, 1175953.005 1025293.788 0, 1175680.742 1025283.39 0, 1175411.044 1025273.107 0, 1175140.062 1025262.791 0, 1174869.08 1025252.49 0, 1174598.097 1025242.206 0, 1174327.113 1025231.937 0,
+ 1174056.129 1025221.685 0, 1173785.145 1025211.448 0, 1173514.159 1025201.227 0, 1173243.174 1025191.023 0, 1172972.187 1025180.834 0, 1172701.2 1025170.661 0, 1172430.212 1025160.504 0, 1172159.224 1025150.363 0, 1171888.235 1025140.238 0, 1171617.246 1025130.129 0,
+ 1171346.256 1025120.036 0, 1171075.265 1025109.959 0, 1170804.274 1025099.898 0, 1170533.282 1025089.853 0, 1170262.29 1025079.823 0, 1169991.297 1025069.81 0, 1169720.303 1025059.813 0, 1169449.309 1025049.831 0, 1169177.03 1025039.819 0, 1168972.111 1030616.775 0,
+ 1168767.189 1036193.796 0, 1169038.808 1036203.784 0, 1169309.146 1036213.741 0, 1169579.483 1036223.714 0, 1169849.82 1036233.703 0, 1170120.155 1036243.708 0, 1170390.491 1036253.729 0, 1170660.826 1036263.766 0, 1170931.16 1036273.819 0, 1171201.493 1036283.887 0,
+ 1171471.826 1036293.972 0, 1171742.159 1036304.072 0, 1172012.49 1036314.189 0, 1172282.822 1036324.321 0, 1172553.152 1036334.469 0, 1172823.482 1036344.633 0, 1173093.812 1036354.813 0, 1173364.14 1036365.009 0, 1173634.469 1036375.221 0, 1173904.796 1036385.449 0,
+ 1174175.123 1036395.692 0, 1174445.45 1036405.952 0, 1174715.775 1036416.227 0, 1174986.101 1036426.519 0, 1175255.145 1036436.777 0, 1175526.749 1036447.149 0, 1175797.072 1036457.488 0, 1176067.395 1036467.843 0, 1176337.717 1036478.214 0, 1176608.039 1036488.601 0,
+ 1176878.36 1036499.004 0, 1177148.68 1036509.423 0, 1177419 1036519.857 0, 1177689.319 1036530.308 0, 1177959.637 1036540.774 0, 1178229.955 1036551.256 0, 1178500.272 1036561.755 0, 1178770.589 1036572.269 0, 1179040.905 1036582.799 0, 1179311.22 1036593.345 0,
+ 1179581.535 1036603.907 0, 1179851.849 1036614.484 0, 1180122.163 1036625.078 0, 1180392.476 1036635.688 0, 1180662.788 1036646.313 0, 1180933.1 1036656.955 0, 1181203.411 1036667.612 0, 1181473.721 1036678.285 0, 1181742.752 1036688.924 0, 1181963.429 1031112.504 0,
+ 1182184.103 1025536.149 0))
+
+POLYGON ((1194716.864 1037220.708 0, 1194447.862 1037209.309 0, 1194177.583 1037197.873 0, 1193907.303 1037186.452 0, 1193637.023 1037175.047 0, 1193366.742 1037163.657 0, 1193096.46 1037152.284 0, 1192826.177 1037140.927 0, 1192555.894 1037129.585 0, 1192285.61 1037118.26 0,
+ 1192015.326 1037106.95 0, 1191745.041 1037095.657 0, 1191474.755 1037084.379 0, 1191204.468 1037073.117 0, 1190934.181 1037061.871 0, 1190663.893 1037050.641 0, 1190393.605 1037039.427 0, 1190123.316 1037028.229 0, 1189853.026 1037017.046 0, 1189582.736 1037005.88 0,
+ 1189312.444 1036994.729 0, 1189042.153 1036983.595 0, 1188771.86 1036972.476 0, 1188501.567 1036961.373 0, 1188229.996 1036950.234 0, 1187960.979 1036939.215 0, 1187690.684 1036928.16 0, 1187420.388 1036917.121 0, 1187150.092 1036906.098 0, 1186879.795 1036895.091 0,
+ 1186609.497 1036884.099 0, 1186339.199 1036873.124 0, 1186068.9 1036862.164 0, 1185798.601 1036851.22 0, 1185528.301 1036840.293 0, 1185258 1036829.381 0, 1184987.698 1036818.485 0, 1184717.396 1036807.605 0, 1184447.093 1036796.741 0, 1184176.79 1036785.892 0,
+ 1183906.486 1036775.06 0, 1183636.181 1036764.244 0, 1183365.876 1036753.443 0, 1183095.57 1036742.659 0, 1182825.263 1036731.89 0, 1182554.956 1036721.137 0, 1182284.648 1036710.4 0, 1182014.34 1036699.679 0, 1181742.752 1036688.924 0, 1181522.072 1042265.404 0,
+ 1181301.391 1047841.942 0, 1181572.319 1047852.671 0, 1181841.971 1047863.366 0, 1182111.623 1047874.077 0, 1182381.273 1047884.804 0, 1182650.924 1047895.546 0, 1182920.573 1047906.305 0, 1183190.222 1047917.079 0, 1183459.87 1047927.869 0, 1183729.518 1047938.675 0,
+ 1183999.165 1047949.497 0, 1184268.811 1047960.335 0, 1184538.457 1047971.188 0, 1184808.102 1047982.058 0, 1185077.746 1047992.943 0, 1185347.39 1048003.844 0, 1185617.033 1048014.762 0, 1185886.676 1048025.695 0, 1186156.318 1048036.643 0, 1186425.959 1048047.608 0,
+ 1186695.599 1048058.589 0, 1186965.239 1048069.585 0, 1187234.879 1048080.597 0, 1187504.517 1048091.626 0, 1187772.881 1048102.618 0, 1188043.793 1048113.73 0, 1188313.429 1048124.806 0, 1188583.065 1048135.897 0, 1188852.701 1048147.005 0, 1189122.335 1048158.128 0,
+ 1189391.969 1048169.268 0, 1189661.603 1048180.423 0, 1189931.235 1048191.594 0, 1190200.868 1048202.781 0, 1190470.499 1048213.983 0, 1190740.13 1048225.202 0, 1191009.76 1048236.437 0, 1191279.389 1048247.687 0, 1191549.018 1048258.953 0, 1191818.646 1048270.235 0,
+ 1192088.274 1048281.533 0, 1192357.9 1048292.847 0, 1192627.527 1048304.177 0, 1192897.152 1048315.523 0, 1193166.777 1048326.884 0, 1193436.401 1048338.261 0, 1193706.024 1048349.655 0, 1193975.647 1048361.064 0, 1194243.996 1048372.435 0, 1194480.431 1042796.543 0,
+ 1194716.864 1037220.708 0))
+
+POLYGON ((1207185.05 1048939.491 0, 1206916.733 1048927.362 0, 1206647.143 1048915.191 0, 1206377.553 1048903.036 0, 1206107.962 1048890.897 0, 1205838.37 1048878.774 0, 1205568.778 1048866.666 0, 1205299.185 1048854.575 0, 1205029.591 1048842.499 0, 1204759.997 1048830.44 0,
+ 1204490.402 1048818.396 0, 1204220.806 1048806.368 0, 1203951.209 1048794.356 0, 1203681.612 1048782.36 0, 1203412.014 1048770.379 0, 1203142.415 1048758.415 0, 1202872.816 1048746.466 0, 1202603.216 1048734.533 0, 1202333.615 1048722.616 0, 1202064.014 1048710.715 0,
+ 1201794.411 1048698.83 0, 1201524.808 1048686.961 0, 1201255.205 1048675.108 0, 1200985.601 1048663.27 0, 1200714.723 1048651.393 0, 1200446.39 1048639.643 0, 1200176.783 1048627.853 0, 1199907.176 1048616.079 0, 1199637.569 1048604.32 0, 1199367.96 1048592.578 0,
+ 1199098.351 1048580.852 0, 1198828.741 1048569.141 0, 1198559.131 1048557.446 0, 1198289.519 1048545.767 0, 1198019.907 1048534.104 0, 1197750.295 1048522.457 0, 1197480.682 1048510.826 0, 1197211.068 1048499.211 0, 1196941.453 1048487.611 0, 1196671.838 1048476.027 0,
+ 1196402.222 1048464.46 0, 1196132.605 1048452.908 0, 1195862.988 1048441.372 0, 1195593.37 1048429.851 0, 1195323.751 1048418.347 0, 1195054.131 1048406.859 0, 1194784.511 1048395.386 0, 1194514.891 1048383.929 0, 1194243.996 1048372.435 0, 1194007.558 1053948.379 0,
+ 1193771.118 1059524.371 0, 1194041.354 1059535.838 0, 1194310.318 1059547.267 0, 1194579.282 1059558.711 0, 1194848.245 1059570.172 0, 1195117.207 1059581.648 0, 1195386.169 1059593.14 0, 1195655.13 1059604.648 0, 1195924.09 1059616.172 0, 1196193.05 1059627.711 0,
+ 1196462.009 1059639.267 0, 1196730.967 1059650.838 0, 1196999.925 1059662.425 0, 1197268.882 1059674.028 0, 1197537.838 1059685.647 0, 1197806.793 1059697.282 0, 1198075.748 1059708.932 0, 1198344.702 1059720.598 0, 1198613.656 1059732.28 0, 1198882.609 1059743.978 0,
+ 1199151.561 1059755.692 0, 1199420.512 1059767.422 0, 1199689.463 1059779.167 0, 1199958.413 1059790.928 0, 1200226.093 1059802.65 0, 1200496.311 1059814.498 0, 1200765.259 1059826.307 0, 1201034.206 1059838.132 0, 1201303.153 1059849.972 0, 1201572.099 1059861.828 0,
+ 1201841.044 1059873.7 0, 1202109.988 1059885.588 0, 1202378.932 1059897.492 0, 1202647.875 1059909.411 0, 1202916.818 1059921.347 0, 1203185.759 1059933.298 0, 1203454.7 1059945.265 0, 1203723.64 1059957.248 0, 1203992.58 1059969.246 0, 1204261.519 1059981.261 0,
+ 1204530.457 1059993.291 0, 1204799.394 1060005.337 0, 1205068.331 1060017.399 0, 1205337.267 1060029.477 0, 1205606.202 1060041.571 0, 1205875.137 1060053.68 0, 1206144.071 1060065.806 0, 1206413.004 1060077.947 0, 1206680.668 1060090.047 0, 1206932.86 1054514.745 0,
+ 1207185.05 1048939.491 0))
+
+POLYGON ((1219588.569 1060692.192 0, 1219320.938 1060679.336 0, 1219052.04 1060666.435 0, 1218783.141 1060653.55 0, 1218514.242 1060640.681 0, 1218245.342 1060627.827 0, 1217976.441 1060614.99 0, 1217707.54 1060602.168 0, 1217438.637 1060589.362 0, 1217169.734 1060576.572 0,
+ 1216900.83 1060563.798 0, 1216631.926 1060551.039 0, 1216363.02 1060538.297 0, 1216094.114 1060525.57 0, 1215825.208 1060512.859 0, 1215556.3 1060500.164 0, 1215287.392 1060487.484 0, 1215018.483 1060474.821 0, 1214749.573 1060462.173 0, 1214480.662 1060449.541 0,
+ 1214211.751 1060436.925 0, 1213942.839 1060424.325 0, 1213673.926 1060411.741 0, 1213405.013 1060399.172 0, 1213134.831 1060386.561 0, 1212867.183 1060374.083 0, 1212598.268 1060361.562 0, 1212329.351 1060349.057 0, 1212060.434 1060336.567 0, 1211791.516 1060324.094 0,
+ 1211522.597 1060311.636 0, 1211253.678 1060299.194 0, 1210984.758 1060286.768 0, 1210715.837 1060274.358 0, 1210446.915 1060261.964 0, 1210177.993 1060249.585 0, 1209909.07 1060237.222 0, 1209640.146 1060224.875 0, 1209371.221 1060212.544 0, 1209102.296 1060200.229 0,
+ 1208833.37 1060187.93 0, 1208564.444 1060175.646 0, 1208295.516 1060163.378 0, 1208026.588 1060151.126 0, 1207757.659 1060138.89 0, 1207488.73 1060126.67 0, 1207219.799 1060114.465 0, 1206950.868 1060102.277 0, 1206680.668 1060090.047 0, 1206428.474 1065665.392 0,
+ 1206176.279 1071240.778 0, 1206445.819 1071252.978 0, 1206714.094 1071265.137 0, 1206982.368 1071277.312 0, 1207250.641 1071289.502 0, 1207518.914 1071301.708 0, 1207787.186 1071313.93 0, 1208055.457 1071326.168 0, 1208323.727 1071338.422 0, 1208591.997 1071350.691 0,
+ 1208860.266 1071362.977 0, 1209128.534 1071375.278 0, 1209396.801 1071387.594 0, 1209665.068 1071399.927 0, 1209933.334 1071412.275 0, 1210201.6 1071424.639 0, 1210469.864 1071437.019 0, 1210738.128 1071449.415 0, 1211006.391 1071461.827 0, 1211274.654 1071474.254 0,
+ 1211542.915 1071486.697 0, 1211811.176 1071499.156 0, 1212079.436 1071511.631 0, 1212347.696 1071524.121 0, 1212614.691 1071536.568 0, 1212884.213 1071549.149 0, 1213152.47 1071561.687 0, 1213420.726 1071574.241 0, 1213688.982 1071586.81 0, 1213957.237 1071599.395 0,
+ 1214225.491 1071611.996 0, 1214493.745 1071624.613 0, 1214761.998 1071637.246 0, 1215030.25 1071649.894 0, 1215298.501 1071662.558 0, 1215566.752 1071675.238 0, 1215835.002 1071687.934 0, 1216103.251 1071700.645 0, 1216371.499 1071713.373 0, 1216639.747 1071726.116 0,
+ 1216907.994 1071738.875 0, 1217176.24 1071751.649 0, 1217444.485 1071764.44 0, 1217712.73 1071777.246 0, 1217980.973 1071790.068 0, 1218249.216 1071802.906 0, 1218517.459 1071815.76 0, 1218785.7 1071828.629 0, 1219052.678 1071841.453 0, 1219320.624 1066266.803 0,
+ 1219588.569 1060692.192 0))
+
+POLYGON ((1231927.329 1072478.505 0, 1231660.387 1072464.926 0, 1231392.183 1072451.299 0, 1231123.978 1072437.688 0, 1230855.772 1072424.092 0, 1230587.565 1072410.512 0, 1230319.358 1072396.948 0, 1230051.15 1072383.4 0, 1229782.941 1072369.867 0, 1229514.731 1072356.351 0,
+ 1229246.521 1072342.85 0, 1228978.309 1072329.365 0, 1228710.097 1072315.895 0, 1228441.884 1072302.442 0, 1228173.671 1072289.004 0, 1227905.456 1072275.582 0, 1227637.241 1072262.176 0, 1227369.025 1072248.786 0, 1227100.808 1072235.411 0, 1226832.591 1072222.052 0,
+ 1226564.372 1072208.709 0, 1226296.153 1072195.382 0, 1226027.933 1072182.071 0, 1225759.712 1072168.775 0, 1225490.229 1072155.433 0, 1225223.268 1072142.231 0, 1224955.045 1072128.983 0, 1224686.821 1072115.75 0, 1224418.597 1072102.533 0, 1224150.371 1072089.332 0,
+ 1223882.145 1072076.147 0, 1223613.918 1072062.978 0, 1223345.69 1072049.824 0, 1223077.462 1072036.687 0, 1222809.232 1072023.565 0, 1222541.002 1072010.458 0, 1222272.771 1071997.368 0, 1222004.54 1071984.293 0, 1221736.307 1071971.234 0, 1221468.074 1071958.191 0,
+ 1221199.84 1071945.164 0, 1220931.605 1071932.153 0, 1220663.37 1071919.157 0, 1220395.134 1071906.177 0, 1220126.897 1071893.213 0, 1219858.659 1071880.264 0, 1219590.42 1071867.332 0, 1219322.181 1071854.415 0, 1219052.678 1071841.453 0, 1218784.73 1077416.14 0,
+ 1218516.781 1082990.857 0, 1218785.625 1083003.786 0, 1219053.208 1083016.672 0, 1219320.79 1083029.573 0, 1219588.371 1083042.489 0, 1219855.952 1083055.422 0, 1220123.532 1083068.37 0, 1220391.112 1083081.334 0, 1220658.69 1083094.313 0, 1220926.268 1083107.309 0,
+ 1221193.845 1083120.32 0, 1221461.421 1083133.347 0, 1221728.996 1083146.389 0, 1221996.571 1083159.448 0, 1222264.145 1083172.522 0, 1222531.718 1083185.612 0, 1222799.29 1083198.718 0, 1223066.862 1083211.839 0, 1223334.433 1083224.976 0, 1223602.003 1083238.129 0,
+ 1223869.572 1083251.298 0, 1224137.14 1083264.482 0, 1224404.708 1083277.682 0, 1224672.275 1083290.898 0, 1224938.583 1083304.067 0, 1225207.407 1083317.377 0, 1225474.971 1083330.64 0, 1225742.535 1083343.919 0, 1226010.098 1083357.214 0, 1226277.66 1083370.524 0,
+ 1226545.222 1083383.85 0, 1226812.782 1083397.192 0, 1227080.342 1083410.55 0, 1227347.901 1083423.923 0, 1227615.46 1083437.312 0, 1227883.017 1083450.717 0, 1228150.574 1083464.138 0, 1228418.13 1083477.574 0, 1228685.685 1083491.026 0, 1228953.239 1083504.494 0,
+ 1229220.793 1083517.978 0, 1229488.346 1083531.477 0, 1229755.898 1083544.992 0, 1230023.449 1083558.523 0, 1230290.999 1083572.07 0, 1230558.549 1083585.632 0, 1230826.098 1083599.21 0, 1231093.646 1083612.804 0, 1231359.935 1083626.349 0, 1231643.633 1078052.412 0,
+ 1231927.329 1072478.505 0))
+
+POLYGON ((1244201.243 1084298.124 0, 1243934.99 1084283.826 0, 1243667.482 1084269.476 0, 1243399.973 1084255.143 0, 1243132.462 1084240.824 0, 1242864.951 1084226.522 0, 1242597.439 1084212.235 0, 1242329.927 1084197.964 0, 1242062.413 1084183.709 0, 1241794.899 1084169.47 0,
+ 1241527.383 1084155.246 0, 1241259.867 1084141.038 0, 1240992.351 1084126.846 0, 1240724.833 1084112.669 0, 1240457.314 1084098.509 0, 1240189.795 1084084.364 0, 1239922.275 1084070.234 0, 1239654.753 1084056.121 0, 1239387.232 1084042.023 0, 1239119.709 1084027.941 0,
+ 1238852.185 1084013.875 0, 1238584.661 1083999.825 0, 1238317.136 1083985.79 0, 1238049.61 1083971.771 0, 1237780.826 1083957.702 0, 1237514.555 1083943.78 0, 1237247.026 1083929.808 0, 1236979.497 1083915.852 0, 1236711.967 1083901.912 0, 1236444.436 1083887.988 0,
+ 1236176.904 1083874.079 0, 1235909.372 1083860.186 0, 1235641.838 1083846.308 0, 1235374.304 1083832.447 0, 1235106.769 1083818.601 0, 1234839.233 1083804.771 0, 1234571.696 1083790.957 0, 1234304.159 1083777.158 0, 1234036.62 1083763.375 0, 1233769.081 1083749.608 0,
+ 1233501.541 1083735.857 0, 1233234.001 1083722.121 0, 1232966.459 1083708.402 0, 1232698.917 1083694.698 0, 1232431.373 1083681.009 0, 1232163.83 1083667.337 0, 1231896.285 1083653.68 0, 1231628.739 1083640.039 0, 1231359.935 1083626.349 0, 1231076.236 1089200.314 0,
+ 1230792.536 1094774.301 0, 1231060.68 1094787.956 0, 1231327.57 1094801.564 0, 1231594.458 1094815.187 0, 1231861.346 1094828.826 0, 1232128.233 1094842.481 0, 1232395.119 1094856.152 0, 1232662.005 1094869.838 0, 1232928.889 1094883.54 0, 1233195.773 1094897.257 0,
+ 1233462.656 1094910.99 0, 1233729.538 1094924.739 0, 1233996.42 1094938.504 0, 1234263.3 1094952.285 0, 1234530.18 1094966.081 0, 1234797.059 1094979.893 0, 1235063.937 1094993.72 0, 1235330.815 1095007.563 0, 1235597.691 1095021.422 0, 1235864.567 1095035.297 0,
+ 1236131.442 1095049.187 0, 1236398.316 1095063.093 0, 1236665.189 1095077.015 0, 1236932.061 1095090.953 0, 1237197.68 1095104.84 0, 1237465.804 1095118.875 0, 1237732.674 1095132.859 0, 1237999.543 1095146.86 0, 1238266.411 1095160.876 0, 1238533.279 1095174.908 0,
+ 1238800.145 1095188.955 0, 1239067.011 1095203.018 0, 1239333.876 1095217.097 0, 1239600.74 1095231.192 0, 1239867.604 1095245.302 0, 1240134.466 1095259.428 0, 1240401.328 1095273.57 0, 1240668.189 1095287.727 0, 1240935.049 1095301.9 0, 1241201.908 1095316.089 0,
+ 1241468.766 1095330.293 0, 1241735.624 1095344.514 0, 1242002.48 1095358.75 0, 1242269.336 1095373.001 0, 1242536.191 1095387.269 0, 1242803.045 1095401.552 0, 1243069.899 1095415.85 0, 1243336.751 1095430.165 0, 1243602.35 1095444.428 0, 1243901.797 1089871.265 0,
+ 1244201.243 1084298.124 0))
+
+POLYGON ((1256410.221 1096150.742 0, 1256144.661 1096135.729 0, 1255877.85 1096120.661 0, 1255611.038 1096105.608 0, 1255344.225 1096090.571 0, 1255077.412 1096075.55 0, 1254810.597 1096060.544 0, 1254543.782 1096045.555 0, 1254276.966 1096030.58 0, 1254010.148 1096015.622 0,
+ 1253743.33 1096000.679 0, 1253476.512 1095985.752 0, 1253209.692 1095970.841 0, 1252942.871 1095955.946 0, 1252676.05 1095941.066 0, 1252409.227 1095926.202 0, 1252142.404 1095911.353 0, 1251875.58 1095896.52 0, 1251608.755 1095881.703 0, 1251341.929 1095866.902 0,
+ 1251075.102 1095852.116 0, 1250808.274 1095837.346 0, 1250541.446 1095822.592 0, 1250274.616 1095807.854 0, 1250006.535 1095793.062 0, 1249740.955 1095778.424 0, 1249474.123 1095763.732 0, 1249207.29 1095749.057 0, 1248940.457 1095734.397 0, 1248673.622 1095719.752 0,
+ 1248406.787 1095705.124 0, 1248139.95 1095690.511 0, 1247873.113 1095675.914 0, 1247606.275 1095661.332 0, 1247339.436 1095646.767 0, 1247072.597 1095632.216 0, 1246805.756 1095617.682 0, 1246538.915 1095603.163 0, 1246272.072 1095588.661 0, 1246005.229 1095574.173 0,
+ 1245738.385 1095559.702 0, 1245471.54 1095545.246 0, 1245204.695 1095530.806 0, 1244937.848 1095516.381 0, 1244671.001 1095501.973 0, 1244404.152 1095487.58 0, 1244137.303 1095473.202 0, 1243870.453 1095458.841 0, 1243602.35 1095444.428 0, 1243302.903 1101017.609 0,
+ 1243003.454 1106590.803 0, 1243270.898 1106605.181 0, 1243537.092 1106619.507 0, 1243803.285 1106633.849 0, 1244069.477 1106648.207 0, 1244335.669 1106662.58 0, 1244601.859 1106676.969 0, 1244868.049 1106691.374 0, 1245134.238 1106705.794 0, 1245400.425 1106720.23 0,
+ 1245666.613 1106734.681 0, 1245932.799 1106749.149 0, 1246198.984 1106763.632 0, 1246465.169 1106778.13 0, 1246731.352 1106792.645 0, 1246997.535 1106807.174 0, 1247263.717 1106821.72 0, 1247529.898 1106836.281 0, 1247796.079 1106850.858 0, 1248062.258 1106865.451 0,
+ 1248328.437 1106880.059 0, 1248594.614 1106894.683 0, 1248860.791 1106909.323 0, 1249126.967 1106923.978 0, 1249391.894 1106938.58 0, 1249659.316 1106953.336 0, 1249925.49 1106968.038 0, 1250191.662 1106982.756 0, 1250457.834 1106997.49 0, 1250724.005 1107012.239 0,
+ 1250990.175 1107027.004 0, 1251256.344 1107041.784 0, 1251522.512 1107056.581 0, 1251788.679 1107071.393 0, 1252054.846 1107086.22 0, 1252321.011 1107101.063 0, 1252587.176 1107115.922 0, 1252853.34 1107130.797 0, 1253119.503 1107145.687 0, 1253385.665 1107160.593 0,
+ 1253651.826 1107175.515 0, 1253917.986 1107190.452 0, 1254184.146 1107205.405 0, 1254450.304 1107220.374 0, 1254716.462 1107235.358 0, 1254982.618 1107250.358 0, 1255248.774 1107265.374 0, 1255514.929 1107280.405 0, 1255779.837 1107295.381 0, 1256095.029 1101723.055 0,
+ 1256410.221 1096150.742 0))
+
+POLYGON ((1268554.177 1108036.052 0, 1268289.312 1108020.327 0, 1268023.2 1108004.544 0, 1267757.088 1107988.776 0, 1267490.974 1107973.025 0, 1267224.86 1107957.289 0, 1266958.745 1107941.568 0, 1266692.629 1107925.863 0, 1266426.512 1107910.174 0, 1266160.394 1107894.501 0,
+ 1265894.275 1107878.843 0, 1265628.155 1107863.201 0, 1265362.034 1107847.574 0, 1265095.913 1107831.963 0, 1264829.79 1107816.368 0, 1264563.667 1107800.788 0, 1264297.542 1107785.225 0, 1264031.417 1107769.676 0, 1263765.291 1107754.144 0, 1263499.164 1107738.627 0,
+ 1263233.036 1107723.126 0, 1262966.907 1107707.64 0, 1262700.777 1107692.17 0, 1262434.646 1107676.716 0, 1262167.269 1107661.205 0, 1261902.382 1107645.855 0, 1261636.248 1107630.447 0, 1261370.114 1107615.056 0, 1261103.979 1107599.68 0, 1260837.842 1107584.32 0,
+ 1260571.705 1107568.975 0, 1260305.567 1107553.646 0, 1260039.428 1107538.333 0, 1259773.288 1107523.036 0, 1259507.148 1107507.754 0, 1259241.006 1107492.487 0, 1258974.864 1107477.237 0, 1258708.72 1107462.002 0, 1258442.576 1107446.783 0, 1258176.431 1107431.579 0,
+ 1257910.284 1107416.391 0, 1257644.137 1107401.219 0, 1257377.99 1107386.062 0, 1257111.841 1107370.921 0, 1256845.691 1107355.796 0, 1256579.541 1107340.687 0, 1256313.389 1107325.593 0, 1256047.237 1107310.514 0, 1255779.837 1107295.381 0, 1255464.644 1112867.717 0,
+ 1255149.45 1118440.057 0, 1255416.191 1118455.153 0, 1255681.688 1118470.194 0, 1255947.183 1118485.251 0, 1256212.678 1118500.323 0, 1256478.172 1118515.411 0, 1256743.664 1118530.514 0, 1257009.156 1118545.634 0, 1257274.647 1118560.769 0, 1257540.138 1118575.919 0,
+ 1257805.627 1118591.085 0, 1258071.115 1118606.267 0, 1258336.603 1118621.464 0, 1258602.089 1118636.677 0, 1258867.575 1118651.906 0, 1259133.06 1118667.15 0, 1259398.544 1118682.41 0, 1259664.027 1118697.686 0, 1259929.509 1118712.977 0, 1260194.99 1118728.283 0,
+ 1260460.47 1118743.606 0, 1260725.95 1118758.944 0, 1260991.428 1118774.297 0, 1261256.906 1118789.667 0, 1261521.14 1118804.979 0, 1261787.858 1118820.452 0, 1262053.333 1118835.868 0, 1262318.807 1118851.3 0, 1262584.28 1118866.747 0, 1262849.752 1118882.21 0,
+ 1263115.224 1118897.689 0, 1263380.694 1118913.183 0, 1263646.163 1118928.693 0, 1263911.632 1118944.219 0, 1264177.1 1118959.76 0, 1264442.566 1118975.316 0, 1264708.032 1118990.889 0, 1264973.497 1119006.477 0, 1265238.961 1119022.08 0, 1265504.424 1119037.7 0,
+ 1265769.886 1119053.335 0, 1266035.347 1119068.985 0, 1266300.807 1119084.651 0, 1266566.267 1119100.333 0, 1266831.725 1119116.03 0, 1267097.182 1119131.743 0, 1267362.639 1119147.472 0, 1267628.095 1119163.216 0, 1267892.308 1119178.902 0, 1268223.243 1113607.475 0,
+ 1268554.177 1108036.052 0))
+
+POLYGON ((1280633.027 1119953.746 0, 1280368.857 1119937.313 0, 1280103.447 1119920.819 0, 1279838.036 1119904.34 0, 1279572.624 1119887.877 0, 1279307.211 1119871.43 0, 1279041.797 1119854.998 0, 1278776.382 1119838.582 0, 1278510.966 1119822.182 0, 1278245.55 1119805.797 0,
+ 1277980.132 1119789.428 0, 1277714.713 1119773.074 0, 1277449.293 1119756.737 0, 1277183.873 1119740.414 0, 1276918.451 1119724.108 0, 1276653.028 1119707.817 0, 1276387.605 1119691.541 0, 1276122.18 1119675.281 0, 1275856.755 1119659.037 0, 1275591.328 1119642.808 0,
+ 1275325.901 1119626.596 0, 1275060.472 1119610.398 0, 1274795.043 1119594.217 0, 1274529.613 1119578.05 0, 1274262.941 1119561.825 0, 1273998.749 1119545.765 0, 1273733.316 1119529.646 0, 1273467.882 1119513.542 0, 1273202.447 1119497.454 0, 1272937.011 1119481.382 0,
+ 1272671.574 1119465.325 0, 1272406.136 1119449.284 0, 1272140.698 1119433.259 0, 1271875.258 1119417.249 0, 1271609.817 1119401.255 0, 1271344.376 1119385.276 0, 1271078.933 1119369.313 0, 1270813.49 1119353.366 0, 1270548.045 1119337.434 0, 1270282.6 1119321.518 0,
+ 1270017.153 1119305.617 0, 1269751.706 1119289.733 0, 1269486.258 1119273.863 0, 1269220.809 1119258.01 0, 1268955.359 1119242.172 0, 1268689.908 1119226.349 0, 1268424.456 1119210.543 0, 1268159.003 1119194.751 0, 1267892.308 1119178.902 0, 1267561.373 1124750.33 0,
+ 1267230.438 1130321.754 0, 1267496.474 1130337.564 0, 1267761.271 1130353.316 0, 1268026.068 1130369.084 0, 1268290.863 1130384.867 0, 1268555.657 1130400.666 0, 1268820.45 1130416.48 0, 1269085.243 1130432.31 0, 1269350.034 1130448.156 0, 1269614.824 1130464.017 0,
+ 1269879.614 1130479.894 0, 1270144.403 1130495.786 0, 1270409.19 1130511.694 0, 1270673.977 1130527.618 0, 1270938.763 1130543.557 0, 1271203.548 1130559.512 0, 1271468.332 1130575.482 0, 1271733.115 1130591.468 0, 1271997.897 1130607.469 0, 1272262.678 1130623.486 0,
+ 1272527.458 1130639.519 0, 1272792.237 1130655.567 0, 1273057.015 1130671.631 0, 1273321.793 1130687.71 0, 1273585.332 1130703.73 0, 1273851.345 1130719.916 0, 1274116.119 1130736.042 0, 1274380.893 1130752.184 0, 1274645.665 1130768.341 0, 1274910.437 1130784.514 0,
+ 1275175.207 1130800.702 0, 1275439.977 1130816.907 0, 1275704.746 1130833.126 0, 1275969.514 1130849.361 0, 1276234.281 1130865.612 0, 1276499.047 1130881.879 0, 1276763.811 1130898.161 0, 1277028.575 1130914.458 0, 1277293.338 1130930.771 0, 1277558.101 1130947.1 0,
+ 1277822.862 1130963.444 0, 1278087.622 1130979.804 0, 1278352.381 1130996.18 0, 1278617.139 1131012.571 0, 1278881.896 1131028.977 0, 1279146.653 1131045.4 0, 1279411.408 1131061.837 0, 1279676.162 1131078.291 0, 1279939.68 1131094.683 0, 1280286.353 1125524.216 0,
+ 1280633.027 1119953.746 0))
+
+POLYGON ((1292646.687 1131903.515 0, 1292383.215 1131886.378 0, 1292118.508 1131869.177 0, 1291853.8 1131851.991 0, 1291589.091 1131834.821 0, 1291324.381 1131817.666 0, 1291059.671 1131800.527 0, 1290794.959 1131783.404 0, 1290530.246 1131766.296 0, 1290265.532 1131749.204 0,
+ 1290000.817 1131732.127 0, 1289736.101 1131715.066 0, 1289471.384 1131698.021 0, 1289206.666 1131680.991 0, 1288941.948 1131663.976 0, 1288677.228 1131646.978 0, 1288412.507 1131629.994 0, 1288147.785 1131613.027 0, 1287883.062 1131596.075 0, 1287618.338 1131579.138 0,
+ 1287353.613 1131562.217 0, 1287088.887 1131545.312 0, 1286824.161 1131528.423 0, 1286559.433 1131511.548 0, 1286293.469 1131494.611 0, 1286029.974 1131477.847 0, 1285765.243 1131461.02 0, 1285500.511 1131444.208 0, 1285235.778 1131427.412 0, 1284971.045 1131410.631 0,
+ 1284706.31 1131393.866 0, 1284441.574 1131377.116 0, 1284176.837 1131360.383 0, 1283912.1 1131343.664 0, 1283647.361 1131326.962 0, 1283382.621 1131310.274 0, 1283117.88 1131293.603 0, 1282853.139 1131276.947 0, 1282588.396 1131260.307 0, 1282323.652 1131243.682 0,
+ 1282058.908 1131227.073 0, 1281794.162 1131210.479 0, 1281529.416 1131193.901 0, 1281264.668 1131177.338 0, 1280999.92 1131160.792 0, 1280735.17 1131144.26 0, 1280470.42 1131127.744 0, 1280205.668 1131111.244 0, 1279939.68 1131094.683 0, 1279593.006 1136665.141 0,
+ 1279246.334 1142235.586 0, 1279511.664 1142252.106 0, 1279775.76 1142268.566 0, 1280039.854 1142285.04 0, 1280303.948 1142301.531 0, 1280568.041 1142318.037 0, 1280832.133 1142334.558 0, 1281096.224 1142351.095 0, 1281360.313 1142367.648 0, 1281624.402 1142384.216 0,
+ 1281888.49 1142400.799 0, 1282152.577 1142417.399 0, 1282416.663 1142434.013 0, 1282680.748 1142450.644 0, 1282944.832 1142467.289 0, 1283208.915 1142483.951 0, 1283472.997 1142500.628 0, 1283737.078 1142517.32 0, 1284001.158 1142534.028 0, 1284265.238 1142550.752 0,
+ 1284529.316 1142567.491 0, 1284793.393 1142584.245 0, 1285057.469 1142601.015 0, 1285321.544 1142617.801 0, 1285584.386 1142634.524 0, 1285849.692 1142651.419 0, 1286113.764 1142668.251 0, 1286377.835 1142685.099 0, 1286641.905 1142701.963 0, 1286905.974 1142718.842 0,
+ 1287170.043 1142735.736 0, 1287434.11 1142752.646 0, 1287698.176 1142769.572 0, 1287962.241 1142786.513 0, 1288226.306 1142803.469 0, 1288490.369 1142820.442 0, 1288754.431 1142837.429 0, 1289018.492 1142854.433 0, 1289282.553 1142871.451 0, 1289546.612 1142888.486 0,
+ 1289810.67 1142905.536 0, 1290074.727 1142922.601 0, 1290338.783 1142939.682 0, 1290602.839 1142956.779 0, 1290866.893 1142973.891 0, 1291130.946 1142991.018 0, 1291394.998 1143008.162 0, 1291659.049 1143025.32 0, 1291921.869 1143042.414 0, 1292284.277 1137472.971 0,
+ 1292646.687 1131903.515 0))
+
+POLYGON ((1304595.073 1143885.05 0, 1304332.302 1143867.214 0, 1304068.3 1143849.309 0, 1303804.297 1143831.42 0, 1303540.293 1143813.546 0, 1303276.289 1143795.688 0, 1303012.283 1143777.846 0, 1302748.276 1143760.019 0, 1302484.268 1143742.208 0, 1302220.259 1143724.412 0,
+ 1301956.249 1143706.631 0, 1301692.238 1143688.867 0, 1301428.225 1143671.117 0, 1301164.212 1143653.384 0, 1300900.198 1143635.666 0, 1300636.183 1143617.963 0, 1300372.166 1143600.276 0, 1300108.149 1143582.604 0, 1299844.131 1143564.948 0, 1299580.111 1143547.308 0,
+ 1299316.091 1143529.683 0, 1299052.069 1143512.074 0, 1298788.047 1143494.48 0, 1298524.023 1143476.901 0, 1298258.769 1143459.257 0, 1297995.973 1143441.791 0, 1297731.946 1143424.26 0, 1297467.918 1143406.744 0, 1297203.89 1143389.243 0, 1296939.86 1143371.758 0,
+ 1296675.829 1143354.288 0, 1296411.797 1143336.834 0, 1296147.764 1143319.396 0, 1295883.73 1143301.973 0, 1295619.696 1143284.566 0, 1295355.66 1143267.174 0, 1295091.623 1143249.798 0, 1294827.585 1143232.437 0, 1294563.546 1143215.092 0, 1294299.506 1143197.762 0,
+ 1294035.465 1143180.448 0, 1293771.423 1143163.149 0, 1293507.379 1143145.866 0, 1293243.335 1143128.599 0, 1292979.29 1143111.347 0, 1292715.244 1143094.11 0, 1292451.197 1143076.89 0, 1292187.149 1143059.684 0, 1291921.869 1143042.414 0, 1291559.461 1148611.84 0,
+ 1291197.055 1154181.244 0, 1291461.677 1154198.471 0, 1291725.069 1154215.634 0, 1291988.461 1154232.812 0, 1292251.851 1154250.005 0, 1292515.241 1154267.215 0, 1292778.63 1154284.439 0, 1293042.017 1154301.679 0, 1293305.403 1154318.935 0, 1293568.789 1154336.206 0,
+ 1293832.173 1154353.493 0, 1294095.557 1154370.795 0, 1294358.939 1154388.112 0, 1294622.321 1154405.446 0, 1294885.701 1154422.794 0, 1295149.08 1154440.158 0, 1295412.459 1154457.538 0, 1295675.836 1154474.933 0, 1295939.212 1154492.344 0, 1296202.587 1154509.77 0,
+ 1296465.962 1154527.212 0, 1296729.335 1154544.669 0, 1296992.707 1154562.141 0, 1297256.078 1154579.63 0, 1297518.221 1154597.052 0, 1297782.817 1154614.652 0, 1298046.185 1154632.187 0, 1298309.552 1154649.737 0, 1298572.918 1154667.303 0, 1298836.283 1154684.884 0,
+ 1299099.647 1154702.481 0, 1299363.01 1154720.093 0, 1299626.372 1154737.72 0, 1299889.733 1154755.364 0, 1300153.092 1154773.022 0, 1300416.451 1154790.696 0, 1300679.809 1154808.386 0, 1300943.165 1154826.091 0, 1301206.521 1154843.812 0, 1301469.876 1154861.548 0,
+ 1301733.229 1154879.3 0, 1301996.582 1154897.067 0, 1302259.933 1154914.85 0, 1302523.283 1154932.648 0, 1302786.633 1154950.461 0, 1303049.981 1154968.291 0, 1303313.328 1154986.135 0, 1303576.674 1155003.995 0, 1303838.794 1155021.788 0, 1304216.933 1149453.43 0,
+ 1304595.073 1143885.05 0))
+
+POLYGON ((1316478.107 1155898.044 0, 1316216.037 1155879.51 0, 1315952.742 1155860.906 0, 1315689.447 1155842.318 0, 1315426.15 1155823.745 0, 1315162.852 1155805.187 0, 1314899.553 1155786.645 0, 1314636.253 1155768.118 0, 1314372.951 1155749.607 0, 1314109.649 1155731.112 0,
+ 1313846.346 1155712.631 0, 1313583.041 1155694.167 0, 1313319.736 1155675.718 0, 1313056.429 1155657.284 0, 1312793.121 1155638.866 0, 1312529.812 1155620.463 0, 1312266.503 1155602.076 0, 1312003.192 1155583.705 0, 1311739.879 1155565.348 0, 1311476.566 1155547.008 0,
+ 1311213.252 1155528.683 0, 1310949.937 1155510.373 0, 1310686.62 1155492.079 0, 1310423.303 1155473.8 0, 1310158.76 1155455.452 0, 1309896.665 1155437.289 0, 1309633.344 1155419.057 0, 1309370.022 1155400.841 0, 1309106.7 1155382.639 0, 1308843.376 1155364.454 0,
+ 1308580.051 1155346.284 0, 1308316.725 1155328.129 0, 1308053.398 1155309.99 0, 1307790.069 1155291.866 0, 1307526.74 1155273.758 0, 1307263.41 1155255.665 0, 1307000.079 1155237.588 0, 1306736.746 1155219.526 0, 1306473.413 1155201.48 0, 1306210.078 1155183.45 0,
+ 1305946.742 1155165.434 0, 1305683.406 1155147.435 0, 1305420.068 1155129.451 0, 1305156.729 1155111.482 0, 1304893.389 1155093.529 0, 1304630.049 1155075.591 0, 1304366.707 1155057.669 0, 1304103.364 1155039.762 0, 1303838.794 1155021.788 0, 1303460.657 1160590.119 0,
+ 1303082.521 1166158.419 0, 1303346.433 1166176.349 0, 1303609.12 1166194.211 0, 1303871.807 1166212.089 0, 1304134.492 1166229.982 0, 1304397.176 1166247.89 0, 1304659.86 1166265.814 0, 1304922.542 1166283.753 0, 1305185.223 1166301.708 0, 1305447.903 1166319.679 0,
+ 1305710.582 1166337.664 0, 1305973.261 1166355.666 0, 1306235.938 1166373.682 0, 1306498.613 1166391.715 0, 1306761.288 1166409.762 0, 1307023.962 1166427.825 0, 1307286.635 1166445.904 0, 1307549.306 1166463.998 0, 1307811.977 1166482.107 0, 1308074.647 1166500.232 0,
+ 1308337.315 1166518.373 0, 1308599.982 1166536.528 0, 1308862.649 1166554.7 0, 1309125.314 1166572.887 0, 1309386.757 1166591.004 0, 1309650.641 1166609.306 0, 1309913.303 1166627.54 0, 1310175.964 1166645.788 0, 1310438.624 1166664.052 0, 1310701.283 1166682.332 0,
+ 1310963.941 1166700.627 0, 1311226.597 1166718.937 0, 1311489.253 1166737.263 0, 1311751.908 1166755.605 0, 1312014.561 1166773.961 0, 1312277.213 1166792.334 0, 1312539.865 1166810.721 0, 1312802.515 1166829.125 0, 1313065.164 1166847.543 0, 1313327.812 1166865.977 0,
+ 1313590.459 1166884.427 0, 1313853.105 1166902.892 0, 1314115.749 1166921.373 0, 1314378.393 1166939.868 0, 1314641.036 1166958.38 0, 1314903.677 1166976.907 0, 1315166.318 1166995.449 0, 1315428.957 1167014.007 0, 1315690.375 1167032.494 0, 1316084.24 1161465.284 0,
+ 1316478.107 1155898.044 0))
+
+POLYGON ((1328295.708 1167942.184 0, 1328034.342 1167922.959 0, 1327771.756 1167903.659 0, 1327509.169 1167884.375 0, 1327246.581 1167865.106 0, 1326983.992 1167845.853 0, 1326721.401 1167826.615 0, 1326458.81 1167807.392 0, 1326196.217 1167788.185 0, 1325933.623 1167768.994 0,
+ 1325671.028 1167749.818 0, 1325408.432 1167730.657 0, 1325145.835 1167711.512 0, 1324883.237 1167692.382 0, 1324620.638 1167673.268 0, 1324358.037 1167654.169 0, 1324095.435 1167635.086 0, 1323832.833 1167616.018 0, 1323570.229 1167596.966 0, 1323307.624 1167577.929 0,
+ 1323045.018 1167558.907 0, 1322782.41 1167539.901 0, 1322519.802 1167520.91 0, 1322257.193 1167501.935 0, 1321993.363 1167482.888 0, 1321731.97 1167464.031 0, 1321469.357 1167445.103 0, 1321206.743 1167426.189 0, 1320944.128 1167407.291 0, 1320681.512 1167388.409 0,
+ 1320418.895 1167369.542 0, 1320156.277 1167350.69 0, 1319893.657 1167331.854 0, 1319631.036 1167313.034 0, 1319368.415 1167294.229 0, 1319105.792 1167275.439 0, 1318843.168 1167256.665 0, 1318580.543 1167237.906 0, 1318317.917 1167219.163 0, 1318055.29 1167200.435 0,
+ 1317792.661 1167181.723 0, 1317530.032 1167163.026 0, 1317267.401 1167144.344 0, 1317004.77 1167125.678 0, 1316742.137 1167107.028 0, 1316479.503 1167088.393 0, 1316216.868 1167069.773 0, 1315954.232 1167051.169 0, 1315690.375 1167032.494 0, 1315296.512 1172599.668 0,
+ 1314902.652 1178166.802 0, 1315165.851 1178185.43 0, 1315427.832 1178203.988 0, 1315689.812 1178222.561 0, 1315951.79 1178241.15 0, 1316213.768 1178259.754 0, 1316475.744 1178278.373 0, 1316737.719 1178297.008 0, 1316999.693 1178315.658 0, 1317261.666 1178334.324 0,
+ 1317523.638 1178353.005 0, 1317785.609 1178371.701 0, 1318047.579 1178390.413 0, 1318309.547 1178409.141 0, 1318571.515 1178427.883 0, 1318833.481 1178446.642 0, 1319095.447 1178465.415 0, 1319357.411 1178484.204 0, 1319619.374 1178503.009 0, 1319881.336 1178521.829 0,
+ 1320143.297 1178540.664 0, 1320405.257 1178559.515 0, 1320667.215 1178578.381 0, 1320929.173 1178597.262 0, 1321189.913 1178616.071 0, 1321453.084 1178635.072 0, 1321715.039 1178653.999 0, 1321976.992 1178672.943 0, 1322238.944 1178691.901 0, 1322500.895 1178710.875 0,
+ 1322762.844 1178729.865 0, 1323024.793 1178748.87 0, 1323286.741 1178767.89 0, 1323548.687 1178786.926 0, 1323810.632 1178805.977 0, 1324072.576 1178825.043 0, 1324334.519 1178844.125 0, 1324596.461 1178863.223 0, 1324858.402 1178882.336 0, 1325120.342 1178901.464 0,
+ 1325382.28 1178920.607 0, 1325644.218 1178939.767 0, 1325906.154 1178958.941 0, 1326168.089 1178978.131 0, 1326430.023 1178997.336 0, 1326691.956 1179016.557 0, 1326953.888 1179035.793 0, 1327215.818 1179055.045 0, 1327476.533 1179074.222 0, 1327886.119 1173508.223 0,
+ 1328295.708 1167942.184 0))
+
+POLYGON ((1340047.799 1180017.163 0, 1339787.138 1179997.249 0, 1339525.263 1179977.257 0, 1339263.386 1179957.281 0, 1339001.509 1179937.32 0, 1338739.63 1179917.375 0, 1338477.75 1179897.445 0, 1338215.869 1179877.531 0, 1337953.987 1179857.632 0, 1337692.104 1179837.748 0,
+ 1337430.219 1179817.88 0, 1337168.333 1179798.027 0, 1336906.446 1179778.19 0, 1336644.558 1179758.368 0, 1336382.669 1179738.561 0, 1336120.779 1179718.77 0, 1335858.887 1179698.995 0, 1335596.994 1179679.234 0, 1335335.101 1179659.49 0, 1335073.205 1179639.76 0,
+ 1334811.309 1179620.046 0, 1334549.412 1179600.347 0, 1334287.513 1179580.664 0, 1334025.614 1179560.996 0, 1333762.499 1179541.253 0, 1333501.811 1179521.707 0, 1333239.908 1179502.086 0, 1332978.003 1179482.479 0, 1332716.098 1179462.889 0, 1332454.191 1179443.313 0,
+ 1332192.283 1179423.754 0, 1331930.375 1179404.209 0, 1331668.464 1179384.68 0, 1331406.553 1179365.166 0, 1331144.641 1179345.668 0, 1330882.727 1179326.185 0, 1330620.813 1179306.718 0, 1330358.897 1179287.266 0, 1330096.98 1179267.829 0, 1329835.062 1179248.408 0,
+ 1329573.143 1179229.003 0, 1329311.222 1179209.612 0, 1329049.301 1179190.237 0, 1328787.378 1179170.878 0, 1328525.454 1179151.534 0, 1328263.529 1179132.205 0, 1328001.603 1179112.892 0, 1327739.676 1179093.594 0, 1327476.533 1179074.222 0, 1327066.95 1184640.176 0,
+ 1326657.37 1190206.081 0, 1326919.855 1190225.404 0, 1327181.127 1190244.654 0, 1327442.398 1190263.919 0, 1327703.668 1190283.199 0, 1327964.937 1190302.495 0, 1328226.204 1190321.806 0, 1328487.47 1190341.132 0, 1328748.736 1190360.474 0, 1329010 1190379.831 0,
+ 1329271.263 1190399.204 0, 1329532.524 1190418.592 0, 1329793.785 1190437.995 0, 1330055.045 1190457.414 0, 1330316.303 1190476.848 0, 1330577.56 1190496.297 0, 1330838.816 1190515.762 0, 1331100.071 1190535.242 0, 1331361.325 1190554.738 0, 1331622.578 1190574.249 0,
+ 1331883.829 1190593.775 0, 1332145.079 1190613.317 0, 1332406.329 1190632.874 0, 1332667.577 1190652.446 0, 1332927.613 1190671.943 0, 1333190.069 1190691.637 0, 1333451.314 1190711.256 0, 1333712.557 1190730.89 0, 1333973.799 1190750.539 0, 1334235.04 1190770.204 0,
+ 1334496.28 1190789.884 0, 1334757.519 1190809.58 0, 1335018.757 1190829.291 0, 1335279.993 1190849.017 0, 1335541.229 1190868.758 0, 1335802.463 1190888.515 0, 1336063.696 1190908.288 0, 1336324.927 1190928.075 0, 1336586.158 1190947.879 0, 1336847.388 1190967.697 0,
+ 1337108.616 1190987.531 0, 1337369.843 1191007.38 0, 1337631.069 1191027.245 0, 1337892.294 1191047.125 0, 1338153.517 1191067.02 0, 1338414.74 1191086.931 0, 1338675.961 1191106.857 0, 1338937.181 1191126.798 0, 1339197.191 1191146.663 0, 1339622.493 1185581.937 0,
+ 1340047.799 1180017.163 0))
+
+POLYGON ((1351734.303 1192122.668 0, 1351474.349 1192102.069 0, 1351213.187 1192081.39 0, 1350952.023 1192060.726 0, 1350690.857 1192040.077 0, 1350429.691 1192019.444 0, 1350168.523 1191998.826 0, 1349907.355 1191978.223 0, 1349646.185 1191957.636 0, 1349385.013 1191937.064 0,
+ 1349123.841 1191916.508 0, 1348862.667 1191895.967 0, 1348601.492 1191875.441 0, 1348340.316 1191854.931 0, 1348079.139 1191834.436 0, 1347817.961 1191813.956 0, 1347556.781 1191793.492 0, 1347295.6 1191773.043 0, 1347034.418 1191752.61 0, 1346773.235 1191732.192 0,
+ 1346512.05 1191711.789 0, 1346250.864 1191691.402 0, 1345989.678 1191671.03 0, 1345728.489 1191650.673 0, 1345466.092 1191630.238 0, 1345206.11 1191610.006 0, 1344944.918 1191589.696 0, 1344683.725 1191569.401 0, 1344422.531 1191549.121 0, 1344161.336 1191528.857 0,
+ 1343900.139 1191508.608 0, 1343638.942 1191488.374 0, 1343377.743 1191468.156 0, 1343116.543 1191447.953 0, 1342855.342 1191427.766 0, 1342594.139 1191407.593 0, 1342332.936 1191387.437 0, 1342071.731 1191367.295 0, 1341810.525 1191347.169 0, 1341549.318 1191327.059 0,
+ 1341288.109 1191306.964 0, 1341026.9 1191286.884 0, 1340765.689 1191266.819 0, 1340504.477 1191246.77 0, 1340243.264 1191226.736 0, 1339982.05 1191206.718 0, 1339720.835 1191186.715 0, 1339459.618 1191166.727 0, 1339197.191 1191146.663 0, 1338771.892 1196711.334 0,
+ 1338346.598 1202275.947 0, 1338608.368 1202295.961 0, 1338868.929 1202315.899 0, 1339129.49 1202335.851 0, 1339390.049 1202355.82 0, 1339650.607 1202375.803 0, 1339911.164 1202395.802 0, 1340171.719 1202415.816 0, 1340432.274 1202435.845 0, 1340692.827 1202455.89 0,
+ 1340953.379 1202475.95 0, 1341213.93 1202496.026 0, 1341474.48 1202516.117 0, 1341735.029 1202536.223 0, 1341995.576 1202556.345 0, 1342256.122 1202576.481 0, 1342516.667 1202596.634 0, 1342777.211 1202616.801 0, 1343037.754 1202636.984 0, 1343298.295 1202657.182 0,
+ 1343558.836 1202677.396 0, 1343819.375 1202697.624 0, 1344079.912 1202717.869 0, 1344340.449 1202738.128 0, 1344599.779 1202758.309 0, 1344861.519 1202778.693 0, 1345122.052 1202798.999 0, 1345382.584 1202819.32 0, 1345643.115 1202839.656 0, 1345903.644 1202860.007 0,
+ 1346164.173 1202880.374 0, 1346424.7 1202900.756 0, 1346685.226 1202921.154 0, 1346945.75 1202941.567 0, 1347206.274 1202961.995 0, 1347466.796 1202982.439 0, 1347727.317 1203002.898 0, 1347987.837 1203023.372 0, 1348248.356 1203043.861 0, 1348508.874 1203064.366 0,
+ 1348769.39 1203084.886 0, 1349029.905 1203105.422 0, 1349290.419 1203125.973 0, 1349550.932 1203146.539 0, 1349811.443 1203167.12 0, 1350071.953 1203187.717 0, 1350332.462 1203208.33 0, 1350592.97 1203228.957 0, 1350852.272 1203249.505 0, 1351293.286 1197686.116 0,
+ 1351734.303 1192122.668 0))
+
+POLYGON ((1363355.146 1204258.389 0, 1363095.901 1204237.109 0, 1362835.452 1204215.746 0, 1362575.003 1204194.398 0, 1362314.552 1204173.065 0, 1362054.099 1204151.747 0, 1361793.646 1204130.445 0, 1361533.191 1204109.159 0, 1361272.735 1204087.887 0, 1361012.278 1204066.631 0,
+ 1360751.819 1204045.39 0, 1360491.359 1204024.165 0, 1360230.898 1204002.954 0, 1359970.436 1203981.76 0, 1359709.972 1203960.58 0, 1359449.508 1203939.416 0, 1359189.042 1203918.267 0, 1358928.574 1203897.134 0, 1358668.106 1203876.016 0, 1358407.636 1203854.913 0,
+ 1358147.165 1203833.825 0, 1357886.693 1203812.753 0, 1357626.219 1203791.696 0, 1357365.745 1203770.655 0, 1357104.065 1203749.532 0, 1356844.792 1203728.618 0, 1356584.313 1203707.622 0, 1356323.833 1203686.642 0, 1356063.353 1203665.677 0, 1355802.87 1203644.728 0,
+ 1355542.387 1203623.794 0, 1355281.902 1203602.875 0, 1355021.417 1203581.971 0, 1354760.93 1203561.083 0, 1354500.441 1203540.21 0, 1354239.952 1203519.353 0, 1353979.461 1203498.51 0, 1353718.969 1203477.684 0, 1353458.476 1203456.872 0, 1353197.981 1203436.076 0,
+ 1352937.486 1203415.295 0, 1352676.989 1203394.529 0, 1352416.491 1203373.779 0, 1352155.992 1203353.044 0, 1351895.491 1203332.325 0, 1351634.989 1203311.621 0, 1351374.486 1203290.932 0, 1351113.982 1203270.258 0, 1350852.272 1203249.505 0, 1350411.264 1208812.83 0,
+ 1349970.261 1214376.088 0, 1350231.313 1214396.789 0, 1350491.163 1214417.411 0, 1350751.011 1214438.048 0, 1351010.858 1214458.7 0, 1351270.703 1214479.367 0, 1351530.548 1214500.05 0, 1351790.391 1214520.748 0, 1352050.233 1214541.461 0, 1352310.074 1214562.19 0,
+ 1352569.913 1214582.934 0, 1352829.752 1214603.693 0, 1353089.589 1214624.468 0, 1353349.425 1214645.257 0, 1353609.259 1214666.062 0, 1353869.093 1214686.883 0, 1354128.925 1214707.718 0, 1354388.756 1214728.569 0, 1354648.586 1214749.436 0, 1354908.414 1214770.317 0,
+ 1355168.241 1214791.214 0, 1355428.068 1214812.126 0, 1355687.892 1214833.054 0, 1355947.716 1214853.996 0, 1356206.338 1214874.858 0, 1356467.359 1214895.928 0, 1356727.179 1214916.916 0, 1356986.998 1214937.92 0, 1357246.815 1214958.939 0, 1357506.632 1214979.974 0,
+ 1357766.447 1215001.024 0, 1358026.26 1215022.089 0, 1358286.073 1215043.169 0, 1358545.884 1215064.265 0, 1358805.694 1215085.376 0, 1359065.503 1215106.502 0, 1359325.31 1215127.644 0, 1359585.117 1215148.8 0, 1359844.922 1215169.972 0, 1360104.725 1215191.16 0,
+ 1360364.528 1215212.363 0, 1360624.329 1215233.581 0, 1360884.129 1215254.814 0, 1361143.928 1215276.062 0, 1361403.725 1215297.326 0, 1361663.522 1215318.605 0, 1361923.317 1215339.9 0, 1362183.111 1215361.21 0, 1362441.704 1215382.436 0, 1362898.422 1209820.447 0,
+ 1363355.146 1204258.389 0))
+
+POLYGON ((1374910.254 1216424.015 0, 1374651.719 1216402.057 0, 1374391.987 1216380.014 0, 1374132.253 1216357.986 0, 1373872.518 1216335.973 0, 1373612.781 1216313.975 0, 1373353.044 1216291.992 0, 1373093.305 1216270.025 0, 1372833.564 1216248.073 0, 1372573.823 1216226.137 0,
+ 1372314.08 1216204.215 0, 1372054.336 1216182.309 0, 1371794.59 1216160.419 0, 1371534.843 1216138.543 0, 1371275.095 1216116.683 0, 1371015.346 1216094.838 0, 1370755.596 1216073.009 0, 1370495.844 1216051.194 0, 1370236.09 1216029.395 0, 1369976.336 1216007.611 0,
+ 1369716.58 1215985.843 0, 1369456.823 1215964.09 0, 1369197.065 1215942.352 0, 1368937.305 1215920.63 0, 1368676.347 1215898.822 0, 1368417.782 1215877.23 0, 1368158.019 1215855.554 0, 1367898.254 1215833.892 0, 1367638.488 1215812.246 0, 1367378.721 1215790.615 0,
+ 1367118.953 1215769 0, 1366859.183 1215747.399 0, 1366599.412 1215725.814 0, 1366339.64 1215704.245 0, 1366079.866 1215682.69 0, 1365820.091 1215661.151 0, 1365560.315 1215639.628 0, 1365300.538 1215618.119 0, 1365040.759 1215596.626 0, 1364780.979 1215575.148 0,
+ 1364521.198 1215553.685 0, 1364261.415 1215532.238 0, 1364001.632 1215510.806 0, 1363741.847 1215489.389 0, 1363482.061 1215467.988 0, 1363222.273 1215446.601 0, 1362962.484 1215425.231 0, 1362702.694 1215403.875 0, 1362441.704 1215382.436 0, 1361984.992 1220944.353 0,
+ 1361528.286 1226506.192 0, 1361788.618 1226527.577 0, 1362047.754 1226548.879 0, 1362306.888 1226570.196 0, 1362566.021 1226591.528 0, 1362825.152 1226612.876 0, 1363084.282 1226634.238 0, 1363343.411 1226655.617 0, 1363602.539 1226677.01 0, 1363861.666 1226698.418 0,
+ 1364120.791 1226719.842 0, 1364379.915 1226741.281 0, 1364639.037 1226762.736 0, 1364898.159 1226784.205 0, 1365157.279 1226805.69 0, 1365416.398 1226827.19 0, 1365675.516 1226848.705 0, 1365934.632 1226870.236 0, 1366193.747 1226891.782 0, 1366452.861 1226913.343 0,
+ 1366711.973 1226934.919 0, 1366971.085 1226956.511 0, 1367230.195 1226978.117 0, 1367489.304 1226999.739 0, 1367747.216 1227021.277 0, 1368007.517 1227043.029 0, 1368266.622 1227064.697 0, 1368525.726 1227086.38 0, 1368784.828 1227108.079 0, 1369043.929 1227129.792 0,
+ 1369303.029 1227151.521 0, 1369562.128 1227173.265 0, 1369821.225 1227195.024 0, 1370080.321 1227216.799 0, 1370339.416 1227238.589 0, 1370598.509 1227260.394 0, 1370857.601 1227282.214 0, 1371116.692 1227304.05 0, 1371375.782 1227325.9 0, 1371634.87 1227347.767 0,
+ 1371893.957 1227369.648 0, 1372153.043 1227391.544 0, 1372412.127 1227413.456 0, 1372671.21 1227435.383 0, 1372930.292 1227457.326 0, 1373189.372 1227479.283 0, 1373448.452 1227501.256 0, 1373707.53 1227523.244 0, 1373965.412 1227545.146 0, 1374437.83 1221984.619 0,
+ 1374910.254 1216424.015 0))
+
+POLYGON ((848522.485 756567.52 0, 848237.101 756576.4 0, 847950.304 756585.341 0, 847663.509 756594.299 0, 847376.714 756603.274 0, 847089.92 756612.265 0, 846803.126 756621.274 0, 846516.332 756630.299 0, 846229.539 756639.341 0, 845942.747 756648.4 0,
+ 845655.955 756657.476 0, 845369.164 756666.569 0, 845082.373 756675.679 0, 844795.583 756684.805 0, 844508.793 756693.949 0, 844222.004 756703.109 0, 843935.216 756712.286 0, 843648.428 756721.48 0, 843361.64 756730.691 0, 843074.853 756739.919 0,
+ 842788.067 756749.164 0, 842501.281 756758.426 0, 842214.496 756767.704 0, 841927.711 756776.999 0, 841639.514 756786.358 0, 841354.143 756795.641 0, 841067.36 756804.987 0, 840780.577 756814.35 0, 840493.795 756823.73 0, 840207.014 756833.126 0,
+ 839920.233 756842.54 0, 839633.453 756851.97 0, 839346.673 756861.417 0, 839059.894 756870.882 0, 838773.115 756880.363 0, 838486.337 756889.861 0, 838199.559 756899.375 0, 837912.782 756908.907 0, 837626.006 756918.456 0, 837339.23 756928.021 0,
+ 837052.454 756937.604 0, 836765.68 756947.203 0, 836478.906 756956.819 0, 836192.132 756966.452 0, 835905.359 756976.102 0, 835618.586 756985.768 0, 835331.814 756995.452 0, 835045.043 757005.152 0, 834756.858 757014.918 0, 834945.757 762584.645 0,
+ 835134.664 768154.623 0, 835422.19 768144.88 0, 835708.305 768135.201 0, 835994.422 768125.54 0, 836280.538 768115.895 0, 836566.656 768106.267 0, 836852.774 768096.657 0, 837138.892 768087.062 0, 837425.011 768077.485 0, 837711.131 768067.925 0,
+ 837997.251 768058.381 0, 838283.372 768048.854 0, 838569.493 768039.345 0, 838855.615 768029.851 0, 839141.738 768020.375 0, 839427.861 768010.916 0, 839713.984 768001.473 0, 840000.108 767992.048 0, 840286.233 767982.639 0, 840572.358 767973.247 0,
+ 840858.484 767963.872 0, 841144.61 767954.513 0, 841430.737 767945.172 0, 841716.865 767935.847 0, 842001.583 767926.585 0, 842289.121 767917.248 0, 842575.25 767907.974 0, 842861.38 767898.717 0, 843147.51 767889.476 0, 843433.641 767880.253 0,
+ 843719.772 767871.046 0, 844005.904 767861.856 0, 844292.036 767852.683 0, 844578.169 767843.527 0, 844864.302 767834.387 0, 845150.436 767825.265 0, 845436.571 767816.159 0, 845722.706 767807.07 0, 846008.841 767797.998 0, 846294.978 767788.943 0,
+ 846581.114 767779.905 0, 846867.251 767770.883 0, 847153.389 767761.879 0, 847439.527 767752.891 0, 847725.666 767743.92 0, 848011.805 767734.966 0, 848297.945 767726.028 0, 848584.085 767717.108 0, 848868.818 767708.248 0, 848695.647 762137.759 0,
+ 848522.485 756567.52 0))
+
+POLYGON ((862604.177 767300.677 0, 862319.419 767308.732 0, 862033.255 767316.844 0, 861747.091 767324.973 0, 861460.927 767333.119 0, 861174.765 767341.281 0, 860888.602 767349.461 0, 860602.44 767357.657 0, 860316.279 767365.87 0, 860030.118 767374.1 0,
+ 859743.957 767382.347 0, 859457.797 767390.61 0, 859171.637 767398.891 0, 858885.478 767407.188 0, 858599.32 767415.502 0, 858313.162 767423.833 0, 858027.004 767432.181 0, 857740.847 767440.546 0, 857454.69 767448.927 0, 857168.534 767457.325 0,
+ 856882.379 767465.741 0, 856596.224 767474.173 0, 856310.069 767482.622 0, 856023.915 767491.087 0, 855736.354 767499.612 0, 855451.608 767508.069 0, 855165.455 767516.586 0, 854879.303 767525.119 0, 854593.152 767533.669 0, 854307.001 767542.235 0,
+ 854020.85 767550.819 0, 853734.7 767559.419 0, 853448.55 767568.037 0, 853162.401 767576.671 0, 852876.252 767585.322 0, 852590.104 767593.99 0, 852303.957 767602.674 0, 852017.81 767611.376 0, 851731.663 767620.094 0, 851445.517 767628.829 0,
+ 851159.372 767637.582 0, 850873.227 767646.35 0, 850587.082 767655.136 0, 850300.938 767663.939 0, 850014.795 767672.758 0, 849728.652 767681.594 0, 849442.509 767690.447 0, 849156.368 767699.317 0, 848868.818 767708.248 0, 849041.995 773278.984 0,
+ 849215.18 778849.963 0, 849502.071 778841.053 0, 849787.558 778832.203 0, 850073.044 778823.37 0, 850358.531 778814.554 0, 850644.019 778805.755 0, 850929.507 778796.973 0, 851214.996 778788.207 0, 851500.485 778779.458 0, 851785.975 778770.726 0,
+ 852071.465 778762.011 0, 852356.956 778753.313 0, 852642.447 778744.631 0, 852927.939 778735.966 0, 853213.431 778727.318 0, 853498.924 778718.687 0, 853784.417 778710.073 0, 854069.911 778701.475 0, 854355.405 778692.895 0, 854640.9 778684.331 0,
+ 854926.396 778675.783 0, 855211.891 778667.253 0, 855497.388 778658.74 0, 855782.885 778650.243 0, 856066.978 778641.805 0, 856353.88 778633.3 0, 856639.378 778624.853 0, 856924.877 778616.424 0, 857210.376 778608.011 0, 857495.876 778599.615 0,
+ 857781.376 778591.236 0, 858066.877 778582.874 0, 858352.378 778574.528 0, 858637.88 778566.2 0, 858923.382 778557.888 0, 859208.885 778549.593 0, 859494.388 778541.314 0, 859779.892 778533.053 0, 860065.396 778524.808 0, 860350.901 778516.58 0,
+ 860636.406 778508.369 0, 860921.912 778500.175 0, 861207.418 778491.998 0, 861492.925 778483.837 0, 861778.432 778475.693 0, 862063.939 778467.566 0, 862349.447 778459.456 0, 862634.956 778451.362 0, 862919.062 778443.325 0, 862761.616 772871.879 0,
+ 862604.177 767300.677 0))
+
+POLYGON ((876624.037 778075.406 0, 876339.908 778082.64 0, 876054.377 778089.927 0, 875768.848 778097.23 0, 875483.318 778104.551 0, 875197.789 778111.888 0, 874912.261 778119.242 0, 874626.732 778126.613 0, 874341.205 778134.001 0, 874055.678 778141.405 0,
+ 873770.151 778148.826 0, 873484.624 778156.264 0, 873199.098 778163.719 0, 872913.573 778171.191 0, 872628.048 778178.679 0, 872342.523 778186.184 0, 872056.999 778193.707 0, 871771.475 778201.245 0, 871485.952 778208.801 0, 871200.429 778216.374 0,
+ 870914.907 778223.963 0, 870629.385 778231.569 0, 870343.863 778239.192 0, 870058.342 778246.832 0, 869771.419 778254.526 0, 869487.302 778262.161 0, 869201.782 778269.851 0, 868916.263 778277.558 0, 868630.744 778285.282 0, 868345.226 778293.023 0,
+ 868059.708 778300.78 0, 867774.19 778308.554 0, 867488.673 778316.345 0, 867203.157 778324.153 0, 866917.641 778331.977 0, 866632.125 778339.819 0, 866346.61 778347.677 0, 866061.095 778355.552 0, 865775.581 778363.444 0, 865490.067 778371.352 0,
+ 865204.554 778379.278 0, 864919.041 778387.22 0, 864633.529 778395.179 0, 864348.017 778403.155 0, 864062.506 778411.147 0, 863776.995 778419.157 0, 863491.485 778427.183 0, 863205.975 778435.226 0, 862919.062 778443.325 0, 863076.514 784015.011 0,
+ 863233.973 789586.933 0, 863520.227 789578.852 0, 863805.081 789570.827 0, 864089.935 789562.82 0, 864374.79 789554.829 0, 864659.646 789546.854 0, 864944.502 789538.897 0, 865229.358 789530.956 0, 865514.215 789523.032 0, 865799.073 789515.125 0,
+ 866083.93 789507.235 0, 866368.789 789499.361 0, 866653.647 789491.504 0, 866938.507 789483.664 0, 867223.366 789475.841 0, 867508.226 789468.034 0, 867793.087 789460.244 0, 868077.948 789452.471 0, 868362.81 789444.715 0, 868647.672 789436.975 0,
+ 868932.534 789429.253 0, 869217.397 789421.547 0, 869502.26 789413.857 0, 869787.124 789406.185 0, 870070.589 789398.567 0, 870356.853 789390.89 0, 870641.718 789383.268 0, 870926.584 789375.663 0, 871211.45 789368.074 0, 871496.316 789360.502 0,
+ 871781.183 789352.947 0, 872066.05 789345.409 0, 872350.918 789337.887 0, 872635.786 789330.382 0, 872920.655 789322.894 0, 873205.524 789315.423 0, 873490.394 789307.969 0, 873775.264 789300.531 0, 874060.134 789293.11 0, 874345.005 789285.706 0,
+ 874629.876 789278.318 0, 874914.748 789270.948 0, 875199.62 789263.594 0, 875484.493 789256.257 0, 875769.366 789248.936 0, 876054.239 789241.633 0, 876339.113 789234.346 0, 876623.988 789227.076 0, 876907.464 789219.858 0, 876765.748 783647.514 0,
+ 876624.037 778075.406 0))
+
+POLYGON ((890581.938 788891.415 0, 890298.44 788897.832 0, 890013.546 788904.297 0, 889728.653 788910.779 0, 889443.76 788917.278 0, 889158.867 788923.794 0, 888873.975 788930.326 0, 888589.083 788936.875 0, 888304.192 788943.441 0, 888019.301 788950.023 0,
+ 887734.41 788956.623 0, 887449.52 788963.239 0, 887164.63 788969.872 0, 886879.741 788976.521 0, 886594.852 788983.188 0, 886309.963 788989.871 0, 886025.075 788996.571 0, 885740.187 789003.288 0, 885455.299 789010.021 0, 885170.412 789016.771 0,
+ 884885.525 789023.538 0, 884600.639 789030.322 0, 884315.753 789037.123 0, 884030.867 789043.94 0, 883744.585 789050.808 0, 883461.098 789057.625 0, 883176.213 789064.493 0, 882891.329 789071.377 0, 882606.446 789078.278 0, 882321.563 789085.196 0,
+ 882036.68 789092.131 0, 881751.798 789099.082 0, 881466.916 789106.051 0, 881182.034 789113.036 0, 880897.153 789120.037 0, 880612.273 789127.056 0, 880327.393 789134.091 0, 880042.513 789141.143 0, 879757.633 789148.212 0, 879472.754 789155.298 0,
+ 879187.876 789162.4 0, 878902.998 789169.519 0, 878618.12 789176.655 0, 878333.243 789183.808 0, 878048.366 789190.977 0, 877763.489 789198.163 0, 877478.613 789205.366 0, 877193.738 789212.586 0, 876907.464 789219.858 0, 877049.187 794792.435 0,
+ 877190.915 800365.241 0, 877476.529 800357.985 0, 877760.749 800350.782 0, 878044.969 800343.596 0, 878329.19 800336.426 0, 878613.41 800329.273 0, 878897.632 800322.137 0, 879181.853 800315.017 0, 879466.076 800307.915 0, 879750.298 800300.829 0,
+ 880034.521 800293.759 0, 880318.745 800286.707 0, 880602.968 800279.671 0, 880887.193 800272.652 0, 881171.417 800265.649 0, 881455.642 800258.664 0, 881739.868 800251.695 0, 882024.094 800244.743 0, 882308.32 800237.807 0, 882592.546 800230.888 0,
+ 882876.774 800223.986 0, 883161.001 800217.101 0, 883445.229 800210.233 0, 883729.457 800203.381 0, 884012.292 800196.579 0, 884297.915 800189.727 0, 884582.145 800182.926 0, 884866.374 800176.141 0, 885150.605 800169.373 0, 885434.836 800162.621 0,
+ 885719.067 800155.887 0, 886003.298 800149.169 0, 886287.53 800142.467 0, 886571.762 800135.783 0, 886855.995 800129.115 0, 887140.228 800122.464 0, 887424.461 800115.83 0, 887708.695 800109.212 0, 887992.93 800102.611 0, 888277.164 800096.027 0,
+ 888561.399 800089.46 0, 888845.635 800082.909 0, 889129.87 800076.375 0, 889414.107 800069.858 0, 889698.343 800063.357 0, 889982.58 800056.873 0, 890266.817 800050.406 0, 890551.055 800043.956 0, 890833.9 800037.554 0, 890707.917 794464.37 0,
+ 890581.938 788891.415 0))
+
+POLYGON ((904477.757 799748.412 0, 904194.892 799754.016 0, 903910.637 799759.663 0, 903626.383 799765.327 0, 903342.129 799771.007 0, 903057.875 799776.705 0, 902773.622 799782.419 0, 902489.369 799788.15 0, 902205.116 799793.898 0, 901920.863 799799.662 0,
+ 901636.611 799805.443 0, 901352.36 799811.241 0, 901068.108 799817.056 0, 900783.857 799822.887 0, 900499.606 799828.735 0, 900215.356 799834.6 0, 899931.106 799840.481 0, 899646.856 799846.379 0, 899362.607 799852.294 0, 899078.358 799858.226 0,
+ 898794.109 799864.174 0, 898509.861 799870.14 0, 898225.613 799876.121 0, 897941.365 799882.12 0, 897655.726 799888.165 0, 897372.871 799894.167 0, 897088.625 799900.216 0, 896804.379 799906.282 0, 896520.133 799912.364 0, 896235.887 799918.463 0,
+ 895951.642 799924.579 0, 895667.398 799930.711 0, 895383.153 799936.86 0, 895098.909 799943.026 0, 894814.665 799949.209 0, 894530.422 799955.408 0, 894246.179 799961.624 0, 893961.937 799967.857 0, 893677.695 799974.107 0, 893393.453 799980.373 0,
+ 893109.211 799986.656 0, 892824.97 799992.956 0, 892540.73 799999.272 0, 892256.489 800005.605 0, 891972.249 800011.955 0, 891688.01 800018.322 0, 891403.77 800024.705 0, 891119.532 800031.106 0, 890833.9 800037.554 0, 890959.889 805610.963 0,
+ 891085.883 811184.593 0, 891370.855 811178.16 0, 891654.438 811171.775 0, 891938.021 811165.406 0, 892221.604 811159.054 0, 892505.188 811152.719 0, 892788.772 811146.4 0, 893072.357 811140.098 0, 893355.942 811133.813 0, 893639.527 811127.544 0,
+ 893923.113 811121.293 0, 894206.699 811115.058 0, 894490.285 811108.839 0, 894773.872 811102.637 0, 895057.459 811096.452 0, 895341.047 811090.284 0, 895624.635 811084.132 0, 895908.223 811077.997 0, 896191.812 811071.879 0, 896475.401 811065.777 0,
+ 896758.99 811059.692 0, 897042.58 811053.624 0, 897326.17 811047.573 0, 897609.76 811041.538 0, 897891.963 811035.549 0, 898176.942 811029.518 0, 898460.534 811023.534 0, 898744.125 811017.565 0, 899027.718 811011.614 0, 899311.31 811005.679 0,
+ 899594.903 810999.761 0, 899878.496 810993.86 0, 900162.09 810987.976 0, 900445.684 810982.108 0, 900729.278 810976.256 0, 901012.873 810970.422 0, 901296.468 810964.604 0, 901580.063 810958.803 0, 901863.658 810953.018 0, 902147.254 810947.251 0,
+ 902430.851 810941.5 0, 902714.447 810935.765 0, 902998.044 810930.048 0, 903281.642 810924.347 0, 903565.239 810918.662 0, 903848.837 810912.995 0, 904132.436 810907.344 0, 904416.034 810901.709 0, 904698.246 810896.119 0, 904587.999 805322.155 0,
+ 904477.757 799748.412 0))
+
+POLYGON ((918311.369 810646.104 0, 918029.141 810650.897 0, 917745.528 810655.73 0, 917461.914 810660.579 0, 917178.302 810665.446 0, 916894.689 810670.329 0, 916611.077 810675.229 0, 916327.465 810680.145 0, 916043.853 810685.078 0, 915760.242 810690.028 0,
+ 915476.63 810694.995 0, 915193.02 810699.978 0, 914909.409 810704.978 0, 914625.799 810709.994 0, 914342.189 810715.028 0, 914058.579 810720.078 0, 913774.97 810725.144 0, 913491.361 810730.228 0, 913207.752 810735.328 0, 912924.143 810740.444 0,
+ 912640.535 810745.578 0, 912356.927 810750.728 0, 912073.32 810755.895 0, 911789.713 810761.078 0, 911504.719 810766.304 0, 911222.499 810771.496 0, 910938.893 810776.729 0, 910655.287 810781.98 0, 910371.681 810787.247 0, 910088.076 810792.53 0,
+ 909804.471 810797.831 0, 909520.866 810803.148 0, 909237.261 810808.481 0, 908953.657 810813.832 0, 908670.053 810819.199 0, 908386.45 810824.583 0, 908102.847 810829.983 0, 907819.244 810835.401 0, 907535.641 810840.835 0, 907252.039 810846.285 0,
+ 906968.437 810851.753 0, 906684.835 810857.237 0, 906401.234 810862.737 0, 906117.633 810868.255 0, 905834.033 810873.789 0, 905550.432 810879.339 0, 905266.832 810884.907 0, 904983.233 810890.491 0, 904698.246 810896.119 0, 904808.497 816470.302 0,
+ 904918.752 822044.698 0, 905203.08 822039.083 0, 905486.023 822033.511 0, 905768.967 822027.957 0, 906051.911 822022.419 0, 906334.855 822016.898 0, 906617.8 822011.393 0, 906900.745 822005.905 0, 907183.691 822000.434 0, 907466.636 821994.979 0,
+ 907749.582 821989.541 0, 908032.529 821984.12 0, 908315.475 821978.715 0, 908598.422 821973.327 0, 908881.37 821967.956 0, 909164.317 821962.601 0, 909447.265 821957.263 0, 909730.214 821951.941 0, 910013.162 821946.637 0, 910296.111 821941.349 0,
+ 910579.06 821936.077 0, 910862.01 821930.822 0, 911144.96 821925.584 0, 911427.91 821920.363 0, 911709.477 821915.183 0, 911993.811 821909.97 0, 912276.762 821904.798 0, 912559.713 821899.643 0, 912842.665 821894.505 0, 913125.617 821889.383 0,
+ 913408.569 821884.278 0, 913691.522 821879.19 0, 913974.475 821874.118 0, 914257.428 821869.064 0, 914540.381 821864.025 0, 914823.335 821859.004 0, 915106.289 821853.999 0, 915389.243 821849.01 0, 915672.198 821844.039 0, 915955.153 821839.083 0,
+ 916238.108 821834.145 0, 916521.064 821829.223 0, 916804.019 821824.318 0, 917086.976 821819.43 0, 917369.932 821814.558 0, 917652.889 821809.703 0, 917935.846 821804.865 0, 918218.803 821800.043 0, 918500.378 821795.261 0, 918405.872 816220.575 0,
+ 918311.369 810646.104 0))
+
+POLYGON ((932082.655 821584.196 0, 931801.065 821588.182 0, 931518.095 821592.204 0, 931235.125 821596.243 0, 930952.156 821600.299 0, 930669.187 821604.371 0, 930386.218 821608.46 0, 930103.25 821612.566 0, 929820.282 821616.688 0, 929537.314 821620.827 0,
+ 929254.346 821624.983 0, 928971.378 821629.155 0, 928688.411 821633.344 0, 928405.444 821637.55 0, 928122.477 821641.772 0, 927839.511 821646.011 0, 927556.544 821650.266 0, 927273.578 821654.538 0, 926990.612 821658.827 0, 926707.647 821663.133 0,
+ 926424.682 821667.455 0, 926141.716 821671.794 0, 925858.752 821676.149 0, 925575.787 821680.521 0, 925291.442 821684.932 0, 925009.859 821689.316 0, 924726.895 821693.738 0, 924443.932 821698.177 0, 924160.968 821702.632 0, 923878.005 821707.104 0,
+ 923595.043 821711.593 0, 923312.08 821716.098 0, 923029.118 821720.62 0, 922746.156 821725.159 0, 922463.195 821729.714 0, 922180.233 821734.286 0, 921897.272 821738.875 0, 921614.311 821743.48 0, 921331.351 821748.102 0, 921048.39 821752.741 0,
+ 920765.43 821757.396 0, 920482.471 821762.068 0, 920199.511 821766.756 0, 919916.552 821771.462 0, 919633.593 821776.183 0, 919350.634 821780.922 0, 919067.676 821785.677 0, 918784.718 821790.449 0, 918500.378 821795.261 0, 918594.888 827370.157 0,
+ 918689.401 832945.26 0, 918973.082 832940.46 0, 919255.383 832935.699 0, 919537.685 832930.955 0, 919819.988 832926.227 0, 920102.29 832921.516 0, 920384.593 832916.822 0, 920666.897 832912.144 0, 920949.2 832907.483 0, 921231.504 832902.839 0,
+ 921513.808 832898.211 0, 921796.112 832893.6 0, 922078.417 832889.005 0, 922360.721 832884.427 0, 922643.027 832879.866 0, 922925.332 832875.321 0, 923207.638 832870.793 0, 923489.943 832866.281 0, 923772.25 832861.786 0, 924054.556 832857.308 0,
+ 924336.863 832852.846 0, 924619.17 832848.401 0, 924901.477 832843.973 0, 925183.784 832839.561 0, 925464.714 832835.187 0, 925748.4 832830.787 0, 926030.708 832826.425 0, 926313.017 832822.08 0, 926595.326 832817.751 0, 926877.635 832813.439 0,
+ 927159.944 832809.143 0, 927442.253 832804.864 0, 927724.563 832800.602 0, 928006.873 832796.356 0, 928289.183 832792.127 0, 928571.494 832787.915 0, 928853.805 832783.719 0, 929136.116 832779.54 0, 929418.427 832775.377 0, 929700.738 832771.231 0,
+ 929983.05 832767.102 0, 930265.362 832762.989 0, 930547.674 832758.893 0, 930829.987 832754.813 0, 931112.3 832750.751 0, 931394.613 832746.704 0, 931676.926 832742.675 0, 931959.239 832738.662 0, 932240.176 832734.685 0, 932161.414 827159.337 0,
+ 932082.655 821584.196 0))
+
+POLYGON ((945791.492 832562.393 0, 945510.543 832565.576 0, 945228.219 832568.792 0, 944945.896 832572.024 0, 944663.572 832575.272 0, 944381.249 832578.538 0, 944098.926 832581.82 0, 943816.604 832585.118 0, 943534.281 832588.433 0, 943251.959 832591.765 0,
+ 942969.637 832595.113 0, 942687.315 832598.478 0, 942404.993 832601.86 0, 942122.672 832605.258 0, 941840.351 832608.673 0, 941558.029 832612.105 0, 941275.709 832615.553 0, 940993.388 832619.017 0, 940711.067 832622.499 0, 940428.747 832625.997 0,
+ 940146.427 832629.511 0, 939864.107 832633.042 0, 939581.788 832636.59 0, 939299.468 832640.155 0, 939015.773 832643.753 0, 938734.83 832647.333 0, 938452.511 832650.947 0, 938170.192 832654.578 0, 937887.874 832658.226 0, 937605.556 832661.89 0,
+ 937323.238 832665.571 0, 937040.92 832669.268 0, 936758.603 832672.982 0, 936476.285 832676.713 0, 936193.968 832680.46 0, 935911.651 832684.224 0, 935629.335 832688.004 0, 935347.018 832691.801 0, 935064.702 832695.615 0, 934782.386 832699.445 0,
+ 934500.07 832703.292 0, 934217.755 832707.155 0, 933935.44 832711.035 0, 933653.125 832714.932 0, 933370.81 832718.846 0, 933088.495 832722.775 0, 932806.181 832726.722 0, 932523.867 832730.685 0, 932240.176 832734.685 0, 932318.941 838310.236 0,
+ 932397.709 843885.986 0, 932680.74 843881.996 0, 932962.398 843878.042 0, 933244.056 843874.105 0, 933525.714 843870.184 0, 933807.373 843866.28 0, 934089.031 843862.392 0, 934370.69 843858.521 0, 934652.349 843854.667 0, 934934.009 843850.829 0,
+ 935215.668 843847.007 0, 935497.328 843843.203 0, 935778.988 843839.414 0, 936060.649 843835.643 0, 936342.309 843831.888 0, 936623.97 843828.149 0, 936905.631 843824.427 0, 937187.292 843820.722 0, 937468.953 843817.033 0, 937750.615 843813.361 0,
+ 938032.277 843809.705 0, 938313.939 843806.066 0, 938595.601 843802.444 0, 938877.264 843798.838 0, 939157.554 843795.266 0, 939440.589 843791.676 0, 939722.252 843788.12 0, 940003.915 843784.581 0, 940285.579 843781.058 0, 940567.243 843777.551 0,
+ 940848.907 843774.061 0, 941130.571 843770.588 0, 941412.235 843767.132 0, 941693.9 843763.691 0, 941975.564 843760.268 0, 942257.229 843756.861 0, 942538.894 843753.471 0, 942820.56 843750.097 0, 943102.225 843746.74 0, 943383.891 843743.399 0,
+ 943665.557 843740.075 0, 943947.223 843736.768 0, 944228.889 843733.477 0, 944510.556 843730.203 0, 944792.222 843726.945 0, 945073.889 843723.704 0, 945355.556 843720.479 0, 945637.224 843717.271 0, 945917.52 843714.095 0, 945854.505 838138.144 0,
+ 945791.492 832562.393 0))
+
+POLYGON ((959437.762 843580.401 0, 959157.456 843582.785 0, 958875.781 843585.197 0, 958594.106 843587.626 0, 958312.431 843590.071 0, 958030.756 843592.533 0, 957749.081 843595.012 0, 957467.407 843597.507 0, 957185.733 843600.018 0, 956904.058 843602.547 0,
+ 956622.384 843605.091 0, 956340.711 843607.653 0, 956059.037 843610.231 0, 955777.363 843612.825 0, 955495.69 843615.437 0, 955214.016 843618.064 0, 954932.343 843620.709 0, 954650.67 843623.369 0, 954368.998 843626.047 0, 954087.325 843628.741 0,
+ 953805.652 843631.452 0, 953523.98 843634.179 0, 953242.308 843636.923 0, 952960.636 843639.683 0, 952677.594 843642.473 0, 952397.292 843645.253 0, 952115.621 843648.063 0, 951833.95 843650.89 0, 951552.278 843653.733 0, 951270.607 843656.593 0,
+ 950988.936 843659.47 0, 950707.266 843662.363 0, 950425.595 843665.272 0, 950143.925 843668.198 0, 949862.255 843671.141 0, 949580.585 843674.1 0, 949298.915 843677.076 0, 949017.245 843680.069 0, 948735.576 843683.078 0, 948453.907 843686.103 0,
+ 948172.237 843689.145 0, 947890.569 843692.204 0, 947608.9 843695.28 0, 947327.231 843698.372 0, 947045.563 843701.48 0, 946763.895 843704.605 0, 946482.227 843707.747 0, 946200.559 843710.905 0, 945917.52 843714.095 0, 945980.537 849290.242 0,
+ 946043.556 854866.581 0, 946325.936 854863.398 0, 946606.947 854860.247 0, 946887.959 854857.113 0, 947168.971 854853.995 0, 947449.983 854850.894 0, 947730.995 854847.809 0, 948012.007 854844.741 0, 948293.02 854841.689 0, 948574.032 854838.654 0,
+ 948855.045 854835.636 0, 949136.058 854832.633 0, 949417.072 854829.648 0, 949698.085 854826.679 0, 949979.098 854823.727 0, 950260.112 854820.791 0, 950541.126 854817.871 0, 950822.14 854814.969 0, 951103.154 854812.082 0, 951384.169 854809.213 0,
+ 951665.184 854806.36 0, 951946.198 854803.523 0, 952227.213 854800.703 0, 952508.228 854797.899 0, 952787.876 854795.126 0, 953070.259 854792.342 0, 953351.275 854789.588 0, 953632.29 854786.851 0, 953913.306 854784.13 0, 954194.322 854781.425 0,
+ 954475.339 854778.738 0, 954756.355 854776.066 0, 955037.371 854773.412 0, 955318.388 854770.774 0, 955599.405 854768.152 0, 955880.422 854765.547 0, 956161.439 854762.958 0, 956442.456 854760.386 0, 956723.474 854757.831 0, 957004.492 854755.292 0,
+ 957285.509 854752.77 0, 957566.527 854750.264 0, 957847.545 854747.775 0, 958128.563 854745.302 0, 958409.582 854742.846 0, 958690.6 854740.406 0, 958971.619 854737.983 0, 959252.638 854735.576 0, 959532.29 854733.198 0, 959485.025 849156.703 0,
+ 959437.762 843580.401 0))
+
+POLYGON ((973021.348 854637.924 0, 972741.687 854639.512 0, 972460.663 854641.125 0, 972179.638 854642.754 0, 971898.614 854644.4 0, 971617.59 854646.062 0, 971336.566 854647.741 0, 971055.542 854649.436 0, 970774.518 854651.148 0, 970493.494 854652.876 0,
+ 970212.47 854654.621 0, 969931.447 854656.383 0, 969650.423 854658.161 0, 969369.4 854659.955 0, 969088.377 854661.767 0, 968807.354 854663.594 0, 968526.331 854665.438 0, 968245.308 854667.299 0, 967964.285 854669.176 0, 967683.262 854671.07 0,
+ 967402.24 854672.981 0, 967121.217 854674.908 0, 966840.195 854676.851 0, 966559.173 854678.811 0, 966276.785 854680.797 0, 965997.128 854682.781 0, 965716.107 854684.79 0, 965435.085 854686.816 0, 965154.063 854688.859 0, 964873.042 854690.918 0,
+ 964592.02 854692.994 0, 964310.999 854695.086 0, 964029.978 854697.195 0, 963748.957 854699.321 0, 963467.936 854701.463 0, 963186.915 854703.621 0, 962905.894 854705.796 0, 962624.874 854707.988 0, 962343.853 854710.196 0, 962062.833 854712.42 0,
+ 961781.813 854714.661 0, 961500.793 854716.919 0, 961219.773 854719.193 0, 960938.753 854721.484 0, 960657.734 854723.792 0, 960376.714 854726.115 0, 960095.695 854728.456 0, 959814.676 854730.813 0, 959532.29 854733.198 0, 959579.557 860309.881 0,
+ 959626.825 865886.748 0, 959908.551 865884.369 0, 960188.914 865882.017 0, 960469.276 865879.682 0, 960749.639 865877.364 0, 961030.003 865875.062 0, 961310.366 865872.776 0, 961590.729 865870.507 0, 961871.093 865868.255 0, 962151.456 865866.019 0,
+ 962431.82 865863.8 0, 962712.184 865861.597 0, 962992.548 865859.41 0, 963272.912 865857.24 0, 963553.277 865855.087 0, 963833.641 865852.95 0, 964114.006 865850.83 0, 964394.37 865848.726 0, 964674.735 865846.638 0, 964955.1 865844.567 0,
+ 965235.465 865842.513 0, 965515.83 865840.475 0, 965796.196 865838.454 0, 966076.561 865836.449 0, 966355.565 865834.47 0, 966637.292 865832.488 0, 966917.658 865830.533 0, 967198.024 865828.594 0, 967478.39 865826.672 0, 967758.756 865824.766 0,
+ 968039.122 865822.876 0, 968319.488 865821.003 0, 968599.855 865819.147 0, 968880.221 865817.307 0, 969160.588 865815.484 0, 969440.955 865813.677 0, 969721.322 865811.886 0, 970001.689 865810.112 0, 970282.056 865808.355 0, 970562.423 865806.614 0,
+ 970842.79 865804.89 0, 971123.158 865803.182 0, 971403.525 865801.491 0, 971683.893 865799.816 0, 971964.26 865798.157 0, 972244.628 865796.515 0, 972524.996 865794.89 0, 972805.364 865793.281 0, 973084.371 865791.696 0, 973052.859 860214.718 0,
+ 973021.348 854637.924 0))
+
+POLYGON ((986542.132 865734.665 0, 986263.119 865735.462 0, 985982.748 865736.278 0, 985702.376 865737.112 0, 985422.005 865737.961 0, 985141.634 865738.828 0, 984861.263 865739.71 0, 984580.892 865740.61 0, 984300.52 865741.526 0, 984020.149 865742.458 0,
+ 983739.778 865743.407 0, 983459.408 865744.372 0, 983179.037 865745.354 0, 982898.666 865746.352 0, 982618.295 865747.367 0, 982337.924 865748.398 0, 982057.554 865749.446 0, 981777.183 865750.51 0, 981496.813 865751.591 0, 981216.442 865752.688 0,
+ 980936.072 865753.802 0, 980655.702 865754.932 0, 980375.331 865756.079 0, 980094.961 865757.243 0, 979813.231 865758.428 0, 979534.221 865759.619 0, 979253.851 865760.832 0, 978973.481 865762.061 0, 978693.111 865763.307 0, 978412.742 865764.569 0,
+ 978132.372 865765.848 0, 977852.002 865767.143 0, 977571.633 865768.455 0, 977291.264 865769.783 0, 977010.894 865771.128 0, 976730.525 865772.49 0, 976450.156 865773.867 0, 976169.787 865775.262 0, 975889.418 865776.673 0, 975609.049 865778.1 0,
+ 975328.68 865779.544 0, 975048.311 865781.004 0, 974767.942 865782.481 0, 974487.574 865783.974 0, 974207.205 865785.484 0, 973926.837 865787.011 0, 973646.468 865788.554 0, 973366.1 865790.113 0, 973084.371 865791.696 0, 973115.885 871368.856 0,
+ 973147.399 876946.192 0, 973428.468 876944.612 0, 973708.18 876943.057 0, 973987.892 876941.517 0, 974267.604 876939.995 0, 974547.316 876938.488 0, 974827.028 876936.998 0, 975106.74 876935.525 0, 975386.452 876934.068 0, 975666.164 876932.628 0,
+ 975945.877 876931.204 0, 976225.589 876929.796 0, 976505.302 876928.405 0, 976785.014 876927.03 0, 977064.727 876925.672 0, 977344.44 876924.331 0, 977624.153 876923.005 0, 977903.866 876921.697 0, 978183.579 876920.404 0, 978463.292 876919.128 0,
+ 978743.005 876917.869 0, 979022.719 876916.626 0, 979302.432 876915.4 0, 979582.145 876914.19 0, 979860.502 876913.002 0, 980141.572 876911.819 0, 980421.286 876910.659 0, 980701 876909.514 0, 980980.714 876908.387 0, 981260.427 876907.276 0,
+ 981540.141 876906.181 0, 981819.855 876905.102 0, 982099.569 876904.041 0, 982379.283 876902.995 0, 982658.997 876901.966 0, 982938.712 876900.954 0, 983218.426 876899.958 0, 983498.14 876898.979 0, 983777.855 876898.016 0, 984057.569 876897.069 0,
+ 984337.284 876896.139 0, 984616.998 876895.225 0, 984896.713 876894.328 0, 985176.427 876893.447 0, 985456.142 876892.583 0, 985735.857 876891.735 0, 986015.572 876890.904 0, 986295.286 876890.089 0, 986573.646 876889.294 0, 986557.889 871311.891 0,
+ 986542.132 865734.665 0))
+
+POLYGON ((1000000 876870.329 0, 999721.637 876870.337 0, 999441.921 876870.361 0, 999162.205 876870.402 0, 998882.489 876870.46 0, 998602.773 876870.534 0, 998323.057 876870.624 0, 998043.341 876870.731 0, 997763.625 876870.855 0, 997483.909 876870.995 0,
+ 997204.193 876871.151 0, 996924.477 876871.324 0, 996644.761 876871.513 0, 996365.045 876871.719 0, 996085.329 876871.941 0, 995805.613 876872.179 0, 995525.897 876872.435 0, 995246.182 876872.706 0, 994966.466 876872.994 0, 994686.75 876873.299 0,
+ 994407.034 876873.62 0, 994127.318 876873.957 0, 993847.602 876874.311 0, 993567.886 876874.681 0, 993286.816 876875.07 0, 993008.455 876875.471 0, 992728.739 876875.891 0, 992449.024 876876.327 0, 992169.308 876876.78 0, 991889.592 876877.249 0,
+ 991609.877 876877.735 0, 991330.161 876878.237 0, 991050.445 876878.755 0, 990770.73 876879.29 0, 990491.014 876879.842 0, 990211.299 876880.41 0, 989931.584 876880.994 0, 989651.868 876881.595 0, 989372.153 876882.212 0, 989092.437 876882.846 0,
+ 988812.722 876883.496 0, 988533.007 876884.163 0, 988253.292 876884.846 0, 987973.577 876885.546 0, 987693.861 876886.262 0, 987414.146 876886.994 0, 987134.431 876887.743 0, 986854.716 876888.509 0, 986573.646 876889.294 0, 986589.404 882466.871 0,
+ 986605.162 888044.616 0, 986885.572 888043.833 0, 987164.631 888043.069 0, 987443.689 888042.322 0, 987722.748 888041.591 0, 988001.806 888040.876 0, 988280.865 888040.178 0, 988559.924 888039.497 0, 988838.982 888038.832 0, 989118.041 888038.183 0,
+ 989397.1 888037.551 0, 989676.158 888036.935 0, 989955.217 888036.335 0, 990234.276 888035.752 0, 990513.335 888035.186 0, 990792.394 888034.636 0, 991071.453 888034.102 0, 991350.512 888033.585 0, 991629.571 888033.084 0, 991908.63 888032.599 0,
+ 992187.689 888032.131 0, 992466.748 888031.68 0, 992745.807 888031.245 0, 993024.866 888030.826 0, 993302.574 888030.425 0, 993582.985 888030.038 0, 993862.044 888029.668 0, 994141.103 888029.315 0, 994420.162 888028.978 0, 994699.222 888028.658 0,
+ 994978.281 888028.354 0, 995257.34 888028.067 0, 995536.4 888027.796 0, 995815.459 888027.542 0, 996094.518 888027.303 0, 996373.578 888027.082 0, 996652.637 888026.877 0, 996931.696 888026.688 0, 997210.756 888026.515 0, 997489.815 888026.359 0,
+ 997768.875 888026.22 0, 998047.934 888026.097 0, 998326.993 888025.99 0, 998606.053 888025.9 0, 998885.112 888025.826 0, 999164.172 888025.769 0, 999443.231 888025.728 0, 999722.291 888025.703 0, 1000000 888025.695 0, 1000000 882447.927 0,
+ 1000000 876870.329 0))
+
+POLYGON ((1013394.838 888044.616 0, 1013117.128 888043.84 0, 1012838.07 888043.076 0, 1012559.011 888042.329 0, 1012279.953 888041.598 0, 1012000.894 888040.883 0, 1011721.835 888040.185 0, 1011442.777 888039.503 0, 1011163.718 888038.838 0, 1010884.659 888038.189 0,
+ 1010605.601 888037.557 0, 1010326.542 888036.941 0, 1010047.483 888036.341 0, 1009768.424 888035.758 0, 1009489.365 888035.191 0, 1009210.306 888034.641 0, 1008931.248 888034.107 0, 1008652.189 888033.59 0, 1008373.13 888033.089 0, 1008094.071 888032.604 0,
+ 1007815.011 888032.136 0, 1007535.952 888031.684 0, 1007256.893 888031.249 0, 1006977.834 888030.83 0, 1006697.426 888030.425 0, 1006419.716 888030.041 0, 1006140.657 888029.672 0, 1005861.597 888029.318 0, 1005582.538 888028.982 0, 1005303.479 888028.661 0,
+ 1005024.419 888028.357 0, 1004745.36 888028.07 0, 1004466.301 888027.799 0, 1004187.242 888027.544 0, 1003908.182 888027.306 0, 1003629.123 888027.084 0, 1003350.063 888026.879 0, 1003071.004 888026.69 0, 1002791.945 888026.517 0, 1002512.885 888026.361 0,
+ 1002233.826 888026.221 0, 1001954.766 888026.098 0, 1001675.707 888025.991 0, 1001396.647 888025.901 0, 1001117.588 888025.827 0, 1000838.529 888025.769 0, 1000559.469 888025.728 0, 1000280.41 888025.703 0, 1000000 888025.695 0, 1000000 893603.628 0,
+ 1000000 899181.723 0, 1000279.75 899181.732 0, 1000558.153 899181.756 0, 1000836.556 899181.797 0, 1001114.958 899181.855 0, 1001393.361 899181.929 0, 1001671.764 899182.019 0, 1001950.167 899182.125 0, 1002228.57 899182.248 0, 1002506.972 899182.388 0,
+ 1002785.375 899182.544 0, 1003063.778 899182.716 0, 1003342.181 899182.904 0, 1003620.584 899183.109 0, 1003898.986 899183.33 0, 1004177.389 899183.568 0, 1004455.792 899183.822 0, 1004734.194 899184.093 0, 1005012.597 899184.379 0, 1005291 899184.683 0,
+ 1005569.402 899185.002 0, 1005847.805 899185.338 0, 1006126.208 899185.691 0, 1006404.61 899186.059 0, 1006681.667 899186.443 0, 1006961.415 899186.846 0, 1007239.818 899187.264 0, 1007518.22 899187.698 0, 1007796.623 899188.149 0, 1008075.025 899188.616 0,
+ 1008353.428 899189.1 0, 1008631.83 899189.599 0, 1008910.232 899190.116 0, 1009188.635 899190.648 0, 1009467.037 899191.197 0, 1009745.439 899191.763 0, 1010023.842 899192.345 0, 1010302.244 899192.943 0, 1010580.646 899193.557 0, 1010859.048 899194.188 0,
+ 1011137.45 899194.836 0, 1011415.852 899195.499 0, 1011694.254 899196.179 0, 1011972.656 899196.876 0, 1012251.058 899197.589 0, 1012529.46 899198.318 0, 1012807.862 899199.064 0, 1013086.264 899199.826 0, 1013363.32 899200.6 0, 1013379.08 893622.528 0,
+ 1013394.838 888044.616 0))
+
+POLYGON ((1026726.534 899257.231 0, 1026449.478 899255.674 0, 1026171.08 899254.125 0, 1025892.681 899252.593 0, 1025614.283 899251.077 0, 1025335.884 899249.578 0, 1025057.485 899248.095 0, 1024779.086 899246.628 0, 1024500.687 899245.178 0, 1024222.288 899243.744 0,
+ 1023943.889 899242.326 0, 1023665.489 899240.925 0, 1023387.09 899239.541 0, 1023108.69 899238.172 0, 1022830.291 899236.82 0, 1022551.891 899235.485 0, 1022273.491 899234.166 0, 1021995.092 899232.863 0, 1021716.692 899231.576 0, 1021438.292 899230.306 0,
+ 1021159.892 899229.053 0, 1020881.492 899227.816 0, 1020603.092 899226.595 0, 1020324.691 899225.39 0, 1020044.947 899224.196 0, 1019767.891 899223.03 0, 1019489.49 899221.875 0, 1019211.09 899220.736 0, 1018932.689 899219.614 0, 1018654.289 899218.508 0,
+ 1018375.888 899217.418 0, 1018097.487 899216.344 0, 1017819.086 899215.287 0, 1017540.685 899214.247 0, 1017262.284 899213.223 0, 1016983.883 899212.215 0, 1016705.482 899211.223 0, 1016427.081 899210.248 0, 1016148.68 899209.29 0, 1015870.279 899208.347 0,
+ 1015591.878 899207.421 0, 1015313.476 899206.512 0, 1015035.075 899205.619 0, 1014756.673 899204.742 0, 1014478.272 899203.882 0, 1014199.87 899203.038 0, 1013921.469 899202.21 0, 1013643.067 899201.399 0, 1013363.32 899200.6 0, 1013347.561 904778.831 0,
+ 1013331.801 910357.215 0, 1013610.888 910358.012 0, 1013888.633 910358.821 0, 1014166.378 910359.647 0, 1014444.122 910360.489 0, 1014721.867 910361.347 0, 1014999.612 910362.222 0, 1015277.357 910363.113 0, 1015555.102 910364.02 0, 1015832.846 910364.944 0,
+ 1016110.591 910365.884 0, 1016388.335 910366.841 0, 1016666.08 910367.813 0, 1016943.824 910368.802 0, 1017221.569 910369.808 0, 1017499.313 910370.83 0, 1017777.057 910371.868 0, 1018054.801 910372.922 0, 1018332.545 910373.993 0, 1018610.289 910375.08 0,
+ 1018888.033 910376.184 0, 1019165.777 910377.304 0, 1019443.521 910378.44 0, 1019721.265 910379.593 0, 1019997.668 910380.756 0, 1020276.752 910381.947 0, 1020554.496 910383.148 0, 1020832.239 910384.366 0, 1021109.983 910385.601 0, 1021387.726 910386.851 0,
+ 1021665.469 910388.118 0, 1021943.213 910389.402 0, 1022220.956 910390.702 0, 1022498.699 910392.018 0, 1022776.442 910393.35 0, 1023054.185 910394.699 0, 1023331.928 910396.064 0, 1023609.67 910397.445 0, 1023887.413 910398.843 0, 1024165.156 910400.257 0,
+ 1024442.898 910401.688 0, 1024720.64 910403.135 0, 1024998.383 910404.598 0, 1025276.125 910406.077 0, 1025553.867 910407.573 0, 1025831.609 910409.085 0, 1026109.351 910410.614 0, 1026387.093 910412.159 0, 1026663.495 910413.713 0, 1026695.015 904835.395 0,
+ 1026726.534 899257.231 0))
+
+POLYGON ((1039994.977 910507.874 0, 1039718.578 910505.539 0, 1039440.842 910503.21 0, 1039163.105 910500.896 0, 1038885.368 910498.6 0, 1038607.632 910496.319 0, 1038329.895 910494.055 0, 1038052.158 910491.807 0, 1037774.42 910489.575 0, 1037496.683 910487.36 0,
+ 1037218.946 910485.161 0, 1036941.208 910482.979 0, 1036663.47 910480.813 0, 1036385.732 910478.663 0, 1036107.994 910476.53 0, 1035830.256 910474.413 0, 1035552.518 910472.312 0, 1035274.78 910470.228 0, 1034997.041 910468.16 0, 1034719.303 910466.108 0,
+ 1034441.564 910464.073 0, 1034163.825 910462.054 0, 1033886.086 910460.051 0, 1033608.347 910458.065 0, 1033329.269 910456.085 0, 1033052.868 910454.141 0, 1032775.129 910452.204 0, 1032497.39 910450.283 0, 1032219.65 910448.378 0, 1031941.91 910446.49 0,
+ 1031664.17 910444.618 0, 1031386.43 910442.763 0, 1031108.69 910440.924 0, 1030830.95 910439.101 0, 1030553.21 910437.294 0, 1030275.469 910435.504 0, 1029997.729 910433.73 0, 1029719.988 910431.973 0, 1029442.247 910430.232 0, 1029164.507 910428.507 0,
+ 1028886.766 910426.799 0, 1028609.025 910425.107 0, 1028331.284 910423.431 0, 1028053.542 910421.772 0, 1027775.801 910420.129 0, 1027498.06 910418.502 0, 1027220.318 910416.892 0, 1026942.577 910415.298 0, 1026663.495 910413.713 0, 1026631.975 915992.18 0,
+ 1026600.453 921570.794 0, 1026878.874 921572.376 0, 1027155.959 921573.966 0, 1027433.044 921575.572 0, 1027710.129 921577.195 0, 1027987.213 921578.834 0, 1028264.298 921580.49 0, 1028541.382 921582.161 0, 1028818.467 921583.849 0, 1029095.551 921585.554 0,
+ 1029372.635 921587.274 0, 1029649.719 921589.011 0, 1029926.803 921590.765 0, 1030203.887 921592.534 0, 1030480.971 921594.32 0, 1030758.054 921596.122 0, 1031035.138 921597.941 0, 1031312.221 921599.776 0, 1031589.305 921601.627 0, 1031866.388 921603.494 0,
+ 1032143.471 921605.378 0, 1032420.554 921607.278 0, 1032697.637 921609.194 0, 1032974.719 921611.127 0, 1033250.467 921613.067 0, 1033528.884 921615.041 0, 1033805.967 921617.023 0, 1034083.049 921619.021 0, 1034360.131 921621.035 0, 1034637.213 921623.066 0,
+ 1034914.295 921625.112 0, 1035191.377 921627.176 0, 1035468.459 921629.255 0, 1035745.54 921631.351 0, 1036022.622 921633.463 0, 1036299.703 921635.591 0, 1036576.784 921637.736 0, 1036853.865 921639.897 0, 1037130.946 921642.074 0, 1037408.027 921644.268 0,
+ 1037685.108 921646.478 0, 1037962.188 921648.704 0, 1038239.269 921650.946 0, 1038516.349 921653.205 0, 1038793.429 921655.48 0, 1039070.509 921657.772 0, 1039347.589 921660.08 0, 1039624.669 921662.404 0, 1039900.414 921664.733 0, 1039947.696 916086.23 0,
+ 1039994.977 910507.874 0))
+
+POLYGON ((1053200.057 921796.246 0, 1052924.317 921793.138 0, 1052647.245 921790.031 0, 1052370.173 921786.94 0, 1052093.1 921783.866 0, 1051816.027 921780.808 0, 1051538.955 921777.767 0, 1051261.882 921774.741 0, 1050984.809 921771.732 0, 1050707.735 921768.739 0,
+ 1050430.662 921765.763 0, 1050153.588 921762.803 0, 1049876.514 921759.859 0, 1049599.44 921756.932 0, 1049322.366 921754.021 0, 1049045.292 921751.126 0, 1048768.217 921748.247 0, 1048491.142 921745.385 0, 1048214.068 921742.539 0, 1047936.993 921739.709 0,
+ 1047659.917 921736.896 0, 1047382.842 921734.099 0, 1047105.766 921731.318 0, 1046828.691 921728.554 0, 1046550.282 921725.793 0, 1046274.539 921723.074 0, 1045997.463 921720.359 0, 1045720.386 921717.659 0, 1045443.31 921714.977 0, 1045166.233 921712.31 0,
+ 1044889.156 921709.66 0, 1044612.079 921707.026 0, 1044335.002 921704.408 0, 1044057.925 921701.807 0, 1043780.848 921699.222 0, 1043503.77 921696.653 0, 1043226.692 921694.101 0, 1042949.615 921691.565 0, 1042672.536 921689.045 0, 1042395.458 921686.541 0,
+ 1042118.38 921684.054 0, 1041841.302 921681.583 0, 1041564.223 921679.129 0, 1041287.144 921676.691 0, 1041010.065 921674.269 0, 1040732.986 921671.863 0, 1040455.907 921669.474 0, 1040178.828 921667.101 0, 1039900.414 921664.733 0, 1039853.131 927243.378 0,
+ 1039805.846 932822.161 0, 1040083.6 932824.523 0, 1040360.023 932826.89 0, 1040636.445 932829.274 0, 1040912.868 932831.674 0, 1041189.29 932834.09 0, 1041465.712 932836.523 0, 1041742.134 932838.971 0, 1042018.556 932841.436 0, 1042294.977 932843.918 0,
+ 1042571.399 932846.415 0, 1042847.82 932848.929 0, 1043124.241 932851.459 0, 1043400.662 932854.005 0, 1043677.083 932856.568 0, 1043953.504 932859.147 0, 1044229.924 932861.742 0, 1044506.345 932864.353 0, 1044782.765 932866.981 0, 1045059.185 932869.625 0,
+ 1045335.605 932872.285 0, 1045612.025 932874.962 0, 1045888.445 932877.654 0, 1046164.864 932880.364 0, 1046439.953 932883.076 0, 1046717.702 932885.83 0, 1046994.121 932888.588 0, 1047270.54 932891.362 0, 1047546.959 932894.153 0, 1047823.377 932896.959 0,
+ 1048099.796 932899.782 0, 1048376.214 932902.622 0, 1048652.632 932905.477 0, 1048929.05 932908.349 0, 1049205.467 932911.237 0, 1049481.885 932914.141 0, 1049758.302 932917.062 0, 1050034.719 932919.998 0, 1050311.136 932922.951 0, 1050587.553 932925.921 0,
+ 1050863.97 932928.906 0, 1051140.386 932931.908 0, 1051416.803 932934.926 0, 1051693.219 932937.961 0, 1051969.635 932941.012 0, 1052246.05 932944.079 0, 1052522.466 932947.162 0, 1052798.881 932950.261 0, 1053073.968 932953.362 0, 1053137.013 927374.735 0,
+ 1053200.057 921796.246 0))
+
+POLYGON ((1066341.665 933122.048 0, 1066066.587 933118.17 0, 1065790.181 933114.289 0, 1065513.775 933110.425 0, 1065237.369 933106.577 0, 1064960.963 933102.746 0, 1064684.557 933098.93 0, 1064408.15 933095.131 0, 1064131.743 933091.349 0, 1063855.336 933087.582 0,
+ 1063578.929 933083.832 0, 1063302.521 933080.098 0, 1063026.114 933076.38 0, 1062749.706 933072.679 0, 1062473.297 933068.993 0, 1062196.889 933065.324 0, 1061920.48 933061.672 0, 1061644.072 933058.035 0, 1061367.663 933054.415 0, 1061091.253 933050.811 0,
+ 1060814.844 933047.224 0, 1060538.434 933043.653 0, 1060262.024 933040.098 0, 1059985.614 933036.559 0, 1059707.876 933033.019 0, 1059432.793 933029.53 0, 1059156.383 933026.04 0, 1058879.972 933022.566 0, 1058603.561 933019.109 0, 1058327.149 933015.668 0,
+ 1058050.738 933012.243 0, 1057774.326 933008.834 0, 1057497.914 933005.442 0, 1057221.502 933002.066 0, 1056945.089 932998.706 0, 1056668.677 932995.363 0, 1056392.264 932992.035 0, 1056115.851 932988.724 0, 1055839.438 932985.43 0, 1055563.025 932982.151 0,
+ 1055286.611 932978.889 0, 1055010.198 932975.643 0, 1054733.784 932972.413 0, 1054457.37 932969.2 0, 1054180.955 932966.003 0, 1053904.541 932962.822 0, 1053628.126 932959.657 0, 1053351.712 932956.509 0, 1053073.968 932953.362 0, 1053010.921 938532.124 0,
+ 1052947.872 944111.015 0, 1053224.957 944114.155 0, 1053500.715 944117.296 0, 1053776.473 944120.453 0, 1054052.23 944123.626 0, 1054327.988 944126.816 0, 1054603.745 944130.021 0, 1054879.502 944133.243 0, 1055155.259 944136.482 0, 1055431.016 944139.736 0,
+ 1055706.773 944143.007 0, 1055982.529 944146.294 0, 1056258.285 944149.597 0, 1056534.041 944152.916 0, 1056809.797 944156.252 0, 1057085.553 944159.604 0, 1057361.308 944162.972 0, 1057637.063 944166.356 0, 1057912.819 944169.756 0, 1058188.573 944173.173 0,
+ 1058464.328 944176.606 0, 1058740.082 944180.055 0, 1059015.837 944183.521 0, 1059291.591 944187.003 0, 1059566.02 944190.484 0, 1059843.098 944194.015 0, 1060118.851 944197.545 0, 1060394.605 944201.091 0, 1060670.358 944204.654 0, 1060946.11 944208.233 0,
+ 1061221.863 944211.829 0, 1061497.615 944215.44 0, 1061773.367 944219.068 0, 1062049.119 944222.712 0, 1062324.871 944226.372 0, 1062600.623 944230.049 0, 1062876.374 944233.741 0, 1063152.125 944237.45 0, 1063427.876 944241.175 0, 1063703.626 944244.917 0,
+ 1063979.377 944248.674 0, 1064255.127 944252.448 0, 1064530.877 944256.238 0, 1064806.627 944260.044 0, 1065082.376 944263.867 0, 1065358.125 944267.706 0, 1065633.874 944271.56 0, 1065909.623 944275.432 0, 1066184.048 944279.3 0, 1066262.858 938700.609 0,
+ 1066341.665 933122.048 0))
+
+POLYGON ((1079419.696 944484.979 0, 1079145.281 944480.335 0, 1078869.544 944475.685 0, 1078593.807 944471.051 0, 1078318.069 944466.433 0, 1078042.332 944461.832 0, 1077766.594 944457.246 0, 1077490.856 944452.677 0, 1077215.117 944448.125 0, 1076939.379 944443.588 0,
+ 1076663.64 944439.068 0, 1076387.901 944434.563 0, 1076112.161 944430.075 0, 1075836.421 944425.604 0, 1075560.681 944421.148 0, 1075284.941 944416.709 0, 1075009.201 944412.286 0, 1074733.46 944407.879 0, 1074457.719 944403.489 0, 1074181.977 944399.114 0,
+ 1073906.236 944394.756 0, 1073630.494 944390.414 0, 1073354.752 944386.089 0, 1073079.01 944381.779 0, 1072801.945 944377.466 0, 1072527.524 944373.209 0, 1072251.781 944368.949 0, 1071976.038 944364.704 0, 1071700.294 944360.476 0, 1071424.55 944356.264 0,
+ 1071148.806 944352.068 0, 1070873.062 944347.888 0, 1070597.317 944343.725 0, 1070321.573 944339.578 0, 1070045.828 944335.447 0, 1069770.082 944331.333 0, 1069494.337 944327.234 0, 1069218.591 944323.152 0, 1068942.845 944319.086 0, 1068667.099 944315.036 0,
+ 1068391.352 944311.003 0, 1068115.605 944306.985 0, 1067839.859 944302.984 0, 1067564.111 944299 0, 1067288.364 944295.031 0, 1067012.616 944291.079 0, 1066736.868 944287.143 0, 1066461.12 944283.223 0, 1066184.048 944279.3 0, 1066105.237 949858.118 0,
+ 1066026.424 955437.059 0, 1066302.836 955440.972 0, 1066577.928 955444.882 0, 1066853.019 955448.809 0, 1067128.11 955452.752 0, 1067403.2 955456.711 0, 1067678.291 955460.686 0, 1067953.381 955464.678 0, 1068228.471 955468.686 0, 1068503.561 955472.709 0,
+ 1068778.65 955476.749 0, 1069053.74 955480.806 0, 1069328.829 955484.878 0, 1069603.918 955488.967 0, 1069879.006 955493.072 0, 1070154.095 955497.193 0, 1070429.183 955501.33 0, 1070704.271 955505.483 0, 1070979.358 955509.653 0, 1071254.445 955513.839 0,
+ 1071529.533 955518.041 0, 1071804.619 955522.259 0, 1072079.706 955526.493 0, 1072354.792 955530.744 0, 1072628.559 955534.99 0, 1072904.964 955539.294 0, 1073180.05 955543.593 0, 1073455.135 955547.908 0, 1073730.221 955552.24 0, 1074005.305 955556.587 0,
+ 1074280.39 955560.951 0, 1074555.474 955565.331 0, 1074830.558 955569.728 0, 1075105.642 955574.14 0, 1075380.726 955578.569 0, 1075655.809 955583.014 0, 1075930.892 955587.475 0, 1076205.975 955591.952 0, 1076481.057 955596.445 0, 1076756.14 955600.955 0,
+ 1077031.222 955605.481 0, 1077306.303 955610.023 0, 1077581.385 955614.581 0, 1077856.466 955619.155 0, 1078131.547 955623.746 0, 1078406.627 955628.353 0, 1078681.708 955632.976 0, 1078956.788 955637.615 0, 1079230.549 955642.248 0, 1079325.124 950063.552 0,
+ 1079419.696 944484.979 0))
+
+POLYGON ((1092434.042 955884.74 0, 1092160.293 955879.334 0, 1091885.227 955873.917 0, 1091610.161 955868.517 0, 1091335.094 955863.133 0, 1091060.028 955857.766 0, 1090784.96 955852.414 0, 1090509.893 955847.079 0, 1090234.825 955841.76 0, 1089959.757 955836.457 0,
+ 1089684.689 955831.17 0, 1089409.62 955825.899 0, 1089134.551 955820.645 0, 1088859.482 955815.407 0, 1088584.412 955810.185 0, 1088309.342 955804.979 0, 1088034.272 955799.789 0, 1087759.201 955794.616 0, 1087484.13 955789.459 0, 1087209.059 955784.318 0,
+ 1086933.988 955779.193 0, 1086658.916 955774.084 0, 1086383.844 955768.992 0, 1086108.771 955763.915 0, 1085832.382 955758.831 0, 1085558.626 955753.811 0, 1085283.553 955748.784 0, 1085008.479 955743.772 0, 1084733.405 955738.777 0, 1084458.331 955733.798 0,
+ 1084183.257 955728.835 0, 1083908.182 955723.888 0, 1083633.107 955718.957 0, 1083358.031 955714.043 0, 1083082.956 955709.145 0, 1082807.88 955704.263 0, 1082532.804 955699.397 0, 1082257.727 955694.547 0, 1081982.651 955689.714 0, 1081707.574 955684.897 0,
+ 1081432.496 955680.096 0, 1081157.419 955675.311 0, 1080882.341 955670.542 0, 1080607.263 955665.79 0, 1080332.184 955661.053 0, 1080057.106 955656.333 0, 1079782.027 955651.629 0, 1079506.947 955646.942 0, 1079230.549 955642.248 0, 1079135.973 961221.062 0,
+ 1079041.395 966799.99 0, 1079317.133 966804.672 0, 1079591.556 966809.349 0, 1079865.978 966814.042 0, 1080140.4 966818.75 0, 1080414.822 966823.475 0, 1080689.243 966828.217 0, 1080963.664 966832.974 0, 1081238.085 966837.747 0, 1081512.506 966842.537 0,
+ 1081786.926 966847.343 0, 1082061.346 966852.165 0, 1082335.766 966857.003 0, 1082610.185 966861.857 0, 1082884.604 966866.727 0, 1083159.023 966871.614 0, 1083433.442 966876.516 0, 1083707.86 966881.435 0, 1083982.278 966886.37 0, 1084256.696 966891.321 0,
+ 1084531.113 966896.288 0, 1084805.531 966901.272 0, 1085079.947 966906.271 0, 1085354.364 966911.287 0, 1085627.466 966916.295 0, 1085903.196 966921.367 0, 1086177.612 966926.431 0, 1086452.027 966931.511 0, 1086726.442 966936.608 0, 1087000.857 966941.721 0,
+ 1087275.272 966946.849 0, 1087549.686 966951.994 0, 1087824.1 966957.155 0, 1088098.513 966962.333 0, 1088372.926 966967.526 0, 1088647.339 966972.735 0, 1088921.752 966977.961 0, 1089196.164 966983.203 0, 1089470.576 966988.461 0, 1089744.988 966993.735 0,
+ 1090019.399 966999.025 0, 1090293.81 967004.332 0, 1090568.221 967009.654 0, 1090842.632 967014.993 0, 1091117.042 967020.348 0, 1091391.452 967025.719 0, 1091665.861 967031.106 0, 1091940.27 967036.51 0, 1092213.366 967041.903 0, 1092323.706 961463.264 0,
+ 1092434.042 955884.74 0))
+
+POLYGON ((1105384.601 967321.029 0, 1105111.52 967314.864 0, 1104837.127 967308.685 0, 1104562.734 967302.523 0, 1104288.34 967296.376 0, 1104013.946 967290.246 0, 1103739.552 967284.132 0, 1103465.157 967278.034 0, 1103190.762 967271.953 0, 1102916.367 967265.887 0,
+ 1102641.971 967259.838 0, 1102367.575 967253.805 0, 1102093.179 967247.788 0, 1101818.782 967241.787 0, 1101544.385 967235.802 0, 1101269.987 967229.833 0, 1100995.589 967223.881 0, 1100721.191 967217.944 0, 1100446.793 967212.024 0, 1100172.394 967206.12 0,
+ 1099897.995 967200.232 0, 1099623.595 967194.361 0, 1099349.195 967188.505 0, 1099074.795 967182.666 0, 1098799.082 967176.815 0, 1098525.993 967171.035 0, 1098251.592 967165.244 0, 1097977.19 967159.469 0, 1097702.788 967153.711 0, 1097428.386 967147.968 0,
+ 1097153.984 967142.242 0, 1096879.581 967136.532 0, 1096605.177 967130.838 0, 1096330.774 967125.16 0, 1096056.37 967119.498 0, 1095781.965 967113.852 0, 1095507.561 967108.223 0, 1095233.156 967102.61 0, 1094958.75 967097.012 0, 1094684.345 967091.431 0,
+ 1094409.939 967085.867 0, 1094135.532 967080.318 0, 1093861.126 967074.785 0, 1093586.719 967069.269 0, 1093312.312 967063.769 0, 1093037.904 967058.284 0, 1092763.496 967052.817 0, 1092489.088 967047.365 0, 1092213.366 967041.903 0, 1092103.025 972620.652 0,
+ 1091992.681 978199.508 0, 1092267.743 978204.956 0, 1092541.495 978210.395 0, 1092815.246 978215.85 0, 1093088.997 978221.321 0, 1093362.747 978226.808 0, 1093636.498 978232.311 0, 1093910.247 978237.83 0, 1094183.997 978243.366 0, 1094457.746 978248.917 0,
+ 1094731.495 978254.485 0, 1095005.244 978260.069 0, 1095278.992 978265.669 0, 1095552.74 978271.285 0, 1095826.488 978276.917 0, 1096100.235 978282.565 0, 1096373.982 978288.229 0, 1096647.729 978293.91 0, 1096921.475 978299.606 0, 1097195.221 978305.319 0,
+ 1097468.966 978311.048 0, 1097742.712 978316.793 0, 1098016.457 978322.554 0, 1098290.201 978328.331 0, 1098562.637 978334.096 0, 1098837.689 978339.933 0, 1099111.433 978345.759 0, 1099385.176 978351.6 0, 1099658.919 978357.458 0, 1099932.662 978363.332 0,
+ 1100206.404 978369.222 0, 1100480.146 978375.128 0, 1100753.887 978381.05 0, 1101027.628 978386.988 0, 1101301.369 978392.942 0, 1101575.109 978398.913 0, 1101848.85 978404.899 0, 1102122.589 978410.902 0, 1102396.329 978416.921 0, 1102670.068 978422.956 0,
+ 1102943.806 978429.007 0, 1103217.545 978435.074 0, 1103491.283 978441.157 0, 1103765.02 978447.256 0, 1104038.757 978453.372 0, 1104312.494 978459.504 0, 1104586.231 978465.651 0, 1104859.967 978471.815 0, 1105132.395 978477.965 0, 1105258.5 972899.444 0,
+ 1105384.601 967321.029 0))
+
+POLYGON ((1118271.27 978793.544 0, 1117998.858 978786.624 0, 1117725.14 978779.687 0, 1117451.422 978772.766 0, 1117177.704 978765.861 0, 1116903.985 978758.972 0, 1116630.266 978752.099 0, 1116356.546 978745.243 0, 1116082.826 978738.402 0, 1115809.105 978731.578 0,
+ 1115535.385 978724.77 0, 1115261.663 978717.978 0, 1114987.942 978711.202 0, 1114714.219 978704.442 0, 1114440.497 978697.698 0, 1114166.774 978690.97 0, 1113893.051 978684.259 0, 1113619.327 978677.563 0, 1113345.603 978670.884 0, 1113071.879 978664.221 0,
+ 1112798.154 978657.573 0, 1112524.429 978650.942 0, 1112250.703 978644.328 0, 1111976.977 978637.729 0, 1111701.944 978631.115 0, 1111429.524 978624.579 0, 1111155.797 978618.029 0, 1110882.069 978611.495 0, 1110608.341 978604.976 0, 1110334.613 978598.474 0,
+ 1110060.884 978591.988 0, 1109787.155 978585.518 0, 1109513.425 978579.065 0, 1109239.696 978572.627 0, 1108965.965 978566.205 0, 1108692.235 978559.8 0, 1108418.504 978553.41 0, 1108144.772 978547.037 0, 1107871.041 978540.68 0, 1107597.308 978534.339 0,
+ 1107323.576 978528.014 0, 1107049.843 978521.705 0, 1106776.11 978515.413 0, 1106502.376 978509.136 0, 1106228.642 978502.876 0, 1105954.908 978496.631 0, 1105681.173 978490.403 0, 1105407.438 978484.191 0, 1105132.395 978477.965 0, 1105006.289 984056.589 0,
+ 1104880.18 989635.311 0, 1105154.563 989641.522 0, 1105427.641 989647.719 0, 1105700.719 989653.932 0, 1105973.797 989660.162 0, 1106246.874 989666.407 0, 1106519.951 989672.669 0, 1106793.028 989678.946 0, 1107066.104 989685.24 0, 1107339.18 989691.55 0,
+ 1107612.255 989697.875 0, 1107885.33 989704.217 0, 1108158.405 989710.575 0, 1108431.479 989716.949 0, 1108704.553 989723.339 0, 1108977.627 989729.745 0, 1109250.7 989736.168 0, 1109523.772 989742.606 0, 1109796.845 989749.06 0, 1110069.917 989755.531 0,
+ 1110342.989 989762.017 0, 1110616.06 989768.52 0, 1110889.131 989775.039 0, 1111162.201 989781.573 0, 1111433.968 989788.093 0, 1111708.341 989794.691 0, 1111981.41 989801.274 0, 1112254.479 989807.873 0, 1112527.548 989814.488 0, 1112800.616 989821.119 0,
+ 1113073.684 989827.767 0, 1113346.751 989834.43 0, 1113619.818 989841.109 0, 1113892.885 989847.805 0, 1114165.951 989854.516 0, 1114439.017 989861.244 0, 1114712.082 989867.988 0, 1114985.147 989874.748 0, 1115258.212 989881.523 0, 1115531.276 989888.315 0,
+ 1115804.34 989895.123 0, 1116077.403 989901.947 0, 1116350.466 989908.787 0, 1116623.529 989915.644 0, 1116896.591 989922.516 0, 1117169.653 989929.404 0, 1117442.715 989936.309 0, 1117715.776 989943.229 0, 1117987.534 989950.133 0, 1118129.403 984371.789 0,
+ 1118271.27 978793.544 0))
+
+POLYGON ((1131093.946 990301.983 0, 1130822.206 990294.312 0, 1130549.166 990286.62 0, 1130276.125 990278.944 0, 1130003.084 990271.285 0, 1129730.042 990263.641 0, 1129457 990256.013 0, 1129183.957 990248.402 0, 1128910.914 990240.806 0, 1128637.871 990233.227 0,
+ 1128364.827 990225.664 0, 1128091.783 990218.116 0, 1127818.738 990210.585 0, 1127545.692 990203.07 0, 1127272.647 990195.571 0, 1126999.601 990188.088 0, 1126726.554 990180.621 0, 1126453.507 990173.17 0, 1126180.459 990165.735 0, 1125907.412 990158.317 0,
+ 1125634.363 990150.914 0, 1125361.314 990143.528 0, 1125088.265 990136.157 0, 1124815.216 990128.803 0, 1124540.864 990121.429 0, 1124269.115 990114.142 0, 1123996.064 990106.836 0, 1123723.013 990099.546 0, 1123449.961 990092.272 0, 1123176.909 990085.014 0,
+ 1122903.856 990077.772 0, 1122630.803 990070.546 0, 1122357.749 990063.336 0, 1122084.695 990056.143 0, 1121811.641 990048.965 0, 1121538.586 990041.803 0, 1121265.531 990034.658 0, 1120992.475 990027.528 0, 1120719.419 990020.415 0, 1120446.363 990013.318 0,
+ 1120173.306 990006.237 0, 1119900.249 989999.172 0, 1119627.191 989992.122 0, 1119354.133 989985.089 0, 1119081.074 989978.073 0, 1118808.015 989971.072 0, 1118534.956 989964.087 0, 1118261.896 989957.118 0, 1117987.534 989950.133 0, 1117845.662 995528.57 0,
+ 1117703.788 1001107.098 0, 1117977.491 1001114.066 0, 1118249.894 1001121.018 0, 1118522.297 1001127.986 0, 1118794.699 1001134.97 0, 1119067.101 1001141.97 0, 1119339.502 1001148.986 0, 1119611.903 1001156.019 0, 1119884.304 1001163.067 0, 1120156.704 1001170.131 0,
+ 1120429.104 1001177.211 0, 1120701.503 1001184.307 0, 1120973.902 1001191.42 0, 1121246.301 1001198.548 0, 1121518.699 1001205.692 0, 1121791.097 1001212.853 0, 1122063.494 1001220.029 0, 1122335.891 1001227.221 0, 1122608.287 1001234.43 0, 1122880.683 1001241.654 0,
+ 1123153.079 1001248.895 0, 1123425.474 1001256.151 0, 1123697.869 1001263.424 0, 1123970.263 1001270.713 0, 1124241.359 1001277.983 0, 1124515.05 1001285.338 0, 1124787.443 1001292.675 0, 1125059.836 1001300.028 0, 1125332.228 1001307.396 0, 1125604.62 1001314.781 0,
+ 1125877.011 1001322.182 0, 1126149.402 1001329.599 0, 1126421.792 1001337.032 0, 1126694.182 1001344.481 0, 1126966.572 1001351.946 0, 1127238.961 1001359.427 0, 1127511.349 1001366.924 0, 1127783.737 1001374.437 0, 1128056.125 1001381.966 0, 1128328.513 1001389.511 0,
+ 1128600.899 1001397.072 0, 1128873.286 1001404.65 0, 1129145.672 1001412.243 0, 1129418.057 1001419.852 0, 1129690.442 1001427.477 0, 1129962.827 1001435.119 0, 1130235.211 1001442.776 0, 1130507.595 1001450.449 0, 1130778.681 1001458.102 0, 1130936.315 995879.998 0,
+ 1131093.946 990301.983 0))
+
+POLYGON ((1143852.53 1001846.045 0, 1143581.465 1001837.626 0, 1143309.104 1001829.183 0, 1143036.742 1001820.756 0, 1142764.38 1001812.345 0, 1142492.018 1001803.95 0, 1142219.655 1001795.572 0, 1141947.292 1001787.209 0, 1141674.928 1001778.862 0, 1141402.563 1001770.531 0,
+ 1141130.198 1001762.217 0, 1140857.833 1001753.918 0, 1140585.467 1001745.636 0, 1140313.101 1001737.369 0, 1140040.734 1001729.118 0, 1139768.366 1001720.884 0, 1139495.999 1001712.665 0, 1139223.63 1001704.463 0, 1138951.262 1001696.277 0, 1138678.892 1001688.106 0,
+ 1138406.523 1001679.952 0, 1138134.152 1001671.814 0, 1137861.782 1001663.691 0, 1137589.41 1001655.585 0, 1137315.743 1001647.456 0, 1137044.667 1001639.421 0, 1136772.294 1001631.362 0, 1136499.921 1001623.32 0, 1136227.547 1001615.294 0, 1135955.173 1001607.284 0,
+ 1135682.799 1001599.29 0, 1135410.424 1001591.312 0, 1135138.048 1001583.35 0, 1134865.672 1001575.404 0, 1134593.296 1001567.474 0, 1134320.919 1001559.56 0, 1134048.542 1001551.663 0, 1133776.164 1001543.781 0, 1133503.786 1001535.915 0, 1133231.407 1001528.065 0,
+ 1132959.028 1001520.232 0, 1132686.648 1001512.414 0, 1132414.268 1001504.612 0, 1132141.888 1001496.827 0, 1131869.507 1001489.057 0, 1131597.125 1001481.303 0, 1131324.743 1001473.566 0, 1131052.361 1001465.844 0, 1130778.681 1001458.102 0, 1130621.045 1007036.293 0,
+ 1130463.407 1012614.565 0, 1130736.427 1012622.288 0, 1131008.152 1012629.991 0, 1131279.878 1012637.71 0, 1131551.602 1012645.445 0, 1131823.327 1012653.196 0, 1132095.051 1012660.962 0, 1132366.774 1012668.745 0, 1132638.497 1012676.544 0, 1132910.22 1012684.359 0,
+ 1133181.942 1012692.19 0, 1133453.663 1012700.037 0, 1133725.385 1012707.899 0, 1133997.105 1012715.778 0, 1134268.825 1012723.673 0, 1134540.545 1012731.584 0, 1134812.264 1012739.511 0, 1135083.983 1012747.453 0, 1135355.702 1012755.412 0, 1135627.419 1012763.387 0,
+ 1135899.137 1012771.378 0, 1136170.854 1012779.384 0, 1136442.57 1012787.407 0, 1136714.286 1012795.446 0, 1136984.709 1012803.462 0, 1137257.717 1012811.571 0, 1137529.431 1012819.658 0, 1137801.145 1012827.761 0, 1138072.859 1012835.879 0, 1138344.572 1012844.014 0,
+ 1138616.285 1012852.165 0, 1138887.997 1012860.332 0, 1139159.709 1012868.514 0, 1139431.42 1012876.713 0, 1139703.131 1012884.928 0, 1139974.841 1012893.158 0, 1140246.551 1012901.405 0, 1140518.26 1012909.667 0, 1140789.969 1012917.946 0, 1141061.677 1012926.241 0,
+ 1141333.385 1012934.551 0, 1141605.092 1012942.878 0, 1141876.799 1012951.22 0, 1142148.505 1012959.579 0, 1142420.211 1012967.954 0, 1142691.917 1012976.344 0, 1142963.621 1012984.751 0, 1143235.326 1012993.173 0, 1143505.738 1013001.572 0, 1143679.136 1007423.767 0,
+ 1143852.53 1001846.045 0))
+
+POLYGON ((1156546.924 1013425.424 0, 1156276.535 1013416.262 0, 1156004.855 1013407.072 0, 1155733.175 1013397.897 0, 1155461.494 1013388.739 0, 1155189.813 1013379.597 0, 1154918.132 1013370.471 0, 1154646.45 1013361.361 0, 1154374.767 1013352.267 0, 1154103.084 1013343.188 0,
+ 1153831.4 1013334.126 0, 1153559.716 1013325.08 0, 1153288.031 1013316.05 0, 1153016.345 1013307.036 0, 1152744.659 1013298.037 0, 1152472.973 1013289.055 0, 1152201.286 1013280.089 0, 1151929.598 1013271.139 0, 1151657.91 1013262.204 0, 1151386.222 1013253.286 0,
+ 1151114.533 1013244.384 0, 1150842.843 1013235.497 0, 1150571.153 1013226.627 0, 1150299.462 1013217.773 0, 1150026.481 1013208.892 0, 1149756.08 1013200.112 0, 1149484.387 1013191.306 0, 1149212.695 1013182.515 0, 1148941.001 1013173.741 0, 1148669.308 1013164.983 0,
+ 1148397.613 1013156.24 0, 1148125.919 1013147.514 0, 1147854.223 1013138.803 0, 1147582.528 1013130.109 0, 1147310.831 1013121.431 0, 1147039.134 1013112.768 0, 1146767.437 1013104.122 0, 1146495.739 1013095.491 0, 1146224.041 1013086.877 0, 1145952.342 1013078.278 0,
+ 1145680.643 1013069.696 0, 1145408.943 1013061.129 0, 1145137.242 1013052.579 0, 1144865.542 1013044.044 0, 1144593.84 1013035.526 0, 1144322.138 1013027.023 0, 1144050.436 1013018.537 0, 1143778.733 1013010.066 0, 1143505.738 1013001.572 0, 1143332.338 1018579.454 0,
+ 1143158.936 1024157.409 0, 1143431.271 1024165.883 0, 1143702.318 1024174.334 0, 1143973.363 1024182.8 0, 1144244.409 1024191.281 0, 1144515.453 1024199.779 0, 1144786.498 1024208.293 0, 1145057.541 1024216.823 0, 1145328.585 1024225.369 0, 1145599.627 1024233.931 0,
+ 1145870.67 1024242.508 0, 1146141.712 1024251.102 0, 1146412.753 1024259.711 0, 1146683.793 1024268.337 0, 1146954.834 1024276.979 0, 1147225.873 1024285.636 0, 1147496.913 1024294.309 0, 1147767.951 1024302.999 0, 1148038.99 1024311.704 0, 1148310.027 1024320.425 0,
+ 1148581.064 1024329.162 0, 1148852.101 1024337.916 0, 1149123.137 1024346.685 0, 1149394.173 1024355.47 0, 1149663.92 1024364.229 0, 1149936.242 1024373.088 0, 1150207.277 1024381.921 0, 1150478.31 1024390.77 0, 1150749.343 1024399.634 0, 1151020.376 1024408.515 0,
+ 1151291.408 1024417.412 0, 1151562.439 1024426.325 0, 1151833.47 1024435.253 0, 1152104.5 1024444.198 0, 1152375.53 1024453.158 0, 1152646.56 1024462.135 0, 1152917.588 1024471.127 0, 1153188.617 1024480.136 0, 1153459.644 1024489.16 0, 1153730.672 1024498.2 0,
+ 1154001.698 1024507.257 0, 1154272.724 1024516.329 0, 1154543.75 1024525.417 0, 1154814.775 1024534.521 0, 1155085.8 1024543.641 0, 1155356.824 1024552.777 0, 1155627.847 1024561.929 0, 1155898.87 1024571.097 0, 1156168.606 1024580.237 0, 1156357.766 1019002.794 0,
+ 1156546.924 1013425.424 0))
+
+POLYGON ((1169177.03 1025039.819 0, 1168907.319 1025029.916 0, 1168636.323 1025019.983 0, 1168365.326 1025010.065 0, 1168094.329 1025000.163 0, 1167823.331 1024990.278 0, 1167552.333 1024980.408 0, 1167281.334 1024970.554 0, 1167010.335 1024960.716 0, 1166739.335 1024950.894 0,
+ 1166468.334 1024941.088 0, 1166197.333 1024931.298 0, 1165926.331 1024921.524 0, 1165655.329 1024911.766 0, 1165384.326 1024902.024 0, 1165113.322 1024892.298 0, 1164842.318 1024882.587 0, 1164571.314 1024872.893 0, 1164300.309 1024863.215 0, 1164029.303 1024853.552 0,
+ 1163758.296 1024843.906 0, 1163487.29 1024834.275 0, 1163216.282 1024824.661 0, 1162945.274 1024815.062 0, 1162672.98 1024805.434 0, 1162403.256 1024795.913 0, 1162132.247 1024786.362 0, 1161861.236 1024776.827 0, 1161590.226 1024767.308 0, 1161319.214 1024757.805 0,
+ 1161048.202 1024748.319 0, 1160777.19 1024738.848 0, 1160506.177 1024729.392 0, 1160235.163 1024719.953 0, 1159964.149 1024710.53 0, 1159693.134 1024701.123 0, 1159422.119 1024691.732 0, 1159151.103 1024682.356 0, 1158880.087 1024672.997 0, 1158609.07 1024663.654 0,
+ 1158338.052 1024654.326 0, 1158067.034 1024645.015 0, 1157796.015 1024635.719 0, 1157524.996 1024626.44 0, 1157253.977 1024617.176 0, 1156982.956 1024607.928 0, 1156711.936 1024598.697 0, 1156440.914 1024589.481 0, 1156168.606 1024580.237 0, 1155979.444 1030157.75 0,
+ 1155790.279 1035735.328 0, 1156061.927 1035744.549 0, 1156332.292 1035753.742 0, 1156602.656 1035762.952 0, 1156873.02 1035772.177 0, 1157143.383 1035781.418 0, 1157413.746 1035790.675 0, 1157684.108 1035799.948 0, 1157954.469 1035809.237 0, 1158224.83 1035818.542 0,
+ 1158495.191 1035827.863 0, 1158765.55 1035837.199 0, 1159035.91 1035846.552 0, 1159306.268 1035855.921 0, 1159576.627 1035865.305 0, 1159846.984 1035874.705 0, 1160117.341 1035884.122 0, 1160387.698 1035893.554 0, 1160658.054 1035903.002 0, 1160928.409 1035912.466 0,
+ 1161198.764 1035921.946 0, 1161469.118 1035931.441 0, 1161739.472 1035940.953 0, 1162009.825 1035950.481 0, 1162278.896 1035959.979 0, 1162550.53 1035969.584 0, 1162820.881 1035979.159 0, 1163091.232 1035988.75 0, 1163361.583 1035998.357 0, 1163631.933 1036007.981 0,
+ 1163902.282 1036017.62 0, 1164172.63 1036027.274 0, 1164442.979 1036036.945 0, 1164713.326 1036046.632 0, 1164983.673 1036056.335 0, 1165254.019 1036066.053 0, 1165524.365 1036075.788 0, 1165794.71 1036085.538 0, 1166065.055 1036095.304 0, 1166335.399 1036105.087 0,
+ 1166605.743 1036114.885 0, 1166876.086 1036124.699 0, 1167146.428 1036134.529 0, 1167416.77 1036144.375 0, 1167687.111 1036154.236 0, 1167957.452 1036164.114 0, 1168227.792 1036174.008 0, 1168498.131 1036183.917 0, 1168767.189 1036193.796 0, 1168972.111 1030616.775 0,
+ 1169177.03 1025039.819 0))
+
+POLYGON ((1181742.752 1036688.924 0, 1181473.721 1036678.285 0, 1181203.411 1036667.612 0, 1180933.1 1036656.955 0, 1180662.788 1036646.313 0, 1180392.476 1036635.688 0, 1180122.163 1036625.078 0, 1179851.849 1036614.484 0, 1179581.535 1036603.907 0, 1179311.22 1036593.345 0,
+ 1179040.905 1036582.799 0, 1178770.589 1036572.269 0, 1178500.272 1036561.755 0, 1178229.955 1036551.256 0, 1177959.637 1036540.774 0, 1177689.319 1036530.308 0, 1177419 1036519.857 0, 1177148.68 1036509.423 0, 1176878.36 1036499.004 0, 1176608.039 1036488.601 0,
+ 1176337.717 1036478.214 0, 1176067.395 1036467.843 0, 1175797.072 1036457.488 0, 1175526.749 1036447.149 0, 1175255.145 1036436.777 0, 1174986.101 1036426.519 0, 1174715.775 1036416.227 0, 1174445.45 1036405.952 0, 1174175.123 1036395.692 0, 1173904.796 1036385.449 0,
+ 1173634.469 1036375.221 0, 1173364.14 1036365.009 0, 1173093.812 1036354.813 0, 1172823.482 1036344.633 0, 1172553.152 1036334.469 0, 1172282.822 1036324.321 0, 1172012.49 1036314.189 0, 1171742.159 1036304.072 0, 1171471.826 1036293.972 0, 1171201.493 1036283.887 0,
+ 1170931.16 1036273.819 0, 1170660.826 1036263.766 0, 1170390.491 1036253.729 0, 1170120.155 1036243.708 0, 1169849.82 1036233.703 0, 1169579.483 1036223.714 0, 1169309.146 1036213.741 0, 1169038.808 1036203.784 0, 1168767.189 1036193.796 0, 1168562.265 1041770.877 0,
+ 1168357.339 1047348.016 0, 1168628.299 1047357.98 0, 1168897.98 1047367.913 0, 1169167.66 1047377.862 0, 1169437.34 1047387.827 0, 1169707.02 1047397.808 0, 1169976.699 1047407.804 0, 1170246.377 1047417.817 0, 1170516.055 1047427.845 0, 1170785.732 1047437.889 0,
+ 1171055.408 1047447.949 0, 1171325.084 1047458.025 0, 1171594.759 1047468.117 0, 1171864.434 1047478.225 0, 1172134.108 1047488.348 0, 1172403.782 1047498.488 0, 1172673.455 1047508.643 0, 1172943.127 1047518.814 0, 1173212.799 1047529.001 0, 1173482.47 1047539.204 0,
+ 1173752.14 1047549.423 0, 1174021.81 1047559.657 0, 1174291.479 1047569.908 0, 1174561.148 1047580.174 0, 1174829.539 1047590.408 0, 1175100.484 1047600.755 0, 1175370.151 1047611.069 0, 1175639.817 1047621.398 0, 1175909.482 1047631.744 0, 1176179.148 1047642.106 0,
+ 1176448.812 1047652.483 0, 1176718.476 1047662.877 0, 1176988.139 1047673.286 0, 1177257.802 1047683.711 0, 1177527.464 1047694.152 0, 1177797.125 1047704.609 0, 1178066.786 1047715.082 0, 1178336.446 1047725.57 0, 1178606.105 1047736.075 0, 1178875.764 1047746.595 0,
+ 1179145.423 1047757.131 0, 1179415.08 1047767.683 0, 1179684.737 1047778.251 0, 1179954.394 1047788.835 0, 1180224.05 1047799.435 0, 1180493.705 1047810.05 0, 1180763.359 1047820.682 0, 1181033.013 1047831.329 0, 1181301.391 1047841.942 0, 1181522.072 1042265.404 0,
+ 1181742.752 1036688.924 0))
+
+POLYGON ((1194243.996 1048372.435 0, 1193975.647 1048361.064 0, 1193706.024 1048349.655 0, 1193436.401 1048338.261 0, 1193166.777 1048326.884 0, 1192897.152 1048315.523 0, 1192627.527 1048304.177 0, 1192357.9 1048292.847 0, 1192088.274 1048281.533 0, 1191818.646 1048270.235 0,
+ 1191549.018 1048258.953 0, 1191279.389 1048247.687 0, 1191009.76 1048236.437 0, 1190740.13 1048225.202 0, 1190470.499 1048213.983 0, 1190200.868 1048202.781 0, 1189931.235 1048191.594 0, 1189661.603 1048180.423 0, 1189391.969 1048169.268 0, 1189122.335 1048158.128 0,
+ 1188852.701 1048147.005 0, 1188583.065 1048135.897 0, 1188313.429 1048124.806 0, 1188043.793 1048113.73 0, 1187772.881 1048102.618 0, 1187504.517 1048091.626 0, 1187234.879 1048080.597 0, 1186965.239 1048069.585 0, 1186695.599 1048058.589 0, 1186425.959 1048047.608 0,
+ 1186156.318 1048036.643 0, 1185886.676 1048025.695 0, 1185617.033 1048014.762 0, 1185347.39 1048003.844 0, 1185077.746 1047992.943 0, 1184808.102 1047982.058 0, 1184538.457 1047971.188 0, 1184268.811 1047960.335 0, 1183999.165 1047949.497 0, 1183729.518 1047938.675 0,
+ 1183459.87 1047927.869 0, 1183190.222 1047917.079 0, 1182920.573 1047906.305 0, 1182650.924 1047895.546 0, 1182381.273 1047884.804 0, 1182111.623 1047874.077 0, 1181841.971 1047863.366 0, 1181572.319 1047852.671 0, 1181301.391 1047841.942 0, 1181080.707 1053418.531 0,
+ 1180860.022 1058995.169 0, 1181130.29 1059005.873 0, 1181399.286 1059016.542 0, 1181668.281 1059027.226 0, 1181937.275 1059037.927 0, 1182206.269 1059048.643 0, 1182475.262 1059059.376 0, 1182744.255 1059070.124 0, 1183013.246 1059080.888 0, 1183282.238 1059091.667 0,
+ 1183551.228 1059102.463 0, 1183820.218 1059113.274 0, 1184089.207 1059124.101 0, 1184358.196 1059134.944 0, 1184627.184 1059145.803 0, 1184896.171 1059156.678 0, 1185165.158 1059167.569 0, 1185434.144 1059178.475 0, 1185703.129 1059189.397 0, 1185972.114 1059200.335 0,
+ 1186241.098 1059211.289 0, 1186510.082 1059222.259 0, 1186779.065 1059233.244 0, 1187048.047 1059244.246 0, 1187315.757 1059255.211 0, 1187586.009 1059266.296 0, 1187854.99 1059277.345 0, 1188123.969 1059288.409 0, 1188392.948 1059299.49 0, 1188661.926 1059310.586 0,
+ 1188930.904 1059321.698 0, 1189199.881 1059332.826 0, 1189468.857 1059343.97 0, 1189737.833 1059355.13 0, 1190006.808 1059366.305 0, 1190275.782 1059377.497 0, 1190544.756 1059388.704 0, 1190813.729 1059399.927 0, 1191082.701 1059411.166 0, 1191351.673 1059422.42 0,
+ 1191620.644 1059433.691 0, 1191889.615 1059444.977 0, 1192158.584 1059456.279 0, 1192427.553 1059467.597 0, 1192696.522 1059478.931 0, 1192965.49 1059490.281 0, 1193234.457 1059501.646 0, 1193503.423 1059513.028 0, 1193771.118 1059524.371 0, 1194007.558 1053948.379 0,
+ 1194243.996 1048372.435 0))
+
+POLYGON ((1206680.668 1060090.047 0, 1206413.004 1060077.947 0, 1206144.071 1060065.806 0, 1205875.137 1060053.68 0, 1205606.202 1060041.571 0, 1205337.267 1060029.477 0, 1205068.331 1060017.399 0, 1204799.394 1060005.337 0, 1204530.457 1059993.291 0, 1204261.519 1059981.261 0,
+ 1203992.58 1059969.246 0, 1203723.64 1059957.248 0, 1203454.7 1059945.265 0, 1203185.759 1059933.298 0, 1202916.818 1059921.347 0, 1202647.875 1059909.411 0, 1202378.932 1059897.492 0, 1202109.988 1059885.588 0, 1201841.044 1059873.7 0, 1201572.099 1059861.828 0,
+ 1201303.153 1059849.972 0, 1201034.206 1059838.132 0, 1200765.259 1059826.307 0, 1200496.311 1059814.498 0, 1200226.093 1059802.65 0, 1199958.413 1059790.928 0, 1199689.463 1059779.167 0, 1199420.512 1059767.422 0, 1199151.561 1059755.692 0, 1198882.609 1059743.978 0,
+ 1198613.656 1059732.28 0, 1198344.702 1059720.598 0, 1198075.748 1059708.932 0, 1197806.793 1059697.282 0, 1197537.838 1059685.647 0, 1197268.882 1059674.028 0, 1196999.925 1059662.425 0, 1196730.967 1059650.838 0, 1196462.009 1059639.267 0, 1196193.05 1059627.711 0,
+ 1195924.09 1059616.172 0, 1195655.13 1059604.648 0, 1195386.169 1059593.14 0, 1195117.207 1059581.648 0, 1194848.245 1059570.172 0, 1194579.282 1059558.711 0, 1194310.318 1059547.267 0, 1194041.354 1059535.838 0, 1193771.118 1059524.371 0, 1193534.677 1065100.407 0,
+ 1193298.234 1070676.483 0, 1193567.809 1070687.922 0, 1193836.117 1070699.323 0, 1194104.425 1070710.739 0, 1194372.731 1070722.172 0, 1194641.037 1070733.62 0, 1194909.343 1070745.084 0, 1195177.647 1070756.564 0, 1195445.951 1070768.06 0, 1195714.254 1070779.571 0,
+ 1195982.557 1070791.098 0, 1196250.859 1070802.641 0, 1196519.16 1070814.2 0, 1196787.461 1070825.775 0, 1197055.761 1070837.365 0, 1197324.06 1070848.971 0, 1197592.358 1070860.593 0, 1197860.656 1070872.231 0, 1198128.953 1070883.885 0, 1198397.25 1070895.554 0,
+ 1198665.545 1070907.239 0, 1198933.841 1070918.94 0, 1199202.135 1070930.657 0, 1199470.429 1070942.39 0, 1199737.455 1070954.082 0, 1200007.014 1070965.902 0, 1200275.305 1070977.682 0, 1200543.596 1070989.478 0, 1200811.887 1071001.289 0, 1201080.176 1071013.116 0,
+ 1201348.465 1071024.959 0, 1201616.753 1071036.818 0, 1201885.041 1071048.693 0, 1202153.327 1071060.583 0, 1202421.613 1071072.49 0, 1202689.899 1071084.412 0, 1202958.183 1071096.35 0, 1203226.467 1071108.303 0, 1203494.75 1071120.273 0, 1203763.033 1071132.258 0,
+ 1204031.315 1071144.259 0, 1204299.596 1071156.276 0, 1204567.876 1071168.308 0, 1204836.156 1071180.356 0, 1205104.435 1071192.421 0, 1205372.713 1071204.501 0, 1205640.991 1071216.596 0, 1205909.268 1071228.708 0, 1206176.279 1071240.778 0, 1206428.474 1065665.392 0,
+ 1206680.668 1060090.047 0))
+
+POLYGON ((1219052.678 1071841.453 0, 1218785.7 1071828.629 0, 1218517.459 1071815.76 0, 1218249.216 1071802.906 0, 1217980.973 1071790.068 0, 1217712.73 1071777.246 0, 1217444.485 1071764.44 0, 1217176.24 1071751.649 0, 1216907.994 1071738.875 0, 1216639.747 1071726.116 0,
+ 1216371.499 1071713.373 0, 1216103.251 1071700.645 0, 1215835.002 1071687.934 0, 1215566.752 1071675.238 0, 1215298.501 1071662.558 0, 1215030.25 1071649.894 0, 1214761.998 1071637.246 0, 1214493.745 1071624.613 0, 1214225.491 1071611.996 0, 1213957.237 1071599.395 0,
+ 1213688.982 1071586.81 0, 1213420.726 1071574.241 0, 1213152.47 1071561.687 0, 1212884.213 1071549.149 0, 1212614.691 1071536.568 0, 1212347.696 1071524.121 0, 1212079.436 1071511.631 0, 1211811.176 1071499.156 0, 1211542.915 1071486.697 0, 1211274.654 1071474.254 0,
+ 1211006.391 1071461.827 0, 1210738.128 1071449.415 0, 1210469.864 1071437.019 0, 1210201.6 1071424.639 0, 1209933.334 1071412.275 0, 1209665.068 1071399.927 0, 1209396.801 1071387.594 0, 1209128.534 1071375.278 0, 1208860.266 1071362.977 0, 1208591.997 1071350.691 0,
+ 1208323.727 1071338.422 0, 1208055.457 1071326.168 0, 1207787.186 1071313.93 0, 1207518.914 1071301.708 0, 1207250.641 1071289.502 0, 1206982.368 1071277.312 0, 1206714.094 1071265.137 0, 1206445.819 1071252.978 0, 1206176.279 1071240.778 0, 1205924.081 1076816.199 0,
+ 1205671.883 1082391.65 0, 1205940.764 1082403.821 0, 1206208.382 1082415.95 0, 1206476 1082428.095 0, 1206743.617 1082440.256 0, 1207011.233 1082452.432 0, 1207278.849 1082464.624 0, 1207546.463 1082476.832 0, 1207814.077 1082489.056 0, 1208081.691 1082501.295 0,
+ 1208349.303 1082513.55 0, 1208616.915 1082525.821 0, 1208884.527 1082538.108 0, 1209152.137 1082550.41 0, 1209419.747 1082562.728 0, 1209687.356 1082575.062 0, 1209954.964 1082587.412 0, 1210222.572 1082599.777 0, 1210490.179 1082612.158 0, 1210757.785 1082624.555 0,
+ 1211025.39 1082636.968 0, 1211292.995 1082649.396 0, 1211560.599 1082661.841 0, 1211828.202 1082674.3 0, 1212094.543 1082686.717 0, 1212363.406 1082699.268 0, 1212631.007 1082711.775 0, 1212898.607 1082724.298 0, 1213166.207 1082736.836 0, 1213433.806 1082749.391 0,
+ 1213701.404 1082761.961 0, 1213969.001 1082774.547 0, 1214236.597 1082787.148 0, 1214504.193 1082799.766 0, 1214771.788 1082812.399 0, 1215039.383 1082825.048 0, 1215306.976 1082837.713 0, 1215574.569 1082850.393 0, 1215842.161 1082863.089 0, 1216109.753 1082875.801 0,
+ 1216377.343 1082888.529 0, 1216644.933 1082901.272 0, 1216912.522 1082914.031 0, 1217180.11 1082926.806 0, 1217447.698 1082939.597 0, 1217715.285 1082952.403 0, 1217982.871 1082965.225 0, 1218250.456 1082978.063 0, 1218516.781 1082990.857 0, 1218784.73 1077416.14 0,
+ 1219052.678 1071841.453 0))
+
+POLYGON ((1231359.935 1083626.349 0, 1231093.646 1083612.804 0, 1230826.098 1083599.21 0, 1230558.549 1083585.632 0, 1230290.999 1083572.07 0, 1230023.449 1083558.523 0, 1229755.898 1083544.992 0, 1229488.346 1083531.477 0, 1229220.793 1083517.978 0, 1228953.239 1083504.494 0,
+ 1228685.685 1083491.026 0, 1228418.13 1083477.574 0, 1228150.574 1083464.138 0, 1227883.017 1083450.717 0, 1227615.46 1083437.312 0, 1227347.901 1083423.923 0, 1227080.342 1083410.55 0, 1226812.782 1083397.192 0, 1226545.222 1083383.85 0, 1226277.66 1083370.524 0,
+ 1226010.098 1083357.214 0, 1225742.535 1083343.919 0, 1225474.971 1083330.64 0, 1225207.407 1083317.377 0, 1224938.583 1083304.067 0, 1224672.275 1083290.898 0, 1224404.708 1083277.682 0, 1224137.14 1083264.482 0, 1223869.572 1083251.298 0, 1223602.003 1083238.129 0,
+ 1223334.433 1083224.976 0, 1223066.862 1083211.839 0, 1222799.29 1083198.718 0, 1222531.718 1083185.612 0, 1222264.145 1083172.522 0, 1221996.571 1083159.448 0, 1221728.996 1083146.389 0, 1221461.421 1083133.347 0, 1221193.845 1083120.32 0, 1220926.268 1083107.309 0,
+ 1220658.69 1083094.313 0, 1220391.112 1083081.334 0, 1220123.532 1083068.37 0, 1219855.952 1083055.422 0, 1219588.371 1083042.489 0, 1219320.79 1083029.573 0, 1219053.208 1083016.672 0, 1218785.625 1083003.786 0, 1218516.781 1082990.857 0, 1218248.83 1088565.6 0,
+ 1217980.879 1094140.366 0, 1218249.063 1094153.264 0, 1218515.99 1094166.118 0, 1218782.916 1094178.987 0, 1219049.841 1094191.872 0, 1219316.766 1094204.773 0, 1219583.689 1094217.689 0, 1219850.612 1094230.621 0, 1220117.535 1094243.569 0, 1220384.456 1094256.533 0,
+ 1220651.377 1094269.512 0, 1220918.297 1094282.507 0, 1221185.216 1094295.518 0, 1221452.135 1094308.544 0, 1221719.052 1094321.586 0, 1221985.969 1094334.644 0, 1222252.885 1094347.717 0, 1222519.801 1094360.807 0, 1222786.715 1094373.912 0, 1223053.629 1094387.032 0,
+ 1223320.542 1094400.169 0, 1223587.454 1094413.321 0, 1223854.366 1094426.488 0, 1224121.277 1094439.672 0, 1224386.931 1094452.809 0, 1224655.096 1094466.086 0, 1224922.004 1094479.317 0, 1225188.912 1094492.563 0, 1225455.819 1094505.825 0, 1225722.725 1094519.103 0,
+ 1225989.63 1094532.396 0, 1226256.534 1094545.705 0, 1226523.438 1094559.03 0, 1226790.341 1094572.371 0, 1227057.243 1094585.727 0, 1227324.144 1094599.099 0, 1227591.045 1094612.487 0, 1227857.945 1094625.89 0, 1228124.844 1094639.309 0, 1228391.742 1094652.744 0,
+ 1228658.639 1094666.195 0, 1228925.536 1094679.661 0, 1229192.432 1094693.143 0, 1229459.327 1094706.64 0, 1229726.221 1094720.154 0, 1229993.115 1094733.683 0, 1230260.007 1094747.228 0, 1230526.899 1094760.788 0, 1230792.536 1094774.301 0, 1231076.236 1089200.314 0,
+ 1231359.935 1083626.349 0))
+
+POLYGON ((1243602.35 1095444.428 0, 1243336.751 1095430.165 0, 1243069.899 1095415.85 0, 1242803.045 1095401.552 0, 1242536.191 1095387.269 0, 1242269.336 1095373.001 0, 1242002.48 1095358.75 0, 1241735.624 1095344.514 0, 1241468.766 1095330.293 0, 1241201.908 1095316.089 0,
+ 1240935.049 1095301.9 0, 1240668.189 1095287.727 0, 1240401.328 1095273.57 0, 1240134.466 1095259.428 0, 1239867.604 1095245.302 0, 1239600.74 1095231.192 0, 1239333.876 1095217.097 0, 1239067.011 1095203.018 0, 1238800.145 1095188.955 0, 1238533.279 1095174.908 0,
+ 1238266.411 1095160.876 0, 1237999.543 1095146.86 0, 1237732.674 1095132.859 0, 1237465.804 1095118.875 0, 1237197.68 1095104.84 0, 1236932.061 1095090.953 0, 1236665.189 1095077.015 0, 1236398.316 1095063.093 0, 1236131.442 1095049.187 0, 1235864.567 1095035.297 0,
+ 1235597.691 1095021.422 0, 1235330.815 1095007.563 0, 1235063.937 1094993.72 0, 1234797.059 1094979.893 0, 1234530.18 1094966.081 0, 1234263.3 1094952.285 0, 1233996.42 1094938.504 0, 1233729.538 1094924.739 0, 1233462.656 1094910.99 0, 1233195.773 1094897.257 0,
+ 1232928.889 1094883.54 0, 1232662.005 1094869.838 0, 1232395.119 1094856.152 0, 1232128.233 1094842.481 0, 1231861.346 1094828.826 0, 1231594.458 1094815.187 0, 1231327.57 1094801.564 0, 1231060.68 1094787.956 0, 1230792.536 1094774.301 0, 1230508.834 1100348.305 0,
+ 1230225.132 1105922.324 0, 1230492.618 1105935.946 0, 1230758.851 1105949.52 0, 1231025.084 1105963.11 0, 1231291.315 1105976.715 0, 1231557.546 1105990.336 0, 1231823.776 1106003.973 0, 1232090.005 1106017.626 0, 1232356.234 1106031.294 0, 1232622.462 1106044.978 0,
+ 1232888.689 1106058.677 0, 1233154.915 1106072.393 0, 1233421.14 1106086.123 0, 1233687.364 1106099.87 0, 1233953.588 1106113.632 0, 1234219.811 1106127.41 0, 1234486.033 1106141.204 0, 1234752.254 1106155.013 0, 1235018.474 1106168.838 0, 1235284.694 1106182.678 0,
+ 1235550.913 1106196.535 0, 1235817.131 1106210.406 0, 1236083.348 1106224.294 0, 1236349.564 1106238.197 0, 1236614.529 1106252.051 0, 1236881.994 1106266.051 0, 1237148.208 1106280.001 0, 1237414.421 1106293.967 0, 1237680.633 1106307.948 0, 1237946.845 1106321.946 0,
+ 1238213.055 1106335.959 0, 1238479.265 1106349.987 0, 1238745.474 1106364.031 0, 1239011.682 1106378.091 0, 1239277.889 1106392.167 0, 1239544.096 1106406.258 0, 1239810.301 1106420.365 0, 1240076.506 1106434.488 0, 1240342.71 1106448.626 0, 1240608.913 1106462.78 0,
+ 1240875.115 1106476.949 0, 1241141.317 1106491.135 0, 1241407.517 1106505.336 0, 1241673.717 1106519.552 0, 1241939.916 1106533.785 0, 1242206.114 1106548.032 0, 1242472.311 1106562.296 0, 1242738.508 1106576.575 0, 1243003.454 1106590.803 0, 1243302.903 1101017.609 0,
+ 1243602.35 1095444.428 0))
+
+POLYGON ((1255779.837 1107295.381 0, 1255514.929 1107280.405 0, 1255248.774 1107265.374 0, 1254982.618 1107250.358 0, 1254716.462 1107235.358 0, 1254450.304 1107220.374 0, 1254184.146 1107205.405 0, 1253917.986 1107190.452 0, 1253651.826 1107175.515 0, 1253385.665 1107160.593 0,
+ 1253119.503 1107145.687 0, 1252853.34 1107130.797 0, 1252587.176 1107115.922 0, 1252321.011 1107101.063 0, 1252054.846 1107086.22 0, 1251788.679 1107071.393 0, 1251522.512 1107056.581 0, 1251256.344 1107041.784 0, 1250990.175 1107027.004 0, 1250724.005 1107012.239 0,
+ 1250457.834 1106997.49 0, 1250191.662 1106982.756 0, 1249925.49 1106968.038 0, 1249659.316 1106953.336 0, 1249391.894 1106938.58 0, 1249126.967 1106923.978 0, 1248860.791 1106909.323 0, 1248594.614 1106894.683 0, 1248328.437 1106880.059 0, 1248062.258 1106865.451 0,
+ 1247796.079 1106850.858 0, 1247529.898 1106836.281 0, 1247263.717 1106821.72 0, 1246997.535 1106807.174 0, 1246731.352 1106792.645 0, 1246465.169 1106778.13 0, 1246198.984 1106763.632 0, 1245932.799 1106749.149 0, 1245666.613 1106734.681 0, 1245400.425 1106720.23 0,
+ 1245134.238 1106705.794 0, 1244868.049 1106691.374 0, 1244601.859 1106676.969 0, 1244335.669 1106662.58 0, 1244069.477 1106648.207 0, 1243803.285 1106633.849 0, 1243537.092 1106619.507 0, 1243270.898 1106605.181 0, 1243003.454 1106590.803 0, 1242704.005 1112164.007 0,
+ 1242404.556 1117737.215 0, 1242671.341 1117751.558 0, 1242936.879 1117765.849 0, 1243202.416 1117780.155 0, 1243467.952 1117794.477 0, 1243733.487 1117808.815 0, 1243999.021 1117823.169 0, 1244264.555 1117837.538 0, 1244530.088 1117851.923 0, 1244795.62 1117866.323 0,
+ 1245061.151 1117880.739 0, 1245326.681 1117895.171 0, 1245592.21 1117909.618 0, 1245857.739 1117924.081 0, 1246123.267 1117938.559 0, 1246388.793 1117953.053 0, 1246654.319 1117967.563 0, 1246919.844 1117982.089 0, 1247185.369 1117996.63 0, 1247450.892 1118011.186 0,
+ 1247716.415 1118025.759 0, 1247981.936 1118040.346 0, 1248247.457 1118054.95 0, 1248512.977 1118069.569 0, 1248777.251 1118084.135 0, 1249044.014 1118098.854 0, 1249309.532 1118113.52 0, 1249575.048 1118128.202 0, 1249840.564 1118142.899 0, 1250106.079 1118157.612 0,
+ 1250371.593 1118172.341 0, 1250637.106 1118187.085 0, 1250902.618 1118201.845 0, 1251168.129 1118216.62 0, 1251433.64 1118231.411 0, 1251699.149 1118246.218 0, 1251964.658 1118261.04 0, 1252230.166 1118275.878 0, 1252495.673 1118290.732 0, 1252761.179 1118305.601 0,
+ 1253026.684 1118320.486 0, 1253292.188 1118335.386 0, 1253557.692 1118350.303 0, 1253823.194 1118365.234 0, 1254088.696 1118380.182 0, 1254354.197 1118395.145 0, 1254619.697 1118410.123 0, 1254885.196 1118425.117 0, 1255149.45 1118440.057 0, 1255464.644 1112867.717 0,
+ 1255779.837 1107295.381 0))
+
+POLYGON ((1267892.308 1119178.902 0, 1267628.095 1119163.216 0, 1267362.639 1119147.472 0, 1267097.182 1119131.743 0, 1266831.725 1119116.03 0, 1266566.267 1119100.333 0, 1266300.807 1119084.651 0, 1266035.347 1119068.985 0, 1265769.886 1119053.335 0, 1265504.424 1119037.7 0,
+ 1265238.961 1119022.08 0, 1264973.497 1119006.477 0, 1264708.032 1118990.889 0, 1264442.566 1118975.316 0, 1264177.1 1118959.76 0, 1263911.632 1118944.219 0, 1263646.163 1118928.693 0, 1263380.694 1118913.183 0, 1263115.224 1118897.689 0, 1262849.752 1118882.21 0,
+ 1262584.28 1118866.747 0, 1262318.807 1118851.3 0, 1262053.333 1118835.868 0, 1261787.858 1118820.452 0, 1261521.14 1118804.979 0, 1261256.906 1118789.667 0, 1260991.428 1118774.297 0, 1260725.95 1118758.944 0, 1260460.47 1118743.606 0, 1260194.99 1118728.283 0,
+ 1259929.509 1118712.977 0, 1259664.027 1118697.686 0, 1259398.544 1118682.41 0, 1259133.06 1118667.15 0, 1258867.575 1118651.906 0, 1258602.089 1118636.677 0, 1258336.603 1118621.464 0, 1258071.115 1118606.267 0, 1257805.627 1118591.085 0, 1257540.138 1118575.919 0,
+ 1257274.647 1118560.769 0, 1257009.156 1118545.634 0, 1256743.664 1118530.514 0, 1256478.172 1118515.411 0, 1256212.678 1118500.323 0, 1255947.183 1118485.251 0, 1255681.688 1118470.194 0, 1255416.191 1118455.153 0, 1255149.45 1118440.057 0, 1254834.257 1124012.397 0,
+ 1254519.064 1129584.734 0, 1254785.146 1129599.793 0, 1255049.986 1129614.796 0, 1255314.826 1129629.816 0, 1255579.664 1129644.851 0, 1255844.502 1129659.902 0, 1256109.339 1129674.968 0, 1256374.175 1129690.05 0, 1256639.01 1129705.147 0, 1256903.844 1129720.26 0,
+ 1257168.678 1129735.389 0, 1257433.51 1129750.533 0, 1257698.342 1129765.693 0, 1257963.173 1129780.869 0, 1258228.002 1129796.06 0, 1258492.831 1129811.266 0, 1258757.659 1129826.488 0, 1259022.486 1129841.726 0, 1259287.312 1129856.979 0, 1259552.138 1129872.248 0,
+ 1259816.962 1129887.533 0, 1260081.786 1129902.833 0, 1260346.608 1129918.149 0, 1260611.43 1129933.48 0, 1260875.011 1129948.755 0, 1261141.071 1129964.189 0, 1261405.89 1129979.567 0, 1261670.708 1129994.961 0, 1261935.525 1130010.37 0, 1262200.341 1130025.795 0,
+ 1262465.156 1130041.235 0, 1262729.971 1130056.691 0, 1262994.784 1130072.163 0, 1263259.597 1130087.65 0, 1263524.409 1130103.153 0, 1263789.22 1130118.671 0, 1264054.03 1130134.205 0, 1264318.838 1130149.754 0, 1264583.647 1130165.32 0, 1264848.454 1130180.9 0,
+ 1265113.26 1130196.496 0, 1265378.065 1130212.108 0, 1265642.87 1130227.736 0, 1265907.673 1130243.379 0, 1266172.476 1130259.037 0, 1266437.277 1130274.711 0, 1266702.078 1130290.401 0, 1266966.878 1130306.107 0, 1267230.438 1130321.754 0, 1267561.373 1124750.33 0,
+ 1267892.308 1119178.902 0))
+
+POLYGON ((1279939.68 1131094.683 0, 1279676.162 1131078.291 0, 1279411.408 1131061.837 0, 1279146.653 1131045.4 0, 1278881.896 1131028.977 0, 1278617.139 1131012.571 0, 1278352.381 1130996.18 0, 1278087.622 1130979.804 0, 1277822.862 1130963.444 0, 1277558.101 1130947.1 0,
+ 1277293.338 1130930.771 0, 1277028.575 1130914.458 0, 1276763.811 1130898.161 0, 1276499.047 1130881.879 0, 1276234.281 1130865.612 0, 1275969.514 1130849.361 0, 1275704.746 1130833.126 0, 1275439.977 1130816.907 0, 1275175.207 1130800.702 0, 1274910.437 1130784.514 0,
+ 1274645.665 1130768.341 0, 1274380.893 1130752.184 0, 1274116.119 1130736.042 0, 1273851.345 1130719.916 0, 1273585.332 1130703.73 0, 1273321.793 1130687.71 0, 1273057.015 1130671.631 0, 1272792.237 1130655.567 0, 1272527.458 1130639.519 0, 1272262.678 1130623.486 0,
+ 1271997.897 1130607.469 0, 1271733.115 1130591.468 0, 1271468.332 1130575.482 0, 1271203.548 1130559.512 0, 1270938.763 1130543.557 0, 1270673.977 1130527.618 0, 1270409.19 1130511.694 0, 1270144.403 1130495.786 0, 1269879.614 1130479.894 0, 1269614.824 1130464.017 0,
+ 1269350.034 1130448.156 0, 1269085.243 1130432.31 0, 1268820.45 1130416.48 0, 1268555.657 1130400.666 0, 1268290.863 1130384.867 0, 1268026.068 1130369.084 0, 1267761.271 1130353.316 0, 1267496.474 1130337.564 0, 1267230.438 1130321.754 0, 1266899.504 1135893.169 0,
+ 1266568.57 1141464.571 0, 1266833.948 1141480.342 0, 1267098.089 1141496.055 0, 1267362.229 1141511.784 0, 1267626.369 1141527.528 0, 1267890.507 1141543.288 0, 1268154.644 1141559.063 0, 1268418.781 1141574.854 0, 1268682.916 1141590.66 0, 1268947.051 1141606.482 0,
+ 1269211.185 1141622.32 0, 1269475.318 1141638.173 0, 1269739.45 1141654.041 0, 1270003.58 1141669.925 0, 1270267.71 1141685.825 0, 1270531.84 1141701.74 0, 1270795.968 1141717.671 0, 1271060.095 1141733.617 0, 1271324.221 1141749.579 0, 1271588.346 1141765.556 0,
+ 1271852.471 1141781.549 0, 1272116.594 1141797.558 0, 1272380.717 1141813.582 0, 1272644.838 1141829.621 0, 1272907.724 1141845.602 0, 1273173.078 1141861.747 0, 1273437.197 1141877.833 0, 1273701.315 1141893.935 0, 1273965.432 1141910.052 0, 1274229.547 1141926.185 0,
+ 1274493.662 1141942.334 0, 1274757.776 1141958.498 0, 1275021.889 1141974.677 0, 1275286.001 1141990.872 0, 1275550.112 1142007.083 0, 1275814.223 1142023.309 0, 1276078.332 1142039.55 0, 1276342.44 1142055.808 0, 1276606.547 1142072.08 0, 1276870.654 1142088.369 0,
+ 1277134.759 1142104.672 0, 1277398.863 1142120.992 0, 1277662.967 1142137.327 0, 1277927.069 1142153.677 0, 1278191.171 1142170.043 0, 1278455.271 1142186.425 0, 1278719.371 1142202.822 0, 1278983.47 1142219.234 0, 1279246.334 1142235.586 0, 1279593.006 1136665.141 0,
+ 1279939.68 1131094.683 0))
+
+POLYGON ((1291921.869 1143042.414 0, 1291659.049 1143025.32 0, 1291394.998 1143008.162 0, 1291130.946 1142991.018 0, 1290866.893 1142973.891 0, 1290602.839 1142956.779 0, 1290338.783 1142939.682 0, 1290074.727 1142922.601 0, 1289810.67 1142905.536 0, 1289546.612 1142888.486 0,
+ 1289282.553 1142871.451 0, 1289018.492 1142854.433 0, 1288754.431 1142837.429 0, 1288490.369 1142820.442 0, 1288226.306 1142803.469 0, 1287962.241 1142786.513 0, 1287698.176 1142769.572 0, 1287434.11 1142752.646 0, 1287170.043 1142735.736 0, 1286905.974 1142718.842 0,
+ 1286641.905 1142701.963 0, 1286377.835 1142685.099 0, 1286113.764 1142668.251 0, 1285849.692 1142651.419 0, 1285584.386 1142634.524 0, 1285321.544 1142617.801 0, 1285057.469 1142601.015 0, 1284793.393 1142584.245 0, 1284529.316 1142567.491 0, 1284265.238 1142550.752 0,
+ 1284001.158 1142534.028 0, 1283737.078 1142517.32 0, 1283472.997 1142500.628 0, 1283208.915 1142483.951 0, 1282944.832 1142467.289 0, 1282680.748 1142450.644 0, 1282416.663 1142434.013 0, 1282152.577 1142417.399 0, 1281888.49 1142400.799 0, 1281624.402 1142384.216 0,
+ 1281360.313 1142367.648 0, 1281096.224 1142351.095 0, 1280832.133 1142334.558 0, 1280568.041 1142318.037 0, 1280303.948 1142301.531 0, 1280039.854 1142285.04 0, 1279775.76 1142268.566 0, 1279511.664 1142252.106 0, 1279246.334 1142235.586 0, 1278899.663 1147806.013 0,
+ 1278552.993 1153376.419 0, 1278817.664 1153392.898 0, 1279081.104 1153409.317 0, 1279344.543 1153425.751 0, 1279607.981 1153442.2 0, 1279871.418 1153458.665 0, 1280134.854 1153475.145 0, 1280398.289 1153491.641 0, 1280661.723 1153508.153 0, 1280925.157 1153524.68 0,
+ 1281188.589 1153541.222 0, 1281452.02 1153557.78 0, 1281715.45 1153574.354 0, 1281978.88 1153590.943 0, 1282242.308 1153607.547 0, 1282505.735 1153624.167 0, 1282769.162 1153640.803 0, 1283032.587 1153657.454 0, 1283296.012 1153674.12 0, 1283559.435 1153690.802 0,
+ 1283822.857 1153707.499 0, 1284086.279 1153724.213 0, 1284349.699 1153740.941 0, 1284613.119 1153757.685 0, 1284875.308 1153774.366 0, 1285139.955 1153791.22 0, 1285403.371 1153808.01 0, 1285666.787 1153824.816 0, 1285930.201 1153841.638 0, 1286193.615 1153858.475 0,
+ 1286457.028 1153875.327 0, 1286720.439 1153892.195 0, 1286983.85 1153909.079 0, 1287247.259 1153925.978 0, 1287510.668 1153942.892 0, 1287774.076 1153959.822 0, 1288037.482 1153976.768 0, 1288300.888 1153993.729 0, 1288564.292 1154010.706 0, 1288827.696 1154027.698 0,
+ 1289091.099 1154044.705 0, 1289354.5 1154061.728 0, 1289617.901 1154078.767 0, 1289881.3 1154095.821 0, 1290144.699 1154112.891 0, 1290408.097 1154129.976 0, 1290671.493 1154147.076 0, 1290934.889 1154164.192 0, 1291197.055 1154181.244 0, 1291559.461 1148611.84 0,
+ 1291921.869 1143042.414 0))
+
+POLYGON ((1303838.794 1155021.788 0, 1303576.674 1155003.995 0, 1303313.328 1154986.135 0, 1303049.981 1154968.291 0, 1302786.633 1154950.461 0, 1302523.283 1154932.648 0, 1302259.933 1154914.85 0, 1301996.582 1154897.067 0, 1301733.229 1154879.3 0, 1301469.876 1154861.548 0,
+ 1301206.521 1154843.812 0, 1300943.165 1154826.091 0, 1300679.809 1154808.386 0, 1300416.451 1154790.696 0, 1300153.092 1154773.022 0, 1299889.733 1154755.364 0, 1299626.372 1154737.72 0, 1299363.01 1154720.093 0, 1299099.647 1154702.481 0, 1298836.283 1154684.884 0,
+ 1298572.918 1154667.303 0, 1298309.552 1154649.737 0, 1298046.185 1154632.187 0, 1297782.817 1154614.652 0, 1297518.221 1154597.052 0, 1297256.078 1154579.63 0, 1296992.707 1154562.141 0, 1296729.335 1154544.669 0, 1296465.962 1154527.212 0, 1296202.587 1154509.77 0,
+ 1295939.212 1154492.344 0, 1295675.836 1154474.933 0, 1295412.459 1154457.538 0, 1295149.08 1154440.158 0, 1294885.701 1154422.794 0, 1294622.321 1154405.446 0, 1294358.939 1154388.112 0, 1294095.557 1154370.795 0, 1293832.173 1154353.493 0, 1293568.789 1154336.206 0,
+ 1293305.403 1154318.935 0, 1293042.017 1154301.679 0, 1292778.63 1154284.439 0, 1292515.241 1154267.215 0, 1292251.851 1154250.005 0, 1291988.461 1154232.812 0, 1291725.069 1154215.634 0, 1291461.677 1154198.471 0, 1291197.055 1154181.244 0, 1290834.651 1159750.621 0,
+ 1290472.249 1165319.968 0, 1290736.212 1165337.152 0, 1290998.949 1165354.272 0, 1291261.685 1165371.407 0, 1291524.42 1165388.558 0, 1291787.154 1165405.724 0, 1292049.886 1165422.906 0, 1292312.618 1165440.103 0, 1292575.349 1165457.316 0, 1292838.079 1165474.544 0,
+ 1293100.808 1165491.787 0, 1293363.536 1165509.047 0, 1293626.263 1165526.321 0, 1293888.989 1165543.611 0, 1294151.713 1165560.917 0, 1294414.437 1165578.237 0, 1294677.16 1165595.574 0, 1294939.882 1165612.926 0, 1295202.602 1165630.293 0, 1295465.322 1165647.676 0,
+ 1295728.041 1165665.074 0, 1295990.758 1165682.488 0, 1296253.475 1165699.917 0, 1296516.19 1165717.361 0, 1296777.681 1165734.74 0, 1297041.619 1165752.297 0, 1297304.331 1165769.788 0, 1297567.043 1165787.295 0, 1297829.753 1165804.817 0, 1298092.462 1165822.354 0,
+ 1298355.171 1165839.907 0, 1298617.878 1165857.475 0, 1298880.584 1165875.059 0, 1299143.29 1165892.658 0, 1299405.994 1165910.273 0, 1299668.697 1165927.903 0, 1299931.399 1165945.549 0, 1300194.1 1165963.21 0, 1300456.801 1165980.886 0, 1300719.5 1165998.578 0,
+ 1300982.198 1166016.286 0, 1301244.895 1166034.009 0, 1301507.59 1166051.747 0, 1301770.285 1166069.501 0, 1302032.979 1166087.27 0, 1302295.672 1166105.055 0, 1302558.364 1166122.855 0, 1302821.054 1166140.671 0, 1303082.521 1166158.419 0, 1303460.657 1160590.119 0,
+ 1303838.794 1155021.788 0))
+
+POLYGON ((1315690.375 1167032.494 0, 1315428.957 1167014.007 0, 1315166.318 1166995.449 0, 1314903.677 1166976.907 0, 1314641.036 1166958.38 0, 1314378.393 1166939.868 0, 1314115.749 1166921.373 0, 1313853.105 1166902.892 0, 1313590.459 1166884.427 0, 1313327.812 1166865.977 0,
+ 1313065.164 1166847.543 0, 1312802.515 1166829.125 0, 1312539.865 1166810.721 0, 1312277.213 1166792.334 0, 1312014.561 1166773.961 0, 1311751.908 1166755.605 0, 1311489.253 1166737.263 0, 1311226.597 1166718.937 0, 1310963.941 1166700.627 0, 1310701.283 1166682.332 0,
+ 1310438.624 1166664.052 0, 1310175.964 1166645.788 0, 1309913.303 1166627.54 0, 1309650.641 1166609.306 0, 1309386.757 1166591.004 0, 1309125.314 1166572.887 0, 1308862.649 1166554.7 0, 1308599.982 1166536.528 0, 1308337.315 1166518.373 0, 1308074.647 1166500.232 0,
+ 1307811.977 1166482.107 0, 1307549.306 1166463.998 0, 1307286.635 1166445.904 0, 1307023.962 1166427.825 0, 1306761.288 1166409.762 0, 1306498.613 1166391.715 0, 1306235.938 1166373.682 0, 1305973.261 1166355.666 0, 1305710.582 1166337.664 0, 1305447.903 1166319.679 0,
+ 1305185.223 1166301.708 0, 1304922.542 1166283.753 0, 1304659.86 1166265.814 0, 1304397.176 1166247.89 0, 1304134.492 1166229.982 0, 1303871.807 1166212.089 0, 1303609.12 1166194.211 0, 1303346.433 1166176.349 0, 1303082.521 1166158.419 0, 1302704.389 1171726.684 0,
+ 1302326.259 1177294.908 0, 1302589.511 1177312.793 0, 1302851.543 1177330.611 0, 1303113.574 1177348.443 0, 1303375.604 1177366.292 0, 1303637.633 1177384.156 0, 1303899.661 1177402.035 0, 1304161.688 1177419.93 0, 1304423.714 1177437.84 0, 1304685.738 1177455.765 0,
+ 1304947.762 1177473.706 0, 1305209.785 1177491.662 0, 1305471.806 1177509.634 0, 1305733.827 1177527.621 0, 1305995.846 1177545.624 0, 1306257.865 1177563.642 0, 1306519.882 1177581.675 0, 1306781.898 1177599.724 0, 1307043.913 1177617.788 0, 1307305.927 1177635.868 0,
+ 1307567.94 1177653.963 0, 1307829.952 1177672.074 0, 1308091.963 1177690.2 0, 1308353.973 1177708.341 0, 1308614.763 1177726.414 0, 1308877.99 1177744.67 0, 1309139.996 1177762.858 0, 1309402.002 1177781.061 0, 1309664.006 1177799.279 0, 1309926.01 1177817.513 0,
+ 1310188.012 1177835.763 0, 1310450.013 1177854.027 0, 1310712.014 1177872.308 0, 1310974.013 1177890.603 0, 1311236.011 1177908.914 0, 1311498.008 1177927.241 0, 1311760.004 1177945.583 0, 1312021.998 1177963.94 0, 1312283.992 1177982.313 0, 1312545.985 1178000.701 0,
+ 1312807.976 1178019.104 0, 1313069.967 1178037.523 0, 1313331.956 1178055.958 0, 1313593.944 1178074.407 0, 1313855.932 1178092.873 0, 1314117.918 1178111.353 0, 1314379.903 1178129.849 0, 1314641.887 1178148.361 0, 1314902.652 1178166.802 0, 1315296.512 1172599.668 0,
+ 1315690.375 1167032.494 0))
+
+POLYGON ((1327476.533 1179074.222 0, 1327215.818 1179055.045 0, 1326953.888 1179035.793 0, 1326691.956 1179016.557 0, 1326430.023 1178997.336 0, 1326168.089 1178978.131 0, 1325906.154 1178958.941 0, 1325644.218 1178939.767 0, 1325382.28 1178920.607 0, 1325120.342 1178901.464 0,
+ 1324858.402 1178882.336 0, 1324596.461 1178863.223 0, 1324334.519 1178844.125 0, 1324072.576 1178825.043 0, 1323810.632 1178805.977 0, 1323548.687 1178786.926 0, 1323286.741 1178767.89 0, 1323024.793 1178748.87 0, 1322762.844 1178729.865 0, 1322500.895 1178710.875 0,
+ 1322238.944 1178691.901 0, 1321976.992 1178672.943 0, 1321715.039 1178653.999 0, 1321453.084 1178635.072 0, 1321189.913 1178616.071 0, 1320929.173 1178597.262 0, 1320667.215 1178578.381 0, 1320405.257 1178559.515 0, 1320143.297 1178540.664 0, 1319881.336 1178521.829 0,
+ 1319619.374 1178503.009 0, 1319357.411 1178484.204 0, 1319095.447 1178465.415 0, 1318833.481 1178446.642 0, 1318571.515 1178427.883 0, 1318309.547 1178409.141 0, 1318047.579 1178390.413 0, 1317785.609 1178371.701 0, 1317523.638 1178353.005 0, 1317261.666 1178334.324 0,
+ 1316999.693 1178315.658 0, 1316737.719 1178297.008 0, 1316475.744 1178278.373 0, 1316213.768 1178259.754 0, 1315951.79 1178241.15 0, 1315689.812 1178222.561 0, 1315427.832 1178203.988 0, 1315165.851 1178185.43 0, 1314902.652 1178166.802 0, 1314508.796 1183733.891 0,
+ 1314114.943 1189300.93 0, 1314377.483 1189319.512 0, 1314638.809 1189338.023 0, 1314900.133 1189356.55 0, 1315161.456 1189375.092 0, 1315422.778 1189393.65 0, 1315684.099 1189412.222 0, 1315945.419 1189430.811 0, 1316206.738 1189449.414 0, 1316468.056 1189468.033 0,
+ 1316729.372 1189486.668 0, 1316990.688 1189505.317 0, 1317252.002 1189523.983 0, 1317513.316 1189542.663 0, 1317774.628 1189561.359 0, 1318035.939 1189580.07 0, 1318297.249 1189598.797 0, 1318558.558 1189617.539 0, 1318819.866 1189636.296 0, 1319081.172 1189655.069 0,
+ 1319342.478 1189673.857 0, 1319603.782 1189692.661 0, 1319865.086 1189711.48 0, 1320126.388 1189730.314 0, 1320386.476 1189749.076 0, 1320648.989 1189768.029 0, 1320910.288 1189786.909 0, 1321171.586 1189805.805 0, 1321432.883 1189824.716 0, 1321694.178 1189843.643 0,
+ 1321955.473 1189862.585 0, 1322216.766 1189881.542 0, 1322478.059 1189900.515 0, 1322739.35 1189919.503 0, 1323000.64 1189938.507 0, 1323261.929 1189957.525 0, 1323523.216 1189976.56 0, 1323784.503 1189995.609 0, 1324045.789 1190014.674 0, 1324307.073 1190033.755 0,
+ 1324568.356 1190052.85 0, 1324829.639 1190071.962 0, 1325090.92 1190091.088 0, 1325352.2 1190110.23 0, 1325613.478 1190129.387 0, 1325874.756 1190148.56 0, 1326136.033 1190167.748 0, 1326397.308 1190186.951 0, 1326657.37 1190206.081 0, 1327066.95 1184640.176 0,
+ 1327476.533 1179074.222 0))
+
+POLYGON ((1339197.191 1191146.663 0, 1338937.181 1191126.798 0, 1338675.961 1191106.857 0, 1338414.74 1191086.931 0, 1338153.517 1191067.02 0, 1337892.294 1191047.125 0, 1337631.069 1191027.245 0, 1337369.843 1191007.38 0, 1337108.616 1190987.531 0, 1336847.388 1190967.697 0,
+ 1336586.158 1190947.879 0, 1336324.927 1190928.075 0, 1336063.696 1190908.288 0, 1335802.463 1190888.515 0, 1335541.229 1190868.758 0, 1335279.993 1190849.017 0, 1335018.757 1190829.291 0, 1334757.519 1190809.58 0, 1334496.28 1190789.884 0, 1334235.04 1190770.204 0,
+ 1333973.799 1190750.539 0, 1333712.557 1190730.89 0, 1333451.314 1190711.256 0, 1333190.069 1190691.637 0, 1332927.613 1190671.943 0, 1332667.577 1190652.446 0, 1332406.329 1190632.874 0, 1332145.079 1190613.317 0, 1331883.829 1190593.775 0, 1331622.578 1190574.249 0,
+ 1331361.325 1190554.738 0, 1331100.071 1190535.242 0, 1330838.816 1190515.762 0, 1330577.56 1190496.297 0, 1330316.303 1190476.848 0, 1330055.045 1190457.414 0, 1329793.785 1190437.995 0, 1329532.524 1190418.592 0, 1329271.263 1190399.204 0, 1329010 1190379.831 0,
+ 1328748.736 1190360.474 0, 1328487.47 1190341.132 0, 1328226.204 1190321.806 0, 1327964.937 1190302.495 0, 1327703.668 1190283.199 0, 1327442.398 1190263.919 0, 1327181.127 1190244.654 0, 1326919.855 1190225.404 0, 1326657.37 1190206.081 0, 1326247.795 1195771.932 0,
+ 1325838.224 1201337.724 0, 1326100.051 1201356.998 0, 1326360.668 1201376.2 0, 1326621.283 1201395.416 0, 1326881.898 1201414.648 0, 1327142.511 1201433.896 0, 1327403.124 1201453.158 0, 1327663.735 1201472.436 0, 1327924.345 1201491.729 0, 1328184.954 1201511.038 0,
+ 1328445.561 1201530.362 0, 1328706.168 1201549.701 0, 1328966.774 1201569.056 0, 1329227.378 1201588.426 0, 1329487.981 1201607.811 0, 1329748.583 1201627.212 0, 1330009.184 1201646.628 0, 1330269.784 1201666.059 0, 1330530.382 1201685.506 0, 1330790.98 1201704.968 0,
+ 1331051.576 1201724.446 0, 1331312.172 1201743.938 0, 1331572.766 1201763.446 0, 1331833.358 1201782.97 0, 1332092.742 1201802.418 0, 1332354.541 1201822.062 0, 1332615.13 1201841.632 0, 1332875.719 1201861.217 0, 1333136.306 1201880.817 0, 1333396.892 1201900.432 0,
+ 1333657.477 1201920.063 0, 1333918.06 1201939.709 0, 1334178.643 1201959.37 0, 1334439.224 1201979.047 0, 1334699.804 1201998.739 0, 1334960.383 1202018.447 0, 1335220.961 1202038.169 0, 1335481.538 1202057.907 0, 1335742.114 1202077.661 0, 1336002.688 1202097.43 0,
+ 1336263.261 1202117.214 0, 1336523.833 1202137.013 0, 1336784.404 1202156.828 0, 1337044.974 1202176.658 0, 1337305.542 1202196.504 0, 1337566.11 1202216.364 0, 1337826.676 1202236.241 0, 1338087.241 1202256.132 0, 1338346.598 1202275.947 0, 1338771.892 1196711.334 0,
+ 1339197.191 1191146.663 0))
+
+POLYGON ((1350852.272 1203249.505 0, 1350592.97 1203228.957 0, 1350332.462 1203208.33 0, 1350071.953 1203187.717 0, 1349811.443 1203167.12 0, 1349550.932 1203146.539 0, 1349290.419 1203125.973 0, 1349029.905 1203105.422 0, 1348769.39 1203084.886 0, 1348508.874 1203064.366 0,
+ 1348248.356 1203043.861 0, 1347987.837 1203023.372 0, 1347727.317 1203002.898 0, 1347466.796 1202982.439 0, 1347206.274 1202961.995 0, 1346945.75 1202941.567 0, 1346685.226 1202921.154 0, 1346424.7 1202900.756 0, 1346164.173 1202880.374 0, 1345903.644 1202860.007 0,
+ 1345643.115 1202839.656 0, 1345382.584 1202819.32 0, 1345122.052 1202798.999 0, 1344861.519 1202778.693 0, 1344599.779 1202758.309 0, 1344340.449 1202738.128 0, 1344079.912 1202717.869 0, 1343819.375 1202697.624 0, 1343558.836 1202677.396 0, 1343298.295 1202657.182 0,
+ 1343037.754 1202636.984 0, 1342777.211 1202616.801 0, 1342516.667 1202596.634 0, 1342256.122 1202576.481 0, 1341995.576 1202556.345 0, 1341735.029 1202536.223 0, 1341474.48 1202516.117 0, 1341213.93 1202496.026 0, 1340953.379 1202475.95 0, 1340692.827 1202455.89 0,
+ 1340432.274 1202435.845 0, 1340171.719 1202415.816 0, 1339911.164 1202395.802 0, 1339650.607 1202375.803 0, 1339390.049 1202355.82 0, 1339129.49 1202335.851 0, 1338868.929 1202315.899 0, 1338608.368 1202295.961 0, 1338346.598 1202275.947 0, 1337921.309 1207840.496 0,
+ 1337496.026 1213404.977 0, 1337757.137 1213424.941 0, 1338017.043 1213444.829 0, 1338276.949 1213464.731 0, 1338536.853 1213484.649 0, 1338796.756 1213504.583 0, 1339056.658 1213524.531 0, 1339316.558 1213544.495 0, 1339576.458 1213564.474 0, 1339836.356 1213584.469 0,
+ 1340096.253 1213604.478 0, 1340356.149 1213624.503 0, 1340616.044 1213644.544 0, 1340875.938 1213664.599 0, 1341135.83 1213684.67 0, 1341395.721 1213704.756 0, 1341655.611 1213724.858 0, 1341915.5 1213744.975 0, 1342175.388 1213765.107 0, 1342435.274 1213785.254 0,
+ 1342695.16 1213805.417 0, 1342955.044 1213825.595 0, 1343214.927 1213845.788 0, 1343474.808 1213865.997 0, 1343733.486 1213886.127 0, 1343994.568 1213906.46 0, 1344254.446 1213926.714 0, 1344514.323 1213946.984 0, 1344774.199 1213967.269 0, 1345034.074 1213987.57 0,
+ 1345293.947 1214007.885 0, 1345553.819 1214028.216 0, 1345813.69 1214048.563 0, 1346073.56 1214068.924 0, 1346333.429 1214089.301 0, 1346593.296 1214109.693 0, 1346853.162 1214130.101 0, 1347113.027 1214150.523 0, 1347372.891 1214170.961 0, 1347632.754 1214191.415 0,
+ 1347892.615 1214211.883 0, 1348152.475 1214232.367 0, 1348412.334 1214252.866 0, 1348672.192 1214273.381 0, 1348932.049 1214293.911 0, 1349191.904 1214314.456 0, 1349451.758 1214335.016 0, 1349711.611 1214355.592 0, 1349970.261 1214376.088 0, 1350411.264 1208812.83 0,
+ 1350852.272 1203249.505 0))
+
+POLYGON ((1362441.704 1215382.436 0, 1362183.111 1215361.21 0, 1361923.317 1215339.9 0, 1361663.522 1215318.605 0, 1361403.725 1215297.326 0, 1361143.928 1215276.062 0, 1360884.129 1215254.814 0, 1360624.329 1215233.581 0, 1360364.528 1215212.363 0, 1360104.725 1215191.16 0,
+ 1359844.922 1215169.972 0, 1359585.117 1215148.8 0, 1359325.31 1215127.644 0, 1359065.503 1215106.502 0, 1358805.694 1215085.376 0, 1358545.884 1215064.265 0, 1358286.073 1215043.169 0, 1358026.26 1215022.089 0, 1357766.447 1215001.024 0, 1357506.632 1214979.974 0,
+ 1357246.815 1214958.939 0, 1356986.998 1214937.92 0, 1356727.179 1214916.916 0, 1356467.359 1214895.928 0, 1356206.338 1214874.858 0, 1355947.716 1214853.996 0, 1355687.892 1214833.054 0, 1355428.068 1214812.126 0, 1355168.241 1214791.214 0, 1354908.414 1214770.317 0,
+ 1354648.586 1214749.436 0, 1354388.756 1214728.569 0, 1354128.925 1214707.718 0, 1353869.093 1214686.883 0, 1353609.259 1214666.062 0, 1353349.425 1214645.257 0, 1353089.589 1214624.468 0, 1352829.752 1214603.693 0, 1352569.913 1214582.934 0, 1352310.074 1214562.19 0,
+ 1352050.233 1214541.461 0, 1351790.391 1214520.748 0, 1351530.548 1214500.05 0, 1351270.703 1214479.367 0, 1351010.858 1214458.7 0, 1350751.011 1214438.048 0, 1350491.163 1214417.411 0, 1350231.313 1214396.789 0, 1349970.261 1214376.088 0, 1349529.264 1219939.273 0,
+ 1349088.274 1225502.38 0, 1349348.668 1225523.029 0, 1349607.862 1225543.599 0, 1349867.055 1225564.184 0, 1350126.247 1225584.784 0, 1350385.438 1225605.399 0, 1350644.628 1225626.03 0, 1350903.816 1225646.676 0, 1351163.003 1225667.337 0, 1351422.189 1225688.013 0,
+ 1351681.374 1225708.705 0, 1351940.557 1225729.412 0, 1352199.74 1225750.134 0, 1352458.921 1225770.871 0, 1352718.1 1225791.624 0, 1352977.279 1225812.392 0, 1353236.456 1225833.175 0, 1353495.633 1225853.973 0, 1353754.808 1225874.787 0, 1354013.981 1225895.616 0,
+ 1354273.154 1225916.46 0, 1354532.325 1225937.32 0, 1354791.495 1225958.194 0, 1355050.664 1225979.084 0, 1355308.634 1225999.893 0, 1355568.998 1226020.91 0, 1355828.163 1226041.846 0, 1356087.327 1226062.797 0, 1356346.489 1226083.763 0, 1356605.651 1226104.744 0,
+ 1356864.811 1226125.741 0, 1357123.97 1226146.753 0, 1357383.128 1226167.78 0, 1357642.284 1226188.823 0, 1357901.439 1226209.881 0, 1358160.593 1226230.954 0, 1358419.746 1226252.042 0, 1358678.898 1226273.145 0, 1358938.048 1226294.264 0, 1359197.197 1226315.398 0,
+ 1359456.345 1226336.547 0, 1359715.491 1226357.712 0, 1359974.636 1226378.892 0, 1360233.78 1226400.087 0, 1360492.923 1226421.297 0, 1360752.065 1226442.522 0, 1361011.205 1226463.763 0, 1361270.344 1226485.019 0, 1361528.286 1226506.192 0, 1361984.992 1220944.353 0,
+ 1362441.704 1215382.436 0))
+
+POLYGON ((1373965.412 1227545.146 0, 1373707.53 1227523.244 0, 1373448.452 1227501.256 0, 1373189.372 1227479.283 0, 1372930.292 1227457.326 0, 1372671.21 1227435.383 0, 1372412.127 1227413.456 0, 1372153.043 1227391.544 0, 1371893.957 1227369.648 0, 1371634.87 1227347.767 0,
+ 1371375.782 1227325.9 0, 1371116.692 1227304.05 0, 1370857.601 1227282.214 0, 1370598.509 1227260.394 0, 1370339.416 1227238.589 0, 1370080.321 1227216.799 0, 1369821.225 1227195.024 0, 1369562.128 1227173.265 0, 1369303.029 1227151.521 0, 1369043.929 1227129.792 0,
+ 1368784.828 1227108.079 0, 1368525.726 1227086.38 0, 1368266.622 1227064.697 0, 1368007.517 1227043.029 0, 1367747.216 1227021.277 0, 1367489.304 1226999.739 0, 1367230.195 1226978.117 0, 1366971.085 1226956.511 0, 1366711.973 1226934.919 0, 1366452.861 1226913.343 0,
+ 1366193.747 1226891.782 0, 1365934.632 1226870.236 0, 1365675.516 1226848.705 0, 1365416.398 1226827.19 0, 1365157.279 1226805.69 0, 1364898.159 1226784.205 0, 1364639.037 1226762.736 0, 1364379.915 1226741.281 0, 1364120.791 1226719.842 0, 1363861.666 1226698.418 0,
+ 1363602.539 1226677.01 0, 1363343.411 1226655.617 0, 1363084.282 1226634.238 0, 1362825.152 1226612.876 0, 1362566.021 1226591.528 0, 1362306.888 1226570.196 0, 1362047.754 1226548.879 0, 1361788.618 1226527.577 0, 1361528.286 1226506.192 0, 1361071.587 1232067.95 0,
+ 1360614.895 1237629.62 0, 1360874.57 1237650.951 0, 1361133.05 1237672.199 0, 1361391.529 1237693.462 0, 1361650.008 1237714.74 0, 1361908.484 1237736.034 0, 1362166.96 1237757.343 0, 1362425.434 1237778.667 0, 1362683.907 1237800.006 0, 1362942.379 1237821.36 0,
+ 1363200.85 1237842.73 0, 1363459.319 1237864.115 0, 1363717.787 1237885.515 0, 1363976.254 1237906.93 0, 1364234.719 1237928.361 0, 1364493.184 1237949.807 0, 1364751.647 1237971.268 0, 1365010.108 1237992.744 0, 1365268.569 1238014.235 0, 1365527.028 1238035.742 0,
+ 1365785.486 1238057.263 0, 1366043.942 1238078.8 0, 1366302.398 1238100.353 0, 1366560.852 1238121.92 0, 1366818.113 1238143.403 0, 1367077.756 1238165.101 0, 1367336.207 1238186.714 0, 1367594.656 1238208.342 0, 1367853.104 1238229.985 0, 1368111.55 1238251.644 0,
+ 1368369.995 1238273.318 0, 1368628.439 1238295.007 0, 1368886.882 1238316.712 0, 1369145.323 1238338.431 0, 1369403.763 1238360.166 0, 1369662.202 1238381.916 0, 1369920.64 1238403.681 0, 1370179.076 1238425.461 0, 1370437.511 1238447.257 0, 1370695.945 1238469.068 0,
+ 1370954.377 1238490.894 0, 1371212.808 1238512.735 0, 1371471.238 1238534.592 0, 1371729.667 1238556.463 0, 1371988.094 1238578.35 0, 1372246.52 1238600.252 0, 1372504.945 1238622.17 0, 1372763.368 1238644.102 0, 1373020.599 1238665.949 0, 1373493.002 1233105.591 0,
+ 1373965.412 1227545.146 0))
+
+POLYGON ((834756.858 757014.918 0, 834471.502 757024.604 0, 834184.732 757034.355 0, 833897.963 757044.123 0, 833611.195 757053.908 0, 833324.427 757063.71 0, 833037.66 757073.528 0, 832750.893 757083.364 0, 832464.127 757093.216 0, 832177.361 757103.086 0,
+ 831890.596 757112.972 0, 831603.832 757122.875 0, 831317.068 757132.795 0, 831030.305 757142.731 0, 830743.542 757152.685 0, 830456.78 757162.656 0, 830170.018 757172.643 0, 829883.257 757182.647 0, 829596.497 757192.669 0, 829309.737 757202.707 0,
+ 829022.978 757212.761 0, 828736.22 757222.833 0, 828449.462 757232.922 0, 828162.704 757243.028 0, 827874.533 757253.2 0, 827589.191 757263.289 0, 827302.436 757273.445 0, 827015.681 757283.619 0, 826728.927 757293.809 0, 826442.173 757304.015 0,
+ 826155.42 757314.239 0, 825868.667 757324.48 0, 825581.915 757334.737 0, 825295.164 757345.011 0, 825008.413 757355.303 0, 824721.663 757365.611 0, 824434.913 757375.936 0, 824148.164 757386.278 0, 823861.416 757396.636 0, 823574.668 757407.012 0,
+ 823287.921 757417.404 0, 823001.175 757427.814 0, 822714.429 757438.24 0, 822427.683 757448.683 0, 822140.939 757459.143 0, 821854.195 757469.62 0, 821567.451 757480.114 0, 821280.709 757490.624 0, 820992.55 757501.204 0, 821197.184 763070.375 0,
+ 821401.826 768639.797 0, 821689.325 768629.242 0, 821975.413 768618.755 0, 822261.5 768608.285 0, 822547.589 768597.832 0, 822833.678 768587.396 0, 823119.768 768576.977 0, 823405.858 768566.575 0, 823691.949 768556.189 0, 823978.04 768545.82 0,
+ 824264.132 768535.468 0, 824550.225 768525.133 0, 824836.318 768514.815 0, 825122.412 768504.514 0, 825408.507 768494.229 0, 825694.602 768483.962 0, 825980.698 768473.711 0, 826266.794 768463.477 0, 826552.891 768453.26 0, 826838.989 768443.059 0,
+ 827125.087 768432.876 0, 827411.185 768422.709 0, 827697.285 768412.559 0, 827983.385 768402.426 0, 828268.074 768392.36 0, 828555.586 768382.211 0, 828841.688 768372.128 0, 829127.791 768362.063 0, 829413.893 768352.014 0, 829699.997 768341.982 0,
+ 829986.101 768331.967 0, 830272.206 768321.969 0, 830558.311 768311.987 0, 830844.417 768302.023 0, 831130.523 768292.075 0, 831416.63 768282.144 0, 831702.738 768272.23 0, 831988.846 768262.333 0, 832274.955 768252.452 0, 832561.064 768242.589 0,
+ 832847.174 768232.742 0, 833133.285 768222.912 0, 833419.396 768213.099 0, 833705.508 768203.303 0, 833991.62 768193.524 0, 834277.733 768183.761 0, 834563.846 768174.016 0, 834849.96 768164.287 0, 835134.664 768154.623 0, 834945.757 762584.645 0,
+ 834756.858 757014.918 0))
+
+POLYGON ((848868.818 767708.248 0, 848584.085 767717.108 0, 848297.945 767726.028 0, 848011.805 767734.966 0, 847725.666 767743.92 0, 847439.527 767752.891 0, 847153.389 767761.879 0, 846867.251 767770.883 0, 846581.114 767779.905 0, 846294.978 767788.943 0,
+ 846008.841 767797.998 0, 845722.706 767807.07 0, 845436.571 767816.159 0, 845150.436 767825.265 0, 844864.302 767834.387 0, 844578.169 767843.527 0, 844292.036 767852.683 0, 844005.904 767861.856 0, 843719.772 767871.046 0, 843433.641 767880.253 0,
+ 843147.51 767889.476 0, 842861.38 767898.717 0, 842575.25 767907.974 0, 842289.121 767917.248 0, 842001.583 767926.585 0, 841716.865 767935.847 0, 841430.737 767945.172 0, 841144.61 767954.513 0, 840858.484 767963.872 0, 840572.358 767973.247 0,
+ 840286.233 767982.639 0, 840000.108 767992.048 0, 839713.984 768001.473 0, 839427.861 768010.916 0, 839141.738 768020.375 0, 838855.615 768029.851 0, 838569.493 768039.345 0, 838283.372 768048.854 0, 837997.251 768058.381 0, 837711.131 768067.925 0,
+ 837425.011 768077.485 0, 837138.892 768087.062 0, 836852.774 768096.657 0, 836566.656 768106.267 0, 836280.538 768115.895 0, 835994.422 768125.54 0, 835708.305 768135.201 0, 835422.19 768144.88 0, 835134.664 768154.623 0, 835323.579 773724.847 0,
+ 835512.503 779295.314 0, 835799.37 779285.594 0, 836084.83 779275.938 0, 836370.29 779266.298 0, 836655.751 779256.676 0, 836941.213 779247.07 0, 837226.675 779237.481 0, 837512.138 779227.909 0, 837797.601 779218.354 0, 838083.065 779208.815 0,
+ 838368.53 779199.293 0, 838653.995 779189.789 0, 838939.46 779180.3 0, 839224.927 779170.829 0, 839510.393 779161.375 0, 839795.861 779151.937 0, 840081.328 779142.516 0, 840366.797 779133.112 0, 840652.266 779123.725 0, 840937.735 779114.354 0,
+ 841223.205 779105 0, 841508.676 779095.664 0, 841794.147 779086.344 0, 842079.619 779077.04 0, 842363.684 779067.799 0, 842650.564 779058.484 0, 842936.037 779049.231 0, 843221.511 779039.995 0, 843506.985 779030.776 0, 843792.46 779021.573 0,
+ 844077.936 779012.388 0, 844363.412 779003.219 0, 844648.888 778994.067 0, 844934.365 778984.932 0, 845219.843 778975.813 0, 845505.321 778966.711 0, 845790.8 778957.627 0, 846076.279 778948.559 0, 846361.759 778939.507 0, 846647.239 778930.473 0,
+ 846932.72 778921.455 0, 847218.201 778912.454 0, 847503.683 778903.47 0, 847789.166 778894.503 0, 848074.649 778885.553 0, 848360.132 778876.619 0, 848645.616 778867.702 0, 848931.101 778858.802 0, 849215.18 778849.963 0, 849041.995 773278.984 0,
+ 848868.818 767708.248 0))
+
+POLYGON ((862919.062 778443.325 0, 862634.956 778451.362 0, 862349.447 778459.456 0, 862063.939 778467.566 0, 861778.432 778475.693 0, 861492.925 778483.837 0, 861207.418 778491.998 0, 860921.912 778500.175 0, 860636.406 778508.369 0, 860350.901 778516.58 0,
+ 860065.396 778524.808 0, 859779.892 778533.053 0, 859494.388 778541.314 0, 859208.885 778549.593 0, 858923.382 778557.888 0, 858637.88 778566.2 0, 858352.378 778574.528 0, 858066.877 778582.874 0, 857781.376 778591.236 0, 857495.876 778599.615 0,
+ 857210.376 778608.011 0, 856924.877 778616.424 0, 856639.378 778624.853 0, 856353.88 778633.3 0, 856066.978 778641.805 0, 855782.885 778650.243 0, 855497.388 778658.74 0, 855211.891 778667.253 0, 854926.396 778675.783 0, 854640.9 778684.331 0,
+ 854355.405 778692.895 0, 854069.911 778701.475 0, 853784.417 778710.073 0, 853498.924 778718.687 0, 853213.431 778727.318 0, 852927.939 778735.966 0, 852642.447 778744.631 0, 852356.956 778753.313 0, 852071.465 778762.011 0, 851785.975 778770.726 0,
+ 851500.485 778779.458 0, 851214.996 778788.207 0, 850929.507 778796.973 0, 850644.019 778805.755 0, 850358.531 778814.554 0, 850073.044 778823.37 0, 849787.558 778832.203 0, 849502.071 778841.053 0, 849215.18 778849.963 0, 849388.373 784421.181 0,
+ 849561.573 789992.636 0, 849847.805 789983.746 0, 850132.635 789974.917 0, 850417.466 789966.104 0, 850702.298 789957.309 0, 850987.129 789948.53 0, 851271.962 789939.768 0, 851556.795 789931.022 0, 851841.628 789922.293 0, 852126.462 789913.581 0,
+ 852411.296 789904.886 0, 852696.131 789896.208 0, 852980.967 789887.546 0, 853265.802 789878.901 0, 853550.639 789870.273 0, 853835.476 789861.662 0, 854120.313 789853.067 0, 854405.151 789844.49 0, 854689.99 789835.929 0, 854974.829 789827.384 0,
+ 855259.668 789818.857 0, 855544.508 789810.346 0, 855829.349 789801.852 0, 856114.19 789793.375 0, 856397.63 789784.956 0, 856683.873 789776.471 0, 856968.715 789768.044 0, 857253.558 789759.634 0, 857538.402 789751.24 0, 857823.246 789742.864 0,
+ 858108.09 789734.504 0, 858392.935 789726.161 0, 858677.781 789717.834 0, 858962.626 789709.525 0, 859247.473 789701.232 0, 859532.32 789692.956 0, 859817.167 789684.697 0, 860102.015 789676.454 0, 860386.863 789668.228 0, 860671.712 789660.019 0,
+ 860956.561 789651.827 0, 861241.411 789643.652 0, 861526.261 789635.493 0, 861811.112 789627.351 0, 862095.963 789619.226 0, 862380.815 789611.118 0, 862665.667 789603.026 0, 862950.52 789594.951 0, 863233.973 789586.933 0, 863076.514 784015.011 0,
+ 862919.062 778443.325 0))
+
+POLYGON ((876907.464 789219.858 0, 876623.988 789227.076 0, 876339.113 789234.346 0, 876054.239 789241.633 0, 875769.366 789248.936 0, 875484.493 789256.257 0, 875199.62 789263.594 0, 874914.748 789270.948 0, 874629.876 789278.318 0, 874345.005 789285.706 0,
+ 874060.134 789293.11 0, 873775.264 789300.531 0, 873490.394 789307.969 0, 873205.524 789315.423 0, 872920.655 789322.894 0, 872635.786 789330.382 0, 872350.918 789337.887 0, 872066.05 789345.409 0, 871781.183 789352.947 0, 871496.316 789360.502 0,
+ 871211.45 789368.074 0, 870926.584 789375.663 0, 870641.718 789383.268 0, 870356.853 789390.89 0, 870070.589 789398.567 0, 869787.124 789406.185 0, 869502.26 789413.857 0, 869217.397 789421.547 0, 868932.534 789429.253 0, 868647.672 789436.975 0,
+ 868362.81 789444.715 0, 868077.948 789452.471 0, 867793.087 789460.244 0, 867508.226 789468.034 0, 867223.366 789475.841 0, 866938.507 789483.664 0, 866653.647 789491.504 0, 866368.789 789499.361 0, 866083.93 789507.235 0, 865799.073 789515.125 0,
+ 865514.215 789523.032 0, 865229.358 789530.956 0, 864944.502 789538.897 0, 864659.646 789546.854 0, 864374.79 789554.829 0, 864089.935 789562.82 0, 863805.081 789570.827 0, 863520.227 789578.852 0, 863233.973 789586.933 0, 863391.439 795159.087 0,
+ 863548.911 800731.47 0, 863834.505 800723.407 0, 864118.703 800715.401 0, 864402.902 800707.412 0, 864687.101 800699.439 0, 864971.301 800691.484 0, 865255.501 800683.544 0, 865539.701 800675.622 0, 865823.902 800667.716 0, 866108.103 800659.827 0,
+ 866392.305 800651.955 0, 866676.508 800644.1 0, 866960.71 800636.261 0, 867244.914 800628.439 0, 867529.117 800620.633 0, 867813.321 800612.845 0, 868097.526 800605.073 0, 868381.731 800597.318 0, 868665.937 800589.579 0, 868950.143 800581.858 0,
+ 869234.349 800574.153 0, 869518.556 800566.464 0, 869802.763 800558.793 0, 870086.971 800551.138 0, 870369.784 800543.537 0, 870655.388 800535.879 0, 870939.597 800528.274 0, 871223.807 800520.686 0, 871508.017 800513.115 0, 871792.228 800505.561 0,
+ 872076.438 800498.023 0, 872360.65 800490.502 0, 872644.862 800482.998 0, 872929.074 800475.51 0, 873213.287 800468.039 0, 873497.5 800460.585 0, 873781.713 800453.148 0, 874065.927 800445.728 0, 874350.142 800438.324 0, 874634.357 800430.937 0,
+ 874918.572 800423.566 0, 875202.788 800416.212 0, 875487.004 800408.875 0, 875771.221 800401.555 0, 876055.438 800394.252 0, 876339.655 800386.965 0, 876623.873 800379.695 0, 876908.091 800372.442 0, 877190.915 800365.241 0, 877049.187 794792.435 0,
+ 876907.464 789219.858 0))
+
+POLYGON ((890833.9 800037.554 0, 890551.055 800043.956 0, 890266.817 800050.406 0, 889982.58 800056.873 0, 889698.343 800063.357 0, 889414.107 800069.858 0, 889129.87 800076.375 0, 888845.635 800082.909 0, 888561.399 800089.46 0, 888277.164 800096.027 0,
+ 887992.93 800102.611 0, 887708.695 800109.212 0, 887424.461 800115.83 0, 887140.228 800122.464 0, 886855.995 800129.115 0, 886571.762 800135.783 0, 886287.53 800142.467 0, 886003.298 800149.169 0, 885719.067 800155.887 0, 885434.836 800162.621 0,
+ 885150.605 800169.373 0, 884866.374 800176.141 0, 884582.145 800182.926 0, 884297.915 800189.727 0, 884012.292 800196.579 0, 883729.457 800203.381 0, 883445.229 800210.233 0, 883161.001 800217.101 0, 882876.774 800223.986 0, 882592.546 800230.888 0,
+ 882308.32 800237.807 0, 882024.094 800244.743 0, 881739.868 800251.695 0, 881455.642 800258.664 0, 881171.417 800265.649 0, 880887.193 800272.652 0, 880602.968 800279.671 0, 880318.745 800286.707 0, 880034.521 800293.759 0, 879750.298 800300.829 0,
+ 879466.076 800307.915 0, 879181.853 800315.017 0, 878897.632 800322.137 0, 878613.41 800329.273 0, 878329.19 800336.426 0, 878044.969 800343.596 0, 877760.749 800350.782 0, 877476.529 800357.985 0, 877190.915 800365.241 0, 877332.65 805938.271 0,
+ 877474.389 811511.524 0, 877759.344 811504.285 0, 878042.908 811497.099 0, 878326.472 811489.929 0, 878610.036 811482.776 0, 878893.601 811475.639 0, 879177.166 811468.519 0, 879460.732 811461.416 0, 879744.298 811454.33 0, 880027.864 811447.26 0,
+ 880311.431 811440.207 0, 880594.999 811433.171 0, 880878.566 811426.152 0, 881162.135 811419.149 0, 881445.703 811412.162 0, 881729.272 811405.193 0, 882012.841 811398.24 0, 882296.411 811391.304 0, 882579.981 811384.384 0, 882863.552 811377.482 0,
+ 883147.123 811370.596 0, 883430.695 811363.726 0, 883714.266 811356.874 0, 883997.839 811350.038 0, 884280.021 811343.252 0, 884564.984 811336.416 0, 884848.558 811329.63 0, 885132.132 811322.86 0, 885415.706 811316.108 0, 885699.28 811309.372 0,
+ 885982.855 811302.653 0, 886266.431 811295.95 0, 886550.007 811289.265 0, 886833.583 811282.595 0, 887117.159 811275.943 0, 887400.736 811269.307 0, 887684.314 811262.688 0, 887967.892 811256.086 0, 888251.47 811249.5 0, 888535.048 811242.931 0,
+ 888818.627 811236.379 0, 889102.207 811229.844 0, 889385.786 811223.325 0, 889669.366 811216.823 0, 889952.947 811210.337 0, 890236.528 811203.868 0, 890520.109 811197.416 0, 890803.69 811190.981 0, 891085.883 811184.593 0, 890959.889 805610.963 0,
+ 890833.9 800037.554 0))
+
+POLYGON ((904698.246 810896.119 0, 904416.034 810901.709 0, 904132.436 810907.344 0, 903848.837 810912.995 0, 903565.239 810918.662 0, 903281.642 810924.347 0, 902998.044 810930.048 0, 902714.447 810935.765 0, 902430.851 810941.5 0, 902147.254 810947.251 0,
+ 901863.658 810953.018 0, 901580.063 810958.803 0, 901296.468 810964.604 0, 901012.873 810970.422 0, 900729.278 810976.256 0, 900445.684 810982.108 0, 900162.09 810987.976 0, 899878.496 810993.86 0, 899594.903 810999.761 0, 899311.31 811005.679 0,
+ 899027.718 811011.614 0, 898744.125 811017.565 0, 898460.534 811023.534 0, 898176.942 811029.518 0, 897891.963 811035.549 0, 897609.76 811041.538 0, 897326.17 811047.573 0, 897042.58 811053.624 0, 896758.99 811059.692 0, 896475.401 811065.777 0,
+ 896191.812 811071.879 0, 895908.223 811077.997 0, 895624.635 811084.132 0, 895341.047 811090.284 0, 895057.459 811096.452 0, 894773.872 811102.637 0, 894490.285 811108.839 0, 894206.699 811115.058 0, 893923.113 811121.293 0, 893639.527 811127.544 0,
+ 893355.942 811133.813 0, 893072.357 811140.098 0, 892788.772 811146.4 0, 892505.188 811152.719 0, 892221.604 811159.054 0, 891938.021 811165.406 0, 891654.438 811171.775 0, 891370.855 811178.16 0, 891085.883 811184.593 0, 891211.882 816758.442 0,
+ 891337.885 822332.505 0, 891622.198 822326.086 0, 891905.124 822319.715 0, 892188.051 822313.361 0, 892470.979 822307.024 0, 892753.906 822300.704 0, 893036.834 822294.4 0, 893319.763 822288.112 0, 893602.692 822281.842 0, 893885.621 822275.588 0,
+ 894168.55 822269.35 0, 894451.48 822263.13 0, 894734.411 822256.925 0, 895017.341 822250.738 0, 895300.272 822244.567 0, 895583.204 822238.413 0, 895866.135 822232.276 0, 896149.068 822226.155 0, 896432 822220.051 0, 896714.933 822213.963 0,
+ 896997.866 822207.893 0, 897280.8 822201.838 0, 897563.733 822195.801 0, 897846.668 822189.78 0, 898128.217 822183.805 0, 898412.537 822177.788 0, 898695.473 822171.817 0, 898978.408 822165.863 0, 899261.344 822159.925 0, 899544.281 822154.005 0,
+ 899827.217 822148.1 0, 900110.154 822142.213 0, 900393.092 822136.342 0, 900676.029 822130.487 0, 900958.968 822124.65 0, 901241.906 822118.829 0, 901524.845 822113.024 0, 901807.784 822107.236 0, 902090.723 822101.465 0, 902373.663 822095.711 0,
+ 902656.603 822089.973 0, 902939.544 822084.252 0, 903222.485 822078.548 0, 903505.426 822072.86 0, 903788.367 822067.189 0, 904071.309 822061.534 0, 904354.251 822055.896 0, 904637.194 822050.275 0, 904918.752 822044.698 0, 904808.497 816470.302 0,
+ 904698.246 810896.119 0))
+
+POLYGON ((918500.378 821795.261 0, 918218.803 821800.043 0, 917935.846 821804.865 0, 917652.889 821809.703 0, 917369.932 821814.558 0, 917086.976 821819.43 0, 916804.019 821824.318 0, 916521.064 821829.223 0, 916238.108 821834.145 0, 915955.153 821839.083 0,
+ 915672.198 821844.039 0, 915389.243 821849.01 0, 915106.289 821853.999 0, 914823.335 821859.004 0, 914540.381 821864.025 0, 914257.428 821869.064 0, 913974.475 821874.118 0, 913691.522 821879.19 0, 913408.569 821884.278 0, 913125.617 821889.383 0,
+ 912842.665 821894.505 0, 912559.713 821899.643 0, 912276.762 821904.798 0, 911993.811 821909.97 0, 911709.477 821915.183 0, 911427.91 821920.363 0, 911144.96 821925.584 0, 910862.01 821930.822 0, 910579.06 821936.077 0, 910296.111 821941.349 0,
+ 910013.162 821946.637 0, 909730.214 821951.941 0, 909447.265 821957.263 0, 909164.317 821962.601 0, 908881.37 821967.956 0, 908598.422 821973.327 0, 908315.475 821978.715 0, 908032.529 821984.12 0, 907749.582 821989.541 0, 907466.636 821994.979 0,
+ 907183.691 822000.434 0, 906900.745 822005.905 0, 906617.8 822011.393 0, 906334.855 822016.898 0, 906051.911 822022.419 0, 905768.967 822027.957 0, 905486.023 822033.511 0, 905203.08 822039.083 0, 904918.752 822044.698 0, 905029.012 827619.305 0,
+ 905139.275 833194.119 0, 905422.943 833188.517 0, 905705.23 833182.958 0, 905987.518 833177.417 0, 906269.806 833171.892 0, 906552.094 833166.383 0, 906834.382 833160.891 0, 907116.671 833155.416 0, 907398.96 833149.957 0, 907681.25 833144.515 0,
+ 907963.54 833139.09 0, 908245.83 833133.681 0, 908528.12 833128.289 0, 908810.411 833122.914 0, 909092.702 833117.555 0, 909374.994 833112.212 0, 909657.285 833106.887 0, 909939.577 833101.578 0, 910221.87 833096.285 0, 910504.162 833091.009 0,
+ 910786.455 833085.75 0, 911068.749 833080.507 0, 911351.042 833075.281 0, 911633.336 833070.072 0, 911914.25 833064.904 0, 912197.925 833059.703 0, 912480.22 833054.543 0, 912762.515 833049.4 0, 913044.81 833044.274 0, 913327.106 833039.164 0,
+ 913609.402 833034.071 0, 913891.698 833028.995 0, 914173.995 833023.935 0, 914456.292 833018.892 0, 914738.589 833013.865 0, 915020.886 833008.855 0, 915303.184 833003.862 0, 915585.482 832998.885 0, 915867.78 832993.925 0, 916150.079 832988.981 0,
+ 916432.378 832984.054 0, 916714.677 832979.144 0, 916996.977 832974.25 0, 917279.277 832969.373 0, 917561.577 832964.513 0, 917843.877 832959.669 0, 918126.178 832954.842 0, 918408.479 832950.031 0, 918689.401 832945.26 0, 918594.888 827370.157 0,
+ 918500.378 821795.261 0))
+
+POLYGON ((932240.176 832734.685 0, 931959.239 832738.662 0, 931676.926 832742.675 0, 931394.613 832746.704 0, 931112.3 832750.751 0, 930829.987 832754.813 0, 930547.674 832758.893 0, 930265.362 832762.989 0, 929983.05 832767.102 0, 929700.738 832771.231 0,
+ 929418.427 832775.377 0, 929136.116 832779.54 0, 928853.805 832783.719 0, 928571.494 832787.915 0, 928289.183 832792.127 0, 928006.873 832796.356 0, 927724.563 832800.602 0, 927442.253 832804.864 0, 927159.944 832809.143 0, 926877.635 832813.439 0,
+ 926595.326 832817.751 0, 926313.017 832822.08 0, 926030.708 832826.425 0, 925748.4 832830.787 0, 925464.714 832835.187 0, 925183.784 832839.561 0, 924901.477 832843.973 0, 924619.17 832848.401 0, 924336.863 832852.846 0, 924054.556 832857.308 0,
+ 923772.25 832861.786 0, 923489.943 832866.281 0, 923207.638 832870.793 0, 922925.332 832875.321 0, 922643.027 832879.866 0, 922360.721 832884.427 0, 922078.417 832889.005 0, 921796.112 832893.6 0, 921513.808 832898.211 0, 921231.504 832902.839 0,
+ 920949.2 832907.483 0, 920666.897 832912.144 0, 920384.593 832916.822 0, 920102.29 832921.516 0, 919819.988 832926.227 0, 919537.685 832930.955 0, 919255.383 832935.699 0, 918973.082 832940.46 0, 918689.401 832945.26 0, 918783.918 838520.567 0,
+ 918878.438 844096.073 0, 919161.459 844091.283 0, 919443.104 844086.533 0, 919724.75 844081.8 0, 920006.396 844077.084 0, 920288.042 844072.384 0, 920569.689 844067.7 0, 920851.336 844063.034 0, 921132.983 844058.383 0, 921414.63 844053.75 0,
+ 921696.278 844049.133 0, 921977.926 844044.532 0, 922259.574 844039.948 0, 922541.223 844035.381 0, 922822.872 844030.83 0, 923104.521 844026.296 0, 923386.17 844021.778 0, 923667.82 844017.277 0, 923949.469 844012.793 0, 924231.119 844008.325 0,
+ 924512.77 844003.873 0, 924794.42 843999.439 0, 925076.071 843995.021 0, 925357.722 843990.619 0, 925637.999 843986.255 0, 925921.026 843981.866 0, 926202.677 843977.514 0, 926484.33 843973.178 0, 926765.982 843968.86 0, 927047.635 843964.558 0,
+ 927329.288 843960.272 0, 927610.941 843956.003 0, 927892.594 843951.751 0, 928174.248 843947.515 0, 928455.902 843943.296 0, 928737.556 843939.093 0, 929019.211 843934.907 0, 929300.865 843930.737 0, 929582.52 843926.584 0, 929864.175 843922.448 0,
+ 930145.831 843918.328 0, 930427.486 843914.225 0, 930709.142 843910.139 0, 930990.798 843906.069 0, 931272.455 843902.015 0, 931554.111 843897.978 0, 931835.768 843893.958 0, 932117.425 843889.954 0, 932397.709 843885.986 0, 932318.941 838310.236 0,
+ 932240.176 832734.685 0))
+
+POLYGON ((945917.52 843714.095 0, 945637.224 843717.271 0, 945355.556 843720.479 0, 945073.889 843723.704 0, 944792.222 843726.945 0, 944510.556 843730.203 0, 944228.889 843733.477 0, 943947.223 843736.768 0, 943665.557 843740.075 0, 943383.891 843743.399 0,
+ 943102.225 843746.74 0, 942820.56 843750.097 0, 942538.894 843753.471 0, 942257.229 843756.861 0, 941975.564 843760.268 0, 941693.9 843763.691 0, 941412.235 843767.132 0, 941130.571 843770.588 0, 940848.907 843774.061 0, 940567.243 843777.551 0,
+ 940285.579 843781.058 0, 940003.915 843784.581 0, 939722.252 843788.12 0, 939440.589 843791.676 0, 939157.554 843795.266 0, 938877.264 843798.838 0, 938595.601 843802.444 0, 938313.939 843806.066 0, 938032.277 843809.705 0, 937750.615 843813.361 0,
+ 937468.953 843817.033 0, 937187.292 843820.722 0, 936905.631 843824.427 0, 936623.97 843828.149 0, 936342.309 843831.888 0, 936060.649 843835.643 0, 935778.988 843839.414 0, 935497.328 843843.203 0, 935215.668 843847.007 0, 934934.009 843850.829 0,
+ 934652.349 843854.667 0, 934370.69 843858.521 0, 934089.031 843862.392 0, 933807.373 843866.28 0, 933525.714 843870.184 0, 933244.056 843874.105 0, 932962.398 843878.042 0, 932680.74 843881.996 0, 932397.709 843885.986 0, 932476.48 849461.933 0,
+ 932555.253 855038.071 0, 932837.625 855034.091 0, 933118.626 855030.146 0, 933399.628 855026.218 0, 933680.629 855022.306 0, 933961.632 855018.411 0, 934242.634 855014.532 0, 934523.636 855010.67 0, 934804.639 855006.825 0, 935085.642 855002.996 0,
+ 935366.645 854999.183 0, 935647.649 854995.387 0, 935928.652 854991.608 0, 936209.656 854987.845 0, 936490.66 854984.099 0, 936771.665 854980.369 0, 937052.669 854976.656 0, 937333.674 854972.959 0, 937614.679 854969.279 0, 937895.684 854965.615 0,
+ 938176.69 854961.968 0, 938457.695 854958.338 0, 938738.701 854954.724 0, 939019.707 854951.126 0, 939299.344 854947.563 0, 939581.72 854943.981 0, 939862.727 854940.433 0, 940143.734 854936.902 0, 940424.741 854933.387 0, 940705.748 854929.889 0,
+ 940986.755 854926.407 0, 941267.763 854922.942 0, 941548.771 854919.493 0, 941829.779 854916.061 0, 942110.788 854912.646 0, 942391.796 854909.247 0, 942672.805 854905.865 0, 942953.814 854902.499 0, 943234.823 854899.149 0, 943515.832 854895.816 0,
+ 943796.842 854892.5 0, 944077.851 854889.2 0, 944358.861 854885.917 0, 944639.871 854882.651 0, 944920.882 854879.4 0, 945201.892 854876.167 0, 945482.903 854872.95 0, 945763.914 854869.749 0, 946043.556 854866.581 0, 945980.537 849290.242 0,
+ 945917.52 843714.095 0))
+
+POLYGON ((959532.29 854733.198 0, 959252.638 854735.576 0, 958971.619 854737.983 0, 958690.6 854740.406 0, 958409.582 854742.846 0, 958128.563 854745.302 0, 957847.545 854747.775 0, 957566.527 854750.264 0, 957285.509 854752.77 0, 957004.492 854755.292 0,
+ 956723.474 854757.831 0, 956442.456 854760.386 0, 956161.439 854762.958 0, 955880.422 854765.547 0, 955599.405 854768.152 0, 955318.388 854770.774 0, 955037.371 854773.412 0, 954756.355 854776.066 0, 954475.339 854778.738 0, 954194.322 854781.425 0,
+ 953913.306 854784.13 0, 953632.29 854786.851 0, 953351.275 854789.588 0, 953070.259 854792.342 0, 952787.876 854795.126 0, 952508.228 854797.899 0, 952227.213 854800.703 0, 951946.198 854803.523 0, 951665.184 854806.36 0, 951384.169 854809.213 0,
+ 951103.154 854812.082 0, 950822.14 854814.969 0, 950541.126 854817.871 0, 950260.112 854820.791 0, 949979.098 854823.727 0, 949698.085 854826.679 0, 949417.072 854829.648 0, 949136.058 854832.633 0, 948855.045 854835.636 0, 948574.032 854838.654 0,
+ 948293.02 854841.689 0, 948012.007 854844.741 0, 947730.995 854847.809 0, 947449.983 854850.894 0, 947168.971 854853.995 0, 946887.959 854857.113 0, 946606.947 854860.247 0, 946325.936 854863.398 0, 946043.556 854866.581 0, 946106.578 860443.108 0,
+ 946169.602 866019.82 0, 946451.321 866016.644 0, 946731.676 866013.501 0, 947012.032 866010.374 0, 947292.387 866007.263 0, 947572.742 866004.169 0, 947853.098 866001.092 0, 948133.454 865998.031 0, 948413.81 865994.986 0, 948694.166 865991.958 0,
+ 948974.523 865988.946 0, 949254.879 865985.951 0, 949535.236 865982.973 0, 949815.593 865980.011 0, 950095.95 865977.065 0, 950376.307 865974.136 0, 950656.665 865971.224 0, 950937.022 865968.328 0, 951217.38 865965.448 0, 951497.738 865962.585 0,
+ 951778.096 865959.739 0, 952058.455 865956.909 0, 952338.813 865954.095 0, 952619.172 865951.298 0, 952898.166 865948.531 0, 953179.889 865945.754 0, 953460.249 865943.007 0, 953740.608 865940.276 0, 954020.967 865937.561 0, 954301.327 865934.863 0,
+ 954581.687 865932.182 0, 954862.047 865929.517 0, 955142.407 865926.868 0, 955422.767 865924.236 0, 955703.127 865921.621 0, 955983.488 865919.022 0, 956263.848 865916.439 0, 956544.209 865913.873 0, 956824.57 865911.324 0, 957104.931 865908.791 0,
+ 957385.293 865906.274 0, 957665.654 865903.774 0, 957946.016 865901.291 0, 958226.377 865898.824 0, 958506.739 865896.373 0, 958787.101 865893.94 0, 959067.463 865891.522 0, 959347.826 865889.121 0, 959626.825 865886.748 0, 959579.557 860309.881 0,
+ 959532.29 854733.198 0))
+
+POLYGON ((973084.371 865791.696 0, 972805.364 865793.281 0, 972524.996 865794.89 0, 972244.628 865796.515 0, 971964.26 865798.157 0, 971683.893 865799.816 0, 971403.525 865801.491 0, 971123.158 865803.182 0, 970842.79 865804.89 0, 970562.423 865806.614 0,
+ 970282.056 865808.355 0, 970001.689 865810.112 0, 969721.322 865811.886 0, 969440.955 865813.677 0, 969160.588 865815.484 0, 968880.221 865817.307 0, 968599.855 865819.147 0, 968319.488 865821.003 0, 968039.122 865822.876 0, 967758.756 865824.766 0,
+ 967478.39 865826.672 0, 967198.024 865828.594 0, 966917.658 865830.533 0, 966637.292 865832.488 0, 966355.565 865834.47 0, 966076.561 865836.449 0, 965796.196 865838.454 0, 965515.83 865840.475 0, 965235.465 865842.513 0, 964955.1 865844.567 0,
+ 964674.735 865846.638 0, 964394.37 865848.726 0, 964114.006 865850.83 0, 963833.641 865852.95 0, 963553.277 865855.087 0, 963272.912 865857.24 0, 962992.548 865859.41 0, 962712.184 865861.597 0, 962431.82 865863.8 0, 962151.456 865866.019 0,
+ 961871.093 865868.255 0, 961590.729 865870.507 0, 961310.366 865872.776 0, 961030.003 865875.062 0, 960749.639 865877.364 0, 960469.276 865879.682 0, 960188.914 865882.017 0, 959908.551 865884.369 0, 959626.825 865886.748 0, 959674.095 871463.796 0,
+ 959721.366 877041.021 0, 960002.432 877038.647 0, 960282.138 877036.302 0, 960561.845 877033.972 0, 960841.551 877031.659 0, 961121.258 877029.362 0, 961400.964 877027.082 0, 961680.671 877024.819 0, 961960.378 877022.572 0, 962240.085 877020.341 0,
+ 962519.793 877018.127 0, 962799.5 877015.929 0, 963079.208 877013.748 0, 963358.915 877011.583 0, 963638.623 877009.434 0, 963918.331 877007.302 0, 964198.039 877005.187 0, 964477.747 877003.088 0, 964757.455 877001.005 0, 965037.164 876998.939 0,
+ 965316.872 876996.89 0, 965596.581 876994.857 0, 965876.29 876992.84 0, 966155.999 876990.84 0, 966434.349 876988.865 0, 966715.417 876986.889 0, 966995.126 876984.938 0, 967274.835 876983.003 0, 967554.545 876981.085 0, 967834.254 876979.184 0,
+ 968113.964 876977.299 0, 968393.674 876975.431 0, 968673.384 876973.578 0, 968953.094 876971.743 0, 969232.804 876969.924 0, 969512.514 876968.121 0, 969792.225 876966.335 0, 970071.935 876964.565 0, 970351.646 876962.812 0, 970631.356 876961.075 0,
+ 970911.067 876959.355 0, 971190.778 876957.651 0, 971470.489 876955.963 0, 971750.2 876954.292 0, 972029.911 876952.638 0, 972309.622 876951 0, 972589.334 876949.378 0, 972869.045 876947.773 0, 973147.399 876946.192 0, 973115.885 871368.856 0,
+ 973084.371 865791.696 0))
+
+POLYGON ((986573.646 876889.294 0, 986295.286 876890.089 0, 986015.572 876890.904 0, 985735.857 876891.735 0, 985456.142 876892.583 0, 985176.427 876893.447 0, 984896.713 876894.328 0, 984616.998 876895.225 0, 984337.284 876896.139 0, 984057.569 876897.069 0,
+ 983777.855 876898.016 0, 983498.14 876898.979 0, 983218.426 876899.958 0, 982938.712 876900.954 0, 982658.997 876901.966 0, 982379.283 876902.995 0, 982099.569 876904.041 0, 981819.855 876905.102 0, 981540.141 876906.181 0, 981260.427 876907.276 0,
+ 980980.714 876908.387 0, 980701 876909.514 0, 980421.286 876910.659 0, 980141.572 876911.819 0, 979860.502 876913.002 0, 979582.145 876914.19 0, 979302.432 876915.4 0, 979022.719 876916.626 0, 978743.005 876917.869 0, 978463.292 876919.128 0,
+ 978183.579 876920.404 0, 977903.866 876921.697 0, 977624.153 876923.005 0, 977344.44 876924.331 0, 977064.727 876925.672 0, 976785.014 876927.03 0, 976505.302 876928.405 0, 976225.589 876929.796 0, 975945.877 876931.204 0, 975666.164 876932.628 0,
+ 975386.452 876934.068 0, 975106.74 876935.525 0, 974827.028 876936.998 0, 974547.316 876938.488 0, 974267.604 876939.995 0, 973987.892 876941.517 0, 973708.18 876943.057 0, 973428.468 876944.612 0, 973147.399 876946.192 0, 973178.914 882523.702 0,
+ 973210.43 888101.381 0, 973490.84 888099.805 0, 973769.895 888098.252 0, 974048.95 888096.717 0, 974328.006 888095.198 0, 974607.061 888093.695 0, 974886.117 888092.208 0, 975165.172 888090.739 0, 975444.228 888089.285 0, 975723.284 888087.848 0,
+ 976002.339 888086.427 0, 976281.395 888085.023 0, 976560.451 888083.635 0, 976839.507 888082.264 0, 977118.564 888080.909 0, 977397.62 888079.57 0, 977676.676 888078.248 0, 977955.733 888076.942 0, 978234.789 888075.653 0, 978513.846 888074.38 0,
+ 978792.902 888073.124 0, 979071.959 888071.884 0, 979351.016 888070.66 0, 979630.073 888069.453 0, 979907.776 888068.268 0, 980188.186 888067.088 0, 980467.244 888065.93 0, 980746.301 888064.789 0, 981025.358 888063.664 0, 981304.415 888062.555 0,
+ 981583.472 888061.463 0, 981862.53 888060.387 0, 982141.587 888059.328 0, 982420.645 888058.285 0, 982699.702 888057.259 0, 982978.76 888056.249 0, 983257.818 888055.255 0, 983536.875 888054.278 0, 983815.933 888053.317 0, 984094.991 888052.373 0,
+ 984374.049 888051.445 0, 984653.107 888050.533 0, 984932.165 888049.638 0, 985211.223 888048.759 0, 985490.281 888047.897 0, 985769.339 888047.051 0, 986048.398 888046.222 0, 986327.456 888045.409 0, 986605.162 888044.616 0, 986589.404 882466.871 0,
+ 986573.646 876889.294 0))
+
+POLYGON ((1000000 888025.695 0, 999722.291 888025.703 0, 999443.231 888025.728 0, 999164.172 888025.769 0, 998885.112 888025.826 0, 998606.053 888025.9 0, 998326.993 888025.99 0, 998047.934 888026.097 0, 997768.875 888026.22 0, 997489.815 888026.359 0,
+ 997210.756 888026.515 0, 996931.696 888026.688 0, 996652.637 888026.877 0, 996373.578 888027.082 0, 996094.518 888027.303 0, 995815.459 888027.542 0, 995536.4 888027.796 0, 995257.34 888028.067 0, 994978.281 888028.354 0, 994699.222 888028.658 0,
+ 994420.162 888028.978 0, 994141.103 888029.315 0, 993862.044 888029.668 0, 993582.985 888030.038 0, 993302.574 888030.425 0, 993024.866 888030.826 0, 992745.807 888031.245 0, 992466.748 888031.68 0, 992187.689 888032.131 0, 991908.63 888032.599 0,
+ 991629.571 888033.084 0, 991350.512 888033.585 0, 991071.453 888034.102 0, 990792.394 888034.636 0, 990513.335 888035.186 0, 990234.276 888035.752 0, 989955.217 888036.335 0, 989676.158 888036.935 0, 989397.1 888037.551 0, 989118.041 888038.183 0,
+ 988838.982 888038.832 0, 988559.924 888039.497 0, 988280.865 888040.178 0, 988001.806 888040.876 0, 987722.748 888041.591 0, 987443.689 888042.322 0, 987164.631 888043.069 0, 986885.572 888043.833 0, 986605.162 888044.616 0, 986620.92 893622.528 0,
+ 986636.68 899200.6 0, 986916.43 899199.818 0, 987194.832 899199.056 0, 987473.234 899198.311 0, 987751.636 899197.582 0, 988030.038 899196.869 0, 988308.44 899196.173 0, 988586.842 899195.493 0, 988865.244 899194.829 0, 989143.646 899194.182 0,
+ 989422.048 899193.551 0, 989700.45 899192.937 0, 989978.852 899192.339 0, 990257.255 899191.757 0, 990535.657 899191.192 0, 990814.059 899190.643 0, 991092.462 899190.111 0, 991370.864 899189.595 0, 991649.266 899189.095 0, 991927.669 899188.612 0,
+ 992206.071 899188.145 0, 992484.474 899187.694 0, 992762.876 899187.26 0, 993041.279 899186.842 0, 993318.333 899186.443 0, 993598.084 899186.056 0, 993876.486 899185.687 0, 994154.889 899185.335 0, 994433.292 899184.999 0, 994711.694 899184.68 0,
+ 994990.097 899184.377 0, 995268.5 899184.09 0, 995546.902 899183.82 0, 995825.305 899183.566 0, 996103.708 899183.328 0, 996382.111 899183.107 0, 996660.513 899182.902 0, 996938.916 899182.714 0, 997217.319 899182.542 0, 997495.722 899182.386 0,
+ 997774.124 899182.247 0, 998052.527 899182.124 0, 998330.93 899182.018 0, 998609.333 899181.928 0, 998887.736 899181.854 0, 999166.139 899181.797 0, 999444.541 899181.756 0, 999722.944 899181.732 0, 1000000 899181.723 0, 1000000 893603.628 0,
+ 1000000 888025.695 0))
+
+POLYGON ((1013363.32 899200.6 0, 1013086.264 899199.826 0, 1012807.862 899199.064 0, 1012529.46 899198.318 0, 1012251.058 899197.589 0, 1011972.656 899196.876 0, 1011694.254 899196.179 0, 1011415.852 899195.499 0, 1011137.45 899194.836 0, 1010859.048 899194.188 0,
+ 1010580.646 899193.557 0, 1010302.244 899192.943 0, 1010023.842 899192.345 0, 1009745.439 899191.763 0, 1009467.037 899191.197 0, 1009188.635 899190.648 0, 1008910.232 899190.116 0, 1008631.83 899189.599 0, 1008353.428 899189.1 0, 1008075.025 899188.616 0,
+ 1007796.623 899188.149 0, 1007518.22 899187.698 0, 1007239.818 899187.264 0, 1006961.415 899186.846 0, 1006681.667 899186.443 0, 1006404.61 899186.059 0, 1006126.208 899185.691 0, 1005847.805 899185.338 0, 1005569.402 899185.002 0, 1005291 899184.683 0,
+ 1005012.597 899184.379 0, 1004734.194 899184.093 0, 1004455.792 899183.822 0, 1004177.389 899183.568 0, 1003898.986 899183.33 0, 1003620.584 899183.109 0, 1003342.181 899182.904 0, 1003063.778 899182.716 0, 1002785.375 899182.544 0, 1002506.972 899182.388 0,
+ 1002228.57 899182.248 0, 1001950.167 899182.125 0, 1001671.764 899182.019 0, 1001393.361 899181.929 0, 1001114.958 899181.855 0, 1000836.556 899181.797 0, 1000558.153 899181.756 0, 1000279.75 899181.732 0, 1000000 899181.723 0, 1000000 904759.976 0,
+ 1000000 910338.383 0, 1000279.09 910338.391 0, 1000556.836 910338.416 0, 1000834.582 910338.457 0, 1001112.329 910338.514 0, 1001390.075 910338.588 0, 1001667.821 910338.678 0, 1001945.567 910338.784 0, 1002223.313 910338.907 0, 1002501.059 910339.046 0,
+ 1002778.805 910339.201 0, 1003056.552 910339.373 0, 1003334.298 910339.561 0, 1003612.044 910339.765 0, 1003889.79 910339.986 0, 1004167.536 910340.223 0, 1004445.282 910340.477 0, 1004723.028 910340.747 0, 1005000.774 910341.033 0, 1005278.52 910341.335 0,
+ 1005556.266 910341.654 0, 1005834.012 910341.989 0, 1006111.758 910342.341 0, 1006389.504 910342.709 0, 1006665.907 910343.091 0, 1006944.996 910343.494 0, 1007222.742 910343.911 0, 1007500.487 910344.344 0, 1007778.233 910344.793 0, 1008055.979 910345.259 0,
+ 1008333.725 910345.742 0, 1008611.471 910346.24 0, 1008889.216 910346.755 0, 1009166.962 910347.287 0, 1009444.708 910347.835 0, 1009722.453 910348.399 0, 1010000.199 910348.979 0, 1010277.944 910349.576 0, 1010555.69 910350.189 0, 1010833.435 910350.818 0,
+ 1011111.181 910351.464 0, 1011388.926 910352.126 0, 1011666.671 910352.805 0, 1011944.417 910353.5 0, 1012222.162 910354.211 0, 1012499.907 910354.938 0, 1012777.652 910355.682 0, 1013055.397 910356.443 0, 1013331.801 910357.215 0, 1013347.561 904778.831 0,
+ 1013363.32 899200.6 0))
+
+POLYGON ((1026663.495 910413.713 0, 1026387.093 910412.159 0, 1026109.351 910410.614 0, 1025831.609 910409.085 0, 1025553.867 910407.573 0, 1025276.125 910406.077 0, 1024998.383 910404.598 0, 1024720.64 910403.135 0, 1024442.898 910401.688 0, 1024165.156 910400.257 0,
+ 1023887.413 910398.843 0, 1023609.67 910397.445 0, 1023331.928 910396.064 0, 1023054.185 910394.699 0, 1022776.442 910393.35 0, 1022498.699 910392.018 0, 1022220.956 910390.702 0, 1021943.213 910389.402 0, 1021665.469 910388.118 0, 1021387.726 910386.851 0,
+ 1021109.983 910385.601 0, 1020832.239 910384.366 0, 1020554.496 910383.148 0, 1020276.752 910381.947 0, 1019997.668 910380.756 0, 1019721.265 910379.593 0, 1019443.521 910378.44 0, 1019165.777 910377.304 0, 1018888.033 910376.184 0, 1018610.289 910375.08 0,
+ 1018332.545 910373.993 0, 1018054.801 910372.922 0, 1017777.057 910371.868 0, 1017499.313 910370.83 0, 1017221.569 910369.808 0, 1016943.824 910368.802 0, 1016666.08 910367.813 0, 1016388.335 910366.841 0, 1016110.591 910365.884 0, 1015832.846 910364.944 0,
+ 1015555.102 910364.02 0, 1015277.357 910363.113 0, 1014999.612 910362.222 0, 1014721.867 910361.347 0, 1014444.122 910360.489 0, 1014166.378 910359.647 0, 1013888.633 910358.821 0, 1013610.888 910358.012 0, 1013331.801 910357.215 0, 1013316.04 915935.75 0,
+ 1013300.28 921514.431 0, 1013578.706 921515.225 0, 1013855.795 921516.033 0, 1014132.883 921516.856 0, 1014409.971 921517.696 0, 1014687.059 921518.553 0, 1014964.147 921519.425 0, 1015241.236 921520.314 0, 1015518.324 921521.22 0, 1015795.411 921522.141 0,
+ 1016072.499 921523.079 0, 1016349.587 921524.033 0, 1016626.675 921525.003 0, 1016903.763 921525.99 0, 1017180.85 921526.993 0, 1017457.938 921528.013 0, 1017735.026 921529.048 0, 1018012.113 921530.1 0, 1018289.2 921531.169 0, 1018566.288 921532.253 0,
+ 1018843.375 921533.354 0, 1019120.462 921534.472 0, 1019397.549 921535.605 0, 1019674.637 921536.755 0, 1019950.386 921537.915 0, 1020228.811 921539.104 0, 1020505.897 921540.302 0, 1020782.984 921541.517 0, 1021060.071 921542.749 0, 1021337.158 921543.997 0,
+ 1021614.244 921545.261 0, 1021891.331 921546.541 0, 1022168.417 921547.838 0, 1022445.504 921549.15 0, 1022722.59 921550.48 0, 1022999.676 921551.825 0, 1023276.762 921553.187 0, 1023553.848 921554.565 0, 1023830.934 921555.96 0, 1024108.02 921557.371 0,
+ 1024385.106 921558.798 0, 1024662.192 921560.241 0, 1024939.277 921561.701 0, 1025216.363 921563.177 0, 1025493.448 921564.669 0, 1025770.534 921566.178 0, 1026047.619 921567.703 0, 1026324.704 921569.244 0, 1026600.453 921570.794 0, 1026631.975 915992.18 0,
+ 1026663.495 910413.713 0))
+
+POLYGON ((1039900.414 921664.733 0, 1039624.669 921662.404 0, 1039347.589 921660.08 0, 1039070.509 921657.772 0, 1038793.429 921655.48 0, 1038516.349 921653.205 0, 1038239.269 921650.946 0, 1037962.188 921648.704 0, 1037685.108 921646.478 0, 1037408.027 921644.268 0,
+ 1037130.946 921642.074 0, 1036853.865 921639.897 0, 1036576.784 921637.736 0, 1036299.703 921635.591 0, 1036022.622 921633.463 0, 1035745.54 921631.351 0, 1035468.459 921629.255 0, 1035191.377 921627.176 0, 1034914.295 921625.112 0, 1034637.213 921623.066 0,
+ 1034360.131 921621.035 0, 1034083.049 921619.021 0, 1033805.967 921617.023 0, 1033528.884 921615.041 0, 1033250.467 921613.067 0, 1032974.719 921611.127 0, 1032697.637 921609.194 0, 1032420.554 921607.278 0, 1032143.471 921605.378 0, 1031866.388 921603.494 0,
+ 1031589.305 921601.627 0, 1031312.221 921599.776 0, 1031035.138 921597.941 0, 1030758.054 921596.122 0, 1030480.971 921594.32 0, 1030203.887 921592.534 0, 1029926.803 921590.765 0, 1029649.719 921589.011 0, 1029372.635 921587.274 0, 1029095.551 921585.554 0,
+ 1028818.467 921583.849 0, 1028541.382 921582.161 0, 1028264.298 921580.49 0, 1027987.213 921578.834 0, 1027710.129 921577.195 0, 1027433.044 921575.572 0, 1027155.959 921573.966 0, 1026878.874 921572.376 0, 1026600.453 921570.794 0, 1026568.931 927149.55 0,
+ 1026537.407 932728.445 0, 1026815.169 932730.022 0, 1027091.597 932731.609 0, 1027368.025 932733.211 0, 1027644.453 932734.83 0, 1027920.881 932736.466 0, 1028197.309 932738.117 0, 1028473.737 932739.785 0, 1028750.164 932741.469 0, 1029026.592 932743.169 0,
+ 1029303.019 932744.886 0, 1029579.447 932746.619 0, 1029855.874 932748.368 0, 1030132.301 932750.133 0, 1030408.728 932751.915 0, 1030685.155 932753.713 0, 1030961.582 932755.527 0, 1031238.008 932757.357 0, 1031514.435 932759.204 0, 1031790.861 932761.067 0,
+ 1032067.288 932762.946 0, 1032343.714 932764.842 0, 1032620.14 932766.754 0, 1032896.566 932768.682 0, 1033171.66 932770.617 0, 1033449.418 932772.587 0, 1033725.844 932774.564 0, 1034002.269 932776.557 0, 1034278.695 932778.566 0, 1034555.12 932780.592 0,
+ 1034831.545 932782.634 0, 1035107.97 932784.692 0, 1035384.395 932786.767 0, 1035660.82 932788.858 0, 1035937.245 932790.965 0, 1036213.669 932793.088 0, 1036490.094 932795.228 0, 1036766.518 932797.383 0, 1037042.942 932799.556 0, 1037319.367 932801.744 0,
+ 1037595.791 932803.949 0, 1037872.214 932806.17 0, 1038148.638 932808.407 0, 1038425.062 932810.66 0, 1038701.485 932812.93 0, 1038977.908 932815.216 0, 1039254.332 932817.518 0, 1039530.755 932819.837 0, 1039805.846 932822.161 0, 1039853.131 927243.378 0,
+ 1039900.414 921664.733 0))
+
+POLYGON ((1053073.968 932953.362 0, 1052798.881 932950.261 0, 1052522.466 932947.162 0, 1052246.05 932944.079 0, 1051969.635 932941.012 0, 1051693.219 932937.961 0, 1051416.803 932934.926 0, 1051140.386 932931.908 0, 1050863.97 932928.906 0, 1050587.553 932925.921 0,
+ 1050311.136 932922.951 0, 1050034.719 932919.998 0, 1049758.302 932917.062 0, 1049481.885 932914.141 0, 1049205.467 932911.237 0, 1048929.05 932908.349 0, 1048652.632 932905.477 0, 1048376.214 932902.622 0, 1048099.796 932899.782 0, 1047823.377 932896.959 0,
+ 1047546.959 932894.153 0, 1047270.54 932891.362 0, 1046994.121 932888.588 0, 1046717.702 932885.83 0, 1046439.953 932883.076 0, 1046164.864 932880.364 0, 1045888.445 932877.654 0, 1045612.025 932874.962 0, 1045335.605 932872.285 0, 1045059.185 932869.625 0,
+ 1044782.765 932866.981 0, 1044506.345 932864.353 0, 1044229.924 932861.742 0, 1043953.504 932859.147 0, 1043677.083 932856.568 0, 1043400.662 932854.005 0, 1043124.241 932851.459 0, 1042847.82 932848.929 0, 1042571.399 932846.415 0, 1042294.977 932843.918 0,
+ 1042018.556 932841.436 0, 1041742.134 932838.971 0, 1041465.712 932836.523 0, 1041189.29 932834.09 0, 1040912.868 932831.674 0, 1040636.445 932829.274 0, 1040360.023 932826.89 0, 1040083.6 932824.523 0, 1039805.846 932822.161 0, 1039758.561 938401.078 0,
+ 1039711.274 943980.126 0, 1039988.368 943982.482 0, 1040264.134 943984.844 0, 1040539.9 943987.222 0, 1040815.665 943989.616 0, 1041091.431 943992.027 0, 1041367.196 943994.454 0, 1041642.961 943996.896 0, 1041918.726 943999.356 0, 1042194.491 944001.831 0,
+ 1042470.256 944004.323 0, 1042746.021 944006.83 0, 1043021.785 944009.354 0, 1043297.549 944011.895 0, 1043573.313 944014.451 0, 1043849.077 944017.024 0, 1044124.841 944019.613 0, 1044400.605 944022.218 0, 1044676.368 944024.84 0, 1044952.132 944027.477 0,
+ 1045227.895 944030.131 0, 1045503.658 944032.801 0, 1045779.421 944035.488 0, 1046055.184 944038.19 0, 1046329.62 944040.896 0, 1046606.709 944043.644 0, 1046882.471 944046.396 0, 1047158.233 944049.163 0, 1047433.995 944051.947 0, 1047709.757 944054.747 0,
+ 1047985.519 944057.563 0, 1048261.28 944060.395 0, 1048537.041 944063.244 0, 1048812.802 944066.109 0, 1049088.563 944068.99 0, 1049364.324 944071.888 0, 1049640.085 944074.801 0, 1049915.845 944077.731 0, 1050191.605 944080.677 0, 1050467.365 944083.639 0,
+ 1050743.125 944086.618 0, 1051018.885 944089.613 0, 1051294.645 944092.624 0, 1051570.404 944095.651 0, 1051846.163 944098.694 0, 1052121.922 944101.754 0, 1052397.681 944104.83 0, 1052673.44 944107.922 0, 1052947.872 944111.015 0, 1053010.921 938532.124 0,
+ 1053073.968 932953.362 0))
+
+POLYGON ((1066184.048 944279.3 0, 1065909.623 944275.432 0, 1065633.874 944271.56 0, 1065358.125 944267.706 0, 1065082.376 944263.867 0, 1064806.627 944260.044 0, 1064530.877 944256.238 0, 1064255.127 944252.448 0, 1063979.377 944248.674 0, 1063703.626 944244.917 0,
+ 1063427.876 944241.175 0, 1063152.125 944237.45 0, 1062876.374 944233.741 0, 1062600.623 944230.049 0, 1062324.871 944226.372 0, 1062049.119 944222.712 0, 1061773.367 944219.068 0, 1061497.615 944215.44 0, 1061221.863 944211.829 0, 1060946.11 944208.233 0,
+ 1060670.358 944204.654 0, 1060394.605 944201.091 0, 1060118.851 944197.545 0, 1059843.098 944194.015 0, 1059566.02 944190.484 0, 1059291.591 944187.003 0, 1059015.837 944183.521 0, 1058740.082 944180.055 0, 1058464.328 944176.606 0, 1058188.573 944173.173 0,
+ 1057912.819 944169.756 0, 1057637.063 944166.356 0, 1057361.308 944162.972 0, 1057085.553 944159.604 0, 1056809.797 944156.252 0, 1056534.041 944152.916 0, 1056258.285 944149.597 0, 1055982.529 944146.294 0, 1055706.773 944143.007 0, 1055431.016 944139.736 0,
+ 1055155.259 944136.482 0, 1054879.502 944133.243 0, 1054603.745 944130.021 0, 1054327.988 944126.816 0, 1054052.23 944123.626 0, 1053776.473 944120.453 0, 1053500.715 944117.296 0, 1053224.957 944114.155 0, 1052947.872 944111.015 0, 1052884.823 949690.034 0,
+ 1052821.772 955269.174 0, 1053098.196 955272.307 0, 1053373.297 955275.44 0, 1053648.398 955278.589 0, 1053923.499 955281.755 0, 1054198.6 955284.937 0, 1054473.701 955288.135 0, 1054748.801 955291.35 0, 1055023.901 955294.58 0, 1055299.001 955297.827 0,
+ 1055574.101 955301.09 0, 1055849.201 955304.369 0, 1056124.3 955307.664 0, 1056399.4 955310.975 0, 1056674.499 955314.303 0, 1056949.598 955317.647 0, 1057224.696 955321.007 0, 1057499.795 955324.383 0, 1057774.893 955327.776 0, 1058049.991 955331.184 0,
+ 1058325.089 955334.609 0, 1058600.187 955338.05 0, 1058875.284 955341.507 0, 1059150.382 955344.981 0, 1059424.157 955348.453 0, 1059700.576 955351.976 0, 1059975.672 955355.498 0, 1060250.769 955359.036 0, 1060525.865 955362.59 0, 1060800.961 955366.161 0,
+ 1061076.057 955369.748 0, 1061351.152 955373.351 0, 1061626.248 955376.97 0, 1061901.343 955380.605 0, 1062176.438 955384.256 0, 1062451.533 955387.924 0, 1062726.627 955391.608 0, 1063001.722 955395.308 0, 1063276.816 955399.024 0, 1063551.91 955402.757 0,
+ 1063827.003 955406.505 0, 1064102.097 955410.27 0, 1064377.19 955414.051 0, 1064652.283 955417.848 0, 1064927.376 955421.662 0, 1065202.468 955425.491 0, 1065477.561 955429.337 0, 1065752.653 955433.199 0, 1066026.424 955437.059 0, 1066105.237 949858.118 0,
+ 1066184.048 944279.3 0))
+
+POLYGON ((1079230.549 955642.248 0, 1078956.788 955637.615 0, 1078681.708 955632.976 0, 1078406.627 955628.353 0, 1078131.547 955623.746 0, 1077856.466 955619.155 0, 1077581.385 955614.581 0, 1077306.303 955610.023 0, 1077031.222 955605.481 0, 1076756.14 955600.955 0,
+ 1076481.057 955596.445 0, 1076205.975 955591.952 0, 1075930.892 955587.475 0, 1075655.809 955583.014 0, 1075380.726 955578.569 0, 1075105.642 955574.14 0, 1074830.558 955569.728 0, 1074555.474 955565.331 0, 1074280.39 955560.951 0, 1074005.305 955556.587 0,
+ 1073730.221 955552.24 0, 1073455.135 955547.908 0, 1073180.05 955543.593 0, 1072904.964 955539.294 0, 1072628.559 955534.99 0, 1072354.792 955530.744 0, 1072079.706 955526.493 0, 1071804.619 955522.259 0, 1071529.533 955518.041 0, 1071254.445 955513.839 0,
+ 1070979.358 955509.653 0, 1070704.271 955505.483 0, 1070429.183 955501.33 0, 1070154.095 955497.193 0, 1069879.006 955493.072 0, 1069603.918 955488.967 0, 1069328.829 955484.878 0, 1069053.74 955480.806 0, 1068778.65 955476.749 0, 1068503.561 955472.709 0,
+ 1068228.471 955468.686 0, 1067953.381 955464.678 0, 1067678.291 955460.686 0, 1067403.2 955456.711 0, 1067128.11 955452.752 0, 1066853.019 955448.809 0, 1066577.928 955444.882 0, 1066302.836 955440.972 0, 1066026.424 955437.059 0, 1065947.609 961016.117 0,
+ 1065868.793 966595.291 0, 1066144.545 966599.194 0, 1066418.98 966603.095 0, 1066693.414 966607.013 0, 1066967.849 966610.946 0, 1067242.283 966614.896 0, 1067516.716 966618.862 0, 1067791.15 966622.844 0, 1068065.583 966626.842 0, 1068340.016 966630.856 0,
+ 1068614.449 966634.887 0, 1068888.882 966638.933 0, 1069163.314 966642.996 0, 1069437.746 966647.075 0, 1069712.178 966651.17 0, 1069986.609 966655.281 0, 1070261.041 966659.408 0, 1070535.472 966663.552 0, 1070809.903 966667.712 0, 1071084.333 966671.887 0,
+ 1071358.764 966676.079 0, 1071633.194 966680.287 0, 1071907.624 966684.512 0, 1072182.053 966688.752 0, 1072455.167 966692.988 0, 1072730.912 966697.281 0, 1073005.341 966701.57 0, 1073279.769 966705.875 0, 1073554.198 966710.197 0, 1073828.626 966714.534 0,
+ 1074103.054 966718.887 0, 1074377.481 966723.257 0, 1074651.909 966727.643 0, 1074926.336 966732.045 0, 1075200.763 966736.463 0, 1075475.189 966740.897 0, 1075749.615 966745.347 0, 1076024.041 966749.814 0, 1076298.467 966754.297 0, 1076572.893 966758.796 0,
+ 1076847.318 966763.311 0, 1077121.743 966767.842 0, 1077396.168 966772.389 0, 1077670.592 966776.952 0, 1077945.016 966781.532 0, 1078219.44 966786.128 0, 1078493.864 966790.74 0, 1078768.287 966795.368 0, 1079041.395 966799.99 0, 1079135.973 961221.062 0,
+ 1079230.549 955642.248 0))
+
+POLYGON ((1092213.366 967041.903 0, 1091940.27 967036.51 0, 1091665.861 967031.106 0, 1091391.452 967025.719 0, 1091117.042 967020.348 0, 1090842.632 967014.993 0, 1090568.221 967009.654 0, 1090293.81 967004.332 0, 1090019.399 966999.025 0, 1089744.988 966993.735 0,
+ 1089470.576 966988.461 0, 1089196.164 966983.203 0, 1088921.752 966977.961 0, 1088647.339 966972.735 0, 1088372.926 966967.526 0, 1088098.513 966962.333 0, 1087824.1 966957.155 0, 1087549.686 966951.994 0, 1087275.272 966946.849 0, 1087000.857 966941.721 0,
+ 1086726.442 966936.608 0, 1086452.027 966931.511 0, 1086177.612 966926.431 0, 1085903.196 966921.367 0, 1085627.466 966916.295 0, 1085354.364 966911.287 0, 1085079.947 966906.271 0, 1084805.531 966901.272 0, 1084531.113 966896.288 0, 1084256.696 966891.321 0,
+ 1083982.278 966886.37 0, 1083707.86 966881.435 0, 1083433.442 966876.516 0, 1083159.023 966871.614 0, 1082884.604 966866.727 0, 1082610.185 966861.857 0, 1082335.766 966857.003 0, 1082061.346 966852.165 0, 1081786.926 966847.343 0, 1081512.506 966842.537 0,
+ 1081238.085 966837.747 0, 1080963.664 966832.974 0, 1080689.243 966828.217 0, 1080414.822 966823.475 0, 1080140.4 966818.75 0, 1079865.978 966814.042 0, 1079591.556 966809.349 0, 1079317.133 966804.672 0, 1079041.395 966799.99 0, 1078946.815 972379.028 0,
+ 1078852.233 977958.173 0, 1079127.312 977962.845 0, 1079401.077 977967.51 0, 1079674.843 977972.192 0, 1079948.608 977976.889 0, 1080222.373 977981.603 0, 1080496.138 977986.333 0, 1080769.902 977991.078 0, 1081043.666 977995.841 0, 1081317.43 978000.619 0,
+ 1081591.194 978005.413 0, 1081864.957 978010.223 0, 1082138.72 978015.05 0, 1082412.483 978019.892 0, 1082686.245 978024.751 0, 1082960.007 978029.626 0, 1083233.769 978034.517 0, 1083507.531 978039.424 0, 1083781.292 978044.347 0, 1084055.053 978049.286 0,
+ 1084328.814 978054.241 0, 1084602.574 978059.213 0, 1084876.334 978064.201 0, 1085150.094 978069.204 0, 1085422.543 978074.2 0, 1085697.613 978079.26 0, 1085971.372 978084.312 0, 1086245.13 978089.38 0, 1086518.889 978094.465 0, 1086792.647 978099.565 0,
+ 1087066.405 978104.681 0, 1087340.162 978109.814 0, 1087613.919 978114.963 0, 1087887.676 978120.128 0, 1088161.432 978125.309 0, 1088435.189 978130.506 0, 1088708.945 978135.719 0, 1088982.7 978140.948 0, 1089256.455 978146.193 0, 1089530.21 978151.455 0,
+ 1089803.965 978156.733 0, 1090077.72 978162.026 0, 1090351.474 978167.336 0, 1090625.227 978172.662 0, 1090898.981 978178.004 0, 1091172.734 978183.362 0, 1091446.487 978188.737 0, 1091720.239 978194.127 0, 1091992.681 978199.508 0, 1092103.025 972620.652 0,
+ 1092213.366 967041.903 0))
+
+POLYGON ((1105132.395 978477.965 0, 1104859.967 978471.815 0, 1104586.231 978465.651 0, 1104312.494 978459.504 0, 1104038.757 978453.372 0, 1103765.02 978447.256 0, 1103491.283 978441.157 0, 1103217.545 978435.074 0, 1102943.806 978429.007 0, 1102670.068 978422.956 0,
+ 1102396.329 978416.921 0, 1102122.589 978410.902 0, 1101848.85 978404.899 0, 1101575.109 978398.913 0, 1101301.369 978392.942 0, 1101027.628 978386.988 0, 1100753.887 978381.05 0, 1100480.146 978375.128 0, 1100206.404 978369.222 0, 1099932.662 978363.332 0,
+ 1099658.919 978357.458 0, 1099385.176 978351.6 0, 1099111.433 978345.759 0, 1098837.689 978339.933 0, 1098562.637 978334.096 0, 1098290.201 978328.331 0, 1098016.457 978322.554 0, 1097742.712 978316.793 0, 1097468.966 978311.048 0, 1097195.221 978305.319 0,
+ 1096921.475 978299.606 0, 1096647.729 978293.91 0, 1096373.982 978288.229 0, 1096100.235 978282.565 0, 1095826.488 978276.917 0, 1095552.74 978271.285 0, 1095278.992 978265.669 0, 1095005.244 978260.069 0, 1094731.495 978254.485 0, 1094457.746 978248.917 0,
+ 1094183.997 978243.366 0, 1093910.247 978237.83 0, 1093636.498 978232.311 0, 1093362.747 978226.808 0, 1093088.997 978221.321 0, 1092815.246 978215.85 0, 1092541.495 978210.395 0, 1092267.743 978204.956 0, 1091992.681 978199.508 0, 1091882.336 983778.465 0,
+ 1091771.989 989357.521 0, 1092046.39 989362.957 0, 1092319.485 989368.383 0, 1092592.58 989373.824 0, 1092865.674 989379.282 0, 1093138.768 989384.756 0, 1093411.861 989390.246 0, 1093684.954 989395.752 0, 1093958.047 989401.274 0, 1094231.14 989406.813 0,
+ 1094504.232 989412.367 0, 1094777.324 989417.937 0, 1095050.415 989423.524 0, 1095323.506 989429.126 0, 1095596.597 989434.745 0, 1095869.688 989440.38 0, 1096142.778 989446.03 0, 1096415.868 989451.697 0, 1096688.958 989457.38 0, 1096962.047 989463.079 0,
+ 1097235.136 989468.794 0, 1097508.224 989474.525 0, 1097781.312 989480.272 0, 1098054.4 989486.035 0, 1098326.182 989491.787 0, 1098600.575 989497.61 0, 1098873.662 989503.422 0, 1099146.748 989509.249 0, 1099419.835 989515.093 0, 1099692.92 989520.952 0,
+ 1099966.006 989526.828 0, 1100239.091 989532.72 0, 1100512.176 989538.628 0, 1100785.26 989544.552 0, 1101058.344 989550.492 0, 1101331.428 989556.448 0, 1101604.511 989562.42 0, 1101877.594 989568.409 0, 1102150.677 989574.413 0, 1102423.759 989580.433 0,
+ 1102696.841 989586.47 0, 1102969.923 989592.522 0, 1103243.004 989598.591 0, 1103516.085 989604.676 0, 1103789.166 989610.777 0, 1104062.246 989616.893 0, 1104335.326 989623.026 0, 1104608.405 989629.175 0, 1104880.18 989635.311 0, 1105006.289 984056.589 0,
+ 1105132.395 978477.965 0))
+
+POLYGON ((1117987.534 989950.133 0, 1117715.776 989943.229 0, 1117442.715 989936.309 0, 1117169.653 989929.404 0, 1116896.591 989922.516 0, 1116623.529 989915.644 0, 1116350.466 989908.787 0, 1116077.403 989901.947 0, 1115804.34 989895.123 0, 1115531.276 989888.315 0,
+ 1115258.212 989881.523 0, 1114985.147 989874.748 0, 1114712.082 989867.988 0, 1114439.017 989861.244 0, 1114165.951 989854.516 0, 1113892.885 989847.805 0, 1113619.818 989841.109 0, 1113346.751 989834.43 0, 1113073.684 989827.767 0, 1112800.616 989821.119 0,
+ 1112527.548 989814.488 0, 1112254.479 989807.873 0, 1111981.41 989801.274 0, 1111708.341 989794.691 0, 1111433.968 989788.093 0, 1111162.201 989781.573 0, 1110889.131 989775.039 0, 1110616.06 989768.52 0, 1110342.989 989762.017 0, 1110069.917 989755.531 0,
+ 1109796.845 989749.06 0, 1109523.772 989742.606 0, 1109250.7 989736.168 0, 1108977.627 989729.745 0, 1108704.553 989723.339 0, 1108431.479 989716.949 0, 1108158.405 989710.575 0, 1107885.33 989704.217 0, 1107612.255 989697.875 0, 1107339.18 989691.55 0,
+ 1107066.104 989685.24 0, 1106793.028 989678.946 0, 1106519.951 989672.669 0, 1106246.874 989666.407 0, 1105973.797 989660.162 0, 1105700.719 989653.932 0, 1105427.641 989647.719 0, 1105154.563 989641.522 0, 1104880.18 989635.311 0, 1104754.069 995214.127 0,
+ 1104627.956 1000793.033 0, 1104901.679 1000799.229 0, 1105174.101 1000805.411 0, 1105446.522 1000811.61 0, 1105718.943 1000817.824 0, 1105991.363 1000824.054 0, 1106263.784 1000830.301 0, 1106536.203 1000836.563 0, 1106808.623 1000842.842 0, 1107081.042 1000849.136 0,
+ 1107353.461 1000855.447 0, 1107625.879 1000861.774 0, 1107898.297 1000868.116 0, 1108170.715 1000874.475 0, 1108443.132 1000880.85 0, 1108715.549 1000887.24 0, 1108987.965 1000893.647 0, 1109260.381 1000900.07 0, 1109532.797 1000906.509 0, 1109805.212 1000912.964 0,
+ 1110077.627 1000919.435 0, 1110350.042 1000925.922 0, 1110622.456 1000932.425 0, 1110894.87 1000938.944 0, 1111165.983 1000945.448 0, 1111439.696 1000952.03 0, 1111712.109 1000958.597 0, 1111984.521 1000965.18 0, 1112256.933 1000971.779 0, 1112529.344 1000978.395 0,
+ 1112801.756 1000985.026 0, 1113074.166 1000991.673 0, 1113346.577 1000998.337 0, 1113618.986 1001005.016 0, 1113891.396 1001011.711 0, 1114163.805 1001018.423 0, 1114436.214 1001025.15 0, 1114708.622 1001031.894 0, 1114981.03 1001038.653 0, 1115253.438 1001045.429 0,
+ 1115525.845 1001052.221 0, 1115798.252 1001059.028 0, 1116070.658 1001065.852 0, 1116343.064 1001072.692 0, 1116615.469 1001079.547 0, 1116887.874 1001086.419 0, 1117160.279 1001093.307 0, 1117432.683 1001100.211 0, 1117703.788 1001107.098 0, 1117845.662 995528.57 0,
+ 1117987.534 989950.133 0))
+
+POLYGON ((1130778.681 1001458.102 0, 1130507.595 1001450.449 0, 1130235.211 1001442.776 0, 1129962.827 1001435.119 0, 1129690.442 1001427.477 0, 1129418.057 1001419.852 0, 1129145.672 1001412.243 0, 1128873.286 1001404.65 0, 1128600.899 1001397.072 0, 1128328.513 1001389.511 0,
+ 1128056.125 1001381.966 0, 1127783.737 1001374.437 0, 1127511.349 1001366.924 0, 1127238.961 1001359.427 0, 1126966.572 1001351.946 0, 1126694.182 1001344.481 0, 1126421.792 1001337.032 0, 1126149.402 1001329.599 0, 1125877.011 1001322.182 0, 1125604.62 1001314.781 0,
+ 1125332.228 1001307.396 0, 1125059.836 1001300.028 0, 1124787.443 1001292.675 0, 1124515.05 1001285.338 0, 1124241.359 1001277.983 0, 1123970.263 1001270.713 0, 1123697.869 1001263.424 0, 1123425.474 1001256.151 0, 1123153.079 1001248.895 0, 1122880.683 1001241.654 0,
+ 1122608.287 1001234.43 0, 1122335.891 1001227.221 0, 1122063.494 1001220.029 0, 1121791.097 1001212.853 0, 1121518.699 1001205.692 0, 1121246.301 1001198.548 0, 1120973.902 1001191.42 0, 1120701.503 1001184.307 0, 1120429.104 1001177.211 0, 1120156.704 1001170.131 0,
+ 1119884.304 1001163.067 0, 1119611.903 1001156.019 0, 1119339.502 1001148.986 0, 1119067.101 1001141.97 0, 1118794.699 1001134.97 0, 1118522.297 1001127.986 0, 1118249.894 1001121.018 0, 1117977.491 1001114.066 0, 1117703.788 1001107.098 0, 1117561.912 1006685.711 0,
+ 1117420.034 1012264.406 0, 1117693.077 1012271.358 0, 1117964.823 1012278.293 0, 1118236.569 1012285.245 0, 1118508.315 1012292.212 0, 1118780.06 1012299.195 0, 1119051.805 1012306.194 0, 1119323.549 1012313.209 0, 1119595.293 1012320.24 0, 1119867.036 1012327.288 0,
+ 1120138.78 1012334.351 0, 1120410.522 1012341.43 0, 1120682.265 1012348.525 0, 1120954.006 1012355.636 0, 1121225.748 1012362.763 0, 1121497.489 1012369.906 0, 1121769.229 1012377.065 0, 1122040.97 1012384.24 0, 1122312.709 1012391.432 0, 1122584.449 1012398.639 0,
+ 1122856.188 1012405.862 0, 1123127.926 1012413.101 0, 1123399.664 1012420.356 0, 1123671.402 1012427.627 0, 1123941.844 1012434.879 0, 1124214.876 1012442.217 0, 1124486.612 1012449.536 0, 1124758.348 1012456.871 0, 1125030.083 1012464.222 0, 1125301.818 1012471.589 0,
+ 1125573.553 1012478.972 0, 1125845.287 1012486.371 0, 1126117.021 1012493.786 0, 1126388.754 1012501.217 0, 1126660.487 1012508.664 0, 1126932.219 1012516.127 0, 1127203.951 1012523.606 0, 1127475.683 1012531.101 0, 1127747.414 1012538.612 0, 1128019.145 1012546.139 0,
+ 1128290.875 1012553.682 0, 1128562.605 1012561.241 0, 1128834.334 1012568.816 0, 1129106.063 1012576.407 0, 1129377.791 1012584.014 0, 1129649.519 1012591.637 0, 1129921.247 1012599.275 0, 1130192.974 1012606.93 0, 1130463.407 1012614.565 0, 1130621.045 1007036.293 0,
+ 1130778.681 1001458.102 0))
+
+POLYGON ((1143505.738 1013001.572 0, 1143235.326 1012993.173 0, 1142963.621 1012984.751 0, 1142691.917 1012976.344 0, 1142420.211 1012967.954 0, 1142148.505 1012959.579 0, 1141876.799 1012951.22 0, 1141605.092 1012942.878 0, 1141333.385 1012934.551 0, 1141061.677 1012926.241 0,
+ 1140789.969 1012917.946 0, 1140518.26 1012909.667 0, 1140246.551 1012901.405 0, 1139974.841 1012893.158 0, 1139703.131 1012884.928 0, 1139431.42 1012876.713 0, 1139159.709 1012868.514 0, 1138887.997 1012860.332 0, 1138616.285 1012852.165 0, 1138344.572 1012844.014 0,
+ 1138072.859 1012835.879 0, 1137801.145 1012827.761 0, 1137529.431 1012819.658 0, 1137257.717 1012811.571 0, 1136984.709 1012803.462 0, 1136714.286 1012795.446 0, 1136442.57 1012787.407 0, 1136170.854 1012779.384 0, 1135899.137 1012771.378 0, 1135627.419 1012763.387 0,
+ 1135355.702 1012755.412 0, 1135083.983 1012747.453 0, 1134812.264 1012739.511 0, 1134540.545 1012731.584 0, 1134268.825 1012723.673 0, 1133997.105 1012715.778 0, 1133725.385 1012707.899 0, 1133453.663 1012700.037 0, 1133181.942 1012692.19 0, 1132910.22 1012684.359 0,
+ 1132638.497 1012676.544 0, 1132366.774 1012668.745 0, 1132095.051 1012660.962 0, 1131823.327 1012653.196 0, 1131551.602 1012645.445 0, 1131279.878 1012637.71 0, 1131008.152 1012629.991 0, 1130736.427 1012622.288 0, 1130463.407 1012614.565 0, 1130305.766 1018192.914 0,
+ 1130148.123 1023771.338 0, 1130420.484 1023779.042 0, 1130691.553 1023786.727 0, 1130962.621 1023794.427 0, 1131233.689 1023802.143 0, 1131504.757 1023809.875 0, 1131775.824 1023817.623 0, 1132046.891 1023825.387 0, 1132317.957 1023833.167 0, 1132589.023 1023840.963 0,
+ 1132860.089 1023848.775 0, 1133131.154 1023856.603 0, 1133402.218 1023864.447 0, 1133673.282 1023872.307 0, 1133944.346 1023880.182 0, 1134215.409 1023888.074 0, 1134486.471 1023895.982 0, 1134757.534 1023903.905 0, 1135028.595 1023911.845 0, 1135299.657 1023919.8 0,
+ 1135570.717 1023927.772 0, 1135841.778 1023935.759 0, 1136112.837 1023943.762 0, 1136383.897 1023951.782 0, 1136653.666 1023959.779 0, 1136926.014 1023967.868 0, 1137197.072 1023975.935 0, 1137468.129 1023984.018 0, 1137739.186 1023992.118 0, 1138010.243 1024000.233 0,
+ 1138281.299 1024008.364 0, 1138552.354 1024016.51 0, 1138823.41 1024024.673 0, 1139094.464 1024032.852 0, 1139365.518 1024041.047 0, 1139636.572 1024049.258 0, 1139907.625 1024057.484 0, 1140178.678 1024065.727 0, 1140449.73 1024073.986 0, 1140720.782 1024082.26 0,
+ 1140991.833 1024090.551 0, 1141262.883 1024098.857 0, 1141533.934 1024107.18 0, 1141804.983 1024115.518 0, 1142076.033 1024123.872 0, 1142347.081 1024132.243 0, 1142618.13 1024140.629 0, 1142889.177 1024149.031 0, 1143158.936 1024157.409 0, 1143332.338 1018579.454 0,
+ 1143505.738 1013001.572 0))
+
+POLYGON ((1156168.606 1024580.237 0, 1155898.87 1024571.097 0, 1155627.847 1024561.929 0, 1155356.824 1024552.777 0, 1155085.8 1024543.641 0, 1154814.775 1024534.521 0, 1154543.75 1024525.417 0, 1154272.724 1024516.329 0, 1154001.698 1024507.257 0, 1153730.672 1024498.2 0,
+ 1153459.644 1024489.16 0, 1153188.617 1024480.136 0, 1152917.588 1024471.127 0, 1152646.56 1024462.135 0, 1152375.53 1024453.158 0, 1152104.5 1024444.198 0, 1151833.47 1024435.253 0, 1151562.439 1024426.325 0, 1151291.408 1024417.412 0, 1151020.376 1024408.515 0,
+ 1150749.343 1024399.634 0, 1150478.31 1024390.77 0, 1150207.277 1024381.921 0, 1149936.242 1024373.088 0, 1149663.92 1024364.229 0, 1149394.173 1024355.47 0, 1149123.137 1024346.685 0, 1148852.101 1024337.916 0, 1148581.064 1024329.162 0, 1148310.027 1024320.425 0,
+ 1148038.99 1024311.704 0, 1147767.951 1024302.999 0, 1147496.913 1024294.309 0, 1147225.873 1024285.636 0, 1146954.834 1024276.979 0, 1146683.793 1024268.337 0, 1146412.753 1024259.711 0, 1146141.712 1024251.102 0, 1145870.67 1024242.508 0, 1145599.627 1024233.931 0,
+ 1145328.585 1024225.369 0, 1145057.541 1024216.823 0, 1144786.498 1024208.293 0, 1144515.453 1024199.779 0, 1144244.409 1024191.281 0, 1143973.363 1024182.8 0, 1143702.318 1024174.334 0, 1143431.271 1024165.883 0, 1143158.936 1024157.409 0, 1142985.532 1029735.434 0,
+ 1142812.125 1035313.524 0, 1143083.801 1035321.978 0, 1143354.191 1035330.407 0, 1143624.58 1035338.853 0, 1143894.968 1035347.314 0, 1144165.357 1035355.791 0, 1144435.744 1035364.285 0, 1144706.131 1035372.794 0, 1144976.518 1035381.319 0, 1145246.904 1035389.86 0,
+ 1145517.29 1035398.417 0, 1145787.675 1035406.99 0, 1146058.06 1035415.578 0, 1146328.444 1035424.183 0, 1146598.827 1035432.804 0, 1146869.21 1035441.44 0, 1147139.593 1035450.092 0, 1147409.975 1035458.761 0, 1147680.357 1035467.445 0, 1147950.738 1035476.145 0,
+ 1148221.118 1035484.861 0, 1148491.498 1035493.593 0, 1148761.878 1035502.341 0, 1149032.257 1035511.105 0, 1149301.351 1035519.843 0, 1149573.013 1035528.68 0, 1149843.391 1035537.492 0, 1150113.768 1035546.319 0, 1150384.144 1035555.162 0, 1150654.52 1035564.022 0,
+ 1150924.896 1035572.897 0, 1151195.27 1035581.788 0, 1151465.645 1035590.695 0, 1151736.019 1035599.618 0, 1152006.392 1035608.557 0, 1152276.765 1035617.511 0, 1152547.137 1035626.482 0, 1152817.509 1035635.469 0, 1153087.88 1035644.471 0, 1153358.25 1035653.49 0,
+ 1153628.62 1035662.524 0, 1153898.99 1035671.574 0, 1154169.359 1035680.64 0, 1154439.728 1035689.722 0, 1154710.096 1035698.82 0, 1154980.463 1035707.934 0, 1155250.83 1035717.064 0, 1155521.196 1035726.21 0, 1155790.279 1035735.328 0, 1155979.444 1030157.75 0,
+ 1156168.606 1024580.237 0))
+
+POLYGON ((1168767.189 1036193.796 0, 1168498.131 1036183.917 0, 1168227.792 1036174.008 0, 1167957.452 1036164.114 0, 1167687.111 1036154.236 0, 1167416.77 1036144.375 0, 1167146.428 1036134.529 0, 1166876.086 1036124.699 0, 1166605.743 1036114.885 0, 1166335.399 1036105.087 0,
+ 1166065.055 1036095.304 0, 1165794.71 1036085.538 0, 1165524.365 1036075.788 0, 1165254.019 1036066.053 0, 1164983.673 1036056.335 0, 1164713.326 1036046.632 0, 1164442.979 1036036.945 0, 1164172.63 1036027.274 0, 1163902.282 1036017.62 0, 1163631.933 1036007.981 0,
+ 1163361.583 1035998.357 0, 1163091.232 1035988.75 0, 1162820.881 1035979.159 0, 1162550.53 1035969.584 0, 1162278.896 1035959.979 0, 1162009.825 1035950.481 0, 1161739.472 1035940.953 0, 1161469.118 1035931.441 0, 1161198.764 1035921.946 0, 1160928.409 1035912.466 0,
+ 1160658.054 1035903.002 0, 1160387.698 1035893.554 0, 1160117.341 1035884.122 0, 1159846.984 1035874.705 0, 1159576.627 1035865.305 0, 1159306.268 1035855.921 0, 1159035.91 1035846.552 0, 1158765.55 1035837.199 0, 1158495.191 1035827.863 0, 1158224.83 1035818.542 0,
+ 1157954.469 1035809.237 0, 1157684.108 1035799.948 0, 1157413.746 1035790.675 0, 1157143.383 1035781.418 0, 1156873.02 1035772.177 0, 1156602.656 1035762.952 0, 1156332.292 1035753.742 0, 1156061.927 1035744.549 0, 1155790.279 1035735.328 0, 1155601.112 1041312.966 0,
+ 1155411.943 1046890.662 0, 1155682.932 1046899.86 0, 1155952.64 1046909.031 0, 1156222.348 1046918.218 0, 1156492.055 1046927.421 0, 1156761.762 1046936.64 0, 1157031.468 1046945.875 0, 1157301.173 1046955.125 0, 1157570.878 1046964.392 0, 1157840.582 1046973.674 0,
+ 1158110.286 1046982.972 0, 1158379.989 1046992.286 0, 1158649.692 1047001.616 0, 1158919.394 1047010.962 0, 1159189.096 1047020.323 0, 1159458.797 1047029.701 0, 1159728.498 1047039.094 0, 1159998.197 1047048.503 0, 1160267.897 1047057.928 0, 1160537.596 1047067.369 0,
+ 1160807.294 1047076.826 0, 1161076.992 1047086.299 0, 1161346.689 1047095.788 0, 1161616.386 1047105.292 0, 1161884.803 1047114.767 0, 1162155.777 1047124.349 0, 1162425.472 1047133.901 0, 1162695.167 1047143.469 0, 1162964.86 1047153.053 0, 1163234.554 1047162.652 0,
+ 1163504.246 1047172.268 0, 1163773.938 1047181.899 0, 1164043.63 1047191.547 0, 1164313.321 1047201.21 0, 1164583.011 1047210.889 0, 1164852.701 1047220.584 0, 1165122.39 1047230.295 0, 1165392.079 1047240.022 0, 1165661.767 1047249.764 0, 1165931.455 1047259.523 0,
+ 1166201.142 1047269.297 0, 1166470.828 1047279.087 0, 1166740.514 1047288.893 0, 1167010.199 1047298.715 0, 1167279.884 1047308.553 0, 1167549.568 1047318.407 0, 1167819.252 1047328.276 0, 1168088.935 1047338.162 0, 1168357.339 1047348.016 0, 1168562.265 1041770.877 0,
+ 1168767.189 1036193.796 0))
+
+POLYGON ((1181301.391 1047841.942 0, 1181033.013 1047831.329 0, 1180763.359 1047820.682 0, 1180493.705 1047810.05 0, 1180224.05 1047799.435 0, 1179954.394 1047788.835 0, 1179684.737 1047778.251 0, 1179415.08 1047767.683 0, 1179145.423 1047757.131 0, 1178875.764 1047746.595 0,
+ 1178606.105 1047736.075 0, 1178336.446 1047725.57 0, 1178066.786 1047715.082 0, 1177797.125 1047704.609 0, 1177527.464 1047694.152 0, 1177257.802 1047683.711 0, 1176988.139 1047673.286 0, 1176718.476 1047662.877 0, 1176448.812 1047652.483 0, 1176179.148 1047642.106 0,
+ 1175909.482 1047631.744 0, 1175639.817 1047621.398 0, 1175370.151 1047611.069 0, 1175100.484 1047600.755 0, 1174829.539 1047590.408 0, 1174561.148 1047580.174 0, 1174291.479 1047569.908 0, 1174021.81 1047559.657 0, 1173752.14 1047549.423 0, 1173482.47 1047539.204 0,
+ 1173212.799 1047529.001 0, 1172943.127 1047518.814 0, 1172673.455 1047508.643 0, 1172403.782 1047498.488 0, 1172134.108 1047488.348 0, 1171864.434 1047478.225 0, 1171594.759 1047468.117 0, 1171325.084 1047458.025 0, 1171055.408 1047447.949 0, 1170785.732 1047437.889 0,
+ 1170516.055 1047427.845 0, 1170246.377 1047417.817 0, 1169976.699 1047407.804 0, 1169707.02 1047397.808 0, 1169437.34 1047387.827 0, 1169167.66 1047377.862 0, 1168897.98 1047367.913 0, 1168628.299 1047357.98 0, 1168357.339 1047348.016 0, 1168152.411 1052925.207 0,
+ 1167947.481 1058502.446 0, 1168217.781 1058512.386 0, 1168486.806 1058522.295 0, 1168755.83 1058532.22 0, 1169024.854 1058542.16 0, 1169293.877 1058552.117 0, 1169562.899 1058562.089 0, 1169831.921 1058572.077 0, 1170100.942 1058582.081 0, 1170369.962 1058592.101 0,
+ 1170638.982 1058602.136 0, 1170908.002 1058612.187 0, 1171177.02 1058622.255 0, 1171446.039 1058632.338 0, 1171715.056 1058642.437 0, 1171984.073 1058652.551 0, 1172253.09 1058662.682 0, 1172522.105 1058672.828 0, 1172791.121 1058682.991 0, 1173060.135 1058693.169 0,
+ 1173329.149 1058703.362 0, 1173598.163 1058713.572 0, 1173867.175 1058723.798 0, 1174136.188 1058734.039 0, 1174403.926 1058744.248 0, 1174674.21 1058754.569 0, 1174943.221 1058764.858 0, 1175212.23 1058775.163 0, 1175481.24 1058785.484 0, 1175750.248 1058795.82 0,
+ 1176019.256 1058806.172 0, 1176288.263 1058816.54 0, 1176557.27 1058826.924 0, 1176826.276 1058837.324 0, 1177095.282 1058847.739 0, 1177364.287 1058858.171 0, 1177633.291 1058868.618 0, 1177902.295 1058879.081 0, 1178171.298 1058889.56 0, 1178440.3 1058900.055 0,
+ 1178709.302 1058910.565 0, 1178978.303 1058921.092 0, 1179247.304 1058931.634 0, 1179516.304 1058942.192 0, 1179785.303 1058952.766 0, 1180054.302 1058963.356 0, 1180323.3 1058973.961 0, 1180592.297 1058984.583 0, 1180860.022 1058995.169 0, 1181080.707 1053418.531 0,
+ 1181301.391 1047841.942 0))
+
+POLYGON ((1193771.118 1059524.371 0, 1193503.423 1059513.028 0, 1193234.457 1059501.646 0, 1192965.49 1059490.281 0, 1192696.522 1059478.931 0, 1192427.553 1059467.597 0, 1192158.584 1059456.279 0, 1191889.615 1059444.977 0, 1191620.644 1059433.691 0, 1191351.673 1059422.42 0,
+ 1191082.701 1059411.166 0, 1190813.729 1059399.927 0, 1190544.756 1059388.704 0, 1190275.782 1059377.497 0, 1190006.808 1059366.305 0, 1189737.833 1059355.13 0, 1189468.857 1059343.97 0, 1189199.881 1059332.826 0, 1188930.904 1059321.698 0, 1188661.926 1059310.586 0,
+ 1188392.948 1059299.49 0, 1188123.969 1059288.409 0, 1187854.99 1059277.345 0, 1187586.009 1059266.296 0, 1187315.757 1059255.211 0, 1187048.047 1059244.246 0, 1186779.065 1059233.244 0, 1186510.082 1059222.259 0, 1186241.098 1059211.289 0, 1185972.114 1059200.335 0,
+ 1185703.129 1059189.397 0, 1185434.144 1059178.475 0, 1185165.158 1059167.569 0, 1184896.171 1059156.678 0, 1184627.184 1059145.803 0, 1184358.196 1059134.944 0, 1184089.207 1059124.101 0, 1183820.218 1059113.274 0, 1183551.228 1059102.463 0, 1183282.238 1059091.667 0,
+ 1183013.246 1059080.888 0, 1182744.255 1059070.124 0, 1182475.262 1059059.376 0, 1182206.269 1059048.643 0, 1181937.275 1059037.927 0, 1181668.281 1059027.226 0, 1181399.286 1059016.542 0, 1181130.29 1059005.873 0, 1180860.022 1058995.169 0, 1180639.334 1064571.851 0,
+ 1180418.645 1070148.573 0, 1180688.255 1070159.25 0, 1180956.594 1070169.893 0, 1181224.932 1070180.551 0, 1181493.27 1070191.226 0, 1181761.607 1070201.916 0, 1182029.944 1070212.622 0, 1182298.28 1070223.344 0, 1182566.615 1070234.082 0, 1182834.95 1070244.835 0,
+ 1183103.284 1070255.604 0, 1183371.618 1070266.389 0, 1183639.95 1070277.19 0, 1183908.283 1070288.007 0, 1184176.614 1070298.839 0, 1184444.945 1070309.687 0, 1184713.275 1070320.551 0, 1184981.605 1070331.431 0, 1185249.934 1070342.326 0, 1185518.262 1070353.238 0,
+ 1185786.59 1070364.165 0, 1186054.917 1070375.108 0, 1186323.243 1070386.066 0, 1186591.569 1070397.041 0, 1186858.626 1070407.979 0, 1187128.219 1070419.037 0, 1187396.543 1070430.059 0, 1187664.866 1070441.097 0, 1187933.188 1070452.15 0, 1188201.51 1070463.22 0,
+ 1188469.831 1070474.305 0, 1188738.152 1070485.406 0, 1189006.472 1070496.522 0, 1189274.791 1070507.655 0, 1189543.11 1070518.803 0, 1189811.428 1070529.967 0, 1190079.745 1070541.147 0, 1190348.062 1070552.342 0, 1190616.378 1070563.554 0, 1190884.693 1070574.781 0,
+ 1191153.008 1070586.024 0, 1191421.322 1070597.283 0, 1191689.635 1070608.557 0, 1191957.947 1070619.848 0, 1192226.259 1070631.154 0, 1192494.571 1070642.476 0, 1192762.881 1070653.814 0, 1193031.191 1070665.167 0, 1193298.234 1070676.483 0, 1193534.677 1065100.407 0,
+ 1193771.118 1059524.371 0))
+
+POLYGON ((1206176.279 1071240.778 0, 1205909.268 1071228.708 0, 1205640.991 1071216.596 0, 1205372.713 1071204.501 0, 1205104.435 1071192.421 0, 1204836.156 1071180.356 0, 1204567.876 1071168.308 0, 1204299.596 1071156.276 0, 1204031.315 1071144.259 0, 1203763.033 1071132.258 0,
+ 1203494.75 1071120.273 0, 1203226.467 1071108.303 0, 1202958.183 1071096.35 0, 1202689.899 1071084.412 0, 1202421.613 1071072.49 0, 1202153.327 1071060.583 0, 1201885.041 1071048.693 0, 1201616.753 1071036.818 0, 1201348.465 1071024.959 0, 1201080.176 1071013.116 0,
+ 1200811.887 1071001.289 0, 1200543.596 1070989.478 0, 1200275.305 1070977.682 0, 1200007.014 1070965.902 0, 1199737.455 1070954.082 0, 1199470.429 1070942.39 0, 1199202.135 1070930.657 0, 1198933.841 1070918.94 0, 1198665.545 1070907.239 0, 1198397.25 1070895.554 0,
+ 1198128.953 1070883.885 0, 1197860.656 1070872.231 0, 1197592.358 1070860.593 0, 1197324.06 1070848.971 0, 1197055.761 1070837.365 0, 1196787.461 1070825.775 0, 1196519.16 1070814.2 0, 1196250.859 1070802.641 0, 1195982.557 1070791.098 0, 1195714.254 1070779.571 0,
+ 1195445.951 1070768.06 0, 1195177.647 1070756.564 0, 1194909.343 1070745.084 0, 1194641.037 1070733.62 0, 1194372.731 1070722.172 0, 1194104.425 1070710.739 0, 1193836.117 1070699.323 0, 1193567.809 1070687.922 0, 1193298.234 1070676.483 0, 1193061.789 1076252.594 0,
+ 1192825.343 1081828.736 0, 1193094.259 1081840.147 0, 1193361.911 1081851.52 0, 1193629.562 1081862.908 0, 1193897.212 1081874.313 0, 1194164.861 1081885.733 0, 1194432.51 1081897.169 0, 1194700.159 1081908.621 0, 1194967.806 1081920.089 0, 1195235.453 1081931.572 0,
+ 1195503.099 1081943.071 0, 1195770.745 1081954.586 0, 1196038.39 1081966.116 0, 1196306.034 1081977.663 0, 1196573.677 1081989.225 0, 1196841.32 1082000.803 0, 1197108.962 1082012.396 0, 1197376.604 1082024.005 0, 1197644.244 1082035.63 0, 1197911.884 1082047.271 0,
+ 1198179.524 1082058.928 0, 1198447.163 1082070.6 0, 1198714.801 1082082.288 0, 1198982.438 1082093.992 0, 1199248.811 1082105.656 0, 1199517.71 1082117.447 0, 1199785.346 1082129.198 0, 1200052.98 1082140.965 0, 1200320.614 1082152.748 0, 1200588.247 1082164.546 0,
+ 1200855.88 1082176.36 0, 1201123.512 1082188.19 0, 1201391.143 1082200.035 0, 1201658.773 1082211.897 0, 1201926.403 1082223.774 0, 1202194.032 1082235.667 0, 1202461.66 1082247.575 0, 1202729.288 1082259.5 0, 1202996.915 1082271.44 0, 1203264.541 1082283.396 0,
+ 1203532.166 1082295.367 0, 1203799.791 1082307.355 0, 1204067.415 1082319.358 0, 1204335.038 1082331.377 0, 1204602.661 1082343.411 0, 1204870.283 1082355.462 0, 1205137.904 1082367.528 0, 1205405.525 1082379.61 0, 1205671.883 1082391.65 0, 1205924.081 1076816.199 0,
+ 1206176.279 1071240.778 0))
+
+POLYGON ((1218516.781 1082990.857 0, 1218250.456 1082978.063 0, 1217982.871 1082965.225 0, 1217715.285 1082952.403 0, 1217447.698 1082939.597 0, 1217180.11 1082926.806 0, 1216912.522 1082914.031 0, 1216644.933 1082901.272 0, 1216377.343 1082888.529 0, 1216109.753 1082875.801 0,
+ 1215842.161 1082863.089 0, 1215574.569 1082850.393 0, 1215306.976 1082837.713 0, 1215039.383 1082825.048 0, 1214771.788 1082812.399 0, 1214504.193 1082799.766 0, 1214236.597 1082787.148 0, 1213969.001 1082774.547 0, 1213701.404 1082761.961 0, 1213433.806 1082749.391 0,
+ 1213166.207 1082736.836 0, 1212898.607 1082724.298 0, 1212631.007 1082711.775 0, 1212363.406 1082699.268 0, 1212094.543 1082686.717 0, 1211828.202 1082674.3 0, 1211560.599 1082661.841 0, 1211292.995 1082649.396 0, 1211025.39 1082636.968 0, 1210757.785 1082624.555 0,
+ 1210490.179 1082612.158 0, 1210222.572 1082599.777 0, 1209954.964 1082587.412 0, 1209687.356 1082575.062 0, 1209419.747 1082562.728 0, 1209152.137 1082550.41 0, 1208884.527 1082538.108 0, 1208616.915 1082525.821 0, 1208349.303 1082513.55 0, 1208081.691 1082501.295 0,
+ 1207814.077 1082489.056 0, 1207546.463 1082476.832 0, 1207278.849 1082464.624 0, 1207011.233 1082452.432 0, 1206743.617 1082440.256 0, 1206476 1082428.095 0, 1206208.382 1082415.95 0, 1205940.764 1082403.821 0, 1205671.883 1082391.65 0, 1205419.683 1087967.129 0,
+ 1205167.482 1093542.63 0, 1205435.703 1093554.77 0, 1205702.666 1093566.87 0, 1205969.627 1093578.985 0, 1206236.588 1093591.116 0, 1206503.547 1093603.262 0, 1206770.507 1093615.424 0, 1207037.465 1093627.602 0, 1207304.423 1093639.796 0, 1207571.38 1093652.005 0,
+ 1207838.336 1093664.23 0, 1208105.292 1093676.471 0, 1208372.247 1093688.728 0, 1208639.201 1093701 0, 1208906.154 1093713.288 0, 1209173.107 1093725.592 0, 1209440.059 1093737.911 0, 1209707.01 1093750.246 0, 1209973.961 1093762.597 0, 1210240.911 1093774.963 0,
+ 1210507.86 1093787.346 0, 1210774.808 1093799.743 0, 1211041.756 1093812.157 0, 1211308.703 1093824.586 0, 1211574.391 1093836.973 0, 1211842.595 1093849.492 0, 1212109.539 1093861.969 0, 1212376.483 1093874.461 0, 1212643.426 1093886.969 0, 1212910.369 1093899.493 0,
+ 1213177.311 1093912.032 0, 1213444.252 1093924.587 0, 1213711.192 1093937.158 0, 1213978.132 1093949.744 0, 1214245.07 1093962.346 0, 1214512.008 1093974.964 0, 1214778.946 1093987.598 0, 1215045.882 1094000.247 0, 1215312.818 1094012.912 0, 1215579.753 1094025.593 0,
+ 1215846.688 1094038.289 0, 1216113.621 1094051.002 0, 1216380.554 1094063.729 0, 1216647.486 1094076.473 0, 1216914.417 1094089.232 0, 1217181.348 1094102.007 0, 1217448.278 1094114.798 0, 1217715.207 1094127.604 0, 1217980.879 1094140.366 0, 1218248.83 1088565.6 0,
+ 1218516.781 1082990.857 0))
+
+POLYGON ((1230792.536 1094774.301 0, 1230526.899 1094760.788 0, 1230260.007 1094747.228 0, 1229993.115 1094733.683 0, 1229726.221 1094720.154 0, 1229459.327 1094706.64 0, 1229192.432 1094693.143 0, 1228925.536 1094679.661 0, 1228658.639 1094666.195 0, 1228391.742 1094652.744 0,
+ 1228124.844 1094639.309 0, 1227857.945 1094625.89 0, 1227591.045 1094612.487 0, 1227324.144 1094599.099 0, 1227057.243 1094585.727 0, 1226790.341 1094572.371 0, 1226523.438 1094559.03 0, 1226256.534 1094545.705 0, 1225989.63 1094532.396 0, 1225722.725 1094519.103 0,
+ 1225455.819 1094505.825 0, 1225188.912 1094492.563 0, 1224922.004 1094479.317 0, 1224655.096 1094466.086 0, 1224386.931 1094452.809 0, 1224121.277 1094439.672 0, 1223854.366 1094426.488 0, 1223587.454 1094413.321 0, 1223320.542 1094400.169 0, 1223053.629 1094387.032 0,
+ 1222786.715 1094373.912 0, 1222519.801 1094360.807 0, 1222252.885 1094347.717 0, 1221985.969 1094334.644 0, 1221719.052 1094321.586 0, 1221452.135 1094308.544 0, 1221185.216 1094295.518 0, 1220918.297 1094282.507 0, 1220651.377 1094269.512 0, 1220384.456 1094256.533 0,
+ 1220117.535 1094243.569 0, 1219850.612 1094230.621 0, 1219583.689 1094217.689 0, 1219316.766 1094204.773 0, 1219049.841 1094191.872 0, 1218782.916 1094178.987 0, 1218515.99 1094166.118 0, 1218249.063 1094153.264 0, 1217980.879 1094140.366 0, 1217712.926 1099715.15 0,
+ 1217444.973 1105289.948 0, 1217712.498 1105302.814 0, 1217978.768 1105315.636 0, 1218245.038 1105328.474 0, 1218511.307 1105341.327 0, 1218777.575 1105354.196 0, 1219043.843 1105367.081 0, 1219310.11 1105379.981 0, 1219576.376 1105392.897 0, 1219842.641 1105405.829 0,
+ 1220108.906 1105418.776 0, 1220375.169 1105431.739 0, 1220641.432 1105444.718 0, 1220907.695 1105457.712 0, 1221173.956 1105470.722 0, 1221440.217 1105483.748 0, 1221706.477 1105496.789 0, 1221972.736 1105509.846 0, 1222238.994 1105522.919 0, 1222505.252 1105536.007 0,
+ 1222771.509 1105549.111 0, 1223037.765 1105562.231 0, 1223304.02 1105575.366 0, 1223570.275 1105588.518 0, 1223835.276 1105601.622 0, 1224102.781 1105614.867 0, 1224369.033 1105628.065 0, 1224635.285 1105641.279 0, 1224901.536 1105654.508 0, 1225167.785 1105667.753 0,
+ 1225434.035 1105681.014 0, 1225700.283 1105694.29 0, 1225966.53 1105707.582 0, 1226232.777 1105720.89 0, 1226499.023 1105734.214 0, 1226765.268 1105747.553 0, 1227031.513 1105760.907 0, 1227297.756 1105774.278 0, 1227563.999 1105787.664 0, 1227830.241 1105801.066 0,
+ 1228096.482 1105814.483 0, 1228362.723 1105827.916 0, 1228628.962 1105841.365 0, 1228895.201 1105854.83 0, 1229161.439 1105868.31 0, 1229427.677 1105881.806 0, 1229693.913 1105895.317 0, 1229960.149 1105908.844 0, 1230225.132 1105922.324 0, 1230508.834 1100348.305 0,
+ 1230792.536 1094774.301 0))
+
+POLYGON ((1243003.454 1106590.803 0, 1242738.508 1106576.575 0, 1242472.311 1106562.296 0, 1242206.114 1106548.032 0, 1241939.916 1106533.785 0, 1241673.717 1106519.552 0, 1241407.517 1106505.336 0, 1241141.317 1106491.135 0, 1240875.115 1106476.949 0, 1240608.913 1106462.78 0,
+ 1240342.71 1106448.626 0, 1240076.506 1106434.488 0, 1239810.301 1106420.365 0, 1239544.096 1106406.258 0, 1239277.889 1106392.167 0, 1239011.682 1106378.091 0, 1238745.474 1106364.031 0, 1238479.265 1106349.987 0, 1238213.055 1106335.959 0, 1237946.845 1106321.946 0,
+ 1237680.633 1106307.948 0, 1237414.421 1106293.967 0, 1237148.208 1106280.001 0, 1236881.994 1106266.051 0, 1236614.529 1106252.051 0, 1236349.564 1106238.197 0, 1236083.348 1106224.294 0, 1235817.131 1106210.406 0, 1235550.913 1106196.535 0, 1235284.694 1106182.678 0,
+ 1235018.474 1106168.838 0, 1234752.254 1106155.013 0, 1234486.033 1106141.204 0, 1234219.811 1106127.41 0, 1233953.588 1106113.632 0, 1233687.364 1106099.87 0, 1233421.14 1106086.123 0, 1233154.915 1106072.393 0, 1232888.689 1106058.677 0, 1232622.462 1106044.978 0,
+ 1232356.234 1106031.294 0, 1232090.005 1106017.626 0, 1231823.776 1106003.973 0, 1231557.546 1105990.336 0, 1231291.315 1105976.715 0, 1231025.084 1105963.11 0, 1230758.851 1105949.52 0, 1230492.618 1105935.946 0, 1230225.132 1105922.324 0, 1229941.43 1111496.351 0,
+ 1229657.727 1117070.383 0, 1229924.553 1117083.972 0, 1230190.13 1117097.513 0, 1230455.707 1117111.069 0, 1230721.282 1117124.641 0, 1230986.857 1117138.229 0, 1231252.431 1117151.832 0, 1231518.004 1117165.451 0, 1231783.577 1117179.085 0, 1232049.148 1117192.735 0,
+ 1232314.719 1117206.401 0, 1232580.289 1117220.082 0, 1232845.858 1117233.779 0, 1233111.426 1117247.492 0, 1233376.994 1117261.22 0, 1233642.56 1117274.964 0, 1233908.126 1117288.724 0, 1234173.691 1117302.499 0, 1234439.256 1117316.29 0, 1234704.819 1117330.096 0,
+ 1234970.382 1117343.918 0, 1235235.944 1117357.756 0, 1235501.505 1117371.609 0, 1235767.065 1117385.478 0, 1236031.377 1117399.298 0, 1236298.183 1117413.263 0, 1236563.741 1117427.179 0, 1236829.297 1117441.111 0, 1237094.854 1117455.058 0, 1237360.409 1117469.02 0,
+ 1237625.963 1117482.999 0, 1237891.517 1117496.993 0, 1238157.07 1117511.002 0, 1238422.622 1117525.028 0, 1238688.173 1117539.069 0, 1238953.723 1117553.125 0, 1239219.273 1117567.197 0, 1239484.822 1117581.285 0, 1239750.369 1117595.389 0, 1240015.916 1117609.508 0,
+ 1240281.463 1117623.642 0, 1240547.008 1117637.793 0, 1240812.552 1117651.958 0, 1241078.096 1117666.14 0, 1241343.639 1117680.337 0, 1241609.181 1117694.55 0, 1241874.722 1117708.778 0, 1242140.263 1117723.023 0, 1242404.556 1117737.215 0, 1242704.005 1112164.007 0,
+ 1243003.454 1106590.803 0))
+
+POLYGON ((1255149.45 1118440.057 0, 1254885.196 1118425.117 0, 1254619.697 1118410.123 0, 1254354.197 1118395.145 0, 1254088.696 1118380.182 0, 1253823.194 1118365.234 0, 1253557.692 1118350.303 0, 1253292.188 1118335.386 0, 1253026.684 1118320.486 0, 1252761.179 1118305.601 0,
+ 1252495.673 1118290.732 0, 1252230.166 1118275.878 0, 1251964.658 1118261.04 0, 1251699.149 1118246.218 0, 1251433.64 1118231.411 0, 1251168.129 1118216.62 0, 1250902.618 1118201.845 0, 1250637.106 1118187.085 0, 1250371.593 1118172.341 0, 1250106.079 1118157.612 0,
+ 1249840.564 1118142.899 0, 1249575.048 1118128.202 0, 1249309.532 1118113.52 0, 1249044.014 1118098.854 0, 1248777.251 1118084.135 0, 1248512.977 1118069.569 0, 1248247.457 1118054.95 0, 1247981.936 1118040.346 0, 1247716.415 1118025.759 0, 1247450.892 1118011.186 0,
+ 1247185.369 1117996.63 0, 1246919.844 1117982.089 0, 1246654.319 1117967.563 0, 1246388.793 1117953.053 0, 1246123.267 1117938.559 0, 1245857.739 1117924.081 0, 1245592.21 1117909.618 0, 1245326.681 1117895.171 0, 1245061.151 1117880.739 0, 1244795.62 1117866.323 0,
+ 1244530.088 1117851.923 0, 1244264.555 1117837.538 0, 1243999.021 1117823.169 0, 1243733.487 1117808.815 0, 1243467.952 1117794.477 0, 1243202.416 1117780.155 0, 1242936.879 1117765.849 0, 1242671.341 1117751.558 0, 1242404.556 1117737.215 0, 1242105.107 1123310.424 0,
+ 1241805.658 1128883.629 0, 1242071.783 1128897.936 0, 1242336.665 1128912.191 0, 1242601.546 1128926.463 0, 1242866.426 1128940.75 0, 1243131.305 1128955.052 0, 1243396.184 1128969.37 0, 1243661.061 1128983.704 0, 1243925.938 1128998.053 0, 1244190.814 1129012.418 0,
+ 1244455.689 1129026.798 0, 1244720.563 1129041.194 0, 1244985.437 1129055.605 0, 1245250.309 1129070.033 0, 1245515.181 1129084.475 0, 1245780.051 1129098.934 0, 1246044.921 1129113.408 0, 1246309.79 1129127.897 0, 1246574.659 1129142.402 0, 1246839.526 1129156.923 0,
+ 1247104.393 1129171.459 0, 1247369.258 1129186.011 0, 1247634.123 1129200.579 0, 1247898.987 1129215.162 0, 1248162.608 1129229.692 0, 1248428.712 1129244.374 0, 1248693.574 1129259.004 0, 1248958.434 1129273.65 0, 1249223.294 1129288.311 0, 1249488.153 1129302.987 0,
+ 1249753.011 1129317.679 0, 1250017.868 1129332.387 0, 1250282.724 1129347.111 0, 1250547.579 1129361.849 0, 1250812.434 1129376.604 0, 1251077.287 1129391.374 0, 1251342.14 1129406.16 0, 1251606.992 1129420.961 0, 1251871.843 1129435.778 0, 1252136.693 1129450.61 0,
+ 1252401.542 1129465.458 0, 1252666.39 1129480.322 0, 1252931.238 1129495.201 0, 1253196.085 1129510.096 0, 1253460.93 1129525.007 0, 1253725.775 1129539.933 0, 1253990.619 1129554.874 0, 1254255.462 1129569.831 0, 1254519.064 1129584.734 0, 1254834.257 1124012.397 0,
+ 1255149.45 1118440.057 0))
+
+POLYGON ((1267230.438 1130321.754 0, 1266966.878 1130306.107 0, 1266702.078 1130290.401 0, 1266437.277 1130274.711 0, 1266172.476 1130259.037 0, 1265907.673 1130243.379 0, 1265642.87 1130227.736 0, 1265378.065 1130212.108 0, 1265113.26 1130196.496 0, 1264848.454 1130180.9 0,
+ 1264583.647 1130165.32 0, 1264318.838 1130149.754 0, 1264054.03 1130134.205 0, 1263789.22 1130118.671 0, 1263524.409 1130103.153 0, 1263259.597 1130087.65 0, 1262994.784 1130072.163 0, 1262729.971 1130056.691 0, 1262465.156 1130041.235 0, 1262200.341 1130025.795 0,
+ 1261935.525 1130010.37 0, 1261670.708 1129994.961 0, 1261405.89 1129979.567 0, 1261141.071 1129964.189 0, 1260875.011 1129948.755 0, 1260611.43 1129933.48 0, 1260346.608 1129918.149 0, 1260081.786 1129902.833 0, 1259816.962 1129887.533 0, 1259552.138 1129872.248 0,
+ 1259287.312 1129856.979 0, 1259022.486 1129841.726 0, 1258757.659 1129826.488 0, 1258492.831 1129811.266 0, 1258228.002 1129796.06 0, 1257963.173 1129780.869 0, 1257698.342 1129765.693 0, 1257433.51 1129750.533 0, 1257168.678 1129735.389 0, 1256903.844 1129720.26 0,
+ 1256639.01 1129705.147 0, 1256374.175 1129690.05 0, 1256109.339 1129674.968 0, 1255844.502 1129659.902 0, 1255579.664 1129644.851 0, 1255314.826 1129629.816 0, 1255049.986 1129614.796 0, 1254785.146 1129599.793 0, 1254519.064 1129584.734 0, 1254203.871 1135157.062 0,
+ 1253888.679 1140729.377 0, 1254154.102 1140744.398 0, 1254418.287 1140759.365 0, 1254682.47 1140774.347 0, 1254946.653 1140789.345 0, 1255210.835 1140804.358 0, 1255475.016 1140819.387 0, 1255739.196 1140834.432 0, 1256003.375 1140849.492 0, 1256267.553 1140864.568 0,
+ 1256531.731 1140879.659 0, 1256795.907 1140894.766 0, 1257060.083 1140909.888 0, 1257324.258 1140925.026 0, 1257588.432 1140940.179 0, 1257852.604 1140955.348 0, 1258116.777 1140970.532 0, 1258380.948 1140985.732 0, 1258645.118 1141000.948 0, 1258909.287 1141016.179 0,
+ 1259173.456 1141031.426 0, 1259437.624 1141046.688 0, 1259701.79 1141061.966 0, 1259965.956 1141077.259 0, 1260228.884 1141092.496 0, 1260494.285 1141107.892 0, 1260758.448 1141123.232 0, 1261022.61 1141138.588 0, 1261286.771 1141153.959 0, 1261550.932 1141169.345 0,
+ 1261815.091 1141184.748 0, 1262079.25 1141200.165 0, 1262343.408 1141215.598 0, 1262607.564 1141231.047 0, 1262871.72 1141246.512 0, 1263135.875 1141261.991 0, 1263400.029 1141277.487 0, 1263664.182 1141292.998 0, 1263928.334 1141308.524 0, 1264192.486 1141324.066 0,
+ 1264456.636 1141339.624 0, 1264720.785 1141355.197 0, 1264984.934 1141370.786 0, 1265249.082 1141386.39 0, 1265513.228 1141402.01 0, 1265777.374 1141417.645 0, 1266041.519 1141433.296 0, 1266305.663 1141448.963 0, 1266568.57 1141464.571 0, 1266899.504 1135893.169 0,
+ 1267230.438 1130321.754 0))
+
+POLYGON ((1279246.334 1142235.586 0, 1278983.47 1142219.234 0, 1278719.371 1142202.822 0, 1278455.271 1142186.425 0, 1278191.171 1142170.043 0, 1277927.069 1142153.677 0, 1277662.967 1142137.327 0, 1277398.863 1142120.992 0, 1277134.759 1142104.672 0, 1276870.654 1142088.369 0,
+ 1276606.547 1142072.08 0, 1276342.44 1142055.808 0, 1276078.332 1142039.55 0, 1275814.223 1142023.309 0, 1275550.112 1142007.083 0, 1275286.001 1141990.872 0, 1275021.889 1141974.677 0, 1274757.776 1141958.498 0, 1274493.662 1141942.334 0, 1274229.547 1141926.185 0,
+ 1273965.432 1141910.052 0, 1273701.315 1141893.935 0, 1273437.197 1141877.833 0, 1273173.078 1141861.747 0, 1272907.724 1141845.602 0, 1272644.838 1141829.621 0, 1272380.717 1141813.582 0, 1272116.594 1141797.558 0, 1271852.471 1141781.549 0, 1271588.346 1141765.556 0,
+ 1271324.221 1141749.579 0, 1271060.095 1141733.617 0, 1270795.968 1141717.671 0, 1270531.84 1141701.74 0, 1270267.71 1141685.825 0, 1270003.58 1141669.925 0, 1269739.45 1141654.041 0, 1269475.318 1141638.173 0, 1269211.185 1141622.32 0, 1268947.051 1141606.482 0,
+ 1268682.916 1141590.66 0, 1268418.781 1141574.854 0, 1268154.644 1141559.063 0, 1267890.507 1141543.288 0, 1267626.369 1141527.528 0, 1267362.229 1141511.784 0, 1267098.089 1141496.055 0, 1266833.948 1141480.342 0, 1266568.57 1141464.571 0, 1266237.638 1147035.956 0,
+ 1265906.707 1152607.319 0, 1266171.425 1152623.05 0, 1266434.911 1152638.725 0, 1266698.395 1152654.414 0, 1266961.879 1152670.119 0, 1267225.361 1152685.84 0, 1267488.843 1152701.576 0, 1267752.323 1152717.328 0, 1268015.803 1152733.095 0, 1268279.282 1152748.877 0,
+ 1268542.76 1152764.675 0, 1268806.237 1152780.489 0, 1269069.713 1152796.318 0, 1269333.188 1152812.163 0, 1269596.662 1152828.023 0, 1269860.136 1152843.899 0, 1270123.608 1152859.79 0, 1270387.079 1152875.697 0, 1270650.55 1152891.619 0, 1270914.019 1152907.557 0,
+ 1271177.488 1152923.51 0, 1271440.955 1152939.478 0, 1271704.422 1152955.463 0, 1271967.888 1152971.462 0, 1272230.121 1152987.403 0, 1272494.816 1153003.508 0, 1272758.279 1153019.555 0, 1273021.741 1153035.616 0, 1273285.202 1153051.694 0, 1273548.662 1153067.787 0,
+ 1273812.122 1153083.895 0, 1274075.58 1153100.019 0, 1274339.037 1153116.158 0, 1274602.493 1153132.313 0, 1274865.949 1153148.483 0, 1275129.403 1153164.669 0, 1275392.856 1153180.87 0, 1275656.309 1153197.087 0, 1275919.76 1153213.319 0, 1276183.211 1153229.567 0,
+ 1276446.661 1153245.83 0, 1276710.109 1153262.109 0, 1276973.557 1153278.404 0, 1277237.004 1153294.714 0, 1277500.449 1153311.039 0, 1277763.894 1153327.38 0, 1278027.338 1153343.736 0, 1278290.781 1153360.108 0, 1278552.993 1153376.419 0, 1278899.663 1147806.013 0,
+ 1279246.334 1142235.586 0))
+
+POLYGON ((1291197.055 1154181.244 0, 1290934.889 1154164.192 0, 1290671.493 1154147.076 0, 1290408.097 1154129.976 0, 1290144.699 1154112.891 0, 1289881.3 1154095.821 0, 1289617.901 1154078.767 0, 1289354.5 1154061.728 0, 1289091.099 1154044.705 0, 1288827.696 1154027.698 0,
+ 1288564.292 1154010.706 0, 1288300.888 1153993.729 0, 1288037.482 1153976.768 0, 1287774.076 1153959.822 0, 1287510.668 1153942.892 0, 1287247.259 1153925.978 0, 1286983.85 1153909.079 0, 1286720.439 1153892.195 0, 1286457.028 1153875.327 0, 1286193.615 1153858.475 0,
+ 1285930.201 1153841.638 0, 1285666.787 1153824.816 0, 1285403.371 1153808.01 0, 1285139.955 1153791.22 0, 1284875.308 1153774.366 0, 1284613.119 1153757.685 0, 1284349.699 1153740.941 0, 1284086.279 1153724.213 0, 1283822.857 1153707.499 0, 1283559.435 1153690.802 0,
+ 1283296.012 1153674.12 0, 1283032.587 1153657.454 0, 1282769.162 1153640.803 0, 1282505.735 1153624.167 0, 1282242.308 1153607.547 0, 1281978.88 1153590.943 0, 1281715.45 1153574.354 0, 1281452.02 1153557.78 0, 1281188.589 1153541.222 0, 1280925.157 1153524.68 0,
+ 1280661.723 1153508.153 0, 1280398.289 1153491.641 0, 1280134.854 1153475.145 0, 1279871.418 1153458.665 0, 1279607.981 1153442.2 0, 1279344.543 1153425.751 0, 1279081.104 1153409.317 0, 1278817.664 1153392.898 0, 1278552.993 1153376.419 0, 1278206.325 1158946.798 0,
+ 1277859.658 1164517.146 0, 1278123.67 1164533.584 0, 1278386.455 1164549.962 0, 1278649.238 1164566.355 0, 1278912.02 1164582.763 0, 1279174.802 1164599.187 0, 1279437.582 1164615.627 0, 1279700.362 1164632.081 0, 1279963.14 1164648.552 0, 1280225.918 1164665.038 0,
+ 1280488.694 1164681.539 0, 1280751.47 1164698.056 0, 1281014.244 1164714.588 0, 1281277.018 1164731.135 0, 1281539.791 1164747.699 0, 1281802.562 1164764.277 0, 1282065.333 1164780.871 0, 1282328.103 1164797.481 0, 1282590.871 1164814.106 0, 1282853.639 1164830.746 0,
+ 1283116.406 1164847.402 0, 1283379.172 1164864.074 0, 1283641.936 1164880.76 0, 1283904.7 1164897.463 0, 1284166.237 1164914.103 0, 1284430.225 1164930.914 0, 1284692.986 1164947.663 0, 1284955.746 1164964.427 0, 1285218.505 1164981.206 0, 1285481.263 1164998.002 0,
+ 1285744.019 1165014.812 0, 1286006.775 1165031.638 0, 1286269.53 1165048.48 0, 1286532.284 1165065.337 0, 1286795.037 1165082.209 0, 1287057.789 1165099.097 0, 1287320.54 1165116.001 0, 1287583.29 1165132.919 0, 1287846.039 1165149.854 0, 1288108.787 1165166.803 0,
+ 1288371.534 1165183.769 0, 1288634.28 1165200.749 0, 1288897.025 1165217.746 0, 1289159.769 1165234.757 0, 1289422.512 1165251.784 0, 1289685.254 1165268.827 0, 1289947.995 1165285.885 0, 1290210.735 1165302.958 0, 1290472.249 1165319.968 0, 1290834.651 1159750.621 0,
+ 1291197.055 1154181.244 0))
+
+POLYGON ((1303082.521 1166158.419 0, 1302821.054 1166140.671 0, 1302558.364 1166122.855 0, 1302295.672 1166105.055 0, 1302032.979 1166087.27 0, 1301770.285 1166069.501 0, 1301507.59 1166051.747 0, 1301244.895 1166034.009 0, 1300982.198 1166016.286 0, 1300719.5 1165998.578 0,
+ 1300456.801 1165980.886 0, 1300194.1 1165963.21 0, 1299931.399 1165945.549 0, 1299668.697 1165927.903 0, 1299405.994 1165910.273 0, 1299143.29 1165892.658 0, 1298880.584 1165875.059 0, 1298617.878 1165857.475 0, 1298355.171 1165839.907 0, 1298092.462 1165822.354 0,
+ 1297829.753 1165804.817 0, 1297567.043 1165787.295 0, 1297304.331 1165769.788 0, 1297041.619 1165752.297 0, 1296777.681 1165734.74 0, 1296516.19 1165717.361 0, 1296253.475 1165699.917 0, 1295990.758 1165682.488 0, 1295728.041 1165665.074 0, 1295465.322 1165647.676 0,
+ 1295202.602 1165630.293 0, 1294939.882 1165612.926 0, 1294677.16 1165595.574 0, 1294414.437 1165578.237 0, 1294151.713 1165560.917 0, 1293888.989 1165543.611 0, 1293626.263 1165526.321 0, 1293363.536 1165509.047 0, 1293100.808 1165491.787 0, 1292838.079 1165474.544 0,
+ 1292575.349 1165457.316 0, 1292312.618 1165440.103 0, 1292049.886 1165422.906 0, 1291787.154 1165405.724 0, 1291524.42 1165388.558 0, 1291261.685 1165371.407 0, 1290998.949 1165354.272 0, 1290736.212 1165337.152 0, 1290472.249 1165319.968 0, 1290109.849 1170889.278 0,
+ 1289747.452 1176458.549 0, 1290010.756 1176475.69 0, 1290272.837 1176492.767 0, 1290534.918 1176509.86 0, 1290796.997 1176526.968 0, 1291059.075 1176544.091 0, 1291321.153 1176561.23 0, 1291583.229 1176578.384 0, 1291845.304 1176595.554 0, 1292107.379 1176612.739 0,
+ 1292369.452 1176629.94 0, 1292631.524 1176647.156 0, 1292893.596 1176664.387 0, 1293155.666 1176681.634 0, 1293417.735 1176698.896 0, 1293679.803 1176716.174 0, 1293941.87 1176733.467 0, 1294203.937 1176750.776 0, 1294466.002 1176768.1 0, 1294728.066 1176785.439 0,
+ 1294990.129 1176802.794 0, 1295252.191 1176820.164 0, 1295514.252 1176837.55 0, 1295776.312 1176854.951 0, 1296037.151 1176872.286 0, 1296300.429 1176889.799 0, 1296562.486 1176907.247 0, 1296824.542 1176924.709 0, 1297086.597 1176942.188 0, 1297348.651 1176959.681 0,
+ 1297610.704 1176977.19 0, 1297872.756 1176994.715 0, 1298134.807 1177012.255 0, 1298396.856 1177029.81 0, 1298658.905 1177047.381 0, 1298920.953 1177064.967 0, 1299182.999 1177082.569 0, 1299445.045 1177100.186 0, 1299707.09 1177117.818 0, 1299969.133 1177135.466 0,
+ 1300231.176 1177153.129 0, 1300493.217 1177170.808 0, 1300755.258 1177188.502 0, 1301017.297 1177206.212 0, 1301279.335 1177223.937 0, 1301541.373 1177241.677 0, 1301803.409 1177259.433 0, 1302065.444 1177277.204 0, 1302326.259 1177294.908 0, 1302704.389 1171726.684 0,
+ 1303082.521 1166158.419 0))
+
+POLYGON ((1314902.652 1178166.802 0, 1314641.887 1178148.361 0, 1314379.903 1178129.849 0, 1314117.918 1178111.353 0, 1313855.932 1178092.873 0, 1313593.944 1178074.407 0, 1313331.956 1178055.958 0, 1313069.967 1178037.523 0, 1312807.976 1178019.104 0, 1312545.985 1178000.701 0,
+ 1312283.992 1177982.313 0, 1312021.998 1177963.94 0, 1311760.004 1177945.583 0, 1311498.008 1177927.241 0, 1311236.011 1177908.914 0, 1310974.013 1177890.603 0, 1310712.014 1177872.308 0, 1310450.013 1177854.027 0, 1310188.012 1177835.763 0, 1309926.01 1177817.513 0,
+ 1309664.006 1177799.279 0, 1309402.002 1177781.061 0, 1309139.996 1177762.858 0, 1308877.99 1177744.67 0, 1308614.763 1177726.414 0, 1308353.973 1177708.341 0, 1308091.963 1177690.2 0, 1307829.952 1177672.074 0, 1307567.94 1177653.963 0, 1307305.927 1177635.868 0,
+ 1307043.913 1177617.788 0, 1306781.898 1177599.724 0, 1306519.882 1177581.675 0, 1306257.865 1177563.642 0, 1305995.846 1177545.624 0, 1305733.827 1177527.621 0, 1305471.806 1177509.634 0, 1305209.785 1177491.662 0, 1304947.762 1177473.706 0, 1304685.738 1177455.765 0,
+ 1304423.714 1177437.84 0, 1304161.688 1177419.93 0, 1303899.661 1177402.035 0, 1303637.633 1177384.156 0, 1303375.604 1177366.292 0, 1303113.574 1177348.443 0, 1302851.543 1177330.611 0, 1302589.511 1177312.793 0, 1302326.259 1177294.908 0, 1301948.132 1182863.088 0,
+ 1301570.008 1188431.218 0, 1301832.602 1188449.058 0, 1302093.979 1188466.831 0, 1302355.354 1188484.619 0, 1302616.729 1188502.423 0, 1302878.102 1188520.242 0, 1303139.475 1188538.076 0, 1303400.846 1188555.926 0, 1303662.217 1188573.792 0, 1303923.586 1188591.672 0,
+ 1304184.954 1188609.568 0, 1304446.321 1188627.48 0, 1304707.687 1188645.406 0, 1304969.052 1188663.349 0, 1305230.416 1188681.306 0, 1305491.779 1188699.279 0, 1305753.141 1188717.267 0, 1306014.502 1188735.271 0, 1306275.862 1188753.29 0, 1306537.22 1188771.325 0,
+ 1306798.578 1188789.375 0, 1307059.935 1188807.44 0, 1307321.29 1188825.521 0, 1307582.645 1188843.617 0, 1307842.783 1188861.644 0, 1308105.35 1188879.855 0, 1308366.702 1188897.997 0, 1308628.052 1188916.154 0, 1308889.401 1188934.327 0, 1309150.749 1188952.516 0,
+ 1309412.096 1188970.719 0, 1309673.442 1188988.938 0, 1309934.787 1189007.173 0, 1310196.13 1189025.423 0, 1310457.473 1189043.688 0, 1310718.815 1189061.969 0, 1310980.155 1189080.265 0, 1311241.495 1189098.576 0, 1311502.833 1189116.903 0, 1311764.17 1189135.245 0,
+ 1312025.506 1189153.602 0, 1312286.842 1189171.975 0, 1312548.176 1189190.363 0, 1312809.509 1189208.767 0, 1313070.84 1189227.186 0, 1313332.171 1189245.621 0, 1313593.501 1189264.07 0, 1313854.83 1189282.536 0, 1314114.943 1189300.93 0, 1314508.796 1183733.891 0,
+ 1314902.652 1178166.802 0))
+
+POLYGON ((1326657.37 1190206.081 0, 1326397.308 1190186.951 0, 1326136.033 1190167.748 0, 1325874.756 1190148.56 0, 1325613.478 1190129.387 0, 1325352.2 1190110.23 0, 1325090.92 1190091.088 0, 1324829.639 1190071.962 0, 1324568.356 1190052.85 0, 1324307.073 1190033.755 0,
+ 1324045.789 1190014.674 0, 1323784.503 1189995.609 0, 1323523.216 1189976.56 0, 1323261.929 1189957.525 0, 1323000.64 1189938.507 0, 1322739.35 1189919.503 0, 1322478.059 1189900.515 0, 1322216.766 1189881.542 0, 1321955.473 1189862.585 0, 1321694.178 1189843.643 0,
+ 1321432.883 1189824.716 0, 1321171.586 1189805.805 0, 1320910.288 1189786.909 0, 1320648.989 1189768.029 0, 1320386.476 1189749.076 0, 1320126.388 1189730.314 0, 1319865.086 1189711.48 0, 1319603.782 1189692.661 0, 1319342.478 1189673.857 0, 1319081.172 1189655.069 0,
+ 1318819.866 1189636.296 0, 1318558.558 1189617.539 0, 1318297.249 1189598.797 0, 1318035.939 1189580.07 0, 1317774.628 1189561.359 0, 1317513.316 1189542.663 0, 1317252.002 1189523.983 0, 1316990.688 1189505.317 0, 1316729.372 1189486.668 0, 1316468.056 1189468.033 0,
+ 1316206.738 1189449.414 0, 1315945.419 1189430.811 0, 1315684.099 1189412.222 0, 1315422.778 1189393.65 0, 1315161.456 1189375.092 0, 1314900.133 1189356.55 0, 1314638.809 1189338.023 0, 1314377.483 1189319.512 0, 1314114.943 1189300.93 0, 1313721.094 1194867.916 0,
+ 1313327.248 1200434.843 0, 1313589.131 1200453.378 0, 1313849.801 1200471.843 0, 1314110.47 1200490.323 0, 1314371.138 1200508.819 0, 1314631.804 1200527.329 0, 1314892.47 1200545.856 0, 1315153.135 1200564.397 0, 1315413.798 1200582.954 0, 1315674.461 1200601.527 0,
+ 1315935.122 1200620.114 0, 1316195.782 1200638.717 0, 1316456.441 1200657.336 0, 1316717.099 1200675.969 0, 1316977.756 1200694.618 0, 1317238.412 1200713.283 0, 1317499.067 1200731.962 0, 1317759.72 1200750.657 0, 1318020.373 1200769.368 0, 1318281.024 1200788.093 0,
+ 1318541.675 1200806.834 0, 1318802.324 1200825.591 0, 1319062.972 1200844.363 0, 1319323.619 1200863.15 0, 1319583.055 1200881.865 0, 1319844.91 1200900.77 0, 1320105.554 1200919.603 0, 1320366.196 1200938.451 0, 1320626.838 1200957.315 0, 1320887.478 1200976.194 0,
+ 1321148.117 1200995.089 0, 1321408.755 1201013.999 0, 1321669.392 1201032.924 0, 1321930.028 1201051.864 0, 1322190.663 1201070.82 0, 1322451.297 1201089.791 0, 1322711.929 1201108.778 0, 1322972.561 1201127.78 0, 1323233.191 1201146.797 0, 1323493.82 1201165.829 0,
+ 1323754.448 1201184.877 0, 1324015.075 1201203.94 0, 1324275.701 1201223.019 0, 1324536.326 1201242.113 0, 1324796.95 1201261.222 0, 1325057.572 1201280.347 0, 1325318.193 1201299.487 0, 1325578.814 1201318.642 0, 1325838.224 1201337.724 0, 1326247.795 1195771.932 0,
+ 1326657.37 1190206.081 0))
+
+POLYGON ((1338346.598 1202275.947 0, 1338087.241 1202256.132 0, 1337826.676 1202236.241 0, 1337566.11 1202216.364 0, 1337305.542 1202196.504 0, 1337044.974 1202176.658 0, 1336784.404 1202156.828 0, 1336523.833 1202137.013 0, 1336263.261 1202117.214 0, 1336002.688 1202097.43 0,
+ 1335742.114 1202077.661 0, 1335481.538 1202057.907 0, 1335220.961 1202038.169 0, 1334960.383 1202018.447 0, 1334699.804 1201998.739 0, 1334439.224 1201979.047 0, 1334178.643 1201959.37 0, 1333918.06 1201939.709 0, 1333657.477 1201920.063 0, 1333396.892 1201900.432 0,
+ 1333136.306 1201880.817 0, 1332875.719 1201861.217 0, 1332615.13 1201841.632 0, 1332354.541 1201822.062 0, 1332092.742 1201802.418 0, 1331833.358 1201782.97 0, 1331572.766 1201763.446 0, 1331312.172 1201743.938 0, 1331051.576 1201724.446 0, 1330790.98 1201704.968 0,
+ 1330530.382 1201685.506 0, 1330269.784 1201666.059 0, 1330009.184 1201646.628 0, 1329748.583 1201627.212 0, 1329487.981 1201607.811 0, 1329227.378 1201588.426 0, 1328966.774 1201569.056 0, 1328706.168 1201549.701 0, 1328445.561 1201530.362 0, 1328184.954 1201511.038 0,
+ 1327924.345 1201491.729 0, 1327663.735 1201472.436 0, 1327403.124 1201453.158 0, 1327142.511 1201433.896 0, 1326881.898 1201414.648 0, 1326621.283 1201395.416 0, 1326360.668 1201376.2 0, 1326100.051 1201356.998 0, 1325838.224 1201337.724 0, 1325428.657 1206903.452 0,
+ 1325019.096 1212469.113 0, 1325280.265 1212488.339 0, 1325540.226 1212507.492 0, 1325800.187 1212526.66 0, 1326060.146 1212545.844 0, 1326320.105 1212565.043 0, 1326580.062 1212584.257 0, 1326840.018 1212603.487 0, 1327099.973 1212622.731 0, 1327359.926 1212641.992 0,
+ 1327619.879 1212661.267 0, 1327879.83 1212680.558 0, 1328139.781 1212699.864 0, 1328399.73 1212719.185 0, 1328659.678 1212738.522 0, 1328919.625 1212757.873 0, 1329179.571 1212777.241 0, 1329439.515 1212796.623 0, 1329699.459 1212816.021 0, 1329959.401 1212835.434 0,
+ 1330219.343 1212854.863 0, 1330479.283 1212874.306 0, 1330739.222 1212893.765 0, 1330999.159 1212913.24 0, 1331257.891 1212932.639 0, 1331519.032 1212952.234 0, 1331778.966 1212971.754 0, 1332038.899 1212991.29 0, 1332298.831 1213010.841 0, 1332558.762 1213030.407 0,
+ 1332818.692 1213049.988 0, 1333078.62 1213069.585 0, 1333338.548 1213089.197 0, 1333598.474 1213108.824 0, 1333858.399 1213128.467 0, 1334118.323 1213148.124 0, 1334378.246 1213167.798 0, 1334638.168 1213187.486 0, 1334898.088 1213207.19 0, 1335158.008 1213226.909 0,
+ 1335417.926 1213246.643 0, 1335677.843 1213266.393 0, 1335937.759 1213286.158 0, 1336197.673 1213305.938 0, 1336457.587 1213325.734 0, 1336717.499 1213345.545 0, 1336977.41 1213365.371 0, 1337237.32 1213385.212 0, 1337496.026 1213404.977 0, 1337921.309 1207840.496 0,
+ 1338346.598 1202275.947 0))
+
+POLYGON ((1349970.261 1214376.088 0, 1349711.611 1214355.592 0, 1349451.758 1214335.016 0, 1349191.904 1214314.456 0, 1348932.049 1214293.911 0, 1348672.192 1214273.381 0, 1348412.334 1214252.866 0, 1348152.475 1214232.367 0, 1347892.615 1214211.883 0, 1347632.754 1214191.415 0,
+ 1347372.891 1214170.961 0, 1347113.027 1214150.523 0, 1346853.162 1214130.101 0, 1346593.296 1214109.693 0, 1346333.429 1214089.301 0, 1346073.56 1214068.924 0, 1345813.69 1214048.563 0, 1345553.819 1214028.216 0, 1345293.947 1214007.885 0, 1345034.074 1213987.57 0,
+ 1344774.199 1213967.269 0, 1344514.323 1213946.984 0, 1344254.446 1213926.714 0, 1343994.568 1213906.46 0, 1343733.486 1213886.127 0, 1343474.808 1213865.997 0, 1343214.927 1213845.788 0, 1342955.044 1213825.595 0, 1342695.16 1213805.417 0, 1342435.274 1213785.254 0,
+ 1342175.388 1213765.107 0, 1341915.5 1213744.975 0, 1341655.611 1213724.858 0, 1341395.721 1213704.756 0, 1341135.83 1213684.67 0, 1340875.938 1213664.599 0, 1340616.044 1213644.544 0, 1340356.149 1213624.503 0, 1340096.253 1213604.478 0, 1339836.356 1213584.469 0,
+ 1339576.458 1213564.474 0, 1339316.558 1213544.495 0, 1339056.658 1213524.531 0, 1338796.756 1213504.583 0, 1338536.853 1213484.649 0, 1338276.949 1213464.731 0, 1338017.043 1213444.829 0, 1337757.137 1213424.941 0, 1337496.026 1213404.977 0, 1337070.747 1218969.386 0,
+ 1336645.475 1224533.717 0, 1336905.928 1224553.631 0, 1337165.18 1224573.468 0, 1337424.43 1224593.32 0, 1337683.679 1224613.188 0, 1337942.927 1224633.071 0, 1338202.174 1224652.969 0, 1338461.42 1224672.883 0, 1338720.664 1224692.812 0, 1338979.908 1224712.756 0,
+ 1339239.15 1224732.715 0, 1339498.391 1224752.69 0, 1339757.63 1224772.68 0, 1340016.869 1224792.685 0, 1340276.107 1224812.705 0, 1340535.343 1224832.741 0, 1340794.578 1224852.791 0, 1341053.812 1224872.858 0, 1341313.044 1224892.939 0, 1341572.276 1224913.036 0,
+ 1341831.506 1224933.148 0, 1342090.735 1224953.275 0, 1342349.963 1224973.417 0, 1342609.19 1224993.575 0, 1342867.216 1225013.654 0, 1343127.64 1225033.936 0, 1343386.863 1225054.139 0, 1343646.086 1225074.358 0, 1343905.306 1225094.592 0, 1344164.526 1225114.841 0,
+ 1344423.744 1225135.106 0, 1344682.962 1225155.385 0, 1344942.178 1225175.68 0, 1345201.393 1225195.991 0, 1345460.606 1225216.316 0, 1345719.819 1225236.657 0, 1345979.03 1225257.013 0, 1346238.24 1225277.384 0, 1346497.449 1225297.771 0, 1346756.657 1225318.172 0,
+ 1347015.863 1225338.589 0, 1347275.069 1225359.022 0, 1347534.273 1225379.469 0, 1347793.476 1225399.932 0, 1348052.677 1225420.41 0, 1348311.878 1225440.903 0, 1348571.077 1225461.412 0, 1348830.275 1225481.936 0, 1349088.274 1225502.38 0, 1349529.264 1219939.273 0,
+ 1349970.261 1214376.088 0))
+
+POLYGON ((1361528.286 1226506.192 0, 1361270.344 1226485.019 0, 1361011.205 1226463.763 0, 1360752.065 1226442.522 0, 1360492.923 1226421.297 0, 1360233.78 1226400.087 0, 1359974.636 1226378.892 0, 1359715.491 1226357.712 0, 1359456.345 1226336.547 0, 1359197.197 1226315.398 0,
+ 1358938.048 1226294.264 0, 1358678.898 1226273.145 0, 1358419.746 1226252.042 0, 1358160.593 1226230.954 0, 1357901.439 1226209.881 0, 1357642.284 1226188.823 0, 1357383.128 1226167.78 0, 1357123.97 1226146.753 0, 1356864.811 1226125.741 0, 1356605.651 1226104.744 0,
+ 1356346.489 1226083.763 0, 1356087.327 1226062.797 0, 1355828.163 1226041.846 0, 1355568.998 1226020.91 0, 1355308.634 1225999.893 0, 1355050.664 1225979.084 0, 1354791.495 1225958.194 0, 1354532.325 1225937.32 0, 1354273.154 1225916.46 0, 1354013.981 1225895.616 0,
+ 1353754.808 1225874.787 0, 1353495.633 1225853.973 0, 1353236.456 1225833.175 0, 1352977.279 1225812.392 0, 1352718.1 1225791.624 0, 1352458.921 1225770.871 0, 1352199.74 1225750.134 0, 1351940.557 1225729.412 0, 1351681.374 1225708.705 0, 1351422.189 1225688.013 0,
+ 1351163.003 1225667.337 0, 1350903.816 1225646.676 0, 1350644.628 1225626.03 0, 1350385.438 1225605.399 0, 1350126.247 1225584.784 0, 1349867.055 1225564.184 0, 1349607.862 1225543.599 0, 1349348.668 1225523.029 0, 1349088.274 1225502.38 0, 1348647.289 1231065.405 0,
+ 1348206.312 1236628.344 0, 1348466.048 1236648.941 0, 1348724.587 1236669.458 0, 1348983.126 1236689.991 0, 1349241.663 1236710.539 0, 1349500.199 1236731.103 0, 1349758.734 1236751.681 0, 1350017.267 1236772.275 0, 1350275.8 1236792.884 0, 1350534.331 1236813.508 0,
+ 1350792.861 1236834.147 0, 1351051.389 1236854.802 0, 1351309.917 1236875.472 0, 1351568.443 1236896.157 0, 1351826.968 1236916.857 0, 1352085.492 1236937.572 0, 1352344.014 1236958.303 0, 1352602.536 1236979.049 0, 1352861.056 1236999.81 0, 1353119.575 1237020.586 0,
+ 1353378.092 1237041.378 0, 1353636.609 1237062.185 0, 1353895.124 1237083.007 0, 1354153.638 1237103.844 0, 1354410.957 1237124.6 0, 1354670.663 1237145.564 0, 1354929.173 1237166.447 0, 1355187.682 1237187.345 0, 1355446.19 1237208.258 0, 1355704.697 1237229.186 0,
+ 1355963.202 1237250.13 0, 1356221.706 1237271.089 0, 1356480.209 1237292.063 0, 1356738.711 1237313.052 0, 1356997.211 1237334.057 0, 1357255.711 1237355.077 0, 1357514.209 1237376.112 0, 1357772.705 1237397.162 0, 1358031.201 1237418.227 0, 1358289.695 1237439.308 0,
+ 1358548.188 1237460.404 0, 1358806.68 1237481.515 0, 1359065.171 1237502.641 0, 1359323.66 1237523.782 0, 1359582.148 1237544.939 0, 1359840.635 1237566.111 0, 1360099.12 1237587.298 0, 1360357.605 1237608.5 0, 1360614.895 1237629.62 0, 1361071.587 1232067.95 0,
+ 1361528.286 1226506.192 0))
+
+POLYGON ((1373020.599 1238665.949 0, 1372763.368 1238644.102 0, 1372504.945 1238622.17 0, 1372246.52 1238600.252 0, 1371988.094 1238578.35 0, 1371729.667 1238556.463 0, 1371471.238 1238534.592 0, 1371212.808 1238512.735 0, 1370954.377 1238490.894 0, 1370695.945 1238469.068 0,
+ 1370437.511 1238447.257 0, 1370179.076 1238425.461 0, 1369920.64 1238403.681 0, 1369662.202 1238381.916 0, 1369403.763 1238360.166 0, 1369145.323 1238338.431 0, 1368886.882 1238316.712 0, 1368628.439 1238295.007 0, 1368369.995 1238273.318 0, 1368111.55 1238251.644 0,
+ 1367853.104 1238229.985 0, 1367594.656 1238208.342 0, 1367336.207 1238186.714 0, 1367077.756 1238165.101 0, 1366818.113 1238143.403 0, 1366560.852 1238121.92 0, 1366302.398 1238100.353 0, 1366043.942 1238078.8 0, 1365785.486 1238057.263 0, 1365527.028 1238035.742 0,
+ 1365268.569 1238014.235 0, 1365010.108 1237992.744 0, 1364751.647 1237971.268 0, 1364493.184 1237949.807 0, 1364234.719 1237928.361 0, 1363976.254 1237906.93 0, 1363717.787 1237885.515 0, 1363459.319 1237864.115 0, 1363200.85 1237842.73 0, 1362942.379 1237821.36 0,
+ 1362683.907 1237800.006 0, 1362425.434 1237778.667 0, 1362166.96 1237757.343 0, 1361908.484 1237736.034 0, 1361650.008 1237714.74 0, 1361391.529 1237693.462 0, 1361133.05 1237672.199 0, 1360874.57 1237650.951 0, 1360614.895 1237629.62 0, 1360158.21 1243191.199 0,
+ 1359701.534 1248752.681 0, 1359960.551 1248773.958 0, 1360218.377 1248795.152 0, 1360476.201 1248816.361 0, 1360734.025 1248837.586 0, 1360991.847 1248858.825 0, 1361249.668 1248880.08 0, 1361507.487 1248901.35 0, 1361765.306 1248922.635 0, 1362023.123 1248943.936 0,
+ 1362280.939 1248965.251 0, 1362538.754 1248986.582 0, 1362796.567 1249007.928 0, 1363054.379 1249029.289 0, 1363312.19 1249050.665 0, 1363570 1249072.057 0, 1363827.808 1249093.463 0, 1364085.615 1249114.885 0, 1364343.421 1249136.322 0, 1364601.225 1249157.774 0,
+ 1364859.029 1249179.241 0, 1365116.831 1249200.724 0, 1365374.632 1249222.221 0, 1365632.431 1249243.734 0, 1365889.04 1249265.163 0, 1366148.026 1249286.805 0, 1366405.822 1249308.364 0, 1366663.616 1249329.937 0, 1366921.41 1249351.526 0, 1367179.202 1249373.13 0,
+ 1367436.992 1249394.749 0, 1367694.782 1249416.383 0, 1367952.57 1249438.032 0, 1368210.356 1249459.697 0, 1368468.142 1249481.377 0, 1368725.926 1249503.071 0, 1368983.709 1249524.782 0, 1369241.491 1249546.507 0, 1369499.271 1249568.247 0, 1369757.05 1249590.003 0,
+ 1370014.828 1249611.773 0, 1370272.605 1249633.559 0, 1370530.38 1249655.361 0, 1370788.154 1249677.177 0, 1371045.927 1249699.008 0, 1371303.698 1249720.855 0, 1371561.469 1249742.717 0, 1371819.237 1249764.594 0, 1372075.817 1249786.385 0, 1372548.204 1244226.215 0,
+ 1373020.599 1238665.949 0))
+
+POLYGON ((835134.664 768154.623 0, 834849.96 768164.287 0, 834563.846 768174.016 0, 834277.733 768183.761 0, 833991.62 768193.524 0, 833705.508 768203.303 0, 833419.396 768213.099 0, 833133.285 768222.912 0, 832847.174 768232.742 0, 832561.064 768242.589 0,
+ 832274.955 768252.452 0, 831988.846 768262.333 0, 831702.738 768272.23 0, 831416.63 768282.144 0, 831130.523 768292.075 0, 830844.417 768302.023 0, 830558.311 768311.987 0, 830272.206 768321.969 0, 829986.101 768331.967 0, 829699.997 768341.982 0,
+ 829413.893 768352.014 0, 829127.791 768362.063 0, 828841.688 768372.128 0, 828555.586 768382.211 0, 828268.074 768392.36 0, 827983.385 768402.426 0, 827697.285 768412.559 0, 827411.185 768422.709 0, 827125.087 768432.876 0, 826838.989 768443.059 0,
+ 826552.891 768453.26 0, 826266.794 768463.477 0, 825980.698 768473.711 0, 825694.602 768483.962 0, 825408.507 768494.229 0, 825122.412 768504.514 0, 824836.318 768514.815 0, 824550.225 768525.133 0, 824264.132 768535.468 0, 823978.04 768545.82 0,
+ 823691.949 768556.189 0, 823405.858 768566.575 0, 823119.768 768576.977 0, 822833.678 768587.396 0, 822547.589 768597.832 0, 822261.5 768608.285 0, 821975.413 768618.755 0, 821689.325 768629.242 0, 821401.826 768639.797 0, 821606.478 774209.465 0,
+ 821811.138 779779.377 0, 822097.978 779768.846 0, 822383.41 779758.383 0, 822668.842 779747.937 0, 822954.275 779737.508 0, 823239.708 779727.096 0, 823525.142 779716.701 0, 823810.577 779706.322 0, 824096.012 779695.96 0, 824381.448 779685.616 0,
+ 824666.884 779675.287 0, 824952.321 779664.976 0, 825237.759 779654.681 0, 825523.197 779644.404 0, 825808.636 779634.143 0, 826094.076 779623.899 0, 826379.516 779613.671 0, 826664.956 779603.461 0, 826950.398 779593.267 0, 827235.84 779583.09 0,
+ 827521.282 779572.93 0, 827806.725 779562.786 0, 828092.169 779552.66 0, 828377.613 779542.55 0, 828661.649 779532.507 0, 828948.503 779522.381 0, 829233.949 779512.322 0, 829519.396 779502.279 0, 829804.843 779492.253 0, 830090.291 779482.244 0,
+ 830375.739 779472.252 0, 830661.188 779462.277 0, 830946.638 779452.318 0, 831232.088 779442.377 0, 831517.539 779432.452 0, 831802.99 779422.544 0, 832088.442 779412.652 0, 832373.895 779402.778 0, 832659.348 779392.92 0, 832944.801 779383.079 0,
+ 833230.256 779373.255 0, 833515.71 779363.448 0, 833801.166 779353.657 0, 834086.622 779343.883 0, 834372.078 779334.126 0, 834657.535 779324.386 0, 834942.993 779314.663 0, 835228.451 779304.956 0, 835512.503 779295.314 0, 835323.579 773724.847 0,
+ 835134.664 768154.623 0))
+
+POLYGON ((849215.18 778849.963 0, 848931.101 778858.802 0, 848645.616 778867.702 0, 848360.132 778876.619 0, 848074.649 778885.553 0, 847789.166 778894.503 0, 847503.683 778903.47 0, 847218.201 778912.454 0, 846932.72 778921.455 0, 846647.239 778930.473 0,
+ 846361.759 778939.507 0, 846076.279 778948.559 0, 845790.8 778957.627 0, 845505.321 778966.711 0, 845219.843 778975.813 0, 844934.365 778984.932 0, 844648.888 778994.067 0, 844363.412 779003.219 0, 844077.936 779012.388 0, 843792.46 779021.573 0,
+ 843506.985 779030.776 0, 843221.511 779039.995 0, 842936.037 779049.231 0, 842650.564 779058.484 0, 842363.684 779067.799 0, 842079.619 779077.04 0, 841794.147 779086.344 0, 841508.676 779095.664 0, 841223.205 779105 0, 840937.735 779114.354 0,
+ 840652.266 779123.725 0, 840366.797 779133.112 0, 840081.328 779142.516 0, 839795.861 779151.937 0, 839510.393 779161.375 0, 839224.927 779170.829 0, 838939.46 779180.3 0, 838653.995 779189.789 0, 838368.53 779199.293 0, 838083.065 779208.815 0,
+ 837797.601 779218.354 0, 837512.138 779227.909 0, 837226.675 779237.481 0, 836941.213 779247.07 0, 836655.751 779256.676 0, 836370.29 779266.298 0, 836084.83 779275.938 0, 835799.37 779285.594 0, 835512.503 779295.314 0, 835701.435 784866.021 0,
+ 835890.374 790436.964 0, 836176.582 790427.266 0, 836461.386 790417.632 0, 836746.191 790408.015 0, 837030.996 790398.415 0, 837315.802 790388.831 0, 837600.609 790379.264 0, 837885.416 790369.714 0, 838170.223 790360.181 0, 838455.031 790350.664 0,
+ 838739.84 790341.164 0, 839024.649 790331.681 0, 839309.459 790322.215 0, 839594.27 790312.765 0, 839879.08 790303.332 0, 840163.892 790293.916 0, 840448.704 790284.517 0, 840733.517 790275.135 0, 841018.33 790265.769 0, 841303.143 790256.42 0,
+ 841587.958 790247.088 0, 841872.772 790237.772 0, 842157.588 790228.474 0, 842442.404 790219.192 0, 842725.817 790209.972 0, 843012.037 790200.678 0, 843296.855 790191.447 0, 843581.673 790182.232 0, 843866.491 790173.034 0, 844151.31 790163.852 0,
+ 844436.13 790154.688 0, 844720.95 790145.54 0, 845005.771 790136.409 0, 845290.592 790127.295 0, 845575.414 790118.197 0, 845860.236 790109.116 0, 846145.059 790100.052 0, 846429.883 790091.005 0, 846714.707 790081.975 0, 846999.531 790072.961 0,
+ 847284.356 790063.964 0, 847569.182 790054.984 0, 847854.008 790046.021 0, 848138.835 790037.074 0, 848423.662 790028.144 0, 848708.489 790019.231 0, 848993.318 790010.335 0, 849278.146 790001.455 0, 849561.573 789992.636 0, 849388.373 784421.181 0,
+ 849215.18 778849.963 0))
+
+POLYGON ((863233.973 789586.933 0, 862950.52 789594.951 0, 862665.667 789603.026 0, 862380.815 789611.118 0, 862095.963 789619.226 0, 861811.112 789627.351 0, 861526.261 789635.493 0, 861241.411 789643.652 0, 860956.561 789651.827 0, 860671.712 789660.019 0,
+ 860386.863 789668.228 0, 860102.015 789676.454 0, 859817.167 789684.697 0, 859532.32 789692.956 0, 859247.473 789701.232 0, 858962.626 789709.525 0, 858677.781 789717.834 0, 858392.935 789726.161 0, 858108.09 789734.504 0, 857823.246 789742.864 0,
+ 857538.402 789751.24 0, 857253.558 789759.634 0, 856968.715 789768.044 0, 856683.873 789776.471 0, 856397.63 789784.956 0, 856114.19 789793.375 0, 855829.349 789801.852 0, 855544.508 789810.346 0, 855259.668 789818.857 0, 854974.829 789827.384 0,
+ 854689.99 789835.929 0, 854405.151 789844.49 0, 854120.313 789853.067 0, 853835.476 789861.662 0, 853550.639 789870.273 0, 853265.802 789878.901 0, 852980.967 789887.546 0, 852696.131 789896.208 0, 852411.296 789904.886 0, 852126.462 789913.581 0,
+ 851841.628 789922.293 0, 851556.795 789931.022 0, 851271.962 789939.768 0, 850987.129 789948.53 0, 850702.298 789957.309 0, 850417.466 789966.104 0, 850132.635 789974.917 0, 849847.805 789983.746 0, 849561.573 789992.636 0, 849734.781 795564.323 0,
+ 849907.995 801136.239 0, 850193.568 801127.37 0, 850477.742 801118.561 0, 850761.917 801109.768 0, 851046.092 801100.993 0, 851330.268 801092.234 0, 851614.445 801083.492 0, 851898.622 801074.767 0, 852182.799 801066.058 0, 852466.977 801057.366 0,
+ 852751.156 801048.691 0, 853035.335 801040.033 0, 853319.514 801031.391 0, 853603.694 801022.766 0, 853887.875 801014.158 0, 854172.056 801005.566 0, 854456.237 800996.992 0, 854740.419 800988.434 0, 855024.602 800979.892 0, 855308.785 800971.368 0,
+ 855592.969 800962.86 0, 855877.153 800954.369 0, 856161.337 800945.894 0, 856445.522 800937.436 0, 856728.31 800929.037 0, 857013.894 800920.571 0, 857298.08 800912.164 0, 857582.267 800903.773 0, 857866.455 800895.399 0, 858150.643 800887.042 0,
+ 858434.831 800878.701 0, 858719.02 800870.377 0, 859003.21 800862.07 0, 859287.4 800853.779 0, 859571.59 800845.506 0, 859855.781 800837.249 0, 860139.973 800829.009 0, 860424.165 800820.785 0, 860708.357 800812.578 0, 860992.55 800804.388 0,
+ 861276.743 800796.215 0, 861560.937 800788.058 0, 861845.132 800779.918 0, 862129.326 800771.795 0, 862413.522 800763.689 0, 862697.717 800755.599 0, 862981.914 800747.526 0, 863266.11 800739.47 0, 863548.911 800731.47 0, 863391.439 795159.087 0,
+ 863233.973 789586.933 0))
+
+POLYGON ((877190.915 800365.241 0, 876908.091 800372.442 0, 876623.873 800379.695 0, 876339.655 800386.965 0, 876055.438 800394.252 0, 875771.221 800401.555 0, 875487.004 800408.875 0, 875202.788 800416.212 0, 874918.572 800423.566 0, 874634.357 800430.937 0,
+ 874350.142 800438.324 0, 874065.927 800445.728 0, 873781.713 800453.148 0, 873497.5 800460.585 0, 873213.287 800468.039 0, 872929.074 800475.51 0, 872644.862 800482.998 0, 872360.65 800490.502 0, 872076.438 800498.023 0, 871792.228 800505.561 0,
+ 871508.017 800513.115 0, 871223.807 800520.686 0, 870939.597 800528.274 0, 870655.388 800535.879 0, 870369.784 800543.537 0, 870086.971 800551.138 0, 869802.763 800558.793 0, 869518.556 800566.464 0, 869234.349 800574.153 0, 868950.143 800581.858 0,
+ 868665.937 800589.579 0, 868381.731 800597.318 0, 868097.526 800605.073 0, 867813.321 800612.845 0, 867529.117 800620.633 0, 867244.914 800628.439 0, 866960.71 800636.261 0, 866676.508 800644.1 0, 866392.305 800651.955 0, 866108.103 800659.827 0,
+ 865823.902 800667.716 0, 865539.701 800675.622 0, 865255.501 800683.544 0, 864971.301 800691.484 0, 864687.101 800699.439 0, 864402.902 800707.412 0, 864118.703 800715.401 0, 863834.505 800723.407 0, 863548.911 800731.47 0, 863706.389 806304.078 0,
+ 863863.874 811876.907 0, 864148.809 811868.864 0, 864432.351 811860.876 0, 864715.894 811852.905 0, 864999.437 811844.951 0, 865282.98 811837.014 0, 865566.524 811829.093 0, 865850.069 811821.189 0, 866133.614 811813.301 0, 866417.159 811805.43 0,
+ 866700.705 811797.576 0, 866984.251 811789.739 0, 867267.798 811781.918 0, 867551.345 811774.114 0, 867834.893 811766.327 0, 868118.441 811758.556 0, 868401.99 811750.802 0, 868685.539 811743.065 0, 868969.088 811735.345 0, 869252.638 811727.641 0,
+ 869536.189 811719.953 0, 869819.74 811712.283 0, 870103.291 811704.629 0, 870386.843 811696.992 0, 870669.002 811689.409 0, 870953.948 811681.768 0, 871237.501 811674.181 0, 871521.054 811666.61 0, 871804.609 811659.057 0, 872088.163 811651.52 0,
+ 872371.718 811644 0, 872655.273 811636.496 0, 872938.829 811629.009 0, 873222.385 811621.539 0, 873505.942 811614.085 0, 873789.499 811606.648 0, 874073.057 811599.228 0, 874356.615 811591.825 0, 874640.173 811584.438 0, 874923.732 811577.068 0,
+ 875207.291 811569.715 0, 875490.851 811562.378 0, 875774.411 811555.058 0, 876057.972 811547.755 0, 876341.533 811540.468 0, 876625.094 811533.198 0, 876908.656 811525.945 0, 877192.218 811518.708 0, 877474.389 811511.524 0, 877332.65 805938.271 0,
+ 877190.915 800365.241 0))
+
+POLYGON ((891085.883 811184.593 0, 890803.69 811190.981 0, 890520.109 811197.416 0, 890236.528 811203.868 0, 889952.947 811210.337 0, 889669.366 811216.823 0, 889385.786 811223.325 0, 889102.207 811229.844 0, 888818.627 811236.379 0, 888535.048 811242.931 0,
+ 888251.47 811249.5 0, 887967.892 811256.086 0, 887684.314 811262.688 0, 887400.736 811269.307 0, 887117.159 811275.943 0, 886833.583 811282.595 0, 886550.007 811289.265 0, 886266.431 811295.95 0, 885982.855 811302.653 0, 885699.28 811309.372 0,
+ 885415.706 811316.108 0, 885132.132 811322.86 0, 884848.558 811329.63 0, 884564.984 811336.416 0, 884280.021 811343.252 0, 883997.839 811350.038 0, 883714.266 811356.874 0, 883430.695 811363.726 0, 883147.123 811370.596 0, 882863.552 811377.482 0,
+ 882579.981 811384.384 0, 882296.411 811391.304 0, 882012.841 811398.24 0, 881729.272 811405.193 0, 881445.703 811412.162 0, 881162.135 811419.149 0, 880878.566 811426.152 0, 880594.999 811433.171 0, 880311.431 811440.207 0, 880027.864 811447.26 0,
+ 879744.298 811454.33 0, 879460.732 811461.416 0, 879177.166 811468.519 0, 878893.601 811475.639 0, 878610.036 811482.776 0, 878326.472 811489.929 0, 878042.908 811497.099 0, 877759.344 811504.285 0, 877474.389 811511.524 0, 877616.135 817084.994 0,
+ 877757.885 822658.678 0, 878042.181 822651.456 0, 878325.088 822644.287 0, 878607.996 822637.133 0, 878890.904 822629.997 0, 879173.813 822622.877 0, 879456.722 822615.774 0, 879739.632 822608.687 0, 880022.542 822601.617 0, 880305.452 822594.564 0,
+ 880588.363 822587.527 0, 880871.274 822580.507 0, 881154.186 822573.504 0, 881437.098 822566.517 0, 881720.01 822559.547 0, 882002.923 822552.594 0, 882285.837 822545.657 0, 882568.75 822538.737 0, 882851.664 822531.833 0, 883134.579 822524.947 0,
+ 883417.494 822518.076 0, 883700.409 822511.223 0, 883983.325 822504.386 0, 884266.241 822497.566 0, 884547.77 822490.796 0, 884832.074 822483.975 0, 885114.992 822477.205 0, 885397.909 822470.452 0, 885680.827 822463.715 0, 885963.746 822456.994 0,
+ 886246.665 822450.291 0, 886529.584 822443.604 0, 886812.504 822436.934 0, 887095.424 822430.28 0, 887378.344 822423.643 0, 887661.265 822417.023 0, 887944.186 822410.419 0, 888227.108 822403.832 0, 888510.03 822397.261 0, 888792.953 822390.708 0,
+ 889075.875 822384.17 0, 889358.799 822377.65 0, 889641.722 822371.146 0, 889924.646 822364.659 0, 890207.57 822358.189 0, 890490.495 822351.735 0, 890773.42 822345.298 0, 891056.346 822338.877 0, 891337.885 822332.505 0, 891211.882 816758.442 0,
+ 891085.883 811184.593 0))
+
+POLYGON ((904918.752 822044.698 0, 904637.194 822050.275 0, 904354.251 822055.896 0, 904071.309 822061.534 0, 903788.367 822067.189 0, 903505.426 822072.86 0, 903222.485 822078.548 0, 902939.544 822084.252 0, 902656.603 822089.973 0, 902373.663 822095.711 0,
+ 902090.723 822101.465 0, 901807.784 822107.236 0, 901524.845 822113.024 0, 901241.906 822118.829 0, 900958.968 822124.65 0, 900676.029 822130.487 0, 900393.092 822136.342 0, 900110.154 822142.213 0, 899827.217 822148.1 0, 899544.281 822154.005 0,
+ 899261.344 822159.925 0, 898978.408 822165.863 0, 898695.473 822171.817 0, 898412.537 822177.788 0, 898128.217 822183.805 0, 897846.668 822189.78 0, 897563.733 822195.801 0, 897280.8 822201.838 0, 896997.866 822207.893 0, 896714.933 822213.963 0,
+ 896432 822220.051 0, 896149.068 822226.155 0, 895866.135 822232.276 0, 895583.204 822238.413 0, 895300.272 822244.567 0, 895017.341 822250.738 0, 894734.411 822256.925 0, 894451.48 822263.13 0, 894168.55 822269.35 0, 893885.621 822275.588 0,
+ 893602.692 822281.842 0, 893319.763 822288.112 0, 893036.834 822294.4 0, 892753.906 822300.704 0, 892470.979 822307.024 0, 892188.051 822313.361 0, 891905.124 822319.715 0, 891622.198 822326.086 0, 891337.885 822332.505 0, 891463.893 827906.778 0,
+ 891589.906 833481.258 0, 891873.559 833474.854 0, 892155.83 833468.498 0, 892438.101 833462.159 0, 892720.372 833455.837 0, 893002.643 833449.531 0, 893284.915 833443.241 0, 893567.187 833436.969 0, 893849.46 833430.713 0, 894131.733 833424.473 0,
+ 894414.006 833418.25 0, 894696.28 833412.044 0, 894978.554 833405.854 0, 895260.829 833399.681 0, 895543.104 833393.525 0, 895825.379 833387.385 0, 896107.654 833381.262 0, 896389.93 833375.155 0, 896672.206 833369.065 0, 896954.483 833362.992 0,
+ 897236.76 833356.935 0, 897519.037 833350.895 0, 897801.315 833344.871 0, 898083.593 833338.865 0, 898364.489 833332.904 0, 898648.15 833326.901 0, 898930.429 833320.943 0, 899212.709 833315.003 0, 899494.988 833309.079 0, 899777.269 833303.172 0,
+ 900059.549 833297.281 0, 900341.83 833291.407 0, 900624.111 833285.55 0, 900906.393 833279.709 0, 901188.675 833273.885 0, 901470.957 833268.078 0, 901753.239 833262.287 0, 902035.522 833256.512 0, 902317.805 833250.755 0, 902600.089 833245.014 0,
+ 902882.373 833239.289 0, 903164.657 833233.581 0, 903446.942 833227.89 0, 903729.227 833222.215 0, 904011.512 833216.557 0, 904293.797 833210.916 0, 904576.083 833205.291 0, 904858.37 833199.683 0, 905139.275 833194.119 0, 905029.012 827619.305 0,
+ 904918.752 822044.698 0))
+
+POLYGON ((918689.401 832945.26 0, 918408.479 832950.031 0, 918126.178 832954.842 0, 917843.877 832959.669 0, 917561.577 832964.513 0, 917279.277 832969.373 0, 916996.977 832974.25 0, 916714.677 832979.144 0, 916432.378 832984.054 0, 916150.079 832988.981 0,
+ 915867.78 832993.925 0, 915585.482 832998.885 0, 915303.184 833003.862 0, 915020.886 833008.855 0, 914738.589 833013.865 0, 914456.292 833018.892 0, 914173.995 833023.935 0, 913891.698 833028.995 0, 913609.402 833034.071 0, 913327.106 833039.164 0,
+ 913044.81 833044.274 0, 912762.515 833049.4 0, 912480.22 833054.543 0, 912197.925 833059.703 0, 911914.25 833064.904 0, 911633.336 833070.072 0, 911351.042 833075.281 0, 911068.749 833080.507 0, 910786.455 833085.75 0, 910504.162 833091.009 0,
+ 910221.87 833096.285 0, 909939.577 833101.578 0, 909657.285 833106.887 0, 909374.994 833112.212 0, 909092.702 833117.555 0, 908810.411 833122.914 0, 908528.12 833128.289 0, 908245.83 833133.681 0, 907963.54 833139.09 0, 907681.25 833144.515 0,
+ 907398.96 833149.957 0, 907116.671 833155.416 0, 906834.382 833160.891 0, 906552.094 833166.383 0, 906269.806 833171.892 0, 905987.518 833177.417 0, 905705.23 833182.958 0, 905422.943 833188.517 0, 905139.275 833194.119 0, 905249.543 838769.136 0,
+ 905359.814 844344.353 0, 905642.823 844338.763 0, 905924.454 844333.218 0, 906206.085 844327.689 0, 906487.716 844322.177 0, 906769.348 844316.681 0, 907050.981 844311.202 0, 907332.613 844305.74 0, 907614.246 844300.294 0, 907895.879 844294.864 0,
+ 908177.513 844289.452 0, 908459.147 844284.056 0, 908740.781 844278.676 0, 909022.415 844273.313 0, 909304.05 844267.966 0, 909585.685 844262.636 0, 909867.321 844257.323 0, 910148.956 844252.026 0, 910430.592 844246.746 0, 910712.229 844241.483 0,
+ 910993.865 844236.236 0, 911275.502 844231.005 0, 911557.14 844225.791 0, 911838.777 844220.594 0, 912119.038 844215.439 0, 912402.053 844210.249 0, 912683.692 844205.102 0, 912965.331 844199.971 0, 913246.97 844194.856 0, 913528.609 844189.758 0,
+ 913810.249 844184.677 0, 914091.889 844179.613 0, 914373.529 844174.564 0, 914655.17 844169.533 0, 914936.811 844164.518 0, 915218.452 844159.52 0, 915500.093 844154.538 0, 915781.735 844149.573 0, 916063.377 844144.624 0, 916345.019 844139.692 0,
+ 916626.662 844134.776 0, 916908.305 844129.878 0, 917189.948 844124.995 0, 917471.592 844120.13 0, 917753.236 844115.28 0, 918034.88 844110.448 0, 918316.524 844105.632 0, 918598.169 844100.832 0, 918878.438 844096.073 0, 918783.918 838520.567 0,
+ 918689.401 832945.26 0))
+
+POLYGON ((932397.709 843885.986 0, 932117.425 843889.954 0, 931835.768 843893.958 0, 931554.111 843897.978 0, 931272.455 843902.015 0, 930990.798 843906.069 0, 930709.142 843910.139 0, 930427.486 843914.225 0, 930145.831 843918.328 0, 929864.175 843922.448 0,
+ 929582.52 843926.584 0, 929300.865 843930.737 0, 929019.211 843934.907 0, 928737.556 843939.093 0, 928455.902 843943.296 0, 928174.248 843947.515 0, 927892.594 843951.751 0, 927610.941 843956.003 0, 927329.288 843960.272 0, 927047.635 843964.558 0,
+ 926765.982 843968.86 0, 926484.33 843973.178 0, 926202.677 843977.514 0, 925921.026 843981.866 0, 925637.999 843986.255 0, 925357.722 843990.619 0, 925076.071 843995.021 0, 924794.42 843999.439 0, 924512.77 844003.873 0, 924231.119 844008.325 0,
+ 923949.469 844012.793 0, 923667.82 844017.277 0, 923386.17 844021.778 0, 923104.521 844026.296 0, 922822.872 844030.83 0, 922541.223 844035.381 0, 922259.574 844039.948 0, 921977.926 844044.532 0, 921696.278 844049.133 0, 921414.63 844053.75 0,
+ 921132.983 844058.383 0, 920851.336 844063.034 0, 920569.689 844067.7 0, 920288.042 844072.384 0, 920006.396 844077.084 0, 919724.75 844081.8 0, 919443.104 844086.533 0, 919161.459 844091.283 0, 918878.438 844096.073 0, 918972.961 849671.774 0,
+ 919067.488 855247.668 0, 919349.849 855242.89 0, 919630.838 855238.151 0, 919911.828 855233.429 0, 920192.817 855228.723 0, 920473.807 855224.034 0, 920754.798 855219.362 0, 921035.788 855214.706 0, 921316.779 855210.067 0, 921597.77 855205.444 0,
+ 921878.761 855200.837 0, 922159.753 855196.248 0, 922440.745 855191.674 0, 922721.737 855187.118 0, 923002.729 855182.577 0, 923283.722 855178.054 0, 923564.715 855173.547 0, 923845.708 855169.056 0, 924126.702 855164.582 0, 924407.695 855160.125 0,
+ 924688.689 855155.684 0, 924969.684 855151.259 0, 925250.678 855146.851 0, 925531.673 855142.46 0, 925811.296 855138.107 0, 926093.663 855133.727 0, 926374.659 855129.385 0, 926655.654 855125.06 0, 926936.651 855120.752 0, 927217.647 855116.459 0,
+ 927498.643 855112.184 0, 927779.64 855107.925 0, 928060.637 855103.682 0, 928341.635 855099.456 0, 928622.632 855095.247 0, 928903.63 855091.054 0, 929184.628 855086.878 0, 929465.626 855082.718 0, 929746.625 855078.575 0, 930027.624 855074.448 0,
+ 930308.623 855070.338 0, 930589.622 855066.244 0, 930870.621 855062.167 0, 931151.621 855058.107 0, 931432.621 855054.063 0, 931713.621 855050.035 0, 931994.622 855046.024 0, 932275.622 855042.03 0, 932555.253 855038.071 0, 932476.48 849461.933 0,
+ 932397.709 843885.986 0))
+
+POLYGON ((946043.556 854866.581 0, 945763.914 854869.749 0, 945482.903 854872.95 0, 945201.892 854876.167 0, 944920.882 854879.4 0, 944639.871 854882.651 0, 944358.861 854885.917 0, 944077.851 854889.2 0, 943796.842 854892.5 0, 943515.832 854895.816 0,
+ 943234.823 854899.149 0, 942953.814 854902.499 0, 942672.805 854905.865 0, 942391.796 854909.247 0, 942110.788 854912.646 0, 941829.779 854916.061 0, 941548.771 854919.493 0, 941267.763 854922.942 0, 940986.755 854926.407 0, 940705.748 854929.889 0,
+ 940424.741 854933.387 0, 940143.734 854936.902 0, 939862.727 854940.433 0, 939581.72 854943.981 0, 939299.344 854947.563 0, 939019.707 854951.126 0, 938738.701 854954.724 0, 938457.695 854958.338 0, 938176.69 854961.968 0, 937895.684 854965.615 0,
+ 937614.679 854969.279 0, 937333.674 854972.959 0, 937052.669 854976.656 0, 936771.665 854980.369 0, 936490.66 854984.099 0, 936209.656 854987.845 0, 935928.652 854991.608 0, 935647.649 854995.387 0, 935366.645 854999.183 0, 935085.642 855002.996 0,
+ 934804.639 855006.825 0, 934523.636 855010.67 0, 934242.634 855014.532 0, 933961.632 855018.411 0, 933680.629 855022.306 0, 933399.628 855026.218 0, 933118.626 855030.146 0, 932837.625 855034.091 0, 932555.253 855038.071 0, 932634.029 860614.398 0,
+ 932712.808 866190.909 0, 932994.52 866186.938 0, 933274.865 866183.003 0, 933555.21 866179.083 0, 933835.555 866175.181 0, 934115.901 866171.295 0, 934396.247 866167.425 0, 934676.593 866163.572 0, 934956.939 866159.736 0, 935237.286 866155.916 0,
+ 935517.632 866152.112 0, 935797.979 866148.325 0, 936078.327 866144.554 0, 936358.674 866140.8 0, 936639.022 866137.063 0, 936919.37 866133.342 0, 937199.718 866129.637 0, 937480.066 866125.949 0, 937760.415 866122.278 0, 938040.763 866118.623 0,
+ 938321.112 866114.984 0, 938601.462 866111.362 0, 938881.811 866107.756 0, 939162.161 866104.167 0, 939441.144 866100.612 0, 939722.86 866097.039 0, 940003.211 866093.499 0, 940283.561 866089.976 0, 940563.912 866086.47 0, 940844.263 866082.98 0,
+ 941124.614 866079.506 0, 941404.965 866076.049 0, 941685.316 866072.609 0, 941965.668 866069.185 0, 942246.02 866065.777 0, 942526.372 866062.386 0, 942806.724 866059.011 0, 943087.077 866055.653 0, 943367.429 866052.312 0, 943647.782 866048.987 0,
+ 943928.135 866045.678 0, 944208.489 866042.386 0, 944488.842 866039.111 0, 944769.196 866035.852 0, 945049.549 866032.609 0, 945329.904 866029.383 0, 945610.258 866026.174 0, 945890.612 866022.981 0, 946169.602 866019.82 0, 946106.578 860443.108 0,
+ 946043.556 854866.581 0))
+
+POLYGON ((959626.825 865886.748 0, 959347.826 865889.121 0, 959067.463 865891.522 0, 958787.101 865893.94 0, 958506.739 865896.373 0, 958226.377 865898.824 0, 957946.016 865901.291 0, 957665.654 865903.774 0, 957385.293 865906.274 0, 957104.931 865908.791 0,
+ 956824.57 865911.324 0, 956544.209 865913.873 0, 956263.848 865916.439 0, 955983.488 865919.022 0, 955703.127 865921.621 0, 955422.767 865924.236 0, 955142.407 865926.868 0, 954862.047 865929.517 0, 954581.687 865932.182 0, 954301.327 865934.863 0,
+ 954020.967 865937.561 0, 953740.608 865940.276 0, 953460.249 865943.007 0, 953179.889 865945.754 0, 952898.166 865948.531 0, 952619.172 865951.298 0, 952338.813 865954.095 0, 952058.455 865956.909 0, 951778.096 865959.739 0, 951497.738 865962.585 0,
+ 951217.38 865965.448 0, 950937.022 865968.328 0, 950656.665 865971.224 0, 950376.307 865974.136 0, 950095.95 865977.065 0, 949815.593 865980.011 0, 949535.236 865982.973 0, 949254.879 865985.951 0, 948974.523 865988.946 0, 948694.166 865991.958 0,
+ 948413.81 865994.986 0, 948133.454 865998.031 0, 947853.098 866001.092 0, 947572.742 866004.169 0, 947292.387 866007.263 0, 947012.032 866010.374 0, 946731.676 866013.501 0, 946451.321 866016.644 0, 946169.602 866019.82 0, 946232.627 871596.712 0,
+ 946295.655 877173.781 0, 946576.715 877170.613 0, 946856.414 877167.477 0, 947136.112 877164.357 0, 947415.811 877161.254 0, 947695.51 877158.167 0, 947975.209 877155.097 0, 948254.909 877152.043 0, 948534.608 877149.006 0, 948814.308 877145.985 0,
+ 949094.008 877142.98 0, 949373.708 877139.992 0, 949653.408 877137.021 0, 949933.109 877134.066 0, 950212.809 877131.127 0, 950492.51 877128.205 0, 950772.211 877125.299 0, 951051.912 877122.41 0, 951331.613 877119.537 0, 951611.315 877116.681 0,
+ 951891.016 877113.841 0, 952170.718 877111.018 0, 952450.42 877108.211 0, 952730.122 877105.421 0, 953008.464 877102.66 0, 953289.527 877099.889 0, 953569.23 877097.148 0, 953848.932 877094.423 0, 954128.635 877091.715 0, 954408.338 877089.024 0,
+ 954688.042 877086.348 0, 954967.745 877083.69 0, 955247.449 877081.047 0, 955527.152 877078.422 0, 955806.856 877075.812 0, 956086.56 877073.219 0, 956366.264 877070.643 0, 956645.969 877068.083 0, 956925.673 877065.539 0, 957205.378 877063.012 0,
+ 957485.083 877060.502 0, 957764.787 877058.008 0, 958044.493 877055.53 0, 958324.198 877053.069 0, 958603.903 877050.624 0, 958883.609 877048.196 0, 959163.314 877045.784 0, 959443.02 877043.389 0, 959721.366 877041.021 0, 959674.095 871463.796 0,
+ 959626.825 865886.748 0))
+
+POLYGON ((973147.399 876946.192 0, 972869.045 876947.773 0, 972589.334 876949.378 0, 972309.622 876951 0, 972029.911 876952.638 0, 971750.2 876954.292 0, 971470.489 876955.963 0, 971190.778 876957.651 0, 970911.067 876959.355 0, 970631.356 876961.075 0,
+ 970351.646 876962.812 0, 970071.935 876964.565 0, 969792.225 876966.335 0, 969512.514 876968.121 0, 969232.804 876969.924 0, 968953.094 876971.743 0, 968673.384 876973.578 0, 968393.674 876975.431 0, 968113.964 876977.299 0, 967834.254 876979.184 0,
+ 967554.545 876981.085 0, 967274.835 876983.003 0, 966995.126 876984.938 0, 966715.417 876986.889 0, 966434.349 876988.865 0, 966155.999 876990.84 0, 965876.29 876992.84 0, 965596.581 876994.857 0, 965316.872 876996.89 0, 965037.164 876998.939 0,
+ 964757.455 877001.005 0, 964477.747 877003.088 0, 964198.039 877005.187 0, 963918.331 877007.302 0, 963638.623 877009.434 0, 963358.915 877011.583 0, 963079.208 877013.748 0, 962799.5 877015.929 0, 962519.793 877018.127 0, 962240.085 877020.341 0,
+ 961960.378 877022.572 0, 961680.671 877024.819 0, 961400.964 877027.082 0, 961121.258 877029.362 0, 960841.551 877031.659 0, 960561.845 877033.972 0, 960282.138 877036.302 0, 960002.432 877038.647 0, 959721.366 877041.021 0, 959768.639 882618.42 0,
+ 959815.913 888195.987 0, 960096.319 888193.619 0, 960375.369 888191.278 0, 960654.418 888188.954 0, 960933.468 888186.647 0, 961212.518 888184.356 0, 961491.569 888182.081 0, 961770.619 888179.823 0, 962049.669 888177.581 0, 962328.72 888175.355 0,
+ 962607.771 888173.146 0, 962886.822 888170.954 0, 963165.873 888168.777 0, 963444.924 888166.618 0, 963723.975 888164.474 0, 964003.026 888162.347 0, 964282.078 888160.237 0, 964561.129 888158.143 0, 964840.181 888156.065 0, 965119.233 888154.004 0,
+ 965398.285 888151.959 0, 965677.337 888149.931 0, 965956.389 888147.919 0, 966235.441 888145.923 0, 966513.138 888143.954 0, 966793.546 888141.981 0, 967072.599 888140.035 0, 967351.652 888138.105 0, 967630.705 888136.192 0, 967909.758 888134.295 0,
+ 968188.811 888132.414 0, 968467.864 888130.55 0, 968746.917 888128.703 0, 969025.971 888126.871 0, 969305.024 888125.056 0, 969584.078 888123.258 0, 969863.132 888121.476 0, 970142.186 888119.71 0, 970421.24 888117.961 0, 970700.294 888116.229 0,
+ 970979.348 888114.512 0, 971258.402 888112.812 0, 971537.457 888111.129 0, 971816.511 888109.462 0, 972095.566 888107.811 0, 972374.62 888106.177 0, 972653.675 888104.559 0, 972932.73 888102.958 0, 973210.43 888101.381 0, 973178.914 882523.702 0,
+ 973147.399 876946.192 0))
+
+POLYGON ((986605.162 888044.616 0, 986327.456 888045.409 0, 986048.398 888046.222 0, 985769.339 888047.051 0, 985490.281 888047.897 0, 985211.223 888048.759 0, 984932.165 888049.638 0, 984653.107 888050.533 0, 984374.049 888051.445 0, 984094.991 888052.373 0,
+ 983815.933 888053.317 0, 983536.875 888054.278 0, 983257.818 888055.255 0, 982978.76 888056.249 0, 982699.702 888057.259 0, 982420.645 888058.285 0, 982141.587 888059.328 0, 981862.53 888060.387 0, 981583.472 888061.463 0, 981304.415 888062.555 0,
+ 981025.358 888063.664 0, 980746.301 888064.789 0, 980467.244 888065.93 0, 980188.186 888067.088 0, 979907.776 888068.268 0, 979630.073 888069.453 0, 979351.016 888070.66 0, 979071.959 888071.884 0, 978792.902 888073.124 0, 978513.846 888074.38 0,
+ 978234.789 888075.653 0, 977955.733 888076.942 0, 977676.676 888078.248 0, 977397.62 888079.57 0, 977118.564 888080.909 0, 976839.507 888082.264 0, 976560.451 888083.635 0, 976281.395 888085.023 0, 976002.339 888086.427 0, 975723.284 888087.848 0,
+ 975444.228 888089.285 0, 975165.172 888090.739 0, 974886.117 888092.208 0, 974607.061 888093.695 0, 974328.006 888095.198 0, 974048.95 888096.717 0, 973769.895 888098.252 0, 973490.84 888099.805 0, 973210.43 888101.381 0, 973241.948 893679.225 0,
+ 973273.466 899257.231 0, 973553.216 899255.659 0, 973831.614 899254.11 0, 974110.013 899252.578 0, 974388.411 899251.063 0, 974666.81 899249.563 0, 974945.209 899248.08 0, 975223.608 899246.614 0, 975502.007 899245.164 0, 975780.406 899243.73 0,
+ 976058.805 899242.313 0, 976337.205 899240.912 0, 976615.604 899239.527 0, 976894.004 899238.159 0, 977172.403 899236.807 0, 977450.803 899235.472 0, 977729.203 899234.153 0, 978007.602 899232.85 0, 978286.002 899231.564 0, 978564.402 899230.294 0,
+ 978842.802 899229.041 0, 979121.202 899227.804 0, 979399.602 899226.583 0, 979678.003 899225.379 0, 979955.053 899224.196 0, 980234.803 899223.019 0, 980513.204 899221.864 0, 980791.604 899220.725 0, 981070.005 899219.603 0, 981348.405 899218.497 0,
+ 981626.806 899217.407 0, 981905.207 899216.334 0, 982183.608 899215.277 0, 982462.009 899214.237 0, 982740.41 899213.213 0, 983018.811 899212.205 0, 983297.212 899211.214 0, 983575.613 899210.239 0, 983854.014 899209.28 0, 984132.415 899208.338 0,
+ 984410.817 899207.413 0, 984689.218 899206.503 0, 984967.619 899205.61 0, 985246.021 899204.734 0, 985524.422 899203.873 0, 985802.824 899203.03 0, 986081.225 899202.202 0, 986359.627 899201.391 0, 986636.68 899200.6 0, 986620.92 893622.528 0,
+ 986605.162 888044.616 0))
+
+POLYGON ((1000000 899181.723 0, 999722.944 899181.732 0, 999444.541 899181.756 0, 999166.139 899181.797 0, 998887.736 899181.854 0, 998609.333 899181.928 0, 998330.93 899182.018 0, 998052.527 899182.124 0, 997774.124 899182.247 0, 997495.722 899182.386 0,
+ 997217.319 899182.542 0, 996938.916 899182.714 0, 996660.513 899182.902 0, 996382.111 899183.107 0, 996103.708 899183.328 0, 995825.305 899183.566 0, 995546.902 899183.82 0, 995268.5 899184.09 0, 994990.097 899184.377 0, 994711.694 899184.68 0,
+ 994433.292 899184.999 0, 994154.889 899185.335 0, 993876.486 899185.687 0, 993598.084 899186.056 0, 993318.333 899186.443 0, 993041.279 899186.842 0, 992762.876 899187.26 0, 992484.474 899187.694 0, 992206.071 899188.145 0, 991927.669 899188.612 0,
+ 991649.266 899189.095 0, 991370.864 899189.595 0, 991092.462 899190.111 0, 990814.059 899190.643 0, 990535.657 899191.192 0, 990257.255 899191.757 0, 989978.852 899192.339 0, 989700.45 899192.937 0, 989422.048 899193.551 0, 989143.646 899194.182 0,
+ 988865.244 899194.829 0, 988586.842 899195.493 0, 988308.44 899196.173 0, 988030.038 899196.869 0, 987751.636 899197.582 0, 987473.234 899198.311 0, 987194.832 899199.056 0, 986916.43 899199.818 0, 986636.68 899200.6 0, 986652.439 904778.831 0,
+ 986668.199 910357.215 0, 986947.29 910356.435 0, 987225.035 910355.675 0, 987502.781 910354.931 0, 987780.526 910354.204 0, 988058.271 910353.493 0, 988336.016 910352.798 0, 988613.762 910352.12 0, 988891.507 910351.458 0, 989169.253 910350.812 0,
+ 989446.998 910350.183 0, 989724.743 910349.57 0, 990002.489 910348.973 0, 990280.235 910348.393 0, 990557.98 910347.829 0, 990835.726 910347.282 0, 991113.471 910346.75 0, 991391.217 910346.236 0, 991668.963 910345.737 0, 991946.709 910345.255 0,
+ 992224.454 910344.789 0, 992502.2 910344.34 0, 992779.946 910343.906 0, 993057.692 910343.49 0, 993334.093 910343.091 0, 993613.184 910342.705 0, 993890.93 910342.337 0, 994168.676 910341.986 0, 994446.422 910341.651 0, 994724.168 910341.332 0,
+ 995001.914 910341.03 0, 995279.66 910340.744 0, 995557.406 910340.474 0, 995835.152 910340.221 0, 996112.898 910339.984 0, 996390.644 910339.763 0, 996668.39 910339.559 0, 996946.136 910339.371 0, 997223.882 910339.2 0, 997501.628 910339.044 0,
+ 997779.375 910338.905 0, 998057.121 910338.783 0, 998334.867 910338.677 0, 998612.613 910338.587 0, 998890.359 910338.513 0, 999168.105 910338.456 0, 999445.851 910338.416 0, 999723.598 910338.391 0, 1000000 910338.383 0, 1000000 904759.976 0,
+ 1000000 899181.723 0))
+
+POLYGON ((1013331.801 910357.215 0, 1013055.397 910356.443 0, 1012777.652 910355.682 0, 1012499.907 910354.938 0, 1012222.162 910354.211 0, 1011944.417 910353.5 0, 1011666.671 910352.805 0, 1011388.926 910352.126 0, 1011111.181 910351.464 0, 1010833.435 910350.818 0,
+ 1010555.69 910350.189 0, 1010277.944 910349.576 0, 1010000.199 910348.979 0, 1009722.453 910348.399 0, 1009444.708 910347.835 0, 1009166.962 910347.287 0, 1008889.216 910346.755 0, 1008611.471 910346.24 0, 1008333.725 910345.742 0, 1008055.979 910345.259 0,
+ 1007778.233 910344.793 0, 1007500.487 910344.344 0, 1007222.742 910343.911 0, 1006944.996 910343.494 0, 1006665.907 910343.091 0, 1006389.504 910342.709 0, 1006111.758 910342.341 0, 1005834.012 910341.989 0, 1005556.266 910341.654 0, 1005278.52 910341.335 0,
+ 1005000.774 910341.033 0, 1004723.028 910340.747 0, 1004445.282 910340.477 0, 1004167.536 910340.223 0, 1003889.79 910339.986 0, 1003612.044 910339.765 0, 1003334.298 910339.561 0, 1003056.552 910339.373 0, 1002778.805 910339.201 0, 1002501.059 910339.046 0,
+ 1002223.313 910338.907 0, 1001945.567 910338.784 0, 1001667.821 910338.678 0, 1001390.075 910338.588 0, 1001112.329 910338.514 0, 1000834.582 910338.457 0, 1000556.836 910338.416 0, 1000279.09 910338.391 0, 1000000 910338.383 0, 1000000 915916.94 0,
+ 1000000 921495.643 0, 1000278.43 921495.651 0, 1000555.52 921495.675 0, 1000832.609 921495.716 0, 1001109.699 921495.773 0, 1001386.788 921495.847 0, 1001663.878 921495.937 0, 1001940.967 921496.043 0, 1002218.056 921496.165 0, 1002495.146 921496.304 0,
+ 1002772.235 921496.459 0, 1003049.325 921496.63 0, 1003326.414 921496.818 0, 1003603.504 921497.022 0, 1003880.593 921497.242 0, 1004157.682 921497.479 0, 1004434.772 921497.732 0, 1004711.861 921498.001 0, 1004988.95 921498.286 0, 1005266.04 921498.588 0,
+ 1005543.129 921498.906 0, 1005820.218 921499.24 0, 1006097.308 921499.591 0, 1006374.397 921499.958 0, 1006650.146 921500.34 0, 1006928.575 921500.741 0, 1007205.664 921501.157 0, 1007482.754 921501.589 0, 1007759.843 921502.038 0, 1008036.932 921502.503 0,
+ 1008314.021 921502.984 0, 1008591.11 921503.482 0, 1008868.199 921503.995 0, 1009145.288 921504.526 0, 1009422.377 921505.072 0, 1009699.466 921505.635 0, 1009976.555 921506.214 0, 1010253.643 921506.809 0, 1010530.732 921507.421 0, 1010807.821 921508.049 0,
+ 1011084.91 921508.693 0, 1011361.998 921509.354 0, 1011639.087 921510.03 0, 1011916.176 921510.724 0, 1012193.264 921511.433 0, 1012470.353 921512.159 0, 1012747.441 921512.901 0, 1013024.53 921513.66 0, 1013300.28 921514.431 0, 1013316.04 915935.75 0,
+ 1013331.801 910357.215 0))
+
+POLYGON ((1026600.453 921570.794 0, 1026324.704 921569.244 0, 1026047.619 921567.703 0, 1025770.534 921566.178 0, 1025493.448 921564.669 0, 1025216.363 921563.177 0, 1024939.277 921561.701 0, 1024662.192 921560.241 0, 1024385.106 921558.798 0, 1024108.02 921557.371 0,
+ 1023830.934 921555.96 0, 1023553.848 921554.565 0, 1023276.762 921553.187 0, 1022999.676 921551.825 0, 1022722.59 921550.48 0, 1022445.504 921549.15 0, 1022168.417 921547.838 0, 1021891.331 921546.541 0, 1021614.244 921545.261 0, 1021337.158 921543.997 0,
+ 1021060.071 921542.749 0, 1020782.984 921541.517 0, 1020505.897 921540.302 0, 1020228.811 921539.104 0, 1019950.386 921537.915 0, 1019674.637 921536.755 0, 1019397.549 921535.605 0, 1019120.462 921534.472 0, 1018843.375 921533.354 0, 1018566.288 921532.253 0,
+ 1018289.2 921531.169 0, 1018012.113 921530.1 0, 1017735.026 921529.048 0, 1017457.938 921528.013 0, 1017180.85 921526.993 0, 1016903.763 921525.99 0, 1016626.675 921525.003 0, 1016349.587 921524.033 0, 1016072.499 921523.079 0, 1015795.411 921522.141 0,
+ 1015518.324 921521.22 0, 1015241.236 921520.314 0, 1014964.147 921519.425 0, 1014687.059 921518.553 0, 1014409.971 921517.696 0, 1014132.883 921516.856 0, 1013855.795 921516.033 0, 1013578.706 921515.225 0, 1013300.28 921514.431 0, 1013284.518 927093.253 0,
+ 1013268.757 932672.215 0, 1013546.524 932673.008 0, 1013822.955 932673.813 0, 1014099.387 932674.635 0, 1014375.818 932675.473 0, 1014652.25 932676.327 0, 1014928.681 932677.198 0, 1015205.112 932678.084 0, 1015481.544 932678.987 0, 1015757.975 932679.907 0,
+ 1016034.406 932680.842 0, 1016310.837 932681.794 0, 1016587.268 932682.762 0, 1016863.699 932683.747 0, 1017140.13 932684.748 0, 1017416.561 932685.765 0, 1017692.992 932686.798 0, 1017969.423 932687.847 0, 1018245.853 932688.913 0, 1018522.284 932689.995 0,
+ 1018798.715 932691.093 0, 1019075.145 932692.208 0, 1019351.576 932693.339 0, 1019628.006 932694.486 0, 1019903.102 932695.644 0, 1020180.866 932696.829 0, 1020457.297 932698.025 0, 1020733.727 932699.237 0, 1021010.157 932700.466 0, 1021286.587 932701.71 0,
+ 1021563.017 932702.971 0, 1021839.446 932704.249 0, 1022115.876 932705.542 0, 1022392.306 932706.852 0, 1022668.735 932708.178 0, 1022945.165 932709.521 0, 1023221.594 932710.879 0, 1023498.024 932712.254 0, 1023774.453 932713.645 0, 1024050.882 932715.053 0,
+ 1024327.311 932716.477 0, 1024603.74 932717.917 0, 1024880.169 932719.373 0, 1025156.598 932720.845 0, 1025433.027 932722.334 0, 1025709.455 932723.839 0, 1025985.884 932725.361 0, 1026262.312 932726.898 0, 1026537.407 932728.445 0, 1026568.931 927149.55 0,
+ 1026600.453 921570.794 0))
+
+POLYGON ((1039805.846 932822.161 0, 1039530.755 932819.837 0, 1039254.332 932817.518 0, 1038977.908 932815.216 0, 1038701.485 932812.93 0, 1038425.062 932810.66 0, 1038148.638 932808.407 0, 1037872.214 932806.17 0, 1037595.791 932803.949 0, 1037319.367 932801.744 0,
+ 1037042.942 932799.556 0, 1036766.518 932797.383 0, 1036490.094 932795.228 0, 1036213.669 932793.088 0, 1035937.245 932790.965 0, 1035660.82 932788.858 0, 1035384.395 932786.767 0, 1035107.97 932784.692 0, 1034831.545 932782.634 0, 1034555.12 932780.592 0,
+ 1034278.695 932778.566 0, 1034002.269 932776.557 0, 1033725.844 932774.564 0, 1033449.418 932772.587 0, 1033171.66 932770.617 0, 1032896.566 932768.682 0, 1032620.14 932766.754 0, 1032343.714 932764.842 0, 1032067.288 932762.946 0, 1031790.861 932761.067 0,
+ 1031514.435 932759.204 0, 1031238.008 932757.357 0, 1030961.582 932755.527 0, 1030685.155 932753.713 0, 1030408.728 932751.915 0, 1030132.301 932750.133 0, 1029855.874 932748.368 0, 1029579.447 932746.619 0, 1029303.019 932744.886 0, 1029026.592 932743.169 0,
+ 1028750.164 932741.469 0, 1028473.737 932739.785 0, 1028197.309 932738.117 0, 1027920.881 932736.466 0, 1027644.453 932734.83 0, 1027368.025 932733.211 0, 1027091.597 932731.609 0, 1026815.169 932730.022 0, 1026537.407 932728.445 0, 1026505.884 938307.473 0,
+ 1026474.359 943886.632 0, 1026751.46 943888.206 0, 1027027.232 943889.789 0, 1027303.003 943891.388 0, 1027578.775 943893.003 0, 1027854.546 943894.634 0, 1028130.317 943896.282 0, 1028406.088 943897.946 0, 1028681.859 943899.626 0, 1028957.629 943901.322 0,
+ 1029233.4 943903.034 0, 1029509.171 943904.763 0, 1029784.941 943906.508 0, 1030060.712 943908.269 0, 1030336.482 943910.047 0, 1030612.252 943911.84 0, 1030888.022 943913.65 0, 1031163.792 943915.476 0, 1031439.562 943917.319 0, 1031715.332 943919.177 0,
+ 1031991.101 943921.052 0, 1032266.871 943922.943 0, 1032542.64 943924.851 0, 1032818.409 943926.774 0, 1033092.85 943928.704 0, 1033369.948 943930.67 0, 1033645.717 943932.642 0, 1033921.485 943934.63 0, 1034197.254 943936.635 0, 1034473.023 943938.656 0,
+ 1034748.791 943940.693 0, 1035024.559 943942.746 0, 1035300.328 943944.816 0, 1035576.096 943946.902 0, 1035851.864 943949.004 0, 1036127.632 943951.122 0, 1036403.399 943953.257 0, 1036679.167 943955.407 0, 1036954.934 943957.574 0, 1037230.702 943959.758 0,
+ 1037506.469 943961.957 0, 1037782.236 943964.173 0, 1038058.003 943966.405 0, 1038333.77 943968.653 0, 1038609.537 943970.917 0, 1038885.303 943973.198 0, 1039161.07 943975.495 0, 1039436.836 943977.808 0, 1039711.274 943980.126 0, 1039758.561 938401.078 0,
+ 1039805.846 932822.161 0))
+
+POLYGON ((1052947.872 944111.015 0, 1052673.44 944107.922 0, 1052397.681 944104.83 0, 1052121.922 944101.754 0, 1051846.163 944098.694 0, 1051570.404 944095.651 0, 1051294.645 944092.624 0, 1051018.885 944089.613 0, 1050743.125 944086.618 0, 1050467.365 944083.639 0,
+ 1050191.605 944080.677 0, 1049915.845 944077.731 0, 1049640.085 944074.801 0, 1049364.324 944071.888 0, 1049088.563 944068.99 0, 1048812.802 944066.109 0, 1048537.041 944063.244 0, 1048261.28 944060.395 0, 1047985.519 944057.563 0, 1047709.757 944054.747 0,
+ 1047433.995 944051.947 0, 1047158.233 944049.163 0, 1046882.471 944046.396 0, 1046606.709 944043.644 0, 1046329.62 944040.896 0, 1046055.184 944038.19 0, 1045779.421 944035.488 0, 1045503.658 944032.801 0, 1045227.895 944030.131 0, 1044952.132 944027.477 0,
+ 1044676.368 944024.84 0, 1044400.605 944022.218 0, 1044124.841 944019.613 0, 1043849.077 944017.024 0, 1043573.313 944014.451 0, 1043297.549 944011.895 0, 1043021.785 944009.354 0, 1042746.021 944006.83 0, 1042470.256 944004.323 0, 1042194.491 944001.831 0,
+ 1041918.726 943999.356 0, 1041642.961 943996.896 0, 1041367.196 943994.454 0, 1041091.431 943992.027 0, 1040815.665 943989.616 0, 1040539.9 943987.222 0, 1040264.134 943984.844 0, 1039988.368 943982.482 0, 1039711.274 943980.126 0, 1039663.986 949559.3 0,
+ 1039616.698 955138.596 0, 1039893.132 955140.948 0, 1040168.241 955143.304 0, 1040443.35 955145.676 0, 1040718.459 955148.065 0, 1040993.567 955150.469 0, 1041268.676 955152.89 0, 1041543.784 955155.327 0, 1041818.893 955157.781 0, 1042094.001 955160.25 0,
+ 1042369.109 955162.736 0, 1042644.216 955165.238 0, 1042919.324 955167.756 0, 1043194.432 955170.29 0, 1043469.539 955172.84 0, 1043744.646 955175.407 0, 1044019.753 955177.99 0, 1044294.86 955180.589 0, 1044569.967 955183.204 0, 1044845.074 955185.835 0,
+ 1045120.18 955188.483 0, 1045395.286 955191.147 0, 1045670.393 955193.827 0, 1045945.499 955196.523 0, 1046219.281 955199.222 0, 1046495.71 955201.964 0, 1046770.816 955204.708 0, 1047045.921 955207.469 0, 1047321.026 955210.247 0, 1047596.131 955213.04 0,
+ 1047871.236 955215.849 0, 1048146.341 955218.675 0, 1048421.445 955221.517 0, 1048696.55 955224.375 0, 1048971.654 955227.249 0, 1049246.758 955230.14 0, 1049521.862 955233.046 0, 1049796.965 955235.969 0, 1050072.069 955238.908 0, 1050347.172 955241.864 0,
+ 1050622.275 955244.835 0, 1050897.378 955247.823 0, 1051172.481 955250.826 0, 1051447.584 955253.846 0, 1051722.686 955256.883 0, 1051997.789 955259.935 0, 1052272.891 955263.004 0, 1052547.993 955266.088 0, 1052821.772 955269.174 0, 1052884.823 949690.034 0,
+ 1052947.872 944111.015 0))
+
+POLYGON ((1066026.424 955437.059 0, 1065752.653 955433.199 0, 1065477.561 955429.337 0, 1065202.468 955425.491 0, 1064927.376 955421.662 0, 1064652.283 955417.848 0, 1064377.19 955414.051 0, 1064102.097 955410.27 0, 1063827.003 955406.505 0, 1063551.91 955402.757 0,
+ 1063276.816 955399.024 0, 1063001.722 955395.308 0, 1062726.627 955391.608 0, 1062451.533 955387.924 0, 1062176.438 955384.256 0, 1061901.343 955380.605 0, 1061626.248 955376.97 0, 1061351.152 955373.351 0, 1061076.057 955369.748 0, 1060800.961 955366.161 0,
+ 1060525.865 955362.59 0, 1060250.769 955359.036 0, 1059975.672 955355.498 0, 1059700.576 955351.976 0, 1059424.157 955348.453 0, 1059150.382 955344.981 0, 1058875.284 955341.507 0, 1058600.187 955338.05 0, 1058325.089 955334.609 0, 1058049.991 955331.184 0,
+ 1057774.893 955327.776 0, 1057499.795 955324.383 0, 1057224.696 955321.007 0, 1056949.598 955317.647 0, 1056674.499 955314.303 0, 1056399.4 955310.975 0, 1056124.3 955307.664 0, 1055849.201 955304.369 0, 1055574.101 955301.09 0, 1055299.001 955297.827 0,
+ 1055023.901 955294.58 0, 1054748.801 955291.35 0, 1054473.701 955288.135 0, 1054198.6 955284.937 0, 1053923.499 955281.755 0, 1053648.398 955278.589 0, 1053373.297 955275.44 0, 1053098.196 955272.307 0, 1052821.772 955269.174 0, 1052758.719 960848.434 0,
+ 1052695.665 966427.807 0, 1052971.43 966430.932 0, 1053245.874 966434.058 0, 1053520.319 966437.2 0, 1053794.763 966440.358 0, 1054069.207 966443.532 0, 1054343.651 966446.723 0, 1054618.094 966449.929 0, 1054892.538 966453.152 0, 1055166.981 966456.391 0,
+ 1055441.424 966459.646 0, 1055715.867 966462.917 0, 1055990.31 966466.205 0, 1056264.752 966469.508 0, 1056539.195 966472.828 0, 1056813.637 966476.164 0, 1057088.079 966479.516 0, 1057362.52 966482.884 0, 1057636.962 966486.268 0, 1057911.403 966489.669 0,
+ 1058185.844 966493.086 0, 1058460.285 966496.518 0, 1058734.726 966499.967 0, 1059009.167 966503.432 0, 1059282.288 966506.897 0, 1059558.047 966510.411 0, 1059832.487 966513.925 0, 1060106.927 966517.454 0, 1060381.366 966521 0, 1060655.805 966524.562 0,
+ 1060930.244 966528.14 0, 1061204.683 966531.735 0, 1061479.122 966535.345 0, 1061753.56 966538.972 0, 1062027.999 966542.614 0, 1062302.437 966546.273 0, 1062576.874 966549.948 0, 1062851.312 966553.64 0, 1063125.749 966557.347 0, 1063400.186 966561.071 0,
+ 1063674.623 966564.81 0, 1063949.06 966568.566 0, 1064223.496 966572.338 0, 1064497.933 966576.126 0, 1064772.369 966579.93 0, 1065046.804 966583.751 0, 1065321.24 966587.588 0, 1065595.675 966591.44 0, 1065868.793 966595.291 0, 1065947.609 961016.117 0,
+ 1066026.424 955437.059 0))
+
+POLYGON ((1079041.395 966799.99 0, 1078768.287 966795.368 0, 1078493.864 966790.74 0, 1078219.44 966786.128 0, 1077945.016 966781.532 0, 1077670.592 966776.952 0, 1077396.168 966772.389 0, 1077121.743 966767.842 0, 1076847.318 966763.311 0, 1076572.893 966758.796 0,
+ 1076298.467 966754.297 0, 1076024.041 966749.814 0, 1075749.615 966745.347 0, 1075475.189 966740.897 0, 1075200.763 966736.463 0, 1074926.336 966732.045 0, 1074651.909 966727.643 0, 1074377.481 966723.257 0, 1074103.054 966718.887 0, 1073828.626 966714.534 0,
+ 1073554.198 966710.197 0, 1073279.769 966705.875 0, 1073005.341 966701.57 0, 1072730.912 966697.281 0, 1072455.167 966692.988 0, 1072182.053 966688.752 0, 1071907.624 966684.512 0, 1071633.194 966680.287 0, 1071358.764 966676.079 0, 1071084.333 966671.887 0,
+ 1070809.903 966667.712 0, 1070535.472 966663.552 0, 1070261.041 966659.408 0, 1069986.609 966655.281 0, 1069712.178 966651.17 0, 1069437.746 966647.075 0, 1069163.314 966642.996 0, 1068888.882 966638.933 0, 1068614.449 966634.887 0, 1068340.016 966630.856 0,
+ 1068065.583 966626.842 0, 1067791.15 966622.844 0, 1067516.716 966618.862 0, 1067242.283 966614.896 0, 1066967.849 966610.946 0, 1066693.414 966607.013 0, 1066418.98 966603.095 0, 1066144.545 966599.194 0, 1065868.793 966595.291 0, 1065789.975 972174.574 0,
+ 1065711.156 977753.964 0, 1065986.248 977757.858 0, 1066260.026 977761.75 0, 1066533.804 977765.658 0, 1066807.581 977769.582 0, 1067081.359 977773.523 0, 1067355.136 977777.479 0, 1067628.912 977781.451 0, 1067902.689 977785.44 0, 1068176.465 977789.445 0,
+ 1068450.241 977793.465 0, 1068724.017 977797.502 0, 1068997.792 977801.555 0, 1069271.568 977805.624 0, 1069545.343 977809.71 0, 1069819.118 977813.811 0, 1070092.892 977817.928 0, 1070366.666 977822.062 0, 1070640.441 977826.212 0, 1070914.214 977830.378 0,
+ 1071187.988 977834.559 0, 1071461.761 977838.758 0, 1071735.535 977842.972 0, 1072009.307 977847.202 0, 1072281.767 977851.428 0, 1072556.852 977855.711 0, 1072830.624 977859.989 0, 1073104.396 977864.284 0, 1073378.168 977868.595 0, 1073651.939 977872.922 0,
+ 1073925.71 977877.265 0, 1074199.481 977881.624 0, 1074473.252 977885.999 0, 1074747.022 977890.391 0, 1075020.792 977894.798 0, 1075294.562 977899.222 0, 1075568.332 977903.662 0, 1075842.101 977908.118 0, 1076115.87 977912.59 0, 1076389.639 977917.078 0,
+ 1076663.407 977921.582 0, 1076937.175 977926.102 0, 1077210.943 977930.639 0, 1077484.711 977935.191 0, 1077758.478 977939.76 0, 1078032.246 977944.345 0, 1078306.013 977948.945 0, 1078579.779 977953.562 0, 1078852.233 977958.173 0, 1078946.815 972379.028 0,
+ 1079041.395 966799.99 0))
+
+POLYGON ((1091992.681 978199.508 0, 1091720.239 978194.127 0, 1091446.487 978188.737 0, 1091172.734 978183.362 0, 1090898.981 978178.004 0, 1090625.227 978172.662 0, 1090351.474 978167.336 0, 1090077.72 978162.026 0, 1089803.965 978156.733 0, 1089530.21 978151.455 0,
+ 1089256.455 978146.193 0, 1088982.7 978140.948 0, 1088708.945 978135.719 0, 1088435.189 978130.506 0, 1088161.432 978125.309 0, 1087887.676 978120.128 0, 1087613.919 978114.963 0, 1087340.162 978109.814 0, 1087066.405 978104.681 0, 1086792.647 978099.565 0,
+ 1086518.889 978094.465 0, 1086245.13 978089.38 0, 1085971.372 978084.312 0, 1085697.613 978079.26 0, 1085422.543 978074.2 0, 1085150.094 978069.204 0, 1084876.334 978064.201 0, 1084602.574 978059.213 0, 1084328.814 978054.241 0, 1084055.053 978049.286 0,
+ 1083781.292 978044.347 0, 1083507.531 978039.424 0, 1083233.769 978034.517 0, 1082960.007 978029.626 0, 1082686.245 978024.751 0, 1082412.483 978019.892 0, 1082138.72 978015.05 0, 1081864.957 978010.223 0, 1081591.194 978005.413 0, 1081317.43 978000.619 0,
+ 1081043.666 977995.841 0, 1080769.902 977991.078 0, 1080496.138 977986.333 0, 1080222.373 977981.603 0, 1079948.608 977976.889 0, 1079674.843 977972.192 0, 1079401.077 977967.51 0, 1079127.312 977962.845 0, 1078852.233 977958.173 0, 1078757.65 983537.421 0,
+ 1078663.065 989116.766 0, 1078937.483 989121.426 0, 1079210.592 989126.08 0, 1079483.701 989130.751 0, 1079756.809 989135.437 0, 1080029.917 989140.139 0, 1080303.025 989144.858 0, 1080576.133 989149.592 0, 1080849.24 989154.343 0, 1081122.347 989159.109 0,
+ 1081395.454 989163.892 0, 1081668.561 989168.691 0, 1081941.667 989173.506 0, 1082214.773 989178.337 0, 1082487.879 989183.184 0, 1082760.984 989188.047 0, 1083034.089 989192.926 0, 1083307.194 989197.821 0, 1083580.298 989202.733 0, 1083853.403 989207.66 0,
+ 1084126.507 989212.604 0, 1084399.61 989217.563 0, 1084672.714 989222.539 0, 1084945.817 989227.531 0, 1085217.612 989232.514 0, 1085492.022 989237.562 0, 1085765.124 989242.602 0, 1086038.226 989247.658 0, 1086311.328 989252.73 0, 1086584.429 989257.818 0,
+ 1086857.53 989262.923 0, 1087130.631 989268.043 0, 1087403.731 989273.179 0, 1087676.831 989278.332 0, 1087949.931 989283.5 0, 1088223.03 989288.685 0, 1088496.129 989293.885 0, 1088769.228 989299.102 0, 1089042.327 989304.335 0, 1089315.425 989309.584 0,
+ 1089588.523 989314.849 0, 1089861.621 989320.13 0, 1090134.718 989325.427 0, 1090407.815 989330.74 0, 1090680.912 989336.07 0, 1090954.008 989341.415 0, 1091227.104 989346.776 0, 1091500.2 989352.154 0, 1091771.989 989357.521 0, 1091882.336 983778.465 0,
+ 1091992.681 978199.508 0))
+
+POLYGON ((1104880.18 989635.311 0, 1104608.405 989629.175 0, 1104335.326 989623.026 0, 1104062.246 989616.893 0, 1103789.166 989610.777 0, 1103516.085 989604.676 0, 1103243.004 989598.591 0, 1102969.923 989592.522 0, 1102696.841 989586.47 0, 1102423.759 989580.433 0,
+ 1102150.677 989574.413 0, 1101877.594 989568.409 0, 1101604.511 989562.42 0, 1101331.428 989556.448 0, 1101058.344 989550.492 0, 1100785.26 989544.552 0, 1100512.176 989538.628 0, 1100239.091 989532.72 0, 1099966.006 989526.828 0, 1099692.92 989520.952 0,
+ 1099419.835 989515.093 0, 1099146.748 989509.249 0, 1098873.662 989503.422 0, 1098600.575 989497.61 0, 1098326.182 989491.787 0, 1098054.4 989486.035 0, 1097781.312 989480.272 0, 1097508.224 989474.525 0, 1097235.136 989468.794 0, 1096962.047 989463.079 0,
+ 1096688.958 989457.38 0, 1096415.868 989451.697 0, 1096142.778 989446.03 0, 1095869.688 989440.38 0, 1095596.597 989434.745 0, 1095323.506 989429.126 0, 1095050.415 989423.524 0, 1094777.324 989417.937 0, 1094504.232 989412.367 0, 1094231.14 989406.813 0,
+ 1093958.047 989401.274 0, 1093684.954 989395.752 0, 1093411.861 989390.246 0, 1093138.768 989384.756 0, 1092865.674 989379.282 0, 1092592.58 989373.824 0, 1092319.485 989368.383 0, 1092046.39 989362.957 0, 1091771.989 989357.521 0, 1091661.639 994936.672 0,
+ 1091551.288 1000515.912 0, 1091825.03 1000521.334 0, 1092097.468 1000526.747 0, 1092369.906 1000532.175 0, 1092642.343 1000537.62 0, 1092914.78 1000543.081 0, 1093187.217 1000548.558 0, 1093459.653 1000554.051 0, 1093732.089 1000559.559 0, 1094004.525 1000565.084 0,
+ 1094276.961 1000570.625 0, 1094549.396 1000576.182 0, 1094821.831 1000581.755 0, 1095094.265 1000587.344 0, 1095366.699 1000592.949 0, 1095639.133 1000598.57 0, 1095911.566 1000604.208 0, 1096184 1000609.861 0, 1096456.432 1000615.53 0, 1096728.865 1000621.215 0,
+ 1097001.297 1000626.917 0, 1097273.729 1000632.634 0, 1097546.16 1000638.367 0, 1097818.591 1000644.117 0, 1098089.72 1000649.854 0, 1098363.453 1000655.663 0, 1098635.883 1000661.461 0, 1098908.313 1000667.274 0, 1099180.742 1000673.104 0, 1099453.171 1000678.95 0,
+ 1099725.6 1000684.811 0, 1099998.028 1000690.689 0, 1100270.456 1000696.583 0, 1100542.884 1000702.492 0, 1100815.311 1000708.418 0, 1101087.738 1000714.36 0, 1101360.165 1000720.318 0, 1101632.591 1000726.292 0, 1101905.017 1000732.282 0, 1102177.443 1000738.288 0,
+ 1102449.868 1000744.31 0, 1102722.293 1000750.348 0, 1102994.717 1000756.402 0, 1103267.142 1000762.472 0, 1103539.565 1000768.558 0, 1103811.989 1000774.66 0, 1104084.412 1000780.778 0, 1104356.835 1000786.912 0, 1104627.956 1000793.033 0, 1104754.069 995214.127 0,
+ 1104880.18 989635.311 0))
+
+POLYGON ((1117703.788 1001107.098 0, 1117432.683 1001100.211 0, 1117160.279 1001093.307 0, 1116887.874 1001086.419 0, 1116615.469 1001079.547 0, 1116343.064 1001072.692 0, 1116070.658 1001065.852 0, 1115798.252 1001059.028 0, 1115525.845 1001052.221 0, 1115253.438 1001045.429 0,
+ 1114981.03 1001038.653 0, 1114708.622 1001031.894 0, 1114436.214 1001025.15 0, 1114163.805 1001018.423 0, 1113891.396 1001011.711 0, 1113618.986 1001005.016 0, 1113346.577 1000998.337 0, 1113074.166 1000991.673 0, 1112801.756 1000985.026 0, 1112529.344 1000978.395 0,
+ 1112256.933 1000971.779 0, 1111984.521 1000965.18 0, 1111712.109 1000958.597 0, 1111439.696 1000952.03 0, 1111165.983 1000945.448 0, 1110894.87 1000938.944 0, 1110622.456 1000932.425 0, 1110350.042 1000925.922 0, 1110077.627 1000919.435 0, 1109805.212 1000912.964 0,
+ 1109532.797 1000906.509 0, 1109260.381 1000900.07 0, 1108987.965 1000893.647 0, 1108715.549 1000887.24 0, 1108443.132 1000880.85 0, 1108170.715 1000874.475 0, 1107898.297 1000868.116 0, 1107625.879 1000861.774 0, 1107353.461 1000855.447 0, 1107081.042 1000849.136 0,
+ 1106808.623 1000842.842 0, 1106536.203 1000836.563 0, 1106263.784 1000830.301 0, 1105991.363 1000824.054 0, 1105718.943 1000817.824 0, 1105446.522 1000811.61 0, 1105174.101 1000805.411 0, 1104901.679 1000799.229 0, 1104627.956 1000793.033 0, 1104501.841 1006372.025 0,
+ 1104375.724 1011951.099 0, 1104648.787 1011957.28 0, 1104920.552 1011963.447 0, 1105192.317 1011969.63 0, 1105464.081 1011975.83 0, 1105735.845 1011982.045 0, 1106007.608 1011988.277 0, 1106279.371 1011994.524 0, 1106551.134 1012000.787 0, 1106822.896 1012007.067 0,
+ 1107094.658 1012013.362 0, 1107366.42 1012019.674 0, 1107638.181 1012026.001 0, 1107909.942 1012032.344 0, 1108181.703 1012038.704 0, 1108453.463 1012045.079 0, 1108725.222 1012051.47 0, 1108996.982 1012057.878 0, 1109268.741 1012064.301 0, 1109540.499 1012070.74 0,
+ 1109812.258 1012077.196 0, 1110084.015 1012083.667 0, 1110355.773 1012090.154 0, 1110627.53 1012096.658 0, 1110897.99 1012103.146 0, 1111171.043 1012109.712 0, 1111442.799 1012116.264 0, 1111714.554 1012122.831 0, 1111986.31 1012129.414 0, 1112258.064 1012136.014 0,
+ 1112529.819 1012142.629 0, 1112801.573 1012149.26 0, 1113073.326 1012155.907 0, 1113345.08 1012162.571 0, 1113616.832 1012169.25 0, 1113888.585 1012175.945 0, 1114160.337 1012182.656 0, 1114432.088 1012189.384 0, 1114703.84 1012196.127 0, 1114975.59 1012202.886 0,
+ 1115247.341 1012209.661 0, 1115519.091 1012216.453 0, 1115790.841 1012223.26 0, 1116062.59 1012230.083 0, 1116334.339 1012236.922 0, 1116606.087 1012243.778 0, 1116877.835 1012250.649 0, 1117149.583 1012257.536 0, 1117420.034 1012264.406 0, 1117561.912 1006685.711 0,
+ 1117703.788 1001107.098 0))
+
+POLYGON ((1130463.407 1012614.565 0, 1130192.974 1012606.93 0, 1129921.247 1012599.275 0, 1129649.519 1012591.637 0, 1129377.791 1012584.014 0, 1129106.063 1012576.407 0, 1128834.334 1012568.816 0, 1128562.605 1012561.241 0, 1128290.875 1012553.682 0, 1128019.145 1012546.139 0,
+ 1127747.414 1012538.612 0, 1127475.683 1012531.101 0, 1127203.951 1012523.606 0, 1126932.219 1012516.127 0, 1126660.487 1012508.664 0, 1126388.754 1012501.217 0, 1126117.021 1012493.786 0, 1125845.287 1012486.371 0, 1125573.553 1012478.972 0, 1125301.818 1012471.589 0,
+ 1125030.083 1012464.222 0, 1124758.348 1012456.871 0, 1124486.612 1012449.536 0, 1124214.876 1012442.217 0, 1123941.844 1012434.879 0, 1123671.402 1012427.627 0, 1123399.664 1012420.356 0, 1123127.926 1012413.101 0, 1122856.188 1012405.862 0, 1122584.449 1012398.639 0,
+ 1122312.709 1012391.432 0, 1122040.97 1012384.24 0, 1121769.229 1012377.065 0, 1121497.489 1012369.906 0, 1121225.748 1012362.763 0, 1120954.006 1012355.636 0, 1120682.265 1012348.525 0, 1120410.522 1012341.43 0, 1120138.78 1012334.351 0, 1119867.036 1012327.288 0,
+ 1119595.293 1012320.24 0, 1119323.549 1012313.209 0, 1119051.805 1012306.194 0, 1118780.06 1012299.195 0, 1118508.315 1012292.212 0, 1118236.569 1012285.245 0, 1117964.823 1012278.293 0, 1117693.077 1012271.358 0, 1117420.034 1012264.406 0, 1117278.154 1017843.179 0,
+ 1117136.272 1023422.025 0, 1117408.655 1023428.961 0, 1117679.744 1023435.879 0, 1117950.834 1023442.813 0, 1118221.923 1023449.764 0, 1118493.011 1023456.73 0, 1118764.099 1023463.712 0, 1119035.187 1023470.71 0, 1119306.274 1023477.725 0, 1119577.361 1023484.755 0,
+ 1119848.447 1023491.801 0, 1120119.533 1023498.863 0, 1120390.619 1023505.941 0, 1120661.704 1023513.035 0, 1120932.789 1023520.145 0, 1121203.873 1023527.27 0, 1121474.957 1023534.412 0, 1121746.04 1023541.57 0, 1122017.123 1023548.744 0, 1122288.206 1023555.933 0,
+ 1122559.288 1023563.139 0, 1122830.37 1023570.36 0, 1123101.451 1023577.598 0, 1123372.532 1023584.851 0, 1123642.321 1023592.086 0, 1123914.693 1023599.406 0, 1124185.772 1023606.708 0, 1124456.852 1023614.025 0, 1124727.93 1023621.358 0, 1124999.009 1023628.707 0,
+ 1125270.087 1023636.073 0, 1125541.164 1023643.454 0, 1125812.241 1023650.851 0, 1126083.318 1023658.264 0, 1126354.394 1023665.693 0, 1126625.47 1023673.138 0, 1126896.545 1023680.599 0, 1127167.62 1023688.076 0, 1127438.694 1023695.568 0, 1127709.768 1023703.077 0,
+ 1127980.842 1023710.602 0, 1128251.915 1023718.143 0, 1128522.988 1023725.699 0, 1128794.06 1023733.272 0, 1129065.131 1023740.86 0, 1129336.203 1023748.465 0, 1129607.274 1023756.085 0, 1129878.344 1023763.722 0, 1130148.123 1023771.338 0, 1130305.766 1018192.914 0,
+ 1130463.407 1012614.565 0))
+
+POLYGON ((1143158.936 1024157.409 0, 1142889.177 1024149.031 0, 1142618.13 1024140.629 0, 1142347.081 1024132.243 0, 1142076.033 1024123.872 0, 1141804.983 1024115.518 0, 1141533.934 1024107.18 0, 1141262.883 1024098.857 0, 1140991.833 1024090.551 0, 1140720.782 1024082.26 0,
+ 1140449.73 1024073.986 0, 1140178.678 1024065.727 0, 1139907.625 1024057.484 0, 1139636.572 1024049.258 0, 1139365.518 1024041.047 0, 1139094.464 1024032.852 0, 1138823.41 1024024.673 0, 1138552.354 1024016.51 0, 1138281.299 1024008.364 0, 1138010.243 1024000.233 0,
+ 1137739.186 1023992.118 0, 1137468.129 1023984.018 0, 1137197.072 1023975.935 0, 1136926.014 1023967.868 0, 1136653.666 1023959.779 0, 1136383.897 1023951.782 0, 1136112.837 1023943.762 0, 1135841.778 1023935.759 0, 1135570.717 1023927.772 0, 1135299.657 1023919.8 0,
+ 1135028.595 1023911.845 0, 1134757.534 1023903.905 0, 1134486.471 1023895.982 0, 1134215.409 1023888.074 0, 1133944.346 1023880.182 0, 1133673.282 1023872.307 0, 1133402.218 1023864.447 0, 1133131.154 1023856.603 0, 1132860.089 1023848.775 0, 1132589.023 1023840.963 0,
+ 1132317.957 1023833.167 0, 1132046.891 1023825.387 0, 1131775.824 1023817.623 0, 1131504.757 1023809.875 0, 1131233.689 1023802.143 0, 1130962.621 1023794.427 0, 1130691.553 1023786.727 0, 1130420.484 1023779.042 0, 1130148.123 1023771.338 0, 1129990.479 1029349.83 0,
+ 1129832.832 1034928.388 0, 1130104.533 1034936.074 0, 1130374.945 1034943.739 0, 1130645.357 1034951.421 0, 1130915.768 1034959.118 0, 1131186.179 1034966.832 0, 1131456.59 1034974.561 0, 1131727 1034982.306 0, 1131997.41 1034990.067 0, 1132267.819 1034997.844 0,
+ 1132538.228 1035005.637 0, 1132808.636 1035013.446 0, 1133079.044 1035021.271 0, 1133349.451 1035029.112 0, 1133619.858 1035036.969 0, 1133890.264 1035044.841 0, 1134160.67 1035052.73 0, 1134431.076 1035060.634 0, 1134701.481 1035068.554 0, 1134971.885 1035076.49 0,
+ 1135242.29 1035084.443 0, 1135512.693 1035092.411 0, 1135783.096 1035100.395 0, 1136053.499 1035108.395 0, 1136322.615 1035116.372 0, 1136594.303 1035124.442 0, 1136864.704 1035132.49 0, 1137135.105 1035140.553 0, 1137405.505 1035148.633 0, 1137675.905 1035156.728 0,
+ 1137946.305 1035164.839 0, 1138216.704 1035172.967 0, 1138487.102 1035181.11 0, 1138757.5 1035189.269 0, 1139027.897 1035197.444 0, 1139298.294 1035205.634 0, 1139568.691 1035213.841 0, 1139839.087 1035222.064 0, 1140109.482 1035230.303 0, 1140379.877 1035238.557 0,
+ 1140650.272 1035246.828 0, 1140920.666 1035255.114 0, 1141191.06 1035263.416 0, 1141461.453 1035271.734 0, 1141731.845 1035280.068 0, 1142002.237 1035288.418 0, 1142272.629 1035296.784 0, 1142543.02 1035305.166 0, 1142812.125 1035313.524 0, 1142985.532 1029735.434 0,
+ 1143158.936 1024157.409 0))
+
+POLYGON ((1155790.279 1035735.328 0, 1155521.196 1035726.21 0, 1155250.83 1035717.064 0, 1154980.463 1035707.934 0, 1154710.096 1035698.82 0, 1154439.728 1035689.722 0, 1154169.359 1035680.64 0, 1153898.99 1035671.574 0, 1153628.62 1035662.524 0, 1153358.25 1035653.49 0,
+ 1153087.88 1035644.471 0, 1152817.509 1035635.469 0, 1152547.137 1035626.482 0, 1152276.765 1035617.511 0, 1152006.392 1035608.557 0, 1151736.019 1035599.618 0, 1151465.645 1035590.695 0, 1151195.27 1035581.788 0, 1150924.896 1035572.897 0, 1150654.52 1035564.022 0,
+ 1150384.144 1035555.162 0, 1150113.768 1035546.319 0, 1149843.391 1035537.492 0, 1149573.013 1035528.68 0, 1149301.351 1035519.843 0, 1149032.257 1035511.105 0, 1148761.878 1035502.341 0, 1148491.498 1035493.593 0, 1148221.118 1035484.861 0, 1147950.738 1035476.145 0,
+ 1147680.357 1035467.445 0, 1147409.975 1035458.761 0, 1147139.593 1035450.092 0, 1146869.21 1035441.44 0, 1146598.827 1035432.804 0, 1146328.444 1035424.183 0, 1146058.06 1035415.578 0, 1145787.675 1035406.99 0, 1145517.29 1035398.417 0, 1145246.904 1035389.86 0,
+ 1144976.518 1035381.319 0, 1144706.131 1035372.794 0, 1144435.744 1035364.285 0, 1144165.357 1035355.791 0, 1143894.968 1035347.314 0, 1143624.58 1035338.853 0, 1143354.191 1035330.407 0, 1143083.801 1035321.978 0, 1142812.125 1035313.524 0, 1142638.717 1040891.675 0,
+ 1142465.307 1046469.882 0, 1142736.323 1046478.315 0, 1143006.056 1046486.724 0, 1143275.789 1046495.149 0, 1143545.521 1046503.59 0, 1143815.252 1046512.047 0, 1144084.983 1046520.52 0, 1144354.714 1046529.008 0, 1144624.444 1046537.513 0, 1144894.173 1046546.033 0,
+ 1145163.902 1046554.569 0, 1145433.631 1046563.121 0, 1145703.359 1046571.689 0, 1145973.086 1046580.273 0, 1146242.813 1046588.872 0, 1146512.54 1046597.488 0, 1146782.266 1046606.119 0, 1147051.991 1046614.766 0, 1147321.716 1046623.429 0, 1147591.44 1046632.108 0,
+ 1147861.164 1046640.803 0, 1148130.888 1046649.514 0, 1148400.611 1046658.241 0, 1148670.333 1046666.983 0, 1148938.774 1046675.7 0, 1149209.776 1046684.516 0, 1149479.497 1046693.306 0, 1149749.218 1046702.112 0, 1150018.937 1046710.934 0, 1150288.657 1046719.772 0,
+ 1150558.376 1046728.625 0, 1150828.094 1046737.495 0, 1151097.812 1046746.38 0, 1151367.529 1046755.281 0, 1151637.245 1046764.198 0, 1151906.962 1046773.131 0, 1152176.677 1046782.08 0, 1152446.392 1046791.045 0, 1152716.107 1046800.026 0, 1152985.821 1046809.022 0,
+ 1153255.534 1046818.035 0, 1153525.247 1046827.063 0, 1153794.96 1046836.107 0, 1154064.672 1046845.167 0, 1154334.383 1046854.243 0, 1154604.094 1046863.335 0, 1154873.804 1046872.442 0, 1155143.514 1046881.566 0, 1155411.943 1046890.662 0, 1155601.112 1041312.966 0,
+ 1155790.279 1035735.328 0))
+
+POLYGON ((1168357.339 1047348.016 0, 1168088.935 1047338.162 0, 1167819.252 1047328.276 0, 1167549.568 1047318.407 0, 1167279.884 1047308.553 0, 1167010.199 1047298.715 0, 1166740.514 1047288.893 0, 1166470.828 1047279.087 0, 1166201.142 1047269.297 0, 1165931.455 1047259.523 0,
+ 1165661.767 1047249.764 0, 1165392.079 1047240.022 0, 1165122.39 1047230.295 0, 1164852.701 1047220.584 0, 1164583.011 1047210.889 0, 1164313.321 1047201.21 0, 1164043.63 1047191.547 0, 1163773.938 1047181.899 0, 1163504.246 1047172.268 0, 1163234.554 1047162.652 0,
+ 1162964.86 1047153.053 0, 1162695.167 1047143.469 0, 1162425.472 1047133.901 0, 1162155.777 1047124.349 0, 1161884.803 1047114.767 0, 1161616.386 1047105.292 0, 1161346.689 1047095.788 0, 1161076.992 1047086.299 0, 1160807.294 1047076.826 0, 1160537.596 1047067.369 0,
+ 1160267.897 1047057.928 0, 1159998.197 1047048.503 0, 1159728.498 1047039.094 0, 1159458.797 1047029.701 0, 1159189.096 1047020.323 0, 1158919.394 1047010.962 0, 1158649.692 1047001.616 0, 1158379.989 1046992.286 0, 1158110.286 1046982.972 0, 1157840.582 1046973.674 0,
+ 1157570.878 1046964.392 0, 1157301.173 1046955.125 0, 1157031.468 1046945.875 0, 1156761.762 1046936.64 0, 1156492.055 1046927.421 0, 1156222.348 1046918.218 0, 1155952.64 1046909.031 0, 1155682.932 1046899.86 0, 1155411.943 1046890.662 0, 1155222.773 1052468.409 0,
+ 1155033.601 1058046.205 0, 1155303.93 1058055.382 0, 1155572.981 1058064.53 0, 1155842.032 1058073.695 0, 1156111.083 1058082.875 0, 1156380.133 1058092.072 0, 1156649.182 1058101.284 0, 1156918.231 1058110.512 0, 1157187.279 1058119.756 0, 1157456.327 1058129.015 0,
+ 1157725.374 1058138.291 0, 1157994.421 1058147.582 0, 1158263.467 1058156.889 0, 1158532.513 1058166.212 0, 1158801.558 1058175.551 0, 1159070.602 1058184.906 0, 1159339.646 1058194.276 0, 1159608.69 1058203.663 0, 1159877.733 1058213.065 0, 1160146.775 1058222.483 0,
+ 1160415.817 1058231.917 0, 1160684.858 1058241.366 0, 1160953.898 1058250.832 0, 1161222.939 1058260.313 0, 1161490.702 1058269.765 0, 1161761.017 1058279.323 0, 1162030.055 1058288.852 0, 1162299.093 1058298.397 0, 1162568.13 1058307.957 0, 1162837.167 1058317.534 0,
+ 1163106.203 1058327.126 0, 1163375.239 1058336.734 0, 1163644.274 1058346.358 0, 1163913.308 1058355.997 0, 1164182.342 1058365.653 0, 1164451.375 1058375.324 0, 1164720.408 1058385.012 0, 1164989.44 1058394.715 0, 1165258.472 1058404.433 0, 1165527.503 1058414.168 0,
+ 1165796.533 1058423.919 0, 1166065.563 1058433.685 0, 1166334.593 1058443.467 0, 1166603.621 1058453.265 0, 1166872.649 1058463.079 0, 1167141.677 1058472.909 0, 1167410.704 1058482.754 0, 1167679.73 1058492.616 0, 1167947.481 1058502.446 0, 1168152.411 1052925.207 0,
+ 1168357.339 1047348.016 0))
+
+POLYGON ((1180860.022 1058995.169 0, 1180592.297 1058984.583 0, 1180323.3 1058973.961 0, 1180054.302 1058963.356 0, 1179785.303 1058952.766 0, 1179516.304 1058942.192 0, 1179247.304 1058931.634 0, 1178978.303 1058921.092 0, 1178709.302 1058910.565 0, 1178440.3 1058900.055 0,
+ 1178171.298 1058889.56 0, 1177902.295 1058879.081 0, 1177633.291 1058868.618 0, 1177364.287 1058858.171 0, 1177095.282 1058847.739 0, 1176826.276 1058837.324 0, 1176557.27 1058826.924 0, 1176288.263 1058816.54 0, 1176019.256 1058806.172 0, 1175750.248 1058795.82 0,
+ 1175481.24 1058785.484 0, 1175212.23 1058775.163 0, 1174943.221 1058764.858 0, 1174674.21 1058754.569 0, 1174403.926 1058744.248 0, 1174136.188 1058734.039 0, 1173867.175 1058723.798 0, 1173598.163 1058713.572 0, 1173329.149 1058703.362 0, 1173060.135 1058693.169 0,
+ 1172791.121 1058682.991 0, 1172522.105 1058672.828 0, 1172253.09 1058662.682 0, 1171984.073 1058652.551 0, 1171715.056 1058642.437 0, 1171446.039 1058632.338 0, 1171177.02 1058622.255 0, 1170908.002 1058612.187 0, 1170638.982 1058602.136 0, 1170369.962 1058592.101 0,
+ 1170100.942 1058582.081 0, 1169831.921 1058572.077 0, 1169562.899 1058562.089 0, 1169293.877 1058552.117 0, 1169024.854 1058542.16 0, 1168755.83 1058532.22 0, 1168486.806 1058522.295 0, 1168217.781 1058512.386 0, 1167947.481 1058502.446 0, 1167742.55 1064079.729 0,
+ 1167537.617 1069657.052 0, 1167807.258 1069666.968 0, 1168075.626 1069676.852 0, 1168343.993 1069686.753 0, 1168612.36 1069696.669 0, 1168880.727 1069706.601 0, 1169149.093 1069716.549 0, 1169417.458 1069726.513 0, 1169685.822 1069736.492 0, 1169954.186 1069746.487 0,
+ 1170222.55 1069756.499 0, 1170490.913 1069766.525 0, 1170759.275 1069776.568 0, 1171027.637 1069786.626 0, 1171295.998 1069796.701 0, 1171564.358 1069806.791 0, 1171832.718 1069816.897 0, 1172101.077 1069827.018 0, 1172369.436 1069837.156 0, 1172637.794 1069847.309 0,
+ 1172906.152 1069857.478 0, 1173174.508 1069867.663 0, 1173442.865 1069877.863 0, 1173711.22 1069888.08 0, 1173978.305 1069898.263 0, 1174247.93 1069908.56 0, 1174516.284 1069918.824 0, 1174784.637 1069929.103 0, 1175052.99 1069939.399 0, 1175321.342 1069949.71 0,
+ 1175589.693 1069960.037 0, 1175858.044 1069970.38 0, 1176126.395 1069980.738 0, 1176394.744 1069991.112 0, 1176663.093 1070001.503 0, 1176931.442 1070011.909 0, 1177199.789 1070022.33 0, 1177468.137 1070032.768 0, 1177736.483 1070043.221 0, 1178004.829 1070053.69 0,
+ 1178273.175 1070064.175 0, 1178541.519 1070074.676 0, 1178809.863 1070085.192 0, 1179078.207 1070095.725 0, 1179346.55 1070106.273 0, 1179614.892 1070116.837 0, 1179883.234 1070127.416 0, 1180151.575 1070138.012 0, 1180418.645 1070148.573 0, 1180639.334 1064571.851 0,
+ 1180860.022 1058995.169 0))
+
+POLYGON ((1193298.234 1070676.483 0, 1193031.191 1070665.167 0, 1192762.881 1070653.814 0, 1192494.571 1070642.476 0, 1192226.259 1070631.154 0, 1191957.947 1070619.848 0, 1191689.635 1070608.557 0, 1191421.322 1070597.283 0, 1191153.008 1070586.024 0, 1190884.693 1070574.781 0,
+ 1190616.378 1070563.554 0, 1190348.062 1070552.342 0, 1190079.745 1070541.147 0, 1189811.428 1070529.967 0, 1189543.11 1070518.803 0, 1189274.791 1070507.655 0, 1189006.472 1070496.522 0, 1188738.152 1070485.406 0, 1188469.831 1070474.305 0, 1188201.51 1070463.22 0,
+ 1187933.188 1070452.15 0, 1187664.866 1070441.097 0, 1187396.543 1070430.059 0, 1187128.219 1070419.037 0, 1186858.626 1070407.979 0, 1186591.569 1070397.041 0, 1186323.243 1070386.066 0, 1186054.917 1070375.108 0, 1185786.59 1070364.165 0, 1185518.262 1070353.238 0,
+ 1185249.934 1070342.326 0, 1184981.605 1070331.431 0, 1184713.275 1070320.551 0, 1184444.945 1070309.687 0, 1184176.614 1070298.839 0, 1183908.283 1070288.007 0, 1183639.95 1070277.19 0, 1183371.618 1070266.389 0, 1183103.284 1070255.604 0, 1182834.95 1070244.835 0,
+ 1182566.615 1070234.082 0, 1182298.28 1070223.344 0, 1182029.944 1070212.622 0, 1181761.607 1070201.916 0, 1181493.27 1070191.226 0, 1181224.932 1070180.551 0, 1180956.594 1070169.893 0, 1180688.255 1070159.25 0, 1180418.645 1070148.573 0, 1180197.955 1075725.329 0,
+ 1179977.264 1081302.117 0, 1180246.213 1081312.768 0, 1180513.896 1081323.385 0, 1180781.578 1081334.018 0, 1181049.259 1081344.666 0, 1181316.94 1081355.33 0, 1181584.62 1081366.01 0, 1181852.3 1081376.706 0, 1182119.979 1081387.417 0, 1182387.657 1081398.144 0,
+ 1182655.335 1081408.887 0, 1182923.012 1081419.646 0, 1183190.688 1081430.42 0, 1183458.364 1081441.21 0, 1183726.039 1081452.016 0, 1183993.713 1081462.838 0, 1184261.387 1081473.675 0, 1184529.06 1081484.528 0, 1184796.733 1081495.397 0, 1185064.405 1081506.282 0,
+ 1185332.076 1081517.182 0, 1185599.746 1081528.098 0, 1185867.416 1081539.03 0, 1186135.086 1081549.978 0, 1186401.489 1081560.889 0, 1186670.422 1081571.92 0, 1186938.09 1081582.915 0, 1187205.757 1081593.926 0, 1187473.423 1081604.952 0, 1187741.088 1081615.995 0,
+ 1188008.753 1081627.052 0, 1188276.417 1081638.126 0, 1188544.081 1081649.216 0, 1188811.743 1081660.321 0, 1189079.406 1081671.442 0, 1189347.067 1081682.578 0, 1189614.728 1081693.731 0, 1189882.388 1081704.899 0, 1190150.048 1081716.083 0, 1190417.707 1081727.283 0,
+ 1190685.365 1081738.498 0, 1190953.022 1081749.73 0, 1191220.679 1081760.977 0, 1191488.336 1081772.239 0, 1191755.991 1081783.518 0, 1192023.646 1081794.812 0, 1192291.3 1081806.122 0, 1192558.954 1081817.448 0, 1192825.343 1081828.736 0, 1193061.789 1076252.594 0,
+ 1193298.234 1070676.483 0))
+
+POLYGON ((1205671.883 1082391.65 0, 1205405.525 1082379.61 0, 1205137.904 1082367.528 0, 1204870.283 1082355.462 0, 1204602.661 1082343.411 0, 1204335.038 1082331.377 0, 1204067.415 1082319.358 0, 1203799.791 1082307.355 0, 1203532.166 1082295.367 0, 1203264.541 1082283.396 0,
+ 1202996.915 1082271.44 0, 1202729.288 1082259.5 0, 1202461.66 1082247.575 0, 1202194.032 1082235.667 0, 1201926.403 1082223.774 0, 1201658.773 1082211.897 0, 1201391.143 1082200.035 0, 1201123.512 1082188.19 0, 1200855.88 1082176.36 0, 1200588.247 1082164.546 0,
+ 1200320.614 1082152.748 0, 1200052.98 1082140.965 0, 1199785.346 1082129.198 0, 1199517.71 1082117.447 0, 1199248.811 1082105.656 0, 1198982.438 1082093.992 0, 1198714.801 1082082.288 0, 1198447.163 1082070.6 0, 1198179.524 1082058.928 0, 1197911.884 1082047.271 0,
+ 1197644.244 1082035.63 0, 1197376.604 1082024.005 0, 1197108.962 1082012.396 0, 1196841.32 1082000.803 0, 1196573.677 1081989.225 0, 1196306.034 1081977.663 0, 1196038.39 1081966.116 0, 1195770.745 1081954.586 0, 1195503.099 1081943.071 0, 1195235.453 1081931.572 0,
+ 1194967.806 1081920.089 0, 1194700.159 1081908.621 0, 1194432.51 1081897.169 0, 1194164.861 1081885.733 0, 1193897.212 1081874.313 0, 1193629.562 1081862.908 0, 1193361.911 1081851.52 0, 1193094.259 1081840.147 0, 1192825.343 1081828.736 0, 1192588.896 1087404.904 0,
+ 1192352.447 1092981.096 0, 1192620.704 1092992.478 0, 1192887.699 1093003.824 0, 1193154.694 1093015.184 0, 1193421.688 1093026.561 0, 1193688.681 1093037.953 0, 1193955.674 1093049.361 0, 1194222.665 1093060.785 0, 1194489.657 1093072.224 0, 1194756.647 1093083.679 0,
+ 1195023.637 1093095.15 0, 1195290.626 1093106.637 0, 1195557.614 1093118.139 0, 1195824.602 1093129.657 0, 1196091.589 1093141.191 0, 1196358.576 1093152.74 0, 1196625.562 1093164.305 0, 1196892.547 1093175.886 0, 1197159.531 1093187.483 0, 1197426.515 1093199.095 0,
+ 1197693.498 1093210.723 0, 1197960.48 1093222.367 0, 1198227.462 1093234.026 0, 1198494.443 1093245.701 0, 1198760.163 1093257.337 0, 1199028.402 1093269.099 0, 1199295.381 1093280.821 0, 1199562.36 1093292.559 0, 1199829.337 1093304.313 0, 1200096.314 1093316.082 0,
+ 1200363.29 1093327.867 0, 1200630.265 1093339.668 0, 1200897.24 1093351.485 0, 1201164.214 1093363.317 0, 1201431.188 1093375.165 0, 1201698.16 1093387.029 0, 1201965.132 1093398.908 0, 1202232.103 1093410.803 0, 1202499.074 1093422.714 0, 1202766.044 1093434.64 0,
+ 1203033.013 1093446.583 0, 1203299.981 1093458.541 0, 1203566.949 1093470.514 0, 1203833.916 1093482.504 0, 1204100.882 1093494.509 0, 1204367.848 1093506.53 0, 1204634.813 1093518.566 0, 1204901.777 1093530.619 0, 1205167.482 1093542.63 0, 1205419.683 1087967.129 0,
+ 1205671.883 1082391.65 0))
+
+POLYGON ((1217980.879 1094140.366 0, 1217715.207 1094127.604 0, 1217448.278 1094114.798 0, 1217181.348 1094102.007 0, 1216914.417 1094089.232 0, 1216647.486 1094076.473 0, 1216380.554 1094063.729 0, 1216113.621 1094051.002 0, 1215846.688 1094038.289 0, 1215579.753 1094025.593 0,
+ 1215312.818 1094012.912 0, 1215045.882 1094000.247 0, 1214778.946 1093987.598 0, 1214512.008 1093974.964 0, 1214245.07 1093962.346 0, 1213978.132 1093949.744 0, 1213711.192 1093937.158 0, 1213444.252 1093924.587 0, 1213177.311 1093912.032 0, 1212910.369 1093899.493 0,
+ 1212643.426 1093886.969 0, 1212376.483 1093874.461 0, 1212109.539 1093861.969 0, 1211842.595 1093849.492 0, 1211574.391 1093836.973 0, 1211308.703 1093824.586 0, 1211041.756 1093812.157 0, 1210774.808 1093799.743 0, 1210507.86 1093787.346 0, 1210240.911 1093774.963 0,
+ 1209973.961 1093762.597 0, 1209707.01 1093750.246 0, 1209440.059 1093737.911 0, 1209173.107 1093725.592 0, 1208906.154 1093713.288 0, 1208639.201 1093701 0, 1208372.247 1093688.728 0, 1208105.292 1093676.471 0, 1207838.336 1093664.23 0, 1207571.38 1093652.005 0,
+ 1207304.423 1093639.796 0, 1207037.465 1093627.602 0, 1206770.507 1093615.424 0, 1206503.547 1093603.262 0, 1206236.588 1093591.116 0, 1205969.627 1093578.985 0, 1205702.666 1093566.87 0, 1205435.703 1093554.77 0, 1205167.482 1093542.63 0, 1204915.28 1099118.148 0,
+ 1204663.078 1104693.681 0, 1204930.64 1104705.791 0, 1205196.946 1104717.861 0, 1205463.251 1104729.946 0, 1205729.555 1104742.047 0, 1205995.859 1104754.164 0, 1206262.161 1104766.296 0, 1206528.464 1104778.444 0, 1206794.765 1104790.608 0, 1207061.066 1104802.787 0,
+ 1207327.366 1104814.982 0, 1207593.665 1104827.193 0, 1207859.964 1104839.42 0, 1208126.262 1104851.662 0, 1208392.559 1104863.919 0, 1208658.855 1104876.193 0, 1208925.151 1104888.482 0, 1209191.446 1104900.787 0, 1209457.74 1104913.107 0, 1209724.034 1104925.443 0,
+ 1209990.327 1104937.795 0, 1210256.619 1104950.162 0, 1210522.91 1104962.545 0, 1210789.201 1104974.944 0, 1211054.236 1104987.3 0, 1211321.78 1104999.789 0, 1211588.068 1105012.235 0, 1211854.356 1105024.696 0, 1212120.643 1105037.173 0, 1212386.929 1105049.666 0,
+ 1212653.214 1105062.175 0, 1212919.499 1105074.699 0, 1213185.783 1105087.239 0, 1213452.066 1105099.794 0, 1213718.349 1105112.365 0, 1213984.631 1105124.952 0, 1214250.912 1105137.555 0, 1214517.192 1105150.173 0, 1214783.472 1105162.807 0, 1215049.751 1105175.457 0,
+ 1215316.029 1105188.122 0, 1215582.306 1105200.803 0, 1215848.583 1105213.499 0, 1216114.858 1105226.212 0, 1216381.133 1105238.939 0, 1216647.408 1105251.683 0, 1216913.681 1105264.442 0, 1217179.954 1105277.217 0, 1217444.973 1105289.948 0, 1217712.926 1099715.15 0,
+ 1217980.879 1094140.366 0))
+
+POLYGON ((1230225.132 1105922.324 0, 1229960.149 1105908.844 0, 1229693.913 1105895.317 0, 1229427.677 1105881.806 0, 1229161.439 1105868.31 0, 1228895.201 1105854.83 0, 1228628.962 1105841.365 0, 1228362.723 1105827.916 0, 1228096.482 1105814.483 0, 1227830.241 1105801.066 0,
+ 1227563.999 1105787.664 0, 1227297.756 1105774.278 0, 1227031.513 1105760.907 0, 1226765.268 1105747.553 0, 1226499.023 1105734.214 0, 1226232.777 1105720.89 0, 1225966.53 1105707.582 0, 1225700.283 1105694.29 0, 1225434.035 1105681.014 0, 1225167.785 1105667.753 0,
+ 1224901.536 1105654.508 0, 1224635.285 1105641.279 0, 1224369.033 1105628.065 0, 1224102.781 1105614.867 0, 1223835.276 1105601.622 0, 1223570.275 1105588.518 0, 1223304.02 1105575.366 0, 1223037.765 1105562.231 0, 1222771.509 1105549.111 0, 1222505.252 1105536.007 0,
+ 1222238.994 1105522.919 0, 1221972.736 1105509.846 0, 1221706.477 1105496.789 0, 1221440.217 1105483.748 0, 1221173.956 1105470.722 0, 1220907.695 1105457.712 0, 1220641.432 1105444.718 0, 1220375.169 1105431.739 0, 1220108.906 1105418.776 0, 1219842.641 1105405.829 0,
+ 1219576.376 1105392.897 0, 1219310.11 1105379.981 0, 1219043.843 1105367.081 0, 1218777.575 1105354.196 0, 1218511.307 1105341.327 0, 1218245.038 1105328.474 0, 1217978.768 1105315.636 0, 1217712.498 1105302.814 0, 1217444.973 1105289.948 0, 1217177.019 1110864.754 0,
+ 1216909.065 1116439.566 0, 1217175.931 1116452.401 0, 1217441.545 1116465.191 0, 1217707.159 1116477.997 0, 1217972.771 1116490.819 0, 1218238.384 1116503.656 0, 1218503.995 1116516.509 0, 1218769.605 1116529.377 0, 1219035.215 1116542.262 0, 1219300.824 1116555.161 0,
+ 1219566.433 1116568.077 0, 1219832.04 1116581.008 0, 1220097.647 1116593.955 0, 1220363.253 1116606.917 0, 1220628.858 1116619.895 0, 1220894.463 1116632.888 0, 1221160.066 1116645.898 0, 1221425.669 1116658.922 0, 1221691.271 1116671.963 0, 1221956.873 1116685.019 0,
+ 1222222.473 1116698.091 0, 1222488.073 1116711.178 0, 1222753.672 1116724.281 0, 1223019.271 1116737.4 0, 1223283.619 1116750.472 0, 1223550.465 1116763.684 0, 1223816.061 1116776.85 0, 1224081.656 1116790.031 0, 1224347.251 1116803.228 0, 1224612.844 1116816.44 0,
+ 1224878.437 1116829.668 0, 1225144.029 1116842.912 0, 1225409.621 1116856.171 0, 1225675.211 1116869.446 0, 1225940.801 1116882.737 0, 1226206.39 1116896.043 0, 1226471.978 1116909.365 0, 1226737.566 1116922.702 0, 1227003.152 1116936.056 0, 1227268.738 1116949.424 0,
+ 1227534.323 1116962.809 0, 1227799.908 1116976.209 0, 1228065.491 1116989.625 0, 1228331.074 1117003.056 0, 1228596.656 1117016.503 0, 1228862.237 1117029.965 0, 1229127.817 1117043.443 0, 1229393.397 1117056.937 0, 1229657.727 1117070.383 0, 1229941.43 1111496.351 0,
+ 1230225.132 1105922.324 0))
+
+POLYGON ((1242404.556 1117737.215 0, 1242140.263 1117723.023 0, 1241874.722 1117708.778 0, 1241609.181 1117694.55 0, 1241343.639 1117680.337 0, 1241078.096 1117666.14 0, 1240812.552 1117651.958 0, 1240547.008 1117637.793 0, 1240281.463 1117623.642 0, 1240015.916 1117609.508 0,
+ 1239750.369 1117595.389 0, 1239484.822 1117581.285 0, 1239219.273 1117567.197 0, 1238953.723 1117553.125 0, 1238688.173 1117539.069 0, 1238422.622 1117525.028 0, 1238157.07 1117511.002 0, 1237891.517 1117496.993 0, 1237625.963 1117482.999 0, 1237360.409 1117469.02 0,
+ 1237094.854 1117455.058 0, 1236829.297 1117441.111 0, 1236563.741 1117427.179 0, 1236298.183 1117413.263 0, 1236031.377 1117399.298 0, 1235767.065 1117385.478 0, 1235501.505 1117371.609 0, 1235235.944 1117357.756 0, 1234970.382 1117343.918 0, 1234704.819 1117330.096 0,
+ 1234439.256 1117316.29 0, 1234173.691 1117302.499 0, 1233908.126 1117288.724 0, 1233642.56 1117274.964 0, 1233376.994 1117261.22 0, 1233111.426 1117247.492 0, 1232845.858 1117233.779 0, 1232580.289 1117220.082 0, 1232314.719 1117206.401 0, 1232049.148 1117192.735 0,
+ 1231783.577 1117179.085 0, 1231518.004 1117165.451 0, 1231252.431 1117151.832 0, 1230986.857 1117138.229 0, 1230721.282 1117124.641 0, 1230455.707 1117111.069 0, 1230190.13 1117097.513 0, 1229924.553 1117083.972 0, 1229657.727 1117070.383 0, 1229374.024 1122644.416 0,
+ 1229090.322 1128218.444 0, 1229356.489 1128231.999 0, 1229621.41 1128245.507 0, 1229886.33 1128259.029 0, 1230151.249 1128272.568 0, 1230416.168 1128286.122 0, 1230681.086 1128299.692 0, 1230946.003 1128313.277 0, 1231210.919 1128326.878 0, 1231475.834 1128340.494 0,
+ 1231740.749 1128354.126 0, 1232005.663 1128367.774 0, 1232270.576 1128381.437 0, 1232535.488 1128395.116 0, 1232800.399 1128408.81 0, 1233065.31 1128422.52 0, 1233330.22 1128436.246 0, 1233595.129 1128449.987 0, 1233860.037 1128463.743 0, 1234124.944 1128477.516 0,
+ 1234389.851 1128491.304 0, 1234654.757 1128505.107 0, 1234919.661 1128518.926 0, 1235184.566 1128532.761 0, 1235448.225 1128546.546 0, 1235714.371 1128560.477 0, 1235979.273 1128574.359 0, 1236244.174 1128588.256 0, 1236509.074 1128602.168 0, 1236773.973 1128616.097 0,
+ 1237038.871 1128630.04 0, 1237303.769 1128644 0, 1237568.666 1128657.975 0, 1237833.562 1128671.966 0, 1238098.457 1128685.972 0, 1238363.351 1128699.994 0, 1238628.244 1128714.031 0, 1238893.137 1128728.084 0, 1239158.029 1128742.152 0, 1239422.92 1128756.237 0,
+ 1239687.81 1128770.336 0, 1239952.699 1128784.452 0, 1240217.587 1128798.583 0, 1240482.475 1128812.729 0, 1240747.362 1128826.891 0, 1241012.248 1128841.069 0, 1241277.133 1128855.262 0, 1241542.017 1128869.471 0, 1241805.658 1128883.629 0, 1242105.107 1123310.424 0,
+ 1242404.556 1117737.215 0))
+
+POLYGON ((1254519.064 1129584.734 0, 1254255.462 1129569.831 0, 1253990.619 1129554.874 0, 1253725.775 1129539.933 0, 1253460.93 1129525.007 0, 1253196.085 1129510.096 0, 1252931.238 1129495.201 0, 1252666.39 1129480.322 0, 1252401.542 1129465.458 0, 1252136.693 1129450.61 0,
+ 1251871.843 1129435.778 0, 1251606.992 1129420.961 0, 1251342.14 1129406.16 0, 1251077.287 1129391.374 0, 1250812.434 1129376.604 0, 1250547.579 1129361.849 0, 1250282.724 1129347.111 0, 1250017.868 1129332.387 0, 1249753.011 1129317.679 0, 1249488.153 1129302.987 0,
+ 1249223.294 1129288.311 0, 1248958.434 1129273.65 0, 1248693.574 1129259.004 0, 1248428.712 1129244.374 0, 1248162.608 1129229.692 0, 1247898.987 1129215.162 0, 1247634.123 1129200.579 0, 1247369.258 1129186.011 0, 1247104.393 1129171.459 0, 1246839.526 1129156.923 0,
+ 1246574.659 1129142.402 0, 1246309.79 1129127.897 0, 1246044.921 1129113.408 0, 1245780.051 1129098.934 0, 1245515.181 1129084.475 0, 1245250.309 1129070.033 0, 1244985.437 1129055.605 0, 1244720.563 1129041.194 0, 1244455.689 1129026.798 0, 1244190.814 1129012.418 0,
+ 1243925.938 1128998.053 0, 1243661.061 1128983.704 0, 1243396.184 1128969.37 0, 1243131.305 1128955.052 0, 1242866.426 1128940.75 0, 1242601.546 1128926.463 0, 1242336.665 1128912.191 0, 1242071.783 1128897.936 0, 1241805.658 1128883.629 0, 1241506.209 1134456.825 0,
+ 1241206.761 1140030.008 0, 1241472.228 1140044.28 0, 1241736.454 1140058.5 0, 1242000.678 1140072.736 0, 1242264.902 1140086.987 0, 1242529.126 1140101.254 0, 1242793.348 1140115.537 0, 1243057.57 1140129.835 0, 1243321.79 1140144.149 0, 1243586.01 1140158.478 0,
+ 1243850.229 1140172.823 0, 1244114.447 1140187.183 0, 1244378.665 1140201.559 0, 1244642.881 1140215.95 0, 1244907.097 1140230.357 0, 1245171.311 1140244.78 0, 1245435.525 1140259.218 0, 1245699.738 1140273.671 0, 1245963.951 1140288.141 0, 1246228.162 1140302.625 0,
+ 1246492.372 1140317.126 0, 1246756.582 1140331.641 0, 1247020.791 1140346.173 0, 1247284.999 1140360.72 0, 1247547.967 1140375.214 0, 1247813.412 1140389.86 0, 1248077.618 1140404.454 0, 1248341.822 1140419.063 0, 1248606.026 1140433.688 0, 1248870.229 1140448.328 0,
+ 1249134.43 1140462.984 0, 1249398.632 1140477.655 0, 1249662.832 1140492.342 0, 1249927.031 1140507.044 0, 1250191.23 1140521.762 0, 1250455.427 1140536.496 0, 1250719.624 1140551.245 0, 1250983.82 1140566.01 0, 1251248.015 1140580.79 0, 1251512.209 1140595.585 0,
+ 1251776.402 1140610.397 0, 1252040.595 1140625.224 0, 1252304.786 1140640.066 0, 1252568.977 1140654.924 0, 1252833.166 1140669.797 0, 1253097.355 1140684.686 0, 1253361.543 1140699.591 0, 1253625.73 1140714.511 0, 1253888.679 1140729.377 0, 1254203.871 1135157.062 0,
+ 1254519.064 1129584.734 0))
+
+POLYGON ((1266568.57 1141464.571 0, 1266305.663 1141448.963 0, 1266041.519 1141433.296 0, 1265777.374 1141417.645 0, 1265513.228 1141402.01 0, 1265249.082 1141386.39 0, 1264984.934 1141370.786 0, 1264720.785 1141355.197 0, 1264456.636 1141339.624 0, 1264192.486 1141324.066 0,
+ 1263928.334 1141308.524 0, 1263664.182 1141292.998 0, 1263400.029 1141277.487 0, 1263135.875 1141261.991 0, 1262871.72 1141246.512 0, 1262607.564 1141231.047 0, 1262343.408 1141215.598 0, 1262079.25 1141200.165 0, 1261815.091 1141184.748 0, 1261550.932 1141169.345 0,
+ 1261286.771 1141153.959 0, 1261022.61 1141138.588 0, 1260758.448 1141123.232 0, 1260494.285 1141107.892 0, 1260228.884 1141092.496 0, 1259965.956 1141077.259 0, 1259701.79 1141061.966 0, 1259437.624 1141046.688 0, 1259173.456 1141031.426 0, 1258909.287 1141016.179 0,
+ 1258645.118 1141000.948 0, 1258380.948 1140985.732 0, 1258116.777 1140970.532 0, 1257852.604 1140955.348 0, 1257588.432 1140940.179 0, 1257324.258 1140925.026 0, 1257060.083 1140909.888 0, 1256795.907 1140894.766 0, 1256531.731 1140879.659 0, 1256267.553 1140864.568 0,
+ 1256003.375 1140849.492 0, 1255739.196 1140834.432 0, 1255475.016 1140819.387 0, 1255210.835 1140804.358 0, 1254946.653 1140789.345 0, 1254682.47 1140774.347 0, 1254418.287 1140759.365 0, 1254154.102 1140744.398 0, 1253888.679 1140729.377 0, 1253573.488 1146301.674 0,
+ 1253258.298 1151873.95 0, 1253523.062 1151888.934 0, 1253786.591 1151903.863 0, 1254050.119 1151918.808 0, 1254313.645 1151933.769 0, 1254577.171 1151948.745 0, 1254840.696 1151963.737 0, 1255104.221 1151978.744 0, 1255367.744 1151993.767 0, 1255631.266 1152008.805 0,
+ 1255894.788 1152023.859 0, 1256158.308 1152038.928 0, 1256421.828 1152054.012 0, 1256685.347 1152069.113 0, 1256948.865 1152084.228 0, 1257212.382 1152099.36 0, 1257475.898 1152114.506 0, 1257739.413 1152129.669 0, 1258002.928 1152144.846 0, 1258266.441 1152160.04 0,
+ 1258529.954 1152175.249 0, 1258793.465 1152190.473 0, 1259056.976 1152205.713 0, 1259320.486 1152220.968 0, 1259582.762 1152236.167 0, 1259847.503 1152251.525 0, 1260111.01 1152266.827 0, 1260374.517 1152282.145 0, 1260638.022 1152297.477 0, 1260901.527 1152312.826 0,
+ 1261165.03 1152328.19 0, 1261428.533 1152343.569 0, 1261692.035 1152358.964 0, 1261955.535 1152374.374 0, 1262219.035 1152389.8 0, 1262482.535 1152405.242 0, 1262746.033 1152420.699 0, 1263009.53 1152436.171 0, 1263273.026 1152451.659 0, 1263536.522 1152467.163 0,
+ 1263800.016 1152482.682 0, 1264063.51 1152498.216 0, 1264327.002 1152513.766 0, 1264590.494 1152529.332 0, 1264853.985 1152544.913 0, 1265117.475 1152560.509 0, 1265380.964 1152576.121 0, 1265644.452 1152591.749 0, 1265906.707 1152607.319 0, 1266237.638 1147035.956 0,
+ 1266568.57 1141464.571 0))
+
+POLYGON ((1278552.993 1153376.419 0, 1278290.781 1153360.108 0, 1278027.338 1153343.736 0, 1277763.894 1153327.38 0, 1277500.449 1153311.039 0, 1277237.004 1153294.714 0, 1276973.557 1153278.404 0, 1276710.109 1153262.109 0, 1276446.661 1153245.83 0, 1276183.211 1153229.567 0,
+ 1275919.76 1153213.319 0, 1275656.309 1153197.087 0, 1275392.856 1153180.87 0, 1275129.403 1153164.669 0, 1274865.949 1153148.483 0, 1274602.493 1153132.313 0, 1274339.037 1153116.158 0, 1274075.58 1153100.019 0, 1273812.122 1153083.895 0, 1273548.662 1153067.787 0,
+ 1273285.202 1153051.694 0, 1273021.741 1153035.616 0, 1272758.279 1153019.555 0, 1272494.816 1153003.508 0, 1272230.121 1152987.403 0, 1271967.888 1152971.462 0, 1271704.422 1152955.463 0, 1271440.955 1152939.478 0, 1271177.488 1152923.51 0, 1270914.019 1152907.557 0,
+ 1270650.55 1152891.619 0, 1270387.079 1152875.697 0, 1270123.608 1152859.79 0, 1269860.136 1152843.899 0, 1269596.662 1152828.023 0, 1269333.188 1152812.163 0, 1269069.713 1152796.318 0, 1268806.237 1152780.489 0, 1268542.76 1152764.675 0, 1268279.282 1152748.877 0,
+ 1268015.803 1152733.095 0, 1267752.323 1152717.328 0, 1267488.843 1152701.576 0, 1267225.361 1152685.84 0, 1266961.879 1152670.119 0, 1266698.395 1152654.414 0, 1266434.911 1152638.725 0, 1266171.425 1152623.05 0, 1265906.707 1152607.319 0, 1265575.777 1158178.655 0,
+ 1265244.85 1163749.96 0, 1265508.909 1163765.652 0, 1265771.739 1163781.288 0, 1266034.567 1163796.938 0, 1266297.395 1163812.604 0, 1266560.222 1163828.286 0, 1266823.048 1163843.982 0, 1267085.872 1163859.695 0, 1267348.696 1163875.423 0, 1267611.519 1163891.166 0,
+ 1267874.341 1163906.925 0, 1268137.163 1163922.699 0, 1268399.983 1163938.489 0, 1268662.802 1163954.294 0, 1268925.621 1163970.115 0, 1269188.438 1163985.951 0, 1269451.255 1164001.803 0, 1269714.07 1164017.67 0, 1269976.885 1164033.552 0, 1270239.698 1164049.45 0,
+ 1270502.511 1164065.364 0, 1270765.323 1164081.293 0, 1271028.134 1164097.237 0, 1271290.944 1164113.197 0, 1271552.525 1164129.098 0, 1271816.561 1164145.163 0, 1272079.368 1164161.17 0, 1272342.174 1164177.192 0, 1272604.98 1164193.229 0, 1272867.784 1164209.282 0,
+ 1273130.587 1164225.35 0, 1273393.39 1164241.433 0, 1273656.191 1164257.532 0, 1273918.992 1164273.647 0, 1274181.791 1164289.777 0, 1274444.59 1164305.923 0, 1274707.388 1164322.084 0, 1274970.184 1164338.26 0, 1275232.98 1164354.452 0, 1275495.775 1164370.659 0,
+ 1275758.569 1164386.882 0, 1276021.362 1164403.121 0, 1276284.154 1164419.374 0, 1276546.945 1164435.644 0, 1276809.735 1164451.928 0, 1277072.524 1164468.229 0, 1277335.312 1164484.544 0, 1277598.099 1164500.875 0, 1277859.658 1164517.146 0, 1278206.325 1158946.798 0,
+ 1278552.993 1153376.419 0))
+
+POLYGON ((1290472.249 1165319.968 0, 1290210.735 1165302.958 0, 1289947.995 1165285.885 0, 1289685.254 1165268.827 0, 1289422.512 1165251.784 0, 1289159.769 1165234.757 0, 1288897.025 1165217.746 0, 1288634.28 1165200.749 0, 1288371.534 1165183.769 0, 1288108.787 1165166.803 0,
+ 1287846.039 1165149.854 0, 1287583.29 1165132.919 0, 1287320.54 1165116.001 0, 1287057.789 1165099.097 0, 1286795.037 1165082.209 0, 1286532.284 1165065.337 0, 1286269.53 1165048.48 0, 1286006.775 1165031.638 0, 1285744.019 1165014.812 0, 1285481.263 1164998.002 0,
+ 1285218.505 1164981.206 0, 1284955.746 1164964.427 0, 1284692.986 1164947.663 0, 1284430.225 1164930.914 0, 1284166.237 1164914.103 0, 1283904.7 1164897.463 0, 1283641.936 1164880.76 0, 1283379.172 1164864.074 0, 1283116.406 1164847.402 0, 1282853.639 1164830.746 0,
+ 1282590.871 1164814.106 0, 1282328.103 1164797.481 0, 1282065.333 1164780.871 0, 1281802.562 1164764.277 0, 1281539.791 1164747.699 0, 1281277.018 1164731.135 0, 1281014.244 1164714.588 0, 1280751.47 1164698.056 0, 1280488.694 1164681.539 0, 1280225.918 1164665.038 0,
+ 1279963.14 1164648.552 0, 1279700.362 1164632.081 0, 1279437.582 1164615.627 0, 1279174.802 1164599.187 0, 1278912.02 1164582.763 0, 1278649.238 1164566.355 0, 1278386.455 1164549.962 0, 1278123.67 1164533.584 0, 1277859.658 1164517.146 0, 1277512.994 1170087.458 0,
+ 1277166.332 1175657.73 0, 1277429.686 1175674.127 0, 1277691.815 1175690.464 0, 1277953.942 1175706.816 0, 1278216.069 1175723.184 0, 1278478.194 1175739.567 0, 1278740.319 1175755.965 0, 1279002.443 1175772.379 0, 1279264.566 1175788.808 0, 1279526.688 1175805.253 0,
+ 1279788.808 1175821.713 0, 1280050.928 1175838.188 0, 1280313.047 1175854.679 0, 1280575.165 1175871.186 0, 1280837.282 1175887.707 0, 1281099.398 1175904.245 0, 1281361.513 1175920.797 0, 1281623.627 1175937.365 0, 1281885.74 1175953.949 0, 1282147.852 1175970.548 0,
+ 1282409.963 1175987.162 0, 1282672.073 1176003.792 0, 1282934.183 1176020.437 0, 1283196.291 1176037.098 0, 1283457.175 1176053.696 0, 1283720.504 1176070.466 0, 1283982.609 1176087.173 0, 1284244.714 1176103.895 0, 1284506.817 1176120.633 0, 1284768.919 1176137.386 0,
+ 1285031.02 1176154.155 0, 1285293.121 1176170.939 0, 1285555.22 1176187.738 0, 1285817.318 1176204.553 0, 1286079.416 1176221.383 0, 1286341.512 1176238.229 0, 1286603.607 1176255.09 0, 1286865.702 1176271.967 0, 1287127.795 1176288.859 0, 1287389.887 1176305.767 0,
+ 1287651.979 1176322.689 0, 1287914.069 1176339.628 0, 1288176.158 1176356.582 0, 1288438.247 1176373.551 0, 1288700.334 1176390.535 0, 1288962.421 1176407.535 0, 1289224.506 1176424.551 0, 1289486.59 1176441.582 0, 1289747.452 1176458.549 0, 1290109.849 1170889.278 0,
+ 1290472.249 1165319.968 0))
+
+POLYGON ((1302326.259 1177294.908 0, 1302065.444 1177277.204 0, 1301803.409 1177259.433 0, 1301541.373 1177241.677 0, 1301279.335 1177223.937 0, 1301017.297 1177206.212 0, 1300755.258 1177188.502 0, 1300493.217 1177170.808 0, 1300231.176 1177153.129 0, 1299969.133 1177135.466 0,
+ 1299707.09 1177117.818 0, 1299445.045 1177100.186 0, 1299182.999 1177082.569 0, 1298920.953 1177064.967 0, 1298658.905 1177047.381 0, 1298396.856 1177029.81 0, 1298134.807 1177012.255 0, 1297872.756 1176994.715 0, 1297610.704 1176977.19 0, 1297348.651 1176959.681 0,
+ 1297086.597 1176942.188 0, 1296824.542 1176924.709 0, 1296562.486 1176907.247 0, 1296300.429 1176889.799 0, 1296037.151 1176872.286 0, 1295776.312 1176854.951 0, 1295514.252 1176837.55 0, 1295252.191 1176820.164 0, 1294990.129 1176802.794 0, 1294728.066 1176785.439 0,
+ 1294466.002 1176768.1 0, 1294203.937 1176750.776 0, 1293941.87 1176733.467 0, 1293679.803 1176716.174 0, 1293417.735 1176698.896 0, 1293155.666 1176681.634 0, 1292893.596 1176664.387 0, 1292631.524 1176647.156 0, 1292369.452 1176629.94 0, 1292107.379 1176612.739 0,
+ 1291845.304 1176595.554 0, 1291583.229 1176578.384 0, 1291321.153 1176561.23 0, 1291059.075 1176544.091 0, 1290796.997 1176526.968 0, 1290534.918 1176509.86 0, 1290272.837 1176492.767 0, 1290010.756 1176475.69 0, 1289747.452 1176458.549 0, 1289385.058 1182027.774 0,
+ 1289022.667 1187596.95 0, 1289285.312 1187614.049 0, 1289546.738 1187631.083 0, 1289808.163 1187648.133 0, 1290069.586 1187665.198 0, 1290331.009 1187682.279 0, 1290592.431 1187699.375 0, 1290853.852 1187716.486 0, 1291115.271 1187733.613 0, 1291376.69 1187750.755 0,
+ 1291638.108 1187767.913 0, 1291899.525 1187785.086 0, 1292160.94 1187802.274 0, 1292422.355 1187819.478 0, 1292683.769 1187836.697 0, 1292945.181 1187853.931 0, 1293206.593 1187871.181 0, 1293468.004 1187888.446 0, 1293729.413 1187905.727 0, 1293990.822 1187923.023 0,
+ 1294252.229 1187940.334 0, 1294513.636 1187957.661 0, 1294775.042 1187975.003 0, 1295036.446 1187992.361 0, 1295296.632 1188009.653 0, 1295559.252 1188027.122 0, 1295820.653 1188044.526 0, 1296082.054 1188061.945 0, 1296343.453 1188079.379 0, 1296604.852 1188096.829 0,
+ 1296866.249 1188114.295 0, 1297127.645 1188131.775 0, 1297389.041 1188149.271 0, 1297650.435 1188166.783 0, 1297911.828 1188184.31 0, 1298173.22 1188201.852 0, 1298434.612 1188219.409 0, 1298696.002 1188236.982 0, 1298957.391 1188254.571 0, 1299218.779 1188272.174 0,
+ 1299480.166 1188289.793 0, 1299741.552 1188307.428 0, 1300002.937 1188325.078 0, 1300264.321 1188342.743 0, 1300525.704 1188360.424 0, 1300787.085 1188378.12 0, 1301048.466 1188395.831 0, 1301309.846 1188413.558 0, 1301570.008 1188431.218 0, 1301948.132 1182863.088 0,
+ 1302326.259 1177294.908 0))
+
+POLYGON ((1314114.943 1189300.93 0, 1313854.83 1189282.536 0, 1313593.501 1189264.07 0, 1313332.171 1189245.621 0, 1313070.84 1189227.186 0, 1312809.509 1189208.767 0, 1312548.176 1189190.363 0, 1312286.842 1189171.975 0, 1312025.506 1189153.602 0, 1311764.17 1189135.245 0,
+ 1311502.833 1189116.903 0, 1311241.495 1189098.576 0, 1310980.155 1189080.265 0, 1310718.815 1189061.969 0, 1310457.473 1189043.688 0, 1310196.13 1189025.423 0, 1309934.787 1189007.173 0, 1309673.442 1188988.938 0, 1309412.096 1188970.719 0, 1309150.749 1188952.516 0,
+ 1308889.401 1188934.327 0, 1308628.052 1188916.154 0, 1308366.702 1188897.997 0, 1308105.35 1188879.855 0, 1307842.783 1188861.644 0, 1307582.645 1188843.617 0, 1307321.29 1188825.521 0, 1307059.935 1188807.44 0, 1306798.578 1188789.375 0, 1306537.22 1188771.325 0,
+ 1306275.862 1188753.29 0, 1306014.502 1188735.271 0, 1305753.141 1188717.267 0, 1305491.779 1188699.279 0, 1305230.416 1188681.306 0, 1304969.052 1188663.349 0, 1304707.687 1188645.406 0, 1304446.321 1188627.48 0, 1304184.954 1188609.568 0, 1303923.586 1188591.672 0,
+ 1303662.217 1188573.792 0, 1303400.846 1188555.926 0, 1303139.475 1188538.076 0, 1302878.102 1188520.242 0, 1302616.729 1188502.423 0, 1302355.354 1188484.619 0, 1302093.979 1188466.831 0, 1301832.602 1188449.058 0, 1301570.008 1188431.218 0, 1301191.888 1193999.294 0,
+ 1300813.772 1199567.311 0, 1301075.708 1199585.106 0, 1301336.429 1199602.835 0, 1301597.149 1199620.579 0, 1301857.868 1199638.338 0, 1302118.586 1199656.112 0, 1302379.303 1199673.902 0, 1302640.019 1199691.707 0, 1302900.734 1199709.527 0, 1303161.448 1199727.363 0,
+ 1303422.161 1199745.214 0, 1303682.873 1199763.081 0, 1303943.583 1199780.963 0, 1304204.293 1199798.86 0, 1304465.001 1199816.772 0, 1304725.709 1199834.7 0, 1304986.415 1199852.644 0, 1305247.121 1199870.602 0, 1305507.825 1199888.576 0, 1305768.528 1199906.565 0,
+ 1306029.231 1199924.57 0, 1306289.932 1199942.59 0, 1306550.632 1199960.625 0, 1306811.331 1199978.676 0, 1307070.817 1199996.658 0, 1307332.726 1200014.823 0, 1307593.422 1200032.92 0, 1307854.117 1200051.032 0, 1308114.81 1200069.159 0, 1308375.503 1200087.302 0,
+ 1308636.195 1200105.46 0, 1308896.885 1200123.633 0, 1309157.575 1200141.822 0, 1309418.263 1200160.026 0, 1309678.95 1200178.245 0, 1309939.637 1200196.48 0, 1310200.322 1200214.73 0, 1310461.006 1200232.996 0, 1310721.689 1200251.276 0, 1310982.371 1200269.573 0,
+ 1311243.052 1200287.884 0, 1311503.731 1200306.211 0, 1311764.41 1200324.553 0, 1312025.088 1200342.911 0, 1312285.764 1200361.283 0, 1312546.44 1200379.672 0, 1312807.114 1200398.075 0, 1313067.787 1200416.494 0, 1313327.248 1200434.843 0, 1313721.094 1194867.916 0,
+ 1314114.943 1189300.93 0))
+
+POLYGON ((1325838.224 1201337.724 0, 1325578.814 1201318.642 0, 1325318.193 1201299.487 0, 1325057.572 1201280.347 0, 1324796.95 1201261.222 0, 1324536.326 1201242.113 0, 1324275.701 1201223.019 0, 1324015.075 1201203.94 0, 1323754.448 1201184.877 0, 1323493.82 1201165.829 0,
+ 1323233.191 1201146.797 0, 1322972.561 1201127.78 0, 1322711.929 1201108.778 0, 1322451.297 1201089.791 0, 1322190.663 1201070.82 0, 1321930.028 1201051.864 0, 1321669.392 1201032.924 0, 1321408.755 1201013.999 0, 1321148.117 1200995.089 0, 1320887.478 1200976.194 0,
+ 1320626.838 1200957.315 0, 1320366.196 1200938.451 0, 1320105.554 1200919.603 0, 1319844.91 1200900.77 0, 1319583.055 1200881.865 0, 1319323.619 1200863.15 0, 1319062.972 1200844.363 0, 1318802.324 1200825.591 0, 1318541.675 1200806.834 0, 1318281.024 1200788.093 0,
+ 1318020.373 1200769.368 0, 1317759.72 1200750.657 0, 1317499.067 1200731.962 0, 1317238.412 1200713.283 0, 1316977.756 1200694.618 0, 1316717.099 1200675.969 0, 1316456.441 1200657.336 0, 1316195.782 1200638.717 0, 1315935.122 1200620.114 0, 1315674.461 1200601.527 0,
+ 1315413.798 1200582.954 0, 1315153.135 1200564.397 0, 1314892.47 1200545.856 0, 1314631.804 1200527.329 0, 1314371.138 1200508.819 0, 1314110.47 1200490.323 0, 1313849.801 1200471.843 0, 1313589.131 1200453.378 0, 1313327.248 1200434.843 0, 1312933.408 1206001.706 0,
+ 1312539.572 1211568.501 0, 1312800.796 1211586.99 0, 1313060.811 1211605.409 0, 1313320.824 1211623.842 0, 1313580.837 1211642.292 0, 1313840.848 1211660.756 0, 1314100.859 1211679.236 0, 1314360.868 1211697.731 0, 1314620.876 1211716.241 0, 1314880.884 1211734.767 0,
+ 1315140.89 1211753.307 0, 1315400.895 1211771.864 0, 1315660.898 1211790.435 0, 1315920.901 1211809.022 0, 1316180.903 1211827.624 0, 1316440.903 1211846.242 0, 1316700.903 1211864.874 0, 1316960.901 1211883.522 0, 1317220.899 1211902.186 0, 1317480.895 1211920.864 0,
+ 1317740.89 1211939.558 0, 1318000.884 1211958.268 0, 1318260.877 1211976.992 0, 1318520.868 1211995.732 0, 1318779.652 1212014.4 0, 1319040.849 1212033.258 0, 1319300.837 1212052.043 0, 1319560.824 1212070.844 0, 1319820.811 1212089.661 0, 1320080.796 1212108.492 0,
+ 1320340.78 1212127.339 0, 1320600.763 1212146.202 0, 1320860.745 1212165.079 0, 1321120.725 1212183.972 0, 1321380.705 1212202.88 0, 1321640.683 1212221.804 0, 1321900.661 1212240.743 0, 1322160.637 1212259.697 0, 1322420.612 1212278.666 0, 1322680.586 1212297.651 0,
+ 1322940.559 1212316.651 0, 1323200.531 1212335.666 0, 1323460.501 1212354.697 0, 1323720.471 1212373.742 0, 1323980.439 1212392.804 0, 1324240.407 1212411.88 0, 1324500.373 1212430.972 0, 1324760.338 1212450.079 0, 1325019.096 1212469.113 0, 1325428.657 1206903.452 0,
+ 1325838.224 1201337.724 0))
+
+POLYGON ((1337496.026 1213404.977 0, 1337237.32 1213385.212 0, 1336977.41 1213365.371 0, 1336717.499 1213345.545 0, 1336457.587 1213325.734 0, 1336197.673 1213305.938 0, 1335937.759 1213286.158 0, 1335677.843 1213266.393 0, 1335417.926 1213246.643 0, 1335158.008 1213226.909 0,
+ 1334898.088 1213207.19 0, 1334638.168 1213187.486 0, 1334378.246 1213167.798 0, 1334118.323 1213148.124 0, 1333858.399 1213128.467 0, 1333598.474 1213108.824 0, 1333338.548 1213089.197 0, 1333078.62 1213069.585 0, 1332818.692 1213049.988 0, 1332558.762 1213030.407 0,
+ 1332298.831 1213010.841 0, 1332038.899 1212991.29 0, 1331778.966 1212971.754 0, 1331519.032 1212952.234 0, 1331257.891 1212932.639 0, 1330999.159 1212913.24 0, 1330739.222 1212893.765 0, 1330479.283 1212874.306 0, 1330219.343 1212854.863 0, 1329959.401 1212835.434 0,
+ 1329699.459 1212816.021 0, 1329439.515 1212796.623 0, 1329179.571 1212777.241 0, 1328919.625 1212757.873 0, 1328659.678 1212738.522 0, 1328399.73 1212719.185 0, 1328139.781 1212699.864 0, 1327879.83 1212680.558 0, 1327619.879 1212661.267 0, 1327359.926 1212641.992 0,
+ 1327099.973 1212622.731 0, 1326840.018 1212603.487 0, 1326580.062 1212584.257 0, 1326320.105 1212565.043 0, 1326060.146 1212545.844 0, 1325800.187 1212526.66 0, 1325540.226 1212507.492 0, 1325280.265 1212488.339 0, 1325019.096 1212469.113 0, 1324609.54 1218034.701 0,
+ 1324199.989 1223600.211 0, 1324460.5 1223619.389 0, 1324719.806 1223638.494 0, 1324979.112 1223657.614 0, 1325238.416 1223676.749 0, 1325497.719 1223695.899 0, 1325757.021 1223715.065 0, 1326016.322 1223734.246 0, 1326275.622 1223753.443 0, 1326534.921 1223772.654 0,
+ 1326794.218 1223791.881 0, 1327053.514 1223811.123 0, 1327312.81 1223830.38 0, 1327572.104 1223849.653 0, 1327831.397 1223868.941 0, 1328090.689 1223888.244 0, 1328349.979 1223907.562 0, 1328609.269 1223926.896 0, 1328868.557 1223946.245 0, 1329127.844 1223965.609 0,
+ 1329387.131 1223984.989 0, 1329646.416 1224004.383 0, 1329905.699 1224023.793 0, 1330164.982 1224043.219 0, 1330423.062 1224062.569 0, 1330683.544 1224082.115 0, 1330942.823 1224101.586 0, 1331202.101 1224121.072 0, 1331461.378 1224140.574 0, 1331720.654 1224160.09 0,
+ 1331979.929 1224179.622 0, 1332239.202 1224199.17 0, 1332498.475 1224218.732 0, 1332757.746 1224238.31 0, 1333017.016 1224257.903 0, 1333276.285 1224277.512 0, 1333535.553 1224297.135 0, 1333794.819 1224316.774 0, 1334054.085 1224336.428 0, 1334313.349 1224356.098 0,
+ 1334572.612 1224375.782 0, 1334831.874 1224395.482 0, 1335091.135 1224415.197 0, 1335350.395 1224434.928 0, 1335609.653 1224454.673 0, 1335868.911 1224474.434 0, 1336128.167 1224494.211 0, 1336387.422 1224514.002 0, 1336645.475 1224533.717 0, 1337070.747 1218969.386 0,
+ 1337496.026 1213404.977 0))
+
+POLYGON ((1349088.274 1225502.38 0, 1348830.275 1225481.936 0, 1348571.077 1225461.412 0, 1348311.878 1225440.903 0, 1348052.677 1225420.41 0, 1347793.476 1225399.932 0, 1347534.273 1225379.469 0, 1347275.069 1225359.022 0, 1347015.863 1225338.589 0, 1346756.657 1225318.172 0,
+ 1346497.449 1225297.771 0, 1346238.24 1225277.384 0, 1345979.03 1225257.013 0, 1345719.819 1225236.657 0, 1345460.606 1225216.316 0, 1345201.393 1225195.991 0, 1344942.178 1225175.68 0, 1344682.962 1225155.385 0, 1344423.744 1225135.106 0, 1344164.526 1225114.841 0,
+ 1343905.306 1225094.592 0, 1343646.086 1225074.358 0, 1343386.863 1225054.139 0, 1343127.64 1225033.936 0, 1342867.216 1225013.654 0, 1342609.19 1224993.575 0, 1342349.963 1224973.417 0, 1342090.735 1224953.275 0, 1341831.506 1224933.148 0, 1341572.276 1224913.036 0,
+ 1341313.044 1224892.939 0, 1341053.812 1224872.858 0, 1340794.578 1224852.791 0, 1340535.343 1224832.741 0, 1340276.107 1224812.705 0, 1340016.869 1224792.685 0, 1339757.63 1224772.68 0, 1339498.391 1224752.69 0, 1339239.15 1224732.715 0, 1338979.908 1224712.756 0,
+ 1338720.664 1224692.812 0, 1338461.42 1224672.883 0, 1338202.174 1224652.969 0, 1337942.927 1224633.071 0, 1337683.679 1224613.188 0, 1337424.43 1224593.32 0, 1337165.18 1224573.468 0, 1336905.928 1224553.631 0, 1336645.475 1224533.717 0, 1336220.209 1230097.966 0,
+ 1335794.95 1235662.128 0, 1336054.745 1235681.991 0, 1336313.341 1235701.779 0, 1336571.937 1235721.581 0, 1336830.531 1235741.398 0, 1337089.124 1235761.231 0, 1337347.716 1235781.079 0, 1337606.306 1235800.942 0, 1337864.896 1235820.821 0, 1338123.484 1235840.715 0,
+ 1338382.071 1235860.623 0, 1338640.657 1235880.548 0, 1338899.242 1235900.487 0, 1339157.826 1235920.441 0, 1339416.408 1235940.411 0, 1339674.99 1235960.396 0, 1339933.57 1235980.396 0, 1340192.149 1236000.412 0, 1340450.727 1236020.442 0, 1340709.303 1236040.488 0,
+ 1340967.879 1236060.549 0, 1341226.453 1236080.626 0, 1341485.026 1236100.717 0, 1341743.598 1236120.824 0, 1342000.972 1236140.853 0, 1342260.738 1236161.083 0, 1342519.306 1236181.235 0, 1342777.873 1236201.403 0, 1343036.439 1236221.586 0, 1343295.004 1236241.784 0,
+ 1343553.567 1236261.997 0, 1343812.13 1236282.226 0, 1344070.691 1236302.469 0, 1344329.251 1236322.728 0, 1344587.81 1236343.003 0, 1344846.367 1236363.292 0, 1345104.924 1236383.596 0, 1345363.479 1236403.916 0, 1345622.033 1236424.251 0, 1345880.586 1236444.602 0,
+ 1346139.137 1236464.967 0, 1346397.688 1236485.348 0, 1346656.237 1236505.744 0, 1346914.785 1236526.155 0, 1347173.332 1236546.581 0, 1347431.877 1236567.023 0, 1347690.422 1236587.479 0, 1347948.965 1236607.951 0, 1348206.312 1236628.344 0, 1348647.289 1231065.405 0,
+ 1349088.274 1225502.38 0))
+
+POLYGON ((1360614.895 1237629.62 0, 1360357.605 1237608.5 0, 1360099.12 1237587.298 0, 1359840.635 1237566.111 0, 1359582.148 1237544.939 0, 1359323.66 1237523.782 0, 1359065.171 1237502.641 0, 1358806.68 1237481.515 0, 1358548.188 1237460.404 0, 1358289.695 1237439.308 0,
+ 1358031.201 1237418.227 0, 1357772.705 1237397.162 0, 1357514.209 1237376.112 0, 1357255.711 1237355.077 0, 1356997.211 1237334.057 0, 1356738.711 1237313.052 0, 1356480.209 1237292.063 0, 1356221.706 1237271.089 0, 1355963.202 1237250.13 0, 1355704.697 1237229.186 0,
+ 1355446.19 1237208.258 0, 1355187.682 1237187.345 0, 1354929.173 1237166.447 0, 1354670.663 1237145.564 0, 1354410.957 1237124.6 0, 1354153.638 1237103.844 0, 1353895.124 1237083.007 0, 1353636.609 1237062.185 0, 1353378.092 1237041.378 0, 1353119.575 1237020.586 0,
+ 1352861.056 1236999.81 0, 1352602.536 1236979.049 0, 1352344.014 1236958.303 0, 1352085.492 1236937.572 0, 1351826.968 1236916.857 0, 1351568.443 1236896.157 0, 1351309.917 1236875.472 0, 1351051.389 1236854.802 0, 1350792.861 1236834.147 0, 1350534.331 1236813.508 0,
+ 1350275.8 1236792.884 0, 1350017.267 1236772.275 0, 1349758.734 1236751.681 0, 1349500.199 1236731.103 0, 1349241.663 1236710.539 0, 1348983.126 1236689.991 0, 1348724.587 1236669.458 0, 1348466.048 1236648.941 0, 1348206.312 1236628.344 0, 1347765.342 1242191.19 0,
+ 1347324.379 1247753.941 0, 1347583.457 1247774.486 0, 1347841.342 1247794.951 0, 1348099.226 1247815.432 0, 1348357.108 1247835.928 0, 1348614.989 1247856.439 0, 1348872.869 1247876.966 0, 1349130.748 1247897.507 0, 1349388.625 1247918.064 0, 1349646.502 1247938.636 0,
+ 1349904.377 1247959.223 0, 1350162.25 1247979.825 0, 1350420.123 1248000.443 0, 1350677.995 1248021.075 0, 1350935.865 1248041.723 0, 1351193.734 1248062.386 0, 1351451.602 1248083.064 0, 1351709.468 1248103.758 0, 1351967.334 1248124.466 0, 1352225.198 1248145.19 0,
+ 1352483.061 1248165.929 0, 1352740.922 1248186.683 0, 1352998.783 1248207.452 0, 1353256.642 1248228.236 0, 1353513.309 1248248.94 0, 1353772.357 1248269.851 0, 1354030.213 1248290.681 0, 1354288.067 1248311.526 0, 1354545.92 1248332.386 0, 1354803.772 1248353.261 0,
+ 1355061.623 1248374.152 0, 1355319.472 1248395.058 0, 1355577.32 1248415.979 0, 1355835.167 1248436.915 0, 1356093.013 1248457.866 0, 1356350.858 1248478.833 0, 1356608.701 1248499.815 0, 1356866.543 1248520.811 0, 1357124.384 1248541.823 0, 1357382.223 1248562.851 0,
+ 1357640.062 1248583.893 0, 1357897.899 1248604.951 0, 1358155.735 1248626.023 0, 1358413.569 1248647.111 0, 1358671.403 1248668.214 0, 1358929.235 1248689.333 0, 1359187.066 1248710.466 0, 1359444.895 1248731.615 0, 1359701.534 1248752.681 0, 1360158.21 1243191.199 0,
+ 1360614.895 1237629.62 0))
+
+POLYGON ((1372075.817 1249786.385 0, 1371819.237 1249764.594 0, 1371561.469 1249742.717 0, 1371303.698 1249720.855 0, 1371045.927 1249699.008 0, 1370788.154 1249677.177 0, 1370530.38 1249655.361 0, 1370272.605 1249633.559 0, 1370014.828 1249611.773 0, 1369757.05 1249590.003 0,
+ 1369499.271 1249568.247 0, 1369241.491 1249546.507 0, 1368983.709 1249524.782 0, 1368725.926 1249503.071 0, 1368468.142 1249481.377 0, 1368210.356 1249459.697 0, 1367952.57 1249438.032 0, 1367694.782 1249416.383 0, 1367436.992 1249394.749 0, 1367179.202 1249373.13 0,
+ 1366921.41 1249351.526 0, 1366663.616 1249329.937 0, 1366405.822 1249308.364 0, 1366148.026 1249286.805 0, 1365889.04 1249265.163 0, 1365632.431 1249243.734 0, 1365374.632 1249222.221 0, 1365116.831 1249200.724 0, 1364859.029 1249179.241 0, 1364601.225 1249157.774 0,
+ 1364343.421 1249136.322 0, 1364085.615 1249114.885 0, 1363827.808 1249093.463 0, 1363570 1249072.057 0, 1363312.19 1249050.665 0, 1363054.379 1249029.289 0, 1362796.567 1249007.928 0, 1362538.754 1248986.582 0, 1362280.939 1248965.251 0, 1362023.123 1248943.936 0,
+ 1361765.306 1248922.635 0, 1361507.487 1248901.35 0, 1361249.668 1248880.08 0, 1360991.847 1248858.825 0, 1360734.025 1248837.586 0, 1360476.201 1248816.361 0, 1360218.377 1248795.152 0, 1359960.551 1248773.958 0, 1359701.534 1248752.681 0, 1359244.865 1254314.062 0,
+ 1358788.206 1259875.337 0, 1359046.565 1259896.559 0, 1359303.737 1259917.7 0, 1359560.907 1259938.855 0, 1359818.075 1259960.026 0, 1360075.243 1259981.212 0, 1360332.409 1260002.413 0, 1360589.574 1260023.629 0, 1360846.738 1260044.86 0, 1361103.9 1260066.106 0,
+ 1361361.062 1260087.367 0, 1361618.222 1260108.644 0, 1361875.381 1260129.936 0, 1362132.538 1260151.242 0, 1362389.694 1260172.564 0, 1362646.849 1260193.902 0, 1362904.003 1260215.254 0, 1363161.156 1260236.621 0, 1363418.307 1260258.004 0, 1363675.457 1260279.401 0,
+ 1363932.605 1260300.814 0, 1364189.753 1260322.242 0, 1364446.899 1260343.685 0, 1364704.044 1260365.143 0, 1364960.002 1260386.518 0, 1365218.33 1260408.105 0, 1365475.471 1260429.609 0, 1365732.611 1260451.127 0, 1365989.75 1260472.661 0, 1366246.887 1260494.21 0,
+ 1366504.023 1260515.774 0, 1366761.158 1260537.354 0, 1367018.291 1260558.948 0, 1367275.424 1260580.558 0, 1367532.555 1260602.182 0, 1367789.684 1260623.822 0, 1368046.813 1260645.477 0, 1368303.94 1260667.147 0, 1368561.066 1260688.832 0, 1368818.19 1260710.533 0,
+ 1369075.314 1260732.248 0, 1369332.436 1260753.979 0, 1369589.557 1260775.724 0, 1369846.676 1260797.485 0, 1370103.794 1260819.261 0, 1370360.911 1260841.052 0, 1370618.027 1260862.859 0, 1370875.141 1260884.68 0, 1371131.069 1260906.416 0, 1371603.439 1255346.453 0,
+ 1372075.817 1249786.385 0))
+
+POLYGON ((835512.503 779295.314 0, 835228.451 779304.956 0, 834942.993 779314.663 0, 834657.535 779324.386 0, 834372.078 779334.126 0, 834086.622 779343.883 0, 833801.166 779353.657 0, 833515.71 779363.448 0, 833230.256 779373.255 0, 832944.801 779383.079 0,
+ 832659.348 779392.92 0, 832373.895 779402.778 0, 832088.442 779412.652 0, 831802.99 779422.544 0, 831517.539 779432.452 0, 831232.088 779442.377 0, 830946.638 779452.318 0, 830661.188 779462.277 0, 830375.739 779472.252 0, 830090.291 779482.244 0,
+ 829804.843 779492.253 0, 829519.396 779502.279 0, 829233.949 779512.322 0, 828948.503 779522.381 0, 828661.649 779532.507 0, 828377.613 779542.55 0, 828092.169 779552.66 0, 827806.725 779562.786 0, 827521.282 779572.93 0, 827235.84 779583.09 0,
+ 826950.398 779593.267 0, 826664.956 779603.461 0, 826379.516 779613.671 0, 826094.076 779623.899 0, 825808.636 779634.143 0, 825523.197 779644.404 0, 825237.759 779654.681 0, 824952.321 779664.976 0, 824666.884 779675.287 0, 824381.448 779685.616 0,
+ 824096.012 779695.96 0, 823810.577 779706.322 0, 823525.142 779716.701 0, 823239.708 779727.096 0, 822954.275 779737.508 0, 822668.842 779747.937 0, 822383.41 779758.383 0, 822097.978 779768.846 0, 821811.138 779779.377 0, 822015.807 785349.528 0,
+ 822220.485 790919.915 0, 822506.667 790909.408 0, 822791.442 790898.969 0, 823076.219 790888.548 0, 823360.996 790878.143 0, 823645.774 790867.754 0, 823930.552 790857.383 0, 824215.331 790847.028 0, 824500.11 790836.69 0, 824784.89 790826.369 0,
+ 825069.671 790816.065 0, 825354.452 790805.777 0, 825639.234 790795.506 0, 825924.017 790785.252 0, 826208.8 790775.014 0, 826493.584 790764.794 0, 826778.368 790754.59 0, 827063.153 790744.403 0, 827347.939 790734.232 0, 827632.725 790724.079 0,
+ 827917.512 790713.942 0, 828202.299 790703.822 0, 828487.087 790693.719 0, 828771.875 790683.632 0, 829055.259 790673.612 0, 829341.454 790663.509 0, 829626.244 790653.473 0, 829911.035 790643.454 0, 830195.827 790633.451 0, 830480.619 790623.465 0,
+ 830765.411 790613.496 0, 831050.205 790603.543 0, 831334.999 790593.608 0, 831619.793 790583.689 0, 831904.588 790573.787 0, 832189.384 790563.901 0, 832474.18 790554.033 0, 832758.976 790544.181 0, 833043.774 790534.346 0, 833328.572 790524.527 0,
+ 833613.37 790514.726 0, 833898.169 790504.941 0, 834182.969 790495.173 0, 834467.769 790485.422 0, 834752.57 790475.687 0, 835037.371 790465.969 0, 835322.173 790456.268 0, 835606.975 790446.584 0, 835890.374 790436.964 0, 835701.435 784866.021 0,
+ 835512.503 779295.314 0))
+
+POLYGON ((849561.573 789992.636 0, 849278.146 790001.455 0, 848993.318 790010.335 0, 848708.489 790019.231 0, 848423.662 790028.144 0, 848138.835 790037.074 0, 847854.008 790046.021 0, 847569.182 790054.984 0, 847284.356 790063.964 0, 846999.531 790072.961 0,
+ 846714.707 790081.975 0, 846429.883 790091.005 0, 846145.059 790100.052 0, 845860.236 790109.116 0, 845575.414 790118.197 0, 845290.592 790127.295 0, 845005.771 790136.409 0, 844720.95 790145.54 0, 844436.13 790154.688 0, 844151.31 790163.852 0,
+ 843866.491 790173.034 0, 843581.673 790182.232 0, 843296.855 790191.447 0, 843012.037 790200.678 0, 842725.817 790209.972 0, 842442.404 790219.192 0, 842157.588 790228.474 0, 841872.772 790237.772 0, 841587.958 790247.088 0, 841303.143 790256.42 0,
+ 841018.33 790265.769 0, 840733.517 790275.135 0, 840448.704 790284.517 0, 840163.892 790293.916 0, 839879.08 790303.332 0, 839594.27 790312.765 0, 839309.459 790322.215 0, 839024.649 790331.681 0, 838739.84 790341.164 0, 838455.031 790350.664 0,
+ 838170.223 790360.181 0, 837885.416 790369.714 0, 837600.609 790379.264 0, 837315.802 790388.831 0, 837030.996 790398.415 0, 836746.191 790408.015 0, 836461.386 790417.632 0, 836176.582 790427.266 0, 835890.374 790436.964 0, 836079.322 796008.14 0,
+ 836268.277 801579.544 0, 836553.826 801569.868 0, 836837.974 801560.256 0, 837122.123 801550.661 0, 837406.273 801541.083 0, 837690.423 801531.521 0, 837974.573 801521.976 0, 838258.725 801512.448 0, 838542.876 801502.937 0, 838827.029 801493.442 0,
+ 839111.182 801483.964 0, 839395.335 801474.503 0, 839679.489 801465.059 0, 839963.643 801455.631 0, 840247.798 801446.22 0, 840531.954 801436.825 0, 840816.11 801427.448 0, 841100.267 801418.087 0, 841384.424 801408.743 0, 841668.582 801399.415 0,
+ 841952.741 801390.105 0, 842236.899 801380.811 0, 842521.059 801371.533 0, 842805.219 801362.273 0, 843087.98 801353.075 0, 843373.541 801343.802 0, 843657.702 801334.592 0, 843941.864 801325.398 0, 844226.027 801316.221 0, 844510.19 801307.061 0,
+ 844794.354 801297.917 0, 845078.519 801288.791 0, 845362.684 801279.681 0, 845646.849 801270.587 0, 845931.015 801261.511 0, 846215.181 801252.451 0, 846499.348 801243.408 0, 846783.516 801234.381 0, 847067.684 801225.372 0, 847351.853 801216.379 0,
+ 847636.022 801207.403 0, 847920.191 801198.443 0, 848204.362 801189.5 0, 848488.532 801180.574 0, 848772.704 801171.665 0, 849056.875 801162.773 0, 849341.048 801153.897 0, 849625.221 801145.038 0, 849907.995 801136.239 0, 849734.781 795564.323 0,
+ 849561.573 789992.636 0))
+
+POLYGON ((863548.911 800731.47 0, 863266.11 800739.47 0, 862981.914 800747.526 0, 862697.717 800755.599 0, 862413.522 800763.689 0, 862129.326 800771.795 0, 861845.132 800779.918 0, 861560.937 800788.058 0, 861276.743 800796.215 0, 860992.55 800804.388 0,
+ 860708.357 800812.578 0, 860424.165 800820.785 0, 860139.973 800829.009 0, 859855.781 800837.249 0, 859571.59 800845.506 0, 859287.4 800853.779 0, 859003.21 800862.07 0, 858719.02 800870.377 0, 858434.831 800878.701 0, 858150.643 800887.042 0,
+ 857866.455 800895.399 0, 857582.267 800903.773 0, 857298.08 800912.164 0, 857013.894 800920.571 0, 856728.31 800929.037 0, 856445.522 800937.436 0, 856161.337 800945.894 0, 855877.153 800954.369 0, 855592.969 800962.86 0, 855308.785 800971.368 0,
+ 855024.602 800979.892 0, 854740.419 800988.434 0, 854456.237 800996.992 0, 854172.056 801005.566 0, 853887.875 801014.158 0, 853603.694 801022.766 0, 853319.514 801031.391 0, 853035.335 801040.033 0, 852751.156 801048.691 0, 852466.977 801057.366 0,
+ 852182.799 801066.058 0, 851898.622 801074.767 0, 851614.445 801083.492 0, 851330.268 801092.234 0, 851046.092 801100.993 0, 850761.917 801109.768 0, 850477.742 801118.561 0, 850193.568 801127.37 0, 849907.995 801136.239 0, 850081.216 806708.38 0,
+ 850254.445 812280.742 0, 850539.358 812271.893 0, 850822.877 812263.105 0, 851106.396 812254.333 0, 851389.915 812245.578 0, 851673.435 812236.839 0, 851956.956 812228.117 0, 852240.477 812219.412 0, 852523.998 812210.724 0, 852807.52 812202.052 0,
+ 853091.043 812193.397 0, 853374.566 812184.758 0, 853658.089 812176.136 0, 853941.613 812167.531 0, 854225.138 812158.943 0, 854508.663 812150.371 0, 854792.189 812141.816 0, 855075.715 812133.278 0, 855359.241 812124.756 0, 855642.768 812116.252 0,
+ 855926.296 812107.763 0, 856209.824 812099.292 0, 856493.353 812090.837 0, 856776.882 812082.399 0, 857059.017 812074.019 0, 857343.941 812065.572 0, 857627.472 812057.184 0, 857911.003 812048.813 0, 858194.534 812040.458 0, 858478.067 812032.12 0,
+ 858761.599 812023.799 0, 859045.132 812015.494 0, 859328.666 812007.206 0, 859612.2 811998.935 0, 859895.734 811990.68 0, 860179.269 811982.442 0, 860462.804 811974.221 0, 860746.34 811966.017 0, 861029.877 811957.829 0, 861313.414 811949.658 0,
+ 861596.951 811941.503 0, 861880.489 811933.365 0, 862164.027 811925.244 0, 862447.566 811917.14 0, 862731.105 811909.052 0, 863014.645 811900.981 0, 863298.185 811892.927 0, 863581.726 811884.889 0, 863863.874 811876.907 0, 863706.389 806304.078 0,
+ 863548.911 800731.47 0))
+
+POLYGON ((877474.389 811511.524 0, 877192.218 811518.708 0, 876908.656 811525.945 0, 876625.094 811533.198 0, 876341.533 811540.468 0, 876057.972 811547.755 0, 875774.411 811555.058 0, 875490.851 811562.378 0, 875207.291 811569.715 0, 874923.732 811577.068 0,
+ 874640.173 811584.438 0, 874356.615 811591.825 0, 874073.057 811599.228 0, 873789.499 811606.648 0, 873505.942 811614.085 0, 873222.385 811621.539 0, 872938.829 811629.009 0, 872655.273 811636.496 0, 872371.718 811644 0, 872088.163 811651.52 0,
+ 871804.609 811659.057 0, 871521.054 811666.61 0, 871237.501 811674.181 0, 870953.948 811681.768 0, 870669.002 811689.409 0, 870386.843 811696.992 0, 870103.291 811704.629 0, 869819.74 811712.283 0, 869536.189 811719.953 0, 869252.638 811727.641 0,
+ 868969.088 811735.345 0, 868685.539 811743.065 0, 868401.99 811750.802 0, 868118.441 811758.556 0, 867834.893 811766.327 0, 867551.345 811774.114 0, 867267.798 811781.918 0, 866984.251 811789.739 0, 866700.705 811797.576 0, 866417.159 811805.43 0,
+ 866133.614 811813.301 0, 865850.069 811821.189 0, 865566.524 811829.093 0, 865282.98 811837.014 0, 864999.437 811844.951 0, 864715.894 811852.905 0, 864432.351 811860.876 0, 864148.809 811868.864 0, 863863.874 811876.907 0, 864021.364 817449.955 0,
+ 864178.861 823023.217 0, 864463.137 823015.192 0, 864746.023 823007.223 0, 865028.91 822999.27 0, 865311.797 822991.334 0, 865594.685 822983.415 0, 865877.572 822975.513 0, 866160.461 822967.627 0, 866443.35 822959.758 0, 866726.239 822951.905 0,
+ 867009.129 822944.069 0, 867292.019 822936.25 0, 867574.91 822928.447 0, 867857.801 822920.661 0, 868140.693 822912.892 0, 868423.585 822905.139 0, 868706.477 822897.403 0, 868989.37 822889.684 0, 869272.264 822881.981 0, 869555.158 822874.295 0,
+ 869838.052 822866.626 0, 870120.947 822858.973 0, 870403.842 822851.337 0, 870686.738 822843.718 0, 870968.245 822836.152 0, 871252.531 822828.529 0, 871535.428 822820.959 0, 871818.325 822813.406 0, 872101.223 822805.87 0, 872384.122 822798.351 0,
+ 872667.02 822790.848 0, 872949.92 822783.361 0, 873232.819 822775.892 0, 873515.719 822768.439 0, 873798.62 822761.003 0, 874081.521 822753.583 0, 874364.423 822746.18 0, 874647.324 822738.794 0, 874930.227 822731.424 0, 875213.13 822724.071 0,
+ 875496.033 822716.735 0, 875778.936 822709.415 0, 876061.84 822702.112 0, 876344.745 822694.825 0, 876627.65 822687.556 0, 876910.555 822680.302 0, 877193.461 822673.066 0, 877476.367 822665.846 0, 877757.885 822658.678 0, 877616.135 817084.994 0,
+ 877474.389 811511.524 0))
+
+POLYGON ((891337.885 822332.505 0, 891056.346 822338.877 0, 890773.42 822345.298 0, 890490.495 822351.735 0, 890207.57 822358.189 0, 889924.646 822364.659 0, 889641.722 822371.146 0, 889358.799 822377.65 0, 889075.875 822384.17 0, 888792.953 822390.708 0,
+ 888510.03 822397.261 0, 888227.108 822403.832 0, 887944.186 822410.419 0, 887661.265 822417.023 0, 887378.344 822423.643 0, 887095.424 822430.28 0, 886812.504 822436.934 0, 886529.584 822443.604 0, 886246.665 822450.291 0, 885963.746 822456.994 0,
+ 885680.827 822463.715 0, 885397.909 822470.452 0, 885114.992 822477.205 0, 884832.074 822483.975 0, 884547.77 822490.796 0, 884266.241 822497.566 0, 883983.325 822504.386 0, 883700.409 822511.223 0, 883417.494 822518.076 0, 883134.579 822524.947 0,
+ 882851.664 822531.833 0, 882568.75 822538.737 0, 882285.837 822545.657 0, 882002.923 822552.594 0, 881720.01 822559.547 0, 881437.098 822566.517 0, 881154.186 822573.504 0, 880871.274 822580.507 0, 880588.363 822587.527 0, 880305.452 822594.564 0,
+ 880022.542 822601.617 0, 879739.632 822608.687 0, 879456.722 822615.774 0, 879173.813 822622.877 0, 878890.904 822629.997 0, 878607.996 822637.133 0, 878325.088 822644.287 0, 878042.181 822651.456 0, 877757.885 822658.678 0, 877899.642 828232.573 0,
+ 878041.403 833806.675 0, 878325.039 833799.47 0, 878607.29 833792.317 0, 878889.542 833785.18 0, 879171.794 833778.06 0, 879454.047 833770.957 0, 879736.3 833763.87 0, 880018.553 833756.8 0, 880300.807 833749.746 0, 880583.061 833742.709 0,
+ 880865.316 833735.689 0, 881147.571 833728.685 0, 881429.826 833721.698 0, 881712.082 833714.728 0, 881994.339 833707.774 0, 882276.595 833700.837 0, 882558.852 833693.916 0, 882841.11 833687.012 0, 883123.368 833680.124 0, 883405.626 833673.254 0,
+ 883687.885 833666.399 0, 883970.144 833659.562 0, 884252.404 833652.741 0, 884534.663 833645.936 0, 884815.54 833639.182 0, 885099.185 833632.378 0, 885381.446 833625.623 0, 885663.707 833618.885 0, 885945.969 833612.164 0, 886228.232 833605.459 0,
+ 886510.494 833598.771 0, 886792.757 833592.1 0, 887075.021 833585.445 0, 887357.285 833578.807 0, 887639.549 833572.185 0, 887921.814 833565.58 0, 888204.079 833558.992 0, 888486.344 833552.42 0, 888768.61 833545.865 0, 889050.876 833539.326 0,
+ 889333.143 833532.804 0, 889615.41 833526.299 0, 889897.677 833519.81 0, 890179.945 833513.338 0, 890462.213 833506.882 0, 890744.482 833500.444 0, 891026.751 833494.021 0, 891309.02 833487.616 0, 891589.906 833481.258 0, 891463.893 827906.778 0,
+ 891337.885 822332.505 0))
+
+POLYGON ((905139.275 833194.119 0, 904858.37 833199.683 0, 904576.083 833205.291 0, 904293.797 833210.916 0, 904011.512 833216.557 0, 903729.227 833222.215 0, 903446.942 833227.89 0, 903164.657 833233.581 0, 902882.373 833239.289 0, 902600.089 833245.014 0,
+ 902317.805 833250.755 0, 902035.522 833256.512 0, 901753.239 833262.287 0, 901470.957 833268.078 0, 901188.675 833273.885 0, 900906.393 833279.709 0, 900624.111 833285.55 0, 900341.83 833291.407 0, 900059.549 833297.281 0, 899777.269 833303.172 0,
+ 899494.988 833309.079 0, 899212.709 833315.003 0, 898930.429 833320.943 0, 898648.15 833326.901 0, 898364.489 833332.904 0, 898083.593 833338.865 0, 897801.315 833344.871 0, 897519.037 833350.895 0, 897236.76 833356.935 0, 896954.483 833362.992 0,
+ 896672.206 833369.065 0, 896389.93 833375.155 0, 896107.654 833381.262 0, 895825.379 833387.385 0, 895543.104 833393.525 0, 895260.829 833399.681 0, 894978.554 833405.854 0, 894696.28 833412.044 0, 894414.006 833418.25 0, 894131.733 833424.473 0,
+ 893849.46 833430.713 0, 893567.187 833436.969 0, 893284.915 833443.241 0, 893002.643 833449.531 0, 892720.372 833455.837 0, 892438.101 833462.159 0, 892155.83 833468.498 0, 891873.559 833474.854 0, 891589.906 833481.258 0, 891715.924 839055.941 0,
+ 891841.946 844630.824 0, 892124.94 844624.435 0, 892406.554 844618.094 0, 892688.168 844611.77 0, 892969.783 844605.462 0, 893251.399 844599.171 0, 893533.014 844592.896 0, 893814.63 844586.638 0, 894096.247 844580.396 0, 894377.863 844574.171 0,
+ 894659.48 844567.963 0, 894941.098 844561.771 0, 895222.716 844555.596 0, 895504.334 844549.437 0, 895785.952 844543.295 0, 896067.571 844537.169 0, 896349.191 844531.06 0, 896630.81 844524.968 0, 896912.43 844518.892 0, 897194.051 844512.833 0,
+ 897475.671 844506.79 0, 897757.292 844500.764 0, 898038.914 844494.755 0, 898320.536 844488.762 0, 898600.779 844482.815 0, 898883.78 844476.826 0, 899165.403 844470.882 0, 899447.026 844464.956 0, 899728.65 844459.046 0, 900010.274 844453.152 0,
+ 900291.898 844447.275 0, 900573.522 844441.415 0, 900855.147 844435.571 0, 901136.773 844429.744 0, 901418.398 844423.933 0, 901700.024 844418.139 0, 901981.65 844412.362 0, 902263.277 844406.601 0, 902544.904 844400.857 0, 902826.531 844395.129 0,
+ 903108.159 844389.418 0, 903389.787 844383.723 0, 903671.415 844378.045 0, 903953.044 844372.384 0, 904234.673 844366.739 0, 904516.302 844361.111 0, 904797.932 844355.499 0, 905079.562 844349.904 0, 905359.814 844344.353 0, 905249.543 838769.136 0,
+ 905139.275 833194.119 0))
+
+POLYGON ((918878.438 844096.073 0, 918598.169 844100.832 0, 918316.524 844105.632 0, 918034.88 844110.448 0, 917753.236 844115.28 0, 917471.592 844120.13 0, 917189.948 844124.995 0, 916908.305 844129.878 0, 916626.662 844134.776 0, 916345.019 844139.692 0,
+ 916063.377 844144.624 0, 915781.735 844149.573 0, 915500.093 844154.538 0, 915218.452 844159.52 0, 914936.811 844164.518 0, 914655.17 844169.533 0, 914373.529 844174.564 0, 914091.889 844179.613 0, 913810.249 844184.677 0, 913528.609 844189.758 0,
+ 913246.97 844194.856 0, 912965.331 844199.971 0, 912683.692 844205.102 0, 912402.053 844210.249 0, 912119.038 844215.439 0, 911838.777 844220.594 0, 911557.14 844225.791 0, 911275.502 844231.005 0, 910993.865 844236.236 0, 910712.229 844241.483 0,
+ 910430.592 844246.746 0, 910148.956 844252.026 0, 909867.321 844257.323 0, 909585.685 844262.636 0, 909304.05 844267.966 0, 909022.415 844273.313 0, 908740.781 844278.676 0, 908459.147 844284.056 0, 908177.513 844289.452 0, 907895.879 844294.864 0,
+ 907614.246 844300.294 0, 907332.613 844305.74 0, 907050.981 844311.202 0, 906769.348 844316.681 0, 906487.716 844322.177 0, 906206.085 844327.689 0, 905924.454 844333.218 0, 905642.823 844338.763 0, 905359.814 844344.353 0, 905470.09 849919.765 0,
+ 905580.369 855495.369 0, 905862.718 855489.793 0, 906143.692 855484.261 0, 906424.667 855478.745 0, 906705.643 855473.245 0, 906986.618 855467.763 0, 907267.594 855462.296 0, 907548.57 855456.847 0, 907829.547 855451.413 0, 908110.524 855445.997 0,
+ 908391.501 855440.596 0, 908672.478 855435.213 0, 908953.456 855429.846 0, 909234.434 855424.495 0, 909515.413 855419.161 0, 909796.392 855413.844 0, 910077.371 855408.543 0, 910358.35 855403.258 0, 910639.33 855397.99 0, 910920.31 855392.739 0,
+ 911201.29 855387.504 0, 911482.271 855382.286 0, 911763.252 855377.084 0, 912044.233 855371.899 0, 912323.841 855366.756 0, 912606.196 855361.579 0, 912887.178 855356.443 0, 913168.161 855351.324 0, 913449.144 855346.221 0, 913730.127 855341.136 0,
+ 914011.11 855336.066 0, 914292.094 855331.013 0, 914573.078 855325.977 0, 914854.062 855320.957 0, 915135.046 855315.954 0, 915416.031 855310.967 0, 915697.016 855305.997 0, 915978.002 855301.043 0, 916258.988 855296.106 0, 916539.974 855291.186 0,
+ 916820.96 855286.282 0, 917101.946 855281.394 0, 917382.933 855276.523 0, 917663.92 855271.669 0, 917944.908 855266.831 0, 918225.896 855262.01 0, 918506.884 855257.205 0, 918787.872 855252.417 0, 919067.488 855247.668 0, 918972.961 849671.774 0,
+ 918878.438 844096.073 0))
+
+POLYGON ((932555.253 855038.071 0, 932275.622 855042.03 0, 931994.622 855046.024 0, 931713.621 855050.035 0, 931432.621 855054.063 0, 931151.621 855058.107 0, 930870.621 855062.167 0, 930589.622 855066.244 0, 930308.623 855070.338 0, 930027.624 855074.448 0,
+ 929746.625 855078.575 0, 929465.626 855082.718 0, 929184.628 855086.878 0, 928903.63 855091.054 0, 928622.632 855095.247 0, 928341.635 855099.456 0, 928060.637 855103.682 0, 927779.64 855107.925 0, 927498.643 855112.184 0, 927217.647 855116.459 0,
+ 926936.651 855120.752 0, 926655.654 855125.06 0, 926374.659 855129.385 0, 926093.663 855133.727 0, 925811.296 855138.107 0, 925531.673 855142.46 0, 925250.678 855146.851 0, 924969.684 855151.259 0, 924688.689 855155.684 0, 924407.695 855160.125 0,
+ 924126.702 855164.582 0, 923845.708 855169.056 0, 923564.715 855173.547 0, 923283.722 855178.054 0, 923002.729 855182.577 0, 922721.737 855187.118 0, 922440.745 855191.674 0, 922159.753 855196.248 0, 921878.761 855200.837 0, 921597.77 855205.444 0,
+ 921316.779 855210.067 0, 921035.788 855214.706 0, 920754.798 855219.362 0, 920473.807 855224.034 0, 920192.817 855228.723 0, 919911.828 855233.429 0, 919630.838 855238.151 0, 919349.849 855242.89 0, 919067.488 855247.668 0, 919162.018 860823.75 0,
+ 919256.551 866400.017 0, 919538.252 866395.249 0, 919818.585 866390.522 0, 920098.918 866385.811 0, 920379.251 866381.116 0, 920659.585 866376.438 0, 920939.919 866371.776 0, 921220.253 866367.131 0, 921500.587 866362.503 0, 921780.922 866357.891 0,
+ 922061.257 866353.295 0, 922341.592 866348.716 0, 922621.927 866344.154 0, 922902.263 866339.607 0, 923182.599 866335.078 0, 923462.935 866330.565 0, 923743.272 866326.068 0, 924023.609 866321.588 0, 924303.946 866317.125 0, 924584.283 866312.678 0,
+ 924864.621 866308.247 0, 925144.959 866303.833 0, 925425.297 866299.435 0, 925705.635 866295.054 0, 925984.605 866290.711 0, 926266.312 866286.342 0, 926546.652 866282.01 0, 926826.991 866277.695 0, 927107.331 866273.396 0, 927387.67 866269.114 0,
+ 927668.011 866264.849 0, 927948.351 866260.6 0, 928228.692 866256.367 0, 928509.032 866252.151 0, 928789.374 866247.952 0, 929069.715 866243.768 0, 929350.057 866239.602 0, 929630.398 866235.452 0, 929910.741 866231.318 0, 930191.083 866227.201 0,
+ 930471.425 866223.101 0, 930751.768 866219.017 0, 931032.111 866214.949 0, 931312.455 866210.898 0, 931592.798 866206.863 0, 931873.142 866202.845 0, 932153.486 866198.844 0, 932433.83 866194.859 0, 932712.808 866190.909 0, 932634.029 860614.398 0,
+ 932555.253 855038.071 0))
+
+POLYGON ((946169.602 866019.82 0, 945890.612 866022.981 0, 945610.258 866026.174 0, 945329.904 866029.383 0, 945049.549 866032.609 0, 944769.196 866035.852 0, 944488.842 866039.111 0, 944208.489 866042.386 0, 943928.135 866045.678 0, 943647.782 866048.987 0,
+ 943367.429 866052.312 0, 943087.077 866055.653 0, 942806.724 866059.011 0, 942526.372 866062.386 0, 942246.02 866065.777 0, 941965.668 866069.185 0, 941685.316 866072.609 0, 941404.965 866076.049 0, 941124.614 866079.506 0, 940844.263 866082.98 0,
+ 940563.912 866086.47 0, 940283.561 866089.976 0, 940003.211 866093.499 0, 939722.86 866097.039 0, 939441.144 866100.612 0, 939162.161 866104.167 0, 938881.811 866107.756 0, 938601.462 866111.362 0, 938321.112 866114.984 0, 938040.763 866118.623 0,
+ 937760.415 866122.278 0, 937480.066 866125.949 0, 937199.718 866129.637 0, 936919.37 866133.342 0, 936639.022 866137.063 0, 936358.674 866140.8 0, 936078.327 866144.554 0, 935797.979 866148.325 0, 935517.632 866152.112 0, 935237.286 866155.916 0,
+ 934956.939 866159.736 0, 934676.593 866163.572 0, 934396.247 866167.425 0, 934115.901 866171.295 0, 933835.555 866175.181 0, 933555.21 866179.083 0, 933274.865 866183.003 0, 932994.52 866186.938 0, 932712.808 866190.909 0, 932791.589 871767.601 0,
+ 932870.372 877344.47 0, 933151.425 877340.508 0, 933431.113 877336.582 0, 933710.802 877332.672 0, 933990.491 877328.779 0, 934270.18 877324.902 0, 934549.869 877321.041 0, 934829.559 877317.197 0, 935109.249 877313.37 0, 935388.939 877309.559 0,
+ 935668.629 877305.764 0, 935948.32 877301.986 0, 936228.011 877298.224 0, 936507.701 877294.479 0, 936787.393 877290.75 0, 937067.084 877287.038 0, 937346.776 877283.342 0, 937626.468 877279.662 0, 937906.16 877275.999 0, 938185.852 877272.353 0,
+ 938465.544 877268.723 0, 938745.237 877265.109 0, 939024.93 877261.512 0, 939304.623 877257.932 0, 939582.953 877254.385 0, 939864.01 877250.82 0, 940143.704 877247.288 0, 940423.398 877243.774 0, 940703.092 877240.275 0, 940982.786 877236.793 0,
+ 941262.481 877233.328 0, 941542.176 877229.879 0, 941821.871 877226.447 0, 942101.566 877223.031 0, 942381.261 877219.631 0, 942660.957 877216.248 0, 942940.652 877212.881 0, 943220.348 877209.531 0, 943500.045 877206.197 0, 943779.741 877202.88 0,
+ 944059.438 877199.579 0, 944339.134 877196.295 0, 944618.831 877193.027 0, 944898.528 877189.776 0, 945178.226 877186.541 0, 945457.923 877183.322 0, 945737.621 877180.12 0, 946017.319 877176.935 0, 946295.655 877173.781 0, 946232.627 871596.712 0,
+ 946169.602 866019.82 0))
+
+POLYGON ((959721.366 877041.021 0, 959443.02 877043.389 0, 959163.314 877045.784 0, 958883.609 877048.196 0, 958603.903 877050.624 0, 958324.198 877053.069 0, 958044.493 877055.53 0, 957764.787 877058.008 0, 957485.083 877060.502 0, 957205.378 877063.012 0,
+ 956925.673 877065.539 0, 956645.969 877068.083 0, 956366.264 877070.643 0, 956086.56 877073.219 0, 955806.856 877075.812 0, 955527.152 877078.422 0, 955247.449 877081.047 0, 954967.745 877083.69 0, 954688.042 877086.348 0, 954408.338 877089.024 0,
+ 954128.635 877091.715 0, 953848.932 877094.423 0, 953569.23 877097.148 0, 953289.527 877099.889 0, 953008.464 877102.66 0, 952730.122 877105.421 0, 952450.42 877108.211 0, 952170.718 877111.018 0, 951891.016 877113.841 0, 951611.315 877116.681 0,
+ 951331.613 877119.537 0, 951051.912 877122.41 0, 950772.211 877125.299 0, 950492.51 877128.205 0, 950212.809 877131.127 0, 949933.109 877134.066 0, 949653.408 877137.021 0, 949373.708 877139.992 0, 949094.008 877142.98 0, 948814.308 877145.985 0,
+ 948534.608 877149.006 0, 948254.909 877152.043 0, 947975.209 877155.097 0, 947695.51 877158.167 0, 947415.811 877161.254 0, 947136.112 877164.357 0, 946856.414 877167.477 0, 946576.715 877170.613 0, 946295.655 877173.781 0, 946358.685 882751.024 0,
+ 946421.716 888328.435 0, 946702.117 888325.275 0, 946981.159 888322.146 0, 947260.201 888319.034 0, 947539.243 888315.938 0, 947818.285 888312.858 0, 948097.328 888309.795 0, 948376.371 888306.748 0, 948655.414 888303.718 0, 948934.457 888300.704 0,
+ 949213.5 888297.707 0, 949492.544 888294.726 0, 949771.588 888291.761 0, 950050.632 888288.813 0, 950329.676 888285.881 0, 950608.72 888282.966 0, 950887.764 888280.067 0, 951166.809 888277.185 0, 951445.854 888274.319 0, 951724.898 888271.469 0,
+ 952003.944 888268.636 0, 952282.989 888265.819 0, 952562.034 888263.019 0, 952841.08 888260.235 0, 953118.768 888257.481 0, 953399.171 888254.717 0, 953678.217 888251.982 0, 953957.264 888249.264 0, 954236.31 888246.562 0, 954515.357 888243.877 0,
+ 954794.403 888241.208 0, 955073.45 888238.555 0, 955352.497 888235.919 0, 955631.544 888233.3 0, 955910.592 888230.696 0, 956189.639 888228.11 0, 956468.687 888225.539 0, 956747.734 888222.985 0, 957026.782 888220.448 0, 957305.83 888217.927 0,
+ 957584.879 888215.422 0, 957863.927 888212.934 0, 958142.975 888210.462 0, 958422.024 888208.006 0, 958701.073 888205.567 0, 958980.122 888203.145 0, 959259.171 888200.739 0, 959538.22 888198.349 0, 959815.913 888195.987 0, 959768.639 882618.42 0,
+ 959721.366 877041.021 0))
+
+POLYGON ((973210.43 888101.381 0, 972932.73 888102.958 0, 972653.675 888104.559 0, 972374.62 888106.177 0, 972095.566 888107.811 0, 971816.511 888109.462 0, 971537.457 888111.129 0, 971258.402 888112.812 0, 970979.348 888114.512 0, 970700.294 888116.229 0,
+ 970421.24 888117.961 0, 970142.186 888119.71 0, 969863.132 888121.476 0, 969584.078 888123.258 0, 969305.024 888125.056 0, 969025.971 888126.871 0, 968746.917 888128.703 0, 968467.864 888130.55 0, 968188.811 888132.414 0, 967909.758 888134.295 0,
+ 967630.705 888136.192 0, 967351.652 888138.105 0, 967072.599 888140.035 0, 966793.546 888141.981 0, 966513.138 888143.954 0, 966235.441 888145.923 0, 965956.389 888147.919 0, 965677.337 888149.931 0, 965398.285 888151.959 0, 965119.233 888154.004 0,
+ 964840.181 888156.065 0, 964561.129 888158.143 0, 964282.078 888160.237 0, 964003.026 888162.347 0, 963723.975 888164.474 0, 963444.924 888166.618 0, 963165.873 888168.777 0, 962886.822 888170.954 0, 962607.771 888173.146 0, 962328.72 888175.355 0,
+ 962049.669 888177.581 0, 961770.619 888179.823 0, 961491.569 888182.081 0, 961212.518 888184.356 0, 960933.468 888186.647 0, 960654.418 888188.954 0, 960375.369 888191.278 0, 960096.319 888193.619 0, 959815.913 888195.987 0, 959863.188 893773.72 0,
+ 959910.465 899351.615 0, 960190.212 899349.252 0, 960468.605 899346.917 0, 960746.998 899344.599 0, 961025.391 899342.297 0, 961303.785 899340.011 0, 961582.178 899337.741 0, 961860.572 899335.488 0, 962138.966 899333.252 0, 962417.36 899331.032 0,
+ 962695.754 899328.828 0, 962974.148 899326.64 0, 963252.543 899324.469 0, 963530.937 899322.314 0, 963809.332 899320.176 0, 964087.726 899318.054 0, 964366.121 899315.949 0, 964644.516 899313.86 0, 964922.911 899311.787 0, 965201.307 899309.73 0,
+ 965479.702 899307.69 0, 965758.097 899305.667 0, 966036.493 899303.66 0, 966314.889 899301.669 0, 966591.932 899299.704 0, 966871.681 899297.736 0, 967150.077 899295.795 0, 967428.473 899293.869 0, 967706.869 899291.96 0, 967985.265 899290.068 0,
+ 968263.662 899288.192 0, 968542.059 899286.332 0, 968820.455 899284.489 0, 969098.852 899282.662 0, 969377.249 899280.851 0, 969655.646 899279.057 0, 969934.043 899277.279 0, 970212.441 899275.518 0, 970490.838 899273.773 0, 970769.235 899272.044 0,
+ 971047.633 899270.332 0, 971326.031 899268.636 0, 971604.428 899266.956 0, 971882.826 899265.293 0, 972161.224 899263.646 0, 972439.622 899262.016 0, 972718.021 899260.402 0, 972996.419 899258.805 0, 973273.466 899257.231 0, 973241.948 893679.225 0,
+ 973210.43 888101.381 0))
+
+POLYGON ((986636.68 899200.6 0, 986359.627 899201.391 0, 986081.225 899202.202 0, 985802.824 899203.03 0, 985524.422 899203.873 0, 985246.021 899204.734 0, 984967.619 899205.61 0, 984689.218 899206.503 0, 984410.817 899207.413 0, 984132.415 899208.338 0,
+ 983854.014 899209.28 0, 983575.613 899210.239 0, 983297.212 899211.214 0, 983018.811 899212.205 0, 982740.41 899213.213 0, 982462.009 899214.237 0, 982183.608 899215.277 0, 981905.207 899216.334 0, 981626.806 899217.407 0, 981348.405 899218.497 0,
+ 981070.005 899219.603 0, 980791.604 899220.725 0, 980513.204 899221.864 0, 980234.803 899223.019 0, 979955.053 899224.196 0, 979678.003 899225.379 0, 979399.602 899226.583 0, 979121.202 899227.804 0, 978842.802 899229.041 0, 978564.402 899230.294 0,
+ 978286.002 899231.564 0, 978007.602 899232.85 0, 977729.203 899234.153 0, 977450.803 899235.472 0, 977172.403 899236.807 0, 976894.004 899238.159 0, 976615.604 899239.527 0, 976337.205 899240.912 0, 976058.805 899242.313 0, 975780.406 899243.73 0,
+ 975502.007 899245.164 0, 975223.608 899246.614 0, 974945.209 899248.08 0, 974666.81 899249.563 0, 974388.411 899251.063 0, 974110.013 899252.578 0, 973831.614 899254.11 0, 973553.216 899255.659 0, 973273.466 899257.231 0, 973304.985 904835.395 0,
+ 973336.505 910413.713 0, 973615.595 910412.144 0, 973893.337 910410.599 0, 974171.078 910409.071 0, 974448.821 910407.559 0, 974726.563 910406.063 0, 975004.305 910404.583 0, 975282.047 910403.12 0, 975559.79 910401.674 0, 975837.532 910400.243 0,
+ 976115.275 910398.829 0, 976393.017 910397.432 0, 976670.76 910396.051 0, 976948.503 910394.686 0, 977226.246 910393.337 0, 977503.989 910392.005 0, 977781.732 910390.689 0, 978059.475 910389.389 0, 978337.218 910388.106 0, 978614.962 910386.839 0,
+ 978892.705 910385.589 0, 979170.448 910384.355 0, 979448.192 910383.137 0, 979725.935 910381.935 0, 980002.332 910380.756 0, 980281.423 910379.581 0, 980559.167 910378.429 0, 980836.91 910377.293 0, 981114.654 910376.173 0, 981392.398 910375.07 0,
+ 981670.142 910373.983 0, 981947.886 910372.912 0, 982225.631 910371.858 0, 982503.375 910370.82 0, 982781.119 910369.798 0, 983058.864 910368.793 0, 983336.608 910367.804 0, 983614.352 910366.831 0, 983892.097 910365.875 0, 984169.842 910364.935 0,
+ 984447.586 910364.012 0, 984725.331 910363.104 0, 985003.076 910362.213 0, 985280.82 910361.339 0, 985558.565 910360.481 0, 985836.31 910359.639 0, 986114.055 910358.814 0, 986391.8 910358.004 0, 986668.199 910357.215 0, 986652.439 904778.831 0,
+ 986636.68 899200.6 0))
+
+POLYGON ((1000000 910338.383 0, 999723.598 910338.391 0, 999445.851 910338.416 0, 999168.105 910338.456 0, 998890.359 910338.513 0, 998612.613 910338.587 0, 998334.867 910338.677 0, 998057.121 910338.783 0, 997779.375 910338.905 0, 997501.628 910339.044 0,
+ 997223.882 910339.2 0, 996946.136 910339.371 0, 996668.39 910339.559 0, 996390.644 910339.763 0, 996112.898 910339.984 0, 995835.152 910340.221 0, 995557.406 910340.474 0, 995279.66 910340.744 0, 995001.914 910341.03 0, 994724.168 910341.332 0,
+ 994446.422 910341.651 0, 994168.676 910341.986 0, 993890.93 910342.337 0, 993613.184 910342.705 0, 993334.093 910343.091 0, 993057.692 910343.49 0, 992779.946 910343.906 0, 992502.2 910344.34 0, 992224.454 910344.789 0, 991946.709 910345.255 0,
+ 991668.963 910345.737 0, 991391.217 910346.236 0, 991113.471 910346.75 0, 990835.726 910347.282 0, 990557.98 910347.829 0, 990280.235 910348.393 0, 990002.489 910348.973 0, 989724.743 910349.57 0, 989446.998 910350.183 0, 989169.253 910350.812 0,
+ 988891.507 910351.458 0, 988613.762 910352.12 0, 988336.016 910352.798 0, 988058.271 910353.493 0, 987780.526 910354.204 0, 987502.781 910354.931 0, 987225.035 910355.675 0, 986947.29 910356.435 0, 986668.199 910357.215 0, 986683.96 915935.75 0,
+ 986699.72 921514.431 0, 986978.152 921513.652 0, 987255.24 921512.894 0, 987532.329 921512.152 0, 987809.417 921511.426 0, 988086.506 921510.717 0, 988363.594 921510.024 0, 988640.683 921509.347 0, 988917.772 921508.687 0, 989194.86 921508.043 0,
+ 989471.949 921507.415 0, 989749.038 921506.803 0, 990026.127 921506.208 0, 990303.216 921505.629 0, 990580.305 921505.067 0, 990857.394 921504.52 0, 991134.482 921503.99 0, 991411.572 921503.477 0, 991688.661 921502.979 0, 991965.75 921502.498 0,
+ 992242.839 921502.034 0, 992519.928 921501.585 0, 992797.017 921501.153 0, 993074.106 921500.737 0, 993349.854 921500.34 0, 993628.285 921499.955 0, 993905.374 921499.588 0, 994182.463 921499.237 0, 994459.552 921498.903 0, 994736.642 921498.585 0,
+ 995013.731 921498.283 0, 995290.82 921497.998 0, 995567.91 921497.729 0, 995844.999 921497.476 0, 996122.088 921497.24 0, 996399.178 921497.02 0, 996676.267 921496.816 0, 996953.357 921496.629 0, 997230.446 921496.457 0, 997507.535 921496.303 0,
+ 997784.625 921496.164 0, 998061.714 921496.042 0, 998338.804 921495.936 0, 998615.893 921495.846 0, 998892.983 921495.773 0, 999170.072 921495.716 0, 999447.162 921495.675 0, 999724.251 921495.651 0, 1000000 921495.643 0, 1000000 915916.94 0,
+ 1000000 910338.383 0))
+
+POLYGON ((1013300.28 921514.431 0, 1013024.53 921513.66 0, 1012747.441 921512.901 0, 1012470.353 921512.159 0, 1012193.264 921511.433 0, 1011916.176 921510.724 0, 1011639.087 921510.03 0, 1011361.998 921509.354 0, 1011084.91 921508.693 0, 1010807.821 921508.049 0,
+ 1010530.732 921507.421 0, 1010253.643 921506.809 0, 1009976.555 921506.214 0, 1009699.466 921505.635 0, 1009422.377 921505.072 0, 1009145.288 921504.526 0, 1008868.199 921503.995 0, 1008591.11 921503.482 0, 1008314.021 921502.984 0, 1008036.932 921502.503 0,
+ 1007759.843 921502.038 0, 1007482.754 921501.589 0, 1007205.664 921501.157 0, 1006928.575 921500.741 0, 1006650.146 921500.34 0, 1006374.397 921499.958 0, 1006097.308 921499.591 0, 1005820.218 921499.24 0, 1005543.129 921498.906 0, 1005266.04 921498.588 0,
+ 1004988.95 921498.286 0, 1004711.861 921498.001 0, 1004434.772 921497.732 0, 1004157.682 921497.479 0, 1003880.593 921497.242 0, 1003603.504 921497.022 0, 1003326.414 921496.818 0, 1003049.325 921496.63 0, 1002772.235 921496.459 0, 1002495.146 921496.304 0,
+ 1002218.056 921496.165 0, 1001940.967 921496.043 0, 1001663.878 921495.937 0, 1001386.788 921495.847 0, 1001109.699 921495.773 0, 1000832.609 921495.716 0, 1000555.52 921495.675 0, 1000278.43 921495.651 0, 1000000 921495.643 0, 1000000 927074.488 0,
+ 1000000 932653.471 0, 1000277.77 932653.479 0, 1000554.203 932653.504 0, 1000830.636 932653.545 0, 1001107.068 932653.602 0, 1001383.501 932653.675 0, 1001659.934 932653.765 0, 1001936.367 932653.87 0, 1002212.799 932653.993 0, 1002489.232 932654.131 0,
+ 1002765.665 932654.286 0, 1003042.098 932654.456 0, 1003318.53 932654.644 0, 1003594.963 932654.847 0, 1003871.396 932655.067 0, 1004147.828 932655.303 0, 1004424.261 932655.555 0, 1004700.694 932655.824 0, 1004977.126 932656.108 0, 1005253.559 932656.41 0,
+ 1005529.991 932656.727 0, 1005806.424 932657.06 0, 1006082.856 932657.41 0, 1006359.289 932657.777 0, 1006634.385 932658.157 0, 1006912.154 932658.558 0, 1007188.586 932658.973 0, 1007465.019 932659.404 0, 1007741.451 932659.851 0, 1008017.883 932660.315 0,
+ 1008294.316 932660.795 0, 1008570.748 932661.292 0, 1008847.18 932661.804 0, 1009123.613 932662.333 0, 1009400.045 932662.878 0, 1009676.477 932663.44 0, 1009952.909 932664.017 0, 1010229.341 932664.611 0, 1010505.773 932665.221 0, 1010782.205 932665.848 0,
+ 1011058.637 932666.491 0, 1011335.069 932667.15 0, 1011611.501 932667.825 0, 1011887.933 932668.516 0, 1012164.365 932669.224 0, 1012440.797 932669.948 0, 1012717.229 932670.689 0, 1012993.66 932671.445 0, 1013268.757 932672.215 0, 1013284.518 927093.253 0,
+ 1013300.28 921514.431 0))
+
+POLYGON ((1026537.407 932728.445 0, 1026262.312 932726.898 0, 1025985.884 932725.361 0, 1025709.455 932723.839 0, 1025433.027 932722.334 0, 1025156.598 932720.845 0, 1024880.169 932719.373 0, 1024603.74 932717.917 0, 1024327.311 932716.477 0, 1024050.882 932715.053 0,
+ 1023774.453 932713.645 0, 1023498.024 932712.254 0, 1023221.594 932710.879 0, 1022945.165 932709.521 0, 1022668.735 932708.178 0, 1022392.306 932706.852 0, 1022115.876 932705.542 0, 1021839.446 932704.249 0, 1021563.017 932702.971 0, 1021286.587 932701.71 0,
+ 1021010.157 932700.466 0, 1020733.727 932699.237 0, 1020457.297 932698.025 0, 1020180.866 932696.829 0, 1019903.102 932695.644 0, 1019628.006 932694.486 0, 1019351.576 932693.339 0, 1019075.145 932692.208 0, 1018798.715 932691.093 0, 1018522.284 932689.995 0,
+ 1018245.853 932688.913 0, 1017969.423 932687.847 0, 1017692.992 932686.798 0, 1017416.561 932685.765 0, 1017140.13 932684.748 0, 1016863.699 932683.747 0, 1016587.268 932682.762 0, 1016310.837 932681.794 0, 1016034.406 932680.842 0, 1015757.975 932679.907 0,
+ 1015481.544 932678.987 0, 1015205.112 932678.084 0, 1014928.681 932677.198 0, 1014652.25 932676.327 0, 1014375.818 932675.473 0, 1014099.387 932674.635 0, 1013822.955 932673.813 0, 1013546.524 932673.008 0, 1013268.757 932672.215 0, 1013252.995 938251.31 0,
+ 1013237.232 943830.536 0, 1013514.339 943831.327 0, 1013790.114 943832.131 0, 1014065.889 943832.95 0, 1014341.664 943833.786 0, 1014617.438 943834.639 0, 1014893.213 943835.507 0, 1015168.988 943836.392 0, 1015444.762 943837.293 0, 1015720.537 943838.21 0,
+ 1015996.311 943839.143 0, 1016272.085 943840.093 0, 1016547.86 943841.059 0, 1016823.634 943842.041 0, 1017099.408 943843.039 0, 1017375.182 943844.054 0, 1017650.956 943845.085 0, 1017926.73 943846.132 0, 1018202.504 943847.195 0, 1018478.278 943848.274 0,
+ 1018754.052 943849.37 0, 1019029.826 943850.482 0, 1019305.599 943851.61 0, 1019581.373 943852.754 0, 1019855.815 943853.909 0, 1020132.92 943855.092 0, 1020408.693 943856.285 0, 1020684.467 943857.494 0, 1020960.24 943858.72 0, 1021236.013 943859.962 0,
+ 1021511.786 943861.22 0, 1021787.559 943862.494 0, 1022063.332 943863.785 0, 1022339.105 943865.091 0, 1022614.878 943866.414 0, 1022890.651 943867.753 0, 1023166.423 943869.109 0, 1023442.196 943870.48 0, 1023717.969 943871.868 0, 1023993.741 943873.272 0,
+ 1024269.513 943874.693 0, 1024545.286 943876.129 0, 1024821.058 943877.582 0, 1025096.83 943879.051 0, 1025372.602 943880.536 0, 1025648.374 943882.038 0, 1025924.146 943883.556 0, 1026199.917 943885.09 0, 1026474.359 943886.632 0, 1026505.884 938307.473 0,
+ 1026537.407 932728.445 0))
+
+POLYGON ((1039711.274 943980.126 0, 1039436.836 943977.808 0, 1039161.07 943975.495 0, 1038885.303 943973.198 0, 1038609.537 943970.917 0, 1038333.77 943968.653 0, 1038058.003 943966.405 0, 1037782.236 943964.173 0, 1037506.469 943961.957 0, 1037230.702 943959.758 0,
+ 1036954.934 943957.574 0, 1036679.167 943955.407 0, 1036403.399 943953.257 0, 1036127.632 943951.122 0, 1035851.864 943949.004 0, 1035576.096 943946.902 0, 1035300.328 943944.816 0, 1035024.559 943942.746 0, 1034748.791 943940.693 0, 1034473.023 943938.656 0,
+ 1034197.254 943936.635 0, 1033921.485 943934.63 0, 1033645.717 943932.642 0, 1033369.948 943930.67 0, 1033092.85 943928.704 0, 1032818.409 943926.774 0, 1032542.64 943924.851 0, 1032266.871 943922.943 0, 1031991.101 943921.052 0, 1031715.332 943919.177 0,
+ 1031439.562 943917.319 0, 1031163.792 943915.476 0, 1030888.022 943913.65 0, 1030612.252 943911.84 0, 1030336.482 943910.047 0, 1030060.712 943908.269 0, 1029784.941 943906.508 0, 1029509.171 943904.763 0, 1029233.4 943903.034 0, 1028957.629 943901.322 0,
+ 1028681.859 943899.626 0, 1028406.088 943897.946 0, 1028130.317 943896.282 0, 1027854.546 943894.634 0, 1027578.775 943893.003 0, 1027303.003 943891.388 0, 1027027.232 943889.789 0, 1026751.46 943888.206 0, 1026474.359 943886.632 0, 1026442.833 949465.918 0,
+ 1026411.307 955045.326 0, 1026687.749 955046.896 0, 1026962.864 955048.475 0, 1027237.978 955050.07 0, 1027513.093 955051.681 0, 1027788.207 955053.309 0, 1028063.322 955054.952 0, 1028338.436 955056.612 0, 1028613.55 955058.288 0, 1028888.664 955059.98 0,
+ 1029163.778 955061.689 0, 1029438.892 955063.413 0, 1029714.005 955065.154 0, 1029989.119 955066.911 0, 1030264.232 955068.684 0, 1030539.346 955070.474 0, 1030814.459 955072.279 0, 1031089.572 955074.101 0, 1031364.685 955075.939 0, 1031639.798 955077.793 0,
+ 1031914.911 955079.664 0, 1032190.024 955081.55 0, 1032465.136 955083.453 0, 1032740.249 955085.372 0, 1033014.035 955087.298 0, 1033290.474 955089.258 0, 1033565.586 955091.226 0, 1033840.698 955093.21 0, 1034115.81 955095.209 0, 1034390.922 955097.226 0,
+ 1034666.033 955099.258 0, 1034941.145 955101.306 0, 1035216.256 955103.371 0, 1035491.368 955105.452 0, 1035766.479 955107.549 0, 1036041.59 955109.662 0, 1036316.701 955111.792 0, 1036591.812 955113.937 0, 1036866.922 955116.099 0, 1037142.033 955118.277 0,
+ 1037417.144 955120.471 0, 1037692.254 955122.682 0, 1037967.364 955124.908 0, 1038242.474 955127.151 0, 1038517.584 955129.41 0, 1038792.694 955131.685 0, 1039067.803 955133.976 0, 1039342.913 955136.284 0, 1039616.698 955138.596 0, 1039663.986 949559.3 0,
+ 1039711.274 943980.126 0))
+
+POLYGON ((1052821.772 955269.174 0, 1052547.993 955266.088 0, 1052272.891 955263.004 0, 1051997.789 955259.935 0, 1051722.686 955256.883 0, 1051447.584 955253.846 0, 1051172.481 955250.826 0, 1050897.378 955247.823 0, 1050622.275 955244.835 0, 1050347.172 955241.864 0,
+ 1050072.069 955238.908 0, 1049796.965 955235.969 0, 1049521.862 955233.046 0, 1049246.758 955230.14 0, 1048971.654 955227.249 0, 1048696.55 955224.375 0, 1048421.445 955221.517 0, 1048146.341 955218.675 0, 1047871.236 955215.849 0, 1047596.131 955213.04 0,
+ 1047321.026 955210.247 0, 1047045.921 955207.469 0, 1046770.816 955204.708 0, 1046495.71 955201.964 0, 1046219.281 955199.222 0, 1045945.499 955196.523 0, 1045670.393 955193.827 0, 1045395.286 955191.147 0, 1045120.18 955188.483 0, 1044845.074 955185.835 0,
+ 1044569.967 955183.204 0, 1044294.86 955180.589 0, 1044019.753 955177.99 0, 1043744.646 955175.407 0, 1043469.539 955172.84 0, 1043194.432 955170.29 0, 1042919.324 955167.756 0, 1042644.216 955165.238 0, 1042369.109 955162.736 0, 1042094.001 955160.25 0,
+ 1041818.893 955157.781 0, 1041543.784 955155.327 0, 1041268.676 955152.89 0, 1040993.567 955150.469 0, 1040718.459 955148.065 0, 1040443.35 955145.676 0, 1040168.241 955143.304 0, 1039893.132 955140.948 0, 1039616.698 955138.596 0, 1039569.408 960718.012 0,
+ 1039522.117 966297.541 0, 1039797.891 966299.887 0, 1040072.344 966302.237 0, 1040346.796 966304.604 0, 1040621.248 966306.986 0, 1040895.7 966309.385 0, 1041170.151 966311.801 0, 1041444.603 966314.232 0, 1041719.055 966316.679 0, 1041993.506 966319.143 0,
+ 1042267.957 966321.623 0, 1042542.408 966324.118 0, 1042816.859 966326.63 0, 1043091.31 966329.159 0, 1043365.76 966331.703 0, 1043640.211 966334.264 0, 1043914.661 966336.84 0, 1044189.111 966339.433 0, 1044463.561 966342.042 0, 1044738.011 966344.667 0,
+ 1045012.461 966347.308 0, 1045286.91 966349.966 0, 1045561.36 966352.639 0, 1045835.809 966355.329 0, 1046108.937 966358.022 0, 1046384.707 966360.757 0, 1046659.155 966363.495 0, 1046933.604 966366.249 0, 1047208.052 966369.02 0, 1047482.501 966371.807 0,
+ 1047756.949 966374.609 0, 1048031.397 966377.428 0, 1048305.844 966380.263 0, 1048580.292 966383.115 0, 1048854.739 966385.982 0, 1049129.187 966388.866 0, 1049403.634 966391.765 0, 1049678.081 966394.681 0, 1049952.527 966397.613 0, 1050226.974 966400.562 0,
+ 1050501.42 966403.526 0, 1050775.866 966406.506 0, 1051050.312 966409.503 0, 1051324.758 966412.516 0, 1051599.204 966415.545 0, 1051873.65 966418.59 0, 1052148.095 966421.651 0, 1052422.54 966424.729 0, 1052695.665 966427.807 0, 1052758.719 960848.434 0,
+ 1052821.772 955269.174 0))
+
+POLYGON ((1065868.793 966595.291 0, 1065595.675 966591.44 0, 1065321.24 966587.588 0, 1065046.804 966583.751 0, 1064772.369 966579.93 0, 1064497.933 966576.126 0, 1064223.496 966572.338 0, 1063949.06 966568.566 0, 1063674.623 966564.81 0, 1063400.186 966561.071 0,
+ 1063125.749 966557.347 0, 1062851.312 966553.64 0, 1062576.874 966549.948 0, 1062302.437 966546.273 0, 1062027.999 966542.614 0, 1061753.56 966538.972 0, 1061479.122 966535.345 0, 1061204.683 966531.735 0, 1060930.244 966528.14 0, 1060655.805 966524.562 0,
+ 1060381.366 966521 0, 1060106.927 966517.454 0, 1059832.487 966513.925 0, 1059558.047 966510.411 0, 1059282.288 966506.897 0, 1059009.167 966503.432 0, 1058734.726 966499.967 0, 1058460.285 966496.518 0, 1058185.844 966493.086 0, 1057911.403 966489.669 0,
+ 1057636.962 966486.268 0, 1057362.52 966482.884 0, 1057088.079 966479.516 0, 1056813.637 966476.164 0, 1056539.195 966472.828 0, 1056264.752 966469.508 0, 1055990.31 966466.205 0, 1055715.867 966462.917 0, 1055441.424 966459.646 0, 1055166.981 966456.391 0,
+ 1054892.538 966453.152 0, 1054618.094 966449.929 0, 1054343.651 966446.723 0, 1054069.207 966443.532 0, 1053794.763 966440.358 0, 1053520.319 966437.2 0, 1053245.874 966434.058 0, 1052971.43 966430.932 0, 1052695.665 966427.807 0, 1052632.61 972007.291 0,
+ 1052569.554 977586.881 0, 1052844.659 977589.999 0, 1053118.446 977593.117 0, 1053392.234 977596.252 0, 1053666.021 977599.402 0, 1053939.809 977602.569 0, 1054213.596 977605.752 0, 1054487.383 977608.951 0, 1054761.169 977612.166 0, 1055034.956 977615.397 0,
+ 1055308.742 977618.644 0, 1055582.528 977621.908 0, 1055856.314 977625.187 0, 1056130.1 977628.483 0, 1056403.885 977631.795 0, 1056677.671 977635.122 0, 1056951.456 977638.466 0, 1057225.241 977641.827 0, 1057499.025 977645.203 0, 1057772.81 977648.595 0,
+ 1058046.594 977652.004 0, 1058320.378 977655.428 0, 1058594.162 977658.869 0, 1058867.946 977662.326 0, 1059140.414 977665.782 0, 1059415.513 977669.288 0, 1059689.296 977672.793 0, 1059963.079 977676.314 0, 1060236.861 977679.851 0, 1060510.644 977683.405 0,
+ 1060784.426 977686.974 0, 1061058.208 977690.56 0, 1061331.99 977694.162 0, 1061605.772 977697.78 0, 1061879.553 977701.414 0, 1062153.334 977705.064 0, 1062427.115 977708.73 0, 1062700.896 977712.413 0, 1062974.677 977716.111 0, 1063248.457 977719.826 0,
+ 1063522.237 977723.557 0, 1063796.017 977727.303 0, 1064069.797 977731.066 0, 1064343.576 977734.845 0, 1064617.356 977738.641 0, 1064891.135 977742.452 0, 1065164.913 977746.279 0, 1065438.692 977750.123 0, 1065711.156 977753.964 0, 1065789.975 972174.574 0,
+ 1065868.793 966595.291 0))
+
+POLYGON ((1078852.233 977958.173 0, 1078579.779 977953.562 0, 1078306.013 977948.945 0, 1078032.246 977944.345 0, 1077758.478 977939.76 0, 1077484.711 977935.191 0, 1077210.943 977930.639 0, 1076937.175 977926.102 0, 1076663.407 977921.582 0, 1076389.639 977917.078 0,
+ 1076115.87 977912.59 0, 1075842.101 977908.118 0, 1075568.332 977903.662 0, 1075294.562 977899.222 0, 1075020.792 977894.798 0, 1074747.022 977890.391 0, 1074473.252 977885.999 0, 1074199.481 977881.624 0, 1073925.71 977877.265 0, 1073651.939 977872.922 0,
+ 1073378.168 977868.595 0, 1073104.396 977864.284 0, 1072830.624 977859.989 0, 1072556.852 977855.711 0, 1072281.767 977851.428 0, 1072009.307 977847.202 0, 1071735.535 977842.972 0, 1071461.761 977838.758 0, 1071187.988 977834.559 0, 1070914.214 977830.378 0,
+ 1070640.441 977826.212 0, 1070366.666 977822.062 0, 1070092.892 977817.928 0, 1069819.118 977813.811 0, 1069545.343 977809.71 0, 1069271.568 977805.624 0, 1068997.792 977801.555 0, 1068724.017 977797.502 0, 1068450.241 977793.465 0, 1068176.465 977789.445 0,
+ 1067902.689 977785.44 0, 1067628.912 977781.451 0, 1067355.136 977777.479 0, 1067081.359 977773.523 0, 1066807.581 977769.582 0, 1066533.804 977765.658 0, 1066260.026 977761.75 0, 1065986.248 977757.858 0, 1065711.156 977753.964 0, 1065632.335 983333.456 0,
+ 1065553.513 988913.047 0, 1065827.946 988916.932 0, 1066101.067 988920.814 0, 1066374.188 988924.713 0, 1066647.308 988928.627 0, 1066920.429 988932.558 0, 1067193.549 988936.505 0, 1067466.669 988940.468 0, 1067739.788 988944.447 0, 1068012.908 988948.442 0,
+ 1068286.027 988952.453 0, 1068559.146 988956.48 0, 1068832.265 988960.524 0, 1069105.383 988964.583 0, 1069378.502 988968.658 0, 1069651.62 988972.75 0, 1069924.737 988976.858 0, 1070197.855 988980.981 0, 1070470.972 988985.121 0, 1070744.089 988989.277 0,
+ 1071017.206 988993.449 0, 1071290.323 988997.637 0, 1071563.439 989001.841 0, 1071836.555 989006.061 0, 1072108.361 989010.277 0, 1072382.786 989014.549 0, 1072655.902 989018.818 0, 1072929.017 989023.102 0, 1073202.132 989027.403 0, 1073475.246 989031.719 0,
+ 1073748.361 989036.052 0, 1074021.475 989040.401 0, 1074294.588 989044.765 0, 1074567.702 989049.146 0, 1074840.815 989053.543 0, 1075113.928 989057.956 0, 1075387.041 989062.385 0, 1075660.154 989066.83 0, 1075933.266 989071.292 0, 1076206.378 989075.769 0,
+ 1076479.49 989080.262 0, 1076752.601 989084.772 0, 1077025.712 989089.297 0, 1077298.823 989093.839 0, 1077571.934 989098.397 0, 1077845.044 989102.97 0, 1078118.154 989107.56 0, 1078391.264 989112.166 0, 1078663.065 989116.766 0, 1078757.65 983537.421 0,
+ 1078852.233 977958.173 0))
+
+POLYGON ((1091771.989 989357.521 0, 1091500.2 989352.154 0, 1091227.104 989346.776 0, 1090954.008 989341.415 0, 1090680.912 989336.07 0, 1090407.815 989330.74 0, 1090134.718 989325.427 0, 1089861.621 989320.13 0, 1089588.523 989314.849 0, 1089315.425 989309.584 0,
+ 1089042.327 989304.335 0, 1088769.228 989299.102 0, 1088496.129 989293.885 0, 1088223.03 989288.685 0, 1087949.931 989283.5 0, 1087676.831 989278.332 0, 1087403.731 989273.179 0, 1087130.631 989268.043 0, 1086857.53 989262.923 0, 1086584.429 989257.818 0,
+ 1086311.328 989252.73 0, 1086038.226 989247.658 0, 1085765.124 989242.602 0, 1085492.022 989237.562 0, 1085217.612 989232.514 0, 1084945.817 989227.531 0, 1084672.714 989222.539 0, 1084399.61 989217.563 0, 1084126.507 989212.604 0, 1083853.403 989207.66 0,
+ 1083580.298 989202.733 0, 1083307.194 989197.821 0, 1083034.089 989192.926 0, 1082760.984 989188.047 0, 1082487.879 989183.184 0, 1082214.773 989178.337 0, 1081941.667 989173.506 0, 1081668.561 989168.691 0, 1081395.454 989163.892 0, 1081122.347 989159.109 0,
+ 1080849.24 989154.343 0, 1080576.133 989149.592 0, 1080303.025 989144.858 0, 1080029.917 989140.139 0, 1079756.809 989135.437 0, 1079483.701 989130.751 0, 1079210.592 989126.08 0, 1078937.483 989121.426 0, 1078663.065 989116.766 0, 1078568.478 994696.206 0,
+ 1078473.89 1000275.735 0, 1078747.648 1000280.384 0, 1079020.1 1000285.027 0, 1079292.552 1000289.686 0, 1079565.004 1000294.361 0, 1079837.455 1000299.052 0, 1080109.906 1000303.759 0, 1080382.357 1000308.482 0, 1080654.808 1000313.222 0, 1080927.258 1000317.977 0,
+ 1081199.708 1000322.748 0, 1081472.158 1000327.535 0, 1081744.607 1000332.339 0, 1082017.056 1000337.158 0, 1082289.505 1000341.993 0, 1082561.954 1000346.845 0, 1082834.402 1000351.712 0, 1083106.85 1000356.596 0, 1083379.298 1000361.495 0, 1083651.746 1000366.411 0,
+ 1083924.193 1000371.342 0, 1084196.64 1000376.29 0, 1084469.086 1000381.254 0, 1084741.532 1000386.233 0, 1085012.674 1000391.205 0, 1085286.424 1000396.241 0, 1085558.869 1000401.269 0, 1085831.315 1000406.313 0, 1086103.759 1000411.372 0, 1086376.204 1000416.448 0,
+ 1086648.648 1000421.54 0, 1086921.092 1000426.648 0, 1087193.536 1000431.772 0, 1087465.979 1000436.912 0, 1087738.422 1000442.068 0, 1088010.865 1000447.241 0, 1088283.307 1000452.429 0, 1088555.749 1000457.633 0, 1088828.191 1000462.853 0, 1089100.632 1000468.089 0,
+ 1089373.074 1000473.342 0, 1089645.514 1000478.61 0, 1089917.955 1000483.894 0, 1090190.395 1000489.195 0, 1090462.835 1000494.511 0, 1090735.275 1000499.844 0, 1091007.714 1000505.192 0, 1091280.153 1000510.557 0, 1091551.288 1000515.912 0, 1091661.639 994936.672 0,
+ 1091771.989 989357.521 0))
+
+POLYGON ((1104627.956 1000793.033 0, 1104356.835 1000786.912 0, 1104084.412 1000780.778 0, 1103811.989 1000774.66 0, 1103539.565 1000768.558 0, 1103267.142 1000762.472 0, 1102994.717 1000756.402 0, 1102722.293 1000750.348 0, 1102449.868 1000744.31 0, 1102177.443 1000738.288 0,
+ 1101905.017 1000732.282 0, 1101632.591 1000726.292 0, 1101360.165 1000720.318 0, 1101087.738 1000714.36 0, 1100815.311 1000708.418 0, 1100542.884 1000702.492 0, 1100270.456 1000696.583 0, 1099998.028 1000690.689 0, 1099725.6 1000684.811 0, 1099453.171 1000678.95 0,
+ 1099180.742 1000673.104 0, 1098908.313 1000667.274 0, 1098635.883 1000661.461 0, 1098363.453 1000655.663 0, 1098089.72 1000649.854 0, 1097818.591 1000644.117 0, 1097546.16 1000638.367 0, 1097273.729 1000632.634 0, 1097001.297 1000626.917 0, 1096728.865 1000621.215 0,
+ 1096456.432 1000615.53 0, 1096184 1000609.861 0, 1095911.566 1000604.208 0, 1095639.133 1000598.57 0, 1095366.699 1000592.949 0, 1095094.265 1000587.344 0, 1094821.831 1000581.755 0, 1094549.396 1000576.182 0, 1094276.961 1000570.625 0, 1094004.525 1000565.084 0,
+ 1093732.089 1000559.559 0, 1093459.653 1000554.051 0, 1093187.217 1000548.558 0, 1092914.78 1000543.081 0, 1092642.343 1000537.62 0, 1092369.906 1000532.175 0, 1092097.468 1000526.747 0, 1091825.03 1000521.334 0, 1091551.288 1000515.912 0, 1091440.935 1006095.238 0,
+ 1091330.581 1011674.645 0, 1091603.663 1011680.055 0, 1091875.444 1011685.454 0, 1092147.225 1011690.87 0, 1092419.006 1011696.302 0, 1092690.786 1011701.749 0, 1092962.566 1011707.213 0, 1093234.346 1011712.692 0, 1093506.125 1011718.188 0, 1093777.904 1011723.7 0,
+ 1094049.683 1011729.227 0, 1094321.461 1011734.771 0, 1094593.239 1011740.33 0, 1094865.017 1011745.906 0, 1095136.794 1011751.497 0, 1095408.571 1011757.105 0, 1095680.348 1011762.729 0, 1095952.124 1011768.368 0, 1096223.9 1011774.024 0, 1096495.676 1011779.695 0,
+ 1096767.451 1011785.383 0, 1097039.226 1011791.086 0, 1097311.001 1011796.806 0, 1097582.775 1011802.541 0, 1097853.25 1011808.265 0, 1098126.323 1011814.06 0, 1098398.096 1011819.844 0, 1098669.869 1011825.643 0, 1098941.642 1011831.459 0, 1099213.414 1011837.29 0,
+ 1099485.186 1011843.138 0, 1099756.958 1011849.001 0, 1100028.729 1011854.881 0, 1100300.5 1011860.776 0, 1100572.271 1011866.688 0, 1100844.041 1011872.615 0, 1101115.811 1011878.559 0, 1101387.581 1011884.518 0, 1101659.35 1011890.494 0, 1101931.119 1011896.485 0,
+ 1102202.887 1011902.493 0, 1102474.655 1011908.516 0, 1102746.423 1011914.556 0, 1103018.19 1011920.611 0, 1103289.957 1011926.683 0, 1103561.724 1011932.77 0, 1103833.491 1011938.873 0, 1104105.257 1011944.993 0, 1104375.724 1011951.099 0, 1104501.841 1006372.025 0,
+ 1104627.956 1000793.033 0))
+
+POLYGON ((1117420.034 1012264.406 0, 1117149.583 1012257.536 0, 1116877.835 1012250.649 0, 1116606.087 1012243.778 0, 1116334.339 1012236.922 0, 1116062.59 1012230.083 0, 1115790.841 1012223.26 0, 1115519.091 1012216.453 0, 1115247.341 1012209.661 0, 1114975.59 1012202.886 0,
+ 1114703.84 1012196.127 0, 1114432.088 1012189.384 0, 1114160.337 1012182.656 0, 1113888.585 1012175.945 0, 1113616.832 1012169.25 0, 1113345.08 1012162.571 0, 1113073.326 1012155.907 0, 1112801.573 1012149.26 0, 1112529.819 1012142.629 0, 1112258.064 1012136.014 0,
+ 1111986.31 1012129.414 0, 1111714.554 1012122.831 0, 1111442.799 1012116.264 0, 1111171.043 1012109.712 0, 1110897.99 1012103.146 0, 1110627.53 1012096.658 0, 1110355.773 1012090.154 0, 1110084.015 1012083.667 0, 1109812.258 1012077.196 0, 1109540.499 1012070.74 0,
+ 1109268.741 1012064.301 0, 1108996.982 1012057.878 0, 1108725.222 1012051.47 0, 1108453.463 1012045.079 0, 1108181.703 1012038.704 0, 1107909.942 1012032.344 0, 1107638.181 1012026.001 0, 1107366.42 1012019.674 0, 1107094.658 1012013.362 0, 1106822.896 1012007.067 0,
+ 1106551.134 1012000.787 0, 1106279.371 1011994.524 0, 1106007.608 1011988.277 0, 1105735.845 1011982.045 0, 1105464.081 1011975.83 0, 1105192.317 1011969.63 0, 1104920.552 1011963.447 0, 1104648.787 1011957.28 0, 1104375.724 1011951.099 0, 1104249.605 1017530.25 0,
+ 1104123.485 1023109.475 0, 1104395.889 1023115.641 0, 1104666.997 1023121.793 0, 1104938.105 1023127.962 0, 1105209.212 1023134.146 0, 1105480.319 1023140.347 0, 1105751.426 1023146.563 0, 1106022.532 1023152.795 0, 1106293.638 1023159.044 0, 1106564.744 1023165.308 0,
+ 1106835.849 1023171.588 0, 1107106.954 1023177.884 0, 1107378.058 1023184.196 0, 1107649.162 1023190.524 0, 1107920.266 1023196.868 0, 1108191.37 1023203.228 0, 1108462.473 1023209.604 0, 1108733.575 1023215.996 0, 1109004.677 1023222.404 0, 1109275.779 1023228.828 0,
+ 1109546.881 1023235.267 0, 1109817.982 1023241.723 0, 1110089.083 1023248.195 0, 1110360.183 1023254.682 0, 1110629.989 1023261.155 0, 1110902.382 1023267.705 0, 1111173.482 1023274.241 0, 1111444.58 1023280.792 0, 1111715.679 1023287.36 0, 1111986.777 1023293.943 0,
+ 1112257.874 1023300.542 0, 1112528.972 1023307.157 0, 1112800.069 1023313.789 0, 1113071.165 1023320.436 0, 1113342.261 1023327.099 0, 1113613.357 1023333.778 0, 1113884.452 1023340.473 0, 1114155.547 1023347.184 0, 1114426.642 1023353.911 0, 1114697.736 1023360.654 0,
+ 1114968.829 1023367.413 0, 1115239.923 1023374.188 0, 1115511.016 1023380.978 0, 1115782.108 1023387.785 0, 1116053.2 1023394.608 0, 1116324.292 1023401.446 0, 1116595.383 1023408.301 0, 1116866.474 1023415.172 0, 1117136.272 1023422.025 0, 1117278.154 1017843.179 0,
+ 1117420.034 1012264.406 0))
+
+POLYGON ((1130148.123 1023771.338 0, 1129878.344 1023763.722 0, 1129607.274 1023756.085 0, 1129336.203 1023748.465 0, 1129065.131 1023740.86 0, 1128794.06 1023733.272 0, 1128522.988 1023725.699 0, 1128251.915 1023718.143 0, 1127980.842 1023710.602 0, 1127709.768 1023703.077 0,
+ 1127438.694 1023695.568 0, 1127167.62 1023688.076 0, 1126896.545 1023680.599 0, 1126625.47 1023673.138 0, 1126354.394 1023665.693 0, 1126083.318 1023658.264 0, 1125812.241 1023650.851 0, 1125541.164 1023643.454 0, 1125270.087 1023636.073 0, 1124999.009 1023628.707 0,
+ 1124727.93 1023621.358 0, 1124456.852 1023614.025 0, 1124185.772 1023606.708 0, 1123914.693 1023599.406 0, 1123642.321 1023592.086 0, 1123372.532 1023584.851 0, 1123101.451 1023577.598 0, 1122830.37 1023570.36 0, 1122559.288 1023563.139 0, 1122288.206 1023555.933 0,
+ 1122017.123 1023548.744 0, 1121746.04 1023541.57 0, 1121474.957 1023534.412 0, 1121203.873 1023527.27 0, 1120932.789 1023520.145 0, 1120661.704 1023513.035 0, 1120390.619 1023505.941 0, 1120119.533 1023498.863 0, 1119848.447 1023491.801 0, 1119577.361 1023484.755 0,
+ 1119306.274 1023477.725 0, 1119035.187 1023470.71 0, 1118764.099 1023463.712 0, 1118493.011 1023456.73 0, 1118221.923 1023449.764 0, 1117950.834 1023442.813 0, 1117679.744 1023435.879 0, 1117408.655 1023428.961 0, 1117136.272 1023422.025 0, 1116994.388 1029000.941 0,
+ 1116852.502 1034579.921 0, 1117124.226 1034586.84 0, 1117394.659 1034593.742 0, 1117665.091 1034600.659 0, 1117935.523 1034607.593 0, 1118205.955 1034614.542 0, 1118476.386 1034621.507 0, 1118746.817 1034628.489 0, 1119017.248 1034635.486 0, 1119287.678 1034642.499 0,
+ 1119558.107 1034649.528 0, 1119828.537 1034656.573 0, 1120098.966 1034663.634 0, 1120369.394 1034670.71 0, 1120639.822 1034677.803 0, 1120910.25 1034684.912 0, 1121180.677 1034692.036 0, 1121451.104 1034699.177 0, 1121721.53 1034706.333 0, 1121991.956 1034713.505 0,
+ 1122262.381 1034720.693 0, 1122532.806 1034727.897 0, 1122803.231 1034735.117 0, 1123073.655 1034742.353 0, 1123342.79 1034749.57 0, 1123614.502 1034756.873 0, 1123884.925 1034764.156 0, 1124155.348 1034771.456 0, 1124425.77 1034778.772 0, 1124696.192 1034786.103 0,
+ 1124966.613 1034793.45 0, 1125237.034 1034800.814 0, 1125507.454 1034808.193 0, 1125777.874 1034815.588 0, 1126048.293 1034822.999 0, 1126318.712 1034830.426 0, 1126589.131 1034837.869 0, 1126859.549 1034845.327 0, 1127129.967 1034852.802 0, 1127400.384 1034860.292 0,
+ 1127670.801 1034867.799 0, 1127941.217 1034875.321 0, 1128211.633 1034882.86 0, 1128482.049 1034890.414 0, 1128752.464 1034897.984 0, 1129022.878 1034905.57 0, 1129293.293 1034913.172 0, 1129563.706 1034920.79 0, 1129832.832 1034928.388 0, 1129990.479 1029349.83 0,
+ 1130148.123 1023771.338 0))
+
+POLYGON ((1142812.125 1035313.524 0, 1142543.02 1035305.166 0, 1142272.629 1035296.784 0, 1142002.237 1035288.418 0, 1141731.845 1035280.068 0, 1141461.453 1035271.734 0, 1141191.06 1035263.416 0, 1140920.666 1035255.114 0, 1140650.272 1035246.828 0, 1140379.877 1035238.557 0,
+ 1140109.482 1035230.303 0, 1139839.087 1035222.064 0, 1139568.691 1035213.841 0, 1139298.294 1035205.634 0, 1139027.897 1035197.444 0, 1138757.5 1035189.269 0, 1138487.102 1035181.11 0, 1138216.704 1035172.967 0, 1137946.305 1035164.839 0, 1137675.905 1035156.728 0,
+ 1137405.505 1035148.633 0, 1137135.105 1035140.553 0, 1136864.704 1035132.49 0, 1136594.303 1035124.442 0, 1136322.615 1035116.372 0, 1136053.499 1035108.395 0, 1135783.096 1035100.395 0, 1135512.693 1035092.411 0, 1135242.29 1035084.443 0, 1134971.885 1035076.49 0,
+ 1134701.481 1035068.554 0, 1134431.076 1035060.634 0, 1134160.67 1035052.73 0, 1133890.264 1035044.841 0, 1133619.858 1035036.969 0, 1133349.451 1035029.112 0, 1133079.044 1035021.271 0, 1132808.636 1035013.446 0, 1132538.228 1035005.637 0, 1132267.819 1034997.844 0,
+ 1131997.41 1034990.067 0, 1131727 1034982.306 0, 1131456.59 1034974.561 0, 1131186.179 1034966.832 0, 1130915.768 1034959.118 0, 1130645.357 1034951.421 0, 1130374.945 1034943.739 0, 1130104.533 1034936.074 0, 1129832.832 1034928.388 0, 1129675.184 1040507.006 0,
+ 1129517.534 1046085.681 0, 1129788.575 1046093.348 0, 1130058.33 1046100.996 0, 1130328.086 1046108.658 0, 1130597.84 1046116.337 0, 1130867.595 1046124.032 0, 1131137.349 1046131.742 0, 1131407.102 1046139.469 0, 1131676.855 1046147.211 0, 1131946.607 1046154.969 0,
+ 1132216.359 1046162.743 0, 1132486.111 1046170.533 0, 1132755.862 1046178.339 0, 1133025.613 1046186.161 0, 1133295.363 1046193.998 0, 1133565.113 1046201.852 0, 1133834.862 1046209.721 0, 1134104.611 1046217.606 0, 1134374.359 1046225.507 0, 1134644.107 1046233.424 0,
+ 1134913.855 1046241.357 0, 1135183.602 1046249.306 0, 1135453.348 1046257.27 0, 1135723.094 1046265.251 0, 1135991.556 1046273.209 0, 1136262.585 1046281.259 0, 1136532.329 1046289.288 0, 1136802.074 1046297.331 0, 1137071.817 1046305.391 0, 1137341.56 1046313.467 0,
+ 1137611.303 1046321.559 0, 1137881.045 1046329.666 0, 1138150.787 1046337.789 0, 1138420.528 1046345.929 0, 1138690.269 1046354.084 0, 1138960.009 1046362.255 0, 1139229.749 1046370.442 0, 1139499.489 1046378.644 0, 1139769.228 1046386.863 0, 1140038.966 1046395.097 0,
+ 1140308.704 1046403.348 0, 1140578.441 1046411.614 0, 1140848.178 1046419.896 0, 1141117.915 1046428.194 0, 1141387.651 1046436.508 0, 1141657.386 1046444.838 0, 1141927.121 1046453.183 0, 1142196.856 1046461.545 0, 1142465.307 1046469.882 0, 1142638.717 1040891.675 0,
+ 1142812.125 1035313.524 0))
+
+POLYGON ((1155411.943 1046890.662 0, 1155143.514 1046881.566 0, 1154873.804 1046872.442 0, 1154604.094 1046863.335 0, 1154334.383 1046854.243 0, 1154064.672 1046845.167 0, 1153794.96 1046836.107 0, 1153525.247 1046827.063 0, 1153255.534 1046818.035 0, 1152985.821 1046809.022 0,
+ 1152716.107 1046800.026 0, 1152446.392 1046791.045 0, 1152176.677 1046782.08 0, 1151906.962 1046773.131 0, 1151637.245 1046764.198 0, 1151367.529 1046755.281 0, 1151097.812 1046746.38 0, 1150828.094 1046737.495 0, 1150558.376 1046728.625 0, 1150288.657 1046719.772 0,
+ 1150018.937 1046710.934 0, 1149749.218 1046702.112 0, 1149479.497 1046693.306 0, 1149209.776 1046684.516 0, 1148938.774 1046675.7 0, 1148670.333 1046666.983 0, 1148400.611 1046658.241 0, 1148130.888 1046649.514 0, 1147861.164 1046640.803 0, 1147591.44 1046632.108 0,
+ 1147321.716 1046623.429 0, 1147051.991 1046614.766 0, 1146782.266 1046606.119 0, 1146512.54 1046597.488 0, 1146242.813 1046588.872 0, 1145973.086 1046580.273 0, 1145703.359 1046571.689 0, 1145433.631 1046563.121 0, 1145163.902 1046554.569 0, 1144894.173 1046546.033 0,
+ 1144624.444 1046537.513 0, 1144354.714 1046529.008 0, 1144084.983 1046520.52 0, 1143815.252 1046512.047 0, 1143545.521 1046503.59 0, 1143275.789 1046495.149 0, 1143006.056 1046486.724 0, 1142736.323 1046478.315 0, 1142465.307 1046469.882 0, 1142291.896 1052048.142 0,
+ 1142118.482 1057626.45 0, 1142388.839 1057634.863 0, 1142657.915 1057643.251 0, 1142926.991 1057651.656 0, 1143196.066 1057660.076 0, 1143465.141 1057668.512 0, 1143734.215 1057676.964 0, 1144003.289 1057685.432 0, 1144272.363 1057693.916 0, 1144541.435 1057702.415 0,
+ 1144810.508 1057710.931 0, 1145079.58 1057719.462 0, 1145348.651 1057728.009 0, 1145617.722 1057736.572 0, 1145886.792 1057745.15 0, 1146155.862 1057753.745 0, 1146424.931 1057762.355 0, 1146694 1057770.981 0, 1146963.069 1057779.624 0, 1147232.136 1057788.281 0,
+ 1147501.204 1057796.955 0, 1147770.271 1057805.645 0, 1148039.337 1057814.35 0, 1148308.403 1057823.071 0, 1148576.19 1057831.767 0, 1148846.533 1057840.561 0, 1149115.597 1057849.33 0, 1149384.661 1057858.114 0, 1149653.724 1057866.915 0, 1149922.786 1057875.731 0,
+ 1150191.849 1057884.563 0, 1150460.91 1057893.411 0, 1150729.971 1057902.275 0, 1150999.032 1057911.154 0, 1151268.092 1057920.05 0, 1151537.152 1057928.961 0, 1151806.211 1057937.888 0, 1152075.269 1057946.831 0, 1152344.327 1057955.79 0, 1152613.385 1057964.765 0,
+ 1152882.441 1057973.755 0, 1153151.498 1057982.761 0, 1153420.554 1057991.783 0, 1153689.609 1058000.821 0, 1153958.664 1058009.875 0, 1154227.718 1058018.945 0, 1154496.772 1058028.03 0, 1154765.825 1058037.131 0, 1155033.601 1058046.205 0, 1155222.773 1052468.409 0,
+ 1155411.943 1046890.662 0))
+
+POLYGON ((1167947.481 1058502.446 0, 1167679.73 1058492.616 0, 1167410.704 1058482.754 0, 1167141.677 1058472.909 0, 1166872.649 1058463.079 0, 1166603.621 1058453.265 0, 1166334.593 1058443.467 0, 1166065.563 1058433.685 0, 1165796.533 1058423.919 0, 1165527.503 1058414.168 0,
+ 1165258.472 1058404.433 0, 1164989.44 1058394.715 0, 1164720.408 1058385.012 0, 1164451.375 1058375.324 0, 1164182.342 1058365.653 0, 1163913.308 1058355.997 0, 1163644.274 1058346.358 0, 1163375.239 1058336.734 0, 1163106.203 1058327.126 0, 1162837.167 1058317.534 0,
+ 1162568.13 1058307.957 0, 1162299.093 1058298.397 0, 1162030.055 1058288.852 0, 1161761.017 1058279.323 0, 1161490.702 1058269.765 0, 1161222.939 1058260.313 0, 1160953.898 1058250.832 0, 1160684.858 1058241.366 0, 1160415.817 1058231.917 0, 1160146.775 1058222.483 0,
+ 1159877.733 1058213.065 0, 1159608.69 1058203.663 0, 1159339.646 1058194.276 0, 1159070.602 1058184.906 0, 1158801.558 1058175.551 0, 1158532.513 1058166.212 0, 1158263.467 1058156.889 0, 1157994.421 1058147.582 0, 1157725.374 1058138.291 0, 1157456.327 1058129.015 0,
+ 1157187.279 1058119.756 0, 1156918.231 1058110.512 0, 1156649.182 1058101.284 0, 1156380.133 1058092.072 0, 1156111.083 1058082.875 0, 1155842.032 1058073.695 0, 1155572.981 1058064.53 0, 1155303.93 1058055.382 0, 1155033.601 1058046.205 0, 1154844.427 1063624.045 0,
+ 1154655.252 1069201.924 0, 1154924.921 1069211.078 0, 1155193.316 1069220.205 0, 1155461.711 1069229.347 0, 1155730.105 1069238.505 0, 1155998.498 1069247.679 0, 1156266.891 1069256.869 0, 1156535.283 1069266.074 0, 1156803.675 1069275.295 0, 1157072.066 1069284.532 0,
+ 1157340.457 1069293.785 0, 1157608.847 1069303.054 0, 1157877.236 1069312.338 0, 1158145.625 1069321.639 0, 1158414.014 1069330.955 0, 1158682.402 1069340.286 0, 1158950.789 1069349.634 0, 1159219.176 1069358.997 0, 1159487.562 1069368.377 0, 1159755.948 1069377.772 0,
+ 1160024.333 1069387.183 0, 1160292.718 1069396.609 0, 1160561.102 1069406.052 0, 1160829.485 1069415.51 0, 1161096.595 1069424.939 0, 1161366.251 1069434.474 0, 1161634.632 1069443.979 0, 1161903.014 1069453.501 0, 1162171.394 1069463.038 0, 1162439.774 1069472.591 0,
+ 1162708.154 1069482.16 0, 1162976.533 1069491.744 0, 1163244.912 1069501.344 0, 1163513.289 1069510.961 0, 1163781.667 1069520.593 0, 1164050.043 1069530.24 0, 1164318.42 1069539.904 0, 1164586.795 1069549.583 0, 1164855.17 1069559.278 0, 1165123.545 1069568.989 0,
+ 1165391.919 1069578.716 0, 1165660.292 1069588.459 0, 1165928.665 1069598.217 0, 1166197.037 1069607.991 0, 1166465.408 1069617.781 0, 1166733.779 1069627.587 0, 1167002.15 1069637.408 0, 1167270.52 1069647.246 0, 1167537.617 1069657.052 0, 1167742.55 1064079.729 0,
+ 1167947.481 1058502.446 0))
+
+POLYGON ((1180418.645 1070148.573 0, 1180151.575 1070138.012 0, 1179883.234 1070127.416 0, 1179614.892 1070116.837 0, 1179346.55 1070106.273 0, 1179078.207 1070095.725 0, 1178809.863 1070085.192 0, 1178541.519 1070074.676 0, 1178273.175 1070064.175 0, 1178004.829 1070053.69 0,
+ 1177736.483 1070043.221 0, 1177468.137 1070032.768 0, 1177199.789 1070022.33 0, 1176931.442 1070011.909 0, 1176663.093 1070001.503 0, 1176394.744 1069991.112 0, 1176126.395 1069980.738 0, 1175858.044 1069970.38 0, 1175589.693 1069960.037 0, 1175321.342 1069949.71 0,
+ 1175052.99 1069939.399 0, 1174784.637 1069929.103 0, 1174516.284 1069918.824 0, 1174247.93 1069908.56 0, 1173978.305 1069898.263 0, 1173711.22 1069888.08 0, 1173442.865 1069877.863 0, 1173174.508 1069867.663 0, 1172906.152 1069857.478 0, 1172637.794 1069847.309 0,
+ 1172369.436 1069837.156 0, 1172101.077 1069827.018 0, 1171832.718 1069816.897 0, 1171564.358 1069806.791 0, 1171295.998 1069796.701 0, 1171027.637 1069786.626 0, 1170759.275 1069776.568 0, 1170490.913 1069766.525 0, 1170222.55 1069756.499 0, 1169954.186 1069746.487 0,
+ 1169685.822 1069736.492 0, 1169417.458 1069726.513 0, 1169149.093 1069716.549 0, 1168880.727 1069706.601 0, 1168612.36 1069696.669 0, 1168343.993 1069686.753 0, 1168075.626 1069676.852 0, 1167807.258 1069666.968 0, 1167537.617 1069657.052 0, 1167332.683 1075234.41 0,
+ 1167127.748 1080811.799 0, 1167396.729 1080821.69 0, 1167664.44 1080831.551 0, 1167932.151 1080841.427 0, 1168199.862 1080851.319 0, 1168467.572 1080861.227 0, 1168735.281 1080871.151 0, 1169002.99 1080881.09 0, 1169270.698 1080891.045 0, 1169538.405 1080901.016 0,
+ 1169806.112 1080911.002 0, 1170073.818 1080921.005 0, 1170341.524 1080931.023 0, 1170609.229 1080941.057 0, 1170876.934 1080951.106 0, 1171144.638 1080961.171 0, 1171412.341 1080971.253 0, 1171680.044 1080981.349 0, 1171947.746 1080991.462 0, 1172215.448 1081001.59 0,
+ 1172483.149 1081011.735 0, 1172750.849 1081021.894 0, 1173018.549 1081032.07 0, 1173286.248 1081042.262 0, 1173552.679 1081052.42 0, 1173821.645 1081062.692 0, 1174089.342 1081072.93 0, 1174357.039 1081083.185 0, 1174624.735 1081093.455 0, 1174892.43 1081103.741 0,
+ 1175160.125 1081114.043 0, 1175427.82 1081124.36 0, 1175695.513 1081134.693 0, 1175963.207 1081145.042 0, 1176230.899 1081155.407 0, 1176498.591 1081165.787 0, 1176766.282 1081176.184 0, 1177033.973 1081186.596 0, 1177301.663 1081197.023 0, 1177569.353 1081207.467 0,
+ 1177837.041 1081217.926 0, 1178104.73 1081228.401 0, 1178372.417 1081238.892 0, 1178640.104 1081249.398 0, 1178907.791 1081259.921 0, 1179175.476 1081270.459 0, 1179443.162 1081281.013 0, 1179710.846 1081291.582 0, 1179977.264 1081302.117 0, 1180197.955 1075725.329 0,
+ 1180418.645 1070148.573 0))
+
+POLYGON ((1192825.343 1081828.736 0, 1192558.954 1081817.448 0, 1192291.3 1081806.122 0, 1192023.646 1081794.812 0, 1191755.991 1081783.518 0, 1191488.336 1081772.239 0, 1191220.679 1081760.977 0, 1190953.022 1081749.73 0, 1190685.365 1081738.498 0, 1190417.707 1081727.283 0,
+ 1190150.048 1081716.083 0, 1189882.388 1081704.899 0, 1189614.728 1081693.731 0, 1189347.067 1081682.578 0, 1189079.406 1081671.442 0, 1188811.743 1081660.321 0, 1188544.081 1081649.216 0, 1188276.417 1081638.126 0, 1188008.753 1081627.052 0, 1187741.088 1081615.995 0,
+ 1187473.423 1081604.952 0, 1187205.757 1081593.926 0, 1186938.09 1081582.915 0, 1186670.422 1081571.92 0, 1186401.489 1081560.889 0, 1186135.086 1081549.978 0, 1185867.416 1081539.03 0, 1185599.746 1081528.098 0, 1185332.076 1081517.182 0, 1185064.405 1081506.282 0,
+ 1184796.733 1081495.397 0, 1184529.06 1081484.528 0, 1184261.387 1081473.675 0, 1183993.713 1081462.838 0, 1183726.039 1081452.016 0, 1183458.364 1081441.21 0, 1183190.688 1081430.42 0, 1182923.012 1081419.646 0, 1182655.335 1081408.887 0, 1182387.657 1081398.144 0,
+ 1182119.979 1081387.417 0, 1181852.3 1081376.706 0, 1181584.62 1081366.01 0, 1181316.94 1081355.33 0, 1181049.259 1081344.666 0, 1180781.578 1081334.018 0, 1180513.896 1081323.385 0, 1180246.213 1081312.768 0, 1179977.264 1081302.117 0, 1179756.571 1086878.932 0,
+ 1179535.878 1092455.768 0, 1179804.168 1092466.394 0, 1180071.194 1092476.984 0, 1180338.219 1092487.591 0, 1180605.244 1092498.213 0, 1180872.269 1092508.851 0, 1181139.292 1092519.505 0, 1181406.315 1092530.174 0, 1181673.338 1092540.859 0, 1181940.36 1092551.56 0,
+ 1182207.381 1092562.276 0, 1182474.401 1092573.009 0, 1182741.421 1092583.756 0, 1183008.44 1092594.52 0, 1183275.459 1092605.299 0, 1183542.477 1092616.095 0, 1183809.494 1092626.905 0, 1184076.511 1092637.732 0, 1184343.527 1092648.574 0, 1184610.543 1092659.432 0,
+ 1184877.557 1092670.306 0, 1185144.572 1092681.195 0, 1185411.585 1092692.1 0, 1185678.598 1092703.021 0, 1185944.348 1092713.906 0, 1186212.622 1092724.91 0, 1186479.633 1092735.878 0, 1186746.643 1092746.861 0, 1187013.653 1092757.861 0, 1187280.662 1092768.876 0,
+ 1187547.67 1092779.907 0, 1187814.678 1092790.953 0, 1188081.685 1092802.016 0, 1188348.691 1092813.094 0, 1188615.697 1092824.187 0, 1188882.702 1092835.297 0, 1189149.707 1092846.422 0, 1189416.71 1092857.563 0, 1189683.713 1092868.719 0, 1189950.716 1092879.891 0,
+ 1190217.718 1092891.079 0, 1190484.719 1092902.283 0, 1190751.719 1092913.503 0, 1191018.719 1092924.738 0, 1191285.718 1092935.988 0, 1191552.717 1092947.255 0, 1191819.715 1092958.537 0, 1192086.712 1092969.835 0, 1192352.447 1092981.096 0, 1192588.896 1087404.904 0,
+ 1192825.343 1081828.736 0))
+
+POLYGON ((1205167.482 1093542.63 0, 1204901.777 1093530.619 0, 1204634.813 1093518.566 0, 1204367.848 1093506.53 0, 1204100.882 1093494.509 0, 1203833.916 1093482.504 0, 1203566.949 1093470.514 0, 1203299.981 1093458.541 0, 1203033.013 1093446.583 0, 1202766.044 1093434.64 0,
+ 1202499.074 1093422.714 0, 1202232.103 1093410.803 0, 1201965.132 1093398.908 0, 1201698.16 1093387.029 0, 1201431.188 1093375.165 0, 1201164.214 1093363.317 0, 1200897.24 1093351.485 0, 1200630.265 1093339.668 0, 1200363.29 1093327.867 0, 1200096.314 1093316.082 0,
+ 1199829.337 1093304.313 0, 1199562.36 1093292.559 0, 1199295.381 1093280.821 0, 1199028.402 1093269.099 0, 1198760.163 1093257.337 0, 1198494.443 1093245.701 0, 1198227.462 1093234.026 0, 1197960.48 1093222.367 0, 1197693.498 1093210.723 0, 1197426.515 1093199.095 0,
+ 1197159.531 1093187.483 0, 1196892.547 1093175.886 0, 1196625.562 1093164.305 0, 1196358.576 1093152.74 0, 1196091.589 1093141.191 0, 1195824.602 1093129.657 0, 1195557.614 1093118.139 0, 1195290.626 1093106.637 0, 1195023.637 1093095.15 0, 1194756.647 1093083.679 0,
+ 1194489.657 1093072.224 0, 1194222.665 1093060.785 0, 1193955.674 1093049.361 0, 1193688.681 1093037.953 0, 1193421.688 1093026.561 0, 1193154.694 1093015.184 0, 1192887.699 1093003.824 0, 1192620.704 1092992.478 0, 1192352.447 1092981.096 0, 1192115.998 1098557.304 0,
+ 1191879.549 1104133.527 0, 1192147.146 1104144.882 0, 1192413.485 1104156.199 0, 1192679.823 1104167.532 0, 1192946.161 1104178.881 0, 1193212.498 1104190.245 0, 1193478.834 1104201.625 0, 1193745.169 1104213.021 0, 1194011.504 1104224.432 0, 1194277.838 1104235.859 0,
+ 1194544.171 1104247.301 0, 1194810.504 1104258.76 0, 1195076.836 1104270.234 0, 1195343.168 1104281.723 0, 1195609.498 1104293.229 0, 1195875.828 1104304.75 0, 1196142.158 1104316.287 0, 1196408.486 1104327.839 0, 1196674.814 1104339.407 0, 1196941.142 1104350.991 0,
+ 1197207.468 1104362.59 0, 1197473.794 1104374.205 0, 1197740.12 1104385.836 0, 1198006.444 1104397.482 0, 1198271.511 1104409.089 0, 1198539.091 1104420.822 0, 1198805.414 1104432.516 0, 1199071.736 1104444.225 0, 1199338.057 1104455.95 0, 1199604.377 1104467.69 0,
+ 1199870.697 1104479.446 0, 1200137.016 1104491.218 0, 1200403.334 1104503.006 0, 1200669.652 1104514.809 0, 1200935.969 1104526.628 0, 1201202.285 1104538.462 0, 1201468.601 1104550.312 0, 1201734.916 1104562.178 0, 1202001.23 1104574.06 0, 1202267.544 1104585.957 0,
+ 1202533.856 1104597.87 0, 1202800.168 1104609.798 0, 1203066.48 1104621.743 0, 1203332.791 1104633.703 0, 1203599.101 1104645.678 0, 1203865.41 1104657.67 0, 1204131.718 1104669.676 0, 1204398.026 1104681.699 0, 1204663.078 1104693.681 0, 1204915.28 1099118.148 0,
+ 1205167.482 1093542.63 0))
+
+POLYGON ((1217444.973 1105289.948 0, 1217179.954 1105277.217 0, 1216913.681 1105264.442 0, 1216647.408 1105251.683 0, 1216381.133 1105238.939 0, 1216114.858 1105226.212 0, 1215848.583 1105213.499 0, 1215582.306 1105200.803 0, 1215316.029 1105188.122 0, 1215049.751 1105175.457 0,
+ 1214783.472 1105162.807 0, 1214517.192 1105150.173 0, 1214250.912 1105137.555 0, 1213984.631 1105124.952 0, 1213718.349 1105112.365 0, 1213452.066 1105099.794 0, 1213185.783 1105087.239 0, 1212919.499 1105074.699 0, 1212653.214 1105062.175 0, 1212386.929 1105049.666 0,
+ 1212120.643 1105037.173 0, 1211854.356 1105024.696 0, 1211588.068 1105012.235 0, 1211321.78 1104999.789 0, 1211054.236 1104987.3 0, 1210789.201 1104974.944 0, 1210522.91 1104962.545 0, 1210256.619 1104950.162 0, 1209990.327 1104937.795 0, 1209724.034 1104925.443 0,
+ 1209457.74 1104913.107 0, 1209191.446 1104900.787 0, 1208925.151 1104888.482 0, 1208658.855 1104876.193 0, 1208392.559 1104863.919 0, 1208126.262 1104851.662 0, 1207859.964 1104839.42 0, 1207593.665 1104827.193 0, 1207327.366 1104814.982 0, 1207061.066 1104802.787 0,
+ 1206794.765 1104790.608 0, 1206528.464 1104778.444 0, 1206262.161 1104766.296 0, 1205995.859 1104754.164 0, 1205729.555 1104742.047 0, 1205463.251 1104729.946 0, 1205196.946 1104717.861 0, 1204930.64 1104705.791 0, 1204663.078 1104693.681 0, 1204410.875 1110269.222 0,
+ 1204158.672 1115844.768 0, 1204425.575 1115856.849 0, 1204691.224 1115868.889 0, 1204956.873 1115880.945 0, 1205222.521 1115893.016 0, 1205488.168 1115905.103 0, 1205753.815 1115917.205 0, 1206019.461 1115929.323 0, 1206285.106 1115941.457 0, 1206550.75 1115953.606 0,
+ 1206816.394 1115965.771 0, 1207082.037 1115977.952 0, 1207347.679 1115990.148 0, 1207613.321 1116002.36 0, 1207878.961 1116014.588 0, 1208144.602 1116026.831 0, 1208410.241 1116039.09 0, 1208675.88 1116051.364 0, 1208941.518 1116063.654 0, 1209207.155 1116075.96 0,
+ 1209472.791 1116088.281 0, 1209738.427 1116100.618 0, 1210004.062 1116112.971 0, 1210269.697 1116125.339 0, 1210534.079 1116137.664 0, 1210800.963 1116150.122 0, 1211066.595 1116162.537 0, 1211332.227 1116174.968 0, 1211597.857 1116187.415 0, 1211863.487 1116199.877 0,
+ 1212129.116 1116212.354 0, 1212394.745 1116224.848 0, 1212660.373 1116237.357 0, 1212926 1116249.881 0, 1213191.626 1116262.421 0, 1213457.251 1116274.977 0, 1213722.876 1116287.549 0, 1213988.5 1116300.136 0, 1214254.124 1116312.739 0, 1214519.746 1116325.357 0,
+ 1214785.368 1116337.991 0, 1215050.989 1116350.641 0, 1215316.609 1116363.306 0, 1215582.229 1116375.987 0, 1215847.848 1116388.683 0, 1216113.466 1116401.396 0, 1216379.083 1116414.123 0, 1216644.7 1116426.867 0, 1216909.065 1116439.566 0, 1217177.019 1110864.754 0,
+ 1217444.973 1105289.948 0))
+
+POLYGON ((1229657.727 1117070.383 0, 1229393.397 1117056.937 0, 1229127.817 1117043.443 0, 1228862.237 1117029.965 0, 1228596.656 1117016.503 0, 1228331.074 1117003.056 0, 1228065.491 1116989.625 0, 1227799.908 1116976.209 0, 1227534.323 1116962.809 0, 1227268.738 1116949.424 0,
+ 1227003.152 1116936.056 0, 1226737.566 1116922.702 0, 1226471.978 1116909.365 0, 1226206.39 1116896.043 0, 1225940.801 1116882.737 0, 1225675.211 1116869.446 0, 1225409.621 1116856.171 0, 1225144.029 1116842.912 0, 1224878.437 1116829.668 0, 1224612.844 1116816.44 0,
+ 1224347.251 1116803.228 0, 1224081.656 1116790.031 0, 1223816.061 1116776.85 0, 1223550.465 1116763.684 0, 1223283.619 1116750.472 0, 1223019.271 1116737.4 0, 1222753.672 1116724.281 0, 1222488.073 1116711.178 0, 1222222.473 1116698.091 0, 1221956.873 1116685.019 0,
+ 1221691.271 1116671.963 0, 1221425.669 1116658.922 0, 1221160.066 1116645.898 0, 1220894.463 1116632.888 0, 1220628.858 1116619.895 0, 1220363.253 1116606.917 0, 1220097.647 1116593.955 0, 1219832.04 1116581.008 0, 1219566.433 1116568.077 0, 1219300.824 1116555.161 0,
+ 1219035.215 1116542.262 0, 1218769.605 1116529.377 0, 1218503.995 1116516.509 0, 1218238.384 1116503.656 0, 1217972.771 1116490.819 0, 1217707.159 1116477.997 0, 1217441.545 1116465.191 0, 1217175.931 1116452.401 0, 1216909.065 1116439.566 0, 1216641.111 1122014.378 0,
+ 1216373.157 1127589.186 0, 1216639.364 1127601.989 0, 1216904.322 1127614.747 0, 1217169.279 1127627.522 0, 1217434.236 1127640.312 0, 1217699.192 1127653.117 0, 1217964.147 1127665.938 0, 1218229.101 1127678.775 0, 1218494.055 1127691.627 0, 1218759.007 1127704.495 0,
+ 1219023.959 1127717.379 0, 1219288.911 1127730.278 0, 1219553.861 1127743.193 0, 1219818.811 1127756.123 0, 1220083.76 1127769.069 0, 1220348.708 1127782.03 0, 1220613.656 1127795.007 0, 1220878.603 1127808 0, 1221143.549 1127821.008 0, 1221408.494 1127834.032 0,
+ 1221673.438 1127847.072 0, 1221938.382 1127860.127 0, 1222203.325 1127873.197 0, 1222468.267 1127886.284 0, 1222731.962 1127899.324 0, 1222998.149 1127912.503 0, 1223263.089 1127925.636 0, 1223528.028 1127938.785 0, 1223792.966 1127951.949 0, 1224057.903 1127965.129 0,
+ 1224322.84 1127978.324 0, 1224587.776 1127991.535 0, 1224852.711 1128004.762 0, 1225117.646 1128018.004 0, 1225382.579 1128031.262 0, 1225647.512 1128044.535 0, 1225912.444 1128057.824 0, 1226177.375 1128071.128 0, 1226442.306 1128084.449 0, 1226707.235 1128097.784 0,
+ 1226972.164 1128111.136 0, 1227237.092 1128124.503 0, 1227502.02 1128137.885 0, 1227766.946 1128151.283 0, 1228031.872 1128164.697 0, 1228296.797 1128178.126 0, 1228561.721 1128191.571 0, 1228826.644 1128205.032 0, 1229090.322 1128218.444 0, 1229374.024 1122644.416 0,
+ 1229657.727 1117070.383 0))
+
+POLYGON ((1241805.658 1128883.629 0, 1241542.017 1128869.471 0, 1241277.133 1128855.262 0, 1241012.248 1128841.069 0, 1240747.362 1128826.891 0, 1240482.475 1128812.729 0, 1240217.587 1128798.583 0, 1239952.699 1128784.452 0, 1239687.81 1128770.336 0, 1239422.92 1128756.237 0,
+ 1239158.029 1128742.152 0, 1238893.137 1128728.084 0, 1238628.244 1128714.031 0, 1238363.351 1128699.994 0, 1238098.457 1128685.972 0, 1237833.562 1128671.966 0, 1237568.666 1128657.975 0, 1237303.769 1128644 0, 1237038.871 1128630.04 0, 1236773.973 1128616.097 0,
+ 1236509.074 1128602.168 0, 1236244.174 1128588.256 0, 1235979.273 1128574.359 0, 1235714.371 1128560.477 0, 1235448.225 1128546.546 0, 1235184.566 1128532.761 0, 1234919.661 1128518.926 0, 1234654.757 1128505.107 0, 1234389.851 1128491.304 0, 1234124.944 1128477.516 0,
+ 1233860.037 1128463.743 0, 1233595.129 1128449.987 0, 1233330.22 1128436.246 0, 1233065.31 1128422.52 0, 1232800.399 1128408.81 0, 1232535.488 1128395.116 0, 1232270.576 1128381.437 0, 1232005.663 1128367.774 0, 1231740.749 1128354.126 0, 1231475.834 1128340.494 0,
+ 1231210.919 1128326.878 0, 1230946.003 1128313.277 0, 1230681.086 1128299.692 0, 1230416.168 1128286.122 0, 1230151.249 1128272.568 0, 1229886.33 1128259.029 0, 1229621.41 1128245.507 0, 1229356.489 1128231.999 0, 1229090.322 1128218.444 0, 1228806.62 1133792.464 0,
+ 1228522.918 1139366.471 0, 1228788.426 1139379.993 0, 1229052.691 1139393.466 0, 1229316.955 1139406.956 0, 1229581.218 1139420.461 0, 1229845.481 1139433.981 0, 1230109.742 1139447.517 0, 1230374.003 1139461.069 0, 1230638.263 1139474.636 0, 1230902.523 1139488.219 0,
+ 1231166.781 1139501.817 0, 1231431.039 1139515.431 0, 1231695.296 1139529.06 0, 1231959.552 1139542.705 0, 1232223.807 1139556.365 0, 1232488.061 1139570.041 0, 1232752.315 1139583.733 0, 1233016.568 1139597.44 0, 1233280.82 1139611.163 0, 1233545.071 1139624.901 0,
+ 1233809.322 1139638.655 0, 1234073.571 1139652.424 0, 1234337.82 1139666.209 0, 1234602.068 1139680.009 0, 1234865.074 1139693.76 0, 1235130.562 1139707.657 0, 1235394.807 1139721.504 0, 1235659.052 1139735.367 0, 1235923.296 1139749.245 0, 1236187.539 1139763.139 0,
+ 1236451.781 1139777.048 0, 1236716.023 1139790.973 0, 1236980.263 1139804.913 0, 1237244.503 1139818.869 0, 1237508.742 1139832.841 0, 1237772.98 1139846.828 0, 1238037.218 1139860.83 0, 1238301.454 1139874.849 0, 1238565.69 1139888.882 0, 1238829.925 1139902.932 0,
+ 1239094.159 1139916.996 0, 1239358.392 1139931.077 0, 1239622.624 1139945.173 0, 1239886.856 1139959.284 0, 1240151.087 1139973.411 0, 1240415.317 1139987.554 0, 1240679.546 1140001.712 0, 1240943.774 1140015.886 0, 1241206.761 1140030.008 0, 1241506.209 1134456.825 0,
+ 1241805.658 1128883.629 0))
+
+POLYGON ((1253888.679 1140729.377 0, 1253625.73 1140714.511 0, 1253361.543 1140699.591 0, 1253097.355 1140684.686 0, 1252833.166 1140669.797 0, 1252568.977 1140654.924 0, 1252304.786 1140640.066 0, 1252040.595 1140625.224 0, 1251776.402 1140610.397 0, 1251512.209 1140595.585 0,
+ 1251248.015 1140580.79 0, 1250983.82 1140566.01 0, 1250719.624 1140551.245 0, 1250455.427 1140536.496 0, 1250191.23 1140521.762 0, 1249927.031 1140507.044 0, 1249662.832 1140492.342 0, 1249398.632 1140477.655 0, 1249134.43 1140462.984 0, 1248870.229 1140448.328 0,
+ 1248606.026 1140433.688 0, 1248341.822 1140419.063 0, 1248077.618 1140404.454 0, 1247813.412 1140389.86 0, 1247547.967 1140375.214 0, 1247284.999 1140360.72 0, 1247020.791 1140346.173 0, 1246756.582 1140331.641 0, 1246492.372 1140317.126 0, 1246228.162 1140302.625 0,
+ 1245963.951 1140288.141 0, 1245699.738 1140273.671 0, 1245435.525 1140259.218 0, 1245171.311 1140244.78 0, 1244907.097 1140230.357 0, 1244642.881 1140215.95 0, 1244378.665 1140201.559 0, 1244114.447 1140187.183 0, 1243850.229 1140172.823 0, 1243586.01 1140158.478 0,
+ 1243321.79 1140144.149 0, 1243057.57 1140129.835 0, 1242793.348 1140115.537 0, 1242529.126 1140101.254 0, 1242264.902 1140086.987 0, 1242000.678 1140072.736 0, 1241736.454 1140058.5 0, 1241472.228 1140044.28 0, 1241206.761 1140030.008 0, 1240907.314 1145603.174 0,
+ 1240607.869 1151176.317 0, 1240872.676 1151190.553 0, 1241136.246 1151204.739 0, 1241399.815 1151218.939 0, 1241663.383 1151233.155 0, 1241926.95 1151247.387 0, 1242190.516 1151261.634 0, 1242454.082 1151275.896 0, 1242717.646 1151290.175 0, 1242981.21 1151304.468 0,
+ 1243244.773 1151318.777 0, 1243508.335 1151333.102 0, 1243771.896 1151347.442 0, 1244035.457 1151361.798 0, 1244299.016 1151376.169 0, 1244562.575 1151390.556 0, 1244826.133 1151404.958 0, 1245089.69 1151419.376 0, 1245353.246 1151433.809 0, 1245616.802 1151448.258 0,
+ 1245880.356 1151462.722 0, 1246143.91 1151477.202 0, 1246407.463 1151491.697 0, 1246671.015 1151506.208 0, 1246933.33 1151520.666 0, 1247198.116 1151535.276 0, 1247461.665 1151549.833 0, 1247725.214 1151564.406 0, 1247988.761 1151578.995 0, 1248252.308 1151593.599 0,
+ 1248515.854 1151608.218 0, 1248779.399 1151622.853 0, 1249042.943 1151637.503 0, 1249306.487 1151652.169 0, 1249570.029 1151666.851 0, 1249833.571 1151681.548 0, 1250097.112 1151696.26 0, 1250360.652 1151710.988 0, 1250624.191 1151725.731 0, 1250887.729 1151740.49 0,
+ 1251151.266 1151755.265 0, 1251414.803 1151770.055 0, 1251678.338 1151784.861 0, 1251941.873 1151799.682 0, 1252205.407 1151814.518 0, 1252468.939 1151829.37 0, 1252732.472 1151844.238 0, 1252996.003 1151859.121 0, 1253258.298 1151873.95 0, 1253573.488 1146301.674 0,
+ 1253888.679 1140729.377 0))
+
+POLYGON ((1265906.707 1152607.319 0, 1265644.452 1152591.749 0, 1265380.964 1152576.121 0, 1265117.475 1152560.509 0, 1264853.985 1152544.913 0, 1264590.494 1152529.332 0, 1264327.002 1152513.766 0, 1264063.51 1152498.216 0, 1263800.016 1152482.682 0, 1263536.522 1152467.163 0,
+ 1263273.026 1152451.659 0, 1263009.53 1152436.171 0, 1262746.033 1152420.699 0, 1262482.535 1152405.242 0, 1262219.035 1152389.8 0, 1261955.535 1152374.374 0, 1261692.035 1152358.964 0, 1261428.533 1152343.569 0, 1261165.03 1152328.19 0, 1260901.527 1152312.826 0,
+ 1260638.022 1152297.477 0, 1260374.517 1152282.145 0, 1260111.01 1152266.827 0, 1259847.503 1152251.525 0, 1259582.762 1152236.167 0, 1259320.486 1152220.968 0, 1259056.976 1152205.713 0, 1258793.465 1152190.473 0, 1258529.954 1152175.249 0, 1258266.441 1152160.04 0,
+ 1258002.928 1152144.846 0, 1257739.413 1152129.669 0, 1257475.898 1152114.506 0, 1257212.382 1152099.36 0, 1256948.865 1152084.228 0, 1256685.347 1152069.113 0, 1256421.828 1152054.012 0, 1256158.308 1152038.928 0, 1255894.788 1152023.859 0, 1255631.266 1152008.805 0,
+ 1255367.744 1151993.767 0, 1255104.221 1151978.744 0, 1254840.696 1151963.737 0, 1254577.171 1151948.745 0, 1254313.645 1151933.769 0, 1254050.119 1151918.808 0, 1253786.591 1151903.863 0, 1253523.062 1151888.934 0, 1253258.298 1151873.95 0, 1252943.11 1157446.198 0,
+ 1252627.924 1163018.416 0, 1252892.029 1163033.363 0, 1253154.901 1163048.255 0, 1253417.773 1163063.163 0, 1253680.644 1163078.087 0, 1253943.514 1163093.025 0, 1254206.383 1163107.98 0, 1254469.251 1163122.95 0, 1254732.119 1163137.935 0, 1254994.985 1163152.936 0,
+ 1255257.851 1163167.952 0, 1255520.715 1163182.984 0, 1255783.579 1163198.031 0, 1256046.442 1163213.093 0, 1256309.304 1163228.172 0, 1256572.165 1163243.265 0, 1256835.026 1163258.374 0, 1257097.885 1163273.499 0, 1257360.743 1163288.639 0, 1257623.601 1163303.794 0,
+ 1257886.458 1163318.965 0, 1258149.313 1163334.152 0, 1258412.168 1163349.353 0, 1258675.022 1163364.571 0, 1258936.645 1163379.732 0, 1259200.728 1163395.052 0, 1259463.579 1163410.316 0, 1259726.429 1163425.595 0, 1259989.279 1163440.89 0, 1260252.128 1163456.2 0,
+ 1260514.975 1163471.526 0, 1260777.822 1163486.867 0, 1261040.668 1163502.223 0, 1261303.513 1163517.595 0, 1261566.357 1163532.983 0, 1261829.2 1163548.386 0, 1262092.043 1163563.804 0, 1262354.884 1163579.238 0, 1262617.724 1163594.688 0, 1262880.564 1163610.153 0,
+ 1263143.403 1163625.633 0, 1263406.24 1163641.129 0, 1263669.077 1163656.64 0, 1263931.913 1163672.167 0, 1264194.748 1163687.709 0, 1264457.582 1163703.267 0, 1264720.415 1163718.84 0, 1264983.248 1163734.429 0, 1265244.85 1163749.96 0, 1265575.777 1158178.655 0,
+ 1265906.707 1152607.319 0))
+
+POLYGON ((1277859.658 1164517.146 0, 1277598.099 1164500.875 0, 1277335.312 1164484.544 0, 1277072.524 1164468.229 0, 1276809.735 1164451.928 0, 1276546.945 1164435.644 0, 1276284.154 1164419.374 0, 1276021.362 1164403.121 0, 1275758.569 1164386.882 0, 1275495.775 1164370.659 0,
+ 1275232.98 1164354.452 0, 1274970.184 1164338.26 0, 1274707.388 1164322.084 0, 1274444.59 1164305.923 0, 1274181.791 1164289.777 0, 1273918.992 1164273.647 0, 1273656.191 1164257.532 0, 1273393.39 1164241.433 0, 1273130.587 1164225.35 0, 1272867.784 1164209.282 0,
+ 1272604.98 1164193.229 0, 1272342.174 1164177.192 0, 1272079.368 1164161.17 0, 1271816.561 1164145.163 0, 1271552.525 1164129.098 0, 1271290.944 1164113.197 0, 1271028.134 1164097.237 0, 1270765.323 1164081.293 0, 1270502.511 1164065.364 0, 1270239.698 1164049.45 0,
+ 1269976.885 1164033.552 0, 1269714.07 1164017.67 0, 1269451.255 1164001.803 0, 1269188.438 1163985.951 0, 1268925.621 1163970.115 0, 1268662.802 1163954.294 0, 1268399.983 1163938.489 0, 1268137.163 1163922.699 0, 1267874.341 1163906.925 0, 1267611.519 1163891.166 0,
+ 1267348.696 1163875.423 0, 1267085.872 1163859.695 0, 1266823.048 1163843.982 0, 1266560.222 1163828.286 0, 1266297.395 1163812.604 0, 1266034.567 1163796.938 0, 1265771.739 1163781.288 0, 1265508.909 1163765.652 0, 1265244.85 1163749.96 0, 1264913.924 1169321.229 0,
+ 1264583.001 1174892.458 0, 1264846.402 1174908.112 0, 1265108.575 1174923.708 0, 1265370.748 1174939.319 0, 1265632.92 1174954.946 0, 1265895.091 1174970.589 0, 1266157.261 1174986.246 0, 1266419.43 1175001.92 0, 1266681.598 1175017.608 0, 1266943.765 1175033.312 0,
+ 1267205.931 1175049.032 0, 1267468.097 1175064.767 0, 1267730.261 1175080.517 0, 1267992.425 1175096.283 0, 1268254.587 1175112.064 0, 1268516.749 1175127.861 0, 1268778.91 1175143.673 0, 1269041.07 1175159.5 0, 1269303.228 1175175.343 0, 1269565.386 1175191.202 0,
+ 1269827.543 1175207.075 0, 1270089.699 1175222.965 0, 1270351.855 1175238.869 0, 1270614.009 1175254.789 0, 1270874.937 1175270.65 0, 1271138.314 1175286.676 0, 1271400.466 1175302.642 0, 1271662.616 1175318.624 0, 1271924.766 1175334.621 0, 1272186.914 1175350.634 0,
+ 1272449.062 1175366.662 0, 1272711.208 1175382.705 0, 1272973.354 1175398.764 0, 1273235.499 1175414.839 0, 1273497.643 1175430.929 0, 1273759.786 1175447.034 0, 1274021.928 1175463.155 0, 1274284.069 1175479.291 0, 1274546.209 1175495.442 0, 1274808.348 1175511.609 0,
+ 1275070.486 1175527.792 0, 1275332.623 1175543.989 0, 1275594.759 1175560.203 0, 1275856.895 1175576.431 0, 1276119.029 1175592.675 0, 1276381.162 1175608.935 0, 1276643.295 1175625.21 0, 1276905.426 1175641.5 0, 1277166.332 1175657.73 0, 1277512.994 1170087.458 0,
+ 1277859.658 1164517.146 0))
+
+POLYGON ((1289747.452 1176458.549 0, 1289486.59 1176441.582 0, 1289224.506 1176424.551 0, 1288962.421 1176407.535 0, 1288700.334 1176390.535 0, 1288438.247 1176373.551 0, 1288176.158 1176356.582 0, 1287914.069 1176339.628 0, 1287651.979 1176322.689 0, 1287389.887 1176305.767 0,
+ 1287127.795 1176288.859 0, 1286865.702 1176271.967 0, 1286603.607 1176255.09 0, 1286341.512 1176238.229 0, 1286079.416 1176221.383 0, 1285817.318 1176204.553 0, 1285555.22 1176187.738 0, 1285293.121 1176170.939 0, 1285031.02 1176154.155 0, 1284768.919 1176137.386 0,
+ 1284506.817 1176120.633 0, 1284244.714 1176103.895 0, 1283982.609 1176087.173 0, 1283720.504 1176070.466 0, 1283457.175 1176053.696 0, 1283196.291 1176037.098 0, 1282934.183 1176020.437 0, 1282672.073 1176003.792 0, 1282409.963 1175987.162 0, 1282147.852 1175970.548 0,
+ 1281885.74 1175953.949 0, 1281623.627 1175937.365 0, 1281361.513 1175920.797 0, 1281099.398 1175904.245 0, 1280837.282 1175887.707 0, 1280575.165 1175871.186 0, 1280313.047 1175854.679 0, 1280050.928 1175838.188 0, 1279788.808 1175821.713 0, 1279526.688 1175805.253 0,
+ 1279264.566 1175788.808 0, 1279002.443 1175772.379 0, 1278740.319 1175755.965 0, 1278478.194 1175739.567 0, 1278216.069 1175723.184 0, 1277953.942 1175706.816 0, 1277691.815 1175690.464 0, 1277429.686 1175674.127 0, 1277166.332 1175657.73 0, 1276819.674 1181227.957 0,
+ 1276473.018 1186798.135 0, 1276735.713 1186814.491 0, 1276997.186 1186830.787 0, 1277258.657 1186847.098 0, 1277520.128 1186863.425 0, 1277781.598 1186879.767 0, 1278043.067 1186896.124 0, 1278304.535 1186912.497 0, 1278566.003 1186928.885 0, 1278827.469 1186945.289 0,
+ 1279088.934 1186961.707 0, 1279350.398 1186978.142 0, 1279611.861 1186994.591 0, 1279873.324 1187011.057 0, 1280134.785 1187027.537 0, 1280396.245 1187044.033 0, 1280657.704 1187060.544 0, 1280919.163 1187077.071 0, 1281180.62 1187093.613 0, 1281442.077 1187110.17 0,
+ 1281703.532 1187126.743 0, 1281964.987 1187143.331 0, 1282226.44 1187159.935 0, 1282487.893 1187176.554 0, 1282748.124 1187193.111 0, 1283010.795 1187209.838 0, 1283272.244 1187226.503 0, 1283533.693 1187243.184 0, 1283795.141 1187259.88 0, 1284056.587 1187276.591 0,
+ 1284318.033 1187293.318 0, 1284579.477 1187310.06 0, 1284840.921 1187326.817 0, 1285102.364 1187343.59 0, 1285363.806 1187360.378 0, 1285625.246 1187377.182 0, 1285886.686 1187394.001 0, 1286148.125 1187410.835 0, 1286409.562 1187427.685 0, 1286670.999 1187444.55 0,
+ 1286932.435 1187461.431 0, 1287193.87 1187478.327 0, 1287455.304 1187495.238 0, 1287716.736 1187512.165 0, 1287978.168 1187529.107 0, 1288239.599 1187546.065 0, 1288501.029 1187563.038 0, 1288762.457 1187580.026 0, 1289022.667 1187596.95 0, 1289385.058 1182027.774 0,
+ 1289747.452 1176458.549 0))
+
+POLYGON ((1301570.008 1188431.218 0, 1301309.846 1188413.558 0, 1301048.466 1188395.831 0, 1300787.085 1188378.12 0, 1300525.704 1188360.424 0, 1300264.321 1188342.743 0, 1300002.937 1188325.078 0, 1299741.552 1188307.428 0, 1299480.166 1188289.793 0, 1299218.779 1188272.174 0,
+ 1298957.391 1188254.571 0, 1298696.002 1188236.982 0, 1298434.612 1188219.409 0, 1298173.22 1188201.852 0, 1297911.828 1188184.31 0, 1297650.435 1188166.783 0, 1297389.041 1188149.271 0, 1297127.645 1188131.775 0, 1296866.249 1188114.295 0, 1296604.852 1188096.829 0,
+ 1296343.453 1188079.379 0, 1296082.054 1188061.945 0, 1295820.653 1188044.526 0, 1295559.252 1188027.122 0, 1295296.632 1188009.653 0, 1295036.446 1187992.361 0, 1294775.042 1187975.003 0, 1294513.636 1187957.661 0, 1294252.229 1187940.334 0, 1293990.822 1187923.023 0,
+ 1293729.413 1187905.727 0, 1293468.004 1187888.446 0, 1293206.593 1187871.181 0, 1292945.181 1187853.931 0, 1292683.769 1187836.697 0, 1292422.355 1187819.478 0, 1292160.94 1187802.274 0, 1291899.525 1187785.086 0, 1291638.108 1187767.913 0, 1291376.69 1187750.755 0,
+ 1291115.271 1187733.613 0, 1290853.852 1187716.486 0, 1290592.431 1187699.375 0, 1290331.009 1187682.279 0, 1290069.586 1187665.198 0, 1289808.163 1187648.133 0, 1289546.738 1187631.083 0, 1289285.312 1187614.049 0, 1289022.667 1187596.95 0, 1288660.279 1193166.072 0,
+ 1288297.895 1198735.136 0, 1288559.882 1198752.191 0, 1288820.652 1198769.183 0, 1289081.421 1198786.19 0, 1289342.19 1198803.212 0, 1289602.957 1198820.25 0, 1289863.723 1198837.303 0, 1290124.488 1198854.372 0, 1290385.252 1198871.456 0, 1290646.016 1198888.555 0,
+ 1290906.778 1198905.669 0, 1291167.539 1198922.799 0, 1291428.299 1198939.944 0, 1291689.058 1198957.105 0, 1291949.816 1198974.281 0, 1292210.574 1198991.472 0, 1292471.33 1199008.679 0, 1292732.085 1199025.901 0, 1292992.839 1199043.138 0, 1293253.592 1199060.391 0,
+ 1293514.344 1199077.659 0, 1293775.095 1199094.942 0, 1294035.845 1199112.241 0, 1294296.594 1199129.555 0, 1294556.128 1199146.803 0, 1294818.089 1199164.229 0, 1295078.835 1199181.589 0, 1295339.58 1199198.964 0, 1295600.324 1199216.355 0, 1295861.067 1199233.761 0,
+ 1296121.809 1199251.183 0, 1296382.549 1199268.62 0, 1296643.289 1199286.072 0, 1296904.028 1199303.539 0, 1297164.766 1199321.022 0, 1297425.503 1199338.52 0, 1297686.238 1199356.034 0, 1297946.973 1199373.563 0, 1298207.706 1199391.107 0, 1298468.439 1199408.666 0,
+ 1298729.171 1199426.241 0, 1298989.901 1199443.832 0, 1299250.631 1199461.437 0, 1299511.359 1199479.058 0, 1299772.086 1199496.695 0, 1300032.813 1199514.346 0, 1300293.538 1199532.013 0, 1300554.262 1199549.696 0, 1300813.772 1199567.311 0, 1301191.888 1193999.294 0,
+ 1301570.008 1188431.218 0))
+
+POLYGON ((1313327.248 1200434.843 0, 1313067.787 1200416.494 0, 1312807.114 1200398.075 0, 1312546.44 1200379.672 0, 1312285.764 1200361.283 0, 1312025.088 1200342.911 0, 1311764.41 1200324.553 0, 1311503.731 1200306.211 0, 1311243.052 1200287.884 0, 1310982.371 1200269.573 0,
+ 1310721.689 1200251.276 0, 1310461.006 1200232.996 0, 1310200.322 1200214.73 0, 1309939.637 1200196.48 0, 1309678.95 1200178.245 0, 1309418.263 1200160.026 0, 1309157.575 1200141.822 0, 1308896.885 1200123.633 0, 1308636.195 1200105.46 0, 1308375.503 1200087.302 0,
+ 1308114.81 1200069.159 0, 1307854.117 1200051.032 0, 1307593.422 1200032.92 0, 1307332.726 1200014.823 0, 1307070.817 1199996.658 0, 1306811.331 1199978.676 0, 1306550.632 1199960.625 0, 1306289.932 1199942.59 0, 1306029.231 1199924.57 0, 1305768.528 1199906.565 0,
+ 1305507.825 1199888.576 0, 1305247.121 1199870.602 0, 1304986.415 1199852.644 0, 1304725.709 1199834.7 0, 1304465.001 1199816.772 0, 1304204.293 1199798.86 0, 1303943.583 1199780.963 0, 1303682.873 1199763.081 0, 1303422.161 1199745.214 0, 1303161.448 1199727.363 0,
+ 1302900.734 1199709.527 0, 1302640.019 1199691.707 0, 1302379.303 1199673.902 0, 1302118.586 1199656.112 0, 1301857.868 1199638.338 0, 1301597.149 1199620.579 0, 1301336.429 1199602.835 0, 1301075.708 1199585.106 0, 1300813.772 1199567.311 0, 1300435.661 1205135.265 0,
+ 1300057.554 1210703.151 0, 1300318.831 1210720.901 0, 1300578.897 1210738.585 0, 1300838.961 1210756.284 0, 1301099.025 1210773.999 0, 1301359.088 1210791.729 0, 1301619.149 1210809.474 0, 1301879.21 1210827.234 0, 1302139.269 1210845.01 0, 1302399.328 1210862.801 0,
+ 1302659.385 1210880.607 0, 1302919.441 1210898.429 0, 1303179.497 1210916.265 0, 1303439.551 1210934.118 0, 1303699.604 1210951.985 0, 1303959.656 1210969.868 0, 1304219.707 1210987.766 0, 1304479.757 1211005.679 0, 1304739.806 1211023.608 0, 1304999.854 1211041.552 0,
+ 1305259.901 1211059.512 0, 1305519.947 1211077.486 0, 1305779.991 1211095.476 0, 1306040.035 1211113.481 0, 1306298.868 1211131.418 0, 1306560.119 1211149.538 0, 1306820.16 1211167.589 0, 1307080.199 1211185.655 0, 1307340.238 1211203.737 0, 1307600.275 1211221.834 0,
+ 1307860.311 1211239.947 0, 1308120.346 1211258.074 0, 1308380.38 1211276.217 0, 1308640.413 1211294.376 0, 1308900.445 1211312.549 0, 1309160.476 1211330.738 0, 1309420.506 1211348.943 0, 1309680.535 1211367.162 0, 1309940.563 1211385.397 0, 1310200.589 1211403.647 0,
+ 1310460.615 1211421.912 0, 1310720.639 1211440.193 0, 1310980.663 1211458.489 0, 1311240.685 1211476.801 0, 1311500.706 1211495.127 0, 1311760.726 1211513.469 0, 1312020.745 1211531.827 0, 1312280.763 1211550.199 0, 1312539.572 1211568.501 0, 1312933.408 1206001.706 0,
+ 1313327.248 1200434.843 0))
+
+POLYGON ((1325019.096 1212469.113 0, 1324760.338 1212450.079 0, 1324500.373 1212430.972 0, 1324240.407 1212411.88 0, 1323980.439 1212392.804 0, 1323720.471 1212373.742 0, 1323460.501 1212354.697 0, 1323200.531 1212335.666 0, 1322940.559 1212316.651 0, 1322680.586 1212297.651 0,
+ 1322420.612 1212278.666 0, 1322160.637 1212259.697 0, 1321900.661 1212240.743 0, 1321640.683 1212221.804 0, 1321380.705 1212202.88 0, 1321120.725 1212183.972 0, 1320860.745 1212165.079 0, 1320600.763 1212146.202 0, 1320340.78 1212127.339 0, 1320080.796 1212108.492 0,
+ 1319820.811 1212089.661 0, 1319560.824 1212070.844 0, 1319300.837 1212052.043 0, 1319040.849 1212033.258 0, 1318779.652 1212014.4 0, 1318520.868 1211995.732 0, 1318260.877 1211976.992 0, 1318000.884 1211958.268 0, 1317740.89 1211939.558 0, 1317480.895 1211920.864 0,
+ 1317220.899 1211902.186 0, 1316960.901 1211883.522 0, 1316700.903 1211864.874 0, 1316440.903 1211846.242 0, 1316180.903 1211827.624 0, 1315920.901 1211809.022 0, 1315660.898 1211790.435 0, 1315400.895 1211771.864 0, 1315140.89 1211753.307 0, 1314880.884 1211734.767 0,
+ 1314620.876 1211716.241 0, 1314360.868 1211697.731 0, 1314100.859 1211679.236 0, 1313840.848 1211660.756 0, 1313580.837 1211642.292 0, 1313320.824 1211623.842 0, 1313060.811 1211605.409 0, 1312800.796 1211586.99 0, 1312539.572 1211568.501 0, 1312145.741 1217135.224 0,
+ 1311751.916 1222701.869 0, 1312012.482 1222720.311 0, 1312271.841 1222738.684 0, 1312531.2 1222757.071 0, 1312790.557 1222775.473 0, 1313049.913 1222793.891 0, 1313309.268 1222812.324 0, 1313568.622 1222830.773 0, 1313827.975 1222849.237 0, 1314087.327 1222867.715 0,
+ 1314346.678 1222886.21 0, 1314606.028 1222904.719 0, 1314865.376 1222923.244 0, 1315124.724 1222941.784 0, 1315384.07 1222960.339 0, 1315643.416 1222978.91 0, 1315902.76 1222997.495 0, 1316162.103 1223016.096 0, 1316421.445 1223034.713 0, 1316680.786 1223053.344 0,
+ 1316940.126 1223071.991 0, 1317199.464 1223090.653 0, 1317458.802 1223109.331 0, 1317718.139 1223128.023 0, 1317976.27 1223146.644 0, 1318236.808 1223165.454 0, 1318496.142 1223184.193 0, 1318755.474 1223202.946 0, 1319014.805 1223221.715 0, 1319274.135 1223240.499 0,
+ 1319533.464 1223259.299 0, 1319792.791 1223278.114 0, 1320052.118 1223296.944 0, 1320311.443 1223315.789 0, 1320570.768 1223334.649 0, 1320830.091 1223353.525 0, 1321089.413 1223372.416 0, 1321348.734 1223391.323 0, 1321608.054 1223410.244 0, 1321867.373 1223429.181 0,
+ 1322126.691 1223448.133 0, 1322386.007 1223467.101 0, 1322645.323 1223486.083 0, 1322904.637 1223505.081 0, 1323163.951 1223524.094 0, 1323423.263 1223543.123 0, 1323682.574 1223562.166 0, 1323941.884 1223581.225 0, 1324199.989 1223600.211 0, 1324609.54 1218034.701 0,
+ 1325019.096 1212469.113 0))
+
+POLYGON ((1336645.475 1224533.717 0, 1336387.422 1224514.002 0, 1336128.167 1224494.211 0, 1335868.911 1224474.434 0, 1335609.653 1224454.673 0, 1335350.395 1224434.928 0, 1335091.135 1224415.197 0, 1334831.874 1224395.482 0, 1334572.612 1224375.782 0, 1334313.349 1224356.098 0,
+ 1334054.085 1224336.428 0, 1333794.819 1224316.774 0, 1333535.553 1224297.135 0, 1333276.285 1224277.512 0, 1333017.016 1224257.903 0, 1332757.746 1224238.31 0, 1332498.475 1224218.732 0, 1332239.202 1224199.17 0, 1331979.929 1224179.622 0, 1331720.654 1224160.09 0,
+ 1331461.378 1224140.574 0, 1331202.101 1224121.072 0, 1330942.823 1224101.586 0, 1330683.544 1224082.115 0, 1330423.062 1224062.569 0, 1330164.982 1224043.219 0, 1329905.699 1224023.793 0, 1329646.416 1224004.383 0, 1329387.131 1223984.989 0, 1329127.844 1223965.609 0,
+ 1328868.557 1223946.245 0, 1328609.269 1223926.896 0, 1328349.979 1223907.562 0, 1328090.689 1223888.244 0, 1327831.397 1223868.941 0, 1327572.104 1223849.653 0, 1327312.81 1223830.38 0, 1327053.514 1223811.123 0, 1326794.218 1223791.881 0, 1326534.921 1223772.654 0,
+ 1326275.622 1223753.443 0, 1326016.322 1223734.246 0, 1325757.021 1223715.065 0, 1325497.719 1223695.899 0, 1325238.416 1223676.749 0, 1324979.112 1223657.614 0, 1324719.806 1223638.494 0, 1324460.5 1223619.389 0, 1324199.989 1223600.211 0, 1323790.445 1229165.639 0,
+ 1323380.907 1234730.98 0, 1323640.76 1234750.11 0, 1323899.411 1234769.166 0, 1324158.061 1234788.238 0, 1324416.71 1234807.325 0, 1324675.358 1234826.427 0, 1324934.005 1234845.545 0, 1325192.651 1234864.677 0, 1325451.296 1234883.825 0, 1325709.939 1234902.988 0,
+ 1325968.582 1234922.166 0, 1326227.223 1234941.36 0, 1326485.863 1234960.568 0, 1326744.502 1234979.792 0, 1327003.14 1234999.031 0, 1327261.776 1235018.286 0, 1327520.412 1235037.555 0, 1327779.047 1235056.84 0, 1328037.68 1235076.14 0, 1328296.312 1235095.455 0,
+ 1328554.943 1235114.786 0, 1328813.573 1235134.132 0, 1329072.202 1235153.493 0, 1329330.829 1235172.869 0, 1329588.257 1235192.17 0, 1329848.081 1235211.667 0, 1330106.705 1235231.089 0, 1330365.329 1235250.526 0, 1330623.95 1235269.978 0, 1330882.571 1235289.445 0,
+ 1331141.191 1235308.928 0, 1331399.809 1235328.426 0, 1331658.427 1235347.939 0, 1331917.043 1235367.467 0, 1332175.658 1235387.011 0, 1332434.272 1235406.57 0, 1332692.885 1235426.144 0, 1332951.496 1235445.733 0, 1333210.107 1235465.338 0, 1333468.716 1235484.957 0,
+ 1333727.324 1235504.592 0, 1333985.931 1235524.242 0, 1334244.537 1235543.908 0, 1334503.141 1235563.588 0, 1334761.745 1235583.284 0, 1335020.347 1235602.995 0, 1335278.948 1235622.721 0, 1335537.548 1235642.463 0, 1335794.95 1235662.128 0, 1336220.209 1230097.966 0,
+ 1336645.475 1224533.717 0))
+
+POLYGON ((1348206.312 1236628.344 0, 1347948.965 1236607.951 0, 1347690.422 1236587.479 0, 1347431.877 1236567.023 0, 1347173.332 1236546.581 0, 1346914.785 1236526.155 0, 1346656.237 1236505.744 0, 1346397.688 1236485.348 0, 1346139.137 1236464.967 0, 1345880.586 1236444.602 0,
+ 1345622.033 1236424.251 0, 1345363.479 1236403.916 0, 1345104.924 1236383.596 0, 1344846.367 1236363.292 0, 1344587.81 1236343.003 0, 1344329.251 1236322.728 0, 1344070.691 1236302.469 0, 1343812.13 1236282.226 0, 1343553.567 1236261.997 0, 1343295.004 1236241.784 0,
+ 1343036.439 1236221.586 0, 1342777.873 1236201.403 0, 1342519.306 1236181.235 0, 1342260.738 1236161.083 0, 1342000.972 1236140.853 0, 1341743.598 1236120.824 0, 1341485.026 1236100.717 0, 1341226.453 1236080.626 0, 1340967.879 1236060.549 0, 1340709.303 1236040.488 0,
+ 1340450.727 1236020.442 0, 1340192.149 1236000.412 0, 1339933.57 1235980.396 0, 1339674.99 1235960.396 0, 1339416.408 1235940.411 0, 1339157.826 1235920.441 0, 1338899.242 1235900.487 0, 1338640.657 1235880.548 0, 1338382.071 1235860.623 0, 1338123.484 1235840.715 0,
+ 1337864.896 1235820.821 0, 1337606.306 1235800.942 0, 1337347.716 1235781.079 0, 1337089.124 1235761.231 0, 1336830.531 1235741.398 0, 1336571.937 1235721.581 0, 1336313.341 1235701.779 0, 1336054.745 1235681.991 0, 1335794.95 1235662.128 0, 1335369.697 1241226.198 0,
+ 1334944.452 1246790.172 0, 1335203.589 1246809.985 0, 1335461.531 1246829.722 0, 1335719.471 1246849.475 0, 1335977.411 1246869.242 0, 1336235.349 1246889.024 0, 1336493.286 1246908.822 0, 1336751.221 1246928.635 0, 1337009.156 1246948.463 0, 1337267.089 1246968.306 0,
+ 1337525.021 1246988.165 0, 1337782.952 1247008.039 0, 1338040.882 1247027.927 0, 1338298.811 1247047.831 0, 1338556.739 1247067.751 0, 1338814.665 1247087.685 0, 1339072.59 1247107.634 0, 1339330.514 1247127.599 0, 1339588.437 1247147.579 0, 1339846.359 1247167.574 0,
+ 1340104.279 1247187.584 0, 1340362.199 1247207.61 0, 1340620.117 1247227.651 0, 1340878.034 1247247.706 0, 1341134.756 1247267.684 0, 1341393.864 1247287.864 0, 1341651.777 1247307.965 0, 1341909.69 1247328.081 0, 1342167.601 1247348.213 0, 1342425.51 1247368.36 0,
+ 1342683.419 1247388.522 0, 1342941.327 1247408.699 0, 1343199.233 1247428.892 0, 1343457.138 1247449.099 0, 1343715.042 1247469.322 0, 1343972.945 1247489.56 0, 1344230.846 1247509.813 0, 1344488.747 1247530.082 0, 1344746.646 1247550.365 0, 1345004.544 1247570.664 0,
+ 1345262.44 1247590.978 0, 1345520.336 1247611.307 0, 1345778.23 1247631.651 0, 1346036.123 1247652.01 0, 1346294.015 1247672.385 0, 1346551.906 1247692.775 0, 1346809.796 1247713.18 0, 1347067.684 1247733.6 0, 1347324.379 1247753.941 0, 1347765.342 1242191.19 0,
+ 1348206.312 1236628.344 0))
+
+POLYGON ((1359701.534 1248752.681 0, 1359444.895 1248731.615 0, 1359187.066 1248710.466 0, 1358929.235 1248689.333 0, 1358671.403 1248668.214 0, 1358413.569 1248647.111 0, 1358155.735 1248626.023 0, 1357897.899 1248604.951 0, 1357640.062 1248583.893 0, 1357382.223 1248562.851 0,
+ 1357124.384 1248541.823 0, 1356866.543 1248520.811 0, 1356608.701 1248499.815 0, 1356350.858 1248478.833 0, 1356093.013 1248457.866 0, 1355835.167 1248436.915 0, 1355577.32 1248415.979 0, 1355319.472 1248395.058 0, 1355061.623 1248374.152 0, 1354803.772 1248353.261 0,
+ 1354545.92 1248332.386 0, 1354288.067 1248311.526 0, 1354030.213 1248290.681 0, 1353772.357 1248269.851 0, 1353513.309 1248248.94 0, 1353256.642 1248228.236 0, 1352998.783 1248207.452 0, 1352740.922 1248186.683 0, 1352483.061 1248165.929 0, 1352225.198 1248145.19 0,
+ 1351967.334 1248124.466 0, 1351709.468 1248103.758 0, 1351451.602 1248083.064 0, 1351193.734 1248062.386 0, 1350935.865 1248041.723 0, 1350677.995 1248021.075 0, 1350420.123 1248000.443 0, 1350162.25 1247979.825 0, 1349904.377 1247959.223 0, 1349646.502 1247938.636 0,
+ 1349388.625 1247918.064 0, 1349130.748 1247897.507 0, 1348872.869 1247876.966 0, 1348614.989 1247856.439 0, 1348357.108 1247835.928 0, 1348099.226 1247815.432 0, 1347841.342 1247794.951 0, 1347583.457 1247774.486 0, 1347324.379 1247753.941 0, 1346883.424 1253316.59 0,
+ 1346442.478 1258879.133 0, 1346700.899 1258899.625 0, 1346958.129 1258920.039 0, 1347215.357 1258940.468 0, 1347472.585 1258960.912 0, 1347729.811 1258981.371 0, 1347987.037 1259001.845 0, 1348244.26 1259022.335 0, 1348501.483 1259042.839 0, 1348758.705 1259063.359 0,
+ 1349015.925 1259083.894 0, 1349273.144 1259104.444 0, 1349530.362 1259125.009 0, 1349787.579 1259145.589 0, 1350044.794 1259166.184 0, 1350302.008 1259186.795 0, 1350559.221 1259207.42 0, 1350816.433 1259228.061 0, 1351073.644 1259248.717 0, 1351330.853 1259269.388 0,
+ 1351588.062 1259290.074 0, 1351845.268 1259310.776 0, 1352102.474 1259331.492 0, 1352359.679 1259352.224 0, 1352615.694 1259372.875 0, 1352874.084 1259393.733 0, 1353131.285 1259414.51 0, 1353388.485 1259435.302 0, 1353645.683 1259456.109 0, 1353902.88 1259476.932 0,
+ 1354160.076 1259497.769 0, 1354417.271 1259518.622 0, 1354674.464 1259539.49 0, 1354931.657 1259560.373 0, 1355188.848 1259581.271 0, 1355446.038 1259602.184 0, 1355703.226 1259623.113 0, 1355960.414 1259644.056 0, 1356217.6 1259665.015 0, 1356474.785 1259685.989 0,
+ 1356731.968 1259706.978 0, 1356989.151 1259727.982 0, 1357246.332 1259749.001 0, 1357503.512 1259770.035 0, 1357760.69 1259791.085 0, 1358017.868 1259812.149 0, 1358275.044 1259833.229 0, 1358532.219 1259854.324 0, 1358788.206 1259875.337 0, 1359244.865 1254314.062 0,
+ 1359701.534 1248752.681 0))
+
+POLYGON ((1371131.069 1260906.416 0, 1370875.141 1260884.68 0, 1370618.027 1260862.859 0, 1370360.911 1260841.052 0, 1370103.794 1260819.261 0, 1369846.676 1260797.485 0, 1369589.557 1260775.724 0, 1369332.436 1260753.979 0, 1369075.314 1260732.248 0, 1368818.19 1260710.533 0,
+ 1368561.066 1260688.832 0, 1368303.94 1260667.147 0, 1368046.813 1260645.477 0, 1367789.684 1260623.822 0, 1367532.555 1260602.182 0, 1367275.424 1260580.558 0, 1367018.291 1260558.948 0, 1366761.158 1260537.354 0, 1366504.023 1260515.774 0, 1366246.887 1260494.21 0,
+ 1365989.75 1260472.661 0, 1365732.611 1260451.127 0, 1365475.471 1260429.609 0, 1365218.33 1260408.105 0, 1364960.002 1260386.518 0, 1364704.044 1260365.143 0, 1364446.899 1260343.685 0, 1364189.753 1260322.242 0, 1363932.605 1260300.814 0, 1363675.457 1260279.401 0,
+ 1363418.307 1260258.004 0, 1363161.156 1260236.621 0, 1362904.003 1260215.254 0, 1362646.849 1260193.902 0, 1362389.694 1260172.564 0, 1362132.538 1260151.242 0, 1361875.381 1260129.936 0, 1361618.222 1260108.644 0, 1361361.062 1260087.367 0, 1361103.9 1260066.106 0,
+ 1360846.738 1260044.86 0, 1360589.574 1260023.629 0, 1360332.409 1260002.413 0, 1360075.243 1259981.212 0, 1359818.075 1259960.026 0, 1359560.907 1259938.855 0, 1359303.737 1259917.7 0, 1359046.565 1259896.559 0, 1358788.206 1259875.337 0, 1358331.555 1265436.501 0,
+ 1357874.914 1270997.549 0, 1358132.616 1271018.718 0, 1358389.133 1271039.804 0, 1358645.648 1271060.906 0, 1358902.162 1271082.022 0, 1359158.675 1271103.154 0, 1359415.187 1271124.301 0, 1359671.697 1271145.463 0, 1359928.207 1271166.64 0, 1360184.715 1271187.833 0,
+ 1360441.221 1271209.04 0, 1360697.727 1271230.262 0, 1360954.231 1271251.5 0, 1361210.734 1271272.752 0, 1361467.235 1271294.02 0, 1361723.736 1271315.303 0, 1361980.235 1271336.601 0, 1362236.733 1271357.914 0, 1362493.23 1271379.242 0, 1362749.725 1271400.585 0,
+ 1363006.219 1271421.943 0, 1363262.712 1271443.317 0, 1363519.204 1271464.705 0, 1363775.694 1271486.109 0, 1364031 1271507.429 0, 1364288.671 1271528.961 0, 1364545.157 1271550.41 0, 1364801.643 1271571.874 0, 1365058.127 1271593.353 0, 1365314.61 1271614.847 0,
+ 1365571.091 1271636.356 0, 1365827.571 1271657.881 0, 1366084.05 1271679.42 0, 1366340.528 1271700.975 0, 1366597.005 1271722.544 0, 1366853.48 1271744.129 0, 1367109.954 1271765.729 0, 1367366.426 1271787.344 0, 1367622.898 1271808.974 0, 1367879.368 1271830.619 0,
+ 1368135.837 1271852.279 0, 1368392.304 1271873.954 0, 1368648.77 1271895.645 0, 1368905.235 1271917.35 0, 1369161.699 1271939.071 0, 1369418.162 1271960.806 0, 1369674.623 1271982.557 0, 1369931.083 1272004.323 0, 1370186.36 1272026.004 0, 1370658.71 1266466.268 0,
+ 1371131.069 1260906.416 0))
+
+POLYGON ((835890.374 790436.964 0, 835606.975 790446.584 0, 835322.173 790456.268 0, 835037.371 790465.969 0, 834752.57 790475.687 0, 834467.769 790485.422 0, 834182.969 790495.173 0, 833898.169 790504.941 0, 833613.37 790514.726 0, 833328.572 790524.527 0,
+ 833043.774 790534.346 0, 832758.976 790544.181 0, 832474.18 790554.033 0, 832189.384 790563.901 0, 831904.588 790573.787 0, 831619.793 790583.689 0, 831334.999 790593.608 0, 831050.205 790603.543 0, 830765.411 790613.496 0, 830480.619 790623.465 0,
+ 830195.827 790633.451 0, 829911.035 790643.454 0, 829626.244 790653.473 0, 829341.454 790663.509 0, 829055.259 790673.612 0, 828771.875 790683.632 0, 828487.087 790693.719 0, 828202.299 790703.822 0, 827917.512 790713.942 0, 827632.725 790724.079 0,
+ 827347.939 790734.232 0, 827063.153 790744.403 0, 826778.368 790754.59 0, 826493.584 790764.794 0, 826208.8 790775.014 0, 825924.017 790785.252 0, 825639.234 790795.506 0, 825354.452 790805.777 0, 825069.671 790816.065 0, 824784.89 790826.369 0,
+ 824500.11 790836.69 0, 824215.331 790847.028 0, 823930.552 790857.383 0, 823645.774 790867.754 0, 823360.996 790878.143 0, 823076.219 790888.548 0, 822791.442 790898.969 0, 822506.667 790909.408 0, 822220.485 790919.915 0, 822425.172 796490.534 0,
+ 822629.866 802061.382 0, 822915.389 802050.9 0, 823199.509 802040.485 0, 823483.63 802030.087 0, 823767.751 802019.706 0, 824051.873 802009.342 0, 824335.995 801998.994 0, 824620.118 801988.663 0, 824904.242 801978.349 0, 825188.367 801968.052 0,
+ 825472.491 801957.771 0, 825756.617 801947.507 0, 826040.743 801937.26 0, 826324.87 801927.029 0, 826608.997 801916.816 0, 826893.125 801906.618 0, 827177.254 801896.438 0, 827461.383 801886.274 0, 827745.513 801876.128 0, 828029.643 801865.997 0,
+ 828313.774 801855.884 0, 828597.906 801845.787 0, 828882.038 801835.707 0, 829166.17 801825.644 0, 829448.902 801815.647 0, 829734.438 801805.567 0, 830018.572 801795.554 0, 830302.707 801785.558 0, 830586.843 801775.578 0, 830870.979 801765.615 0,
+ 831155.116 801755.669 0, 831439.253 801745.739 0, 831723.391 801735.827 0, 832007.53 801725.931 0, 832291.669 801716.051 0, 832575.809 801706.189 0, 832859.949 801696.343 0, 833144.09 801686.514 0, 833428.232 801676.701 0, 833712.374 801666.905 0,
+ 833996.516 801657.126 0, 834280.66 801647.364 0, 834564.803 801637.619 0, 834848.948 801627.89 0, 835133.093 801618.178 0, 835417.238 801608.482 0, 835701.384 801598.804 0, 835985.531 801589.142 0, 836268.277 801579.544 0, 836079.322 796008.14 0,
+ 835890.374 790436.964 0))
+
+POLYGON ((849907.995 801136.239 0, 849625.221 801145.038 0, 849341.048 801153.897 0, 849056.875 801162.773 0, 848772.704 801171.665 0, 848488.532 801180.574 0, 848204.362 801189.5 0, 847920.191 801198.443 0, 847636.022 801207.403 0, 847351.853 801216.379 0,
+ 847067.684 801225.372 0, 846783.516 801234.381 0, 846499.348 801243.408 0, 846215.181 801252.451 0, 845931.015 801261.511 0, 845646.849 801270.587 0, 845362.684 801279.681 0, 845078.519 801288.791 0, 844794.354 801297.917 0, 844510.19 801307.061 0,
+ 844226.027 801316.221 0, 843941.864 801325.398 0, 843657.702 801334.592 0, 843373.541 801343.802 0, 843087.98 801353.075 0, 842805.219 801362.273 0, 842521.059 801371.533 0, 842236.899 801380.811 0, 841952.741 801390.105 0, 841668.582 801399.415 0,
+ 841384.424 801408.743 0, 841100.267 801418.087 0, 840816.11 801427.448 0, 840531.954 801436.825 0, 840247.798 801446.22 0, 839963.643 801455.631 0, 839679.489 801465.059 0, 839395.335 801474.503 0, 839111.182 801483.964 0, 838827.029 801493.442 0,
+ 838542.876 801502.937 0, 838258.725 801512.448 0, 837974.573 801521.976 0, 837690.423 801531.521 0, 837406.273 801541.083 0, 837122.123 801550.661 0, 836837.974 801560.256 0, 836553.826 801569.868 0, 836268.277 801579.544 0, 836457.24 807151.173 0,
+ 836646.211 812723.024 0, 836931.1 812713.371 0, 837214.593 812703.781 0, 837498.086 812694.208 0, 837781.58 812684.652 0, 838065.074 812675.112 0, 838348.568 812665.59 0, 838632.064 812656.083 0, 838915.56 812646.594 0, 839199.056 812637.121 0,
+ 839482.553 812627.665 0, 839766.05 812618.226 0, 840049.549 812608.803 0, 840333.047 812599.397 0, 840616.546 812590.008 0, 840900.046 812580.635 0, 841183.546 812571.279 0, 841467.047 812561.94 0, 841750.549 812552.617 0, 842034.05 812543.311 0,
+ 842317.553 812534.022 0, 842601.056 812524.75 0, 842884.559 812515.494 0, 843168.064 812506.254 0, 843450.172 812497.077 0, 843735.073 812487.826 0, 844018.579 812478.637 0, 844302.085 812469.465 0, 844585.592 812460.309 0, 844869.1 812451.17 0,
+ 845152.608 812442.048 0, 845436.116 812432.942 0, 845719.625 812423.853 0, 846003.134 812414.781 0, 846286.644 812405.725 0, 846570.155 812396.686 0, 846853.666 812387.664 0, 847137.178 812378.658 0, 847420.69 812369.67 0, 847704.203 812360.697 0,
+ 847987.716 812351.742 0, 848271.23 812342.803 0, 848554.744 812333.881 0, 848838.259 812324.976 0, 849121.774 812316.087 0, 849405.29 812307.215 0, 849688.806 812298.359 0, 849972.323 812289.521 0, 850254.445 812280.742 0, 850081.216 806708.38 0,
+ 849907.995 801136.239 0))
+
+POLYGON ((863863.874 811876.907 0, 863581.726 811884.889 0, 863298.185 811892.927 0, 863014.645 811900.981 0, 862731.105 811909.052 0, 862447.566 811917.14 0, 862164.027 811925.244 0, 861880.489 811933.365 0, 861596.951 811941.503 0, 861313.414 811949.658 0,
+ 861029.877 811957.829 0, 860746.34 811966.017 0, 860462.804 811974.221 0, 860179.269 811982.442 0, 859895.734 811990.68 0, 859612.2 811998.935 0, 859328.666 812007.206 0, 859045.132 812015.494 0, 858761.599 812023.799 0, 858478.067 812032.12 0,
+ 858194.534 812040.458 0, 857911.003 812048.813 0, 857627.472 812057.184 0, 857343.941 812065.572 0, 857059.017 812074.019 0, 856776.882 812082.399 0, 856493.353 812090.837 0, 856209.824 812099.292 0, 855926.296 812107.763 0, 855642.768 812116.252 0,
+ 855359.241 812124.756 0, 855075.715 812133.278 0, 854792.189 812141.816 0, 854508.663 812150.371 0, 854225.138 812158.943 0, 853941.613 812167.531 0, 853658.089 812176.136 0, 853374.566 812184.758 0, 853091.043 812193.397 0, 852807.52 812202.052 0,
+ 852523.998 812210.724 0, 852240.477 812219.412 0, 851956.956 812228.117 0, 851673.435 812236.839 0, 851389.915 812245.578 0, 851106.396 812254.333 0, 850822.877 812263.105 0, 850539.358 812271.893 0, 850254.445 812280.742 0, 850427.68 817853.322 0,
+ 850600.921 823426.117 0, 850885.176 823417.289 0, 851168.038 823408.521 0, 851450.901 823399.769 0, 851733.765 823391.034 0, 852016.629 823382.316 0, 852299.493 823373.614 0, 852582.358 823364.929 0, 852865.224 823356.26 0, 853148.09 823347.609 0,
+ 853430.956 823338.974 0, 853713.823 823330.355 0, 853996.691 823321.753 0, 854279.559 823313.168 0, 854562.427 823304.6 0, 854845.296 823296.048 0, 855128.166 823287.513 0, 855411.036 823278.994 0, 855693.907 823270.492 0, 855976.778 823262.007 0,
+ 856259.649 823253.538 0, 856542.521 823245.087 0, 856825.394 823236.651 0, 857108.267 823228.233 0, 857389.749 823219.872 0, 857674.015 823211.445 0, 857956.889 823203.077 0, 858239.764 823194.724 0, 858522.64 823186.389 0, 858805.516 823178.07 0,
+ 859088.392 823169.768 0, 859371.269 823161.483 0, 859654.147 823153.214 0, 859937.025 823144.962 0, 860219.903 823136.726 0, 860502.782 823128.507 0, 860785.661 823120.305 0, 861068.541 823112.12 0, 861351.422 823103.951 0, 861634.303 823095.799 0,
+ 861917.184 823087.663 0, 862200.066 823079.544 0, 862482.948 823071.442 0, 862765.831 823063.356 0, 863048.714 823055.287 0, 863331.598 823047.235 0, 863614.482 823039.199 0, 863897.367 823031.18 0, 864178.861 823023.217 0, 864021.364 817449.955 0,
+ 863863.874 811876.907 0))
+
+POLYGON ((877757.885 822658.678 0, 877476.367 822665.846 0, 877193.461 822673.066 0, 876910.555 822680.302 0, 876627.65 822687.556 0, 876344.745 822694.825 0, 876061.84 822702.112 0, 875778.936 822709.415 0, 875496.033 822716.735 0, 875213.13 822724.071 0,
+ 874930.227 822731.424 0, 874647.324 822738.794 0, 874364.423 822746.18 0, 874081.521 822753.583 0, 873798.62 822761.003 0, 873515.719 822768.439 0, 873232.819 822775.892 0, 872949.92 822783.361 0, 872667.02 822790.848 0, 872384.122 822798.351 0,
+ 872101.223 822805.87 0, 871818.325 822813.406 0, 871535.428 822820.959 0, 871252.531 822828.529 0, 870968.245 822836.152 0, 870686.738 822843.718 0, 870403.842 822851.337 0, 870120.947 822858.973 0, 869838.052 822866.626 0, 869555.158 822874.295 0,
+ 869272.264 822881.981 0, 868989.37 822889.684 0, 868706.477 822897.403 0, 868423.585 822905.139 0, 868140.693 822912.892 0, 867857.801 822920.661 0, 867574.91 822928.447 0, 867292.019 822936.25 0, 867009.129 822944.069 0, 866726.239 822951.905 0,
+ 866443.35 822959.758 0, 866160.461 822967.627 0, 865877.572 822975.513 0, 865594.685 822983.415 0, 865311.797 822991.334 0, 865028.91 822999.27 0, 864746.023 823007.223 0, 864463.137 823015.192 0, 864178.861 823023.217 0, 864336.364 828596.689 0,
+ 864493.873 834170.368 0, 864777.49 834162.362 0, 865059.72 834154.411 0, 865341.95 834146.477 0, 865624.181 834138.56 0, 865906.412 834130.659 0, 866188.644 834122.775 0, 866470.876 834114.907 0, 866753.109 834107.056 0, 867035.342 834099.222 0,
+ 867317.576 834091.404 0, 867599.81 834083.603 0, 867882.045 834075.819 0, 868164.28 834068.051 0, 868446.515 834060.299 0, 868728.751 834052.565 0, 869010.988 834044.847 0, 869293.225 834037.145 0, 869575.462 834029.46 0, 869857.7 834021.792 0,
+ 870139.938 834014.141 0, 870422.177 834006.506 0, 870704.416 833998.887 0, 870986.656 833991.285 0, 871267.509 833983.737 0, 871551.136 833976.132 0, 871833.377 833968.58 0, 872115.618 833961.044 0, 872397.86 833953.526 0, 872680.102 833946.024 0,
+ 872962.345 833938.538 0, 873244.588 833931.069 0, 873526.832 833923.617 0, 873809.076 833916.181 0, 874091.32 833908.762 0, 874373.565 833901.36 0, 874655.811 833893.974 0, 874938.056 833886.605 0, 875220.303 833879.252 0, 875502.549 833871.916 0,
+ 875784.796 833864.597 0, 876067.044 833857.294 0, 876349.292 833850.008 0, 876631.54 833842.738 0, 876913.789 833835.486 0, 877196.038 833828.249 0, 877478.288 833821.03 0, 877760.538 833813.827 0, 878041.403 833806.675 0, 877899.642 828232.573 0,
+ 877757.885 822658.678 0))
+
+POLYGON ((891589.906 833481.258 0, 891309.02 833487.616 0, 891026.751 833494.021 0, 890744.482 833500.444 0, 890462.213 833506.882 0, 890179.945 833513.338 0, 889897.677 833519.81 0, 889615.41 833526.299 0, 889333.143 833532.804 0, 889050.876 833539.326 0,
+ 888768.61 833545.865 0, 888486.344 833552.42 0, 888204.079 833558.992 0, 887921.814 833565.58 0, 887639.549 833572.185 0, 887357.285 833578.807 0, 887075.021 833585.445 0, 886792.757 833592.1 0, 886510.494 833598.771 0, 886228.232 833605.459 0,
+ 885945.969 833612.164 0, 885663.707 833618.885 0, 885381.446 833625.623 0, 885099.185 833632.378 0, 884815.54 833639.182 0, 884534.663 833645.936 0, 884252.404 833652.741 0, 883970.144 833659.562 0, 883687.885 833666.399 0, 883405.626 833673.254 0,
+ 883123.368 833680.124 0, 882841.11 833687.012 0, 882558.852 833693.916 0, 882276.595 833700.837 0, 881994.339 833707.774 0, 881712.082 833714.728 0, 881429.826 833721.698 0, 881147.571 833728.685 0, 880865.316 833735.689 0, 880583.061 833742.709 0,
+ 880300.807 833749.746 0, 880018.553 833756.8 0, 879736.3 833763.87 0, 879454.047 833770.957 0, 879171.794 833778.06 0, 878889.542 833785.18 0, 878607.29 833792.317 0, 878325.039 833799.47 0, 878041.403 833806.675 0, 878183.169 839380.98 0,
+ 878324.941 844955.485 0, 878607.918 844948.297 0, 878889.513 844941.16 0, 879171.108 844934.04 0, 879452.704 844926.936 0, 879734.301 844919.85 0, 880015.897 844912.779 0, 880297.495 844905.726 0, 880579.092 844898.688 0, 880860.69 844891.668 0,
+ 881142.289 844884.664 0, 881423.888 844877.676 0, 881705.487 844870.705 0, 881987.087 844863.751 0, 882268.687 844856.813 0, 882550.287 844849.892 0, 882831.888 844842.988 0, 883113.489 844836.1 0, 883395.091 844829.228 0, 883676.693 844822.373 0,
+ 883958.296 844815.535 0, 884239.899 844808.713 0, 884521.502 844801.908 0, 884803.106 844795.12 0, 885083.329 844788.381 0, 885366.314 844781.592 0, 885647.919 844774.854 0, 885929.525 844768.131 0, 886211.13 844761.426 0, 886492.736 844754.737 0,
+ 886774.343 844748.064 0, 887055.95 844741.408 0, 887337.557 844734.769 0, 887619.165 844728.146 0, 887900.773 844721.54 0, 888182.381 844714.95 0, 888463.99 844708.377 0, 888745.599 844701.821 0, 889027.209 844695.281 0, 889308.819 844688.757 0,
+ 889590.429 844682.25 0, 889872.04 844675.76 0, 890153.651 844669.287 0, 890435.263 844662.83 0, 890716.875 844656.389 0, 890998.487 844649.965 0, 891280.099 844643.558 0, 891561.712 844637.167 0, 891841.946 844630.824 0, 891715.924 839055.941 0,
+ 891589.906 833481.258 0))
+
+POLYGON ((905359.814 844344.353 0, 905079.562 844349.904 0, 904797.932 844355.499 0, 904516.302 844361.111 0, 904234.673 844366.739 0, 903953.044 844372.384 0, 903671.415 844378.045 0, 903389.787 844383.723 0, 903108.159 844389.418 0, 902826.531 844395.129 0,
+ 902544.904 844400.857 0, 902263.277 844406.601 0, 901981.65 844412.362 0, 901700.024 844418.139 0, 901418.398 844423.933 0, 901136.773 844429.744 0, 900855.147 844435.571 0, 900573.522 844441.415 0, 900291.898 844447.275 0, 900010.274 844453.152 0,
+ 899728.65 844459.046 0, 899447.026 844464.956 0, 899165.403 844470.882 0, 898883.78 844476.826 0, 898600.779 844482.815 0, 898320.536 844488.762 0, 898038.914 844494.755 0, 897757.292 844500.764 0, 897475.671 844506.79 0, 897194.051 844512.833 0,
+ 896912.43 844518.892 0, 896630.81 844524.968 0, 896349.191 844531.06 0, 896067.571 844537.169 0, 895785.952 844543.295 0, 895504.334 844549.437 0, 895222.716 844555.596 0, 894941.098 844561.771 0, 894659.48 844567.963 0, 894377.863 844574.171 0,
+ 894096.247 844580.396 0, 893814.63 844586.638 0, 893533.014 844592.896 0, 893251.399 844599.171 0, 892969.783 844605.462 0, 892688.168 844611.77 0, 892406.554 844618.094 0, 892124.94 844624.435 0, 891841.946 844630.824 0, 891967.973 850205.903 0,
+ 892094.003 855781.173 0, 892376.337 855774.799 0, 892657.295 855768.473 0, 892938.254 855762.163 0, 893219.212 855755.87 0, 893500.171 855749.594 0, 893781.131 855743.334 0, 894062.09 855737.09 0, 894343.05 855730.863 0, 894624.011 855724.652 0,
+ 894904.972 855718.458 0, 895185.933 855712.281 0, 895466.894 855706.12 0, 895747.856 855699.976 0, 896028.818 855693.848 0, 896309.781 855687.737 0, 896590.744 855681.642 0, 896871.707 855675.564 0, 897152.671 855669.502 0, 897433.635 855663.457 0,
+ 897714.6 855657.428 0, 897995.564 855651.416 0, 898276.529 855645.421 0, 898557.495 855639.442 0, 898837.085 855633.509 0, 899119.427 855627.534 0, 899400.393 855621.604 0, 899681.36 855615.691 0, 899962.328 855609.795 0, 900243.295 855603.915 0,
+ 900524.263 855598.052 0, 900805.231 855592.206 0, 901086.2 855586.375 0, 901367.169 855580.562 0, 901648.138 855574.765 0, 901929.108 855568.984 0, 902210.078 855563.22 0, 902491.048 855557.473 0, 902772.019 855551.742 0, 903052.99 855546.027 0,
+ 903333.961 855540.33 0, 903614.933 855534.648 0, 903895.905 855528.984 0, 904176.877 855523.335 0, 904457.85 855517.704 0, 904738.822 855512.088 0, 905019.796 855506.49 0, 905300.769 855500.908 0, 905580.369 855495.369 0, 905470.09 849919.765 0,
+ 905359.814 844344.353 0))
+
+POLYGON ((919067.488 855247.668 0, 918787.872 855252.417 0, 918506.884 855257.205 0, 918225.896 855262.01 0, 917944.908 855266.831 0, 917663.92 855271.669 0, 917382.933 855276.523 0, 917101.946 855281.394 0, 916820.96 855286.282 0, 916539.974 855291.186 0,
+ 916258.988 855296.106 0, 915978.002 855301.043 0, 915697.016 855305.997 0, 915416.031 855310.967 0, 915135.046 855315.954 0, 914854.062 855320.957 0, 914573.078 855325.977 0, 914292.094 855331.013 0, 914011.11 855336.066 0, 913730.127 855341.136 0,
+ 913449.144 855346.221 0, 913168.161 855351.324 0, 912887.178 855356.443 0, 912606.196 855361.579 0, 912323.841 855366.756 0, 912044.233 855371.899 0, 911763.252 855377.084 0, 911482.271 855382.286 0, 911201.29 855387.504 0, 910920.31 855392.739 0,
+ 910639.33 855397.99 0, 910358.35 855403.258 0, 910077.371 855408.543 0, 909796.392 855413.844 0, 909515.413 855419.161 0, 909234.434 855424.495 0, 908953.456 855429.846 0, 908672.478 855435.213 0, 908391.501 855440.596 0, 908110.524 855445.997 0,
+ 907829.547 855451.413 0, 907548.57 855456.847 0, 907267.594 855462.296 0, 906986.618 855467.763 0, 906705.643 855473.245 0, 906424.667 855478.745 0, 906143.692 855484.261 0, 905862.718 855489.793 0, 905580.369 855495.369 0, 905690.652 861071.162 0,
+ 905800.938 866647.139 0, 906082.628 866641.576 0, 906362.946 866636.057 0, 906643.264 866630.553 0, 906923.583 866625.067 0, 907203.902 866619.597 0, 907484.222 866614.143 0, 907764.542 866608.706 0, 908044.862 866603.286 0, 908325.183 866597.882 0,
+ 908605.503 866592.494 0, 908885.824 866587.123 0, 909166.146 866581.769 0, 909446.468 866576.431 0, 909726.79 866571.109 0, 910007.112 866565.804 0, 910287.435 866560.515 0, 910567.758 866555.243 0, 910848.081 866549.988 0, 911128.405 866544.749 0,
+ 911408.729 866539.526 0, 911689.053 866534.32 0, 911969.378 866529.131 0, 912249.702 866523.957 0, 912528.657 866518.826 0, 912810.353 866513.661 0, 913090.679 866508.537 0, 913371.005 866503.43 0, 913651.331 866498.34 0, 913931.658 866493.266 0,
+ 914211.985 866488.208 0, 914492.312 866483.167 0, 914772.64 866478.142 0, 915052.967 866473.134 0, 915333.296 866468.143 0, 915613.624 866463.168 0, 915893.953 866458.209 0, 916174.282 866453.267 0, 916454.611 866448.342 0, 916734.941 866443.432 0,
+ 917015.271 866438.54 0, 917295.601 866433.664 0, 917575.931 866428.804 0, 917856.262 866423.961 0, 918136.593 866419.135 0, 918416.924 866414.325 0, 918697.256 866409.531 0, 918977.588 866404.754 0, 919256.551 866400.017 0, 919162.018 860823.75 0,
+ 919067.488 855247.668 0))
+
+POLYGON ((932712.808 866190.909 0, 932433.83 866194.859 0, 932153.486 866198.844 0, 931873.142 866202.845 0, 931592.798 866206.863 0, 931312.455 866210.898 0, 931032.111 866214.949 0, 930751.768 866219.017 0, 930471.425 866223.101 0, 930191.083 866227.201 0,
+ 929910.741 866231.318 0, 929630.398 866235.452 0, 929350.057 866239.602 0, 929069.715 866243.768 0, 928789.374 866247.952 0, 928509.032 866252.151 0, 928228.692 866256.367 0, 927948.351 866260.6 0, 927668.011 866264.849 0, 927387.67 866269.114 0,
+ 927107.331 866273.396 0, 926826.991 866277.695 0, 926546.652 866282.01 0, 926266.312 866286.342 0, 925984.605 866290.711 0, 925705.635 866295.054 0, 925425.297 866299.435 0, 925144.959 866303.833 0, 924864.621 866308.247 0, 924584.283 866312.678 0,
+ 924303.946 866317.125 0, 924023.609 866321.588 0, 923743.272 866326.068 0, 923462.935 866330.565 0, 923182.599 866335.078 0, 922902.263 866339.607 0, 922621.927 866344.154 0, 922341.592 866348.716 0, 922061.257 866353.295 0, 921780.922 866357.891 0,
+ 921500.587 866362.503 0, 921220.253 866367.131 0, 920939.919 866371.776 0, 920659.585 866376.438 0, 920379.251 866381.116 0, 920098.918 866385.811 0, 919818.585 866390.522 0, 919538.252 866395.249 0, 919256.551 866400.017 0, 919351.087 871976.464 0,
+ 919445.626 877553.088 0, 919726.668 877548.332 0, 920006.344 877543.615 0, 920286.021 877538.915 0, 920565.697 877534.232 0, 920845.375 877529.565 0, 921125.052 877524.914 0, 921404.73 877520.28 0, 921684.408 877515.662 0, 921964.086 877511.061 0,
+ 922243.764 877506.476 0, 922523.443 877501.908 0, 922803.122 877497.356 0, 923082.801 877492.82 0, 923362.481 877488.301 0, 923642.161 877483.799 0, 923921.841 877479.313 0, 924201.521 877474.843 0, 924481.201 877470.39 0, 924760.882 877465.953 0,
+ 925040.563 877461.533 0, 925320.245 877457.129 0, 925599.926 877452.742 0, 925879.608 877448.371 0, 926157.925 877444.038 0, 926438.973 877439.679 0, 926718.656 877435.358 0, 926998.338 877431.053 0, 927278.022 877426.764 0, 927557.705 877422.492 0,
+ 927837.389 877418.237 0, 928117.073 877413.998 0, 928396.757 877409.775 0, 928676.441 877405.569 0, 928956.126 877401.379 0, 929235.811 877397.206 0, 929515.496 877393.049 0, 929795.181 877388.909 0, 930074.867 877384.785 0, 930354.553 877380.677 0,
+ 930634.239 877376.586 0, 930913.925 877372.512 0, 931193.612 877368.454 0, 931473.299 877364.412 0, 931752.986 877360.387 0, 932032.673 877356.378 0, 932312.361 877352.386 0, 932592.048 877348.41 0, 932870.372 877344.47 0, 932791.589 871767.601 0,
+ 932712.808 866190.909 0))
+
+POLYGON ((946295.655 877173.781 0, 946017.319 877176.935 0, 945737.621 877180.12 0, 945457.923 877183.322 0, 945178.226 877186.541 0, 944898.528 877189.776 0, 944618.831 877193.027 0, 944339.134 877196.295 0, 944059.438 877199.579 0, 943779.741 877202.88 0,
+ 943500.045 877206.197 0, 943220.348 877209.531 0, 942940.652 877212.881 0, 942660.957 877216.248 0, 942381.261 877219.631 0, 942101.566 877223.031 0, 941821.871 877226.447 0, 941542.176 877229.879 0, 941262.481 877233.328 0, 940982.786 877236.793 0,
+ 940703.092 877240.275 0, 940423.398 877243.774 0, 940143.704 877247.288 0, 939864.01 877250.82 0, 939582.953 877254.385 0, 939304.623 877257.932 0, 939024.93 877261.512 0, 938745.237 877265.109 0, 938465.544 877268.723 0, 938185.852 877272.353 0,
+ 937906.16 877275.999 0, 937626.468 877279.662 0, 937346.776 877283.342 0, 937067.084 877287.038 0, 936787.393 877290.75 0, 936507.701 877294.479 0, 936228.011 877298.224 0, 935948.32 877301.986 0, 935668.629 877305.764 0, 935388.939 877309.559 0,
+ 935109.249 877313.37 0, 934829.559 877317.197 0, 934549.869 877321.041 0, 934270.18 877324.902 0, 933990.491 877328.779 0, 933710.802 877332.672 0, 933431.113 877336.582 0, 933151.425 877340.508 0, 932870.372 877344.47 0, 932949.159 882921.513 0,
+ 933027.947 888498.724 0, 933308.34 888494.771 0, 933587.372 888490.854 0, 933866.404 888486.953 0, 934145.436 888483.069 0, 934424.469 888479.201 0, 934703.502 888475.35 0, 934982.535 888471.515 0, 935261.568 888467.696 0, 935540.602 888463.894 0,
+ 935819.636 888460.108 0, 936098.67 888456.339 0, 936377.704 888452.586 0, 936656.738 888448.85 0, 936935.773 888445.13 0, 937214.808 888441.426 0, 937493.843 888437.739 0, 937772.878 888434.068 0, 938051.914 888430.414 0, 938330.949 888426.776 0,
+ 938609.985 888423.154 0, 938889.022 888419.549 0, 939168.058 888415.96 0, 939447.094 888412.388 0, 939724.772 888408.85 0, 940005.168 888405.293 0, 940284.206 888401.77 0, 940563.243 888398.263 0, 940842.281 888394.773 0, 941121.318 888391.3 0,
+ 941400.356 888387.842 0, 941679.395 888384.402 0, 941958.433 888380.977 0, 942237.472 888377.569 0, 942516.511 888374.178 0, 942795.55 888370.802 0, 943074.589 888367.444 0, 943353.628 888364.101 0, 943632.668 888360.775 0, 943911.708 888357.466 0,
+ 944190.748 888354.173 0, 944469.788 888350.896 0, 944748.828 888347.636 0, 945027.869 888344.392 0, 945306.91 888341.165 0, 945585.951 888337.954 0, 945864.992 888334.76 0, 946144.033 888331.582 0, 946421.716 888328.435 0, 946358.685 882751.024 0,
+ 946295.655 877173.781 0))
+
+POLYGON ((959815.913 888195.987 0, 959538.22 888198.349 0, 959259.171 888200.739 0, 958980.122 888203.145 0, 958701.073 888205.567 0, 958422.024 888208.006 0, 958142.975 888210.462 0, 957863.927 888212.934 0, 957584.879 888215.422 0, 957305.83 888217.927 0,
+ 957026.782 888220.448 0, 956747.734 888222.985 0, 956468.687 888225.539 0, 956189.639 888228.11 0, 955910.592 888230.696 0, 955631.544 888233.3 0, 955352.497 888235.919 0, 955073.45 888238.555 0, 954794.403 888241.208 0, 954515.357 888243.877 0,
+ 954236.31 888246.562 0, 953957.264 888249.264 0, 953678.217 888251.982 0, 953399.171 888254.717 0, 953118.768 888257.481 0, 952841.08 888260.235 0, 952562.034 888263.019 0, 952282.989 888265.819 0, 952003.944 888268.636 0, 951724.898 888271.469 0,
+ 951445.854 888274.319 0, 951166.809 888277.185 0, 950887.764 888280.067 0, 950608.72 888282.966 0, 950329.676 888285.881 0, 950050.632 888288.813 0, 949771.588 888291.761 0, 949492.544 888294.726 0, 949213.5 888297.707 0, 948934.457 888300.704 0,
+ 948655.414 888303.718 0, 948376.371 888306.748 0, 948097.328 888309.795 0, 947818.285 888312.858 0, 947539.243 888315.938 0, 947260.201 888319.034 0, 946981.159 888322.146 0, 946702.117 888325.275 0, 946421.716 888328.435 0, 946484.75 893906.013 0,
+ 946547.785 899483.751 0, 946827.526 899480.598 0, 947105.911 899477.477 0, 947384.296 899474.372 0, 947662.682 899471.283 0, 947941.068 899468.211 0, 948219.454 899465.155 0, 948497.84 899462.115 0, 948776.227 899459.092 0, 949054.613 899456.086 0,
+ 949333 899453.095 0, 949611.387 899450.121 0, 949889.774 899447.164 0, 950168.161 899444.223 0, 950446.549 899441.298 0, 950724.937 899438.389 0, 951003.324 899435.497 0, 951281.712 899432.622 0, 951560.101 899429.762 0, 951838.489 899426.919 0,
+ 952116.877 899424.093 0, 952395.266 899421.283 0, 952673.655 899418.489 0, 952952.044 899415.712 0, 953229.078 899412.964 0, 953508.822 899410.206 0, 953787.212 899407.478 0, 954065.601 899404.766 0, 954343.991 899402.071 0, 954622.381 899399.392 0,
+ 954900.771 899396.729 0, 955179.161 899394.083 0, 955457.552 899391.453 0, 955735.942 899388.84 0, 956014.333 899386.242 0, 956292.724 899383.662 0, 956571.115 899381.097 0, 956849.506 899378.549 0, 957127.898 899376.018 0, 957406.289 899373.503 0,
+ 957684.681 899371.004 0, 957963.072 899368.522 0, 958241.464 899366.055 0, 958519.856 899363.606 0, 958798.249 899361.173 0, 959076.641 899358.756 0, 959355.033 899356.355 0, 959633.426 899353.971 0, 959910.465 899351.615 0, 959863.188 893773.72 0,
+ 959815.913 888195.987 0))
+
+POLYGON ((973273.466 899257.231 0, 972996.419 899258.805 0, 972718.021 899260.402 0, 972439.622 899262.016 0, 972161.224 899263.646 0, 971882.826 899265.293 0, 971604.428 899266.956 0, 971326.031 899268.636 0, 971047.633 899270.332 0, 970769.235 899272.044 0,
+ 970490.838 899273.773 0, 970212.441 899275.518 0, 969934.043 899277.279 0, 969655.646 899279.057 0, 969377.249 899280.851 0, 969098.852 899282.662 0, 968820.455 899284.489 0, 968542.059 899286.332 0, 968263.662 899288.192 0, 967985.265 899290.068 0,
+ 967706.869 899291.96 0, 967428.473 899293.869 0, 967150.077 899295.795 0, 966871.681 899297.736 0, 966591.932 899299.704 0, 966314.889 899301.669 0, 966036.493 899303.66 0, 965758.097 899305.667 0, 965479.702 899307.69 0, 965201.307 899309.73 0,
+ 964922.911 899311.787 0, 964644.516 899313.86 0, 964366.121 899315.949 0, 964087.726 899318.054 0, 963809.332 899320.176 0, 963530.937 899322.314 0, 963252.543 899324.469 0, 962974.148 899326.64 0, 962695.754 899328.828 0, 962417.36 899331.032 0,
+ 962138.966 899333.252 0, 961860.572 899335.488 0, 961582.178 899337.741 0, 961303.785 899340.011 0, 961025.391 899342.297 0, 960746.998 899344.599 0, 960468.605 899346.917 0, 960190.212 899349.252 0, 959910.465 899351.615 0, 959957.744 904929.667 0,
+ 960005.023 910507.874 0, 960284.11 910505.517 0, 960561.846 910503.187 0, 960839.583 910500.874 0, 961117.319 910498.577 0, 961395.056 910496.297 0, 961672.793 910494.033 0, 961950.53 910491.785 0, 962228.267 910489.554 0, 962506.005 910487.339 0,
+ 962783.742 910485.14 0, 963061.48 910482.958 0, 963339.217 910480.792 0, 963616.955 910478.642 0, 963894.693 910476.509 0, 964172.431 910474.392 0, 964450.17 910472.292 0, 964727.908 910470.207 0, 965005.646 910468.14 0, 965283.385 910466.088 0,
+ 965561.124 910464.053 0, 965838.863 910462.034 0, 966116.602 910460.032 0, 966394.341 910458.045 0, 966670.731 910456.085 0, 966949.819 910454.122 0, 967227.559 910452.185 0, 967505.298 910450.264 0, 967783.038 910448.36 0, 968060.777 910446.472 0,
+ 968338.517 910444.6 0, 968616.257 910442.745 0, 968893.997 910440.906 0, 969171.738 910439.083 0, 969449.478 910437.277 0, 969727.218 910435.487 0, 970004.959 910433.713 0, 970282.699 910431.956 0, 970560.44 910430.215 0, 970838.181 910428.49 0,
+ 971115.922 910426.782 0, 971393.663 910425.09 0, 971671.404 910423.415 0, 971949.145 910421.756 0, 972226.887 910420.113 0, 972504.628 910418.486 0, 972782.37 910416.876 0, 973060.111 910415.282 0, 973336.505 910413.713 0, 973304.985 904835.395 0,
+ 973273.466 899257.231 0))
+
+POLYGON ((986668.199 910357.215 0, 986391.8 910358.004 0, 986114.055 910358.814 0, 985836.31 910359.639 0, 985558.565 910360.481 0, 985280.82 910361.339 0, 985003.076 910362.213 0, 984725.331 910363.104 0, 984447.586 910364.012 0, 984169.842 910364.935 0,
+ 983892.097 910365.875 0, 983614.352 910366.831 0, 983336.608 910367.804 0, 983058.864 910368.793 0, 982781.119 910369.798 0, 982503.375 910370.82 0, 982225.631 910371.858 0, 981947.886 910372.912 0, 981670.142 910373.983 0, 981392.398 910375.07 0,
+ 981114.654 910376.173 0, 980836.91 910377.293 0, 980559.167 910378.429 0, 980281.423 910379.581 0, 980002.332 910380.756 0, 979725.935 910381.935 0, 979448.192 910383.137 0, 979170.448 910384.355 0, 978892.705 910385.589 0, 978614.962 910386.839 0,
+ 978337.218 910388.106 0, 978059.475 910389.389 0, 977781.732 910390.689 0, 977503.989 910392.005 0, 977226.246 910393.337 0, 976948.503 910394.686 0, 976670.76 910396.051 0, 976393.017 910397.432 0, 976115.275 910398.829 0, 975837.532 910400.243 0,
+ 975559.79 910401.674 0, 975282.047 910403.12 0, 975004.305 910404.583 0, 974726.563 910406.063 0, 974448.821 910407.559 0, 974171.078 910409.071 0, 973893.337 910410.599 0, 973615.595 910412.144 0, 973336.505 910413.713 0, 973368.025 915992.18 0,
+ 973399.547 921570.794 0, 973677.977 921569.229 0, 973955.062 921567.688 0, 974232.148 921566.163 0, 974509.233 921564.655 0, 974786.318 921563.163 0, 975063.404 921561.687 0, 975340.49 921560.227 0, 975617.575 921558.784 0, 975894.661 921557.357 0,
+ 976171.747 921555.946 0, 976448.833 921554.552 0, 976725.919 921553.174 0, 977003.005 921551.812 0, 977280.091 921550.467 0, 977557.178 921549.138 0, 977834.264 921547.825 0, 978111.35 921546.528 0, 978388.437 921545.248 0, 978665.524 921543.984 0,
+ 978942.61 921542.737 0, 979219.697 921541.506 0, 979496.784 921540.291 0, 979773.871 921539.092 0, 980049.614 921537.915 0, 980328.045 921536.744 0, 980605.132 921535.594 0, 980882.219 921534.461 0, 981159.306 921533.344 0, 981436.394 921532.243 0,
+ 981713.481 921531.158 0, 981990.568 921530.09 0, 982267.656 921529.038 0, 982544.743 921528.003 0, 982821.831 921526.984 0, 983098.919 921525.981 0, 983376.006 921524.994 0, 983653.094 921524.024 0, 983930.182 921523.07 0, 984207.27 921522.132 0,
+ 984484.358 921521.211 0, 984761.446 921520.306 0, 985038.534 921519.417 0, 985315.622 921518.544 0, 985592.71 921517.688 0, 985869.798 921516.848 0, 986146.887 921516.025 0, 986423.975 921515.218 0, 986699.72 921514.431 0, 986683.96 915935.75 0,
+ 986668.199 910357.215 0))
+
+POLYGON ((1000000 921495.643 0, 999724.251 921495.651 0, 999447.162 921495.675 0, 999170.072 921495.716 0, 998892.983 921495.773 0, 998615.893 921495.846 0, 998338.804 921495.936 0, 998061.714 921496.042 0, 997784.625 921496.164 0, 997507.535 921496.303 0,
+ 997230.446 921496.457 0, 996953.357 921496.629 0, 996676.267 921496.816 0, 996399.178 921497.02 0, 996122.088 921497.24 0, 995844.999 921497.476 0, 995567.91 921497.729 0, 995290.82 921497.998 0, 995013.731 921498.283 0, 994736.642 921498.585 0,
+ 994459.552 921498.903 0, 994182.463 921499.237 0, 993905.374 921499.588 0, 993628.285 921499.955 0, 993349.854 921500.34 0, 993074.106 921500.737 0, 992797.017 921501.153 0, 992519.928 921501.585 0, 992242.839 921502.034 0, 991965.75 921502.498 0,
+ 991688.661 921502.979 0, 991411.572 921503.477 0, 991134.482 921503.99 0, 990857.394 921504.52 0, 990580.305 921505.067 0, 990303.216 921505.629 0, 990026.127 921506.208 0, 989749.038 921506.803 0, 989471.949 921507.415 0, 989194.86 921508.043 0,
+ 988917.772 921508.687 0, 988640.683 921509.347 0, 988363.594 921510.024 0, 988086.506 921510.717 0, 987809.417 921511.426 0, 987532.329 921512.152 0, 987255.24 921512.894 0, 986978.152 921513.652 0, 986699.72 921514.431 0, 986715.482 927093.253 0,
+ 986731.243 932672.215 0, 987009.015 932671.438 0, 987285.446 932670.682 0, 987561.878 932669.941 0, 987838.31 932669.217 0, 988114.742 932668.51 0, 988391.174 932667.818 0, 988667.606 932667.143 0, 988944.038 932666.484 0, 989220.47 932665.842 0,
+ 989496.902 932665.215 0, 989773.334 932664.605 0, 990049.766 932664.012 0, 990326.198 932663.434 0, 990602.63 932662.873 0, 990879.062 932662.328 0, 991155.495 932661.799 0, 991431.927 932661.287 0, 991708.359 932660.791 0, 991984.792 932660.311 0,
+ 992261.224 932659.847 0, 992537.656 932659.4 0, 992814.089 932658.969 0, 993090.521 932658.554 0, 993365.615 932658.157 0, 993643.386 932657.773 0, 993919.819 932657.407 0, 994196.251 932657.057 0, 994472.684 932656.724 0, 994749.116 932656.407 0,
+ 995025.549 932656.106 0, 995301.981 932655.821 0, 995578.414 932655.553 0, 995854.847 932655.3 0, 996131.279 932655.065 0, 996407.712 932654.845 0, 996684.145 932654.642 0, 996960.577 932654.455 0, 997237.01 932654.284 0, 997513.443 932654.129 0,
+ 997789.876 932653.991 0, 998066.308 932653.869 0, 998342.741 932653.764 0, 998619.174 932653.674 0, 998895.606 932653.601 0, 999172.039 932653.544 0, 999448.472 932653.504 0, 999724.905 932653.479 0, 1000000 932653.471 0, 1000000 927074.488 0,
+ 1000000 921495.643 0))
+
+POLYGON ((1013268.757 932672.215 0, 1012993.66 932671.445 0, 1012717.229 932670.689 0, 1012440.797 932669.948 0, 1012164.365 932669.224 0, 1011887.933 932668.516 0, 1011611.501 932667.825 0, 1011335.069 932667.15 0, 1011058.637 932666.491 0, 1010782.205 932665.848 0,
+ 1010505.773 932665.221 0, 1010229.341 932664.611 0, 1009952.909 932664.017 0, 1009676.477 932663.44 0, 1009400.045 932662.878 0, 1009123.613 932662.333 0, 1008847.18 932661.804 0, 1008570.748 932661.292 0, 1008294.316 932660.795 0, 1008017.883 932660.315 0,
+ 1007741.451 932659.851 0, 1007465.019 932659.404 0, 1007188.586 932658.973 0, 1006912.154 932658.558 0, 1006634.385 932658.157 0, 1006359.289 932657.777 0, 1006082.856 932657.41 0, 1005806.424 932657.06 0, 1005529.991 932656.727 0, 1005253.559 932656.41 0,
+ 1004977.126 932656.108 0, 1004700.694 932655.824 0, 1004424.261 932655.555 0, 1004147.828 932655.303 0, 1003871.396 932655.067 0, 1003594.963 932654.847 0, 1003318.53 932654.644 0, 1003042.098 932654.456 0, 1002765.665 932654.286 0, 1002489.232 932654.131 0,
+ 1002212.799 932653.993 0, 1001936.367 932653.87 0, 1001659.934 932653.765 0, 1001383.501 932653.675 0, 1001107.068 932653.602 0, 1000830.636 932653.545 0, 1000554.203 932653.504 0, 1000277.77 932653.479 0, 1000000 932653.471 0, 1000000 938232.589 0,
+ 1000000 943811.837 0, 1000277.11 943811.845 0, 1000552.886 943811.87 0, 1000828.662 943811.91 0, 1001104.438 943811.967 0, 1001380.214 943812.04 0, 1001655.99 943812.13 0, 1001931.766 943812.235 0, 1002207.542 943812.357 0, 1002483.318 943812.495 0,
+ 1002759.094 943812.65 0, 1003034.87 943812.82 0, 1003310.646 943813.007 0, 1003586.422 943813.21 0, 1003862.198 943813.429 0, 1004137.974 943813.664 0, 1004413.75 943813.916 0, 1004689.525 943814.184 0, 1004965.301 943814.468 0, 1005241.077 943814.768 0,
+ 1005516.853 943815.085 0, 1005792.629 943815.418 0, 1006068.405 943815.767 0, 1006344.18 943816.132 0, 1006618.623 943816.512 0, 1006895.732 943816.911 0, 1007171.507 943817.325 0, 1007447.283 943817.756 0, 1007723.059 943818.202 0, 1007998.834 943818.665 0,
+ 1008274.61 943819.144 0, 1008550.385 943819.639 0, 1008826.161 943820.15 0, 1009101.936 943820.678 0, 1009377.712 943821.222 0, 1009653.487 943821.782 0, 1009929.263 943822.358 0, 1010205.038 943822.951 0, 1010480.813 943823.559 0, 1010756.589 943824.184 0,
+ 1011032.364 943824.826 0, 1011308.139 943825.483 0, 1011583.914 943826.157 0, 1011859.689 943826.847 0, 1012135.465 943827.553 0, 1012411.24 943828.275 0, 1012687.015 943829.014 0, 1012962.79 943829.769 0, 1013237.232 943830.536 0, 1013252.995 938251.31 0,
+ 1013268.757 932672.215 0))
+
+POLYGON ((1026474.359 943886.632 0, 1026199.917 943885.09 0, 1025924.146 943883.556 0, 1025648.374 943882.038 0, 1025372.602 943880.536 0, 1025096.83 943879.051 0, 1024821.058 943877.582 0, 1024545.286 943876.129 0, 1024269.513 943874.693 0, 1023993.741 943873.272 0,
+ 1023717.969 943871.868 0, 1023442.196 943870.48 0, 1023166.423 943869.109 0, 1022890.651 943867.753 0, 1022614.878 943866.414 0, 1022339.105 943865.091 0, 1022063.332 943863.785 0, 1021787.559 943862.494 0, 1021511.786 943861.22 0, 1021236.013 943859.962 0,
+ 1020960.24 943858.72 0, 1020684.467 943857.494 0, 1020408.693 943856.285 0, 1020132.92 943855.092 0, 1019855.815 943853.909 0, 1019581.373 943852.754 0, 1019305.599 943851.61 0, 1019029.826 943850.482 0, 1018754.052 943849.37 0, 1018478.278 943848.274 0,
+ 1018202.504 943847.195 0, 1017926.73 943846.132 0, 1017650.956 943845.085 0, 1017375.182 943844.054 0, 1017099.408 943843.039 0, 1016823.634 943842.041 0, 1016547.86 943841.059 0, 1016272.085 943840.093 0, 1015996.311 943839.143 0, 1015720.537 943838.21 0,
+ 1015444.762 943837.293 0, 1015168.988 943836.392 0, 1014893.213 943835.507 0, 1014617.438 943834.639 0, 1014341.664 943833.786 0, 1014065.889 943832.95 0, 1013790.114 943832.131 0, 1013514.339 943831.327 0, 1013237.232 943830.536 0, 1013221.47 949409.888 0,
+ 1013205.706 954989.363 0, 1013482.154 954990.152 0, 1013757.272 954990.954 0, 1014032.39 954991.772 0, 1014307.507 954992.606 0, 1014582.625 954993.456 0, 1014857.743 954994.322 0, 1015132.861 954995.205 0, 1015407.979 954996.104 0, 1015683.096 954997.019 0,
+ 1015958.214 954997.95 0, 1016233.332 954998.897 0, 1016508.449 954999.861 0, 1016783.567 955000.84 0, 1017058.684 955001.836 0, 1017333.801 955002.849 0, 1017608.919 955003.877 0, 1017884.036 955004.921 0, 1018159.153 955005.982 0, 1018434.27 955007.059 0,
+ 1018709.387 955008.152 0, 1018984.504 955009.261 0, 1019259.621 955010.387 0, 1019534.738 955011.529 0, 1019808.527 955012.681 0, 1020084.971 955013.861 0, 1020360.088 955015.051 0, 1020635.205 955016.257 0, 1020910.321 955017.48 0, 1021185.437 955018.719 0,
+ 1021460.554 955019.974 0, 1021735.67 955021.245 0, 1022010.786 955022.532 0, 1022285.902 955023.836 0, 1022561.018 955025.156 0, 1022836.134 955026.492 0, 1023111.25 955027.844 0, 1023386.366 955029.212 0, 1023661.482 955030.597 0, 1023936.597 955031.998 0,
+ 1024211.713 955033.415 0, 1024486.828 955034.848 0, 1024761.944 955036.297 0, 1025037.059 955037.763 0, 1025312.174 955039.244 0, 1025587.289 955040.742 0, 1025862.405 955042.256 0, 1026137.519 955043.787 0, 1026411.307 955045.326 0, 1026442.833 949465.918 0,
+ 1026474.359 943886.632 0))
+
+POLYGON ((1039616.698 955138.596 0, 1039342.913 955136.284 0, 1039067.803 955133.976 0, 1038792.694 955131.685 0, 1038517.584 955129.41 0, 1038242.474 955127.151 0, 1037967.364 955124.908 0, 1037692.254 955122.682 0, 1037417.144 955120.471 0, 1037142.033 955118.277 0,
+ 1036866.922 955116.099 0, 1036591.812 955113.937 0, 1036316.701 955111.792 0, 1036041.59 955109.662 0, 1035766.479 955107.549 0, 1035491.368 955105.452 0, 1035216.256 955103.371 0, 1034941.145 955101.306 0, 1034666.033 955099.258 0, 1034390.922 955097.226 0,
+ 1034115.81 955095.209 0, 1033840.698 955093.21 0, 1033565.586 955091.226 0, 1033290.474 955089.258 0, 1033014.035 955087.298 0, 1032740.249 955085.372 0, 1032465.136 955083.453 0, 1032190.024 955081.55 0, 1031914.911 955079.664 0, 1031639.798 955077.793 0,
+ 1031364.685 955075.939 0, 1031089.572 955074.101 0, 1030814.459 955072.279 0, 1030539.346 955070.474 0, 1030264.232 955068.684 0, 1029989.119 955066.911 0, 1029714.005 955065.154 0, 1029438.892 955063.413 0, 1029163.778 955061.689 0, 1028888.664 955059.98 0,
+ 1028613.55 955058.288 0, 1028338.436 955056.612 0, 1028063.322 955054.952 0, 1027788.207 955053.309 0, 1027513.093 955051.681 0, 1027237.978 955050.07 0, 1026962.864 955048.475 0, 1026687.749 955046.896 0, 1026411.307 955045.326 0, 1026379.781 960624.852 0,
+ 1026348.253 966204.493 0, 1026624.035 966206.059 0, 1026898.493 966207.634 0, 1027172.951 966209.226 0, 1027447.408 966210.833 0, 1027721.866 966212.457 0, 1027996.323 966214.096 0, 1028270.781 966215.752 0, 1028545.238 966217.424 0, 1028819.695 966219.113 0,
+ 1029094.152 966220.817 0, 1029368.609 966222.537 0, 1029643.066 966224.274 0, 1029917.523 966226.027 0, 1030191.98 966227.796 0, 1030466.436 966229.581 0, 1030740.893 966231.382 0, 1031015.349 966233.2 0, 1031289.805 966235.033 0, 1031564.262 966236.883 0,
+ 1031838.718 966238.749 0, 1032113.174 966240.631 0, 1032387.629 966242.529 0, 1032662.085 966244.443 0, 1032935.218 966246.365 0, 1033210.996 966248.321 0, 1033485.452 966250.283 0, 1033759.907 966252.262 0, 1034034.362 966254.257 0, 1034308.817 966256.269 0,
+ 1034583.272 966258.296 0, 1034857.727 966260.34 0, 1035132.181 966262.4 0, 1035406.636 966264.475 0, 1035681.09 966266.567 0, 1035955.545 966268.676 0, 1036229.999 966270.8 0, 1036504.453 966272.94 0, 1036778.907 966275.097 0, 1037053.361 966277.27 0,
+ 1037327.814 966279.459 0, 1037602.268 966281.664 0, 1037876.721 966283.885 0, 1038151.174 966286.123 0, 1038425.628 966288.376 0, 1038700.081 966290.646 0, 1038974.533 966292.932 0, 1039248.986 966295.234 0, 1039522.117 966297.541 0, 1039569.408 960718.012 0,
+ 1039616.698 955138.596 0))
+
+POLYGON ((1052695.665 966427.807 0, 1052422.54 966424.729 0, 1052148.095 966421.651 0, 1051873.65 966418.59 0, 1051599.204 966415.545 0, 1051324.758 966412.516 0, 1051050.312 966409.503 0, 1050775.866 966406.506 0, 1050501.42 966403.526 0, 1050226.974 966400.562 0,
+ 1049952.527 966397.613 0, 1049678.081 966394.681 0, 1049403.634 966391.765 0, 1049129.187 966388.866 0, 1048854.739 966385.982 0, 1048580.292 966383.115 0, 1048305.844 966380.263 0, 1048031.397 966377.428 0, 1047756.949 966374.609 0, 1047482.501 966371.807 0,
+ 1047208.052 966369.02 0, 1046933.604 966366.249 0, 1046659.155 966363.495 0, 1046384.707 966360.757 0, 1046108.937 966358.022 0, 1045835.809 966355.329 0, 1045561.36 966352.639 0, 1045286.91 966349.966 0, 1045012.461 966347.308 0, 1044738.011 966344.667 0,
+ 1044463.561 966342.042 0, 1044189.111 966339.433 0, 1043914.661 966336.84 0, 1043640.211 966334.264 0, 1043365.76 966331.703 0, 1043091.31 966329.159 0, 1042816.859 966326.63 0, 1042542.408 966324.118 0, 1042267.957 966321.623 0, 1041993.506 966319.143 0,
+ 1041719.055 966316.679 0, 1041444.603 966314.232 0, 1041170.151 966311.801 0, 1040895.7 966309.385 0, 1040621.248 966306.986 0, 1040346.796 966304.604 0, 1040072.344 966302.237 0, 1039797.891 966299.887 0, 1039522.117 966297.541 0, 1039474.825 971877.181 0,
+ 1039427.533 977456.927 0, 1039702.647 977459.267 0, 1039976.442 977461.612 0, 1040250.238 977463.973 0, 1040524.033 977466.35 0, 1040797.828 977468.743 0, 1041071.623 977471.152 0, 1041345.418 977473.578 0, 1041619.213 977476.019 0, 1041893.007 977478.477 0,
+ 1042166.801 977480.951 0, 1042440.596 977483.441 0, 1042714.39 977485.947 0, 1042988.184 977488.469 0, 1043261.977 977491.007 0, 1043535.771 977493.562 0, 1043809.565 977496.132 0, 1044083.358 977498.719 0, 1044357.151 977501.321 0, 1044630.944 977503.94 0,
+ 1044904.737 977506.575 0, 1045178.53 977509.226 0, 1045452.322 977511.893 0, 1045726.115 977514.577 0, 1045998.589 977517.263 0, 1046273.699 977519.992 0, 1046547.491 977522.723 0, 1046821.283 977525.471 0, 1047095.074 977528.235 0, 1047368.866 977531.015 0,
+ 1047642.657 977533.811 0, 1047916.448 977536.623 0, 1048190.239 977539.452 0, 1048464.03 977542.296 0, 1048737.82 977545.157 0, 1049011.611 977548.033 0, 1049285.401 977550.926 0, 1049559.191 977553.835 0, 1049832.981 977556.76 0, 1050106.771 977559.701 0,
+ 1050380.56 977562.658 0, 1050654.35 977565.632 0, 1050928.139 977568.621 0, 1051201.928 977571.627 0, 1051475.717 977574.648 0, 1051749.506 977577.686 0, 1052023.294 977580.74 0, 1052297.082 977583.81 0, 1052569.554 977586.881 0, 1052632.61 972007.291 0,
+ 1052695.665 966427.807 0))
+
+POLYGON ((1065711.156 977753.964 0, 1065438.692 977750.123 0, 1065164.913 977746.279 0, 1064891.135 977742.452 0, 1064617.356 977738.641 0, 1064343.576 977734.845 0, 1064069.797 977731.066 0, 1063796.017 977727.303 0, 1063522.237 977723.557 0, 1063248.457 977719.826 0,
+ 1062974.677 977716.111 0, 1062700.896 977712.413 0, 1062427.115 977708.73 0, 1062153.334 977705.064 0, 1061879.553 977701.414 0, 1061605.772 977697.78 0, 1061331.99 977694.162 0, 1061058.208 977690.56 0, 1060784.426 977686.974 0, 1060510.644 977683.405 0,
+ 1060236.861 977679.851 0, 1059963.079 977676.314 0, 1059689.296 977672.793 0, 1059415.513 977669.288 0, 1059140.414 977665.782 0, 1058867.946 977662.326 0, 1058594.162 977658.869 0, 1058320.378 977655.428 0, 1058046.594 977652.004 0, 1057772.81 977648.595 0,
+ 1057499.025 977645.203 0, 1057225.241 977641.827 0, 1056951.456 977638.466 0, 1056677.671 977635.122 0, 1056403.885 977631.795 0, 1056130.1 977628.483 0, 1055856.314 977625.187 0, 1055582.528 977621.908 0, 1055308.742 977618.644 0, 1055034.956 977615.397 0,
+ 1054761.169 977612.166 0, 1054487.383 977608.951 0, 1054213.596 977605.752 0, 1053939.809 977602.569 0, 1053666.021 977599.402 0, 1053392.234 977596.252 0, 1053118.446 977593.117 0, 1052844.659 977589.999 0, 1052569.554 977586.881 0, 1052506.497 983166.574 0,
+ 1052443.439 988746.365 0, 1052717.883 988749.475 0, 1052991.014 988752.585 0, 1053264.145 988755.712 0, 1053537.275 988758.856 0, 1053810.406 988762.015 0, 1054083.536 988765.19 0, 1054356.666 988768.381 0, 1054629.796 988771.589 0, 1054902.925 988774.812 0,
+ 1055176.055 988778.051 0, 1055449.184 988781.307 0, 1055722.313 988784.579 0, 1055995.442 988787.866 0, 1056268.571 988791.17 0, 1056541.699 988794.49 0, 1056814.828 988797.826 0, 1057087.956 988801.178 0, 1057361.084 988804.546 0, 1057634.211 988807.931 0,
+ 1057907.339 988811.331 0, 1058180.466 988814.747 0, 1058453.593 988818.18 0, 1058726.72 988821.628 0, 1058998.535 988825.076 0, 1059272.973 988828.573 0, 1059546.1 988832.07 0, 1059819.226 988835.583 0, 1060092.352 988839.112 0, 1060365.477 988842.657 0,
+ 1060638.603 988846.218 0, 1060911.728 988849.795 0, 1061184.853 988853.388 0, 1061457.978 988856.997 0, 1061731.102 988860.623 0, 1062004.227 988864.264 0, 1062277.351 988867.921 0, 1062550.475 988871.595 0, 1062823.599 988875.285 0, 1063096.722 988878.99 0,
+ 1063369.846 988882.712 0, 1063642.969 988886.45 0, 1063916.092 988890.204 0, 1064189.214 988893.974 0, 1064462.337 988897.76 0, 1064735.459 988901.562 0, 1065008.581 988905.38 0, 1065281.703 988909.215 0, 1065553.513 988913.047 0, 1065632.335 983333.456 0,
+ 1065711.156 977753.964 0))
+
+POLYGON ((1078663.065 989116.766 0, 1078391.264 989112.166 0, 1078118.154 989107.56 0, 1077845.044 989102.97 0, 1077571.934 989098.397 0, 1077298.823 989093.839 0, 1077025.712 989089.297 0, 1076752.601 989084.772 0, 1076479.49 989080.262 0, 1076206.378 989075.769 0,
+ 1075933.266 989071.292 0, 1075660.154 989066.83 0, 1075387.041 989062.385 0, 1075113.928 989057.956 0, 1074840.815 989053.543 0, 1074567.702 989049.146 0, 1074294.588 989044.765 0, 1074021.475 989040.401 0, 1073748.361 989036.052 0, 1073475.246 989031.719 0,
+ 1073202.132 989027.403 0, 1072929.017 989023.102 0, 1072655.902 989018.818 0, 1072382.786 989014.549 0, 1072108.361 989010.277 0, 1071836.555 989006.061 0, 1071563.439 989001.841 0, 1071290.323 988997.637 0, 1071017.206 988993.449 0, 1070744.089 988989.277 0,
+ 1070470.972 988985.121 0, 1070197.855 988980.981 0, 1069924.737 988976.858 0, 1069651.62 988972.75 0, 1069378.502 988968.658 0, 1069105.383 988964.583 0, 1068832.265 988960.524 0, 1068559.146 988956.48 0, 1068286.027 988952.453 0, 1068012.908 988948.442 0,
+ 1067739.788 988944.447 0, 1067466.669 988940.468 0, 1067193.549 988936.505 0, 1066920.429 988932.558 0, 1066647.308 988928.627 0, 1066374.188 988924.713 0, 1066101.067 988920.814 0, 1065827.946 988916.932 0, 1065553.513 988913.047 0, 1065474.69 994492.731 0,
+ 1065395.865 1000072.506 0, 1065669.637 1000076.381 0, 1065942.102 1000080.255 0, 1066214.566 1000084.144 0, 1066487.03 1000088.049 0, 1066759.493 1000091.97 0, 1067031.956 1000095.908 0, 1067304.42 1000099.861 0, 1067576.882 1000103.831 0, 1067849.345 1000107.816 0,
+ 1068121.807 1000111.817 0, 1068394.27 1000115.835 0, 1068666.732 1000119.869 0, 1068939.193 1000123.918 0, 1069211.655 1000127.984 0, 1069484.116 1000132.066 0, 1069756.577 1000136.163 0, 1070029.038 1000140.277 0, 1070301.498 1000144.407 0, 1070573.958 1000148.553 0,
+ 1070846.418 1000152.714 0, 1071118.878 1000156.892 0, 1071391.338 1000161.086 0, 1071663.797 1000165.296 0, 1071934.949 1000169.502 0, 1072208.715 1000173.764 0, 1072481.173 1000178.022 0, 1072753.632 1000182.297 0, 1073026.09 1000186.587 0, 1073298.547 1000190.893 0,
+ 1073571.005 1000195.215 0, 1073843.462 1000199.553 0, 1074115.919 1000203.908 0, 1074388.376 1000208.278 0, 1074660.832 1000212.664 0, 1074933.289 1000217.067 0, 1075205.744 1000221.485 0, 1075478.2 1000225.92 0, 1075750.656 1000230.37 0, 1076023.111 1000234.837 0,
+ 1076295.566 1000239.319 0, 1076568.02 1000243.818 0, 1076840.475 1000248.333 0, 1077112.929 1000252.863 0, 1077385.383 1000257.41 0, 1077657.836 1000261.973 0, 1077930.29 1000266.552 0, 1078202.743 1000271.146 0, 1078473.89 1000275.735 0, 1078568.478 994696.206 0,
+ 1078663.065 989116.766 0))
+
+POLYGON ((1091551.288 1000515.912 0, 1091280.153 1000510.557 0, 1091007.714 1000505.192 0, 1090735.275 1000499.844 0, 1090462.835 1000494.511 0, 1090190.395 1000489.195 0, 1089917.955 1000483.894 0, 1089645.514 1000478.61 0, 1089373.074 1000473.342 0, 1089100.632 1000468.089 0,
+ 1088828.191 1000462.853 0, 1088555.749 1000457.633 0, 1088283.307 1000452.429 0, 1088010.865 1000447.241 0, 1087738.422 1000442.068 0, 1087465.979 1000436.912 0, 1087193.536 1000431.772 0, 1086921.092 1000426.648 0, 1086648.648 1000421.54 0, 1086376.204 1000416.448 0,
+ 1086103.759 1000411.372 0, 1085831.315 1000406.313 0, 1085558.869 1000401.269 0, 1085286.424 1000396.241 0, 1085012.674 1000391.205 0, 1084741.532 1000386.233 0, 1084469.086 1000381.254 0, 1084196.64 1000376.29 0, 1083924.193 1000371.342 0, 1083651.746 1000366.411 0,
+ 1083379.298 1000361.495 0, 1083106.85 1000356.596 0, 1082834.402 1000351.712 0, 1082561.954 1000346.845 0, 1082289.505 1000341.993 0, 1082017.056 1000337.158 0, 1081744.607 1000332.339 0, 1081472.158 1000327.535 0, 1081199.708 1000322.748 0, 1080927.258 1000317.977 0,
+ 1080654.808 1000313.222 0, 1080382.357 1000308.482 0, 1080109.906 1000303.759 0, 1079837.455 1000299.052 0, 1079565.004 1000294.361 0, 1079292.552 1000289.686 0, 1079020.1 1000285.027 0, 1078747.648 1000280.384 0, 1078473.89 1000275.735 0, 1078379.3 1005855.351 0,
+ 1078284.709 1011435.048 0, 1078557.807 1011439.686 0, 1078829.603 1011444.318 0, 1079101.398 1011448.965 0, 1079373.193 1011453.629 0, 1079644.987 1011458.309 0, 1079916.782 1011463.005 0, 1080188.576 1011467.716 0, 1080460.369 1011472.444 0, 1080732.163 1011477.188 0,
+ 1081003.956 1011481.948 0, 1081275.749 1011486.723 0, 1081547.542 1011491.515 0, 1081819.334 1011496.323 0, 1082091.126 1011501.146 0, 1082362.918 1011505.986 0, 1082634.709 1011510.842 0, 1082906.501 1011515.714 0, 1083178.291 1011520.601 0, 1083450.082 1011525.505 0,
+ 1083721.872 1011530.425 0, 1083993.663 1011535.36 0, 1084265.452 1011540.312 0, 1084537.242 1011545.28 0, 1084807.73 1011550.24 0, 1085080.82 1011555.263 0, 1085352.609 1011560.279 0, 1085624.397 1011565.311 0, 1085896.185 1011570.358 0, 1086167.973 1011575.422 0,
+ 1086439.76 1011580.502 0, 1086711.547 1011585.597 0, 1086983.334 1011590.709 0, 1087255.12 1011595.837 0, 1087526.907 1011600.98 0, 1087798.693 1011606.14 0, 1088070.478 1011611.316 0, 1088342.263 1011616.507 0, 1088614.048 1011621.715 0, 1088885.833 1011626.939 0,
+ 1089157.617 1011632.178 0, 1089429.402 1011637.434 0, 1089701.185 1011642.705 0, 1089972.969 1011647.993 0, 1090244.752 1011653.297 0, 1090516.535 1011658.616 0, 1090788.317 1011663.952 0, 1091060.099 1011669.304 0, 1091330.581 1011674.645 0, 1091440.935 1006095.238 0,
+ 1091551.288 1000515.912 0))
+
+POLYGON ((1104375.724 1011951.099 0, 1104105.257 1011944.993 0, 1103833.491 1011938.873 0, 1103561.724 1011932.77 0, 1103289.957 1011926.683 0, 1103018.19 1011920.611 0, 1102746.423 1011914.556 0, 1102474.655 1011908.516 0, 1102202.887 1011902.493 0, 1101931.119 1011896.485 0,
+ 1101659.35 1011890.494 0, 1101387.581 1011884.518 0, 1101115.811 1011878.559 0, 1100844.041 1011872.615 0, 1100572.271 1011866.688 0, 1100300.5 1011860.776 0, 1100028.729 1011854.881 0, 1099756.958 1011849.001 0, 1099485.186 1011843.138 0, 1099213.414 1011837.29 0,
+ 1098941.642 1011831.459 0, 1098669.869 1011825.643 0, 1098398.096 1011819.844 0, 1098126.323 1011814.06 0, 1097853.25 1011808.265 0, 1097582.775 1011802.541 0, 1097311.001 1011796.806 0, 1097039.226 1011791.086 0, 1096767.451 1011785.383 0, 1096495.676 1011779.695 0,
+ 1096223.9 1011774.024 0, 1095952.124 1011768.368 0, 1095680.348 1011762.729 0, 1095408.571 1011757.105 0, 1095136.794 1011751.497 0, 1094865.017 1011745.906 0, 1094593.239 1011740.33 0, 1094321.461 1011734.771 0, 1094049.683 1011729.227 0, 1093777.904 1011723.7 0,
+ 1093506.125 1011718.188 0, 1093234.346 1011712.692 0, 1092962.566 1011707.213 0, 1092690.786 1011701.749 0, 1092419.006 1011696.302 0, 1092147.225 1011690.87 0, 1091875.444 1011685.454 0, 1091603.663 1011680.055 0, 1091330.581 1011674.645 0, 1091220.225 1017254.131 0,
+ 1091109.868 1022833.69 0, 1091382.29 1022839.086 0, 1091653.414 1022844.473 0, 1091924.538 1022849.875 0, 1092195.662 1022855.294 0, 1092466.785 1022860.728 0, 1092737.909 1022866.178 0, 1093009.032 1022871.645 0, 1093280.154 1022877.127 0, 1093551.276 1022882.625 0,
+ 1093822.398 1022888.14 0, 1094093.52 1022893.67 0, 1094364.641 1022899.216 0, 1094635.762 1022904.778 0, 1094906.882 1022910.356 0, 1095178.003 1022915.95 0, 1095449.123 1022921.56 0, 1095720.242 1022927.186 0, 1095991.361 1022932.828 0, 1096262.48 1022938.486 0,
+ 1096533.599 1022944.159 0, 1096804.717 1022949.849 0, 1097075.835 1022955.555 0, 1097346.953 1022961.277 0, 1097616.774 1022966.987 0, 1097889.187 1022972.768 0, 1098160.303 1022978.537 0, 1098431.42 1022984.323 0, 1098702.536 1022990.124 0, 1098973.651 1022995.942 0,
+ 1099244.766 1023001.775 0, 1099515.881 1023007.624 0, 1099786.996 1023013.49 0, 1100058.11 1023019.371 0, 1100329.224 1023025.268 0, 1100600.337 1023031.181 0, 1100871.45 1023037.11 0, 1101142.563 1023043.055 0, 1101413.675 1023049.016 0, 1101684.788 1023054.993 0,
+ 1101955.899 1023060.986 0, 1102227.011 1023066.995 0, 1102498.122 1023073.02 0, 1102769.232 1023079.061 0, 1103040.343 1023085.118 0, 1103311.453 1023091.19 0, 1103582.562 1023097.279 0, 1103853.671 1023103.384 0, 1104123.485 1023109.475 0, 1104249.605 1017530.25 0,
+ 1104375.724 1011951.099 0))
+
+POLYGON ((1117136.272 1023422.025 0, 1116866.474 1023415.172 0, 1116595.383 1023408.301 0, 1116324.292 1023401.446 0, 1116053.2 1023394.608 0, 1115782.108 1023387.785 0, 1115511.016 1023380.978 0, 1115239.923 1023374.188 0, 1114968.829 1023367.413 0, 1114697.736 1023360.654 0,
+ 1114426.642 1023353.911 0, 1114155.547 1023347.184 0, 1113884.452 1023340.473 0, 1113613.357 1023333.778 0, 1113342.261 1023327.099 0, 1113071.165 1023320.436 0, 1112800.069 1023313.789 0, 1112528.972 1023307.157 0, 1112257.874 1023300.542 0, 1111986.777 1023293.943 0,
+ 1111715.679 1023287.36 0, 1111444.58 1023280.792 0, 1111173.482 1023274.241 0, 1110902.382 1023267.705 0, 1110629.989 1023261.155 0, 1110360.183 1023254.682 0, 1110089.083 1023248.195 0, 1109817.982 1023241.723 0, 1109546.881 1023235.267 0, 1109275.779 1023228.828 0,
+ 1109004.677 1023222.404 0, 1108733.575 1023215.996 0, 1108462.473 1023209.604 0, 1108191.37 1023203.228 0, 1107920.266 1023196.868 0, 1107649.162 1023190.524 0, 1107378.058 1023184.196 0, 1107106.954 1023177.884 0, 1106835.849 1023171.588 0, 1106564.744 1023165.308 0,
+ 1106293.638 1023159.044 0, 1106022.532 1023152.795 0, 1105751.426 1023146.563 0, 1105480.319 1023140.347 0, 1105209.212 1023134.146 0, 1104938.105 1023127.962 0, 1104666.997 1023121.793 0, 1104395.889 1023115.641 0, 1104123.485 1023109.475 0, 1103997.363 1028688.769 0,
+ 1103871.24 1034268.128 0, 1104142.984 1034274.279 0, 1104413.435 1034280.417 0, 1104683.886 1034286.571 0, 1104954.337 1034292.74 0, 1105224.787 1034298.925 0, 1105495.237 1034305.127 0, 1105765.687 1034311.344 0, 1106036.136 1034317.577 0, 1106306.585 1034323.826 0,
+ 1106577.033 1034330.091 0, 1106847.481 1034336.372 0, 1107117.929 1034342.669 0, 1107388.376 1034348.981 0, 1107658.823 1034355.31 0, 1107929.27 1034361.654 0, 1108199.716 1034368.015 0, 1108470.162 1034374.391 0, 1108740.607 1034380.784 0, 1109011.052 1034387.192 0,
+ 1109281.497 1034393.616 0, 1109551.942 1034400.056 0, 1109822.385 1034406.512 0, 1110092.829 1034412.984 0, 1110361.981 1034419.441 0, 1110633.715 1034425.975 0, 1110904.158 1034432.495 0, 1111174.6 1034439.031 0, 1111445.041 1034445.582 0, 1111715.483 1034452.149 0,
+ 1111985.923 1034458.733 0, 1112256.364 1034465.332 0, 1112526.804 1034471.947 0, 1112797.244 1034478.578 0, 1113067.683 1034485.225 0, 1113338.122 1034491.888 0, 1113608.561 1034498.567 0, 1113878.999 1034505.262 0, 1114149.437 1034511.972 0, 1114419.874 1034518.699 0,
+ 1114690.311 1034525.441 0, 1114960.747 1034532.2 0, 1115231.184 1034538.974 0, 1115501.619 1034545.764 0, 1115772.055 1034552.57 0, 1116042.49 1034559.393 0, 1116312.924 1034566.23 0, 1116583.358 1034573.084 0, 1116852.502 1034579.921 0, 1116994.388 1029000.941 0,
+ 1117136.272 1023422.025 0))
+
+POLYGON ((1129832.832 1034928.388 0, 1129563.706 1034920.79 0, 1129293.293 1034913.172 0, 1129022.878 1034905.57 0, 1128752.464 1034897.984 0, 1128482.049 1034890.414 0, 1128211.633 1034882.86 0, 1127941.217 1034875.321 0, 1127670.801 1034867.799 0, 1127400.384 1034860.292 0,
+ 1127129.967 1034852.802 0, 1126859.549 1034845.327 0, 1126589.131 1034837.869 0, 1126318.712 1034830.426 0, 1126048.293 1034822.999 0, 1125777.874 1034815.588 0, 1125507.454 1034808.193 0, 1125237.034 1034800.814 0, 1124966.613 1034793.45 0, 1124696.192 1034786.103 0,
+ 1124425.77 1034778.772 0, 1124155.348 1034771.456 0, 1123884.925 1034764.156 0, 1123614.502 1034756.873 0, 1123342.79 1034749.57 0, 1123073.655 1034742.353 0, 1122803.231 1034735.117 0, 1122532.806 1034727.897 0, 1122262.381 1034720.693 0, 1121991.956 1034713.505 0,
+ 1121721.53 1034706.333 0, 1121451.104 1034699.177 0, 1121180.677 1034692.036 0, 1120910.25 1034684.912 0, 1120639.822 1034677.803 0, 1120369.394 1034670.71 0, 1120098.966 1034663.634 0, 1119828.537 1034656.573 0, 1119558.107 1034649.528 0, 1119287.678 1034642.499 0,
+ 1119017.248 1034635.486 0, 1118746.817 1034628.489 0, 1118476.386 1034621.507 0, 1118205.955 1034614.542 0, 1117935.523 1034607.593 0, 1117665.091 1034600.659 0, 1117394.659 1034593.742 0, 1117124.226 1034586.84 0, 1116852.502 1034579.921 0, 1116710.615 1040158.963 0,
+ 1116568.727 1045738.061 0, 1116839.79 1045744.963 0, 1117109.566 1045751.848 0, 1117379.342 1045758.749 0, 1117649.118 1045765.665 0, 1117918.893 1045772.598 0, 1118188.667 1045779.546 0, 1118458.441 1045786.51 0, 1118728.215 1045793.491 0, 1118997.989 1045800.487 0,
+ 1119267.761 1045807.499 0, 1119537.534 1045814.526 0, 1119807.306 1045821.57 0, 1120077.078 1045828.63 0, 1120346.849 1045835.705 0, 1120616.62 1045842.796 0, 1120886.39 1045849.904 0, 1121156.16 1045857.027 0, 1121425.93 1045864.166 0, 1121695.699 1045871.32 0,
+ 1121965.468 1045878.491 0, 1122235.236 1045885.678 0, 1122505.004 1045892.88 0, 1122774.772 1045900.099 0, 1123043.253 1045907.298 0, 1123314.305 1045914.583 0, 1123584.072 1045921.849 0, 1123853.837 1045929.131 0, 1124123.603 1045936.428 0, 1124393.368 1045943.742 0,
+ 1124663.132 1045951.072 0, 1124932.896 1045958.417 0, 1125202.66 1045965.778 0, 1125472.423 1045973.155 0, 1125742.186 1045980.548 0, 1126011.948 1045987.957 0, 1126281.71 1045995.382 0, 1126551.472 1046002.823 0, 1126821.233 1046010.279 0, 1127090.993 1046017.751 0,
+ 1127360.753 1046025.24 0, 1127630.513 1046032.744 0, 1127900.272 1046040.264 0, 1128170.031 1046047.8 0, 1128439.789 1046055.351 0, 1128709.547 1046062.919 0, 1128979.305 1046070.503 0, 1129249.062 1046078.102 0, 1129517.534 1046085.681 0, 1129675.184 1040507.006 0,
+ 1129832.832 1034928.388 0))
+
+POLYGON ((1142465.307 1046469.882 0, 1142196.856 1046461.545 0, 1141927.121 1046453.183 0, 1141657.386 1046444.838 0, 1141387.651 1046436.508 0, 1141117.915 1046428.194 0, 1140848.178 1046419.896 0, 1140578.441 1046411.614 0, 1140308.704 1046403.348 0, 1140038.966 1046395.097 0,
+ 1139769.228 1046386.863 0, 1139499.489 1046378.644 0, 1139229.749 1046370.442 0, 1138960.009 1046362.255 0, 1138690.269 1046354.084 0, 1138420.528 1046345.929 0, 1138150.787 1046337.789 0, 1137881.045 1046329.666 0, 1137611.303 1046321.559 0, 1137341.56 1046313.467 0,
+ 1137071.817 1046305.391 0, 1136802.074 1046297.331 0, 1136532.329 1046289.288 0, 1136262.585 1046281.259 0, 1135991.556 1046273.209 0, 1135723.094 1046265.251 0, 1135453.348 1046257.27 0, 1135183.602 1046249.306 0, 1134913.855 1046241.357 0, 1134644.107 1046233.424 0,
+ 1134374.359 1046225.507 0, 1134104.611 1046217.606 0, 1133834.862 1046209.721 0, 1133565.113 1046201.852 0, 1133295.363 1046193.998 0, 1133025.613 1046186.161 0, 1132755.862 1046178.339 0, 1132486.111 1046170.533 0, 1132216.359 1046162.743 0, 1131946.607 1046154.969 0,
+ 1131676.855 1046147.211 0, 1131407.102 1046139.469 0, 1131137.349 1046131.742 0, 1130867.595 1046124.032 0, 1130597.84 1046116.337 0, 1130328.086 1046108.658 0, 1130058.33 1046100.996 0, 1129788.575 1046093.348 0, 1129517.534 1046085.681 0, 1129359.883 1051664.409 0,
+ 1129202.23 1057243.184 0, 1129472.611 1057250.833 0, 1129741.71 1057258.461 0, 1130010.808 1057266.106 0, 1130279.906 1057273.766 0, 1130549.004 1057281.442 0, 1130818.101 1057289.134 0, 1131087.198 1057296.841 0, 1131356.294 1057304.565 0, 1131625.39 1057312.304 0,
+ 1131894.485 1057320.059 0, 1132163.58 1057327.83 0, 1132432.675 1057335.617 0, 1132701.769 1057343.419 0, 1132970.862 1057351.238 0, 1133239.955 1057359.072 0, 1133509.048 1057366.922 0, 1133778.14 1057374.788 0, 1134047.232 1057382.67 0, 1134316.323 1057390.568 0,
+ 1134585.414 1057398.481 0, 1134854.504 1057406.411 0, 1135123.594 1057414.356 0, 1135392.683 1057422.317 0, 1135660.492 1057430.256 0, 1135930.86 1057438.287 0, 1136199.948 1057446.295 0, 1136469.036 1057454.319 0, 1136738.123 1057462.36 0, 1137007.209 1057470.416 0,
+ 1137276.295 1057478.488 0, 1137545.381 1057486.575 0, 1137814.466 1057494.679 0, 1138083.55 1057502.798 0, 1138352.635 1057510.934 0, 1138621.718 1057519.085 0, 1138890.801 1057527.252 0, 1139159.884 1057535.434 0, 1139428.966 1057543.633 0, 1139698.048 1057551.847 0,
+ 1139967.129 1057560.078 0, 1140236.21 1057568.324 0, 1140505.29 1057576.586 0, 1140774.37 1057584.863 0, 1141043.449 1057593.157 0, 1141312.528 1057601.467 0, 1141581.607 1057609.792 0, 1141850.684 1057618.133 0, 1142118.482 1057626.45 0, 1142291.896 1052048.142 0,
+ 1142465.307 1046469.882 0))
+
+POLYGON ((1155033.601 1058046.205 0, 1154765.825 1058037.131 0, 1154496.772 1058028.03 0, 1154227.718 1058018.945 0, 1153958.664 1058009.875 0, 1153689.609 1058000.821 0, 1153420.554 1057991.783 0, 1153151.498 1057982.761 0, 1152882.441 1057973.755 0, 1152613.385 1057964.765 0,
+ 1152344.327 1057955.79 0, 1152075.269 1057946.831 0, 1151806.211 1057937.888 0, 1151537.152 1057928.961 0, 1151268.092 1057920.05 0, 1150999.032 1057911.154 0, 1150729.971 1057902.275 0, 1150460.91 1057893.411 0, 1150191.849 1057884.563 0, 1149922.786 1057875.731 0,
+ 1149653.724 1057866.915 0, 1149384.661 1057858.114 0, 1149115.597 1057849.33 0, 1148846.533 1057840.561 0, 1148576.19 1057831.767 0, 1148308.403 1057823.071 0, 1148039.337 1057814.35 0, 1147770.271 1057805.645 0, 1147501.204 1057796.955 0, 1147232.136 1057788.281 0,
+ 1146963.069 1057779.624 0, 1146694 1057770.981 0, 1146424.931 1057762.355 0, 1146155.862 1057753.745 0, 1145886.792 1057745.15 0, 1145617.722 1057736.572 0, 1145348.651 1057728.009 0, 1145079.58 1057719.462 0, 1144810.508 1057710.931 0, 1144541.435 1057702.415 0,
+ 1144272.363 1057693.916 0, 1144003.289 1057685.432 0, 1143734.215 1057676.964 0, 1143465.141 1057668.512 0, 1143196.066 1057660.076 0, 1142926.991 1057651.656 0, 1142657.915 1057643.251 0, 1142388.839 1057634.863 0, 1142118.482 1057626.45 0, 1141945.068 1063204.802 0,
+ 1141771.652 1068783.194 0, 1142041.349 1068791.586 0, 1142309.768 1068799.954 0, 1142578.187 1068808.338 0, 1142846.606 1068816.738 0, 1143115.024 1068825.153 0, 1143383.442 1068833.585 0, 1143651.859 1068842.032 0, 1143920.276 1068850.495 0, 1144188.692 1068858.973 0,
+ 1144457.108 1068867.468 0, 1144725.523 1068875.978 0, 1144993.938 1068884.505 0, 1145262.352 1068893.047 0, 1145530.766 1068901.604 0, 1145799.179 1068910.178 0, 1146067.592 1068918.767 0, 1146336.004 1068927.372 0, 1146604.416 1068935.993 0, 1146872.827 1068944.63 0,
+ 1147141.237 1068953.283 0, 1147409.648 1068961.951 0, 1147678.057 1068970.635 0, 1147946.466 1068979.335 0, 1148213.6 1068988.009 0, 1148483.283 1068996.782 0, 1148751.691 1069005.53 0, 1149020.098 1069014.293 0, 1149288.504 1069023.072 0, 1149556.91 1069031.866 0,
+ 1149825.316 1069040.677 0, 1150093.721 1069049.503 0, 1150362.125 1069058.345 0, 1150630.529 1069067.203 0, 1150898.933 1069076.077 0, 1151167.336 1069084.966 0, 1151435.738 1069093.872 0, 1151704.14 1069102.793 0, 1151972.541 1069111.73 0, 1152240.942 1069120.682 0,
+ 1152509.343 1069129.651 0, 1152777.742 1069138.635 0, 1153046.142 1069147.635 0, 1153314.54 1069156.651 0, 1153582.939 1069165.683 0, 1153851.336 1069174.73 0, 1154119.733 1069183.794 0, 1154388.13 1069192.873 0, 1154655.252 1069201.924 0, 1154844.427 1063624.045 0,
+ 1155033.601 1058046.205 0))
+
+POLYGON ((1167537.617 1069657.052 0, 1167270.52 1069647.246 0, 1167002.15 1069637.408 0, 1166733.779 1069627.587 0, 1166465.408 1069617.781 0, 1166197.037 1069607.991 0, 1165928.665 1069598.217 0, 1165660.292 1069588.459 0, 1165391.919 1069578.716 0, 1165123.545 1069568.989 0,
+ 1164855.17 1069559.278 0, 1164586.795 1069549.583 0, 1164318.42 1069539.904 0, 1164050.043 1069530.24 0, 1163781.667 1069520.593 0, 1163513.289 1069510.961 0, 1163244.912 1069501.344 0, 1162976.533 1069491.744 0, 1162708.154 1069482.16 0, 1162439.774 1069472.591 0,
+ 1162171.394 1069463.038 0, 1161903.014 1069453.501 0, 1161634.632 1069443.979 0, 1161366.251 1069434.474 0, 1161096.595 1069424.939 0, 1160829.485 1069415.51 0, 1160561.102 1069406.052 0, 1160292.718 1069396.609 0, 1160024.333 1069387.183 0, 1159755.948 1069377.772 0,
+ 1159487.562 1069368.377 0, 1159219.176 1069358.997 0, 1158950.789 1069349.634 0, 1158682.402 1069340.286 0, 1158414.014 1069330.955 0, 1158145.625 1069321.639 0, 1157877.236 1069312.338 0, 1157608.847 1069303.054 0, 1157340.457 1069293.785 0, 1157072.066 1069284.532 0,
+ 1156803.675 1069275.295 0, 1156535.283 1069266.074 0, 1156266.891 1069256.869 0, 1155998.498 1069247.679 0, 1155730.105 1069238.505 0, 1155461.711 1069229.347 0, 1155193.316 1069220.205 0, 1154924.921 1069211.078 0, 1154655.252 1069201.924 0, 1154466.076 1074779.839 0,
+ 1154276.899 1080357.785 0, 1154545.908 1080366.916 0, 1154813.647 1080376.021 0, 1155081.384 1080385.14 0, 1155349.122 1080394.276 0, 1155616.859 1080403.427 0, 1155884.595 1080412.595 0, 1156152.33 1080421.778 0, 1156420.066 1080430.976 0, 1156687.8 1080440.191 0,
+ 1156955.534 1080449.421 0, 1157223.268 1080458.667 0, 1157491.001 1080467.929 0, 1157758.733 1080477.206 0, 1158026.465 1080486.499 0, 1158294.196 1080495.808 0, 1158561.927 1080505.133 0, 1158829.657 1080514.474 0, 1159097.387 1080523.83 0, 1159365.116 1080533.202 0,
+ 1159632.845 1080542.59 0, 1159900.573 1080551.993 0, 1160168.3 1080561.413 0, 1160436.027 1080570.848 0, 1160702.484 1080580.254 0, 1160971.479 1080589.765 0, 1161239.204 1080599.247 0, 1161506.929 1080608.746 0, 1161774.653 1080618.259 0, 1162042.377 1080627.789 0,
+ 1162310.1 1080637.334 0, 1162577.822 1080646.896 0, 1162845.544 1080656.472 0, 1163113.265 1080666.065 0, 1163380.986 1080675.673 0, 1163648.706 1080685.298 0, 1163916.426 1080694.938 0, 1164184.145 1080704.593 0, 1164451.863 1080714.265 0, 1164719.581 1080723.952 0,
+ 1164987.299 1080733.655 0, 1165255.015 1080743.373 0, 1165522.732 1080753.108 0, 1165790.447 1080762.858 0, 1166058.162 1080772.624 0, 1166325.877 1080782.406 0, 1166593.591 1080792.203 0, 1166861.304 1080802.017 0, 1167127.748 1080811.799 0, 1167332.683 1075234.41 0,
+ 1167537.617 1069657.052 0))
+
+POLYGON ((1179977.264 1081302.117 0, 1179710.846 1081291.582 0, 1179443.162 1081281.013 0, 1179175.476 1081270.459 0, 1178907.791 1081259.921 0, 1178640.104 1081249.398 0, 1178372.417 1081238.892 0, 1178104.73 1081228.401 0, 1177837.041 1081217.926 0, 1177569.353 1081207.467 0,
+ 1177301.663 1081197.023 0, 1177033.973 1081186.596 0, 1176766.282 1081176.184 0, 1176498.591 1081165.787 0, 1176230.899 1081155.407 0, 1175963.207 1081145.042 0, 1175695.513 1081134.693 0, 1175427.82 1081124.36 0, 1175160.125 1081114.043 0, 1174892.43 1081103.741 0,
+ 1174624.735 1081093.455 0, 1174357.039 1081083.185 0, 1174089.342 1081072.93 0, 1173821.645 1081062.692 0, 1173552.679 1081052.42 0, 1173286.248 1081042.262 0, 1173018.549 1081032.07 0, 1172750.849 1081021.894 0, 1172483.149 1081011.735 0, 1172215.448 1081001.59 0,
+ 1171947.746 1080991.462 0, 1171680.044 1080981.349 0, 1171412.341 1080971.253 0, 1171144.638 1080961.171 0, 1170876.934 1080951.106 0, 1170609.229 1080941.057 0, 1170341.524 1080931.023 0, 1170073.818 1080921.005 0, 1169806.112 1080911.002 0, 1169538.405 1080901.016 0,
+ 1169270.698 1080891.045 0, 1169002.99 1080881.09 0, 1168735.281 1080871.151 0, 1168467.572 1080861.227 0, 1168199.862 1080851.319 0, 1167932.151 1080841.427 0, 1167664.44 1080831.551 0, 1167396.729 1080821.69 0, 1167127.748 1080811.799 0, 1166922.812 1086389.215 0,
+ 1166717.875 1091966.653 0, 1166986.196 1091976.52 0, 1167253.251 1091986.356 0, 1167520.306 1091996.208 0, 1167787.359 1092006.076 0, 1168054.413 1092015.959 0, 1168321.465 1092025.859 0, 1168588.518 1092035.774 0, 1168855.569 1092045.704 0, 1169122.62 1092055.651 0,
+ 1169389.67 1092065.613 0, 1169656.72 1092075.59 0, 1169923.769 1092085.584 0, 1170190.818 1092095.593 0, 1170457.866 1092105.618 0, 1170724.913 1092115.659 0, 1170991.96 1092125.715 0, 1171259.006 1092135.787 0, 1171526.052 1092145.875 0, 1171793.097 1092155.979 0,
+ 1172060.142 1092166.098 0, 1172327.185 1092176.233 0, 1172594.229 1092186.384 0, 1172861.271 1092196.55 0, 1173127.049 1092206.684 0, 1173395.355 1092216.93 0, 1173662.396 1092227.144 0, 1173929.436 1092237.373 0, 1174196.476 1092247.618 0, 1174463.515 1092257.879 0,
+ 1174730.553 1092268.155 0, 1174997.591 1092278.447 0, 1175264.628 1092288.755 0, 1175531.665 1092299.079 0, 1175798.701 1092309.418 0, 1176065.736 1092319.773 0, 1176332.771 1092330.144 0, 1176599.805 1092340.53 0, 1176866.839 1092350.932 0, 1177133.872 1092361.35 0,
+ 1177400.904 1092371.784 0, 1177667.936 1092382.233 0, 1177934.967 1092392.698 0, 1178201.998 1092403.179 0, 1178469.028 1092413.675 0, 1178736.057 1092424.188 0, 1179003.086 1092434.716 0, 1179270.114 1092445.259 0, 1179535.878 1092455.768 0, 1179756.571 1086878.932 0,
+ 1179977.264 1081302.117 0))
+
+POLYGON ((1192352.447 1092981.096 0, 1192086.712 1092969.835 0, 1191819.715 1092958.537 0, 1191552.717 1092947.255 0, 1191285.718 1092935.988 0, 1191018.719 1092924.738 0, 1190751.719 1092913.503 0, 1190484.719 1092902.283 0, 1190217.718 1092891.079 0, 1189950.716 1092879.891 0,
+ 1189683.713 1092868.719 0, 1189416.71 1092857.563 0, 1189149.707 1092846.422 0, 1188882.702 1092835.297 0, 1188615.697 1092824.187 0, 1188348.691 1092813.094 0, 1188081.685 1092802.016 0, 1187814.678 1092790.953 0, 1187547.67 1092779.907 0, 1187280.662 1092768.876 0,
+ 1187013.653 1092757.861 0, 1186746.643 1092746.861 0, 1186479.633 1092735.878 0, 1186212.622 1092724.91 0, 1185944.348 1092713.906 0, 1185678.598 1092703.021 0, 1185411.585 1092692.1 0, 1185144.572 1092681.195 0, 1184877.557 1092670.306 0, 1184610.543 1092659.432 0,
+ 1184343.527 1092648.574 0, 1184076.511 1092637.732 0, 1183809.494 1092626.905 0, 1183542.477 1092616.095 0, 1183275.459 1092605.299 0, 1183008.44 1092594.52 0, 1182741.421 1092583.756 0, 1182474.401 1092573.009 0, 1182207.381 1092562.276 0, 1181940.36 1092551.56 0,
+ 1181673.338 1092540.859 0, 1181406.315 1092530.174 0, 1181139.292 1092519.505 0, 1180872.269 1092508.851 0, 1180605.244 1092498.213 0, 1180338.219 1092487.591 0, 1180071.194 1092476.984 0, 1179804.168 1092466.394 0, 1179535.878 1092455.768 0, 1179315.184 1098032.623 0,
+ 1179094.489 1103609.492 0, 1179362.119 1103620.09 0, 1179628.489 1103630.655 0, 1179894.858 1103641.236 0, 1180161.227 1103651.832 0, 1180427.594 1103662.443 0, 1180693.962 1103673.071 0, 1180960.328 1103683.714 0, 1181226.694 1103694.373 0, 1181493.059 1103705.047 0,
+ 1181759.424 1103715.738 0, 1182025.788 1103726.443 0, 1182292.152 1103737.165 0, 1182558.514 1103747.902 0, 1182824.876 1103758.655 0, 1183091.238 1103769.423 0, 1183357.599 1103780.208 0, 1183623.959 1103791.008 0, 1183890.319 1103801.823 0, 1184156.678 1103812.654 0,
+ 1184423.036 1103823.501 0, 1184689.394 1103834.364 0, 1184955.751 1103845.242 0, 1185222.107 1103856.136 0, 1185487.204 1103866.994 0, 1185754.818 1103877.971 0, 1186021.173 1103888.912 0, 1186287.527 1103899.869 0, 1186553.88 1103910.841 0, 1186820.232 1103921.829 0,
+ 1187086.584 1103932.833 0, 1187352.936 1103943.852 0, 1187619.286 1103954.887 0, 1187885.636 1103965.938 0, 1188151.985 1103977.005 0, 1188418.334 1103988.087 0, 1188684.682 1103999.184 0, 1188951.029 1104010.298 0, 1189217.376 1104021.427 0, 1189483.722 1104032.572 0,
+ 1189750.068 1104043.732 0, 1190016.412 1104054.908 0, 1190282.756 1104066.1 0, 1190549.1 1104077.308 0, 1190815.443 1104088.531 0, 1191081.785 1104099.77 0, 1191348.126 1104111.024 0, 1191614.467 1104122.295 0, 1191879.549 1104133.527 0, 1192115.998 1098557.304 0,
+ 1192352.447 1092981.096 0))
+
+POLYGON ((1204663.078 1104693.681 0, 1204398.026 1104681.699 0, 1204131.718 1104669.676 0, 1203865.41 1104657.67 0, 1203599.101 1104645.678 0, 1203332.791 1104633.703 0, 1203066.48 1104621.743 0, 1202800.168 1104609.798 0, 1202533.856 1104597.87 0, 1202267.544 1104585.957 0,
+ 1202001.23 1104574.06 0, 1201734.916 1104562.178 0, 1201468.601 1104550.312 0, 1201202.285 1104538.462 0, 1200935.969 1104526.628 0, 1200669.652 1104514.809 0, 1200403.334 1104503.006 0, 1200137.016 1104491.218 0, 1199870.697 1104479.446 0, 1199604.377 1104467.69 0,
+ 1199338.057 1104455.95 0, 1199071.736 1104444.225 0, 1198805.414 1104432.516 0, 1198539.091 1104420.822 0, 1198271.511 1104409.089 0, 1198006.444 1104397.482 0, 1197740.12 1104385.836 0, 1197473.794 1104374.205 0, 1197207.468 1104362.59 0, 1196941.142 1104350.991 0,
+ 1196674.814 1104339.407 0, 1196408.486 1104327.839 0, 1196142.158 1104316.287 0, 1195875.828 1104304.75 0, 1195609.498 1104293.229 0, 1195343.168 1104281.723 0, 1195076.836 1104270.234 0, 1194810.504 1104258.76 0, 1194544.171 1104247.301 0, 1194277.838 1104235.859 0,
+ 1194011.504 1104224.432 0, 1193745.169 1104213.021 0, 1193478.834 1104201.625 0, 1193212.498 1104190.245 0, 1192946.161 1104178.881 0, 1192679.823 1104167.532 0, 1192413.485 1104156.199 0, 1192147.146 1104144.882 0, 1191879.549 1104133.527 0, 1191643.099 1109709.759 0,
+ 1191406.649 1115285.995 0, 1191673.587 1115297.322 0, 1191939.269 1115308.612 0, 1192204.951 1115319.917 0, 1192470.632 1115331.237 0, 1192736.312 1115342.573 0, 1193001.992 1115353.925 0, 1193267.671 1115365.293 0, 1193533.35 1115376.676 0, 1193799.027 1115388.075 0,
+ 1194064.704 1115399.489 0, 1194330.381 1115410.919 0, 1194596.056 1115422.365 0, 1194861.731 1115433.826 0, 1195127.406 1115445.303 0, 1195393.079 1115456.796 0, 1195658.752 1115468.304 0, 1195924.425 1115479.828 0, 1196190.096 1115491.368 0, 1196455.767 1115502.923 0,
+ 1196721.437 1115514.494 0, 1196987.107 1115526.08 0, 1197252.776 1115537.682 0, 1197518.444 1115549.3 0, 1197782.858 1115560.879 0, 1198049.778 1115572.582 0, 1198315.445 1115584.247 0, 1198581.11 1115595.927 0, 1198846.775 1115607.623 0, 1199112.439 1115619.335 0,
+ 1199378.102 1115631.062 0, 1199643.765 1115642.805 0, 1199909.427 1115654.563 0, 1200175.088 1115666.337 0, 1200440.749 1115678.127 0, 1200706.409 1115689.932 0, 1200972.068 1115701.753 0, 1201237.727 1115713.59 0, 1201503.385 1115725.442 0, 1201769.042 1115737.31 0,
+ 1202034.698 1115749.194 0, 1202300.354 1115761.093 0, 1202566.009 1115773.008 0, 1202831.663 1115784.938 0, 1203097.317 1115796.884 0, 1203362.97 1115808.846 0, 1203628.622 1115820.823 0, 1203894.274 1115832.816 0, 1204158.672 1115844.768 0, 1204410.875 1110269.222 0,
+ 1204663.078 1104693.681 0))
+
+POLYGON ((1216909.065 1116439.566 0, 1216644.7 1116426.867 0, 1216379.083 1116414.123 0, 1216113.466 1116401.396 0, 1215847.848 1116388.683 0, 1215582.229 1116375.987 0, 1215316.609 1116363.306 0, 1215050.989 1116350.641 0, 1214785.368 1116337.991 0, 1214519.746 1116325.357 0,
+ 1214254.124 1116312.739 0, 1213988.5 1116300.136 0, 1213722.876 1116287.549 0, 1213457.251 1116274.977 0, 1213191.626 1116262.421 0, 1212926 1116249.881 0, 1212660.373 1116237.357 0, 1212394.745 1116224.848 0, 1212129.116 1116212.354 0, 1211863.487 1116199.877 0,
+ 1211597.857 1116187.415 0, 1211332.227 1116174.968 0, 1211066.595 1116162.537 0, 1210800.963 1116150.122 0, 1210534.079 1116137.664 0, 1210269.697 1116125.339 0, 1210004.062 1116112.971 0, 1209738.427 1116100.618 0, 1209472.791 1116088.281 0, 1209207.155 1116075.96 0,
+ 1208941.518 1116063.654 0, 1208675.88 1116051.364 0, 1208410.241 1116039.09 0, 1208144.602 1116026.831 0, 1207878.961 1116014.588 0, 1207613.321 1116002.36 0, 1207347.679 1115990.148 0, 1207082.037 1115977.952 0, 1206816.394 1115965.771 0, 1206550.75 1115953.606 0,
+ 1206285.106 1115941.457 0, 1206019.461 1115929.323 0, 1205753.815 1115917.205 0, 1205488.168 1115905.103 0, 1205222.521 1115893.016 0, 1204956.873 1115880.945 0, 1204691.224 1115868.889 0, 1204425.575 1115856.849 0, 1204158.672 1115844.768 0, 1203906.469 1121420.315 0,
+ 1203654.266 1126995.858 0, 1203920.509 1127007.909 0, 1204185.502 1127019.919 0, 1204450.495 1127031.944 0, 1204715.487 1127043.986 0, 1204980.477 1127056.043 0, 1205245.468 1127068.115 0, 1205510.457 1127080.203 0, 1205775.446 1127092.307 0, 1206040.434 1127104.427 0,
+ 1206305.422 1127116.561 0, 1206570.408 1127128.712 0, 1206835.394 1127140.878 0, 1207100.38 1127153.06 0, 1207365.364 1127165.257 0, 1207630.348 1127177.47 0, 1207895.331 1127189.699 0, 1208160.313 1127201.943 0, 1208425.295 1127214.202 0, 1208690.276 1127226.478 0,
+ 1208955.256 1127238.769 0, 1209220.236 1127251.075 0, 1209485.214 1127263.397 0, 1209750.192 1127275.735 0, 1210013.921 1127288.03 0, 1210280.146 1127300.457 0, 1210545.122 1127312.841 0, 1210810.097 1127325.242 0, 1211075.072 1127337.657 0, 1211340.045 1127350.088 0,
+ 1211605.018 1127362.535 0, 1211869.991 1127374.998 0, 1212134.962 1127387.476 0, 1212399.933 1127399.969 0, 1212664.903 1127412.479 0, 1212929.872 1127425.003 0, 1213194.84 1127437.544 0, 1213459.808 1127450.1 0, 1213724.775 1127462.672 0, 1213989.742 1127475.259 0,
+ 1214254.707 1127487.862 0, 1214519.672 1127500.48 0, 1214784.636 1127513.114 0, 1215049.599 1127525.764 0, 1215314.562 1127538.429 0, 1215579.524 1127551.11 0, 1215844.485 1127563.806 0, 1216109.445 1127576.518 0, 1216373.157 1127589.186 0, 1216641.111 1122014.378 0,
+ 1216909.065 1116439.566 0))
+
+POLYGON ((1229090.322 1128218.444 0, 1228826.644 1128205.032 0, 1228561.721 1128191.571 0, 1228296.797 1128178.126 0, 1228031.872 1128164.697 0, 1227766.946 1128151.283 0, 1227502.02 1128137.885 0, 1227237.092 1128124.503 0, 1226972.164 1128111.136 0, 1226707.235 1128097.784 0,
+ 1226442.306 1128084.449 0, 1226177.375 1128071.128 0, 1225912.444 1128057.824 0, 1225647.512 1128044.535 0, 1225382.579 1128031.262 0, 1225117.646 1128018.004 0, 1224852.711 1128004.762 0, 1224587.776 1127991.535 0, 1224322.84 1127978.324 0, 1224057.903 1127965.129 0,
+ 1223792.966 1127951.949 0, 1223528.028 1127938.785 0, 1223263.089 1127925.636 0, 1222998.149 1127912.503 0, 1222731.962 1127899.324 0, 1222468.267 1127886.284 0, 1222203.325 1127873.197 0, 1221938.382 1127860.127 0, 1221673.438 1127847.072 0, 1221408.494 1127834.032 0,
+ 1221143.549 1127821.008 0, 1220878.603 1127808 0, 1220613.656 1127795.007 0, 1220348.708 1127782.03 0, 1220083.76 1127769.069 0, 1219818.811 1127756.123 0, 1219553.861 1127743.193 0, 1219288.911 1127730.278 0, 1219023.959 1127717.379 0, 1218759.007 1127704.495 0,
+ 1218494.055 1127691.627 0, 1218229.101 1127678.775 0, 1217964.147 1127665.938 0, 1217699.192 1127653.117 0, 1217434.236 1127640.312 0, 1217169.279 1127627.522 0, 1216904.322 1127614.747 0, 1216639.364 1127601.989 0, 1216373.157 1127589.186 0, 1216105.204 1133163.985 0,
+ 1215837.251 1138738.771 0, 1216102.798 1138751.542 0, 1216367.1 1138764.269 0, 1216631.401 1138777.012 0, 1216895.702 1138789.77 0, 1217160.001 1138802.544 0, 1217424.3 1138815.334 0, 1217688.598 1138828.139 0, 1217952.896 1138840.959 0, 1218217.192 1138853.795 0,
+ 1218481.488 1138866.647 0, 1218745.783 1138879.514 0, 1219010.077 1138892.397 0, 1219274.371 1138905.295 0, 1219538.664 1138918.209 0, 1219802.956 1138931.138 0, 1220067.247 1138944.083 0, 1220331.538 1138957.044 0, 1220595.827 1138970.02 0, 1220860.116 1138983.011 0,
+ 1221124.405 1138996.018 0, 1221388.692 1139009.041 0, 1221652.979 1139022.079 0, 1221917.265 1139035.133 0, 1222180.307 1139048.141 0, 1222445.834 1139061.288 0, 1222710.118 1139074.388 0, 1222974.401 1139087.504 0, 1223238.683 1139100.636 0, 1223502.964 1139113.783 0,
+ 1223767.245 1139126.946 0, 1224031.524 1139140.124 0, 1224295.803 1139153.318 0, 1224560.081 1139166.527 0, 1224824.359 1139179.752 0, 1225088.635 1139192.993 0, 1225352.911 1139206.249 0, 1225617.186 1139219.52 0, 1225881.461 1139232.807 0, 1226145.734 1139246.11 0,
+ 1226410.007 1139259.428 0, 1226674.279 1139272.762 0, 1226938.55 1139286.111 0, 1227202.82 1139299.476 0, 1227467.09 1139312.857 0, 1227731.359 1139326.253 0, 1227995.627 1139339.665 0, 1228259.894 1139353.092 0, 1228522.918 1139366.471 0, 1228806.62 1133792.464 0,
+ 1229090.322 1128218.444 0))
+
+POLYGON ((1241206.761 1140030.008 0, 1240943.774 1140015.886 0, 1240679.546 1140001.712 0, 1240415.317 1139987.554 0, 1240151.087 1139973.411 0, 1239886.856 1139959.284 0, 1239622.624 1139945.173 0, 1239358.392 1139931.077 0, 1239094.159 1139916.996 0, 1238829.925 1139902.932 0,
+ 1238565.69 1139888.882 0, 1238301.454 1139874.849 0, 1238037.218 1139860.83 0, 1237772.98 1139846.828 0, 1237508.742 1139832.841 0, 1237244.503 1139818.869 0, 1236980.263 1139804.913 0, 1236716.023 1139790.973 0, 1236451.781 1139777.048 0, 1236187.539 1139763.139 0,
+ 1235923.296 1139749.245 0, 1235659.052 1139735.367 0, 1235394.807 1139721.504 0, 1235130.562 1139707.657 0, 1234865.074 1139693.76 0, 1234602.068 1139680.009 0, 1234337.82 1139666.209 0, 1234073.571 1139652.424 0, 1233809.322 1139638.655 0, 1233545.071 1139624.901 0,
+ 1233280.82 1139611.163 0, 1233016.568 1139597.44 0, 1232752.315 1139583.733 0, 1232488.061 1139570.041 0, 1232223.807 1139556.365 0, 1231959.552 1139542.705 0, 1231695.296 1139529.06 0, 1231431.039 1139515.431 0, 1231166.781 1139501.817 0, 1230902.523 1139488.219 0,
+ 1230638.263 1139474.636 0, 1230374.003 1139461.069 0, 1230109.742 1139447.517 0, 1229845.481 1139433.981 0, 1229581.218 1139420.461 0, 1229316.955 1139406.956 0, 1229052.691 1139393.466 0, 1228788.426 1139379.993 0, 1228522.918 1139366.471 0, 1228239.218 1144940.461 0,
+ 1227955.518 1150514.428 0, 1228220.367 1150527.916 0, 1228483.976 1150541.356 0, 1228747.584 1150554.812 0, 1229011.191 1150568.283 0, 1229274.797 1150581.77 0, 1229538.403 1150595.273 0, 1229802.007 1150608.791 0, 1230065.611 1150622.324 0, 1230329.214 1150635.873 0,
+ 1230592.817 1150649.438 0, 1230856.418 1150663.018 0, 1231120.019 1150676.613 0, 1231383.619 1150690.224 0, 1231647.218 1150703.851 0, 1231910.816 1150717.493 0, 1232174.414 1150731.15 0, 1232438.011 1150744.823 0, 1232701.607 1150758.512 0, 1232965.202 1150772.216 0,
+ 1233228.796 1150785.936 0, 1233492.39 1150799.671 0, 1233755.982 1150813.421 0, 1234019.574 1150827.188 0, 1234281.927 1150840.905 0, 1234546.755 1150854.766 0, 1234810.345 1150868.579 0, 1235073.934 1150882.407 0, 1235337.521 1150896.251 0, 1235601.108 1150910.11 0,
+ 1235864.695 1150923.985 0, 1236128.28 1150937.875 0, 1236391.865 1150951.781 0, 1236655.448 1150965.703 0, 1236919.031 1150979.639 0, 1237182.613 1150993.592 0, 1237446.195 1151007.56 0, 1237709.775 1151021.543 0, 1237973.355 1151035.542 0, 1238236.933 1151049.556 0,
+ 1238500.511 1151063.586 0, 1238764.089 1151077.632 0, 1239027.665 1151091.693 0, 1239291.24 1151105.769 0, 1239554.815 1151119.861 0, 1239818.389 1151133.968 0, 1240081.962 1151148.091 0, 1240345.534 1151162.23 0, 1240607.869 1151176.317 0, 1240907.314 1145603.174 0,
+ 1241206.761 1140030.008 0))
+
+POLYGON ((1253258.298 1151873.95 0, 1252996.003 1151859.121 0, 1252732.472 1151844.238 0, 1252468.939 1151829.37 0, 1252205.407 1151814.518 0, 1251941.873 1151799.682 0, 1251678.338 1151784.861 0, 1251414.803 1151770.055 0, 1251151.266 1151755.265 0, 1250887.729 1151740.49 0,
+ 1250624.191 1151725.731 0, 1250360.652 1151710.988 0, 1250097.112 1151696.26 0, 1249833.571 1151681.548 0, 1249570.029 1151666.851 0, 1249306.487 1151652.169 0, 1249042.943 1151637.503 0, 1248779.399 1151622.853 0, 1248515.854 1151608.218 0, 1248252.308 1151593.599 0,
+ 1247988.761 1151578.995 0, 1247725.214 1151564.406 0, 1247461.665 1151549.833 0, 1247198.116 1151535.276 0, 1246933.33 1151520.666 0, 1246671.015 1151506.208 0, 1246407.463 1151491.697 0, 1246143.91 1151477.202 0, 1245880.356 1151462.722 0, 1245616.802 1151448.258 0,
+ 1245353.246 1151433.809 0, 1245089.69 1151419.376 0, 1244826.133 1151404.958 0, 1244562.575 1151390.556 0, 1244299.016 1151376.169 0, 1244035.457 1151361.798 0, 1243771.896 1151347.442 0, 1243508.335 1151333.102 0, 1243244.773 1151318.777 0, 1242981.21 1151304.468 0,
+ 1242717.646 1151290.175 0, 1242454.082 1151275.896 0, 1242190.516 1151261.634 0, 1241926.95 1151247.387 0, 1241663.383 1151233.155 0, 1241399.815 1151218.939 0, 1241136.246 1151204.739 0, 1240872.676 1151190.553 0, 1240607.869 1151176.317 0, 1240308.424 1156749.435 0,
+ 1240008.982 1162322.52 0, 1240273.13 1162336.721 0, 1240536.044 1162350.871 0, 1240798.956 1162365.036 0, 1241061.868 1162379.217 0, 1241324.779 1162393.413 0, 1241587.69 1162407.624 0, 1241850.599 1162421.852 0, 1242113.508 1162436.094 0, 1242376.416 1162450.352 0,
+ 1242639.323 1162464.626 0, 1242902.229 1162478.915 0, 1243165.134 1162493.219 0, 1243428.038 1162507.539 0, 1243690.942 1162521.875 0, 1243953.845 1162536.225 0, 1244216.747 1162550.592 0, 1244479.648 1162564.974 0, 1244742.548 1162579.371 0, 1245005.447 1162593.784 0,
+ 1245268.346 1162608.212 0, 1245531.243 1162622.656 0, 1245794.14 1162637.115 0, 1246057.036 1162651.59 0, 1246318.699 1162666.012 0, 1246582.825 1162680.586 0, 1246845.719 1162695.107 0, 1247108.611 1162709.643 0, 1247371.503 1162724.195 0, 1247634.394 1162738.763 0,
+ 1247897.284 1162753.346 0, 1248160.173 1162767.944 0, 1248423.061 1162782.558 0, 1248685.948 1162797.188 0, 1248948.835 1162811.833 0, 1249211.721 1162826.493 0, 1249474.605 1162841.169 0, 1249737.489 1162855.86 0, 1250000.372 1162870.567 0, 1250263.255 1162885.289 0,
+ 1250526.136 1162900.027 0, 1250789.016 1162914.78 0, 1251051.896 1162929.549 0, 1251314.775 1162944.333 0, 1251577.653 1162959.133 0, 1251840.53 1162973.948 0, 1252103.406 1162988.778 0, 1252366.281 1163003.624 0, 1252627.924 1163018.416 0, 1252943.11 1157446.198 0,
+ 1253258.298 1151873.95 0))
+
+POLYGON ((1265244.85 1163749.96 0, 1264983.248 1163734.429 0, 1264720.415 1163718.84 0, 1264457.582 1163703.267 0, 1264194.748 1163687.709 0, 1263931.913 1163672.167 0, 1263669.077 1163656.64 0, 1263406.24 1163641.129 0, 1263143.403 1163625.633 0, 1262880.564 1163610.153 0,
+ 1262617.724 1163594.688 0, 1262354.884 1163579.238 0, 1262092.043 1163563.804 0, 1261829.2 1163548.386 0, 1261566.357 1163532.983 0, 1261303.513 1163517.595 0, 1261040.668 1163502.223 0, 1260777.822 1163486.867 0, 1260514.975 1163471.526 0, 1260252.128 1163456.2 0,
+ 1259989.279 1163440.89 0, 1259726.429 1163425.595 0, 1259463.579 1163410.316 0, 1259200.728 1163395.052 0, 1258936.645 1163379.732 0, 1258675.022 1163364.571 0, 1258412.168 1163349.353 0, 1258149.313 1163334.152 0, 1257886.458 1163318.965 0, 1257623.601 1163303.794 0,
+ 1257360.743 1163288.639 0, 1257097.885 1163273.499 0, 1256835.026 1163258.374 0, 1256572.165 1163243.265 0, 1256309.304 1163228.172 0, 1256046.442 1163213.093 0, 1255783.579 1163198.031 0, 1255520.715 1163182.984 0, 1255257.851 1163167.952 0, 1254994.985 1163152.936 0,
+ 1254732.119 1163137.935 0, 1254469.251 1163122.95 0, 1254206.383 1163107.98 0, 1253943.514 1163093.025 0, 1253680.644 1163078.087 0, 1253417.773 1163063.163 0, 1253154.901 1163048.255 0, 1252892.029 1163033.363 0, 1252627.924 1163018.416 0, 1252312.739 1168590.598 0,
+ 1251997.557 1174162.74 0, 1252261.003 1174177.649 0, 1252523.22 1174192.505 0, 1252785.436 1174207.375 0, 1253047.651 1174222.262 0, 1253309.865 1174237.163 0, 1253572.078 1174252.08 0, 1253834.29 1174267.013 0, 1254096.502 1174281.961 0, 1254358.712 1174296.924 0,
+ 1254620.922 1174311.903 0, 1254883.131 1174326.897 0, 1255145.339 1174341.906 0, 1255407.546 1174356.932 0, 1255669.752 1174371.972 0, 1255931.957 1174387.028 0, 1256194.161 1174402.099 0, 1256456.365 1174417.186 0, 1256718.567 1174432.288 0, 1256980.769 1174447.406 0,
+ 1257242.97 1174462.539 0, 1257505.17 1174477.688 0, 1257767.369 1174492.852 0, 1258029.567 1174508.031 0, 1258290.537 1174523.155 0, 1258553.96 1174538.436 0, 1258816.156 1174553.662 0, 1259078.35 1174568.903 0, 1259340.544 1174584.159 0, 1259602.737 1174599.431 0,
+ 1259864.929 1174614.719 0, 1260127.12 1174630.022 0, 1260389.31 1174645.34 0, 1260651.499 1174660.674 0, 1260913.687 1174676.023 0, 1261175.874 1174691.387 0, 1261438.061 1174706.767 0, 1261700.246 1174722.163 0, 1261962.431 1174737.574 0, 1262224.615 1174753 0,
+ 1262486.797 1174768.442 0, 1262748.979 1174783.899 0, 1263011.16 1174799.372 0, 1263273.34 1174814.86 0, 1263535.52 1174830.363 0, 1263797.698 1174845.882 0, 1264059.875 1174861.416 0, 1264322.052 1174876.966 0, 1264583.001 1174892.458 0, 1264913.924 1169321.229 0,
+ 1265244.85 1163749.96 0))
+
+POLYGON ((1277166.332 1175657.73 0, 1276905.426 1175641.5 0, 1276643.295 1175625.21 0, 1276381.162 1175608.935 0, 1276119.029 1175592.675 0, 1275856.895 1175576.431 0, 1275594.759 1175560.203 0, 1275332.623 1175543.989 0, 1275070.486 1175527.792 0, 1274808.348 1175511.609 0,
+ 1274546.209 1175495.442 0, 1274284.069 1175479.291 0, 1274021.928 1175463.155 0, 1273759.786 1175447.034 0, 1273497.643 1175430.929 0, 1273235.499 1175414.839 0, 1272973.354 1175398.764 0, 1272711.208 1175382.705 0, 1272449.062 1175366.662 0, 1272186.914 1175350.634 0,
+ 1271924.766 1175334.621 0, 1271662.616 1175318.624 0, 1271400.466 1175302.642 0, 1271138.314 1175286.676 0, 1270874.937 1175270.65 0, 1270614.009 1175254.789 0, 1270351.855 1175238.869 0, 1270089.699 1175222.965 0, 1269827.543 1175207.075 0, 1269565.386 1175191.202 0,
+ 1269303.228 1175175.343 0, 1269041.07 1175159.5 0, 1268778.91 1175143.673 0, 1268516.749 1175127.861 0, 1268254.587 1175112.064 0, 1267992.425 1175096.283 0, 1267730.261 1175080.517 0, 1267468.097 1175064.767 0, 1267205.931 1175049.032 0, 1266943.765 1175033.312 0,
+ 1266681.598 1175017.608 0, 1266419.43 1175001.92 0, 1266157.261 1174986.246 0, 1265895.091 1174970.589 0, 1265632.92 1174954.946 0, 1265370.748 1174939.319 0, 1265108.575 1174923.708 0, 1264846.402 1174908.112 0, 1264583.001 1174892.458 0, 1264252.08 1180463.643 0,
+ 1263921.163 1186034.777 0, 1264183.905 1186050.392 0, 1264445.422 1186065.949 0, 1264706.939 1186081.521 0, 1264968.455 1186097.109 0, 1265229.971 1186112.712 0, 1265491.485 1186128.331 0, 1265752.998 1186143.965 0, 1266014.51 1186159.614 0, 1266276.022 1186175.279 0,
+ 1266537.532 1186190.959 0, 1266799.042 1186206.655 0, 1267060.551 1186222.366 0, 1267322.058 1186238.092 0, 1267583.565 1186253.834 0, 1267845.071 1186269.591 0, 1268106.576 1186285.363 0, 1268368.08 1186301.151 0, 1268629.583 1186316.955 0, 1268891.085 1186332.773 0,
+ 1269152.586 1186348.607 0, 1269414.087 1186364.457 0, 1269675.586 1186380.322 0, 1269937.084 1186396.202 0, 1270197.36 1186412.023 0, 1270460.079 1186428.009 0, 1270721.574 1186443.935 0, 1270983.069 1186459.877 0, 1271244.563 1186475.834 0, 1271506.055 1186491.807 0,
+ 1271767.547 1186507.795 0, 1272029.038 1186523.798 0, 1272290.528 1186539.817 0, 1272552.017 1186555.851 0, 1272813.505 1186571.901 0, 1273074.992 1186587.966 0, 1273336.479 1186604.046 0, 1273597.964 1186620.142 0, 1273859.448 1186636.253 0, 1274120.932 1186652.38 0,
+ 1274382.414 1186668.521 0, 1274643.895 1186684.679 0, 1274905.376 1186700.851 0, 1275166.855 1186717.039 0, 1275428.334 1186733.243 0, 1275689.812 1186749.462 0, 1275951.288 1186765.696 0, 1276212.764 1186781.946 0, 1276473.018 1186798.135 0, 1276819.674 1181227.957 0,
+ 1277166.332 1175657.73 0))
+
+POLYGON ((1289022.667 1187596.95 0, 1288762.457 1187580.026 0, 1288501.029 1187563.038 0, 1288239.599 1187546.065 0, 1287978.168 1187529.107 0, 1287716.736 1187512.165 0, 1287455.304 1187495.238 0, 1287193.87 1187478.327 0, 1286932.435 1187461.431 0, 1286670.999 1187444.55 0,
+ 1286409.562 1187427.685 0, 1286148.125 1187410.835 0, 1285886.686 1187394.001 0, 1285625.246 1187377.182 0, 1285363.806 1187360.378 0, 1285102.364 1187343.59 0, 1284840.921 1187326.817 0, 1284579.477 1187310.06 0, 1284318.033 1187293.318 0, 1284056.587 1187276.591 0,
+ 1283795.141 1187259.88 0, 1283533.693 1187243.184 0, 1283272.244 1187226.503 0, 1283010.795 1187209.838 0, 1282748.124 1187193.111 0, 1282487.893 1187176.554 0, 1282226.44 1187159.935 0, 1281964.987 1187143.331 0, 1281703.532 1187126.743 0, 1281442.077 1187110.17 0,
+ 1281180.62 1187093.613 0, 1280919.163 1187077.071 0, 1280657.704 1187060.544 0, 1280396.245 1187044.033 0, 1280134.785 1187027.537 0, 1279873.324 1187011.057 0, 1279611.861 1186994.591 0, 1279350.398 1186978.142 0, 1279088.934 1186961.707 0, 1278827.469 1186945.289 0,
+ 1278566.003 1186928.885 0, 1278304.535 1186912.497 0, 1278043.067 1186896.124 0, 1277781.598 1186879.767 0, 1277520.128 1186863.425 0, 1277258.657 1186847.098 0, 1276997.186 1186830.787 0, 1276735.713 1186814.491 0, 1276473.018 1186798.135 0, 1276126.366 1192368.258 0,
+ 1275779.717 1197938.323 0, 1276041.753 1197954.639 0, 1276302.57 1197970.894 0, 1276563.386 1197987.164 0, 1276824.202 1198003.45 0, 1277085.016 1198019.751 0, 1277345.829 1198036.067 0, 1277606.642 1198052.399 0, 1277867.453 1198068.746 0, 1278128.263 1198085.108 0,
+ 1278389.073 1198101.486 0, 1278649.881 1198117.879 0, 1278910.689 1198134.287 0, 1279171.496 1198150.711 0, 1279432.301 1198167.15 0, 1279693.106 1198183.605 0, 1279953.91 1198200.075 0, 1280214.712 1198216.56 0, 1280475.514 1198233.06 0, 1280736.315 1198249.576 0,
+ 1280997.115 1198266.108 0, 1281257.914 1198282.654 0, 1281518.711 1198299.216 0, 1281779.508 1198315.793 0, 1282039.087 1198332.309 0, 1282301.099 1198348.994 0, 1282561.893 1198365.618 0, 1282822.686 1198382.256 0, 1283083.478 1198398.91 0, 1283344.269 1198415.58 0,
+ 1283605.059 1198432.264 0, 1283865.848 1198448.965 0, 1284126.636 1198465.68 0, 1284387.423 1198482.411 0, 1284648.209 1198499.157 0, 1284908.994 1198515.918 0, 1285169.779 1198532.695 0, 1285430.562 1198549.488 0, 1285691.344 1198566.295 0, 1285952.125 1198583.118 0,
+ 1286212.905 1198599.956 0, 1286473.684 1198616.81 0, 1286734.463 1198633.679 0, 1286995.24 1198650.563 0, 1287256.016 1198667.463 0, 1287516.791 1198684.378 0, 1287777.565 1198701.308 0, 1288038.339 1198718.254 0, 1288297.895 1198735.136 0, 1288660.279 1193166.072 0,
+ 1289022.667 1187596.95 0))
+
+POLYGON ((1300813.772 1199567.311 0, 1300554.262 1199549.696 0, 1300293.538 1199532.013 0, 1300032.813 1199514.346 0, 1299772.086 1199496.695 0, 1299511.359 1199479.058 0, 1299250.631 1199461.437 0, 1298989.901 1199443.832 0, 1298729.171 1199426.241 0, 1298468.439 1199408.666 0,
+ 1298207.706 1199391.107 0, 1297946.973 1199373.563 0, 1297686.238 1199356.034 0, 1297425.503 1199338.52 0, 1297164.766 1199321.022 0, 1296904.028 1199303.539 0, 1296643.289 1199286.072 0, 1296382.549 1199268.62 0, 1296121.809 1199251.183 0, 1295861.067 1199233.761 0,
+ 1295600.324 1199216.355 0, 1295339.58 1199198.964 0, 1295078.835 1199181.589 0, 1294818.089 1199164.229 0, 1294556.128 1199146.803 0, 1294296.594 1199129.555 0, 1294035.845 1199112.241 0, 1293775.095 1199094.942 0, 1293514.344 1199077.659 0, 1293253.592 1199060.391 0,
+ 1292992.839 1199043.138 0, 1292732.085 1199025.901 0, 1292471.33 1199008.679 0, 1292210.574 1198991.472 0, 1291949.816 1198974.281 0, 1291689.058 1198957.105 0, 1291428.299 1198939.944 0, 1291167.539 1198922.799 0, 1290906.778 1198905.669 0, 1290646.016 1198888.555 0,
+ 1290385.252 1198871.456 0, 1290124.488 1198854.372 0, 1289863.723 1198837.303 0, 1289602.957 1198820.25 0, 1289342.19 1198803.212 0, 1289081.421 1198786.19 0, 1288820.652 1198769.183 0, 1288559.882 1198752.191 0, 1288297.895 1198735.136 0, 1287935.515 1204304.136 0,
+ 1287573.14 1209873.067 0, 1287834.469 1209890.08 0, 1288094.583 1209907.029 0, 1288354.697 1209923.993 0, 1288614.81 1209940.973 0, 1288874.921 1209957.968 0, 1289135.032 1209974.978 0, 1289395.142 1209992.004 0, 1289655.25 1210009.045 0, 1289915.358 1210026.101 0,
+ 1290175.464 1210043.172 0, 1290435.57 1210060.259 0, 1290695.675 1210077.361 0, 1290955.778 1210094.479 0, 1291215.881 1210111.612 0, 1291475.983 1210128.76 0, 1291736.083 1210145.923 0, 1291996.183 1210163.102 0, 1292256.281 1210180.296 0, 1292516.379 1210197.505 0,
+ 1292776.476 1210214.729 0, 1293036.571 1210231.969 0, 1293296.666 1210249.225 0, 1293556.759 1210266.495 0, 1293815.64 1210283.7 0, 1294076.943 1210301.082 0, 1294337.034 1210318.398 0, 1294597.123 1210335.73 0, 1294857.211 1210353.077 0, 1295117.299 1210370.44 0,
+ 1295377.385 1210387.817 0, 1295637.471 1210405.21 0, 1295897.555 1210422.619 0, 1296157.638 1210440.042 0, 1296417.72 1210457.481 0, 1296677.802 1210474.935 0, 1296937.882 1210492.405 0, 1297197.961 1210509.89 0, 1297458.039 1210527.39 0, 1297718.116 1210544.905 0,
+ 1297978.192 1210562.436 0, 1298238.268 1210579.982 0, 1298498.342 1210597.543 0, 1298758.415 1210615.12 0, 1299018.487 1210632.712 0, 1299278.557 1210650.319 0, 1299538.627 1210667.942 0, 1299798.696 1210685.58 0, 1300057.554 1210703.151 0, 1300435.661 1205135.265 0,
+ 1300813.772 1199567.311 0))
+
+POLYGON ((1312539.572 1211568.501 0, 1312280.763 1211550.199 0, 1312020.745 1211531.827 0, 1311760.726 1211513.469 0, 1311500.706 1211495.127 0, 1311240.685 1211476.801 0, 1310980.663 1211458.489 0, 1310720.639 1211440.193 0, 1310460.615 1211421.912 0, 1310200.589 1211403.647 0,
+ 1309940.563 1211385.397 0, 1309680.535 1211367.162 0, 1309420.506 1211348.943 0, 1309160.476 1211330.738 0, 1308900.445 1211312.549 0, 1308640.413 1211294.376 0, 1308380.38 1211276.217 0, 1308120.346 1211258.074 0, 1307860.311 1211239.947 0, 1307600.275 1211221.834 0,
+ 1307340.238 1211203.737 0, 1307080.199 1211185.655 0, 1306820.16 1211167.589 0, 1306560.119 1211149.538 0, 1306298.868 1211131.418 0, 1306040.035 1211113.481 0, 1305779.991 1211095.476 0, 1305519.947 1211077.486 0, 1305259.901 1211059.512 0, 1304999.854 1211041.552 0,
+ 1304739.806 1211023.608 0, 1304479.757 1211005.679 0, 1304219.707 1210987.766 0, 1303959.656 1210969.868 0, 1303699.604 1210951.985 0, 1303439.551 1210934.118 0, 1303179.497 1210916.265 0, 1302919.441 1210898.429 0, 1302659.385 1210880.607 0, 1302399.328 1210862.801 0,
+ 1302139.269 1210845.01 0, 1301879.21 1210827.234 0, 1301619.149 1210809.474 0, 1301359.088 1210791.729 0, 1301099.025 1210773.999 0, 1300838.961 1210756.284 0, 1300578.897 1210738.585 0, 1300318.831 1210720.901 0, 1300057.554 1210703.151 0, 1299679.452 1216270.964 0,
+ 1299301.355 1221838.7 0, 1299561.973 1221856.406 0, 1299821.384 1221874.045 0, 1300080.793 1221891.699 0, 1300340.201 1221909.369 0, 1300599.609 1221927.054 0, 1300859.015 1221944.755 0, 1301118.42 1221962.47 0, 1301377.824 1221980.201 0, 1301637.227 1221997.947 0,
+ 1301896.629 1222015.709 0, 1302156.03 1222033.485 0, 1302415.43 1222051.277 0, 1302674.829 1222069.084 0, 1302934.226 1222086.907 0, 1303193.623 1222104.745 0, 1303453.019 1222122.598 0, 1303712.414 1222140.466 0, 1303971.807 1222158.349 0, 1304231.2 1222176.248 0,
+ 1304490.591 1222194.162 0, 1304749.982 1222212.092 0, 1305009.371 1222230.036 0, 1305268.759 1222247.996 0, 1305526.94 1222265.888 0, 1305787.533 1222283.962 0, 1306046.918 1222301.967 0, 1306306.302 1222319.988 0, 1306565.685 1222338.024 0, 1306825.067 1222356.076 0,
+ 1307084.448 1222374.143 0, 1307343.828 1222392.225 0, 1307603.207 1222410.322 0, 1307862.584 1222428.435 0, 1308121.961 1222446.562 0, 1308381.336 1222464.705 0, 1308640.711 1222482.864 0, 1308900.084 1222501.037 0, 1309159.457 1222519.226 0, 1309418.828 1222537.43 0,
+ 1309678.198 1222555.65 0, 1309937.567 1222573.885 0, 1310196.936 1222592.134 0, 1310456.303 1222610.4 0, 1310715.668 1222628.68 0, 1310975.033 1222646.976 0, 1311234.397 1222665.287 0, 1311493.76 1222683.613 0, 1311751.916 1222701.869 0, 1312145.741 1217135.224 0,
+ 1312539.572 1211568.501 0))
+
+POLYGON ((1324199.989 1223600.211 0, 1323941.884 1223581.225 0, 1323682.574 1223562.166 0, 1323423.263 1223543.123 0, 1323163.951 1223524.094 0, 1322904.637 1223505.081 0, 1322645.323 1223486.083 0, 1322386.007 1223467.101 0, 1322126.691 1223448.133 0, 1321867.373 1223429.181 0,
+ 1321608.054 1223410.244 0, 1321348.734 1223391.323 0, 1321089.413 1223372.416 0, 1320830.091 1223353.525 0, 1320570.768 1223334.649 0, 1320311.443 1223315.789 0, 1320052.118 1223296.944 0, 1319792.791 1223278.114 0, 1319533.464 1223259.299 0, 1319274.135 1223240.499 0,
+ 1319014.805 1223221.715 0, 1318755.474 1223202.946 0, 1318496.142 1223184.193 0, 1318236.808 1223165.454 0, 1317976.27 1223146.644 0, 1317718.139 1223128.023 0, 1317458.802 1223109.331 0, 1317199.464 1223090.653 0, 1316940.126 1223071.991 0, 1316680.786 1223053.344 0,
+ 1316421.445 1223034.713 0, 1316162.103 1223016.096 0, 1315902.76 1222997.495 0, 1315643.416 1222978.91 0, 1315384.07 1222960.339 0, 1315124.724 1222941.784 0, 1314865.376 1222923.244 0, 1314606.028 1222904.719 0, 1314346.678 1222886.21 0, 1314087.327 1222867.715 0,
+ 1313827.975 1222849.237 0, 1313568.622 1222830.773 0, 1313309.268 1222812.324 0, 1313049.913 1222793.891 0, 1312790.557 1222775.473 0, 1312531.2 1222757.071 0, 1312271.841 1222738.684 0, 1312012.482 1222720.311 0, 1311751.916 1222701.869 0, 1311358.097 1228268.432 0,
+ 1310964.284 1233834.909 0, 1311224.191 1233853.304 0, 1311482.895 1233871.63 0, 1311741.598 1233889.971 0, 1312000.3 1233908.327 0, 1312259.001 1233926.698 0, 1312517.701 1233945.085 0, 1312776.4 1233963.486 0, 1313035.098 1233981.903 0, 1313293.794 1234000.336 0,
+ 1313552.49 1234018.783 0, 1313811.184 1234037.246 0, 1314069.878 1234055.724 0, 1314328.57 1234074.217 0, 1314587.261 1234092.725 0, 1314845.951 1234111.249 0, 1315104.64 1234129.788 0, 1315363.328 1234148.342 0, 1315622.015 1234166.911 0, 1315880.701 1234185.495 0,
+ 1316139.385 1234204.095 0, 1316398.069 1234222.71 0, 1316656.751 1234241.34 0, 1316915.433 1234259.986 0, 1317172.912 1234278.56 0, 1317432.792 1234297.322 0, 1317691.47 1234316.013 0, 1317950.147 1234334.719 0, 1318208.823 1234353.441 0, 1318467.498 1234372.178 0,
+ 1318726.171 1234390.93 0, 1318984.844 1234409.697 0, 1319243.515 1234428.479 0, 1319502.186 1234447.277 0, 1319760.855 1234466.09 0, 1320019.523 1234484.918 0, 1320278.19 1234503.761 0, 1320536.856 1234522.62 0, 1320795.52 1234541.494 0, 1321054.184 1234560.383 0,
+ 1321312.847 1234579.287 0, 1321571.508 1234598.206 0, 1321830.168 1234617.141 0, 1322088.828 1234636.091 0, 1322347.486 1234655.056 0, 1322606.143 1234674.036 0, 1322864.799 1234693.032 0, 1323123.453 1234712.043 0, 1323380.907 1234730.98 0, 1323790.445 1229165.639 0,
+ 1324199.989 1223600.211 0))
+
+POLYGON ((1335794.95 1235662.128 0, 1335537.548 1235642.463 0, 1335278.948 1235622.721 0, 1335020.347 1235602.995 0, 1334761.745 1235583.284 0, 1334503.141 1235563.588 0, 1334244.537 1235543.908 0, 1333985.931 1235524.242 0, 1333727.324 1235504.592 0, 1333468.716 1235484.957 0,
+ 1333210.107 1235465.338 0, 1332951.496 1235445.733 0, 1332692.885 1235426.144 0, 1332434.272 1235406.57 0, 1332175.658 1235387.011 0, 1331917.043 1235367.467 0, 1331658.427 1235347.939 0, 1331399.809 1235328.426 0, 1331141.191 1235308.928 0, 1330882.571 1235289.445 0,
+ 1330623.95 1235269.978 0, 1330365.329 1235250.526 0, 1330106.705 1235231.089 0, 1329848.081 1235211.667 0, 1329588.257 1235192.17 0, 1329330.829 1235172.869 0, 1329072.202 1235153.493 0, 1328813.573 1235134.132 0, 1328554.943 1235114.786 0, 1328296.312 1235095.455 0,
+ 1328037.68 1235076.14 0, 1327779.047 1235056.84 0, 1327520.412 1235037.555 0, 1327261.776 1235018.286 0, 1327003.14 1234999.031 0, 1326744.502 1234979.792 0, 1326485.863 1234960.568 0, 1326227.223 1234941.36 0, 1325968.582 1234922.166 0, 1325709.939 1234902.988 0,
+ 1325451.296 1234883.825 0, 1325192.651 1234864.677 0, 1324934.005 1234845.545 0, 1324675.358 1234826.427 0, 1324416.71 1234807.325 0, 1324158.061 1234788.238 0, 1323899.411 1234769.166 0, 1323640.76 1234750.11 0, 1323380.907 1234730.98 0, 1322971.376 1240296.23 0,
+ 1322561.852 1245861.383 0, 1322821.046 1245880.464 0, 1323079.042 1245899.472 0, 1323337.038 1245918.496 0, 1323595.032 1245937.534 0, 1323853.025 1245956.588 0, 1324111.016 1245975.657 0, 1324369.007 1245994.741 0, 1324626.997 1246013.84 0, 1324884.985 1246032.955 0,
+ 1325142.972 1246052.085 0, 1325400.958 1246071.229 0, 1325658.943 1246090.389 0, 1325916.927 1246109.565 0, 1326174.91 1246128.755 0, 1326432.892 1246147.961 0, 1326690.872 1246167.182 0, 1326948.852 1246186.417 0, 1327206.83 1246205.669 0, 1327464.807 1246224.935 0,
+ 1327722.783 1246244.216 0, 1327980.758 1246263.513 0, 1328238.732 1246282.825 0, 1328496.704 1246302.152 0, 1328753.48 1246321.405 0, 1329012.646 1246340.852 0, 1329270.615 1246360.224 0, 1329528.583 1246379.612 0, 1329786.55 1246399.015 0, 1330044.516 1246418.433 0,
+ 1330302.48 1246437.867 0, 1330560.444 1246457.315 0, 1330818.406 1246476.779 0, 1331076.367 1246496.258 0, 1331334.327 1246515.752 0, 1331592.286 1246535.261 0, 1331850.244 1246554.786 0, 1332108.201 1246574.325 0, 1332366.156 1246593.88 0, 1332624.11 1246613.45 0,
+ 1332882.063 1246633.035 0, 1333140.015 1246652.636 0, 1333397.966 1246672.251 0, 1333655.916 1246691.882 0, 1333913.864 1246711.528 0, 1334171.812 1246731.189 0, 1334429.758 1246750.865 0, 1334687.703 1246770.557 0, 1334944.452 1246790.172 0, 1335369.697 1241226.198 0,
+ 1335794.95 1235662.128 0))
+
+POLYGON ((1347324.379 1247753.941 0, 1347067.684 1247733.6 0, 1346809.796 1247713.18 0, 1346551.906 1247692.775 0, 1346294.015 1247672.385 0, 1346036.123 1247652.01 0, 1345778.23 1247631.651 0, 1345520.336 1247611.307 0, 1345262.44 1247590.978 0, 1345004.544 1247570.664 0,
+ 1344746.646 1247550.365 0, 1344488.747 1247530.082 0, 1344230.846 1247509.813 0, 1343972.945 1247489.56 0, 1343715.042 1247469.322 0, 1343457.138 1247449.099 0, 1343199.233 1247428.892 0, 1342941.327 1247408.699 0, 1342683.419 1247388.522 0, 1342425.51 1247368.36 0,
+ 1342167.601 1247348.213 0, 1341909.69 1247328.081 0, 1341651.777 1247307.965 0, 1341393.864 1247287.864 0, 1341134.756 1247267.684 0, 1340878.034 1247247.706 0, 1340620.117 1247227.651 0, 1340362.199 1247207.61 0, 1340104.279 1247187.584 0, 1339846.359 1247167.574 0,
+ 1339588.437 1247147.579 0, 1339330.514 1247127.599 0, 1339072.59 1247107.634 0, 1338814.665 1247087.685 0, 1338556.739 1247067.751 0, 1338298.811 1247047.831 0, 1338040.882 1247027.927 0, 1337782.952 1247008.039 0, 1337525.021 1246988.165 0, 1337267.089 1246968.306 0,
+ 1337009.156 1246948.463 0, 1336751.221 1246928.635 0, 1336493.286 1246908.822 0, 1336235.349 1246889.024 0, 1335977.411 1246869.242 0, 1335719.471 1246849.475 0, 1335461.531 1246829.722 0, 1335203.589 1246809.985 0, 1334944.452 1246790.172 0, 1334519.215 1252354.045 0,
+ 1334093.986 1257917.811 0, 1334352.465 1257937.574 0, 1334609.752 1257957.261 0, 1334867.037 1257976.963 0, 1335124.321 1257996.68 0, 1335381.604 1258016.412 0, 1335638.886 1258036.16 0, 1335896.167 1258055.922 0, 1336153.447 1258075.7 0, 1336410.725 1258095.493 0,
+ 1336668.003 1258115.301 0, 1336925.279 1258135.124 0, 1337182.554 1258154.963 0, 1337439.828 1258174.816 0, 1337697.1 1258194.685 0, 1337954.372 1258214.569 0, 1338211.642 1258234.467 0, 1338468.911 1258254.381 0, 1338726.179 1258274.311 0, 1338983.446 1258294.255 0,
+ 1339240.711 1258314.214 0, 1339497.976 1258334.189 0, 1339755.239 1258354.179 0, 1340012.501 1258374.184 0, 1340268.572 1258394.111 0, 1340527.022 1258414.239 0, 1340784.28 1258434.289 0, 1341041.538 1258454.355 0, 1341298.794 1258474.435 0, 1341556.049 1258494.531 0,
+ 1341813.303 1258514.642 0, 1342070.555 1258534.768 0, 1342327.807 1258554.909 0, 1342585.057 1258575.065 0, 1342842.306 1258595.237 0, 1343099.554 1258615.423 0, 1343356.8 1258635.625 0, 1343614.046 1258655.842 0, 1343871.29 1258676.074 0, 1344128.533 1258696.321 0,
+ 1344385.775 1258716.583 0, 1344643.016 1258736.861 0, 1344900.256 1258757.153 0, 1345157.494 1258777.461 0, 1345414.731 1258797.784 0, 1345671.967 1258818.122 0, 1345929.202 1258838.475 0, 1346186.435 1258858.843 0, 1346442.478 1258879.133 0, 1346883.424 1253316.59 0,
+ 1347324.379 1247753.941 0))
+
+POLYGON ((1358788.206 1259875.337 0, 1358532.219 1259854.324 0, 1358275.044 1259833.229 0, 1358017.868 1259812.149 0, 1357760.69 1259791.085 0, 1357503.512 1259770.035 0, 1357246.332 1259749.001 0, 1356989.151 1259727.982 0, 1356731.968 1259706.978 0, 1356474.785 1259685.989 0,
+ 1356217.6 1259665.015 0, 1355960.414 1259644.056 0, 1355703.226 1259623.113 0, 1355446.038 1259602.184 0, 1355188.848 1259581.271 0, 1354931.657 1259560.373 0, 1354674.464 1259539.49 0, 1354417.271 1259518.622 0, 1354160.076 1259497.769 0, 1353902.88 1259476.932 0,
+ 1353645.683 1259456.109 0, 1353388.485 1259435.302 0, 1353131.285 1259414.51 0, 1352874.084 1259393.733 0, 1352615.694 1259372.875 0, 1352359.679 1259352.224 0, 1352102.474 1259331.492 0, 1351845.268 1259310.776 0, 1351588.062 1259290.074 0, 1351330.853 1259269.388 0,
+ 1351073.644 1259248.717 0, 1350816.433 1259228.061 0, 1350559.221 1259207.42 0, 1350302.008 1259186.795 0, 1350044.794 1259166.184 0, 1349787.579 1259145.589 0, 1349530.362 1259125.009 0, 1349273.144 1259104.444 0, 1349015.925 1259083.894 0, 1348758.705 1259063.359 0,
+ 1348501.483 1259042.839 0, 1348244.26 1259022.335 0, 1347987.037 1259001.845 0, 1347729.811 1258981.371 0, 1347472.585 1258960.912 0, 1347215.357 1258940.468 0, 1346958.129 1258920.039 0, 1346700.899 1258899.625 0, 1346442.478 1258879.133 0, 1346001.541 1264441.564 0,
+ 1345560.613 1270003.881 0, 1345818.376 1270024.321 0, 1346074.951 1270044.683 0, 1346331.525 1270065.06 0, 1346588.097 1270085.452 0, 1346844.669 1270105.859 0, 1347101.239 1270126.281 0, 1347357.809 1270146.718 0, 1347614.377 1270167.17 0, 1347870.943 1270187.638 0,
+ 1348127.509 1270208.12 0, 1348384.073 1270228.618 0, 1348640.636 1270249.131 0, 1348897.198 1270269.659 0, 1349153.759 1270290.202 0, 1349410.319 1270310.76 0, 1349666.877 1270331.333 0, 1349923.434 1270351.921 0, 1350179.99 1270372.524 0, 1350436.545 1270393.143 0,
+ 1350693.098 1270413.776 0, 1350949.65 1270434.425 0, 1351206.201 1270455.089 0, 1351462.751 1270475.768 0, 1351718.115 1270496.366 0, 1351975.847 1270517.171 0, 1352232.393 1270537.895 0, 1352488.938 1270558.634 0, 1352745.482 1270579.388 0, 1353002.024 1270600.158 0,
+ 1353258.566 1270620.942 0, 1353515.106 1270641.742 0, 1353771.645 1270662.557 0, 1354028.182 1270683.387 0, 1354284.719 1270704.232 0, 1354541.254 1270725.092 0, 1354797.788 1270745.967 0, 1355054.32 1270766.857 0, 1355310.852 1270787.762 0, 1355567.382 1270808.683 0,
+ 1355823.911 1270829.618 0, 1356080.439 1270850.569 0, 1356336.965 1270871.535 0, 1356593.491 1270892.516 0, 1356850.015 1270913.511 0, 1357106.537 1270934.523 0, 1357363.059 1270955.549 0, 1357619.579 1270976.59 0, 1357874.914 1270997.549 0, 1358331.555 1265436.501 0,
+ 1358788.206 1259875.337 0))
+
+POLYGON ((1370186.36 1272026.004 0, 1369931.083 1272004.323 0, 1369674.623 1271982.557 0, 1369418.162 1271960.806 0, 1369161.699 1271939.071 0, 1368905.235 1271917.35 0, 1368648.77 1271895.645 0, 1368392.304 1271873.954 0, 1368135.837 1271852.279 0, 1367879.368 1271830.619 0,
+ 1367622.898 1271808.974 0, 1367366.426 1271787.344 0, 1367109.954 1271765.729 0, 1366853.48 1271744.129 0, 1366597.005 1271722.544 0, 1366340.528 1271700.975 0, 1366084.05 1271679.42 0, 1365827.571 1271657.881 0, 1365571.091 1271636.356 0, 1365314.61 1271614.847 0,
+ 1365058.127 1271593.353 0, 1364801.643 1271571.874 0, 1364545.157 1271550.41 0, 1364288.671 1271528.961 0, 1364031 1271507.429 0, 1363775.694 1271486.109 0, 1363519.204 1271464.705 0, 1363262.712 1271443.317 0, 1363006.219 1271421.943 0, 1362749.725 1271400.585 0,
+ 1362493.23 1271379.242 0, 1362236.733 1271357.914 0, 1361980.235 1271336.601 0, 1361723.736 1271315.303 0, 1361467.235 1271294.02 0, 1361210.734 1271272.752 0, 1360954.231 1271251.5 0, 1360697.727 1271230.262 0, 1360441.221 1271209.04 0, 1360184.715 1271187.833 0,
+ 1359928.207 1271166.64 0, 1359671.697 1271145.463 0, 1359415.187 1271124.301 0, 1359158.675 1271103.154 0, 1358902.162 1271082.022 0, 1358645.648 1271060.906 0, 1358389.133 1271039.804 0, 1358132.616 1271018.718 0, 1357874.914 1270997.549 0, 1357418.283 1276558.476 0,
+ 1356961.663 1282119.278 0, 1357218.707 1282140.393 0, 1357474.569 1282161.426 0, 1357730.43 1282182.473 0, 1357986.289 1282203.536 0, 1358242.148 1282224.614 0, 1358498.005 1282245.707 0, 1358753.861 1282266.815 0, 1359009.715 1282287.938 0, 1359265.568 1282309.076 0,
+ 1359521.421 1282330.23 0, 1359777.271 1282351.398 0, 1360033.121 1282372.581 0, 1360288.969 1282393.779 0, 1360544.817 1282414.993 0, 1360800.662 1282436.221 0, 1361056.507 1282457.465 0, 1361312.35 1282478.723 0, 1361568.192 1282499.997 0, 1361824.033 1282521.286 0,
+ 1362079.873 1282542.59 0, 1362335.711 1282563.908 0, 1362591.548 1282585.242 0, 1362847.384 1282606.591 0, 1363102.039 1282627.857 0, 1363359.052 1282649.334 0, 1363614.884 1282670.728 0, 1363870.715 1282692.138 0, 1364126.544 1282713.562 0, 1364382.373 1282735.001 0,
+ 1364638.2 1282756.456 0, 1364894.026 1282777.925 0, 1365149.85 1282799.409 0, 1365405.673 1282820.909 0, 1365661.495 1282842.424 0, 1365917.316 1282863.953 0, 1366173.135 1282885.498 0, 1366428.954 1282907.058 0, 1366684.77 1282928.632 0, 1366940.586 1282950.222 0,
+ 1367196.4 1282971.827 0, 1367452.213 1282993.447 0, 1367708.025 1283015.082 0, 1367963.836 1283036.732 0, 1368219.645 1283058.397 0, 1368475.453 1283080.078 0, 1368731.26 1283101.773 0, 1368987.065 1283123.483 0, 1369241.691 1283145.108 0, 1369714.02 1277585.619 0,
+ 1370186.36 1272026.004 0))
+
+POLYGON ((836268.277 801579.544 0, 835985.531 801589.142 0, 835701.384 801598.804 0, 835417.238 801608.482 0, 835133.093 801618.178 0, 834848.948 801627.89 0, 834564.803 801637.619 0, 834280.66 801647.364 0, 833996.516 801657.126 0, 833712.374 801666.905 0,
+ 833428.232 801676.701 0, 833144.09 801686.514 0, 832859.949 801696.343 0, 832575.809 801706.189 0, 832291.669 801716.051 0, 832007.53 801725.931 0, 831723.391 801735.827 0, 831439.253 801745.739 0, 831155.116 801755.669 0, 830870.979 801765.615 0,
+ 830586.843 801775.578 0, 830302.707 801785.558 0, 830018.572 801795.554 0, 829734.438 801805.567 0, 829448.902 801815.647 0, 829166.17 801825.644 0, 828882.038 801835.707 0, 828597.906 801845.787 0, 828313.774 801855.884 0, 828029.643 801865.997 0,
+ 827745.513 801876.128 0, 827461.383 801886.274 0, 827177.254 801896.438 0, 826893.125 801906.618 0, 826608.997 801916.816 0, 826324.87 801927.029 0, 826040.743 801937.26 0, 825756.617 801947.507 0, 825472.491 801957.771 0, 825188.367 801968.052 0,
+ 824904.242 801978.349 0, 824620.118 801988.663 0, 824335.995 801998.994 0, 824051.873 802009.342 0, 823767.751 802019.706 0, 823483.63 802030.087 0, 823199.509 802040.485 0, 822915.389 802050.9 0, 822629.866 802061.382 0, 822834.57 807632.456 0,
+ 823039.281 813203.75 0, 823324.144 813193.292 0, 823607.608 813182.901 0, 823891.073 813172.527 0, 824174.539 813162.17 0, 824458.005 813151.83 0, 824741.472 813141.506 0, 825024.939 813131.199 0, 825308.407 813120.909 0, 825591.875 813110.635 0,
+ 825875.344 813100.378 0, 826158.814 813090.138 0, 826442.284 813079.914 0, 826725.755 813069.707 0, 827009.227 813059.517 0, 827292.699 813049.344 0, 827576.172 813039.187 0, 827859.645 813029.047 0, 828143.119 813018.923 0, 828426.593 813008.816 0,
+ 828710.068 812998.726 0, 828993.544 812988.653 0, 829277.02 812978.596 0, 829560.497 812968.556 0, 829842.576 812958.582 0, 830127.453 812948.526 0, 830410.931 812938.536 0, 830694.411 812928.562 0, 830977.891 812918.606 0, 831261.371 812908.666 0,
+ 831544.852 812898.743 0, 831828.334 812888.836 0, 832111.816 812878.946 0, 832395.298 812869.073 0, 832678.782 812859.216 0, 832962.266 812849.376 0, 833245.75 812839.553 0, 833529.235 812829.747 0, 833812.721 812819.957 0, 834096.207 812810.184 0,
+ 834379.694 812800.428 0, 834663.181 812790.688 0, 834946.669 812780.965 0, 835230.158 812771.258 0, 835513.647 812761.569 0, 835797.136 812751.896 0, 836080.626 812742.239 0, 836364.117 812732.6 0, 836646.211 812723.024 0, 836457.24 807151.173 0,
+ 836268.277 801579.544 0))
+
+POLYGON ((850254.445 812280.742 0, 849972.323 812289.521 0, 849688.806 812298.359 0, 849405.29 812307.215 0, 849121.774 812316.087 0, 848838.259 812324.976 0, 848554.744 812333.881 0, 848271.23 812342.803 0, 847987.716 812351.742 0, 847704.203 812360.697 0,
+ 847420.69 812369.67 0, 847137.178 812378.658 0, 846853.666 812387.664 0, 846570.155 812396.686 0, 846286.644 812405.725 0, 846003.134 812414.781 0, 845719.625 812423.853 0, 845436.116 812432.942 0, 845152.608 812442.048 0, 844869.1 812451.17 0,
+ 844585.592 812460.309 0, 844302.085 812469.465 0, 844018.579 812478.637 0, 843735.073 812487.826 0, 843450.172 812497.077 0, 843168.064 812506.254 0, 842884.559 812515.494 0, 842601.056 812524.75 0, 842317.553 812534.022 0, 842034.05 812543.311 0,
+ 841750.549 812552.617 0, 841467.047 812561.94 0, 841183.546 812571.279 0, 840900.046 812580.635 0, 840616.546 812590.008 0, 840333.047 812599.397 0, 840049.549 812608.803 0, 839766.05 812618.226 0, 839482.553 812627.665 0, 839199.056 812637.121 0,
+ 838915.56 812646.594 0, 838632.064 812656.083 0, 838348.568 812665.59 0, 838065.074 812675.112 0, 837781.58 812684.652 0, 837498.086 812694.208 0, 837214.593 812703.781 0, 836931.1 812713.371 0, 836646.211 812723.024 0, 836835.189 818295.093 0,
+ 837024.174 823867.376 0, 837308.404 823857.744 0, 837591.241 823848.177 0, 837874.078 823838.626 0, 838156.916 823829.092 0, 838439.754 823819.575 0, 838722.593 823810.074 0, 839005.432 823800.59 0, 839288.272 823791.122 0, 839571.112 823781.672 0,
+ 839853.953 823772.237 0, 840136.795 823762.82 0, 840419.637 823753.419 0, 840702.48 823744.035 0, 840985.323 823734.667 0, 841268.167 823725.316 0, 841551.011 823715.982 0, 841833.856 823706.664 0, 842116.701 823697.363 0, 842399.547 823688.079 0,
+ 842682.394 823678.811 0, 842965.241 823669.56 0, 843248.088 823660.325 0, 843530.937 823651.108 0, 843812.392 823641.952 0, 844096.635 823632.722 0, 844379.484 823623.554 0, 844662.335 823614.403 0, 844945.185 823605.268 0, 845228.037 823596.151 0,
+ 845510.889 823587.049 0, 845793.741 823577.965 0, 846076.594 823568.897 0, 846359.448 823559.845 0, 846642.302 823550.811 0, 846925.156 823541.793 0, 847208.011 823532.791 0, 847490.867 823523.807 0, 847773.723 823514.839 0, 848056.58 823505.887 0,
+ 848339.437 823496.952 0, 848622.295 823488.034 0, 848905.153 823479.133 0, 849188.012 823470.248 0, 849470.871 823461.38 0, 849753.731 823452.528 0, 850036.592 823443.694 0, 850319.452 823434.875 0, 850600.921 823426.117 0, 850427.68 817853.322 0,
+ 850254.445 812280.742 0))
+
+POLYGON ((864178.861 823023.217 0, 863897.367 823031.18 0, 863614.482 823039.199 0, 863331.598 823047.235 0, 863048.714 823055.287 0, 862765.831 823063.356 0, 862482.948 823071.442 0, 862200.066 823079.544 0, 861917.184 823087.663 0, 861634.303 823095.799 0,
+ 861351.422 823103.951 0, 861068.541 823112.12 0, 860785.661 823120.305 0, 860502.782 823128.507 0, 860219.903 823136.726 0, 859937.025 823144.962 0, 859654.147 823153.214 0, 859371.269 823161.483 0, 859088.392 823169.768 0, 858805.516 823178.07 0,
+ 858522.64 823186.389 0, 858239.764 823194.724 0, 857956.889 823203.077 0, 857674.015 823211.445 0, 857389.749 823219.872 0, 857108.267 823228.233 0, 856825.394 823236.651 0, 856542.521 823245.087 0, 856259.649 823253.538 0, 855976.778 823262.007 0,
+ 855693.907 823270.492 0, 855411.036 823278.994 0, 855128.166 823287.513 0, 854845.296 823296.048 0, 854562.427 823304.6 0, 854279.559 823313.168 0, 853996.691 823321.753 0, 853713.823 823330.355 0, 853430.956 823338.974 0, 853148.09 823347.609 0,
+ 852865.224 823356.26 0, 852582.358 823364.929 0, 852299.493 823373.614 0, 852016.629 823382.316 0, 851733.765 823391.034 0, 851450.901 823399.769 0, 851168.038 823408.521 0, 850885.176 823417.289 0, 850600.921 823426.117 0, 850774.17 828999.122 0,
+ 850947.424 834572.334 0, 851231.019 834563.526 0, 851513.226 834554.778 0, 851795.433 834546.047 0, 852077.64 834537.332 0, 852359.848 834528.634 0, 852642.057 834519.953 0, 852924.265 834511.288 0, 853206.475 834502.64 0, 853488.685 834494.008 0,
+ 853770.895 834485.393 0, 854053.106 834476.794 0, 854335.318 834468.212 0, 854617.53 834459.647 0, 854899.742 834451.099 0, 855181.955 834442.567 0, 855464.169 834434.051 0, 855746.383 834425.552 0, 856028.597 834417.07 0, 856310.812 834408.605 0,
+ 856593.028 834400.156 0, 856875.244 834391.723 0, 857157.46 834383.308 0, 857439.677 834374.909 0, 857720.507 834366.567 0, 858004.113 834358.16 0, 858286.331 834349.811 0, 858568.55 834341.478 0, 858850.77 834333.162 0, 859132.99 834324.863 0,
+ 859415.21 834316.58 0, 859697.431 834308.314 0, 859979.652 834300.064 0, 860261.874 834291.831 0, 860544.097 834283.615 0, 860826.319 834275.415 0, 861108.543 834267.232 0, 861390.767 834259.065 0, 861672.991 834250.915 0, 861955.216 834242.782 0,
+ 862237.441 834234.665 0, 862519.667 834226.565 0, 862801.893 834218.481 0, 863084.12 834210.414 0, 863366.347 834202.364 0, 863648.574 834194.33 0, 863930.802 834186.313 0, 864213.031 834178.313 0, 864493.873 834170.368 0, 864336.364 828596.689 0,
+ 864178.861 823023.217 0))
+
+POLYGON ((878041.403 833806.675 0, 877760.538 833813.827 0, 877478.288 833821.03 0, 877196.038 833828.249 0, 876913.789 833835.486 0, 876631.54 833842.738 0, 876349.292 833850.008 0, 876067.044 833857.294 0, 875784.796 833864.597 0, 875502.549 833871.916 0,
+ 875220.303 833879.252 0, 874938.056 833886.605 0, 874655.811 833893.974 0, 874373.565 833901.36 0, 874091.32 833908.762 0, 873809.076 833916.181 0, 873526.832 833923.617 0, 873244.588 833931.069 0, 872962.345 833938.538 0, 872680.102 833946.024 0,
+ 872397.86 833953.526 0, 872115.618 833961.044 0, 871833.377 833968.58 0, 871551.136 833976.132 0, 871267.509 833983.737 0, 870986.656 833991.285 0, 870704.416 833998.887 0, 870422.177 834006.506 0, 870139.938 834014.141 0, 869857.7 834021.792 0,
+ 869575.462 834029.46 0, 869293.225 834037.145 0, 869010.988 834044.847 0, 868728.751 834052.565 0, 868446.515 834060.299 0, 868164.28 834068.051 0, 867882.045 834075.819 0, 867599.81 834083.603 0, 867317.576 834091.404 0, 867035.342 834099.222 0,
+ 866753.109 834107.056 0, 866470.876 834114.907 0, 866188.644 834122.775 0, 865906.412 834130.659 0, 865624.181 834138.56 0, 865341.95 834146.477 0, 865059.72 834154.411 0, 864777.49 834162.362 0, 864493.873 834170.368 0, 864651.387 839744.251 0,
+ 864808.907 845318.332 0, 865091.865 845310.345 0, 865373.438 845302.412 0, 865655.013 845294.497 0, 865936.588 845286.598 0, 866218.163 845278.715 0, 866499.738 845270.85 0, 866781.315 845263 0, 867062.891 845255.168 0, 867344.468 845247.351 0,
+ 867626.046 845239.552 0, 867907.624 845231.769 0, 868189.202 845224.003 0, 868470.781 845216.253 0, 868752.361 845208.519 0, 869033.94 845200.803 0, 869315.521 845193.103 0, 869597.101 845185.419 0, 869878.682 845177.752 0, 870160.264 845170.102 0,
+ 870441.846 845162.468 0, 870723.429 845154.851 0, 871005.012 845147.25 0, 871286.595 845139.666 0, 871566.796 845132.135 0, 871849.763 845124.547 0, 872131.348 845117.013 0, 872412.933 845109.495 0, 872694.519 845101.994 0, 872976.105 845094.509 0,
+ 873257.691 845087.041 0, 873539.278 845079.59 0, 873820.866 845072.155 0, 874102.454 845064.736 0, 874384.042 845057.335 0, 874665.631 845049.949 0, 874947.22 845042.581 0, 875228.809 845035.229 0, 875510.399 845027.893 0, 875791.99 845020.574 0,
+ 876073.581 845013.272 0, 876355.172 845005.986 0, 876636.764 844998.717 0, 876918.356 844991.464 0, 877199.948 844984.228 0, 877481.541 844977.009 0, 877763.135 844969.806 0, 878044.729 844962.62 0, 878324.941 844955.485 0, 878183.169 839380.98 0,
+ 878041.403 833806.675 0))
+
+POLYGON ((891841.946 844630.824 0, 891561.712 844637.167 0, 891280.099 844643.558 0, 890998.487 844649.965 0, 890716.875 844656.389 0, 890435.263 844662.83 0, 890153.651 844669.287 0, 889872.04 844675.76 0, 889590.429 844682.25 0, 889308.819 844688.757 0,
+ 889027.209 844695.281 0, 888745.599 844701.821 0, 888463.99 844708.377 0, 888182.381 844714.95 0, 887900.773 844721.54 0, 887619.165 844728.146 0, 887337.557 844734.769 0, 887055.95 844741.408 0, 886774.343 844748.064 0, 886492.736 844754.737 0,
+ 886211.13 844761.426 0, 885929.525 844768.131 0, 885647.919 844774.854 0, 885366.314 844781.592 0, 885083.329 844788.381 0, 884803.106 844795.12 0, 884521.502 844801.908 0, 884239.899 844808.713 0, 883958.296 844815.535 0, 883676.693 844822.373 0,
+ 883395.091 844829.228 0, 883113.489 844836.1 0, 882831.888 844842.988 0, 882550.287 844849.892 0, 882268.687 844856.813 0, 881987.087 844863.751 0, 881705.487 844870.705 0, 881423.888 844877.676 0, 881142.289 844884.664 0, 880860.69 844891.668 0,
+ 880579.092 844898.688 0, 880297.495 844905.726 0, 880015.897 844912.779 0, 879734.301 844919.85 0, 879452.704 844926.936 0, 879171.108 844934.04 0, 878889.513 844941.16 0, 878607.918 844948.297 0, 878324.941 844955.485 0, 878466.718 850530.185 0,
+ 878608.499 856105.077 0, 878890.816 856097.906 0, 879171.755 856090.786 0, 879452.694 856083.682 0, 879733.634 856076.596 0, 880014.574 856069.525 0, 880295.515 856062.471 0, 880576.456 856055.434 0, 880857.397 856048.413 0, 881138.339 856041.409 0,
+ 881419.281 856034.421 0, 881700.224 856027.45 0, 881981.167 856020.496 0, 882262.11 856013.557 0, 882543.054 856006.636 0, 882823.998 855999.731 0, 883104.943 855992.842 0, 883385.888 855985.97 0, 883666.833 855979.115 0, 883947.779 855972.276 0,
+ 884228.725 855965.454 0, 884509.672 855958.648 0, 884790.619 855951.859 0, 885071.567 855945.086 0, 885351.137 855938.363 0, 885633.463 855931.59 0, 885914.411 855924.867 0, 886195.36 855918.161 0, 886476.31 855911.47 0, 886757.26 855904.797 0,
+ 887038.21 855898.14 0, 887319.161 855891.5 0, 887600.112 855884.876 0, 887881.063 855878.268 0, 888162.015 855871.677 0, 888442.967 855865.103 0, 888723.919 855858.545 0, 889004.872 855852.004 0, 889285.826 855845.48 0, 889566.779 855838.971 0,
+ 889847.734 855832.48 0, 890128.688 855826.005 0, 890409.643 855819.546 0, 890690.598 855813.104 0, 890971.554 855806.679 0, 891252.51 855800.27 0, 891533.466 855793.877 0, 891814.423 855787.501 0, 892094.003 855781.173 0, 891967.973 850205.903 0,
+ 891841.946 844630.824 0))
+
+POLYGON ((905580.369 855495.369 0, 905300.769 855500.908 0, 905019.796 855506.49 0, 904738.822 855512.088 0, 904457.85 855517.704 0, 904176.877 855523.335 0, 903895.905 855528.984 0, 903614.933 855534.648 0, 903333.961 855540.33 0, 903052.99 855546.027 0,
+ 902772.019 855551.742 0, 902491.048 855557.473 0, 902210.078 855563.22 0, 901929.108 855568.984 0, 901648.138 855574.765 0, 901367.169 855580.562 0, 901086.2 855586.375 0, 900805.231 855592.206 0, 900524.263 855598.052 0, 900243.295 855603.915 0,
+ 899962.328 855609.795 0, 899681.36 855615.691 0, 899400.393 855621.604 0, 899119.427 855627.534 0, 898837.085 855633.509 0, 898557.495 855639.442 0, 898276.529 855645.421 0, 897995.564 855651.416 0, 897714.6 855657.428 0, 897433.635 855663.457 0,
+ 897152.671 855669.502 0, 896871.707 855675.564 0, 896590.744 855681.642 0, 896309.781 855687.737 0, 896028.818 855693.848 0, 895747.856 855699.976 0, 895466.894 855706.12 0, 895185.933 855712.281 0, 894904.972 855718.458 0, 894624.011 855724.652 0,
+ 894343.05 855730.863 0, 894062.09 855737.09 0, 893781.131 855743.334 0, 893500.171 855749.594 0, 893219.212 855755.87 0, 892938.254 855762.163 0, 892657.295 855768.473 0, 892376.337 855774.799 0, 892094.003 855781.173 0, 892220.038 861356.632 0,
+ 892346.078 866932.275 0, 892627.752 866925.916 0, 892908.054 866919.605 0, 893188.356 866913.31 0, 893468.658 866907.032 0, 893748.961 866900.77 0, 894029.264 866894.524 0, 894309.567 866888.295 0, 894589.871 866882.083 0, 894870.175 866875.887 0,
+ 895150.479 866869.707 0, 895430.784 866863.544 0, 895711.089 866857.398 0, 895991.395 866851.268 0, 896271.701 866845.154 0, 896552.007 866839.057 0, 896832.314 866832.977 0, 897112.621 866826.913 0, 897392.928 866820.865 0, 897673.236 866814.834 0,
+ 897953.544 866808.82 0, 898233.852 866802.822 0, 898514.161 866796.84 0, 898794.47 866790.875 0, 899073.407 866784.956 0, 899355.089 866778.995 0, 899635.4 866773.079 0, 899915.71 866767.18 0, 900196.021 866761.298 0, 900476.332 866755.432 0,
+ 900756.644 866749.582 0, 901036.956 866743.749 0, 901317.268 866737.933 0, 901597.581 866732.133 0, 901877.893 866726.349 0, 902158.207 866720.582 0, 902438.52 866714.831 0, 902718.834 866709.097 0, 902999.149 866703.38 0, 903279.463 866697.679 0,
+ 903559.778 866691.994 0, 903840.093 866686.326 0, 904120.409 866680.675 0, 904400.725 866675.04 0, 904681.041 866669.421 0, 904961.358 866663.819 0, 905241.675 866658.234 0, 905521.992 866652.665 0, 905800.938 866647.139 0, 905690.652 861071.162 0,
+ 905580.369 855495.369 0))
+
+POLYGON ((919256.551 866400.017 0, 918977.588 866404.754 0, 918697.256 866409.531 0, 918416.924 866414.325 0, 918136.593 866419.135 0, 917856.262 866423.961 0, 917575.931 866428.804 0, 917295.601 866433.664 0, 917015.271 866438.54 0, 916734.941 866443.432 0,
+ 916454.611 866448.342 0, 916174.282 866453.267 0, 915893.953 866458.209 0, 915613.624 866463.168 0, 915333.296 866468.143 0, 915052.967 866473.134 0, 914772.64 866478.142 0, 914492.312 866483.167 0, 914211.985 866488.208 0, 913931.658 866493.266 0,
+ 913651.331 866498.34 0, 913371.005 866503.43 0, 913090.679 866508.537 0, 912810.353 866513.661 0, 912528.657 866518.826 0, 912249.702 866523.957 0, 911969.378 866529.131 0, 911689.053 866534.32 0, 911408.729 866539.526 0, 911128.405 866544.749 0,
+ 910848.081 866549.988 0, 910567.758 866555.243 0, 910287.435 866560.515 0, 910007.112 866565.804 0, 909726.79 866571.109 0, 909446.468 866576.431 0, 909166.146 866581.769 0, 908885.824 866587.123 0, 908605.503 866592.494 0, 908325.183 866597.882 0,
+ 908044.862 866603.286 0, 907764.542 866608.706 0, 907484.222 866614.143 0, 907203.902 866619.597 0, 906923.583 866625.067 0, 906643.264 866630.553 0, 906362.946 866636.057 0, 906082.628 866641.576 0, 905800.938 866647.139 0, 905911.228 872223.297 0,
+ 906021.522 877799.632 0, 906302.552 877794.082 0, 906582.214 877788.575 0, 906861.876 877783.085 0, 907141.538 877777.611 0, 907421.201 877772.154 0, 907700.864 877766.713 0, 907980.527 877761.289 0, 908260.191 877755.881 0, 908539.855 877750.49 0,
+ 908819.52 877745.115 0, 909099.184 877739.756 0, 909378.849 877734.414 0, 909658.515 877729.089 0, 909938.18 877723.78 0, 910217.846 877718.487 0, 910497.513 877713.211 0, 910777.179 877707.951 0, 911056.846 877702.708 0, 911336.513 877697.481 0,
+ 911616.181 877692.271 0, 911895.849 877687.077 0, 912175.517 877681.9 0, 912455.185 877676.739 0, 912733.487 877671.619 0, 913014.523 877666.466 0, 913294.192 877661.354 0, 913573.862 877656.259 0, 913853.532 877651.181 0, 914133.202 877646.119 0,
+ 914412.873 877641.073 0, 914692.543 877636.044 0, 914972.215 877631.031 0, 915251.886 877626.034 0, 915531.558 877621.055 0, 915811.23 877616.091 0, 916090.902 877611.144 0, 916370.575 877606.214 0, 916650.247 877601.3 0, 916929.921 877596.402 0,
+ 917209.594 877591.521 0, 917489.268 877586.656 0, 917768.942 877581.808 0, 918048.616 877576.976 0, 918328.291 877572.161 0, 918607.966 877567.362 0, 918887.641 877562.58 0, 919167.316 877557.814 0, 919445.626 877553.088 0, 919351.087 871976.464 0,
+ 919256.551 866400.017 0))
+
+POLYGON ((932870.372 877344.47 0, 932592.048 877348.41 0, 932312.361 877352.386 0, 932032.673 877356.378 0, 931752.986 877360.387 0, 931473.299 877364.412 0, 931193.612 877368.454 0, 930913.925 877372.512 0, 930634.239 877376.586 0, 930354.553 877380.677 0,
+ 930074.867 877384.785 0, 929795.181 877388.909 0, 929515.496 877393.049 0, 929235.811 877397.206 0, 928956.126 877401.379 0, 928676.441 877405.569 0, 928396.757 877409.775 0, 928117.073 877413.998 0, 927837.389 877418.237 0, 927557.705 877422.492 0,
+ 927278.022 877426.764 0, 926998.338 877431.053 0, 926718.656 877435.358 0, 926438.973 877439.679 0, 926157.925 877444.038 0, 925879.608 877448.371 0, 925599.926 877452.742 0, 925320.245 877457.129 0, 925040.563 877461.533 0, 924760.882 877465.953 0,
+ 924481.201 877470.39 0, 924201.521 877474.843 0, 923921.841 877479.313 0, 923642.161 877483.799 0, 923362.481 877488.301 0, 923082.801 877492.82 0, 922803.122 877497.356 0, 922523.443 877501.908 0, 922243.764 877506.476 0, 921964.086 877511.061 0,
+ 921684.408 877515.662 0, 921404.73 877520.28 0, 921125.052 877524.914 0, 920845.375 877529.565 0, 920565.697 877534.232 0, 920286.021 877538.915 0, 920006.344 877543.615 0, 919726.668 877548.332 0, 919445.626 877553.088 0, 919540.168 883129.885 0,
+ 919634.713 888706.852 0, 919915.095 888702.107 0, 920194.115 888697.401 0, 920473.135 888692.712 0, 920752.155 888688.04 0, 921031.176 888683.384 0, 921310.197 888678.744 0, 921589.218 888674.121 0, 921868.239 888669.514 0, 922147.261 888664.923 0,
+ 922426.283 888660.349 0, 922705.305 888655.792 0, 922984.328 888651.25 0, 923263.35 888646.726 0, 923542.373 888642.217 0, 923821.397 888637.725 0, 924100.42 888633.25 0, 924379.444 888628.791 0, 924658.468 888624.348 0, 924937.493 888619.922 0,
+ 925216.517 888615.512 0, 925495.542 888611.119 0, 925774.567 888606.742 0, 926053.593 888602.381 0, 926331.256 888598.058 0, 926611.644 888593.709 0, 926890.67 888589.398 0, 927169.697 888585.103 0, 927448.723 888580.825 0, 927727.75 888576.563 0,
+ 928006.777 888572.317 0, 928285.805 888568.088 0, 928564.832 888563.875 0, 928843.86 888559.679 0, 929122.888 888555.499 0, 929401.917 888551.335 0, 929680.945 888547.188 0, 929959.974 888543.058 0, 930239.004 888538.944 0, 930518.033 888534.846 0,
+ 930797.062 888530.764 0, 931076.092 888526.699 0, 931355.122 888522.651 0, 931634.153 888518.619 0, 931913.183 888514.603 0, 932192.214 888510.604 0, 932471.245 888506.621 0, 932750.276 888502.655 0, 933027.947 888498.724 0, 932949.159 882921.513 0,
+ 932870.372 877344.47 0))
+
+POLYGON ((946421.716 888328.435 0, 946144.033 888331.582 0, 945864.992 888334.76 0, 945585.951 888337.954 0, 945306.91 888341.165 0, 945027.869 888344.392 0, 944748.828 888347.636 0, 944469.788 888350.896 0, 944190.748 888354.173 0, 943911.708 888357.466 0,
+ 943632.668 888360.775 0, 943353.628 888364.101 0, 943074.589 888367.444 0, 942795.55 888370.802 0, 942516.511 888374.178 0, 942237.472 888377.569 0, 941958.433 888380.977 0, 941679.395 888384.402 0, 941400.356 888387.842 0, 941121.318 888391.3 0,
+ 940842.281 888394.773 0, 940563.243 888398.263 0, 940284.206 888401.77 0, 940005.168 888405.293 0, 939724.772 888408.85 0, 939447.094 888412.388 0, 939168.058 888415.96 0, 938889.022 888419.549 0, 938609.985 888423.154 0, 938330.949 888426.776 0,
+ 938051.914 888430.414 0, 937772.878 888434.068 0, 937493.843 888437.739 0, 937214.808 888441.426 0, 936935.773 888445.13 0, 936656.738 888448.85 0, 936377.704 888452.586 0, 936098.67 888456.339 0, 935819.636 888460.108 0, 935540.602 888463.894 0,
+ 935261.568 888467.696 0, 934982.535 888471.515 0, 934703.502 888475.35 0, 934424.469 888479.201 0, 934145.436 888483.069 0, 933866.404 888486.953 0, 933587.372 888490.854 0, 933308.34 888494.771 0, 933027.947 888498.724 0, 933106.738 894076.101 0,
+ 933185.531 899653.639 0, 933465.264 899649.696 0, 933743.639 899645.788 0, 934022.015 899641.896 0, 934300.391 899638.021 0, 934578.767 899634.163 0, 934857.143 899630.32 0, 935135.52 899626.494 0, 935413.896 899622.685 0, 935692.273 899618.891 0,
+ 935970.651 899615.115 0, 936249.028 899611.354 0, 936527.406 899607.61 0, 936805.784 899603.882 0, 937084.162 899600.171 0, 937362.54 899596.476 0, 937640.919 899592.798 0, 937919.297 899589.135 0, 938197.676 899585.49 0, 938476.055 899581.86 0,
+ 938754.435 899578.247 0, 939032.814 899574.651 0, 939311.194 899571.071 0, 939589.574 899567.507 0, 939866.598 899563.977 0, 940146.335 899560.428 0, 940424.716 899556.914 0, 940703.097 899553.415 0, 940981.478 899549.933 0, 941259.859 899546.468 0,
+ 941538.24 899543.019 0, 941816.622 899539.586 0, 942095.004 899536.17 0, 942373.386 899532.77 0, 942651.768 899529.386 0, 942930.151 899526.019 0, 943208.533 899522.668 0, 943486.916 899519.334 0, 943765.299 899516.015 0, 944043.683 899512.714 0,
+ 944322.066 899509.429 0, 944600.45 899506.16 0, 944878.833 899502.907 0, 945157.217 899499.671 0, 945435.602 899496.451 0, 945713.986 899493.248 0, 945992.371 899490.061 0, 946270.755 899486.89 0, 946547.785 899483.751 0, 946484.75 893906.013 0,
+ 946421.716 888328.435 0))
+
+POLYGON ((959910.465 899351.615 0, 959633.426 899353.971 0, 959355.033 899356.355 0, 959076.641 899358.756 0, 958798.249 899361.173 0, 958519.856 899363.606 0, 958241.464 899366.055 0, 957963.072 899368.522 0, 957684.681 899371.004 0, 957406.289 899373.503 0,
+ 957127.898 899376.018 0, 956849.506 899378.549 0, 956571.115 899381.097 0, 956292.724 899383.662 0, 956014.333 899386.242 0, 955735.942 899388.84 0, 955457.552 899391.453 0, 955179.161 899394.083 0, 954900.771 899396.729 0, 954622.381 899399.392 0,
+ 954343.991 899402.071 0, 954065.601 899404.766 0, 953787.212 899407.478 0, 953508.822 899410.206 0, 953229.078 899412.964 0, 952952.044 899415.712 0, 952673.655 899418.489 0, 952395.266 899421.283 0, 952116.877 899424.093 0, 951838.489 899426.919 0,
+ 951560.101 899429.762 0, 951281.712 899432.622 0, 951003.324 899435.497 0, 950724.937 899438.389 0, 950446.549 899441.298 0, 950168.161 899444.223 0, 949889.774 899447.164 0, 949611.387 899450.121 0, 949333 899453.095 0, 949054.613 899456.086 0,
+ 948776.227 899459.092 0, 948497.84 899462.115 0, 948219.454 899465.155 0, 947941.068 899468.211 0, 947662.682 899471.283 0, 947384.296 899474.372 0, 947105.911 899477.477 0, 946827.526 899480.598 0, 946547.785 899483.751 0, 946610.822 905061.648 0,
+ 946673.861 910639.699 0, 946952.942 910636.553 0, 947230.67 910633.439 0, 947508.399 910630.341 0, 947786.128 910627.26 0, 948063.858 910624.195 0, 948341.587 910621.146 0, 948619.317 910618.114 0, 948897.046 910615.098 0, 949174.776 910612.098 0,
+ 949452.507 910609.115 0, 949730.237 910606.148 0, 950007.967 910603.197 0, 950285.698 910600.263 0, 950563.429 910597.345 0, 950841.16 910594.443 0, 951118.891 910591.558 0, 951396.622 910588.689 0, 951674.354 910585.837 0, 951952.086 910583.001 0,
+ 952229.818 910580.181 0, 952507.55 910577.377 0, 952785.282 910574.59 0, 953063.014 910571.819 0, 953339.395 910569.078 0, 953618.479 910566.327 0, 953896.212 910563.605 0, 954173.945 910560.9 0, 954451.678 910558.211 0, 954729.412 910555.538 0,
+ 955007.145 910552.882 0, 955284.879 910550.242 0, 955562.613 910547.618 0, 955840.346 910545.011 0, 956118.081 910542.42 0, 956395.815 910539.845 0, 956673.549 910537.287 0, 956951.284 910534.745 0, 957229.018 910532.219 0, 957506.753 910529.71 0,
+ 957784.488 910527.217 0, 958062.223 910524.741 0, 958339.959 910522.28 0, 958617.694 910519.836 0, 958895.43 910517.409 0, 959173.165 910514.998 0, 959450.901 910512.603 0, 959728.637 910510.225 0, 960005.023 910507.874 0, 959957.744 904929.667 0,
+ 959910.465 899351.615 0))
+
+POLYGON ((973336.505 910413.713 0, 973060.111 910415.282 0, 972782.37 910416.876 0, 972504.628 910418.486 0, 972226.887 910420.113 0, 971949.145 910421.756 0, 971671.404 910423.415 0, 971393.663 910425.09 0, 971115.922 910426.782 0, 970838.181 910428.49 0,
+ 970560.44 910430.215 0, 970282.699 910431.956 0, 970004.959 910433.713 0, 969727.218 910435.487 0, 969449.478 910437.277 0, 969171.738 910439.083 0, 968893.997 910440.906 0, 968616.257 910442.745 0, 968338.517 910444.6 0, 968060.777 910446.472 0,
+ 967783.038 910448.36 0, 967505.298 910450.264 0, 967227.559 910452.185 0, 966949.819 910454.122 0, 966670.731 910456.085 0, 966394.341 910458.045 0, 966116.602 910460.032 0, 965838.863 910462.034 0, 965561.124 910464.053 0, 965283.385 910466.088 0,
+ 965005.646 910468.14 0, 964727.908 910470.207 0, 964450.17 910472.292 0, 964172.431 910474.392 0, 963894.693 910476.509 0, 963616.955 910478.642 0, 963339.217 910480.792 0, 963061.48 910482.958 0, 962783.742 910485.14 0, 962506.005 910487.339 0,
+ 962228.267 910489.554 0, 961950.53 910491.785 0, 961672.793 910494.033 0, 961395.056 910496.297 0, 961117.319 910498.577 0, 960839.583 910500.874 0, 960561.846 910503.187 0, 960284.11 910505.517 0, 960005.023 910507.874 0, 960052.304 916086.23 0,
+ 960099.586 921664.733 0, 960378.013 921662.381 0, 960655.092 921660.057 0, 960932.172 921657.75 0, 961209.252 921655.458 0, 961486.332 921653.183 0, 961763.413 921650.925 0, 962040.493 921648.682 0, 962317.574 921646.456 0, 962594.654 921644.246 0,
+ 962871.735 921642.053 0, 963148.816 921639.876 0, 963425.897 921637.715 0, 963702.978 921635.57 0, 963980.06 921633.442 0, 964257.141 921631.33 0, 964534.222 921629.235 0, 964811.304 921627.155 0, 965088.386 921625.092 0, 965365.468 921623.046 0,
+ 965642.55 921621.015 0, 965919.632 921619.001 0, 966196.714 921617.004 0, 966473.797 921615.022 0, 966749.533 921613.067 0, 967027.962 921611.108 0, 967305.045 921609.176 0, 967582.128 921607.26 0, 967859.21 921605.36 0, 968136.294 921603.476 0,
+ 968413.377 921601.609 0, 968690.46 921599.758 0, 968967.543 921597.923 0, 969244.627 921596.105 0, 969521.711 921594.303 0, 969798.794 921592.517 0, 970075.878 921590.748 0, 970352.962 921588.994 0, 970630.046 921587.258 0, 970907.13 921585.537 0,
+ 971184.215 921583.833 0, 971461.299 921582.145 0, 971738.383 921580.473 0, 972015.468 921578.818 0, 972292.552 921577.179 0, 972569.637 921575.557 0, 972846.722 921573.95 0, 973123.807 921572.36 0, 973399.547 921570.794 0, 973368.025 915992.18 0,
+ 973336.505 910413.713 0))
+
+POLYGON ((986699.72 921514.431 0, 986423.975 921515.218 0, 986146.887 921516.025 0, 985869.798 921516.848 0, 985592.71 921517.688 0, 985315.622 921518.544 0, 985038.534 921519.417 0, 984761.446 921520.306 0, 984484.358 921521.211 0, 984207.27 921522.132 0,
+ 983930.182 921523.07 0, 983653.094 921524.024 0, 983376.006 921524.994 0, 983098.919 921525.981 0, 982821.831 921526.984 0, 982544.743 921528.003 0, 982267.656 921529.038 0, 981990.568 921530.09 0, 981713.481 921531.158 0, 981436.394 921532.243 0,
+ 981159.306 921533.344 0, 980882.219 921534.461 0, 980605.132 921535.594 0, 980328.045 921536.744 0, 980049.614 921537.915 0, 979773.871 921539.092 0, 979496.784 921540.291 0, 979219.697 921541.506 0, 978942.61 921542.737 0, 978665.524 921543.984 0,
+ 978388.437 921545.248 0, 978111.35 921546.528 0, 977834.264 921547.825 0, 977557.178 921549.138 0, 977280.091 921550.467 0, 977003.005 921551.812 0, 976725.919 921553.174 0, 976448.833 921554.552 0, 976171.747 921555.946 0, 975894.661 921557.357 0,
+ 975617.575 921558.784 0, 975340.49 921560.227 0, 975063.404 921561.687 0, 974786.318 921563.163 0, 974509.233 921564.655 0, 974232.148 921566.163 0, 973955.062 921567.688 0, 973677.977 921569.229 0, 973399.547 921570.794 0, 973431.069 927149.55 0,
+ 973462.593 932728.445 0, 973740.363 932726.883 0, 974016.791 932725.346 0, 974293.22 932723.825 0, 974569.648 932722.32 0, 974846.077 932720.831 0, 975122.506 932719.359 0, 975398.935 932717.903 0, 975675.364 932716.463 0, 975951.793 932715.039 0,
+ 976228.222 932713.632 0, 976504.651 932712.241 0, 976781.081 932710.866 0, 977057.51 932709.508 0, 977333.94 932708.165 0, 977610.369 932706.839 0, 977886.799 932705.53 0, 978163.229 932704.236 0, 978439.658 932702.959 0, 978716.088 932701.698 0,
+ 978992.518 932700.454 0, 979268.948 932699.225 0, 979545.378 932698.013 0, 979821.809 932696.818 0, 980096.898 932695.644 0, 980374.669 932694.475 0, 980651.099 932693.328 0, 980927.53 932692.197 0, 981203.96 932691.083 0, 981480.391 932689.985 0,
+ 981756.822 932688.903 0, 982033.252 932687.837 0, 982309.683 932686.788 0, 982586.114 932685.755 0, 982862.545 932684.738 0, 983138.976 932683.737 0, 983415.407 932682.753 0, 983691.838 932681.785 0, 983968.269 932680.833 0, 984244.7 932679.898 0,
+ 984521.131 932678.979 0, 984797.563 932678.076 0, 985073.994 932677.189 0, 985350.425 932676.319 0, 985626.857 932675.465 0, 985903.288 932674.627 0, 986179.72 932673.805 0, 986456.151 932673 0, 986731.243 932672.215 0, 986715.482 927093.253 0,
+ 986699.72 921514.431 0))
+
+POLYGON ((1000000 932653.471 0, 999724.905 932653.479 0, 999448.472 932653.504 0, 999172.039 932653.544 0, 998895.606 932653.601 0, 998619.174 932653.674 0, 998342.741 932653.764 0, 998066.308 932653.869 0, 997789.876 932653.991 0, 997513.443 932654.129 0,
+ 997237.01 932654.284 0, 996960.577 932654.455 0, 996684.145 932654.642 0, 996407.712 932654.845 0, 996131.279 932655.065 0, 995854.847 932655.3 0, 995578.414 932655.553 0, 995301.981 932655.821 0, 995025.549 932656.106 0, 994749.116 932656.407 0,
+ 994472.684 932656.724 0, 994196.251 932657.057 0, 993919.819 932657.407 0, 993643.386 932657.773 0, 993365.615 932658.157 0, 993090.521 932658.554 0, 992814.089 932658.969 0, 992537.656 932659.4 0, 992261.224 932659.847 0, 991984.792 932660.311 0,
+ 991708.359 932660.791 0, 991431.927 932661.287 0, 991155.495 932661.799 0, 990879.062 932662.328 0, 990602.63 932662.873 0, 990326.198 932663.434 0, 990049.766 932664.012 0, 989773.334 932664.605 0, 989496.902 932665.215 0, 989220.47 932665.842 0,
+ 988944.038 932666.484 0, 988667.606 932667.143 0, 988391.174 932667.818 0, 988114.742 932668.51 0, 987838.31 932669.217 0, 987561.878 932669.941 0, 987285.446 932670.682 0, 987009.015 932671.438 0, 986731.243 932672.215 0, 986747.005 938251.31 0,
+ 986762.768 943830.536 0, 987039.879 943829.761 0, 987315.654 943829.007 0, 987591.429 943828.268 0, 987867.204 943827.546 0, 988142.979 943826.84 0, 988418.754 943826.15 0, 988694.529 943825.477 0, 988970.305 943824.819 0, 989246.08 943824.178 0,
+ 989521.855 943823.553 0, 989797.631 943822.945 0, 990073.406 943822.352 0, 990349.181 943821.776 0, 990624.957 943821.216 0, 990900.732 943820.673 0, 991176.508 943820.145 0, 991452.283 943819.634 0, 991728.059 943819.139 0, 992003.834 943818.66 0,
+ 992279.61 943818.198 0, 992555.386 943817.751 0, 992831.161 943817.321 0, 993106.937 943816.908 0, 993381.377 943816.512 0, 993658.488 943816.129 0, 993934.264 943815.763 0, 994210.04 943815.415 0, 994485.816 943815.082 0, 994761.592 943814.765 0,
+ 995037.367 943814.465 0, 995313.143 943814.181 0, 995588.919 943813.914 0, 995864.695 943813.662 0, 996140.471 943813.427 0, 996416.247 943813.208 0, 996692.023 943813.005 0, 996967.799 943812.818 0, 997243.575 943812.648 0, 997519.35 943812.494 0,
+ 997795.126 943812.356 0, 998070.902 943812.234 0, 998346.678 943812.129 0, 998622.454 943812.04 0, 998898.23 943811.967 0, 999174.006 943811.91 0, 999449.782 943811.869 0, 999725.558 943811.845 0, 1000000 943811.837 0, 1000000 938232.589 0,
+ 1000000 932653.471 0))
+
+POLYGON ((1013237.232 943830.536 0, 1012962.79 943829.769 0, 1012687.015 943829.014 0, 1012411.24 943828.275 0, 1012135.465 943827.553 0, 1011859.689 943826.847 0, 1011583.914 943826.157 0, 1011308.139 943825.483 0, 1011032.364 943824.826 0, 1010756.589 943824.184 0,
+ 1010480.813 943823.559 0, 1010205.038 943822.951 0, 1009929.263 943822.358 0, 1009653.487 943821.782 0, 1009377.712 943821.222 0, 1009101.936 943820.678 0, 1008826.161 943820.15 0, 1008550.385 943819.639 0, 1008274.61 943819.144 0, 1007998.834 943818.665 0,
+ 1007723.059 943818.202 0, 1007447.283 943817.756 0, 1007171.507 943817.325 0, 1006895.732 943816.911 0, 1006618.623 943816.512 0, 1006344.18 943816.132 0, 1006068.405 943815.767 0, 1005792.629 943815.418 0, 1005516.853 943815.085 0, 1005241.077 943814.768 0,
+ 1004965.301 943814.468 0, 1004689.525 943814.184 0, 1004413.75 943813.916 0, 1004137.974 943813.664 0, 1003862.198 943813.429 0, 1003586.422 943813.21 0, 1003310.646 943813.007 0, 1003034.87 943812.82 0, 1002759.094 943812.65 0, 1002483.318 943812.495 0,
+ 1002207.542 943812.357 0, 1001931.766 943812.235 0, 1001655.99 943812.13 0, 1001380.214 943812.04 0, 1001104.438 943811.967 0, 1000828.662 943811.91 0, 1000552.886 943811.87 0, 1000277.11 943811.845 0, 1000000 943811.837 0, 1000000 949391.212 0,
+ 1000000 954970.709 0, 1000276.45 954970.717 0, 1000551.57 954970.741 0, 1000826.689 954970.782 0, 1001101.808 954970.839 0, 1001376.927 954970.912 0, 1001652.046 954971.001 0, 1001927.166 954971.106 0, 1002202.285 954971.228 0, 1002477.404 954971.365 0,
+ 1002752.523 954971.519 0, 1003027.642 954971.689 0, 1003302.761 954971.876 0, 1003577.88 954972.078 0, 1003853 954972.297 0, 1004128.119 954972.532 0, 1004403.238 954972.783 0, 1004678.357 954973.05 0, 1004953.476 954973.333 0, 1005228.595 954973.633 0,
+ 1005503.714 954973.949 0, 1005778.833 954974.281 0, 1006053.952 954974.629 0, 1006329.071 954974.994 0, 1006602.86 954975.372 0, 1006879.309 954975.771 0, 1007154.428 954976.184 0, 1007429.547 954976.613 0, 1007704.665 954977.059 0, 1007979.784 954977.52 0,
+ 1008254.903 954977.998 0, 1008530.022 954978.492 0, 1008805.141 954979.002 0, 1009080.259 954979.528 0, 1009355.378 954980.071 0, 1009630.497 954980.63 0, 1009905.615 954981.205 0, 1010180.734 954981.796 0, 1010455.852 954982.403 0, 1010730.971 954983.027 0,
+ 1011006.089 954983.666 0, 1011281.208 954984.322 0, 1011556.326 954984.994 0, 1011831.444 954985.682 0, 1012106.563 954986.387 0, 1012381.681 954987.108 0, 1012656.799 954987.844 0, 1012931.917 954988.598 0, 1013205.706 954989.363 0, 1013221.47 949409.888 0,
+ 1013237.232 943830.536 0))
+
+POLYGON ((1026411.307 955045.326 0, 1026137.519 955043.787 0, 1025862.405 955042.256 0, 1025587.289 955040.742 0, 1025312.174 955039.244 0, 1025037.059 955037.763 0, 1024761.944 955036.297 0, 1024486.828 955034.848 0, 1024211.713 955033.415 0, 1023936.597 955031.998 0,
+ 1023661.482 955030.597 0, 1023386.366 955029.212 0, 1023111.25 955027.844 0, 1022836.134 955026.492 0, 1022561.018 955025.156 0, 1022285.902 955023.836 0, 1022010.786 955022.532 0, 1021735.67 955021.245 0, 1021460.554 955019.974 0, 1021185.437 955018.719 0,
+ 1020910.321 955017.48 0, 1020635.205 955016.257 0, 1020360.088 955015.051 0, 1020084.971 955013.861 0, 1019808.527 955012.681 0, 1019534.738 955011.529 0, 1019259.621 955010.387 0, 1018984.504 955009.261 0, 1018709.387 955008.152 0, 1018434.27 955007.059 0,
+ 1018159.153 955005.982 0, 1017884.036 955004.921 0, 1017608.919 955003.877 0, 1017333.801 955002.849 0, 1017058.684 955001.836 0, 1016783.567 955000.84 0, 1016508.449 954999.861 0, 1016233.332 954998.897 0, 1015958.214 954997.95 0, 1015683.096 954997.019 0,
+ 1015407.979 954996.104 0, 1015132.861 954995.205 0, 1014857.743 954994.322 0, 1014582.625 954993.456 0, 1014307.507 954992.606 0, 1014032.39 954991.772 0, 1013757.272 954990.954 0, 1013482.154 954990.152 0, 1013205.706 954989.363 0, 1013189.943 960568.956 0,
+ 1013174.179 966148.664 0, 1013449.966 966149.451 0, 1013724.428 966150.251 0, 1013998.889 966151.067 0, 1014273.35 966151.899 0, 1014547.811 966152.747 0, 1014822.272 966153.611 0, 1015096.733 966154.492 0, 1015371.194 966155.388 0, 1015645.655 966156.301 0,
+ 1015920.116 966157.23 0, 1016194.576 966158.175 0, 1016469.037 966159.136 0, 1016743.498 966160.114 0, 1017017.958 966161.107 0, 1017292.419 966162.117 0, 1017566.879 966163.143 0, 1017841.34 966164.185 0, 1018115.8 966165.243 0, 1018390.26 966166.318 0,
+ 1018664.721 966167.408 0, 1018939.181 966168.515 0, 1019213.641 966169.637 0, 1019488.101 966170.776 0, 1019761.236 966171.926 0, 1020037.021 966173.103 0, 1020311.481 966174.29 0, 1020585.94 966175.494 0, 1020860.4 966176.714 0, 1021134.86 966177.949 0,
+ 1021409.319 966179.201 0, 1021683.779 966180.47 0, 1021958.238 966181.754 0, 1022232.697 966183.054 0, 1022507.156 966184.371 0, 1022781.616 966185.704 0, 1023056.075 966187.053 0, 1023330.534 966188.418 0, 1023604.993 966189.799 0, 1023879.451 966191.197 0,
+ 1024153.91 966192.61 0, 1024428.369 966194.04 0, 1024702.827 966195.486 0, 1024977.286 966196.948 0, 1025251.744 966198.426 0, 1025526.203 966199.92 0, 1025800.661 966201.431 0, 1026075.119 966202.958 0, 1026348.253 966204.493 0, 1026379.781 960624.852 0,
+ 1026411.307 955045.326 0))
+
+POLYGON ((1039522.117 966297.541 0, 1039248.986 966295.234 0, 1038974.533 966292.932 0, 1038700.081 966290.646 0, 1038425.628 966288.376 0, 1038151.174 966286.123 0, 1037876.721 966283.885 0, 1037602.268 966281.664 0, 1037327.814 966279.459 0, 1037053.361 966277.27 0,
+ 1036778.907 966275.097 0, 1036504.453 966272.94 0, 1036229.999 966270.8 0, 1035955.545 966268.676 0, 1035681.09 966266.567 0, 1035406.636 966264.475 0, 1035132.181 966262.4 0, 1034857.727 966260.34 0, 1034583.272 966258.296 0, 1034308.817 966256.269 0,
+ 1034034.362 966254.257 0, 1033759.907 966252.262 0, 1033485.452 966250.283 0, 1033210.996 966248.321 0, 1032935.218 966246.365 0, 1032662.085 966244.443 0, 1032387.629 966242.529 0, 1032113.174 966240.631 0, 1031838.718 966238.749 0, 1031564.262 966236.883 0,
+ 1031289.805 966235.033 0, 1031015.349 966233.2 0, 1030740.893 966231.382 0, 1030466.436 966229.581 0, 1030191.98 966227.796 0, 1029917.523 966226.027 0, 1029643.066 966224.274 0, 1029368.609 966222.537 0, 1029094.152 966220.817 0, 1028819.695 966219.113 0,
+ 1028545.238 966217.424 0, 1028270.781 966215.752 0, 1027996.323 966214.096 0, 1027721.866 966212.457 0, 1027447.408 966210.833 0, 1027172.951 966209.226 0, 1026898.493 966207.634 0, 1026624.035 966206.059 0, 1026348.253 966204.493 0, 1026316.725 971784.244 0,
+ 1026285.197 977364.102 0, 1026560.318 977365.664 0, 1026834.119 977367.236 0, 1027107.92 977368.823 0, 1027381.721 977370.427 0, 1027655.522 977372.046 0, 1027929.323 977373.682 0, 1028203.123 977375.334 0, 1028476.924 977377.002 0, 1028750.724 977378.686 0,
+ 1029024.524 977380.387 0, 1029298.325 977382.103 0, 1029572.125 977383.835 0, 1029845.925 977385.584 0, 1030119.724 977387.349 0, 1030393.524 977389.13 0, 1030667.324 977390.927 0, 1030941.123 977392.74 0, 1031214.923 977394.569 0, 1031488.722 977396.414 0,
+ 1031762.521 977398.276 0, 1032036.32 977400.153 0, 1032310.119 977402.047 0, 1032583.918 977403.957 0, 1032856.398 977405.873 0, 1033131.516 977407.824 0, 1033405.314 977409.783 0, 1033679.113 977411.757 0, 1033952.911 977413.747 0, 1034226.709 977415.754 0,
+ 1034500.507 977417.776 0, 1034774.305 977419.815 0, 1035048.103 977421.87 0, 1035321.901 977423.941 0, 1035595.698 977426.028 0, 1035869.496 977428.131 0, 1036143.293 977430.25 0, 1036417.09 977432.385 0, 1036690.888 977434.537 0, 1036964.684 977436.704 0,
+ 1037238.481 977438.888 0, 1037512.278 977441.088 0, 1037786.075 977443.304 0, 1038059.871 977445.536 0, 1038333.667 977447.784 0, 1038607.464 977450.049 0, 1038881.26 977452.329 0, 1039155.056 977454.626 0, 1039427.533 977456.927 0, 1039474.825 971877.181 0,
+ 1039522.117 966297.541 0))
+
+POLYGON ((1052569.554 977586.881 0, 1052297.082 977583.81 0, 1052023.294 977580.74 0, 1051749.506 977577.686 0, 1051475.717 977574.648 0, 1051201.928 977571.627 0, 1050928.139 977568.621 0, 1050654.35 977565.632 0, 1050380.56 977562.658 0, 1050106.771 977559.701 0,
+ 1049832.981 977556.76 0, 1049559.191 977553.835 0, 1049285.401 977550.926 0, 1049011.611 977548.033 0, 1048737.82 977545.157 0, 1048464.03 977542.296 0, 1048190.239 977539.452 0, 1047916.448 977536.623 0, 1047642.657 977533.811 0, 1047368.866 977531.015 0,
+ 1047095.074 977528.235 0, 1046821.283 977525.471 0, 1046547.491 977522.723 0, 1046273.699 977519.992 0, 1045998.589 977517.263 0, 1045726.115 977514.577 0, 1045452.322 977511.893 0, 1045178.53 977509.226 0, 1044904.737 977506.575 0, 1044630.944 977503.94 0,
+ 1044357.151 977501.321 0, 1044083.358 977498.719 0, 1043809.565 977496.132 0, 1043535.771 977493.562 0, 1043261.977 977491.007 0, 1042988.184 977488.469 0, 1042714.39 977485.947 0, 1042440.596 977483.441 0, 1042166.801 977480.951 0, 1041893.007 977478.477 0,
+ 1041619.213 977476.019 0, 1041345.418 977473.578 0, 1041071.623 977471.152 0, 1040797.828 977468.743 0, 1040524.033 977466.35 0, 1040250.238 977463.973 0, 1039976.442 977461.612 0, 1039702.647 977459.267 0, 1039427.533 977456.927 0, 1039380.239 983036.775 0,
+ 1039332.945 988616.722 0, 1039607.399 988619.056 0, 1039880.538 988621.396 0, 1040153.676 988623.751 0, 1040426.815 988626.122 0, 1040699.953 988628.51 0, 1040973.091 988630.914 0, 1041246.229 988633.333 0, 1041519.367 988635.769 0, 1041792.505 988638.221 0,
+ 1042065.642 988640.688 0, 1042338.78 988643.172 0, 1042611.917 988645.672 0, 1042885.054 988648.189 0, 1043158.191 988650.721 0, 1043431.328 988653.269 0, 1043704.464 988655.833 0, 1043977.601 988658.414 0, 1044250.737 988661.01 0, 1044523.873 988663.623 0,
+ 1044797.009 988666.251 0, 1045070.145 988668.896 0, 1045343.281 988671.557 0, 1045616.416 988674.234 0, 1045888.238 988676.914 0, 1046162.687 988679.636 0, 1046435.822 988682.361 0, 1046708.957 988685.102 0, 1046982.092 988687.859 0, 1047255.226 988690.632 0,
+ 1047528.361 988693.422 0, 1047801.495 988696.227 0, 1048074.629 988699.049 0, 1048347.763 988701.886 0, 1048620.897 988704.74 0, 1048894.031 988707.61 0, 1049167.164 988710.496 0, 1049440.297 988713.398 0, 1049713.43 988716.316 0, 1049986.563 988719.25 0,
+ 1050259.696 988722.2 0, 1050532.829 988725.166 0, 1050805.961 988728.148 0, 1051079.093 988731.147 0, 1051352.225 988734.161 0, 1051625.357 988737.192 0, 1051898.489 988740.238 0, 1052171.62 988743.301 0, 1052443.439 988746.365 0, 1052506.497 983166.574 0,
+ 1052569.554 977586.881 0))
+
+POLYGON ((1065553.513 988913.047 0, 1065281.703 988909.215 0, 1065008.581 988905.38 0, 1064735.459 988901.562 0, 1064462.337 988897.76 0, 1064189.214 988893.974 0, 1063916.092 988890.204 0, 1063642.969 988886.45 0, 1063369.846 988882.712 0, 1063096.722 988878.99 0,
+ 1062823.599 988875.285 0, 1062550.475 988871.595 0, 1062277.351 988867.921 0, 1062004.227 988864.264 0, 1061731.102 988860.623 0, 1061457.978 988856.997 0, 1061184.853 988853.388 0, 1060911.728 988849.795 0, 1060638.603 988846.218 0, 1060365.477 988842.657 0,
+ 1060092.352 988839.112 0, 1059819.226 988835.583 0, 1059546.1 988832.07 0, 1059272.973 988828.573 0, 1058998.535 988825.076 0, 1058726.72 988821.628 0, 1058453.593 988818.18 0, 1058180.466 988814.747 0, 1057907.339 988811.331 0, 1057634.211 988807.931 0,
+ 1057361.084 988804.546 0, 1057087.956 988801.178 0, 1056814.828 988797.826 0, 1056541.699 988794.49 0, 1056268.571 988791.17 0, 1055995.442 988787.866 0, 1055722.313 988784.579 0, 1055449.184 988781.307 0, 1055176.055 988778.051 0, 1054902.925 988774.812 0,
+ 1054629.796 988771.589 0, 1054356.666 988768.381 0, 1054083.536 988765.19 0, 1053810.406 988762.015 0, 1053537.275 988758.856 0, 1053264.145 988755.712 0, 1052991.014 988752.585 0, 1052717.883 988749.475 0, 1052443.439 988746.365 0, 1052380.379 994326.25 0,
+ 1052317.318 999906.225 0, 1052591.103 999909.327 0, 1052863.577 999912.43 0, 1053136.051 999915.55 0, 1053408.525 999918.685 0, 1053680.998 999921.837 0, 1053953.471 999925.005 0, 1054225.945 999928.188 0, 1054498.418 999931.388 0, 1054770.89 999934.603 0,
+ 1055043.363 999937.835 0, 1055315.836 999941.083 0, 1055588.308 999944.347 0, 1055860.78 999947.627 0, 1056133.252 999950.922 0, 1056405.723 999954.234 0, 1056678.195 999957.562 0, 1056950.666 999960.906 0, 1057223.137 999964.266 0, 1057495.608 999967.642 0,
+ 1057768.079 999971.034 0, 1058040.549 999974.443 0, 1058313.019 999977.867 0, 1058585.49 999981.307 0, 1058856.651 999984.747 0, 1059130.429 999988.236 0, 1059402.899 999991.724 0, 1059675.368 999995.228 0, 1059947.837 999998.749 0, 1060220.306 1000002.285 0,
+ 1060492.774 1000005.837 0, 1060765.243 1000009.406 0, 1061037.711 1000012.991 0, 1061310.179 1000016.591 0, 1061582.647 1000020.208 0, 1061855.114 1000023.84 0, 1062127.582 1000027.489 0, 1062400.049 1000031.154 0, 1062672.516 1000034.835 0, 1062944.982 1000038.531 0,
+ 1063217.449 1000042.244 0, 1063489.915 1000045.973 0, 1063762.381 1000049.718 0, 1064034.847 1000053.479 0, 1064307.313 1000057.256 0, 1064579.778 1000061.049 0, 1064852.243 1000064.858 0, 1065124.708 1000068.683 0, 1065395.865 1000072.506 0, 1065474.69 994492.731 0,
+ 1065553.513 988913.047 0))
+
+POLYGON ((1078473.89 1000275.735 0, 1078202.743 1000271.146 0, 1077930.29 1000266.552 0, 1077657.836 1000261.973 0, 1077385.383 1000257.41 0, 1077112.929 1000252.863 0, 1076840.475 1000248.333 0, 1076568.02 1000243.818 0, 1076295.566 1000239.319 0, 1076023.111 1000234.837 0,
+ 1075750.656 1000230.37 0, 1075478.2 1000225.92 0, 1075205.744 1000221.485 0, 1074933.289 1000217.067 0, 1074660.832 1000212.664 0, 1074388.376 1000208.278 0, 1074115.919 1000203.908 0, 1073843.462 1000199.553 0, 1073571.005 1000195.215 0, 1073298.547 1000190.893 0,
+ 1073026.09 1000186.587 0, 1072753.632 1000182.297 0, 1072481.173 1000178.022 0, 1072208.715 1000173.764 0, 1071934.949 1000169.502 0, 1071663.797 1000165.296 0, 1071391.338 1000161.086 0, 1071118.878 1000156.892 0, 1070846.418 1000152.714 0, 1070573.958 1000148.553 0,
+ 1070301.498 1000144.407 0, 1070029.038 1000140.277 0, 1069756.577 1000136.163 0, 1069484.116 1000132.066 0, 1069211.655 1000127.984 0, 1068939.193 1000123.918 0, 1068666.732 1000119.869 0, 1068394.27 1000115.835 0, 1068121.807 1000111.817 0, 1067849.345 1000107.816 0,
+ 1067576.882 1000103.831 0, 1067304.42 1000099.861 0, 1067031.956 1000095.908 0, 1066759.493 1000091.97 0, 1066487.03 1000088.049 0, 1066214.566 1000084.144 0, 1065942.102 1000080.255 0, 1065669.637 1000076.381 0, 1065395.865 1000072.506 0, 1065317.039 1005652.366 0,
+ 1065238.212 1011232.308 0, 1065511.324 1011236.175 0, 1065783.132 1011240.039 0, 1066054.939 1011243.918 0, 1066326.746 1011247.814 0, 1066598.553 1011251.726 0, 1066870.359 1011255.654 0, 1067142.165 1011259.598 0, 1067413.972 1011263.558 0, 1067685.777 1011267.534 0,
+ 1067957.583 1011271.525 0, 1068229.388 1011275.533 0, 1068501.193 1011279.557 0, 1068772.998 1011283.597 0, 1069044.803 1011287.653 0, 1069316.607 1011291.725 0, 1069588.411 1011295.813 0, 1069860.215 1011299.916 0, 1070132.019 1011304.036 0, 1070403.822 1011308.172 0,
+ 1070675.625 1011312.324 0, 1070947.428 1011316.492 0, 1071219.231 1011320.675 0, 1071491.034 1011324.875 0, 1071761.532 1011329.071 0, 1072034.638 1011333.323 0, 1072306.439 1011337.571 0, 1072578.241 1011341.835 0, 1072850.042 1011346.114 0, 1073121.843 1011350.41 0,
+ 1073393.644 1011354.722 0, 1073665.444 1011359.05 0, 1073937.244 1011363.394 0, 1074209.044 1011367.753 0, 1074480.844 1011372.129 0, 1074752.643 1011376.521 0, 1075024.442 1011380.929 0, 1075296.241 1011385.353 0, 1075568.04 1011389.792 0, 1075839.838 1011394.248 0,
+ 1076111.636 1011398.72 0, 1076383.434 1011403.208 0, 1076655.232 1011407.711 0, 1076927.029 1011412.231 0, 1077198.826 1011416.767 0, 1077470.623 1011421.319 0, 1077742.419 1011425.887 0, 1078014.216 1011430.47 0, 1078284.709 1011435.048 0, 1078379.3 1005855.351 0,
+ 1078473.89 1000275.735 0))
+
+POLYGON ((1091330.581 1011674.645 0, 1091060.099 1011669.304 0, 1090788.317 1011663.952 0, 1090516.535 1011658.616 0, 1090244.752 1011653.297 0, 1089972.969 1011647.993 0, 1089701.185 1011642.705 0, 1089429.402 1011637.434 0, 1089157.617 1011632.178 0, 1088885.833 1011626.939 0,
+ 1088614.048 1011621.715 0, 1088342.263 1011616.507 0, 1088070.478 1011611.316 0, 1087798.693 1011606.14 0, 1087526.907 1011600.98 0, 1087255.12 1011595.837 0, 1086983.334 1011590.709 0, 1086711.547 1011585.597 0, 1086439.76 1011580.502 0, 1086167.973 1011575.422 0,
+ 1085896.185 1011570.358 0, 1085624.397 1011565.311 0, 1085352.609 1011560.279 0, 1085080.82 1011555.263 0, 1084807.73 1011550.24 0, 1084537.242 1011545.28 0, 1084265.452 1011540.312 0, 1083993.663 1011535.36 0, 1083721.872 1011530.425 0, 1083450.082 1011525.505 0,
+ 1083178.291 1011520.601 0, 1082906.501 1011515.714 0, 1082634.709 1011510.842 0, 1082362.918 1011505.986 0, 1082091.126 1011501.146 0, 1081819.334 1011496.323 0, 1081547.542 1011491.515 0, 1081275.749 1011486.723 0, 1081003.956 1011481.948 0, 1080732.163 1011477.188 0,
+ 1080460.369 1011472.444 0, 1080188.576 1011467.716 0, 1079916.782 1011463.005 0, 1079644.987 1011458.309 0, 1079373.193 1011453.629 0, 1079101.398 1011448.965 0, 1078829.603 1011444.318 0, 1078557.807 1011439.686 0, 1078284.709 1011435.048 0, 1078190.116 1017014.823 0,
+ 1078095.523 1022594.671 0, 1078367.961 1022599.298 0, 1078639.1 1022603.919 0, 1078910.238 1022608.555 0, 1079181.376 1022613.208 0, 1079452.514 1022617.876 0, 1079723.651 1022622.56 0, 1079994.788 1022627.261 0, 1080265.925 1022631.977 0, 1080537.062 1022636.709 0,
+ 1080808.198 1022641.458 0, 1081079.335 1022646.222 0, 1081350.47 1022651.002 0, 1081621.606 1022655.798 0, 1081892.741 1022660.61 0, 1082163.876 1022665.438 0, 1082435.011 1022670.282 0, 1082706.145 1022675.142 0, 1082977.279 1022680.018 0, 1083248.413 1022684.91 0,
+ 1083519.547 1022689.818 0, 1083790.68 1022694.741 0, 1084061.813 1022699.681 0, 1084332.946 1022704.637 0, 1084602.78 1022709.585 0, 1084875.21 1022714.596 0, 1085146.342 1022719.6 0, 1085417.473 1022724.619 0, 1085688.604 1022729.655 0, 1085959.735 1022734.706 0,
+ 1086230.866 1022739.773 0, 1086501.996 1022744.857 0, 1086773.126 1022749.956 0, 1087044.256 1022755.071 0, 1087315.385 1022760.203 0, 1087586.515 1022765.35 0, 1087857.643 1022770.513 0, 1088128.772 1022775.692 0, 1088399.9 1022780.887 0, 1088671.028 1022786.098 0,
+ 1088942.155 1022791.325 0, 1089213.283 1022796.568 0, 1089484.41 1022801.827 0, 1089755.536 1022807.102 0, 1090026.663 1022812.393 0, 1090297.789 1022817.699 0, 1090568.914 1022823.022 0, 1090840.04 1022828.361 0, 1091109.868 1022833.69 0, 1091220.225 1017254.131 0,
+ 1091330.581 1011674.645 0))
+
+POLYGON ((1104123.485 1023109.475 0, 1103853.671 1023103.384 0, 1103582.562 1023097.279 0, 1103311.453 1023091.19 0, 1103040.343 1023085.118 0, 1102769.232 1023079.061 0, 1102498.122 1023073.02 0, 1102227.011 1023066.995 0, 1101955.899 1023060.986 0, 1101684.788 1023054.993 0,
+ 1101413.675 1023049.016 0, 1101142.563 1023043.055 0, 1100871.45 1023037.11 0, 1100600.337 1023031.181 0, 1100329.224 1023025.268 0, 1100058.11 1023019.371 0, 1099786.996 1023013.49 0, 1099515.881 1023007.624 0, 1099244.766 1023001.775 0, 1098973.651 1022995.942 0,
+ 1098702.536 1022990.124 0, 1098431.42 1022984.323 0, 1098160.303 1022978.537 0, 1097889.187 1022972.768 0, 1097616.774 1022966.987 0, 1097346.953 1022961.277 0, 1097075.835 1022955.555 0, 1096804.717 1022949.849 0, 1096533.599 1022944.159 0, 1096262.48 1022938.486 0,
+ 1095991.361 1022932.828 0, 1095720.242 1022927.186 0, 1095449.123 1022921.56 0, 1095178.003 1022915.95 0, 1094906.882 1022910.356 0, 1094635.762 1022904.778 0, 1094364.641 1022899.216 0, 1094093.52 1022893.67 0, 1093822.398 1022888.14 0, 1093551.276 1022882.625 0,
+ 1093280.154 1022877.127 0, 1093009.032 1022871.645 0, 1092737.909 1022866.178 0, 1092466.785 1022860.728 0, 1092195.662 1022855.294 0, 1091924.538 1022849.875 0, 1091653.414 1022844.473 0, 1091382.29 1022839.086 0, 1091109.868 1022833.69 0, 1090999.509 1028413.318 0,
+ 1090889.149 1033993.011 0, 1091160.911 1033998.394 0, 1091431.378 1034003.768 0, 1091701.846 1034009.157 0, 1091972.313 1034014.563 0, 1092242.779 1034019.984 0, 1092513.246 1034025.421 0, 1092783.712 1034030.874 0, 1093054.178 1034036.343 0, 1093324.643 1034041.828 0,
+ 1093595.108 1034047.329 0, 1093865.573 1034052.846 0, 1094136.037 1034058.379 0, 1094406.501 1034063.927 0, 1094676.965 1034069.492 0, 1094947.429 1034075.072 0, 1095217.892 1034080.669 0, 1095488.354 1034086.281 0, 1095758.817 1034091.909 0, 1096029.279 1034097.553 0,
+ 1096299.741 1034103.213 0, 1096570.202 1034108.889 0, 1096840.663 1034114.581 0, 1097111.124 1034120.289 0, 1097380.292 1034125.985 0, 1097652.045 1034131.752 0, 1097922.505 1034137.508 0, 1098192.964 1034143.279 0, 1098463.423 1034149.067 0, 1098733.882 1034154.87 0,
+ 1099004.34 1034160.689 0, 1099274.798 1034166.524 0, 1099545.256 1034172.376 0, 1099815.713 1034178.243 0, 1100086.17 1034184.125 0, 1100356.627 1034190.024 0, 1100627.083 1034195.939 0, 1100897.539 1034201.87 0, 1101167.995 1034207.816 0, 1101438.45 1034213.779 0,
+ 1101708.905 1034219.757 0, 1101979.36 1034225.752 0, 1102249.814 1034231.762 0, 1102520.268 1034237.788 0, 1102790.722 1034243.83 0, 1103061.175 1034249.888 0, 1103331.628 1034255.962 0, 1103602.08 1034262.052 0, 1103871.24 1034268.128 0, 1103997.363 1028688.769 0,
+ 1104123.485 1023109.475 0))
+
+POLYGON ((1116852.502 1034579.921 0, 1116583.358 1034573.084 0, 1116312.924 1034566.23 0, 1116042.49 1034559.393 0, 1115772.055 1034552.57 0, 1115501.619 1034545.764 0, 1115231.184 1034538.974 0, 1114960.747 1034532.2 0, 1114690.311 1034525.441 0, 1114419.874 1034518.699 0,
+ 1114149.437 1034511.972 0, 1113878.999 1034505.262 0, 1113608.561 1034498.567 0, 1113338.122 1034491.888 0, 1113067.683 1034485.225 0, 1112797.244 1034478.578 0, 1112526.804 1034471.947 0, 1112256.364 1034465.332 0, 1111985.923 1034458.733 0, 1111715.483 1034452.149 0,
+ 1111445.041 1034445.582 0, 1111174.6 1034439.031 0, 1110904.158 1034432.495 0, 1110633.715 1034425.975 0, 1110361.981 1034419.441 0, 1110092.829 1034412.984 0, 1109822.385 1034406.512 0, 1109551.942 1034400.056 0, 1109281.497 1034393.616 0, 1109011.052 1034387.192 0,
+ 1108740.607 1034380.784 0, 1108470.162 1034374.391 0, 1108199.716 1034368.015 0, 1107929.27 1034361.654 0, 1107658.823 1034355.31 0, 1107388.376 1034348.981 0, 1107117.929 1034342.669 0, 1106847.481 1034336.372 0, 1106577.033 1034330.091 0, 1106306.585 1034323.826 0,
+ 1106036.136 1034317.577 0, 1105765.687 1034311.344 0, 1105495.237 1034305.127 0, 1105224.787 1034298.925 0, 1104954.337 1034292.74 0, 1104683.886 1034286.571 0, 1104413.435 1034280.417 0, 1104142.984 1034274.279 0, 1103871.24 1034268.128 0, 1103745.116 1039847.549 0,
+ 1103618.99 1045427.025 0, 1103890.073 1045433.161 0, 1104159.868 1045439.284 0, 1104429.662 1045445.423 0, 1104699.456 1045451.577 0, 1104969.25 1045457.748 0, 1105239.043 1045463.934 0, 1105508.835 1045470.136 0, 1105778.628 1045476.354 0, 1106048.42 1045482.588 0,
+ 1106318.212 1045488.837 0, 1106588.003 1045495.103 0, 1106857.794 1045501.385 0, 1107127.584 1045507.682 0, 1107397.375 1045513.995 0, 1107667.164 1045520.324 0, 1107936.954 1045526.669 0, 1108206.743 1045533.03 0, 1108476.532 1045539.407 0, 1108746.32 1045545.8 0,
+ 1109016.108 1045552.208 0, 1109285.895 1045558.633 0, 1109555.683 1045565.073 0, 1109825.469 1045571.529 0, 1110093.968 1045577.97 0, 1110365.042 1045584.489 0, 1110634.828 1045590.993 0, 1110904.613 1045597.513 0, 1111174.398 1045604.048 0, 1111444.182 1045610.6 0,
+ 1111713.966 1045617.167 0, 1111983.75 1045623.75 0, 1112253.534 1045630.349 0, 1112523.316 1045636.964 0, 1112793.099 1045643.595 0, 1113062.881 1045650.242 0, 1113332.663 1045656.904 0, 1113602.444 1045663.583 0, 1113872.225 1045670.277 0, 1114142.006 1045676.987 0,
+ 1114411.786 1045683.713 0, 1114681.566 1045690.455 0, 1114951.346 1045697.213 0, 1115221.125 1045703.987 0, 1115490.903 1045710.777 0, 1115760.681 1045717.582 0, 1116030.459 1045724.404 0, 1116300.237 1045731.241 0, 1116568.727 1045738.061 0, 1116710.615 1040158.963 0,
+ 1116852.502 1034579.921 0))
+
+POLYGON ((1129517.534 1046085.681 0, 1129249.062 1046078.102 0, 1128979.305 1046070.503 0, 1128709.547 1046062.919 0, 1128439.789 1046055.351 0, 1128170.031 1046047.8 0, 1127900.272 1046040.264 0, 1127630.513 1046032.744 0, 1127360.753 1046025.24 0, 1127090.993 1046017.751 0,
+ 1126821.233 1046010.279 0, 1126551.472 1046002.823 0, 1126281.71 1045995.382 0, 1126011.948 1045987.957 0, 1125742.186 1045980.548 0, 1125472.423 1045973.155 0, 1125202.66 1045965.778 0, 1124932.896 1045958.417 0, 1124663.132 1045951.072 0, 1124393.368 1045943.742 0,
+ 1124123.603 1045936.428 0, 1123853.837 1045929.131 0, 1123584.072 1045921.849 0, 1123314.305 1045914.583 0, 1123043.253 1045907.298 0, 1122774.772 1045900.099 0, 1122505.004 1045892.88 0, 1122235.236 1045885.678 0, 1121965.468 1045878.491 0, 1121695.699 1045871.32 0,
+ 1121425.93 1045864.166 0, 1121156.16 1045857.027 0, 1120886.39 1045849.904 0, 1120616.62 1045842.796 0, 1120346.849 1045835.705 0, 1120077.078 1045828.63 0, 1119807.306 1045821.57 0, 1119537.534 1045814.526 0, 1119267.761 1045807.499 0, 1118997.989 1045800.487 0,
+ 1118728.215 1045793.491 0, 1118458.441 1045786.51 0, 1118188.667 1045779.546 0, 1117918.893 1045772.598 0, 1117649.118 1045765.665 0, 1117379.342 1045758.749 0, 1117109.566 1045751.848 0, 1116839.79 1045744.963 0, 1116568.727 1045738.061 0, 1116426.837 1051317.212 0,
+ 1116284.946 1056896.411 0, 1116555.35 1056903.296 0, 1116824.469 1056910.164 0, 1117093.588 1056917.048 0, 1117362.707 1056923.948 0, 1117631.825 1056930.863 0, 1117900.943 1056937.795 0, 1118170.06 1056944.742 0, 1118439.177 1056951.705 0, 1118708.294 1056958.684 0,
+ 1118977.41 1056965.679 0, 1119246.526 1056972.69 0, 1119515.641 1056979.716 0, 1119784.756 1056986.759 0, 1120053.871 1056993.817 0, 1120322.985 1057000.891 0, 1120592.098 1057007.981 0, 1120861.212 1057015.087 0, 1121130.325 1057022.208 0, 1121399.437 1057029.346 0,
+ 1121668.549 1057036.499 0, 1121937.661 1057043.668 0, 1122206.772 1057050.853 0, 1122475.883 1057058.054 0, 1122743.711 1057065.236 0, 1123014.103 1057072.503 0, 1123283.212 1057079.751 0, 1123552.321 1057087.015 0, 1123821.43 1057094.295 0, 1124090.538 1057101.591 0,
+ 1124359.646 1057108.902 0, 1124628.753 1057116.23 0, 1124897.86 1057123.573 0, 1125166.967 1057130.932 0, 1125436.073 1057138.307 0, 1125705.178 1057145.698 0, 1125974.284 1057153.105 0, 1126243.388 1057160.527 0, 1126512.493 1057167.966 0, 1126781.596 1057175.42 0,
+ 1127050.7 1057182.89 0, 1127319.803 1057190.376 0, 1127588.905 1057197.878 0, 1127858.008 1057205.395 0, 1128127.109 1057212.929 0, 1128396.21 1057220.478 0, 1128665.311 1057228.043 0, 1128934.411 1057235.624 0, 1129202.23 1057243.184 0, 1129359.883 1051664.409 0,
+ 1129517.534 1046085.681 0))
+
+POLYGON ((1142118.482 1057626.45 0, 1141850.684 1057618.133 0, 1141581.607 1057609.792 0, 1141312.528 1057601.467 0, 1141043.449 1057593.157 0, 1140774.37 1057584.863 0, 1140505.29 1057576.586 0, 1140236.21 1057568.324 0, 1139967.129 1057560.078 0, 1139698.048 1057551.847 0,
+ 1139428.966 1057543.633 0, 1139159.884 1057535.434 0, 1138890.801 1057527.252 0, 1138621.718 1057519.085 0, 1138352.635 1057510.934 0, 1138083.55 1057502.798 0, 1137814.466 1057494.679 0, 1137545.381 1057486.575 0, 1137276.295 1057478.488 0, 1137007.209 1057470.416 0,
+ 1136738.123 1057462.36 0, 1136469.036 1057454.319 0, 1136199.948 1057446.295 0, 1135930.86 1057438.287 0, 1135660.492 1057430.256 0, 1135392.683 1057422.317 0, 1135123.594 1057414.356 0, 1134854.504 1057406.411 0, 1134585.414 1057398.481 0, 1134316.323 1057390.568 0,
+ 1134047.232 1057382.67 0, 1133778.14 1057374.788 0, 1133509.048 1057366.922 0, 1133239.955 1057359.072 0, 1132970.862 1057351.238 0, 1132701.769 1057343.419 0, 1132432.675 1057335.617 0, 1132163.58 1057327.83 0, 1131894.485 1057320.059 0, 1131625.39 1057312.304 0,
+ 1131356.294 1057304.565 0, 1131087.198 1057296.841 0, 1130818.101 1057289.134 0, 1130549.004 1057281.442 0, 1130279.906 1057273.766 0, 1130010.808 1057266.106 0, 1129741.71 1057258.461 0, 1129472.611 1057250.833 0, 1129202.23 1057243.184 0, 1129044.576 1062822.004 0,
+ 1128886.921 1068400.863 0, 1129156.642 1068408.493 0, 1129425.084 1068416.103 0, 1129693.526 1068423.729 0, 1129961.967 1068431.37 0, 1130230.408 1068439.027 0, 1130498.849 1068446.7 0, 1130767.289 1068454.389 0, 1131035.728 1068462.094 0, 1131304.167 1068469.814 0,
+ 1131572.606 1068477.55 0, 1131841.044 1068485.302 0, 1132109.482 1068493.07 0, 1132377.919 1068500.854 0, 1132646.356 1068508.653 0, 1132914.792 1068516.468 0, 1133183.228 1068524.299 0, 1133451.664 1068532.146 0, 1133720.099 1068540.009 0, 1133988.533 1068547.887 0,
+ 1134256.967 1068555.781 0, 1134525.401 1068563.691 0, 1134793.834 1068571.617 0, 1135062.267 1068579.559 0, 1135329.422 1068587.478 0, 1135599.131 1068595.489 0, 1135867.562 1068603.478 0, 1136135.993 1068611.483 0, 1136404.423 1068619.504 0, 1136672.853 1068627.54 0,
+ 1136941.282 1068635.592 0, 1137209.711 1068643.66 0, 1137478.139 1068651.744 0, 1137746.567 1068659.844 0, 1138014.995 1068667.959 0, 1138283.422 1068676.09 0, 1138551.848 1068684.237 0, 1138820.274 1068692.4 0, 1139088.7 1068700.579 0, 1139357.125 1068708.773 0,
+ 1139625.549 1068716.983 0, 1139893.973 1068725.209 0, 1140162.397 1068733.451 0, 1140430.82 1068741.708 0, 1140699.243 1068749.982 0, 1140967.665 1068758.271 0, 1141236.087 1068766.576 0, 1141504.508 1068774.897 0, 1141771.652 1068783.194 0, 1141945.068 1063204.802 0,
+ 1142118.482 1057626.45 0))
+
+POLYGON ((1154655.252 1069201.924 0, 1154388.13 1069192.873 0, 1154119.733 1069183.794 0, 1153851.336 1069174.73 0, 1153582.939 1069165.683 0, 1153314.54 1069156.651 0, 1153046.142 1069147.635 0, 1152777.742 1069138.635 0, 1152509.343 1069129.651 0, 1152240.942 1069120.682 0,
+ 1151972.541 1069111.73 0, 1151704.14 1069102.793 0, 1151435.738 1069093.872 0, 1151167.336 1069084.966 0, 1150898.933 1069076.077 0, 1150630.529 1069067.203 0, 1150362.125 1069058.345 0, 1150093.721 1069049.503 0, 1149825.316 1069040.677 0, 1149556.91 1069031.866 0,
+ 1149288.504 1069023.072 0, 1149020.098 1069014.293 0, 1148751.691 1069005.53 0, 1148483.283 1068996.782 0, 1148213.6 1068988.009 0, 1147946.466 1068979.335 0, 1147678.057 1068970.635 0, 1147409.648 1068961.951 0, 1147141.237 1068953.283 0, 1146872.827 1068944.63 0,
+ 1146604.416 1068935.993 0, 1146336.004 1068927.372 0, 1146067.592 1068918.767 0, 1145799.179 1068910.178 0, 1145530.766 1068901.604 0, 1145262.352 1068893.047 0, 1144993.938 1068884.505 0, 1144725.523 1068875.978 0, 1144457.108 1068867.468 0, 1144188.692 1068858.973 0,
+ 1143920.276 1068850.495 0, 1143651.859 1068842.032 0, 1143383.442 1068833.585 0, 1143115.024 1068825.153 0, 1142846.606 1068816.738 0, 1142578.187 1068808.338 0, 1142309.768 1068799.954 0, 1142041.349 1068791.586 0, 1141771.652 1068783.194 0, 1141598.236 1074361.621 0,
+ 1141424.818 1079940.079 0, 1141693.854 1079948.45 0, 1141961.617 1079956.798 0, 1142229.38 1079965.161 0, 1142497.142 1079973.54 0, 1142764.903 1079981.935 0, 1143032.664 1079990.346 0, 1143300.425 1079998.773 0, 1143568.185 1080007.215 0, 1143835.945 1080015.673 0,
+ 1144103.704 1080024.147 0, 1144371.462 1080032.636 0, 1144639.22 1080041.142 0, 1144906.978 1080049.663 0, 1145174.735 1080058.199 0, 1145442.491 1080066.752 0, 1145710.247 1080075.32 0, 1145978.003 1080083.904 0, 1146245.758 1080092.504 0, 1146513.513 1080101.12 0,
+ 1146781.267 1080109.751 0, 1147049.02 1080118.398 0, 1147316.773 1080127.061 0, 1147584.526 1080135.74 0, 1147851.006 1080144.393 0, 1148120.029 1080153.145 0, 1148387.78 1080161.87 0, 1148655.53 1080170.612 0, 1148923.28 1080179.37 0, 1149191.03 1080188.143 0,
+ 1149458.779 1080196.932 0, 1149726.527 1080205.737 0, 1149994.275 1080214.557 0, 1150262.022 1080223.393 0, 1150529.769 1080232.245 0, 1150797.515 1080241.113 0, 1151065.261 1080249.997 0, 1151333.006 1080258.896 0, 1151600.751 1080267.811 0, 1151868.495 1080276.742 0,
+ 1152136.239 1080285.688 0, 1152403.982 1080294.651 0, 1152671.725 1080303.629 0, 1152939.467 1080312.622 0, 1153207.208 1080321.632 0, 1153474.949 1080330.657 0, 1153742.69 1080339.698 0, 1154010.43 1080348.755 0, 1154276.899 1080357.785 0, 1154466.076 1074779.839 0,
+ 1154655.252 1069201.924 0))
+
+POLYGON ((1167127.748 1080811.799 0, 1166861.304 1080802.017 0, 1166593.591 1080792.203 0, 1166325.877 1080782.406 0, 1166058.162 1080772.624 0, 1165790.447 1080762.858 0, 1165522.732 1080753.108 0, 1165255.015 1080743.373 0, 1164987.299 1080733.655 0, 1164719.581 1080723.952 0,
+ 1164451.863 1080714.265 0, 1164184.145 1080704.593 0, 1163916.426 1080694.938 0, 1163648.706 1080685.298 0, 1163380.986 1080675.673 0, 1163113.265 1080666.065 0, 1162845.544 1080656.472 0, 1162577.822 1080646.896 0, 1162310.1 1080637.334 0, 1162042.377 1080627.789 0,
+ 1161774.653 1080618.259 0, 1161506.929 1080608.746 0, 1161239.204 1080599.247 0, 1160971.479 1080589.765 0, 1160702.484 1080580.254 0, 1160436.027 1080570.848 0, 1160168.3 1080561.413 0, 1159900.573 1080551.993 0, 1159632.845 1080542.59 0, 1159365.116 1080533.202 0,
+ 1159097.387 1080523.83 0, 1158829.657 1080514.474 0, 1158561.927 1080505.133 0, 1158294.196 1080495.808 0, 1158026.465 1080486.499 0, 1157758.733 1080477.206 0, 1157491.001 1080467.929 0, 1157223.268 1080458.667 0, 1156955.534 1080449.421 0, 1156687.8 1080440.191 0,
+ 1156420.066 1080430.976 0, 1156152.33 1080421.778 0, 1155884.595 1080412.595 0, 1155616.859 1080403.427 0, 1155349.122 1080394.276 0, 1155081.384 1080385.14 0, 1154813.647 1080376.021 0, 1154545.908 1080366.916 0, 1154276.899 1080357.785 0, 1154087.72 1085935.757 0,
+ 1153898.542 1091513.752 0, 1154166.892 1091522.861 0, 1154433.973 1091531.943 0, 1154701.054 1091541.04 0, 1154968.135 1091550.154 0, 1155235.215 1091559.283 0, 1155502.295 1091568.427 0, 1155769.374 1091577.588 0, 1156036.453 1091586.764 0, 1156303.53 1091595.956 0,
+ 1156570.608 1091605.163 0, 1156837.685 1091614.387 0, 1157104.761 1091623.626 0, 1157371.837 1091632.88 0, 1157638.912 1091642.151 0, 1157905.987 1091651.437 0, 1158173.061 1091660.739 0, 1158440.135 1091670.057 0, 1158707.208 1091679.39 0, 1158974.28 1091688.739 0,
+ 1159241.352 1091698.104 0, 1159508.424 1091707.484 0, 1159775.495 1091716.88 0, 1160042.565 1091726.292 0, 1160308.368 1091735.675 0, 1160576.704 1091745.163 0, 1160843.773 1091754.622 0, 1161110.841 1091764.097 0, 1161377.908 1091773.588 0, 1161644.975 1091783.094 0,
+ 1161912.042 1091792.616 0, 1162179.108 1091802.154 0, 1162446.173 1091811.707 0, 1162713.238 1091821.276 0, 1162980.302 1091830.861 0, 1163247.365 1091840.462 0, 1163514.428 1091850.078 0, 1163781.491 1091859.71 0, 1164048.553 1091869.358 0, 1164315.614 1091879.021 0,
+ 1164582.675 1091888.7 0, 1164849.735 1091898.395 0, 1165116.795 1091908.106 0, 1165383.854 1091917.832 0, 1165650.912 1091927.574 0, 1165917.97 1091937.332 0, 1166185.028 1091947.105 0, 1166452.084 1091956.894 0, 1166717.875 1091966.653 0, 1166922.812 1086389.215 0,
+ 1167127.748 1080811.799 0))
+
+POLYGON ((1179535.878 1092455.768 0, 1179270.114 1092445.259 0, 1179003.086 1092434.716 0, 1178736.057 1092424.188 0, 1178469.028 1092413.675 0, 1178201.998 1092403.179 0, 1177934.967 1092392.698 0, 1177667.936 1092382.233 0, 1177400.904 1092371.784 0, 1177133.872 1092361.35 0,
+ 1176866.839 1092350.932 0, 1176599.805 1092340.53 0, 1176332.771 1092330.144 0, 1176065.736 1092319.773 0, 1175798.701 1092309.418 0, 1175531.665 1092299.079 0, 1175264.628 1092288.755 0, 1174997.591 1092278.447 0, 1174730.553 1092268.155 0, 1174463.515 1092257.879 0,
+ 1174196.476 1092247.618 0, 1173929.436 1092237.373 0, 1173662.396 1092227.144 0, 1173395.355 1092216.93 0, 1173127.049 1092206.684 0, 1172861.271 1092196.55 0, 1172594.229 1092186.384 0, 1172327.185 1092176.233 0, 1172060.142 1092166.098 0, 1171793.097 1092155.979 0,
+ 1171526.052 1092145.875 0, 1171259.006 1092135.787 0, 1170991.96 1092125.715 0, 1170724.913 1092115.659 0, 1170457.866 1092105.618 0, 1170190.818 1092095.593 0, 1169923.769 1092085.584 0, 1169656.72 1092075.59 0, 1169389.67 1092065.613 0, 1169122.62 1092055.651 0,
+ 1168855.569 1092045.704 0, 1168588.518 1092035.774 0, 1168321.465 1092025.859 0, 1168054.413 1092015.959 0, 1167787.359 1092006.076 0, 1167520.306 1091996.208 0, 1167253.251 1091986.356 0, 1166986.196 1091976.52 0, 1166717.875 1091966.653 0, 1166512.937 1097544.109 0,
+ 1166307.999 1103121.578 0, 1166575.661 1103131.421 0, 1166842.059 1103141.233 0, 1167108.457 1103151.061 0, 1167374.854 1103160.905 0, 1167641.251 1103170.764 0, 1167907.647 1103180.639 0, 1168174.043 1103190.529 0, 1168440.438 1103200.435 0, 1168706.832 1103210.357 0,
+ 1168973.226 1103220.295 0, 1169239.619 1103230.248 0, 1169506.012 1103240.217 0, 1169772.404 1103250.202 0, 1170038.795 1103260.202 0, 1170305.186 1103270.218 0, 1170571.577 1103280.25 0, 1170837.966 1103290.297 0, 1171104.355 1103300.36 0, 1171370.744 1103310.439 0,
+ 1171637.132 1103320.533 0, 1171903.519 1103330.643 0, 1172169.906 1103340.769 0, 1172436.292 1103350.91 0, 1172701.416 1103361.019 0, 1172969.063 1103371.24 0, 1173235.447 1103381.429 0, 1173501.831 1103391.633 0, 1173768.214 1103401.853 0, 1174034.596 1103412.088 0,
+ 1174300.978 1103422.339 0, 1174567.36 1103432.606 0, 1174833.74 1103442.889 0, 1175100.12 1103453.187 0, 1175366.5 1103463.501 0, 1175632.879 1103473.83 0, 1175899.257 1103484.176 0, 1176165.635 1103494.537 0, 1176432.012 1103504.913 0, 1176698.388 1103515.305 0,
+ 1176964.764 1103525.713 0, 1177231.14 1103536.137 0, 1177497.514 1103546.576 0, 1177763.888 1103557.031 0, 1178030.262 1103567.502 0, 1178296.634 1103577.988 0, 1178563.007 1103588.49 0, 1178829.378 1103599.008 0, 1179094.489 1103609.492 0, 1179315.184 1098032.623 0,
+ 1179535.878 1092455.768 0))
+
+POLYGON ((1191879.549 1104133.527 0, 1191614.467 1104122.295 0, 1191348.126 1104111.024 0, 1191081.785 1104099.77 0, 1190815.443 1104088.531 0, 1190549.1 1104077.308 0, 1190282.756 1104066.1 0, 1190016.412 1104054.908 0, 1189750.068 1104043.732 0, 1189483.722 1104032.572 0,
+ 1189217.376 1104021.427 0, 1188951.029 1104010.298 0, 1188684.682 1103999.184 0, 1188418.334 1103988.087 0, 1188151.985 1103977.005 0, 1187885.636 1103965.938 0, 1187619.286 1103954.887 0, 1187352.936 1103943.852 0, 1187086.584 1103932.833 0, 1186820.232 1103921.829 0,
+ 1186553.88 1103910.841 0, 1186287.527 1103899.869 0, 1186021.173 1103888.912 0, 1185754.818 1103877.971 0, 1185487.204 1103866.994 0, 1185222.107 1103856.136 0, 1184955.751 1103845.242 0, 1184689.394 1103834.364 0, 1184423.036 1103823.501 0, 1184156.678 1103812.654 0,
+ 1183890.319 1103801.823 0, 1183623.959 1103791.008 0, 1183357.599 1103780.208 0, 1183091.238 1103769.423 0, 1182824.876 1103758.655 0, 1182558.514 1103747.902 0, 1182292.152 1103737.165 0, 1182025.788 1103726.443 0, 1181759.424 1103715.738 0, 1181493.059 1103705.047 0,
+ 1181226.694 1103694.373 0, 1180960.328 1103683.714 0, 1180693.962 1103673.071 0, 1180427.594 1103662.443 0, 1180161.227 1103651.832 0, 1179894.858 1103641.236 0, 1179628.489 1103630.655 0, 1179362.119 1103620.09 0, 1179094.489 1103609.492 0, 1178873.794 1109186.369 0,
+ 1178653.099 1114763.251 0, 1178920.069 1114773.824 0, 1179185.783 1114784.363 0, 1179451.495 1114794.917 0, 1179717.207 1114805.487 0, 1179982.919 1114816.073 0, 1180248.629 1114826.674 0, 1180514.339 1114837.291 0, 1180780.049 1114847.924 0, 1181045.758 1114858.572 0,
+ 1181311.466 1114869.235 0, 1181577.173 1114879.915 0, 1181842.88 1114890.61 0, 1182108.587 1114901.321 0, 1182374.292 1114912.047 0, 1182639.997 1114922.789 0, 1182905.702 1114933.547 0, 1183171.406 1114944.32 0, 1183437.109 1114955.109 0, 1183702.811 1114965.914 0,
+ 1183968.513 1114976.734 0, 1184234.214 1114987.57 0, 1184499.915 1114998.421 0, 1184765.615 1115009.288 0, 1185030.058 1115020.119 0, 1185297.013 1115031.069 0, 1185562.711 1115041.983 0, 1185828.409 1115052.913 0, 1186094.105 1115063.858 0, 1186359.801 1115074.819 0,
+ 1186625.497 1115085.796 0, 1186891.192 1115096.788 0, 1187156.886 1115107.796 0, 1187422.579 1115118.819 0, 1187688.272 1115129.859 0, 1187953.965 1115140.913 0, 1188219.656 1115151.984 0, 1188485.347 1115163.07 0, 1188751.037 1115174.172 0, 1189016.727 1115185.289 0,
+ 1189282.416 1115196.422 0, 1189548.104 1115207.57 0, 1189813.792 1115218.735 0, 1190079.479 1115229.915 0, 1190345.165 1115241.11 0, 1190610.851 1115252.321 0, 1190876.536 1115263.548 0, 1191142.22 1115274.791 0, 1191406.649 1115285.995 0, 1191643.099 1109709.759 0,
+ 1191879.549 1104133.527 0))
+
+POLYGON ((1204158.672 1115844.768 0, 1203894.274 1115832.816 0, 1203628.622 1115820.823 0, 1203362.97 1115808.846 0, 1203097.317 1115796.884 0, 1202831.663 1115784.938 0, 1202566.009 1115773.008 0, 1202300.354 1115761.093 0, 1202034.698 1115749.194 0, 1201769.042 1115737.31 0,
+ 1201503.385 1115725.442 0, 1201237.727 1115713.59 0, 1200972.068 1115701.753 0, 1200706.409 1115689.932 0, 1200440.749 1115678.127 0, 1200175.088 1115666.337 0, 1199909.427 1115654.563 0, 1199643.765 1115642.805 0, 1199378.102 1115631.062 0, 1199112.439 1115619.335 0,
+ 1198846.775 1115607.623 0, 1198581.11 1115595.927 0, 1198315.445 1115584.247 0, 1198049.778 1115572.582 0, 1197782.858 1115560.879 0, 1197518.444 1115549.3 0, 1197252.776 1115537.682 0, 1196987.107 1115526.08 0, 1196721.437 1115514.494 0, 1196455.767 1115502.923 0,
+ 1196190.096 1115491.368 0, 1195924.425 1115479.828 0, 1195658.752 1115468.304 0, 1195393.079 1115456.796 0, 1195127.406 1115445.303 0, 1194861.731 1115433.826 0, 1194596.056 1115422.365 0, 1194330.381 1115410.919 0, 1194064.704 1115399.489 0, 1193799.027 1115388.075 0,
+ 1193533.35 1115376.676 0, 1193267.671 1115365.293 0, 1193001.992 1115353.925 0, 1192736.312 1115342.573 0, 1192470.632 1115331.237 0, 1192204.951 1115319.917 0, 1191939.269 1115308.612 0, 1191673.587 1115297.322 0, 1191406.649 1115285.995 0, 1191170.199 1120862.232 0,
+ 1190933.749 1126438.465 0, 1191200.027 1126449.764 0, 1191465.053 1126461.025 0, 1191730.079 1126472.302 0, 1191995.103 1126483.595 0, 1192260.127 1126494.903 0, 1192525.151 1126506.227 0, 1192790.173 1126517.567 0, 1193055.195 1126528.922 0, 1193320.217 1126540.292 0,
+ 1193585.237 1126551.679 0, 1193850.257 1126563.08 0, 1194115.276 1126574.498 0, 1194380.295 1126585.931 0, 1194645.313 1126597.38 0, 1194910.33 1126608.844 0, 1195175.347 1126620.324 0, 1195440.363 1126631.819 0, 1195705.378 1126643.33 0, 1195970.393 1126654.857 0,
+ 1196235.406 1126666.399 0, 1196500.42 1126677.957 0, 1196765.432 1126689.53 0, 1197030.444 1126701.119 0, 1197294.204 1126712.669 0, 1197560.466 1126724.344 0, 1197825.475 1126735.98 0, 1198090.484 1126747.631 0, 1198355.493 1126759.298 0, 1198620.501 1126770.981 0,
+ 1198885.508 1126782.679 0, 1199150.514 1126794.393 0, 1199415.52 1126806.122 0, 1199680.525 1126817.867 0, 1199945.529 1126829.628 0, 1200210.532 1126841.404 0, 1200475.535 1126853.196 0, 1200740.538 1126865.003 0, 1201005.539 1126876.826 0, 1201270.54 1126888.665 0,
+ 1201535.54 1126900.519 0, 1201800.539 1126912.389 0, 1202065.538 1126924.274 0, 1202330.536 1126936.175 0, 1202595.533 1126948.092 0, 1202860.53 1126960.024 0, 1203125.526 1126971.972 0, 1203390.521 1126983.935 0, 1203654.266 1126995.858 0, 1203906.469 1121420.315 0,
+ 1204158.672 1115844.768 0))
+
+POLYGON ((1216373.157 1127589.186 0, 1216109.445 1127576.518 0, 1215844.485 1127563.806 0, 1215579.524 1127551.11 0, 1215314.562 1127538.429 0, 1215049.599 1127525.764 0, 1214784.636 1127513.114 0, 1214519.672 1127500.48 0, 1214254.707 1127487.862 0, 1213989.742 1127475.259 0,
+ 1213724.775 1127462.672 0, 1213459.808 1127450.1 0, 1213194.84 1127437.544 0, 1212929.872 1127425.003 0, 1212664.903 1127412.479 0, 1212399.933 1127399.969 0, 1212134.962 1127387.476 0, 1211869.991 1127374.998 0, 1211605.018 1127362.535 0, 1211340.045 1127350.088 0,
+ 1211075.072 1127337.657 0, 1210810.097 1127325.242 0, 1210545.122 1127312.841 0, 1210280.146 1127300.457 0, 1210013.921 1127288.03 0, 1209750.192 1127275.735 0, 1209485.214 1127263.397 0, 1209220.236 1127251.075 0, 1208955.256 1127238.769 0, 1208690.276 1127226.478 0,
+ 1208425.295 1127214.202 0, 1208160.313 1127201.943 0, 1207895.331 1127189.699 0, 1207630.348 1127177.47 0, 1207365.364 1127165.257 0, 1207100.38 1127153.06 0, 1206835.394 1127140.878 0, 1206570.408 1127128.712 0, 1206305.422 1127116.561 0, 1206040.434 1127104.427 0,
+ 1205775.446 1127092.307 0, 1205510.457 1127080.203 0, 1205245.468 1127068.115 0, 1204980.477 1127056.043 0, 1204715.487 1127043.986 0, 1204450.495 1127031.944 0, 1204185.502 1127019.919 0, 1203920.509 1127007.909 0, 1203654.266 1126995.858 0, 1203402.064 1132571.391 0,
+ 1203149.862 1138146.912 0, 1203415.446 1138158.934 0, 1203679.782 1138170.914 0, 1203944.118 1138182.91 0, 1204208.454 1138194.922 0, 1204472.788 1138206.949 0, 1204737.122 1138218.991 0, 1205001.456 1138231.049 0, 1205265.788 1138243.123 0, 1205530.12 1138255.213 0,
+ 1205794.451 1138267.317 0, 1206058.781 1138279.438 0, 1206323.111 1138291.574 0, 1206587.44 1138303.725 0, 1206851.768 1138315.892 0, 1207116.096 1138328.075 0, 1207380.423 1138340.273 0, 1207644.749 1138352.487 0, 1207909.074 1138364.716 0, 1208173.399 1138376.961 0,
+ 1208437.723 1138389.222 0, 1208702.046 1138401.498 0, 1208966.368 1138413.789 0, 1209230.69 1138426.097 0, 1209493.766 1138438.361 0, 1209759.331 1138450.757 0, 1210023.651 1138463.111 0, 1210287.97 1138475.481 0, 1210552.288 1138487.866 0, 1210816.605 1138500.266 0,
+ 1211080.922 1138512.682 0, 1211345.238 1138525.114 0, 1211609.553 1138537.561 0, 1211873.867 1138550.023 0, 1212138.181 1138562.502 0, 1212402.494 1138574.995 0, 1212666.806 1138587.505 0, 1212931.118 1138600.03 0, 1213195.429 1138612.57 0, 1213459.739 1138625.126 0,
+ 1213724.048 1138637.698 0, 1213988.357 1138650.285 0, 1214252.664 1138662.888 0, 1214516.971 1138675.506 0, 1214781.278 1138688.14 0, 1215045.583 1138700.789 0, 1215309.888 1138713.454 0, 1215574.192 1138726.135 0, 1215837.251 1138738.771 0, 1216105.204 1133163.985 0,
+ 1216373.157 1127589.186 0))
+
+POLYGON ((1228522.918 1139366.471 0, 1228259.894 1139353.092 0, 1227995.627 1139339.665 0, 1227731.359 1139326.253 0, 1227467.09 1139312.857 0, 1227202.82 1139299.476 0, 1226938.55 1139286.111 0, 1226674.279 1139272.762 0, 1226410.007 1139259.428 0, 1226145.734 1139246.11 0,
+ 1225881.461 1139232.807 0, 1225617.186 1139219.52 0, 1225352.911 1139206.249 0, 1225088.635 1139192.993 0, 1224824.359 1139179.752 0, 1224560.081 1139166.527 0, 1224295.803 1139153.318 0, 1224031.524 1139140.124 0, 1223767.245 1139126.946 0, 1223502.964 1139113.783 0,
+ 1223238.683 1139100.636 0, 1222974.401 1139087.504 0, 1222710.118 1139074.388 0, 1222445.834 1139061.288 0, 1222180.307 1139048.141 0, 1221917.265 1139035.133 0, 1221652.979 1139022.079 0, 1221388.692 1139009.041 0, 1221124.405 1138996.018 0, 1220860.116 1138983.011 0,
+ 1220595.827 1138970.02 0, 1220331.538 1138957.044 0, 1220067.247 1138944.083 0, 1219802.956 1138931.138 0, 1219538.664 1138918.209 0, 1219274.371 1138905.295 0, 1219010.077 1138892.397 0, 1218745.783 1138879.514 0, 1218481.488 1138866.647 0, 1218217.192 1138853.795 0,
+ 1217952.896 1138840.959 0, 1217688.598 1138828.139 0, 1217424.3 1138815.334 0, 1217160.001 1138802.544 0, 1216895.702 1138789.77 0, 1216631.401 1138777.012 0, 1216367.1 1138764.269 0, 1216102.798 1138751.542 0, 1215837.251 1138738.771 0, 1215569.3 1144313.54 0,
+ 1215301.349 1149888.286 0, 1215566.236 1149901.026 0, 1215829.882 1149913.721 0, 1216093.527 1149926.432 0, 1216357.171 1149939.159 0, 1216620.814 1149951.901 0, 1216884.457 1149964.659 0, 1217148.099 1149977.432 0, 1217411.74 1149990.221 0, 1217675.38 1150003.025 0,
+ 1217939.02 1150015.845 0, 1218202.659 1150028.68 0, 1218466.297 1150041.53 0, 1218729.934 1150054.397 0, 1218993.571 1150067.278 0, 1219257.207 1150080.176 0, 1219520.842 1150093.089 0, 1219784.476 1150106.017 0, 1220048.11 1150118.961 0, 1220311.742 1150131.92 0,
+ 1220575.374 1150144.895 0, 1220839.006 1150157.885 0, 1221102.636 1150170.891 0, 1221366.266 1150183.913 0, 1221628.655 1150196.888 0, 1221893.523 1150210.002 0, 1222157.15 1150223.07 0, 1222420.777 1150236.153 0, 1222684.403 1150249.252 0, 1222948.028 1150262.367 0,
+ 1223211.652 1150275.497 0, 1223475.276 1150288.643 0, 1223738.899 1150301.804 0, 1224002.521 1150314.98 0, 1224266.142 1150328.172 0, 1224529.763 1150341.38 0, 1224793.382 1150354.603 0, 1225057.001 1150367.842 0, 1225320.619 1150381.096 0, 1225584.237 1150394.366 0,
+ 1225847.853 1150407.651 0, 1226111.469 1150420.952 0, 1226375.084 1150434.268 0, 1226638.698 1150447.599 0, 1226902.312 1150460.947 0, 1227165.924 1150474.31 0, 1227429.536 1150487.688 0, 1227693.147 1150501.082 0, 1227955.518 1150514.428 0, 1228239.218 1144940.461 0,
+ 1228522.918 1139366.471 0))
+
+POLYGON ((1240607.869 1151176.317 0, 1240345.534 1151162.23 0, 1240081.962 1151148.091 0, 1239818.389 1151133.968 0, 1239554.815 1151119.861 0, 1239291.24 1151105.769 0, 1239027.665 1151091.693 0, 1238764.089 1151077.632 0, 1238500.511 1151063.586 0, 1238236.933 1151049.556 0,
+ 1237973.355 1151035.542 0, 1237709.775 1151021.543 0, 1237446.195 1151007.56 0, 1237182.613 1150993.592 0, 1236919.031 1150979.639 0, 1236655.448 1150965.703 0, 1236391.865 1150951.781 0, 1236128.28 1150937.875 0, 1235864.695 1150923.985 0, 1235601.108 1150910.11 0,
+ 1235337.521 1150896.251 0, 1235073.934 1150882.407 0, 1234810.345 1150868.579 0, 1234546.755 1150854.766 0, 1234281.927 1150840.905 0, 1234019.574 1150827.188 0, 1233755.982 1150813.421 0, 1233492.39 1150799.671 0, 1233228.796 1150785.936 0, 1232965.202 1150772.216 0,
+ 1232701.607 1150758.512 0, 1232438.011 1150744.823 0, 1232174.414 1150731.15 0, 1231910.816 1150717.493 0, 1231647.218 1150703.851 0, 1231383.619 1150690.224 0, 1231120.019 1150676.613 0, 1230856.418 1150663.018 0, 1230592.817 1150649.438 0, 1230329.214 1150635.873 0,
+ 1230065.611 1150622.324 0, 1229802.007 1150608.791 0, 1229538.403 1150595.273 0, 1229274.797 1150581.77 0, 1229011.191 1150568.283 0, 1228747.584 1150554.812 0, 1228483.976 1150541.356 0, 1228220.367 1150527.916 0, 1227955.518 1150514.428 0, 1227671.82 1156088.369 0,
+ 1227388.124 1161662.278 0, 1227652.313 1161675.733 0, 1227915.266 1161689.14 0, 1228178.218 1161702.562 0, 1228441.169 1161716 0, 1228704.119 1161729.453 0, 1228967.068 1161742.922 0, 1229230.017 1161756.406 0, 1229492.965 1161769.906 0, 1229755.912 1161783.421 0,
+ 1230018.858 1161796.952 0, 1230281.803 1161810.498 0, 1230544.748 1161824.06 0, 1230807.692 1161837.637 0, 1231070.635 1161851.23 0, 1231333.577 1161864.838 0, 1231596.518 1161878.461 0, 1231859.459 1161892.1 0, 1232122.399 1161905.755 0, 1232385.338 1161919.425 0,
+ 1232648.276 1161933.11 0, 1232911.213 1161946.811 0, 1233174.15 1161960.528 0, 1233437.086 1161974.26 0, 1233698.786 1161987.942 0, 1233962.955 1162001.77 0, 1234225.888 1162015.548 0, 1234488.821 1162029.342 0, 1234751.753 1162043.151 0, 1235014.684 1162056.976 0,
+ 1235277.614 1162070.816 0, 1235540.543 1162084.672 0, 1235803.471 1162098.543 0, 1236066.399 1162112.43 0, 1236329.326 1162126.332 0, 1236592.252 1162140.25 0, 1236855.177 1162154.183 0, 1237118.102 1162168.131 0, 1237381.025 1162182.095 0, 1237643.948 1162196.075 0,
+ 1237906.87 1162210.07 0, 1238169.791 1162224.08 0, 1238432.711 1162238.106 0, 1238695.631 1162252.148 0, 1238958.549 1162266.204 0, 1239221.467 1162280.277 0, 1239484.384 1162294.365 0, 1239747.3 1162308.468 0, 1240008.982 1162322.52 0, 1240308.424 1156749.435 0,
+ 1240607.869 1151176.317 0))
+
+POLYGON ((1252627.924 1163018.416 0, 1252366.281 1163003.624 0, 1252103.406 1162988.778 0, 1251840.53 1162973.948 0, 1251577.653 1162959.133 0, 1251314.775 1162944.333 0, 1251051.896 1162929.549 0, 1250789.016 1162914.78 0, 1250526.136 1162900.027 0, 1250263.255 1162885.289 0,
+ 1250000.372 1162870.567 0, 1249737.489 1162855.86 0, 1249474.605 1162841.169 0, 1249211.721 1162826.493 0, 1248948.835 1162811.833 0, 1248685.948 1162797.188 0, 1248423.061 1162782.558 0, 1248160.173 1162767.944 0, 1247897.284 1162753.346 0, 1247634.394 1162738.763 0,
+ 1247371.503 1162724.195 0, 1247108.611 1162709.643 0, 1246845.719 1162695.107 0, 1246582.825 1162680.586 0, 1246318.699 1162666.012 0, 1246057.036 1162651.59 0, 1245794.14 1162637.115 0, 1245531.243 1162622.656 0, 1245268.346 1162608.212 0, 1245005.447 1162593.784 0,
+ 1244742.548 1162579.371 0, 1244479.648 1162564.974 0, 1244216.747 1162550.592 0, 1243953.845 1162536.225 0, 1243690.942 1162521.875 0, 1243428.038 1162507.539 0, 1243165.134 1162493.219 0, 1242902.229 1162478.915 0, 1242639.323 1162464.626 0, 1242376.416 1162450.352 0,
+ 1242113.508 1162436.094 0, 1241850.599 1162421.852 0, 1241587.69 1162407.624 0, 1241324.779 1162393.413 0, 1241061.868 1162379.217 0, 1240798.956 1162365.036 0, 1240536.044 1162350.871 0, 1240273.13 1162336.721 0, 1240008.982 1162322.52 0, 1239709.541 1167895.571 0,
+ 1239410.102 1173468.581 0, 1239673.592 1173482.746 0, 1239935.849 1173496.86 0, 1240198.106 1173510.99 0, 1240460.362 1173525.135 0, 1240722.617 1173539.296 0, 1240984.871 1173553.472 0, 1241247.125 1173567.664 0, 1241509.377 1173581.871 0, 1241771.629 1173596.093 0,
+ 1242033.88 1173610.331 0, 1242296.13 1173624.585 0, 1242558.379 1173638.854 0, 1242820.628 1173653.138 0, 1243082.875 1173667.437 0, 1243345.122 1173681.753 0, 1243607.368 1173696.083 0, 1243869.613 1173710.429 0, 1244131.857 1173724.79 0, 1244394.1 1173739.167 0,
+ 1244656.343 1173753.56 0, 1244918.585 1173767.967 0, 1245180.825 1173782.39 0, 1245443.065 1173796.829 0, 1245704.075 1173811.215 0, 1245967.543 1173825.752 0, 1246229.78 1173840.237 0, 1246492.017 1173854.738 0, 1246754.252 1173869.253 0, 1247016.487 1173883.785 0,
+ 1247278.721 1173898.331 0, 1247540.954 1173912.893 0, 1247803.187 1173927.471 0, 1248065.418 1173942.064 0, 1248327.649 1173956.672 0, 1248589.878 1173971.296 0, 1248852.107 1173985.935 0, 1249114.335 1174000.59 0, 1249376.562 1174015.26 0, 1249638.789 1174029.945 0,
+ 1249901.014 1174044.646 0, 1250163.238 1174059.363 0, 1250425.462 1174074.094 0, 1250687.685 1174088.842 0, 1250949.907 1174103.604 0, 1251212.128 1174118.382 0, 1251474.348 1174133.176 0, 1251736.567 1174147.985 0, 1251997.557 1174162.74 0, 1252312.739 1168590.598 0,
+ 1252627.924 1163018.416 0))
+
+POLYGON ((1264583.001 1174892.458 0, 1264322.052 1174876.966 0, 1264059.875 1174861.416 0, 1263797.698 1174845.882 0, 1263535.52 1174830.363 0, 1263273.34 1174814.86 0, 1263011.16 1174799.372 0, 1262748.979 1174783.899 0, 1262486.797 1174768.442 0, 1262224.615 1174753 0,
+ 1261962.431 1174737.574 0, 1261700.246 1174722.163 0, 1261438.061 1174706.767 0, 1261175.874 1174691.387 0, 1260913.687 1174676.023 0, 1260651.499 1174660.674 0, 1260389.31 1174645.34 0, 1260127.12 1174630.022 0, 1259864.929 1174614.719 0, 1259602.737 1174599.431 0,
+ 1259340.544 1174584.159 0, 1259078.35 1174568.903 0, 1258816.156 1174553.662 0, 1258553.96 1174538.436 0, 1258290.537 1174523.155 0, 1258029.567 1174508.031 0, 1257767.369 1174492.852 0, 1257505.17 1174477.688 0, 1257242.97 1174462.539 0, 1256980.769 1174447.406 0,
+ 1256718.567 1174432.288 0, 1256456.365 1174417.186 0, 1256194.161 1174402.099 0, 1255931.957 1174387.028 0, 1255669.752 1174371.972 0, 1255407.546 1174356.932 0, 1255145.339 1174341.906 0, 1254883.131 1174326.897 0, 1254620.922 1174311.903 0, 1254358.712 1174296.924 0,
+ 1254096.502 1174281.961 0, 1253834.29 1174267.013 0, 1253572.078 1174252.08 0, 1253309.865 1174237.163 0, 1253047.651 1174222.262 0, 1252785.436 1174207.375 0, 1252523.22 1174192.505 0, 1252261.003 1174177.649 0, 1251997.557 1174162.74 0, 1251682.378 1179734.837 0,
+ 1251367.201 1185306.884 0, 1251629.988 1185321.757 0, 1251891.549 1185336.575 0, 1252153.109 1185351.408 0, 1252414.668 1185366.257 0, 1252676.226 1185381.121 0, 1252937.783 1185396.001 0, 1253199.339 1185410.896 0, 1253460.895 1185425.807 0, 1253722.45 1185440.733 0,
+ 1253984.003 1185455.674 0, 1254245.556 1185470.631 0, 1254507.108 1185485.603 0, 1254768.659 1185500.59 0, 1255030.21 1185515.593 0, 1255291.759 1185530.611 0, 1255553.307 1185545.645 0, 1255814.855 1185560.694 0, 1256076.402 1185575.759 0, 1256337.947 1185590.838 0,
+ 1256599.492 1185605.934 0, 1256861.036 1185621.044 0, 1257122.58 1185636.17 0, 1257384.122 1185651.312 0, 1257644.439 1185666.398 0, 1257907.204 1185681.641 0, 1258168.743 1185696.828 0, 1258430.282 1185712.031 0, 1258691.82 1185727.25 0, 1258953.356 1185742.484 0,
+ 1259214.892 1185757.733 0, 1259476.428 1185772.997 0, 1259737.962 1185788.277 0, 1259999.495 1185803.573 0, 1260261.027 1185818.883 0, 1260522.559 1185834.209 0, 1260784.09 1185849.551 0, 1261045.619 1185864.908 0, 1261307.148 1185880.28 0, 1261568.676 1185895.668 0,
+ 1261830.203 1185911.071 0, 1262091.729 1185926.49 0, 1262353.254 1185941.923 0, 1262614.778 1185957.373 0, 1262876.302 1185972.837 0, 1263137.824 1185988.318 0, 1263399.346 1186003.813 0, 1263660.866 1186019.324 0, 1263921.163 1186034.777 0, 1264252.08 1180463.643 0,
+ 1264583.001 1174892.458 0))
+
+POLYGON ((1276473.018 1186798.135 0, 1276212.764 1186781.946 0, 1275951.288 1186765.696 0, 1275689.812 1186749.462 0, 1275428.334 1186733.243 0, 1275166.855 1186717.039 0, 1274905.376 1186700.851 0, 1274643.895 1186684.679 0, 1274382.414 1186668.521 0, 1274120.932 1186652.38 0,
+ 1273859.448 1186636.253 0, 1273597.964 1186620.142 0, 1273336.479 1186604.046 0, 1273074.992 1186587.966 0, 1272813.505 1186571.901 0, 1272552.017 1186555.851 0, 1272290.528 1186539.817 0, 1272029.038 1186523.798 0, 1271767.547 1186507.795 0, 1271506.055 1186491.807 0,
+ 1271244.563 1186475.834 0, 1270983.069 1186459.877 0, 1270721.574 1186443.935 0, 1270460.079 1186428.009 0, 1270197.36 1186412.023 0, 1269937.084 1186396.202 0, 1269675.586 1186380.322 0, 1269414.087 1186364.457 0, 1269152.586 1186348.607 0, 1268891.085 1186332.773 0,
+ 1268629.583 1186316.955 0, 1268368.08 1186301.151 0, 1268106.576 1186285.363 0, 1267845.071 1186269.591 0, 1267583.565 1186253.834 0, 1267322.058 1186238.092 0, 1267060.551 1186222.366 0, 1266799.042 1186206.655 0, 1266537.532 1186190.959 0, 1266276.022 1186175.279 0,
+ 1266014.51 1186159.614 0, 1265752.998 1186143.965 0, 1265491.485 1186128.331 0, 1265229.971 1186112.712 0, 1264968.455 1186097.109 0, 1264706.939 1186081.521 0, 1264445.422 1186065.949 0, 1264183.905 1186050.392 0, 1263921.163 1186034.777 0, 1263590.248 1191605.858 0,
+ 1263259.337 1197176.88 0, 1263521.42 1197192.455 0, 1263782.283 1197207.973 0, 1264043.144 1197223.507 0, 1264304.004 1197239.056 0, 1264564.863 1197254.62 0, 1264825.722 1197270.199 0, 1265086.579 1197285.794 0, 1265347.436 1197301.404 0, 1265608.291 1197317.029 0,
+ 1265869.146 1197332.67 0, 1266130 1197348.327 0, 1266390.853 1197363.998 0, 1266651.705 1197379.685 0, 1266912.556 1197395.387 0, 1267173.406 1197411.105 0, 1267434.255 1197426.838 0, 1267695.103 1197442.586 0, 1267955.951 1197458.35 0, 1268216.797 1197474.129 0,
+ 1268477.642 1197489.923 0, 1268738.487 1197505.733 0, 1268999.331 1197521.558 0, 1269260.173 1197537.399 0, 1269519.796 1197553.18 0, 1269781.856 1197569.125 0, 1270042.696 1197585.012 0, 1270303.535 1197600.914 0, 1270564.373 1197616.831 0, 1270825.21 1197632.764 0,
+ 1271086.046 1197648.712 0, 1271346.881 1197664.675 0, 1271607.715 1197680.653 0, 1271868.549 1197696.647 0, 1272129.381 1197712.657 0, 1272390.212 1197728.681 0, 1272651.043 1197744.721 0, 1272911.872 1197760.777 0, 1273172.701 1197776.847 0, 1273433.529 1197792.934 0,
+ 1273694.355 1197809.035 0, 1273955.181 1197825.152 0, 1274216.006 1197841.284 0, 1274476.83 1197857.431 0, 1274737.653 1197873.594 0, 1274998.475 1197889.772 0, 1275259.296 1197905.966 0, 1275520.116 1197922.175 0, 1275779.717 1197938.323 0, 1276126.366 1192368.258 0,
+ 1276473.018 1186798.135 0))
+
+POLYGON ((1288297.895 1198735.136 0, 1288038.339 1198718.254 0, 1287777.565 1198701.308 0, 1287516.791 1198684.378 0, 1287256.016 1198667.463 0, 1286995.24 1198650.563 0, 1286734.463 1198633.679 0, 1286473.684 1198616.81 0, 1286212.905 1198599.956 0, 1285952.125 1198583.118 0,
+ 1285691.344 1198566.295 0, 1285430.562 1198549.488 0, 1285169.779 1198532.695 0, 1284908.994 1198515.918 0, 1284648.209 1198499.157 0, 1284387.423 1198482.411 0, 1284126.636 1198465.68 0, 1283865.848 1198448.965 0, 1283605.059 1198432.264 0, 1283344.269 1198415.58 0,
+ 1283083.478 1198398.91 0, 1282822.686 1198382.256 0, 1282561.893 1198365.618 0, 1282301.099 1198348.994 0, 1282039.087 1198332.309 0, 1281779.508 1198315.793 0, 1281518.711 1198299.216 0, 1281257.914 1198282.654 0, 1280997.115 1198266.108 0, 1280736.315 1198249.576 0,
+ 1280475.514 1198233.06 0, 1280214.712 1198216.56 0, 1279953.91 1198200.075 0, 1279693.106 1198183.605 0, 1279432.301 1198167.15 0, 1279171.496 1198150.711 0, 1278910.689 1198134.287 0, 1278649.881 1198117.879 0, 1278389.073 1198101.486 0, 1278128.263 1198085.108 0,
+ 1277867.453 1198068.746 0, 1277606.642 1198052.399 0, 1277345.829 1198036.067 0, 1277085.016 1198019.751 0, 1276824.202 1198003.45 0, 1276563.386 1197987.164 0, 1276302.57 1197970.894 0, 1276041.753 1197954.639 0, 1275779.717 1197938.323 0, 1275433.072 1203508.325 0,
+ 1275086.432 1209078.258 0, 1275347.809 1209094.533 0, 1275607.97 1209110.747 0, 1275868.131 1209126.976 0, 1276128.291 1209143.221 0, 1276388.449 1209159.481 0, 1276648.607 1209175.756 0, 1276908.764 1209192.047 0, 1277168.919 1209208.353 0, 1277429.074 1209224.674 0,
+ 1277689.228 1209241.011 0, 1277949.381 1209257.362 0, 1278209.533 1209273.73 0, 1278469.684 1209290.112 0, 1278729.834 1209306.51 0, 1278989.983 1209322.923 0, 1279250.131 1209339.352 0, 1279510.278 1209355.795 0, 1279770.424 1209372.254 0, 1280030.569 1209388.729 0,
+ 1280290.713 1209405.219 0, 1280550.857 1209421.724 0, 1280810.999 1209438.244 0, 1281071.14 1209454.78 0, 1281330.067 1209471.253 0, 1281591.42 1209487.897 0, 1281851.558 1209504.478 0, 1282111.695 1209521.075 0, 1282371.832 1209537.687 0, 1282631.967 1209554.315 0,
+ 1282892.102 1209570.958 0, 1283152.235 1209587.616 0, 1283412.368 1209604.289 0, 1283672.499 1209620.978 0, 1283932.629 1209637.682 0, 1284192.759 1209654.401 0, 1284452.888 1209671.136 0, 1284713.015 1209687.886 0, 1284973.142 1209704.651 0, 1285233.267 1209721.432 0,
+ 1285493.392 1209738.228 0, 1285753.515 1209755.039 0, 1286013.638 1209771.866 0, 1286273.76 1209788.707 0, 1286533.88 1209805.565 0, 1286794 1209822.437 0, 1287054.119 1209839.325 0, 1287314.236 1209856.228 0, 1287573.14 1209873.067 0, 1287935.515 1204304.136 0,
+ 1288297.895 1198735.136 0))
+
+POLYGON ((1300057.554 1210703.151 0, 1299798.696 1210685.58 0, 1299538.627 1210667.942 0, 1299278.557 1210650.319 0, 1299018.487 1210632.712 0, 1298758.415 1210615.12 0, 1298498.342 1210597.543 0, 1298238.268 1210579.982 0, 1297978.192 1210562.436 0, 1297718.116 1210544.905 0,
+ 1297458.039 1210527.39 0, 1297197.961 1210509.89 0, 1296937.882 1210492.405 0, 1296677.802 1210474.935 0, 1296417.72 1210457.481 0, 1296157.638 1210440.042 0, 1295897.555 1210422.619 0, 1295637.471 1210405.21 0, 1295377.385 1210387.817 0, 1295117.299 1210370.44 0,
+ 1294857.211 1210353.077 0, 1294597.123 1210335.73 0, 1294337.034 1210318.398 0, 1294076.943 1210301.082 0, 1293815.64 1210283.7 0, 1293556.759 1210266.495 0, 1293296.666 1210249.225 0, 1293036.571 1210231.969 0, 1292776.476 1210214.729 0, 1292516.379 1210197.505 0,
+ 1292256.281 1210180.296 0, 1291996.183 1210163.102 0, 1291736.083 1210145.923 0, 1291475.983 1210128.76 0, 1291215.881 1210111.612 0, 1290955.778 1210094.479 0, 1290695.675 1210077.361 0, 1290435.57 1210060.259 0, 1290175.464 1210043.172 0, 1289915.358 1210026.101 0,
+ 1289655.25 1210009.045 0, 1289395.142 1209992.004 0, 1289135.032 1209974.978 0, 1288874.921 1209957.968 0, 1288614.81 1209940.973 0, 1288354.697 1209923.993 0, 1288094.583 1209907.029 0, 1287834.469 1209890.08 0, 1287573.14 1209873.067 0, 1287210.77 1215441.927 0,
+ 1286848.404 1221010.708 0, 1287109.074 1221027.678 0, 1287368.533 1221044.584 0, 1287627.991 1221061.506 0, 1287887.448 1221078.443 0, 1288146.905 1221095.395 0, 1288406.36 1221112.362 0, 1288665.814 1221129.345 0, 1288925.267 1221146.343 0, 1289184.719 1221163.356 0,
+ 1289444.17 1221180.384 0, 1289703.62 1221197.428 0, 1289963.069 1221214.487 0, 1290222.518 1221231.562 0, 1290481.965 1221248.651 0, 1290741.411 1221265.756 0, 1291000.856 1221282.876 0, 1291260.3 1221300.011 0, 1291519.743 1221317.162 0, 1291779.185 1221334.328 0,
+ 1292038.626 1221351.509 0, 1292298.066 1221368.706 0, 1292557.505 1221385.917 0, 1292816.943 1221403.144 0, 1293075.172 1221420.306 0, 1293335.816 1221437.644 0, 1293595.251 1221454.917 0, 1293854.685 1221472.205 0, 1294114.118 1221489.508 0, 1294373.55 1221506.827 0,
+ 1294632.981 1221524.161 0, 1294892.411 1221541.51 0, 1295151.84 1221558.874 0, 1295411.268 1221576.254 0, 1295670.695 1221593.649 0, 1295930.12 1221611.059 0, 1296189.545 1221628.485 0, 1296448.969 1221645.925 0, 1296708.392 1221663.381 0, 1296967.813 1221680.853 0,
+ 1297227.234 1221698.339 0, 1297486.654 1221715.841 0, 1297746.072 1221733.358 0, 1298005.49 1221750.891 0, 1298264.906 1221768.438 0, 1298524.322 1221786.001 0, 1298783.736 1221803.579 0, 1299043.15 1221821.173 0, 1299301.355 1221838.7 0, 1299679.452 1216270.964 0,
+ 1300057.554 1210703.151 0))
+
+POLYGON ((1311751.916 1222701.869 0, 1311493.76 1222683.613 0, 1311234.397 1222665.287 0, 1310975.033 1222646.976 0, 1310715.668 1222628.68 0, 1310456.303 1222610.4 0, 1310196.936 1222592.134 0, 1309937.567 1222573.885 0, 1309678.198 1222555.65 0, 1309418.828 1222537.43 0,
+ 1309159.457 1222519.226 0, 1308900.084 1222501.037 0, 1308640.711 1222482.864 0, 1308381.336 1222464.705 0, 1308121.961 1222446.562 0, 1307862.584 1222428.435 0, 1307603.207 1222410.322 0, 1307343.828 1222392.225 0, 1307084.448 1222374.143 0, 1306825.067 1222356.076 0,
+ 1306565.685 1222338.024 0, 1306306.302 1222319.988 0, 1306046.918 1222301.967 0, 1305787.533 1222283.962 0, 1305526.94 1222265.888 0, 1305268.759 1222247.996 0, 1305009.371 1222230.036 0, 1304749.982 1222212.092 0, 1304490.591 1222194.162 0, 1304231.2 1222176.248 0,
+ 1303971.807 1222158.349 0, 1303712.414 1222140.466 0, 1303453.019 1222122.598 0, 1303193.623 1222104.745 0, 1302934.226 1222086.907 0, 1302674.829 1222069.084 0, 1302415.43 1222051.277 0, 1302156.03 1222033.485 0, 1301896.629 1222015.709 0, 1301637.227 1221997.947 0,
+ 1301377.824 1221980.201 0, 1301118.42 1221962.47 0, 1300859.015 1221944.755 0, 1300599.609 1221927.054 0, 1300340.201 1221909.369 0, 1300080.793 1221891.699 0, 1299821.384 1221874.045 0, 1299561.973 1221856.406 0, 1299301.355 1221838.7 0, 1298923.264 1227406.353 0,
+ 1298545.178 1232973.919 0, 1298805.138 1232991.581 0, 1299063.893 1233009.175 0, 1299322.647 1233026.785 0, 1299581.4 1233044.41 0, 1299840.152 1233062.051 0, 1300098.903 1233079.706 0, 1300357.652 1233097.377 0, 1300616.401 1233115.063 0, 1300875.149 1233132.765 0,
+ 1301133.895 1233150.481 0, 1301392.641 1233168.213 0, 1301651.386 1233185.96 0, 1301910.129 1233203.722 0, 1302168.872 1233221.5 0, 1302427.613 1233239.292 0, 1302686.353 1233257.1 0, 1302945.093 1233274.923 0, 1303203.831 1233292.762 0, 1303462.568 1233310.615 0,
+ 1303721.304 1233328.484 0, 1303980.039 1233346.368 0, 1304238.773 1233364.267 0, 1304497.506 1233382.182 0, 1304755.035 1233400.028 0, 1305014.969 1233418.057 0, 1305273.699 1233436.017 0, 1305532.428 1233453.992 0, 1305791.155 1233471.983 0, 1306049.882 1233489.989 0,
+ 1306308.608 1233508.01 0, 1306567.332 1233526.046 0, 1306826.056 1233544.098 0, 1307084.778 1233562.165 0, 1307343.499 1233580.247 0, 1307602.22 1233598.344 0, 1307860.939 1233616.456 0, 1308119.657 1233634.584 0, 1308378.374 1233652.727 0, 1308637.09 1233670.885 0,
+ 1308895.805 1233689.058 0, 1309154.519 1233707.247 0, 1309413.232 1233725.451 0, 1309671.943 1233743.67 0, 1309930.654 1233761.904 0, 1310189.364 1233780.154 0, 1310448.072 1233798.418 0, 1310706.779 1233816.698 0, 1310964.284 1233834.909 0, 1311358.097 1228268.432 0,
+ 1311751.916 1222701.869 0))
+
+POLYGON ((1323380.907 1234730.98 0, 1323123.453 1234712.043 0, 1322864.799 1234693.032 0, 1322606.143 1234674.036 0, 1322347.486 1234655.056 0, 1322088.828 1234636.091 0, 1321830.168 1234617.141 0, 1321571.508 1234598.206 0, 1321312.847 1234579.287 0, 1321054.184 1234560.383 0,
+ 1320795.52 1234541.494 0, 1320536.856 1234522.62 0, 1320278.19 1234503.761 0, 1320019.523 1234484.918 0, 1319760.855 1234466.09 0, 1319502.186 1234447.277 0, 1319243.515 1234428.479 0, 1318984.844 1234409.697 0, 1318726.171 1234390.93 0, 1318467.498 1234372.178 0,
+ 1318208.823 1234353.441 0, 1317950.147 1234334.719 0, 1317691.47 1234316.013 0, 1317432.792 1234297.322 0, 1317172.912 1234278.56 0, 1316915.433 1234259.986 0, 1316656.751 1234241.34 0, 1316398.069 1234222.71 0, 1316139.385 1234204.095 0, 1315880.701 1234185.495 0,
+ 1315622.015 1234166.911 0, 1315363.328 1234148.342 0, 1315104.64 1234129.788 0, 1314845.951 1234111.249 0, 1314587.261 1234092.725 0, 1314328.57 1234074.217 0, 1314069.878 1234055.724 0, 1313811.184 1234037.246 0, 1313552.49 1234018.783 0, 1313293.794 1234000.336 0,
+ 1313035.098 1233981.903 0, 1312776.4 1233963.486 0, 1312517.701 1233945.085 0, 1312259.001 1233926.698 0, 1312000.3 1233908.327 0, 1311741.598 1233889.971 0, 1311482.895 1233871.63 0, 1311224.191 1233853.304 0, 1310964.284 1233834.909 0, 1310570.477 1239401.293 0,
+ 1310176.677 1244967.581 0, 1310435.926 1244985.93 0, 1310693.975 1245004.209 0, 1310952.023 1245022.503 0, 1311210.07 1245040.813 0, 1311468.115 1245059.138 0, 1311726.16 1245077.478 0, 1311984.204 1245095.833 0, 1312242.246 1245114.203 0, 1312500.288 1245132.589 0,
+ 1312758.328 1245150.99 0, 1313016.367 1245169.405 0, 1313274.405 1245187.837 0, 1313532.442 1245206.283 0, 1313790.478 1245224.744 0, 1314048.513 1245243.221 0, 1314306.547 1245261.713 0, 1314564.58 1245280.22 0, 1314822.611 1245298.742 0, 1315080.642 1245317.28 0,
+ 1315338.671 1245335.832 0, 1315596.7 1245354.4 0, 1315854.727 1245372.983 0, 1316112.753 1245391.581 0, 1316369.58 1245410.108 0, 1316628.802 1245428.823 0, 1316886.825 1245447.467 0, 1317144.847 1245466.126 0, 1317402.867 1245484.8 0, 1317660.887 1245503.489 0,
+ 1317918.905 1245522.194 0, 1318176.923 1245540.913 0, 1318434.939 1245559.648 0, 1318692.954 1245578.398 0, 1318950.968 1245597.163 0, 1319208.981 1245615.944 0, 1319466.993 1245634.739 0, 1319725.004 1245653.55 0, 1319983.013 1245672.376 0, 1320241.022 1245691.217 0,
+ 1320499.029 1245710.074 0, 1320757.036 1245728.945 0, 1321015.041 1245747.832 0, 1321273.045 1245766.734 0, 1321531.048 1245785.651 0, 1321789.05 1245804.583 0, 1322047.051 1245823.531 0, 1322305.05 1245842.493 0, 1322561.852 1245861.383 0, 1322971.376 1240296.23 0,
+ 1323380.907 1234730.98 0))
+
+POLYGON ((1334944.452 1246790.172 0, 1334687.703 1246770.557 0, 1334429.758 1246750.865 0, 1334171.812 1246731.189 0, 1333913.864 1246711.528 0, 1333655.916 1246691.882 0, 1333397.966 1246672.251 0, 1333140.015 1246652.636 0, 1332882.063 1246633.035 0, 1332624.11 1246613.45 0,
+ 1332366.156 1246593.88 0, 1332108.201 1246574.325 0, 1331850.244 1246554.786 0, 1331592.286 1246535.261 0, 1331334.327 1246515.752 0, 1331076.367 1246496.258 0, 1330818.406 1246476.779 0, 1330560.444 1246457.315 0, 1330302.48 1246437.867 0, 1330044.516 1246418.433 0,
+ 1329786.55 1246399.015 0, 1329528.583 1246379.612 0, 1329270.615 1246360.224 0, 1329012.646 1246340.852 0, 1328753.48 1246321.405 0, 1328496.704 1246302.152 0, 1328238.732 1246282.825 0, 1327980.758 1246263.513 0, 1327722.783 1246244.216 0, 1327464.807 1246224.935 0,
+ 1327206.83 1246205.669 0, 1326948.852 1246186.417 0, 1326690.872 1246167.182 0, 1326432.892 1246147.961 0, 1326174.91 1246128.755 0, 1325916.927 1246109.565 0, 1325658.943 1246090.389 0, 1325400.958 1246071.229 0, 1325142.972 1246052.085 0, 1324884.985 1246032.955 0,
+ 1324626.997 1246013.84 0, 1324369.007 1245994.741 0, 1324111.016 1245975.657 0, 1323853.025 1245956.588 0, 1323595.032 1245937.534 0, 1323337.038 1245918.496 0, 1323079.042 1245899.472 0, 1322821.046 1245880.464 0, 1322561.852 1245861.383 0, 1322152.335 1251426.435 0,
+ 1321742.827 1256991.38 0, 1322001.363 1257010.413 0, 1322258.704 1257029.373 0, 1322516.044 1257048.348 0, 1322773.383 1257067.338 0, 1323030.721 1257086.344 0, 1323288.057 1257105.364 0, 1323545.393 1257124.4 0, 1323802.727 1257143.451 0, 1324060.061 1257162.517 0,
+ 1324317.393 1257181.598 0, 1324574.724 1257200.694 0, 1324832.054 1257219.805 0, 1325089.383 1257238.932 0, 1325346.711 1257258.074 0, 1325604.037 1257277.23 0, 1325861.363 1257296.402 0, 1326118.687 1257315.589 0, 1326376.01 1257334.792 0, 1326633.332 1257354.009 0,
+ 1326890.653 1257373.242 0, 1327147.973 1257392.489 0, 1327405.292 1257411.752 0, 1327662.61 1257431.03 0, 1327918.733 1257450.234 0, 1328177.241 1257469.632 0, 1328434.555 1257488.955 0, 1328691.868 1257508.294 0, 1328949.18 1257527.647 0, 1329206.491 1257547.016 0,
+ 1329463.801 1257566.4 0, 1329721.109 1257585.799 0, 1329978.416 1257605.214 0, 1330235.723 1257624.643 0, 1330493.028 1257644.088 0, 1330750.331 1257663.548 0, 1331007.634 1257683.022 0, 1331264.936 1257702.512 0, 1331522.236 1257722.018 0, 1331779.535 1257741.538 0,
+ 1332036.834 1257761.073 0, 1332294.131 1257780.624 0, 1332551.426 1257800.19 0, 1332808.721 1257819.771 0, 1333066.015 1257839.367 0, 1333323.307 1257858.978 0, 1333580.598 1257878.604 0, 1333837.888 1257898.246 0, 1334093.986 1257917.811 0, 1334519.215 1252354.045 0,
+ 1334944.452 1246790.172 0))
+
+POLYGON ((1346442.478 1258879.133 0, 1346186.435 1258858.843 0, 1345929.202 1258838.475 0, 1345671.967 1258818.122 0, 1345414.731 1258797.784 0, 1345157.494 1258777.461 0, 1344900.256 1258757.153 0, 1344643.016 1258736.861 0, 1344385.775 1258716.583 0, 1344128.533 1258696.321 0,
+ 1343871.29 1258676.074 0, 1343614.046 1258655.842 0, 1343356.8 1258635.625 0, 1343099.554 1258615.423 0, 1342842.306 1258595.237 0, 1342585.057 1258575.065 0, 1342327.807 1258554.909 0, 1342070.555 1258534.768 0, 1341813.303 1258514.642 0, 1341556.049 1258494.531 0,
+ 1341298.794 1258474.435 0, 1341041.538 1258454.355 0, 1340784.28 1258434.289 0, 1340527.022 1258414.239 0, 1340268.572 1258394.111 0, 1340012.501 1258374.184 0, 1339755.239 1258354.179 0, 1339497.976 1258334.189 0, 1339240.711 1258314.214 0, 1338983.446 1258294.255 0,
+ 1338726.179 1258274.311 0, 1338468.911 1258254.381 0, 1338211.642 1258234.467 0, 1337954.372 1258214.569 0, 1337697.1 1258194.685 0, 1337439.828 1258174.816 0, 1337182.554 1258154.963 0, 1336925.279 1258135.124 0, 1336668.003 1258115.301 0, 1336410.725 1258095.493 0,
+ 1336153.447 1258075.7 0, 1335896.167 1258055.922 0, 1335638.886 1258036.16 0, 1335381.604 1258016.412 0, 1335124.321 1257996.68 0, 1334867.037 1257976.963 0, 1334609.752 1257957.261 0, 1334352.465 1257937.574 0, 1334093.986 1257917.811 0, 1333668.765 1263481.467 0,
+ 1333243.553 1269045.006 0, 1333501.375 1269064.719 0, 1333758.006 1269084.355 0, 1334014.637 1269104.007 0, 1334271.266 1269123.674 0, 1334527.894 1269143.356 0, 1334784.521 1269163.054 0, 1335041.147 1269182.766 0, 1335297.772 1269202.493 0, 1335554.396 1269222.236 0,
+ 1335811.018 1269241.993 0, 1336067.639 1269261.766 0, 1336324.259 1269281.554 0, 1336580.878 1269301.357 0, 1336837.496 1269321.175 0, 1337094.113 1269341.008 0, 1337350.728 1269360.856 0, 1337607.342 1269380.72 0, 1337863.955 1269400.598 0, 1338120.567 1269420.492 0,
+ 1338377.178 1269440.4 0, 1338633.787 1269460.324 0, 1338890.396 1269480.263 0, 1339147.003 1269500.217 0, 1339402.422 1269520.094 0, 1339660.214 1269540.17 0, 1339916.818 1269560.169 0, 1340173.42 1269580.184 0, 1340430.021 1269600.213 0, 1340686.622 1269620.258 0,
+ 1340943.221 1269640.318 0, 1341199.818 1269660.392 0, 1341456.415 1269680.482 0, 1341713.01 1269700.587 0, 1341969.605 1269720.707 0, 1342226.198 1269740.843 0, 1342482.79 1269760.993 0, 1342739.38 1269781.158 0, 1342995.97 1269801.339 0, 1343252.558 1269821.534 0,
+ 1343509.145 1269841.745 0, 1343765.731 1269861.971 0, 1344022.316 1269882.212 0, 1344278.899 1269902.468 0, 1344535.482 1269922.739 0, 1344792.063 1269943.025 0, 1345048.643 1269963.327 0, 1345305.222 1269983.643 0, 1345560.613 1270003.881 0, 1346001.541 1264441.564 0,
+ 1346442.478 1258879.133 0))
+
+POLYGON ((1357874.914 1270997.549 0, 1357619.579 1270976.59 0, 1357363.059 1270955.549 0, 1357106.537 1270934.523 0, 1356850.015 1270913.511 0, 1356593.491 1270892.516 0, 1356336.965 1270871.535 0, 1356080.439 1270850.569 0, 1355823.911 1270829.618 0, 1355567.382 1270808.683 0,
+ 1355310.852 1270787.762 0, 1355054.32 1270766.857 0, 1354797.788 1270745.967 0, 1354541.254 1270725.092 0, 1354284.719 1270704.232 0, 1354028.182 1270683.387 0, 1353771.645 1270662.557 0, 1353515.106 1270641.742 0, 1353258.566 1270620.942 0, 1353002.024 1270600.158 0,
+ 1352745.482 1270579.388 0, 1352488.938 1270558.634 0, 1352232.393 1270537.895 0, 1351975.847 1270517.171 0, 1351718.115 1270496.366 0, 1351462.751 1270475.768 0, 1351206.201 1270455.089 0, 1350949.65 1270434.425 0, 1350693.098 1270413.776 0, 1350436.545 1270393.143 0,
+ 1350179.99 1270372.524 0, 1349923.434 1270351.921 0, 1349666.877 1270331.333 0, 1349410.319 1270310.76 0, 1349153.759 1270290.202 0, 1348897.198 1270269.659 0, 1348640.636 1270249.131 0, 1348384.073 1270228.618 0, 1348127.509 1270208.12 0, 1347870.943 1270187.638 0,
+ 1347614.377 1270167.17 0, 1347357.809 1270146.718 0, 1347101.239 1270126.281 0, 1346844.669 1270105.859 0, 1346588.097 1270085.452 0, 1346331.525 1270065.06 0, 1346074.951 1270044.683 0, 1345818.376 1270024.321 0, 1345560.613 1270003.881 0, 1345119.694 1275566.076 0,
+ 1344678.786 1281128.146 0, 1344935.891 1281148.534 0, 1345191.811 1281168.844 0, 1345447.73 1281189.169 0, 1345703.648 1281209.509 0, 1345959.565 1281229.864 0, 1346215.481 1281250.234 0, 1346471.395 1281270.619 0, 1346727.308 1281291.019 0, 1346983.22 1281311.434 0,
+ 1347239.131 1281331.864 0, 1347495.041 1281352.31 0, 1347750.949 1281372.77 0, 1348006.857 1281393.246 0, 1348262.763 1281413.736 0, 1348518.667 1281434.242 0, 1348774.571 1281454.762 0, 1349030.473 1281475.298 0, 1349286.375 1281495.849 0, 1349542.275 1281516.415 0,
+ 1349798.173 1281536.995 0, 1350054.071 1281557.591 0, 1350309.967 1281578.202 0, 1350565.862 1281598.829 0, 1350820.574 1281619.374 0, 1351077.649 1281640.126 0, 1351333.541 1281660.797 0, 1351589.431 1281681.483 0, 1351845.32 1281702.185 0, 1352101.208 1281722.901 0,
+ 1352357.094 1281743.633 0, 1352612.98 1281764.379 0, 1352868.864 1281785.141 0, 1353124.747 1281805.918 0, 1353380.629 1281826.709 0, 1353636.509 1281847.516 0, 1353892.388 1281868.338 0, 1354148.266 1281889.175 0, 1354404.143 1281910.027 0, 1354660.019 1281930.894 0,
+ 1354915.893 1281951.776 0, 1355171.766 1281972.673 0, 1355427.638 1281993.586 0, 1355683.509 1282014.513 0, 1355939.378 1282035.455 0, 1356195.246 1282056.413 0, 1356451.113 1282077.385 0, 1356706.979 1282098.373 0, 1356961.663 1282119.278 0, 1357418.283 1276558.476 0,
+ 1357874.914 1270997.549 0))
+
+POLYGON ((1369241.691 1283145.108 0, 1368987.065 1283123.483 0, 1368731.26 1283101.773 0, 1368475.453 1283080.078 0, 1368219.645 1283058.397 0, 1367963.836 1283036.732 0, 1367708.025 1283015.082 0, 1367452.213 1282993.447 0, 1367196.4 1282971.827 0, 1366940.586 1282950.222 0,
+ 1366684.77 1282928.632 0, 1366428.954 1282907.058 0, 1366173.135 1282885.498 0, 1365917.316 1282863.953 0, 1365661.495 1282842.424 0, 1365405.673 1282820.909 0, 1365149.85 1282799.409 0, 1364894.026 1282777.925 0, 1364638.2 1282756.456 0, 1364382.373 1282735.001 0,
+ 1364126.544 1282713.562 0, 1363870.715 1282692.138 0, 1363614.884 1282670.728 0, 1363359.052 1282649.334 0, 1363102.039 1282627.857 0, 1362847.384 1282606.591 0, 1362591.548 1282585.242 0, 1362335.711 1282563.908 0, 1362079.873 1282542.59 0, 1361824.033 1282521.286 0,
+ 1361568.192 1282499.997 0, 1361312.35 1282478.723 0, 1361056.507 1282457.465 0, 1360800.662 1282436.221 0, 1360544.817 1282414.993 0, 1360288.969 1282393.779 0, 1360033.121 1282372.581 0, 1359777.271 1282351.398 0, 1359521.421 1282330.23 0, 1359265.568 1282309.076 0,
+ 1359009.715 1282287.938 0, 1358753.861 1282266.815 0, 1358498.005 1282245.707 0, 1358242.148 1282224.614 0, 1357986.289 1282203.536 0, 1357730.43 1282182.473 0, 1357474.569 1282161.426 0, 1357218.707 1282140.393 0, 1356961.663 1282119.278 0, 1356505.053 1287679.95 0,
+ 1356048.454 1293240.486 0, 1356304.841 1293261.546 0, 1356560.048 1293282.525 0, 1356815.254 1293303.519 0, 1357070.459 1293324.528 0, 1357325.663 1293345.552 0, 1357580.865 1293366.591 0, 1357836.067 1293387.645 0, 1358091.267 1293408.714 0, 1358346.466 1293429.798 0,
+ 1358601.663 1293450.897 0, 1358856.859 1293472.011 0, 1359112.055 1293493.14 0, 1359367.248 1293514.284 0, 1359622.441 1293535.444 0, 1359877.632 1293556.618 0, 1360132.822 1293577.807 0, 1360388.011 1293599.011 0, 1360643.199 1293620.23 0, 1360898.385 1293641.465 0,
+ 1361153.57 1293662.714 0, 1361408.754 1293683.978 0, 1361663.937 1293705.258 0, 1361919.118 1293726.552 0, 1362173.121 1293747.763 0, 1362429.477 1293769.186 0, 1362684.654 1293790.525 0, 1362939.831 1293811.879 0, 1363195.006 1293833.249 0, 1363450.18 1293854.633 0,
+ 1363705.352 1293876.033 0, 1363960.523 1293897.447 0, 1364215.694 1293918.877 0, 1364470.862 1293940.321 0, 1364726.03 1293961.781 0, 1364981.196 1293983.255 0, 1365236.361 1294004.745 0, 1365491.525 1294026.249 0, 1365746.687 1294047.769 0, 1366001.848 1294069.304 0,
+ 1366257.008 1294090.853 0, 1366512.167 1294112.418 0, 1366767.324 1294133.998 0, 1367022.48 1294155.592 0, 1367277.635 1294177.202 0, 1367532.789 1294198.827 0, 1367787.941 1294220.467 0, 1368043.092 1294242.121 0, 1368297.066 1294263.691 0, 1368769.372 1288704.468 0,
+ 1369241.691 1283145.108 0))
+
+POLYGON ((822629.866 802061.382 0, 822347.151 802071.779 0, 822063.032 802082.243 0, 821778.915 802092.725 0, 821494.798 802103.223 0, 821210.681 802113.738 0, 820926.566 802124.269 0, 820642.451 802134.817 0, 820358.336 802145.382 0, 820074.222 802155.964 0,
+ 819790.109 802166.563 0, 819505.996 802177.178 0, 819221.884 802187.81 0, 818937.773 802198.458 0, 818653.662 802209.124 0, 818369.552 802219.806 0, 818085.442 802230.504 0, 817801.334 802241.22 0, 817517.225 802251.952 0, 817233.118 802262.701 0,
+ 816949.011 802273.467 0, 816664.904 802284.249 0, 816380.799 802295.048 0, 816096.694 802305.864 0, 815811.185 802316.75 0, 815528.485 802327.546 0, 815244.382 802338.412 0, 814960.28 802349.294 0, 814676.178 802360.194 0, 814392.077 802371.11 0,
+ 814107.976 802382.043 0, 813823.876 802392.992 0, 813539.777 802403.959 0, 813255.678 802414.942 0, 812971.58 802425.942 0, 812687.483 802436.958 0, 812403.386 802447.991 0, 812119.29 802459.041 0, 811835.194 802470.108 0, 811551.1 802481.191 0,
+ 811267.006 802492.291 0, 810982.912 802503.408 0, 810698.819 802514.542 0, 810414.727 802525.692 0, 810130.636 802536.859 0, 809846.545 802548.043 0, 809562.455 802559.243 0, 809278.365 802570.46 0, 808992.871 802581.75 0, 809213.313 808152.222 0,
+ 809433.763 813722.916 0, 809718.598 813711.653 0, 810002.032 813700.462 0, 810285.466 813689.287 0, 810568.901 813678.129 0, 810852.337 813666.988 0, 811135.774 813655.864 0, 811419.211 813644.756 0, 811702.648 813633.665 0, 811986.087 813622.59 0,
+ 812269.526 813611.532 0, 812552.965 813600.491 0, 812836.406 813589.467 0, 813119.847 813578.459 0, 813403.288 813567.468 0, 813686.73 813556.494 0, 813970.173 813545.536 0, 814253.617 813534.595 0, 814537.061 813523.671 0, 814820.506 813512.763 0,
+ 815103.951 813501.872 0, 815387.397 813490.998 0, 815670.844 813480.14 0, 815954.291 813469.299 0, 816236.339 813458.529 0, 816521.188 813447.668 0, 816804.637 813436.877 0, 817088.087 813426.103 0, 817371.538 813415.345 0, 817654.989 813404.604 0,
+ 817938.441 813393.88 0, 818221.893 813383.173 0, 818505.346 813372.482 0, 818788.8 813361.808 0, 819072.254 813351.15 0, 819355.709 813340.51 0, 819639.165 813329.886 0, 819922.621 813319.278 0, 820206.078 813308.688 0, 820489.536 813298.114 0,
+ 820772.994 813287.556 0, 821056.452 813277.016 0, 821339.912 813266.492 0, 821623.372 813255.985 0, 821906.832 813245.494 0, 822190.293 813235.02 0, 822473.755 813224.563 0, 822757.218 813214.123 0, 823039.281 813203.75 0, 822834.57 807632.456 0,
+ 822629.866 802061.382 0))
+
+POLYGON ((836646.211 812723.024 0, 836364.117 812732.6 0, 836080.626 812742.239 0, 835797.136 812751.896 0, 835513.647 812761.569 0, 835230.158 812771.258 0, 834946.669 812780.965 0, 834663.181 812790.688 0, 834379.694 812800.428 0, 834096.207 812810.184 0,
+ 833812.721 812819.957 0, 833529.235 812829.747 0, 833245.75 812839.553 0, 832962.266 812849.376 0, 832678.782 812859.216 0, 832395.298 812869.073 0, 832111.816 812878.946 0, 831828.334 812888.836 0, 831544.852 812898.743 0, 831261.371 812908.666 0,
+ 830977.891 812918.606 0, 830694.411 812928.562 0, 830410.931 812938.536 0, 830127.453 812948.526 0, 829842.576 812958.582 0, 829560.497 812968.556 0, 829277.02 812978.596 0, 828993.544 812988.653 0, 828710.068 812998.726 0, 828426.593 813008.816 0,
+ 828143.119 813018.923 0, 827859.645 813029.047 0, 827576.172 813039.187 0, 827292.699 813049.344 0, 827009.227 813059.517 0, 826725.755 813069.707 0, 826442.284 813079.914 0, 826158.814 813090.138 0, 825875.344 813100.378 0, 825591.875 813110.635 0,
+ 825308.407 813120.909 0, 825024.939 813131.199 0, 824741.472 813141.506 0, 824458.005 813151.83 0, 824174.539 813162.17 0, 823891.073 813172.527 0, 823607.608 813182.901 0, 823324.144 813193.292 0, 823039.281 813203.75 0, 823244 818775.263 0,
+ 823448.727 824346.99 0, 823732.931 824336.555 0, 824015.74 824326.189 0, 824298.549 824315.839 0, 824581.358 824305.506 0, 824864.169 824295.189 0, 825146.979 824284.89 0, 825429.791 824274.606 0, 825712.603 824264.34 0, 825995.416 824254.09 0,
+ 826278.229 824243.857 0, 826561.043 824233.64 0, 826843.857 824223.44 0, 827126.672 824213.257 0, 827409.488 824203.09 0, 827692.304 824192.94 0, 827975.121 824182.807 0, 828257.938 824172.69 0, 828540.756 824162.59 0, 828823.575 824152.507 0,
+ 829106.394 824142.44 0, 829389.214 824132.39 0, 829672.034 824122.356 0, 829954.855 824112.339 0, 830236.281 824102.388 0, 830520.499 824092.356 0, 830803.322 824082.389 0, 831086.145 824072.438 0, 831368.969 824062.505 0, 831651.793 824052.588 0,
+ 831934.618 824042.688 0, 832217.444 824032.804 0, 832500.27 824022.937 0, 832783.097 824013.087 0, 833065.925 824003.253 0, 833348.752 823993.436 0, 833631.581 823983.635 0, 833914.41 823973.851 0, 834197.24 823964.084 0, 834480.07 823954.334 0,
+ 834762.901 823944.6 0, 835045.732 823934.883 0, 835328.564 823925.182 0, 835611.397 823915.498 0, 835894.23 823905.831 0, 836177.064 823896.18 0, 836459.898 823886.546 0, 836742.733 823876.929 0, 837024.174 823867.376 0, 836835.189 818295.093 0,
+ 836646.211 812723.024 0))
+
+POLYGON ((850600.921 823426.117 0, 850319.452 823434.875 0, 850036.592 823443.694 0, 849753.731 823452.528 0, 849470.871 823461.38 0, 849188.012 823470.248 0, 848905.153 823479.133 0, 848622.295 823488.034 0, 848339.437 823496.952 0, 848056.58 823505.887 0,
+ 847773.723 823514.839 0, 847490.867 823523.807 0, 847208.011 823532.791 0, 846925.156 823541.793 0, 846642.302 823550.811 0, 846359.448 823559.845 0, 846076.594 823568.897 0, 845793.741 823577.965 0, 845510.889 823587.049 0, 845228.037 823596.151 0,
+ 844945.185 823605.268 0, 844662.335 823614.403 0, 844379.484 823623.554 0, 844096.635 823632.722 0, 843812.392 823641.952 0, 843530.937 823651.108 0, 843248.088 823660.325 0, 842965.241 823669.56 0, 842682.394 823678.811 0, 842399.547 823688.079 0,
+ 842116.701 823697.363 0, 841833.856 823706.664 0, 841551.011 823715.982 0, 841268.167 823725.316 0, 840985.323 823734.667 0, 840702.48 823744.035 0, 840419.637 823753.419 0, 840136.795 823762.82 0, 839853.953 823772.237 0, 839571.112 823781.672 0,
+ 839288.272 823791.122 0, 839005.432 823800.59 0, 838722.593 823810.074 0, 838439.754 823819.575 0, 838156.916 823829.092 0, 837874.078 823838.626 0, 837591.241 823848.177 0, 837308.404 823857.744 0, 837024.174 823867.376 0, 837213.166 829439.869 0,
+ 837402.166 835012.569 0, 837685.737 835002.96 0, 837967.917 834993.415 0, 838250.098 834983.887 0, 838532.28 834974.375 0, 838814.462 834964.879 0, 839096.645 834955.401 0, 839378.828 834945.938 0, 839661.012 834936.493 0, 839943.197 834927.064 0,
+ 840225.382 834917.652 0, 840507.567 834908.256 0, 840789.754 834898.877 0, 841071.94 834889.514 0, 841354.127 834880.168 0, 841636.315 834870.839 0, 841918.504 834861.526 0, 842200.692 834852.23 0, 842482.882 834842.951 0, 842765.072 834833.688 0,
+ 843047.262 834824.442 0, 843329.453 834815.212 0, 843611.645 834805.999 0, 843893.837 834796.803 0, 844174.639 834787.668 0, 844458.223 834778.46 0, 844740.417 834769.313 0, 845022.611 834760.183 0, 845304.806 834751.07 0, 845587.001 834741.973 0,
+ 845869.197 834732.893 0, 846151.394 834723.83 0, 846433.59 834714.783 0, 846715.788 834705.752 0, 846997.986 834696.739 0, 847280.185 834687.742 0, 847562.384 834678.761 0, 847844.583 834669.797 0, 848126.783 834660.85 0, 848408.984 834651.919 0,
+ 848691.185 834643.005 0, 848973.387 834634.108 0, 849255.589 834625.227 0, 849537.792 834616.363 0, 849819.995 834607.515 0, 850102.199 834598.684 0, 850384.403 834589.87 0, 850666.608 834581.072 0, 850947.424 834572.334 0, 850774.17 828999.122 0,
+ 850600.921 823426.117 0))
+
+POLYGON ((864493.873 834170.368 0, 864213.031 834178.313 0, 863930.802 834186.313 0, 863648.574 834194.33 0, 863366.347 834202.364 0, 863084.12 834210.414 0, 862801.893 834218.481 0, 862519.667 834226.565 0, 862237.441 834234.665 0, 861955.216 834242.782 0,
+ 861672.991 834250.915 0, 861390.767 834259.065 0, 861108.543 834267.232 0, 860826.319 834275.415 0, 860544.097 834283.615 0, 860261.874 834291.831 0, 859979.652 834300.064 0, 859697.431 834308.314 0, 859415.21 834316.58 0, 859132.99 834324.863 0,
+ 858850.77 834333.162 0, 858568.55 834341.478 0, 858286.331 834349.811 0, 858004.113 834358.16 0, 857720.507 834366.567 0, 857439.677 834374.909 0, 857157.46 834383.308 0, 856875.244 834391.723 0, 856593.028 834400.156 0, 856310.812 834408.605 0,
+ 856028.597 834417.07 0, 855746.383 834425.552 0, 855464.169 834434.051 0, 855181.955 834442.567 0, 854899.742 834451.099 0, 854617.53 834459.647 0, 854335.318 834468.212 0, 854053.106 834476.794 0, 853770.895 834485.393 0, 853488.685 834494.008 0,
+ 853206.475 834502.64 0, 852924.265 834511.288 0, 852642.057 834519.953 0, 852359.848 834528.634 0, 852077.64 834537.332 0, 851795.433 834546.047 0, 851513.226 834554.778 0, 851231.019 834563.526 0, 850947.424 834572.334 0, 851120.685 840145.749 0,
+ 851293.953 845719.364 0, 851576.888 845710.576 0, 851858.439 845701.849 0, 852139.989 845693.138 0, 852421.541 845684.443 0, 852703.093 845675.765 0, 852984.645 845667.104 0, 853266.198 845658.459 0, 853547.751 845649.831 0, 853829.305 845641.22 0,
+ 854110.859 845632.624 0, 854392.414 845624.046 0, 854673.97 845615.484 0, 854955.526 845606.939 0, 855237.082 845598.41 0, 855518.639 845589.898 0, 855800.196 845581.402 0, 856081.754 845572.923 0, 856363.313 845564.461 0, 856644.871 845556.015 0,
+ 856926.431 845547.586 0, 857207.991 845539.173 0, 857489.551 845530.777 0, 857771.112 845522.397 0, 858051.288 845514.075 0, 858334.235 845505.688 0, 858615.797 845497.358 0, 858897.36 845489.044 0, 859178.924 845480.748 0, 859460.487 845472.468 0,
+ 859742.052 845464.204 0, 860023.617 845455.957 0, 860305.182 845447.727 0, 860586.748 845439.513 0, 860868.314 845431.315 0, 861149.881 845423.135 0, 861431.448 845414.97 0, 861713.015 845406.823 0, 861994.584 845398.692 0, 862276.152 845390.577 0,
+ 862557.721 845382.48 0, 862839.291 845374.398 0, 863120.861 845366.334 0, 863402.431 845358.285 0, 863684.002 845350.254 0, 863965.574 845342.239 0, 864247.146 845334.24 0, 864528.718 845326.259 0, 864808.907 845318.332 0, 864651.387 839744.251 0,
+ 864493.873 834170.368 0))
+
+POLYGON ((878324.941 844955.485 0, 878044.729 844962.62 0, 877763.135 844969.806 0, 877481.541 844977.009 0, 877199.948 844984.228 0, 876918.356 844991.464 0, 876636.764 844998.717 0, 876355.172 845005.986 0, 876073.581 845013.272 0, 875791.99 845020.574 0,
+ 875510.399 845027.893 0, 875228.809 845035.229 0, 874947.22 845042.581 0, 874665.631 845049.949 0, 874384.042 845057.335 0, 874102.454 845064.736 0, 873820.866 845072.155 0, 873539.278 845079.59 0, 873257.691 845087.041 0, 872976.105 845094.509 0,
+ 872694.519 845101.994 0, 872412.933 845109.495 0, 872131.348 845117.013 0, 871849.763 845124.547 0, 871566.796 845132.135 0, 871286.595 845139.666 0, 871005.012 845147.25 0, 870723.429 845154.851 0, 870441.846 845162.468 0, 870160.264 845170.102 0,
+ 869878.682 845177.752 0, 869597.101 845185.419 0, 869315.521 845193.103 0, 869033.94 845200.803 0, 868752.361 845208.519 0, 868470.781 845216.253 0, 868189.202 845224.003 0, 867907.624 845231.769 0, 867626.046 845239.552 0, 867344.468 845247.351 0,
+ 867062.891 845255.168 0, 866781.315 845263 0, 866499.738 845270.85 0, 866218.163 845278.715 0, 865936.588 845286.598 0, 865655.013 845294.497 0, 865373.438 845302.412 0, 865091.865 845310.345 0, 864808.907 845318.332 0, 864966.433 850892.61 0,
+ 865123.964 856467.079 0, 865406.262 856459.11 0, 865687.179 856451.196 0, 865968.097 856443.299 0, 866249.016 856435.419 0, 866529.935 856427.555 0, 866810.855 856419.707 0, 867091.775 856411.876 0, 867372.695 856404.062 0, 867653.616 856396.264 0,
+ 867934.537 856388.482 0, 868215.459 856380.718 0, 868496.381 856372.969 0, 868777.304 856365.238 0, 869058.227 856357.522 0, 869339.151 856349.824 0, 869620.075 856342.141 0, 869900.999 856334.476 0, 870181.924 856326.827 0, 870462.85 856319.194 0,
+ 870743.775 856311.578 0, 871024.702 856303.979 0, 871305.629 856296.396 0, 871586.556 856288.829 0, 871866.104 856281.316 0, 872148.411 856273.746 0, 872429.34 856266.229 0, 872710.269 856258.729 0, 872991.198 856251.245 0, 873272.128 856243.778 0,
+ 873553.059 856236.327 0, 873833.989 856228.893 0, 874114.92 856221.475 0, 874395.852 856214.074 0, 874676.784 856206.69 0, 874957.717 856199.322 0, 875238.649 856191.97 0, 875519.583 856184.635 0, 875800.517 856177.317 0, 876081.451 856170.015 0,
+ 876362.385 856162.73 0, 876643.32 856155.461 0, 876924.256 856148.209 0, 877205.192 856140.973 0, 877486.128 856133.754 0, 877767.065 856126.551 0, 878048.002 856119.365 0, 878328.94 856112.195 0, 878608.499 856105.077 0, 878466.718 850530.185 0,
+ 878324.941 844955.485 0))
+
+POLYGON ((892094.003 855781.173 0, 891814.423 855787.501 0, 891533.466 855793.877 0, 891252.51 855800.27 0, 890971.554 855806.679 0, 890690.598 855813.104 0, 890409.643 855819.546 0, 890128.688 855826.005 0, 889847.734 855832.48 0, 889566.779 855838.971 0,
+ 889285.826 855845.48 0, 889004.872 855852.004 0, 888723.919 855858.545 0, 888442.967 855865.103 0, 888162.015 855871.677 0, 887881.063 855878.268 0, 887600.112 855884.876 0, 887319.161 855891.5 0, 887038.21 855898.14 0, 886757.26 855904.797 0,
+ 886476.31 855911.47 0, 886195.36 855918.161 0, 885914.411 855924.867 0, 885633.463 855931.59 0, 885351.137 855938.363 0, 885071.567 855945.086 0, 884790.619 855951.859 0, 884509.672 855958.648 0, 884228.725 855965.454 0, 883947.779 855972.276 0,
+ 883666.833 855979.115 0, 883385.888 855985.97 0, 883104.943 855992.842 0, 882823.998 855999.731 0, 882543.054 856006.636 0, 882262.11 856013.557 0, 881981.167 856020.496 0, 881700.224 856027.45 0, 881419.281 856034.421 0, 881138.339 856041.409 0,
+ 880857.397 856048.413 0, 880576.456 856055.434 0, 880295.515 856062.471 0, 880014.574 856069.525 0, 879733.634 856076.596 0, 879452.694 856083.682 0, 879171.755 856090.786 0, 878890.816 856097.906 0, 878608.499 856105.077 0, 878750.285 861680.158 0,
+ 878892.076 867255.423 0, 879173.734 867248.268 0, 879454.017 867241.165 0, 879734.3 867234.078 0, 880014.583 867227.008 0, 880294.867 867219.954 0, 880575.151 867212.916 0, 880855.436 867205.895 0, 881135.721 867198.891 0, 881416.006 867191.903 0,
+ 881696.292 867184.932 0, 881976.579 867177.977 0, 882256.865 867171.039 0, 882537.152 867164.117 0, 882817.44 867157.211 0, 883097.728 867150.322 0, 883378.016 867143.45 0, 883658.305 867136.594 0, 883938.594 867129.755 0, 884218.884 867122.932 0,
+ 884499.174 867116.126 0, 884779.464 867109.336 0, 885059.755 867102.562 0, 885340.046 867095.805 0, 885618.963 867089.098 0, 885900.629 867082.341 0, 886180.922 867075.634 0, 886461.214 867068.943 0, 886741.507 867062.268 0, 887021.801 867055.61 0,
+ 887302.095 867048.969 0, 887582.389 867042.344 0, 887862.684 867035.736 0, 888142.979 867029.144 0, 888423.274 867022.568 0, 888703.57 867016.009 0, 888983.867 867009.467 0, 889264.163 867002.941 0, 889544.46 866996.431 0, 889824.758 866989.938 0,
+ 890105.055 866983.462 0, 890385.353 866977.002 0, 890665.652 866970.559 0, 890945.951 866964.132 0, 891226.25 866957.721 0, 891506.55 866951.327 0, 891786.85 866944.95 0, 892067.15 866938.589 0, 892346.078 866932.275 0, 892220.038 861356.632 0,
+ 892094.003 855781.173 0))
+
+POLYGON ((905800.938 866647.139 0, 905521.992 866652.665 0, 905241.675 866658.234 0, 904961.358 866663.819 0, 904681.041 866669.421 0, 904400.725 866675.04 0, 904120.409 866680.675 0, 903840.093 866686.326 0, 903559.778 866691.994 0, 903279.463 866697.679 0,
+ 902999.149 866703.38 0, 902718.834 866709.097 0, 902438.52 866714.831 0, 902158.207 866720.582 0, 901877.893 866726.349 0, 901597.581 866732.133 0, 901317.268 866737.933 0, 901036.956 866743.749 0, 900756.644 866749.582 0, 900476.332 866755.432 0,
+ 900196.021 866761.298 0, 899915.71 866767.18 0, 899635.4 866773.079 0, 899355.089 866778.995 0, 899073.407 866784.956 0, 898794.47 866790.875 0, 898514.161 866796.84 0, 898233.852 866802.822 0, 897953.544 866808.82 0, 897673.236 866814.834 0,
+ 897392.928 866820.865 0, 897112.621 866826.913 0, 896832.314 866832.977 0, 896552.007 866839.057 0, 896271.701 866845.154 0, 895991.395 866851.268 0, 895711.089 866857.398 0, 895430.784 866863.544 0, 895150.479 866869.707 0, 894870.175 866875.887 0,
+ 894589.871 866882.083 0, 894309.567 866888.295 0, 894029.264 866894.524 0, 893748.961 866900.77 0, 893468.658 866907.032 0, 893188.356 866913.31 0, 892908.054 866919.605 0, 892627.752 866925.916 0, 892346.078 866932.275 0, 892472.121 872508.099 0,
+ 892598.168 878084.1 0, 892879.183 878077.756 0, 893158.829 878071.46 0, 893438.474 878065.179 0, 893718.12 878058.916 0, 893997.766 878052.668 0, 894277.413 878046.437 0, 894557.06 878040.223 0, 894836.707 878034.025 0, 895116.355 878027.844 0,
+ 895396.003 878021.679 0, 895675.651 878015.53 0, 895955.3 878009.398 0, 896234.949 878003.282 0, 896514.599 877997.183 0, 896794.249 877991.1 0, 897073.899 877985.034 0, 897353.55 877978.984 0, 897633.201 877972.951 0, 897912.852 877966.934 0,
+ 898192.504 877960.934 0, 898472.156 877954.95 0, 898751.808 877948.982 0, 899031.461 877943.031 0, 899309.745 877937.126 0, 899590.767 877931.179 0, 899870.421 877925.277 0, 900150.075 877919.392 0, 900429.73 877913.523 0, 900709.385 877907.671 0,
+ 900989.04 877901.835 0, 901268.695 877896.016 0, 901548.351 877890.213 0, 901828.007 877884.426 0, 902107.664 877878.656 0, 902387.321 877872.903 0, 902666.978 877867.166 0, 902946.635 877861.445 0, 903226.293 877855.741 0, 903505.951 877850.053 0,
+ 903785.61 877844.382 0, 904065.269 877838.727 0, 904344.928 877833.089 0, 904624.588 877827.467 0, 904904.247 877821.862 0, 905183.908 877816.273 0, 905463.568 877810.7 0, 905743.229 877805.144 0, 906021.522 877799.632 0, 905911.228 872223.297 0,
+ 905800.938 866647.139 0))
+
+POLYGON ((919445.626 877553.088 0, 919167.316 877557.814 0, 918887.641 877562.58 0, 918607.966 877567.362 0, 918328.291 877572.161 0, 918048.616 877576.976 0, 917768.942 877581.808 0, 917489.268 877586.656 0, 917209.594 877591.521 0, 916929.921 877596.402 0,
+ 916650.247 877601.3 0, 916370.575 877606.214 0, 916090.902 877611.144 0, 915811.23 877616.091 0, 915531.558 877621.055 0, 915251.886 877626.034 0, 914972.215 877631.031 0, 914692.543 877636.044 0, 914412.873 877641.073 0, 914133.202 877646.119 0,
+ 913853.532 877651.181 0, 913573.862 877656.259 0, 913294.192 877661.354 0, 913014.523 877666.466 0, 912733.487 877671.619 0, 912455.185 877676.739 0, 912175.517 877681.9 0, 911895.849 877687.077 0, 911616.181 877692.271 0, 911336.513 877697.481 0,
+ 911056.846 877702.708 0, 910777.179 877707.951 0, 910497.513 877713.211 0, 910217.846 877718.487 0, 909938.18 877723.78 0, 909658.515 877729.089 0, 909378.849 877734.414 0, 909099.184 877739.756 0, 908819.52 877745.115 0, 908539.855 877750.49 0,
+ 908260.191 877755.881 0, 907980.527 877761.289 0, 907700.864 877766.713 0, 907421.201 877772.154 0, 907141.538 877777.611 0, 906861.876 877783.085 0, 906582.214 877788.575 0, 906302.552 877794.082 0, 906021.522 877799.632 0, 906131.819 883376.14 0,
+ 906242.119 888952.817 0, 906522.489 888947.28 0, 906801.495 888941.786 0, 907080.501 888936.309 0, 907359.507 888930.848 0, 907638.513 888925.404 0, 907917.52 888919.976 0, 908196.527 888914.564 0, 908475.534 888909.169 0, 908754.541 888903.79 0,
+ 909033.549 888898.428 0, 909312.558 888893.082 0, 909591.566 888887.752 0, 909870.575 888882.439 0, 910149.584 888877.143 0, 910428.594 888871.863 0, 910707.604 888866.599 0, 910986.614 888861.351 0, 911265.624 888856.12 0, 911544.635 888850.906 0,
+ 911823.646 888845.708 0, 912102.657 888840.526 0, 912381.669 888835.361 0, 912660.681 888830.212 0, 912938.329 888825.105 0, 913218.706 888819.964 0, 913497.718 888814.864 0, 913776.732 888809.781 0, 914055.745 888804.714 0, 914334.759 888799.664 0,
+ 914613.773 888794.63 0, 914892.787 888789.613 0, 915171.802 888784.612 0, 915450.817 888779.627 0, 915729.832 888774.659 0, 916008.848 888769.707 0, 916287.863 888764.772 0, 916566.879 888759.853 0, 916845.896 888754.95 0, 917124.913 888750.064 0,
+ 917403.929 888745.195 0, 917682.947 888740.341 0, 917961.964 888735.505 0, 918240.982 888730.684 0, 918520 888725.88 0, 918799.019 888721.093 0, 919078.037 888716.322 0, 919357.056 888711.567 0, 919634.713 888706.852 0, 919540.168 883129.885 0,
+ 919445.626 877553.088 0))
+
+POLYGON ((933027.947 888498.724 0, 932750.276 888502.655 0, 932471.245 888506.621 0, 932192.214 888510.604 0, 931913.183 888514.603 0, 931634.153 888518.619 0, 931355.122 888522.651 0, 931076.092 888526.699 0, 930797.062 888530.764 0, 930518.033 888534.846 0,
+ 930239.004 888538.944 0, 929959.974 888543.058 0, 929680.945 888547.188 0, 929401.917 888551.335 0, 929122.888 888555.499 0, 928843.86 888559.679 0, 928564.832 888563.875 0, 928285.805 888568.088 0, 928006.777 888572.317 0, 927727.75 888576.563 0,
+ 927448.723 888580.825 0, 927169.697 888585.103 0, 926890.67 888589.398 0, 926611.644 888593.709 0, 926331.256 888598.058 0, 926053.593 888602.381 0, 925774.567 888606.742 0, 925495.542 888611.119 0, 925216.517 888615.512 0, 924937.493 888619.922 0,
+ 924658.468 888624.348 0, 924379.444 888628.791 0, 924100.42 888633.25 0, 923821.397 888637.725 0, 923542.373 888642.217 0, 923263.35 888646.726 0, 922984.328 888651.25 0, 922705.305 888655.792 0, 922426.283 888660.349 0, 922147.261 888664.923 0,
+ 921868.239 888669.514 0, 921589.218 888674.121 0, 921310.197 888678.744 0, 921031.176 888683.384 0, 920752.155 888688.04 0, 920473.135 888692.712 0, 920194.115 888697.401 0, 919915.095 888702.107 0, 919634.713 888706.852 0, 919729.26 894283.984 0,
+ 919823.811 899861.277 0, 920103.533 899856.544 0, 920381.896 899851.849 0, 920660.26 899847.171 0, 920938.624 899842.51 0, 921216.988 899837.864 0, 921495.352 899833.236 0, 921773.717 899828.623 0, 922052.082 899824.027 0, 922330.447 899819.448 0,
+ 922608.812 899814.884 0, 922887.178 899810.337 0, 923165.544 899805.807 0, 923443.91 899801.293 0, 923722.277 899796.795 0, 924000.644 899792.314 0, 924279.011 899787.849 0, 924557.378 899783.4 0, 924835.745 899778.968 0, 925114.113 899774.552 0,
+ 925392.481 899770.153 0, 925670.85 899765.769 0, 925949.218 899761.403 0, 926227.587 899757.053 0, 926504.598 899752.74 0, 926784.325 899748.401 0, 927062.695 899744.1 0, 927341.065 899739.815 0, 927619.435 899735.547 0, 927897.805 899731.295 0,
+ 928176.176 899727.059 0, 928454.547 899722.84 0, 928732.918 899718.637 0, 929011.289 899714.451 0, 929289.661 899710.281 0, 929568.033 899706.127 0, 929846.405 899701.99 0, 930124.777 899697.869 0, 930403.15 899693.764 0, 930681.523 899689.676 0,
+ 930959.896 899685.604 0, 931238.269 899681.549 0, 931516.643 899677.51 0, 931795.016 899673.487 0, 932073.39 899669.481 0, 932351.765 899665.491 0, 932630.139 899661.518 0, 932908.514 899657.561 0, 933185.531 899653.639 0, 933106.738 894076.101 0,
+ 933027.947 888498.724 0))
+
+POLYGON ((946547.785 899483.751 0, 946270.755 899486.89 0, 945992.371 899490.061 0, 945713.986 899493.248 0, 945435.602 899496.451 0, 945157.217 899499.671 0, 944878.833 899502.907 0, 944600.45 899506.16 0, 944322.066 899509.429 0, 944043.683 899512.714 0,
+ 943765.299 899516.015 0, 943486.916 899519.334 0, 943208.533 899522.668 0, 942930.151 899526.019 0, 942651.768 899529.386 0, 942373.386 899532.77 0, 942095.004 899536.17 0, 941816.622 899539.586 0, 941538.24 899543.019 0, 941259.859 899546.468 0,
+ 940981.478 899549.933 0, 940703.097 899553.415 0, 940424.716 899556.914 0, 940146.335 899560.428 0, 939866.598 899563.977 0, 939589.574 899567.507 0, 939311.194 899571.071 0, 939032.814 899574.651 0, 938754.435 899578.247 0, 938476.055 899581.86 0,
+ 938197.676 899585.49 0, 937919.297 899589.135 0, 937640.919 899592.798 0, 937362.54 899596.476 0, 937084.162 899600.171 0, 936805.784 899603.882 0, 936527.406 899607.61 0, 936249.028 899611.354 0, 935970.651 899615.115 0, 935692.273 899618.891 0,
+ 935413.896 899622.685 0, 935135.52 899626.494 0, 934857.143 899630.32 0, 934578.767 899634.163 0, 934300.391 899638.021 0, 934022.015 899641.896 0, 933743.639 899645.788 0, 933465.264 899649.696 0, 933185.531 899653.639 0, 933264.326 905231.336 0,
+ 933343.124 910809.186 0, 933622.197 910805.252 0, 933899.916 910801.353 0, 934177.635 910797.471 0, 934455.354 910793.605 0, 934733.074 910789.755 0, 935010.793 910785.922 0, 935288.513 910782.105 0, 935566.233 910778.304 0, 935843.954 910774.52 0,
+ 936121.674 910770.752 0, 936399.395 910767 0, 936677.116 910763.265 0, 936954.838 910759.546 0, 937232.559 910755.844 0, 937510.281 910752.157 0, 937788.003 910748.488 0, 938065.725 910744.834 0, 938343.447 910741.197 0, 938621.17 910737.576 0,
+ 938898.893 910733.972 0, 939176.616 910730.384 0, 939454.339 910726.812 0, 939732.062 910723.256 0, 940008.433 910719.735 0, 940287.51 910716.195 0, 940565.234 910712.688 0, 940842.958 910709.198 0, 941120.682 910705.724 0, 941398.407 910702.267 0,
+ 941676.132 910698.826 0, 941953.857 910695.401 0, 942231.582 910691.993 0, 942509.308 910688.601 0, 942787.033 910685.226 0, 943064.759 910681.866 0, 943342.485 910678.523 0, 943620.212 910675.197 0, 943897.938 910671.887 0, 944175.665 910668.593 0,
+ 944453.392 910665.315 0, 944731.119 910662.054 0, 945008.846 910658.809 0, 945286.573 910655.581 0, 945564.301 910652.368 0, 945842.029 910649.173 0, 946119.757 910645.993 0, 946397.485 910642.83 0, 946673.861 910639.699 0, 946610.822 905061.648 0,
+ 946547.785 899483.751 0))
+
+POLYGON ((960005.023 910507.874 0, 959728.637 910510.225 0, 959450.901 910512.603 0, 959173.165 910514.998 0, 958895.43 910517.409 0, 958617.694 910519.836 0, 958339.959 910522.28 0, 958062.223 910524.741 0, 957784.488 910527.217 0, 957506.753 910529.71 0,
+ 957229.018 910532.219 0, 956951.284 910534.745 0, 956673.549 910537.287 0, 956395.815 910539.845 0, 956118.081 910542.42 0, 955840.346 910545.011 0, 955562.613 910547.618 0, 955284.879 910550.242 0, 955007.145 910552.882 0, 954729.412 910555.538 0,
+ 954451.678 910558.211 0, 954173.945 910560.9 0, 953896.212 910563.605 0, 953618.479 910566.327 0, 953339.395 910569.078 0, 953063.014 910571.819 0, 952785.282 910574.59 0, 952507.55 910577.377 0, 952229.818 910580.181 0, 951952.086 910583.001 0,
+ 951674.354 910585.837 0, 951396.622 910588.689 0, 951118.891 910591.558 0, 950841.16 910594.443 0, 950563.429 910597.345 0, 950285.698 910600.263 0, 950007.967 910603.197 0, 949730.237 910606.148 0, 949452.507 910609.115 0, 949174.776 910612.098 0,
+ 948897.046 910615.098 0, 948619.317 910618.114 0, 948341.587 910621.146 0, 948063.858 910624.195 0, 947786.128 910627.26 0, 947508.399 910630.341 0, 947230.67 910633.439 0, 946952.942 910636.553 0, 946673.861 910639.699 0, 946736.901 916217.899 0,
+ 946799.943 921796.246 0, 947078.364 921793.108 0, 947355.436 921790.001 0, 947632.509 921786.911 0, 947909.581 921783.836 0, 948186.654 921780.779 0, 948463.726 921777.737 0, 948740.799 921774.712 0, 949017.873 921771.703 0, 949294.946 921768.711 0,
+ 949572.019 921765.734 0, 949849.093 921762.774 0, 950126.167 921759.831 0, 950403.241 921756.903 0, 950680.315 921753.992 0, 950957.39 921751.098 0, 951234.464 921748.219 0, 951511.539 921745.357 0, 951788.614 921742.511 0, 952065.689 921739.682 0,
+ 952342.764 921736.869 0, 952619.839 921734.072 0, 952896.915 921731.291 0, 953173.99 921728.527 0, 953449.718 921725.793 0, 953728.142 921723.048 0, 954005.218 921720.332 0, 954282.295 921717.633 0, 954559.371 921714.951 0, 954836.448 921712.284 0,
+ 955113.525 921709.634 0, 955390.602 921707 0, 955667.679 921704.383 0, 955944.756 921701.782 0, 956221.834 921699.197 0, 956498.911 921696.628 0, 956775.989 921694.076 0, 957053.067 921691.54 0, 957330.145 921689.021 0, 957607.223 921686.517 0,
+ 957884.301 921684.03 0, 958161.38 921681.56 0, 958438.458 921679.105 0, 958715.537 921676.667 0, 958992.616 921674.245 0, 959269.695 921671.84 0, 959546.774 921669.451 0, 959823.854 921667.078 0, 960099.586 921664.733 0, 960052.304 916086.23 0,
+ 960005.023 910507.874 0))
+
+POLYGON ((973399.547 921570.794 0, 973123.807 921572.36 0, 972846.722 921573.95 0, 972569.637 921575.557 0, 972292.552 921577.179 0, 972015.468 921578.818 0, 971738.383 921580.473 0, 971461.299 921582.145 0, 971184.215 921583.833 0, 970907.13 921585.537 0,
+ 970630.046 921587.258 0, 970352.962 921588.994 0, 970075.878 921590.748 0, 969798.794 921592.517 0, 969521.711 921594.303 0, 969244.627 921596.105 0, 968967.543 921597.923 0, 968690.46 921599.758 0, 968413.377 921601.609 0, 968136.294 921603.476 0,
+ 967859.21 921605.36 0, 967582.128 921607.26 0, 967305.045 921609.176 0, 967027.962 921611.108 0, 966749.533 921613.067 0, 966473.797 921615.022 0, 966196.714 921617.004 0, 965919.632 921619.001 0, 965642.55 921621.015 0, 965365.468 921623.046 0,
+ 965088.386 921625.092 0, 964811.304 921627.155 0, 964534.222 921629.235 0, 964257.141 921631.33 0, 963980.06 921633.442 0, 963702.978 921635.57 0, 963425.897 921637.715 0, 963148.816 921639.876 0, 962871.735 921642.053 0, 962594.654 921644.246 0,
+ 962317.574 921646.456 0, 962040.493 921648.682 0, 961763.413 921650.925 0, 961486.332 921653.183 0, 961209.252 921655.458 0, 960932.172 921657.75 0, 960655.092 921660.057 0, 960378.013 921662.381 0, 960099.586 921664.733 0, 960146.869 927243.378 0,
+ 960194.154 932822.161 0, 960471.92 932819.815 0, 960748.343 932817.496 0, 961024.767 932815.194 0, 961301.19 932812.908 0, 961577.613 932810.638 0, 961854.037 932808.385 0, 962130.461 932806.148 0, 962406.884 932803.927 0, 962683.308 932801.723 0,
+ 962959.732 932799.535 0, 963236.157 932797.363 0, 963512.581 932795.207 0, 963789.005 932793.067 0, 964065.43 932790.944 0, 964341.855 932788.837 0, 964618.28 932786.747 0, 964894.705 932784.672 0, 965171.13 932782.614 0, 965447.555 932780.572 0,
+ 965723.98 932778.547 0, 966000.406 932776.538 0, 966276.831 932774.545 0, 966553.257 932772.568 0, 966828.34 932770.617 0, 967106.109 932768.663 0, 967382.535 932766.735 0, 967658.961 932764.824 0, 967935.387 932762.928 0, 968211.813 932761.049 0,
+ 968488.24 932759.186 0, 968764.667 932757.34 0, 969041.093 932755.509 0, 969317.52 932753.695 0, 969593.947 932751.897 0, 969870.374 932750.116 0, 970146.801 932748.351 0, 970423.228 932746.602 0, 970699.656 932744.869 0, 970976.083 932743.153 0,
+ 971252.511 932741.452 0, 971528.938 932739.769 0, 971805.366 932738.101 0, 972081.794 932736.45 0, 972358.222 932734.815 0, 972634.65 932733.196 0, 972911.078 932731.593 0, 973187.506 932730.007 0, 973462.593 932728.445 0, 973431.069 927149.55 0,
+ 973399.547 921570.794 0))
+
+POLYGON ((986731.243 932672.215 0, 986456.151 932673 0, 986179.72 932673.805 0, 985903.288 932674.627 0, 985626.857 932675.465 0, 985350.425 932676.319 0, 985073.994 932677.189 0, 984797.563 932678.076 0, 984521.131 932678.979 0, 984244.7 932679.898 0,
+ 983968.269 932680.833 0, 983691.838 932681.785 0, 983415.407 932682.753 0, 983138.976 932683.737 0, 982862.545 932684.738 0, 982586.114 932685.755 0, 982309.683 932686.788 0, 982033.252 932687.837 0, 981756.822 932688.903 0, 981480.391 932689.985 0,
+ 981203.96 932691.083 0, 980927.53 932692.197 0, 980651.099 932693.328 0, 980374.669 932694.475 0, 980096.898 932695.644 0, 979821.809 932696.818 0, 979545.378 932698.013 0, 979268.948 932699.225 0, 978992.518 932700.454 0, 978716.088 932701.698 0,
+ 978439.658 932702.959 0, 978163.229 932704.236 0, 977886.799 932705.53 0, 977610.369 932706.839 0, 977333.94 932708.165 0, 977057.51 932709.508 0, 976781.081 932710.866 0, 976504.651 932712.241 0, 976228.222 932713.632 0, 975951.793 932715.039 0,
+ 975675.364 932716.463 0, 975398.935 932717.903 0, 975122.506 932719.359 0, 974846.077 932720.831 0, 974569.648 932722.32 0, 974293.22 932723.825 0, 974016.791 932725.346 0, 973740.363 932726.883 0, 973462.593 932728.445 0, 973494.116 938307.473 0,
+ 973525.641 943886.632 0, 973802.751 943885.075 0, 974078.523 943883.541 0, 974354.295 943882.023 0, 974630.067 943880.522 0, 974905.839 943879.037 0, 975181.611 943877.568 0, 975457.383 943876.115 0, 975733.155 943874.679 0, 976008.928 943873.259 0,
+ 976284.7 943871.855 0, 976560.473 943870.467 0, 976836.245 943869.096 0, 977112.018 943867.74 0, 977387.791 943866.401 0, 977663.563 943865.079 0, 977939.336 943863.772 0, 978215.109 943862.482 0, 978490.882 943861.208 0, 978766.655 943859.95 0,
+ 979042.429 943858.708 0, 979318.202 943857.483 0, 979593.975 943856.273 0, 979869.749 943855.081 0, 980144.185 943853.909 0, 980421.296 943852.743 0, 980697.069 943851.599 0, 980972.843 943850.471 0, 981248.617 943849.359 0, 981524.391 943848.264 0,
+ 981800.164 943847.184 0, 982075.938 943846.121 0, 982351.712 943845.074 0, 982627.486 943844.044 0, 982903.261 943843.029 0, 983179.035 943842.031 0, 983454.809 943841.049 0, 983730.583 943840.084 0, 984006.358 943839.134 0, 984282.132 943838.201 0,
+ 984557.907 943837.284 0, 984833.681 943836.383 0, 985109.456 943835.499 0, 985385.23 943834.63 0, 985661.005 943833.778 0, 985936.78 943832.942 0, 986212.554 943832.123 0, 986488.329 943831.319 0, 986762.768 943830.536 0, 986747.005 938251.31 0,
+ 986731.243 932672.215 0))
+
+POLYGON ((1000000 943811.837 0, 999725.558 943811.845 0, 999449.782 943811.869 0, 999174.006 943811.91 0, 998898.23 943811.967 0, 998622.454 943812.04 0, 998346.678 943812.129 0, 998070.902 943812.234 0, 997795.126 943812.356 0, 997519.35 943812.494 0,
+ 997243.575 943812.648 0, 996967.799 943812.818 0, 996692.023 943813.005 0, 996416.247 943813.208 0, 996140.471 943813.427 0, 995864.695 943813.662 0, 995588.919 943813.914 0, 995313.143 943814.181 0, 995037.367 943814.465 0, 994761.592 943814.765 0,
+ 994485.816 943815.082 0, 994210.04 943815.415 0, 993934.264 943815.763 0, 993658.488 943816.129 0, 993381.377 943816.512 0, 993106.937 943816.908 0, 992831.161 943817.321 0, 992555.386 943817.751 0, 992279.61 943818.198 0, 992003.834 943818.66 0,
+ 991728.059 943819.139 0, 991452.283 943819.634 0, 991176.508 943820.145 0, 990900.732 943820.673 0, 990624.957 943821.216 0, 990349.181 943821.776 0, 990073.406 943822.352 0, 989797.631 943822.945 0, 989521.855 943823.553 0, 989246.08 943824.178 0,
+ 988970.305 943824.819 0, 988694.529 943825.477 0, 988418.754 943826.15 0, 988142.979 943826.84 0, 987867.204 943827.546 0, 987591.429 943828.268 0, 987315.654 943829.007 0, 987039.879 943829.761 0, 986762.768 943830.536 0, 986778.53 949409.888 0,
+ 986794.294 954989.363 0, 987070.745 954988.59 0, 987345.863 954987.837 0, 987620.981 954987.101 0, 987896.1 954986.38 0, 988171.218 954985.676 0, 988446.336 954984.988 0, 988721.455 954984.316 0, 988996.573 954983.66 0, 989271.692 954983.02 0,
+ 989546.81 954982.397 0, 989821.929 954981.79 0, 990097.047 954981.199 0, 990372.166 954980.624 0, 990647.284 954980.066 0, 990922.403 954979.523 0, 991197.522 954978.997 0, 991472.64 954978.487 0, 991747.759 954977.993 0, 992022.878 954977.516 0,
+ 992297.997 954977.054 0, 992573.116 954976.609 0, 992848.235 954976.18 0, 993123.353 954975.767 0, 993397.14 954975.372 0, 993673.591 954974.99 0, 993948.71 954974.626 0, 994223.829 954974.278 0, 994498.948 954973.946 0, 994774.067 954973.63 0,
+ 995049.186 954973.331 0, 995324.305 954973.047 0, 995599.424 954972.78 0, 995874.544 954972.529 0, 996149.663 954972.295 0, 996424.782 954972.076 0, 996699.901 954971.874 0, 996975.02 954971.688 0, 997250.139 954971.518 0, 997525.258 954971.364 0,
+ 997800.378 954971.226 0, 998075.497 954971.105 0, 998350.616 954971 0, 998625.735 954970.911 0, 998900.854 954970.838 0, 999175.974 954970.781 0, 999451.093 954970.741 0, 999726.212 954970.717 0, 1000000 954970.709 0, 1000000 949391.212 0,
+ 1000000 943811.837 0))
+
+POLYGON ((1013205.706 954989.363 0, 1012931.917 954988.598 0, 1012656.799 954987.844 0, 1012381.681 954987.108 0, 1012106.563 954986.387 0, 1011831.444 954985.682 0, 1011556.326 954984.994 0, 1011281.208 954984.322 0, 1011006.089 954983.666 0, 1010730.971 954983.027 0,
+ 1010455.852 954982.403 0, 1010180.734 954981.796 0, 1009905.615 954981.205 0, 1009630.497 954980.63 0, 1009355.378 954980.071 0, 1009080.259 954979.528 0, 1008805.141 954979.002 0, 1008530.022 954978.492 0, 1008254.903 954977.998 0, 1007979.784 954977.52 0,
+ 1007704.665 954977.059 0, 1007429.547 954976.613 0, 1007154.428 954976.184 0, 1006879.309 954975.771 0, 1006602.86 954975.372 0, 1006329.071 954974.994 0, 1006053.952 954974.629 0, 1005778.833 954974.281 0, 1005503.714 954973.949 0, 1005228.595 954973.633 0,
+ 1004953.476 954973.333 0, 1004678.357 954973.05 0, 1004403.238 954972.783 0, 1004128.119 954972.532 0, 1003853 954972.297 0, 1003577.88 954972.078 0, 1003302.761 954971.876 0, 1003027.642 954971.689 0, 1002752.523 954971.519 0, 1002477.404 954971.365 0,
+ 1002202.285 954971.228 0, 1001927.166 954971.106 0, 1001652.046 954971.001 0, 1001376.927 954970.912 0, 1001101.808 954970.839 0, 1000826.689 954970.782 0, 1000551.57 954970.741 0, 1000276.45 954970.717 0, 1000000 954970.709 0, 1000000 960550.324 0,
+ 1000000 966130.054 0, 1000275.79 966130.062 0, 1000550.253 966130.086 0, 1000824.715 966130.127 0, 1001099.178 966130.184 0, 1001373.64 966130.256 0, 1001648.102 966130.345 0, 1001922.565 966130.45 0, 1002197.027 966130.572 0, 1002471.489 966130.709 0,
+ 1002745.952 966130.863 0, 1003020.414 966131.032 0, 1003294.876 966131.218 0, 1003569.339 966131.42 0, 1003843.801 966131.638 0, 1004118.263 966131.873 0, 1004392.726 966132.123 0, 1004667.188 966132.39 0, 1004941.65 966132.672 0, 1005216.112 966132.971 0,
+ 1005490.574 966133.286 0, 1005765.037 966133.618 0, 1006039.499 966133.965 0, 1006313.961 966134.329 0, 1006587.096 966134.706 0, 1006862.885 966135.104 0, 1007137.347 966135.516 0, 1007411.809 966135.944 0, 1007686.271 966136.389 0, 1007960.733 966136.849 0,
+ 1008235.195 966137.326 0, 1008509.657 966137.819 0, 1008784.119 966138.328 0, 1009058.581 966138.853 0, 1009333.043 966139.394 0, 1009607.505 966139.951 0, 1009881.967 966140.525 0, 1010156.428 966141.115 0, 1010430.89 966141.72 0, 1010705.352 966142.342 0,
+ 1010979.813 966142.981 0, 1011254.275 966143.635 0, 1011528.737 966144.305 0, 1011803.198 966144.992 0, 1012077.66 966145.695 0, 1012352.121 966146.414 0, 1012626.582 966147.149 0, 1012901.044 966147.9 0, 1013174.179 966148.664 0, 1013189.943 960568.956 0,
+ 1013205.706 954989.363 0))
+
+POLYGON ((1026348.253 966204.493 0, 1026075.119 966202.958 0, 1025800.661 966201.431 0, 1025526.203 966199.92 0, 1025251.744 966198.426 0, 1024977.286 966196.948 0, 1024702.827 966195.486 0, 1024428.369 966194.04 0, 1024153.91 966192.61 0, 1023879.451 966191.197 0,
+ 1023604.993 966189.799 0, 1023330.534 966188.418 0, 1023056.075 966187.053 0, 1022781.616 966185.704 0, 1022507.156 966184.371 0, 1022232.697 966183.054 0, 1021958.238 966181.754 0, 1021683.779 966180.47 0, 1021409.319 966179.201 0, 1021134.86 966177.949 0,
+ 1020860.4 966176.714 0, 1020585.94 966175.494 0, 1020311.481 966174.29 0, 1020037.021 966173.103 0, 1019761.236 966171.926 0, 1019488.101 966170.776 0, 1019213.641 966169.637 0, 1018939.181 966168.515 0, 1018664.721 966167.408 0, 1018390.26 966166.318 0,
+ 1018115.8 966165.243 0, 1017841.34 966164.185 0, 1017566.879 966163.143 0, 1017292.419 966162.117 0, 1017017.958 966161.107 0, 1016743.498 966160.114 0, 1016469.037 966159.136 0, 1016194.576 966158.175 0, 1015920.116 966157.23 0, 1015645.655 966156.301 0,
+ 1015371.194 966155.388 0, 1015096.733 966154.492 0, 1014822.272 966153.611 0, 1014547.811 966152.747 0, 1014273.35 966151.899 0, 1013998.889 966151.067 0, 1013724.428 966150.251 0, 1013449.966 966149.451 0, 1013174.179 966148.664 0, 1013158.415 971728.482 0,
+ 1013142.651 977308.406 0, 1013417.778 977309.192 0, 1013691.582 977309.989 0, 1013965.387 977310.803 0, 1014239.191 977311.633 0, 1014512.995 977312.479 0, 1014786.799 977313.342 0, 1015060.604 977314.22 0, 1015334.408 977315.115 0, 1015608.212 977316.025 0,
+ 1015882.016 977316.952 0, 1016155.82 977317.895 0, 1016429.623 977318.854 0, 1016703.427 977319.829 0, 1016977.231 977320.82 0, 1017251.035 977321.827 0, 1017524.838 977322.851 0, 1017798.642 977323.89 0, 1018072.445 977324.946 0, 1018346.249 977326.018 0,
+ 1018620.052 977327.106 0, 1018893.856 977328.209 0, 1019167.659 977329.33 0, 1019441.462 977330.466 0, 1019713.943 977331.613 0, 1019989.068 977332.787 0, 1020262.871 977333.971 0, 1020536.674 977335.172 0, 1020810.477 977336.389 0, 1021084.28 977337.622 0,
+ 1021358.082 977338.871 0, 1021631.885 977340.136 0, 1021905.688 977341.417 0, 1022179.49 977342.714 0, 1022453.292 977344.028 0, 1022727.095 977345.358 0, 1023000.897 977346.703 0, 1023274.699 977348.065 0, 1023548.501 977349.443 0, 1023822.303 977350.837 0,
+ 1024096.105 977352.247 0, 1024369.907 977353.674 0, 1024643.709 977355.116 0, 1024917.51 977356.575 0, 1025191.312 977358.049 0, 1025465.113 977359.54 0, 1025738.915 977361.047 0, 1026012.716 977362.57 0, 1026285.197 977364.102 0, 1026316.725 971784.244 0,
+ 1026348.253 966204.493 0))
+
+POLYGON ((1039427.533 977456.927 0, 1039155.056 977454.626 0, 1038881.26 977452.329 0, 1038607.464 977450.049 0, 1038333.667 977447.784 0, 1038059.871 977445.536 0, 1037786.075 977443.304 0, 1037512.278 977441.088 0, 1037238.481 977438.888 0, 1036964.684 977436.704 0,
+ 1036690.888 977434.537 0, 1036417.09 977432.385 0, 1036143.293 977430.25 0, 1035869.496 977428.131 0, 1035595.698 977426.028 0, 1035321.901 977423.941 0, 1035048.103 977421.87 0, 1034774.305 977419.815 0, 1034500.507 977417.776 0, 1034226.709 977415.754 0,
+ 1033952.911 977413.747 0, 1033679.113 977411.757 0, 1033405.314 977409.783 0, 1033131.516 977407.824 0, 1032856.398 977405.873 0, 1032583.918 977403.957 0, 1032310.119 977402.047 0, 1032036.32 977400.153 0, 1031762.521 977398.276 0, 1031488.722 977396.414 0,
+ 1031214.923 977394.569 0, 1030941.123 977392.74 0, 1030667.324 977390.927 0, 1030393.524 977389.13 0, 1030119.724 977387.349 0, 1029845.925 977385.584 0, 1029572.125 977383.835 0, 1029298.325 977382.103 0, 1029024.524 977380.387 0, 1028750.724 977378.686 0,
+ 1028476.924 977377.002 0, 1028203.123 977375.334 0, 1027929.323 977373.682 0, 1027655.522 977372.046 0, 1027381.721 977370.427 0, 1027107.92 977368.823 0, 1026834.119 977367.236 0, 1026560.318 977365.664 0, 1026285.197 977364.102 0, 1026253.668 982944.061 0,
+ 1026222.138 988524.119 0, 1026496.6 988525.678 0, 1026769.744 988527.246 0, 1027042.888 988528.83 0, 1027316.032 988530.429 0, 1027589.176 988532.045 0, 1027862.319 988533.677 0, 1028135.463 988535.325 0, 1028408.607 988536.989 0, 1028681.75 988538.669 0,
+ 1028954.894 988540.365 0, 1029228.037 988542.078 0, 1029501.18 988543.806 0, 1029774.323 988545.55 0, 1030047.466 988547.311 0, 1030320.609 988549.087 0, 1030593.752 988550.88 0, 1030866.895 988552.689 0, 1031140.037 988554.514 0, 1031413.18 988556.355 0,
+ 1031686.322 988558.211 0, 1031959.464 988560.085 0, 1032232.607 988561.974 0, 1032505.749 988563.879 0, 1032777.574 988565.791 0, 1033052.032 988567.737 0, 1033325.174 988569.691 0, 1033598.316 988571.66 0, 1033871.457 988573.646 0, 1034144.598 988575.648 0,
+ 1034417.74 988577.665 0, 1034690.881 988579.699 0, 1034964.022 988581.749 0, 1035237.163 988583.815 0, 1035510.303 988585.897 0, 1035783.444 988587.995 0, 1036056.584 988590.109 0, 1036329.725 988592.239 0, 1036602.865 988594.386 0, 1036876.005 988596.548 0,
+ 1037149.145 988598.727 0, 1037422.285 988600.921 0, 1037695.425 988603.132 0, 1037968.564 988605.359 0, 1038241.704 988607.601 0, 1038514.843 988609.86 0, 1038787.982 988612.135 0, 1039061.121 988614.426 0, 1039332.945 988616.722 0, 1039380.239 983036.775 0,
+ 1039427.533 977456.927 0))
+
+POLYGON ((1052443.439 988746.365 0, 1052171.62 988743.301 0, 1051898.489 988740.238 0, 1051625.357 988737.192 0, 1051352.225 988734.161 0, 1051079.093 988731.147 0, 1050805.961 988728.148 0, 1050532.829 988725.166 0, 1050259.696 988722.2 0, 1049986.563 988719.25 0,
+ 1049713.43 988716.316 0, 1049440.297 988713.398 0, 1049167.164 988710.496 0, 1048894.031 988707.61 0, 1048620.897 988704.74 0, 1048347.763 988701.886 0, 1048074.629 988699.049 0, 1047801.495 988696.227 0, 1047528.361 988693.422 0, 1047255.226 988690.632 0,
+ 1046982.092 988687.859 0, 1046708.957 988685.102 0, 1046435.822 988682.361 0, 1046162.687 988679.636 0, 1045888.238 988676.914 0, 1045616.416 988674.234 0, 1045343.281 988671.557 0, 1045070.145 988668.896 0, 1044797.009 988666.251 0, 1044523.873 988663.623 0,
+ 1044250.737 988661.01 0, 1043977.601 988658.414 0, 1043704.464 988655.833 0, 1043431.328 988653.269 0, 1043158.191 988650.721 0, 1042885.054 988648.189 0, 1042611.917 988645.672 0, 1042338.78 988643.172 0, 1042065.642 988640.688 0, 1041792.505 988638.221 0,
+ 1041519.367 988635.769 0, 1041246.229 988633.333 0, 1040973.091 988630.914 0, 1040699.953 988628.51 0, 1040426.815 988626.122 0, 1040153.676 988623.751 0, 1039880.538 988621.396 0, 1039607.399 988619.056 0, 1039332.945 988616.722 0, 1039285.65 994196.763 0,
+ 1039238.354 999776.894 0, 1039512.148 999779.223 0, 1039784.63 999781.556 0, 1040057.112 999783.906 0, 1040329.593 999786.272 0, 1040602.075 999788.653 0, 1040874.556 999791.051 0, 1041147.037 999793.465 0, 1041419.518 999795.895 0, 1041691.999 999798.341 0,
+ 1041964.479 999800.803 0, 1042236.96 999803.281 0, 1042509.44 999805.775 0, 1042781.921 999808.285 0, 1043054.401 999810.811 0, 1043326.881 999813.353 0, 1043599.36 999815.911 0, 1043871.84 999818.485 0, 1044144.319 999821.075 0, 1044416.799 999823.682 0,
+ 1044689.278 999826.304 0, 1044961.757 999828.942 0, 1045234.236 999831.597 0, 1045506.715 999834.267 0, 1045777.882 999836.941 0, 1046051.671 999839.656 0, 1046324.15 999842.375 0, 1046596.628 999845.109 0, 1046869.106 999847.86 0, 1047141.583 999850.626 0,
+ 1047414.061 999853.409 0, 1047686.538 999856.208 0, 1047959.016 999859.022 0, 1048231.493 999861.853 0, 1048503.97 999864.7 0, 1048776.446 999867.563 0, 1049048.923 999870.442 0, 1049321.399 999873.337 0, 1049593.876 999876.248 0, 1049866.352 999879.175 0,
+ 1050138.828 999882.118 0, 1050411.303 999885.077 0, 1050683.779 999888.052 0, 1050956.254 999891.043 0, 1051228.729 999894.05 0, 1051501.204 999897.074 0, 1051773.679 999900.113 0, 1052046.154 999903.168 0, 1052317.318 999906.225 0, 1052380.379 994326.25 0,
+ 1052443.439 988746.365 0))
+
+POLYGON ((1065395.865 1000072.506 0, 1065124.708 1000068.683 0, 1064852.243 1000064.858 0, 1064579.778 1000061.049 0, 1064307.313 1000057.256 0, 1064034.847 1000053.479 0, 1063762.381 1000049.718 0, 1063489.915 1000045.973 0, 1063217.449 1000042.244 0, 1062944.982 1000038.531 0,
+ 1062672.516 1000034.835 0, 1062400.049 1000031.154 0, 1062127.582 1000027.489 0, 1061855.114 1000023.84 0, 1061582.647 1000020.208 0, 1061310.179 1000016.591 0, 1061037.711 1000012.991 0, 1060765.243 1000009.406 0, 1060492.774 1000005.837 0, 1060220.306 1000002.285 0,
+ 1059947.837 999998.749 0, 1059675.368 999995.228 0, 1059402.899 999991.724 0, 1059130.429 999988.236 0, 1058856.651 999984.747 0, 1058585.49 999981.307 0, 1058313.019 999977.867 0, 1058040.549 999974.443 0, 1057768.079 999971.034 0, 1057495.608 999967.642 0,
+ 1057223.137 999964.266 0, 1056950.666 999960.906 0, 1056678.195 999957.562 0, 1056405.723 999954.234 0, 1056133.252 999950.922 0, 1055860.78 999947.627 0, 1055588.308 999944.347 0, 1055315.836 999941.083 0, 1055043.363 999937.835 0, 1054770.89 999934.603 0,
+ 1054498.418 999931.388 0, 1054225.945 999928.188 0, 1053953.471 999925.005 0, 1053680.998 999921.837 0, 1053408.525 999918.685 0, 1053136.051 999915.55 0, 1052863.577 999912.43 0, 1052591.103 999909.327 0, 1052317.318 999906.225 0, 1052254.257 1005486.286 0,
+ 1052191.195 1011066.428 0, 1052464.319 1011069.523 0, 1052736.136 1011072.619 0, 1053007.953 1011075.731 0, 1053279.77 1011078.859 0, 1053551.587 1011082.003 0, 1053823.403 1011085.163 0, 1054095.22 1011088.339 0, 1054367.036 1011091.531 0, 1054638.852 1011094.739 0,
+ 1054910.667 1011097.963 0, 1055182.483 1011101.203 0, 1055454.298 1011104.458 0, 1055726.114 1011107.73 0, 1055997.929 1011111.018 0, 1056269.743 1011114.322 0, 1056541.558 1011117.642 0, 1056813.372 1011120.978 0, 1057085.187 1011124.33 0, 1057357.001 1011127.698 0,
+ 1057628.814 1011131.082 0, 1057900.628 1011134.482 0, 1058172.441 1011137.898 0, 1058444.255 1011141.33 0, 1058714.762 1011144.761 0, 1058987.88 1011148.241 0, 1059259.693 1011151.721 0, 1059531.505 1011155.217 0, 1059803.318 1011158.729 0, 1060075.13 1011162.257 0,
+ 1060346.941 1011165.801 0, 1060618.753 1011169.361 0, 1060890.564 1011172.937 0, 1061162.375 1011176.529 0, 1061434.186 1011180.137 0, 1061705.997 1011183.76 0, 1061977.808 1011187.4 0, 1062249.618 1011191.056 0, 1062521.428 1011194.728 0, 1062793.238 1011198.416 0,
+ 1063065.048 1011202.12 0, 1063336.857 1011205.84 0, 1063608.666 1011209.576 0, 1063880.475 1011213.328 0, 1064152.284 1011217.095 0, 1064424.092 1011220.879 0, 1064695.901 1011224.679 0, 1064967.709 1011228.495 0, 1065238.212 1011232.308 0, 1065317.039 1005652.366 0,
+ 1065395.865 1000072.506 0))
+
+POLYGON ((1078284.709 1011435.048 0, 1078014.216 1011430.47 0, 1077742.419 1011425.887 0, 1077470.623 1011421.319 0, 1077198.826 1011416.767 0, 1076927.029 1011412.231 0, 1076655.232 1011407.711 0, 1076383.434 1011403.208 0, 1076111.636 1011398.72 0, 1075839.838 1011394.248 0,
+ 1075568.04 1011389.792 0, 1075296.241 1011385.353 0, 1075024.442 1011380.929 0, 1074752.643 1011376.521 0, 1074480.844 1011372.129 0, 1074209.044 1011367.753 0, 1073937.244 1011363.394 0, 1073665.444 1011359.05 0, 1073393.644 1011354.722 0, 1073121.843 1011350.41 0,
+ 1072850.042 1011346.114 0, 1072578.241 1011341.835 0, 1072306.439 1011337.571 0, 1072034.638 1011333.323 0, 1071761.532 1011329.071 0, 1071491.034 1011324.875 0, 1071219.231 1011320.675 0, 1070947.428 1011316.492 0, 1070675.625 1011312.324 0, 1070403.822 1011308.172 0,
+ 1070132.019 1011304.036 0, 1069860.215 1011299.916 0, 1069588.411 1011295.813 0, 1069316.607 1011291.725 0, 1069044.803 1011287.653 0, 1068772.998 1011283.597 0, 1068501.193 1011279.557 0, 1068229.388 1011275.533 0, 1067957.583 1011271.525 0, 1067685.777 1011267.534 0,
+ 1067413.972 1011263.558 0, 1067142.165 1011259.598 0, 1066870.359 1011255.654 0, 1066598.553 1011251.726 0, 1066326.746 1011247.814 0, 1066054.939 1011243.918 0, 1065783.132 1011240.039 0, 1065511.324 1011236.175 0, 1065238.212 1011232.308 0, 1065159.384 1016812.328 0,
+ 1065080.555 1022392.422 0, 1065353.007 1022396.279 0, 1065624.158 1022400.133 0, 1065895.308 1022404.004 0, 1066166.458 1022407.89 0, 1066437.608 1022411.793 0, 1066708.757 1022415.711 0, 1066979.907 1022419.645 0, 1067251.056 1022423.596 0, 1067522.205 1022427.562 0,
+ 1067793.354 1022431.544 0, 1068064.502 1022435.542 0, 1068335.65 1022439.556 0, 1068606.798 1022443.586 0, 1068877.946 1022447.632 0, 1069149.094 1022451.694 0, 1069420.241 1022455.772 0, 1069691.388 1022459.866 0, 1069962.535 1022463.976 0, 1070233.681 1022468.102 0,
+ 1070504.828 1022472.244 0, 1070775.974 1022476.402 0, 1071047.12 1022480.575 0, 1071318.265 1022484.765 0, 1071588.11 1022488.95 0, 1071860.556 1022493.192 0, 1072131.701 1022497.43 0, 1072402.845 1022501.683 0, 1072673.989 1022505.953 0, 1072945.134 1022510.238 0,
+ 1073216.277 1022514.539 0, 1073487.421 1022518.857 0, 1073758.564 1022523.19 0, 1074029.707 1022527.539 0, 1074300.85 1022531.905 0, 1074571.993 1022536.286 0, 1074843.135 1022540.683 0, 1075114.277 1022545.096 0, 1075385.419 1022549.525 0, 1075656.56 1022553.97 0,
+ 1075927.702 1022558.431 0, 1076198.843 1022562.908 0, 1076469.983 1022567.401 0, 1076741.124 1022571.91 0, 1077012.264 1022576.435 0, 1077283.404 1022580.975 0, 1077554.544 1022585.532 0, 1077825.683 1022590.105 0, 1078095.523 1022594.671 0, 1078190.116 1017014.823 0,
+ 1078284.709 1011435.048 0))
+
+POLYGON ((1091109.868 1022833.69 0, 1090840.04 1022828.361 0, 1090568.914 1022823.022 0, 1090297.789 1022817.699 0, 1090026.663 1022812.393 0, 1089755.536 1022807.102 0, 1089484.41 1022801.827 0, 1089213.283 1022796.568 0, 1088942.155 1022791.325 0, 1088671.028 1022786.098 0,
+ 1088399.9 1022780.887 0, 1088128.772 1022775.692 0, 1087857.643 1022770.513 0, 1087586.515 1022765.35 0, 1087315.385 1022760.203 0, 1087044.256 1022755.071 0, 1086773.126 1022749.956 0, 1086501.996 1022744.857 0, 1086230.866 1022739.773 0, 1085959.735 1022734.706 0,
+ 1085688.604 1022729.655 0, 1085417.473 1022724.619 0, 1085146.342 1022719.6 0, 1084875.21 1022714.596 0, 1084602.78 1022709.585 0, 1084332.946 1022704.637 0, 1084061.813 1022699.681 0, 1083790.68 1022694.741 0, 1083519.547 1022689.818 0, 1083248.413 1022684.91 0,
+ 1082977.279 1022680.018 0, 1082706.145 1022675.142 0, 1082435.011 1022670.282 0, 1082163.876 1022665.438 0, 1081892.741 1022660.61 0, 1081621.606 1022655.798 0, 1081350.47 1022651.002 0, 1081079.335 1022646.222 0, 1080808.198 1022641.458 0, 1080537.062 1022636.709 0,
+ 1080265.925 1022631.977 0, 1079994.788 1022627.261 0, 1079723.651 1022622.56 0, 1079452.514 1022617.876 0, 1079181.376 1022613.208 0, 1078910.238 1022608.555 0, 1078639.1 1022603.919 0, 1078367.961 1022599.298 0, 1078095.523 1022594.671 0, 1078000.928 1028174.589 0,
+ 1077906.332 1033754.572 0, 1078178.11 1033759.187 0, 1078448.592 1033763.797 0, 1078719.073 1033768.422 0, 1078989.555 1033773.063 0, 1079260.036 1033777.72 0, 1079530.516 1033782.393 0, 1079800.997 1033787.082 0, 1080071.477 1033791.787 0, 1080341.956 1033796.508 0,
+ 1080612.436 1033801.245 0, 1080882.915 1033805.997 0, 1081153.394 1033810.766 0, 1081423.873 1033815.55 0, 1081694.351 1033820.351 0, 1081964.829 1033825.167 0, 1082235.307 1033829.999 0, 1082505.785 1033834.848 0, 1082776.262 1033839.712 0, 1083046.739 1033844.592 0,
+ 1083317.216 1033849.488 0, 1083587.692 1033854.399 0, 1083858.168 1033859.327 0, 1084128.644 1033864.271 0, 1084397.825 1033869.207 0, 1084669.595 1033874.206 0, 1084940.07 1033879.197 0, 1085210.545 1033884.205 0, 1085481.019 1033889.228 0, 1085751.493 1033894.267 0,
+ 1086021.967 1033899.322 0, 1086292.44 1033904.393 0, 1086562.913 1033909.48 0, 1086833.386 1033914.583 0, 1087103.859 1033919.702 0, 1087374.331 1033924.837 0, 1087644.803 1033929.987 0, 1087915.275 1033935.154 0, 1088185.746 1033940.336 0, 1088456.217 1033945.535 0,
+ 1088726.688 1033950.749 0, 1088997.158 1033955.979 0, 1089267.629 1033961.226 0, 1089538.098 1033966.488 0, 1089808.568 1033971.766 0, 1090079.037 1033977.06 0, 1090349.506 1033982.369 0, 1090619.975 1033987.695 0, 1090889.149 1033993.011 0, 1090999.509 1028413.318 0,
+ 1091109.868 1022833.69 0))
+
+POLYGON ((1103871.24 1034268.128 0, 1103602.08 1034262.052 0, 1103331.628 1034255.962 0, 1103061.175 1034249.888 0, 1102790.722 1034243.83 0, 1102520.268 1034237.788 0, 1102249.814 1034231.762 0, 1101979.36 1034225.752 0, 1101708.905 1034219.757 0, 1101438.45 1034213.779 0,
+ 1101167.995 1034207.816 0, 1100897.539 1034201.87 0, 1100627.083 1034195.939 0, 1100356.627 1034190.024 0, 1100086.17 1034184.125 0, 1099815.713 1034178.243 0, 1099545.256 1034172.376 0, 1099274.798 1034166.524 0, 1099004.34 1034160.689 0, 1098733.882 1034154.87 0,
+ 1098463.423 1034149.067 0, 1098192.964 1034143.279 0, 1097922.505 1034137.508 0, 1097652.045 1034131.752 0, 1097380.292 1034125.985 0, 1097111.124 1034120.289 0, 1096840.663 1034114.581 0, 1096570.202 1034108.889 0, 1096299.741 1034103.213 0, 1096029.279 1034097.553 0,
+ 1095758.817 1034091.909 0, 1095488.354 1034086.281 0, 1095217.892 1034080.669 0, 1094947.429 1034075.072 0, 1094676.965 1034069.492 0, 1094406.501 1034063.927 0, 1094136.037 1034058.379 0, 1093865.573 1034052.846 0, 1093595.108 1034047.329 0, 1093324.643 1034041.828 0,
+ 1093054.178 1034036.343 0, 1092783.712 1034030.874 0, 1092513.246 1034025.421 0, 1092242.779 1034019.984 0, 1091972.313 1034014.563 0, 1091701.846 1034009.157 0, 1091431.378 1034003.768 0, 1091160.911 1033998.394 0, 1090889.149 1033993.011 0, 1090778.788 1039572.765 0,
+ 1090668.425 1045152.576 0, 1090939.527 1045157.946 0, 1091209.338 1045163.307 0, 1091479.149 1045168.683 0, 1091748.959 1045174.075 0, 1092018.769 1045179.484 0, 1092288.578 1045184.908 0, 1092558.387 1045190.347 0, 1092828.196 1045195.803 0, 1093098.005 1045201.275 0,
+ 1093367.813 1045206.762 0, 1093637.621 1045212.266 0, 1093907.429 1045217.785 0, 1094177.236 1045223.32 0, 1094447.043 1045228.871 0, 1094716.849 1045234.438 0, 1094986.656 1045240.021 0, 1095256.462 1045245.619 0, 1095526.267 1045251.234 0, 1095796.073 1045256.864 0,
+ 1096065.878 1045262.511 0, 1096335.682 1045268.173 0, 1096605.487 1045273.851 0, 1096875.291 1045279.545 0, 1097143.804 1045285.227 0, 1097414.897 1045290.98 0, 1097684.7 1045296.722 0, 1097954.503 1045302.48 0, 1098224.305 1045308.253 0, 1098494.107 1045314.042 0,
+ 1098763.909 1045319.847 0, 1099033.71 1045325.668 0, 1099303.511 1045331.505 0, 1099573.312 1045337.358 0, 1099843.112 1045343.226 0, 1100112.912 1045349.111 0, 1100382.711 1045355.011 0, 1100652.511 1045360.928 0, 1100922.309 1045366.86 0, 1101192.108 1045372.808 0,
+ 1101461.906 1045378.772 0, 1101731.704 1045384.751 0, 1102001.501 1045390.747 0, 1102271.298 1045396.759 0, 1102541.095 1045402.786 0, 1102810.891 1045408.829 0, 1103080.687 1045414.889 0, 1103350.483 1045420.964 0, 1103618.99 1045427.025 0, 1103745.116 1039847.549 0,
+ 1103871.24 1034268.128 0))
+
+POLYGON ((1116568.727 1045738.061 0, 1116300.237 1045731.241 0, 1116030.459 1045724.404 0, 1115760.681 1045717.582 0, 1115490.903 1045710.777 0, 1115221.125 1045703.987 0, 1114951.346 1045697.213 0, 1114681.566 1045690.455 0, 1114411.786 1045683.713 0, 1114142.006 1045676.987 0,
+ 1113872.225 1045670.277 0, 1113602.444 1045663.583 0, 1113332.663 1045656.904 0, 1113062.881 1045650.242 0, 1112793.099 1045643.595 0, 1112523.316 1045636.964 0, 1112253.534 1045630.349 0, 1111983.75 1045623.75 0, 1111713.966 1045617.167 0, 1111444.182 1045610.6 0,
+ 1111174.398 1045604.048 0, 1110904.613 1045597.513 0, 1110634.828 1045590.993 0, 1110365.042 1045584.489 0, 1110093.968 1045577.97 0, 1109825.469 1045571.529 0, 1109555.683 1045565.073 0, 1109285.895 1045558.633 0, 1109016.108 1045552.208 0, 1108746.32 1045545.8 0,
+ 1108476.532 1045539.407 0, 1108206.743 1045533.03 0, 1107936.954 1045526.669 0, 1107667.164 1045520.324 0, 1107397.375 1045513.995 0, 1107127.584 1045507.682 0, 1106857.794 1045501.385 0, 1106588.003 1045495.103 0, 1106318.212 1045488.837 0, 1106048.42 1045482.588 0,
+ 1105778.628 1045476.354 0, 1105508.835 1045470.136 0, 1105239.043 1045463.934 0, 1104969.25 1045457.748 0, 1104699.456 1045451.577 0, 1104429.662 1045445.423 0, 1104159.868 1045439.284 0, 1103890.073 1045433.161 0, 1103618.99 1045427.025 0, 1103492.863 1051006.555 0,
+ 1103366.734 1056586.132 0, 1103637.158 1056592.253 0, 1103906.296 1056598.361 0, 1104175.433 1056604.485 0, 1104444.57 1056610.624 0, 1104713.707 1056616.779 0, 1104982.843 1056622.951 0, 1105251.979 1056629.138 0, 1105521.115 1056635.34 0, 1105790.25 1056641.559 0,
+ 1106059.385 1056647.794 0, 1106328.52 1056654.044 0, 1106597.654 1056660.31 0, 1106866.788 1056666.592 0, 1107135.921 1056672.89 0, 1107405.054 1056679.204 0, 1107674.187 1056685.533 0, 1107943.319 1056691.879 0, 1108212.451 1056698.24 0, 1108481.582 1056704.617 0,
+ 1108750.714 1056711.01 0, 1109019.844 1056717.419 0, 1109288.975 1056723.844 0, 1109558.105 1056730.284 0, 1109825.95 1056736.709 0, 1110096.364 1056743.212 0, 1110365.493 1056749.7 0, 1110634.621 1056756.204 0, 1110903.749 1056762.724 0, 1111172.877 1056769.259 0,
+ 1111442.004 1056775.811 0, 1111711.131 1056782.378 0, 1111980.258 1056788.961 0, 1112249.384 1056795.56 0, 1112518.51 1056802.174 0, 1112787.635 1056808.805 0, 1113056.76 1056815.451 0, 1113325.885 1056822.114 0, 1113595.009 1056828.792 0, 1113864.133 1056835.485 0,
+ 1114133.256 1056842.195 0, 1114402.38 1056848.921 0, 1114671.502 1056855.662 0, 1114940.624 1056862.419 0, 1115209.746 1056869.193 0, 1115478.868 1056875.981 0, 1115747.989 1056882.786 0, 1116017.109 1056889.607 0, 1116284.946 1056896.411 0, 1116426.837 1051317.212 0,
+ 1116568.727 1045738.061 0))
+
+POLYGON ((1129202.23 1057243.184 0, 1128934.411 1057235.624 0, 1128665.311 1057228.043 0, 1128396.21 1057220.478 0, 1128127.109 1057212.929 0, 1127858.008 1057205.395 0, 1127588.905 1057197.878 0, 1127319.803 1057190.376 0, 1127050.7 1057182.89 0, 1126781.596 1057175.42 0,
+ 1126512.493 1057167.966 0, 1126243.388 1057160.527 0, 1125974.284 1057153.105 0, 1125705.178 1057145.698 0, 1125436.073 1057138.307 0, 1125166.967 1057130.932 0, 1124897.86 1057123.573 0, 1124628.753 1057116.23 0, 1124359.646 1057108.902 0, 1124090.538 1057101.591 0,
+ 1123821.43 1057094.295 0, 1123552.321 1057087.015 0, 1123283.212 1057079.751 0, 1123014.103 1057072.503 0, 1122743.711 1057065.236 0, 1122475.883 1057058.054 0, 1122206.772 1057050.853 0, 1121937.661 1057043.668 0, 1121668.549 1057036.499 0, 1121399.437 1057029.346 0,
+ 1121130.325 1057022.208 0, 1120861.212 1057015.087 0, 1120592.098 1057007.981 0, 1120322.985 1057000.891 0, 1120053.871 1056993.817 0, 1119784.756 1056986.759 0, 1119515.641 1056979.716 0, 1119246.526 1056972.69 0, 1118977.41 1056965.679 0, 1118708.294 1056958.684 0,
+ 1118439.177 1056951.705 0, 1118170.06 1056944.742 0, 1117900.943 1056937.795 0, 1117631.825 1056930.863 0, 1117362.707 1056923.948 0, 1117093.588 1056917.048 0, 1116824.469 1056910.164 0, 1116555.35 1056903.296 0, 1116284.946 1056896.411 0, 1116143.054 1062475.653 0,
+ 1116001.161 1068054.936 0, 1116270.904 1068061.804 0, 1116539.367 1068068.655 0, 1116807.829 1068075.523 0, 1117076.291 1068082.406 0, 1117344.753 1068089.304 0, 1117613.214 1068096.219 0, 1117881.674 1068103.149 0, 1118150.135 1068110.095 0, 1118418.595 1068117.057 0,
+ 1118687.054 1068124.035 0, 1118955.513 1068131.029 0, 1119223.972 1068138.038 0, 1119492.43 1068145.063 0, 1119760.888 1068152.104 0, 1120029.345 1068159.161 0, 1120297.802 1068166.234 0, 1120566.258 1068173.322 0, 1120834.715 1068180.426 0, 1121103.17 1068187.546 0,
+ 1121371.626 1068194.682 0, 1121640.08 1068201.834 0, 1121908.535 1068209.001 0, 1122176.989 1068216.184 0, 1122444.163 1068223.349 0, 1122713.896 1068230.598 0, 1122982.348 1068237.829 0, 1123250.801 1068245.075 0, 1123519.253 1068252.337 0, 1123787.704 1068259.615 0,
+ 1124056.155 1068266.909 0, 1124324.606 1068274.219 0, 1124593.056 1068281.544 0, 1124861.506 1068288.885 0, 1125129.955 1068296.242 0, 1125398.404 1068303.615 0, 1125666.852 1068311.004 0, 1125935.3 1068318.408 0, 1126203.748 1068325.828 0, 1126472.195 1068333.264 0,
+ 1126740.642 1068340.716 0, 1127009.088 1068348.184 0, 1127277.534 1068355.667 0, 1127545.979 1068363.166 0, 1127814.424 1068370.681 0, 1128082.868 1068378.212 0, 1128351.312 1068385.759 0, 1128619.756 1068393.321 0, 1128886.921 1068400.863 0, 1129044.576 1062822.004 0,
+ 1129202.23 1057243.184 0))
+
+POLYGON ((1141771.652 1068783.194 0, 1141504.508 1068774.897 0, 1141236.087 1068766.576 0, 1140967.665 1068758.271 0, 1140699.243 1068749.982 0, 1140430.82 1068741.708 0, 1140162.397 1068733.451 0, 1139893.973 1068725.209 0, 1139625.549 1068716.983 0, 1139357.125 1068708.773 0,
+ 1139088.7 1068700.579 0, 1138820.274 1068692.4 0, 1138551.848 1068684.237 0, 1138283.422 1068676.09 0, 1138014.995 1068667.959 0, 1137746.567 1068659.844 0, 1137478.139 1068651.744 0, 1137209.711 1068643.66 0, 1136941.282 1068635.592 0, 1136672.853 1068627.54 0,
+ 1136404.423 1068619.504 0, 1136135.993 1068611.483 0, 1135867.562 1068603.478 0, 1135599.131 1068595.489 0, 1135329.422 1068587.478 0, 1135062.267 1068579.559 0, 1134793.834 1068571.617 0, 1134525.401 1068563.691 0, 1134256.967 1068555.781 0, 1133988.533 1068547.887 0,
+ 1133720.099 1068540.009 0, 1133451.664 1068532.146 0, 1133183.228 1068524.299 0, 1132914.792 1068516.468 0, 1132646.356 1068508.653 0, 1132377.919 1068500.854 0, 1132109.482 1068493.07 0, 1131841.044 1068485.302 0, 1131572.606 1068477.55 0, 1131304.167 1068469.814 0,
+ 1131035.728 1068462.094 0, 1130767.289 1068454.389 0, 1130498.849 1068446.7 0, 1130230.408 1068439.027 0, 1129961.967 1068431.37 0, 1129693.526 1068423.729 0, 1129425.084 1068416.103 0, 1129156.642 1068408.493 0, 1128886.921 1068400.863 0, 1128729.265 1073979.758 0,
+ 1128571.608 1079558.683 0, 1128840.669 1079566.295 0, 1129108.455 1079573.886 0, 1129376.24 1079581.493 0, 1129644.024 1079589.116 0, 1129911.809 1079596.754 0, 1130179.592 1079604.408 0, 1130447.376 1079612.078 0, 1130715.158 1079619.764 0, 1130982.941 1079627.466 0,
+ 1131250.723 1079635.183 0, 1131518.504 1079642.916 0, 1131786.285 1079650.665 0, 1132054.066 1079658.429 0, 1132321.846 1079666.21 0, 1132589.626 1079674.006 0, 1132857.405 1079681.818 0, 1133125.183 1079689.645 0, 1133392.962 1079697.489 0, 1133660.74 1079705.348 0,
+ 1133928.517 1079713.223 0, 1134196.294 1079721.113 0, 1134464.07 1079729.02 0, 1134731.846 1079736.942 0, 1134998.348 1079744.842 0, 1135267.397 1079752.833 0, 1135535.171 1079760.803 0, 1135802.945 1079768.788 0, 1136070.719 1079776.789 0, 1136338.492 1079784.806 0,
+ 1136606.265 1079792.838 0, 1136874.037 1079800.886 0, 1137141.809 1079808.95 0, 1137409.58 1079817.03 0, 1137677.351 1079825.126 0, 1137945.121 1079833.237 0, 1138212.891 1079841.364 0, 1138480.66 1079849.507 0, 1138748.429 1079857.666 0, 1139016.197 1079865.84 0,
+ 1139283.965 1079874.03 0, 1139551.732 1079882.236 0, 1139819.499 1079890.457 0, 1140087.266 1079898.695 0, 1140355.032 1079906.948 0, 1140622.797 1079915.217 0, 1140890.562 1079923.502 0, 1141158.327 1079931.802 0, 1141424.818 1079940.079 0, 1141598.236 1074361.621 0,
+ 1141771.652 1068783.194 0))
+
+POLYGON ((1154276.899 1080357.785 0, 1154010.43 1080348.755 0, 1153742.69 1080339.698 0, 1153474.949 1080330.657 0, 1153207.208 1080321.632 0, 1152939.467 1080312.622 0, 1152671.725 1080303.629 0, 1152403.982 1080294.651 0, 1152136.239 1080285.688 0, 1151868.495 1080276.742 0,
+ 1151600.751 1080267.811 0, 1151333.006 1080258.896 0, 1151065.261 1080249.997 0, 1150797.515 1080241.113 0, 1150529.769 1080232.245 0, 1150262.022 1080223.393 0, 1149994.275 1080214.557 0, 1149726.527 1080205.737 0, 1149458.779 1080196.932 0, 1149191.03 1080188.143 0,
+ 1148923.28 1080179.37 0, 1148655.53 1080170.612 0, 1148387.78 1080161.87 0, 1148120.029 1080153.145 0, 1147851.006 1080144.393 0, 1147584.526 1080135.74 0, 1147316.773 1080127.061 0, 1147049.02 1080118.398 0, 1146781.267 1080109.751 0, 1146513.513 1080101.12 0,
+ 1146245.758 1080092.504 0, 1145978.003 1080083.904 0, 1145710.247 1080075.32 0, 1145442.491 1080066.752 0, 1145174.735 1080058.199 0, 1144906.978 1080049.663 0, 1144639.22 1080041.142 0, 1144371.462 1080032.636 0, 1144103.704 1080024.147 0, 1143835.945 1080015.673 0,
+ 1143568.185 1080007.215 0, 1143300.425 1079998.773 0, 1143032.664 1079990.346 0, 1142764.903 1079981.935 0, 1142497.142 1079973.54 0, 1142229.38 1079965.161 0, 1141961.617 1079956.798 0, 1141693.854 1079948.45 0, 1141424.818 1079940.079 0, 1141251.399 1085518.563 0,
+ 1141077.98 1091097.07 0, 1141346.356 1091105.421 0, 1141613.463 1091113.748 0, 1141880.569 1091122.091 0, 1142147.674 1091130.45 0, 1142414.779 1091138.824 0, 1142681.883 1091147.214 0, 1142948.987 1091155.62 0, 1143216.091 1091164.042 0, 1143483.193 1091172.479 0,
+ 1143750.296 1091180.932 0, 1144017.398 1091189.401 0, 1144284.499 1091197.885 0, 1144551.6 1091206.385 0, 1144818.7 1091214.901 0, 1145085.8 1091223.433 0, 1145352.9 1091231.98 0, 1145619.999 1091240.543 0, 1145887.097 1091249.122 0, 1146154.195 1091257.717 0,
+ 1146421.292 1091266.327 0, 1146688.389 1091274.953 0, 1146955.485 1091283.594 0, 1147222.581 1091292.252 0, 1147488.408 1091300.884 0, 1147756.771 1091309.614 0, 1148023.866 1091318.318 0, 1148290.96 1091327.038 0, 1148558.053 1091335.774 0, 1148825.146 1091344.526 0,
+ 1149092.238 1091353.293 0, 1149359.33 1091362.077 0, 1149626.421 1091370.875 0, 1149893.512 1091379.69 0, 1150160.602 1091388.52 0, 1150427.691 1091397.366 0, 1150694.781 1091406.228 0, 1150961.869 1091415.105 0, 1151228.957 1091423.999 0, 1151496.045 1091432.908 0,
+ 1151763.132 1091441.832 0, 1152030.218 1091450.773 0, 1152297.304 1091459.729 0, 1152564.39 1091468.7 0, 1152831.475 1091477.688 0, 1153098.559 1091486.691 0, 1153365.643 1091495.71 0, 1153632.726 1091504.745 0, 1153898.542 1091513.752 0, 1154087.72 1085935.757 0,
+ 1154276.899 1080357.785 0))
+
+POLYGON ((1166717.875 1091966.653 0, 1166452.084 1091956.894 0, 1166185.028 1091947.105 0, 1165917.97 1091937.332 0, 1165650.912 1091927.574 0, 1165383.854 1091917.832 0, 1165116.795 1091908.106 0, 1164849.735 1091898.395 0, 1164582.675 1091888.7 0, 1164315.614 1091879.021 0,
+ 1164048.553 1091869.358 0, 1163781.491 1091859.71 0, 1163514.428 1091850.078 0, 1163247.365 1091840.462 0, 1162980.302 1091830.861 0, 1162713.238 1091821.276 0, 1162446.173 1091811.707 0, 1162179.108 1091802.154 0, 1161912.042 1091792.616 0, 1161644.975 1091783.094 0,
+ 1161377.908 1091773.588 0, 1161110.841 1091764.097 0, 1160843.773 1091754.622 0, 1160576.704 1091745.163 0, 1160308.368 1091735.675 0, 1160042.565 1091726.292 0, 1159775.495 1091716.88 0, 1159508.424 1091707.484 0, 1159241.352 1091698.104 0, 1158974.28 1091688.739 0,
+ 1158707.208 1091679.39 0, 1158440.135 1091670.057 0, 1158173.061 1091660.739 0, 1157905.987 1091651.437 0, 1157638.912 1091642.151 0, 1157371.837 1091632.88 0, 1157104.761 1091623.626 0, 1156837.685 1091614.387 0, 1156570.608 1091605.163 0, 1156303.53 1091595.956 0,
+ 1156036.453 1091586.764 0, 1155769.374 1091577.588 0, 1155502.295 1091568.427 0, 1155235.215 1091559.283 0, 1154968.135 1091550.154 0, 1154701.054 1091541.04 0, 1154433.973 1091531.943 0, 1154166.892 1091522.861 0, 1153898.542 1091513.752 0, 1153709.362 1097091.765 0,
+ 1153520.182 1102669.791 0, 1153787.872 1102678.878 0, 1154054.297 1102687.937 0, 1154320.722 1102697.012 0, 1154587.146 1102706.103 0, 1154853.57 1102715.21 0, 1155119.993 1102724.332 0, 1155386.415 1102733.47 0, 1155652.837 1102742.623 0, 1155919.258 1102751.793 0,
+ 1156185.679 1102760.978 0, 1156452.099 1102770.178 0, 1156718.519 1102779.395 0, 1156984.938 1102788.627 0, 1157251.357 1102797.874 0, 1157517.775 1102807.138 0, 1157784.193 1102816.417 0, 1158050.61 1102825.711 0, 1158317.026 1102835.022 0, 1158583.442 1102844.348 0,
+ 1158849.858 1102853.69 0, 1159116.272 1102863.047 0, 1159382.687 1102872.42 0, 1159649.1 1102881.809 0, 1159914.25 1102891.169 0, 1160181.926 1102900.633 0, 1160448.338 1102910.069 0, 1160714.75 1102919.521 0, 1160981.161 1102928.988 0, 1161247.571 1102938.471 0,
+ 1161513.981 1102947.969 0, 1161780.39 1102957.484 0, 1162046.799 1102967.014 0, 1162313.207 1102976.559 0, 1162579.615 1102986.12 0, 1162846.022 1102995.697 0, 1163112.428 1103005.29 0, 1163378.834 1103014.898 0, 1163645.24 1103024.522 0, 1163911.644 1103034.162 0,
+ 1164178.048 1103043.817 0, 1164444.452 1103053.488 0, 1164710.855 1103063.175 0, 1164977.258 1103072.877 0, 1165243.66 1103082.596 0, 1165510.061 1103092.329 0, 1165776.462 1103102.079 0, 1166042.862 1103111.844 0, 1166307.999 1103121.578 0, 1166512.937 1097544.109 0,
+ 1166717.875 1091966.653 0))
+
+POLYGON ((1179094.489 1103609.492 0, 1178829.378 1103599.008 0, 1178563.007 1103588.49 0, 1178296.634 1103577.988 0, 1178030.262 1103567.502 0, 1177763.888 1103557.031 0, 1177497.514 1103546.576 0, 1177231.14 1103536.137 0, 1176964.764 1103525.713 0, 1176698.388 1103515.305 0,
+ 1176432.012 1103504.913 0, 1176165.635 1103494.537 0, 1175899.257 1103484.176 0, 1175632.879 1103473.83 0, 1175366.5 1103463.501 0, 1175100.12 1103453.187 0, 1174833.74 1103442.889 0, 1174567.36 1103432.606 0, 1174300.978 1103422.339 0, 1174034.596 1103412.088 0,
+ 1173768.214 1103401.853 0, 1173501.831 1103391.633 0, 1173235.447 1103381.429 0, 1172969.063 1103371.24 0, 1172701.416 1103361.019 0, 1172436.292 1103350.91 0, 1172169.906 1103340.769 0, 1171903.519 1103330.643 0, 1171637.132 1103320.533 0, 1171370.744 1103310.439 0,
+ 1171104.355 1103300.36 0, 1170837.966 1103290.297 0, 1170571.577 1103280.25 0, 1170305.186 1103270.218 0, 1170038.795 1103260.202 0, 1169772.404 1103250.202 0, 1169506.012 1103240.217 0, 1169239.619 1103230.248 0, 1168973.226 1103220.295 0, 1168706.832 1103210.357 0,
+ 1168440.438 1103200.435 0, 1168174.043 1103190.529 0, 1167907.647 1103180.639 0, 1167641.251 1103170.764 0, 1167374.854 1103160.905 0, 1167108.457 1103151.061 0, 1166842.059 1103141.233 0, 1166575.661 1103131.421 0, 1166307.999 1103121.578 0, 1166103.061 1108699.057 0,
+ 1165898.122 1114276.541 0, 1166165.124 1114286.359 0, 1166430.866 1114296.147 0, 1166696.607 1114305.951 0, 1166962.348 1114315.77 0, 1167228.088 1114325.605 0, 1167493.828 1114335.455 0, 1167759.567 1114345.322 0, 1168025.305 1114355.203 0, 1168291.043 1114365.101 0,
+ 1168556.78 1114375.014 0, 1168822.517 1114384.943 0, 1169088.253 1114394.887 0, 1169353.989 1114404.847 0, 1169619.723 1114414.823 0, 1169885.458 1114424.814 0, 1170151.192 1114434.821 0, 1170416.925 1114444.844 0, 1170682.657 1114454.882 0, 1170948.389 1114464.936 0,
+ 1171214.121 1114475.005 0, 1171479.851 1114485.09 0, 1171745.582 1114495.191 0, 1172011.311 1114505.308 0, 1172275.782 1114515.392 0, 1172542.769 1114525.587 0, 1172808.497 1114535.751 0, 1173074.224 1114545.93 0, 1173339.95 1114556.124 0, 1173605.676 1114566.335 0,
+ 1173871.402 1114576.56 0, 1174137.127 1114586.802 0, 1174402.851 1114597.059 0, 1174668.575 1114607.332 0, 1174934.298 1114617.62 0, 1175200.02 1114627.925 0, 1175465.742 1114638.244 0, 1175731.463 1114648.58 0, 1175997.184 1114658.931 0, 1176262.903 1114669.297 0,
+ 1176528.623 1114679.68 0, 1176794.342 1114690.078 0, 1177060.06 1114700.491 0, 1177325.777 1114710.92 0, 1177591.494 1114721.365 0, 1177857.21 1114731.826 0, 1178122.926 1114742.302 0, 1178388.641 1114752.794 0, 1178653.099 1114763.251 0, 1178873.794 1109186.369 0,
+ 1179094.489 1103609.492 0))
+
+POLYGON ((1191406.649 1115285.995 0, 1191142.22 1115274.791 0, 1190876.536 1115263.548 0, 1190610.851 1115252.321 0, 1190345.165 1115241.11 0, 1190079.479 1115229.915 0, 1189813.792 1115218.735 0, 1189548.104 1115207.57 0, 1189282.416 1115196.422 0, 1189016.727 1115185.289 0,
+ 1188751.037 1115174.172 0, 1188485.347 1115163.07 0, 1188219.656 1115151.984 0, 1187953.965 1115140.913 0, 1187688.272 1115129.859 0, 1187422.579 1115118.819 0, 1187156.886 1115107.796 0, 1186891.192 1115096.788 0, 1186625.497 1115085.796 0, 1186359.801 1115074.819 0,
+ 1186094.105 1115063.858 0, 1185828.409 1115052.913 0, 1185562.711 1115041.983 0, 1185297.013 1115031.069 0, 1185030.058 1115020.119 0, 1184765.615 1115009.288 0, 1184499.915 1114998.421 0, 1184234.214 1114987.57 0, 1183968.513 1114976.734 0, 1183702.811 1114965.914 0,
+ 1183437.109 1114955.109 0, 1183171.406 1114944.32 0, 1182905.702 1114933.547 0, 1182639.997 1114922.789 0, 1182374.292 1114912.047 0, 1182108.587 1114901.321 0, 1181842.88 1114890.61 0, 1181577.173 1114879.915 0, 1181311.466 1114869.235 0, 1181045.758 1114858.572 0,
+ 1180780.049 1114847.924 0, 1180514.339 1114837.291 0, 1180248.629 1114826.674 0, 1179982.919 1114816.073 0, 1179717.207 1114805.487 0, 1179451.495 1114794.917 0, 1179185.783 1114784.363 0, 1178920.069 1114773.824 0, 1178653.099 1114763.251 0, 1178432.403 1120340.134 0,
+ 1178211.708 1125917.013 0, 1178478.019 1125927.559 0, 1178743.076 1125938.072 0, 1179008.132 1125948.6 0, 1179273.188 1125959.144 0, 1179538.243 1125969.704 0, 1179803.297 1125980.279 0, 1180068.35 1125990.869 0, 1180333.403 1126001.476 0, 1180598.456 1126012.097 0,
+ 1180863.508 1126022.735 0, 1181128.559 1126033.388 0, 1181393.609 1126044.057 0, 1181658.659 1126054.741 0, 1181923.708 1126065.441 0, 1182188.757 1126076.156 0, 1182453.805 1126086.887 0, 1182718.852 1126097.634 0, 1182983.899 1126108.396 0, 1183248.945 1126119.174 0,
+ 1183513.99 1126129.968 0, 1183779.035 1126140.777 0, 1184044.079 1126151.601 0, 1184309.123 1126162.442 0, 1184572.913 1126173.246 0, 1184839.208 1126184.169 0, 1185104.25 1126195.056 0, 1185369.29 1126205.959 0, 1185634.331 1126216.877 0, 1185899.37 1126227.811 0,
+ 1186164.409 1126238.76 0, 1186429.448 1126249.725 0, 1186694.486 1126260.706 0, 1186959.523 1126271.702 0, 1187224.559 1126282.714 0, 1187489.595 1126293.742 0, 1187754.63 1126304.785 0, 1188019.665 1126315.843 0, 1188284.698 1126326.918 0, 1188549.732 1126338.007 0,
+ 1188814.764 1126349.113 0, 1189079.796 1126360.234 0, 1189344.827 1126371.371 0, 1189609.858 1126382.523 0, 1189874.888 1126393.691 0, 1190139.917 1126404.874 0, 1190404.946 1126416.073 0, 1190669.974 1126427.288 0, 1190933.749 1126438.465 0, 1191170.199 1120862.232 0,
+ 1191406.649 1115285.995 0))
+
+POLYGON ((1203654.266 1126995.858 0, 1203390.521 1126983.935 0, 1203125.526 1126971.972 0, 1202860.53 1126960.024 0, 1202595.533 1126948.092 0, 1202330.536 1126936.175 0, 1202065.538 1126924.274 0, 1201800.539 1126912.389 0, 1201535.54 1126900.519 0, 1201270.54 1126888.665 0,
+ 1201005.539 1126876.826 0, 1200740.538 1126865.003 0, 1200475.535 1126853.196 0, 1200210.532 1126841.404 0, 1199945.529 1126829.628 0, 1199680.525 1126817.867 0, 1199415.52 1126806.122 0, 1199150.514 1126794.393 0, 1198885.508 1126782.679 0, 1198620.501 1126770.981 0,
+ 1198355.493 1126759.298 0, 1198090.484 1126747.631 0, 1197825.475 1126735.98 0, 1197560.466 1126724.344 0, 1197294.204 1126712.669 0, 1197030.444 1126701.119 0, 1196765.432 1126689.53 0, 1196500.42 1126677.957 0, 1196235.406 1126666.399 0, 1195970.393 1126654.857 0,
+ 1195705.378 1126643.33 0, 1195440.363 1126631.819 0, 1195175.347 1126620.324 0, 1194910.33 1126608.844 0, 1194645.313 1126597.38 0, 1194380.295 1126585.931 0, 1194115.276 1126574.498 0, 1193850.257 1126563.08 0, 1193585.237 1126551.679 0, 1193320.217 1126540.292 0,
+ 1193055.195 1126528.922 0, 1192790.173 1126517.567 0, 1192525.151 1126506.227 0, 1192260.127 1126494.903 0, 1191995.103 1126483.595 0, 1191730.079 1126472.302 0, 1191465.053 1126461.025 0, 1191200.027 1126449.764 0, 1190933.749 1126438.465 0, 1190697.3 1132014.689 0,
+ 1190460.851 1137590.9 0, 1190726.469 1137602.171 0, 1190990.839 1137613.405 0, 1191255.208 1137624.654 0, 1191519.576 1137635.919 0, 1191783.944 1137647.199 0, 1192048.311 1137658.495 0, 1192312.677 1137669.806 0, 1192577.042 1137681.133 0, 1192841.407 1137692.476 0,
+ 1193105.772 1137703.834 0, 1193370.135 1137715.207 0, 1193634.498 1137726.596 0, 1193898.86 1137738.001 0, 1194163.222 1137749.421 0, 1194427.583 1137760.857 0, 1194691.943 1137772.309 0, 1194956.302 1137783.776 0, 1195220.661 1137795.258 0, 1195485.019 1137806.756 0,
+ 1195749.377 1137818.27 0, 1196013.734 1137829.799 0, 1196278.09 1137841.344 0, 1196542.445 1137852.904 0, 1196805.552 1137864.425 0, 1197071.154 1137876.071 0, 1197335.508 1137887.678 0, 1197599.86 1137899.301 0, 1197864.212 1137910.939 0, 1198128.564 1137922.593 0,
+ 1198392.914 1137934.262 0, 1198657.264 1137945.947 0, 1198921.614 1137957.647 0, 1199185.962 1137969.363 0, 1199450.31 1137981.095 0, 1199714.657 1137992.842 0, 1199979.004 1138004.604 0, 1200243.35 1138016.382 0, 1200507.695 1138028.176 0, 1200772.039 1138039.985 0,
+ 1201036.383 1138051.81 0, 1201300.726 1138063.65 0, 1201565.069 1138075.506 0, 1201829.41 1138087.378 0, 1202093.751 1138099.265 0, 1202358.092 1138111.168 0, 1202622.431 1138123.086 0, 1202886.77 1138135.02 0, 1203149.862 1138146.912 0, 1203402.064 1132571.391 0,
+ 1203654.266 1126995.858 0))
+
+POLYGON ((1215837.251 1138738.771 0, 1215574.192 1138726.135 0, 1215309.888 1138713.454 0, 1215045.583 1138700.789 0, 1214781.278 1138688.14 0, 1214516.971 1138675.506 0, 1214252.664 1138662.888 0, 1213988.357 1138650.285 0, 1213724.048 1138637.698 0, 1213459.739 1138625.126 0,
+ 1213195.429 1138612.57 0, 1212931.118 1138600.03 0, 1212666.806 1138587.505 0, 1212402.494 1138574.995 0, 1212138.181 1138562.502 0, 1211873.867 1138550.023 0, 1211609.553 1138537.561 0, 1211345.238 1138525.114 0, 1211080.922 1138512.682 0, 1210816.605 1138500.266 0,
+ 1210552.288 1138487.866 0, 1210287.97 1138475.481 0, 1210023.651 1138463.111 0, 1209759.331 1138450.757 0, 1209493.766 1138438.361 0, 1209230.69 1138426.097 0, 1208966.368 1138413.789 0, 1208702.046 1138401.498 0, 1208437.723 1138389.222 0, 1208173.399 1138376.961 0,
+ 1207909.074 1138364.716 0, 1207644.749 1138352.487 0, 1207380.423 1138340.273 0, 1207116.096 1138328.075 0, 1206851.768 1138315.892 0, 1206587.44 1138303.725 0, 1206323.111 1138291.574 0, 1206058.781 1138279.438 0, 1205794.451 1138267.317 0, 1205530.12 1138255.213 0,
+ 1205265.788 1138243.123 0, 1205001.456 1138231.049 0, 1204737.122 1138218.991 0, 1204472.788 1138206.949 0, 1204208.454 1138194.922 0, 1203944.118 1138182.91 0, 1203679.782 1138170.914 0, 1203415.446 1138158.934 0, 1203149.862 1138146.912 0, 1202897.661 1143722.416 0,
+ 1202645.461 1149297.897 0, 1202910.385 1149309.889 0, 1203174.066 1149321.839 0, 1203437.745 1149333.805 0, 1203701.424 1149345.787 0, 1203965.103 1149357.784 0, 1204228.78 1149369.797 0, 1204492.457 1149381.825 0, 1204756.133 1149393.869 0, 1205019.809 1149405.928 0,
+ 1205283.484 1149418.003 0, 1205547.158 1149430.094 0, 1205810.831 1149442.199 0, 1206074.504 1149454.321 0, 1206338.176 1149466.458 0, 1206601.847 1149478.61 0, 1206865.517 1149490.778 0, 1207129.187 1149502.962 0, 1207392.856 1149515.16 0, 1207656.525 1149527.375 0,
+ 1207920.192 1149539.605 0, 1208183.859 1149551.851 0, 1208447.525 1149564.112 0, 1208711.191 1149576.388 0, 1208973.613 1149588.622 0, 1209238.519 1149600.988 0, 1209502.183 1149613.311 0, 1209765.845 1149625.65 0, 1210029.507 1149638.004 0, 1210293.168 1149650.373 0,
+ 1210556.829 1149662.759 0, 1210820.488 1149675.159 0, 1211084.147 1149687.576 0, 1211347.805 1149700.007 0, 1211611.463 1149712.455 0, 1211875.12 1149724.917 0, 1212138.776 1149737.396 0, 1212402.431 1149749.89 0, 1212666.085 1149762.399 0, 1212929.739 1149774.924 0,
+ 1213193.392 1149787.464 0, 1213457.045 1149800.02 0, 1213720.696 1149812.591 0, 1213984.347 1149825.178 0, 1214247.997 1149837.781 0, 1214511.646 1149850.399 0, 1214775.295 1149863.032 0, 1215038.943 1149875.681 0, 1215301.349 1149888.286 0, 1215569.3 1144313.54 0,
+ 1215837.251 1138738.771 0))
+
+POLYGON ((1227955.518 1150514.428 0, 1227693.147 1150501.082 0, 1227429.536 1150487.688 0, 1227165.924 1150474.31 0, 1226902.312 1150460.947 0, 1226638.698 1150447.599 0, 1226375.084 1150434.268 0, 1226111.469 1150420.952 0, 1225847.853 1150407.651 0, 1225584.237 1150394.366 0,
+ 1225320.619 1150381.096 0, 1225057.001 1150367.842 0, 1224793.382 1150354.603 0, 1224529.763 1150341.38 0, 1224266.142 1150328.172 0, 1224002.521 1150314.98 0, 1223738.899 1150301.804 0, 1223475.276 1150288.643 0, 1223211.652 1150275.497 0, 1222948.028 1150262.367 0,
+ 1222684.403 1150249.252 0, 1222420.777 1150236.153 0, 1222157.15 1150223.07 0, 1221893.523 1150210.002 0, 1221628.655 1150196.888 0, 1221366.266 1150183.913 0, 1221102.636 1150170.891 0, 1220839.006 1150157.885 0, 1220575.374 1150144.895 0, 1220311.742 1150131.92 0,
+ 1220048.11 1150118.961 0, 1219784.476 1150106.017 0, 1219520.842 1150093.089 0, 1219257.207 1150080.176 0, 1218993.571 1150067.278 0, 1218729.934 1150054.397 0, 1218466.297 1150041.53 0, 1218202.659 1150028.68 0, 1217939.02 1150015.845 0, 1217675.38 1150003.025 0,
+ 1217411.74 1149990.221 0, 1217148.099 1149977.432 0, 1216884.457 1149964.659 0, 1216620.814 1149951.901 0, 1216357.171 1149939.159 0, 1216093.527 1149926.432 0, 1215829.882 1149913.721 0, 1215566.236 1149901.026 0, 1215301.349 1149888.286 0, 1215033.399 1155463.006 0,
+ 1214765.451 1161037.695 0, 1215029.679 1161050.403 0, 1215292.669 1161063.067 0, 1215555.657 1161075.746 0, 1215818.645 1161088.441 0, 1216081.633 1161101.152 0, 1216344.619 1161113.878 0, 1216607.605 1161126.619 0, 1216870.589 1161139.376 0, 1217133.574 1161152.148 0,
+ 1217396.557 1161164.936 0, 1217659.54 1161177.739 0, 1217922.522 1161190.558 0, 1218185.503 1161203.392 0, 1218448.483 1161216.242 0, 1218711.463 1161229.107 0, 1218974.442 1161241.988 0, 1219237.42 1161254.884 0, 1219500.397 1161267.796 0, 1219763.374 1161280.723 0,
+ 1220026.349 1161293.665 0, 1220289.325 1161306.623 0, 1220552.299 1161319.597 0, 1220815.272 1161332.586 0, 1221077.008 1161345.529 0, 1221341.217 1161358.61 0, 1221604.188 1161371.646 0, 1221867.159 1161384.697 0, 1222130.129 1161397.763 0, 1222393.098 1161410.845 0,
+ 1222656.066 1161423.942 0, 1222919.033 1161437.055 0, 1223182 1161450.183 0, 1223444.966 1161463.327 0, 1223707.931 1161476.486 0, 1223970.895 1161489.661 0, 1224233.858 1161502.851 0, 1224496.821 1161516.057 0, 1224759.783 1161529.278 0, 1225022.744 1161542.515 0,
+ 1225285.705 1161555.767 0, 1225548.664 1161569.035 0, 1225811.623 1161582.318 0, 1226074.581 1161595.616 0, 1226337.539 1161608.93 0, 1226600.495 1161622.26 0, 1226863.451 1161635.605 0, 1227126.406 1161648.965 0, 1227388.124 1161662.278 0, 1227671.82 1156088.369 0,
+ 1227955.518 1150514.428 0))
+
+POLYGON ((1240008.982 1162322.52 0, 1239747.3 1162308.468 0, 1239484.384 1162294.365 0, 1239221.467 1162280.277 0, 1238958.549 1162266.204 0, 1238695.631 1162252.148 0, 1238432.711 1162238.106 0, 1238169.791 1162224.08 0, 1237906.87 1162210.07 0, 1237643.948 1162196.075 0,
+ 1237381.025 1162182.095 0, 1237118.102 1162168.131 0, 1236855.177 1162154.183 0, 1236592.252 1162140.25 0, 1236329.326 1162126.332 0, 1236066.399 1162112.43 0, 1235803.471 1162098.543 0, 1235540.543 1162084.672 0, 1235277.614 1162070.816 0, 1235014.684 1162056.976 0,
+ 1234751.753 1162043.151 0, 1234488.821 1162029.342 0, 1234225.888 1162015.548 0, 1233962.955 1162001.77 0, 1233698.786 1161987.942 0, 1233437.086 1161974.26 0, 1233174.15 1161960.528 0, 1232911.213 1161946.811 0, 1232648.276 1161933.11 0, 1232385.338 1161919.425 0,
+ 1232122.399 1161905.755 0, 1231859.459 1161892.1 0, 1231596.518 1161878.461 0, 1231333.577 1161864.838 0, 1231070.635 1161851.23 0, 1230807.692 1161837.637 0, 1230544.748 1161824.06 0, 1230281.803 1161810.498 0, 1230018.858 1161796.952 0, 1229755.912 1161783.421 0,
+ 1229492.965 1161769.906 0, 1229230.017 1161756.406 0, 1228967.068 1161742.922 0, 1228704.119 1161729.453 0, 1228441.169 1161716 0, 1228178.218 1161702.562 0, 1227915.266 1161689.14 0, 1227652.313 1161675.733 0, 1227388.124 1161662.278 0, 1227104.429 1167236.152 0,
+ 1226820.737 1172809.986 0, 1227084.267 1172823.407 0, 1227346.563 1172836.78 0, 1227608.859 1172850.169 0, 1227871.154 1172863.574 0, 1228133.448 1172876.993 0, 1228395.741 1172890.428 0, 1228658.034 1172903.879 0, 1228920.325 1172917.345 0, 1229182.616 1172930.827 0,
+ 1229444.906 1172944.324 0, 1229707.196 1172957.836 0, 1229969.484 1172971.364 0, 1230231.772 1172984.907 0, 1230494.059 1172998.466 0, 1230756.345 1173012.04 0, 1231018.63 1173025.63 0, 1231280.915 1173039.235 0, 1231543.198 1173052.855 0, 1231805.481 1173066.491 0,
+ 1232067.763 1173080.142 0, 1232330.045 1173093.809 0, 1232592.325 1173107.491 0, 1232854.605 1173121.189 0, 1233115.652 1173134.838 0, 1233379.162 1173148.63 0, 1233641.439 1173162.374 0, 1233903.716 1173176.134 0, 1234165.991 1173189.909 0, 1234428.266 1173203.699 0,
+ 1234690.54 1173217.505 0, 1234952.813 1173231.326 0, 1235215.086 1173245.162 0, 1235477.358 1173259.014 0, 1235739.628 1173272.882 0, 1236001.898 1173286.765 0, 1236264.167 1173300.663 0, 1236526.436 1173314.577 0, 1236788.703 1173328.506 0, 1237050.97 1173342.451 0,
+ 1237313.236 1173356.411 0, 1237575.501 1173370.386 0, 1237837.765 1173384.377 0, 1238100.028 1173398.383 0, 1238362.291 1173412.405 0, 1238624.553 1173426.442 0, 1238886.814 1173440.495 0, 1239149.074 1173454.563 0, 1239410.102 1173468.581 0, 1239709.541 1167895.571 0,
+ 1240008.982 1162322.52 0))
+
+POLYGON ((1251997.557 1174162.74 0, 1251736.567 1174147.985 0, 1251474.348 1174133.176 0, 1251212.128 1174118.382 0, 1250949.907 1174103.604 0, 1250687.685 1174088.842 0, 1250425.462 1174074.094 0, 1250163.238 1174059.363 0, 1249901.014 1174044.646 0, 1249638.789 1174029.945 0,
+ 1249376.562 1174015.26 0, 1249114.335 1174000.59 0, 1248852.107 1173985.935 0, 1248589.878 1173971.296 0, 1248327.649 1173956.672 0, 1248065.418 1173942.064 0, 1247803.187 1173927.471 0, 1247540.954 1173912.893 0, 1247278.721 1173898.331 0, 1247016.487 1173883.785 0,
+ 1246754.252 1173869.253 0, 1246492.017 1173854.738 0, 1246229.78 1173840.237 0, 1245967.543 1173825.752 0, 1245704.075 1173811.215 0, 1245443.065 1173796.829 0, 1245180.825 1173782.39 0, 1244918.585 1173767.967 0, 1244656.343 1173753.56 0, 1244394.1 1173739.167 0,
+ 1244131.857 1173724.79 0, 1243869.613 1173710.429 0, 1243607.368 1173696.083 0, 1243345.122 1173681.753 0, 1243082.875 1173667.437 0, 1242820.628 1173653.138 0, 1242558.379 1173638.854 0, 1242296.13 1173624.585 0, 1242033.88 1173610.331 0, 1241771.629 1173596.093 0,
+ 1241509.377 1173581.871 0, 1241247.125 1173567.664 0, 1240984.871 1173553.472 0, 1240722.617 1173539.296 0, 1240460.362 1173525.135 0, 1240198.106 1173510.99 0, 1239935.849 1173496.86 0, 1239673.592 1173482.746 0, 1239410.102 1173468.581 0, 1239110.666 1179041.546 0,
+ 1238811.233 1184614.462 0, 1239074.063 1184628.591 0, 1239335.664 1184642.67 0, 1239597.265 1184656.765 0, 1239858.865 1184670.875 0, 1240120.464 1184685 0, 1240382.062 1184699.141 0, 1240643.66 1184713.297 0, 1240905.256 1184727.468 0, 1241166.852 1184741.655 0,
+ 1241428.447 1184755.858 0, 1241690.041 1184770.075 0, 1241951.634 1184784.308 0, 1242213.227 1184798.557 0, 1242474.818 1184812.821 0, 1242736.409 1184827.1 0, 1242997.999 1184841.395 0, 1243259.588 1184855.705 0, 1243521.176 1184870.03 0, 1243782.764 1184884.371 0,
+ 1244044.35 1184898.728 0, 1244305.936 1184913.099 0, 1244567.521 1184927.486 0, 1244829.105 1184941.889 0, 1245089.461 1184956.239 0, 1245352.27 1184970.74 0, 1245613.852 1184985.188 0, 1245875.432 1184999.652 0, 1246137.012 1185014.132 0, 1246398.591 1185028.627 0,
+ 1246660.169 1185043.137 0, 1246921.746 1185057.663 0, 1247183.322 1185072.204 0, 1247444.898 1185086.76 0, 1247706.472 1185101.332 0, 1247968.046 1185115.919 0, 1248229.619 1185130.522 0, 1248491.191 1185145.14 0, 1248752.762 1185159.773 0, 1249014.332 1185174.422 0,
+ 1249275.902 1185189.086 0, 1249537.47 1185203.766 0, 1249799.038 1185218.461 0, 1250060.605 1185233.171 0, 1250322.171 1185247.897 0, 1250583.736 1185262.638 0, 1250845.3 1185277.394 0, 1251106.864 1185292.166 0, 1251367.201 1185306.884 0, 1251682.378 1179734.837 0,
+ 1251997.557 1174162.74 0))
+
+POLYGON ((1263921.163 1186034.777 0, 1263660.866 1186019.324 0, 1263399.346 1186003.813 0, 1263137.824 1185988.318 0, 1262876.302 1185972.837 0, 1262614.778 1185957.373 0, 1262353.254 1185941.923 0, 1262091.729 1185926.49 0, 1261830.203 1185911.071 0, 1261568.676 1185895.668 0,
+ 1261307.148 1185880.28 0, 1261045.619 1185864.908 0, 1260784.09 1185849.551 0, 1260522.559 1185834.209 0, 1260261.027 1185818.883 0, 1259999.495 1185803.573 0, 1259737.962 1185788.277 0, 1259476.428 1185772.997 0, 1259214.892 1185757.733 0, 1258953.356 1185742.484 0,
+ 1258691.82 1185727.25 0, 1258430.282 1185712.031 0, 1258168.743 1185696.828 0, 1257907.204 1185681.641 0, 1257644.439 1185666.398 0, 1257384.122 1185651.312 0, 1257122.58 1185636.17 0, 1256861.036 1185621.044 0, 1256599.492 1185605.934 0, 1256337.947 1185590.838 0,
+ 1256076.402 1185575.759 0, 1255814.855 1185560.694 0, 1255553.307 1185545.645 0, 1255291.759 1185530.611 0, 1255030.21 1185515.593 0, 1254768.659 1185500.59 0, 1254507.108 1185485.603 0, 1254245.556 1185470.631 0, 1253984.003 1185455.674 0, 1253722.45 1185440.733 0,
+ 1253460.895 1185425.807 0, 1253199.339 1185410.896 0, 1252937.783 1185396.001 0, 1252676.226 1185381.121 0, 1252414.668 1185366.257 0, 1252153.109 1185351.408 0, 1251891.549 1185336.575 0, 1251629.988 1185321.757 0, 1251367.201 1185306.884 0, 1251052.027 1190878.878 0,
+ 1250736.857 1196450.813 0, 1250998.985 1196465.647 0, 1251259.89 1196480.428 0, 1251520.794 1196495.225 0, 1251781.697 1196510.036 0, 1252042.599 1196524.863 0, 1252303.5 1196539.706 0, 1252564.401 1196554.564 0, 1252825.3 1196569.437 0, 1253086.199 1196584.325 0,
+ 1253347.097 1196599.229 0, 1253607.994 1196614.148 0, 1253868.89 1196629.083 0, 1254129.785 1196644.033 0, 1254390.68 1196658.998 0, 1254651.573 1196673.978 0, 1254912.466 1196688.974 0, 1255173.358 1196703.986 0, 1255434.248 1196719.012 0, 1255695.138 1196734.054 0,
+ 1255956.027 1196749.112 0, 1256216.916 1196764.185 0, 1256477.803 1196779.273 0, 1256738.689 1196794.376 0, 1256998.353 1196809.424 0, 1257260.459 1196824.629 0, 1257521.343 1196839.779 0, 1257782.226 1196854.943 0, 1258043.108 1196870.124 0, 1258303.989 1196885.319 0,
+ 1258564.869 1196900.53 0, 1258825.748 1196915.757 0, 1259086.627 1196930.998 0, 1259347.504 1196946.255 0, 1259608.381 1196961.528 0, 1259869.256 1196976.815 0, 1260130.131 1196992.118 0, 1260391.005 1197007.437 0, 1260651.878 1197022.77 0, 1260912.75 1197038.12 0,
+ 1261173.621 1197053.484 0, 1261434.491 1197068.864 0, 1261695.361 1197084.259 0, 1261956.229 1197099.67 0, 1262217.097 1197115.096 0, 1262477.963 1197130.537 0, 1262738.829 1197145.993 0, 1262999.694 1197161.465 0, 1263259.337 1197176.88 0, 1263590.248 1191605.858 0,
+ 1263921.163 1186034.777 0))
+
+POLYGON ((1275779.717 1197938.323 0, 1275520.116 1197922.175 0, 1275259.296 1197905.966 0, 1274998.475 1197889.772 0, 1274737.653 1197873.594 0, 1274476.83 1197857.431 0, 1274216.006 1197841.284 0, 1273955.181 1197825.152 0, 1273694.355 1197809.035 0, 1273433.529 1197792.934 0,
+ 1273172.701 1197776.847 0, 1272911.872 1197760.777 0, 1272651.043 1197744.721 0, 1272390.212 1197728.681 0, 1272129.381 1197712.657 0, 1271868.549 1197696.647 0, 1271607.715 1197680.653 0, 1271346.881 1197664.675 0, 1271086.046 1197648.712 0, 1270825.21 1197632.764 0,
+ 1270564.373 1197616.831 0, 1270303.535 1197600.914 0, 1270042.696 1197585.012 0, 1269781.856 1197569.125 0, 1269519.796 1197553.18 0, 1269260.173 1197537.399 0, 1268999.331 1197521.558 0, 1268738.487 1197505.733 0, 1268477.642 1197489.923 0, 1268216.797 1197474.129 0,
+ 1267955.951 1197458.35 0, 1267695.103 1197442.586 0, 1267434.255 1197426.838 0, 1267173.406 1197411.105 0, 1266912.556 1197395.387 0, 1266651.705 1197379.685 0, 1266390.853 1197363.998 0, 1266130 1197348.327 0, 1265869.146 1197332.67 0, 1265608.291 1197317.029 0,
+ 1265347.436 1197301.404 0, 1265086.579 1197285.794 0, 1264825.722 1197270.199 0, 1264564.863 1197254.62 0, 1264304.004 1197239.056 0, 1264043.144 1197223.507 0, 1263782.283 1197207.973 0, 1263521.42 1197192.455 0, 1263259.337 1197176.88 0, 1262928.43 1202747.839 0,
+ 1262597.527 1208318.729 0, 1262858.951 1208334.265 0, 1263119.158 1208349.744 0, 1263379.363 1208365.239 0, 1263639.568 1208380.748 0, 1263899.771 1208396.273 0, 1264159.974 1208411.814 0, 1264420.175 1208427.369 0, 1264680.376 1208442.94 0, 1264940.576 1208458.526 0,
+ 1265200.775 1208474.128 0, 1265460.973 1208489.745 0, 1265721.17 1208505.377 0, 1265981.366 1208521.024 0, 1266241.562 1208536.687 0, 1266501.756 1208552.365 0, 1266761.949 1208568.059 0, 1267022.142 1208583.767 0, 1267282.334 1208599.491 0, 1267542.524 1208615.231 0,
+ 1267802.714 1208630.985 0, 1268062.903 1208646.755 0, 1268323.091 1208662.541 0, 1268583.278 1208678.341 0, 1268842.248 1208694.083 0, 1269103.649 1208709.989 0, 1269363.833 1208725.835 0, 1269624.016 1208741.697 0, 1269884.198 1208757.574 0, 1270144.38 1208773.467 0,
+ 1270404.56 1208789.375 0, 1270664.74 1208805.298 0, 1270924.918 1208821.236 0, 1271185.096 1208837.19 0, 1271445.272 1208853.159 0, 1271705.448 1208869.143 0, 1271965.623 1208885.143 0, 1272225.797 1208901.158 0, 1272485.97 1208917.188 0, 1272746.141 1208933.234 0,
+ 1273006.312 1208949.295 0, 1273266.483 1208965.371 0, 1273526.652 1208981.463 0, 1273786.82 1208997.57 0, 1274046.987 1209013.692 0, 1274307.153 1209029.829 0, 1274567.319 1209045.982 0, 1274827.483 1209062.15 0, 1275086.432 1209078.258 0, 1275433.072 1203508.325 0,
+ 1275779.717 1197938.323 0))
+
+POLYGON ((1287573.14 1209873.067 0, 1287314.236 1209856.228 0, 1287054.119 1209839.325 0, 1286794 1209822.437 0, 1286533.88 1209805.565 0, 1286273.76 1209788.707 0, 1286013.638 1209771.866 0, 1285753.515 1209755.039 0, 1285493.392 1209738.228 0, 1285233.267 1209721.432 0,
+ 1284973.142 1209704.651 0, 1284713.015 1209687.886 0, 1284452.888 1209671.136 0, 1284192.759 1209654.401 0, 1283932.629 1209637.682 0, 1283672.499 1209620.978 0, 1283412.368 1209604.289 0, 1283152.235 1209587.616 0, 1282892.102 1209570.958 0, 1282631.967 1209554.315 0,
+ 1282371.832 1209537.687 0, 1282111.695 1209521.075 0, 1281851.558 1209504.478 0, 1281591.42 1209487.897 0, 1281330.067 1209471.253 0, 1281071.14 1209454.78 0, 1280810.999 1209438.244 0, 1280550.857 1209421.724 0, 1280290.713 1209405.219 0, 1280030.569 1209388.729 0,
+ 1279770.424 1209372.254 0, 1279510.278 1209355.795 0, 1279250.131 1209339.352 0, 1278989.983 1209322.923 0, 1278729.834 1209306.51 0, 1278469.684 1209290.112 0, 1278209.533 1209273.73 0, 1277949.381 1209257.362 0, 1277689.228 1209241.011 0, 1277429.074 1209224.674 0,
+ 1277168.919 1209208.353 0, 1276908.764 1209192.047 0, 1276648.607 1209175.756 0, 1276388.449 1209159.481 0, 1276128.291 1209143.221 0, 1275868.131 1209126.976 0, 1275607.97 1209110.747 0, 1275347.809 1209094.533 0, 1275086.432 1209078.258 0, 1274739.796 1214648.119 0,
+ 1274393.164 1220217.902 0, 1274653.883 1220234.135 0, 1274913.389 1220250.309 0, 1275172.894 1220266.497 0, 1275432.398 1220282.701 0, 1275691.901 1220298.92 0, 1275951.403 1220315.154 0, 1276210.904 1220331.404 0, 1276470.404 1220347.669 0, 1276729.903 1220363.949 0,
+ 1276989.401 1220380.244 0, 1277248.899 1220396.555 0, 1277508.395 1220412.881 0, 1277767.89 1220429.222 0, 1278027.384 1220445.579 0, 1278286.878 1220461.95 0, 1278546.37 1220478.337 0, 1278805.862 1220494.74 0, 1279065.352 1220511.157 0, 1279324.842 1220527.59 0,
+ 1279584.33 1220544.038 0, 1279843.818 1220560.502 0, 1280103.305 1220576.98 0, 1280362.79 1220593.474 0, 1280621.064 1220609.907 0, 1280881.759 1220626.508 0, 1281141.241 1220643.048 0, 1281400.723 1220659.603 0, 1281660.204 1220676.173 0, 1281919.684 1220692.759 0,
+ 1282179.163 1220709.36 0, 1282438.641 1220725.976 0, 1282698.117 1220742.607 0, 1282957.593 1220759.254 0, 1283217.068 1220775.916 0, 1283476.542 1220792.593 0, 1283736.015 1220809.286 0, 1283995.487 1220825.993 0, 1284254.958 1220842.717 0, 1284514.428 1220859.455 0,
+ 1284773.897 1220876.208 0, 1285033.365 1220892.977 0, 1285292.832 1220909.761 0, 1285552.298 1220926.561 0, 1285811.763 1220943.376 0, 1286071.228 1220960.205 0, 1286330.691 1220977.051 0, 1286590.153 1220993.911 0, 1286848.404 1221010.708 0, 1287210.77 1215441.927 0,
+ 1287573.14 1209873.067 0))
+
+POLYGON ((1299301.355 1221838.7 0, 1299043.15 1221821.173 0, 1298783.736 1221803.579 0, 1298524.322 1221786.001 0, 1298264.906 1221768.438 0, 1298005.49 1221750.891 0, 1297746.072 1221733.358 0, 1297486.654 1221715.841 0, 1297227.234 1221698.339 0, 1296967.813 1221680.853 0,
+ 1296708.392 1221663.381 0, 1296448.969 1221645.925 0, 1296189.545 1221628.485 0, 1295930.12 1221611.059 0, 1295670.695 1221593.649 0, 1295411.268 1221576.254 0, 1295151.84 1221558.874 0, 1294892.411 1221541.51 0, 1294632.981 1221524.161 0, 1294373.55 1221506.827 0,
+ 1294114.118 1221489.508 0, 1293854.685 1221472.205 0, 1293595.251 1221454.917 0, 1293335.816 1221437.644 0, 1293075.172 1221420.306 0, 1292816.943 1221403.144 0, 1292557.505 1221385.917 0, 1292298.066 1221368.706 0, 1292038.626 1221351.509 0, 1291779.185 1221334.328 0,
+ 1291519.743 1221317.162 0, 1291260.3 1221300.011 0, 1291000.856 1221282.876 0, 1290741.411 1221265.756 0, 1290481.965 1221248.651 0, 1290222.518 1221231.562 0, 1289963.069 1221214.487 0, 1289703.62 1221197.428 0, 1289444.17 1221180.384 0, 1289184.719 1221163.356 0,
+ 1288925.267 1221146.343 0, 1288665.814 1221129.345 0, 1288406.36 1221112.362 0, 1288146.905 1221095.395 0, 1287887.448 1221078.443 0, 1287627.991 1221061.506 0, 1287368.533 1221044.584 0, 1287109.074 1221027.678 0, 1286848.404 1221010.708 0, 1286486.044 1226579.408 0,
+ 1286123.69 1232148.02 0, 1286383.701 1232164.947 0, 1286642.505 1232181.811 0, 1286901.307 1232198.689 0, 1287160.109 1232215.583 0, 1287418.909 1232232.493 0, 1287677.709 1232249.417 0, 1287936.508 1232266.357 0, 1288195.305 1232283.312 0, 1288454.102 1232300.282 0,
+ 1288712.898 1232317.268 0, 1288971.692 1232334.268 0, 1289230.486 1232351.284 0, 1289489.278 1232368.315 0, 1289748.07 1232385.362 0, 1290006.861 1232402.423 0, 1290265.65 1232419.5 0, 1290524.439 1232436.592 0, 1290783.227 1232453.7 0, 1291042.013 1232470.822 0,
+ 1291300.799 1232487.96 0, 1291559.583 1232505.113 0, 1291818.367 1232522.281 0, 1292077.15 1232539.465 0, 1292334.726 1232556.583 0, 1292594.712 1232573.877 0, 1292853.491 1232591.106 0, 1293112.27 1232608.351 0, 1293371.047 1232625.61 0, 1293629.824 1232642.885 0,
+ 1293888.599 1232660.175 0, 1294147.374 1232677.481 0, 1294406.147 1232694.801 0, 1294664.919 1232712.137 0, 1294923.691 1232729.488 0, 1295182.461 1232746.854 0, 1295441.23 1232764.236 0, 1295699.999 1232781.632 0, 1295958.766 1232799.044 0, 1296217.532 1232816.471 0,
+ 1296476.298 1232833.914 0, 1296735.062 1232851.371 0, 1296993.825 1232868.844 0, 1297252.587 1232886.332 0, 1297511.348 1232903.836 0, 1297770.108 1232921.354 0, 1298028.867 1232938.888 0, 1298287.625 1232956.437 0, 1298545.178 1232973.919 0, 1298923.264 1227406.353 0,
+ 1299301.355 1221838.7 0))
+
+POLYGON ((1310964.284 1233834.909 0, 1310706.779 1233816.698 0, 1310448.072 1233798.418 0, 1310189.364 1233780.154 0, 1309930.654 1233761.904 0, 1309671.943 1233743.67 0, 1309413.232 1233725.451 0, 1309154.519 1233707.247 0, 1308895.805 1233689.058 0, 1308637.09 1233670.885 0,
+ 1308378.374 1233652.727 0, 1308119.657 1233634.584 0, 1307860.939 1233616.456 0, 1307602.22 1233598.344 0, 1307343.499 1233580.247 0, 1307084.778 1233562.165 0, 1306826.056 1233544.098 0, 1306567.332 1233526.046 0, 1306308.608 1233508.01 0, 1306049.882 1233489.989 0,
+ 1305791.155 1233471.983 0, 1305532.428 1233453.992 0, 1305273.699 1233436.017 0, 1305014.969 1233418.057 0, 1304755.035 1233400.028 0, 1304497.506 1233382.182 0, 1304238.773 1233364.267 0, 1303980.039 1233346.368 0, 1303721.304 1233328.484 0, 1303462.568 1233310.615 0,
+ 1303203.831 1233292.762 0, 1302945.093 1233274.923 0, 1302686.353 1233257.1 0, 1302427.613 1233239.292 0, 1302168.872 1233221.5 0, 1301910.129 1233203.722 0, 1301651.386 1233185.96 0, 1301392.641 1233168.213 0, 1301133.895 1233150.481 0, 1300875.149 1233132.765 0,
+ 1300616.401 1233115.063 0, 1300357.652 1233097.377 0, 1300098.903 1233079.706 0, 1299840.152 1233062.051 0, 1299581.4 1233044.41 0, 1299322.647 1233026.785 0, 1299063.893 1233009.175 0, 1298805.138 1232991.581 0, 1298545.178 1232973.919 0, 1298167.099 1238541.394 0,
+ 1297789.027 1244108.772 0, 1298048.328 1244126.389 0, 1298306.428 1244143.939 0, 1298564.527 1244161.504 0, 1298822.624 1244179.085 0, 1299080.72 1244196.681 0, 1299338.816 1244214.291 0, 1299596.91 1244231.918 0, 1299855.004 1244249.559 0, 1300113.096 1244267.215 0,
+ 1300371.187 1244284.887 0, 1300629.277 1244302.574 0, 1300887.367 1244320.276 0, 1301145.455 1244337.993 0, 1301403.542 1244355.725 0, 1301661.628 1244373.473 0, 1301919.713 1244391.236 0, 1302177.797 1244409.014 0, 1302435.88 1244426.807 0, 1302693.962 1244444.615 0,
+ 1302952.042 1244462.439 0, 1303210.122 1244480.278 0, 1303468.201 1244498.132 0, 1303726.279 1244516.001 0, 1303983.155 1244533.802 0, 1304242.431 1244551.785 0, 1304500.505 1244569.699 0, 1304758.579 1244587.629 0, 1305016.651 1244605.574 0, 1305274.723 1244623.535 0,
+ 1305532.793 1244641.51 0, 1305790.862 1244659.501 0, 1306048.93 1244677.506 0, 1306306.997 1244695.527 0, 1306565.063 1244713.564 0, 1306823.128 1244731.615 0, 1307081.192 1244749.682 0, 1307339.255 1244767.763 0, 1307597.317 1244785.86 0, 1307855.378 1244803.973 0,
+ 1308113.437 1244822.1 0, 1308371.496 1244840.243 0, 1308629.553 1244858.4 0, 1308887.61 1244876.573 0, 1309145.665 1244894.761 0, 1309403.72 1244912.965 0, 1309661.773 1244931.183 0, 1309919.825 1244949.417 0, 1310176.677 1244967.581 0, 1310570.477 1239401.293 0,
+ 1310964.284 1233834.909 0))
+
+POLYGON ((1322561.852 1245861.383 0, 1322305.05 1245842.493 0, 1322047.051 1245823.531 0, 1321789.05 1245804.583 0, 1321531.048 1245785.651 0, 1321273.045 1245766.734 0, 1321015.041 1245747.832 0, 1320757.036 1245728.945 0, 1320499.029 1245710.074 0, 1320241.022 1245691.217 0,
+ 1319983.013 1245672.376 0, 1319725.004 1245653.55 0, 1319466.993 1245634.739 0, 1319208.981 1245615.944 0, 1318950.968 1245597.163 0, 1318692.954 1245578.398 0, 1318434.939 1245559.648 0, 1318176.923 1245540.913 0, 1317918.905 1245522.194 0, 1317660.887 1245503.489 0,
+ 1317402.867 1245484.8 0, 1317144.847 1245466.126 0, 1316886.825 1245447.467 0, 1316628.802 1245428.823 0, 1316369.58 1245410.108 0, 1316112.753 1245391.581 0, 1315854.727 1245372.983 0, 1315596.7 1245354.4 0, 1315338.671 1245335.832 0, 1315080.642 1245317.28 0,
+ 1314822.611 1245298.742 0, 1314564.58 1245280.22 0, 1314306.547 1245261.713 0, 1314048.513 1245243.221 0, 1313790.478 1245224.744 0, 1313532.442 1245206.283 0, 1313274.405 1245187.837 0, 1313016.367 1245169.405 0, 1312758.328 1245150.99 0, 1312500.288 1245132.589 0,
+ 1312242.246 1245114.203 0, 1311984.204 1245095.833 0, 1311726.16 1245077.478 0, 1311468.115 1245059.138 0, 1311210.07 1245040.813 0, 1310952.023 1245022.503 0, 1310693.975 1245004.209 0, 1310435.926 1244985.93 0, 1310176.677 1244967.581 0, 1309782.884 1250533.767 0,
+ 1309389.099 1256099.848 0, 1309647.69 1256118.15 0, 1309905.084 1256136.383 0, 1310162.476 1256154.631 0, 1310419.868 1256172.894 0, 1310677.258 1256191.172 0, 1310934.648 1256209.465 0, 1311192.036 1256227.774 0, 1311449.424 1256246.098 0, 1311706.81 1256264.437 0,
+ 1311964.195 1256282.791 0, 1312221.579 1256301.16 0, 1312478.962 1256319.544 0, 1312736.344 1256337.944 0, 1312993.724 1256356.358 0, 1313251.104 1256374.788 0, 1313508.483 1256393.233 0, 1313765.86 1256411.693 0, 1314023.237 1256430.168 0, 1314280.612 1256448.658 0,
+ 1314537.986 1256467.164 0, 1314795.36 1256485.685 0, 1315052.732 1256504.22 0, 1315310.103 1256522.771 0, 1315566.278 1256541.251 0, 1315824.841 1256559.919 0, 1316082.209 1256578.515 0, 1316339.576 1256597.127 0, 1316596.941 1256615.753 0, 1316854.306 1256634.395 0,
+ 1317111.669 1256653.052 0, 1317369.031 1256671.724 0, 1317626.392 1256690.412 0, 1317883.752 1256709.114 0, 1318141.111 1256727.832 0, 1318398.469 1256746.564 0, 1318655.826 1256765.312 0, 1318913.182 1256784.075 0, 1319170.536 1256802.853 0, 1319427.889 1256821.647 0,
+ 1319685.242 1256840.455 0, 1319942.593 1256859.279 0, 1320199.943 1256878.118 0, 1320457.292 1256896.971 0, 1320714.64 1256915.841 0, 1320971.987 1256934.725 0, 1321229.332 1256953.624 0, 1321486.677 1256972.539 0, 1321742.827 1256991.38 0, 1322152.335 1251426.435 0,
+ 1322561.852 1245861.383 0))
+
+POLYGON ((1334093.986 1257917.811 0, 1333837.888 1257898.246 0, 1333580.598 1257878.604 0, 1333323.307 1257858.978 0, 1333066.015 1257839.367 0, 1332808.721 1257819.771 0, 1332551.426 1257800.19 0, 1332294.131 1257780.624 0, 1332036.834 1257761.073 0, 1331779.535 1257741.538 0,
+ 1331522.236 1257722.018 0, 1331264.936 1257702.512 0, 1331007.634 1257683.022 0, 1330750.331 1257663.548 0, 1330493.028 1257644.088 0, 1330235.723 1257624.643 0, 1329978.416 1257605.214 0, 1329721.109 1257585.799 0, 1329463.801 1257566.4 0, 1329206.491 1257547.016 0,
+ 1328949.18 1257527.647 0, 1328691.868 1257508.294 0, 1328434.555 1257488.955 0, 1328177.241 1257469.632 0, 1327918.733 1257450.234 0, 1327662.61 1257431.03 0, 1327405.292 1257411.752 0, 1327147.973 1257392.489 0, 1326890.653 1257373.242 0, 1326633.332 1257354.009 0,
+ 1326376.01 1257334.792 0, 1326118.687 1257315.589 0, 1325861.363 1257296.402 0, 1325604.037 1257277.23 0, 1325346.711 1257258.074 0, 1325089.383 1257238.932 0, 1324832.054 1257219.805 0, 1324574.724 1257200.694 0, 1324317.393 1257181.598 0, 1324060.061 1257162.517 0,
+ 1323802.727 1257143.451 0, 1323545.393 1257124.4 0, 1323288.057 1257105.364 0, 1323030.721 1257086.344 0, 1322773.383 1257067.338 0, 1322516.044 1257048.348 0, 1322258.704 1257029.373 0, 1322001.363 1257010.413 0, 1321742.827 1256991.38 0, 1321333.326 1262556.215 0,
+ 1320923.834 1268120.934 0, 1321181.712 1268139.918 0, 1321438.398 1268158.829 0, 1321695.083 1268177.756 0, 1321951.767 1268196.698 0, 1322208.45 1268215.655 0, 1322465.131 1268234.627 0, 1322721.812 1268253.614 0, 1322978.491 1268272.617 0, 1323235.17 1268291.634 0,
+ 1323491.847 1268310.667 0, 1323748.523 1268329.714 0, 1324005.198 1268348.777 0, 1324261.872 1268367.855 0, 1324518.544 1268386.948 0, 1324775.216 1268406.056 0, 1325031.886 1268425.179 0, 1325288.556 1268444.317 0, 1325545.224 1268463.471 0, 1325801.891 1268482.639 0,
+ 1326058.557 1268501.823 0, 1326315.222 1268521.022 0, 1326571.885 1268540.235 0, 1326828.548 1268559.464 0, 1327084.02 1268578.619 0, 1327341.87 1268597.968 0, 1327598.529 1268617.242 0, 1327855.187 1268636.531 0, 1328111.844 1268655.836 0, 1328368.5 1268675.155 0,
+ 1328625.154 1268694.49 0, 1328881.808 1268713.84 0, 1329138.46 1268733.205 0, 1329395.111 1268752.585 0, 1329651.761 1268771.98 0, 1329908.41 1268791.39 0, 1330165.058 1268810.815 0, 1330421.705 1268830.256 0, 1330678.35 1268849.711 0, 1330934.994 1268869.182 0,
+ 1331191.638 1268888.667 0, 1331448.28 1268908.168 0, 1331704.921 1268927.684 0, 1331961.56 1268947.215 0, 1332218.199 1268966.761 0, 1332474.836 1268986.323 0, 1332731.473 1269005.899 0, 1332988.108 1269025.49 0, 1333243.553 1269045.006 0, 1333668.765 1263481.467 0,
+ 1334093.986 1257917.811 0))
+
+POLYGON ((1345560.613 1270003.881 0, 1345305.222 1269983.643 0, 1345048.643 1269963.327 0, 1344792.063 1269943.025 0, 1344535.482 1269922.739 0, 1344278.899 1269902.468 0, 1344022.316 1269882.212 0, 1343765.731 1269861.971 0, 1343509.145 1269841.745 0, 1343252.558 1269821.534 0,
+ 1342995.97 1269801.339 0, 1342739.38 1269781.158 0, 1342482.79 1269760.993 0, 1342226.198 1269740.843 0, 1341969.605 1269720.707 0, 1341713.01 1269700.587 0, 1341456.415 1269680.482 0, 1341199.818 1269660.392 0, 1340943.221 1269640.318 0, 1340686.622 1269620.258 0,
+ 1340430.021 1269600.213 0, 1340173.42 1269580.184 0, 1339916.818 1269560.169 0, 1339660.214 1269540.17 0, 1339402.422 1269520.094 0, 1339147.003 1269500.217 0, 1338890.396 1269480.263 0, 1338633.787 1269460.324 0, 1338377.178 1269440.4 0, 1338120.567 1269420.492 0,
+ 1337863.955 1269400.598 0, 1337607.342 1269380.72 0, 1337350.728 1269360.856 0, 1337094.113 1269341.008 0, 1336837.496 1269321.175 0, 1336580.878 1269301.357 0, 1336324.259 1269281.554 0, 1336067.639 1269261.766 0, 1335811.018 1269241.993 0, 1335554.396 1269222.236 0,
+ 1335297.772 1269202.493 0, 1335041.147 1269182.766 0, 1334784.521 1269163.054 0, 1334527.894 1269143.356 0, 1334271.266 1269123.674 0, 1334014.637 1269104.007 0, 1333758.006 1269084.355 0, 1333501.375 1269064.719 0, 1333243.553 1269045.006 0, 1332818.351 1274608.425 0,
+ 1332393.158 1280171.718 0, 1332650.321 1280191.38 0, 1332906.298 1280210.967 0, 1333162.273 1280230.569 0, 1333418.248 1280250.186 0, 1333674.221 1280269.817 0, 1333930.193 1280289.464 0, 1334186.164 1280309.126 0, 1334442.134 1280328.803 0, 1334698.103 1280348.496 0,
+ 1334954.071 1280368.203 0, 1335210.037 1280387.925 0, 1335466.002 1280407.662 0, 1335721.966 1280427.415 0, 1335977.929 1280447.182 0, 1336233.891 1280466.965 0, 1336489.851 1280486.762 0, 1336745.811 1280506.575 0, 1337001.769 1280526.403 0, 1337257.726 1280546.246 0,
+ 1337513.682 1280566.103 0, 1337769.637 1280585.976 0, 1338025.59 1280605.864 0, 1338281.543 1280625.767 0, 1338536.309 1280645.593 0, 1338793.444 1280665.619 0, 1339049.393 1280685.567 0, 1339305.34 1280705.53 0, 1339561.287 1280725.509 0, 1339817.232 1280745.502 0,
+ 1340073.176 1280765.51 0, 1340329.119 1280785.534 0, 1340585.061 1280805.573 0, 1340841.002 1280825.626 0, 1341096.941 1280845.695 0, 1341352.88 1280865.779 0, 1341608.817 1280885.878 0, 1341864.752 1280905.992 0, 1342120.687 1280926.121 0, 1342376.621 1280946.265 0,
+ 1342632.553 1280966.424 0, 1342888.484 1280986.598 0, 1343144.414 1281006.787 0, 1343400.343 1281026.992 0, 1343656.271 1281047.211 0, 1343912.197 1281067.446 0, 1344168.122 1281087.695 0, 1344424.046 1281107.96 0, 1344678.786 1281128.146 0, 1345119.694 1275566.076 0,
+ 1345560.613 1270003.881 0))
+
+POLYGON ((1356961.663 1282119.278 0, 1356706.979 1282098.373 0, 1356451.113 1282077.385 0, 1356195.246 1282056.413 0, 1355939.378 1282035.455 0, 1355683.509 1282014.513 0, 1355427.638 1281993.586 0, 1355171.766 1281972.673 0, 1354915.893 1281951.776 0, 1354660.019 1281930.894 0,
+ 1354404.143 1281910.027 0, 1354148.266 1281889.175 0, 1353892.388 1281868.338 0, 1353636.509 1281847.516 0, 1353380.629 1281826.709 0, 1353124.747 1281805.918 0, 1352868.864 1281785.141 0, 1352612.98 1281764.379 0, 1352357.094 1281743.633 0, 1352101.208 1281722.901 0,
+ 1351845.32 1281702.185 0, 1351589.431 1281681.483 0, 1351333.541 1281660.797 0, 1351077.649 1281640.126 0, 1350820.574 1281619.374 0, 1350565.862 1281598.829 0, 1350309.967 1281578.202 0, 1350054.071 1281557.591 0, 1349798.173 1281536.995 0, 1349542.275 1281516.415 0,
+ 1349286.375 1281495.849 0, 1349030.473 1281475.298 0, 1348774.571 1281454.762 0, 1348518.667 1281434.242 0, 1348262.763 1281413.736 0, 1348006.857 1281393.246 0, 1347750.949 1281372.77 0, 1347495.041 1281352.31 0, 1347239.131 1281331.864 0, 1346983.22 1281311.434 0,
+ 1346727.308 1281291.019 0, 1346471.395 1281270.619 0, 1346215.481 1281250.234 0, 1345959.565 1281229.864 0, 1345703.648 1281209.509 0, 1345447.73 1281189.169 0, 1345191.811 1281168.844 0, 1344935.891 1281148.534 0, 1344678.786 1281128.146 0, 1344237.887 1286690.085 0,
+ 1343797 1292251.888 0, 1344053.447 1292272.225 0, 1344308.713 1292292.483 0, 1344563.977 1292312.755 0, 1344819.241 1292333.043 0, 1345074.503 1292353.346 0, 1345329.764 1292373.664 0, 1345585.023 1292393.997 0, 1345840.282 1292414.345 0, 1346095.539 1292434.708 0,
+ 1346350.795 1292455.086 0, 1346606.05 1292475.479 0, 1346861.304 1292495.887 0, 1347116.557 1292516.31 0, 1347371.808 1292536.748 0, 1347627.058 1292557.201 0, 1347882.307 1292577.67 0, 1348137.555 1292598.153 0, 1348392.801 1292618.651 0, 1348648.047 1292639.164 0,
+ 1348903.291 1292659.692 0, 1349158.534 1292680.236 0, 1349413.775 1292700.794 0, 1349669.016 1292721.367 0, 1349923.076 1292741.86 0, 1350179.493 1292762.559 0, 1350434.73 1292783.177 0, 1350689.966 1292803.811 0, 1350945.2 1292824.459 0, 1351200.433 1292845.123 0,
+ 1351455.665 1292865.801 0, 1351710.896 1292886.495 0, 1351966.126 1292907.203 0, 1352221.354 1292927.927 0, 1352476.581 1292948.665 0, 1352731.807 1292969.419 0, 1352987.032 1292990.187 0, 1353242.255 1293010.971 0, 1353497.477 1293031.77 0, 1353752.698 1293052.583 0,
+ 1354007.918 1293073.412 0, 1354263.136 1293094.256 0, 1354518.354 1293115.114 0, 1354773.57 1293135.988 0, 1355028.785 1293156.877 0, 1355283.998 1293177.781 0, 1355539.211 1293198.7 0, 1355794.422 1293219.633 0, 1356048.454 1293240.486 0, 1356505.053 1287679.95 0,
+ 1356961.663 1282119.278 0))
+
+POLYGON ((1368297.066 1294263.691 0, 1368043.092 1294242.121 0, 1367787.941 1294220.467 0, 1367532.789 1294198.827 0, 1367277.635 1294177.202 0, 1367022.48 1294155.592 0, 1366767.324 1294133.998 0, 1366512.167 1294112.418 0, 1366257.008 1294090.853 0, 1366001.848 1294069.304 0,
+ 1365746.687 1294047.769 0, 1365491.525 1294026.249 0, 1365236.361 1294004.745 0, 1364981.196 1293983.255 0, 1364726.03 1293961.781 0, 1364470.862 1293940.321 0, 1364215.694 1293918.877 0, 1363960.523 1293897.447 0, 1363705.352 1293876.033 0, 1363450.18 1293854.633 0,
+ 1363195.006 1293833.249 0, 1362939.831 1293811.879 0, 1362684.654 1293790.525 0, 1362429.477 1293769.186 0, 1362173.121 1293747.763 0, 1361919.118 1293726.552 0, 1361663.937 1293705.258 0, 1361408.754 1293683.978 0, 1361153.57 1293662.714 0, 1360898.385 1293641.465 0,
+ 1360643.199 1293620.23 0, 1360388.011 1293599.011 0, 1360132.822 1293577.807 0, 1359877.632 1293556.618 0, 1359622.441 1293535.444 0, 1359367.248 1293514.284 0, 1359112.055 1293493.14 0, 1358856.859 1293472.011 0, 1358601.663 1293450.897 0, 1358346.466 1293429.798 0,
+ 1358091.267 1293408.714 0, 1357836.067 1293387.645 0, 1357580.865 1293366.591 0, 1357325.663 1293345.552 0, 1357070.459 1293324.528 0, 1356815.254 1293303.519 0, 1356560.048 1293282.525 0, 1356304.841 1293261.546 0, 1356048.454 1293240.486 0, 1355591.867 1298800.881 0,
+ 1355135.291 1304361.131 0, 1355391.02 1304382.138 0, 1355645.573 1304403.063 0, 1355900.125 1304424.003 0, 1356154.675 1304444.958 0, 1356409.225 1304465.928 0, 1356663.773 1304486.913 0, 1356918.319 1304507.913 0, 1357172.865 1304528.928 0, 1357427.409 1304549.958 0,
+ 1357681.952 1304571.003 0, 1357936.494 1304592.063 0, 1358191.035 1304613.138 0, 1358445.574 1304634.228 0, 1358700.112 1304655.333 0, 1358954.649 1304676.452 0, 1359209.184 1304697.587 0, 1359463.719 1304718.737 0, 1359718.252 1304739.902 0, 1359972.784 1304761.082 0,
+ 1360227.314 1304782.277 0, 1360481.844 1304803.486 0, 1360736.372 1304824.711 0, 1360990.899 1304845.951 0, 1361244.251 1304867.107 0, 1361499.949 1304888.475 0, 1361754.472 1304909.76 0, 1362008.994 1304931.059 0, 1362263.514 1304952.374 0, 1362518.034 1304973.704 0,
+ 1362772.552 1304995.048 0, 1363027.069 1305016.408 0, 1363281.584 1305037.782 0, 1363536.098 1305059.172 0, 1363790.612 1305080.576 0, 1364045.123 1305101.996 0, 1364299.634 1305123.43 0, 1364554.143 1305144.88 0, 1364808.651 1305166.344 0, 1365063.158 1305187.824 0,
+ 1365317.663 1305209.318 0, 1365572.168 1305230.827 0, 1365826.671 1305252.352 0, 1366081.172 1305273.891 0, 1366335.673 1305295.445 0, 1366590.172 1305317.015 0, 1366844.67 1305338.599 0, 1367099.166 1305360.198 0, 1367352.489 1305381.713 0, 1367824.771 1299822.775 0,
+ 1368297.066 1294263.691 0))
+
+POLYGON ((823039.281 813203.75 0, 822757.218 813214.123 0, 822473.755 813224.563 0, 822190.293 813235.02 0, 821906.832 813245.494 0, 821623.372 813255.985 0, 821339.912 813266.492 0, 821056.452 813277.016 0, 820772.994 813287.556 0, 820489.536 813298.114 0,
+ 820206.078 813308.688 0, 819922.621 813319.278 0, 819639.165 813329.886 0, 819355.709 813340.51 0, 819072.254 813351.15 0, 818788.8 813361.808 0, 818505.346 813372.482 0, 818221.893 813383.173 0, 817938.441 813393.88 0, 817654.989 813404.604 0,
+ 817371.538 813415.345 0, 817088.087 813426.103 0, 816804.637 813436.877 0, 816521.188 813447.668 0, 816236.339 813458.529 0, 815954.291 813469.299 0, 815670.844 813480.14 0, 815387.397 813490.998 0, 815103.951 813501.872 0, 814820.506 813512.763 0,
+ 814537.061 813523.671 0, 814253.617 813534.595 0, 813970.173 813545.536 0, 813686.73 813556.494 0, 813403.288 813567.468 0, 813119.847 813578.459 0, 812836.406 813589.467 0, 812552.965 813600.491 0, 812269.526 813611.532 0, 811986.087 813622.59 0,
+ 811702.648 813633.665 0, 811419.211 813644.756 0, 811135.774 813655.864 0, 810852.337 813666.988 0, 810568.901 813678.129 0, 810285.466 813689.287 0, 810002.032 813700.462 0, 809718.598 813711.653 0, 809433.763 813722.916 0, 809654.222 819293.828 0,
+ 809874.69 824864.954 0, 810158.866 824853.717 0, 810441.643 824842.552 0, 810724.422 824831.403 0, 811007.201 824820.271 0, 811289.981 824809.156 0, 811572.762 824798.057 0, 811855.543 824786.975 0, 812138.325 824775.909 0, 812421.108 824764.86 0,
+ 812703.891 824753.828 0, 812986.675 824742.813 0, 813269.459 824731.814 0, 813552.244 824720.831 0, 813835.03 824709.866 0, 814117.816 824698.917 0, 814400.603 824687.984 0, 814683.391 824677.069 0, 814966.18 824666.17 0, 815248.969 824655.287 0,
+ 815531.758 824644.422 0, 815814.548 824633.572 0, 816097.339 824622.74 0, 816380.131 824611.924 0, 816661.525 824601.178 0, 816945.716 824590.342 0, 817228.509 824579.577 0, 817511.303 824568.827 0, 817794.098 824558.095 0, 818076.893 824547.379 0,
+ 818359.689 824536.679 0, 818642.486 824525.997 0, 818925.283 824515.331 0, 819208.081 824504.681 0, 819490.88 824494.049 0, 819773.679 824483.433 0, 820056.479 824472.833 0, 820339.279 824462.25 0, 820622.08 824451.684 0, 820904.881 824441.135 0,
+ 821187.684 824430.602 0, 821470.487 824420.086 0, 821753.29 824409.586 0, 822036.094 824399.103 0, 822318.899 824388.637 0, 822601.704 824378.187 0, 822884.51 824367.754 0, 823167.317 824357.338 0, 823448.727 824346.99 0, 823244 818775.263 0,
+ 823039.281 813203.75 0))
+
+POLYGON ((837024.174 823867.376 0, 836742.733 823876.929 0, 836459.898 823886.546 0, 836177.064 823896.18 0, 835894.23 823905.831 0, 835611.397 823915.498 0, 835328.564 823925.182 0, 835045.732 823934.883 0, 834762.901 823944.6 0, 834480.07 823954.334 0,
+ 834197.24 823964.084 0, 833914.41 823973.851 0, 833631.581 823983.635 0, 833348.752 823993.436 0, 833065.925 824003.253 0, 832783.097 824013.087 0, 832500.27 824022.937 0, 832217.444 824032.804 0, 831934.618 824042.688 0, 831651.793 824052.588 0,
+ 831368.969 824062.505 0, 831086.145 824072.438 0, 830803.322 824082.389 0, 830520.499 824092.356 0, 830236.281 824102.388 0, 829954.855 824112.339 0, 829672.034 824122.356 0, 829389.214 824132.39 0, 829106.394 824142.44 0, 828823.575 824152.507 0,
+ 828540.756 824162.59 0, 828257.938 824172.69 0, 827975.121 824182.807 0, 827692.304 824192.94 0, 827409.488 824203.09 0, 827126.672 824213.257 0, 826843.857 824223.44 0, 826561.043 824233.64 0, 826278.229 824243.857 0, 825995.416 824254.09 0,
+ 825712.603 824264.34 0, 825429.791 824274.606 0, 825146.979 824284.89 0, 824864.169 824295.189 0, 824581.358 824305.506 0, 824298.549 824315.839 0, 824015.74 824326.189 0, 823732.931 824336.555 0, 823448.727 824346.99 0, 823653.462 829918.927 0,
+ 823858.204 835491.071 0, 824141.75 835480.661 0, 824423.902 835470.318 0, 824706.055 835459.992 0, 824988.209 835449.683 0, 825270.363 835439.391 0, 825552.518 835429.115 0, 825834.674 835418.856 0, 826116.83 835408.613 0, 826398.986 835398.387 0,
+ 826681.144 835388.177 0, 826963.301 835377.984 0, 827245.46 835367.808 0, 827527.619 835357.648 0, 827809.779 835347.505 0, 828091.939 835337.379 0, 828374.1 835327.269 0, 828656.261 835317.176 0, 828938.423 835307.099 0, 829220.586 835297.039 0,
+ 829502.749 835286.995 0, 829784.913 835276.969 0, 830067.078 835266.958 0, 830349.243 835256.965 0, 830630.016 835247.037 0, 830913.575 835237.027 0, 831195.741 835227.084 0, 831477.909 835217.156 0, 831760.077 835207.246 0, 832042.245 835197.352 0,
+ 832324.414 835187.475 0, 832606.584 835177.614 0, 832888.754 835167.77 0, 833170.925 835157.942 0, 833453.097 835148.131 0, 833735.269 835138.337 0, 834017.441 835128.559 0, 834299.614 835118.798 0, 834581.788 835109.054 0, 834863.962 835099.326 0,
+ 835146.137 835089.614 0, 835428.313 835079.92 0, 835710.489 835070.242 0, 835992.665 835060.58 0, 836274.842 835050.935 0, 836557.02 835041.307 0, 836839.199 835031.696 0, 837121.377 835022.101 0, 837402.166 835012.569 0, 837213.166 829439.869 0,
+ 837024.174 823867.376 0))
+
+POLYGON ((850947.424 834572.334 0, 850666.608 834581.072 0, 850384.403 834589.87 0, 850102.199 834598.684 0, 849819.995 834607.515 0, 849537.792 834616.363 0, 849255.589 834625.227 0, 848973.387 834634.108 0, 848691.185 834643.005 0, 848408.984 834651.919 0,
+ 848126.783 834660.85 0, 847844.583 834669.797 0, 847562.384 834678.761 0, 847280.185 834687.742 0, 846997.986 834696.739 0, 846715.788 834705.752 0, 846433.59 834714.783 0, 846151.394 834723.83 0, 845869.197 834732.893 0, 845587.001 834741.973 0,
+ 845304.806 834751.07 0, 845022.611 834760.183 0, 844740.417 834769.313 0, 844458.223 834778.46 0, 844174.639 834787.668 0, 843893.837 834796.803 0, 843611.645 834805.999 0, 843329.453 834815.212 0, 843047.262 834824.442 0, 842765.072 834833.688 0,
+ 842482.882 834842.951 0, 842200.692 834852.23 0, 841918.504 834861.526 0, 841636.315 834870.839 0, 841354.127 834880.168 0, 841071.94 834889.514 0, 840789.754 834898.877 0, 840507.567 834908.256 0, 840225.382 834917.652 0, 839943.197 834927.064 0,
+ 839661.012 834936.493 0, 839378.828 834945.938 0, 839096.645 834955.401 0, 838814.462 834964.879 0, 838532.28 834974.375 0, 838250.098 834983.887 0, 837967.917 834993.415 0, 837685.737 835002.96 0, 837402.166 835012.569 0, 837591.172 840585.473 0,
+ 837780.185 846158.575 0, 838063.097 846148.989 0, 838344.621 846139.466 0, 838626.146 846129.959 0, 838907.672 846120.47 0, 839189.198 846110.996 0, 839470.725 846101.54 0, 839752.252 846092.099 0, 840033.78 846082.676 0, 840315.308 846073.269 0,
+ 840596.837 846063.878 0, 840878.367 846054.504 0, 841159.897 846045.147 0, 841441.428 846035.806 0, 841722.959 846026.482 0, 842004.491 846017.175 0, 842286.023 846007.884 0, 842567.556 845998.609 0, 842849.089 845989.351 0, 843130.623 845980.11 0,
+ 843412.157 845970.885 0, 843693.692 845961.677 0, 843975.228 845952.486 0, 844256.764 845943.311 0, 844536.914 845934.197 0, 844819.838 845925.01 0, 845101.375 845915.885 0, 845382.914 845906.776 0, 845664.452 845897.684 0, 845945.992 845888.608 0,
+ 846227.532 845879.549 0, 846509.072 845870.507 0, 846790.613 845861.481 0, 847072.154 845852.472 0, 847353.696 845843.479 0, 847635.239 845834.503 0, 847916.782 845825.543 0, 848198.325 845816.6 0, 848479.869 845807.674 0, 848761.414 845798.764 0,
+ 849042.959 845789.87 0, 849324.505 845780.994 0, 849606.051 845772.134 0, 849887.597 845763.29 0, 850169.145 845754.463 0, 850450.692 845745.652 0, 850732.241 845736.859 0, 851013.789 845728.081 0, 851293.953 845719.364 0, 851120.685 840145.749 0,
+ 850947.424 834572.334 0))
+
+POLYGON ((864808.907 845318.332 0, 864528.718 845326.259 0, 864247.146 845334.24 0, 863965.574 845342.239 0, 863684.002 845350.254 0, 863402.431 845358.285 0, 863120.861 845366.334 0, 862839.291 845374.398 0, 862557.721 845382.48 0, 862276.152 845390.577 0,
+ 861994.584 845398.692 0, 861713.015 845406.823 0, 861431.448 845414.97 0, 861149.881 845423.135 0, 860868.314 845431.315 0, 860586.748 845439.513 0, 860305.182 845447.727 0, 860023.617 845455.957 0, 859742.052 845464.204 0, 859460.487 845472.468 0,
+ 859178.924 845480.748 0, 858897.36 845489.044 0, 858615.797 845497.358 0, 858334.235 845505.688 0, 858051.288 845514.075 0, 857771.112 845522.397 0, 857489.551 845530.777 0, 857207.991 845539.173 0, 856926.431 845547.586 0, 856644.871 845556.015 0,
+ 856363.313 845564.461 0, 856081.754 845572.923 0, 855800.196 845581.402 0, 855518.639 845589.898 0, 855237.082 845598.41 0, 854955.526 845606.939 0, 854673.97 845615.484 0, 854392.414 845624.046 0, 854110.859 845632.624 0, 853829.305 845641.22 0,
+ 853547.751 845649.831 0, 853266.198 845658.459 0, 852984.645 845667.104 0, 852703.093 845675.765 0, 852421.541 845684.443 0, 852139.989 845693.138 0, 851858.439 845701.849 0, 851576.888 845710.576 0, 851293.953 845719.364 0, 851467.226 851293.174 0,
+ 851640.505 856867.176 0, 851922.782 856858.409 0, 852203.676 856849.702 0, 852484.57 856841.011 0, 852765.466 856832.337 0, 853046.361 856823.679 0, 853327.257 856815.038 0, 853608.154 856806.414 0, 853889.051 856797.806 0, 854169.949 856789.214 0,
+ 854450.847 856780.639 0, 854731.746 856772.081 0, 855012.645 856763.539 0, 855293.545 856755.013 0, 855574.445 856746.504 0, 855855.346 856738.012 0, 856136.247 856729.536 0, 856417.149 856721.077 0, 856698.051 856712.634 0, 856978.954 856704.208 0,
+ 857259.857 856695.798 0, 857540.761 856687.405 0, 857821.665 856679.029 0, 858102.57 856670.669 0, 858382.093 856662.366 0, 858664.381 856653.998 0, 858945.287 856645.688 0, 859226.193 856637.394 0, 859507.101 856629.116 0, 859788.008 856620.855 0,
+ 860068.916 856612.611 0, 860349.825 856604.383 0, 860630.734 856596.172 0, 860911.644 856587.977 0, 861192.554 856579.799 0, 861473.464 856571.637 0, 861754.375 856563.492 0, 862035.287 856555.364 0, 862316.199 856547.252 0, 862597.111 856539.156 0,
+ 862878.024 856531.077 0, 863158.938 856523.015 0, 863439.851 856514.969 0, 863720.766 856506.939 0, 864001.681 856498.926 0, 864282.596 856490.93 0, 864563.512 856482.95 0, 864844.428 856474.987 0, 865123.964 856467.079 0, 864966.433 850892.61 0,
+ 864808.907 845318.332 0))
+
+POLYGON ((878608.499 856105.077 0, 878328.94 856112.195 0, 878048.002 856119.365 0, 877767.065 856126.551 0, 877486.128 856133.754 0, 877205.192 856140.973 0, 876924.256 856148.209 0, 876643.32 856155.461 0, 876362.385 856162.73 0, 876081.451 856170.015 0,
+ 875800.517 856177.317 0, 875519.583 856184.635 0, 875238.649 856191.97 0, 874957.717 856199.322 0, 874676.784 856206.69 0, 874395.852 856214.074 0, 874114.92 856221.475 0, 873833.989 856228.893 0, 873553.059 856236.327 0, 873272.128 856243.778 0,
+ 872991.198 856251.245 0, 872710.269 856258.729 0, 872429.34 856266.229 0, 872148.411 856273.746 0, 871866.104 856281.316 0, 871586.556 856288.829 0, 871305.629 856296.396 0, 871024.702 856303.979 0, 870743.775 856311.578 0, 870462.85 856319.194 0,
+ 870181.924 856326.827 0, 869900.999 856334.476 0, 869620.075 856342.141 0, 869339.151 856349.824 0, 869058.227 856357.522 0, 868777.304 856365.238 0, 868496.381 856372.969 0, 868215.459 856380.718 0, 867934.537 856388.482 0, 867653.616 856396.264 0,
+ 867372.695 856404.062 0, 867091.775 856411.876 0, 866810.855 856419.707 0, 866529.935 856427.555 0, 866249.016 856435.419 0, 865968.097 856443.299 0, 865687.179 856451.196 0, 865406.262 856459.11 0, 865123.964 856467.079 0, 865281.5 862041.737 0,
+ 865439.042 867616.579 0, 865720.68 867608.629 0, 866000.942 867600.733 0, 866281.203 867592.855 0, 866561.466 867584.993 0, 866841.728 867577.147 0, 867121.992 867569.318 0, 867402.255 867561.505 0, 867682.52 867553.709 0, 867962.784 867545.929 0,
+ 868243.049 867538.166 0, 868523.315 867530.419 0, 868803.581 867522.689 0, 869083.847 867514.975 0, 869364.114 867507.278 0, 869644.382 867499.597 0, 869924.649 867491.933 0, 870204.918 867484.285 0, 870485.186 867476.654 0, 870765.456 867469.039 0,
+ 871045.725 867461.441 0, 871325.995 867453.859 0, 871606.266 867446.294 0, 871886.537 867438.745 0, 872165.431 867431.25 0, 872447.08 867423.697 0, 872727.352 867416.198 0, 873007.625 867408.715 0, 873287.898 867401.249 0, 873568.172 867393.799 0,
+ 873848.446 867386.366 0, 874128.72 867378.949 0, 874408.995 867371.549 0, 874689.27 867364.165 0, 874969.546 867356.798 0, 875249.822 867349.447 0, 875530.099 867342.113 0, 875810.376 867334.795 0, 876090.653 867327.494 0, 876370.931 867320.209 0,
+ 876651.21 867312.941 0, 876931.488 867305.689 0, 877211.768 867298.453 0, 877492.047 867291.235 0, 877772.327 867284.032 0, 878052.608 867276.846 0, 878332.889 867269.677 0, 878613.17 867262.524 0, 878892.076 867255.423 0, 878750.285 861680.158 0,
+ 878608.499 856105.077 0))
+
+POLYGON ((892346.078 866932.275 0, 892067.15 866938.589 0, 891786.85 866944.95 0, 891506.55 866951.327 0, 891226.25 866957.721 0, 890945.951 866964.132 0, 890665.652 866970.559 0, 890385.353 866977.002 0, 890105.055 866983.462 0, 889824.758 866989.938 0,
+ 889544.46 866996.431 0, 889264.163 867002.941 0, 888983.867 867009.467 0, 888703.57 867016.009 0, 888423.274 867022.568 0, 888142.979 867029.144 0, 887862.684 867035.736 0, 887582.389 867042.344 0, 887302.095 867048.969 0, 887021.801 867055.61 0,
+ 886741.507 867062.268 0, 886461.214 867068.943 0, 886180.922 867075.634 0, 885900.629 867082.341 0, 885618.963 867089.098 0, 885340.046 867095.805 0, 885059.755 867102.562 0, 884779.464 867109.336 0, 884499.174 867116.126 0, 884218.884 867122.932 0,
+ 883938.594 867129.755 0, 883658.305 867136.594 0, 883378.016 867143.45 0, 883097.728 867150.322 0, 882817.44 867157.211 0, 882537.152 867164.117 0, 882256.865 867171.039 0, 881976.579 867177.977 0, 881696.292 867184.932 0, 881416.006 867191.903 0,
+ 881135.721 867198.891 0, 880855.436 867205.895 0, 880575.151 867212.916 0, 880294.867 867219.954 0, 880014.583 867227.008 0, 879734.3 867234.078 0, 879454.017 867241.165 0, 879173.734 867248.268 0, 878892.076 867255.423 0, 879033.872 872830.869 0,
+ 879175.672 878406.491 0, 879456.67 878399.353 0, 879736.296 878392.266 0, 880015.923 878385.196 0, 880295.55 878378.142 0, 880575.178 878371.105 0, 880854.805 878364.084 0, 881134.434 878357.08 0, 881414.063 878350.092 0, 881693.692 878343.12 0,
+ 881973.321 878336.165 0, 882252.951 878329.227 0, 882532.582 878322.304 0, 882812.212 878315.399 0, 883091.844 878308.51 0, 883371.475 878301.637 0, 883651.107 878294.781 0, 883930.74 878287.941 0, 884210.372 878281.117 0, 884490.006 878274.31 0,
+ 884769.639 878267.52 0, 885049.273 878260.746 0, 885328.908 878253.988 0, 885608.542 878247.247 0, 885886.806 878240.556 0, 886167.813 878233.815 0, 886447.449 878227.123 0, 886727.085 878220.448 0, 887006.722 878213.789 0, 887286.359 878207.146 0,
+ 887565.997 878200.521 0, 887845.635 878193.911 0, 888125.273 878187.318 0, 888404.912 878180.742 0, 888684.551 878174.182 0, 888964.191 878167.638 0, 889243.83 878161.111 0, 889523.471 878154.6 0, 889803.111 878148.106 0, 890082.752 878141.628 0,
+ 890362.394 878135.167 0, 890642.036 878128.722 0, 890921.678 878122.294 0, 891201.32 878115.882 0, 891480.963 878109.487 0, 891760.606 878103.108 0, 892040.25 878096.745 0, 892319.894 878090.399 0, 892598.168 878084.1 0, 892472.121 872508.099 0,
+ 892346.078 866932.275 0))
+
+POLYGON ((906021.522 877799.632 0, 905743.229 877805.144 0, 905463.568 877810.7 0, 905183.908 877816.273 0, 904904.247 877821.862 0, 904624.588 877827.467 0, 904344.928 877833.089 0, 904065.269 877838.727 0, 903785.61 877844.382 0, 903505.951 877850.053 0,
+ 903226.293 877855.741 0, 902946.635 877861.445 0, 902666.978 877867.166 0, 902387.321 877872.903 0, 902107.664 877878.656 0, 901828.007 877884.426 0, 901548.351 877890.213 0, 901268.695 877896.016 0, 900989.04 877901.835 0, 900709.385 877907.671 0,
+ 900429.73 877913.523 0, 900150.075 877919.392 0, 899870.421 877925.277 0, 899590.767 877931.179 0, 899309.745 877937.126 0, 899031.461 877943.031 0, 898751.808 877948.982 0, 898472.156 877954.95 0, 898192.504 877960.934 0, 897912.852 877966.934 0,
+ 897633.201 877972.951 0, 897353.55 877978.984 0, 897073.899 877985.034 0, 896794.249 877991.1 0, 896514.599 877997.183 0, 896234.949 878003.282 0, 895955.3 878009.398 0, 895675.651 878015.53 0, 895396.003 878021.679 0, 895116.355 878027.844 0,
+ 894836.707 878034.025 0, 894557.06 878040.223 0, 894277.413 878046.437 0, 893997.766 878052.668 0, 893718.12 878058.916 0, 893438.474 878065.179 0, 893158.829 878071.46 0, 892879.183 878077.756 0, 892598.168 878084.1 0, 892724.22 883660.274 0,
+ 892850.275 889236.618 0, 893130.63 889230.289 0, 893409.619 889224.007 0, 893688.608 889217.741 0, 893967.597 889211.492 0, 894246.587 889205.259 0, 894525.577 889199.043 0, 894804.568 889192.843 0, 895083.559 889186.66 0, 895362.55 889180.493 0,
+ 895641.542 889174.342 0, 895920.534 889168.208 0, 896199.526 889162.091 0, 896478.519 889155.989 0, 896757.512 889149.905 0, 897036.506 889143.836 0, 897315.5 889137.784 0, 897594.494 889131.748 0, 897873.488 889125.729 0, 898152.483 889119.727 0,
+ 898431.478 889113.74 0, 898710.474 889107.77 0, 898989.47 889101.817 0, 899268.466 889095.88 0, 899546.097 889089.988 0, 899826.46 889084.055 0, 900105.457 889078.167 0, 900384.455 889072.296 0, 900663.453 889066.441 0, 900942.451 889060.602 0,
+ 901221.45 889054.78 0, 901500.449 889048.974 0, 901779.448 889043.185 0, 902058.448 889037.412 0, 902337.448 889031.656 0, 902616.449 889025.916 0, 902895.449 889020.192 0, 903174.45 889014.485 0, 903453.452 889008.794 0, 903732.454 889003.12 0,
+ 904011.456 888997.462 0, 904290.458 888991.821 0, 904569.461 888986.195 0, 904848.464 888980.587 0, 905127.467 888974.995 0, 905406.471 888969.419 0, 905685.475 888963.859 0, 905964.48 888958.316 0, 906242.119 888952.817 0, 906131.819 883376.14 0,
+ 906021.522 877799.632 0))
+
+POLYGON ((919634.713 888706.852 0, 919357.056 888711.567 0, 919078.037 888716.322 0, 918799.019 888721.093 0, 918520 888725.88 0, 918240.982 888730.684 0, 917961.964 888735.505 0, 917682.947 888740.341 0, 917403.929 888745.195 0, 917124.913 888750.064 0,
+ 916845.896 888754.95 0, 916566.879 888759.853 0, 916287.863 888764.772 0, 916008.848 888769.707 0, 915729.832 888774.659 0, 915450.817 888779.627 0, 915171.802 888784.612 0, 914892.787 888789.613 0, 914613.773 888794.63 0, 914334.759 888799.664 0,
+ 914055.745 888804.714 0, 913776.732 888809.781 0, 913497.718 888814.864 0, 913218.706 888819.964 0, 912938.329 888825.105 0, 912660.681 888830.212 0, 912381.669 888835.361 0, 912102.657 888840.526 0, 911823.646 888845.708 0, 911544.635 888850.906 0,
+ 911265.624 888856.12 0, 910986.614 888861.351 0, 910707.604 888866.599 0, 910428.594 888871.863 0, 910149.584 888877.143 0, 909870.575 888882.439 0, 909591.566 888887.752 0, 909312.558 888893.082 0, 909033.549 888898.428 0, 908754.541 888903.79 0,
+ 908475.534 888909.169 0, 908196.527 888914.564 0, 907917.52 888919.976 0, 907638.513 888925.404 0, 907359.507 888930.848 0, 907080.501 888936.309 0, 906801.495 888941.786 0, 906522.489 888947.28 0, 906242.119 888952.817 0, 906352.423 894529.66 0,
+ 906462.73 900106.664 0, 906742.44 900101.14 0, 907020.789 900095.659 0, 907299.138 900090.195 0, 907577.488 900084.747 0, 907855.838 900079.315 0, 908134.188 900073.9 0, 908412.538 900068.501 0, 908690.889 900063.119 0, 908969.24 900057.752 0,
+ 909247.592 900052.403 0, 909525.943 900047.069 0, 909804.296 900041.753 0, 910082.648 900036.452 0, 910361.001 900031.168 0, 910639.354 900025.9 0, 910917.707 900020.649 0, 911196.06 900015.414 0, 911474.414 900010.195 0, 911752.769 900004.993 0,
+ 912031.123 899999.807 0, 912309.478 899994.637 0, 912587.833 899989.484 0, 912866.189 899984.348 0, 913143.184 899979.252 0, 913422.9 899974.123 0, 913701.257 899969.036 0, 913979.613 899963.965 0, 914257.97 899958.91 0, 914536.328 899953.871 0,
+ 914814.685 899948.849 0, 915093.043 899943.844 0, 915371.401 899938.854 0, 915649.759 899933.881 0, 915928.118 899928.925 0, 916206.477 899923.985 0, 916484.836 899919.061 0, 916763.196 899914.154 0, 917041.556 899909.263 0, 917319.916 899904.388 0,
+ 917598.277 899899.53 0, 917876.637 899894.688 0, 918154.998 899889.863 0, 918433.36 899885.054 0, 918711.721 899880.261 0, 918990.083 899875.485 0, 919268.445 899870.725 0, 919546.808 899865.981 0, 919823.811 899861.277 0, 919729.26 894283.984 0,
+ 919634.713 888706.852 0))
+
+POLYGON ((933185.531 899653.639 0, 932908.514 899657.561 0, 932630.139 899661.518 0, 932351.765 899665.491 0, 932073.39 899669.481 0, 931795.016 899673.487 0, 931516.643 899677.51 0, 931238.269 899681.549 0, 930959.896 899685.604 0, 930681.523 899689.676 0,
+ 930403.15 899693.764 0, 930124.777 899697.869 0, 929846.405 899701.99 0, 929568.033 899706.127 0, 929289.661 899710.281 0, 929011.289 899714.451 0, 928732.918 899718.637 0, 928454.547 899722.84 0, 928176.176 899727.059 0, 927897.805 899731.295 0,
+ 927619.435 899735.547 0, 927341.065 899739.815 0, 927062.695 899744.1 0, 926784.325 899748.401 0, 926504.598 899752.74 0, 926227.587 899757.053 0, 925949.218 899761.403 0, 925670.85 899765.769 0, 925392.481 899770.153 0, 925114.113 899774.552 0,
+ 924835.745 899778.968 0, 924557.378 899783.4 0, 924279.011 899787.849 0, 924000.644 899792.314 0, 923722.277 899796.795 0, 923443.91 899801.293 0, 923165.544 899805.807 0, 922887.178 899810.337 0, 922608.812 899814.884 0, 922330.447 899819.448 0,
+ 922052.082 899824.027 0, 921773.717 899828.623 0, 921495.352 899833.236 0, 921216.988 899837.864 0, 920938.624 899842.51 0, 920660.26 899847.171 0, 920381.896 899851.849 0, 920103.533 899856.544 0, 919823.811 899861.277 0, 919918.364 905438.729 0,
+ 920012.919 911016.334 0, 920291.982 911011.612 0, 920569.689 911006.928 0, 920847.396 911002.261 0, 921125.103 910997.611 0, 921402.811 910992.976 0, 921680.518 910988.359 0, 921958.226 910983.757 0, 922235.935 910979.172 0, 922513.643 910974.603 0,
+ 922791.352 910970.05 0, 923069.061 910965.514 0, 923346.771 910960.994 0, 923624.48 910956.491 0, 923902.19 910952.004 0, 924179.9 910947.533 0, 924457.611 910943.079 0, 924735.322 910938.64 0, 925013.033 910934.219 0, 925290.744 910929.813 0,
+ 925568.455 910925.424 0, 925846.167 910921.051 0, 926123.879 910916.695 0, 926401.591 910912.355 0, 926677.948 910908.052 0, 926957.017 910903.724 0, 927234.73 910899.433 0, 927512.443 910895.158 0, 927790.157 910890.9 0, 928067.87 910886.658 0,
+ 928345.584 910882.433 0, 928623.299 910878.223 0, 928901.013 910874.03 0, 929178.728 910869.854 0, 929456.443 910865.694 0, 929734.158 910861.55 0, 930011.874 910857.422 0, 930289.589 910853.311 0, 930567.305 910849.216 0, 930845.022 910845.138 0,
+ 931122.738 910841.075 0, 931400.455 910837.03 0, 931678.172 910833 0, 931955.889 910828.987 0, 932233.606 910824.99 0, 932511.324 910821.01 0, 932789.042 910817.046 0, 933066.76 910813.098 0, 933343.124 910809.186 0, 933264.326 905231.336 0,
+ 933185.531 899653.639 0))
+
+POLYGON ((946673.861 910639.699 0, 946397.485 910642.83 0, 946119.757 910645.993 0, 945842.029 910649.173 0, 945564.301 910652.368 0, 945286.573 910655.581 0, 945008.846 910658.809 0, 944731.119 910662.054 0, 944453.392 910665.315 0, 944175.665 910668.593 0,
+ 943897.938 910671.887 0, 943620.212 910675.197 0, 943342.485 910678.523 0, 943064.759 910681.866 0, 942787.033 910685.226 0, 942509.308 910688.601 0, 942231.582 910691.993 0, 941953.857 910695.401 0, 941676.132 910698.826 0, 941398.407 910702.267 0,
+ 941120.682 910705.724 0, 940842.958 910709.198 0, 940565.234 910712.688 0, 940287.51 910716.195 0, 940008.433 910719.735 0, 939732.062 910723.256 0, 939454.339 910726.812 0, 939176.616 910730.384 0, 938898.893 910733.972 0, 938621.17 910737.576 0,
+ 938343.447 910741.197 0, 938065.725 910744.834 0, 937788.003 910748.488 0, 937510.281 910752.157 0, 937232.559 910755.844 0, 936954.838 910759.546 0, 936677.116 910763.265 0, 936399.395 910767 0, 936121.674 910770.752 0, 935843.954 910774.52 0,
+ 935566.233 910778.304 0, 935288.513 910782.105 0, 935010.793 910785.922 0, 934733.074 910789.755 0, 934455.354 910793.605 0, 934177.635 910797.471 0, 933899.916 910801.353 0, 933622.197 910805.252 0, 933343.124 910809.186 0, 933421.924 916387.186 0,
+ 933500.725 921965.332 0, 933779.139 921961.408 0, 934056.201 921957.518 0, 934333.263 921953.645 0, 934610.326 921949.788 0, 934887.389 921945.947 0, 935164.452 921942.123 0, 935441.515 921938.315 0, 935718.579 921934.524 0, 935995.642 921930.748 0,
+ 936272.706 921926.989 0, 936549.771 921923.247 0, 936826.835 921919.52 0, 937103.9 921915.81 0, 937380.964 921912.116 0, 937658.03 921908.439 0, 937935.095 921904.778 0, 938212.16 921901.133 0, 938489.226 921897.504 0, 938766.292 921893.892 0,
+ 939043.358 921890.296 0, 939320.424 921886.716 0, 939597.491 921883.153 0, 939874.558 921879.606 0, 940150.275 921876.093 0, 940428.692 921872.561 0, 940705.759 921869.063 0, 940982.827 921865.581 0, 941259.895 921862.116 0, 941536.963 921858.666 0,
+ 941814.031 921855.234 0, 942091.099 921851.817 0, 942368.168 921848.417 0, 942645.237 921845.033 0, 942922.306 921841.665 0, 943199.375 921838.314 0, 943476.445 921834.979 0, 943753.514 921831.66 0, 944030.584 921828.358 0, 944307.654 921825.072 0,
+ 944584.724 921821.802 0, 944861.795 921818.548 0, 945138.865 921815.311 0, 945415.936 921812.09 0, 945693.007 921808.886 0, 945970.078 921805.698 0, 946247.149 921802.526 0, 946524.221 921799.37 0, 946799.943 921796.246 0, 946736.901 916217.899 0,
+ 946673.861 910639.699 0))
+
+POLYGON ((960099.586 921664.733 0, 959823.854 921667.078 0, 959546.774 921669.451 0, 959269.695 921671.84 0, 958992.616 921674.245 0, 958715.537 921676.667 0, 958438.458 921679.105 0, 958161.38 921681.56 0, 957884.301 921684.03 0, 957607.223 921686.517 0,
+ 957330.145 921689.021 0, 957053.067 921691.54 0, 956775.989 921694.076 0, 956498.911 921696.628 0, 956221.834 921699.197 0, 955944.756 921701.782 0, 955667.679 921704.383 0, 955390.602 921707 0, 955113.525 921709.634 0, 954836.448 921712.284 0,
+ 954559.371 921714.951 0, 954282.295 921717.633 0, 954005.218 921720.332 0, 953728.142 921723.048 0, 953449.718 921725.793 0, 953173.99 921728.527 0, 952896.915 921731.291 0, 952619.839 921734.072 0, 952342.764 921736.869 0, 952065.689 921739.682 0,
+ 951788.614 921742.511 0, 951511.539 921745.357 0, 951234.464 921748.219 0, 950957.39 921751.098 0, 950680.315 921753.992 0, 950403.241 921756.903 0, 950126.167 921759.831 0, 949849.093 921762.774 0, 949572.019 921765.734 0, 949294.946 921768.711 0,
+ 949017.873 921771.703 0, 948740.799 921774.712 0, 948463.726 921777.737 0, 948186.654 921780.779 0, 947909.581 921783.836 0, 947632.509 921786.911 0, 947355.436 921790.001 0, 947078.364 921793.108 0, 946799.943 921796.246 0, 946862.987 927374.735 0,
+ 946926.032 932953.362 0, 947203.794 932950.231 0, 947480.209 932947.132 0, 947756.624 932944.049 0, 948033.04 932940.982 0, 948309.456 932937.931 0, 948585.872 932934.897 0, 948862.288 932931.879 0, 949138.705 932928.877 0, 949415.122 932925.892 0,
+ 949691.538 932922.923 0, 949967.955 932919.97 0, 950244.373 932917.033 0, 950520.79 932914.113 0, 950797.207 932911.209 0, 951073.625 932908.321 0, 951350.043 932905.449 0, 951626.461 932902.594 0, 951902.879 932899.755 0, 952179.297 932896.932 0,
+ 952455.716 932894.126 0, 952732.135 932891.335 0, 953008.553 932888.561 0, 953284.972 932885.804 0, 953560.047 932883.076 0, 953837.811 932880.337 0, 954114.23 932877.628 0, 954390.65 932874.936 0, 954667.07 932872.259 0, 954943.49 932869.599 0,
+ 955219.91 932866.956 0, 955496.33 932864.328 0, 955772.751 932861.717 0, 956049.171 932859.122 0, 956325.592 932856.543 0, 956602.013 932853.981 0, 956878.434 932851.434 0, 957154.855 932848.904 0, 957431.276 932846.391 0, 957707.698 932843.893 0,
+ 957984.119 932841.412 0, 958260.541 932838.947 0, 958536.963 932836.499 0, 958813.385 932834.067 0, 959089.807 932831.651 0, 959366.23 932829.251 0, 959642.652 932826.867 0, 959919.075 932824.5 0, 960194.154 932822.161 0, 960146.869 927243.378 0,
+ 960099.586 921664.733 0))
+
+POLYGON ((973462.593 932728.445 0, 973187.506 932730.007 0, 972911.078 932731.593 0, 972634.65 932733.196 0, 972358.222 932734.815 0, 972081.794 932736.45 0, 971805.366 932738.101 0, 971528.938 932739.769 0, 971252.511 932741.452 0, 970976.083 932743.153 0,
+ 970699.656 932744.869 0, 970423.228 932746.602 0, 970146.801 932748.351 0, 969870.374 932750.116 0, 969593.947 932751.897 0, 969317.52 932753.695 0, 969041.093 932755.509 0, 968764.667 932757.34 0, 968488.24 932759.186 0, 968211.813 932761.049 0,
+ 967935.387 932762.928 0, 967658.961 932764.824 0, 967382.535 932766.735 0, 967106.109 932768.663 0, 966828.34 932770.617 0, 966553.257 932772.568 0, 966276.831 932774.545 0, 966000.406 932776.538 0, 965723.98 932778.547 0, 965447.555 932780.572 0,
+ 965171.13 932782.614 0, 964894.705 932784.672 0, 964618.28 932786.747 0, 964341.855 932788.837 0, 964065.43 932790.944 0, 963789.005 932793.067 0, 963512.581 932795.207 0, 963236.157 932797.363 0, 962959.732 932799.535 0, 962683.308 932801.723 0,
+ 962406.884 932803.927 0, 962130.461 932806.148 0, 961854.037 932808.385 0, 961577.613 932810.638 0, 961301.19 932812.908 0, 961024.767 932815.194 0, 960748.343 932817.496 0, 960471.92 932819.815 0, 960194.154 932822.161 0, 960241.439 938401.078 0,
+ 960288.726 943980.126 0, 960565.833 943977.785 0, 960841.599 943975.472 0, 961117.365 943973.176 0, 961393.132 943970.895 0, 961668.899 943968.631 0, 961944.665 943966.383 0, 962220.432 943964.151 0, 962496.2 943961.936 0, 962771.967 943959.736 0,
+ 963047.734 943957.553 0, 963323.502 943955.387 0, 963599.269 943953.236 0, 963875.037 943951.102 0, 964150.805 943948.984 0, 964426.573 943946.882 0, 964702.341 943944.796 0, 964978.109 943942.727 0, 965253.877 943940.673 0, 965529.646 943938.636 0,
+ 965805.415 943936.616 0, 966081.183 943934.611 0, 966356.952 943932.623 0, 966632.721 943930.651 0, 966907.15 943928.704 0, 967184.259 943926.755 0, 967460.029 943924.832 0, 967735.798 943922.925 0, 968011.567 943921.034 0, 968287.337 943919.159 0,
+ 968563.107 943917.301 0, 968838.877 943915.459 0, 969114.647 943913.633 0, 969390.417 943911.823 0, 969666.187 943910.03 0, 969941.957 943908.252 0, 970217.727 943906.491 0, 970493.498 943904.746 0, 970769.268 943903.018 0, 971045.039 943901.305 0,
+ 971320.81 943899.609 0, 971596.581 943897.929 0, 971872.352 943896.266 0, 972148.123 943894.618 0, 972423.894 943892.987 0, 972699.665 943891.372 0, 972975.437 943889.774 0, 973251.208 943888.191 0, 973525.641 943886.632 0, 973494.116 938307.473 0,
+ 973462.593 932728.445 0))
+
+POLYGON ((986762.768 943830.536 0, 986488.329 943831.319 0, 986212.554 943832.123 0, 985936.78 943832.942 0, 985661.005 943833.778 0, 985385.23 943834.63 0, 985109.456 943835.499 0, 984833.681 943836.383 0, 984557.907 943837.284 0, 984282.132 943838.201 0,
+ 984006.358 943839.134 0, 983730.583 943840.084 0, 983454.809 943841.049 0, 983179.035 943842.031 0, 982903.261 943843.029 0, 982627.486 943844.044 0, 982351.712 943845.074 0, 982075.938 943846.121 0, 981800.164 943847.184 0, 981524.391 943848.264 0,
+ 981248.617 943849.359 0, 980972.843 943850.471 0, 980697.069 943851.599 0, 980421.296 943852.743 0, 980144.185 943853.909 0, 979869.749 943855.081 0, 979593.975 943856.273 0, 979318.202 943857.483 0, 979042.429 943858.708 0, 978766.655 943859.95 0,
+ 978490.882 943861.208 0, 978215.109 943862.482 0, 977939.336 943863.772 0, 977663.563 943865.079 0, 977387.791 943866.401 0, 977112.018 943867.74 0, 976836.245 943869.096 0, 976560.473 943870.467 0, 976284.7 943871.855 0, 976008.928 943873.259 0,
+ 975733.155 943874.679 0, 975457.383 943876.115 0, 975181.611 943877.568 0, 974905.839 943879.037 0, 974630.067 943880.522 0, 974354.295 943882.023 0, 974078.523 943883.541 0, 973802.751 943885.075 0, 973525.641 943886.632 0, 973557.167 949465.918 0,
+ 973588.693 955045.326 0, 973865.143 955043.772 0, 974140.258 955042.242 0, 974415.373 955040.728 0, 974690.488 955039.23 0, 974965.603 955037.748 0, 975240.718 955036.283 0, 975515.834 955034.834 0, 975790.949 955033.401 0, 976066.065 955031.984 0,
+ 976341.18 955030.583 0, 976616.296 955029.199 0, 976891.412 955027.831 0, 977166.528 955026.479 0, 977441.644 955025.143 0, 977716.76 955023.823 0, 977991.876 955022.52 0, 978266.992 955021.233 0, 978542.108 955019.962 0, 978817.225 955018.707 0,
+ 979092.341 955017.468 0, 979367.458 955016.245 0, 979642.574 955015.039 0, 979917.691 955013.849 0, 980191.473 955012.681 0, 980467.924 955011.517 0, 980743.041 955010.376 0, 981018.158 955009.251 0, 981293.275 955008.141 0, 981568.392 955007.049 0,
+ 981843.509 955005.972 0, 982118.626 955004.911 0, 982393.744 955003.867 0, 982668.861 955002.839 0, 982943.978 955001.827 0, 983219.096 955000.831 0, 983494.213 954999.851 0, 983769.331 954998.888 0, 984044.448 954997.941 0, 984319.566 954997.01 0,
+ 984594.684 954996.095 0, 984869.801 954995.196 0, 985144.919 954994.314 0, 985420.037 954993.448 0, 985695.155 954992.598 0, 985970.273 954991.764 0, 986245.391 954990.946 0, 986520.509 954990.145 0, 986794.294 954989.363 0, 986778.53 949409.888 0,
+ 986762.768 943830.536 0))
+
+POLYGON ((1000000 954970.709 0, 999726.212 954970.717 0, 999451.093 954970.741 0, 999175.974 954970.781 0, 998900.854 954970.838 0, 998625.735 954970.911 0, 998350.616 954971 0, 998075.497 954971.105 0, 997800.378 954971.226 0, 997525.258 954971.364 0,
+ 997250.139 954971.518 0, 996975.02 954971.688 0, 996699.901 954971.874 0, 996424.782 954972.076 0, 996149.663 954972.295 0, 995874.544 954972.529 0, 995599.424 954972.78 0, 995324.305 954973.047 0, 995049.186 954973.331 0, 994774.067 954973.63 0,
+ 994498.948 954973.946 0, 994223.829 954974.278 0, 993948.71 954974.626 0, 993673.591 954974.99 0, 993397.14 954975.372 0, 993123.353 954975.767 0, 992848.235 954976.18 0, 992573.116 954976.609 0, 992297.997 954977.054 0, 992022.878 954977.516 0,
+ 991747.759 954977.993 0, 991472.64 954978.487 0, 991197.522 954978.997 0, 990922.403 954979.523 0, 990647.284 954980.066 0, 990372.166 954980.624 0, 990097.047 954981.199 0, 989821.929 954981.79 0, 989546.81 954982.397 0, 989271.692 954983.02 0,
+ 988996.573 954983.66 0, 988721.455 954984.316 0, 988446.336 954984.988 0, 988171.218 954985.676 0, 987896.1 954986.38 0, 987620.981 954987.101 0, 987345.863 954987.837 0, 987070.745 954988.59 0, 986794.294 954989.363 0, 986810.057 960568.956 0,
+ 986825.821 966148.664 0, 987101.612 966147.893 0, 987376.073 966147.142 0, 987650.535 966146.407 0, 987924.996 966145.688 0, 988199.458 966144.985 0, 988473.919 966144.299 0, 988748.381 966143.628 0, 989022.843 966142.974 0, 989297.304 966142.336 0,
+ 989571.766 966141.714 0, 989846.228 966141.109 0, 990120.689 966140.519 0, 990395.151 966139.946 0, 990669.613 966139.389 0, 990944.075 966138.847 0, 991218.537 966138.323 0, 991492.999 966137.814 0, 991767.461 966137.321 0, 992041.923 966136.845 0,
+ 992316.385 966136.384 0, 992590.847 966135.94 0, 992865.309 966135.512 0, 993139.771 966135.1 0, 993412.904 966134.706 0, 993688.695 966134.325 0, 993963.157 966133.962 0, 994237.619 966133.614 0, 994512.081 966133.283 0, 994786.544 966132.968 0,
+ 995061.006 966132.67 0, 995335.468 966132.387 0, 995609.93 966132.121 0, 995884.393 966131.87 0, 996158.855 966131.636 0, 996433.317 966131.418 0, 996707.78 966131.216 0, 996982.242 966131.03 0, 997256.704 966130.861 0, 997531.167 966130.708 0,
+ 997805.629 966130.57 0, 998080.091 966130.449 0, 998354.554 966130.344 0, 998629.016 966130.256 0, 998903.478 966130.183 0, 999177.941 966130.126 0, 999452.403 966130.086 0, 999726.866 966130.062 0, 1000000 966130.054 0, 1000000 960550.324 0,
+ 1000000 954970.709 0))
+
+POLYGON ((1013174.179 966148.664 0, 1012901.044 966147.9 0, 1012626.582 966147.149 0, 1012352.121 966146.414 0, 1012077.66 966145.695 0, 1011803.198 966144.992 0, 1011528.737 966144.305 0, 1011254.275 966143.635 0, 1010979.813 966142.981 0, 1010705.352 966142.342 0,
+ 1010430.89 966141.72 0, 1010156.428 966141.115 0, 1009881.967 966140.525 0, 1009607.505 966139.951 0, 1009333.043 966139.394 0, 1009058.581 966138.853 0, 1008784.119 966138.328 0, 1008509.657 966137.819 0, 1008235.195 966137.326 0, 1007960.733 966136.849 0,
+ 1007686.271 966136.389 0, 1007411.809 966135.944 0, 1007137.347 966135.516 0, 1006862.885 966135.104 0, 1006587.096 966134.706 0, 1006313.961 966134.329 0, 1006039.499 966133.965 0, 1005765.037 966133.618 0, 1005490.574 966133.286 0, 1005216.112 966132.971 0,
+ 1004941.65 966132.672 0, 1004667.188 966132.39 0, 1004392.726 966132.123 0, 1004118.263 966131.873 0, 1003843.801 966131.638 0, 1003569.339 966131.42 0, 1003294.876 966131.218 0, 1003020.414 966131.032 0, 1002745.952 966130.863 0, 1002471.489 966130.709 0,
+ 1002197.027 966130.572 0, 1001922.565 966130.45 0, 1001648.102 966130.345 0, 1001373.64 966130.256 0, 1001099.178 966130.184 0, 1000824.715 966130.127 0, 1000550.253 966130.086 0, 1000275.79 966130.062 0, 1000000 966130.054 0, 1000000 971709.894 0,
+ 1000000 977289.841 0, 1000275.13 977289.849 0, 1000548.936 977289.873 0, 1000822.741 977289.914 0, 1001096.547 977289.97 0, 1001370.352 977290.043 0, 1001644.158 977290.131 0, 1001917.964 977290.236 0, 1002191.769 977290.357 0, 1002465.575 977290.494 0,
+ 1002739.38 977290.647 0, 1003013.186 977290.817 0, 1003286.991 977291.002 0, 1003560.797 977291.204 0, 1003834.602 977291.421 0, 1004108.407 977291.655 0, 1004382.213 977291.905 0, 1004656.018 977292.171 0, 1004929.824 977292.453 0, 1005203.629 977292.751 0,
+ 1005477.434 977293.066 0, 1005751.24 977293.396 0, 1006025.045 977293.743 0, 1006298.85 977294.105 0, 1006571.332 977294.482 0, 1006846.461 977294.879 0, 1007120.266 977295.29 0, 1007394.071 977295.717 0, 1007667.877 977296.16 0, 1007941.682 977296.62 0,
+ 1008215.487 977297.095 0, 1008489.292 977297.587 0, 1008763.097 977298.095 0, 1009036.902 977298.618 0, 1009310.707 977299.158 0, 1009584.512 977299.714 0, 1009858.317 977300.287 0, 1010132.122 977300.875 0, 1010405.927 977301.479 0, 1010679.732 977302.1 0,
+ 1010953.536 977302.736 0, 1011227.341 977303.389 0, 1011501.146 977304.058 0, 1011774.951 977304.743 0, 1012048.755 977305.444 0, 1012322.56 977306.161 0, 1012596.365 977306.895 0, 1012870.169 977307.644 0, 1013142.651 977308.406 0, 1013158.415 971728.482 0,
+ 1013174.179 966148.664 0))
+
+POLYGON ((1026285.197 977364.102 0, 1026012.716 977362.57 0, 1025738.915 977361.047 0, 1025465.113 977359.54 0, 1025191.312 977358.049 0, 1024917.51 977356.575 0, 1024643.709 977355.116 0, 1024369.907 977353.674 0, 1024096.105 977352.247 0, 1023822.303 977350.837 0,
+ 1023548.501 977349.443 0, 1023274.699 977348.065 0, 1023000.897 977346.703 0, 1022727.095 977345.358 0, 1022453.292 977344.028 0, 1022179.49 977342.714 0, 1021905.688 977341.417 0, 1021631.885 977340.136 0, 1021358.082 977338.871 0, 1021084.28 977337.622 0,
+ 1020810.477 977336.389 0, 1020536.674 977335.172 0, 1020262.871 977333.971 0, 1019989.068 977332.787 0, 1019713.943 977331.613 0, 1019441.462 977330.466 0, 1019167.659 977329.33 0, 1018893.856 977328.209 0, 1018620.052 977327.106 0, 1018346.249 977326.018 0,
+ 1018072.445 977324.946 0, 1017798.642 977323.89 0, 1017524.838 977322.851 0, 1017251.035 977321.827 0, 1016977.231 977320.82 0, 1016703.427 977319.829 0, 1016429.623 977318.854 0, 1016155.82 977317.895 0, 1015882.016 977316.952 0, 1015608.212 977316.025 0,
+ 1015334.408 977315.115 0, 1015060.604 977314.22 0, 1014786.799 977313.342 0, 1014512.995 977312.479 0, 1014239.191 977311.633 0, 1013965.387 977310.803 0, 1013691.582 977309.989 0, 1013417.778 977309.192 0, 1013142.651 977308.406 0, 1013126.886 982888.433 0,
+ 1013111.121 988468.558 0, 1013385.588 988469.341 0, 1013658.736 988470.137 0, 1013931.883 988470.949 0, 1014205.031 988471.777 0, 1014478.178 988472.621 0, 1014751.325 988473.481 0, 1015024.473 988474.358 0, 1015297.62 988475.25 0, 1015570.767 988476.158 0,
+ 1015843.914 988477.083 0, 1016117.061 988478.023 0, 1016390.208 988478.98 0, 1016663.355 988479.953 0, 1016936.502 988480.942 0, 1017209.649 988481.947 0, 1017482.796 988482.968 0, 1017755.942 988484.005 0, 1018029.089 988485.058 0, 1018302.236 988486.127 0,
+ 1018575.382 988487.212 0, 1018848.529 988488.313 0, 1019121.675 988489.431 0, 1019394.821 988490.564 0, 1019666.649 988491.708 0, 1019941.114 988492.88 0, 1020214.26 988494.061 0, 1020487.406 988495.259 0, 1020760.552 988496.473 0, 1021033.698 988497.703 0,
+ 1021306.844 988498.949 0, 1021579.989 988500.211 0, 1021853.135 988501.489 0, 1022126.281 988502.784 0, 1022399.426 988504.094 0, 1022672.572 988505.42 0, 1022945.717 988506.763 0, 1023218.862 988508.122 0, 1023492.008 988509.496 0, 1023765.153 988510.887 0,
+ 1024038.298 988512.294 0, 1024311.443 988513.717 0, 1024584.588 988515.156 0, 1024857.733 988516.611 0, 1025130.877 988518.082 0, 1025404.022 988519.569 0, 1025677.166 988521.072 0, 1025950.311 988522.592 0, 1026222.138 988524.119 0, 1026253.668 982944.061 0,
+ 1026285.197 977364.102 0))
+
+POLYGON ((1039332.945 988616.722 0, 1039061.121 988614.426 0, 1038787.982 988612.135 0, 1038514.843 988609.86 0, 1038241.704 988607.601 0, 1037968.564 988605.359 0, 1037695.425 988603.132 0, 1037422.285 988600.921 0, 1037149.145 988598.727 0, 1036876.005 988596.548 0,
+ 1036602.865 988594.386 0, 1036329.725 988592.239 0, 1036056.584 988590.109 0, 1035783.444 988587.995 0, 1035510.303 988585.897 0, 1035237.163 988583.815 0, 1034964.022 988581.749 0, 1034690.881 988579.699 0, 1034417.74 988577.665 0, 1034144.598 988575.648 0,
+ 1033871.457 988573.646 0, 1033598.316 988571.66 0, 1033325.174 988569.691 0, 1033052.032 988567.737 0, 1032777.574 988565.791 0, 1032505.749 988563.879 0, 1032232.607 988561.974 0, 1031959.464 988560.085 0, 1031686.322 988558.211 0, 1031413.18 988556.355 0,
+ 1031140.037 988554.514 0, 1030866.895 988552.689 0, 1030593.752 988550.88 0, 1030320.609 988549.087 0, 1030047.466 988547.311 0, 1029774.323 988545.55 0, 1029501.18 988543.806 0, 1029228.037 988542.078 0, 1028954.894 988540.365 0, 1028681.75 988538.669 0,
+ 1028408.607 988536.989 0, 1028135.463 988535.325 0, 1027862.319 988533.677 0, 1027589.176 988532.045 0, 1027316.032 988530.429 0, 1027042.888 988528.83 0, 1026769.744 988527.246 0, 1026496.6 988525.678 0, 1026222.138 988524.119 0, 1026190.608 994104.272 0,
+ 1026159.077 999684.514 0, 1026432.878 999686.069 0, 1026705.366 999687.633 0, 1026977.853 999689.213 0, 1027250.34 999690.809 0, 1027522.827 999692.421 0, 1027795.314 999694.049 0, 1028067.801 999695.692 0, 1028340.288 999697.353 0, 1028612.774 999699.029 0,
+ 1028885.261 999700.721 0, 1029157.747 999702.429 0, 1029430.234 999704.153 0, 1029702.72 999705.893 0, 1029975.206 999707.65 0, 1030247.692 999709.422 0, 1030520.178 999711.21 0, 1030792.664 999713.015 0, 1031065.149 999714.835 0, 1031337.635 999716.671 0,
+ 1031610.12 999718.524 0, 1031882.606 999720.392 0, 1032155.091 999722.277 0, 1032427.576 999724.178 0, 1032698.748 999726.085 0, 1032972.546 999728.027 0, 1033245.031 999729.976 0, 1033517.516 999731.94 0, 1033790 999733.921 0, 1034062.485 999735.918 0,
+ 1034334.969 999737.931 0, 1034607.453 999739.96 0, 1034879.938 999742.005 0, 1035152.422 999744.066 0, 1035424.905 999746.143 0, 1035697.389 999748.236 0, 1035969.873 999750.345 0, 1036242.356 999752.47 0, 1036514.84 999754.611 0, 1036787.323 999756.768 0,
+ 1037059.806 999758.942 0, 1037332.289 999761.131 0, 1037604.772 999763.336 0, 1037877.255 999765.558 0, 1038149.737 999767.795 0, 1038422.22 999770.048 0, 1038694.702 999772.318 0, 1038967.184 999774.603 0, 1039238.354 999776.894 0, 1039285.65 994196.763 0,
+ 1039332.945 988616.722 0))
+
+POLYGON ((1052317.318 999906.225 0, 1052046.154 999903.168 0, 1051773.679 999900.113 0, 1051501.204 999897.074 0, 1051228.729 999894.05 0, 1050956.254 999891.043 0, 1050683.779 999888.052 0, 1050411.303 999885.077 0, 1050138.828 999882.118 0, 1049866.352 999879.175 0,
+ 1049593.876 999876.248 0, 1049321.399 999873.337 0, 1049048.923 999870.442 0, 1048776.446 999867.563 0, 1048503.97 999864.7 0, 1048231.493 999861.853 0, 1047959.016 999859.022 0, 1047686.538 999856.208 0, 1047414.061 999853.409 0, 1047141.583 999850.626 0,
+ 1046869.106 999847.86 0, 1046596.628 999845.109 0, 1046324.15 999842.375 0, 1046051.671 999839.656 0, 1045777.882 999836.941 0, 1045506.715 999834.267 0, 1045234.236 999831.597 0, 1044961.757 999828.942 0, 1044689.278 999826.304 0, 1044416.799 999823.682 0,
+ 1044144.319 999821.075 0, 1043871.84 999818.485 0, 1043599.36 999815.911 0, 1043326.881 999813.353 0, 1043054.401 999810.811 0, 1042781.921 999808.285 0, 1042509.44 999805.775 0, 1042236.96 999803.281 0, 1041964.479 999800.803 0, 1041691.999 999798.341 0,
+ 1041419.518 999795.895 0, 1041147.037 999793.465 0, 1040874.556 999791.051 0, 1040602.075 999788.653 0, 1040329.593 999786.272 0, 1040057.112 999783.906 0, 1039784.63 999781.556 0, 1039512.148 999779.223 0, 1039238.354 999776.894 0, 1039191.058 1005357.111 0,
+ 1039143.76 1010937.409 0, 1039416.894 1010939.732 0, 1039688.719 1010942.06 0, 1039960.544 1010944.404 0, 1040232.369 1010946.764 0, 1040504.193 1010949.14 0, 1040776.018 1010951.532 0, 1041047.842 1010953.94 0, 1041319.666 1010956.364 0, 1041591.49 1010958.804 0,
+ 1041863.314 1010961.26 0, 1042135.137 1010963.732 0, 1042406.961 1010966.22 0, 1042678.784 1010968.724 0, 1042950.607 1010971.244 0, 1043222.43 1010973.78 0, 1043494.253 1010976.332 0, 1043766.076 1010978.9 0, 1044037.899 1010981.484 0, 1044309.721 1010984.084 0,
+ 1044581.543 1010986.7 0, 1044853.365 1010989.332 0, 1045125.187 1010991.98 0, 1045397.009 1010994.644 0, 1045667.523 1010997.311 0, 1045940.652 1011000.02 0, 1046212.474 1011002.732 0, 1046484.295 1011005.46 0, 1046756.116 1011008.204 0, 1047027.937 1011010.964 0,
+ 1047299.758 1011013.74 0, 1047571.578 1011016.532 0, 1047843.398 1011019.34 0, 1048115.219 1011022.164 0, 1048387.039 1011025.004 0, 1048658.859 1011027.86 0, 1048930.678 1011030.732 0, 1049202.498 1011033.62 0, 1049474.317 1011036.524 0, 1049746.136 1011039.444 0,
+ 1050017.955 1011042.38 0, 1050289.774 1011045.332 0, 1050561.593 1011048.299 0, 1050833.411 1011051.283 0, 1051105.23 1011054.283 0, 1051377.048 1011057.299 0, 1051648.866 1011060.331 0, 1051920.684 1011063.379 0, 1052191.195 1011066.428 0, 1052254.257 1005486.286 0,
+ 1052317.318 999906.225 0))
+
+POLYGON ((1065238.212 1011232.308 0, 1064967.709 1011228.495 0, 1064695.901 1011224.679 0, 1064424.092 1011220.879 0, 1064152.284 1011217.095 0, 1063880.475 1011213.328 0, 1063608.666 1011209.576 0, 1063336.857 1011205.84 0, 1063065.048 1011202.12 0, 1062793.238 1011198.416 0,
+ 1062521.428 1011194.728 0, 1062249.618 1011191.056 0, 1061977.808 1011187.4 0, 1061705.997 1011183.76 0, 1061434.186 1011180.137 0, 1061162.375 1011176.529 0, 1060890.564 1011172.937 0, 1060618.753 1011169.361 0, 1060346.941 1011165.801 0, 1060075.13 1011162.257 0,
+ 1059803.318 1011158.729 0, 1059531.505 1011155.217 0, 1059259.693 1011151.721 0, 1058987.88 1011148.241 0, 1058714.762 1011144.761 0, 1058444.255 1011141.33 0, 1058172.441 1011137.898 0, 1057900.628 1011134.482 0, 1057628.814 1011131.082 0, 1057357.001 1011127.698 0,
+ 1057085.187 1011124.33 0, 1056813.372 1011120.978 0, 1056541.558 1011117.642 0, 1056269.743 1011114.322 0, 1055997.929 1011111.018 0, 1055726.114 1011107.73 0, 1055454.298 1011104.458 0, 1055182.483 1011101.203 0, 1054910.667 1011097.963 0, 1054638.852 1011094.739 0,
+ 1054367.036 1011091.531 0, 1054095.22 1011088.339 0, 1053823.403 1011085.163 0, 1053551.587 1011082.003 0, 1053279.77 1011078.859 0, 1053007.953 1011075.731 0, 1052736.136 1011072.619 0, 1052464.319 1011069.523 0, 1052191.195 1011066.428 0, 1052128.131 1016646.649 0,
+ 1052065.067 1022226.943 0, 1052337.531 1022230.03 0, 1052608.692 1022233.118 0, 1052879.852 1022236.223 0, 1053151.012 1022239.343 0, 1053422.172 1022242.479 0, 1053693.331 1022245.632 0, 1053964.491 1022248.8 0, 1054235.65 1022251.984 0, 1054506.809 1022255.184 0,
+ 1054777.968 1022258.401 0, 1055049.127 1022261.633 0, 1055320.285 1022264.881 0, 1055591.443 1022268.145 0, 1055862.602 1022271.425 0, 1056133.759 1022274.721 0, 1056404.917 1022278.033 0, 1056676.075 1022281.36 0, 1056947.232 1022284.704 0, 1057218.389 1022288.064 0,
+ 1057489.546 1022291.44 0, 1057760.703 1022294.831 0, 1058031.859 1022298.239 0, 1058303.016 1022301.663 0, 1058572.869 1022305.086 0, 1058845.328 1022308.558 0, 1059116.484 1022312.029 0, 1059387.639 1022315.517 0, 1059658.794 1022319.02 0, 1059929.95 1022322.54 0,
+ 1060201.104 1022326.075 0, 1060472.259 1022329.626 0, 1060743.414 1022333.194 0, 1061014.568 1022336.777 0, 1061285.722 1022340.376 0, 1061556.876 1022343.991 0, 1061828.029 1022347.622 0, 1062099.183 1022351.269 0, 1062370.336 1022354.932 0, 1062641.489 1022358.611 0,
+ 1062912.642 1022362.306 0, 1063183.794 1022366.017 0, 1063454.947 1022369.744 0, 1063726.099 1022373.487 0, 1063997.251 1022377.245 0, 1064268.403 1022381.02 0, 1064539.554 1022384.811 0, 1064810.705 1022388.618 0, 1065080.555 1022392.422 0, 1065159.384 1016812.328 0,
+ 1065238.212 1011232.308 0))
+
+POLYGON ((1078095.523 1022594.671 0, 1077825.683 1022590.105 0, 1077554.544 1022585.532 0, 1077283.404 1022580.975 0, 1077012.264 1022576.435 0, 1076741.124 1022571.91 0, 1076469.983 1022567.401 0, 1076198.843 1022562.908 0, 1075927.702 1022558.431 0, 1075656.56 1022553.97 0,
+ 1075385.419 1022549.525 0, 1075114.277 1022545.096 0, 1074843.135 1022540.683 0, 1074571.993 1022536.286 0, 1074300.85 1022531.905 0, 1074029.707 1022527.539 0, 1073758.564 1022523.19 0, 1073487.421 1022518.857 0, 1073216.277 1022514.539 0, 1072945.134 1022510.238 0,
+ 1072673.989 1022505.953 0, 1072402.845 1022501.683 0, 1072131.701 1022497.43 0, 1071860.556 1022493.192 0, 1071588.11 1022488.95 0, 1071318.265 1022484.765 0, 1071047.12 1022480.575 0, 1070775.974 1022476.402 0, 1070504.828 1022472.244 0, 1070233.681 1022468.102 0,
+ 1069962.535 1022463.976 0, 1069691.388 1022459.866 0, 1069420.241 1022455.772 0, 1069149.094 1022451.694 0, 1068877.946 1022447.632 0, 1068606.798 1022443.586 0, 1068335.65 1022439.556 0, 1068064.502 1022435.542 0, 1067793.354 1022431.544 0, 1067522.205 1022427.562 0,
+ 1067251.056 1022423.596 0, 1066979.907 1022419.645 0, 1066708.757 1022415.711 0, 1066437.608 1022411.793 0, 1066166.458 1022407.89 0, 1065895.308 1022404.004 0, 1065624.158 1022400.133 0, 1065353.007 1022396.279 0, 1065080.555 1022392.422 0, 1065001.724 1027972.584 0,
+ 1064922.893 1033552.812 0, 1065194.686 1033556.66 0, 1065465.179 1033560.505 0, 1065735.673 1033564.366 0, 1066006.166 1033568.243 0, 1066276.659 1033572.136 0, 1066547.152 1033576.045 0, 1066817.644 1033579.97 0, 1067088.137 1033583.91 0, 1067358.629 1033587.867 0,
+ 1067629.12 1033591.84 0, 1067899.612 1033595.828 0, 1068170.103 1033599.833 0, 1068440.595 1033603.853 0, 1068711.086 1033607.889 0, 1068981.576 1033611.941 0, 1069252.067 1033616.009 0, 1069522.557 1033620.093 0, 1069793.047 1033624.193 0, 1070063.536 1033628.309 0,
+ 1070334.026 1033632.441 0, 1070604.515 1033636.589 0, 1070875.004 1033640.752 0, 1071145.493 1033644.932 0, 1071414.684 1033649.107 0, 1071686.469 1033653.338 0, 1071956.957 1033657.566 0, 1072227.445 1033661.809 0, 1072497.933 1033666.068 0, 1072768.42 1033670.343 0,
+ 1073038.907 1033674.634 0, 1073309.394 1033678.941 0, 1073579.88 1033683.264 0, 1073850.366 1033687.603 0, 1074120.852 1033691.957 0, 1074391.338 1033696.328 0, 1074661.823 1033700.714 0, 1074932.309 1033705.117 0, 1075202.793 1033709.535 0, 1075473.278 1033713.969 0,
+ 1075743.763 1033718.419 0, 1076014.247 1033722.885 0, 1076284.731 1033727.367 0, 1076555.214 1033731.865 0, 1076825.697 1033736.379 0, 1077096.181 1033740.909 0, 1077366.663 1033745.455 0, 1077637.146 1033750.016 0, 1077906.332 1033754.572 0, 1078000.928 1028174.589 0,
+ 1078095.523 1022594.671 0))
+
+POLYGON ((1090889.149 1033993.011 0, 1090619.975 1033987.695 0, 1090349.506 1033982.369 0, 1090079.037 1033977.06 0, 1089808.568 1033971.766 0, 1089538.098 1033966.488 0, 1089267.629 1033961.226 0, 1088997.158 1033955.979 0, 1088726.688 1033950.749 0, 1088456.217 1033945.535 0,
+ 1088185.746 1033940.336 0, 1087915.275 1033935.154 0, 1087644.803 1033929.987 0, 1087374.331 1033924.837 0, 1087103.859 1033919.702 0, 1086833.386 1033914.583 0, 1086562.913 1033909.48 0, 1086292.44 1033904.393 0, 1086021.967 1033899.322 0, 1085751.493 1033894.267 0,
+ 1085481.019 1033889.228 0, 1085210.545 1033884.205 0, 1084940.07 1033879.197 0, 1084669.595 1033874.206 0, 1084397.825 1033869.207 0, 1084128.644 1033864.271 0, 1083858.168 1033859.327 0, 1083587.692 1033854.399 0, 1083317.216 1033849.488 0, 1083046.739 1033844.592 0,
+ 1082776.262 1033839.712 0, 1082505.785 1033834.848 0, 1082235.307 1033829.999 0, 1081964.829 1033825.167 0, 1081694.351 1033820.351 0, 1081423.873 1033815.55 0, 1081153.394 1033810.766 0, 1080882.915 1033805.997 0, 1080612.436 1033801.245 0, 1080341.956 1033796.508 0,
+ 1080071.477 1033791.787 0, 1079800.997 1033787.082 0, 1079530.516 1033782.393 0, 1079260.036 1033777.72 0, 1078989.555 1033773.063 0, 1078719.073 1033768.422 0, 1078448.592 1033763.797 0, 1078178.11 1033759.187 0, 1077906.332 1033754.572 0, 1077811.735 1039334.616 0,
+ 1077717.137 1044914.716 0, 1077988.255 1044919.32 0, 1078258.08 1044923.918 0, 1078527.905 1044928.532 0, 1078797.729 1044933.162 0, 1079067.553 1044937.808 0, 1079337.377 1044942.47 0, 1079607.2 1044947.147 0, 1079877.024 1044951.841 0, 1080146.847 1044956.55 0,
+ 1080416.669 1044961.275 0, 1080686.492 1044966.017 0, 1080956.314 1044970.774 0, 1081226.136 1044975.546 0, 1081495.957 1044980.335 0, 1081765.778 1044985.14 0, 1082035.599 1044989.96 0, 1082305.42 1044994.797 0, 1082575.241 1044999.649 0, 1082845.061 1045004.517 0,
+ 1083114.881 1045009.401 0, 1083384.7 1045014.301 0, 1083654.519 1045019.217 0, 1083924.338 1045024.149 0, 1084192.865 1045029.072 0, 1084463.976 1045034.06 0, 1084733.794 1045039.039 0, 1085003.611 1045044.034 0, 1085273.429 1045049.045 0, 1085543.246 1045054.072 0,
+ 1085813.063 1045059.115 0, 1086082.88 1045064.174 0, 1086352.696 1045069.248 0, 1086622.512 1045074.339 0, 1086892.328 1045079.445 0, 1087162.143 1045084.567 0, 1087431.958 1045089.706 0, 1087701.773 1045094.86 0, 1087971.588 1045100.029 0, 1088241.402 1045105.215 0,
+ 1088511.216 1045110.417 0, 1088781.03 1045115.634 0, 1089050.843 1045120.868 0, 1089320.656 1045126.117 0, 1089590.468 1045131.382 0, 1089860.281 1045136.663 0, 1090130.093 1045141.96 0, 1090399.905 1045147.273 0, 1090668.425 1045152.576 0, 1090778.788 1039572.765 0,
+ 1090889.149 1033993.011 0))
+
+POLYGON ((1103618.99 1045427.025 0, 1103350.483 1045420.964 0, 1103080.687 1045414.889 0, 1102810.891 1045408.829 0, 1102541.095 1045402.786 0, 1102271.298 1045396.759 0, 1102001.501 1045390.747 0, 1101731.704 1045384.751 0, 1101461.906 1045378.772 0, 1101192.108 1045372.808 0,
+ 1100922.309 1045366.86 0, 1100652.511 1045360.928 0, 1100382.711 1045355.011 0, 1100112.912 1045349.111 0, 1099843.112 1045343.226 0, 1099573.312 1045337.358 0, 1099303.511 1045331.505 0, 1099033.71 1045325.668 0, 1098763.909 1045319.847 0, 1098494.107 1045314.042 0,
+ 1098224.305 1045308.253 0, 1097954.503 1045302.48 0, 1097684.7 1045296.722 0, 1097414.897 1045290.98 0, 1097143.804 1045285.227 0, 1096875.291 1045279.545 0, 1096605.487 1045273.851 0, 1096335.682 1045268.173 0, 1096065.878 1045262.511 0, 1095796.073 1045256.864 0,
+ 1095526.267 1045251.234 0, 1095256.462 1045245.619 0, 1094986.656 1045240.021 0, 1094716.849 1045234.438 0, 1094447.043 1045228.871 0, 1094177.236 1045223.32 0, 1093907.429 1045217.785 0, 1093637.621 1045212.266 0, 1093367.813 1045206.762 0, 1093098.005 1045201.275 0,
+ 1092828.196 1045195.803 0, 1092558.387 1045190.347 0, 1092288.578 1045184.908 0, 1092018.769 1045179.484 0, 1091748.959 1045174.075 0, 1091479.149 1045168.683 0, 1091209.338 1045163.307 0, 1090939.527 1045157.946 0, 1090668.425 1045152.576 0, 1090558.062 1050732.44 0,
+ 1090447.697 1056312.351 0, 1090718.139 1056317.708 0, 1090987.293 1056323.056 0, 1091256.447 1056328.419 0, 1091525.6 1056333.798 0, 1091794.753 1056339.193 0, 1092063.906 1056344.604 0, 1092333.059 1056350.03 0, 1092602.211 1056355.473 0, 1092871.362 1056360.931 0,
+ 1093140.514 1056366.405 0, 1093409.665 1056371.895 0, 1093678.816 1056377.401 0, 1093947.966 1056382.923 0, 1094217.116 1056388.46 0, 1094486.266 1056394.014 0, 1094755.415 1056399.583 0, 1095024.565 1056405.168 0, 1095293.713 1056410.769 0, 1095562.862 1056416.385 0,
+ 1095832.01 1056422.018 0, 1096101.158 1056427.666 0, 1096370.305 1056433.331 0, 1096639.452 1056439.011 0, 1096907.313 1056444.679 0, 1097177.746 1056450.418 0, 1097446.892 1056456.146 0, 1097716.038 1056461.889 0, 1097985.183 1056467.649 0, 1098254.328 1056473.424 0,
+ 1098523.473 1056479.215 0, 1098792.618 1056485.022 0, 1099061.762 1056490.844 0, 1099330.905 1056496.683 0, 1099600.049 1056502.537 0, 1099869.192 1056508.407 0, 1100138.335 1056514.293 0, 1100407.477 1056520.195 0, 1100676.619 1056526.113 0, 1100945.761 1056532.046 0,
+ 1101214.902 1056537.996 0, 1101484.043 1056543.961 0, 1101753.184 1056549.942 0, 1102022.324 1056555.939 0, 1102291.464 1056561.952 0, 1102560.603 1056567.98 0, 1102829.743 1056574.025 0, 1103098.881 1056580.085 0, 1103366.734 1056586.132 0, 1103492.863 1051006.555 0,
+ 1103618.99 1045427.025 0))
+
+POLYGON ((1116284.946 1056896.411 0, 1116017.109 1056889.607 0, 1115747.989 1056882.786 0, 1115478.868 1056875.981 0, 1115209.746 1056869.193 0, 1114940.624 1056862.419 0, 1114671.502 1056855.662 0, 1114402.38 1056848.921 0, 1114133.256 1056842.195 0, 1113864.133 1056835.485 0,
+ 1113595.009 1056828.792 0, 1113325.885 1056822.114 0, 1113056.76 1056815.451 0, 1112787.635 1056808.805 0, 1112518.51 1056802.174 0, 1112249.384 1056795.56 0, 1111980.258 1056788.961 0, 1111711.131 1056782.378 0, 1111442.004 1056775.811 0, 1111172.877 1056769.259 0,
+ 1110903.749 1056762.724 0, 1110634.621 1056756.204 0, 1110365.493 1056749.7 0, 1110096.364 1056743.212 0, 1109825.95 1056736.709 0, 1109558.105 1056730.284 0, 1109288.975 1056723.844 0, 1109019.844 1056717.419 0, 1108750.714 1056711.01 0, 1108481.582 1056704.617 0,
+ 1108212.451 1056698.24 0, 1107943.319 1056691.879 0, 1107674.187 1056685.533 0, 1107405.054 1056679.204 0, 1107135.921 1056672.89 0, 1106866.788 1056666.592 0, 1106597.654 1056660.31 0, 1106328.52 1056654.044 0, 1106059.385 1056647.794 0, 1105790.25 1056641.559 0,
+ 1105521.115 1056635.34 0, 1105251.979 1056629.138 0, 1104982.843 1056622.951 0, 1104713.707 1056616.779 0, 1104444.57 1056610.624 0, 1104175.433 1056604.485 0, 1103906.296 1056598.361 0, 1103637.158 1056592.253 0, 1103366.734 1056586.132 0, 1103240.605 1062165.754 0,
+ 1103114.475 1067745.415 0, 1103384.239 1067751.521 0, 1103652.72 1067757.614 0, 1103921.201 1067763.722 0, 1104189.681 1067769.847 0, 1104458.161 1067775.987 0, 1104726.64 1067782.143 0, 1104995.119 1067788.315 0, 1105263.598 1067794.503 0, 1105532.077 1067800.706 0,
+ 1105800.555 1067806.926 0, 1106069.032 1067813.161 0, 1106337.51 1067819.412 0, 1106605.987 1067825.678 0, 1106874.463 1067831.961 0, 1107142.94 1067838.259 0, 1107411.415 1067844.573 0, 1107679.891 1067850.903 0, 1107948.366 1067857.249 0, 1108216.841 1067863.61 0,
+ 1108485.315 1067869.988 0, 1108753.789 1067876.381 0, 1109022.263 1067882.79 0, 1109290.736 1067889.215 0, 1109557.927 1067895.624 0, 1109827.681 1067902.111 0, 1110096.153 1067908.584 0, 1110364.625 1067915.071 0, 1110633.096 1067921.575 0, 1110901.567 1067928.095 0,
+ 1111170.038 1067934.63 0, 1111438.508 1067941.181 0, 1111706.978 1067947.748 0, 1111975.447 1067954.331 0, 1112243.916 1067960.93 0, 1112512.385 1067967.544 0, 1112780.853 1067974.174 0, 1113049.321 1067980.82 0, 1113317.789 1067987.482 0, 1113586.256 1067994.159 0,
+ 1113854.722 1068000.853 0, 1114123.189 1068007.562 0, 1114391.654 1068014.287 0, 1114660.12 1068021.028 0, 1114928.585 1068027.784 0, 1115197.05 1068034.557 0, 1115465.514 1068041.345 0, 1115733.978 1068048.149 0, 1116001.161 1068054.936 0, 1116143.054 1062475.653 0,
+ 1116284.946 1056896.411 0))
+
+POLYGON ((1128886.921 1068400.863 0, 1128619.756 1068393.321 0, 1128351.312 1068385.759 0, 1128082.868 1068378.212 0, 1127814.424 1068370.681 0, 1127545.979 1068363.166 0, 1127277.534 1068355.667 0, 1127009.088 1068348.184 0, 1126740.642 1068340.716 0, 1126472.195 1068333.264 0,
+ 1126203.748 1068325.828 0, 1125935.3 1068318.408 0, 1125666.852 1068311.004 0, 1125398.404 1068303.615 0, 1125129.955 1068296.242 0, 1124861.506 1068288.885 0, 1124593.056 1068281.544 0, 1124324.606 1068274.219 0, 1124056.155 1068266.909 0, 1123787.704 1068259.615 0,
+ 1123519.253 1068252.337 0, 1123250.801 1068245.075 0, 1122982.348 1068237.829 0, 1122713.896 1068230.598 0, 1122444.163 1068223.349 0, 1122176.989 1068216.184 0, 1121908.535 1068209.001 0, 1121640.08 1068201.834 0, 1121371.626 1068194.682 0, 1121103.17 1068187.546 0,
+ 1120834.715 1068180.426 0, 1120566.258 1068173.322 0, 1120297.802 1068166.234 0, 1120029.345 1068159.161 0, 1119760.888 1068152.104 0, 1119492.43 1068145.063 0, 1119223.972 1068138.038 0, 1118955.513 1068131.029 0, 1118687.054 1068124.035 0, 1118418.595 1068117.057 0,
+ 1118150.135 1068110.095 0, 1117881.674 1068103.149 0, 1117613.214 1068096.219 0, 1117344.753 1068089.304 0, 1117076.291 1068082.406 0, 1116807.829 1068075.523 0, 1116539.367 1068068.655 0, 1116270.904 1068061.804 0, 1116001.161 1068054.936 0, 1115859.267 1073634.254 0,
+ 1115717.372 1079213.602 0, 1115986.456 1079220.454 0, 1116254.262 1079227.288 0, 1116522.067 1079234.139 0, 1116789.872 1079241.005 0, 1117057.677 1079247.887 0, 1117325.481 1079254.784 0, 1117593.285 1079261.698 0, 1117861.089 1079268.627 0, 1118128.892 1079275.572 0,
+ 1118396.694 1079282.533 0, 1118664.497 1079289.509 0, 1118932.298 1079296.501 0, 1119200.1 1079303.509 0, 1119467.901 1079310.533 0, 1119735.701 1079317.573 0, 1120003.502 1079324.628 0, 1120271.301 1079331.699 0, 1120539.101 1079338.786 0, 1120806.9 1079345.888 0,
+ 1121074.698 1079353.007 0, 1121342.496 1079360.141 0, 1121610.294 1079367.291 0, 1121878.091 1079374.456 0, 1122144.612 1079381.603 0, 1122413.685 1079388.835 0, 1122681.481 1079396.048 0, 1122949.276 1079403.276 0, 1123217.071 1079410.521 0, 1123484.866 1079417.781 0,
+ 1123752.66 1079425.057 0, 1124020.454 1079432.349 0, 1124288.248 1079439.656 0, 1124556.041 1079446.979 0, 1124823.833 1079454.318 0, 1125091.625 1079461.673 0, 1125359.417 1079469.044 0, 1125627.208 1079476.43 0, 1125894.999 1079483.832 0, 1126162.789 1079491.25 0,
+ 1126430.579 1079498.683 0, 1126698.369 1079506.133 0, 1126966.158 1079513.598 0, 1127233.947 1079521.079 0, 1127501.735 1079528.575 0, 1127769.523 1079536.088 0, 1128037.31 1079543.616 0, 1128305.097 1079551.16 0, 1128571.608 1079558.683 0, 1128729.265 1073979.758 0,
+ 1128886.921 1068400.863 0))
+
+POLYGON ((1141424.818 1079940.079 0, 1141158.327 1079931.802 0, 1140890.562 1079923.502 0, 1140622.797 1079915.217 0, 1140355.032 1079906.948 0, 1140087.266 1079898.695 0, 1139819.499 1079890.457 0, 1139551.732 1079882.236 0, 1139283.965 1079874.03 0, 1139016.197 1079865.84 0,
+ 1138748.429 1079857.666 0, 1138480.66 1079849.507 0, 1138212.891 1079841.364 0, 1137945.121 1079833.237 0, 1137677.351 1079825.126 0, 1137409.58 1079817.03 0, 1137141.809 1079808.95 0, 1136874.037 1079800.886 0, 1136606.265 1079792.838 0, 1136338.492 1079784.806 0,
+ 1136070.719 1079776.789 0, 1135802.945 1079768.788 0, 1135535.171 1079760.803 0, 1135267.397 1079752.833 0, 1134998.348 1079744.842 0, 1134731.846 1079736.942 0, 1134464.07 1079729.02 0, 1134196.294 1079721.113 0, 1133928.517 1079713.223 0, 1133660.74 1079705.348 0,
+ 1133392.962 1079697.489 0, 1133125.183 1079689.645 0, 1132857.405 1079681.818 0, 1132589.626 1079674.006 0, 1132321.846 1079666.21 0, 1132054.066 1079658.429 0, 1131786.285 1079650.665 0, 1131518.504 1079642.916 0, 1131250.723 1079635.183 0, 1130982.941 1079627.466 0,
+ 1130715.158 1079619.764 0, 1130447.376 1079612.078 0, 1130179.592 1079604.408 0, 1129911.809 1079596.754 0, 1129644.024 1079589.116 0, 1129376.24 1079581.493 0, 1129108.455 1079573.886 0, 1128840.669 1079566.295 0, 1128571.608 1079558.683 0, 1128413.95 1085137.636 0,
+ 1128256.292 1090716.61 0, 1128524.693 1090724.203 0, 1128791.822 1090731.776 0, 1129058.95 1090739.364 0, 1129326.078 1090746.968 0, 1129593.206 1090754.588 0, 1129860.333 1090762.223 0, 1130127.459 1090769.874 0, 1130394.585 1090777.541 0, 1130661.711 1090785.224 0,
+ 1130928.836 1090792.922 0, 1131195.961 1090800.636 0, 1131463.085 1090808.366 0, 1131730.209 1090816.112 0, 1131997.333 1090823.873 0, 1132264.456 1090831.65 0, 1132531.578 1090839.442 0, 1132798.7 1090847.251 0, 1133065.822 1090855.075 0, 1133332.943 1090862.915 0,
+ 1133600.063 1090870.77 0, 1133867.183 1090878.642 0, 1134134.303 1090886.529 0, 1134401.422 1090894.431 0, 1134667.27 1090902.312 0, 1134935.66 1090910.284 0, 1135202.777 1090918.234 0, 1135469.895 1090926.2 0, 1135737.012 1090934.181 0, 1136004.128 1090942.178 0,
+ 1136271.244 1090950.191 0, 1136538.359 1090958.219 0, 1136805.475 1090966.264 0, 1137072.589 1090974.324 0, 1137339.703 1090982.399 0, 1137606.817 1090990.491 0, 1137873.93 1090998.598 0, 1138141.042 1091006.721 0, 1138408.155 1091014.859 0, 1138675.266 1091023.014 0,
+ 1138942.377 1091031.184 0, 1139209.488 1091039.369 0, 1139476.598 1091047.571 0, 1139743.708 1091055.788 0, 1140010.817 1091064.021 0, 1140277.926 1091072.269 0, 1140545.035 1091080.534 0, 1140812.142 1091088.814 0, 1141077.98 1091097.07 0, 1141251.399 1085518.563 0,
+ 1141424.818 1079940.079 0))
+
+POLYGON ((1153898.542 1091513.752 0, 1153632.726 1091504.745 0, 1153365.643 1091495.71 0, 1153098.559 1091486.691 0, 1152831.475 1091477.688 0, 1152564.39 1091468.7 0, 1152297.304 1091459.729 0, 1152030.218 1091450.773 0, 1151763.132 1091441.832 0, 1151496.045 1091432.908 0,
+ 1151228.957 1091423.999 0, 1150961.869 1091415.105 0, 1150694.781 1091406.228 0, 1150427.691 1091397.366 0, 1150160.602 1091388.52 0, 1149893.512 1091379.69 0, 1149626.421 1091370.875 0, 1149359.33 1091362.077 0, 1149092.238 1091353.293 0, 1148825.146 1091344.526 0,
+ 1148558.053 1091335.774 0, 1148290.96 1091327.038 0, 1148023.866 1091318.318 0, 1147756.771 1091309.614 0, 1147488.408 1091300.884 0, 1147222.581 1091292.252 0, 1146955.485 1091283.594 0, 1146688.389 1091274.953 0, 1146421.292 1091266.327 0, 1146154.195 1091257.717 0,
+ 1145887.097 1091249.122 0, 1145619.999 1091240.543 0, 1145352.9 1091231.98 0, 1145085.8 1091223.433 0, 1144818.7 1091214.901 0, 1144551.6 1091206.385 0, 1144284.499 1091197.885 0, 1144017.398 1091189.401 0, 1143750.296 1091180.932 0, 1143483.193 1091172.479 0,
+ 1143216.091 1091164.042 0, 1142948.987 1091155.62 0, 1142681.883 1091147.214 0, 1142414.779 1091138.824 0, 1142147.674 1091130.45 0, 1141880.569 1091122.091 0, 1141613.463 1091113.748 0, 1141346.356 1091105.421 0, 1141077.98 1091097.07 0, 1140904.56 1096675.595 0,
+ 1140731.14 1102254.134 0, 1140998.857 1102262.464 0, 1141265.306 1102270.771 0, 1141531.755 1102279.093 0, 1141798.204 1102287.431 0, 1142064.652 1102295.785 0, 1142331.1 1102304.155 0, 1142597.547 1102312.54 0, 1142863.994 1102320.941 0, 1143130.44 1102329.357 0,
+ 1143396.886 1102337.789 0, 1143663.331 1102346.237 0, 1143929.776 1102354.701 0, 1144196.22 1102363.18 0, 1144462.664 1102371.675 0, 1144729.107 1102380.186 0, 1144995.55 1102388.712 0, 1145261.992 1102397.254 0, 1145528.434 1102405.812 0, 1145794.875 1102414.385 0,
+ 1146061.316 1102422.974 0, 1146327.756 1102431.579 0, 1146594.195 1102440.199 0, 1146860.635 1102448.835 0, 1147125.808 1102457.446 0, 1147393.511 1102466.154 0, 1147659.949 1102474.838 0, 1147926.386 1102483.536 0, 1148192.823 1102492.251 0, 1148459.259 1102500.981 0,
+ 1148725.695 1102509.727 0, 1148992.13 1102518.488 0, 1149258.564 1102527.266 0, 1149524.998 1102536.059 0, 1149791.432 1102544.867 0, 1150057.865 1102553.691 0, 1150324.297 1102562.531 0, 1150590.729 1102571.387 0, 1150857.161 1102580.258 0, 1151123.592 1102589.145 0,
+ 1151390.022 1102598.048 0, 1151656.452 1102606.966 0, 1151922.882 1102615.9 0, 1152189.31 1102624.85 0, 1152455.739 1102633.816 0, 1152722.166 1102642.797 0, 1152988.594 1102651.793 0, 1153255.02 1102660.806 0, 1153520.182 1102669.791 0, 1153709.362 1097091.765 0,
+ 1153898.542 1091513.752 0))
+
+POLYGON ((1166307.999 1103121.578 0, 1166042.862 1103111.844 0, 1165776.462 1103102.079 0, 1165510.061 1103092.329 0, 1165243.66 1103082.596 0, 1164977.258 1103072.877 0, 1164710.855 1103063.175 0, 1164444.452 1103053.488 0, 1164178.048 1103043.817 0, 1163911.644 1103034.162 0,
+ 1163645.24 1103024.522 0, 1163378.834 1103014.898 0, 1163112.428 1103005.29 0, 1162846.022 1102995.697 0, 1162579.615 1102986.12 0, 1162313.207 1102976.559 0, 1162046.799 1102967.014 0, 1161780.39 1102957.484 0, 1161513.981 1102947.969 0, 1161247.571 1102938.471 0,
+ 1160981.161 1102928.988 0, 1160714.75 1102919.521 0, 1160448.338 1102910.069 0, 1160181.926 1102900.633 0, 1159914.25 1102891.169 0, 1159649.1 1102881.809 0, 1159382.687 1102872.42 0, 1159116.272 1102863.047 0, 1158849.858 1102853.69 0, 1158583.442 1102844.348 0,
+ 1158317.026 1102835.022 0, 1158050.61 1102825.711 0, 1157784.193 1102816.417 0, 1157517.775 1102807.138 0, 1157251.357 1102797.874 0, 1156984.938 1102788.627 0, 1156718.519 1102779.395 0, 1156452.099 1102770.178 0, 1156185.679 1102760.978 0, 1155919.258 1102751.793 0,
+ 1155652.837 1102742.623 0, 1155386.415 1102733.47 0, 1155119.993 1102724.332 0, 1154853.57 1102715.21 0, 1154587.146 1102706.103 0, 1154320.722 1102697.012 0, 1154054.297 1102687.937 0, 1153787.872 1102678.878 0, 1153520.182 1102669.791 0, 1153331.002 1108247.827 0,
+ 1153141.821 1113825.867 0, 1153408.852 1113834.931 0, 1153674.62 1113843.968 0, 1153940.388 1113853.021 0, 1154206.156 1113862.09 0, 1154471.923 1113871.174 0, 1154737.689 1113880.273 0, 1155003.455 1113889.389 0, 1155269.22 1113898.52 0, 1155534.985 1113907.666 0,
+ 1155800.749 1113916.829 0, 1156066.513 1113926.007 0, 1156332.276 1113935.2 0, 1156598.039 1113944.409 0, 1156863.801 1113953.634 0, 1157129.562 1113962.875 0, 1157395.323 1113972.131 0, 1157661.084 1113981.403 0, 1157926.843 1113990.69 0, 1158192.603 1113999.993 0,
+ 1158458.362 1114009.312 0, 1158724.12 1114018.646 0, 1158989.877 1114027.996 0, 1159255.635 1114037.362 0, 1159520.131 1114046.699 0, 1159787.147 1114056.14 0, 1160052.903 1114065.553 0, 1160318.658 1114074.981 0, 1160584.412 1114084.425 0, 1160850.166 1114093.884 0,
+ 1161115.919 1114103.36 0, 1161381.672 1114112.85 0, 1161647.424 1114122.357 0, 1161913.175 1114131.879 0, 1162178.926 1114141.417 0, 1162444.677 1114150.97 0, 1162710.427 1114160.539 0, 1162976.176 1114170.124 0, 1163241.925 1114179.724 0, 1163507.673 1114189.34 0,
+ 1163773.421 1114198.971 0, 1164039.168 1114208.618 0, 1164304.914 1114218.281 0, 1164570.66 1114227.96 0, 1164836.406 1114237.654 0, 1165102.15 1114247.364 0, 1165367.895 1114257.089 0, 1165633.638 1114266.83 0, 1165898.122 1114276.541 0, 1166103.061 1108699.057 0,
+ 1166307.999 1103121.578 0))
+
+POLYGON ((1178653.099 1114763.251 0, 1178388.641 1114752.794 0, 1178122.926 1114742.302 0, 1177857.21 1114731.826 0, 1177591.494 1114721.365 0, 1177325.777 1114710.92 0, 1177060.06 1114700.491 0, 1176794.342 1114690.078 0, 1176528.623 1114679.68 0, 1176262.903 1114669.297 0,
+ 1175997.184 1114658.931 0, 1175731.463 1114648.58 0, 1175465.742 1114638.244 0, 1175200.02 1114627.925 0, 1174934.298 1114617.62 0, 1174668.575 1114607.332 0, 1174402.851 1114597.059 0, 1174137.127 1114586.802 0, 1173871.402 1114576.56 0, 1173605.676 1114566.335 0,
+ 1173339.95 1114556.124 0, 1173074.224 1114545.93 0, 1172808.497 1114535.751 0, 1172542.769 1114525.587 0, 1172275.782 1114515.392 0, 1172011.311 1114505.308 0, 1171745.582 1114495.191 0, 1171479.851 1114485.09 0, 1171214.121 1114475.005 0, 1170948.389 1114464.936 0,
+ 1170682.657 1114454.882 0, 1170416.925 1114444.844 0, 1170151.192 1114434.821 0, 1169885.458 1114424.814 0, 1169619.723 1114414.823 0, 1169353.989 1114404.847 0, 1169088.253 1114394.887 0, 1168822.517 1114384.943 0, 1168556.78 1114375.014 0, 1168291.043 1114365.101 0,
+ 1168025.305 1114355.203 0, 1167759.567 1114345.322 0, 1167493.828 1114335.455 0, 1167228.088 1114325.605 0, 1166962.348 1114315.77 0, 1166696.607 1114305.951 0, 1166430.866 1114296.147 0, 1166165.124 1114286.359 0, 1165898.122 1114276.541 0, 1165693.183 1119854.024 0,
+ 1165488.245 1125431.504 0, 1165754.587 1125441.299 0, 1166019.672 1125451.062 0, 1166284.757 1125460.842 0, 1166549.841 1125470.637 0, 1166814.925 1125480.447 0, 1167080.008 1125490.274 0, 1167345.09 1125500.115 0, 1167610.172 1125509.973 0, 1167875.254 1125519.846 0,
+ 1168140.334 1125529.734 0, 1168405.415 1125539.639 0, 1168670.494 1125549.558 0, 1168935.573 1125559.494 0, 1169200.651 1125569.445 0, 1169465.729 1125579.411 0, 1169730.806 1125589.394 0, 1169995.883 1125599.391 0, 1170260.959 1125609.405 0, 1170526.035 1125619.434 0,
+ 1170791.109 1125629.479 0, 1171056.184 1125639.539 0, 1171321.257 1125649.615 0, 1171586.331 1125659.706 0, 1171850.148 1125669.765 0, 1172116.475 1125679.936 0, 1172381.546 1125690.074 0, 1172646.617 1125700.228 0, 1172911.687 1125710.397 0, 1173176.757 1125720.582 0,
+ 1173441.825 1125730.783 0, 1173706.894 1125740.999 0, 1173971.961 1125751.231 0, 1174237.029 1125761.478 0, 1174502.095 1125771.741 0, 1174767.161 1125782.02 0, 1175032.226 1125792.314 0, 1175297.291 1125802.624 0, 1175562.355 1125812.95 0, 1175827.418 1125823.291 0,
+ 1176092.481 1125833.647 0, 1176357.544 1125844.02 0, 1176622.605 1125854.407 0, 1176887.666 1125864.811 0, 1177152.727 1125875.23 0, 1177417.786 1125885.665 0, 1177682.846 1125896.115 0, 1177947.904 1125906.581 0, 1178211.708 1125917.013 0, 1178432.403 1120340.134 0,
+ 1178653.099 1114763.251 0))
+
+POLYGON ((1190933.749 1126438.465 0, 1190669.974 1126427.288 0, 1190404.946 1126416.073 0, 1190139.917 1126404.874 0, 1189874.888 1126393.691 0, 1189609.858 1126382.523 0, 1189344.827 1126371.371 0, 1189079.796 1126360.234 0, 1188814.764 1126349.113 0, 1188549.732 1126338.007 0,
+ 1188284.698 1126326.918 0, 1188019.665 1126315.843 0, 1187754.63 1126304.785 0, 1187489.595 1126293.742 0, 1187224.559 1126282.714 0, 1186959.523 1126271.702 0, 1186694.486 1126260.706 0, 1186429.448 1126249.725 0, 1186164.409 1126238.76 0, 1185899.37 1126227.811 0,
+ 1185634.331 1126216.877 0, 1185369.29 1126205.959 0, 1185104.25 1126195.056 0, 1184839.208 1126184.169 0, 1184572.913 1126173.246 0, 1184309.123 1126162.442 0, 1184044.079 1126151.601 0, 1183779.035 1126140.777 0, 1183513.99 1126129.968 0, 1183248.945 1126119.174 0,
+ 1182983.899 1126108.396 0, 1182718.852 1126097.634 0, 1182453.805 1126086.887 0, 1182188.757 1126076.156 0, 1181923.708 1126065.441 0, 1181658.659 1126054.741 0, 1181393.609 1126044.057 0, 1181128.559 1126033.388 0, 1180863.508 1126022.735 0, 1180598.456 1126012.097 0,
+ 1180333.403 1126001.476 0, 1180068.35 1125990.869 0, 1179803.297 1125980.279 0, 1179538.243 1125969.704 0, 1179273.188 1125959.144 0, 1179008.132 1125948.6 0, 1178743.076 1125938.072 0, 1178478.019 1125927.559 0, 1178211.708 1125917.013 0, 1177991.013 1131493.883 0,
+ 1177770.319 1137070.74 0, 1178035.971 1137081.26 0, 1178300.371 1137091.747 0, 1178564.771 1137102.249 0, 1178829.17 1137112.767 0, 1179093.568 1137123.3 0, 1179357.966 1137133.849 0, 1179622.363 1137144.413 0, 1179886.76 1137154.993 0, 1180151.155 1137165.589 0,
+ 1180415.551 1137176.2 0, 1180679.945 1137186.827 0, 1180944.339 1137197.469 0, 1181208.733 1137208.127 0, 1181473.125 1137218.8 0, 1181737.518 1137229.489 0, 1182001.909 1137240.193 0, 1182266.3 1137250.914 0, 1182530.69 1137261.649 0, 1182795.08 1137272.4 0,
+ 1183059.469 1137283.167 0, 1183323.857 1137293.949 0, 1183588.245 1137304.747 0, 1183852.632 1137315.561 0, 1184115.769 1137326.338 0, 1184381.404 1137337.234 0, 1184645.789 1137348.094 0, 1184910.174 1137358.97 0, 1185174.558 1137369.861 0, 1185438.941 1137380.768 0,
+ 1185703.323 1137391.69 0, 1185967.705 1137402.628 0, 1186232.087 1137413.582 0, 1186496.467 1137424.551 0, 1186760.847 1137435.535 0, 1187025.227 1137446.535 0, 1187289.606 1137457.551 0, 1187553.984 1137468.582 0, 1187818.361 1137479.629 0, 1188082.738 1137490.692 0,
+ 1188347.114 1137501.77 0, 1188611.489 1137512.863 0, 1188875.864 1137523.972 0, 1189140.238 1137535.097 0, 1189404.612 1137546.237 0, 1189668.985 1137557.393 0, 1189933.357 1137568.564 0, 1190197.728 1137579.751 0, 1190460.851 1137590.9 0, 1190697.3 1132014.689 0,
+ 1190933.749 1126438.465 0))
+
+POLYGON ((1203149.862 1138146.912 0, 1202886.77 1138135.02 0, 1202622.431 1138123.086 0, 1202358.092 1138111.168 0, 1202093.751 1138099.265 0, 1201829.41 1138087.378 0, 1201565.069 1138075.506 0, 1201300.726 1138063.65 0, 1201036.383 1138051.81 0, 1200772.039 1138039.985 0,
+ 1200507.695 1138028.176 0, 1200243.35 1138016.382 0, 1199979.004 1138004.604 0, 1199714.657 1137992.842 0, 1199450.31 1137981.095 0, 1199185.962 1137969.363 0, 1198921.614 1137957.647 0, 1198657.264 1137945.947 0, 1198392.914 1137934.262 0, 1198128.564 1137922.593 0,
+ 1197864.212 1137910.939 0, 1197599.86 1137899.301 0, 1197335.508 1137887.678 0, 1197071.154 1137876.071 0, 1196805.552 1137864.425 0, 1196542.445 1137852.904 0, 1196278.09 1137841.344 0, 1196013.734 1137829.799 0, 1195749.377 1137818.27 0, 1195485.019 1137806.756 0,
+ 1195220.661 1137795.258 0, 1194956.302 1137783.776 0, 1194691.943 1137772.309 0, 1194427.583 1137760.857 0, 1194163.222 1137749.421 0, 1193898.86 1137738.001 0, 1193634.498 1137726.596 0, 1193370.135 1137715.207 0, 1193105.772 1137703.834 0, 1192841.407 1137692.476 0,
+ 1192577.042 1137681.133 0, 1192312.677 1137669.806 0, 1192048.311 1137658.495 0, 1191783.944 1137647.199 0, 1191519.576 1137635.919 0, 1191255.208 1137624.654 0, 1190990.839 1137613.405 0, 1190726.469 1137602.171 0, 1190460.851 1137590.9 0, 1190224.402 1143167.094 0,
+ 1189987.955 1148743.266 0, 1190252.914 1148754.509 0, 1190516.628 1148765.714 0, 1190780.34 1148776.936 0, 1191044.052 1148788.172 0, 1191307.763 1148799.425 0, 1191571.474 1148810.692 0, 1191835.183 1148821.976 0, 1192098.893 1148833.274 0, 1192362.601 1148844.589 0,
+ 1192626.309 1148855.919 0, 1192890.016 1148867.264 0, 1193153.723 1148878.625 0, 1193417.428 1148890.001 0, 1193681.134 1148901.393 0, 1193944.838 1148912.801 0, 1194208.542 1148924.224 0, 1194472.245 1148935.662 0, 1194735.947 1148947.116 0, 1194999.649 1148958.586 0,
+ 1195263.35 1148970.071 0, 1195527.051 1148981.571 0, 1195790.751 1148993.087 0, 1196054.45 1149004.619 0, 1196316.904 1149016.112 0, 1196581.846 1149027.729 0, 1196845.543 1149039.307 0, 1197109.239 1149050.901 0, 1197372.935 1149062.51 0, 1197636.63 1149074.135 0,
+ 1197900.324 1149085.775 0, 1198164.018 1149097.431 0, 1198427.711 1149109.102 0, 1198691.403 1149120.789 0, 1198955.095 1149132.491 0, 1199218.786 1149144.209 0, 1199482.476 1149155.942 0, 1199746.165 1149167.691 0, 1200009.854 1149179.456 0, 1200273.542 1149191.236 0,
+ 1200537.23 1149203.031 0, 1200800.916 1149214.842 0, 1201064.602 1149226.669 0, 1201328.288 1149238.511 0, 1201591.972 1149250.368 0, 1201855.656 1149262.241 0, 1202119.34 1149274.13 0, 1202383.022 1149286.034 0, 1202645.461 1149297.897 0, 1202897.661 1143722.416 0,
+ 1203149.862 1138146.912 0))
+
+POLYGON ((1215301.349 1149888.286 0, 1215038.943 1149875.681 0, 1214775.295 1149863.032 0, 1214511.646 1149850.399 0, 1214247.997 1149837.781 0, 1213984.347 1149825.178 0, 1213720.696 1149812.591 0, 1213457.045 1149800.02 0, 1213193.392 1149787.464 0, 1212929.739 1149774.924 0,
+ 1212666.085 1149762.399 0, 1212402.431 1149749.89 0, 1212138.776 1149737.396 0, 1211875.12 1149724.917 0, 1211611.463 1149712.455 0, 1211347.805 1149700.007 0, 1211084.147 1149687.576 0, 1210820.488 1149675.159 0, 1210556.829 1149662.759 0, 1210293.168 1149650.373 0,
+ 1210029.507 1149638.004 0, 1209765.845 1149625.65 0, 1209502.183 1149613.311 0, 1209238.519 1149600.988 0, 1208973.613 1149588.622 0, 1208711.191 1149576.388 0, 1208447.525 1149564.112 0, 1208183.859 1149551.851 0, 1207920.192 1149539.605 0, 1207656.525 1149527.375 0,
+ 1207392.856 1149515.16 0, 1207129.187 1149502.962 0, 1206865.517 1149490.778 0, 1206601.847 1149478.61 0, 1206338.176 1149466.458 0, 1206074.504 1149454.321 0, 1205810.831 1149442.199 0, 1205547.158 1149430.094 0, 1205283.484 1149418.003 0, 1205019.809 1149405.928 0,
+ 1204756.133 1149393.869 0, 1204492.457 1149381.825 0, 1204228.78 1149369.797 0, 1203965.103 1149357.784 0, 1203701.424 1149345.787 0, 1203437.745 1149333.805 0, 1203174.066 1149321.839 0, 1202910.385 1149309.889 0, 1202645.461 1149297.897 0, 1202393.262 1154873.352 0,
+ 1202141.064 1160448.776 0, 1202405.329 1160460.737 0, 1202668.354 1160472.658 0, 1202931.377 1160484.595 0, 1203194.4 1160496.546 0, 1203457.422 1160508.514 0, 1203720.443 1160520.497 0, 1203983.464 1160532.495 0, 1204246.483 1160544.509 0, 1204509.503 1160556.538 0,
+ 1204772.521 1160568.583 0, 1205035.539 1160580.643 0, 1205298.556 1160592.719 0, 1205561.572 1160604.81 0, 1205824.588 1160616.917 0, 1206087.603 1160629.039 0, 1206350.617 1160641.176 0, 1206613.631 1160653.33 0, 1206876.643 1160665.498 0, 1207139.655 1160677.682 0,
+ 1207402.667 1160689.882 0, 1207665.677 1160702.097 0, 1207928.687 1160714.327 0, 1208191.696 1160726.573 0, 1208453.466 1160738.777 0, 1208717.713 1160751.112 0, 1208980.72 1160763.404 0, 1209243.726 1160775.712 0, 1209506.732 1160788.036 0, 1209769.736 1160800.375 0,
+ 1210032.741 1160812.729 0, 1210295.744 1160825.099 0, 1210558.747 1160837.484 0, 1210821.748 1160849.885 0, 1211084.75 1160862.301 0, 1211347.75 1160874.733 0, 1211610.75 1160887.18 0, 1211873.749 1160899.643 0, 1212136.747 1160912.121 0, 1212399.745 1160924.615 0,
+ 1212662.742 1160937.124 0, 1212925.738 1160949.649 0, 1213188.733 1160962.189 0, 1213451.727 1160974.744 0, 1213714.721 1160987.315 0, 1213977.714 1160999.902 0, 1214240.707 1161012.504 0, 1214503.698 1161025.122 0, 1214765.451 1161037.695 0, 1215033.399 1155463.006 0,
+ 1215301.349 1149888.286 0))
+
+POLYGON ((1227388.124 1161662.278 0, 1227126.406 1161648.965 0, 1226863.451 1161635.605 0, 1226600.495 1161622.26 0, 1226337.539 1161608.93 0, 1226074.581 1161595.616 0, 1225811.623 1161582.318 0, 1225548.664 1161569.035 0, 1225285.705 1161555.767 0, 1225022.744 1161542.515 0,
+ 1224759.783 1161529.278 0, 1224496.821 1161516.057 0, 1224233.858 1161502.851 0, 1223970.895 1161489.661 0, 1223707.931 1161476.486 0, 1223444.966 1161463.327 0, 1223182 1161450.183 0, 1222919.033 1161437.055 0, 1222656.066 1161423.942 0, 1222393.098 1161410.845 0,
+ 1222130.129 1161397.763 0, 1221867.159 1161384.697 0, 1221604.188 1161371.646 0, 1221341.217 1161358.61 0, 1221077.008 1161345.529 0, 1220815.272 1161332.586 0, 1220552.299 1161319.597 0, 1220289.325 1161306.623 0, 1220026.349 1161293.665 0, 1219763.374 1161280.723 0,
+ 1219500.397 1161267.796 0, 1219237.42 1161254.884 0, 1218974.442 1161241.988 0, 1218711.463 1161229.107 0, 1218448.483 1161216.242 0, 1218185.503 1161203.392 0, 1217922.522 1161190.558 0, 1217659.54 1161177.739 0, 1217396.557 1161164.936 0, 1217133.574 1161152.148 0,
+ 1216870.589 1161139.376 0, 1216607.605 1161126.619 0, 1216344.619 1161113.878 0, 1216081.633 1161101.152 0, 1215818.645 1161088.441 0, 1215555.657 1161075.746 0, 1215292.669 1161063.067 0, 1215029.679 1161050.403 0, 1214765.451 1161037.695 0, 1214497.505 1166612.348 0,
+ 1214229.56 1172186.961 0, 1214493.129 1172199.638 0, 1214755.463 1172212.27 0, 1215017.795 1172224.918 0, 1215280.127 1172237.581 0, 1215542.458 1172250.26 0, 1215804.788 1172262.954 0, 1216067.117 1172275.663 0, 1216329.446 1172288.388 0, 1216591.774 1172301.129 0,
+ 1216854.101 1172313.885 0, 1217116.428 1172326.656 0, 1217378.753 1172339.443 0, 1217641.078 1172352.245 0, 1217903.402 1172365.063 0, 1218165.726 1172377.896 0, 1218428.048 1172390.744 0, 1218690.37 1172403.608 0, 1218952.692 1172416.488 0, 1219215.012 1172429.382 0,
+ 1219477.332 1172442.293 0, 1219739.65 1172455.218 0, 1220001.969 1172468.16 0, 1220264.286 1172481.116 0, 1220525.369 1172494.027 0, 1220788.918 1172507.076 0, 1221051.233 1172520.079 0, 1221313.548 1172533.097 0, 1221575.861 1172546.131 0, 1221838.174 1172559.18 0,
+ 1222100.486 1172572.245 0, 1222362.797 1172585.325 0, 1222625.108 1172598.42 0, 1222887.417 1172611.531 0, 1223149.726 1172624.658 0, 1223412.034 1172637.8 0, 1223674.342 1172650.957 0, 1223936.648 1172664.13 0, 1224198.954 1172677.318 0, 1224461.259 1172690.521 0,
+ 1224723.564 1172703.741 0, 1224985.867 1172716.975 0, 1225248.17 1172730.225 0, 1225510.472 1172743.49 0, 1225772.773 1172756.771 0, 1226035.073 1172770.067 0, 1226297.373 1172783.379 0, 1226559.671 1172796.706 0, 1226820.737 1172809.986 0, 1227104.429 1167236.152 0,
+ 1227388.124 1161662.278 0))
+
+POLYGON ((1239410.102 1173468.581 0, 1239149.074 1173454.563 0, 1238886.814 1173440.495 0, 1238624.553 1173426.442 0, 1238362.291 1173412.405 0, 1238100.028 1173398.383 0, 1237837.765 1173384.377 0, 1237575.501 1173370.386 0, 1237313.236 1173356.411 0, 1237050.97 1173342.451 0,
+ 1236788.703 1173328.506 0, 1236526.436 1173314.577 0, 1236264.167 1173300.663 0, 1236001.898 1173286.765 0, 1235739.628 1173272.882 0, 1235477.358 1173259.014 0, 1235215.086 1173245.162 0, 1234952.813 1173231.326 0, 1234690.54 1173217.505 0, 1234428.266 1173203.699 0,
+ 1234165.991 1173189.909 0, 1233903.716 1173176.134 0, 1233641.439 1173162.374 0, 1233379.162 1173148.63 0, 1233115.652 1173134.838 0, 1232854.605 1173121.189 0, 1232592.325 1173107.491 0, 1232330.045 1173093.809 0, 1232067.763 1173080.142 0, 1231805.481 1173066.491 0,
+ 1231543.198 1173052.855 0, 1231280.915 1173039.235 0, 1231018.63 1173025.63 0, 1230756.345 1173012.04 0, 1230494.059 1172998.466 0, 1230231.772 1172984.907 0, 1229969.484 1172971.364 0, 1229707.196 1172957.836 0, 1229444.906 1172944.324 0, 1229182.616 1172930.827 0,
+ 1228920.325 1172917.345 0, 1228658.034 1172903.879 0, 1228395.741 1172890.428 0, 1228133.448 1172876.993 0, 1227871.154 1172863.574 0, 1227608.859 1172850.169 0, 1227346.563 1172836.78 0, 1227084.267 1172823.407 0, 1226820.737 1172809.986 0, 1226537.046 1178383.775 0,
+ 1226253.359 1183957.514 0, 1226516.229 1183970.902 0, 1226777.87 1183984.242 0, 1227039.509 1183997.597 0, 1227301.148 1184010.968 0, 1227562.786 1184024.354 0, 1227824.423 1184037.756 0, 1228086.059 1184051.173 0, 1228347.695 1184064.605 0, 1228609.33 1184078.053 0,
+ 1228870.964 1184091.516 0, 1229132.597 1184104.995 0, 1229394.23 1184118.489 0, 1229655.861 1184131.998 0, 1229917.492 1184145.523 0, 1230179.122 1184159.063 0, 1230440.751 1184172.618 0, 1230702.38 1184186.189 0, 1230964.007 1184199.776 0, 1231225.634 1184213.378 0,
+ 1231487.26 1184226.995 0, 1231748.885 1184240.627 0, 1232010.51 1184254.275 0, 1232272.133 1184267.939 0, 1232532.528 1184281.553 0, 1232795.378 1184295.312 0, 1233057 1184309.021 0, 1233318.62 1184322.746 0, 1233580.24 1184336.487 0, 1233841.858 1184350.242 0,
+ 1234103.476 1184364.014 0, 1234365.093 1184377.8 0, 1234626.71 1184391.602 0, 1234888.325 1184405.419 0, 1235149.94 1184419.252 0, 1235411.554 1184433.1 0, 1235673.167 1184446.964 0, 1235934.779 1184460.843 0, 1236196.391 1184474.737 0, 1236458.002 1184488.647 0,
+ 1236719.611 1184502.572 0, 1236981.22 1184516.513 0, 1237242.829 1184530.469 0, 1237504.436 1184544.44 0, 1237766.042 1184558.427 0, 1238027.648 1184572.429 0, 1238289.253 1184586.446 0, 1238550.857 1184600.479 0, 1238811.233 1184614.462 0, 1239110.666 1179041.546 0,
+ 1239410.102 1173468.581 0))
+
+POLYGON ((1251367.201 1185306.884 0, 1251106.864 1185292.166 0, 1250845.3 1185277.394 0, 1250583.736 1185262.638 0, 1250322.171 1185247.897 0, 1250060.605 1185233.171 0, 1249799.038 1185218.461 0, 1249537.47 1185203.766 0, 1249275.902 1185189.086 0, 1249014.332 1185174.422 0,
+ 1248752.762 1185159.773 0, 1248491.191 1185145.14 0, 1248229.619 1185130.522 0, 1247968.046 1185115.919 0, 1247706.472 1185101.332 0, 1247444.898 1185086.76 0, 1247183.322 1185072.204 0, 1246921.746 1185057.663 0, 1246660.169 1185043.137 0, 1246398.591 1185028.627 0,
+ 1246137.012 1185014.132 0, 1245875.432 1184999.652 0, 1245613.852 1184985.188 0, 1245352.27 1184970.74 0, 1245089.461 1184956.239 0, 1244829.105 1184941.889 0, 1244567.521 1184927.486 0, 1244305.936 1184913.099 0, 1244044.35 1184898.728 0, 1243782.764 1184884.371 0,
+ 1243521.176 1184870.03 0, 1243259.588 1184855.705 0, 1242997.999 1184841.395 0, 1242736.409 1184827.1 0, 1242474.818 1184812.821 0, 1242213.227 1184798.557 0, 1241951.634 1184784.308 0, 1241690.041 1184770.075 0, 1241428.447 1184755.858 0, 1241166.852 1184741.655 0,
+ 1240905.256 1184727.468 0, 1240643.66 1184713.297 0, 1240382.062 1184699.141 0, 1240120.464 1184685 0, 1239858.865 1184670.875 0, 1239597.265 1184656.765 0, 1239335.664 1184642.67 0, 1239074.063 1184628.591 0, 1238811.233 1184614.462 0, 1238511.802 1190187.323 0,
+ 1238212.375 1195760.126 0, 1238474.546 1195774.22 0, 1238735.491 1195788.264 0, 1238996.436 1195802.323 0, 1239257.38 1195816.398 0, 1239518.323 1195830.488 0, 1239779.265 1195844.593 0, 1240040.207 1195858.714 0, 1240301.147 1195872.85 0, 1240562.087 1195887.001 0,
+ 1240823.026 1195901.168 0, 1241083.964 1195915.35 0, 1241344.901 1195929.547 0, 1241605.838 1195943.76 0, 1241866.773 1195957.988 0, 1242127.708 1195972.231 0, 1242388.642 1195986.49 0, 1242649.575 1196000.764 0, 1242910.507 1196015.054 0, 1243171.439 1196029.359 0,
+ 1243432.369 1196043.679 0, 1243693.299 1196058.015 0, 1243954.228 1196072.366 0, 1244215.156 1196086.732 0, 1244474.86 1196101.046 0, 1244737.009 1196115.511 0, 1244997.935 1196129.923 0, 1245258.859 1196144.351 0, 1245519.783 1196158.794 0, 1245780.706 1196173.253 0,
+ 1246041.628 1196187.726 0, 1246302.549 1196202.216 0, 1246563.47 1196216.72 0, 1246824.389 1196231.24 0, 1247085.308 1196245.775 0, 1247346.226 1196260.326 0, 1247607.143 1196274.892 0, 1247868.059 1196289.473 0, 1248128.974 1196304.07 0, 1248389.889 1196318.682 0,
+ 1248650.802 1196333.31 0, 1248911.715 1196347.952 0, 1249172.626 1196362.61 0, 1249433.537 1196377.284 0, 1249694.447 1196391.973 0, 1249955.357 1196406.677 0, 1250216.265 1196421.397 0, 1250477.172 1196436.131 0, 1250736.857 1196450.813 0, 1251052.027 1190878.878 0,
+ 1251367.201 1185306.884 0))
+
+POLYGON ((1263259.337 1197176.88 0, 1262999.694 1197161.465 0, 1262738.829 1197145.993 0, 1262477.963 1197130.537 0, 1262217.097 1197115.096 0, 1261956.229 1197099.67 0, 1261695.361 1197084.259 0, 1261434.491 1197068.864 0, 1261173.621 1197053.484 0, 1260912.75 1197038.12 0,
+ 1260651.878 1197022.77 0, 1260391.005 1197007.437 0, 1260130.131 1196992.118 0, 1259869.256 1196976.815 0, 1259608.381 1196961.528 0, 1259347.504 1196946.255 0, 1259086.627 1196930.998 0, 1258825.748 1196915.757 0, 1258564.869 1196900.53 0, 1258303.989 1196885.319 0,
+ 1258043.108 1196870.124 0, 1257782.226 1196854.943 0, 1257521.343 1196839.779 0, 1257260.459 1196824.629 0, 1256998.353 1196809.424 0, 1256738.689 1196794.376 0, 1256477.803 1196779.273 0, 1256216.916 1196764.185 0, 1255956.027 1196749.112 0, 1255695.138 1196734.054 0,
+ 1255434.248 1196719.012 0, 1255173.358 1196703.986 0, 1254912.466 1196688.974 0, 1254651.573 1196673.978 0, 1254390.68 1196658.998 0, 1254129.785 1196644.033 0, 1253868.89 1196629.083 0, 1253607.994 1196614.148 0, 1253347.097 1196599.229 0, 1253086.199 1196584.325 0,
+ 1252825.3 1196569.437 0, 1252564.401 1196554.564 0, 1252303.5 1196539.706 0, 1252042.599 1196524.863 0, 1251781.697 1196510.036 0, 1251520.794 1196495.225 0, 1251259.89 1196480.428 0, 1250998.985 1196465.647 0, 1250736.857 1196450.813 0, 1250421.69 1202022.684 0,
+ 1250106.527 1207594.487 0, 1250367.996 1207609.284 0, 1250628.245 1207624.028 0, 1250888.493 1207638.787 0, 1251148.74 1207653.562 0, 1251408.987 1207668.352 0, 1251669.232 1207683.157 0, 1251929.477 1207697.977 0, 1252189.72 1207712.813 0, 1252449.963 1207727.664 0,
+ 1252710.205 1207742.53 0, 1252970.446 1207757.412 0, 1253230.687 1207772.309 0, 1253490.926 1207787.221 0, 1253751.165 1207802.149 0, 1254011.402 1207817.092 0, 1254271.639 1207832.05 0, 1254531.875 1207847.024 0, 1254792.11 1207862.013 0, 1255052.344 1207877.017 0,
+ 1255312.577 1207892.036 0, 1255572.809 1207907.071 0, 1255833.041 1207922.121 0, 1256093.271 1207937.187 0, 1256352.283 1207952.197 0, 1256613.73 1207967.364 0, 1256873.958 1207982.475 0, 1257134.185 1207997.602 0, 1257394.411 1208012.744 0, 1257654.636 1208027.901 0,
+ 1257914.86 1208043.074 0, 1258175.084 1208058.262 0, 1258435.306 1208073.465 0, 1258695.528 1208088.684 0, 1258955.749 1208103.918 0, 1259215.968 1208119.167 0, 1259476.187 1208134.432 0, 1259736.405 1208149.712 0, 1259996.623 1208165.007 0, 1260256.839 1208180.318 0,
+ 1260517.054 1208195.643 0, 1260777.269 1208210.985 0, 1261037.482 1208226.341 0, 1261297.695 1208241.713 0, 1261557.906 1208257.1 0, 1261818.117 1208272.502 0, 1262078.327 1208287.92 0, 1262338.536 1208303.353 0, 1262597.527 1208318.729 0, 1262928.43 1202747.839 0,
+ 1263259.337 1197176.88 0))
+
+POLYGON ((1275086.432 1209078.258 0, 1274827.483 1209062.15 0, 1274567.319 1209045.982 0, 1274307.153 1209029.829 0, 1274046.987 1209013.692 0, 1273786.82 1208997.57 0, 1273526.652 1208981.463 0, 1273266.483 1208965.371 0, 1273006.312 1208949.295 0, 1272746.141 1208933.234 0,
+ 1272485.97 1208917.188 0, 1272225.797 1208901.158 0, 1271965.623 1208885.143 0, 1271705.448 1208869.143 0, 1271445.272 1208853.159 0, 1271185.096 1208837.19 0, 1270924.918 1208821.236 0, 1270664.74 1208805.298 0, 1270404.56 1208789.375 0, 1270144.38 1208773.467 0,
+ 1269884.198 1208757.574 0, 1269624.016 1208741.697 0, 1269363.833 1208725.835 0, 1269103.649 1208709.989 0, 1268842.248 1208694.083 0, 1268583.278 1208678.341 0, 1268323.091 1208662.541 0, 1268062.903 1208646.755 0, 1267802.714 1208630.985 0, 1267542.524 1208615.231 0,
+ 1267282.334 1208599.491 0, 1267022.142 1208583.767 0, 1266761.949 1208568.059 0, 1266501.756 1208552.365 0, 1266241.562 1208536.687 0, 1265981.366 1208521.024 0, 1265721.17 1208505.377 0, 1265460.973 1208489.745 0, 1265200.775 1208474.128 0, 1264940.576 1208458.526 0,
+ 1264680.376 1208442.94 0, 1264420.175 1208427.369 0, 1264159.974 1208411.814 0, 1263899.771 1208396.273 0, 1263639.568 1208380.748 0, 1263379.363 1208365.239 0, 1263119.158 1208349.744 0, 1262858.951 1208334.265 0, 1262597.527 1208318.729 0, 1262266.628 1213889.547 0,
+ 1261935.734 1219460.287 0, 1262196.5 1219475.784 0, 1262456.05 1219491.224 0, 1262715.6 1219506.679 0, 1262975.149 1219522.15 0, 1263234.696 1219537.636 0, 1263494.243 1219553.137 0, 1263753.789 1219568.653 0, 1264013.334 1219584.185 0, 1264272.878 1219599.732 0,
+ 1264532.421 1219615.294 0, 1264791.964 1219630.872 0, 1265051.505 1219646.464 0, 1265311.046 1219662.072 0, 1265570.585 1219677.696 0, 1265830.124 1219693.334 0, 1266089.661 1219708.988 0, 1266349.198 1219724.657 0, 1266608.734 1219740.342 0, 1266868.269 1219756.042 0,
+ 1267127.803 1219771.757 0, 1267387.336 1219787.487 0, 1267646.868 1219803.232 0, 1267906.399 1219818.993 0, 1268164.717 1219834.695 0, 1268425.459 1219850.561 0, 1268684.988 1219866.367 0, 1268944.515 1219882.189 0, 1269204.042 1219898.026 0, 1269463.567 1219913.879 0,
+ 1269723.092 1219929.746 0, 1269982.616 1219945.629 0, 1270242.139 1219961.528 0, 1270501.661 1219977.441 0, 1270761.182 1219993.37 0, 1271020.702 1220009.314 0, 1271280.221 1220025.274 0, 1271539.739 1220041.248 0, 1271799.256 1220057.238 0, 1272058.772 1220073.243 0,
+ 1272318.288 1220089.264 0, 1272577.802 1220105.3 0, 1272837.315 1220121.351 0, 1273096.828 1220137.417 0, 1273356.339 1220153.498 0, 1273615.85 1220169.595 0, 1273875.36 1220185.707 0, 1274134.868 1220201.835 0, 1274393.164 1220217.902 0, 1274739.796 1214648.119 0,
+ 1275086.432 1209078.258 0))
+
+POLYGON ((1286848.404 1221010.708 0, 1286590.153 1220993.911 0, 1286330.691 1220977.051 0, 1286071.228 1220960.205 0, 1285811.763 1220943.376 0, 1285552.298 1220926.561 0, 1285292.832 1220909.761 0, 1285033.365 1220892.977 0, 1284773.897 1220876.208 0, 1284514.428 1220859.455 0,
+ 1284254.958 1220842.717 0, 1283995.487 1220825.993 0, 1283736.015 1220809.286 0, 1283476.542 1220792.593 0, 1283217.068 1220775.916 0, 1282957.593 1220759.254 0, 1282698.117 1220742.607 0, 1282438.641 1220725.976 0, 1282179.163 1220709.36 0, 1281919.684 1220692.759 0,
+ 1281660.204 1220676.173 0, 1281400.723 1220659.603 0, 1281141.241 1220643.048 0, 1280881.759 1220626.508 0, 1280621.064 1220609.907 0, 1280362.79 1220593.474 0, 1280103.305 1220576.98 0, 1279843.818 1220560.502 0, 1279584.33 1220544.038 0, 1279324.842 1220527.59 0,
+ 1279065.352 1220511.157 0, 1278805.862 1220494.74 0, 1278546.37 1220478.337 0, 1278286.878 1220461.95 0, 1278027.384 1220445.579 0, 1277767.89 1220429.222 0, 1277508.395 1220412.881 0, 1277248.899 1220396.555 0, 1276989.401 1220380.244 0, 1276729.903 1220363.949 0,
+ 1276470.404 1220347.669 0, 1276210.904 1220331.404 0, 1275951.403 1220315.154 0, 1275691.901 1220298.92 0, 1275432.398 1220282.701 0, 1275172.894 1220266.497 0, 1274913.389 1220250.309 0, 1274653.883 1220234.135 0, 1274393.164 1220217.902 0, 1274046.538 1225787.603 0,
+ 1273699.918 1231357.217 0, 1273959.978 1231373.409 0, 1274218.828 1231389.542 0, 1274477.677 1231405.689 0, 1274736.525 1231421.852 0, 1274995.373 1231438.03 0, 1275254.219 1231454.223 0, 1275513.065 1231470.432 0, 1275771.909 1231486.656 0, 1276030.753 1231502.895 0,
+ 1276289.595 1231519.149 0, 1276548.437 1231535.418 0, 1276807.278 1231551.703 0, 1277066.117 1231568.003 0, 1277324.956 1231584.318 0, 1277583.794 1231600.649 0, 1277842.631 1231616.994 0, 1278101.467 1231633.355 0, 1278360.301 1231649.731 0, 1278619.135 1231666.123 0,
+ 1278877.968 1231682.529 0, 1279136.8 1231698.951 0, 1279395.631 1231715.388 0, 1279654.462 1231731.84 0, 1279912.083 1231748.231 0, 1280172.119 1231764.791 0, 1280430.946 1231781.289 0, 1280689.772 1231797.802 0, 1280948.597 1231814.33 0, 1281207.422 1231830.874 0,
+ 1281466.245 1231847.433 0, 1281725.067 1231864.007 0, 1281983.889 1231880.597 0, 1282242.709 1231897.201 0, 1282501.528 1231913.821 0, 1282760.347 1231930.456 0, 1283019.164 1231947.106 0, 1283277.981 1231963.772 0, 1283536.796 1231980.453 0, 1283795.61 1231997.149 0,
+ 1284054.424 1232013.86 0, 1284313.236 1232030.587 0, 1284572.048 1232047.328 0, 1284830.858 1232064.085 0, 1285089.668 1232080.857 0, 1285348.477 1232097.645 0, 1285607.284 1232114.448 0, 1285866.091 1232131.265 0, 1286123.69 1232148.02 0, 1286486.044 1226579.408 0,
+ 1286848.404 1221010.708 0))
+
+POLYGON ((1298545.178 1232973.919 0, 1298287.625 1232956.437 0, 1298028.867 1232938.888 0, 1297770.108 1232921.354 0, 1297511.348 1232903.836 0, 1297252.587 1232886.332 0, 1296993.825 1232868.844 0, 1296735.062 1232851.371 0, 1296476.298 1232833.914 0, 1296217.532 1232816.471 0,
+ 1295958.766 1232799.044 0, 1295699.999 1232781.632 0, 1295441.23 1232764.236 0, 1295182.461 1232746.854 0, 1294923.691 1232729.488 0, 1294664.919 1232712.137 0, 1294406.147 1232694.801 0, 1294147.374 1232677.481 0, 1293888.599 1232660.175 0, 1293629.824 1232642.885 0,
+ 1293371.047 1232625.61 0, 1293112.27 1232608.351 0, 1292853.491 1232591.106 0, 1292594.712 1232573.877 0, 1292334.726 1232556.583 0, 1292077.15 1232539.465 0, 1291818.367 1232522.281 0, 1291559.583 1232505.113 0, 1291300.799 1232487.96 0, 1291042.013 1232470.822 0,
+ 1290783.227 1232453.7 0, 1290524.439 1232436.592 0, 1290265.65 1232419.5 0, 1290006.861 1232402.423 0, 1289748.07 1232385.362 0, 1289489.278 1232368.315 0, 1289230.486 1232351.284 0, 1288971.692 1232334.268 0, 1288712.898 1232317.268 0, 1288454.102 1232300.282 0,
+ 1288195.305 1232283.312 0, 1287936.508 1232266.357 0, 1287677.709 1232249.417 0, 1287418.909 1232232.493 0, 1287160.109 1232215.583 0, 1286901.307 1232198.689 0, 1286642.505 1232181.811 0, 1286383.701 1232164.947 0, 1286123.69 1232148.02 0, 1285761.341 1237716.541 0,
+ 1285398.999 1243284.965 0, 1285658.352 1243301.849 0, 1285916.5 1243318.67 0, 1286174.647 1243335.506 0, 1286432.793 1243352.357 0, 1286690.938 1243369.223 0, 1286949.082 1243386.105 0, 1287207.226 1243403.002 0, 1287465.368 1243419.914 0, 1287723.509 1243436.841 0,
+ 1287981.649 1243453.784 0, 1288239.788 1243470.741 0, 1288497.926 1243487.714 0, 1288756.064 1243504.702 0, 1289014.2 1243521.705 0, 1289272.335 1243538.724 0, 1289530.469 1243555.757 0, 1289788.602 1243572.806 0, 1290046.734 1243589.87 0, 1290304.865 1243606.949 0,
+ 1290562.996 1243624.044 0, 1290821.125 1243641.153 0, 1291079.253 1243658.278 0, 1291337.38 1243675.418 0, 1291594.304 1243692.493 0, 1291853.631 1243709.743 0, 1292111.755 1243726.929 0, 1292369.878 1243744.13 0, 1292628.001 1243761.345 0, 1292886.122 1243778.577 0,
+ 1293144.242 1243795.823 0, 1293402.361 1243813.084 0, 1293660.479 1243830.361 0, 1293918.596 1243847.653 0, 1294176.712 1243864.96 0, 1294434.827 1243882.282 0, 1294692.94 1243899.62 0, 1294951.053 1243916.972 0, 1295209.165 1243934.34 0, 1295467.276 1243951.723 0,
+ 1295725.386 1243969.121 0, 1295983.495 1243986.535 0, 1296241.603 1244003.963 0, 1296499.709 1244021.407 0, 1296757.815 1244038.866 0, 1297015.92 1244056.34 0, 1297274.024 1244073.83 0, 1297532.126 1244091.334 0, 1297789.027 1244108.772 0, 1298167.099 1238541.394 0,
+ 1298545.178 1232973.919 0))
+
+POLYGON ((1310176.677 1244967.581 0, 1309919.825 1244949.417 0, 1309661.773 1244931.183 0, 1309403.72 1244912.965 0, 1309145.665 1244894.761 0, 1308887.61 1244876.573 0, 1308629.553 1244858.4 0, 1308371.496 1244840.243 0, 1308113.437 1244822.1 0, 1307855.378 1244803.973 0,
+ 1307597.317 1244785.86 0, 1307339.255 1244767.763 0, 1307081.192 1244749.682 0, 1306823.128 1244731.615 0, 1306565.063 1244713.564 0, 1306306.997 1244695.527 0, 1306048.93 1244677.506 0, 1305790.862 1244659.501 0, 1305532.793 1244641.51 0, 1305274.723 1244623.535 0,
+ 1305016.651 1244605.574 0, 1304758.579 1244587.629 0, 1304500.505 1244569.699 0, 1304242.431 1244551.785 0, 1303983.155 1244533.802 0, 1303726.279 1244516.001 0, 1303468.201 1244498.132 0, 1303210.122 1244480.278 0, 1302952.042 1244462.439 0, 1302693.962 1244444.615 0,
+ 1302435.88 1244426.807 0, 1302177.797 1244409.014 0, 1301919.713 1244391.236 0, 1301661.628 1244373.473 0, 1301403.542 1244355.725 0, 1301145.455 1244337.993 0, 1300887.367 1244320.276 0, 1300629.277 1244302.574 0, 1300371.187 1244284.887 0, 1300113.096 1244267.215 0,
+ 1299855.004 1244249.559 0, 1299596.91 1244231.918 0, 1299338.816 1244214.291 0, 1299080.72 1244196.681 0, 1298822.624 1244179.085 0, 1298564.527 1244161.504 0, 1298306.428 1244143.939 0, 1298048.328 1244126.389 0, 1297789.027 1244108.772 0, 1297410.961 1249676.049 0,
+ 1297032.903 1255243.22 0, 1297291.546 1255260.792 0, 1297548.99 1255278.297 0, 1297806.433 1255295.818 0, 1298063.875 1255313.354 0, 1298321.317 1255330.905 0, 1298578.757 1255348.471 0, 1298836.196 1255366.052 0, 1299093.634 1255383.649 0, 1299351.071 1255401.26 0,
+ 1299608.507 1255418.887 0, 1299865.942 1255436.529 0, 1300123.375 1255454.186 0, 1300380.808 1255471.858 0, 1300638.24 1255489.546 0, 1300895.671 1255507.248 0, 1301153.1 1255524.966 0, 1301410.529 1255542.699 0, 1301667.957 1255560.447 0, 1301925.383 1255578.21 0,
+ 1302182.809 1255595.988 0, 1302440.233 1255613.782 0, 1302697.657 1255631.59 0, 1302955.079 1255649.414 0, 1303211.303 1255667.17 0, 1303469.921 1255685.107 0, 1303727.34 1255702.976 0, 1303984.758 1255720.861 0, 1304242.175 1255738.76 0, 1304499.591 1255756.675 0,
+ 1304757.006 1255774.605 0, 1305014.42 1255792.55 0, 1305271.833 1255810.51 0, 1305529.245 1255828.485 0, 1305786.656 1255846.475 0, 1306044.066 1255864.481 0, 1306301.474 1255882.502 0, 1306558.882 1255900.538 0, 1306816.288 1255918.589 0, 1307073.694 1255936.655 0,
+ 1307331.098 1255954.736 0, 1307588.502 1255972.833 0, 1307845.904 1255990.944 0, 1308103.305 1256009.071 0, 1308360.705 1256027.213 0, 1308618.104 1256045.37 0, 1308875.502 1256063.542 0, 1309132.899 1256081.73 0, 1309389.099 1256099.848 0, 1309782.884 1250533.767 0,
+ 1310176.677 1244967.581 0))
+
+POLYGON ((1321742.827 1256991.38 0, 1321486.677 1256972.539 0, 1321229.332 1256953.624 0, 1320971.987 1256934.725 0, 1320714.64 1256915.841 0, 1320457.292 1256896.971 0, 1320199.943 1256878.118 0, 1319942.593 1256859.279 0, 1319685.242 1256840.455 0, 1319427.889 1256821.647 0,
+ 1319170.536 1256802.853 0, 1318913.182 1256784.075 0, 1318655.826 1256765.312 0, 1318398.469 1256746.564 0, 1318141.111 1256727.832 0, 1317883.752 1256709.114 0, 1317626.392 1256690.412 0, 1317369.031 1256671.724 0, 1317111.669 1256653.052 0, 1316854.306 1256634.395 0,
+ 1316596.941 1256615.753 0, 1316339.576 1256597.127 0, 1316082.209 1256578.515 0, 1315824.841 1256559.919 0, 1315566.278 1256541.251 0, 1315310.103 1256522.771 0, 1315052.732 1256504.22 0, 1314795.36 1256485.685 0, 1314537.986 1256467.164 0, 1314280.612 1256448.658 0,
+ 1314023.237 1256430.168 0, 1313765.86 1256411.693 0, 1313508.483 1256393.233 0, 1313251.104 1256374.788 0, 1312993.724 1256356.358 0, 1312736.344 1256337.944 0, 1312478.962 1256319.544 0, 1312221.579 1256301.16 0, 1311964.195 1256282.791 0, 1311706.81 1256264.437 0,
+ 1311449.424 1256246.098 0, 1311192.036 1256227.774 0, 1310934.648 1256209.465 0, 1310677.258 1256191.172 0, 1310419.868 1256172.894 0, 1310162.476 1256154.631 0, 1309905.084 1256136.383 0, 1309647.69 1256118.15 0, 1309389.099 1256099.848 0, 1308995.322 1261665.817 0,
+ 1308601.553 1267231.67 0, 1308859.485 1267249.926 0, 1309116.224 1267268.112 0, 1309372.961 1267286.314 0, 1309629.698 1267304.53 0, 1309886.433 1267322.762 0, 1310143.167 1267341.009 0, 1310399.9 1267359.271 0, 1310656.633 1267377.548 0, 1310913.364 1267395.84 0,
+ 1311170.093 1267414.148 0, 1311426.822 1267432.47 0, 1311683.55 1267450.807 0, 1311940.277 1267469.16 0, 1312197.002 1267487.528 0, 1312453.727 1267505.911 0, 1312710.45 1267524.309 0, 1312967.173 1267542.722 0, 1313223.894 1267561.15 0, 1313480.614 1267579.593 0,
+ 1313737.333 1267598.052 0, 1313994.052 1267616.525 0, 1314250.768 1267635.014 0, 1314507.484 1267653.517 0, 1314763.007 1267671.95 0, 1315020.913 1267690.57 0, 1315277.625 1267709.119 0, 1315534.337 1267727.683 0, 1315791.047 1267746.263 0, 1316047.757 1267764.857 0,
+ 1316304.465 1267783.467 0, 1316561.172 1267802.091 0, 1316817.878 1267820.731 0, 1317074.583 1267839.386 0, 1317331.287 1267858.056 0, 1317587.989 1267876.741 0, 1317844.691 1267895.441 0, 1318101.392 1267914.156 0, 1318358.091 1267932.887 0, 1318614.789 1267951.632 0,
+ 1318871.487 1267970.393 0, 1319128.183 1267989.168 0, 1319384.878 1268007.959 0, 1319641.572 1268026.765 0, 1319898.264 1268045.586 0, 1320154.956 1268064.422 0, 1320411.647 1268083.273 0, 1320668.336 1268102.14 0, 1320923.834 1268120.934 0, 1321333.326 1262556.215 0,
+ 1321742.827 1256991.38 0))
+
+POLYGON ((1333243.553 1269045.006 0, 1332988.108 1269025.49 0, 1332731.473 1269005.899 0, 1332474.836 1268986.323 0, 1332218.199 1268966.761 0, 1331961.56 1268947.215 0, 1331704.921 1268927.684 0, 1331448.28 1268908.168 0, 1331191.638 1268888.667 0, 1330934.994 1268869.182 0,
+ 1330678.35 1268849.711 0, 1330421.705 1268830.256 0, 1330165.058 1268810.815 0, 1329908.41 1268791.39 0, 1329651.761 1268771.98 0, 1329395.111 1268752.585 0, 1329138.46 1268733.205 0, 1328881.808 1268713.84 0, 1328625.154 1268694.49 0, 1328368.5 1268675.155 0,
+ 1328111.844 1268655.836 0, 1327855.187 1268636.531 0, 1327598.529 1268617.242 0, 1327341.87 1268597.968 0, 1327084.02 1268578.619 0, 1326828.548 1268559.464 0, 1326571.885 1268540.235 0, 1326315.222 1268521.022 0, 1326058.557 1268501.823 0, 1325801.891 1268482.639 0,
+ 1325545.224 1268463.471 0, 1325288.556 1268444.317 0, 1325031.886 1268425.179 0, 1324775.216 1268406.056 0, 1324518.544 1268386.948 0, 1324261.872 1268367.855 0, 1324005.198 1268348.777 0, 1323748.523 1268329.714 0, 1323491.847 1268310.667 0, 1323235.17 1268291.634 0,
+ 1322978.491 1268272.617 0, 1322721.812 1268253.614 0, 1322465.131 1268234.627 0, 1322208.45 1268215.655 0, 1321951.767 1268196.698 0, 1321695.083 1268177.756 0, 1321438.398 1268158.829 0, 1321181.712 1268139.918 0, 1320923.834 1268120.934 0, 1320514.351 1273685.532 0,
+ 1320104.877 1279250.004 0, 1320362.096 1279268.939 0, 1320618.128 1279287.803 0, 1320874.158 1279306.681 0, 1321130.186 1279325.575 0, 1321386.214 1279344.484 0, 1321642.241 1279363.407 0, 1321898.266 1279382.346 0, 1322154.291 1279401.3 0, 1322410.314 1279420.269 0,
+ 1322666.336 1279439.253 0, 1322922.357 1279458.252 0, 1323178.377 1279477.266 0, 1323434.396 1279496.295 0, 1323690.414 1279515.339 0, 1323946.43 1279534.399 0, 1324202.446 1279553.473 0, 1324458.46 1279572.562 0, 1324714.473 1279591.667 0, 1324970.486 1279610.786 0,
+ 1325226.497 1279629.921 0, 1325482.506 1279649.071 0, 1325738.515 1279668.236 0, 1325994.523 1279687.415 0, 1326249.343 1279706.521 0, 1326506.534 1279725.82 0, 1326762.539 1279745.045 0, 1327018.542 1279764.286 0, 1327274.544 1279783.541 0, 1327530.544 1279802.811 0,
+ 1327786.544 1279822.096 0, 1328042.543 1279841.397 0, 1328298.54 1279860.712 0, 1328554.536 1279880.043 0, 1328810.531 1279899.388 0, 1329066.525 1279918.749 0, 1329322.518 1279938.125 0, 1329578.51 1279957.516 0, 1329834.501 1279976.921 0, 1330090.49 1279996.342 0,
+ 1330346.478 1280015.778 0, 1330602.465 1280035.229 0, 1330858.451 1280054.696 0, 1331114.436 1280074.177 0, 1331370.42 1280093.673 0, 1331626.402 1280113.184 0, 1331882.384 1280132.711 0, 1332138.364 1280152.252 0, 1332393.158 1280171.718 0, 1332818.351 1274608.425 0,
+ 1333243.553 1269045.006 0))
+
+POLYGON ((1344678.786 1281128.146 0, 1344424.046 1281107.96 0, 1344168.122 1281087.695 0, 1343912.197 1281067.446 0, 1343656.271 1281047.211 0, 1343400.343 1281026.992 0, 1343144.414 1281006.787 0, 1342888.484 1280986.598 0, 1342632.553 1280966.424 0, 1342376.621 1280946.265 0,
+ 1342120.687 1280926.121 0, 1341864.752 1280905.992 0, 1341608.817 1280885.878 0, 1341352.88 1280865.779 0, 1341096.941 1280845.695 0, 1340841.002 1280825.626 0, 1340585.061 1280805.573 0, 1340329.119 1280785.534 0, 1340073.176 1280765.51 0, 1339817.232 1280745.502 0,
+ 1339561.287 1280725.509 0, 1339305.34 1280705.53 0, 1339049.393 1280685.567 0, 1338793.444 1280665.619 0, 1338536.309 1280645.593 0, 1338281.543 1280625.767 0, 1338025.59 1280605.864 0, 1337769.637 1280585.976 0, 1337513.682 1280566.103 0, 1337257.726 1280546.246 0,
+ 1337001.769 1280526.403 0, 1336745.811 1280506.575 0, 1336489.851 1280486.762 0, 1336233.891 1280466.965 0, 1335977.929 1280447.182 0, 1335721.966 1280427.415 0, 1335466.002 1280407.662 0, 1335210.037 1280387.925 0, 1334954.071 1280368.203 0, 1334698.103 1280348.496 0,
+ 1334442.134 1280328.803 0, 1334186.164 1280309.126 0, 1333930.193 1280289.464 0, 1333674.221 1280269.817 0, 1333418.248 1280250.186 0, 1333162.273 1280230.569 0, 1332906.298 1280210.967 0, 1332650.321 1280191.38 0, 1332393.158 1280171.718 0, 1331967.975 1285734.881 0,
+ 1331542.802 1291297.908 0, 1331799.308 1291317.52 0, 1332054.629 1291337.056 0, 1332309.95 1291356.608 0, 1332565.27 1291376.175 0, 1332820.588 1291395.756 0, 1333075.906 1291415.353 0, 1333331.222 1291434.965 0, 1333586.537 1291454.591 0, 1333841.851 1291474.233 0,
+ 1334097.163 1291493.89 0, 1334352.475 1291513.562 0, 1334607.785 1291533.248 0, 1334863.094 1291552.95 0, 1335118.403 1291572.667 0, 1335373.709 1291592.399 0, 1335629.015 1291612.146 0, 1335884.32 1291631.908 0, 1336139.623 1291651.685 0, 1336394.925 1291671.477 0,
+ 1336650.227 1291691.284 0, 1336905.526 1291711.106 0, 1337160.825 1291730.943 0, 1337416.123 1291750.795 0, 1337670.238 1291770.571 0, 1337926.714 1291790.545 0, 1338182.009 1291810.442 0, 1338437.301 1291830.354 0, 1338692.593 1291850.281 0, 1338947.884 1291870.224 0,
+ 1339203.173 1291890.181 0, 1339458.461 1291910.153 0, 1339713.748 1291930.141 0, 1339969.034 1291950.143 0, 1340224.319 1291970.161 0, 1340479.602 1291990.193 0, 1340734.885 1292010.24 0, 1340990.166 1292030.303 0, 1341245.446 1292050.38 0, 1341500.725 1292070.473 0,
+ 1341756.002 1292090.581 0, 1342011.279 1292110.703 0, 1342266.554 1292130.841 0, 1342521.828 1292150.993 0, 1342777.101 1292171.161 0, 1343032.372 1292191.344 0, 1343287.643 1292211.542 0, 1343542.912 1292231.754 0, 1343797 1292251.888 0, 1344237.887 1286690.085 0,
+ 1344678.786 1281128.146 0))
+
+POLYGON ((1356048.454 1293240.486 0, 1355794.422 1293219.633 0, 1355539.211 1293198.7 0, 1355283.998 1293177.781 0, 1355028.785 1293156.877 0, 1354773.57 1293135.988 0, 1354518.354 1293115.114 0, 1354263.136 1293094.256 0, 1354007.918 1293073.412 0, 1353752.698 1293052.583 0,
+ 1353497.477 1293031.77 0, 1353242.255 1293010.971 0, 1352987.032 1292990.187 0, 1352731.807 1292969.419 0, 1352476.581 1292948.665 0, 1352221.354 1292927.927 0, 1351966.126 1292907.203 0, 1351710.896 1292886.495 0, 1351455.665 1292865.801 0, 1351200.433 1292845.123 0,
+ 1350945.2 1292824.459 0, 1350689.966 1292803.811 0, 1350434.73 1292783.177 0, 1350179.493 1292762.559 0, 1349923.076 1292741.86 0, 1349669.016 1292721.367 0, 1349413.775 1292700.794 0, 1349158.534 1292680.236 0, 1348903.291 1292659.692 0, 1348648.047 1292639.164 0,
+ 1348392.801 1292618.651 0, 1348137.555 1292598.153 0, 1347882.307 1292577.67 0, 1347627.058 1292557.201 0, 1347371.808 1292536.748 0, 1347116.557 1292516.31 0, 1346861.304 1292495.887 0, 1346606.05 1292475.479 0, 1346350.795 1292455.086 0, 1346095.539 1292434.708 0,
+ 1345840.282 1292414.345 0, 1345585.023 1292393.997 0, 1345329.764 1292373.664 0, 1345074.503 1292353.346 0, 1344819.241 1292333.043 0, 1344563.977 1292312.755 0, 1344308.713 1292292.483 0, 1344053.447 1292272.225 0, 1343797 1292251.888 0, 1343356.124 1297813.552 0,
+ 1342915.259 1303375.069 0, 1343171.048 1303395.354 0, 1343425.659 1303415.559 0, 1343680.269 1303435.78 0, 1343934.878 1303456.016 0, 1344189.485 1303476.267 0, 1344444.091 1303496.533 0, 1344698.696 1303516.814 0, 1344953.3 1303537.109 0, 1345207.903 1303557.42 0,
+ 1345462.504 1303577.746 0, 1345717.105 1303598.087 0, 1345971.704 1303618.442 0, 1346226.302 1303638.813 0, 1346480.898 1303659.199 0, 1346735.494 1303679.599 0, 1346990.088 1303700.015 0, 1347244.681 1303720.446 0, 1347499.273 1303740.891 0, 1347753.864 1303761.352 0,
+ 1348008.453 1303781.827 0, 1348263.042 1303802.318 0, 1348517.629 1303822.824 0, 1348772.215 1303843.344 0, 1349025.623 1303863.785 0, 1349281.383 1303884.43 0, 1349535.965 1303904.996 0, 1349790.546 1303925.576 0, 1350045.126 1303946.172 0, 1350299.704 1303966.782 0,
+ 1350554.282 1303987.408 0, 1350808.858 1304008.048 0, 1351063.433 1304028.703 0, 1351318.007 1304049.374 0, 1351572.579 1304070.059 0, 1351827.15 1304090.759 0, 1352081.72 1304111.475 0, 1352336.289 1304132.205 0, 1352590.857 1304152.95 0, 1352845.423 1304173.711 0,
+ 1353099.989 1304194.486 0, 1353354.553 1304215.276 0, 1353609.115 1304236.081 0, 1353863.677 1304256.902 0, 1354118.237 1304277.737 0, 1354372.796 1304298.587 0, 1354627.354 1304319.452 0, 1354881.911 1304340.332 0, 1355135.291 1304361.131 0, 1355591.867 1298800.881 0,
+ 1356048.454 1293240.486 0))
+
+POLYGON ((1367352.489 1305381.713 0, 1367099.166 1305360.198 0, 1366844.67 1305338.599 0, 1366590.172 1305317.015 0, 1366335.673 1305295.445 0, 1366081.172 1305273.891 0, 1365826.671 1305252.352 0, 1365572.168 1305230.827 0, 1365317.663 1305209.318 0, 1365063.158 1305187.824 0,
+ 1364808.651 1305166.344 0, 1364554.143 1305144.88 0, 1364299.634 1305123.43 0, 1364045.123 1305101.996 0, 1363790.612 1305080.576 0, 1363536.098 1305059.172 0, 1363281.584 1305037.782 0, 1363027.069 1305016.408 0, 1362772.552 1304995.048 0, 1362518.034 1304973.704 0,
+ 1362263.514 1304952.374 0, 1362008.994 1304931.059 0, 1361754.472 1304909.76 0, 1361499.949 1304888.475 0, 1361244.251 1304867.107 0, 1360990.899 1304845.951 0, 1360736.372 1304824.711 0, 1360481.844 1304803.486 0, 1360227.314 1304782.277 0, 1359972.784 1304761.082 0,
+ 1359718.252 1304739.902 0, 1359463.719 1304718.737 0, 1359209.184 1304697.587 0, 1358954.649 1304676.452 0, 1358700.112 1304655.333 0, 1358445.574 1304634.228 0, 1358191.035 1304613.138 0, 1357936.494 1304592.063 0, 1357681.952 1304571.003 0, 1357427.409 1304549.958 0,
+ 1357172.865 1304528.928 0, 1356918.319 1304507.913 0, 1356663.773 1304486.913 0, 1356409.225 1304465.928 0, 1356154.675 1304444.958 0, 1355900.125 1304424.003 0, 1355645.573 1304403.063 0, 1355391.02 1304382.138 0, 1355135.291 1304361.131 0, 1354678.728 1309921.231 0,
+ 1354222.178 1315481.175 0, 1354477.249 1315502.127 0, 1354731.148 1315522.999 0, 1354985.045 1315543.885 0, 1355238.941 1315564.786 0, 1355492.836 1315585.702 0, 1355746.729 1315606.633 0, 1356000.622 1315627.579 0, 1356254.513 1315648.54 0, 1356508.402 1315669.516 0,
+ 1356762.291 1315690.507 0, 1357016.178 1315711.513 0, 1357270.064 1315732.534 0, 1357523.949 1315753.569 0, 1357777.833 1315774.62 0, 1358031.715 1315795.685 0, 1358285.596 1315816.766 0, 1358539.476 1315837.861 0, 1358793.355 1315858.972 0, 1359047.232 1315880.097 0,
+ 1359301.109 1315901.237 0, 1359554.984 1315922.393 0, 1359808.857 1315943.563 0, 1360062.73 1315964.748 0, 1360315.43 1315985.85 0, 1360570.471 1316007.163 0, 1360824.339 1316028.393 0, 1361078.207 1316049.638 0, 1361332.073 1316070.898 0, 1361585.938 1316092.172 0,
+ 1361839.802 1316113.462 0, 1362093.664 1316134.767 0, 1362347.525 1316156.086 0, 1362601.385 1316177.421 0, 1362855.244 1316198.77 0, 1363109.101 1316220.135 0, 1363362.958 1316241.514 0, 1363616.812 1316262.908 0, 1363870.666 1316284.318 0, 1364124.518 1316305.742 0,
+ 1364378.37 1316327.181 0, 1364632.219 1316348.635 0, 1364886.068 1316370.104 0, 1365139.915 1316391.588 0, 1365393.761 1316413.087 0, 1365647.606 1316434.6 0, 1365901.45 1316456.129 0, 1366155.292 1316477.673 0, 1366407.963 1316499.132 0, 1366880.22 1310940.5 0,
+ 1367352.489 1305381.713 0))
+
+POLYGON ((809433.763 813722.916 0, 809151.733 813734.086 0, 808868.301 813745.327 0, 808584.87 813756.585 0, 808301.439 813767.859 0, 808018.009 813779.151 0, 807734.58 813790.459 0, 807451.152 813801.784 0, 807167.724 813813.125 0, 806884.297 813824.483 0,
+ 806600.87 813835.858 0, 806317.445 813847.249 0, 806034.02 813858.657 0, 805750.595 813870.082 0, 805467.171 813881.524 0, 805183.748 813892.982 0, 804900.326 813904.457 0, 804616.904 813915.948 0, 804333.483 813927.456 0, 804050.063 813938.981 0,
+ 803766.643 813950.523 0, 803483.224 813962.081 0, 803199.806 813973.656 0, 802916.388 813985.247 0, 802631.568 813996.913 0, 802349.555 814008.481 0, 802066.139 814020.122 0, 801782.724 814031.781 0, 801499.31 814043.456 0, 801215.896 814055.147 0,
+ 800932.483 814066.856 0, 800649.071 814078.581 0, 800365.66 814090.323 0, 800082.249 814102.081 0, 799798.839 814113.856 0, 799515.429 814125.648 0, 799232.021 814137.456 0, 798948.613 814149.282 0, 798665.205 814161.123 0, 798381.799 814172.982 0,
+ 798098.393 814184.857 0, 797814.987 814196.749 0, 797531.583 814208.657 0, 797248.179 814220.583 0, 796964.776 814232.525 0, 796681.374 814244.483 0, 796397.972 814256.458 0, 796114.571 814268.45 0, 795829.767 814280.519 0, 796065.964 819850.785 0,
+ 796302.17 825421.266 0, 796586.315 825409.226 0, 796869.06 825397.262 0, 797151.806 825385.314 0, 797434.553 825373.384 0, 797717.3 825361.469 0, 798000.048 825349.572 0, 798282.797 825337.691 0, 798565.547 825325.826 0, 798848.297 825313.979 0,
+ 799131.048 825302.148 0, 799413.799 825290.333 0, 799696.552 825278.535 0, 799979.305 825266.754 0, 800262.058 825254.99 0, 800544.813 825243.242 0, 800827.568 825231.511 0, 801110.323 825219.796 0, 801393.08 825208.098 0, 801675.837 825196.417 0,
+ 801958.595 825184.752 0, 802241.353 825173.104 0, 802524.112 825161.473 0, 802806.872 825149.858 0, 803088.233 825138.317 0, 803372.394 825126.679 0, 803655.156 825115.114 0, 803937.918 825103.566 0, 804220.682 825092.034 0, 804503.446 825080.519 0,
+ 804786.21 825069.021 0, 805068.976 825057.539 0, 805351.742 825046.075 0, 805634.508 825034.626 0, 805917.276 825023.195 0, 806200.044 825011.78 0, 806482.812 825000.381 0, 806765.582 824989 0, 807048.352 824977.634 0, 807331.122 824966.286 0,
+ 807613.894 824954.954 0, 807896.666 824943.639 0, 808179.438 824932.341 0, 808462.212 824921.059 0, 808744.986 824909.794 0, 809027.76 824898.545 0, 809310.536 824887.313 0, 809593.312 824876.098 0, 809874.69 824864.954 0, 809654.222 819293.828 0,
+ 809433.763 813722.916 0))
+
+POLYGON ((823448.727 824346.99 0, 823167.317 824357.338 0, 822884.51 824367.754 0, 822601.704 824378.187 0, 822318.899 824388.637 0, 822036.094 824399.103 0, 821753.29 824409.586 0, 821470.487 824420.086 0, 821187.684 824430.602 0, 820904.881 824441.135 0,
+ 820622.08 824451.684 0, 820339.279 824462.25 0, 820056.479 824472.833 0, 819773.679 824483.433 0, 819490.88 824494.049 0, 819208.081 824504.681 0, 818925.283 824515.331 0, 818642.486 824525.997 0, 818359.689 824536.679 0, 818076.893 824547.379 0,
+ 817794.098 824558.095 0, 817511.303 824568.827 0, 817228.509 824579.577 0, 816945.716 824590.342 0, 816661.525 824601.178 0, 816380.131 824611.924 0, 816097.339 824622.74 0, 815814.548 824633.572 0, 815531.758 824644.422 0, 815248.969 824655.287 0,
+ 814966.18 824666.17 0, 814683.391 824677.069 0, 814400.603 824687.984 0, 814117.816 824698.917 0, 813835.03 824709.866 0, 813552.244 824720.831 0, 813269.459 824731.814 0, 812986.675 824742.813 0, 812703.891 824753.828 0, 812421.108 824764.86 0,
+ 812138.325 824775.909 0, 811855.543 824786.975 0, 811572.762 824798.057 0, 811289.981 824809.156 0, 811007.201 824820.271 0, 810724.422 824831.403 0, 810441.643 824842.552 0, 810158.866 824853.717 0, 809874.69 824864.954 0, 810095.165 830436.291 0,
+ 810315.649 836007.834 0, 810599.166 835996.623 0, 810881.288 835985.484 0, 811163.411 835974.361 0, 811445.534 835963.255 0, 811727.659 835952.165 0, 812009.783 835941.092 0, 812291.909 835930.035 0, 812574.035 835918.996 0, 812856.161 835907.972 0,
+ 813138.289 835896.966 0, 813420.417 835885.976 0, 813702.545 835875.002 0, 813984.675 835864.046 0, 814266.804 835853.105 0, 814548.935 835842.182 0, 814831.066 835831.275 0, 815113.198 835820.384 0, 815395.331 835809.511 0, 815677.464 835798.654 0,
+ 815959.597 835787.813 0, 816241.732 835776.989 0, 816523.867 835766.182 0, 816806.002 835755.391 0, 817086.744 835744.67 0, 817370.276 835733.859 0, 817652.413 835723.118 0, 817934.551 835712.394 0, 818216.69 835701.686 0, 818498.83 835690.995 0,
+ 818780.97 835680.321 0, 819063.111 835669.663 0, 819345.252 835659.022 0, 819627.394 835648.397 0, 819909.536 835637.789 0, 820191.68 835627.197 0, 820473.824 835616.623 0, 820755.968 835606.064 0, 821038.113 835595.523 0, 821320.259 835584.998 0,
+ 821602.405 835574.489 0, 821884.552 835563.997 0, 822166.7 835553.522 0, 822448.848 835543.064 0, 822730.997 835532.622 0, 823013.146 835522.196 0, 823295.296 835511.787 0, 823577.447 835501.395 0, 823858.204 835491.071 0, 823653.462 829918.927 0,
+ 823448.727 824346.99 0))
+
+POLYGON ((837402.166 835012.569 0, 837121.377 835022.101 0, 836839.199 835031.696 0, 836557.02 835041.307 0, 836274.842 835050.935 0, 835992.665 835060.58 0, 835710.489 835070.242 0, 835428.313 835079.92 0, 835146.137 835089.614 0, 834863.962 835099.326 0,
+ 834581.788 835109.054 0, 834299.614 835118.798 0, 834017.441 835128.559 0, 833735.269 835138.337 0, 833453.097 835148.131 0, 833170.925 835157.942 0, 832888.754 835167.77 0, 832606.584 835177.614 0, 832324.414 835187.475 0, 832042.245 835197.352 0,
+ 831760.077 835207.246 0, 831477.909 835217.156 0, 831195.741 835227.084 0, 830913.575 835237.027 0, 830630.016 835247.037 0, 830349.243 835256.965 0, 830067.078 835266.958 0, 829784.913 835276.969 0, 829502.749 835286.995 0, 829220.586 835297.039 0,
+ 828938.423 835307.099 0, 828656.261 835317.176 0, 828374.1 835327.269 0, 828091.939 835337.379 0, 827809.779 835347.505 0, 827527.619 835357.648 0, 827245.46 835367.808 0, 826963.301 835377.984 0, 826681.144 835388.177 0, 826398.986 835398.387 0,
+ 826116.83 835408.613 0, 825834.674 835418.856 0, 825552.518 835429.115 0, 825270.363 835439.391 0, 824988.209 835449.683 0, 824706.055 835459.992 0, 824423.902 835470.318 0, 824141.75 835480.661 0, 823858.204 835491.071 0, 824062.954 841063.418 0,
+ 824267.712 846635.964 0, 824550.598 846625.578 0, 824832.094 846615.26 0, 825113.591 846604.958 0, 825395.089 846594.673 0, 825676.587 846584.405 0, 825958.086 846574.153 0, 826239.586 846563.917 0, 826521.086 846553.698 0, 826802.586 846543.496 0,
+ 827084.088 846533.31 0, 827365.59 846523.141 0, 827647.092 846512.988 0, 827928.595 846502.852 0, 828210.099 846492.733 0, 828491.603 846482.63 0, 828773.108 846472.543 0, 829054.614 846462.474 0, 829336.12 846452.42 0, 829617.626 846442.384 0,
+ 829899.134 846432.364 0, 830180.642 846422.36 0, 830462.15 846412.373 0, 830743.659 846402.403 0, 831023.78 846392.498 0, 831306.679 846382.512 0, 831588.19 846372.591 0, 831869.701 846362.687 0, 832151.213 846352.799 0, 832432.726 846342.928 0,
+ 832714.239 846333.074 0, 832995.752 846323.236 0, 833277.267 846313.415 0, 833558.781 846303.61 0, 833840.297 846293.822 0, 834121.813 846284.051 0, 834403.329 846274.296 0, 834684.847 846264.557 0, 834966.364 846254.835 0, 835247.883 846245.13 0,
+ 835529.401 846235.441 0, 835810.921 846225.769 0, 836092.441 846216.114 0, 836373.961 846206.475 0, 836655.483 846196.852 0, 836937.004 846187.246 0, 837218.527 846177.657 0, 837500.049 846168.085 0, 837780.185 846158.575 0, 837591.172 840585.473 0,
+ 837402.166 835012.569 0))
+
+POLYGON ((851293.953 845719.364 0, 851013.789 845728.081 0, 850732.241 845736.859 0, 850450.692 845745.652 0, 850169.145 845754.463 0, 849887.597 845763.29 0, 849606.051 845772.134 0, 849324.505 845780.994 0, 849042.959 845789.87 0, 848761.414 845798.764 0,
+ 848479.869 845807.674 0, 848198.325 845816.6 0, 847916.782 845825.543 0, 847635.239 845834.503 0, 847353.696 845843.479 0, 847072.154 845852.472 0, 846790.613 845861.481 0, 846509.072 845870.507 0, 846227.532 845879.549 0, 845945.992 845888.608 0,
+ 845664.452 845897.684 0, 845382.914 845906.776 0, 845101.375 845915.885 0, 844819.838 845925.01 0, 844536.914 845934.197 0, 844256.764 845943.311 0, 843975.228 845952.486 0, 843693.692 845961.677 0, 843412.157 845970.885 0, 843130.623 845980.11 0,
+ 842849.089 845989.351 0, 842567.556 845998.609 0, 842286.023 846007.884 0, 842004.491 846017.175 0, 841722.959 846026.482 0, 841441.428 846035.806 0, 841159.897 846045.147 0, 840878.367 846054.504 0, 840596.837 846063.878 0, 840315.308 846073.269 0,
+ 840033.78 846082.676 0, 839752.252 846092.099 0, 839470.725 846101.54 0, 839189.198 846110.996 0, 838907.672 846120.47 0, 838626.146 846129.959 0, 838344.621 846139.466 0, 838063.097 846148.989 0, 837780.185 846158.575 0, 837969.204 851731.874 0,
+ 838158.23 857305.364 0, 838440.483 857295.8 0, 838721.352 857286.299 0, 839002.221 857276.815 0, 839283.09 857267.347 0, 839563.96 857257.896 0, 839844.831 857248.461 0, 840125.702 857239.043 0, 840406.574 857229.641 0, 840687.446 857220.256 0,
+ 840968.319 857210.888 0, 841249.193 857201.536 0, 841530.067 857192.2 0, 841810.941 857182.881 0, 842091.816 857173.579 0, 842372.692 857164.293 0, 842653.568 857155.024 0, 842934.445 857145.771 0, 843215.322 857136.535 0, 843496.2 857127.315 0,
+ 843777.078 857118.112 0, 844057.957 857108.925 0, 844338.836 857099.755 0, 844619.716 857090.601 0, 844899.213 857081.509 0, 845181.478 857072.343 0, 845462.359 857063.239 0, 845743.242 857054.152 0, 846024.124 857045.081 0, 846305.007 857036.026 0,
+ 846585.891 857026.988 0, 846866.775 857017.967 0, 847147.66 857008.962 0, 847428.545 856999.974 0, 847709.431 856991.002 0, 847990.318 856982.047 0, 848271.204 856973.108 0, 848552.092 856964.186 0, 848832.98 856955.28 0, 849113.868 856946.391 0,
+ 849394.757 856937.519 0, 849675.647 856928.662 0, 849956.537 856919.823 0, 850237.427 856911 0, 850518.318 856902.193 0, 850799.21 856893.404 0, 851080.102 856884.63 0, 851360.995 856875.873 0, 851640.505 856867.176 0, 851467.226 851293.174 0,
+ 851293.953 845719.364 0))
+
+POLYGON ((865123.964 856467.079 0, 864844.428 856474.987 0, 864563.512 856482.95 0, 864282.596 856490.93 0, 864001.681 856498.926 0, 863720.766 856506.939 0, 863439.851 856514.969 0, 863158.938 856523.015 0, 862878.024 856531.077 0, 862597.111 856539.156 0,
+ 862316.199 856547.252 0, 862035.287 856555.364 0, 861754.375 856563.492 0, 861473.464 856571.637 0, 861192.554 856579.799 0, 860911.644 856587.977 0, 860630.734 856596.172 0, 860349.825 856604.383 0, 860068.916 856612.611 0, 859788.008 856620.855 0,
+ 859507.101 856629.116 0, 859226.193 856637.394 0, 858945.287 856645.688 0, 858664.381 856653.998 0, 858382.093 856662.366 0, 858102.57 856670.669 0, 857821.665 856679.029 0, 857540.761 856687.405 0, 857259.857 856695.798 0, 856978.954 856704.208 0,
+ 856698.051 856712.634 0, 856417.149 856721.077 0, 856136.247 856729.536 0, 855855.346 856738.012 0, 855574.445 856746.504 0, 855293.545 856755.013 0, 855012.645 856763.539 0, 854731.746 856772.081 0, 854450.847 856780.639 0, 854169.949 856789.214 0,
+ 853889.051 856797.806 0, 853608.154 856806.414 0, 853327.257 856815.038 0, 853046.361 856823.679 0, 852765.466 856832.337 0, 852484.57 856841.011 0, 852203.676 856849.702 0, 851922.782 856858.409 0, 851640.505 856867.176 0, 851813.79 862441.366 0,
+ 851987.081 868015.741 0, 852268.698 868006.995 0, 852548.936 867998.308 0, 852829.174 867989.637 0, 853109.413 867980.984 0, 853389.653 867972.346 0, 853669.893 867963.725 0, 853950.134 867955.121 0, 854230.375 867946.533 0, 854510.616 867937.961 0,
+ 854790.858 867929.406 0, 855071.101 867920.868 0, 855351.344 867912.346 0, 855631.587 867903.84 0, 855911.831 867895.351 0, 856192.076 867886.879 0, 856472.321 867878.423 0, 856752.566 867869.983 0, 857032.812 867861.56 0, 857313.059 867853.154 0,
+ 857593.306 867844.764 0, 857873.553 867836.39 0, 858153.801 867828.033 0, 858434.05 867819.693 0, 858712.92 867811.41 0, 858994.548 867803.061 0, 859274.798 867794.77 0, 859555.049 867786.496 0, 859835.3 867778.237 0, 860115.551 867769.996 0,
+ 860395.803 867761.771 0, 860676.055 867753.562 0, 860956.308 867745.37 0, 861236.562 867737.195 0, 861516.816 867729.035 0, 861797.07 867720.893 0, 862077.325 867712.767 0, 862357.58 867704.657 0, 862637.836 867696.564 0, 862918.092 867688.487 0,
+ 863198.349 867680.427 0, 863478.606 867672.384 0, 863758.863 867664.357 0, 864039.122 867656.346 0, 864319.38 867648.352 0, 864599.639 867640.374 0, 864879.899 867632.413 0, 865160.159 867624.468 0, 865439.042 867616.579 0, 865281.5 862041.737 0,
+ 865123.964 856467.079 0))
+
+POLYGON ((878892.076 867255.423 0, 878613.17 867262.524 0, 878332.889 867269.677 0, 878052.608 867276.846 0, 877772.327 867284.032 0, 877492.047 867291.235 0, 877211.768 867298.453 0, 876931.488 867305.689 0, 876651.21 867312.941 0, 876370.931 867320.209 0,
+ 876090.653 867327.494 0, 875810.376 867334.795 0, 875530.099 867342.113 0, 875249.822 867349.447 0, 874969.546 867356.798 0, 874689.27 867364.165 0, 874408.995 867371.549 0, 874128.72 867378.949 0, 873848.446 867386.366 0, 873568.172 867393.799 0,
+ 873287.898 867401.249 0, 873007.625 867408.715 0, 872727.352 867416.198 0, 872447.08 867423.697 0, 872165.431 867431.25 0, 871886.537 867438.745 0, 871606.266 867446.294 0, 871325.995 867453.859 0, 871045.725 867461.441 0, 870765.456 867469.039 0,
+ 870485.186 867476.654 0, 870204.918 867484.285 0, 869924.649 867491.933 0, 869644.382 867499.597 0, 869364.114 867507.278 0, 869083.847 867514.975 0, 868803.581 867522.689 0, 868523.315 867530.419 0, 868243.049 867538.166 0, 867962.784 867545.929 0,
+ 867682.52 867553.709 0, 867402.255 867561.505 0, 867121.992 867569.318 0, 866841.728 867577.147 0, 866561.466 867584.993 0, 866281.203 867592.855 0, 866000.942 867600.733 0, 865720.68 867608.629 0, 865439.042 867616.579 0, 865596.588 873191.602 0,
+ 865754.14 878766.802 0, 866035.119 878758.87 0, 866314.724 878750.993 0, 866594.33 878743.133 0, 866873.936 878735.289 0, 867153.542 878727.462 0, 867433.149 878719.651 0, 867712.757 878711.856 0, 867992.364 878704.079 0, 868271.973 878696.317 0,
+ 868551.582 878688.572 0, 868831.191 878680.843 0, 869110.8 878673.131 0, 869390.411 878665.436 0, 869670.021 878657.757 0, 869949.632 878650.094 0, 870229.244 878642.448 0, 870508.856 878634.818 0, 870788.468 878627.204 0, 871068.081 878619.607 0,
+ 871347.694 878612.027 0, 871627.308 878604.463 0, 871906.922 878596.915 0, 872186.537 878589.384 0, 872464.779 878581.907 0, 872745.768 878574.372 0, 873025.383 878566.89 0, 873305 878559.425 0, 873584.617 878551.976 0, 873864.234 878544.544 0,
+ 874143.852 878537.128 0, 874423.47 878529.728 0, 874703.088 878522.345 0, 874982.707 878514.979 0, 875262.327 878507.629 0, 875541.947 878500.295 0, 875821.567 878492.978 0, 876101.188 878485.677 0, 876380.809 878478.393 0, 876660.431 878471.125 0,
+ 876940.053 878463.874 0, 877219.675 878456.639 0, 877499.298 878449.421 0, 877778.921 878442.219 0, 878058.545 878435.034 0, 878338.169 878427.865 0, 878617.794 878420.712 0, 878897.419 878413.576 0, 879175.672 878406.491 0, 879033.872 872830.869 0,
+ 878892.076 867255.423 0))
+
+POLYGON ((892598.168 878084.1 0, 892319.894 878090.399 0, 892040.25 878096.745 0, 891760.606 878103.108 0, 891480.963 878109.487 0, 891201.32 878115.882 0, 890921.678 878122.294 0, 890642.036 878128.722 0, 890362.394 878135.167 0, 890082.752 878141.628 0,
+ 889803.111 878148.106 0, 889523.471 878154.6 0, 889243.83 878161.111 0, 888964.191 878167.638 0, 888684.551 878174.182 0, 888404.912 878180.742 0, 888125.273 878187.318 0, 887845.635 878193.911 0, 887565.997 878200.521 0, 887286.359 878207.146 0,
+ 887006.722 878213.789 0, 886727.085 878220.448 0, 886447.449 878227.123 0, 886167.813 878233.815 0, 885886.806 878240.556 0, 885608.542 878247.247 0, 885328.908 878253.988 0, 885049.273 878260.746 0, 884769.639 878267.52 0, 884490.006 878274.31 0,
+ 884210.372 878281.117 0, 883930.74 878287.941 0, 883651.107 878294.781 0, 883371.475 878301.637 0, 883091.844 878308.51 0, 882812.212 878315.399 0, 882532.582 878322.304 0, 882252.951 878329.227 0, 881973.321 878336.165 0, 881693.692 878343.12 0,
+ 881414.063 878350.092 0, 881134.434 878357.08 0, 880854.805 878364.084 0, 880575.178 878371.105 0, 880295.55 878378.142 0, 880015.923 878385.196 0, 879736.296 878392.266 0, 879456.67 878399.353 0, 879175.672 878406.491 0, 879317.476 883982.287 0,
+ 879459.285 889558.252 0, 879739.624 889551.13 0, 880018.594 889544.06 0, 880297.564 889537.007 0, 880576.535 889529.969 0, 880855.506 889522.949 0, 881134.477 889515.944 0, 881413.449 889508.956 0, 881692.422 889501.985 0, 881971.394 889495.03 0,
+ 882250.367 889488.091 0, 882529.341 889481.169 0, 882808.315 889474.263 0, 883087.289 889467.373 0, 883366.264 889460.5 0, 883645.239 889453.644 0, 883924.215 889446.803 0, 884203.191 889439.98 0, 884482.168 889433.172 0, 884761.144 889426.381 0,
+ 885040.122 889419.607 0, 885319.099 889412.849 0, 885598.077 889406.107 0, 885877.056 889399.382 0, 886154.666 889392.706 0, 886435.014 889385.98 0, 886713.993 889379.304 0, 886992.973 889372.645 0, 887271.954 889366.002 0, 887550.934 889359.375 0,
+ 887829.915 889352.765 0, 888108.897 889346.171 0, 888387.879 889339.593 0, 888666.861 889333.032 0, 888945.844 889326.488 0, 889224.827 889319.959 0, 889503.81 889313.448 0, 889782.794 889306.952 0, 890061.779 889300.473 0, 890340.763 889294.011 0,
+ 890619.748 889287.565 0, 890898.734 889281.135 0, 891177.719 889274.722 0, 891456.705 889268.325 0, 891735.692 889261.944 0, 892014.679 889255.58 0, 892293.666 889249.233 0, 892572.654 889242.902 0, 892850.275 889236.618 0, 892724.22 883660.274 0,
+ 892598.168 878084.1 0))
+
+POLYGON ((906242.119 888952.817 0, 905964.48 888958.316 0, 905685.475 888963.859 0, 905406.471 888969.419 0, 905127.467 888974.995 0, 904848.464 888980.587 0, 904569.461 888986.195 0, 904290.458 888991.821 0, 904011.456 888997.462 0, 903732.454 889003.12 0,
+ 903453.452 889008.794 0, 903174.45 889014.485 0, 902895.449 889020.192 0, 902616.449 889025.916 0, 902337.448 889031.656 0, 902058.448 889037.412 0, 901779.448 889043.185 0, 901500.449 889048.974 0, 901221.45 889054.78 0, 900942.451 889060.602 0,
+ 900663.453 889066.441 0, 900384.455 889072.296 0, 900105.457 889078.167 0, 899826.46 889084.055 0, 899546.097 889089.988 0, 899268.466 889095.88 0, 898989.47 889101.817 0, 898710.474 889107.77 0, 898431.478 889113.74 0, 898152.483 889119.727 0,
+ 897873.488 889125.729 0, 897594.494 889131.748 0, 897315.5 889137.784 0, 897036.506 889143.836 0, 896757.512 889149.905 0, 896478.519 889155.989 0, 896199.526 889162.091 0, 895920.534 889168.208 0, 895641.542 889174.342 0, 895362.55 889180.493 0,
+ 895083.559 889186.66 0, 894804.568 889192.843 0, 894525.577 889199.043 0, 894246.587 889205.259 0, 893967.597 889211.492 0, 893688.608 889217.741 0, 893409.619 889224.007 0, 893130.63 889230.289 0, 892850.275 889236.618 0, 892976.334 894813.127 0,
+ 893102.396 900389.797 0, 893382.092 900383.483 0, 893660.424 900377.215 0, 893938.757 900370.965 0, 894217.09 900364.73 0, 894495.423 900358.512 0, 894773.757 900352.311 0, 895052.091 900346.126 0, 895330.425 900339.957 0, 895608.76 900333.804 0,
+ 895887.095 900327.668 0, 896165.431 900321.548 0, 896443.767 900315.445 0, 896722.103 900309.358 0, 897000.44 900303.288 0, 897278.777 900297.234 0, 897557.114 900291.196 0, 897835.452 900285.174 0, 898113.79 900279.169 0, 898392.128 900273.181 0,
+ 898670.467 900267.209 0, 898948.806 900261.253 0, 899227.146 900255.313 0, 899505.486 900249.39 0, 899782.463 900243.512 0, 900062.166 900237.593 0, 900340.507 900231.719 0, 900618.848 900225.861 0, 900897.19 900220.02 0, 901175.532 900214.196 0,
+ 901453.874 900208.387 0, 901732.217 900202.595 0, 902010.56 900196.819 0, 902288.903 900191.06 0, 902567.246 900185.317 0, 902845.59 900179.591 0, 903123.935 900173.881 0, 903402.279 900168.187 0, 903680.624 900162.509 0, 903958.969 900156.849 0,
+ 904237.315 900151.204 0, 904515.661 900145.576 0, 904794.007 900139.964 0, 905072.354 900134.368 0, 905350.701 900128.789 0, 905629.048 900123.227 0, 905907.396 900117.68 0, 906185.743 900112.15 0, 906462.73 900106.664 0, 906352.423 894529.66 0,
+ 906242.119 888952.817 0))
+
+POLYGON ((919823.811 899861.277 0, 919546.808 899865.981 0, 919268.445 899870.725 0, 918990.083 899875.485 0, 918711.721 899880.261 0, 918433.36 899885.054 0, 918154.998 899889.863 0, 917876.637 899894.688 0, 917598.277 899899.53 0, 917319.916 899904.388 0,
+ 917041.556 899909.263 0, 916763.196 899914.154 0, 916484.836 899919.061 0, 916206.477 899923.985 0, 915928.118 899928.925 0, 915649.759 899933.881 0, 915371.401 899938.854 0, 915093.043 899943.844 0, 914814.685 899948.849 0, 914536.328 899953.871 0,
+ 914257.97 899958.91 0, 913979.613 899963.965 0, 913701.257 899969.036 0, 913422.9 899974.123 0, 913143.184 899979.252 0, 912866.189 899984.348 0, 912587.833 899989.484 0, 912309.478 899994.637 0, 912031.123 899999.807 0, 911752.769 900004.993 0,
+ 911474.414 900010.195 0, 911196.06 900015.414 0, 910917.707 900020.649 0, 910639.354 900025.9 0, 910361.001 900031.168 0, 910082.648 900036.452 0, 909804.296 900041.753 0, 909525.943 900047.069 0, 909247.592 900052.403 0, 908969.24 900057.752 0,
+ 908690.889 900063.119 0, 908412.538 900068.501 0, 908134.188 900073.9 0, 907855.838 900079.315 0, 907577.488 900084.747 0, 907299.138 900090.195 0, 907020.789 900095.659 0, 906742.44 900101.14 0, 906462.73 900106.664 0, 906573.04 905683.826 0,
+ 906683.353 911261.142 0, 906962.404 911255.631 0, 907240.096 911250.163 0, 907517.789 911244.711 0, 907795.482 911239.276 0, 908073.175 911233.858 0, 908350.869 911228.455 0, 908628.562 911223.069 0, 908906.257 911217.699 0, 909183.951 911212.346 0,
+ 909461.646 911207.009 0, 909739.341 911201.688 0, 910017.037 911196.384 0, 910294.733 911191.096 0, 910572.429 911185.824 0, 910850.125 911180.568 0, 911127.822 911175.329 0, 911405.519 911170.107 0, 911683.217 911164.9 0, 911960.914 911159.71 0,
+ 912238.612 911154.537 0, 912516.31 911149.38 0, 912794.009 911144.239 0, 913071.708 911139.114 0, 913348.05 911134.031 0, 913627.107 911128.914 0, 913904.806 911123.838 0, 914182.507 911118.779 0, 914460.207 911113.736 0, 914737.908 911108.71 0,
+ 915015.609 911103.699 0, 915293.31 911098.706 0, 915571.011 911093.728 0, 915848.713 911088.767 0, 916126.416 911083.822 0, 916404.118 911078.894 0, 916681.821 911073.982 0, 916959.524 911069.086 0, 917237.227 911064.206 0, 917514.931 911059.343 0,
+ 917792.635 911054.497 0, 918070.339 911049.666 0, 918348.043 911044.852 0, 918625.748 911040.054 0, 918903.453 911035.273 0, 919181.158 911030.508 0, 919458.864 911025.759 0, 919736.57 911021.027 0, 920012.919 911016.334 0, 919918.364 905438.729 0,
+ 919823.811 899861.277 0))
+
+POLYGON ((933343.124 910809.186 0, 933066.76 910813.098 0, 932789.042 910817.046 0, 932511.324 910821.01 0, 932233.606 910824.99 0, 931955.889 910828.987 0, 931678.172 910833 0, 931400.455 910837.03 0, 931122.738 910841.075 0, 930845.022 910845.138 0,
+ 930567.305 910849.216 0, 930289.589 910853.311 0, 930011.874 910857.422 0, 929734.158 910861.55 0, 929456.443 910865.694 0, 929178.728 910869.854 0, 928901.013 910874.03 0, 928623.299 910878.223 0, 928345.584 910882.433 0, 928067.87 910886.658 0,
+ 927790.157 910890.9 0, 927512.443 910895.158 0, 927234.73 910899.433 0, 926957.017 910903.724 0, 926677.948 910908.052 0, 926401.591 910912.355 0, 926123.879 910916.695 0, 925846.167 910921.051 0, 925568.455 910925.424 0, 925290.744 910929.813 0,
+ 925013.033 910934.219 0, 924735.322 910938.64 0, 924457.611 910943.079 0, 924179.9 910947.533 0, 923902.19 910952.004 0, 923624.48 910956.491 0, 923346.771 910960.994 0, 923069.061 910965.514 0, 922791.352 910970.05 0, 922513.643 910974.603 0,
+ 922235.935 910979.172 0, 921958.226 910983.757 0, 921680.518 910988.359 0, 921402.811 910992.976 0, 921125.103 910997.611 0, 920847.396 911002.261 0, 920569.689 911006.928 0, 920291.982 911011.612 0, 920012.919 911016.334 0, 920107.477 916594.089 0,
+ 920202.038 922171.991 0, 920480.441 922167.279 0, 920757.491 922162.607 0, 921034.542 922157.951 0, 921311.592 922153.312 0, 921588.643 922148.688 0, 921865.694 922144.081 0, 922142.746 922139.491 0, 922419.798 922134.916 0, 922696.85 922130.358 0,
+ 922973.902 922125.817 0, 923250.954 922121.291 0, 923528.007 922116.782 0, 923805.06 922112.289 0, 924082.114 922107.813 0, 924359.167 922103.352 0, 924636.221 922098.909 0, 924913.275 922094.481 0, 925190.329 922090.07 0, 925467.384 922085.675 0,
+ 925744.439 922081.296 0, 926021.494 922076.934 0, 926298.549 922072.587 0, 926575.605 922068.258 0, 926851.309 922063.965 0, 927129.717 922059.647 0, 927406.774 922055.366 0, 927683.83 922051.102 0, 927960.887 922046.853 0, 928237.944 922042.622 0,
+ 928515.002 922038.406 0, 928792.059 922034.207 0, 929069.117 922030.024 0, 929346.175 922025.857 0, 929623.234 922021.707 0, 929900.292 922017.572 0, 930177.351 922013.455 0, 930454.41 922009.353 0, 930731.47 922005.268 0, 931008.529 922001.199 0,
+ 931285.589 921997.147 0, 931562.649 921993.11 0, 931839.71 921989.09 0, 932116.77 921985.087 0, 932393.831 921981.1 0, 932670.892 921977.129 0, 932947.953 921973.174 0, 933225.015 921969.235 0, 933500.725 921965.332 0, 933421.924 916387.186 0,
+ 933343.124 910809.186 0))
+
+POLYGON ((946799.943 921796.246 0, 946524.221 921799.37 0, 946247.149 921802.526 0, 945970.078 921805.698 0, 945693.007 921808.886 0, 945415.936 921812.09 0, 945138.865 921815.311 0, 944861.795 921818.548 0, 944584.724 921821.802 0, 944307.654 921825.072 0,
+ 944030.584 921828.358 0, 943753.514 921831.66 0, 943476.445 921834.979 0, 943199.375 921838.314 0, 942922.306 921841.665 0, 942645.237 921845.033 0, 942368.168 921848.417 0, 942091.099 921851.817 0, 941814.031 921855.234 0, 941536.963 921858.666 0,
+ 941259.895 921862.116 0, 940982.827 921865.581 0, 940705.759 921869.063 0, 940428.692 921872.561 0, 940150.275 921876.093 0, 939874.558 921879.606 0, 939597.491 921883.153 0, 939320.424 921886.716 0, 939043.358 921890.296 0, 938766.292 921893.892 0,
+ 938489.226 921897.504 0, 938212.16 921901.133 0, 937935.095 921904.778 0, 937658.03 921908.439 0, 937380.964 921912.116 0, 937103.9 921915.81 0, 936826.835 921919.52 0, 936549.771 921923.247 0, 936272.706 921926.989 0, 935995.642 921930.748 0,
+ 935718.579 921934.524 0, 935441.515 921938.315 0, 935164.452 921942.123 0, 934887.389 921945.947 0, 934610.326 921949.788 0, 934333.263 921953.645 0, 934056.201 921957.518 0, 933779.139 921961.408 0, 933500.725 921965.332 0, 933579.529 927543.621 0,
+ 933658.335 933122.048 0, 933936.088 933118.132 0, 934212.494 933114.252 0, 934488.899 933110.388 0, 934765.305 933106.54 0, 935041.712 933102.709 0, 935318.118 933098.894 0, 935594.525 933095.095 0, 935870.931 933091.312 0, 936147.339 933087.546 0,
+ 936423.746 933083.796 0, 936700.153 933080.062 0, 936976.561 933076.344 0, 937252.969 933072.643 0, 937529.377 933068.958 0, 937805.786 933065.289 0, 938082.194 933061.637 0, 938358.603 933058 0, 938635.012 933054.38 0, 938911.421 933050.777 0,
+ 939187.831 933047.189 0, 939464.241 933043.618 0, 939740.651 933040.063 0, 940017.061 933036.525 0, 940292.124 933033.019 0, 940569.881 933029.496 0, 940846.292 933026.006 0, 941122.703 933022.533 0, 941399.114 933019.076 0, 941675.526 933015.635 0,
+ 941951.937 933012.21 0, 942228.349 933008.801 0, 942504.761 933005.409 0, 942781.173 933002.033 0, 943057.585 932998.674 0, 943333.998 932995.33 0, 943610.411 932992.003 0, 943886.823 932988.692 0, 944163.237 932985.398 0, 944439.65 932982.119 0,
+ 944716.063 932978.857 0, 944992.477 932975.612 0, 945268.891 932972.382 0, 945545.305 932969.169 0, 945821.719 932965.972 0, 946098.134 932962.791 0, 946374.548 932959.627 0, 946650.963 932956.479 0, 946926.032 932953.362 0, 946862.987 927374.735 0,
+ 946799.943 921796.246 0))
+
+POLYGON ((960194.154 932822.161 0, 959919.075 932824.5 0, 959642.652 932826.867 0, 959366.23 932829.251 0, 959089.807 932831.651 0, 958813.385 932834.067 0, 958536.963 932836.499 0, 958260.541 932838.947 0, 957984.119 932841.412 0, 957707.698 932843.893 0,
+ 957431.276 932846.391 0, 957154.855 932848.904 0, 956878.434 932851.434 0, 956602.013 932853.981 0, 956325.592 932856.543 0, 956049.171 932859.122 0, 955772.751 932861.717 0, 955496.33 932864.328 0, 955219.91 932866.956 0, 954943.49 932869.599 0,
+ 954667.07 932872.259 0, 954390.65 932874.936 0, 954114.23 932877.628 0, 953837.811 932880.337 0, 953560.047 932883.076 0, 953284.972 932885.804 0, 953008.553 932888.561 0, 952732.135 932891.335 0, 952455.716 932894.126 0, 952179.297 932896.932 0,
+ 951902.879 932899.755 0, 951626.461 932902.594 0, 951350.043 932905.449 0, 951073.625 932908.321 0, 950797.207 932911.209 0, 950520.79 932914.113 0, 950244.373 932917.033 0, 949967.955 932919.97 0, 949691.538 932922.923 0, 949415.122 932925.892 0,
+ 949138.705 932928.877 0, 948862.288 932931.879 0, 948585.872 932934.897 0, 948309.456 932937.931 0, 948033.04 932940.982 0, 947756.624 932944.049 0, 947480.209 932947.132 0, 947203.794 932950.231 0, 946926.032 932953.362 0, 946989.079 938532.124 0,
+ 947052.128 944111.015 0, 947329.229 944107.892 0, 947604.987 944104.8 0, 947880.746 944101.724 0, 948156.505 944098.665 0, 948432.264 944095.621 0, 948708.024 944092.594 0, 948983.783 944089.584 0, 949259.543 944086.589 0, 949535.303 944083.611 0,
+ 949811.063 944080.648 0, 950086.823 944077.703 0, 950362.584 944074.773 0, 950638.344 944071.859 0, 950914.105 944068.962 0, 951189.866 944066.081 0, 951465.627 944063.217 0, 951741.389 944060.368 0, 952017.15 944057.536 0, 952292.912 944054.72 0,
+ 952568.673 944051.92 0, 952844.435 944049.136 0, 953120.197 944046.369 0, 953395.96 944043.618 0, 953670.38 944040.896 0, 953947.485 944038.164 0, 954223.247 944035.462 0, 954499.01 944032.775 0, 954774.773 944030.105 0, 955050.537 944027.452 0,
+ 955326.3 944024.814 0, 955602.064 944022.193 0, 955877.827 944019.588 0, 956153.591 944016.999 0, 956429.355 944014.426 0, 956705.119 944011.87 0, 956980.884 944009.33 0, 957256.648 944006.806 0, 957532.413 944004.298 0, 957808.177 944001.807 0,
+ 958083.942 943999.332 0, 958359.707 943996.873 0, 958635.472 943994.43 0, 958911.238 943992.003 0, 959187.003 943989.593 0, 959462.769 943987.199 0, 959738.535 943984.821 0, 960014.3 943982.46 0, 960288.726 943980.126 0, 960241.439 938401.078 0,
+ 960194.154 932822.161 0))
+
+POLYGON ((973525.641 943886.632 0, 973251.208 943888.191 0, 972975.437 943889.774 0, 972699.665 943891.372 0, 972423.894 943892.987 0, 972148.123 943894.618 0, 971872.352 943896.266 0, 971596.581 943897.929 0, 971320.81 943899.609 0, 971045.039 943901.305 0,
+ 970769.268 943903.018 0, 970493.498 943904.746 0, 970217.727 943906.491 0, 969941.957 943908.252 0, 969666.187 943910.03 0, 969390.417 943911.823 0, 969114.647 943913.633 0, 968838.877 943915.459 0, 968563.107 943917.301 0, 968287.337 943919.159 0,
+ 968011.567 943921.034 0, 967735.798 943922.925 0, 967460.029 943924.832 0, 967184.259 943926.755 0, 966907.15 943928.704 0, 966632.721 943930.651 0, 966356.952 943932.623 0, 966081.183 943934.611 0, 965805.415 943936.616 0, 965529.646 943938.636 0,
+ 965253.877 943940.673 0, 964978.109 943942.727 0, 964702.341 943944.796 0, 964426.573 943946.882 0, 964150.805 943948.984 0, 963875.037 943951.102 0, 963599.269 943953.236 0, 963323.502 943955.387 0, 963047.734 943957.553 0, 962771.967 943959.736 0,
+ 962496.2 943961.936 0, 962220.432 943964.151 0, 961944.665 943966.383 0, 961668.899 943968.631 0, 961393.132 943970.895 0, 961117.365 943973.176 0, 960841.599 943975.472 0, 960565.833 943977.785 0, 960288.726 943980.126 0, 960336.014 949559.3 0,
+ 960383.302 955138.596 0, 960659.749 955136.262 0, 960934.859 955133.954 0, 961209.968 955131.663 0, 961485.078 955129.388 0, 961760.188 955127.129 0, 962035.298 955124.887 0, 962310.408 955122.66 0, 962585.519 955120.45 0, 962860.629 955118.256 0,
+ 963135.74 955116.078 0, 963410.85 955113.916 0, 963685.961 955111.771 0, 963961.072 955109.642 0, 964236.183 955107.528 0, 964511.295 955105.432 0, 964786.406 955103.351 0, 965061.517 955101.286 0, 965336.629 955099.238 0, 965611.741 955097.206 0,
+ 965886.852 955095.19 0, 966161.964 955093.19 0, 966437.076 955091.207 0, 966712.189 955089.239 0, 966985.965 955087.298 0, 967262.413 955085.353 0, 967537.526 955083.434 0, 967812.638 955081.532 0, 968087.751 955079.646 0, 968362.864 955077.775 0,
+ 968637.977 955075.921 0, 968913.09 955074.083 0, 969188.203 955072.262 0, 969463.317 955070.456 0, 969738.43 955068.667 0, 970013.543 955066.894 0, 970288.657 955065.137 0, 970563.771 955063.397 0, 970838.884 955061.672 0, 971113.998 955059.964 0,
+ 971389.112 955058.272 0, 971664.226 955056.596 0, 971939.341 955054.936 0, 972214.455 955053.293 0, 972489.569 955051.665 0, 972764.684 955050.054 0, 973039.798 955048.459 0, 973314.913 955046.881 0, 973588.693 955045.326 0, 973557.167 949465.918 0,
+ 973525.641 943886.632 0))
+
+POLYGON ((986794.294 954989.363 0, 986520.509 954990.145 0, 986245.391 954990.946 0, 985970.273 954991.764 0, 985695.155 954992.598 0, 985420.037 954993.448 0, 985144.919 954994.314 0, 984869.801 954995.196 0, 984594.684 954996.095 0, 984319.566 954997.01 0,
+ 984044.448 954997.941 0, 983769.331 954998.888 0, 983494.213 954999.851 0, 983219.096 955000.831 0, 982943.978 955001.827 0, 982668.861 955002.839 0, 982393.744 955003.867 0, 982118.626 955004.911 0, 981843.509 955005.972 0, 981568.392 955007.049 0,
+ 981293.275 955008.141 0, 981018.158 955009.251 0, 980743.041 955010.376 0, 980467.924 955011.517 0, 980191.473 955012.681 0, 979917.691 955013.849 0, 979642.574 955015.039 0, 979367.458 955016.245 0, 979092.341 955017.468 0, 978817.225 955018.707 0,
+ 978542.108 955019.962 0, 978266.992 955021.233 0, 977991.876 955022.52 0, 977716.76 955023.823 0, 977441.644 955025.143 0, 977166.528 955026.479 0, 976891.412 955027.831 0, 976616.296 955029.199 0, 976341.18 955030.583 0, 976066.065 955031.984 0,
+ 975790.949 955033.401 0, 975515.834 955034.834 0, 975240.718 955036.283 0, 974965.603 955037.748 0, 974690.488 955039.23 0, 974415.373 955040.728 0, 974140.258 955042.242 0, 973865.143 955043.772 0, 973588.693 955045.326 0, 973620.219 960624.852 0,
+ 973651.747 966204.493 0, 973927.537 966202.943 0, 974201.995 966201.416 0, 974476.453 966199.906 0, 974750.912 966198.412 0, 975025.37 966196.934 0, 975299.828 966195.472 0, 975574.287 966194.026 0, 975848.746 966192.596 0, 976123.204 966191.183 0,
+ 976397.663 966189.786 0, 976672.122 966188.405 0, 976946.581 966187.04 0, 977221.04 966185.691 0, 977495.499 966184.358 0, 977769.959 966183.042 0, 978044.418 966181.741 0, 978318.877 966180.457 0, 978593.337 966179.189 0, 978867.796 966177.937 0,
+ 979142.256 966176.702 0, 979416.716 966175.482 0, 979691.175 966174.279 0, 979965.635 966173.091 0, 980238.764 966171.926 0, 980514.555 966170.765 0, 980789.015 966169.627 0, 981063.475 966168.504 0, 981337.935 966167.397 0, 981612.396 966166.307 0,
+ 981886.856 966165.233 0, 982161.316 966164.175 0, 982435.777 966163.133 0, 982710.237 966162.107 0, 982984.698 966161.098 0, 983259.158 966160.104 0, 983533.619 966159.127 0, 983808.08 966158.166 0, 984082.54 966157.221 0, 984357.001 966156.292 0,
+ 984631.462 966155.38 0, 984905.923 966154.483 0, 985180.384 966153.603 0, 985454.845 966152.739 0, 985729.306 966151.891 0, 986003.767 966151.059 0, 986278.228 966150.243 0, 986552.69 966149.443 0, 986825.821 966148.664 0, 986810.057 960568.956 0,
+ 986794.294 954989.363 0))
+
+POLYGON ((1000000 966130.054 0, 999726.866 966130.062 0, 999452.403 966130.086 0, 999177.941 966130.126 0, 998903.478 966130.183 0, 998629.016 966130.256 0, 998354.554 966130.344 0, 998080.091 966130.449 0, 997805.629 966130.57 0, 997531.167 966130.708 0,
+ 997256.704 966130.861 0, 996982.242 966131.03 0, 996707.78 966131.216 0, 996433.317 966131.418 0, 996158.855 966131.636 0, 995884.393 966131.87 0, 995609.93 966132.121 0, 995335.468 966132.387 0, 995061.006 966132.67 0, 994786.544 966132.968 0,
+ 994512.081 966133.283 0, 994237.619 966133.614 0, 993963.157 966133.962 0, 993688.695 966134.325 0, 993412.904 966134.706 0, 993139.771 966135.1 0, 992865.309 966135.512 0, 992590.847 966135.94 0, 992316.385 966136.384 0, 992041.923 966136.845 0,
+ 991767.461 966137.321 0, 991492.999 966137.814 0, 991218.537 966138.323 0, 990944.075 966138.847 0, 990669.613 966139.389 0, 990395.151 966139.946 0, 990120.689 966140.519 0, 989846.228 966141.109 0, 989571.766 966141.714 0, 989297.304 966142.336 0,
+ 989022.843 966142.974 0, 988748.381 966143.628 0, 988473.919 966144.299 0, 988199.458 966144.985 0, 987924.996 966145.688 0, 987650.535 966146.407 0, 987376.073 966147.142 0, 987101.612 966147.893 0, 986825.821 966148.664 0, 986841.585 971728.482 0,
+ 986857.349 977308.406 0, 987132.481 977307.637 0, 987406.285 977306.888 0, 987680.09 977306.154 0, 987953.894 977305.437 0, 988227.699 977304.736 0, 988501.504 977304.052 0, 988775.308 977303.383 0, 989049.113 977302.73 0, 989322.918 977302.094 0,
+ 989596.723 977301.473 0, 989870.528 977300.869 0, 990144.332 977300.281 0, 990418.137 977299.709 0, 990691.942 977299.153 0, 990965.747 977298.613 0, 991239.552 977298.09 0, 991513.358 977297.582 0, 991787.163 977297.091 0, 992060.968 977296.615 0,
+ 992334.773 977296.156 0, 992608.578 977295.713 0, 992882.383 977295.286 0, 993156.189 977294.875 0, 993428.668 977294.482 0, 993703.799 977294.102 0, 993977.604 977293.739 0, 994251.41 977293.393 0, 994525.215 977293.062 0, 994799.02 977292.748 0,
+ 995072.826 977292.45 0, 995346.631 977292.168 0, 995620.437 977291.902 0, 995894.242 977291.653 0, 996168.048 977291.419 0, 996441.853 977291.202 0, 996715.659 977291 0, 996989.464 977290.815 0, 997263.269 977290.646 0, 997537.075 977290.493 0,
+ 997810.88 977290.356 0, 998084.686 977290.235 0, 998358.492 977290.13 0, 998632.297 977290.042 0, 998906.103 977289.969 0, 999179.908 977289.913 0, 999453.714 977289.873 0, 999727.519 977289.849 0, 1000000 977289.841 0, 1000000 971709.894 0,
+ 1000000 966130.054 0))
+
+POLYGON ((1013142.651 977308.406 0, 1012870.169 977307.644 0, 1012596.365 977306.895 0, 1012322.56 977306.161 0, 1012048.755 977305.444 0, 1011774.951 977304.743 0, 1011501.146 977304.058 0, 1011227.341 977303.389 0, 1010953.536 977302.736 0, 1010679.732 977302.1 0,
+ 1010405.927 977301.479 0, 1010132.122 977300.875 0, 1009858.317 977300.287 0, 1009584.512 977299.714 0, 1009310.707 977299.158 0, 1009036.902 977298.618 0, 1008763.097 977298.095 0, 1008489.292 977297.587 0, 1008215.487 977297.095 0, 1007941.682 977296.62 0,
+ 1007667.877 977296.16 0, 1007394.071 977295.717 0, 1007120.266 977295.29 0, 1006846.461 977294.879 0, 1006571.332 977294.482 0, 1006298.85 977294.105 0, 1006025.045 977293.743 0, 1005751.24 977293.396 0, 1005477.434 977293.066 0, 1005203.629 977292.751 0,
+ 1004929.824 977292.453 0, 1004656.018 977292.171 0, 1004382.213 977291.905 0, 1004108.407 977291.655 0, 1003834.602 977291.421 0, 1003560.797 977291.204 0, 1003286.991 977291.002 0, 1003013.186 977290.817 0, 1002739.38 977290.647 0, 1002465.575 977290.494 0,
+ 1002191.769 977290.357 0, 1001917.964 977290.236 0, 1001644.158 977290.131 0, 1001370.352 977290.043 0, 1001096.547 977289.97 0, 1000822.741 977289.914 0, 1000548.936 977289.873 0, 1000275.13 977289.849 0, 1000000 977289.841 0, 1000000 982869.89 0,
+ 1000000 988450.037 0, 1000274.47 988450.045 0, 1000547.619 988450.069 0, 1000820.768 988450.109 0, 1001093.916 988450.166 0, 1001367.065 988450.238 0, 1001640.214 988450.327 0, 1001913.362 988450.431 0, 1002186.511 988450.552 0, 1002459.66 988450.689 0,
+ 1002732.808 988450.842 0, 1003005.957 988451.01 0, 1003279.105 988451.195 0, 1003552.254 988451.396 0, 1003825.403 988451.614 0, 1004098.551 988451.847 0, 1004371.7 988452.096 0, 1004644.848 988452.361 0, 1004917.997 988452.643 0, 1005191.145 988452.94 0,
+ 1005464.294 988453.254 0, 1005737.442 988453.584 0, 1006010.591 988453.929 0, 1006283.739 988454.291 0, 1006555.567 988454.667 0, 1006830.036 988455.063 0, 1007103.184 988455.473 0, 1007376.333 988455.899 0, 1007649.481 988456.341 0, 1007922.629 988456.8 0,
+ 1008195.778 988457.274 0, 1008468.926 988457.764 0, 1008742.074 988458.271 0, 1009015.222 988458.793 0, 1009288.37 988459.332 0, 1009561.519 988459.887 0, 1009834.667 988460.458 0, 1010107.815 988461.044 0, 1010380.963 988461.647 0, 1010654.111 988462.266 0,
+ 1010927.259 988462.902 0, 1011200.407 988463.553 0, 1011473.554 988464.22 0, 1011746.702 988464.903 0, 1012019.85 988465.603 0, 1012292.998 988466.318 0, 1012566.145 988467.05 0, 1012839.293 988467.798 0, 1013111.121 988468.558 0, 1013126.886 982888.433 0,
+ 1013142.651 977308.406 0))
+
+POLYGON ((1026222.138 988524.119 0, 1025950.311 988522.592 0, 1025677.166 988521.072 0, 1025404.022 988519.569 0, 1025130.877 988518.082 0, 1024857.733 988516.611 0, 1024584.588 988515.156 0, 1024311.443 988513.717 0, 1024038.298 988512.294 0, 1023765.153 988510.887 0,
+ 1023492.008 988509.496 0, 1023218.862 988508.122 0, 1022945.717 988506.763 0, 1022672.572 988505.42 0, 1022399.426 988504.094 0, 1022126.281 988502.784 0, 1021853.135 988501.489 0, 1021579.989 988500.211 0, 1021306.844 988498.949 0, 1021033.698 988497.703 0,
+ 1020760.552 988496.473 0, 1020487.406 988495.259 0, 1020214.26 988494.061 0, 1019941.114 988492.88 0, 1019666.649 988491.708 0, 1019394.821 988490.564 0, 1019121.675 988489.431 0, 1018848.529 988488.313 0, 1018575.382 988487.212 0, 1018302.236 988486.127 0,
+ 1018029.089 988485.058 0, 1017755.942 988484.005 0, 1017482.796 988482.968 0, 1017209.649 988481.947 0, 1016936.502 988480.942 0, 1016663.355 988479.953 0, 1016390.208 988478.98 0, 1016117.061 988478.023 0, 1015843.914 988477.083 0, 1015570.767 988476.158 0,
+ 1015297.62 988475.25 0, 1015024.473 988474.358 0, 1014751.325 988473.481 0, 1014478.178 988472.621 0, 1014205.031 988471.777 0, 1013931.883 988470.949 0, 1013658.736 988470.137 0, 1013385.588 988469.341 0, 1013111.121 988468.558 0, 1013095.356 994048.777 0,
+ 1013079.591 999629.086 0, 1013353.398 999629.867 0, 1013625.888 999630.661 0, 1013898.379 999631.471 0, 1014170.869 999632.297 0, 1014443.36 999633.139 0, 1014715.85 999633.998 0, 1014988.341 999634.872 0, 1015260.831 999635.762 0, 1015533.321 999636.668 0,
+ 1015805.812 999637.59 0, 1016078.302 999638.529 0, 1016350.792 999639.483 0, 1016623.282 999640.453 0, 1016895.772 999641.44 0, 1017168.262 999642.442 0, 1017440.752 999643.461 0, 1017713.242 999644.495 0, 1017985.731 999645.546 0, 1018258.221 999646.613 0,
+ 1018530.711 999647.695 0, 1018803.2 999648.794 0, 1019075.69 999649.909 0, 1019348.179 999651.04 0, 1019619.353 999652.181 0, 1019893.158 999653.349 0, 1020165.647 999654.528 0, 1020438.136 999655.723 0, 1020710.625 999656.934 0, 1020983.114 999658.161 0,
+ 1021255.603 999659.404 0, 1021528.092 999660.663 0, 1021800.581 999661.938 0, 1022073.07 999663.229 0, 1022345.558 999664.537 0, 1022618.047 999665.86 0, 1022890.536 999667.199 0, 1023163.024 999668.554 0, 1023435.512 999669.926 0, 1023708.001 999671.313 0,
+ 1023980.489 999672.717 0, 1024252.977 999674.136 0, 1024525.465 999675.572 0, 1024797.953 999677.023 0, 1025070.441 999678.491 0, 1025342.928 999679.974 0, 1025615.416 999681.474 0, 1025887.904 999682.99 0, 1026159.077 999684.514 0, 1026190.608 994104.272 0,
+ 1026222.138 988524.119 0))
+
+POLYGON ((1039238.354 999776.894 0, 1038967.184 999774.603 0, 1038694.702 999772.318 0, 1038422.22 999770.048 0, 1038149.737 999767.795 0, 1037877.255 999765.558 0, 1037604.772 999763.336 0, 1037332.289 999761.131 0, 1037059.806 999758.942 0, 1036787.323 999756.768 0,
+ 1036514.84 999754.611 0, 1036242.356 999752.47 0, 1035969.873 999750.345 0, 1035697.389 999748.236 0, 1035424.905 999746.143 0, 1035152.422 999744.066 0, 1034879.938 999742.005 0, 1034607.453 999739.96 0, 1034334.969 999737.931 0, 1034062.485 999735.918 0,
+ 1033790 999733.921 0, 1033517.516 999731.94 0, 1033245.031 999729.976 0, 1032972.546 999728.027 0, 1032698.748 999726.085 0, 1032427.576 999724.178 0, 1032155.091 999722.277 0, 1031882.606 999720.392 0, 1031610.12 999718.524 0, 1031337.635 999716.671 0,
+ 1031065.149 999714.835 0, 1030792.664 999713.015 0, 1030520.178 999711.21 0, 1030247.692 999709.422 0, 1029975.206 999707.65 0, 1029702.72 999705.893 0, 1029430.234 999704.153 0, 1029157.747 999702.429 0, 1028885.261 999700.721 0, 1028612.774 999699.029 0,
+ 1028340.288 999697.353 0, 1028067.801 999695.692 0, 1027795.314 999694.049 0, 1027522.827 999692.421 0, 1027250.34 999690.809 0, 1026977.853 999689.213 0, 1026705.366 999687.633 0, 1026432.878 999686.069 0, 1026159.077 999684.514 0, 1026127.546 1005264.842 0,
+ 1026096.014 1010845.252 0, 1026369.155 1010846.803 0, 1026640.986 1010848.363 0, 1026912.816 1010849.94 0, 1027184.646 1010851.532 0, 1027456.476 1010853.14 0, 1027728.306 1010854.764 0, 1028000.136 1010856.404 0, 1028271.966 1010858.06 0, 1028543.796 1010859.732 0,
+ 1028815.626 1010861.42 0, 1029087.455 1010863.124 0, 1029359.285 1010864.844 0, 1029631.114 1010866.58 0, 1029902.943 1010868.332 0, 1030174.772 1010870.1 0, 1030446.601 1010871.884 0, 1030718.43 1010873.684 0, 1030990.259 1010875.5 0, 1031262.088 1010877.332 0,
+ 1031533.916 1010879.18 0, 1031805.745 1010881.044 0, 1032077.573 1010882.924 0, 1032349.402 1010884.82 0, 1032619.92 1010886.723 0, 1032893.058 1010888.66 0, 1033164.886 1010890.604 0, 1033436.713 1010892.564 0, 1033708.541 1010894.54 0, 1033980.369 1010896.532 0,
+ 1034252.196 1010898.54 0, 1034524.024 1010900.564 0, 1034795.851 1010902.604 0, 1035067.678 1010904.66 0, 1035339.505 1010906.732 0, 1035611.332 1010908.82 0, 1035883.158 1010910.924 0, 1036154.985 1010913.044 0, 1036426.812 1010915.18 0, 1036698.638 1010917.332 0,
+ 1036970.464 1010919.5 0, 1037242.29 1010921.684 0, 1037514.116 1010923.884 0, 1037785.942 1010926.1 0, 1038057.768 1010928.332 0, 1038329.593 1010930.58 0, 1038601.419 1010932.844 0, 1038873.244 1010935.124 0, 1039143.76 1010937.409 0, 1039191.058 1005357.111 0,
+ 1039238.354 999776.894 0))
+
+POLYGON ((1052191.195 1011066.428 0, 1051920.684 1011063.379 0, 1051648.866 1011060.331 0, 1051377.048 1011057.299 0, 1051105.23 1011054.283 0, 1050833.411 1011051.283 0, 1050561.593 1011048.299 0, 1050289.774 1011045.332 0, 1050017.955 1011042.38 0, 1049746.136 1011039.444 0,
+ 1049474.317 1011036.524 0, 1049202.498 1011033.62 0, 1048930.678 1011030.732 0, 1048658.859 1011027.86 0, 1048387.039 1011025.004 0, 1048115.219 1011022.164 0, 1047843.398 1011019.34 0, 1047571.578 1011016.532 0, 1047299.758 1011013.74 0, 1047027.937 1011010.964 0,
+ 1046756.116 1011008.204 0, 1046484.295 1011005.46 0, 1046212.474 1011002.732 0, 1045940.652 1011000.02 0, 1045667.523 1010997.311 0, 1045397.009 1010994.644 0, 1045125.187 1010991.98 0, 1044853.365 1010989.332 0, 1044581.543 1010986.7 0, 1044309.721 1010984.084 0,
+ 1044037.899 1010981.484 0, 1043766.076 1010978.9 0, 1043494.253 1010976.332 0, 1043222.43 1010973.78 0, 1042950.607 1010971.244 0, 1042678.784 1010968.724 0, 1042406.961 1010966.22 0, 1042135.137 1010963.732 0, 1041863.314 1010961.26 0, 1041591.49 1010958.804 0,
+ 1041319.666 1010956.364 0, 1041047.842 1010953.94 0, 1040776.018 1010951.532 0, 1040504.193 1010949.14 0, 1040232.369 1010946.764 0, 1039960.544 1010944.404 0, 1039688.719 1010942.06 0, 1039416.894 1010939.732 0, 1039143.76 1010937.409 0, 1039096.462 1016517.785 0,
+ 1039049.164 1022098.235 0, 1039321.638 1022100.553 0, 1039592.806 1022102.875 0, 1039863.974 1022105.213 0, 1040135.141 1022107.568 0, 1040406.309 1022109.938 0, 1040677.477 1022112.324 0, 1040948.644 1022114.726 0, 1041219.811 1022117.144 0, 1041490.978 1022119.579 0,
+ 1041762.145 1022122.029 0, 1042033.312 1022124.495 0, 1042304.478 1022126.977 0, 1042575.645 1022129.475 0, 1042846.811 1022131.988 0, 1043117.977 1022134.518 0, 1043389.143 1022137.064 0, 1043660.309 1022139.626 0, 1043931.475 1022142.204 0, 1044202.64 1022144.797 0,
+ 1044473.806 1022147.407 0, 1044744.971 1022150.033 0, 1045016.136 1022152.674 0, 1045287.301 1022155.332 0, 1045557.161 1022157.992 0, 1045829.63 1022160.695 0, 1046100.795 1022163.4 0, 1046371.959 1022166.122 0, 1046643.123 1022168.859 0, 1046914.287 1022171.612 0,
+ 1047185.451 1022174.381 0, 1047456.615 1022177.167 0, 1047727.778 1022179.968 0, 1047998.941 1022182.785 0, 1048270.105 1022185.618 0, 1048541.268 1022188.467 0, 1048812.43 1022191.332 0, 1049083.593 1022194.213 0, 1049354.756 1022197.11 0, 1049625.918 1022200.023 0,
+ 1049897.08 1022202.952 0, 1050168.242 1022205.897 0, 1050439.404 1022208.857 0, 1050710.565 1022211.834 0, 1050981.727 1022214.827 0, 1051252.888 1022217.836 0, 1051524.049 1022220.86 0, 1051795.21 1022223.901 0, 1052065.067 1022226.943 0, 1052128.131 1016646.649 0,
+ 1052191.195 1011066.428 0))
+
+POLYGON ((1065080.555 1022392.422 0, 1064810.705 1022388.618 0, 1064539.554 1022384.811 0, 1064268.403 1022381.02 0, 1063997.251 1022377.245 0, 1063726.099 1022373.487 0, 1063454.947 1022369.744 0, 1063183.794 1022366.017 0, 1062912.642 1022362.306 0, 1062641.489 1022358.611 0,
+ 1062370.336 1022354.932 0, 1062099.183 1022351.269 0, 1061828.029 1022347.622 0, 1061556.876 1022343.991 0, 1061285.722 1022340.376 0, 1061014.568 1022336.777 0, 1060743.414 1022333.194 0, 1060472.259 1022329.626 0, 1060201.104 1022326.075 0, 1059929.95 1022322.54 0,
+ 1059658.794 1022319.02 0, 1059387.639 1022315.517 0, 1059116.484 1022312.029 0, 1058845.328 1022308.558 0, 1058572.869 1022305.086 0, 1058303.016 1022301.663 0, 1058031.859 1022298.239 0, 1057760.703 1022294.831 0, 1057489.546 1022291.44 0, 1057218.389 1022288.064 0,
+ 1056947.232 1022284.704 0, 1056676.075 1022281.36 0, 1056404.917 1022278.033 0, 1056133.759 1022274.721 0, 1055862.602 1022271.425 0, 1055591.443 1022268.145 0, 1055320.285 1022264.881 0, 1055049.127 1022261.633 0, 1054777.968 1022258.401 0, 1054506.809 1022255.184 0,
+ 1054235.65 1022251.984 0, 1053964.491 1022248.8 0, 1053693.331 1022245.632 0, 1053422.172 1022242.479 0, 1053151.012 1022239.343 0, 1052879.852 1022236.223 0, 1052608.692 1022233.118 0, 1052337.531 1022230.03 0, 1052065.067 1022226.943 0, 1052002.002 1027807.306 0,
+ 1051938.937 1033387.734 0, 1052210.741 1033390.814 0, 1052481.244 1033393.895 0, 1052751.747 1033396.992 0, 1053022.251 1033400.104 0, 1053292.753 1033403.233 0, 1053563.256 1033406.378 0, 1053833.759 1033409.538 0, 1054104.261 1033412.715 0, 1054374.763 1033415.907 0,
+ 1054645.265 1033419.116 0, 1054915.767 1033422.34 0, 1055186.269 1033425.58 0, 1055456.77 1033428.836 0, 1055727.271 1033432.108 0, 1055997.772 1033435.396 0, 1056268.273 1033438.7 0, 1056538.774 1033442.02 0, 1056809.274 1033445.356 0, 1057079.774 1033448.707 0,
+ 1057350.274 1033452.075 0, 1057620.774 1033455.458 0, 1057891.274 1033458.858 0, 1058161.773 1033462.273 0, 1058430.973 1033465.688 0, 1058702.772 1033469.152 0, 1058973.271 1033472.615 0, 1059243.769 1033476.094 0, 1059514.268 1033479.589 0, 1059784.766 1033483.099 0,
+ 1060055.264 1033486.626 0, 1060325.762 1033490.169 0, 1060596.259 1033493.727 0, 1060866.757 1033497.302 0, 1061137.254 1033500.892 0, 1061407.751 1033504.499 0, 1061678.248 1033508.121 0, 1061948.744 1033511.759 0, 1062219.24 1033515.414 0, 1062489.737 1033519.084 0,
+ 1062760.232 1033522.77 0, 1063030.728 1033526.471 0, 1063301.224 1033530.189 0, 1063571.719 1033533.923 0, 1063842.214 1033537.673 0, 1064112.709 1033541.438 0, 1064383.203 1033545.22 0, 1064653.698 1033549.017 0, 1064922.893 1033552.812 0, 1065001.724 1027972.584 0,
+ 1065080.555 1022392.422 0))
+
+POLYGON ((1077906.332 1033754.572 0, 1077637.146 1033750.016 0, 1077366.663 1033745.455 0, 1077096.181 1033740.909 0, 1076825.697 1033736.379 0, 1076555.214 1033731.865 0, 1076284.731 1033727.367 0, 1076014.247 1033722.885 0, 1075743.763 1033718.419 0, 1075473.278 1033713.969 0,
+ 1075202.793 1033709.535 0, 1074932.309 1033705.117 0, 1074661.823 1033700.714 0, 1074391.338 1033696.328 0, 1074120.852 1033691.957 0, 1073850.366 1033687.603 0, 1073579.88 1033683.264 0, 1073309.394 1033678.941 0, 1073038.907 1033674.634 0, 1072768.42 1033670.343 0,
+ 1072497.933 1033666.068 0, 1072227.445 1033661.809 0, 1071956.957 1033657.566 0, 1071686.469 1033653.338 0, 1071414.684 1033649.107 0, 1071145.493 1033644.932 0, 1070875.004 1033640.752 0, 1070604.515 1033636.589 0, 1070334.026 1033632.441 0, 1070063.536 1033628.309 0,
+ 1069793.047 1033624.193 0, 1069522.557 1033620.093 0, 1069252.067 1033616.009 0, 1068981.576 1033611.941 0, 1068711.086 1033607.889 0, 1068440.595 1033603.853 0, 1068170.103 1033599.833 0, 1067899.612 1033595.828 0, 1067629.12 1033591.84 0, 1067358.629 1033587.867 0,
+ 1067088.137 1033583.91 0, 1066817.644 1033579.97 0, 1066547.152 1033576.045 0, 1066276.659 1033572.136 0, 1066006.166 1033568.243 0, 1065735.673 1033564.366 0, 1065465.179 1033560.505 0, 1065194.686 1033556.66 0, 1064922.893 1033552.812 0, 1064844.061 1039133.101 0,
+ 1064765.229 1044713.446 0, 1065036.361 1044717.285 0, 1065306.198 1044721.12 0, 1065576.034 1044724.972 0, 1065845.87 1044728.84 0, 1066115.707 1044732.723 0, 1066385.542 1044736.623 0, 1066655.378 1044740.538 0, 1066925.214 1044744.469 0, 1067195.049 1044748.416 0,
+ 1067464.884 1044752.379 0, 1067734.718 1044756.358 0, 1068004.553 1044760.352 0, 1068274.387 1044764.363 0, 1068544.221 1044768.389 0, 1068814.055 1044772.432 0, 1069083.888 1044776.49 0, 1069353.722 1044780.564 0, 1069623.555 1044784.654 0, 1069893.388 1044788.76 0,
+ 1070163.22 1044792.882 0, 1070433.053 1044797.019 0, 1070702.885 1044801.173 0, 1070972.716 1044805.342 0, 1071241.254 1044809.507 0, 1071512.379 1044813.728 0, 1071782.21 1044817.945 0, 1072052.041 1044822.178 0, 1072321.872 1044826.427 0, 1072591.702 1044830.692 0,
+ 1072861.532 1044834.972 0, 1073131.362 1044839.269 0, 1073401.192 1044843.581 0, 1073671.021 1044847.909 0, 1073940.85 1044852.253 0, 1074210.679 1044856.613 0, 1074480.508 1044860.989 0, 1074750.336 1044865.381 0, 1075020.164 1044869.788 0, 1075289.992 1044874.212 0,
+ 1075559.819 1044878.651 0, 1075829.647 1044883.107 0, 1076099.474 1044887.578 0, 1076369.3 1044892.065 0, 1076639.127 1044896.568 0, 1076908.953 1044901.086 0, 1077178.779 1044905.621 0, 1077448.605 1044910.171 0, 1077717.137 1044914.716 0, 1077811.735 1039334.616 0,
+ 1077906.332 1033754.572 0))
+
+POLYGON ((1090668.425 1045152.576 0, 1090399.905 1045147.273 0, 1090130.093 1045141.96 0, 1089860.281 1045136.663 0, 1089590.468 1045131.382 0, 1089320.656 1045126.117 0, 1089050.843 1045120.868 0, 1088781.03 1045115.634 0, 1088511.216 1045110.417 0, 1088241.402 1045105.215 0,
+ 1087971.588 1045100.029 0, 1087701.773 1045094.86 0, 1087431.958 1045089.706 0, 1087162.143 1045084.567 0, 1086892.328 1045079.445 0, 1086622.512 1045074.339 0, 1086352.696 1045069.248 0, 1086082.88 1045064.174 0, 1085813.063 1045059.115 0, 1085543.246 1045054.072 0,
+ 1085273.429 1045049.045 0, 1085003.611 1045044.034 0, 1084733.794 1045039.039 0, 1084463.976 1045034.06 0, 1084192.865 1045029.072 0, 1083924.338 1045024.149 0, 1083654.519 1045019.217 0, 1083384.7 1045014.301 0, 1083114.881 1045009.401 0, 1082845.061 1045004.517 0,
+ 1082575.241 1044999.649 0, 1082305.42 1044994.797 0, 1082035.599 1044989.96 0, 1081765.778 1044985.14 0, 1081495.957 1044980.335 0, 1081226.136 1044975.546 0, 1080956.314 1044970.774 0, 1080686.492 1044966.017 0, 1080416.669 1044961.275 0, 1080146.847 1044956.55 0,
+ 1079877.024 1044951.841 0, 1079607.2 1044947.147 0, 1079337.377 1044942.47 0, 1079067.553 1044937.808 0, 1078797.729 1044933.162 0, 1078527.905 1044928.532 0, 1078258.08 1044923.918 0, 1077988.255 1044919.32 0, 1077717.137 1044914.716 0, 1077622.538 1050494.869 0,
+ 1077527.939 1056075.07 0, 1077798.397 1056079.663 0, 1078067.565 1056084.25 0, 1078336.732 1056088.853 0, 1078605.9 1056093.471 0, 1078875.067 1056098.106 0, 1079144.234 1056102.756 0, 1079413.401 1056107.422 0, 1079682.567 1056112.104 0, 1079951.733 1056116.802 0,
+ 1080220.899 1056121.516 0, 1080490.064 1056126.246 0, 1080759.23 1056130.991 0, 1081028.395 1056135.752 0, 1081297.559 1056140.529 0, 1081566.724 1056145.322 0, 1081835.888 1056150.131 0, 1082105.052 1056154.956 0, 1082374.215 1056159.796 0, 1082643.379 1056164.652 0,
+ 1082912.542 1056169.525 0, 1083181.704 1056174.413 0, 1083450.867 1056179.316 0, 1083720.029 1056184.236 0, 1083987.902 1056189.148 0, 1084258.352 1056194.123 0, 1084527.513 1056199.09 0, 1084796.674 1056204.073 0, 1085065.835 1056209.072 0, 1085334.995 1056214.087 0,
+ 1085604.155 1056219.117 0, 1085873.315 1056224.164 0, 1086142.475 1056229.226 0, 1086411.634 1056234.304 0, 1086680.793 1056239.398 0, 1086949.951 1056244.508 0, 1087219.11 1056249.633 0, 1087488.268 1056254.775 0, 1087757.425 1056259.932 0, 1088026.583 1056265.105 0,
+ 1088295.74 1056270.294 0, 1088564.897 1056275.499 0, 1088834.053 1056280.72 0, 1089103.209 1056285.956 0, 1089372.365 1056291.209 0, 1089641.52 1056296.477 0, 1089910.676 1056301.761 0, 1090179.831 1056307.061 0, 1090447.697 1056312.351 0, 1090558.062 1050732.44 0,
+ 1090668.425 1045152.576 0))
+
+POLYGON ((1103366.734 1056586.132 0, 1103098.881 1056580.085 0, 1102829.743 1056574.025 0, 1102560.603 1056567.98 0, 1102291.464 1056561.952 0, 1102022.324 1056555.939 0, 1101753.184 1056549.942 0, 1101484.043 1056543.961 0, 1101214.902 1056537.996 0, 1100945.761 1056532.046 0,
+ 1100676.619 1056526.113 0, 1100407.477 1056520.195 0, 1100138.335 1056514.293 0, 1099869.192 1056508.407 0, 1099600.049 1056502.537 0, 1099330.905 1056496.683 0, 1099061.762 1056490.844 0, 1098792.618 1056485.022 0, 1098523.473 1056479.215 0, 1098254.328 1056473.424 0,
+ 1097985.183 1056467.649 0, 1097716.038 1056461.889 0, 1097446.892 1056456.146 0, 1097177.746 1056450.418 0, 1096907.313 1056444.679 0, 1096639.452 1056439.011 0, 1096370.305 1056433.331 0, 1096101.158 1056427.666 0, 1095832.01 1056422.018 0, 1095562.862 1056416.385 0,
+ 1095293.713 1056410.769 0, 1095024.565 1056405.168 0, 1094755.415 1056399.583 0, 1094486.266 1056394.014 0, 1094217.116 1056388.46 0, 1093947.966 1056382.923 0, 1093678.816 1056377.401 0, 1093409.665 1056371.895 0, 1093140.514 1056366.405 0, 1092871.362 1056360.931 0,
+ 1092602.211 1056355.473 0, 1092333.059 1056350.03 0, 1092063.906 1056344.604 0, 1091794.753 1056339.193 0, 1091525.6 1056333.798 0, 1091256.447 1056328.419 0, 1090987.293 1056323.056 0, 1090718.139 1056317.708 0, 1090447.697 1056312.351 0, 1090337.332 1061892.307 0,
+ 1090226.966 1067472.302 0, 1090496.748 1067477.646 0, 1090765.245 1067482.98 0, 1091033.742 1067488.33 0, 1091302.239 1067493.696 0, 1091570.735 1067499.078 0, 1091839.231 1067504.475 0, 1092107.726 1067509.889 0, 1092376.221 1067515.318 0, 1092644.716 1067520.763 0,
+ 1092913.211 1067526.224 0, 1093181.705 1067531.7 0, 1093450.199 1067537.193 0, 1093718.693 1067542.701 0, 1093987.186 1067548.225 0, 1094255.679 1067553.765 0, 1094524.171 1067559.32 0, 1094792.664 1067564.892 0, 1095061.156 1067570.479 0, 1095329.647 1067576.082 0,
+ 1095598.139 1067581.701 0, 1095866.63 1067587.335 0, 1096135.12 1067592.986 0, 1096403.611 1067598.652 0, 1096670.817 1067604.307 0, 1096940.59 1067610.032 0, 1097209.08 1067615.746 0, 1097477.569 1067621.475 0, 1097746.057 1067627.22 0, 1098014.546 1067632.981 0,
+ 1098283.033 1067638.758 0, 1098551.521 1067644.551 0, 1098820.008 1067650.359 0, 1099088.495 1067656.183 0, 1099356.982 1067662.024 0, 1099625.468 1067667.879 0, 1099893.954 1067673.751 0, 1100162.44 1067679.639 0, 1100430.925 1067685.542 0, 1100699.41 1067691.461 0,
+ 1100967.894 1067697.396 0, 1101236.378 1067703.346 0, 1101504.862 1067709.313 0, 1101773.346 1067715.295 0, 1102041.829 1067721.293 0, 1102310.311 1067727.307 0, 1102578.794 1067733.337 0, 1102847.276 1067739.382 0, 1103114.475 1067745.415 0, 1103240.605 1062165.754 0,
+ 1103366.734 1056586.132 0))
+
+POLYGON ((1116001.161 1068054.936 0, 1115733.978 1068048.149 0, 1115465.514 1068041.345 0, 1115197.05 1068034.557 0, 1114928.585 1068027.784 0, 1114660.12 1068021.028 0, 1114391.654 1068014.287 0, 1114123.189 1068007.562 0, 1113854.722 1068000.853 0, 1113586.256 1067994.159 0,
+ 1113317.789 1067987.482 0, 1113049.321 1067980.82 0, 1112780.853 1067974.174 0, 1112512.385 1067967.544 0, 1112243.916 1067960.93 0, 1111975.447 1067954.331 0, 1111706.978 1067947.748 0, 1111438.508 1067941.181 0, 1111170.038 1067934.63 0, 1110901.567 1067928.095 0,
+ 1110633.096 1067921.575 0, 1110364.625 1067915.071 0, 1110096.153 1067908.584 0, 1109827.681 1067902.111 0, 1109557.927 1067895.624 0, 1109290.736 1067889.215 0, 1109022.263 1067882.79 0, 1108753.789 1067876.381 0, 1108485.315 1067869.988 0, 1108216.841 1067863.61 0,
+ 1107948.366 1067857.249 0, 1107679.891 1067850.903 0, 1107411.415 1067844.573 0, 1107142.94 1067838.259 0, 1106874.463 1067831.961 0, 1106605.987 1067825.678 0, 1106337.51 1067819.412 0, 1106069.032 1067813.161 0, 1105800.555 1067806.926 0, 1105532.077 1067800.706 0,
+ 1105263.598 1067794.503 0, 1104995.119 1067788.315 0, 1104726.64 1067782.143 0, 1104458.161 1067775.987 0, 1104189.681 1067769.847 0, 1103921.201 1067763.722 0, 1103652.72 1067757.614 0, 1103384.239 1067751.521 0, 1103114.475 1067745.415 0, 1102988.344 1073325.111 0,
+ 1102862.213 1078904.838 0, 1103131.317 1078910.929 0, 1103399.141 1078917.007 0, 1103666.964 1078923.101 0, 1103934.788 1078929.211 0, 1104202.611 1078935.336 0, 1104470.434 1078941.477 0, 1104738.256 1078947.634 0, 1105006.078 1078953.806 0, 1105273.9 1078959.995 0,
+ 1105541.721 1078966.199 0, 1105809.542 1078972.419 0, 1106077.362 1078978.654 0, 1106345.182 1078984.906 0, 1106613.002 1078991.173 0, 1106880.822 1078997.456 0, 1107148.641 1079003.754 0, 1107416.459 1079010.069 0, 1107684.278 1079016.399 0, 1107952.096 1079022.745 0,
+ 1108219.913 1079029.107 0, 1108487.73 1079035.484 0, 1108755.547 1079041.877 0, 1109023.364 1079048.286 0, 1109289.901 1079054.681 0, 1109558.995 1079061.152 0, 1109826.811 1079067.608 0, 1110094.626 1079074.08 0, 1110362.44 1079080.568 0, 1110630.254 1079087.072 0,
+ 1110898.068 1079093.591 0, 1111165.881 1079100.126 0, 1111433.694 1079106.677 0, 1111701.507 1079113.244 0, 1111969.319 1079119.826 0, 1112237.131 1079126.424 0, 1112504.943 1079133.038 0, 1112772.754 1079139.668 0, 1113040.564 1079146.313 0, 1113308.375 1079152.974 0,
+ 1113576.185 1079159.651 0, 1113843.994 1079166.344 0, 1114111.803 1079173.053 0, 1114379.612 1079179.777 0, 1114647.42 1079186.517 0, 1114915.228 1079193.273 0, 1115183.036 1079200.044 0, 1115450.843 1079206.832 0, 1115717.372 1079213.602 0, 1115859.267 1073634.254 0,
+ 1116001.161 1068054.936 0))
+
+POLYGON ((1128571.608 1079558.683 0, 1128305.097 1079551.16 0, 1128037.31 1079543.616 0, 1127769.523 1079536.088 0, 1127501.735 1079528.575 0, 1127233.947 1079521.079 0, 1126966.158 1079513.598 0, 1126698.369 1079506.133 0, 1126430.579 1079498.683 0, 1126162.789 1079491.25 0,
+ 1125894.999 1079483.832 0, 1125627.208 1079476.43 0, 1125359.417 1079469.044 0, 1125091.625 1079461.673 0, 1124823.833 1079454.318 0, 1124556.041 1079446.979 0, 1124288.248 1079439.656 0, 1124020.454 1079432.349 0, 1123752.66 1079425.057 0, 1123484.866 1079417.781 0,
+ 1123217.071 1079410.521 0, 1122949.276 1079403.276 0, 1122681.481 1079396.048 0, 1122413.685 1079388.835 0, 1122144.612 1079381.603 0, 1121878.091 1079374.456 0, 1121610.294 1079367.291 0, 1121342.496 1079360.141 0, 1121074.698 1079353.007 0, 1120806.9 1079345.888 0,
+ 1120539.101 1079338.786 0, 1120271.301 1079331.699 0, 1120003.502 1079324.628 0, 1119735.701 1079317.573 0, 1119467.901 1079310.533 0, 1119200.1 1079303.509 0, 1118932.298 1079296.501 0, 1118664.497 1079289.509 0, 1118396.694 1079282.533 0, 1118128.892 1079275.572 0,
+ 1117861.089 1079268.627 0, 1117593.285 1079261.698 0, 1117325.481 1079254.784 0, 1117057.677 1079247.887 0, 1116789.872 1079241.005 0, 1116522.067 1079234.139 0, 1116254.262 1079227.288 0, 1115986.456 1079220.454 0, 1115717.372 1079213.602 0, 1115575.477 1084792.978 0,
+ 1115433.581 1090372.376 0, 1115702.004 1090379.21 0, 1115969.153 1090386.028 0, 1116236.302 1090392.862 0, 1116503.45 1090399.711 0, 1116770.598 1090406.576 0, 1117037.746 1090413.457 0, 1117304.893 1090420.353 0, 1117572.04 1090427.265 0, 1117839.186 1090434.193 0,
+ 1118106.332 1090441.137 0, 1118373.477 1090448.096 0, 1118640.622 1090455.071 0, 1118907.767 1090462.062 0, 1119174.911 1090469.069 0, 1119442.055 1090476.091 0, 1119709.199 1090483.129 0, 1119976.342 1090490.183 0, 1120243.484 1090497.252 0, 1120510.626 1090504.337 0,
+ 1120777.768 1090511.438 0, 1121044.909 1090518.555 0, 1121312.05 1090525.687 0, 1121579.191 1090532.835 0, 1121845.058 1090539.965 0, 1122113.471 1090547.178 0, 1122380.61 1090554.373 0, 1122647.749 1090561.584 0, 1122914.887 1090568.811 0, 1123182.025 1090576.053 0,
+ 1123449.162 1090583.312 0, 1123716.3 1090590.585 0, 1123983.436 1090597.875 0, 1124250.573 1090605.18 0, 1124517.708 1090612.501 0, 1124784.844 1090619.838 0, 1125051.979 1090627.19 0, 1125319.113 1090634.559 0, 1125586.247 1090641.943 0, 1125853.381 1090649.342 0,
+ 1126120.514 1090656.757 0, 1126387.647 1090664.189 0, 1126654.779 1090671.635 0, 1126921.911 1090679.098 0, 1127189.043 1090686.576 0, 1127456.174 1090694.07 0, 1127723.304 1090701.58 0, 1127990.434 1090709.105 0, 1128256.292 1090716.61 0, 1128413.95 1085137.636 0,
+ 1128571.608 1079558.683 0))
+
+POLYGON ((1141077.98 1091097.07 0, 1140812.142 1091088.814 0, 1140545.035 1091080.534 0, 1140277.926 1091072.269 0, 1140010.817 1091064.021 0, 1139743.708 1091055.788 0, 1139476.598 1091047.571 0, 1139209.488 1091039.369 0, 1138942.377 1091031.184 0, 1138675.266 1091023.014 0,
+ 1138408.155 1091014.859 0, 1138141.042 1091006.721 0, 1137873.93 1090998.598 0, 1137606.817 1090990.491 0, 1137339.703 1090982.399 0, 1137072.589 1090974.324 0, 1136805.475 1090966.264 0, 1136538.359 1090958.219 0, 1136271.244 1090950.191 0, 1136004.128 1090942.178 0,
+ 1135737.012 1090934.181 0, 1135469.895 1090926.2 0, 1135202.777 1090918.234 0, 1134935.66 1090910.284 0, 1134667.27 1090902.312 0, 1134401.422 1090894.431 0, 1134134.303 1090886.529 0, 1133867.183 1090878.642 0, 1133600.063 1090870.77 0, 1133332.943 1090862.915 0,
+ 1133065.822 1090855.075 0, 1132798.7 1090847.251 0, 1132531.578 1090839.442 0, 1132264.456 1090831.65 0, 1131997.333 1090823.873 0, 1131730.209 1090816.112 0, 1131463.085 1090808.366 0, 1131195.961 1090800.636 0, 1130928.836 1090792.922 0, 1130661.711 1090785.224 0,
+ 1130394.585 1090777.541 0, 1130127.459 1090769.874 0, 1129860.333 1090762.223 0, 1129593.206 1090754.588 0, 1129326.078 1090746.968 0, 1129058.95 1090739.364 0, 1128791.822 1090731.776 0, 1128524.693 1090724.203 0, 1128256.292 1090716.61 0, 1128098.633 1096295.603 0,
+ 1127940.974 1101874.609 0, 1128208.715 1101882.183 0, 1128475.187 1101889.737 0, 1128741.659 1101897.307 0, 1129008.13 1101904.892 0, 1129274.601 1101912.493 0, 1129541.071 1101920.11 0, 1129807.541 1101927.742 0, 1130074.01 1101935.39 0, 1130340.479 1101943.054 0,
+ 1130606.948 1101950.733 0, 1130873.416 1101958.429 0, 1131139.883 1101966.139 0, 1131406.351 1101973.866 0, 1131672.817 1101981.608 0, 1131939.283 1101989.366 0, 1132205.749 1101997.139 0, 1132472.215 1102004.929 0, 1132738.679 1102012.733 0, 1133005.144 1102020.554 0,
+ 1133271.608 1102028.39 0, 1133538.071 1102036.242 0, 1133804.534 1102044.11 0, 1134070.997 1102051.993 0, 1134336.191 1102059.854 0, 1134603.92 1102067.807 0, 1134870.381 1102075.737 0, 1135136.842 1102083.683 0, 1135403.302 1102091.645 0, 1135669.762 1102099.622 0,
+ 1135936.221 1102107.615 0, 1136202.68 1102115.624 0, 1136469.138 1102123.649 0, 1136735.596 1102131.689 0, 1137002.054 1102139.745 0, 1137268.51 1102147.816 0, 1137534.967 1102155.903 0, 1137801.423 1102164.006 0, 1138067.878 1102172.125 0, 1138334.333 1102180.259 0,
+ 1138600.788 1102188.409 0, 1138867.242 1102196.575 0, 1139133.695 1102204.756 0, 1139400.148 1102212.953 0, 1139666.601 1102221.165 0, 1139933.053 1102229.394 0, 1140199.505 1102237.638 0, 1140465.956 1102245.898 0, 1140731.14 1102254.134 0, 1140904.56 1096675.595 0,
+ 1141077.98 1091097.07 0))
+
+POLYGON ((1153520.182 1102669.791 0, 1153255.02 1102660.806 0, 1152988.594 1102651.793 0, 1152722.166 1102642.797 0, 1152455.739 1102633.816 0, 1152189.31 1102624.85 0, 1151922.882 1102615.9 0, 1151656.452 1102606.966 0, 1151390.022 1102598.048 0, 1151123.592 1102589.145 0,
+ 1150857.161 1102580.258 0, 1150590.729 1102571.387 0, 1150324.297 1102562.531 0, 1150057.865 1102553.691 0, 1149791.432 1102544.867 0, 1149524.998 1102536.059 0, 1149258.564 1102527.266 0, 1148992.13 1102518.488 0, 1148725.695 1102509.727 0, 1148459.259 1102500.981 0,
+ 1148192.823 1102492.251 0, 1147926.386 1102483.536 0, 1147659.949 1102474.838 0, 1147393.511 1102466.154 0, 1147125.808 1102457.446 0, 1146860.635 1102448.835 0, 1146594.195 1102440.199 0, 1146327.756 1102431.579 0, 1146061.316 1102422.974 0, 1145794.875 1102414.385 0,
+ 1145528.434 1102405.812 0, 1145261.992 1102397.254 0, 1144995.55 1102388.712 0, 1144729.107 1102380.186 0, 1144462.664 1102371.675 0, 1144196.22 1102363.18 0, 1143929.776 1102354.701 0, 1143663.331 1102346.237 0, 1143396.886 1102337.789 0, 1143130.44 1102329.357 0,
+ 1142863.994 1102320.941 0, 1142597.547 1102312.54 0, 1142331.1 1102304.155 0, 1142064.652 1102295.785 0, 1141798.204 1102287.431 0, 1141531.755 1102279.093 0, 1141265.306 1102270.771 0, 1140998.857 1102262.464 0, 1140731.14 1102254.134 0, 1140557.719 1107832.681 0,
+ 1140384.298 1113411.234 0, 1140651.355 1113419.544 0, 1140917.148 1113427.83 0, 1141182.941 1113436.132 0, 1141448.733 1113444.449 0, 1141714.524 1113452.783 0, 1141980.315 1113461.132 0, 1142246.106 1113469.496 0, 1142511.896 1113477.876 0, 1142777.686 1113486.272 0,
+ 1143043.475 1113494.683 0, 1143309.263 1113503.11 0, 1143575.051 1113511.553 0, 1143840.839 1113520.012 0, 1144106.626 1113528.486 0, 1144372.412 1113536.975 0, 1144638.198 1113545.48 0, 1144903.984 1113554.001 0, 1145169.769 1113562.538 0, 1145435.554 1113571.09 0,
+ 1145701.338 1113579.658 0, 1145967.121 1113588.242 0, 1146232.904 1113596.841 0, 1146498.687 1113605.456 0, 1146763.206 1113614.045 0, 1147030.25 1113622.732 0, 1147296.031 1113631.394 0, 1147561.812 1113640.071 0, 1147827.592 1113648.764 0, 1148093.371 1113657.473 0,
+ 1148359.15 1113666.197 0, 1148624.929 1113674.937 0, 1148890.707 1113683.693 0, 1149156.484 1113692.464 0, 1149422.261 1113701.251 0, 1149688.037 1113710.053 0, 1149953.813 1113718.872 0, 1150219.589 1113727.705 0, 1150485.363 1113736.555 0, 1150751.138 1113745.42 0,
+ 1151016.911 1113754.301 0, 1151282.685 1113763.197 0, 1151548.457 1113772.109 0, 1151814.23 1113781.037 0, 1152080.001 1113789.98 0, 1152345.773 1113798.939 0, 1152611.543 1113807.913 0, 1152877.313 1113816.904 0, 1153141.821 1113825.867 0, 1153331.002 1108247.827 0,
+ 1153520.182 1102669.791 0))
+
+POLYGON ((1165898.122 1114276.541 0, 1165633.638 1114266.83 0, 1165367.895 1114257.089 0, 1165102.15 1114247.364 0, 1164836.406 1114237.654 0, 1164570.66 1114227.96 0, 1164304.914 1114218.281 0, 1164039.168 1114208.618 0, 1163773.421 1114198.971 0, 1163507.673 1114189.34 0,
+ 1163241.925 1114179.724 0, 1162976.176 1114170.124 0, 1162710.427 1114160.539 0, 1162444.677 1114150.97 0, 1162178.926 1114141.417 0, 1161913.175 1114131.879 0, 1161647.424 1114122.357 0, 1161381.672 1114112.85 0, 1161115.919 1114103.36 0, 1160850.166 1114093.884 0,
+ 1160584.412 1114084.425 0, 1160318.658 1114074.981 0, 1160052.903 1114065.553 0, 1159787.147 1114056.14 0, 1159520.131 1114046.699 0, 1159255.635 1114037.362 0, 1158989.877 1114027.996 0, 1158724.12 1114018.646 0, 1158458.362 1114009.312 0, 1158192.603 1113999.993 0,
+ 1157926.843 1113990.69 0, 1157661.084 1113981.403 0, 1157395.323 1113972.131 0, 1157129.562 1113962.875 0, 1156863.801 1113953.634 0, 1156598.039 1113944.409 0, 1156332.276 1113935.2 0, 1156066.513 1113926.007 0, 1155800.749 1113916.829 0, 1155534.985 1113907.666 0,
+ 1155269.22 1113898.52 0, 1155003.455 1113889.389 0, 1154737.689 1113880.273 0, 1154471.923 1113871.174 0, 1154206.156 1113862.09 0, 1153940.388 1113853.021 0, 1153674.62 1113843.968 0, 1153408.852 1113834.931 0, 1153141.821 1113825.867 0, 1152952.641 1119403.907 0,
+ 1152763.461 1124981.944 0, 1153029.831 1124990.986 0, 1153294.943 1125000.001 0, 1153560.055 1125009.031 0, 1153825.165 1125018.077 0, 1154090.276 1125027.139 0, 1154355.385 1125036.216 0, 1154620.495 1125045.309 0, 1154885.603 1125054.417 0, 1155150.712 1125063.541 0,
+ 1155415.819 1125072.681 0, 1155680.926 1125081.836 0, 1155946.033 1125091.007 0, 1156211.139 1125100.194 0, 1156476.244 1125109.396 0, 1156741.349 1125118.614 0, 1157006.453 1125127.847 0, 1157271.557 1125137.096 0, 1157536.661 1125146.36 0, 1157801.763 1125155.64 0,
+ 1158066.865 1125164.936 0, 1158331.967 1125174.247 0, 1158597.068 1125183.574 0, 1158862.169 1125192.917 0, 1159126.012 1125202.23 0, 1159392.368 1125211.649 0, 1159657.467 1125221.038 0, 1159922.565 1125230.443 0, 1160187.663 1125239.863 0, 1160452.76 1125249.299 0,
+ 1160717.857 1125258.751 0, 1160982.953 1125268.218 0, 1161248.049 1125277.701 0, 1161513.144 1125287.2 0, 1161778.238 1125296.714 0, 1162043.332 1125306.244 0, 1162308.425 1125315.789 0, 1162573.518 1125325.35 0, 1162838.61 1125334.927 0, 1163103.702 1125344.519 0,
+ 1163368.793 1125354.127 0, 1163633.883 1125363.75 0, 1163898.973 1125373.389 0, 1164164.063 1125383.044 0, 1164429.152 1125392.714 0, 1164694.24 1125402.399 0, 1164959.327 1125412.101 0, 1165224.414 1125421.818 0, 1165488.245 1125431.504 0, 1165693.183 1119854.024 0,
+ 1165898.122 1114276.541 0))
+
+POLYGON ((1178211.708 1125917.013 0, 1177947.904 1125906.581 0, 1177682.846 1125896.115 0, 1177417.786 1125885.665 0, 1177152.727 1125875.23 0, 1176887.666 1125864.811 0, 1176622.605 1125854.407 0, 1176357.544 1125844.02 0, 1176092.481 1125833.647 0, 1175827.418 1125823.291 0,
+ 1175562.355 1125812.95 0, 1175297.291 1125802.624 0, 1175032.226 1125792.314 0, 1174767.161 1125782.02 0, 1174502.095 1125771.741 0, 1174237.029 1125761.478 0, 1173971.961 1125751.231 0, 1173706.894 1125740.999 0, 1173441.825 1125730.783 0, 1173176.757 1125720.582 0,
+ 1172911.687 1125710.397 0, 1172646.617 1125700.228 0, 1172381.546 1125690.074 0, 1172116.475 1125679.936 0, 1171850.148 1125669.765 0, 1171586.331 1125659.706 0, 1171321.257 1125649.615 0, 1171056.184 1125639.539 0, 1170791.109 1125629.479 0, 1170526.035 1125619.434 0,
+ 1170260.959 1125609.405 0, 1169995.883 1125599.391 0, 1169730.806 1125589.394 0, 1169465.729 1125579.411 0, 1169200.651 1125569.445 0, 1168935.573 1125559.494 0, 1168670.494 1125549.558 0, 1168405.415 1125539.639 0, 1168140.334 1125529.734 0, 1167875.254 1125519.846 0,
+ 1167610.172 1125509.973 0, 1167345.09 1125500.115 0, 1167080.008 1125490.274 0, 1166814.925 1125480.447 0, 1166549.841 1125470.637 0, 1166284.757 1125460.842 0, 1166019.672 1125451.062 0, 1165754.587 1125441.299 0, 1165488.245 1125431.504 0, 1165283.307 1131008.976 0,
+ 1165078.369 1136586.434 0, 1165344.051 1136596.204 0, 1165608.48 1136605.943 0, 1165872.908 1136615.699 0, 1166137.336 1136625.469 0, 1166401.763 1136635.256 0, 1166666.19 1136645.057 0, 1166930.616 1136654.875 0, 1167195.041 1136664.708 0, 1167459.466 1136674.556 0,
+ 1167723.89 1136684.421 0, 1167988.313 1136694.3 0, 1168252.736 1136704.195 0, 1168517.159 1136714.106 0, 1168781.581 1136724.033 0, 1169046.002 1136733.975 0, 1169310.423 1136743.932 0, 1169574.843 1136753.905 0, 1169839.262 1136763.894 0, 1170103.681 1136773.898 0,
+ 1170368.1 1136783.918 0, 1170632.517 1136793.953 0, 1170896.934 1136804.004 0, 1171161.351 1136814.07 0, 1171424.515 1136824.104 0, 1171690.182 1136834.25 0, 1171954.597 1136844.363 0, 1172219.011 1136854.492 0, 1172483.425 1136864.636 0, 1172747.838 1136874.796 0,
+ 1173012.25 1136884.971 0, 1173276.662 1136895.162 0, 1173541.073 1136905.369 0, 1173805.484 1136915.591 0, 1174069.894 1136925.828 0, 1174334.303 1136936.081 0, 1174598.712 1136946.35 0, 1174863.12 1136956.634 0, 1175127.528 1136966.934 0, 1175391.935 1136977.25 0,
+ 1175656.341 1136987.581 0, 1175920.747 1136997.927 0, 1176185.152 1137008.289 0, 1176449.557 1137018.667 0, 1176713.961 1137029.06 0, 1176978.364 1137039.469 0, 1177242.767 1137049.894 0, 1177507.169 1137060.334 0, 1177770.319 1137070.74 0, 1177991.013 1131493.883 0,
+ 1178211.708 1125917.013 0))
+
+POLYGON ((1190460.851 1137590.9 0, 1190197.728 1137579.751 0, 1189933.357 1137568.564 0, 1189668.985 1137557.393 0, 1189404.612 1137546.237 0, 1189140.238 1137535.097 0, 1188875.864 1137523.972 0, 1188611.489 1137512.863 0, 1188347.114 1137501.77 0, 1188082.738 1137490.692 0,
+ 1187818.361 1137479.629 0, 1187553.984 1137468.582 0, 1187289.606 1137457.551 0, 1187025.227 1137446.535 0, 1186760.847 1137435.535 0, 1186496.467 1137424.551 0, 1186232.087 1137413.582 0, 1185967.705 1137402.628 0, 1185703.323 1137391.69 0, 1185438.941 1137380.768 0,
+ 1185174.558 1137369.861 0, 1184910.174 1137358.97 0, 1184645.789 1137348.094 0, 1184381.404 1137337.234 0, 1184115.769 1137326.338 0, 1183852.632 1137315.561 0, 1183588.245 1137304.747 0, 1183323.857 1137293.949 0, 1183059.469 1137283.167 0, 1182795.08 1137272.4 0,
+ 1182530.69 1137261.649 0, 1182266.3 1137250.914 0, 1182001.909 1137240.193 0, 1181737.518 1137229.489 0, 1181473.125 1137218.8 0, 1181208.733 1137208.127 0, 1180944.339 1137197.469 0, 1180679.945 1137186.827 0, 1180415.551 1137176.2 0, 1180151.155 1137165.589 0,
+ 1179886.76 1137154.993 0, 1179622.363 1137144.413 0, 1179357.966 1137133.849 0, 1179093.568 1137123.3 0, 1178829.17 1137112.767 0, 1178564.771 1137102.249 0, 1178300.371 1137091.747 0, 1178035.971 1137081.26 0, 1177770.319 1137070.74 0, 1177549.626 1142647.579 0,
+ 1177328.933 1148224.396 0, 1177593.925 1148234.891 0, 1177857.669 1148245.351 0, 1178121.412 1148255.827 0, 1178385.154 1148266.319 0, 1178648.896 1148276.826 0, 1178912.638 1148287.349 0, 1179176.378 1148297.887 0, 1179440.118 1148308.441 0, 1179703.858 1148319.01 0,
+ 1179967.597 1148329.595 0, 1180231.335 1148340.195 0, 1180495.072 1148350.811 0, 1180758.809 1148361.442 0, 1181022.546 1148372.089 0, 1181286.281 1148382.752 0, 1181550.016 1148393.43 0, 1181813.751 1148404.123 0, 1182077.484 1148414.832 0, 1182341.218 1148425.556 0,
+ 1182604.95 1148436.296 0, 1182868.682 1148447.052 0, 1183132.413 1148457.823 0, 1183396.144 1148468.61 0, 1183658.627 1148479.361 0, 1183923.603 1148490.229 0, 1184187.332 1148501.062 0, 1184451.06 1148511.911 0, 1184714.787 1148522.775 0, 1184978.514 1148533.655 0,
+ 1185242.24 1148544.55 0, 1185505.966 1148555.461 0, 1185769.691 1148566.387 0, 1186033.415 1148577.329 0, 1186297.139 1148588.286 0, 1186560.862 1148599.259 0, 1186824.584 1148610.248 0, 1187088.305 1148621.251 0, 1187352.026 1148632.271 0, 1187615.747 1148643.306 0,
+ 1187879.467 1148654.356 0, 1188143.186 1148665.422 0, 1188406.904 1148676.504 0, 1188670.622 1148687.601 0, 1188934.339 1148698.713 0, 1189198.055 1148709.841 0, 1189461.771 1148720.985 0, 1189725.486 1148732.144 0, 1189987.955 1148743.266 0, 1190224.402 1143167.094 0,
+ 1190460.851 1137590.9 0))
+
+POLYGON ((1202645.461 1149297.897 0, 1202383.022 1149286.034 0, 1202119.34 1149274.13 0, 1201855.656 1149262.241 0, 1201591.972 1149250.368 0, 1201328.288 1149238.511 0, 1201064.602 1149226.669 0, 1200800.916 1149214.842 0, 1200537.23 1149203.031 0, 1200273.542 1149191.236 0,
+ 1200009.854 1149179.456 0, 1199746.165 1149167.691 0, 1199482.476 1149155.942 0, 1199218.786 1149144.209 0, 1198955.095 1149132.491 0, 1198691.403 1149120.789 0, 1198427.711 1149109.102 0, 1198164.018 1149097.431 0, 1197900.324 1149085.775 0, 1197636.63 1149074.135 0,
+ 1197372.935 1149062.51 0, 1197109.239 1149050.901 0, 1196845.543 1149039.307 0, 1196581.846 1149027.729 0, 1196316.904 1149016.112 0, 1196054.45 1149004.619 0, 1195790.751 1148993.087 0, 1195527.051 1148981.571 0, 1195263.35 1148970.071 0, 1194999.649 1148958.586 0,
+ 1194735.947 1148947.116 0, 1194472.245 1148935.662 0, 1194208.542 1148924.224 0, 1193944.838 1148912.801 0, 1193681.134 1148901.393 0, 1193417.428 1148890.001 0, 1193153.723 1148878.625 0, 1192890.016 1148867.264 0, 1192626.309 1148855.919 0, 1192362.601 1148844.589 0,
+ 1192098.893 1148833.274 0, 1191835.183 1148821.976 0, 1191571.474 1148810.692 0, 1191307.763 1148799.425 0, 1191044.052 1148788.172 0, 1190780.34 1148776.936 0, 1190516.628 1148765.714 0, 1190252.914 1148754.509 0, 1189987.955 1148743.266 0, 1189751.509 1154319.411 0,
+ 1189515.064 1159895.525 0, 1189779.364 1159906.74 0, 1190042.421 1159917.918 0, 1190305.477 1159929.111 0, 1190568.532 1159940.32 0, 1190831.587 1159951.544 0, 1191094.641 1159962.783 0, 1191357.694 1159974.039 0, 1191620.747 1159985.309 0, 1191883.799 1159996.596 0,
+ 1192146.851 1160007.897 0, 1192409.902 1160019.214 0, 1192672.952 1160030.547 0, 1192936.001 1160041.895 0, 1193199.05 1160053.259 0, 1193462.098 1160064.638 0, 1193725.146 1160076.032 0, 1193988.192 1160087.442 0, 1194251.238 1160098.868 0, 1194514.284 1160110.309 0,
+ 1194777.329 1160121.765 0, 1195040.373 1160133.237 0, 1195303.416 1160144.724 0, 1195566.459 1160156.227 0, 1195828.259 1160167.691 0, 1196092.542 1160179.28 0, 1196355.583 1160190.829 0, 1196618.623 1160202.394 0, 1196881.662 1160213.974 0, 1197144.701 1160225.57 0,
+ 1197407.739 1160237.181 0, 1197670.776 1160248.808 0, 1197933.813 1160260.45 0, 1198196.849 1160272.108 0, 1198459.884 1160283.781 0, 1198722.919 1160295.47 0, 1198985.952 1160307.174 0, 1199248.986 1160318.894 0, 1199512.018 1160330.629 0, 1199775.05 1160342.38 0,
+ 1200038.081 1160354.146 0, 1200301.111 1160365.927 0, 1200564.141 1160377.724 0, 1200827.17 1160389.537 0, 1201090.198 1160401.365 0, 1201353.226 1160413.208 0, 1201616.253 1160425.067 0, 1201879.279 1160436.942 0, 1202141.064 1160448.776 0, 1202393.262 1154873.352 0,
+ 1202645.461 1149297.897 0))
+
+POLYGON ((1214765.451 1161037.695 0, 1214503.698 1161025.122 0, 1214240.707 1161012.504 0, 1213977.714 1160999.902 0, 1213714.721 1160987.315 0, 1213451.727 1160974.744 0, 1213188.733 1160962.189 0, 1212925.738 1160949.649 0, 1212662.742 1160937.124 0, 1212399.745 1160924.615 0,
+ 1212136.747 1160912.121 0, 1211873.749 1160899.643 0, 1211610.75 1160887.18 0, 1211347.75 1160874.733 0, 1211084.75 1160862.301 0, 1210821.748 1160849.885 0, 1210558.747 1160837.484 0, 1210295.744 1160825.099 0, 1210032.741 1160812.729 0, 1209769.736 1160800.375 0,
+ 1209506.732 1160788.036 0, 1209243.726 1160775.712 0, 1208980.72 1160763.404 0, 1208717.713 1160751.112 0, 1208453.466 1160738.777 0, 1208191.696 1160726.573 0, 1207928.687 1160714.327 0, 1207665.677 1160702.097 0, 1207402.667 1160689.882 0, 1207139.655 1160677.682 0,
+ 1206876.643 1160665.498 0, 1206613.631 1160653.33 0, 1206350.617 1160641.176 0, 1206087.603 1160629.039 0, 1205824.588 1160616.917 0, 1205561.572 1160604.81 0, 1205298.556 1160592.719 0, 1205035.539 1160580.643 0, 1204772.521 1160568.583 0, 1204509.503 1160556.538 0,
+ 1204246.483 1160544.509 0, 1203983.464 1160532.495 0, 1203720.443 1160520.497 0, 1203457.422 1160508.514 0, 1203194.4 1160496.546 0, 1202931.377 1160484.595 0, 1202668.354 1160472.658 0, 1202405.329 1160460.737 0, 1202141.064 1160448.776 0, 1201888.868 1166024.164 0,
+ 1201636.674 1171599.511 0, 1201900.28 1171611.443 0, 1202162.648 1171623.334 0, 1202425.015 1171635.241 0, 1202687.381 1171647.163 0, 1202949.747 1171659.1 0, 1203212.112 1171671.053 0, 1203474.476 1171683.022 0, 1203736.84 1171695.006 0, 1203999.203 1171707.005 0,
+ 1204261.565 1171719.02 0, 1204523.927 1171731.05 0, 1204786.287 1171743.095 0, 1205048.647 1171755.156 0, 1205311.007 1171767.233 0, 1205573.365 1171779.325 0, 1205835.723 1171791.432 0, 1206098.081 1171803.555 0, 1206360.437 1171815.693 0, 1206622.793 1171827.847 0,
+ 1206885.148 1171840.016 0, 1207147.502 1171852.201 0, 1207409.856 1171864.401 0, 1207672.209 1171876.616 0, 1207933.325 1171888.789 0, 1208196.913 1171901.093 0, 1208459.263 1171913.355 0, 1208721.613 1171925.632 0, 1208983.963 1171937.925 0, 1209246.311 1171950.233 0,
+ 1209508.659 1171962.557 0, 1209771.006 1171974.895 0, 1210033.353 1171987.25 0, 1210295.698 1171999.62 0, 1210558.043 1172012.005 0, 1210820.387 1172024.406 0, 1211082.731 1172036.822 0, 1211345.074 1172049.254 0, 1211607.416 1172061.701 0, 1211869.757 1172074.163 0,
+ 1212132.098 1172086.641 0, 1212394.437 1172099.135 0, 1212656.776 1172111.643 0, 1212919.115 1172124.168 0, 1213181.452 1172136.707 0, 1213443.789 1172149.263 0, 1213706.125 1172161.833 0, 1213968.461 1172174.419 0, 1214229.56 1172186.961 0, 1214497.505 1166612.348 0,
+ 1214765.451 1161037.695 0))
+
+POLYGON ((1226820.737 1172809.986 0, 1226559.671 1172796.706 0, 1226297.373 1172783.379 0, 1226035.073 1172770.067 0, 1225772.773 1172756.771 0, 1225510.472 1172743.49 0, 1225248.17 1172730.225 0, 1224985.867 1172716.975 0, 1224723.564 1172703.741 0, 1224461.259 1172690.521 0,
+ 1224198.954 1172677.318 0, 1223936.648 1172664.13 0, 1223674.342 1172650.957 0, 1223412.034 1172637.8 0, 1223149.726 1172624.658 0, 1222887.417 1172611.531 0, 1222625.108 1172598.42 0, 1222362.797 1172585.325 0, 1222100.486 1172572.245 0, 1221838.174 1172559.18 0,
+ 1221575.861 1172546.131 0, 1221313.548 1172533.097 0, 1221051.233 1172520.079 0, 1220788.918 1172507.076 0, 1220525.369 1172494.027 0, 1220264.286 1172481.116 0, 1220001.969 1172468.16 0, 1219739.65 1172455.218 0, 1219477.332 1172442.293 0, 1219215.012 1172429.382 0,
+ 1218952.692 1172416.488 0, 1218690.37 1172403.608 0, 1218428.048 1172390.744 0, 1218165.726 1172377.896 0, 1217903.402 1172365.063 0, 1217641.078 1172352.245 0, 1217378.753 1172339.443 0, 1217116.428 1172326.656 0, 1216854.101 1172313.885 0, 1216591.774 1172301.129 0,
+ 1216329.446 1172288.388 0, 1216067.117 1172275.663 0, 1215804.788 1172262.954 0, 1215542.458 1172250.26 0, 1215280.127 1172237.581 0, 1215017.795 1172224.918 0, 1214755.463 1172212.27 0, 1214493.129 1172199.638 0, 1214229.56 1172186.961 0, 1213961.618 1177761.529 0,
+ 1213693.678 1183336.048 0, 1213956.588 1183348.693 0, 1214218.265 1183361.293 0, 1214479.941 1183373.91 0, 1214741.617 1183386.541 0, 1215003.291 1183399.188 0, 1215264.965 1183411.85 0, 1215526.639 1183424.528 0, 1215788.311 1183437.221 0, 1216049.983 1183449.93 0,
+ 1216311.654 1183462.654 0, 1216573.324 1183475.393 0, 1216834.994 1183488.148 0, 1217096.662 1183500.918 0, 1217358.33 1183513.704 0, 1217619.998 1183526.505 0, 1217881.664 1183539.321 0, 1218143.33 1183552.153 0, 1218404.995 1183565 0, 1218666.659 1183577.863 0,
+ 1218928.323 1183590.741 0, 1219189.985 1183603.634 0, 1219451.647 1183616.543 0, 1219713.308 1183629.467 0, 1219973.738 1183642.346 0, 1220236.628 1183655.362 0, 1220498.287 1183668.332 0, 1220759.945 1183681.318 0, 1221021.603 1183694.319 0, 1221283.259 1183707.336 0,
+ 1221544.915 1183720.368 0, 1221806.57 1183733.415 0, 1222068.225 1183746.478 0, 1222329.878 1183759.556 0, 1222591.531 1183772.65 0, 1222853.183 1183785.759 0, 1223114.834 1183798.883 0, 1223376.485 1183812.023 0, 1223638.134 1183825.178 0, 1223899.783 1183838.349 0,
+ 1224161.431 1183851.535 0, 1224423.079 1183864.736 0, 1224684.725 1183877.953 0, 1224946.371 1183891.185 0, 1225208.016 1183904.433 0, 1225469.66 1183917.696 0, 1225731.304 1183930.974 0, 1225992.946 1183944.268 0, 1226253.359 1183957.514 0, 1226537.046 1178383.775 0,
+ 1226820.737 1172809.986 0))
+
+POLYGON ((1238811.233 1184614.462 0, 1238550.857 1184600.479 0, 1238289.253 1184586.446 0, 1238027.648 1184572.429 0, 1237766.042 1184558.427 0, 1237504.436 1184544.44 0, 1237242.829 1184530.469 0, 1236981.22 1184516.513 0, 1236719.611 1184502.572 0, 1236458.002 1184488.647 0,
+ 1236196.391 1184474.737 0, 1235934.779 1184460.843 0, 1235673.167 1184446.964 0, 1235411.554 1184433.1 0, 1235149.94 1184419.252 0, 1234888.325 1184405.419 0, 1234626.71 1184391.602 0, 1234365.093 1184377.8 0, 1234103.476 1184364.014 0, 1233841.858 1184350.242 0,
+ 1233580.24 1184336.487 0, 1233318.62 1184322.746 0, 1233057 1184309.021 0, 1232795.378 1184295.312 0, 1232532.528 1184281.553 0, 1232272.133 1184267.939 0, 1232010.51 1184254.275 0, 1231748.885 1184240.627 0, 1231487.26 1184226.995 0, 1231225.634 1184213.378 0,
+ 1230964.007 1184199.776 0, 1230702.38 1184186.189 0, 1230440.751 1184172.618 0, 1230179.122 1184159.063 0, 1229917.492 1184145.523 0, 1229655.861 1184131.998 0, 1229394.23 1184118.489 0, 1229132.597 1184104.995 0, 1228870.964 1184091.516 0, 1228609.33 1184078.053 0,
+ 1228347.695 1184064.605 0, 1228086.059 1184051.173 0, 1227824.423 1184037.756 0, 1227562.786 1184024.354 0, 1227301.148 1184010.968 0, 1227039.509 1183997.597 0, 1226777.87 1183984.242 0, 1226516.229 1183970.902 0, 1226253.359 1183957.514 0, 1225969.673 1189531.2 0,
+ 1225685.991 1195104.826 0, 1225948.203 1195118.18 0, 1226209.187 1195131.486 0, 1226470.171 1195144.808 0, 1226731.153 1195158.146 0, 1226992.135 1195171.498 0, 1227253.116 1195184.866 0, 1227514.097 1195198.25 0, 1227775.076 1195211.648 0, 1228036.055 1195225.062 0,
+ 1228297.033 1195238.492 0, 1228558.01 1195251.937 0, 1228818.986 1195265.397 0, 1229079.962 1195278.872 0, 1229340.936 1195292.363 0, 1229601.91 1195305.869 0, 1229862.884 1195319.391 0, 1230123.856 1195332.928 0, 1230384.827 1195346.48 0, 1230645.798 1195360.048 0,
+ 1230906.768 1195373.631 0, 1231167.737 1195387.229 0, 1231428.706 1195400.843 0, 1231689.673 1195414.472 0, 1231949.415 1195428.052 0, 1232211.606 1195441.776 0, 1232472.571 1195455.452 0, 1232733.536 1195469.142 0, 1232994.499 1195482.848 0, 1233255.462 1195496.569 0,
+ 1233516.424 1195510.306 0, 1233777.385 1195524.058 0, 1234038.345 1195537.825 0, 1234299.305 1195551.608 0, 1234560.263 1195565.406 0, 1234821.221 1195579.22 0, 1235082.178 1195593.048 0, 1235343.135 1195606.893 0, 1235604.09 1195620.752 0, 1235865.045 1195634.627 0,
+ 1236125.998 1195648.517 0, 1236386.951 1195662.423 0, 1236647.904 1195676.344 0, 1236908.855 1195690.28 0, 1237169.805 1195704.232 0, 1237430.755 1195718.199 0, 1237691.704 1195732.181 0, 1237952.652 1195746.179 0, 1238212.375 1195760.126 0, 1238511.802 1190187.323 0,
+ 1238811.233 1184614.462 0))
+
+POLYGON ((1250736.857 1196450.813 0, 1250477.172 1196436.131 0, 1250216.265 1196421.397 0, 1249955.357 1196406.677 0, 1249694.447 1196391.973 0, 1249433.537 1196377.284 0, 1249172.626 1196362.61 0, 1248911.715 1196347.952 0, 1248650.802 1196333.31 0, 1248389.889 1196318.682 0,
+ 1248128.974 1196304.07 0, 1247868.059 1196289.473 0, 1247607.143 1196274.892 0, 1247346.226 1196260.326 0, 1247085.308 1196245.775 0, 1246824.389 1196231.24 0, 1246563.47 1196216.72 0, 1246302.549 1196202.216 0, 1246041.628 1196187.726 0, 1245780.706 1196173.253 0,
+ 1245519.783 1196158.794 0, 1245258.859 1196144.351 0, 1244997.935 1196129.923 0, 1244737.009 1196115.511 0, 1244474.86 1196101.046 0, 1244215.156 1196086.732 0, 1243954.228 1196072.366 0, 1243693.299 1196058.015 0, 1243432.369 1196043.679 0, 1243171.439 1196029.359 0,
+ 1242910.507 1196015.054 0, 1242649.575 1196000.764 0, 1242388.642 1195986.49 0, 1242127.708 1195972.231 0, 1241866.773 1195957.988 0, 1241605.838 1195943.76 0, 1241344.901 1195929.547 0, 1241083.964 1195915.35 0, 1240823.026 1195901.168 0, 1240562.087 1195887.001 0,
+ 1240301.147 1195872.85 0, 1240040.207 1195858.714 0, 1239779.265 1195844.593 0, 1239518.323 1195830.488 0, 1239257.38 1195816.398 0, 1238996.436 1195802.323 0, 1238735.491 1195788.264 0, 1238474.546 1195774.22 0, 1238212.375 1195760.126 0, 1237912.951 1201332.865 0,
+ 1237613.53 1206905.537 0, 1237875.042 1206919.596 0, 1238135.332 1206933.604 0, 1238395.621 1206947.628 0, 1238655.908 1206961.667 0, 1238916.196 1206975.722 0, 1239176.482 1206989.791 0, 1239436.767 1207003.877 0, 1239697.052 1207017.977 0, 1239957.336 1207032.093 0,
+ 1240217.619 1207046.224 0, 1240477.901 1207060.37 0, 1240738.182 1207074.532 0, 1240998.463 1207088.709 0, 1241258.742 1207102.901 0, 1241519.021 1207117.109 0, 1241779.299 1207131.332 0, 1242039.576 1207145.57 0, 1242299.852 1207159.824 0, 1242560.128 1207174.093 0,
+ 1242820.402 1207188.377 0, 1243080.676 1207202.677 0, 1243340.949 1207216.992 0, 1243601.221 1207231.322 0, 1243860.272 1207245.6 0, 1244121.763 1207260.028 0, 1244382.032 1207274.404 0, 1244642.301 1207288.796 0, 1244902.569 1207303.203 0, 1245162.836 1207317.625 0,
+ 1245423.102 1207332.062 0, 1245683.367 1207346.515 0, 1245943.632 1207360.983 0, 1246203.895 1207375.467 0, 1246464.158 1207389.965 0, 1246724.42 1207404.479 0, 1246984.681 1207419.009 0, 1247244.941 1207433.553 0, 1247505.2 1207448.113 0, 1247765.459 1207462.689 0,
+ 1248025.716 1207477.279 0, 1248285.973 1207491.885 0, 1248546.229 1207506.507 0, 1248806.484 1207521.143 0, 1249066.738 1207535.795 0, 1249326.991 1207550.462 0, 1249587.244 1207565.145 0, 1249847.495 1207579.843 0, 1250106.527 1207594.487 0, 1250421.69 1202022.684 0,
+ 1250736.857 1196450.813 0))
+
+POLYGON ((1262597.527 1208318.729 0, 1262338.536 1208303.353 0, 1262078.327 1208287.92 0, 1261818.117 1208272.502 0, 1261557.906 1208257.1 0, 1261297.695 1208241.713 0, 1261037.482 1208226.341 0, 1260777.269 1208210.985 0, 1260517.054 1208195.643 0, 1260256.839 1208180.318 0,
+ 1259996.623 1208165.007 0, 1259736.405 1208149.712 0, 1259476.187 1208134.432 0, 1259215.968 1208119.167 0, 1258955.749 1208103.918 0, 1258695.528 1208088.684 0, 1258435.306 1208073.465 0, 1258175.084 1208058.262 0, 1257914.86 1208043.074 0, 1257654.636 1208027.901 0,
+ 1257394.411 1208012.744 0, 1257134.185 1207997.602 0, 1256873.958 1207982.475 0, 1256613.73 1207967.364 0, 1256352.283 1207952.197 0, 1256093.271 1207937.187 0, 1255833.041 1207922.121 0, 1255572.809 1207907.071 0, 1255312.577 1207892.036 0, 1255052.344 1207877.017 0,
+ 1254792.11 1207862.013 0, 1254531.875 1207847.024 0, 1254271.639 1207832.05 0, 1254011.402 1207817.092 0, 1253751.165 1207802.149 0, 1253490.926 1207787.221 0, 1253230.687 1207772.309 0, 1252970.446 1207757.412 0, 1252710.205 1207742.53 0, 1252449.963 1207727.664 0,
+ 1252189.72 1207712.813 0, 1251929.477 1207697.977 0, 1251669.232 1207683.157 0, 1251408.987 1207668.352 0, 1251148.74 1207653.562 0, 1250888.493 1207638.787 0, 1250628.245 1207624.028 0, 1250367.996 1207609.284 0, 1250106.527 1207594.487 0, 1249791.368 1213166.217 0,
+ 1249476.214 1218737.87 0, 1249737.024 1218752.63 0, 1249996.617 1218767.337 0, 1250256.209 1218782.059 0, 1250515.8 1218796.796 0, 1250775.391 1218811.549 0, 1251034.981 1218826.316 0, 1251294.569 1218841.1 0, 1251554.157 1218855.898 0, 1251813.744 1218870.711 0,
+ 1252073.33 1218885.54 0, 1252332.916 1218900.385 0, 1252592.5 1218915.244 0, 1252852.083 1218930.119 0, 1253111.666 1218945.009 0, 1253371.248 1218959.914 0, 1253630.829 1218974.835 0, 1253890.409 1218989.77 0, 1254149.988 1219004.722 0, 1254409.566 1219019.688 0,
+ 1254669.144 1219034.67 0, 1254928.72 1219049.667 0, 1255188.296 1219064.679 0, 1255447.87 1219079.706 0, 1255706.229 1219094.679 0, 1255967.017 1219109.807 0, 1256226.589 1219124.881 0, 1256486.16 1219139.969 0, 1256745.731 1219155.073 0, 1257005.3 1219170.192 0,
+ 1257264.869 1219185.327 0, 1257524.436 1219200.476 0, 1257784.003 1219215.642 0, 1258043.569 1219230.822 0, 1258303.134 1219246.017 0, 1258562.698 1219261.228 0, 1258822.261 1219276.454 0, 1259081.823 1219291.696 0, 1259341.384 1219306.952 0, 1259600.945 1219322.224 0,
+ 1259860.504 1219337.512 0, 1260120.063 1219352.814 0, 1260379.621 1219368.132 0, 1260639.178 1219383.465 0, 1260898.734 1219398.813 0, 1261158.289 1219414.177 0, 1261417.843 1219429.556 0, 1261677.396 1219444.95 0, 1261935.734 1219460.287 0, 1262266.628 1213889.547 0,
+ 1262597.527 1208318.729 0))
+
+POLYGON ((1274393.164 1220217.902 0, 1274134.868 1220201.835 0, 1273875.36 1220185.707 0, 1273615.85 1220169.595 0, 1273356.339 1220153.498 0, 1273096.828 1220137.417 0, 1272837.315 1220121.351 0, 1272577.802 1220105.3 0, 1272318.288 1220089.264 0, 1272058.772 1220073.243 0,
+ 1271799.256 1220057.238 0, 1271539.739 1220041.248 0, 1271280.221 1220025.274 0, 1271020.702 1220009.314 0, 1270761.182 1219993.37 0, 1270501.661 1219977.441 0, 1270242.139 1219961.528 0, 1269982.616 1219945.629 0, 1269723.092 1219929.746 0, 1269463.567 1219913.879 0,
+ 1269204.042 1219898.026 0, 1268944.515 1219882.189 0, 1268684.988 1219866.367 0, 1268425.459 1219850.561 0, 1268164.717 1219834.695 0, 1267906.399 1219818.993 0, 1267646.868 1219803.232 0, 1267387.336 1219787.487 0, 1267127.803 1219771.757 0, 1266868.269 1219756.042 0,
+ 1266608.734 1219740.342 0, 1266349.198 1219724.657 0, 1266089.661 1219708.988 0, 1265830.124 1219693.334 0, 1265570.585 1219677.696 0, 1265311.046 1219662.072 0, 1265051.505 1219646.464 0, 1264791.964 1219630.872 0, 1264532.421 1219615.294 0, 1264272.878 1219599.732 0,
+ 1264013.334 1219584.185 0, 1263753.789 1219568.653 0, 1263494.243 1219553.137 0, 1263234.696 1219537.636 0, 1262975.149 1219522.15 0, 1262715.6 1219506.679 0, 1262456.05 1219491.224 0, 1262196.5 1219475.784 0, 1261935.734 1219460.287 0, 1261604.845 1225030.945 0,
+ 1261273.961 1230601.516 0, 1261534.068 1230616.974 0, 1261792.962 1230632.375 0, 1262051.856 1230647.791 0, 1262310.749 1230663.223 0, 1262569.641 1230678.669 0, 1262828.532 1230694.131 0, 1263087.422 1230709.608 0, 1263346.312 1230725.101 0, 1263605.2 1230740.609 0,
+ 1263864.088 1230756.131 0, 1264122.974 1230771.67 0, 1264381.86 1230787.223 0, 1264640.745 1230802.792 0, 1264899.628 1230818.375 0, 1265158.511 1230833.975 0, 1265417.393 1230849.589 0, 1265676.274 1230865.218 0, 1265935.155 1230880.863 0, 1266194.034 1230896.523 0,
+ 1266452.912 1230912.198 0, 1266711.789 1230927.889 0, 1266970.666 1230943.595 0, 1267229.541 1230959.316 0, 1267487.206 1230974.978 0, 1267747.29 1230990.803 0, 1268006.162 1231006.57 0, 1268265.034 1231022.352 0, 1268523.905 1231038.149 0, 1268782.775 1231053.962 0,
+ 1269041.644 1231069.789 0, 1269300.512 1231085.632 0, 1269559.379 1231101.49 0, 1269818.246 1231117.364 0, 1270077.111 1231133.252 0, 1270335.975 1231149.156 0, 1270594.839 1231165.075 0, 1270853.701 1231181.009 0, 1271112.563 1231196.959 0, 1271371.423 1231212.924 0,
+ 1271630.283 1231228.904 0, 1271889.142 1231244.899 0, 1272148 1231260.909 0, 1272406.856 1231276.935 0, 1272665.712 1231292.976 0, 1272924.567 1231309.032 0, 1273183.421 1231325.104 0, 1273442.274 1231341.19 0, 1273699.918 1231357.217 0, 1274046.538 1225787.603 0,
+ 1274393.164 1220217.902 0))
+
+POLYGON ((1286123.69 1232148.02 0, 1285866.091 1232131.265 0, 1285607.284 1232114.448 0, 1285348.477 1232097.645 0, 1285089.668 1232080.857 0, 1284830.858 1232064.085 0, 1284572.048 1232047.328 0, 1284313.236 1232030.587 0, 1284054.424 1232013.86 0, 1283795.61 1231997.149 0,
+ 1283536.796 1231980.453 0, 1283277.981 1231963.772 0, 1283019.164 1231947.106 0, 1282760.347 1231930.456 0, 1282501.528 1231913.821 0, 1282242.709 1231897.201 0, 1281983.889 1231880.597 0, 1281725.067 1231864.007 0, 1281466.245 1231847.433 0, 1281207.422 1231830.874 0,
+ 1280948.597 1231814.33 0, 1280689.772 1231797.802 0, 1280430.946 1231781.289 0, 1280172.119 1231764.791 0, 1279912.083 1231748.231 0, 1279654.462 1231731.84 0, 1279395.631 1231715.388 0, 1279136.8 1231698.951 0, 1278877.968 1231682.529 0, 1278619.135 1231666.123 0,
+ 1278360.301 1231649.731 0, 1278101.467 1231633.355 0, 1277842.631 1231616.994 0, 1277583.794 1231600.649 0, 1277324.956 1231584.318 0, 1277066.117 1231568.003 0, 1276807.278 1231551.703 0, 1276548.437 1231535.418 0, 1276289.595 1231519.149 0, 1276030.753 1231502.895 0,
+ 1275771.909 1231486.656 0, 1275513.065 1231470.432 0, 1275254.219 1231454.223 0, 1274995.373 1231438.03 0, 1274736.525 1231421.852 0, 1274477.677 1231405.689 0, 1274218.828 1231389.542 0, 1273959.978 1231373.409 0, 1273699.918 1231357.217 0, 1273353.303 1236926.739 0,
+ 1273006.694 1242496.165 0, 1273266.095 1242512.316 0, 1273524.29 1242528.407 0, 1273782.483 1242544.514 0, 1274040.676 1242560.636 0, 1274298.868 1242576.773 0, 1274557.059 1242592.925 0, 1274815.248 1242609.093 0, 1275073.437 1242625.275 0, 1275331.625 1242641.473 0,
+ 1275589.812 1242657.686 0, 1275847.998 1242673.915 0, 1276106.183 1242690.158 0, 1276364.368 1242706.417 0, 1276622.551 1242722.691 0, 1276880.733 1242738.98 0, 1277138.914 1242755.284 0, 1277397.095 1242771.603 0, 1277655.274 1242787.938 0, 1277913.452 1242804.288 0,
+ 1278171.63 1242820.653 0, 1278429.806 1242837.033 0, 1278687.982 1242853.429 0, 1278946.156 1242869.839 0, 1279203.125 1242886.188 0, 1279462.502 1242902.706 0, 1279720.674 1242919.162 0, 1279978.844 1242935.634 0, 1280237.014 1242952.12 0, 1280495.183 1242968.622 0,
+ 1280753.351 1242985.139 0, 1281011.517 1243001.671 0, 1281269.683 1243018.219 0, 1281527.848 1243034.781 0, 1281786.012 1243051.359 0, 1282044.175 1243067.952 0, 1282302.337 1243084.56 0, 1282560.497 1243101.183 0, 1282818.657 1243117.822 0, 1283076.816 1243134.476 0,
+ 1283334.974 1243151.145 0, 1283593.131 1243167.829 0, 1283851.287 1243184.528 0, 1284109.442 1243201.243 0, 1284367.596 1243217.972 0, 1284625.749 1243234.717 0, 1284883.901 1243251.477 0, 1285142.053 1243268.253 0, 1285398.999 1243284.965 0, 1285761.341 1237716.541 0,
+ 1286123.69 1232148.02 0))
+
+POLYGON ((1297789.027 1244108.772 0, 1297532.126 1244091.334 0, 1297274.024 1244073.83 0, 1297015.92 1244056.34 0, 1296757.815 1244038.866 0, 1296499.709 1244021.407 0, 1296241.603 1244003.963 0, 1295983.495 1243986.535 0, 1295725.386 1243969.121 0, 1295467.276 1243951.723 0,
+ 1295209.165 1243934.34 0, 1294951.053 1243916.972 0, 1294692.94 1243899.62 0, 1294434.827 1243882.282 0, 1294176.712 1243864.96 0, 1293918.596 1243847.653 0, 1293660.479 1243830.361 0, 1293402.361 1243813.084 0, 1293144.242 1243795.823 0, 1292886.122 1243778.577 0,
+ 1292628.001 1243761.345 0, 1292369.878 1243744.13 0, 1292111.755 1243726.929 0, 1291853.631 1243709.743 0, 1291594.304 1243692.493 0, 1291337.38 1243675.418 0, 1291079.253 1243658.278 0, 1290821.125 1243641.153 0, 1290562.996 1243624.044 0, 1290304.865 1243606.949 0,
+ 1290046.734 1243589.87 0, 1289788.602 1243572.806 0, 1289530.469 1243555.757 0, 1289272.335 1243538.724 0, 1289014.2 1243521.705 0, 1288756.064 1243504.702 0, 1288497.926 1243487.714 0, 1288239.788 1243470.741 0, 1287981.649 1243453.784 0, 1287723.509 1243436.841 0,
+ 1287465.368 1243419.914 0, 1287207.226 1243403.002 0, 1286949.082 1243386.105 0, 1286690.938 1243369.223 0, 1286432.793 1243352.357 0, 1286174.647 1243335.506 0, 1285916.5 1243318.67 0, 1285658.352 1243301.849 0, 1285398.999 1243284.965 0, 1285036.664 1248853.287 0,
+ 1284674.335 1254421.504 0, 1284933.029 1254438.345 0, 1285190.522 1254455.123 0, 1285448.013 1254471.917 0, 1285705.504 1254488.725 0, 1285962.994 1254505.549 0, 1286220.482 1254522.387 0, 1286477.97 1254539.241 0, 1286735.457 1254556.11 0, 1286992.942 1254572.995 0,
+ 1287250.427 1254589.894 0, 1287507.911 1254606.809 0, 1287765.394 1254623.738 0, 1288022.875 1254640.683 0, 1288280.356 1254657.643 0, 1288537.836 1254674.619 0, 1288795.314 1254691.609 0, 1289052.792 1254708.614 0, 1289310.269 1254725.635 0, 1289567.745 1254742.671 0,
+ 1289825.219 1254759.722 0, 1290082.693 1254776.788 0, 1290340.166 1254793.869 0, 1290597.637 1254810.966 0, 1290853.909 1254827.997 0, 1291112.578 1254845.204 0, 1291370.047 1254862.346 0, 1291627.514 1254879.503 0, 1291884.981 1254896.675 0, 1292142.447 1254913.862 0,
+ 1292399.911 1254931.065 0, 1292657.375 1254948.283 0, 1292914.837 1254965.515 0, 1293172.299 1254982.763 0, 1293429.76 1255000.026 0, 1293687.219 1255017.305 0, 1293944.678 1255034.598 0, 1294202.135 1255051.907 0, 1294459.592 1255069.23 0, 1294717.047 1255086.569 0,
+ 1294974.502 1255103.923 0, 1295231.955 1255121.293 0, 1295489.408 1255138.677 0, 1295746.859 1255156.076 0, 1296004.309 1255173.491 0, 1296261.759 1255190.921 0, 1296519.207 1255208.366 0, 1296776.654 1255225.826 0, 1297032.903 1255243.22 0, 1297410.961 1249676.049 0,
+ 1297789.027 1244108.772 0))
+
+POLYGON ((1309389.099 1256099.848 0, 1309132.899 1256081.73 0, 1308875.502 1256063.542 0, 1308618.104 1256045.37 0, 1308360.705 1256027.213 0, 1308103.305 1256009.071 0, 1307845.904 1255990.944 0, 1307588.502 1255972.833 0, 1307331.098 1255954.736 0, 1307073.694 1255936.655 0,
+ 1306816.288 1255918.589 0, 1306558.882 1255900.538 0, 1306301.474 1255882.502 0, 1306044.066 1255864.481 0, 1305786.656 1255846.475 0, 1305529.245 1255828.485 0, 1305271.833 1255810.51 0, 1305014.42 1255792.55 0, 1304757.006 1255774.605 0, 1304499.591 1255756.675 0,
+ 1304242.175 1255738.76 0, 1303984.758 1255720.861 0, 1303727.34 1255702.976 0, 1303469.921 1255685.107 0, 1303211.303 1255667.17 0, 1302955.079 1255649.414 0, 1302697.657 1255631.59 0, 1302440.233 1255613.782 0, 1302182.809 1255595.988 0, 1301925.383 1255578.21 0,
+ 1301667.957 1255560.447 0, 1301410.529 1255542.699 0, 1301153.1 1255524.966 0, 1300895.671 1255507.248 0, 1300638.24 1255489.546 0, 1300380.808 1255471.858 0, 1300123.375 1255454.186 0, 1299865.942 1255436.529 0, 1299608.507 1255418.887 0, 1299351.071 1255401.26 0,
+ 1299093.634 1255383.649 0, 1298836.196 1255366.052 0, 1298578.757 1255348.471 0, 1298321.317 1255330.905 0, 1298063.875 1255313.354 0, 1297806.433 1255295.818 0, 1297548.99 1255278.297 0, 1297291.546 1255260.792 0, 1297032.903 1255243.22 0, 1296654.852 1260810.279 0,
+ 1296276.809 1266377.223 0, 1296534.794 1266394.75 0, 1296791.583 1266412.211 0, 1297048.37 1266429.687 0, 1297305.157 1266447.178 0, 1297561.943 1266464.685 0, 1297818.728 1266482.206 0, 1298075.512 1266499.743 0, 1298332.294 1266517.294 0, 1298589.076 1266534.861 0,
+ 1298845.857 1266552.443 0, 1299102.636 1266570.04 0, 1299359.415 1266587.652 0, 1299616.192 1266605.28 0, 1299872.969 1266622.922 0, 1300129.744 1266640.579 0, 1300386.519 1266658.252 0, 1300643.292 1266675.94 0, 1300900.064 1266693.643 0, 1301156.836 1266711.36 0,
+ 1301413.606 1266729.094 0, 1301670.375 1266746.842 0, 1301927.143 1266764.605 0, 1302183.91 1266782.383 0, 1302439.482 1266800.094 0, 1302697.441 1266817.985 0, 1302954.205 1266835.809 0, 1303210.968 1266853.648 0, 1303467.73 1266871.502 0, 1303724.491 1266889.371 0,
+ 1303981.251 1266907.255 0, 1304238.01 1266925.155 0, 1304494.767 1266943.069 0, 1304751.524 1266960.998 0, 1305008.279 1266978.943 0, 1305265.034 1266996.903 0, 1305521.787 1267014.878 0, 1305778.54 1267032.868 0, 1306035.291 1267050.873 0, 1306292.041 1267068.893 0,
+ 1306548.79 1267086.928 0, 1306805.539 1267104.979 0, 1307062.286 1267123.044 0, 1307319.032 1267141.125 0, 1307575.777 1267159.22 0, 1307832.52 1267177.331 0, 1308089.263 1267195.457 0, 1308346.005 1267213.598 0, 1308601.553 1267231.67 0, 1308995.322 1261665.817 0,
+ 1309389.099 1256099.848 0))
+
+POLYGON ((1320923.834 1268120.934 0, 1320668.336 1268102.14 0, 1320411.647 1268083.273 0, 1320154.956 1268064.422 0, 1319898.264 1268045.586 0, 1319641.572 1268026.765 0, 1319384.878 1268007.959 0, 1319128.183 1267989.168 0, 1318871.487 1267970.393 0, 1318614.789 1267951.632 0,
+ 1318358.091 1267932.887 0, 1318101.392 1267914.156 0, 1317844.691 1267895.441 0, 1317587.989 1267876.741 0, 1317331.287 1267858.056 0, 1317074.583 1267839.386 0, 1316817.878 1267820.731 0, 1316561.172 1267802.091 0, 1316304.465 1267783.467 0, 1316047.757 1267764.857 0,
+ 1315791.047 1267746.263 0, 1315534.337 1267727.683 0, 1315277.625 1267709.119 0, 1315020.913 1267690.57 0, 1314763.007 1267671.95 0, 1314507.484 1267653.517 0, 1314250.768 1267635.014 0, 1313994.052 1267616.525 0, 1313737.333 1267598.052 0, 1313480.614 1267579.593 0,
+ 1313223.894 1267561.15 0, 1312967.173 1267542.722 0, 1312710.45 1267524.309 0, 1312453.727 1267505.911 0, 1312197.002 1267487.528 0, 1311940.277 1267469.16 0, 1311683.55 1267450.807 0, 1311426.822 1267432.47 0, 1311170.093 1267414.148 0, 1310913.364 1267395.84 0,
+ 1310656.633 1267377.548 0, 1310399.9 1267359.271 0, 1310143.167 1267341.009 0, 1309886.433 1267322.762 0, 1309629.698 1267304.53 0, 1309372.961 1267286.314 0, 1309116.224 1267268.112 0, 1308859.485 1267249.926 0, 1308601.553 1267231.67 0, 1308207.792 1272797.403 0,
+ 1307814.04 1278363.01 0, 1308071.315 1278381.219 0, 1308327.398 1278399.359 0, 1308583.48 1278417.514 0, 1308839.562 1278435.684 0, 1309095.642 1278453.869 0, 1309351.721 1278472.069 0, 1309607.799 1278490.285 0, 1309863.876 1278508.515 0, 1310119.952 1278526.761 0,
+ 1310376.027 1278545.021 0, 1310632.1 1278563.297 0, 1310888.173 1278581.588 0, 1311144.245 1278599.893 0, 1311400.315 1278618.214 0, 1311656.384 1278636.55 0, 1311912.453 1278654.901 0, 1312168.52 1278673.267 0, 1312424.586 1278691.649 0, 1312680.651 1278710.045 0,
+ 1312936.715 1278728.456 0, 1313192.778 1278746.882 0, 1313448.84 1278765.324 0, 1313704.901 1278783.78 0, 1313959.772 1278802.166 0, 1314217.019 1278820.739 0, 1314473.077 1278839.24 0, 1314729.133 1278857.757 0, 1314985.188 1278876.289 0, 1315241.243 1278894.836 0,
+ 1315497.296 1278913.398 0, 1315753.348 1278931.975 0, 1316009.399 1278950.567 0, 1316265.448 1278969.174 0, 1316521.497 1278987.797 0, 1316777.545 1279006.434 0, 1317033.591 1279025.086 0, 1317289.637 1279043.754 0, 1317545.681 1279062.437 0, 1317801.725 1279081.134 0,
+ 1318057.767 1279099.847 0, 1318313.808 1279118.575 0, 1318569.848 1279137.318 0, 1318825.887 1279156.075 0, 1319081.924 1279174.848 0, 1319337.961 1279193.637 0, 1319593.996 1279212.44 0, 1319850.031 1279231.258 0, 1320104.877 1279250.004 0, 1320514.351 1273685.532 0,
+ 1320923.834 1268120.934 0))
+
+POLYGON ((1332393.158 1280171.718 0, 1332138.364 1280152.252 0, 1331882.384 1280132.711 0, 1331626.402 1280113.184 0, 1331370.42 1280093.673 0, 1331114.436 1280074.177 0, 1330858.451 1280054.696 0, 1330602.465 1280035.229 0, 1330346.478 1280015.778 0, 1330090.49 1279996.342 0,
+ 1329834.501 1279976.921 0, 1329578.51 1279957.516 0, 1329322.518 1279938.125 0, 1329066.525 1279918.749 0, 1328810.531 1279899.388 0, 1328554.536 1279880.043 0, 1328298.54 1279860.712 0, 1328042.543 1279841.397 0, 1327786.544 1279822.096 0, 1327530.544 1279802.811 0,
+ 1327274.544 1279783.541 0, 1327018.542 1279764.286 0, 1326762.539 1279745.045 0, 1326506.534 1279725.82 0, 1326249.343 1279706.521 0, 1325994.523 1279687.415 0, 1325738.515 1279668.236 0, 1325482.506 1279649.071 0, 1325226.497 1279629.921 0, 1324970.486 1279610.786 0,
+ 1324714.473 1279591.667 0, 1324458.46 1279572.562 0, 1324202.446 1279553.473 0, 1323946.43 1279534.399 0, 1323690.414 1279515.339 0, 1323434.396 1279496.295 0, 1323178.377 1279477.266 0, 1322922.357 1279458.252 0, 1322666.336 1279439.253 0, 1322410.314 1279420.269 0,
+ 1322154.291 1279401.3 0, 1321898.266 1279382.346 0, 1321642.241 1279363.407 0, 1321386.214 1279344.484 0, 1321130.186 1279325.575 0, 1320874.158 1279306.681 0, 1320618.128 1279287.803 0, 1320362.096 1279268.939 0, 1320104.877 1279250.004 0, 1319695.412 1284814.345 0,
+ 1319285.958 1290378.551 0, 1319542.52 1290397.439 0, 1319797.896 1290416.254 0, 1320053.271 1290435.084 0, 1320308.645 1290453.929 0, 1320564.017 1290472.79 0, 1320819.389 1290491.665 0, 1321074.76 1290510.555 0, 1321330.129 1290529.46 0, 1321585.497 1290548.381 0,
+ 1321840.865 1290567.316 0, 1322096.231 1290586.267 0, 1322351.596 1290605.232 0, 1322606.96 1290624.213 0, 1322862.322 1290643.208 0, 1323117.684 1290662.219 0, 1323373.044 1290681.244 0, 1323628.404 1290700.285 0, 1323883.762 1290719.34 0, 1324139.119 1290738.411 0,
+ 1324394.475 1290757.497 0, 1324649.83 1290776.598 0, 1324905.184 1290795.713 0, 1325160.537 1290814.844 0, 1325414.705 1290833.901 0, 1325671.238 1290853.151 0, 1325926.588 1290872.327 0, 1326181.936 1290891.518 0, 1326437.283 1290910.723 0, 1326692.629 1290929.944 0,
+ 1326947.974 1290949.18 0, 1327203.317 1290968.431 0, 1327458.66 1290987.698 0, 1327714.001 1291006.979 0, 1327969.341 1291026.275 0, 1328224.68 1291045.586 0, 1328480.018 1291064.912 0, 1328735.355 1291084.253 0, 1328990.691 1291103.609 0, 1329246.025 1291122.981 0,
+ 1329501.359 1291142.367 0, 1329756.691 1291161.768 0, 1330012.022 1291181.185 0, 1330267.352 1291200.616 0, 1330522.681 1291220.062 0, 1330778.008 1291239.524 0, 1331033.335 1291259 0, 1331288.66 1291278.492 0, 1331542.802 1291297.908 0, 1331967.975 1285734.881 0,
+ 1332393.158 1280171.718 0))
+
+POLYGON ((1343797 1292251.888 0, 1343542.912 1292231.754 0, 1343287.643 1292211.542 0, 1343032.372 1292191.344 0, 1342777.101 1292171.161 0, 1342521.828 1292150.993 0, 1342266.554 1292130.841 0, 1342011.279 1292110.703 0, 1341756.002 1292090.581 0, 1341500.725 1292070.473 0,
+ 1341245.446 1292050.38 0, 1340990.166 1292030.303 0, 1340734.885 1292010.24 0, 1340479.602 1291990.193 0, 1340224.319 1291970.161 0, 1339969.034 1291950.143 0, 1339713.748 1291930.141 0, 1339458.461 1291910.153 0, 1339203.173 1291890.181 0, 1338947.884 1291870.224 0,
+ 1338692.593 1291850.281 0, 1338437.301 1291830.354 0, 1338182.009 1291810.442 0, 1337926.714 1291790.545 0, 1337670.238 1291770.571 0, 1337416.123 1291750.795 0, 1337160.825 1291730.943 0, 1336905.526 1291711.106 0, 1336650.227 1291691.284 0, 1336394.925 1291671.477 0,
+ 1336139.623 1291651.685 0, 1335884.32 1291631.908 0, 1335629.015 1291612.146 0, 1335373.709 1291592.399 0, 1335118.403 1291572.667 0, 1334863.094 1291552.95 0, 1334607.785 1291533.248 0, 1334352.475 1291513.562 0, 1334097.163 1291493.89 0, 1333841.851 1291474.233 0,
+ 1333586.537 1291454.591 0, 1333331.222 1291434.965 0, 1333075.906 1291415.353 0, 1332820.588 1291395.756 0, 1332565.27 1291376.175 0, 1332309.95 1291356.608 0, 1332054.629 1291337.056 0, 1331799.308 1291317.52 0, 1331542.802 1291297.908 0, 1331117.64 1296860.794 0,
+ 1330692.489 1302423.535 0, 1330948.337 1302443.097 0, 1331203.004 1302462.584 0, 1331457.67 1302482.085 0, 1331712.335 1302501.601 0, 1331966.998 1302521.133 0, 1332221.661 1302540.679 0, 1332476.322 1302560.241 0, 1332730.982 1302579.817 0, 1332985.642 1302599.408 0,
+ 1333240.299 1302619.015 0, 1333494.956 1302638.636 0, 1333749.612 1302658.273 0, 1334004.266 1302677.924 0, 1334258.919 1302697.59 0, 1334513.572 1302717.271 0, 1334768.223 1302736.968 0, 1335022.872 1302756.679 0, 1335277.521 1302776.405 0, 1335532.168 1302796.147 0,
+ 1335786.815 1302815.903 0, 1336041.46 1302835.674 0, 1336296.104 1302855.46 0, 1336550.747 1302875.262 0, 1336804.21 1302894.986 0, 1337060.029 1302914.909 0, 1337314.668 1302934.755 0, 1337569.306 1302954.616 0, 1337823.943 1302974.492 0, 1338078.579 1302994.384 0,
+ 1338333.214 1303014.29 0, 1338587.847 1303034.211 0, 1338842.479 1303054.147 0, 1339097.111 1303074.098 0, 1339351.741 1303094.064 0, 1339606.369 1303114.045 0, 1339860.997 1303134.041 0, 1340115.623 1303154.052 0, 1340370.249 1303174.078 0, 1340624.873 1303194.119 0,
+ 1340879.495 1303214.175 0, 1341134.117 1303234.246 0, 1341388.738 1303254.332 0, 1341643.357 1303274.433 0, 1341897.975 1303294.549 0, 1342152.592 1303314.68 0, 1342407.208 1303334.826 0, 1342661.823 1303354.987 0, 1342915.259 1303375.069 0, 1343356.124 1297813.552 0,
+ 1343797 1292251.888 0))
+
+POLYGON ((1355135.291 1304361.131 0, 1354881.911 1304340.332 0, 1354627.354 1304319.452 0, 1354372.796 1304298.587 0, 1354118.237 1304277.737 0, 1353863.677 1304256.902 0, 1353609.115 1304236.081 0, 1353354.553 1304215.276 0, 1353099.989 1304194.486 0, 1352845.423 1304173.711 0,
+ 1352590.857 1304152.95 0, 1352336.289 1304132.205 0, 1352081.72 1304111.475 0, 1351827.15 1304090.759 0, 1351572.579 1304070.059 0, 1351318.007 1304049.374 0, 1351063.433 1304028.703 0, 1350808.858 1304008.048 0, 1350554.282 1303987.408 0, 1350299.704 1303966.782 0,
+ 1350045.126 1303946.172 0, 1349790.546 1303925.576 0, 1349535.965 1303904.996 0, 1349281.383 1303884.43 0, 1349025.623 1303863.785 0, 1348772.215 1303843.344 0, 1348517.629 1303822.824 0, 1348263.042 1303802.318 0, 1348008.453 1303781.827 0, 1347753.864 1303761.352 0,
+ 1347499.273 1303740.891 0, 1347244.681 1303720.446 0, 1346990.088 1303700.015 0, 1346735.494 1303679.599 0, 1346480.898 1303659.199 0, 1346226.302 1303638.813 0, 1345971.704 1303618.442 0, 1345717.105 1303598.087 0, 1345462.504 1303577.746 0, 1345207.903 1303557.42 0,
+ 1344953.3 1303537.109 0, 1344698.696 1303516.814 0, 1344444.091 1303496.533 0, 1344189.485 1303476.267 0, 1343934.878 1303456.016 0, 1343680.269 1303435.78 0, 1343425.659 1303415.559 0, 1343171.048 1303395.354 0, 1342915.259 1303375.069 0, 1342474.406 1308936.437 0,
+ 1342033.565 1314497.648 0, 1342288.697 1314517.88 0, 1342542.653 1314538.034 0, 1342796.609 1314558.203 0, 1343050.563 1314578.387 0, 1343304.515 1314598.586 0, 1343558.467 1314618.799 0, 1343812.417 1314639.028 0, 1344066.367 1314659.272 0, 1344320.315 1314679.53 0,
+ 1344574.262 1314699.804 0, 1344828.207 1314720.092 0, 1345082.152 1314740.396 0, 1345336.095 1314760.714 0, 1345590.037 1314781.047 0, 1345843.978 1314801.395 0, 1346097.918 1314821.759 0, 1346351.856 1314842.137 0, 1346605.793 1314862.53 0, 1346859.73 1314882.938 0,
+ 1347113.664 1314903.361 0, 1347367.598 1314923.799 0, 1347621.531 1314944.251 0, 1347875.462 1314964.719 0, 1348128.219 1314985.107 0, 1348383.321 1315005.7 0, 1348637.248 1315026.212 0, 1348891.175 1315046.74 0, 1349145.1 1315067.282 0, 1349399.024 1315087.84 0,
+ 1349652.947 1315108.412 0, 1349906.869 1315128.999 0, 1350160.789 1315149.602 0, 1350414.708 1315170.219 0, 1350668.626 1315190.851 0, 1350922.543 1315211.498 0, 1351176.458 1315232.16 0, 1351430.373 1315252.837 0, 1351684.286 1315273.529 0, 1351938.198 1315294.236 0,
+ 1352192.108 1315314.958 0, 1352446.018 1315335.695 0, 1352699.926 1315356.447 0, 1352953.833 1315377.213 0, 1353207.739 1315397.995 0, 1353461.643 1315418.792 0, 1353715.547 1315439.603 0, 1353969.449 1315460.43 0, 1354222.178 1315481.175 0, 1354678.728 1309921.231 0,
+ 1355135.291 1304361.131 0))
+
+POLYGON ((1366407.963 1316499.132 0, 1366155.292 1316477.673 0, 1365901.45 1316456.129 0, 1365647.606 1316434.6 0, 1365393.761 1316413.087 0, 1365139.915 1316391.588 0, 1364886.068 1316370.104 0, 1364632.219 1316348.635 0, 1364378.37 1316327.181 0, 1364124.518 1316305.742 0,
+ 1363870.666 1316284.318 0, 1363616.812 1316262.908 0, 1363362.958 1316241.514 0, 1363109.101 1316220.135 0, 1362855.244 1316198.77 0, 1362601.385 1316177.421 0, 1362347.525 1316156.086 0, 1362093.664 1316134.767 0, 1361839.802 1316113.462 0, 1361585.938 1316092.172 0,
+ 1361332.073 1316070.898 0, 1361078.207 1316049.638 0, 1360824.339 1316028.393 0, 1360570.471 1316007.163 0, 1360315.43 1315985.85 0, 1360062.73 1315964.748 0, 1359808.857 1315943.563 0, 1359554.984 1315922.393 0, 1359301.109 1315901.237 0, 1359047.232 1315880.097 0,
+ 1358793.355 1315858.972 0, 1358539.476 1315837.861 0, 1358285.596 1315816.766 0, 1358031.715 1315795.685 0, 1357777.833 1315774.62 0, 1357523.949 1315753.569 0, 1357270.064 1315732.534 0, 1357016.178 1315711.513 0, 1356762.291 1315690.507 0, 1356508.402 1315669.516 0,
+ 1356254.513 1315648.54 0, 1356000.622 1315627.579 0, 1355746.729 1315606.633 0, 1355492.836 1315585.702 0, 1355238.941 1315564.786 0, 1354985.045 1315543.885 0, 1354731.148 1315522.999 0, 1354477.249 1315502.127 0, 1354222.178 1315481.175 0, 1353765.641 1321040.958 0,
+ 1353309.117 1326600.576 0, 1353563.531 1326621.475 0, 1353816.775 1326642.293 0, 1354070.018 1326663.125 0, 1354323.26 1326683.972 0, 1354576.5 1326704.834 0, 1354829.739 1326725.712 0, 1355082.977 1326746.604 0, 1355336.213 1326767.511 0, 1355589.449 1326788.432 0,
+ 1355842.683 1326809.369 0, 1356095.916 1326830.321 0, 1356349.147 1326851.287 0, 1356602.378 1326872.269 0, 1356855.607 1326893.265 0, 1357108.835 1326914.276 0, 1357362.062 1326935.303 0, 1357615.287 1326956.344 0, 1357868.512 1326977.4 0, 1358121.735 1326998.47 0,
+ 1358374.956 1327019.556 0, 1358628.177 1327040.657 0, 1358881.396 1327061.773 0, 1359134.614 1327082.903 0, 1359386.663 1327103.951 0, 1359641.047 1327125.209 0, 1359894.261 1327146.384 0, 1360147.474 1327167.574 0, 1360400.686 1327188.779 0, 1360653.896 1327209.999 0,
+ 1360907.106 1327231.234 0, 1361160.314 1327252.484 0, 1361413.52 1327273.748 0, 1361666.726 1327295.028 0, 1361919.93 1327316.322 0, 1362173.133 1327337.632 0, 1362426.335 1327358.956 0, 1362679.536 1327380.295 0, 1362932.735 1327401.649 0, 1363185.933 1327423.018 0,
+ 1363439.13 1327444.402 0, 1363692.325 1327465.801 0, 1363945.52 1327487.214 0, 1364198.713 1327508.643 0, 1364451.904 1327530.086 0, 1364705.095 1327551.545 0, 1364958.284 1327573.018 0, 1365211.472 1327594.506 0, 1365463.492 1327615.91 0, 1365935.721 1322057.604 0,
+ 1366407.963 1316499.132 0))
+
+POLYGON ((809874.69 824864.954 0, 809593.312 824876.098 0, 809310.536 824887.313 0, 809027.76 824898.545 0, 808744.986 824909.794 0, 808462.212 824921.059 0, 808179.438 824932.341 0, 807896.666 824943.639 0, 807613.894 824954.954 0, 807331.122 824966.286 0,
+ 807048.352 824977.634 0, 806765.582 824989 0, 806482.812 825000.381 0, 806200.044 825011.78 0, 805917.276 825023.195 0, 805634.508 825034.626 0, 805351.742 825046.075 0, 805068.976 825057.539 0, 804786.21 825069.021 0, 804503.446 825080.519 0,
+ 804220.682 825092.034 0, 803937.918 825103.566 0, 803655.156 825115.114 0, 803372.394 825126.679 0, 803088.233 825138.317 0, 802806.872 825149.858 0, 802524.112 825161.473 0, 802241.353 825173.104 0, 801958.595 825184.752 0, 801675.837 825196.417 0,
+ 801393.08 825208.098 0, 801110.323 825219.796 0, 800827.568 825231.511 0, 800544.813 825243.242 0, 800262.058 825254.99 0, 799979.305 825266.754 0, 799696.552 825278.535 0, 799413.799 825290.333 0, 799131.048 825302.148 0, 798848.297 825313.979 0,
+ 798565.547 825325.826 0, 798282.797 825337.691 0, 798000.048 825349.572 0, 797717.3 825361.469 0, 797434.553 825373.384 0, 797151.806 825385.314 0, 796869.06 825397.262 0, 796586.315 825409.226 0, 796302.17 825421.266 0, 796538.385 830991.958 0,
+ 796774.608 836562.856 0, 797058.094 836550.844 0, 797340.184 836538.907 0, 797622.274 836526.988 0, 797904.365 836515.084 0, 798186.457 836503.198 0, 798468.549 836491.328 0, 798750.642 836479.474 0, 799032.736 836467.637 0, 799314.83 836455.817 0,
+ 799596.925 836444.013 0, 799879.021 836432.226 0, 800161.118 836420.456 0, 800443.215 836408.702 0, 800725.313 836396.965 0, 801007.411 836385.244 0, 801289.51 836373.54 0, 801571.61 836361.853 0, 801853.711 836350.182 0, 802135.812 836338.528 0,
+ 802417.914 836326.89 0, 802700.017 836315.269 0, 802982.12 836303.665 0, 803264.224 836292.077 0, 803544.933 836280.563 0, 803828.435 836268.951 0, 804110.541 836257.413 0, 804392.647 836245.892 0, 804674.755 836234.387 0, 804956.863 836222.899 0,
+ 805238.972 836211.428 0, 805521.081 836199.973 0, 805803.191 836188.534 0, 806085.302 836177.113 0, 806367.414 836165.708 0, 806649.526 836154.319 0, 806931.639 836142.947 0, 807213.752 836131.592 0, 807495.866 836120.253 0, 807777.981 836108.931 0,
+ 808060.097 836097.625 0, 808342.213 836086.337 0, 808624.33 836075.064 0, 808906.447 836063.809 0, 809188.565 836052.569 0, 809470.684 836041.347 0, 809752.804 836030.141 0, 810034.924 836018.952 0, 810315.649 836007.834 0, 810095.165 830436.291 0,
+ 809874.69 824864.954 0))
+
+POLYGON ((823858.204 835491.071 0, 823577.447 835501.395 0, 823295.296 835511.787 0, 823013.146 835522.196 0, 822730.997 835532.622 0, 822448.848 835543.064 0, 822166.7 835553.522 0, 821884.552 835563.997 0, 821602.405 835574.489 0, 821320.259 835584.998 0,
+ 821038.113 835595.523 0, 820755.968 835606.064 0, 820473.824 835616.623 0, 820191.68 835627.197 0, 819909.536 835637.789 0, 819627.394 835648.397 0, 819345.252 835659.022 0, 819063.111 835669.663 0, 818780.97 835680.321 0, 818498.83 835690.995 0,
+ 818216.69 835701.686 0, 817934.551 835712.394 0, 817652.413 835723.118 0, 817370.276 835733.859 0, 817086.744 835744.67 0, 816806.002 835755.391 0, 816523.867 835766.182 0, 816241.732 835776.989 0, 815959.597 835787.813 0, 815677.464 835798.654 0,
+ 815395.331 835809.511 0, 815113.198 835820.384 0, 814831.066 835831.275 0, 814548.935 835842.182 0, 814266.804 835853.105 0, 813984.675 835864.046 0, 813702.545 835875.002 0, 813420.417 835885.976 0, 813138.289 835896.966 0, 812856.161 835907.972 0,
+ 812574.035 835918.996 0, 812291.909 835930.035 0, 812009.783 835941.092 0, 811727.659 835952.165 0, 811445.534 835963.255 0, 811163.411 835974.361 0, 810881.288 835985.484 0, 810599.166 835996.623 0, 810315.649 836007.834 0, 810536.141 841579.581 0,
+ 810756.641 847151.527 0, 811039.499 847140.341 0, 811320.965 847129.228 0, 811602.432 847118.131 0, 811883.9 847107.05 0, 812165.368 847095.987 0, 812446.837 847084.939 0, 812728.306 847073.909 0, 813009.776 847062.894 0, 813291.247 847051.897 0,
+ 813572.718 847040.916 0, 813854.19 847029.951 0, 814135.663 847019.003 0, 814417.136 847008.072 0, 814698.61 846997.157 0, 814980.085 846986.259 0, 815261.56 846975.378 0, 815543.036 846964.512 0, 815824.513 846953.664 0, 816105.99 846942.832 0,
+ 816387.468 846932.017 0, 816668.946 846921.218 0, 816950.425 846910.436 0, 817231.905 846899.67 0, 817511.994 846888.974 0, 817794.866 846878.188 0, 818076.348 846867.473 0, 818357.83 846856.773 0, 818639.313 846846.09 0, 818920.797 846835.424 0,
+ 819202.281 846824.774 0, 819483.766 846814.141 0, 819765.251 846803.525 0, 820046.737 846792.925 0, 820328.224 846782.341 0, 820609.711 846771.775 0, 820891.199 846761.224 0, 821172.687 846750.691 0, 821454.177 846740.173 0, 821735.666 846729.673 0,
+ 822017.157 846719.189 0, 822298.648 846708.721 0, 822580.139 846698.271 0, 822861.632 846687.836 0, 823143.124 846677.419 0, 823424.618 846667.017 0, 823706.112 846656.633 0, 823987.606 846646.265 0, 824267.712 846635.964 0, 824062.954 841063.418 0,
+ 823858.204 835491.071 0))
+
+POLYGON ((837780.185 846158.575 0, 837500.049 846168.085 0, 837218.527 846177.657 0, 836937.004 846187.246 0, 836655.483 846196.852 0, 836373.961 846206.475 0, 836092.441 846216.114 0, 835810.921 846225.769 0, 835529.401 846235.441 0, 835247.883 846245.13 0,
+ 834966.364 846254.835 0, 834684.847 846264.557 0, 834403.329 846274.296 0, 834121.813 846284.051 0, 833840.297 846293.822 0, 833558.781 846303.61 0, 833277.267 846313.415 0, 832995.752 846323.236 0, 832714.239 846333.074 0, 832432.726 846342.928 0,
+ 832151.213 846352.799 0, 831869.701 846362.687 0, 831588.19 846372.591 0, 831306.679 846382.512 0, 831023.78 846392.498 0, 830743.659 846402.403 0, 830462.15 846412.373 0, 830180.642 846422.36 0, 829899.134 846432.364 0, 829617.626 846442.384 0,
+ 829336.12 846452.42 0, 829054.614 846462.474 0, 828773.108 846472.543 0, 828491.603 846482.63 0, 828210.099 846492.733 0, 827928.595 846502.852 0, 827647.092 846512.988 0, 827365.59 846523.141 0, 827084.088 846533.31 0, 826802.586 846543.496 0,
+ 826521.086 846553.698 0, 826239.586 846563.917 0, 825958.086 846574.153 0, 825676.587 846584.405 0, 825395.089 846594.673 0, 825113.591 846604.958 0, 824832.094 846615.26 0, 824550.598 846625.578 0, 824267.712 846635.964 0, 824472.476 852208.707 0,
+ 824677.248 857781.641 0, 824959.474 857771.279 0, 825240.315 857760.985 0, 825521.156 857750.707 0, 825801.998 857740.446 0, 826082.84 857730.201 0, 826363.683 857719.973 0, 826644.526 857709.761 0, 826925.37 857699.566 0, 827206.215 857689.388 0,
+ 827487.06 857679.226 0, 827767.906 857669.08 0, 828048.753 857658.951 0, 828329.6 857648.839 0, 828610.447 857638.743 0, 828891.296 857628.663 0, 829172.145 857618.6 0, 829452.994 857608.554 0, 829733.844 857598.524 0, 830014.695 857588.511 0,
+ 830295.546 857578.514 0, 830576.398 857568.534 0, 830857.25 857558.57 0, 831138.103 857548.623 0, 831417.571 857538.742 0, 831699.811 857528.779 0, 831980.666 857518.881 0, 832261.521 857509 0, 832542.377 857499.136 0, 832823.233 857489.288 0,
+ 833104.09 857479.456 0, 833384.948 857469.641 0, 833665.806 857459.843 0, 833946.665 857450.061 0, 834227.524 857440.296 0, 834508.384 857430.547 0, 834789.245 857420.815 0, 835070.106 857411.099 0, 835350.968 857401.4 0, 835631.83 857391.717 0,
+ 835912.693 857382.051 0, 836193.556 857372.402 0, 836474.42 857362.768 0, 836755.284 857353.152 0, 837036.149 857343.552 0, 837317.015 857333.968 0, 837597.881 857324.402 0, 837878.748 857314.851 0, 838158.23 857305.364 0, 837969.204 851731.874 0,
+ 837780.185 846158.575 0))
+
+POLYGON ((851640.505 856867.176 0, 851360.995 856875.873 0, 851080.102 856884.63 0, 850799.21 856893.404 0, 850518.318 856902.193 0, 850237.427 856911 0, 849956.537 856919.823 0, 849675.647 856928.662 0, 849394.757 856937.519 0, 849113.868 856946.391 0,
+ 848832.98 856955.28 0, 848552.092 856964.186 0, 848271.204 856973.108 0, 847990.318 856982.047 0, 847709.431 856991.002 0, 847428.545 856999.974 0, 847147.66 857008.962 0, 846866.775 857017.967 0, 846585.891 857026.988 0, 846305.007 857036.026 0,
+ 846024.124 857045.081 0, 845743.242 857054.152 0, 845462.359 857063.239 0, 845181.478 857072.343 0, 844899.213 857081.509 0, 844619.716 857090.601 0, 844338.836 857099.755 0, 844057.957 857108.925 0, 843777.078 857118.112 0, 843496.2 857127.315 0,
+ 843215.322 857136.535 0, 842934.445 857145.771 0, 842653.568 857155.024 0, 842372.692 857164.293 0, 842091.816 857173.579 0, 841810.941 857182.881 0, 841530.067 857192.2 0, 841249.193 857201.536 0, 840968.319 857210.888 0, 840687.446 857220.256 0,
+ 840406.574 857229.641 0, 840125.702 857239.043 0, 839844.831 857248.461 0, 839563.96 857257.896 0, 839283.09 857267.347 0, 839002.221 857276.815 0, 838721.352 857286.299 0, 838440.483 857295.8 0, 838158.23 857305.364 0, 838347.263 862879.043 0,
+ 838536.302 868452.906 0, 838817.895 868443.364 0, 839098.107 868433.885 0, 839378.32 868424.423 0, 839658.534 868414.977 0, 839938.748 868405.548 0, 840218.962 868396.136 0, 840499.177 868386.74 0, 840779.393 868377.36 0, 841059.609 868367.997 0,
+ 841339.826 868358.65 0, 841620.043 868349.32 0, 841900.261 868340.006 0, 842180.479 868330.709 0, 842460.698 868321.428 0, 842740.918 868312.164 0, 843021.138 868302.916 0, 843301.358 868293.685 0, 843581.58 868284.47 0, 843861.801 868275.272 0,
+ 844142.023 868266.09 0, 844422.246 868256.925 0, 844702.469 868247.776 0, 844982.693 868238.644 0, 845261.537 868229.573 0, 845543.142 868220.429 0, 845823.368 868211.346 0, 846103.594 868202.28 0, 846383.82 868193.23 0, 846664.047 868184.197 0,
+ 846944.275 868175.18 0, 847224.503 868166.18 0, 847504.732 868157.196 0, 847784.961 868148.229 0, 848065.19 868139.278 0, 848345.421 868130.344 0, 848625.651 868121.426 0, 848905.883 868112.524 0, 849186.114 868103.64 0, 849466.347 868094.771 0,
+ 849746.579 868085.919 0, 850026.813 868077.084 0, 850307.047 868068.265 0, 850587.281 868059.463 0, 850867.516 868050.677 0, 851147.751 868041.907 0, 851427.987 868033.155 0, 851708.224 868024.418 0, 851987.081 868015.741 0, 851813.79 862441.366 0,
+ 851640.505 856867.176 0))
+
+POLYGON ((865439.042 867616.579 0, 865160.159 867624.468 0, 864879.899 867632.413 0, 864599.639 867640.374 0, 864319.38 867648.352 0, 864039.122 867656.346 0, 863758.863 867664.357 0, 863478.606 867672.384 0, 863198.349 867680.427 0, 862918.092 867688.487 0,
+ 862637.836 867696.564 0, 862357.58 867704.657 0, 862077.325 867712.767 0, 861797.07 867720.893 0, 861516.816 867729.035 0, 861236.562 867737.195 0, 860956.308 867745.37 0, 860676.055 867753.562 0, 860395.803 867761.771 0, 860115.551 867769.996 0,
+ 859835.3 867778.237 0, 859555.049 867786.496 0, 859274.798 867794.77 0, 858994.548 867803.061 0, 858712.92 867811.41 0, 858434.05 867819.693 0, 858153.801 867828.033 0, 857873.553 867836.39 0, 857593.306 867844.764 0, 857313.059 867853.154 0,
+ 857032.812 867861.56 0, 856752.566 867869.983 0, 856472.321 867878.423 0, 856192.076 867886.879 0, 855911.831 867895.351 0, 855631.587 867903.84 0, 855351.344 867912.346 0, 855071.101 867920.868 0, 854790.858 867929.406 0, 854510.616 867937.961 0,
+ 854230.375 867946.533 0, 853950.134 867955.121 0, 853669.893 867963.725 0, 853389.653 867972.346 0, 853109.413 867980.984 0, 852829.174 867989.637 0, 852548.936 867998.308 0, 852268.698 868006.995 0, 851987.081 868015.741 0, 852160.377 873590.297 0,
+ 852333.679 879165.029 0, 852614.637 879156.303 0, 852894.219 879147.637 0, 853173.801 879138.986 0, 853453.384 879130.353 0, 853732.967 879121.736 0, 854012.551 879113.135 0, 854292.135 879104.55 0, 854571.72 879095.983 0, 854851.305 879087.431 0,
+ 855130.891 879078.896 0, 855410.477 879070.378 0, 855690.064 879061.876 0, 855969.651 879053.39 0, 856249.239 879044.921 0, 856528.827 879036.468 0, 856808.416 879028.032 0, 857088.006 879019.613 0, 857367.595 879011.209 0, 857647.186 879002.822 0,
+ 857926.776 878994.452 0, 858206.368 878986.098 0, 858485.959 878977.761 0, 858765.552 878969.44 0, 859043.769 878961.176 0, 859324.738 878952.847 0, 859604.331 878944.575 0, 859883.925 878936.32 0, 860163.52 878928.081 0, 860443.115 878919.859 0,
+ 860722.711 878911.653 0, 861002.307 878903.464 0, 861281.904 878895.291 0, 861561.501 878887.135 0, 861841.098 878878.995 0, 862120.696 878870.871 0, 862400.295 878862.764 0, 862679.894 878854.673 0, 862959.493 878846.599 0, 863239.093 878838.542 0,
+ 863518.694 878830.5 0, 863798.295 878822.476 0, 864077.896 878814.467 0, 864357.498 878806.475 0, 864637.1 878798.5 0, 864916.703 878790.541 0, 865196.306 878782.598 0, 865475.91 878774.672 0, 865754.14 878766.802 0, 865596.588 873191.602 0,
+ 865439.042 867616.579 0))
+
+POLYGON ((879175.672 878406.491 0, 878897.419 878413.576 0, 878617.794 878420.712 0, 878338.169 878427.865 0, 878058.545 878435.034 0, 877778.921 878442.219 0, 877499.298 878449.421 0, 877219.675 878456.639 0, 876940.053 878463.874 0, 876660.431 878471.125 0,
+ 876380.809 878478.393 0, 876101.188 878485.677 0, 875821.567 878492.978 0, 875541.947 878500.295 0, 875262.327 878507.629 0, 874982.707 878514.979 0, 874703.088 878522.345 0, 874423.47 878529.728 0, 874143.852 878537.128 0, 873864.234 878544.544 0,
+ 873584.617 878551.976 0, 873305 878559.425 0, 873025.383 878566.89 0, 872745.768 878574.372 0, 872464.779 878581.907 0, 872186.537 878589.384 0, 871906.922 878596.915 0, 871627.308 878604.463 0, 871347.694 878612.027 0, 871068.081 878619.607 0,
+ 870788.468 878627.204 0, 870508.856 878634.818 0, 870229.244 878642.448 0, 869949.632 878650.094 0, 869670.021 878657.757 0, 869390.411 878665.436 0, 869110.8 878673.131 0, 868831.191 878680.843 0, 868551.582 878688.572 0, 868271.973 878696.317 0,
+ 867992.364 878704.079 0, 867712.757 878711.856 0, 867433.149 878719.651 0, 867153.542 878727.462 0, 866873.936 878735.289 0, 866594.33 878743.133 0, 866314.724 878750.993 0, 866035.119 878758.87 0, 865754.14 878766.802 0, 865911.696 884342.174 0,
+ 866069.258 889917.716 0, 866349.577 889909.803 0, 866628.526 889901.945 0, 866907.475 889894.103 0, 867186.425 889886.278 0, 867465.375 889878.469 0, 867744.326 889870.676 0, 868023.277 889862.9 0, 868302.228 889855.141 0, 868581.18 889847.397 0,
+ 868860.133 889839.67 0, 869139.086 889831.96 0, 869418.039 889824.266 0, 869696.993 889816.588 0, 869975.947 889808.927 0, 870254.902 889801.283 0, 870533.857 889793.654 0, 870812.813 889786.042 0, 871091.769 889778.447 0, 871370.725 889770.868 0,
+ 871649.682 889763.305 0, 871928.64 889755.759 0, 872207.598 889748.229 0, 872486.556 889740.716 0, 872764.145 889733.255 0, 873044.474 889725.738 0, 873323.433 889718.274 0, 873602.393 889710.826 0, 873881.354 889703.395 0, 874160.315 889695.98 0,
+ 874439.276 889688.582 0, 874718.238 889681.2 0, 874997.2 889673.834 0, 875276.163 889666.485 0, 875555.126 889659.152 0, 875834.09 889651.836 0, 876113.053 889644.536 0, 876392.018 889637.252 0, 876670.983 889629.985 0, 876949.948 889622.734 0,
+ 877228.914 889615.5 0, 877507.88 889608.282 0, 877786.846 889601.081 0, 878065.813 889593.896 0, 878344.781 889586.727 0, 878623.748 889579.575 0, 878902.717 889572.439 0, 879181.685 889565.32 0, 879459.285 889558.252 0, 879317.476 883982.287 0,
+ 879175.672 878406.491 0))
+
+POLYGON ((892850.275 889236.618 0, 892572.654 889242.902 0, 892293.666 889249.233 0, 892014.679 889255.58 0, 891735.692 889261.944 0, 891456.705 889268.325 0, 891177.719 889274.722 0, 890898.734 889281.135 0, 890619.748 889287.565 0, 890340.763 889294.011 0,
+ 890061.779 889300.473 0, 889782.794 889306.952 0, 889503.81 889313.448 0, 889224.827 889319.959 0, 888945.844 889326.488 0, 888666.861 889333.032 0, 888387.879 889339.593 0, 888108.897 889346.171 0, 887829.915 889352.765 0, 887550.934 889359.375 0,
+ 887271.954 889366.002 0, 886992.973 889372.645 0, 886713.993 889379.304 0, 886435.014 889385.98 0, 886154.666 889392.706 0, 885877.056 889399.382 0, 885598.077 889406.107 0, 885319.099 889412.849 0, 885040.122 889419.607 0, 884761.144 889426.381 0,
+ 884482.168 889433.172 0, 884203.191 889439.98 0, 883924.215 889446.803 0, 883645.239 889453.644 0, 883366.264 889460.5 0, 883087.289 889467.373 0, 882808.315 889474.263 0, 882529.341 889481.169 0, 882250.367 889488.091 0, 881971.394 889495.03 0,
+ 881692.422 889501.985 0, 881413.449 889508.956 0, 881134.477 889515.944 0, 880855.506 889522.949 0, 880576.535 889529.969 0, 880297.564 889537.007 0, 880018.594 889544.06 0, 879739.624 889551.13 0, 879459.285 889558.252 0, 879601.098 895134.382 0,
+ 879742.915 900710.674 0, 880022.594 900703.57 0, 880300.908 900696.516 0, 880579.221 900689.479 0, 880857.536 900682.458 0, 881135.85 900675.454 0, 881414.166 900668.466 0, 881692.481 900661.495 0, 881970.797 900654.539 0, 882249.113 900647.601 0,
+ 882527.43 900640.678 0, 882805.747 900633.772 0, 883084.065 900626.883 0, 883362.383 900620.009 0, 883640.701 900613.153 0, 883919.02 900606.312 0, 884197.339 900599.488 0, 884475.659 900592.68 0, 884753.979 900585.889 0, 885032.299 900579.114 0,
+ 885310.62 900572.355 0, 885588.941 900565.613 0, 885867.263 900558.887 0, 886145.585 900552.178 0, 886422.542 900545.518 0, 886702.23 900538.808 0, 886980.553 900532.148 0, 887258.877 900525.504 0, 887537.2 900518.876 0, 887815.525 900512.265 0,
+ 888093.85 900505.671 0, 888372.175 900499.092 0, 888650.5 900492.53 0, 888928.826 900485.985 0, 889207.152 900479.455 0, 889485.479 900472.942 0, 889763.806 900466.446 0, 890042.133 900459.966 0, 890320.461 900453.502 0, 890598.789 900447.055 0,
+ 890877.118 900440.624 0, 891155.447 900434.209 0, 891433.776 900427.811 0, 891712.106 900421.429 0, 891990.436 900415.064 0, 892268.766 900408.715 0, 892547.097 900402.382 0, 892825.428 900396.066 0, 893102.396 900389.797 0, 892976.334 894813.127 0,
+ 892850.275 889236.618 0))
+
+POLYGON ((906462.73 900106.664 0, 906185.743 900112.15 0, 905907.396 900117.68 0, 905629.048 900123.227 0, 905350.701 900128.789 0, 905072.354 900134.368 0, 904794.007 900139.964 0, 904515.661 900145.576 0, 904237.315 900151.204 0, 903958.969 900156.849 0,
+ 903680.624 900162.509 0, 903402.279 900168.187 0, 903123.935 900173.881 0, 902845.59 900179.591 0, 902567.246 900185.317 0, 902288.903 900191.06 0, 902010.56 900196.819 0, 901732.217 900202.595 0, 901453.874 900208.387 0, 901175.532 900214.196 0,
+ 900897.19 900220.02 0, 900618.848 900225.861 0, 900340.507 900231.719 0, 900062.166 900237.593 0, 899782.463 900243.512 0, 899505.486 900249.39 0, 899227.146 900255.313 0, 898948.806 900261.253 0, 898670.467 900267.209 0, 898392.128 900273.181 0,
+ 898113.79 900279.169 0, 897835.452 900285.174 0, 897557.114 900291.196 0, 897278.777 900297.234 0, 897000.44 900303.288 0, 896722.103 900309.358 0, 896443.767 900315.445 0, 896165.431 900321.548 0, 895887.095 900327.668 0, 895608.76 900333.804 0,
+ 895330.425 900339.957 0, 895052.091 900346.126 0, 894773.757 900352.311 0, 894495.423 900358.512 0, 894217.09 900364.73 0, 893938.757 900370.965 0, 893660.424 900377.215 0, 893382.092 900383.483 0, 893102.396 900389.797 0, 893228.462 905966.625 0,
+ 893354.532 911543.607 0, 893633.568 911537.308 0, 893911.243 911531.055 0, 894188.919 911524.819 0, 894466.596 911518.6 0, 894744.273 911512.396 0, 895021.95 911506.209 0, 895299.628 911500.039 0, 895577.306 911493.884 0, 895854.984 911487.746 0,
+ 896132.663 911481.625 0, 896410.342 911475.52 0, 896688.021 911469.431 0, 896965.701 911463.358 0, 897243.381 911457.302 0, 897521.062 911451.262 0, 897798.743 911445.239 0, 898076.424 911439.231 0, 898354.105 911433.24 0, 898631.787 911427.266 0,
+ 898909.47 911421.308 0, 899187.152 911415.366 0, 899464.835 911409.441 0, 899742.518 911403.531 0, 900018.843 911397.667 0, 900297.886 911391.762 0, 900575.57 911385.902 0, 900853.255 911380.058 0, 901130.94 911374.231 0, 901408.626 911368.42 0,
+ 901686.311 911362.625 0, 901963.997 911356.847 0, 902241.684 911351.085 0, 902519.37 911345.339 0, 902797.058 911339.61 0, 903074.745 911333.897 0, 903352.433 911328.2 0, 903630.121 911322.52 0, 903907.809 911316.856 0, 904185.498 911311.208 0,
+ 904463.187 911305.577 0, 904740.876 911299.962 0, 905018.566 911294.363 0, 905296.256 911288.781 0, 905573.947 911283.215 0, 905851.637 911277.666 0, 906129.328 911272.132 0, 906407.02 911266.616 0, 906683.353 911261.142 0, 906573.04 905683.826 0,
+ 906462.73 900106.664 0))
+
+POLYGON ((920012.919 911016.334 0, 919736.57 911021.027 0, 919458.864 911025.759 0, 919181.158 911030.508 0, 918903.453 911035.273 0, 918625.748 911040.054 0, 918348.043 911044.852 0, 918070.339 911049.666 0, 917792.635 911054.497 0, 917514.931 911059.343 0,
+ 917237.227 911064.206 0, 916959.524 911069.086 0, 916681.821 911073.982 0, 916404.118 911078.894 0, 916126.416 911083.822 0, 915848.713 911088.767 0, 915571.011 911093.728 0, 915293.31 911098.706 0, 915015.609 911103.699 0, 914737.908 911108.71 0,
+ 914460.207 911113.736 0, 914182.507 911118.779 0, 913904.806 911123.838 0, 913627.107 911128.914 0, 913348.05 911134.031 0, 913071.708 911139.114 0, 912794.009 911144.239 0, 912516.31 911149.38 0, 912238.612 911154.537 0, 911960.914 911159.71 0,
+ 911683.217 911164.9 0, 911405.519 911170.107 0, 911127.822 911175.329 0, 910850.125 911180.568 0, 910572.429 911185.824 0, 910294.733 911191.096 0, 910017.037 911196.384 0, 909739.341 911201.688 0, 909461.646 911207.009 0, 909183.951 911212.346 0,
+ 908906.257 911217.699 0, 908628.562 911223.069 0, 908350.869 911228.455 0, 908073.175 911233.858 0, 907795.482 911239.276 0, 907517.789 911244.711 0, 907240.096 911250.163 0, 906962.404 911255.631 0, 906683.353 911261.142 0, 906793.669 916838.608 0,
+ 906903.988 922416.22 0, 907182.379 922410.722 0, 907459.414 922405.267 0, 907736.451 922399.828 0, 908013.487 922394.406 0, 908290.524 922389 0, 908567.561 922383.61 0, 908844.598 922378.237 0, 909121.636 922372.88 0, 909398.674 922367.539 0,
+ 909675.712 922362.215 0, 909952.751 922356.906 0, 910229.79 922351.615 0, 910506.829 922346.339 0, 910783.869 922341.08 0, 911060.908 922335.837 0, 911337.949 922330.61 0, 911614.989 922325.4 0, 911892.03 922320.206 0, 912169.071 922315.028 0,
+ 912446.112 922309.867 0, 912723.154 922304.722 0, 913000.196 922299.593 0, 913277.238 922294.48 0, 913552.927 922289.409 0, 913831.324 922284.304 0, 914108.367 922279.241 0, 914385.411 922274.194 0, 914662.455 922269.163 0, 914939.499 922264.148 0,
+ 915216.543 922259.15 0, 915493.588 922254.168 0, 915770.633 922249.202 0, 916047.678 922244.253 0, 916324.724 922239.319 0, 916601.769 922234.403 0, 916878.816 922229.502 0, 917155.862 922224.618 0, 917432.909 922219.75 0, 917709.956 922214.898 0,
+ 917987.003 922210.063 0, 918264.051 922205.244 0, 918541.098 922200.442 0, 918818.147 922195.655 0, 919095.195 922190.885 0, 919372.244 922186.131 0, 919649.293 922181.394 0, 919926.342 922176.673 0, 920202.038 922171.991 0, 920107.477 916594.089 0,
+ 920012.919 911016.334 0))
+
+POLYGON ((933500.725 921965.332 0, 933225.015 921969.235 0, 932947.953 921973.174 0, 932670.892 921977.129 0, 932393.831 921981.1 0, 932116.77 921985.087 0, 931839.71 921989.09 0, 931562.649 921993.11 0, 931285.589 921997.147 0, 931008.529 922001.199 0,
+ 930731.47 922005.268 0, 930454.41 922009.353 0, 930177.351 922013.455 0, 929900.292 922017.572 0, 929623.234 922021.707 0, 929346.175 922025.857 0, 929069.117 922030.024 0, 928792.059 922034.207 0, 928515.002 922038.406 0, 928237.944 922042.622 0,
+ 927960.887 922046.853 0, 927683.83 922051.102 0, 927406.774 922055.366 0, 927129.717 922059.647 0, 926851.309 922063.965 0, 926575.605 922068.258 0, 926298.549 922072.587 0, 926021.494 922076.934 0, 925744.439 922081.296 0, 925467.384 922085.675 0,
+ 925190.329 922090.07 0, 924913.275 922094.481 0, 924636.221 922098.909 0, 924359.167 922103.352 0, 924082.114 922107.813 0, 923805.06 922112.289 0, 923528.007 922116.782 0, 923250.954 922121.291 0, 922973.902 922125.817 0, 922696.85 922130.358 0,
+ 922419.798 922134.916 0, 922142.746 922139.491 0, 921865.694 922144.081 0, 921588.643 922148.688 0, 921311.592 922153.312 0, 921034.542 922157.951 0, 920757.491 922162.607 0, 920480.441 922167.279 0, 920202.038 922171.991 0, 920296.601 927750.035 0,
+ 920391.167 933328.216 0, 920668.91 933323.516 0, 920945.303 933318.855 0, 921221.697 933314.21 0, 921498.091 933309.582 0, 921774.485 933304.969 0, 922050.88 933300.373 0, 922327.275 933295.793 0, 922603.67 933291.23 0, 922880.065 933286.683 0,
+ 923156.461 933282.152 0, 923432.857 933277.637 0, 923709.253 933273.138 0, 923985.649 933268.656 0, 924262.046 933264.19 0, 924538.443 933259.741 0, 924814.84 933255.307 0, 925091.238 933250.89 0, 925367.635 933246.489 0, 925644.033 933242.105 0,
+ 925920.431 933237.736 0, 926196.83 933233.384 0, 926473.229 933229.049 0, 926749.628 933224.729 0, 927024.678 933220.447 0, 927302.426 933216.139 0, 927578.826 933211.868 0, 927855.226 933207.614 0, 928131.626 933203.376 0, 928408.027 933199.154 0,
+ 928684.428 933194.948 0, 928960.829 933190.759 0, 929237.23 933186.586 0, 929513.632 933182.429 0, 929790.033 933178.288 0, 930066.435 933174.164 0, 930342.837 933170.056 0, 930619.24 933165.964 0, 930895.643 933161.889 0, 931172.046 933157.83 0,
+ 931448.449 933153.787 0, 931724.852 933149.76 0, 932001.256 933145.749 0, 932277.66 933141.755 0, 932554.064 933137.777 0, 932830.468 933133.816 0, 933106.873 933129.871 0, 933383.278 933125.941 0, 933658.335 933122.048 0, 933579.529 927543.621 0,
+ 933500.725 921965.332 0))
+
+POLYGON ((946926.032 932953.362 0, 946650.963 932956.479 0, 946374.548 932959.627 0, 946098.134 932962.791 0, 945821.719 932965.972 0, 945545.305 932969.169 0, 945268.891 932972.382 0, 944992.477 932975.612 0, 944716.063 932978.857 0, 944439.65 932982.119 0,
+ 944163.237 932985.398 0, 943886.823 932988.692 0, 943610.411 932992.003 0, 943333.998 932995.33 0, 943057.585 932998.674 0, 942781.173 933002.033 0, 942504.761 933005.409 0, 942228.349 933008.801 0, 941951.937 933012.21 0, 941675.526 933015.635 0,
+ 941399.114 933019.076 0, 941122.703 933022.533 0, 940846.292 933026.006 0, 940569.881 933029.496 0, 940292.124 933033.019 0, 940017.061 933036.525 0, 939740.651 933040.063 0, 939464.241 933043.618 0, 939187.831 933047.189 0, 938911.421 933050.777 0,
+ 938635.012 933054.38 0, 938358.603 933058 0, 938082.194 933061.637 0, 937805.786 933065.289 0, 937529.377 933068.958 0, 937252.969 933072.643 0, 936976.561 933076.344 0, 936700.153 933080.062 0, 936423.746 933083.796 0, 936147.339 933087.546 0,
+ 935870.931 933091.312 0, 935594.525 933095.095 0, 935318.118 933098.894 0, 935041.712 933102.709 0, 934765.305 933106.54 0, 934488.899 933110.388 0, 934212.494 933114.252 0, 933936.088 933118.132 0, 933658.335 933122.048 0, 933737.142 938700.609 0,
+ 933815.952 944279.3 0, 934093.045 944275.394 0, 934368.794 944271.523 0, 934644.543 944267.668 0, 934920.292 944263.83 0, 935196.042 944260.007 0, 935471.792 944256.201 0, 935747.542 944252.411 0, 936023.292 944248.638 0, 936299.042 944244.88 0,
+ 936574.793 944241.139 0, 936850.544 944237.414 0, 937126.295 944233.705 0, 937402.046 944230.013 0, 937677.797 944226.337 0, 937953.549 944222.677 0, 938229.301 944219.033 0, 938505.053 944215.405 0, 938780.805 944211.794 0, 939056.558 944208.199 0,
+ 939332.311 944204.62 0, 939608.064 944201.057 0, 939883.817 944197.511 0, 940159.57 944193.98 0, 940433.98 944190.484 0, 940711.078 944186.969 0, 940986.832 944183.487 0, 941262.586 944180.022 0, 941538.34 944176.573 0, 941814.095 944173.14 0,
+ 942089.85 944169.723 0, 942365.605 944166.323 0, 942641.36 944162.939 0, 942917.116 944159.571 0, 943192.871 944156.219 0, 943468.627 944152.884 0, 943744.383 944149.565 0, 944020.139 944146.262 0, 944295.896 944142.975 0, 944571.652 944139.705 0,
+ 944847.409 944136.45 0, 945123.166 944133.212 0, 945398.923 944129.99 0, 945674.681 944126.785 0, 945950.438 944123.595 0, 946226.196 944120.422 0, 946501.954 944117.265 0, 946777.712 944114.125 0, 947052.128 944111.015 0, 946989.079 938532.124 0,
+ 946926.032 932953.362 0))
+
+POLYGON ((960288.726 943980.126 0, 960014.3 943982.46 0, 959738.535 943984.821 0, 959462.769 943987.199 0, 959187.003 943989.593 0, 958911.238 943992.003 0, 958635.472 943994.43 0, 958359.707 943996.873 0, 958083.942 943999.332 0, 957808.177 944001.807 0,
+ 957532.413 944004.298 0, 957256.648 944006.806 0, 956980.884 944009.33 0, 956705.119 944011.87 0, 956429.355 944014.426 0, 956153.591 944016.999 0, 955877.827 944019.588 0, 955602.064 944022.193 0, 955326.3 944024.814 0, 955050.537 944027.452 0,
+ 954774.773 944030.105 0, 954499.01 944032.775 0, 954223.247 944035.462 0, 953947.485 944038.164 0, 953670.38 944040.896 0, 953395.96 944043.618 0, 953120.197 944046.369 0, 952844.435 944049.136 0, 952568.673 944051.92 0, 952292.912 944054.72 0,
+ 952017.15 944057.536 0, 951741.389 944060.368 0, 951465.627 944063.217 0, 951189.866 944066.081 0, 950914.105 944068.962 0, 950638.344 944071.859 0, 950362.584 944074.773 0, 950086.823 944077.703 0, 949811.063 944080.648 0, 949535.303 944083.611 0,
+ 949259.543 944086.589 0, 948983.783 944089.584 0, 948708.024 944092.594 0, 948432.264 944095.621 0, 948156.505 944098.665 0, 947880.746 944101.724 0, 947604.987 944104.8 0, 947329.229 944107.892 0, 947052.128 944111.015 0, 947115.177 949690.034 0,
+ 947178.228 955269.174 0, 947454.67 955266.059 0, 947729.771 955262.974 0, 948004.874 955259.905 0, 948279.976 955256.853 0, 948555.078 955253.817 0, 948830.181 955250.797 0, 949105.284 955247.794 0, 949380.387 955244.806 0, 949655.49 955241.835 0,
+ 949930.593 955238.88 0, 950205.697 955235.941 0, 950480.8 955233.018 0, 950755.904 955230.112 0, 951031.008 955227.221 0, 951306.112 955224.347 0, 951581.217 955221.489 0, 951856.321 955218.648 0, 952131.426 955215.822 0, 952406.531 955213.013 0,
+ 952681.636 955210.22 0, 952956.741 955207.443 0, 953231.847 955204.682 0, 953506.952 955201.937 0, 953780.719 955199.222 0, 954057.164 955196.497 0, 954332.27 955193.801 0, 954607.376 955191.121 0, 954882.482 955188.457 0, 955157.588 955185.81 0,
+ 955432.695 955183.179 0, 955707.802 955180.564 0, 955982.909 955177.965 0, 956258.016 955175.382 0, 956533.123 955172.816 0, 956808.23 955170.265 0, 957083.338 955167.731 0, 957358.446 955165.213 0, 957633.554 955162.712 0, 957908.662 955160.226 0,
+ 958183.77 955157.757 0, 958458.878 955155.304 0, 958733.986 955152.867 0, 959009.095 955150.446 0, 959284.204 955148.041 0, 959559.312 955145.653 0, 959834.421 955143.281 0, 960109.531 955140.925 0, 960383.302 955138.596 0, 960336.014 949559.3 0,
+ 960288.726 943980.126 0))
+
+POLYGON ((973588.693 955045.326 0, 973314.913 955046.881 0, 973039.798 955048.459 0, 972764.684 955050.054 0, 972489.569 955051.665 0, 972214.455 955053.293 0, 971939.341 955054.936 0, 971664.226 955056.596 0, 971389.112 955058.272 0, 971113.998 955059.964 0,
+ 970838.884 955061.672 0, 970563.771 955063.397 0, 970288.657 955065.137 0, 970013.543 955066.894 0, 969738.43 955068.667 0, 969463.317 955070.456 0, 969188.203 955072.262 0, 968913.09 955074.083 0, 968637.977 955075.921 0, 968362.864 955077.775 0,
+ 968087.751 955079.646 0, 967812.638 955081.532 0, 967537.526 955083.434 0, 967262.413 955085.353 0, 966985.965 955087.298 0, 966712.189 955089.239 0, 966437.076 955091.207 0, 966161.964 955093.19 0, 965886.852 955095.19 0, 965611.741 955097.206 0,
+ 965336.629 955099.238 0, 965061.517 955101.286 0, 964786.406 955103.351 0, 964511.295 955105.432 0, 964236.183 955107.528 0, 963961.072 955109.642 0, 963685.961 955111.771 0, 963410.85 955113.916 0, 963135.74 955116.078 0, 962860.629 955118.256 0,
+ 962585.519 955120.45 0, 962310.408 955122.66 0, 962035.298 955124.887 0, 961760.188 955127.129 0, 961485.078 955129.388 0, 961209.968 955131.663 0, 960934.859 955133.954 0, 960659.749 955136.262 0, 960383.302 955138.596 0, 960430.592 960718.012 0,
+ 960477.883 966297.541 0, 960753.67 966295.212 0, 961028.122 966292.91 0, 961302.575 966290.624 0, 961577.028 966288.354 0, 961851.481 966286.101 0, 962125.935 966283.864 0, 962400.388 966281.643 0, 962674.842 966279.438 0, 962949.295 966277.249 0,
+ 963223.749 966275.076 0, 963498.203 966272.92 0, 963772.657 966270.779 0, 964047.111 966268.655 0, 964321.566 966266.547 0, 964596.02 966264.455 0, 964870.474 966262.379 0, 965144.929 966260.32 0, 965419.384 966258.276 0, 965693.839 966256.249 0,
+ 965968.294 966254.238 0, 966242.749 966252.243 0, 966517.204 966250.264 0, 966791.66 966248.302 0, 967064.782 966246.365 0, 967340.571 966244.425 0, 967615.026 966242.511 0, 967889.482 966240.613 0, 968163.938 966238.731 0, 968438.394 966236.865 0,
+ 968712.85 966235.015 0, 968987.307 966233.182 0, 969261.763 966231.365 0, 969536.219 966229.564 0, 969810.676 966227.779 0, 970085.133 966226.01 0, 970359.59 966224.257 0, 970634.046 966222.521 0, 970908.503 966220.8 0, 971182.961 966219.096 0,
+ 971457.418 966217.408 0, 971731.875 966215.736 0, 972006.332 966214.081 0, 972280.79 966212.441 0, 972555.248 966210.818 0, 972829.705 966209.21 0, 973104.163 966207.619 0, 973378.621 966206.044 0, 973651.747 966204.493 0, 973620.219 960624.852 0,
+ 973588.693 955045.326 0))
+
+POLYGON ((986825.821 966148.664 0, 986552.69 966149.443 0, 986278.228 966150.243 0, 986003.767 966151.059 0, 985729.306 966151.891 0, 985454.845 966152.739 0, 985180.384 966153.603 0, 984905.923 966154.483 0, 984631.462 966155.38 0, 984357.001 966156.292 0,
+ 984082.54 966157.221 0, 983808.08 966158.166 0, 983533.619 966159.127 0, 983259.158 966160.104 0, 982984.698 966161.098 0, 982710.237 966162.107 0, 982435.777 966163.133 0, 982161.316 966164.175 0, 981886.856 966165.233 0, 981612.396 966166.307 0,
+ 981337.935 966167.397 0, 981063.475 966168.504 0, 980789.015 966169.627 0, 980514.555 966170.765 0, 980238.764 966171.926 0, 979965.635 966173.091 0, 979691.175 966174.279 0, 979416.716 966175.482 0, 979142.256 966176.702 0, 978867.796 966177.937 0,
+ 978593.337 966179.189 0, 978318.877 966180.457 0, 978044.418 966181.741 0, 977769.959 966183.042 0, 977495.499 966184.358 0, 977221.04 966185.691 0, 976946.581 966187.04 0, 976672.122 966188.405 0, 976397.663 966189.786 0, 976123.204 966191.183 0,
+ 975848.746 966192.596 0, 975574.287 966194.026 0, 975299.828 966195.472 0, 975025.37 966196.934 0, 974750.912 966198.412 0, 974476.453 966199.906 0, 974201.995 966201.416 0, 973927.537 966202.943 0, 973651.747 966204.493 0, 973683.275 971784.244 0,
+ 973714.803 977364.102 0, 973989.933 977362.555 0, 974263.735 977361.032 0, 974537.536 977359.526 0, 974811.338 977358.035 0, 975085.139 977356.56 0, 975358.941 977355.102 0, 975632.743 977353.66 0, 975906.544 977352.234 0, 976180.346 977350.824 0,
+ 976454.148 977349.43 0, 976727.95 977348.052 0, 977001.753 977346.69 0, 977275.555 977345.345 0, 977549.357 977344.015 0, 977823.16 977342.702 0, 978096.962 977341.405 0, 978370.765 977340.124 0, 978644.567 977338.859 0, 978918.37 977337.61 0,
+ 979192.173 977336.377 0, 979465.976 977335.16 0, 979739.778 977333.96 0, 980013.581 977332.775 0, 980286.057 977331.613 0, 980561.188 977330.455 0, 980834.991 977329.319 0, 981108.794 977328.199 0, 981382.597 977327.095 0, 981656.401 977326.007 0,
+ 981930.204 977324.936 0, 982204.008 977323.88 0, 982477.811 977322.841 0, 982751.615 977321.817 0, 983025.419 977320.81 0, 983299.222 977319.819 0, 983573.026 977318.844 0, 983846.83 977317.886 0, 984120.634 977316.943 0, 984394.438 977316.016 0,
+ 984668.242 977315.106 0, 984942.046 977314.211 0, 985215.85 977313.333 0, 985489.654 977312.471 0, 985763.459 977311.625 0, 986037.263 977310.795 0, 986311.067 977309.982 0, 986584.872 977309.184 0, 986857.349 977308.406 0, 986841.585 971728.482 0,
+ 986825.821 966148.664 0))
+
+POLYGON ((1000000 977289.841 0, 999727.519 977289.849 0, 999453.714 977289.873 0, 999179.908 977289.913 0, 998906.103 977289.969 0, 998632.297 977290.042 0, 998358.492 977290.13 0, 998084.686 977290.235 0, 997810.88 977290.356 0, 997537.075 977290.493 0,
+ 997263.269 977290.646 0, 996989.464 977290.815 0, 996715.659 977291 0, 996441.853 977291.202 0, 996168.048 977291.419 0, 995894.242 977291.653 0, 995620.437 977291.902 0, 995346.631 977292.168 0, 995072.826 977292.45 0, 994799.02 977292.748 0,
+ 994525.215 977293.062 0, 994251.41 977293.393 0, 993977.604 977293.739 0, 993703.799 977294.102 0, 993428.668 977294.482 0, 993156.189 977294.875 0, 992882.383 977295.286 0, 992608.578 977295.713 0, 992334.773 977296.156 0, 992060.968 977296.615 0,
+ 991787.163 977297.091 0, 991513.358 977297.582 0, 991239.552 977298.09 0, 990965.747 977298.613 0, 990691.942 977299.153 0, 990418.137 977299.709 0, 990144.332 977300.281 0, 989870.528 977300.869 0, 989596.723 977301.473 0, 989322.918 977302.094 0,
+ 989049.113 977302.73 0, 988775.308 977303.383 0, 988501.504 977304.052 0, 988227.699 977304.736 0, 987953.894 977305.437 0, 987680.09 977306.154 0, 987406.285 977306.888 0, 987132.481 977307.637 0, 986857.349 977308.406 0, 986873.114 982888.433 0,
+ 986888.879 988468.558 0, 987163.35 988467.79 0, 987436.498 988467.043 0, 987709.645 988466.311 0, 987982.793 988465.596 0, 988255.941 988464.897 0, 988529.089 988464.214 0, 988802.237 988463.546 0, 989075.385 988462.895 0, 989348.532 988462.26 0,
+ 989621.68 988461.642 0, 989894.828 988461.039 0, 990167.977 988460.452 0, 990441.125 988459.881 0, 990714.273 988459.327 0, 990987.421 988458.788 0, 991260.569 988458.266 0, 991533.717 988457.759 0, 991806.865 988457.269 0, 992080.014 988456.795 0,
+ 992353.162 988456.337 0, 992626.31 988455.895 0, 992899.459 988455.469 0, 993172.607 988455.059 0, 993444.433 988454.667 0, 993718.904 988454.287 0, 993992.052 988453.926 0, 994265.201 988453.58 0, 994538.349 988453.251 0, 994811.498 988452.937 0,
+ 995084.646 988452.64 0, 995357.795 988452.359 0, 995630.943 988452.094 0, 995904.092 988451.844 0, 996177.241 988451.611 0, 996450.389 988451.394 0, 996723.538 988451.194 0, 996996.686 988451.009 0, 997269.835 988450.84 0, 997542.984 988450.687 0,
+ 997816.132 988450.551 0, 998089.281 988450.43 0, 998362.43 988450.326 0, 998635.578 988450.237 0, 998908.727 988450.165 0, 999181.876 988450.109 0, 999455.024 988450.069 0, 999728.173 988450.045 0, 1000000 988450.037 0, 1000000 982869.89 0,
+ 1000000 977289.841 0))
+
+POLYGON ((1013111.121 988468.558 0, 1012839.293 988467.798 0, 1012566.145 988467.05 0, 1012292.998 988466.318 0, 1012019.85 988465.603 0, 1011746.702 988464.903 0, 1011473.554 988464.22 0, 1011200.407 988463.553 0, 1010927.259 988462.902 0, 1010654.111 988462.266 0,
+ 1010380.963 988461.647 0, 1010107.815 988461.044 0, 1009834.667 988460.458 0, 1009561.519 988459.887 0, 1009288.37 988459.332 0, 1009015.222 988458.793 0, 1008742.074 988458.271 0, 1008468.926 988457.764 0, 1008195.778 988457.274 0, 1007922.629 988456.8 0,
+ 1007649.481 988456.341 0, 1007376.333 988455.899 0, 1007103.184 988455.473 0, 1006830.036 988455.063 0, 1006555.567 988454.667 0, 1006283.739 988454.291 0, 1006010.591 988453.929 0, 1005737.442 988453.584 0, 1005464.294 988453.254 0, 1005191.145 988452.94 0,
+ 1004917.997 988452.643 0, 1004644.848 988452.361 0, 1004371.7 988452.096 0, 1004098.551 988451.847 0, 1003825.403 988451.614 0, 1003552.254 988451.396 0, 1003279.105 988451.195 0, 1003005.957 988451.01 0, 1002732.808 988450.842 0, 1002459.66 988450.689 0,
+ 1002186.511 988450.552 0, 1001913.362 988450.431 0, 1001640.214 988450.327 0, 1001367.065 988450.238 0, 1001093.916 988450.166 0, 1000820.768 988450.109 0, 1000547.619 988450.069 0, 1000274.47 988450.045 0, 1000000 988450.037 0, 1000000 994030.278 0,
+ 1000000 999610.609 0, 1000273.81 999610.618 0, 1000546.302 999610.642 0, 1000818.794 999610.682 0, 1001091.286 999610.738 0, 1001363.777 999610.81 0, 1001636.269 999610.899 0, 1001908.761 999611.003 0, 1002181.253 999611.123 0, 1002453.744 999611.26 0,
+ 1002726.236 999611.412 0, 1002998.728 999611.581 0, 1003271.22 999611.765 0, 1003543.711 999611.966 0, 1003816.203 999612.182 0, 1004088.695 999612.415 0, 1004361.186 999612.664 0, 1004633.678 999612.928 0, 1004906.17 999613.209 0, 1005178.661 999613.506 0,
+ 1005451.153 999613.819 0, 1005723.645 999614.148 0, 1005996.136 999614.492 0, 1006268.628 999614.853 0, 1006539.802 999615.229 0, 1006813.611 999615.623 0, 1007086.102 999616.032 0, 1007358.594 999616.458 0, 1007631.085 999616.899 0, 1007903.576 999617.356 0,
+ 1008176.068 999617.829 0, 1008448.559 999618.318 0, 1008721.051 999618.824 0, 1008993.542 999619.345 0, 1009266.033 999619.882 0, 1009538.524 999620.436 0, 1009811.016 999621.005 0, 1010083.507 999621.591 0, 1010355.998 999622.192 0, 1010628.489 999622.81 0,
+ 1010900.98 999623.443 0, 1011173.471 999624.093 0, 1011445.962 999624.759 0, 1011718.453 999625.44 0, 1011990.944 999626.138 0, 1012263.435 999626.852 0, 1012535.925 999627.582 0, 1012808.416 999628.327 0, 1013079.591 999629.086 0, 1013095.356 994048.777 0,
+ 1013111.121 988468.558 0))
+
+POLYGON ((1026159.077 999684.514 0, 1025887.904 999682.99 0, 1025615.416 999681.474 0, 1025342.928 999679.974 0, 1025070.441 999678.491 0, 1024797.953 999677.023 0, 1024525.465 999675.572 0, 1024252.977 999674.136 0, 1023980.489 999672.717 0, 1023708.001 999671.313 0,
+ 1023435.512 999669.926 0, 1023163.024 999668.554 0, 1022890.536 999667.199 0, 1022618.047 999665.86 0, 1022345.558 999664.537 0, 1022073.07 999663.229 0, 1021800.581 999661.938 0, 1021528.092 999660.663 0, 1021255.603 999659.404 0, 1020983.114 999658.161 0,
+ 1020710.625 999656.934 0, 1020438.136 999655.723 0, 1020165.647 999654.528 0, 1019893.158 999653.349 0, 1019619.353 999652.181 0, 1019348.179 999651.04 0, 1019075.69 999649.909 0, 1018803.2 999648.794 0, 1018530.711 999647.695 0, 1018258.221 999646.613 0,
+ 1017985.731 999645.546 0, 1017713.242 999644.495 0, 1017440.752 999643.461 0, 1017168.262 999642.442 0, 1016895.772 999641.44 0, 1016623.282 999640.453 0, 1016350.792 999639.483 0, 1016078.302 999638.529 0, 1015805.812 999637.59 0, 1015533.321 999636.668 0,
+ 1015260.831 999635.762 0, 1014988.341 999634.872 0, 1014715.85 999633.998 0, 1014443.36 999633.139 0, 1014170.869 999632.297 0, 1013898.379 999631.471 0, 1013625.888 999630.661 0, 1013353.398 999629.867 0, 1013079.591 999629.086 0, 1013063.825 1005209.481 0,
+ 1013048.059 1010789.957 0, 1013321.206 1010790.737 0, 1013593.04 1010791.529 0, 1013864.873 1010792.337 0, 1014136.707 1010793.161 0, 1014408.541 1010794.001 0, 1014680.374 1010794.857 0, 1014952.208 1010795.729 0, 1015224.041 1010796.618 0, 1015495.874 1010797.522 0,
+ 1015767.708 1010798.442 0, 1016039.541 1010799.378 0, 1016311.374 1010800.33 0, 1016583.207 1010801.298 0, 1016855.04 1010802.282 0, 1017126.873 1010803.282 0, 1017398.706 1010804.298 0, 1017670.539 1010805.33 0, 1017942.372 1010806.378 0, 1018214.205 1010807.442 0,
+ 1018486.038 1010808.522 0, 1018757.87 1010809.618 0, 1019029.703 1010810.73 0, 1019301.536 1010811.858 0, 1019572.056 1010812.997 0, 1019845.2 1010814.162 0, 1020117.033 1010815.338 0, 1020388.865 1010816.531 0, 1020660.697 1010817.739 0, 1020932.529 1010818.963 0,
+ 1021204.361 1010820.203 0, 1021476.193 1010821.459 0, 1021748.025 1010822.731 0, 1022019.857 1010824.019 0, 1022291.689 1010825.323 0, 1022563.521 1010826.643 0, 1022835.352 1010827.979 0, 1023107.184 1010829.331 0, 1023379.015 1010830.699 0, 1023650.846 1010832.083 0,
+ 1023922.678 1010833.483 0, 1024194.509 1010834.899 0, 1024466.34 1010836.331 0, 1024738.171 1010837.779 0, 1025010.002 1010839.243 0, 1025281.833 1010840.723 0, 1025553.664 1010842.219 0, 1025825.494 1010843.731 0, 1026096.014 1010845.252 0, 1026127.546 1005264.842 0,
+ 1026159.077 999684.514 0))
+
+POLYGON ((1039143.76 1010937.409 0, 1038873.244 1010935.124 0, 1038601.419 1010932.844 0, 1038329.593 1010930.58 0, 1038057.768 1010928.332 0, 1037785.942 1010926.1 0, 1037514.116 1010923.884 0, 1037242.29 1010921.684 0, 1036970.464 1010919.5 0, 1036698.638 1010917.332 0,
+ 1036426.812 1010915.18 0, 1036154.985 1010913.044 0, 1035883.158 1010910.924 0, 1035611.332 1010908.82 0, 1035339.505 1010906.732 0, 1035067.678 1010904.66 0, 1034795.851 1010902.604 0, 1034524.024 1010900.564 0, 1034252.196 1010898.54 0, 1033980.369 1010896.532 0,
+ 1033708.541 1010894.54 0, 1033436.713 1010892.564 0, 1033164.886 1010890.604 0, 1032893.058 1010888.66 0, 1032619.92 1010886.723 0, 1032349.402 1010884.82 0, 1032077.573 1010882.924 0, 1031805.745 1010881.044 0, 1031533.916 1010879.18 0, 1031262.088 1010877.332 0,
+ 1030990.259 1010875.5 0, 1030718.43 1010873.684 0, 1030446.601 1010871.884 0, 1030174.772 1010870.1 0, 1029902.943 1010868.332 0, 1029631.114 1010866.58 0, 1029359.285 1010864.844 0, 1029087.455 1010863.124 0, 1028815.626 1010861.42 0, 1028543.796 1010859.732 0,
+ 1028271.966 1010858.06 0, 1028000.136 1010856.404 0, 1027728.306 1010854.764 0, 1027456.476 1010853.14 0, 1027184.646 1010851.532 0, 1026912.816 1010849.94 0, 1026640.986 1010848.363 0, 1026369.155 1010846.803 0, 1026096.014 1010845.252 0, 1026064.482 1016425.74 0,
+ 1026032.949 1022006.301 0, 1026305.431 1022007.848 0, 1026576.604 1022009.405 0, 1026847.777 1022010.977 0, 1027118.951 1022012.565 0, 1027390.124 1022014.169 0, 1027661.297 1022015.789 0, 1027932.47 1022017.425 0, 1028203.643 1022019.077 0, 1028474.816 1022020.745 0,
+ 1028745.989 1022022.429 0, 1029017.161 1022024.129 0, 1029288.334 1022025.845 0, 1029559.506 1022027.577 0, 1029830.678 1022029.325 0, 1030101.851 1022031.088 0, 1030373.023 1022032.868 0, 1030644.195 1022034.664 0, 1030915.367 1022036.476 0, 1031186.538 1022038.303 0,
+ 1031457.71 1022040.147 0, 1031728.882 1022042.006 0, 1032000.053 1022043.882 0, 1032271.225 1022045.773 0, 1032541.089 1022047.671 0, 1032813.567 1022049.604 0, 1033084.738 1022051.543 0, 1033355.909 1022053.498 0, 1033627.08 1022055.47 0, 1033898.25 1022057.457 0,
+ 1034169.421 1022059.46 0, 1034440.591 1022061.479 0, 1034711.762 1022063.514 0, 1034982.932 1022065.565 0, 1035254.102 1022067.632 0, 1035525.272 1022069.715 0, 1035796.442 1022071.814 0, 1036067.611 1022073.929 0, 1036338.781 1022076.06 0, 1036609.95 1022078.207 0,
+ 1036881.12 1022080.37 0, 1037152.289 1022082.548 0, 1037423.458 1022084.743 0, 1037694.627 1022086.954 0, 1037965.796 1022089.18 0, 1038236.964 1022091.423 0, 1038508.133 1022093.681 0, 1038779.301 1022095.956 0, 1039049.164 1022098.235 0, 1039096.462 1016517.785 0,
+ 1039143.76 1010937.409 0))
+
+POLYGON ((1052065.067 1022226.943 0, 1051795.21 1022223.901 0, 1051524.049 1022220.86 0, 1051252.888 1022217.836 0, 1050981.727 1022214.827 0, 1050710.565 1022211.834 0, 1050439.404 1022208.857 0, 1050168.242 1022205.897 0, 1049897.08 1022202.952 0, 1049625.918 1022200.023 0,
+ 1049354.756 1022197.11 0, 1049083.593 1022194.213 0, 1048812.43 1022191.332 0, 1048541.268 1022188.467 0, 1048270.105 1022185.618 0, 1047998.941 1022182.785 0, 1047727.778 1022179.968 0, 1047456.615 1022177.167 0, 1047185.451 1022174.381 0, 1046914.287 1022171.612 0,
+ 1046643.123 1022168.859 0, 1046371.959 1022166.122 0, 1046100.795 1022163.4 0, 1045829.63 1022160.695 0, 1045557.161 1022157.992 0, 1045287.301 1022155.332 0, 1045016.136 1022152.674 0, 1044744.971 1022150.033 0, 1044473.806 1022147.407 0, 1044202.64 1022144.797 0,
+ 1043931.475 1022142.204 0, 1043660.309 1022139.626 0, 1043389.143 1022137.064 0, 1043117.977 1022134.518 0, 1042846.811 1022131.988 0, 1042575.645 1022129.475 0, 1042304.478 1022126.977 0, 1042033.312 1022124.495 0, 1041762.145 1022122.029 0, 1041490.978 1022119.579 0,
+ 1041219.811 1022117.144 0, 1040948.644 1022114.726 0, 1040677.477 1022112.324 0, 1040406.309 1022109.938 0, 1040135.141 1022107.568 0, 1039863.974 1022105.213 0, 1039592.806 1022102.875 0, 1039321.638 1022100.553 0, 1039049.164 1022098.235 0, 1039001.865 1027678.754 0,
+ 1038954.565 1033259.338 0, 1039226.379 1033261.65 0, 1039496.89 1033263.967 0, 1039767.401 1033266.3 0, 1040037.912 1033268.648 0, 1040308.422 1033271.013 0, 1040578.933 1033273.393 0, 1040849.443 1033275.79 0, 1041119.954 1033278.202 0, 1041390.464 1033280.63 0,
+ 1041660.974 1033283.074 0, 1041931.484 1033285.534 0, 1042201.993 1033288.01 0, 1042472.503 1033290.502 0, 1042743.012 1033293.01 0, 1043013.521 1033295.534 0, 1043284.031 1033298.073 0, 1043554.539 1033300.629 0, 1043825.048 1033303.2 0, 1044095.557 1033305.788 0,
+ 1044366.065 1033308.391 0, 1044636.574 1033311.01 0, 1044907.082 1033313.646 0, 1045177.59 1033316.297 0, 1045446.796 1033318.951 0, 1045718.605 1033321.647 0, 1045989.113 1033324.345 0, 1046259.62 1033327.06 0, 1046530.128 1033329.791 0, 1046800.635 1033332.538 0,
+ 1047071.142 1033335.3 0, 1047341.648 1033338.079 0, 1047612.155 1033340.873 0, 1047882.661 1033343.683 0, 1048153.168 1033346.51 0, 1048423.674 1033349.352 0, 1048694.18 1033352.21 0, 1048964.685 1033355.084 0, 1049235.191 1033357.974 0, 1049505.696 1033360.88 0,
+ 1049776.201 1033363.801 0, 1050046.707 1033366.739 0, 1050317.211 1033369.693 0, 1050587.716 1033372.662 0, 1050858.221 1033375.648 0, 1051128.725 1033378.649 0, 1051399.229 1033381.666 0, 1051669.733 1033384.7 0, 1051938.937 1033387.734 0, 1052002.002 1027807.306 0,
+ 1052065.067 1022226.943 0))
+
+POLYGON ((1064922.893 1033552.812 0, 1064653.698 1033549.017 0, 1064383.203 1033545.22 0, 1064112.709 1033541.438 0, 1063842.214 1033537.673 0, 1063571.719 1033533.923 0, 1063301.224 1033530.189 0, 1063030.728 1033526.471 0, 1062760.232 1033522.77 0, 1062489.737 1033519.084 0,
+ 1062219.24 1033515.414 0, 1061948.744 1033511.759 0, 1061678.248 1033508.121 0, 1061407.751 1033504.499 0, 1061137.254 1033500.892 0, 1060866.757 1033497.302 0, 1060596.259 1033493.727 0, 1060325.762 1033490.169 0, 1060055.264 1033486.626 0, 1059784.766 1033483.099 0,
+ 1059514.268 1033479.589 0, 1059243.769 1033476.094 0, 1058973.271 1033472.615 0, 1058702.772 1033469.152 0, 1058430.973 1033465.688 0, 1058161.773 1033462.273 0, 1057891.274 1033458.858 0, 1057620.774 1033455.458 0, 1057350.274 1033452.075 0, 1057079.774 1033448.707 0,
+ 1056809.274 1033445.356 0, 1056538.774 1033442.02 0, 1056268.273 1033438.7 0, 1055997.772 1033435.396 0, 1055727.271 1033432.108 0, 1055456.77 1033428.836 0, 1055186.269 1033425.58 0, 1054915.767 1033422.34 0, 1054645.265 1033419.116 0, 1054374.763 1033415.907 0,
+ 1054104.261 1033412.715 0, 1053833.759 1033409.538 0, 1053563.256 1033406.378 0, 1053292.753 1033403.233 0, 1053022.251 1033400.104 0, 1052751.747 1033396.992 0, 1052481.244 1033393.895 0, 1052210.741 1033390.814 0, 1051938.937 1033387.734 0, 1051875.87 1038968.223 0,
+ 1051812.803 1044548.769 0, 1052083.947 1044551.841 0, 1052353.794 1044554.915 0, 1052623.64 1044558.004 0, 1052893.486 1044561.109 0, 1053163.332 1044564.231 0, 1053433.178 1044567.368 0, 1053703.024 1044570.52 0, 1053972.869 1044573.689 0, 1054242.715 1044576.874 0,
+ 1054512.56 1044580.074 0, 1054782.404 1044583.291 0, 1055052.249 1044586.523 0, 1055322.094 1044589.771 0, 1055591.938 1044593.036 0, 1055861.782 1044596.316 0, 1056131.626 1044599.611 0, 1056401.47 1044602.923 0, 1056671.313 1044606.251 0, 1056941.157 1044609.594 0,
+ 1057211 1044612.954 0, 1057480.843 1044616.329 0, 1057750.685 1044619.72 0, 1058020.528 1044623.127 0, 1058289.074 1044626.534 0, 1058560.212 1044629.989 0, 1058830.054 1044633.443 0, 1059099.896 1044636.914 0, 1059369.738 1044640.4 0, 1059639.579 1044643.903 0,
+ 1059909.42 1044647.421 0, 1060179.261 1044650.955 0, 1060449.102 1044654.505 0, 1060718.942 1044658.071 0, 1060988.782 1044661.653 0, 1061258.623 1044665.25 0, 1061528.462 1044668.864 0, 1061798.302 1044672.493 0, 1062068.141 1044676.138 0, 1062337.981 1044679.8 0,
+ 1062607.82 1044683.477 0, 1062877.658 1044687.17 0, 1063147.497 1044690.878 0, 1063417.335 1044694.603 0, 1063687.174 1044698.344 0, 1063957.011 1044702.1 0, 1064226.849 1044705.872 0, 1064496.687 1044709.661 0, 1064765.229 1044713.446 0, 1064844.061 1039133.101 0,
+ 1064922.893 1033552.812 0))
+
+POLYGON ((1077717.137 1044914.716 0, 1077448.605 1044910.171 0, 1077178.779 1044905.621 0, 1076908.953 1044901.086 0, 1076639.127 1044896.568 0, 1076369.3 1044892.065 0, 1076099.474 1044887.578 0, 1075829.647 1044883.107 0, 1075559.819 1044878.651 0, 1075289.992 1044874.212 0,
+ 1075020.164 1044869.788 0, 1074750.336 1044865.381 0, 1074480.508 1044860.989 0, 1074210.679 1044856.613 0, 1073940.85 1044852.253 0, 1073671.021 1044847.909 0, 1073401.192 1044843.581 0, 1073131.362 1044839.269 0, 1072861.532 1044834.972 0, 1072591.702 1044830.692 0,
+ 1072321.872 1044826.427 0, 1072052.041 1044822.178 0, 1071782.21 1044817.945 0, 1071512.379 1044813.728 0, 1071241.254 1044809.507 0, 1070972.716 1044805.342 0, 1070702.885 1044801.173 0, 1070433.053 1044797.019 0, 1070163.22 1044792.882 0, 1069893.388 1044788.76 0,
+ 1069623.555 1044784.654 0, 1069353.722 1044780.564 0, 1069083.888 1044776.49 0, 1068814.055 1044772.432 0, 1068544.221 1044768.389 0, 1068274.387 1044764.363 0, 1068004.553 1044760.352 0, 1067734.718 1044756.358 0, 1067464.884 1044752.379 0, 1067195.049 1044748.416 0,
+ 1066925.214 1044744.469 0, 1066655.378 1044740.538 0, 1066385.542 1044736.623 0, 1066115.707 1044732.723 0, 1065845.87 1044728.84 0, 1065576.034 1044724.972 0, 1065306.198 1044721.12 0, 1065036.361 1044717.285 0, 1064765.229 1044713.446 0, 1064686.395 1050293.844 0,
+ 1064607.561 1055874.29 0, 1064878.033 1055878.119 0, 1065147.213 1055881.946 0, 1065416.393 1055885.788 0, 1065685.572 1055889.646 0, 1065954.751 1055893.52 0, 1066223.93 1055897.41 0, 1066493.109 1055901.316 0, 1066762.287 1055905.237 0, 1067031.466 1055909.175 0,
+ 1067300.644 1055913.128 0, 1067569.822 1055917.097 0, 1067838.999 1055921.082 0, 1068108.177 1055925.083 0, 1068377.354 1055929.1 0, 1068646.531 1055933.132 0, 1068915.707 1055937.18 0, 1069184.884 1055941.245 0, 1069454.06 1055945.325 0, 1069723.236 1055949.42 0,
+ 1069992.411 1055953.532 0, 1070261.587 1055957.66 0, 1070530.762 1055961.803 0, 1070799.937 1055965.962 0, 1071067.821 1055970.117 0, 1071338.286 1055974.328 0, 1071607.46 1055978.535 0, 1071876.634 1055982.758 0, 1072145.808 1055986.996 0, 1072414.981 1055991.25 0,
+ 1072684.155 1055995.52 0, 1072953.328 1055999.806 0, 1073222.5 1056004.108 0, 1073491.673 1056008.426 0, 1073760.845 1056012.759 0, 1074030.017 1056017.109 0, 1074299.189 1056021.474 0, 1074568.36 1056025.855 0, 1074837.531 1056030.252 0, 1075106.702 1056034.664 0,
+ 1075375.873 1056039.093 0, 1075645.043 1056043.537 0, 1075914.213 1056047.998 0, 1076183.383 1056052.474 0, 1076452.553 1056056.966 0, 1076721.722 1056061.473 0, 1076990.891 1056065.997 0, 1077260.06 1056070.536 0, 1077527.939 1056075.07 0, 1077622.538 1050494.869 0,
+ 1077717.137 1044914.716 0))
+
+POLYGON ((1090447.697 1056312.351 0, 1090179.831 1056307.061 0, 1089910.676 1056301.761 0, 1089641.52 1056296.477 0, 1089372.365 1056291.209 0, 1089103.209 1056285.956 0, 1088834.053 1056280.72 0, 1088564.897 1056275.499 0, 1088295.74 1056270.294 0, 1088026.583 1056265.105 0,
+ 1087757.425 1056259.932 0, 1087488.268 1056254.775 0, 1087219.11 1056249.633 0, 1086949.951 1056244.508 0, 1086680.793 1056239.398 0, 1086411.634 1056234.304 0, 1086142.475 1056229.226 0, 1085873.315 1056224.164 0, 1085604.155 1056219.117 0, 1085334.995 1056214.087 0,
+ 1085065.835 1056209.072 0, 1084796.674 1056204.073 0, 1084527.513 1056199.09 0, 1084258.352 1056194.123 0, 1083987.902 1056189.148 0, 1083720.029 1056184.236 0, 1083450.867 1056179.316 0, 1083181.704 1056174.413 0, 1082912.542 1056169.525 0, 1082643.379 1056164.652 0,
+ 1082374.215 1056159.796 0, 1082105.052 1056154.956 0, 1081835.888 1056150.131 0, 1081566.724 1056145.322 0, 1081297.559 1056140.529 0, 1081028.395 1056135.752 0, 1080759.23 1056130.991 0, 1080490.064 1056126.246 0, 1080220.899 1056121.516 0, 1079951.733 1056116.802 0,
+ 1079682.567 1056112.104 0, 1079413.401 1056107.422 0, 1079144.234 1056102.756 0, 1078875.067 1056098.106 0, 1078605.9 1056093.471 0, 1078336.732 1056088.853 0, 1078067.565 1056084.25 0, 1077798.397 1056079.663 0, 1077527.939 1056075.07 0, 1077433.338 1061655.315 0,
+ 1077338.737 1067235.599 0, 1077608.535 1067240.181 0, 1077877.046 1067244.757 0, 1078145.557 1067249.349 0, 1078414.068 1067253.956 0, 1078682.578 1067258.579 0, 1078951.088 1067263.218 0, 1079219.598 1067267.873 0, 1079488.107 1067272.544 0, 1079756.616 1067277.23 0,
+ 1080025.125 1067281.932 0, 1080293.634 1067286.65 0, 1080562.142 1067291.384 0, 1080830.651 1067296.134 0, 1081099.158 1067300.899 0, 1081367.666 1067305.68 0, 1081636.173 1067310.477 0, 1081904.68 1067315.29 0, 1082173.187 1067320.119 0, 1082441.693 1067324.963 0,
+ 1082710.199 1067329.824 0, 1082978.705 1067334.7 0, 1083247.211 1067339.592 0, 1083515.716 1067344.499 0, 1083782.935 1067349.399 0, 1084052.726 1067354.362 0, 1084321.23 1067359.317 0, 1084589.734 1067364.288 0, 1084858.238 1067369.275 0, 1085126.741 1067374.277 0,
+ 1085395.245 1067379.295 0, 1085663.747 1067384.33 0, 1085932.25 1067389.379 0, 1086200.752 1067394.445 0, 1086469.254 1067399.527 0, 1086737.756 1067404.624 0, 1087006.258 1067409.737 0, 1087274.759 1067414.866 0, 1087543.259 1067420.011 0, 1087811.76 1067425.171 0,
+ 1088080.26 1067430.348 0, 1088348.76 1067435.54 0, 1088617.26 1067440.748 0, 1088885.759 1067445.971 0, 1089154.258 1067451.211 0, 1089422.757 1067456.466 0, 1089691.255 1067461.737 0, 1089959.753 1067467.024 0, 1090226.966 1067472.302 0, 1090337.332 1061892.307 0,
+ 1090447.697 1056312.351 0))
+
+POLYGON ((1103114.475 1067745.415 0, 1102847.276 1067739.382 0, 1102578.794 1067733.337 0, 1102310.311 1067727.307 0, 1102041.829 1067721.293 0, 1101773.346 1067715.295 0, 1101504.862 1067709.313 0, 1101236.378 1067703.346 0, 1100967.894 1067697.396 0, 1100699.41 1067691.461 0,
+ 1100430.925 1067685.542 0, 1100162.44 1067679.639 0, 1099893.954 1067673.751 0, 1099625.468 1067667.879 0, 1099356.982 1067662.024 0, 1099088.495 1067656.183 0, 1098820.008 1067650.359 0, 1098551.521 1067644.551 0, 1098283.033 1067638.758 0, 1098014.546 1067632.981 0,
+ 1097746.057 1067627.22 0, 1097477.569 1067621.475 0, 1097209.08 1067615.746 0, 1096940.59 1067610.032 0, 1096670.817 1067604.307 0, 1096403.611 1067598.652 0, 1096135.12 1067592.986 0, 1095866.63 1067587.335 0, 1095598.139 1067581.701 0, 1095329.647 1067576.082 0,
+ 1095061.156 1067570.479 0, 1094792.664 1067564.892 0, 1094524.171 1067559.32 0, 1094255.679 1067553.765 0, 1093987.186 1067548.225 0, 1093718.693 1067542.701 0, 1093450.199 1067537.193 0, 1093181.705 1067531.7 0, 1092913.211 1067526.224 0, 1092644.716 1067520.763 0,
+ 1092376.221 1067515.318 0, 1092107.726 1067509.889 0, 1091839.231 1067504.475 0, 1091570.735 1067499.078 0, 1091302.239 1067493.696 0, 1091033.742 1067488.33 0, 1090765.245 1067482.98 0, 1090496.748 1067477.646 0, 1090226.966 1067472.302 0, 1090116.599 1073052.332 0,
+ 1090006.232 1078632.394 0, 1090275.354 1078637.724 0, 1090543.194 1078643.046 0, 1090811.034 1078648.383 0, 1091078.874 1078653.736 0, 1091346.713 1078659.104 0, 1091614.552 1078664.489 0, 1091882.391 1078669.889 0, 1092150.229 1078675.305 0, 1092418.067 1078680.736 0,
+ 1092685.905 1078686.184 0, 1092953.742 1078691.647 0, 1093221.58 1078697.126 0, 1093489.416 1078702.621 0, 1093757.253 1078708.131 0, 1094025.089 1078713.657 0, 1094292.925 1078719.199 0, 1094560.76 1078724.757 0, 1094828.595 1078730.331 0, 1095096.43 1078735.92 0,
+ 1095364.264 1078741.525 0, 1095632.099 1078747.146 0, 1095899.932 1078752.782 0, 1096167.766 1078758.435 0, 1096434.319 1078764.076 0, 1096703.432 1078769.787 0, 1096971.264 1078775.487 0, 1097239.096 1078781.202 0, 1097506.928 1078786.933 0, 1097774.76 1078792.68 0,
+ 1098042.591 1078798.443 0, 1098310.422 1078804.221 0, 1098578.252 1078810.015 0, 1098846.082 1078815.825 0, 1099113.912 1078821.651 0, 1099381.741 1078827.493 0, 1099649.57 1078833.35 0, 1099917.399 1078839.223 0, 1100185.227 1078845.112 0, 1100453.055 1078851.017 0,
+ 1100720.883 1078856.937 0, 1100988.711 1078862.873 0, 1101256.537 1078868.825 0, 1101524.364 1078874.793 0, 1101792.19 1078880.776 0, 1102060.016 1078886.775 0, 1102327.842 1078892.79 0, 1102595.667 1078898.821 0, 1102862.213 1078904.838 0, 1102988.344 1073325.111 0,
+ 1103114.475 1067745.415 0))
+
+POLYGON ((1115717.372 1079213.602 0, 1115450.843 1079206.832 0, 1115183.036 1079200.044 0, 1114915.228 1079193.273 0, 1114647.42 1079186.517 0, 1114379.612 1079179.777 0, 1114111.803 1079173.053 0, 1113843.994 1079166.344 0, 1113576.185 1079159.651 0, 1113308.375 1079152.974 0,
+ 1113040.564 1079146.313 0, 1112772.754 1079139.668 0, 1112504.943 1079133.038 0, 1112237.131 1079126.424 0, 1111969.319 1079119.826 0, 1111701.507 1079113.244 0, 1111433.694 1079106.677 0, 1111165.881 1079100.126 0, 1110898.068 1079093.591 0, 1110630.254 1079087.072 0,
+ 1110362.44 1079080.568 0, 1110094.626 1079074.08 0, 1109826.811 1079067.608 0, 1109558.995 1079061.152 0, 1109289.901 1079054.681 0, 1109023.364 1079048.286 0, 1108755.547 1079041.877 0, 1108487.73 1079035.484 0, 1108219.913 1079029.107 0, 1107952.096 1079022.745 0,
+ 1107684.278 1079016.399 0, 1107416.459 1079010.069 0, 1107148.641 1079003.754 0, 1106880.822 1078997.456 0, 1106613.002 1078991.173 0, 1106345.182 1078984.906 0, 1106077.362 1078978.654 0, 1105809.542 1078972.419 0, 1105541.721 1078966.199 0, 1105273.9 1078959.995 0,
+ 1105006.078 1078953.806 0, 1104738.256 1078947.634 0, 1104470.434 1078941.477 0, 1104202.611 1078935.336 0, 1103934.788 1078929.211 0, 1103666.964 1078923.101 0, 1103399.141 1078917.007 0, 1103131.317 1078910.929 0, 1102862.213 1078904.838 0, 1102736.08 1084484.592 0,
+ 1102609.948 1090064.369 0, 1102878.392 1090070.445 0, 1103145.559 1090076.508 0, 1103412.726 1090082.587 0, 1103679.893 1090088.681 0, 1103947.059 1090094.792 0, 1104214.225 1090100.918 0, 1104481.39 1090107.059 0, 1104748.555 1090113.217 0, 1105015.72 1090119.39 0,
+ 1105282.885 1090125.579 0, 1105550.049 1090131.783 0, 1105817.212 1090138.004 0, 1106084.376 1090144.24 0, 1106351.539 1090150.491 0, 1106618.701 1090156.759 0, 1106885.864 1090163.042 0, 1107153.025 1090169.341 0, 1107420.187 1090175.656 0, 1107687.348 1090181.986 0,
+ 1107954.509 1090188.332 0, 1108221.669 1090194.694 0, 1108488.829 1090201.072 0, 1108755.989 1090207.465 0, 1109021.873 1090213.843 0, 1109290.307 1090220.299 0, 1109557.465 1090226.739 0, 1109824.624 1090233.196 0, 1110091.781 1090239.667 0, 1110358.939 1090246.155 0,
+ 1110626.096 1090252.658 0, 1110893.252 1090259.178 0, 1111160.408 1090265.712 0, 1111427.564 1090272.263 0, 1111694.72 1090278.829 0, 1111961.875 1090285.411 0, 1112229.029 1090292.009 0, 1112496.184 1090298.622 0, 1112763.338 1090305.252 0, 1113030.491 1090311.896 0,
+ 1113297.644 1090318.557 0, 1113564.797 1090325.233 0, 1113831.949 1090331.925 0, 1114099.101 1090338.633 0, 1114366.253 1090345.357 0, 1114633.404 1090352.096 0, 1114900.554 1090358.851 0, 1115167.705 1090365.622 0, 1115433.581 1090372.376 0, 1115575.477 1084792.978 0,
+ 1115717.372 1079213.602 0))
+
+POLYGON ((1128256.292 1090716.61 0, 1127990.434 1090709.105 0, 1127723.304 1090701.58 0, 1127456.174 1090694.07 0, 1127189.043 1090686.576 0, 1126921.911 1090679.098 0, 1126654.779 1090671.635 0, 1126387.647 1090664.189 0, 1126120.514 1090656.757 0, 1125853.381 1090649.342 0,
+ 1125586.247 1090641.943 0, 1125319.113 1090634.559 0, 1125051.979 1090627.19 0, 1124784.844 1090619.838 0, 1124517.708 1090612.501 0, 1124250.573 1090605.18 0, 1123983.436 1090597.875 0, 1123716.3 1090590.585 0, 1123449.162 1090583.312 0, 1123182.025 1090576.053 0,
+ 1122914.887 1090568.811 0, 1122647.749 1090561.584 0, 1122380.61 1090554.373 0, 1122113.471 1090547.178 0, 1121845.058 1090539.965 0, 1121579.191 1090532.835 0, 1121312.05 1090525.687 0, 1121044.909 1090518.555 0, 1120777.768 1090511.438 0, 1120510.626 1090504.337 0,
+ 1120243.484 1090497.252 0, 1119976.342 1090490.183 0, 1119709.199 1090483.129 0, 1119442.055 1090476.091 0, 1119174.911 1090469.069 0, 1118907.767 1090462.062 0, 1118640.622 1090455.071 0, 1118373.477 1090448.096 0, 1118106.332 1090441.137 0, 1117839.186 1090434.193 0,
+ 1117572.04 1090427.265 0, 1117304.893 1090420.353 0, 1117037.746 1090413.457 0, 1116770.598 1090406.576 0, 1116503.45 1090399.711 0, 1116236.302 1090392.862 0, 1115969.153 1090386.028 0, 1115702.004 1090379.21 0, 1115433.581 1090372.376 0, 1115291.684 1095951.791 0,
+ 1115149.787 1101531.221 0, 1115417.551 1101538.038 0, 1115684.043 1101544.839 0, 1115950.535 1101551.656 0, 1116217.027 1101558.489 0, 1116483.518 1101565.337 0, 1116750.009 1101572.201 0, 1117016.499 1101579.08 0, 1117282.989 1101585.975 0, 1117549.478 1101592.886 0,
+ 1117815.968 1101599.813 0, 1118082.456 1101606.755 0, 1118348.945 1101613.713 0, 1118615.432 1101620.687 0, 1118881.92 1101627.676 0, 1119148.407 1101634.681 0, 1119414.894 1101641.702 0, 1119681.38 1101648.738 0, 1119947.866 1101655.79 0, 1120214.351 1101662.858 0,
+ 1120480.836 1101669.941 0, 1120747.321 1101677.04 0, 1121013.805 1101684.155 0, 1121280.288 1101691.286 0, 1121545.502 1101698.398 0, 1121813.255 1101705.594 0, 1122079.737 1101712.771 0, 1122346.219 1101719.964 0, 1122612.701 1101727.173 0, 1122879.182 1101734.398 0,
+ 1123145.663 1101741.638 0, 1123412.143 1101748.894 0, 1123678.623 1101756.166 0, 1123945.103 1101763.453 0, 1124211.582 1101770.756 0, 1124478.06 1101778.075 0, 1124744.538 1101785.409 0, 1125011.016 1101792.759 0, 1125277.494 1101800.125 0, 1125543.97 1101807.506 0,
+ 1125810.447 1101814.903 0, 1126076.923 1101822.316 0, 1126343.399 1101829.745 0, 1126609.874 1101837.189 0, 1126876.348 1101844.649 0, 1127142.823 1101852.124 0, 1127409.297 1101859.615 0, 1127675.77 1101867.122 0, 1127940.974 1101874.609 0, 1128098.633 1096295.603 0,
+ 1128256.292 1090716.61 0))
+
+POLYGON ((1140731.14 1102254.134 0, 1140465.956 1102245.898 0, 1140199.505 1102237.638 0, 1139933.053 1102229.394 0, 1139666.601 1102221.165 0, 1139400.148 1102212.953 0, 1139133.695 1102204.756 0, 1138867.242 1102196.575 0, 1138600.788 1102188.409 0, 1138334.333 1102180.259 0,
+ 1138067.878 1102172.125 0, 1137801.423 1102164.006 0, 1137534.967 1102155.903 0, 1137268.51 1102147.816 0, 1137002.054 1102139.745 0, 1136735.596 1102131.689 0, 1136469.138 1102123.649 0, 1136202.68 1102115.624 0, 1135936.221 1102107.615 0, 1135669.762 1102099.622 0,
+ 1135403.302 1102091.645 0, 1135136.842 1102083.683 0, 1134870.381 1102075.737 0, 1134603.92 1102067.807 0, 1134336.191 1102059.854 0, 1134070.997 1102051.993 0, 1133804.534 1102044.11 0, 1133538.071 1102036.242 0, 1133271.608 1102028.39 0, 1133005.144 1102020.554 0,
+ 1132738.679 1102012.733 0, 1132472.215 1102004.929 0, 1132205.749 1101997.139 0, 1131939.283 1101989.366 0, 1131672.817 1101981.608 0, 1131406.351 1101973.866 0, 1131139.883 1101966.139 0, 1130873.416 1101958.429 0, 1130606.948 1101950.733 0, 1130340.479 1101943.054 0,
+ 1130074.01 1101935.39 0, 1129807.541 1101927.742 0, 1129541.071 1101920.11 0, 1129274.601 1101912.493 0, 1129008.13 1101904.892 0, 1128741.659 1101897.307 0, 1128475.187 1101889.737 0, 1128208.715 1101882.183 0, 1127940.974 1101874.609 0, 1127783.315 1107453.624 0,
+ 1127625.655 1113032.645 0, 1127892.736 1113040.2 0, 1128158.552 1113047.735 0, 1128424.367 1113055.286 0, 1128690.181 1113062.853 0, 1128955.995 1113070.435 0, 1129221.809 1113078.033 0, 1129487.622 1113085.647 0, 1129753.434 1113093.276 0, 1130019.247 1113100.921 0,
+ 1130285.058 1113108.581 0, 1130550.87 1113116.257 0, 1130816.681 1113123.949 0, 1131082.491 1113131.657 0, 1131348.301 1113139.38 0, 1131614.11 1113147.118 0, 1131879.919 1113154.873 0, 1132145.728 1113162.643 0, 1132411.536 1113170.429 0, 1132677.344 1113178.23 0,
+ 1132943.151 1113186.047 0, 1133208.958 1113193.879 0, 1133474.764 1113201.728 0, 1133740.57 1113209.591 0, 1134005.11 1113217.433 0, 1134272.18 1113225.366 0, 1134537.984 1113233.277 0, 1134803.788 1113241.203 0, 1135069.592 1113249.146 0, 1135335.395 1113257.103 0,
+ 1135601.197 1113265.077 0, 1135866.999 1113273.066 0, 1136132.801 1113281.07 0, 1136398.602 1113289.091 0, 1136664.403 1113297.127 0, 1136930.203 1113305.178 0, 1137196.003 1113313.246 0, 1137461.802 1113321.329 0, 1137727.601 1113329.427 0, 1137993.399 1113337.541 0,
+ 1138259.197 1113345.671 0, 1138524.994 1113353.817 0, 1138790.791 1113361.978 0, 1139056.587 1113370.154 0, 1139322.383 1113378.347 0, 1139588.179 1113386.555 0, 1139853.974 1113394.779 0, 1140119.768 1113403.018 0, 1140384.298 1113411.234 0, 1140557.719 1107832.681 0,
+ 1140731.14 1102254.134 0))
+
+POLYGON ((1153141.821 1113825.867 0, 1152877.313 1113816.904 0, 1152611.543 1113807.913 0, 1152345.773 1113798.939 0, 1152080.001 1113789.98 0, 1151814.23 1113781.037 0, 1151548.457 1113772.109 0, 1151282.685 1113763.197 0, 1151016.911 1113754.301 0, 1150751.138 1113745.42 0,
+ 1150485.363 1113736.555 0, 1150219.589 1113727.705 0, 1149953.813 1113718.872 0, 1149688.037 1113710.053 0, 1149422.261 1113701.251 0, 1149156.484 1113692.464 0, 1148890.707 1113683.693 0, 1148624.929 1113674.937 0, 1148359.15 1113666.197 0, 1148093.371 1113657.473 0,
+ 1147827.592 1113648.764 0, 1147561.812 1113640.071 0, 1147296.031 1113631.394 0, 1147030.25 1113622.732 0, 1146763.206 1113614.045 0, 1146498.687 1113605.456 0, 1146232.904 1113596.841 0, 1145967.121 1113588.242 0, 1145701.338 1113579.658 0, 1145435.554 1113571.09 0,
+ 1145169.769 1113562.538 0, 1144903.984 1113554.001 0, 1144638.198 1113545.48 0, 1144372.412 1113536.975 0, 1144106.626 1113528.486 0, 1143840.839 1113520.012 0, 1143575.051 1113511.553 0, 1143309.263 1113503.11 0, 1143043.475 1113494.683 0, 1142777.686 1113486.272 0,
+ 1142511.896 1113477.876 0, 1142246.106 1113469.496 0, 1141980.315 1113461.132 0, 1141714.524 1113452.783 0, 1141448.733 1113444.449 0, 1141182.941 1113436.132 0, 1140917.148 1113427.83 0, 1140651.355 1113419.544 0, 1140384.298 1113411.234 0, 1140210.878 1118989.787 0,
+ 1140037.457 1124568.335 0, 1140303.854 1124576.625 0, 1140568.991 1124584.891 0, 1140834.126 1124593.172 0, 1141099.262 1124601.469 0, 1141364.397 1124609.782 0, 1141629.531 1124618.11 0, 1141894.665 1124626.454 0, 1142159.798 1124634.813 0, 1142424.931 1124643.188 0,
+ 1142690.063 1124651.579 0, 1142955.195 1124659.985 0, 1143220.327 1124668.407 0, 1143485.458 1124676.844 0, 1143750.588 1124685.297 0, 1144015.718 1124693.766 0, 1144280.847 1124702.25 0, 1144545.976 1124710.75 0, 1144811.105 1124719.266 0, 1145076.232 1124727.797 0,
+ 1145341.36 1124736.344 0, 1145606.487 1124744.906 0, 1145871.613 1124753.484 0, 1146136.739 1124762.077 0, 1146400.605 1124770.645 0, 1146666.989 1124779.311 0, 1146932.114 1124787.951 0, 1147197.237 1124796.607 0, 1147462.361 1124805.279 0, 1147727.484 1124813.966 0,
+ 1147992.606 1124822.669 0, 1148257.728 1124831.387 0, 1148522.849 1124840.121 0, 1148787.97 1124848.871 0, 1149053.09 1124857.636 0, 1149318.21 1124866.417 0, 1149583.329 1124875.213 0, 1149848.448 1124884.025 0, 1150113.566 1124892.853 0, 1150378.684 1124901.696 0,
+ 1150643.801 1124910.555 0, 1150908.917 1124919.429 0, 1151174.033 1124928.319 0, 1151439.149 1124937.225 0, 1151704.264 1124946.146 0, 1151969.379 1124955.083 0, 1152234.493 1124964.035 0, 1152499.606 1124973.003 0, 1152763.461 1124981.944 0, 1152952.641 1119403.907 0,
+ 1153141.821 1113825.867 0))
+
+POLYGON ((1165488.245 1125431.504 0, 1165224.414 1125421.818 0, 1164959.327 1125412.101 0, 1164694.24 1125402.399 0, 1164429.152 1125392.714 0, 1164164.063 1125383.044 0, 1163898.973 1125373.389 0, 1163633.883 1125363.75 0, 1163368.793 1125354.127 0, 1163103.702 1125344.519 0,
+ 1162838.61 1125334.927 0, 1162573.518 1125325.35 0, 1162308.425 1125315.789 0, 1162043.332 1125306.244 0, 1161778.238 1125296.714 0, 1161513.144 1125287.2 0, 1161248.049 1125277.701 0, 1160982.953 1125268.218 0, 1160717.857 1125258.751 0, 1160452.76 1125249.299 0,
+ 1160187.663 1125239.863 0, 1159922.565 1125230.443 0, 1159657.467 1125221.038 0, 1159392.368 1125211.649 0, 1159126.012 1125202.23 0, 1158862.169 1125192.917 0, 1158597.068 1125183.574 0, 1158331.967 1125174.247 0, 1158066.865 1125164.936 0, 1157801.763 1125155.64 0,
+ 1157536.661 1125146.36 0, 1157271.557 1125137.096 0, 1157006.453 1125127.847 0, 1156741.349 1125118.614 0, 1156476.244 1125109.396 0, 1156211.139 1125100.194 0, 1155946.033 1125091.007 0, 1155680.926 1125081.836 0, 1155415.819 1125072.681 0, 1155150.712 1125063.541 0,
+ 1154885.603 1125054.417 0, 1154620.495 1125045.309 0, 1154355.385 1125036.216 0, 1154090.276 1125027.139 0, 1153825.165 1125018.077 0, 1153560.055 1125009.031 0, 1153294.943 1125000.001 0, 1153029.831 1124990.986 0, 1152763.461 1124981.944 0, 1152574.281 1130559.972 0,
+ 1152385.101 1136137.987 0, 1152650.812 1136147.006 0, 1152915.267 1136155.999 0, 1153179.722 1136165.007 0, 1153444.176 1136174.031 0, 1153708.63 1136183.07 0, 1153973.083 1136192.125 0, 1154237.536 1136201.195 0, 1154501.988 1136210.281 0, 1154766.439 1136219.382 0,
+ 1155030.89 1136228.499 0, 1155295.341 1136237.632 0, 1155559.791 1136246.78 0, 1155824.24 1136255.944 0, 1156088.689 1136265.123 0, 1156353.137 1136274.318 0, 1156617.585 1136283.528 0, 1156882.032 1136292.754 0, 1157146.479 1136301.996 0, 1157410.925 1136311.253 0,
+ 1157675.371 1136320.526 0, 1157939.816 1136329.814 0, 1158204.26 1136339.118 0, 1158468.704 1136348.437 0, 1158731.893 1136357.728 0, 1158997.59 1136367.123 0, 1159262.033 1136376.489 0, 1159526.474 1136385.87 0, 1159790.916 1136395.267 0, 1160055.356 1136404.68 0,
+ 1160319.796 1136414.108 0, 1160584.236 1136423.552 0, 1160848.675 1136433.012 0, 1161113.113 1136442.487 0, 1161377.551 1136451.977 0, 1161641.988 1136461.484 0, 1161906.425 1136471.005 0, 1162170.861 1136480.543 0, 1162435.297 1136490.095 0, 1162699.732 1136499.664 0,
+ 1162964.166 1136509.248 0, 1163228.6 1136518.847 0, 1163493.034 1136528.462 0, 1163757.467 1136538.093 0, 1164021.899 1136547.739 0, 1164286.33 1136557.401 0, 1164550.761 1136567.078 0, 1164815.192 1136576.771 0, 1165078.369 1136586.434 0, 1165283.307 1131008.976 0,
+ 1165488.245 1125431.504 0))
+
+POLYGON ((1177770.319 1137070.74 0, 1177507.169 1137060.334 0, 1177242.767 1137049.894 0, 1176978.364 1137039.469 0, 1176713.961 1137029.06 0, 1176449.557 1137018.667 0, 1176185.152 1137008.289 0, 1175920.747 1136997.927 0, 1175656.341 1136987.581 0, 1175391.935 1136977.25 0,
+ 1175127.528 1136966.934 0, 1174863.12 1136956.634 0, 1174598.712 1136946.35 0, 1174334.303 1136936.081 0, 1174069.894 1136925.828 0, 1173805.484 1136915.591 0, 1173541.073 1136905.369 0, 1173276.662 1136895.162 0, 1173012.25 1136884.971 0, 1172747.838 1136874.796 0,
+ 1172483.425 1136864.636 0, 1172219.011 1136854.492 0, 1171954.597 1136844.363 0, 1171690.182 1136834.25 0, 1171424.515 1136824.104 0, 1171161.351 1136814.07 0, 1170896.934 1136804.004 0, 1170632.517 1136793.953 0, 1170368.1 1136783.918 0, 1170103.681 1136773.898 0,
+ 1169839.262 1136763.894 0, 1169574.843 1136753.905 0, 1169310.423 1136743.932 0, 1169046.002 1136733.975 0, 1168781.581 1136724.033 0, 1168517.159 1136714.106 0, 1168252.736 1136704.195 0, 1167988.313 1136694.3 0, 1167723.89 1136684.421 0, 1167459.466 1136674.556 0,
+ 1167195.041 1136664.708 0, 1166930.616 1136654.875 0, 1166666.19 1136645.057 0, 1166401.763 1136635.256 0, 1166137.336 1136625.469 0, 1165872.908 1136615.699 0, 1165608.48 1136605.943 0, 1165344.051 1136596.204 0, 1165078.369 1136586.434 0, 1164873.432 1142163.874 0,
+ 1164668.496 1147741.293 0, 1164933.518 1147751.039 0, 1165197.291 1147760.754 0, 1165461.062 1147770.485 0, 1165724.833 1147780.232 0, 1165988.604 1147789.994 0, 1166252.374 1147799.771 0, 1166516.143 1147809.564 0, 1166779.912 1147819.373 0, 1167043.68 1147829.197 0,
+ 1167307.448 1147839.037 0, 1167571.215 1147848.892 0, 1167834.981 1147858.762 0, 1168098.747 1147868.649 0, 1168362.513 1147878.55 0, 1168626.277 1147888.468 0, 1168890.042 1147898.4 0, 1169153.805 1147908.349 0, 1169417.568 1147918.312 0, 1169681.331 1147928.292 0,
+ 1169945.092 1147938.287 0, 1170208.854 1147948.297 0, 1170472.614 1147958.323 0, 1170736.374 1147968.364 0, 1170998.885 1147978.374 0, 1171263.893 1147988.494 0, 1171527.651 1147998.582 0, 1171791.409 1148008.685 0, 1172055.166 1148018.804 0, 1172318.922 1148028.939 0,
+ 1172582.678 1148039.089 0, 1172846.433 1148049.255 0, 1173110.188 1148059.436 0, 1173373.942 1148069.633 0, 1173637.695 1148079.845 0, 1173901.448 1148090.073 0, 1174165.201 1148100.316 0, 1174428.952 1148110.575 0, 1174692.703 1148120.849 0, 1174956.454 1148131.139 0,
+ 1175220.204 1148141.444 0, 1175483.953 1148151.765 0, 1175747.702 1148162.101 0, 1176011.45 1148172.453 0, 1176275.197 1148182.821 0, 1176538.944 1148193.204 0, 1176802.69 1148203.602 0, 1177066.436 1148214.016 0, 1177328.933 1148224.396 0, 1177549.626 1142647.579 0,
+ 1177770.319 1137070.74 0))
+
+POLYGON ((1189987.955 1148743.266 0, 1189725.486 1148732.144 0, 1189461.771 1148720.985 0, 1189198.055 1148709.841 0, 1188934.339 1148698.713 0, 1188670.622 1148687.601 0, 1188406.904 1148676.504 0, 1188143.186 1148665.422 0, 1187879.467 1148654.356 0, 1187615.747 1148643.306 0,
+ 1187352.026 1148632.271 0, 1187088.305 1148621.251 0, 1186824.584 1148610.248 0, 1186560.862 1148599.259 0, 1186297.139 1148588.286 0, 1186033.415 1148577.329 0, 1185769.691 1148566.387 0, 1185505.966 1148555.461 0, 1185242.24 1148544.55 0, 1184978.514 1148533.655 0,
+ 1184714.787 1148522.775 0, 1184451.06 1148511.911 0, 1184187.332 1148501.062 0, 1183923.603 1148490.229 0, 1183658.627 1148479.361 0, 1183396.144 1148468.61 0, 1183132.413 1148457.823 0, 1182868.682 1148447.052 0, 1182604.95 1148436.296 0, 1182341.218 1148425.556 0,
+ 1182077.484 1148414.832 0, 1181813.751 1148404.123 0, 1181550.016 1148393.43 0, 1181286.281 1148382.752 0, 1181022.546 1148372.089 0, 1180758.809 1148361.442 0, 1180495.072 1148350.811 0, 1180231.335 1148340.195 0, 1179967.597 1148329.595 0, 1179703.858 1148319.01 0,
+ 1179440.118 1148308.441 0, 1179176.378 1148297.887 0, 1178912.638 1148287.349 0, 1178648.896 1148276.826 0, 1178385.154 1148266.319 0, 1178121.412 1148255.827 0, 1177857.669 1148245.351 0, 1177593.925 1148234.891 0, 1177328.933 1148224.396 0, 1177108.241 1153801.187 0,
+ 1176887.551 1159377.947 0, 1177151.883 1159388.415 0, 1177414.971 1159398.85 0, 1177678.057 1159409.3 0, 1177941.143 1159419.765 0, 1178204.229 1159430.246 0, 1178467.314 1159440.743 0, 1178730.398 1159451.255 0, 1178993.482 1159461.782 0, 1179256.564 1159472.325 0,
+ 1179519.647 1159482.884 0, 1179782.729 1159493.457 0, 1180045.81 1159504.047 0, 1180308.89 1159514.652 0, 1180571.97 1159525.272 0, 1180835.049 1159535.908 0, 1181098.128 1159546.559 0, 1181361.206 1159557.226 0, 1181624.283 1159567.908 0, 1181887.36 1159578.606 0,
+ 1182150.436 1159589.319 0, 1182413.511 1159600.048 0, 1182676.586 1159610.792 0, 1182939.66 1159621.552 0, 1183201.49 1159632.276 0, 1183465.807 1159643.118 0, 1183728.879 1159653.924 0, 1183991.951 1159664.746 0, 1184255.022 1159675.583 0, 1184518.092 1159686.436 0,
+ 1184781.162 1159697.304 0, 1185044.231 1159708.187 0, 1185307.299 1159719.086 0, 1185570.367 1159730.001 0, 1185833.434 1159740.931 0, 1186096.501 1159751.877 0, 1186359.567 1159762.838 0, 1186622.632 1159773.814 0, 1186885.696 1159784.806 0, 1187148.76 1159795.814 0,
+ 1187411.824 1159806.837 0, 1187674.886 1159817.875 0, 1187937.948 1159828.929 0, 1188201.01 1159839.998 0, 1188464.07 1159851.083 0, 1188727.13 1159862.183 0, 1188990.19 1159873.299 0, 1189253.248 1159884.431 0, 1189515.064 1159895.525 0, 1189751.509 1154319.411 0,
+ 1189987.955 1148743.266 0))
+
+POLYGON ((1202141.064 1160448.776 0, 1201879.279 1160436.942 0, 1201616.253 1160425.067 0, 1201353.226 1160413.208 0, 1201090.198 1160401.365 0, 1200827.17 1160389.537 0, 1200564.141 1160377.724 0, 1200301.111 1160365.927 0, 1200038.081 1160354.146 0, 1199775.05 1160342.38 0,
+ 1199512.018 1160330.629 0, 1199248.986 1160318.894 0, 1198985.952 1160307.174 0, 1198722.919 1160295.47 0, 1198459.884 1160283.781 0, 1198196.849 1160272.108 0, 1197933.813 1160260.45 0, 1197670.776 1160248.808 0, 1197407.739 1160237.181 0, 1197144.701 1160225.57 0,
+ 1196881.662 1160213.974 0, 1196618.623 1160202.394 0, 1196355.583 1160190.829 0, 1196092.542 1160179.28 0, 1195828.259 1160167.691 0, 1195566.459 1160156.227 0, 1195303.416 1160144.724 0, 1195040.373 1160133.237 0, 1194777.329 1160121.765 0, 1194514.284 1160110.309 0,
+ 1194251.238 1160098.868 0, 1193988.192 1160087.442 0, 1193725.146 1160076.032 0, 1193462.098 1160064.638 0, 1193199.05 1160053.259 0, 1192936.001 1160041.895 0, 1192672.952 1160030.547 0, 1192409.902 1160019.214 0, 1192146.851 1160007.897 0, 1191883.799 1159996.596 0,
+ 1191620.747 1159985.309 0, 1191357.694 1159974.039 0, 1191094.641 1159962.783 0, 1190831.587 1159951.544 0, 1190568.532 1159940.32 0, 1190305.477 1159929.111 0, 1190042.421 1159917.918 0, 1189779.364 1159906.74 0, 1189515.064 1159895.525 0, 1189278.621 1165471.603 0,
+ 1189042.179 1171047.641 0, 1189305.819 1171058.828 0, 1189568.22 1171069.978 0, 1189830.619 1171081.143 0, 1190093.018 1171092.324 0, 1190355.417 1171103.52 0, 1190617.815 1171114.732 0, 1190880.212 1171125.959 0, 1191142.608 1171137.202 0, 1191405.004 1171148.46 0,
+ 1191667.399 1171159.733 0, 1191929.793 1171171.022 0, 1192192.187 1171182.326 0, 1192454.58 1171193.646 0, 1192716.973 1171204.981 0, 1192979.364 1171216.332 0, 1193241.755 1171227.698 0, 1193504.146 1171239.079 0, 1193766.536 1171250.476 0, 1194028.925 1171261.889 0,
+ 1194291.313 1171273.317 0, 1194553.701 1171284.76 0, 1194816.088 1171296.219 0, 1195078.474 1171307.693 0, 1195339.622 1171319.128 0, 1195603.245 1171330.688 0, 1195865.629 1171342.208 0, 1196128.013 1171353.744 0, 1196390.396 1171365.296 0, 1196652.778 1171376.863 0,
+ 1196915.16 1171388.445 0, 1197177.541 1171400.043 0, 1197439.921 1171411.656 0, 1197702.301 1171423.285 0, 1197964.68 1171434.929 0, 1198227.058 1171446.588 0, 1198489.435 1171458.263 0, 1198751.812 1171469.954 0, 1199014.188 1171481.659 0, 1199276.564 1171493.381 0,
+ 1199538.938 1171505.117 0, 1199801.313 1171516.87 0, 1200063.686 1171528.637 0, 1200326.059 1171540.42 0, 1200588.431 1171552.219 0, 1200850.802 1171564.033 0, 1201113.173 1171575.862 0, 1201375.542 1171587.707 0, 1201636.674 1171599.511 0, 1201888.868 1166024.164 0,
+ 1202141.064 1160448.776 0))
+
+POLYGON ((1214229.56 1172186.961 0, 1213968.461 1172174.419 0, 1213706.125 1172161.833 0, 1213443.789 1172149.263 0, 1213181.452 1172136.707 0, 1212919.115 1172124.168 0, 1212656.776 1172111.643 0, 1212394.437 1172099.135 0, 1212132.098 1172086.641 0, 1211869.757 1172074.163 0,
+ 1211607.416 1172061.701 0, 1211345.074 1172049.254 0, 1211082.731 1172036.822 0, 1210820.387 1172024.406 0, 1210558.043 1172012.005 0, 1210295.698 1171999.62 0, 1210033.353 1171987.25 0, 1209771.006 1171974.895 0, 1209508.659 1171962.557 0, 1209246.311 1171950.233 0,
+ 1208983.963 1171937.925 0, 1208721.613 1171925.632 0, 1208459.263 1171913.355 0, 1208196.913 1171901.093 0, 1207933.325 1171888.789 0, 1207672.209 1171876.616 0, 1207409.856 1171864.401 0, 1207147.502 1171852.201 0, 1206885.148 1171840.016 0, 1206622.793 1171827.847 0,
+ 1206360.437 1171815.693 0, 1206098.081 1171803.555 0, 1205835.723 1171791.432 0, 1205573.365 1171779.325 0, 1205311.007 1171767.233 0, 1205048.647 1171755.156 0, 1204786.287 1171743.095 0, 1204523.927 1171731.05 0, 1204261.565 1171719.02 0, 1203999.203 1171707.005 0,
+ 1203736.84 1171695.006 0, 1203474.476 1171683.022 0, 1203212.112 1171671.053 0, 1202949.747 1171659.1 0, 1202687.381 1171647.163 0, 1202425.015 1171635.241 0, 1202162.648 1171623.334 0, 1201900.28 1171611.443 0, 1201636.674 1171599.511 0, 1201384.482 1177174.814 0,
+ 1201132.293 1182750.068 0, 1201395.239 1182761.969 0, 1201656.951 1182773.831 0, 1201918.661 1182785.708 0, 1202180.371 1182797.6 0, 1202442.081 1182809.508 0, 1202703.79 1182821.431 0, 1202965.498 1182833.369 0, 1203227.205 1182845.323 0, 1203488.912 1182857.292 0,
+ 1203750.617 1182869.277 0, 1204012.323 1182881.277 0, 1204274.027 1182893.292 0, 1204535.731 1182905.323 0, 1204797.434 1182917.369 0, 1205059.136 1182929.431 0, 1205320.838 1182941.508 0, 1205582.539 1182953.601 0, 1205844.239 1182965.709 0, 1206105.939 1182977.832 0,
+ 1206367.637 1182989.971 0, 1206629.336 1183002.125 0, 1206891.033 1183014.294 0, 1207152.73 1183026.479 0, 1207413.192 1183038.622 0, 1207676.121 1183050.895 0, 1207937.815 1183063.126 0, 1208199.509 1183075.373 0, 1208461.202 1183087.635 0, 1208722.894 1183099.912 0,
+ 1208984.586 1183112.205 0, 1209246.277 1183124.513 0, 1209507.967 1183136.836 0, 1209769.657 1183149.175 0, 1210031.345 1183161.529 0, 1210293.033 1183173.899 0, 1210554.72 1183186.284 0, 1210816.407 1183198.685 0, 1211078.093 1183211.101 0, 1211339.778 1183223.532 0,
+ 1211601.462 1183235.979 0, 1211863.146 1183248.441 0, 1212124.829 1183260.919 0, 1212386.511 1183273.412 0, 1212648.192 1183285.92 0, 1212909.873 1183298.444 0, 1213171.553 1183310.983 0, 1213433.232 1183323.537 0, 1213693.678 1183336.048 0, 1213961.618 1177761.529 0,
+ 1214229.56 1172186.961 0))
+
+POLYGON ((1226253.359 1183957.514 0, 1225992.946 1183944.268 0, 1225731.304 1183930.974 0, 1225469.66 1183917.696 0, 1225208.016 1183904.433 0, 1224946.371 1183891.185 0, 1224684.725 1183877.953 0, 1224423.079 1183864.736 0, 1224161.431 1183851.535 0, 1223899.783 1183838.349 0,
+ 1223638.134 1183825.178 0, 1223376.485 1183812.023 0, 1223114.834 1183798.883 0, 1222853.183 1183785.759 0, 1222591.531 1183772.65 0, 1222329.878 1183759.556 0, 1222068.225 1183746.478 0, 1221806.57 1183733.415 0, 1221544.915 1183720.368 0, 1221283.259 1183707.336 0,
+ 1221021.603 1183694.319 0, 1220759.945 1183681.318 0, 1220498.287 1183668.332 0, 1220236.628 1183655.362 0, 1219973.738 1183642.346 0, 1219713.308 1183629.467 0, 1219451.647 1183616.543 0, 1219189.985 1183603.634 0, 1218928.323 1183590.741 0, 1218666.659 1183577.863 0,
+ 1218404.995 1183565 0, 1218143.33 1183552.153 0, 1217881.664 1183539.321 0, 1217619.998 1183526.505 0, 1217358.33 1183513.704 0, 1217096.662 1183500.918 0, 1216834.994 1183488.148 0, 1216573.324 1183475.393 0, 1216311.654 1183462.654 0, 1216049.983 1183449.93 0,
+ 1215788.311 1183437.221 0, 1215526.639 1183424.528 0, 1215264.965 1183411.85 0, 1215003.291 1183399.188 0, 1214741.617 1183386.541 0, 1214479.941 1183373.91 0, 1214218.265 1183361.293 0, 1213956.588 1183348.693 0, 1213693.678 1183336.048 0, 1213425.741 1188910.513 0,
+ 1213157.807 1194484.918 0, 1213420.057 1194497.531 0, 1213681.078 1194510.1 0, 1213942.098 1194522.685 0, 1214203.117 1194535.285 0, 1214464.136 1194547.9 0, 1214725.154 1194560.531 0, 1214986.171 1194573.177 0, 1215247.187 1194585.838 0, 1215508.202 1194598.515 0,
+ 1215769.217 1194611.207 0, 1216030.231 1194623.914 0, 1216291.245 1194636.637 0, 1216552.257 1194649.375 0, 1216813.269 1194662.129 0, 1217074.28 1194674.898 0, 1217335.29 1194687.682 0, 1217596.3 1194700.481 0, 1217857.309 1194713.296 0, 1218118.317 1194726.127 0,
+ 1218379.324 1194738.972 0, 1218640.331 1194751.833 0, 1218901.336 1194764.71 0, 1219162.342 1194777.602 0, 1219422.118 1194790.448 0, 1219684.349 1194803.431 0, 1219945.352 1194816.369 0, 1220206.354 1194829.322 0, 1220467.355 1194842.291 0, 1220728.356 1194855.275 0,
+ 1220989.355 1194868.274 0, 1221250.354 1194881.289 0, 1221511.352 1194894.319 0, 1221772.35 1194907.364 0, 1222033.347 1194920.425 0, 1222294.342 1194933.501 0, 1222555.337 1194946.593 0, 1222816.332 1194959.7 0, 1223077.325 1194972.822 0, 1223338.318 1194985.959 0,
+ 1223599.31 1194999.112 0, 1223860.301 1195012.281 0, 1224121.292 1195025.464 0, 1224382.281 1195038.663 0, 1224643.27 1195051.878 0, 1224904.258 1195065.107 0, 1225165.246 1195078.352 0, 1225426.232 1195091.613 0, 1225685.991 1195104.826 0, 1225969.673 1189531.2 0,
+ 1226253.359 1183957.514 0))
+
+POLYGON ((1238212.375 1195760.126 0, 1237952.652 1195746.179 0, 1237691.704 1195732.181 0, 1237430.755 1195718.199 0, 1237169.805 1195704.232 0, 1236908.855 1195690.28 0, 1236647.904 1195676.344 0, 1236386.951 1195662.423 0, 1236125.998 1195648.517 0, 1235865.045 1195634.627 0,
+ 1235604.09 1195620.752 0, 1235343.135 1195606.893 0, 1235082.178 1195593.048 0, 1234821.221 1195579.22 0, 1234560.263 1195565.406 0, 1234299.305 1195551.608 0, 1234038.345 1195537.825 0, 1233777.385 1195524.058 0, 1233516.424 1195510.306 0, 1233255.462 1195496.569 0,
+ 1232994.499 1195482.848 0, 1232733.536 1195469.142 0, 1232472.571 1195455.452 0, 1232211.606 1195441.776 0, 1231949.415 1195428.052 0, 1231689.673 1195414.472 0, 1231428.706 1195400.843 0, 1231167.737 1195387.229 0, 1230906.768 1195373.631 0, 1230645.798 1195360.048 0,
+ 1230384.827 1195346.48 0, 1230123.856 1195332.928 0, 1229862.884 1195319.391 0, 1229601.91 1195305.869 0, 1229340.936 1195292.363 0, 1229079.962 1195278.872 0, 1228818.986 1195265.397 0, 1228558.01 1195251.937 0, 1228297.033 1195238.492 0, 1228036.055 1195225.062 0,
+ 1227775.076 1195211.648 0, 1227514.097 1195198.25 0, 1227253.116 1195184.866 0, 1226992.135 1195171.498 0, 1226731.153 1195158.146 0, 1226470.171 1195144.808 0, 1226209.187 1195131.486 0, 1225948.203 1195118.18 0, 1225685.991 1195104.826 0, 1225402.313 1200678.389 0,
+ 1225118.637 1206251.884 0, 1225380.19 1206265.204 0, 1225640.518 1206278.478 0, 1225900.845 1206291.766 0, 1226161.172 1206305.07 0, 1226421.498 1206318.389 0, 1226681.822 1206331.723 0, 1226942.147 1206345.073 0, 1227202.47 1206358.438 0, 1227462.793 1206371.818 0,
+ 1227723.115 1206385.214 0, 1227983.436 1206398.625 0, 1228243.756 1206412.051 0, 1228504.075 1206425.493 0, 1228764.394 1206438.95 0, 1229024.712 1206452.422 0, 1229285.029 1206465.91 0, 1229545.345 1206479.413 0, 1229805.661 1206492.931 0, 1230065.976 1206506.464 0,
+ 1230326.289 1206520.013 0, 1230586.603 1206533.577 0, 1230846.915 1206547.157 0, 1231107.226 1206560.752 0, 1231366.315 1206574.298 0, 1231627.847 1206587.987 0, 1231888.156 1206601.628 0, 1232148.464 1206615.284 0, 1232408.772 1206628.956 0, 1232669.079 1206642.643 0,
+ 1232929.385 1206656.345 0, 1233189.69 1206670.062 0, 1233449.994 1206683.795 0, 1233710.297 1206697.543 0, 1233970.6 1206711.306 0, 1234230.902 1206725.085 0, 1234491.203 1206738.879 0, 1234751.503 1206752.688 0, 1235011.803 1206766.513 0, 1235272.101 1206780.353 0,
+ 1235532.399 1206794.208 0, 1235792.696 1206808.079 0, 1236052.992 1206821.965 0, 1236313.287 1206835.866 0, 1236573.582 1206849.783 0, 1236833.876 1206863.715 0, 1237094.168 1206877.662 0, 1237354.461 1206891.625 0, 1237613.53 1206905.537 0, 1237912.951 1201332.865 0,
+ 1238212.375 1195760.126 0))
+
+POLYGON ((1250106.527 1207594.487 0, 1249847.495 1207579.843 0, 1249587.244 1207565.145 0, 1249326.991 1207550.462 0, 1249066.738 1207535.795 0, 1248806.484 1207521.143 0, 1248546.229 1207506.507 0, 1248285.973 1207491.885 0, 1248025.716 1207477.279 0, 1247765.459 1207462.689 0,
+ 1247505.2 1207448.113 0, 1247244.941 1207433.553 0, 1246984.681 1207419.009 0, 1246724.42 1207404.479 0, 1246464.158 1207389.965 0, 1246203.895 1207375.467 0, 1245943.632 1207360.983 0, 1245683.367 1207346.515 0, 1245423.102 1207332.062 0, 1245162.836 1207317.625 0,
+ 1244902.569 1207303.203 0, 1244642.301 1207288.796 0, 1244382.032 1207274.404 0, 1244121.763 1207260.028 0, 1243860.272 1207245.6 0, 1243601.221 1207231.322 0, 1243340.949 1207216.992 0, 1243080.676 1207202.677 0, 1242820.402 1207188.377 0, 1242560.128 1207174.093 0,
+ 1242299.852 1207159.824 0, 1242039.576 1207145.57 0, 1241779.299 1207131.332 0, 1241519.021 1207117.109 0, 1241258.742 1207102.901 0, 1240998.463 1207088.709 0, 1240738.182 1207074.532 0, 1240477.901 1207060.37 0, 1240217.619 1207046.224 0, 1239957.336 1207032.093 0,
+ 1239697.052 1207017.977 0, 1239436.767 1207003.877 0, 1239176.482 1206989.791 0, 1238916.196 1206975.722 0, 1238655.908 1206961.667 0, 1238395.621 1206947.628 0, 1238135.332 1206933.604 0, 1237875.042 1206919.596 0, 1237613.53 1206905.537 0, 1237314.114 1212478.135 0,
+ 1237014.702 1218050.656 0, 1237275.554 1218064.68 0, 1237535.188 1218078.653 0, 1237794.821 1218092.641 0, 1238054.453 1218106.645 0, 1238314.084 1218120.664 0, 1238573.714 1218134.699 0, 1238833.344 1218148.748 0, 1239092.972 1218162.813 0, 1239352.6 1218176.893 0,
+ 1239612.227 1218190.989 0, 1239871.853 1218205.099 0, 1240131.479 1218219.225 0, 1240391.103 1218233.367 0, 1240650.727 1218247.523 0, 1240910.35 1218261.695 0, 1241169.972 1218275.882 0, 1241429.593 1218290.085 0, 1241689.213 1218304.302 0, 1241948.833 1218318.535 0,
+ 1242208.451 1218332.784 0, 1242468.069 1218347.047 0, 1242727.686 1218361.326 0, 1242987.302 1218375.62 0, 1243245.7 1218389.862 0, 1243506.532 1218404.254 0, 1243766.146 1218418.594 0, 1244025.758 1218432.949 0, 1244285.37 1218447.32 0, 1244544.981 1218461.706 0,
+ 1244804.592 1218476.107 0, 1245064.201 1218490.523 0, 1245323.809 1218504.955 0, 1245583.417 1218519.402 0, 1245843.024 1218533.864 0, 1246102.63 1218548.341 0, 1246362.235 1218562.834 0, 1246621.839 1218577.342 0, 1246881.443 1218591.865 0, 1247141.045 1218606.404 0,
+ 1247400.647 1218620.958 0, 1247660.248 1218635.527 0, 1247919.848 1218650.112 0, 1248179.447 1218664.711 0, 1248439.045 1218679.326 0, 1248698.643 1218693.956 0, 1248958.239 1218708.602 0, 1249217.835 1218723.263 0, 1249476.214 1218737.87 0, 1249791.368 1213166.217 0,
+ 1250106.527 1207594.487 0))
+
+POLYGON ((1261935.734 1219460.287 0, 1261677.396 1219444.95 0, 1261417.843 1219429.556 0, 1261158.289 1219414.177 0, 1260898.734 1219398.813 0, 1260639.178 1219383.465 0, 1260379.621 1219368.132 0, 1260120.063 1219352.814 0, 1259860.504 1219337.512 0, 1259600.945 1219322.224 0,
+ 1259341.384 1219306.952 0, 1259081.823 1219291.696 0, 1258822.261 1219276.454 0, 1258562.698 1219261.228 0, 1258303.134 1219246.017 0, 1258043.569 1219230.822 0, 1257784.003 1219215.642 0, 1257524.436 1219200.476 0, 1257264.869 1219185.327 0, 1257005.3 1219170.192 0,
+ 1256745.731 1219155.073 0, 1256486.16 1219139.969 0, 1256226.589 1219124.881 0, 1255967.017 1219109.807 0, 1255706.229 1219094.679 0, 1255447.87 1219079.706 0, 1255188.296 1219064.679 0, 1254928.72 1219049.667 0, 1254669.144 1219034.67 0, 1254409.566 1219019.688 0,
+ 1254149.988 1219004.722 0, 1253890.409 1218989.77 0, 1253630.829 1218974.835 0, 1253371.248 1218959.914 0, 1253111.666 1218945.009 0, 1252852.083 1218930.119 0, 1252592.5 1218915.244 0, 1252332.916 1218900.385 0, 1252073.33 1218885.54 0, 1251813.744 1218870.711 0,
+ 1251554.157 1218855.898 0, 1251294.569 1218841.1 0, 1251034.981 1218826.316 0, 1250775.391 1218811.549 0, 1250515.8 1218796.796 0, 1250256.209 1218782.059 0, 1249996.617 1218767.337 0, 1249737.024 1218752.63 0, 1249476.214 1218737.87 0, 1249161.064 1224309.441 0,
+ 1248845.919 1229880.924 0, 1249106.07 1229895.647 0, 1249365.007 1229910.317 0, 1249623.944 1229925.001 0, 1249882.879 1229939.701 0, 1250141.814 1229954.417 0, 1250400.748 1229969.147 0, 1250659.681 1229983.893 0, 1250918.613 1229998.654 0, 1251177.544 1230013.43 0,
+ 1251436.474 1230028.221 0, 1251695.403 1230043.028 0, 1251954.332 1230057.85 0, 1252213.26 1230072.687 0, 1252472.187 1230087.539 0, 1252731.112 1230102.407 0, 1252990.038 1230117.29 0, 1253248.962 1230132.188 0, 1253507.885 1230147.101 0, 1253766.807 1230162.03 0,
+ 1254025.729 1230176.974 0, 1254284.65 1230191.933 0, 1254543.569 1230206.907 0, 1254802.488 1230221.897 0, 1255060.194 1230236.831 0, 1255320.324 1230251.922 0, 1255579.24 1230266.957 0, 1255838.155 1230282.007 0, 1256097.07 1230297.073 0, 1256355.983 1230312.154 0,
+ 1256614.896 1230327.25 0, 1256873.808 1230342.362 0, 1257132.719 1230357.488 0, 1257391.629 1230372.63 0, 1257650.538 1230387.788 0, 1257909.446 1230402.96 0, 1258168.354 1230418.148 0, 1258427.26 1230433.351 0, 1258686.166 1230448.569 0, 1258945.07 1230463.802 0,
+ 1259203.974 1230479.051 0, 1259462.877 1230494.315 0, 1259721.779 1230509.594 0, 1259980.68 1230524.888 0, 1260239.58 1230540.198 0, 1260498.479 1230555.522 0, 1260757.378 1230570.862 0, 1261016.275 1230586.218 0, 1261273.961 1230601.516 0, 1261604.845 1225030.945 0,
+ 1261935.734 1219460.287 0))
+
+POLYGON ((1273699.918 1231357.217 0, 1273442.274 1231341.19 0, 1273183.421 1231325.104 0, 1272924.567 1231309.032 0, 1272665.712 1231292.976 0, 1272406.856 1231276.935 0, 1272148 1231260.909 0, 1271889.142 1231244.899 0, 1271630.283 1231228.904 0, 1271371.423 1231212.924 0,
+ 1271112.563 1231196.959 0, 1270853.701 1231181.009 0, 1270594.839 1231165.075 0, 1270335.975 1231149.156 0, 1270077.111 1231133.252 0, 1269818.246 1231117.364 0, 1269559.379 1231101.49 0, 1269300.512 1231085.632 0, 1269041.644 1231069.789 0, 1268782.775 1231053.962 0,
+ 1268523.905 1231038.149 0, 1268265.034 1231022.352 0, 1268006.162 1231006.57 0, 1267747.29 1230990.803 0, 1267487.206 1230974.978 0, 1267229.541 1230959.316 0, 1266970.666 1230943.595 0, 1266711.789 1230927.889 0, 1266452.912 1230912.198 0, 1266194.034 1230896.523 0,
+ 1265935.155 1230880.863 0, 1265676.274 1230865.218 0, 1265417.393 1230849.589 0, 1265158.511 1230833.975 0, 1264899.628 1230818.375 0, 1264640.745 1230802.792 0, 1264381.86 1230787.223 0, 1264122.974 1230771.67 0, 1263864.088 1230756.131 0, 1263605.2 1230740.609 0,
+ 1263346.312 1230725.101 0, 1263087.422 1230709.608 0, 1262828.532 1230694.131 0, 1262569.641 1230678.669 0, 1262310.749 1230663.223 0, 1262051.856 1230647.791 0, 1261792.962 1230632.375 0, 1261534.068 1230616.974 0, 1261273.961 1230601.516 0, 1260943.082 1236171.995 0,
+ 1260612.209 1241742.378 0, 1260871.657 1241757.796 0, 1261129.896 1241773.158 0, 1261388.134 1241788.536 0, 1261646.372 1241803.928 0, 1261904.608 1241819.336 0, 1262162.843 1241834.758 0, 1262421.078 1241850.196 0, 1262679.311 1241865.65 0, 1262937.544 1241881.118 0,
+ 1263195.776 1241896.602 0, 1263454.007 1241912.1 0, 1263712.237 1241927.614 0, 1263970.466 1241943.143 0, 1264228.694 1241958.688 0, 1264486.921 1241974.247 0, 1264745.147 1241989.822 0, 1265003.373 1242005.412 0, 1265261.597 1242021.017 0, 1265519.821 1242036.638 0,
+ 1265778.043 1242052.273 0, 1266036.265 1242067.924 0, 1266294.486 1242083.59 0, 1266552.706 1242099.271 0, 1266809.718 1242114.894 0, 1267069.143 1242130.679 0, 1267327.36 1242146.406 0, 1267585.576 1242162.148 0, 1267843.791 1242177.905 0, 1268102.005 1242193.677 0,
+ 1268360.219 1242209.465 0, 1268618.431 1242225.268 0, 1268876.643 1242241.086 0, 1269134.853 1242256.919 0, 1269393.063 1242272.767 0, 1269651.272 1242288.631 0, 1269909.479 1242304.509 0, 1270167.686 1242320.403 0, 1270425.892 1242336.312 0, 1270684.097 1242352.237 0,
+ 1270942.301 1242368.176 0, 1271200.504 1242384.131 0, 1271458.706 1242400.101 0, 1271716.908 1242416.086 0, 1271975.108 1242432.086 0, 1272233.307 1242448.102 0, 1272491.506 1242464.133 0, 1272749.703 1242480.178 0, 1273006.694 1242496.165 0, 1273353.303 1236926.739 0,
+ 1273699.918 1231357.217 0))
+
+POLYGON ((1285398.999 1243284.965 0, 1285142.053 1243268.253 0, 1284883.901 1243251.477 0, 1284625.749 1243234.717 0, 1284367.596 1243217.972 0, 1284109.442 1243201.243 0, 1283851.287 1243184.528 0, 1283593.131 1243167.829 0, 1283334.974 1243151.145 0, 1283076.816 1243134.476 0,
+ 1282818.657 1243117.822 0, 1282560.497 1243101.183 0, 1282302.337 1243084.56 0, 1282044.175 1243067.952 0, 1281786.012 1243051.359 0, 1281527.848 1243034.781 0, 1281269.683 1243018.219 0, 1281011.517 1243001.671 0, 1280753.351 1242985.139 0, 1280495.183 1242968.622 0,
+ 1280237.014 1242952.12 0, 1279978.844 1242935.634 0, 1279720.674 1242919.162 0, 1279462.502 1242902.706 0, 1279203.125 1242886.188 0, 1278946.156 1242869.839 0, 1278687.982 1242853.429 0, 1278429.806 1242837.033 0, 1278171.63 1242820.653 0, 1277913.452 1242804.288 0,
+ 1277655.274 1242787.938 0, 1277397.095 1242771.603 0, 1277138.914 1242755.284 0, 1276880.733 1242738.98 0, 1276622.551 1242722.691 0, 1276364.368 1242706.417 0, 1276106.183 1242690.158 0, 1275847.998 1242673.915 0, 1275589.812 1242657.686 0, 1275331.625 1242641.473 0,
+ 1275073.437 1242625.275 0, 1274815.248 1242609.093 0, 1274557.059 1242592.925 0, 1274298.868 1242576.773 0, 1274040.676 1242560.636 0, 1273782.483 1242544.514 0, 1273524.29 1242528.407 0, 1273266.095 1242512.316 0, 1273006.694 1242496.165 0, 1272660.091 1248065.489 0,
+ 1272313.495 1253634.707 0, 1272572.238 1253650.817 0, 1272829.777 1253666.867 0, 1273087.315 1253682.933 0, 1273344.852 1253699.014 0, 1273602.388 1253715.11 0, 1273859.923 1253731.222 0, 1274117.458 1253747.348 0, 1274374.991 1253763.49 0, 1274632.523 1253779.646 0,
+ 1274890.055 1253795.818 0, 1275147.585 1253812.005 0, 1275405.115 1253828.208 0, 1275662.643 1253844.425 0, 1275920.171 1253860.657 0, 1276177.698 1253876.905 0, 1276435.223 1253893.168 0, 1276692.748 1253909.446 0, 1276950.272 1253925.739 0, 1277207.795 1253942.048 0,
+ 1277465.317 1253958.371 0, 1277722.837 1253974.71 0, 1277980.357 1253991.063 0, 1278237.876 1254007.432 0, 1278494.193 1254023.74 0, 1278752.911 1254040.216 0, 1279010.428 1254056.63 0, 1279267.943 1254073.06 0, 1279525.457 1254089.504 0, 1279782.97 1254105.964 0,
+ 1280040.482 1254122.439 0, 1280297.993 1254138.93 0, 1280555.504 1254155.435 0, 1280813.013 1254171.956 0, 1281070.521 1254188.491 0, 1281328.029 1254205.042 0, 1281585.535 1254221.608 0, 1281843.041 1254238.189 0, 1282100.545 1254254.785 0, 1282358.048 1254271.397 0,
+ 1282615.551 1254288.024 0, 1282873.052 1254304.665 0, 1283130.553 1254321.322 0, 1283388.052 1254337.994 0, 1283645.551 1254354.682 0, 1283903.049 1254371.384 0, 1284160.545 1254388.101 0, 1284418.041 1254404.834 0, 1284674.335 1254421.504 0, 1285036.664 1248853.287 0,
+ 1285398.999 1243284.965 0))
+
+POLYGON ((1297032.903 1255243.22 0, 1296776.654 1255225.826 0, 1296519.207 1255208.366 0, 1296261.759 1255190.921 0, 1296004.309 1255173.491 0, 1295746.859 1255156.076 0, 1295489.408 1255138.677 0, 1295231.955 1255121.293 0, 1294974.502 1255103.923 0, 1294717.047 1255086.569 0,
+ 1294459.592 1255069.23 0, 1294202.135 1255051.907 0, 1293944.678 1255034.598 0, 1293687.219 1255017.305 0, 1293429.76 1255000.026 0, 1293172.299 1254982.763 0, 1292914.837 1254965.515 0, 1292657.375 1254948.283 0, 1292399.911 1254931.065 0, 1292142.447 1254913.862 0,
+ 1291884.981 1254896.675 0, 1291627.514 1254879.503 0, 1291370.047 1254862.346 0, 1291112.578 1254845.204 0, 1290853.909 1254827.997 0, 1290597.637 1254810.966 0, 1290340.166 1254793.869 0, 1290082.693 1254776.788 0, 1289825.219 1254759.722 0, 1289567.745 1254742.671 0,
+ 1289310.269 1254725.635 0, 1289052.792 1254708.614 0, 1288795.314 1254691.609 0, 1288537.836 1254674.619 0, 1288280.356 1254657.643 0, 1288022.875 1254640.683 0, 1287765.394 1254623.738 0, 1287507.911 1254606.809 0, 1287250.427 1254589.894 0, 1286992.942 1254572.995 0,
+ 1286735.457 1254556.11 0, 1286477.97 1254539.241 0, 1286220.482 1254522.387 0, 1285962.994 1254505.549 0, 1285705.504 1254488.725 0, 1285448.013 1254471.917 0, 1285190.522 1254455.123 0, 1284933.029 1254438.345 0, 1284674.335 1254421.504 0, 1284312.014 1259989.609 0,
+ 1283949.7 1265557.599 0, 1284207.735 1265574.397 0, 1284464.572 1265591.132 0, 1284721.409 1265607.883 0, 1284978.244 1265624.649 0, 1285235.078 1265641.43 0, 1285491.911 1265658.225 0, 1285748.744 1265675.037 0, 1286005.575 1265691.863 0, 1286262.405 1265708.704 0,
+ 1286519.234 1265725.56 0, 1286776.063 1265742.432 0, 1287032.89 1265759.318 0, 1287289.716 1265776.22 0, 1287546.542 1265793.137 0, 1287803.366 1265810.069 0, 1288060.189 1265827.016 0, 1288317.012 1265843.978 0, 1288573.833 1265860.956 0, 1288830.653 1265877.948 0,
+ 1289087.473 1265894.956 0, 1289344.291 1265911.978 0, 1289601.108 1265929.016 0, 1289857.924 1265946.069 0, 1290113.544 1265963.058 0, 1290371.554 1265980.22 0, 1290628.367 1265997.318 0, 1290885.18 1266014.432 0, 1291141.991 1266031.56 0, 1291398.801 1266048.704 0,
+ 1291655.611 1266065.863 0, 1291912.419 1266083.036 0, 1292169.226 1266100.225 0, 1292426.032 1266117.429 0, 1292682.837 1266134.649 0, 1292939.642 1266151.883 0, 1293196.445 1266169.132 0, 1293453.247 1266186.397 0, 1293710.048 1266203.676 0, 1293966.848 1266220.971 0,
+ 1294223.647 1266238.281 0, 1294480.446 1266255.606 0, 1294737.243 1266272.946 0, 1294994.039 1266290.301 0, 1295250.834 1266307.672 0, 1295507.628 1266325.057 0, 1295764.421 1266342.458 0, 1296021.213 1266359.873 0, 1296276.809 1266377.223 0, 1296654.852 1260810.279 0,
+ 1297032.903 1255243.22 0))
+
+POLYGON ((1308601.553 1267231.67 0, 1308346.005 1267213.598 0, 1308089.263 1267195.457 0, 1307832.52 1267177.331 0, 1307575.777 1267159.22 0, 1307319.032 1267141.125 0, 1307062.286 1267123.044 0, 1306805.539 1267104.979 0, 1306548.79 1267086.928 0, 1306292.041 1267068.893 0,
+ 1306035.291 1267050.873 0, 1305778.54 1267032.868 0, 1305521.787 1267014.878 0, 1305265.034 1266996.903 0, 1305008.279 1266978.943 0, 1304751.524 1266960.998 0, 1304494.767 1266943.069 0, 1304238.01 1266925.155 0, 1303981.251 1266907.255 0, 1303724.491 1266889.371 0,
+ 1303467.73 1266871.502 0, 1303210.968 1266853.648 0, 1302954.205 1266835.809 0, 1302697.441 1266817.985 0, 1302439.482 1266800.094 0, 1302183.91 1266782.383 0, 1301927.143 1266764.605 0, 1301670.375 1266746.842 0, 1301413.606 1266729.094 0, 1301156.836 1266711.36 0,
+ 1300900.064 1266693.643 0, 1300643.292 1266675.94 0, 1300386.519 1266658.252 0, 1300129.744 1266640.579 0, 1299872.969 1266622.922 0, 1299616.192 1266605.28 0, 1299359.415 1266587.652 0, 1299102.636 1266570.04 0, 1298845.857 1266552.443 0, 1298589.076 1266534.861 0,
+ 1298332.294 1266517.294 0, 1298075.512 1266499.743 0, 1297818.728 1266482.206 0, 1297561.943 1266464.685 0, 1297305.157 1266447.178 0, 1297048.37 1266429.687 0, 1296791.583 1266412.211 0, 1296534.794 1266394.75 0, 1296276.809 1266377.223 0, 1295898.774 1271944.046 0,
+ 1295520.747 1277510.743 0, 1295778.074 1277528.225 0, 1296034.208 1277545.642 0, 1296290.34 1277563.073 0, 1296546.472 1277580.52 0, 1296802.602 1277597.981 0, 1297058.732 1277615.458 0, 1297314.86 1277632.95 0, 1297570.988 1277650.457 0, 1297827.114 1277667.979 0,
+ 1298083.24 1277685.516 0, 1298339.364 1277703.068 0, 1298595.487 1277720.635 0, 1298851.609 1277738.217 0, 1299107.731 1277755.815 0, 1299363.851 1277773.427 0, 1299619.97 1277791.055 0, 1299876.088 1277808.697 0, 1300132.205 1277826.355 0, 1300388.321 1277844.028 0,
+ 1300644.436 1277861.715 0, 1300900.55 1277879.418 0, 1301156.663 1277897.136 0, 1301412.775 1277914.869 0, 1301667.695 1277932.535 0, 1301924.996 1277950.381 0, 1302181.104 1277968.159 0, 1302437.212 1277985.952 0, 1302693.319 1278003.761 0, 1302949.424 1278021.584 0,
+ 1303205.529 1278039.423 0, 1303461.632 1278057.276 0, 1303717.735 1278075.145 0, 1303973.836 1278093.029 0, 1304229.937 1278110.927 0, 1304486.036 1278128.841 0, 1304742.134 1278146.77 0, 1304998.231 1278164.714 0, 1305254.327 1278182.673 0, 1305510.422 1278200.648 0,
+ 1305766.516 1278218.637 0, 1306022.609 1278236.641 0, 1306278.701 1278254.661 0, 1306534.792 1278272.695 0, 1306790.882 1278290.745 0, 1307046.971 1278308.809 0, 1307303.058 1278326.889 0, 1307559.145 1278344.984 0, 1307814.04 1278363.01 0, 1308207.792 1272797.403 0,
+ 1308601.553 1267231.67 0))
+
+POLYGON ((1320104.877 1279250.004 0, 1319850.031 1279231.258 0, 1319593.996 1279212.44 0, 1319337.961 1279193.637 0, 1319081.924 1279174.848 0, 1318825.887 1279156.075 0, 1318569.848 1279137.318 0, 1318313.808 1279118.575 0, 1318057.767 1279099.847 0, 1317801.725 1279081.134 0,
+ 1317545.681 1279062.437 0, 1317289.637 1279043.754 0, 1317033.591 1279025.086 0, 1316777.545 1279006.434 0, 1316521.497 1278987.797 0, 1316265.448 1278969.174 0, 1316009.399 1278950.567 0, 1315753.348 1278931.975 0, 1315497.296 1278913.398 0, 1315241.243 1278894.836 0,
+ 1314985.188 1278876.289 0, 1314729.133 1278857.757 0, 1314473.077 1278839.24 0, 1314217.019 1278820.739 0, 1313959.772 1278802.166 0, 1313704.901 1278783.78 0, 1313448.84 1278765.324 0, 1313192.778 1278746.882 0, 1312936.715 1278728.456 0, 1312680.651 1278710.045 0,
+ 1312424.586 1278691.649 0, 1312168.52 1278673.267 0, 1311912.453 1278654.901 0, 1311656.384 1278636.55 0, 1311400.315 1278618.214 0, 1311144.245 1278599.893 0, 1310888.173 1278581.588 0, 1310632.1 1278563.297 0, 1310376.027 1278545.021 0, 1310119.952 1278526.761 0,
+ 1309863.876 1278508.515 0, 1309607.799 1278490.285 0, 1309351.721 1278472.069 0, 1309095.642 1278453.869 0, 1308839.562 1278435.684 0, 1308583.48 1278417.514 0, 1308327.398 1278399.359 0, 1308071.315 1278381.219 0, 1307814.04 1278363.01 0, 1307420.298 1283928.486 0,
+ 1307026.565 1289493.826 0, 1307283.181 1289511.989 0, 1307538.609 1289530.083 0, 1307794.037 1289548.191 0, 1308049.463 1289566.315 0, 1308304.888 1289584.454 0, 1308560.312 1289602.607 0, 1308815.735 1289620.776 0, 1309071.157 1289638.96 0, 1309326.577 1289657.159 0,
+ 1309581.997 1289675.373 0, 1309837.416 1289693.601 0, 1310092.833 1289711.845 0, 1310348.25 1289730.104 0, 1310603.665 1289748.378 0, 1310859.079 1289766.667 0, 1311114.493 1289784.971 0, 1311369.905 1289803.291 0, 1311625.316 1289821.625 0, 1311880.726 1289839.974 0,
+ 1312136.135 1289858.338 0, 1312391.543 1289876.717 0, 1312646.949 1289895.111 0, 1312902.355 1289913.521 0, 1313156.574 1289931.86 0, 1313413.163 1289950.384 0, 1313668.566 1289968.839 0, 1313923.967 1289987.308 0, 1314179.367 1290005.793 0, 1314434.766 1290024.292 0,
+ 1314690.164 1290042.807 0, 1314945.561 1290061.336 0, 1315200.957 1290079.881 0, 1315456.352 1290098.441 0, 1315711.746 1290117.015 0, 1315967.138 1290135.605 0, 1316222.53 1290154.21 0, 1316477.92 1290172.829 0, 1316733.31 1290191.464 0, 1316988.698 1290210.114 0,
+ 1317244.085 1290228.779 0, 1317499.471 1290247.459 0, 1317754.856 1290266.154 0, 1318010.24 1290284.863 0, 1318265.623 1290303.588 0, 1318521.004 1290322.328 0, 1318776.385 1290341.083 0, 1319031.764 1290359.853 0, 1319285.958 1290378.551 0, 1319695.412 1284814.345 0,
+ 1320104.877 1279250.004 0))
+
+POLYGON ((1331542.802 1291297.908 0, 1331288.66 1291278.492 0, 1331033.335 1291259 0, 1330778.008 1291239.524 0, 1330522.681 1291220.062 0, 1330267.352 1291200.616 0, 1330012.022 1291181.185 0, 1329756.691 1291161.768 0, 1329501.359 1291142.367 0, 1329246.025 1291122.981 0,
+ 1328990.691 1291103.609 0, 1328735.355 1291084.253 0, 1328480.018 1291064.912 0, 1328224.68 1291045.586 0, 1327969.341 1291026.275 0, 1327714.001 1291006.979 0, 1327458.66 1290987.698 0, 1327203.317 1290968.431 0, 1326947.974 1290949.18 0, 1326692.629 1290929.944 0,
+ 1326437.283 1290910.723 0, 1326181.936 1290891.518 0, 1325926.588 1290872.327 0, 1325671.238 1290853.151 0, 1325414.705 1290833.901 0, 1325160.537 1290814.844 0, 1324905.184 1290795.713 0, 1324649.83 1290776.598 0, 1324394.475 1290757.497 0, 1324139.119 1290738.411 0,
+ 1323883.762 1290719.34 0, 1323628.404 1290700.285 0, 1323373.044 1290681.244 0, 1323117.684 1290662.219 0, 1322862.322 1290643.208 0, 1322606.96 1290624.213 0, 1322351.596 1290605.232 0, 1322096.231 1290586.267 0, 1321840.865 1290567.316 0, 1321585.497 1290548.381 0,
+ 1321330.129 1290529.46 0, 1321074.76 1290510.555 0, 1320819.389 1290491.665 0, 1320564.017 1290472.79 0, 1320308.645 1290453.929 0, 1320053.271 1290435.084 0, 1319797.896 1290416.254 0, 1319542.52 1290397.439 0, 1319285.958 1290378.551 0, 1318876.514 1295942.617 0,
+ 1318467.08 1301506.537 0, 1318722.984 1301525.376 0, 1318977.705 1301544.143 0, 1319232.425 1301562.925 0, 1319487.144 1301581.721 0, 1319741.862 1301600.533 0, 1319996.579 1301619.36 0, 1320251.294 1301638.202 0, 1320506.009 1301657.059 0, 1320760.722 1301675.931 0,
+ 1321015.435 1301694.818 0, 1321270.146 1301713.719 0, 1321524.856 1301732.636 0, 1321779.565 1301751.568 0, 1322034.273 1301770.515 0, 1322288.979 1301789.477 0, 1322543.685 1301808.453 0, 1322798.389 1301827.445 0, 1323053.093 1301846.452 0, 1323307.795 1301865.474 0,
+ 1323562.496 1301884.51 0, 1323817.196 1301903.562 0, 1324071.895 1301922.629 0, 1324326.593 1301941.711 0, 1324580.109 1301960.719 0, 1324835.985 1301979.919 0, 1325090.679 1301999.046 0, 1325345.372 1302018.187 0, 1325600.064 1302037.344 0, 1325854.755 1302056.516 0,
+ 1326109.445 1302075.702 0, 1326364.134 1302094.904 0, 1326618.822 1302114.121 0, 1326873.508 1302133.352 0, 1327128.193 1302152.599 0, 1327382.878 1302171.861 0, 1327637.561 1302191.137 0, 1327892.243 1302210.429 0, 1328146.923 1302229.735 0, 1328401.603 1302249.057 0,
+ 1328656.282 1302268.394 0, 1328910.959 1302287.745 0, 1329165.635 1302307.112 0, 1329420.31 1302326.493 0, 1329674.984 1302345.89 0, 1329929.657 1302365.301 0, 1330184.329 1302384.728 0, 1330438.999 1302404.169 0, 1330692.489 1302423.535 0, 1331117.64 1296860.794 0,
+ 1331542.802 1291297.908 0))
+
+POLYGON ((1342915.259 1303375.069 0, 1342661.823 1303354.987 0, 1342407.208 1303334.826 0, 1342152.592 1303314.68 0, 1341897.975 1303294.549 0, 1341643.357 1303274.433 0, 1341388.738 1303254.332 0, 1341134.117 1303234.246 0, 1340879.495 1303214.175 0, 1340624.873 1303194.119 0,
+ 1340370.249 1303174.078 0, 1340115.623 1303154.052 0, 1339860.997 1303134.041 0, 1339606.369 1303114.045 0, 1339351.741 1303094.064 0, 1339097.111 1303074.098 0, 1338842.479 1303054.147 0, 1338587.847 1303034.211 0, 1338333.214 1303014.29 0, 1338078.579 1302994.384 0,
+ 1337823.943 1302974.492 0, 1337569.306 1302954.616 0, 1337314.668 1302934.755 0, 1337060.029 1302914.909 0, 1336804.21 1302894.986 0, 1336550.747 1302875.262 0, 1336296.104 1302855.46 0, 1336041.46 1302835.674 0, 1335786.815 1302815.903 0, 1335532.168 1302796.147 0,
+ 1335277.521 1302776.405 0, 1335022.872 1302756.679 0, 1334768.223 1302736.968 0, 1334513.572 1302717.271 0, 1334258.919 1302697.59 0, 1334004.266 1302677.924 0, 1333749.612 1302658.273 0, 1333494.956 1302638.636 0, 1333240.299 1302619.015 0, 1332985.642 1302599.408 0,
+ 1332730.982 1302579.817 0, 1332476.322 1302560.241 0, 1332221.661 1302540.679 0, 1331966.998 1302521.133 0, 1331712.335 1302501.601 0, 1331457.67 1302482.085 0, 1331203.004 1302462.584 0, 1330948.337 1302443.097 0, 1330692.489 1302423.535 0, 1330267.35 1307986.126 0,
+ 1329842.223 1313548.561 0, 1330097.412 1313568.072 0, 1330351.425 1313587.509 0, 1330605.436 1313606.96 0, 1330859.446 1313626.426 0, 1331113.455 1313645.908 0, 1331367.462 1313665.404 0, 1331621.469 1313684.915 0, 1331875.474 1313704.441 0, 1332129.479 1313723.982 0,
+ 1332383.482 1313743.538 0, 1332637.484 1313763.109 0, 1332891.485 1313782.695 0, 1333145.484 1313802.295 0, 1333399.483 1313821.911 0, 1333653.48 1313841.542 0, 1333907.476 1313861.187 0, 1334161.471 1313880.848 0, 1334415.465 1313900.524 0, 1334669.458 1313920.214 0,
+ 1334923.45 1313939.92 0, 1335177.44 1313959.64 0, 1335431.429 1313979.375 0, 1335685.417 1313999.126 0, 1335938.229 1314018.799 0, 1336193.39 1314038.671 0, 1336447.375 1314058.466 0, 1336701.358 1314078.276 0, 1336955.34 1314098.101 0, 1337209.321 1314117.941 0,
+ 1337463.301 1314137.796 0, 1337717.28 1314157.666 0, 1337971.258 1314177.551 0, 1338225.234 1314197.451 0, 1338479.209 1314217.366 0, 1338733.184 1314237.295 0, 1338987.156 1314257.24 0, 1339241.128 1314277.2 0, 1339495.099 1314297.174 0, 1339749.068 1314317.164 0,
+ 1340003.036 1314337.168 0, 1340257.003 1314357.187 0, 1340510.969 1314377.222 0, 1340764.934 1314397.271 0, 1341018.897 1314417.335 0, 1341272.86 1314437.414 0, 1341526.821 1314457.508 0, 1341780.781 1314477.618 0, 1342033.565 1314497.648 0, 1342474.406 1308936.437 0,
+ 1342915.259 1303375.069 0))
+
+POLYGON ((1354222.178 1315481.175 0, 1353969.449 1315460.43 0, 1353715.547 1315439.603 0, 1353461.643 1315418.792 0, 1353207.739 1315397.995 0, 1352953.833 1315377.213 0, 1352699.926 1315356.447 0, 1352446.018 1315335.695 0, 1352192.108 1315314.958 0, 1351938.198 1315294.236 0,
+ 1351684.286 1315273.529 0, 1351430.373 1315252.837 0, 1351176.458 1315232.16 0, 1350922.543 1315211.498 0, 1350668.626 1315190.851 0, 1350414.708 1315170.219 0, 1350160.789 1315149.602 0, 1349906.869 1315128.999 0, 1349652.947 1315108.412 0, 1349399.024 1315087.84 0,
+ 1349145.1 1315067.282 0, 1348891.175 1315046.74 0, 1348637.248 1315026.212 0, 1348383.321 1315005.7 0, 1348128.219 1314985.107 0, 1347875.462 1314964.719 0, 1347621.531 1314944.251 0, 1347367.598 1314923.799 0, 1347113.664 1314903.361 0, 1346859.73 1314882.938 0,
+ 1346605.793 1314862.53 0, 1346351.856 1314842.137 0, 1346097.918 1314821.759 0, 1345843.978 1314801.395 0, 1345590.037 1314781.047 0, 1345336.095 1314760.714 0, 1345082.152 1314740.396 0, 1344828.207 1314720.092 0, 1344574.262 1314699.804 0, 1344320.315 1314679.53 0,
+ 1344066.367 1314659.272 0, 1343812.417 1314639.028 0, 1343558.467 1314618.799 0, 1343304.515 1314598.586 0, 1343050.563 1314578.387 0, 1342796.609 1314558.203 0, 1342542.653 1314538.034 0, 1342288.697 1314517.88 0, 1342033.565 1314497.648 0, 1341592.737 1320058.7 0,
+ 1341151.923 1325619.585 0, 1341406.397 1325639.765 0, 1341659.698 1325659.867 0, 1341912.999 1325679.984 0, 1342166.298 1325700.116 0, 1342419.597 1325720.262 0, 1342672.894 1325740.424 0, 1342926.19 1325760.601 0, 1343179.484 1325780.792 0, 1343432.778 1325800.998 0,
+ 1343686.07 1325821.22 0, 1343939.361 1325841.456 0, 1344192.651 1325861.707 0, 1344445.94 1325881.973 0, 1344699.227 1325902.253 0, 1344952.513 1325922.549 0, 1345205.799 1325942.86 0, 1345459.083 1325963.186 0, 1345712.365 1325983.526 0, 1345965.647 1326003.881 0,
+ 1346218.927 1326024.252 0, 1346472.206 1326044.637 0, 1346725.484 1326065.037 0, 1346978.761 1326085.452 0, 1347230.866 1326105.788 0, 1347485.311 1326126.327 0, 1347738.584 1326146.787 0, 1347991.856 1326167.261 0, 1348245.126 1326187.751 0, 1348498.396 1326208.255 0,
+ 1348751.664 1326228.775 0, 1349004.931 1326249.309 0, 1349258.197 1326269.858 0, 1349511.462 1326290.422 0, 1349764.725 1326311.001 0, 1350017.988 1326331.595 0, 1350271.249 1326352.204 0, 1350524.508 1326372.828 0, 1350777.767 1326393.466 0, 1351031.024 1326414.12 0,
+ 1351284.281 1326434.788 0, 1351537.536 1326455.472 0, 1351790.789 1326476.17 0, 1352044.042 1326496.883 0, 1352297.293 1326517.611 0, 1352550.543 1326538.354 0, 1352803.792 1326559.112 0, 1353057.04 1326579.885 0, 1353309.117 1326600.576 0, 1353765.641 1321040.958 0,
+ 1354222.178 1315481.175 0))
+
+POLYGON ((1365463.492 1327615.91 0, 1365211.472 1327594.506 0, 1364958.284 1327573.018 0, 1364705.095 1327551.545 0, 1364451.904 1327530.086 0, 1364198.713 1327508.643 0, 1363945.52 1327487.214 0, 1363692.325 1327465.801 0, 1363439.13 1327444.402 0, 1363185.933 1327423.018 0,
+ 1362932.735 1327401.649 0, 1362679.536 1327380.295 0, 1362426.335 1327358.956 0, 1362173.133 1327337.632 0, 1361919.93 1327316.322 0, 1361666.726 1327295.028 0, 1361413.52 1327273.748 0, 1361160.314 1327252.484 0, 1360907.106 1327231.234 0, 1360653.896 1327209.999 0,
+ 1360400.686 1327188.779 0, 1360147.474 1327167.574 0, 1359894.261 1327146.384 0, 1359641.047 1327125.209 0, 1359386.663 1327103.951 0, 1359134.614 1327082.903 0, 1358881.396 1327061.773 0, 1358628.177 1327040.657 0, 1358374.956 1327019.556 0, 1358121.735 1326998.47 0,
+ 1357868.512 1326977.4 0, 1357615.287 1326956.344 0, 1357362.062 1326935.303 0, 1357108.835 1326914.276 0, 1356855.607 1326893.265 0, 1356602.378 1326872.269 0, 1356349.147 1326851.287 0, 1356095.916 1326830.321 0, 1355842.683 1326809.369 0, 1355589.449 1326788.432 0,
+ 1355336.213 1326767.511 0, 1355082.977 1326746.604 0, 1354829.739 1326725.712 0, 1354576.5 1326704.834 0, 1354323.26 1326683.972 0, 1354070.018 1326663.125 0, 1353816.775 1326642.293 0, 1353563.531 1326621.475 0, 1353309.117 1326600.576 0, 1352852.608 1332160.024 0,
+ 1352396.113 1337719.295 0, 1352649.869 1337740.14 0, 1352902.459 1337760.904 0, 1353155.047 1337781.682 0, 1353407.634 1337802.476 0, 1353660.22 1337823.284 0, 1353912.805 1337844.107 0, 1354165.388 1337864.945 0, 1354417.971 1337885.798 0, 1354670.552 1337906.666 0,
+ 1354923.131 1337927.549 0, 1355175.71 1337948.446 0, 1355428.287 1337969.358 0, 1355680.863 1337990.286 0, 1355933.438 1338011.228 0, 1356186.012 1338032.185 0, 1356438.584 1338053.157 0, 1356691.155 1338074.143 0, 1356943.725 1338095.145 0, 1357196.294 1338116.161 0,
+ 1357448.861 1338137.193 0, 1357701.427 1338158.239 0, 1357953.992 1338179.3 0, 1358206.556 1338200.376 0, 1358457.953 1338221.369 0, 1358711.679 1338242.572 0, 1358964.239 1338263.692 0, 1359216.798 1338284.828 0, 1359469.356 1338305.978 0, 1359721.912 1338327.143 0,
+ 1359974.467 1338348.323 0, 1360227.02 1338369.518 0, 1360479.573 1338390.728 0, 1360732.124 1338411.952 0, 1360984.674 1338433.192 0, 1361237.223 1338454.446 0, 1361489.77 1338475.715 0, 1361742.317 1338496.999 0, 1361994.862 1338518.298 0, 1362247.405 1338539.612 0,
+ 1362499.948 1338560.94 0, 1362752.489 1338582.284 0, 1363005.029 1338603.642 0, 1363257.568 1338625.015 0, 1363510.105 1338646.403 0, 1363762.641 1338667.806 0, 1364015.176 1338689.224 0, 1364267.71 1338710.657 0, 1364519.079 1338732.005 0, 1364991.278 1333174.045 0,
+ 1365463.492 1327615.91 0))
+
+POLYGON ((796302.17 825421.266 0, 796020.826 825433.205 0, 795738.083 825445.219 0, 795455.341 825457.249 0, 795172.599 825469.297 0, 794889.858 825481.361 0, 794607.118 825493.442 0, 794324.378 825505.539 0, 794041.639 825517.653 0, 793758.901 825529.784 0,
+ 793476.163 825541.931 0, 793193.427 825554.095 0, 792910.691 825566.275 0, 792627.955 825578.472 0, 792345.221 825590.686 0, 792062.487 825602.917 0, 791779.754 825615.164 0, 791497.021 825627.428 0, 791214.289 825639.708 0, 790931.558 825652.005 0,
+ 790648.828 825664.319 0, 790366.098 825676.649 0, 790083.37 825688.996 0, 789800.642 825701.36 0, 789516.513 825713.801 0, 789235.187 825726.137 0, 788952.462 825738.55 0, 788669.736 825750.98 0, 788387.012 825763.427 0, 788104.288 825775.891 0,
+ 787821.565 825788.371 0, 787538.843 825800.867 0, 787256.121 825813.381 0, 786973.401 825825.911 0, 786690.681 825838.457 0, 786407.961 825851.021 0, 786125.243 825863.601 0, 785842.525 825876.197 0, 785559.808 825888.81 0, 785277.092 825901.44 0,
+ 784994.376 825914.087 0, 784711.661 825926.75 0, 784428.947 825939.43 0, 784146.234 825952.126 0, 783863.521 825964.839 0, 783580.809 825977.569 0, 783298.098 825990.315 0, 783015.388 826003.078 0, 782731.275 826015.921 0, 782983.228 831585.923 0,
+ 783235.189 837156.132 0, 783518.642 837143.318 0, 783800.697 837130.585 0, 784082.753 837117.868 0, 784364.809 837105.168 0, 784646.866 837092.484 0, 784928.923 837079.817 0, 785210.982 837067.167 0, 785493.041 837054.533 0, 785775.101 837041.916 0,
+ 786057.161 837029.316 0, 786339.223 837016.732 0, 786621.285 837004.164 0, 786903.348 836991.614 0, 787185.411 836979.079 0, 787467.476 836966.562 0, 787749.541 836954.061 0, 788031.606 836941.577 0, 788313.673 836929.109 0, 788595.74 836916.658 0,
+ 788877.808 836904.223 0, 789159.877 836891.805 0, 789441.946 836879.404 0, 789724.017 836867.019 0, 790004.689 836854.712 0, 790288.159 836842.3 0, 790570.232 836829.965 0, 790852.305 836817.646 0, 791134.379 836805.345 0, 791416.453 836793.06 0,
+ 791698.528 836780.791 0, 791980.604 836768.539 0, 792262.681 836756.304 0, 792544.758 836744.085 0, 792826.837 836731.883 0, 793108.915 836719.698 0, 793390.995 836707.529 0, 793673.075 836695.376 0, 793955.156 836683.241 0, 794237.238 836671.122 0,
+ 794519.321 836659.019 0, 794801.404 836646.933 0, 795083.488 836634.864 0, 795365.572 836622.811 0, 795647.657 836610.775 0, 795929.743 836598.756 0, 796211.83 836586.753 0, 796493.918 836574.767 0, 796774.608 836562.856 0, 796538.385 830991.958 0,
+ 796302.17 825421.266 0))
+
+POLYGON ((810315.649 836007.834 0, 810034.924 836018.952 0, 809752.804 836030.141 0, 809470.684 836041.347 0, 809188.565 836052.569 0, 808906.447 836063.809 0, 808624.33 836075.064 0, 808342.213 836086.337 0, 808060.097 836097.625 0, 807777.981 836108.931 0,
+ 807495.866 836120.253 0, 807213.752 836131.592 0, 806931.639 836142.947 0, 806649.526 836154.319 0, 806367.414 836165.708 0, 806085.302 836177.113 0, 805803.191 836188.534 0, 805521.081 836199.973 0, 805238.972 836211.428 0, 804956.863 836222.899 0,
+ 804674.755 836234.387 0, 804392.647 836245.892 0, 804110.541 836257.413 0, 803828.435 836268.951 0, 803544.933 836280.563 0, 803264.224 836292.077 0, 802982.12 836303.665 0, 802700.017 836315.269 0, 802417.914 836326.89 0, 802135.812 836338.528 0,
+ 801853.711 836350.182 0, 801571.61 836361.853 0, 801289.51 836373.54 0, 801007.411 836385.244 0, 800725.313 836396.965 0, 800443.215 836408.702 0, 800161.118 836420.456 0, 799879.021 836432.226 0, 799596.925 836444.013 0, 799314.83 836455.817 0,
+ 799032.736 836467.637 0, 798750.642 836479.474 0, 798468.549 836491.328 0, 798186.457 836503.198 0, 797904.365 836515.084 0, 797622.274 836526.988 0, 797340.184 836538.907 0, 797058.094 836550.844 0, 796774.608 836562.856 0, 797010.841 842133.957 0,
+ 797247.081 847705.258 0, 797529.908 847693.274 0, 797811.342 847681.365 0, 798092.777 847669.473 0, 798374.212 847657.597 0, 798655.647 847645.738 0, 798937.084 847633.896 0, 799218.521 847622.07 0, 799499.959 847610.261 0, 799781.398 847598.468 0,
+ 800062.837 847586.692 0, 800344.277 847574.932 0, 800625.717 847563.189 0, 800907.159 847551.462 0, 801188.601 847539.752 0, 801470.044 847528.059 0, 801751.487 847516.382 0, 802032.931 847504.722 0, 802314.376 847493.078 0, 802595.821 847481.451 0,
+ 802877.267 847469.841 0, 803158.714 847458.247 0, 803440.162 847446.669 0, 803721.61 847435.109 0, 804001.666 847423.621 0, 804284.508 847412.037 0, 804565.959 847400.525 0, 804847.41 847389.031 0, 805128.861 847377.553 0, 805410.313 847366.091 0,
+ 805691.766 847354.647 0, 805973.22 847343.218 0, 806254.674 847331.806 0, 806536.129 847320.411 0, 806817.585 847309.033 0, 807099.041 847297.671 0, 807380.498 847286.325 0, 807661.956 847274.996 0, 807943.414 847263.684 0, 808224.873 847252.388 0,
+ 808506.333 847241.109 0, 808787.793 847229.846 0, 809069.254 847218.6 0, 809350.715 847207.371 0, 809632.178 847196.158 0, 809913.641 847184.961 0, 810195.104 847173.781 0, 810476.568 847162.618 0, 810756.641 847151.527 0, 810536.141 841579.581 0,
+ 810315.649 836007.834 0))
+
+POLYGON ((824267.712 846635.964 0, 823987.606 846646.265 0, 823706.112 846656.633 0, 823424.618 846667.017 0, 823143.124 846677.419 0, 822861.632 846687.836 0, 822580.139 846698.271 0, 822298.648 846708.721 0, 822017.157 846719.189 0, 821735.666 846729.673 0,
+ 821454.177 846740.173 0, 821172.687 846750.691 0, 820891.199 846761.224 0, 820609.711 846771.775 0, 820328.224 846782.341 0, 820046.737 846792.925 0, 819765.251 846803.525 0, 819483.766 846814.141 0, 819202.281 846824.774 0, 818920.797 846835.424 0,
+ 818639.313 846846.09 0, 818357.83 846856.773 0, 818076.348 846867.473 0, 817794.866 846878.188 0, 817511.994 846888.974 0, 817231.905 846899.67 0, 816950.425 846910.436 0, 816668.946 846921.218 0, 816387.468 846932.017 0, 816105.99 846942.832 0,
+ 815824.513 846953.664 0, 815543.036 846964.512 0, 815261.56 846975.378 0, 814980.085 846986.259 0, 814698.61 846997.157 0, 814417.136 847008.072 0, 814135.663 847019.003 0, 813854.19 847029.951 0, 813572.718 847040.916 0, 813291.247 847051.897 0,
+ 813009.776 847062.894 0, 812728.306 847073.909 0, 812446.837 847084.939 0, 812165.368 847095.987 0, 811883.9 847107.05 0, 811602.432 847118.131 0, 811320.965 847129.228 0, 811039.499 847140.341 0, 810756.641 847151.527 0, 810977.149 852723.668 0,
+ 811197.664 858296.001 0, 811479.863 858284.842 0, 811760.673 858273.755 0, 812041.484 858262.683 0, 812322.295 858251.629 0, 812603.108 858240.591 0, 812883.92 858229.569 0, 813164.734 858218.564 0, 813445.548 858207.576 0, 813726.363 858196.604 0,
+ 814007.178 858185.648 0, 814287.995 858174.709 0, 814568.811 858163.787 0, 814849.629 858152.881 0, 815130.447 858141.992 0, 815411.265 858131.119 0, 815692.085 858120.263 0, 815972.905 858109.423 0, 816253.725 858098.6 0, 816534.546 858087.793 0,
+ 816815.368 858077.003 0, 817096.191 858066.229 0, 817377.014 858055.472 0, 817657.838 858044.732 0, 817937.274 858034.061 0, 818219.487 858023.3 0, 818500.313 858012.609 0, 818781.139 858001.935 0, 819061.966 857991.277 0, 819342.793 857980.636 0,
+ 819623.622 857970.011 0, 819904.45 857959.402 0, 820185.28 857948.811 0, 820466.11 857938.235 0, 820746.941 857927.677 0, 821027.772 857917.134 0, 821308.604 857906.609 0, 821589.436 857896.099 0, 821870.269 857885.607 0, 822151.103 857875.131 0,
+ 822431.937 857864.671 0, 822712.772 857854.228 0, 822993.608 857843.802 0, 823274.444 857833.392 0, 823555.281 857822.998 0, 823836.118 857812.621 0, 824116.957 857802.261 0, 824397.795 857791.917 0, 824677.248 857781.641 0, 824472.476 852208.707 0,
+ 824267.712 846635.964 0))
+
+POLYGON ((838158.23 857305.364 0, 837878.748 857314.851 0, 837597.881 857324.402 0, 837317.015 857333.968 0, 837036.149 857343.552 0, 836755.284 857353.152 0, 836474.42 857362.768 0, 836193.556 857372.402 0, 835912.693 857382.051 0, 835631.83 857391.717 0,
+ 835350.968 857401.4 0, 835070.106 857411.099 0, 834789.245 857420.815 0, 834508.384 857430.547 0, 834227.524 857440.296 0, 833946.665 857450.061 0, 833665.806 857459.843 0, 833384.948 857469.641 0, 833104.09 857479.456 0, 832823.233 857489.288 0,
+ 832542.377 857499.136 0, 832261.521 857509 0, 831980.666 857518.881 0, 831699.811 857528.779 0, 831417.571 857538.742 0, 831138.103 857548.623 0, 830857.25 857558.57 0, 830576.398 857568.534 0, 830295.546 857578.514 0, 830014.695 857588.511 0,
+ 829733.844 857598.524 0, 829452.994 857608.554 0, 829172.145 857618.6 0, 828891.296 857628.663 0, 828610.447 857638.743 0, 828329.6 857648.839 0, 828048.753 857658.951 0, 827767.906 857669.08 0, 827487.06 857679.226 0, 827206.215 857689.388 0,
+ 826925.37 857699.566 0, 826644.526 857709.761 0, 826363.683 857719.973 0, 826082.84 857730.201 0, 825801.998 857740.446 0, 825521.156 857750.707 0, 825240.315 857760.985 0, 824959.474 857771.279 0, 824677.248 857781.641 0, 824882.026 863354.763 0,
+ 825086.811 868928.07 0, 825368.379 868917.732 0, 825648.563 868907.462 0, 825928.748 868897.208 0, 826208.934 868886.971 0, 826489.12 868876.75 0, 826769.307 868866.546 0, 827049.494 868856.358 0, 827329.682 868846.187 0, 827609.871 868836.032 0,
+ 827890.06 868825.894 0, 828170.25 868815.772 0, 828450.44 868805.667 0, 828730.631 868795.578 0, 829010.823 868785.505 0, 829291.015 868775.45 0, 829571.208 868765.41 0, 829851.401 868755.387 0, 830131.595 868745.381 0, 830411.79 868735.391 0,
+ 830691.985 868725.418 0, 830972.181 868715.461 0, 831252.377 868705.52 0, 831532.574 868695.597 0, 831811.389 868685.738 0, 832092.969 868675.798 0, 832373.168 868665.924 0, 832653.367 868656.066 0, 832933.567 868646.224 0, 833213.767 868636.399 0,
+ 833493.968 868626.591 0, 833774.17 868616.799 0, 834054.372 868607.024 0, 834334.575 868597.265 0, 834614.778 868587.522 0, 834894.982 868577.796 0, 835175.186 868568.087 0, 835455.391 868558.394 0, 835735.597 868548.717 0, 836015.803 868539.057 0,
+ 836296.01 868529.414 0, 836576.217 868519.786 0, 836856.425 868510.176 0, 837136.633 868500.582 0, 837416.842 868491.004 0, 837697.051 868481.443 0, 837977.261 868471.899 0, 838257.472 868462.371 0, 838536.302 868452.906 0, 838347.263 862879.043 0,
+ 838158.23 857305.364 0))
+
+POLYGON ((851987.081 868015.741 0, 851708.224 868024.418 0, 851427.987 868033.155 0, 851147.751 868041.907 0, 850867.516 868050.677 0, 850587.281 868059.463 0, 850307.047 868068.265 0, 850026.813 868077.084 0, 849746.579 868085.919 0, 849466.347 868094.771 0,
+ 849186.114 868103.64 0, 848905.883 868112.524 0, 848625.651 868121.426 0, 848345.421 868130.344 0, 848065.19 868139.278 0, 847784.961 868148.229 0, 847504.732 868157.196 0, 847224.503 868166.18 0, 846944.275 868175.18 0, 846664.047 868184.197 0,
+ 846383.82 868193.23 0, 846103.594 868202.28 0, 845823.368 868211.346 0, 845543.142 868220.429 0, 845261.537 868229.573 0, 844982.693 868238.644 0, 844702.469 868247.776 0, 844422.246 868256.925 0, 844142.023 868266.09 0, 843861.801 868275.272 0,
+ 843581.58 868284.47 0, 843301.358 868293.685 0, 843021.138 868302.916 0, 842740.918 868312.164 0, 842460.698 868321.428 0, 842180.479 868330.709 0, 841900.261 868340.006 0, 841620.043 868349.32 0, 841339.826 868358.65 0, 841059.609 868367.997 0,
+ 840779.393 868377.36 0, 840499.177 868386.74 0, 840218.962 868396.136 0, 839938.748 868405.548 0, 839658.534 868414.977 0, 839378.32 868424.423 0, 839098.107 868433.885 0, 838817.895 868443.364 0, 838536.302 868452.906 0, 838725.347 874026.949 0,
+ 838914.397 879601.17 0, 839195.331 879591.65 0, 839474.888 879582.194 0, 839754.444 879572.754 0, 840034.002 879563.33 0, 840313.559 879553.923 0, 840593.118 879544.533 0, 840872.677 879535.159 0, 841152.236 879525.801 0, 841431.796 879516.46 0,
+ 841711.357 879507.135 0, 841990.918 879497.827 0, 842270.479 879488.535 0, 842550.042 879479.259 0, 842829.604 879470 0, 843109.168 879460.758 0, 843388.732 879451.532 0, 843668.296 879442.322 0, 843947.861 879433.129 0, 844227.426 879423.952 0,
+ 844506.992 879414.792 0, 844786.559 879405.648 0, 845066.126 879396.521 0, 845345.694 879387.41 0, 845623.884 879378.36 0, 845904.83 879369.238 0, 846184.4 879360.176 0, 846463.969 879351.131 0, 846743.54 879342.103 0, 847023.111 879333.09 0,
+ 847302.682 879324.095 0, 847582.254 879315.115 0, 847861.826 879306.153 0, 848141.399 879297.206 0, 848420.973 879288.277 0, 848700.547 879279.363 0, 848980.121 879270.466 0, 849259.696 879261.586 0, 849539.272 879252.722 0, 849818.848 879243.874 0,
+ 850098.424 879235.043 0, 850378.001 879226.228 0, 850657.579 879217.43 0, 850937.157 879208.648 0, 851216.736 879199.883 0, 851496.315 879191.134 0, 851775.895 879182.402 0, 852055.475 879173.686 0, 852333.679 879165.029 0, 852160.377 873590.297 0,
+ 851987.081 868015.741 0))
+
+POLYGON ((865754.14 878766.802 0, 865475.91 878774.672 0, 865196.306 878782.598 0, 864916.703 878790.541 0, 864637.1 878798.5 0, 864357.498 878806.475 0, 864077.896 878814.467 0, 863798.295 878822.476 0, 863518.694 878830.5 0, 863239.093 878838.542 0,
+ 862959.493 878846.599 0, 862679.894 878854.673 0, 862400.295 878862.764 0, 862120.696 878870.871 0, 861841.098 878878.995 0, 861561.501 878887.135 0, 861281.904 878895.291 0, 861002.307 878903.464 0, 860722.711 878911.653 0, 860443.115 878919.859 0,
+ 860163.52 878928.081 0, 859883.925 878936.32 0, 859604.331 878944.575 0, 859324.738 878952.847 0, 859043.769 878961.176 0, 858765.552 878969.44 0, 858485.959 878977.761 0, 858206.368 878986.098 0, 857926.776 878994.452 0, 857647.186 879002.822 0,
+ 857367.595 879011.209 0, 857088.006 879019.613 0, 856808.416 879028.032 0, 856528.827 879036.468 0, 856249.239 879044.921 0, 855969.651 879053.39 0, 855690.064 879061.876 0, 855410.477 879070.378 0, 855130.891 879078.896 0, 854851.305 879087.431 0,
+ 854571.72 879095.983 0, 854292.135 879104.55 0, 854012.551 879113.135 0, 853732.967 879121.736 0, 853453.384 879130.353 0, 853173.801 879138.986 0, 852894.219 879147.637 0, 852614.637 879156.303 0, 852333.679 879165.029 0, 852506.987 884739.934 0,
+ 852680.299 890315.009 0, 852960.597 890306.304 0, 853239.523 890297.657 0, 853518.449 890289.028 0, 853797.375 890280.414 0, 854076.302 890271.817 0, 854355.23 890263.237 0, 854634.158 890254.673 0, 854913.086 890246.125 0, 855192.015 890237.593 0,
+ 855470.945 890229.079 0, 855749.875 890220.58 0, 856028.805 890212.098 0, 856307.736 890203.632 0, 856586.668 890195.183 0, 856865.6 890186.75 0, 857144.533 890178.334 0, 857423.466 890169.934 0, 857702.399 890161.55 0, 857981.333 890153.183 0,
+ 858260.268 890144.832 0, 858539.202 890136.498 0, 858818.138 890128.18 0, 859097.074 890119.879 0, 859374.638 890111.634 0, 859654.947 890103.325 0, 859933.885 890095.073 0, 860212.823 890086.837 0, 860491.761 890078.618 0, 860770.7 890070.415 0,
+ 861049.639 890062.228 0, 861328.579 890054.058 0, 861607.519 890045.904 0, 861886.46 890037.767 0, 862165.401 890029.646 0, 862444.343 890021.542 0, 862723.285 890013.454 0, 863002.228 890005.382 0, 863281.171 889997.327 0, 863560.115 889989.288 0,
+ 863839.059 889981.266 0, 864118.004 889973.26 0, 864396.949 889965.27 0, 864675.894 889957.297 0, 864954.84 889949.34 0, 865233.787 889941.4 0, 865512.734 889933.476 0, 865791.681 889925.569 0, 866069.258 889917.716 0, 865911.696 884342.174 0,
+ 865754.14 878766.802 0))
+
+POLYGON ((879459.285 889558.252 0, 879181.685 889565.32 0, 878902.717 889572.439 0, 878623.748 889579.575 0, 878344.781 889586.727 0, 878065.813 889593.896 0, 877786.846 889601.081 0, 877507.88 889608.282 0, 877228.914 889615.5 0, 876949.948 889622.734 0,
+ 876670.983 889629.985 0, 876392.018 889637.252 0, 876113.053 889644.536 0, 875834.09 889651.836 0, 875555.126 889659.152 0, 875276.163 889666.485 0, 874997.2 889673.834 0, 874718.238 889681.2 0, 874439.276 889688.582 0, 874160.315 889695.98 0,
+ 873881.354 889703.395 0, 873602.393 889710.826 0, 873323.433 889718.274 0, 873044.474 889725.738 0, 872764.145 889733.255 0, 872486.556 889740.716 0, 872207.598 889748.229 0, 871928.64 889755.759 0, 871649.682 889763.305 0, 871370.725 889770.868 0,
+ 871091.769 889778.447 0, 870812.813 889786.042 0, 870533.857 889793.654 0, 870254.902 889801.283 0, 869975.947 889808.927 0, 869696.993 889816.588 0, 869418.039 889824.266 0, 869139.086 889831.96 0, 868860.133 889839.67 0, 868581.18 889847.397 0,
+ 868302.228 889855.141 0, 868023.277 889862.9 0, 867744.326 889870.676 0, 867465.375 889878.469 0, 867186.425 889886.278 0, 866907.475 889894.103 0, 866628.526 889901.945 0, 866349.577 889909.803 0, 866069.258 889917.716 0, 866226.824 895493.424 0,
+ 866384.394 901069.293 0, 866664.054 901061.398 0, 866942.347 901053.559 0, 867220.639 901045.735 0, 867498.933 901037.928 0, 867777.227 901030.138 0, 868055.521 901022.364 0, 868333.816 901014.606 0, 868612.111 901006.864 0, 868890.406 900999.139 0,
+ 869168.702 900991.431 0, 869446.999 900983.738 0, 869725.296 900976.063 0, 870003.593 900968.403 0, 870281.891 900960.76 0, 870560.19 900953.133 0, 870838.489 900945.523 0, 871116.788 900937.929 0, 871395.087 900930.351 0, 871673.388 900922.79 0,
+ 871951.688 900915.245 0, 872229.989 900907.717 0, 872508.291 900900.204 0, 872786.593 900892.709 0, 873063.528 900885.266 0, 873343.198 900877.766 0, 873621.501 900870.32 0, 873899.805 900862.89 0, 874178.109 900855.476 0, 874456.413 900848.078 0,
+ 874734.718 900840.697 0, 875013.024 900833.333 0, 875291.329 900825.984 0, 875569.636 900818.652 0, 875847.942 900811.337 0, 876126.25 900804.038 0, 876404.557 900796.755 0, 876682.865 900789.489 0, 876961.174 900782.239 0, 877239.482 900775.005 0,
+ 877517.792 900767.788 0, 877796.101 900760.587 0, 878074.411 900753.402 0, 878352.722 900746.234 0, 878631.033 900739.082 0, 878909.344 900731.947 0, 879187.656 900724.828 0, 879465.968 900717.726 0, 879742.915 900710.674 0, 879601.098 895134.382 0,
+ 879459.285 889558.252 0))
+
+POLYGON ((893102.396 900389.797 0, 892825.428 900396.066 0, 892547.097 900402.382 0, 892268.766 900408.715 0, 891990.436 900415.064 0, 891712.106 900421.429 0, 891433.776 900427.811 0, 891155.447 900434.209 0, 890877.118 900440.624 0, 890598.789 900447.055 0,
+ 890320.461 900453.502 0, 890042.133 900459.966 0, 889763.806 900466.446 0, 889485.479 900472.942 0, 889207.152 900479.455 0, 888928.826 900485.985 0, 888650.5 900492.53 0, 888372.175 900499.092 0, 888093.85 900505.671 0, 887815.525 900512.265 0,
+ 887537.2 900518.876 0, 887258.877 900525.504 0, 886980.553 900532.148 0, 886702.23 900538.808 0, 886422.542 900545.518 0, 886145.585 900552.178 0, 885867.263 900558.887 0, 885588.941 900565.613 0, 885310.62 900572.355 0, 885032.299 900579.114 0,
+ 884753.979 900585.889 0, 884475.659 900592.68 0, 884197.339 900599.488 0, 883919.02 900606.312 0, 883640.701 900613.153 0, 883362.383 900620.009 0, 883084.065 900626.883 0, 882805.747 900633.772 0, 882527.43 900640.678 0, 882249.113 900647.601 0,
+ 881970.797 900654.539 0, 881692.481 900661.495 0, 881414.166 900668.466 0, 881135.85 900675.454 0, 880857.536 900682.458 0, 880579.221 900689.479 0, 880300.908 900696.516 0, 880022.594 900703.57 0, 879742.915 900710.674 0, 879884.736 906287.124 0,
+ 880026.561 911863.727 0, 880305.581 911856.64 0, 880583.238 911849.603 0, 880860.895 911842.582 0, 881138.553 911835.578 0, 881416.211 911828.59 0, 881693.87 911821.619 0, 881971.529 911814.664 0, 882249.188 911807.725 0, 882526.848 911800.803 0,
+ 882804.509 911793.897 0, 883082.169 911787.007 0, 883359.83 911780.134 0, 883637.492 911773.277 0, 883915.154 911766.436 0, 884192.816 911759.612 0, 884470.479 911752.804 0, 884748.142 911746.012 0, 885025.805 911739.237 0, 885303.469 911732.478 0,
+ 885581.134 911725.735 0, 885858.798 911719.009 0, 886136.464 911712.299 0, 886414.129 911705.605 0, 886690.433 911698.96 0, 886969.461 911692.267 0, 887247.128 911685.622 0, 887524.795 911678.994 0, 887802.462 911672.382 0, 888080.13 911665.787 0,
+ 888357.799 911659.207 0, 888635.467 911652.645 0, 888913.136 911646.098 0, 889190.806 911639.568 0, 889468.475 911633.054 0, 889746.146 911626.556 0, 890023.816 911620.075 0, 890301.487 911613.611 0, 890579.158 911607.162 0, 890856.83 911600.73 0,
+ 891134.502 911594.314 0, 891412.175 911587.915 0, 891689.847 911581.532 0, 891967.521 911575.165 0, 892245.194 911568.814 0, 892522.868 911562.48 0, 892800.542 911556.163 0, 893078.217 911549.861 0, 893354.532 911543.607 0, 893228.462 905966.625 0,
+ 893102.396 900389.797 0))
+
+POLYGON ((906683.353 911261.142 0, 906407.02 911266.616 0, 906129.328 911272.132 0, 905851.637 911277.666 0, 905573.947 911283.215 0, 905296.256 911288.781 0, 905018.566 911294.363 0, 904740.876 911299.962 0, 904463.187 911305.577 0, 904185.498 911311.208 0,
+ 903907.809 911316.856 0, 903630.121 911322.52 0, 903352.433 911328.2 0, 903074.745 911333.897 0, 902797.058 911339.61 0, 902519.37 911345.339 0, 902241.684 911351.085 0, 901963.997 911356.847 0, 901686.311 911362.625 0, 901408.626 911368.42 0,
+ 901130.94 911374.231 0, 900853.255 911380.058 0, 900575.57 911385.902 0, 900297.886 911391.762 0, 900018.843 911397.667 0, 899742.518 911403.531 0, 899464.835 911409.441 0, 899187.152 911415.366 0, 898909.47 911421.308 0, 898631.787 911427.266 0,
+ 898354.105 911433.24 0, 898076.424 911439.231 0, 897798.743 911445.239 0, 897521.062 911451.262 0, 897243.381 911457.302 0, 896965.701 911463.358 0, 896688.021 911469.431 0, 896410.342 911475.52 0, 896132.663 911481.625 0, 895854.984 911487.746 0,
+ 895577.306 911493.884 0, 895299.628 911500.039 0, 895021.95 911506.209 0, 894744.273 911512.396 0, 894466.596 911518.6 0, 894188.919 911524.819 0, 893911.243 911531.055 0, 893633.568 911537.308 0, 893354.532 911543.607 0, 893480.604 917120.739 0,
+ 893606.681 922698.017 0, 893885.057 922691.733 0, 894162.076 922685.495 0, 894439.096 922679.274 0, 894716.116 922673.069 0, 894993.136 922666.88 0, 895270.157 922660.708 0, 895547.178 922654.552 0, 895824.199 922648.412 0, 896101.221 922642.289 0,
+ 896378.243 922636.182 0, 896655.266 922630.091 0, 896932.289 922624.016 0, 897209.312 922617.958 0, 897486.336 922611.916 0, 897763.36 922605.89 0, 898040.384 922599.881 0, 898317.409 922593.888 0, 898594.434 922587.912 0, 898871.459 922581.951 0,
+ 899148.485 922576.007 0, 899425.511 922570.079 0, 899702.537 922564.168 0, 899979.564 922558.273 0, 900255.235 922552.423 0, 900533.619 922546.531 0, 900810.646 922540.685 0, 901087.674 922534.855 0, 901364.703 922529.041 0, 901641.732 922523.244 0,
+ 901918.761 922517.463 0, 902195.79 922511.698 0, 902472.82 922505.95 0, 902749.851 922500.218 0, 903026.881 922494.502 0, 903303.912 922488.803 0, 903580.943 922483.119 0, 903857.975 922477.453 0, 904135.006 922471.802 0, 904412.039 922466.168 0,
+ 904689.071 922460.55 0, 904966.104 922454.948 0, 905243.137 922449.363 0, 905520.171 922443.794 0, 905797.205 922438.241 0, 906074.239 922432.704 0, 906351.273 922427.184 0, 906628.308 922421.681 0, 906903.988 922416.22 0, 906793.669 916838.608 0,
+ 906683.353 911261.142 0))
+
+POLYGON ((920202.038 922171.991 0, 919926.342 922176.673 0, 919649.293 922181.394 0, 919372.244 922186.131 0, 919095.195 922190.885 0, 918818.147 922195.655 0, 918541.098 922200.442 0, 918264.051 922205.244 0, 917987.003 922210.063 0, 917709.956 922214.898 0,
+ 917432.909 922219.75 0, 917155.862 922224.618 0, 916878.816 922229.502 0, 916601.769 922234.403 0, 916324.724 922239.319 0, 916047.678 922244.253 0, 915770.633 922249.202 0, 915493.588 922254.168 0, 915216.543 922259.15 0, 914939.499 922264.148 0,
+ 914662.455 922269.163 0, 914385.411 922274.194 0, 914108.367 922279.241 0, 913831.324 922284.304 0, 913552.927 922289.409 0, 913277.238 922294.48 0, 913000.196 922299.593 0, 912723.154 922304.722 0, 912446.112 922309.867 0, 912169.071 922315.028 0,
+ 911892.03 922320.206 0, 911614.989 922325.4 0, 911337.949 922330.61 0, 911060.908 922335.837 0, 910783.869 922341.08 0, 910506.829 922346.339 0, 910229.79 922351.615 0, 909952.751 922356.906 0, 909675.712 922362.215 0, 909398.674 922367.539 0,
+ 909121.636 922372.88 0, 908844.598 922378.237 0, 908567.561 922383.61 0, 908290.524 922389 0, 908013.487 922394.406 0, 907736.451 922399.828 0, 907459.414 922405.267 0, 907182.379 922410.722 0, 906903.988 922416.22 0, 907014.31 927993.974 0,
+ 907124.634 933571.867 0, 907402.365 933566.382 0, 907678.744 933560.94 0, 907955.124 933555.514 0, 908231.503 933550.104 0, 908507.884 933544.711 0, 908784.264 933539.334 0, 909060.645 933533.974 0, 909337.026 933528.629 0, 909613.407 933523.301 0,
+ 909889.789 933517.989 0, 910166.171 933512.694 0, 910442.553 933507.414 0, 910718.936 933502.151 0, 910995.319 933496.905 0, 911271.702 933491.674 0, 911548.086 933486.46 0, 911824.47 933481.262 0, 912100.854 933476.08 0, 912377.238 933470.915 0,
+ 912653.623 933465.766 0, 912930.008 933460.633 0, 913206.394 933455.516 0, 913482.779 933450.416 0, 913757.814 933445.356 0, 914035.552 933440.264 0, 914311.938 933435.212 0, 914588.325 933430.177 0, 914864.712 933425.158 0, 915141.1 933420.155 0,
+ 915417.488 933415.169 0, 915693.876 933410.198 0, 915970.264 933405.244 0, 916246.653 933400.307 0, 916523.042 933395.385 0, 916799.431 933390.48 0, 917075.82 933385.591 0, 917352.21 933380.719 0, 917628.6 933375.862 0, 917904.991 933371.022 0,
+ 918181.381 933366.198 0, 918457.772 933361.391 0, 918734.163 933356.6 0, 919010.555 933351.825 0, 919286.947 933347.066 0, 919563.339 933342.323 0, 919839.731 933337.597 0, 920116.124 933332.887 0, 920391.167 933328.216 0, 920296.601 927750.035 0,
+ 920202.038 922171.991 0))
+
+POLYGON ((933658.335 933122.048 0, 933383.278 933125.941 0, 933106.873 933129.871 0, 932830.468 933133.816 0, 932554.064 933137.777 0, 932277.66 933141.755 0, 932001.256 933145.749 0, 931724.852 933149.76 0, 931448.449 933153.787 0, 931172.046 933157.83 0,
+ 930895.643 933161.889 0, 930619.24 933165.964 0, 930342.837 933170.056 0, 930066.435 933174.164 0, 929790.033 933178.288 0, 929513.632 933182.429 0, 929237.23 933186.586 0, 928960.829 933190.759 0, 928684.428 933194.948 0, 928408.027 933199.154 0,
+ 928131.626 933203.376 0, 927855.226 933207.614 0, 927578.826 933211.868 0, 927302.426 933216.139 0, 927024.678 933220.447 0, 926749.628 933224.729 0, 926473.229 933229.049 0, 926196.83 933233.384 0, 925920.431 933237.736 0, 925644.033 933242.105 0,
+ 925367.635 933246.489 0, 925091.238 933250.89 0, 924814.84 933255.307 0, 924538.443 933259.741 0, 924262.046 933264.19 0, 923985.649 933268.656 0, 923709.253 933273.138 0, 923432.857 933277.637 0, 923156.461 933282.152 0, 922880.065 933286.683 0,
+ 922603.67 933291.23 0, 922327.275 933295.793 0, 922050.88 933300.373 0, 921774.485 933304.969 0, 921498.091 933309.582 0, 921221.697 933314.21 0, 920945.303 933318.855 0, 920668.91 933323.516 0, 920391.167 933328.216 0, 920485.734 938906.533 0,
+ 920580.304 944484.979 0, 920857.388 944480.29 0, 921133.124 944475.64 0, 921408.862 944471.006 0, 921684.599 944466.389 0, 921960.336 944461.787 0, 922236.074 944457.202 0, 922511.812 944452.633 0, 922787.551 944448.081 0, 923063.29 944443.544 0,
+ 923339.029 944439.024 0, 923614.768 944434.52 0, 923890.507 944430.032 0, 924166.247 944425.561 0, 924441.987 944421.105 0, 924717.727 944416.666 0, 924993.468 944412.243 0, 925269.209 944407.837 0, 925544.95 944403.446 0, 925820.691 944399.072 0,
+ 926096.432 944394.714 0, 926372.174 944390.373 0, 926647.916 944386.047 0, 926923.659 944381.738 0, 927198.055 944377.466 0, 927475.144 944373.168 0, 927750.887 944368.907 0, 928026.63 944364.663 0, 928302.374 944360.435 0, 928578.118 944356.223 0,
+ 928853.862 944352.028 0, 929129.606 944347.848 0, 929405.351 944343.685 0, 929681.096 944339.538 0, 929956.841 944335.407 0, 930232.586 944331.293 0, 930508.332 944327.195 0, 930784.077 944323.113 0, 931059.823 944319.047 0, 931335.57 944314.997 0,
+ 931611.316 944310.964 0, 931887.063 944306.947 0, 932162.81 944302.946 0, 932438.557 944298.961 0, 932714.304 944294.993 0, 932990.052 944291.041 0, 933265.8 944287.105 0, 933541.548 944283.185 0, 933815.952 944279.3 0, 933737.142 938700.609 0,
+ 933658.335 933122.048 0))
+
+POLYGON ((947052.128 944111.015 0, 946777.712 944114.125 0, 946501.954 944117.265 0, 946226.196 944120.422 0, 945950.438 944123.595 0, 945674.681 944126.785 0, 945398.923 944129.99 0, 945123.166 944133.212 0, 944847.409 944136.45 0, 944571.652 944139.705 0,
+ 944295.896 944142.975 0, 944020.139 944146.262 0, 943744.383 944149.565 0, 943468.627 944152.884 0, 943192.871 944156.219 0, 942917.116 944159.571 0, 942641.36 944162.939 0, 942365.605 944166.323 0, 942089.85 944169.723 0, 941814.095 944173.14 0,
+ 941538.34 944176.573 0, 941262.586 944180.022 0, 940986.832 944183.487 0, 940711.078 944186.969 0, 940433.98 944190.484 0, 940159.57 944193.98 0, 939883.817 944197.511 0, 939608.064 944201.057 0, 939332.311 944204.62 0, 939056.558 944208.199 0,
+ 938780.805 944211.794 0, 938505.053 944215.405 0, 938229.301 944219.033 0, 937953.549 944222.677 0, 937677.797 944226.337 0, 937402.046 944230.013 0, 937126.295 944233.705 0, 936850.544 944237.414 0, 936574.793 944241.139 0, 936299.042 944244.88 0,
+ 936023.292 944248.638 0, 935747.542 944252.411 0, 935471.792 944256.201 0, 935196.042 944260.007 0, 934920.292 944263.83 0, 934644.543 944267.668 0, 934368.794 944271.523 0, 934093.045 944275.394 0, 933815.952 944279.3 0, 933894.763 949858.118 0,
+ 933973.576 955437.059 0, 934250.009 955433.162 0, 934525.101 955429.3 0, 934800.194 955425.454 0, 935075.286 955421.625 0, 935350.379 955417.812 0, 935625.472 955414.015 0, 935900.565 955410.234 0, 936175.659 955406.469 0, 936450.752 955402.72 0,
+ 936725.846 955398.988 0, 937000.94 955395.272 0, 937276.035 955391.572 0, 937551.129 955387.888 0, 937826.224 955384.221 0, 938101.319 955380.57 0, 938376.414 955376.935 0, 938651.51 955373.316 0, 938926.605 955369.713 0, 939201.701 955366.126 0,
+ 939476.797 955362.556 0, 939751.893 955359.002 0, 940026.99 955355.464 0, 940302.087 955351.942 0, 940575.843 955348.453 0, 940852.28 955344.947 0, 941127.378 955341.474 0, 941402.475 955338.017 0, 941677.573 955334.576 0, 941952.671 955331.151 0,
+ 942227.769 955327.743 0, 942502.867 955324.35 0, 942777.966 955320.974 0, 943053.064 955317.614 0, 943328.163 955314.271 0, 943603.262 955310.943 0, 943878.362 955307.632 0, 944153.461 955304.337 0, 944428.561 955301.058 0, 944703.661 955297.795 0,
+ 944978.761 955294.549 0, 945253.861 955291.318 0, 945528.961 955288.104 0, 945804.062 955284.906 0, 946079.163 955281.724 0, 946354.264 955278.559 0, 946629.365 955275.41 0, 946904.466 955272.276 0, 947178.228 955269.174 0, 947115.177 949690.034 0,
+ 947052.128 944111.015 0))
+
+POLYGON ((960383.302 955138.596 0, 960109.531 955140.925 0, 959834.421 955143.281 0, 959559.312 955145.653 0, 959284.204 955148.041 0, 959009.095 955150.446 0, 958733.986 955152.867 0, 958458.878 955155.304 0, 958183.77 955157.757 0, 957908.662 955160.226 0,
+ 957633.554 955162.712 0, 957358.446 955165.213 0, 957083.338 955167.731 0, 956808.23 955170.265 0, 956533.123 955172.816 0, 956258.016 955175.382 0, 955982.909 955177.965 0, 955707.802 955180.564 0, 955432.695 955183.179 0, 955157.588 955185.81 0,
+ 954882.482 955188.457 0, 954607.376 955191.121 0, 954332.27 955193.801 0, 954057.164 955196.497 0, 953780.719 955199.222 0, 953506.952 955201.937 0, 953231.847 955204.682 0, 952956.741 955207.443 0, 952681.636 955210.22 0, 952406.531 955213.013 0,
+ 952131.426 955215.822 0, 951856.321 955218.648 0, 951581.217 955221.489 0, 951306.112 955224.347 0, 951031.008 955227.221 0, 950755.904 955230.112 0, 950480.8 955233.018 0, 950205.697 955235.941 0, 949930.593 955238.88 0, 949655.49 955241.835 0,
+ 949380.387 955244.806 0, 949105.284 955247.794 0, 948830.181 955250.797 0, 948555.078 955253.817 0, 948279.976 955256.853 0, 948004.874 955259.905 0, 947729.771 955262.974 0, 947454.67 955266.059 0, 947178.228 955269.174 0, 947241.281 960848.434 0,
+ 947304.335 966427.807 0, 947580.116 966424.699 0, 947854.561 966421.621 0, 948129.006 966418.56 0, 948403.452 966415.515 0, 948677.897 966412.487 0, 948952.343 966409.474 0, 949226.789 966406.477 0, 949501.236 966403.497 0, 949775.682 966400.533 0,
+ 950050.128 966397.585 0, 950324.575 966394.653 0, 950599.022 966391.737 0, 950873.469 966388.838 0, 951147.916 966385.954 0, 951422.364 966383.087 0, 951696.811 966380.236 0, 951971.259 966377.401 0, 952245.707 966374.582 0, 952520.155 966371.78 0,
+ 952794.603 966368.993 0, 953069.052 966366.223 0, 953343.5 966363.469 0, 953617.949 966360.731 0, 953891.063 966358.022 0, 954166.847 966355.303 0, 954441.296 966352.613 0, 954715.746 966349.94 0, 954990.195 966347.283 0, 955264.645 966344.642 0,
+ 955539.095 966342.017 0, 955813.545 966339.408 0, 956087.995 966336.815 0, 956362.445 966334.239 0, 956636.896 966331.678 0, 956911.346 966329.134 0, 957185.797 966326.606 0, 957460.248 966324.094 0, 957734.699 966321.598 0, 958009.15 966319.119 0,
+ 958283.601 966316.655 0, 958558.053 966314.208 0, 958832.504 966311.777 0, 959106.956 966309.362 0, 959381.408 966306.963 0, 959655.86 966304.581 0, 959930.312 966302.214 0, 960204.765 966299.864 0, 960477.883 966297.541 0, 960430.592 960718.012 0,
+ 960383.302 955138.596 0))
+
+POLYGON ((973651.747 966204.493 0, 973378.621 966206.044 0, 973104.163 966207.619 0, 972829.705 966209.21 0, 972555.248 966210.818 0, 972280.79 966212.441 0, 972006.332 966214.081 0, 971731.875 966215.736 0, 971457.418 966217.408 0, 971182.961 966219.096 0,
+ 970908.503 966220.8 0, 970634.046 966222.521 0, 970359.59 966224.257 0, 970085.133 966226.01 0, 969810.676 966227.779 0, 969536.219 966229.564 0, 969261.763 966231.365 0, 968987.307 966233.182 0, 968712.85 966235.015 0, 968438.394 966236.865 0,
+ 968163.938 966238.731 0, 967889.482 966240.613 0, 967615.026 966242.511 0, 967340.571 966244.425 0, 967064.782 966246.365 0, 966791.66 966248.302 0, 966517.204 966250.264 0, 966242.749 966252.243 0, 965968.294 966254.238 0, 965693.839 966256.249 0,
+ 965419.384 966258.276 0, 965144.929 966260.32 0, 964870.474 966262.379 0, 964596.02 966264.455 0, 964321.566 966266.547 0, 964047.111 966268.655 0, 963772.657 966270.779 0, 963498.203 966272.92 0, 963223.749 966275.076 0, 962949.295 966277.249 0,
+ 962674.842 966279.438 0, 962400.388 966281.643 0, 962125.935 966283.864 0, 961851.481 966286.101 0, 961577.028 966288.354 0, 961302.575 966290.624 0, 961028.122 966292.91 0, 960753.67 966295.212 0, 960477.883 966297.541 0, 960525.175 971877.181 0,
+ 960572.467 977456.927 0, 960847.594 977454.603 0, 961121.39 977452.307 0, 961395.186 977450.027 0, 961668.982 977447.762 0, 961942.778 977445.514 0, 962216.575 977443.282 0, 962490.371 977441.067 0, 962764.168 977438.867 0, 963037.965 977436.683 0,
+ 963311.762 977434.516 0, 963585.559 977432.365 0, 963859.356 977430.229 0, 964133.154 977428.11 0, 964406.951 977426.007 0, 964680.749 977423.92 0, 964954.546 977421.85 0, 965228.344 977419.795 0, 965502.142 977417.756 0, 965775.94 977415.734 0,
+ 966049.738 977413.728 0, 966323.537 977411.738 0, 966597.335 977409.764 0, 966871.134 977407.806 0, 967143.602 977405.873 0, 967418.731 977403.938 0, 967692.53 977402.028 0, 967966.329 977400.135 0, 968240.128 977398.257 0, 968513.927 977396.396 0,
+ 968787.727 977394.551 0, 969061.526 977392.722 0, 969335.326 977390.909 0, 969609.125 977389.112 0, 969882.925 977387.332 0, 970156.725 977385.567 0, 970430.525 977383.819 0, 970704.325 977382.086 0, 970978.125 977380.37 0, 971251.925 977378.67 0,
+ 971525.726 977376.986 0, 971799.526 977375.318 0, 972073.327 977373.666 0, 972347.127 977372.031 0, 972620.928 977370.411 0, 972894.729 977368.808 0, 973168.53 977367.22 0, 973442.331 977365.649 0, 973714.803 977364.102 0, 973683.275 971784.244 0,
+ 973651.747 966204.493 0))
+
+POLYGON ((986857.349 977308.406 0, 986584.872 977309.184 0, 986311.067 977309.982 0, 986037.263 977310.795 0, 985763.459 977311.625 0, 985489.654 977312.471 0, 985215.85 977313.333 0, 984942.046 977314.211 0, 984668.242 977315.106 0, 984394.438 977316.016 0,
+ 984120.634 977316.943 0, 983846.83 977317.886 0, 983573.026 977318.844 0, 983299.222 977319.819 0, 983025.419 977320.81 0, 982751.615 977321.817 0, 982477.811 977322.841 0, 982204.008 977323.88 0, 981930.204 977324.936 0, 981656.401 977326.007 0,
+ 981382.597 977327.095 0, 981108.794 977328.199 0, 980834.991 977329.319 0, 980561.188 977330.455 0, 980286.057 977331.613 0, 980013.581 977332.775 0, 979739.778 977333.96 0, 979465.976 977335.16 0, 979192.173 977336.377 0, 978918.37 977337.61 0,
+ 978644.567 977338.859 0, 978370.765 977340.124 0, 978096.962 977341.405 0, 977823.16 977342.702 0, 977549.357 977344.015 0, 977275.555 977345.345 0, 977001.753 977346.69 0, 976727.95 977348.052 0, 976454.148 977349.43 0, 976180.346 977350.824 0,
+ 975906.544 977352.234 0, 975632.743 977353.66 0, 975358.941 977355.102 0, 975085.139 977356.56 0, 974811.338 977358.035 0, 974537.536 977359.526 0, 974263.735 977361.032 0, 973989.933 977362.555 0, 973714.803 977364.102 0, 973746.332 982944.061 0,
+ 973777.862 988524.119 0, 974052.332 988522.577 0, 974325.477 988521.058 0, 974598.621 988519.554 0, 974871.766 988518.067 0, 975144.911 988516.596 0, 975418.055 988515.142 0, 975691.2 988513.703 0, 975964.345 988512.28 0, 976237.49 988510.873 0,
+ 976510.636 988509.483 0, 976783.781 988508.108 0, 977056.926 988506.75 0, 977330.071 988505.408 0, 977603.217 988504.081 0, 977876.362 988502.771 0, 978149.508 988501.477 0, 978422.654 988500.199 0, 978695.799 988498.937 0, 978968.945 988497.691 0,
+ 979242.091 988496.461 0, 979515.237 988495.248 0, 979788.383 988494.05 0, 980061.529 988492.868 0, 980333.351 988491.708 0, 980607.822 988490.553 0, 980880.968 988489.42 0, 981154.115 988488.303 0, 981427.261 988487.202 0, 981700.408 988486.116 0,
+ 981973.554 988485.047 0, 982246.701 988483.994 0, 982519.847 988482.958 0, 982792.994 988481.937 0, 983066.141 988480.932 0, 983339.288 988479.943 0, 983612.435 988478.971 0, 983885.582 988478.014 0, 984158.729 988477.074 0, 984431.876 988476.15 0,
+ 984705.023 988475.241 0, 984978.17 988474.349 0, 985251.318 988473.473 0, 985524.465 988472.613 0, 985797.612 988471.769 0, 986070.76 988470.941 0, 986343.907 988470.129 0, 986617.055 988469.333 0, 986888.879 988468.558 0, 986873.114 982888.433 0,
+ 986857.349 977308.406 0))
+
+POLYGON ((1000000 988450.037 0, 999728.173 988450.045 0, 999455.024 988450.069 0, 999181.876 988450.109 0, 998908.727 988450.165 0, 998635.578 988450.237 0, 998362.43 988450.326 0, 998089.281 988450.43 0, 997816.132 988450.551 0, 997542.984 988450.687 0,
+ 997269.835 988450.84 0, 996996.686 988451.009 0, 996723.538 988451.194 0, 996450.389 988451.394 0, 996177.241 988451.611 0, 995904.092 988451.844 0, 995630.943 988452.094 0, 995357.795 988452.359 0, 995084.646 988452.64 0, 994811.498 988452.937 0,
+ 994538.349 988453.251 0, 994265.201 988453.58 0, 993992.052 988453.926 0, 993718.904 988454.287 0, 993444.433 988454.667 0, 993172.607 988455.059 0, 992899.459 988455.469 0, 992626.31 988455.895 0, 992353.162 988456.337 0, 992080.014 988456.795 0,
+ 991806.865 988457.269 0, 991533.717 988457.759 0, 991260.569 988458.266 0, 990987.421 988458.788 0, 990714.273 988459.327 0, 990441.125 988459.881 0, 990167.977 988460.452 0, 989894.828 988461.039 0, 989621.68 988461.642 0, 989348.532 988462.26 0,
+ 989075.385 988462.895 0, 988802.237 988463.546 0, 988529.089 988464.214 0, 988255.941 988464.897 0, 987982.793 988465.596 0, 987709.645 988466.311 0, 987436.498 988467.043 0, 987163.35 988467.79 0, 986888.879 988468.558 0, 986904.644 994048.777 0,
+ 986920.409 999629.086 0, 987194.221 999628.32 0, 987466.711 999627.574 0, 987739.202 999626.845 0, 988011.693 999626.131 0, 988284.184 999625.434 0, 988556.675 999624.752 0, 988829.166 999624.086 0, 989101.657 999623.437 0, 989374.148 999622.804 0,
+ 989646.639 999622.186 0, 989919.13 999621.585 0, 990191.621 999621 0, 990464.113 999620.43 0, 990736.604 999619.877 0, 991009.095 999619.34 0, 991281.586 999618.819 0, 991554.078 999618.313 0, 991826.569 999617.824 0, 992099.06 999617.351 0,
+ 992371.552 999616.894 0, 992644.043 999616.453 0, 992916.535 999616.028 0, 993189.026 999615.62 0, 993460.198 999615.229 0, 993734.009 999614.85 0, 994006.501 999614.489 0, 994278.992 999614.144 0, 994551.484 999613.816 0, 994823.975 999613.503 0,
+ 995096.467 999613.206 0, 995368.959 999612.926 0, 995641.45 999612.661 0, 995913.942 999612.413 0, 996186.434 999612.18 0, 996458.926 999611.964 0, 996731.417 999611.763 0, 997003.909 999611.579 0, 997276.401 999611.411 0, 997548.892 999611.258 0,
+ 997821.384 999611.122 0, 998093.876 999611.002 0, 998366.368 999610.898 0, 998638.859 999610.81 0, 998911.351 999610.737 0, 999183.843 999610.681 0, 999456.335 999610.641 0, 999728.827 999610.617 0, 1000000 999610.609 0, 1000000 994030.278 0,
+ 1000000 988450.037 0))
+
+POLYGON ((1013079.591 999629.086 0, 1012808.416 999628.327 0, 1012535.925 999627.582 0, 1012263.435 999626.852 0, 1011990.944 999626.138 0, 1011718.453 999625.44 0, 1011445.962 999624.759 0, 1011173.471 999624.093 0, 1010900.98 999623.443 0, 1010628.489 999622.81 0,
+ 1010355.998 999622.192 0, 1010083.507 999621.591 0, 1009811.016 999621.005 0, 1009538.524 999620.436 0, 1009266.033 999619.882 0, 1008993.542 999619.345 0, 1008721.051 999618.824 0, 1008448.559 999618.318 0, 1008176.068 999617.829 0, 1007903.576 999617.356 0,
+ 1007631.085 999616.899 0, 1007358.594 999616.458 0, 1007086.102 999616.032 0, 1006813.611 999615.623 0, 1006539.802 999615.229 0, 1006268.628 999614.853 0, 1005996.136 999614.492 0, 1005723.645 999614.148 0, 1005451.153 999613.819 0, 1005178.661 999613.506 0,
+ 1004906.17 999613.209 0, 1004633.678 999612.928 0, 1004361.186 999612.664 0, 1004088.695 999612.415 0, 1003816.203 999612.182 0, 1003543.711 999611.966 0, 1003271.22 999611.765 0, 1002998.728 999611.581 0, 1002726.236 999611.412 0, 1002453.744 999611.26 0,
+ 1002181.253 999611.123 0, 1001908.761 999611.003 0, 1001636.269 999610.899 0, 1001363.777 999610.81 0, 1001091.286 999610.738 0, 1000818.794 999610.682 0, 1000546.302 999610.642 0, 1000273.81 999610.618 0, 1000000 999610.609 0, 1000000 1005191.027 0,
+ 1000000 1010771.526 0, 1000273.15 1010771.534 0, 1000544.985 1010771.558 0, 1000816.82 1010771.598 0, 1001088.655 1010771.654 0, 1001360.49 1010771.726 0, 1001632.324 1010771.814 0, 1001904.159 1010771.918 0, 1002175.994 1010772.038 0, 1002447.829 1010772.174 0,
+ 1002719.664 1010772.326 0, 1002991.499 1010772.495 0, 1003263.334 1010772.679 0, 1003535.168 1010772.879 0, 1003807.003 1010773.095 0, 1004078.838 1010773.327 0, 1004350.673 1010773.575 0, 1004622.507 1010773.839 0, 1004894.342 1010774.119 0, 1005166.177 1010774.415 0,
+ 1005438.012 1010774.727 0, 1005709.846 1010775.055 0, 1005981.681 1010775.399 0, 1006253.516 1010775.759 0, 1006524.036 1010776.134 0, 1006797.185 1010776.528 0, 1007069.019 1010776.936 0, 1007340.854 1010777.36 0, 1007612.688 1010777.8 0, 1007884.523 1010778.256 0,
+ 1008156.357 1010778.728 0, 1008428.192 1010779.216 0, 1008700.026 1010779.72 0, 1008971.861 1010780.24 0, 1009243.695 1010780.776 0, 1009515.529 1010781.328 0, 1009787.364 1010781.896 0, 1010059.198 1010782.48 0, 1010331.032 1010783.08 0, 1010602.866 1010783.696 0,
+ 1010874.7 1010784.329 0, 1011146.535 1010784.977 0, 1011418.369 1010785.641 0, 1011690.203 1010786.321 0, 1011962.037 1010787.017 0, 1012233.871 1010787.729 0, 1012505.704 1010788.457 0, 1012777.538 1010789.201 0, 1013048.059 1010789.957 0, 1013063.825 1005209.481 0,
+ 1013079.591 999629.086 0))
+
+POLYGON ((1026096.014 1010845.252 0, 1025825.494 1010843.731 0, 1025553.664 1010842.219 0, 1025281.833 1010840.723 0, 1025010.002 1010839.243 0, 1024738.171 1010837.779 0, 1024466.34 1010836.331 0, 1024194.509 1010834.899 0, 1023922.678 1010833.483 0, 1023650.846 1010832.083 0,
+ 1023379.015 1010830.699 0, 1023107.184 1010829.331 0, 1022835.352 1010827.979 0, 1022563.521 1010826.643 0, 1022291.689 1010825.323 0, 1022019.857 1010824.019 0, 1021748.025 1010822.731 0, 1021476.193 1010821.459 0, 1021204.361 1010820.203 0, 1020932.529 1010818.963 0,
+ 1020660.697 1010817.739 0, 1020388.865 1010816.531 0, 1020117.033 1010815.338 0, 1019845.2 1010814.162 0, 1019572.056 1010812.997 0, 1019301.536 1010811.858 0, 1019029.703 1010810.73 0, 1018757.87 1010809.618 0, 1018486.038 1010808.522 0, 1018214.205 1010807.442 0,
+ 1017942.372 1010806.378 0, 1017670.539 1010805.33 0, 1017398.706 1010804.298 0, 1017126.873 1010803.282 0, 1016855.04 1010802.282 0, 1016583.207 1010801.298 0, 1016311.374 1010800.33 0, 1016039.541 1010799.378 0, 1015767.708 1010798.442 0, 1015495.874 1010797.522 0,
+ 1015224.041 1010796.618 0, 1014952.208 1010795.729 0, 1014680.374 1010794.857 0, 1014408.541 1010794.001 0, 1014136.707 1010793.161 0, 1013864.873 1010792.337 0, 1013593.04 1010791.529 0, 1013321.206 1010790.737 0, 1013048.059 1010789.957 0, 1013032.293 1016370.512 0,
+ 1013016.527 1021951.14 0, 1013289.013 1021951.917 0, 1013560.19 1021952.708 0, 1013831.367 1021953.514 0, 1014102.544 1021954.336 0, 1014373.72 1021955.174 0, 1014644.897 1021956.028 0, 1014916.073 1021956.898 0, 1015187.25 1021957.784 0, 1015458.426 1021958.686 0,
+ 1015729.603 1021959.603 0, 1016000.779 1021960.537 0, 1016271.955 1021961.487 0, 1016543.132 1021962.453 0, 1016814.308 1021963.434 0, 1017085.484 1021964.432 0, 1017356.66 1021965.446 0, 1017627.836 1021966.475 0, 1017899.012 1021967.521 0, 1018170.188 1021968.582 0,
+ 1018441.364 1021969.66 0, 1018712.539 1021970.753 0, 1018983.715 1021971.862 0, 1019254.891 1021972.988 0, 1019524.757 1021974.123 0, 1019797.242 1021975.286 0, 1020068.417 1021976.459 0, 1020339.592 1021977.649 0, 1020610.768 1021978.854 0, 1020881.943 1021980.075 0,
+ 1021153.118 1021981.312 0, 1021424.293 1021982.565 0, 1021695.468 1021983.834 0, 1021966.643 1021985.119 0, 1022237.818 1021986.42 0, 1022508.993 1021987.737 0, 1022780.167 1021989.069 0, 1023051.342 1021990.418 0, 1023322.516 1021991.783 0, 1023593.691 1021993.164 0,
+ 1023864.865 1021994.56 0, 1024136.039 1021995.973 0, 1024407.214 1021997.401 0, 1024678.388 1021998.846 0, 1024949.562 1022000.306 0, 1025220.736 1022001.783 0, 1025491.91 1022003.275 0, 1025763.083 1022004.784 0, 1026032.949 1022006.301 0, 1026064.482 1016425.74 0,
+ 1026096.014 1010845.252 0))
+
+POLYGON ((1039049.164 1022098.235 0, 1038779.301 1022095.956 0, 1038508.133 1022093.681 0, 1038236.964 1022091.423 0, 1037965.796 1022089.18 0, 1037694.627 1022086.954 0, 1037423.458 1022084.743 0, 1037152.289 1022082.548 0, 1036881.12 1022080.37 0, 1036609.95 1022078.207 0,
+ 1036338.781 1022076.06 0, 1036067.611 1022073.929 0, 1035796.442 1022071.814 0, 1035525.272 1022069.715 0, 1035254.102 1022067.632 0, 1034982.932 1022065.565 0, 1034711.762 1022063.514 0, 1034440.591 1022061.479 0, 1034169.421 1022059.46 0, 1033898.25 1022057.457 0,
+ 1033627.08 1022055.47 0, 1033355.909 1022053.498 0, 1033084.738 1022051.543 0, 1032813.567 1022049.604 0, 1032541.089 1022047.671 0, 1032271.225 1022045.773 0, 1032000.053 1022043.882 0, 1031728.882 1022042.006 0, 1031457.71 1022040.147 0, 1031186.538 1022038.303 0,
+ 1030915.367 1022036.476 0, 1030644.195 1022034.664 0, 1030373.023 1022032.868 0, 1030101.851 1022031.088 0, 1029830.678 1022029.325 0, 1029559.506 1022027.577 0, 1029288.334 1022025.845 0, 1029017.161 1022024.129 0, 1028745.989 1022022.429 0, 1028474.816 1022020.745 0,
+ 1028203.643 1022019.077 0, 1027932.47 1022017.425 0, 1027661.297 1022015.789 0, 1027390.124 1022014.169 0, 1027118.951 1022012.565 0, 1026847.777 1022010.977 0, 1026576.604 1022009.405 0, 1026305.431 1022007.848 0, 1026032.949 1022006.301 0, 1026001.416 1027586.931 0,
+ 1025969.883 1033167.627 0, 1026241.704 1033169.17 0, 1026512.221 1033170.723 0, 1026782.737 1033172.291 0, 1027053.254 1033173.876 0, 1027323.77 1033175.476 0, 1027594.286 1033177.092 0, 1027864.802 1033178.724 0, 1028135.318 1033180.372 0, 1028405.834 1033182.036 0,
+ 1028676.35 1033183.716 0, 1028946.865 1033185.412 0, 1029217.381 1033187.124 0, 1029487.897 1033188.851 0, 1029758.412 1033190.595 0, 1030028.927 1033192.354 0, 1030299.442 1033194.13 0, 1030569.958 1033195.921 0, 1030840.472 1033197.728 0, 1031110.987 1033199.551 0,
+ 1031381.502 1033201.391 0, 1031652.017 1033203.246 0, 1031922.531 1033205.117 0, 1032193.046 1033207.003 0, 1032462.256 1033208.897 0, 1032734.074 1033210.825 0, 1033004.588 1033212.759 0, 1033275.102 1033214.71 0, 1033545.616 1033216.676 0, 1033816.13 1033218.659 0,
+ 1034086.644 1033220.657 0, 1034357.157 1033222.671 0, 1034627.67 1033224.702 0, 1034898.184 1033226.748 0, 1035168.697 1033228.81 0, 1035439.21 1033230.888 0, 1035709.723 1033232.981 0, 1035980.236 1033235.091 0, 1036250.748 1033237.217 0, 1036521.261 1033239.358 0,
+ 1036791.773 1033241.516 0, 1037062.285 1033243.689 0, 1037332.798 1033245.879 0, 1037603.31 1033248.084 0, 1037873.822 1033250.305 0, 1038144.333 1033252.542 0, 1038414.845 1033254.796 0, 1038685.356 1033257.065 0, 1038954.565 1033259.338 0, 1039001.865 1027678.754 0,
+ 1039049.164 1022098.235 0))
+
+POLYGON ((1051938.937 1033387.734 0, 1051669.733 1033384.7 0, 1051399.229 1033381.666 0, 1051128.725 1033378.649 0, 1050858.221 1033375.648 0, 1050587.716 1033372.662 0, 1050317.211 1033369.693 0, 1050046.707 1033366.739 0, 1049776.201 1033363.801 0, 1049505.696 1033360.88 0,
+ 1049235.191 1033357.974 0, 1048964.685 1033355.084 0, 1048694.18 1033352.21 0, 1048423.674 1033349.352 0, 1048153.168 1033346.51 0, 1047882.661 1033343.683 0, 1047612.155 1033340.873 0, 1047341.648 1033338.079 0, 1047071.142 1033335.3 0, 1046800.635 1033332.538 0,
+ 1046530.128 1033329.791 0, 1046259.62 1033327.06 0, 1045989.113 1033324.345 0, 1045718.605 1033321.647 0, 1045446.796 1033318.951 0, 1045177.59 1033316.297 0, 1044907.082 1033313.646 0, 1044636.574 1033311.01 0, 1044366.065 1033308.391 0, 1044095.557 1033305.788 0,
+ 1043825.048 1033303.2 0, 1043554.539 1033300.629 0, 1043284.031 1033298.073 0, 1043013.521 1033295.534 0, 1042743.012 1033293.01 0, 1042472.503 1033290.502 0, 1042201.993 1033288.01 0, 1041931.484 1033285.534 0, 1041660.974 1033283.074 0, 1041390.464 1033280.63 0,
+ 1041119.954 1033278.202 0, 1040849.443 1033275.79 0, 1040578.933 1033273.393 0, 1040308.422 1033271.013 0, 1040037.912 1033268.648 0, 1039767.401 1033266.3 0, 1039496.89 1033263.967 0, 1039226.379 1033261.65 0, 1038954.565 1033259.338 0, 1038907.265 1038839.983 0,
+ 1038859.964 1044420.685 0, 1039131.118 1044422.991 0, 1039400.972 1044425.303 0, 1039670.826 1044427.63 0, 1039940.68 1044429.972 0, 1040210.534 1044432.331 0, 1040480.387 1044434.706 0, 1040750.241 1044437.096 0, 1041020.094 1044439.503 0, 1041289.947 1044441.925 0,
+ 1041559.8 1044444.363 0, 1041829.653 1044446.817 0, 1042099.506 1044449.287 0, 1042369.359 1044451.773 0, 1042639.211 1044454.275 0, 1042909.063 1044456.793 0, 1043178.916 1044459.326 0, 1043448.768 1044461.875 0, 1043718.619 1044464.441 0, 1043988.471 1044467.022 0,
+ 1044258.323 1044469.619 0, 1044528.174 1044472.232 0, 1044798.025 1044474.86 0, 1045067.876 1044477.505 0, 1045336.429 1044480.153 0, 1045607.578 1044482.842 0, 1045877.429 1044485.534 0, 1046147.279 1044488.243 0, 1046417.13 1044490.967 0, 1046686.98 1044493.707 0,
+ 1046956.83 1044496.462 0, 1047226.679 1044499.234 0, 1047496.529 1044502.022 0, 1047766.379 1044504.825 0, 1048036.228 1044507.645 0, 1048306.077 1044510.48 0, 1048575.926 1044513.331 0, 1048845.775 1044516.198 0, 1049115.624 1044519.081 0, 1049385.472 1044521.98 0,
+ 1049655.32 1044524.894 0, 1049925.168 1044527.825 0, 1050195.016 1044530.771 0, 1050464.864 1044533.734 0, 1050734.712 1044536.712 0, 1051004.559 1044539.706 0, 1051274.407 1044542.716 0, 1051544.254 1044545.742 0, 1051812.803 1044548.769 0, 1051875.87 1038968.223 0,
+ 1051938.937 1033387.734 0))
+
+POLYGON ((1064765.229 1044713.446 0, 1064496.687 1044709.661 0, 1064226.849 1044705.872 0, 1063957.011 1044702.1 0, 1063687.174 1044698.344 0, 1063417.335 1044694.603 0, 1063147.497 1044690.878 0, 1062877.658 1044687.17 0, 1062607.82 1044683.477 0, 1062337.981 1044679.8 0,
+ 1062068.141 1044676.138 0, 1061798.302 1044672.493 0, 1061528.462 1044668.864 0, 1061258.623 1044665.25 0, 1060988.782 1044661.653 0, 1060718.942 1044658.071 0, 1060449.102 1044654.505 0, 1060179.261 1044650.955 0, 1059909.42 1044647.421 0, 1059639.579 1044643.903 0,
+ 1059369.738 1044640.4 0, 1059099.896 1044636.914 0, 1058830.054 1044633.443 0, 1058560.212 1044629.989 0, 1058289.074 1044626.534 0, 1058020.528 1044623.127 0, 1057750.685 1044619.72 0, 1057480.843 1044616.329 0, 1057211 1044612.954 0, 1056941.157 1044609.594 0,
+ 1056671.313 1044606.251 0, 1056401.47 1044602.923 0, 1056131.626 1044599.611 0, 1055861.782 1044596.316 0, 1055591.938 1044593.036 0, 1055322.094 1044589.771 0, 1055052.249 1044586.523 0, 1054782.404 1044583.291 0, 1054512.56 1044580.074 0, 1054242.715 1044576.874 0,
+ 1053972.869 1044573.689 0, 1053703.024 1044570.52 0, 1053433.178 1044567.368 0, 1053163.332 1044564.231 0, 1052893.486 1044561.109 0, 1052623.64 1044558.004 0, 1052353.794 1044554.915 0, 1052083.947 1044551.841 0, 1051812.803 1044548.769 0, 1051749.736 1050129.367 0,
+ 1051686.667 1055710.014 0, 1051957.151 1055713.079 0, 1052226.341 1055716.145 0, 1052495.531 1055719.226 0, 1052764.72 1055722.324 0, 1053033.909 1055725.438 0, 1053303.098 1055728.567 0, 1053572.286 1055731.712 0, 1053841.475 1055734.873 0, 1054110.663 1055738.05 0,
+ 1054379.851 1055741.243 0, 1054649.039 1055744.452 0, 1054918.227 1055747.676 0, 1055187.415 1055750.916 0, 1055456.602 1055754.173 0, 1055725.789 1055757.445 0, 1055994.976 1055760.732 0, 1056264.163 1055764.036 0, 1056533.35 1055767.356 0, 1056802.536 1055770.691 0,
+ 1057071.722 1055774.042 0, 1057340.908 1055777.409 0, 1057610.094 1055780.792 0, 1057879.28 1055784.191 0, 1058147.172 1055787.589 0, 1058417.651 1055791.036 0, 1058686.836 1055794.482 0, 1058956.02 1055797.944 0, 1059225.205 1055801.422 0, 1059494.389 1055804.916 0,
+ 1059763.574 1055808.426 0, 1060032.758 1055811.951 0, 1060301.941 1055815.492 0, 1060571.125 1055819.05 0, 1060840.308 1055822.623 0, 1061109.491 1055826.211 0, 1061378.674 1055829.816 0, 1061647.857 1055833.437 0, 1061917.04 1055837.073 0, 1062186.222 1055840.725 0,
+ 1062455.404 1055844.393 0, 1062724.586 1055848.077 0, 1062993.768 1055851.777 0, 1063262.949 1055855.493 0, 1063532.13 1055859.224 0, 1063801.311 1055862.972 0, 1064070.492 1055866.735 0, 1064339.673 1055870.514 0, 1064607.561 1055874.29 0, 1064686.395 1050293.844 0,
+ 1064765.229 1044713.446 0))
+
+POLYGON ((1077527.939 1056075.07 0, 1077260.06 1056070.536 0, 1076990.891 1056065.997 0, 1076721.722 1056061.473 0, 1076452.553 1056056.966 0, 1076183.383 1056052.474 0, 1075914.213 1056047.998 0, 1075645.043 1056043.537 0, 1075375.873 1056039.093 0, 1075106.702 1056034.664 0,
+ 1074837.531 1056030.252 0, 1074568.36 1056025.855 0, 1074299.189 1056021.474 0, 1074030.017 1056017.109 0, 1073760.845 1056012.759 0, 1073491.673 1056008.426 0, 1073222.5 1056004.108 0, 1072953.328 1055999.806 0, 1072684.155 1055995.52 0, 1072414.981 1055991.25 0,
+ 1072145.808 1055986.996 0, 1071876.634 1055982.758 0, 1071607.46 1055978.535 0, 1071338.286 1055974.328 0, 1071067.821 1055970.117 0, 1070799.937 1055965.962 0, 1070530.762 1055961.803 0, 1070261.587 1055957.66 0, 1069992.411 1055953.532 0, 1069723.236 1055949.42 0,
+ 1069454.06 1055945.325 0, 1069184.884 1055941.245 0, 1068915.707 1055937.18 0, 1068646.531 1055933.132 0, 1068377.354 1055929.1 0, 1068108.177 1055925.083 0, 1067838.999 1055921.082 0, 1067569.822 1055917.097 0, 1067300.644 1055913.128 0, 1067031.466 1055909.175 0,
+ 1066762.287 1055905.237 0, 1066493.109 1055901.316 0, 1066223.93 1055897.41 0, 1065954.751 1055893.52 0, 1065685.572 1055889.646 0, 1065416.393 1055885.788 0, 1065147.213 1055881.946 0, 1064878.033 1055878.119 0, 1064607.561 1055874.29 0, 1064528.726 1061454.78 0,
+ 1064449.891 1067035.31 0, 1064719.703 1067039.129 0, 1064988.226 1067042.947 0, 1065256.748 1067046.78 0, 1065525.271 1067050.628 0, 1065793.793 1067054.493 0, 1066062.315 1067058.373 0, 1066330.837 1067062.269 0, 1066599.359 1067066.181 0, 1066867.88 1067070.109 0,
+ 1067136.401 1067074.053 0, 1067404.922 1067078.012 0, 1067673.443 1067081.988 0, 1067941.963 1067085.979 0, 1068210.483 1067089.985 0, 1068479.003 1067094.008 0, 1068747.523 1067098.046 0, 1069016.043 1067102.101 0, 1069284.562 1067106.171 0, 1069553.081 1067110.257 0,
+ 1069821.6 1067114.358 0, 1070090.118 1067118.476 0, 1070358.637 1067122.609 0, 1070627.155 1067126.758 0, 1070894.385 1067130.903 0, 1071164.19 1067135.104 0, 1071432.707 1067139.3 0, 1071701.224 1067143.512 0, 1071969.741 1067147.741 0, 1072238.258 1067151.984 0,
+ 1072506.774 1067156.244 0, 1072775.29 1067160.52 0, 1073043.806 1067164.811 0, 1073312.321 1067169.118 0, 1073580.837 1067173.441 0, 1073849.352 1067177.78 0, 1074117.867 1067182.134 0, 1074386.381 1067186.505 0, 1074654.895 1067190.891 0, 1074923.409 1067195.293 0,
+ 1075191.923 1067199.71 0, 1075460.437 1067204.144 0, 1075728.95 1067208.593 0, 1075997.463 1067213.058 0, 1076265.976 1067217.539 0, 1076534.488 1067222.036 0, 1076803 1067226.549 0, 1077071.512 1067231.077 0, 1077338.737 1067235.599 0, 1077433.338 1061655.315 0,
+ 1077527.939 1056075.07 0))
+
+POLYGON ((1090226.966 1067472.302 0, 1089959.753 1067467.024 0, 1089691.255 1067461.737 0, 1089422.757 1067456.466 0, 1089154.258 1067451.211 0, 1088885.759 1067445.971 0, 1088617.26 1067440.748 0, 1088348.76 1067435.54 0, 1088080.26 1067430.348 0, 1087811.76 1067425.171 0,
+ 1087543.259 1067420.011 0, 1087274.759 1067414.866 0, 1087006.258 1067409.737 0, 1086737.756 1067404.624 0, 1086469.254 1067399.527 0, 1086200.752 1067394.445 0, 1085932.25 1067389.379 0, 1085663.747 1067384.33 0, 1085395.245 1067379.295 0, 1085126.741 1067374.277 0,
+ 1084858.238 1067369.275 0, 1084589.734 1067364.288 0, 1084321.23 1067359.317 0, 1084052.726 1067354.362 0, 1083782.935 1067349.399 0, 1083515.716 1067344.499 0, 1083247.211 1067339.592 0, 1082978.705 1067334.7 0, 1082710.199 1067329.824 0, 1082441.693 1067324.963 0,
+ 1082173.187 1067320.119 0, 1081904.68 1067315.29 0, 1081636.173 1067310.477 0, 1081367.666 1067305.68 0, 1081099.158 1067300.899 0, 1080830.651 1067296.134 0, 1080562.142 1067291.384 0, 1080293.634 1067286.65 0, 1080025.125 1067281.932 0, 1079756.616 1067277.23 0,
+ 1079488.107 1067272.544 0, 1079219.598 1067267.873 0, 1078951.088 1067263.218 0, 1078682.578 1067258.579 0, 1078414.068 1067253.956 0, 1078145.557 1067249.349 0, 1077877.046 1067244.757 0, 1077608.535 1067240.181 0, 1077338.737 1067235.599 0, 1077244.135 1072815.919 0,
+ 1077149.533 1078396.27 0, 1077418.671 1078400.841 0, 1077686.525 1078405.406 0, 1077954.379 1078409.986 0, 1078222.233 1078414.582 0, 1078490.087 1078419.194 0, 1078757.94 1078423.822 0, 1079025.793 1078428.465 0, 1079293.645 1078433.124 0, 1079561.497 1078437.799 0,
+ 1079829.349 1078442.49 0, 1080097.201 1078447.196 0, 1080365.053 1078451.919 0, 1080632.904 1078456.657 0, 1080900.755 1078461.41 0, 1081168.606 1078466.18 0, 1081436.456 1078470.965 0, 1081704.306 1078475.766 0, 1081972.156 1078480.583 0, 1082240.005 1078485.416 0,
+ 1082507.855 1078490.264 0, 1082775.703 1078495.128 0, 1083043.552 1078500.008 0, 1083311.4 1078504.904 0, 1083577.966 1078509.792 0, 1083847.096 1078514.742 0, 1084114.944 1078519.685 0, 1084382.791 1078524.644 0, 1084650.638 1078529.619 0, 1084918.485 1078534.609 0,
+ 1085186.331 1078539.615 0, 1085454.177 1078544.637 0, 1085722.023 1078549.674 0, 1085989.868 1078554.727 0, 1086257.713 1078559.797 0, 1086525.558 1078564.881 0, 1086793.403 1078569.982 0, 1087061.247 1078575.098 0, 1087329.091 1078580.23 0, 1087596.935 1078585.378 0,
+ 1087864.778 1078590.542 0, 1088132.621 1078595.721 0, 1088400.464 1078600.917 0, 1088668.306 1078606.128 0, 1088936.148 1078611.354 0, 1089203.99 1078616.597 0, 1089471.832 1078621.855 0, 1089739.673 1078627.129 0, 1090006.232 1078632.394 0, 1090116.599 1073052.332 0,
+ 1090226.966 1067472.302 0))
+
+POLYGON ((1102862.213 1078904.838 0, 1102595.667 1078898.821 0, 1102327.842 1078892.79 0, 1102060.016 1078886.775 0, 1101792.19 1078880.776 0, 1101524.364 1078874.793 0, 1101256.537 1078868.825 0, 1100988.711 1078862.873 0, 1100720.883 1078856.937 0, 1100453.055 1078851.017 0,
+ 1100185.227 1078845.112 0, 1099917.399 1078839.223 0, 1099649.57 1078833.35 0, 1099381.741 1078827.493 0, 1099113.912 1078821.651 0, 1098846.082 1078815.825 0, 1098578.252 1078810.015 0, 1098310.422 1078804.221 0, 1098042.591 1078798.443 0, 1097774.76 1078792.68 0,
+ 1097506.928 1078786.933 0, 1097239.096 1078781.202 0, 1096971.264 1078775.487 0, 1096703.432 1078769.787 0, 1096434.319 1078764.076 0, 1096167.766 1078758.435 0, 1095899.932 1078752.782 0, 1095632.099 1078747.146 0, 1095364.264 1078741.525 0, 1095096.43 1078735.92 0,
+ 1094828.595 1078730.331 0, 1094560.76 1078724.757 0, 1094292.925 1078719.199 0, 1094025.089 1078713.657 0, 1093757.253 1078708.131 0, 1093489.416 1078702.621 0, 1093221.58 1078697.126 0, 1092953.742 1078691.647 0, 1092685.905 1078686.184 0, 1092418.067 1078680.736 0,
+ 1092150.229 1078675.305 0, 1091882.391 1078669.889 0, 1091614.552 1078664.489 0, 1091346.713 1078659.104 0, 1091078.874 1078653.736 0, 1090811.034 1078648.383 0, 1090543.194 1078643.046 0, 1090275.354 1078637.724 0, 1090006.232 1078632.394 0, 1089895.864 1084212.482 0,
+ 1089785.496 1089792.592 0, 1090053.958 1089797.91 0, 1090321.141 1089803.218 0, 1090588.324 1089808.542 0, 1090855.507 1089813.882 0, 1091122.69 1089819.237 0, 1091389.872 1089824.609 0, 1091657.054 1089829.995 0, 1091924.235 1089835.398 0, 1092191.416 1089840.816 0,
+ 1092458.597 1089846.25 0, 1092725.778 1089851.7 0, 1092992.958 1089857.166 0, 1093260.138 1089862.647 0, 1093527.317 1089868.144 0, 1093794.497 1089873.657 0, 1094061.676 1089879.185 0, 1094328.854 1089884.729 0, 1094596.032 1089890.289 0, 1094863.21 1089895.865 0,
+ 1095130.388 1089901.456 0, 1095397.565 1089907.063 0, 1095664.742 1089912.686 0, 1095931.919 1089918.324 0, 1096197.818 1089923.951 0, 1096466.271 1089929.649 0, 1096733.447 1089935.334 0, 1097000.622 1089941.036 0, 1097267.797 1089946.753 0, 1097534.972 1089952.486 0,
+ 1097802.146 1089958.234 0, 1098069.32 1089963.998 0, 1098336.493 1089969.778 0, 1098603.667 1089975.574 0, 1098870.84 1089981.386 0, 1099138.012 1089987.213 0, 1099405.184 1089993.056 0, 1099672.356 1089998.914 0, 1099939.528 1090004.789 0, 1100206.699 1090010.679 0,
+ 1100473.87 1090016.585 0, 1100741.04 1090022.506 0, 1101008.21 1090028.444 0, 1101275.38 1090034.397 0, 1101542.55 1090040.365 0, 1101809.719 1090046.35 0, 1102076.888 1090052.35 0, 1102344.056 1090058.366 0, 1102609.948 1090064.369 0, 1102736.08 1084484.592 0,
+ 1102862.213 1078904.838 0))
+
+POLYGON ((1115433.581 1090372.376 0, 1115167.705 1090365.622 0, 1114900.554 1090358.851 0, 1114633.404 1090352.096 0, 1114366.253 1090345.357 0, 1114099.101 1090338.633 0, 1113831.949 1090331.925 0, 1113564.797 1090325.233 0, 1113297.644 1090318.557 0, 1113030.491 1090311.896 0,
+ 1112763.338 1090305.252 0, 1112496.184 1090298.622 0, 1112229.029 1090292.009 0, 1111961.875 1090285.411 0, 1111694.72 1090278.829 0, 1111427.564 1090272.263 0, 1111160.408 1090265.712 0, 1110893.252 1090259.178 0, 1110626.096 1090252.658 0, 1110358.939 1090246.155 0,
+ 1110091.781 1090239.667 0, 1109824.624 1090233.196 0, 1109557.465 1090226.739 0, 1109290.307 1090220.299 0, 1109021.873 1090213.843 0, 1108755.989 1090207.465 0, 1108488.829 1090201.072 0, 1108221.669 1090194.694 0, 1107954.509 1090188.332 0, 1107687.348 1090181.986 0,
+ 1107420.187 1090175.656 0, 1107153.025 1090169.341 0, 1106885.864 1090163.042 0, 1106618.701 1090156.759 0, 1106351.539 1090150.491 0, 1106084.376 1090144.24 0, 1105817.212 1090138.004 0, 1105550.049 1090131.783 0, 1105282.885 1090125.579 0, 1105015.72 1090119.39 0,
+ 1104748.555 1090113.217 0, 1104481.39 1090107.059 0, 1104214.225 1090100.918 0, 1103947.059 1090094.792 0, 1103679.893 1090088.681 0, 1103412.726 1090082.587 0, 1103145.559 1090076.508 0, 1102878.392 1090070.445 0, 1102609.948 1090064.369 0, 1102483.815 1095644.163 0,
+ 1102357.681 1101223.971 0, 1102625.465 1101230.032 0, 1102891.976 1101236.08 0, 1103158.486 1101242.144 0, 1103424.996 1101248.224 0, 1103691.505 1101254.319 0, 1103958.014 1101260.43 0, 1104224.523 1101266.557 0, 1104491.031 1101272.699 0, 1104757.539 1101278.857 0,
+ 1105024.047 1101285.031 0, 1105290.554 1101291.22 0, 1105557.061 1101297.425 0, 1105823.567 1101303.646 0, 1106090.074 1101309.882 0, 1106356.579 1101316.134 0, 1106623.085 1101322.402 0, 1106889.59 1101328.685 0, 1107156.095 1101334.985 0, 1107422.599 1101341.299 0,
+ 1107689.103 1101347.63 0, 1107955.606 1101353.976 0, 1108222.11 1101360.338 0, 1108488.612 1101366.716 0, 1108753.843 1101373.078 0, 1109021.617 1101379.518 0, 1109288.119 1101385.942 0, 1109554.62 1101392.383 0, 1109821.121 1101398.839 0, 1110087.621 1101405.311 0,
+ 1110354.121 1101411.798 0, 1110620.621 1101418.301 0, 1110887.121 1101424.82 0, 1111153.62 1101431.354 0, 1111420.118 1101437.904 0, 1111686.617 1101444.47 0, 1111953.114 1101451.052 0, 1112219.612 1101457.649 0, 1112486.109 1101464.262 0, 1112752.606 1101470.89 0,
+ 1113019.102 1101477.534 0, 1113285.598 1101484.194 0, 1113552.093 1101490.87 0, 1113818.588 1101497.561 0, 1114085.083 1101504.268 0, 1114351.578 1101510.991 0, 1114618.071 1101517.729 0, 1114884.565 1101524.483 0, 1115149.787 1101531.221 0, 1115291.684 1095951.791 0,
+ 1115433.581 1090372.376 0))
+
+POLYGON ((1127940.974 1101874.609 0, 1127675.77 1101867.122 0, 1127409.297 1101859.615 0, 1127142.823 1101852.124 0, 1126876.348 1101844.649 0, 1126609.874 1101837.189 0, 1126343.399 1101829.745 0, 1126076.923 1101822.316 0, 1125810.447 1101814.903 0, 1125543.97 1101807.506 0,
+ 1125277.494 1101800.125 0, 1125011.016 1101792.759 0, 1124744.538 1101785.409 0, 1124478.06 1101778.075 0, 1124211.582 1101770.756 0, 1123945.103 1101763.453 0, 1123678.623 1101756.166 0, 1123412.143 1101748.894 0, 1123145.663 1101741.638 0, 1122879.182 1101734.398 0,
+ 1122612.701 1101727.173 0, 1122346.219 1101719.964 0, 1122079.737 1101712.771 0, 1121813.255 1101705.594 0, 1121545.502 1101698.398 0, 1121280.288 1101691.286 0, 1121013.805 1101684.155 0, 1120747.321 1101677.04 0, 1120480.836 1101669.941 0, 1120214.351 1101662.858 0,
+ 1119947.866 1101655.79 0, 1119681.38 1101648.738 0, 1119414.894 1101641.702 0, 1119148.407 1101634.681 0, 1118881.92 1101627.676 0, 1118615.432 1101620.687 0, 1118348.945 1101613.713 0, 1118082.456 1101606.755 0, 1117815.968 1101599.813 0, 1117549.478 1101592.886 0,
+ 1117282.989 1101585.975 0, 1117016.499 1101579.08 0, 1116750.009 1101572.201 0, 1116483.518 1101565.337 0, 1116217.027 1101558.489 0, 1115950.535 1101551.656 0, 1115684.043 1101544.839 0, 1115417.551 1101538.038 0, 1115149.787 1101531.221 0, 1115007.89 1107110.659 0,
+ 1114865.993 1112690.103 0, 1115133.097 1112696.903 0, 1115398.932 1112703.688 0, 1115664.767 1112710.488 0, 1115930.602 1112717.303 0, 1116196.436 1112724.135 0, 1116462.27 1112730.982 0, 1116728.104 1112737.844 0, 1116993.937 1112744.722 0, 1117259.77 1112751.616 0,
+ 1117525.602 1112758.526 0, 1117791.434 1112765.451 0, 1118057.266 1112772.392 0, 1118323.097 1112779.348 0, 1118588.927 1112786.32 0, 1118854.758 1112793.308 0, 1119120.588 1112800.311 0, 1119386.417 1112807.33 0, 1119652.246 1112814.365 0, 1119918.075 1112821.415 0,
+ 1120183.903 1112828.481 0, 1120449.731 1112835.563 0, 1120715.558 1112842.66 0, 1120981.385 1112849.773 0, 1121245.945 1112856.868 0, 1121513.038 1112864.046 0, 1121778.864 1112871.206 0, 1122044.689 1112878.381 0, 1122310.514 1112885.572 0, 1122576.338 1112892.779 0,
+ 1122842.162 1112900.001 0, 1123107.986 1112907.239 0, 1123373.809 1112914.493 0, 1123639.632 1112921.763 0, 1123905.454 1112929.048 0, 1124171.276 1112936.348 0, 1124437.097 1112943.664 0, 1124702.918 1112950.996 0, 1124968.739 1112958.344 0, 1125234.559 1112965.707 0,
+ 1125500.379 1112973.086 0, 1125766.198 1112980.481 0, 1126032.017 1112987.891 0, 1126297.835 1112995.317 0, 1126563.653 1113002.758 0, 1126829.471 1113010.215 0, 1127095.288 1113017.688 0, 1127361.104 1113025.176 0, 1127625.655 1113032.645 0, 1127783.315 1107453.624 0,
+ 1127940.974 1101874.609 0))
+
+POLYGON ((1140384.298 1113411.234 0, 1140119.768 1113403.018 0, 1139853.974 1113394.779 0, 1139588.179 1113386.555 0, 1139322.383 1113378.347 0, 1139056.587 1113370.154 0, 1138790.791 1113361.978 0, 1138524.994 1113353.817 0, 1138259.197 1113345.671 0, 1137993.399 1113337.541 0,
+ 1137727.601 1113329.427 0, 1137461.802 1113321.329 0, 1137196.003 1113313.246 0, 1136930.203 1113305.178 0, 1136664.403 1113297.127 0, 1136398.602 1113289.091 0, 1136132.801 1113281.07 0, 1135866.999 1113273.066 0, 1135601.197 1113265.077 0, 1135335.395 1113257.103 0,
+ 1135069.592 1113249.146 0, 1134803.788 1113241.203 0, 1134537.984 1113233.277 0, 1134272.18 1113225.366 0, 1134005.11 1113217.433 0, 1133740.57 1113209.591 0, 1133474.764 1113201.728 0, 1133208.958 1113193.879 0, 1132943.151 1113186.047 0, 1132677.344 1113178.23 0,
+ 1132411.536 1113170.429 0, 1132145.728 1113162.643 0, 1131879.919 1113154.873 0, 1131614.11 1113147.118 0, 1131348.301 1113139.38 0, 1131082.491 1113131.657 0, 1130816.681 1113123.949 0, 1130550.87 1113116.257 0, 1130285.058 1113108.581 0, 1130019.247 1113100.921 0,
+ 1129753.434 1113093.276 0, 1129487.622 1113085.647 0, 1129221.809 1113078.033 0, 1128955.995 1113070.435 0, 1128690.181 1113062.853 0, 1128424.367 1113055.286 0, 1128158.552 1113047.735 0, 1127892.736 1113040.2 0, 1127625.655 1113032.645 0, 1127467.995 1118611.665 0,
+ 1127310.336 1124190.682 0, 1127576.758 1124198.218 0, 1127841.916 1124205.735 0, 1128107.074 1124213.267 0, 1128372.232 1124220.815 0, 1128637.389 1124228.379 0, 1128902.546 1124235.958 0, 1129167.702 1124243.553 0, 1129432.858 1124251.163 0, 1129698.014 1124258.789 0,
+ 1129963.169 1124266.431 0, 1130228.323 1124274.088 0, 1130493.477 1124281.761 0, 1130758.631 1124289.449 0, 1131023.784 1124297.153 0, 1131288.937 1124304.873 0, 1131554.089 1124312.608 0, 1131819.241 1124320.359 0, 1132084.393 1124328.125 0, 1132349.544 1124335.907 0,
+ 1132614.694 1124343.705 0, 1132879.844 1124351.518 0, 1133144.994 1124359.347 0, 1133410.143 1124367.191 0, 1133674.03 1124375.014 0, 1133940.44 1124382.927 0, 1134205.587 1124390.818 0, 1134470.735 1124398.725 0, 1134735.881 1124406.648 0, 1135001.028 1124414.586 0,
+ 1135266.173 1124422.539 0, 1135531.319 1124430.509 0, 1135796.464 1124438.494 0, 1136061.608 1124446.494 0, 1136326.752 1124454.51 0, 1136591.896 1124462.542 0, 1136857.039 1124470.589 0, 1137122.181 1124478.652 0, 1137387.323 1124486.731 0, 1137652.465 1124494.825 0,
+ 1137917.606 1124502.935 0, 1138182.747 1124511.06 0, 1138447.887 1124519.201 0, 1138713.026 1124527.358 0, 1138978.166 1124535.53 0, 1139243.304 1124543.718 0, 1139508.443 1124551.921 0, 1139773.58 1124560.14 0, 1140037.457 1124568.335 0, 1140210.878 1118989.787 0,
+ 1140384.298 1113411.234 0))
+
+POLYGON ((1152763.461 1124981.944 0, 1152499.606 1124973.003 0, 1152234.493 1124964.035 0, 1151969.379 1124955.083 0, 1151704.264 1124946.146 0, 1151439.149 1124937.225 0, 1151174.033 1124928.319 0, 1150908.917 1124919.429 0, 1150643.801 1124910.555 0, 1150378.684 1124901.696 0,
+ 1150113.566 1124892.853 0, 1149848.448 1124884.025 0, 1149583.329 1124875.213 0, 1149318.21 1124866.417 0, 1149053.09 1124857.636 0, 1148787.97 1124848.871 0, 1148522.849 1124840.121 0, 1148257.728 1124831.387 0, 1147992.606 1124822.669 0, 1147727.484 1124813.966 0,
+ 1147462.361 1124805.279 0, 1147197.237 1124796.607 0, 1146932.114 1124787.951 0, 1146666.989 1124779.311 0, 1146400.605 1124770.645 0, 1146136.739 1124762.077 0, 1145871.613 1124753.484 0, 1145606.487 1124744.906 0, 1145341.36 1124736.344 0, 1145076.232 1124727.797 0,
+ 1144811.105 1124719.266 0, 1144545.976 1124710.75 0, 1144280.847 1124702.25 0, 1144015.718 1124693.766 0, 1143750.588 1124685.297 0, 1143485.458 1124676.844 0, 1143220.327 1124668.407 0, 1142955.195 1124659.985 0, 1142690.063 1124651.579 0, 1142424.931 1124643.188 0,
+ 1142159.798 1124634.813 0, 1141894.665 1124626.454 0, 1141629.531 1124618.11 0, 1141364.397 1124609.782 0, 1141099.262 1124601.469 0, 1140834.126 1124593.172 0, 1140568.991 1124584.891 0, 1140303.854 1124576.625 0, 1140037.457 1124568.335 0, 1139864.037 1130146.876 0,
+ 1139690.617 1135725.403 0, 1139956.354 1135733.671 0, 1140220.834 1135741.917 0, 1140485.313 1135750.178 0, 1140749.792 1135758.454 0, 1141014.27 1135766.746 0, 1141278.748 1135775.054 0, 1141543.225 1135783.377 0, 1141807.701 1135791.716 0, 1142072.178 1135800.07 0,
+ 1142336.653 1135808.44 0, 1142601.128 1135816.825 0, 1142865.603 1135825.226 0, 1143130.077 1135833.643 0, 1143394.551 1135842.075 0, 1143659.024 1135850.523 0, 1143923.497 1135858.986 0, 1144187.969 1135867.465 0, 1144452.441 1135875.959 0, 1144716.912 1135884.469 0,
+ 1144981.383 1135892.995 0, 1145245.853 1135901.536 0, 1145510.323 1135910.093 0, 1145774.792 1135918.665 0, 1146038.005 1135927.212 0, 1146303.729 1135935.856 0, 1146568.197 1135944.475 0, 1146832.664 1135953.109 0, 1147097.131 1135961.759 0, 1147361.597 1135970.425 0,
+ 1147626.063 1135979.106 0, 1147890.528 1135987.803 0, 1148154.992 1135996.515 0, 1148419.456 1136005.243 0, 1148683.92 1136013.987 0, 1148948.383 1136022.746 0, 1149212.846 1136031.52 0, 1149477.308 1136040.31 0, 1149741.769 1136049.116 0, 1150006.23 1136057.937 0,
+ 1150270.691 1136066.774 0, 1150535.151 1136075.627 0, 1150799.61 1136084.495 0, 1151064.069 1136093.378 0, 1151328.528 1136102.277 0, 1151592.986 1136111.192 0, 1151857.443 1136120.122 0, 1152121.9 1136129.068 0, 1152385.101 1136137.987 0, 1152574.281 1130559.972 0,
+ 1152763.461 1124981.944 0))
+
+POLYGON ((1165078.369 1136586.434 0, 1164815.192 1136576.771 0, 1164550.761 1136567.078 0, 1164286.33 1136557.401 0, 1164021.899 1136547.739 0, 1163757.467 1136538.093 0, 1163493.034 1136528.462 0, 1163228.6 1136518.847 0, 1162964.166 1136509.248 0, 1162699.732 1136499.664 0,
+ 1162435.297 1136490.095 0, 1162170.861 1136480.543 0, 1161906.425 1136471.005 0, 1161641.988 1136461.484 0, 1161377.551 1136451.977 0, 1161113.113 1136442.487 0, 1160848.675 1136433.012 0, 1160584.236 1136423.552 0, 1160319.796 1136414.108 0, 1160055.356 1136404.68 0,
+ 1159790.916 1136395.267 0, 1159526.474 1136385.87 0, 1159262.033 1136376.489 0, 1158997.59 1136367.123 0, 1158731.893 1136357.728 0, 1158468.704 1136348.437 0, 1158204.26 1136339.118 0, 1157939.816 1136329.814 0, 1157675.371 1136320.526 0, 1157410.925 1136311.253 0,
+ 1157146.479 1136301.996 0, 1156882.032 1136292.754 0, 1156617.585 1136283.528 0, 1156353.137 1136274.318 0, 1156088.689 1136265.123 0, 1155824.24 1136255.944 0, 1155559.791 1136246.78 0, 1155295.341 1136237.632 0, 1155030.89 1136228.499 0, 1154766.439 1136219.382 0,
+ 1154501.988 1136210.281 0, 1154237.536 1136201.195 0, 1153973.083 1136192.125 0, 1153708.63 1136183.07 0, 1153444.176 1136174.031 0, 1153179.722 1136165.007 0, 1152915.267 1136155.999 0, 1152650.812 1136147.006 0, 1152385.101 1136137.987 0, 1152195.922 1141715.984 0,
+ 1152006.744 1147293.96 0, 1152271.795 1147302.957 0, 1152535.594 1147311.927 0, 1152799.392 1147320.913 0, 1153063.189 1147329.914 0, 1153326.986 1147338.931 0, 1153590.783 1147347.963 0, 1153854.579 1147357.011 0, 1154118.374 1147366.074 0, 1154382.169 1147375.153 0,
+ 1154645.964 1147384.247 0, 1154909.758 1147393.357 0, 1155173.551 1147402.483 0, 1155437.344 1147411.624 0, 1155701.136 1147420.78 0, 1155964.928 1147429.952 0, 1156228.719 1147439.14 0, 1156492.51 1147448.343 0, 1156756.3 1147457.561 0, 1157020.089 1147466.796 0,
+ 1157283.878 1147476.045 0, 1157547.667 1147485.31 0, 1157811.454 1147494.591 0, 1158075.242 1147503.887 0, 1158337.778 1147513.155 0, 1158602.815 1147522.526 0, 1158866.601 1147531.869 0, 1159130.386 1147541.227 0, 1159394.17 1147550.601 0, 1159657.954 1147559.991 0,
+ 1159921.738 1147569.396 0, 1160185.521 1147578.816 0, 1160449.303 1147588.252 0, 1160713.085 1147597.704 0, 1160976.866 1147607.171 0, 1161240.647 1147616.653 0, 1161504.427 1147626.151 0, 1161768.207 1147635.665 0, 1162031.986 1147645.194 0, 1162295.764 1147654.739 0,
+ 1162559.542 1147664.299 0, 1162823.32 1147673.874 0, 1163087.097 1147683.466 0, 1163350.873 1147693.072 0, 1163614.648 1147702.695 0, 1163878.424 1147712.332 0, 1164142.198 1147721.986 0, 1164405.972 1147731.655 0, 1164668.496 1147741.293 0, 1164873.432 1142163.874 0,
+ 1165078.369 1136586.434 0))
+
+POLYGON ((1177328.933 1148224.396 0, 1177066.436 1148214.016 0, 1176802.69 1148203.602 0, 1176538.944 1148193.204 0, 1176275.197 1148182.821 0, 1176011.45 1148172.453 0, 1175747.702 1148162.101 0, 1175483.953 1148151.765 0, 1175220.204 1148141.444 0, 1174956.454 1148131.139 0,
+ 1174692.703 1148120.849 0, 1174428.952 1148110.575 0, 1174165.201 1148100.316 0, 1173901.448 1148090.073 0, 1173637.695 1148079.845 0, 1173373.942 1148069.633 0, 1173110.188 1148059.436 0, 1172846.433 1148049.255 0, 1172582.678 1148039.089 0, 1172318.922 1148028.939 0,
+ 1172055.166 1148018.804 0, 1171791.409 1148008.685 0, 1171527.651 1147998.582 0, 1171263.893 1147988.494 0, 1170998.885 1147978.374 0, 1170736.374 1147968.364 0, 1170472.614 1147958.323 0, 1170208.854 1147948.297 0, 1169945.092 1147938.287 0, 1169681.331 1147928.292 0,
+ 1169417.568 1147918.312 0, 1169153.805 1147908.349 0, 1168890.042 1147898.4 0, 1168626.277 1147888.468 0, 1168362.513 1147878.55 0, 1168098.747 1147868.649 0, 1167834.981 1147858.762 0, 1167571.215 1147848.892 0, 1167307.448 1147839.037 0, 1167043.68 1147829.197 0,
+ 1166779.912 1147819.373 0, 1166516.143 1147809.564 0, 1166252.374 1147799.771 0, 1165988.604 1147789.994 0, 1165724.833 1147780.232 0, 1165461.062 1147770.485 0, 1165197.291 1147760.754 0, 1164933.518 1147751.039 0, 1164668.496 1147741.293 0, 1164463.56 1153318.685 0,
+ 1164258.626 1158896.046 0, 1164522.989 1158905.768 0, 1164786.105 1158915.459 0, 1165049.22 1158925.166 0, 1165312.335 1158934.888 0, 1165575.449 1158944.625 0, 1165838.562 1158954.379 0, 1166101.675 1158964.147 0, 1166364.787 1158973.931 0, 1166627.899 1158983.731 0,
+ 1166891.01 1158993.546 0, 1167154.12 1159003.377 0, 1167417.23 1159013.223 0, 1167680.34 1159023.085 0, 1167943.449 1159032.962 0, 1168206.557 1159042.854 0, 1168469.664 1159052.762 0, 1168732.772 1159062.686 0, 1168995.878 1159072.625 0, 1169258.984 1159082.579 0,
+ 1169522.089 1159092.549 0, 1169785.194 1159102.535 0, 1170048.298 1159112.536 0, 1170311.402 1159122.552 0, 1170573.259 1159132.537 0, 1170837.607 1159142.631 0, 1171100.709 1159152.694 0, 1171363.81 1159162.773 0, 1171626.91 1159172.867 0, 1171890.01 1159182.976 0,
+ 1172153.11 1159193.101 0, 1172416.208 1159203.241 0, 1172679.307 1159213.397 0, 1172942.404 1159223.568 0, 1173205.501 1159233.755 0, 1173468.598 1159243.957 0, 1173731.693 1159254.175 0, 1173994.789 1159264.408 0, 1174257.883 1159274.657 0, 1174520.977 1159284.921 0,
+ 1174784.07 1159295.201 0, 1175047.163 1159305.496 0, 1175310.255 1159315.807 0, 1175573.347 1159326.133 0, 1175836.438 1159336.475 0, 1176099.528 1159346.832 0, 1176362.618 1159357.204 0, 1176625.707 1159367.593 0, 1176887.551 1159377.947 0, 1177108.241 1153801.187 0,
+ 1177328.933 1148224.396 0))
+
+POLYGON ((1189515.064 1159895.525 0, 1189253.248 1159884.431 0, 1188990.19 1159873.299 0, 1188727.13 1159862.183 0, 1188464.07 1159851.083 0, 1188201.01 1159839.998 0, 1187937.948 1159828.929 0, 1187674.886 1159817.875 0, 1187411.824 1159806.837 0, 1187148.76 1159795.814 0,
+ 1186885.696 1159784.806 0, 1186622.632 1159773.814 0, 1186359.567 1159762.838 0, 1186096.501 1159751.877 0, 1185833.434 1159740.931 0, 1185570.367 1159730.001 0, 1185307.299 1159719.086 0, 1185044.231 1159708.187 0, 1184781.162 1159697.304 0, 1184518.092 1159686.436 0,
+ 1184255.022 1159675.583 0, 1183991.951 1159664.746 0, 1183728.879 1159653.924 0, 1183465.807 1159643.118 0, 1183201.49 1159632.276 0, 1182939.66 1159621.552 0, 1182676.586 1159610.792 0, 1182413.511 1159600.048 0, 1182150.436 1159589.319 0, 1181887.36 1159578.606 0,
+ 1181624.283 1159567.908 0, 1181361.206 1159557.226 0, 1181098.128 1159546.559 0, 1180835.049 1159535.908 0, 1180571.97 1159525.272 0, 1180308.89 1159514.652 0, 1180045.81 1159504.047 0, 1179782.729 1159493.457 0, 1179519.647 1159482.884 0, 1179256.564 1159472.325 0,
+ 1178993.482 1159461.782 0, 1178730.398 1159451.255 0, 1178467.314 1159440.743 0, 1178204.229 1159430.246 0, 1177941.143 1159419.765 0, 1177678.057 1159409.3 0, 1177414.971 1159398.85 0, 1177151.883 1159388.415 0, 1176887.551 1159377.947 0, 1176666.862 1164954.671 0,
+ 1176446.175 1170531.355 0, 1176709.848 1170541.797 0, 1176972.278 1170552.205 0, 1177234.709 1170562.629 0, 1177497.138 1170573.069 0, 1177759.567 1170583.523 0, 1178021.995 1170593.994 0, 1178284.423 1170604.479 0, 1178546.85 1170614.981 0, 1178809.277 1170625.497 0,
+ 1179071.703 1170636.029 0, 1179334.128 1170646.577 0, 1179596.553 1170657.14 0, 1179858.977 1170667.718 0, 1180121.4 1170678.312 0, 1180383.823 1170688.922 0, 1180646.245 1170699.546 0, 1180908.666 1170710.186 0, 1181171.087 1170720.842 0, 1181433.508 1170731.513 0,
+ 1181695.927 1170742.2 0, 1181958.346 1170752.902 0, 1182220.765 1170763.619 0, 1182483.182 1170774.352 0, 1182744.359 1170785.05 0, 1183008.016 1170795.864 0, 1183270.432 1170806.643 0, 1183532.847 1170817.438 0, 1183795.262 1170828.248 0, 1184057.676 1170839.074 0,
+ 1184320.089 1170849.915 0, 1184582.502 1170860.771 0, 1184844.914 1170871.643 0, 1185107.325 1170882.53 0, 1185369.736 1170893.433 0, 1185632.146 1170904.351 0, 1185894.555 1170915.285 0, 1186156.964 1170926.234 0, 1186419.372 1170937.199 0, 1186681.78 1170948.179 0,
+ 1186944.187 1170959.174 0, 1187206.593 1170970.185 0, 1187468.999 1170981.211 0, 1187731.403 1170992.253 0, 1187993.808 1171003.31 0, 1188256.211 1171014.383 0, 1188518.614 1171025.471 0, 1188781.017 1171036.575 0, 1189042.179 1171047.641 0, 1189278.621 1165471.603 0,
+ 1189515.064 1159895.525 0))
+
+POLYGON ((1201636.674 1171599.511 0, 1201375.542 1171587.707 0, 1201113.173 1171575.862 0, 1200850.802 1171564.033 0, 1200588.431 1171552.219 0, 1200326.059 1171540.42 0, 1200063.686 1171528.637 0, 1199801.313 1171516.87 0, 1199538.938 1171505.117 0, 1199276.564 1171493.381 0,
+ 1199014.188 1171481.659 0, 1198751.812 1171469.954 0, 1198489.435 1171458.263 0, 1198227.058 1171446.588 0, 1197964.68 1171434.929 0, 1197702.301 1171423.285 0, 1197439.921 1171411.656 0, 1197177.541 1171400.043 0, 1196915.16 1171388.445 0, 1196652.778 1171376.863 0,
+ 1196390.396 1171365.296 0, 1196128.013 1171353.744 0, 1195865.629 1171342.208 0, 1195603.245 1171330.688 0, 1195339.622 1171319.128 0, 1195078.474 1171307.693 0, 1194816.088 1171296.219 0, 1194553.701 1171284.76 0, 1194291.313 1171273.317 0, 1194028.925 1171261.889 0,
+ 1193766.536 1171250.476 0, 1193504.146 1171239.079 0, 1193241.755 1171227.698 0, 1192979.364 1171216.332 0, 1192716.973 1171204.981 0, 1192454.58 1171193.646 0, 1192192.187 1171182.326 0, 1191929.793 1171171.022 0, 1191667.399 1171159.733 0, 1191405.004 1171148.46 0,
+ 1191142.608 1171137.202 0, 1190880.212 1171125.959 0, 1190617.815 1171114.732 0, 1190355.417 1171103.52 0, 1190093.018 1171092.324 0, 1189830.619 1171081.143 0, 1189568.22 1171069.978 0, 1189305.819 1171058.828 0, 1189042.179 1171047.641 0, 1188805.739 1176623.634 0,
+ 1188569.302 1182199.578 0, 1188832.282 1182210.737 0, 1189094.026 1182221.859 0, 1189355.77 1182232.996 0, 1189617.512 1182244.149 0, 1189879.254 1182255.317 0, 1190140.996 1182266.501 0, 1190402.737 1182277.7 0, 1190664.477 1182288.914 0, 1190926.216 1182300.144 0,
+ 1191187.955 1182311.389 0, 1191449.693 1182322.65 0, 1191711.43 1182333.926 0, 1191973.167 1182345.217 0, 1192234.903 1182356.524 0, 1192496.638 1182367.847 0, 1192758.373 1182379.184 0, 1193020.107 1182390.537 0, 1193281.84 1182401.906 0, 1193543.573 1182413.29 0,
+ 1193805.305 1182424.689 0, 1194067.037 1182436.104 0, 1194328.767 1182447.534 0, 1194590.497 1182458.979 0, 1194850.992 1182470.386 0, 1195113.955 1182481.917 0, 1195375.683 1182493.408 0, 1195637.411 1182504.915 0, 1195899.137 1182516.438 0, 1196160.863 1182527.976 0,
+ 1196422.589 1182539.529 0, 1196684.313 1182551.098 0, 1196946.037 1182562.682 0, 1197207.76 1182574.282 0, 1197469.483 1182585.897 0, 1197731.205 1182597.527 0, 1197992.926 1182609.173 0, 1198254.647 1182620.834 0, 1198516.366 1182632.51 0, 1198778.086 1182644.202 0,
+ 1199039.804 1182655.91 0, 1199301.522 1182667.633 0, 1199563.239 1182679.371 0, 1199824.955 1182691.124 0, 1200086.671 1182702.893 0, 1200348.386 1182714.678 0, 1200610.1 1182726.478 0, 1200871.814 1182738.293 0, 1201132.293 1182750.068 0, 1201384.482 1177174.814 0,
+ 1201636.674 1171599.511 0))
+
+POLYGON ((1213693.678 1183336.048 0, 1213433.232 1183323.537 0, 1213171.553 1183310.983 0, 1212909.873 1183298.444 0, 1212648.192 1183285.92 0, 1212386.511 1183273.412 0, 1212124.829 1183260.919 0, 1211863.146 1183248.441 0, 1211601.462 1183235.979 0, 1211339.778 1183223.532 0,
+ 1211078.093 1183211.101 0, 1210816.407 1183198.685 0, 1210554.72 1183186.284 0, 1210293.033 1183173.899 0, 1210031.345 1183161.529 0, 1209769.657 1183149.175 0, 1209507.967 1183136.836 0, 1209246.277 1183124.513 0, 1208984.586 1183112.205 0, 1208722.894 1183099.912 0,
+ 1208461.202 1183087.635 0, 1208199.509 1183075.373 0, 1207937.815 1183063.126 0, 1207676.121 1183050.895 0, 1207413.192 1183038.622 0, 1207152.73 1183026.479 0, 1206891.033 1183014.294 0, 1206629.336 1183002.125 0, 1206367.637 1182989.971 0, 1206105.939 1182977.832 0,
+ 1205844.239 1182965.709 0, 1205582.539 1182953.601 0, 1205320.838 1182941.508 0, 1205059.136 1182929.431 0, 1204797.434 1182917.369 0, 1204535.731 1182905.323 0, 1204274.027 1182893.292 0, 1204012.323 1182881.277 0, 1203750.617 1182869.277 0, 1203488.912 1182857.292 0,
+ 1203227.205 1182845.323 0, 1202965.498 1182833.369 0, 1202703.79 1182821.431 0, 1202442.081 1182809.508 0, 1202180.371 1182797.6 0, 1201918.661 1182785.708 0, 1201656.951 1182773.831 0, 1201395.239 1182761.969 0, 1201132.293 1182750.068 0, 1200880.105 1188325.267 0,
+ 1200627.921 1193900.407 0, 1200890.208 1193912.279 0, 1201151.263 1193924.111 0, 1201412.317 1193935.958 0, 1201673.371 1193947.82 0, 1201934.424 1193959.698 0, 1202195.477 1193971.591 0, 1202456.529 1193983.5 0, 1202717.58 1193995.424 0, 1202978.63 1194007.363 0,
+ 1203239.68 1194019.318 0, 1203500.729 1194031.288 0, 1203761.777 1194043.273 0, 1204022.824 1194055.274 0, 1204283.871 1194067.29 0, 1204544.917 1194079.321 0, 1204805.963 1194091.368 0, 1205067.007 1194103.43 0, 1205328.051 1194115.508 0, 1205589.094 1194127.6 0,
+ 1205850.137 1194139.709 0, 1206111.179 1194151.832 0, 1206372.22 1194163.971 0, 1206633.26 1194176.126 0, 1206893.07 1194188.238 0, 1207155.339 1194200.48 0, 1207416.377 1194212.681 0, 1207677.415 1194224.897 0, 1207938.452 1194237.128 0, 1208199.488 1194249.374 0,
+ 1208460.523 1194261.636 0, 1208721.558 1194273.913 0, 1208982.592 1194286.206 0, 1209243.625 1194298.514 0, 1209504.657 1194310.837 0, 1209765.689 1194323.176 0, 1210026.72 1194335.53 0, 1210287.751 1194347.9 0, 1210548.78 1194360.284 0, 1210809.809 1194372.685 0,
+ 1211070.837 1194385.1 0, 1211331.864 1194397.531 0, 1211592.891 1194409.977 0, 1211853.917 1194422.439 0, 1212114.942 1194434.916 0, 1212375.967 1194447.408 0, 1212636.99 1194459.916 0, 1212898.013 1194472.439 0, 1213157.807 1194484.918 0, 1213425.741 1188910.513 0,
+ 1213693.678 1183336.048 0))
+
+POLYGON ((1225685.991 1195104.826 0, 1225426.232 1195091.613 0, 1225165.246 1195078.352 0, 1224904.258 1195065.107 0, 1224643.27 1195051.878 0, 1224382.281 1195038.663 0, 1224121.292 1195025.464 0, 1223860.301 1195012.281 0, 1223599.31 1194999.112 0, 1223338.318 1194985.959 0,
+ 1223077.325 1194972.822 0, 1222816.332 1194959.7 0, 1222555.337 1194946.593 0, 1222294.342 1194933.501 0, 1222033.347 1194920.425 0, 1221772.35 1194907.364 0, 1221511.352 1194894.319 0, 1221250.354 1194881.289 0, 1220989.355 1194868.274 0, 1220728.356 1194855.275 0,
+ 1220467.355 1194842.291 0, 1220206.354 1194829.322 0, 1219945.352 1194816.369 0, 1219684.349 1194803.431 0, 1219422.118 1194790.448 0, 1219162.342 1194777.602 0, 1218901.336 1194764.71 0, 1218640.331 1194751.833 0, 1218379.324 1194738.972 0, 1218118.317 1194726.127 0,
+ 1217857.309 1194713.296 0, 1217596.3 1194700.481 0, 1217335.29 1194687.682 0, 1217074.28 1194674.898 0, 1216813.269 1194662.129 0, 1216552.257 1194649.375 0, 1216291.245 1194636.637 0, 1216030.231 1194623.914 0, 1215769.217 1194611.207 0, 1215508.202 1194598.515 0,
+ 1215247.187 1194585.838 0, 1214986.171 1194573.177 0, 1214725.154 1194560.531 0, 1214464.136 1194547.9 0, 1214203.117 1194535.285 0, 1213942.098 1194522.685 0, 1213681.078 1194510.1 0, 1213420.057 1194497.531 0, 1213157.807 1194484.918 0, 1212889.875 1200059.261 0,
+ 1212621.947 1205633.535 0, 1212883.538 1205646.116 0, 1213143.903 1205658.654 0, 1213404.267 1205671.206 0, 1213664.63 1205683.775 0, 1213924.992 1205696.358 0, 1214185.354 1205708.957 0, 1214445.715 1205721.571 0, 1214706.075 1205734.201 0, 1214966.434 1205746.846 0,
+ 1215226.793 1205759.506 0, 1215487.151 1205772.181 0, 1215747.508 1205784.872 0, 1216007.864 1205797.578 0, 1216268.22 1205810.3 0, 1216528.575 1205823.036 0, 1216788.929 1205835.789 0, 1217049.283 1205848.556 0, 1217309.635 1205861.339 0, 1217569.987 1205874.137 0,
+ 1217830.338 1205886.95 0, 1218090.689 1205899.779 0, 1218351.038 1205912.623 0, 1218611.387 1205925.482 0, 1218870.511 1205938.296 0, 1219132.083 1205951.247 0, 1219392.429 1205964.152 0, 1219652.775 1205977.073 0, 1219913.12 1205990.009 0, 1220173.465 1206002.96 0,
+ 1220433.808 1206015.927 0, 1220694.151 1206028.909 0, 1220954.493 1206041.906 0, 1221214.834 1206054.919 0, 1221475.175 1206067.947 0, 1221735.514 1206080.99 0, 1221995.853 1206094.049 0, 1222256.192 1206107.122 0, 1222516.529 1206120.212 0, 1222776.866 1206133.316 0,
+ 1223037.202 1206146.436 0, 1223297.537 1206159.571 0, 1223557.871 1206172.722 0, 1223818.205 1206185.888 0, 1224078.537 1206199.069 0, 1224338.869 1206212.265 0, 1224599.201 1206225.477 0, 1224859.531 1206238.704 0, 1225118.637 1206251.884 0, 1225402.313 1200678.389 0,
+ 1225685.991 1195104.826 0))
+
+POLYGON ((1237613.53 1206905.537 0, 1237354.461 1206891.625 0, 1237094.168 1206877.662 0, 1236833.876 1206863.715 0, 1236573.582 1206849.783 0, 1236313.287 1206835.866 0, 1236052.992 1206821.965 0, 1235792.696 1206808.079 0, 1235532.399 1206794.208 0, 1235272.101 1206780.353 0,
+ 1235011.803 1206766.513 0, 1234751.503 1206752.688 0, 1234491.203 1206738.879 0, 1234230.902 1206725.085 0, 1233970.6 1206711.306 0, 1233710.297 1206697.543 0, 1233449.994 1206683.795 0, 1233189.69 1206670.062 0, 1232929.385 1206656.345 0, 1232669.079 1206642.643 0,
+ 1232408.772 1206628.956 0, 1232148.464 1206615.284 0, 1231888.156 1206601.628 0, 1231627.847 1206587.987 0, 1231366.315 1206574.298 0, 1231107.226 1206560.752 0, 1230846.915 1206547.157 0, 1230586.603 1206533.577 0, 1230326.289 1206520.013 0, 1230065.976 1206506.464 0,
+ 1229805.661 1206492.931 0, 1229545.345 1206479.413 0, 1229285.029 1206465.91 0, 1229024.712 1206452.422 0, 1228764.394 1206438.95 0, 1228504.075 1206425.493 0, 1228243.756 1206412.051 0, 1227983.436 1206398.625 0, 1227723.115 1206385.214 0, 1227462.793 1206371.818 0,
+ 1227202.47 1206358.438 0, 1226942.147 1206345.073 0, 1226681.822 1206331.723 0, 1226421.498 1206318.389 0, 1226161.172 1206305.07 0, 1225900.845 1206291.766 0, 1225640.518 1206278.478 0, 1225380.19 1206265.204 0, 1225118.637 1206251.884 0, 1224834.966 1211825.307 0,
+ 1224551.298 1217398.651 0, 1224812.191 1217411.938 0, 1225071.863 1217425.177 0, 1225331.535 1217438.432 0, 1225591.205 1217451.702 0, 1225850.875 1217464.988 0, 1226110.544 1217478.289 0, 1226370.212 1217491.605 0, 1226629.879 1217504.936 0, 1226889.546 1217518.283 0,
+ 1227149.211 1217531.645 0, 1227408.876 1217545.022 0, 1227668.541 1217558.414 0, 1227928.204 1217571.822 0, 1228187.867 1217585.245 0, 1228447.529 1217598.683 0, 1228707.19 1217612.137 0, 1228966.85 1217625.606 0, 1229226.509 1217639.09 0, 1229486.168 1217652.59 0,
+ 1229745.826 1217666.104 0, 1230005.483 1217679.634 0, 1230265.139 1217693.18 0, 1230524.795 1217706.74 0, 1230783.23 1217720.252 0, 1231044.103 1217733.907 0, 1231303.756 1217747.514 0, 1231563.409 1217761.135 0, 1231823.06 1217774.772 0, 1232082.711 1217788.425 0,
+ 1232342.361 1217802.092 0, 1232602.01 1217815.775 0, 1232861.658 1217829.473 0, 1233121.305 1217843.187 0, 1233380.952 1217856.915 0, 1233640.598 1217870.659 0, 1233900.243 1217884.419 0, 1234159.887 1217898.193 0, 1234419.531 1217911.983 0, 1234679.173 1217925.788 0,
+ 1234938.815 1217939.608 0, 1235198.456 1217953.444 0, 1235458.096 1217967.295 0, 1235717.736 1217981.161 0, 1235977.374 1217995.043 0, 1236237.012 1218008.94 0, 1236496.649 1218022.852 0, 1236756.285 1218036.779 0, 1237014.702 1218050.656 0, 1237314.114 1212478.135 0,
+ 1237613.53 1206905.537 0))
+
+POLYGON ((1249476.214 1218737.87 0, 1249217.835 1218723.263 0, 1248958.239 1218708.602 0, 1248698.643 1218693.956 0, 1248439.045 1218679.326 0, 1248179.447 1218664.711 0, 1247919.848 1218650.112 0, 1247660.248 1218635.527 0, 1247400.647 1218620.958 0, 1247141.045 1218606.404 0,
+ 1246881.443 1218591.865 0, 1246621.839 1218577.342 0, 1246362.235 1218562.834 0, 1246102.63 1218548.341 0, 1245843.024 1218533.864 0, 1245583.417 1218519.402 0, 1245323.809 1218504.955 0, 1245064.201 1218490.523 0, 1244804.592 1218476.107 0, 1244544.981 1218461.706 0,
+ 1244285.37 1218447.32 0, 1244025.758 1218432.949 0, 1243766.146 1218418.594 0, 1243506.532 1218404.254 0, 1243245.7 1218389.862 0, 1242987.302 1218375.62 0, 1242727.686 1218361.326 0, 1242468.069 1218347.047 0, 1242208.451 1218332.784 0, 1241948.833 1218318.535 0,
+ 1241689.213 1218304.302 0, 1241429.593 1218290.085 0, 1241169.972 1218275.882 0, 1240910.35 1218261.695 0, 1240650.727 1218247.523 0, 1240391.103 1218233.367 0, 1240131.479 1218219.225 0, 1239871.853 1218205.099 0, 1239612.227 1218190.989 0, 1239352.6 1218176.893 0,
+ 1239092.972 1218162.813 0, 1238833.344 1218148.748 0, 1238573.714 1218134.699 0, 1238314.084 1218120.664 0, 1238054.453 1218106.645 0, 1237794.821 1218092.641 0, 1237535.188 1218078.653 0, 1237275.554 1218064.68 0, 1237014.702 1218050.656 0, 1236715.294 1223623.095 0,
+ 1236415.891 1229195.447 0, 1236676.084 1229209.435 0, 1236935.062 1229223.372 0, 1237194.039 1229237.326 0, 1237453.015 1229251.294 0, 1237711.99 1229265.278 0, 1237970.964 1229279.276 0, 1238229.938 1229293.291 0, 1238488.911 1229307.32 0, 1238747.882 1229321.365 0,
+ 1239006.854 1229335.424 0, 1239265.824 1229349.5 0, 1239524.793 1229363.59 0, 1239783.762 1229377.695 0, 1240042.729 1229391.816 0, 1240301.696 1229405.952 0, 1240560.662 1229420.104 0, 1240819.628 1229434.27 0, 1241078.592 1229448.452 0, 1241337.556 1229462.649 0,
+ 1241596.518 1229476.861 0, 1241855.48 1229491.089 0, 1242114.441 1229505.331 0, 1242373.402 1229519.589 0, 1242631.147 1229533.796 0, 1242891.32 1229548.151 0, 1243150.277 1229562.455 0, 1243409.234 1229576.774 0, 1243668.19 1229591.108 0, 1243927.145 1229605.458 0,
+ 1244186.1 1229619.822 0, 1244445.053 1229634.202 0, 1244704.006 1229648.597 0, 1244962.957 1229663.008 0, 1245221.908 1229677.433 0, 1245480.859 1229691.874 0, 1245739.808 1229706.33 0, 1245998.756 1229720.802 0, 1246257.704 1229735.288 0, 1246516.65 1229749.79 0,
+ 1246775.596 1229764.307 0, 1247034.541 1229778.84 0, 1247293.485 1229793.387 0, 1247552.429 1229807.95 0, 1247811.371 1229822.528 0, 1248070.312 1229837.121 0, 1248329.253 1229851.73 0, 1248588.193 1229866.354 0, 1248845.919 1229880.924 0, 1249161.064 1224309.441 0,
+ 1249476.214 1218737.87 0))
+
+POLYGON ((1261273.961 1230601.516 0, 1261016.275 1230586.218 0, 1260757.378 1230570.862 0, 1260498.479 1230555.522 0, 1260239.58 1230540.198 0, 1259980.68 1230524.888 0, 1259721.779 1230509.594 0, 1259462.877 1230494.315 0, 1259203.974 1230479.051 0, 1258945.07 1230463.802 0,
+ 1258686.166 1230448.569 0, 1258427.26 1230433.351 0, 1258168.354 1230418.148 0, 1257909.446 1230402.96 0, 1257650.538 1230387.788 0, 1257391.629 1230372.63 0, 1257132.719 1230357.488 0, 1256873.808 1230342.362 0, 1256614.896 1230327.25 0, 1256355.983 1230312.154 0,
+ 1256097.07 1230297.073 0, 1255838.155 1230282.007 0, 1255579.24 1230266.957 0, 1255320.324 1230251.922 0, 1255060.194 1230236.831 0, 1254802.488 1230221.897 0, 1254543.569 1230206.907 0, 1254284.65 1230191.933 0, 1254025.729 1230176.974 0, 1253766.807 1230162.03 0,
+ 1253507.885 1230147.101 0, 1253248.962 1230132.188 0, 1252990.038 1230117.29 0, 1252731.112 1230102.407 0, 1252472.187 1230087.539 0, 1252213.26 1230072.687 0, 1251954.332 1230057.85 0, 1251695.403 1230043.028 0, 1251436.474 1230028.221 0, 1251177.544 1230013.43 0,
+ 1250918.613 1229998.654 0, 1250659.681 1229983.893 0, 1250400.748 1229969.147 0, 1250141.814 1229954.417 0, 1249882.879 1229939.701 0, 1249623.944 1229925.001 0, 1249365.007 1229910.317 0, 1249106.07 1229895.647 0, 1248845.919 1229880.924 0, 1248530.779 1235452.316 0,
+ 1248215.645 1241023.611 0, 1248475.137 1241038.297 0, 1248733.419 1241052.929 0, 1248991.699 1241067.577 0, 1249249.979 1241082.239 0, 1249508.258 1241096.917 0, 1249766.536 1241111.61 0, 1250024.813 1241126.319 0, 1250283.089 1241141.042 0, 1250541.364 1241155.781 0,
+ 1250799.639 1241170.535 0, 1251057.912 1241185.304 0, 1251316.185 1241200.089 0, 1251574.457 1241214.888 0, 1251832.728 1241229.703 0, 1252090.998 1241244.533 0, 1252349.267 1241259.378 0, 1252607.536 1241274.238 0, 1252865.803 1241289.114 0, 1253124.07 1241304.005 0,
+ 1253382.336 1241318.911 0, 1253640.601 1241333.832 0, 1253898.865 1241348.768 0, 1254157.128 1241363.72 0, 1254414.181 1241378.617 0, 1254673.651 1241393.669 0, 1254931.912 1241408.666 0, 1255190.171 1241423.678 0, 1255448.43 1241438.706 0, 1255706.688 1241453.749 0,
+ 1255964.945 1241468.807 0, 1256223.201 1241483.88 0, 1256481.456 1241498.968 0, 1256739.71 1241514.072 0, 1256997.964 1241529.191 0, 1257256.216 1241544.325 0, 1257514.468 1241559.474 0, 1257772.719 1241574.638 0, 1258030.968 1241589.818 0, 1258289.217 1241605.013 0,
+ 1258547.465 1241620.223 0, 1258805.712 1241635.448 0, 1259063.959 1241650.688 0, 1259322.204 1241665.944 0, 1259580.449 1241681.215 0, 1259838.692 1241696.501 0, 1260096.935 1241711.802 0, 1260355.176 1241727.118 0, 1260612.209 1241742.378 0, 1260943.082 1236171.995 0,
+ 1261273.961 1230601.516 0))
+
+POLYGON ((1273006.694 1242496.165 0, 1272749.703 1242480.178 0, 1272491.506 1242464.133 0, 1272233.307 1242448.102 0, 1271975.108 1242432.086 0, 1271716.908 1242416.086 0, 1271458.706 1242400.101 0, 1271200.504 1242384.131 0, 1270942.301 1242368.176 0, 1270684.097 1242352.237 0,
+ 1270425.892 1242336.312 0, 1270167.686 1242320.403 0, 1269909.479 1242304.509 0, 1269651.272 1242288.631 0, 1269393.063 1242272.767 0, 1269134.853 1242256.919 0, 1268876.643 1242241.086 0, 1268618.431 1242225.268 0, 1268360.219 1242209.465 0, 1268102.005 1242193.677 0,
+ 1267843.791 1242177.905 0, 1267585.576 1242162.148 0, 1267327.36 1242146.406 0, 1267069.143 1242130.679 0, 1266809.718 1242114.894 0, 1266552.706 1242099.271 0, 1266294.486 1242083.59 0, 1266036.265 1242067.924 0, 1265778.043 1242052.273 0, 1265519.821 1242036.638 0,
+ 1265261.597 1242021.017 0, 1265003.373 1242005.412 0, 1264745.147 1241989.822 0, 1264486.921 1241974.247 0, 1264228.694 1241958.688 0, 1263970.466 1241943.143 0, 1263712.237 1241927.614 0, 1263454.007 1241912.1 0, 1263195.776 1241896.602 0, 1262937.544 1241881.118 0,
+ 1262679.311 1241865.65 0, 1262421.078 1241850.196 0, 1262162.843 1241834.758 0, 1261904.608 1241819.336 0, 1261646.372 1241803.928 0, 1261388.134 1241788.536 0, 1261129.896 1241773.158 0, 1260871.657 1241757.796 0, 1260612.209 1241742.378 0, 1260281.343 1247312.659 0,
+ 1259950.482 1252882.834 0, 1260209.271 1252898.213 0, 1260466.854 1252913.536 0, 1260724.437 1252928.874 0, 1260982.018 1252944.228 0, 1261239.599 1252959.596 0, 1261497.179 1252974.98 0, 1261754.757 1252990.379 0, 1262012.335 1253005.793 0, 1262269.912 1253021.222 0,
+ 1262527.488 1253036.666 0, 1262785.064 1253052.125 0, 1263042.638 1253067.6 0, 1263300.211 1253083.09 0, 1263557.784 1253098.595 0, 1263815.355 1253114.115 0, 1264072.926 1253129.65 0, 1264330.496 1253145.2 0, 1264588.064 1253160.766 0, 1264845.632 1253176.347 0,
+ 1265103.199 1253191.942 0, 1265360.765 1253207.553 0, 1265618.33 1253223.18 0, 1265875.895 1253238.821 0, 1266132.254 1253254.404 0, 1266391.02 1253270.149 0, 1266648.582 1253285.836 0, 1266906.142 1253301.538 0, 1267163.702 1253317.255 0, 1267421.26 1253332.987 0,
+ 1267678.818 1253348.735 0, 1267936.375 1253364.497 0, 1268193.931 1253380.275 0, 1268451.486 1253396.068 0, 1268709.04 1253411.876 0, 1268966.593 1253427.7 0, 1269224.145 1253443.538 0, 1269481.696 1253459.392 0, 1269739.246 1253475.26 0, 1269996.796 1253491.144 0,
+ 1270254.344 1253507.043 0, 1270511.892 1253522.957 0, 1270769.438 1253538.887 0, 1271026.984 1253554.831 0, 1271284.529 1253570.791 0, 1271542.072 1253586.766 0, 1271799.615 1253602.756 0, 1272057.157 1253618.761 0, 1272313.495 1253634.707 0, 1272660.091 1248065.489 0,
+ 1273006.694 1242496.165 0))
+
+POLYGON ((1284674.335 1254421.504 0, 1284418.041 1254404.834 0, 1284160.545 1254388.101 0, 1283903.049 1254371.384 0, 1283645.551 1254354.682 0, 1283388.052 1254337.994 0, 1283130.553 1254321.322 0, 1282873.052 1254304.665 0, 1282615.551 1254288.024 0, 1282358.048 1254271.397 0,
+ 1282100.545 1254254.785 0, 1281843.041 1254238.189 0, 1281585.535 1254221.608 0, 1281328.029 1254205.042 0, 1281070.521 1254188.491 0, 1280813.013 1254171.956 0, 1280555.504 1254155.435 0, 1280297.993 1254138.93 0, 1280040.482 1254122.439 0, 1279782.97 1254105.964 0,
+ 1279525.457 1254089.504 0, 1279267.943 1254073.06 0, 1279010.428 1254056.63 0, 1278752.911 1254040.216 0, 1278494.193 1254023.74 0, 1278237.876 1254007.432 0, 1277980.357 1253991.063 0, 1277722.837 1253974.71 0, 1277465.317 1253958.371 0, 1277207.795 1253942.048 0,
+ 1276950.272 1253925.739 0, 1276692.748 1253909.446 0, 1276435.223 1253893.168 0, 1276177.698 1253876.905 0, 1275920.171 1253860.657 0, 1275662.643 1253844.425 0, 1275405.115 1253828.208 0, 1275147.585 1253812.005 0, 1274890.055 1253795.818 0, 1274632.523 1253779.646 0,
+ 1274374.991 1253763.49 0, 1274117.458 1253747.348 0, 1273859.923 1253731.222 0, 1273602.388 1253715.11 0, 1273344.852 1253699.014 0, 1273087.315 1253682.933 0, 1272829.777 1253666.867 0, 1272572.238 1253650.817 0, 1272313.495 1253634.707 0, 1271966.906 1259203.813 0,
+ 1271620.324 1264772.804 0, 1271878.408 1264788.873 0, 1272135.292 1264804.883 0, 1272392.174 1264820.908 0, 1272649.056 1264836.948 0, 1272905.936 1264853.003 0, 1273162.816 1264869.074 0, 1273419.695 1264885.159 0, 1273676.573 1264901.259 0, 1273933.449 1264917.375 0,
+ 1274190.325 1264933.506 0, 1274447.2 1264949.652 0, 1274704.074 1264965.813 0, 1274960.947 1264981.989 0, 1275217.819 1264998.18 0, 1275474.69 1265014.386 0, 1275731.561 1265030.608 0, 1275988.43 1265046.844 0, 1276245.298 1265063.096 0, 1276502.165 1265079.363 0,
+ 1276759.032 1265095.645 0, 1277015.897 1265111.942 0, 1277272.762 1265128.254 0, 1277529.625 1265144.581 0, 1277785.289 1265160.847 0, 1278043.349 1265177.281 0, 1278300.21 1265193.654 0, 1278557.069 1265210.042 0, 1278813.928 1265226.444 0, 1279070.786 1265242.862 0,
+ 1279327.642 1265259.296 0, 1279584.498 1265275.744 0, 1279841.353 1265292.207 0, 1280098.207 1265308.686 0, 1280355.06 1265325.179 0, 1280611.911 1265341.688 0, 1280868.762 1265358.212 0, 1281125.612 1265374.751 0, 1281382.461 1265391.305 0, 1281639.309 1265407.874 0,
+ 1281896.156 1265424.458 0, 1282153.002 1265441.058 0, 1282409.847 1265457.672 0, 1282666.691 1265474.302 0, 1282923.534 1265490.946 0, 1283180.377 1265507.606 0, 1283437.218 1265524.281 0, 1283694.058 1265540.971 0, 1283949.7 1265557.599 0, 1284312.014 1259989.609 0,
+ 1284674.335 1254421.504 0))
+
+POLYGON ((1296276.809 1266377.223 0, 1296021.213 1266359.873 0, 1295764.421 1266342.458 0, 1295507.628 1266325.057 0, 1295250.834 1266307.672 0, 1294994.039 1266290.301 0, 1294737.243 1266272.946 0, 1294480.446 1266255.606 0, 1294223.647 1266238.281 0, 1293966.848 1266220.971 0,
+ 1293710.048 1266203.676 0, 1293453.247 1266186.397 0, 1293196.445 1266169.132 0, 1292939.642 1266151.883 0, 1292682.837 1266134.649 0, 1292426.032 1266117.429 0, 1292169.226 1266100.225 0, 1291912.419 1266083.036 0, 1291655.611 1266065.863 0, 1291398.801 1266048.704 0,
+ 1291141.991 1266031.56 0, 1290885.18 1266014.432 0, 1290628.367 1265997.318 0, 1290371.554 1265980.22 0, 1290113.544 1265963.058 0, 1289857.924 1265946.069 0, 1289601.108 1265929.016 0, 1289344.291 1265911.978 0, 1289087.473 1265894.956 0, 1288830.653 1265877.948 0,
+ 1288573.833 1265860.956 0, 1288317.012 1265843.978 0, 1288060.189 1265827.016 0, 1287803.366 1265810.069 0, 1287546.542 1265793.137 0, 1287289.716 1265776.22 0, 1287032.89 1265759.318 0, 1286776.063 1265742.432 0, 1286519.234 1265725.56 0, 1286262.405 1265708.704 0,
+ 1286005.575 1265691.863 0, 1285748.744 1265675.037 0, 1285491.911 1265658.225 0, 1285235.078 1265641.43 0, 1284978.244 1265624.649 0, 1284721.409 1265607.883 0, 1284464.572 1265591.132 0, 1284207.735 1265574.397 0, 1283949.7 1265557.599 0, 1283587.394 1271125.467 0,
+ 1283225.096 1276693.21 0, 1283482.473 1276709.966 0, 1283738.655 1276726.658 0, 1283994.835 1276743.366 0, 1284251.015 1276760.089 0, 1284507.194 1276776.827 0, 1284763.372 1276793.58 0, 1285019.549 1276810.348 0, 1285275.725 1276827.131 0, 1285531.899 1276843.93 0,
+ 1285788.073 1276860.743 0, 1286044.246 1276877.572 0, 1286300.418 1276894.415 0, 1286556.589 1276911.274 0, 1286812.759 1276928.147 0, 1287068.928 1276945.036 0, 1287325.096 1276961.94 0, 1287581.263 1276978.859 0, 1287837.429 1276995.793 0, 1288093.594 1277012.742 0,
+ 1288349.758 1277029.706 0, 1288605.921 1277046.685 0, 1288862.083 1277063.68 0, 1289118.244 1277080.689 0, 1289373.21 1277097.634 0, 1289630.562 1277114.753 0, 1289886.72 1277131.808 0, 1290142.877 1277148.877 0, 1290399.033 1277165.962 0, 1290655.188 1277183.062 0,
+ 1290911.342 1277200.177 0, 1291167.495 1277217.307 0, 1291423.647 1277234.452 0, 1291679.798 1277251.612 0, 1291935.948 1277268.787 0, 1292192.097 1277285.978 0, 1292448.244 1277303.183 0, 1292704.391 1277320.404 0, 1292960.537 1277337.639 0, 1293216.682 1277354.89 0,
+ 1293472.826 1277372.155 0, 1293728.969 1277389.436 0, 1293985.11 1277406.732 0, 1294241.251 1277424.043 0, 1294497.391 1277441.369 0, 1294753.53 1277458.71 0, 1295009.667 1277476.066 0, 1295265.804 1277493.437 0, 1295520.747 1277510.743 0, 1295898.774 1271944.046 0,
+ 1296276.809 1266377.223 0))
+
+POLYGON ((1307814.04 1278363.01 0, 1307559.145 1278344.984 0, 1307303.058 1278326.889 0, 1307046.971 1278308.809 0, 1306790.882 1278290.745 0, 1306534.792 1278272.695 0, 1306278.701 1278254.661 0, 1306022.609 1278236.641 0, 1305766.516 1278218.637 0, 1305510.422 1278200.648 0,
+ 1305254.327 1278182.673 0, 1304998.231 1278164.714 0, 1304742.134 1278146.77 0, 1304486.036 1278128.841 0, 1304229.937 1278110.927 0, 1303973.836 1278093.029 0, 1303717.735 1278075.145 0, 1303461.632 1278057.276 0, 1303205.529 1278039.423 0, 1302949.424 1278021.584 0,
+ 1302693.319 1278003.761 0, 1302437.212 1277985.952 0, 1302181.104 1277968.159 0, 1301924.996 1277950.381 0, 1301667.695 1277932.535 0, 1301412.775 1277914.869 0, 1301156.663 1277897.136 0, 1300900.55 1277879.418 0, 1300644.436 1277861.715 0, 1300388.321 1277844.028 0,
+ 1300132.205 1277826.355 0, 1299876.088 1277808.697 0, 1299619.97 1277791.055 0, 1299363.851 1277773.427 0, 1299107.731 1277755.815 0, 1298851.609 1277738.217 0, 1298595.487 1277720.635 0, 1298339.364 1277703.068 0, 1298083.24 1277685.516 0, 1297827.114 1277667.979 0,
+ 1297570.988 1277650.457 0, 1297314.86 1277632.95 0, 1297058.732 1277615.458 0, 1296802.602 1277597.981 0, 1296546.472 1277580.52 0, 1296290.34 1277563.073 0, 1296034.208 1277545.642 0, 1295778.074 1277528.225 0, 1295520.747 1277510.743 0, 1295142.73 1283077.309 0,
+ 1294764.722 1288643.74 0, 1295021.39 1288661.178 0, 1295276.869 1288678.549 0, 1295532.346 1288695.936 0, 1295787.822 1288713.338 0, 1296043.297 1288730.755 0, 1296298.772 1288748.187 0, 1296554.245 1288765.634 0, 1296809.717 1288783.097 0, 1297065.188 1288800.574 0,
+ 1297320.658 1288818.066 0, 1297576.127 1288835.573 0, 1297831.596 1288853.095 0, 1298087.063 1288870.633 0, 1298342.529 1288888.185 0, 1298597.994 1288905.752 0, 1298853.457 1288923.335 0, 1299108.92 1288940.932 0, 1299364.382 1288958.545 0, 1299619.843 1288976.172 0,
+ 1299875.303 1288993.815 0, 1300130.762 1289011.472 0, 1300386.219 1289029.145 0, 1300641.676 1289046.833 0, 1300895.944 1289064.453 0, 1301152.586 1289082.253 0, 1301408.04 1289099.986 0, 1301663.492 1289117.734 0, 1301918.944 1289135.496 0, 1302174.394 1289153.274 0,
+ 1302429.843 1289171.067 0, 1302685.292 1289188.875 0, 1302940.739 1289206.698 0, 1303196.185 1289224.536 0, 1303451.63 1289242.389 0, 1303707.075 1289260.257 0, 1303962.518 1289278.14 0, 1304217.96 1289296.038 0, 1304473.401 1289313.952 0, 1304728.84 1289331.88 0,
+ 1304984.279 1289349.823 0, 1305239.717 1289367.781 0, 1305495.154 1289385.755 0, 1305750.589 1289403.743 0, 1306006.024 1289421.746 0, 1306261.458 1289439.765 0, 1306516.89 1289457.798 0, 1306772.322 1289475.847 0, 1307026.565 1289493.826 0, 1307420.298 1283928.486 0,
+ 1307814.04 1278363.01 0))
+
+POLYGON ((1319285.958 1290378.551 0, 1319031.764 1290359.853 0, 1318776.385 1290341.083 0, 1318521.004 1290322.328 0, 1318265.623 1290303.588 0, 1318010.24 1290284.863 0, 1317754.856 1290266.154 0, 1317499.471 1290247.459 0, 1317244.085 1290228.779 0, 1316988.698 1290210.114 0,
+ 1316733.31 1290191.464 0, 1316477.92 1290172.829 0, 1316222.53 1290154.21 0, 1315967.138 1290135.605 0, 1315711.746 1290117.015 0, 1315456.352 1290098.441 0, 1315200.957 1290079.881 0, 1314945.561 1290061.336 0, 1314690.164 1290042.807 0, 1314434.766 1290024.292 0,
+ 1314179.367 1290005.793 0, 1313923.967 1289987.308 0, 1313668.566 1289968.839 0, 1313413.163 1289950.384 0, 1313156.574 1289931.86 0, 1312902.355 1289913.521 0, 1312646.949 1289895.111 0, 1312391.543 1289876.717 0, 1312136.135 1289858.338 0, 1311880.726 1289839.974 0,
+ 1311625.316 1289821.625 0, 1311369.905 1289803.291 0, 1311114.493 1289784.971 0, 1310859.079 1289766.667 0, 1310603.665 1289748.378 0, 1310348.25 1289730.104 0, 1310092.833 1289711.845 0, 1309837.416 1289693.601 0, 1309581.997 1289675.373 0, 1309326.577 1289657.159 0,
+ 1309071.157 1289638.96 0, 1308815.735 1289620.776 0, 1308560.312 1289602.607 0, 1308304.888 1289584.454 0, 1308049.463 1289566.315 0, 1307794.037 1289548.191 0, 1307538.609 1289530.083 0, 1307283.181 1289511.989 0, 1307026.565 1289493.826 0, 1306632.842 1295059.026 0,
+ 1306239.13 1300624.081 0, 1306495.088 1300642.197 0, 1306749.861 1300660.244 0, 1307004.633 1300678.306 0, 1307259.404 1300696.384 0, 1307514.174 1300714.476 0, 1307768.943 1300732.583 0, 1308023.71 1300750.705 0, 1308278.477 1300768.842 0, 1308533.243 1300786.994 0,
+ 1308788.007 1300805.161 0, 1309042.771 1300823.344 0, 1309297.533 1300841.541 0, 1309552.295 1300859.753 0, 1309807.055 1300877.98 0, 1310061.814 1300896.222 0, 1310316.573 1300914.479 0, 1310571.33 1300932.751 0, 1310826.086 1300951.039 0, 1311080.841 1300969.341 0,
+ 1311335.595 1300987.658 0, 1311590.347 1301005.99 0, 1311845.099 1301024.337 0, 1312099.85 1301042.699 0, 1312353.417 1301060.991 0, 1312609.348 1301079.468 0, 1312864.095 1301097.875 0, 1313118.841 1301116.297 0, 1313373.587 1301134.734 0, 1313628.331 1301153.186 0,
+ 1313883.074 1301171.653 0, 1314137.816 1301190.135 0, 1314392.557 1301208.632 0, 1314647.296 1301227.144 0, 1314902.035 1301245.671 0, 1315156.773 1301264.213 0, 1315411.509 1301282.77 0, 1315666.245 1301301.342 0, 1315920.979 1301319.929 0, 1316175.712 1301338.531 0,
+ 1316430.444 1301357.148 0, 1316685.175 1301375.78 0, 1316939.905 1301394.427 0, 1317194.634 1301413.089 0, 1317449.362 1301431.766 0, 1317704.089 1301450.458 0, 1317958.814 1301469.165 0, 1318213.539 1301487.887 0, 1318467.08 1301506.537 0, 1318876.514 1295942.617 0,
+ 1319285.958 1290378.551 0))
+
+POLYGON ((1330692.489 1302423.535 0, 1330438.999 1302404.169 0, 1330184.329 1302384.728 0, 1329929.657 1302365.301 0, 1329674.984 1302345.89 0, 1329420.31 1302326.493 0, 1329165.635 1302307.112 0, 1328910.959 1302287.745 0, 1328656.282 1302268.394 0, 1328401.603 1302249.057 0,
+ 1328146.923 1302229.735 0, 1327892.243 1302210.429 0, 1327637.561 1302191.137 0, 1327382.878 1302171.861 0, 1327128.193 1302152.599 0, 1326873.508 1302133.352 0, 1326618.822 1302114.121 0, 1326364.134 1302094.904 0, 1326109.445 1302075.702 0, 1325854.755 1302056.516 0,
+ 1325600.064 1302037.344 0, 1325345.372 1302018.187 0, 1325090.679 1301999.046 0, 1324835.985 1301979.919 0, 1324580.109 1301960.719 0, 1324326.593 1301941.711 0, 1324071.895 1301922.629 0, 1323817.196 1301903.562 0, 1323562.496 1301884.51 0, 1323307.795 1301865.474 0,
+ 1323053.093 1301846.452 0, 1322798.389 1301827.445 0, 1322543.685 1301808.453 0, 1322288.979 1301789.477 0, 1322034.273 1301770.515 0, 1321779.565 1301751.568 0, 1321524.856 1301732.636 0, 1321270.146 1301713.719 0, 1321015.435 1301694.818 0, 1320760.722 1301675.931 0,
+ 1320506.009 1301657.059 0, 1320251.294 1301638.202 0, 1319996.579 1301619.36 0, 1319741.862 1301600.533 0, 1319487.144 1301581.721 0, 1319232.425 1301562.925 0, 1318977.705 1301544.143 0, 1318722.984 1301525.376 0, 1318467.08 1301506.537 0, 1318057.658 1307070.306 0,
+ 1317648.247 1312633.92 0, 1317903.493 1312652.711 0, 1318157.559 1312671.429 0, 1318411.624 1312690.163 0, 1318665.688 1312708.912 0, 1318919.751 1312727.675 0, 1319173.813 1312746.453 0, 1319427.874 1312765.247 0, 1319681.933 1312784.055 0, 1319935.992 1312802.879 0,
+ 1320190.049 1312821.717 0, 1320444.105 1312840.57 0, 1320698.161 1312859.438 0, 1320952.215 1312878.321 0, 1321206.268 1312897.219 0, 1321460.319 1312916.133 0, 1321714.37 1312935.06 0, 1321968.42 1312954.003 0, 1322222.468 1312972.961 0, 1322476.515 1312991.934 0,
+ 1322730.562 1313010.922 0, 1322984.607 1313029.925 0, 1323238.651 1313048.942 0, 1323492.694 1313067.975 0, 1323745.558 1313086.934 0, 1324000.776 1313106.085 0, 1324254.816 1313125.163 0, 1324508.854 1313144.255 0, 1324762.891 1313163.363 0, 1325016.927 1313182.485 0,
+ 1325270.962 1313201.622 0, 1325524.996 1313220.775 0, 1325779.029 1313239.942 0, 1326033.061 1313259.124 0, 1326287.091 1313278.321 0, 1326541.12 1313297.533 0, 1326795.149 1313316.76 0, 1327049.176 1313336.002 0, 1327303.202 1313355.259 0, 1327557.227 1313374.531 0,
+ 1327811.25 1313393.818 0, 1328065.273 1313413.12 0, 1328319.294 1313432.437 0, 1328573.315 1313451.768 0, 1328827.334 1313471.115 0, 1329081.352 1313490.477 0, 1329335.369 1313509.853 0, 1329589.384 1313529.245 0, 1329842.223 1313548.561 0, 1330267.35 1307986.126 0,
+ 1330692.489 1302423.535 0))
+
+POLYGON ((1342033.565 1314497.648 0, 1341780.781 1314477.618 0, 1341526.821 1314457.508 0, 1341272.86 1314437.414 0, 1341018.897 1314417.335 0, 1340764.934 1314397.271 0, 1340510.969 1314377.222 0, 1340257.003 1314357.187 0, 1340003.036 1314337.168 0, 1339749.068 1314317.164 0,
+ 1339495.099 1314297.174 0, 1339241.128 1314277.2 0, 1338987.156 1314257.24 0, 1338733.184 1314237.295 0, 1338479.209 1314217.366 0, 1338225.234 1314197.451 0, 1337971.258 1314177.551 0, 1337717.28 1314157.666 0, 1337463.301 1314137.796 0, 1337209.321 1314117.941 0,
+ 1336955.34 1314098.101 0, 1336701.358 1314078.276 0, 1336447.375 1314058.466 0, 1336193.39 1314038.671 0, 1335938.229 1314018.799 0, 1335685.417 1313999.126 0, 1335431.429 1313979.375 0, 1335177.44 1313959.64 0, 1334923.45 1313939.92 0, 1334669.458 1313920.214 0,
+ 1334415.465 1313900.524 0, 1334161.471 1313880.848 0, 1333907.476 1313861.187 0, 1333653.48 1313841.542 0, 1333399.483 1313821.911 0, 1333145.484 1313802.295 0, 1332891.485 1313782.695 0, 1332637.484 1313763.109 0, 1332383.482 1313743.538 0, 1332129.479 1313723.982 0,
+ 1331875.474 1313704.441 0, 1331621.469 1313684.915 0, 1331367.462 1313665.404 0, 1331113.455 1313645.908 0, 1330859.446 1313626.426 0, 1330605.436 1313606.96 0, 1330351.425 1313587.509 0, 1330097.412 1313568.072 0, 1329842.223 1313548.561 0, 1329417.107 1319110.836 0,
+ 1328992.005 1324672.944 0, 1329246.537 1324692.405 0, 1329499.895 1324711.792 0, 1329753.251 1324731.193 0, 1330006.606 1324750.609 0, 1330259.96 1324770.04 0, 1330513.313 1324789.486 0, 1330766.665 1324808.947 0, 1331020.016 1324828.422 0, 1331273.365 1324847.913 0,
+ 1331526.714 1324867.418 0, 1331780.061 1324886.939 0, 1332033.407 1324906.474 0, 1332286.752 1324926.025 0, 1332540.096 1324945.59 0, 1332793.439 1324965.17 0, 1333046.78 1324984.765 0, 1333300.12 1325004.375 0, 1333553.46 1325024 0, 1333806.798 1325043.639 0,
+ 1334060.134 1325063.294 0, 1334313.47 1325082.964 0, 1334566.805 1325102.648 0, 1334820.138 1325122.348 0, 1335072.298 1325141.971 0, 1335326.801 1325161.791 0, 1335580.131 1325181.535 0, 1335833.46 1325201.294 0, 1336086.788 1325221.068 0, 1336340.114 1325240.857 0,
+ 1336593.439 1325260.661 0, 1336846.763 1325280.479 0, 1337100.086 1325300.313 0, 1337353.408 1325320.162 0, 1337606.729 1325340.025 0, 1337860.048 1325359.903 0, 1338113.366 1325379.796 0, 1338366.683 1325399.705 0, 1338619.999 1325419.628 0, 1338873.314 1325439.566 0,
+ 1339126.628 1325459.518 0, 1339379.94 1325479.486 0, 1339633.251 1325499.469 0, 1339886.561 1325519.467 0, 1340139.87 1325539.479 0, 1340393.178 1325559.506 0, 1340646.484 1325579.549 0, 1340899.79 1325599.606 0, 1341151.923 1325619.585 0, 1341592.737 1320058.7 0,
+ 1342033.565 1314497.648 0))
+
+POLYGON ((1353309.117 1326600.576 0, 1353057.04 1326579.885 0, 1352803.792 1326559.112 0, 1352550.543 1326538.354 0, 1352297.293 1326517.611 0, 1352044.042 1326496.883 0, 1351790.789 1326476.17 0, 1351537.536 1326455.472 0, 1351284.281 1326434.788 0, 1351031.024 1326414.12 0,
+ 1350777.767 1326393.466 0, 1350524.508 1326372.828 0, 1350271.249 1326352.204 0, 1350017.988 1326331.595 0, 1349764.725 1326311.001 0, 1349511.462 1326290.422 0, 1349258.197 1326269.858 0, 1349004.931 1326249.309 0, 1348751.664 1326228.775 0, 1348498.396 1326208.255 0,
+ 1348245.126 1326187.751 0, 1347991.856 1326167.261 0, 1347738.584 1326146.787 0, 1347485.311 1326126.327 0, 1347230.866 1326105.788 0, 1346978.761 1326085.452 0, 1346725.484 1326065.037 0, 1346472.206 1326044.637 0, 1346218.927 1326024.252 0, 1345965.647 1326003.881 0,
+ 1345712.365 1325983.526 0, 1345459.083 1325963.186 0, 1345205.799 1325942.86 0, 1344952.513 1325922.549 0, 1344699.227 1325902.253 0, 1344445.94 1325881.973 0, 1344192.651 1325861.707 0, 1343939.361 1325841.456 0, 1343686.07 1325821.22 0, 1343432.778 1325800.998 0,
+ 1343179.484 1325780.792 0, 1342926.19 1325760.601 0, 1342672.894 1325740.424 0, 1342419.597 1325720.262 0, 1342166.298 1325700.116 0, 1341912.999 1325679.984 0, 1341659.698 1325659.867 0, 1341406.397 1325639.765 0, 1341151.923 1325619.585 0, 1340711.121 1331180.3 0,
+ 1340270.334 1336740.839 0, 1340524.151 1336760.967 0, 1340776.798 1336781.017 0, 1341029.444 1336801.082 0, 1341282.089 1336821.162 0, 1341534.732 1336841.256 0, 1341787.375 1336861.366 0, 1342040.016 1336881.49 0, 1342292.656 1336901.629 0, 1342545.295 1336921.783 0,
+ 1342797.933 1336941.952 0, 1343050.569 1336962.136 0, 1343303.205 1336982.335 0, 1343555.839 1337002.549 0, 1343808.472 1337022.777 0, 1344061.104 1337043.02 0, 1344313.734 1337063.279 0, 1344566.364 1337083.552 0, 1344818.992 1337103.84 0, 1345071.619 1337124.142 0,
+ 1345324.245 1337144.46 0, 1345576.869 1337164.793 0, 1345829.493 1337185.14 0, 1346082.115 1337205.502 0, 1346333.569 1337225.785 0, 1346587.356 1337246.271 0, 1346839.974 1337266.678 0, 1347092.592 1337287.1 0, 1347345.208 1337307.537 0, 1347597.823 1337327.988 0,
+ 1347850.437 1337348.454 0, 1348103.05 1337368.936 0, 1348355.661 1337389.432 0, 1348608.271 1337409.943 0, 1348860.88 1337430.469 0, 1349113.488 1337451.009 0, 1349366.094 1337471.565 0, 1349618.7 1337492.135 0, 1349871.304 1337512.72 0, 1350123.907 1337533.321 0,
+ 1350376.509 1337553.936 0, 1350629.109 1337574.566 0, 1350881.708 1337595.21 0, 1351134.307 1337615.87 0, 1351386.903 1337636.544 0, 1351639.499 1337657.234 0, 1351892.093 1337677.938 0, 1352144.687 1337698.657 0, 1352396.113 1337719.295 0, 1352852.608 1332160.024 0,
+ 1353309.117 1326600.576 0))
+
+POLYGON ((1364519.079 1338732.005 0, 1364267.71 1338710.657 0, 1364015.176 1338689.224 0, 1363762.641 1338667.806 0, 1363510.105 1338646.403 0, 1363257.568 1338625.015 0, 1363005.029 1338603.642 0, 1362752.489 1338582.284 0, 1362499.948 1338560.94 0, 1362247.405 1338539.612 0,
+ 1361994.862 1338518.298 0, 1361742.317 1338496.999 0, 1361489.77 1338475.715 0, 1361237.223 1338454.446 0, 1360984.674 1338433.192 0, 1360732.124 1338411.952 0, 1360479.573 1338390.728 0, 1360227.02 1338369.518 0, 1359974.467 1338348.323 0, 1359721.912 1338327.143 0,
+ 1359469.356 1338305.978 0, 1359216.798 1338284.828 0, 1358964.239 1338263.692 0, 1358711.679 1338242.572 0, 1358457.953 1338221.369 0, 1358206.556 1338200.376 0, 1357953.992 1338179.3 0, 1357701.427 1338158.239 0, 1357448.861 1338137.193 0, 1357196.294 1338116.161 0,
+ 1356943.725 1338095.145 0, 1356691.155 1338074.143 0, 1356438.584 1338053.157 0, 1356186.012 1338032.185 0, 1355933.438 1338011.228 0, 1355680.863 1337990.286 0, 1355428.287 1337969.358 0, 1355175.71 1337948.446 0, 1354923.131 1337927.549 0, 1354670.552 1337906.666 0,
+ 1354417.971 1337885.798 0, 1354165.388 1337864.945 0, 1353912.805 1337844.107 0, 1353660.22 1337823.284 0, 1353407.634 1337802.476 0, 1353155.047 1337781.682 0, 1352902.459 1337760.904 0, 1352649.869 1337740.14 0, 1352396.113 1337719.295 0, 1351939.633 1343278.386 0,
+ 1351483.168 1348837.291 0, 1351736.267 1348858.081 0, 1351988.202 1348878.791 0, 1352240.136 1348899.516 0, 1352492.069 1348920.256 0, 1352744 1348941.01 0, 1352995.931 1348961.779 0, 1353247.86 1348982.563 0, 1353499.787 1349003.362 0, 1353751.714 1349024.176 0,
+ 1354003.639 1349045.004 0, 1354255.564 1349065.848 0, 1354507.487 1349086.706 0, 1354759.408 1349107.579 0, 1355011.329 1349128.467 0, 1355263.248 1349149.369 0, 1355515.166 1349170.287 0, 1355767.083 1349191.219 0, 1356018.998 1349212.166 0, 1356270.913 1349233.128 0,
+ 1356522.826 1349254.105 0, 1356774.738 1349275.097 0, 1357026.648 1349296.103 0, 1357278.558 1349317.125 0, 1357529.304 1349338.064 0, 1357782.373 1349359.212 0, 1358034.278 1349380.277 0, 1358286.183 1349401.358 0, 1358538.086 1349422.453 0, 1358789.988 1349443.564 0,
+ 1359041.889 1349464.689 0, 1359293.788 1349485.829 0, 1359545.686 1349506.983 0, 1359797.583 1349528.153 0, 1360049.479 1349549.337 0, 1360301.373 1349570.537 0, 1360553.267 1349591.751 0, 1360805.159 1349612.979 0, 1361057.049 1349634.223 0, 1361308.939 1349655.482 0,
+ 1361560.827 1349676.755 0, 1361812.714 1349698.043 0, 1362064.6 1349719.346 0, 1362316.484 1349740.664 0, 1362568.367 1349761.997 0, 1362820.249 1349783.344 0, 1363072.13 1349804.706 0, 1363324.009 1349826.084 0, 1363574.727 1349847.377 0, 1364046.895 1344289.784 0,
+ 1364519.079 1338732.005 0))
+
+POLYGON ((796774.608 836562.856 0, 796493.918 836574.767 0, 796211.83 836586.753 0, 795929.743 836598.756 0, 795647.657 836610.775 0, 795365.572 836622.811 0, 795083.488 836634.864 0, 794801.404 836646.933 0, 794519.321 836659.019 0, 794237.238 836671.122 0,
+ 793955.156 836683.241 0, 793673.075 836695.376 0, 793390.995 836707.529 0, 793108.915 836719.698 0, 792826.837 836731.883 0, 792544.758 836744.085 0, 792262.681 836756.304 0, 791980.604 836768.539 0, 791698.528 836780.791 0, 791416.453 836793.06 0,
+ 791134.379 836805.345 0, 790852.305 836817.646 0, 790570.232 836829.965 0, 790288.159 836842.3 0, 790004.689 836854.712 0, 789724.017 836867.019 0, 789441.946 836879.404 0, 789159.877 836891.805 0, 788877.808 836904.223 0, 788595.74 836916.658 0,
+ 788313.673 836929.109 0, 788031.606 836941.577 0, 787749.541 836954.061 0, 787467.476 836966.562 0, 787185.411 836979.079 0, 786903.348 836991.614 0, 786621.285 837004.164 0, 786339.223 837016.732 0, 786057.161 837029.316 0, 785775.101 837041.916 0,
+ 785493.041 837054.533 0, 785210.982 837067.167 0, 784928.923 837079.817 0, 784646.866 837092.484 0, 784364.809 837105.168 0, 784082.753 837117.868 0, 783800.697 837130.585 0, 783518.642 837143.318 0, 783235.189 837156.132 0, 783487.16 842726.543 0,
+ 783739.14 848297.154 0, 784021.934 848284.371 0, 784303.333 848271.667 0, 784584.733 848258.98 0, 784866.133 848246.309 0, 785147.534 848233.655 0, 785428.936 848221.017 0, 785710.339 848208.397 0, 785991.742 848195.792 0, 786273.146 848183.204 0,
+ 786554.551 848170.633 0, 786835.957 848158.078 0, 787117.363 848145.54 0, 787398.77 848133.019 0, 787680.178 848120.514 0, 787961.587 848108.025 0, 788242.996 848095.553 0, 788524.406 848083.098 0, 788805.817 848070.659 0, 789087.228 848058.237 0,
+ 789368.64 848045.831 0, 789650.053 848033.442 0, 789931.467 848021.07 0, 790212.881 848008.714 0, 790492.902 847996.436 0, 790775.712 847984.052 0, 791057.129 847971.746 0, 791338.546 847959.456 0, 791619.964 847947.183 0, 791901.383 847934.926 0,
+ 792182.803 847922.686 0, 792464.223 847910.463 0, 792745.644 847898.256 0, 793027.065 847886.066 0, 793308.488 847873.892 0, 793589.911 847861.735 0, 793871.335 847849.594 0, 794152.759 847837.47 0, 794434.184 847825.363 0, 794715.61 847813.272 0,
+ 794997.037 847801.197 0, 795278.464 847789.14 0, 795559.892 847777.098 0, 795841.321 847765.074 0, 796122.751 847753.066 0, 796404.181 847741.074 0, 796685.612 847729.099 0, 796967.043 847717.141 0, 797247.081 847705.258 0, 797010.841 842133.957 0,
+ 796774.608 836562.856 0))
+
+POLYGON ((810756.641 847151.527 0, 810476.568 847162.618 0, 810195.104 847173.781 0, 809913.641 847184.961 0, 809632.178 847196.158 0, 809350.715 847207.371 0, 809069.254 847218.6 0, 808787.793 847229.846 0, 808506.333 847241.109 0, 808224.873 847252.388 0,
+ 807943.414 847263.684 0, 807661.956 847274.996 0, 807380.498 847286.325 0, 807099.041 847297.671 0, 806817.585 847309.033 0, 806536.129 847320.411 0, 806254.674 847331.806 0, 805973.22 847343.218 0, 805691.766 847354.647 0, 805410.313 847366.091 0,
+ 805128.861 847377.553 0, 804847.41 847389.031 0, 804565.959 847400.525 0, 804284.508 847412.037 0, 804001.666 847423.621 0, 803721.61 847435.109 0, 803440.162 847446.669 0, 803158.714 847458.247 0, 802877.267 847469.841 0, 802595.821 847481.451 0,
+ 802314.376 847493.078 0, 802032.931 847504.722 0, 801751.487 847516.382 0, 801470.044 847528.059 0, 801188.601 847539.752 0, 800907.159 847551.462 0, 800625.717 847563.189 0, 800344.277 847574.932 0, 800062.837 847586.692 0, 799781.398 847598.468 0,
+ 799499.959 847610.261 0, 799218.521 847622.07 0, 798937.084 847633.896 0, 798655.647 847645.738 0, 798374.212 847657.597 0, 798092.777 847669.473 0, 797811.342 847681.365 0, 797529.908 847693.274 0, 797247.081 847705.258 0, 797483.33 853276.754 0,
+ 797719.588 858848.442 0, 798001.756 858836.486 0, 798282.533 858824.605 0, 798563.312 858812.74 0, 798844.091 858800.893 0, 799124.871 858789.061 0, 799405.652 858777.246 0, 799686.433 858765.448 0, 799967.215 858753.666 0, 800247.998 858741.901 0,
+ 800528.781 858730.152 0, 800809.565 858718.42 0, 801090.35 858706.704 0, 801371.135 858695.005 0, 801651.922 858683.323 0, 801932.708 858671.656 0, 802213.496 858660.007 0, 802494.284 858648.374 0, 802775.073 858636.757 0, 803055.863 858625.157 0,
+ 803336.653 858613.574 0, 803617.444 858602.007 0, 803898.235 858590.456 0, 804179.028 858578.922 0, 804458.431 858567.462 0, 804740.614 858555.904 0, 805021.409 858544.42 0, 805302.204 858532.952 0, 805582.999 858521.501 0, 805863.796 858510.066 0,
+ 806144.593 858498.648 0, 806425.39 858487.246 0, 806706.189 858475.861 0, 806986.988 858464.493 0, 807267.787 858453.14 0, 807548.588 858441.805 0, 807829.389 858430.486 0, 808110.191 858419.183 0, 808390.993 858407.897 0, 808671.796 858396.628 0,
+ 808952.6 858385.375 0, 809233.404 858374.138 0, 809514.209 858362.919 0, 809795.015 858351.715 0, 810075.821 858340.528 0, 810356.628 858329.358 0, 810637.436 858318.204 0, 810918.244 858307.067 0, 811197.664 858296.001 0, 810977.149 852723.668 0,
+ 810756.641 847151.527 0))
+
+POLYGON ((824677.248 857781.641 0, 824397.795 857791.917 0, 824116.957 857802.261 0, 823836.118 857812.621 0, 823555.281 857822.998 0, 823274.444 857833.392 0, 822993.608 857843.802 0, 822712.772 857854.228 0, 822431.937 857864.671 0, 822151.103 857875.131 0,
+ 821870.269 857885.607 0, 821589.436 857896.099 0, 821308.604 857906.609 0, 821027.772 857917.134 0, 820746.941 857927.677 0, 820466.11 857938.235 0, 820185.28 857948.811 0, 819904.45 857959.402 0, 819623.622 857970.011 0, 819342.793 857980.636 0,
+ 819061.966 857991.277 0, 818781.139 858001.935 0, 818500.313 858012.609 0, 818219.487 858023.3 0, 817937.274 858034.061 0, 817657.838 858044.732 0, 817377.014 858055.472 0, 817096.191 858066.229 0, 816815.368 858077.003 0, 816534.546 858087.793 0,
+ 816253.725 858098.6 0, 815972.905 858109.423 0, 815692.085 858120.263 0, 815411.265 858131.119 0, 815130.447 858141.992 0, 814849.629 858152.881 0, 814568.811 858163.787 0, 814287.995 858174.709 0, 814007.178 858185.648 0, 813726.363 858196.604 0,
+ 813445.548 858207.576 0, 813164.734 858218.564 0, 812883.92 858229.569 0, 812603.108 858240.591 0, 812322.295 858251.629 0, 812041.484 858262.683 0, 811760.673 858273.755 0, 811479.863 858284.842 0, 811197.664 858296.001 0, 811418.187 863868.523 0,
+ 811638.717 869441.229 0, 811920.256 869430.096 0, 812200.41 869419.034 0, 812480.565 869407.989 0, 812760.721 869396.96 0, 813040.877 869385.948 0, 813321.034 869374.952 0, 813601.191 869363.972 0, 813881.35 869353.01 0, 814161.508 869342.063 0,
+ 814441.668 869331.133 0, 814721.828 869320.22 0, 815001.989 869309.323 0, 815282.15 869298.443 0, 815562.312 869287.579 0, 815842.475 869276.732 0, 816122.638 869265.901 0, 816402.802 869255.086 0, 816682.967 869244.288 0, 816963.132 869233.507 0,
+ 817243.298 869222.742 0, 817523.464 869211.994 0, 817803.631 869201.262 0, 818083.799 869190.546 0, 818362.583 869179.9 0, 818644.136 869169.165 0, 818924.306 869158.499 0, 819204.476 869147.849 0, 819484.647 869137.216 0, 819764.819 869126.6 0,
+ 820044.991 869116 0, 820325.164 869105.416 0, 820605.337 869094.849 0, 820885.511 869084.298 0, 821165.686 869073.764 0, 821445.861 869063.247 0, 821726.037 869052.746 0, 822006.213 869042.261 0, 822286.39 869031.793 0, 822566.568 869021.341 0,
+ 822846.746 869010.906 0, 823126.925 869000.488 0, 823407.105 868990.085 0, 823687.285 868979.7 0, 823967.466 868969.331 0, 824247.647 868958.978 0, 824527.829 868948.642 0, 824808.012 868938.322 0, 825086.811 868928.07 0, 824882.026 863354.763 0,
+ 824677.248 857781.641 0))
+
+POLYGON ((838536.302 868452.906 0, 838257.472 868462.371 0, 837977.261 868471.899 0, 837697.051 868481.443 0, 837416.842 868491.004 0, 837136.633 868500.582 0, 836856.425 868510.176 0, 836576.217 868519.786 0, 836296.01 868529.414 0, 836015.803 868539.057 0,
+ 835735.597 868548.717 0, 835455.391 868558.394 0, 835175.186 868568.087 0, 834894.982 868577.796 0, 834614.778 868587.522 0, 834334.575 868597.265 0, 834054.372 868607.024 0, 833774.17 868616.799 0, 833493.968 868626.591 0, 833213.767 868636.399 0,
+ 832933.567 868646.224 0, 832653.367 868656.066 0, 832373.168 868665.924 0, 832092.969 868675.798 0, 831811.389 868685.738 0, 831532.574 868695.597 0, 831252.377 868705.52 0, 830972.181 868715.461 0, 830691.985 868725.418 0, 830411.79 868735.391 0,
+ 830131.595 868745.381 0, 829851.401 868755.387 0, 829571.208 868765.41 0, 829291.015 868775.45 0, 829010.823 868785.505 0, 828730.631 868795.578 0, 828450.44 868805.667 0, 828170.25 868815.772 0, 827890.06 868825.894 0, 827609.871 868836.032 0,
+ 827329.682 868846.187 0, 827049.494 868856.358 0, 826769.307 868866.546 0, 826489.12 868876.75 0, 826208.934 868886.971 0, 825928.748 868897.208 0, 825648.563 868907.462 0, 825368.379 868917.732 0, 825086.811 868928.07 0, 825291.603 874501.557 0,
+ 825496.401 880075.221 0, 825777.309 880064.908 0, 826056.838 880054.662 0, 826336.367 880044.432 0, 826615.896 880034.219 0, 826895.426 880024.022 0, 827174.957 880013.841 0, 827454.488 880003.677 0, 827734.02 879993.53 0, 828013.553 879983.399 0,
+ 828293.086 879973.284 0, 828572.62 879963.186 0, 828852.154 879953.105 0, 829131.689 879943.039 0, 829411.224 879932.991 0, 829690.76 879922.958 0, 829970.297 879912.943 0, 830249.834 879902.943 0, 830529.372 879892.96 0, 830808.91 879882.994 0,
+ 831088.449 879873.044 0, 831367.989 879863.11 0, 831647.529 879853.193 0, 831927.07 879843.292 0, 832205.232 879833.457 0, 832486.153 879823.54 0, 832765.696 879813.689 0, 833045.239 879803.854 0, 833324.783 879794.036 0, 833604.327 879784.234 0,
+ 833883.872 879774.448 0, 834163.417 879764.679 0, 834442.963 879754.927 0, 834722.51 879745.191 0, 835002.057 879735.471 0, 835281.604 879725.768 0, 835561.153 879716.081 0, 835840.701 879706.411 0, 836120.251 879696.757 0, 836399.801 879687.119 0,
+ 836679.351 879677.498 0, 836958.902 879667.894 0, 837238.454 879658.306 0, 837518.006 879648.734 0, 837797.559 879639.179 0, 838077.112 879629.64 0, 838356.666 879620.118 0, 838636.221 879610.612 0, 838914.397 879601.17 0, 838725.347 874026.949 0,
+ 838536.302 868452.906 0))
+
+POLYGON ((852333.679 879165.029 0, 852055.475 879173.686 0, 851775.895 879182.402 0, 851496.315 879191.134 0, 851216.736 879199.883 0, 850937.157 879208.648 0, 850657.579 879217.43 0, 850378.001 879226.228 0, 850098.424 879235.043 0, 849818.848 879243.874 0,
+ 849539.272 879252.722 0, 849259.696 879261.586 0, 848980.121 879270.466 0, 848700.547 879279.363 0, 848420.973 879288.277 0, 848141.399 879297.206 0, 847861.826 879306.153 0, 847582.254 879315.115 0, 847302.682 879324.095 0, 847023.111 879333.09 0,
+ 846743.54 879342.103 0, 846463.969 879351.131 0, 846184.4 879360.176 0, 845904.83 879369.238 0, 845623.884 879378.36 0, 845345.694 879387.41 0, 845066.126 879396.521 0, 844786.559 879405.648 0, 844506.992 879414.792 0, 844227.426 879423.952 0,
+ 843947.861 879433.129 0, 843668.296 879442.322 0, 843388.732 879451.532 0, 843109.168 879460.758 0, 842829.604 879470 0, 842550.042 879479.259 0, 842270.479 879488.535 0, 841990.918 879497.827 0, 841711.357 879507.135 0, 841431.796 879516.46 0,
+ 841152.236 879525.801 0, 840872.677 879535.159 0, 840593.118 879544.533 0, 840313.559 879553.923 0, 840034.002 879563.33 0, 839754.444 879572.754 0, 839474.888 879582.194 0, 839195.331 879591.65 0, 838914.397 879601.17 0, 839103.454 885175.563 0,
+ 839292.517 890750.126 0, 839572.791 890740.629 0, 839851.691 890731.195 0, 840130.592 890721.777 0, 840409.493 890712.376 0, 840688.394 890702.991 0, 840967.296 890693.622 0, 841246.199 890684.27 0, 841525.102 890674.934 0, 841804.006 890665.615 0,
+ 842082.911 890656.312 0, 842361.816 890647.025 0, 842640.721 890637.755 0, 842919.627 890628.502 0, 843198.533 890619.265 0, 843477.441 890610.044 0, 843756.348 890600.839 0, 844035.256 890591.651 0, 844314.165 890582.48 0, 844593.074 890573.325 0,
+ 844871.984 890564.186 0, 845150.894 890555.064 0, 845429.805 890545.958 0, 845708.717 890536.868 0, 845986.254 890527.84 0, 846266.541 890518.738 0, 846545.454 890509.698 0, 846824.367 890500.674 0, 847103.282 890491.667 0, 847382.196 890482.676 0,
+ 847661.111 890473.701 0, 847940.027 890464.743 0, 848218.943 890455.802 0, 848497.86 890446.876 0, 848776.777 890437.967 0, 849055.695 890429.075 0, 849334.613 890420.199 0, 849613.532 890411.339 0, 849892.451 890402.496 0, 850171.371 890393.669 0,
+ 850450.291 890384.859 0, 850729.212 890376.065 0, 851008.133 890367.287 0, 851287.055 890358.526 0, 851565.978 890349.781 0, 851844.901 890341.053 0, 852123.824 890332.341 0, 852402.748 890323.645 0, 852680.299 890315.009 0, 852506.987 884739.934 0,
+ 852333.679 879165.029 0))
+
+POLYGON ((866069.258 889917.716 0, 865791.681 889925.569 0, 865512.734 889933.476 0, 865233.787 889941.4 0, 864954.84 889949.34 0, 864675.894 889957.297 0, 864396.949 889965.27 0, 864118.004 889973.26 0, 863839.059 889981.266 0, 863560.115 889989.288 0,
+ 863281.171 889997.327 0, 863002.228 890005.382 0, 862723.285 890013.454 0, 862444.343 890021.542 0, 862165.401 890029.646 0, 861886.46 890037.767 0, 861607.519 890045.904 0, 861328.579 890054.058 0, 861049.639 890062.228 0, 860770.7 890070.415 0,
+ 860491.761 890078.618 0, 860212.823 890086.837 0, 859933.885 890095.073 0, 859654.947 890103.325 0, 859374.638 890111.634 0, 859097.074 890119.879 0, 858818.138 890128.18 0, 858539.202 890136.498 0, 858260.268 890144.832 0, 857981.333 890153.183 0,
+ 857702.399 890161.55 0, 857423.466 890169.934 0, 857144.533 890178.334 0, 856865.6 890186.75 0, 856586.668 890195.183 0, 856307.736 890203.632 0, 856028.805 890212.098 0, 855749.875 890220.58 0, 855470.945 890229.079 0, 855192.015 890237.593 0,
+ 854913.086 890246.125 0, 854634.158 890254.673 0, 854355.23 890263.237 0, 854076.302 890271.817 0, 853797.375 890280.414 0, 853518.449 890289.028 0, 853239.523 890297.657 0, 852960.597 890306.304 0, 852680.299 890315.009 0, 852853.617 895890.249 0,
+ 853026.94 901465.651 0, 853306.578 901456.966 0, 853584.848 901448.34 0, 853863.117 901439.73 0, 854141.387 901431.137 0, 854419.658 901422.561 0, 854697.929 901414 0, 854976.201 901405.456 0, 855254.473 901396.929 0, 855532.746 901388.417 0,
+ 855811.019 901379.922 0, 856089.293 901371.444 0, 856367.567 901362.982 0, 856645.842 901354.536 0, 856924.117 901346.107 0, 857202.393 901337.694 0, 857480.669 901329.297 0, 857758.945 901320.917 0, 858037.223 901312.553 0, 858315.5 901304.206 0,
+ 858593.778 901295.875 0, 858872.057 901287.56 0, 859150.336 901279.262 0, 859428.616 901270.98 0, 859705.527 901262.755 0, 859985.177 901254.465 0, 860263.458 901246.232 0, 860541.739 901238.016 0, 860820.021 901229.816 0, 861098.304 901221.632 0,
+ 861376.587 901213.465 0, 861654.87 901205.314 0, 861933.154 901197.179 0, 862211.439 901189.061 0, 862489.724 901180.959 0, 862768.009 901172.874 0, 863046.295 901164.805 0, 863324.581 901156.752 0, 863602.868 901148.716 0, 863881.155 901140.696 0,
+ 864159.443 901132.693 0, 864437.731 901124.706 0, 864716.02 901116.735 0, 864994.309 901108.78 0, 865272.599 901100.842 0, 865550.889 901092.921 0, 865829.18 901085.016 0, 866107.471 901077.127 0, 866384.394 901069.293 0, 866226.824 895493.424 0,
+ 866069.258 889917.716 0))
+
+POLYGON ((879742.915 900710.674 0, 879465.968 900717.726 0, 879187.656 900724.828 0, 878909.344 900731.947 0, 878631.033 900739.082 0, 878352.722 900746.234 0, 878074.411 900753.402 0, 877796.101 900760.587 0, 877517.792 900767.788 0, 877239.482 900775.005 0,
+ 876961.174 900782.239 0, 876682.865 900789.489 0, 876404.557 900796.755 0, 876126.25 900804.038 0, 875847.942 900811.337 0, 875569.636 900818.652 0, 875291.329 900825.984 0, 875013.024 900833.333 0, 874734.718 900840.697 0, 874456.413 900848.078 0,
+ 874178.109 900855.476 0, 873899.805 900862.89 0, 873621.501 900870.32 0, 873343.198 900877.766 0, 873063.528 900885.266 0, 872786.593 900892.709 0, 872508.291 900900.204 0, 872229.989 900907.717 0, 871951.688 900915.245 0, 871673.388 900922.79 0,
+ 871395.087 900930.351 0, 871116.788 900937.929 0, 870838.489 900945.523 0, 870560.19 900953.133 0, 870281.891 900960.76 0, 870003.593 900968.403 0, 869725.296 900976.063 0, 869446.999 900983.738 0, 869168.702 900991.431 0, 868890.406 900999.139 0,
+ 868612.111 901006.864 0, 868333.816 901014.606 0, 868055.521 901022.364 0, 867777.227 901030.138 0, 867498.933 901037.928 0, 867220.639 901045.735 0, 866942.347 901053.559 0, 866664.054 901061.398 0, 866384.394 901069.293 0, 866541.969 906645.32 0,
+ 866699.549 912221.5 0, 866978.549 912213.624 0, 867256.185 912205.803 0, 867533.821 912197.998 0, 867811.458 912190.21 0, 868089.096 912182.438 0, 868366.734 912174.682 0, 868644.372 912166.942 0, 868922.011 912159.219 0, 869199.65 912151.512 0,
+ 869477.29 912143.822 0, 869754.93 912136.148 0, 870032.57 912128.49 0, 870310.211 912120.848 0, 870587.853 912113.223 0, 870865.495 912105.615 0, 871143.137 912098.022 0, 871420.78 912090.446 0, 871698.423 912082.886 0, 871976.067 912075.343 0,
+ 872253.711 912067.816 0, 872531.356 912060.305 0, 872809.001 912052.811 0, 873086.646 912045.333 0, 873362.929 912037.908 0, 873641.939 912030.426 0, 873919.585 912022.997 0, 874197.233 912015.584 0, 874474.88 912008.188 0, 874752.528 912000.808 0,
+ 875030.177 911993.444 0, 875307.826 911986.097 0, 875585.475 911978.766 0, 875863.125 911971.451 0, 876140.775 911964.153 0, 876418.426 911956.871 0, 876696.077 911949.605 0, 876973.729 911942.356 0, 877251.381 911935.123 0, 877529.033 911927.907 0,
+ 877806.686 911920.706 0, 878084.339 911913.522 0, 878361.993 911906.355 0, 878639.647 911899.204 0, 878917.302 911892.069 0, 879194.957 911884.95 0, 879472.612 911877.848 0, 879750.268 911870.762 0, 880026.561 911863.727 0, 879884.736 906287.124 0,
+ 879742.915 900710.674 0))
+
+POLYGON ((893354.532 911543.607 0, 893078.217 911549.861 0, 892800.542 911556.163 0, 892522.868 911562.48 0, 892245.194 911568.814 0, 891967.521 911575.165 0, 891689.847 911581.532 0, 891412.175 911587.915 0, 891134.502 911594.314 0, 890856.83 911600.73 0,
+ 890579.158 911607.162 0, 890301.487 911613.611 0, 890023.816 911620.075 0, 889746.146 911626.556 0, 889468.475 911633.054 0, 889190.806 911639.568 0, 888913.136 911646.098 0, 888635.467 911652.645 0, 888357.799 911659.207 0, 888080.13 911665.787 0,
+ 887802.462 911672.382 0, 887524.795 911678.994 0, 887247.128 911685.622 0, 886969.461 911692.267 0, 886690.433 911698.96 0, 886414.129 911705.605 0, 886136.464 911712.299 0, 885858.798 911719.009 0, 885581.134 911725.735 0, 885303.469 911732.478 0,
+ 885025.805 911739.237 0, 884748.142 911746.012 0, 884470.479 911752.804 0, 884192.816 911759.612 0, 883915.154 911766.436 0, 883637.492 911773.277 0, 883359.83 911780.134 0, 883082.169 911787.007 0, 882804.509 911793.897 0, 882526.848 911800.803 0,
+ 882249.188 911807.725 0, 881971.529 911814.664 0, 881693.87 911821.619 0, 881416.211 911828.59 0, 881138.553 911835.578 0, 880860.895 911842.582 0, 880583.238 911849.603 0, 880305.581 911856.64 0, 880026.561 911863.727 0, 880168.39 917440.481 0,
+ 880310.223 923017.381 0, 880588.582 923010.31 0, 880865.583 923003.289 0, 881142.584 922996.286 0, 881419.585 922989.298 0, 881696.587 922982.327 0, 881973.589 922975.372 0, 882250.592 922968.433 0, 882527.595 922961.511 0, 882804.598 922954.605 0,
+ 883081.602 922947.715 0, 883358.606 922940.842 0, 883635.611 922933.984 0, 883912.616 922927.144 0, 884189.621 922920.319 0, 884466.627 922913.511 0, 884743.633 922906.719 0, 885020.64 922899.943 0, 885297.647 922893.184 0, 885574.654 922886.441 0,
+ 885851.662 922879.714 0, 886128.67 922873.004 0, 886405.679 922866.31 0, 886682.688 922859.632 0, 886958.339 922853.003 0, 887236.707 922846.325 0, 887513.717 922839.697 0, 887790.728 922833.084 0, 888067.739 922826.488 0, 888344.75 922819.908 0,
+ 888621.762 922813.344 0, 888898.774 922806.797 0, 889175.786 922800.266 0, 889452.799 922793.751 0, 889729.813 922787.253 0, 890006.826 922780.77 0, 890283.84 922774.305 0, 890560.855 922767.855 0, 890837.869 922761.422 0, 891114.885 922755.005 0,
+ 891391.9 922748.604 0, 891668.916 922742.22 0, 891945.932 922735.852 0, 892222.949 922729.5 0, 892499.966 922723.165 0, 892776.984 922716.846 0, 893054.001 922710.543 0, 893331.019 922704.257 0, 893606.681 922698.017 0, 893480.604 917120.739 0,
+ 893354.532 911543.607 0))
+
+POLYGON ((906903.988 922416.22 0, 906628.308 922421.681 0, 906351.273 922427.184 0, 906074.239 922432.704 0, 905797.205 922438.241 0, 905520.171 922443.794 0, 905243.137 922449.363 0, 904966.104 922454.948 0, 904689.071 922460.55 0, 904412.039 922466.168 0,
+ 904135.006 922471.802 0, 903857.975 922477.453 0, 903580.943 922483.119 0, 903303.912 922488.803 0, 903026.881 922494.502 0, 902749.851 922500.218 0, 902472.82 922505.95 0, 902195.79 922511.698 0, 901918.761 922517.463 0, 901641.732 922523.244 0,
+ 901364.703 922529.041 0, 901087.674 922534.855 0, 900810.646 922540.685 0, 900533.619 922546.531 0, 900255.235 922552.423 0, 899979.564 922558.273 0, 899702.537 922564.168 0, 899425.511 922570.079 0, 899148.485 922576.007 0, 898871.459 922581.951 0,
+ 898594.434 922587.912 0, 898317.409 922593.888 0, 898040.384 922599.881 0, 897763.36 922605.89 0, 897486.336 922611.916 0, 897209.312 922617.958 0, 896932.289 922624.016 0, 896655.266 922630.091 0, 896378.243 922636.182 0, 896101.221 922642.289 0,
+ 895824.199 922648.412 0, 895547.178 922654.552 0, 895270.157 922660.708 0, 894993.136 922666.88 0, 894716.116 922673.069 0, 894439.096 922679.274 0, 894162.076 922685.495 0, 893885.057 922691.733 0, 893606.681 922698.017 0, 893732.76 928275.437 0,
+ 893858.843 933852.996 0, 894136.559 933846.726 0, 894412.922 933840.504 0, 894689.285 933834.297 0, 894965.648 933828.107 0, 895242.012 933821.933 0, 895518.376 933815.775 0, 895794.741 933809.634 0, 896071.106 933803.508 0, 896347.471 933797.4 0,
+ 896623.837 933791.307 0, 896900.203 933785.23 0, 897176.569 933779.17 0, 897452.935 933773.127 0, 897729.303 933767.099 0, 898005.67 933761.088 0, 898282.038 933755.093 0, 898558.406 933749.114 0, 898834.774 933743.151 0, 899111.143 933737.205 0,
+ 899387.512 933731.275 0, 899663.882 933725.361 0, 899940.251 933719.464 0, 900216.622 933713.583 0, 900491.639 933707.746 0, 900769.363 933701.869 0, 901045.734 933696.037 0, 901322.106 933690.221 0, 901598.478 933684.421 0, 901874.85 933678.637 0,
+ 902151.223 933672.87 0, 902427.595 933667.119 0, 902703.969 933661.384 0, 902980.342 933655.666 0, 903256.716 933649.963 0, 903533.091 933644.277 0, 903809.465 933638.608 0, 904085.84 933632.954 0, 904362.215 933627.317 0, 904638.591 933621.696 0,
+ 904914.967 933616.091 0, 905191.343 933610.503 0, 905467.72 933604.931 0, 905744.097 933599.375 0, 906020.474 933593.835 0, 906296.851 933588.312 0, 906573.229 933582.805 0, 906849.608 933577.314 0, 907124.634 933571.867 0, 907014.31 927993.974 0,
+ 906903.988 922416.22 0))
+
+POLYGON ((920391.167 933328.216 0, 920116.124 933332.887 0, 919839.731 933337.597 0, 919563.339 933342.323 0, 919286.947 933347.066 0, 919010.555 933351.825 0, 918734.163 933356.6 0, 918457.772 933361.391 0, 918181.381 933366.198 0, 917904.991 933371.022 0,
+ 917628.6 933375.862 0, 917352.21 933380.719 0, 917075.82 933385.591 0, 916799.431 933390.48 0, 916523.042 933395.385 0, 916246.653 933400.307 0, 915970.264 933405.244 0, 915693.876 933410.198 0, 915417.488 933415.169 0, 915141.1 933420.155 0,
+ 914864.712 933425.158 0, 914588.325 933430.177 0, 914311.938 933435.212 0, 914035.552 933440.264 0, 913757.814 933445.356 0, 913482.779 933450.416 0, 913206.394 933455.516 0, 912930.008 933460.633 0, 912653.623 933465.766 0, 912377.238 933470.915 0,
+ 912100.854 933476.08 0, 911824.47 933481.262 0, 911548.086 933486.46 0, 911271.702 933491.674 0, 910995.319 933496.905 0, 910718.936 933502.151 0, 910442.553 933507.414 0, 910166.171 933512.694 0, 909889.789 933517.989 0, 909613.407 933523.301 0,
+ 909337.026 933528.629 0, 909060.645 933533.974 0, 908784.264 933539.334 0, 908507.884 933544.711 0, 908231.503 933550.104 0, 907955.124 933555.514 0, 907678.744 933560.94 0, 907402.365 933566.382 0, 907124.634 933571.867 0, 907234.961 939149.893 0,
+ 907345.291 944728.05 0, 907622.362 944722.579 0, 907898.084 944717.149 0, 908173.807 944711.737 0, 908449.53 944706.34 0, 908725.254 944700.96 0, 909000.978 944695.596 0, 909276.702 944690.248 0, 909552.426 944684.916 0, 909828.151 944679.601 0,
+ 910103.876 944674.301 0, 910379.602 944669.018 0, 910655.327 944663.752 0, 910931.053 944658.501 0, 911206.78 944653.267 0, 911482.506 944648.049 0, 911758.233 944642.847 0, 912033.96 944637.661 0, 912309.688 944632.492 0, 912585.416 944627.339 0,
+ 912861.144 944622.202 0, 913136.872 944617.081 0, 913412.601 944611.976 0, 913688.33 944606.888 0, 913962.712 944601.841 0, 914239.789 944596.76 0, 914515.519 944591.721 0, 914791.249 944586.698 0, 915066.98 944581.69 0, 915342.711 944576.7 0,
+ 915618.442 944571.725 0, 915894.173 944566.766 0, 916169.905 944561.824 0, 916445.637 944556.898 0, 916721.369 944551.989 0, 916997.102 944547.095 0, 917272.835 944542.218 0, 917548.568 944537.357 0, 917824.301 944532.512 0, 918100.035 944527.683 0,
+ 918375.769 944522.871 0, 918651.503 944518.075 0, 918927.238 944513.295 0, 919202.973 944508.531 0, 919478.708 944503.784 0, 919754.443 944499.053 0, 920030.179 944494.338 0, 920305.915 944489.639 0, 920580.304 944484.979 0, 920485.734 938906.533 0,
+ 920391.167 933328.216 0))
+
+POLYGON ((933815.952 944279.3 0, 933541.548 944283.185 0, 933265.8 944287.105 0, 932990.052 944291.041 0, 932714.304 944294.993 0, 932438.557 944298.961 0, 932162.81 944302.946 0, 931887.063 944306.947 0, 931611.316 944310.964 0, 931335.57 944314.997 0,
+ 931059.823 944319.047 0, 930784.077 944323.113 0, 930508.332 944327.195 0, 930232.586 944331.293 0, 929956.841 944335.407 0, 929681.096 944339.538 0, 929405.351 944343.685 0, 929129.606 944347.848 0, 928853.862 944352.028 0, 928578.118 944356.223 0,
+ 928302.374 944360.435 0, 928026.63 944364.663 0, 927750.887 944368.907 0, 927475.144 944373.168 0, 927198.055 944377.466 0, 926923.659 944381.738 0, 926647.916 944386.047 0, 926372.174 944390.373 0, 926096.432 944394.714 0, 925820.691 944399.072 0,
+ 925544.95 944403.446 0, 925269.209 944407.837 0, 924993.468 944412.243 0, 924717.727 944416.666 0, 924441.987 944421.105 0, 924166.247 944425.561 0, 923890.507 944430.032 0, 923614.768 944434.52 0, 923339.029 944439.024 0, 923063.29 944443.544 0,
+ 922787.551 944448.081 0, 922511.812 944452.633 0, 922236.074 944457.202 0, 921960.336 944461.787 0, 921684.599 944466.389 0, 921408.862 944471.006 0, 921133.124 944475.64 0, 920857.388 944480.29 0, 920580.304 944484.979 0, 920674.876 950063.552 0,
+ 920769.451 955642.248 0, 921045.874 955637.57 0, 921320.954 955632.931 0, 921596.034 955628.308 0, 921871.115 955623.701 0, 922146.196 955619.111 0, 922421.277 955614.537 0, 922696.359 955609.979 0, 922971.44 955605.437 0, 923246.522 955600.911 0,
+ 923521.605 955596.402 0, 923796.687 955591.908 0, 924071.77 955587.431 0, 924346.853 955582.97 0, 924621.936 955578.526 0, 924897.02 955574.097 0, 925172.104 955569.685 0, 925447.188 955565.289 0, 925722.272 955560.909 0, 925997.357 955556.545 0,
+ 926272.441 955552.198 0, 926547.527 955547.866 0, 926822.612 955543.551 0, 927097.698 955539.252 0, 927371.441 955534.99 0, 927647.869 955530.703 0, 927922.956 955526.452 0, 928198.042 955522.218 0, 928473.129 955518 0, 928748.216 955513.798 0,
+ 929023.304 955509.613 0, 929298.391 955505.443 0, 929573.479 955501.29 0, 929848.567 955497.153 0, 930123.656 955493.032 0, 930398.744 955488.927 0, 930673.833 955484.839 0, 930948.922 955480.766 0, 931224.012 955476.71 0, 931499.101 955472.67 0,
+ 931774.191 955468.647 0, 932049.281 955464.639 0, 932324.371 955460.648 0, 932599.462 955456.673 0, 932874.552 955452.714 0, 933149.643 955448.771 0, 933424.734 955444.844 0, 933699.826 955440.934 0, 933973.576 955437.059 0, 933894.763 949858.118 0,
+ 933815.952 944279.3 0))
+
+POLYGON ((947178.228 955269.174 0, 946904.466 955272.276 0, 946629.365 955275.41 0, 946354.264 955278.559 0, 946079.163 955281.724 0, 945804.062 955284.906 0, 945528.961 955288.104 0, 945253.861 955291.318 0, 944978.761 955294.549 0, 944703.661 955297.795 0,
+ 944428.561 955301.058 0, 944153.461 955304.337 0, 943878.362 955307.632 0, 943603.262 955310.943 0, 943328.163 955314.271 0, 943053.064 955317.614 0, 942777.966 955320.974 0, 942502.867 955324.35 0, 942227.769 955327.743 0, 941952.671 955331.151 0,
+ 941677.573 955334.576 0, 941402.475 955338.017 0, 941127.378 955341.474 0, 940852.28 955344.947 0, 940575.843 955348.453 0, 940302.087 955351.942 0, 940026.99 955355.464 0, 939751.893 955359.002 0, 939476.797 955362.556 0, 939201.701 955366.126 0,
+ 938926.605 955369.713 0, 938651.51 955373.316 0, 938376.414 955376.935 0, 938101.319 955380.57 0, 937826.224 955384.221 0, 937551.129 955387.888 0, 937276.035 955391.572 0, 937000.94 955395.272 0, 936725.846 955398.988 0, 936450.752 955402.72 0,
+ 936175.659 955406.469 0, 935900.565 955410.234 0, 935625.472 955414.015 0, 935350.379 955417.812 0, 935075.286 955421.625 0, 934800.194 955425.454 0, 934525.101 955429.3 0, 934250.009 955433.162 0, 933973.576 955437.059 0, 934052.391 961016.117 0,
+ 934131.207 966595.291 0, 934406.98 966591.403 0, 934681.416 966587.55 0, 934955.851 966583.714 0, 935230.287 966579.894 0, 935504.723 966576.089 0, 935779.159 966572.301 0, 936053.596 966568.53 0, 936328.032 966564.774 0, 936602.469 966561.034 0,
+ 936876.906 966557.311 0, 937151.344 966553.604 0, 937425.781 966549.913 0, 937700.219 966546.238 0, 937974.657 966542.579 0, 938249.095 966538.936 0, 938523.534 966535.31 0, 938797.972 966531.7 0, 939072.411 966528.106 0, 939346.85 966524.528 0,
+ 939621.29 966520.966 0, 939895.729 966517.42 0, 940170.169 966513.89 0, 940444.609 966510.377 0, 940717.712 966506.897 0, 940993.489 966503.399 0, 941267.93 966499.934 0, 941542.37 966496.485 0, 941816.811 966493.052 0, 942091.252 966489.636 0,
+ 942365.694 966486.236 0, 942640.135 966482.851 0, 942914.577 966479.483 0, 943189.019 966476.132 0, 943463.461 966472.796 0, 943737.903 966469.476 0, 944012.346 966466.173 0, 944286.789 966462.886 0, 944561.231 966459.615 0, 944835.675 966456.36 0,
+ 945110.118 966453.121 0, 945384.561 966449.898 0, 945659.005 966446.692 0, 945933.449 966443.501 0, 946207.893 966440.327 0, 946482.337 966437.169 0, 946756.781 966434.027 0, 947031.226 966430.902 0, 947304.335 966427.807 0, 947241.281 960848.434 0,
+ 947178.228 955269.174 0))
+
+POLYGON ((960477.883 966297.541 0, 960204.765 966299.864 0, 959930.312 966302.214 0, 959655.86 966304.581 0, 959381.408 966306.963 0, 959106.956 966309.362 0, 958832.504 966311.777 0, 958558.053 966314.208 0, 958283.601 966316.655 0, 958009.15 966319.119 0,
+ 957734.699 966321.598 0, 957460.248 966324.094 0, 957185.797 966326.606 0, 956911.346 966329.134 0, 956636.896 966331.678 0, 956362.445 966334.239 0, 956087.995 966336.815 0, 955813.545 966339.408 0, 955539.095 966342.017 0, 955264.645 966344.642 0,
+ 954990.195 966347.283 0, 954715.746 966349.94 0, 954441.296 966352.613 0, 954166.847 966355.303 0, 953891.063 966358.022 0, 953617.949 966360.731 0, 953343.5 966363.469 0, 953069.052 966366.223 0, 952794.603 966368.993 0, 952520.155 966371.78 0,
+ 952245.707 966374.582 0, 951971.259 966377.401 0, 951696.811 966380.236 0, 951422.364 966383.087 0, 951147.916 966385.954 0, 950873.469 966388.838 0, 950599.022 966391.737 0, 950324.575 966394.653 0, 950050.128 966397.585 0, 949775.682 966400.533 0,
+ 949501.236 966403.497 0, 949226.789 966406.477 0, 948952.343 966409.474 0, 948677.897 966412.487 0, 948403.452 966415.515 0, 948129.006 966418.56 0, 947854.561 966421.621 0, 947580.116 966424.699 0, 947304.335 966427.807 0, 947367.39 972007.291 0,
+ 947430.446 977586.881 0, 947705.567 977583.78 0, 947979.355 977580.711 0, 948253.144 977577.657 0, 948526.933 977574.619 0, 948800.721 977571.598 0, 949074.51 977568.592 0, 949348.3 977565.603 0, 949622.089 977562.63 0, 949895.879 977559.672 0,
+ 950169.668 977556.732 0, 950443.458 977553.807 0, 950717.248 977550.898 0, 950991.039 977548.005 0, 951264.829 977545.129 0, 951538.62 977542.268 0, 951812.41 977539.424 0, 952086.201 977536.596 0, 952359.993 977533.784 0, 952633.784 977530.988 0,
+ 952907.575 977528.208 0, 953181.367 977525.444 0, 953455.159 977522.697 0, 953728.951 977519.965 0, 954001.411 977517.263 0, 954276.535 977514.551 0, 954550.327 977511.868 0, 954824.12 977509.201 0, 955097.912 977506.55 0, 955371.705 977503.915 0,
+ 955645.498 977501.296 0, 955919.292 977498.694 0, 956193.085 977496.107 0, 956466.878 977493.537 0, 956740.672 977490.983 0, 957014.466 977488.445 0, 957288.26 977485.923 0, 957562.054 977483.417 0, 957835.848 977480.927 0, 958109.642 977478.453 0,
+ 958383.437 977475.996 0, 958657.232 977473.554 0, 958931.026 977471.129 0, 959204.821 977468.72 0, 959478.616 977466.327 0, 959752.412 977463.95 0, 960026.207 977461.589 0, 960300.003 977459.244 0, 960572.467 977456.927 0, 960525.175 971877.181 0,
+ 960477.883 966297.541 0))
+
+POLYGON ((973714.803 977364.102 0, 973442.331 977365.649 0, 973168.53 977367.22 0, 972894.729 977368.808 0, 972620.928 977370.411 0, 972347.127 977372.031 0, 972073.327 977373.666 0, 971799.526 977375.318 0, 971525.726 977376.986 0, 971251.925 977378.67 0,
+ 970978.125 977380.37 0, 970704.325 977382.086 0, 970430.525 977383.819 0, 970156.725 977385.567 0, 969882.925 977387.332 0, 969609.125 977389.112 0, 969335.326 977390.909 0, 969061.526 977392.722 0, 968787.727 977394.551 0, 968513.927 977396.396 0,
+ 968240.128 977398.257 0, 967966.329 977400.135 0, 967692.53 977402.028 0, 967418.731 977403.938 0, 967143.602 977405.873 0, 966871.134 977407.806 0, 966597.335 977409.764 0, 966323.537 977411.738 0, 966049.738 977413.728 0, 965775.94 977415.734 0,
+ 965502.142 977417.756 0, 965228.344 977419.795 0, 964954.546 977421.85 0, 964680.749 977423.92 0, 964406.951 977426.007 0, 964133.154 977428.11 0, 963859.356 977430.229 0, 963585.559 977432.365 0, 963311.762 977434.516 0, 963037.965 977436.683 0,
+ 962764.168 977438.867 0, 962490.371 977441.067 0, 962216.575 977443.282 0, 961942.778 977445.514 0, 961668.982 977447.762 0, 961395.186 977450.027 0, 961121.39 977452.307 0, 960847.594 977454.603 0, 960572.467 977456.927 0, 960619.761 983036.775 0,
+ 960667.055 988616.722 0, 960941.522 988614.404 0, 961214.661 988612.113 0, 961487.8 988609.838 0, 961760.939 988607.58 0, 962034.079 988605.337 0, 962307.218 988603.11 0, 962580.358 988600.9 0, 962853.498 988598.706 0, 963126.638 988596.527 0,
+ 963399.778 988594.365 0, 963672.918 988592.219 0, 963946.059 988590.089 0, 964219.199 988587.975 0, 964492.34 988585.877 0, 964765.481 988583.795 0, 965038.621 988581.729 0, 965311.762 988579.679 0, 965584.903 988577.646 0, 965858.045 988575.628 0,
+ 966131.186 988573.627 0, 966404.328 988571.641 0, 966677.469 988569.672 0, 966950.611 988567.719 0, 967222.426 988565.791 0, 967496.895 988563.86 0, 967770.037 988561.955 0, 968043.179 988560.066 0, 968316.321 988558.193 0, 968589.463 988556.337 0,
+ 968862.606 988554.496 0, 969135.748 988552.671 0, 969408.891 988550.863 0, 969682.034 988549.07 0, 969955.177 988547.294 0, 970228.32 988545.533 0, 970501.463 988543.789 0, 970774.606 988542.061 0, 971047.749 988540.349 0, 971320.893 988538.653 0,
+ 971594.036 988536.973 0, 971867.18 988535.309 0, 972140.324 988533.661 0, 972413.467 988532.029 0, 972686.611 988530.414 0, 972959.755 988528.814 0, 973232.899 988527.231 0, 973506.044 988525.663 0, 973777.862 988524.119 0, 973746.332 982944.061 0,
+ 973714.803 977364.102 0))
+
+POLYGON ((986888.879 988468.558 0, 986617.055 988469.333 0, 986343.907 988470.129 0, 986070.76 988470.941 0, 985797.612 988471.769 0, 985524.465 988472.613 0, 985251.318 988473.473 0, 984978.17 988474.349 0, 984705.023 988475.241 0, 984431.876 988476.15 0,
+ 984158.729 988477.074 0, 983885.582 988478.014 0, 983612.435 988478.971 0, 983339.288 988479.943 0, 983066.141 988480.932 0, 982792.994 988481.937 0, 982519.847 988482.958 0, 982246.701 988483.994 0, 981973.554 988485.047 0, 981700.408 988486.116 0,
+ 981427.261 988487.202 0, 981154.115 988488.303 0, 980880.968 988489.42 0, 980607.822 988490.553 0, 980333.351 988491.708 0, 980061.529 988492.868 0, 979788.383 988494.05 0, 979515.237 988495.248 0, 979242.091 988496.461 0, 978968.945 988497.691 0,
+ 978695.799 988498.937 0, 978422.654 988500.199 0, 978149.508 988501.477 0, 977876.362 988502.771 0, 977603.217 988504.081 0, 977330.071 988505.408 0, 977056.926 988506.75 0, 976783.781 988508.108 0, 976510.636 988509.483 0, 976237.49 988510.873 0,
+ 975964.345 988512.28 0, 975691.2 988513.703 0, 975418.055 988515.142 0, 975144.911 988516.596 0, 974871.766 988518.067 0, 974598.621 988519.554 0, 974325.477 988521.058 0, 974052.332 988522.577 0, 973777.862 988524.119 0, 973809.392 994104.272 0,
+ 973840.923 999684.514 0, 974114.733 999682.975 0, 974387.221 999681.459 0, 974659.708 999679.96 0, 974932.196 999678.476 0, 975204.684 999677.009 0, 975477.172 999675.558 0, 975749.66 999674.122 0, 976022.148 999672.703 0, 976294.636 999671.3 0,
+ 976567.125 999669.912 0, 976839.613 999668.541 0, 977112.101 999667.186 0, 977384.59 999665.847 0, 977657.078 999664.524 0, 977929.567 999663.217 0, 978202.056 999661.926 0, 978474.545 999660.651 0, 978747.033 999659.392 0, 979019.522 999658.149 0,
+ 979292.011 999656.922 0, 979564.501 999655.711 0, 979836.99 999654.517 0, 980109.479 999653.338 0, 980380.647 999652.181 0, 980654.458 999651.028 0, 980926.947 999649.898 0, 981199.437 999648.783 0, 981471.926 999647.685 0, 981744.416 999646.602 0,
+ 982016.906 999645.536 0, 982289.395 999644.485 0, 982561.885 999643.451 0, 982834.375 999642.433 0, 983106.865 999641.43 0, 983379.355 999640.444 0, 983651.845 999639.474 0, 983924.335 999638.52 0, 984196.825 999637.581 0, 984469.316 999636.659 0,
+ 984741.806 999635.753 0, 985014.296 999634.863 0, 985286.787 999633.989 0, 985559.277 999633.131 0, 985831.767 999632.289 0, 986104.258 999631.463 0, 986376.749 999630.653 0, 986649.239 999629.86 0, 986920.409 999629.086 0, 986904.644 994048.777 0,
+ 986888.879 988468.558 0))
+
+POLYGON ((1000000 999610.609 0, 999728.827 999610.617 0, 999456.335 999610.641 0, 999183.843 999610.681 0, 998911.351 999610.737 0, 998638.859 999610.81 0, 998366.368 999610.898 0, 998093.876 999611.002 0, 997821.384 999611.122 0, 997548.892 999611.258 0,
+ 997276.401 999611.411 0, 997003.909 999611.579 0, 996731.417 999611.763 0, 996458.926 999611.964 0, 996186.434 999612.18 0, 995913.942 999612.413 0, 995641.45 999612.661 0, 995368.959 999612.926 0, 995096.467 999613.206 0, 994823.975 999613.503 0,
+ 994551.484 999613.816 0, 994278.992 999614.144 0, 994006.501 999614.489 0, 993734.009 999614.85 0, 993460.198 999615.229 0, 993189.026 999615.62 0, 992916.535 999616.028 0, 992644.043 999616.453 0, 992371.552 999616.894 0, 992099.06 999617.351 0,
+ 991826.569 999617.824 0, 991554.078 999618.313 0, 991281.586 999618.819 0, 991009.095 999619.34 0, 990736.604 999619.877 0, 990464.113 999620.43 0, 990191.621 999621 0, 989919.13 999621.585 0, 989646.639 999622.186 0, 989374.148 999622.804 0,
+ 989101.657 999623.437 0, 988829.166 999624.086 0, 988556.675 999624.752 0, 988284.184 999625.434 0, 988011.693 999626.131 0, 987739.202 999626.845 0, 987466.711 999627.574 0, 987194.221 999628.32 0, 986920.409 999629.086 0, 986936.175 1005209.481 0,
+ 986951.941 1010789.957 0, 987225.092 1010789.194 0, 987496.926 1010788.45 0, 987768.76 1010787.722 0, 988040.594 1010787.01 0, 988312.428 1010786.314 0, 988584.262 1010785.634 0, 988856.096 1010784.97 0, 989127.93 1010784.322 0, 989399.764 1010783.69 0,
+ 989671.598 1010783.075 0, 989943.433 1010782.475 0, 990215.267 1010781.891 0, 990487.101 1010781.323 0, 990758.935 1010780.771 0, 991030.77 1010780.235 0, 991302.604 1010779.715 0, 991574.439 1010779.211 0, 991846.273 1010778.723 0, 992118.108 1010778.251 0,
+ 992389.942 1010777.795 0, 992661.777 1010777.356 0, 992933.611 1010776.932 0, 993205.446 1010776.524 0, 993475.964 1010776.134 0, 993749.115 1010775.756 0, 994020.95 1010775.396 0, 994292.784 1010775.052 0, 994564.619 1010774.724 0, 994836.454 1010774.412 0,
+ 995108.288 1010774.116 0, 995380.123 1010773.836 0, 995651.958 1010773.572 0, 995923.793 1010773.325 0, 996195.627 1010773.093 0, 996467.462 1010772.877 0, 996739.297 1010772.677 0, 997011.132 1010772.493 0, 997282.967 1010772.325 0, 997554.801 1010772.173 0,
+ 997826.636 1010772.037 0, 998098.471 1010771.917 0, 998370.306 1010771.813 0, 998642.141 1010771.725 0, 998913.976 1010771.653 0, 999185.811 1010771.597 0, 999457.645 1010771.558 0, 999729.48 1010771.534 0, 1000000 1010771.526 0, 1000000 1005191.027 0,
+ 1000000 999610.609 0))
+
+POLYGON ((1013048.059 1010789.957 0, 1012777.538 1010789.201 0, 1012505.704 1010788.457 0, 1012233.871 1010787.729 0, 1011962.037 1010787.017 0, 1011690.203 1010786.321 0, 1011418.369 1010785.641 0, 1011146.535 1010784.977 0, 1010874.7 1010784.329 0, 1010602.866 1010783.696 0,
+ 1010331.032 1010783.08 0, 1010059.198 1010782.48 0, 1009787.364 1010781.896 0, 1009515.529 1010781.328 0, 1009243.695 1010780.776 0, 1008971.861 1010780.24 0, 1008700.026 1010779.72 0, 1008428.192 1010779.216 0, 1008156.357 1010778.728 0, 1007884.523 1010778.256 0,
+ 1007612.688 1010777.8 0, 1007340.854 1010777.36 0, 1007069.019 1010776.936 0, 1006797.185 1010776.528 0, 1006524.036 1010776.134 0, 1006253.516 1010775.759 0, 1005981.681 1010775.399 0, 1005709.846 1010775.055 0, 1005438.012 1010774.727 0, 1005166.177 1010774.415 0,
+ 1004894.342 1010774.119 0, 1004622.507 1010773.839 0, 1004350.673 1010773.575 0, 1004078.838 1010773.327 0, 1003807.003 1010773.095 0, 1003535.168 1010772.879 0, 1003263.334 1010772.679 0, 1002991.499 1010772.495 0, 1002719.664 1010772.326 0, 1002447.829 1010772.174 0,
+ 1002175.994 1010772.038 0, 1001904.159 1010771.918 0, 1001632.324 1010771.814 0, 1001360.49 1010771.726 0, 1001088.655 1010771.654 0, 1000816.82 1010771.598 0, 1000544.985 1010771.558 0, 1000273.15 1010771.534 0, 1000000 1010771.526 0, 1000000 1016352.102 0,
+ 1000000 1021932.753 0, 1000272.49 1021932.761 0, 1000543.668 1021932.785 0, 1000814.846 1021932.825 0, 1001086.024 1021932.881 0, 1001357.202 1021932.952 0, 1001628.38 1021933.04 0, 1001899.558 1021933.144 0, 1002170.736 1021933.264 0, 1002441.914 1021933.4 0,
+ 1002713.091 1021933.551 0, 1002984.269 1021933.719 0, 1003255.447 1021933.903 0, 1003526.625 1021934.102 0, 1003797.803 1021934.318 0, 1004068.981 1021934.549 0, 1004340.159 1021934.797 0, 1004611.336 1021935.06 0, 1004882.514 1021935.34 0, 1005153.692 1021935.635 0,
+ 1005424.87 1021935.946 0, 1005696.048 1021936.274 0, 1005967.225 1021936.617 0, 1006238.403 1021936.976 0, 1006508.27 1021937.349 0, 1006780.758 1021937.742 0, 1007051.936 1021938.149 0, 1007323.114 1021938.572 0, 1007594.291 1021939.011 0, 1007865.469 1021939.466 0,
+ 1008136.646 1021939.937 0, 1008407.824 1021940.424 0, 1008679.001 1021940.927 0, 1008950.179 1021941.446 0, 1009221.356 1021941.981 0, 1009492.534 1021942.531 0, 1009763.711 1021943.098 0, 1010034.888 1021943.681 0, 1010306.066 1021944.279 0, 1010577.243 1021944.894 0,
+ 1010848.42 1021945.524 0, 1011119.597 1021946.171 0, 1011390.774 1021946.833 0, 1011661.952 1021947.512 0, 1011933.129 1021948.206 0, 1012204.306 1021948.917 0, 1012475.483 1021949.643 0, 1012746.66 1021950.385 0, 1013016.527 1021951.14 0, 1013032.293 1016370.512 0,
+ 1013048.059 1010789.957 0))
+
+POLYGON ((1026032.949 1022006.301 0, 1025763.083 1022004.784 0, 1025491.91 1022003.275 0, 1025220.736 1022001.783 0, 1024949.562 1022000.306 0, 1024678.388 1021998.846 0, 1024407.214 1021997.401 0, 1024136.039 1021995.973 0, 1023864.865 1021994.56 0, 1023593.691 1021993.164 0,
+ 1023322.516 1021991.783 0, 1023051.342 1021990.418 0, 1022780.167 1021989.069 0, 1022508.993 1021987.737 0, 1022237.818 1021986.42 0, 1021966.643 1021985.119 0, 1021695.468 1021983.834 0, 1021424.293 1021982.565 0, 1021153.118 1021981.312 0, 1020881.943 1021980.075 0,
+ 1020610.768 1021978.854 0, 1020339.592 1021977.649 0, 1020068.417 1021976.459 0, 1019797.242 1021975.286 0, 1019524.757 1021974.123 0, 1019254.891 1021972.988 0, 1018983.715 1021971.862 0, 1018712.539 1021970.753 0, 1018441.364 1021969.66 0, 1018170.188 1021968.582 0,
+ 1017899.012 1021967.521 0, 1017627.836 1021966.475 0, 1017356.66 1021965.446 0, 1017085.484 1021964.432 0, 1016814.308 1021963.434 0, 1016543.132 1021962.453 0, 1016271.955 1021961.487 0, 1016000.779 1021960.537 0, 1015729.603 1021959.603 0, 1015458.426 1021958.686 0,
+ 1015187.25 1021957.784 0, 1014916.073 1021956.898 0, 1014644.897 1021956.028 0, 1014373.72 1021955.174 0, 1014102.544 1021954.336 0, 1013831.367 1021953.514 0, 1013560.19 1021952.708 0, 1013289.013 1021951.917 0, 1013016.527 1021951.14 0, 1013000.76 1027531.837 0,
+ 1012984.993 1033112.599 0, 1013256.82 1033113.375 0, 1013527.34 1033114.163 0, 1013797.86 1033114.968 0, 1014068.379 1033115.788 0, 1014338.899 1033116.624 0, 1014609.419 1033117.476 0, 1014879.938 1033118.343 0, 1015150.458 1033119.227 0, 1015420.977 1033120.127 0,
+ 1015691.497 1033121.042 0, 1015962.016 1033121.974 0, 1016232.536 1033122.921 0, 1016503.055 1033123.885 0, 1016773.574 1033124.864 0, 1017044.093 1033125.859 0, 1017314.613 1033126.87 0, 1017585.132 1033127.898 0, 1017855.651 1033128.94 0, 1018126.17 1033129.999 0,
+ 1018396.688 1033131.074 0, 1018667.207 1033132.165 0, 1018937.726 1033133.272 0, 1019208.245 1033134.394 0, 1019477.457 1033135.527 0, 1019749.282 1033136.687 0, 1020019.8 1033137.858 0, 1020290.319 1033139.044 0, 1020560.837 1033140.246 0, 1020831.355 1033141.464 0,
+ 1021101.873 1033142.698 0, 1021372.392 1033143.948 0, 1021642.91 1033145.214 0, 1021913.428 1033146.496 0, 1022183.945 1033147.794 0, 1022454.463 1033149.107 0, 1022724.981 1033150.437 0, 1022995.499 1033151.782 0, 1023266.016 1033153.144 0, 1023536.534 1033154.521 0,
+ 1023807.051 1033155.915 0, 1024077.569 1033157.324 0, 1024348.086 1033158.749 0, 1024618.603 1033160.19 0, 1024889.12 1033161.647 0, 1025159.637 1033163.12 0, 1025430.154 1033164.609 0, 1025700.671 1033166.113 0, 1025969.883 1033167.627 0, 1026001.416 1027586.931 0,
+ 1026032.949 1022006.301 0))
+
+POLYGON ((1038954.565 1033259.338 0, 1038685.356 1033257.065 0, 1038414.845 1033254.796 0, 1038144.333 1033252.542 0, 1037873.822 1033250.305 0, 1037603.31 1033248.084 0, 1037332.798 1033245.879 0, 1037062.285 1033243.689 0, 1036791.773 1033241.516 0, 1036521.261 1033239.358 0,
+ 1036250.748 1033237.217 0, 1035980.236 1033235.091 0, 1035709.723 1033232.981 0, 1035439.21 1033230.888 0, 1035168.697 1033228.81 0, 1034898.184 1033226.748 0, 1034627.67 1033224.702 0, 1034357.157 1033222.671 0, 1034086.644 1033220.657 0, 1033816.13 1033218.659 0,
+ 1033545.616 1033216.676 0, 1033275.102 1033214.71 0, 1033004.588 1033212.759 0, 1032734.074 1033210.825 0, 1032462.256 1033208.897 0, 1032193.046 1033207.003 0, 1031922.531 1033205.117 0, 1031652.017 1033203.246 0, 1031381.502 1033201.391 0, 1031110.987 1033199.551 0,
+ 1030840.472 1033197.728 0, 1030569.958 1033195.921 0, 1030299.442 1033194.13 0, 1030028.927 1033192.354 0, 1029758.412 1033190.595 0, 1029487.897 1033188.851 0, 1029217.381 1033187.124 0, 1028946.865 1033185.412 0, 1028676.35 1033183.716 0, 1028405.834 1033182.036 0,
+ 1028135.318 1033180.372 0, 1027864.802 1033178.724 0, 1027594.286 1033177.092 0, 1027323.77 1033175.476 0, 1027053.254 1033173.876 0, 1026782.737 1033172.291 0, 1026512.221 1033170.723 0, 1026241.704 1033169.17 0, 1025969.883 1033167.627 0, 1025938.349 1038748.383 0,
+ 1025906.815 1044329.196 0, 1026177.976 1044330.736 0, 1026447.836 1044332.285 0, 1026717.696 1044333.85 0, 1026987.555 1044335.43 0, 1027257.414 1044337.026 0, 1027527.274 1044338.639 0, 1027797.133 1044340.267 0, 1028066.992 1044341.911 0, 1028336.851 1044343.571 0,
+ 1028606.709 1044345.247 0, 1028876.568 1044346.938 0, 1029146.427 1044348.646 0, 1029416.285 1044350.369 0, 1029686.144 1044352.109 0, 1029956.002 1044353.864 0, 1030225.86 1044355.635 0, 1030495.719 1044357.422 0, 1030765.577 1044359.225 0, 1031035.435 1044361.043 0,
+ 1031305.292 1044362.878 0, 1031575.15 1044364.729 0, 1031845.008 1044366.595 0, 1032114.865 1044368.477 0, 1032383.422 1044370.366 0, 1032654.58 1044372.289 0, 1032924.437 1044374.219 0, 1033194.294 1044376.165 0, 1033464.151 1044378.127 0, 1033734.008 1044380.104 0,
+ 1034003.864 1044382.098 0, 1034273.721 1044384.107 0, 1034543.577 1044386.132 0, 1034813.434 1044388.174 0, 1035083.29 1044390.231 0, 1035353.146 1044392.303 0, 1035623.002 1044394.392 0, 1035892.858 1044396.497 0, 1036162.714 1044398.617 0, 1036432.569 1044400.754 0,
+ 1036702.425 1044402.906 0, 1036972.28 1044405.074 0, 1037242.135 1044407.258 0, 1037511.99 1044409.458 0, 1037781.845 1044411.674 0, 1038051.7 1044413.906 0, 1038321.555 1044416.153 0, 1038591.409 1044418.417 0, 1038859.964 1044420.685 0, 1038907.265 1038839.983 0,
+ 1038954.565 1033259.338 0))
+
+POLYGON ((1051812.803 1044548.769 0, 1051544.254 1044545.742 0, 1051274.407 1044542.716 0, 1051004.559 1044539.706 0, 1050734.712 1044536.712 0, 1050464.864 1044533.734 0, 1050195.016 1044530.771 0, 1049925.168 1044527.825 0, 1049655.32 1044524.894 0, 1049385.472 1044521.98 0,
+ 1049115.624 1044519.081 0, 1048845.775 1044516.198 0, 1048575.926 1044513.331 0, 1048306.077 1044510.48 0, 1048036.228 1044507.645 0, 1047766.379 1044504.825 0, 1047496.529 1044502.022 0, 1047226.679 1044499.234 0, 1046956.83 1044496.462 0, 1046686.98 1044493.707 0,
+ 1046417.13 1044490.967 0, 1046147.279 1044488.243 0, 1045877.429 1044485.534 0, 1045607.578 1044482.842 0, 1045336.429 1044480.153 0, 1045067.876 1044477.505 0, 1044798.025 1044474.86 0, 1044528.174 1044472.232 0, 1044258.323 1044469.619 0, 1043988.471 1044467.022 0,
+ 1043718.619 1044464.441 0, 1043448.768 1044461.875 0, 1043178.916 1044459.326 0, 1042909.063 1044456.793 0, 1042639.211 1044454.275 0, 1042369.359 1044451.773 0, 1042099.506 1044449.287 0, 1041829.653 1044446.817 0, 1041559.8 1044444.363 0, 1041289.947 1044441.925 0,
+ 1041020.094 1044439.503 0, 1040750.241 1044437.096 0, 1040480.387 1044434.706 0, 1040210.534 1044432.331 0, 1039940.68 1044429.972 0, 1039670.826 1044427.63 0, 1039400.972 1044425.303 0, 1039131.118 1044422.991 0, 1038859.964 1044420.685 0, 1038812.663 1050001.439 0,
+ 1038765.362 1055582.242 0, 1039035.855 1055584.542 0, 1039305.052 1055586.848 0, 1039574.25 1055589.169 0, 1039843.446 1055591.506 0, 1040112.643 1055593.859 0, 1040381.84 1055596.228 0, 1040651.036 1055598.613 0, 1040920.233 1055601.014 0, 1041189.429 1055603.43 0,
+ 1041458.625 1055605.862 0, 1041727.821 1055608.31 0, 1041997.017 1055610.774 0, 1042266.213 1055613.254 0, 1042535.408 1055615.75 0, 1042804.603 1055618.261 0, 1043073.799 1055620.789 0, 1043342.994 1055623.332 0, 1043612.189 1055625.891 0, 1043881.383 1055628.466 0,
+ 1044150.578 1055631.056 0, 1044419.772 1055633.663 0, 1044688.967 1055636.285 0, 1044958.161 1055638.923 0, 1045226.06 1055641.565 0, 1045496.549 1055644.247 0, 1045765.742 1055646.933 0, 1046034.936 1055649.635 0, 1046304.129 1055652.352 0, 1046573.323 1055655.085 0,
+ 1046842.516 1055657.835 0, 1047111.708 1055660.6 0, 1047380.901 1055663.38 0, 1047650.094 1055666.177 0, 1047919.286 1055668.99 0, 1048188.478 1055671.818 0, 1048457.67 1055674.662 0, 1048726.862 1055677.522 0, 1048996.054 1055680.398 0, 1049265.246 1055683.29 0,
+ 1049534.437 1055686.197 0, 1049803.628 1055689.121 0, 1050072.819 1055692.06 0, 1050342.01 1055695.015 0, 1050611.201 1055697.986 0, 1050880.391 1055700.973 0, 1051149.582 1055703.976 0, 1051418.772 1055706.994 0, 1051686.667 1055710.014 0, 1051749.736 1050129.367 0,
+ 1051812.803 1044548.769 0))
+
+POLYGON ((1064607.561 1055874.29 0, 1064339.673 1055870.514 0, 1064070.492 1055866.735 0, 1063801.311 1055862.972 0, 1063532.13 1055859.224 0, 1063262.949 1055855.493 0, 1062993.768 1055851.777 0, 1062724.586 1055848.077 0, 1062455.404 1055844.393 0, 1062186.222 1055840.725 0,
+ 1061917.04 1055837.073 0, 1061647.857 1055833.437 0, 1061378.674 1055829.816 0, 1061109.491 1055826.211 0, 1060840.308 1055822.623 0, 1060571.125 1055819.05 0, 1060301.941 1055815.492 0, 1060032.758 1055811.951 0, 1059763.574 1055808.426 0, 1059494.389 1055804.916 0,
+ 1059225.205 1055801.422 0, 1058956.02 1055797.944 0, 1058686.836 1055794.482 0, 1058417.651 1055791.036 0, 1058147.172 1055787.589 0, 1057879.28 1055784.191 0, 1057610.094 1055780.792 0, 1057340.908 1055777.409 0, 1057071.722 1055774.042 0, 1056802.536 1055770.691 0,
+ 1056533.35 1055767.356 0, 1056264.163 1055764.036 0, 1055994.976 1055760.732 0, 1055725.789 1055757.445 0, 1055456.602 1055754.173 0, 1055187.415 1055750.916 0, 1054918.227 1055747.676 0, 1054649.039 1055744.452 0, 1054379.851 1055741.243 0, 1054110.663 1055738.05 0,
+ 1053841.475 1055734.873 0, 1053572.286 1055731.712 0, 1053303.098 1055728.567 0, 1053033.909 1055725.438 0, 1052764.72 1055722.324 0, 1052495.531 1055719.226 0, 1052226.341 1055716.145 0, 1051957.151 1055713.079 0, 1051686.667 1055710.014 0, 1051623.599 1061290.704 0,
+ 1051560.53 1066871.434 0, 1051830.354 1066874.492 0, 1052098.886 1066877.55 0, 1052367.419 1066880.624 0, 1052635.951 1066883.715 0, 1052904.483 1066886.821 0, 1053173.015 1066889.942 0, 1053441.547 1066893.08 0, 1053710.079 1066896.233 0, 1053978.61 1066899.402 0,
+ 1054247.141 1066902.587 0, 1054515.672 1066905.788 0, 1054784.203 1066909.005 0, 1055052.734 1066912.237 0, 1055321.264 1066915.485 0, 1055589.794 1066918.749 0, 1055858.325 1066922.029 0, 1056126.854 1066925.325 0, 1056395.384 1066928.636 0, 1056663.914 1066931.963 0,
+ 1056932.443 1066935.306 0, 1057200.972 1066938.665 0, 1057469.501 1066942.04 0, 1057738.03 1066945.43 0, 1058005.268 1066948.82 0, 1058275.086 1066952.259 0, 1058543.614 1066955.696 0, 1058812.142 1066959.15 0, 1059080.67 1066962.62 0, 1059349.198 1066966.105 0,
+ 1059617.725 1066969.606 0, 1059886.252 1066973.123 0, 1060154.779 1066976.656 0, 1060423.305 1066980.204 0, 1060691.832 1066983.768 0, 1060960.358 1066987.348 0, 1061228.884 1066990.944 0, 1061497.41 1066994.556 0, 1061765.935 1066998.184 0, 1062034.461 1067001.827 0,
+ 1062302.986 1067005.486 0, 1062571.511 1067009.161 0, 1062840.036 1067012.852 0, 1063108.56 1067016.558 0, 1063377.085 1067020.281 0, 1063645.609 1067024.019 0, 1063914.132 1067027.773 0, 1064182.656 1067031.542 0, 1064449.891 1067035.31 0, 1064528.726 1061454.78 0,
+ 1064607.561 1055874.29 0))
+
+POLYGON ((1077338.737 1067235.599 0, 1077071.512 1067231.077 0, 1076803 1067226.549 0, 1076534.488 1067222.036 0, 1076265.976 1067217.539 0, 1075997.463 1067213.058 0, 1075728.95 1067208.593 0, 1075460.437 1067204.144 0, 1075191.923 1067199.71 0, 1074923.409 1067195.293 0,
+ 1074654.895 1067190.891 0, 1074386.381 1067186.505 0, 1074117.867 1067182.134 0, 1073849.352 1067177.78 0, 1073580.837 1067173.441 0, 1073312.321 1067169.118 0, 1073043.806 1067164.811 0, 1072775.29 1067160.52 0, 1072506.774 1067156.244 0, 1072238.258 1067151.984 0,
+ 1071969.741 1067147.741 0, 1071701.224 1067143.512 0, 1071432.707 1067139.3 0, 1071164.19 1067135.104 0, 1070894.385 1067130.903 0, 1070627.155 1067126.758 0, 1070358.637 1067122.609 0, 1070090.118 1067118.476 0, 1069821.6 1067114.358 0, 1069553.081 1067110.257 0,
+ 1069284.562 1067106.171 0, 1069016.043 1067102.101 0, 1068747.523 1067098.046 0, 1068479.003 1067094.008 0, 1068210.483 1067089.985 0, 1067941.963 1067085.979 0, 1067673.443 1067081.988 0, 1067404.922 1067078.012 0, 1067136.401 1067074.053 0, 1066867.88 1067070.109 0,
+ 1066599.359 1067066.181 0, 1066330.837 1067062.269 0, 1066062.315 1067058.373 0, 1065793.793 1067054.493 0, 1065525.271 1067050.628 0, 1065256.748 1067046.78 0, 1064988.226 1067042.947 0, 1064719.703 1067039.129 0, 1064449.891 1067035.31 0, 1064371.055 1072615.875 0,
+ 1064292.218 1078196.471 0, 1064561.37 1078200.281 0, 1064829.236 1078204.089 0, 1065097.102 1078207.912 0, 1065364.968 1078211.752 0, 1065632.833 1078215.607 0, 1065900.698 1078219.478 0, 1066168.563 1078223.364 0, 1066436.428 1078227.267 0, 1066704.292 1078231.185 0,
+ 1066972.157 1078235.119 0, 1067240.021 1078239.069 0, 1067507.884 1078243.034 0, 1067775.748 1078247.016 0, 1068043.611 1078251.013 0, 1068311.474 1078255.025 0, 1068579.337 1078259.054 0, 1068847.2 1078263.098 0, 1069115.062 1078267.158 0, 1069382.924 1078271.234 0,
+ 1069650.786 1078275.326 0, 1069918.648 1078279.433 0, 1070186.509 1078283.556 0, 1070454.37 1078287.695 0, 1070720.946 1078291.83 0, 1070990.092 1078296.02 0, 1071257.952 1078300.207 0, 1071525.812 1078304.409 0, 1071793.672 1078308.626 0, 1072061.532 1078312.86 0,
+ 1072329.391 1078317.109 0, 1072597.25 1078321.374 0, 1072865.109 1078325.655 0, 1073132.968 1078329.952 0, 1073400.826 1078334.264 0, 1073668.684 1078338.592 0, 1073936.542 1078342.936 0, 1074204.4 1078347.296 0, 1074472.257 1078351.671 0, 1074740.114 1078356.062 0,
+ 1075007.971 1078360.469 0, 1075275.828 1078364.892 0, 1075543.684 1078369.33 0, 1075811.54 1078373.785 0, 1076079.396 1078378.255 0, 1076347.252 1078382.74 0, 1076615.107 1078387.242 0, 1076882.962 1078391.759 0, 1077149.533 1078396.27 0, 1077244.135 1072815.919 0,
+ 1077338.737 1067235.599 0))
+
+POLYGON ((1090006.232 1078632.394 0, 1089739.673 1078627.129 0, 1089471.832 1078621.855 0, 1089203.99 1078616.597 0, 1088936.148 1078611.354 0, 1088668.306 1078606.128 0, 1088400.464 1078600.917 0, 1088132.621 1078595.721 0, 1087864.778 1078590.542 0, 1087596.935 1078585.378 0,
+ 1087329.091 1078580.23 0, 1087061.247 1078575.098 0, 1086793.403 1078569.982 0, 1086525.558 1078564.881 0, 1086257.713 1078559.797 0, 1085989.868 1078554.727 0, 1085722.023 1078549.674 0, 1085454.177 1078544.637 0, 1085186.331 1078539.615 0, 1084918.485 1078534.609 0,
+ 1084650.638 1078529.619 0, 1084382.791 1078524.644 0, 1084114.944 1078519.685 0, 1083847.096 1078514.742 0, 1083577.966 1078509.792 0, 1083311.4 1078504.904 0, 1083043.552 1078500.008 0, 1082775.703 1078495.128 0, 1082507.855 1078490.264 0, 1082240.005 1078485.416 0,
+ 1081972.156 1078480.583 0, 1081704.306 1078475.766 0, 1081436.456 1078470.965 0, 1081168.606 1078466.18 0, 1080900.755 1078461.41 0, 1080632.904 1078456.657 0, 1080365.053 1078451.919 0, 1080097.201 1078447.196 0, 1079829.349 1078442.49 0, 1079561.497 1078437.799 0,
+ 1079293.645 1078433.124 0, 1079025.793 1078428.465 0, 1078757.94 1078423.822 0, 1078490.087 1078419.194 0, 1078222.233 1078414.582 0, 1077954.379 1078409.986 0, 1077686.525 1078405.406 0, 1077418.671 1078400.841 0, 1077149.533 1078396.27 0, 1077054.93 1083976.648 0,
+ 1076960.327 1089557.048 0, 1077228.806 1089561.607 0, 1077496.003 1089566.161 0, 1077763.2 1089570.73 0, 1078030.397 1089575.315 0, 1078297.593 1089579.915 0, 1078564.789 1089584.532 0, 1078831.985 1089589.164 0, 1079099.181 1089593.812 0, 1079366.376 1089598.475 0,
+ 1079633.572 1089603.154 0, 1079900.767 1089607.849 0, 1080167.961 1089612.56 0, 1080435.155 1089617.286 0, 1080702.349 1089622.028 0, 1080969.543 1089626.786 0, 1081236.737 1089631.56 0, 1081503.93 1089636.349 0, 1081771.123 1089641.154 0, 1082038.315 1089645.975 0,
+ 1082305.508 1089650.811 0, 1082572.7 1089655.663 0, 1082839.892 1089660.531 0, 1083107.083 1089665.415 0, 1083372.995 1089670.291 0, 1083641.465 1089675.23 0, 1083908.656 1089680.16 0, 1084175.846 1089685.107 0, 1084443.036 1089690.069 0, 1084710.226 1089695.047 0,
+ 1084977.415 1089700.041 0, 1085244.605 1089705.05 0, 1085511.793 1089710.076 0, 1085778.982 1089715.117 0, 1086046.17 1089720.173 0, 1086313.358 1089725.246 0, 1086580.546 1089730.334 0, 1086847.733 1089735.437 0, 1087114.92 1089740.557 0, 1087382.107 1089745.692 0,
+ 1087649.294 1089750.843 0, 1087916.48 1089756.01 0, 1088183.666 1089761.192 0, 1088450.851 1089766.391 0, 1088718.036 1089771.605 0, 1088985.221 1089776.834 0, 1089252.406 1089782.08 0, 1089519.59 1089787.341 0, 1089785.496 1089792.592 0, 1089895.864 1084212.482 0,
+ 1090006.232 1078632.394 0))
+
+POLYGON ((1102609.948 1090064.369 0, 1102344.056 1090058.366 0, 1102076.888 1090052.35 0, 1101809.719 1090046.35 0, 1101542.55 1090040.365 0, 1101275.38 1090034.397 0, 1101008.21 1090028.444 0, 1100741.04 1090022.506 0, 1100473.87 1090016.585 0, 1100206.699 1090010.679 0,
+ 1099939.528 1090004.789 0, 1099672.356 1089998.914 0, 1099405.184 1089993.056 0, 1099138.012 1089987.213 0, 1098870.84 1089981.386 0, 1098603.667 1089975.574 0, 1098336.493 1089969.778 0, 1098069.32 1089963.998 0, 1097802.146 1089958.234 0, 1097534.972 1089952.486 0,
+ 1097267.797 1089946.753 0, 1097000.622 1089941.036 0, 1096733.447 1089935.334 0, 1096466.271 1089929.649 0, 1096197.818 1089923.951 0, 1095931.919 1089918.324 0, 1095664.742 1089912.686 0, 1095397.565 1089907.063 0, 1095130.388 1089901.456 0, 1094863.21 1089895.865 0,
+ 1094596.032 1089890.289 0, 1094328.854 1089884.729 0, 1094061.676 1089879.185 0, 1093794.497 1089873.657 0, 1093527.317 1089868.144 0, 1093260.138 1089862.647 0, 1092992.958 1089857.166 0, 1092725.778 1089851.7 0, 1092458.597 1089846.25 0, 1092191.416 1089840.816 0,
+ 1091924.235 1089835.398 0, 1091657.054 1089829.995 0, 1091389.872 1089824.609 0, 1091122.69 1089819.237 0, 1090855.507 1089813.882 0, 1090588.324 1089808.542 0, 1090321.141 1089803.218 0, 1090053.958 1089797.91 0, 1089785.496 1089792.592 0, 1089675.127 1095372.721 0,
+ 1089564.758 1100952.863 0, 1089832.56 1100958.167 0, 1090099.087 1100963.463 0, 1090365.613 1100968.773 0, 1090632.139 1100974.1 0, 1090898.665 1100979.442 0, 1091165.19 1100984.8 0, 1091431.715 1100990.174 0, 1091698.239 1100995.563 0, 1091964.764 1101000.968 0,
+ 1092231.288 1101006.389 0, 1092497.811 1101011.825 0, 1092764.335 1101017.277 0, 1093030.858 1101022.745 0, 1093297.381 1101028.229 0, 1093563.903 1101033.728 0, 1093830.425 1101039.243 0, 1094096.947 1101044.773 0, 1094363.468 1101050.319 0, 1094629.989 1101055.881 0,
+ 1094896.51 1101061.459 0, 1095163.03 1101067.052 0, 1095429.55 1101072.661 0, 1095696.07 1101078.286 0, 1095961.316 1101083.899 0, 1096229.109 1101089.582 0, 1096495.628 1101095.254 0, 1096762.146 1101100.941 0, 1097028.664 1101106.644 0, 1097295.182 1101112.363 0,
+ 1097561.699 1101118.097 0, 1097828.216 1101123.848 0, 1098094.733 1101129.613 0, 1098361.25 1101135.395 0, 1098627.766 1101141.192 0, 1098894.281 1101147.005 0, 1099160.797 1101152.833 0, 1099427.312 1101158.678 0, 1099693.827 1101164.538 0, 1099960.341 1101170.413 0,
+ 1100226.855 1101176.305 0, 1100493.369 1101182.212 0, 1100759.882 1101188.134 0, 1101026.395 1101194.073 0, 1101292.907 1101200.027 0, 1101559.42 1101205.996 0, 1101825.932 1101211.982 0, 1102092.443 1101217.983 0, 1102357.681 1101223.971 0, 1102483.815 1095644.163 0,
+ 1102609.948 1090064.369 0))
+
+POLYGON ((1115149.787 1101531.221 0, 1114884.565 1101524.483 0, 1114618.071 1101517.729 0, 1114351.578 1101510.991 0, 1114085.083 1101504.268 0, 1113818.588 1101497.561 0, 1113552.093 1101490.87 0, 1113285.598 1101484.194 0, 1113019.102 1101477.534 0, 1112752.606 1101470.89 0,
+ 1112486.109 1101464.262 0, 1112219.612 1101457.649 0, 1111953.114 1101451.052 0, 1111686.617 1101444.47 0, 1111420.118 1101437.904 0, 1111153.62 1101431.354 0, 1110887.121 1101424.82 0, 1110620.621 1101418.301 0, 1110354.121 1101411.798 0, 1110087.621 1101405.311 0,
+ 1109821.121 1101398.839 0, 1109554.62 1101392.383 0, 1109288.119 1101385.942 0, 1109021.617 1101379.518 0, 1108753.843 1101373.078 0, 1108488.612 1101366.716 0, 1108222.11 1101360.338 0, 1107955.606 1101353.976 0, 1107689.103 1101347.63 0, 1107422.599 1101341.299 0,
+ 1107156.095 1101334.985 0, 1106889.59 1101328.685 0, 1106623.085 1101322.402 0, 1106356.579 1101316.134 0, 1106090.074 1101309.882 0, 1105823.567 1101303.646 0, 1105557.061 1101297.425 0, 1105290.554 1101291.22 0, 1105024.047 1101285.031 0, 1104757.539 1101278.857 0,
+ 1104491.031 1101272.699 0, 1104224.523 1101266.557 0, 1103958.014 1101260.43 0, 1103691.505 1101254.319 0, 1103424.996 1101248.224 0, 1103158.486 1101242.144 0, 1102891.976 1101236.08 0, 1102625.465 1101230.032 0, 1102357.681 1101223.971 0, 1102231.548 1106803.788 0,
+ 1102105.414 1112383.61 0, 1102372.538 1112389.656 0, 1102638.392 1112395.69 0, 1102904.245 1112401.739 0, 1103170.098 1112407.803 0, 1103435.95 1112413.883 0, 1103701.803 1112419.979 0, 1103967.655 1112426.091 0, 1104233.506 1112432.218 0, 1104499.357 1112438.361 0,
+ 1104765.208 1112444.519 0, 1105031.058 1112450.693 0, 1105296.908 1112456.883 0, 1105562.758 1112463.088 0, 1105828.608 1112469.309 0, 1106094.456 1112475.546 0, 1106360.305 1112481.798 0, 1106626.153 1112488.066 0, 1106892.001 1112494.35 0, 1107157.849 1112500.649 0,
+ 1107423.696 1112506.964 0, 1107689.543 1112513.295 0, 1107955.389 1112519.641 0, 1108221.235 1112526.003 0, 1108485.812 1112532.35 0, 1108752.926 1112538.774 0, 1109018.771 1112545.182 0, 1109284.615 1112551.607 0, 1109550.459 1112558.047 0, 1109816.303 1112564.503 0,
+ 1110082.146 1112570.974 0, 1110347.989 1112577.461 0, 1110613.832 1112583.964 0, 1110879.674 1112590.482 0, 1111145.516 1112597.016 0, 1111411.357 1112603.566 0, 1111677.198 1112610.131 0, 1111943.039 1112616.712 0, 1112208.879 1112623.309 0, 1112474.719 1112629.921 0,
+ 1112740.559 1112636.549 0, 1113006.398 1112643.192 0, 1113272.237 1112649.851 0, 1113538.075 1112656.526 0, 1113803.913 1112663.216 0, 1114069.75 1112669.923 0, 1114335.588 1112676.644 0, 1114601.424 1112683.382 0, 1114865.993 1112690.103 0, 1115007.89 1107110.659 0,
+ 1115149.787 1101531.221 0))
+
+POLYGON ((1127625.655 1113032.645 0, 1127361.104 1113025.176 0, 1127095.288 1113017.688 0, 1126829.471 1113010.215 0, 1126563.653 1113002.758 0, 1126297.835 1112995.317 0, 1126032.017 1112987.891 0, 1125766.198 1112980.481 0, 1125500.379 1112973.086 0, 1125234.559 1112965.707 0,
+ 1124968.739 1112958.344 0, 1124702.918 1112950.996 0, 1124437.097 1112943.664 0, 1124171.276 1112936.348 0, 1123905.454 1112929.048 0, 1123639.632 1112921.763 0, 1123373.809 1112914.493 0, 1123107.986 1112907.239 0, 1122842.162 1112900.001 0, 1122576.338 1112892.779 0,
+ 1122310.514 1112885.572 0, 1122044.689 1112878.381 0, 1121778.864 1112871.206 0, 1121513.038 1112864.046 0, 1121245.945 1112856.868 0, 1120981.385 1112849.773 0, 1120715.558 1112842.66 0, 1120449.731 1112835.563 0, 1120183.903 1112828.481 0, 1119918.075 1112821.415 0,
+ 1119652.246 1112814.365 0, 1119386.417 1112807.33 0, 1119120.588 1112800.311 0, 1118854.758 1112793.308 0, 1118588.927 1112786.32 0, 1118323.097 1112779.348 0, 1118057.266 1112772.392 0, 1117791.434 1112765.451 0, 1117525.602 1112758.526 0, 1117259.77 1112751.616 0,
+ 1116993.937 1112744.722 0, 1116728.104 1112737.844 0, 1116462.27 1112730.982 0, 1116196.436 1112724.135 0, 1115930.602 1112717.303 0, 1115664.767 1112710.488 0, 1115398.932 1112703.688 0, 1115133.097 1112696.903 0, 1114865.993 1112690.103 0, 1114724.096 1118269.546 0,
+ 1114582.199 1123848.986 0, 1114848.642 1123855.77 0, 1115113.821 1123862.537 0, 1115379 1123869.321 0, 1115644.178 1123876.119 0, 1115909.355 1123882.934 0, 1116174.532 1123889.764 0, 1116439.709 1123896.609 0, 1116704.885 1123903.471 0, 1116970.061 1123910.347 0,
+ 1117235.237 1123917.24 0, 1117500.412 1123924.148 0, 1117765.587 1123931.072 0, 1118030.761 1123938.011 0, 1118295.935 1123944.966 0, 1118561.109 1123951.936 0, 1118826.282 1123958.922 0, 1119091.454 1123965.924 0, 1119356.627 1123972.941 0, 1119621.798 1123979.974 0,
+ 1119886.97 1123987.023 0, 1120152.141 1123994.087 0, 1120417.312 1124001.166 0, 1120682.482 1124008.262 0, 1120946.388 1124015.339 0, 1121212.821 1124022.499 0, 1121477.99 1124029.641 0, 1121743.158 1124036.799 0, 1122008.326 1124043.972 0, 1122273.494 1124051.161 0,
+ 1122538.661 1124058.366 0, 1122803.828 1124065.586 0, 1123068.995 1124072.822 0, 1123334.161 1124080.073 0, 1123599.326 1124087.34 0, 1123864.491 1124094.623 0, 1124129.656 1124101.921 0, 1124394.82 1124109.235 0, 1124659.984 1124116.565 0, 1124925.147 1124123.91 0,
+ 1125190.31 1124131.27 0, 1125455.473 1124138.646 0, 1125720.635 1124146.038 0, 1125985.797 1124153.446 0, 1126250.958 1124160.869 0, 1126516.119 1124168.308 0, 1126781.279 1124175.762 0, 1127046.439 1124183.232 0, 1127310.336 1124190.682 0, 1127467.995 1118611.665 0,
+ 1127625.655 1113032.645 0))
+
+POLYGON ((1140037.457 1124568.335 0, 1139773.58 1124560.14 0, 1139508.443 1124551.921 0, 1139243.304 1124543.718 0, 1138978.166 1124535.53 0, 1138713.026 1124527.358 0, 1138447.887 1124519.201 0, 1138182.747 1124511.06 0, 1137917.606 1124502.935 0, 1137652.465 1124494.825 0,
+ 1137387.323 1124486.731 0, 1137122.181 1124478.652 0, 1136857.039 1124470.589 0, 1136591.896 1124462.542 0, 1136326.752 1124454.51 0, 1136061.608 1124446.494 0, 1135796.464 1124438.494 0, 1135531.319 1124430.509 0, 1135266.173 1124422.539 0, 1135001.028 1124414.586 0,
+ 1134735.881 1124406.648 0, 1134470.735 1124398.725 0, 1134205.587 1124390.818 0, 1133940.44 1124382.927 0, 1133674.03 1124375.014 0, 1133410.143 1124367.191 0, 1133144.994 1124359.347 0, 1132879.844 1124351.518 0, 1132614.694 1124343.705 0, 1132349.544 1124335.907 0,
+ 1132084.393 1124328.125 0, 1131819.241 1124320.359 0, 1131554.089 1124312.608 0, 1131288.937 1124304.873 0, 1131023.784 1124297.153 0, 1130758.631 1124289.449 0, 1130493.477 1124281.761 0, 1130228.323 1124274.088 0, 1129963.169 1124266.431 0, 1129698.014 1124258.789 0,
+ 1129432.858 1124251.163 0, 1129167.702 1124243.553 0, 1128902.546 1124235.958 0, 1128637.389 1124228.379 0, 1128372.232 1124220.815 0, 1128107.074 1124213.267 0, 1127841.916 1124205.735 0, 1127576.758 1124198.218 0, 1127310.336 1124190.682 0, 1127152.677 1129769.689 0,
+ 1126995.018 1135348.684 0, 1127260.78 1135356.202 0, 1127525.281 1135363.7 0, 1127789.783 1135371.214 0, 1128054.284 1135378.743 0, 1128318.784 1135386.288 0, 1128583.284 1135393.849 0, 1128847.784 1135401.425 0, 1129112.283 1135409.016 0, 1129376.782 1135416.623 0,
+ 1129641.28 1135424.246 0, 1129905.778 1135431.884 0, 1130170.275 1135439.538 0, 1130434.772 1135447.207 0, 1130699.269 1135454.892 0, 1130963.765 1135462.592 0, 1131228.261 1135470.309 0, 1131492.756 1135478.04 0, 1131757.25 1135485.787 0, 1132021.745 1135493.55 0,
+ 1132286.238 1135501.328 0, 1132550.732 1135509.122 0, 1132815.224 1135516.932 0, 1133079.717 1135524.757 0, 1133342.95 1135532.56 0, 1133608.7 1135540.454 0, 1133873.191 1135548.325 0, 1134137.682 1135556.213 0, 1134402.172 1135564.115 0, 1134666.661 1135572.034 0,
+ 1134931.151 1135579.968 0, 1135195.639 1135587.917 0, 1135460.127 1135595.883 0, 1135724.615 1135603.863 0, 1135989.102 1135611.859 0, 1136253.589 1135619.871 0, 1136518.076 1135627.899 0, 1136782.561 1135635.942 0, 1137047.047 1135644 0, 1137311.532 1135652.074 0,
+ 1137576.016 1135660.164 0, 1137840.5 1135668.269 0, 1138104.983 1135676.39 0, 1138369.466 1135684.526 0, 1138633.949 1135692.678 0, 1138898.431 1135700.846 0, 1139162.913 1135709.029 0, 1139427.394 1135717.228 0, 1139690.617 1135725.403 0, 1139864.037 1130146.876 0,
+ 1140037.457 1124568.335 0))
+
+POLYGON ((1152385.101 1136137.987 0, 1152121.9 1136129.068 0, 1151857.443 1136120.122 0, 1151592.986 1136111.192 0, 1151328.528 1136102.277 0, 1151064.069 1136093.378 0, 1150799.61 1136084.495 0, 1150535.151 1136075.627 0, 1150270.691 1136066.774 0, 1150006.23 1136057.937 0,
+ 1149741.769 1136049.116 0, 1149477.308 1136040.31 0, 1149212.846 1136031.52 0, 1148948.383 1136022.746 0, 1148683.92 1136013.987 0, 1148419.456 1136005.243 0, 1148154.992 1135996.515 0, 1147890.528 1135987.803 0, 1147626.063 1135979.106 0, 1147361.597 1135970.425 0,
+ 1147097.131 1135961.759 0, 1146832.664 1135953.109 0, 1146568.197 1135944.475 0, 1146303.729 1135935.856 0, 1146038.005 1135927.212 0, 1145774.792 1135918.665 0, 1145510.323 1135910.093 0, 1145245.853 1135901.536 0, 1144981.383 1135892.995 0, 1144716.912 1135884.469 0,
+ 1144452.441 1135875.959 0, 1144187.969 1135867.465 0, 1143923.497 1135858.986 0, 1143659.024 1135850.523 0, 1143394.551 1135842.075 0, 1143130.077 1135833.643 0, 1142865.603 1135825.226 0, 1142601.128 1135816.825 0, 1142336.653 1135808.44 0, 1142072.178 1135800.07 0,
+ 1141807.701 1135791.716 0, 1141543.225 1135783.377 0, 1141278.748 1135775.054 0, 1141014.27 1135766.746 0, 1140749.792 1135758.454 0, 1140485.313 1135750.178 0, 1140220.834 1135741.917 0, 1139956.354 1135733.671 0, 1139690.617 1135725.403 0, 1139517.198 1141303.912 0,
+ 1139343.779 1146882.4 0, 1139608.856 1146890.648 0, 1139872.679 1146898.873 0, 1140136.502 1146907.113 0, 1140400.324 1146915.369 0, 1140664.145 1146923.641 0, 1140927.966 1146931.928 0, 1141191.787 1146940.23 0, 1141455.607 1146948.548 0, 1141719.426 1146956.882 0,
+ 1141983.245 1146965.231 0, 1142247.064 1146973.596 0, 1142510.882 1146981.976 0, 1142774.7 1146990.371 0, 1143038.517 1146998.783 0, 1143302.333 1147007.209 0, 1143566.149 1147015.652 0, 1143829.965 1147024.109 0, 1144093.78 1147032.583 0, 1144357.594 1147041.071 0,
+ 1144621.409 1147049.576 0, 1144885.222 1147058.096 0, 1145149.035 1147066.631 0, 1145412.848 1147075.182 0, 1145675.407 1147083.708 0, 1145940.471 1147092.331 0, 1146204.282 1147100.928 0, 1146468.093 1147109.541 0, 1146731.903 1147118.17 0, 1146995.713 1147126.814 0,
+ 1147259.522 1147135.473 0, 1147523.33 1147144.149 0, 1147787.138 1147152.839 0, 1148050.946 1147161.546 0, 1148314.753 1147170.267 0, 1148578.559 1147179.005 0, 1148842.365 1147187.757 0, 1149106.17 1147196.526 0, 1149369.975 1147205.31 0, 1149633.78 1147214.109 0,
+ 1149897.584 1147222.924 0, 1150161.387 1147231.754 0, 1150425.19 1147240.6 0, 1150688.992 1147249.462 0, 1150952.794 1147258.339 0, 1151216.595 1147267.231 0, 1151480.396 1147276.139 0, 1151744.196 1147285.063 0, 1152006.744 1147293.96 0, 1152195.922 1141715.984 0,
+ 1152385.101 1136137.987 0))
+
+POLYGON ((1164668.496 1147741.293 0, 1164405.972 1147731.655 0, 1164142.198 1147721.986 0, 1163878.424 1147712.332 0, 1163614.648 1147702.695 0, 1163350.873 1147693.072 0, 1163087.097 1147683.466 0, 1162823.32 1147673.874 0, 1162559.542 1147664.299 0, 1162295.764 1147654.739 0,
+ 1162031.986 1147645.194 0, 1161768.207 1147635.665 0, 1161504.427 1147626.151 0, 1161240.647 1147616.653 0, 1160976.866 1147607.171 0, 1160713.085 1147597.704 0, 1160449.303 1147588.252 0, 1160185.521 1147578.816 0, 1159921.738 1147569.396 0, 1159657.954 1147559.991 0,
+ 1159394.17 1147550.601 0, 1159130.386 1147541.227 0, 1158866.601 1147531.869 0, 1158602.815 1147522.526 0, 1158337.778 1147513.155 0, 1158075.242 1147503.887 0, 1157811.454 1147494.591 0, 1157547.667 1147485.31 0, 1157283.878 1147476.045 0, 1157020.089 1147466.796 0,
+ 1156756.3 1147457.561 0, 1156492.51 1147448.343 0, 1156228.719 1147439.14 0, 1155964.928 1147429.952 0, 1155701.136 1147420.78 0, 1155437.344 1147411.624 0, 1155173.551 1147402.483 0, 1154909.758 1147393.357 0, 1154645.964 1147384.247 0, 1154382.169 1147375.153 0,
+ 1154118.374 1147366.074 0, 1153854.579 1147357.011 0, 1153590.783 1147347.963 0, 1153326.986 1147338.931 0, 1153063.189 1147329.914 0, 1152799.392 1147320.913 0, 1152535.594 1147311.927 0, 1152271.795 1147302.957 0, 1152006.744 1147293.96 0, 1151817.567 1152871.908 0,
+ 1151628.39 1158449.826 0, 1151892.782 1158458.801 0, 1152155.924 1158467.749 0, 1152419.065 1158476.712 0, 1152682.206 1158485.691 0, 1152945.347 1158494.685 0, 1153208.487 1158503.695 0, 1153471.626 1158512.72 0, 1153734.765 1158521.761 0, 1153997.903 1158530.817 0,
+ 1154261.041 1158539.889 0, 1154524.178 1158548.976 0, 1154787.315 1158558.079 0, 1155050.451 1158567.197 0, 1155313.587 1158576.331 0, 1155576.722 1158585.48 0, 1155839.857 1158594.645 0, 1156102.991 1158603.825 0, 1156366.124 1158613.021 0, 1156629.257 1158622.232 0,
+ 1156892.389 1158631.458 0, 1157155.521 1158640.7 0, 1157418.653 1158649.958 0, 1157681.783 1158659.231 0, 1157943.666 1158668.476 0, 1158208.043 1158677.824 0, 1158471.172 1158687.143 0, 1158734.301 1158696.478 0, 1158997.429 1158705.829 0, 1159260.557 1158715.195 0,
+ 1159523.683 1158724.576 0, 1159786.81 1158733.973 0, 1160049.936 1158743.386 0, 1160313.061 1158752.814 0, 1160576.186 1158762.257 0, 1160839.31 1158771.716 0, 1161102.433 1158781.191 0, 1161365.557 1158790.681 0, 1161628.679 1158800.186 0, 1161891.801 1158809.707 0,
+ 1162154.922 1158819.243 0, 1162418.043 1158828.795 0, 1162681.163 1158838.362 0, 1162944.283 1158847.945 0, 1163207.402 1158857.544 0, 1163470.521 1158867.157 0, 1163733.639 1158876.787 0, 1163996.756 1158886.432 0, 1164258.626 1158896.046 0, 1164463.56 1153318.685 0,
+ 1164668.496 1147741.293 0))
+
+POLYGON ((1176887.551 1159377.947 0, 1176625.707 1159367.593 0, 1176362.618 1159357.204 0, 1176099.528 1159346.832 0, 1175836.438 1159336.475 0, 1175573.347 1159326.133 0, 1175310.255 1159315.807 0, 1175047.163 1159305.496 0, 1174784.07 1159295.201 0, 1174520.977 1159284.921 0,
+ 1174257.883 1159274.657 0, 1173994.789 1159264.408 0, 1173731.693 1159254.175 0, 1173468.598 1159243.957 0, 1173205.501 1159233.755 0, 1172942.404 1159223.568 0, 1172679.307 1159213.397 0, 1172416.208 1159203.241 0, 1172153.11 1159193.101 0, 1171890.01 1159182.976 0,
+ 1171626.91 1159172.867 0, 1171363.81 1159162.773 0, 1171100.709 1159152.694 0, 1170837.607 1159142.631 0, 1170573.259 1159132.537 0, 1170311.402 1159122.552 0, 1170048.298 1159112.536 0, 1169785.194 1159102.535 0, 1169522.089 1159092.549 0, 1169258.984 1159082.579 0,
+ 1168995.878 1159072.625 0, 1168732.772 1159062.686 0, 1168469.664 1159052.762 0, 1168206.557 1159042.854 0, 1167943.449 1159032.962 0, 1167680.34 1159023.085 0, 1167417.23 1159013.223 0, 1167154.12 1159003.377 0, 1166891.01 1158993.546 0, 1166627.899 1158983.731 0,
+ 1166364.787 1158973.931 0, 1166101.675 1158964.147 0, 1165838.562 1158954.379 0, 1165575.449 1158944.625 0, 1165312.335 1158934.888 0, 1165049.22 1158925.166 0, 1164786.105 1158915.459 0, 1164522.989 1158905.768 0, 1164258.626 1158896.046 0, 1164053.693 1164473.371 0,
+ 1163848.762 1170050.656 0, 1164112.465 1170060.353 0, 1164374.925 1170070.02 0, 1164637.383 1170079.703 0, 1164899.841 1170089.401 0, 1165162.299 1170099.114 0, 1165424.756 1170108.843 0, 1165687.212 1170118.587 0, 1165949.668 1170128.347 0, 1166212.123 1170138.122 0,
+ 1166474.577 1170147.913 0, 1166737.031 1170157.719 0, 1166999.485 1170167.541 0, 1167261.938 1170177.378 0, 1167524.39 1170187.23 0, 1167786.842 1170197.098 0, 1168049.293 1170206.981 0, 1168311.743 1170216.88 0, 1168574.193 1170226.794 0, 1168836.643 1170236.724 0,
+ 1169099.091 1170246.669 0, 1169361.54 1170256.63 0, 1169623.987 1170266.606 0, 1169886.434 1170276.597 0, 1170147.638 1170286.557 0, 1170411.326 1170296.626 0, 1170673.772 1170306.664 0, 1170936.216 1170316.717 0, 1171198.66 1170326.786 0, 1171461.104 1170336.87 0,
+ 1171723.547 1170346.97 0, 1171985.989 1170357.085 0, 1172248.431 1170367.215 0, 1172510.872 1170377.361 0, 1172773.312 1170387.523 0, 1173035.752 1170397.699 0, 1173298.192 1170407.892 0, 1173560.63 1170418.099 0, 1173823.068 1170428.323 0, 1174085.506 1170438.561 0,
+ 1174347.943 1170448.815 0, 1174610.379 1170459.085 0, 1174872.815 1170469.37 0, 1175135.25 1170479.67 0, 1175397.684 1170489.986 0, 1175660.118 1170500.317 0, 1175922.551 1170510.664 0, 1176184.984 1170521.026 0, 1176446.175 1170531.355 0, 1176666.862 1164954.671 0,
+ 1176887.551 1159377.947 0))
+
+POLYGON ((1189042.179 1171047.641 0, 1188781.017 1171036.575 0, 1188518.614 1171025.471 0, 1188256.211 1171014.383 0, 1187993.808 1171003.31 0, 1187731.403 1170992.253 0, 1187468.999 1170981.211 0, 1187206.593 1170970.185 0, 1186944.187 1170959.174 0, 1186681.78 1170948.179 0,
+ 1186419.372 1170937.199 0, 1186156.964 1170926.234 0, 1185894.555 1170915.285 0, 1185632.146 1170904.351 0, 1185369.736 1170893.433 0, 1185107.325 1170882.53 0, 1184844.914 1170871.643 0, 1184582.502 1170860.771 0, 1184320.089 1170849.915 0, 1184057.676 1170839.074 0,
+ 1183795.262 1170828.248 0, 1183532.847 1170817.438 0, 1183270.432 1170806.643 0, 1183008.016 1170795.864 0, 1182744.359 1170785.05 0, 1182483.182 1170774.352 0, 1182220.765 1170763.619 0, 1181958.346 1170752.902 0, 1181695.927 1170742.2 0, 1181433.508 1170731.513 0,
+ 1181171.087 1170720.842 0, 1180908.666 1170710.186 0, 1180646.245 1170699.546 0, 1180383.823 1170688.922 0, 1180121.4 1170678.312 0, 1179858.977 1170667.718 0, 1179596.553 1170657.14 0, 1179334.128 1170646.577 0, 1179071.703 1170636.029 0, 1178809.277 1170625.497 0,
+ 1178546.85 1170614.981 0, 1178284.423 1170604.479 0, 1178021.995 1170593.994 0, 1177759.567 1170583.523 0, 1177497.138 1170573.069 0, 1177234.709 1170562.629 0, 1176972.278 1170552.205 0, 1176709.848 1170541.797 0, 1176446.175 1170531.355 0, 1176225.489 1176107.993 0,
+ 1176004.805 1181684.583 0, 1176267.819 1181694.999 0, 1176529.593 1181705.381 0, 1176791.367 1181715.779 0, 1177053.14 1181726.192 0, 1177314.913 1181736.621 0, 1177576.684 1181747.065 0, 1177838.456 1181757.525 0, 1178100.226 1181768 0, 1178361.996 1181778.49 0,
+ 1178623.766 1181788.996 0, 1178885.535 1181799.517 0, 1179147.303 1181810.053 0, 1179409.07 1181820.605 0, 1179670.837 1181831.173 0, 1179932.604 1181841.756 0, 1180194.37 1181852.354 0, 1180456.135 1181862.967 0, 1180717.899 1181873.596 0, 1180979.663 1181884.241 0,
+ 1181241.426 1181894.9 0, 1181503.189 1181905.576 0, 1181764.951 1181916.266 0, 1182026.712 1181926.972 0, 1182287.235 1181937.643 0, 1182550.233 1181948.431 0, 1182811.992 1181959.183 0, 1183073.751 1181969.951 0, 1183335.509 1181980.734 0, 1183597.267 1181991.532 0,
+ 1183859.024 1182002.346 0, 1184120.78 1182013.175 0, 1184382.535 1182024.02 0, 1184644.29 1182034.88 0, 1184906.045 1182045.755 0, 1185167.798 1182056.646 0, 1185429.552 1182067.553 0, 1185691.304 1182078.474 0, 1185953.056 1182089.412 0, 1186214.807 1182100.364 0,
+ 1186476.557 1182111.332 0, 1186738.307 1182122.315 0, 1187000.056 1182133.314 0, 1187261.805 1182144.328 0, 1187523.553 1182155.358 0, 1187785.3 1182166.403 0, 1188047.047 1182177.463 0, 1188308.793 1182188.539 0, 1188569.302 1182199.578 0, 1188805.739 1176623.634 0,
+ 1189042.179 1171047.641 0))
+
+POLYGON ((1201132.293 1182750.068 0, 1200871.814 1182738.293 0, 1200610.1 1182726.478 0, 1200348.386 1182714.678 0, 1200086.671 1182702.893 0, 1199824.955 1182691.124 0, 1199563.239 1182679.371 0, 1199301.522 1182667.633 0, 1199039.804 1182655.91 0, 1198778.086 1182644.202 0,
+ 1198516.366 1182632.51 0, 1198254.647 1182620.834 0, 1197992.926 1182609.173 0, 1197731.205 1182597.527 0, 1197469.483 1182585.897 0, 1197207.76 1182574.282 0, 1196946.037 1182562.682 0, 1196684.313 1182551.098 0, 1196422.589 1182539.529 0, 1196160.863 1182527.976 0,
+ 1195899.137 1182516.438 0, 1195637.411 1182504.915 0, 1195375.683 1182493.408 0, 1195113.955 1182481.917 0, 1194850.992 1182470.386 0, 1194590.497 1182458.979 0, 1194328.767 1182447.534 0, 1194067.037 1182436.104 0, 1193805.305 1182424.689 0, 1193543.573 1182413.29 0,
+ 1193281.84 1182401.906 0, 1193020.107 1182390.537 0, 1192758.373 1182379.184 0, 1192496.638 1182367.847 0, 1192234.903 1182356.524 0, 1191973.167 1182345.217 0, 1191711.43 1182333.926 0, 1191449.693 1182322.65 0, 1191187.955 1182311.389 0, 1190926.216 1182300.144 0,
+ 1190664.477 1182288.914 0, 1190402.737 1182277.7 0, 1190140.996 1182266.501 0, 1189879.254 1182255.317 0, 1189617.512 1182244.149 0, 1189355.77 1182232.996 0, 1189094.026 1182221.859 0, 1188832.282 1182210.737 0, 1188569.302 1182199.578 0, 1188332.866 1187775.467 0,
+ 1188096.433 1193351.298 0, 1188358.755 1193362.429 0, 1188619.842 1193373.523 0, 1188880.929 1193384.632 0, 1189142.016 1193395.757 0, 1189403.101 1193406.898 0, 1189664.186 1193418.053 0, 1189925.271 1193429.224 0, 1190186.354 1193440.41 0, 1190447.437 1193451.612 0,
+ 1190708.52 1193462.829 0, 1190969.601 1193474.061 0, 1191230.682 1193485.309 0, 1191491.763 1193496.572 0, 1191752.843 1193507.851 0, 1192013.922 1193519.145 0, 1192275 1193530.454 0, 1192536.078 1193541.779 0, 1192797.155 1193553.119 0, 1193058.231 1193564.474 0,
+ 1193319.307 1193575.845 0, 1193580.382 1193587.231 0, 1193841.456 1193598.632 0, 1194102.53 1193610.049 0, 1194362.371 1193621.427 0, 1194624.675 1193632.929 0, 1194885.747 1193644.392 0, 1195146.818 1193655.87 0, 1195407.888 1193667.363 0, 1195668.958 1193678.872 0,
+ 1195930.027 1193690.397 0, 1196191.095 1193701.937 0, 1196452.163 1193713.492 0, 1196713.23 1193725.062 0, 1196974.296 1193736.648 0, 1197235.362 1193748.249 0, 1197496.427 1193759.866 0, 1197757.491 1193771.498 0, 1198018.554 1193783.145 0, 1198279.617 1193794.808 0,
+ 1198540.679 1193806.486 0, 1198801.741 1193818.179 0, 1199062.802 1193829.888 0, 1199323.862 1193841.612 0, 1199584.921 1193853.351 0, 1199845.98 1193865.106 0, 1200107.038 1193876.877 0, 1200368.095 1193888.662 0, 1200627.921 1193900.407 0, 1200880.105 1188325.267 0,
+ 1201132.293 1182750.068 0))
+
+POLYGON ((1213157.807 1194484.918 0, 1212898.013 1194472.439 0, 1212636.99 1194459.916 0, 1212375.967 1194447.408 0, 1212114.942 1194434.916 0, 1211853.917 1194422.439 0, 1211592.891 1194409.977 0, 1211331.864 1194397.531 0, 1211070.837 1194385.1 0, 1210809.809 1194372.685 0,
+ 1210548.78 1194360.284 0, 1210287.751 1194347.9 0, 1210026.72 1194335.53 0, 1209765.689 1194323.176 0, 1209504.657 1194310.837 0, 1209243.625 1194298.514 0, 1208982.592 1194286.206 0, 1208721.558 1194273.913 0, 1208460.523 1194261.636 0, 1208199.488 1194249.374 0,
+ 1207938.452 1194237.128 0, 1207677.415 1194224.897 0, 1207416.377 1194212.681 0, 1207155.339 1194200.48 0, 1206893.07 1194188.238 0, 1206633.26 1194176.126 0, 1206372.22 1194163.971 0, 1206111.179 1194151.832 0, 1205850.137 1194139.709 0, 1205589.094 1194127.6 0,
+ 1205328.051 1194115.508 0, 1205067.007 1194103.43 0, 1204805.963 1194091.368 0, 1204544.917 1194079.321 0, 1204283.871 1194067.29 0, 1204022.824 1194055.274 0, 1203761.777 1194043.273 0, 1203500.729 1194031.288 0, 1203239.68 1194019.318 0, 1202978.63 1194007.363 0,
+ 1202717.58 1193995.424 0, 1202456.529 1193983.5 0, 1202195.477 1193971.591 0, 1201934.424 1193959.698 0, 1201673.371 1193947.82 0, 1201412.317 1193935.958 0, 1201151.263 1193924.111 0, 1200890.208 1193912.279 0, 1200627.921 1193900.407 0, 1200375.739 1199475.484 0,
+ 1200123.56 1205050.493 0, 1200385.188 1205062.335 0, 1200645.587 1205074.137 0, 1200905.985 1205085.955 0, 1201166.383 1205097.787 0, 1201426.78 1205109.635 0, 1201687.176 1205121.498 0, 1201947.571 1205133.377 0, 1202207.966 1205145.271 0, 1202468.36 1205157.18 0,
+ 1202728.753 1205169.105 0, 1202989.146 1205181.044 0, 1203249.538 1205193 0, 1203509.929 1205204.97 0, 1203770.32 1205216.956 0, 1204030.71 1205228.957 0, 1204291.099 1205240.974 0, 1204551.487 1205253.006 0, 1204811.875 1205265.053 0, 1205072.262 1205277.115 0,
+ 1205332.648 1205289.193 0, 1205593.034 1205301.286 0, 1205853.419 1205313.395 0, 1206113.803 1205325.518 0, 1206372.96 1205337.6 0, 1206634.569 1205349.812 0, 1206894.951 1205361.982 0, 1207155.333 1205374.167 0, 1207415.713 1205386.367 0, 1207676.093 1205398.583 0,
+ 1207936.472 1205410.814 0, 1208196.851 1205423.06 0, 1208457.228 1205435.322 0, 1208717.605 1205447.599 0, 1208977.982 1205459.892 0, 1209238.357 1205472.199 0, 1209498.732 1205484.522 0, 1209759.106 1205496.861 0, 1210019.479 1205509.214 0, 1210279.852 1205521.583 0,
+ 1210540.224 1205533.968 0, 1210800.595 1205546.367 0, 1211060.966 1205558.782 0, 1211321.335 1205571.212 0, 1211581.704 1205583.658 0, 1211842.073 1205596.119 0, 1212102.44 1205608.595 0, 1212362.807 1205621.087 0, 1212621.947 1205633.535 0, 1212889.875 1200059.261 0,
+ 1213157.807 1194484.918 0))
+
+POLYGON ((1225118.637 1206251.884 0, 1224859.531 1206238.704 0, 1224599.201 1206225.477 0, 1224338.869 1206212.265 0, 1224078.537 1206199.069 0, 1223818.205 1206185.888 0, 1223557.871 1206172.722 0, 1223297.537 1206159.571 0, 1223037.202 1206146.436 0, 1222776.866 1206133.316 0,
+ 1222516.529 1206120.212 0, 1222256.192 1206107.122 0, 1221995.853 1206094.049 0, 1221735.514 1206080.99 0, 1221475.175 1206067.947 0, 1221214.834 1206054.919 0, 1220954.493 1206041.906 0, 1220694.151 1206028.909 0, 1220433.808 1206015.927 0, 1220173.465 1206002.96 0,
+ 1219913.12 1205990.009 0, 1219652.775 1205977.073 0, 1219392.429 1205964.152 0, 1219132.083 1205951.247 0, 1218870.511 1205938.296 0, 1218611.387 1205925.482 0, 1218351.038 1205912.623 0, 1218090.689 1205899.779 0, 1217830.338 1205886.95 0, 1217569.987 1205874.137 0,
+ 1217309.635 1205861.339 0, 1217049.283 1205848.556 0, 1216788.929 1205835.789 0, 1216528.575 1205823.036 0, 1216268.22 1205810.3 0, 1216007.864 1205797.578 0, 1215747.508 1205784.872 0, 1215487.151 1205772.181 0, 1215226.793 1205759.506 0, 1214966.434 1205746.846 0,
+ 1214706.075 1205734.201 0, 1214445.715 1205721.571 0, 1214185.354 1205708.957 0, 1213924.992 1205696.358 0, 1213664.63 1205683.775 0, 1213404.267 1205671.206 0, 1213143.903 1205658.654 0, 1212883.538 1205646.116 0, 1212621.947 1205633.535 0, 1212354.023 1211207.736 0,
+ 1212086.102 1216781.86 0, 1212347.034 1216794.409 0, 1212606.742 1216806.915 0, 1212866.45 1216819.437 0, 1213126.157 1216831.973 0, 1213385.863 1216844.525 0, 1213645.568 1216857.092 0, 1213905.273 1216869.675 0, 1214164.977 1216882.272 0, 1214424.68 1216894.885 0,
+ 1214684.383 1216907.513 0, 1214944.085 1216920.157 0, 1215203.786 1216932.816 0, 1215463.486 1216945.49 0, 1215723.185 1216958.179 0, 1215982.884 1216970.884 0, 1216242.582 1216983.604 0, 1216502.279 1216996.339 0, 1216761.976 1217009.09 0, 1217021.672 1217021.856 0,
+ 1217281.367 1217034.637 0, 1217541.061 1217047.433 0, 1217800.754 1217060.245 0, 1218060.447 1217073.072 0, 1218318.918 1217085.854 0, 1218579.83 1217098.772 0, 1218839.521 1217111.644 0, 1219099.211 1217124.532 0, 1219358.9 1217137.436 0, 1219618.588 1217150.354 0,
+ 1219878.275 1217163.288 0, 1220137.962 1217176.238 0, 1220397.648 1217189.202 0, 1220657.333 1217202.182 0, 1220917.018 1217215.177 0, 1221176.701 1217228.187 0, 1221436.384 1217241.213 0, 1221696.066 1217254.254 0, 1221955.747 1217267.31 0, 1222215.428 1217280.382 0,
+ 1222475.108 1217293.469 0, 1222734.787 1217306.571 0, 1222994.465 1217319.688 0, 1223254.143 1217332.821 0, 1223513.819 1217345.969 0, 1223773.495 1217359.132 0, 1224033.17 1217372.31 0, 1224292.845 1217385.504 0, 1224551.298 1217398.651 0, 1224834.966 1211825.307 0,
+ 1225118.637 1206251.884 0))
+
+POLYGON ((1237014.702 1218050.656 0, 1236756.285 1218036.779 0, 1236496.649 1218022.852 0, 1236237.012 1218008.94 0, 1235977.374 1217995.043 0, 1235717.736 1217981.161 0, 1235458.096 1217967.295 0, 1235198.456 1217953.444 0, 1234938.815 1217939.608 0, 1234679.173 1217925.788 0,
+ 1234419.531 1217911.983 0, 1234159.887 1217898.193 0, 1233900.243 1217884.419 0, 1233640.598 1217870.659 0, 1233380.952 1217856.915 0, 1233121.305 1217843.187 0, 1232861.658 1217829.473 0, 1232602.01 1217815.775 0, 1232342.361 1217802.092 0, 1232082.711 1217788.425 0,
+ 1231823.06 1217774.772 0, 1231563.409 1217761.135 0, 1231303.756 1217747.514 0, 1231044.103 1217733.907 0, 1230783.23 1217720.252 0, 1230524.795 1217706.74 0, 1230265.139 1217693.18 0, 1230005.483 1217679.634 0, 1229745.826 1217666.104 0, 1229486.168 1217652.59 0,
+ 1229226.509 1217639.09 0, 1228966.85 1217625.606 0, 1228707.19 1217612.137 0, 1228447.529 1217598.683 0, 1228187.867 1217585.245 0, 1227928.204 1217571.822 0, 1227668.541 1217558.414 0, 1227408.876 1217545.022 0, 1227149.211 1217531.645 0, 1226889.546 1217518.283 0,
+ 1226629.879 1217504.936 0, 1226370.212 1217491.605 0, 1226110.544 1217478.289 0, 1225850.875 1217464.988 0, 1225591.205 1217451.702 0, 1225331.535 1217438.432 0, 1225071.863 1217425.177 0, 1224812.191 1217411.938 0, 1224551.298 1217398.651 0, 1224267.634 1222971.913 0,
+ 1223983.975 1228545.089 0, 1224244.209 1228558.342 0, 1224503.225 1228571.548 0, 1224762.241 1228584.769 0, 1225021.255 1228598.006 0, 1225280.269 1228611.258 0, 1225539.282 1228624.525 0, 1225798.294 1228637.807 0, 1226057.305 1228651.105 0, 1226316.316 1228664.418 0,
+ 1226575.325 1228677.746 0, 1226834.334 1228691.09 0, 1227093.342 1228704.448 0, 1227352.35 1228717.822 0, 1227611.356 1228731.211 0, 1227870.362 1228744.616 0, 1228129.367 1228758.035 0, 1228388.371 1228771.47 0, 1228647.375 1228784.92 0, 1228906.378 1228798.386 0,
+ 1229165.379 1228811.866 0, 1229424.381 1228825.362 0, 1229683.381 1228838.873 0, 1229942.38 1228852.399 0, 1230200.163 1228865.877 0, 1230460.377 1228879.498 0, 1230719.374 1228893.07 0, 1230978.37 1228906.657 0, 1231237.366 1228920.26 0, 1231496.36 1228933.878 0,
+ 1231755.354 1228947.511 0, 1232014.347 1228961.159 0, 1232273.34 1228974.822 0, 1232532.331 1228988.501 0, 1232791.322 1229002.195 0, 1233050.312 1229015.904 0, 1233309.301 1229029.629 0, 1233568.289 1229043.369 0, 1233827.276 1229057.124 0, 1234086.263 1229070.894 0,
+ 1234345.249 1229084.679 0, 1234604.234 1229098.48 0, 1234863.218 1229112.296 0, 1235122.201 1229126.127 0, 1235381.184 1229139.974 0, 1235640.165 1229153.835 0, 1235899.146 1229167.712 0, 1236158.127 1229181.604 0, 1236415.891 1229195.447 0, 1236715.294 1223623.095 0,
+ 1237014.702 1218050.656 0))
+
+POLYGON ((1248845.919 1229880.924 0, 1248588.193 1229866.354 0, 1248329.253 1229851.73 0, 1248070.312 1229837.121 0, 1247811.371 1229822.528 0, 1247552.429 1229807.95 0, 1247293.485 1229793.387 0, 1247034.541 1229778.84 0, 1246775.596 1229764.307 0, 1246516.65 1229749.79 0,
+ 1246257.704 1229735.288 0, 1245998.756 1229720.802 0, 1245739.808 1229706.33 0, 1245480.859 1229691.874 0, 1245221.908 1229677.433 0, 1244962.957 1229663.008 0, 1244704.006 1229648.597 0, 1244445.053 1229634.202 0, 1244186.1 1229619.822 0, 1243927.145 1229605.458 0,
+ 1243668.19 1229591.108 0, 1243409.234 1229576.774 0, 1243150.277 1229562.455 0, 1242891.32 1229548.151 0, 1242631.147 1229533.796 0, 1242373.402 1229519.589 0, 1242114.441 1229505.331 0, 1241855.48 1229491.089 0, 1241596.518 1229476.861 0, 1241337.556 1229462.649 0,
+ 1241078.592 1229448.452 0, 1240819.628 1229434.27 0, 1240560.662 1229420.104 0, 1240301.696 1229405.952 0, 1240042.729 1229391.816 0, 1239783.762 1229377.695 0, 1239524.793 1229363.59 0, 1239265.824 1229349.5 0, 1239006.854 1229335.424 0, 1238747.882 1229321.365 0,
+ 1238488.911 1229307.32 0, 1238229.938 1229293.291 0, 1237970.964 1229279.276 0, 1237711.99 1229265.278 0, 1237453.015 1229251.294 0, 1237194.039 1229237.326 0, 1236935.062 1229223.372 0, 1236676.084 1229209.435 0, 1236415.891 1229195.447 0, 1236116.492 1234767.706 0,
+ 1235817.099 1240339.87 0, 1236076.634 1240353.822 0, 1236334.956 1240367.725 0, 1236593.277 1240381.642 0, 1236851.597 1240395.575 0, 1237109.916 1240409.524 0, 1237368.234 1240423.487 0, 1237626.552 1240437.466 0, 1237884.869 1240451.46 0, 1238143.185 1240465.469 0,
+ 1238401.5 1240479.493 0, 1238659.814 1240493.532 0, 1238918.128 1240507.587 0, 1239176.44 1240521.657 0, 1239434.752 1240535.742 0, 1239693.063 1240549.842 0, 1239951.373 1240563.958 0, 1240209.683 1240578.088 0, 1240467.991 1240592.234 0, 1240726.299 1240606.395 0,
+ 1240984.606 1240620.571 0, 1241242.912 1240634.763 0, 1241501.217 1240648.97 0, 1241759.521 1240663.191 0, 1242016.614 1240677.362 0, 1242276.127 1240691.681 0, 1242534.429 1240705.948 0, 1242792.73 1240720.231 0, 1243051.03 1240734.529 0, 1243309.33 1240748.842 0,
+ 1243567.628 1240763.17 0, 1243825.926 1240777.514 0, 1244084.222 1240791.873 0, 1244342.518 1240806.246 0, 1244600.813 1240820.636 0, 1244859.108 1240835.04 0, 1245117.401 1240849.459 0, 1245375.693 1240863.894 0, 1245633.985 1240878.344 0, 1245892.276 1240892.809 0,
+ 1246150.566 1240907.29 0, 1246408.855 1240921.785 0, 1246667.143 1240936.296 0, 1246925.431 1240950.822 0, 1247183.717 1240965.363 0, 1247442.003 1240979.919 0, 1247700.288 1240994.491 0, 1247958.572 1241009.078 0, 1248215.645 1241023.611 0, 1248530.779 1235452.316 0,
+ 1248845.919 1229880.924 0))
+
+POLYGON ((1260612.209 1241742.378 0, 1260355.176 1241727.118 0, 1260096.935 1241711.802 0, 1259838.692 1241696.501 0, 1259580.449 1241681.215 0, 1259322.204 1241665.944 0, 1259063.959 1241650.688 0, 1258805.712 1241635.448 0, 1258547.465 1241620.223 0, 1258289.217 1241605.013 0,
+ 1258030.968 1241589.818 0, 1257772.719 1241574.638 0, 1257514.468 1241559.474 0, 1257256.216 1241544.325 0, 1256997.964 1241529.191 0, 1256739.71 1241514.072 0, 1256481.456 1241498.968 0, 1256223.201 1241483.88 0, 1255964.945 1241468.807 0, 1255706.688 1241453.749 0,
+ 1255448.43 1241438.706 0, 1255190.171 1241423.678 0, 1254931.912 1241408.666 0, 1254673.651 1241393.669 0, 1254414.181 1241378.617 0, 1254157.128 1241363.72 0, 1253898.865 1241348.768 0, 1253640.601 1241333.832 0, 1253382.336 1241318.911 0, 1253124.07 1241304.005 0,
+ 1252865.803 1241289.114 0, 1252607.536 1241274.238 0, 1252349.267 1241259.378 0, 1252090.998 1241244.533 0, 1251832.728 1241229.703 0, 1251574.457 1241214.888 0, 1251316.185 1241200.089 0, 1251057.912 1241185.304 0, 1250799.639 1241170.535 0, 1250541.364 1241155.781 0,
+ 1250283.089 1241141.042 0, 1250024.813 1241126.319 0, 1249766.536 1241111.61 0, 1249508.258 1241096.917 0, 1249249.979 1241082.239 0, 1248991.699 1241067.577 0, 1248733.419 1241052.929 0, 1248475.137 1241038.297 0, 1248215.645 1241023.611 0, 1247900.516 1246594.805 0,
+ 1247585.394 1252165.892 0, 1247844.227 1252180.54 0, 1248101.853 1252195.136 0, 1248359.478 1252209.746 0, 1248617.102 1252224.371 0, 1248874.725 1252239.012 0, 1249132.347 1252253.668 0, 1249389.968 1252268.339 0, 1249647.588 1252283.025 0, 1249905.208 1252297.727 0,
+ 1250162.827 1252312.443 0, 1250420.445 1252327.175 0, 1250678.061 1252341.922 0, 1250935.678 1252356.684 0, 1251193.293 1252371.461 0, 1251450.907 1252386.253 0, 1251708.521 1252401.06 0, 1251966.133 1252415.883 0, 1252223.745 1252430.721 0, 1252481.356 1252445.574 0,
+ 1252738.966 1252460.442 0, 1252996.575 1252475.325 0, 1253254.183 1252490.224 0, 1253511.791 1252505.137 0, 1253768.191 1252519.996 0, 1254027.003 1252535.01 0, 1254284.607 1252549.969 0, 1254542.211 1252564.943 0, 1254799.814 1252579.933 0, 1255057.416 1252594.938 0,
+ 1255315.017 1252609.957 0, 1255572.618 1252624.992 0, 1255830.217 1252640.042 0, 1256087.816 1252655.108 0, 1256345.413 1252670.188 0, 1256603.01 1252685.283 0, 1256860.606 1252700.394 0, 1257118.201 1252715.52 0, 1257375.795 1252730.661 0, 1257633.388 1252745.817 0,
+ 1257890.981 1252760.989 0, 1258148.572 1252776.175 0, 1258406.162 1252791.377 0, 1258663.752 1252806.594 0, 1258921.341 1252821.826 0, 1259178.929 1252837.073 0, 1259436.516 1252852.335 0, 1259694.102 1252867.613 0, 1259950.482 1252882.834 0, 1260281.343 1247312.659 0,
+ 1260612.209 1241742.378 0))
+
+POLYGON ((1272313.495 1253634.707 0, 1272057.157 1253618.761 0, 1271799.615 1253602.756 0, 1271542.072 1253586.766 0, 1271284.529 1253570.791 0, 1271026.984 1253554.831 0, 1270769.438 1253538.887 0, 1270511.892 1253522.957 0, 1270254.344 1253507.043 0, 1269996.796 1253491.144 0,
+ 1269739.246 1253475.26 0, 1269481.696 1253459.392 0, 1269224.145 1253443.538 0, 1268966.593 1253427.7 0, 1268709.04 1253411.876 0, 1268451.486 1253396.068 0, 1268193.931 1253380.275 0, 1267936.375 1253364.497 0, 1267678.818 1253348.735 0, 1267421.26 1253332.987 0,
+ 1267163.702 1253317.255 0, 1266906.142 1253301.538 0, 1266648.582 1253285.836 0, 1266391.02 1253270.149 0, 1266132.254 1253254.404 0, 1265875.895 1253238.821 0, 1265618.33 1253223.18 0, 1265360.765 1253207.553 0, 1265103.199 1253191.942 0, 1264845.632 1253176.347 0,
+ 1264588.064 1253160.766 0, 1264330.496 1253145.2 0, 1264072.926 1253129.65 0, 1263815.355 1253114.115 0, 1263557.784 1253098.595 0, 1263300.211 1253083.09 0, 1263042.638 1253067.6 0, 1262785.064 1253052.125 0, 1262527.488 1253036.666 0, 1262269.912 1253021.222 0,
+ 1262012.335 1253005.793 0, 1261754.757 1252990.379 0, 1261497.179 1252974.98 0, 1261239.599 1252959.596 0, 1260982.018 1252944.228 0, 1260724.437 1252928.874 0, 1260466.854 1252913.536 0, 1260209.271 1252898.213 0, 1259950.482 1252882.834 0, 1259619.628 1258452.898 0,
+ 1259288.781 1264022.845 0, 1259546.911 1264038.186 0, 1259803.839 1264053.47 0, 1260060.766 1264068.769 0, 1260317.691 1264084.083 0, 1260574.616 1264099.412 0, 1260831.541 1264114.757 0, 1261088.464 1264130.116 0, 1261345.386 1264145.491 0, 1261602.307 1264160.881 0,
+ 1261859.228 1264176.286 0, 1262116.147 1264191.706 0, 1262373.066 1264207.141 0, 1262629.984 1264222.591 0, 1262886.9 1264238.057 0, 1263143.816 1264253.537 0, 1263400.731 1264269.033 0, 1263657.645 1264284.544 0, 1263914.558 1264300.07 0, 1264171.471 1264315.611 0,
+ 1264428.382 1264331.167 0, 1264685.292 1264346.738 0, 1264942.202 1264362.325 0, 1265199.11 1264377.926 0, 1265454.817 1264393.47 0, 1265712.925 1264409.175 0, 1265969.831 1264424.822 0, 1266226.736 1264440.484 0, 1266483.639 1264456.161 0, 1266740.543 1264471.853 0,
+ 1266997.445 1264487.56 0, 1267254.346 1264503.283 0, 1267511.246 1264519.021 0, 1267768.145 1264534.773 0, 1268025.044 1264550.541 0, 1268281.941 1264566.324 0, 1268538.838 1264582.122 0, 1268795.734 1264597.935 0, 1269052.628 1264613.764 0, 1269309.522 1264629.607 0,
+ 1269566.415 1264645.466 0, 1269823.307 1264661.34 0, 1270080.198 1264677.228 0, 1270337.088 1264693.132 0, 1270593.977 1264709.051 0, 1270850.865 1264724.986 0, 1271107.752 1264740.935 0, 1271364.638 1264756.899 0, 1271620.324 1264772.804 0, 1271966.906 1259203.813 0,
+ 1272313.495 1253634.707 0))
+
+POLYGON ((1283949.7 1265557.599 0, 1283694.058 1265540.971 0, 1283437.218 1265524.281 0, 1283180.377 1265507.606 0, 1282923.534 1265490.946 0, 1282666.691 1265474.302 0, 1282409.847 1265457.672 0, 1282153.002 1265441.058 0, 1281896.156 1265424.458 0, 1281639.309 1265407.874 0,
+ 1281382.461 1265391.305 0, 1281125.612 1265374.751 0, 1280868.762 1265358.212 0, 1280611.911 1265341.688 0, 1280355.06 1265325.179 0, 1280098.207 1265308.686 0, 1279841.353 1265292.207 0, 1279584.498 1265275.744 0, 1279327.642 1265259.296 0, 1279070.786 1265242.862 0,
+ 1278813.928 1265226.444 0, 1278557.069 1265210.042 0, 1278300.21 1265193.654 0, 1278043.349 1265177.281 0, 1277785.289 1265160.847 0, 1277529.625 1265144.581 0, 1277272.762 1265128.254 0, 1277015.897 1265111.942 0, 1276759.032 1265095.645 0, 1276502.165 1265079.363 0,
+ 1276245.298 1265063.096 0, 1275988.43 1265046.844 0, 1275731.561 1265030.608 0, 1275474.69 1265014.386 0, 1275217.819 1264998.18 0, 1274960.947 1264981.989 0, 1274704.074 1264965.813 0, 1274447.2 1264949.652 0, 1274190.325 1264933.506 0, 1273933.449 1264917.375 0,
+ 1273676.573 1264901.259 0, 1273419.695 1264885.159 0, 1273162.816 1264869.074 0, 1272905.936 1264853.003 0, 1272649.056 1264836.948 0, 1272392.174 1264820.908 0, 1272135.292 1264804.883 0, 1271878.408 1264788.873 0, 1271620.324 1264772.804 0, 1271273.75 1270341.674 0,
+ 1270927.183 1275910.418 0, 1271184.609 1275926.447 0, 1271440.837 1275942.416 0, 1271697.064 1275958.4 0, 1271953.29 1275974.399 0, 1272209.515 1275990.413 0, 1272465.739 1276006.442 0, 1272721.962 1276022.486 0, 1272978.184 1276038.546 0, 1273234.406 1276054.62 0,
+ 1273490.626 1276070.71 0, 1273746.846 1276086.815 0, 1274003.064 1276102.934 0, 1274259.282 1276119.069 0, 1274515.498 1276135.219 0, 1274771.714 1276151.384 0, 1275027.928 1276167.564 0, 1275284.142 1276183.759 0, 1275540.355 1276199.969 0, 1275796.567 1276216.195 0,
+ 1276052.778 1276232.435 0, 1276308.987 1276248.69 0, 1276565.196 1276264.961 0, 1276821.404 1276281.247 0, 1277076.416 1276297.471 0, 1277333.817 1276313.863 0, 1277590.023 1276330.194 0, 1277846.227 1276346.54 0, 1278102.43 1276362.901 0, 1278358.632 1276379.277 0,
+ 1278614.833 1276395.668 0, 1278871.034 1276412.074 0, 1279127.233 1276428.496 0, 1279383.431 1276444.932 0, 1279639.629 1276461.384 0, 1279895.825 1276477.85 0, 1280152.021 1276494.332 0, 1280408.215 1276510.829 0, 1280664.409 1276527.34 0, 1280920.601 1276543.867 0,
+ 1281176.793 1276560.409 0, 1281432.983 1276576.966 0, 1281689.173 1276593.538 0, 1281945.362 1276610.126 0, 1282201.549 1276626.728 0, 1282457.736 1276643.345 0, 1282713.922 1276659.978 0, 1282970.106 1276676.625 0, 1283225.096 1276693.21 0, 1283587.394 1271125.467 0,
+ 1283949.7 1265557.599 0))
+
+POLYGON ((1295520.747 1277510.743 0, 1295265.804 1277493.437 0, 1295009.667 1277476.066 0, 1294753.53 1277458.71 0, 1294497.391 1277441.369 0, 1294241.251 1277424.043 0, 1293985.11 1277406.732 0, 1293728.969 1277389.436 0, 1293472.826 1277372.155 0, 1293216.682 1277354.89 0,
+ 1292960.537 1277337.639 0, 1292704.391 1277320.404 0, 1292448.244 1277303.183 0, 1292192.097 1277285.978 0, 1291935.948 1277268.787 0, 1291679.798 1277251.612 0, 1291423.647 1277234.452 0, 1291167.495 1277217.307 0, 1290911.342 1277200.177 0, 1290655.188 1277183.062 0,
+ 1290399.033 1277165.962 0, 1290142.877 1277148.877 0, 1289886.72 1277131.808 0, 1289630.562 1277114.753 0, 1289373.21 1277097.634 0, 1289118.244 1277080.689 0, 1288862.083 1277063.68 0, 1288605.921 1277046.685 0, 1288349.758 1277029.706 0, 1288093.594 1277012.742 0,
+ 1287837.429 1276995.793 0, 1287581.263 1276978.859 0, 1287325.096 1276961.94 0, 1287068.928 1276945.036 0, 1286812.759 1276928.147 0, 1286556.589 1276911.274 0, 1286300.418 1276894.415 0, 1286044.246 1276877.572 0, 1285788.073 1276860.743 0, 1285531.899 1276843.93 0,
+ 1285275.725 1276827.131 0, 1285019.549 1276810.348 0, 1284763.372 1276793.58 0, 1284507.194 1276776.827 0, 1284251.015 1276760.089 0, 1283994.835 1276743.366 0, 1283738.655 1276726.658 0, 1283482.473 1276709.966 0, 1283225.096 1276693.21 0, 1282862.806 1282260.822 0,
+ 1282500.526 1287828.299 0, 1282757.244 1287845.011 0, 1283012.771 1287861.661 0, 1283268.296 1287878.327 0, 1283523.821 1287895.007 0, 1283779.344 1287911.702 0, 1284034.867 1287928.412 0, 1284290.388 1287945.137 0, 1284545.909 1287961.878 0, 1284801.428 1287978.633 0,
+ 1285056.947 1287995.403 0, 1285312.464 1288012.189 0, 1285567.981 1288028.989 0, 1285823.496 1288045.805 0, 1286079.011 1288062.635 0, 1286334.524 1288079.481 0, 1286590.037 1288096.341 0, 1286845.549 1288113.217 0, 1287101.059 1288130.108 0, 1287356.569 1288147.013 0,
+ 1287612.077 1288163.934 0, 1287867.585 1288180.87 0, 1288123.092 1288197.821 0, 1288378.597 1288214.787 0, 1288632.912 1288231.688 0, 1288889.606 1288248.763 0, 1289145.108 1288265.774 0, 1289400.61 1288282.8 0, 1289656.11 1288299.841 0, 1289911.61 1288316.898 0,
+ 1290167.109 1288333.969 0, 1290422.606 1288351.055 0, 1290678.103 1288368.156 0, 1290933.598 1288385.272 0, 1291189.093 1288402.404 0, 1291444.587 1288419.55 0, 1291700.079 1288436.711 0, 1291955.571 1288453.888 0, 1292211.061 1288471.079 0, 1292466.551 1288488.286 0,
+ 1292722.039 1288505.507 0, 1292977.527 1288522.744 0, 1293233.013 1288539.995 0, 1293488.499 1288557.262 0, 1293743.983 1288574.544 0, 1293999.467 1288591.84 0, 1294254.949 1288609.152 0, 1294510.431 1288626.479 0, 1294764.722 1288643.74 0, 1295142.73 1283077.309 0,
+ 1295520.747 1277510.743 0))
+
+POLYGON ((1307026.565 1289493.826 0, 1306772.322 1289475.847 0, 1306516.89 1289457.798 0, 1306261.458 1289439.765 0, 1306006.024 1289421.746 0, 1305750.589 1289403.743 0, 1305495.154 1289385.755 0, 1305239.717 1289367.781 0, 1304984.279 1289349.823 0, 1304728.84 1289331.88 0,
+ 1304473.401 1289313.952 0, 1304217.96 1289296.038 0, 1303962.518 1289278.14 0, 1303707.075 1289260.257 0, 1303451.63 1289242.389 0, 1303196.185 1289224.536 0, 1302940.739 1289206.698 0, 1302685.292 1289188.875 0, 1302429.843 1289171.067 0, 1302174.394 1289153.274 0,
+ 1301918.944 1289135.496 0, 1301663.492 1289117.734 0, 1301408.04 1289099.986 0, 1301152.586 1289082.253 0, 1300895.944 1289064.453 0, 1300641.676 1289046.833 0, 1300386.219 1289029.145 0, 1300130.762 1289011.472 0, 1299875.303 1288993.815 0, 1299619.843 1288976.172 0,
+ 1299364.382 1288958.545 0, 1299108.92 1288940.932 0, 1298853.457 1288923.335 0, 1298597.994 1288905.752 0, 1298342.529 1288888.185 0, 1298087.063 1288870.633 0, 1297831.596 1288853.095 0, 1297576.127 1288835.573 0, 1297320.658 1288818.066 0, 1297065.188 1288800.574 0,
+ 1296809.717 1288783.097 0, 1296554.245 1288765.634 0, 1296298.772 1288748.187 0, 1296043.297 1288730.755 0, 1295787.822 1288713.338 0, 1295532.346 1288695.936 0, 1295276.869 1288678.549 0, 1295021.39 1288661.178 0, 1294764.722 1288643.74 0, 1294386.723 1294210.03 0,
+ 1294008.734 1299776.175 0, 1294264.745 1299793.568 0, 1294519.568 1299810.895 0, 1294774.39 1299828.237 0, 1295029.211 1299845.595 0, 1295284.031 1299862.967 0, 1295538.85 1299880.354 0, 1295793.668 1299897.757 0, 1296048.485 1299915.174 0, 1296303.301 1299932.606 0,
+ 1296558.116 1299950.054 0, 1296812.93 1299967.516 0, 1297067.742 1299984.993 0, 1297322.554 1300002.486 0, 1297577.365 1300019.993 0, 1297832.175 1300037.515 0, 1298086.984 1300055.053 0, 1298341.791 1300072.605 0, 1298596.598 1300090.172 0, 1298851.404 1300107.754 0,
+ 1299106.208 1300125.352 0, 1299361.012 1300142.964 0, 1299615.814 1300160.591 0, 1299870.616 1300178.234 0, 1300124.231 1300195.809 0, 1300380.216 1300213.563 0, 1300635.014 1300231.25 0, 1300889.811 1300248.953 0, 1301144.608 1300266.67 0, 1301399.403 1300284.402 0,
+ 1301654.197 1300302.15 0, 1301908.99 1300319.912 0, 1302163.782 1300337.689 0, 1302418.574 1300355.481 0, 1302673.364 1300373.289 0, 1302928.153 1300391.111 0, 1303182.94 1300408.948 0, 1303437.727 1300426.8 0, 1303692.513 1300444.668 0, 1303947.298 1300462.55 0,
+ 1304202.082 1300480.447 0, 1304456.864 1300498.359 0, 1304711.646 1300516.287 0, 1304966.426 1300534.229 0, 1305221.206 1300552.186 0, 1305475.984 1300570.158 0, 1305730.762 1300588.145 0, 1305985.538 1300606.148 0, 1306239.13 1300624.081 0, 1306632.842 1295059.026 0,
+ 1307026.565 1289493.826 0))
+
+POLYGON ((1318467.08 1301506.537 0, 1318213.539 1301487.887 0, 1317958.814 1301469.165 0, 1317704.089 1301450.458 0, 1317449.362 1301431.766 0, 1317194.634 1301413.089 0, 1316939.905 1301394.427 0, 1316685.175 1301375.78 0, 1316430.444 1301357.148 0, 1316175.712 1301338.531 0,
+ 1315920.979 1301319.929 0, 1315666.245 1301301.342 0, 1315411.509 1301282.77 0, 1315156.773 1301264.213 0, 1314902.035 1301245.671 0, 1314647.296 1301227.144 0, 1314392.557 1301208.632 0, 1314137.816 1301190.135 0, 1313883.074 1301171.653 0, 1313628.331 1301153.186 0,
+ 1313373.587 1301134.734 0, 1313118.841 1301116.297 0, 1312864.095 1301097.875 0, 1312609.348 1301079.468 0, 1312353.417 1301060.991 0, 1312099.85 1301042.699 0, 1311845.099 1301024.337 0, 1311590.347 1301005.99 0, 1311335.595 1300987.658 0, 1311080.841 1300969.341 0,
+ 1310826.086 1300951.039 0, 1310571.33 1300932.751 0, 1310316.573 1300914.479 0, 1310061.814 1300896.222 0, 1309807.055 1300877.98 0, 1309552.295 1300859.753 0, 1309297.533 1300841.541 0, 1309042.771 1300823.344 0, 1308788.007 1300805.161 0, 1308533.243 1300786.994 0,
+ 1308278.477 1300768.842 0, 1308023.71 1300750.705 0, 1307768.943 1300732.583 0, 1307514.174 1300714.476 0, 1307259.404 1300696.384 0, 1307004.633 1300678.306 0, 1306749.861 1300660.244 0, 1306495.088 1300642.197 0, 1306239.13 1300624.081 0, 1305845.428 1306188.985 0,
+ 1305451.737 1311753.733 0, 1305707.036 1311771.803 0, 1305961.155 1311789.803 0, 1306215.272 1311807.819 0, 1306469.388 1311825.85 0, 1306723.502 1311843.896 0, 1306977.616 1311861.956 0, 1307231.729 1311880.032 0, 1307485.841 1311898.122 0, 1307739.951 1311916.228 0,
+ 1307994.061 1311934.348 0, 1308248.169 1311952.484 0, 1308502.277 1311970.634 0, 1308756.383 1311988.799 0, 1309010.489 1312006.98 0, 1309264.593 1312025.175 0, 1309518.696 1312043.385 0, 1309772.798 1312061.61 0, 1310026.899 1312079.85 0, 1310280.999 1312098.105 0,
+ 1310535.098 1312116.375 0, 1310789.196 1312134.66 0, 1311043.292 1312152.96 0, 1311297.388 1312171.275 0, 1311550.303 1312189.52 0, 1311805.576 1312207.95 0, 1312059.668 1312226.309 0, 1312313.76 1312244.684 0, 1312567.85 1312263.074 0, 1312821.939 1312281.478 0,
+ 1313076.027 1312299.898 0, 1313330.114 1312318.332 0, 1313584.2 1312336.782 0, 1313838.285 1312355.246 0, 1314092.368 1312373.726 0, 1314346.451 1312392.22 0, 1314600.533 1312410.729 0, 1314854.613 1312429.253 0, 1315108.692 1312447.793 0, 1315362.771 1312466.347 0,
+ 1315616.848 1312484.916 0, 1315870.924 1312503.5 0, 1316124.999 1312522.099 0, 1316379.073 1312540.713 0, 1316633.146 1312559.342 0, 1316887.217 1312577.986 0, 1317141.288 1312596.644 0, 1317395.357 1312615.318 0, 1317648.247 1312633.92 0, 1318057.658 1307070.306 0,
+ 1318467.08 1301506.537 0))
+
+POLYGON ((1329842.223 1313548.561 0, 1329589.384 1313529.245 0, 1329335.369 1313509.853 0, 1329081.352 1313490.477 0, 1328827.334 1313471.115 0, 1328573.315 1313451.768 0, 1328319.294 1313432.437 0, 1328065.273 1313413.12 0, 1327811.25 1313393.818 0, 1327557.227 1313374.531 0,
+ 1327303.202 1313355.259 0, 1327049.176 1313336.002 0, 1326795.149 1313316.76 0, 1326541.12 1313297.533 0, 1326287.091 1313278.321 0, 1326033.061 1313259.124 0, 1325779.029 1313239.942 0, 1325524.996 1313220.775 0, 1325270.962 1313201.622 0, 1325016.927 1313182.485 0,
+ 1324762.891 1313163.363 0, 1324508.854 1313144.255 0, 1324254.816 1313125.163 0, 1324000.776 1313106.085 0, 1323745.558 1313086.934 0, 1323492.694 1313067.975 0, 1323238.651 1313048.942 0, 1322984.607 1313029.925 0, 1322730.562 1313010.922 0, 1322476.515 1312991.934 0,
+ 1322222.468 1312972.961 0, 1321968.42 1312954.003 0, 1321714.37 1312935.06 0, 1321460.319 1312916.133 0, 1321206.268 1312897.219 0, 1320952.215 1312878.321 0, 1320698.161 1312859.438 0, 1320444.105 1312840.57 0, 1320190.049 1312821.717 0, 1319935.992 1312802.879 0,
+ 1319681.933 1312784.055 0, 1319427.874 1312765.247 0, 1319173.813 1312746.453 0, 1318919.751 1312727.675 0, 1318665.688 1312708.912 0, 1318411.624 1312690.163 0, 1318157.559 1312671.429 0, 1317903.493 1312652.711 0, 1317648.247 1312633.92 0, 1317238.848 1318197.374 0,
+ 1316829.461 1323760.661 0, 1317084.049 1323779.403 0, 1317337.461 1323798.074 0, 1317590.871 1323816.759 0, 1317844.28 1323835.459 0, 1318097.688 1323854.174 0, 1318351.095 1323872.904 0, 1318604.501 1323891.649 0, 1318857.905 1323910.409 0, 1319111.309 1323929.184 0,
+ 1319364.712 1323947.974 0, 1319618.113 1323966.778 0, 1319871.513 1323985.598 0, 1320124.912 1324004.432 0, 1320378.31 1324023.282 0, 1320631.707 1324042.146 0, 1320885.103 1324061.025 0, 1321138.498 1324079.919 0, 1321391.892 1324098.828 0, 1321645.284 1324117.752 0,
+ 1321898.675 1324136.691 0, 1322152.066 1324155.645 0, 1322405.455 1324174.614 0, 1322658.843 1324193.597 0, 1322911.055 1324212.508 0, 1323165.616 1324231.609 0, 1323419 1324250.637 0, 1323672.384 1324269.681 0, 1323925.766 1324288.739 0, 1324179.148 1324307.812 0,
+ 1324432.528 1324326.9 0, 1324685.907 1324346.003 0, 1324939.285 1324365.121 0, 1325192.662 1324384.253 0, 1325446.037 1324403.401 0, 1325699.412 1324422.564 0, 1325952.785 1324441.741 0, 1326206.158 1324460.934 0, 1326459.529 1324480.141 0, 1326712.899 1324499.363 0,
+ 1326966.268 1324518.6 0, 1327219.636 1324537.852 0, 1327473.002 1324557.119 0, 1327726.368 1324576.401 0, 1327979.732 1324595.698 0, 1328233.095 1324615.009 0, 1328486.458 1324634.336 0, 1328739.819 1324653.678 0, 1328992.005 1324672.944 0, 1329417.107 1319110.836 0,
+ 1329842.223 1313548.561 0))
+
+POLYGON ((1341151.923 1325619.585 0, 1340899.79 1325599.606 0, 1340646.484 1325579.549 0, 1340393.178 1325559.506 0, 1340139.87 1325539.479 0, 1339886.561 1325519.467 0, 1339633.251 1325499.469 0, 1339379.94 1325479.486 0, 1339126.628 1325459.518 0, 1338873.314 1325439.566 0,
+ 1338619.999 1325419.628 0, 1338366.683 1325399.705 0, 1338113.366 1325379.796 0, 1337860.048 1325359.903 0, 1337606.729 1325340.025 0, 1337353.408 1325320.162 0, 1337100.086 1325300.313 0, 1336846.763 1325280.479 0, 1336593.439 1325260.661 0, 1336340.114 1325240.857 0,
+ 1336086.788 1325221.068 0, 1335833.46 1325201.294 0, 1335580.131 1325181.535 0, 1335326.801 1325161.791 0, 1335072.298 1325141.971 0, 1334820.138 1325122.348 0, 1334566.805 1325102.648 0, 1334313.47 1325082.964 0, 1334060.134 1325063.294 0, 1333806.798 1325043.639 0,
+ 1333553.46 1325024 0, 1333300.12 1325004.375 0, 1333046.78 1324984.765 0, 1332793.439 1324965.17 0, 1332540.096 1324945.59 0, 1332286.752 1324926.025 0, 1332033.407 1324906.474 0, 1331780.061 1324886.939 0, 1331526.714 1324867.418 0, 1331273.365 1324847.913 0,
+ 1331020.016 1324828.422 0, 1330766.665 1324808.947 0, 1330513.313 1324789.486 0, 1330259.96 1324770.04 0, 1330006.606 1324750.609 0, 1329753.251 1324731.193 0, 1329499.895 1324711.792 0, 1329246.537 1324692.405 0, 1328992.005 1324672.944 0, 1328566.916 1330234.882 0,
+ 1328141.84 1335796.645 0, 1328395.714 1335816.055 0, 1328648.417 1335835.392 0, 1328901.118 1335854.743 0, 1329153.819 1335874.108 0, 1329406.518 1335893.489 0, 1329659.217 1335912.885 0, 1329911.914 1335932.295 0, 1330164.61 1335951.721 0, 1330417.305 1335971.161 0,
+ 1330669.998 1335990.616 0, 1330922.691 1336010.086 0, 1331175.382 1336029.571 0, 1331428.073 1336049.071 0, 1331680.762 1336068.586 0, 1331933.45 1336088.115 0, 1332186.136 1336107.659 0, 1332438.822 1336127.219 0, 1332691.507 1336146.793 0, 1332944.19 1336166.382 0,
+ 1333196.872 1336185.986 0, 1333449.553 1336205.604 0, 1333702.233 1336225.238 0, 1333954.912 1336244.886 0, 1334206.42 1336264.459 0, 1334460.266 1336284.228 0, 1334712.941 1336303.921 0, 1334965.615 1336323.629 0, 1335218.288 1336343.352 0, 1335470.96 1336363.09 0,
+ 1335723.631 1336382.842 0, 1335976.3 1336402.61 0, 1336228.968 1336422.392 0, 1336481.636 1336442.189 0, 1336734.302 1336462.001 0, 1336986.966 1336481.828 0, 1337239.63 1336501.67 0, 1337492.292 1336521.527 0, 1337744.954 1336541.398 0, 1337997.614 1336561.285 0,
+ 1338250.273 1336581.186 0, 1338502.931 1336601.102 0, 1338755.587 1336621.033 0, 1339008.243 1336640.979 0, 1339260.897 1336660.94 0, 1339513.55 1336680.916 0, 1339766.202 1336700.906 0, 1340018.853 1336720.912 0, 1340270.334 1336740.839 0, 1340711.121 1331180.3 0,
+ 1341151.923 1325619.585 0))
+
+POLYGON ((1352396.113 1337719.295 0, 1352144.687 1337698.657 0, 1351892.093 1337677.938 0, 1351639.499 1337657.234 0, 1351386.903 1337636.544 0, 1351134.307 1337615.87 0, 1350881.708 1337595.21 0, 1350629.109 1337574.566 0, 1350376.509 1337553.936 0, 1350123.907 1337533.321 0,
+ 1349871.304 1337512.72 0, 1349618.7 1337492.135 0, 1349366.094 1337471.565 0, 1349113.488 1337451.009 0, 1348860.88 1337430.469 0, 1348608.271 1337409.943 0, 1348355.661 1337389.432 0, 1348103.05 1337368.936 0, 1347850.437 1337348.454 0, 1347597.823 1337327.988 0,
+ 1347345.208 1337307.537 0, 1347092.592 1337287.1 0, 1346839.974 1337266.678 0, 1346587.356 1337246.271 0, 1346333.569 1337225.785 0, 1346082.115 1337205.502 0, 1345829.493 1337185.14 0, 1345576.869 1337164.793 0, 1345324.245 1337144.46 0, 1345071.619 1337124.142 0,
+ 1344818.992 1337103.84 0, 1344566.364 1337083.552 0, 1344313.734 1337063.279 0, 1344061.104 1337043.02 0, 1343808.472 1337022.777 0, 1343555.839 1337002.549 0, 1343303.205 1336982.335 0, 1343050.569 1336962.136 0, 1342797.933 1336941.952 0, 1342545.295 1336921.783 0,
+ 1342292.656 1336901.629 0, 1342040.016 1336881.49 0, 1341787.375 1336861.366 0, 1341534.732 1336841.256 0, 1341282.089 1336821.162 0, 1341029.444 1336801.082 0, 1340776.798 1336781.017 0, 1340524.151 1336760.967 0, 1340270.334 1336740.839 0, 1339829.561 1342301.197 0,
+ 1339388.803 1347861.369 0, 1339641.962 1347881.445 0, 1339893.955 1347901.443 0, 1340145.946 1347921.456 0, 1340397.936 1347941.484 0, 1340649.926 1347961.526 0, 1340901.914 1347981.584 0, 1341153.9 1348001.656 0, 1341405.886 1348021.743 0, 1341657.87 1348041.845 0,
+ 1341909.854 1348061.962 0, 1342161.836 1348082.093 0, 1342413.816 1348102.24 0, 1342665.796 1348122.401 0, 1342917.775 1348142.577 0, 1343169.752 1348162.768 0, 1343421.728 1348182.973 0, 1343673.703 1348203.194 0, 1343925.677 1348223.429 0, 1344177.649 1348243.679 0,
+ 1344429.621 1348263.945 0, 1344681.591 1348284.224 0, 1344933.56 1348304.519 0, 1345185.527 1348324.829 0, 1345436.33 1348345.059 0, 1345689.459 1348365.492 0, 1345941.424 1348385.846 0, 1346193.386 1348406.215 0, 1346445.348 1348426.599 0, 1346697.309 1348446.997 0,
+ 1346949.268 1348467.41 0, 1347201.226 1348487.839 0, 1347453.183 1348508.282 0, 1347705.139 1348528.739 0, 1347957.094 1348549.212 0, 1348209.047 1348569.7 0, 1348460.999 1348590.202 0, 1348712.95 1348610.719 0, 1348964.9 1348631.251 0, 1349216.848 1348651.798 0,
+ 1349468.796 1348672.359 0, 1349720.742 1348692.936 0, 1349972.687 1348713.527 0, 1350224.63 1348734.133 0, 1350476.573 1348754.754 0, 1350728.514 1348775.39 0, 1350980.454 1348796.041 0, 1351232.393 1348816.706 0, 1351483.168 1348837.291 0, 1351939.633 1343278.386 0,
+ 1352396.113 1337719.295 0))
+
+POLYGON ((1363574.727 1349847.377 0, 1363324.009 1349826.084 0, 1363072.13 1349804.706 0, 1362820.249 1349783.344 0, 1362568.367 1349761.997 0, 1362316.484 1349740.664 0, 1362064.6 1349719.346 0, 1361812.714 1349698.043 0, 1361560.827 1349676.755 0, 1361308.939 1349655.482 0,
+ 1361057.049 1349634.223 0, 1360805.159 1349612.979 0, 1360553.267 1349591.751 0, 1360301.373 1349570.537 0, 1360049.479 1349549.337 0, 1359797.583 1349528.153 0, 1359545.686 1349506.983 0, 1359293.788 1349485.829 0, 1359041.889 1349464.689 0, 1358789.988 1349443.564 0,
+ 1358538.086 1349422.453 0, 1358286.183 1349401.358 0, 1358034.278 1349380.277 0, 1357782.373 1349359.212 0, 1357529.304 1349338.064 0, 1357278.558 1349317.125 0, 1357026.648 1349296.103 0, 1356774.738 1349275.097 0, 1356522.826 1349254.105 0, 1356270.913 1349233.128 0,
+ 1356018.998 1349212.166 0, 1355767.083 1349191.219 0, 1355515.166 1349170.287 0, 1355263.248 1349149.369 0, 1355011.329 1349128.467 0, 1354759.408 1349107.579 0, 1354507.487 1349086.706 0, 1354255.564 1349065.848 0, 1354003.639 1349045.004 0, 1353751.714 1349024.176 0,
+ 1353499.787 1349003.362 0, 1353247.86 1348982.563 0, 1352995.931 1348961.779 0, 1352744 1348941.01 0, 1352492.069 1348920.256 0, 1352240.136 1348899.516 0, 1351988.202 1348878.791 0, 1351736.267 1348858.081 0, 1351483.168 1348837.291 0, 1351026.718 1354396.004 0,
+ 1350570.285 1359954.521 0, 1350822.727 1359975.258 0, 1351074.008 1359995.914 0, 1351325.288 1360016.585 0, 1351576.566 1360037.27 0, 1351827.843 1360057.971 0, 1352079.119 1360078.686 0, 1352330.394 1360099.416 0, 1352581.668 1360120.161 0, 1352832.94 1360140.921 0,
+ 1353084.211 1360161.695 0, 1353335.481 1360182.484 0, 1353586.749 1360203.288 0, 1353838.017 1360224.107 0, 1354089.283 1360244.941 0, 1354340.548 1360265.789 0, 1354591.812 1360286.652 0, 1354843.074 1360307.53 0, 1355094.335 1360328.423 0, 1355345.596 1360349.331 0,
+ 1355596.854 1360370.253 0, 1355848.112 1360391.19 0, 1356099.368 1360412.142 0, 1356350.623 1360433.109 0, 1356600.719 1360453.993 0, 1356853.13 1360475.087 0, 1357104.381 1360496.098 0, 1357355.631 1360517.123 0, 1357606.88 1360538.164 0, 1357858.128 1360559.219 0,
+ 1358109.375 1360580.29 0, 1358360.62 1360601.375 0, 1358611.864 1360622.474 0, 1358863.106 1360643.589 0, 1359114.348 1360664.718 0, 1359365.588 1360685.863 0, 1359616.827 1360707.022 0, 1359868.065 1360728.195 0, 1360119.301 1360749.384 0, 1360370.537 1360770.587 0,
+ 1360621.771 1360791.805 0, 1360873.003 1360813.038 0, 1361124.235 1360834.286 0, 1361375.465 1360855.548 0, 1361626.694 1360876.825 0, 1361877.922 1360898.117 0, 1362129.148 1360919.424 0, 1362380.374 1360940.746 0, 1362630.44 1360961.984 0, 1363102.575 1355404.779 0,
+ 1363574.727 1349847.377 0))
+
+POLYGON ((668948.514 754296.183 0, 668663.026 754315.579 0, 668376.097 754335.089 0, 668089.169 754354.616 0, 667802.243 754374.16 0, 667515.317 754393.721 0, 667228.393 754413.299 0, 666941.47 754432.894 0, 666654.548 754452.505 0, 666367.628 754472.134 0,
+ 666080.708 754491.779 0, 665793.79 754511.442 0, 665506.872 754531.121 0, 665219.956 754550.817 0, 664933.041 754570.53 0, 664646.127 754590.26 0, 664359.215 754610.006 0, 664072.303 754629.77 0, 663785.393 754649.55 0, 663498.484 754669.348 0,
+ 663211.576 754689.162 0, 662924.669 754708.993 0, 662637.764 754728.841 0, 662350.859 754748.706 0, 662062.514 754768.688 0, 661777.054 754788.487 0, 661490.153 754808.402 0, 661203.253 754828.335 0, 660916.354 754848.284 0, 660629.457 754868.25 0,
+ 660342.561 754888.233 0, 660055.666 754908.233 0, 659768.772 754928.25 0, 659481.879 754948.284 0, 659194.988 754968.335 0, 658908.097 754988.402 0, 658621.208 755008.487 0, 658334.32 755028.588 0, 658047.433 755048.706 0, 657760.548 755068.841 0,
+ 657473.663 755088.993 0, 657186.78 755109.162 0, 656899.898 755129.348 0, 656613.017 755149.55 0, 656326.137 755169.77 0, 656039.259 755190.006 0, 655752.381 755210.26 0, 655465.505 755230.53 0, 655177.187 755250.919 0, 655570.438 760809.444 0,
+ 655963.707 766368.225 0, 656251.367 766347.883 0, 656537.589 766327.659 0, 656823.812 766307.452 0, 657110.036 766287.262 0, 657396.261 766267.088 0, 657682.488 766246.932 0, 657968.716 766226.792 0, 658254.944 766206.669 0, 658541.175 766186.563 0,
+ 658827.406 766166.474 0, 659113.638 766146.402 0, 659399.872 766126.346 0, 659686.107 766106.307 0, 659972.343 766086.286 0, 660258.58 766066.281 0, 660544.818 766046.293 0, 660831.058 766026.321 0, 661117.298 766006.367 0, 661403.54 765986.429 0,
+ 661689.783 765966.509 0, 661976.027 765946.605 0, 662262.273 765926.718 0, 662548.519 765906.848 0, 662833.328 765887.094 0, 663121.016 765867.158 0, 663407.266 765847.338 0, 663693.517 765827.536 0, 663979.77 765807.75 0, 664266.023 765787.981 0,
+ 664552.278 765768.229 0, 664838.534 765748.493 0, 665124.791 765728.775 0, 665411.049 765709.073 0, 665697.308 765689.388 0, 665983.569 765669.72 0, 666269.83 765650.069 0, 666556.093 765630.435 0, 666842.357 765610.817 0, 667128.622 765591.217 0,
+ 667414.889 765571.633 0, 667701.156 765552.066 0, 667987.425 765532.516 0, 668273.694 765512.983 0, 668559.965 765493.467 0, 668846.237 765473.967 0, 669132.511 765454.485 0, 669418.785 765435.019 0, 669703.622 765415.668 0, 669326.06 759855.797 0,
+ 668948.514 754296.183 0))
+
+POLYGON ((783235.189 837156.132 0, 782954.535 837168.835 0, 782672.483 837181.618 0, 782390.431 837194.418 0, 782108.38 837207.234 0, 781826.33 837220.067 0, 781544.281 837232.917 0, 781262.232 837245.783 0, 780980.184 837258.666 0, 780698.137 837271.565 0,
+ 780416.091 837284.481 0, 780134.045 837297.414 0, 779852 837310.363 0, 779569.956 837323.328 0, 779287.913 837336.311 0, 779005.87 837349.31 0, 778723.829 837362.325 0, 778441.788 837375.358 0, 778159.747 837388.406 0, 777877.708 837401.472 0,
+ 777595.669 837414.554 0, 777313.631 837427.652 0, 777031.594 837440.767 0, 776749.558 837453.899 0, 776466.122 837467.113 0, 776185.487 837480.213 0, 775903.453 837493.394 0, 775621.42 837506.592 0, 775339.387 837519.807 0, 775057.356 837533.038 0,
+ 774775.325 837546.286 0, 774493.294 837559.551 0, 774211.265 837572.832 0, 773929.236 837586.13 0, 773647.209 837599.444 0, 773365.182 837612.775 0, 773083.155 837626.123 0, 772801.13 837639.487 0, 772519.105 837652.868 0, 772237.081 837666.265 0,
+ 771955.058 837679.679 0, 771673.036 837693.11 0, 771391.014 837706.557 0, 771108.993 837720.021 0, 770826.974 837733.501 0, 770544.954 837746.998 0, 770262.936 837760.512 0, 769980.918 837774.042 0, 769697.5 837787.656 0, 769965.207 843357.333 0,
+ 770232.924 848927.21 0, 770515.683 848913.628 0, 770797.045 848900.129 0, 771078.408 848886.647 0, 771359.772 848873.181 0, 771641.136 848859.732 0, 771922.501 848846.3 0, 772203.867 848832.884 0, 772485.233 848819.485 0, 772766.601 848806.102 0,
+ 773047.969 848792.736 0, 773329.338 848779.386 0, 773610.708 848766.053 0, 773892.079 848752.736 0, 774173.45 848739.436 0, 774454.822 848726.153 0, 774736.195 848712.886 0, 775017.569 848699.636 0, 775298.943 848686.402 0, 775580.319 848673.185 0,
+ 775861.695 848659.984 0, 776143.071 848646.8 0, 776424.449 848633.633 0, 776705.827 848620.482 0, 776985.809 848607.412 0, 777268.586 848594.23 0, 777549.967 848581.128 0, 777831.349 848568.044 0, 778112.731 848554.975 0, 778394.114 848541.924 0,
+ 778675.498 848528.889 0, 778956.882 848515.87 0, 779238.268 848502.869 0, 779519.654 848489.883 0, 779801.04 848476.915 0, 780082.428 848463.962 0, 780363.816 848451.027 0, 780645.206 848438.108 0, 780926.595 848425.205 0, 781207.986 848412.319 0,
+ 781489.377 848399.45 0, 781770.77 848386.597 0, 782052.163 848373.761 0, 782333.556 848360.941 0, 782614.951 848348.138 0, 782896.346 848335.351 0, 783177.742 848322.581 0, 783459.138 848309.828 0, 783739.14 848297.154 0, 783487.16 842726.543 0,
+ 783235.189 837156.132 0))
+
+POLYGON ((797247.081 847705.258 0, 796967.043 847717.141 0, 796685.612 847729.099 0, 796404.181 847741.074 0, 796122.751 847753.066 0, 795841.321 847765.074 0, 795559.892 847777.098 0, 795278.464 847789.14 0, 794997.037 847801.197 0, 794715.61 847813.272 0,
+ 794434.184 847825.363 0, 794152.759 847837.47 0, 793871.335 847849.594 0, 793589.911 847861.735 0, 793308.488 847873.892 0, 793027.065 847886.066 0, 792745.644 847898.256 0, 792464.223 847910.463 0, 792182.803 847922.686 0, 791901.383 847934.926 0,
+ 791619.964 847947.183 0, 791338.546 847959.456 0, 791057.129 847971.746 0, 790775.712 847984.052 0, 790492.902 847996.436 0, 790212.881 848008.714 0, 789931.467 848021.07 0, 789650.053 848033.442 0, 789368.64 848045.831 0, 789087.228 848058.237 0,
+ 788805.817 848070.659 0, 788524.406 848083.098 0, 788242.996 848095.553 0, 787961.587 848108.025 0, 787680.178 848120.514 0, 787398.77 848133.019 0, 787117.363 848145.54 0, 786835.957 848158.078 0, 786554.551 848170.633 0, 786273.146 848183.204 0,
+ 785991.742 848195.792 0, 785710.339 848208.397 0, 785428.936 848221.017 0, 785147.534 848233.655 0, 784866.133 848246.309 0, 784584.733 848258.98 0, 784303.333 848271.667 0, 784021.934 848284.371 0, 783739.14 848297.154 0, 783991.128 853867.961 0,
+ 784243.126 859438.959 0, 784525.261 859426.205 0, 784806.004 859413.531 0, 785086.748 859400.874 0, 785367.492 859388.232 0, 785648.238 859375.608 0, 785928.984 859363 0, 786209.731 859350.408 0, 786490.478 859337.833 0, 786771.227 859325.275 0,
+ 787051.976 859312.733 0, 787332.726 859300.207 0, 787613.476 859287.699 0, 787894.227 859275.206 0, 788174.98 859262.73 0, 788455.732 859250.271 0, 788736.486 859237.828 0, 789017.24 859225.402 0, 789297.995 859212.992 0, 789578.751 859200.599 0,
+ 789859.507 859188.222 0, 790140.264 859175.862 0, 790421.022 859163.518 0, 790701.781 859151.191 0, 790981.148 859138.941 0, 791263.3 859126.586 0, 791544.061 859114.309 0, 791824.822 859102.048 0, 792105.584 859089.803 0, 792386.347 859077.575 0,
+ 792667.111 859065.364 0, 792947.875 859053.169 0, 793228.64 859040.99 0, 793509.406 859028.829 0, 793790.173 859016.683 0, 794070.94 859004.554 0, 794351.708 858992.442 0, 794632.477 858980.346 0, 794913.246 858968.267 0, 795194.016 858956.204 0,
+ 795474.787 858944.158 0, 795755.558 858932.128 0, 796036.33 858920.115 0, 796317.103 858908.119 0, 796597.877 858896.139 0, 796878.651 858884.175 0, 797159.426 858872.228 0, 797440.202 858860.297 0, 797719.588 858848.442 0, 797483.33 853276.754 0,
+ 797247.081 847705.258 0))
+
+POLYGON ((811197.664 858296.001 0, 810918.244 858307.067 0, 810637.436 858318.204 0, 810356.628 858329.358 0, 810075.821 858340.528 0, 809795.015 858351.715 0, 809514.209 858362.919 0, 809233.404 858374.138 0, 808952.6 858385.375 0, 808671.796 858396.628 0,
+ 808390.993 858407.897 0, 808110.191 858419.183 0, 807829.389 858430.486 0, 807548.588 858441.805 0, 807267.787 858453.14 0, 806986.988 858464.493 0, 806706.189 858475.861 0, 806425.39 858487.246 0, 806144.593 858498.648 0, 805863.796 858510.066 0,
+ 805582.999 858521.501 0, 805302.204 858532.952 0, 805021.409 858544.42 0, 804740.614 858555.904 0, 804458.431 858567.462 0, 804179.028 858578.922 0, 803898.235 858590.456 0, 803617.444 858602.007 0, 803336.653 858613.574 0, 803055.863 858625.157 0,
+ 802775.073 858636.757 0, 802494.284 858648.374 0, 802213.496 858660.007 0, 801932.708 858671.656 0, 801651.922 858683.323 0, 801371.135 858695.005 0, 801090.35 858706.704 0, 800809.565 858718.42 0, 800528.781 858730.152 0, 800247.998 858741.901 0,
+ 799967.215 858753.666 0, 799686.433 858765.448 0, 799405.652 858777.246 0, 799124.871 858789.061 0, 798844.091 858800.893 0, 798563.312 858812.74 0, 798282.533 858824.605 0, 798001.756 858836.486 0, 797719.588 858848.442 0, 797955.853 864420.319 0,
+ 798192.126 869992.379 0, 798473.635 869980.451 0, 798753.757 869968.597 0, 799033.879 869956.761 0, 799314.002 869944.94 0, 799594.126 869933.137 0, 799874.251 869921.35 0, 800154.377 869909.579 0, 800434.503 869897.824 0, 800714.629 869886.087 0,
+ 800994.757 869874.365 0, 801274.885 869862.661 0, 801555.014 869850.972 0, 801835.143 869839.3 0, 802115.274 869827.645 0, 802395.404 869816.006 0, 802675.536 869804.384 0, 802955.668 869792.778 0, 803235.801 869781.189 0, 803515.935 869769.616 0,
+ 803796.069 869758.059 0, 804076.204 869746.519 0, 804356.34 869734.996 0, 804636.476 869723.489 0, 804915.227 869712.055 0, 805196.751 869700.524 0, 805476.889 869689.067 0, 805757.028 869677.626 0, 806037.168 869666.201 0, 806317.308 869654.793 0,
+ 806597.45 869643.402 0, 806877.591 869632.027 0, 807157.734 869620.668 0, 807437.877 869609.326 0, 807718.021 869598.001 0, 807998.165 869586.692 0, 808278.31 869575.399 0, 808558.456 869564.123 0, 808838.602 869552.863 0, 809118.749 869541.62 0,
+ 809398.897 869530.393 0, 809679.045 869519.183 0, 809959.194 869507.99 0, 810239.344 869496.812 0, 810519.494 869485.652 0, 810799.645 869474.508 0, 811079.797 869463.38 0, 811359.949 869452.269 0, 811638.717 869441.229 0, 811418.187 863868.523 0,
+ 811197.664 858296.001 0))
+
+POLYGON ((825086.811 868928.07 0, 824808.012 868938.322 0, 824527.829 868948.642 0, 824247.647 868958.978 0, 823967.466 868969.331 0, 823687.285 868979.7 0, 823407.105 868990.085 0, 823126.925 869000.488 0, 822846.746 869010.906 0, 822566.568 869021.341 0,
+ 822286.39 869031.793 0, 822006.213 869042.261 0, 821726.037 869052.746 0, 821445.861 869063.247 0, 821165.686 869073.764 0, 820885.511 869084.298 0, 820605.337 869094.849 0, 820325.164 869105.416 0, 820044.991 869116 0, 819764.819 869126.6 0,
+ 819484.647 869137.216 0, 819204.476 869147.849 0, 818924.306 869158.499 0, 818644.136 869169.165 0, 818362.583 869179.9 0, 818083.799 869190.546 0, 817803.631 869201.262 0, 817523.464 869211.994 0, 817243.298 869222.742 0, 816963.132 869233.507 0,
+ 816682.967 869244.288 0, 816402.802 869255.086 0, 816122.638 869265.901 0, 815842.475 869276.732 0, 815562.312 869287.579 0, 815282.15 869298.443 0, 815001.989 869309.323 0, 814721.828 869320.22 0, 814441.668 869331.133 0, 814161.508 869342.063 0,
+ 813881.35 869353.01 0, 813601.191 869363.972 0, 813321.034 869374.952 0, 813040.877 869385.948 0, 812760.721 869396.96 0, 812480.565 869407.989 0, 812200.41 869419.034 0, 811920.256 869430.096 0, 811638.717 869441.229 0, 811859.254 875014.115 0,
+ 812079.798 880587.179 0, 812360.678 880576.072 0, 812640.176 880565.036 0, 812919.675 880554.016 0, 813199.175 880543.013 0, 813478.675 880532.027 0, 813758.176 880521.057 0, 814037.677 880510.103 0, 814317.179 880499.166 0, 814596.682 880488.245 0,
+ 814876.186 880477.341 0, 815155.69 880466.453 0, 815435.194 880455.582 0, 815714.7 880444.727 0, 815994.206 880433.889 0, 816273.712 880423.067 0, 816553.219 880412.261 0, 816832.727 880401.472 0, 817112.236 880390.699 0, 817391.745 880379.943 0,
+ 817671.255 880369.203 0, 817950.765 880358.48 0, 818230.276 880347.773 0, 818509.788 880337.083 0, 818787.919 880326.462 0, 819068.813 880315.752 0, 819348.327 880305.111 0, 819627.841 880294.486 0, 819907.356 880283.878 0, 820186.871 880273.286 0,
+ 820466.387 880262.711 0, 820745.904 880252.152 0, 821025.421 880241.61 0, 821304.939 880231.084 0, 821584.458 880220.575 0, 821863.977 880210.082 0, 822143.497 880199.605 0, 822423.017 880189.145 0, 822702.538 880178.701 0, 822982.06 880168.274 0,
+ 823261.582 880157.864 0, 823541.105 880147.469 0, 823820.628 880137.092 0, 824100.152 880126.73 0, 824379.677 880116.385 0, 824659.202 880106.057 0, 824938.728 880095.745 0, 825218.255 880085.449 0, 825496.401 880075.221 0, 825291.603 874501.557 0,
+ 825086.811 868928.07 0))
+
+POLYGON ((838914.397 879601.17 0, 838636.221 879610.612 0, 838356.666 879620.118 0, 838077.112 879629.64 0, 837797.559 879639.179 0, 837518.006 879648.734 0, 837238.454 879658.306 0, 836958.902 879667.894 0, 836679.351 879677.498 0, 836399.801 879687.119 0,
+ 836120.251 879696.757 0, 835840.701 879706.411 0, 835561.153 879716.081 0, 835281.604 879725.768 0, 835002.057 879735.471 0, 834722.51 879745.191 0, 834442.963 879754.927 0, 834163.417 879764.679 0, 833883.872 879774.448 0, 833604.327 879784.234 0,
+ 833324.783 879794.036 0, 833045.239 879803.854 0, 832765.696 879813.689 0, 832486.153 879823.54 0, 832205.232 879833.457 0, 831927.07 879843.292 0, 831647.529 879853.193 0, 831367.989 879863.11 0, 831088.449 879873.044 0, 830808.91 879882.994 0,
+ 830529.372 879892.96 0, 830249.834 879902.943 0, 829970.297 879912.943 0, 829690.76 879922.958 0, 829411.224 879932.991 0, 829131.689 879943.039 0, 828852.154 879953.105 0, 828572.62 879963.186 0, 828293.086 879973.284 0, 828013.553 879983.399 0,
+ 827734.02 879993.53 0, 827454.488 880003.677 0, 827174.957 880013.841 0, 826895.426 880024.022 0, 826615.896 880034.219 0, 826336.367 880044.432 0, 826056.838 880054.662 0, 825777.309 880064.908 0, 825496.401 880075.221 0, 825701.206 885649.058 0,
+ 825906.017 891223.065 0, 826186.266 891212.775 0, 826465.138 891202.553 0, 826744.011 891192.348 0, 827022.884 891182.158 0, 827301.758 891171.985 0, 827580.632 891161.829 0, 827859.508 891151.689 0, 828138.383 891141.565 0, 828417.26 891131.458 0,
+ 828696.137 891121.367 0, 828975.014 891111.293 0, 829253.892 891101.235 0, 829532.771 891091.193 0, 829811.65 891081.168 0, 830090.53 891071.159 0, 830369.411 891061.167 0, 830648.292 891051.191 0, 830927.174 891041.232 0, 831206.056 891031.289 0,
+ 831484.939 891021.362 0, 831763.822 891011.452 0, 832042.706 891001.558 0, 832321.591 890991.68 0, 832599.1 890981.868 0, 832879.362 890971.975 0, 833158.248 890962.147 0, 833437.135 890952.335 0, 833716.022 890942.539 0, 833994.91 890932.761 0,
+ 834273.799 890922.998 0, 834552.688 890913.252 0, 834831.578 890903.522 0, 835110.468 890893.809 0, 835389.359 890884.112 0, 835668.251 890874.432 0, 835947.143 890864.768 0, 836226.036 890855.12 0, 836504.929 890845.489 0, 836783.823 890835.874 0,
+ 837062.717 890826.276 0, 837341.612 890816.694 0, 837620.507 890807.128 0, 837899.403 890797.579 0, 838178.3 890788.046 0, 838457.197 890778.53 0, 838736.095 890769.03 0, 839014.993 890759.547 0, 839292.517 890750.126 0, 839103.454 885175.563 0,
+ 838914.397 879601.17 0))
+
+POLYGON ((852680.299 890315.009 0, 852402.748 890323.645 0, 852123.824 890332.341 0, 851844.901 890341.053 0, 851565.978 890349.781 0, 851287.055 890358.526 0, 851008.133 890367.287 0, 850729.212 890376.065 0, 850450.291 890384.859 0, 850171.371 890393.669 0,
+ 849892.451 890402.496 0, 849613.532 890411.339 0, 849334.613 890420.199 0, 849055.695 890429.075 0, 848776.777 890437.967 0, 848497.86 890446.876 0, 848218.943 890455.802 0, 847940.027 890464.743 0, 847661.111 890473.701 0, 847382.196 890482.676 0,
+ 847103.282 890491.667 0, 846824.367 890500.674 0, 846545.454 890509.698 0, 846266.541 890518.738 0, 845986.254 890527.84 0, 845708.717 890536.868 0, 845429.805 890545.958 0, 845150.894 890555.064 0, 844871.984 890564.186 0, 844593.074 890573.325 0,
+ 844314.165 890582.48 0, 844035.256 890591.651 0, 843756.348 890600.839 0, 843477.441 890610.044 0, 843198.533 890619.265 0, 842919.627 890628.502 0, 842640.721 890637.755 0, 842361.816 890647.025 0, 842082.911 890656.312 0, 841804.006 890665.615 0,
+ 841525.102 890674.934 0, 841246.199 890684.27 0, 840967.296 890693.622 0, 840688.394 890702.991 0, 840409.493 890712.376 0, 840130.592 890721.777 0, 839851.691 890731.195 0, 839572.791 890740.629 0, 839292.517 890750.126 0, 839481.585 896324.854 0,
+ 839670.658 901899.744 0, 839950.273 901890.269 0, 840228.517 901880.857 0, 840506.761 901871.462 0, 840785.006 901862.082 0, 841063.252 901852.719 0, 841341.497 901843.373 0, 841619.744 901834.043 0, 841897.991 901824.729 0, 842176.238 901815.432 0,
+ 842454.487 901806.151 0, 842732.735 901796.886 0, 843010.984 901787.638 0, 843289.234 901778.406 0, 843567.484 901769.19 0, 843845.735 901759.991 0, 844123.987 901750.808 0, 844402.238 901741.642 0, 844680.491 901732.492 0, 844958.744 901723.359 0,
+ 845236.997 901714.241 0, 845515.251 901705.14 0, 845793.506 901696.056 0, 846071.761 901686.988 0, 846348.646 901677.981 0, 846628.273 901668.901 0, 846906.53 901659.882 0, 847184.787 901650.879 0, 847463.045 901641.893 0, 847741.303 901632.923 0,
+ 848019.562 901623.97 0, 848297.821 901615.033 0, 848576.081 901606.112 0, 848854.341 901597.208 0, 849132.602 901588.32 0, 849410.864 901579.448 0, 849689.126 901570.593 0, 849967.388 901561.754 0, 850245.651 901552.932 0, 850523.915 901544.126 0,
+ 850802.179 901535.336 0, 851080.443 901526.563 0, 851358.708 901517.806 0, 851636.974 901509.065 0, 851915.24 901500.341 0, 852193.507 901491.633 0, 852471.774 901482.942 0, 852750.042 901474.267 0, 853026.94 901465.651 0, 852853.617 895890.249 0,
+ 852680.299 890315.009 0))
+
+POLYGON ((866384.394 901069.293 0, 866107.471 901077.127 0, 865829.18 901085.016 0, 865550.889 901092.921 0, 865272.599 901100.842 0, 864994.309 901108.78 0, 864716.02 901116.735 0, 864437.731 901124.706 0, 864159.443 901132.693 0, 863881.155 901140.696 0,
+ 863602.868 901148.716 0, 863324.581 901156.752 0, 863046.295 901164.805 0, 862768.009 901172.874 0, 862489.724 901180.959 0, 862211.439 901189.061 0, 861933.154 901197.179 0, 861654.87 901205.314 0, 861376.587 901213.465 0, 861098.304 901221.632 0,
+ 860820.021 901229.816 0, 860541.739 901238.016 0, 860263.458 901246.232 0, 859985.177 901254.465 0, 859705.527 901262.755 0, 859428.616 901270.98 0, 859150.336 901279.262 0, 858872.057 901287.56 0, 858593.778 901295.875 0, 858315.5 901304.206 0,
+ 858037.223 901312.553 0, 857758.945 901320.917 0, 857480.669 901329.297 0, 857202.393 901337.694 0, 856924.117 901346.107 0, 856645.842 901354.536 0, 856367.567 901362.982 0, 856089.293 901371.444 0, 855811.019 901379.922 0, 855532.746 901388.417 0,
+ 855254.473 901396.929 0, 854976.201 901405.456 0, 854697.929 901414 0, 854419.658 901422.561 0, 854141.387 901431.137 0, 853863.117 901439.73 0, 853584.848 901448.34 0, 853306.578 901456.966 0, 853026.94 901465.651 0, 853200.267 907041.21 0,
+ 853373.6 912616.923 0, 853652.579 912608.259 0, 853930.192 912599.653 0, 854207.805 912591.064 0, 854485.419 912582.491 0, 854763.033 912573.935 0, 855040.648 912565.395 0, 855318.263 912556.871 0, 855595.879 912548.363 0, 855873.496 912539.872 0,
+ 856151.112 912531.397 0, 856428.73 912522.939 0, 856706.348 912514.497 0, 856983.966 912506.071 0, 857261.585 912497.661 0, 857539.204 912489.268 0, 857816.824 912480.891 0, 858094.444 912472.531 0, 858372.065 912464.187 0, 858649.686 912455.859 0,
+ 858927.308 912447.548 0, 859204.931 912439.253 0, 859482.553 912430.974 0, 859760.177 912422.711 0, 860036.435 912414.506 0, 860315.424 912406.236 0, 860593.049 912398.022 0, 860870.674 912389.825 0, 861148.3 912381.644 0, 861425.926 912373.48 0,
+ 861703.553 912365.332 0, 861981.18 912357.2 0, 862258.808 912349.085 0, 862536.436 912340.986 0, 862814.064 912332.903 0, 863091.693 912324.837 0, 863369.323 912316.787 0, 863646.953 912308.753 0, 863924.583 912300.736 0, 864202.214 912292.735 0,
+ 864479.845 912284.751 0, 864757.477 912276.782 0, 865035.11 912268.83 0, 865312.742 912260.895 0, 865590.376 912252.976 0, 865868.009 912245.073 0, 866145.644 912237.186 0, 866423.278 912229.316 0, 866699.549 912221.5 0, 866541.969 906645.32 0,
+ 866384.394 901069.293 0))
+
+POLYGON ((880026.561 911863.727 0, 879750.268 911870.762 0, 879472.612 911877.848 0, 879194.957 911884.95 0, 878917.302 911892.069 0, 878639.647 911899.204 0, 878361.993 911906.355 0, 878084.339 911913.522 0, 877806.686 911920.706 0, 877529.033 911927.907 0,
+ 877251.381 911935.123 0, 876973.729 911942.356 0, 876696.077 911949.605 0, 876418.426 911956.871 0, 876140.775 911964.153 0, 875863.125 911971.451 0, 875585.475 911978.766 0, 875307.826 911986.097 0, 875030.177 911993.444 0, 874752.528 912000.808 0,
+ 874474.88 912008.188 0, 874197.233 912015.584 0, 873919.585 912022.997 0, 873641.939 912030.426 0, 873362.929 912037.908 0, 873086.646 912045.333 0, 872809.001 912052.811 0, 872531.356 912060.305 0, 872253.711 912067.816 0, 871976.067 912075.343 0,
+ 871698.423 912082.886 0, 871420.78 912090.446 0, 871143.137 912098.022 0, 870865.495 912105.615 0, 870587.853 912113.223 0, 870310.211 912120.848 0, 870032.57 912128.49 0, 869754.93 912136.148 0, 869477.29 912143.822 0, 869199.65 912151.512 0,
+ 868922.011 912159.219 0, 868644.372 912166.942 0, 868366.734 912174.682 0, 868089.096 912182.438 0, 867811.458 912190.21 0, 867533.821 912197.998 0, 867256.185 912205.803 0, 866978.549 912213.624 0, 866699.549 912221.5 0, 866857.132 917797.831 0,
+ 867014.72 923374.308 0, 867293.06 923366.45 0, 867570.04 923358.648 0, 867847.02 923350.861 0, 868124.001 923343.091 0, 868400.982 923335.337 0, 868677.963 923327.6 0, 868954.945 923319.879 0, 869231.927 923312.174 0, 869508.91 923304.485 0,
+ 869785.893 923296.813 0, 870062.877 923289.157 0, 870339.861 923281.517 0, 870616.846 923273.894 0, 870893.831 923266.287 0, 871170.816 923258.696 0, 871447.802 923251.121 0, 871724.789 923243.563 0, 872001.775 923236.021 0, 872278.763 923228.496 0,
+ 872555.75 923220.986 0, 872832.739 923213.494 0, 873109.727 923206.017 0, 873386.716 923198.556 0, 873662.345 923191.149 0, 873940.696 923183.685 0, 874217.686 923176.273 0, 874494.677 923168.878 0, 874771.668 923161.499 0, 875048.66 923154.137 0,
+ 875325.652 923146.79 0, 875602.644 923139.461 0, 875879.637 923132.147 0, 876156.63 923124.85 0, 876433.624 923117.569 0, 876710.618 923110.304 0, 876987.613 923103.055 0, 877264.608 923095.823 0, 877541.604 923088.607 0, 877818.6 923081.408 0,
+ 878095.596 923074.225 0, 878372.593 923067.058 0, 878649.59 923059.907 0, 878926.588 923052.773 0, 879203.586 923045.655 0, 879480.584 923038.553 0, 879757.583 923031.468 0, 880034.582 923024.399 0, 880310.223 923017.381 0, 880168.39 917440.481 0,
+ 880026.561 911863.727 0))
+
+POLYGON ((893606.681 922698.017 0, 893331.019 922704.257 0, 893054.001 922710.543 0, 892776.984 922716.846 0, 892499.966 922723.165 0, 892222.949 922729.5 0, 891945.932 922735.852 0, 891668.916 922742.22 0, 891391.9 922748.604 0, 891114.885 922755.005 0,
+ 890837.869 922761.422 0, 890560.855 922767.855 0, 890283.84 922774.305 0, 890006.826 922780.77 0, 889729.813 922787.253 0, 889452.799 922793.751 0, 889175.786 922800.266 0, 888898.774 922806.797 0, 888621.762 922813.344 0, 888344.75 922819.908 0,
+ 888067.739 922826.488 0, 887790.728 922833.084 0, 887513.717 922839.697 0, 887236.707 922846.325 0, 886958.339 922853.003 0, 886682.688 922859.632 0, 886405.679 922866.31 0, 886128.67 922873.004 0, 885851.662 922879.714 0, 885574.654 922886.441 0,
+ 885297.647 922893.184 0, 885020.64 922899.943 0, 884743.633 922906.719 0, 884466.627 922913.511 0, 884189.621 922920.319 0, 883912.616 922927.144 0, 883635.611 922933.984 0, 883358.606 922940.842 0, 883081.602 922947.715 0, 882804.598 922954.605 0,
+ 882527.595 922961.511 0, 882250.592 922968.433 0, 881973.589 922975.372 0, 881696.587 922982.327 0, 881419.585 922989.298 0, 881142.584 922996.286 0, 880865.583 923003.289 0, 880588.582 923010.31 0, 880310.223 923017.381 0, 880452.059 928594.422 0,
+ 880593.898 934171.603 0, 880871.598 934164.548 0, 881147.942 934157.545 0, 881424.287 934150.557 0, 881700.632 934143.586 0, 881976.977 934136.632 0, 882253.322 934129.693 0, 882529.668 934122.771 0, 882806.015 934115.865 0, 883082.362 934108.975 0,
+ 883358.709 934102.102 0, 883635.057 934095.245 0, 883911.405 934088.404 0, 884187.753 934081.579 0, 884464.102 934074.771 0, 884740.452 934067.979 0, 885016.801 934061.203 0, 885293.151 934054.444 0, 885569.502 934047.7 0, 885845.853 934040.973 0,
+ 886122.204 934034.263 0, 886398.556 934027.568 0, 886674.908 934020.89 0, 886951.26 934014.228 0, 887226.258 934007.615 0, 887503.966 934000.953 0, 887780.32 933994.34 0, 888056.674 933987.743 0, 888333.029 933981.162 0, 888609.383 933974.598 0,
+ 888885.738 933968.05 0, 889162.094 933961.518 0, 889438.45 933955.002 0, 889714.806 933948.503 0, 889991.163 933942.02 0, 890267.52 933935.553 0, 890543.878 933929.103 0, 890820.236 933922.668 0, 891096.594 933916.25 0, 891372.952 933909.849 0,
+ 891649.311 933903.463 0, 891925.671 933897.094 0, 892202.031 933890.741 0, 892478.391 933884.405 0, 892754.751 933878.084 0, 893031.112 933871.78 0, 893307.473 933865.492 0, 893583.835 933859.221 0, 893858.843 933852.996 0, 893732.76 928275.437 0,
+ 893606.681 922698.017 0))
+
+POLYGON ((907124.634 933571.867 0, 906849.608 933577.314 0, 906573.229 933582.805 0, 906296.851 933588.312 0, 906020.474 933593.835 0, 905744.097 933599.375 0, 905467.72 933604.931 0, 905191.343 933610.503 0, 904914.967 933616.091 0, 904638.591 933621.696 0,
+ 904362.215 933627.317 0, 904085.84 933632.954 0, 903809.465 933638.608 0, 903533.091 933644.277 0, 903256.716 933649.963 0, 902980.342 933655.666 0, 902703.969 933661.384 0, 902427.595 933667.119 0, 902151.223 933672.87 0, 901874.85 933678.637 0,
+ 901598.478 933684.421 0, 901322.106 933690.221 0, 901045.734 933696.037 0, 900769.363 933701.869 0, 900491.639 933707.746 0, 900216.622 933713.583 0, 899940.251 933719.464 0, 899663.882 933725.361 0, 899387.512 933731.275 0, 899111.143 933737.205 0,
+ 898834.774 933743.151 0, 898558.406 933749.114 0, 898282.038 933755.093 0, 898005.67 933761.088 0, 897729.303 933767.099 0, 897452.935 933773.127 0, 897176.569 933779.17 0, 896900.203 933785.23 0, 896623.837 933791.307 0, 896347.471 933797.4 0,
+ 896071.106 933803.508 0, 895794.741 933809.634 0, 895518.376 933815.775 0, 895242.012 933821.933 0, 894965.648 933828.107 0, 894689.285 933834.297 0, 894412.922 933840.504 0, 894136.559 933846.726 0, 893858.843 933852.996 0, 893984.928 939430.689 0,
+ 894111.017 945008.512 0, 894388.073 945002.257 0, 894663.78 944996.049 0, 894939.486 944989.857 0, 895215.193 944983.682 0, 895490.9 944977.523 0, 895766.608 944971.38 0, 896042.316 944965.253 0, 896318.024 944959.142 0, 896593.732 944953.048 0,
+ 896869.441 944946.969 0, 897145.151 944940.908 0, 897420.861 944934.862 0, 897696.571 944928.832 0, 897972.281 944922.819 0, 898247.992 944916.822 0, 898523.703 944910.841 0, 898799.414 944904.877 0, 899075.126 944898.928 0, 899350.838 944892.996 0,
+ 899626.551 944887.08 0, 899902.264 944881.181 0, 900177.977 944875.297 0, 900453.691 944869.43 0, 900728.055 944863.608 0, 901005.119 944857.744 0, 901280.833 944851.926 0, 901556.548 944846.123 0, 901832.264 944840.337 0, 902107.979 944834.567 0,
+ 902383.695 944828.814 0, 902659.412 944823.076 0, 902935.128 944817.355 0, 903210.845 944811.65 0, 903486.563 944805.962 0, 903762.28 944800.289 0, 904037.998 944794.633 0, 904313.717 944788.993 0, 904589.435 944783.369 0, 904865.154 944777.762 0,
+ 905140.873 944772.17 0, 905416.593 944766.595 0, 905692.313 944761.036 0, 905968.033 944755.494 0, 906243.754 944749.967 0, 906519.475 944744.457 0, 906795.196 944738.963 0, 907070.918 944733.485 0, 907345.291 944728.05 0, 907234.961 939149.893 0,
+ 907124.634 933571.867 0))
+
+POLYGON ((920580.304 944484.979 0, 920305.915 944489.639 0, 920030.179 944494.338 0, 919754.443 944499.053 0, 919478.708 944503.784 0, 919202.973 944508.531 0, 918927.238 944513.295 0, 918651.503 944518.075 0, 918375.769 944522.871 0, 918100.035 944527.683 0,
+ 917824.301 944532.512 0, 917548.568 944537.357 0, 917272.835 944542.218 0, 916997.102 944547.095 0, 916721.369 944551.989 0, 916445.637 944556.898 0, 916169.905 944561.824 0, 915894.173 944566.766 0, 915618.442 944571.725 0, 915342.711 944576.7 0,
+ 915066.98 944581.69 0, 914791.249 944586.698 0, 914515.519 944591.721 0, 914239.789 944596.76 0, 913962.712 944601.841 0, 913688.33 944606.888 0, 913412.601 944611.976 0, 913136.872 944617.081 0, 912861.144 944622.202 0, 912585.416 944627.339 0,
+ 912309.688 944632.492 0, 912033.96 944637.661 0, 911758.233 944642.847 0, 911482.506 944648.049 0, 911206.78 944653.267 0, 910931.053 944658.501 0, 910655.327 944663.752 0, 910379.602 944669.018 0, 910103.876 944674.301 0, 909828.151 944679.601 0,
+ 909552.426 944684.916 0, 909276.702 944690.248 0, 909000.978 944695.596 0, 908725.254 944700.96 0, 908449.53 944706.34 0, 908173.807 944711.737 0, 907898.084 944717.149 0, 907622.362 944722.579 0, 907345.291 944728.05 0, 907455.623 950306.334 0,
+ 907565.958 955884.74 0, 907842.369 955879.281 0, 908117.435 955873.865 0, 908392.501 955868.465 0, 908667.567 955863.081 0, 908942.634 955857.714 0, 909217.701 955852.362 0, 909492.769 955847.027 0, 909767.837 955841.708 0, 910042.905 955836.405 0,
+ 910317.973 955831.119 0, 910593.042 955825.848 0, 910868.111 955820.594 0, 911143.18 955815.356 0, 911418.25 955810.134 0, 911693.32 955804.929 0, 911968.39 955799.739 0, 912243.461 955794.566 0, 912518.532 955789.409 0, 912793.603 955784.268 0,
+ 913068.674 955779.143 0, 913343.746 955774.035 0, 913618.818 955768.942 0, 913893.89 955763.866 0, 914167.618 955758.831 0, 914444.036 955753.763 0, 914719.109 955748.735 0, 914994.183 955743.724 0, 915269.257 955738.728 0, 915544.331 955733.75 0,
+ 915819.405 955728.787 0, 916094.48 955723.84 0, 916369.555 955718.91 0, 916644.63 955713.995 0, 916919.706 955709.097 0, 917194.782 955704.216 0, 917469.858 955699.35 0, 917744.934 955694.5 0, 918020.011 955689.667 0, 918295.088 955684.85 0,
+ 918570.166 955680.049 0, 918845.243 955675.265 0, 919120.321 955670.496 0, 919395.399 955665.744 0, 919670.478 955661.008 0, 919945.556 955656.288 0, 920220.635 955651.584 0, 920495.715 955646.896 0, 920769.451 955642.248 0, 920674.876 950063.552 0,
+ 920580.304 944484.979 0))
+
+POLYGON ((933973.576 955437.059 0, 933699.826 955440.934 0, 933424.734 955444.844 0, 933149.643 955448.771 0, 932874.552 955452.714 0, 932599.462 955456.673 0, 932324.371 955460.648 0, 932049.281 955464.639 0, 931774.191 955468.647 0, 931499.101 955472.67 0,
+ 931224.012 955476.71 0, 930948.922 955480.766 0, 930673.833 955484.839 0, 930398.744 955488.927 0, 930123.656 955493.032 0, 929848.567 955497.153 0, 929573.479 955501.29 0, 929298.391 955505.443 0, 929023.304 955509.613 0, 928748.216 955513.798 0,
+ 928473.129 955518 0, 928198.042 955522.218 0, 927922.956 955526.452 0, 927647.869 955530.703 0, 927371.441 955534.99 0, 927097.698 955539.252 0, 926822.612 955543.551 0, 926547.527 955547.866 0, 926272.441 955552.198 0, 925997.357 955556.545 0,
+ 925722.272 955560.909 0, 925447.188 955565.289 0, 925172.104 955569.685 0, 924897.02 955574.097 0, 924621.936 955578.526 0, 924346.853 955582.97 0, 924071.77 955587.431 0, 923796.687 955591.908 0, 923521.605 955596.402 0, 923246.522 955600.911 0,
+ 922971.44 955605.437 0, 922696.359 955609.979 0, 922421.277 955614.537 0, 922146.196 955619.111 0, 921871.115 955623.701 0, 921596.034 955628.308 0, 921320.954 955632.931 0, 921045.874 955637.57 0, 920769.451 955642.248 0, 920864.027 961221.062 0,
+ 920958.605 966799.99 0, 921234.368 966795.323 0, 921508.792 966790.695 0, 921783.215 966786.083 0, 922057.639 966781.488 0, 922332.063 966776.908 0, 922606.488 966772.345 0, 922880.913 966767.798 0, 923155.338 966763.267 0, 923429.763 966758.752 0,
+ 923704.188 966754.253 0, 923978.614 966749.771 0, 924253.04 966745.304 0, 924527.466 966740.854 0, 924801.893 966736.42 0, 925076.32 966732.002 0, 925350.747 966727.6 0, 925625.174 966723.215 0, 925899.602 966718.845 0, 926174.03 966714.492 0,
+ 926448.458 966710.155 0, 926722.886 966705.834 0, 926997.315 966701.529 0, 927271.744 966697.24 0, 927544.833 966692.988 0, 927820.602 966688.711 0, 928095.032 966684.471 0, 928369.462 966680.247 0, 928643.892 966676.039 0, 928918.322 966671.847 0,
+ 929192.753 966667.671 0, 929467.184 966663.512 0, 929741.615 966659.368 0, 930016.046 966655.241 0, 930290.478 966651.13 0, 930564.91 966647.035 0, 930839.342 966642.957 0, 931113.774 966638.894 0, 931388.207 966634.848 0, 931662.639 966630.817 0,
+ 931937.072 966626.803 0, 932211.506 966622.805 0, 932485.939 966618.823 0, 932760.373 966614.858 0, 933034.807 966610.908 0, 933309.241 966606.975 0, 933583.676 966603.058 0, 933858.11 966599.157 0, 934131.207 966595.291 0, 934052.391 961016.117 0,
+ 933973.576 955437.059 0))
+
+POLYGON ((947304.335 966427.807 0, 947031.226 966430.902 0, 946756.781 966434.027 0, 946482.337 966437.169 0, 946207.893 966440.327 0, 945933.449 966443.501 0, 945659.005 966446.692 0, 945384.561 966449.898 0, 945110.118 966453.121 0, 944835.675 966456.36 0,
+ 944561.231 966459.615 0, 944286.789 966462.886 0, 944012.346 966466.173 0, 943737.903 966469.476 0, 943463.461 966472.796 0, 943189.019 966476.132 0, 942914.577 966479.483 0, 942640.135 966482.851 0, 942365.694 966486.236 0, 942091.252 966489.636 0,
+ 941816.811 966493.052 0, 941542.37 966496.485 0, 941267.93 966499.934 0, 940993.489 966503.399 0, 940717.712 966506.897 0, 940444.609 966510.377 0, 940170.169 966513.89 0, 939895.729 966517.42 0, 939621.29 966520.966 0, 939346.85 966524.528 0,
+ 939072.411 966528.106 0, 938797.972 966531.7 0, 938523.534 966535.31 0, 938249.095 966538.936 0, 937974.657 966542.579 0, 937700.219 966546.238 0, 937425.781 966549.913 0, 937151.344 966553.604 0, 936876.906 966557.311 0, 936602.469 966561.034 0,
+ 936328.032 966564.774 0, 936053.596 966568.53 0, 935779.159 966572.301 0, 935504.723 966576.089 0, 935230.287 966579.894 0, 934955.851 966583.714 0, 934681.416 966587.55 0, 934406.98 966591.403 0, 934131.207 966595.291 0, 934210.025 972174.574 0,
+ 934288.844 977753.964 0, 934563.957 977750.086 0, 934837.736 977746.242 0, 935111.515 977742.415 0, 935385.294 977738.604 0, 935659.073 977734.809 0, 935932.852 977731.03 0, 936206.632 977727.267 0, 936480.412 977723.52 0, 936754.192 977719.79 0,
+ 937027.973 977716.075 0, 937301.753 977712.377 0, 937575.534 977708.695 0, 937849.315 977705.029 0, 938123.096 977701.379 0, 938396.878 977697.745 0, 938670.659 977694.127 0, 938944.441 977690.525 0, 939218.223 977686.94 0, 939492.005 977683.37 0,
+ 939765.788 977679.817 0, 940039.571 977676.28 0, 940313.353 977672.759 0, 940587.137 977669.254 0, 940859.586 977665.782 0, 941134.703 977662.292 0, 941408.487 977658.835 0, 941682.271 977655.395 0, 941956.055 977651.971 0, 942229.84 977648.562 0,
+ 942503.624 977645.17 0, 942777.409 977641.794 0, 943051.194 977638.434 0, 943324.979 977635.09 0, 943598.764 977631.762 0, 943872.55 977628.451 0, 944146.335 977625.155 0, 944420.121 977621.876 0, 944693.907 977618.613 0, 944967.694 977615.366 0,
+ 945241.48 977612.135 0, 945515.267 977608.92 0, 945789.054 977605.721 0, 946062.841 977602.538 0, 946336.628 977599.372 0, 946610.415 977596.221 0, 946884.203 977593.087 0, 947157.991 977589.969 0, 947430.446 977586.881 0, 947367.39 972007.291 0,
+ 947304.335 966427.807 0))
+
+POLYGON ((960572.467 977456.927 0, 960300.003 977459.244 0, 960026.207 977461.589 0, 959752.412 977463.95 0, 959478.616 977466.327 0, 959204.821 977468.72 0, 958931.026 977471.129 0, 958657.232 977473.554 0, 958383.437 977475.996 0, 958109.642 977478.453 0,
+ 957835.848 977480.927 0, 957562.054 977483.417 0, 957288.26 977485.923 0, 957014.466 977488.445 0, 956740.672 977490.983 0, 956466.878 977493.537 0, 956193.085 977496.107 0, 955919.292 977498.694 0, 955645.498 977501.296 0, 955371.705 977503.915 0,
+ 955097.912 977506.55 0, 954824.12 977509.201 0, 954550.327 977511.868 0, 954276.535 977514.551 0, 954001.411 977517.263 0, 953728.951 977519.965 0, 953455.159 977522.697 0, 953181.367 977525.444 0, 952907.575 977528.208 0, 952633.784 977530.988 0,
+ 952359.993 977533.784 0, 952086.201 977536.596 0, 951812.41 977539.424 0, 951538.62 977542.268 0, 951264.829 977545.129 0, 950991.039 977548.005 0, 950717.248 977550.898 0, 950443.458 977553.807 0, 950169.668 977556.732 0, 949895.879 977559.672 0,
+ 949622.089 977562.63 0, 949348.3 977565.603 0, 949074.51 977568.592 0, 948800.721 977571.598 0, 948526.933 977574.619 0, 948253.144 977577.657 0, 947979.355 977580.711 0, 947705.567 977583.78 0, 947430.446 977586.881 0, 947493.503 983166.574 0,
+ 947556.561 988746.365 0, 947831.023 988743.271 0, 948104.154 988740.209 0, 948377.286 988737.162 0, 948650.418 988734.132 0, 948923.55 988731.118 0, 949196.682 988728.119 0, 949469.814 988725.137 0, 949742.947 988722.171 0, 950016.08 988719.221 0,
+ 950289.213 988716.287 0, 950562.346 988713.369 0, 950835.479 988710.468 0, 951108.613 988707.582 0, 951381.746 988704.712 0, 951654.88 988701.859 0, 951928.014 988699.021 0, 952201.148 988696.2 0, 952474.282 988693.395 0, 952747.417 988690.605 0,
+ 953020.551 988687.832 0, 953293.686 988685.075 0, 953566.821 988682.334 0, 953839.956 988679.609 0, 954111.762 988676.914 0, 954386.227 988674.208 0, 954659.362 988671.531 0, 954932.498 988668.87 0, 955205.634 988666.226 0, 955478.77 988663.597 0,
+ 955751.906 988660.985 0, 956025.042 988658.389 0, 956298.179 988655.808 0, 956571.316 988653.244 0, 956844.452 988650.696 0, 957117.589 988648.164 0, 957390.726 988645.648 0, 957663.864 988643.148 0, 957937.001 988640.665 0, 958210.139 988638.197 0,
+ 958483.276 988635.745 0, 958756.414 988633.31 0, 959029.552 988630.89 0, 959302.69 988628.487 0, 959575.828 988626.099 0, 959848.967 988623.728 0, 960122.105 988621.373 0, 960395.244 988619.034 0, 960667.055 988616.722 0, 960619.761 983036.775 0,
+ 960572.467 977456.927 0))
+
+POLYGON ((973777.862 988524.119 0, 973506.044 988525.663 0, 973232.899 988527.231 0, 972959.755 988528.814 0, 972686.611 988530.414 0, 972413.467 988532.029 0, 972140.324 988533.661 0, 971867.18 988535.309 0, 971594.036 988536.973 0, 971320.893 988538.653 0,
+ 971047.749 988540.349 0, 970774.606 988542.061 0, 970501.463 988543.789 0, 970228.32 988545.533 0, 969955.177 988547.294 0, 969682.034 988549.07 0, 969408.891 988550.863 0, 969135.748 988552.671 0, 968862.606 988554.496 0, 968589.463 988556.337 0,
+ 968316.321 988558.193 0, 968043.179 988560.066 0, 967770.037 988561.955 0, 967496.895 988563.86 0, 967222.426 988565.791 0, 966950.611 988567.719 0, 966677.469 988569.672 0, 966404.328 988571.641 0, 966131.186 988573.627 0, 965858.045 988575.628 0,
+ 965584.903 988577.646 0, 965311.762 988579.679 0, 965038.621 988581.729 0, 964765.481 988583.795 0, 964492.34 988585.877 0, 964219.199 988587.975 0, 963946.059 988590.089 0, 963672.918 988592.219 0, 963399.778 988594.365 0, 963126.638 988596.527 0,
+ 962853.498 988598.706 0, 962580.358 988600.9 0, 962307.218 988603.11 0, 962034.079 988605.337 0, 961760.939 988607.58 0, 961487.8 988609.838 0, 961214.661 988612.113 0, 960941.522 988614.404 0, 960667.055 988616.722 0, 960714.35 994196.763 0,
+ 960761.646 999776.894 0, 961035.452 999774.581 0, 961307.935 999772.296 0, 961580.417 999770.027 0, 961852.9 999767.773 0, 962125.382 999765.536 0, 962397.865 999763.315 0, 962670.348 999761.11 0, 962942.831 999758.921 0, 963215.314 999756.747 0,
+ 963487.797 999754.59 0, 963760.28 999752.449 0, 964032.764 999750.324 0, 964305.248 999748.215 0, 964577.731 999746.123 0, 964850.215 999744.046 0, 965122.699 999741.985 0, 965395.183 999739.94 0, 965667.668 999737.911 0, 965940.152 999735.899 0,
+ 966212.636 999733.902 0, 966485.121 999731.921 0, 966757.606 999729.957 0, 967030.091 999728.008 0, 967301.252 999726.085 0, 967575.061 999724.159 0, 967847.546 999722.259 0, 968120.031 999720.374 0, 968392.516 999718.506 0, 968665.002 999716.654 0,
+ 968937.487 999714.817 0, 969209.973 999712.997 0, 969482.459 999711.193 0, 969754.945 999709.405 0, 970027.431 999707.632 0, 970299.917 999705.876 0, 970572.403 999704.136 0, 970844.89 999702.412 0, 971117.376 999700.704 0, 971389.863 999699.012 0,
+ 971662.349 999697.336 0, 971934.836 999695.677 0, 972207.323 999694.033 0, 972479.81 999692.405 0, 972752.297 999690.793 0, 973024.784 999689.197 0, 973297.271 999687.618 0, 973569.758 999686.054 0, 973840.923 999684.514 0, 973809.392 994104.272 0,
+ 973777.862 988524.119 0))
+
+POLYGON ((986920.409 999629.086 0, 986649.239 999629.86 0, 986376.749 999630.653 0, 986104.258 999631.463 0, 985831.767 999632.289 0, 985559.277 999633.131 0, 985286.787 999633.989 0, 985014.296 999634.863 0, 984741.806 999635.753 0, 984469.316 999636.659 0,
+ 984196.825 999637.581 0, 983924.335 999638.52 0, 983651.845 999639.474 0, 983379.355 999640.444 0, 983106.865 999641.43 0, 982834.375 999642.433 0, 982561.885 999643.451 0, 982289.395 999644.485 0, 982016.906 999645.536 0, 981744.416 999646.602 0,
+ 981471.926 999647.685 0, 981199.437 999648.783 0, 980926.947 999649.898 0, 980654.458 999651.028 0, 980380.647 999652.181 0, 980109.479 999653.338 0, 979836.99 999654.517 0, 979564.501 999655.711 0, 979292.011 999656.922 0, 979019.522 999658.149 0,
+ 978747.033 999659.392 0, 978474.545 999660.651 0, 978202.056 999661.926 0, 977929.567 999663.217 0, 977657.078 999664.524 0, 977384.59 999665.847 0, 977112.101 999667.186 0, 976839.613 999668.541 0, 976567.125 999669.912 0, 976294.636 999671.3 0,
+ 976022.148 999672.703 0, 975749.66 999674.122 0, 975477.172 999675.558 0, 975204.684 999677.009 0, 974932.196 999678.476 0, 974659.708 999679.96 0, 974387.221 999681.459 0, 974114.733 999682.975 0, 973840.923 999684.514 0, 973872.454 1005264.842 0,
+ 973903.986 1010845.252 0, 974177.136 1010843.717 0, 974448.967 1010842.205 0, 974720.798 1010840.709 0, 974992.628 1010839.229 0, 975264.459 1010837.765 0, 975536.29 1010836.317 0, 975808.122 1010834.885 0, 976079.953 1010833.469 0, 976351.784 1010832.07 0,
+ 976623.615 1010830.686 0, 976895.447 1010829.318 0, 977167.278 1010827.966 0, 977439.11 1010826.63 0, 977710.942 1010825.31 0, 977982.773 1010824.006 0, 978254.605 1010822.718 0, 978526.437 1010821.446 0, 978798.269 1010820.191 0, 979070.101 1010818.951 0,
+ 979341.933 1010817.727 0, 979613.765 1010816.519 0, 979885.598 1010815.327 0, 980157.43 1010814.151 0, 980427.944 1010812.997 0, 980701.095 1010811.847 0, 980972.927 1010810.719 0, 981244.76 1010809.608 0, 981516.593 1010808.512 0, 981788.425 1010807.432 0,
+ 982060.258 1010806.368 0, 982332.091 1010805.32 0, 982603.924 1010804.288 0, 982875.757 1010803.272 0, 983147.59 1010802.272 0, 983419.423 1010801.288 0, 983691.256 1010800.32 0, 983963.09 1010799.369 0, 984234.923 1010798.433 0, 984506.756 1010797.513 0,
+ 984778.589 1010796.609 0, 985050.423 1010795.721 0, 985322.256 1010794.849 0, 985594.09 1010793.993 0, 985865.924 1010793.153 0, 986137.757 1010792.329 0, 986409.591 1010791.521 0, 986681.425 1010790.73 0, 986951.941 1010789.957 0, 986936.175 1005209.481 0,
+ 986920.409 999629.086 0))
+
+POLYGON ((1000000 1010771.526 0, 999729.48 1010771.534 0, 999457.645 1010771.558 0, 999185.811 1010771.597 0, 998913.976 1010771.653 0, 998642.141 1010771.725 0, 998370.306 1010771.813 0, 998098.471 1010771.917 0, 997826.636 1010772.037 0, 997554.801 1010772.173 0,
+ 997282.967 1010772.325 0, 997011.132 1010772.493 0, 996739.297 1010772.677 0, 996467.462 1010772.877 0, 996195.627 1010773.093 0, 995923.793 1010773.325 0, 995651.958 1010773.572 0, 995380.123 1010773.836 0, 995108.288 1010774.116 0, 994836.454 1010774.412 0,
+ 994564.619 1010774.724 0, 994292.784 1010775.052 0, 994020.95 1010775.396 0, 993749.115 1010775.756 0, 993475.964 1010776.134 0, 993205.446 1010776.524 0, 992933.611 1010776.932 0, 992661.777 1010777.356 0, 992389.942 1010777.795 0, 992118.108 1010778.251 0,
+ 991846.273 1010778.723 0, 991574.439 1010779.211 0, 991302.604 1010779.715 0, 991030.77 1010780.235 0, 990758.935 1010780.771 0, 990487.101 1010781.323 0, 990215.267 1010781.891 0, 989943.433 1010782.475 0, 989671.598 1010783.075 0, 989399.764 1010783.69 0,
+ 989127.93 1010784.322 0, 988856.096 1010784.97 0, 988584.262 1010785.634 0, 988312.428 1010786.314 0, 988040.594 1010787.01 0, 987768.76 1010787.722 0, 987496.926 1010788.45 0, 987225.092 1010789.194 0, 986951.941 1010789.957 0, 986967.707 1016370.512 0,
+ 986983.473 1021951.14 0, 987255.965 1021950.378 0, 987527.141 1021949.636 0, 987798.318 1021948.91 0, 988069.495 1021948.199 0, 988340.673 1021947.505 0, 988611.85 1021946.827 0, 988883.027 1021946.165 0, 989154.204 1021945.518 0, 989425.381 1021944.888 0,
+ 989696.558 1021944.273 0, 989967.736 1021943.675 0, 990238.913 1021943.092 0, 990510.09 1021942.526 0, 990781.268 1021941.975 0, 991052.445 1021941.441 0, 991323.623 1021940.922 0, 991594.8 1021940.419 0, 991865.978 1021939.933 0, 992137.155 1021939.462 0,
+ 992408.333 1021939.007 0, 992679.51 1021938.568 0, 992950.688 1021938.145 0, 993221.866 1021937.738 0, 993491.73 1021937.349 0, 993764.221 1021936.972 0, 994035.399 1021936.613 0, 994306.577 1021936.27 0, 994577.754 1021935.943 0, 994848.932 1021935.632 0,
+ 995120.11 1021935.337 0, 995391.288 1021935.058 0, 995662.465 1021934.794 0, 995933.643 1021934.547 0, 996204.821 1021934.316 0, 996475.999 1021934.1 0, 996747.177 1021933.901 0, 997018.355 1021933.717 0, 997289.533 1021933.55 0, 997560.711 1021933.398 0,
+ 997831.889 1021933.263 0, 998103.066 1021933.143 0, 998374.244 1021933.039 0, 998645.422 1021932.952 0, 998916.6 1021932.88 0, 999187.778 1021932.824 0, 999458.956 1021932.784 0, 999730.134 1021932.76 0, 1000000 1021932.753 0, 1000000 1016352.102 0,
+ 1000000 1010771.526 0))
+
+POLYGON ((1013016.527 1021951.14 0, 1012746.66 1021950.385 0, 1012475.483 1021949.643 0, 1012204.306 1021948.917 0, 1011933.129 1021948.206 0, 1011661.952 1021947.512 0, 1011390.774 1021946.833 0, 1011119.597 1021946.171 0, 1010848.42 1021945.524 0, 1010577.243 1021944.894 0,
+ 1010306.066 1021944.279 0, 1010034.888 1021943.681 0, 1009763.711 1021943.098 0, 1009492.534 1021942.531 0, 1009221.356 1021941.981 0, 1008950.179 1021941.446 0, 1008679.001 1021940.927 0, 1008407.824 1021940.424 0, 1008136.646 1021939.937 0, 1007865.469 1021939.466 0,
+ 1007594.291 1021939.011 0, 1007323.114 1021938.572 0, 1007051.936 1021938.149 0, 1006780.758 1021937.742 0, 1006508.27 1021937.349 0, 1006238.403 1021936.976 0, 1005967.225 1021936.617 0, 1005696.048 1021936.274 0, 1005424.87 1021935.946 0, 1005153.692 1021935.635 0,
+ 1004882.514 1021935.34 0, 1004611.336 1021935.06 0, 1004340.159 1021934.797 0, 1004068.981 1021934.549 0, 1003797.803 1021934.318 0, 1003526.625 1021934.102 0, 1003255.447 1021933.903 0, 1002984.269 1021933.719 0, 1002713.091 1021933.551 0, 1002441.914 1021933.4 0,
+ 1002170.736 1021933.264 0, 1001899.558 1021933.144 0, 1001628.38 1021933.04 0, 1001357.202 1021932.952 0, 1001086.024 1021932.881 0, 1000814.846 1021932.825 0, 1000543.668 1021932.785 0, 1000272.49 1021932.761 0, 1000000 1021932.753 0, 1000000 1027513.472 0,
+ 1000000 1033094.257 0, 1000271.83 1033094.265 0, 1000542.351 1033094.289 0, 1000812.872 1033094.328 0, 1001083.393 1033094.384 0, 1001353.914 1033094.456 0, 1001624.435 1033094.544 0, 1001894.956 1033094.647 0, 1002165.477 1033094.767 0, 1002435.998 1033094.902 0,
+ 1002706.519 1033095.054 0, 1002977.04 1033095.221 0, 1003247.561 1033095.404 0, 1003518.082 1033095.603 0, 1003788.603 1033095.818 0, 1004059.123 1033096.049 0, 1004329.644 1033096.296 0, 1004600.165 1033096.559 0, 1004870.686 1033096.837 0, 1005141.207 1033097.132 0,
+ 1005411.728 1033097.443 0, 1005682.249 1033097.769 0, 1005952.769 1033098.112 0, 1006223.29 1033098.47 0, 1006492.503 1033098.842 0, 1006764.332 1033099.234 0, 1007034.852 1033099.64 0, 1007305.373 1033100.062 0, 1007575.894 1033100.5 0, 1007846.414 1033100.954 0,
+ 1008116.935 1033101.424 0, 1008387.456 1033101.91 0, 1008657.976 1033102.411 0, 1008928.497 1033102.929 0, 1009199.017 1033103.462 0, 1009469.538 1033104.012 0, 1009740.058 1033104.577 0, 1010010.578 1033105.158 0, 1010281.099 1033105.755 0, 1010551.619 1033106.369 0,
+ 1010822.139 1033106.998 0, 1011092.659 1033107.642 0, 1011363.18 1033108.303 0, 1011633.7 1033108.98 0, 1011904.22 1033109.673 0, 1012174.74 1033110.381 0, 1012445.26 1033111.106 0, 1012715.78 1033111.846 0, 1012984.993 1033112.599 0, 1013000.76 1027531.837 0,
+ 1013016.527 1021951.14 0))
+
+POLYGON ((1025969.883 1033167.627 0, 1025700.671 1033166.113 0, 1025430.154 1033164.609 0, 1025159.637 1033163.12 0, 1024889.12 1033161.647 0, 1024618.603 1033160.19 0, 1024348.086 1033158.749 0, 1024077.569 1033157.324 0, 1023807.051 1033155.915 0, 1023536.534 1033154.521 0,
+ 1023266.016 1033153.144 0, 1022995.499 1033151.782 0, 1022724.981 1033150.437 0, 1022454.463 1033149.107 0, 1022183.945 1033147.794 0, 1021913.428 1033146.496 0, 1021642.91 1033145.214 0, 1021372.392 1033143.948 0, 1021101.873 1033142.698 0, 1020831.355 1033141.464 0,
+ 1020560.837 1033140.246 0, 1020290.319 1033139.044 0, 1020019.8 1033137.858 0, 1019749.282 1033136.687 0, 1019477.457 1033135.527 0, 1019208.245 1033134.394 0, 1018937.726 1033133.272 0, 1018667.207 1033132.165 0, 1018396.688 1033131.074 0, 1018126.17 1033129.999 0,
+ 1017855.651 1033128.94 0, 1017585.132 1033127.898 0, 1017314.613 1033126.87 0, 1017044.093 1033125.859 0, 1016773.574 1033124.864 0, 1016503.055 1033123.885 0, 1016232.536 1033122.921 0, 1015962.016 1033121.974 0, 1015691.497 1033121.042 0, 1015420.977 1033120.127 0,
+ 1015150.458 1033119.227 0, 1014879.938 1033118.343 0, 1014609.419 1033117.476 0, 1014338.899 1033116.624 0, 1014068.379 1033115.788 0, 1013797.86 1033114.968 0, 1013527.34 1033114.163 0, 1013256.82 1033113.375 0, 1012984.993 1033112.599 0, 1012969.226 1038693.422 0,
+ 1012953.459 1044274.302 0, 1013224.626 1044275.076 0, 1013494.489 1044275.863 0, 1013764.352 1044276.665 0, 1014034.214 1044277.483 0, 1014304.077 1044278.317 0, 1014573.94 1044279.167 0, 1014843.803 1044280.033 0, 1015113.665 1044280.914 0, 1015383.528 1044281.812 0,
+ 1015653.39 1044282.725 0, 1015923.253 1044283.654 0, 1016193.115 1044284.599 0, 1016462.977 1044285.561 0, 1016732.84 1044286.537 0, 1017002.702 1044287.53 0, 1017272.564 1044288.539 0, 1017542.426 1044289.564 0, 1017812.288 1044290.604 0, 1018082.15 1044291.66 0,
+ 1018352.012 1044292.733 0, 1018621.874 1044293.821 0, 1018891.736 1044294.925 0, 1019161.598 1044296.044 0, 1019430.157 1044297.175 0, 1019701.321 1044298.332 0, 1019971.182 1044299.499 0, 1020241.044 1044300.683 0, 1020510.905 1044301.882 0, 1020780.766 1044303.097 0,
+ 1021050.628 1044304.328 0, 1021320.489 1044305.575 0, 1021590.35 1044306.838 0, 1021860.211 1044308.117 0, 1022130.072 1044309.411 0, 1022399.933 1044310.722 0, 1022669.794 1044312.048 0, 1022939.654 1044313.39 0, 1023209.515 1044314.749 0, 1023479.375 1044316.123 0,
+ 1023749.236 1044317.512 0, 1024019.096 1044318.918 0, 1024288.957 1044320.34 0, 1024558.817 1044321.777 0, 1024828.677 1044323.231 0, 1025098.537 1044324.7 0, 1025368.397 1044326.185 0, 1025638.257 1044327.686 0, 1025906.815 1044329.196 0, 1025938.349 1038748.383 0,
+ 1025969.883 1033167.627 0))
+
+POLYGON ((1038859.964 1044420.685 0, 1038591.409 1044418.417 0, 1038321.555 1044416.153 0, 1038051.7 1044413.906 0, 1037781.845 1044411.674 0, 1037511.99 1044409.458 0, 1037242.135 1044407.258 0, 1036972.28 1044405.074 0, 1036702.425 1044402.906 0, 1036432.569 1044400.754 0,
+ 1036162.714 1044398.617 0, 1035892.858 1044396.497 0, 1035623.002 1044394.392 0, 1035353.146 1044392.303 0, 1035083.29 1044390.231 0, 1034813.434 1044388.174 0, 1034543.577 1044386.132 0, 1034273.721 1044384.107 0, 1034003.864 1044382.098 0, 1033734.008 1044380.104 0,
+ 1033464.151 1044378.127 0, 1033194.294 1044376.165 0, 1032924.437 1044374.219 0, 1032654.58 1044372.289 0, 1032383.422 1044370.366 0, 1032114.865 1044368.477 0, 1031845.008 1044366.595 0, 1031575.15 1044364.729 0, 1031305.292 1044362.878 0, 1031035.435 1044361.043 0,
+ 1030765.577 1044359.225 0, 1030495.719 1044357.422 0, 1030225.86 1044355.635 0, 1029956.002 1044353.864 0, 1029686.144 1044352.109 0, 1029416.285 1044350.369 0, 1029146.427 1044348.646 0, 1028876.568 1044346.938 0, 1028606.709 1044345.247 0, 1028336.851 1044343.571 0,
+ 1028066.992 1044341.911 0, 1027797.133 1044340.267 0, 1027527.274 1044338.639 0, 1027257.414 1044337.026 0, 1026987.555 1044335.43 0, 1026717.696 1044333.85 0, 1026447.836 1044332.285 0, 1026177.976 1044330.736 0, 1025906.815 1044329.196 0, 1025875.281 1049910.062 0,
+ 1025843.746 1055490.975 0, 1026114.247 1055492.512 0, 1026383.45 1055494.057 0, 1026652.653 1055495.618 0, 1026921.855 1055497.194 0, 1027191.057 1055498.787 0, 1027460.26 1055500.395 0, 1027729.462 1055502.019 0, 1027998.664 1055503.659 0, 1028267.866 1055505.315 0,
+ 1028537.068 1055506.987 0, 1028806.27 1055508.674 0, 1029075.471 1055510.378 0, 1029344.673 1055512.097 0, 1029613.874 1055513.832 0, 1029883.076 1055515.583 0, 1030152.277 1055517.35 0, 1030421.478 1055519.132 0, 1030690.679 1055520.931 0, 1030959.88 1055522.745 0,
+ 1031229.081 1055524.575 0, 1031498.282 1055526.421 0, 1031767.483 1055528.283 0, 1032036.683 1055530.161 0, 1032304.586 1055532.045 0, 1032575.084 1055533.964 0, 1032844.284 1055535.889 0, 1033113.484 1055537.83 0, 1033382.684 1055539.787 0, 1033651.884 1055541.76 0,
+ 1033921.084 1055543.748 0, 1034190.283 1055545.753 0, 1034459.483 1055547.773 0, 1034728.682 1055549.809 0, 1034997.881 1055551.861 0, 1035267.081 1055553.929 0, 1035536.28 1055556.013 0, 1035805.478 1055558.112 0, 1036074.677 1055560.228 0, 1036343.876 1055562.359 0,
+ 1036613.074 1055564.506 0, 1036882.273 1055566.669 0, 1037151.471 1055568.848 0, 1037420.669 1055571.042 0, 1037689.867 1055573.253 0, 1037959.065 1055575.479 0, 1038228.263 1055577.721 0, 1038497.46 1055579.979 0, 1038765.362 1055582.242 0, 1038812.663 1050001.439 0,
+ 1038859.964 1044420.685 0))
+
+POLYGON ((1051686.667 1055710.014 0, 1051418.772 1055706.994 0, 1051149.582 1055703.976 0, 1050880.391 1055700.973 0, 1050611.201 1055697.986 0, 1050342.01 1055695.015 0, 1050072.819 1055692.06 0, 1049803.628 1055689.121 0, 1049534.437 1055686.197 0, 1049265.246 1055683.29 0,
+ 1048996.054 1055680.398 0, 1048726.862 1055677.522 0, 1048457.67 1055674.662 0, 1048188.478 1055671.818 0, 1047919.286 1055668.99 0, 1047650.094 1055666.177 0, 1047380.901 1055663.38 0, 1047111.708 1055660.6 0, 1046842.516 1055657.835 0, 1046573.323 1055655.085 0,
+ 1046304.129 1055652.352 0, 1046034.936 1055649.635 0, 1045765.742 1055646.933 0, 1045496.549 1055644.247 0, 1045226.06 1055641.565 0, 1044958.161 1055638.923 0, 1044688.967 1055636.285 0, 1044419.772 1055633.663 0, 1044150.578 1055631.056 0, 1043881.383 1055628.466 0,
+ 1043612.189 1055625.891 0, 1043342.994 1055623.332 0, 1043073.799 1055620.789 0, 1042804.603 1055618.261 0, 1042535.408 1055615.75 0, 1042266.213 1055613.254 0, 1041997.017 1055610.774 0, 1041727.821 1055608.31 0, 1041458.625 1055605.862 0, 1041189.429 1055603.43 0,
+ 1040920.233 1055601.014 0, 1040651.036 1055598.613 0, 1040381.84 1055596.228 0, 1040112.643 1055593.859 0, 1039843.446 1055591.506 0, 1039574.25 1055589.169 0, 1039305.052 1055586.848 0, 1039035.855 1055584.542 0, 1038765.362 1055582.242 0, 1038718.06 1061163.088 0,
+ 1038670.757 1066743.974 0, 1038940.591 1066746.269 0, 1039209.131 1066748.569 0, 1039477.671 1066750.885 0, 1039746.211 1066753.216 0, 1040014.751 1066755.563 0, 1040283.291 1066757.927 0, 1040551.83 1066760.305 0, 1040820.37 1066762.7 0, 1041088.909 1066765.111 0,
+ 1041357.448 1066767.537 0, 1041625.987 1066769.979 0, 1041894.526 1066772.437 0, 1042163.065 1066774.911 0, 1042431.603 1066777.4 0, 1042700.142 1066779.906 0, 1042968.68 1066782.427 0, 1043237.218 1066784.964 0, 1043505.756 1066787.516 0, 1043774.294 1066790.085 0,
+ 1044042.832 1066792.669 0, 1044311.369 1066795.27 0, 1044579.906 1066797.886 0, 1044848.444 1066800.517 0, 1045115.689 1066803.152 0, 1045385.518 1066805.828 0, 1045654.054 1066808.508 0, 1045922.591 1066811.203 0, 1046191.127 1066813.913 0, 1046459.664 1066816.64 0,
+ 1046728.2 1066819.382 0, 1046996.736 1066822.141 0, 1047265.271 1066824.915 0, 1047533.807 1066827.705 0, 1047802.342 1066830.51 0, 1048070.878 1066833.332 0, 1048339.413 1066836.169 0, 1048607.948 1066839.022 0, 1048876.483 1066841.891 0, 1049145.017 1066844.775 0,
+ 1049413.552 1066847.676 0, 1049682.086 1066850.592 0, 1049950.62 1066853.524 0, 1050219.154 1066856.472 0, 1050487.688 1066859.436 0, 1050756.221 1066862.415 0, 1051024.755 1066865.411 0, 1051293.288 1066868.422 0, 1051560.53 1066871.434 0, 1051623.599 1061290.704 0,
+ 1051686.667 1055710.014 0))
+
+POLYGON ((1064449.891 1067035.31 0, 1064182.656 1067031.542 0, 1063914.132 1067027.773 0, 1063645.609 1067024.019 0, 1063377.085 1067020.281 0, 1063108.56 1067016.558 0, 1062840.036 1067012.852 0, 1062571.511 1067009.161 0, 1062302.986 1067005.486 0, 1062034.461 1067001.827 0,
+ 1061765.935 1066998.184 0, 1061497.41 1066994.556 0, 1061228.884 1066990.944 0, 1060960.358 1066987.348 0, 1060691.832 1066983.768 0, 1060423.305 1066980.204 0, 1060154.779 1066976.656 0, 1059886.252 1066973.123 0, 1059617.725 1066969.606 0, 1059349.198 1066966.105 0,
+ 1059080.67 1066962.62 0, 1058812.142 1066959.15 0, 1058543.614 1066955.696 0, 1058275.086 1066952.259 0, 1058005.268 1066948.82 0, 1057738.03 1066945.43 0, 1057469.501 1066942.04 0, 1057200.972 1066938.665 0, 1056932.443 1066935.306 0, 1056663.914 1066931.963 0,
+ 1056395.384 1066928.636 0, 1056126.854 1066925.325 0, 1055858.325 1066922.029 0, 1055589.794 1066918.749 0, 1055321.264 1066915.485 0, 1055052.734 1066912.237 0, 1054784.203 1066909.005 0, 1054515.672 1066905.788 0, 1054247.141 1066902.587 0, 1053978.61 1066899.402 0,
+ 1053710.079 1066896.233 0, 1053441.547 1066893.08 0, 1053173.015 1066889.942 0, 1052904.483 1066886.821 0, 1052635.951 1066883.715 0, 1052367.419 1066880.624 0, 1052098.886 1066877.55 0, 1051830.354 1066874.492 0, 1051560.53 1066871.434 0, 1051497.46 1072452.2 0,
+ 1051434.391 1078032.996 0, 1051703.554 1078036.046 0, 1051971.43 1078039.097 0, 1052239.306 1078042.164 0, 1052507.181 1078045.246 0, 1052775.056 1078048.345 0, 1053042.931 1078051.459 0, 1053310.806 1078054.589 0, 1053578.681 1078057.734 0, 1053846.555 1078060.896 0,
+ 1054114.429 1078064.073 0, 1054382.303 1078067.266 0, 1054650.177 1078070.475 0, 1054918.051 1078073.699 0, 1055185.925 1078076.939 0, 1055453.798 1078080.195 0, 1055721.671 1078083.467 0, 1055989.544 1078086.755 0, 1056257.417 1078090.058 0, 1056525.289 1078093.377 0,
+ 1056793.162 1078096.712 0, 1057061.034 1078100.063 0, 1057328.906 1078103.429 0, 1057596.777 1078106.811 0, 1057863.362 1078110.193 0, 1058132.52 1078113.623 0, 1058400.392 1078117.052 0, 1058668.262 1078120.497 0, 1058936.133 1078123.958 0, 1059204.004 1078127.435 0,
+ 1059471.874 1078130.928 0, 1059739.744 1078134.436 0, 1060007.614 1078137.96 0, 1060275.484 1078141.5 0, 1060543.353 1078145.055 0, 1060811.223 1078148.627 0, 1061079.092 1078152.214 0, 1061346.961 1078155.817 0, 1061614.829 1078159.435 0, 1061882.698 1078163.07 0,
+ 1062150.566 1078166.72 0, 1062418.434 1078170.386 0, 1062686.302 1078174.068 0, 1062954.169 1078177.765 0, 1063222.037 1078181.478 0, 1063489.904 1078185.207 0, 1063757.771 1078188.952 0, 1064025.638 1078192.713 0, 1064292.218 1078196.471 0, 1064371.055 1072615.875 0,
+ 1064449.891 1067035.31 0))
+
+POLYGON ((1077149.533 1078396.27 0, 1076882.962 1078391.759 0, 1076615.107 1078387.242 0, 1076347.252 1078382.74 0, 1076079.396 1078378.255 0, 1075811.54 1078373.785 0, 1075543.684 1078369.33 0, 1075275.828 1078364.892 0, 1075007.971 1078360.469 0, 1074740.114 1078356.062 0,
+ 1074472.257 1078351.671 0, 1074204.4 1078347.296 0, 1073936.542 1078342.936 0, 1073668.684 1078338.592 0, 1073400.826 1078334.264 0, 1073132.968 1078329.952 0, 1072865.109 1078325.655 0, 1072597.25 1078321.374 0, 1072329.391 1078317.109 0, 1072061.532 1078312.86 0,
+ 1071793.672 1078308.626 0, 1071525.812 1078304.409 0, 1071257.952 1078300.207 0, 1070990.092 1078296.02 0, 1070720.946 1078291.83 0, 1070454.37 1078287.695 0, 1070186.509 1078283.556 0, 1069918.648 1078279.433 0, 1069650.786 1078275.326 0, 1069382.924 1078271.234 0,
+ 1069115.062 1078267.158 0, 1068847.2 1078263.098 0, 1068579.337 1078259.054 0, 1068311.474 1078255.025 0, 1068043.611 1078251.013 0, 1067775.748 1078247.016 0, 1067507.884 1078243.034 0, 1067240.021 1078239.069 0, 1066972.157 1078235.119 0, 1066704.292 1078231.185 0,
+ 1066436.428 1078227.267 0, 1066168.563 1078223.364 0, 1065900.698 1078219.478 0, 1065632.833 1078215.607 0, 1065364.968 1078211.752 0, 1065097.102 1078207.912 0, 1064829.236 1078204.089 0, 1064561.37 1078200.281 0, 1064292.218 1078196.471 0, 1064213.382 1083777.093 0,
+ 1064134.545 1089357.738 0, 1064403.037 1089361.539 0, 1064670.246 1089365.338 0, 1064937.455 1089369.152 0, 1065204.663 1089372.982 0, 1065471.872 1089376.828 0, 1065739.08 1089380.689 0, 1066006.288 1089384.566 0, 1066273.496 1089388.459 0, 1066540.703 1089392.368 0,
+ 1066807.911 1089396.292 0, 1067075.118 1089400.232 0, 1067342.324 1089404.188 0, 1067609.531 1089408.159 0, 1067876.737 1089412.146 0, 1068143.944 1089416.149 0, 1068411.149 1089420.168 0, 1068678.355 1089424.203 0, 1068945.561 1089428.253 0, 1069212.766 1089432.319 0,
+ 1069479.971 1089436.4 0, 1069747.175 1089440.497 0, 1070014.38 1089444.61 0, 1070281.584 1089448.739 0, 1070547.506 1089452.864 0, 1070815.992 1089457.044 0, 1071083.195 1089461.22 0, 1071350.398 1089465.412 0, 1071617.601 1089469.619 0, 1071884.804 1089473.842 0,
+ 1072152.007 1089478.081 0, 1072419.209 1089482.336 0, 1072686.411 1089486.606 0, 1072953.613 1089490.892 0, 1073220.814 1089495.194 0, 1073488.015 1089499.511 0, 1073755.216 1089503.844 0, 1074022.417 1089508.193 0, 1074289.618 1089512.558 0, 1074556.818 1089516.938 0,
+ 1074824.018 1089521.335 0, 1075091.217 1089525.746 0, 1075358.417 1089530.174 0, 1075625.616 1089534.617 0, 1075892.815 1089539.076 0, 1076160.014 1089543.551 0, 1076427.212 1089548.042 0, 1076694.41 1089552.548 0, 1076960.327 1089557.048 0, 1077054.93 1083976.648 0,
+ 1077149.533 1078396.27 0))
+
+POLYGON ((1089785.496 1089792.592 0, 1089519.59 1089787.341 0, 1089252.406 1089782.08 0, 1088985.221 1089776.834 0, 1088718.036 1089771.605 0, 1088450.851 1089766.391 0, 1088183.666 1089761.192 0, 1087916.48 1089756.01 0, 1087649.294 1089750.843 0, 1087382.107 1089745.692 0,
+ 1087114.92 1089740.557 0, 1086847.733 1089735.437 0, 1086580.546 1089730.334 0, 1086313.358 1089725.246 0, 1086046.17 1089720.173 0, 1085778.982 1089715.117 0, 1085511.793 1089710.076 0, 1085244.605 1089705.05 0, 1084977.415 1089700.041 0, 1084710.226 1089695.047 0,
+ 1084443.036 1089690.069 0, 1084175.846 1089685.107 0, 1083908.656 1089680.16 0, 1083641.465 1089675.23 0, 1083372.995 1089670.291 0, 1083107.083 1089665.415 0, 1082839.892 1089660.531 0, 1082572.7 1089655.663 0, 1082305.508 1089650.811 0, 1082038.315 1089645.975 0,
+ 1081771.123 1089641.154 0, 1081503.93 1089636.349 0, 1081236.737 1089631.56 0, 1080969.543 1089626.786 0, 1080702.349 1089622.028 0, 1080435.155 1089617.286 0, 1080167.961 1089612.56 0, 1079900.767 1089607.849 0, 1079633.572 1089603.154 0, 1079366.376 1089598.475 0,
+ 1079099.181 1089593.812 0, 1078831.985 1089589.164 0, 1078564.789 1089584.532 0, 1078297.593 1089579.915 0, 1078030.397 1089575.315 0, 1077763.2 1089570.73 0, 1077496.003 1089566.161 0, 1077228.806 1089561.607 0, 1076960.327 1089557.048 0, 1076865.724 1095137.466 0,
+ 1076771.121 1100717.898 0, 1077038.939 1100722.446 0, 1077305.479 1100726.988 0, 1077572.019 1100731.546 0, 1077838.559 1100736.119 0, 1078105.099 1100740.709 0, 1078371.638 1100745.314 0, 1078638.177 1100749.934 0, 1078904.716 1100754.571 0, 1079171.254 1100759.223 0,
+ 1079437.793 1100763.89 0, 1079704.331 1100768.574 0, 1079970.868 1100773.273 0, 1080237.406 1100777.988 0, 1080503.943 1100782.718 0, 1080770.48 1100787.464 0, 1081037.016 1100792.226 0, 1081303.553 1100797.004 0, 1081570.089 1100801.797 0, 1081836.624 1100806.606 0,
+ 1082103.16 1100811.43 0, 1082369.695 1100816.271 0, 1082636.23 1100821.127 0, 1082902.764 1100825.998 0, 1083168.022 1100830.862 0, 1083435.833 1100835.789 0, 1083702.366 1100840.707 0, 1083968.9 1100845.642 0, 1084235.433 1100850.592 0, 1084501.966 1100855.558 0,
+ 1084768.498 1100860.539 0, 1085035.031 1100865.536 0, 1085301.563 1100870.549 0, 1085568.094 1100875.578 0, 1085834.626 1100880.622 0, 1086101.157 1100885.682 0, 1086367.688 1100890.757 0, 1086634.218 1100895.848 0, 1086900.748 1100900.955 0, 1087167.278 1100906.078 0,
+ 1087433.808 1100911.216 0, 1087700.337 1100916.37 0, 1087966.866 1100921.54 0, 1088233.395 1100926.726 0, 1088499.923 1100931.927 0, 1088766.451 1100937.143 0, 1089032.979 1100942.376 0, 1089299.506 1100947.624 0, 1089564.758 1100952.863 0, 1089675.127 1095372.721 0,
+ 1089785.496 1089792.592 0))
+
+POLYGON ((1102357.681 1101223.971 0, 1102092.443 1101217.983 0, 1101825.932 1101211.982 0, 1101559.42 1101205.996 0, 1101292.907 1101200.027 0, 1101026.395 1101194.073 0, 1100759.882 1101188.134 0, 1100493.369 1101182.212 0, 1100226.855 1101176.305 0, 1099960.341 1101170.413 0,
+ 1099693.827 1101164.538 0, 1099427.312 1101158.678 0, 1099160.797 1101152.833 0, 1098894.281 1101147.005 0, 1098627.766 1101141.192 0, 1098361.25 1101135.395 0, 1098094.733 1101129.613 0, 1097828.216 1101123.848 0, 1097561.699 1101118.097 0, 1097295.182 1101112.363 0,
+ 1097028.664 1101106.644 0, 1096762.146 1101100.941 0, 1096495.628 1101095.254 0, 1096229.109 1101089.582 0, 1095961.316 1101083.899 0, 1095696.07 1101078.286 0, 1095429.55 1101072.661 0, 1095163.03 1101067.052 0, 1094896.51 1101061.459 0, 1094629.989 1101055.881 0,
+ 1094363.468 1101050.319 0, 1094096.947 1101044.773 0, 1093830.425 1101039.243 0, 1093563.903 1101033.728 0, 1093297.381 1101028.229 0, 1093030.858 1101022.745 0, 1092764.335 1101017.277 0, 1092497.811 1101011.825 0, 1092231.288 1101006.389 0, 1091964.764 1101000.968 0,
+ 1091698.239 1100995.563 0, 1091431.715 1100990.174 0, 1091165.19 1100984.8 0, 1090898.665 1100979.442 0, 1090632.139 1100974.1 0, 1090365.613 1100968.773 0, 1090099.087 1100963.463 0, 1089832.56 1100958.167 0, 1089564.758 1100952.863 0, 1089454.389 1106533.014 0,
+ 1089344.02 1112113.17 0, 1089611.162 1112118.462 0, 1089877.032 1112123.744 0, 1090142.901 1112129.042 0, 1090408.77 1112134.355 0, 1090674.639 1112139.684 0, 1090940.507 1112145.029 0, 1091206.375 1112150.389 0, 1091472.243 1112155.765 0, 1091738.11 1112161.157 0,
+ 1092003.978 1112166.564 0, 1092269.844 1112171.987 0, 1092535.711 1112177.426 0, 1092801.577 1112182.88 0, 1093067.443 1112188.35 0, 1093333.308 1112193.836 0, 1093599.174 1112199.337 0, 1093865.039 1112204.854 0, 1094130.903 1112210.386 0, 1094396.767 1112215.935 0,
+ 1094662.631 1112221.498 0, 1094928.495 1112227.078 0, 1095194.358 1112232.673 0, 1095460.221 1112238.284 0, 1095724.812 1112243.883 0, 1095991.946 1112249.552 0, 1096257.808 1112255.21 0, 1096523.669 1112260.883 0, 1096789.531 1112266.572 0, 1097055.391 1112272.277 0,
+ 1097321.252 1112277.997 0, 1097587.112 1112283.733 0, 1097852.972 1112289.485 0, 1098118.832 1112295.252 0, 1098384.691 1112301.035 0, 1098650.55 1112306.834 0, 1098916.408 1112312.648 0, 1099182.267 1112318.478 0, 1099448.124 1112324.323 0, 1099713.982 1112330.184 0,
+ 1099979.839 1112336.061 0, 1100245.696 1112341.954 0, 1100511.552 1112347.862 0, 1100777.409 1112353.785 0, 1101043.264 1112359.725 0, 1101309.12 1112365.68 0, 1101574.975 1112371.651 0, 1101840.83 1112377.637 0, 1102105.414 1112383.61 0, 1102231.548 1106803.788 0,
+ 1102357.681 1101223.971 0))
+
+POLYGON ((1114865.993 1112690.103 0, 1114601.424 1112683.382 0, 1114335.588 1112676.644 0, 1114069.75 1112669.923 0, 1113803.913 1112663.216 0, 1113538.075 1112656.526 0, 1113272.237 1112649.851 0, 1113006.398 1112643.192 0, 1112740.559 1112636.549 0, 1112474.719 1112629.921 0,
+ 1112208.879 1112623.309 0, 1111943.039 1112616.712 0, 1111677.198 1112610.131 0, 1111411.357 1112603.566 0, 1111145.516 1112597.016 0, 1110879.674 1112590.482 0, 1110613.832 1112583.964 0, 1110347.989 1112577.461 0, 1110082.146 1112570.974 0, 1109816.303 1112564.503 0,
+ 1109550.459 1112558.047 0, 1109284.615 1112551.607 0, 1109018.771 1112545.182 0, 1108752.926 1112538.774 0, 1108485.812 1112532.35 0, 1108221.235 1112526.003 0, 1107955.389 1112519.641 0, 1107689.543 1112513.295 0, 1107423.696 1112506.964 0, 1107157.849 1112500.649 0,
+ 1106892.001 1112494.35 0, 1106626.153 1112488.066 0, 1106360.305 1112481.798 0, 1106094.456 1112475.546 0, 1105828.608 1112469.309 0, 1105562.758 1112463.088 0, 1105296.908 1112456.883 0, 1105031.058 1112450.693 0, 1104765.208 1112444.519 0, 1104499.357 1112438.361 0,
+ 1104233.506 1112432.218 0, 1103967.655 1112426.091 0, 1103701.803 1112419.979 0, 1103435.95 1112413.883 0, 1103170.098 1112407.803 0, 1102904.245 1112401.739 0, 1102638.392 1112395.69 0, 1102372.538 1112389.656 0, 1102105.414 1112383.61 0, 1101979.28 1117963.432 0,
+ 1101853.147 1123543.251 0, 1102119.611 1123549.282 0, 1102384.807 1123555.3 0, 1102650.004 1123561.334 0, 1102915.2 1123567.384 0, 1103180.396 1123573.449 0, 1103445.591 1123579.53 0, 1103710.786 1123585.626 0, 1103975.981 1123591.738 0, 1104241.175 1123597.866 0,
+ 1104506.369 1123604.009 0, 1104771.563 1123610.168 0, 1105036.756 1123616.342 0, 1105301.949 1123622.533 0, 1105567.141 1123628.738 0, 1105832.334 1123634.959 0, 1106097.525 1123641.196 0, 1106362.717 1123647.449 0, 1106627.908 1123653.717 0, 1106893.098 1123660.001 0,
+ 1107158.289 1123666.3 0, 1107423.479 1123672.615 0, 1107688.668 1123678.945 0, 1107953.857 1123685.292 0, 1108217.781 1123691.623 0, 1108484.235 1123698.031 0, 1108749.423 1123704.424 0, 1109014.61 1123710.832 0, 1109279.798 1123717.256 0, 1109544.985 1123723.696 0,
+ 1109810.171 1123730.152 0, 1110075.357 1123736.623 0, 1110340.543 1123743.109 0, 1110605.729 1123749.612 0, 1110870.914 1123756.129 0, 1111136.098 1123762.663 0, 1111401.283 1123769.212 0, 1111666.466 1123775.776 0, 1111931.65 1123782.357 0, 1112196.833 1123788.953 0,
+ 1112462.016 1123795.564 0, 1112727.198 1123802.191 0, 1112992.38 1123808.834 0, 1113257.561 1123815.492 0, 1113522.743 1123822.166 0, 1113787.923 1123828.856 0, 1114053.104 1123835.561 0, 1114318.284 1123842.282 0, 1114582.199 1123848.986 0, 1114724.096 1118269.546 0,
+ 1114865.993 1112690.103 0))
+
+POLYGON ((1127310.336 1124190.682 0, 1127046.439 1124183.232 0, 1126781.279 1124175.762 0, 1126516.119 1124168.308 0, 1126250.958 1124160.869 0, 1125985.797 1124153.446 0, 1125720.635 1124146.038 0, 1125455.473 1124138.646 0, 1125190.31 1124131.27 0, 1124925.147 1124123.91 0,
+ 1124659.984 1124116.565 0, 1124394.82 1124109.235 0, 1124129.656 1124101.921 0, 1123864.491 1124094.623 0, 1123599.326 1124087.34 0, 1123334.161 1124080.073 0, 1123068.995 1124072.822 0, 1122803.828 1124065.586 0, 1122538.661 1124058.366 0, 1122273.494 1124051.161 0,
+ 1122008.326 1124043.972 0, 1121743.158 1124036.799 0, 1121477.99 1124029.641 0, 1121212.821 1124022.499 0, 1120946.388 1124015.339 0, 1120682.482 1124008.262 0, 1120417.312 1124001.166 0, 1120152.141 1123994.087 0, 1119886.97 1123987.023 0, 1119621.798 1123979.974 0,
+ 1119356.627 1123972.941 0, 1119091.454 1123965.924 0, 1118826.282 1123958.922 0, 1118561.109 1123951.936 0, 1118295.935 1123944.966 0, 1118030.761 1123938.011 0, 1117765.587 1123931.072 0, 1117500.412 1123924.148 0, 1117235.237 1123917.24 0, 1116970.061 1123910.347 0,
+ 1116704.885 1123903.471 0, 1116439.709 1123896.609 0, 1116174.532 1123889.764 0, 1115909.355 1123882.934 0, 1115644.178 1123876.119 0, 1115379 1123869.321 0, 1115113.821 1123862.537 0, 1114848.642 1123855.77 0, 1114582.199 1123848.986 0, 1114440.302 1129428.417 0,
+ 1114298.405 1135007.835 0, 1114564.189 1135014.602 0, 1114828.711 1135021.353 0, 1115093.233 1135028.119 0, 1115357.754 1135034.901 0, 1115622.275 1135041.699 0, 1115886.795 1135048.512 0, 1116151.315 1135055.34 0, 1116415.834 1135062.185 0, 1116680.354 1135069.044 0,
+ 1116944.872 1135075.92 0, 1117209.391 1135082.811 0, 1117473.909 1135089.717 0, 1117738.426 1135096.639 0, 1118002.943 1135103.577 0, 1118267.46 1135110.53 0, 1118531.977 1135117.499 0, 1118796.492 1135124.483 0, 1119061.008 1135131.483 0, 1119325.523 1135138.499 0,
+ 1119590.038 1135145.53 0, 1119854.552 1135152.576 0, 1120119.066 1135159.638 0, 1120383.579 1135166.716 0, 1120646.832 1135173.776 0, 1120912.605 1135180.918 0, 1121177.117 1135188.043 0, 1121441.629 1135195.183 0, 1121706.14 1135202.339 0, 1121970.651 1135209.51 0,
+ 1122235.162 1135216.696 0, 1122499.672 1135223.899 0, 1122764.181 1135231.117 0, 1123028.691 1135238.35 0, 1123293.199 1135245.599 0, 1123557.708 1135252.864 0, 1123822.216 1135260.144 0, 1124086.723 1135267.439 0, 1124351.23 1135274.751 0, 1124615.737 1135282.078 0,
+ 1124880.243 1135289.42 0, 1125144.749 1135296.778 0, 1125409.254 1135304.152 0, 1125673.759 1135311.541 0, 1125938.264 1135318.945 0, 1126202.768 1135326.366 0, 1126467.271 1135333.801 0, 1126731.775 1135341.253 0, 1126995.018 1135348.684 0, 1127152.677 1129769.689 0,
+ 1127310.336 1124190.682 0))
+
+POLYGON ((1139690.617 1135725.403 0, 1139427.394 1135717.228 0, 1139162.913 1135709.029 0, 1138898.431 1135700.846 0, 1138633.949 1135692.678 0, 1138369.466 1135684.526 0, 1138104.983 1135676.39 0, 1137840.5 1135668.269 0, 1137576.016 1135660.164 0, 1137311.532 1135652.074 0,
+ 1137047.047 1135644 0, 1136782.561 1135635.942 0, 1136518.076 1135627.899 0, 1136253.589 1135619.871 0, 1135989.102 1135611.859 0, 1135724.615 1135603.863 0, 1135460.127 1135595.883 0, 1135195.639 1135587.917 0, 1134931.151 1135579.968 0, 1134666.661 1135572.034 0,
+ 1134402.172 1135564.115 0, 1134137.682 1135556.213 0, 1133873.191 1135548.325 0, 1133608.7 1135540.454 0, 1133342.95 1135532.56 0, 1133079.717 1135524.757 0, 1132815.224 1135516.932 0, 1132550.732 1135509.122 0, 1132286.238 1135501.328 0, 1132021.745 1135493.55 0,
+ 1131757.25 1135485.787 0, 1131492.756 1135478.04 0, 1131228.261 1135470.309 0, 1130963.765 1135462.592 0, 1130699.269 1135454.892 0, 1130434.772 1135447.207 0, 1130170.275 1135439.538 0, 1129905.778 1135431.884 0, 1129641.28 1135424.246 0, 1129376.782 1135416.623 0,
+ 1129112.283 1135409.016 0, 1128847.784 1135401.425 0, 1128583.284 1135393.849 0, 1128318.784 1135386.288 0, 1128054.284 1135378.743 0, 1127789.783 1135371.214 0, 1127525.281 1135363.7 0, 1127260.78 1135356.202 0, 1126995.018 1135348.684 0, 1126837.359 1140927.662 0,
+ 1126679.702 1146506.617 0, 1126944.804 1146514.116 0, 1127208.649 1146521.596 0, 1127472.493 1146529.091 0, 1127736.338 1146536.601 0, 1128000.181 1146544.127 0, 1128264.025 1146551.669 0, 1128527.868 1146559.226 0, 1128791.71 1146566.799 0, 1129055.552 1146574.387 0,
+ 1129319.394 1146581.991 0, 1129583.235 1146589.61 0, 1129847.075 1146597.245 0, 1130110.916 1146604.895 0, 1130374.755 1146612.561 0, 1130638.595 1146620.242 0, 1130902.434 1146627.939 0, 1131166.272 1146635.651 0, 1131430.11 1146643.379 0, 1131693.948 1146651.123 0,
+ 1131957.785 1146658.882 0, 1132221.621 1146666.656 0, 1132485.457 1146674.447 0, 1132749.293 1146682.252 0, 1133011.873 1146690.036 0, 1133276.963 1146697.91 0, 1133540.797 1146705.762 0, 1133804.631 1146713.63 0, 1134068.464 1146721.513 0, 1134332.297 1146729.412 0,
+ 1134596.13 1146737.326 0, 1134859.962 1146745.256 0, 1135123.793 1146753.201 0, 1135387.624 1146761.162 0, 1135651.455 1146769.139 0, 1135915.285 1146777.13 0, 1136179.115 1146785.138 0, 1136442.944 1146793.161 0, 1136706.772 1146801.199 0, 1136970.601 1146809.254 0,
+ 1137234.428 1146817.323 0, 1137498.256 1146825.408 0, 1137762.082 1146833.509 0, 1138025.909 1146841.625 0, 1138289.735 1146849.757 0, 1138553.56 1146857.904 0, 1138817.385 1146866.067 0, 1139081.209 1146874.245 0, 1139343.779 1146882.4 0, 1139517.198 1141303.912 0,
+ 1139690.617 1135725.403 0))
+
+POLYGON ((1152006.744 1147293.96 0, 1151744.196 1147285.063 0, 1151480.396 1147276.139 0, 1151216.595 1147267.231 0, 1150952.794 1147258.339 0, 1150688.992 1147249.462 0, 1150425.19 1147240.6 0, 1150161.387 1147231.754 0, 1149897.584 1147222.924 0, 1149633.78 1147214.109 0,
+ 1149369.975 1147205.31 0, 1149106.17 1147196.526 0, 1148842.365 1147187.757 0, 1148578.559 1147179.005 0, 1148314.753 1147170.267 0, 1148050.946 1147161.546 0, 1147787.138 1147152.839 0, 1147523.33 1147144.149 0, 1147259.522 1147135.473 0, 1146995.713 1147126.814 0,
+ 1146731.903 1147118.17 0, 1146468.093 1147109.541 0, 1146204.282 1147100.928 0, 1145940.471 1147092.331 0, 1145675.407 1147083.708 0, 1145412.848 1147075.182 0, 1145149.035 1147066.631 0, 1144885.222 1147058.096 0, 1144621.409 1147049.576 0, 1144357.594 1147041.071 0,
+ 1144093.78 1147032.583 0, 1143829.965 1147024.109 0, 1143566.149 1147015.652 0, 1143302.333 1147007.209 0, 1143038.517 1146998.783 0, 1142774.7 1146990.371 0, 1142510.882 1146981.976 0, 1142247.064 1146973.596 0, 1141983.245 1146965.231 0, 1141719.426 1146956.882 0,
+ 1141455.607 1146948.548 0, 1141191.787 1146940.23 0, 1140927.966 1146931.928 0, 1140664.145 1146923.641 0, 1140400.324 1146915.369 0, 1140136.502 1146907.113 0, 1139872.679 1146898.873 0, 1139608.856 1146890.648 0, 1139343.779 1146882.4 0, 1139170.361 1152460.861 0,
+ 1138996.944 1158039.291 0, 1139261.362 1158047.518 0, 1139524.528 1158055.723 0, 1139787.694 1158063.943 0, 1140050.859 1158072.178 0, 1140314.024 1158080.429 0, 1140577.188 1158088.695 0, 1140840.352 1158096.977 0, 1141103.516 1158105.274 0, 1141366.678 1158113.587 0,
+ 1141629.841 1158121.916 0, 1141893.003 1158130.259 0, 1142156.164 1158138.619 0, 1142419.325 1158146.993 0, 1142682.485 1158155.384 0, 1142945.645 1158163.789 0, 1143208.805 1158172.211 0, 1143471.964 1158180.647 0, 1143735.122 1158189.1 0, 1143998.28 1158197.567 0,
+ 1144261.437 1158206.05 0, 1144524.594 1158214.549 0, 1144787.751 1158223.063 0, 1145050.907 1158231.593 0, 1145312.812 1158240.098 0, 1145577.217 1158248.699 0, 1145840.371 1158257.275 0, 1146103.525 1158265.867 0, 1146366.679 1158274.474 0, 1146629.832 1158283.096 0,
+ 1146892.984 1158291.734 0, 1147156.136 1158300.388 0, 1147419.287 1158309.057 0, 1147682.438 1158317.742 0, 1147945.589 1158326.442 0, 1148208.738 1158335.157 0, 1148471.888 1158343.888 0, 1148735.036 1158352.635 0, 1148998.185 1158361.397 0, 1149261.333 1158370.174 0,
+ 1149524.48 1158378.967 0, 1149787.627 1158387.776 0, 1150050.773 1158396.599 0, 1150313.918 1158405.439 0, 1150577.064 1158414.294 0, 1150840.208 1158423.164 0, 1151103.352 1158432.05 0, 1151366.496 1158440.952 0, 1151628.39 1158449.826 0, 1151817.567 1152871.908 0,
+ 1152006.744 1147293.96 0))
+
+POLYGON ((1164258.626 1158896.046 0, 1163996.756 1158886.432 0, 1163733.639 1158876.787 0, 1163470.521 1158867.157 0, 1163207.402 1158857.544 0, 1162944.283 1158847.945 0, 1162681.163 1158838.362 0, 1162418.043 1158828.795 0, 1162154.922 1158819.243 0, 1161891.801 1158809.707 0,
+ 1161628.679 1158800.186 0, 1161365.557 1158790.681 0, 1161102.433 1158781.191 0, 1160839.31 1158771.716 0, 1160576.186 1158762.257 0, 1160313.061 1158752.814 0, 1160049.936 1158743.386 0, 1159786.81 1158733.973 0, 1159523.683 1158724.576 0, 1159260.557 1158715.195 0,
+ 1158997.429 1158705.829 0, 1158734.301 1158696.478 0, 1158471.172 1158687.143 0, 1158208.043 1158677.824 0, 1157943.666 1158668.476 0, 1157681.783 1158659.231 0, 1157418.653 1158649.958 0, 1157155.521 1158640.7 0, 1156892.389 1158631.458 0, 1156629.257 1158622.232 0,
+ 1156366.124 1158613.021 0, 1156102.991 1158603.825 0, 1155839.857 1158594.645 0, 1155576.722 1158585.48 0, 1155313.587 1158576.331 0, 1155050.451 1158567.197 0, 1154787.315 1158558.079 0, 1154524.178 1158548.976 0, 1154261.041 1158539.889 0, 1153997.903 1158530.817 0,
+ 1153734.765 1158521.761 0, 1153471.626 1158512.72 0, 1153208.487 1158503.695 0, 1152945.347 1158494.685 0, 1152682.206 1158485.691 0, 1152419.065 1158476.712 0, 1152155.924 1158467.749 0, 1151892.782 1158458.801 0, 1151628.39 1158449.826 0, 1151439.215 1164027.708 0,
+ 1151250.041 1169605.55 0, 1151513.773 1169614.502 0, 1151776.259 1169623.427 0, 1152038.744 1169632.368 0, 1152301.228 1169641.325 0, 1152563.712 1169650.297 0, 1152826.195 1169659.284 0, 1153088.678 1169668.287 0, 1153351.16 1169677.305 0, 1153613.642 1169686.339 0,
+ 1153876.123 1169695.388 0, 1154138.604 1169704.452 0, 1154401.084 1169713.532 0, 1154663.564 1169722.628 0, 1154926.043 1169731.739 0, 1155188.521 1169740.865 0, 1155450.999 1169750.007 0, 1155713.477 1169759.164 0, 1155975.954 1169768.337 0, 1156238.43 1169777.525 0,
+ 1156500.906 1169786.729 0, 1156763.381 1169795.948 0, 1157025.856 1169805.182 0, 1157288.33 1169814.432 0, 1157549.559 1169823.654 0, 1157813.277 1169832.978 0, 1158075.749 1169842.275 0, 1158338.221 1169851.587 0, 1158600.693 1169860.914 0, 1158863.164 1169870.256 0,
+ 1159125.634 1169879.614 0, 1159388.104 1169888.988 0, 1159650.573 1169898.377 0, 1159913.042 1169907.781 0, 1160175.51 1169917.201 0, 1160437.978 1169926.637 0, 1160700.445 1169936.087 0, 1160962.911 1169945.554 0, 1161225.377 1169955.035 0, 1161487.843 1169964.532 0,
+ 1161750.307 1169974.045 0, 1162012.772 1169983.573 0, 1162275.235 1169993.117 0, 1162537.698 1170002.675 0, 1162800.161 1170012.25 0, 1163062.623 1170021.84 0, 1163325.084 1170031.445 0, 1163587.545 1170041.066 0, 1163848.762 1170050.656 0, 1164053.693 1164473.371 0,
+ 1164258.626 1158896.046 0))
+
+POLYGON ((1176446.175 1170531.355 0, 1176184.984 1170521.026 0, 1175922.551 1170510.664 0, 1175660.118 1170500.317 0, 1175397.684 1170489.986 0, 1175135.25 1170479.67 0, 1174872.815 1170469.37 0, 1174610.379 1170459.085 0, 1174347.943 1170448.815 0, 1174085.506 1170438.561 0,
+ 1173823.068 1170428.323 0, 1173560.63 1170418.099 0, 1173298.192 1170407.892 0, 1173035.752 1170397.699 0, 1172773.312 1170387.523 0, 1172510.872 1170377.361 0, 1172248.431 1170367.215 0, 1171985.989 1170357.085 0, 1171723.547 1170346.97 0, 1171461.104 1170336.87 0,
+ 1171198.66 1170326.786 0, 1170936.216 1170316.717 0, 1170673.772 1170306.664 0, 1170411.326 1170296.626 0, 1170147.638 1170286.557 0, 1169886.434 1170276.597 0, 1169623.987 1170266.606 0, 1169361.54 1170256.63 0, 1169099.091 1170246.669 0, 1168836.643 1170236.724 0,
+ 1168574.193 1170226.794 0, 1168311.743 1170216.88 0, 1168049.293 1170206.981 0, 1167786.842 1170197.098 0, 1167524.39 1170187.23 0, 1167261.938 1170177.378 0, 1166999.485 1170167.541 0, 1166737.031 1170157.719 0, 1166474.577 1170147.913 0, 1166212.123 1170138.122 0,
+ 1165949.668 1170128.347 0, 1165687.212 1170118.587 0, 1165424.756 1170108.843 0, 1165162.299 1170099.114 0, 1164899.841 1170089.401 0, 1164637.383 1170079.703 0, 1164374.925 1170070.02 0, 1164112.465 1170060.353 0, 1163848.762 1170050.656 0, 1163643.832 1175627.896 0,
+ 1163438.904 1181205.087 0, 1163701.948 1181214.76 0, 1163963.751 1181224.403 0, 1164225.553 1181234.061 0, 1164487.354 1181243.735 0, 1164749.155 1181253.424 0, 1165010.956 1181263.128 0, 1165272.755 1181272.848 0, 1165534.555 1181282.583 0, 1165796.353 1181292.334 0,
+ 1166058.151 1181302.1 0, 1166319.949 1181311.882 0, 1166581.746 1181321.679 0, 1166843.542 1181331.491 0, 1167105.338 1181341.319 0, 1167367.133 1181351.162 0, 1167628.928 1181361.021 0, 1167890.722 1181370.895 0, 1168152.515 1181380.784 0, 1168414.308 1181390.689 0,
+ 1168676.1 1181400.609 0, 1168937.892 1181410.545 0, 1169199.683 1181420.496 0, 1169461.474 1181430.463 0, 1169722.024 1181440.397 0, 1169985.053 1181450.442 0, 1170246.842 1181460.454 0, 1170508.63 1181470.482 0, 1170770.418 1181480.526 0, 1171032.205 1181490.585 0,
+ 1171293.991 1181500.659 0, 1171555.777 1181510.749 0, 1171817.562 1181520.854 0, 1172079.347 1181530.975 0, 1172341.131 1181541.111 0, 1172602.914 1181551.262 0, 1172864.697 1181561.429 0, 1173126.479 1181571.611 0, 1173388.261 1181581.808 0, 1173650.042 1181592.021 0,
+ 1173911.822 1181602.25 0, 1174173.602 1181612.494 0, 1174435.381 1181622.753 0, 1174697.16 1181633.027 0, 1174958.938 1181643.317 0, 1175220.715 1181653.623 0, 1175482.492 1181663.944 0, 1175744.268 1181674.28 0, 1176004.805 1181684.583 0, 1176225.489 1176107.993 0,
+ 1176446.175 1170531.355 0))
+
+POLYGON ((1188569.302 1182199.578 0, 1188308.793 1182188.539 0, 1188047.047 1182177.463 0, 1187785.3 1182166.403 0, 1187523.553 1182155.358 0, 1187261.805 1182144.328 0, 1187000.056 1182133.314 0, 1186738.307 1182122.315 0, 1186476.557 1182111.332 0, 1186214.807 1182100.364 0,
+ 1185953.056 1182089.412 0, 1185691.304 1182078.474 0, 1185429.552 1182067.553 0, 1185167.798 1182056.646 0, 1184906.045 1182045.755 0, 1184644.29 1182034.88 0, 1184382.535 1182024.02 0, 1184120.78 1182013.175 0, 1183859.024 1182002.346 0, 1183597.267 1181991.532 0,
+ 1183335.509 1181980.734 0, 1183073.751 1181969.951 0, 1182811.992 1181959.183 0, 1182550.233 1181948.431 0, 1182287.235 1181937.643 0, 1182026.712 1181926.972 0, 1181764.951 1181916.266 0, 1181503.189 1181905.576 0, 1181241.426 1181894.9 0, 1180979.663 1181884.241 0,
+ 1180717.899 1181873.596 0, 1180456.135 1181862.967 0, 1180194.37 1181852.354 0, 1179932.604 1181841.756 0, 1179670.837 1181831.173 0, 1179409.07 1181820.605 0, 1179147.303 1181810.053 0, 1178885.535 1181799.517 0, 1178623.766 1181788.996 0, 1178361.996 1181778.49 0,
+ 1178100.226 1181768 0, 1177838.456 1181757.525 0, 1177576.684 1181747.065 0, 1177314.913 1181736.621 0, 1177053.14 1181726.192 0, 1176791.367 1181715.779 0, 1176529.593 1181705.381 0, 1176267.819 1181694.999 0, 1176004.805 1181684.583 0, 1175784.124 1187261.118 0,
+ 1175563.445 1192837.594 0, 1175825.799 1192847.984 0, 1176086.916 1192858.341 0, 1176348.034 1192868.713 0, 1176609.15 1192879.1 0, 1176870.267 1192889.502 0, 1177131.382 1192899.92 0, 1177392.497 1192910.353 0, 1177653.611 1192920.802 0, 1177914.725 1192931.266 0,
+ 1178175.838 1192941.746 0, 1178436.95 1192952.24 0, 1178698.062 1192962.75 0, 1178959.173 1192973.276 0, 1179220.284 1192983.817 0, 1179481.394 1192994.373 0, 1179742.503 1193004.945 0, 1180003.611 1193015.532 0, 1180264.72 1193026.134 0, 1180525.827 1193036.752 0,
+ 1180786.934 1193047.385 0, 1181048.04 1193058.033 0, 1181309.145 1193068.697 0, 1181570.25 1193079.376 0, 1181830.12 1193090.02 0, 1182092.458 1193100.781 0, 1182353.561 1193111.506 0, 1182614.664 1193122.247 0, 1182875.766 1193133.003 0, 1183136.867 1193143.774 0,
+ 1183397.967 1193154.561 0, 1183659.067 1193165.363 0, 1183920.166 1193176.18 0, 1184181.265 1193187.013 0, 1184442.363 1193197.861 0, 1184703.46 1193208.725 0, 1184964.557 1193219.604 0, 1185225.653 1193230.498 0, 1185486.748 1193241.408 0, 1185747.843 1193252.333 0,
+ 1186008.937 1193263.273 0, 1186270.03 1193274.229 0, 1186531.123 1193285.2 0, 1186792.215 1193296.187 0, 1187053.307 1193307.189 0, 1187314.398 1193318.206 0, 1187575.488 1193329.239 0, 1187836.578 1193340.287 0, 1188096.433 1193351.298 0, 1188332.866 1187775.467 0,
+ 1188569.302 1182199.578 0))
+
+POLYGON ((1200627.921 1193900.407 0, 1200368.095 1193888.662 0, 1200107.038 1193876.877 0, 1199845.98 1193865.106 0, 1199584.921 1193853.351 0, 1199323.862 1193841.612 0, 1199062.802 1193829.888 0, 1198801.741 1193818.179 0, 1198540.679 1193806.486 0, 1198279.617 1193794.808 0,
+ 1198018.554 1193783.145 0, 1197757.491 1193771.498 0, 1197496.427 1193759.866 0, 1197235.362 1193748.249 0, 1196974.296 1193736.648 0, 1196713.23 1193725.062 0, 1196452.163 1193713.492 0, 1196191.095 1193701.937 0, 1195930.027 1193690.397 0, 1195668.958 1193678.872 0,
+ 1195407.888 1193667.363 0, 1195146.818 1193655.87 0, 1194885.747 1193644.392 0, 1194624.675 1193632.929 0, 1194362.371 1193621.427 0, 1194102.53 1193610.049 0, 1193841.456 1193598.632 0, 1193580.382 1193587.231 0, 1193319.307 1193575.845 0, 1193058.231 1193564.474 0,
+ 1192797.155 1193553.119 0, 1192536.078 1193541.779 0, 1192275 1193530.454 0, 1192013.922 1193519.145 0, 1191752.843 1193507.851 0, 1191491.763 1193496.572 0, 1191230.682 1193485.309 0, 1190969.601 1193474.061 0, 1190708.52 1193462.829 0, 1190447.437 1193451.612 0,
+ 1190186.354 1193440.41 0, 1189925.271 1193429.224 0, 1189664.186 1193418.053 0, 1189403.101 1193406.898 0, 1189142.016 1193395.757 0, 1188880.929 1193384.632 0, 1188619.842 1193373.523 0, 1188358.755 1193362.429 0, 1188096.433 1193351.298 0, 1187860.003 1198927.065 0,
+ 1187623.576 1204502.764 0, 1187885.238 1204513.867 0, 1188145.669 1204524.933 0, 1188406.1 1204536.015 0, 1188666.53 1204547.112 0, 1188926.959 1204558.224 0, 1189187.388 1204569.352 0, 1189447.816 1204580.494 0, 1189708.243 1204591.653 0, 1189968.67 1204602.826 0,
+ 1190229.096 1204614.015 0, 1190489.521 1204625.219 0, 1190749.946 1204636.439 0, 1191010.37 1204647.674 0, 1191270.793 1204658.924 0, 1191531.216 1204670.189 0, 1191791.638 1204681.47 0, 1192052.059 1204692.766 0, 1192312.48 1204704.078 0, 1192572.9 1204715.404 0,
+ 1192833.32 1204726.746 0, 1193093.738 1204738.104 0, 1193354.156 1204749.477 0, 1193614.574 1204760.865 0, 1193873.762 1204772.214 0, 1194135.407 1204783.687 0, 1194395.822 1204795.121 0, 1194656.237 1204806.571 0, 1194916.651 1204818.035 0, 1195177.064 1204829.515 0,
+ 1195437.477 1204841.011 0, 1195697.889 1204852.521 0, 1195958.3 1204864.047 0, 1196218.711 1204875.589 0, 1196479.121 1204887.146 0, 1196739.53 1204898.718 0, 1196999.938 1204910.305 0, 1197260.346 1204921.908 0, 1197520.754 1204933.526 0, 1197781.16 1204945.159 0,
+ 1198041.566 1204956.808 0, 1198301.971 1204968.472 0, 1198562.376 1204980.151 0, 1198822.78 1204991.846 0, 1199083.183 1205003.556 0, 1199343.585 1205015.281 0, 1199603.987 1205027.022 0, 1199864.388 1205038.778 0, 1200123.56 1205050.493 0, 1200375.739 1199475.484 0,
+ 1200627.921 1193900.407 0))
+
+POLYGON ((1212621.947 1205633.535 0, 1212362.807 1205621.087 0, 1212102.44 1205608.595 0, 1211842.073 1205596.119 0, 1211581.704 1205583.658 0, 1211321.335 1205571.212 0, 1211060.966 1205558.782 0, 1210800.595 1205546.367 0, 1210540.224 1205533.968 0, 1210279.852 1205521.583 0,
+ 1210019.479 1205509.214 0, 1209759.106 1205496.861 0, 1209498.732 1205484.522 0, 1209238.357 1205472.199 0, 1208977.982 1205459.892 0, 1208717.605 1205447.599 0, 1208457.228 1205435.322 0, 1208196.851 1205423.06 0, 1207936.472 1205410.814 0, 1207676.093 1205398.583 0,
+ 1207415.713 1205386.367 0, 1207155.333 1205374.167 0, 1206894.951 1205361.982 0, 1206634.569 1205349.812 0, 1206372.96 1205337.6 0, 1206113.803 1205325.518 0, 1205853.419 1205313.395 0, 1205593.034 1205301.286 0, 1205332.648 1205289.193 0, 1205072.262 1205277.115 0,
+ 1204811.875 1205265.053 0, 1204551.487 1205253.006 0, 1204291.099 1205240.974 0, 1204030.71 1205228.957 0, 1203770.32 1205216.956 0, 1203509.929 1205204.97 0, 1203249.538 1205193 0, 1202989.146 1205181.044 0, 1202728.753 1205169.105 0, 1202468.36 1205157.18 0,
+ 1202207.966 1205145.271 0, 1201947.571 1205133.377 0, 1201687.176 1205121.498 0, 1201426.78 1205109.635 0, 1201166.383 1205097.787 0, 1200905.985 1205085.955 0, 1200645.587 1205074.137 0, 1200385.188 1205062.335 0, 1200123.56 1205050.493 0, 1199871.385 1210625.429 0,
+ 1199619.213 1216200.288 0, 1199880.181 1216212.1 0, 1200139.924 1216223.872 0, 1200399.666 1216235.66 0, 1200659.407 1216247.463 0, 1200919.148 1216259.281 0, 1201178.888 1216271.114 0, 1201438.627 1216282.963 0, 1201698.366 1216294.826 0, 1201958.103 1216306.706 0,
+ 1202217.841 1216318.6 0, 1202477.577 1216330.51 0, 1202737.313 1216342.435 0, 1202997.048 1216354.375 0, 1203256.782 1216366.331 0, 1203516.516 1216378.302 0, 1203776.249 1216390.288 0, 1204035.981 1216402.29 0, 1204295.712 1216414.307 0, 1204555.443 1216426.339 0,
+ 1204815.173 1216438.386 0, 1205074.903 1216450.449 0, 1205334.631 1216462.527 0, 1205594.359 1216474.62 0, 1205852.863 1216486.671 0, 1206113.813 1216498.852 0, 1206373.539 1216510.991 0, 1206633.264 1216523.146 0, 1206892.988 1216535.315 0, 1207152.712 1216547.5 0,
+ 1207412.435 1216559.7 0, 1207672.157 1216571.916 0, 1207931.879 1216584.147 0, 1208191.6 1216596.393 0, 1208451.32 1216608.654 0, 1208711.039 1216620.931 0, 1208970.758 1216633.223 0, 1209230.476 1216645.53 0, 1209490.193 1216657.853 0, 1209749.909 1216670.191 0,
+ 1210009.625 1216682.544 0, 1210269.34 1216694.912 0, 1210529.054 1216707.296 0, 1210788.768 1216719.695 0, 1211048.481 1216732.109 0, 1211308.193 1216744.538 0, 1211567.904 1216756.983 0, 1211827.615 1216769.443 0, 1212086.102 1216781.86 0, 1212354.023 1211207.736 0,
+ 1212621.947 1205633.535 0))
+
+POLYGON ((1224551.298 1217398.651 0, 1224292.845 1217385.504 0, 1224033.17 1217372.31 0, 1223773.495 1217359.132 0, 1223513.819 1217345.969 0, 1223254.143 1217332.821 0, 1222994.465 1217319.688 0, 1222734.787 1217306.571 0, 1222475.108 1217293.469 0, 1222215.428 1217280.382 0,
+ 1221955.747 1217267.31 0, 1221696.066 1217254.254 0, 1221436.384 1217241.213 0, 1221176.701 1217228.187 0, 1220917.018 1217215.177 0, 1220657.333 1217202.182 0, 1220397.648 1217189.202 0, 1220137.962 1217176.238 0, 1219878.275 1217163.288 0, 1219618.588 1217150.354 0,
+ 1219358.9 1217137.436 0, 1219099.211 1217124.532 0, 1218839.521 1217111.644 0, 1218579.83 1217098.772 0, 1218318.918 1217085.854 0, 1218060.447 1217073.072 0, 1217800.754 1217060.245 0, 1217541.061 1217047.433 0, 1217281.367 1217034.637 0, 1217021.672 1217021.856 0,
+ 1216761.976 1217009.09 0, 1216502.279 1216996.339 0, 1216242.582 1216983.604 0, 1215982.884 1216970.884 0, 1215723.185 1216958.179 0, 1215463.486 1216945.49 0, 1215203.786 1216932.816 0, 1214944.085 1216920.157 0, 1214684.383 1216907.513 0, 1214424.68 1216894.885 0,
+ 1214164.977 1216882.272 0, 1213905.273 1216869.675 0, 1213645.568 1216857.092 0, 1213385.863 1216844.525 0, 1213126.157 1216831.973 0, 1212866.45 1216819.437 0, 1212606.742 1216806.915 0, 1212347.034 1216794.409 0, 1212086.102 1216781.86 0, 1211818.185 1222355.901 0,
+ 1211550.272 1227929.856 0, 1211810.545 1227942.374 0, 1212069.597 1227954.848 0, 1212328.649 1227967.338 0, 1212587.699 1227979.842 0, 1212846.749 1227992.363 0, 1213105.799 1228004.898 0, 1213364.847 1228017.449 0, 1213623.895 1228030.014 0, 1213882.942 1228042.596 0,
+ 1214141.989 1228055.192 0, 1214401.034 1228067.803 0, 1214660.079 1228080.43 0, 1214919.123 1228093.072 0, 1215178.167 1228105.73 0, 1215437.209 1228118.402 0, 1215696.251 1228131.09 0, 1215955.292 1228143.793 0, 1216214.333 1228156.512 0, 1216473.372 1228169.245 0,
+ 1216732.411 1228181.994 0, 1216991.45 1228194.758 0, 1217250.487 1228207.537 0, 1217509.524 1228220.332 0, 1217767.341 1228233.081 0, 1218027.595 1228245.967 0, 1218286.629 1228258.807 0, 1218545.663 1228271.663 0, 1218804.696 1228284.533 0, 1219063.728 1228297.419 0,
+ 1219322.759 1228310.321 0, 1219581.79 1228323.237 0, 1219840.819 1228336.169 0, 1220099.849 1228349.116 0, 1220358.877 1228362.078 0, 1220617.904 1228375.056 0, 1220876.931 1228388.048 0, 1221135.957 1228401.056 0, 1221394.982 1228414.08 0, 1221654.007 1228427.118 0,
+ 1221913.031 1228440.172 0, 1222172.054 1228453.241 0, 1222431.076 1228466.325 0, 1222690.097 1228479.425 0, 1222949.118 1228492.539 0, 1223208.138 1228505.669 0, 1223467.157 1228518.815 0, 1223726.175 1228531.975 0, 1223983.975 1228545.089 0, 1224267.634 1222971.913 0,
+ 1224551.298 1217398.651 0))
+
+POLYGON ((1236415.891 1229195.447 0, 1236158.127 1229181.604 0, 1235899.146 1229167.712 0, 1235640.165 1229153.835 0, 1235381.184 1229139.974 0, 1235122.201 1229126.127 0, 1234863.218 1229112.296 0, 1234604.234 1229098.48 0, 1234345.249 1229084.679 0, 1234086.263 1229070.894 0,
+ 1233827.276 1229057.124 0, 1233568.289 1229043.369 0, 1233309.301 1229029.629 0, 1233050.312 1229015.904 0, 1232791.322 1229002.195 0, 1232532.331 1228988.501 0, 1232273.34 1228974.822 0, 1232014.347 1228961.159 0, 1231755.354 1228947.511 0, 1231496.36 1228933.878 0,
+ 1231237.366 1228920.26 0, 1230978.37 1228906.657 0, 1230719.374 1228893.07 0, 1230460.377 1228879.498 0, 1230200.163 1228865.877 0, 1229942.38 1228852.399 0, 1229683.381 1228838.873 0, 1229424.381 1228825.362 0, 1229165.379 1228811.866 0, 1228906.378 1228798.386 0,
+ 1228647.375 1228784.92 0, 1228388.371 1228771.47 0, 1228129.367 1228758.035 0, 1227870.362 1228744.616 0, 1227611.356 1228731.211 0, 1227352.35 1228717.822 0, 1227093.342 1228704.448 0, 1226834.334 1228691.09 0, 1226575.325 1228677.746 0, 1226316.316 1228664.418 0,
+ 1226057.305 1228651.105 0, 1225798.294 1228637.807 0, 1225539.282 1228624.525 0, 1225280.269 1228611.258 0, 1225021.255 1228598.006 0, 1224762.241 1228584.769 0, 1224503.225 1228571.548 0, 1224244.209 1228558.342 0, 1223983.975 1228545.089 0, 1223700.321 1234118.172 0,
+ 1223416.671 1239691.159 0, 1223676.246 1239704.378 0, 1223934.606 1239717.551 0, 1224192.966 1239730.739 0, 1224451.324 1239743.942 0, 1224709.682 1239757.16 0, 1224968.038 1239770.394 0, 1225226.395 1239783.643 0, 1225484.75 1239796.907 0, 1225743.104 1239810.186 0,
+ 1226001.458 1239823.48 0, 1226259.811 1239836.79 0, 1226518.163 1239850.115 0, 1226776.515 1239863.455 0, 1227034.865 1239876.81 0, 1227293.215 1239890.18 0, 1227551.564 1239903.566 0, 1227809.912 1239916.967 0, 1228068.26 1239930.383 0, 1228326.606 1239943.814 0,
+ 1228584.952 1239957.261 0, 1228843.297 1239970.722 0, 1229101.641 1239984.199 0, 1229359.985 1239997.691 0, 1229617.114 1240011.135 0, 1229876.67 1240024.721 0, 1230135.011 1240038.259 0, 1230393.351 1240051.812 0, 1230651.69 1240065.38 0, 1230910.029 1240078.963 0,
+ 1231168.367 1240092.561 0, 1231426.704 1240106.175 0, 1231685.04 1240119.804 0, 1231943.376 1240133.448 0, 1232201.711 1240147.108 0, 1232460.044 1240160.782 0, 1232718.378 1240174.472 0, 1232976.71 1240188.177 0, 1233235.041 1240201.897 0, 1233493.372 1240215.632 0,
+ 1233751.702 1240229.383 0, 1234010.031 1240243.149 0, 1234268.359 1240256.93 0, 1234526.687 1240270.726 0, 1234785.013 1240284.537 0, 1235043.339 1240298.364 0, 1235301.664 1240312.205 0, 1235559.988 1240326.062 0, 1235817.099 1240339.87 0, 1236116.492 1234767.706 0,
+ 1236415.891 1229195.447 0))
+
+POLYGON ((1248215.645 1241023.611 0, 1247958.572 1241009.078 0, 1247700.288 1240994.491 0, 1247442.003 1240979.919 0, 1247183.717 1240965.363 0, 1246925.431 1240950.822 0, 1246667.143 1240936.296 0, 1246408.855 1240921.785 0, 1246150.566 1240907.29 0, 1245892.276 1240892.809 0,
+ 1245633.985 1240878.344 0, 1245375.693 1240863.894 0, 1245117.401 1240849.459 0, 1244859.108 1240835.04 0, 1244600.813 1240820.636 0, 1244342.518 1240806.246 0, 1244084.222 1240791.873 0, 1243825.926 1240777.514 0, 1243567.628 1240763.17 0, 1243309.33 1240748.842 0,
+ 1243051.03 1240734.529 0, 1242792.73 1240720.231 0, 1242534.429 1240705.948 0, 1242276.127 1240691.681 0, 1242016.614 1240677.362 0, 1241759.521 1240663.191 0, 1241501.217 1240648.97 0, 1241242.912 1240634.763 0, 1240984.606 1240620.571 0, 1240726.299 1240606.395 0,
+ 1240467.991 1240592.234 0, 1240209.683 1240578.088 0, 1239951.373 1240563.958 0, 1239693.063 1240549.842 0, 1239434.752 1240535.742 0, 1239176.44 1240521.657 0, 1238918.128 1240507.587 0, 1238659.814 1240493.532 0, 1238401.5 1240479.493 0, 1238143.185 1240465.469 0,
+ 1237884.869 1240451.46 0, 1237626.552 1240437.466 0, 1237368.234 1240423.487 0, 1237109.916 1240409.524 0, 1236851.597 1240395.575 0, 1236593.277 1240381.642 0, 1236334.956 1240367.725 0, 1236076.634 1240353.822 0, 1235817.099 1240339.87 0, 1235517.712 1245911.931 0,
+ 1235218.33 1251483.887 0, 1235477.205 1251497.804 0, 1235734.871 1251511.671 0, 1235992.536 1251525.554 0, 1236250.2 1251539.451 0, 1236507.864 1251553.364 0, 1236765.526 1251567.292 0, 1237023.188 1251581.235 0, 1237280.849 1251595.193 0, 1237538.509 1251609.167 0,
+ 1237796.168 1251623.155 0, 1238053.827 1251637.159 0, 1238311.484 1251651.178 0, 1238569.141 1251665.212 0, 1238826.797 1251679.262 0, 1239084.452 1251693.326 0, 1239342.106 1251707.406 0, 1239599.76 1251721.5 0, 1239857.412 1251735.61 0, 1240115.064 1251749.736 0,
+ 1240372.715 1251763.876 0, 1240630.365 1251778.031 0, 1240888.015 1251792.202 0, 1241145.663 1251806.388 0, 1241402.103 1251820.522 0, 1241660.957 1251834.805 0, 1241918.603 1251849.036 0, 1242176.249 1251863.282 0, 1242433.893 1251877.544 0, 1242691.536 1251891.821 0,
+ 1242949.179 1251906.113 0, 1243206.821 1251920.42 0, 1243464.462 1251934.742 0, 1243722.102 1251949.079 0, 1243979.741 1251963.432 0, 1244237.379 1251977.8 0, 1244495.017 1251992.183 0, 1244752.653 1252006.581 0, 1245010.289 1252020.994 0, 1245267.924 1252035.422 0,
+ 1245525.558 1252049.866 0, 1245783.192 1252064.325 0, 1246040.824 1252078.799 0, 1246298.456 1252093.288 0, 1246556.086 1252107.792 0, 1246813.716 1252122.311 0, 1247071.345 1252136.846 0, 1247328.974 1252151.395 0, 1247585.394 1252165.892 0, 1247900.516 1246594.805 0,
+ 1248215.645 1241023.611 0))
+
+POLYGON ((1259950.482 1252882.834 0, 1259694.102 1252867.613 0, 1259436.516 1252852.335 0, 1259178.929 1252837.073 0, 1258921.341 1252821.826 0, 1258663.752 1252806.594 0, 1258406.162 1252791.377 0, 1258148.572 1252776.175 0, 1257890.981 1252760.989 0, 1257633.388 1252745.817 0,
+ 1257375.795 1252730.661 0, 1257118.201 1252715.52 0, 1256860.606 1252700.394 0, 1256603.01 1252685.283 0, 1256345.413 1252670.188 0, 1256087.816 1252655.108 0, 1255830.217 1252640.042 0, 1255572.618 1252624.992 0, 1255315.017 1252609.957 0, 1255057.416 1252594.938 0,
+ 1254799.814 1252579.933 0, 1254542.211 1252564.943 0, 1254284.607 1252549.969 0, 1254027.003 1252535.01 0, 1253768.191 1252519.996 0, 1253511.791 1252505.137 0, 1253254.183 1252490.224 0, 1252996.575 1252475.325 0, 1252738.966 1252460.442 0, 1252481.356 1252445.574 0,
+ 1252223.745 1252430.721 0, 1251966.133 1252415.883 0, 1251708.521 1252401.06 0, 1251450.907 1252386.253 0, 1251193.293 1252371.461 0, 1250935.678 1252356.684 0, 1250678.061 1252341.922 0, 1250420.445 1252327.175 0, 1250162.827 1252312.443 0, 1249905.208 1252297.727 0,
+ 1249647.588 1252283.025 0, 1249389.968 1252268.339 0, 1249132.347 1252253.668 0, 1248874.725 1252239.012 0, 1248617.102 1252224.371 0, 1248359.478 1252209.746 0, 1248101.853 1252195.136 0, 1247844.227 1252180.54 0, 1247585.394 1252165.892 0, 1247270.278 1257736.868 0,
+ 1246955.168 1263307.729 0, 1247213.343 1263322.34 0, 1247470.312 1263336.898 0, 1247727.281 1263351.471 0, 1247984.249 1263366.059 0, 1248241.217 1263380.662 0, 1248498.183 1263395.281 0, 1248755.149 1263409.915 0, 1249012.113 1263424.563 0, 1249269.077 1263439.227 0,
+ 1249526.04 1263453.906 0, 1249783.002 1263468.601 0, 1250039.963 1263483.31 0, 1250296.924 1263498.034 0, 1250553.883 1263512.774 0, 1250810.842 1263527.529 0, 1251067.799 1263542.298 0, 1251324.756 1263557.083 0, 1251581.712 1263571.883 0, 1251838.667 1263586.698 0,
+ 1252095.622 1263601.529 0, 1252352.575 1263616.374 0, 1252609.527 1263631.235 0, 1252866.479 1263646.11 0, 1253122.227 1263660.931 0, 1253380.38 1263675.907 0, 1253637.329 1263690.828 0, 1253894.277 1263705.764 0, 1254151.224 1263720.715 0, 1254408.17 1263735.682 0,
+ 1254665.116 1263750.663 0, 1254922.06 1263765.66 0, 1255179.004 1263780.672 0, 1255435.947 1263795.699 0, 1255692.889 1263810.741 0, 1255949.83 1263825.798 0, 1256206.77 1263840.87 0, 1256463.709 1263855.957 0, 1256720.648 1263871.06 0, 1256977.585 1263886.178 0,
+ 1257234.522 1263901.31 0, 1257491.458 1263916.458 0, 1257748.392 1263931.621 0, 1258005.326 1263946.799 0, 1258262.259 1263961.993 0, 1258519.192 1263977.201 0, 1258776.123 1263992.424 0, 1259033.053 1264007.663 0, 1259288.781 1264022.845 0, 1259619.628 1258452.898 0,
+ 1259950.482 1252882.834 0))
+
+POLYGON ((1271620.324 1264772.804 0, 1271364.638 1264756.899 0, 1271107.752 1264740.935 0, 1270850.865 1264724.986 0, 1270593.977 1264709.051 0, 1270337.088 1264693.132 0, 1270080.198 1264677.228 0, 1269823.307 1264661.34 0, 1269566.415 1264645.466 0, 1269309.522 1264629.607 0,
+ 1269052.628 1264613.764 0, 1268795.734 1264597.935 0, 1268538.838 1264582.122 0, 1268281.941 1264566.324 0, 1268025.044 1264550.541 0, 1267768.145 1264534.773 0, 1267511.246 1264519.021 0, 1267254.346 1264503.283 0, 1266997.445 1264487.56 0, 1266740.543 1264471.853 0,
+ 1266483.639 1264456.161 0, 1266226.736 1264440.484 0, 1265969.831 1264424.822 0, 1265712.925 1264409.175 0, 1265454.817 1264393.47 0, 1265199.11 1264377.926 0, 1264942.202 1264362.325 0, 1264685.292 1264346.738 0, 1264428.382 1264331.167 0, 1264171.471 1264315.611 0,
+ 1263914.558 1264300.07 0, 1263657.645 1264284.544 0, 1263400.731 1264269.033 0, 1263143.816 1264253.537 0, 1262886.9 1264238.057 0, 1262629.984 1264222.591 0, 1262373.066 1264207.141 0, 1262116.147 1264191.706 0, 1261859.228 1264176.286 0, 1261602.307 1264160.881 0,
+ 1261345.386 1264145.491 0, 1261088.464 1264130.116 0, 1260831.541 1264114.757 0, 1260574.616 1264099.412 0, 1260317.691 1264084.083 0, 1260060.766 1264068.769 0, 1259803.839 1264053.47 0, 1259546.911 1264038.186 0, 1259288.781 1264022.845 0, 1258957.941 1269592.672 0,
+ 1258627.109 1275162.373 0, 1258884.58 1275177.674 0, 1259140.852 1275192.919 0, 1259397.123 1275208.179 0, 1259653.394 1275223.455 0, 1259909.663 1275238.745 0, 1260165.931 1275254.05 0, 1260422.199 1275269.371 0, 1260678.465 1275284.706 0, 1260934.731 1275300.057 0,
+ 1261190.996 1275315.422 0, 1261447.26 1275330.803 0, 1261703.523 1275346.199 0, 1261959.785 1275361.61 0, 1262216.046 1275377.036 0, 1262472.306 1275392.477 0, 1262728.566 1275407.933 0, 1262984.824 1275423.404 0, 1263241.082 1275438.89 0, 1263497.338 1275454.392 0,
+ 1263753.594 1275469.908 0, 1264009.849 1275485.44 0, 1264266.103 1275500.986 0, 1264522.356 1275516.548 0, 1264777.41 1275532.052 0, 1265034.859 1275547.717 0, 1265291.109 1275563.324 0, 1265547.358 1275578.946 0, 1265803.607 1275594.583 0, 1266059.854 1275610.235 0,
+ 1266316.101 1275625.902 0, 1266572.346 1275641.585 0, 1266828.591 1275657.282 0, 1267084.835 1275672.995 0, 1267341.078 1275688.722 0, 1267597.32 1275704.465 0, 1267853.561 1275720.223 0, 1268109.801 1275735.996 0, 1268366.04 1275751.784 0, 1268622.278 1275767.587 0,
+ 1268878.515 1275783.405 0, 1269134.752 1275799.238 0, 1269390.987 1275815.086 0, 1269647.222 1275830.95 0, 1269903.455 1275846.828 0, 1270159.688 1275862.722 0, 1270415.919 1275878.63 0, 1270672.15 1275894.554 0, 1270927.183 1275910.418 0, 1271273.75 1270341.674 0,
+ 1271620.324 1264772.804 0))
+
+POLYGON ((1283225.096 1276693.21 0, 1282970.106 1276676.625 0, 1282713.922 1276659.978 0, 1282457.736 1276643.345 0, 1282201.549 1276626.728 0, 1281945.362 1276610.126 0, 1281689.173 1276593.538 0, 1281432.983 1276576.966 0, 1281176.793 1276560.409 0, 1280920.601 1276543.867 0,
+ 1280664.409 1276527.34 0, 1280408.215 1276510.829 0, 1280152.021 1276494.332 0, 1279895.825 1276477.85 0, 1279639.629 1276461.384 0, 1279383.431 1276444.932 0, 1279127.233 1276428.496 0, 1278871.034 1276412.074 0, 1278614.833 1276395.668 0, 1278358.632 1276379.277 0,
+ 1278102.43 1276362.901 0, 1277846.227 1276346.54 0, 1277590.023 1276330.194 0, 1277333.817 1276313.863 0, 1277076.416 1276297.471 0, 1276821.404 1276281.247 0, 1276565.196 1276264.961 0, 1276308.987 1276248.69 0, 1276052.778 1276232.435 0, 1275796.567 1276216.195 0,
+ 1275540.355 1276199.969 0, 1275284.142 1276183.759 0, 1275027.928 1276167.564 0, 1274771.714 1276151.384 0, 1274515.498 1276135.219 0, 1274259.282 1276119.069 0, 1274003.064 1276102.934 0, 1273746.846 1276086.815 0, 1273490.626 1276070.71 0, 1273234.406 1276054.62 0,
+ 1272978.184 1276038.546 0, 1272721.962 1276022.486 0, 1272465.739 1276006.442 0, 1272209.515 1275990.413 0, 1271953.29 1275974.399 0, 1271697.064 1275958.4 0, 1271440.837 1275942.416 0, 1271184.609 1275926.447 0, 1270927.183 1275910.418 0, 1270580.625 1281479.032 0,
+ 1270234.075 1287047.51 0, 1270490.842 1287063.497 0, 1270746.414 1287079.425 0, 1271001.986 1287095.368 0, 1271257.556 1287111.326 0, 1271513.126 1287127.299 0, 1271768.695 1287143.288 0, 1272024.262 1287159.291 0, 1272279.829 1287175.309 0, 1272535.395 1287191.343 0,
+ 1272790.96 1287207.391 0, 1273046.524 1287223.455 0, 1273302.087 1287239.533 0, 1273557.649 1287255.627 0, 1273813.21 1287271.735 0, 1274068.77 1287287.859 0, 1274324.329 1287303.997 0, 1274579.887 1287320.151 0, 1274835.445 1287336.32 0, 1275091.001 1287352.504 0,
+ 1275346.556 1287368.702 0, 1275602.111 1287384.916 0, 1275857.664 1287401.145 0, 1276113.217 1287417.389 0, 1276367.576 1287433.572 0, 1276624.319 1287449.922 0, 1276879.869 1287466.211 0, 1277135.418 1287482.515 0, 1277390.965 1287498.835 0, 1277646.512 1287515.169 0,
+ 1277902.058 1287531.518 0, 1278157.603 1287547.882 0, 1278413.147 1287564.262 0, 1278668.69 1287580.656 0, 1278924.231 1287597.065 0, 1279179.772 1287613.49 0, 1279435.313 1287629.929 0, 1279690.852 1287646.384 0, 1279946.39 1287662.853 0, 1280201.927 1287679.338 0,
+ 1280457.463 1287695.838 0, 1280712.998 1287712.352 0, 1280968.532 1287728.882 0, 1281224.066 1287745.427 0, 1281479.598 1287761.987 0, 1281735.129 1287778.562 0, 1281990.659 1287795.151 0, 1282246.189 1287811.756 0, 1282500.526 1287828.299 0, 1282862.806 1282260.822 0,
+ 1283225.096 1276693.21 0))
+
+POLYGON ((1294764.722 1288643.74 0, 1294510.431 1288626.479 0, 1294254.949 1288609.152 0, 1293999.467 1288591.84 0, 1293743.983 1288574.544 0, 1293488.499 1288557.262 0, 1293233.013 1288539.995 0, 1292977.527 1288522.744 0, 1292722.039 1288505.507 0, 1292466.551 1288488.286 0,
+ 1292211.061 1288471.079 0, 1291955.571 1288453.888 0, 1291700.079 1288436.711 0, 1291444.587 1288419.55 0, 1291189.093 1288402.404 0, 1290933.598 1288385.272 0, 1290678.103 1288368.156 0, 1290422.606 1288351.055 0, 1290167.109 1288333.969 0, 1289911.61 1288316.898 0,
+ 1289656.11 1288299.841 0, 1289400.61 1288282.8 0, 1289145.108 1288265.774 0, 1288889.606 1288248.763 0, 1288632.912 1288231.688 0, 1288378.597 1288214.787 0, 1288123.092 1288197.821 0, 1287867.585 1288180.87 0, 1287612.077 1288163.934 0, 1287356.569 1288147.013 0,
+ 1287101.059 1288130.108 0, 1286845.549 1288113.217 0, 1286590.037 1288096.341 0, 1286334.524 1288079.481 0, 1286079.011 1288062.635 0, 1285823.496 1288045.805 0, 1285567.981 1288028.989 0, 1285312.464 1288012.189 0, 1285056.947 1287995.403 0, 1284801.428 1287978.633 0,
+ 1284545.909 1287961.878 0, 1284290.388 1287945.137 0, 1284034.867 1287928.412 0, 1283779.344 1287911.702 0, 1283523.821 1287895.007 0, 1283268.296 1287878.327 0, 1283012.771 1287861.661 0, 1282757.244 1287845.011 0, 1282500.526 1287828.299 0, 1282138.255 1293395.635 0,
+ 1281775.993 1298962.825 0, 1282032.053 1298979.495 0, 1282286.924 1298996.102 0, 1282541.794 1299012.724 0, 1282796.663 1299029.362 0, 1283051.531 1299046.014 0, 1283306.398 1299062.681 0, 1283561.264 1299079.364 0, 1283816.13 1299096.061 0, 1284070.994 1299112.774 0,
+ 1284325.857 1299129.501 0, 1284580.719 1299146.243 0, 1284835.58 1299163.001 0, 1285090.441 1299179.773 0, 1285345.3 1299196.56 0, 1285600.158 1299213.363 0, 1285855.015 1299230.18 0, 1286109.872 1299247.012 0, 1286364.727 1299263.86 0, 1286619.581 1299280.722 0,
+ 1286874.435 1299297.599 0, 1287129.287 1299314.492 0, 1287384.138 1299331.399 0, 1287638.989 1299348.322 0, 1287892.651 1299365.18 0, 1288148.686 1299382.211 0, 1288403.533 1299399.179 0, 1288658.38 1299416.161 0, 1288913.225 1299433.158 0, 1289168.069 1299450.171 0,
+ 1289422.913 1299467.198 0, 1289677.755 1299484.24 0, 1289932.596 1299501.298 0, 1290187.437 1299518.37 0, 1290442.276 1299535.457 0, 1290697.114 1299552.56 0, 1290951.952 1299569.677 0, 1291206.788 1299586.81 0, 1291461.623 1299603.957 0, 1291716.458 1299621.119 0,
+ 1291971.291 1299638.297 0, 1292226.123 1299655.489 0, 1292480.954 1299672.696 0, 1292735.785 1299689.919 0, 1292990.614 1299707.156 0, 1293245.442 1299724.408 0, 1293500.269 1299741.676 0, 1293755.095 1299758.958 0, 1294008.734 1299776.175 0, 1294386.723 1294210.03 0,
+ 1294764.722 1288643.74 0))
+
+POLYGON ((1306239.13 1300624.081 0, 1305985.538 1300606.148 0, 1305730.762 1300588.145 0, 1305475.984 1300570.158 0, 1305221.206 1300552.186 0, 1304966.426 1300534.229 0, 1304711.646 1300516.287 0, 1304456.864 1300498.359 0, 1304202.082 1300480.447 0, 1303947.298 1300462.55 0,
+ 1303692.513 1300444.668 0, 1303437.727 1300426.8 0, 1303182.94 1300408.948 0, 1302928.153 1300391.111 0, 1302673.364 1300373.289 0, 1302418.574 1300355.481 0, 1302163.782 1300337.689 0, 1301908.99 1300319.912 0, 1301654.197 1300302.15 0, 1301399.403 1300284.402 0,
+ 1301144.608 1300266.67 0, 1300889.811 1300248.953 0, 1300635.014 1300231.25 0, 1300380.216 1300213.563 0, 1300124.231 1300195.809 0, 1299870.616 1300178.234 0, 1299615.814 1300160.591 0, 1299361.012 1300142.964 0, 1299106.208 1300125.352 0, 1298851.404 1300107.754 0,
+ 1298596.598 1300090.172 0, 1298341.791 1300072.605 0, 1298086.984 1300055.053 0, 1297832.175 1300037.515 0, 1297577.365 1300019.993 0, 1297322.554 1300002.486 0, 1297067.742 1299984.993 0, 1296812.93 1299967.516 0, 1296558.116 1299950.054 0, 1296303.301 1299932.606 0,
+ 1296048.485 1299915.174 0, 1295793.668 1299897.757 0, 1295538.85 1299880.354 0, 1295284.031 1299862.967 0, 1295029.211 1299845.595 0, 1294774.39 1299828.237 0, 1294519.568 1299810.895 0, 1294264.745 1299793.568 0, 1294008.734 1299776.175 0, 1293630.756 1305342.169 0,
+ 1293252.788 1310908.007 0, 1293508.14 1310925.355 0, 1293762.308 1310942.638 0, 1294016.475 1310959.936 0, 1294270.64 1310977.249 0, 1294524.805 1310994.576 0, 1294778.969 1311011.919 0, 1295033.132 1311029.276 0, 1295287.294 1311046.649 0, 1295541.455 1311064.037 0,
+ 1295795.614 1311081.439 0, 1296049.773 1311098.856 0, 1296303.931 1311116.289 0, 1296558.087 1311133.736 0, 1296812.243 1311151.198 0, 1297066.398 1311168.676 0, 1297320.551 1311186.168 0, 1297574.704 1311203.675 0, 1297828.855 1311221.197 0, 1298083.006 1311238.734 0,
+ 1298337.155 1311256.286 0, 1298591.304 1311273.853 0, 1298845.451 1311291.435 0, 1299099.597 1311309.032 0, 1299352.561 1311326.562 0, 1299607.887 1311344.271 0, 1299862.03 1311361.913 0, 1300116.173 1311379.57 0, 1300370.314 1311397.241 0, 1300624.454 1311414.928 0,
+ 1300878.593 1311432.63 0, 1301132.731 1311450.346 0, 1301386.868 1311468.078 0, 1301641.004 1311485.824 0, 1301895.139 1311503.586 0, 1302149.273 1311521.362 0, 1302403.405 1311539.154 0, 1302657.537 1311556.96 0, 1302911.668 1311574.781 0, 1303165.798 1311592.617 0,
+ 1303419.926 1311610.469 0, 1303674.054 1311628.335 0, 1303928.18 1311646.216 0, 1304182.306 1311664.112 0, 1304436.43 1311682.023 0, 1304690.554 1311699.949 0, 1304944.676 1311717.89 0, 1305198.797 1311735.846 0, 1305451.737 1311753.733 0, 1305845.428 1306188.985 0,
+ 1306239.13 1300624.081 0))
+
+POLYGON ((1317648.247 1312633.92 0, 1317395.357 1312615.318 0, 1317141.288 1312596.644 0, 1316887.217 1312577.986 0, 1316633.146 1312559.342 0, 1316379.073 1312540.713 0, 1316124.999 1312522.099 0, 1315870.924 1312503.5 0, 1315616.848 1312484.916 0, 1315362.771 1312466.347 0,
+ 1315108.692 1312447.793 0, 1314854.613 1312429.253 0, 1314600.533 1312410.729 0, 1314346.451 1312392.22 0, 1314092.368 1312373.726 0, 1313838.285 1312355.246 0, 1313584.2 1312336.782 0, 1313330.114 1312318.332 0, 1313076.027 1312299.898 0, 1312821.939 1312281.478 0,
+ 1312567.85 1312263.074 0, 1312313.76 1312244.684 0, 1312059.668 1312226.309 0, 1311805.576 1312207.95 0, 1311550.303 1312189.52 0, 1311297.388 1312171.275 0, 1311043.292 1312152.96 0, 1310789.196 1312134.66 0, 1310535.098 1312116.375 0, 1310280.999 1312098.105 0,
+ 1310026.899 1312079.85 0, 1309772.798 1312061.61 0, 1309518.696 1312043.385 0, 1309264.593 1312025.175 0, 1309010.489 1312006.98 0, 1308756.383 1311988.799 0, 1308502.277 1311970.634 0, 1308248.169 1311952.484 0, 1307994.061 1311934.348 0, 1307739.951 1311916.228 0,
+ 1307485.841 1311898.122 0, 1307231.729 1311880.032 0, 1306977.616 1311861.956 0, 1306723.502 1311843.896 0, 1306469.388 1311825.85 0, 1306215.272 1311807.819 0, 1305961.155 1311789.803 0, 1305707.036 1311771.803 0, 1305451.737 1311753.733 0, 1305058.057 1317318.321 0,
+ 1304664.389 1322882.743 0, 1304919.031 1322900.766 0, 1305172.494 1322918.72 0, 1305425.956 1322936.689 0, 1305679.417 1322954.674 0, 1305932.877 1322972.673 0, 1306186.336 1322990.687 0, 1306439.793 1323008.716 0, 1306693.25 1323026.76 0, 1306946.706 1323044.819 0,
+ 1307200.16 1323062.892 0, 1307453.614 1323080.981 0, 1307707.066 1323099.085 0, 1307960.518 1323117.203 0, 1308213.968 1323135.336 0, 1308467.417 1323153.485 0, 1308720.865 1323171.648 0, 1308974.312 1323189.826 0, 1309227.758 1323208.019 0, 1309481.203 1323226.227 0,
+ 1309734.647 1323244.45 0, 1309988.09 1323262.688 0, 1310241.532 1323280.941 0, 1310494.972 1323299.208 0, 1310747.235 1323317.406 0, 1311001.85 1323335.788 0, 1311255.288 1323354.101 0, 1311508.724 1323372.428 0, 1311762.16 1323390.77 0, 1312015.594 1323409.128 0,
+ 1312269.027 1323427.5 0, 1312522.459 1323445.887 0, 1312775.89 1323464.289 0, 1313029.32 1323482.705 0, 1313282.748 1323501.137 0, 1313536.176 1323519.584 0, 1313789.603 1323538.045 0, 1314043.028 1323556.522 0, 1314296.453 1323575.013 0, 1314549.876 1323593.52 0,
+ 1314803.298 1323612.041 0, 1315056.719 1323630.577 0, 1315310.14 1323649.128 0, 1315563.559 1323667.694 0, 1315816.976 1323686.275 0, 1316070.393 1323704.871 0, 1316323.809 1323723.481 0, 1316577.224 1323742.107 0, 1316829.461 1323760.661 0, 1317238.848 1318197.374 0,
+ 1317648.247 1312633.92 0))
+
+POLYGON ((1328992.005 1324672.944 0, 1328739.819 1324653.678 0, 1328486.458 1324634.336 0, 1328233.095 1324615.009 0, 1327979.732 1324595.698 0, 1327726.368 1324576.401 0, 1327473.002 1324557.119 0, 1327219.636 1324537.852 0, 1326966.268 1324518.6 0, 1326712.899 1324499.363 0,
+ 1326459.529 1324480.141 0, 1326206.158 1324460.934 0, 1325952.785 1324441.741 0, 1325699.412 1324422.564 0, 1325446.037 1324403.401 0, 1325192.662 1324384.253 0, 1324939.285 1324365.121 0, 1324685.907 1324346.003 0, 1324432.528 1324326.9 0, 1324179.148 1324307.812 0,
+ 1323925.766 1324288.739 0, 1323672.384 1324269.681 0, 1323419 1324250.637 0, 1323165.616 1324231.609 0, 1322911.055 1324212.508 0, 1322658.843 1324193.597 0, 1322405.455 1324174.614 0, 1322152.066 1324155.645 0, 1321898.675 1324136.691 0, 1321645.284 1324117.752 0,
+ 1321391.892 1324098.828 0, 1321138.498 1324079.919 0, 1320885.103 1324061.025 0, 1320631.707 1324042.146 0, 1320378.31 1324023.282 0, 1320124.912 1324004.432 0, 1319871.513 1323985.598 0, 1319618.113 1323966.778 0, 1319364.712 1323947.974 0, 1319111.309 1323929.184 0,
+ 1318857.905 1323910.409 0, 1318604.501 1323891.649 0, 1318351.095 1323872.904 0, 1318097.688 1323854.174 0, 1317844.28 1323835.459 0, 1317590.871 1323816.759 0, 1317337.461 1323798.074 0, 1317084.049 1323779.403 0, 1316829.461 1323760.661 0, 1316420.087 1329323.778 0,
+ 1316010.726 1334886.719 0, 1316264.656 1334905.412 0, 1316517.412 1334924.035 0, 1316770.168 1334942.672 0, 1317022.922 1334961.324 0, 1317275.675 1334979.99 0, 1317528.427 1334998.672 0, 1317781.178 1335017.369 0, 1318033.928 1335036.08 0, 1318286.677 1335054.806 0,
+ 1318539.425 1335073.547 0, 1318792.171 1335092.303 0, 1319044.917 1335111.074 0, 1319297.661 1335129.86 0, 1319550.404 1335148.661 0, 1319803.146 1335167.476 0, 1320055.887 1335186.307 0, 1320308.627 1335205.152 0, 1320561.366 1335224.012 0, 1320814.104 1335242.887 0,
+ 1321066.84 1335261.777 0, 1321319.576 1335280.682 0, 1321572.31 1335299.602 0, 1321825.043 1335318.536 0, 1322076.604 1335337.398 0, 1322330.507 1335356.45 0, 1322583.236 1335375.429 0, 1322835.965 1335394.423 0, 1323088.693 1335413.432 0, 1323341.419 1335432.456 0,
+ 1323594.145 1335451.494 0, 1323846.869 1335470.548 0, 1324099.592 1335489.616 0, 1324352.314 1335508.7 0, 1324605.035 1335527.798 0, 1324857.755 1335546.911 0, 1325110.474 1335566.039 0, 1325363.191 1335585.182 0, 1325615.908 1335604.339 0, 1325868.623 1335623.512 0,
+ 1326121.337 1335642.699 0, 1326374.05 1335661.902 0, 1326626.762 1335681.119 0, 1326879.473 1335700.351 0, 1327132.183 1335719.598 0, 1327384.891 1335738.859 0, 1327637.599 1335758.136 0, 1327890.305 1335777.428 0, 1328141.84 1335796.645 0, 1328566.916 1330234.882 0,
+ 1328992.005 1324672.944 0))
+
+POLYGON ((1340270.334 1336740.839 0, 1340018.853 1336720.912 0, 1339766.202 1336700.906 0, 1339513.55 1336680.916 0, 1339260.897 1336660.94 0, 1339008.243 1336640.979 0, 1338755.587 1336621.033 0, 1338502.931 1336601.102 0, 1338250.273 1336581.186 0, 1337997.614 1336561.285 0,
+ 1337744.954 1336541.398 0, 1337492.292 1336521.527 0, 1337239.63 1336501.67 0, 1336986.966 1336481.828 0, 1336734.302 1336462.001 0, 1336481.636 1336442.189 0, 1336228.968 1336422.392 0, 1335976.3 1336402.61 0, 1335723.631 1336382.842 0, 1335470.96 1336363.09 0,
+ 1335218.288 1336343.352 0, 1334965.615 1336323.629 0, 1334712.941 1336303.921 0, 1334460.266 1336284.228 0, 1334206.42 1336264.459 0, 1333954.912 1336244.886 0, 1333702.233 1336225.238 0, 1333449.553 1336205.604 0, 1333196.872 1336185.986 0, 1332944.19 1336166.382 0,
+ 1332691.507 1336146.793 0, 1332438.822 1336127.219 0, 1332186.136 1336107.659 0, 1331933.45 1336088.115 0, 1331680.762 1336068.586 0, 1331428.073 1336049.071 0, 1331175.382 1336029.571 0, 1330922.691 1336010.086 0, 1330669.998 1335990.616 0, 1330417.305 1335971.161 0,
+ 1330164.61 1335951.721 0, 1329911.914 1335932.295 0, 1329659.217 1335912.885 0, 1329406.518 1335893.489 0, 1329153.819 1335874.108 0, 1328901.118 1335854.743 0, 1328648.417 1335835.392 0, 1328395.714 1335816.055 0, 1328141.84 1335796.645 0, 1327716.777 1341358.226 0,
+ 1327291.73 1346919.621 0, 1327544.946 1346938.981 0, 1327796.994 1346958.267 0, 1328049.041 1346977.568 0, 1328301.087 1346996.884 0, 1328553.132 1347016.215 0, 1328805.176 1347035.56 0, 1329057.218 1347054.92 0, 1329309.259 1347074.295 0, 1329561.3 1347093.685 0,
+ 1329813.339 1347113.09 0, 1330065.377 1347132.51 0, 1330317.413 1347151.944 0, 1330569.449 1347171.393 0, 1330821.483 1347190.857 0, 1331073.517 1347210.336 0, 1331325.549 1347229.83 0, 1331577.58 1347249.339 0, 1331829.61 1347268.862 0, 1332081.639 1347288.4 0,
+ 1332333.666 1347307.953 0, 1332585.693 1347327.521 0, 1332837.718 1347347.104 0, 1333089.742 1347366.702 0, 1333340.599 1347386.223 0, 1333593.787 1347405.941 0, 1333845.808 1347425.583 0, 1334097.827 1347445.24 0, 1334349.845 1347464.912 0, 1334601.863 1347484.599 0,
+ 1334853.879 1347504.3 0, 1335105.894 1347524.016 0, 1335357.907 1347543.747 0, 1335609.92 1347563.493 0, 1335861.931 1347583.254 0, 1336113.941 1347603.03 0, 1336365.95 1347622.82 0, 1336617.958 1347642.625 0, 1336869.965 1347662.445 0, 1337121.971 1347682.28 0,
+ 1337373.975 1347702.13 0, 1337625.978 1347721.995 0, 1337877.98 1347741.874 0, 1338129.981 1347761.768 0, 1338381.981 1347781.677 0, 1338633.98 1347801.601 0, 1338885.977 1347821.54 0, 1339137.973 1347841.493 0, 1339388.803 1347861.369 0, 1339829.561 1342301.197 0,
+ 1340270.334 1336740.839 0))
+
+POLYGON ((1351483.168 1348837.291 0, 1351232.393 1348816.706 0, 1350980.454 1348796.041 0, 1350728.514 1348775.39 0, 1350476.573 1348754.754 0, 1350224.63 1348734.133 0, 1349972.687 1348713.527 0, 1349720.742 1348692.936 0, 1349468.796 1348672.359 0, 1349216.848 1348651.798 0,
+ 1348964.9 1348631.251 0, 1348712.95 1348610.719 0, 1348460.999 1348590.202 0, 1348209.047 1348569.7 0, 1347957.094 1348549.212 0, 1347705.139 1348528.739 0, 1347453.183 1348508.282 0, 1347201.226 1348487.839 0, 1346949.268 1348467.41 0, 1346697.309 1348446.997 0,
+ 1346445.348 1348426.599 0, 1346193.386 1348406.215 0, 1345941.424 1348385.846 0, 1345689.459 1348365.492 0, 1345436.33 1348345.059 0, 1345185.527 1348324.829 0, 1344933.56 1348304.519 0, 1344681.591 1348284.224 0, 1344429.621 1348263.945 0, 1344177.649 1348243.679 0,
+ 1343925.677 1348223.429 0, 1343673.703 1348203.194 0, 1343421.728 1348182.973 0, 1343169.752 1348162.768 0, 1342917.775 1348142.577 0, 1342665.796 1348122.401 0, 1342413.816 1348102.24 0, 1342161.836 1348082.093 0, 1341909.854 1348061.962 0, 1341657.87 1348041.845 0,
+ 1341405.886 1348021.743 0, 1341153.9 1348001.656 0, 1340901.914 1347981.584 0, 1340649.926 1347961.526 0, 1340397.936 1347941.484 0, 1340145.946 1347921.456 0, 1339893.955 1347901.443 0, 1339641.962 1347881.445 0, 1339388.803 1347861.369 0, 1338948.06 1353421.35 0,
+ 1338507.333 1358981.135 0, 1338759.834 1359001.158 0, 1339011.172 1359021.104 0, 1339262.509 1359041.065 0, 1339513.845 1359061.041 0, 1339765.18 1359081.031 0, 1340016.513 1359101.037 0, 1340267.846 1359121.057 0, 1340519.177 1359141.092 0, 1340770.507 1359161.141 0,
+ 1341021.835 1359181.206 0, 1341273.163 1359201.285 0, 1341524.489 1359221.379 0, 1341775.815 1359241.488 0, 1342027.139 1359261.612 0, 1342278.461 1359281.75 0, 1342529.783 1359301.903 0, 1342781.104 1359322.071 0, 1343032.423 1359342.254 0, 1343283.741 1359362.452 0,
+ 1343535.058 1359382.664 0, 1343786.374 1359402.891 0, 1344037.688 1359423.133 0, 1344289.002 1359443.39 0, 1344539.153 1359463.568 0, 1344791.625 1359483.948 0, 1345042.934 1359504.249 0, 1345294.243 1359524.565 0, 1345545.55 1359544.896 0, 1345796.857 1359565.241 0,
+ 1346048.162 1359585.602 0, 1346299.465 1359605.977 0, 1346550.768 1359626.366 0, 1346802.069 1359646.771 0, 1347053.369 1359667.191 0, 1347304.668 1359687.625 0, 1347555.966 1359708.074 0, 1347807.263 1359728.538 0, 1348058.558 1359749.016 0, 1348309.852 1359769.51 0,
+ 1348561.145 1359790.018 0, 1348812.437 1359810.541 0, 1349063.727 1359831.079 0, 1349315.017 1359851.632 0, 1349566.305 1359872.199 0, 1349817.592 1359892.781 0, 1350068.877 1359913.378 0, 1350320.162 1359933.99 0, 1350570.285 1359954.521 0, 1351026.718 1354396.004 0,
+ 1351483.168 1348837.291 0))
+
+POLYGON ((1362630.44 1360961.984 0, 1362380.374 1360940.746 0, 1362129.148 1360919.424 0, 1361877.922 1360898.117 0, 1361626.694 1360876.825 0, 1361375.465 1360855.548 0, 1361124.235 1360834.286 0, 1360873.003 1360813.038 0, 1360621.771 1360791.805 0, 1360370.537 1360770.587 0,
+ 1360119.301 1360749.384 0, 1359868.065 1360728.195 0, 1359616.827 1360707.022 0, 1359365.588 1360685.863 0, 1359114.348 1360664.718 0, 1358863.106 1360643.589 0, 1358611.864 1360622.474 0, 1358360.62 1360601.375 0, 1358109.375 1360580.29 0, 1357858.128 1360559.219 0,
+ 1357606.88 1360538.164 0, 1357355.631 1360517.123 0, 1357104.381 1360496.098 0, 1356853.13 1360475.087 0, 1356600.719 1360453.993 0, 1356350.623 1360433.109 0, 1356099.368 1360412.142 0, 1355848.112 1360391.19 0, 1355596.854 1360370.253 0, 1355345.596 1360349.331 0,
+ 1355094.335 1360328.423 0, 1354843.074 1360307.53 0, 1354591.812 1360286.652 0, 1354340.548 1360265.789 0, 1354089.283 1360244.941 0, 1353838.017 1360224.107 0, 1353586.749 1360203.288 0, 1353335.481 1360182.484 0, 1353084.211 1360161.695 0, 1352832.94 1360140.921 0,
+ 1352581.668 1360120.161 0, 1352330.394 1360099.416 0, 1352079.119 1360078.686 0, 1351827.843 1360057.971 0, 1351576.566 1360037.27 0, 1351325.288 1360016.585 0, 1351074.008 1359995.914 0, 1350822.727 1359975.258 0, 1350570.285 1359954.521 0, 1350113.869 1365512.836 0,
+ 1349657.469 1371070.945 0, 1349909.254 1371091.627 0, 1350159.88 1371112.23 0, 1350410.506 1371132.847 0, 1350661.13 1371153.479 0, 1350911.753 1371174.125 0, 1351162.375 1371194.787 0, 1351412.995 1371215.463 0, 1351663.614 1371236.154 0, 1351914.232 1371256.859 0,
+ 1352164.849 1371277.58 0, 1352415.465 1371298.315 0, 1352666.079 1371319.065 0, 1352916.692 1371339.829 0, 1353167.304 1371360.608 0, 1353417.915 1371381.403 0, 1353668.524 1371402.211 0, 1353919.133 1371423.035 0, 1354169.74 1371443.873 0, 1354420.346 1371464.726 0,
+ 1354670.95 1371485.594 0, 1354921.553 1371506.477 0, 1355172.156 1371527.374 0, 1355422.756 1371548.286 0, 1355672.2 1371569.117 0, 1355923.955 1371590.155 0, 1356174.552 1371611.111 0, 1356425.148 1371632.082 0, 1356675.742 1371653.068 0, 1356926.336 1371674.069 0,
+ 1357176.928 1371695.084 0, 1357427.519 1371716.114 0, 1357678.109 1371737.159 0, 1357928.698 1371758.219 0, 1358179.285 1371779.293 0, 1358429.871 1371800.382 0, 1358680.456 1371821.486 0, 1358931.039 1371842.605 0, 1359181.622 1371863.738 0, 1359432.203 1371884.886 0,
+ 1359682.783 1371906.049 0, 1359933.361 1371927.226 0, 1360183.938 1371948.419 0, 1360434.515 1371969.626 0, 1360685.089 1371990.848 0, 1360935.663 1372012.084 0, 1361186.235 1372033.336 0, 1361436.807 1372054.602 0, 1361686.222 1372075.784 0, 1362158.322 1366518.987 0,
+ 1362630.44 1360961.984 0))
+
+POLYGON ((669703.622 765415.668 0, 669418.785 765435.019 0, 669132.511 765454.485 0, 668846.237 765473.967 0, 668559.965 765493.467 0, 668273.694 765512.983 0, 667987.425 765532.516 0, 667701.156 765552.066 0, 667414.889 765571.633 0, 667128.622 765591.217 0,
+ 666842.357 765610.817 0, 666556.093 765630.435 0, 666269.83 765650.069 0, 665983.569 765669.72 0, 665697.308 765689.388 0, 665411.049 765709.073 0, 665124.791 765728.775 0, 664838.534 765748.493 0, 664552.278 765768.229 0, 664266.023 765787.981 0,
+ 663979.77 765807.75 0, 663693.517 765827.536 0, 663407.266 765847.338 0, 663121.016 765867.158 0, 662833.328 765887.094 0, 662548.519 765906.848 0, 662262.273 765926.718 0, 661976.027 765946.605 0, 661689.783 765966.509 0, 661403.54 765986.429 0,
+ 661117.298 766006.367 0, 660831.058 766026.321 0, 660544.818 766046.293 0, 660258.58 766066.281 0, 659972.343 766086.286 0, 659686.107 766106.307 0, 659399.872 766126.346 0, 659113.638 766146.402 0, 658827.406 766166.474 0, 658541.175 766186.563 0,
+ 658254.944 766206.669 0, 657968.716 766226.792 0, 657682.488 766246.932 0, 657396.261 766267.088 0, 657110.036 766287.262 0, 656823.812 766307.452 0, 656537.589 766327.659 0, 656251.367 766347.883 0, 655963.707 766368.225 0, 656356.994 771927.26 0,
+ 656750.298 777486.545 0, 657037.301 777466.249 0, 657322.868 777446.071 0, 657608.437 777425.911 0, 657894.006 777405.766 0, 658179.577 777385.639 0, 658465.149 777365.529 0, 658750.723 777345.435 0, 659036.297 777325.358 0, 659321.873 777305.298 0,
+ 659607.45 777285.255 0, 659893.028 777265.229 0, 660178.607 777245.219 0, 660464.187 777225.226 0, 660749.769 777205.25 0, 661035.351 777185.291 0, 661320.935 777165.349 0, 661606.52 777145.423 0, 661892.107 777125.514 0, 662177.694 777105.622 0,
+ 662463.283 777085.747 0, 662748.872 777065.889 0, 663034.463 777046.047 0, 663320.055 777026.222 0, 663604.213 777006.514 0, 663891.243 776986.623 0, 664176.839 776966.849 0, 664462.435 776947.092 0, 664748.033 776927.351 0, 665033.632 776907.627 0,
+ 665319.232 776887.92 0, 665604.834 776868.23 0, 665890.436 776848.556 0, 666176.04 776828.9 0, 666461.645 776809.26 0, 666747.251 776789.637 0, 667032.858 776770.031 0, 667318.466 776750.441 0, 667604.076 776730.869 0, 667889.687 776711.313 0,
+ 668175.298 776691.774 0, 668460.911 776672.252 0, 668746.525 776652.747 0, 669032.141 776633.258 0, 669317.757 776613.787 0, 669603.374 776594.332 0, 669888.993 776574.894 0, 670174.613 776555.472 0, 670458.799 776536.165 0, 670081.202 770975.791 0,
+ 669703.622 765415.668 0))
+
+POLYGON ((769697.5 837787.656 0, 769416.886 837801.152 0, 769134.871 837814.732 0, 768852.856 837828.328 0, 768570.843 837841.942 0, 768288.83 837855.571 0, 768006.818 837869.218 0, 767724.807 837882.881 0, 767442.796 837896.56 0, 767160.787 837910.256 0,
+ 766878.778 837923.969 0, 766596.77 837937.698 0, 766314.763 837951.444 0, 766032.757 837965.207 0, 765750.751 837978.986 0, 765468.746 837992.782 0, 765186.743 838006.594 0, 764904.739 838020.423 0, 764622.737 838034.269 0, 764340.736 838048.131 0,
+ 764058.735 838062.01 0, 763776.735 838075.905 0, 763494.736 838089.817 0, 763212.738 838103.745 0, 762929.338 838117.76 0, 762648.744 838131.652 0, 762366.749 838145.631 0, 762084.754 838159.625 0, 761802.76 838173.637 0, 761520.766 838187.665 0,
+ 761238.774 838201.71 0, 760956.782 838215.771 0, 760674.792 838229.849 0, 760392.802 838243.944 0, 760110.813 838258.055 0, 759828.824 838272.182 0, 759546.837 838286.327 0, 759264.85 838300.488 0, 758982.865 838314.665 0, 758700.88 838328.859 0,
+ 758418.895 838343.07 0, 758136.912 838357.297 0, 757854.93 838371.541 0, 757572.948 838385.801 0, 757290.967 838400.078 0, 757008.988 838414.372 0, 756727.009 838428.682 0, 756445.03 838443.009 0, 756161.65 838457.424 0, 756445.091 844026.323 0,
+ 756728.543 849595.421 0, 757011.265 849581.04 0, 757292.587 849566.746 0, 757573.911 849552.469 0, 757855.235 849538.209 0, 758136.56 849523.965 0, 758417.886 849509.738 0, 758699.213 849495.527 0, 758980.541 849481.333 0, 759261.869 849467.155 0,
+ 759543.199 849452.994 0, 759824.529 849438.85 0, 760105.86 849424.722 0, 760387.192 849410.61 0, 760668.524 849396.515 0, 760949.858 849382.437 0, 761231.192 849368.375 0, 761512.527 849354.33 0, 761793.863 849340.302 0, 762075.2 849326.289 0,
+ 762356.538 849312.294 0, 762637.876 849298.315 0, 762919.215 849284.353 0, 763200.556 849270.407 0, 763480.497 849256.547 0, 763763.238 849242.565 0, 764044.581 849228.669 0, 764325.924 849214.789 0, 764607.268 849200.926 0, 764888.613 849187.08 0,
+ 765169.959 849173.25 0, 765451.306 849159.436 0, 765732.653 849145.64 0, 766014.002 849131.859 0, 766295.351 849118.096 0, 766576.701 849104.349 0, 766858.051 849090.618 0, 767139.403 849076.904 0, 767420.755 849063.207 0, 767702.108 849049.526 0,
+ 767983.462 849035.861 0, 768264.817 849022.214 0, 768546.172 849008.582 0, 768827.529 848994.968 0, 769108.886 848981.37 0, 769390.244 848967.788 0, 769671.602 848954.223 0, 769952.962 848940.675 0, 770232.924 848927.21 0, 769965.207 843357.333 0,
+ 769697.5 837787.656 0))
+
+POLYGON ((783739.14 848297.154 0, 783459.138 848309.828 0, 783177.742 848322.581 0, 782896.346 848335.351 0, 782614.951 848348.138 0, 782333.556 848360.941 0, 782052.163 848373.761 0, 781770.77 848386.597 0, 781489.377 848399.45 0, 781207.986 848412.319 0,
+ 780926.595 848425.205 0, 780645.206 848438.108 0, 780363.816 848451.027 0, 780082.428 848463.962 0, 779801.04 848476.915 0, 779519.654 848489.883 0, 779238.268 848502.869 0, 778956.882 848515.87 0, 778675.498 848528.889 0, 778394.114 848541.924 0,
+ 778112.731 848554.975 0, 777831.349 848568.044 0, 777549.967 848581.128 0, 777268.586 848594.23 0, 776985.809 848607.412 0, 776705.827 848620.482 0, 776424.449 848633.633 0, 776143.071 848646.8 0, 775861.695 848659.984 0, 775580.319 848673.185 0,
+ 775298.943 848686.402 0, 775017.569 848699.636 0, 774736.195 848712.886 0, 774454.822 848726.153 0, 774173.45 848739.436 0, 773892.079 848752.736 0, 773610.708 848766.053 0, 773329.338 848779.386 0, 773047.969 848792.736 0, 772766.601 848806.102 0,
+ 772485.233 848819.485 0, 772203.867 848832.884 0, 771922.501 848846.3 0, 771641.136 848859.732 0, 771359.772 848873.181 0, 771078.408 848886.647 0, 770797.045 848900.129 0, 770515.683 848913.628 0, 770232.924 848927.21 0, 770500.65 854497.283 0,
+ 770768.386 860067.547 0, 771050.486 860053.996 0, 771331.192 860040.529 0, 771611.899 860027.078 0, 771892.607 860013.644 0, 772173.316 860000.226 0, 772454.025 859986.825 0, 772734.735 859973.44 0, 773015.446 859960.072 0, 773296.158 859946.721 0,
+ 773576.87 859933.386 0, 773857.584 859920.067 0, 774138.298 859906.765 0, 774419.013 859893.48 0, 774699.728 859880.211 0, 774980.445 859866.958 0, 775261.162 859853.722 0, 775541.88 859840.503 0, 775822.599 859827.3 0, 776103.318 859814.113 0,
+ 776384.038 859800.944 0, 776664.76 859787.79 0, 776945.481 859774.653 0, 777226.204 859761.533 0, 777505.534 859748.494 0, 777787.652 859735.342 0, 778068.377 859722.271 0, 778349.102 859709.217 0, 778629.829 859696.18 0, 778910.556 859683.158 0,
+ 779191.284 859670.154 0, 779472.013 859657.166 0, 779752.742 859644.194 0, 780033.473 859631.239 0, 780314.204 859618.301 0, 780594.936 859605.379 0, 780875.668 859592.473 0, 781156.402 859579.584 0, 781437.136 859566.712 0, 781717.871 859553.856 0,
+ 781998.606 859541.016 0, 782279.343 859528.193 0, 782560.08 859515.387 0, 782840.818 859502.597 0, 783121.556 859489.824 0, 783402.296 859477.067 0, 783683.036 859464.327 0, 783963.777 859451.603 0, 784243.126 859438.959 0, 783991.128 853867.961 0,
+ 783739.14 848297.154 0))
+
+POLYGON ((797719.588 858848.442 0, 797440.202 858860.297 0, 797159.426 858872.228 0, 796878.651 858884.175 0, 796597.877 858896.139 0, 796317.103 858908.119 0, 796036.33 858920.115 0, 795755.558 858932.128 0, 795474.787 858944.158 0, 795194.016 858956.204 0,
+ 794913.246 858968.267 0, 794632.477 858980.346 0, 794351.708 858992.442 0, 794070.94 859004.554 0, 793790.173 859016.683 0, 793509.406 859028.829 0, 793228.64 859040.99 0, 792947.875 859053.169 0, 792667.111 859065.364 0, 792386.347 859077.575 0,
+ 792105.584 859089.803 0, 791824.822 859102.048 0, 791544.061 859114.309 0, 791263.3 859126.586 0, 790981.148 859138.941 0, 790701.781 859151.191 0, 790421.022 859163.518 0, 790140.264 859175.862 0, 789859.507 859188.222 0, 789578.751 859200.599 0,
+ 789297.995 859212.992 0, 789017.24 859225.402 0, 788736.486 859237.828 0, 788455.732 859250.271 0, 788174.98 859262.73 0, 787894.227 859275.206 0, 787613.476 859287.699 0, 787332.726 859300.207 0, 787051.976 859312.733 0, 786771.227 859325.275 0,
+ 786490.478 859337.833 0, 786209.731 859350.408 0, 785928.984 859363 0, 785648.238 859375.608 0, 785367.492 859388.232 0, 785086.748 859400.874 0, 784806.004 859413.531 0, 784525.261 859426.205 0, 784243.126 859438.959 0, 784495.131 865010.146 0,
+ 784747.146 870581.516 0, 785028.622 870568.793 0, 785308.709 870556.148 0, 785588.797 870543.52 0, 785868.886 870530.908 0, 786148.975 870518.313 0, 786429.066 870505.735 0, 786709.157 870493.173 0, 786989.248 870480.627 0, 787269.341 870468.098 0,
+ 787549.434 870455.585 0, 787829.528 870443.089 0, 788109.623 870430.609 0, 788389.718 870418.146 0, 788669.814 870405.699 0, 788949.911 870393.269 0, 789230.009 870380.855 0, 789510.107 870368.458 0, 789790.206 870356.077 0, 790070.306 870343.713 0,
+ 790350.407 870331.365 0, 790630.508 870319.034 0, 790910.61 870306.719 0, 791190.713 870294.421 0, 791469.428 870282.2 0, 791750.92 870269.873 0, 792031.025 870257.625 0, 792311.131 870245.392 0, 792591.237 870233.176 0, 792871.344 870220.977 0,
+ 793151.452 870208.794 0, 793431.56 870196.627 0, 793711.67 870184.478 0, 793991.78 870172.344 0, 794271.89 870160.227 0, 794552.002 870148.127 0, 794832.114 870136.043 0, 795112.226 870123.975 0, 795392.34 870111.924 0, 795672.454 870099.889 0,
+ 795952.569 870087.871 0, 796232.685 870075.87 0, 796512.801 870063.885 0, 796792.918 870051.916 0, 797073.036 870039.964 0, 797353.154 870028.028 0, 797633.273 870016.109 0, 797913.393 870004.206 0, 798192.126 869992.379 0, 797955.853 864420.319 0,
+ 797719.588 858848.442 0))
+
+POLYGON ((811638.717 869441.229 0, 811359.949 869452.269 0, 811079.797 869463.38 0, 810799.645 869474.508 0, 810519.494 869485.652 0, 810239.344 869496.812 0, 809959.194 869507.99 0, 809679.045 869519.183 0, 809398.897 869530.393 0, 809118.749 869541.62 0,
+ 808838.602 869552.863 0, 808558.456 869564.123 0, 808278.31 869575.399 0, 807998.165 869586.692 0, 807718.021 869598.001 0, 807437.877 869609.326 0, 807157.734 869620.668 0, 806877.591 869632.027 0, 806597.45 869643.402 0, 806317.308 869654.793 0,
+ 806037.168 869666.201 0, 805757.028 869677.626 0, 805476.889 869689.067 0, 805196.751 869700.524 0, 804915.227 869712.055 0, 804636.476 869723.489 0, 804356.34 869734.996 0, 804076.204 869746.519 0, 803796.069 869758.059 0, 803515.935 869769.616 0,
+ 803235.801 869781.189 0, 802955.668 869792.778 0, 802675.536 869804.384 0, 802395.404 869816.006 0, 802115.274 869827.645 0, 801835.143 869839.3 0, 801555.014 869850.972 0, 801274.885 869862.661 0, 800994.757 869874.365 0, 800714.629 869886.087 0,
+ 800434.503 869897.824 0, 800154.377 869909.579 0, 799874.251 869921.35 0, 799594.126 869933.137 0, 799314.002 869944.94 0, 799033.879 869956.761 0, 798753.757 869968.597 0, 798473.635 869980.451 0, 798192.126 869992.379 0, 798428.406 875564.62 0,
+ 798664.695 881137.038 0, 798945.544 881125.138 0, 799225.01 881113.312 0, 799504.477 881101.503 0, 799783.944 881089.711 0, 800063.412 881077.935 0, 800342.881 881066.175 0, 800622.35 881054.432 0, 800901.82 881042.705 0, 801181.291 881030.995 0,
+ 801460.763 881019.301 0, 801740.235 881007.624 0, 802019.708 880995.963 0, 802299.181 880984.318 0, 802578.656 880972.69 0, 802858.131 880961.078 0, 803137.606 880949.483 0, 803417.082 880937.905 0, 803696.559 880926.342 0, 803976.037 880914.796 0,
+ 804255.515 880903.267 0, 804534.994 880891.754 0, 804814.474 880880.258 0, 805093.954 880868.778 0, 805372.052 880857.371 0, 805652.917 880845.867 0, 805932.4 880834.436 0, 806211.883 880823.022 0, 806491.366 880811.624 0, 806770.851 880800.243 0,
+ 807050.336 880788.878 0, 807329.822 880777.53 0, 807609.308 880766.198 0, 807888.795 880754.882 0, 808168.283 880743.583 0, 808447.771 880732.301 0, 808727.26 880721.035 0, 809006.75 880709.785 0, 809286.24 880698.552 0, 809565.731 880687.335 0,
+ 809845.223 880676.134 0, 810124.715 880664.951 0, 810404.208 880653.783 0, 810683.702 880642.632 0, 810963.196 880631.498 0, 811242.691 880620.379 0, 811522.187 880609.278 0, 811801.683 880598.193 0, 812079.798 880587.179 0, 811859.254 875014.115 0,
+ 811638.717 869441.229 0))
+
+POLYGON ((825496.401 880075.221 0, 825218.255 880085.449 0, 824938.728 880095.745 0, 824659.202 880106.057 0, 824379.677 880116.385 0, 824100.152 880126.73 0, 823820.628 880137.092 0, 823541.105 880147.469 0, 823261.582 880157.864 0, 822982.06 880168.274 0,
+ 822702.538 880178.701 0, 822423.017 880189.145 0, 822143.497 880199.605 0, 821863.977 880210.082 0, 821584.458 880220.575 0, 821304.939 880231.084 0, 821025.421 880241.61 0, 820745.904 880252.152 0, 820466.387 880262.711 0, 820186.871 880273.286 0,
+ 819907.356 880283.878 0, 819627.841 880294.486 0, 819348.327 880305.111 0, 819068.813 880315.752 0, 818787.919 880326.462 0, 818509.788 880337.083 0, 818230.276 880347.773 0, 817950.765 880358.48 0, 817671.255 880369.203 0, 817391.745 880379.943 0,
+ 817112.236 880390.699 0, 816832.727 880401.472 0, 816553.219 880412.261 0, 816273.712 880423.067 0, 815994.206 880433.889 0, 815714.7 880444.727 0, 815435.194 880455.582 0, 815155.69 880466.453 0, 814876.186 880477.341 0, 814596.682 880488.245 0,
+ 814317.179 880499.166 0, 814037.677 880510.103 0, 813758.176 880521.057 0, 813478.675 880532.027 0, 813199.175 880543.013 0, 812919.675 880554.016 0, 812640.176 880565.036 0, 812360.678 880576.072 0, 812079.798 880587.179 0, 812300.349 886160.415 0,
+ 812520.907 891733.82 0, 812801.127 891722.739 0, 813079.969 891711.729 0, 813358.812 891700.736 0, 813637.656 891689.759 0, 813916.5 891678.798 0, 814195.345 891667.854 0, 814474.19 891656.926 0, 814753.036 891646.014 0, 815031.883 891635.119 0,
+ 815310.73 891624.241 0, 815589.578 891613.378 0, 815868.427 891602.533 0, 816147.276 891591.703 0, 816426.126 891580.89 0, 816704.976 891570.094 0, 816983.828 891559.313 0, 817262.679 891548.55 0, 817541.532 891537.802 0, 817820.385 891527.071 0,
+ 818099.238 891516.357 0, 818378.093 891505.659 0, 818656.948 891494.977 0, 818935.803 891484.312 0, 819213.281 891473.716 0, 819493.516 891463.031 0, 819772.374 891452.414 0, 820051.232 891441.815 0, 820330.091 891431.232 0, 820608.95 891420.665 0,
+ 820887.81 891410.114 0, 821166.67 891399.58 0, 821445.532 891389.063 0, 821724.393 891378.562 0, 822003.256 891368.077 0, 822282.119 891357.609 0, 822560.983 891347.157 0, 822839.847 891336.721 0, 823118.712 891326.302 0, 823397.577 891315.899 0,
+ 823676.443 891305.513 0, 823955.31 891295.143 0, 824234.177 891284.79 0, 824513.045 891274.453 0, 824791.914 891264.132 0, 825070.783 891253.828 0, 825349.653 891243.54 0, 825628.523 891233.269 0, 825906.017 891223.065 0, 825701.206 885649.058 0,
+ 825496.401 880075.221 0))
+
+POLYGON ((839292.517 890750.126 0, 839014.993 890759.547 0, 838736.095 890769.03 0, 838457.197 890778.53 0, 838178.3 890788.046 0, 837899.403 890797.579 0, 837620.507 890807.128 0, 837341.612 890816.694 0, 837062.717 890826.276 0, 836783.823 890835.874 0,
+ 836504.929 890845.489 0, 836226.036 890855.12 0, 835947.143 890864.768 0, 835668.251 890874.432 0, 835389.359 890884.112 0, 835110.468 890893.809 0, 834831.578 890903.522 0, 834552.688 890913.252 0, 834273.799 890922.998 0, 833994.91 890932.761 0,
+ 833716.022 890942.539 0, 833437.135 890952.335 0, 833158.248 890962.147 0, 832879.362 890971.975 0, 832599.1 890981.868 0, 832321.591 890991.68 0, 832042.706 891001.558 0, 831763.822 891011.452 0, 831484.939 891021.362 0, 831206.056 891031.289 0,
+ 830927.174 891041.232 0, 830648.292 891051.191 0, 830369.411 891061.167 0, 830090.53 891071.159 0, 829811.65 891081.168 0, 829532.771 891091.193 0, 829253.892 891101.235 0, 828975.014 891111.293 0, 828696.137 891121.367 0, 828417.26 891131.458 0,
+ 828138.383 891141.565 0, 827859.508 891151.689 0, 827580.632 891161.829 0, 827301.758 891171.985 0, 827022.884 891182.158 0, 826744.011 891192.348 0, 826465.138 891202.553 0, 826186.266 891212.775 0, 825906.017 891223.065 0, 826110.834 896797.236 0,
+ 826315.657 902371.57 0, 826595.246 902361.305 0, 826873.462 902351.107 0, 827151.679 902340.925 0, 827429.896 902330.76 0, 827708.114 902320.611 0, 827986.332 902310.478 0, 828264.551 902300.362 0, 828542.771 902290.262 0, 828820.991 902280.179 0,
+ 829099.211 902270.112 0, 829377.433 902260.061 0, 829655.655 902250.027 0, 829933.877 902240.009 0, 830212.1 902230.007 0, 830490.324 902220.022 0, 830768.548 902210.053 0, 831046.773 902200.101 0, 831324.999 902190.165 0, 831603.225 902180.245 0,
+ 831881.452 902170.342 0, 832159.679 902160.455 0, 832437.907 902150.584 0, 832716.135 902140.73 0, 832992.991 902130.941 0, 833272.593 902121.071 0, 833550.824 902111.266 0, 833829.054 902101.477 0, 834107.286 902091.705 0, 834385.517 902081.949 0,
+ 834663.75 902072.209 0, 834941.983 902062.486 0, 835220.216 902052.779 0, 835498.45 902043.089 0, 835776.685 902033.415 0, 836054.92 902023.757 0, 836333.156 902014.116 0, 836611.393 902004.491 0, 836889.63 901994.882 0, 837167.867 901985.29 0,
+ 837446.105 901975.714 0, 837724.344 901966.155 0, 838002.583 901956.612 0, 838280.823 901947.085 0, 838559.063 901937.575 0, 838837.304 901928.081 0, 839115.546 901918.604 0, 839393.788 901909.142 0, 839670.658 901899.744 0, 839481.585 896324.854 0,
+ 839292.517 890750.126 0))
+
+POLYGON ((853026.94 901465.651 0, 852750.042 901474.267 0, 852471.774 901482.942 0, 852193.507 901491.633 0, 851915.24 901500.341 0, 851636.974 901509.065 0, 851358.708 901517.806 0, 851080.443 901526.563 0, 850802.179 901535.336 0, 850523.915 901544.126 0,
+ 850245.651 901552.932 0, 849967.388 901561.754 0, 849689.126 901570.593 0, 849410.864 901579.448 0, 849132.602 901588.32 0, 848854.341 901597.208 0, 848576.081 901606.112 0, 848297.821 901615.033 0, 848019.562 901623.97 0, 847741.303 901632.923 0,
+ 847463.045 901641.893 0, 847184.787 901650.879 0, 846906.53 901659.882 0, 846628.273 901668.901 0, 846348.646 901677.981 0, 846071.761 901686.988 0, 845793.506 901696.056 0, 845515.251 901705.14 0, 845236.997 901714.241 0, 844958.744 901723.359 0,
+ 844680.491 901732.492 0, 844402.238 901741.642 0, 844123.987 901750.808 0, 843845.735 901759.991 0, 843567.484 901769.19 0, 843289.234 901778.406 0, 843010.984 901787.638 0, 842732.735 901796.886 0, 842454.487 901806.151 0, 842176.238 901815.432 0,
+ 841897.991 901824.729 0, 841619.744 901834.043 0, 841341.497 901843.373 0, 841063.252 901852.719 0, 840785.006 901862.082 0, 840506.761 901871.462 0, 840228.517 901880.857 0, 839950.273 901890.269 0, 839670.658 901899.744 0, 839859.737 907474.792 0,
+ 840048.822 913049.993 0, 840327.777 913040.54 0, 840605.364 913031.15 0, 840882.952 913021.777 0, 841160.541 913012.42 0, 841438.13 913003.079 0, 841715.72 912993.755 0, 841993.31 912984.446 0, 842270.9 912975.155 0, 842548.492 912965.879 0,
+ 842826.084 912956.62 0, 843103.676 912947.377 0, 843381.269 912938.151 0, 843658.862 912928.941 0, 843936.456 912919.747 0, 844214.051 912910.57 0, 844491.646 912901.408 0, 844769.241 912892.264 0, 845046.837 912883.135 0, 845324.434 912874.023 0,
+ 845602.031 912864.928 0, 845879.629 912855.848 0, 846157.227 912846.785 0, 846434.826 912837.738 0, 846711.058 912828.752 0, 846990.025 912819.694 0, 847267.626 912810.696 0, 847545.227 912801.715 0, 847822.828 912792.75 0, 848100.43 912783.801 0,
+ 848378.033 912774.869 0, 848655.636 912765.953 0, 848933.239 912757.053 0, 849210.843 912748.17 0, 849488.448 912739.303 0, 849766.053 912730.452 0, 850043.659 912721.618 0, 850321.265 912712.8 0, 850598.871 912703.998 0, 850876.479 912695.213 0,
+ 851154.086 912686.444 0, 851431.695 912677.692 0, 851709.303 912668.955 0, 851986.913 912660.235 0, 852264.522 912651.532 0, 852542.133 912642.845 0, 852819.743 912634.174 0, 853097.355 912625.519 0, 853373.6 912616.923 0, 853200.267 907041.21 0,
+ 853026.94 901465.651 0))
+
+POLYGON ((866699.549 912221.5 0, 866423.278 912229.316 0, 866145.644 912237.186 0, 865868.009 912245.073 0, 865590.376 912252.976 0, 865312.742 912260.895 0, 865035.11 912268.83 0, 864757.477 912276.782 0, 864479.845 912284.751 0, 864202.214 912292.735 0,
+ 863924.583 912300.736 0, 863646.953 912308.753 0, 863369.323 912316.787 0, 863091.693 912324.837 0, 862814.064 912332.903 0, 862536.436 912340.986 0, 862258.808 912349.085 0, 861981.18 912357.2 0, 861703.553 912365.332 0, 861425.926 912373.48 0,
+ 861148.3 912381.644 0, 860870.674 912389.825 0, 860593.049 912398.022 0, 860315.424 912406.236 0, 860036.435 912414.506 0, 859760.177 912422.711 0, 859482.553 912430.974 0, 859204.931 912439.253 0, 858927.308 912447.548 0, 858649.686 912455.859 0,
+ 858372.065 912464.187 0, 858094.444 912472.531 0, 857816.824 912480.891 0, 857539.204 912489.268 0, 857261.585 912497.661 0, 856983.966 912506.071 0, 856706.348 912514.497 0, 856428.73 912522.939 0, 856151.112 912531.397 0, 855873.496 912539.872 0,
+ 855595.879 912548.363 0, 855318.263 912556.871 0, 855040.648 912565.395 0, 854763.033 912573.935 0, 854485.419 912582.491 0, 854207.805 912591.064 0, 853930.192 912599.653 0, 853652.579 912608.259 0, 853373.6 912616.923 0, 853546.937 918192.786 0,
+ 853720.279 923768.796 0, 853998.598 923760.152 0, 854275.554 923751.567 0, 854552.511 923742.998 0, 854829.469 923734.445 0, 855106.427 923725.909 0, 855383.385 923717.389 0, 855660.344 923708.885 0, 855937.304 923700.398 0, 856214.264 923691.927 0,
+ 856491.224 923683.472 0, 856768.185 923675.033 0, 857045.147 923666.611 0, 857322.109 923658.205 0, 857599.071 923649.816 0, 857876.034 923641.442 0, 858152.997 923633.085 0, 858429.961 923624.745 0, 858706.926 923616.42 0, 858983.891 923608.112 0,
+ 859260.856 923599.821 0, 859537.822 923591.545 0, 859814.788 923583.286 0, 860091.755 923575.043 0, 860367.36 923566.857 0, 860645.69 923558.606 0, 860922.659 923550.412 0, 861199.627 923542.235 0, 861476.597 923534.073 0, 861753.566 923525.928 0,
+ 862030.537 923517.799 0, 862307.507 923509.687 0, 862584.478 923501.591 0, 862861.45 923493.511 0, 863138.422 923485.447 0, 863415.395 923477.4 0, 863692.368 923469.369 0, 863969.341 923461.354 0, 864246.315 923453.356 0, 864523.29 923445.374 0,
+ 864800.265 923437.408 0, 865077.24 923429.459 0, 865354.216 923421.526 0, 865631.193 923413.609 0, 865908.169 923405.708 0, 866185.147 923397.824 0, 866462.124 923389.956 0, 866739.103 923382.105 0, 867014.72 923374.308 0, 866857.132 917797.831 0,
+ 866699.549 912221.5 0))
+
+POLYGON ((880310.223 923017.381 0, 880034.582 923024.399 0, 879757.583 923031.468 0, 879480.584 923038.553 0, 879203.586 923045.655 0, 878926.588 923052.773 0, 878649.59 923059.907 0, 878372.593 923067.058 0, 878095.596 923074.225 0, 877818.6 923081.408 0,
+ 877541.604 923088.607 0, 877264.608 923095.823 0, 876987.613 923103.055 0, 876710.618 923110.304 0, 876433.624 923117.569 0, 876156.63 923124.85 0, 875879.637 923132.147 0, 875602.644 923139.461 0, 875325.652 923146.79 0, 875048.66 923154.137 0,
+ 874771.668 923161.499 0, 874494.677 923168.878 0, 874217.686 923176.273 0, 873940.696 923183.685 0, 873662.345 923191.149 0, 873386.716 923198.556 0, 873109.727 923206.017 0, 872832.739 923213.494 0, 872555.75 923220.986 0, 872278.763 923228.496 0,
+ 872001.775 923236.021 0, 871724.789 923243.563 0, 871447.802 923251.121 0, 871170.816 923258.696 0, 870893.831 923266.287 0, 870616.846 923273.894 0, 870339.861 923281.517 0, 870062.877 923289.157 0, 869785.893 923296.813 0, 869508.91 923304.485 0,
+ 869231.927 923312.174 0, 868954.945 923319.879 0, 868677.963 923327.6 0, 868400.982 923335.337 0, 868124.001 923343.091 0, 867847.02 923350.861 0, 867570.04 923358.648 0, 867293.06 923366.45 0, 867014.72 923374.308 0, 867172.312 928950.927 0,
+ 867329.907 934527.684 0, 867607.588 934519.845 0, 867883.911 934512.061 0, 868160.235 934504.293 0, 868436.559 934496.541 0, 868712.883 934488.806 0, 868989.208 934481.086 0, 869265.534 934473.383 0, 869541.86 934465.697 0, 869818.186 934458.026 0,
+ 870094.513 934450.372 0, 870370.84 934442.735 0, 870647.168 934435.113 0, 870923.496 934427.508 0, 871199.824 934419.919 0, 871476.153 934412.346 0, 871752.483 934404.789 0, 872028.813 934397.249 0, 872305.143 934389.725 0, 872581.474 934382.217 0,
+ 872857.805 934374.726 0, 873134.137 934367.251 0, 873410.469 934359.792 0, 873686.801 934352.349 0, 873961.777 934344.959 0, 874239.468 934337.512 0, 874515.802 934330.119 0, 874792.136 934322.741 0, 875068.471 934315.38 0, 875344.806 934308.034 0,
+ 875621.141 934300.706 0, 875897.477 934293.393 0, 876173.814 934286.097 0, 876450.151 934278.817 0, 876726.488 934271.553 0, 877002.826 934264.305 0, 877279.164 934257.074 0, 877555.502 934249.859 0, 877831.841 934242.661 0, 878108.181 934235.478 0,
+ 878384.521 934228.312 0, 878660.861 934221.162 0, 878937.202 934214.028 0, 879213.543 934206.911 0, 879489.884 934199.81 0, 879766.226 934192.725 0, 880042.569 934185.656 0, 880318.911 934178.604 0, 880593.898 934171.603 0, 880452.059 928594.422 0,
+ 880310.223 923017.381 0))
+
+POLYGON ((893858.843 933852.996 0, 893583.835 933859.221 0, 893307.473 933865.492 0, 893031.112 933871.78 0, 892754.751 933878.084 0, 892478.391 933884.405 0, 892202.031 933890.741 0, 891925.671 933897.094 0, 891649.311 933903.463 0, 891372.952 933909.849 0,
+ 891096.594 933916.25 0, 890820.236 933922.668 0, 890543.878 933929.103 0, 890267.52 933935.553 0, 889991.163 933942.02 0, 889714.806 933948.503 0, 889438.45 933955.002 0, 889162.094 933961.518 0, 888885.738 933968.05 0, 888609.383 933974.598 0,
+ 888333.029 933981.162 0, 888056.674 933987.743 0, 887780.32 933994.34 0, 887503.966 934000.953 0, 887226.258 934007.615 0, 886951.26 934014.228 0, 886674.908 934020.89 0, 886398.556 934027.568 0, 886122.204 934034.263 0, 885845.853 934040.973 0,
+ 885569.502 934047.7 0, 885293.151 934054.444 0, 885016.801 934061.203 0, 884740.452 934067.979 0, 884464.102 934074.771 0, 884187.753 934081.579 0, 883911.405 934088.404 0, 883635.057 934095.245 0, 883358.709 934102.102 0, 883082.362 934108.975 0,
+ 882806.015 934115.865 0, 882529.668 934122.771 0, 882253.322 934129.693 0, 881976.977 934136.632 0, 881700.632 934143.586 0, 881424.287 934150.557 0, 881147.942 934157.545 0, 880871.598 934164.548 0, 880593.898 934171.603 0, 880735.742 939748.917 0,
+ 880877.588 945326.362 0, 881154.628 945319.324 0, 881430.315 945312.337 0, 881706.003 945305.367 0, 881981.692 945298.412 0, 882257.38 945291.474 0, 882533.069 945284.552 0, 882808.759 945277.646 0, 883084.449 945270.757 0, 883360.139 945263.883 0,
+ 883635.83 945257.026 0, 883911.521 945250.185 0, 884187.213 945243.361 0, 884462.904 945236.552 0, 884738.597 945229.76 0, 885014.29 945222.984 0, 885289.983 945216.225 0, 885565.676 945209.481 0, 885841.37 945202.754 0, 886117.064 945196.043 0,
+ 886392.759 945189.348 0, 886668.454 945182.669 0, 886944.15 945176.007 0, 887219.846 945169.361 0, 887494.19 945162.763 0, 887771.239 945156.117 0, 888046.936 945149.52 0, 888322.633 945142.939 0, 888598.331 945136.374 0, 888874.029 945129.825 0,
+ 889149.728 945123.292 0, 889425.427 945116.776 0, 889701.126 945110.276 0, 889976.826 945103.792 0, 890252.526 945097.324 0, 890528.227 945090.873 0, 890803.928 945084.438 0, 891079.629 945078.019 0, 891355.331 945071.616 0, 891631.033 945065.23 0,
+ 891906.735 945058.859 0, 892182.438 945052.505 0, 892458.141 945046.168 0, 892733.844 945039.846 0, 893009.548 945033.541 0, 893285.253 945027.251 0, 893560.957 945020.979 0, 893836.662 945014.722 0, 894111.017 945008.512 0, 893984.928 939430.689 0,
+ 893858.843 933852.996 0))
+
+POLYGON ((907345.291 944728.05 0, 907070.918 944733.485 0, 906795.196 944738.963 0, 906519.475 944744.457 0, 906243.754 944749.967 0, 905968.033 944755.494 0, 905692.313 944761.036 0, 905416.593 944766.595 0, 905140.873 944772.17 0, 904865.154 944777.762 0,
+ 904589.435 944783.369 0, 904313.717 944788.993 0, 904037.998 944794.633 0, 903762.28 944800.289 0, 903486.563 944805.962 0, 903210.845 944811.65 0, 902935.128 944817.355 0, 902659.412 944823.076 0, 902383.695 944828.814 0, 902107.979 944834.567 0,
+ 901832.264 944840.337 0, 901556.548 944846.123 0, 901280.833 944851.926 0, 901005.119 944857.744 0, 900728.055 944863.608 0, 900453.691 944869.43 0, 900177.977 944875.297 0, 899902.264 944881.181 0, 899626.551 944887.08 0, 899350.838 944892.996 0,
+ 899075.126 944898.928 0, 898799.414 944904.877 0, 898523.703 944910.841 0, 898247.992 944916.822 0, 897972.281 944922.819 0, 897696.571 944928.832 0, 897420.861 944934.862 0, 897145.151 944940.908 0, 896869.441 944946.969 0, 896593.732 944953.048 0,
+ 896318.024 944959.142 0, 896042.316 944965.253 0, 895766.608 944971.38 0, 895490.9 944977.523 0, 895215.193 944983.682 0, 894939.486 944989.857 0, 894663.78 944996.049 0, 894388.073 945002.257 0, 894111.017 945008.512 0, 894237.108 950586.462 0,
+ 894363.202 956164.534 0, 894639.599 956158.294 0, 894914.649 956152.1 0, 895189.698 956145.923 0, 895464.749 956139.763 0, 895739.799 956133.618 0, 896014.85 956127.49 0, 896289.902 956121.377 0, 896564.953 956115.281 0, 896840.005 956109.201 0,
+ 897115.058 956103.138 0, 897390.11 956097.09 0, 897665.163 956091.059 0, 897940.217 956085.044 0, 898215.271 956079.045 0, 898490.325 956073.062 0, 898765.379 956067.095 0, 899040.434 956061.145 0, 899315.489 956055.211 0, 899590.545 956049.293 0,
+ 899865.601 956043.391 0, 900140.657 956037.505 0, 900415.714 956031.636 0, 900690.771 956025.783 0, 900964.481 956019.974 0, 901240.885 956014.125 0, 901515.943 956008.32 0, 901791.002 956002.532 0, 902066.06 955996.759 0, 902341.119 955991.003 0,
+ 902616.179 955985.263 0, 902891.238 955979.54 0, 903166.298 955973.832 0, 903441.359 955968.141 0, 903716.419 955962.466 0, 903991.48 955956.807 0, 904266.542 955951.164 0, 904541.603 955945.537 0, 904816.665 955939.927 0, 905091.728 955934.333 0,
+ 905366.79 955928.755 0, 905641.853 955923.193 0, 905916.917 955917.647 0, 906191.98 955912.118 0, 906467.044 955906.605 0, 906742.108 955901.107 0, 907017.173 955895.627 0, 907292.238 955890.162 0, 907565.958 955884.74 0, 907455.623 950306.334 0,
+ 907345.291 944728.05 0))
+
+POLYGON ((920769.451 955642.248 0, 920495.715 955646.896 0, 920220.635 955651.584 0, 919945.556 955656.288 0, 919670.478 955661.008 0, 919395.399 955665.744 0, 919120.321 955670.496 0, 918845.243 955675.265 0, 918570.166 955680.049 0, 918295.088 955684.85 0,
+ 918020.011 955689.667 0, 917744.934 955694.5 0, 917469.858 955699.35 0, 917194.782 955704.216 0, 916919.706 955709.097 0, 916644.63 955713.995 0, 916369.555 955718.91 0, 916094.48 955723.84 0, 915819.405 955728.787 0, 915544.331 955733.75 0,
+ 915269.257 955738.728 0, 914994.183 955743.724 0, 914719.109 955748.735 0, 914444.036 955753.763 0, 914167.618 955758.831 0, 913893.89 955763.866 0, 913618.818 955768.942 0, 913343.746 955774.035 0, 913068.674 955779.143 0, 912793.603 955784.268 0,
+ 912518.532 955789.409 0, 912243.461 955794.566 0, 911968.39 955799.739 0, 911693.32 955804.929 0, 911418.25 955810.134 0, 911143.18 955815.356 0, 910868.111 955820.594 0, 910593.042 955825.848 0, 910317.973 955831.119 0, 910042.905 955836.405 0,
+ 909767.837 955841.708 0, 909492.769 955847.027 0, 909217.701 955852.362 0, 908942.634 955857.714 0, 908667.567 955863.081 0, 908392.501 955868.465 0, 908117.435 955873.865 0, 907842.369 955879.281 0, 907565.958 955884.74 0, 907676.294 961463.264 0,
+ 907786.634 967041.903 0, 908062.385 967036.457 0, 908336.794 967031.054 0, 908611.204 967025.667 0, 908885.614 967020.296 0, 909160.024 967014.941 0, 909434.434 967009.603 0, 909708.845 967004.28 0, 909983.256 966998.974 0, 910257.667 966993.684 0,
+ 910532.079 966988.41 0, 910806.491 966983.152 0, 911080.903 966977.91 0, 911355.316 966972.685 0, 911629.729 966967.476 0, 911904.142 966962.282 0, 912178.556 966957.105 0, 912452.97 966951.944 0, 912727.384 966946.8 0, 913001.798 966941.671 0,
+ 913276.213 966936.558 0, 913550.628 966931.462 0, 913825.044 966926.382 0, 914099.459 966921.318 0, 914372.534 966916.295 0, 914648.291 966911.238 0, 914922.708 966906.223 0, 915197.125 966901.223 0, 915471.542 966896.24 0, 915745.959 966891.273 0,
+ 916020.377 966886.322 0, 916294.795 966881.387 0, 916569.214 966876.469 0, 916843.632 966871.566 0, 917118.051 966866.68 0, 917392.47 966861.81 0, 917666.89 966856.956 0, 917941.309 966852.118 0, 918215.729 966847.296 0, 918490.15 966842.49 0,
+ 918764.57 966837.701 0, 919038.991 966832.928 0, 919313.412 966828.171 0, 919587.834 966823.43 0, 919862.256 966818.705 0, 920136.678 966813.996 0, 920411.1 966809.304 0, 920685.522 966804.627 0, 920958.605 966799.99 0, 920864.027 961221.062 0,
+ 920769.451 955642.248 0))
+
+POLYGON ((934131.207 966595.291 0, 933858.11 966599.157 0, 933583.676 966603.058 0, 933309.241 966606.975 0, 933034.807 966610.908 0, 932760.373 966614.858 0, 932485.939 966618.823 0, 932211.506 966622.805 0, 931937.072 966626.803 0, 931662.639 966630.817 0,
+ 931388.207 966634.848 0, 931113.774 966638.894 0, 930839.342 966642.957 0, 930564.91 966647.035 0, 930290.478 966651.13 0, 930016.046 966655.241 0, 929741.615 966659.368 0, 929467.184 966663.512 0, 929192.753 966667.671 0, 928918.322 966671.847 0,
+ 928643.892 966676.039 0, 928369.462 966680.247 0, 928095.032 966684.471 0, 927820.602 966688.711 0, 927544.833 966692.988 0, 927271.744 966697.24 0, 926997.315 966701.529 0, 926722.886 966705.834 0, 926448.458 966710.155 0, 926174.03 966714.492 0,
+ 925899.602 966718.845 0, 925625.174 966723.215 0, 925350.747 966727.6 0, 925076.32 966732.002 0, 924801.893 966736.42 0, 924527.466 966740.854 0, 924253.04 966745.304 0, 923978.614 966749.771 0, 923704.188 966754.253 0, 923429.763 966758.752 0,
+ 923155.338 966763.267 0, 922880.913 966767.798 0, 922606.488 966772.345 0, 922332.063 966776.908 0, 922057.639 966781.488 0, 921783.215 966786.083 0, 921508.792 966790.695 0, 921234.368 966795.323 0, 920958.605 966799.99 0, 921053.185 972379.028 0,
+ 921147.767 977958.173 0, 921422.87 977953.518 0, 921696.637 977948.901 0, 921970.404 977944.3 0, 922244.171 977939.716 0, 922517.938 977935.147 0, 922791.706 977930.595 0, 923065.474 977926.058 0, 923339.242 977921.538 0, 923613.011 977917.034 0,
+ 923886.779 977912.546 0, 924160.548 977908.074 0, 924434.318 977903.619 0, 924708.087 977899.179 0, 924981.857 977894.756 0, 925255.627 977890.348 0, 925529.397 977885.957 0, 925803.168 977881.582 0, 926076.939 977877.223 0, 926350.71 977872.88 0,
+ 926624.481 977868.553 0, 926898.253 977864.243 0, 927172.025 977859.948 0, 927445.797 977855.67 0, 927718.233 977851.428 0, 927993.342 977847.161 0, 928267.115 977842.931 0, 928540.888 977838.717 0, 928814.661 977834.519 0, 929088.435 977830.337 0,
+ 929362.209 977826.172 0, 929635.983 977822.022 0, 929909.757 977817.889 0, 930183.532 977813.771 0, 930457.307 977809.67 0, 930731.082 977805.585 0, 931004.857 977801.516 0, 931278.632 977797.463 0, 931552.408 977793.426 0, 931826.184 977789.406 0,
+ 932099.961 977785.401 0, 932373.737 977781.413 0, 932647.514 977777.441 0, 932921.291 977773.484 0, 933195.068 977769.544 0, 933468.845 977765.62 0, 933742.623 977761.712 0, 934016.401 977757.821 0, 934288.844 977753.964 0, 934210.025 972174.574 0,
+ 934131.207 966595.291 0))
+
+POLYGON ((947430.446 977586.881 0, 947157.991 977589.969 0, 946884.203 977593.087 0, 946610.415 977596.221 0, 946336.628 977599.372 0, 946062.841 977602.538 0, 945789.054 977605.721 0, 945515.267 977608.92 0, 945241.48 977612.135 0, 944967.694 977615.366 0,
+ 944693.907 977618.613 0, 944420.121 977621.876 0, 944146.335 977625.155 0, 943872.55 977628.451 0, 943598.764 977631.762 0, 943324.979 977635.09 0, 943051.194 977638.434 0, 942777.409 977641.794 0, 942503.624 977645.17 0, 942229.84 977648.562 0,
+ 941956.055 977651.971 0, 941682.271 977655.395 0, 941408.487 977658.835 0, 941134.703 977662.292 0, 940859.586 977665.782 0, 940587.137 977669.254 0, 940313.353 977672.759 0, 940039.571 977676.28 0, 939765.788 977679.817 0, 939492.005 977683.37 0,
+ 939218.223 977686.94 0, 938944.441 977690.525 0, 938670.659 977694.127 0, 938396.878 977697.745 0, 938123.096 977701.379 0, 937849.315 977705.029 0, 937575.534 977708.695 0, 937301.753 977712.377 0, 937027.973 977716.075 0, 936754.192 977719.79 0,
+ 936480.412 977723.52 0, 936206.632 977727.267 0, 935932.852 977731.03 0, 935659.073 977734.809 0, 935385.294 977738.604 0, 935111.515 977742.415 0, 934837.736 977746.242 0, 934563.957 977750.086 0, 934288.844 977753.964 0, 934367.665 983333.456 0,
+ 934446.487 988913.047 0, 934720.94 988909.178 0, 934994.062 988905.343 0, 935267.184 988901.525 0, 935540.306 988897.723 0, 935813.429 988893.937 0, 936086.551 988890.168 0, 936359.674 988886.414 0, 936632.797 988882.676 0, 936905.921 988878.954 0,
+ 937179.044 988875.249 0, 937452.168 988871.559 0, 937725.292 988867.886 0, 937998.416 988864.229 0, 938271.54 988860.587 0, 938544.665 988856.962 0, 938817.79 988853.353 0, 939090.915 988849.76 0, 939364.04 988846.183 0, 939637.166 988842.622 0,
+ 939910.291 988839.077 0, 940183.417 988835.549 0, 940456.543 988832.036 0, 940729.67 988828.54 0, 941001.465 988825.076 0, 941275.923 988821.595 0, 941549.05 988818.146 0, 941822.177 988814.714 0, 942095.304 988811.298 0, 942368.432 988807.898 0,
+ 942641.559 988804.514 0, 942914.687 988801.146 0, 943187.815 988797.794 0, 943460.944 988794.458 0, 943734.072 988791.138 0, 944007.201 988787.835 0, 944280.33 988784.547 0, 944553.459 988781.275 0, 944826.588 988778.02 0, 945099.718 988774.781 0,
+ 945372.847 988771.557 0, 945645.977 988768.35 0, 945919.107 988765.159 0, 946192.237 988761.984 0, 946465.368 988758.825 0, 946738.498 988755.682 0, 947011.629 988752.555 0, 947284.76 988749.445 0, 947556.561 988746.365 0, 947493.503 983166.574 0,
+ 947430.446 977586.881 0))
+
+POLYGON ((960667.055 988616.722 0, 960395.244 988619.034 0, 960122.105 988621.373 0, 959848.967 988623.728 0, 959575.828 988626.099 0, 959302.69 988628.487 0, 959029.552 988630.89 0, 958756.414 988633.31 0, 958483.276 988635.745 0, 958210.139 988638.197 0,
+ 957937.001 988640.665 0, 957663.864 988643.148 0, 957390.726 988645.648 0, 957117.589 988648.164 0, 956844.452 988650.696 0, 956571.316 988653.244 0, 956298.179 988655.808 0, 956025.042 988658.389 0, 955751.906 988660.985 0, 955478.77 988663.597 0,
+ 955205.634 988666.226 0, 954932.498 988668.87 0, 954659.362 988671.531 0, 954386.227 988674.208 0, 954111.762 988676.914 0, 953839.956 988679.609 0, 953566.821 988682.334 0, 953293.686 988685.075 0, 953020.551 988687.832 0, 952747.417 988690.605 0,
+ 952474.282 988693.395 0, 952201.148 988696.2 0, 951928.014 988699.021 0, 951654.88 988701.859 0, 951381.746 988704.712 0, 951108.613 988707.582 0, 950835.479 988710.468 0, 950562.346 988713.369 0, 950289.213 988716.287 0, 950016.08 988719.221 0,
+ 949742.947 988722.171 0, 949469.814 988725.137 0, 949196.682 988728.119 0, 948923.55 988731.118 0, 948650.418 988734.132 0, 948377.286 988737.162 0, 948104.154 988740.209 0, 947831.023 988743.271 0, 947556.561 988746.365 0, 947619.621 994326.25 0,
+ 947682.682 999906.225 0, 947956.483 999903.139 0, 948228.957 999900.083 0, 948501.432 999897.044 0, 948773.907 999894.021 0, 949046.382 999891.014 0, 949318.858 999888.023 0, 949591.333 999885.048 0, 949863.809 999882.089 0, 950136.285 999879.146 0,
+ 950408.761 999876.22 0, 950681.237 999873.309 0, 950953.714 999870.414 0, 951226.19 999867.535 0, 951498.667 999864.672 0, 951771.144 999861.826 0, 952043.621 999858.995 0, 952316.098 999856.181 0, 952588.576 999853.382 0, 952861.053 999850.599 0,
+ 953133.531 999847.833 0, 953406.009 999845.083 0, 953678.487 999842.348 0, 953950.965 999839.63 0, 954222.118 999836.941 0, 954495.922 999834.241 0, 954768.401 999831.571 0, 955040.88 999828.917 0, 955313.359 999826.278 0, 955585.838 999823.656 0,
+ 955858.317 999821.05 0, 956130.797 999818.46 0, 956403.276 999815.886 0, 956675.756 999813.328 0, 956948.236 999810.786 0, 957220.716 999808.26 0, 957493.196 999805.75 0, 957765.677 999803.256 0, 958038.157 999800.779 0, 958310.638 999798.317 0,
+ 958583.119 999795.871 0, 958855.6 999793.441 0, 959128.081 999791.028 0, 959400.562 999788.63 0, 959673.044 999786.249 0, 959945.525 999783.883 0, 960218.007 999781.534 0, 960490.488 999779.2 0, 960761.646 999776.894 0, 960714.35 994196.763 0,
+ 960667.055 988616.722 0))
+
+POLYGON ((973840.923 999684.514 0, 973569.758 999686.054 0, 973297.271 999687.618 0, 973024.784 999689.197 0, 972752.297 999690.793 0, 972479.81 999692.405 0, 972207.323 999694.033 0, 971934.836 999695.677 0, 971662.349 999697.336 0, 971389.863 999699.012 0,
+ 971117.376 999700.704 0, 970844.89 999702.412 0, 970572.403 999704.136 0, 970299.917 999705.876 0, 970027.431 999707.632 0, 969754.945 999709.405 0, 969482.459 999711.193 0, 969209.973 999712.997 0, 968937.487 999714.817 0, 968665.002 999716.654 0,
+ 968392.516 999718.506 0, 968120.031 999720.374 0, 967847.546 999722.259 0, 967575.061 999724.159 0, 967301.252 999726.085 0, 967030.091 999728.008 0, 966757.606 999729.957 0, 966485.121 999731.921 0, 966212.636 999733.902 0, 965940.152 999735.899 0,
+ 965667.668 999737.911 0, 965395.183 999739.94 0, 965122.699 999741.985 0, 964850.215 999744.046 0, 964577.731 999746.123 0, 964305.248 999748.215 0, 964032.764 999750.324 0, 963760.28 999752.449 0, 963487.797 999754.59 0, 963215.314 999756.747 0,
+ 962942.831 999758.921 0, 962670.348 999761.11 0, 962397.865 999763.315 0, 962125.382 999765.536 0, 961852.9 999767.773 0, 961580.417 999770.027 0, 961307.935 999772.296 0, 961035.452 999774.581 0, 960761.646 999776.894 0, 960808.942 1005357.111 0,
+ 960856.24 1010937.409 0, 961129.386 1010935.102 0, 961401.212 1010932.822 0, 961673.037 1010930.559 0, 961944.863 1010928.311 0, 962216.688 1010926.079 0, 962488.514 1010923.863 0, 962760.34 1010921.663 0, 963032.166 1010919.479 0, 963303.992 1010917.311 0,
+ 963575.819 1010915.16 0, 963847.645 1010913.024 0, 964119.472 1010910.904 0, 964391.299 1010908.8 0, 964663.126 1010906.712 0, 964934.953 1010904.64 0, 965206.78 1010902.584 0, 965478.607 1010900.545 0, 965750.434 1010898.521 0, 966022.262 1010896.513 0,
+ 966294.089 1010894.521 0, 966565.917 1010892.545 0, 966837.745 1010890.585 0, 967109.573 1010888.641 0, 967380.08 1010886.723 0, 967653.229 1010884.802 0, 967925.057 1010882.906 0, 968196.886 1010881.026 0, 968468.714 1010879.162 0, 968740.543 1010877.314 0,
+ 969012.371 1010875.482 0, 969284.2 1010873.666 0, 969556.029 1010871.867 0, 969827.858 1010870.083 0, 970099.687 1010868.315 0, 970371.516 1010866.563 0, 970643.346 1010864.827 0, 970915.175 1010863.107 0, 971187.005 1010861.403 0, 971458.834 1010859.715 0,
+ 971730.664 1010858.044 0, 972002.494 1010856.388 0, 972274.324 1010854.748 0, 972546.154 1010853.124 0, 972817.984 1010851.516 0, 973089.814 1010849.924 0, 973361.645 1010848.348 0, 973633.475 1010846.788 0, 973903.986 1010845.252 0, 973872.454 1005264.842 0,
+ 973840.923 999684.514 0))
+
+POLYGON ((986951.941 1010789.957 0, 986681.425 1010790.73 0, 986409.591 1010791.521 0, 986137.757 1010792.329 0, 985865.924 1010793.153 0, 985594.09 1010793.993 0, 985322.256 1010794.849 0, 985050.423 1010795.721 0, 984778.589 1010796.609 0, 984506.756 1010797.513 0,
+ 984234.923 1010798.433 0, 983963.09 1010799.369 0, 983691.256 1010800.32 0, 983419.423 1010801.288 0, 983147.59 1010802.272 0, 982875.757 1010803.272 0, 982603.924 1010804.288 0, 982332.091 1010805.32 0, 982060.258 1010806.368 0, 981788.425 1010807.432 0,
+ 981516.593 1010808.512 0, 981244.76 1010809.608 0, 980972.927 1010810.719 0, 980701.095 1010811.847 0, 980427.944 1010812.997 0, 980157.43 1010814.151 0, 979885.598 1010815.327 0, 979613.765 1010816.519 0, 979341.933 1010817.727 0, 979070.101 1010818.951 0,
+ 978798.269 1010820.191 0, 978526.437 1010821.446 0, 978254.605 1010822.718 0, 977982.773 1010824.006 0, 977710.942 1010825.31 0, 977439.11 1010826.63 0, 977167.278 1010827.966 0, 976895.447 1010829.318 0, 976623.615 1010830.686 0, 976351.784 1010832.07 0,
+ 976079.953 1010833.469 0, 975808.122 1010834.885 0, 975536.29 1010836.317 0, 975264.459 1010837.765 0, 974992.628 1010839.229 0, 974720.798 1010840.709 0, 974448.967 1010842.205 0, 974177.136 1010843.717 0, 973903.986 1010845.252 0, 973935.518 1016425.74 0,
+ 973967.051 1022006.301 0, 974239.541 1022004.769 0, 974510.715 1022003.261 0, 974781.888 1022001.769 0, 975053.062 1022000.292 0, 975324.236 1021998.832 0, 975595.41 1021997.387 0, 975866.585 1021995.959 0, 976137.759 1021994.547 0, 976408.933 1021993.15 0,
+ 976680.108 1021991.77 0, 976951.282 1021990.405 0, 977222.457 1021989.056 0, 977493.631 1021987.724 0, 977764.806 1021986.407 0, 978035.981 1021985.106 0, 978307.156 1021983.821 0, 978578.331 1021982.553 0, 978849.506 1021981.3 0, 979120.681 1021980.063 0,
+ 979391.856 1021978.842 0, 979663.032 1021977.637 0, 979934.207 1021976.448 0, 980205.382 1021975.275 0, 980475.243 1021974.123 0, 980747.733 1021972.977 0, 981018.909 1021971.852 0, 981290.085 1021970.742 0, 981561.26 1021969.649 0, 981832.436 1021968.572 0,
+ 982103.612 1021967.51 0, 982374.788 1021966.465 0, 982645.964 1021965.436 0, 982917.14 1021964.422 0, 983188.316 1021963.425 0, 983459.492 1021962.443 0, 983730.669 1021961.478 0, 984001.845 1021960.528 0, 984273.021 1021959.594 0, 984544.198 1021958.677 0,
+ 984815.374 1021957.775 0, 985086.551 1021956.889 0, 985357.727 1021956.019 0, 985628.904 1021955.166 0, 985900.081 1021954.328 0, 986171.257 1021953.506 0, 986442.434 1021952.7 0, 986713.611 1021951.91 0, 986983.473 1021951.14 0, 986967.707 1016370.512 0,
+ 986951.941 1010789.957 0))
+
+POLYGON ((1000000 1021932.753 0, 999730.134 1021932.76 0, 999458.956 1021932.784 0, 999187.778 1021932.824 0, 998916.6 1021932.88 0, 998645.422 1021932.952 0, 998374.244 1021933.039 0, 998103.066 1021933.143 0, 997831.889 1021933.263 0, 997560.711 1021933.398 0,
+ 997289.533 1021933.55 0, 997018.355 1021933.717 0, 996747.177 1021933.901 0, 996475.999 1021934.1 0, 996204.821 1021934.316 0, 995933.643 1021934.547 0, 995662.465 1021934.794 0, 995391.288 1021935.058 0, 995120.11 1021935.337 0, 994848.932 1021935.632 0,
+ 994577.754 1021935.943 0, 994306.577 1021936.27 0, 994035.399 1021936.613 0, 993764.221 1021936.972 0, 993491.73 1021937.349 0, 993221.866 1021937.738 0, 992950.688 1021938.145 0, 992679.51 1021938.568 0, 992408.333 1021939.007 0, 992137.155 1021939.462 0,
+ 991865.978 1021939.933 0, 991594.8 1021940.419 0, 991323.623 1021940.922 0, 991052.445 1021941.441 0, 990781.268 1021941.975 0, 990510.09 1021942.526 0, 990238.913 1021943.092 0, 989967.736 1021943.675 0, 989696.558 1021944.273 0, 989425.381 1021944.888 0,
+ 989154.204 1021945.518 0, 988883.027 1021946.165 0, 988611.85 1021946.827 0, 988340.673 1021947.505 0, 988069.495 1021948.199 0, 987798.318 1021948.91 0, 987527.141 1021949.636 0, 987255.965 1021950.378 0, 986983.473 1021951.14 0, 986999.24 1027531.837 0,
+ 987015.007 1033112.599 0, 987286.838 1033111.839 0, 987557.358 1033111.099 0, 987827.878 1033110.374 0, 988098.398 1033109.666 0, 988368.918 1033108.973 0, 988639.438 1033108.297 0, 988909.958 1033107.636 0, 989180.479 1033106.991 0, 989450.999 1033106.363 0,
+ 989721.519 1033105.75 0, 989992.039 1033105.153 0, 990262.56 1033104.572 0, 990533.08 1033104.006 0, 990803.601 1033103.457 0, 991074.121 1033102.924 0, 991344.642 1033102.406 0, 991615.162 1033101.905 0, 991885.683 1033101.419 0, 992156.203 1033100.95 0,
+ 992426.724 1033100.496 0, 992697.245 1033100.058 0, 992967.765 1033099.636 0, 993238.286 1033099.23 0, 993507.497 1033098.842 0, 993779.328 1033098.466 0, 994049.848 1033098.108 0, 994320.369 1033097.766 0, 994590.89 1033097.44 0, 994861.411 1033097.129 0,
+ 995131.932 1033096.835 0, 995402.453 1033096.556 0, 995672.973 1033096.293 0, 995943.494 1033096.047 0, 996214.015 1033095.816 0, 996484.536 1033095.601 0, 996755.057 1033095.402 0, 997025.578 1033095.219 0, 997296.099 1033095.052 0, 997566.62 1033094.901 0,
+ 997837.141 1033094.766 0, 998107.662 1033094.646 0, 998378.183 1033094.543 0, 998648.704 1033094.455 0, 998919.225 1033094.384 0, 999189.746 1033094.328 0, 999460.267 1033094.288 0, 999730.788 1033094.265 0, 1000000 1033094.257 0, 1000000 1027513.472 0,
+ 1000000 1021932.753 0))
+
+POLYGON ((1012984.993 1033112.599 0, 1012715.78 1033111.846 0, 1012445.26 1033111.106 0, 1012174.74 1033110.381 0, 1011904.22 1033109.673 0, 1011633.7 1033108.98 0, 1011363.18 1033108.303 0, 1011092.659 1033107.642 0, 1010822.139 1033106.998 0, 1010551.619 1033106.369 0,
+ 1010281.099 1033105.755 0, 1010010.578 1033105.158 0, 1009740.058 1033104.577 0, 1009469.538 1033104.012 0, 1009199.017 1033103.462 0, 1008928.497 1033102.929 0, 1008657.976 1033102.411 0, 1008387.456 1033101.91 0, 1008116.935 1033101.424 0, 1007846.414 1033100.954 0,
+ 1007575.894 1033100.5 0, 1007305.373 1033100.062 0, 1007034.852 1033099.64 0, 1006764.332 1033099.234 0, 1006492.503 1033098.842 0, 1006223.29 1033098.47 0, 1005952.769 1033098.112 0, 1005682.249 1033097.769 0, 1005411.728 1033097.443 0, 1005141.207 1033097.132 0,
+ 1004870.686 1033096.837 0, 1004600.165 1033096.559 0, 1004329.644 1033096.296 0, 1004059.123 1033096.049 0, 1003788.603 1033095.818 0, 1003518.082 1033095.603 0, 1003247.561 1033095.404 0, 1002977.04 1033095.221 0, 1002706.519 1033095.054 0, 1002435.998 1033094.902 0,
+ 1002165.477 1033094.767 0, 1001894.956 1033094.647 0, 1001624.435 1033094.544 0, 1001353.914 1033094.456 0, 1001083.393 1033094.384 0, 1000812.872 1033094.328 0, 1000542.351 1033094.289 0, 1000271.83 1033094.265 0, 1000000 1033094.257 0, 1000000 1038675.102 0,
+ 1000000 1044256.004 0, 1000271.17 1044256.012 0, 1000541.034 1044256.036 0, 1000810.898 1044256.076 0, 1001080.762 1044256.132 0, 1001350.626 1044256.203 0, 1001620.49 1044256.291 0, 1001890.354 1044256.394 0, 1002160.218 1044256.513 0, 1002430.082 1044256.648 0,
+ 1002699.946 1044256.799 0, 1002969.81 1044256.966 0, 1003239.674 1044257.149 0, 1003509.538 1044257.347 0, 1003779.402 1044257.562 0, 1004049.266 1044257.792 0, 1004319.13 1044258.039 0, 1004588.994 1044258.301 0, 1004858.858 1044258.579 0, 1005128.722 1044258.873 0,
+ 1005398.585 1044259.183 0, 1005668.449 1044259.508 0, 1005938.313 1044259.85 0, 1006208.177 1044260.207 0, 1006476.736 1044260.579 0, 1006747.905 1044260.97 0, 1007017.768 1044261.375 0, 1007287.632 1044261.796 0, 1007557.496 1044262.233 0, 1007827.359 1044262.686 0,
+ 1008097.223 1044263.154 0, 1008367.087 1044263.639 0, 1008636.95 1044264.139 0, 1008906.814 1044264.656 0, 1009176.677 1044265.188 0, 1009446.541 1044265.736 0, 1009716.404 1044266.3 0, 1009986.268 1044266.88 0, 1010256.131 1044267.475 0, 1010525.994 1044268.087 0,
+ 1010795.858 1044268.714 0, 1011065.721 1044269.358 0, 1011335.584 1044270.017 0, 1011605.447 1044270.692 0, 1011875.311 1044271.383 0, 1012145.174 1044272.09 0, 1012415.037 1044272.813 0, 1012684.9 1044273.551 0, 1012953.459 1044274.302 0, 1012969.226 1038693.422 0,
+ 1012984.993 1033112.599 0))
+
+POLYGON ((1025906.815 1044329.196 0, 1025638.257 1044327.686 0, 1025368.397 1044326.185 0, 1025098.537 1044324.7 0, 1024828.677 1044323.231 0, 1024558.817 1044321.777 0, 1024288.957 1044320.34 0, 1024019.096 1044318.918 0, 1023749.236 1044317.512 0, 1023479.375 1044316.123 0,
+ 1023209.515 1044314.749 0, 1022939.654 1044313.39 0, 1022669.794 1044312.048 0, 1022399.933 1044310.722 0, 1022130.072 1044309.411 0, 1021860.211 1044308.117 0, 1021590.35 1044306.838 0, 1021320.489 1044305.575 0, 1021050.628 1044304.328 0, 1020780.766 1044303.097 0,
+ 1020510.905 1044301.882 0, 1020241.044 1044300.683 0, 1019971.182 1044299.499 0, 1019701.321 1044298.332 0, 1019430.157 1044297.175 0, 1019161.598 1044296.044 0, 1018891.736 1044294.925 0, 1018621.874 1044293.821 0, 1018352.012 1044292.733 0, 1018082.15 1044291.66 0,
+ 1017812.288 1044290.604 0, 1017542.426 1044289.564 0, 1017272.564 1044288.539 0, 1017002.702 1044287.53 0, 1016732.84 1044286.537 0, 1016462.977 1044285.561 0, 1016193.115 1044284.599 0, 1015923.253 1044283.654 0, 1015653.39 1044282.725 0, 1015383.528 1044281.812 0,
+ 1015113.665 1044280.914 0, 1014843.803 1044280.033 0, 1014573.94 1044279.167 0, 1014304.077 1044278.317 0, 1014034.214 1044277.483 0, 1013764.352 1044276.665 0, 1013494.489 1044275.863 0, 1013224.626 1044275.076 0, 1012953.459 1044274.302 0, 1012937.692 1049855.235 0,
+ 1012921.925 1055436.215 0, 1013192.431 1055436.987 0, 1013461.637 1055437.772 0, 1013730.843 1055438.572 0, 1014000.049 1055439.388 0, 1014269.255 1055440.22 0, 1014538.46 1055441.068 0, 1014807.666 1055441.932 0, 1015076.872 1055442.811 0, 1015346.077 1055443.706 0,
+ 1015615.283 1055444.618 0, 1015884.488 1055445.545 0, 1016153.694 1055446.487 0, 1016422.899 1055447.446 0, 1016692.104 1055448.421 0, 1016961.31 1055449.411 0, 1017230.515 1055450.417 0, 1017499.72 1055451.439 0, 1017768.925 1055452.477 0, 1018038.13 1055453.531 0,
+ 1018307.335 1055454.601 0, 1018576.54 1055455.686 0, 1018845.745 1055456.787 0, 1019114.95 1055457.905 0, 1019382.855 1055459.032 0, 1019653.359 1055460.186 0, 1019922.563 1055461.351 0, 1020191.768 1055462.532 0, 1020460.972 1055463.728 0, 1020730.177 1055464.94 0,
+ 1020999.381 1055466.168 0, 1021268.585 1055467.412 0, 1021537.789 1055468.672 0, 1021806.993 1055469.947 0, 1022076.197 1055471.239 0, 1022345.401 1055472.546 0, 1022614.605 1055473.869 0, 1022883.809 1055475.208 0, 1023153.013 1055476.563 0, 1023422.216 1055477.934 0,
+ 1023691.42 1055479.32 0, 1023960.623 1055480.723 0, 1024229.826 1055482.141 0, 1024499.03 1055483.575 0, 1024768.233 1055485.025 0, 1025037.436 1055486.49 0, 1025306.639 1055487.972 0, 1025575.842 1055489.469 0, 1025843.746 1055490.975 0, 1025875.281 1049910.062 0,
+ 1025906.815 1044329.196 0))
+
+POLYGON ((1038765.362 1055582.242 0, 1038497.46 1055579.979 0, 1038228.263 1055577.721 0, 1037959.065 1055575.479 0, 1037689.867 1055573.253 0, 1037420.669 1055571.042 0, 1037151.471 1055568.848 0, 1036882.273 1055566.669 0, 1036613.074 1055564.506 0, 1036343.876 1055562.359 0,
+ 1036074.677 1055560.228 0, 1035805.478 1055558.112 0, 1035536.28 1055556.013 0, 1035267.081 1055553.929 0, 1034997.881 1055551.861 0, 1034728.682 1055549.809 0, 1034459.483 1055547.773 0, 1034190.283 1055545.753 0, 1033921.084 1055543.748 0, 1033651.884 1055541.76 0,
+ 1033382.684 1055539.787 0, 1033113.484 1055537.83 0, 1032844.284 1055535.889 0, 1032575.084 1055533.964 0, 1032304.586 1055532.045 0, 1032036.683 1055530.161 0, 1031767.483 1055528.283 0, 1031498.282 1055526.421 0, 1031229.081 1055524.575 0, 1030959.88 1055522.745 0,
+ 1030690.679 1055520.931 0, 1030421.478 1055519.132 0, 1030152.277 1055517.35 0, 1029883.076 1055515.583 0, 1029613.874 1055513.832 0, 1029344.673 1055512.097 0, 1029075.471 1055510.378 0, 1028806.27 1055508.674 0, 1028537.068 1055506.987 0, 1028267.866 1055505.315 0,
+ 1027998.664 1055503.659 0, 1027729.462 1055502.019 0, 1027460.26 1055500.395 0, 1027191.057 1055498.787 0, 1026921.855 1055497.194 0, 1026652.653 1055495.618 0, 1026383.45 1055494.057 0, 1026114.247 1055492.512 0, 1025843.746 1055490.975 0, 1025812.211 1061071.933 0,
+ 1025780.676 1066652.93 0, 1026050.517 1066654.463 0, 1026319.063 1066656.004 0, 1026587.609 1066657.561 0, 1026856.154 1066659.134 0, 1027124.7 1066660.723 0, 1027393.245 1066662.327 0, 1027661.79 1066663.947 0, 1027930.335 1066665.583 0, 1028198.88 1066667.235 0,
+ 1028467.425 1066668.903 0, 1028735.97 1066670.586 0, 1029004.515 1066672.285 0, 1029273.059 1066674.001 0, 1029541.604 1066675.731 0, 1029810.148 1066677.478 0, 1030078.693 1066679.241 0, 1030347.237 1066681.019 0, 1030615.781 1066682.813 0, 1030884.325 1066684.623 0,
+ 1031152.869 1066686.448 0, 1031421.413 1066688.29 0, 1031689.956 1066690.147 0, 1031958.5 1066692.02 0, 1032225.749 1066693.9 0, 1032495.587 1066695.814 0, 1032764.13 1066697.735 0, 1033032.673 1066699.671 0, 1033301.216 1066701.623 0, 1033569.759 1066703.591 0,
+ 1033838.302 1066705.575 0, 1034106.844 1066707.574 0, 1034375.387 1066709.59 0, 1034643.929 1066711.621 0, 1034912.472 1066713.668 0, 1035181.014 1066715.731 0, 1035449.556 1066717.809 0, 1035718.098 1066719.904 0, 1035986.64 1066722.014 0, 1036255.181 1066724.14 0,
+ 1036523.723 1066726.282 0, 1036792.264 1066728.439 0, 1037060.805 1066730.613 0, 1037329.347 1066732.802 0, 1037597.888 1066735.007 0, 1037866.429 1066737.228 0, 1038134.969 1066739.464 0, 1038403.51 1066741.717 0, 1038670.757 1066743.974 0, 1038718.06 1061163.088 0,
+ 1038765.362 1055582.242 0))
+
+POLYGON ((1051560.53 1066871.434 0, 1051293.288 1066868.422 0, 1051024.755 1066865.411 0, 1050756.221 1066862.415 0, 1050487.688 1066859.436 0, 1050219.154 1066856.472 0, 1049950.62 1066853.524 0, 1049682.086 1066850.592 0, 1049413.552 1066847.676 0, 1049145.017 1066844.775 0,
+ 1048876.483 1066841.891 0, 1048607.948 1066839.022 0, 1048339.413 1066836.169 0, 1048070.878 1066833.332 0, 1047802.342 1066830.51 0, 1047533.807 1066827.705 0, 1047265.271 1066824.915 0, 1046996.736 1066822.141 0, 1046728.2 1066819.382 0, 1046459.664 1066816.64 0,
+ 1046191.127 1066813.913 0, 1045922.591 1066811.203 0, 1045654.054 1066808.508 0, 1045385.518 1066805.828 0, 1045115.689 1066803.152 0, 1044848.444 1066800.517 0, 1044579.906 1066797.886 0, 1044311.369 1066795.27 0, 1044042.832 1066792.669 0, 1043774.294 1066790.085 0,
+ 1043505.756 1066787.516 0, 1043237.218 1066784.964 0, 1042968.68 1066782.427 0, 1042700.142 1066779.906 0, 1042431.603 1066777.4 0, 1042163.065 1066774.911 0, 1041894.526 1066772.437 0, 1041625.987 1066769.979 0, 1041357.448 1066767.537 0, 1041088.909 1066765.111 0,
+ 1040820.37 1066762.7 0, 1040551.83 1066760.305 0, 1040283.291 1066757.927 0, 1040014.751 1066755.563 0, 1039746.211 1066753.216 0, 1039477.671 1066750.885 0, 1039209.131 1066748.569 0, 1038940.591 1066746.269 0, 1038670.757 1066743.974 0, 1038623.455 1072324.895 0,
+ 1038576.152 1077905.848 0, 1038845.325 1077908.137 0, 1039113.209 1077910.431 0, 1039381.092 1077912.741 0, 1039648.975 1077915.067 0, 1039916.858 1077917.409 0, 1040184.741 1077919.766 0, 1040452.623 1077922.139 0, 1040720.506 1077924.528 0, 1040988.388 1077926.933 0,
+ 1041256.27 1077929.353 0, 1041524.152 1077931.789 0, 1041792.034 1077934.241 0, 1042059.916 1077936.709 0, 1042327.797 1077939.192 0, 1042595.679 1077941.691 0, 1042863.56 1077944.206 0, 1043131.441 1077946.737 0, 1043399.322 1077949.284 0, 1043667.203 1077951.846 0,
+ 1043935.084 1077954.424 0, 1044202.964 1077957.018 0, 1044470.845 1077959.627 0, 1044738.725 1077962.253 0, 1045005.316 1077964.881 0, 1045274.485 1077967.551 0, 1045542.365 1077970.223 0, 1045810.244 1077972.912 0, 1046078.124 1077975.616 0, 1046346.003 1077978.336 0,
+ 1046613.882 1077981.072 0, 1046881.761 1077983.823 0, 1047149.64 1077986.59 0, 1047417.519 1077989.373 0, 1047685.397 1077992.172 0, 1047953.276 1077994.987 0, 1048221.154 1077997.817 0, 1048489.032 1078000.663 0, 1048756.91 1078003.525 0, 1049024.787 1078006.403 0,
+ 1049292.665 1078009.296 0, 1049560.542 1078012.205 0, 1049828.419 1078015.13 0, 1050096.296 1078018.071 0, 1050364.173 1078021.027 0, 1050632.05 1078023.999 0, 1050899.926 1078026.987 0, 1051167.802 1078029.991 0, 1051434.391 1078032.996 0, 1051497.46 1072452.2 0,
+ 1051560.53 1066871.434 0))
+
+POLYGON ((1064292.218 1078196.471 0, 1064025.638 1078192.713 0, 1063757.771 1078188.952 0, 1063489.904 1078185.207 0, 1063222.037 1078181.478 0, 1062954.169 1078177.765 0, 1062686.302 1078174.068 0, 1062418.434 1078170.386 0, 1062150.566 1078166.72 0, 1061882.698 1078163.07 0,
+ 1061614.829 1078159.435 0, 1061346.961 1078155.817 0, 1061079.092 1078152.214 0, 1060811.223 1078148.627 0, 1060543.353 1078145.055 0, 1060275.484 1078141.5 0, 1060007.614 1078137.96 0, 1059739.744 1078134.436 0, 1059471.874 1078130.928 0, 1059204.004 1078127.435 0,
+ 1058936.133 1078123.958 0, 1058668.262 1078120.497 0, 1058400.392 1078117.052 0, 1058132.52 1078113.623 0, 1057863.362 1078110.193 0, 1057596.777 1078106.811 0, 1057328.906 1078103.429 0, 1057061.034 1078100.063 0, 1056793.162 1078096.712 0, 1056525.289 1078093.377 0,
+ 1056257.417 1078090.058 0, 1055989.544 1078086.755 0, 1055721.671 1078083.467 0, 1055453.798 1078080.195 0, 1055185.925 1078076.939 0, 1054918.051 1078073.699 0, 1054650.177 1078070.475 0, 1054382.303 1078067.266 0, 1054114.429 1078064.073 0, 1053846.555 1078060.896 0,
+ 1053578.681 1078057.734 0, 1053310.806 1078054.589 0, 1053042.931 1078051.459 0, 1052775.056 1078048.345 0, 1052507.181 1078045.246 0, 1052239.306 1078042.164 0, 1051971.43 1078039.097 0, 1051703.554 1078036.046 0, 1051434.391 1078032.996 0, 1051371.32 1083613.819 0,
+ 1051308.25 1089194.665 0, 1051576.754 1089197.707 0, 1051843.972 1089200.751 0, 1052111.191 1089203.81 0, 1052378.41 1089206.885 0, 1052645.628 1089209.976 0, 1052912.846 1089213.082 0, 1053180.064 1089216.204 0, 1053447.281 1089219.342 0, 1053714.499 1089222.496 0,
+ 1053981.716 1089225.665 0, 1054248.933 1089228.85 0, 1054516.15 1089232.051 0, 1054783.367 1089235.268 0, 1055050.584 1089238.5 0, 1055317.8 1089241.748 0, 1055585.016 1089245.012 0, 1055852.232 1089248.291 0, 1056119.448 1089251.587 0, 1056386.664 1089254.898 0,
+ 1056653.879 1089258.224 0, 1056921.094 1089261.567 0, 1057188.309 1089264.925 0, 1057455.524 1089268.299 0, 1057721.455 1089271.672 0, 1057989.953 1089275.094 0, 1058257.167 1089278.515 0, 1058524.381 1089281.951 0, 1058791.595 1089285.404 0, 1059058.809 1089288.872 0,
+ 1059326.022 1089292.356 0, 1059593.235 1089295.856 0, 1059860.448 1089299.371 0, 1060127.661 1089302.902 0, 1060394.874 1089306.449 0, 1060662.086 1089310.012 0, 1060929.298 1089313.59 0, 1061196.51 1089317.184 0, 1061463.722 1089320.794 0, 1061730.933 1089324.419 0,
+ 1061998.145 1089328.061 0, 1062265.356 1089331.717 0, 1062532.567 1089335.39 0, 1062799.777 1089339.079 0, 1063066.988 1089342.783 0, 1063334.198 1089346.503 0, 1063601.408 1089350.238 0, 1063868.618 1089353.989 0, 1064134.545 1089357.738 0, 1064213.382 1083777.093 0,
+ 1064292.218 1078196.471 0))
+
+POLYGON ((1076960.327 1089557.048 0, 1076694.41 1089552.548 0, 1076427.212 1089548.042 0, 1076160.014 1089543.551 0, 1075892.815 1089539.076 0, 1075625.616 1089534.617 0, 1075358.417 1089530.174 0, 1075091.217 1089525.746 0, 1074824.018 1089521.335 0, 1074556.818 1089516.938 0,
+ 1074289.618 1089512.558 0, 1074022.417 1089508.193 0, 1073755.216 1089503.844 0, 1073488.015 1089499.511 0, 1073220.814 1089495.194 0, 1072953.613 1089490.892 0, 1072686.411 1089486.606 0, 1072419.209 1089482.336 0, 1072152.007 1089478.081 0, 1071884.804 1089473.842 0,
+ 1071617.601 1089469.619 0, 1071350.398 1089465.412 0, 1071083.195 1089461.22 0, 1070815.992 1089457.044 0, 1070547.506 1089452.864 0, 1070281.584 1089448.739 0, 1070014.38 1089444.61 0, 1069747.175 1089440.497 0, 1069479.971 1089436.4 0, 1069212.766 1089432.319 0,
+ 1068945.561 1089428.253 0, 1068678.355 1089424.203 0, 1068411.149 1089420.168 0, 1068143.944 1089416.149 0, 1067876.737 1089412.146 0, 1067609.531 1089408.159 0, 1067342.324 1089404.188 0, 1067075.118 1089400.232 0, 1066807.911 1089396.292 0, 1066540.703 1089392.368 0,
+ 1066273.496 1089388.459 0, 1066006.288 1089384.566 0, 1065739.08 1089380.689 0, 1065471.872 1089376.828 0, 1065204.663 1089372.982 0, 1064937.455 1089369.152 0, 1064670.246 1089365.338 0, 1064403.037 1089361.539 0, 1064134.545 1089357.738 0, 1064055.707 1094938.401 0,
+ 1063976.87 1100519.078 0, 1064244.702 1100522.87 0, 1064511.254 1100526.659 0, 1064777.806 1100530.464 0, 1065044.358 1100534.284 0, 1065310.909 1100538.12 0, 1065577.46 1100541.972 0, 1065844.012 1100545.84 0, 1066110.562 1100549.723 0, 1066377.113 1100553.622 0,
+ 1066643.663 1100557.537 0, 1066910.213 1100561.467 0, 1067176.763 1100565.413 0, 1067443.313 1100569.375 0, 1067709.862 1100573.352 0, 1067976.412 1100577.345 0, 1068242.961 1100581.354 0, 1068509.509 1100585.379 0, 1068776.058 1100589.419 0, 1069042.606 1100593.475 0,
+ 1069309.154 1100597.546 0, 1069575.702 1100601.634 0, 1069842.249 1100605.736 0, 1070108.797 1100609.855 0, 1070374.065 1100613.97 0, 1070641.891 1100618.139 0, 1070908.437 1100622.305 0, 1071174.984 1100626.486 0, 1071441.53 1100630.684 0, 1071708.075 1100634.896 0,
+ 1071974.621 1100639.125 0, 1072241.166 1100643.369 0, 1072507.711 1100647.629 0, 1072774.256 1100651.904 0, 1073040.801 1100656.195 0, 1073307.345 1100660.502 0, 1073573.889 1100664.825 0, 1073840.433 1100669.163 0, 1074106.977 1100673.517 0, 1074373.52 1100677.887 0,
+ 1074640.063 1100682.272 0, 1074906.606 1100686.673 0, 1075173.148 1100691.09 0, 1075439.69 1100695.522 0, 1075706.232 1100699.97 0, 1075972.774 1100704.434 0, 1076239.316 1100708.913 0, 1076505.857 1100713.408 0, 1076771.121 1100717.898 0, 1076865.724 1095137.466 0,
+ 1076960.327 1089557.048 0))
+
+POLYGON ((1089564.758 1100952.863 0, 1089299.506 1100947.624 0, 1089032.979 1100942.376 0, 1088766.451 1100937.143 0, 1088499.923 1100931.927 0, 1088233.395 1100926.726 0, 1087966.866 1100921.54 0, 1087700.337 1100916.37 0, 1087433.808 1100911.216 0, 1087167.278 1100906.078 0,
+ 1086900.748 1100900.955 0, 1086634.218 1100895.848 0, 1086367.688 1100890.757 0, 1086101.157 1100885.682 0, 1085834.626 1100880.622 0, 1085568.094 1100875.578 0, 1085301.563 1100870.549 0, 1085035.031 1100865.536 0, 1084768.498 1100860.539 0, 1084501.966 1100855.558 0,
+ 1084235.433 1100850.592 0, 1083968.9 1100845.642 0, 1083702.366 1100840.707 0, 1083435.833 1100835.789 0, 1083168.022 1100830.862 0, 1082902.764 1100825.998 0, 1082636.23 1100821.127 0, 1082369.695 1100816.271 0, 1082103.16 1100811.43 0, 1081836.624 1100806.606 0,
+ 1081570.089 1100801.797 0, 1081303.553 1100797.004 0, 1081037.016 1100792.226 0, 1080770.48 1100787.464 0, 1080503.943 1100782.718 0, 1080237.406 1100777.988 0, 1079970.868 1100773.273 0, 1079704.331 1100768.574 0, 1079437.793 1100763.89 0, 1079171.254 1100759.223 0,
+ 1078904.716 1100754.571 0, 1078638.177 1100749.934 0, 1078371.638 1100745.314 0, 1078105.099 1100740.709 0, 1077838.559 1100736.119 0, 1077572.019 1100731.546 0, 1077305.479 1100726.988 0, 1077038.939 1100722.446 0, 1076771.121 1100717.898 0, 1076676.517 1106298.338 0,
+ 1076581.913 1111878.784 0, 1076849.071 1111883.321 0, 1077114.954 1111887.852 0, 1077380.838 1111892.399 0, 1077646.721 1111896.961 0, 1077912.603 1111901.539 0, 1078178.486 1111906.132 0, 1078444.368 1111910.742 0, 1078710.25 1111915.367 0, 1078976.131 1111920.007 0,
+ 1079242.013 1111924.663 0, 1079507.894 1111929.335 0, 1079773.775 1111934.023 0, 1080039.655 1111938.726 0, 1080305.535 1111943.445 0, 1080571.415 1111948.179 0, 1080837.295 1111952.929 0, 1081103.175 1111957.695 0, 1081369.054 1111962.476 0, 1081634.932 1111967.273 0,
+ 1081900.811 1111972.086 0, 1082166.689 1111976.914 0, 1082432.567 1111981.758 0, 1082698.445 1111986.618 0, 1082963.049 1111991.47 0, 1083230.2 1111996.384 0, 1083496.076 1112001.291 0, 1083761.953 1112006.213 0, 1084027.829 1112011.151 0, 1084293.705 1112016.105 0,
+ 1084559.581 1112021.074 0, 1084825.456 1112026.059 0, 1085091.331 1112031.059 0, 1085357.206 1112036.075 0, 1085623.081 1112041.107 0, 1085888.955 1112046.154 0, 1086154.829 1112051.218 0, 1086420.702 1112056.296 0, 1086686.576 1112061.391 0, 1086952.449 1112066.501 0,
+ 1087218.321 1112071.626 0, 1087484.194 1112076.768 0, 1087750.066 1112081.925 0, 1088015.938 1112087.097 0, 1088281.809 1112092.285 0, 1088547.68 1112097.489 0, 1088813.551 1112102.709 0, 1089079.422 1112107.944 0, 1089344.02 1112113.17 0, 1089454.389 1106533.014 0,
+ 1089564.758 1100952.863 0))
+
+POLYGON ((1102105.414 1112383.61 0, 1101840.83 1112377.637 0, 1101574.975 1112371.651 0, 1101309.12 1112365.68 0, 1101043.264 1112359.725 0, 1100777.409 1112353.785 0, 1100511.552 1112347.862 0, 1100245.696 1112341.954 0, 1099979.839 1112336.061 0, 1099713.982 1112330.184 0,
+ 1099448.124 1112324.323 0, 1099182.267 1112318.478 0, 1098916.408 1112312.648 0, 1098650.55 1112306.834 0, 1098384.691 1112301.035 0, 1098118.832 1112295.252 0, 1097852.972 1112289.485 0, 1097587.112 1112283.733 0, 1097321.252 1112277.997 0, 1097055.391 1112272.277 0,
+ 1096789.531 1112266.572 0, 1096523.669 1112260.883 0, 1096257.808 1112255.21 0, 1095991.946 1112249.552 0, 1095724.812 1112243.883 0, 1095460.221 1112238.284 0, 1095194.358 1112232.673 0, 1094928.495 1112227.078 0, 1094662.631 1112221.498 0, 1094396.767 1112215.935 0,
+ 1094130.903 1112210.386 0, 1093865.039 1112204.854 0, 1093599.174 1112199.337 0, 1093333.308 1112193.836 0, 1093067.443 1112188.35 0, 1092801.577 1112182.88 0, 1092535.711 1112177.426 0, 1092269.844 1112171.987 0, 1092003.978 1112166.564 0, 1091738.11 1112161.157 0,
+ 1091472.243 1112155.765 0, 1091206.375 1112150.389 0, 1090940.507 1112145.029 0, 1090674.639 1112139.684 0, 1090408.77 1112134.355 0, 1090142.901 1112129.042 0, 1089877.032 1112123.744 0, 1089611.162 1112118.462 0, 1089344.02 1112113.17 0, 1089233.651 1117693.326 0,
+ 1089123.282 1123273.479 0, 1089389.764 1123278.757 0, 1089654.976 1123284.026 0, 1089920.189 1123289.311 0, 1090185.401 1123294.611 0, 1090450.613 1123299.927 0, 1090715.824 1123305.259 0, 1090981.036 1123310.606 0, 1091246.247 1123315.969 0, 1091511.457 1123321.347 0,
+ 1091776.667 1123326.741 0, 1092041.877 1123332.151 0, 1092307.087 1123337.576 0, 1092572.296 1123343.017 0, 1092837.505 1123348.473 0, 1093102.714 1123353.945 0, 1093367.922 1123359.433 0, 1093633.13 1123364.936 0, 1093898.338 1123370.455 0, 1094163.545 1123375.989 0,
+ 1094428.752 1123381.539 0, 1094693.959 1123387.105 0, 1094959.165 1123392.686 0, 1095224.372 1123398.283 0, 1095488.309 1123403.869 0, 1095754.783 1123409.524 0, 1096019.988 1123415.168 0, 1096285.192 1123420.827 0, 1096550.397 1123426.502 0, 1096815.601 1123432.193 0,
+ 1097080.805 1123437.899 0, 1097346.008 1123443.621 0, 1097611.211 1123449.358 0, 1097876.414 1123455.111 0, 1098141.616 1123460.88 0, 1098406.818 1123466.664 0, 1098672.02 1123472.464 0, 1098937.221 1123478.279 0, 1099202.422 1123484.11 0, 1099467.623 1123489.957 0,
+ 1099732.823 1123495.819 0, 1099998.023 1123501.697 0, 1100263.223 1123507.591 0, 1100528.422 1123513.5 0, 1100793.621 1123519.424 0, 1101058.82 1123525.365 0, 1101324.018 1123531.321 0, 1101589.216 1123537.292 0, 1101853.147 1123543.251 0, 1101979.28 1117963.432 0,
+ 1102105.414 1112383.61 0))
+
+POLYGON ((1114582.199 1123848.986 0, 1114318.284 1123842.282 0, 1114053.104 1123835.561 0, 1113787.923 1123828.856 0, 1113522.743 1123822.166 0, 1113257.561 1123815.492 0, 1112992.38 1123808.834 0, 1112727.198 1123802.191 0, 1112462.016 1123795.564 0, 1112196.833 1123788.953 0,
+ 1111931.65 1123782.357 0, 1111666.466 1123775.776 0, 1111401.283 1123769.212 0, 1111136.098 1123762.663 0, 1110870.914 1123756.129 0, 1110605.729 1123749.612 0, 1110340.543 1123743.109 0, 1110075.357 1123736.623 0, 1109810.171 1123730.152 0, 1109544.985 1123723.696 0,
+ 1109279.798 1123717.256 0, 1109014.61 1123710.832 0, 1108749.423 1123704.424 0, 1108484.235 1123698.031 0, 1108217.781 1123691.623 0, 1107953.857 1123685.292 0, 1107688.668 1123678.945 0, 1107423.479 1123672.615 0, 1107158.289 1123666.3 0, 1106893.098 1123660.001 0,
+ 1106627.908 1123653.717 0, 1106362.717 1123647.449 0, 1106097.525 1123641.196 0, 1105832.334 1123634.959 0, 1105567.141 1123628.738 0, 1105301.949 1123622.533 0, 1105036.756 1123616.342 0, 1104771.563 1123610.168 0, 1104506.369 1123604.009 0, 1104241.175 1123597.866 0,
+ 1103975.981 1123591.738 0, 1103710.786 1123585.626 0, 1103445.591 1123579.53 0, 1103180.396 1123573.449 0, 1102915.2 1123567.384 0, 1102650.004 1123561.334 0, 1102384.807 1123555.3 0, 1102119.611 1123549.282 0, 1101853.147 1123543.251 0, 1101727.013 1129123.06 0,
+ 1101600.88 1134702.857 0, 1101866.684 1134708.873 0, 1102131.224 1134714.877 0, 1102395.764 1134720.896 0, 1102660.303 1134726.93 0, 1102924.842 1134732.981 0, 1103189.38 1134739.046 0, 1103453.919 1134745.128 0, 1103718.457 1134751.224 0, 1103982.994 1134757.337 0,
+ 1104247.531 1134763.465 0, 1104512.068 1134769.608 0, 1104776.604 1134775.768 0, 1105041.14 1134781.942 0, 1105305.676 1134788.133 0, 1105570.211 1134794.339 0, 1105834.746 1134800.56 0, 1106099.281 1134806.797 0, 1106363.815 1134813.05 0, 1106628.349 1134819.318 0,
+ 1106892.883 1134825.601 0, 1107157.416 1134831.901 0, 1107421.948 1134838.216 0, 1107686.481 1134844.546 0, 1107949.75 1134850.862 0, 1108215.544 1134857.254 0, 1108480.076 1134863.631 0, 1108744.607 1134870.023 0, 1109009.137 1134876.432 0, 1109273.667 1134882.856 0,
+ 1109538.197 1134889.295 0, 1109802.726 1134895.75 0, 1110067.255 1134902.22 0, 1110331.784 1134908.707 0, 1110596.312 1134915.208 0, 1110860.84 1134921.726 0, 1111125.367 1134928.258 0, 1111389.895 1134934.807 0, 1111654.421 1134941.371 0, 1111918.948 1134947.95 0,
+ 1112183.473 1134954.545 0, 1112447.999 1134961.156 0, 1112712.524 1134967.782 0, 1112977.049 1134974.424 0, 1113241.573 1134981.082 0, 1113506.097 1134987.755 0, 1113770.621 1134994.443 0, 1114035.144 1135001.147 0, 1114298.405 1135007.835 0, 1114440.302 1129428.417 0,
+ 1114582.199 1123848.986 0))
+
+POLYGON ((1126995.018 1135348.684 0, 1126731.775 1135341.253 0, 1126467.271 1135333.801 0, 1126202.768 1135326.366 0, 1125938.264 1135318.945 0, 1125673.759 1135311.541 0, 1125409.254 1135304.152 0, 1125144.749 1135296.778 0, 1124880.243 1135289.42 0, 1124615.737 1135282.078 0,
+ 1124351.23 1135274.751 0, 1124086.723 1135267.439 0, 1123822.216 1135260.144 0, 1123557.708 1135252.864 0, 1123293.199 1135245.599 0, 1123028.691 1135238.35 0, 1122764.181 1135231.117 0, 1122499.672 1135223.899 0, 1122235.162 1135216.696 0, 1121970.651 1135209.51 0,
+ 1121706.14 1135202.339 0, 1121441.629 1135195.183 0, 1121177.117 1135188.043 0, 1120912.605 1135180.918 0, 1120646.832 1135173.776 0, 1120383.579 1135166.716 0, 1120119.066 1135159.638 0, 1119854.552 1135152.576 0, 1119590.038 1135145.53 0, 1119325.523 1135138.499 0,
+ 1119061.008 1135131.483 0, 1118796.492 1135124.483 0, 1118531.977 1135117.499 0, 1118267.46 1135110.53 0, 1118002.943 1135103.577 0, 1117738.426 1135096.639 0, 1117473.909 1135089.717 0, 1117209.391 1135082.811 0, 1116944.872 1135075.92 0, 1116680.354 1135069.044 0,
+ 1116415.834 1135062.185 0, 1116151.315 1135055.34 0, 1115886.795 1135048.512 0, 1115622.275 1135041.699 0, 1115357.754 1135034.901 0, 1115093.233 1135028.119 0, 1114828.711 1135021.353 0, 1114564.189 1135014.602 0, 1114298.405 1135007.835 0, 1114156.509 1140587.235 0,
+ 1114014.613 1146166.614 0, 1114279.737 1146173.364 0, 1114543.603 1146180.098 0, 1114807.467 1146186.848 0, 1115071.332 1146193.613 0, 1115335.196 1146200.393 0, 1115599.059 1146207.19 0, 1115862.923 1146214.001 0, 1116126.785 1146220.829 0, 1116390.648 1146227.671 0,
+ 1116654.51 1146234.53 0, 1116918.371 1146241.403 0, 1117182.233 1146248.293 0, 1117446.093 1146255.198 0, 1117709.954 1146262.118 0, 1117973.814 1146269.054 0, 1118237.673 1146276.005 0, 1118501.532 1146282.972 0, 1118765.391 1146289.955 0, 1119029.25 1146296.953 0,
+ 1119293.107 1146303.967 0, 1119556.965 1146310.996 0, 1119820.822 1146318.04 0, 1120084.679 1146325.101 0, 1120347.278 1146332.142 0, 1120612.391 1146339.267 0, 1120876.246 1146346.374 0, 1121140.101 1146353.497 0, 1121403.956 1146360.634 0, 1121667.81 1146367.788 0,
+ 1121931.664 1146374.957 0, 1122195.517 1146382.141 0, 1122459.37 1146389.341 0, 1122723.222 1146396.556 0, 1122987.074 1146403.788 0, 1123250.926 1146411.034 0, 1123514.777 1146418.296 0, 1123778.628 1146425.574 0, 1124042.478 1146432.867 0, 1124306.328 1146440.176 0,
+ 1124570.178 1146447.5 0, 1124834.027 1146454.839 0, 1125097.875 1146462.195 0, 1125361.724 1146469.565 0, 1125625.571 1146476.952 0, 1125889.419 1146484.354 0, 1126153.266 1146491.771 0, 1126417.112 1146499.204 0, 1126679.702 1146506.617 0, 1126837.359 1140927.662 0,
+ 1126995.018 1135348.684 0))
+
+POLYGON ((1139343.779 1146882.4 0, 1139081.209 1146874.245 0, 1138817.385 1146866.067 0, 1138553.56 1146857.904 0, 1138289.735 1146849.757 0, 1138025.909 1146841.625 0, 1137762.082 1146833.509 0, 1137498.256 1146825.408 0, 1137234.428 1146817.323 0, 1136970.601 1146809.254 0,
+ 1136706.772 1146801.199 0, 1136442.944 1146793.161 0, 1136179.115 1146785.138 0, 1135915.285 1146777.13 0, 1135651.455 1146769.139 0, 1135387.624 1146761.162 0, 1135123.793 1146753.201 0, 1134859.962 1146745.256 0, 1134596.13 1146737.326 0, 1134332.297 1146729.412 0,
+ 1134068.464 1146721.513 0, 1133804.631 1146713.63 0, 1133540.797 1146705.762 0, 1133276.963 1146697.91 0, 1133011.873 1146690.036 0, 1132749.293 1146682.252 0, 1132485.457 1146674.447 0, 1132221.621 1146666.656 0, 1131957.785 1146658.882 0, 1131693.948 1146651.123 0,
+ 1131430.11 1146643.379 0, 1131166.272 1146635.651 0, 1130902.434 1146627.939 0, 1130638.595 1146620.242 0, 1130374.755 1146612.561 0, 1130110.916 1146604.895 0, 1129847.075 1146597.245 0, 1129583.235 1146589.61 0, 1129319.394 1146581.991 0, 1129055.552 1146574.387 0,
+ 1128791.71 1146566.799 0, 1128527.868 1146559.226 0, 1128264.025 1146551.669 0, 1128000.181 1146544.127 0, 1127736.338 1146536.601 0, 1127472.493 1146529.091 0, 1127208.649 1146521.596 0, 1126944.804 1146514.116 0, 1126679.702 1146506.617 0, 1126522.045 1152085.545 0,
+ 1126364.389 1157664.443 0, 1126628.831 1157671.924 0, 1126892.019 1157679.385 0, 1127155.207 1157686.861 0, 1127418.394 1157694.353 0, 1127681.581 1157701.86 0, 1127944.768 1157709.383 0, 1128207.954 1157716.921 0, 1128471.14 1157724.475 0, 1128734.325 1157732.044 0,
+ 1128997.51 1157739.629 0, 1129260.695 1157747.229 0, 1129523.879 1157754.845 0, 1129787.062 1157762.476 0, 1130050.245 1157770.123 0, 1130313.428 1157777.785 0, 1130576.61 1157785.463 0, 1130839.792 1157793.156 0, 1131102.973 1157800.865 0, 1131366.154 1157808.589 0,
+ 1131629.334 1157816.329 0, 1131892.514 1157824.084 0, 1132155.693 1157831.855 0, 1132418.872 1157839.641 0, 1132680.799 1157847.406 0, 1132945.229 1157855.26 0, 1133208.406 1157863.093 0, 1133471.584 1157870.941 0, 1133734.76 1157878.804 0, 1133997.936 1157886.683 0,
+ 1134261.112 1157894.578 0, 1134524.287 1157902.488 0, 1134787.462 1157910.414 0, 1135050.637 1157918.355 0, 1135313.811 1157926.311 0, 1135576.984 1157934.283 0, 1135840.157 1157942.271 0, 1136103.329 1157950.274 0, 1136366.501 1157958.292 0, 1136629.673 1157966.326 0,
+ 1136892.844 1157974.376 0, 1137156.014 1157982.441 0, 1137419.185 1157990.521 0, 1137682.354 1157998.617 0, 1137945.523 1158006.729 0, 1138208.692 1158014.856 0, 1138471.86 1158022.998 0, 1138735.028 1158031.156 0, 1138996.944 1158039.291 0, 1139170.361 1152460.861 0,
+ 1139343.779 1146882.4 0))
+
+POLYGON ((1151628.39 1158449.826 0, 1151366.496 1158440.952 0, 1151103.352 1158432.05 0, 1150840.208 1158423.164 0, 1150577.064 1158414.294 0, 1150313.918 1158405.439 0, 1150050.773 1158396.599 0, 1149787.627 1158387.776 0, 1149524.48 1158378.967 0, 1149261.333 1158370.174 0,
+ 1148998.185 1158361.397 0, 1148735.036 1158352.635 0, 1148471.888 1158343.888 0, 1148208.738 1158335.157 0, 1147945.589 1158326.442 0, 1147682.438 1158317.742 0, 1147419.287 1158309.057 0, 1147156.136 1158300.388 0, 1146892.984 1158291.734 0, 1146629.832 1158283.096 0,
+ 1146366.679 1158274.474 0, 1146103.525 1158265.867 0, 1145840.371 1158257.275 0, 1145577.217 1158248.699 0, 1145312.812 1158240.098 0, 1145050.907 1158231.593 0, 1144787.751 1158223.063 0, 1144524.594 1158214.549 0, 1144261.437 1158206.05 0, 1143998.28 1158197.567 0,
+ 1143735.122 1158189.1 0, 1143471.964 1158180.647 0, 1143208.805 1158172.211 0, 1142945.645 1158163.789 0, 1142682.485 1158155.384 0, 1142419.325 1158146.993 0, 1142156.164 1158138.619 0, 1141893.003 1158130.259 0, 1141629.841 1158121.916 0, 1141366.678 1158113.587 0,
+ 1141103.516 1158105.274 0, 1140840.352 1158096.977 0, 1140577.188 1158088.695 0, 1140314.024 1158080.429 0, 1140050.859 1158072.178 0, 1139787.694 1158063.943 0, 1139524.528 1158055.723 0, 1139261.362 1158047.518 0, 1138996.944 1158039.291 0, 1138823.528 1163617.685 0,
+ 1138650.114 1169196.039 0, 1138913.872 1169204.246 0, 1139176.381 1169212.43 0, 1139438.891 1169220.629 0, 1139701.399 1169228.844 0, 1139963.907 1169237.074 0, 1140226.415 1169245.32 0, 1140488.922 1169253.581 0, 1140751.429 1169261.858 0, 1141013.935 1169270.15 0,
+ 1141276.441 1169278.457 0, 1141538.946 1169286.78 0, 1141801.451 1169295.119 0, 1142063.955 1169303.473 0, 1142326.459 1169311.842 0, 1142588.962 1169320.227 0, 1142851.465 1169328.627 0, 1143113.967 1169337.043 0, 1143376.469 1169345.474 0, 1143638.97 1169353.92 0,
+ 1143901.471 1169362.382 0, 1144163.971 1169370.86 0, 1144426.471 1169379.353 0, 1144688.97 1169387.861 0, 1144950.222 1169396.344 0, 1145213.967 1169404.924 0, 1145476.465 1169413.479 0, 1145738.962 1169422.049 0, 1146001.459 1169430.635 0, 1146263.956 1169439.236 0,
+ 1146526.451 1169447.852 0, 1146788.947 1169456.484 0, 1147051.441 1169465.132 0, 1147313.935 1169473.795 0, 1147576.429 1169482.473 0, 1147838.922 1169491.167 0, 1148101.415 1169499.876 0, 1148363.907 1169508.601 0, 1148626.399 1169517.341 0, 1148888.89 1169526.096 0,
+ 1149151.381 1169534.867 0, 1149413.871 1169543.654 0, 1149676.361 1169552.456 0, 1149938.85 1169561.273 0, 1150201.338 1169570.106 0, 1150463.826 1169578.954 0, 1150726.314 1169587.818 0, 1150988.801 1169596.697 0, 1151250.041 1169605.55 0, 1151439.215 1164027.708 0,
+ 1151628.39 1158449.826 0))
+
+POLYGON ((1163848.762 1170050.656 0, 1163587.545 1170041.066 0, 1163325.084 1170031.445 0, 1163062.623 1170021.84 0, 1162800.161 1170012.25 0, 1162537.698 1170002.675 0, 1162275.235 1169993.117 0, 1162012.772 1169983.573 0, 1161750.307 1169974.045 0, 1161487.843 1169964.532 0,
+ 1161225.377 1169955.035 0, 1160962.911 1169945.554 0, 1160700.445 1169936.087 0, 1160437.978 1169926.637 0, 1160175.51 1169917.201 0, 1159913.042 1169907.781 0, 1159650.573 1169898.377 0, 1159388.104 1169888.988 0, 1159125.634 1169879.614 0, 1158863.164 1169870.256 0,
+ 1158600.693 1169860.914 0, 1158338.221 1169851.587 0, 1158075.749 1169842.275 0, 1157813.277 1169832.978 0, 1157549.559 1169823.654 0, 1157288.33 1169814.432 0, 1157025.856 1169805.182 0, 1156763.381 1169795.948 0, 1156500.906 1169786.729 0, 1156238.43 1169777.525 0,
+ 1155975.954 1169768.337 0, 1155713.477 1169759.164 0, 1155450.999 1169750.007 0, 1155188.521 1169740.865 0, 1154926.043 1169731.739 0, 1154663.564 1169722.628 0, 1154401.084 1169713.532 0, 1154138.604 1169704.452 0, 1153876.123 1169695.388 0, 1153613.642 1169686.339 0,
+ 1153351.16 1169677.305 0, 1153088.678 1169668.287 0, 1152826.195 1169659.284 0, 1152563.712 1169650.297 0, 1152301.228 1169641.325 0, 1152038.744 1169632.368 0, 1151776.259 1169623.427 0, 1151513.773 1169614.502 0, 1151250.041 1169605.55 0, 1151060.869 1175183.346 0,
+ 1150871.699 1180761.094 0, 1151134.771 1180770.024 0, 1151396.6 1180778.927 0, 1151658.428 1180787.845 0, 1151920.256 1180796.779 0, 1152182.083 1180805.729 0, 1152443.91 1180814.694 0, 1152705.736 1180823.674 0, 1152967.562 1180832.67 0, 1153229.387 1180841.681 0,
+ 1153491.211 1180850.707 0, 1153753.036 1180859.749 0, 1154014.859 1180868.806 0, 1154276.682 1180877.879 0, 1154538.505 1180886.967 0, 1154800.327 1180896.071 0, 1155062.148 1180905.19 0, 1155323.969 1180914.324 0, 1155585.789 1180923.474 0, 1155847.609 1180932.639 0,
+ 1156109.428 1180941.82 0, 1156371.247 1180951.015 0, 1156633.065 1180960.227 0, 1156894.883 1180969.454 0, 1157155.458 1180978.652 0, 1157418.517 1180987.954 0, 1157680.333 1180997.227 0, 1157942.148 1181006.515 0, 1158203.963 1181015.819 0, 1158465.777 1181025.138 0,
+ 1158727.591 1181034.473 0, 1158989.404 1181043.823 0, 1159251.217 1181053.189 0, 1159513.029 1181062.569 0, 1159774.841 1181071.966 0, 1160036.652 1181081.377 0, 1160298.462 1181090.805 0, 1160560.272 1181100.247 0, 1160822.082 1181109.705 0, 1161083.891 1181119.179 0,
+ 1161345.699 1181128.667 0, 1161607.507 1181138.171 0, 1161869.314 1181147.691 0, 1162131.12 1181157.226 0, 1162392.926 1181166.777 0, 1162654.732 1181176.342 0, 1162916.537 1181185.924 0, 1163178.341 1181195.52 0, 1163438.904 1181205.087 0, 1163643.832 1175627.896 0,
+ 1163848.762 1170050.656 0))
+
+POLYGON ((1176004.805 1181684.583 0, 1175744.268 1181674.28 0, 1175482.492 1181663.944 0, 1175220.715 1181653.623 0, 1174958.938 1181643.317 0, 1174697.16 1181633.027 0, 1174435.381 1181622.753 0, 1174173.602 1181612.494 0, 1173911.822 1181602.25 0, 1173650.042 1181592.021 0,
+ 1173388.261 1181581.808 0, 1173126.479 1181571.611 0, 1172864.697 1181561.429 0, 1172602.914 1181551.262 0, 1172341.131 1181541.111 0, 1172079.347 1181530.975 0, 1171817.562 1181520.854 0, 1171555.777 1181510.749 0, 1171293.991 1181500.659 0, 1171032.205 1181490.585 0,
+ 1170770.418 1181480.526 0, 1170508.63 1181470.482 0, 1170246.842 1181460.454 0, 1169985.053 1181450.442 0, 1169722.024 1181440.397 0, 1169461.474 1181430.463 0, 1169199.683 1181420.496 0, 1168937.892 1181410.545 0, 1168676.1 1181400.609 0, 1168414.308 1181390.689 0,
+ 1168152.515 1181380.784 0, 1167890.722 1181370.895 0, 1167628.928 1181361.021 0, 1167367.133 1181351.162 0, 1167105.338 1181341.319 0, 1166843.542 1181331.491 0, 1166581.746 1181321.679 0, 1166319.949 1181311.882 0, 1166058.151 1181302.1 0, 1165796.353 1181292.334 0,
+ 1165534.555 1181282.583 0, 1165272.755 1181272.848 0, 1165010.956 1181263.128 0, 1164749.155 1181253.424 0, 1164487.354 1181243.735 0, 1164225.553 1181234.061 0, 1163963.751 1181224.403 0, 1163701.948 1181214.76 0, 1163438.904 1181205.087 0, 1163233.978 1186782.223 0,
+ 1163029.055 1192359.301 0, 1163291.439 1192368.95 0, 1163552.585 1192378.568 0, 1163813.731 1192388.202 0, 1164074.876 1192397.852 0, 1164336.02 1192407.517 0, 1164597.164 1192417.197 0, 1164858.307 1192426.892 0, 1165119.45 1192436.603 0, 1165380.592 1192446.329 0,
+ 1165641.734 1192456.071 0, 1165902.875 1192465.828 0, 1166164.015 1192475.601 0, 1166425.155 1192485.388 0, 1166686.294 1192495.191 0, 1166947.433 1192505.01 0, 1167208.571 1192514.844 0, 1167469.708 1192524.693 0, 1167730.845 1192534.558 0, 1167991.982 1192544.438 0,
+ 1168253.118 1192554.333 0, 1168514.253 1192564.244 0, 1168775.387 1192574.17 0, 1169036.522 1192584.111 0, 1169296.419 1192594.021 0, 1169558.788 1192604.04 0, 1169819.92 1192614.028 0, 1170081.052 1192624.031 0, 1170342.183 1192634.049 0, 1170603.313 1192644.083 0,
+ 1170864.443 1192654.132 0, 1171125.573 1192664.196 0, 1171386.701 1192674.276 0, 1171647.83 1192684.371 0, 1171908.957 1192694.482 0, 1172170.084 1192704.608 0, 1172431.21 1192714.749 0, 1172692.336 1192724.906 0, 1172953.461 1192735.078 0, 1173214.586 1192745.265 0,
+ 1173475.71 1192755.468 0, 1173736.833 1192765.686 0, 1173997.956 1192775.919 0, 1174259.078 1192786.168 0, 1174520.2 1192796.433 0, 1174781.321 1192806.712 0, 1175042.441 1192817.007 0, 1175303.561 1192827.317 0, 1175563.445 1192837.594 0, 1175784.124 1187261.118 0,
+ 1176004.805 1181684.583 0))
+
+POLYGON ((1188096.433 1193351.298 0, 1187836.578 1193340.287 0, 1187575.488 1193329.239 0, 1187314.398 1193318.206 0, 1187053.307 1193307.189 0, 1186792.215 1193296.187 0, 1186531.123 1193285.2 0, 1186270.03 1193274.229 0, 1186008.937 1193263.273 0, 1185747.843 1193252.333 0,
+ 1185486.748 1193241.408 0, 1185225.653 1193230.498 0, 1184964.557 1193219.604 0, 1184703.46 1193208.725 0, 1184442.363 1193197.861 0, 1184181.265 1193187.013 0, 1183920.166 1193176.18 0, 1183659.067 1193165.363 0, 1183397.967 1193154.561 0, 1183136.867 1193143.774 0,
+ 1182875.766 1193133.003 0, 1182614.664 1193122.247 0, 1182353.561 1193111.506 0, 1182092.458 1193100.781 0, 1181830.12 1193090.02 0, 1181570.25 1193079.376 0, 1181309.145 1193068.697 0, 1181048.04 1193058.033 0, 1180786.934 1193047.385 0, 1180525.827 1193036.752 0,
+ 1180264.72 1193026.134 0, 1180003.611 1193015.532 0, 1179742.503 1193004.945 0, 1179481.394 1192994.373 0, 1179220.284 1192983.817 0, 1178959.173 1192973.276 0, 1178698.062 1192962.75 0, 1178436.95 1192952.24 0, 1178175.838 1192941.746 0, 1177914.725 1192931.266 0,
+ 1177653.611 1192920.802 0, 1177392.497 1192910.353 0, 1177131.382 1192899.92 0, 1176870.267 1192889.502 0, 1176609.15 1192879.1 0, 1176348.034 1192868.713 0, 1176086.916 1192858.341 0, 1175825.799 1192847.984 0, 1175563.445 1192837.594 0, 1175342.768 1198414.007 0,
+ 1175122.094 1203990.352 0, 1175383.788 1204000.716 0, 1175644.25 1204011.046 0, 1175904.711 1204021.392 0, 1176165.171 1204031.753 0, 1176425.631 1204042.129 0, 1176686.09 1204052.521 0, 1176946.548 1204062.928 0, 1177207.006 1204073.351 0, 1177467.463 1204083.788 0,
+ 1177727.92 1204094.241 0, 1177988.376 1204104.71 0, 1178248.831 1204115.193 0, 1178509.286 1204125.693 0, 1178769.74 1204136.207 0, 1179030.193 1204146.737 0, 1179290.646 1204157.282 0, 1179551.099 1204167.842 0, 1179811.55 1204178.418 0, 1180072.001 1204189.009 0,
+ 1180332.452 1204199.615 0, 1180592.901 1204210.237 0, 1180853.351 1204220.874 0, 1181113.799 1204231.526 0, 1181373.016 1204242.143 0, 1181634.694 1204252.877 0, 1181895.141 1204263.575 0, 1182155.587 1204274.289 0, 1182416.032 1204285.018 0, 1182676.477 1204295.762 0,
+ 1182936.921 1204306.522 0, 1183197.365 1204317.297 0, 1183457.808 1204328.087 0, 1183718.25 1204338.892 0, 1183978.691 1204349.713 0, 1184239.132 1204360.55 0, 1184499.573 1204371.401 0, 1184760.012 1204382.268 0, 1185020.451 1204393.151 0, 1185280.89 1204404.048 0,
+ 1185541.327 1204414.961 0, 1185801.764 1204425.889 0, 1186062.201 1204436.833 0, 1186322.637 1204447.792 0, 1186583.072 1204458.766 0, 1186843.506 1204469.756 0, 1187103.94 1204480.761 0, 1187364.373 1204491.781 0, 1187623.576 1204502.764 0, 1187860.003 1198927.065 0,
+ 1188096.433 1193351.298 0))
+
+POLYGON ((1200123.56 1205050.493 0, 1199864.388 1205038.778 0, 1199603.987 1205027.022 0, 1199343.585 1205015.281 0, 1199083.183 1205003.556 0, 1198822.78 1204991.846 0, 1198562.376 1204980.151 0, 1198301.971 1204968.472 0, 1198041.566 1204956.808 0, 1197781.16 1204945.159 0,
+ 1197520.754 1204933.526 0, 1197260.346 1204921.908 0, 1196999.938 1204910.305 0, 1196739.53 1204898.718 0, 1196479.121 1204887.146 0, 1196218.711 1204875.589 0, 1195958.3 1204864.047 0, 1195697.889 1204852.521 0, 1195437.477 1204841.011 0, 1195177.064 1204829.515 0,
+ 1194916.651 1204818.035 0, 1194656.237 1204806.571 0, 1194395.822 1204795.121 0, 1194135.407 1204783.687 0, 1193873.762 1204772.214 0, 1193614.574 1204760.865 0, 1193354.156 1204749.477 0, 1193093.738 1204738.104 0, 1192833.32 1204726.746 0, 1192572.9 1204715.404 0,
+ 1192312.48 1204704.078 0, 1192052.059 1204692.766 0, 1191791.638 1204681.47 0, 1191531.216 1204670.189 0, 1191270.793 1204658.924 0, 1191010.37 1204647.674 0, 1190749.946 1204636.439 0, 1190489.521 1204625.219 0, 1190229.096 1204614.015 0, 1189968.67 1204602.826 0,
+ 1189708.243 1204591.653 0, 1189447.816 1204580.494 0, 1189187.388 1204569.352 0, 1188926.959 1204558.224 0, 1188666.53 1204547.112 0, 1188406.1 1204536.015 0, 1188145.669 1204524.933 0, 1187885.238 1204513.867 0, 1187623.576 1204502.764 0, 1187387.152 1210078.39 0,
+ 1187150.731 1215653.939 0, 1187411.733 1215665.014 0, 1187671.508 1215676.052 0, 1187931.283 1215687.106 0, 1188191.056 1215698.175 0, 1188450.829 1215709.259 0, 1188710.602 1215720.359 0, 1188970.373 1215731.473 0, 1189230.144 1215742.604 0, 1189489.915 1215753.749 0,
+ 1189749.684 1215764.91 0, 1190009.453 1215776.085 0, 1190269.222 1215787.277 0, 1190528.989 1215798.483 0, 1190788.757 1215809.705 0, 1191048.523 1215820.942 0, 1191308.289 1215832.194 0, 1191568.054 1215843.462 0, 1191827.818 1215854.745 0, 1192087.582 1215866.043 0,
+ 1192347.345 1215877.357 0, 1192607.107 1215888.686 0, 1192866.869 1215900.03 0, 1193126.63 1215911.389 0, 1193385.165 1215922.71 0, 1193646.15 1215934.154 0, 1193905.91 1215945.559 0, 1194165.668 1215956.98 0, 1194425.426 1215968.416 0, 1194685.183 1215979.867 0,
+ 1194944.939 1215991.333 0, 1195204.695 1216002.815 0, 1195464.45 1216014.312 0, 1195724.204 1216025.824 0, 1195983.958 1216037.352 0, 1196243.711 1216048.895 0, 1196503.463 1216060.453 0, 1196763.215 1216072.026 0, 1197022.966 1216083.615 0, 1197282.716 1216095.219 0,
+ 1197542.466 1216106.838 0, 1197802.215 1216118.473 0, 1198061.963 1216130.123 0, 1198321.71 1216141.788 0, 1198581.457 1216153.468 0, 1198841.203 1216165.164 0, 1199100.949 1216176.875 0, 1199360.694 1216188.602 0, 1199619.213 1216200.288 0, 1199871.385 1210625.429 0,
+ 1200123.56 1205050.493 0))
+
+POLYGON ((1212086.102 1216781.86 0, 1211827.615 1216769.443 0, 1211567.904 1216756.983 0, 1211308.193 1216744.538 0, 1211048.481 1216732.109 0, 1210788.768 1216719.695 0, 1210529.054 1216707.296 0, 1210269.34 1216694.912 0, 1210009.625 1216682.544 0, 1209749.909 1216670.191 0,
+ 1209490.193 1216657.853 0, 1209230.476 1216645.53 0, 1208970.758 1216633.223 0, 1208711.039 1216620.931 0, 1208451.32 1216608.654 0, 1208191.6 1216596.393 0, 1207931.879 1216584.147 0, 1207672.157 1216571.916 0, 1207412.435 1216559.7 0, 1207152.712 1216547.5 0,
+ 1206892.988 1216535.315 0, 1206633.264 1216523.146 0, 1206373.539 1216510.991 0, 1206113.813 1216498.852 0, 1205852.863 1216486.671 0, 1205594.359 1216474.62 0, 1205334.631 1216462.527 0, 1205074.903 1216450.449 0, 1204815.173 1216438.386 0, 1204555.443 1216426.339 0,
+ 1204295.712 1216414.307 0, 1204035.981 1216402.29 0, 1203776.249 1216390.288 0, 1203516.516 1216378.302 0, 1203256.782 1216366.331 0, 1202997.048 1216354.375 0, 1202737.313 1216342.435 0, 1202477.577 1216330.51 0, 1202217.841 1216318.6 0, 1201958.103 1216306.706 0,
+ 1201698.366 1216294.826 0, 1201438.627 1216282.963 0, 1201178.888 1216271.114 0, 1200919.148 1216259.281 0, 1200659.407 1216247.463 0, 1200399.666 1216235.66 0, 1200139.924 1216223.872 0, 1199880.181 1216212.1 0, 1199619.213 1216200.288 0, 1199367.045 1221775.064 0,
+ 1199114.881 1227349.753 0, 1199375.189 1227361.535 0, 1199634.276 1227373.278 0, 1199893.362 1227385.036 0, 1200152.447 1227396.809 0, 1200411.531 1227408.597 0, 1200670.615 1227420.4 0, 1200929.698 1227432.219 0, 1201188.78 1227444.053 0, 1201447.862 1227455.902 0,
+ 1201706.943 1227467.766 0, 1201966.023 1227479.646 0, 1202225.103 1227491.541 0, 1202484.181 1227503.451 0, 1202743.259 1227515.377 0, 1203002.337 1227527.317 0, 1203261.414 1227539.273 0, 1203520.49 1227551.245 0, 1203779.565 1227563.231 0, 1204038.64 1227575.233 0,
+ 1204297.713 1227587.25 0, 1204556.787 1227599.282 0, 1204815.859 1227611.329 0, 1205074.931 1227623.392 0, 1205332.781 1227635.413 0, 1205593.072 1227647.563 0, 1205852.142 1227659.671 0, 1206111.211 1227671.795 0, 1206370.279 1227683.934 0, 1206629.346 1227696.088 0,
+ 1206888.413 1227708.258 0, 1207147.479 1227720.442 0, 1207406.545 1227732.642 0, 1207665.609 1227744.857 0, 1207924.673 1227757.088 0, 1208183.736 1227769.333 0, 1208442.799 1227781.594 0, 1208701.861 1227793.87 0, 1208960.922 1227806.162 0, 1209219.982 1227818.469 0,
+ 1209479.041 1227830.79 0, 1209738.1 1227843.128 0, 1209997.158 1227855.48 0, 1210256.216 1227867.848 0, 1210515.272 1227880.23 0, 1210774.328 1227892.629 0, 1211033.384 1227905.042 0, 1211292.438 1227917.471 0, 1211550.272 1227929.856 0, 1211818.185 1222355.901 0,
+ 1212086.102 1216781.86 0))
+
+POLYGON ((1223983.975 1228545.089 0, 1223726.175 1228531.975 0, 1223467.157 1228518.815 0, 1223208.138 1228505.669 0, 1222949.118 1228492.539 0, 1222690.097 1228479.425 0, 1222431.076 1228466.325 0, 1222172.054 1228453.241 0, 1221913.031 1228440.172 0, 1221654.007 1228427.118 0,
+ 1221394.982 1228414.08 0, 1221135.957 1228401.056 0, 1220876.931 1228388.048 0, 1220617.904 1228375.056 0, 1220358.877 1228362.078 0, 1220099.849 1228349.116 0, 1219840.819 1228336.169 0, 1219581.79 1228323.237 0, 1219322.759 1228310.321 0, 1219063.728 1228297.419 0,
+ 1218804.696 1228284.533 0, 1218545.663 1228271.663 0, 1218286.629 1228258.807 0, 1218027.595 1228245.967 0, 1217767.341 1228233.081 0, 1217509.524 1228220.332 0, 1217250.487 1228207.537 0, 1216991.45 1228194.758 0, 1216732.411 1228181.994 0, 1216473.372 1228169.245 0,
+ 1216214.333 1228156.512 0, 1215955.292 1228143.793 0, 1215696.251 1228131.09 0, 1215437.209 1228118.402 0, 1215178.167 1228105.73 0, 1214919.123 1228093.072 0, 1214660.079 1228080.43 0, 1214401.034 1228067.803 0, 1214141.989 1228055.192 0, 1213882.942 1228042.596 0,
+ 1213623.895 1228030.014 0, 1213364.847 1228017.449 0, 1213105.799 1228004.898 0, 1212846.749 1227992.363 0, 1212587.699 1227979.842 0, 1212328.649 1227967.338 0, 1212069.597 1227954.848 0, 1211810.545 1227942.374 0, 1211550.272 1227929.856 0, 1211282.364 1233503.718 0,
+ 1211014.46 1239077.484 0, 1211274.074 1239089.97 0, 1211532.47 1239102.413 0, 1211790.865 1239114.871 0, 1212049.26 1239127.344 0, 1212307.654 1239139.833 0, 1212566.047 1239152.336 0, 1212824.439 1239164.855 0, 1213082.831 1239177.389 0, 1213341.222 1239189.938 0,
+ 1213599.612 1239202.503 0, 1213858.002 1239215.083 0, 1214116.391 1239227.677 0, 1214374.779 1239240.287 0, 1214633.166 1239252.913 0, 1214891.553 1239265.553 0, 1215149.938 1239278.209 0, 1215408.323 1239290.88 0, 1215666.708 1239303.566 0, 1215925.091 1239316.267 0,
+ 1216183.474 1239328.984 0, 1216441.856 1239341.715 0, 1216700.238 1239354.462 0, 1216958.618 1239367.225 0, 1217215.782 1239379.942 0, 1217475.377 1239392.794 0, 1217733.755 1239405.602 0, 1217992.133 1239418.425 0, 1218250.51 1239431.263 0, 1218508.886 1239444.117 0,
+ 1218767.261 1239456.985 0, 1219025.635 1239469.869 0, 1219284.009 1239482.768 0, 1219542.382 1239495.682 0, 1219800.755 1239508.612 0, 1220059.126 1239521.557 0, 1220317.497 1239534.516 0, 1220575.867 1239547.491 0, 1220834.236 1239560.482 0, 1221092.604 1239573.487 0,
+ 1221350.972 1239586.508 0, 1221609.339 1239599.544 0, 1221867.705 1239612.595 0, 1222126.07 1239625.661 0, 1222384.435 1239638.743 0, 1222642.799 1239651.839 0, 1222901.162 1239664.951 0, 1223159.524 1239678.078 0, 1223416.671 1239691.159 0, 1223700.321 1234118.172 0,
+ 1223983.975 1228545.089 0))
+
+POLYGON ((1235817.099 1240339.87 0, 1235559.988 1240326.062 0, 1235301.664 1240312.205 0, 1235043.339 1240298.364 0, 1234785.013 1240284.537 0, 1234526.687 1240270.726 0, 1234268.359 1240256.93 0, 1234010.031 1240243.149 0, 1233751.702 1240229.383 0, 1233493.372 1240215.632 0,
+ 1233235.041 1240201.897 0, 1232976.71 1240188.177 0, 1232718.378 1240174.472 0, 1232460.044 1240160.782 0, 1232201.711 1240147.108 0, 1231943.376 1240133.448 0, 1231685.04 1240119.804 0, 1231426.704 1240106.175 0, 1231168.367 1240092.561 0, 1230910.029 1240078.963 0,
+ 1230651.69 1240065.38 0, 1230393.351 1240051.812 0, 1230135.011 1240038.259 0, 1229876.67 1240024.721 0, 1229617.114 1240011.135 0, 1229359.985 1239997.691 0, 1229101.641 1239984.199 0, 1228843.297 1239970.722 0, 1228584.952 1239957.261 0, 1228326.606 1239943.814 0,
+ 1228068.26 1239930.383 0, 1227809.912 1239916.967 0, 1227551.564 1239903.566 0, 1227293.215 1239890.18 0, 1227034.865 1239876.81 0, 1226776.515 1239863.455 0, 1226518.163 1239850.115 0, 1226259.811 1239836.79 0, 1226001.458 1239823.48 0, 1225743.104 1239810.186 0,
+ 1225484.75 1239796.907 0, 1225226.395 1239783.643 0, 1224968.038 1239770.394 0, 1224709.682 1239757.16 0, 1224451.324 1239743.942 0, 1224192.966 1239730.739 0, 1223934.606 1239717.551 0, 1223676.246 1239704.378 0, 1223416.671 1239691.159 0, 1223133.027 1245264.044 0,
+ 1222849.388 1250836.823 0, 1223108.304 1250850.009 0, 1223366.008 1250863.148 0, 1223623.711 1250876.303 0, 1223881.414 1250889.472 0, 1224139.115 1250902.657 0, 1224396.816 1250915.857 0, 1224654.516 1250929.072 0, 1224912.215 1250942.303 0, 1225169.914 1250955.548 0,
+ 1225427.612 1250968.809 0, 1225685.309 1250982.084 0, 1225943.005 1250995.375 0, 1226200.7 1251008.682 0, 1226458.395 1251022.003 0, 1226716.089 1251035.339 0, 1226973.782 1251048.691 0, 1227231.474 1251062.058 0, 1227489.165 1251075.44 0, 1227746.856 1251088.837 0,
+ 1228004.546 1251102.249 0, 1228262.235 1251115.677 0, 1228519.923 1251129.119 0, 1228777.611 1251142.577 0, 1229034.087 1251155.987 0, 1229292.984 1251169.538 0, 1229550.669 1251183.042 0, 1229808.353 1251196.56 0, 1230066.037 1251210.094 0, 1230323.719 1251223.643 0,
+ 1230581.401 1251237.207 0, 1230839.082 1251250.786 0, 1231096.763 1251264.38 0, 1231354.442 1251277.989 0, 1231612.121 1251291.614 0, 1231869.799 1251305.254 0, 1232127.476 1251318.909 0, 1232385.152 1251332.579 0, 1232642.828 1251346.264 0, 1232900.503 1251359.965 0,
+ 1233158.177 1251373.68 0, 1233415.85 1251387.411 0, 1233673.522 1251401.157 0, 1233931.194 1251414.918 0, 1234188.864 1251428.695 0, 1234446.534 1251442.486 0, 1234704.203 1251456.293 0, 1234961.871 1251470.115 0, 1235218.33 1251483.887 0, 1235517.712 1245911.931 0,
+ 1235817.099 1240339.87 0))
+
+POLYGON ((1247585.394 1252165.892 0, 1247328.974 1252151.395 0, 1247071.345 1252136.846 0, 1246813.716 1252122.311 0, 1246556.086 1252107.792 0, 1246298.456 1252093.288 0, 1246040.824 1252078.799 0, 1245783.192 1252064.325 0, 1245525.558 1252049.866 0, 1245267.924 1252035.422 0,
+ 1245010.289 1252020.994 0, 1244752.653 1252006.581 0, 1244495.017 1251992.183 0, 1244237.379 1251977.8 0, 1243979.741 1251963.432 0, 1243722.102 1251949.079 0, 1243464.462 1251934.742 0, 1243206.821 1251920.42 0, 1242949.179 1251906.113 0, 1242691.536 1251891.821 0,
+ 1242433.893 1251877.544 0, 1242176.249 1251863.282 0, 1241918.603 1251849.036 0, 1241660.957 1251834.805 0, 1241402.103 1251820.522 0, 1241145.663 1251806.388 0, 1240888.015 1251792.202 0, 1240630.365 1251778.031 0, 1240372.715 1251763.876 0, 1240115.064 1251749.736 0,
+ 1239857.412 1251735.61 0, 1239599.76 1251721.5 0, 1239342.106 1251707.406 0, 1239084.452 1251693.326 0, 1238826.797 1251679.262 0, 1238569.141 1251665.212 0, 1238311.484 1251651.178 0, 1238053.827 1251637.159 0, 1237796.168 1251623.155 0, 1237538.509 1251609.167 0,
+ 1237280.849 1251595.193 0, 1237023.188 1251581.235 0, 1236765.526 1251567.292 0, 1236507.864 1251553.364 0, 1236250.2 1251539.451 0, 1235992.536 1251525.554 0, 1235734.871 1251511.671 0, 1235477.205 1251497.804 0, 1235218.33 1251483.887 0, 1234918.954 1257055.731 0,
+ 1234619.584 1262627.459 0, 1234877.801 1262641.341 0, 1235134.811 1262655.173 0, 1235391.82 1262669.02 0, 1235648.828 1262682.882 0, 1235905.836 1262696.76 0, 1236162.842 1262710.652 0, 1236419.848 1262724.56 0, 1236676.853 1262738.483 0, 1236933.857 1262752.42 0,
+ 1237190.861 1262766.373 0, 1237447.863 1262780.342 0, 1237704.865 1262794.325 0, 1237961.866 1262808.323 0, 1238218.866 1262822.337 0, 1238475.865 1262836.365 0, 1238732.864 1262850.409 0, 1238989.861 1262864.468 0, 1239246.858 1262878.542 0, 1239503.854 1262892.631 0,
+ 1239760.849 1262906.736 0, 1240017.843 1262920.855 0, 1240274.837 1262934.99 0, 1240531.829 1262949.139 0, 1240787.616 1262963.238 0, 1241045.812 1262977.484 0, 1241302.802 1262991.679 0, 1241559.792 1263005.889 0, 1241816.78 1263020.114 0, 1242073.768 1263034.355 0,
+ 1242330.754 1263048.61 0, 1242587.74 1263062.881 0, 1242844.725 1263077.167 0, 1243101.71 1263091.468 0, 1243358.693 1263105.784 0, 1243615.676 1263120.115 0, 1243872.657 1263134.461 0, 1244129.638 1263148.823 0, 1244386.618 1263163.199 0, 1244643.598 1263177.591 0,
+ 1244900.576 1263191.998 0, 1245157.553 1263206.42 0, 1245414.53 1263220.857 0, 1245671.506 1263235.309 0, 1245928.481 1263249.776 0, 1246185.455 1263264.259 0, 1246442.428 1263278.756 0, 1246699.4 1263293.269 0, 1246955.168 1263307.729 0, 1247270.278 1257736.868 0,
+ 1247585.394 1252165.892 0))
+
+POLYGON ((1259288.781 1264022.845 0, 1259033.053 1264007.663 0, 1258776.123 1263992.424 0, 1258519.192 1263977.201 0, 1258262.259 1263961.993 0, 1258005.326 1263946.799 0, 1257748.392 1263931.621 0, 1257491.458 1263916.458 0, 1257234.522 1263901.31 0, 1256977.585 1263886.178 0,
+ 1256720.648 1263871.06 0, 1256463.709 1263855.957 0, 1256206.77 1263840.87 0, 1255949.83 1263825.798 0, 1255692.889 1263810.741 0, 1255435.947 1263795.699 0, 1255179.004 1263780.672 0, 1254922.06 1263765.66 0, 1254665.116 1263750.663 0, 1254408.17 1263735.682 0,
+ 1254151.224 1263720.715 0, 1253894.277 1263705.764 0, 1253637.329 1263690.828 0, 1253380.38 1263675.907 0, 1253122.227 1263660.931 0, 1252866.479 1263646.11 0, 1252609.527 1263631.235 0, 1252352.575 1263616.374 0, 1252095.622 1263601.529 0, 1251838.667 1263586.698 0,
+ 1251581.712 1263571.883 0, 1251324.756 1263557.083 0, 1251067.799 1263542.298 0, 1250810.842 1263527.529 0, 1250553.883 1263512.774 0, 1250296.924 1263498.034 0, 1250039.963 1263483.31 0, 1249783.002 1263468.601 0, 1249526.04 1263453.906 0, 1249269.077 1263439.227 0,
+ 1249012.113 1263424.563 0, 1248755.149 1263409.915 0, 1248498.183 1263395.281 0, 1248241.217 1263380.662 0, 1247984.249 1263366.059 0, 1247727.281 1263351.471 0, 1247470.312 1263336.898 0, 1247213.343 1263322.34 0, 1246955.168 1263307.729 0, 1246640.065 1268878.468 0,
+ 1246324.97 1274449.081 0, 1246582.485 1274463.655 0, 1246838.799 1274478.176 0, 1247095.113 1274492.712 0, 1247351.425 1274507.263 0, 1247607.736 1274521.829 0, 1247864.047 1274536.41 0, 1248120.357 1274551.007 0, 1248376.666 1274565.618 0, 1248632.974 1274580.245 0,
+ 1248889.281 1274594.886 0, 1249145.587 1274609.543 0, 1249401.893 1274624.215 0, 1249658.197 1274638.902 0, 1249914.501 1274653.603 0, 1250170.804 1274668.32 0, 1250427.106 1274683.053 0, 1250683.407 1274697.8 0, 1250939.707 1274712.562 0, 1251196.007 1274727.339 0,
+ 1251452.305 1274742.132 0, 1251708.603 1274756.939 0, 1251964.9 1274771.762 0, 1252221.196 1274786.6 0, 1252476.291 1274801.383 0, 1252733.785 1274816.32 0, 1252990.078 1274831.203 0, 1253246.371 1274846.101 0, 1253502.662 1274861.014 0, 1253758.953 1274875.943 0,
+ 1254015.243 1274890.886 0, 1254271.531 1274905.844 0, 1254527.82 1274920.818 0, 1254784.107 1274935.806 0, 1255040.393 1274950.81 0, 1255296.678 1274965.829 0, 1255552.963 1274980.862 0, 1255809.246 1274995.911 0, 1256065.529 1275010.975 0, 1256321.811 1275026.054 0,
+ 1256578.092 1275041.148 0, 1256834.372 1275056.258 0, 1257090.651 1275071.382 0, 1257346.929 1275086.521 0, 1257603.207 1275101.676 0, 1257859.483 1275116.845 0, 1258115.759 1275132.03 0, 1258372.033 1275147.23 0, 1258627.109 1275162.373 0, 1258957.941 1269592.672 0,
+ 1259288.781 1264022.845 0))
+
+POLYGON ((1270927.183 1275910.418 0, 1270672.15 1275894.554 0, 1270415.919 1275878.63 0, 1270159.688 1275862.722 0, 1269903.455 1275846.828 0, 1269647.222 1275830.95 0, 1269390.987 1275815.086 0, 1269134.752 1275799.238 0, 1268878.515 1275783.405 0, 1268622.278 1275767.587 0,
+ 1268366.04 1275751.784 0, 1268109.801 1275735.996 0, 1267853.561 1275720.223 0, 1267597.32 1275704.465 0, 1267341.078 1275688.722 0, 1267084.835 1275672.995 0, 1266828.591 1275657.282 0, 1266572.346 1275641.585 0, 1266316.101 1275625.902 0, 1266059.854 1275610.235 0,
+ 1265803.607 1275594.583 0, 1265547.358 1275578.946 0, 1265291.109 1275563.324 0, 1265034.859 1275547.717 0, 1264777.41 1275532.052 0, 1264522.356 1275516.548 0, 1264266.103 1275500.986 0, 1264009.849 1275485.44 0, 1263753.594 1275469.908 0, 1263497.338 1275454.392 0,
+ 1263241.082 1275438.89 0, 1262984.824 1275423.404 0, 1262728.566 1275407.933 0, 1262472.306 1275392.477 0, 1262216.046 1275377.036 0, 1261959.785 1275361.61 0, 1261703.523 1275346.199 0, 1261447.26 1275330.803 0, 1261190.996 1275315.422 0, 1260934.731 1275300.057 0,
+ 1260678.465 1275284.706 0, 1260422.199 1275269.371 0, 1260165.931 1275254.05 0, 1259909.663 1275238.745 0, 1259653.394 1275223.455 0, 1259397.123 1275208.179 0, 1259140.852 1275192.919 0, 1258884.58 1275177.674 0, 1258627.109 1275162.373 0, 1258296.284 1280731.944 0,
+ 1257965.467 1286301.378 0, 1258222.28 1286316.64 0, 1258477.897 1286331.846 0, 1258733.512 1286347.067 0, 1258989.127 1286362.303 0, 1259244.74 1286377.554 0, 1259500.353 1286392.821 0, 1259755.965 1286408.102 0, 1260011.576 1286423.398 0, 1260267.186 1286438.709 0,
+ 1260522.795 1286454.036 0, 1260778.404 1286469.377 0, 1261034.011 1286484.733 0, 1261289.618 1286500.105 0, 1261545.223 1286515.491 0, 1261800.828 1286530.893 0, 1262056.432 1286546.31 0, 1262312.035 1286561.741 0, 1262567.637 1286577.188 0, 1262823.238 1286592.65 0,
+ 1263078.838 1286608.126 0, 1263334.437 1286623.618 0, 1263590.035 1286639.125 0, 1263845.633 1286654.647 0, 1264100.035 1286670.111 0, 1264356.825 1286685.736 0, 1264612.419 1286701.303 0, 1264868.013 1286716.885 0, 1265123.606 1286732.482 0, 1265379.198 1286748.094 0,
+ 1265634.789 1286763.722 0, 1265890.379 1286779.364 0, 1266145.968 1286795.021 0, 1266401.556 1286810.693 0, 1266657.144 1286826.381 0, 1266912.73 1286842.083 0, 1267168.316 1286857.801 0, 1267423.9 1286873.533 0, 1267679.484 1286889.281 0, 1267935.066 1286905.043 0,
+ 1268190.648 1286920.821 0, 1268446.229 1286936.614 0, 1268701.809 1286952.422 0, 1268957.388 1286968.244 0, 1269212.966 1286984.082 0, 1269468.543 1286999.935 0, 1269724.119 1287015.803 0, 1269979.694 1287031.686 0, 1270234.075 1287047.51 0, 1270580.625 1281479.032 0,
+ 1270927.183 1275910.418 0))
+
+POLYGON ((1282500.526 1287828.299 0, 1282246.189 1287811.756 0, 1281990.659 1287795.151 0, 1281735.129 1287778.562 0, 1281479.598 1287761.987 0, 1281224.066 1287745.427 0, 1280968.532 1287728.882 0, 1280712.998 1287712.352 0, 1280457.463 1287695.838 0, 1280201.927 1287679.338 0,
+ 1279946.39 1287662.853 0, 1279690.852 1287646.384 0, 1279435.313 1287629.929 0, 1279179.772 1287613.49 0, 1278924.231 1287597.065 0, 1278668.69 1287580.656 0, 1278413.147 1287564.262 0, 1278157.603 1287547.882 0, 1277902.058 1287531.518 0, 1277646.512 1287515.169 0,
+ 1277390.965 1287498.835 0, 1277135.418 1287482.515 0, 1276879.869 1287466.211 0, 1276624.319 1287449.922 0, 1276367.576 1287433.572 0, 1276113.217 1287417.389 0, 1275857.664 1287401.145 0, 1275602.111 1287384.916 0, 1275346.556 1287368.702 0, 1275091.001 1287352.504 0,
+ 1274835.445 1287336.32 0, 1274579.887 1287320.151 0, 1274324.329 1287303.997 0, 1274068.77 1287287.859 0, 1273813.21 1287271.735 0, 1273557.649 1287255.627 0, 1273302.087 1287239.533 0, 1273046.524 1287223.455 0, 1272790.96 1287207.391 0, 1272535.395 1287191.343 0,
+ 1272279.829 1287175.309 0, 1272024.262 1287159.291 0, 1271768.695 1287143.288 0, 1271513.126 1287127.299 0, 1271257.556 1287111.326 0, 1271001.986 1287095.368 0, 1270746.414 1287079.425 0, 1270490.842 1287063.497 0, 1270234.075 1287047.51 0, 1269887.534 1292615.847 0,
+ 1269541.002 1298184.038 0, 1269797.11 1298199.985 0, 1270052.027 1298215.872 0, 1270306.943 1298231.774 0, 1270561.858 1298247.691 0, 1270816.772 1298263.623 0, 1271071.685 1298279.571 0, 1271326.598 1298295.533 0, 1271581.509 1298311.51 0, 1271836.419 1298327.502 0,
+ 1272091.329 1298343.51 0, 1272346.237 1298359.532 0, 1272601.145 1298375.569 0, 1272856.051 1298391.621 0, 1273110.957 1298407.689 0, 1273365.862 1298423.771 0, 1273620.766 1298439.868 0, 1273875.668 1298455.981 0, 1274130.57 1298472.108 0, 1274385.471 1298488.25 0,
+ 1274640.371 1298504.407 0, 1274895.27 1298520.58 0, 1275150.168 1298536.767 0, 1275405.065 1298552.969 0, 1275658.772 1298569.111 0, 1275914.857 1298585.419 0, 1276169.751 1298601.666 0, 1276424.644 1298617.928 0, 1276679.537 1298634.206 0, 1276934.428 1298650.498 0,
+ 1277189.318 1298666.805 0, 1277444.208 1298683.128 0, 1277699.096 1298699.465 0, 1277953.984 1298715.817 0, 1278208.87 1298732.185 0, 1278463.756 1298748.567 0, 1278718.641 1298764.964 0, 1278973.524 1298781.377 0, 1279228.407 1298797.804 0, 1279483.289 1298814.246 0,
+ 1279738.17 1298830.704 0, 1279993.049 1298847.176 0, 1280247.928 1298863.663 0, 1280502.806 1298880.166 0, 1280757.683 1298896.683 0, 1281012.559 1298913.215 0, 1281267.434 1298929.763 0, 1281522.308 1298946.325 0, 1281775.993 1298962.825 0, 1282138.255 1293395.635 0,
+ 1282500.526 1287828.299 0))
+
+POLYGON ((1294008.734 1299776.175 0, 1293755.095 1299758.958 0, 1293500.269 1299741.676 0, 1293245.442 1299724.408 0, 1292990.614 1299707.156 0, 1292735.785 1299689.919 0, 1292480.954 1299672.696 0, 1292226.123 1299655.489 0, 1291971.291 1299638.297 0, 1291716.458 1299621.119 0,
+ 1291461.623 1299603.957 0, 1291206.788 1299586.81 0, 1290951.952 1299569.677 0, 1290697.114 1299552.56 0, 1290442.276 1299535.457 0, 1290187.437 1299518.37 0, 1289932.596 1299501.298 0, 1289677.755 1299484.24 0, 1289422.913 1299467.198 0, 1289168.069 1299450.171 0,
+ 1288913.225 1299433.158 0, 1288658.38 1299416.161 0, 1288403.533 1299399.179 0, 1288148.686 1299382.211 0, 1287892.651 1299365.18 0, 1287638.989 1299348.322 0, 1287384.138 1299331.399 0, 1287129.287 1299314.492 0, 1286874.435 1299297.599 0, 1286619.581 1299280.722 0,
+ 1286364.727 1299263.86 0, 1286109.872 1299247.012 0, 1285855.015 1299230.18 0, 1285600.158 1299213.363 0, 1285345.3 1299196.56 0, 1285090.441 1299179.773 0, 1284835.58 1299163.001 0, 1284580.719 1299146.243 0, 1284325.857 1299129.501 0, 1284070.994 1299112.774 0,
+ 1283816.13 1299096.061 0, 1283561.264 1299079.364 0, 1283306.398 1299062.681 0, 1283051.531 1299046.014 0, 1282796.663 1299029.362 0, 1282541.794 1299012.724 0, 1282286.924 1298996.102 0, 1282032.053 1298979.495 0, 1281775.993 1298962.825 0, 1281413.741 1304529.865 0,
+ 1281051.499 1310096.749 0, 1281306.9 1310113.376 0, 1281561.116 1310129.94 0, 1281815.331 1310146.52 0, 1282069.545 1310163.114 0, 1282323.757 1310179.724 0, 1282577.969 1310196.348 0, 1282832.18 1310212.988 0, 1283086.39 1310229.642 0, 1283340.599 1310246.312 0,
+ 1283594.807 1310262.996 0, 1283849.014 1310279.695 0, 1284103.22 1310296.41 0, 1284357.425 1310313.139 0, 1284611.629 1310329.883 0, 1284865.831 1310346.642 0, 1285120.033 1310363.416 0, 1285374.234 1310380.205 0, 1285628.434 1310397.009 0, 1285882.634 1310413.828 0,
+ 1286136.832 1310430.662 0, 1286391.029 1310447.511 0, 1286645.225 1310464.375 0, 1286899.42 1310481.254 0, 1287152.43 1310498.069 0, 1287407.807 1310515.057 0, 1287661.999 1310531.98 0, 1287916.19 1310548.919 0, 1288170.38 1310565.873 0, 1288424.569 1310582.841 0,
+ 1288678.757 1310599.825 0, 1288932.944 1310616.823 0, 1289187.13 1310633.837 0, 1289441.315 1310650.865 0, 1289695.5 1310667.909 0, 1289949.683 1310684.967 0, 1290203.865 1310702.041 0, 1290458.046 1310719.129 0, 1290712.226 1310736.232 0, 1290966.405 1310753.35 0,
+ 1291220.583 1310770.483 0, 1291474.76 1310787.632 0, 1291728.936 1310804.795 0, 1291983.111 1310821.973 0, 1292237.285 1310839.166 0, 1292491.458 1310856.374 0, 1292745.63 1310873.597 0, 1292999.801 1310890.835 0, 1293252.788 1310908.007 0, 1293630.756 1305342.169 0,
+ 1294008.734 1299776.175 0))
+
+POLYGON ((1305451.737 1311753.733 0, 1305198.797 1311735.846 0, 1304944.676 1311717.89 0, 1304690.554 1311699.949 0, 1304436.43 1311682.023 0, 1304182.306 1311664.112 0, 1303928.18 1311646.216 0, 1303674.054 1311628.335 0, 1303419.926 1311610.469 0, 1303165.798 1311592.617 0,
+ 1302911.668 1311574.781 0, 1302657.537 1311556.96 0, 1302403.405 1311539.154 0, 1302149.273 1311521.362 0, 1301895.139 1311503.586 0, 1301641.004 1311485.824 0, 1301386.868 1311468.078 0, 1301132.731 1311450.346 0, 1300878.593 1311432.63 0, 1300624.454 1311414.928 0,
+ 1300370.314 1311397.241 0, 1300116.173 1311379.57 0, 1299862.03 1311361.913 0, 1299607.887 1311344.271 0, 1299352.561 1311326.562 0, 1299099.597 1311309.032 0, 1298845.451 1311291.435 0, 1298591.304 1311273.853 0, 1298337.155 1311256.286 0, 1298083.006 1311238.734 0,
+ 1297828.855 1311221.197 0, 1297574.704 1311203.675 0, 1297320.551 1311186.168 0, 1297066.398 1311168.676 0, 1296812.243 1311151.198 0, 1296558.087 1311133.736 0, 1296303.931 1311116.289 0, 1296049.773 1311098.856 0, 1295795.614 1311081.439 0, 1295541.455 1311064.037 0,
+ 1295287.294 1311046.649 0, 1295033.132 1311029.276 0, 1294778.969 1311011.919 0, 1294524.805 1310994.576 0, 1294270.64 1310977.249 0, 1294016.475 1310959.936 0, 1293762.308 1310942.638 0, 1293508.14 1310925.355 0, 1293252.788 1310908.007 0, 1292874.831 1316473.685 0,
+ 1292496.885 1322039.197 0, 1292751.579 1322056.5 0, 1293005.091 1322073.739 0, 1293258.603 1322090.992 0, 1293512.114 1322108.26 0, 1293765.624 1322125.543 0, 1294019.132 1322142.841 0, 1294272.64 1322160.154 0, 1294526.147 1322177.481 0, 1294779.652 1322194.824 0,
+ 1295033.157 1322212.182 0, 1295286.661 1322229.554 0, 1295540.163 1322246.942 0, 1295793.665 1322264.344 0, 1296047.165 1322281.761 0, 1296300.665 1322299.193 0, 1296554.163 1322316.641 0, 1296807.661 1322334.103 0, 1297061.157 1322351.58 0, 1297314.652 1322369.071 0,
+ 1297568.147 1322386.578 0, 1297821.64 1322404.1 0, 1298075.132 1322421.637 0, 1298328.624 1322439.188 0, 1298580.935 1322456.673 0, 1298835.603 1322474.336 0, 1299089.091 1322491.932 0, 1299342.578 1322509.544 0, 1299596.064 1322527.17 0, 1299849.549 1322544.811 0,
+ 1300103.033 1322562.467 0, 1300356.516 1322580.138 0, 1300609.998 1322597.824 0, 1300863.479 1322615.525 0, 1301116.959 1322633.24 0, 1301370.438 1322650.971 0, 1301623.916 1322668.716 0, 1301877.392 1322686.477 0, 1302130.868 1322704.252 0, 1302384.343 1322722.042 0,
+ 1302637.816 1322739.848 0, 1302891.289 1322757.668 0, 1303144.76 1322775.503 0, 1303398.231 1322793.353 0, 1303651.7 1322811.218 0, 1303905.168 1322829.097 0, 1304158.635 1322846.992 0, 1304412.102 1322864.902 0, 1304664.389 1322882.743 0, 1305058.057 1317318.321 0,
+ 1305451.737 1311753.733 0))
+
+POLYGON ((1316829.461 1323760.661 0, 1316577.224 1323742.107 0, 1316323.809 1323723.481 0, 1316070.393 1323704.871 0, 1315816.976 1323686.275 0, 1315563.559 1323667.694 0, 1315310.14 1323649.128 0, 1315056.719 1323630.577 0, 1314803.298 1323612.041 0, 1314549.876 1323593.52 0,
+ 1314296.453 1323575.013 0, 1314043.028 1323556.522 0, 1313789.603 1323538.045 0, 1313536.176 1323519.584 0, 1313282.748 1323501.137 0, 1313029.32 1323482.705 0, 1312775.89 1323464.289 0, 1312522.459 1323445.887 0, 1312269.027 1323427.5 0, 1312015.594 1323409.128 0,
+ 1311762.16 1323390.77 0, 1311508.724 1323372.428 0, 1311255.288 1323354.101 0, 1311001.85 1323335.788 0, 1310747.235 1323317.406 0, 1310494.972 1323299.208 0, 1310241.532 1323280.941 0, 1309988.09 1323262.688 0, 1309734.647 1323244.45 0, 1309481.203 1323226.227 0,
+ 1309227.758 1323208.019 0, 1308974.312 1323189.826 0, 1308720.865 1323171.648 0, 1308467.417 1323153.485 0, 1308213.968 1323135.336 0, 1307960.518 1323117.203 0, 1307707.066 1323099.085 0, 1307453.614 1323080.981 0, 1307200.16 1323062.892 0, 1306946.706 1323044.819 0,
+ 1306693.25 1323026.76 0, 1306439.793 1323008.716 0, 1306186.336 1322990.687 0, 1305932.877 1322972.673 0, 1305679.417 1322954.674 0, 1305425.956 1322936.689 0, 1305172.494 1322918.72 0, 1304919.031 1322900.766 0, 1304664.389 1322882.743 0, 1304270.733 1328446.994 0,
+ 1303877.09 1334011.069 0, 1304131.074 1334029.046 0, 1304383.882 1334046.954 0, 1304636.689 1334064.877 0, 1304889.495 1334082.814 0, 1305142.3 1334100.767 0, 1305395.104 1334118.734 0, 1305647.906 1334136.717 0, 1305900.708 1334154.714 0, 1306153.509 1334172.726 0,
+ 1306406.308 1334190.753 0, 1306659.107 1334208.795 0, 1306911.904 1334226.852 0, 1307164.701 1334244.924 0, 1307417.496 1334263.01 0, 1307670.29 1334281.112 0, 1307923.084 1334299.228 0, 1308175.876 1334317.359 0, 1308428.667 1334335.505 0, 1308681.457 1334353.666 0,
+ 1308934.246 1334371.842 0, 1309187.034 1334390.033 0, 1309439.82 1334408.238 0, 1309692.606 1334426.459 0, 1309944.217 1334444.609 0, 1310198.174 1334462.944 0, 1310450.957 1334481.209 0, 1310703.738 1334499.489 0, 1310956.519 1334517.784 0, 1311209.298 1334536.094 0,
+ 1311462.076 1334554.418 0, 1311714.853 1334572.758 0, 1311967.629 1334591.112 0, 1312220.404 1334609.481 0, 1312473.178 1334627.866 0, 1312725.951 1334646.264 0, 1312978.723 1334664.678 0, 1313231.493 1334683.107 0, 1313484.263 1334701.551 0, 1313737.031 1334720.009 0,
+ 1313989.799 1334738.483 0, 1314242.565 1334756.971 0, 1314495.33 1334775.474 0, 1314748.094 1334793.992 0, 1315000.857 1334812.525 0, 1315253.619 1334831.073 0, 1315506.38 1334849.635 0, 1315759.14 1334868.213 0, 1316010.726 1334886.719 0, 1316420.087 1329323.778 0,
+ 1316829.461 1323760.661 0))
+
+POLYGON ((1328141.84 1335796.645 0, 1327890.305 1335777.428 0, 1327637.599 1335758.136 0, 1327384.891 1335738.859 0, 1327132.183 1335719.598 0, 1326879.473 1335700.351 0, 1326626.762 1335681.119 0, 1326374.05 1335661.902 0, 1326121.337 1335642.699 0, 1325868.623 1335623.512 0,
+ 1325615.908 1335604.339 0, 1325363.191 1335585.182 0, 1325110.474 1335566.039 0, 1324857.755 1335546.911 0, 1324605.035 1335527.798 0, 1324352.314 1335508.7 0, 1324099.592 1335489.616 0, 1323846.869 1335470.548 0, 1323594.145 1335451.494 0, 1323341.419 1335432.456 0,
+ 1323088.693 1335413.432 0, 1322835.965 1335394.423 0, 1322583.236 1335375.429 0, 1322330.507 1335356.45 0, 1322076.604 1335337.398 0, 1321825.043 1335318.536 0, 1321572.31 1335299.602 0, 1321319.576 1335280.682 0, 1321066.84 1335261.777 0, 1320814.104 1335242.887 0,
+ 1320561.366 1335224.012 0, 1320308.627 1335205.152 0, 1320055.887 1335186.307 0, 1319803.146 1335167.476 0, 1319550.404 1335148.661 0, 1319297.661 1335129.86 0, 1319044.917 1335111.074 0, 1318792.171 1335092.303 0, 1318539.425 1335073.547 0, 1318286.677 1335054.806 0,
+ 1318033.928 1335036.08 0, 1317781.178 1335017.369 0, 1317528.427 1334998.672 0, 1317275.675 1334979.99 0, 1317022.922 1334961.324 0, 1316770.168 1334942.672 0, 1316517.412 1334924.035 0, 1316264.656 1334905.412 0, 1316010.726 1334886.719 0, 1315601.378 1340449.479 0,
+ 1315192.044 1346012.053 0, 1315445.316 1346030.698 0, 1315697.418 1346049.272 0, 1315949.518 1346067.86 0, 1316201.618 1346086.464 0, 1316453.716 1346105.082 0, 1316705.813 1346123.716 0, 1316957.909 1346142.364 0, 1317210.004 1346161.027 0, 1317462.098 1346179.704 0,
+ 1317714.191 1346198.397 0, 1317966.283 1346217.104 0, 1318218.374 1346235.827 0, 1318470.463 1346254.564 0, 1318722.552 1346273.316 0, 1318974.639 1346292.083 0, 1319226.725 1346310.864 0, 1319478.81 1346329.661 0, 1319730.895 1346348.472 0, 1319982.977 1346367.298 0,
+ 1320235.059 1346386.139 0, 1320487.14 1346404.995 0, 1320739.22 1346423.866 0, 1320991.298 1346442.751 0, 1321242.207 1346461.564 0, 1321495.452 1346480.567 0, 1321747.527 1346499.497 0, 1321999.601 1346518.441 0, 1322251.674 1346537.401 0, 1322503.746 1346556.376 0,
+ 1322755.816 1346575.365 0, 1323007.886 1346594.369 0, 1323259.954 1346613.388 0, 1323512.022 1346632.422 0, 1323764.088 1346651.471 0, 1324016.153 1346670.534 0, 1324268.217 1346689.613 0, 1324520.28 1346708.706 0, 1324772.342 1346727.814 0, 1325024.402 1346746.937 0,
+ 1325276.462 1346766.074 0, 1325528.52 1346785.227 0, 1325780.577 1346804.394 0, 1326032.633 1346823.577 0, 1326284.688 1346842.774 0, 1326536.742 1346861.985 0, 1326788.795 1346881.212 0, 1327040.846 1346900.454 0, 1327291.73 1346919.621 0, 1327716.777 1341358.226 0,
+ 1328141.84 1335796.645 0))
+
+POLYGON ((1339388.803 1347861.369 0, 1339137.973 1347841.493 0, 1338885.977 1347821.54 0, 1338633.98 1347801.601 0, 1338381.981 1347781.677 0, 1338129.981 1347761.768 0, 1337877.98 1347741.874 0, 1337625.978 1347721.995 0, 1337373.975 1347702.13 0, 1337121.971 1347682.28 0,
+ 1336869.965 1347662.445 0, 1336617.958 1347642.625 0, 1336365.95 1347622.82 0, 1336113.941 1347603.03 0, 1335861.931 1347583.254 0, 1335609.92 1347563.493 0, 1335357.907 1347543.747 0, 1335105.894 1347524.016 0, 1334853.879 1347504.3 0, 1334601.863 1347484.599 0,
+ 1334349.845 1347464.912 0, 1334097.827 1347445.24 0, 1333845.808 1347425.583 0, 1333593.787 1347405.941 0, 1333340.599 1347386.223 0, 1333089.742 1347366.702 0, 1332837.718 1347347.104 0, 1332585.693 1347327.521 0, 1332333.666 1347307.953 0, 1332081.639 1347288.4 0,
+ 1331829.61 1347268.862 0, 1331577.58 1347249.339 0, 1331325.549 1347229.83 0, 1331073.517 1347210.336 0, 1330821.483 1347190.857 0, 1330569.449 1347171.393 0, 1330317.413 1347151.944 0, 1330065.377 1347132.51 0, 1329813.339 1347113.09 0, 1329561.3 1347093.685 0,
+ 1329309.259 1347074.295 0, 1329057.218 1347054.92 0, 1328805.176 1347035.56 0, 1328553.132 1347016.215 0, 1328301.087 1346996.884 0, 1328049.041 1346977.568 0, 1327796.994 1346958.267 0, 1327544.946 1346938.981 0, 1327291.73 1346919.621 0, 1326866.696 1352480.825 0,
+ 1326441.678 1358041.832 0, 1326694.237 1358061.142 0, 1326945.63 1358080.378 0, 1327197.023 1358099.629 0, 1327448.414 1358118.894 0, 1327699.804 1358138.175 0, 1327951.193 1358157.47 0, 1328202.581 1358176.78 0, 1328453.968 1358196.105 0, 1328705.353 1358215.444 0,
+ 1328956.738 1358234.798 0, 1329208.121 1358254.168 0, 1329459.503 1358273.552 0, 1329710.884 1358292.95 0, 1329962.264 1358312.364 0, 1330213.643 1358331.792 0, 1330465.021 1358351.235 0, 1330716.397 1358370.693 0, 1330967.772 1358390.166 0, 1331219.147 1358409.653 0,
+ 1331470.52 1358429.156 0, 1331721.891 1358448.673 0, 1331973.262 1358468.205 0, 1332224.632 1358487.751 0, 1332474.837 1358507.222 0, 1332727.367 1358526.889 0, 1332978.734 1358546.48 0, 1333230.098 1358566.086 0, 1333481.462 1358585.707 0, 1333732.825 1358605.342 0,
+ 1333984.186 1358624.992 0, 1334235.547 1358644.657 0, 1334486.906 1358664.337 0, 1334738.264 1358684.032 0, 1334989.621 1358703.741 0, 1335240.977 1358723.466 0, 1335492.331 1358743.205 0, 1335743.684 1358762.958 0, 1335995.037 1358782.727 0, 1336246.388 1358802.51 0,
+ 1336497.738 1358822.309 0, 1336749.086 1358842.122 0, 1337000.434 1358861.949 0, 1337251.78 1358881.792 0, 1337503.125 1358901.649 0, 1337754.47 1358921.521 0, 1338005.812 1358941.408 0, 1338257.154 1358961.31 0, 1338507.333 1358981.135 0, 1338948.06 1353421.35 0,
+ 1339388.803 1347861.369 0))
+
+POLYGON ((1350570.285 1359954.521 0, 1350320.162 1359933.99 0, 1350068.877 1359913.378 0, 1349817.592 1359892.781 0, 1349566.305 1359872.199 0, 1349315.017 1359851.632 0, 1349063.727 1359831.079 0, 1348812.437 1359810.541 0, 1348561.145 1359790.018 0, 1348309.852 1359769.51 0,
+ 1348058.558 1359749.016 0, 1347807.263 1359728.538 0, 1347555.966 1359708.074 0, 1347304.668 1359687.625 0, 1347053.369 1359667.191 0, 1346802.069 1359646.771 0, 1346550.768 1359626.366 0, 1346299.465 1359605.977 0, 1346048.162 1359585.602 0, 1345796.857 1359565.241 0,
+ 1345545.55 1359544.896 0, 1345294.243 1359524.565 0, 1345042.934 1359504.249 0, 1344791.625 1359483.948 0, 1344539.153 1359463.568 0, 1344289.002 1359443.39 0, 1344037.688 1359423.133 0, 1343786.374 1359402.891 0, 1343535.058 1359382.664 0, 1343283.741 1359362.452 0,
+ 1343032.423 1359342.254 0, 1342781.104 1359322.071 0, 1342529.783 1359301.903 0, 1342278.461 1359281.75 0, 1342027.139 1359261.612 0, 1341775.815 1359241.488 0, 1341524.489 1359221.379 0, 1341273.163 1359201.285 0, 1341021.835 1359181.206 0, 1340770.507 1359161.141 0,
+ 1340519.177 1359141.092 0, 1340267.846 1359121.057 0, 1340016.513 1359101.037 0, 1339765.18 1359081.031 0, 1339513.845 1359061.041 0, 1339262.509 1359041.065 0, 1339011.172 1359021.104 0, 1338759.834 1359001.158 0, 1338507.333 1358981.135 0, 1338066.621 1364540.717 0,
+ 1337625.926 1370100.093 0, 1337877.77 1370120.064 0, 1338128.454 1370139.958 0, 1338379.136 1370159.867 0, 1338629.818 1370179.791 0, 1338880.498 1370199.729 0, 1339131.177 1370219.683 0, 1339381.855 1370239.651 0, 1339632.532 1370259.633 0, 1339883.207 1370279.631 0,
+ 1340133.882 1370299.643 0, 1340384.555 1370319.67 0, 1340635.227 1370339.712 0, 1340885.898 1370359.768 0, 1341136.567 1370379.839 0, 1341387.236 1370399.925 0, 1341637.903 1370420.026 0, 1341888.569 1370440.142 0, 1342139.234 1370460.272 0, 1342389.898 1370480.417 0,
+ 1342640.56 1370500.577 0, 1342891.222 1370520.751 0, 1343141.882 1370540.941 0, 1343392.541 1370561.145 0, 1343642.041 1370581.27 0, 1343893.855 1370601.597 0, 1344144.511 1370621.845 0, 1344395.165 1370642.108 0, 1344645.818 1370662.386 0, 1344896.47 1370682.679 0,
+ 1345147.12 1370702.986 0, 1345397.77 1370723.308 0, 1345648.418 1370743.645 0, 1345899.065 1370763.996 0, 1346149.711 1370784.363 0, 1346400.355 1370804.744 0, 1346650.999 1370825.139 0, 1346901.641 1370845.55 0, 1347152.282 1370865.975 0, 1347402.922 1370886.415 0,
+ 1347653.561 1370906.87 0, 1347904.198 1370927.34 0, 1348154.834 1370947.824 0, 1348405.469 1370968.323 0, 1348656.103 1370988.837 0, 1348906.736 1371009.366 0, 1349157.367 1371029.909 0, 1349407.997 1371050.467 0, 1349657.469 1371070.945 0, 1350113.869 1365512.836 0,
+ 1350570.285 1359954.521 0))
+
+POLYGON ((1361686.222 1372075.784 0, 1361436.807 1372054.602 0, 1361186.235 1372033.336 0, 1360935.663 1372012.084 0, 1360685.089 1371990.848 0, 1360434.515 1371969.626 0, 1360183.938 1371948.419 0, 1359933.361 1371927.226 0, 1359682.783 1371906.049 0, 1359432.203 1371884.886 0,
+ 1359181.622 1371863.738 0, 1358931.039 1371842.605 0, 1358680.456 1371821.486 0, 1358429.871 1371800.382 0, 1358179.285 1371779.293 0, 1357928.698 1371758.219 0, 1357678.109 1371737.159 0, 1357427.519 1371716.114 0, 1357176.928 1371695.084 0, 1356926.336 1371674.069 0,
+ 1356675.742 1371653.068 0, 1356425.148 1371632.082 0, 1356174.552 1371611.111 0, 1355923.955 1371590.155 0, 1355672.2 1371569.117 0, 1355422.756 1371548.286 0, 1355172.156 1371527.374 0, 1354921.553 1371506.477 0, 1354670.95 1371485.594 0, 1354420.346 1371464.726 0,
+ 1354169.74 1371443.873 0, 1353919.133 1371423.035 0, 1353668.524 1371402.211 0, 1353417.915 1371381.403 0, 1353167.304 1371360.608 0, 1352916.692 1371339.829 0, 1352666.079 1371319.065 0, 1352415.465 1371298.315 0, 1352164.849 1371277.58 0, 1351914.232 1371256.859 0,
+ 1351663.614 1371236.154 0, 1351412.995 1371215.463 0, 1351162.375 1371194.787 0, 1350911.753 1371174.125 0, 1350661.13 1371153.479 0, 1350410.506 1371132.847 0, 1350159.88 1371112.23 0, 1349909.254 1371091.627 0, 1349657.469 1371070.945 0, 1349201.087 1376628.841 0,
+ 1348744.723 1382186.52 0, 1348995.85 1382207.149 0, 1349245.823 1382227.697 0, 1349495.794 1382248.26 0, 1349745.764 1382268.838 0, 1349995.732 1382289.431 0, 1350245.7 1382310.039 0, 1350495.666 1382330.661 0, 1350745.631 1382351.298 0, 1350995.595 1382371.949 0,
+ 1351245.557 1382392.615 0, 1351495.519 1382413.296 0, 1351745.479 1382433.992 0, 1351995.438 1382454.702 0, 1352245.396 1382475.428 0, 1352495.352 1382496.167 0, 1352745.308 1382516.922 0, 1352995.262 1382537.691 0, 1353245.214 1382558.475 0, 1353495.166 1382579.274 0,
+ 1353745.117 1382600.087 0, 1353995.066 1382620.915 0, 1354245.014 1382641.758 0, 1354494.96 1382662.616 0, 1354743.753 1382683.391 0, 1354994.85 1382704.375 0, 1355244.793 1382725.276 0, 1355494.735 1382746.193 0, 1355744.676 1382767.124 0, 1355994.615 1382788.07 0,
+ 1356244.553 1382809.03 0, 1356494.49 1382830.005 0, 1356744.426 1382850.995 0, 1356994.36 1382872 0, 1357244.293 1382893.019 0, 1357494.225 1382914.053 0, 1357744.156 1382935.102 0, 1357994.085 1382956.165 0, 1358244.013 1382977.244 0, 1358493.94 1382998.336 0,
+ 1358743.866 1383019.444 0, 1358993.791 1383040.566 0, 1359243.714 1383061.703 0, 1359493.636 1383082.855 0, 1359743.557 1383104.021 0, 1359993.476 1383125.203 0, 1360243.394 1383146.399 0, 1360493.311 1383167.609 0, 1360742.075 1383188.737 0, 1361214.139 1377632.369 0,
+ 1361686.222 1372075.784 0))
+
+POLYGON ((655963.707 766368.225 0, 655678.927 766388.381 0, 655392.709 766408.656 0, 655106.492 766428.947 0, 654820.276 766449.255 0, 654534.062 766469.58 0, 654247.848 766489.922 0, 653961.636 766510.281 0, 653675.425 766530.656 0, 653389.215 766551.049 0,
+ 653103.007 766571.458 0, 652816.799 766591.884 0, 652530.593 766612.327 0, 652244.388 766632.787 0, 651958.184 766653.263 0, 651671.982 766673.757 0, 651385.78 766694.267 0, 651099.58 766714.794 0, 650813.381 766735.338 0, 650527.183 766755.899 0,
+ 650240.987 766776.477 0, 649954.791 766797.071 0, 649668.597 766817.683 0, 649382.404 766838.311 0, 649094.772 766859.06 0, 648810.022 766879.618 0, 648523.833 766900.297 0, 648237.645 766920.992 0, 647951.458 766941.705 0, 647665.272 766962.434 0,
+ 647379.088 766983.18 0, 647092.905 767003.943 0, 646806.723 767024.723 0, 646520.542 767045.52 0, 646234.363 767066.333 0, 645948.184 767087.164 0, 645662.007 767108.011 0, 645375.832 767128.875 0, 645089.657 767149.756 0, 644803.484 767170.654 0,
+ 644517.311 767191.568 0, 644231.141 767212.5 0, 643944.971 767233.448 0, 643658.802 767254.413 0, 643372.635 767275.395 0, 643086.469 767296.394 0, 642800.305 767317.409 0, 642514.141 767338.442 0, 642226.537 767359.597 0, 642635.528 772917.499 0,
+ 643044.536 778475.651 0, 643331.483 778454.543 0, 643616.992 778433.559 0, 643902.503 778412.591 0, 644188.014 778391.641 0, 644473.527 778370.707 0, 644759.041 778349.79 0, 645044.557 778328.889 0, 645330.073 778308.006 0, 645615.591 778287.139 0,
+ 645901.11 778266.289 0, 646186.63 778245.456 0, 646472.152 778224.639 0, 646757.675 778203.84 0, 647043.199 778183.057 0, 647328.724 778162.291 0, 647614.25 778141.542 0, 647899.778 778120.81 0, 648185.307 778100.094 0, 648470.837 778079.395 0,
+ 648756.368 778058.714 0, 649041.901 778038.048 0, 649327.434 778017.4 0, 649612.969 777996.769 0, 649897.068 777976.258 0, 650184.043 777955.556 0, 650469.581 777934.975 0, 650755.121 777914.411 0, 651040.662 777893.863 0, 651326.204 777873.333 0,
+ 651611.748 777852.819 0, 651897.292 777832.322 0, 652182.838 777811.842 0, 652468.385 777791.378 0, 652753.933 777770.932 0, 653039.483 777750.502 0, 653325.033 777730.089 0, 653610.585 777709.693 0, 653896.138 777689.313 0, 654181.693 777668.951 0,
+ 654467.248 777648.605 0, 654752.805 777628.276 0, 655038.362 777607.964 0, 655323.922 777587.668 0, 655609.482 777567.39 0, 655895.043 777547.128 0, 656180.606 777526.883 0, 656466.17 777506.655 0, 656750.298 777486.545 0, 656356.994 771927.26 0,
+ 655963.707 766368.225 0))
+
+POLYGON ((670458.799 776536.165 0, 670174.613 776555.472 0, 669888.993 776574.894 0, 669603.374 776594.332 0, 669317.757 776613.787 0, 669032.141 776633.258 0, 668746.525 776652.747 0, 668460.911 776672.252 0, 668175.298 776691.774 0, 667889.687 776711.313 0,
+ 667604.076 776730.869 0, 667318.466 776750.441 0, 667032.858 776770.031 0, 666747.251 776789.637 0, 666461.645 776809.26 0, 666176.04 776828.9 0, 665890.436 776848.556 0, 665604.834 776868.23 0, 665319.232 776887.92 0, 665033.632 776907.627 0,
+ 664748.033 776927.351 0, 664462.435 776947.092 0, 664176.839 776966.849 0, 663891.243 776986.623 0, 663604.213 777006.514 0, 663320.055 777026.222 0, 663034.463 777046.047 0, 662748.872 777065.889 0, 662463.283 777085.747 0, 662177.694 777105.622 0,
+ 661892.107 777125.514 0, 661606.52 777145.423 0, 661320.935 777165.349 0, 661035.351 777185.291 0, 660749.769 777205.25 0, 660464.187 777225.226 0, 660178.607 777245.219 0, 659893.028 777265.229 0, 659607.45 777285.255 0, 659321.873 777305.298 0,
+ 659036.297 777325.358 0, 658750.723 777345.435 0, 658465.149 777365.529 0, 658179.577 777385.639 0, 657894.006 777405.766 0, 657608.437 777425.911 0, 657322.868 777446.071 0, 657037.301 777466.249 0, 656750.298 777486.545 0, 657143.62 783046.076 0,
+ 657536.959 788605.85 0, 657823.304 788585.6 0, 658108.217 788565.469 0, 658393.131 788545.354 0, 658678.046 788525.256 0, 658962.963 788505.175 0, 659247.88 788485.111 0, 659532.799 788465.063 0, 659817.719 788445.032 0, 660102.64 788425.018 0,
+ 660387.562 788405.021 0, 660672.486 788385.041 0, 660957.411 788365.077 0, 661242.337 788345.13 0, 661527.264 788325.2 0, 661812.192 788305.286 0, 662097.121 788285.389 0, 662382.052 788265.51 0, 662666.983 788245.646 0, 662951.916 788225.8 0,
+ 663236.85 788205.97 0, 663521.786 788186.158 0, 663806.722 788166.362 0, 664091.66 788146.582 0, 664375.166 788126.919 0, 664661.538 788107.074 0, 664946.479 788087.345 0, 665231.421 788067.633 0, 665516.365 788047.937 0, 665801.309 788028.259 0,
+ 666086.255 788008.597 0, 666371.202 787988.952 0, 666656.15 787969.323 0, 666941.099 787949.712 0, 667226.049 787930.117 0, 667511.001 787910.539 0, 667795.953 787890.978 0, 668080.907 787871.433 0, 668365.862 787851.906 0, 668650.818 787832.395 0,
+ 668935.775 787812.9 0, 669220.734 787793.423 0, 669505.693 787773.962 0, 669790.654 787754.519 0, 670075.616 787735.092 0, 670360.579 787715.681 0, 670645.543 787696.288 0, 670930.508 787676.911 0, 671214.043 787657.648 0, 670836.413 782096.785 0,
+ 670458.799 776536.165 0))
+
+POLYGON ((770232.924 848927.21 0, 769952.962 848940.675 0, 769671.602 848954.223 0, 769390.244 848967.788 0, 769108.886 848981.37 0, 768827.529 848994.968 0, 768546.172 849008.582 0, 768264.817 849022.214 0, 767983.462 849035.861 0, 767702.108 849049.526 0,
+ 767420.755 849063.207 0, 767139.403 849076.904 0, 766858.051 849090.618 0, 766576.701 849104.349 0, 766295.351 849118.096 0, 766014.002 849131.859 0, 765732.653 849145.64 0, 765451.306 849159.436 0, 765169.959 849173.25 0, 764888.613 849187.08 0,
+ 764607.268 849200.926 0, 764325.924 849214.789 0, 764044.581 849228.669 0, 763763.238 849242.565 0, 763480.497 849256.547 0, 763200.556 849270.407 0, 762919.215 849284.353 0, 762637.876 849298.315 0, 762356.538 849312.294 0, 762075.2 849326.289 0,
+ 761793.863 849340.302 0, 761512.527 849354.33 0, 761231.192 849368.375 0, 760949.858 849382.437 0, 760668.524 849396.515 0, 760387.192 849410.61 0, 760105.86 849424.722 0, 759824.529 849438.85 0, 759543.199 849452.994 0, 759261.869 849467.155 0,
+ 758980.541 849481.333 0, 758699.213 849495.527 0, 758417.886 849509.738 0, 758136.56 849523.965 0, 757855.235 849538.209 0, 757573.911 849552.469 0, 757292.587 849566.746 0, 757011.265 849581.04 0, 756728.543 849595.421 0, 757012.004 855164.715 0,
+ 757295.475 860734.201 0, 757577.538 860719.853 0, 757858.206 860705.593 0, 758138.873 860691.349 0, 758419.542 860677.122 0, 758700.212 860662.911 0, 758980.882 860648.717 0, 759261.553 860634.539 0, 759542.225 860620.378 0, 759822.898 860606.234 0,
+ 760103.572 860592.105 0, 760384.247 860577.994 0, 760664.922 860563.899 0, 760945.598 860549.82 0, 761226.275 860535.758 0, 761506.953 860521.713 0, 761787.632 860507.684 0, 762068.311 860493.671 0, 762348.992 860479.675 0, 762629.673 860465.696 0,
+ 762910.355 860451.733 0, 763191.038 860437.787 0, 763471.721 860423.857 0, 763752.406 860409.944 0, 764031.695 860396.116 0, 764313.777 860382.167 0, 764594.464 860368.303 0, 764875.152 860354.456 0, 765155.84 860340.625 0, 765436.53 860326.811 0,
+ 765717.22 860313.013 0, 765997.911 860299.232 0, 766278.603 860285.467 0, 766559.295 860271.719 0, 766839.989 860257.987 0, 767120.683 860244.272 0, 767401.378 860230.574 0, 767682.074 860216.892 0, 767962.77 860203.226 0, 768243.468 860189.577 0,
+ 768524.166 860175.945 0, 768804.865 860162.329 0, 769085.565 860148.729 0, 769366.265 860135.147 0, 769646.967 860121.58 0, 769927.669 860108.03 0, 770208.372 860094.497 0, 770489.076 860080.98 0, 770768.386 860067.547 0, 770500.65 854497.283 0,
+ 770232.924 848927.21 0))
+
+POLYGON ((784243.126 859438.959 0, 783963.777 859451.603 0, 783683.036 859464.327 0, 783402.296 859477.067 0, 783121.556 859489.824 0, 782840.818 859502.597 0, 782560.08 859515.387 0, 782279.343 859528.193 0, 781998.606 859541.016 0, 781717.871 859553.856 0,
+ 781437.136 859566.712 0, 781156.402 859579.584 0, 780875.668 859592.473 0, 780594.936 859605.379 0, 780314.204 859618.301 0, 780033.473 859631.239 0, 779752.742 859644.194 0, 779472.013 859657.166 0, 779191.284 859670.154 0, 778910.556 859683.158 0,
+ 778629.829 859696.18 0, 778349.102 859709.217 0, 778068.377 859722.271 0, 777787.652 859735.342 0, 777505.534 859748.494 0, 777226.204 859761.533 0, 776945.481 859774.653 0, 776664.76 859787.79 0, 776384.038 859800.944 0, 776103.318 859814.113 0,
+ 775822.599 859827.3 0, 775541.88 859840.503 0, 775261.162 859853.722 0, 774980.445 859866.958 0, 774699.728 859880.211 0, 774419.013 859893.48 0, 774138.298 859906.765 0, 773857.584 859920.067 0, 773576.87 859933.386 0, 773296.158 859946.721 0,
+ 773015.446 859960.072 0, 772734.735 859973.44 0, 772454.025 859986.825 0, 772173.316 860000.226 0, 771892.607 860013.644 0, 771611.899 860027.078 0, 771331.192 860040.529 0, 771050.486 860053.996 0, 770768.386 860067.547 0, 771036.13 865637.999 0,
+ 771303.883 871208.636 0, 771585.325 871195.117 0, 771865.375 871181.681 0, 772145.426 871168.262 0, 772425.478 871154.859 0, 772705.531 871141.472 0, 772985.585 871128.103 0, 773265.639 871114.749 0, 773545.694 871101.412 0, 773825.75 871088.092 0,
+ 774105.807 871074.788 0, 774385.865 871061.5 0, 774665.923 871048.23 0, 774945.982 871034.975 0, 775226.042 871021.737 0, 775506.103 871008.516 0, 775786.164 870995.311 0, 776066.226 870982.122 0, 776346.289 870968.95 0, 776626.353 870955.794 0,
+ 776906.418 870942.655 0, 777186.483 870929.533 0, 777466.549 870916.427 0, 777746.616 870903.337 0, 778025.293 870890.329 0, 778306.752 870877.207 0, 778586.821 870864.167 0, 778866.891 870851.143 0, 779146.962 870838.136 0, 779427.033 870825.145 0,
+ 779707.105 870812.171 0, 779987.178 870799.213 0, 780267.252 870786.272 0, 780547.327 870773.347 0, 780827.402 870760.439 0, 781107.478 870747.547 0, 781387.555 870734.672 0, 781667.632 870721.813 0, 781947.711 870708.971 0, 782227.79 870696.145 0,
+ 782507.87 870683.335 0, 782787.95 870670.542 0, 783068.031 870657.766 0, 783348.114 870645.006 0, 783628.196 870632.263 0, 783908.28 870619.536 0, 784188.364 870606.825 0, 784468.449 870594.131 0, 784747.146 870581.516 0, 784495.131 865010.146 0,
+ 784243.126 859438.959 0))
+
+POLYGON ((798192.126 869992.379 0, 797913.393 870004.206 0, 797633.273 870016.109 0, 797353.154 870028.028 0, 797073.036 870039.964 0, 796792.918 870051.916 0, 796512.801 870063.885 0, 796232.685 870075.87 0, 795952.569 870087.871 0, 795672.454 870099.889 0,
+ 795392.34 870111.924 0, 795112.226 870123.975 0, 794832.114 870136.043 0, 794552.002 870148.127 0, 794271.89 870160.227 0, 793991.78 870172.344 0, 793711.67 870184.478 0, 793431.56 870196.627 0, 793151.452 870208.794 0, 792871.344 870220.977 0,
+ 792591.237 870233.176 0, 792311.131 870245.392 0, 792031.025 870257.625 0, 791750.92 870269.873 0, 791469.428 870282.2 0, 791190.713 870294.421 0, 790910.61 870306.719 0, 790630.508 870319.034 0, 790350.407 870331.365 0, 790070.306 870343.713 0,
+ 789790.206 870356.077 0, 789510.107 870368.458 0, 789230.009 870380.855 0, 788949.911 870393.269 0, 788669.814 870405.699 0, 788389.718 870418.146 0, 788109.623 870430.609 0, 787829.528 870443.089 0, 787549.434 870455.585 0, 787269.341 870468.098 0,
+ 786989.248 870480.627 0, 786709.157 870493.173 0, 786429.066 870505.735 0, 786148.975 870518.313 0, 785868.886 870530.908 0, 785588.797 870543.52 0, 785308.709 870556.148 0, 785028.622 870568.793 0, 784747.146 870581.516 0, 784999.168 876153.068 0,
+ 785251.198 881724.796 0, 785532.015 881712.102 0, 785811.447 881699.487 0, 786090.879 881686.888 0, 786370.312 881674.306 0, 786649.745 881661.741 0, 786929.18 881649.192 0, 787208.615 881636.659 0, 787488.051 881624.143 0, 787767.487 881611.643 0,
+ 788046.925 881599.16 0, 788326.363 881586.693 0, 788605.802 881574.242 0, 788885.241 881561.808 0, 789164.681 881549.391 0, 789444.122 881536.989 0, 789723.564 881524.605 0, 790003.007 881512.237 0, 790282.45 881499.885 0, 790561.894 881487.549 0,
+ 790841.338 881475.231 0, 791120.784 881462.928 0, 791400.23 881450.642 0, 791679.677 881438.373 0, 791957.739 881426.18 0, 792238.572 881413.883 0, 792518.021 881401.663 0, 792797.471 881389.459 0, 793076.921 881377.272 0, 793356.373 881365.101 0,
+ 793635.824 881352.946 0, 793915.277 881340.808 0, 794194.73 881328.687 0, 794474.184 881316.582 0, 794753.639 881304.493 0, 795033.094 881292.421 0, 795312.55 881280.365 0, 795592.007 881268.326 0, 795871.465 881256.303 0, 796150.923 881244.297 0,
+ 796430.382 881232.307 0, 796709.842 881220.333 0, 796989.302 881208.376 0, 797268.763 881196.436 0, 797548.225 881184.512 0, 797827.687 881172.604 0, 798107.15 881160.713 0, 798386.614 881148.838 0, 798664.695 881137.038 0, 798428.406 875564.62 0,
+ 798192.126 869992.379 0))
+
+POLYGON ((812079.798 880587.179 0, 811801.683 880598.193 0, 811522.187 880609.278 0, 811242.691 880620.379 0, 810963.196 880631.498 0, 810683.702 880642.632 0, 810404.208 880653.783 0, 810124.715 880664.951 0, 809845.223 880676.134 0, 809565.731 880687.335 0,
+ 809286.24 880698.552 0, 809006.75 880709.785 0, 808727.26 880721.035 0, 808447.771 880732.301 0, 808168.283 880743.583 0, 807888.795 880754.882 0, 807609.308 880766.198 0, 807329.822 880777.53 0, 807050.336 880788.878 0, 806770.851 880800.243 0,
+ 806491.366 880811.624 0, 806211.883 880823.022 0, 805932.4 880834.436 0, 805652.917 880845.867 0, 805372.052 880857.371 0, 805093.954 880868.778 0, 804814.474 880880.258 0, 804534.994 880891.754 0, 804255.515 880903.267 0, 803976.037 880914.796 0,
+ 803696.559 880926.342 0, 803417.082 880937.905 0, 803137.606 880949.483 0, 802858.131 880961.078 0, 802578.656 880972.69 0, 802299.181 880984.318 0, 802019.708 880995.963 0, 801740.235 881007.624 0, 801460.763 881019.301 0, 801181.291 881030.995 0,
+ 800901.82 881042.705 0, 800622.35 881054.432 0, 800342.881 881066.175 0, 800063.412 881077.935 0, 799783.944 881089.711 0, 799504.477 881101.503 0, 799225.01 881113.312 0, 798945.544 881125.138 0, 798664.695 881137.038 0, 798900.99 886709.629 0,
+ 799137.293 892282.389 0, 799417.483 892270.517 0, 799696.293 892258.719 0, 799975.104 892246.938 0, 800253.915 892235.173 0, 800532.727 892223.425 0, 800811.54 892211.692 0, 801090.353 892199.977 0, 801369.167 892188.278 0, 801647.982 892176.595 0,
+ 801926.798 892164.928 0, 802205.614 892153.278 0, 802484.431 892141.645 0, 802763.248 892130.028 0, 803042.066 892118.427 0, 803320.885 892106.843 0, 803599.705 892095.275 0, 803878.525 892083.723 0, 804157.346 892072.188 0, 804436.168 892060.669 0,
+ 804714.99 892049.167 0, 804993.813 892037.681 0, 805272.637 892026.212 0, 805551.461 892014.759 0, 805828.906 892003.379 0, 806109.112 891991.902 0, 806387.938 891980.498 0, 806666.765 891969.11 0, 806945.593 891957.739 0, 807224.421 891946.385 0,
+ 807503.25 891935.047 0, 807782.08 891923.725 0, 808060.91 891912.42 0, 808339.741 891901.131 0, 808618.573 891889.858 0, 808897.405 891878.602 0, 809176.238 891867.362 0, 809455.072 891856.139 0, 809733.906 891844.932 0, 810012.741 891833.742 0,
+ 810291.577 891822.567 0, 810570.413 891811.41 0, 810849.25 891800.269 0, 811128.088 891789.144 0, 811406.926 891778.035 0, 811685.765 891766.943 0, 811964.605 891755.868 0, 812243.445 891744.809 0, 812520.907 891733.82 0, 812300.349 886160.415 0,
+ 812079.798 880587.179 0))
+
+POLYGON ((825906.017 891223.065 0, 825628.523 891233.269 0, 825349.653 891243.54 0, 825070.783 891253.828 0, 824791.914 891264.132 0, 824513.045 891274.453 0, 824234.177 891284.79 0, 823955.31 891295.143 0, 823676.443 891305.513 0, 823397.577 891315.899 0,
+ 823118.712 891326.302 0, 822839.847 891336.721 0, 822560.983 891347.157 0, 822282.119 891357.609 0, 822003.256 891368.077 0, 821724.393 891378.562 0, 821445.532 891389.063 0, 821166.67 891399.58 0, 820887.81 891410.114 0, 820608.95 891420.665 0,
+ 820330.091 891431.232 0, 820051.232 891441.815 0, 819772.374 891452.414 0, 819493.516 891463.031 0, 819213.281 891473.716 0, 818935.803 891484.312 0, 818656.948 891494.977 0, 818378.093 891505.659 0, 818099.238 891516.357 0, 817820.385 891527.071 0,
+ 817541.532 891537.802 0, 817262.679 891548.55 0, 816983.828 891559.313 0, 816704.976 891570.094 0, 816426.126 891580.89 0, 816147.276 891591.703 0, 815868.427 891602.533 0, 815589.578 891613.378 0, 815310.73 891624.241 0, 815031.883 891635.119 0,
+ 814753.036 891646.014 0, 814474.19 891656.926 0, 814195.345 891667.854 0, 813916.5 891678.798 0, 813637.656 891689.759 0, 813358.812 891700.736 0, 813079.969 891711.729 0, 812801.127 891722.739 0, 812520.907 891733.82 0, 812741.471 897307.391 0,
+ 812962.041 902881.124 0, 813241.603 902870.069 0, 813519.789 902859.085 0, 813797.975 902848.117 0, 814076.163 902837.166 0, 814354.351 902826.231 0, 814632.539 902815.312 0, 814910.729 902804.41 0, 815188.919 902793.524 0, 815467.109 902782.655 0,
+ 815745.3 902771.802 0, 816023.492 902760.965 0, 816301.685 902750.145 0, 816579.878 902739.341 0, 816858.072 902728.553 0, 817136.266 902717.782 0, 817414.461 902707.027 0, 817692.657 902696.289 0, 817970.853 902685.567 0, 818249.05 902674.861 0,
+ 818527.248 902664.172 0, 818805.446 902653.499 0, 819083.645 902642.842 0, 819361.844 902632.202 0, 819638.669 902621.631 0, 819918.245 902610.971 0, 820196.446 902600.38 0, 820474.648 902589.805 0, 820752.851 902579.247 0, 821031.054 902568.705 0,
+ 821309.257 902558.179 0, 821587.462 902547.67 0, 821865.667 902537.177 0, 822143.873 902526.701 0, 822422.079 902516.241 0, 822700.286 902505.797 0, 822978.493 902495.37 0, 823256.701 902484.959 0, 823534.91 902474.564 0, 823813.119 902464.186 0,
+ 824091.329 902453.824 0, 824369.54 902443.479 0, 824647.751 902433.15 0, 824925.963 902422.837 0, 825204.175 902412.541 0, 825482.388 902402.261 0, 825760.602 902391.997 0, 826038.816 902381.75 0, 826315.657 902371.57 0, 826110.834 896797.236 0,
+ 825906.017 891223.065 0))
+
+POLYGON ((839670.658 901899.744 0, 839393.788 901909.142 0, 839115.546 901918.604 0, 838837.304 901928.081 0, 838559.063 901937.575 0, 838280.823 901947.085 0, 838002.583 901956.612 0, 837724.344 901966.155 0, 837446.105 901975.714 0, 837167.867 901985.29 0,
+ 836889.63 901994.882 0, 836611.393 902004.491 0, 836333.156 902014.116 0, 836054.92 902023.757 0, 835776.685 902033.415 0, 835498.45 902043.089 0, 835220.216 902052.779 0, 834941.983 902062.486 0, 834663.75 902072.209 0, 834385.517 902081.949 0,
+ 834107.286 902091.705 0, 833829.054 902101.477 0, 833550.824 902111.266 0, 833272.593 902121.071 0, 832992.991 902130.941 0, 832716.135 902140.73 0, 832437.907 902150.584 0, 832159.679 902160.455 0, 831881.452 902170.342 0, 831603.225 902180.245 0,
+ 831324.999 902190.165 0, 831046.773 902200.101 0, 830768.548 902210.053 0, 830490.324 902220.022 0, 830212.1 902230.007 0, 829933.877 902240.009 0, 829655.655 902250.027 0, 829377.433 902260.061 0, 829099.211 902270.112 0, 828820.991 902280.179 0,
+ 828542.771 902290.262 0, 828264.551 902300.362 0, 827986.332 902310.478 0, 827708.114 902320.611 0, 827429.896 902330.76 0, 827151.679 902340.925 0, 826873.462 902351.107 0, 826595.246 902361.305 0, 826315.657 902371.57 0, 826520.485 907946.061 0,
+ 826725.32 913520.705 0, 827004.25 913510.465 0, 827281.809 913500.291 0, 827559.37 913490.133 0, 827836.931 913479.992 0, 828114.492 913469.867 0, 828392.054 913459.758 0, 828669.617 913449.666 0, 828947.181 913439.59 0, 829224.745 913429.53 0,
+ 829502.309 913419.487 0, 829779.874 913409.46 0, 830057.44 913399.449 0, 830335.006 913389.455 0, 830612.573 913379.477 0, 830890.141 913369.515 0, 831167.709 913359.57 0, 831445.277 913349.641 0, 831722.847 913339.728 0, 832000.416 913329.832 0,
+ 832277.987 913319.952 0, 832555.558 913310.088 0, 832833.129 913300.241 0, 833110.701 913290.41 0, 833386.904 913280.644 0, 833665.847 913270.797 0, 833943.421 913261.015 0, 834220.996 913251.25 0, 834498.571 913241.501 0, 834776.146 913231.768 0,
+ 835053.722 913222.051 0, 835331.299 913212.351 0, 835608.877 913202.667 0, 835886.454 913192.999 0, 836164.033 913183.348 0, 836441.612 913173.713 0, 836719.191 913164.095 0, 836996.772 913154.492 0, 837274.352 913144.907 0, 837551.934 913135.337 0,
+ 837829.515 913125.784 0, 838107.098 913116.247 0, 838384.681 913106.726 0, 838662.264 913097.222 0, 838939.848 913087.734 0, 839217.433 913078.263 0, 839495.018 913068.808 0, 839772.604 913059.369 0, 840048.822 913049.993 0, 839859.737 907474.792 0,
+ 839670.658 901899.744 0))
+
+POLYGON ((853373.6 912616.923 0, 853097.355 912625.519 0, 852819.743 912634.174 0, 852542.133 912642.845 0, 852264.522 912651.532 0, 851986.913 912660.235 0, 851709.303 912668.955 0, 851431.695 912677.692 0, 851154.086 912686.444 0, 850876.479 912695.213 0,
+ 850598.871 912703.998 0, 850321.265 912712.8 0, 850043.659 912721.618 0, 849766.053 912730.452 0, 849488.448 912739.303 0, 849210.843 912748.17 0, 848933.239 912757.053 0, 848655.636 912765.953 0, 848378.033 912774.869 0, 848100.43 912783.801 0,
+ 847822.828 912792.75 0, 847545.227 912801.715 0, 847267.626 912810.696 0, 846990.025 912819.694 0, 846711.058 912828.752 0, 846434.826 912837.738 0, 846157.227 912846.785 0, 845879.629 912855.848 0, 845602.031 912864.928 0, 845324.434 912874.023 0,
+ 845046.837 912883.135 0, 844769.241 912892.264 0, 844491.646 912901.408 0, 844214.051 912910.57 0, 843936.456 912919.747 0, 843658.862 912928.941 0, 843381.269 912938.151 0, 843103.676 912947.377 0, 842826.084 912956.62 0, 842548.492 912965.879 0,
+ 842270.9 912975.155 0, 841993.31 912984.446 0, 841715.72 912993.755 0, 841438.13 913003.079 0, 841160.541 913012.42 0, 840882.952 913021.777 0, 840605.364 913031.15 0, 840327.777 913040.54 0, 840048.822 913049.993 0, 840237.911 918625.344 0,
+ 840427.005 924200.841 0, 840705.301 924191.411 0, 840982.232 924182.043 0, 841259.164 924172.692 0, 841536.096 924163.357 0, 841813.029 924154.038 0, 842089.962 924144.736 0, 842366.896 924135.45 0, 842643.83 924126.18 0, 842920.765 924116.926 0,
+ 843197.7 924107.689 0, 843474.636 924098.468 0, 843751.573 924089.264 0, 844028.51 924080.075 0, 844305.448 924070.903 0, 844582.386 924061.748 0, 844859.325 924052.608 0, 845136.264 924043.485 0, 845413.204 924034.378 0, 845690.144 924025.288 0,
+ 845967.085 924016.214 0, 846244.026 924007.156 0, 846520.968 923998.114 0, 846797.911 923989.089 0, 847073.489 923980.124 0, 847351.797 923971.087 0, 847628.741 923962.111 0, 847905.686 923953.15 0, 848182.631 923944.207 0, 848459.577 923935.279 0,
+ 848736.523 923926.368 0, 849013.469 923917.473 0, 849290.417 923908.594 0, 849567.364 923899.732 0, 849844.313 923890.886 0, 850121.261 923882.056 0, 850398.211 923873.243 0, 850675.16 923864.446 0, 850952.111 923855.665 0, 851229.062 923846.9 0,
+ 851506.013 923838.152 0, 851782.965 923829.42 0, 852059.917 923820.705 0, 852336.87 923812.005 0, 852613.823 923803.322 0, 852890.777 923794.656 0, 853167.732 923786.005 0, 853444.687 923777.371 0, 853720.279 923768.796 0, 853546.937 918192.786 0,
+ 853373.6 912616.923 0))
+
+POLYGON ((867014.72 923374.308 0, 866739.103 923382.105 0, 866462.124 923389.956 0, 866185.147 923397.824 0, 865908.169 923405.708 0, 865631.193 923413.609 0, 865354.216 923421.526 0, 865077.24 923429.459 0, 864800.265 923437.408 0, 864523.29 923445.374 0,
+ 864246.315 923453.356 0, 863969.341 923461.354 0, 863692.368 923469.369 0, 863415.395 923477.4 0, 863138.422 923485.447 0, 862861.45 923493.511 0, 862584.478 923501.591 0, 862307.507 923509.687 0, 862030.537 923517.799 0, 861753.566 923525.928 0,
+ 861476.597 923534.073 0, 861199.627 923542.235 0, 860922.659 923550.412 0, 860645.69 923558.606 0, 860367.36 923566.857 0, 860091.755 923575.043 0, 859814.788 923583.286 0, 859537.822 923591.545 0, 859260.856 923599.821 0, 858983.891 923608.112 0,
+ 858706.926 923616.42 0, 858429.961 923624.745 0, 858152.997 923633.085 0, 857876.034 923641.442 0, 857599.071 923649.816 0, 857322.109 923658.205 0, 857045.147 923666.611 0, 856768.185 923675.033 0, 856491.224 923683.472 0, 856214.264 923691.927 0,
+ 855937.304 923700.398 0, 855660.344 923708.885 0, 855383.385 923717.389 0, 855106.427 923725.909 0, 854829.469 923734.445 0, 854552.511 923742.998 0, 854275.554 923751.567 0, 853998.598 923760.152 0, 853720.279 923768.796 0, 853893.625 929344.947 0,
+ 854066.975 934921.237 0, 854344.635 934912.613 0, 854620.935 934904.048 0, 854897.235 934895.5 0, 855173.536 934886.968 0, 855449.838 934878.451 0, 855726.14 934869.952 0, 856002.443 934861.468 0, 856278.746 934853.001 0, 856555.049 934844.55 0,
+ 856831.353 934836.115 0, 857107.658 934827.697 0, 857383.963 934819.294 0, 857660.268 934810.908 0, 857936.574 934802.539 0, 858212.881 934794.185 0, 858489.188 934785.848 0, 858765.495 934777.527 0, 859041.803 934769.222 0, 859318.112 934760.934 0,
+ 859594.421 934752.662 0, 859870.73 934744.406 0, 860147.04 934736.167 0, 860423.351 934727.943 0, 860698.302 934719.776 0, 860975.973 934711.545 0, 861252.285 934703.371 0, 861528.597 934695.212 0, 861804.91 934687.07 0, 862081.223 934678.945 0,
+ 862357.537 934670.835 0, 862633.851 934662.742 0, 862910.166 934654.665 0, 863186.481 934646.604 0, 863462.797 934638.56 0, 863739.113 934630.532 0, 864015.43 934622.52 0, 864291.747 934614.524 0, 864568.064 934606.545 0, 864844.382 934598.582 0,
+ 865120.701 934590.635 0, 865397.02 934582.704 0, 865673.339 934574.79 0, 865949.659 934566.892 0, 866225.979 934559.01 0, 866502.3 934551.144 0, 866778.622 934543.295 0, 867054.943 934535.462 0, 867329.907 934527.684 0, 867172.312 928950.927 0,
+ 867014.72 923374.308 0))
+
+POLYGON ((880593.898 934171.603 0, 880318.911 934178.604 0, 880042.569 934185.656 0, 879766.226 934192.725 0, 879489.884 934199.81 0, 879213.543 934206.911 0, 878937.202 934214.028 0, 878660.861 934221.162 0, 878384.521 934228.312 0, 878108.181 934235.478 0,
+ 877831.841 934242.661 0, 877555.502 934249.859 0, 877279.164 934257.074 0, 877002.826 934264.305 0, 876726.488 934271.553 0, 876450.151 934278.817 0, 876173.814 934286.097 0, 875897.477 934293.393 0, 875621.141 934300.706 0, 875344.806 934308.034 0,
+ 875068.471 934315.38 0, 874792.136 934322.741 0, 874515.802 934330.119 0, 874239.468 934337.512 0, 873961.777 934344.959 0, 873686.801 934352.349 0, 873410.469 934359.792 0, 873134.137 934367.251 0, 872857.805 934374.726 0, 872581.474 934382.217 0,
+ 872305.143 934389.725 0, 872028.813 934397.249 0, 871752.483 934404.789 0, 871476.153 934412.346 0, 871199.824 934419.919 0, 870923.496 934427.508 0, 870647.168 934435.113 0, 870370.84 934442.735 0, 870094.513 934450.372 0, 869818.186 934458.026 0,
+ 869541.86 934465.697 0, 869265.534 934473.383 0, 868989.208 934481.086 0, 868712.883 934488.806 0, 868436.559 934496.541 0, 868160.235 934504.293 0, 867883.911 934512.061 0, 867607.588 934519.845 0, 867329.907 934527.684 0, 867487.507 940104.575 0,
+ 867645.11 945681.597 0, 867922.131 945673.777 0, 868197.798 945666.011 0, 868473.465 945658.261 0, 868749.132 945650.528 0, 869024.8 945642.811 0, 869300.469 945635.11 0, 869576.138 945627.426 0, 869851.807 945619.757 0, 870127.477 945612.105 0,
+ 870403.147 945604.469 0, 870678.818 945596.849 0, 870954.489 945589.246 0, 871230.161 945581.659 0, 871505.833 945574.088 0, 871781.505 945566.533 0, 872057.178 945558.994 0, 872332.851 945551.472 0, 872608.525 945543.966 0, 872884.199 945536.476 0,
+ 873159.874 945529.002 0, 873435.549 945521.545 0, 873711.225 945514.104 0, 873986.901 945506.679 0, 874261.223 945499.306 0, 874538.254 945491.877 0, 874813.932 945484.501 0, 875089.609 945477.141 0, 875365.288 945469.797 0, 875640.966 945462.469 0,
+ 875916.645 945455.158 0, 876192.325 945447.863 0, 876468.005 945440.584 0, 876743.685 945433.321 0, 877019.366 945426.075 0, 877295.047 945418.844 0, 877570.729 945411.63 0, 877846.411 945404.432 0, 878122.093 945397.251 0, 878397.776 945390.085 0,
+ 878673.459 945382.936 0, 878949.143 945375.803 0, 879224.827 945368.687 0, 879500.512 945361.586 0, 879776.197 945354.502 0, 880051.882 945347.434 0, 880327.568 945340.382 0, 880603.254 945333.347 0, 880877.588 945326.362 0, 880735.742 939748.917 0,
+ 880593.898 934171.603 0))
+
+POLYGON ((894111.017 945008.512 0, 893836.662 945014.722 0, 893560.957 945020.979 0, 893285.253 945027.251 0, 893009.548 945033.541 0, 892733.844 945039.846 0, 892458.141 945046.168 0, 892182.438 945052.505 0, 891906.735 945058.859 0, 891631.033 945065.23 0,
+ 891355.331 945071.616 0, 891079.629 945078.019 0, 890803.928 945084.438 0, 890528.227 945090.873 0, 890252.526 945097.324 0, 889976.826 945103.792 0, 889701.126 945110.276 0, 889425.427 945116.776 0, 889149.728 945123.292 0, 888874.029 945129.825 0,
+ 888598.331 945136.374 0, 888322.633 945142.939 0, 888046.936 945149.52 0, 887771.239 945156.117 0, 887494.19 945162.763 0, 887219.846 945169.361 0, 886944.15 945176.007 0, 886668.454 945182.669 0, 886392.759 945189.348 0, 886117.064 945196.043 0,
+ 885841.37 945202.754 0, 885565.676 945209.481 0, 885289.983 945216.225 0, 885014.29 945222.984 0, 884738.597 945229.76 0, 884462.904 945236.552 0, 884187.213 945243.361 0, 883911.521 945250.185 0, 883635.83 945257.026 0, 883360.139 945263.883 0,
+ 883084.449 945270.757 0, 882808.759 945277.646 0, 882533.069 945284.552 0, 882257.38 945291.474 0, 881981.692 945298.412 0, 881706.003 945305.367 0, 881430.315 945312.337 0, 881154.628 945319.324 0, 880877.588 945326.362 0, 881019.438 950903.933 0,
+ 881161.29 956481.626 0, 881437.67 956474.605 0, 881712.701 956467.635 0, 881987.733 956460.681 0, 882262.764 956453.743 0, 882537.796 956446.822 0, 882812.829 956439.916 0, 883087.862 956433.027 0, 883362.895 956426.154 0, 883637.929 956419.297 0,
+ 883912.963 956412.456 0, 884187.998 956405.631 0, 884463.033 956398.823 0, 884738.068 956392.031 0, 885013.104 956385.255 0, 885288.14 956378.495 0, 885563.176 956371.751 0, 885838.213 956365.024 0, 886113.251 956358.313 0, 886388.288 956351.618 0,
+ 886663.327 956344.939 0, 886938.365 956338.276 0, 887213.404 956331.63 0, 887488.443 956324.999 0, 887762.134 956318.418 0, 888038.523 956311.787 0, 888313.564 956305.206 0, 888588.604 956298.64 0, 888863.646 956292.091 0, 889138.687 956285.558 0,
+ 889413.729 956279.041 0, 889688.772 956272.54 0, 889963.814 956266.055 0, 890238.858 956259.587 0, 890513.901 956253.134 0, 890788.945 956246.698 0, 891063.989 956240.279 0, 891339.034 956233.875 0, 891614.079 956227.487 0, 891889.124 956221.116 0,
+ 892164.17 956214.761 0, 892439.216 956208.422 0, 892714.263 956202.099 0, 892989.31 956195.793 0, 893264.357 956189.503 0, 893539.405 956183.228 0, 893814.453 956176.97 0, 894089.501 956170.729 0, 894363.202 956164.534 0, 894237.108 950586.462 0,
+ 894111.017 945008.512 0))
+
+POLYGON ((907565.958 955884.74 0, 907292.238 955890.162 0, 907017.173 955895.627 0, 906742.108 955901.107 0, 906467.044 955906.605 0, 906191.98 955912.118 0, 905916.917 955917.647 0, 905641.853 955923.193 0, 905366.79 955928.755 0, 905091.728 955934.333 0,
+ 904816.665 955939.927 0, 904541.603 955945.537 0, 904266.542 955951.164 0, 903991.48 955956.807 0, 903716.419 955962.466 0, 903441.359 955968.141 0, 903166.298 955973.832 0, 902891.238 955979.54 0, 902616.179 955985.263 0, 902341.119 955991.003 0,
+ 902066.06 955996.759 0, 901791.002 956002.532 0, 901515.943 956008.32 0, 901240.885 956014.125 0, 900964.481 956019.974 0, 900690.771 956025.783 0, 900415.714 956031.636 0, 900140.657 956037.505 0, 899865.601 956043.391 0, 899590.545 956049.293 0,
+ 899315.489 956055.211 0, 899040.434 956061.145 0, 898765.379 956067.095 0, 898490.325 956073.062 0, 898215.271 956079.045 0, 897940.217 956085.044 0, 897665.163 956091.059 0, 897390.11 956097.09 0, 897115.058 956103.138 0, 896840.005 956109.201 0,
+ 896564.953 956115.281 0, 896289.902 956121.377 0, 896014.85 956127.49 0, 895739.799 956133.618 0, 895464.749 956139.763 0, 895189.698 956145.923 0, 894914.649 956152.1 0, 894639.599 956158.294 0, 894363.202 956164.534 0, 894489.299 961742.724 0,
+ 894615.399 967321.029 0, 894891.136 967314.804 0, 895165.528 967308.625 0, 895439.922 967302.463 0, 895714.315 967296.317 0, 895988.709 967290.187 0, 896263.103 967284.073 0, 896537.498 967277.975 0, 896811.893 967271.894 0, 897086.288 967265.829 0,
+ 897360.684 967259.779 0, 897635.08 967253.746 0, 897909.477 967247.729 0, 898183.873 967241.729 0, 898458.27 967235.744 0, 898732.668 967229.776 0, 899007.066 967223.823 0, 899281.464 967217.887 0, 899555.863 967211.967 0, 899830.261 967206.063 0,
+ 900104.661 967200.175 0, 900379.06 967194.304 0, 900653.46 967188.448 0, 900927.86 967182.609 0, 901200.918 967176.815 0, 901476.662 967170.979 0, 901751.063 967165.188 0, 902025.465 967159.414 0, 902299.867 967153.655 0, 902574.269 967147.913 0,
+ 902848.672 967142.187 0, 903123.075 967136.476 0, 903397.478 967130.783 0, 903671.882 967125.105 0, 903946.286 967119.443 0, 904220.69 967113.798 0, 904495.095 967108.168 0, 904769.5 967102.555 0, 905043.905 967096.958 0, 905318.311 967091.377 0,
+ 905592.717 967085.813 0, 905867.123 967080.264 0, 906141.53 967074.732 0, 906415.937 967069.216 0, 906690.344 967063.715 0, 906964.751 967058.231 0, 907239.159 967052.764 0, 907513.568 967047.312 0, 907786.634 967041.903 0, 907676.294 961463.264 0,
+ 907565.958 955884.74 0))
+
+POLYGON ((920958.605 966799.99 0, 920685.522 966804.627 0, 920411.1 966809.304 0, 920136.678 966813.996 0, 919862.256 966818.705 0, 919587.834 966823.43 0, 919313.412 966828.171 0, 919038.991 966832.928 0, 918764.57 966837.701 0, 918490.15 966842.49 0,
+ 918215.729 966847.296 0, 917941.309 966852.118 0, 917666.89 966856.956 0, 917392.47 966861.81 0, 917118.051 966866.68 0, 916843.632 966871.566 0, 916569.214 966876.469 0, 916294.795 966881.387 0, 916020.377 966886.322 0, 915745.959 966891.273 0,
+ 915471.542 966896.24 0, 915197.125 966901.223 0, 914922.708 966906.223 0, 914648.291 966911.238 0, 914372.534 966916.295 0, 914099.459 966921.318 0, 913825.044 966926.382 0, 913550.628 966931.462 0, 913276.213 966936.558 0, 913001.798 966941.671 0,
+ 912727.384 966946.8 0, 912452.97 966951.944 0, 912178.556 966957.105 0, 911904.142 966962.282 0, 911629.729 966967.476 0, 911355.316 966972.685 0, 911080.903 966977.91 0, 910806.491 966983.152 0, 910532.079 966988.41 0, 910257.667 966993.684 0,
+ 909983.256 966998.974 0, 909708.845 967004.28 0, 909434.434 967009.603 0, 909160.024 967014.941 0, 908885.614 967020.296 0, 908611.204 967025.667 0, 908336.794 967031.054 0, 908062.385 967036.457 0, 907786.634 967041.903 0, 907896.975 972620.652 0,
+ 908007.319 978199.508 0, 908282.41 978194.075 0, 908556.162 978188.685 0, 908829.915 978183.31 0, 909103.668 978177.952 0, 909377.422 978172.611 0, 909651.176 978167.285 0, 909924.93 978161.975 0, 910198.684 978156.681 0, 910472.439 978151.404 0,
+ 910746.194 978146.143 0, 911019.949 978140.897 0, 911293.705 978135.668 0, 911567.46 978130.455 0, 911841.217 978125.258 0, 912114.973 978120.078 0, 912388.73 978114.913 0, 912662.487 978109.764 0, 912936.245 978104.632 0, 913210.002 978099.515 0,
+ 913483.76 978094.415 0, 913757.519 978089.331 0, 914031.277 978084.263 0, 914305.036 978079.211 0, 914577.457 978074.2 0, 914852.555 978069.156 0, 915126.315 978064.152 0, 915400.075 978059.165 0, 915673.835 978054.193 0, 915947.596 978049.238 0,
+ 916221.357 978044.299 0, 916495.118 978039.376 0, 916768.88 978034.469 0, 917042.642 978029.579 0, 917316.404 978024.704 0, 917590.166 978019.845 0, 917863.929 978015.003 0, 918137.692 978010.177 0, 918411.455 978005.366 0, 918685.219 978000.572 0,
+ 918958.983 977995.794 0, 919232.747 977991.032 0, 919506.511 977986.287 0, 919780.276 977981.557 0, 920054.041 977976.844 0, 920327.806 977972.146 0, 920601.572 977967.465 0, 920875.338 977962.8 0, 921147.767 977958.173 0, 921053.185 972379.028 0,
+ 920958.605 966799.99 0))
+
+POLYGON ((934288.844 977753.964 0, 934016.401 977757.821 0, 933742.623 977761.712 0, 933468.845 977765.62 0, 933195.068 977769.544 0, 932921.291 977773.484 0, 932647.514 977777.441 0, 932373.737 977781.413 0, 932099.961 977785.401 0, 931826.184 977789.406 0,
+ 931552.408 977793.426 0, 931278.632 977797.463 0, 931004.857 977801.516 0, 930731.082 977805.585 0, 930457.307 977809.67 0, 930183.532 977813.771 0, 929909.757 977817.889 0, 929635.983 977822.022 0, 929362.209 977826.172 0, 929088.435 977830.337 0,
+ 928814.661 977834.519 0, 928540.888 977838.717 0, 928267.115 977842.931 0, 927993.342 977847.161 0, 927718.233 977851.428 0, 927445.797 977855.67 0, 927172.025 977859.948 0, 926898.253 977864.243 0, 926624.481 977868.553 0, 926350.71 977872.88 0,
+ 926076.939 977877.223 0, 925803.168 977881.582 0, 925529.397 977885.957 0, 925255.627 977890.348 0, 924981.857 977894.756 0, 924708.087 977899.179 0, 924434.318 977903.619 0, 924160.548 977908.074 0, 923886.779 977912.546 0, 923613.011 977917.034 0,
+ 923339.242 977921.538 0, 923065.474 977926.058 0, 922791.706 977930.595 0, 922517.938 977935.147 0, 922244.171 977939.716 0, 921970.404 977944.3 0, 921696.637 977948.901 0, 921422.87 977953.518 0, 921147.767 977958.173 0, 921242.35 983537.421 0,
+ 921336.935 989116.766 0, 921611.379 989112.122 0, 921884.489 989107.516 0, 922157.599 989102.926 0, 922430.709 989098.353 0, 922703.82 989093.795 0, 922976.931 989089.254 0, 923250.042 989084.728 0, 923523.153 989080.219 0, 923796.265 989075.726 0,
+ 924069.377 989071.248 0, 924342.489 989066.787 0, 924615.602 989062.342 0, 924888.715 989057.913 0, 925161.828 989053.5 0, 925434.941 989049.104 0, 925708.054 989044.723 0, 925981.168 989040.358 0, 926254.282 989036.01 0, 926527.397 989031.677 0,
+ 926800.511 989027.361 0, 927073.626 989023.061 0, 927346.741 989018.776 0, 927619.856 989014.508 0, 927891.639 989010.277 0, 928166.088 989006.02 0, 928439.204 989001.8 0, 928712.32 988997.596 0, 928985.437 988993.408 0, 929258.554 988989.237 0,
+ 929531.671 988985.081 0, 929804.788 988980.941 0, 930077.906 988976.818 0, 930351.023 988972.71 0, 930624.141 988968.619 0, 930897.26 988964.544 0, 931170.378 988960.484 0, 931443.497 988956.441 0, 931716.616 988952.414 0, 931989.735 988948.403 0,
+ 932262.855 988944.408 0, 932535.974 988940.43 0, 932809.094 988936.467 0, 933082.214 988932.52 0, 933355.335 988928.589 0, 933628.455 988924.675 0, 933901.576 988920.776 0, 934174.697 988916.894 0, 934446.487 988913.047 0, 934367.665 983333.456 0,
+ 934288.844 977753.964 0))
+
+POLYGON ((947556.561 988746.365 0, 947284.76 988749.445 0, 947011.629 988752.555 0, 946738.498 988755.682 0, 946465.368 988758.825 0, 946192.237 988761.984 0, 945919.107 988765.159 0, 945645.977 988768.35 0, 945372.847 988771.557 0, 945099.718 988774.781 0,
+ 944826.588 988778.02 0, 944553.459 988781.275 0, 944280.33 988784.547 0, 944007.201 988787.835 0, 943734.072 988791.138 0, 943460.944 988794.458 0, 943187.815 988797.794 0, 942914.687 988801.146 0, 942641.559 988804.514 0, 942368.432 988807.898 0,
+ 942095.304 988811.298 0, 941822.177 988814.714 0, 941549.05 988818.146 0, 941275.923 988821.595 0, 941001.465 988825.076 0, 940729.67 988828.54 0, 940456.543 988832.036 0, 940183.417 988835.549 0, 939910.291 988839.077 0, 939637.166 988842.622 0,
+ 939364.04 988846.183 0, 939090.915 988849.76 0, 938817.79 988853.353 0, 938544.665 988856.962 0, 938271.54 988860.587 0, 937998.416 988864.229 0, 937725.292 988867.886 0, 937452.168 988871.559 0, 937179.044 988875.249 0, 936905.921 988878.954 0,
+ 936632.797 988882.676 0, 936359.674 988886.414 0, 936086.551 988890.168 0, 935813.429 988893.937 0, 935540.306 988897.723 0, 935267.184 988901.525 0, 934994.062 988905.343 0, 934720.94 988909.178 0, 934446.487 988913.047 0, 934525.31 994492.731 0,
+ 934604.135 1000072.506 0, 934877.928 1000068.646 0, 935150.393 1000064.821 0, 935422.858 1000061.012 0, 935695.324 1000057.219 0, 935967.789 1000053.442 0, 936240.255 1000049.682 0, 936512.721 1000045.937 0, 936785.188 1000042.208 0, 937057.654 1000038.495 0,
+ 937330.121 1000034.799 0, 937602.588 1000031.118 0, 937875.055 1000027.454 0, 938147.522 1000023.805 0, 938419.99 1000020.173 0, 938692.458 1000016.556 0, 938964.926 1000012.956 0, 939237.394 1000009.371 0, 939509.862 1000005.803 0, 939782.331 1000002.251 0,
+ 940054.8 999998.714 0, 940327.269 999995.194 0, 940599.738 999991.69 0, 940872.208 999988.202 0, 941143.349 999984.747 0, 941417.147 999981.274 0, 941689.617 999977.834 0, 941962.087 999974.41 0, 942234.558 999971.002 0, 942507.029 999967.61 0,
+ 942779.499 999964.234 0, 943051.971 999960.874 0, 943324.442 999957.53 0, 943596.913 999954.202 0, 943869.385 999950.891 0, 944141.857 999947.595 0, 944414.329 999944.315 0, 944686.801 999941.051 0, 944959.274 999937.804 0, 945231.746 999934.572 0,
+ 945504.219 999931.357 0, 945776.692 999928.157 0, 946049.165 999924.974 0, 946321.639 999921.806 0, 946594.112 999918.655 0, 946866.586 999915.52 0, 947139.06 999912.4 0, 947411.534 999909.297 0, 947682.682 999906.225 0, 947619.621 994326.25 0,
+ 947556.561 988746.365 0))
+
+POLYGON ((960761.646 999776.894 0, 960490.488 999779.2 0, 960218.007 999781.534 0, 959945.525 999783.883 0, 959673.044 999786.249 0, 959400.562 999788.63 0, 959128.081 999791.028 0, 958855.6 999793.441 0, 958583.119 999795.871 0, 958310.638 999798.317 0,
+ 958038.157 999800.779 0, 957765.677 999803.256 0, 957493.196 999805.75 0, 957220.716 999808.26 0, 956948.236 999810.786 0, 956675.756 999813.328 0, 956403.276 999815.886 0, 956130.797 999818.46 0, 955858.317 999821.05 0, 955585.838 999823.656 0,
+ 955313.359 999826.278 0, 955040.88 999828.917 0, 954768.401 999831.571 0, 954495.922 999834.241 0, 954222.118 999836.941 0, 953950.965 999839.63 0, 953678.487 999842.348 0, 953406.009 999845.083 0, 953133.531 999847.833 0, 952861.053 999850.599 0,
+ 952588.576 999853.382 0, 952316.098 999856.181 0, 952043.621 999858.995 0, 951771.144 999861.826 0, 951498.667 999864.672 0, 951226.19 999867.535 0, 950953.714 999870.414 0, 950681.237 999873.309 0, 950408.761 999876.22 0, 950136.285 999879.146 0,
+ 949863.809 999882.089 0, 949591.333 999885.048 0, 949318.858 999888.023 0, 949046.382 999891.014 0, 948773.907 999894.021 0, 948501.432 999897.044 0, 948228.957 999900.083 0, 947956.483 999903.139 0, 947682.682 999906.225 0, 947745.743 1005486.286 0,
+ 947808.805 1011066.428 0, 948081.947 1011063.35 0, 948353.764 1011060.302 0, 948625.582 1011057.27 0, 948897.401 1011054.254 0, 949169.219 1011051.254 0, 949441.037 1011048.271 0, 949712.856 1011045.303 0, 949984.675 1011042.351 0, 950256.494 1011039.415 0,
+ 950528.313 1011036.495 0, 950800.132 1011033.592 0, 951071.952 1011030.704 0, 951343.772 1011027.832 0, 951615.592 1011024.976 0, 951887.412 1011022.136 0, 952159.232 1011019.313 0, 952431.052 1011016.505 0, 952702.873 1011013.713 0, 952974.693 1011010.937 0,
+ 953246.514 1011008.177 0, 953518.335 1011005.434 0, 953790.157 1011002.706 0, 954061.978 1010999.994 0, 954332.477 1010997.311 0, 954605.621 1010994.618 0, 954877.443 1010991.954 0, 955149.265 1010989.307 0, 955421.087 1010986.675 0, 955692.909 1010984.059 0,
+ 955964.732 1010981.459 0, 956236.554 1010978.875 0, 956508.377 1010976.307 0, 956780.2 1010973.756 0, 957052.023 1010971.22 0, 957323.846 1010968.7 0, 957595.67 1010966.196 0, 957867.493 1010963.708 0, 958139.317 1010961.236 0, 958411.141 1010958.781 0,
+ 958682.965 1010956.341 0, 958954.789 1010953.917 0, 959226.613 1010951.509 0, 959498.437 1010949.117 0, 959770.262 1010946.741 0, 960042.086 1010944.382 0, 960313.911 1010942.038 0, 960585.736 1010939.71 0, 960856.24 1010937.409 0, 960808.942 1005357.111 0,
+ 960761.646 999776.894 0))
+
+POLYGON ((973903.986 1010845.252 0, 973633.475 1010846.788 0, 973361.645 1010848.348 0, 973089.814 1010849.924 0, 972817.984 1010851.516 0, 972546.154 1010853.124 0, 972274.324 1010854.748 0, 972002.494 1010856.388 0, 971730.664 1010858.044 0, 971458.834 1010859.715 0,
+ 971187.005 1010861.403 0, 970915.175 1010863.107 0, 970643.346 1010864.827 0, 970371.516 1010866.563 0, 970099.687 1010868.315 0, 969827.858 1010870.083 0, 969556.029 1010871.867 0, 969284.2 1010873.666 0, 969012.371 1010875.482 0, 968740.543 1010877.314 0,
+ 968468.714 1010879.162 0, 968196.886 1010881.026 0, 967925.057 1010882.906 0, 967653.229 1010884.802 0, 967380.08 1010886.723 0, 967109.573 1010888.641 0, 966837.745 1010890.585 0, 966565.917 1010892.545 0, 966294.089 1010894.521 0, 966022.262 1010896.513 0,
+ 965750.434 1010898.521 0, 965478.607 1010900.545 0, 965206.78 1010902.584 0, 964934.953 1010904.64 0, 964663.126 1010906.712 0, 964391.299 1010908.8 0, 964119.472 1010910.904 0, 963847.645 1010913.024 0, 963575.819 1010915.16 0, 963303.992 1010917.311 0,
+ 963032.166 1010919.479 0, 962760.34 1010921.663 0, 962488.514 1010923.863 0, 962216.688 1010926.079 0, 961944.863 1010928.311 0, 961673.037 1010930.559 0, 961401.212 1010932.822 0, 961129.386 1010935.102 0, 960856.24 1010937.409 0, 960903.538 1016517.785 0,
+ 960950.836 1022098.235 0, 961223.323 1022095.934 0, 961494.491 1022093.659 0, 961765.66 1022091.401 0, 962036.828 1022089.159 0, 962307.997 1022086.932 0, 962579.166 1022084.722 0, 962850.335 1022082.527 0, 963121.504 1022080.349 0, 963392.674 1022078.186 0,
+ 963663.843 1022076.039 0, 963935.013 1022073.909 0, 964206.182 1022071.794 0, 964477.352 1022069.695 0, 964748.522 1022067.612 0, 965019.692 1022065.545 0, 965290.862 1022063.495 0, 965562.033 1022061.46 0, 965833.203 1022059.441 0, 966104.374 1022057.438 0,
+ 966375.544 1022055.451 0, 966646.715 1022053.479 0, 966917.886 1022051.524 0, 967189.057 1022049.585 0, 967458.911 1022047.671 0, 967731.399 1022045.755 0, 968002.571 1022043.863 0, 968273.742 1022041.988 0, 968544.914 1022040.129 0, 968816.086 1022038.285 0,
+ 969087.257 1022036.458 0, 969358.429 1022034.646 0, 969629.601 1022032.851 0, 969900.773 1022031.071 0, 970171.946 1022029.308 0, 970443.118 1022027.56 0, 970714.29 1022025.828 0, 970985.463 1022024.113 0, 971256.636 1022022.413 0, 971527.808 1022020.729 0,
+ 971798.981 1022019.061 0, 972070.154 1022017.409 0, 972341.327 1022015.774 0, 972612.5 1022014.154 0, 972883.673 1022012.55 0, 973154.847 1022010.962 0, 973426.02 1022009.389 0, 973697.194 1022007.833 0, 973967.051 1022006.301 0, 973935.518 1016425.74 0,
+ 973903.986 1010845.252 0))
+
+POLYGON ((986983.473 1021951.14 0, 986713.611 1021951.91 0, 986442.434 1021952.7 0, 986171.257 1021953.506 0, 985900.081 1021954.328 0, 985628.904 1021955.166 0, 985357.727 1021956.019 0, 985086.551 1021956.889 0, 984815.374 1021957.775 0, 984544.198 1021958.677 0,
+ 984273.021 1021959.594 0, 984001.845 1021960.528 0, 983730.669 1021961.478 0, 983459.492 1021962.443 0, 983188.316 1021963.425 0, 982917.14 1021964.422 0, 982645.964 1021965.436 0, 982374.788 1021966.465 0, 982103.612 1021967.51 0, 981832.436 1021968.572 0,
+ 981561.26 1021969.649 0, 981290.085 1021970.742 0, 981018.909 1021971.852 0, 980747.733 1021972.977 0, 980475.243 1021974.123 0, 980205.382 1021975.275 0, 979934.207 1021976.448 0, 979663.032 1021977.637 0, 979391.856 1021978.842 0, 979120.681 1021980.063 0,
+ 978849.506 1021981.3 0, 978578.331 1021982.553 0, 978307.156 1021983.821 0, 978035.981 1021985.106 0, 977764.806 1021986.407 0, 977493.631 1021987.724 0, 977222.457 1021989.056 0, 976951.282 1021990.405 0, 976680.108 1021991.77 0, 976408.933 1021993.15 0,
+ 976137.759 1021994.547 0, 975866.585 1021995.959 0, 975595.41 1021997.387 0, 975324.236 1021998.832 0, 975053.062 1022000.292 0, 974781.888 1022001.769 0, 974510.715 1022003.261 0, 974239.541 1022004.769 0, 973967.051 1022006.301 0, 973998.584 1027586.931 0,
+ 974030.117 1033167.627 0, 974301.947 1033166.099 0, 974572.464 1033164.594 0, 974842.981 1033163.105 0, 975113.498 1033161.633 0, 975384.015 1033160.176 0, 975654.532 1033158.735 0, 975925.049 1033157.31 0, 976195.567 1033155.901 0, 976466.084 1033154.508 0,
+ 976736.601 1033153.131 0, 977007.119 1033151.769 0, 977277.637 1033150.424 0, 977548.154 1033149.095 0, 977818.672 1033147.781 0, 978089.19 1033146.483 0, 978359.708 1033145.202 0, 978630.226 1033143.936 0, 978900.744 1033142.686 0, 979171.262 1033141.452 0,
+ 979441.781 1033140.234 0, 979712.299 1033139.032 0, 979982.818 1033137.846 0, 980253.336 1033136.676 0, 980522.543 1033135.527 0, 980794.373 1033134.383 0, 981064.892 1033133.261 0, 981335.411 1033132.154 0, 981605.929 1033131.064 0, 981876.448 1033129.989 0,
+ 982146.967 1033128.93 0, 982417.486 1033127.887 0, 982688.005 1033126.861 0, 982958.524 1033125.85 0, 983229.044 1033124.855 0, 983499.563 1033123.875 0, 983770.082 1033122.912 0, 984040.601 1033121.965 0, 984311.121 1033121.033 0, 984581.64 1033120.118 0,
+ 984852.16 1033119.218 0, 985122.679 1033118.335 0, 985393.199 1033117.467 0, 985663.719 1033116.615 0, 985934.238 1033115.78 0, 986204.758 1033114.96 0, 986475.278 1033114.156 0, 986745.798 1033113.368 0, 987015.007 1033112.599 0, 986999.24 1027531.837 0,
+ 986983.473 1021951.14 0))
+
+POLYGON ((1000000 1033094.257 0, 999730.788 1033094.265 0, 999460.267 1033094.288 0, 999189.746 1033094.328 0, 998919.225 1033094.384 0, 998648.704 1033094.455 0, 998378.183 1033094.543 0, 998107.662 1033094.646 0, 997837.141 1033094.766 0, 997566.62 1033094.901 0,
+ 997296.099 1033095.052 0, 997025.578 1033095.219 0, 996755.057 1033095.402 0, 996484.536 1033095.601 0, 996214.015 1033095.816 0, 995943.494 1033096.047 0, 995672.973 1033096.293 0, 995402.453 1033096.556 0, 995131.932 1033096.835 0, 994861.411 1033097.129 0,
+ 994590.89 1033097.44 0, 994320.369 1033097.766 0, 994049.848 1033098.108 0, 993779.328 1033098.466 0, 993507.497 1033098.842 0, 993238.286 1033099.23 0, 992967.765 1033099.636 0, 992697.245 1033100.058 0, 992426.724 1033100.496 0, 992156.203 1033100.95 0,
+ 991885.683 1033101.419 0, 991615.162 1033101.905 0, 991344.642 1033102.406 0, 991074.121 1033102.924 0, 990803.601 1033103.457 0, 990533.08 1033104.006 0, 990262.56 1033104.572 0, 989992.039 1033105.153 0, 989721.519 1033105.75 0, 989450.999 1033106.363 0,
+ 989180.479 1033106.991 0, 988909.958 1033107.636 0, 988639.438 1033108.297 0, 988368.918 1033108.973 0, 988098.398 1033109.666 0, 987827.878 1033110.374 0, 987557.358 1033111.099 0, 987286.838 1033111.839 0, 987015.007 1033112.599 0, 987030.774 1038693.422 0,
+ 987046.541 1044274.302 0, 987317.712 1044273.544 0, 987587.575 1044272.806 0, 987857.438 1044272.083 0, 988127.301 1044271.376 0, 988397.164 1044270.685 0, 988667.027 1044270.01 0, 988936.89 1044269.351 0, 989206.754 1044268.708 0, 989476.617 1044268.081 0,
+ 989746.48 1044267.469 0, 990016.344 1044266.874 0, 990286.207 1044266.294 0, 990556.071 1044265.73 0, 990825.934 1044265.182 0, 991095.798 1044264.65 0, 991365.661 1044264.134 0, 991635.525 1044263.634 0, 991905.388 1044263.15 0, 992175.252 1044262.681 0,
+ 992445.116 1044262.229 0, 992714.979 1044261.792 0, 992984.843 1044261.371 0, 993254.707 1044260.966 0, 993523.264 1044260.579 0, 993794.434 1044260.204 0, 994064.298 1044259.846 0, 994334.162 1044259.505 0, 994604.026 1044259.18 0, 994873.89 1044258.87 0,
+ 995143.754 1044258.576 0, 995413.618 1044258.298 0, 995683.482 1044258.036 0, 995953.345 1044257.79 0, 996223.209 1044257.56 0, 996493.073 1044257.345 0, 996762.937 1044257.147 0, 997032.801 1044256.964 0, 997302.665 1044256.798 0, 997572.529 1044256.647 0,
+ 997842.393 1044256.512 0, 998112.257 1044256.393 0, 998382.121 1044256.29 0, 998651.985 1044256.202 0, 998921.85 1044256.131 0, 999191.714 1044256.076 0, 999461.578 1044256.036 0, 999731.442 1044256.012 0, 1000000 1044256.004 0, 1000000 1038675.102 0,
+ 1000000 1033094.257 0))
+
+POLYGON ((1012953.459 1044274.302 0, 1012684.9 1044273.551 0, 1012415.037 1044272.813 0, 1012145.174 1044272.09 0, 1011875.311 1044271.383 0, 1011605.447 1044270.692 0, 1011335.584 1044270.017 0, 1011065.721 1044269.358 0, 1010795.858 1044268.714 0, 1010525.994 1044268.087 0,
+ 1010256.131 1044267.475 0, 1009986.268 1044266.88 0, 1009716.404 1044266.3 0, 1009446.541 1044265.736 0, 1009176.677 1044265.188 0, 1008906.814 1044264.656 0, 1008636.95 1044264.139 0, 1008367.087 1044263.639 0, 1008097.223 1044263.154 0, 1007827.359 1044262.686 0,
+ 1007557.496 1044262.233 0, 1007287.632 1044261.796 0, 1007017.768 1044261.375 0, 1006747.905 1044260.97 0, 1006476.736 1044260.579 0, 1006208.177 1044260.207 0, 1005938.313 1044259.85 0, 1005668.449 1044259.508 0, 1005398.585 1044259.183 0, 1005128.722 1044258.873 0,
+ 1004858.858 1044258.579 0, 1004588.994 1044258.301 0, 1004319.13 1044258.039 0, 1004049.266 1044257.792 0, 1003779.402 1044257.562 0, 1003509.538 1044257.347 0, 1003239.674 1044257.149 0, 1002969.81 1044256.966 0, 1002699.946 1044256.799 0, 1002430.082 1044256.648 0,
+ 1002160.218 1044256.513 0, 1001890.354 1044256.394 0, 1001620.49 1044256.291 0, 1001350.626 1044256.203 0, 1001080.762 1044256.132 0, 1000810.898 1044256.076 0, 1000541.034 1044256.036 0, 1000271.17 1044256.012 0, 1000000 1044256.004 0, 1000000 1049836.959 0,
+ 1000000 1055417.962 0, 1000270.51 1055417.97 0, 1000539.717 1055417.994 0, 1000808.924 1055418.033 0, 1001078.131 1055418.089 0, 1001347.338 1055418.16 0, 1001616.545 1055418.247 0, 1001885.752 1055418.351 0, 1002154.959 1055418.469 0, 1002424.166 1055418.604 0,
+ 1002693.373 1055418.755 0, 1002962.58 1055418.921 0, 1003231.787 1055419.104 0, 1003500.994 1055419.302 0, 1003770.201 1055419.516 0, 1004039.408 1055419.746 0, 1004308.615 1055419.991 0, 1004577.822 1055420.253 0, 1004847.029 1055420.53 0, 1005116.236 1055420.823 0,
+ 1005385.443 1055421.132 0, 1005654.65 1055421.457 0, 1005923.857 1055421.798 0, 1006193.063 1055422.155 0, 1006460.969 1055422.525 0, 1006731.477 1055422.915 0, 1007000.684 1055423.319 0, 1007269.891 1055423.739 0, 1007539.097 1055424.175 0, 1007808.304 1055424.627 0,
+ 1008077.511 1055425.094 0, 1008346.717 1055425.578 0, 1008615.924 1055426.077 0, 1008885.131 1055426.592 0, 1009154.337 1055427.123 0, 1009423.544 1055427.67 0, 1009692.75 1055428.232 0, 1009961.957 1055428.811 0, 1010231.163 1055429.405 0, 1010500.369 1055430.015 0,
+ 1010769.576 1055430.641 0, 1011038.782 1055431.283 0, 1011307.988 1055431.94 0, 1011577.195 1055432.614 0, 1011846.401 1055433.303 0, 1012115.607 1055434.008 0, 1012384.813 1055434.729 0, 1012654.019 1055435.466 0, 1012921.925 1055436.215 0, 1012937.692 1049855.235 0,
+ 1012953.459 1044274.302 0))
+
+POLYGON ((1025843.746 1055490.975 0, 1025575.842 1055489.469 0, 1025306.639 1055487.972 0, 1025037.436 1055486.49 0, 1024768.233 1055485.025 0, 1024499.03 1055483.575 0, 1024229.826 1055482.141 0, 1023960.623 1055480.723 0, 1023691.42 1055479.32 0, 1023422.216 1055477.934 0,
+ 1023153.013 1055476.563 0, 1022883.809 1055475.208 0, 1022614.605 1055473.869 0, 1022345.401 1055472.546 0, 1022076.197 1055471.239 0, 1021806.993 1055469.947 0, 1021537.789 1055468.672 0, 1021268.585 1055467.412 0, 1020999.381 1055466.168 0, 1020730.177 1055464.94 0,
+ 1020460.972 1055463.728 0, 1020191.768 1055462.532 0, 1019922.563 1055461.351 0, 1019653.359 1055460.186 0, 1019382.855 1055459.032 0, 1019114.95 1055457.905 0, 1018845.745 1055456.787 0, 1018576.54 1055455.686 0, 1018307.335 1055454.601 0, 1018038.13 1055453.531 0,
+ 1017768.925 1055452.477 0, 1017499.72 1055451.439 0, 1017230.515 1055450.417 0, 1016961.31 1055449.411 0, 1016692.104 1055448.421 0, 1016422.899 1055447.446 0, 1016153.694 1055446.487 0, 1015884.488 1055445.545 0, 1015615.283 1055444.618 0, 1015346.077 1055443.706 0,
+ 1015076.872 1055442.811 0, 1014807.666 1055441.932 0, 1014538.46 1055441.068 0, 1014269.255 1055440.22 0, 1014000.049 1055439.388 0, 1013730.843 1055438.572 0, 1013461.637 1055437.772 0, 1013192.431 1055436.987 0, 1012921.925 1055436.215 0, 1012906.157 1061017.24 0,
+ 1012890.39 1066598.304 0, 1013160.236 1066599.074 0, 1013428.785 1066599.857 0, 1013697.334 1066600.655 0, 1013965.883 1066601.469 0, 1014234.432 1066602.299 0, 1014502.98 1066603.145 0, 1014771.529 1066604.006 0, 1015040.078 1066604.884 0, 1015308.626 1066605.777 0,
+ 1015577.175 1066606.686 0, 1015845.723 1066607.61 0, 1016114.272 1066608.551 0, 1016382.82 1066609.507 0, 1016651.369 1066610.48 0, 1016919.917 1066611.467 0, 1017188.465 1066612.471 0, 1017457.013 1066613.491 0, 1017725.561 1066614.526 0, 1017994.109 1066615.577 0,
+ 1018262.657 1066616.644 0, 1018531.205 1066617.727 0, 1018799.753 1066618.826 0, 1019068.301 1066619.94 0, 1019335.552 1066621.065 0, 1019605.396 1066622.217 0, 1019873.944 1066623.378 0, 1020142.491 1066624.556 0, 1020411.039 1066625.749 0, 1020679.586 1066626.959 0,
+ 1020948.133 1066628.184 0, 1021216.681 1066629.425 0, 1021485.228 1066630.681 0, 1021753.775 1066631.954 0, 1022022.322 1066633.242 0, 1022290.869 1066634.546 0, 1022559.416 1066635.866 0, 1022827.963 1066637.202 0, 1023096.509 1066638.553 0, 1023365.056 1066639.921 0,
+ 1023633.602 1066641.304 0, 1023902.149 1066642.703 0, 1024170.695 1066644.117 0, 1024439.242 1066645.548 0, 1024707.788 1066646.994 0, 1024976.334 1066648.456 0, 1025244.88 1066649.934 0, 1025513.426 1066651.428 0, 1025780.676 1066652.93 0, 1025812.211 1061071.933 0,
+ 1025843.746 1055490.975 0))
+
+POLYGON ((1038670.757 1066743.974 0, 1038403.51 1066741.717 0, 1038134.969 1066739.464 0, 1037866.429 1066737.228 0, 1037597.888 1066735.007 0, 1037329.347 1066732.802 0, 1037060.805 1066730.613 0, 1036792.264 1066728.439 0, 1036523.723 1066726.282 0, 1036255.181 1066724.14 0,
+ 1035986.64 1066722.014 0, 1035718.098 1066719.904 0, 1035449.556 1066717.809 0, 1035181.014 1066715.731 0, 1034912.472 1066713.668 0, 1034643.929 1066711.621 0, 1034375.387 1066709.59 0, 1034106.844 1066707.574 0, 1033838.302 1066705.575 0, 1033569.759 1066703.591 0,
+ 1033301.216 1066701.623 0, 1033032.673 1066699.671 0, 1032764.13 1066697.735 0, 1032495.587 1066695.814 0, 1032225.749 1066693.9 0, 1031958.5 1066692.02 0, 1031689.956 1066690.147 0, 1031421.413 1066688.29 0, 1031152.869 1066686.448 0, 1030884.325 1066684.623 0,
+ 1030615.781 1066682.813 0, 1030347.237 1066681.019 0, 1030078.693 1066679.241 0, 1029810.148 1066677.478 0, 1029541.604 1066675.731 0, 1029273.059 1066674.001 0, 1029004.515 1066672.285 0, 1028735.97 1066670.586 0, 1028467.425 1066668.903 0, 1028198.88 1066667.235 0,
+ 1027930.335 1066665.583 0, 1027661.79 1066663.947 0, 1027393.245 1066662.327 0, 1027124.7 1066660.723 0, 1026856.154 1066659.134 0, 1026587.609 1066657.561 0, 1026319.063 1066656.004 0, 1026050.517 1066654.463 0, 1025780.676 1066652.93 0, 1025749.141 1072233.963 0,
+ 1025717.606 1077815.027 0, 1025986.787 1077816.556 0, 1026254.675 1077818.093 0, 1026522.564 1077819.646 0, 1026790.452 1077821.215 0, 1027058.341 1077822.8 0, 1027326.229 1077824.4 0, 1027594.117 1077826.017 0, 1027862.006 1077827.649 0, 1028129.894 1077829.297 0,
+ 1028397.782 1077830.96 0, 1028665.669 1077832.639 0, 1028933.557 1077834.335 0, 1029201.445 1077836.045 0, 1029469.332 1077837.772 0, 1029737.22 1077839.514 0, 1030005.107 1077841.273 0, 1030272.994 1077843.046 0, 1030540.881 1077844.836 0, 1030808.769 1077846.642 0,
+ 1031076.655 1077848.463 0, 1031344.542 1077850.3 0, 1031612.429 1077852.153 0, 1031880.316 1077854.021 0, 1032146.911 1077855.896 0, 1032416.088 1077857.805 0, 1032683.975 1077859.721 0, 1032951.861 1077861.653 0, 1033219.747 1077863.6 0, 1033487.633 1077865.563 0,
+ 1033755.519 1077867.542 0, 1034023.404 1077869.537 0, 1034291.29 1077871.547 0, 1034559.175 1077873.574 0, 1034827.061 1077875.616 0, 1035094.946 1077877.673 0, 1035362.831 1077879.747 0, 1035630.716 1077881.836 0, 1035898.601 1077883.941 0, 1036166.485 1077886.062 0,
+ 1036434.37 1077888.198 0, 1036702.254 1077890.351 0, 1036970.139 1077892.519 0, 1037238.023 1077894.703 0, 1037505.907 1077896.902 0, 1037773.791 1077899.118 0, 1038041.675 1077901.349 0, 1038309.559 1077903.596 0, 1038576.152 1077905.848 0, 1038623.455 1072324.895 0,
+ 1038670.757 1066743.974 0))
+
+POLYGON ((1051434.391 1078032.996 0, 1051167.802 1078029.991 0, 1050899.926 1078026.987 0, 1050632.05 1078023.999 0, 1050364.173 1078021.027 0, 1050096.296 1078018.071 0, 1049828.419 1078015.13 0, 1049560.542 1078012.205 0, 1049292.665 1078009.296 0, 1049024.787 1078006.403 0,
+ 1048756.91 1078003.525 0, 1048489.032 1078000.663 0, 1048221.154 1077997.817 0, 1047953.276 1077994.987 0, 1047685.397 1077992.172 0, 1047417.519 1077989.373 0, 1047149.64 1077986.59 0, 1046881.761 1077983.823 0, 1046613.882 1077981.072 0, 1046346.003 1077978.336 0,
+ 1046078.124 1077975.616 0, 1045810.244 1077972.912 0, 1045542.365 1077970.223 0, 1045274.485 1077967.551 0, 1045005.316 1077964.881 0, 1044738.725 1077962.253 0, 1044470.845 1077959.627 0, 1044202.964 1077957.018 0, 1043935.084 1077954.424 0, 1043667.203 1077951.846 0,
+ 1043399.322 1077949.284 0, 1043131.441 1077946.737 0, 1042863.56 1077944.206 0, 1042595.679 1077941.691 0, 1042327.797 1077939.192 0, 1042059.916 1077936.709 0, 1041792.034 1077934.241 0, 1041524.152 1077931.789 0, 1041256.27 1077929.353 0, 1040988.388 1077926.933 0,
+ 1040720.506 1077924.528 0, 1040452.623 1077922.139 0, 1040184.741 1077919.766 0, 1039916.858 1077917.409 0, 1039648.975 1077915.067 0, 1039381.092 1077912.741 0, 1039113.209 1077910.431 0, 1038845.325 1077908.137 0, 1038576.152 1077905.848 0, 1038528.849 1083486.827 0,
+ 1038481.546 1089067.828 0, 1038750.059 1089070.112 0, 1039017.285 1089072.401 0, 1039284.512 1089074.705 0, 1039551.738 1089077.025 0, 1039818.964 1089079.361 0, 1040086.189 1089081.712 0, 1040353.415 1089084.08 0, 1040620.64 1089086.463 0, 1040887.866 1089088.861 0,
+ 1041155.091 1089091.276 0, 1041422.316 1089093.706 0, 1041689.541 1089096.152 0, 1041956.766 1089098.613 0, 1042223.99 1089101.091 0, 1042491.215 1089103.584 0, 1042758.439 1089106.093 0, 1043025.663 1089108.617 0, 1043292.887 1089111.157 0, 1043560.111 1089113.713 0,
+ 1043827.335 1089116.285 0, 1044094.559 1089118.873 0, 1044361.782 1089121.476 0, 1044629.005 1089124.095 0, 1044894.943 1089126.717 0, 1045163.451 1089129.38 0, 1045430.674 1089132.046 0, 1045697.897 1089134.728 0, 1045965.119 1089137.425 0, 1046232.342 1089140.139 0,
+ 1046499.564 1089142.868 0, 1046766.786 1089145.612 0, 1047034.008 1089148.373 0, 1047301.23 1089151.149 0, 1047568.451 1089153.941 0, 1047835.672 1089156.748 0, 1048102.894 1089159.572 0, 1048370.115 1089162.411 0, 1048637.336 1089165.266 0, 1048904.556 1089168.136 0,
+ 1049171.777 1089171.023 0, 1049438.997 1089173.925 0, 1049706.217 1089176.842 0, 1049973.437 1089179.776 0, 1050240.657 1089182.725 0, 1050507.877 1089185.69 0, 1050775.096 1089188.671 0, 1051042.316 1089191.667 0, 1051308.25 1089194.665 0, 1051371.32 1083613.819 0,
+ 1051434.391 1078032.996 0))
+
+POLYGON ((1064134.545 1089357.738 0, 1063868.618 1089353.989 0, 1063601.408 1089350.238 0, 1063334.198 1089346.503 0, 1063066.988 1089342.783 0, 1062799.777 1089339.079 0, 1062532.567 1089335.39 0, 1062265.356 1089331.717 0, 1061998.145 1089328.061 0, 1061730.933 1089324.419 0,
+ 1061463.722 1089320.794 0, 1061196.51 1089317.184 0, 1060929.298 1089313.59 0, 1060662.086 1089310.012 0, 1060394.874 1089306.449 0, 1060127.661 1089302.902 0, 1059860.448 1089299.371 0, 1059593.235 1089295.856 0, 1059326.022 1089292.356 0, 1059058.809 1089288.872 0,
+ 1058791.595 1089285.404 0, 1058524.381 1089281.951 0, 1058257.167 1089278.515 0, 1057989.953 1089275.094 0, 1057721.455 1089271.672 0, 1057455.524 1089268.299 0, 1057188.309 1089264.925 0, 1056921.094 1089261.567 0, 1056653.879 1089258.224 0, 1056386.664 1089254.898 0,
+ 1056119.448 1089251.587 0, 1055852.232 1089248.291 0, 1055585.016 1089245.012 0, 1055317.8 1089241.748 0, 1055050.584 1089238.5 0, 1054783.367 1089235.268 0, 1054516.15 1089232.051 0, 1054248.933 1089228.85 0, 1053981.716 1089225.665 0, 1053714.499 1089222.496 0,
+ 1053447.281 1089219.342 0, 1053180.064 1089216.204 0, 1052912.846 1089213.082 0, 1052645.628 1089209.976 0, 1052378.41 1089206.885 0, 1052111.191 1089203.81 0, 1051843.972 1089200.751 0, 1051576.754 1089197.707 0, 1051308.25 1089194.665 0, 1051245.179 1094775.528 0,
+ 1051182.109 1100356.405 0, 1051449.952 1100359.44 0, 1051716.514 1100362.476 0, 1051983.076 1100365.528 0, 1052249.637 1100368.595 0, 1052516.199 1100371.679 0, 1052782.76 1100374.777 0, 1053049.321 1100377.892 0, 1053315.881 1100381.022 0, 1053582.442 1100384.168 0,
+ 1053849.002 1100387.33 0, 1054115.562 1100390.507 0, 1054382.122 1100393.7 0, 1054648.682 1100396.909 0, 1054915.242 1100400.133 0, 1055181.801 1100403.373 0, 1055448.36 1100406.629 0, 1055714.919 1100409.9 0, 1055981.478 1100413.187 0, 1056248.037 1100416.49 0,
+ 1056514.595 1100419.809 0, 1056781.154 1100423.143 0, 1057047.712 1100426.493 0, 1057314.27 1100429.858 0, 1057579.547 1100433.223 0, 1057847.385 1100436.636 0, 1058113.942 1100440.049 0, 1058380.499 1100443.477 0, 1058647.056 1100446.921 0, 1058913.613 1100450.381 0,
+ 1059180.169 1100453.856 0, 1059446.725 1100457.347 0, 1059713.281 1100460.854 0, 1059979.837 1100464.377 0, 1060246.393 1100467.915 0, 1060512.948 1100471.469 0, 1060779.504 1100475.038 0, 1061046.059 1100478.623 0, 1061312.613 1100482.224 0, 1061579.168 1100485.841 0,
+ 1061845.722 1100489.473 0, 1062112.276 1100493.121 0, 1062378.83 1100496.785 0, 1062645.384 1100500.464 0, 1062911.938 1100504.159 0, 1063178.491 1100507.87 0, 1063445.044 1100511.596 0, 1063711.597 1100515.338 0, 1063976.87 1100519.078 0, 1064055.707 1094938.401 0,
+ 1064134.545 1089357.738 0))
+
+POLYGON ((1076771.121 1100717.898 0, 1076505.857 1100713.408 0, 1076239.316 1100708.913 0, 1075972.774 1100704.434 0, 1075706.232 1100699.97 0, 1075439.69 1100695.522 0, 1075173.148 1100691.09 0, 1074906.606 1100686.673 0, 1074640.063 1100682.272 0, 1074373.52 1100677.887 0,
+ 1074106.977 1100673.517 0, 1073840.433 1100669.163 0, 1073573.889 1100664.825 0, 1073307.345 1100660.502 0, 1073040.801 1100656.195 0, 1072774.256 1100651.904 0, 1072507.711 1100647.629 0, 1072241.166 1100643.369 0, 1071974.621 1100639.125 0, 1071708.075 1100634.896 0,
+ 1071441.53 1100630.684 0, 1071174.984 1100626.486 0, 1070908.437 1100622.305 0, 1070641.891 1100618.139 0, 1070374.065 1100613.97 0, 1070108.797 1100609.855 0, 1069842.249 1100605.736 0, 1069575.702 1100601.634 0, 1069309.154 1100597.546 0, 1069042.606 1100593.475 0,
+ 1068776.058 1100589.419 0, 1068509.509 1100585.379 0, 1068242.961 1100581.354 0, 1067976.412 1100577.345 0, 1067709.862 1100573.352 0, 1067443.313 1100569.375 0, 1067176.763 1100565.413 0, 1066910.213 1100561.467 0, 1066643.663 1100557.537 0, 1066377.113 1100553.622 0,
+ 1066110.562 1100549.723 0, 1065844.012 1100545.84 0, 1065577.46 1100541.972 0, 1065310.909 1100538.12 0, 1065044.358 1100534.284 0, 1064777.806 1100530.464 0, 1064511.254 1100526.659 0, 1064244.702 1100522.87 0, 1063976.87 1100519.078 0, 1063898.032 1106099.764 0,
+ 1063819.195 1111680.454 0, 1064086.366 1111684.237 0, 1064352.262 1111688.016 0, 1064618.157 1111691.812 0, 1064884.052 1111695.623 0, 1065149.946 1111699.45 0, 1065415.84 1111703.292 0, 1065681.735 1111707.15 0, 1065947.628 1111711.024 0, 1066213.522 1111714.913 0,
+ 1066479.416 1111718.818 0, 1066745.309 1111722.739 0, 1067011.202 1111726.675 0, 1067277.095 1111730.627 0, 1067542.987 1111734.595 0, 1067808.879 1111738.578 0, 1068074.771 1111742.577 0, 1068340.663 1111746.592 0, 1068606.555 1111750.622 0, 1068872.446 1111754.668 0,
+ 1069138.337 1111758.729 0, 1069404.228 1111762.806 0, 1069670.119 1111766.899 0, 1069936.009 1111771.008 0, 1070200.624 1111775.112 0, 1070467.789 1111779.272 0, 1070733.679 1111783.427 0, 1070999.568 1111787.598 0, 1071265.457 1111791.785 0, 1071531.346 1111795.987 0,
+ 1071797.235 1111800.205 0, 1072063.123 1111804.439 0, 1072329.011 1111808.688 0, 1072594.899 1111812.953 0, 1072860.787 1111817.234 0, 1073126.674 1111821.53 0, 1073392.561 1111825.842 0, 1073658.448 1111830.17 0, 1073924.335 1111834.513 0, 1074190.221 1111838.872 0,
+ 1074456.108 1111843.246 0, 1074721.993 1111847.636 0, 1074987.879 1111852.042 0, 1075253.764 1111856.464 0, 1075519.649 1111860.901 0, 1075785.534 1111865.353 0, 1076051.419 1111869.822 0, 1076317.303 1111874.306 0, 1076581.913 1111878.784 0, 1076676.517 1106298.338 0,
+ 1076771.121 1100717.898 0))
+
+POLYGON ((1089344.02 1112113.17 0, 1089079.422 1112107.944 0, 1088813.551 1112102.709 0, 1088547.68 1112097.489 0, 1088281.809 1112092.285 0, 1088015.938 1112087.097 0, 1087750.066 1112081.925 0, 1087484.194 1112076.768 0, 1087218.321 1112071.626 0, 1086952.449 1112066.501 0,
+ 1086686.576 1112061.391 0, 1086420.702 1112056.296 0, 1086154.829 1112051.218 0, 1085888.955 1112046.154 0, 1085623.081 1112041.107 0, 1085357.206 1112036.075 0, 1085091.331 1112031.059 0, 1084825.456 1112026.059 0, 1084559.581 1112021.074 0, 1084293.705 1112016.105 0,
+ 1084027.829 1112011.151 0, 1083761.953 1112006.213 0, 1083496.076 1112001.291 0, 1083230.2 1111996.384 0, 1082963.049 1111991.47 0, 1082698.445 1111986.618 0, 1082432.567 1111981.758 0, 1082166.689 1111976.914 0, 1081900.811 1111972.086 0, 1081634.932 1111967.273 0,
+ 1081369.054 1111962.476 0, 1081103.175 1111957.695 0, 1080837.295 1111952.929 0, 1080571.415 1111948.179 0, 1080305.535 1111943.445 0, 1080039.655 1111938.726 0, 1079773.775 1111934.023 0, 1079507.894 1111929.335 0, 1079242.013 1111924.663 0, 1078976.131 1111920.007 0,
+ 1078710.25 1111915.367 0, 1078444.368 1111910.742 0, 1078178.486 1111906.132 0, 1077912.603 1111901.539 0, 1077646.721 1111896.961 0, 1077380.838 1111892.399 0, 1077114.954 1111887.852 0, 1076849.071 1111883.321 0, 1076581.913 1111878.784 0, 1076487.309 1117459.23 0,
+ 1076392.705 1123039.672 0, 1076659.203 1123044.197 0, 1076924.43 1123048.717 0, 1077189.656 1123053.253 0, 1077454.882 1123057.804 0, 1077720.108 1123062.37 0, 1077985.334 1123066.953 0, 1078250.559 1123071.551 0, 1078515.784 1123076.164 0, 1078781.009 1123080.793 0,
+ 1079046.233 1123085.438 0, 1079311.457 1123090.098 0, 1079576.681 1123094.774 0, 1079841.905 1123099.466 0, 1080107.128 1123104.173 0, 1080372.351 1123108.895 0, 1080637.574 1123113.634 0, 1080902.796 1123118.388 0, 1081168.019 1123123.157 0, 1081433.241 1123127.943 0,
+ 1081698.462 1123132.743 0, 1081963.684 1123137.56 0, 1082228.905 1123142.392 0, 1082494.126 1123147.239 0, 1082758.076 1123152.079 0, 1083024.566 1123156.982 0, 1083289.786 1123161.876 0, 1083555.006 1123166.786 0, 1083820.225 1123171.712 0, 1084085.444 1123176.653 0,
+ 1084350.663 1123181.61 0, 1084615.882 1123186.582 0, 1084881.1 1123191.571 0, 1085146.318 1123196.574 0, 1085411.535 1123201.594 0, 1085676.753 1123206.629 0, 1085941.97 1123211.679 0, 1086207.187 1123216.745 0, 1086472.403 1123221.827 0, 1086737.619 1123226.925 0,
+ 1087002.835 1123232.038 0, 1087268.05 1123237.166 0, 1087533.266 1123242.31 0, 1087798.481 1123247.47 0, 1088063.695 1123252.646 0, 1088328.91 1123257.837 0, 1088594.124 1123263.043 0, 1088859.337 1123268.266 0, 1089123.282 1123273.479 0, 1089233.651 1117693.326 0,
+ 1089344.02 1112113.17 0))
+
+POLYGON ((1101853.147 1123543.251 0, 1101589.216 1123537.292 0, 1101324.018 1123531.321 0, 1101058.82 1123525.365 0, 1100793.621 1123519.424 0, 1100528.422 1123513.5 0, 1100263.223 1123507.591 0, 1099998.023 1123501.697 0, 1099732.823 1123495.819 0, 1099467.623 1123489.957 0,
+ 1099202.422 1123484.11 0, 1098937.221 1123478.279 0, 1098672.02 1123472.464 0, 1098406.818 1123466.664 0, 1098141.616 1123460.88 0, 1097876.414 1123455.111 0, 1097611.211 1123449.358 0, 1097346.008 1123443.621 0, 1097080.805 1123437.899 0, 1096815.601 1123432.193 0,
+ 1096550.397 1123426.502 0, 1096285.192 1123420.827 0, 1096019.988 1123415.168 0, 1095754.783 1123409.524 0, 1095488.309 1123403.869 0, 1095224.372 1123398.283 0, 1094959.165 1123392.686 0, 1094693.959 1123387.105 0, 1094428.752 1123381.539 0, 1094163.545 1123375.989 0,
+ 1093898.338 1123370.455 0, 1093633.13 1123364.936 0, 1093367.922 1123359.433 0, 1093102.714 1123353.945 0, 1092837.505 1123348.473 0, 1092572.296 1123343.017 0, 1092307.087 1123337.576 0, 1092041.877 1123332.151 0, 1091776.667 1123326.741 0, 1091511.457 1123321.347 0,
+ 1091246.247 1123315.969 0, 1090981.036 1123310.606 0, 1090715.824 1123305.259 0, 1090450.613 1123299.927 0, 1090185.401 1123294.611 0, 1089920.189 1123289.311 0, 1089654.976 1123284.026 0, 1089389.764 1123278.757 0, 1089123.282 1123273.479 0, 1089012.913 1128853.622 0,
+ 1088902.544 1134433.753 0, 1089168.366 1134439.018 0, 1089432.922 1134444.275 0, 1089697.478 1134449.546 0, 1089962.033 1134454.833 0, 1090226.588 1134460.136 0, 1090491.142 1134465.454 0, 1090755.697 1134470.788 0, 1091020.251 1134476.138 0, 1091284.805 1134481.503 0,
+ 1091549.358 1134486.884 0, 1091813.911 1134492.28 0, 1092078.464 1134497.692 0, 1092343.016 1134503.119 0, 1092607.568 1134508.562 0, 1092872.12 1134514.02 0, 1093136.672 1134519.494 0, 1093401.223 1134524.984 0, 1093665.774 1134530.489 0, 1093930.324 1134536.01 0,
+ 1094194.874 1134541.546 0, 1094459.424 1134547.098 0, 1094723.974 1134552.666 0, 1094988.523 1134558.249 0, 1095251.807 1134563.82 0, 1095517.62 1134569.461 0, 1095782.169 1134575.091 0, 1096046.716 1134580.737 0, 1096311.264 1134586.397 0, 1096575.811 1134592.074 0,
+ 1096840.358 1134597.766 0, 1097104.905 1134603.474 0, 1097369.451 1134609.197 0, 1097633.997 1134614.936 0, 1097898.542 1134620.69 0, 1098163.087 1134626.46 0, 1098427.632 1134632.245 0, 1098692.177 1134638.046 0, 1098956.721 1134643.863 0, 1099221.265 1134649.695 0,
+ 1099485.808 1134655.543 0, 1099750.351 1134661.406 0, 1100014.894 1134667.285 0, 1100279.437 1134673.18 0, 1100543.979 1134679.09 0, 1100808.521 1134685.015 0, 1101073.062 1134690.956 0, 1101337.603 1134696.913 0, 1101600.88 1134702.857 0, 1101727.013 1129123.06 0,
+ 1101853.147 1123543.251 0))
+
+POLYGON ((1114298.405 1135007.835 0, 1114035.144 1135001.147 0, 1113770.621 1134994.443 0, 1113506.097 1134987.755 0, 1113241.573 1134981.082 0, 1112977.049 1134974.424 0, 1112712.524 1134967.782 0, 1112447.999 1134961.156 0, 1112183.473 1134954.545 0, 1111918.948 1134947.95 0,
+ 1111654.421 1134941.371 0, 1111389.895 1134934.807 0, 1111125.367 1134928.258 0, 1110860.84 1134921.726 0, 1110596.312 1134915.208 0, 1110331.784 1134908.707 0, 1110067.255 1134902.22 0, 1109802.726 1134895.75 0, 1109538.197 1134889.295 0, 1109273.667 1134882.856 0,
+ 1109009.137 1134876.432 0, 1108744.607 1134870.023 0, 1108480.076 1134863.631 0, 1108215.544 1134857.254 0, 1107949.75 1134850.862 0, 1107686.481 1134844.546 0, 1107421.948 1134838.216 0, 1107157.416 1134831.901 0, 1106892.883 1134825.601 0, 1106628.349 1134819.318 0,
+ 1106363.815 1134813.05 0, 1106099.281 1134806.797 0, 1105834.746 1134800.56 0, 1105570.211 1134794.339 0, 1105305.676 1134788.133 0, 1105041.14 1134781.942 0, 1104776.604 1134775.768 0, 1104512.068 1134769.608 0, 1104247.531 1134763.465 0, 1103982.994 1134757.337 0,
+ 1103718.457 1134751.224 0, 1103453.919 1134745.128 0, 1103189.38 1134739.046 0, 1102924.842 1134732.981 0, 1102660.303 1134726.93 0, 1102395.764 1134720.896 0, 1102131.224 1134714.877 0, 1101866.684 1134708.873 0, 1101600.88 1134702.857 0, 1101474.747 1140282.636 0,
+ 1101348.615 1145862.393 0, 1101613.759 1145868.394 0, 1101877.642 1145874.383 0, 1102141.525 1145880.387 0, 1102405.408 1145886.407 0, 1102669.29 1145892.442 0, 1102933.171 1145898.492 0, 1103197.053 1145904.559 0, 1103460.934 1145910.64 0, 1103724.815 1145916.738 0,
+ 1103988.695 1145922.85 0, 1104252.575 1145928.979 0, 1104516.454 1145935.123 0, 1104780.334 1145941.282 0, 1105044.213 1145947.457 0, 1105308.091 1145953.647 0, 1105571.969 1145959.853 0, 1105835.847 1145966.075 0, 1106099.724 1145972.312 0, 1106363.601 1145978.565 0,
+ 1106627.478 1145984.833 0, 1106891.354 1145991.116 0, 1107155.23 1145997.416 0, 1107419.106 1146003.73 0, 1107681.722 1146010.03 0, 1107946.856 1146016.406 0, 1108210.73 1146022.768 0, 1108474.604 1146029.144 0, 1108738.478 1146035.537 0, 1109002.351 1146041.945 0,
+ 1109266.224 1146048.368 0, 1109530.097 1146054.807 0, 1109793.969 1146061.262 0, 1110057.841 1146067.732 0, 1110321.712 1146074.217 0, 1110585.583 1146080.718 0, 1110849.454 1146087.235 0, 1111113.324 1146093.767 0, 1111377.194 1146100.315 0, 1111641.064 1146106.878 0,
+ 1111904.933 1146113.457 0, 1112168.802 1146120.051 0, 1112432.67 1146126.661 0, 1112696.538 1146133.286 0, 1112960.405 1146139.927 0, 1113224.273 1146146.583 0, 1113488.139 1146153.255 0, 1113752.006 1146159.943 0, 1114014.613 1146166.614 0, 1114156.509 1140587.235 0,
+ 1114298.405 1135007.835 0))
+
+POLYGON ((1126679.702 1146506.617 0, 1126417.112 1146499.204 0, 1126153.266 1146491.771 0, 1125889.419 1146484.354 0, 1125625.571 1146476.952 0, 1125361.724 1146469.565 0, 1125097.875 1146462.195 0, 1124834.027 1146454.839 0, 1124570.178 1146447.5 0, 1124306.328 1146440.176 0,
+ 1124042.478 1146432.867 0, 1123778.628 1146425.574 0, 1123514.777 1146418.296 0, 1123250.926 1146411.034 0, 1122987.074 1146403.788 0, 1122723.222 1146396.556 0, 1122459.37 1146389.341 0, 1122195.517 1146382.141 0, 1121931.664 1146374.957 0, 1121667.81 1146367.788 0,
+ 1121403.956 1146360.634 0, 1121140.101 1146353.497 0, 1120876.246 1146346.374 0, 1120612.391 1146339.267 0, 1120347.278 1146332.142 0, 1120084.679 1146325.101 0, 1119820.822 1146318.04 0, 1119556.965 1146310.996 0, 1119293.107 1146303.967 0, 1119029.25 1146296.953 0,
+ 1118765.391 1146289.955 0, 1118501.532 1146282.972 0, 1118237.673 1146276.005 0, 1117973.814 1146269.054 0, 1117709.954 1146262.118 0, 1117446.093 1146255.198 0, 1117182.233 1146248.293 0, 1116918.371 1146241.403 0, 1116654.51 1146234.53 0, 1116390.648 1146227.671 0,
+ 1116126.785 1146220.829 0, 1115862.923 1146214.001 0, 1115599.059 1146207.19 0, 1115335.196 1146200.393 0, 1115071.332 1146193.613 0, 1114807.467 1146186.848 0, 1114543.603 1146180.098 0, 1114279.737 1146173.364 0, 1114014.613 1146166.614 0, 1113872.718 1151745.965 0,
+ 1113730.824 1157325.286 0, 1113995.288 1157332.02 0, 1114258.497 1157338.737 0, 1114521.705 1157345.47 0, 1114784.913 1157352.218 0, 1115048.12 1157358.982 0, 1115311.327 1157365.761 0, 1115574.533 1157372.556 0, 1115837.739 1157379.366 0, 1116100.945 1157386.192 0,
+ 1116364.15 1157393.033 0, 1116627.355 1157399.89 0, 1116890.559 1157406.762 0, 1117153.763 1157413.65 0, 1117416.967 1157420.553 0, 1117680.17 1157427.471 0, 1117943.373 1157434.406 0, 1118206.575 1157441.355 0, 1118469.777 1157448.32 0, 1118732.979 1157455.301 0,
+ 1118996.18 1157462.297 0, 1119259.381 1157469.309 0, 1119522.581 1157476.336 0, 1119785.781 1157483.378 0, 1120047.726 1157490.403 0, 1120312.18 1157497.51 0, 1120575.378 1157504.599 0, 1120838.576 1157511.704 0, 1121101.774 1157518.824 0, 1121364.972 1157525.959 0,
+ 1121628.169 1157533.11 0, 1121891.365 1157540.277 0, 1122154.561 1157547.459 0, 1122417.757 1157554.657 0, 1122680.952 1157561.87 0, 1122944.147 1157569.098 0, 1123207.342 1157576.342 0, 1123470.536 1157583.602 0, 1123733.729 1157590.877 0, 1123996.923 1157598.167 0,
+ 1124260.115 1157605.473 0, 1124523.308 1157612.794 0, 1124786.5 1157620.131 0, 1125049.691 1157627.484 0, 1125312.882 1157634.852 0, 1125576.073 1157642.235 0, 1125839.263 1157649.634 0, 1126102.452 1157657.048 0, 1126364.389 1157664.443 0, 1126522.045 1152085.545 0,
+ 1126679.702 1146506.617 0))
+
+POLYGON ((1138996.944 1158039.291 0, 1138735.028 1158031.156 0, 1138471.86 1158022.998 0, 1138208.692 1158014.856 0, 1137945.523 1158006.729 0, 1137682.354 1157998.617 0, 1137419.185 1157990.521 0, 1137156.014 1157982.441 0, 1136892.844 1157974.376 0, 1136629.673 1157966.326 0,
+ 1136366.501 1157958.292 0, 1136103.329 1157950.274 0, 1135840.157 1157942.271 0, 1135576.984 1157934.283 0, 1135313.811 1157926.311 0, 1135050.637 1157918.355 0, 1134787.462 1157910.414 0, 1134524.287 1157902.488 0, 1134261.112 1157894.578 0, 1133997.936 1157886.683 0,
+ 1133734.76 1157878.804 0, 1133471.584 1157870.941 0, 1133208.406 1157863.093 0, 1132945.229 1157855.26 0, 1132680.799 1157847.406 0, 1132418.872 1157839.641 0, 1132155.693 1157831.855 0, 1131892.514 1157824.084 0, 1131629.334 1157816.329 0, 1131366.154 1157808.589 0,
+ 1131102.973 1157800.865 0, 1130839.792 1157793.156 0, 1130576.61 1157785.463 0, 1130313.428 1157777.785 0, 1130050.245 1157770.123 0, 1129787.062 1157762.476 0, 1129523.879 1157754.845 0, 1129260.695 1157747.229 0, 1128997.51 1157739.629 0, 1128734.325 1157732.044 0,
+ 1128471.14 1157724.475 0, 1128207.954 1157716.921 0, 1127944.768 1157709.383 0, 1127681.581 1157701.86 0, 1127418.394 1157694.353 0, 1127155.207 1157686.861 0, 1126892.019 1157679.385 0, 1126628.831 1157671.924 0, 1126364.389 1157664.443 0, 1126206.733 1163243.305 0,
+ 1126049.079 1168822.126 0, 1126312.862 1168829.588 0, 1126575.393 1168837.031 0, 1126837.925 1168844.488 0, 1127100.455 1168851.961 0, 1127362.986 1168859.45 0, 1127625.516 1168866.954 0, 1127888.045 1168874.474 0, 1128150.574 1168882.009 0, 1128413.103 1168889.559 0,
+ 1128675.631 1168897.125 0, 1128938.159 1168904.706 0, 1129200.686 1168912.303 0, 1129463.213 1168919.915 0, 1129725.739 1168927.543 0, 1129988.265 1168935.186 0, 1130250.79 1168942.845 0, 1130513.315 1168950.519 0, 1130775.84 1168958.208 0, 1131038.364 1168965.913 0,
+ 1131300.888 1168973.633 0, 1131563.411 1168981.369 0, 1131825.934 1168989.12 0, 1132088.456 1168996.887 0, 1132349.729 1169004.632 0, 1132613.499 1169012.467 0, 1132876.02 1169020.28 0, 1133138.54 1169028.109 0, 1133401.06 1169035.953 0, 1133663.58 1169043.812 0,
+ 1133926.099 1169051.687 0, 1134188.618 1169059.577 0, 1134451.136 1169067.483 0, 1134713.653 1169075.404 0, 1134976.17 1169083.341 0, 1135238.687 1169091.293 0, 1135501.203 1169099.261 0, 1135763.719 1169107.244 0, 1136026.235 1169115.242 0, 1136288.749 1169123.256 0,
+ 1136551.264 1169131.286 0, 1136813.778 1169139.331 0, 1137076.291 1169147.391 0, 1137338.804 1169155.467 0, 1137601.317 1169163.558 0, 1137863.829 1169171.665 0, 1138126.34 1169179.787 0, 1138388.851 1169187.924 0, 1138650.114 1169196.039 0, 1138823.528 1163617.685 0,
+ 1138996.944 1158039.291 0))
+
+POLYGON ((1151250.041 1169605.55 0, 1150988.801 1169596.697 0, 1150726.314 1169587.818 0, 1150463.826 1169578.954 0, 1150201.338 1169570.106 0, 1149938.85 1169561.273 0, 1149676.361 1169552.456 0, 1149413.871 1169543.654 0, 1149151.381 1169534.867 0, 1148888.89 1169526.096 0,
+ 1148626.399 1169517.341 0, 1148363.907 1169508.601 0, 1148101.415 1169499.876 0, 1147838.922 1169491.167 0, 1147576.429 1169482.473 0, 1147313.935 1169473.795 0, 1147051.441 1169465.132 0, 1146788.947 1169456.484 0, 1146526.451 1169447.852 0, 1146263.956 1169439.236 0,
+ 1146001.459 1169430.635 0, 1145738.962 1169422.049 0, 1145476.465 1169413.479 0, 1145213.967 1169404.924 0, 1144950.222 1169396.344 0, 1144688.97 1169387.861 0, 1144426.471 1169379.353 0, 1144163.971 1169370.86 0, 1143901.471 1169362.382 0, 1143638.97 1169353.92 0,
+ 1143376.469 1169345.474 0, 1143113.967 1169337.043 0, 1142851.465 1169328.627 0, 1142588.962 1169320.227 0, 1142326.459 1169311.842 0, 1142063.955 1169303.473 0, 1141801.451 1169295.119 0, 1141538.946 1169286.78 0, 1141276.441 1169278.457 0, 1141013.935 1169270.15 0,
+ 1140751.429 1169261.858 0, 1140488.922 1169253.581 0, 1140226.415 1169245.32 0, 1139963.907 1169237.074 0, 1139701.399 1169228.844 0, 1139438.891 1169220.629 0, 1139176.381 1169212.43 0, 1138913.872 1169204.246 0, 1138650.114 1169196.039 0, 1138476.701 1174774.347 0,
+ 1138303.289 1180352.607 0, 1138566.387 1180360.794 0, 1138828.24 1180368.957 0, 1139090.093 1180377.136 0, 1139351.945 1180385.33 0, 1139613.796 1180393.54 0, 1139875.647 1180401.765 0, 1140137.498 1180410.006 0, 1140399.348 1180418.261 0, 1140661.197 1180426.533 0,
+ 1140923.046 1180434.82 0, 1141184.895 1180443.122 0, 1141446.743 1180451.439 0, 1141708.591 1180459.772 0, 1141970.438 1180468.121 0, 1142232.285 1180476.484 0, 1142494.131 1180484.864 0, 1142755.976 1180493.258 0, 1143017.821 1180501.668 0, 1143279.666 1180510.094 0,
+ 1143541.51 1180518.535 0, 1143803.354 1180526.991 0, 1144065.197 1180535.463 0, 1144327.04 1180543.95 0, 1144587.638 1180552.412 0, 1144850.724 1180560.97 0, 1145112.565 1180569.503 0, 1145374.405 1180578.052 0, 1145636.246 1180586.616 0, 1145898.085 1180595.196 0,
+ 1146159.924 1180603.791 0, 1146421.763 1180612.401 0, 1146683.601 1180621.027 0, 1146945.439 1180629.668 0, 1147207.276 1180638.325 0, 1147469.112 1180646.997 0, 1147730.949 1180655.684 0, 1147992.784 1180664.387 0, 1148254.619 1180673.105 0, 1148516.454 1180681.839 0,
+ 1148778.288 1180690.588 0, 1149040.121 1180699.353 0, 1149301.954 1180708.133 0, 1149563.787 1180716.928 0, 1149825.619 1180725.739 0, 1150087.45 1180734.565 0, 1150349.281 1180743.406 0, 1150611.112 1180752.263 0, 1150871.699 1180761.094 0, 1151060.869 1175183.346 0,
+ 1151250.041 1169605.55 0))
+
+POLYGON ((1163438.904 1181205.087 0, 1163178.341 1181195.52 0, 1162916.537 1181185.924 0, 1162654.732 1181176.342 0, 1162392.926 1181166.777 0, 1162131.12 1181157.226 0, 1161869.314 1181147.691 0, 1161607.507 1181138.171 0, 1161345.699 1181128.667 0, 1161083.891 1181119.179 0,
+ 1160822.082 1181109.705 0, 1160560.272 1181100.247 0, 1160298.462 1181090.805 0, 1160036.652 1181081.377 0, 1159774.841 1181071.966 0, 1159513.029 1181062.569 0, 1159251.217 1181053.189 0, 1158989.404 1181043.823 0, 1158727.591 1181034.473 0, 1158465.777 1181025.138 0,
+ 1158203.963 1181015.819 0, 1157942.148 1181006.515 0, 1157680.333 1180997.227 0, 1157418.517 1180987.954 0, 1157155.458 1180978.652 0, 1156894.883 1180969.454 0, 1156633.065 1180960.227 0, 1156371.247 1180951.015 0, 1156109.428 1180941.82 0, 1155847.609 1180932.639 0,
+ 1155585.789 1180923.474 0, 1155323.969 1180914.324 0, 1155062.148 1180905.19 0, 1154800.327 1180896.071 0, 1154538.505 1180886.967 0, 1154276.682 1180877.879 0, 1154014.859 1180868.806 0, 1153753.036 1180859.749 0, 1153491.211 1180850.707 0, 1153229.387 1180841.681 0,
+ 1152967.562 1180832.67 0, 1152705.736 1180823.674 0, 1152443.91 1180814.694 0, 1152182.083 1180805.729 0, 1151920.256 1180796.779 0, 1151658.428 1180787.845 0, 1151396.6 1180778.927 0, 1151134.771 1180770.024 0, 1150871.699 1180761.094 0, 1150682.53 1186338.787 0,
+ 1150493.363 1191916.421 0, 1150755.776 1191925.329 0, 1151016.948 1191934.209 0, 1151278.12 1191943.106 0, 1151539.291 1191952.017 0, 1151800.462 1191960.944 0, 1152061.632 1191969.887 0, 1152322.802 1191978.844 0, 1152583.971 1191987.817 0, 1152845.139 1191996.806 0,
+ 1153106.307 1192005.81 0, 1153367.475 1192014.829 0, 1153628.642 1192023.864 0, 1153889.808 1192032.914 0, 1154150.974 1192041.979 0, 1154412.14 1192051.06 0, 1154673.304 1192060.156 0, 1154934.469 1192069.267 0, 1155195.633 1192078.394 0, 1155456.796 1192087.536 0,
+ 1155717.959 1192096.694 0, 1155979.121 1192105.867 0, 1156240.282 1192115.055 0, 1156501.443 1192124.259 0, 1156761.365 1192133.434 0, 1157023.764 1192142.712 0, 1157284.923 1192151.962 0, 1157546.082 1192161.227 0, 1157807.241 1192170.508 0, 1158068.399 1192179.803 0,
+ 1158329.556 1192189.115 0, 1158590.713 1192198.441 0, 1158851.869 1192207.783 0, 1159113.024 1192217.141 0, 1159374.179 1192226.514 0, 1159635.334 1192235.902 0, 1159896.488 1192245.305 0, 1160157.641 1192254.724 0, 1160418.794 1192264.158 0, 1160679.947 1192273.608 0,
+ 1160941.098 1192283.073 0, 1161202.249 1192292.553 0, 1161463.4 1192302.049 0, 1161724.55 1192311.56 0, 1161985.7 1192321.087 0, 1162246.849 1192330.628 0, 1162507.997 1192340.186 0, 1162769.145 1192349.758 0, 1163029.055 1192359.301 0, 1163233.978 1186782.223 0,
+ 1163438.904 1181205.087 0))
+
+POLYGON ((1175563.445 1192837.594 0, 1175303.561 1192827.317 0, 1175042.441 1192817.007 0, 1174781.321 1192806.712 0, 1174520.2 1192796.433 0, 1174259.078 1192786.168 0, 1173997.956 1192775.919 0, 1173736.833 1192765.686 0, 1173475.71 1192755.468 0, 1173214.586 1192745.265 0,
+ 1172953.461 1192735.078 0, 1172692.336 1192724.906 0, 1172431.21 1192714.749 0, 1172170.084 1192704.608 0, 1171908.957 1192694.482 0, 1171647.83 1192684.371 0, 1171386.701 1192674.276 0, 1171125.573 1192664.196 0, 1170864.443 1192654.132 0, 1170603.313 1192644.083 0,
+ 1170342.183 1192634.049 0, 1170081.052 1192624.031 0, 1169819.92 1192614.028 0, 1169558.788 1192604.04 0, 1169296.419 1192594.021 0, 1169036.522 1192584.111 0, 1168775.387 1192574.17 0, 1168514.253 1192564.244 0, 1168253.118 1192554.333 0, 1167991.982 1192544.438 0,
+ 1167730.845 1192534.558 0, 1167469.708 1192524.693 0, 1167208.571 1192514.844 0, 1166947.433 1192505.01 0, 1166686.294 1192495.191 0, 1166425.155 1192485.388 0, 1166164.015 1192475.601 0, 1165902.875 1192465.828 0, 1165641.734 1192456.071 0, 1165380.592 1192446.329 0,
+ 1165119.45 1192436.603 0, 1164858.307 1192426.892 0, 1164597.164 1192417.197 0, 1164336.02 1192407.517 0, 1164074.876 1192397.852 0, 1163813.731 1192388.202 0, 1163552.585 1192378.568 0, 1163291.439 1192368.95 0, 1163029.055 1192359.301 0, 1162824.133 1197936.315 0,
+ 1162619.214 1203513.261 0, 1162880.939 1203522.885 0, 1163141.429 1203532.48 0, 1163401.918 1203542.09 0, 1163662.406 1203551.715 0, 1163922.894 1203561.355 0, 1164183.381 1203571.011 0, 1164443.868 1203580.682 0, 1164704.354 1203590.369 0, 1164964.84 1203600.071 0,
+ 1165225.325 1203609.788 0, 1165485.81 1203619.52 0, 1165746.294 1203629.268 0, 1166006.777 1203639.031 0, 1166267.26 1203648.81 0, 1166527.742 1203658.604 0, 1166788.224 1203668.413 0, 1167048.705 1203678.237 0, 1167309.185 1203688.077 0, 1167569.665 1203697.932 0,
+ 1167830.144 1203707.803 0, 1168090.623 1203717.689 0, 1168351.101 1203727.59 0, 1168611.579 1203737.506 0, 1168870.823 1203747.391 0, 1169132.532 1203757.385 0, 1169393.008 1203767.348 0, 1169653.483 1203777.326 0, 1169913.958 1203787.319 0, 1170174.432 1203797.327 0,
+ 1170434.906 1203807.351 0, 1170695.378 1203817.39 0, 1170955.851 1203827.445 0, 1171216.322 1203837.514 0, 1171476.794 1203847.599 0, 1171737.264 1203857.7 0, 1171997.734 1203867.816 0, 1172258.203 1203877.947 0, 1172518.672 1203888.093 0, 1172779.14 1203898.255 0,
+ 1173039.608 1203908.432 0, 1173300.075 1203918.625 0, 1173560.541 1203928.832 0, 1173821.007 1203939.055 0, 1174081.472 1203949.294 0, 1174341.936 1203959.548 0, 1174602.4 1203969.817 0, 1174862.864 1203980.101 0, 1175122.094 1203990.352 0, 1175342.768 1198414.007 0,
+ 1175563.445 1192837.594 0))
+
+POLYGON ((1187623.576 1204502.764 0, 1187364.373 1204491.781 0, 1187103.94 1204480.761 0, 1186843.506 1204469.756 0, 1186583.072 1204458.766 0, 1186322.637 1204447.792 0, 1186062.201 1204436.833 0, 1185801.764 1204425.889 0, 1185541.327 1204414.961 0, 1185280.89 1204404.048 0,
+ 1185020.451 1204393.151 0, 1184760.012 1204382.268 0, 1184499.573 1204371.401 0, 1184239.132 1204360.55 0, 1183978.691 1204349.713 0, 1183718.25 1204338.892 0, 1183457.808 1204328.087 0, 1183197.365 1204317.297 0, 1182936.921 1204306.522 0, 1182676.477 1204295.762 0,
+ 1182416.032 1204285.018 0, 1182155.587 1204274.289 0, 1181895.141 1204263.575 0, 1181634.694 1204252.877 0, 1181373.016 1204242.143 0, 1181113.799 1204231.526 0, 1180853.351 1204220.874 0, 1180592.901 1204210.237 0, 1180332.452 1204199.615 0, 1180072.001 1204189.009 0,
+ 1179811.55 1204178.418 0, 1179551.099 1204167.842 0, 1179290.646 1204157.282 0, 1179030.193 1204146.737 0, 1178769.74 1204136.207 0, 1178509.286 1204125.693 0, 1178248.831 1204115.193 0, 1177988.376 1204104.71 0, 1177727.92 1204094.241 0, 1177467.463 1204083.788 0,
+ 1177207.006 1204073.351 0, 1176946.548 1204062.928 0, 1176686.09 1204052.521 0, 1176425.631 1204042.129 0, 1176165.171 1204031.753 0, 1175904.711 1204021.392 0, 1175644.25 1204011.046 0, 1175383.788 1204000.716 0, 1175122.094 1203990.352 0, 1174901.423 1209566.624 0,
+ 1174680.755 1215142.818 0, 1174941.79 1215153.156 0, 1175201.595 1215163.46 0, 1175461.399 1215173.78 0, 1175721.203 1215184.115 0, 1175981.006 1215194.465 0, 1176240.809 1215204.831 0, 1176500.611 1215215.212 0, 1176760.412 1215225.608 0, 1177020.213 1215236.019 0,
+ 1177280.014 1215246.446 0, 1177539.813 1215256.888 0, 1177799.612 1215267.345 0, 1178059.41 1215277.818 0, 1178319.208 1215288.306 0, 1178579.005 1215298.809 0, 1178838.802 1215309.327 0, 1179098.598 1215319.861 0, 1179358.393 1215330.41 0, 1179618.188 1215340.974 0,
+ 1179877.982 1215351.554 0, 1180137.775 1215362.149 0, 1180397.568 1215372.759 0, 1180657.36 1215383.384 0, 1180915.923 1215393.975 0, 1181176.942 1215404.681 0, 1181436.733 1215415.353 0, 1181696.522 1215426.039 0, 1181956.311 1215436.741 0, 1182216.1 1215447.459 0,
+ 1182475.887 1215458.191 0, 1182735.674 1215468.939 0, 1182995.461 1215479.702 0, 1183255.247 1215490.48 0, 1183515.032 1215501.274 0, 1183774.817 1215512.083 0, 1184034.601 1215522.907 0, 1184294.384 1215533.747 0, 1184554.166 1215544.602 0, 1184813.948 1215555.472 0,
+ 1185073.73 1215566.357 0, 1185333.511 1215577.258 0, 1185593.291 1215588.174 0, 1185853.07 1215599.105 0, 1186112.849 1215610.052 0, 1186372.627 1215621.014 0, 1186632.405 1215631.991 0, 1186892.182 1215642.983 0, 1187150.731 1215653.939 0, 1187387.152 1210078.39 0,
+ 1187623.576 1204502.764 0))
+
+POLYGON ((1199619.213 1216200.288 0, 1199360.694 1216188.602 0, 1199100.949 1216176.875 0, 1198841.203 1216165.164 0, 1198581.457 1216153.468 0, 1198321.71 1216141.788 0, 1198061.963 1216130.123 0, 1197802.215 1216118.473 0, 1197542.466 1216106.838 0, 1197282.716 1216095.219 0,
+ 1197022.966 1216083.615 0, 1196763.215 1216072.026 0, 1196503.463 1216060.453 0, 1196243.711 1216048.895 0, 1195983.958 1216037.352 0, 1195724.204 1216025.824 0, 1195464.45 1216014.312 0, 1195204.695 1216002.815 0, 1194944.939 1215991.333 0, 1194685.183 1215979.867 0,
+ 1194425.426 1215968.416 0, 1194165.668 1215956.98 0, 1193905.91 1215945.559 0, 1193646.15 1215934.154 0, 1193385.165 1215922.71 0, 1193126.63 1215911.389 0, 1192866.869 1215900.03 0, 1192607.107 1215888.686 0, 1192347.345 1215877.357 0, 1192087.582 1215866.043 0,
+ 1191827.818 1215854.745 0, 1191568.054 1215843.462 0, 1191308.289 1215832.194 0, 1191048.523 1215820.942 0, 1190788.757 1215809.705 0, 1190528.989 1215798.483 0, 1190269.222 1215787.277 0, 1190009.453 1215776.085 0, 1189749.684 1215764.91 0, 1189489.915 1215753.749 0,
+ 1189230.144 1215742.604 0, 1188970.373 1215731.473 0, 1188710.602 1215720.359 0, 1188450.829 1215709.259 0, 1188191.056 1215698.175 0, 1187931.283 1215687.106 0, 1187671.508 1215676.052 0, 1187411.733 1215665.014 0, 1187150.731 1215653.939 0, 1186914.313 1221229.405 0,
+ 1186677.9 1226804.785 0, 1186938.243 1226815.832 0, 1187197.361 1226826.842 0, 1187456.479 1226837.868 0, 1187715.597 1226848.909 0, 1187974.713 1226859.965 0, 1188233.829 1226871.036 0, 1188492.945 1226882.123 0, 1188752.06 1226893.225 0, 1189011.174 1226904.342 0,
+ 1189270.287 1226915.475 0, 1189529.4 1226926.622 0, 1189788.512 1226937.785 0, 1190047.623 1226948.964 0, 1190306.734 1226960.157 0, 1190565.844 1226971.366 0, 1190824.954 1226982.59 0, 1191084.062 1226993.829 0, 1191343.171 1227005.083 0, 1191602.278 1227016.353 0,
+ 1191861.385 1227027.638 0, 1192120.491 1227038.938 0, 1192379.596 1227050.254 0, 1192638.701 1227061.584 0, 1192896.583 1227072.877 0, 1193156.909 1227084.291 0, 1193416.012 1227095.668 0, 1193675.114 1227107.06 0, 1193934.215 1227118.467 0, 1194193.316 1227129.889 0,
+ 1194452.416 1227141.326 0, 1194711.516 1227152.779 0, 1194970.614 1227164.247 0, 1195229.713 1227175.73 0, 1195488.81 1227187.229 0, 1195747.907 1227198.742 0, 1196007.003 1227210.271 0, 1196266.098 1227221.815 0, 1196525.193 1227233.375 0, 1196784.287 1227244.95 0,
+ 1197043.38 1227256.54 0, 1197302.473 1227268.145 0, 1197561.565 1227279.765 0, 1197820.656 1227291.401 0, 1198079.747 1227303.052 0, 1198338.837 1227314.718 0, 1198597.926 1227326.4 0, 1198857.014 1227338.096 0, 1199114.881 1227349.753 0, 1199367.045 1221775.064 0,
+ 1199619.213 1216200.288 0))
+
+POLYGON ((1211550.272 1227929.856 0, 1211292.438 1227917.471 0, 1211033.384 1227905.042 0, 1210774.328 1227892.629 0, 1210515.272 1227880.23 0, 1210256.216 1227867.848 0, 1209997.158 1227855.48 0, 1209738.1 1227843.128 0, 1209479.041 1227830.79 0, 1209219.982 1227818.469 0,
+ 1208960.922 1227806.162 0, 1208701.861 1227793.87 0, 1208442.799 1227781.594 0, 1208183.736 1227769.333 0, 1207924.673 1227757.088 0, 1207665.609 1227744.857 0, 1207406.545 1227732.642 0, 1207147.479 1227720.442 0, 1206888.413 1227708.258 0, 1206629.346 1227696.088 0,
+ 1206370.279 1227683.934 0, 1206111.211 1227671.795 0, 1205852.142 1227659.671 0, 1205593.072 1227647.563 0, 1205332.781 1227635.413 0, 1205074.931 1227623.392 0, 1204815.859 1227611.329 0, 1204556.787 1227599.282 0, 1204297.713 1227587.25 0, 1204038.64 1227575.233 0,
+ 1203779.565 1227563.231 0, 1203520.49 1227551.245 0, 1203261.414 1227539.273 0, 1203002.337 1227527.317 0, 1202743.259 1227515.377 0, 1202484.181 1227503.451 0, 1202225.103 1227491.541 0, 1201966.023 1227479.646 0, 1201706.943 1227467.766 0, 1201447.862 1227455.902 0,
+ 1201188.78 1227444.053 0, 1200929.698 1227432.219 0, 1200670.615 1227420.4 0, 1200411.531 1227408.597 0, 1200152.447 1227396.809 0, 1199893.362 1227385.036 0, 1199634.276 1227373.278 0, 1199375.189 1227361.535 0, 1199114.881 1227349.753 0, 1198862.721 1232924.35 0,
+ 1198610.565 1238498.851 0, 1198870.214 1238510.603 0, 1199128.645 1238522.316 0, 1199387.074 1238534.044 0, 1199645.503 1238545.787 0, 1199903.931 1238557.545 0, 1200162.359 1238569.319 0, 1200420.786 1238581.108 0, 1200679.212 1238592.912 0, 1200937.637 1238604.731 0,
+ 1201196.062 1238616.565 0, 1201454.486 1238628.415 0, 1201712.909 1238640.28 0, 1201971.332 1238652.16 0, 1202229.754 1238664.055 0, 1202488.175 1238675.965 0, 1202746.596 1238687.891 0, 1203005.015 1238699.832 0, 1203263.435 1238711.788 0, 1203521.853 1238723.759 0,
+ 1203780.271 1238735.746 0, 1204038.688 1238747.747 0, 1204297.104 1238759.764 0, 1204555.52 1238771.797 0, 1204812.717 1238783.787 0, 1205072.349 1238795.906 0, 1205330.762 1238807.984 0, 1205589.175 1238820.077 0, 1205847.587 1238832.185 0, 1206105.998 1238844.309 0,
+ 1206364.409 1238856.447 0, 1206622.819 1238868.601 0, 1206881.228 1238880.77 0, 1207139.636 1238892.954 0, 1207398.044 1238905.154 0, 1207656.451 1238917.368 0, 1207914.857 1238929.598 0, 1208173.263 1238941.843 0, 1208431.668 1238954.104 0, 1208690.072 1238966.379 0,
+ 1208948.475 1238978.67 0, 1209206.878 1238990.976 0, 1209465.28 1239003.297 0, 1209723.681 1239015.633 0, 1209982.082 1239027.985 0, 1210240.482 1239040.351 0, 1210498.881 1239052.733 0, 1210757.279 1239065.13 0, 1211014.46 1239077.484 0, 1211282.364 1233503.718 0,
+ 1211550.272 1227929.856 0))
+
+POLYGON ((1223416.671 1239691.159 0, 1223159.524 1239678.078 0, 1222901.162 1239664.951 0, 1222642.799 1239651.839 0, 1222384.435 1239638.743 0, 1222126.07 1239625.661 0, 1221867.705 1239612.595 0, 1221609.339 1239599.544 0, 1221350.972 1239586.508 0, 1221092.604 1239573.487 0,
+ 1220834.236 1239560.482 0, 1220575.867 1239547.491 0, 1220317.497 1239534.516 0, 1220059.126 1239521.557 0, 1219800.755 1239508.612 0, 1219542.382 1239495.682 0, 1219284.009 1239482.768 0, 1219025.635 1239469.869 0, 1218767.261 1239456.985 0, 1218508.886 1239444.117 0,
+ 1218250.51 1239431.263 0, 1217992.133 1239418.425 0, 1217733.755 1239405.602 0, 1217475.377 1239392.794 0, 1217215.782 1239379.942 0, 1216958.618 1239367.225 0, 1216700.238 1239354.462 0, 1216441.856 1239341.715 0, 1216183.474 1239328.984 0, 1215925.091 1239316.267 0,
+ 1215666.708 1239303.566 0, 1215408.323 1239290.88 0, 1215149.938 1239278.209 0, 1214891.553 1239265.553 0, 1214633.166 1239252.913 0, 1214374.779 1239240.287 0, 1214116.391 1239227.677 0, 1213858.002 1239215.083 0, 1213599.612 1239202.503 0, 1213341.222 1239189.938 0,
+ 1213082.831 1239177.389 0, 1212824.439 1239164.855 0, 1212566.047 1239152.336 0, 1212307.654 1239139.833 0, 1212049.26 1239127.344 0, 1211790.865 1239114.871 0, 1211532.47 1239102.413 0, 1211274.074 1239089.97 0, 1211014.46 1239077.484 0, 1210746.561 1244651.149 0,
+ 1210478.668 1250224.707 0, 1210737.622 1250237.161 0, 1210995.362 1250249.572 0, 1211253.101 1250261.999 0, 1211510.84 1250274.44 0, 1211768.578 1250286.897 0, 1212026.315 1250299.369 0, 1212284.051 1250311.856 0, 1212541.787 1250324.358 0, 1212799.522 1250336.875 0,
+ 1213057.256 1250349.408 0, 1213314.989 1250361.956 0, 1213572.722 1250374.518 0, 1213830.454 1250387.097 0, 1214088.185 1250399.69 0, 1214345.916 1250412.298 0, 1214603.645 1250424.922 0, 1214861.374 1250437.56 0, 1215119.103 1250450.214 0, 1215376.83 1250462.883 0,
+ 1215634.557 1250475.568 0, 1215892.283 1250488.267 0, 1216150.008 1250500.982 0, 1216407.733 1250513.711 0, 1216664.244 1250526.396 0, 1216923.179 1250539.216 0, 1217180.902 1250551.992 0, 1217438.623 1250564.782 0, 1217696.344 1250577.588 0, 1217954.064 1250590.408 0,
+ 1218211.783 1250603.244 0, 1218469.502 1250616.095 0, 1218727.219 1250628.962 0, 1218984.936 1250641.843 0, 1219242.653 1250654.74 0, 1219500.368 1250667.651 0, 1219758.083 1250680.578 0, 1220015.797 1250693.521 0, 1220273.51 1250706.478 0, 1220531.222 1250719.45 0,
+ 1220788.934 1250732.438 0, 1221046.645 1250745.441 0, 1221304.355 1250758.459 0, 1221562.064 1250771.492 0, 1221819.773 1250784.54 0, 1222077.481 1250797.603 0, 1222335.188 1250810.682 0, 1222592.894 1250823.776 0, 1222849.388 1250836.823 0, 1223133.027 1245264.044 0,
+ 1223416.671 1239691.159 0))
+
+POLYGON ((1235218.33 1251483.887 0, 1234961.871 1251470.115 0, 1234704.203 1251456.293 0, 1234446.534 1251442.486 0, 1234188.864 1251428.695 0, 1233931.194 1251414.918 0, 1233673.522 1251401.157 0, 1233415.85 1251387.411 0, 1233158.177 1251373.68 0, 1232900.503 1251359.965 0,
+ 1232642.828 1251346.264 0, 1232385.152 1251332.579 0, 1232127.476 1251318.909 0, 1231869.799 1251305.254 0, 1231612.121 1251291.614 0, 1231354.442 1251277.989 0, 1231096.763 1251264.38 0, 1230839.082 1251250.786 0, 1230581.401 1251237.207 0, 1230323.719 1251223.643 0,
+ 1230066.037 1251210.094 0, 1229808.353 1251196.56 0, 1229550.669 1251183.042 0, 1229292.984 1251169.538 0, 1229034.087 1251155.987 0, 1228777.611 1251142.577 0, 1228519.923 1251129.119 0, 1228262.235 1251115.677 0, 1228004.546 1251102.249 0, 1227746.856 1251088.837 0,
+ 1227489.165 1251075.44 0, 1227231.474 1251062.058 0, 1226973.782 1251048.691 0, 1226716.089 1251035.339 0, 1226458.395 1251022.003 0, 1226200.7 1251008.682 0, 1225943.005 1250995.375 0, 1225685.309 1250982.084 0, 1225427.612 1250968.809 0, 1225169.914 1250955.548 0,
+ 1224912.215 1250942.303 0, 1224654.516 1250929.072 0, 1224396.816 1250915.857 0, 1224139.115 1250902.657 0, 1223881.414 1250889.472 0, 1223623.711 1250876.303 0, 1223366.008 1250863.148 0, 1223108.304 1250850.009 0, 1222849.388 1250836.823 0, 1222565.755 1256409.491 0,
+ 1222282.127 1261982.043 0, 1222540.384 1261995.195 0, 1222797.432 1262008.301 0, 1223054.48 1262021.422 0, 1223311.526 1262034.558 0, 1223568.572 1262047.709 0, 1223825.616 1262060.876 0, 1224082.661 1262074.057 0, 1224339.704 1262087.254 0, 1224596.746 1262100.465 0,
+ 1224853.788 1262113.692 0, 1225110.829 1262126.934 0, 1225367.869 1262140.191 0, 1225624.909 1262153.464 0, 1225881.948 1262166.751 0, 1226138.985 1262180.054 0, 1226396.022 1262193.371 0, 1226653.059 1262206.704 0, 1226910.094 1262220.052 0, 1227167.129 1262233.415 0,
+ 1227424.163 1262246.793 0, 1227681.196 1262260.186 0, 1227938.228 1262273.595 0, 1228195.26 1262287.018 0, 1228451.084 1262300.394 0, 1228709.321 1262313.911 0, 1228966.35 1262327.38 0, 1229223.378 1262340.864 0, 1229480.406 1262354.363 0, 1229737.433 1262367.878 0,
+ 1229994.459 1262381.407 0, 1230251.484 1262394.952 0, 1230508.509 1262408.511 0, 1230765.532 1262422.086 0, 1231022.555 1262435.676 0, 1231279.577 1262449.281 0, 1231536.598 1262462.901 0, 1231793.619 1262476.537 0, 1232050.638 1262490.187 0, 1232307.657 1262503.853 0,
+ 1232564.675 1262517.534 0, 1232821.692 1262531.229 0, 1233078.709 1262544.94 0, 1233335.724 1262558.666 0, 1233592.739 1262572.408 0, 1233849.753 1262586.164 0, 1234106.766 1262599.936 0, 1234363.779 1262613.722 0, 1234619.584 1262627.459 0, 1234918.954 1257055.731 0,
+ 1235218.33 1251483.887 0))
+
+POLYGON ((1246955.168 1263307.729 0, 1246699.4 1263293.269 0, 1246442.428 1263278.756 0, 1246185.455 1263264.259 0, 1245928.481 1263249.776 0, 1245671.506 1263235.309 0, 1245414.53 1263220.857 0, 1245157.553 1263206.42 0, 1244900.576 1263191.998 0, 1244643.598 1263177.591 0,
+ 1244386.618 1263163.199 0, 1244129.638 1263148.823 0, 1243872.657 1263134.461 0, 1243615.676 1263120.115 0, 1243358.693 1263105.784 0, 1243101.71 1263091.468 0, 1242844.725 1263077.167 0, 1242587.74 1263062.881 0, 1242330.754 1263048.61 0, 1242073.768 1263034.355 0,
+ 1241816.78 1263020.114 0, 1241559.792 1263005.889 0, 1241302.802 1262991.679 0, 1241045.812 1262977.484 0, 1240787.616 1262963.238 0, 1240531.829 1262949.139 0, 1240274.837 1262934.99 0, 1240017.843 1262920.855 0, 1239760.849 1262906.736 0, 1239503.854 1262892.631 0,
+ 1239246.858 1262878.542 0, 1238989.861 1262864.468 0, 1238732.864 1262850.409 0, 1238475.865 1262836.365 0, 1238218.866 1262822.337 0, 1237961.866 1262808.323 0, 1237704.865 1262794.325 0, 1237447.863 1262780.342 0, 1237190.861 1262766.373 0, 1236933.857 1262752.42 0,
+ 1236676.853 1262738.483 0, 1236419.848 1262724.56 0, 1236162.842 1262710.652 0, 1235905.836 1262696.76 0, 1235648.828 1262682.882 0, 1235391.82 1262669.02 0, 1235134.811 1262655.173 0, 1234877.801 1262641.341 0, 1234619.584 1262627.459 0, 1234320.221 1268199.066 0,
+ 1234020.864 1273770.548 0, 1234278.422 1273784.394 0, 1234534.776 1273798.191 0, 1234791.13 1273812.003 0, 1235047.482 1273825.83 0, 1235303.834 1273839.672 0, 1235560.184 1273853.529 0, 1235816.534 1273867.401 0, 1236072.884 1273881.288 0, 1236329.232 1273895.19 0,
+ 1236585.58 1273909.108 0, 1236841.926 1273923.04 0, 1237098.272 1273936.988 0, 1237354.617 1273950.951 0, 1237610.961 1273964.928 0, 1237867.305 1273978.921 0, 1238123.647 1273992.929 0, 1238379.989 1274006.952 0, 1238636.33 1274020.99 0, 1238892.67 1274035.043 0,
+ 1239149.01 1274049.112 0, 1239405.348 1274063.195 0, 1239661.686 1274077.294 0, 1239918.023 1274091.407 0, 1240173.157 1274105.469 0, 1240430.694 1274119.679 0, 1240687.028 1274133.838 0, 1240943.361 1274148.012 0, 1241199.694 1274162.201 0, 1241456.026 1274176.405 0,
+ 1241712.357 1274190.624 0, 1241968.687 1274204.859 0, 1242225.016 1274219.108 0, 1242481.345 1274233.372 0, 1242737.672 1274247.652 0, 1242993.999 1274261.947 0, 1243250.325 1274276.256 0, 1243506.65 1274290.581 0, 1243762.974 1274304.921 0, 1244019.298 1274319.276 0,
+ 1244275.62 1274333.646 0, 1244531.942 1274348.031 0, 1244788.263 1274362.431 0, 1245044.583 1274376.846 0, 1245300.902 1274391.277 0, 1245557.221 1274405.722 0, 1245813.538 1274420.183 0, 1246069.855 1274434.659 0, 1246324.97 1274449.081 0, 1246640.065 1268878.468 0,
+ 1246955.168 1263307.729 0))
+
+POLYGON ((1258627.109 1275162.373 0, 1258372.033 1275147.23 0, 1258115.759 1275132.03 0, 1257859.483 1275116.845 0, 1257603.207 1275101.676 0, 1257346.929 1275086.521 0, 1257090.651 1275071.382 0, 1256834.372 1275056.258 0, 1256578.092 1275041.148 0, 1256321.811 1275026.054 0,
+ 1256065.529 1275010.975 0, 1255809.246 1274995.911 0, 1255552.963 1274980.862 0, 1255296.678 1274965.829 0, 1255040.393 1274950.81 0, 1254784.107 1274935.806 0, 1254527.82 1274920.818 0, 1254271.531 1274905.844 0, 1254015.243 1274890.886 0, 1253758.953 1274875.943 0,
+ 1253502.662 1274861.014 0, 1253246.371 1274846.101 0, 1252990.078 1274831.203 0, 1252733.785 1274816.32 0, 1252476.291 1274801.383 0, 1252221.196 1274786.6 0, 1251964.9 1274771.762 0, 1251708.603 1274756.939 0, 1251452.305 1274742.132 0, 1251196.007 1274727.339 0,
+ 1250939.707 1274712.562 0, 1250683.407 1274697.8 0, 1250427.106 1274683.053 0, 1250170.804 1274668.32 0, 1249914.501 1274653.603 0, 1249658.197 1274638.902 0, 1249401.893 1274624.215 0, 1249145.587 1274609.543 0, 1248889.281 1274594.886 0, 1248632.974 1274580.245 0,
+ 1248376.666 1274565.618 0, 1248120.357 1274551.007 0, 1247864.047 1274536.41 0, 1247607.736 1274521.829 0, 1247351.425 1274507.263 0, 1247095.113 1274492.712 0, 1246838.799 1274478.176 0, 1246582.485 1274463.655 0, 1246324.97 1274449.081 0, 1246009.881 1280019.564 0,
+ 1245694.801 1285589.911 0, 1245951.658 1285604.448 0, 1246207.316 1285618.931 0, 1246462.973 1285633.43 0, 1246718.63 1285647.944 0, 1246974.286 1285662.473 0, 1247229.941 1285677.017 0, 1247485.595 1285691.576 0, 1247741.248 1285706.15 0, 1247996.9 1285720.739 0,
+ 1248252.552 1285735.343 0, 1248508.202 1285749.962 0, 1248763.852 1285764.596 0, 1249019.501 1285779.246 0, 1249275.149 1285793.91 0, 1249530.796 1285808.589 0, 1249786.443 1285823.284 0, 1250042.088 1285837.993 0, 1250297.733 1285852.718 0, 1250553.376 1285867.457 0,
+ 1250809.019 1285882.212 0, 1251064.661 1285896.982 0, 1251320.302 1285911.766 0, 1251575.943 1285926.566 0, 1251830.385 1285941.311 0, 1252087.22 1285956.211 0, 1252342.858 1285971.055 0, 1252598.495 1285985.915 0, 1252854.131 1286000.79 0, 1253109.766 1286015.68 0,
+ 1253365.4 1286030.585 0, 1253621.033 1286045.506 0, 1253876.665 1286060.441 0, 1254132.297 1286075.391 0, 1254387.927 1286090.356 0, 1254643.557 1286105.336 0, 1254899.186 1286120.332 0, 1255154.814 1286135.342 0, 1255410.441 1286150.368 0, 1255666.067 1286165.408 0,
+ 1255921.693 1286180.464 0, 1256177.317 1286195.534 0, 1256432.94 1286210.62 0, 1256688.563 1286225.72 0, 1256944.185 1286240.836 0, 1257199.806 1286255.967 0, 1257455.426 1286271.113 0, 1257711.045 1286286.273 0, 1257965.467 1286301.378 0, 1258296.284 1280731.944 0,
+ 1258627.109 1275162.373 0))
+
+POLYGON ((1270234.075 1287047.51 0, 1269979.694 1287031.686 0, 1269724.119 1287015.803 0, 1269468.543 1286999.935 0, 1269212.966 1286984.082 0, 1268957.388 1286968.244 0, 1268701.809 1286952.422 0, 1268446.229 1286936.614 0, 1268190.648 1286920.821 0, 1267935.066 1286905.043 0,
+ 1267679.484 1286889.281 0, 1267423.9 1286873.533 0, 1267168.316 1286857.801 0, 1266912.73 1286842.083 0, 1266657.144 1286826.381 0, 1266401.556 1286810.693 0, 1266145.968 1286795.021 0, 1265890.379 1286779.364 0, 1265634.789 1286763.722 0, 1265379.198 1286748.094 0,
+ 1265123.606 1286732.482 0, 1264868.013 1286716.885 0, 1264612.419 1286701.303 0, 1264356.825 1286685.736 0, 1264100.035 1286670.111 0, 1263845.633 1286654.647 0, 1263590.035 1286639.125 0, 1263334.437 1286623.618 0, 1263078.838 1286608.126 0, 1262823.238 1286592.65 0,
+ 1262567.637 1286577.188 0, 1262312.035 1286561.741 0, 1262056.432 1286546.31 0, 1261800.828 1286530.893 0, 1261545.223 1286515.491 0, 1261289.618 1286500.105 0, 1261034.011 1286484.733 0, 1260778.404 1286469.377 0, 1260522.795 1286454.036 0, 1260267.186 1286438.709 0,
+ 1260011.576 1286423.398 0, 1259755.965 1286408.102 0, 1259500.353 1286392.821 0, 1259244.74 1286377.554 0, 1258989.127 1286362.303 0, 1258733.512 1286347.067 0, 1258477.897 1286331.846 0, 1258222.28 1286316.64 0, 1257965.467 1286301.378 0, 1257634.659 1291870.672 0,
+ 1257303.86 1297439.821 0, 1257560.014 1297455.043 0, 1257814.975 1297470.21 0, 1258069.934 1297485.392 0, 1258324.894 1297500.589 0, 1258579.852 1297515.801 0, 1258834.809 1297531.028 0, 1259089.765 1297546.27 0, 1259344.721 1297561.527 0, 1259599.675 1297576.799 0,
+ 1259854.629 1297592.086 0, 1260109.582 1297607.388 0, 1260364.533 1297622.705 0, 1260619.484 1297638.038 0, 1260874.434 1297653.385 0, 1261129.384 1297668.747 0, 1261384.332 1297684.124 0, 1261639.279 1297699.516 0, 1261894.226 1297714.923 0, 1262149.171 1297730.345 0,
+ 1262404.116 1297745.782 0, 1262659.059 1297761.234 0, 1262914.002 1297776.701 0, 1263168.944 1297792.183 0, 1263422.694 1297807.608 0, 1263678.825 1297823.192 0, 1263933.764 1297838.72 0, 1264188.702 1297854.262 0, 1264443.64 1297869.819 0, 1264698.576 1297885.391 0,
+ 1264953.511 1297900.978 0, 1265208.446 1297916.58 0, 1265463.38 1297932.197 0, 1265718.312 1297947.83 0, 1265973.244 1297963.477 0, 1266228.175 1297979.139 0, 1266483.105 1297994.816 0, 1266738.034 1298010.508 0, 1266992.962 1298026.215 0, 1267247.889 1298041.938 0,
+ 1267502.816 1298057.675 0, 1267757.741 1298073.427 0, 1268012.665 1298089.194 0, 1268267.589 1298104.976 0, 1268522.511 1298120.773 0, 1268777.433 1298136.586 0, 1269032.354 1298152.413 0, 1269287.273 1298168.255 0, 1269541.002 1298184.038 0, 1269887.534 1292615.847 0,
+ 1270234.075 1287047.51 0))
+
+POLYGON ((1281775.993 1298962.825 0, 1281522.308 1298946.325 0, 1281267.434 1298929.763 0, 1281012.559 1298913.215 0, 1280757.683 1298896.683 0, 1280502.806 1298880.166 0, 1280247.928 1298863.663 0, 1279993.049 1298847.176 0, 1279738.17 1298830.704 0, 1279483.289 1298814.246 0,
+ 1279228.407 1298797.804 0, 1278973.524 1298781.377 0, 1278718.641 1298764.964 0, 1278463.756 1298748.567 0, 1278208.87 1298732.185 0, 1277953.984 1298715.817 0, 1277699.096 1298699.465 0, 1277444.208 1298683.128 0, 1277189.318 1298666.805 0, 1276934.428 1298650.498 0,
+ 1276679.537 1298634.206 0, 1276424.644 1298617.928 0, 1276169.751 1298601.666 0, 1275914.857 1298585.419 0, 1275658.772 1298569.111 0, 1275405.065 1298552.969 0, 1275150.168 1298536.767 0, 1274895.27 1298520.58 0, 1274640.371 1298504.407 0, 1274385.471 1298488.25 0,
+ 1274130.57 1298472.108 0, 1273875.668 1298455.981 0, 1273620.766 1298439.868 0, 1273365.862 1298423.771 0, 1273110.957 1298407.689 0, 1272856.051 1298391.621 0, 1272601.145 1298375.569 0, 1272346.237 1298359.532 0, 1272091.329 1298343.51 0, 1271836.419 1298327.502 0,
+ 1271581.509 1298311.51 0, 1271326.598 1298295.533 0, 1271071.685 1298279.571 0, 1270816.772 1298263.623 0, 1270561.858 1298247.691 0, 1270306.943 1298231.774 0, 1270052.027 1298215.872 0, 1269797.11 1298199.985 0, 1269541.002 1298184.038 0, 1269194.479 1303752.079 0,
+ 1268847.966 1309319.964 0, 1269103.416 1309335.87 0, 1269357.677 1309351.716 0, 1269611.938 1309367.577 0, 1269866.197 1309383.454 0, 1270120.456 1309399.345 0, 1270374.714 1309415.251 0, 1270628.971 1309431.172 0, 1270883.227 1309447.109 0, 1271137.482 1309463.06 0,
+ 1271391.736 1309479.026 0, 1271645.989 1309495.007 0, 1271900.241 1309511.003 0, 1272154.492 1309527.014 0, 1272408.742 1309543.04 0, 1272662.992 1309559.081 0, 1272917.24 1309575.137 0, 1273171.487 1309591.207 0, 1273425.734 1309607.293 0, 1273679.979 1309623.394 0,
+ 1273934.224 1309639.51 0, 1274188.468 1309655.64 0, 1274442.71 1309671.786 0, 1274696.952 1309687.947 0, 1274950.007 1309704.047 0, 1275205.433 1309720.313 0, 1275459.671 1309736.518 0, 1275713.909 1309752.739 0, 1275968.146 1309768.974 0, 1276222.382 1309785.225 0,
+ 1276476.617 1309801.49 0, 1276730.852 1309817.771 0, 1276985.085 1309834.066 0, 1277239.317 1309850.376 0, 1277493.548 1309866.701 0, 1277747.778 1309883.042 0, 1278002.008 1309899.397 0, 1278256.236 1309915.767 0, 1278510.463 1309932.152 0, 1278764.69 1309948.552 0,
+ 1279018.915 1309964.967 0, 1279273.14 1309981.397 0, 1279527.363 1309997.842 0, 1279781.586 1310014.302 0, 1280035.807 1310030.777 0, 1280290.028 1310047.267 0, 1280544.247 1310063.771 0, 1280798.466 1310080.291 0, 1281051.499 1310096.749 0, 1281413.741 1304529.865 0,
+ 1281775.993 1298962.825 0))
+
+POLYGON ((1293252.788 1310908.007 0, 1292999.801 1310890.835 0, 1292745.63 1310873.597 0, 1292491.458 1310856.374 0, 1292237.285 1310839.166 0, 1291983.111 1310821.973 0, 1291728.936 1310804.795 0, 1291474.76 1310787.632 0, 1291220.583 1310770.483 0, 1290966.405 1310753.35 0,
+ 1290712.226 1310736.232 0, 1290458.046 1310719.129 0, 1290203.865 1310702.041 0, 1289949.683 1310684.967 0, 1289695.5 1310667.909 0, 1289441.315 1310650.865 0, 1289187.13 1310633.837 0, 1288932.944 1310616.823 0, 1288678.757 1310599.825 0, 1288424.569 1310582.841 0,
+ 1288170.38 1310565.873 0, 1287916.19 1310548.919 0, 1287661.999 1310531.98 0, 1287407.807 1310515.057 0, 1287152.43 1310498.069 0, 1286899.42 1310481.254 0, 1286645.225 1310464.375 0, 1286391.029 1310447.511 0, 1286136.832 1310430.662 0, 1285882.634 1310413.828 0,
+ 1285628.434 1310397.009 0, 1285374.234 1310380.205 0, 1285120.033 1310363.416 0, 1284865.831 1310346.642 0, 1284611.629 1310329.883 0, 1284357.425 1310313.139 0, 1284103.22 1310296.41 0, 1283849.014 1310279.695 0, 1283594.807 1310262.996 0, 1283340.599 1310246.312 0,
+ 1283086.39 1310229.642 0, 1282832.18 1310212.988 0, 1282577.969 1310196.348 0, 1282323.757 1310179.724 0, 1282069.545 1310163.114 0, 1281815.331 1310146.52 0, 1281561.116 1310129.94 0, 1281306.9 1310113.376 0, 1281051.499 1310096.749 0, 1280689.267 1315663.472 0,
+ 1280327.046 1321230.03 0, 1280581.79 1321246.613 0, 1280835.35 1321263.135 0, 1281088.91 1321279.672 0, 1281342.468 1321296.224 0, 1281596.026 1321312.791 0, 1281849.582 1321329.372 0, 1282103.138 1321345.969 0, 1282356.693 1321362.581 0, 1282610.246 1321379.207 0,
+ 1282863.799 1321395.848 0, 1283117.35 1321412.505 0, 1283370.901 1321429.176 0, 1283624.451 1321445.862 0, 1283878 1321462.563 0, 1284131.547 1321479.279 0, 1284385.094 1321496.01 0, 1284638.64 1321512.756 0, 1284892.185 1321529.516 0, 1285145.728 1321546.292 0,
+ 1285399.271 1321563.082 0, 1285652.813 1321579.888 0, 1285906.354 1321596.708 0, 1286159.894 1321613.544 0, 1286412.251 1321630.315 0, 1286666.97 1321647.259 0, 1286920.507 1321664.139 0, 1287174.043 1321681.034 0, 1287427.578 1321697.944 0, 1287681.112 1321714.869 0,
+ 1287934.645 1321731.809 0, 1288188.176 1321748.764 0, 1288441.707 1321765.733 0, 1288695.237 1321782.718 0, 1288948.766 1321799.717 0, 1289202.294 1321816.732 0, 1289455.821 1321833.761 0, 1289709.347 1321850.805 0, 1289962.872 1321867.865 0, 1290216.395 1321884.939 0,
+ 1290469.918 1321902.028 0, 1290723.44 1321919.132 0, 1290976.961 1321936.25 0, 1291230.481 1321953.384 0, 1291484 1321970.533 0, 1291737.518 1321987.697 0, 1291991.034 1322004.875 0, 1292244.55 1322022.069 0, 1292496.885 1322039.197 0, 1292874.831 1316473.685 0,
+ 1293252.788 1310908.007 0))
+
+POLYGON ((1304664.389 1322882.743 0, 1304412.102 1322864.902 0, 1304158.635 1322846.992 0, 1303905.168 1322829.097 0, 1303651.7 1322811.218 0, 1303398.231 1322793.353 0, 1303144.76 1322775.503 0, 1302891.289 1322757.668 0, 1302637.816 1322739.848 0, 1302384.343 1322722.042 0,
+ 1302130.868 1322704.252 0, 1301877.392 1322686.477 0, 1301623.916 1322668.716 0, 1301370.438 1322650.971 0, 1301116.959 1322633.24 0, 1300863.479 1322615.525 0, 1300609.998 1322597.824 0, 1300356.516 1322580.138 0, 1300103.033 1322562.467 0, 1299849.549 1322544.811 0,
+ 1299596.064 1322527.17 0, 1299342.578 1322509.544 0, 1299089.091 1322491.932 0, 1298835.603 1322474.336 0, 1298580.935 1322456.673 0, 1298328.624 1322439.188 0, 1298075.132 1322421.637 0, 1297821.64 1322404.1 0, 1297568.147 1322386.578 0, 1297314.652 1322369.071 0,
+ 1297061.157 1322351.58 0, 1296807.661 1322334.103 0, 1296554.163 1322316.641 0, 1296300.665 1322299.193 0, 1296047.165 1322281.761 0, 1295793.665 1322264.344 0, 1295540.163 1322246.942 0, 1295286.661 1322229.554 0, 1295033.157 1322212.182 0, 1294779.652 1322194.824 0,
+ 1294526.147 1322177.481 0, 1294272.64 1322160.154 0, 1294019.132 1322142.841 0, 1293765.624 1322125.543 0, 1293512.114 1322108.26 0, 1293258.603 1322090.992 0, 1293005.091 1322073.739 0, 1292751.579 1322056.5 0, 1292496.885 1322039.197 0, 1292118.951 1327604.538 0,
+ 1291741.029 1333169.703 0, 1291995.064 1333186.962 0, 1292247.922 1333204.156 0, 1292500.778 1333221.364 0, 1292753.634 1333238.588 0, 1293006.489 1333255.826 0, 1293259.342 1333273.079 0, 1293512.195 1333290.347 0, 1293765.046 1333307.63 0, 1294017.897 1333324.928 0,
+ 1294270.746 1333342.241 0, 1294523.595 1333359.569 0, 1294776.442 1333376.911 0, 1295029.289 1333394.268 0, 1295282.134 1333411.641 0, 1295534.979 1333429.028 0, 1295787.822 1333446.43 0, 1296040.664 1333463.847 0, 1296293.506 1333481.279 0, 1296546.346 1333498.725 0,
+ 1296799.185 1333516.187 0, 1297052.024 1333533.663 0, 1297304.861 1333551.155 0, 1297557.697 1333568.661 0, 1297809.356 1333586.1 0, 1298063.366 1333603.718 0, 1298316.199 1333621.269 0, 1298569.031 1333638.835 0, 1298821.863 1333656.415 0, 1299074.693 1333674.011 0,
+ 1299327.521 1333691.621 0, 1299580.349 1333709.246 0, 1299833.176 1333726.886 0, 1300086.002 1333744.541 0, 1300338.827 1333762.211 0, 1300591.651 1333779.896 0, 1300844.473 1333797.596 0, 1301097.295 1333815.31 0, 1301350.116 1333833.04 0, 1301602.935 1333850.784 0,
+ 1301855.754 1333868.543 0, 1302108.571 1333886.317 0, 1302361.388 1333904.106 0, 1302614.203 1333921.91 0, 1302867.018 1333939.729 0, 1303119.831 1333957.562 0, 1303372.643 1333975.411 0, 1303625.454 1333993.274 0, 1303877.09 1334011.069 0, 1304270.733 1328446.994 0,
+ 1304664.389 1322882.743 0))
+
+POLYGON ((1316010.726 1334886.719 0, 1315759.14 1334868.213 0, 1315506.38 1334849.635 0, 1315253.619 1334831.073 0, 1315000.857 1334812.525 0, 1314748.094 1334793.992 0, 1314495.33 1334775.474 0, 1314242.565 1334756.971 0, 1313989.799 1334738.483 0, 1313737.031 1334720.009 0,
+ 1313484.263 1334701.551 0, 1313231.493 1334683.107 0, 1312978.723 1334664.678 0, 1312725.951 1334646.264 0, 1312473.178 1334627.866 0, 1312220.404 1334609.481 0, 1311967.629 1334591.112 0, 1311714.853 1334572.758 0, 1311462.076 1334554.418 0, 1311209.298 1334536.094 0,
+ 1310956.519 1334517.784 0, 1310703.738 1334499.489 0, 1310450.957 1334481.209 0, 1310198.174 1334462.944 0, 1309944.217 1334444.609 0, 1309692.606 1334426.459 0, 1309439.82 1334408.238 0, 1309187.034 1334390.033 0, 1308934.246 1334371.842 0, 1308681.457 1334353.666 0,
+ 1308428.667 1334335.505 0, 1308175.876 1334317.359 0, 1307923.084 1334299.228 0, 1307670.29 1334281.112 0, 1307417.496 1334263.01 0, 1307164.701 1334244.924 0, 1306911.904 1334226.852 0, 1306659.107 1334208.795 0, 1306406.308 1334190.753 0, 1306153.509 1334172.726 0,
+ 1305900.708 1334154.714 0, 1305647.906 1334136.717 0, 1305395.104 1334118.734 0, 1305142.3 1334100.767 0, 1304889.495 1334082.814 0, 1304636.689 1334064.877 0, 1304383.882 1334046.954 0, 1304131.074 1334029.046 0, 1303877.09 1334011.069 0, 1303483.459 1339574.964 0,
+ 1303089.842 1345138.672 0, 1303343.168 1345156.601 0, 1303595.321 1345174.463 0, 1303847.473 1345192.339 0, 1304099.624 1345210.231 0, 1304351.774 1345228.137 0, 1304603.923 1345246.058 0, 1304856.071 1345263.993 0, 1305108.218 1345281.944 0, 1305360.363 1345299.91 0,
+ 1305612.508 1345317.89 0, 1305864.652 1345335.885 0, 1306116.794 1345353.895 0, 1306368.936 1345371.92 0, 1306621.076 1345389.96 0, 1306873.215 1345408.014 0, 1307125.354 1345426.083 0, 1307377.491 1345444.168 0, 1307629.627 1345462.267 0, 1307881.762 1345480.381 0,
+ 1308133.896 1345498.509 0, 1308386.029 1345516.653 0, 1308638.161 1345534.811 0, 1308890.292 1345552.985 0, 1309141.251 1345571.088 0, 1309394.551 1345589.376 0, 1309646.678 1345607.593 0, 1309898.805 1345625.826 0, 1310150.93 1345644.073 0, 1310403.055 1345662.336 0,
+ 1310655.178 1345680.613 0, 1310907.3 1345698.905 0, 1311159.421 1345717.212 0, 1311411.542 1345735.533 0, 1311663.661 1345753.87 0, 1311915.779 1345772.221 0, 1312167.895 1345790.587 0, 1312420.011 1345808.968 0, 1312672.126 1345827.364 0, 1312924.239 1345845.775 0,
+ 1313176.352 1345864.2 0, 1313428.463 1345882.641 0, 1313680.574 1345901.096 0, 1313932.683 1345919.566 0, 1314184.791 1345938.051 0, 1314436.898 1345956.55 0, 1314689.004 1345975.065 0, 1314941.109 1345993.594 0, 1315192.044 1346012.053 0, 1315601.378 1340449.479 0,
+ 1316010.726 1334886.719 0))
+
+POLYGON ((1327291.73 1346919.621 0, 1327040.846 1346900.454 0, 1326788.795 1346881.212 0, 1326536.742 1346861.985 0, 1326284.688 1346842.774 0, 1326032.633 1346823.577 0, 1325780.577 1346804.394 0, 1325528.52 1346785.227 0, 1325276.462 1346766.074 0, 1325024.402 1346746.937 0,
+ 1324772.342 1346727.814 0, 1324520.28 1346708.706 0, 1324268.217 1346689.613 0, 1324016.153 1346670.534 0, 1323764.088 1346651.471 0, 1323512.022 1346632.422 0, 1323259.954 1346613.388 0, 1323007.886 1346594.369 0, 1322755.816 1346575.365 0, 1322503.746 1346556.376 0,
+ 1322251.674 1346537.401 0, 1321999.601 1346518.441 0, 1321747.527 1346499.497 0, 1321495.452 1346480.567 0, 1321242.207 1346461.564 0, 1320991.298 1346442.751 0, 1320739.22 1346423.866 0, 1320487.14 1346404.995 0, 1320235.059 1346386.139 0, 1319982.977 1346367.298 0,
+ 1319730.895 1346348.472 0, 1319478.81 1346329.661 0, 1319226.725 1346310.864 0, 1318974.639 1346292.083 0, 1318722.552 1346273.316 0, 1318470.463 1346254.564 0, 1318218.374 1346235.827 0, 1317966.283 1346217.104 0, 1317714.191 1346198.397 0, 1317462.098 1346179.704 0,
+ 1317210.004 1346161.027 0, 1316957.909 1346142.364 0, 1316705.813 1346123.716 0, 1316453.716 1346105.082 0, 1316201.618 1346086.464 0, 1315949.518 1346067.86 0, 1315697.418 1346049.272 0, 1315445.316 1346030.698 0, 1315192.044 1346012.053 0, 1314782.724 1351574.435 0,
+ 1314373.418 1357136.621 0, 1314626.032 1357155.217 0, 1314877.479 1357173.743 0, 1315128.925 1357192.284 0, 1315380.37 1357210.839 0, 1315631.813 1357229.409 0, 1315883.256 1357247.994 0, 1316134.697 1357266.593 0, 1316386.137 1357285.208 0, 1316637.577 1357303.837 0,
+ 1316889.015 1357322.481 0, 1317140.452 1357341.14 0, 1317391.888 1357359.814 0, 1317643.323 1357378.502 0, 1317894.756 1357397.205 0, 1318146.189 1357415.923 0, 1318397.62 1357434.656 0, 1318649.051 1357453.404 0, 1318900.48 1357472.166 0, 1319151.908 1357490.944 0,
+ 1319403.335 1357509.736 0, 1319654.761 1357528.543 0, 1319906.186 1357547.364 0, 1320157.61 1357566.201 0, 1320407.868 1357584.964 0, 1320660.454 1357603.918 0, 1320911.875 1357622.799 0, 1321163.294 1357641.694 0, 1321414.712 1357660.605 0, 1321666.13 1357679.53 0,
+ 1321917.546 1357698.47 0, 1322168.961 1357717.425 0, 1322420.374 1357736.394 0, 1322671.787 1357755.379 0, 1322923.198 1357774.378 0, 1323174.609 1357793.392 0, 1323426.018 1357812.421 0, 1323677.426 1357831.465 0, 1323928.833 1357850.523 0, 1324180.239 1357869.596 0,
+ 1324431.644 1357888.684 0, 1324683.048 1357907.787 0, 1324934.45 1357926.905 0, 1325185.852 1357946.037 0, 1325437.252 1357965.184 0, 1325688.651 1357984.346 0, 1325940.049 1358003.523 0, 1326191.446 1358022.715 0, 1326441.678 1358041.832 0, 1326866.696 1352480.825 0,
+ 1327291.73 1346919.621 0))
+
+POLYGON ((1338507.333 1358981.135 0, 1338257.154 1358961.31 0, 1338005.812 1358941.408 0, 1337754.47 1358921.521 0, 1337503.125 1358901.649 0, 1337251.78 1358881.792 0, 1337000.434 1358861.949 0, 1336749.086 1358842.122 0, 1336497.738 1358822.309 0, 1336246.388 1358802.51 0,
+ 1335995.037 1358782.727 0, 1335743.684 1358762.958 0, 1335492.331 1358743.205 0, 1335240.977 1358723.466 0, 1334989.621 1358703.741 0, 1334738.264 1358684.032 0, 1334486.906 1358664.337 0, 1334235.547 1358644.657 0, 1333984.186 1358624.992 0, 1333732.825 1358605.342 0,
+ 1333481.462 1358585.707 0, 1333230.098 1358566.086 0, 1332978.734 1358546.48 0, 1332727.367 1358526.889 0, 1332474.837 1358507.222 0, 1332224.632 1358487.751 0, 1331973.262 1358468.205 0, 1331721.891 1358448.673 0, 1331470.52 1358429.156 0, 1331219.147 1358409.653 0,
+ 1330967.772 1358390.166 0, 1330716.397 1358370.693 0, 1330465.021 1358351.235 0, 1330213.643 1358331.792 0, 1329962.264 1358312.364 0, 1329710.884 1358292.95 0, 1329459.503 1358273.552 0, 1329208.121 1358254.168 0, 1328956.738 1358234.798 0, 1328705.353 1358215.444 0,
+ 1328453.968 1358196.105 0, 1328202.581 1358176.78 0, 1327951.193 1358157.47 0, 1327699.804 1358138.175 0, 1327448.414 1358118.894 0, 1327197.023 1358099.629 0, 1326945.63 1358080.378 0, 1326694.237 1358061.142 0, 1326441.678 1358041.832 0, 1326016.675 1363602.637 0,
+ 1325591.688 1369163.236 0, 1325843.589 1369182.496 0, 1326094.328 1369201.682 0, 1326345.066 1369220.882 0, 1326595.803 1369240.098 0, 1326846.538 1369259.328 0, 1327097.273 1369278.573 0, 1327348.006 1369297.833 0, 1327598.738 1369317.107 0, 1327849.469 1369336.396 0,
+ 1328100.199 1369355.7 0, 1328350.928 1369375.019 0, 1328601.656 1369394.352 0, 1328852.382 1369413.7 0, 1329103.107 1369433.063 0, 1329353.832 1369452.441 0, 1329604.555 1369471.834 0, 1329855.277 1369491.241 0, 1330105.997 1369510.663 0, 1330356.717 1369530.1 0,
+ 1330607.436 1369549.551 0, 1330858.153 1369569.017 0, 1331108.869 1369588.499 0, 1331359.584 1369607.994 0, 1331609.138 1369627.415 0, 1331861.011 1369647.03 0, 1332111.722 1369666.57 0, 1332362.433 1369686.125 0, 1332613.142 1369705.695 0, 1332863.85 1369725.279 0,
+ 1333114.557 1369744.878 0, 1333365.263 1369764.492 0, 1333615.968 1369784.12 0, 1333866.671 1369803.764 0, 1334117.374 1369823.422 0, 1334368.075 1369843.095 0, 1334618.775 1369862.782 0, 1334869.474 1369882.485 0, 1335120.172 1369902.202 0, 1335370.868 1369921.934 0,
+ 1335621.564 1369941.68 0, 1335872.258 1369961.442 0, 1336122.951 1369981.218 0, 1336373.643 1370001.009 0, 1336624.334 1370020.815 0, 1336875.023 1370040.635 0, 1337125.712 1370060.47 0, 1337376.399 1370080.32 0, 1337625.926 1370100.093 0, 1338066.621 1364540.717 0,
+ 1338507.333 1358981.135 0))
+
+POLYGON ((1349657.469 1371070.945 0, 1349407.997 1371050.467 0, 1349157.367 1371029.909 0, 1348906.736 1371009.366 0, 1348656.103 1370988.837 0, 1348405.469 1370968.323 0, 1348154.834 1370947.824 0, 1347904.198 1370927.34 0, 1347653.561 1370906.87 0, 1347402.922 1370886.415 0,
+ 1347152.282 1370865.975 0, 1346901.641 1370845.55 0, 1346650.999 1370825.139 0, 1346400.355 1370804.744 0, 1346149.711 1370784.363 0, 1345899.065 1370763.996 0, 1345648.418 1370743.645 0, 1345397.77 1370723.308 0, 1345147.12 1370702.986 0, 1344896.47 1370682.679 0,
+ 1344645.818 1370662.386 0, 1344395.165 1370642.108 0, 1344144.511 1370621.845 0, 1343893.855 1370601.597 0, 1343642.041 1370581.27 0, 1343392.541 1370561.145 0, 1343141.882 1370540.941 0, 1342891.222 1370520.751 0, 1342640.56 1370500.577 0, 1342389.898 1370480.417 0,
+ 1342139.234 1370460.272 0, 1341888.569 1370440.142 0, 1341637.903 1370420.026 0, 1341387.236 1370399.925 0, 1341136.567 1370379.839 0, 1340885.898 1370359.768 0, 1340635.227 1370339.712 0, 1340384.555 1370319.67 0, 1340133.882 1370299.643 0, 1339883.207 1370279.631 0,
+ 1339632.532 1370259.633 0, 1339381.855 1370239.651 0, 1339131.177 1370219.683 0, 1338880.498 1370199.729 0, 1338629.818 1370179.791 0, 1338379.136 1370159.867 0, 1338128.454 1370139.958 0, 1337877.77 1370120.064 0, 1337625.926 1370100.093 0, 1337185.248 1375659.256 0,
+ 1336744.587 1381218.202 0, 1336995.773 1381238.122 0, 1337245.803 1381257.964 0, 1337495.831 1381277.821 0, 1337745.858 1381297.692 0, 1337995.884 1381317.579 0, 1338245.909 1381337.48 0, 1338495.932 1381357.396 0, 1338745.954 1381377.326 0, 1338995.976 1381397.272 0,
+ 1339245.996 1381417.232 0, 1339496.014 1381437.206 0, 1339746.032 1381457.196 0, 1339996.049 1381477.2 0, 1340246.064 1381497.219 0, 1340496.078 1381517.252 0, 1340746.091 1381537.301 0, 1340996.103 1381557.364 0, 1341246.113 1381577.441 0, 1341496.123 1381597.534 0,
+ 1341746.131 1381617.641 0, 1341996.138 1381637.763 0, 1342246.144 1381657.899 0, 1342496.148 1381678.051 0, 1342744.997 1381698.123 0, 1342996.154 1381718.397 0, 1343246.155 1381738.593 0, 1343496.155 1381758.803 0, 1343746.154 1381779.028 0, 1343996.151 1381799.267 0,
+ 1344246.148 1381819.522 0, 1344496.143 1381839.791 0, 1344746.137 1381860.074 0, 1344996.129 1381880.373 0, 1345246.121 1381900.686 0, 1345496.111 1381921.014 0, 1345746.101 1381941.356 0, 1345996.088 1381961.714 0, 1346246.075 1381982.086 0, 1346496.061 1382002.472 0,
+ 1346746.045 1382022.874 0, 1346996.028 1382043.29 0, 1347246.01 1382063.721 0, 1347495.991 1382084.166 0, 1347745.971 1382104.627 0, 1347995.949 1382125.102 0, 1348245.926 1382145.591 0, 1348495.902 1382166.096 0, 1348744.723 1382186.52 0, 1349201.087 1376628.841 0,
+ 1349657.469 1371070.945 0))
+
+POLYGON ((1360742.075 1383188.737 0, 1360493.311 1383167.609 0, 1360243.394 1383146.399 0, 1359993.476 1383125.203 0, 1359743.557 1383104.021 0, 1359493.636 1383082.855 0, 1359243.714 1383061.703 0, 1358993.791 1383040.566 0, 1358743.866 1383019.444 0, 1358493.94 1382998.336 0,
+ 1358244.013 1382977.244 0, 1357994.085 1382956.165 0, 1357744.156 1382935.102 0, 1357494.225 1382914.053 0, 1357244.293 1382893.019 0, 1356994.36 1382872 0, 1356744.426 1382850.995 0, 1356494.49 1382830.005 0, 1356244.553 1382809.03 0, 1355994.615 1382788.07 0,
+ 1355744.676 1382767.124 0, 1355494.735 1382746.193 0, 1355244.793 1382725.276 0, 1354994.85 1382704.375 0, 1354743.753 1382683.391 0, 1354494.96 1382662.616 0, 1354245.014 1382641.758 0, 1353995.066 1382620.915 0, 1353745.117 1382600.087 0, 1353495.166 1382579.274 0,
+ 1353245.214 1382558.475 0, 1352995.262 1382537.691 0, 1352745.308 1382516.922 0, 1352495.352 1382496.167 0, 1352245.396 1382475.428 0, 1351995.438 1382454.702 0, 1351745.479 1382433.992 0, 1351495.519 1382413.296 0, 1351245.557 1382392.615 0, 1350995.595 1382371.949 0,
+ 1350745.631 1382351.298 0, 1350495.666 1382330.661 0, 1350245.7 1382310.039 0, 1349995.732 1382289.431 0, 1349745.764 1382268.838 0, 1349495.794 1382248.26 0, 1349245.823 1382227.697 0, 1348995.85 1382207.149 0, 1348744.723 1382186.52 0, 1348288.377 1387743.976 0,
+ 1347832.05 1393301.204 0, 1348082.52 1393321.779 0, 1348331.838 1393342.274 0, 1348581.155 1393362.783 0, 1348830.471 1393383.307 0, 1349079.785 1393403.846 0, 1349329.098 1393424.4 0, 1349578.411 1393444.968 0, 1349827.721 1393465.551 0, 1350077.031 1393486.148 0,
+ 1350326.34 1393506.76 0, 1350575.647 1393527.387 0, 1350824.953 1393548.029 0, 1351074.258 1393568.685 0, 1351323.561 1393589.356 0, 1351572.864 1393610.041 0, 1351822.165 1393630.741 0, 1352071.465 1393651.456 0, 1352320.763 1393672.186 0, 1352570.061 1393692.93 0,
+ 1352819.357 1393713.689 0, 1353068.652 1393734.463 0, 1353317.946 1393755.251 0, 1353567.239 1393776.054 0, 1353815.38 1393796.775 0, 1354065.82 1393817.704 0, 1354315.109 1393838.551 0, 1354564.397 1393859.412 0, 1354813.683 1393880.289 0, 1355062.969 1393901.18 0,
+ 1355312.253 1393922.085 0, 1355561.535 1393943.005 0, 1355810.817 1393963.94 0, 1356060.097 1393984.89 0, 1356309.376 1394005.854 0, 1356558.654 1394026.833 0, 1356807.931 1394047.827 0, 1357057.206 1394068.835 0, 1357306.48 1394089.858 0, 1357555.753 1394110.896 0,
+ 1357805.025 1394131.949 0, 1358054.295 1394153.016 0, 1358303.564 1394174.097 0, 1358552.832 1394195.194 0, 1358802.099 1394216.305 0, 1359051.365 1394237.43 0, 1359300.629 1394258.571 0, 1359549.892 1394279.726 0, 1359798.005 1394300.798 0, 1360270.031 1388744.881 0,
+ 1360742.075 1383188.737 0))
+
+POLYGON ((656750.298 777486.545 0, 656466.17 777506.655 0, 656180.606 777526.883 0, 655895.043 777547.128 0, 655609.482 777567.39 0, 655323.922 777587.668 0, 655038.362 777607.964 0, 654752.805 777628.276 0, 654467.248 777648.605 0, 654181.693 777668.951 0,
+ 653896.138 777689.313 0, 653610.585 777709.693 0, 653325.033 777730.089 0, 653039.483 777750.502 0, 652753.933 777770.932 0, 652468.385 777791.378 0, 652182.838 777811.842 0, 651897.292 777832.322 0, 651611.748 777852.819 0, 651326.204 777873.333 0,
+ 651040.662 777893.863 0, 650755.121 777914.411 0, 650469.581 777934.975 0, 650184.043 777955.556 0, 649897.068 777976.258 0, 649612.969 777996.769 0, 649327.434 778017.4 0, 649041.901 778038.048 0, 648756.368 778058.714 0, 648470.837 778079.395 0,
+ 648185.307 778100.094 0, 647899.778 778120.81 0, 647614.25 778141.542 0, 647328.724 778162.291 0, 647043.199 778183.057 0, 646757.675 778203.84 0, 646472.152 778224.639 0, 646186.63 778245.456 0, 645901.11 778266.289 0, 645615.591 778287.139 0,
+ 645330.073 778308.006 0, 645044.557 778328.889 0, 644759.041 778349.79 0, 644473.527 778370.707 0, 644188.014 778391.641 0, 643902.503 778412.591 0, 643616.992 778433.559 0, 643331.483 778454.543 0, 643044.536 778475.651 0, 643453.563 784034.048 0,
+ 643862.608 789592.689 0, 644148.897 789571.63 0, 644433.752 789550.694 0, 644718.608 789529.774 0, 645003.465 789508.871 0, 645288.324 789487.985 0, 645573.184 789467.116 0, 645858.045 789446.263 0, 646142.907 789425.428 0, 646427.771 789404.609 0,
+ 646712.635 789383.807 0, 646997.501 789363.021 0, 647282.368 789342.253 0, 647567.237 789321.501 0, 647852.106 789300.766 0, 648136.977 789280.047 0, 648421.849 789259.346 0, 648706.722 789238.661 0, 648991.597 789217.993 0, 649276.473 789197.342 0,
+ 649561.35 789176.707 0, 649846.228 789156.089 0, 650131.107 789135.488 0, 650415.988 789114.904 0, 650699.435 789094.44 0, 650985.752 789073.786 0, 651270.636 789053.252 0, 651555.522 789032.735 0, 651840.408 789012.235 0, 652125.296 788991.751 0,
+ 652410.185 788971.284 0, 652695.075 788950.834 0, 652979.967 788930.401 0, 653264.859 788909.984 0, 653549.753 788889.585 0, 653834.648 788869.202 0, 654119.544 788848.835 0, 654404.442 788828.486 0, 654689.34 788808.153 0, 654974.24 788787.837 0,
+ 655259.141 788767.538 0, 655544.043 788747.256 0, 655828.947 788726.99 0, 656113.851 788706.741 0, 656398.757 788686.509 0, 656683.664 788666.294 0, 656968.572 788646.095 0, 657253.482 788625.914 0, 657536.959 788605.85 0, 657143.62 783046.076 0,
+ 656750.298 777486.545 0))
+
+POLYGON ((671214.043 787657.648 0, 670930.508 787676.911 0, 670645.543 787696.288 0, 670360.579 787715.681 0, 670075.616 787735.092 0, 669790.654 787754.519 0, 669505.693 787773.962 0, 669220.734 787793.423 0, 668935.775 787812.9 0, 668650.818 787832.395 0,
+ 668365.862 787851.906 0, 668080.907 787871.433 0, 667795.953 787890.978 0, 667511.001 787910.539 0, 667226.049 787930.117 0, 666941.099 787949.712 0, 666656.15 787969.323 0, 666371.202 787988.952 0, 666086.255 788008.597 0, 665801.309 788028.259 0,
+ 665516.365 788047.937 0, 665231.421 788067.633 0, 664946.479 788087.345 0, 664661.538 788107.074 0, 664375.166 788126.919 0, 664091.66 788146.582 0, 663806.722 788166.362 0, 663521.786 788186.158 0, 663236.85 788205.97 0, 662951.916 788225.8 0,
+ 662666.983 788245.646 0, 662382.052 788265.51 0, 662097.121 788285.389 0, 661812.192 788305.286 0, 661527.264 788325.2 0, 661242.337 788345.13 0, 660957.411 788365.077 0, 660672.486 788385.041 0, 660387.562 788405.021 0, 660102.64 788425.018 0,
+ 659817.719 788445.032 0, 659532.799 788465.063 0, 659247.88 788485.111 0, 658962.963 788505.175 0, 658678.046 788525.256 0, 658393.131 788545.354 0, 658108.217 788565.469 0, 657823.304 788585.6 0, 657536.959 788605.85 0, 657930.315 794165.863 0,
+ 658323.687 799726.111 0, 658609.375 799705.908 0, 658893.633 799685.823 0, 659177.892 799665.755 0, 659462.153 799645.703 0, 659746.415 799625.668 0, 660030.678 799605.65 0, 660314.943 799585.648 0, 660599.208 799565.663 0, 660883.475 799545.695 0,
+ 661167.742 799525.744 0, 661452.011 799505.809 0, 661736.282 799485.891 0, 662020.553 799465.99 0, 662304.825 799446.106 0, 662589.099 799426.238 0, 662873.374 799406.387 0, 663157.65 799386.553 0, 663441.927 799366.735 0, 663726.205 799346.934 0,
+ 664010.485 799327.15 0, 664294.765 799307.383 0, 664579.047 799287.632 0, 664863.33 799267.899 0, 665146.185 799248.281 0, 665431.9 799228.481 0, 665716.186 799208.798 0, 666000.474 799189.131 0, 666284.763 799169.48 0, 666569.052 799149.847 0,
+ 666853.344 799130.23 0, 667137.636 799110.63 0, 667421.929 799091.047 0, 667706.224 799071.48 0, 667990.519 799051.931 0, 668274.816 799032.398 0, 668559.114 799012.881 0, 668843.413 798993.382 0, 669127.714 798973.899 0, 669412.015 798954.433 0,
+ 669696.318 798934.983 0, 669980.622 798915.551 0, 670264.926 798896.135 0, 670549.232 798876.736 0, 670833.54 798857.353 0, 671117.848 798837.987 0, 671402.157 798818.638 0, 671686.468 798799.306 0, 671969.352 798780.088 0, 671591.689 793218.75 0,
+ 671214.043 787657.648 0))
+
+POLYGON ((770768.386 860067.547 0, 770489.076 860080.98 0, 770208.372 860094.497 0, 769927.669 860108.03 0, 769646.967 860121.58 0, 769366.265 860135.147 0, 769085.565 860148.729 0, 768804.865 860162.329 0, 768524.166 860175.945 0, 768243.468 860189.577 0,
+ 767962.77 860203.226 0, 767682.074 860216.892 0, 767401.378 860230.574 0, 767120.683 860244.272 0, 766839.989 860257.987 0, 766559.295 860271.719 0, 766278.603 860285.467 0, 765997.911 860299.232 0, 765717.22 860313.013 0, 765436.53 860326.811 0,
+ 765155.84 860340.625 0, 764875.152 860354.456 0, 764594.464 860368.303 0, 764313.777 860382.167 0, 764031.695 860396.116 0, 763752.406 860409.944 0, 763471.721 860423.857 0, 763191.038 860437.787 0, 762910.355 860451.733 0, 762629.673 860465.696 0,
+ 762348.992 860479.675 0, 762068.311 860493.671 0, 761787.632 860507.684 0, 761506.953 860521.713 0, 761226.275 860535.758 0, 760945.598 860549.82 0, 760664.922 860563.899 0, 760384.247 860577.994 0, 760103.572 860592.105 0, 759822.898 860606.234 0,
+ 759542.225 860620.378 0, 759261.553 860634.539 0, 758980.882 860648.717 0, 758700.212 860662.911 0, 758419.542 860677.122 0, 758138.873 860691.349 0, 757858.206 860705.593 0, 757577.538 860719.853 0, 757295.475 860734.201 0, 757578.956 866303.874 0,
+ 757862.447 871873.732 0, 758143.851 871859.418 0, 758423.862 871845.191 0, 758703.874 871830.981 0, 758983.887 871816.787 0, 759263.901 871802.609 0, 759543.916 871788.448 0, 759823.932 871774.304 0, 760103.948 871760.176 0, 760383.965 871746.064 0,
+ 760663.983 871731.969 0, 760944.002 871717.89 0, 761224.022 871703.828 0, 761504.042 871689.783 0, 761784.064 871675.753 0, 762064.086 871661.741 0, 762344.109 871647.745 0, 762624.133 871633.765 0, 762904.157 871619.802 0, 763184.183 871605.855 0,
+ 763464.209 871591.925 0, 763744.236 871578.011 0, 764024.264 871564.114 0, 764304.293 871550.233 0, 764582.93 871536.437 0, 764864.353 871522.521 0, 765144.384 871508.689 0, 765424.416 871494.874 0, 765704.449 871481.076 0, 765984.483 871467.294 0,
+ 766264.517 871453.528 0, 766544.552 871439.78 0, 766824.589 871426.047 0, 767104.625 871412.331 0, 767384.663 871398.632 0, 767664.702 871384.948 0, 767944.741 871371.282 0, 768224.781 871357.632 0, 768504.822 871343.998 0, 768784.864 871330.381 0,
+ 769064.906 871316.781 0, 769344.949 871303.196 0, 769624.994 871289.629 0, 769905.038 871276.078 0, 770185.084 871262.543 0, 770465.131 871249.025 0, 770745.178 871235.523 0, 771025.226 871222.038 0, 771303.883 871208.636 0, 771036.13 865637.999 0,
+ 770768.386 860067.547 0))
+
+POLYGON ((784747.146 870581.516 0, 784468.449 870594.131 0, 784188.364 870606.825 0, 783908.28 870619.536 0, 783628.196 870632.263 0, 783348.114 870645.006 0, 783068.031 870657.766 0, 782787.95 870670.542 0, 782507.87 870683.335 0, 782227.79 870696.145 0,
+ 781947.711 870708.971 0, 781667.632 870721.813 0, 781387.555 870734.672 0, 781107.478 870747.547 0, 780827.402 870760.439 0, 780547.327 870773.347 0, 780267.252 870786.272 0, 779987.178 870799.213 0, 779707.105 870812.171 0, 779427.033 870825.145 0,
+ 779146.962 870838.136 0, 778866.891 870851.143 0, 778586.821 870864.167 0, 778306.752 870877.207 0, 778025.293 870890.329 0, 777746.616 870903.337 0, 777466.549 870916.427 0, 777186.483 870929.533 0, 776906.418 870942.655 0, 776626.353 870955.794 0,
+ 776346.289 870968.95 0, 776066.226 870982.122 0, 775786.164 870995.311 0, 775506.103 871008.516 0, 775226.042 871021.737 0, 774945.982 871034.975 0, 774665.923 871048.23 0, 774385.865 871061.5 0, 774105.807 871074.788 0, 773825.75 871088.092 0,
+ 773545.694 871101.412 0, 773265.639 871114.749 0, 772985.585 871128.103 0, 772705.531 871141.472 0, 772425.478 871154.859 0, 772145.426 871168.262 0, 771865.375 871181.681 0, 771585.325 871195.117 0, 771303.883 871208.636 0, 771571.645 876779.453 0,
+ 771839.416 882350.447 0, 772120.198 882336.959 0, 772399.593 882323.555 0, 772678.988 882310.167 0, 772958.384 882296.796 0, 773237.781 882283.441 0, 773517.179 882270.102 0, 773796.578 882256.78 0, 774075.977 882243.474 0, 774355.377 882230.185 0,
+ 774634.778 882216.912 0, 774914.18 882203.656 0, 775193.583 882190.416 0, 775472.986 882177.193 0, 775752.39 882163.986 0, 776031.795 882150.795 0, 776311.2 882137.621 0, 776590.607 882124.464 0, 776870.014 882111.322 0, 777149.422 882098.198 0,
+ 777428.831 882085.089 0, 777708.24 882071.997 0, 777987.65 882058.922 0, 778267.062 882045.863 0, 778545.086 882032.885 0, 778825.886 882019.794 0, 779105.299 882006.785 0, 779384.713 881993.791 0, 779664.128 881980.815 0, 779943.544 881967.854 0,
+ 780222.96 881954.911 0, 780502.377 881941.983 0, 780781.795 881929.072 0, 781061.214 881916.178 0, 781340.633 881903.3 0, 781620.054 881890.438 0, 781899.474 881877.593 0, 782178.896 881864.764 0, 782458.319 881851.952 0, 782737.742 881839.156 0,
+ 783017.166 881826.376 0, 783296.591 881813.613 0, 783576.016 881800.867 0, 783855.442 881788.137 0, 784134.869 881775.423 0, 784414.297 881762.726 0, 784693.725 881750.045 0, 784973.155 881737.381 0, 785251.198 881724.796 0, 784999.168 876153.068 0,
+ 784747.146 870581.516 0))
+
+POLYGON ((798664.695 881137.038 0, 798386.614 881148.838 0, 798107.15 881160.713 0, 797827.687 881172.604 0, 797548.225 881184.512 0, 797268.763 881196.436 0, 796989.302 881208.376 0, 796709.842 881220.333 0, 796430.382 881232.307 0, 796150.923 881244.297 0,
+ 795871.465 881256.303 0, 795592.007 881268.326 0, 795312.55 881280.365 0, 795033.094 881292.421 0, 794753.639 881304.493 0, 794474.184 881316.582 0, 794194.73 881328.687 0, 793915.277 881340.808 0, 793635.824 881352.946 0, 793356.373 881365.101 0,
+ 793076.921 881377.272 0, 792797.471 881389.459 0, 792518.021 881401.663 0, 792238.572 881413.883 0, 791957.739 881426.18 0, 791679.677 881438.373 0, 791400.23 881450.642 0, 791120.784 881462.928 0, 790841.338 881475.231 0, 790561.894 881487.549 0,
+ 790282.45 881499.885 0, 790003.007 881512.237 0, 789723.564 881524.605 0, 789444.122 881536.989 0, 789164.681 881549.391 0, 788885.241 881561.808 0, 788605.802 881574.242 0, 788326.363 881586.693 0, 788046.925 881599.16 0, 787767.487 881611.643 0,
+ 787488.051 881624.143 0, 787208.615 881636.659 0, 786929.18 881649.192 0, 786649.745 881661.741 0, 786370.312 881674.306 0, 786090.879 881686.888 0, 785811.447 881699.487 0, 785532.015 881712.102 0, 785251.198 881724.796 0, 785503.236 887296.697 0,
+ 785755.282 892868.767 0, 786035.44 892856.103 0, 786314.215 892843.518 0, 786592.992 892830.949 0, 786871.769 892818.396 0, 787150.546 892805.86 0, 787429.325 892793.341 0, 787708.104 892780.837 0, 787986.884 892768.351 0, 788265.665 892755.88 0,
+ 788544.446 892743.426 0, 788823.228 892730.988 0, 789102.011 892718.567 0, 789380.795 892706.162 0, 789659.579 892693.774 0, 789938.364 892681.402 0, 790217.15 892669.046 0, 790495.936 892656.707 0, 790774.724 892644.384 0, 791053.512 892632.078 0,
+ 791332.3 892619.788 0, 791611.09 892607.514 0, 791889.88 892595.257 0, 792168.671 892583.016 0, 792446.08 892570.853 0, 792726.255 892558.584 0, 793005.048 892546.393 0, 793283.841 892534.218 0, 793562.636 892522.059 0, 793841.431 892509.917 0,
+ 794120.227 892497.791 0, 794399.024 892485.681 0, 794677.821 892473.588 0, 794956.619 892461.511 0, 795235.418 892449.451 0, 795514.217 892437.407 0, 795793.017 892425.38 0, 796071.818 892413.369 0, 796350.62 892401.374 0, 796629.422 892389.396 0,
+ 796908.225 892377.434 0, 797187.028 892365.489 0, 797465.833 892353.56 0, 797744.638 892341.648 0, 798023.444 892329.751 0, 798302.25 892317.872 0, 798581.057 892306.008 0, 798859.865 892294.161 0, 799137.293 892282.389 0, 798900.99 886709.629 0,
+ 798664.695 881137.038 0))
+
+POLYGON ((812520.907 891733.82 0, 812243.445 891744.809 0, 811964.605 891755.868 0, 811685.765 891766.943 0, 811406.926 891778.035 0, 811128.088 891789.144 0, 810849.25 891800.269 0, 810570.413 891811.41 0, 810291.577 891822.567 0, 810012.741 891833.742 0,
+ 809733.906 891844.932 0, 809455.072 891856.139 0, 809176.238 891867.362 0, 808897.405 891878.602 0, 808618.573 891889.858 0, 808339.741 891901.131 0, 808060.91 891912.42 0, 807782.08 891923.725 0, 807503.25 891935.047 0, 807224.421 891946.385 0,
+ 806945.593 891957.739 0, 806666.765 891969.11 0, 806387.938 891980.498 0, 806109.112 891991.902 0, 805828.906 892003.379 0, 805551.461 892014.759 0, 805272.637 892026.212 0, 804993.813 892037.681 0, 804714.99 892049.167 0, 804436.168 892060.669 0,
+ 804157.346 892072.188 0, 803878.525 892083.723 0, 803599.705 892095.275 0, 803320.885 892106.843 0, 803042.066 892118.427 0, 802763.248 892130.028 0, 802484.431 892141.645 0, 802205.614 892153.278 0, 801926.798 892164.928 0, 801647.982 892176.595 0,
+ 801369.167 892188.278 0, 801090.353 892199.977 0, 800811.54 892211.692 0, 800532.727 892223.425 0, 800253.915 892235.173 0, 799975.104 892246.938 0, 799696.293 892258.719 0, 799417.483 892270.517 0, 799137.293 892282.389 0, 799373.602 897855.315 0,
+ 799609.919 903428.402 0, 799889.45 903416.557 0, 800167.604 903404.787 0, 800445.759 903393.034 0, 800723.914 903381.297 0, 801002.07 903369.576 0, 801280.227 903357.871 0, 801558.384 903346.183 0, 801836.542 903334.512 0, 802114.701 903322.856 0,
+ 802392.86 903311.217 0, 802671.02 903299.595 0, 802949.181 903287.989 0, 803227.343 903276.399 0, 803505.505 903264.825 0, 803783.668 903253.268 0, 804061.831 903241.727 0, 804339.995 903230.203 0, 804618.16 903218.695 0, 804896.326 903207.204 0,
+ 805174.492 903195.728 0, 805452.659 903184.269 0, 805730.827 903172.827 0, 806008.995 903161.401 0, 806285.787 903150.048 0, 806565.333 903138.598 0, 806843.504 903127.221 0, 807121.675 903115.86 0, 807399.846 903104.516 0, 807678.018 903093.188 0,
+ 807956.191 903081.876 0, 808234.365 903070.581 0, 808512.539 903059.303 0, 808790.714 903048.04 0, 809068.89 903036.794 0, 809347.066 903025.565 0, 809625.243 903014.351 0, 809903.421 903003.154 0, 810181.599 902991.974 0, 810459.778 902980.81 0,
+ 810737.957 902969.662 0, 811016.138 902958.531 0, 811294.318 902947.416 0, 811572.5 902936.317 0, 811850.682 902925.235 0, 812128.865 902914.169 0, 812407.048 902903.119 0, 812685.233 902892.086 0, 812962.041 902881.124 0, 812741.471 897307.391 0,
+ 812520.907 891733.82 0))
+
+POLYGON ((826315.657 902371.57 0, 826038.816 902381.75 0, 825760.602 902391.997 0, 825482.388 902402.261 0, 825204.175 902412.541 0, 824925.963 902422.837 0, 824647.751 902433.15 0, 824369.54 902443.479 0, 824091.329 902453.824 0, 823813.119 902464.186 0,
+ 823534.91 902474.564 0, 823256.701 902484.959 0, 822978.493 902495.37 0, 822700.286 902505.797 0, 822422.079 902516.241 0, 822143.873 902526.701 0, 821865.667 902537.177 0, 821587.462 902547.67 0, 821309.257 902558.179 0, 821031.054 902568.705 0,
+ 820752.851 902579.247 0, 820474.648 902589.805 0, 820196.446 902600.38 0, 819918.245 902610.971 0, 819638.669 902621.631 0, 819361.844 902632.202 0, 819083.645 902642.842 0, 818805.446 902653.499 0, 818527.248 902664.172 0, 818249.05 902674.861 0,
+ 817970.853 902685.567 0, 817692.657 902696.289 0, 817414.461 902707.027 0, 817136.266 902717.782 0, 816858.072 902728.553 0, 816579.878 902739.341 0, 816301.685 902750.145 0, 816023.492 902760.965 0, 815745.3 902771.802 0, 815467.109 902782.655 0,
+ 815188.919 902793.524 0, 814910.729 902804.41 0, 814632.539 902815.312 0, 814354.351 902826.231 0, 814076.163 902837.166 0, 813797.975 902848.117 0, 813519.789 902859.085 0, 813241.603 902870.069 0, 812962.041 902881.124 0, 813182.618 908455.014 0,
+ 813403.201 914029.058 0, 813682.103 914018.029 0, 813959.633 914007.071 0, 814237.164 913996.129 0, 814514.695 913985.203 0, 814792.227 913974.294 0, 815069.759 913963.401 0, 815347.292 913952.525 0, 815624.826 913941.665 0, 815902.36 913930.821 0,
+ 816179.895 913919.994 0, 816457.431 913909.183 0, 816734.967 913898.388 0, 817012.504 913887.609 0, 817290.042 913876.847 0, 817567.58 913866.101 0, 817845.119 913855.372 0, 818122.659 913844.659 0, 818400.199 913833.962 0, 818677.739 913823.282 0,
+ 818955.281 913812.618 0, 819232.823 913801.97 0, 819510.365 913791.338 0, 819787.909 913780.723 0, 820064.081 913770.177 0, 820342.997 913759.542 0, 820620.542 913748.976 0, 820898.088 913738.426 0, 821175.634 913727.893 0, 821453.181 913717.376 0,
+ 821730.729 913706.875 0, 822008.277 913696.391 0, 822285.826 913685.923 0, 822563.375 913675.471 0, 822840.926 913665.035 0, 823118.476 913654.616 0, 823396.027 913644.214 0, 823673.579 913633.827 0, 823951.132 913623.457 0, 824228.685 913613.103 0,
+ 824506.239 913602.766 0, 824783.793 913592.445 0, 825061.348 913582.14 0, 825338.904 913571.852 0, 825616.46 913561.58 0, 825894.017 913551.324 0, 826171.574 913541.085 0, 826449.132 913530.862 0, 826725.32 913520.705 0, 826520.485 907946.061 0,
+ 826315.657 902371.57 0))
+
+POLYGON ((840048.822 913049.993 0, 839772.604 913059.369 0, 839495.018 913068.808 0, 839217.433 913078.263 0, 838939.848 913087.734 0, 838662.264 913097.222 0, 838384.681 913106.726 0, 838107.098 913116.247 0, 837829.515 913125.784 0, 837551.934 913135.337 0,
+ 837274.352 913144.907 0, 836996.772 913154.492 0, 836719.191 913164.095 0, 836441.612 913173.713 0, 836164.033 913183.348 0, 835886.454 913192.999 0, 835608.877 913202.667 0, 835331.299 913212.351 0, 835053.722 913222.051 0, 834776.146 913231.768 0,
+ 834498.571 913241.501 0, 834220.996 913251.25 0, 833943.421 913261.015 0, 833665.847 913270.797 0, 833386.904 913280.644 0, 833110.701 913290.41 0, 832833.129 913300.241 0, 832555.558 913310.088 0, 832277.987 913319.952 0, 832000.416 913329.832 0,
+ 831722.847 913339.728 0, 831445.277 913349.641 0, 831167.709 913359.57 0, 830890.141 913369.515 0, 830612.573 913379.477 0, 830335.006 913389.455 0, 830057.44 913399.449 0, 829779.874 913409.46 0, 829502.309 913419.487 0, 829224.745 913429.53 0,
+ 828947.181 913439.59 0, 828669.617 913449.666 0, 828392.054 913459.758 0, 828114.492 913469.867 0, 827836.931 913479.992 0, 827559.37 913490.133 0, 827281.809 913500.291 0, 827004.25 913510.465 0, 826725.32 913520.705 0, 826930.16 919095.5 0,
+ 827135.005 924670.441 0, 827413.275 924660.225 0, 827690.179 924650.075 0, 827967.083 924639.941 0, 828243.988 924629.824 0, 828520.893 924619.722 0, 828797.799 924609.638 0, 829074.705 924599.569 0, 829351.612 924589.517 0, 829628.52 924579.481 0,
+ 829905.428 924569.462 0, 830182.337 924559.458 0, 830459.247 924549.471 0, 830736.157 924539.501 0, 831013.067 924529.546 0, 831289.978 924519.608 0, 831566.89 924509.686 0, 831843.803 924499.781 0, 832120.716 924489.892 0, 832397.629 924480.019 0,
+ 832674.543 924470.162 0, 832951.458 924460.322 0, 833228.373 924450.498 0, 833505.289 924440.69 0, 833780.839 924430.947 0, 834059.123 924421.124 0, 834336.04 924411.365 0, 834612.958 924401.622 0, 834889.877 924391.896 0, 835166.796 924382.186 0,
+ 835443.716 924372.493 0, 835720.637 924362.815 0, 835997.558 924353.154 0, 836274.479 924343.51 0, 836551.401 924333.881 0, 836828.324 924324.269 0, 837105.247 924314.673 0, 837382.171 924305.094 0, 837659.096 924295.531 0, 837936.021 924285.984 0,
+ 838212.946 924276.453 0, 838489.872 924266.939 0, 838766.799 924257.441 0, 839043.726 924247.959 0, 839320.654 924238.494 0, 839597.582 924229.045 0, 839874.511 924219.612 0, 840151.44 924210.195 0, 840427.005 924200.841 0, 840237.911 918625.344 0,
+ 840048.822 913049.993 0))
+
+POLYGON ((853720.279 923768.796 0, 853444.687 923777.371 0, 853167.732 923786.005 0, 852890.777 923794.656 0, 852613.823 923803.322 0, 852336.87 923812.005 0, 852059.917 923820.705 0, 851782.965 923829.42 0, 851506.013 923838.152 0, 851229.062 923846.9 0,
+ 850952.111 923855.665 0, 850675.16 923864.446 0, 850398.211 923873.243 0, 850121.261 923882.056 0, 849844.313 923890.886 0, 849567.364 923899.732 0, 849290.417 923908.594 0, 849013.469 923917.473 0, 848736.523 923926.368 0, 848459.577 923935.279 0,
+ 848182.631 923944.207 0, 847905.686 923953.15 0, 847628.741 923962.111 0, 847351.797 923971.087 0, 847073.489 923980.124 0, 846797.911 923989.089 0, 846520.968 923998.114 0, 846244.026 924007.156 0, 845967.085 924016.214 0, 845690.144 924025.288 0,
+ 845413.204 924034.378 0, 845136.264 924043.485 0, 844859.325 924052.608 0, 844582.386 924061.748 0, 844305.448 924070.903 0, 844028.51 924080.075 0, 843751.573 924089.264 0, 843474.636 924098.468 0, 843197.7 924107.689 0, 842920.765 924116.926 0,
+ 842643.83 924126.18 0, 842366.896 924135.45 0, 842089.962 924144.736 0, 841813.029 924154.038 0, 841536.096 924163.357 0, 841259.164 924172.692 0, 840982.232 924182.043 0, 840705.301 924191.411 0, 840427.005 924200.841 0, 840616.104 929776.481 0,
+ 840805.208 935352.258 0, 841082.844 935342.85 0, 841359.119 935333.505 0, 841635.394 935324.176 0, 841911.67 935314.863 0, 842187.946 935305.566 0, 842464.223 935296.286 0, 842740.501 935287.022 0, 843016.779 935277.774 0, 843293.057 935268.542 0,
+ 843569.336 935259.327 0, 843845.616 935250.128 0, 844121.896 935240.945 0, 844398.177 935231.779 0, 844674.458 935222.628 0, 844950.74 935213.494 0, 845227.022 935204.377 0, 845503.305 935195.275 0, 845779.589 935186.19 0, 846055.873 935177.121 0,
+ 846332.157 935168.068 0, 846608.442 935159.032 0, 846884.728 935150.011 0, 847161.014 935141.008 0, 847435.939 935132.064 0, 847713.587 935123.048 0, 847989.875 935114.093 0, 848266.163 935105.154 0, 848542.452 935096.232 0, 848818.741 935087.325 0,
+ 849095.031 935078.435 0, 849371.321 935069.562 0, 849647.612 935060.704 0, 849923.903 935051.863 0, 850200.195 935043.038 0, 850476.488 935034.229 0, 850752.781 935025.436 0, 851029.074 935016.66 0, 851305.368 935007.9 0, 851581.662 934999.156 0,
+ 851857.957 934990.429 0, 852134.253 934981.718 0, 852410.549 934973.023 0, 852686.845 934964.344 0, 852963.142 934955.681 0, 853239.44 934947.035 0, 853515.738 934938.405 0, 853792.036 934929.792 0, 854066.975 934921.237 0, 853893.625 929344.947 0,
+ 853720.279 923768.796 0))
+
+POLYGON ((867329.907 934527.684 0, 867054.943 934535.462 0, 866778.622 934543.295 0, 866502.3 934551.144 0, 866225.979 934559.01 0, 865949.659 934566.892 0, 865673.339 934574.79 0, 865397.02 934582.704 0, 865120.701 934590.635 0, 864844.382 934598.582 0,
+ 864568.064 934606.545 0, 864291.747 934614.524 0, 864015.43 934622.52 0, 863739.113 934630.532 0, 863462.797 934638.56 0, 863186.481 934646.604 0, 862910.166 934654.665 0, 862633.851 934662.742 0, 862357.537 934670.835 0, 862081.223 934678.945 0,
+ 861804.91 934687.07 0, 861528.597 934695.212 0, 861252.285 934703.371 0, 860975.973 934711.545 0, 860698.302 934719.776 0, 860423.351 934727.943 0, 860147.04 934736.167 0, 859870.73 934744.406 0, 859594.421 934752.662 0, 859318.112 934760.934 0,
+ 859041.803 934769.222 0, 858765.495 934777.527 0, 858489.188 934785.848 0, 858212.881 934794.185 0, 857936.574 934802.539 0, 857660.268 934810.908 0, 857383.963 934819.294 0, 857107.658 934827.697 0, 856831.353 934836.115 0, 856555.049 934844.55 0,
+ 856278.746 934853.001 0, 856002.443 934861.468 0, 855726.14 934869.952 0, 855449.838 934878.451 0, 855173.536 934886.968 0, 854897.235 934895.5 0, 854620.935 934904.048 0, 854344.635 934912.613 0, 854066.975 934921.237 0, 854240.33 940497.661 0,
+ 854413.688 946074.215 0, 854690.688 946065.612 0, 854966.332 946057.067 0, 855241.976 946048.539 0, 855517.621 946040.027 0, 855793.266 946031.531 0, 856068.911 946023.052 0, 856344.557 946014.588 0, 856620.204 946006.141 0, 856895.851 945997.71 0,
+ 857171.499 945989.295 0, 857447.147 945980.897 0, 857722.795 945972.515 0, 857998.444 945964.149 0, 858274.094 945955.799 0, 858549.744 945947.465 0, 858825.394 945939.148 0, 859101.046 945930.847 0, 859376.697 945922.562 0, 859652.349 945914.293 0,
+ 859928.002 945906.041 0, 860203.655 945897.804 0, 860479.308 945889.584 0, 860754.962 945881.38 0, 861029.26 945873.233 0, 861306.271 945865.022 0, 861581.927 945856.866 0, 861857.583 945848.728 0, 862133.239 945840.605 0, 862408.896 945832.498 0,
+ 862684.553 945824.408 0, 862960.211 945816.334 0, 863235.869 945808.276 0, 863511.528 945800.235 0, 863787.187 945792.21 0, 864062.847 945784.2 0, 864338.507 945776.208 0, 864614.167 945768.231 0, 864889.828 945760.27 0, 865165.49 945752.326 0,
+ 865441.152 945744.398 0, 865716.814 945736.487 0, 865992.477 945728.591 0, 866268.141 945720.712 0, 866543.805 945712.849 0, 866819.469 945705.002 0, 867095.134 945697.171 0, 867370.799 945689.357 0, 867645.11 945681.597 0, 867487.507 940104.575 0,
+ 867329.907 934527.684 0))
+
+POLYGON ((880877.588 945326.362 0, 880603.254 945333.347 0, 880327.568 945340.382 0, 880051.882 945347.434 0, 879776.197 945354.502 0, 879500.512 945361.586 0, 879224.827 945368.687 0, 878949.143 945375.803 0, 878673.459 945382.936 0, 878397.776 945390.085 0,
+ 878122.093 945397.251 0, 877846.411 945404.432 0, 877570.729 945411.63 0, 877295.047 945418.844 0, 877019.366 945426.075 0, 876743.685 945433.321 0, 876468.005 945440.584 0, 876192.325 945447.863 0, 875916.645 945455.158 0, 875640.966 945462.469 0,
+ 875365.288 945469.797 0, 875089.609 945477.141 0, 874813.932 945484.501 0, 874538.254 945491.877 0, 874261.223 945499.306 0, 873986.901 945506.679 0, 873711.225 945514.104 0, 873435.549 945521.545 0, 873159.874 945529.002 0, 872884.199 945536.476 0,
+ 872608.525 945543.966 0, 872332.851 945551.472 0, 872057.178 945558.994 0, 871781.505 945566.533 0, 871505.833 945574.088 0, 871230.161 945581.659 0, 870954.489 945589.246 0, 870678.818 945596.849 0, 870403.147 945604.469 0, 870127.477 945612.105 0,
+ 869851.807 945619.757 0, 869576.138 945627.426 0, 869300.469 945635.11 0, 869024.8 945642.811 0, 868749.132 945650.528 0, 868473.465 945658.261 0, 868197.798 945666.011 0, 867922.131 945673.777 0, 867645.11 945681.597 0, 867802.717 951258.745 0,
+ 867960.327 956836.015 0, 868236.688 956828.214 0, 868511.698 956820.467 0, 868786.709 956812.735 0, 869061.72 956805.021 0, 869336.731 956797.322 0, 869611.743 956789.639 0, 869886.756 956781.973 0, 870161.768 956774.323 0, 870436.782 956766.689 0,
+ 870711.795 956759.071 0, 870986.81 956751.47 0, 871261.824 956743.884 0, 871536.839 956736.315 0, 871811.855 956728.762 0, 872086.871 956721.225 0, 872361.887 956713.705 0, 872636.904 956706.2 0, 872911.921 956698.712 0, 873186.939 956691.24 0,
+ 873461.957 956683.784 0, 873736.976 956676.345 0, 874011.995 956668.921 0, 874287.014 956661.514 0, 874560.683 956654.159 0, 874837.054 956646.748 0, 875112.075 956639.389 0, 875387.096 956632.046 0, 875662.118 956624.72 0, 875937.14 956617.41 0,
+ 876212.163 956610.116 0, 876487.185 956602.838 0, 876762.209 956595.576 0, 877037.233 956588.331 0, 877312.257 956581.102 0, 877587.281 956573.889 0, 877862.307 956566.692 0, 878137.332 956559.511 0, 878412.358 956552.347 0, 878687.384 956545.198 0,
+ 878962.411 956538.066 0, 879237.438 956530.95 0, 879512.466 956523.85 0, 879787.494 956516.767 0, 880062.522 956509.699 0, 880337.551 956502.648 0, 880612.58 956495.613 0, 880887.61 956488.594 0, 881161.29 956481.626 0, 881019.438 950903.933 0,
+ 880877.588 945326.362 0))
+
+POLYGON ((894363.202 956164.534 0, 894089.501 956170.729 0, 893814.453 956176.97 0, 893539.405 956183.228 0, 893264.357 956189.503 0, 892989.31 956195.793 0, 892714.263 956202.099 0, 892439.216 956208.422 0, 892164.17 956214.761 0, 891889.124 956221.116 0,
+ 891614.079 956227.487 0, 891339.034 956233.875 0, 891063.989 956240.279 0, 890788.945 956246.698 0, 890513.901 956253.134 0, 890238.858 956259.587 0, 889963.814 956266.055 0, 889688.772 956272.54 0, 889413.729 956279.041 0, 889138.687 956285.558 0,
+ 888863.646 956292.091 0, 888588.604 956298.64 0, 888313.564 956305.206 0, 888038.523 956311.787 0, 887762.134 956318.418 0, 887488.443 956324.999 0, 887213.404 956331.63 0, 886938.365 956338.276 0, 886663.327 956344.939 0, 886388.288 956351.618 0,
+ 886113.251 956358.313 0, 885838.213 956365.024 0, 885563.176 956371.751 0, 885288.14 956378.495 0, 885013.104 956385.255 0, 884738.068 956392.031 0, 884463.033 956398.823 0, 884187.998 956405.631 0, 883912.963 956412.456 0, 883637.929 956419.297 0,
+ 883362.895 956426.154 0, 883087.862 956433.027 0, 882812.829 956439.916 0, 882537.796 956446.822 0, 882262.764 956453.743 0, 881987.733 956460.681 0, 881712.701 956467.635 0, 881437.67 956474.605 0, 881161.29 956481.626 0, 881303.146 962059.438 0,
+ 881445.005 967637.364 0, 881720.725 967630.36 0, 881995.099 967623.407 0, 882269.474 967616.469 0, 882543.849 967609.548 0, 882818.225 967602.643 0, 883092.601 967595.754 0, 883366.977 967588.881 0, 883641.354 967582.024 0, 883915.731 967575.184 0,
+ 884190.108 967568.359 0, 884464.486 967561.551 0, 884738.864 967554.759 0, 885013.243 967547.983 0, 885287.622 967541.223 0, 885562.002 967534.479 0, 885836.382 967527.752 0, 886110.762 967521.041 0, 886385.143 967514.345 0, 886659.524 967507.666 0,
+ 886933.905 967501.003 0, 887208.287 967494.357 0, 887482.67 967487.726 0, 887757.052 967481.111 0, 888030.09 967474.545 0, 888305.819 967467.931 0, 888580.203 967461.365 0, 888854.587 967454.815 0, 889128.971 967448.281 0, 889403.356 967441.764 0,
+ 889677.742 967435.262 0, 889952.128 967428.777 0, 890226.514 967422.308 0, 890500.9 967415.855 0, 890775.287 967409.418 0, 891049.674 967402.997 0, 891324.062 967396.593 0, 891598.45 967390.205 0, 891872.839 967383.832 0, 892147.227 967377.476 0,
+ 892421.616 967371.136 0, 892696.006 967364.813 0, 892970.396 967358.505 0, 893244.786 967352.213 0, 893519.177 967345.938 0, 893793.568 967339.679 0, 894067.959 967333.436 0, 894342.351 967327.209 0, 894615.399 967321.029 0, 894489.299 961742.724 0,
+ 894363.202 956164.534 0))
+
+POLYGON ((907786.634 967041.903 0, 907513.568 967047.312 0, 907239.159 967052.764 0, 906964.751 967058.231 0, 906690.344 967063.715 0, 906415.937 967069.216 0, 906141.53 967074.732 0, 905867.123 967080.264 0, 905592.717 967085.813 0, 905318.311 967091.377 0,
+ 905043.905 967096.958 0, 904769.5 967102.555 0, 904495.095 967108.168 0, 904220.69 967113.798 0, 903946.286 967119.443 0, 903671.882 967125.105 0, 903397.478 967130.783 0, 903123.075 967136.476 0, 902848.672 967142.187 0, 902574.269 967147.913 0,
+ 902299.867 967153.655 0, 902025.465 967159.414 0, 901751.063 967165.188 0, 901476.662 967170.979 0, 901200.918 967176.815 0, 900927.86 967182.609 0, 900653.46 967188.448 0, 900379.06 967194.304 0, 900104.661 967200.175 0, 899830.261 967206.063 0,
+ 899555.863 967211.967 0, 899281.464 967217.887 0, 899007.066 967223.823 0, 898732.668 967229.776 0, 898458.27 967235.744 0, 898183.873 967241.729 0, 897909.477 967247.729 0, 897635.08 967253.746 0, 897360.684 967259.779 0, 897086.288 967265.829 0,
+ 896811.893 967271.894 0, 896537.498 967277.975 0, 896263.103 967284.073 0, 895988.709 967290.187 0, 895714.315 967296.317 0, 895439.922 967302.463 0, 895165.528 967308.625 0, 894891.136 967314.804 0, 894615.399 967321.029 0, 894741.5 972899.444 0,
+ 894867.605 978477.965 0, 895142.682 978471.755 0, 895416.418 978465.592 0, 895690.155 978459.444 0, 895963.891 978453.313 0, 896237.629 978447.197 0, 896511.366 978441.098 0, 896785.104 978435.015 0, 897058.843 978428.948 0, 897332.581 978422.897 0,
+ 897606.32 978416.863 0, 897880.06 978410.844 0, 898153.799 978404.841 0, 898427.54 978398.855 0, 898701.28 978392.885 0, 898975.021 978386.931 0, 899248.762 978380.992 0, 899522.503 978375.07 0, 899796.245 978369.165 0, 900069.987 978363.275 0,
+ 900343.73 978357.401 0, 900617.473 978351.544 0, 900891.216 978345.702 0, 901164.96 978339.877 0, 901437.363 978334.096 0, 901712.448 978328.275 0, 901986.192 978322.498 0, 902259.937 978316.737 0, 902533.683 978310.992 0, 902807.428 978305.264 0,
+ 903081.174 978299.551 0, 903354.92 978293.855 0, 903628.667 978288.174 0, 903902.414 978282.51 0, 904176.161 978276.862 0, 904449.909 978271.23 0, 904723.657 978265.614 0, 904997.405 978260.015 0, 905271.154 978254.431 0, 905544.903 978248.864 0,
+ 905818.652 978243.312 0, 906092.402 978237.777 0, 906366.151 978232.258 0, 906639.902 978226.755 0, 906913.652 978221.268 0, 907187.403 978215.797 0, 907461.154 978210.342 0, 907734.906 978204.904 0, 908007.319 978199.508 0, 907896.975 972620.652 0,
+ 907786.634 967041.903 0))
+
+POLYGON ((921147.767 977958.173 0, 920875.338 977962.8 0, 920601.572 977967.465 0, 920327.806 977972.146 0, 920054.041 977976.844 0, 919780.276 977981.557 0, 919506.511 977986.287 0, 919232.747 977991.032 0, 918958.983 977995.794 0, 918685.219 978000.572 0,
+ 918411.455 978005.366 0, 918137.692 978010.177 0, 917863.929 978015.003 0, 917590.166 978019.845 0, 917316.404 978024.704 0, 917042.642 978029.579 0, 916768.88 978034.469 0, 916495.118 978039.376 0, 916221.357 978044.299 0, 915947.596 978049.238 0,
+ 915673.835 978054.193 0, 915400.075 978059.165 0, 915126.315 978064.152 0, 914852.555 978069.156 0, 914577.457 978074.2 0, 914305.036 978079.211 0, 914031.277 978084.263 0, 913757.519 978089.331 0, 913483.76 978094.415 0, 913210.002 978099.515 0,
+ 912936.245 978104.632 0, 912662.487 978109.764 0, 912388.73 978114.913 0, 912114.973 978120.078 0, 911841.217 978125.258 0, 911567.46 978130.455 0, 911293.705 978135.668 0, 911019.949 978140.897 0, 910746.194 978146.143 0, 910472.439 978151.404 0,
+ 910198.684 978156.681 0, 909924.93 978161.975 0, 909651.176 978167.285 0, 909377.422 978172.611 0, 909103.668 978177.952 0, 908829.915 978183.31 0, 908556.162 978188.685 0, 908282.41 978194.075 0, 908007.319 978199.508 0, 908117.664 983778.465 0,
+ 908228.011 989357.521 0, 908502.443 989352.102 0, 908775.539 989346.724 0, 909048.635 989341.363 0, 909321.731 989336.018 0, 909594.828 989330.689 0, 909867.925 989325.376 0, 910141.022 989320.079 0, 910414.12 989314.798 0, 910687.218 989309.533 0,
+ 910960.316 989304.284 0, 911233.414 989299.052 0, 911506.513 989293.835 0, 911779.612 989288.635 0, 912052.712 989283.45 0, 912325.812 989278.282 0, 912598.912 989273.129 0, 912872.012 989267.993 0, 913145.113 989262.873 0, 913418.214 989257.769 0,
+ 913691.315 989252.681 0, 913964.417 989247.609 0, 914237.519 989242.553 0, 914510.621 989237.514 0, 914782.388 989232.514 0, 915056.826 989227.482 0, 915329.929 989222.491 0, 915603.033 989217.515 0, 915876.136 989212.556 0, 916149.24 989207.612 0,
+ 916422.344 989202.685 0, 916695.449 989197.774 0, 916968.554 989192.879 0, 917241.659 989188 0, 917514.764 989183.137 0, 917787.87 989178.29 0, 918060.976 989173.459 0, 918334.082 989168.645 0, 918607.189 989163.846 0, 918880.295 989159.063 0,
+ 919153.402 989154.297 0, 919426.51 989149.546 0, 919699.617 989144.812 0, 919972.725 989140.094 0, 920245.834 989135.391 0, 920518.942 989130.705 0, 920792.051 989126.035 0, 921065.16 989121.381 0, 921336.935 989116.766 0, 921242.35 983537.421 0,
+ 921147.767 977958.173 0))
+
+POLYGON ((934446.487 988913.047 0, 934174.697 988916.894 0, 933901.576 988920.776 0, 933628.455 988924.675 0, 933355.335 988928.589 0, 933082.214 988932.52 0, 932809.094 988936.467 0, 932535.974 988940.43 0, 932262.855 988944.408 0, 931989.735 988948.403 0,
+ 931716.616 988952.414 0, 931443.497 988956.441 0, 931170.378 988960.484 0, 930897.26 988964.544 0, 930624.141 988968.619 0, 930351.023 988972.71 0, 930077.906 988976.818 0, 929804.788 988980.941 0, 929531.671 988985.081 0, 929258.554 988989.237 0,
+ 928985.437 988993.408 0, 928712.32 988997.596 0, 928439.204 989001.8 0, 928166.088 989006.02 0, 927891.639 989010.277 0, 927619.856 989014.508 0, 927346.741 989018.776 0, 927073.626 989023.061 0, 926800.511 989027.361 0, 926527.397 989031.677 0,
+ 926254.282 989036.01 0, 925981.168 989040.358 0, 925708.054 989044.723 0, 925434.941 989049.104 0, 925161.828 989053.5 0, 924888.715 989057.913 0, 924615.602 989062.342 0, 924342.489 989066.787 0, 924069.377 989071.248 0, 923796.265 989075.726 0,
+ 923523.153 989080.219 0, 923250.042 989084.728 0, 922976.931 989089.254 0, 922703.82 989093.795 0, 922430.709 989098.353 0, 922157.599 989102.926 0, 921884.489 989107.516 0, 921611.379 989112.122 0, 921336.935 989116.766 0, 921431.522 994696.206 0,
+ 921526.11 1000275.735 0, 921799.894 1000271.102 0, 922072.347 1000266.507 0, 922344.8 1000261.929 0, 922617.254 1000257.366 0, 922889.708 1000252.819 0, 923162.162 1000248.289 0, 923434.616 1000243.774 0, 923707.071 1000239.276 0, 923979.526 1000234.793 0,
+ 924251.981 1000230.327 0, 924524.436 1000225.877 0, 924796.892 1000221.442 0, 925069.348 1000217.024 0, 925341.804 1000212.622 0, 925614.261 1000208.236 0, 925886.717 1000203.865 0, 926159.174 1000199.511 0, 926431.632 1000195.173 0, 926704.089 1000190.851 0,
+ 926976.547 1000186.545 0, 927249.005 1000182.255 0, 927521.463 1000177.981 0, 927793.922 1000173.723 0, 928065.051 1000169.502 0, 928338.84 1000165.255 0, 928611.299 1000161.046 0, 928883.758 1000156.852 0, 929156.218 1000152.674 0, 929428.678 1000148.512 0,
+ 929701.138 1000144.367 0, 929973.599 1000140.237 0, 930246.06 1000136.124 0, 930518.521 1000132.026 0, 930790.982 1000127.944 0, 931063.443 1000123.879 0, 931335.905 1000119.829 0, 931608.367 1000115.796 0, 931880.829 1000111.779 0, 932153.291 1000107.777 0,
+ 932425.754 1000103.792 0, 932698.217 1000099.823 0, 932970.68 1000095.87 0, 933243.143 1000091.932 0, 933515.607 1000088.011 0, 933788.071 1000084.106 0, 934060.535 1000080.217 0, 934332.999 1000076.344 0, 934604.135 1000072.506 0, 934525.31 994492.731 0,
+ 934446.487 988913.047 0))
+
+POLYGON ((947682.682 999906.225 0, 947411.534 999909.297 0, 947139.06 999912.4 0, 946866.586 999915.52 0, 946594.112 999918.655 0, 946321.639 999921.806 0, 946049.165 999924.974 0, 945776.692 999928.157 0, 945504.219 999931.357 0, 945231.746 999934.572 0,
+ 944959.274 999937.804 0, 944686.801 999941.051 0, 944414.329 999944.315 0, 944141.857 999947.595 0, 943869.385 999950.891 0, 943596.913 999954.202 0, 943324.442 999957.53 0, 943051.971 999960.874 0, 942779.499 999964.234 0, 942507.029 999967.61 0,
+ 942234.558 999971.002 0, 941962.087 999974.41 0, 941689.617 999977.834 0, 941417.147 999981.274 0, 941143.349 999984.747 0, 940872.208 999988.202 0, 940599.738 999991.69 0, 940327.269 999995.194 0, 940054.8 999998.714 0, 939782.331 1000002.251 0,
+ 939509.862 1000005.803 0, 939237.394 1000009.371 0, 938964.926 1000012.956 0, 938692.458 1000016.556 0, 938419.99 1000020.173 0, 938147.522 1000023.805 0, 937875.055 1000027.454 0, 937602.588 1000031.118 0, 937330.121 1000034.799 0, 937057.654 1000038.495 0,
+ 936785.188 1000042.208 0, 936512.721 1000045.937 0, 936240.255 1000049.682 0, 935967.789 1000053.442 0, 935695.324 1000057.219 0, 935422.858 1000061.012 0, 935150.393 1000064.821 0, 934877.928 1000068.646 0, 934604.135 1000072.506 0, 934682.961 1005652.366 0,
+ 934761.788 1011232.308 0, 935034.921 1011228.458 0, 935306.729 1011224.642 0, 935578.538 1011220.843 0, 935850.346 1011217.059 0, 936122.155 1011213.291 0, 936393.964 1011209.539 0, 936665.773 1011205.804 0, 936937.583 1011202.084 0, 937209.392 1011198.38 0,
+ 937481.202 1011194.692 0, 937753.012 1011191.021 0, 938024.823 1011187.365 0, 938296.633 1011183.725 0, 938568.444 1011180.102 0, 938840.255 1011176.494 0, 939112.066 1011172.902 0, 939383.877 1011169.326 0, 939655.689 1011165.767 0, 939927.501 1011162.223 0,
+ 940199.313 1011158.695 0, 940471.125 1011155.183 0, 940742.937 1011151.688 0, 941014.75 1011148.208 0, 941285.238 1011144.761 0, 941558.376 1011141.296 0, 941830.189 1011137.865 0, 942102.002 1011134.449 0, 942373.816 1011131.049 0, 942645.63 1011127.665 0,
+ 942917.444 1011124.297 0, 943189.258 1011120.946 0, 943461.072 1011117.61 0, 943732.887 1011114.29 0, 944004.702 1011110.986 0, 944276.517 1011107.699 0, 944548.332 1011104.427 0, 944820.147 1011101.171 0, 945091.963 1011097.931 0, 945363.779 1011094.708 0,
+ 945635.595 1011091.5 0, 945907.411 1011088.308 0, 946179.227 1011085.132 0, 946451.044 1011081.972 0, 946722.86 1011078.829 0, 946994.677 1011075.701 0, 947266.494 1011072.589 0, 947538.312 1011069.493 0, 947808.805 1011066.428 0, 947745.743 1005486.286 0,
+ 947682.682 999906.225 0))
+
+POLYGON ((960856.24 1010937.409 0, 960585.736 1010939.71 0, 960313.911 1010942.038 0, 960042.086 1010944.382 0, 959770.262 1010946.741 0, 959498.437 1010949.117 0, 959226.613 1010951.509 0, 958954.789 1010953.917 0, 958682.965 1010956.341 0, 958411.141 1010958.781 0,
+ 958139.317 1010961.236 0, 957867.493 1010963.708 0, 957595.67 1010966.196 0, 957323.846 1010968.7 0, 957052.023 1010971.22 0, 956780.2 1010973.756 0, 956508.377 1010976.307 0, 956236.554 1010978.875 0, 955964.732 1010981.459 0, 955692.909 1010984.059 0,
+ 955421.087 1010986.675 0, 955149.265 1010989.307 0, 954877.443 1010991.954 0, 954605.621 1010994.618 0, 954332.477 1010997.311 0, 954061.978 1010999.994 0, 953790.157 1011002.706 0, 953518.335 1011005.434 0, 953246.514 1011008.177 0, 952974.693 1011010.937 0,
+ 952702.873 1011013.713 0, 952431.052 1011016.505 0, 952159.232 1011019.313 0, 951887.412 1011022.136 0, 951615.592 1011024.976 0, 951343.772 1011027.832 0, 951071.952 1011030.704 0, 950800.132 1011033.592 0, 950528.313 1011036.495 0, 950256.494 1011039.415 0,
+ 949984.675 1011042.351 0, 949712.856 1011045.303 0, 949441.037 1011048.271 0, 949169.219 1011051.254 0, 948897.401 1011054.254 0, 948625.582 1011057.27 0, 948353.764 1011060.302 0, 948081.947 1011063.35 0, 947808.805 1011066.428 0, 947871.869 1016646.649 0,
+ 947934.933 1022226.943 0, 948207.414 1022223.871 0, 948478.575 1022220.831 0, 948749.736 1022217.806 0, 949020.897 1022214.798 0, 949292.059 1022211.805 0, 949563.22 1022208.829 0, 949834.382 1022205.868 0, 950105.544 1022202.923 0, 950376.706 1022199.995 0,
+ 950647.868 1022197.082 0, 950919.031 1022194.185 0, 951190.194 1022191.304 0, 951461.356 1022188.439 0, 951732.519 1022185.591 0, 952003.683 1022182.758 0, 952274.846 1022179.941 0, 952546.009 1022177.14 0, 952817.173 1022174.355 0, 953088.337 1022171.585 0,
+ 953359.501 1022168.832 0, 953630.665 1022166.095 0, 953901.829 1022163.374 0, 954172.994 1022160.669 0, 954442.839 1022157.992 0, 954715.323 1022155.306 0, 954986.488 1022152.649 0, 955257.653 1022150.007 0, 955528.818 1022147.382 0, 955799.984 1022144.772 0,
+ 956071.149 1022142.179 0, 956342.315 1022139.601 0, 956613.481 1022137.039 0, 956884.647 1022134.494 0, 957155.813 1022131.964 0, 957426.979 1022129.45 0, 957698.146 1022126.953 0, 957969.312 1022124.471 0, 958240.479 1022122.005 0, 958511.646 1022119.555 0,
+ 958782.813 1022117.121 0, 959053.98 1022114.703 0, 959325.148 1022112.301 0, 959596.315 1022109.915 0, 959867.483 1022107.545 0, 960138.65 1022105.191 0, 960409.818 1022102.853 0, 960680.986 1022100.53 0, 960950.836 1022098.235 0, 960903.538 1016517.785 0,
+ 960856.24 1010937.409 0))
+
+POLYGON ((973967.051 1022006.301 0, 973697.194 1022007.833 0, 973426.02 1022009.389 0, 973154.847 1022010.962 0, 972883.673 1022012.55 0, 972612.5 1022014.154 0, 972341.327 1022015.774 0, 972070.154 1022017.409 0, 971798.981 1022019.061 0, 971527.808 1022020.729 0,
+ 971256.636 1022022.413 0, 970985.463 1022024.113 0, 970714.29 1022025.828 0, 970443.118 1022027.56 0, 970171.946 1022029.308 0, 969900.773 1022031.071 0, 969629.601 1022032.851 0, 969358.429 1022034.646 0, 969087.257 1022036.458 0, 968816.086 1022038.285 0,
+ 968544.914 1022040.129 0, 968273.742 1022041.988 0, 968002.571 1022043.863 0, 967731.399 1022045.755 0, 967458.911 1022047.671 0, 967189.057 1022049.585 0, 966917.886 1022051.524 0, 966646.715 1022053.479 0, 966375.544 1022055.451 0, 966104.374 1022057.438 0,
+ 965833.203 1022059.441 0, 965562.033 1022061.46 0, 965290.862 1022063.495 0, 965019.692 1022065.545 0, 964748.522 1022067.612 0, 964477.352 1022069.695 0, 964206.182 1022071.794 0, 963935.013 1022073.909 0, 963663.843 1022076.039 0, 963392.674 1022078.186 0,
+ 963121.504 1022080.349 0, 962850.335 1022082.527 0, 962579.166 1022084.722 0, 962307.997 1022086.932 0, 962036.828 1022089.159 0, 961765.66 1022091.401 0, 961494.491 1022093.659 0, 961223.323 1022095.934 0, 960950.836 1022098.235 0, 960998.135 1027678.754 0,
+ 961045.435 1033259.338 0, 961317.261 1033257.042 0, 961587.773 1033254.774 0, 961858.284 1033252.521 0, 962128.796 1033250.284 0, 962399.308 1033248.063 0, 962669.82 1033245.858 0, 962940.332 1033243.668 0, 963210.845 1033241.495 0, 963481.357 1033239.338 0,
+ 963751.869 1033237.196 0, 964022.382 1033235.071 0, 964292.895 1033232.961 0, 964563.408 1033230.867 0, 964833.921 1033228.79 0, 965104.434 1033226.728 0, 965374.947 1033224.682 0, 965645.461 1033222.652 0, 965915.974 1033220.638 0, 966186.488 1033218.64 0,
+ 966457.002 1033216.657 0, 966727.515 1033214.691 0, 966998.029 1033212.741 0, 967268.543 1033210.806 0, 967537.744 1033208.897 0, 967809.572 1033206.985 0, 968080.086 1033205.098 0, 968350.601 1033203.228 0, 968621.116 1033201.373 0, 968891.63 1033199.534 0,
+ 969162.145 1033197.711 0, 969432.66 1033195.904 0, 969703.175 1033194.112 0, 969973.69 1033192.337 0, 970244.206 1033190.578 0, 970514.721 1033188.834 0, 970785.237 1033187.107 0, 971055.752 1033185.395 0, 971326.268 1033183.7 0, 971596.784 1033182.02 0,
+ 971867.3 1033180.356 0, 972137.816 1033178.708 0, 972408.332 1033177.076 0, 972678.848 1033175.46 0, 972949.364 1033173.86 0, 973219.881 1033172.276 0, 973490.397 1033170.708 0, 973760.914 1033169.156 0, 974030.117 1033167.627 0, 973998.584 1027586.931 0,
+ 973967.051 1022006.301 0))
+
+POLYGON ((987015.007 1033112.599 0, 986745.798 1033113.368 0, 986475.278 1033114.156 0, 986204.758 1033114.96 0, 985934.238 1033115.78 0, 985663.719 1033116.615 0, 985393.199 1033117.467 0, 985122.679 1033118.335 0, 984852.16 1033119.218 0, 984581.64 1033120.118 0,
+ 984311.121 1033121.033 0, 984040.601 1033121.965 0, 983770.082 1033122.912 0, 983499.563 1033123.875 0, 983229.044 1033124.855 0, 982958.524 1033125.85 0, 982688.005 1033126.861 0, 982417.486 1033127.887 0, 982146.967 1033128.93 0, 981876.448 1033129.989 0,
+ 981605.929 1033131.064 0, 981335.411 1033132.154 0, 981064.892 1033133.261 0, 980794.373 1033134.383 0, 980522.543 1033135.527 0, 980253.336 1033136.676 0, 979982.818 1033137.846 0, 979712.299 1033139.032 0, 979441.781 1033140.234 0, 979171.262 1033141.452 0,
+ 978900.744 1033142.686 0, 978630.226 1033143.936 0, 978359.708 1033145.202 0, 978089.19 1033146.483 0, 977818.672 1033147.781 0, 977548.154 1033149.095 0, 977277.637 1033150.424 0, 977007.119 1033151.769 0, 976736.601 1033153.131 0, 976466.084 1033154.508 0,
+ 976195.567 1033155.901 0, 975925.049 1033157.31 0, 975654.532 1033158.735 0, 975384.015 1033160.176 0, 975113.498 1033161.633 0, 974842.981 1033163.105 0, 974572.464 1033164.594 0, 974301.947 1033166.099 0, 974030.117 1033167.627 0, 974061.651 1038748.383 0,
+ 974093.185 1044329.196 0, 974364.354 1044327.672 0, 974634.214 1044326.171 0, 974904.074 1044324.686 0, 975173.934 1044323.217 0, 975443.794 1044321.763 0, 975713.655 1044320.326 0, 975983.515 1044318.905 0, 976253.375 1044317.499 0, 976523.236 1044316.109 0,
+ 976793.096 1044314.735 0, 977062.957 1044313.377 0, 977332.818 1044312.035 0, 977602.679 1044310.709 0, 977872.539 1044309.399 0, 978142.4 1044308.104 0, 978412.261 1044306.826 0, 978682.123 1044305.563 0, 978951.984 1044304.316 0, 979221.845 1044303.085 0,
+ 979491.706 1044301.87 0, 979761.568 1044300.671 0, 980031.429 1044299.488 0, 980301.291 1044298.321 0, 980569.843 1044297.175 0, 980841.014 1044296.034 0, 981110.876 1044294.914 0, 981380.737 1044293.81 0, 981650.599 1044292.722 0, 981920.461 1044291.65 0,
+ 982190.323 1044290.594 0, 982460.185 1044289.554 0, 982730.047 1044288.529 0, 982999.909 1044287.521 0, 983269.772 1044286.528 0, 983539.634 1044285.551 0, 983809.496 1044284.59 0, 984079.359 1044283.645 0, 984349.221 1044282.716 0, 984619.084 1044281.803 0,
+ 984888.946 1044280.906 0, 985158.809 1044280.024 0, 985428.672 1044279.159 0, 985698.534 1044278.309 0, 985968.397 1044277.475 0, 986238.26 1044276.657 0, 986508.123 1044275.855 0, 986777.986 1044275.069 0, 987046.541 1044274.302 0, 987030.774 1038693.422 0,
+ 987015.007 1033112.599 0))
+
+POLYGON ((1000000 1044256.004 0, 999731.442 1044256.012 0, 999461.578 1044256.036 0, 999191.714 1044256.076 0, 998921.85 1044256.131 0, 998651.985 1044256.202 0, 998382.121 1044256.29 0, 998112.257 1044256.393 0, 997842.393 1044256.512 0, 997572.529 1044256.647 0,
+ 997302.665 1044256.798 0, 997032.801 1044256.964 0, 996762.937 1044257.147 0, 996493.073 1044257.345 0, 996223.209 1044257.56 0, 995953.345 1044257.79 0, 995683.482 1044258.036 0, 995413.618 1044258.298 0, 995143.754 1044258.576 0, 994873.89 1044258.87 0,
+ 994604.026 1044259.18 0, 994334.162 1044259.505 0, 994064.298 1044259.846 0, 993794.434 1044260.204 0, 993523.264 1044260.579 0, 993254.707 1044260.966 0, 992984.843 1044261.371 0, 992714.979 1044261.792 0, 992445.116 1044262.229 0, 992175.252 1044262.681 0,
+ 991905.388 1044263.15 0, 991635.525 1044263.634 0, 991365.661 1044264.134 0, 991095.798 1044264.65 0, 990825.934 1044265.182 0, 990556.071 1044265.73 0, 990286.207 1044266.294 0, 990016.344 1044266.874 0, 989746.48 1044267.469 0, 989476.617 1044268.081 0,
+ 989206.754 1044268.708 0, 988936.89 1044269.351 0, 988667.027 1044270.01 0, 988397.164 1044270.685 0, 988127.301 1044271.376 0, 987857.438 1044272.083 0, 987587.575 1044272.806 0, 987317.712 1044273.544 0, 987046.541 1044274.302 0, 987062.308 1049855.235 0,
+ 987078.075 1055436.215 0, 987348.586 1055435.459 0, 987617.792 1055434.722 0, 987886.998 1055434.001 0, 988156.204 1055433.296 0, 988425.41 1055432.607 0, 988694.617 1055431.934 0, 988963.823 1055431.276 0, 989233.029 1055430.635 0, 989502.236 1055430.009 0,
+ 989771.442 1055429.399 0, 990040.648 1055428.805 0, 990309.855 1055428.227 0, 990579.061 1055427.664 0, 990848.268 1055427.118 0, 991117.474 1055426.587 0, 991386.681 1055426.072 0, 991655.888 1055425.573 0, 991925.094 1055425.09 0, 992194.301 1055424.622 0,
+ 992463.508 1055424.171 0, 992732.714 1055423.735 0, 993001.921 1055423.315 0, 993271.128 1055422.911 0, 993539.031 1055422.525 0, 993809.542 1055422.151 0, 994078.748 1055421.795 0, 994347.955 1055421.454 0, 994617.162 1055421.129 0, 994886.369 1055420.82 0,
+ 995155.576 1055420.527 0, 995424.783 1055420.25 0, 995693.99 1055419.989 0, 995963.197 1055419.743 0, 996232.404 1055419.514 0, 996501.611 1055419.3 0, 996770.818 1055419.102 0, 997040.025 1055418.92 0, 997309.232 1055418.753 0, 997578.439 1055418.603 0,
+ 997847.646 1055418.468 0, 998116.853 1055418.349 0, 998386.06 1055418.247 0, 998655.267 1055418.16 0, 998924.474 1055418.088 0, 999193.681 1055418.033 0, 999462.888 1055417.993 0, 999732.095 1055417.97 0, 1000000 1055417.962 0, 1000000 1049836.959 0,
+ 1000000 1044256.004 0))
+
+POLYGON ((1012921.925 1055436.215 0, 1012654.019 1055435.466 0, 1012384.813 1055434.729 0, 1012115.607 1055434.008 0, 1011846.401 1055433.303 0, 1011577.195 1055432.614 0, 1011307.988 1055431.94 0, 1011038.782 1055431.283 0, 1010769.576 1055430.641 0, 1010500.369 1055430.015 0,
+ 1010231.163 1055429.405 0, 1009961.957 1055428.811 0, 1009692.75 1055428.232 0, 1009423.544 1055427.67 0, 1009154.337 1055427.123 0, 1008885.131 1055426.592 0, 1008615.924 1055426.077 0, 1008346.717 1055425.578 0, 1008077.511 1055425.094 0, 1007808.304 1055424.627 0,
+ 1007539.097 1055424.175 0, 1007269.891 1055423.739 0, 1007000.684 1055423.319 0, 1006731.477 1055422.915 0, 1006460.969 1055422.525 0, 1006193.063 1055422.155 0, 1005923.857 1055421.798 0, 1005654.65 1055421.457 0, 1005385.443 1055421.132 0, 1005116.236 1055420.823 0,
+ 1004847.029 1055420.53 0, 1004577.822 1055420.253 0, 1004308.615 1055419.991 0, 1004039.408 1055419.746 0, 1003770.201 1055419.516 0, 1003500.994 1055419.302 0, 1003231.787 1055419.104 0, 1002962.58 1055418.921 0, 1002693.373 1055418.755 0, 1002424.166 1055418.604 0,
+ 1002154.959 1055418.469 0, 1001885.752 1055418.351 0, 1001616.545 1055418.247 0, 1001347.338 1055418.16 0, 1001078.131 1055418.089 0, 1000808.924 1055418.033 0, 1000539.717 1055417.994 0, 1000270.51 1055417.97 0, 1000000 1055417.962 0, 1000000 1060999.009 0,
+ 1000000 1066580.095 0, 1000269.849 1066580.103 0, 1000538.4 1066580.127 0, 1000806.95 1066580.166 0, 1001075.5 1066580.222 0, 1001344.05 1066580.293 0, 1001612.6 1066580.38 0, 1001881.15 1066580.483 0, 1002149.7 1066580.601 0, 1002418.25 1066580.736 0,
+ 1002686.8 1066580.886 0, 1002955.35 1066581.052 0, 1003223.9 1066581.234 0, 1003492.45 1066581.432 0, 1003761 1066581.645 0, 1004029.55 1066581.874 0, 1004298.1 1066582.119 0, 1004566.65 1066582.38 0, 1004835.2 1066582.657 0, 1005103.75 1066582.95 0,
+ 1005372.3 1066583.258 0, 1005640.85 1066583.582 0, 1005909.4 1066583.922 0, 1006177.95 1066584.278 0, 1006445.201 1066584.647 0, 1006715.049 1066585.036 0, 1006983.599 1066585.44 0, 1007252.149 1066585.859 0, 1007520.699 1066586.293 0, 1007789.248 1066586.744 0,
+ 1008057.798 1066587.21 0, 1008326.348 1066587.692 0, 1008594.897 1066588.19 0, 1008863.447 1066588.704 0, 1009131.997 1066589.234 0, 1009400.546 1066589.779 0, 1009669.096 1066590.34 0, 1009937.645 1066590.917 0, 1010206.195 1066591.51 0, 1010474.744 1066592.119 0,
+ 1010743.293 1066592.743 0, 1011011.843 1066593.383 0, 1011280.392 1066594.039 0, 1011548.941 1066594.711 0, 1011817.49 1066595.399 0, 1012086.04 1066596.102 0, 1012354.589 1066596.822 0, 1012623.138 1066597.557 0, 1012890.39 1066598.304 0, 1012906.157 1061017.24 0,
+ 1012921.925 1055436.215 0))
+
+POLYGON ((1025780.676 1066652.93 0, 1025513.426 1066651.428 0, 1025244.88 1066649.934 0, 1024976.334 1066648.456 0, 1024707.788 1066646.994 0, 1024439.242 1066645.548 0, 1024170.695 1066644.117 0, 1023902.149 1066642.703 0, 1023633.602 1066641.304 0, 1023365.056 1066639.921 0,
+ 1023096.509 1066638.553 0, 1022827.963 1066637.202 0, 1022559.416 1066635.866 0, 1022290.869 1066634.546 0, 1022022.322 1066633.242 0, 1021753.775 1066631.954 0, 1021485.228 1066630.681 0, 1021216.681 1066629.425 0, 1020948.133 1066628.184 0, 1020679.586 1066626.959 0,
+ 1020411.039 1066625.749 0, 1020142.491 1066624.556 0, 1019873.944 1066623.378 0, 1019605.396 1066622.217 0, 1019335.552 1066621.065 0, 1019068.301 1066619.94 0, 1018799.753 1066618.826 0, 1018531.205 1066617.727 0, 1018262.657 1066616.644 0, 1017994.109 1066615.577 0,
+ 1017725.561 1066614.526 0, 1017457.013 1066613.491 0, 1017188.465 1066612.471 0, 1016919.917 1066611.467 0, 1016651.369 1066610.48 0, 1016382.82 1066609.507 0, 1016114.272 1066608.551 0, 1015845.723 1066607.61 0, 1015577.175 1066606.686 0, 1015308.626 1066605.777 0,
+ 1015040.078 1066604.884 0, 1014771.529 1066604.006 0, 1014502.98 1066603.145 0, 1014234.432 1066602.299 0, 1013965.883 1066601.469 0, 1013697.334 1066600.655 0, 1013428.785 1066599.857 0, 1013160.236 1066599.074 0, 1012890.39 1066598.304 0, 1012874.622 1072179.403 0,
+ 1012858.854 1077760.534 0, 1013128.04 1077761.302 0, 1013395.932 1077762.083 0, 1013663.824 1077762.879 0, 1013931.716 1077763.691 0, 1014199.608 1077764.519 0, 1014467.5 1077765.363 0, 1014735.391 1077766.222 0, 1015003.283 1077767.098 0, 1015271.175 1077767.988 0,
+ 1015539.066 1077768.895 0, 1015806.958 1077769.818 0, 1016074.849 1077770.756 0, 1016342.741 1077771.71 0, 1016610.632 1077772.68 0, 1016878.523 1077773.665 0, 1017146.415 1077774.667 0, 1017414.306 1077775.684 0, 1017682.197 1077776.717 0, 1017950.088 1077777.765 0,
+ 1018217.979 1077778.83 0, 1018485.87 1077779.91 0, 1018753.761 1077781.006 0, 1019021.652 1077782.117 0, 1019288.249 1077783.239 0, 1019557.433 1077784.388 0, 1019825.324 1077785.547 0, 1020093.214 1077786.722 0, 1020361.105 1077787.912 0, 1020628.995 1077789.119 0,
+ 1020896.885 1077790.341 0, 1021164.776 1077791.579 0, 1021432.666 1077792.832 0, 1021700.556 1077794.101 0, 1021968.446 1077795.387 0, 1022236.336 1077796.688 0, 1022504.226 1077798.004 0, 1022772.115 1077799.337 0, 1023040.005 1077800.685 0, 1023307.895 1077802.049 0,
+ 1023575.784 1077803.429 0, 1023843.674 1077804.824 0, 1024111.563 1077806.235 0, 1024379.453 1077807.662 0, 1024647.342 1077809.105 0, 1024915.231 1077810.564 0, 1025183.12 1077812.038 0, 1025451.009 1077813.528 0, 1025717.606 1077815.027 0, 1025749.141 1072233.963 0,
+ 1025780.676 1066652.93 0))
+
+POLYGON ((1038576.152 1077905.848 0, 1038309.559 1077903.596 0, 1038041.675 1077901.349 0, 1037773.791 1077899.118 0, 1037505.907 1077896.902 0, 1037238.023 1077894.703 0, 1036970.139 1077892.519 0, 1036702.254 1077890.351 0, 1036434.37 1077888.198 0, 1036166.485 1077886.062 0,
+ 1035898.601 1077883.941 0, 1035630.716 1077881.836 0, 1035362.831 1077879.747 0, 1035094.946 1077877.673 0, 1034827.061 1077875.616 0, 1034559.175 1077873.574 0, 1034291.29 1077871.547 0, 1034023.404 1077869.537 0, 1033755.519 1077867.542 0, 1033487.633 1077865.563 0,
+ 1033219.747 1077863.6 0, 1032951.861 1077861.653 0, 1032683.975 1077859.721 0, 1032416.088 1077857.805 0, 1032146.911 1077855.896 0, 1031880.316 1077854.021 0, 1031612.429 1077852.153 0, 1031344.542 1077850.3 0, 1031076.655 1077848.463 0, 1030808.769 1077846.642 0,
+ 1030540.881 1077844.836 0, 1030272.994 1077843.046 0, 1030005.107 1077841.273 0, 1029737.22 1077839.514 0, 1029469.332 1077837.772 0, 1029201.445 1077836.045 0, 1028933.557 1077834.335 0, 1028665.669 1077832.639 0, 1028397.782 1077830.96 0, 1028129.894 1077829.297 0,
+ 1027862.006 1077827.649 0, 1027594.117 1077826.017 0, 1027326.229 1077824.4 0, 1027058.341 1077822.8 0, 1026790.452 1077821.215 0, 1026522.564 1077819.646 0, 1026254.675 1077818.093 0, 1025986.787 1077816.556 0, 1025717.606 1077815.027 0, 1025686.07 1083396.117 0,
+ 1025654.535 1088977.23 0, 1025923.055 1088978.755 0, 1026190.287 1088980.289 0, 1026457.519 1088981.838 0, 1026724.75 1088983.403 0, 1026991.982 1088984.984 0, 1027259.213 1088986.581 0, 1027526.444 1088988.193 0, 1027793.675 1088989.821 0, 1028060.906 1088991.465 0,
+ 1028328.137 1088993.124 0, 1028595.368 1088994.799 0, 1028862.599 1088996.49 0, 1029129.83 1088998.197 0, 1029397.06 1088999.919 0, 1029664.291 1089001.657 0, 1029931.521 1089003.411 0, 1030198.751 1089005.181 0, 1030465.981 1089006.966 0, 1030733.211 1089008.767 0,
+ 1031000.441 1089010.584 0, 1031267.671 1089012.416 0, 1031534.901 1089014.265 0, 1031802.131 1089016.129 0, 1032068.072 1089017.999 0, 1032336.589 1089019.904 0, 1032603.819 1089021.815 0, 1032871.048 1089023.742 0, 1033138.277 1089025.684 0, 1033405.506 1089027.643 0,
+ 1033672.735 1089029.617 0, 1033939.963 1089031.606 0, 1034207.192 1089033.612 0, 1034474.42 1089035.633 0, 1034741.649 1089037.67 0, 1035008.877 1089039.723 0, 1035276.105 1089041.791 0, 1035543.333 1089043.875 0, 1035810.561 1089045.975 0, 1036077.789 1089048.091 0,
+ 1036345.016 1089050.222 0, 1036612.244 1089052.369 0, 1036879.471 1089054.532 0, 1037146.698 1089056.711 0, 1037413.926 1089058.905 0, 1037681.153 1089061.115 0, 1037948.379 1089063.34 0, 1038215.606 1089065.582 0, 1038481.546 1089067.828 0, 1038528.849 1083486.827 0,
+ 1038576.152 1077905.848 0))
+
+POLYGON ((1051308.25 1089194.665 0, 1051042.316 1089191.667 0, 1050775.096 1089188.671 0, 1050507.877 1089185.69 0, 1050240.657 1089182.725 0, 1049973.437 1089179.776 0, 1049706.217 1089176.842 0, 1049438.997 1089173.925 0, 1049171.777 1089171.023 0, 1048904.556 1089168.136 0,
+ 1048637.336 1089165.266 0, 1048370.115 1089162.411 0, 1048102.894 1089159.572 0, 1047835.672 1089156.748 0, 1047568.451 1089153.941 0, 1047301.23 1089151.149 0, 1047034.008 1089148.373 0, 1046766.786 1089145.612 0, 1046499.564 1089142.868 0, 1046232.342 1089140.139 0,
+ 1045965.119 1089137.425 0, 1045697.897 1089134.728 0, 1045430.674 1089132.046 0, 1045163.451 1089129.38 0, 1044894.943 1089126.717 0, 1044629.005 1089124.095 0, 1044361.782 1089121.476 0, 1044094.559 1089118.873 0, 1043827.335 1089116.285 0, 1043560.111 1089113.713 0,
+ 1043292.887 1089111.157 0, 1043025.663 1089108.617 0, 1042758.439 1089106.093 0, 1042491.215 1089103.584 0, 1042223.99 1089101.091 0, 1041956.766 1089098.613 0, 1041689.541 1089096.152 0, 1041422.316 1089093.706 0, 1041155.091 1089091.276 0, 1040887.866 1089088.861 0,
+ 1040620.64 1089086.463 0, 1040353.415 1089084.08 0, 1040086.189 1089081.712 0, 1039818.964 1089079.361 0, 1039551.738 1089077.025 0, 1039284.512 1089074.705 0, 1039017.285 1089072.401 0, 1038750.059 1089070.112 0, 1038481.546 1089067.828 0, 1038434.242 1094648.848 0,
+ 1038386.939 1100229.88 0, 1038654.792 1100232.159 0, 1038921.361 1100234.442 0, 1039187.931 1100236.74 0, 1039454.5 1100239.055 0, 1039721.069 1100241.385 0, 1039987.637 1100243.731 0, 1040254.206 1100246.092 0, 1040520.775 1100248.469 0, 1040787.343 1100250.862 0,
+ 1041053.911 1100253.27 0, 1041320.479 1100255.695 0, 1041587.047 1100258.134 0, 1041853.615 1100260.59 0, 1042120.183 1100263.061 0, 1042386.75 1100265.548 0, 1042653.318 1100268.051 0, 1042919.885 1100270.569 0, 1043186.452 1100273.103 0, 1043453.019 1100275.653 0,
+ 1043719.586 1100278.218 0, 1043986.152 1100280.799 0, 1044252.719 1100283.396 0, 1044519.285 1100286.009 0, 1044784.569 1100288.624 0, 1045052.417 1100291.281 0, 1045318.983 1100293.94 0, 1045585.549 1100296.616 0, 1045852.114 1100299.306 0, 1046118.68 1100302.013 0,
+ 1046385.245 1100304.735 0, 1046651.81 1100307.473 0, 1046918.375 1100310.227 0, 1047184.939 1100312.996 0, 1047451.504 1100315.781 0, 1047718.068 1100318.582 0, 1047984.633 1100321.399 0, 1048251.197 1100324.231 0, 1048517.761 1100327.079 0, 1048784.324 1100329.942 0,
+ 1049050.888 1100332.821 0, 1049317.451 1100335.716 0, 1049584.015 1100338.627 0, 1049850.578 1100341.553 0, 1050117.141 1100344.495 0, 1050383.703 1100347.453 0, 1050650.266 1100350.426 0, 1050916.828 1100353.415 0, 1051182.109 1100356.405 0, 1051245.179 1094775.528 0,
+ 1051308.25 1089194.665 0))
+
+POLYGON ((1063976.87 1100519.078 0, 1063711.597 1100515.338 0, 1063445.044 1100511.596 0, 1063178.491 1100507.87 0, 1062911.938 1100504.159 0, 1062645.384 1100500.464 0, 1062378.83 1100496.785 0, 1062112.276 1100493.121 0, 1061845.722 1100489.473 0, 1061579.168 1100485.841 0,
+ 1061312.613 1100482.224 0, 1061046.059 1100478.623 0, 1060779.504 1100475.038 0, 1060512.948 1100471.469 0, 1060246.393 1100467.915 0, 1059979.837 1100464.377 0, 1059713.281 1100460.854 0, 1059446.725 1100457.347 0, 1059180.169 1100453.856 0, 1058913.613 1100450.381 0,
+ 1058647.056 1100446.921 0, 1058380.499 1100443.477 0, 1058113.942 1100440.049 0, 1057847.385 1100436.636 0, 1057579.547 1100433.223 0, 1057314.27 1100429.858 0, 1057047.712 1100426.493 0, 1056781.154 1100423.143 0, 1056514.595 1100419.809 0, 1056248.037 1100416.49 0,
+ 1055981.478 1100413.187 0, 1055714.919 1100409.9 0, 1055448.36 1100406.629 0, 1055181.801 1100403.373 0, 1054915.242 1100400.133 0, 1054648.682 1100396.909 0, 1054382.122 1100393.7 0, 1054115.562 1100390.507 0, 1053849.002 1100387.33 0, 1053582.442 1100384.168 0,
+ 1053315.881 1100381.022 0, 1053049.321 1100377.892 0, 1052782.76 1100374.777 0, 1052516.199 1100371.679 0, 1052249.637 1100368.595 0, 1051983.076 1100365.528 0, 1051716.514 1100362.476 0, 1051449.952 1100359.44 0, 1051182.109 1100356.405 0, 1051119.038 1105937.291 0,
+ 1051055.967 1111518.182 0, 1051323.15 1111521.21 0, 1051589.055 1111524.238 0, 1051854.96 1111527.283 0, 1052120.865 1111530.343 0, 1052386.769 1111533.418 0, 1052652.673 1111536.509 0, 1052918.577 1111539.616 0, 1053184.481 1111542.739 0, 1053450.384 1111545.877 0,
+ 1053716.288 1111549.031 0, 1053982.191 1111552.2 0, 1054248.094 1111555.385 0, 1054513.997 1111558.586 0, 1054779.899 1111561.802 0, 1055045.802 1111565.034 0, 1055311.704 1111568.282 0, 1055577.606 1111571.546 0, 1055843.508 1111574.825 0, 1056109.41 1111578.119 0,
+ 1056375.311 1111581.43 0, 1056641.213 1111584.755 0, 1056907.114 1111588.097 0, 1057173.015 1111591.454 0, 1057437.638 1111594.811 0, 1057704.816 1111598.216 0, 1057970.716 1111601.62 0, 1058236.616 1111605.04 0, 1058502.516 1111608.475 0, 1058768.416 1111611.927 0,
+ 1059034.316 1111615.393 0, 1059300.215 1111618.876 0, 1059566.114 1111622.374 0, 1059832.013 1111625.888 0, 1060097.912 1111629.417 0, 1060363.81 1111632.962 0, 1060629.708 1111636.523 0, 1060895.606 1111640.099 0, 1061161.504 1111643.691 0, 1061427.402 1111647.299 0,
+ 1061693.299 1111650.922 0, 1061959.197 1111654.561 0, 1062225.094 1111658.216 0, 1062490.99 1111661.886 0, 1062756.887 1111665.572 0, 1063022.783 1111669.274 0, 1063288.679 1111672.991 0, 1063554.575 1111676.724 0, 1063819.195 1111680.454 0, 1063898.032 1106099.764 0,
+ 1063976.87 1100519.078 0))
+
+POLYGON ((1076581.913 1111878.784 0, 1076317.303 1111874.306 0, 1076051.419 1111869.822 0, 1075785.534 1111865.353 0, 1075519.649 1111860.901 0, 1075253.764 1111856.464 0, 1074987.879 1111852.042 0, 1074721.993 1111847.636 0, 1074456.108 1111843.246 0, 1074190.221 1111838.872 0,
+ 1073924.335 1111834.513 0, 1073658.448 1111830.17 0, 1073392.561 1111825.842 0, 1073126.674 1111821.53 0, 1072860.787 1111817.234 0, 1072594.899 1111812.953 0, 1072329.011 1111808.688 0, 1072063.123 1111804.439 0, 1071797.235 1111800.205 0, 1071531.346 1111795.987 0,
+ 1071265.457 1111791.785 0, 1070999.568 1111787.598 0, 1070733.679 1111783.427 0, 1070467.789 1111779.272 0, 1070200.624 1111775.112 0, 1069936.009 1111771.008 0, 1069670.119 1111766.899 0, 1069404.228 1111762.806 0, 1069138.337 1111758.729 0, 1068872.446 1111754.668 0,
+ 1068606.555 1111750.622 0, 1068340.663 1111746.592 0, 1068074.771 1111742.577 0, 1067808.879 1111738.578 0, 1067542.987 1111734.595 0, 1067277.095 1111730.627 0, 1067011.202 1111726.675 0, 1066745.309 1111722.739 0, 1066479.416 1111718.818 0, 1066213.522 1111714.913 0,
+ 1065947.628 1111711.024 0, 1065681.735 1111707.15 0, 1065415.84 1111703.292 0, 1065149.946 1111699.45 0, 1064884.052 1111695.623 0, 1064618.157 1111691.812 0, 1064352.262 1111688.016 0, 1064086.366 1111684.237 0, 1063819.195 1111680.454 0, 1063740.357 1117261.145 0,
+ 1063661.519 1122841.832 0, 1063928.031 1122845.605 0, 1064193.269 1122849.375 0, 1064458.507 1122853.161 0, 1064723.745 1122856.963 0, 1064988.983 1122860.781 0, 1065254.22 1122864.613 0, 1065519.458 1122868.462 0, 1065784.695 1122872.326 0, 1066049.931 1122876.206 0,
+ 1066315.168 1122880.101 0, 1066580.404 1122884.012 0, 1066845.64 1122887.939 0, 1067110.876 1122891.881 0, 1067376.112 1122895.839 0, 1067641.347 1122899.812 0, 1067906.582 1122903.801 0, 1068171.817 1122907.806 0, 1068437.052 1122911.826 0, 1068702.286 1122915.862 0,
+ 1068967.52 1122919.914 0, 1069232.754 1122923.981 0, 1069497.988 1122928.063 0, 1069763.221 1122932.162 0, 1070027.182 1122936.256 0, 1070293.687 1122940.405 0, 1070558.92 1122944.55 0, 1070824.153 1122948.711 0, 1071089.385 1122952.887 0, 1071354.617 1122957.079 0,
+ 1071619.848 1122961.287 0, 1071885.08 1122965.51 0, 1072150.311 1122969.749 0, 1072415.542 1122974.004 0, 1072680.773 1122978.274 0, 1072946.003 1122982.559 0, 1073211.234 1122986.86 0, 1073476.464 1122991.177 0, 1073741.693 1122995.51 0, 1074006.923 1122999.858 0,
+ 1074272.152 1123004.222 0, 1074537.381 1123008.601 0, 1074802.61 1123012.996 0, 1075067.838 1123017.406 0, 1075333.066 1123021.833 0, 1075598.294 1123026.274 0, 1075863.522 1123030.732 0, 1076128.749 1123035.205 0, 1076392.705 1123039.672 0, 1076487.309 1117459.23 0,
+ 1076581.913 1111878.784 0))
+
+POLYGON ((1089123.282 1123273.479 0, 1088859.337 1123268.266 0, 1088594.124 1123263.043 0, 1088328.91 1123257.837 0, 1088063.695 1123252.646 0, 1087798.481 1123247.47 0, 1087533.266 1123242.31 0, 1087268.05 1123237.166 0, 1087002.835 1123232.038 0, 1086737.619 1123226.925 0,
+ 1086472.403 1123221.827 0, 1086207.187 1123216.745 0, 1085941.97 1123211.679 0, 1085676.753 1123206.629 0, 1085411.535 1123201.594 0, 1085146.318 1123196.574 0, 1084881.1 1123191.571 0, 1084615.882 1123186.582 0, 1084350.663 1123181.61 0, 1084085.444 1123176.653 0,
+ 1083820.225 1123171.712 0, 1083555.006 1123166.786 0, 1083289.786 1123161.876 0, 1083024.566 1123156.982 0, 1082758.076 1123152.079 0, 1082494.126 1123147.239 0, 1082228.905 1123142.392 0, 1081963.684 1123137.56 0, 1081698.462 1123132.743 0, 1081433.241 1123127.943 0,
+ 1081168.019 1123123.157 0, 1080902.796 1123118.388 0, 1080637.574 1123113.634 0, 1080372.351 1123108.895 0, 1080107.128 1123104.173 0, 1079841.905 1123099.466 0, 1079576.681 1123094.774 0, 1079311.457 1123090.098 0, 1079046.233 1123085.438 0, 1078781.009 1123080.793 0,
+ 1078515.784 1123076.164 0, 1078250.559 1123071.551 0, 1077985.334 1123066.953 0, 1077720.108 1123062.37 0, 1077454.882 1123057.804 0, 1077189.656 1123053.253 0, 1076924.43 1123048.717 0, 1076659.203 1123044.197 0, 1076392.705 1123039.672 0, 1076298.102 1128620.105 0,
+ 1076203.498 1134200.525 0, 1076469.336 1134205.04 0, 1076733.906 1134209.548 0, 1076998.475 1134214.073 0, 1077263.045 1134218.612 0, 1077527.613 1134223.168 0, 1077792.182 1134227.739 0, 1078056.75 1134232.325 0, 1078321.319 1134236.927 0, 1078585.886 1134241.545 0,
+ 1078850.454 1134246.178 0, 1079115.021 1134250.827 0, 1079379.588 1134255.491 0, 1079644.155 1134260.171 0, 1079908.721 1134264.866 0, 1080173.288 1134269.577 0, 1080437.853 1134274.304 0, 1080702.419 1134279.046 0, 1080966.984 1134283.804 0, 1081231.549 1134288.577 0,
+ 1081496.114 1134293.366 0, 1081760.679 1134298.171 0, 1082025.243 1134302.991 0, 1082289.807 1134307.826 0, 1082553.104 1134312.654 0, 1082818.934 1134317.544 0, 1083083.497 1134322.427 0, 1083348.06 1134327.325 0, 1083612.622 1134332.238 0, 1083877.184 1134337.167 0,
+ 1084141.746 1134342.112 0, 1084406.308 1134347.072 0, 1084670.869 1134352.048 0, 1084935.43 1134357.039 0, 1085199.991 1134362.046 0, 1085464.551 1134367.069 0, 1085729.112 1134372.107 0, 1085993.671 1134377.16 0, 1086258.231 1134382.23 0, 1086522.79 1134387.314 0,
+ 1086787.349 1134392.415 0, 1087051.908 1134397.531 0, 1087316.466 1134402.662 0, 1087581.024 1134407.809 0, 1087845.582 1134412.972 0, 1088110.139 1134418.15 0, 1088374.696 1134423.344 0, 1088639.253 1134428.553 0, 1088902.544 1134433.753 0, 1089012.913 1128853.622 0,
+ 1089123.282 1123273.479 0))
+
+POLYGON ((1101600.88 1134702.857 0, 1101337.603 1134696.913 0, 1101073.062 1134690.956 0, 1100808.521 1134685.015 0, 1100543.979 1134679.09 0, 1100279.437 1134673.18 0, 1100014.894 1134667.285 0, 1099750.351 1134661.406 0, 1099485.808 1134655.543 0, 1099221.265 1134649.695 0,
+ 1098956.721 1134643.863 0, 1098692.177 1134638.046 0, 1098427.632 1134632.245 0, 1098163.087 1134626.46 0, 1097898.542 1134620.69 0, 1097633.997 1134614.936 0, 1097369.451 1134609.197 0, 1097104.905 1134603.474 0, 1096840.358 1134597.766 0, 1096575.811 1134592.074 0,
+ 1096311.264 1134586.397 0, 1096046.716 1134580.737 0, 1095782.169 1134575.091 0, 1095517.62 1134569.461 0, 1095251.807 1134563.82 0, 1094988.523 1134558.249 0, 1094723.974 1134552.666 0, 1094459.424 1134547.098 0, 1094194.874 1134541.546 0, 1093930.324 1134536.01 0,
+ 1093665.774 1134530.489 0, 1093401.223 1134524.984 0, 1093136.672 1134519.494 0, 1092872.12 1134514.02 0, 1092607.568 1134508.562 0, 1092343.016 1134503.119 0, 1092078.464 1134497.692 0, 1091813.911 1134492.28 0, 1091549.358 1134486.884 0, 1091284.805 1134481.503 0,
+ 1091020.251 1134476.138 0, 1090755.697 1134470.788 0, 1090491.142 1134465.454 0, 1090226.588 1134460.136 0, 1089962.033 1134454.833 0, 1089697.478 1134449.546 0, 1089432.922 1134444.275 0, 1089168.366 1134439.018 0, 1088902.544 1134433.753 0, 1088792.176 1140013.866 0,
+ 1088681.808 1145593.957 0, 1088946.97 1145599.21 0, 1089210.869 1145604.453 0, 1089474.768 1145609.711 0, 1089738.666 1145614.985 0, 1090002.564 1145620.275 0, 1090266.462 1145625.58 0, 1090530.359 1145630.901 0, 1090794.256 1145636.237 0, 1091058.153 1145641.589 0,
+ 1091322.05 1145646.956 0, 1091585.946 1145652.339 0, 1091849.842 1145657.737 0, 1092113.738 1145663.151 0, 1092377.633 1145668.58 0, 1092641.528 1145674.025 0, 1092905.422 1145679.486 0, 1093169.317 1145684.962 0, 1093433.211 1145690.453 0, 1093697.104 1145695.96 0,
+ 1093960.998 1145701.483 0, 1094224.891 1145707.021 0, 1094488.783 1145712.575 0, 1094752.676 1145718.144 0, 1095015.306 1145723.702 0, 1095280.459 1145729.329 0, 1095544.351 1145734.944 0, 1095808.242 1145740.576 0, 1096072.133 1145746.223 0, 1096336.023 1145751.885 0,
+ 1096599.913 1145757.563 0, 1096863.803 1145763.256 0, 1097127.692 1145768.965 0, 1097391.581 1145774.69 0, 1097655.47 1145780.43 0, 1097919.358 1145786.185 0, 1098183.246 1145791.957 0, 1098447.134 1145797.743 0, 1098711.021 1145803.545 0, 1098974.908 1145809.363 0,
+ 1099238.795 1145815.196 0, 1099502.681 1145821.045 0, 1099766.567 1145826.909 0, 1100030.453 1145832.789 0, 1100294.338 1145838.685 0, 1100558.223 1145844.595 0, 1100822.107 1145850.522 0, 1101085.992 1145856.464 0, 1101348.615 1145862.393 0, 1101474.747 1140282.636 0,
+ 1101600.88 1134702.857 0))
+
+POLYGON ((1114014.613 1146166.614 0, 1113752.006 1146159.943 0, 1113488.139 1146153.255 0, 1113224.273 1146146.583 0, 1112960.405 1146139.927 0, 1112696.538 1146133.286 0, 1112432.67 1146126.661 0, 1112168.802 1146120.051 0, 1111904.933 1146113.457 0, 1111641.064 1146106.878 0,
+ 1111377.194 1146100.315 0, 1111113.324 1146093.767 0, 1110849.454 1146087.235 0, 1110585.583 1146080.718 0, 1110321.712 1146074.217 0, 1110057.841 1146067.732 0, 1109793.969 1146061.262 0, 1109530.097 1146054.807 0, 1109266.224 1146048.368 0, 1109002.351 1146041.945 0,
+ 1108738.478 1146035.537 0, 1108474.604 1146029.144 0, 1108210.73 1146022.768 0, 1107946.856 1146016.406 0, 1107681.722 1146010.03 0, 1107419.106 1146003.73 0, 1107155.23 1145997.416 0, 1106891.354 1145991.116 0, 1106627.478 1145984.833 0, 1106363.601 1145978.565 0,
+ 1106099.724 1145972.312 0, 1105835.847 1145966.075 0, 1105571.969 1145959.853 0, 1105308.091 1145953.647 0, 1105044.213 1145947.457 0, 1104780.334 1145941.282 0, 1104516.454 1145935.123 0, 1104252.575 1145928.979 0, 1103988.695 1145922.85 0, 1103724.815 1145916.738 0,
+ 1103460.934 1145910.64 0, 1103197.053 1145904.559 0, 1102933.171 1145898.492 0, 1102669.29 1145892.442 0, 1102405.408 1145886.407 0, 1102141.525 1145880.387 0, 1101877.642 1145874.383 0, 1101613.759 1145868.394 0, 1101348.615 1145862.393 0, 1101222.483 1151442.123 0,
+ 1101096.352 1157021.822 0, 1101360.837 1157027.809 0, 1101624.063 1157033.783 0, 1101887.289 1157039.772 0, 1102150.515 1157045.776 0, 1102413.74 1157051.797 0, 1102676.965 1157057.832 0, 1102940.189 1157063.883 0, 1103203.414 1157069.95 0, 1103466.637 1157076.032 0,
+ 1103729.861 1157082.13 0, 1103993.084 1157088.243 0, 1104256.307 1157094.371 0, 1104519.529 1157100.515 0, 1104782.751 1157106.675 0, 1105045.973 1157112.85 0, 1105309.194 1157119.04 0, 1105572.415 1157125.247 0, 1105835.636 1157131.468 0, 1106098.856 1157137.705 0,
+ 1106362.076 1157143.958 0, 1106625.296 1157150.226 0, 1106888.515 1157156.509 0, 1107151.734 1157162.808 0, 1107413.696 1157169.092 0, 1107678.17 1157175.453 0, 1107941.388 1157181.798 0, 1108204.605 1157188.159 0, 1108467.822 1157194.535 0, 1108731.038 1157200.927 0,
+ 1108994.254 1157207.335 0, 1109257.47 1157213.758 0, 1109520.686 1157220.196 0, 1109783.901 1157226.65 0, 1110047.115 1157233.119 0, 1110310.329 1157239.604 0, 1110573.543 1157246.105 0, 1110836.757 1157252.621 0, 1111099.97 1157259.152 0, 1111363.183 1157265.699 0,
+ 1111626.395 1157272.261 0, 1111889.607 1157278.839 0, 1112152.819 1157285.432 0, 1112416.03 1157292.041 0, 1112679.24 1157298.666 0, 1112942.451 1157305.305 0, 1113205.661 1157311.961 0, 1113468.87 1157318.632 0, 1113730.824 1157325.286 0, 1113872.718 1151745.965 0,
+ 1114014.613 1146166.614 0))
+
+POLYGON ((1126364.389 1157664.443 0, 1126102.452 1157657.048 0, 1125839.263 1157649.634 0, 1125576.073 1157642.235 0, 1125312.882 1157634.852 0, 1125049.691 1157627.484 0, 1124786.5 1157620.131 0, 1124523.308 1157612.794 0, 1124260.115 1157605.473 0, 1123996.923 1157598.167 0,
+ 1123733.729 1157590.877 0, 1123470.536 1157583.602 0, 1123207.342 1157576.342 0, 1122944.147 1157569.098 0, 1122680.952 1157561.87 0, 1122417.757 1157554.657 0, 1122154.561 1157547.459 0, 1121891.365 1157540.277 0, 1121628.169 1157533.11 0, 1121364.972 1157525.959 0,
+ 1121101.774 1157518.824 0, 1120838.576 1157511.704 0, 1120575.378 1157504.599 0, 1120312.18 1157497.51 0, 1120047.726 1157490.403 0, 1119785.781 1157483.378 0, 1119522.581 1157476.336 0, 1119259.381 1157469.309 0, 1118996.18 1157462.297 0, 1118732.979 1157455.301 0,
+ 1118469.777 1157448.32 0, 1118206.575 1157441.355 0, 1117943.373 1157434.406 0, 1117680.17 1157427.471 0, 1117416.967 1157420.553 0, 1117153.763 1157413.65 0, 1116890.559 1157406.762 0, 1116627.355 1157399.89 0, 1116364.15 1157393.033 0, 1116100.945 1157386.192 0,
+ 1115837.739 1157379.366 0, 1115574.533 1157372.556 0, 1115311.327 1157365.761 0, 1115048.12 1157358.982 0, 1114784.913 1157352.218 0, 1114521.705 1157345.47 0, 1114258.497 1157338.737 0, 1113995.288 1157332.02 0, 1113730.824 1157325.286 0, 1113588.931 1162904.571 0,
+ 1113447.039 1168483.816 0, 1113710.843 1168490.532 0, 1113973.395 1168497.233 0, 1114235.946 1168503.949 0, 1114498.497 1168510.68 0, 1114761.047 1168517.427 0, 1115023.598 1168524.19 0, 1115286.147 1168530.967 0, 1115548.696 1168537.761 0, 1115811.245 1168544.569 0,
+ 1116073.794 1168551.393 0, 1116336.342 1168558.233 0, 1116598.89 1168565.088 0, 1116861.437 1168571.959 0, 1117123.984 1168578.845 0, 1117386.53 1168585.746 0, 1117649.076 1168592.663 0, 1117911.622 1168599.595 0, 1118174.167 1168606.543 0, 1118436.712 1168613.506 0,
+ 1118699.256 1168620.485 0, 1118961.8 1168627.479 0, 1119224.344 1168634.489 0, 1119486.887 1168641.514 0, 1119748.179 1168648.52 0, 1120011.972 1168655.61 0, 1120274.514 1168662.681 0, 1120537.056 1168669.768 0, 1120799.597 1168676.871 0, 1121062.137 1168683.988 0,
+ 1121324.678 1168691.121 0, 1121587.217 1168698.27 0, 1121849.757 1168705.434 0, 1122112.296 1168712.614 0, 1122374.834 1168719.809 0, 1122637.373 1168727.019 0, 1122899.91 1168734.245 0, 1123162.448 1168741.487 0, 1123424.984 1168748.743 0, 1123687.521 1168756.016 0,
+ 1123950.057 1168763.303 0, 1124212.593 1168770.607 0, 1124475.128 1168777.925 0, 1124737.662 1168785.259 0, 1125000.197 1168792.609 0, 1125262.731 1168799.974 0, 1125525.264 1168807.354 0, 1125787.797 1168814.75 0, 1126049.079 1168822.126 0, 1126206.733 1163243.305 0,
+ 1126364.389 1157664.443 0))
+
+POLYGON ((1138650.114 1169196.039 0, 1138388.851 1169187.924 0, 1138126.34 1169179.787 0, 1137863.829 1169171.665 0, 1137601.317 1169163.558 0, 1137338.804 1169155.467 0, 1137076.291 1169147.391 0, 1136813.778 1169139.331 0, 1136551.264 1169131.286 0, 1136288.749 1169123.256 0,
+ 1136026.235 1169115.242 0, 1135763.719 1169107.244 0, 1135501.203 1169099.261 0, 1135238.687 1169091.293 0, 1134976.17 1169083.341 0, 1134713.653 1169075.404 0, 1134451.136 1169067.483 0, 1134188.618 1169059.577 0, 1133926.099 1169051.687 0, 1133663.58 1169043.812 0,
+ 1133401.06 1169035.953 0, 1133138.54 1169028.109 0, 1132876.02 1169020.28 0, 1132613.499 1169012.467 0, 1132349.729 1169004.632 0, 1132088.456 1168996.887 0, 1131825.934 1168989.12 0, 1131563.411 1168981.369 0, 1131300.888 1168973.633 0, 1131038.364 1168965.913 0,
+ 1130775.84 1168958.208 0, 1130513.315 1168950.519 0, 1130250.79 1168942.845 0, 1129988.265 1168935.186 0, 1129725.739 1168927.543 0, 1129463.213 1168919.915 0, 1129200.686 1168912.303 0, 1128938.159 1168904.706 0, 1128675.631 1168897.125 0, 1128413.103 1168889.559 0,
+ 1128150.574 1168882.009 0, 1127888.045 1168874.474 0, 1127625.516 1168866.954 0, 1127362.986 1168859.45 0, 1127100.455 1168851.961 0, 1126837.925 1168844.488 0, 1126575.393 1168837.031 0, 1126312.862 1168829.588 0, 1126049.079 1168822.126 0, 1125891.427 1174400.903 0,
+ 1125733.775 1179979.63 0, 1125996.898 1179987.073 0, 1126258.773 1179994.497 0, 1126520.647 1180001.936 0, 1126782.521 1180009.39 0, 1127044.395 1180016.86 0, 1127306.268 1180024.346 0, 1127568.141 1180031.846 0, 1127830.013 1180039.362 0, 1128091.885 1180046.894 0,
+ 1128353.757 1180054.441 0, 1128615.628 1180062.003 0, 1128877.498 1180069.581 0, 1129139.368 1180077.174 0, 1129401.238 1180084.783 0, 1129663.107 1180092.407 0, 1129924.976 1180100.046 0, 1130186.844 1180107.701 0, 1130448.712 1180115.371 0, 1130710.58 1180123.057 0,
+ 1130972.447 1180130.758 0, 1131234.313 1180138.475 0, 1131496.179 1180146.206 0, 1131758.045 1180153.954 0, 1132018.664 1180161.679 0, 1132281.774 1180169.495 0, 1132543.639 1180177.288 0, 1132805.502 1180185.097 0, 1133067.366 1180192.921 0, 1133329.229 1180200.761 0,
+ 1133591.091 1180208.616 0, 1133852.953 1180216.487 0, 1134114.814 1180224.373 0, 1134376.675 1180232.275 0, 1134638.536 1180240.191 0, 1134900.396 1180248.124 0, 1135162.256 1180256.071 0, 1135424.115 1180264.034 0, 1135685.973 1180272.013 0, 1135947.832 1180280.007 0,
+ 1136209.689 1180288.016 0, 1136471.546 1180296.041 0, 1136733.403 1180304.081 0, 1136995.26 1180312.137 0, 1137257.115 1180320.208 0, 1137518.971 1180328.294 0, 1137780.826 1180336.396 0, 1138042.68 1180344.513 0, 1138303.289 1180352.607 0, 1138476.701 1174774.347 0,
+ 1138650.114 1169196.039 0))
+
+POLYGON ((1150871.699 1180761.094 0, 1150611.112 1180752.263 0, 1150349.281 1180743.406 0, 1150087.45 1180734.565 0, 1149825.619 1180725.739 0, 1149563.787 1180716.928 0, 1149301.954 1180708.133 0, 1149040.121 1180699.353 0, 1148778.288 1180690.588 0, 1148516.454 1180681.839 0,
+ 1148254.619 1180673.105 0, 1147992.784 1180664.387 0, 1147730.949 1180655.684 0, 1147469.112 1180646.997 0, 1147207.276 1180638.325 0, 1146945.439 1180629.668 0, 1146683.601 1180621.027 0, 1146421.763 1180612.401 0, 1146159.924 1180603.791 0, 1145898.085 1180595.196 0,
+ 1145636.246 1180586.616 0, 1145374.405 1180578.052 0, 1145112.565 1180569.503 0, 1144850.724 1180560.97 0, 1144587.638 1180552.412 0, 1144327.04 1180543.95 0, 1144065.197 1180535.463 0, 1143803.354 1180526.991 0, 1143541.51 1180518.535 0, 1143279.666 1180510.094 0,
+ 1143017.821 1180501.668 0, 1142755.976 1180493.258 0, 1142494.131 1180484.864 0, 1142232.285 1180476.484 0, 1141970.438 1180468.121 0, 1141708.591 1180459.772 0, 1141446.743 1180451.439 0, 1141184.895 1180443.122 0, 1140923.046 1180434.82 0, 1140661.197 1180426.533 0,
+ 1140399.348 1180418.261 0, 1140137.498 1180410.006 0, 1139875.647 1180401.765 0, 1139613.796 1180393.54 0, 1139351.945 1180385.33 0, 1139090.093 1180377.136 0, 1138828.24 1180368.957 0, 1138566.387 1180360.794 0, 1138303.289 1180352.607 0, 1138129.879 1185930.812 0,
+ 1137956.471 1191508.959 0, 1138218.91 1191517.125 0, 1138480.106 1191525.268 0, 1138741.302 1191533.426 0, 1139002.497 1191541.6 0, 1139263.692 1191549.789 0, 1139524.886 1191557.993 0, 1139786.08 1191566.213 0, 1140047.274 1191574.449 0, 1140308.467 1191582.699 0,
+ 1140569.659 1191590.965 0, 1140830.851 1191599.246 0, 1141092.042 1191607.543 0, 1141353.233 1191615.855 0, 1141614.424 1191624.183 0, 1141875.614 1191632.526 0, 1142136.803 1191640.884 0, 1142397.992 1191649.257 0, 1142659.181 1191657.646 0, 1142920.369 1191666.051 0,
+ 1143181.557 1191674.47 0, 1143442.744 1191682.905 0, 1143703.93 1191691.356 0, 1143965.116 1191699.822 0, 1144225.061 1191708.262 0, 1144487.487 1191716.799 0, 1144748.671 1191725.311 0, 1145009.855 1191733.839 0, 1145271.039 1191742.381 0, 1145532.222 1191750.939 0,
+ 1145793.405 1191759.513 0, 1146054.587 1191768.102 0, 1146315.768 1191776.706 0, 1146576.949 1191785.325 0, 1146838.13 1191793.96 0, 1147099.31 1191802.61 0, 1147360.489 1191811.276 0, 1147621.668 1191819.957 0, 1147882.847 1191828.654 0, 1148144.025 1191837.365 0,
+ 1148405.202 1191846.092 0, 1148666.379 1191854.835 0, 1148927.555 1191863.593 0, 1149188.731 1191872.366 0, 1149449.907 1191881.155 0, 1149711.082 1191889.959 0, 1149972.256 1191898.778 0, 1150233.43 1191907.613 0, 1150493.363 1191916.421 0, 1150682.53 1186338.787 0,
+ 1150871.699 1180761.094 0))
+
+POLYGON ((1163029.055 1192359.301 0, 1162769.145 1192349.758 0, 1162507.997 1192340.186 0, 1162246.849 1192330.628 0, 1161985.7 1192321.087 0, 1161724.55 1192311.56 0, 1161463.4 1192302.049 0, 1161202.249 1192292.553 0, 1160941.098 1192283.073 0, 1160679.947 1192273.608 0,
+ 1160418.794 1192264.158 0, 1160157.641 1192254.724 0, 1159896.488 1192245.305 0, 1159635.334 1192235.902 0, 1159374.179 1192226.514 0, 1159113.024 1192217.141 0, 1158851.869 1192207.783 0, 1158590.713 1192198.441 0, 1158329.556 1192189.115 0, 1158068.399 1192179.803 0,
+ 1157807.241 1192170.508 0, 1157546.082 1192161.227 0, 1157284.923 1192151.962 0, 1157023.764 1192142.712 0, 1156761.365 1192133.434 0, 1156501.443 1192124.259 0, 1156240.282 1192115.055 0, 1155979.121 1192105.867 0, 1155717.959 1192096.694 0, 1155456.796 1192087.536 0,
+ 1155195.633 1192078.394 0, 1154934.469 1192069.267 0, 1154673.304 1192060.156 0, 1154412.14 1192051.06 0, 1154150.974 1192041.979 0, 1153889.808 1192032.914 0, 1153628.642 1192023.864 0, 1153367.475 1192014.829 0, 1153106.307 1192005.81 0, 1152845.139 1191996.806 0,
+ 1152583.971 1191987.817 0, 1152322.802 1191978.844 0, 1152061.632 1191969.887 0, 1151800.462 1191960.944 0, 1151539.291 1191952.017 0, 1151278.12 1191943.106 0, 1151016.948 1191934.209 0, 1150755.776 1191925.329 0, 1150493.363 1191916.421 0, 1150304.199 1197493.992 0,
+ 1150115.037 1203071.494 0, 1150376.789 1203080.38 0, 1150637.305 1203089.238 0, 1150897.82 1203098.112 0, 1151158.335 1203107.001 0, 1151418.849 1203115.906 0, 1151679.363 1203124.826 0, 1151939.876 1203133.761 0, 1152200.388 1203142.711 0, 1152460.9 1203151.677 0,
+ 1152721.412 1203160.659 0, 1152981.923 1203169.655 0, 1153242.433 1203178.667 0, 1153502.943 1203187.694 0, 1153763.453 1203196.737 0, 1154023.961 1203205.795 0, 1154284.47 1203214.868 0, 1154544.978 1203223.956 0, 1154805.485 1203233.06 0, 1155065.991 1203242.179 0,
+ 1155326.498 1203251.314 0, 1155587.003 1203260.464 0, 1155847.508 1203269.629 0, 1156108.013 1203278.81 0, 1156367.282 1203287.962 0, 1156629.02 1203297.217 0, 1156889.523 1203306.443 0, 1157150.026 1203315.685 0, 1157410.528 1203324.942 0, 1157671.029 1203334.215 0,
+ 1157931.53 1203343.503 0, 1158192.03 1203352.806 0, 1158452.529 1203362.124 0, 1158713.029 1203371.458 0, 1158973.527 1203380.808 0, 1159234.025 1203390.172 0, 1159494.523 1203399.552 0, 1159755.02 1203408.947 0, 1160015.516 1203418.358 0, 1160276.012 1203427.784 0,
+ 1160536.507 1203437.225 0, 1160797.002 1203446.681 0, 1161057.496 1203456.153 0, 1161317.989 1203465.64 0, 1161578.482 1203475.143 0, 1161838.975 1203484.661 0, 1162099.467 1203494.194 0, 1162359.958 1203503.742 0, 1162619.214 1203513.261 0, 1162824.133 1197936.315 0,
+ 1163029.055 1192359.301 0))
+
+POLYGON ((1175122.094 1203990.352 0, 1174862.864 1203980.101 0, 1174602.4 1203969.817 0, 1174341.936 1203959.548 0, 1174081.472 1203949.294 0, 1173821.007 1203939.055 0, 1173560.541 1203928.832 0, 1173300.075 1203918.625 0, 1173039.608 1203908.432 0, 1172779.14 1203898.255 0,
+ 1172518.672 1203888.093 0, 1172258.203 1203877.947 0, 1171997.734 1203867.816 0, 1171737.264 1203857.7 0, 1171476.794 1203847.599 0, 1171216.322 1203837.514 0, 1170955.851 1203827.445 0, 1170695.378 1203817.39 0, 1170434.906 1203807.351 0, 1170174.432 1203797.327 0,
+ 1169913.958 1203787.319 0, 1169653.483 1203777.326 0, 1169393.008 1203767.348 0, 1169132.532 1203757.385 0, 1168870.823 1203747.391 0, 1168611.579 1203737.506 0, 1168351.101 1203727.59 0, 1168090.623 1203717.689 0, 1167830.144 1203707.803 0, 1167569.665 1203697.932 0,
+ 1167309.185 1203688.077 0, 1167048.705 1203678.237 0, 1166788.224 1203668.413 0, 1166527.742 1203658.604 0, 1166267.26 1203648.81 0, 1166006.777 1203639.031 0, 1165746.294 1203629.268 0, 1165485.81 1203619.52 0, 1165225.325 1203609.788 0, 1164964.84 1203600.071 0,
+ 1164704.354 1203590.369 0, 1164443.868 1203580.682 0, 1164183.381 1203571.011 0, 1163922.894 1203561.355 0, 1163662.406 1203551.715 0, 1163401.918 1203542.09 0, 1163141.429 1203532.48 0, 1162880.939 1203522.885 0, 1162619.214 1203513.261 0, 1162414.298 1209090.134 0,
+ 1162209.385 1214666.929 0, 1162470.45 1214676.53 0, 1162730.283 1214686.1 0, 1162990.115 1214695.686 0, 1163249.947 1214705.287 0, 1163509.779 1214714.903 0, 1163769.61 1214724.534 0, 1164029.44 1214734.181 0, 1164289.27 1214743.843 0, 1164549.099 1214753.521 0,
+ 1164808.928 1214763.213 0, 1165068.756 1214772.921 0, 1165328.583 1214782.645 0, 1165588.41 1214792.383 0, 1165848.237 1214802.137 0, 1166108.062 1214811.906 0, 1166367.887 1214821.691 0, 1166627.712 1214831.49 0, 1166887.536 1214841.305 0, 1167147.36 1214851.136 0,
+ 1167407.182 1214860.981 0, 1167667.005 1214870.842 0, 1167926.826 1214880.718 0, 1168186.648 1214890.61 0, 1168445.238 1214900.47 0, 1168706.288 1214910.439 0, 1168966.107 1214920.376 0, 1169225.926 1214930.329 0, 1169485.744 1214940.297 0, 1169745.562 1214950.28 0,
+ 1170005.379 1214960.278 0, 1170265.195 1214970.292 0, 1170525.011 1214980.321 0, 1170784.827 1214990.366 0, 1171044.641 1215000.425 0, 1171304.455 1215010.5 0, 1171564.269 1215020.591 0, 1171824.082 1215030.696 0, 1172083.894 1215040.817 0, 1172343.706 1215050.953 0,
+ 1172603.517 1215061.105 0, 1172863.327 1215071.272 0, 1173123.137 1215081.454 0, 1173382.947 1215091.651 0, 1173642.755 1215101.864 0, 1173902.563 1215112.091 0, 1174162.371 1215122.335 0, 1174422.178 1215132.593 0, 1174680.755 1215142.818 0, 1174901.423 1209566.624 0,
+ 1175122.094 1203990.352 0))
+
+POLYGON ((1187150.731 1215653.939 0, 1186892.182 1215642.983 0, 1186632.405 1215631.991 0, 1186372.627 1215621.014 0, 1186112.849 1215610.052 0, 1185853.07 1215599.105 0, 1185593.291 1215588.174 0, 1185333.511 1215577.258 0, 1185073.73 1215566.357 0, 1184813.948 1215555.472 0,
+ 1184554.166 1215544.602 0, 1184294.384 1215533.747 0, 1184034.601 1215522.907 0, 1183774.817 1215512.083 0, 1183515.032 1215501.274 0, 1183255.247 1215490.48 0, 1182995.461 1215479.702 0, 1182735.674 1215468.939 0, 1182475.887 1215458.191 0, 1182216.1 1215447.459 0,
+ 1181956.311 1215436.741 0, 1181696.522 1215426.039 0, 1181436.733 1215415.353 0, 1181176.942 1215404.681 0, 1180915.923 1215393.975 0, 1180657.36 1215383.384 0, 1180397.568 1215372.759 0, 1180137.775 1215362.149 0, 1179877.982 1215351.554 0, 1179618.188 1215340.974 0,
+ 1179358.393 1215330.41 0, 1179098.598 1215319.861 0, 1178838.802 1215309.327 0, 1178579.005 1215298.809 0, 1178319.208 1215288.306 0, 1178059.41 1215277.818 0, 1177799.612 1215267.345 0, 1177539.813 1215256.888 0, 1177280.014 1215246.446 0, 1177020.213 1215236.019 0,
+ 1176760.412 1215225.608 0, 1176500.611 1215215.212 0, 1176240.809 1215204.831 0, 1175981.006 1215194.465 0, 1175721.203 1215184.115 0, 1175461.399 1215173.78 0, 1175201.595 1215163.46 0, 1174941.79 1215153.156 0, 1174680.755 1215142.818 0, 1174460.09 1220718.93 0,
+ 1174239.429 1226294.955 0, 1174499.804 1226305.267 0, 1174758.953 1226315.545 0, 1175018.101 1226325.839 0, 1175277.248 1226336.148 0, 1175536.395 1226346.472 0, 1175795.542 1226356.811 0, 1176054.687 1226367.166 0, 1176313.832 1226377.535 0, 1176572.977 1226387.921 0,
+ 1176832.12 1226398.321 0, 1177091.264 1226408.737 0, 1177350.406 1226419.167 0, 1177609.548 1226429.613 0, 1177868.69 1226440.075 0, 1178127.83 1226450.551 0, 1178386.971 1226461.043 0, 1178646.11 1226471.55 0, 1178905.249 1226482.073 0, 1179164.387 1226492.611 0,
+ 1179423.525 1226503.163 0, 1179682.662 1226513.732 0, 1179941.798 1226524.315 0, 1180200.934 1226534.914 0, 1180458.844 1226545.477 0, 1180719.204 1226556.157 0, 1180978.338 1226566.801 0, 1181237.471 1226577.461 0, 1181496.604 1226588.136 0, 1181755.736 1226598.826 0,
+ 1182014.867 1226609.531 0, 1182273.998 1226620.252 0, 1182533.128 1226630.988 0, 1182792.257 1226641.739 0, 1183051.386 1226652.505 0, 1183310.515 1226663.287 0, 1183569.642 1226674.084 0, 1183828.769 1226684.896 0, 1184087.896 1226695.723 0, 1184347.021 1226706.566 0,
+ 1184606.146 1226717.424 0, 1184865.271 1226728.297 0, 1185124.394 1226739.186 0, 1185383.518 1226750.089 0, 1185642.64 1226761.008 0, 1185901.762 1226771.942 0, 1186160.883 1226782.892 0, 1186420.004 1226793.857 0, 1186677.9 1226804.785 0, 1186914.313 1221229.405 0,
+ 1187150.731 1215653.939 0))
+
+POLYGON ((1199114.881 1227349.753 0, 1198857.014 1227338.096 0, 1198597.926 1227326.4 0, 1198338.837 1227314.718 0, 1198079.747 1227303.052 0, 1197820.656 1227291.401 0, 1197561.565 1227279.765 0, 1197302.473 1227268.145 0, 1197043.38 1227256.54 0, 1196784.287 1227244.95 0,
+ 1196525.193 1227233.375 0, 1196266.098 1227221.815 0, 1196007.003 1227210.271 0, 1195747.907 1227198.742 0, 1195488.81 1227187.229 0, 1195229.713 1227175.73 0, 1194970.614 1227164.247 0, 1194711.516 1227152.779 0, 1194452.416 1227141.326 0, 1194193.316 1227129.889 0,
+ 1193934.215 1227118.467 0, 1193675.114 1227107.06 0, 1193416.012 1227095.668 0, 1193156.909 1227084.291 0, 1192896.583 1227072.877 0, 1192638.701 1227061.584 0, 1192379.596 1227050.254 0, 1192120.491 1227038.938 0, 1191861.385 1227027.638 0, 1191602.278 1227016.353 0,
+ 1191343.171 1227005.083 0, 1191084.062 1226993.829 0, 1190824.954 1226982.59 0, 1190565.844 1226971.366 0, 1190306.734 1226960.157 0, 1190047.623 1226948.964 0, 1189788.512 1226937.785 0, 1189529.4 1226926.622 0, 1189270.287 1226915.475 0, 1189011.174 1226904.342 0,
+ 1188752.06 1226893.225 0, 1188492.945 1226882.123 0, 1188233.829 1226871.036 0, 1187974.713 1226859.965 0, 1187715.597 1226848.909 0, 1187456.479 1226837.868 0, 1187197.361 1226826.842 0, 1186938.243 1226815.832 0, 1186677.9 1226804.785 0, 1186441.49 1232380.072 0,
+ 1186205.084 1237955.263 0, 1186464.768 1237966.282 0, 1186723.23 1237977.264 0, 1186981.692 1237988.262 0, 1187240.153 1237999.275 0, 1187498.613 1238010.303 0, 1187757.073 1238021.347 0, 1188015.532 1238032.405 0, 1188273.991 1238043.479 0, 1188532.448 1238054.568 0,
+ 1188790.905 1238065.672 0, 1189049.362 1238076.792 0, 1189307.818 1238087.926 0, 1189566.273 1238099.076 0, 1189824.727 1238110.241 0, 1190083.181 1238121.422 0, 1190341.634 1238132.617 0, 1190600.087 1238143.828 0, 1190858.539 1238155.054 0, 1191116.99 1238166.295 0,
+ 1191375.441 1238177.552 0, 1191633.891 1238188.823 0, 1191892.34 1238200.11 0, 1192150.788 1238211.412 0, 1192408.016 1238222.676 0, 1192667.683 1238234.062 0, 1192926.13 1238245.409 0, 1193184.576 1238256.772 0, 1193443.021 1238268.15 0, 1193701.466 1238279.543 0,
+ 1193959.909 1238290.952 0, 1194218.353 1238302.376 0, 1194476.795 1238313.814 0, 1194735.237 1238325.269 0, 1194993.678 1238336.738 0, 1195252.119 1238348.222 0, 1195510.559 1238359.722 0, 1195768.998 1238371.237 0, 1196027.436 1238382.767 0, 1196285.874 1238394.313 0,
+ 1196544.311 1238405.873 0, 1196802.748 1238417.449 0, 1197061.183 1238429.04 0, 1197319.618 1238440.646 0, 1197578.053 1238452.268 0, 1197836.486 1238463.905 0, 1198094.919 1238475.556 0, 1198353.352 1238487.224 0, 1198610.565 1238498.851 0, 1198862.721 1232924.35 0,
+ 1199114.881 1227349.753 0))
+
+POLYGON ((1211014.46 1239077.484 0, 1210757.279 1239065.13 0, 1210498.881 1239052.733 0, 1210240.482 1239040.351 0, 1209982.082 1239027.985 0, 1209723.681 1239015.633 0, 1209465.28 1239003.297 0, 1209206.878 1238990.976 0, 1208948.475 1238978.67 0, 1208690.072 1238966.379 0,
+ 1208431.668 1238954.104 0, 1208173.263 1238941.843 0, 1207914.857 1238929.598 0, 1207656.451 1238917.368 0, 1207398.044 1238905.154 0, 1207139.636 1238892.954 0, 1206881.228 1238880.77 0, 1206622.819 1238868.601 0, 1206364.409 1238856.447 0, 1206105.998 1238844.309 0,
+ 1205847.587 1238832.185 0, 1205589.175 1238820.077 0, 1205330.762 1238807.984 0, 1205072.349 1238795.906 0, 1204812.717 1238783.787 0, 1204555.52 1238771.797 0, 1204297.104 1238759.764 0, 1204038.688 1238747.747 0, 1203780.271 1238735.746 0, 1203521.853 1238723.759 0,
+ 1203263.435 1238711.788 0, 1203005.015 1238699.832 0, 1202746.596 1238687.891 0, 1202488.175 1238675.965 0, 1202229.754 1238664.055 0, 1201971.332 1238652.16 0, 1201712.909 1238640.28 0, 1201454.486 1238628.415 0, 1201196.062 1238616.565 0, 1200937.637 1238604.731 0,
+ 1200679.212 1238592.912 0, 1200420.786 1238581.108 0, 1200162.359 1238569.319 0, 1199903.931 1238557.545 0, 1199645.503 1238545.787 0, 1199387.074 1238534.044 0, 1199128.645 1238522.316 0, 1198870.214 1238510.603 0, 1198610.565 1238498.851 0, 1198358.414 1244073.25 0,
+ 1198106.267 1249647.542 0, 1198365.258 1249659.265 0, 1198623.032 1249670.948 0, 1198880.805 1249682.646 0, 1199138.578 1249694.36 0, 1199396.35 1249706.088 0, 1199654.121 1249717.832 0, 1199911.892 1249729.591 0, 1200169.662 1249741.365 0, 1200427.431 1249753.154 0,
+ 1200685.2 1249764.958 0, 1200942.967 1249776.778 0, 1201200.735 1249788.612 0, 1201458.501 1249800.462 0, 1201716.267 1249812.327 0, 1201974.032 1249824.207 0, 1202231.796 1249836.103 0, 1202489.56 1249848.013 0, 1202747.323 1249859.939 0, 1203005.085 1249871.88 0,
+ 1203262.847 1249883.836 0, 1203520.608 1249895.807 0, 1203778.368 1249907.794 0, 1204036.127 1249919.795 0, 1204292.671 1249931.755 0, 1204551.644 1249943.844 0, 1204809.401 1249955.891 0, 1205067.158 1249967.953 0, 1205324.914 1249980.031 0, 1205582.669 1249992.123 0,
+ 1205840.423 1250004.231 0, 1206098.177 1250016.354 0, 1206355.93 1250028.492 0, 1206613.683 1250040.645 0, 1206871.434 1250052.814 0, 1207129.185 1250064.997 0, 1207386.935 1250077.196 0, 1207644.685 1250089.41 0, 1207902.433 1250101.639 0, 1208160.181 1250113.884 0,
+ 1208417.929 1250126.143 0, 1208675.675 1250138.418 0, 1208933.421 1250150.708 0, 1209191.166 1250163.013 0, 1209448.911 1250175.333 0, 1209706.654 1250187.668 0, 1209964.397 1250200.019 0, 1210222.14 1250212.384 0, 1210478.668 1250224.707 0, 1210746.561 1244651.149 0,
+ 1211014.46 1239077.484 0))
+
+POLYGON ((1222849.388 1250836.823 0, 1222592.894 1250823.776 0, 1222335.188 1250810.682 0, 1222077.481 1250797.603 0, 1221819.773 1250784.54 0, 1221562.064 1250771.492 0, 1221304.355 1250758.459 0, 1221046.645 1250745.441 0, 1220788.934 1250732.438 0, 1220531.222 1250719.45 0,
+ 1220273.51 1250706.478 0, 1220015.797 1250693.521 0, 1219758.083 1250680.578 0, 1219500.368 1250667.651 0, 1219242.653 1250654.74 0, 1218984.936 1250641.843 0, 1218727.219 1250628.962 0, 1218469.502 1250616.095 0, 1218211.783 1250603.244 0, 1217954.064 1250590.408 0,
+ 1217696.344 1250577.588 0, 1217438.623 1250564.782 0, 1217180.902 1250551.992 0, 1216923.179 1250539.216 0, 1216664.244 1250526.396 0, 1216407.733 1250513.711 0, 1216150.008 1250500.982 0, 1215892.283 1250488.267 0, 1215634.557 1250475.568 0, 1215376.83 1250462.883 0,
+ 1215119.103 1250450.214 0, 1214861.374 1250437.56 0, 1214603.645 1250424.922 0, 1214345.916 1250412.298 0, 1214088.185 1250399.69 0, 1213830.454 1250387.097 0, 1213572.722 1250374.518 0, 1213314.989 1250361.956 0, 1213057.256 1250349.408 0, 1212799.522 1250336.875 0,
+ 1212541.787 1250324.358 0, 1212284.051 1250311.856 0, 1212026.315 1250299.369 0, 1211768.578 1250286.897 0, 1211510.84 1250274.44 0, 1211253.101 1250261.999 0, 1210995.362 1250249.572 0, 1210737.622 1250237.161 0, 1210478.668 1250224.707 0, 1210210.779 1255798.154 0,
+ 1209942.897 1261371.485 0, 1210201.192 1261383.907 0, 1210458.276 1261396.287 0, 1210715.359 1261408.681 0, 1210972.441 1261421.091 0, 1211229.523 1261433.516 0, 1211486.604 1261445.956 0, 1211743.685 1261458.412 0, 1212000.764 1261470.882 0, 1212257.843 1261483.368 0,
+ 1212514.921 1261495.868 0, 1212771.998 1261508.384 0, 1213029.075 1261520.915 0, 1213286.151 1261533.461 0, 1213543.226 1261546.022 0, 1213800.301 1261558.598 0, 1214057.374 1261571.19 0, 1214314.447 1261583.796 0, 1214571.519 1261596.418 0, 1214828.591 1261609.055 0,
+ 1215085.662 1261621.707 0, 1215342.731 1261634.374 0, 1215599.801 1261647.056 0, 1215856.869 1261659.753 0, 1216112.728 1261672.406 0, 1216371.004 1261685.194 0, 1216628.07 1261697.936 0, 1216885.136 1261710.694 0, 1217142.2 1261723.467 0, 1217399.264 1261736.255 0,
+ 1217656.328 1261749.058 0, 1217913.39 1261761.877 0, 1218170.452 1261774.71 0, 1218427.513 1261787.559 0, 1218684.573 1261800.423 0, 1218941.632 1261813.302 0, 1219198.691 1261826.196 0, 1219455.749 1261839.105 0, 1219712.806 1261852.029 0, 1219969.862 1261864.969 0,
+ 1220226.918 1261877.923 0, 1220483.973 1261890.893 0, 1220741.027 1261903.878 0, 1220998.08 1261916.878 0, 1221255.133 1261929.893 0, 1221512.185 1261942.923 0, 1221769.236 1261955.968 0, 1222026.286 1261969.029 0, 1222282.127 1261982.043 0, 1222565.755 1256409.491 0,
+ 1222849.388 1250836.823 0))
+
+POLYGON ((1234619.584 1262627.459 0, 1234363.779 1262613.722 0, 1234106.766 1262599.936 0, 1233849.753 1262586.164 0, 1233592.739 1262572.408 0, 1233335.724 1262558.666 0, 1233078.709 1262544.94 0, 1232821.692 1262531.229 0, 1232564.675 1262517.534 0, 1232307.657 1262503.853 0,
+ 1232050.638 1262490.187 0, 1231793.619 1262476.537 0, 1231536.598 1262462.901 0, 1231279.577 1262449.281 0, 1231022.555 1262435.676 0, 1230765.532 1262422.086 0, 1230508.509 1262408.511 0, 1230251.484 1262394.952 0, 1229994.459 1262381.407 0, 1229737.433 1262367.878 0,
+ 1229480.406 1262354.363 0, 1229223.378 1262340.864 0, 1228966.35 1262327.38 0, 1228709.321 1262313.911 0, 1228451.084 1262300.394 0, 1228195.26 1262287.018 0, 1227938.228 1262273.595 0, 1227681.196 1262260.186 0, 1227424.163 1262246.793 0, 1227167.129 1262233.415 0,
+ 1226910.094 1262220.052 0, 1226653.059 1262206.704 0, 1226396.022 1262193.371 0, 1226138.985 1262180.054 0, 1225881.948 1262166.751 0, 1225624.909 1262153.464 0, 1225367.869 1262140.191 0, 1225110.829 1262126.934 0, 1224853.788 1262113.692 0, 1224596.746 1262100.465 0,
+ 1224339.704 1262087.254 0, 1224082.661 1262074.057 0, 1223825.616 1262060.876 0, 1223568.572 1262047.709 0, 1223311.526 1262034.558 0, 1223054.48 1262021.422 0, 1222797.432 1262008.301 0, 1222540.384 1261995.195 0, 1222282.127 1261982.043 0, 1221998.506 1267554.474 0,
+ 1221714.891 1273126.779 0, 1221972.489 1273139.897 0, 1222228.881 1273152.97 0, 1222485.273 1273166.057 0, 1222741.663 1273179.16 0, 1222998.053 1273192.277 0, 1223254.442 1273205.41 0, 1223510.83 1273218.558 0, 1223767.217 1273231.721 0, 1224023.604 1273244.899 0,
+ 1224279.99 1273258.092 0, 1224536.375 1273271.3 0, 1224792.759 1273284.524 0, 1225049.143 1273297.762 0, 1225305.525 1273311.016 0, 1225561.907 1273324.284 0, 1225818.288 1273337.568 0, 1226074.669 1273350.867 0, 1226331.048 1273364.18 0, 1226587.427 1273377.509 0,
+ 1226843.805 1273390.853 0, 1227100.182 1273404.213 0, 1227356.559 1273417.587 0, 1227612.934 1273430.976 0, 1227868.105 1273444.317 0, 1228125.683 1273457.8 0, 1228382.057 1273471.234 0, 1228638.429 1273484.684 0, 1228894.801 1273498.149 0, 1229151.172 1273511.629 0,
+ 1229407.542 1273525.124 0, 1229663.911 1273538.634 0, 1229920.28 1273552.159 0, 1230176.648 1273565.699 0, 1230433.014 1273579.254 0, 1230689.381 1273592.825 0, 1230945.746 1273606.41 0, 1231202.111 1273620.011 0, 1231458.474 1273633.626 0, 1231714.837 1273647.257 0,
+ 1231971.199 1273660.903 0, 1232227.561 1273674.564 0, 1232483.921 1273688.24 0, 1232740.281 1273701.931 0, 1232996.64 1273715.637 0, 1233252.998 1273729.358 0, 1233509.355 1273743.095 0, 1233765.712 1273756.846 0, 1234020.864 1273770.548 0, 1234320.221 1268199.066 0,
+ 1234619.584 1262627.459 0))
+
+POLYGON ((1246324.97 1274449.081 0, 1246069.855 1274434.659 0, 1245813.538 1274420.183 0, 1245557.221 1274405.722 0, 1245300.902 1274391.277 0, 1245044.583 1274376.846 0, 1244788.263 1274362.431 0, 1244531.942 1274348.031 0, 1244275.62 1274333.646 0, 1244019.298 1274319.276 0,
+ 1243762.974 1274304.921 0, 1243506.65 1274290.581 0, 1243250.325 1274276.256 0, 1242993.999 1274261.947 0, 1242737.672 1274247.652 0, 1242481.345 1274233.372 0, 1242225.016 1274219.108 0, 1241968.687 1274204.859 0, 1241712.357 1274190.624 0, 1241456.026 1274176.405 0,
+ 1241199.694 1274162.201 0, 1240943.361 1274148.012 0, 1240687.028 1274133.838 0, 1240430.694 1274119.679 0, 1240173.157 1274105.469 0, 1239918.023 1274091.407 0, 1239661.686 1274077.294 0, 1239405.348 1274063.195 0, 1239149.01 1274049.112 0, 1238892.67 1274035.043 0,
+ 1238636.33 1274020.99 0, 1238379.989 1274006.952 0, 1238123.647 1273992.929 0, 1237867.305 1273978.921 0, 1237610.961 1273964.928 0, 1237354.617 1273950.951 0, 1237098.272 1273936.988 0, 1236841.926 1273923.04 0, 1236585.58 1273909.108 0, 1236329.232 1273895.19 0,
+ 1236072.884 1273881.288 0, 1235816.534 1273867.401 0, 1235560.184 1273853.529 0, 1235303.834 1273839.672 0, 1235047.482 1273825.83 0, 1234791.13 1273812.003 0, 1234534.776 1273798.191 0, 1234278.422 1273784.394 0, 1234020.864 1273770.548 0, 1233721.515 1279341.899 0,
+ 1233422.173 1284913.114 0, 1233679.072 1284926.924 0, 1233934.77 1284940.686 0, 1234190.468 1284954.462 0, 1234446.164 1284968.254 0, 1234701.86 1284982.06 0, 1234957.555 1284995.882 0, 1235213.249 1285009.719 0, 1235468.942 1285023.57 0, 1235724.635 1285037.437 0,
+ 1235980.327 1285051.319 0, 1236236.018 1285065.216 0, 1236491.708 1285079.128 0, 1236747.397 1285093.055 0, 1237003.085 1285106.997 0, 1237258.773 1285120.954 0, 1237514.46 1285134.926 0, 1237770.146 1285148.913 0, 1238025.831 1285162.915 0, 1238281.515 1285176.932 0,
+ 1238537.199 1285190.965 0, 1238792.882 1285205.012 0, 1239048.563 1285219.074 0, 1239304.244 1285233.152 0, 1239558.726 1285247.178 0, 1239815.604 1285261.352 0, 1240071.283 1285275.475 0, 1240326.96 1285289.612 0, 1240582.637 1285303.765 0, 1240838.313 1285317.933 0,
+ 1241093.988 1285332.115 0, 1241349.663 1285346.313 0, 1241605.336 1285360.526 0, 1241861.009 1285374.754 0, 1242116.681 1285388.997 0, 1242372.352 1285403.255 0, 1242628.022 1285417.528 0, 1242883.691 1285431.816 0, 1243139.36 1285446.119 0, 1243395.028 1285460.438 0,
+ 1243650.694 1285474.771 0, 1243906.36 1285489.119 0, 1244162.025 1285503.483 0, 1244417.69 1285517.861 0, 1244673.353 1285532.255 0, 1244929.016 1285546.663 0, 1245184.677 1285561.087 0, 1245440.338 1285575.525 0, 1245694.801 1285589.911 0, 1246009.881 1280019.564 0,
+ 1246324.97 1274449.081 0))
+
+POLYGON ((1257965.467 1286301.378 0, 1257711.045 1286286.273 0, 1257455.426 1286271.113 0, 1257199.806 1286255.967 0, 1256944.185 1286240.836 0, 1256688.563 1286225.72 0, 1256432.94 1286210.62 0, 1256177.317 1286195.534 0, 1255921.693 1286180.464 0, 1255666.067 1286165.408 0,
+ 1255410.441 1286150.368 0, 1255154.814 1286135.342 0, 1254899.186 1286120.332 0, 1254643.557 1286105.336 0, 1254387.927 1286090.356 0, 1254132.297 1286075.391 0, 1253876.665 1286060.441 0, 1253621.033 1286045.506 0, 1253365.4 1286030.585 0, 1253109.766 1286015.68 0,
+ 1252854.131 1286000.79 0, 1252598.495 1285985.915 0, 1252342.858 1285971.055 0, 1252087.22 1285956.211 0, 1251830.385 1285941.311 0, 1251575.943 1285926.566 0, 1251320.302 1285911.766 0, 1251064.661 1285896.982 0, 1250809.019 1285882.212 0, 1250553.376 1285867.457 0,
+ 1250297.733 1285852.718 0, 1250042.088 1285837.993 0, 1249786.443 1285823.284 0, 1249530.796 1285808.589 0, 1249275.149 1285793.91 0, 1249019.501 1285779.246 0, 1248763.852 1285764.596 0, 1248508.202 1285749.962 0, 1248252.552 1285735.343 0, 1247996.9 1285720.739 0,
+ 1247741.248 1285706.15 0, 1247485.595 1285691.576 0, 1247229.941 1285677.017 0, 1246974.286 1285662.473 0, 1246718.63 1285647.944 0, 1246462.973 1285633.43 0, 1246207.316 1285618.931 0, 1245951.658 1285604.448 0, 1245694.801 1285589.911 0, 1245379.728 1291160.117 0,
+ 1245064.664 1296730.178 0, 1245320.862 1296744.677 0, 1245575.864 1296759.124 0, 1245830.866 1296773.586 0, 1246085.867 1296788.062 0, 1246340.867 1296802.554 0, 1246595.866 1296817.06 0, 1246850.865 1296831.582 0, 1247105.862 1296846.119 0, 1247360.859 1296860.67 0,
+ 1247615.855 1296875.237 0, 1247870.85 1296889.819 0, 1248125.844 1296904.415 0, 1248380.837 1296919.027 0, 1248635.83 1296933.654 0, 1248890.821 1296948.296 0, 1249145.812 1296962.952 0, 1249400.801 1296977.624 0, 1249655.79 1296992.311 0, 1249910.778 1297007.012 0,
+ 1250165.766 1297021.729 0, 1250420.752 1297036.461 0, 1250675.737 1297051.208 0, 1250930.722 1297065.97 0, 1251184.512 1297080.677 0, 1251440.689 1297095.538 0, 1251695.671 1297110.345 0, 1251950.652 1297125.167 0, 1252205.632 1297140.004 0, 1252460.611 1297154.855 0,
+ 1252715.59 1297169.722 0, 1252970.567 1297184.604 0, 1253225.544 1297199.501 0, 1253480.52 1297214.413 0, 1253735.495 1297229.34 0, 1253990.469 1297244.282 0, 1254245.442 1297259.238 0, 1254500.415 1297274.21 0, 1254755.386 1297289.197 0, 1255010.357 1297304.199 0,
+ 1255265.326 1297319.216 0, 1255520.295 1297334.248 0, 1255775.263 1297349.295 0, 1256030.23 1297364.357 0, 1256285.196 1297379.434 0, 1256540.162 1297394.526 0, 1256795.126 1297409.633 0, 1257050.089 1297424.755 0, 1257303.86 1297439.821 0, 1257634.659 1291870.672 0,
+ 1257965.467 1286301.378 0))
+
+POLYGON ((1269541.002 1298184.038 0, 1269287.273 1298168.255 0, 1269032.354 1298152.413 0, 1268777.433 1298136.586 0, 1268522.511 1298120.773 0, 1268267.589 1298104.976 0, 1268012.665 1298089.194 0, 1267757.741 1298073.427 0, 1267502.816 1298057.675 0, 1267247.889 1298041.938 0,
+ 1266992.962 1298026.215 0, 1266738.034 1298010.508 0, 1266483.105 1297994.816 0, 1266228.175 1297979.139 0, 1265973.244 1297963.477 0, 1265718.312 1297947.83 0, 1265463.38 1297932.197 0, 1265208.446 1297916.58 0, 1264953.511 1297900.978 0, 1264698.576 1297885.391 0,
+ 1264443.64 1297869.819 0, 1264188.702 1297854.262 0, 1263933.764 1297838.72 0, 1263678.825 1297823.192 0, 1263422.694 1297807.608 0, 1263168.944 1297792.183 0, 1262914.002 1297776.701 0, 1262659.059 1297761.234 0, 1262404.116 1297745.782 0, 1262149.171 1297730.345 0,
+ 1261894.226 1297714.923 0, 1261639.279 1297699.516 0, 1261384.332 1297684.124 0, 1261129.384 1297668.747 0, 1260874.434 1297653.385 0, 1260619.484 1297638.038 0, 1260364.533 1297622.705 0, 1260109.582 1297607.388 0, 1259854.629 1297592.086 0, 1259599.675 1297576.799 0,
+ 1259344.721 1297561.527 0, 1259089.765 1297546.27 0, 1258834.809 1297531.028 0, 1258579.852 1297515.801 0, 1258324.894 1297500.589 0, 1258069.934 1297485.392 0, 1257814.975 1297470.21 0, 1257560.014 1297455.043 0, 1257303.86 1297439.821 0, 1256973.069 1303008.818 0,
+ 1256642.288 1308577.66 0, 1256897.783 1308592.844 0, 1257152.088 1308607.972 0, 1257406.393 1308623.115 0, 1257660.696 1308638.273 0, 1257914.999 1308653.446 0, 1258169.301 1308668.633 0, 1258423.601 1308683.836 0, 1258677.901 1308699.054 0, 1258932.2 1308714.287 0,
+ 1259186.498 1308729.535 0, 1259440.796 1308744.797 0, 1259695.092 1308760.075 0, 1259949.387 1308775.367 0, 1260203.682 1308790.675 0, 1260457.975 1308805.998 0, 1260712.268 1308821.335 0, 1260966.56 1308836.688 0, 1261220.851 1308852.055 0, 1261475.141 1308867.438 0,
+ 1261729.43 1308882.835 0, 1261983.718 1308898.247 0, 1262238.005 1308913.675 0, 1262492.292 1308929.117 0, 1262745.389 1308944.502 0, 1263000.862 1308960.046 0, 1263255.145 1308975.534 0, 1263509.428 1308991.036 0, 1263763.71 1309006.553 0, 1264017.991 1309022.085 0,
+ 1264272.271 1309037.632 0, 1264526.55 1309053.194 0, 1264780.828 1309068.771 0, 1265035.105 1309084.363 0, 1265289.382 1309099.97 0, 1265543.657 1309115.592 0, 1265797.932 1309131.229 0, 1266052.205 1309146.88 0, 1266306.478 1309162.547 0, 1266560.749 1309178.229 0,
+ 1266815.02 1309193.926 0, 1267069.29 1309209.637 0, 1267323.559 1309225.364 0, 1267577.827 1309241.106 0, 1267832.094 1309256.862 0, 1268086.36 1309272.634 0, 1268340.626 1309288.42 0, 1268594.89 1309304.222 0, 1268847.966 1309319.964 0, 1269194.479 1303752.079 0,
+ 1269541.002 1298184.038 0))
+
+POLYGON ((1281051.499 1310096.749 0, 1280798.466 1310080.291 0, 1280544.247 1310063.771 0, 1280290.028 1310047.267 0, 1280035.807 1310030.777 0, 1279781.586 1310014.302 0, 1279527.363 1309997.842 0, 1279273.14 1309981.397 0, 1279018.915 1309964.967 0, 1278764.69 1309948.552 0,
+ 1278510.463 1309932.152 0, 1278256.236 1309915.767 0, 1278002.008 1309899.397 0, 1277747.778 1309883.042 0, 1277493.548 1309866.701 0, 1277239.317 1309850.376 0, 1276985.085 1309834.066 0, 1276730.852 1309817.771 0, 1276476.617 1309801.49 0, 1276222.382 1309785.225 0,
+ 1275968.146 1309768.974 0, 1275713.909 1309752.739 0, 1275459.671 1309736.518 0, 1275205.433 1309720.313 0, 1274950.007 1309704.047 0, 1274696.952 1309687.947 0, 1274442.71 1309671.786 0, 1274188.468 1309655.64 0, 1273934.224 1309639.51 0, 1273679.979 1309623.394 0,
+ 1273425.734 1309607.293 0, 1273171.487 1309591.207 0, 1272917.24 1309575.137 0, 1272662.992 1309559.081 0, 1272408.742 1309543.04 0, 1272154.492 1309527.014 0, 1271900.241 1309511.003 0, 1271645.989 1309495.007 0, 1271391.736 1309479.026 0, 1271137.482 1309463.06 0,
+ 1270883.227 1309447.109 0, 1270628.971 1309431.172 0, 1270374.714 1309415.251 0, 1270120.456 1309399.345 0, 1269866.197 1309383.454 0, 1269611.938 1309367.577 0, 1269357.677 1309351.716 0, 1269103.416 1309335.87 0, 1268847.966 1309319.964 0, 1268501.463 1314887.689 0,
+ 1268154.97 1320455.247 0, 1268409.761 1320471.112 0, 1268663.368 1320486.917 0, 1268916.973 1320502.738 0, 1269170.577 1320518.573 0, 1269424.18 1320534.423 0, 1269677.783 1320550.289 0, 1269931.384 1320566.169 0, 1270184.985 1320582.064 0, 1270438.584 1320597.974 0,
+ 1270692.183 1320613.899 0, 1270945.781 1320629.839 0, 1271199.377 1320645.793 0, 1271452.973 1320661.763 0, 1271706.568 1320677.748 0, 1271960.162 1320693.747 0, 1272213.755 1320709.762 0, 1272467.347 1320725.791 0, 1272720.938 1320741.836 0, 1272974.528 1320757.895 0,
+ 1273228.118 1320773.969 0, 1273481.706 1320790.058 0, 1273735.293 1320806.162 0, 1273988.88 1320822.281 0, 1274241.282 1320838.34 0, 1274496.05 1320854.564 0, 1274749.633 1320870.728 0, 1275003.216 1320886.907 0, 1275256.797 1320903.1 0, 1275510.378 1320919.309 0,
+ 1275763.958 1320935.532 0, 1276017.536 1320951.77 0, 1276271.114 1320968.024 0, 1276524.691 1320984.292 0, 1276778.267 1321000.575 0, 1277031.842 1321016.873 0, 1277285.416 1321033.186 0, 1277538.989 1321049.514 0, 1277792.561 1321065.857 0, 1278046.132 1321082.215 0,
+ 1278299.702 1321098.588 0, 1278553.271 1321114.975 0, 1278806.84 1321131.378 0, 1279060.407 1321147.795 0, 1279313.973 1321164.228 0, 1279567.538 1321180.675 0, 1279821.103 1321197.137 0, 1280074.666 1321213.614 0, 1280327.046 1321230.03 0, 1280689.267 1315663.472 0,
+ 1281051.499 1310096.749 0))
+
+POLYGON ((1292496.885 1322039.197 0, 1292244.55 1322022.069 0, 1291991.034 1322004.875 0, 1291737.518 1321987.697 0, 1291484 1321970.533 0, 1291230.481 1321953.384 0, 1290976.961 1321936.25 0, 1290723.44 1321919.132 0, 1290469.918 1321902.028 0, 1290216.395 1321884.939 0,
+ 1289962.872 1321867.865 0, 1289709.347 1321850.805 0, 1289455.821 1321833.761 0, 1289202.294 1321816.732 0, 1288948.766 1321799.717 0, 1288695.237 1321782.718 0, 1288441.707 1321765.733 0, 1288188.176 1321748.764 0, 1287934.645 1321731.809 0, 1287681.112 1321714.869 0,
+ 1287427.578 1321697.944 0, 1287174.043 1321681.034 0, 1286920.507 1321664.139 0, 1286666.97 1321647.259 0, 1286412.251 1321630.315 0, 1286159.894 1321613.544 0, 1285906.354 1321596.708 0, 1285652.813 1321579.888 0, 1285399.271 1321563.082 0, 1285145.728 1321546.292 0,
+ 1284892.185 1321529.516 0, 1284638.64 1321512.756 0, 1284385.094 1321496.01 0, 1284131.547 1321479.279 0, 1283878 1321462.563 0, 1283624.451 1321445.862 0, 1283370.901 1321429.176 0, 1283117.35 1321412.505 0, 1282863.799 1321395.848 0, 1282610.246 1321379.207 0,
+ 1282356.693 1321362.581 0, 1282103.138 1321345.969 0, 1281849.582 1321329.372 0, 1281596.026 1321312.791 0, 1281342.468 1321296.224 0, 1281088.91 1321279.672 0, 1280835.35 1321263.135 0, 1280581.79 1321246.613 0, 1280327.046 1321230.03 0, 1279964.837 1326796.416 0,
+ 1279602.639 1332362.627 0, 1279856.724 1332379.168 0, 1280109.629 1332395.647 0, 1280362.533 1332412.141 0, 1280615.437 1332428.65 0, 1280868.339 1332445.174 0, 1281121.24 1332461.713 0, 1281374.14 1332478.267 0, 1281627.04 1332494.835 0, 1281879.938 1332511.419 0,
+ 1282132.836 1332528.017 0, 1282385.732 1332544.63 0, 1282638.628 1332561.258 0, 1282891.522 1332577.901 0, 1283144.416 1332594.559 0, 1283397.308 1332611.232 0, 1283650.2 1332627.92 0, 1283903.09 1332644.622 0, 1284155.98 1332661.34 0, 1284408.868 1332678.072 0,
+ 1284661.756 1332694.819 0, 1284914.643 1332711.581 0, 1285167.528 1332728.358 0, 1285420.413 1332745.15 0, 1285672.119 1332761.878 0, 1285926.179 1332778.778 0, 1286179.061 1332795.615 0, 1286431.942 1332812.466 0, 1286684.821 1332829.332 0, 1286937.7 1332846.214 0,
+ 1287190.578 1332863.11 0, 1287443.454 1332880.02 0, 1287696.33 1332896.946 0, 1287949.205 1332913.887 0, 1288202.079 1332930.842 0, 1288454.951 1332947.813 0, 1288707.823 1332964.798 0, 1288960.694 1332981.798 0, 1289213.563 1332998.814 0, 1289466.432 1333015.844 0,
+ 1289719.3 1333032.888 0, 1289972.167 1333049.948 0, 1290225.032 1333067.023 0, 1290477.897 1333084.112 0, 1290730.761 1333101.217 0, 1290983.623 1333118.336 0, 1291236.485 1333135.47 0, 1291489.346 1333152.619 0, 1291741.029 1333169.703 0, 1292118.951 1327604.538 0,
+ 1292496.885 1322039.197 0))
+
+POLYGON ((1303877.09 1334011.069 0, 1303625.454 1333993.274 0, 1303372.643 1333975.411 0, 1303119.831 1333957.562 0, 1302867.018 1333939.729 0, 1302614.203 1333921.91 0, 1302361.388 1333904.106 0, 1302108.571 1333886.317 0, 1301855.754 1333868.543 0, 1301602.935 1333850.784 0,
+ 1301350.116 1333833.04 0, 1301097.295 1333815.31 0, 1300844.473 1333797.596 0, 1300591.651 1333779.896 0, 1300338.827 1333762.211 0, 1300086.002 1333744.541 0, 1299833.176 1333726.886 0, 1299580.349 1333709.246 0, 1299327.521 1333691.621 0, 1299074.693 1333674.011 0,
+ 1298821.863 1333656.415 0, 1298569.031 1333638.835 0, 1298316.199 1333621.269 0, 1298063.366 1333603.718 0, 1297809.356 1333586.1 0, 1297557.697 1333568.661 0, 1297304.861 1333551.155 0, 1297052.024 1333533.663 0, 1296799.185 1333516.187 0, 1296546.346 1333498.725 0,
+ 1296293.506 1333481.279 0, 1296040.664 1333463.847 0, 1295787.822 1333446.43 0, 1295534.979 1333429.028 0, 1295282.134 1333411.641 0, 1295029.289 1333394.268 0, 1294776.442 1333376.911 0, 1294523.595 1333359.569 0, 1294270.746 1333342.241 0, 1294017.897 1333324.928 0,
+ 1293765.046 1333307.63 0, 1293512.195 1333290.347 0, 1293259.342 1333273.079 0, 1293006.489 1333255.826 0, 1292753.634 1333238.588 0, 1292500.778 1333221.364 0, 1292247.922 1333204.156 0, 1291995.064 1333186.962 0, 1291741.029 1333169.703 0, 1291363.119 1338734.687 0,
+ 1290985.221 1344299.485 0, 1291238.599 1344316.699 0, 1291490.801 1344333.848 0, 1291743.003 1344351.012 0, 1291995.203 1344368.191 0, 1292247.403 1344385.385 0, 1292499.601 1344402.593 0, 1292751.799 1344419.817 0, 1293003.995 1344437.055 0, 1293256.191 1344454.308 0,
+ 1293508.385 1344471.576 0, 1293760.579 1344488.858 0, 1294012.771 1344506.156 0, 1294264.963 1344523.468 0, 1294517.153 1344540.796 0, 1294769.342 1344558.138 0, 1295021.531 1344575.495 0, 1295273.718 1344592.867 0, 1295525.904 1344610.253 0, 1295778.09 1344627.655 0,
+ 1296030.274 1344645.071 0, 1296282.457 1344662.502 0, 1296534.639 1344679.948 0, 1296786.821 1344697.409 0, 1297037.828 1344714.804 0, 1297291.18 1344732.375 0, 1297543.358 1344749.881 0, 1297795.535 1344767.401 0, 1298047.711 1344784.936 0, 1298299.886 1344802.486 0,
+ 1298552.06 1344820.051 0, 1298804.233 1344837.63 0, 1299056.405 1344855.225 0, 1299308.576 1344872.834 0, 1299560.746 1344890.458 0, 1299812.914 1344908.097 0, 1300065.082 1344925.751 0, 1300317.249 1344943.42 0, 1300569.414 1344961.103 0, 1300821.579 1344978.802 0,
+ 1301073.743 1344996.515 0, 1301325.905 1345014.243 0, 1301578.067 1345031.986 0, 1301830.227 1345049.743 0, 1302082.387 1345067.516 0, 1302334.545 1345085.303 0, 1302586.702 1345103.105 0, 1302838.859 1345120.923 0, 1303089.842 1345138.672 0, 1303483.459 1339574.964 0,
+ 1303877.09 1334011.069 0))
+
+POLYGON ((1315192.044 1346012.053 0, 1314941.109 1345993.594 0, 1314689.004 1345975.065 0, 1314436.898 1345956.55 0, 1314184.791 1345938.051 0, 1313932.683 1345919.566 0, 1313680.574 1345901.096 0, 1313428.463 1345882.641 0, 1313176.352 1345864.2 0, 1312924.239 1345845.775 0,
+ 1312672.126 1345827.364 0, 1312420.011 1345808.968 0, 1312167.895 1345790.587 0, 1311915.779 1345772.221 0, 1311663.661 1345753.87 0, 1311411.542 1345735.533 0, 1311159.421 1345717.212 0, 1310907.3 1345698.905 0, 1310655.178 1345680.613 0, 1310403.055 1345662.336 0,
+ 1310150.93 1345644.073 0, 1309898.805 1345625.826 0, 1309646.678 1345607.593 0, 1309394.551 1345589.376 0, 1309141.251 1345571.088 0, 1308890.292 1345552.985 0, 1308638.161 1345534.811 0, 1308386.029 1345516.653 0, 1308133.896 1345498.509 0, 1307881.762 1345480.381 0,
+ 1307629.627 1345462.267 0, 1307377.491 1345444.168 0, 1307125.354 1345426.083 0, 1306873.215 1345408.014 0, 1306621.076 1345389.96 0, 1306368.936 1345371.92 0, 1306116.794 1345353.895 0, 1305864.652 1345335.885 0, 1305612.508 1345317.89 0, 1305360.363 1345299.91 0,
+ 1305108.218 1345281.944 0, 1304856.071 1345263.993 0, 1304603.923 1345246.058 0, 1304351.774 1345228.137 0, 1304099.624 1345210.231 0, 1303847.473 1345192.339 0, 1303595.321 1345174.463 0, 1303343.168 1345156.601 0, 1303089.842 1345138.672 0, 1302696.238 1350702.188 0,
+ 1302302.648 1356265.508 0, 1302555.316 1356283.391 0, 1302806.814 1356301.206 0, 1303058.312 1356319.036 0, 1303309.808 1356336.881 0, 1303561.303 1356354.741 0, 1303812.797 1356372.615 0, 1304064.29 1356390.504 0, 1304315.782 1356408.408 0, 1304567.273 1356426.327 0,
+ 1304818.762 1356444.261 0, 1305070.251 1356462.209 0, 1305321.739 1356480.173 0, 1305573.225 1356498.151 0, 1305824.711 1356516.143 0, 1306076.195 1356534.151 0, 1306327.679 1356552.174 0, 1306579.161 1356570.211 0, 1306830.643 1356588.263 0, 1307082.123 1356606.33 0,
+ 1307333.602 1356624.411 0, 1307585.08 1356642.508 0, 1307836.557 1356660.619 0, 1308088.033 1356678.745 0, 1308338.341 1356696.802 0, 1308590.982 1356715.042 0, 1308842.455 1356733.212 0, 1309093.927 1356751.397 0, 1309345.397 1356769.597 0, 1309596.867 1356787.812 0,
+ 1309848.335 1356806.042 0, 1310099.803 1356824.286 0, 1310351.269 1356842.546 0, 1310602.734 1356860.82 0, 1310854.199 1356879.108 0, 1311105.662 1356897.412 0, 1311357.124 1356915.731 0, 1311608.585 1356934.064 0, 1311860.045 1356952.412 0, 1312111.504 1356970.775 0,
+ 1312362.961 1356989.152 0, 1312614.418 1357007.545 0, 1312865.874 1357025.952 0, 1313117.328 1357044.374 0, 1313368.781 1357062.811 0, 1313620.234 1357081.263 0, 1313871.685 1357099.729 0, 1314123.135 1357118.21 0, 1314373.418 1357136.621 0, 1314782.724 1351574.435 0,
+ 1315192.044 1346012.053 0))
+
+POLYGON ((1326441.678 1358041.832 0, 1326191.446 1358022.715 0, 1325940.049 1358003.523 0, 1325688.651 1357984.346 0, 1325437.252 1357965.184 0, 1325185.852 1357946.037 0, 1324934.45 1357926.905 0, 1324683.048 1357907.787 0, 1324431.644 1357888.684 0, 1324180.239 1357869.596 0,
+ 1323928.833 1357850.523 0, 1323677.426 1357831.465 0, 1323426.018 1357812.421 0, 1323174.609 1357793.392 0, 1322923.198 1357774.378 0, 1322671.787 1357755.379 0, 1322420.374 1357736.394 0, 1322168.961 1357717.425 0, 1321917.546 1357698.47 0, 1321666.13 1357679.53 0,
+ 1321414.712 1357660.605 0, 1321163.294 1357641.694 0, 1320911.875 1357622.799 0, 1320660.454 1357603.918 0, 1320407.868 1357584.964 0, 1320157.61 1357566.201 0, 1319906.186 1357547.364 0, 1319654.761 1357528.543 0, 1319403.335 1357509.736 0, 1319151.908 1357490.944 0,
+ 1318900.48 1357472.166 0, 1318649.051 1357453.404 0, 1318397.62 1357434.656 0, 1318146.189 1357415.923 0, 1317894.756 1357397.205 0, 1317643.323 1357378.502 0, 1317391.888 1357359.814 0, 1317140.452 1357341.14 0, 1316889.015 1357322.481 0, 1316637.577 1357303.837 0,
+ 1316386.137 1357285.208 0, 1316134.697 1357266.593 0, 1315883.256 1357247.994 0, 1315631.813 1357229.409 0, 1315380.37 1357210.839 0, 1315128.925 1357192.284 0, 1314877.479 1357173.743 0, 1314626.032 1357155.217 0, 1314373.418 1357136.621 0, 1313964.127 1362698.605 0,
+ 1313554.851 1368260.382 0, 1313806.808 1368278.93 0, 1314057.6 1368297.407 0, 1314308.391 1368315.9 0, 1314559.181 1368334.407 0, 1314809.97 1368352.928 0, 1315060.758 1368371.465 0, 1315311.545 1368390.016 0, 1315562.33 1368408.582 0, 1315813.115 1368427.163 0,
+ 1316063.898 1368445.758 0, 1316314.68 1368464.369 0, 1316565.462 1368482.994 0, 1316816.242 1368501.633 0, 1317067.021 1368520.288 0, 1317317.799 1368538.957 0, 1317568.576 1368557.641 0, 1317819.351 1368576.34 0, 1318070.126 1368595.054 0, 1318320.9 1368613.782 0,
+ 1318571.672 1368632.525 0, 1318822.443 1368651.283 0, 1319073.214 1368670.056 0, 1319323.983 1368688.843 0, 1319573.589 1368707.558 0, 1319825.518 1368726.462 0, 1320076.284 1368745.294 0, 1320327.048 1368764.14 0, 1320577.812 1368783.001 0, 1320828.574 1368801.877 0,
+ 1321079.336 1368820.768 0, 1321330.096 1368839.674 0, 1321580.855 1368858.594 0, 1321831.613 1368877.529 0, 1322082.37 1368896.479 0, 1322333.126 1368915.443 0, 1322583.88 1368934.422 0, 1322834.634 1368953.416 0, 1323085.386 1368972.425 0, 1323336.138 1368991.449 0,
+ 1323586.888 1369010.487 0, 1323837.637 1369029.54 0, 1324088.385 1369048.608 0, 1324339.132 1369067.69 0, 1324589.878 1369086.788 0, 1324840.622 1369105.9 0, 1325091.366 1369125.027 0, 1325342.108 1369144.168 0, 1325591.688 1369163.236 0, 1326016.675 1363602.637 0,
+ 1326441.678 1358041.832 0))
+
+POLYGON ((1337625.926 1370100.093 0, 1337376.399 1370080.32 0, 1337125.712 1370060.47 0, 1336875.023 1370040.635 0, 1336624.334 1370020.815 0, 1336373.643 1370001.009 0, 1336122.951 1369981.218 0, 1335872.258 1369961.442 0, 1335621.564 1369941.68 0, 1335370.868 1369921.934 0,
+ 1335120.172 1369902.202 0, 1334869.474 1369882.485 0, 1334618.775 1369862.782 0, 1334368.075 1369843.095 0, 1334117.374 1369823.422 0, 1333866.671 1369803.764 0, 1333615.968 1369784.12 0, 1333365.263 1369764.492 0, 1333114.557 1369744.878 0, 1332863.85 1369725.279 0,
+ 1332613.142 1369705.695 0, 1332362.433 1369686.125 0, 1332111.722 1369666.57 0, 1331861.011 1369647.03 0, 1331609.138 1369627.415 0, 1331359.584 1369607.994 0, 1331108.869 1369588.499 0, 1330858.153 1369569.017 0, 1330607.436 1369549.551 0, 1330356.717 1369530.1 0,
+ 1330105.997 1369510.663 0, 1329855.277 1369491.241 0, 1329604.555 1369471.834 0, 1329353.832 1369452.441 0, 1329103.107 1369433.063 0, 1328852.382 1369413.7 0, 1328601.656 1369394.352 0, 1328350.928 1369375.019 0, 1328100.199 1369355.7 0, 1327849.469 1369336.396 0,
+ 1327598.738 1369317.107 0, 1327348.006 1369297.833 0, 1327097.273 1369278.573 0, 1326846.538 1369259.328 0, 1326595.803 1369240.098 0, 1326345.066 1369220.882 0, 1326094.328 1369201.682 0, 1325843.589 1369182.496 0, 1325591.688 1369163.236 0, 1325166.717 1374723.622 0,
+ 1324741.763 1380283.791 0, 1324993.007 1380303.001 0, 1325243.091 1380322.136 0, 1325493.175 1380341.287 0, 1325743.257 1380360.452 0, 1325993.338 1380379.632 0, 1326243.418 1380398.827 0, 1326493.496 1380418.036 0, 1326743.574 1380437.26 0, 1326993.651 1380456.499 0,
+ 1327243.726 1380475.753 0, 1327493.8 1380495.021 0, 1327743.873 1380514.304 0, 1327993.945 1380533.602 0, 1328244.016 1380552.914 0, 1328494.086 1380572.241 0, 1328744.155 1380591.583 0, 1328994.222 1380610.94 0, 1329244.288 1380630.311 0, 1329494.353 1380649.697 0,
+ 1329744.417 1380669.098 0, 1329994.48 1380688.513 0, 1330244.542 1380707.943 0, 1330494.603 1380727.388 0, 1330743.505 1380746.758 0, 1330994.72 1380766.322 0, 1331244.777 1380785.811 0, 1331494.833 1380805.315 0, 1331744.888 1380824.834 0, 1331994.942 1380844.367 0,
+ 1332244.995 1380863.915 0, 1332495.046 1380883.477 0, 1332745.096 1380903.055 0, 1332995.145 1380922.647 0, 1333245.193 1380942.254 0, 1333495.24 1380961.875 0, 1333745.286 1380981.511 0, 1333995.33 1381001.162 0, 1334245.374 1381020.828 0, 1334495.416 1381040.508 0,
+ 1334745.457 1381060.203 0, 1334995.497 1381079.913 0, 1335245.535 1381099.638 0, 1335495.573 1381119.377 0, 1335745.609 1381139.131 0, 1335995.644 1381158.9 0, 1336245.678 1381178.683 0, 1336495.711 1381198.481 0, 1336744.587 1381218.202 0, 1337185.248 1375659.256 0,
+ 1337625.926 1370100.093 0))
+
+POLYGON ((1348744.723 1382186.52 0, 1348495.902 1382166.096 0, 1348245.926 1382145.591 0, 1347995.949 1382125.102 0, 1347745.971 1382104.627 0, 1347495.991 1382084.166 0, 1347246.01 1382063.721 0, 1346996.028 1382043.29 0, 1346746.045 1382022.874 0, 1346496.061 1382002.472 0,
+ 1346246.075 1381982.086 0, 1345996.088 1381961.714 0, 1345746.101 1381941.356 0, 1345496.111 1381921.014 0, 1345246.121 1381900.686 0, 1344996.129 1381880.373 0, 1344746.137 1381860.074 0, 1344496.143 1381839.791 0, 1344246.148 1381819.522 0, 1343996.151 1381799.267 0,
+ 1343746.154 1381779.028 0, 1343496.155 1381758.803 0, 1343246.155 1381738.593 0, 1342996.154 1381718.397 0, 1342744.997 1381698.123 0, 1342496.148 1381678.051 0, 1342246.144 1381657.899 0, 1341996.138 1381637.763 0, 1341746.131 1381617.641 0, 1341496.123 1381597.534 0,
+ 1341246.113 1381577.441 0, 1340996.103 1381557.364 0, 1340746.091 1381537.301 0, 1340496.078 1381517.252 0, 1340246.064 1381497.219 0, 1339996.049 1381477.2 0, 1339746.032 1381457.196 0, 1339496.014 1381437.206 0, 1339245.996 1381417.232 0, 1338995.976 1381397.272 0,
+ 1338745.954 1381377.326 0, 1338495.932 1381357.396 0, 1338245.909 1381337.48 0, 1337995.884 1381317.579 0, 1337745.858 1381297.692 0, 1337495.831 1381277.821 0, 1337245.803 1381257.964 0, 1336995.773 1381238.122 0, 1336744.587 1381218.202 0, 1336303.944 1386776.926 0,
+ 1335863.318 1392335.421 0, 1336113.848 1392355.288 0, 1336363.223 1392375.078 0, 1336612.596 1392394.883 0, 1336861.969 1392414.703 0, 1337111.341 1392434.537 0, 1337360.711 1392454.386 0, 1337610.08 1392474.25 0, 1337859.448 1392494.128 0, 1338108.815 1392514.021 0,
+ 1338358.181 1392533.929 0, 1338607.545 1392553.852 0, 1338856.909 1392573.789 0, 1339106.271 1392593.74 0, 1339355.632 1392613.707 0, 1339604.992 1392633.688 0, 1339854.35 1392653.684 0, 1340103.708 1392673.694 0, 1340353.064 1392693.72 0, 1340602.419 1392713.759 0,
+ 1340851.773 1392733.814 0, 1341101.126 1392753.883 0, 1341350.477 1392773.967 0, 1341599.828 1392794.066 0, 1341848.025 1392814.086 0, 1342098.525 1392834.307 0, 1342347.872 1392854.449 0, 1342597.217 1392874.606 0, 1342846.562 1392894.778 0, 1343095.905 1392914.965 0,
+ 1343345.247 1392935.166 0, 1343594.588 1392955.382 0, 1343843.928 1392975.613 0, 1344093.266 1392995.858 0, 1344342.604 1393016.118 0, 1344591.94 1393036.393 0, 1344841.275 1393056.682 0, 1345090.609 1393076.986 0, 1345339.941 1393097.305 0, 1345589.272 1393117.638 0,
+ 1345838.603 1393137.986 0, 1346087.932 1393158.349 0, 1346337.259 1393178.726 0, 1346586.586 1393199.118 0, 1346835.911 1393219.525 0, 1347085.235 1393239.947 0, 1347334.558 1393260.383 0, 1347583.88 1393280.833 0, 1347832.05 1393301.204 0, 1348288.377 1387743.976 0,
+ 1348744.723 1382186.52 0))
+
+POLYGON ((1359798.005 1394300.798 0, 1359549.892 1394279.726 0, 1359300.629 1394258.571 0, 1359051.365 1394237.43 0, 1358802.099 1394216.305 0, 1358552.832 1394195.194 0, 1358303.564 1394174.097 0, 1358054.295 1394153.016 0, 1357805.025 1394131.949 0, 1357555.753 1394110.896 0,
+ 1357306.48 1394089.858 0, 1357057.206 1394068.835 0, 1356807.931 1394047.827 0, 1356558.654 1394026.833 0, 1356309.376 1394005.854 0, 1356060.097 1393984.89 0, 1355810.817 1393963.94 0, 1355561.535 1393943.005 0, 1355312.253 1393922.085 0, 1355062.969 1393901.18 0,
+ 1354813.683 1393880.289 0, 1354564.397 1393859.412 0, 1354315.109 1393838.551 0, 1354065.82 1393817.704 0, 1353815.38 1393796.775 0, 1353567.239 1393776.054 0, 1353317.946 1393755.251 0, 1353068.652 1393734.463 0, 1352819.357 1393713.689 0, 1352570.061 1393692.93 0,
+ 1352320.763 1393672.186 0, 1352071.465 1393651.456 0, 1351822.165 1393630.741 0, 1351572.864 1393610.041 0, 1351323.561 1393589.356 0, 1351074.258 1393568.685 0, 1350824.953 1393548.029 0, 1350575.647 1393527.387 0, 1350326.34 1393506.76 0, 1350077.031 1393486.148 0,
+ 1349827.721 1393465.551 0, 1349578.411 1393444.968 0, 1349329.098 1393424.4 0, 1349079.785 1393403.846 0, 1348830.471 1393383.307 0, 1348581.155 1393362.783 0, 1348331.838 1393342.274 0, 1348082.52 1393321.779 0, 1347832.05 1393301.204 0, 1347375.742 1398858.199 0,
+ 1346919.453 1404414.955 0, 1347169.266 1404435.476 0, 1347417.93 1404455.917 0, 1347666.593 1404476.372 0, 1347915.255 1404496.843 0, 1348163.915 1404517.327 0, 1348412.574 1404537.827 0, 1348661.232 1404558.341 0, 1348909.889 1404578.87 0, 1349158.544 1404599.414 0,
+ 1349407.199 1404619.972 0, 1349655.852 1404640.544 0, 1349904.504 1404661.132 0, 1350153.155 1404681.734 0, 1350401.804 1404702.35 0, 1350650.452 1404722.982 0, 1350899.099 1404743.628 0, 1351147.745 1404764.288 0, 1351396.39 1404784.963 0, 1351645.033 1404805.653 0,
+ 1351893.676 1404826.357 0, 1352142.317 1404847.077 0, 1352390.956 1404867.81 0, 1352639.595 1404888.559 0, 1352887.086 1404909.226 0, 1353136.868 1404930.099 0, 1353385.503 1404950.891 0, 1353634.137 1404971.698 0, 1353882.769 1404992.52 0, 1354131.4 1405013.356 0,
+ 1354380.03 1405034.207 0, 1354628.659 1405055.072 0, 1354877.287 1405075.952 0, 1355125.913 1405096.847 0, 1355374.538 1405117.756 0, 1355623.162 1405138.68 0, 1355871.784 1405159.619 0, 1356120.406 1405180.572 0, 1356369.026 1405201.54 0, 1356617.645 1405222.522 0,
+ 1356866.263 1405243.52 0, 1357114.879 1405264.531 0, 1357363.494 1405285.558 0, 1357612.108 1405306.599 0, 1357860.721 1405327.654 0, 1358109.332 1405348.725 0, 1358357.943 1405369.81 0, 1358606.551 1405390.909 0, 1358854.014 1405411.926 0, 1359325.999 1399856.481 0,
+ 1359798.005 1394300.798 0))
+
+POLYGON ((643044.536 778475.651 0, 642760.468 778496.563 0, 642474.963 778517.597 0, 642189.458 778538.649 0, 641903.955 778559.718 0, 641618.454 778580.803 0, 641332.953 778601.905 0, 641047.454 778623.024 0, 640761.956 778644.159 0, 640476.459 778665.312 0,
+ 640190.963 778686.481 0, 639905.469 778707.667 0, 639619.976 778728.87 0, 639334.484 778750.089 0, 639048.993 778771.326 0, 638763.504 778792.579 0, 638478.016 778813.849 0, 638192.529 778835.136 0, 637907.044 778856.44 0, 637621.559 778877.76 0,
+ 637336.076 778899.098 0, 637050.595 778920.452 0, 636765.114 778941.823 0, 636479.635 778963.21 0, 636192.717 778984.723 0, 635908.68 779006.036 0, 635623.204 779027.474 0, 635337.73 779048.929 0, 635052.257 779070.401 0, 634766.785 779091.889 0,
+ 634481.315 779113.394 0, 634195.846 779134.917 0, 633910.378 779156.455 0, 633624.911 779178.011 0, 633339.446 779199.584 0, 633053.982 779221.173 0, 632768.519 779242.779 0, 632483.057 779264.402 0, 632197.597 779286.042 0, 631912.138 779307.698 0,
+ 631626.68 779329.372 0, 631341.224 779351.062 0, 631055.769 779372.769 0, 630770.315 779394.492 0, 630484.862 779416.233 0, 630199.411 779437.99 0, 629913.961 779459.764 0, 629628.512 779481.555 0, 629341.624 779503.473 0, 629766.353 785060.693 0,
+ 630191.1 790618.156 0, 630477.331 790596.288 0, 630762.125 790574.547 0, 631046.921 790552.823 0, 631331.718 790531.115 0, 631616.517 790509.425 0, 631901.316 790487.751 0, 632186.117 790466.093 0, 632470.92 790444.453 0, 632755.723 790422.829 0,
+ 633040.528 790401.222 0, 633325.334 790379.632 0, 633610.141 790358.059 0, 633894.95 790336.502 0, 634179.76 790314.963 0, 634464.571 790293.439 0, 634749.383 790271.933 0, 635034.197 790250.444 0, 635319.012 790228.971 0, 635603.828 790207.515 0,
+ 635888.646 790186.076 0, 636173.464 790164.653 0, 636458.284 790143.247 0, 636743.106 790121.858 0, 637026.492 790100.594 0, 637312.752 790079.131 0, 637597.577 790057.792 0, 637882.403 790036.47 0, 638167.231 790015.165 0, 638452.06 789993.877 0,
+ 638736.89 789972.605 0, 639021.721 789951.35 0, 639306.553 789930.112 0, 639591.387 789908.891 0, 639876.222 789887.686 0, 640161.059 789866.499 0, 640445.896 789845.327 0, 640730.735 789824.173 0, 641015.575 789803.036 0, 641300.416 789781.915 0,
+ 641585.259 789760.811 0, 641870.102 789739.724 0, 642154.947 789718.653 0, 642439.794 789697.6 0, 642724.641 789676.563 0, 643009.49 789655.543 0, 643294.34 789634.539 0, 643579.191 789613.553 0, 643862.608 789592.689 0, 643453.563 784034.048 0,
+ 643044.536 778475.651 0))
+
+POLYGON ((657536.959 788605.85 0, 657253.482 788625.914 0, 656968.572 788646.095 0, 656683.664 788666.294 0, 656398.757 788686.509 0, 656113.851 788706.741 0, 655828.947 788726.99 0, 655544.043 788747.256 0, 655259.141 788767.538 0, 654974.24 788787.837 0,
+ 654689.34 788808.153 0, 654404.442 788828.486 0, 654119.544 788848.835 0, 653834.648 788869.202 0, 653549.753 788889.585 0, 653264.859 788909.984 0, 652979.967 788930.401 0, 652695.075 788950.834 0, 652410.185 788971.284 0, 652125.296 788991.751 0,
+ 651840.408 789012.235 0, 651555.522 789032.735 0, 651270.636 789053.252 0, 650985.752 789073.786 0, 650699.435 789094.44 0, 650415.988 789114.904 0, 650131.107 789135.488 0, 649846.228 789156.089 0, 649561.35 789176.707 0, 649276.473 789197.342 0,
+ 648991.597 789217.993 0, 648706.722 789238.661 0, 648421.849 789259.346 0, 648136.977 789280.047 0, 647852.106 789300.766 0, 647567.237 789321.501 0, 647282.368 789342.253 0, 646997.501 789363.021 0, 646712.635 789383.807 0, 646427.771 789404.609 0,
+ 646142.907 789425.428 0, 645858.045 789446.263 0, 645573.184 789467.116 0, 645288.324 789487.985 0, 645003.465 789508.871 0, 644718.608 789529.774 0, 644433.752 789550.694 0, 644148.897 789571.63 0, 643862.608 789592.689 0, 644271.671 795151.568 0,
+ 644680.75 800710.683 0, 644966.382 800689.672 0, 645250.582 800668.784 0, 645534.784 800647.913 0, 645818.987 800627.058 0, 646103.191 800606.22 0, 646387.396 800585.399 0, 646671.603 800564.594 0, 646955.811 800543.806 0, 647240.02 800523.035 0,
+ 647524.23 800502.281 0, 647808.442 800481.543 0, 648092.654 800460.822 0, 648376.868 800440.118 0, 648661.084 800419.431 0, 648945.3 800398.76 0, 649229.518 800378.106 0, 649513.736 800357.468 0, 649797.956 800336.848 0, 650082.178 800316.244 0,
+ 650366.4 800295.657 0, 650650.624 800275.087 0, 650934.849 800254.533 0, 651219.075 800233.996 0, 651501.871 800213.579 0, 651787.531 800192.972 0, 652071.76 800172.486 0, 652355.991 800152.016 0, 652640.223 800131.562 0, 652924.457 800111.126 0,
+ 653208.691 800090.706 0, 653492.927 800070.303 0, 653777.164 800049.917 0, 654061.402 800029.547 0, 654345.641 800009.194 0, 654629.882 799988.858 0, 654914.124 799968.538 0, 655198.367 799948.236 0, 655482.611 799927.95 0, 655766.856 799907.681 0,
+ 656051.103 799887.428 0, 656335.35 799867.192 0, 656619.599 799846.973 0, 656903.849 799826.771 0, 657188.1 799806.585 0, 657472.353 799786.416 0, 657756.607 799766.264 0, 658040.861 799746.129 0, 658323.687 799726.111 0, 657930.315 794165.863 0,
+ 657536.959 788605.85 0))
+
+POLYGON ((671969.352 798780.088 0, 671686.468 798799.306 0, 671402.157 798818.638 0, 671117.848 798837.987 0, 670833.54 798857.353 0, 670549.232 798876.736 0, 670264.926 798896.135 0, 669980.622 798915.551 0, 669696.318 798934.983 0, 669412.015 798954.433 0,
+ 669127.714 798973.899 0, 668843.413 798993.382 0, 668559.114 799012.881 0, 668274.816 799032.398 0, 667990.519 799051.931 0, 667706.224 799071.48 0, 667421.929 799091.047 0, 667137.636 799110.63 0, 666853.344 799130.23 0, 666569.052 799149.847 0,
+ 666284.763 799169.48 0, 666000.474 799189.131 0, 665716.186 799208.798 0, 665431.9 799228.481 0, 665146.185 799248.281 0, 664863.33 799267.899 0, 664579.047 799287.632 0, 664294.765 799307.383 0, 664010.485 799327.15 0, 663726.205 799346.934 0,
+ 663441.927 799366.735 0, 663157.65 799386.553 0, 662873.374 799406.387 0, 662589.099 799426.238 0, 662304.825 799446.106 0, 662020.553 799465.99 0, 661736.282 799485.891 0, 661452.011 799505.809 0, 661167.742 799525.744 0, 660883.475 799545.695 0,
+ 660599.208 799565.663 0, 660314.943 799585.648 0, 660030.678 799605.65 0, 659746.415 799625.668 0, 659462.153 799645.703 0, 659177.892 799665.755 0, 658893.633 799685.823 0, 658609.375 799705.908 0, 658323.687 799726.111 0, 658717.076 805286.592 0,
+ 659110.482 810847.3 0, 659395.511 810827.144 0, 659679.115 810807.105 0, 659962.72 810787.083 0, 660246.326 810767.077 0, 660529.933 810747.088 0, 660813.542 810727.116 0, 661097.151 810707.16 0, 661380.762 810687.222 0, 661664.374 810667.3 0,
+ 661947.987 810647.394 0, 662231.602 810627.505 0, 662515.217 810607.633 0, 662798.834 810587.778 0, 663082.452 810567.939 0, 663366.071 810548.117 0, 663649.691 810528.312 0, 663933.313 810508.524 0, 664216.935 810488.752 0, 664500.559 810468.997 0,
+ 664784.184 810449.258 0, 665067.81 810429.536 0, 665351.437 810409.831 0, 665635.065 810390.143 0, 665917.269 810370.57 0, 666202.325 810350.816 0, 666485.957 810331.178 0, 666769.59 810311.556 0, 667053.224 810291.951 0, 667336.86 810272.363 0,
+ 667620.496 810252.791 0, 667904.134 810233.237 0, 668187.772 810213.698 0, 668471.412 810194.177 0, 668755.053 810174.672 0, 669038.696 810155.184 0, 669322.339 810135.713 0, 669605.983 810116.258 0, 669889.629 810096.82 0, 670173.276 810077.399 0,
+ 670456.924 810057.994 0, 670740.573 810038.606 0, 671024.223 810019.235 0, 671307.874 809999.881 0, 671591.527 809980.543 0, 671875.18 809961.222 0, 672158.835 809941.917 0, 672442.491 809922.629 0, 672724.723 809903.455 0, 672347.03 804341.657 0,
+ 671969.352 798780.088 0))
+
+POLYGON ((771303.883 871208.636 0, 771025.226 871222.038 0, 770745.178 871235.523 0, 770465.131 871249.025 0, 770185.084 871262.543 0, 769905.038 871276.078 0, 769624.994 871289.629 0, 769344.949 871303.196 0, 769064.906 871316.781 0, 768784.864 871330.381 0,
+ 768504.822 871343.998 0, 768224.781 871357.632 0, 767944.741 871371.282 0, 767664.702 871384.948 0, 767384.663 871398.632 0, 767104.625 871412.331 0, 766824.589 871426.047 0, 766544.552 871439.78 0, 766264.517 871453.528 0, 765984.483 871467.294 0,
+ 765704.449 871481.076 0, 765424.416 871494.874 0, 765144.384 871508.689 0, 764864.353 871522.521 0, 764582.93 871536.437 0, 764304.293 871550.233 0, 764024.264 871564.114 0, 763744.236 871578.011 0, 763464.209 871591.925 0, 763184.183 871605.855 0,
+ 762904.157 871619.802 0, 762624.133 871633.765 0, 762344.109 871647.745 0, 762064.086 871661.741 0, 761784.064 871675.753 0, 761504.042 871689.783 0, 761224.022 871703.828 0, 760944.002 871717.89 0, 760663.983 871731.969 0, 760383.965 871746.064 0,
+ 760103.948 871760.176 0, 759823.932 871774.304 0, 759543.916 871788.448 0, 759263.901 871802.609 0, 758983.887 871816.787 0, 758703.874 871830.981 0, 758423.862 871845.191 0, 758143.851 871859.418 0, 757862.447 871873.732 0, 758145.946 877443.771 0,
+ 758429.454 883013.986 0, 758710.2 882999.705 0, 758989.555 882985.512 0, 759268.912 882971.334 0, 759548.269 882957.174 0, 759827.627 882943.029 0, 760106.986 882928.902 0, 760386.346 882914.79 0, 760665.707 882900.695 0, 760945.068 882886.617 0,
+ 761224.431 882872.555 0, 761503.794 882858.509 0, 761783.158 882844.48 0, 762062.523 882830.467 0, 762341.888 882816.471 0, 762621.255 882802.491 0, 762900.622 882788.527 0, 763179.99 882774.58 0, 763459.359 882760.65 0, 763738.729 882746.736 0,
+ 764018.1 882732.838 0, 764297.471 882718.957 0, 764576.843 882705.092 0, 764856.216 882691.244 0, 765134.201 882677.481 0, 765414.965 882663.597 0, 765694.34 882649.798 0, 765973.716 882636.015 0, 766253.094 882622.249 0, 766532.471 882608.499 0,
+ 766811.85 882594.766 0, 767091.23 882581.049 0, 767370.61 882567.349 0, 767649.991 882553.665 0, 767929.373 882539.998 0, 768208.756 882526.347 0, 768488.139 882512.712 0, 768767.524 882499.094 0, 769046.909 882485.492 0, 769326.295 882471.907 0,
+ 769605.681 882458.338 0, 769885.069 882444.786 0, 770164.457 882431.25 0, 770443.846 882417.731 0, 770723.236 882404.228 0, 771002.627 882390.741 0, 771282.019 882377.271 0, 771561.411 882363.817 0, 771839.416 882350.447 0, 771571.645 876779.453 0,
+ 771303.883 871208.636 0))
+
+POLYGON ((785251.198 881724.796 0, 784973.155 881737.381 0, 784693.725 881750.045 0, 784414.297 881762.726 0, 784134.869 881775.423 0, 783855.442 881788.137 0, 783576.016 881800.867 0, 783296.591 881813.613 0, 783017.166 881826.376 0, 782737.742 881839.156 0,
+ 782458.319 881851.952 0, 782178.896 881864.764 0, 781899.474 881877.593 0, 781620.054 881890.438 0, 781340.633 881903.3 0, 781061.214 881916.178 0, 780781.795 881929.072 0, 780502.377 881941.983 0, 780222.96 881954.911 0, 779943.544 881967.854 0,
+ 779664.128 881980.815 0, 779384.713 881993.791 0, 779105.299 882006.785 0, 778825.886 882019.794 0, 778545.086 882032.885 0, 778267.062 882045.863 0, 777987.65 882058.922 0, 777708.24 882071.997 0, 777428.831 882085.089 0, 777149.422 882098.198 0,
+ 776870.014 882111.322 0, 776590.607 882124.464 0, 776311.2 882137.621 0, 776031.795 882150.795 0, 775752.39 882163.986 0, 775472.986 882177.193 0, 775193.583 882190.416 0, 774914.18 882203.656 0, 774634.778 882216.912 0, 774355.377 882230.185 0,
+ 774075.977 882243.474 0, 773796.578 882256.78 0, 773517.179 882270.102 0, 773237.781 882283.441 0, 772958.384 882296.796 0, 772678.988 882310.167 0, 772399.593 882323.555 0, 772120.198 882336.959 0, 771839.416 882350.447 0, 772107.195 887921.614 0,
+ 772374.981 893492.95 0, 772655.104 893479.494 0, 772933.843 893466.121 0, 773212.583 893452.765 0, 773491.323 893439.425 0, 773770.065 893426.101 0, 774048.807 893412.794 0, 774327.549 893399.503 0, 774606.293 893386.228 0, 774885.037 893372.97 0,
+ 775163.782 893359.729 0, 775442.528 893346.504 0, 775721.275 893333.295 0, 776000.022 893320.102 0, 776278.771 893306.926 0, 776557.52 893293.767 0, 776836.269 893280.624 0, 777115.02 893267.497 0, 777393.771 893254.386 0, 777672.523 893241.293 0,
+ 777951.276 893228.215 0, 778230.03 893215.154 0, 778508.784 893202.109 0, 778787.539 893189.081 0, 779064.911 893176.133 0, 779345.052 893163.073 0, 779623.809 893150.094 0, 779902.568 893137.132 0, 780181.327 893124.185 0, 780460.086 893111.255 0,
+ 780738.847 893098.342 0, 781017.608 893085.445 0, 781296.37 893072.564 0, 781575.133 893059.7 0, 781853.897 893046.852 0, 782132.661 893034.021 0, 782411.426 893021.206 0, 782690.192 893008.407 0, 782968.958 892995.625 0, 783247.726 892982.859 0,
+ 783526.494 892970.109 0, 783805.262 892957.376 0, 784084.032 892944.66 0, 784362.802 892931.96 0, 784641.573 892919.276 0, 784920.345 892906.609 0, 785199.118 892893.958 0, 785477.891 892881.323 0, 785755.282 892868.767 0, 785503.236 887296.697 0,
+ 785251.198 881724.796 0))
+
+POLYGON ((799137.293 892282.389 0, 798859.865 892294.161 0, 798581.057 892306.008 0, 798302.25 892317.872 0, 798023.444 892329.751 0, 797744.638 892341.648 0, 797465.833 892353.56 0, 797187.028 892365.489 0, 796908.225 892377.434 0, 796629.422 892389.396 0,
+ 796350.62 892401.374 0, 796071.818 892413.369 0, 795793.017 892425.38 0, 795514.217 892437.407 0, 795235.418 892449.451 0, 794956.619 892461.511 0, 794677.821 892473.588 0, 794399.024 892485.681 0, 794120.227 892497.791 0, 793841.431 892509.917 0,
+ 793562.636 892522.059 0, 793283.841 892534.218 0, 793005.048 892546.393 0, 792726.255 892558.584 0, 792446.08 892570.853 0, 792168.671 892583.016 0, 791889.88 892595.257 0, 791611.09 892607.514 0, 791332.3 892619.788 0, 791053.512 892632.078 0,
+ 790774.724 892644.384 0, 790495.936 892656.707 0, 790217.15 892669.046 0, 789938.364 892681.402 0, 789659.579 892693.774 0, 789380.795 892706.162 0, 789102.011 892718.567 0, 788823.228 892730.988 0, 788544.446 892743.426 0, 788265.665 892755.88 0,
+ 787986.884 892768.351 0, 787708.104 892780.837 0, 787429.325 892793.341 0, 787150.546 892805.86 0, 786871.769 892818.396 0, 786592.992 892830.949 0, 786314.215 892843.518 0, 786035.44 892856.103 0, 785755.282 892868.767 0, 786007.335 898441.003 0,
+ 786259.396 904013.4 0, 786538.894 904000.766 0, 786817.014 903988.21 0, 787095.134 903975.671 0, 787373.255 903963.148 0, 787651.377 903950.641 0, 787929.5 903938.151 0, 788207.623 903925.677 0, 788485.747 903913.22 0, 788763.872 903900.778 0,
+ 789041.997 903888.354 0, 789320.123 903875.945 0, 789598.25 903863.553 0, 789876.378 903851.178 0, 790154.506 903838.818 0, 790432.635 903826.475 0, 790710.765 903814.149 0, 790988.896 903801.839 0, 791267.027 903789.545 0, 791545.159 903777.268 0,
+ 791823.292 903765.007 0, 792101.425 903752.762 0, 792379.559 903740.534 0, 792657.694 903728.322 0, 792934.451 903716.186 0, 793213.966 903703.947 0, 793492.103 903691.784 0, 793770.241 903679.638 0, 794048.379 903667.507 0, 794326.518 903655.394 0,
+ 794604.658 903643.296 0, 794882.799 903631.215 0, 795160.94 903619.151 0, 795439.082 903607.103 0, 795717.225 903595.071 0, 795995.368 903583.055 0, 796273.512 903571.056 0, 796551.657 903559.073 0, 796829.803 903547.107 0, 797107.949 903535.157 0,
+ 797386.096 903523.223 0, 797664.244 903511.306 0, 797942.392 903499.405 0, 798220.541 903487.521 0, 798498.691 903475.652 0, 798776.841 903463.801 0, 799054.992 903451.965 0, 799333.144 903440.146 0, 799609.919 903428.402 0, 799373.602 897855.315 0,
+ 799137.293 892282.389 0))
+
+POLYGON ((812962.041 902881.124 0, 812685.233 902892.086 0, 812407.048 902903.119 0, 812128.865 902914.169 0, 811850.682 902925.235 0, 811572.5 902936.317 0, 811294.318 902947.416 0, 811016.138 902958.531 0, 810737.957 902969.662 0, 810459.778 902980.81 0,
+ 810181.599 902991.974 0, 809903.421 903003.154 0, 809625.243 903014.351 0, 809347.066 903025.565 0, 809068.89 903036.794 0, 808790.714 903048.04 0, 808512.539 903059.303 0, 808234.365 903070.581 0, 807956.191 903081.876 0, 807678.018 903093.188 0,
+ 807399.846 903104.516 0, 807121.675 903115.86 0, 806843.504 903127.221 0, 806565.333 903138.598 0, 806285.787 903150.048 0, 806008.995 903161.401 0, 805730.827 903172.827 0, 805452.659 903184.269 0, 805174.492 903195.728 0, 804896.326 903207.204 0,
+ 804618.16 903218.695 0, 804339.995 903230.203 0, 804061.831 903241.727 0, 803783.668 903253.268 0, 803505.505 903264.825 0, 803227.343 903276.399 0, 802949.181 903287.989 0, 802671.02 903299.595 0, 802392.86 903311.217 0, 802114.701 903322.856 0,
+ 801836.542 903334.512 0, 801558.384 903346.183 0, 801280.227 903357.871 0, 801002.07 903369.576 0, 800723.914 903381.297 0, 800445.759 903393.034 0, 800167.604 903404.787 0, 799889.45 903416.557 0, 799609.919 903428.402 0, 799846.242 909001.647 0,
+ 800082.572 914575.045 0, 800361.444 914563.228 0, 800638.941 914551.486 0, 800916.44 914539.76 0, 801193.939 914528.051 0, 801471.439 914516.358 0, 801748.94 914504.681 0, 802026.441 914493.02 0, 802303.943 914481.376 0, 802581.446 914469.748 0,
+ 802858.949 914458.137 0, 803136.453 914446.542 0, 803413.958 914434.963 0, 803691.463 914423.4 0, 803968.969 914411.854 0, 804246.476 914400.324 0, 804523.983 914388.811 0, 804801.492 914377.314 0, 805079 914365.833 0, 805356.51 914354.368 0,
+ 805634.02 914342.92 0, 805911.531 914331.488 0, 806189.042 914320.073 0, 806466.554 914308.674 0, 806742.694 914297.347 0, 807021.581 914285.924 0, 807299.095 914274.574 0, 807576.61 914263.24 0, 807854.125 914251.923 0, 808131.641 914240.622 0,
+ 808409.158 914229.337 0, 808686.676 914218.068 0, 808964.194 914206.816 0, 809241.713 914195.58 0, 809519.232 914184.361 0, 809796.752 914173.158 0, 810074.273 914161.971 0, 810351.795 914150.801 0, 810629.317 914139.646 0, 810906.839 914128.509 0,
+ 811184.363 914117.387 0, 811461.887 914106.282 0, 811739.412 914095.193 0, 812016.937 914084.121 0, 812294.463 914073.065 0, 812571.99 914062.025 0, 812849.517 914051.001 0, 813127.045 914039.994 0, 813403.201 914029.058 0, 813182.618 908455.014 0,
+ 812962.041 902881.124 0))
+
+POLYGON ((826725.32 913520.705 0, 826449.132 913530.862 0, 826171.574 913541.085 0, 825894.017 913551.324 0, 825616.46 913561.58 0, 825338.904 913571.852 0, 825061.348 913582.14 0, 824783.793 913592.445 0, 824506.239 913602.766 0, 824228.685 913613.103 0,
+ 823951.132 913623.457 0, 823673.579 913633.827 0, 823396.027 913644.214 0, 823118.476 913654.616 0, 822840.926 913665.035 0, 822563.375 913675.471 0, 822285.826 913685.923 0, 822008.277 913696.391 0, 821730.729 913706.875 0, 821453.181 913717.376 0,
+ 821175.634 913727.893 0, 820898.088 913738.426 0, 820620.542 913748.976 0, 820342.997 913759.542 0, 820064.081 913770.177 0, 819787.909 913780.723 0, 819510.365 913791.338 0, 819232.823 913801.97 0, 818955.281 913812.618 0, 818677.739 913823.282 0,
+ 818400.199 913833.962 0, 818122.659 913844.659 0, 817845.119 913855.372 0, 817567.58 913866.101 0, 817290.042 913876.847 0, 817012.504 913887.609 0, 816734.967 913898.388 0, 816457.431 913909.183 0, 816179.895 913919.994 0, 815902.36 913930.821 0,
+ 815624.826 913941.665 0, 815347.292 913952.525 0, 815069.759 913963.401 0, 814792.227 913974.294 0, 814514.695 913985.203 0, 814237.164 913996.129 0, 813959.633 914007.071 0, 813682.103 914018.029 0, 813403.201 914029.058 0, 813623.79 919603.251 0,
+ 813844.385 925177.591 0, 814122.627 925166.588 0, 814399.501 925155.656 0, 814676.375 925144.74 0, 814953.25 925133.841 0, 815230.126 925122.957 0, 815507.002 925112.09 0, 815783.879 925101.24 0, 816060.757 925090.405 0, 816337.635 925079.587 0,
+ 816614.514 925068.785 0, 816891.393 925058 0, 817168.273 925047.23 0, 817445.154 925036.477 0, 817722.036 925025.741 0, 817998.918 925015.02 0, 818275.8 925004.316 0, 818552.684 924993.628 0, 818829.567 924982.957 0, 819106.452 924972.302 0,
+ 819383.337 924961.663 0, 819660.223 924951.04 0, 819937.109 924940.434 0, 820213.996 924929.844 0, 820489.516 924919.323 0, 820767.772 924908.713 0, 821044.661 924898.172 0, 821321.551 924887.647 0, 821598.441 924877.139 0, 821875.332 924866.646 0,
+ 822152.223 924856.17 0, 822429.115 924845.711 0, 822706.008 924835.267 0, 822982.901 924824.84 0, 823259.795 924814.43 0, 823536.689 924804.035 0, 823813.584 924793.657 0, 824090.48 924783.295 0, 824367.376 924772.95 0, 824644.273 924762.621 0,
+ 824921.171 924752.308 0, 825198.069 924742.011 0, 825474.967 924731.731 0, 825751.867 924721.467 0, 826028.767 924711.219 0, 826305.667 924700.987 0, 826582.568 924690.772 0, 826859.47 924680.573 0, 827135.005 924670.441 0, 826930.16 919095.5 0,
+ 826725.32 913520.705 0))
+
+POLYGON ((840427.005 924200.841 0, 840151.44 924210.195 0, 839874.511 924219.612 0, 839597.582 924229.045 0, 839320.654 924238.494 0, 839043.726 924247.959 0, 838766.799 924257.441 0, 838489.872 924266.939 0, 838212.946 924276.453 0, 837936.021 924285.984 0,
+ 837659.096 924295.531 0, 837382.171 924305.094 0, 837105.247 924314.673 0, 836828.324 924324.269 0, 836551.401 924333.881 0, 836274.479 924343.51 0, 835997.558 924353.154 0, 835720.637 924362.815 0, 835443.716 924372.493 0, 835166.796 924382.186 0,
+ 834889.877 924391.896 0, 834612.958 924401.622 0, 834336.04 924411.365 0, 834059.123 924421.124 0, 833780.839 924430.947 0, 833505.289 924440.69 0, 833228.373 924450.498 0, 832951.458 924460.322 0, 832674.543 924470.162 0, 832397.629 924480.019 0,
+ 832120.716 924489.892 0, 831843.803 924499.781 0, 831566.89 924509.686 0, 831289.978 924519.608 0, 831013.067 924529.546 0, 830736.157 924539.501 0, 830459.247 924549.471 0, 830182.337 924559.458 0, 829905.428 924569.462 0, 829628.52 924579.481 0,
+ 829351.612 924589.517 0, 829074.705 924599.569 0, 828797.799 924609.638 0, 828520.893 924619.722 0, 828243.988 924629.824 0, 827967.083 924639.941 0, 827690.179 924650.075 0, 827413.275 924660.225 0, 827135.005 924670.441 0, 827339.855 930245.524 0,
+